summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl')
-rw-r--r--Master/tlpkg/tlperl/README.TEXLIVE2
-rwxr-xr-xMaster/tlpkg/tlperl/bin/a2p.exebin105472 -> 106496 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/libgcc_s_dw2-1.dllbin108032 -> 118784 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/libstdc++-6.dllbin879630 -> 979982 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl.exebin12800 -> 12288 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl5.12.3.exebin12800 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl5.14.2.exebin0 -> 12288 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl512.dllbin1310208 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl514.dllbin0 -> 1478144 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perlglob.exebin9216 -> 8704 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/wperl.exebin12800 -> 12288 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/.packlist4313
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove.pm157
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove/State.pm45
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Extract.pm221
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar.pm142
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/File.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Attribute/Handlers.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/AutoLoader.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/B.pm61
-rw-r--r--Master/tlpkg/tlperl/lib/B/Concise.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/B/Debug.pm141
-rw-r--r--Master/tlpkg/tlperl/lib/B/Deparse.pm129
-rw-r--r--Master/tlpkg/tlperl/lib/B/Lint.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/B/Lint/Debug.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/B/Showlex.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Benchmark.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Bundle/LWP.pm44
-rw-r--r--Master/tlpkg/tlperl/lib/CGI.pm185
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Carp.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Cookie.pm245
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Pretty.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Push.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Util.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/XSUB.h62
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/av.h11
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cc_runtime.h85
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/config.h2583
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cop.h476
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cv.h27
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/embed.h5637
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/embedvar.h79
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/gv.h47
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/handy.h463
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/hv.h105
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/intrpvar.h144
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/iperlsys.h22
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/keywords.h11
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h265
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/libperl514.a (renamed from Master/tlpkg/tlperl/lib/CORE/libperl512.a)bin1053702 -> 882018 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/malloc_ctl.h10
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/metaconfig.h44
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg.h18
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mydtrace.h16
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/op.h292
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/op_reg_common.h110
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/opcode.h2308
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/opnames.h20
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/overload.h148
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pad.h6
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/parser.h28
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/patchlevel.h24
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perl.h578
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlapi.h675
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlhost.h17
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlio.h7
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perliol.h7
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlsdio.h6
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlvars.h15
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perly.h349
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pp.h174
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pp_proto.h678
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/proto.h7377
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/reentr.h5
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regcharclass.h91
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regcomp.h194
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regexp.h195
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regnodes.h535
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/scope.h18
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sv.h214
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sys/socket.h79
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/uconfig.h2632
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/utf8.h237
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/utfebcdic.h133
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/util.h15
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/warnings.h17
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32.h119
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32iop.h1
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN.pm223
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Author.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Distribution.pm289
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Exception/blocked_urllist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FTP.pm61
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FTP/netrc.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm619
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm254
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HTTP/Credentials.pm91
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm307
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Index.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm76
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta.pm696
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm1365
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm116
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm315
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm277
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm1145
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm1002
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm714
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Module.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Queue.pm53
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Shell.pm44
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Version.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm248
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm119
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm62
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Carp.pm422
-rw-r--r--Master/tlpkg/tlperl/lib/Carp/Always.pm162
-rw-r--r--Master/tlpkg/tlperl/lib/Class/ISA.pm218
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Zlib.pm29
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pm.orig (renamed from Master/tlpkg/tlperl/lib/Config.pmold)61
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pod141
-rw-r--r--Master/tlpkg/tlperl/lib/Config_heavy.pl134
-rw-r--r--Master/tlpkg/tlperl/lib/Config_heavy.pl.orig (renamed from Master/tlpkg/tlperl/lib/Config_heavy.plold)195
-rw-r--r--Master/tlpkg/tlperl/lib/Cwd.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/DB.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/DBM_Filter.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Data/Dumper.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/Peek.pm209
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/SelfStubber.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Digest/MD5.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Digest/SHA.pm88
-rw-r--r--Master/tlpkg/tlperl/lib/DirHandle.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/Dumpvalue.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/DynaLoader.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/Encode.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Alias.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Guess.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Locale.pm348
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Env.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Errno.pm4609
-rw-r--r--Master/tlpkg/tlperl/lib/Exporter.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm60
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm238
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command.pm29
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm345
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Install.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm103
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm120
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MY.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm74
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm658
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm139
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/typemap72
-rw-r--r--Master/tlpkg/tlperl/lib/Fatal.pm99
-rw-r--r--Master/tlpkg/tlperl/lib/Fcntl.pm112
-rw-r--r--Master/tlpkg/tlperl/lib/File/Basename.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/File/CheckTree.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/File/Copy.pm62
-rw-r--r--Master/tlpkg/tlperl/lib/File/DosGlob.pm275
-rw-r--r--Master/tlpkg/tlperl/lib/File/Fetch.pm210
-rw-r--r--Master/tlpkg/tlperl/lib/File/Find.pm350
-rw-r--r--Master/tlpkg/tlperl/lib/File/Glob.pm97
-rw-r--r--Master/tlpkg/tlperl/lib/File/GlobMapper.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Listing.pm45
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Functions.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Mac.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/OS2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/VMS.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Win32.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/File/Which.pm254
-rw-r--r--Master/tlpkg/tlperl/lib/File/stat.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Filter/Simple.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/HTML/Entities.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/HTML/Form.pm1551
-rw-r--r--Master/tlpkg/tlperl/lib/HTML/HeadParser.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/HTML/LinkExtor.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/HTML/Parser.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/HTML/TokeParser.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Cookies.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Cookies/Microsoft.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Cookies/Netscape.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Daemon.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Date.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Headers.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Headers/Auth.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Headers/ETag.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Headers/Util.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Message.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Negotiate.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Request.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Request/Common.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Response.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Status.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Tiny.pm1098
-rw-r--r--Master/tlpkg/tlperl/lib/Hash/Util.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/I18N/Collate.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/I18N/LangTags.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/I18N/LangTags/List.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Base.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm83
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Dir.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/File.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Handle.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Pipe.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Poll.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Select.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm46
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm47
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm114
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Cmd.pm456
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Open3.pm153
-rw-r--r--Master/tlpkg/tlperl/lib/JSON/PP.pm2812
-rw-r--r--Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/LWP.pm65
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/ConnCache.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/MediaTypes.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol/http10.pm289
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm51
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Protocol/https10.pm75
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/RobotUA.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/Simple.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/UserAgent.pm242
-rw-r--r--Master/tlpkg/tlperl/lib/LWP/media.types1539
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util/PP.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util/XS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes.pm628
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes.pod540
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod171
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm9690
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm2954
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm7303
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm2699
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Constants.pm81
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Constants.pod63
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Country.pm696
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Country.pod328
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Currency.pm556
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Currency.pod168
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Language.pm515
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Language.pod149
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext.pm440
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext.pod19
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod150
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm328
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm61
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Script.pm450
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Script.pod239
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Item.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Log/Message/Simple.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/MIME/Base64.pm79
-rw-r--r--Master/tlpkg/tlperl/lib/MIME/QuotedPrint.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigFloat.pm255
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt.pm599
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm822
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm51
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigRat.pm106
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/Expire.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/ExpireFile.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/ExpireTest.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/NDBM_File.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/SDBM_File.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Memoize/Storable.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build.pm139
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/API.pod223
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod9
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Base.pm797
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Compat.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm473
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Notes.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Version.pm681
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/YAML.pm603
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList.pm4021
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Metadata.pm756
-rw-r--r--Master/tlpkg/tlperl/lib/NEXT.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Net/HTTP.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Net/HTTP/NB.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Net/HTTPS.pm73
-rw-r--r--Master/tlpkg/tlperl/lib/Net/Ping.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Object/Accessor.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Opcode.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pod32
-rw-r--r--Master/tlpkg/tlperl/lib/Params/Check.pm29
-rw-r--r--Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm511
-rw-r--r--Master/tlpkg/tlperl/lib/Perl/OSType.pm174
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/encoding.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/scalar.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/via.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Html.pm178
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/LaTeX.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Man.pm40
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Plainer.pm100
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm173
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod32
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm109
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Text.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/SDBM_File.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Safe.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Scalar/Util.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/Search/Dict.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/SelfLoader.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Shell.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Socket.pm398
-rw-r--r--Master/tlpkg/tlperl/lib/Storable.pm108
-rw-r--r--Master/tlpkg/tlperl/lib/Switch.pm875
-rw-r--r--Master/tlpkg/tlperl/lib/Sys/Hostname.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Base.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Harness.pm283
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Harness/Beyond.pod417
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Object.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser.pm389
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm48
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm327
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm374
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Source/Perl.pm326
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm194
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm186
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm136
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm125
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm362
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm131
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Term/ANSIColor.pm262
-rw-r--r--Master/tlpkg/tlperl/lib/Term/ReadLine.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/Term/UI.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder.pm130
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder/Module.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Harness.pm44
-rw-r--r--Master/tlpkg/tlperl/lib/Test/More.pm61
-rw-r--r--Master/tlpkg/tlperl/lib/Test/Simple.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Thread/Queue.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Thread/Semaphore.pm139
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Array.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Hash.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Hash/NamedCapture.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/RefHash.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Time/HiRes.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Time/Local.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Time/Piece.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/Time/Seconds.pm70
-rw-r--r--Master/tlpkg/tlperl/lib/Tk.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Balloon.pod11
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Event.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/FBox.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/HList.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Image.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Image.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/MainWindow.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Pane.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/ProgressBar.pm33
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Text.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/TixGrid.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/Widget.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/X11/X.h2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Ball.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Plot.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/demos/widtrib/all.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk/Lang.t434
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk/Tcl-pTk2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.h2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.t1314
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk/mkVFunc2
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/pTk/tkImgPhoto.t132
-rw-r--r--Master/tlpkg/tlperl/lib/Tk/tkGlue.t140
-rw-r--r--Master/tlpkg/tlperl/lib/UNIVERSAL.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/URI.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/URI/Escape.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/Heuristic.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/QueryParam.pm33
-rw-r--r--Master/tlpkg/tlperl/lib/URI/URL.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/WithBase.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_generic.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_idna.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_ldap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_punycode.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/_query.pm1
-rw-r--r--Master/tlpkg/tlperl/lib/URI/file.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/URI/ldap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/URI/sip.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate.pm645
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Big5.pm1375
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/GB2312.pm752
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/JISX0208.pm696
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm1556
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm2175
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm1375
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm338
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl5
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl7
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl50
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl75
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl74
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl3
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl150
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl6
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl78
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl1241
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl4
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl70
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl70
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl50
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl60
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl147
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl86
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl61
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl6
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl219
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl210
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl212
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl217
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl304
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl212
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt38665
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Normalize.pm139
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/UCD.pm602
-rw-r--r--Master/tlpkg/tlperl/lib/WWW/RobotRules.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/WWW/RobotRules/AnyDBM_File.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Win32.pm562
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API.pm266
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API/Callback.pm91
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API/Struct.pm429
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API/Test.pm125
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/API/Type.pm272
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/XSLoader.pm64
-rw-r--r--Master/tlpkg/tlperl/lib/abbrev.pl3
-rw-r--r--Master/tlpkg/tlperl/lib/assert.pl4
-rw-r--r--Master/tlpkg/tlperl/lib/attributes.pm4
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/B/B.dllbin117248 -> 56832 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dllbin82944 -> 78848 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dllbin121856 -> 123904 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Zlib/autosplit.ix3
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Cwd/Cwd.dllbin15360 -> 12288 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dllbin35840 -> 33792 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dllbin18944 -> 16384 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dllbin107520 -> 95744 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dllbin18944 -> 16384 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dllbin19456 -> 18432 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dllbin46080 -> 45568 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist6
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dllbin20992 -> 17408 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/DynaLoader/autosplit.ix8
-rw-r--r--Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_expandspec.al31
-rw-r--r--Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_find_symbol_anywhere.al19
-rw-r--r--Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_findfile.al86
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dllbin114176 -> 111104 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/CN/CN.dllbin745472 -> 743424 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dllbin21504 -> 18944 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Encode.dllbin34816 -> 31744 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/JP/JP.dllbin861696 -> 859648 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/KR/KR.dllbin817152 -> 814592 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist1
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dllbin25600 -> 22528 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/TW/TW.dllbin762880 -> 760832 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dllbin24576 -> 21504 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dllbin15872 -> 15872 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/File/Glob/Glob.dllbin20480 -> 17408 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist1
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Which/.packlist3
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dllbin16896 -> 13312 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dllbin46592 -> 44544 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist3
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist1
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist1
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist10
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist1
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dllbin21504 -> 17408 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Hash/Util/Util.dllbin13312 -> 10752 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/IO/IO.dllbin20480 -> 16896 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/IO/String/.packlist1
-rw-r--r--Master/tlpkg/tlperl/lib/auto/LWP/.packlist98
-rw-r--r--Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/List/Util/Util.dllbin29184 -> 21504 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dllbin16384 -> 14848 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dllbin22528 -> 16384 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist4
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Opcode/Opcode.dllbin23040 -> 19968 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/POSIX/POSIX.dllbin95232 -> 68608 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/abs.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/assert.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atof.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atol.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/chown.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/cos.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/creat.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/div.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/errno.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execl.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execle.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execv.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execve.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/exit.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/exp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/feof.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fork.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fread.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/free.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/gets.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/kill.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/labs.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/link.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al7
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/log.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memset.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/perror.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/pow.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/printf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/putc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/puts.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/raise.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rand.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/redef.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/remove.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rename.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sin.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/srand.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/stat.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/system.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/time.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/umask.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/usage.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/utime.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/wait.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dllbin27136 -> 21504 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dllbin14336 -> 13312 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/via/via.dllbin20480 -> 18944 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dllbin32256 -> 26624 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Socket/Socket.dllbin22528 -> 22016 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/BIN_VERSION_NV.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/BIN_WRITE_VERSION_NV.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/CAN_FLOCK.al21
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Storable/Storable.dllbin73216 -> 75264 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/_freeze.al23
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/_retrieve.al31
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/_store.al41
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/_store_fd.al27
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/autosplit.ix28
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al25
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/file_magic.al21
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/freeze.al18
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/lock_nstore.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/lock_retrieve.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/lock_store.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/logcarp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/logcroak.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/nfreeze.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/nstore.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/nstore_fd.al18
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/read_magic.al69
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/retrieve.al18
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/show_file_magic.al30
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/store.al20
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/store_fd.al18
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/thaw.al28
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dllbin11776 -> 9216 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Sys/Hostname/autosplit.ix3
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dllbin13312 -> 10240 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dllbin0 -> 12288 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dllbin22016 -> 18432 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dllbin23040 -> 22528 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/.packlist1324
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/CancelRepeat.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dllbin177152 -> 174080 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dllbin23552 -> 22016 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dllbin14848 -> 12288 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/EnterFocus.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dllbin44544 -> 44544 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Error.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Event/Event.dllbin55296 -> 54784 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/FirstMenu.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/FocusChildren.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/FocusOK.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/HList/HList.dllbin57856 -> 58368 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/IO/IO.dllbin12800 -> 10240 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/ImageNames.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/ImageTypes.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dllbin119808 -> 134144 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dllbin35328 -> 34304 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dllbin24576 -> 23040 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dllbin25600 -> 23552 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dllbin194048 -> 200192 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dllbin29184 -> 27648 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Receive.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/RepeatId.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dllbin28160 -> 27136 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dllbin24064 -> 23552 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/Selection.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/TList/TList.dllbin32256 -> 32256 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Text/Text.dllbin114688 -> 123392 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dllbin71680 -> 56320 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Tk.dllbin801280 -> 871936 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/TraverseToMenu.al2
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/X/X.dllbin30208 -> 26112 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dllbin33280 -> 27136 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/break.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/focusFollowsMouse.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/focusNext.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/focusPrev.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/getEncoding.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/getNextFocus.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/getPrevFocus.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/interps.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/lsearch.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/pTk/extralibs.ld2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/tabFocus.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/updateWidgets.al2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/URI/.packlist104
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dllbin0 -> 542720 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dllbin205312 -> 202752 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/API/API.dllbin25088 -> 20992 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dllbin18432 -> 15872 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist6
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dllbin29184 -> 23552 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist4
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/Win32.dllbin46080 -> 44544 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32API/File/File.dllbin88576 -> 71680 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist8
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dllbin196608 -> 157696 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/attributes/attributes.dllbin13824 -> 11264 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/mro/mro.dllbin22528 -> 18944 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/re/re.dllbin273408 -> 344576 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/threads/shared/shared.dllbin33280 -> 31744 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/threads/threads.dllbin37376 -> 30208 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/autodie.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/exception.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/exception/system.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/hints.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/base.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/bigfloat.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/bigint.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/bigint.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/bignum.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/bigrat.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/bigrat.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/blib.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/cacheout.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/charnames.pm1379
-rw-r--r--Master/tlpkg/tlperl/lib/complete.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/constant.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/ctime.pl3
-rw-r--r--Master/tlpkg/tlperl/lib/deprecate.pm64
-rw-r--r--Master/tlpkg/tlperl/lib/diagnostics.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/dotsh.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/dumpvar.pl4
-rw-r--r--Master/tlpkg/tlperl/lib/exceptions.pl4
-rw-r--r--Master/tlpkg/tlperl/lib/fastcwd.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/feature.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/find.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/finddepth.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/flush.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/getcwd.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/getopt.pl5
-rw-r--r--Master/tlpkg/tlperl/lib/getopts.pl5
-rw-r--r--Master/tlpkg/tlperl/lib/hostname.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/if.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/importenv.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/inc/latest.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/inc/latest/private.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/lib.pm47
-rw-r--r--Master/tlpkg/tlperl/lib/look.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/lwpcook.pod30
-rw-r--r--Master/tlpkg/tlperl/lib/lwptut.pod36
-rw-r--r--Master/tlpkg/tlperl/lib/mro.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/newgetopt.pl4
-rw-r--r--Master/tlpkg/tlperl/lib/open.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/open2.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/open3.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/overload.pm1145
-rw-r--r--Master/tlpkg/tlperl/lib/overload/numbers.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/parent.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/perl5db.pl150
-rw-r--r--Master/tlpkg/tlperl/lib/perllocal.pod306
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl.pod57
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5110delta.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5120delta.pod17
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5121delta.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5122delta.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5123delta.pod5
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5130delta.pod133
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl51310delta.pod814
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl51311delta.pod513
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5131delta.pod287
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5132delta.pod409
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5133delta.pod667
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5134delta.pod542
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5135delta.pod592
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5136delta.pod799
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5137delta.pod945
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5138delta.pod912
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5139delta.pod646
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5140delta.pod4590
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5141delta.pod361
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5142delta.pod242
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl572delta.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl588delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl589delta.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl592delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl593delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlaix.pod29
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlamiga.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlapi.pod2940
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlapollo.pod23
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbook.pod302
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlboot.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbot.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbs2000.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcall.pod184
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlce.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcheat.pod18
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlclib.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcommunity.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcompile.pod8
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcygwin.pod30
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldata.pod40
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldebguts.pod373
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldebtut.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldebug.pod37
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldelta.pod212
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldgux.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldiag.pod1100
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldoc.pod18
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlebcdic.pod236
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlembed.pod35
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlepoc.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq.pod56
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq1.pod39
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq2.pod279
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq3.pod23
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq4.pod373
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq5.pod189
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq6.pod194
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq7.pod42
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq8.pod32
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq9.pod71
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfilter.pod10
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfork.pod50
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlform.pod38
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod12
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfunc.pod1390
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlgit.pod (renamed from Master/tlpkg/tlperl/lib/pods/perlrepository.pod)842
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlglossary.pod64
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlguts.pod236
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhack.pod3547
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhacktips.pod1459
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhacktut.pod188
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhaiku.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhist.pod81
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhpux.pod18
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlintern.pod1125
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlinterp.pod742
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlintro.pod19
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perliol.pod11
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlipc.pod1492
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perljp.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlko.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllexwarn.pod18
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllinux.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllocale.pod139
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllol.pod157
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmacos.pod16
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmacosx.pod48
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmod.pod27
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmodlib.pod216
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmpeix.pod28
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmroapi.pod8
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlnetware.pod31
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlobj.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlop.pod914
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlopentut.pod21
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlos2.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlos390.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlos400.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlperf.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpod.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpodspec.pod1
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod295
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpolicy.pod81
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlport.pod93
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlqnx.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlre.pod1019
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlreapi.pod35
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod335
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod596
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrequick.pod74
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlreref.pod99
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlretut.pod303
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlriscos.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrun.pod518
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsolaris.pod29
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsource.pod216
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsub.pod62
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsymbian.pod29
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsyn.pod118
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlthrtut.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltie.pod36
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltoc.pod11041
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltodo.pod94
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltrap.pod13
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltru64.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlunicode.pod897
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlunifaq.pod49
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perluniintro.pod205
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perluniprops.pod1149
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlunitut.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlutil.pod7
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvar.pod2817
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvmesa.pod17
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvms.pod12
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlwin32.pod283
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlxs.pod20
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlxstut.pod20
-rw-r--r--Master/tlpkg/tlperl/lib/pwd.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/re.pm131
-rw-r--r--Master/tlpkg/tlperl/lib/shellwords.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/sigtrap.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/stat.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/syslog.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/tainted.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/termcap.pl6
-rw-r--r--Master/tlpkg/tlperl/lib/threads.pm43
-rw-r--r--Master/tlpkg/tlperl/lib/threads/shared.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/timelocal.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/ArabicShaping.txt373
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/BidiMirroring.txt588
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Blocks.txt18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CJKRadicals.txt267
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl221
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CompositionExclusions.txt197
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/DAge.txt1064
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/DCoreProperties.txt9243
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/DNormalizationProps.txt9036
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Decomposition.pl70
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/EastAsianWidth.txt21866
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/HangulSyllableType.txt857
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Heavy.pl204
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Index.txt5376
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Jamo.txt92
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/LineBreak.txt22670
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Name.pl44970
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NameAliases.txt40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt53
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NamedSqProv.txt75
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NamesList.txt34740
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NormalizationCorrections.txt48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/PropList.txt1299
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/PropValueAliases.txt1162
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/PropertyAliases.txt189
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/ReadMe.txt13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Scripts.txt1972
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt6
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/StandardizedVariants.txt143
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/TestProp.pl79421
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Age.pl1036
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bc.pl555
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Digit.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Dt.pl759
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Ea.pl245
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Fold.pl56
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/GCB.pl1177
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Gc.pl2639
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Hst.pl822
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Jg.pl144
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Jt.pl292
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lb.pl2195
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lower.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl126
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl245
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl486
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl265
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl367
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Na1.pl1996
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Nt.pl198
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Nv.pl1157
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/SB.pl1958
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Sc.pl702
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Title.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Upper.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/WB.pl691
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/_slc.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/_stc.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/_suc.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/UnicodeData.txt21829
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/auxiliary/GCBTest.txt311
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/auxiliary/GraphemeBreakProperty.txt1227
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/auxiliary/SentenceBreakProperty.txt2271
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/auxiliary/WordBreakProperty.txt898
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DBidiClass.txt1779
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DBinaryProperties.txt227
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DCombiningClass.txt2036
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DDecompositionType.txt977
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DEastAsianWidth.txt1803
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DGeneralCategory.txt3263
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DJoinGroup.txt423
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DJoinType.txt318
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DLineBreak.txt2865
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DNumType.txt211
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/extracted/DNumValues.txt1697
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl522
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl75
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl199
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl91
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl117
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl137
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl153
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl87
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl159
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl159
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl118
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl721
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl650
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl848
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl80
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl592
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl288
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl293
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl58
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl204
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl176
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl95
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl82
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl500
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl338
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl183
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl171
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl164
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl174
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl411
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl401
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl173
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl153
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl229
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl147
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl227
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl145
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl158
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl208
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl137
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl67
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl226
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl136
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl97
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl62
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl50
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl236
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl154
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl109
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl59
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl77
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl239
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl496
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl214
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl352
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl97
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl303
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl841
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl177
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl359
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl712
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl50
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl708
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl727
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl218
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl224
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl62
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl560
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl203
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl335
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl185
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl295
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl182
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl50
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl101
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl212
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl200
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl312
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl61
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl87
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl284
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl839
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl1039
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl385
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrExt/Y.pl246
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl702
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl910
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl611
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl731
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl55
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl563
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl563
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl673
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl731
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl723
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl751
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl801
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl825
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl849
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl911
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl523
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl302
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl385
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl154
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl899
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl91
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl308
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl123
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl113
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl84
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl686
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl260
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl228
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl185
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl163
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl191
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl272
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl323
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl62
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl291
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl377
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl449
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl55
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl115
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl338
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl270
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl264
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl66
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl60
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl157
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl179
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl76
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl885
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl929
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl939
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl934
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl899
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl140
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl324
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl56
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl85
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl345
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl576
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl223
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl65
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl214
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl764
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl61
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl118
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl88
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl83
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl59
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl58
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl57
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl76
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl61
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl59
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl61
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl39
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl73
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl300
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl702
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl61
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl154
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl104
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl239
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl205
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl38
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl636
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl98
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl707
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl708
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl912
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl617
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl729
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/mktables14299
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/mktables.lst897
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/version2
-rw-r--r--Master/tlpkg/tlperl/lib/utf8.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/utf8_heavy.pl128
-rw-r--r--Master/tlpkg/tlperl/lib/validate.pl2
-rw-r--r--Master/tlpkg/tlperl/lib/vars.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/version.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/version.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/version/Internals.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/version/Requirements.pm596
-rw-r--r--Master/tlpkg/tlperl/lib/warnings.pm391
-rw-r--r--Master/tlpkg/tlperl/lib/warnings/register.pm19
2124 files changed, 223398 insertions, 390554 deletions
diff --git a/Master/tlpkg/tlperl/README.TEXLIVE b/Master/tlpkg/tlperl/README.TEXLIVE
index 8096847e47c..611946a96b5 100644
--- a/Master/tlpkg/tlperl/README.TEXLIVE
+++ b/Master/tlpkg/tlperl/README.TEXLIVE
@@ -1,4 +1,4 @@
-This directory contains Perl 5.12.3 compiled for the win32 platform.
+This directory contains Perl 5.14.3 compiled for Windows.
The only purpose of this Perl is to provide support on Windows for
Perl scripts shipped with TeX Live. It's not intended for general use.
diff --git a/Master/tlpkg/tlperl/bin/a2p.exe b/Master/tlpkg/tlperl/bin/a2p.exe
index c62bba68d81..06e8c7a16bf 100755
--- a/Master/tlpkg/tlperl/bin/a2p.exe
+++ b/Master/tlpkg/tlperl/bin/a2p.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/libgcc_s_dw2-1.dll b/Master/tlpkg/tlperl/bin/libgcc_s_dw2-1.dll
index 91589643745..8870ba74b17 100755
--- a/Master/tlpkg/tlperl/bin/libgcc_s_dw2-1.dll
+++ b/Master/tlpkg/tlperl/bin/libgcc_s_dw2-1.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/libstdc++-6.dll b/Master/tlpkg/tlperl/bin/libstdc++-6.dll
index 8af3a4e5c86..f8e6c78a58a 100755
--- a/Master/tlpkg/tlperl/bin/libstdc++-6.dll
+++ b/Master/tlpkg/tlperl/bin/libstdc++-6.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl.exe b/Master/tlpkg/tlperl/bin/perl.exe
index 2a8799d6ba2..11665670873 100755
--- a/Master/tlpkg/tlperl/bin/perl.exe
+++ b/Master/tlpkg/tlperl/bin/perl.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl5.12.3.exe b/Master/tlpkg/tlperl/bin/perl5.12.3.exe
deleted file mode 100755
index 2a8799d6ba2..00000000000
--- a/Master/tlpkg/tlperl/bin/perl5.12.3.exe
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl5.14.2.exe b/Master/tlpkg/tlperl/bin/perl5.14.2.exe
new file mode 100755
index 00000000000..11665670873
--- /dev/null
+++ b/Master/tlpkg/tlperl/bin/perl5.14.2.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl512.dll b/Master/tlpkg/tlperl/bin/perl512.dll
deleted file mode 100755
index 89ad679c2e1..00000000000
--- a/Master/tlpkg/tlperl/bin/perl512.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl514.dll b/Master/tlpkg/tlperl/bin/perl514.dll
new file mode 100755
index 00000000000..f192cbe973c
--- /dev/null
+++ b/Master/tlpkg/tlperl/bin/perl514.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perlglob.exe b/Master/tlpkg/tlperl/bin/perlglob.exe
index 1b68db5768d..93b6a85c42b 100755
--- a/Master/tlpkg/tlperl/bin/perlglob.exe
+++ b/Master/tlpkg/tlperl/bin/perlglob.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/wperl.exe b/Master/tlpkg/tlperl/bin/wperl.exe
index 4383946cc5c..33d6ec6819f 100755
--- a/Master/tlpkg/tlperl/bin/wperl.exe
+++ b/Master/tlpkg/tlperl/bin/wperl.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/.packlist b/Master/tlpkg/tlperl/lib/.packlist
index d3638479fed..5ad15b45e78 100644
--- a/Master/tlpkg/tlperl/lib/.packlist
+++ b/Master/tlpkg/tlperl/lib/.packlist
@@ -1,2115 +1,2198 @@
-c:\perl\bin/a2p.exe type=file
-c:\perl\bin/c2ph.bat type=file
-c:\perl\bin/config_data.bat type=file
-c:\perl\bin/corelist.bat type=file
-c:\perl\bin/cpan.bat type=file
-c:\perl\bin/cpan2dist.bat type=file
-c:\perl\bin/cpanp-run-perl.bat type=file
-c:\perl\bin/cpanp.bat type=file
-c:\perl\bin/dprofpp.bat type=file
-c:\perl\bin/enc2xs.bat type=file
-c:\perl\bin/find2perl.bat type=file
-c:\perl\bin/h2ph.bat type=file
-c:\perl\bin/h2xs.bat type=file
-c:\perl\bin/instmodsh.bat type=file
-c:\perl\bin/libnetcfg.bat type=file
-c:\perl\bin/perl.exe from=c:\perl\bin/perl5.12.3.exe type=link
-c:\perl\bin/perl5.12.3.exe type=file
-c:\perl\bin/perl512.dll type=file
-c:\perl\bin/perlbug.bat type=file
-c:\perl\bin/perldoc.bat type=file
-c:\perl\bin/perlivp.bat type=file
-c:\perl\bin/perlthanks.bat from=c:\perl\bin/perlbug.bat type=link
-c:\perl\bin/piconv.bat type=file
-c:\perl\bin/pl2pm.bat type=file
-c:\perl\bin/pod2html.bat type=file
-c:\perl\bin/pod2latex.bat type=file
-c:\perl\bin/pod2man.bat type=file
-c:\perl\bin/pod2text.bat type=file
-c:\perl\bin/pod2usage.bat type=file
-c:\perl\bin/podchecker.bat type=file
-c:\perl\bin/podselect.bat type=file
-c:\perl\bin/prove.bat type=file
-c:\perl\bin/psed.bat from=c:\perl\bin/s2p.bat type=link
-c:\perl\bin/pstruct.bat from=c:\perl\bin/c2ph.bat type=link
-c:\perl\bin/ptar.bat type=file
-c:\perl\bin/ptardiff.bat type=file
-c:\perl\bin/s2p.bat type=file
-c:\perl\bin/shasum.bat type=file
-c:\perl\bin/splain.bat type=file
-c:\perl\bin/xsubpp.bat type=file
-c:\perl\lib/AnyDBM_File.pm type=file
-c:\perl\lib/App/Cpan.pm type=file
-c:\perl\lib/App/Prove.pm type=file
-c:\perl\lib/App/Prove/State.pm type=file
-c:\perl\lib/App/Prove/State/Result.pm type=file
-c:\perl\lib/App/Prove/State/Result/Test.pm type=file
-c:\perl\lib/Archive/Extract.pm type=file
-c:\perl\lib/Archive/Tar.pm type=file
-c:\perl\lib/Archive/Tar/Constant.pm type=file
-c:\perl\lib/Archive/Tar/File.pm type=file
-c:\perl\lib/Attribute/Handlers.pm type=file
-c:\perl\lib/AutoLoader.pm type=file
-c:\perl\lib/AutoSplit.pm type=file
-c:\perl\lib/B.pm type=file
-c:\perl\lib/B/Concise.pm type=file
-c:\perl\lib/B/Debug.pm type=file
-c:\perl\lib/B/Deparse.pm type=file
-c:\perl\lib/B/Lint.pm type=file
-c:\perl\lib/B/Lint/Debug.pm type=file
-c:\perl\lib/B/Showlex.pm type=file
-c:\perl\lib/B/Terse.pm type=file
-c:\perl\lib/B/Xref.pm type=file
-c:\perl\lib/Benchmark.pm type=file
-c:\perl\lib/CGI.pm type=file
-c:\perl\lib/CGI/Apache.pm type=file
-c:\perl\lib/CGI/Carp.pm type=file
-c:\perl\lib/CGI/Cookie.pm type=file
-c:\perl\lib/CGI/Fast.pm type=file
-c:\perl\lib/CGI/Pretty.pm type=file
-c:\perl\lib/CGI/Push.pm type=file
-c:\perl\lib/CGI/Switch.pm type=file
-c:\perl\lib/CGI/Util.pm type=file
-c:\perl\lib/CORE.pod type=file
-c:\perl\lib/CORE/EXTERN.h type=file
-c:\perl\lib/CORE/INTERN.h type=file
-c:\perl\lib/CORE/XSUB.h type=file
-c:\perl\lib/CORE/arpa/inet.h type=file
-c:\perl\lib/CORE/av.h type=file
-c:\perl\lib/CORE/bitcount.h type=file
-c:\perl\lib/CORE/cc_runtime.h type=file
-c:\perl\lib/CORE/config.h type=file
-c:\perl\lib/CORE/cop.h type=file
-c:\perl\lib/CORE/cv.h type=file
-c:\perl\lib/CORE/dirent.h type=file
-c:\perl\lib/CORE/dosish.h type=file
-c:\perl\lib/CORE/embed.h type=file
-c:\perl\lib/CORE/embedvar.h type=file
-c:\perl\lib/CORE/fakesdio.h type=file
-c:\perl\lib/CORE/fakethr.h type=file
-c:\perl\lib/CORE/form.h type=file
-c:\perl\lib/CORE/git_version.h type=file
-c:\perl\lib/CORE/gv.h type=file
-c:\perl\lib/CORE/handy.h type=file
-c:\perl\lib/CORE/hv.h type=file
-c:\perl\lib/CORE/intrpvar.h type=file
-c:\perl\lib/CORE/iperlsys.h type=file
-c:\perl\lib/CORE/keywords.h type=file
-c:\perl\lib/CORE/libperl512.a type=file
-c:\perl\lib/CORE/malloc_ctl.h type=file
-c:\perl\lib/CORE/mg.h type=file
-c:\perl\lib/CORE/mydtrace.h type=file
-c:\perl\lib/CORE/netdb.h type=file
-c:\perl\lib/CORE/nostdio.h type=file
-c:\perl\lib/CORE/op.h type=file
-c:\perl\lib/CORE/opcode.h type=file
-c:\perl\lib/CORE/opnames.h type=file
-c:\perl\lib/CORE/overload.h type=file
-c:\perl\lib/CORE/pad.h type=file
-c:\perl\lib/CORE/parser.h type=file
-c:\perl\lib/CORE/patchlevel.h type=file
-c:\perl\lib/CORE/perl.h type=file
-c:\perl\lib/CORE/perlapi.h type=file
-c:\perl\lib/CORE/perlhost.h type=file
-c:\perl\lib/CORE/perlio.h type=file
-c:\perl\lib/CORE/perliol.h type=file
-c:\perl\lib/CORE/perlsdio.h type=file
-c:\perl\lib/CORE/perlsfio.h type=file
-c:\perl\lib/CORE/perlvars.h type=file
-c:\perl\lib/CORE/perly.h type=file
-c:\perl\lib/CORE/pp.h type=file
-c:\perl\lib/CORE/pp_proto.h type=file
-c:\perl\lib/CORE/proto.h type=file
-c:\perl\lib/CORE/reentr.h type=file
-c:\perl\lib/CORE/regcharclass.h type=file
-c:\perl\lib/CORE/regcomp.h type=file
-c:\perl\lib/CORE/regexp.h type=file
-c:\perl\lib/CORE/regnodes.h type=file
-c:\perl\lib/CORE/scope.h type=file
-c:\perl\lib/CORE/sv.h type=file
-c:\perl\lib/CORE/sys/socket.h type=file
-c:\perl\lib/CORE/thread.h type=file
-c:\perl\lib/CORE/time64.h type=file
-c:\perl\lib/CORE/time64_config.h type=file
-c:\perl\lib/CORE/uconfig.h type=file
-c:\perl\lib/CORE/unixish.h type=file
-c:\perl\lib/CORE/utf8.h type=file
-c:\perl\lib/CORE/utfebcdic.h type=file
-c:\perl\lib/CORE/util.h type=file
-c:\perl\lib/CORE/uudmap.h type=file
-c:\perl\lib/CORE/vdir.h type=file
-c:\perl\lib/CORE/vmem.h type=file
-c:\perl\lib/CORE/warnings.h type=file
-c:\perl\lib/CORE/win32.h type=file
-c:\perl\lib/CORE/win32iop-o.h type=file
-c:\perl\lib/CORE/win32iop.h type=file
-c:\perl\lib/CORE/win32thread.h type=file
-c:\perl\lib/CORE/wince.h type=file
-c:\perl\lib/CPAN.pm type=file
-c:\perl\lib/CPAN/API/HOWTO.pod type=file
-c:\perl\lib/CPAN/Author.pm type=file
-c:\perl\lib/CPAN/Bundle.pm type=file
-c:\perl\lib/CPAN/CacheMgr.pm type=file
-c:\perl\lib/CPAN/Complete.pm type=file
-c:\perl\lib/CPAN/Debug.pm type=file
-c:\perl\lib/CPAN/DeferredCode.pm type=file
-c:\perl\lib/CPAN/Distribution.pm type=file
-c:\perl\lib/CPAN/Distroprefs.pm type=file
-c:\perl\lib/CPAN/Distrostatus.pm type=file
-c:\perl\lib/CPAN/Exception/RecursiveDependency.pm type=file
-c:\perl\lib/CPAN/Exception/blocked_urllist.pm type=file
-c:\perl\lib/CPAN/Exception/yaml_not_installed.pm type=file
-c:\perl\lib/CPAN/FTP.pm type=file
-c:\perl\lib/CPAN/FTP/netrc.pm type=file
-c:\perl\lib/CPAN/FirstTime.pm type=file
-c:\perl\lib/CPAN/HandleConfig.pm type=file
-c:\perl\lib/CPAN/Index.pm type=file
-c:\perl\lib/CPAN/InfoObj.pm type=file
-c:\perl\lib/CPAN/Kwalify.pm type=file
-c:\perl\lib/CPAN/Kwalify/distroprefs.dd type=file
-c:\perl\lib/CPAN/Kwalify/distroprefs.yml type=file
-c:\perl\lib/CPAN/LWP/UserAgent.pm type=file
-c:\perl\lib/CPAN/Mirrors.pm type=file
-c:\perl\lib/CPAN/Module.pm type=file
-c:\perl\lib/CPAN/Nox.pm type=file
-c:\perl\lib/CPAN/Prompt.pm type=file
-c:\perl\lib/CPAN/Queue.pm type=file
-c:\perl\lib/CPAN/Shell.pm type=file
-c:\perl\lib/CPAN/Tarzip.pm type=file
-c:\perl\lib/CPAN/URL.pm type=file
-c:\perl\lib/CPAN/Version.pm type=file
-c:\perl\lib/CPANPLUS.pm type=file
-c:\perl\lib/CPANPLUS/Backend.pm type=file
-c:\perl\lib/CPANPLUS/Backend/RV.pm type=file
-c:\perl\lib/CPANPLUS/Config.pm type=file
-c:\perl\lib/CPANPLUS/Configure.pm type=file
-c:\perl\lib/CPANPLUS/Configure/Setup.pm type=file
-c:\perl\lib/CPANPLUS/Dist.pm type=file
-c:\perl\lib/CPANPLUS/Dist/Autobundle.pm type=file
-c:\perl\lib/CPANPLUS/Dist/Base.pm type=file
-c:\perl\lib/CPANPLUS/Dist/Build.pm type=file
-c:\perl\lib/CPANPLUS/Dist/Build/Constants.pm type=file
-c:\perl\lib/CPANPLUS/Dist/MM.pm type=file
-c:\perl\lib/CPANPLUS/Dist/Sample.pm type=file
-c:\perl\lib/CPANPLUS/Error.pm type=file
-c:\perl\lib/CPANPLUS/FAQ.pod type=file
-c:\perl\lib/CPANPLUS/Hacking.pod type=file
-c:\perl\lib/CPANPLUS/Internals.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Constants.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Constants/Report.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Extract.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Fetch.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Report.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Search.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Source.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Source/Memory.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Source/SQLite.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Source/SQLite/Tie.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Utils.pm type=file
-c:\perl\lib/CPANPLUS/Internals/Utils/Autoflush.pm type=file
-c:\perl\lib/CPANPLUS/Module.pm type=file
-c:\perl\lib/CPANPLUS/Module/Author.pm type=file
-c:\perl\lib/CPANPLUS/Module/Author/Fake.pm type=file
-c:\perl\lib/CPANPLUS/Module/Checksums.pm type=file
-c:\perl\lib/CPANPLUS/Module/Fake.pm type=file
-c:\perl\lib/CPANPLUS/Module/Signature.pm type=file
-c:\perl\lib/CPANPLUS/Selfupdate.pm type=file
-c:\perl\lib/CPANPLUS/Shell.pm type=file
-c:\perl\lib/CPANPLUS/Shell/Classic.pm type=file
-c:\perl\lib/CPANPLUS/Shell/Default.pm type=file
-c:\perl\lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm type=file
-c:\perl\lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod type=file
-c:\perl\lib/CPANPLUS/Shell/Default/Plugins/Remote.pm type=file
-c:\perl\lib/CPANPLUS/Shell/Default/Plugins/Source.pm type=file
-c:\perl\lib/Carp.pm type=file
-c:\perl\lib/Carp/Heavy.pm type=file
-c:\perl\lib/Class/ISA.pm type=file
-c:\perl\lib/Class/Struct.pm type=file
-c:\perl\lib/Compress/Raw/Bzip2.pm type=file
-c:\perl\lib/Compress/Raw/Zlib.pm type=file
-c:\perl\lib/Compress/Zlib.pm type=file
-c:\perl\lib/Config.pm type=file
-c:\perl\lib/Config.pod type=file
-c:\perl\lib/Config/Extensions.pm type=file
-c:\perl\lib/Config_git.pl type=file
-c:\perl\lib/Config_heavy.pl type=file
-c:\perl\lib/Cwd.pm type=file
-c:\perl\lib/DB.pm type=file
-c:\perl\lib/DBM_Filter.pm type=file
-c:\perl\lib/DBM_Filter/compress.pm type=file
-c:\perl\lib/DBM_Filter/encode.pm type=file
-c:\perl\lib/DBM_Filter/int32.pm type=file
-c:\perl\lib/DBM_Filter/null.pm type=file
-c:\perl\lib/DBM_Filter/utf8.pm type=file
-c:\perl\lib/Data/Dumper.pm type=file
-c:\perl\lib/Devel/DProf.pm type=file
-c:\perl\lib/Devel/DProf/V.pm type=file
-c:\perl\lib/Devel/DProf/test1_t type=file
-c:\perl\lib/Devel/DProf/test1_v type=file
-c:\perl\lib/Devel/DProf/test2_t type=file
-c:\perl\lib/Devel/DProf/test2_v type=file
-c:\perl\lib/Devel/DProf/test3_t type=file
-c:\perl\lib/Devel/DProf/test3_v type=file
-c:\perl\lib/Devel/DProf/test4_t type=file
-c:\perl\lib/Devel/DProf/test4_v type=file
-c:\perl\lib/Devel/DProf/test5_t type=file
-c:\perl\lib/Devel/DProf/test5_v type=file
-c:\perl\lib/Devel/DProf/test6_t type=file
-c:\perl\lib/Devel/DProf/test6_v type=file
-c:\perl\lib/Devel/DProf/test7_t type=file
-c:\perl\lib/Devel/DProf/test7_v type=file
-c:\perl\lib/Devel/DProf/test8_t type=file
-c:\perl\lib/Devel/DProf/test8_v type=file
-c:\perl\lib/Devel/InnerPackage.pm type=file
-c:\perl\lib/Devel/PPPort.pm type=file
-c:\perl\lib/Devel/Peek.pm type=file
-c:\perl\lib/Devel/SelfStubber.pm type=file
-c:\perl\lib/Digest.pm type=file
-c:\perl\lib/Digest/MD5.pm type=file
-c:\perl\lib/Digest/SHA.pm type=file
-c:\perl\lib/Digest/base.pm type=file
-c:\perl\lib/Digest/file.pm type=file
-c:\perl\lib/DirHandle.pm type=file
-c:\perl\lib/Dumpvalue.pm type=file
-c:\perl\lib/DynaLoader.pm type=file
-c:\perl\lib/Encode.pm type=file
-c:\perl\lib/Encode/Alias.pm type=file
-c:\perl\lib/Encode/Byte.pm type=file
-c:\perl\lib/Encode/CJKConstants.pm type=file
-c:\perl\lib/Encode/CN.pm type=file
-c:\perl\lib/Encode/CN/HZ.pm type=file
-c:\perl\lib/Encode/Changes.e2x type=file
-c:\perl\lib/Encode/Config.pm type=file
-c:\perl\lib/Encode/ConfigLocal_PM.e2x type=file
-c:\perl\lib/Encode/EBCDIC.pm type=file
-c:\perl\lib/Encode/Encoder.pm type=file
-c:\perl\lib/Encode/Encoding.pm type=file
-c:\perl\lib/Encode/GSM0338.pm type=file
-c:\perl\lib/Encode/Guess.pm type=file
-c:\perl\lib/Encode/JP.pm type=file
-c:\perl\lib/Encode/JP/H2Z.pm type=file
-c:\perl\lib/Encode/JP/JIS7.pm type=file
-c:\perl\lib/Encode/KR.pm type=file
-c:\perl\lib/Encode/KR/2022_KR.pm type=file
-c:\perl\lib/Encode/MIME/Header.pm type=file
-c:\perl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file
-c:\perl\lib/Encode/MIME/Name.pm type=file
-c:\perl\lib/Encode/Makefile_PL.e2x type=file
-c:\perl\lib/Encode/PerlIO.pod type=file
-c:\perl\lib/Encode/README.e2x type=file
-c:\perl\lib/Encode/Supported.pod type=file
-c:\perl\lib/Encode/Symbol.pm type=file
-c:\perl\lib/Encode/TW.pm type=file
-c:\perl\lib/Encode/Unicode.pm type=file
-c:\perl\lib/Encode/Unicode/UTF7.pm type=file
-c:\perl\lib/Encode/_PM.e2x type=file
-c:\perl\lib/Encode/_T.e2x type=file
-c:\perl\lib/Encode/encode.h type=file
-c:\perl\lib/English.pm type=file
-c:\perl\lib/Env.pm type=file
-c:\perl\lib/Errno.pm type=file
-c:\perl\lib/Exporter.pm type=file
-c:\perl\lib/Exporter/Heavy.pm type=file
-c:\perl\lib/ExtUtils/CBuilder.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Base.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file
-c:\perl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file
-c:\perl\lib/ExtUtils/Command.pm type=file
-c:\perl\lib/ExtUtils/Command/MM.pm type=file
-c:\perl\lib/ExtUtils/Constant.pm type=file
-c:\perl\lib/ExtUtils/Constant/Base.pm type=file
-c:\perl\lib/ExtUtils/Constant/ProxySubs.pm type=file
-c:\perl\lib/ExtUtils/Constant/Utils.pm type=file
-c:\perl\lib/ExtUtils/Constant/XS.pm type=file
-c:\perl\lib/ExtUtils/Embed.pm type=file
-c:\perl\lib/ExtUtils/Install.pm type=file
-c:\perl\lib/ExtUtils/Installed.pm type=file
-c:\perl\lib/ExtUtils/Liblist.pm type=file
-c:\perl\lib/ExtUtils/Liblist/Kid.pm type=file
-c:\perl\lib/ExtUtils/MANIFEST.SKIP type=file
-c:\perl\lib/ExtUtils/MM.pm type=file
-c:\perl\lib/ExtUtils/MM_AIX.pm type=file
-c:\perl\lib/ExtUtils/MM_Any.pm type=file
-c:\perl\lib/ExtUtils/MM_BeOS.pm type=file
-c:\perl\lib/ExtUtils/MM_Cygwin.pm type=file
-c:\perl\lib/ExtUtils/MM_DOS.pm type=file
-c:\perl\lib/ExtUtils/MM_Darwin.pm type=file
-c:\perl\lib/ExtUtils/MM_MacOS.pm type=file
-c:\perl\lib/ExtUtils/MM_NW5.pm type=file
-c:\perl\lib/ExtUtils/MM_OS2.pm type=file
-c:\perl\lib/ExtUtils/MM_QNX.pm type=file
-c:\perl\lib/ExtUtils/MM_UWIN.pm type=file
-c:\perl\lib/ExtUtils/MM_Unix.pm type=file
-c:\perl\lib/ExtUtils/MM_VMS.pm type=file
-c:\perl\lib/ExtUtils/MM_VOS.pm type=file
-c:\perl\lib/ExtUtils/MM_Win32.pm type=file
-c:\perl\lib/ExtUtils/MM_Win95.pm type=file
-c:\perl\lib/ExtUtils/MY.pm type=file
-c:\perl\lib/ExtUtils/MakeMaker.pm type=file
-c:\perl\lib/ExtUtils/MakeMaker/Config.pm type=file
-c:\perl\lib/ExtUtils/MakeMaker/FAQ.pod type=file
-c:\perl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file
-c:\perl\lib/ExtUtils/Manifest.pm type=file
-c:\perl\lib/ExtUtils/Miniperl.pm type=file
-c:\perl\lib/ExtUtils/Mkbootstrap.pm type=file
-c:\perl\lib/ExtUtils/Mksymlists.pm type=file
-c:\perl\lib/ExtUtils/Packlist.pm type=file
-c:\perl\lib/ExtUtils/ParseXS.pm type=file
-c:\perl\lib/ExtUtils/testlib.pm type=file
-c:\perl\lib/ExtUtils/typemap type=file
-c:\perl\lib/ExtUtils/xsubpp type=file
-c:\perl\lib/Fatal.pm type=file
-c:\perl\lib/Fcntl.pm type=file
-c:\perl\lib/File/Basename.pm type=file
-c:\perl\lib/File/CheckTree.pm type=file
-c:\perl\lib/File/Compare.pm type=file
-c:\perl\lib/File/Copy.pm type=file
-c:\perl\lib/File/DosGlob.pm type=file
-c:\perl\lib/File/Fetch.pm type=file
-c:\perl\lib/File/Find.pm type=file
-c:\perl\lib/File/Glob.pm type=file
-c:\perl\lib/File/GlobMapper.pm type=file
-c:\perl\lib/File/Path.pm type=file
-c:\perl\lib/File/Spec.pm type=file
-c:\perl\lib/File/Spec/Cygwin.pm type=file
-c:\perl\lib/File/Spec/Epoc.pm type=file
-c:\perl\lib/File/Spec/Functions.pm type=file
-c:\perl\lib/File/Spec/Mac.pm type=file
-c:\perl\lib/File/Spec/OS2.pm type=file
-c:\perl\lib/File/Spec/Unix.pm type=file
-c:\perl\lib/File/Spec/VMS.pm type=file
-c:\perl\lib/File/Spec/Win32.pm type=file
-c:\perl\lib/File/Temp.pm type=file
-c:\perl\lib/File/stat.pm type=file
-c:\perl\lib/FileCache.pm type=file
-c:\perl\lib/FileHandle.pm type=file
-c:\perl\lib/Filter/Simple.pm type=file
-c:\perl\lib/Filter/Util/Call.pm type=file
-c:\perl\lib/FindBin.pm type=file
-c:\perl\lib/Getopt/Long.pm type=file
-c:\perl\lib/Getopt/Std.pm type=file
-c:\perl\lib/Hash/Util.pm type=file
-c:\perl\lib/Hash/Util/FieldHash.pm type=file
-c:\perl\lib/I18N/Collate.pm type=file
-c:\perl\lib/I18N/LangTags.pm type=file
-c:\perl\lib/I18N/LangTags/Detect.pm type=file
-c:\perl\lib/I18N/LangTags/List.pm type=file
-c:\perl\lib/IO.pm type=file
-c:\perl\lib/IO/Compress/Adapter/Bzip2.pm type=file
-c:\perl\lib/IO/Compress/Adapter/Deflate.pm type=file
-c:\perl\lib/IO/Compress/Adapter/Identity.pm type=file
-c:\perl\lib/IO/Compress/Base.pm type=file
-c:\perl\lib/IO/Compress/Base/Common.pm type=file
-c:\perl\lib/IO/Compress/Bzip2.pm type=file
-c:\perl\lib/IO/Compress/Deflate.pm type=file
-c:\perl\lib/IO/Compress/Gzip.pm type=file
-c:\perl\lib/IO/Compress/Gzip/Constants.pm type=file
-c:\perl\lib/IO/Compress/RawDeflate.pm type=file
-c:\perl\lib/IO/Compress/Zip.pm type=file
-c:\perl\lib/IO/Compress/Zip/Constants.pm type=file
-c:\perl\lib/IO/Compress/Zlib/Constants.pm type=file
-c:\perl\lib/IO/Compress/Zlib/Extra.pm type=file
-c:\perl\lib/IO/Dir.pm type=file
-c:\perl\lib/IO/File.pm type=file
-c:\perl\lib/IO/Handle.pm type=file
-c:\perl\lib/IO/Pipe.pm type=file
-c:\perl\lib/IO/Poll.pm type=file
-c:\perl\lib/IO/Seekable.pm type=file
-c:\perl\lib/IO/Select.pm type=file
-c:\perl\lib/IO/Socket.pm type=file
-c:\perl\lib/IO/Socket/INET.pm type=file
-c:\perl\lib/IO/Socket/UNIX.pm type=file
-c:\perl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file
-c:\perl\lib/IO/Uncompress/Adapter/Identity.pm type=file
-c:\perl\lib/IO/Uncompress/Adapter/Inflate.pm type=file
-c:\perl\lib/IO/Uncompress/AnyInflate.pm type=file
-c:\perl\lib/IO/Uncompress/AnyUncompress.pm type=file
-c:\perl\lib/IO/Uncompress/Base.pm type=file
-c:\perl\lib/IO/Uncompress/Bunzip2.pm type=file
-c:\perl\lib/IO/Uncompress/Gunzip.pm type=file
-c:\perl\lib/IO/Uncompress/Inflate.pm type=file
-c:\perl\lib/IO/Uncompress/RawInflate.pm type=file
-c:\perl\lib/IO/Uncompress/Unzip.pm type=file
-c:\perl\lib/IO/Zlib.pm type=file
-c:\perl\lib/IPC/Cmd.pm type=file
-c:\perl\lib/IPC/Open2.pm type=file
-c:\perl\lib/IPC/Open3.pm type=file
-c:\perl\lib/List/Util.pm type=file
-c:\perl\lib/List/Util/PP.pm type=file
-c:\perl\lib/List/Util/XS.pm type=file
-c:\perl\lib/Locale/Constants.pm type=file
-c:\perl\lib/Locale/Constants.pod type=file
-c:\perl\lib/Locale/Country.pm type=file
-c:\perl\lib/Locale/Country.pod type=file
-c:\perl\lib/Locale/Currency.pm type=file
-c:\perl\lib/Locale/Currency.pod type=file
-c:\perl\lib/Locale/Language.pm type=file
-c:\perl\lib/Locale/Language.pod type=file
-c:\perl\lib/Locale/Maketext.pm type=file
-c:\perl\lib/Locale/Maketext.pod type=file
-c:\perl\lib/Locale/Maketext/Guts.pm type=file
-c:\perl\lib/Locale/Maketext/GutsLoader.pm type=file
-c:\perl\lib/Locale/Maketext/Simple.pm type=file
-c:\perl\lib/Locale/Maketext/TPJ13.pod type=file
-c:\perl\lib/Locale/Script.pm type=file
-c:\perl\lib/Locale/Script.pod type=file
-c:\perl\lib/Log/Message.pm type=file
-c:\perl\lib/Log/Message/Config.pm type=file
-c:\perl\lib/Log/Message/Handlers.pm type=file
-c:\perl\lib/Log/Message/Item.pm type=file
-c:\perl\lib/Log/Message/Simple.pm type=file
-c:\perl\lib/MIME/Base64.pm type=file
-c:\perl\lib/MIME/QuotedPrint.pm type=file
-c:\perl\lib/Math/BigFloat.pm type=file
-c:\perl\lib/Math/BigFloat/Trace.pm type=file
-c:\perl\lib/Math/BigInt.pm type=file
-c:\perl\lib/Math/BigInt/Calc.pm type=file
-c:\perl\lib/Math/BigInt/CalcEmu.pm type=file
-c:\perl\lib/Math/BigInt/FastCalc.pm type=file
-c:\perl\lib/Math/BigInt/Trace.pm type=file
-c:\perl\lib/Math/BigRat.pm type=file
-c:\perl\lib/Math/Complex.pm type=file
-c:\perl\lib/Math/Trig.pm type=file
-c:\perl\lib/Memoize.pm type=file
-c:\perl\lib/Memoize/AnyDBM_File.pm type=file
-c:\perl\lib/Memoize/Expire.pm type=file
-c:\perl\lib/Memoize/ExpireFile.pm type=file
-c:\perl\lib/Memoize/ExpireTest.pm type=file
-c:\perl\lib/Memoize/NDBM_File.pm type=file
-c:\perl\lib/Memoize/SDBM_File.pm type=file
-c:\perl\lib/Memoize/Storable.pm type=file
-c:\perl\lib/Module/Build.pm type=file
-c:\perl\lib/Module/Build/API.pod type=file
-c:\perl\lib/Module/Build/Authoring.pod type=file
-c:\perl\lib/Module/Build/Base.pm type=file
-c:\perl\lib/Module/Build/Bundling.pod type=file
-c:\perl\lib/Module/Build/Compat.pm type=file
-c:\perl\lib/Module/Build/Config.pm type=file
-c:\perl\lib/Module/Build/ConfigData.pm type=file
-c:\perl\lib/Module/Build/Cookbook.pm type=file
-c:\perl\lib/Module/Build/Dumper.pm type=file
-c:\perl\lib/Module/Build/ModuleInfo.pm type=file
-c:\perl\lib/Module/Build/Notes.pm type=file
-c:\perl\lib/Module/Build/PPMMaker.pm type=file
-c:\perl\lib/Module/Build/Platform/Amiga.pm type=file
-c:\perl\lib/Module/Build/Platform/Default.pm type=file
-c:\perl\lib/Module/Build/Platform/EBCDIC.pm type=file
-c:\perl\lib/Module/Build/Platform/MPEiX.pm type=file
-c:\perl\lib/Module/Build/Platform/MacOS.pm type=file
-c:\perl\lib/Module/Build/Platform/RiscOS.pm type=file
-c:\perl\lib/Module/Build/Platform/Unix.pm type=file
-c:\perl\lib/Module/Build/Platform/VMS.pm type=file
-c:\perl\lib/Module/Build/Platform/VOS.pm type=file
-c:\perl\lib/Module/Build/Platform/Windows.pm type=file
-c:\perl\lib/Module/Build/Platform/aix.pm type=file
-c:\perl\lib/Module/Build/Platform/cygwin.pm type=file
-c:\perl\lib/Module/Build/Platform/darwin.pm type=file
-c:\perl\lib/Module/Build/Platform/os2.pm type=file
-c:\perl\lib/Module/Build/PodParser.pm type=file
-c:\perl\lib/Module/Build/Version.pm type=file
-c:\perl\lib/Module/Build/YAML.pm type=file
-c:\perl\lib/Module/CoreList.pm type=file
-c:\perl\lib/Module/Load.pm type=file
-c:\perl\lib/Module/Load/Conditional.pm type=file
-c:\perl\lib/Module/Loaded.pm type=file
-c:\perl\lib/Module/Pluggable.pm type=file
-c:\perl\lib/Module/Pluggable/Object.pm type=file
-c:\perl\lib/NEXT.pm type=file
-c:\perl\lib/Net/Cmd.pm type=file
-c:\perl\lib/Net/Config.pm type=file
-c:\perl\lib/Net/Domain.pm type=file
-c:\perl\lib/Net/FTP.pm type=file
-c:\perl\lib/Net/FTP/A.pm type=file
-c:\perl\lib/Net/FTP/E.pm type=file
-c:\perl\lib/Net/FTP/I.pm type=file
-c:\perl\lib/Net/FTP/L.pm type=file
-c:\perl\lib/Net/FTP/dataconn.pm type=file
-c:\perl\lib/Net/NNTP.pm type=file
-c:\perl\lib/Net/Netrc.pm type=file
-c:\perl\lib/Net/POP3.pm type=file
-c:\perl\lib/Net/Ping.pm type=file
-c:\perl\lib/Net/SMTP.pm type=file
-c:\perl\lib/Net/Time.pm type=file
-c:\perl\lib/Net/hostent.pm type=file
-c:\perl\lib/Net/libnetFAQ.pod type=file
-c:\perl\lib/Net/netent.pm type=file
-c:\perl\lib/Net/protoent.pm type=file
-c:\perl\lib/Net/servent.pm type=file
-c:\perl\lib/O.pm type=file
-c:\perl\lib/Object/Accessor.pm type=file
-c:\perl\lib/Opcode.pm type=file
-c:\perl\lib/POSIX.pm type=file
-c:\perl\lib/POSIX.pod type=file
-c:\perl\lib/Package/Constants.pm type=file
-c:\perl\lib/Params/Check.pm type=file
-c:\perl\lib/Parse/CPAN/Meta.pm type=file
-c:\perl\lib/PerlIO.pm type=file
-c:\perl\lib/PerlIO/encoding.pm type=file
-c:\perl\lib/PerlIO/scalar.pm type=file
-c:\perl\lib/PerlIO/via.pm type=file
-c:\perl\lib/PerlIO/via/QuotedPrint.pm type=file
-c:\perl\lib/Pod/Checker.pm type=file
-c:\perl\lib/Pod/Escapes.pm type=file
-c:\perl\lib/Pod/Find.pm type=file
-c:\perl\lib/Pod/Functions.pm type=file
-c:\perl\lib/Pod/Html.pm type=file
-c:\perl\lib/Pod/InputObjects.pm type=file
-c:\perl\lib/Pod/LaTeX.pm type=file
-c:\perl\lib/Pod/Man.pm type=file
-c:\perl\lib/Pod/ParseLink.pm type=file
-c:\perl\lib/Pod/ParseUtils.pm type=file
-c:\perl\lib/Pod/Parser.pm type=file
-c:\perl\lib/Pod/Perldoc.pm type=file
-c:\perl\lib/Pod/Perldoc/BaseTo.pm type=file
-c:\perl\lib/Pod/Perldoc/GetOptsOO.pm type=file
-c:\perl\lib/Pod/Perldoc/ToChecker.pm type=file
-c:\perl\lib/Pod/Perldoc/ToMan.pm type=file
-c:\perl\lib/Pod/Perldoc/ToNroff.pm type=file
-c:\perl\lib/Pod/Perldoc/ToPod.pm type=file
-c:\perl\lib/Pod/Perldoc/ToRtf.pm type=file
-c:\perl\lib/Pod/Perldoc/ToText.pm type=file
-c:\perl\lib/Pod/Perldoc/ToTk.pm type=file
-c:\perl\lib/Pod/Perldoc/ToXml.pm type=file
-c:\perl\lib/Pod/PlainText.pm type=file
-c:\perl\lib/Pod/Plainer.pm type=file
-c:\perl\lib/Pod/Select.pm type=file
-c:\perl\lib/Pod/Simple.pm type=file
-c:\perl\lib/Pod/Simple.pod type=file
-c:\perl\lib/Pod/Simple/BlackBox.pm type=file
-c:\perl\lib/Pod/Simple/Checker.pm type=file
-c:\perl\lib/Pod/Simple/Debug.pm type=file
-c:\perl\lib/Pod/Simple/DumpAsText.pm type=file
-c:\perl\lib/Pod/Simple/DumpAsXML.pm type=file
-c:\perl\lib/Pod/Simple/HTML.pm type=file
-c:\perl\lib/Pod/Simple/HTMLBatch.pm type=file
-c:\perl\lib/Pod/Simple/HTMLLegacy.pm type=file
-c:\perl\lib/Pod/Simple/LinkSection.pm type=file
-c:\perl\lib/Pod/Simple/Methody.pm type=file
-c:\perl\lib/Pod/Simple/Progress.pm type=file
-c:\perl\lib/Pod/Simple/PullParser.pm type=file
-c:\perl\lib/Pod/Simple/PullParserEndToken.pm type=file
-c:\perl\lib/Pod/Simple/PullParserStartToken.pm type=file
-c:\perl\lib/Pod/Simple/PullParserTextToken.pm type=file
-c:\perl\lib/Pod/Simple/PullParserToken.pm type=file
-c:\perl\lib/Pod/Simple/RTF.pm type=file
-c:\perl\lib/Pod/Simple/Search.pm type=file
-c:\perl\lib/Pod/Simple/SimpleTree.pm type=file
-c:\perl\lib/Pod/Simple/Subclassing.pod type=file
-c:\perl\lib/Pod/Simple/Text.pm type=file
-c:\perl\lib/Pod/Simple/TextContent.pm type=file
-c:\perl\lib/Pod/Simple/TiedOutFH.pm type=file
-c:\perl\lib/Pod/Simple/Transcode.pm type=file
-c:\perl\lib/Pod/Simple/TranscodeDumb.pm type=file
-c:\perl\lib/Pod/Simple/TranscodeSmart.pm type=file
-c:\perl\lib/Pod/Simple/XHTML.pm type=file
-c:\perl\lib/Pod/Simple/XMLOutStream.pm type=file
-c:\perl\lib/Pod/Text.pm type=file
-c:\perl\lib/Pod/Text/Color.pm type=file
-c:\perl\lib/Pod/Text/Overstrike.pm type=file
-c:\perl\lib/Pod/Text/Termcap.pm type=file
-c:\perl\lib/Pod/Usage.pm type=file
-c:\perl\lib/SDBM_File.pm type=file
-c:\perl\lib/Safe.pm type=file
-c:\perl\lib/Scalar/Util.pm type=file
-c:\perl\lib/Scalar/Util/PP.pm type=file
-c:\perl\lib/Search/Dict.pm type=file
-c:\perl\lib/SelectSaver.pm type=file
-c:\perl\lib/SelfLoader.pm type=file
-c:\perl\lib/Shell.pm type=file
-c:\perl\lib/Socket.pm type=file
-c:\perl\lib/Storable.pm type=file
-c:\perl\lib/Switch.pm type=file
-c:\perl\lib/Symbol.pm type=file
-c:\perl\lib/Sys/Hostname.pm type=file
-c:\perl\lib/TAP/Base.pm type=file
-c:\perl\lib/TAP/Formatter/Base.pm type=file
-c:\perl\lib/TAP/Formatter/Color.pm type=file
-c:\perl\lib/TAP/Formatter/Console.pm type=file
-c:\perl\lib/TAP/Formatter/Console/ParallelSession.pm type=file
-c:\perl\lib/TAP/Formatter/Console/Session.pm type=file
-c:\perl\lib/TAP/Formatter/File.pm type=file
-c:\perl\lib/TAP/Formatter/File/Session.pm type=file
-c:\perl\lib/TAP/Formatter/Session.pm type=file
-c:\perl\lib/TAP/Harness.pm type=file
-c:\perl\lib/TAP/Object.pm type=file
-c:\perl\lib/TAP/Parser.pm type=file
-c:\perl\lib/TAP/Parser/Aggregator.pm type=file
-c:\perl\lib/TAP/Parser/Grammar.pm type=file
-c:\perl\lib/TAP/Parser/Iterator.pm type=file
-c:\perl\lib/TAP/Parser/Iterator/Array.pm type=file
-c:\perl\lib/TAP/Parser/Iterator/Process.pm type=file
-c:\perl\lib/TAP/Parser/Iterator/Stream.pm type=file
-c:\perl\lib/TAP/Parser/IteratorFactory.pm type=file
-c:\perl\lib/TAP/Parser/Multiplexer.pm type=file
-c:\perl\lib/TAP/Parser/Result.pm type=file
-c:\perl\lib/TAP/Parser/Result/Bailout.pm type=file
-c:\perl\lib/TAP/Parser/Result/Comment.pm type=file
-c:\perl\lib/TAP/Parser/Result/Plan.pm type=file
-c:\perl\lib/TAP/Parser/Result/Pragma.pm type=file
-c:\perl\lib/TAP/Parser/Result/Test.pm type=file
-c:\perl\lib/TAP/Parser/Result/Unknown.pm type=file
-c:\perl\lib/TAP/Parser/Result/Version.pm type=file
-c:\perl\lib/TAP/Parser/Result/YAML.pm type=file
-c:\perl\lib/TAP/Parser/ResultFactory.pm type=file
-c:\perl\lib/TAP/Parser/Scheduler.pm type=file
-c:\perl\lib/TAP/Parser/Scheduler/Job.pm type=file
-c:\perl\lib/TAP/Parser/Scheduler/Spinner.pm type=file
-c:\perl\lib/TAP/Parser/Source.pm type=file
-c:\perl\lib/TAP/Parser/Source/Perl.pm type=file
-c:\perl\lib/TAP/Parser/Utils.pm type=file
-c:\perl\lib/TAP/Parser/YAMLish/Reader.pm type=file
-c:\perl\lib/TAP/Parser/YAMLish/Writer.pm type=file
-c:\perl\lib/Term/ANSIColor.pm type=file
-c:\perl\lib/Term/Cap.pm type=file
-c:\perl\lib/Term/Complete.pm type=file
-c:\perl\lib/Term/ReadLine.pm type=file
-c:\perl\lib/Term/UI.pm type=file
-c:\perl\lib/Term/UI/History.pm type=file
-c:\perl\lib/Test.pm type=file
-c:\perl\lib/Test/Builder.pm type=file
-c:\perl\lib/Test/Builder/Module.pm type=file
-c:\perl\lib/Test/Builder/Tester.pm type=file
-c:\perl\lib/Test/Builder/Tester/Color.pm type=file
-c:\perl\lib/Test/Harness.pm type=file
-c:\perl\lib/Test/More.pm type=file
-c:\perl\lib/Test/Simple.pm type=file
-c:\perl\lib/Test/Tutorial.pod type=file
-c:\perl\lib/Text/Abbrev.pm type=file
-c:\perl\lib/Text/Balanced.pm type=file
-c:\perl\lib/Text/ParseWords.pm type=file
-c:\perl\lib/Text/Soundex.pm type=file
-c:\perl\lib/Text/Tabs.pm type=file
-c:\perl\lib/Text/Wrap.pm type=file
-c:\perl\lib/Thread.pm type=file
-c:\perl\lib/Thread/Queue.pm type=file
-c:\perl\lib/Thread/Semaphore.pm type=file
-c:\perl\lib/Tie/Array.pm type=file
-c:\perl\lib/Tie/File.pm type=file
-c:\perl\lib/Tie/Handle.pm type=file
-c:\perl\lib/Tie/Hash.pm type=file
-c:\perl\lib/Tie/Hash/NamedCapture.pm type=file
-c:\perl\lib/Tie/Memoize.pm type=file
-c:\perl\lib/Tie/RefHash.pm type=file
-c:\perl\lib/Tie/Scalar.pm type=file
-c:\perl\lib/Tie/StdHandle.pm type=file
-c:\perl\lib/Tie/SubstrHash.pm type=file
-c:\perl\lib/Time/HiRes.pm type=file
-c:\perl\lib/Time/Local.pm type=file
-c:\perl\lib/Time/Piece.pm type=file
-c:\perl\lib/Time/Seconds.pm type=file
-c:\perl\lib/Time/gmtime.pm type=file
-c:\perl\lib/Time/localtime.pm type=file
-c:\perl\lib/Time/tm.pm type=file
-c:\perl\lib/UNIVERSAL.pm type=file
-c:\perl\lib/Unicode/Collate.pm type=file
-c:\perl\lib/Unicode/Collate/allkeys.txt type=file
-c:\perl\lib/Unicode/Collate/keys.txt type=file
-c:\perl\lib/Unicode/Normalize.pm type=file
-c:\perl\lib/Unicode/UCD.pm type=file
-c:\perl\lib/User/grent.pm type=file
-c:\perl\lib/User/pwent.pm type=file
-c:\perl\lib/Win32.pm type=file
-c:\perl\lib/Win32API/File.pm type=file
-c:\perl\lib/Win32API/File/cFile.pc type=file
-c:\perl\lib/Win32CORE.pm type=file
-c:\perl\lib/XSLoader.pm type=file
-c:\perl\lib/abbrev.pl type=file
-c:\perl\lib/assert.pl type=file
-c:\perl\lib/attributes.pm type=file
-c:\perl\lib/auto/B/B.dll type=file
-c:\perl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file
-c:\perl\lib/auto/Compress/Raw/Bzip2/autosplit.ix type=file
-c:\perl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file
-c:\perl\lib/auto/Compress/Raw/Zlib/autosplit.ix type=file
-c:\perl\lib/auto/Compress/Zlib/autosplit.ix type=file
-c:\perl\lib/auto/Cwd/Cwd.dll type=file
-c:\perl\lib/auto/Data/Dumper/Dumper.dll type=file
-c:\perl\lib/auto/Devel/DProf/DProf.dll type=file
-c:\perl\lib/auto/Devel/PPPort/PPPort.dll type=file
-c:\perl\lib/auto/Devel/Peek/Peek.dll type=file
-c:\perl\lib/auto/Digest/MD5/MD5.dll type=file
-c:\perl\lib/auto/Digest/SHA/SHA.dll type=file
-c:\perl\lib/auto/DynaLoader/autosplit.ix type=file
-c:\perl\lib/auto/DynaLoader/dl_expandspec.al type=file
-c:\perl\lib/auto/DynaLoader/dl_find_symbol_anywhere.al type=file
-c:\perl\lib/auto/DynaLoader/dl_findfile.al type=file
-c:\perl\lib/auto/Encode/Byte/Byte.dll type=file
-c:\perl\lib/auto/Encode/CN/CN.dll type=file
-c:\perl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file
-c:\perl\lib/auto/Encode/Encode.dll type=file
-c:\perl\lib/auto/Encode/JP/JP.dll type=file
-c:\perl\lib/auto/Encode/KR/KR.dll type=file
-c:\perl\lib/auto/Encode/Symbol/Symbol.dll type=file
-c:\perl\lib/auto/Encode/TW/TW.dll type=file
-c:\perl\lib/auto/Encode/Unicode/Unicode.dll type=file
-c:\perl\lib/auto/Fcntl/Fcntl.dll type=file
-c:\perl\lib/auto/File/Glob/Glob.dll type=file
-c:\perl\lib/auto/Filter/Util/Call/Call.dll type=file
-c:\perl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file
-c:\perl\lib/auto/Hash/Util/Util.dll type=file
-c:\perl\lib/auto/IO/IO.dll type=file
-c:\perl\lib/auto/List/Util/Util.dll type=file
-c:\perl\lib/auto/MIME/Base64/Base64.dll type=file
-c:\perl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
-c:\perl\lib/auto/Opcode/Opcode.dll type=file
-c:\perl\lib/auto/POSIX/POSIX.dll type=file
-c:\perl\lib/auto/POSIX/SigAction/flags.al type=file
-c:\perl\lib/auto/POSIX/SigAction/handler.al type=file
-c:\perl\lib/auto/POSIX/SigAction/mask.al type=file
-c:\perl\lib/auto/POSIX/SigAction/new.al type=file
-c:\perl\lib/auto/POSIX/SigAction/safe.al type=file
-c:\perl\lib/auto/POSIX/SigRt/CLEAR.al type=file
-c:\perl\lib/auto/POSIX/SigRt/DELETE.al type=file
-c:\perl\lib/auto/POSIX/SigRt/EXISTS.al type=file
-c:\perl\lib/auto/POSIX/SigRt/FETCH.al type=file
-c:\perl\lib/auto/POSIX/SigRt/SCALAR.al type=file
-c:\perl\lib/auto/POSIX/SigRt/STORE.al type=file
-c:\perl\lib/auto/POSIX/SigRt/_check.al type=file
-c:\perl\lib/auto/POSIX/SigRt/_croak.al type=file
-c:\perl\lib/auto/POSIX/SigRt/_exist.al type=file
-c:\perl\lib/auto/POSIX/SigRt/_getsig.al type=file
-c:\perl\lib/auto/POSIX/SigRt/_init.al type=file
-c:\perl\lib/auto/POSIX/SigRt/new.al type=file
-c:\perl\lib/auto/POSIX/abs.al type=file
-c:\perl\lib/auto/POSIX/alarm.al type=file
-c:\perl\lib/auto/POSIX/assert.al type=file
-c:\perl\lib/auto/POSIX/atan2.al type=file
-c:\perl\lib/auto/POSIX/atexit.al type=file
-c:\perl\lib/auto/POSIX/atof.al type=file
-c:\perl\lib/auto/POSIX/atoi.al type=file
-c:\perl\lib/auto/POSIX/atol.al type=file
-c:\perl\lib/auto/POSIX/autosplit.ix type=file
-c:\perl\lib/auto/POSIX/bsearch.al type=file
-c:\perl\lib/auto/POSIX/calloc.al type=file
-c:\perl\lib/auto/POSIX/chdir.al type=file
-c:\perl\lib/auto/POSIX/chmod.al type=file
-c:\perl\lib/auto/POSIX/chown.al type=file
-c:\perl\lib/auto/POSIX/clearerr.al type=file
-c:\perl\lib/auto/POSIX/closedir.al type=file
-c:\perl\lib/auto/POSIX/cos.al type=file
-c:\perl\lib/auto/POSIX/creat.al type=file
-c:\perl\lib/auto/POSIX/div.al type=file
-c:\perl\lib/auto/POSIX/errno.al type=file
-c:\perl\lib/auto/POSIX/execl.al type=file
-c:\perl\lib/auto/POSIX/execle.al type=file
-c:\perl\lib/auto/POSIX/execlp.al type=file
-c:\perl\lib/auto/POSIX/execv.al type=file
-c:\perl\lib/auto/POSIX/execve.al type=file
-c:\perl\lib/auto/POSIX/execvp.al type=file
-c:\perl\lib/auto/POSIX/exit.al type=file
-c:\perl\lib/auto/POSIX/exp.al type=file
-c:\perl\lib/auto/POSIX/fabs.al type=file
-c:\perl\lib/auto/POSIX/fclose.al type=file
-c:\perl\lib/auto/POSIX/fcntl.al type=file
-c:\perl\lib/auto/POSIX/fdopen.al type=file
-c:\perl\lib/auto/POSIX/feof.al type=file
-c:\perl\lib/auto/POSIX/ferror.al type=file
-c:\perl\lib/auto/POSIX/fflush.al type=file
-c:\perl\lib/auto/POSIX/fgetc.al type=file
-c:\perl\lib/auto/POSIX/fgetpos.al type=file
-c:\perl\lib/auto/POSIX/fgets.al type=file
-c:\perl\lib/auto/POSIX/fileno.al type=file
-c:\perl\lib/auto/POSIX/fopen.al type=file
-c:\perl\lib/auto/POSIX/fork.al type=file
-c:\perl\lib/auto/POSIX/fprintf.al type=file
-c:\perl\lib/auto/POSIX/fputc.al type=file
-c:\perl\lib/auto/POSIX/fputs.al type=file
-c:\perl\lib/auto/POSIX/fread.al type=file
-c:\perl\lib/auto/POSIX/free.al type=file
-c:\perl\lib/auto/POSIX/freopen.al type=file
-c:\perl\lib/auto/POSIX/fscanf.al type=file
-c:\perl\lib/auto/POSIX/fseek.al type=file
-c:\perl\lib/auto/POSIX/fsetpos.al type=file
-c:\perl\lib/auto/POSIX/fstat.al type=file
-c:\perl\lib/auto/POSIX/fsync.al type=file
-c:\perl\lib/auto/POSIX/ftell.al type=file
-c:\perl\lib/auto/POSIX/fwrite.al type=file
-c:\perl\lib/auto/POSIX/getc.al type=file
-c:\perl\lib/auto/POSIX/getchar.al type=file
-c:\perl\lib/auto/POSIX/getegid.al type=file
-c:\perl\lib/auto/POSIX/getenv.al type=file
-c:\perl\lib/auto/POSIX/geteuid.al type=file
-c:\perl\lib/auto/POSIX/getgid.al type=file
-c:\perl\lib/auto/POSIX/getgrgid.al type=file
-c:\perl\lib/auto/POSIX/getgrnam.al type=file
-c:\perl\lib/auto/POSIX/getgroups.al type=file
-c:\perl\lib/auto/POSIX/getlogin.al type=file
-c:\perl\lib/auto/POSIX/getpgrp.al type=file
-c:\perl\lib/auto/POSIX/getpid.al type=file
-c:\perl\lib/auto/POSIX/getppid.al type=file
-c:\perl\lib/auto/POSIX/getpwnam.al type=file
-c:\perl\lib/auto/POSIX/getpwuid.al type=file
-c:\perl\lib/auto/POSIX/gets.al type=file
-c:\perl\lib/auto/POSIX/getuid.al type=file
-c:\perl\lib/auto/POSIX/gmtime.al type=file
-c:\perl\lib/auto/POSIX/isatty.al type=file
-c:\perl\lib/auto/POSIX/kill.al type=file
-c:\perl\lib/auto/POSIX/labs.al type=file
-c:\perl\lib/auto/POSIX/ldiv.al type=file
-c:\perl\lib/auto/POSIX/link.al type=file
-c:\perl\lib/auto/POSIX/load_imports.al type=file
-c:\perl\lib/auto/POSIX/localtime.al type=file
-c:\perl\lib/auto/POSIX/log.al type=file
-c:\perl\lib/auto/POSIX/longjmp.al type=file
-c:\perl\lib/auto/POSIX/malloc.al type=file
-c:\perl\lib/auto/POSIX/memchr.al type=file
-c:\perl\lib/auto/POSIX/memcmp.al type=file
-c:\perl\lib/auto/POSIX/memcpy.al type=file
-c:\perl\lib/auto/POSIX/memmove.al type=file
-c:\perl\lib/auto/POSIX/memset.al type=file
-c:\perl\lib/auto/POSIX/mkdir.al type=file
-c:\perl\lib/auto/POSIX/offsetof.al type=file
-c:\perl\lib/auto/POSIX/opendir.al type=file
-c:\perl\lib/auto/POSIX/perror.al type=file
-c:\perl\lib/auto/POSIX/pow.al type=file
-c:\perl\lib/auto/POSIX/printf.al type=file
-c:\perl\lib/auto/POSIX/putc.al type=file
-c:\perl\lib/auto/POSIX/putchar.al type=file
-c:\perl\lib/auto/POSIX/puts.al type=file
-c:\perl\lib/auto/POSIX/qsort.al type=file
-c:\perl\lib/auto/POSIX/raise.al type=file
-c:\perl\lib/auto/POSIX/rand.al type=file
-c:\perl\lib/auto/POSIX/readdir.al type=file
-c:\perl\lib/auto/POSIX/realloc.al type=file
-c:\perl\lib/auto/POSIX/redef.al type=file
-c:\perl\lib/auto/POSIX/remove.al type=file
-c:\perl\lib/auto/POSIX/rename.al type=file
-c:\perl\lib/auto/POSIX/rewind.al type=file
-c:\perl\lib/auto/POSIX/rewinddir.al type=file
-c:\perl\lib/auto/POSIX/rmdir.al type=file
-c:\perl\lib/auto/POSIX/scanf.al type=file
-c:\perl\lib/auto/POSIX/setbuf.al type=file
-c:\perl\lib/auto/POSIX/setjmp.al type=file
-c:\perl\lib/auto/POSIX/setvbuf.al type=file
-c:\perl\lib/auto/POSIX/siglongjmp.al type=file
-c:\perl\lib/auto/POSIX/sigsetjmp.al type=file
-c:\perl\lib/auto/POSIX/sin.al type=file
-c:\perl\lib/auto/POSIX/sleep.al type=file
-c:\perl\lib/auto/POSIX/sprintf.al type=file
-c:\perl\lib/auto/POSIX/sqrt.al type=file
-c:\perl\lib/auto/POSIX/srand.al type=file
-c:\perl\lib/auto/POSIX/sscanf.al type=file
-c:\perl\lib/auto/POSIX/stat.al type=file
-c:\perl\lib/auto/POSIX/strcat.al type=file
-c:\perl\lib/auto/POSIX/strchr.al type=file
-c:\perl\lib/auto/POSIX/strcmp.al type=file
-c:\perl\lib/auto/POSIX/strcpy.al type=file
-c:\perl\lib/auto/POSIX/strcspn.al type=file
-c:\perl\lib/auto/POSIX/strerror.al type=file
-c:\perl\lib/auto/POSIX/strlen.al type=file
-c:\perl\lib/auto/POSIX/strncat.al type=file
-c:\perl\lib/auto/POSIX/strncmp.al type=file
-c:\perl\lib/auto/POSIX/strncpy.al type=file
-c:\perl\lib/auto/POSIX/strpbrk.al type=file
-c:\perl\lib/auto/POSIX/strrchr.al type=file
-c:\perl\lib/auto/POSIX/strspn.al type=file
-c:\perl\lib/auto/POSIX/strstr.al type=file
-c:\perl\lib/auto/POSIX/strtok.al type=file
-c:\perl\lib/auto/POSIX/system.al type=file
-c:\perl\lib/auto/POSIX/time.al type=file
-c:\perl\lib/auto/POSIX/tmpfile.al type=file
-c:\perl\lib/auto/POSIX/tolower.al type=file
-c:\perl\lib/auto/POSIX/toupper.al type=file
-c:\perl\lib/auto/POSIX/umask.al type=file
-c:\perl\lib/auto/POSIX/ungetc.al type=file
-c:\perl\lib/auto/POSIX/unimpl.al type=file
-c:\perl\lib/auto/POSIX/unlink.al type=file
-c:\perl\lib/auto/POSIX/usage.al type=file
-c:\perl\lib/auto/POSIX/utime.al type=file
-c:\perl\lib/auto/POSIX/vfprintf.al type=file
-c:\perl\lib/auto/POSIX/vprintf.al type=file
-c:\perl\lib/auto/POSIX/vsprintf.al type=file
-c:\perl\lib/auto/POSIX/wait.al type=file
-c:\perl\lib/auto/POSIX/waitpid.al type=file
-c:\perl\lib/auto/PerlIO/encoding/encoding.dll type=file
-c:\perl\lib/auto/PerlIO/scalar/scalar.dll type=file
-c:\perl\lib/auto/PerlIO/via/via.dll type=file
-c:\perl\lib/auto/SDBM_File/SDBM_File.dll type=file
-c:\perl\lib/auto/Socket/Socket.dll type=file
-c:\perl\lib/auto/Storable/BIN_VERSION_NV.al type=file
-c:\perl\lib/auto/Storable/BIN_WRITE_VERSION_NV.al type=file
-c:\perl\lib/auto/Storable/CAN_FLOCK.al type=file
-c:\perl\lib/auto/Storable/Storable.dll type=file
-c:\perl\lib/auto/Storable/_freeze.al type=file
-c:\perl\lib/auto/Storable/_retrieve.al type=file
-c:\perl\lib/auto/Storable/_store.al type=file
-c:\perl\lib/auto/Storable/_store_fd.al type=file
-c:\perl\lib/auto/Storable/autosplit.ix type=file
-c:\perl\lib/auto/Storable/fd_retrieve.al type=file
-c:\perl\lib/auto/Storable/file_magic.al type=file
-c:\perl\lib/auto/Storable/freeze.al type=file
-c:\perl\lib/auto/Storable/lock_nstore.al type=file
-c:\perl\lib/auto/Storable/lock_retrieve.al type=file
-c:\perl\lib/auto/Storable/lock_store.al type=file
-c:\perl\lib/auto/Storable/logcarp.al type=file
-c:\perl\lib/auto/Storable/logcroak.al type=file
-c:\perl\lib/auto/Storable/nfreeze.al type=file
-c:\perl\lib/auto/Storable/nstore.al type=file
-c:\perl\lib/auto/Storable/nstore_fd.al type=file
-c:\perl\lib/auto/Storable/read_magic.al type=file
-c:\perl\lib/auto/Storable/retrieve.al type=file
-c:\perl\lib/auto/Storable/show_file_magic.al type=file
-c:\perl\lib/auto/Storable/store.al type=file
-c:\perl\lib/auto/Storable/store_fd.al type=file
-c:\perl\lib/auto/Storable/thaw.al type=file
-c:\perl\lib/auto/Sys/Hostname/Hostname.dll type=file
-c:\perl\lib/auto/Sys/Hostname/autosplit.ix type=file
-c:\perl\lib/auto/Text/Soundex/Soundex.dll type=file
-c:\perl\lib/auto/Time/HiRes/HiRes.dll type=file
-c:\perl\lib/auto/Time/Piece/Piece.dll type=file
-c:\perl\lib/auto/Unicode/Normalize/Normalize.dll type=file
-c:\perl\lib/auto/Win32/Win32.dll type=file
-c:\perl\lib/auto/Win32API/File/File.dll type=file
-c:\perl\lib/auto/Win32CORE/extralibs.ld type=file
-c:\perl\lib/auto/attributes/attributes.dll type=file
-c:\perl\lib/auto/mro/mro.dll type=file
-c:\perl\lib/auto/re/re.dll type=file
-c:\perl\lib/auto/sdbm/extralibs.ld type=file
-c:\perl\lib/auto/threads/shared/shared.dll type=file
-c:\perl\lib/auto/threads/threads.dll type=file
-c:\perl\lib/autodie.pm type=file
-c:\perl\lib/autodie/exception.pm type=file
-c:\perl\lib/autodie/exception/system.pm type=file
-c:\perl\lib/autodie/hints.pm type=file
-c:\perl\lib/autouse.pm type=file
-c:\perl\lib/base.pm type=file
-c:\perl\lib/bigfloat.pl type=file
-c:\perl\lib/bigint.pl type=file
-c:\perl\lib/bigint.pm type=file
-c:\perl\lib/bignum.pm type=file
-c:\perl\lib/bigrat.pl type=file
-c:\perl\lib/bigrat.pm type=file
-c:\perl\lib/blib.pm type=file
-c:\perl\lib/bytes.pm type=file
-c:\perl\lib/bytes_heavy.pl type=file
-c:\perl\lib/cacheout.pl type=file
-c:\perl\lib/charnames.pm type=file
-c:\perl\lib/complete.pl type=file
-c:\perl\lib/constant.pm type=file
-c:\perl\lib/ctime.pl type=file
-c:\perl\lib/deprecate.pm type=file
-c:\perl\lib/diagnostics.pm type=file
-c:\perl\lib/dotsh.pl type=file
-c:\perl\lib/dumpvar.pl type=file
-c:\perl\lib/encoding.pm type=file
-c:\perl\lib/encoding/warnings.pm type=file
-c:\perl\lib/exceptions.pl type=file
-c:\perl\lib/fastcwd.pl type=file
-c:\perl\lib/feature.pm type=file
-c:\perl\lib/fields.pm type=file
-c:\perl\lib/filetest.pm type=file
-c:\perl\lib/find.pl type=file
-c:\perl\lib/finddepth.pl type=file
-c:\perl\lib/flush.pl type=file
-c:\perl\lib/getcwd.pl type=file
-c:\perl\lib/getopt.pl type=file
-c:\perl\lib/getopts.pl type=file
-c:\perl\lib/hostname.pl type=file
-c:\perl\lib/if.pm type=file
-c:\perl\lib/importenv.pl type=file
-c:\perl\lib/inc/latest.pm type=file
-c:\perl\lib/inc/latest/private.pm type=file
-c:\perl\lib/integer.pm type=file
-c:\perl\lib/less.pm type=file
-c:\perl\lib/lib.pm type=file
-c:\perl\lib/locale.pm type=file
-c:\perl\lib/look.pl type=file
-c:\perl\lib/mro.pm type=file
-c:\perl\lib/newgetopt.pl type=file
-c:\perl\lib/open.pm type=file
-c:\perl\lib/open2.pl type=file
-c:\perl\lib/open3.pl type=file
-c:\perl\lib/ops.pm type=file
-c:\perl\lib/overload.pm type=file
-c:\perl\lib/overload/numbers.pm type=file
-c:\perl\lib/overloading.pm type=file
-c:\perl\lib/parent.pm type=file
-c:\perl\lib/perl5db.pl type=file
-c:\perl\lib/pods/a2p.pod type=file
-c:\perl\lib/pods/perl.pod type=file
-c:\perl\lib/pods/perl5004delta.pod type=file
-c:\perl\lib/pods/perl5005delta.pod type=file
-c:\perl\lib/pods/perl5100delta.pod type=file
-c:\perl\lib/pods/perl5101delta.pod type=file
-c:\perl\lib/pods/perl5110delta.pod type=file
-c:\perl\lib/pods/perl5111delta.pod type=file
-c:\perl\lib/pods/perl5112delta.pod type=file
-c:\perl\lib/pods/perl5113delta.pod type=file
-c:\perl\lib/pods/perl5114delta.pod type=file
-c:\perl\lib/pods/perl5115delta.pod type=file
-c:\perl\lib/pods/perl5120delta.pod type=file
-c:\perl\lib/pods/perl5121delta.pod type=file
-c:\perl\lib/pods/perl5122delta.pod type=file
-c:\perl\lib/pods/perl5123delta.pod type=file
-c:\perl\lib/pods/perl561delta.pod type=file
-c:\perl\lib/pods/perl56delta.pod type=file
-c:\perl\lib/pods/perl570delta.pod type=file
-c:\perl\lib/pods/perl571delta.pod type=file
-c:\perl\lib/pods/perl572delta.pod type=file
-c:\perl\lib/pods/perl573delta.pod type=file
-c:\perl\lib/pods/perl581delta.pod type=file
-c:\perl\lib/pods/perl582delta.pod type=file
-c:\perl\lib/pods/perl583delta.pod type=file
-c:\perl\lib/pods/perl584delta.pod type=file
-c:\perl\lib/pods/perl585delta.pod type=file
-c:\perl\lib/pods/perl586delta.pod type=file
-c:\perl\lib/pods/perl587delta.pod type=file
-c:\perl\lib/pods/perl588delta.pod type=file
-c:\perl\lib/pods/perl589delta.pod type=file
-c:\perl\lib/pods/perl58delta.pod type=file
-c:\perl\lib/pods/perl590delta.pod type=file
-c:\perl\lib/pods/perl591delta.pod type=file
-c:\perl\lib/pods/perl592delta.pod type=file
-c:\perl\lib/pods/perl593delta.pod type=file
-c:\perl\lib/pods/perl594delta.pod type=file
-c:\perl\lib/pods/perl595delta.pod type=file
-c:\perl\lib/pods/perlaix.pod type=file
-c:\perl\lib/pods/perlamiga.pod type=file
-c:\perl\lib/pods/perlapi.pod type=file
-c:\perl\lib/pods/perlapio.pod type=file
-c:\perl\lib/pods/perlapollo.pod type=file
-c:\perl\lib/pods/perlartistic.pod type=file
-c:\perl\lib/pods/perlbeos.pod type=file
-c:\perl\lib/pods/perlbook.pod type=file
-c:\perl\lib/pods/perlboot.pod type=file
-c:\perl\lib/pods/perlbot.pod type=file
-c:\perl\lib/pods/perlbs2000.pod type=file
-c:\perl\lib/pods/perlcall.pod type=file
-c:\perl\lib/pods/perlce.pod type=file
-c:\perl\lib/pods/perlcheat.pod type=file
-c:\perl\lib/pods/perlclib.pod type=file
-c:\perl\lib/pods/perlcn.pod type=file
-c:\perl\lib/pods/perlcommunity.pod type=file
-c:\perl\lib/pods/perlcompile.pod type=file
-c:\perl\lib/pods/perlcygwin.pod type=file
-c:\perl\lib/pods/perldata.pod type=file
-c:\perl\lib/pods/perldbmfilter.pod type=file
-c:\perl\lib/pods/perldebguts.pod type=file
-c:\perl\lib/pods/perldebtut.pod type=file
-c:\perl\lib/pods/perldebug.pod type=file
-c:\perl\lib/pods/perldelta.pod type=file
-c:\perl\lib/pods/perldgux.pod type=file
-c:\perl\lib/pods/perldiag.pod type=file
-c:\perl\lib/pods/perldoc.pod type=file
-c:\perl\lib/pods/perldos.pod type=file
-c:\perl\lib/pods/perldsc.pod type=file
-c:\perl\lib/pods/perlebcdic.pod type=file
-c:\perl\lib/pods/perlembed.pod type=file
-c:\perl\lib/pods/perlepoc.pod type=file
-c:\perl\lib/pods/perlfaq.pod type=file
-c:\perl\lib/pods/perlfaq1.pod type=file
-c:\perl\lib/pods/perlfaq2.pod type=file
-c:\perl\lib/pods/perlfaq3.pod type=file
-c:\perl\lib/pods/perlfaq4.pod type=file
-c:\perl\lib/pods/perlfaq5.pod type=file
-c:\perl\lib/pods/perlfaq6.pod type=file
-c:\perl\lib/pods/perlfaq7.pod type=file
-c:\perl\lib/pods/perlfaq8.pod type=file
-c:\perl\lib/pods/perlfaq9.pod type=file
-c:\perl\lib/pods/perlfilter.pod type=file
-c:\perl\lib/pods/perlfork.pod type=file
-c:\perl\lib/pods/perlform.pod type=file
-c:\perl\lib/pods/perlfreebsd.pod type=file
-c:\perl\lib/pods/perlfunc.pod type=file
-c:\perl\lib/pods/perlglossary.pod type=file
-c:\perl\lib/pods/perlgpl.pod type=file
-c:\perl\lib/pods/perlguts.pod type=file
-c:\perl\lib/pods/perlhack.pod type=file
-c:\perl\lib/pods/perlhaiku.pod type=file
-c:\perl\lib/pods/perlhist.pod type=file
-c:\perl\lib/pods/perlhpux.pod type=file
-c:\perl\lib/pods/perlhurd.pod type=file
-c:\perl\lib/pods/perlintern.pod type=file
-c:\perl\lib/pods/perlintro.pod type=file
-c:\perl\lib/pods/perliol.pod type=file
-c:\perl\lib/pods/perlipc.pod type=file
-c:\perl\lib/pods/perlirix.pod type=file
-c:\perl\lib/pods/perljp.pod type=file
-c:\perl\lib/pods/perlko.pod type=file
-c:\perl\lib/pods/perllexwarn.pod type=file
-c:\perl\lib/pods/perllinux.pod type=file
-c:\perl\lib/pods/perllocale.pod type=file
-c:\perl\lib/pods/perllol.pod type=file
-c:\perl\lib/pods/perlmacos.pod type=file
-c:\perl\lib/pods/perlmacosx.pod type=file
-c:\perl\lib/pods/perlmod.pod type=file
-c:\perl\lib/pods/perlmodinstall.pod type=file
-c:\perl\lib/pods/perlmodlib.pod type=file
-c:\perl\lib/pods/perlmodstyle.pod type=file
-c:\perl\lib/pods/perlmpeix.pod type=file
-c:\perl\lib/pods/perlmroapi.pod type=file
-c:\perl\lib/pods/perlnetware.pod type=file
-c:\perl\lib/pods/perlnewmod.pod type=file
-c:\perl\lib/pods/perlnumber.pod type=file
-c:\perl\lib/pods/perlobj.pod type=file
-c:\perl\lib/pods/perlop.pod type=file
-c:\perl\lib/pods/perlopenbsd.pod type=file
-c:\perl\lib/pods/perlopentut.pod type=file
-c:\perl\lib/pods/perlos2.pod type=file
-c:\perl\lib/pods/perlos390.pod type=file
-c:\perl\lib/pods/perlos400.pod type=file
-c:\perl\lib/pods/perlpacktut.pod type=file
-c:\perl\lib/pods/perlperf.pod type=file
-c:\perl\lib/pods/perlplan9.pod type=file
-c:\perl\lib/pods/perlpod.pod type=file
-c:\perl\lib/pods/perlpodspec.pod type=file
-c:\perl\lib/pods/perlpolicy.pod type=file
-c:\perl\lib/pods/perlport.pod type=file
-c:\perl\lib/pods/perlpragma.pod type=file
-c:\perl\lib/pods/perlqnx.pod type=file
-c:\perl\lib/pods/perlre.pod type=file
-c:\perl\lib/pods/perlreapi.pod type=file
-c:\perl\lib/pods/perlrebackslash.pod type=file
-c:\perl\lib/pods/perlrecharclass.pod type=file
-c:\perl\lib/pods/perlref.pod type=file
-c:\perl\lib/pods/perlreftut.pod type=file
-c:\perl\lib/pods/perlreguts.pod type=file
-c:\perl\lib/pods/perlrepository.pod type=file
-c:\perl\lib/pods/perlrequick.pod type=file
-c:\perl\lib/pods/perlreref.pod type=file
-c:\perl\lib/pods/perlretut.pod type=file
-c:\perl\lib/pods/perlriscos.pod type=file
-c:\perl\lib/pods/perlrun.pod type=file
-c:\perl\lib/pods/perlsec.pod type=file
-c:\perl\lib/pods/perlsolaris.pod type=file
-c:\perl\lib/pods/perlstyle.pod type=file
-c:\perl\lib/pods/perlsub.pod type=file
-c:\perl\lib/pods/perlsymbian.pod type=file
-c:\perl\lib/pods/perlsyn.pod type=file
-c:\perl\lib/pods/perlthrtut.pod type=file
-c:\perl\lib/pods/perltie.pod type=file
-c:\perl\lib/pods/perltoc.pod type=file
-c:\perl\lib/pods/perltodo.pod type=file
-c:\perl\lib/pods/perltooc.pod type=file
-c:\perl\lib/pods/perltoot.pod type=file
-c:\perl\lib/pods/perltrap.pod type=file
-c:\perl\lib/pods/perltru64.pod type=file
-c:\perl\lib/pods/perltw.pod type=file
-c:\perl\lib/pods/perlunicode.pod type=file
-c:\perl\lib/pods/perlunifaq.pod type=file
-c:\perl\lib/pods/perluniintro.pod type=file
-c:\perl\lib/pods/perluniprops.pod type=file
-c:\perl\lib/pods/perlunitut.pod type=file
-c:\perl\lib/pods/perlutil.pod type=file
-c:\perl\lib/pods/perluts.pod type=file
-c:\perl\lib/pods/perlvar.pod type=file
-c:\perl\lib/pods/perlvmesa.pod type=file
-c:\perl\lib/pods/perlvms.pod type=file
-c:\perl\lib/pods/perlvos.pod type=file
-c:\perl\lib/pods/perlwin32.pod type=file
-c:\perl\lib/pods/perlxs.pod type=file
-c:\perl\lib/pods/perlxstut.pod type=file
-c:\perl\lib/pwd.pl type=file
-c:\perl\lib/re.pm type=file
-c:\perl\lib/shellwords.pl type=file
-c:\perl\lib/sigtrap.pm type=file
-c:\perl\lib/sort.pm type=file
-c:\perl\lib/stat.pl type=file
-c:\perl\lib/strict.pm type=file
-c:\perl\lib/subs.pm type=file
-c:\perl\lib/syslog.pl type=file
-c:\perl\lib/tainted.pl type=file
-c:\perl\lib/termcap.pl type=file
-c:\perl\lib/threads.pm type=file
-c:\perl\lib/threads/shared.pm type=file
-c:\perl\lib/timelocal.pl type=file
-c:\perl\lib/unicore/ArabicShaping.txt type=file
-c:\perl\lib/unicore/BidiMirroring.txt type=file
-c:\perl\lib/unicore/Blocks.txt type=file
-c:\perl\lib/unicore/CJKRadicals.txt type=file
-c:\perl\lib/unicore/CaseFolding.txt type=file
-c:\perl\lib/unicore/CombiningClass.pl type=file
-c:\perl\lib/unicore/CompositionExclusions.txt type=file
-c:\perl\lib/unicore/DAge.txt type=file
-c:\perl\lib/unicore/DCoreProperties.txt type=file
-c:\perl\lib/unicore/DNormalizationProps.txt type=file
-c:\perl\lib/unicore/Decomposition.pl type=file
-c:\perl\lib/unicore/EastAsianWidth.txt type=file
-c:\perl\lib/unicore/HangulSyllableType.txt type=file
-c:\perl\lib/unicore/Heavy.pl type=file
-c:\perl\lib/unicore/Index.txt type=file
-c:\perl\lib/unicore/Jamo.txt type=file
-c:\perl\lib/unicore/LineBreak.txt type=file
-c:\perl\lib/unicore/Name.pl type=file
-c:\perl\lib/unicore/NameAliases.txt type=file
-c:\perl\lib/unicore/NamedSequences.txt type=file
-c:\perl\lib/unicore/NamedSqProv.txt type=file
-c:\perl\lib/unicore/NamesList.txt type=file
-c:\perl\lib/unicore/NormalizationCorrections.txt type=file
-c:\perl\lib/unicore/PropList.txt type=file
-c:\perl\lib/unicore/PropValueAliases.txt type=file
-c:\perl\lib/unicore/PropertyAliases.txt type=file
-c:\perl\lib/unicore/ReadMe.txt type=file
-c:\perl\lib/unicore/Scripts.txt type=file
-c:\perl\lib/unicore/SpecialCasing.txt type=file
-c:\perl\lib/unicore/StandardizedVariants.txt type=file
-c:\perl\lib/unicore/TestProp.pl type=file
-c:\perl\lib/unicore/To/Bmg.pl type=file
-c:\perl\lib/unicore/To/Digit.pl type=file
-c:\perl\lib/unicore/To/Fold.pl type=file
-c:\perl\lib/unicore/To/Lower.pl type=file
-c:\perl\lib/unicore/To/NFKCCF.pl type=file
-c:\perl\lib/unicore/To/Title.pl type=file
-c:\perl\lib/unicore/To/Upper.pl type=file
-c:\perl\lib/unicore/UnicodeData.txt type=file
-c:\perl\lib/unicore/auxiliary/GCBTest.txt type=file
-c:\perl\lib/unicore/auxiliary/GraphemeBreakProperty.txt type=file
-c:\perl\lib/unicore/auxiliary/SentenceBreakProperty.txt type=file
-c:\perl\lib/unicore/auxiliary/WordBreakProperty.txt type=file
-c:\perl\lib/unicore/extracted/DBidiClass.txt type=file
-c:\perl\lib/unicore/extracted/DBinaryProperties.txt type=file
-c:\perl\lib/unicore/extracted/DCombiningClass.txt type=file
-c:\perl\lib/unicore/extracted/DDecompositionType.txt type=file
-c:\perl\lib/unicore/extracted/DEastAsianWidth.txt type=file
-c:\perl\lib/unicore/extracted/DGeneralCategory.txt type=file
-c:\perl\lib/unicore/extracted/DJoinGroup.txt type=file
-c:\perl\lib/unicore/extracted/DJoinType.txt type=file
-c:\perl\lib/unicore/extracted/DLineBreak.txt type=file
-c:\perl\lib/unicore/extracted/DNumType.txt type=file
-c:\perl\lib/unicore/extracted/DNumValues.txt type=file
-c:\perl\lib/unicore/lib/AHex/N.pl type=file
-c:\perl\lib/unicore/lib/AHex/Y.pl type=file
-c:\perl\lib/unicore/lib/Age/1_1.pl type=file
-c:\perl\lib/unicore/lib/Age/2_0.pl type=file
-c:\perl\lib/unicore/lib/Age/2_1.pl type=file
-c:\perl\lib/unicore/lib/Age/3_0.pl type=file
-c:\perl\lib/unicore/lib/Age/3_1.pl type=file
-c:\perl\lib/unicore/lib/Age/3_2.pl type=file
-c:\perl\lib/unicore/lib/Age/4_0.pl type=file
-c:\perl\lib/unicore/lib/Age/4_1.pl type=file
-c:\perl\lib/unicore/lib/Age/5_0.pl type=file
-c:\perl\lib/unicore/lib/Age/5_1.pl type=file
-c:\perl\lib/unicore/lib/Age/5_2.pl type=file
-c:\perl\lib/unicore/lib/Age/Unassign.pl type=file
-c:\perl\lib/unicore/lib/Alpha/N.pl type=file
-c:\perl\lib/unicore/lib/Alpha/Y.pl type=file
-c:\perl\lib/unicore/lib/Bc/AL.pl type=file
-c:\perl\lib/unicore/lib/Bc/AN.pl type=file
-c:\perl\lib/unicore/lib/Bc/B.pl type=file
-c:\perl\lib/unicore/lib/Bc/BN.pl type=file
-c:\perl\lib/unicore/lib/Bc/CS.pl type=file
-c:\perl\lib/unicore/lib/Bc/EN.pl type=file
-c:\perl\lib/unicore/lib/Bc/ES.pl type=file
-c:\perl\lib/unicore/lib/Bc/ET.pl type=file
-c:\perl\lib/unicore/lib/Bc/L.pl type=file
-c:\perl\lib/unicore/lib/Bc/LRE.pl type=file
-c:\perl\lib/unicore/lib/Bc/LRO.pl type=file
-c:\perl\lib/unicore/lib/Bc/NSM.pl type=file
-c:\perl\lib/unicore/lib/Bc/ON.pl type=file
-c:\perl\lib/unicore/lib/Bc/PDF.pl type=file
-c:\perl\lib/unicore/lib/Bc/R.pl type=file
-c:\perl\lib/unicore/lib/Bc/RLE.pl type=file
-c:\perl\lib/unicore/lib/Bc/RLO.pl type=file
-c:\perl\lib/unicore/lib/Bc/S.pl type=file
-c:\perl\lib/unicore/lib/Bc/WS.pl type=file
-c:\perl\lib/unicore/lib/BidiC/N.pl type=file
-c:\perl\lib/unicore/lib/BidiC/Y.pl type=file
-c:\perl\lib/unicore/lib/BidiM/N.pl type=file
-c:\perl\lib/unicore/lib/BidiM/Y.pl type=file
-c:\perl\lib/unicore/lib/Blk/ASCII.pl type=file
-c:\perl\lib/unicore/lib/Blk/AegeanNu.pl type=file
-c:\perl\lib/unicore/lib/Blk/Alphabet.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ancient2.pl type=file
-c:\perl\lib/unicore/lib/Blk/AncientG.pl type=file
-c:\perl\lib/unicore/lib/Blk/AncientS.pl type=file
-c:\perl\lib/unicore/lib/Blk/Arabic.pl type=file
-c:\perl\lib/unicore/lib/Blk/ArabicP2.pl type=file
-c:\perl\lib/unicore/lib/Blk/ArabicPr.pl type=file
-c:\perl\lib/unicore/lib/Blk/ArabicSu.pl type=file
-c:\perl\lib/unicore/lib/Blk/Armenian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Arrows.pl type=file
-c:\perl\lib/unicore/lib/Blk/Avestan.pl type=file
-c:\perl\lib/unicore/lib/Blk/Balinese.pl type=file
-c:\perl\lib/unicore/lib/Blk/Bamum.pl type=file
-c:\perl\lib/unicore/lib/Blk/Bengali.pl type=file
-c:\perl\lib/unicore/lib/Blk/BlockEle.pl type=file
-c:\perl\lib/unicore/lib/Blk/Bopomof2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Bopomofo.pl type=file
-c:\perl\lib/unicore/lib/Blk/BoxDrawi.pl type=file
-c:\perl\lib/unicore/lib/Blk/BrailleP.pl type=file
-c:\perl\lib/unicore/lib/Blk/Buginese.pl type=file
-c:\perl\lib/unicore/lib/Blk/Buhid.pl type=file
-c:\perl\lib/unicore/lib/Blk/Byzantin.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKComp2.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKComp3.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKComp4.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKCompa.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKRadic.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKStrok.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKSymbo.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKUnif2.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKUnif3.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKUnif4.pl type=file
-c:\perl\lib/unicore/lib/Blk/CJKUnifi.pl type=file
-c:\perl\lib/unicore/lib/Blk/Canadian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Carian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cham.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cherokee.pl type=file
-c:\perl\lib/unicore/lib/Blk/Combini2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Combini3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Combini4.pl type=file
-c:\perl\lib/unicore/lib/Blk/Combinin.pl type=file
-c:\perl\lib/unicore/lib/Blk/CommonIn.pl type=file
-c:\perl\lib/unicore/lib/Blk/ControlP.pl type=file
-c:\perl\lib/unicore/lib/Blk/Coptic.pl type=file
-c:\perl\lib/unicore/lib/Blk/Counting.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cuneifo2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cuneifor.pl type=file
-c:\perl\lib/unicore/lib/Blk/Currency.pl type=file
-c:\perl\lib/unicore/lib/Blk/CypriotS.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cyrilli2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cyrilli3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cyrilli4.pl type=file
-c:\perl\lib/unicore/lib/Blk/Cyrillic.pl type=file
-c:\perl\lib/unicore/lib/Blk/Deseret.pl type=file
-c:\perl\lib/unicore/lib/Blk/Devanag2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Devanaga.pl type=file
-c:\perl\lib/unicore/lib/Blk/Dingbats.pl type=file
-c:\perl\lib/unicore/lib/Blk/DominoTi.pl type=file
-c:\perl\lib/unicore/lib/Blk/Egyptian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Enclose2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Enclose3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Enclose4.pl type=file
-c:\perl\lib/unicore/lib/Blk/Enclosed.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ethiopi2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ethiopi3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ethiopic.pl type=file
-c:\perl\lib/unicore/lib/Blk/GeneralP.pl type=file
-c:\perl\lib/unicore/lib/Blk/Geometri.pl type=file
-c:\perl\lib/unicore/lib/Blk/Georgia2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Georgian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Glagolit.pl type=file
-c:\perl\lib/unicore/lib/Blk/Gothic.pl type=file
-c:\perl\lib/unicore/lib/Blk/Greek.pl type=file
-c:\perl\lib/unicore/lib/Blk/GreekExt.pl type=file
-c:\perl\lib/unicore/lib/Blk/Gujarati.pl type=file
-c:\perl\lib/unicore/lib/Blk/Gurmukhi.pl type=file
-c:\perl\lib/unicore/lib/Blk/Halfwidt.pl type=file
-c:\perl\lib/unicore/lib/Blk/HangulCo.pl type=file
-c:\perl\lib/unicore/lib/Blk/HangulJ2.pl type=file
-c:\perl\lib/unicore/lib/Blk/HangulJ3.pl type=file
-c:\perl\lib/unicore/lib/Blk/HangulJa.pl type=file
-c:\perl\lib/unicore/lib/Blk/HangulSy.pl type=file
-c:\perl\lib/unicore/lib/Blk/Hanunoo.pl type=file
-c:\perl\lib/unicore/lib/Blk/Hebrew.pl type=file
-c:\perl\lib/unicore/lib/Blk/HighPriv.pl type=file
-c:\perl\lib/unicore/lib/Blk/HighSurr.pl type=file
-c:\perl\lib/unicore/lib/Blk/Hiragana.pl type=file
-c:\perl\lib/unicore/lib/Blk/IPAExten.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ideograp.pl type=file
-c:\perl\lib/unicore/lib/Blk/Imperial.pl type=file
-c:\perl\lib/unicore/lib/Blk/Inscrip2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Inscript.pl type=file
-c:\perl\lib/unicore/lib/Blk/Javanese.pl type=file
-c:\perl\lib/unicore/lib/Blk/Kaithi.pl type=file
-c:\perl\lib/unicore/lib/Blk/Kanbun.pl type=file
-c:\perl\lib/unicore/lib/Blk/KangxiRa.pl type=file
-c:\perl\lib/unicore/lib/Blk/Kannada.pl type=file
-c:\perl\lib/unicore/lib/Blk/Katakan2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Katakana.pl type=file
-c:\perl\lib/unicore/lib/Blk/KayahLi.pl type=file
-c:\perl\lib/unicore/lib/Blk/Kharosht.pl type=file
-c:\perl\lib/unicore/lib/Blk/Khmer.pl type=file
-c:\perl\lib/unicore/lib/Blk/KhmerSym.pl type=file
-c:\perl\lib/unicore/lib/Blk/Lao.pl type=file
-c:\perl\lib/unicore/lib/Blk/Latin1.pl type=file
-c:\perl\lib/unicore/lib/Blk/LatinEx2.pl type=file
-c:\perl\lib/unicore/lib/Blk/LatinEx3.pl type=file
-c:\perl\lib/unicore/lib/Blk/LatinEx4.pl type=file
-c:\perl\lib/unicore/lib/Blk/LatinEx5.pl type=file
-c:\perl\lib/unicore/lib/Blk/LatinExt.pl type=file
-c:\perl\lib/unicore/lib/Blk/Lepcha.pl type=file
-c:\perl\lib/unicore/lib/Blk/Letterli.pl type=file
-c:\perl\lib/unicore/lib/Blk/Limbu.pl type=file
-c:\perl\lib/unicore/lib/Blk/LinearBI.pl type=file
-c:\perl\lib/unicore/lib/Blk/LinearBS.pl type=file
-c:\perl\lib/unicore/lib/Blk/Lisu.pl type=file
-c:\perl\lib/unicore/lib/Blk/LowSurro.pl type=file
-c:\perl\lib/unicore/lib/Blk/Lycian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Lydian.pl type=file
-c:\perl\lib/unicore/lib/Blk/MahjongT.pl type=file
-c:\perl\lib/unicore/lib/Blk/Malayala.pl type=file
-c:\perl\lib/unicore/lib/Blk/Mathema2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Mathemat.pl type=file
-c:\perl\lib/unicore/lib/Blk/MeeteiMa.pl type=file
-c:\perl\lib/unicore/lib/Blk/Miscell2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Miscell3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Miscell4.pl type=file
-c:\perl\lib/unicore/lib/Blk/Miscell5.pl type=file
-c:\perl\lib/unicore/lib/Blk/Miscella.pl type=file
-c:\perl\lib/unicore/lib/Blk/Modifier.pl type=file
-c:\perl\lib/unicore/lib/Blk/Mongolia.pl type=file
-c:\perl\lib/unicore/lib/Blk/MusicalS.pl type=file
-c:\perl\lib/unicore/lib/Blk/Myanmar.pl type=file
-c:\perl\lib/unicore/lib/Blk/MyanmarE.pl type=file
-c:\perl\lib/unicore/lib/Blk/NKo.pl type=file
-c:\perl\lib/unicore/lib/Blk/NewTaiLu.pl type=file
-c:\perl\lib/unicore/lib/Blk/NoBlock.pl type=file
-c:\perl\lib/unicore/lib/Blk/NumberFo.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ogham.pl type=file
-c:\perl\lib/unicore/lib/Blk/OlChiki.pl type=file
-c:\perl\lib/unicore/lib/Blk/OldItali.pl type=file
-c:\perl\lib/unicore/lib/Blk/OldPersi.pl type=file
-c:\perl\lib/unicore/lib/Blk/OldSouth.pl type=file
-c:\perl\lib/unicore/lib/Blk/OldTurki.pl type=file
-c:\perl\lib/unicore/lib/Blk/OpticalC.pl type=file
-c:\perl\lib/unicore/lib/Blk/Oriya.pl type=file
-c:\perl\lib/unicore/lib/Blk/Osmanya.pl type=file
-c:\perl\lib/unicore/lib/Blk/PhagsPa.pl type=file
-c:\perl\lib/unicore/lib/Blk/Phaistos.pl type=file
-c:\perl\lib/unicore/lib/Blk/Phoenici.pl type=file
-c:\perl\lib/unicore/lib/Blk/Phoneti2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Phonetic.pl type=file
-c:\perl\lib/unicore/lib/Blk/PrivateU.pl type=file
-c:\perl\lib/unicore/lib/Blk/Rejang.pl type=file
-c:\perl\lib/unicore/lib/Blk/RumiNume.pl type=file
-c:\perl\lib/unicore/lib/Blk/Runic.pl type=file
-c:\perl\lib/unicore/lib/Blk/Samarita.pl type=file
-c:\perl\lib/unicore/lib/Blk/Saurasht.pl type=file
-c:\perl\lib/unicore/lib/Blk/Shavian.pl type=file
-c:\perl\lib/unicore/lib/Blk/Sinhala.pl type=file
-c:\perl\lib/unicore/lib/Blk/SmallFor.pl type=file
-c:\perl\lib/unicore/lib/Blk/SpacingM.pl type=file
-c:\perl\lib/unicore/lib/Blk/Specials.pl type=file
-c:\perl\lib/unicore/lib/Blk/Sundanes.pl type=file
-c:\perl\lib/unicore/lib/Blk/Superscr.pl type=file
-c:\perl\lib/unicore/lib/Blk/Supplem2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Supplem3.pl type=file
-c:\perl\lib/unicore/lib/Blk/Supplem4.pl type=file
-c:\perl\lib/unicore/lib/Blk/Supplem5.pl type=file
-c:\perl\lib/unicore/lib/Blk/Supplem6.pl type=file
-c:\perl\lib/unicore/lib/Blk/Suppleme.pl type=file
-c:\perl\lib/unicore/lib/Blk/SylotiNa.pl type=file
-c:\perl\lib/unicore/lib/Blk/Syriac.pl type=file
-c:\perl\lib/unicore/lib/Blk/Tagalog.pl type=file
-c:\perl\lib/unicore/lib/Blk/Tagbanwa.pl type=file
-c:\perl\lib/unicore/lib/Blk/Tags.pl type=file
-c:\perl\lib/unicore/lib/Blk/TaiLe.pl type=file
-c:\perl\lib/unicore/lib/Blk/TaiTham.pl type=file
-c:\perl\lib/unicore/lib/Blk/TaiViet.pl type=file
-c:\perl\lib/unicore/lib/Blk/TaiXuanJ.pl type=file
-c:\perl\lib/unicore/lib/Blk/Tamil.pl type=file
-c:\perl\lib/unicore/lib/Blk/Telugu.pl type=file
-c:\perl\lib/unicore/lib/Blk/Thaana.pl type=file
-c:\perl\lib/unicore/lib/Blk/Thai.pl type=file
-c:\perl\lib/unicore/lib/Blk/Tibetan.pl type=file
-c:\perl\lib/unicore/lib/Blk/Tifinagh.pl type=file
-c:\perl\lib/unicore/lib/Blk/Ugaritic.pl type=file
-c:\perl\lib/unicore/lib/Blk/UnifiedC.pl type=file
-c:\perl\lib/unicore/lib/Blk/Vai.pl type=file
-c:\perl\lib/unicore/lib/Blk/Variati2.pl type=file
-c:\perl\lib/unicore/lib/Blk/Variatio.pl type=file
-c:\perl\lib/unicore/lib/Blk/VedicExt.pl type=file
-c:\perl\lib/unicore/lib/Blk/Vertical.pl type=file
-c:\perl\lib/unicore/lib/Blk/YiRadica.pl type=file
-c:\perl\lib/unicore/lib/Blk/YiSyllab.pl type=file
-c:\perl\lib/unicore/lib/Blk/YijingHe.pl type=file
-c:\perl\lib/unicore/lib/CE/N.pl type=file
-c:\perl\lib/unicore/lib/CE/Y.pl type=file
-c:\perl\lib/unicore/lib/CI/N.pl type=file
-c:\perl\lib/unicore/lib/CI/Y.pl type=file
-c:\perl\lib/unicore/lib/CWCF/N.pl type=file
-c:\perl\lib/unicore/lib/CWCF/Y.pl type=file
-c:\perl\lib/unicore/lib/CWCM/N.pl type=file
-c:\perl\lib/unicore/lib/CWCM/Y.pl type=file
-c:\perl\lib/unicore/lib/CWKCF/N.pl type=file
-c:\perl\lib/unicore/lib/CWKCF/Y.pl type=file
-c:\perl\lib/unicore/lib/CWL/N.pl type=file
-c:\perl\lib/unicore/lib/CWL/Y.pl type=file
-c:\perl\lib/unicore/lib/CWT/N.pl type=file
-c:\perl\lib/unicore/lib/CWT/Y.pl type=file
-c:\perl\lib/unicore/lib/CWU/N.pl type=file
-c:\perl\lib/unicore/lib/CWU/Y.pl type=file
-c:\perl\lib/unicore/lib/Cased/N.pl type=file
-c:\perl\lib/unicore/lib/Cased/Y.pl type=file
-c:\perl\lib/unicore/lib/Ccc/10.pl type=file
-c:\perl\lib/unicore/lib/Ccc/103.pl type=file
-c:\perl\lib/unicore/lib/Ccc/107.pl type=file
-c:\perl\lib/unicore/lib/Ccc/11.pl type=file
-c:\perl\lib/unicore/lib/Ccc/118.pl type=file
-c:\perl\lib/unicore/lib/Ccc/12.pl type=file
-c:\perl\lib/unicore/lib/Ccc/122.pl type=file
-c:\perl\lib/unicore/lib/Ccc/129.pl type=file
-c:\perl\lib/unicore/lib/Ccc/13.pl type=file
-c:\perl\lib/unicore/lib/Ccc/130.pl type=file
-c:\perl\lib/unicore/lib/Ccc/132.pl type=file
-c:\perl\lib/unicore/lib/Ccc/14.pl type=file
-c:\perl\lib/unicore/lib/Ccc/15.pl type=file
-c:\perl\lib/unicore/lib/Ccc/16.pl type=file
-c:\perl\lib/unicore/lib/Ccc/17.pl type=file
-c:\perl\lib/unicore/lib/Ccc/18.pl type=file
-c:\perl\lib/unicore/lib/Ccc/19.pl type=file
-c:\perl\lib/unicore/lib/Ccc/20.pl type=file
-c:\perl\lib/unicore/lib/Ccc/21.pl type=file
-c:\perl\lib/unicore/lib/Ccc/22.pl type=file
-c:\perl\lib/unicore/lib/Ccc/23.pl type=file
-c:\perl\lib/unicore/lib/Ccc/24.pl type=file
-c:\perl\lib/unicore/lib/Ccc/25.pl type=file
-c:\perl\lib/unicore/lib/Ccc/26.pl type=file
-c:\perl\lib/unicore/lib/Ccc/27.pl type=file
-c:\perl\lib/unicore/lib/Ccc/28.pl type=file
-c:\perl\lib/unicore/lib/Ccc/29.pl type=file
-c:\perl\lib/unicore/lib/Ccc/30.pl type=file
-c:\perl\lib/unicore/lib/Ccc/31.pl type=file
-c:\perl\lib/unicore/lib/Ccc/32.pl type=file
-c:\perl\lib/unicore/lib/Ccc/33.pl type=file
-c:\perl\lib/unicore/lib/Ccc/34.pl type=file
-c:\perl\lib/unicore/lib/Ccc/35.pl type=file
-c:\perl\lib/unicore/lib/Ccc/36.pl type=file
-c:\perl\lib/unicore/lib/Ccc/84.pl type=file
-c:\perl\lib/unicore/lib/Ccc/91.pl type=file
-c:\perl\lib/unicore/lib/Ccc/A.pl type=file
-c:\perl\lib/unicore/lib/Ccc/AL.pl type=file
-c:\perl\lib/unicore/lib/Ccc/AR.pl type=file
-c:\perl\lib/unicore/lib/Ccc/ATA.pl type=file
-c:\perl\lib/unicore/lib/Ccc/ATAR.pl type=file
-c:\perl\lib/unicore/lib/Ccc/ATB.pl type=file
-c:\perl\lib/unicore/lib/Ccc/ATBL.pl type=file
-c:\perl\lib/unicore/lib/Ccc/B.pl type=file
-c:\perl\lib/unicore/lib/Ccc/BL.pl type=file
-c:\perl\lib/unicore/lib/Ccc/BR.pl type=file
-c:\perl\lib/unicore/lib/Ccc/DA.pl type=file
-c:\perl\lib/unicore/lib/Ccc/DB.pl type=file
-c:\perl\lib/unicore/lib/Ccc/IS.pl type=file
-c:\perl\lib/unicore/lib/Ccc/KV.pl type=file
-c:\perl\lib/unicore/lib/Ccc/L.pl type=file
-c:\perl\lib/unicore/lib/Ccc/NK.pl type=file
-c:\perl\lib/unicore/lib/Ccc/NR.pl type=file
-c:\perl\lib/unicore/lib/Ccc/OV.pl type=file
-c:\perl\lib/unicore/lib/Ccc/R.pl type=file
-c:\perl\lib/unicore/lib/Ccc/VR.pl type=file
-c:\perl\lib/unicore/lib/CompEx/N.pl type=file
-c:\perl\lib/unicore/lib/CompEx/Y.pl type=file
-c:\perl\lib/unicore/lib/DI/N.pl type=file
-c:\perl\lib/unicore/lib/DI/Y.pl type=file
-c:\perl\lib/unicore/lib/Dash/N.pl type=file
-c:\perl\lib/unicore/lib/Dash/Y.pl type=file
-c:\perl\lib/unicore/lib/Dep/N.pl type=file
-c:\perl\lib/unicore/lib/Dep/Y.pl type=file
-c:\perl\lib/unicore/lib/Dia/N.pl type=file
-c:\perl\lib/unicore/lib/Dia/Y.pl type=file
-c:\perl\lib/unicore/lib/Dt/Com.pl type=file
-c:\perl\lib/unicore/lib/Dt/Enc.pl type=file
-c:\perl\lib/unicore/lib/Dt/Fin.pl type=file
-c:\perl\lib/unicore/lib/Dt/Font.pl type=file
-c:\perl\lib/unicore/lib/Dt/Fra.pl type=file
-c:\perl\lib/unicore/lib/Dt/Init.pl type=file
-c:\perl\lib/unicore/lib/Dt/Iso.pl type=file
-c:\perl\lib/unicore/lib/Dt/Med.pl type=file
-c:\perl\lib/unicore/lib/Dt/Nar.pl type=file
-c:\perl\lib/unicore/lib/Dt/Nb.pl type=file
-c:\perl\lib/unicore/lib/Dt/NonCanon.pl type=file
-c:\perl\lib/unicore/lib/Dt/None.pl type=file
-c:\perl\lib/unicore/lib/Dt/Sml.pl type=file
-c:\perl\lib/unicore/lib/Dt/Sqr.pl type=file
-c:\perl\lib/unicore/lib/Dt/Sub.pl type=file
-c:\perl\lib/unicore/lib/Dt/Sup.pl type=file
-c:\perl\lib/unicore/lib/Dt/Vert.pl type=file
-c:\perl\lib/unicore/lib/Ea/A.pl type=file
-c:\perl\lib/unicore/lib/Ea/F.pl type=file
-c:\perl\lib/unicore/lib/Ea/H.pl type=file
-c:\perl\lib/unicore/lib/Ea/N.pl type=file
-c:\perl\lib/unicore/lib/Ea/Na.pl type=file
-c:\perl\lib/unicore/lib/Ea/W.pl type=file
-c:\perl\lib/unicore/lib/Ext/N.pl type=file
-c:\perl\lib/unicore/lib/Ext/Y.pl type=file
-c:\perl\lib/unicore/lib/GCB/CN.pl type=file
-c:\perl\lib/unicore/lib/GCB/CR.pl type=file
-c:\perl\lib/unicore/lib/GCB/EX.pl type=file
-c:\perl\lib/unicore/lib/GCB/L.pl type=file
-c:\perl\lib/unicore/lib/GCB/LF.pl type=file
-c:\perl\lib/unicore/lib/GCB/LV.pl type=file
-c:\perl\lib/unicore/lib/GCB/LVT.pl type=file
-c:\perl\lib/unicore/lib/GCB/PP.pl type=file
-c:\perl\lib/unicore/lib/GCB/SM.pl type=file
-c:\perl\lib/unicore/lib/GCB/T.pl type=file
-c:\perl\lib/unicore/lib/GCB/V.pl type=file
-c:\perl\lib/unicore/lib/GCB/XX.pl type=file
-c:\perl\lib/unicore/lib/Gc/C.pl type=file
-c:\perl\lib/unicore/lib/Gc/Cc.pl type=file
-c:\perl\lib/unicore/lib/Gc/Cf.pl type=file
-c:\perl\lib/unicore/lib/Gc/Cn.pl type=file
-c:\perl\lib/unicore/lib/Gc/Co.pl type=file
-c:\perl\lib/unicore/lib/Gc/Cs.pl type=file
-c:\perl\lib/unicore/lib/Gc/L.pl type=file
-c:\perl\lib/unicore/lib/Gc/LC.pl type=file
-c:\perl\lib/unicore/lib/Gc/Ll.pl type=file
-c:\perl\lib/unicore/lib/Gc/Lm.pl type=file
-c:\perl\lib/unicore/lib/Gc/Lo.pl type=file
-c:\perl\lib/unicore/lib/Gc/Lt.pl type=file
-c:\perl\lib/unicore/lib/Gc/Lu.pl type=file
-c:\perl\lib/unicore/lib/Gc/M.pl type=file
-c:\perl\lib/unicore/lib/Gc/Mc.pl type=file
-c:\perl\lib/unicore/lib/Gc/Me.pl type=file
-c:\perl\lib/unicore/lib/Gc/Mn.pl type=file
-c:\perl\lib/unicore/lib/Gc/N.pl type=file
-c:\perl\lib/unicore/lib/Gc/Nl.pl type=file
-c:\perl\lib/unicore/lib/Gc/No.pl type=file
-c:\perl\lib/unicore/lib/Gc/P.pl type=file
-c:\perl\lib/unicore/lib/Gc/Pd.pl type=file
-c:\perl\lib/unicore/lib/Gc/Pe.pl type=file
-c:\perl\lib/unicore/lib/Gc/Pf.pl type=file
-c:\perl\lib/unicore/lib/Gc/Pi.pl type=file
-c:\perl\lib/unicore/lib/Gc/Po.pl type=file
-c:\perl\lib/unicore/lib/Gc/Ps.pl type=file
-c:\perl\lib/unicore/lib/Gc/S.pl type=file
-c:\perl\lib/unicore/lib/Gc/Sc.pl type=file
-c:\perl\lib/unicore/lib/Gc/Sk.pl type=file
-c:\perl\lib/unicore/lib/Gc/Sm.pl type=file
-c:\perl\lib/unicore/lib/Gc/So.pl type=file
-c:\perl\lib/unicore/lib/Gc/Z.pl type=file
-c:\perl\lib/unicore/lib/Gc/Zl.pl type=file
-c:\perl\lib/unicore/lib/Gc/Zp.pl type=file
-c:\perl\lib/unicore/lib/Gc/Zs.pl type=file
-c:\perl\lib/unicore/lib/GrBase/N.pl type=file
-c:\perl\lib/unicore/lib/GrBase/Y.pl type=file
-c:\perl\lib/unicore/lib/GrExt/N.pl type=file
-c:\perl\lib/unicore/lib/GrExt/Y.pl type=file
-c:\perl\lib/unicore/lib/Hex/N.pl type=file
-c:\perl\lib/unicore/lib/Hex/Y.pl type=file
-c:\perl\lib/unicore/lib/Hst/NA.pl type=file
-c:\perl\lib/unicore/lib/Hyphen/N.pl type=file
-c:\perl\lib/unicore/lib/Hyphen/Y.pl type=file
-c:\perl\lib/unicore/lib/IDC/N.pl type=file
-c:\perl\lib/unicore/lib/IDC/Y.pl type=file
-c:\perl\lib/unicore/lib/IDS/N.pl type=file
-c:\perl\lib/unicore/lib/IDS/Y.pl type=file
-c:\perl\lib/unicore/lib/IDSB/N.pl type=file
-c:\perl\lib/unicore/lib/IDSB/Y.pl type=file
-c:\perl\lib/unicore/lib/IDST/N.pl type=file
-c:\perl\lib/unicore/lib/IDST/Y.pl type=file
-c:\perl\lib/unicore/lib/Ideo/N.pl type=file
-c:\perl\lib/unicore/lib/Ideo/Y.pl type=file
-c:\perl\lib/unicore/lib/In/2_0.pl type=file
-c:\perl\lib/unicore/lib/In/2_1.pl type=file
-c:\perl\lib/unicore/lib/In/3_0.pl type=file
-c:\perl\lib/unicore/lib/In/3_1.pl type=file
-c:\perl\lib/unicore/lib/In/3_2.pl type=file
-c:\perl\lib/unicore/lib/In/4_0.pl type=file
-c:\perl\lib/unicore/lib/In/4_1.pl type=file
-c:\perl\lib/unicore/lib/In/5_0.pl type=file
-c:\perl\lib/unicore/lib/In/5_1.pl type=file
-c:\perl\lib/unicore/lib/In/5_2.pl type=file
-c:\perl\lib/unicore/lib/Jg/Ain.pl type=file
-c:\perl\lib/unicore/lib/Jg/Alaph.pl type=file
-c:\perl\lib/unicore/lib/Jg/Alef.pl type=file
-c:\perl\lib/unicore/lib/Jg/Beh.pl type=file
-c:\perl\lib/unicore/lib/Jg/Beth.pl type=file
-c:\perl\lib/unicore/lib/Jg/Burushas.pl type=file
-c:\perl\lib/unicore/lib/Jg/Dal.pl type=file
-c:\perl\lib/unicore/lib/Jg/DalathRi.pl type=file
-c:\perl\lib/unicore/lib/Jg/E.pl type=file
-c:\perl\lib/unicore/lib/Jg/FarsiYeh.pl type=file
-c:\perl\lib/unicore/lib/Jg/Fe.pl type=file
-c:\perl\lib/unicore/lib/Jg/Feh.pl type=file
-c:\perl\lib/unicore/lib/Jg/FinalSem.pl type=file
-c:\perl\lib/unicore/lib/Jg/Gaf.pl type=file
-c:\perl\lib/unicore/lib/Jg/Gamal.pl type=file
-c:\perl\lib/unicore/lib/Jg/Hah.pl type=file
-c:\perl\lib/unicore/lib/Jg/HamzaOnH.pl type=file
-c:\perl\lib/unicore/lib/Jg/He.pl type=file
-c:\perl\lib/unicore/lib/Jg/Heh.pl type=file
-c:\perl\lib/unicore/lib/Jg/HehGoal.pl type=file
-c:\perl\lib/unicore/lib/Jg/Heth.pl type=file
-c:\perl\lib/unicore/lib/Jg/Kaf.pl type=file
-c:\perl\lib/unicore/lib/Jg/Kaph.pl type=file
-c:\perl\lib/unicore/lib/Jg/Khaph.pl type=file
-c:\perl\lib/unicore/lib/Jg/KnottedH.pl type=file
-c:\perl\lib/unicore/lib/Jg/Lam.pl type=file
-c:\perl\lib/unicore/lib/Jg/Lamadh.pl type=file
-c:\perl\lib/unicore/lib/Jg/Meem.pl type=file
-c:\perl\lib/unicore/lib/Jg/Mim.pl type=file
-c:\perl\lib/unicore/lib/Jg/NoJoinin.pl type=file
-c:\perl\lib/unicore/lib/Jg/Noon.pl type=file
-c:\perl\lib/unicore/lib/Jg/Nun.pl type=file
-c:\perl\lib/unicore/lib/Jg/Nya.pl type=file
-c:\perl\lib/unicore/lib/Jg/Pe.pl type=file
-c:\perl\lib/unicore/lib/Jg/Qaf.pl type=file
-c:\perl\lib/unicore/lib/Jg/Qaph.pl type=file
-c:\perl\lib/unicore/lib/Jg/Reh.pl type=file
-c:\perl\lib/unicore/lib/Jg/Reversed.pl type=file
-c:\perl\lib/unicore/lib/Jg/Sad.pl type=file
-c:\perl\lib/unicore/lib/Jg/Sadhe.pl type=file
-c:\perl\lib/unicore/lib/Jg/Seen.pl type=file
-c:\perl\lib/unicore/lib/Jg/Semkath.pl type=file
-c:\perl\lib/unicore/lib/Jg/Shin.pl type=file
-c:\perl\lib/unicore/lib/Jg/SwashKaf.pl type=file
-c:\perl\lib/unicore/lib/Jg/SyriacWa.pl type=file
-c:\perl\lib/unicore/lib/Jg/Tah.pl type=file
-c:\perl\lib/unicore/lib/Jg/Taw.pl type=file
-c:\perl\lib/unicore/lib/Jg/TehMarbu.pl type=file
-c:\perl\lib/unicore/lib/Jg/Teth.pl type=file
-c:\perl\lib/unicore/lib/Jg/Waw.pl type=file
-c:\perl\lib/unicore/lib/Jg/Yeh.pl type=file
-c:\perl\lib/unicore/lib/Jg/YehBarre.pl type=file
-c:\perl\lib/unicore/lib/Jg/YehWithT.pl type=file
-c:\perl\lib/unicore/lib/Jg/Yudh.pl type=file
-c:\perl\lib/unicore/lib/Jg/YudhHe.pl type=file
-c:\perl\lib/unicore/lib/Jg/Zain.pl type=file
-c:\perl\lib/unicore/lib/Jg/Zhain.pl type=file
-c:\perl\lib/unicore/lib/JoinC/N.pl type=file
-c:\perl\lib/unicore/lib/JoinC/Y.pl type=file
-c:\perl\lib/unicore/lib/Jt/C.pl type=file
-c:\perl\lib/unicore/lib/Jt/D.pl type=file
-c:\perl\lib/unicore/lib/Jt/R.pl type=file
-c:\perl\lib/unicore/lib/Jt/T.pl type=file
-c:\perl\lib/unicore/lib/Jt/U.pl type=file
-c:\perl\lib/unicore/lib/LOE/N.pl type=file
-c:\perl\lib/unicore/lib/Lb/AI.pl type=file
-c:\perl\lib/unicore/lib/Lb/AL.pl type=file
-c:\perl\lib/unicore/lib/Lb/B2.pl type=file
-c:\perl\lib/unicore/lib/Lb/BA.pl type=file
-c:\perl\lib/unicore/lib/Lb/BB.pl type=file
-c:\perl\lib/unicore/lib/Lb/BK.pl type=file
-c:\perl\lib/unicore/lib/Lb/CB.pl type=file
-c:\perl\lib/unicore/lib/Lb/CL.pl type=file
-c:\perl\lib/unicore/lib/Lb/CM.pl type=file
-c:\perl\lib/unicore/lib/Lb/CP.pl type=file
-c:\perl\lib/unicore/lib/Lb/EX.pl type=file
-c:\perl\lib/unicore/lib/Lb/GL.pl type=file
-c:\perl\lib/unicore/lib/Lb/HY.pl type=file
-c:\perl\lib/unicore/lib/Lb/ID.pl type=file
-c:\perl\lib/unicore/lib/Lb/IN.pl type=file
-c:\perl\lib/unicore/lib/Lb/IS.pl type=file
-c:\perl\lib/unicore/lib/Lb/NL.pl type=file
-c:\perl\lib/unicore/lib/Lb/NS.pl type=file
-c:\perl\lib/unicore/lib/Lb/NU.pl type=file
-c:\perl\lib/unicore/lib/Lb/OP.pl type=file
-c:\perl\lib/unicore/lib/Lb/PO.pl type=file
-c:\perl\lib/unicore/lib/Lb/PR.pl type=file
-c:\perl\lib/unicore/lib/Lb/QU.pl type=file
-c:\perl\lib/unicore/lib/Lb/SA.pl type=file
-c:\perl\lib/unicore/lib/Lb/SG.pl type=file
-c:\perl\lib/unicore/lib/Lb/SP.pl type=file
-c:\perl\lib/unicore/lib/Lb/SY.pl type=file
-c:\perl\lib/unicore/lib/Lb/WJ.pl type=file
-c:\perl\lib/unicore/lib/Lb/XX.pl type=file
-c:\perl\lib/unicore/lib/Lb/ZW.pl type=file
-c:\perl\lib/unicore/lib/Lower/N.pl type=file
-c:\perl\lib/unicore/lib/Lower/Y.pl type=file
-c:\perl\lib/unicore/lib/Math/N.pl type=file
-c:\perl\lib/unicore/lib/Math/Y.pl type=file
-c:\perl\lib/unicore/lib/NChar/N.pl type=file
-c:\perl\lib/unicore/lib/NChar/Y.pl type=file
-c:\perl\lib/unicore/lib/NFCQC/Y.pl type=file
-c:\perl\lib/unicore/lib/NFDQC/N.pl type=file
-c:\perl\lib/unicore/lib/NFDQC/Y.pl type=file
-c:\perl\lib/unicore/lib/NFKCQC/M.pl type=file
-c:\perl\lib/unicore/lib/NFKCQC/N.pl type=file
-c:\perl\lib/unicore/lib/NFKCQC/Y.pl type=file
-c:\perl\lib/unicore/lib/NFKDQC/N.pl type=file
-c:\perl\lib/unicore/lib/Nt/De.pl type=file
-c:\perl\lib/unicore/lib/Nt/Di.pl type=file
-c:\perl\lib/unicore/lib/Nt/Nu.pl type=file
-c:\perl\lib/unicore/lib/Nv/0.pl type=file
-c:\perl\lib/unicore/lib/Nv/1.pl type=file
-c:\perl\lib/unicore/lib/Nv/10.pl type=file
-c:\perl\lib/unicore/lib/Nv/100.pl type=file
-c:\perl\lib/unicore/lib/Nv/1000.pl type=file
-c:\perl\lib/unicore/lib/Nv/10000.pl type=file
-c:\perl\lib/unicore/lib/Nv/100000.pl type=file
-c:\perl\lib/unicore/lib/Nv/10000000.pl type=file
-c:\perl\lib/unicore/lib/Nv/10000002.pl type=file
-c:\perl\lib/unicore/lib/Nv/11.pl type=file
-c:\perl\lib/unicore/lib/Nv/11_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/12.pl type=file
-c:\perl\lib/unicore/lib/Nv/13.pl type=file
-c:\perl\lib/unicore/lib/Nv/13_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/14.pl type=file
-c:\perl\lib/unicore/lib/Nv/15.pl type=file
-c:\perl\lib/unicore/lib/Nv/15_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/16.pl type=file
-c:\perl\lib/unicore/lib/Nv/17.pl type=file
-c:\perl\lib/unicore/lib/Nv/17_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/18.pl type=file
-c:\perl\lib/unicore/lib/Nv/19.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_10.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_16.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_3.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_4.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_5.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_6.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_7.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_8.pl type=file
-c:\perl\lib/unicore/lib/Nv/1_9.pl type=file
-c:\perl\lib/unicore/lib/Nv/2.pl type=file
-c:\perl\lib/unicore/lib/Nv/20.pl type=file
-c:\perl\lib/unicore/lib/Nv/200.pl type=file
-c:\perl\lib/unicore/lib/Nv/2000.pl type=file
-c:\perl\lib/unicore/lib/Nv/20000.pl type=file
-c:\perl\lib/unicore/lib/Nv/21.pl type=file
-c:\perl\lib/unicore/lib/Nv/22.pl type=file
-c:\perl\lib/unicore/lib/Nv/23.pl type=file
-c:\perl\lib/unicore/lib/Nv/24.pl type=file
-c:\perl\lib/unicore/lib/Nv/25.pl type=file
-c:\perl\lib/unicore/lib/Nv/26.pl type=file
-c:\perl\lib/unicore/lib/Nv/27.pl type=file
-c:\perl\lib/unicore/lib/Nv/28.pl type=file
-c:\perl\lib/unicore/lib/Nv/29.pl type=file
-c:\perl\lib/unicore/lib/Nv/2_3.pl type=file
-c:\perl\lib/unicore/lib/Nv/2_5.pl type=file
-c:\perl\lib/unicore/lib/Nv/3.pl type=file
-c:\perl\lib/unicore/lib/Nv/30.pl type=file
-c:\perl\lib/unicore/lib/Nv/300.pl type=file
-c:\perl\lib/unicore/lib/Nv/3000.pl type=file
-c:\perl\lib/unicore/lib/Nv/30000.pl type=file
-c:\perl\lib/unicore/lib/Nv/31.pl type=file
-c:\perl\lib/unicore/lib/Nv/32.pl type=file
-c:\perl\lib/unicore/lib/Nv/33.pl type=file
-c:\perl\lib/unicore/lib/Nv/34.pl type=file
-c:\perl\lib/unicore/lib/Nv/35.pl type=file
-c:\perl\lib/unicore/lib/Nv/36.pl type=file
-c:\perl\lib/unicore/lib/Nv/37.pl type=file
-c:\perl\lib/unicore/lib/Nv/38.pl type=file
-c:\perl\lib/unicore/lib/Nv/39.pl type=file
-c:\perl\lib/unicore/lib/Nv/3_16.pl type=file
-c:\perl\lib/unicore/lib/Nv/3_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/3_4.pl type=file
-c:\perl\lib/unicore/lib/Nv/3_5.pl type=file
-c:\perl\lib/unicore/lib/Nv/3_8.pl type=file
-c:\perl\lib/unicore/lib/Nv/4.pl type=file
-c:\perl\lib/unicore/lib/Nv/40.pl type=file
-c:\perl\lib/unicore/lib/Nv/400.pl type=file
-c:\perl\lib/unicore/lib/Nv/4000.pl type=file
-c:\perl\lib/unicore/lib/Nv/40000.pl type=file
-c:\perl\lib/unicore/lib/Nv/41.pl type=file
-c:\perl\lib/unicore/lib/Nv/42.pl type=file
-c:\perl\lib/unicore/lib/Nv/43.pl type=file
-c:\perl\lib/unicore/lib/Nv/44.pl type=file
-c:\perl\lib/unicore/lib/Nv/45.pl type=file
-c:\perl\lib/unicore/lib/Nv/46.pl type=file
-c:\perl\lib/unicore/lib/Nv/47.pl type=file
-c:\perl\lib/unicore/lib/Nv/48.pl type=file
-c:\perl\lib/unicore/lib/Nv/49.pl type=file
-c:\perl\lib/unicore/lib/Nv/4_5.pl type=file
-c:\perl\lib/unicore/lib/Nv/5.pl type=file
-c:\perl\lib/unicore/lib/Nv/50.pl type=file
-c:\perl\lib/unicore/lib/Nv/500.pl type=file
-c:\perl\lib/unicore/lib/Nv/5000.pl type=file
-c:\perl\lib/unicore/lib/Nv/50000.pl type=file
-c:\perl\lib/unicore/lib/Nv/5_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/5_6.pl type=file
-c:\perl\lib/unicore/lib/Nv/5_8.pl type=file
-c:\perl\lib/unicore/lib/Nv/6.pl type=file
-c:\perl\lib/unicore/lib/Nv/60.pl type=file
-c:\perl\lib/unicore/lib/Nv/600.pl type=file
-c:\perl\lib/unicore/lib/Nv/6000.pl type=file
-c:\perl\lib/unicore/lib/Nv/60000.pl type=file
-c:\perl\lib/unicore/lib/Nv/7.pl type=file
-c:\perl\lib/unicore/lib/Nv/70.pl type=file
-c:\perl\lib/unicore/lib/Nv/700.pl type=file
-c:\perl\lib/unicore/lib/Nv/7000.pl type=file
-c:\perl\lib/unicore/lib/Nv/70000.pl type=file
-c:\perl\lib/unicore/lib/Nv/7_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/7_8.pl type=file
-c:\perl\lib/unicore/lib/Nv/8.pl type=file
-c:\perl\lib/unicore/lib/Nv/80.pl type=file
-c:\perl\lib/unicore/lib/Nv/800.pl type=file
-c:\perl\lib/unicore/lib/Nv/8000.pl type=file
-c:\perl\lib/unicore/lib/Nv/80000.pl type=file
-c:\perl\lib/unicore/lib/Nv/9.pl type=file
-c:\perl\lib/unicore/lib/Nv/90.pl type=file
-c:\perl\lib/unicore/lib/Nv/900.pl type=file
-c:\perl\lib/unicore/lib/Nv/9000.pl type=file
-c:\perl\lib/unicore/lib/Nv/90000.pl type=file
-c:\perl\lib/unicore/lib/Nv/9_2.pl type=file
-c:\perl\lib/unicore/lib/Nv/NaN.pl type=file
-c:\perl\lib/unicore/lib/Nv/_1_2.pl type=file
-c:\perl\lib/unicore/lib/OAlpha/N.pl type=file
-c:\perl\lib/unicore/lib/OAlpha/Y.pl type=file
-c:\perl\lib/unicore/lib/ODI/N.pl type=file
-c:\perl\lib/unicore/lib/ODI/Y.pl type=file
-c:\perl\lib/unicore/lib/OGrExt/N.pl type=file
-c:\perl\lib/unicore/lib/OGrExt/Y.pl type=file
-c:\perl\lib/unicore/lib/OIDC/N.pl type=file
-c:\perl\lib/unicore/lib/OIDC/Y.pl type=file
-c:\perl\lib/unicore/lib/OIDS/N.pl type=file
-c:\perl\lib/unicore/lib/OIDS/Y.pl type=file
-c:\perl\lib/unicore/lib/OLower/N.pl type=file
-c:\perl\lib/unicore/lib/OLower/Y.pl type=file
-c:\perl\lib/unicore/lib/OMath/N.pl type=file
-c:\perl\lib/unicore/lib/OMath/Y.pl type=file
-c:\perl\lib/unicore/lib/OUpper/N.pl type=file
-c:\perl\lib/unicore/lib/OUpper/Y.pl type=file
-c:\perl\lib/unicore/lib/PatSyn/N.pl type=file
-c:\perl\lib/unicore/lib/PatSyn/Y.pl type=file
-c:\perl\lib/unicore/lib/PatWS/N.pl type=file
-c:\perl\lib/unicore/lib/PatWS/Y.pl type=file
-c:\perl\lib/unicore/lib/Perl/Alnum.pl type=file
-c:\perl\lib/unicore/lib/Perl/Any.pl type=file
-c:\perl\lib/unicore/lib/Perl/Assigned.pl type=file
-c:\perl\lib/unicore/lib/Perl/Blank.pl type=file
-c:\perl\lib/unicore/lib/Perl/Graph.pl type=file
-c:\perl\lib/unicore/lib/Perl/PerlSpac.pl type=file
-c:\perl\lib/unicore/lib/Perl/PerlWord.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixAln.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixAlp.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixBla.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixCnt.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixDig.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixGra.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixLow.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixPri.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixPun.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixSpa.pl type=file
-c:\perl\lib/unicore/lib/Perl/PosixUpp.pl type=file
-c:\perl\lib/unicore/lib/Perl/Print.pl type=file
-c:\perl\lib/unicore/lib/Perl/SpacePer.pl type=file
-c:\perl\lib/unicore/lib/Perl/VertSpac.pl type=file
-c:\perl\lib/unicore/lib/Perl/Word.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XBegin.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XExtend.pl type=file
-c:\perl\lib/unicore/lib/Perl/_XLVLVTV.pl type=file
-c:\perl\lib/unicore/lib/QMark/N.pl type=file
-c:\perl\lib/unicore/lib/QMark/Y.pl type=file
-c:\perl\lib/unicore/lib/Radical/N.pl type=file
-c:\perl\lib/unicore/lib/Radical/Y.pl type=file
-c:\perl\lib/unicore/lib/SB/AT.pl type=file
-c:\perl\lib/unicore/lib/SB/CL.pl type=file
-c:\perl\lib/unicore/lib/SB/EX.pl type=file
-c:\perl\lib/unicore/lib/SB/FO.pl type=file
-c:\perl\lib/unicore/lib/SB/LE.pl type=file
-c:\perl\lib/unicore/lib/SB/LO.pl type=file
-c:\perl\lib/unicore/lib/SB/SC.pl type=file
-c:\perl\lib/unicore/lib/SB/SE.pl type=file
-c:\perl\lib/unicore/lib/SB/ST.pl type=file
-c:\perl\lib/unicore/lib/SB/Sp.pl type=file
-c:\perl\lib/unicore/lib/SB/UP.pl type=file
-c:\perl\lib/unicore/lib/SB/XX.pl type=file
-c:\perl\lib/unicore/lib/SD/N.pl type=file
-c:\perl\lib/unicore/lib/SD/Y.pl type=file
-c:\perl\lib/unicore/lib/STerm/N.pl type=file
-c:\perl\lib/unicore/lib/STerm/Y.pl type=file
-c:\perl\lib/unicore/lib/Sc/Arab.pl type=file
-c:\perl\lib/unicore/lib/Sc/Armi.pl type=file
-c:\perl\lib/unicore/lib/Sc/Armn.pl type=file
-c:\perl\lib/unicore/lib/Sc/Avst.pl type=file
-c:\perl\lib/unicore/lib/Sc/Bali.pl type=file
-c:\perl\lib/unicore/lib/Sc/Bamu.pl type=file
-c:\perl\lib/unicore/lib/Sc/Beng.pl type=file
-c:\perl\lib/unicore/lib/Sc/Bopo.pl type=file
-c:\perl\lib/unicore/lib/Sc/Bugi.pl type=file
-c:\perl\lib/unicore/lib/Sc/Buhd.pl type=file
-c:\perl\lib/unicore/lib/Sc/Cans.pl type=file
-c:\perl\lib/unicore/lib/Sc/Cari.pl type=file
-c:\perl\lib/unicore/lib/Sc/Cham.pl type=file
-c:\perl\lib/unicore/lib/Sc/Cher.pl type=file
-c:\perl\lib/unicore/lib/Sc/Copt.pl type=file
-c:\perl\lib/unicore/lib/Sc/Cprt.pl type=file
-c:\perl\lib/unicore/lib/Sc/Cyrl.pl type=file
-c:\perl\lib/unicore/lib/Sc/Deva.pl type=file
-c:\perl\lib/unicore/lib/Sc/Egyp.pl type=file
-c:\perl\lib/unicore/lib/Sc/Ethi.pl type=file
-c:\perl\lib/unicore/lib/Sc/Geor.pl type=file
-c:\perl\lib/unicore/lib/Sc/Glag.pl type=file
-c:\perl\lib/unicore/lib/Sc/Goth.pl type=file
-c:\perl\lib/unicore/lib/Sc/Grek.pl type=file
-c:\perl\lib/unicore/lib/Sc/Gujr.pl type=file
-c:\perl\lib/unicore/lib/Sc/Guru.pl type=file
-c:\perl\lib/unicore/lib/Sc/Han.pl type=file
-c:\perl\lib/unicore/lib/Sc/Hang.pl type=file
-c:\perl\lib/unicore/lib/Sc/Hano.pl type=file
-c:\perl\lib/unicore/lib/Sc/Hebr.pl type=file
-c:\perl\lib/unicore/lib/Sc/Hira.pl type=file
-c:\perl\lib/unicore/lib/Sc/Ital.pl type=file
-c:\perl\lib/unicore/lib/Sc/Java.pl type=file
-c:\perl\lib/unicore/lib/Sc/Kana.pl type=file
-c:\perl\lib/unicore/lib/Sc/Khar.pl type=file
-c:\perl\lib/unicore/lib/Sc/Khmr.pl type=file
-c:\perl\lib/unicore/lib/Sc/Knda.pl type=file
-c:\perl\lib/unicore/lib/Sc/Kthi.pl type=file
-c:\perl\lib/unicore/lib/Sc/Lana.pl type=file
-c:\perl\lib/unicore/lib/Sc/Lao.pl type=file
-c:\perl\lib/unicore/lib/Sc/Latn.pl type=file
-c:\perl\lib/unicore/lib/Sc/Lepc.pl type=file
-c:\perl\lib/unicore/lib/Sc/Limb.pl type=file
-c:\perl\lib/unicore/lib/Sc/Linb.pl type=file
-c:\perl\lib/unicore/lib/Sc/Lyci.pl type=file
-c:\perl\lib/unicore/lib/Sc/Lydi.pl type=file
-c:\perl\lib/unicore/lib/Sc/Mlym.pl type=file
-c:\perl\lib/unicore/lib/Sc/Mong.pl type=file
-c:\perl\lib/unicore/lib/Sc/Mtei.pl type=file
-c:\perl\lib/unicore/lib/Sc/Mymr.pl type=file
-c:\perl\lib/unicore/lib/Sc/Nko.pl type=file
-c:\perl\lib/unicore/lib/Sc/Ogam.pl type=file
-c:\perl\lib/unicore/lib/Sc/Orkh.pl type=file
-c:\perl\lib/unicore/lib/Sc/Orya.pl type=file
-c:\perl\lib/unicore/lib/Sc/Osma.pl type=file
-c:\perl\lib/unicore/lib/Sc/Phag.pl type=file
-c:\perl\lib/unicore/lib/Sc/Phli.pl type=file
-c:\perl\lib/unicore/lib/Sc/Phnx.pl type=file
-c:\perl\lib/unicore/lib/Sc/Prti.pl type=file
-c:\perl\lib/unicore/lib/Sc/Rjng.pl type=file
-c:\perl\lib/unicore/lib/Sc/Runr.pl type=file
-c:\perl\lib/unicore/lib/Sc/Samr.pl type=file
-c:\perl\lib/unicore/lib/Sc/Saur.pl type=file
-c:\perl\lib/unicore/lib/Sc/Sinh.pl type=file
-c:\perl\lib/unicore/lib/Sc/Sund.pl type=file
-c:\perl\lib/unicore/lib/Sc/Sylo.pl type=file
-c:\perl\lib/unicore/lib/Sc/Syrc.pl type=file
-c:\perl\lib/unicore/lib/Sc/Tagb.pl type=file
-c:\perl\lib/unicore/lib/Sc/Tale.pl type=file
-c:\perl\lib/unicore/lib/Sc/Talu.pl type=file
-c:\perl\lib/unicore/lib/Sc/Taml.pl type=file
-c:\perl\lib/unicore/lib/Sc/Tavt.pl type=file
-c:\perl\lib/unicore/lib/Sc/Telu.pl type=file
-c:\perl\lib/unicore/lib/Sc/Tfng.pl type=file
-c:\perl\lib/unicore/lib/Sc/Tglg.pl type=file
-c:\perl\lib/unicore/lib/Sc/Thaa.pl type=file
-c:\perl\lib/unicore/lib/Sc/Thai.pl type=file
-c:\perl\lib/unicore/lib/Sc/Tibt.pl type=file
-c:\perl\lib/unicore/lib/Sc/Ugar.pl type=file
-c:\perl\lib/unicore/lib/Sc/Vai.pl type=file
-c:\perl\lib/unicore/lib/Sc/Xpeo.pl type=file
-c:\perl\lib/unicore/lib/Sc/Xsux.pl type=file
-c:\perl\lib/unicore/lib/Sc/Yi.pl type=file
-c:\perl\lib/unicore/lib/Sc/Zinh.pl type=file
-c:\perl\lib/unicore/lib/Sc/Zyyy.pl type=file
-c:\perl\lib/unicore/lib/Sc/Zzzz.pl type=file
-c:\perl\lib/unicore/lib/Space/N.pl type=file
-c:\perl\lib/unicore/lib/Space/Y.pl type=file
-c:\perl\lib/unicore/lib/Term/N.pl type=file
-c:\perl\lib/unicore/lib/Term/Y.pl type=file
-c:\perl\lib/unicore/lib/UIdeo/N.pl type=file
-c:\perl\lib/unicore/lib/UIdeo/Y.pl type=file
-c:\perl\lib/unicore/lib/Upper/N.pl type=file
-c:\perl\lib/unicore/lib/Upper/Y.pl type=file
-c:\perl\lib/unicore/lib/VS/N.pl type=file
-c:\perl\lib/unicore/lib/VS/Y.pl type=file
-c:\perl\lib/unicore/lib/WB/EX.pl type=file
-c:\perl\lib/unicore/lib/WB/FO.pl type=file
-c:\perl\lib/unicore/lib/WB/KA.pl type=file
-c:\perl\lib/unicore/lib/WB/LE.pl type=file
-c:\perl\lib/unicore/lib/WB/MB.pl type=file
-c:\perl\lib/unicore/lib/WB/ML.pl type=file
-c:\perl\lib/unicore/lib/WB/MN.pl type=file
-c:\perl\lib/unicore/lib/WB/NL.pl type=file
-c:\perl\lib/unicore/lib/WB/NU.pl type=file
-c:\perl\lib/unicore/lib/WB/XX.pl type=file
-c:\perl\lib/unicore/lib/XIDC/N.pl type=file
-c:\perl\lib/unicore/lib/XIDC/Y.pl type=file
-c:\perl\lib/unicore/lib/XIDS/N.pl type=file
-c:\perl\lib/unicore/lib/XIDS/Y.pl type=file
-c:\perl\lib/unicore/mktables type=file
-c:\perl\lib/unicore/mktables.lst type=file
-c:\perl\lib/unicore/version type=file
-c:\perl\lib/utf8.pm type=file
-c:\perl\lib/utf8_heavy.pl type=file
-c:\perl\lib/validate.pl type=file
-c:\perl\lib/vars.pm type=file
-c:\perl\lib/version.pm type=file
-c:\perl\lib/version.pod type=file
-c:\perl\lib/version/Internals.pod type=file
-c:\perl\lib/vmsish.pm type=file
-c:\perl\lib/warnings.pm type=file
-c:\perl\lib/warnings/register.pm type=file
+x:\tlperl\bin/a2p.exe type=file
+x:\tlperl\bin/c2ph.bat type=file
+x:\tlperl\bin/config_data.bat type=file
+x:\tlperl\bin/corelist.bat type=file
+x:\tlperl\bin/cpan.bat type=file
+x:\tlperl\bin/cpan2dist.bat type=file
+x:\tlperl\bin/cpanp-run-perl.bat type=file
+x:\tlperl\bin/cpanp.bat type=file
+x:\tlperl\bin/dprofpp.bat type=file
+x:\tlperl\bin/enc2xs.bat type=file
+x:\tlperl\bin/find2perl.bat type=file
+x:\tlperl\bin/h2ph.bat type=file
+x:\tlperl\bin/h2xs.bat type=file
+x:\tlperl\bin/instmodsh.bat type=file
+x:\tlperl\bin/json_pp.bat type=file
+x:\tlperl\bin/libnetcfg.bat type=file
+x:\tlperl\bin/perl.exe from=x:\tlperl\bin/perl5.14.2.exe type=link
+x:\tlperl\bin/perl5.14.2.exe type=file
+x:\tlperl\bin/perl514.dll type=file
+x:\tlperl\bin/perlbug.bat type=file
+x:\tlperl\bin/perldoc.bat type=file
+x:\tlperl\bin/perlivp.bat type=file
+x:\tlperl\bin/perlthanks.bat from=x:\tlperl\bin/perlbug.bat type=link
+x:\tlperl\bin/piconv.bat type=file
+x:\tlperl\bin/pl2pm.bat type=file
+x:\tlperl\bin/pod2html.bat type=file
+x:\tlperl\bin/pod2latex.bat type=file
+x:\tlperl\bin/pod2man.bat type=file
+x:\tlperl\bin/pod2text.bat type=file
+x:\tlperl\bin/pod2usage.bat type=file
+x:\tlperl\bin/podchecker.bat type=file
+x:\tlperl\bin/podselect.bat type=file
+x:\tlperl\bin/prove.bat type=file
+x:\tlperl\bin/psed.bat from=x:\tlperl\bin/s2p.bat type=link
+x:\tlperl\bin/pstruct.bat from=x:\tlperl\bin/c2ph.bat type=link
+x:\tlperl\bin/ptar.bat type=file
+x:\tlperl\bin/ptardiff.bat type=file
+x:\tlperl\bin/ptargrep.bat type=file
+x:\tlperl\bin/s2p.bat type=file
+x:\tlperl\bin/shasum.bat type=file
+x:\tlperl\bin/splain.bat type=file
+x:\tlperl\bin/xsubpp.bat type=file
+x:\tlperl\lib/AnyDBM_File.pm type=file
+x:\tlperl\lib/App/Cpan.pm type=file
+x:\tlperl\lib/App/Prove.pm type=file
+x:\tlperl\lib/App/Prove/State.pm type=file
+x:\tlperl\lib/App/Prove/State/Result.pm type=file
+x:\tlperl\lib/App/Prove/State/Result/Test.pm type=file
+x:\tlperl\lib/Archive/Extract.pm type=file
+x:\tlperl\lib/Archive/Tar.pm type=file
+x:\tlperl\lib/Archive/Tar/Constant.pm type=file
+x:\tlperl\lib/Archive/Tar/File.pm type=file
+x:\tlperl\lib/Attribute/Handlers.pm type=file
+x:\tlperl\lib/AutoLoader.pm type=file
+x:\tlperl\lib/AutoSplit.pm type=file
+x:\tlperl\lib/B.pm type=file
+x:\tlperl\lib/B/Concise.pm type=file
+x:\tlperl\lib/B/Debug.pm type=file
+x:\tlperl\lib/B/Deparse.pm type=file
+x:\tlperl\lib/B/Lint.pm type=file
+x:\tlperl\lib/B/Lint/Debug.pm type=file
+x:\tlperl\lib/B/Showlex.pm type=file
+x:\tlperl\lib/B/Terse.pm type=file
+x:\tlperl\lib/B/Xref.pm type=file
+x:\tlperl\lib/Benchmark.pm type=file
+x:\tlperl\lib/CGI.pm type=file
+x:\tlperl\lib/CGI/Apache.pm type=file
+x:\tlperl\lib/CGI/Carp.pm type=file
+x:\tlperl\lib/CGI/Cookie.pm type=file
+x:\tlperl\lib/CGI/Fast.pm type=file
+x:\tlperl\lib/CGI/Pretty.pm type=file
+x:\tlperl\lib/CGI/Push.pm type=file
+x:\tlperl\lib/CGI/Switch.pm type=file
+x:\tlperl\lib/CGI/Util.pm type=file
+x:\tlperl\lib/CORE.pod type=file
+x:\tlperl\lib/CORE/EXTERN.h type=file
+x:\tlperl\lib/CORE/INTERN.h type=file
+x:\tlperl\lib/CORE/XSUB.h type=file
+x:\tlperl\lib/CORE/arpa/inet.h type=file
+x:\tlperl\lib/CORE/av.h type=file
+x:\tlperl\lib/CORE/bitcount.h type=file
+x:\tlperl\lib/CORE/config.h type=file
+x:\tlperl\lib/CORE/cop.h type=file
+x:\tlperl\lib/CORE/cv.h type=file
+x:\tlperl\lib/CORE/dirent.h type=file
+x:\tlperl\lib/CORE/dosish.h type=file
+x:\tlperl\lib/CORE/embed.h type=file
+x:\tlperl\lib/CORE/embedvar.h type=file
+x:\tlperl\lib/CORE/fakesdio.h type=file
+x:\tlperl\lib/CORE/fakethr.h type=file
+x:\tlperl\lib/CORE/form.h type=file
+x:\tlperl\lib/CORE/git_version.h type=file
+x:\tlperl\lib/CORE/gv.h type=file
+x:\tlperl\lib/CORE/handy.h type=file
+x:\tlperl\lib/CORE/hv.h type=file
+x:\tlperl\lib/CORE/intrpvar.h type=file
+x:\tlperl\lib/CORE/iperlsys.h type=file
+x:\tlperl\lib/CORE/keywords.h type=file
+x:\tlperl\lib/CORE/l1_char_class_tab.h type=file
+x:\tlperl\lib/CORE/libperl514.a type=file
+x:\tlperl\lib/CORE/malloc_ctl.h type=file
+x:\tlperl\lib/CORE/metaconfig.h type=file
+x:\tlperl\lib/CORE/mg.h type=file
+x:\tlperl\lib/CORE/mydtrace.h type=file
+x:\tlperl\lib/CORE/netdb.h type=file
+x:\tlperl\lib/CORE/nostdio.h type=file
+x:\tlperl\lib/CORE/op.h type=file
+x:\tlperl\lib/CORE/op_reg_common.h type=file
+x:\tlperl\lib/CORE/opcode.h type=file
+x:\tlperl\lib/CORE/opnames.h type=file
+x:\tlperl\lib/CORE/overload.h type=file
+x:\tlperl\lib/CORE/pad.h type=file
+x:\tlperl\lib/CORE/parser.h type=file
+x:\tlperl\lib/CORE/patchlevel.h type=file
+x:\tlperl\lib/CORE/perl.h type=file
+x:\tlperl\lib/CORE/perlapi.h type=file
+x:\tlperl\lib/CORE/perlhost.h type=file
+x:\tlperl\lib/CORE/perlio.h type=file
+x:\tlperl\lib/CORE/perliol.h type=file
+x:\tlperl\lib/CORE/perlsdio.h type=file
+x:\tlperl\lib/CORE/perlsfio.h type=file
+x:\tlperl\lib/CORE/perlvars.h type=file
+x:\tlperl\lib/CORE/perly.h type=file
+x:\tlperl\lib/CORE/pp.h type=file
+x:\tlperl\lib/CORE/pp_proto.h type=file
+x:\tlperl\lib/CORE/proto.h type=file
+x:\tlperl\lib/CORE/reentr.h type=file
+x:\tlperl\lib/CORE/regcharclass.h type=file
+x:\tlperl\lib/CORE/regcomp.h type=file
+x:\tlperl\lib/CORE/regexp.h type=file
+x:\tlperl\lib/CORE/regnodes.h type=file
+x:\tlperl\lib/CORE/scope.h type=file
+x:\tlperl\lib/CORE/sv.h type=file
+x:\tlperl\lib/CORE/sys/socket.h type=file
+x:\tlperl\lib/CORE/thread.h type=file
+x:\tlperl\lib/CORE/time64.h type=file
+x:\tlperl\lib/CORE/time64_config.h type=file
+x:\tlperl\lib/CORE/uconfig.h type=file
+x:\tlperl\lib/CORE/unixish.h type=file
+x:\tlperl\lib/CORE/utf8.h type=file
+x:\tlperl\lib/CORE/utfebcdic.h type=file
+x:\tlperl\lib/CORE/util.h type=file
+x:\tlperl\lib/CORE/uudmap.h type=file
+x:\tlperl\lib/CORE/vdir.h type=file
+x:\tlperl\lib/CORE/vmem.h type=file
+x:\tlperl\lib/CORE/warnings.h type=file
+x:\tlperl\lib/CORE/win32.h type=file
+x:\tlperl\lib/CORE/win32iop-o.h type=file
+x:\tlperl\lib/CORE/win32iop.h type=file
+x:\tlperl\lib/CORE/win32thread.h type=file
+x:\tlperl\lib/CORE/wince.h type=file
+x:\tlperl\lib/CPAN.pm type=file
+x:\tlperl\lib/CPAN/API/HOWTO.pod type=file
+x:\tlperl\lib/CPAN/Author.pm type=file
+x:\tlperl\lib/CPAN/Bundle.pm type=file
+x:\tlperl\lib/CPAN/CacheMgr.pm type=file
+x:\tlperl\lib/CPAN/Complete.pm type=file
+x:\tlperl\lib/CPAN/Debug.pm type=file
+x:\tlperl\lib/CPAN/DeferredCode.pm type=file
+x:\tlperl\lib/CPAN/Distribution.pm type=file
+x:\tlperl\lib/CPAN/Distroprefs.pm type=file
+x:\tlperl\lib/CPAN/Distrostatus.pm type=file
+x:\tlperl\lib/CPAN/Exception/RecursiveDependency.pm type=file
+x:\tlperl\lib/CPAN/Exception/blocked_urllist.pm type=file
+x:\tlperl\lib/CPAN/Exception/yaml_not_installed.pm type=file
+x:\tlperl\lib/CPAN/FTP.pm type=file
+x:\tlperl\lib/CPAN/FTP/netrc.pm type=file
+x:\tlperl\lib/CPAN/FirstTime.pm type=file
+x:\tlperl\lib/CPAN/HTTP/Client.pm type=file
+x:\tlperl\lib/CPAN/HTTP/Credentials.pm type=file
+x:\tlperl\lib/CPAN/HandleConfig.pm type=file
+x:\tlperl\lib/CPAN/Index.pm type=file
+x:\tlperl\lib/CPAN/InfoObj.pm type=file
+x:\tlperl\lib/CPAN/Kwalify.pm type=file
+x:\tlperl\lib/CPAN/Kwalify/distroprefs.dd type=file
+x:\tlperl\lib/CPAN/Kwalify/distroprefs.yml type=file
+x:\tlperl\lib/CPAN/LWP/UserAgent.pm type=file
+x:\tlperl\lib/CPAN/Meta.pm type=file
+x:\tlperl\lib/CPAN/Meta/Converter.pm type=file
+x:\tlperl\lib/CPAN/Meta/Feature.pm type=file
+x:\tlperl\lib/CPAN/Meta/History.pm type=file
+x:\tlperl\lib/CPAN/Meta/Prereqs.pm type=file
+x:\tlperl\lib/CPAN/Meta/Spec.pm type=file
+x:\tlperl\lib/CPAN/Meta/Validator.pm type=file
+x:\tlperl\lib/CPAN/Meta/YAML.pm type=file
+x:\tlperl\lib/CPAN/Mirrors.pm type=file
+x:\tlperl\lib/CPAN/Module.pm type=file
+x:\tlperl\lib/CPAN/Nox.pm type=file
+x:\tlperl\lib/CPAN/Prompt.pm type=file
+x:\tlperl\lib/CPAN/Queue.pm type=file
+x:\tlperl\lib/CPAN/Shell.pm type=file
+x:\tlperl\lib/CPAN/Tarzip.pm type=file
+x:\tlperl\lib/CPAN/URL.pm type=file
+x:\tlperl\lib/CPAN/Version.pm type=file
+x:\tlperl\lib/CPANPLUS.pm type=file
+x:\tlperl\lib/CPANPLUS/Backend.pm type=file
+x:\tlperl\lib/CPANPLUS/Backend/RV.pm type=file
+x:\tlperl\lib/CPANPLUS/Config.pm type=file
+x:\tlperl\lib/CPANPLUS/Configure.pm type=file
+x:\tlperl\lib/CPANPLUS/Configure/Setup.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist/Autobundle.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist/Base.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist/Build.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist/Build/Constants.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist/MM.pm type=file
+x:\tlperl\lib/CPANPLUS/Dist/Sample.pm type=file
+x:\tlperl\lib/CPANPLUS/Error.pm type=file
+x:\tlperl\lib/CPANPLUS/FAQ.pod type=file
+x:\tlperl\lib/CPANPLUS/Hacking.pod type=file
+x:\tlperl\lib/CPANPLUS/Internals.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Constants.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Constants/Report.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Extract.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Fetch.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Report.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Search.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Source.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Source/Memory.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Source/SQLite.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Source/SQLite/Tie.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Utils.pm type=file
+x:\tlperl\lib/CPANPLUS/Internals/Utils/Autoflush.pm type=file
+x:\tlperl\lib/CPANPLUS/Module.pm type=file
+x:\tlperl\lib/CPANPLUS/Module/Author.pm type=file
+x:\tlperl\lib/CPANPLUS/Module/Author/Fake.pm type=file
+x:\tlperl\lib/CPANPLUS/Module/Checksums.pm type=file
+x:\tlperl\lib/CPANPLUS/Module/Fake.pm type=file
+x:\tlperl\lib/CPANPLUS/Module/Signature.pm type=file
+x:\tlperl\lib/CPANPLUS/Selfupdate.pm type=file
+x:\tlperl\lib/CPANPLUS/Shell.pm type=file
+x:\tlperl\lib/CPANPLUS/Shell/Classic.pm type=file
+x:\tlperl\lib/CPANPLUS/Shell/Default.pm type=file
+x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm type=file
+x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod type=file
+x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/Remote.pm type=file
+x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/Source.pm type=file
+x:\tlperl\lib/Carp.pm type=file
+x:\tlperl\lib/Carp/Heavy.pm type=file
+x:\tlperl\lib/Class/Struct.pm type=file
+x:\tlperl\lib/Compress/Raw/Bzip2.pm type=file
+x:\tlperl\lib/Compress/Raw/Zlib.pm type=file
+x:\tlperl\lib/Compress/Zlib.pm type=file
+x:\tlperl\lib/Config.pm type=file
+x:\tlperl\lib/Config.pod type=file
+x:\tlperl\lib/Config/Extensions.pm type=file
+x:\tlperl\lib/Config_git.pl type=file
+x:\tlperl\lib/Config_heavy.pl type=file
+x:\tlperl\lib/Cwd.pm type=file
+x:\tlperl\lib/DB.pm type=file
+x:\tlperl\lib/DBM_Filter.pm type=file
+x:\tlperl\lib/DBM_Filter/compress.pm type=file
+x:\tlperl\lib/DBM_Filter/encode.pm type=file
+x:\tlperl\lib/DBM_Filter/int32.pm type=file
+x:\tlperl\lib/DBM_Filter/null.pm type=file
+x:\tlperl\lib/DBM_Filter/utf8.pm type=file
+x:\tlperl\lib/Data/Dumper.pm type=file
+x:\tlperl\lib/Devel/DProf.pm type=file
+x:\tlperl\lib/Devel/DProf/V.pm type=file
+x:\tlperl\lib/Devel/DProf/test1_t type=file
+x:\tlperl\lib/Devel/DProf/test1_v type=file
+x:\tlperl\lib/Devel/DProf/test2_t type=file
+x:\tlperl\lib/Devel/DProf/test2_v type=file
+x:\tlperl\lib/Devel/DProf/test3_t type=file
+x:\tlperl\lib/Devel/DProf/test3_v type=file
+x:\tlperl\lib/Devel/DProf/test4_t type=file
+x:\tlperl\lib/Devel/DProf/test4_v type=file
+x:\tlperl\lib/Devel/DProf/test5_t type=file
+x:\tlperl\lib/Devel/DProf/test5_v type=file
+x:\tlperl\lib/Devel/DProf/test6_t type=file
+x:\tlperl\lib/Devel/DProf/test6_v type=file
+x:\tlperl\lib/Devel/DProf/test7_t type=file
+x:\tlperl\lib/Devel/DProf/test7_v type=file
+x:\tlperl\lib/Devel/DProf/test8_t type=file
+x:\tlperl\lib/Devel/DProf/test8_v type=file
+x:\tlperl\lib/Devel/InnerPackage.pm type=file
+x:\tlperl\lib/Devel/PPPort.pm type=file
+x:\tlperl\lib/Devel/Peek.pm type=file
+x:\tlperl\lib/Devel/SelfStubber.pm type=file
+x:\tlperl\lib/Digest.pm type=file
+x:\tlperl\lib/Digest/MD5.pm type=file
+x:\tlperl\lib/Digest/SHA.pm type=file
+x:\tlperl\lib/Digest/base.pm type=file
+x:\tlperl\lib/Digest/file.pm type=file
+x:\tlperl\lib/DirHandle.pm type=file
+x:\tlperl\lib/Dumpvalue.pm type=file
+x:\tlperl\lib/DynaLoader.pm type=file
+x:\tlperl\lib/Encode.pm type=file
+x:\tlperl\lib/Encode/Alias.pm type=file
+x:\tlperl\lib/Encode/Byte.pm type=file
+x:\tlperl\lib/Encode/CJKConstants.pm type=file
+x:\tlperl\lib/Encode/CN.pm type=file
+x:\tlperl\lib/Encode/CN/HZ.pm type=file
+x:\tlperl\lib/Encode/Changes.e2x type=file
+x:\tlperl\lib/Encode/Config.pm type=file
+x:\tlperl\lib/Encode/ConfigLocal_PM.e2x type=file
+x:\tlperl\lib/Encode/EBCDIC.pm type=file
+x:\tlperl\lib/Encode/Encoder.pm type=file
+x:\tlperl\lib/Encode/Encoding.pm type=file
+x:\tlperl\lib/Encode/GSM0338.pm type=file
+x:\tlperl\lib/Encode/Guess.pm type=file
+x:\tlperl\lib/Encode/JP.pm type=file
+x:\tlperl\lib/Encode/JP/H2Z.pm type=file
+x:\tlperl\lib/Encode/JP/JIS7.pm type=file
+x:\tlperl\lib/Encode/KR.pm type=file
+x:\tlperl\lib/Encode/KR/2022_KR.pm type=file
+x:\tlperl\lib/Encode/MIME/Header.pm type=file
+x:\tlperl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file
+x:\tlperl\lib/Encode/MIME/Name.pm type=file
+x:\tlperl\lib/Encode/Makefile_PL.e2x type=file
+x:\tlperl\lib/Encode/PerlIO.pod type=file
+x:\tlperl\lib/Encode/README.e2x type=file
+x:\tlperl\lib/Encode/Supported.pod type=file
+x:\tlperl\lib/Encode/Symbol.pm type=file
+x:\tlperl\lib/Encode/TW.pm type=file
+x:\tlperl\lib/Encode/Unicode.pm type=file
+x:\tlperl\lib/Encode/Unicode/UTF7.pm type=file
+x:\tlperl\lib/Encode/_PM.e2x type=file
+x:\tlperl\lib/Encode/_T.e2x type=file
+x:\tlperl\lib/Encode/encode.h type=file
+x:\tlperl\lib/English.pm type=file
+x:\tlperl\lib/Env.pm type=file
+x:\tlperl\lib/Errno.pm type=file
+x:\tlperl\lib/Exporter.pm type=file
+x:\tlperl\lib/Exporter/Heavy.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Base.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file
+x:\tlperl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file
+x:\tlperl\lib/ExtUtils/Command.pm type=file
+x:\tlperl\lib/ExtUtils/Command/MM.pm type=file
+x:\tlperl\lib/ExtUtils/Constant.pm type=file
+x:\tlperl\lib/ExtUtils/Constant/Base.pm type=file
+x:\tlperl\lib/ExtUtils/Constant/ProxySubs.pm type=file
+x:\tlperl\lib/ExtUtils/Constant/Utils.pm type=file
+x:\tlperl\lib/ExtUtils/Constant/XS.pm type=file
+x:\tlperl\lib/ExtUtils/Embed.pm type=file
+x:\tlperl\lib/ExtUtils/Install.pm type=file
+x:\tlperl\lib/ExtUtils/Installed.pm type=file
+x:\tlperl\lib/ExtUtils/Liblist.pm type=file
+x:\tlperl\lib/ExtUtils/Liblist/Kid.pm type=file
+x:\tlperl\lib/ExtUtils/MANIFEST.SKIP type=file
+x:\tlperl\lib/ExtUtils/MM.pm type=file
+x:\tlperl\lib/ExtUtils/MM_AIX.pm type=file
+x:\tlperl\lib/ExtUtils/MM_Any.pm type=file
+x:\tlperl\lib/ExtUtils/MM_BeOS.pm type=file
+x:\tlperl\lib/ExtUtils/MM_Cygwin.pm type=file
+x:\tlperl\lib/ExtUtils/MM_DOS.pm type=file
+x:\tlperl\lib/ExtUtils/MM_Darwin.pm type=file
+x:\tlperl\lib/ExtUtils/MM_MacOS.pm type=file
+x:\tlperl\lib/ExtUtils/MM_NW5.pm type=file
+x:\tlperl\lib/ExtUtils/MM_OS2.pm type=file
+x:\tlperl\lib/ExtUtils/MM_QNX.pm type=file
+x:\tlperl\lib/ExtUtils/MM_UWIN.pm type=file
+x:\tlperl\lib/ExtUtils/MM_Unix.pm type=file
+x:\tlperl\lib/ExtUtils/MM_VMS.pm type=file
+x:\tlperl\lib/ExtUtils/MM_VOS.pm type=file
+x:\tlperl\lib/ExtUtils/MM_Win32.pm type=file
+x:\tlperl\lib/ExtUtils/MM_Win95.pm type=file
+x:\tlperl\lib/ExtUtils/MY.pm type=file
+x:\tlperl\lib/ExtUtils/MakeMaker.pm type=file
+x:\tlperl\lib/ExtUtils/MakeMaker/Config.pm type=file
+x:\tlperl\lib/ExtUtils/MakeMaker/FAQ.pod type=file
+x:\tlperl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file
+x:\tlperl\lib/ExtUtils/MakeMaker/YAML.pm type=file
+x:\tlperl\lib/ExtUtils/Manifest.pm type=file
+x:\tlperl\lib/ExtUtils/Miniperl.pm type=file
+x:\tlperl\lib/ExtUtils/Mkbootstrap.pm type=file
+x:\tlperl\lib/ExtUtils/Mksymlists.pm type=file
+x:\tlperl\lib/ExtUtils/Packlist.pm type=file
+x:\tlperl\lib/ExtUtils/ParseXS.pm type=file
+x:\tlperl\lib/ExtUtils/testlib.pm type=file
+x:\tlperl\lib/ExtUtils/typemap type=file
+x:\tlperl\lib/ExtUtils/xsubpp type=file
+x:\tlperl\lib/Fatal.pm type=file
+x:\tlperl\lib/Fcntl.pm type=file
+x:\tlperl\lib/File/Basename.pm type=file
+x:\tlperl\lib/File/CheckTree.pm type=file
+x:\tlperl\lib/File/Compare.pm type=file
+x:\tlperl\lib/File/Copy.pm type=file
+x:\tlperl\lib/File/DosGlob.pm type=file
+x:\tlperl\lib/File/Fetch.pm type=file
+x:\tlperl\lib/File/Find.pm type=file
+x:\tlperl\lib/File/Glob.pm type=file
+x:\tlperl\lib/File/GlobMapper.pm type=file
+x:\tlperl\lib/File/Path.pm type=file
+x:\tlperl\lib/File/Spec.pm type=file
+x:\tlperl\lib/File/Spec/Cygwin.pm type=file
+x:\tlperl\lib/File/Spec/Epoc.pm type=file
+x:\tlperl\lib/File/Spec/Functions.pm type=file
+x:\tlperl\lib/File/Spec/Mac.pm type=file
+x:\tlperl\lib/File/Spec/OS2.pm type=file
+x:\tlperl\lib/File/Spec/Unix.pm type=file
+x:\tlperl\lib/File/Spec/VMS.pm type=file
+x:\tlperl\lib/File/Spec/Win32.pm type=file
+x:\tlperl\lib/File/Temp.pm type=file
+x:\tlperl\lib/File/stat.pm type=file
+x:\tlperl\lib/FileCache.pm type=file
+x:\tlperl\lib/FileHandle.pm type=file
+x:\tlperl\lib/Filter/Simple.pm type=file
+x:\tlperl\lib/Filter/Util/Call.pm type=file
+x:\tlperl\lib/FindBin.pm type=file
+x:\tlperl\lib/Getopt/Long.pm type=file
+x:\tlperl\lib/Getopt/Std.pm type=file
+x:\tlperl\lib/HTTP/Tiny.pm type=file
+x:\tlperl\lib/Hash/Util.pm type=file
+x:\tlperl\lib/Hash/Util/FieldHash.pm type=file
+x:\tlperl\lib/I18N/Collate.pm type=file
+x:\tlperl\lib/I18N/LangTags.pm type=file
+x:\tlperl\lib/I18N/LangTags/Detect.pm type=file
+x:\tlperl\lib/I18N/LangTags/List.pm type=file
+x:\tlperl\lib/IO.pm type=file
+x:\tlperl\lib/IO/Compress/Adapter/Bzip2.pm type=file
+x:\tlperl\lib/IO/Compress/Adapter/Deflate.pm type=file
+x:\tlperl\lib/IO/Compress/Adapter/Identity.pm type=file
+x:\tlperl\lib/IO/Compress/Base.pm type=file
+x:\tlperl\lib/IO/Compress/Base/Common.pm type=file
+x:\tlperl\lib/IO/Compress/Bzip2.pm type=file
+x:\tlperl\lib/IO/Compress/Deflate.pm type=file
+x:\tlperl\lib/IO/Compress/Gzip.pm type=file
+x:\tlperl\lib/IO/Compress/Gzip/Constants.pm type=file
+x:\tlperl\lib/IO/Compress/RawDeflate.pm type=file
+x:\tlperl\lib/IO/Compress/Zip.pm type=file
+x:\tlperl\lib/IO/Compress/Zip/Constants.pm type=file
+x:\tlperl\lib/IO/Compress/Zlib/Constants.pm type=file
+x:\tlperl\lib/IO/Compress/Zlib/Extra.pm type=file
+x:\tlperl\lib/IO/Dir.pm type=file
+x:\tlperl\lib/IO/File.pm type=file
+x:\tlperl\lib/IO/Handle.pm type=file
+x:\tlperl\lib/IO/Pipe.pm type=file
+x:\tlperl\lib/IO/Poll.pm type=file
+x:\tlperl\lib/IO/Seekable.pm type=file
+x:\tlperl\lib/IO/Select.pm type=file
+x:\tlperl\lib/IO/Socket.pm type=file
+x:\tlperl\lib/IO/Socket/INET.pm type=file
+x:\tlperl\lib/IO/Socket/UNIX.pm type=file
+x:\tlperl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file
+x:\tlperl\lib/IO/Uncompress/Adapter/Identity.pm type=file
+x:\tlperl\lib/IO/Uncompress/Adapter/Inflate.pm type=file
+x:\tlperl\lib/IO/Uncompress/AnyInflate.pm type=file
+x:\tlperl\lib/IO/Uncompress/AnyUncompress.pm type=file
+x:\tlperl\lib/IO/Uncompress/Base.pm type=file
+x:\tlperl\lib/IO/Uncompress/Bunzip2.pm type=file
+x:\tlperl\lib/IO/Uncompress/Gunzip.pm type=file
+x:\tlperl\lib/IO/Uncompress/Inflate.pm type=file
+x:\tlperl\lib/IO/Uncompress/RawInflate.pm type=file
+x:\tlperl\lib/IO/Uncompress/Unzip.pm type=file
+x:\tlperl\lib/IO/Zlib.pm type=file
+x:\tlperl\lib/IPC/Cmd.pm type=file
+x:\tlperl\lib/IPC/Open2.pm type=file
+x:\tlperl\lib/IPC/Open3.pm type=file
+x:\tlperl\lib/JSON/PP.pm type=file
+x:\tlperl\lib/JSON/PP/Boolean.pm type=file
+x:\tlperl\lib/List/Util.pm type=file
+x:\tlperl\lib/List/Util/PP.pm type=file
+x:\tlperl\lib/List/Util/XS.pm type=file
+x:\tlperl\lib/Locale/Codes.pm type=file
+x:\tlperl\lib/Locale/Codes.pod type=file
+x:\tlperl\lib/Locale/Codes/Changes.pod type=file
+x:\tlperl\lib/Locale/Codes/Country.pm type=file
+x:\tlperl\lib/Locale/Codes/Currency.pm type=file
+x:\tlperl\lib/Locale/Codes/Language.pm type=file
+x:\tlperl\lib/Locale/Codes/Script.pm type=file
+x:\tlperl\lib/Locale/Constants.pm type=file
+x:\tlperl\lib/Locale/Constants.pod type=file
+x:\tlperl\lib/Locale/Country.pm type=file
+x:\tlperl\lib/Locale/Country.pod type=file
+x:\tlperl\lib/Locale/Currency.pm type=file
+x:\tlperl\lib/Locale/Currency.pod type=file
+x:\tlperl\lib/Locale/Language.pm type=file
+x:\tlperl\lib/Locale/Language.pod type=file
+x:\tlperl\lib/Locale/Maketext.pm type=file
+x:\tlperl\lib/Locale/Maketext.pod type=file
+x:\tlperl\lib/Locale/Maketext/Cookbook.pod type=file
+x:\tlperl\lib/Locale/Maketext/Guts.pm type=file
+x:\tlperl\lib/Locale/Maketext/GutsLoader.pm type=file
+x:\tlperl\lib/Locale/Maketext/Simple.pm type=file
+x:\tlperl\lib/Locale/Maketext/TPJ13.pod type=file
+x:\tlperl\lib/Locale/Script.pm type=file
+x:\tlperl\lib/Locale/Script.pod type=file
+x:\tlperl\lib/Log/Message.pm type=file
+x:\tlperl\lib/Log/Message/Config.pm type=file
+x:\tlperl\lib/Log/Message/Handlers.pm type=file
+x:\tlperl\lib/Log/Message/Item.pm type=file
+x:\tlperl\lib/Log/Message/Simple.pm type=file
+x:\tlperl\lib/MIME/Base64.pm type=file
+x:\tlperl\lib/MIME/QuotedPrint.pm type=file
+x:\tlperl\lib/Math/BigFloat.pm type=file
+x:\tlperl\lib/Math/BigFloat/Trace.pm type=file
+x:\tlperl\lib/Math/BigInt.pm type=file
+x:\tlperl\lib/Math/BigInt/Calc.pm type=file
+x:\tlperl\lib/Math/BigInt/CalcEmu.pm type=file
+x:\tlperl\lib/Math/BigInt/FastCalc.pm type=file
+x:\tlperl\lib/Math/BigInt/Trace.pm type=file
+x:\tlperl\lib/Math/BigRat.pm type=file
+x:\tlperl\lib/Math/Complex.pm type=file
+x:\tlperl\lib/Math/Trig.pm type=file
+x:\tlperl\lib/Memoize.pm type=file
+x:\tlperl\lib/Memoize/AnyDBM_File.pm type=file
+x:\tlperl\lib/Memoize/Expire.pm type=file
+x:\tlperl\lib/Memoize/ExpireFile.pm type=file
+x:\tlperl\lib/Memoize/ExpireTest.pm type=file
+x:\tlperl\lib/Memoize/NDBM_File.pm type=file
+x:\tlperl\lib/Memoize/SDBM_File.pm type=file
+x:\tlperl\lib/Memoize/Storable.pm type=file
+x:\tlperl\lib/Module/Build.pm type=file
+x:\tlperl\lib/Module/Build/API.pod type=file
+x:\tlperl\lib/Module/Build/Authoring.pod type=file
+x:\tlperl\lib/Module/Build/Base.pm type=file
+x:\tlperl\lib/Module/Build/Bundling.pod type=file
+x:\tlperl\lib/Module/Build/Compat.pm type=file
+x:\tlperl\lib/Module/Build/Config.pm type=file
+x:\tlperl\lib/Module/Build/ConfigData.pm type=file
+x:\tlperl\lib/Module/Build/Cookbook.pm type=file
+x:\tlperl\lib/Module/Build/Dumper.pm type=file
+x:\tlperl\lib/Module/Build/ModuleInfo.pm type=file
+x:\tlperl\lib/Module/Build/Notes.pm type=file
+x:\tlperl\lib/Module/Build/PPMMaker.pm type=file
+x:\tlperl\lib/Module/Build/Platform/Amiga.pm type=file
+x:\tlperl\lib/Module/Build/Platform/Default.pm type=file
+x:\tlperl\lib/Module/Build/Platform/EBCDIC.pm type=file
+x:\tlperl\lib/Module/Build/Platform/MPEiX.pm type=file
+x:\tlperl\lib/Module/Build/Platform/MacOS.pm type=file
+x:\tlperl\lib/Module/Build/Platform/RiscOS.pm type=file
+x:\tlperl\lib/Module/Build/Platform/Unix.pm type=file
+x:\tlperl\lib/Module/Build/Platform/VMS.pm type=file
+x:\tlperl\lib/Module/Build/Platform/VOS.pm type=file
+x:\tlperl\lib/Module/Build/Platform/Windows.pm type=file
+x:\tlperl\lib/Module/Build/Platform/aix.pm type=file
+x:\tlperl\lib/Module/Build/Platform/cygwin.pm type=file
+x:\tlperl\lib/Module/Build/Platform/darwin.pm type=file
+x:\tlperl\lib/Module/Build/Platform/os2.pm type=file
+x:\tlperl\lib/Module/Build/PodParser.pm type=file
+x:\tlperl\lib/Module/Build/Version.pm type=file
+x:\tlperl\lib/Module/Build/YAML.pm type=file
+x:\tlperl\lib/Module/CoreList.pm type=file
+x:\tlperl\lib/Module/Load.pm type=file
+x:\tlperl\lib/Module/Load/Conditional.pm type=file
+x:\tlperl\lib/Module/Loaded.pm type=file
+x:\tlperl\lib/Module/Metadata.pm type=file
+x:\tlperl\lib/Module/Pluggable.pm type=file
+x:\tlperl\lib/Module/Pluggable/Object.pm type=file
+x:\tlperl\lib/NEXT.pm type=file
+x:\tlperl\lib/Net/Cmd.pm type=file
+x:\tlperl\lib/Net/Config.pm type=file
+x:\tlperl\lib/Net/Domain.pm type=file
+x:\tlperl\lib/Net/FTP.pm type=file
+x:\tlperl\lib/Net/FTP/A.pm type=file
+x:\tlperl\lib/Net/FTP/E.pm type=file
+x:\tlperl\lib/Net/FTP/I.pm type=file
+x:\tlperl\lib/Net/FTP/L.pm type=file
+x:\tlperl\lib/Net/FTP/dataconn.pm type=file
+x:\tlperl\lib/Net/NNTP.pm type=file
+x:\tlperl\lib/Net/Netrc.pm type=file
+x:\tlperl\lib/Net/POP3.pm type=file
+x:\tlperl\lib/Net/Ping.pm type=file
+x:\tlperl\lib/Net/SMTP.pm type=file
+x:\tlperl\lib/Net/Time.pm type=file
+x:\tlperl\lib/Net/hostent.pm type=file
+x:\tlperl\lib/Net/libnetFAQ.pod type=file
+x:\tlperl\lib/Net/netent.pm type=file
+x:\tlperl\lib/Net/protoent.pm type=file
+x:\tlperl\lib/Net/servent.pm type=file
+x:\tlperl\lib/O.pm type=file
+x:\tlperl\lib/Object/Accessor.pm type=file
+x:\tlperl\lib/Opcode.pm type=file
+x:\tlperl\lib/POSIX.pm type=file
+x:\tlperl\lib/POSIX.pod type=file
+x:\tlperl\lib/Package/Constants.pm type=file
+x:\tlperl\lib/Params/Check.pm type=file
+x:\tlperl\lib/Parse/CPAN/Meta.pm type=file
+x:\tlperl\lib/Perl/OSType.pm type=file
+x:\tlperl\lib/PerlIO.pm type=file
+x:\tlperl\lib/PerlIO/encoding.pm type=file
+x:\tlperl\lib/PerlIO/scalar.pm type=file
+x:\tlperl\lib/PerlIO/via.pm type=file
+x:\tlperl\lib/PerlIO/via/QuotedPrint.pm type=file
+x:\tlperl\lib/Pod/Checker.pm type=file
+x:\tlperl\lib/Pod/Escapes.pm type=file
+x:\tlperl\lib/Pod/Find.pm type=file
+x:\tlperl\lib/Pod/Functions.pm type=file
+x:\tlperl\lib/Pod/Html.pm type=file
+x:\tlperl\lib/Pod/InputObjects.pm type=file
+x:\tlperl\lib/Pod/LaTeX.pm type=file
+x:\tlperl\lib/Pod/Man.pm type=file
+x:\tlperl\lib/Pod/ParseLink.pm type=file
+x:\tlperl\lib/Pod/ParseUtils.pm type=file
+x:\tlperl\lib/Pod/Parser.pm type=file
+x:\tlperl\lib/Pod/Perldoc.pm type=file
+x:\tlperl\lib/Pod/Perldoc/BaseTo.pm type=file
+x:\tlperl\lib/Pod/Perldoc/GetOptsOO.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToChecker.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToMan.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToNroff.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToPod.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToRtf.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToText.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToTk.pm type=file
+x:\tlperl\lib/Pod/Perldoc/ToXml.pm type=file
+x:\tlperl\lib/Pod/PlainText.pm type=file
+x:\tlperl\lib/Pod/Select.pm type=file
+x:\tlperl\lib/Pod/Simple.pm type=file
+x:\tlperl\lib/Pod/Simple.pod type=file
+x:\tlperl\lib/Pod/Simple/BlackBox.pm type=file
+x:\tlperl\lib/Pod/Simple/Checker.pm type=file
+x:\tlperl\lib/Pod/Simple/Debug.pm type=file
+x:\tlperl\lib/Pod/Simple/DumpAsText.pm type=file
+x:\tlperl\lib/Pod/Simple/DumpAsXML.pm type=file
+x:\tlperl\lib/Pod/Simple/HTML.pm type=file
+x:\tlperl\lib/Pod/Simple/HTMLBatch.pm type=file
+x:\tlperl\lib/Pod/Simple/HTMLLegacy.pm type=file
+x:\tlperl\lib/Pod/Simple/LinkSection.pm type=file
+x:\tlperl\lib/Pod/Simple/Methody.pm type=file
+x:\tlperl\lib/Pod/Simple/Progress.pm type=file
+x:\tlperl\lib/Pod/Simple/PullParser.pm type=file
+x:\tlperl\lib/Pod/Simple/PullParserEndToken.pm type=file
+x:\tlperl\lib/Pod/Simple/PullParserStartToken.pm type=file
+x:\tlperl\lib/Pod/Simple/PullParserTextToken.pm type=file
+x:\tlperl\lib/Pod/Simple/PullParserToken.pm type=file
+x:\tlperl\lib/Pod/Simple/RTF.pm type=file
+x:\tlperl\lib/Pod/Simple/Search.pm type=file
+x:\tlperl\lib/Pod/Simple/SimpleTree.pm type=file
+x:\tlperl\lib/Pod/Simple/Subclassing.pod type=file
+x:\tlperl\lib/Pod/Simple/Text.pm type=file
+x:\tlperl\lib/Pod/Simple/TextContent.pm type=file
+x:\tlperl\lib/Pod/Simple/TiedOutFH.pm type=file
+x:\tlperl\lib/Pod/Simple/Transcode.pm type=file
+x:\tlperl\lib/Pod/Simple/TranscodeDumb.pm type=file
+x:\tlperl\lib/Pod/Simple/TranscodeSmart.pm type=file
+x:\tlperl\lib/Pod/Simple/XHTML.pm type=file
+x:\tlperl\lib/Pod/Simple/XMLOutStream.pm type=file
+x:\tlperl\lib/Pod/Text.pm type=file
+x:\tlperl\lib/Pod/Text/Color.pm type=file
+x:\tlperl\lib/Pod/Text/Overstrike.pm type=file
+x:\tlperl\lib/Pod/Text/Termcap.pm type=file
+x:\tlperl\lib/Pod/Usage.pm type=file
+x:\tlperl\lib/SDBM_File.pm type=file
+x:\tlperl\lib/Safe.pm type=file
+x:\tlperl\lib/Scalar/Util.pm type=file
+x:\tlperl\lib/Scalar/Util/PP.pm type=file
+x:\tlperl\lib/Search/Dict.pm type=file
+x:\tlperl\lib/SelectSaver.pm type=file
+x:\tlperl\lib/SelfLoader.pm type=file
+x:\tlperl\lib/Shell.pm type=file
+x:\tlperl\lib/Socket.pm type=file
+x:\tlperl\lib/Storable.pm type=file
+x:\tlperl\lib/Symbol.pm type=file
+x:\tlperl\lib/Sys/Hostname.pm type=file
+x:\tlperl\lib/TAP/Base.pm type=file
+x:\tlperl\lib/TAP/Formatter/Base.pm type=file
+x:\tlperl\lib/TAP/Formatter/Color.pm type=file
+x:\tlperl\lib/TAP/Formatter/Console.pm type=file
+x:\tlperl\lib/TAP/Formatter/Console/ParallelSession.pm type=file
+x:\tlperl\lib/TAP/Formatter/Console/Session.pm type=file
+x:\tlperl\lib/TAP/Formatter/File.pm type=file
+x:\tlperl\lib/TAP/Formatter/File/Session.pm type=file
+x:\tlperl\lib/TAP/Formatter/Session.pm type=file
+x:\tlperl\lib/TAP/Harness.pm type=file
+x:\tlperl\lib/TAP/Harness/Beyond.pod type=file
+x:\tlperl\lib/TAP/Object.pm type=file
+x:\tlperl\lib/TAP/Parser.pm type=file
+x:\tlperl\lib/TAP/Parser/Aggregator.pm type=file
+x:\tlperl\lib/TAP/Parser/Grammar.pm type=file
+x:\tlperl\lib/TAP/Parser/Iterator.pm type=file
+x:\tlperl\lib/TAP/Parser/Iterator/Array.pm type=file
+x:\tlperl\lib/TAP/Parser/Iterator/Process.pm type=file
+x:\tlperl\lib/TAP/Parser/Iterator/Stream.pm type=file
+x:\tlperl\lib/TAP/Parser/IteratorFactory.pm type=file
+x:\tlperl\lib/TAP/Parser/Multiplexer.pm type=file
+x:\tlperl\lib/TAP/Parser/Result.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Bailout.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Comment.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Plan.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Pragma.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Test.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Unknown.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/Version.pm type=file
+x:\tlperl\lib/TAP/Parser/Result/YAML.pm type=file
+x:\tlperl\lib/TAP/Parser/ResultFactory.pm type=file
+x:\tlperl\lib/TAP/Parser/Scheduler.pm type=file
+x:\tlperl\lib/TAP/Parser/Scheduler/Job.pm type=file
+x:\tlperl\lib/TAP/Parser/Scheduler/Spinner.pm type=file
+x:\tlperl\lib/TAP/Parser/Source.pm type=file
+x:\tlperl\lib/TAP/Parser/SourceHandler.pm type=file
+x:\tlperl\lib/TAP/Parser/SourceHandler/Executable.pm type=file
+x:\tlperl\lib/TAP/Parser/SourceHandler/File.pm type=file
+x:\tlperl\lib/TAP/Parser/SourceHandler/Handle.pm type=file
+x:\tlperl\lib/TAP/Parser/SourceHandler/Perl.pm type=file
+x:\tlperl\lib/TAP/Parser/SourceHandler/RawTAP.pm type=file
+x:\tlperl\lib/TAP/Parser/Utils.pm type=file
+x:\tlperl\lib/TAP/Parser/YAMLish/Reader.pm type=file
+x:\tlperl\lib/TAP/Parser/YAMLish/Writer.pm type=file
+x:\tlperl\lib/Term/ANSIColor.pm type=file
+x:\tlperl\lib/Term/Cap.pm type=file
+x:\tlperl\lib/Term/Complete.pm type=file
+x:\tlperl\lib/Term/ReadLine.pm type=file
+x:\tlperl\lib/Term/UI.pm type=file
+x:\tlperl\lib/Term/UI/History.pm type=file
+x:\tlperl\lib/Test.pm type=file
+x:\tlperl\lib/Test/Builder.pm type=file
+x:\tlperl\lib/Test/Builder/Module.pm type=file
+x:\tlperl\lib/Test/Builder/Tester.pm type=file
+x:\tlperl\lib/Test/Builder/Tester/Color.pm type=file
+x:\tlperl\lib/Test/Harness.pm type=file
+x:\tlperl\lib/Test/More.pm type=file
+x:\tlperl\lib/Test/Simple.pm type=file
+x:\tlperl\lib/Test/Tutorial.pod type=file
+x:\tlperl\lib/Text/Abbrev.pm type=file
+x:\tlperl\lib/Text/Balanced.pm type=file
+x:\tlperl\lib/Text/ParseWords.pm type=file
+x:\tlperl\lib/Text/Soundex.pm type=file
+x:\tlperl\lib/Text/Tabs.pm type=file
+x:\tlperl\lib/Text/Wrap.pm type=file
+x:\tlperl\lib/Thread.pm type=file
+x:\tlperl\lib/Thread/Queue.pm type=file
+x:\tlperl\lib/Thread/Semaphore.pm type=file
+x:\tlperl\lib/Tie/Array.pm type=file
+x:\tlperl\lib/Tie/File.pm type=file
+x:\tlperl\lib/Tie/Handle.pm type=file
+x:\tlperl\lib/Tie/Hash.pm type=file
+x:\tlperl\lib/Tie/Hash/NamedCapture.pm type=file
+x:\tlperl\lib/Tie/Memoize.pm type=file
+x:\tlperl\lib/Tie/RefHash.pm type=file
+x:\tlperl\lib/Tie/Scalar.pm type=file
+x:\tlperl\lib/Tie/StdHandle.pm type=file
+x:\tlperl\lib/Tie/SubstrHash.pm type=file
+x:\tlperl\lib/Time/HiRes.pm type=file
+x:\tlperl\lib/Time/Local.pm type=file
+x:\tlperl\lib/Time/Piece.pm type=file
+x:\tlperl\lib/Time/Seconds.pm type=file
+x:\tlperl\lib/Time/gmtime.pm type=file
+x:\tlperl\lib/Time/localtime.pm type=file
+x:\tlperl\lib/Time/tm.pm type=file
+x:\tlperl\lib/UNIVERSAL.pm type=file
+x:\tlperl\lib/Unicode/Collate.pm type=file
+x:\tlperl\lib/Unicode/Collate/CJK/Big5.pm type=file
+x:\tlperl\lib/Unicode/Collate/CJK/GB2312.pm type=file
+x:\tlperl\lib/Unicode/Collate/CJK/JISX0208.pm type=file
+x:\tlperl\lib/Unicode/Collate/CJK/Korean.pm type=file
+x:\tlperl\lib/Unicode/Collate/CJK/Pinyin.pm type=file
+x:\tlperl\lib/Unicode/Collate/CJK/Stroke.pm type=file
+x:\tlperl\lib/Unicode/Collate/Locale.pm type=file
+x:\tlperl\lib/Unicode/Collate/Locale/af.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ar.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/az.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ca.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/cs.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/cy.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/da.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/de_phone.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/eo.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/es.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/es_trad.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/et.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/fi.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/fil.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/fo.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/fr.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ha.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/haw.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/hr.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/hu.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/hy.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ig.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/is.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ja.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/kk.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/kl.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ko.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/lt.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/lv.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/mt.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/nb.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/nn.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/nso.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/om.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/pl.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ro.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/ru.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/se.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/sk.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/sl.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/sq.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/sv.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/sw.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/tn.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/to.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/tr.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/uk.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/vi.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/wo.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/yo.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/zh.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/zh_big5.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/zh_gb.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/zh_pin.pl type=file
+x:\tlperl\lib/Unicode/Collate/Locale/zh_strk.pl type=file
+x:\tlperl\lib/Unicode/Collate/allkeys.txt type=file
+x:\tlperl\lib/Unicode/Collate/keys.txt type=file
+x:\tlperl\lib/Unicode/Normalize.pm type=file
+x:\tlperl\lib/Unicode/UCD.pm type=file
+x:\tlperl\lib/User/grent.pm type=file
+x:\tlperl\lib/User/pwent.pm type=file
+x:\tlperl\lib/Win32.pm type=file
+x:\tlperl\lib/Win32API/File.pm type=file
+x:\tlperl\lib/Win32API/File/cFile.pc type=file
+x:\tlperl\lib/Win32CORE.pm type=file
+x:\tlperl\lib/XSLoader.pm type=file
+x:\tlperl\lib/abbrev.pl type=file
+x:\tlperl\lib/assert.pl type=file
+x:\tlperl\lib/attributes.pm type=file
+x:\tlperl\lib/auto/B/B.dll type=file
+x:\tlperl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file
+x:\tlperl\lib/auto/Compress/Raw/Bzip2/autosplit.ix type=file
+x:\tlperl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file
+x:\tlperl\lib/auto/Compress/Raw/Zlib/autosplit.ix type=file
+x:\tlperl\lib/auto/Cwd/Cwd.dll type=file
+x:\tlperl\lib/auto/Data/Dumper/Dumper.dll type=file
+x:\tlperl\lib/auto/Devel/DProf/DProf.dll type=file
+x:\tlperl\lib/auto/Devel/PPPort/PPPort.dll type=file
+x:\tlperl\lib/auto/Devel/Peek/Peek.dll type=file
+x:\tlperl\lib/auto/Digest/MD5/MD5.dll type=file
+x:\tlperl\lib/auto/Digest/SHA/SHA.dll type=file
+x:\tlperl\lib/auto/Encode/Byte/Byte.dll type=file
+x:\tlperl\lib/auto/Encode/CN/CN.dll type=file
+x:\tlperl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file
+x:\tlperl\lib/auto/Encode/Encode.dll type=file
+x:\tlperl\lib/auto/Encode/JP/JP.dll type=file
+x:\tlperl\lib/auto/Encode/KR/KR.dll type=file
+x:\tlperl\lib/auto/Encode/Symbol/Symbol.dll type=file
+x:\tlperl\lib/auto/Encode/TW/TW.dll type=file
+x:\tlperl\lib/auto/Encode/Unicode/Unicode.dll type=file
+x:\tlperl\lib/auto/Fcntl/Fcntl.dll type=file
+x:\tlperl\lib/auto/File/Glob/Glob.dll type=file
+x:\tlperl\lib/auto/Filter/Util/Call/Call.dll type=file
+x:\tlperl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file
+x:\tlperl\lib/auto/Hash/Util/Util.dll type=file
+x:\tlperl\lib/auto/IO/IO.dll type=file
+x:\tlperl\lib/auto/List/Util/Util.dll type=file
+x:\tlperl\lib/auto/MIME/Base64/Base64.dll type=file
+x:\tlperl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
+x:\tlperl\lib/auto/Opcode/Opcode.dll type=file
+x:\tlperl\lib/auto/POSIX/POSIX.dll type=file
+x:\tlperl\lib/auto/POSIX/SigAction/flags.al type=file
+x:\tlperl\lib/auto/POSIX/SigAction/handler.al type=file
+x:\tlperl\lib/auto/POSIX/SigAction/mask.al type=file
+x:\tlperl\lib/auto/POSIX/SigAction/new.al type=file
+x:\tlperl\lib/auto/POSIX/SigAction/safe.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/CLEAR.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/DELETE.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/EXISTS.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/FETCH.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/SCALAR.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/STORE.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/_check.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/_croak.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/_exist.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/_getsig.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/_init.al type=file
+x:\tlperl\lib/auto/POSIX/SigRt/new.al type=file
+x:\tlperl\lib/auto/POSIX/abs.al type=file
+x:\tlperl\lib/auto/POSIX/alarm.al type=file
+x:\tlperl\lib/auto/POSIX/assert.al type=file
+x:\tlperl\lib/auto/POSIX/atan2.al type=file
+x:\tlperl\lib/auto/POSIX/atexit.al type=file
+x:\tlperl\lib/auto/POSIX/atof.al type=file
+x:\tlperl\lib/auto/POSIX/atoi.al type=file
+x:\tlperl\lib/auto/POSIX/atol.al type=file
+x:\tlperl\lib/auto/POSIX/autosplit.ix type=file
+x:\tlperl\lib/auto/POSIX/bsearch.al type=file
+x:\tlperl\lib/auto/POSIX/calloc.al type=file
+x:\tlperl\lib/auto/POSIX/chdir.al type=file
+x:\tlperl\lib/auto/POSIX/chmod.al type=file
+x:\tlperl\lib/auto/POSIX/chown.al type=file
+x:\tlperl\lib/auto/POSIX/clearerr.al type=file
+x:\tlperl\lib/auto/POSIX/closedir.al type=file
+x:\tlperl\lib/auto/POSIX/cos.al type=file
+x:\tlperl\lib/auto/POSIX/creat.al type=file
+x:\tlperl\lib/auto/POSIX/div.al type=file
+x:\tlperl\lib/auto/POSIX/errno.al type=file
+x:\tlperl\lib/auto/POSIX/execl.al type=file
+x:\tlperl\lib/auto/POSIX/execle.al type=file
+x:\tlperl\lib/auto/POSIX/execlp.al type=file
+x:\tlperl\lib/auto/POSIX/execv.al type=file
+x:\tlperl\lib/auto/POSIX/execve.al type=file
+x:\tlperl\lib/auto/POSIX/execvp.al type=file
+x:\tlperl\lib/auto/POSIX/exit.al type=file
+x:\tlperl\lib/auto/POSIX/exp.al type=file
+x:\tlperl\lib/auto/POSIX/fabs.al type=file
+x:\tlperl\lib/auto/POSIX/fclose.al type=file
+x:\tlperl\lib/auto/POSIX/fcntl.al type=file
+x:\tlperl\lib/auto/POSIX/fdopen.al type=file
+x:\tlperl\lib/auto/POSIX/feof.al type=file
+x:\tlperl\lib/auto/POSIX/ferror.al type=file
+x:\tlperl\lib/auto/POSIX/fflush.al type=file
+x:\tlperl\lib/auto/POSIX/fgetc.al type=file
+x:\tlperl\lib/auto/POSIX/fgetpos.al type=file
+x:\tlperl\lib/auto/POSIX/fgets.al type=file
+x:\tlperl\lib/auto/POSIX/fileno.al type=file
+x:\tlperl\lib/auto/POSIX/fopen.al type=file
+x:\tlperl\lib/auto/POSIX/fork.al type=file
+x:\tlperl\lib/auto/POSIX/fprintf.al type=file
+x:\tlperl\lib/auto/POSIX/fputc.al type=file
+x:\tlperl\lib/auto/POSIX/fputs.al type=file
+x:\tlperl\lib/auto/POSIX/fread.al type=file
+x:\tlperl\lib/auto/POSIX/free.al type=file
+x:\tlperl\lib/auto/POSIX/freopen.al type=file
+x:\tlperl\lib/auto/POSIX/fscanf.al type=file
+x:\tlperl\lib/auto/POSIX/fseek.al type=file
+x:\tlperl\lib/auto/POSIX/fsetpos.al type=file
+x:\tlperl\lib/auto/POSIX/fstat.al type=file
+x:\tlperl\lib/auto/POSIX/fsync.al type=file
+x:\tlperl\lib/auto/POSIX/ftell.al type=file
+x:\tlperl\lib/auto/POSIX/fwrite.al type=file
+x:\tlperl\lib/auto/POSIX/getc.al type=file
+x:\tlperl\lib/auto/POSIX/getchar.al type=file
+x:\tlperl\lib/auto/POSIX/getegid.al type=file
+x:\tlperl\lib/auto/POSIX/getenv.al type=file
+x:\tlperl\lib/auto/POSIX/geteuid.al type=file
+x:\tlperl\lib/auto/POSIX/getgid.al type=file
+x:\tlperl\lib/auto/POSIX/getgrgid.al type=file
+x:\tlperl\lib/auto/POSIX/getgrnam.al type=file
+x:\tlperl\lib/auto/POSIX/getgroups.al type=file
+x:\tlperl\lib/auto/POSIX/getlogin.al type=file
+x:\tlperl\lib/auto/POSIX/getpgrp.al type=file
+x:\tlperl\lib/auto/POSIX/getpid.al type=file
+x:\tlperl\lib/auto/POSIX/getppid.al type=file
+x:\tlperl\lib/auto/POSIX/getpwnam.al type=file
+x:\tlperl\lib/auto/POSIX/getpwuid.al type=file
+x:\tlperl\lib/auto/POSIX/gets.al type=file
+x:\tlperl\lib/auto/POSIX/getuid.al type=file
+x:\tlperl\lib/auto/POSIX/gmtime.al type=file
+x:\tlperl\lib/auto/POSIX/isatty.al type=file
+x:\tlperl\lib/auto/POSIX/kill.al type=file
+x:\tlperl\lib/auto/POSIX/labs.al type=file
+x:\tlperl\lib/auto/POSIX/ldiv.al type=file
+x:\tlperl\lib/auto/POSIX/link.al type=file
+x:\tlperl\lib/auto/POSIX/load_imports.al type=file
+x:\tlperl\lib/auto/POSIX/localtime.al type=file
+x:\tlperl\lib/auto/POSIX/log.al type=file
+x:\tlperl\lib/auto/POSIX/longjmp.al type=file
+x:\tlperl\lib/auto/POSIX/malloc.al type=file
+x:\tlperl\lib/auto/POSIX/memchr.al type=file
+x:\tlperl\lib/auto/POSIX/memcmp.al type=file
+x:\tlperl\lib/auto/POSIX/memcpy.al type=file
+x:\tlperl\lib/auto/POSIX/memmove.al type=file
+x:\tlperl\lib/auto/POSIX/memset.al type=file
+x:\tlperl\lib/auto/POSIX/mkdir.al type=file
+x:\tlperl\lib/auto/POSIX/offsetof.al type=file
+x:\tlperl\lib/auto/POSIX/opendir.al type=file
+x:\tlperl\lib/auto/POSIX/perror.al type=file
+x:\tlperl\lib/auto/POSIX/pow.al type=file
+x:\tlperl\lib/auto/POSIX/printf.al type=file
+x:\tlperl\lib/auto/POSIX/putc.al type=file
+x:\tlperl\lib/auto/POSIX/putchar.al type=file
+x:\tlperl\lib/auto/POSIX/puts.al type=file
+x:\tlperl\lib/auto/POSIX/qsort.al type=file
+x:\tlperl\lib/auto/POSIX/raise.al type=file
+x:\tlperl\lib/auto/POSIX/rand.al type=file
+x:\tlperl\lib/auto/POSIX/readdir.al type=file
+x:\tlperl\lib/auto/POSIX/realloc.al type=file
+x:\tlperl\lib/auto/POSIX/redef.al type=file
+x:\tlperl\lib/auto/POSIX/remove.al type=file
+x:\tlperl\lib/auto/POSIX/rename.al type=file
+x:\tlperl\lib/auto/POSIX/rewind.al type=file
+x:\tlperl\lib/auto/POSIX/rewinddir.al type=file
+x:\tlperl\lib/auto/POSIX/rmdir.al type=file
+x:\tlperl\lib/auto/POSIX/scanf.al type=file
+x:\tlperl\lib/auto/POSIX/setbuf.al type=file
+x:\tlperl\lib/auto/POSIX/setjmp.al type=file
+x:\tlperl\lib/auto/POSIX/setvbuf.al type=file
+x:\tlperl\lib/auto/POSIX/siglongjmp.al type=file
+x:\tlperl\lib/auto/POSIX/sigsetjmp.al type=file
+x:\tlperl\lib/auto/POSIX/sin.al type=file
+x:\tlperl\lib/auto/POSIX/sleep.al type=file
+x:\tlperl\lib/auto/POSIX/sprintf.al type=file
+x:\tlperl\lib/auto/POSIX/sqrt.al type=file
+x:\tlperl\lib/auto/POSIX/srand.al type=file
+x:\tlperl\lib/auto/POSIX/sscanf.al type=file
+x:\tlperl\lib/auto/POSIX/stat.al type=file
+x:\tlperl\lib/auto/POSIX/strcat.al type=file
+x:\tlperl\lib/auto/POSIX/strchr.al type=file
+x:\tlperl\lib/auto/POSIX/strcmp.al type=file
+x:\tlperl\lib/auto/POSIX/strcpy.al type=file
+x:\tlperl\lib/auto/POSIX/strcspn.al type=file
+x:\tlperl\lib/auto/POSIX/strerror.al type=file
+x:\tlperl\lib/auto/POSIX/strlen.al type=file
+x:\tlperl\lib/auto/POSIX/strncat.al type=file
+x:\tlperl\lib/auto/POSIX/strncmp.al type=file
+x:\tlperl\lib/auto/POSIX/strncpy.al type=file
+x:\tlperl\lib/auto/POSIX/strpbrk.al type=file
+x:\tlperl\lib/auto/POSIX/strrchr.al type=file
+x:\tlperl\lib/auto/POSIX/strspn.al type=file
+x:\tlperl\lib/auto/POSIX/strstr.al type=file
+x:\tlperl\lib/auto/POSIX/strtok.al type=file
+x:\tlperl\lib/auto/POSIX/system.al type=file
+x:\tlperl\lib/auto/POSIX/time.al type=file
+x:\tlperl\lib/auto/POSIX/tmpfile.al type=file
+x:\tlperl\lib/auto/POSIX/tolower.al type=file
+x:\tlperl\lib/auto/POSIX/toupper.al type=file
+x:\tlperl\lib/auto/POSIX/umask.al type=file
+x:\tlperl\lib/auto/POSIX/ungetc.al type=file
+x:\tlperl\lib/auto/POSIX/unimpl.al type=file
+x:\tlperl\lib/auto/POSIX/unlink.al type=file
+x:\tlperl\lib/auto/POSIX/usage.al type=file
+x:\tlperl\lib/auto/POSIX/utime.al type=file
+x:\tlperl\lib/auto/POSIX/vfprintf.al type=file
+x:\tlperl\lib/auto/POSIX/vprintf.al type=file
+x:\tlperl\lib/auto/POSIX/vsprintf.al type=file
+x:\tlperl\lib/auto/POSIX/wait.al type=file
+x:\tlperl\lib/auto/POSIX/waitpid.al type=file
+x:\tlperl\lib/auto/PerlIO/encoding/encoding.dll type=file
+x:\tlperl\lib/auto/PerlIO/scalar/scalar.dll type=file
+x:\tlperl\lib/auto/PerlIO/via/via.dll type=file
+x:\tlperl\lib/auto/SDBM_File/SDBM_File.dll type=file
+x:\tlperl\lib/auto/Socket/Socket.dll type=file
+x:\tlperl\lib/auto/Storable/Storable.dll type=file
+x:\tlperl\lib/auto/Sys/Hostname/Hostname.dll type=file
+x:\tlperl\lib/auto/Text/Soundex/Soundex.dll type=file
+x:\tlperl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll type=file
+x:\tlperl\lib/auto/Time/HiRes/HiRes.dll type=file
+x:\tlperl\lib/auto/Time/Piece/Piece.dll type=file
+x:\tlperl\lib/auto/Unicode/Collate/Collate.dll type=file
+x:\tlperl\lib/auto/Unicode/Normalize/Normalize.dll type=file
+x:\tlperl\lib/auto/Win32/Win32.dll type=file
+x:\tlperl\lib/auto/Win32API/File/File.dll type=file
+x:\tlperl\lib/auto/Win32CORE/extralibs.ld type=file
+x:\tlperl\lib/auto/attributes/attributes.dll type=file
+x:\tlperl\lib/auto/mro/mro.dll type=file
+x:\tlperl\lib/auto/re/re.dll type=file
+x:\tlperl\lib/auto/sdbm/extralibs.ld type=file
+x:\tlperl\lib/auto/threads/shared/shared.dll type=file
+x:\tlperl\lib/auto/threads/threads.dll type=file
+x:\tlperl\lib/autodie.pm type=file
+x:\tlperl\lib/autodie/exception.pm type=file
+x:\tlperl\lib/autodie/exception/system.pm type=file
+x:\tlperl\lib/autodie/hints.pm type=file
+x:\tlperl\lib/autouse.pm type=file
+x:\tlperl\lib/base.pm type=file
+x:\tlperl\lib/bigfloat.pl type=file
+x:\tlperl\lib/bigint.pl type=file
+x:\tlperl\lib/bigint.pm type=file
+x:\tlperl\lib/bignum.pm type=file
+x:\tlperl\lib/bigrat.pl type=file
+x:\tlperl\lib/bigrat.pm type=file
+x:\tlperl\lib/blib.pm type=file
+x:\tlperl\lib/bytes.pm type=file
+x:\tlperl\lib/bytes_heavy.pl type=file
+x:\tlperl\lib/cacheout.pl type=file
+x:\tlperl\lib/charnames.pm type=file
+x:\tlperl\lib/complete.pl type=file
+x:\tlperl\lib/constant.pm type=file
+x:\tlperl\lib/ctime.pl type=file
+x:\tlperl\lib/deprecate.pm type=file
+x:\tlperl\lib/diagnostics.pm type=file
+x:\tlperl\lib/dotsh.pl type=file
+x:\tlperl\lib/dumpvar.pl type=file
+x:\tlperl\lib/encoding.pm type=file
+x:\tlperl\lib/encoding/warnings.pm type=file
+x:\tlperl\lib/exceptions.pl type=file
+x:\tlperl\lib/fastcwd.pl type=file
+x:\tlperl\lib/feature.pm type=file
+x:\tlperl\lib/fields.pm type=file
+x:\tlperl\lib/filetest.pm type=file
+x:\tlperl\lib/find.pl type=file
+x:\tlperl\lib/finddepth.pl type=file
+x:\tlperl\lib/flush.pl type=file
+x:\tlperl\lib/getcwd.pl type=file
+x:\tlperl\lib/getopt.pl type=file
+x:\tlperl\lib/getopts.pl type=file
+x:\tlperl\lib/hostname.pl type=file
+x:\tlperl\lib/if.pm type=file
+x:\tlperl\lib/importenv.pl type=file
+x:\tlperl\lib/inc/latest.pm type=file
+x:\tlperl\lib/inc/latest/private.pm type=file
+x:\tlperl\lib/integer.pm type=file
+x:\tlperl\lib/less.pm type=file
+x:\tlperl\lib/lib.pm type=file
+x:\tlperl\lib/locale.pm type=file
+x:\tlperl\lib/look.pl type=file
+x:\tlperl\lib/mro.pm type=file
+x:\tlperl\lib/newgetopt.pl type=file
+x:\tlperl\lib/open.pm type=file
+x:\tlperl\lib/open2.pl type=file
+x:\tlperl\lib/open3.pl type=file
+x:\tlperl\lib/ops.pm type=file
+x:\tlperl\lib/overload.pm type=file
+x:\tlperl\lib/overload/numbers.pm type=file
+x:\tlperl\lib/overloading.pm type=file
+x:\tlperl\lib/parent.pm type=file
+x:\tlperl\lib/perl5db.pl type=file
+x:\tlperl\lib/pods/a2p.pod type=file
+x:\tlperl\lib/pods/perl.pod type=file
+x:\tlperl\lib/pods/perl5004delta.pod type=file
+x:\tlperl\lib/pods/perl5005delta.pod type=file
+x:\tlperl\lib/pods/perl5100delta.pod type=file
+x:\tlperl\lib/pods/perl5101delta.pod type=file
+x:\tlperl\lib/pods/perl5110delta.pod type=file
+x:\tlperl\lib/pods/perl5111delta.pod type=file
+x:\tlperl\lib/pods/perl5112delta.pod type=file
+x:\tlperl\lib/pods/perl5113delta.pod type=file
+x:\tlperl\lib/pods/perl5114delta.pod type=file
+x:\tlperl\lib/pods/perl5115delta.pod type=file
+x:\tlperl\lib/pods/perl5120delta.pod type=file
+x:\tlperl\lib/pods/perl5121delta.pod type=file
+x:\tlperl\lib/pods/perl5122delta.pod type=file
+x:\tlperl\lib/pods/perl5123delta.pod type=file
+x:\tlperl\lib/pods/perl5130delta.pod type=file
+x:\tlperl\lib/pods/perl51310delta.pod type=file
+x:\tlperl\lib/pods/perl51311delta.pod type=file
+x:\tlperl\lib/pods/perl5131delta.pod type=file
+x:\tlperl\lib/pods/perl5132delta.pod type=file
+x:\tlperl\lib/pods/perl5133delta.pod type=file
+x:\tlperl\lib/pods/perl5134delta.pod type=file
+x:\tlperl\lib/pods/perl5135delta.pod type=file
+x:\tlperl\lib/pods/perl5136delta.pod type=file
+x:\tlperl\lib/pods/perl5137delta.pod type=file
+x:\tlperl\lib/pods/perl5138delta.pod type=file
+x:\tlperl\lib/pods/perl5139delta.pod type=file
+x:\tlperl\lib/pods/perl5140delta.pod type=file
+x:\tlperl\lib/pods/perl5141delta.pod type=file
+x:\tlperl\lib/pods/perl5142delta.pod type=file
+x:\tlperl\lib/pods/perl561delta.pod type=file
+x:\tlperl\lib/pods/perl56delta.pod type=file
+x:\tlperl\lib/pods/perl570delta.pod type=file
+x:\tlperl\lib/pods/perl571delta.pod type=file
+x:\tlperl\lib/pods/perl572delta.pod type=file
+x:\tlperl\lib/pods/perl573delta.pod type=file
+x:\tlperl\lib/pods/perl581delta.pod type=file
+x:\tlperl\lib/pods/perl582delta.pod type=file
+x:\tlperl\lib/pods/perl583delta.pod type=file
+x:\tlperl\lib/pods/perl584delta.pod type=file
+x:\tlperl\lib/pods/perl585delta.pod type=file
+x:\tlperl\lib/pods/perl586delta.pod type=file
+x:\tlperl\lib/pods/perl587delta.pod type=file
+x:\tlperl\lib/pods/perl588delta.pod type=file
+x:\tlperl\lib/pods/perl589delta.pod type=file
+x:\tlperl\lib/pods/perl58delta.pod type=file
+x:\tlperl\lib/pods/perl590delta.pod type=file
+x:\tlperl\lib/pods/perl591delta.pod type=file
+x:\tlperl\lib/pods/perl592delta.pod type=file
+x:\tlperl\lib/pods/perl593delta.pod type=file
+x:\tlperl\lib/pods/perl594delta.pod type=file
+x:\tlperl\lib/pods/perl595delta.pod type=file
+x:\tlperl\lib/pods/perlaix.pod type=file
+x:\tlperl\lib/pods/perlamiga.pod type=file
+x:\tlperl\lib/pods/perlapi.pod type=file
+x:\tlperl\lib/pods/perlapio.pod type=file
+x:\tlperl\lib/pods/perlartistic.pod type=file
+x:\tlperl\lib/pods/perlbeos.pod type=file
+x:\tlperl\lib/pods/perlbook.pod type=file
+x:\tlperl\lib/pods/perlboot.pod type=file
+x:\tlperl\lib/pods/perlbot.pod type=file
+x:\tlperl\lib/pods/perlbs2000.pod type=file
+x:\tlperl\lib/pods/perlcall.pod type=file
+x:\tlperl\lib/pods/perlce.pod type=file
+x:\tlperl\lib/pods/perlcheat.pod type=file
+x:\tlperl\lib/pods/perlclib.pod type=file
+x:\tlperl\lib/pods/perlcn.pod type=file
+x:\tlperl\lib/pods/perlcommunity.pod type=file
+x:\tlperl\lib/pods/perlcompile.pod type=file
+x:\tlperl\lib/pods/perlcygwin.pod type=file
+x:\tlperl\lib/pods/perldata.pod type=file
+x:\tlperl\lib/pods/perldbmfilter.pod type=file
+x:\tlperl\lib/pods/perldebguts.pod type=file
+x:\tlperl\lib/pods/perldebtut.pod type=file
+x:\tlperl\lib/pods/perldebug.pod type=file
+x:\tlperl\lib/pods/perldelta.pod type=file
+x:\tlperl\lib/pods/perldgux.pod type=file
+x:\tlperl\lib/pods/perldiag.pod type=file
+x:\tlperl\lib/pods/perldoc.pod type=file
+x:\tlperl\lib/pods/perldos.pod type=file
+x:\tlperl\lib/pods/perldsc.pod type=file
+x:\tlperl\lib/pods/perlebcdic.pod type=file
+x:\tlperl\lib/pods/perlembed.pod type=file
+x:\tlperl\lib/pods/perlepoc.pod type=file
+x:\tlperl\lib/pods/perlfaq.pod type=file
+x:\tlperl\lib/pods/perlfaq1.pod type=file
+x:\tlperl\lib/pods/perlfaq2.pod type=file
+x:\tlperl\lib/pods/perlfaq3.pod type=file
+x:\tlperl\lib/pods/perlfaq4.pod type=file
+x:\tlperl\lib/pods/perlfaq5.pod type=file
+x:\tlperl\lib/pods/perlfaq6.pod type=file
+x:\tlperl\lib/pods/perlfaq7.pod type=file
+x:\tlperl\lib/pods/perlfaq8.pod type=file
+x:\tlperl\lib/pods/perlfaq9.pod type=file
+x:\tlperl\lib/pods/perlfilter.pod type=file
+x:\tlperl\lib/pods/perlfork.pod type=file
+x:\tlperl\lib/pods/perlform.pod type=file
+x:\tlperl\lib/pods/perlfreebsd.pod type=file
+x:\tlperl\lib/pods/perlfunc.pod type=file
+x:\tlperl\lib/pods/perlgit.pod type=file
+x:\tlperl\lib/pods/perlglossary.pod type=file
+x:\tlperl\lib/pods/perlgpl.pod type=file
+x:\tlperl\lib/pods/perlguts.pod type=file
+x:\tlperl\lib/pods/perlhack.pod type=file
+x:\tlperl\lib/pods/perlhacktips.pod type=file
+x:\tlperl\lib/pods/perlhacktut.pod type=file
+x:\tlperl\lib/pods/perlhaiku.pod type=file
+x:\tlperl\lib/pods/perlhist.pod type=file
+x:\tlperl\lib/pods/perlhpux.pod type=file
+x:\tlperl\lib/pods/perlhurd.pod type=file
+x:\tlperl\lib/pods/perlintern.pod type=file
+x:\tlperl\lib/pods/perlinterp.pod type=file
+x:\tlperl\lib/pods/perlintro.pod type=file
+x:\tlperl\lib/pods/perliol.pod type=file
+x:\tlperl\lib/pods/perlipc.pod type=file
+x:\tlperl\lib/pods/perlirix.pod type=file
+x:\tlperl\lib/pods/perljp.pod type=file
+x:\tlperl\lib/pods/perlko.pod type=file
+x:\tlperl\lib/pods/perllexwarn.pod type=file
+x:\tlperl\lib/pods/perllinux.pod type=file
+x:\tlperl\lib/pods/perllocale.pod type=file
+x:\tlperl\lib/pods/perllol.pod type=file
+x:\tlperl\lib/pods/perlmacos.pod type=file
+x:\tlperl\lib/pods/perlmacosx.pod type=file
+x:\tlperl\lib/pods/perlmod.pod type=file
+x:\tlperl\lib/pods/perlmodinstall.pod type=file
+x:\tlperl\lib/pods/perlmodlib.pod type=file
+x:\tlperl\lib/pods/perlmodstyle.pod type=file
+x:\tlperl\lib/pods/perlmpeix.pod type=file
+x:\tlperl\lib/pods/perlmroapi.pod type=file
+x:\tlperl\lib/pods/perlnetware.pod type=file
+x:\tlperl\lib/pods/perlnewmod.pod type=file
+x:\tlperl\lib/pods/perlnumber.pod type=file
+x:\tlperl\lib/pods/perlobj.pod type=file
+x:\tlperl\lib/pods/perlop.pod type=file
+x:\tlperl\lib/pods/perlopenbsd.pod type=file
+x:\tlperl\lib/pods/perlopentut.pod type=file
+x:\tlperl\lib/pods/perlos2.pod type=file
+x:\tlperl\lib/pods/perlos390.pod type=file
+x:\tlperl\lib/pods/perlos400.pod type=file
+x:\tlperl\lib/pods/perlpacktut.pod type=file
+x:\tlperl\lib/pods/perlperf.pod type=file
+x:\tlperl\lib/pods/perlplan9.pod type=file
+x:\tlperl\lib/pods/perlpod.pod type=file
+x:\tlperl\lib/pods/perlpodspec.pod type=file
+x:\tlperl\lib/pods/perlpodstyle.pod type=file
+x:\tlperl\lib/pods/perlpolicy.pod type=file
+x:\tlperl\lib/pods/perlport.pod type=file
+x:\tlperl\lib/pods/perlpragma.pod type=file
+x:\tlperl\lib/pods/perlqnx.pod type=file
+x:\tlperl\lib/pods/perlre.pod type=file
+x:\tlperl\lib/pods/perlreapi.pod type=file
+x:\tlperl\lib/pods/perlrebackslash.pod type=file
+x:\tlperl\lib/pods/perlrecharclass.pod type=file
+x:\tlperl\lib/pods/perlref.pod type=file
+x:\tlperl\lib/pods/perlreftut.pod type=file
+x:\tlperl\lib/pods/perlreguts.pod type=file
+x:\tlperl\lib/pods/perlrequick.pod type=file
+x:\tlperl\lib/pods/perlreref.pod type=file
+x:\tlperl\lib/pods/perlretut.pod type=file
+x:\tlperl\lib/pods/perlriscos.pod type=file
+x:\tlperl\lib/pods/perlrun.pod type=file
+x:\tlperl\lib/pods/perlsec.pod type=file
+x:\tlperl\lib/pods/perlsolaris.pod type=file
+x:\tlperl\lib/pods/perlsource.pod type=file
+x:\tlperl\lib/pods/perlstyle.pod type=file
+x:\tlperl\lib/pods/perlsub.pod type=file
+x:\tlperl\lib/pods/perlsymbian.pod type=file
+x:\tlperl\lib/pods/perlsyn.pod type=file
+x:\tlperl\lib/pods/perlthrtut.pod type=file
+x:\tlperl\lib/pods/perltie.pod type=file
+x:\tlperl\lib/pods/perltoc.pod type=file
+x:\tlperl\lib/pods/perltodo.pod type=file
+x:\tlperl\lib/pods/perltooc.pod type=file
+x:\tlperl\lib/pods/perltoot.pod type=file
+x:\tlperl\lib/pods/perltrap.pod type=file
+x:\tlperl\lib/pods/perltru64.pod type=file
+x:\tlperl\lib/pods/perltw.pod type=file
+x:\tlperl\lib/pods/perlunicode.pod type=file
+x:\tlperl\lib/pods/perlunifaq.pod type=file
+x:\tlperl\lib/pods/perluniintro.pod type=file
+x:\tlperl\lib/pods/perluniprops.pod type=file
+x:\tlperl\lib/pods/perlunitut.pod type=file
+x:\tlperl\lib/pods/perlutil.pod type=file
+x:\tlperl\lib/pods/perluts.pod type=file
+x:\tlperl\lib/pods/perlvar.pod type=file
+x:\tlperl\lib/pods/perlvmesa.pod type=file
+x:\tlperl\lib/pods/perlvms.pod type=file
+x:\tlperl\lib/pods/perlvos.pod type=file
+x:\tlperl\lib/pods/perlwin32.pod type=file
+x:\tlperl\lib/pods/perlxs.pod type=file
+x:\tlperl\lib/pods/perlxstut.pod type=file
+x:\tlperl\lib/pwd.pl type=file
+x:\tlperl\lib/re.pm type=file
+x:\tlperl\lib/shellwords.pl type=file
+x:\tlperl\lib/sigtrap.pm type=file
+x:\tlperl\lib/sort.pm type=file
+x:\tlperl\lib/stat.pl type=file
+x:\tlperl\lib/strict.pm type=file
+x:\tlperl\lib/subs.pm type=file
+x:\tlperl\lib/syslog.pl type=file
+x:\tlperl\lib/tainted.pl type=file
+x:\tlperl\lib/termcap.pl type=file
+x:\tlperl\lib/threads.pm type=file
+x:\tlperl\lib/threads/shared.pm type=file
+x:\tlperl\lib/timelocal.pl type=file
+x:\tlperl\lib/unicore/Blocks.txt type=file
+x:\tlperl\lib/unicore/CaseFolding.txt type=file
+x:\tlperl\lib/unicore/CombiningClass.pl type=file
+x:\tlperl\lib/unicore/Decomposition.pl type=file
+x:\tlperl\lib/unicore/Heavy.pl type=file
+x:\tlperl\lib/unicore/Name.pl type=file
+x:\tlperl\lib/unicore/NamedSequences.txt type=file
+x:\tlperl\lib/unicore/SpecialCasing.txt type=file
+x:\tlperl\lib/unicore/To/Age.pl type=file
+x:\tlperl\lib/unicore/To/Bc.pl type=file
+x:\tlperl\lib/unicore/To/Bmg.pl type=file
+x:\tlperl\lib/unicore/To/Digit.pl type=file
+x:\tlperl\lib/unicore/To/Dt.pl type=file
+x:\tlperl\lib/unicore/To/Ea.pl type=file
+x:\tlperl\lib/unicore/To/Fold.pl type=file
+x:\tlperl\lib/unicore/To/GCB.pl type=file
+x:\tlperl\lib/unicore/To/Gc.pl type=file
+x:\tlperl\lib/unicore/To/Hst.pl type=file
+x:\tlperl\lib/unicore/To/Jg.pl type=file
+x:\tlperl\lib/unicore/To/Jt.pl type=file
+x:\tlperl\lib/unicore/To/Lb.pl type=file
+x:\tlperl\lib/unicore/To/Lower.pl type=file
+x:\tlperl\lib/unicore/To/NFCQC.pl type=file
+x:\tlperl\lib/unicore/To/NFDQC.pl type=file
+x:\tlperl\lib/unicore/To/NFKCCF.pl type=file
+x:\tlperl\lib/unicore/To/NFKCQC.pl type=file
+x:\tlperl\lib/unicore/To/NFKDQC.pl type=file
+x:\tlperl\lib/unicore/To/Na1.pl type=file
+x:\tlperl\lib/unicore/To/Nt.pl type=file
+x:\tlperl\lib/unicore/To/Nv.pl type=file
+x:\tlperl\lib/unicore/To/SB.pl type=file
+x:\tlperl\lib/unicore/To/Sc.pl type=file
+x:\tlperl\lib/unicore/To/Title.pl type=file
+x:\tlperl\lib/unicore/To/Upper.pl type=file
+x:\tlperl\lib/unicore/To/WB.pl type=file
+x:\tlperl\lib/unicore/To/_slc.pl type=file
+x:\tlperl\lib/unicore/To/_stc.pl type=file
+x:\tlperl\lib/unicore/To/_suc.pl type=file
+x:\tlperl\lib/unicore/lib/AHex/N.pl type=file
+x:\tlperl\lib/unicore/lib/AHex/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Age/1_1.pl type=file
+x:\tlperl\lib/unicore/lib/Age/2_0.pl type=file
+x:\tlperl\lib/unicore/lib/Age/2_1.pl type=file
+x:\tlperl\lib/unicore/lib/Age/3_0.pl type=file
+x:\tlperl\lib/unicore/lib/Age/3_1.pl type=file
+x:\tlperl\lib/unicore/lib/Age/3_2.pl type=file
+x:\tlperl\lib/unicore/lib/Age/4_0.pl type=file
+x:\tlperl\lib/unicore/lib/Age/4_1.pl type=file
+x:\tlperl\lib/unicore/lib/Age/5_0.pl type=file
+x:\tlperl\lib/unicore/lib/Age/5_1.pl type=file
+x:\tlperl\lib/unicore/lib/Age/5_2.pl type=file
+x:\tlperl\lib/unicore/lib/Age/6_0.pl type=file
+x:\tlperl\lib/unicore/lib/Age/Unassign.pl type=file
+x:\tlperl\lib/unicore/lib/Alpha/N.pl type=file
+x:\tlperl\lib/unicore/lib/Alpha/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/AL.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/AN.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/B.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/BN.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/CS.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/EN.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/ES.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/ET.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/L.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/LRE.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/LRO.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/NSM.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/ON.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/PDF.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/R.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/RLE.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/RLO.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/S.pl type=file
+x:\tlperl\lib/unicore/lib/Bc/WS.pl type=file
+x:\tlperl\lib/unicore/lib/BidiC/N.pl type=file
+x:\tlperl\lib/unicore/lib/BidiC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/BidiM/N.pl type=file
+x:\tlperl\lib/unicore/lib/BidiM/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/ASCII.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/AegeanNu.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Alchemic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Alphabet.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ancient2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/AncientG.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/AncientS.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Arabic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/ArabicP2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/ArabicPr.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/ArabicSu.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Armenian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Arrows.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Avestan.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Balinese.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Bamum.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/BamumSup.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Batak.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Bengali.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/BlockEle.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Bopomof2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Bopomofo.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/BoxDrawi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Brahmi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/BrailleP.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Buginese.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Buhid.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Byzantin.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKComp2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKComp3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKComp4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKCompa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKRadic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKStrok.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKSymbo.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKUnif2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKUnif3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKUnif4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKUnif5.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CJKUnifi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Canadian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Carian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cham.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cherokee.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Combini2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Combini3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Combini4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Combinin.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CommonIn.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/ControlP.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Coptic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Counting.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cuneifo2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cuneifor.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Currency.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/CypriotS.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cyrilli2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cyrilli3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cyrilli4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Cyrillic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Deseret.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Devanag2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Devanaga.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Dingbats.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/DominoTi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Egyptian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Emoticon.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Enclose2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Enclose3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Enclose4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Enclosed.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ethiopi2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ethiopi3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ethiopi4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ethiopic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/GeneralP.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Geometri.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Georgia2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Georgian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Glagolit.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Gothic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Greek.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/GreekExt.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Gujarati.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Gurmukhi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Halfwidt.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HangulCo.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HangulJ2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HangulJ3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HangulJa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HangulSy.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Hanunoo.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Hebrew.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HighPriv.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/HighSurr.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Hiragana.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/IPAExten.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ideograp.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Imperial.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Inscrip2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Inscript.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Javanese.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Kaithi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/KanaSupp.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Kanbun.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/KangxiRa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Kannada.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Katakan2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Katakana.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/KayahLi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Kharosht.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Khmer.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/KhmerSym.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Lao.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Latin1.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LatinEx2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LatinEx3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LatinEx4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LatinEx5.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LatinExt.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Lepcha.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Letterli.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Limbu.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LinearBI.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LinearBS.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Lisu.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/LowSurro.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Lycian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Lydian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/MahjongT.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Malayala.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Mandaic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Mathema2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Mathemat.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/MeeteiMa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Miscell2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Miscell3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Miscell4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Miscell5.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Miscell6.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Miscella.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Modifier.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Mongolia.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/MusicalS.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Myanmar.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/MyanmarE.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/NKo.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/NewTaiLu.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/NoBlock.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/NumberFo.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ogham.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/OlChiki.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/OldItali.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/OldPersi.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/OldSouth.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/OldTurki.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/OpticalC.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Oriya.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Osmanya.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/PhagsPa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Phaistos.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Phoenici.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Phoneti2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Phonetic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/PlayingC.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/PrivateU.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Rejang.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/RumiNume.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Runic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Samarita.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Saurasht.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Shavian.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Sinhala.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/SmallFor.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/SpacingM.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Specials.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Sundanes.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Superscr.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Supplem2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Supplem3.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Supplem4.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Supplem5.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Supplem6.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Suppleme.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/SylotiNa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Syriac.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Tagalog.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Tagbanwa.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Tags.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/TaiLe.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/TaiTham.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/TaiViet.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/TaiXuanJ.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Tamil.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Telugu.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Thaana.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Thai.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Tibetan.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Tifinagh.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Transpor.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Ugaritic.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/UnifiedC.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Vai.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Variati2.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Variatio.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/VedicExt.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/Vertical.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/YiRadica.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/YiSyllab.pl type=file
+x:\tlperl\lib/unicore/lib/Blk/YijingHe.pl type=file
+x:\tlperl\lib/unicore/lib/CE/N.pl type=file
+x:\tlperl\lib/unicore/lib/CE/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CI/N.pl type=file
+x:\tlperl\lib/unicore/lib/CI/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CWCF/N.pl type=file
+x:\tlperl\lib/unicore/lib/CWCF/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CWCM/N.pl type=file
+x:\tlperl\lib/unicore/lib/CWCM/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CWKCF/N.pl type=file
+x:\tlperl\lib/unicore/lib/CWKCF/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CWL/N.pl type=file
+x:\tlperl\lib/unicore/lib/CWL/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CWT/N.pl type=file
+x:\tlperl\lib/unicore/lib/CWT/Y.pl type=file
+x:\tlperl\lib/unicore/lib/CWU/N.pl type=file
+x:\tlperl\lib/unicore/lib/CWU/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Cased/N.pl type=file
+x:\tlperl\lib/unicore/lib/Cased/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/10.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/103.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/107.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/11.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/118.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/12.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/122.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/129.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/13.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/130.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/132.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/14.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/15.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/16.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/17.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/18.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/19.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/20.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/21.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/22.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/23.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/24.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/25.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/26.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/27.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/28.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/29.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/30.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/31.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/32.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/33.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/34.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/35.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/36.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/84.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/91.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/A.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/AL.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/AR.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/ATA.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/ATAR.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/ATB.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/ATBL.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/B.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/BL.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/BR.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/DA.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/DB.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/IS.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/KV.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/L.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/NK.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/NR.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/OV.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/R.pl type=file
+x:\tlperl\lib/unicore/lib/Ccc/VR.pl type=file
+x:\tlperl\lib/unicore/lib/CompEx/N.pl type=file
+x:\tlperl\lib/unicore/lib/CompEx/Y.pl type=file
+x:\tlperl\lib/unicore/lib/DI/N.pl type=file
+x:\tlperl\lib/unicore/lib/DI/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Dash/N.pl type=file
+x:\tlperl\lib/unicore/lib/Dash/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Dep/N.pl type=file
+x:\tlperl\lib/unicore/lib/Dep/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Dia/N.pl type=file
+x:\tlperl\lib/unicore/lib/Dia/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Com.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Enc.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Fin.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Font.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Fra.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Init.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Iso.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Med.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Nar.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Nb.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/NonCanon.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/None.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Sml.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Sqr.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Sub.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Sup.pl type=file
+x:\tlperl\lib/unicore/lib/Dt/Vert.pl type=file
+x:\tlperl\lib/unicore/lib/Ea/A.pl type=file
+x:\tlperl\lib/unicore/lib/Ea/F.pl type=file
+x:\tlperl\lib/unicore/lib/Ea/H.pl type=file
+x:\tlperl\lib/unicore/lib/Ea/N.pl type=file
+x:\tlperl\lib/unicore/lib/Ea/Na.pl type=file
+x:\tlperl\lib/unicore/lib/Ea/W.pl type=file
+x:\tlperl\lib/unicore/lib/Ext/N.pl type=file
+x:\tlperl\lib/unicore/lib/Ext/Y.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/CN.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/CR.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/EX.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/L.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/LF.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/LV.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/LVT.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/PP.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/SM.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/T.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/V.pl type=file
+x:\tlperl\lib/unicore/lib/GCB/XX.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/C.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Cc.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Cf.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Cn.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Co.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Cs.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/L.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/LC.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Ll.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Lm.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Lo.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Lu.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/M.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Mc.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Me.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Mn.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/N.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Nl.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/No.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/P.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Pd.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Pe.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Pf.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Pi.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Po.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Ps.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/S.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Sc.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Sk.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Sm.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/So.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Z.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Zl.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Zp.pl type=file
+x:\tlperl\lib/unicore/lib/Gc/Zs.pl type=file
+x:\tlperl\lib/unicore/lib/GrBase/N.pl type=file
+x:\tlperl\lib/unicore/lib/GrBase/Y.pl type=file
+x:\tlperl\lib/unicore/lib/GrExt/N.pl type=file
+x:\tlperl\lib/unicore/lib/Hex/N.pl type=file
+x:\tlperl\lib/unicore/lib/Hex/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Hst/NA.pl type=file
+x:\tlperl\lib/unicore/lib/Hyphen/N.pl type=file
+x:\tlperl\lib/unicore/lib/Hyphen/Y.pl type=file
+x:\tlperl\lib/unicore/lib/IDC/N.pl type=file
+x:\tlperl\lib/unicore/lib/IDC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/IDS/N.pl type=file
+x:\tlperl\lib/unicore/lib/IDS/Y.pl type=file
+x:\tlperl\lib/unicore/lib/IDSB/N.pl type=file
+x:\tlperl\lib/unicore/lib/IDSB/Y.pl type=file
+x:\tlperl\lib/unicore/lib/IDST/N.pl type=file
+x:\tlperl\lib/unicore/lib/IDST/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Ideo/N.pl type=file
+x:\tlperl\lib/unicore/lib/Ideo/Y.pl type=file
+x:\tlperl\lib/unicore/lib/In/2_0.pl type=file
+x:\tlperl\lib/unicore/lib/In/2_1.pl type=file
+x:\tlperl\lib/unicore/lib/In/3_0.pl type=file
+x:\tlperl\lib/unicore/lib/In/3_1.pl type=file
+x:\tlperl\lib/unicore/lib/In/3_2.pl type=file
+x:\tlperl\lib/unicore/lib/In/4_0.pl type=file
+x:\tlperl\lib/unicore/lib/In/4_1.pl type=file
+x:\tlperl\lib/unicore/lib/In/5_0.pl type=file
+x:\tlperl\lib/unicore/lib/In/5_1.pl type=file
+x:\tlperl\lib/unicore/lib/In/5_2.pl type=file
+x:\tlperl\lib/unicore/lib/In/6_0.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Ain.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Alaph.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Alef.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Beh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Beth.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Burushas.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Dal.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/DalathRi.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/E.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/FarsiYeh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Fe.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Feh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/FinalSem.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Gaf.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Gamal.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Hah.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/He.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Heh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/HehGoal.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Heth.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Kaf.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Kaph.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Khaph.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/KnottedH.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Lam.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Lamadh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Meem.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Mim.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/NoJoinin.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Noon.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Nun.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Nya.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Pe.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Qaf.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Qaph.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Reh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Reversed.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Sad.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Sadhe.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Seen.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Semkath.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Shin.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/SwashKaf.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/SyriacWa.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Tah.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Taw.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/TehMarb2.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/TehMarbu.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Teth.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Waw.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Yeh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/YehBarre.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/YehWithT.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Yudh.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/YudhHe.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Zain.pl type=file
+x:\tlperl\lib/unicore/lib/Jg/Zhain.pl type=file
+x:\tlperl\lib/unicore/lib/JoinC/N.pl type=file
+x:\tlperl\lib/unicore/lib/JoinC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Jt/C.pl type=file
+x:\tlperl\lib/unicore/lib/Jt/D.pl type=file
+x:\tlperl\lib/unicore/lib/Jt/R.pl type=file
+x:\tlperl\lib/unicore/lib/Jt/T.pl type=file
+x:\tlperl\lib/unicore/lib/Jt/U.pl type=file
+x:\tlperl\lib/unicore/lib/LOE/N.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/AI.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/AL.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/B2.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/BA.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/BB.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/BK.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/CB.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/CL.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/CM.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/CP.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/EX.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/GL.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/HY.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/ID.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/IN.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/IS.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/NL.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/NS.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/NU.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/OP.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/PO.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/PR.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/QU.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/SA.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/SG.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/SP.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/SY.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/WJ.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/XX.pl type=file
+x:\tlperl\lib/unicore/lib/Lb/ZW.pl type=file
+x:\tlperl\lib/unicore/lib/Lower/N.pl type=file
+x:\tlperl\lib/unicore/lib/Lower/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Math/N.pl type=file
+x:\tlperl\lib/unicore/lib/Math/Y.pl type=file
+x:\tlperl\lib/unicore/lib/NChar/N.pl type=file
+x:\tlperl\lib/unicore/lib/NChar/Y.pl type=file
+x:\tlperl\lib/unicore/lib/NFCQC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/NFDQC/N.pl type=file
+x:\tlperl\lib/unicore/lib/NFDQC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/NFKCQC/M.pl type=file
+x:\tlperl\lib/unicore/lib/NFKCQC/N.pl type=file
+x:\tlperl\lib/unicore/lib/NFKCQC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/NFKDQC/N.pl type=file
+x:\tlperl\lib/unicore/lib/Nt/De.pl type=file
+x:\tlperl\lib/unicore/lib/Nt/Di.pl type=file
+x:\tlperl\lib/unicore/lib/Nt/Nu.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/0.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/10.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/100.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/10000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/100000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/10000000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/10000002.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/11.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/11_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/12.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/13.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/13_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/14.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/15.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/15_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/16.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/17.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/17_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/18.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/19.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_10.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_16.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_3.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_4.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_5.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_6.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_7.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_8.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/1_9.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/20.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/200.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/2000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/20000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/21.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/22.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/23.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/24.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/25.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/26.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/27.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/28.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/29.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/2_3.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/2_5.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/30.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/300.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/30000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/31.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/32.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/33.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/34.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/35.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/36.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/37.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/38.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/39.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3_16.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3_4.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3_5.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/3_8.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/4.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/40.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/400.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/4000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/40000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/41.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/42.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/43.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/44.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/45.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/46.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/47.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/48.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/49.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/4_5.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/5.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/50.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/500.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/5000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/50000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/5_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/5_6.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/5_8.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/6.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/60.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/600.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/6000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/60000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/7.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/70.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/700.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/7000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/70000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/7_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/7_8.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/8.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/80.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/800.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/8000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/80000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/9.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/90.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/900.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/9000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/90000.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/9_2.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/NaN.pl type=file
+x:\tlperl\lib/unicore/lib/Nv/_1_2.pl type=file
+x:\tlperl\lib/unicore/lib/OAlpha/N.pl type=file
+x:\tlperl\lib/unicore/lib/OAlpha/Y.pl type=file
+x:\tlperl\lib/unicore/lib/ODI/N.pl type=file
+x:\tlperl\lib/unicore/lib/ODI/Y.pl type=file
+x:\tlperl\lib/unicore/lib/OGrExt/N.pl type=file
+x:\tlperl\lib/unicore/lib/OGrExt/Y.pl type=file
+x:\tlperl\lib/unicore/lib/OIDC/N.pl type=file
+x:\tlperl\lib/unicore/lib/OIDC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/OIDS/N.pl type=file
+x:\tlperl\lib/unicore/lib/OIDS/Y.pl type=file
+x:\tlperl\lib/unicore/lib/OLower/N.pl type=file
+x:\tlperl\lib/unicore/lib/OLower/Y.pl type=file
+x:\tlperl\lib/unicore/lib/OMath/N.pl type=file
+x:\tlperl\lib/unicore/lib/OMath/Y.pl type=file
+x:\tlperl\lib/unicore/lib/OUpper/N.pl type=file
+x:\tlperl\lib/unicore/lib/OUpper/Y.pl type=file
+x:\tlperl\lib/unicore/lib/PatSyn/N.pl type=file
+x:\tlperl\lib/unicore/lib/PatSyn/Y.pl type=file
+x:\tlperl\lib/unicore/lib/PatWS/N.pl type=file
+x:\tlperl\lib/unicore/lib/PatWS/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Alnum.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Any.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Assigned.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Blank.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Graph.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PerlSpac.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PerlWord.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixAln.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixAlp.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixBla.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixCnt.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixDig.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixGra.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixLow.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixPri.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixPun.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixSpa.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/PosixUpp.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Print.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/SpacePer.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Title.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/VertSpac.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/Word.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/XPosixPu.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/_XBegin.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/_XExtend.pl type=file
+x:\tlperl\lib/unicore/lib/Perl/_XLVLVTV.pl type=file
+x:\tlperl\lib/unicore/lib/QMark/N.pl type=file
+x:\tlperl\lib/unicore/lib/QMark/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Radical/N.pl type=file
+x:\tlperl\lib/unicore/lib/Radical/Y.pl type=file
+x:\tlperl\lib/unicore/lib/SB/AT.pl type=file
+x:\tlperl\lib/unicore/lib/SB/CL.pl type=file
+x:\tlperl\lib/unicore/lib/SB/EX.pl type=file
+x:\tlperl\lib/unicore/lib/SB/FO.pl type=file
+x:\tlperl\lib/unicore/lib/SB/LE.pl type=file
+x:\tlperl\lib/unicore/lib/SB/LO.pl type=file
+x:\tlperl\lib/unicore/lib/SB/SC.pl type=file
+x:\tlperl\lib/unicore/lib/SB/SE.pl type=file
+x:\tlperl\lib/unicore/lib/SB/ST.pl type=file
+x:\tlperl\lib/unicore/lib/SB/Sp.pl type=file
+x:\tlperl\lib/unicore/lib/SB/UP.pl type=file
+x:\tlperl\lib/unicore/lib/SB/XX.pl type=file
+x:\tlperl\lib/unicore/lib/SD/N.pl type=file
+x:\tlperl\lib/unicore/lib/SD/Y.pl type=file
+x:\tlperl\lib/unicore/lib/STerm/N.pl type=file
+x:\tlperl\lib/unicore/lib/STerm/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Arab.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Armi.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Armn.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Avst.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Bali.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Bamu.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Batk.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Beng.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Bopo.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Brah.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Bugi.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Buhd.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Cans.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Cari.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Cham.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Cher.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Copt.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Cprt.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Cyrl.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Deva.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Egyp.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Ethi.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Geor.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Glag.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Goth.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Grek.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Gujr.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Guru.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Han.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Hang.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Hano.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Hebr.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Hira.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Ital.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Java.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Kana.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Khar.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Khmr.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Knda.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Kthi.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Lana.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Lao.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Latn.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Lepc.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Limb.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Linb.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Lyci.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Lydi.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Mand.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Mlym.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Mong.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Mtei.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Mymr.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Nko.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Ogam.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Orkh.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Orya.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Osma.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Phag.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Phli.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Phnx.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Prti.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Rjng.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Runr.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Samr.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Saur.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Sinh.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Sund.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Sylo.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Syrc.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Tagb.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Tale.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Talu.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Taml.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Tavt.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Telu.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Tfng.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Tglg.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Thaa.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Thai.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Tibt.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Ugar.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Vai.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Xpeo.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Xsux.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Yi.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Zinh.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Zyyy.pl type=file
+x:\tlperl\lib/unicore/lib/Sc/Zzzz.pl type=file
+x:\tlperl\lib/unicore/lib/Space/N.pl type=file
+x:\tlperl\lib/unicore/lib/Space/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Term/N.pl type=file
+x:\tlperl\lib/unicore/lib/Term/Y.pl type=file
+x:\tlperl\lib/unicore/lib/UIdeo/N.pl type=file
+x:\tlperl\lib/unicore/lib/UIdeo/Y.pl type=file
+x:\tlperl\lib/unicore/lib/Upper/N.pl type=file
+x:\tlperl\lib/unicore/lib/Upper/Y.pl type=file
+x:\tlperl\lib/unicore/lib/VS/N.pl type=file
+x:\tlperl\lib/unicore/lib/VS/Y.pl type=file
+x:\tlperl\lib/unicore/lib/WB/EX.pl type=file
+x:\tlperl\lib/unicore/lib/WB/FO.pl type=file
+x:\tlperl\lib/unicore/lib/WB/KA.pl type=file
+x:\tlperl\lib/unicore/lib/WB/LE.pl type=file
+x:\tlperl\lib/unicore/lib/WB/MB.pl type=file
+x:\tlperl\lib/unicore/lib/WB/ML.pl type=file
+x:\tlperl\lib/unicore/lib/WB/MN.pl type=file
+x:\tlperl\lib/unicore/lib/WB/NL.pl type=file
+x:\tlperl\lib/unicore/lib/WB/NU.pl type=file
+x:\tlperl\lib/unicore/lib/WB/XX.pl type=file
+x:\tlperl\lib/unicore/lib/XIDC/N.pl type=file
+x:\tlperl\lib/unicore/lib/XIDC/Y.pl type=file
+x:\tlperl\lib/unicore/lib/XIDS/N.pl type=file
+x:\tlperl\lib/unicore/lib/XIDS/Y.pl type=file
+x:\tlperl\lib/unicore/version type=file
+x:\tlperl\lib/utf8.pm type=file
+x:\tlperl\lib/utf8_heavy.pl type=file
+x:\tlperl\lib/validate.pl type=file
+x:\tlperl\lib/vars.pm type=file
+x:\tlperl\lib/version.pm type=file
+x:\tlperl\lib/version.pod type=file
+x:\tlperl\lib/version/Internals.pod type=file
+x:\tlperl\lib/version/Requirements.pm type=file
+x:\tlperl\lib/vmsish.pm type=file
+x:\tlperl\lib/warnings.pm type=file
+x:\tlperl\lib/warnings/register.pm type=file
diff --git a/Master/tlpkg/tlperl/lib/App/Prove.pm b/Master/tlpkg/tlperl/lib/App/Prove.pm
index fd431ed2f05..0e74fb4cacb 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove.pm
@@ -17,11 +17,11 @@ App::Prove - Implements the C<prove> command.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -58,8 +58,8 @@ BEGIN {
formatter harness includes modules plugins jobs lib merge parse quiet
really_quiet recurse backwards shuffle taint_fail taint_warn timer
verbose warnings_fail warnings_warn show_help show_man show_version
- state_class test_args state dry extension ignore_exit rules state_manager
- normalize
+ state_class test_args state dry extensions ignore_exit rules state_manager
+ normalize sources tapversion trap
);
__PACKAGE__->mk_methods(@ATTR);
}
@@ -81,8 +81,12 @@ sub _initialize {
my $self = shift;
my $args = shift || {};
+ my @is_array = qw(
+ argv rc_opts includes modules state plugins rules sources
+ );
+
# setup defaults:
- for my $key (qw( argv rc_opts includes modules state plugins rules )) {
+ for my $key (@is_array) {
$self->{$key} = [];
}
$self->{harness_class} = 'TAP::Harness';
@@ -197,49 +201,57 @@ sub process_args {
{
local @ARGV = @args;
- Getopt::Long::Configure( 'no_ignore_case', 'bundling' );
+ Getopt::Long::Configure(qw(no_ignore_case bundling pass_through));
# Don't add coderefs to GetOptions
GetOptions(
- 'v|verbose' => \$self->{verbose},
- 'f|failures' => \$self->{failures},
- 'o|comments' => \$self->{comments},
- 'l|lib' => \$self->{lib},
- 'b|blib' => \$self->{blib},
- 's|shuffle' => \$self->{shuffle},
- 'color!' => \$self->{color},
- 'colour!' => \$self->{color},
- 'count!' => \$self->{show_count},
- 'c' => \$self->{color},
- 'D|dry' => \$self->{dry},
- 'ext=s' => \$self->{extension},
- 'harness=s' => \$self->{harness},
- 'ignore-exit' => \$self->{ignore_exit},
- 'formatter=s' => \$self->{formatter},
- 'r|recurse' => \$self->{recurse},
- 'reverse' => \$self->{backwards},
- 'p|parse' => \$self->{parse},
- 'q|quiet' => \$self->{quiet},
- 'Q|QUIET' => \$self->{really_quiet},
- 'e|exec=s' => \$self->{exec},
- 'm|merge' => \$self->{merge},
- 'I=s@' => $self->{includes},
- 'M=s@' => $self->{modules},
- 'P=s@' => $self->{plugins},
- 'state=s@' => $self->{state},
- 'directives' => \$self->{directives},
- 'h|help|?' => \$self->{show_help},
- 'H|man' => \$self->{show_man},
- 'V|version' => \$self->{show_version},
- 'a|archive=s' => \$self->{archive},
- 'j|jobs=i' => \$self->{jobs},
- 'timer' => \$self->{timer},
- 'T' => \$self->{taint_fail},
- 't' => \$self->{taint_warn},
- 'W' => \$self->{warnings_fail},
- 'w' => \$self->{warnings_warn},
- 'normalize' => \$self->{normalize},
- 'rules=s@' => $self->{rules},
+ 'v|verbose' => \$self->{verbose},
+ 'f|failures' => \$self->{failures},
+ 'o|comments' => \$self->{comments},
+ 'l|lib' => \$self->{lib},
+ 'b|blib' => \$self->{blib},
+ 's|shuffle' => \$self->{shuffle},
+ 'color!' => \$self->{color},
+ 'colour!' => \$self->{color},
+ 'count!' => \$self->{show_count},
+ 'c' => \$self->{color},
+ 'D|dry' => \$self->{dry},
+ 'ext=s@' => sub {
+ my ( $opt, $val ) = @_;
+ # Workaround for Getopt::Long 2.25 handling of
+ # multivalue options
+ push @{ $self->{extensions} ||= [] }, $val;
+ },
+ 'harness=s' => \$self->{harness},
+ 'ignore-exit' => \$self->{ignore_exit},
+ 'source=s@' => $self->{sources},
+ 'formatter=s' => \$self->{formatter},
+ 'r|recurse' => \$self->{recurse},
+ 'reverse' => \$self->{backwards},
+ 'p|parse' => \$self->{parse},
+ 'q|quiet' => \$self->{quiet},
+ 'Q|QUIET' => \$self->{really_quiet},
+ 'e|exec=s' => \$self->{exec},
+ 'm|merge' => \$self->{merge},
+ 'I=s@' => $self->{includes},
+ 'M=s@' => $self->{modules},
+ 'P=s@' => $self->{plugins},
+ 'state=s@' => $self->{state},
+ 'directives' => \$self->{directives},
+ 'h|help|?' => \$self->{show_help},
+ 'H|man' => \$self->{show_man},
+ 'V|version' => \$self->{show_version},
+ 'a|archive=s' => \$self->{archive},
+ 'j|jobs=i' => \$self->{jobs},
+ 'timer' => \$self->{timer},
+ 'T' => \$self->{taint_fail},
+ 't' => \$self->{taint_warn},
+ 'W' => \$self->{warnings_fail},
+ 'w' => \$self->{warnings_warn},
+ 'normalize' => \$self->{normalize},
+ 'rules=s@' => $self->{rules},
+ 'tapversion=s' => \$self->{tapversion},
+ 'trap' => \$self->{trap},
) or croak('Unable to continue');
# Stash the remainder of argv for later
@@ -283,6 +295,8 @@ sub _get_args {
my %args;
+ $args{trap} = 1 if $self->trap;
+
if ( defined $self->color ? $self->color : $self->_color_default ) {
$args{color} = 1;
}
@@ -310,6 +324,11 @@ sub _get_args {
$args{formatter_class} = $formatter;
}
+ for my $handler ( @{ $self->sources } ) {
+ my ( $name, $config ) = $self->_parse_source($handler);
+ $args{sources}->{$name} = $config;
+ }
+
if ( $self->ignore_exit ) {
$args{ignore_exit} = 1;
}
@@ -349,6 +368,8 @@ sub _get_args {
$args{exec} = [ split( /\s+/, $self->exec ) ]
if ( defined( $self->exec ) );
+ $args{version} = $self->tapversion if defined( $self->tapversion );
+
if ( defined( my $test_args = $self->test_args ) ) {
$args{test_args} = $test_args;
}
@@ -411,6 +432,42 @@ sub _load_extensions {
$self->_load_extension( $_, @search ) for @$ext;
}
+sub _parse_source {
+ my ( $self, $handler ) = @_;
+
+ # Load any options.
+ ( my $opt_name = lc $handler ) =~ s/::/-/g;
+ local @ARGV = @{ $self->{argv} };
+ my %config;
+ Getopt::Long::GetOptions(
+ "$opt_name-option=s%" => sub {
+ my ( $name, $k, $v ) = @_;
+ if ( $v =~ /(?<!\\)=/ ) {
+
+ # It's a hash option.
+ croak "Option $name must be consistently used as a hash"
+ if exists $config{$k} && ref $config{$k} ne 'HASH';
+ $config{$k} ||= {};
+ my ( $hk, $hv ) = split /(?<!\\)=/, $v, 2;
+ $config{$k}{$hk} = $hv;
+ }
+ else {
+ $v =~ s/\\=/=/g;
+ if ( exists $config{$k} ) {
+ $config{$k} = [ $config{$k} ]
+ unless ref $config{$k} eq 'ARRAY';
+ push @{ $config{$k} } => $v;
+ }
+ else {
+ $config{$k} = $v;
+ }
+ }
+ }
+ );
+ $self->{argv} = \@ARGV;
+ return ( $handler, \%config );
+}
+
=head3 C<run>
Perform whatever actions the command line args specified. The C<prove>
@@ -461,8 +518,8 @@ sub _get_tests {
my $self = shift;
my $state = $self->state_manager;
- my $ext = $self->extension;
- $state->extension($ext) if defined $ext;
+ my $ext = $self->extensions;
+ $state->extensions($ext) if defined $ext;
if ( defined( my $state_switch = $self->state ) ) {
$state->apply_switch(@$state_switch);
}
@@ -624,7 +681,7 @@ calling C<run>.
=item C<exec>
-=item C<extension>
+=item C<extensions>
=item C<failures>
@@ -686,6 +743,10 @@ calling C<run>.
=item C<warnings_warn>
+=item C<tapversion>
+
+=item C<trap>
+
=back
=head1 PLUGINS
diff --git a/Master/tlpkg/tlperl/lib/App/Prove/State.pm b/Master/tlpkg/tlperl/lib/App/Prove/State.pm
index 202f7aadd3b..91275b0cddd 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove/State.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove/State.pm
@@ -26,11 +26,11 @@ App::Prove::State - State storage for the C<prove> command.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -59,9 +59,9 @@ Accepts a hashref with the following key/value pairs:
The filename of the data store holding the data that App::Prove::State reads.
-=item * C<extension> (optional)
+=item * C<extensions> (optional)
-The test name extension. Defaults to C<.t>.
+The test name extensions. Defaults to C<.t>.
=item * C<result_class> (optional)
@@ -77,12 +77,11 @@ sub new {
my %args = %{ shift || {} };
my $self = bless {
- select => [],
- seq => 1,
- store => delete $args{store},
- extension => ( delete $args{extension} || '.t' ),
- result_class =>
- ( delete $args{result_class} || 'App::Prove::State::Result' ),
+ select => [],
+ seq => 1,
+ store => delete $args{store},
+ extensions => ( delete $args{extensions} || ['.t'] ),
+ result_class => ( delete $args{result_class} || 'App::Prove::State::Result' ),
}, $class;
$self->{_} = $self->result_class->new(
@@ -105,17 +104,17 @@ identical interface.
=cut
-=head2 C<extension>
+=head2 C<extensions>
-Get or set the extension files must have in order to be considered
-tests. Defaults to '.t'.
+Get or set the list of extensions that files must have in order to be
+considered tests. Defaults to ['.t'].
=cut
-sub extension {
+sub extensions {
my $self = shift;
- $self->{extension} = shift if @_;
- return $self->{extension};
+ $self->{extensions} = shift if @_;
+ return $self->{extensions};
}
=head2 C<results>
@@ -356,7 +355,7 @@ sub _get_raw_tests {
# Do globbing on Win32.
@argv = map { glob "$_" } @argv if NEED_GLOB;
- my $extension = $self->{extension};
+ my $extensions = $self->{extensions};
for my $arg (@argv) {
if ( '-' eq $arg ) {
@@ -368,23 +367,25 @@ sub _get_raw_tests {
push @tests,
sort -d $arg
? $recurse
- ? $self->_expand_dir_recursive( $arg, $extension )
- : glob( File::Spec->catfile( $arg, "*$extension" ) )
+ ? $self->_expand_dir_recursive( $arg, $extensions )
+ : map { glob( File::Spec->catfile( $arg, "*$_" ) ) } @{$extensions}
: $arg;
}
return @tests;
}
sub _expand_dir_recursive {
- my ( $self, $dir, $extension ) = @_;
+ my ( $self, $dir, $extensions ) = @_;
my @tests;
+ my $ext_string = join( '|', map { quotemeta } @{$extensions} );
+
find(
{ follow => 1, #21938
follow_skip => 2,
wanted => sub {
- -f
- && /\Q$extension\E$/
+ -f
+ && /(?:$ext_string)$/
&& push @tests => $File::Find::name;
}
},
diff --git a/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm b/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm
index 274676a62f9..6fb3aa8a094 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove/State/Result.pm
@@ -14,11 +14,11 @@ App::Prove::State::Result - Individual test suite results.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -223,7 +223,7 @@ sub raw {
my %raw = %$self;
my %tests;
- foreach my $test ( $self->tests ) {
+ for my $test ( $self->tests ) {
$tests{ $test->name } = $test->raw;
}
$raw{tests} = \%tests;
diff --git a/Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm b/Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm
index 231f78919e2..9aa3153a360 100644
--- a/Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm
+++ b/Master/tlpkg/tlperl/lib/App/Prove/State/Result/Test.pm
@@ -10,11 +10,11 @@ App::Prove::State::Result::Test - Individual test results.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/Archive/Extract.pm b/Master/tlpkg/tlperl/lib/Archive/Extract.pm
index 08676fb1e08..a6fa3fb195c 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Extract.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Extract.pm
@@ -15,6 +15,7 @@ use Locale::Maketext::Simple Style => 'gettext';
### solaris has silly /bin/tar output ###
use constant ON_SOLARIS => $^O eq 'solaris' ? 1 : 0;
+use constant ON_NETBSD => $^O eq 'netbsd' ? 1 : 0;
use constant FILE_EXISTS => sub { -e $_[0] ? 1 : 0 };
### VMS may require quoting upper case command options
@@ -36,12 +37,14 @@ use constant BZ2 => 'bz2';
use constant TBZ => 'tbz';
use constant Z => 'Z';
use constant LZMA => 'lzma';
+use constant XZ => 'xz';
+use constant TXZ => 'txz';
use vars qw[$VERSION $PREFER_BIN $PROGRAMS $WARN $DEBUG
$_ALLOW_BIN $_ALLOW_PURE_PERL $_ALLOW_TAR_ITER
];
-$VERSION = '0.38';
+$VERSION = '0.48';
$PREFER_BIN = 0;
$WARN = 1;
$DEBUG = 0;
@@ -50,7 +53,7 @@ $_ALLOW_BIN = 1; # allow binary extractors
$_ALLOW_TAR_ITER = 1; # try to use Archive::Tar->iter if available
# same as all constants
-my @Types = ( TGZ, TAR, GZ, ZIP, BZ2, TBZ, Z, LZMA );
+my @Types = ( TGZ, TAR, GZ, ZIP, BZ2, TBZ, Z, LZMA, XZ, TXZ );
local $Params::Check::VERBOSE = $Params::Check::VERBOSE = 1;
@@ -91,6 +94,8 @@ Archive::Extract - A generic archive extracting mechanism
$ae->is_bz2; # is it a .bz2 file?
$ae->is_tbz; # is it a .tar.bz2 or .tbz file?
$ae->is_lzma; # is it a .lzma file?
+ $ae->is_xz; # is it a .xz file?
+ $ae->is_txz; # is it a .tar.xz or .txz file?
### absolute path to the archive you provided ###
$ae->archive;
@@ -101,13 +106,15 @@ Archive::Extract - A generic archive extracting mechanism
$ae->bin_unzip # path to /bin/unzip, if found
$ae->bin_bunzip2 # path to /bin/bunzip2 if found
$ae->bin_unlzma # path to /bin/unlzma if found
+ $ae->bin_unxz # path to /bin/unxz if found
=head1 DESCRIPTION
Archive::Extract is a generic archive extraction mechanism.
It allows you to extract any archive file of the type .tar, .tar.gz,
-.gz, .Z, tar.bz2, .tbz, .bz2, .zip or .lzma without having to worry how it
+.gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma
+without having to worry how it
does so, or use different interfaces for each type by using either
perl modules, or commandline tools on your system.
@@ -118,7 +125,13 @@ See the C<HOW IT WORKS> section further down for details.
### see what /bin/programs are available ###
$PROGRAMS = {};
-for my $pgm (qw[tar unzip gzip bunzip2 uncompress unlzma]) {
+for my $pgm (qw[tar unzip gzip bunzip2 uncompress unlzma unxz]) {
+ if ( $pgm eq 'unzip' and ON_NETBSD ) {
+ local $IPC::Cmd::INSTANCES = 1;
+ my @possibles = can_run($pgm);
+ ($PROGRAMS->{$pgm}) = grep { m!/usr/pkg/! } can_run($pgm);
+ next;
+ }
$PROGRAMS->{$pgm} = can_run($pgm);
}
@@ -132,9 +145,11 @@ my $Mapping = { # binary program # pure perl module
is_bz2 => { bin => '_bunzip2_bin', pp => '_bunzip2_bz2'},
is_Z => { bin => '_uncompress_bin', pp => '_gunzip_cz' },
is_lzma => { bin => '_unlzma_bin', pp => '_unlzma_cz' },
+ is_xz => { bin => '_unxz_bin', pp => '_unxz_cz' },
+ is_txz => { bin => '_untar_bin', pp => '_untar_at' },
};
-{ ### use subs so we re-generate array refs etc for the no-overide flags
+{ ### use subs so we re-generate array refs etc for the no-override flags
### if we don't, then we reuse the same arrayref, meaning objects store
### previous errors
my $tmpl = {
@@ -144,7 +159,7 @@ my $Mapping = { # binary program # pure perl module
_error_msg_long => sub { { no_override => 1, default => [] } },
};
- ### build accesssors ###
+ ### build accessors ###
for my $method( keys %$tmpl,
qw[_extractor _gunzip_to files extract_path],
) {
@@ -201,7 +216,7 @@ Corresponds to a C<.bz2> suffix.
=item tbz
-Bzip2 compressed tar file, as produced by, for exmample C</bin/tar -j>.
+Bzip2 compressed tar file, as produced by, for example C</bin/tar -j>.
Corresponds to a C<.tbz> or C<.tar.bz2> suffix.
=item lzma
@@ -209,6 +224,16 @@ Corresponds to a C<.tbz> or C<.tar.bz2> suffix.
Lzma compressed file, as produced by C</bin/lzma>.
Corresponds to a C<.lzma> suffix.
+=item xz
+
+Xz compressed file, as produced by C</bin/xz>.
+Corresponds to a C<.xz> suffix.
+
+=item txz
+
+Xz compressed tar file, as produced by, for example C</bin/tar -J>.
+Corresponds to a C<.txz> or C<.tar.xz> suffix.
+
=back
Returns a C<Archive::Extract> object on success, or false on failure.
@@ -240,6 +265,8 @@ Returns a C<Archive::Extract> object on success, or false on failure.
$ar =~ /.+?\.bz2$/i ? BZ2 :
$ar =~ /.+?\.Z$/ ? Z :
$ar =~ /.+?\.lzma$/ ? LZMA :
+ $ar =~ /.+?\.(?:txz|tar\.xz)$/i ? TXZ :
+ $ar =~ /.+?\.xz$/ ? XZ :
'';
}
@@ -320,9 +347,9 @@ sub extract {
### to.
my $dir;
{ ### a foo.gz file
- if( $self->is_gz or $self->is_bz2 or $self->is_Z or $self->is_lzma ) {
+ if( $self->is_gz or $self->is_bz2 or $self->is_Z or $self->is_lzma or $self->is_xz ) {
- my $cp = $self->archive; $cp =~ s/\.(?:gz|bz2?|Z|lzma)$//i;
+ my $cp = $self->archive; $cp =~ s/\.(?:gz|bz2?|Z|lzma|xz)$//i;
### to is a dir?
if ( -d $to ) {
@@ -382,22 +409,22 @@ sub extract {
my($na, $fail);
for my $method (@methods) {
- print "# Extracting with ->$method\n" if $DEBUG;
+ $self->debug( "# Extracting with ->$method\n" );
my $rv = $self->$method;
### a positive extraction
if( $rv and $rv ne METHOD_NA ) {
- print "# Extraction succeeded\n" if $DEBUG;
+ $self->debug( "# Extraction succeeded\n" );
$self->_extractor($method);
last;
### method is not available
} elsif ( $rv and $rv eq METHOD_NA ) {
- print "# Extraction method not available\n" if $DEBUG;
+ $self->debug( "# Extraction method not available\n" );
$na++;
} else {
- print "# Extraction method failed\n" if $DEBUG;
+ $self->debug( "# Extraction method failed\n" );
$fail++;
}
}
@@ -491,6 +518,11 @@ See the C<new()> method for details.
Returns true if the file is of type C<.lzma>.
See the C<new()> method for details.
+=head2 $ae->is_xz
+
+Returns true if the file is of type C<.xz>.
+See the C<new()> method for details.
+
=cut
### quick check methods ###
@@ -502,6 +534,8 @@ sub is_tbz { return $_[0]->type eq TBZ }
sub is_bz2 { return $_[0]->type eq BZ2 }
sub is_Z { return $_[0]->type eq Z }
sub is_lzma { return $_[0]->type eq LZMA }
+sub is_xz { return $_[0]->type eq XZ }
+sub is_txz { return $_[0]->type eq TXZ }
=pod
@@ -521,6 +555,10 @@ Returns the full path to your unzip binary, if found
Returns the full path to your unlzma binary, if found
+=head2 $ae->bin_unxz
+
+Returns the full path to your unxz binary, if found
+
=cut
### paths to commandline tools ###
@@ -531,6 +569,7 @@ sub bin_bunzip2 { return $PROGRAMS->{'bunzip2'} if $PROGRAMS->{'bunzip2'} }
sub bin_uncompress { return $PROGRAMS->{'uncompress'}
if $PROGRAMS->{'uncompress'} }
sub bin_unlzma { return $PROGRAMS->{'unlzma'} if $PROGRAMS->{'unlzma'} }
+sub bin_unxz { return $PROGRAMS->{'unxz'} if $PROGRAMS->{'unxz'} }
=head2 $bool = $ae->have_old_bunzip2
@@ -613,6 +652,8 @@ sub have_old_bunzip2 {
loc("No '%1' program found", '/bin/gzip') :
$self->is_tbz && !$self->bin_bunzip2 ?
loc("No '%1' program found", '/bin/bunzip2') :
+ $self->is_txz && !$self->bin_unxz ?
+ loc("No '%1' program found", '/bin/unxz') :
'';
if( $diag ) {
@@ -636,6 +677,8 @@ sub have_old_bunzip2 {
$self->bin_tar, '-tf', '-'] :
$self->is_tbz ? [$self->bin_bunzip2, '-cd', $self->archive, '|',
$self->bin_tar, '-tf', '-'] :
+ $self->is_txz ? [$self->bin_unxz, '-cd', $self->archive, '|',
+ $self->bin_tar, '-tf', '-'] :
[$self->bin_tar, @ExtraTarFlags, '-tf', $self->archive];
### run the command
@@ -673,7 +716,7 @@ sub have_old_bunzip2 {
\s+ [\d,.]+ \s tape \s blocks
|x ? $1 : $_);
- ### only STDOUT, see above. Sometims, extra whitespace
+ ### only STDOUT, see above. Sometimes, extra whitespace
### is present, so make sure we only pick lines with
### a length
} grep { length } map { split $/, $_ } @{$out[3]};
@@ -689,6 +732,8 @@ sub have_old_bunzip2 {
$self->bin_tar, '-xf', '-'] :
$self->is_tbz ? [$self->bin_bunzip2, '-cd', $self->archive, '|',
$self->bin_tar, '-xf', '-'] :
+ $self->is_txz ? [$self->bin_unxz, '-cd', $self->archive, '|',
+ $self->bin_tar, '-xf', '-'] :
[$self->bin_tar, @ExtraTarFlags, '-xf', $self->archive];
my $buffer = '';
@@ -781,6 +826,24 @@ sub _untar_at {
$IO::Uncompress::Bunzip2::Bunzip2Error));
$fh_to_read = $bz;
+ } elsif ( $self->is_txz ) {
+ my $use_list = { 'IO::Uncompress::UnXz' => '0.0' };
+ unless( can_load( modules => $use_list ) ) {
+ $self->_error(loc(
+ "You do not have '%1' installed - Please " .
+ "install it as soon as possible.",
+ 'IO::Uncompress::UnXz')
+ );
+
+ return METHOD_NA;
+ }
+
+ my $xz = IO::Uncompress::UnXz->new( $self->archive ) or
+ return $self->_error(loc("Unable to open '%1': %2",
+ $self->archive,
+ $IO::Uncompress::UnXz::UnXzError));
+
+ $fh_to_read = $xz;
}
my @files;
@@ -1004,7 +1067,7 @@ sub _unzip_bin {
### first, get the files.. it must be 2 different commands with 'unzip' :(
{ ### on VMS, capital letter options have to be quoted. This is
- ### peported by John Malmberg on P5P Tue 21 Aug 2007 05:05:11
+ ### reported by John Malmberg on P5P Tue 21 Aug 2007 05:05:11
### Subject: [patch@31735]Archive Extract fix on VMS.
my $opt = ON_VMS ? '"-Z"' : '-Z';
my $cmd = [ $self->bin_unzip, $opt, '-1', $self->archive ];
@@ -1088,7 +1151,7 @@ sub _unzip_az {
for my $member ($zip->members) {
push @files, $member->{fileName};
- ### file to extact to, to avoid the above problem
+ ### file to extract to, to avoid the above problem
my $to = File::Spec->catfile( $extract_dir, $member->{fileName} );
unless( $zip->extractMember($member, $to) == &Archive::Zip::AZ_OK ) {
@@ -1256,6 +1319,75 @@ sub _bunzip2_bz2 {
return 1;
}
+#################################
+#
+# UnXz code
+#
+#################################
+
+sub _unxz_bin {
+ my $self = shift;
+
+ ### check for /bin/unxz -- we need it ###
+ unless( $self->bin_unxz ) {
+ $self->_error(loc("No '%1' program found", '/bin/unxz'));
+ return METHOD_NA;
+ }
+
+ my $fh = FileHandle->new('>'. $self->_gunzip_to) or
+ return $self->_error(loc("Could not open '%1' for writing: %2",
+ $self->_gunzip_to, $! ));
+
+ my $cmd = [ $self->bin_unxz, '-cdf', $self->archive ];
+
+ my $buffer;
+ unless( scalar run( command => $cmd,
+ verbose => $DEBUG,
+ buffer => \$buffer )
+ ) {
+ return $self->_error(loc("Unable to unxz '%1': %2",
+ $self->archive, $buffer));
+ }
+
+ ### no buffers available?
+ if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
+ $self->_error( $self->_no_buffer_content( $self->archive ) );
+ }
+
+ $self->_print($fh, $buffer) if defined $buffer;
+
+ close $fh;
+
+ ### set what files where extract, and where they went ###
+ $self->files( [$self->_gunzip_to] );
+ $self->extract_path( File::Spec->rel2abs(cwd()) );
+
+ return 1;
+}
+
+sub _unxz_cz {
+ my $self = shift;
+
+ my $use_list = { 'IO::Uncompress::UnXz' => '0.0' };
+ unless( can_load( modules => $use_list ) ) {
+ $self->_error(loc("You do not have '%1' installed - Please " .
+ "install it as soon as possible.",
+ 'IO::Uncompress::UnXz'));
+ return METHOD_NA;
+ }
+
+ IO::Uncompress::UnXz::unxz($self->archive => $self->_gunzip_to)
+ or return $self->_error(loc("Unable to uncompress '%1': %2",
+ $self->archive,
+ $IO::Uncompress::UnXz::UnXzError));
+
+ ### set what files where extract, and where they went ###
+ $self->files( [$self->_gunzip_to] );
+ $self->extract_path( File::Spec->rel2abs(cwd()) );
+
+ return 1;
+}
+
#################################
#
@@ -1306,27 +1438,37 @@ sub _unlzma_bin {
sub _unlzma_cz {
my $self = shift;
- my $use_list = { 'Compress::unLZMA' => '0.0' };
- unless( can_load( modules => $use_list ) ) {
- $self->_error(loc("You do not have '%1' installed - Please " .
- "install it as soon as possible.", 'Compress::unLZMA'));
- return METHOD_NA;
+ my $use_list1 = { 'IO::Uncompress::UnLzma' => '0.0' };
+ my $use_list2 = { 'Compress::unLZMA' => '0.0' };
+
+ if (can_load( modules => $use_list1 ) ) {
+ IO::Uncompress::UnLzma::unlzma($self->archive => $self->_gunzip_to)
+ or return $self->_error(loc("Unable to uncompress '%1': %2",
+ $self->archive,
+ $IO::Uncompress::UnLzma::UnLzmaError));
}
+ elsif (can_load( modules => $use_list2 ) ) {
- my $fh = FileHandle->new('>'. $self->_gunzip_to) or
- return $self->_error(loc("Could not open '%1' for writing: %2",
- $self->_gunzip_to, $! ));
+ my $fh = FileHandle->new('>'. $self->_gunzip_to) or
+ return $self->_error(loc("Could not open '%1' for writing: %2",
+ $self->_gunzip_to, $! ));
- my $buffer;
- $buffer = Compress::unLZMA::uncompressfile( $self->archive );
- unless ( defined $buffer ) {
- return $self->_error(loc("Could not unlzma '%1': %2",
- $self->archive, $@));
- }
+ my $buffer;
+ $buffer = Compress::unLZMA::uncompressfile( $self->archive );
+ unless ( defined $buffer ) {
+ return $self->_error(loc("Could not unlzma '%1': %2",
+ $self->archive, $@));
+ }
- $self->_print($fh, $buffer) if defined $buffer;
+ $self->_print($fh, $buffer) if defined $buffer;
- close $fh;
+ close $fh;
+ }
+ else {
+ $self->_error(loc("You do not have '%1' or '%2' installed - Please " .
+ "install it as soon as possible.", 'Compress::unLZMA', 'IO::Uncompress::UnLzma'));
+ return METHOD_NA;
+ }
### set what files where extract, and where they went ###
$self->files( [$self->_gunzip_to] );
@@ -1380,6 +1522,21 @@ sub error {
return join $/, @$aref;
}
+=head2 debug( MESSAGE )
+
+This method outputs MESSAGE to the default filehandle if C<$DEBUG> is
+true. It's a small method, but it's here if you'd like to subclass it
+so you can so something else with any debugging output.
+
+=cut
+
+### this is really a stub for subclassing
+sub debug {
+ return unless $DEBUG;
+
+ print $_[1];
+}
+
sub _no_buffer_files {
my $self = shift;
my $file = shift or return;
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar.pm b/Master/tlpkg/tlperl/lib/Archive/Tar.pm
index 006edbd5c3e..0a35cf77cc7 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar.pm
@@ -23,7 +23,7 @@ require Exporter;
use strict;
use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
$DO_NOT_USE_PREFIX $HAS_PERLIO $HAS_IO_STRING $SAME_PERMISSIONS
- $INSECURE_EXTRACT_MODE @ISA @EXPORT
+ $INSECURE_EXTRACT_MODE $ZERO_PAD_NUMBERS @ISA @EXPORT
];
@ISA = qw[Exporter];
@@ -31,12 +31,13 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
$DEBUG = 0;
$WARN = 1;
$FOLLOW_SYMLINK = 0;
-$VERSION = "1.54";
+$VERSION = "1.76";
$CHOWN = 1;
$CHMOD = 1;
$SAME_PERMISSIONS = $> == 0 ? 1 : 0;
$DO_NOT_USE_PREFIX = 0;
$INSECURE_EXTRACT_MODE = 0;
+$ZERO_PAD_NUMBERS = 0;
BEGIN {
use Config;
@@ -211,10 +212,15 @@ sub read {
sub _get_handle {
my $self = shift;
my $file = shift; return unless defined $file;
- return $file if ref $file;
my $compress = shift || 0;
my $mode = shift || READ_ONLY->( ZLIB ); # default to read only
+ ### Check if file is a file handle or IO glob
+ if ( ref $file ) {
+ return $file if eval{ *$file{IO} };
+ return $file if eval{ $file->isa(q{IO::Handle}) };
+ $file = q{}.$file;
+ }
### get a FH opened to the right class, so we can use it transparently
### throughout the program
@@ -300,6 +306,7 @@ sub _read_tar {
my $count = $opts->{limit} || 0;
my $filter = $opts->{filter};
+ my $filter_cb = $opts->{filter_cb};
my $extract = $opts->{extract} || 0;
### set a cap on the amount of files to extract ###
@@ -317,6 +324,7 @@ sub _read_tar {
while( $handle->read( $chunk, HEAD ) ) {
### IO::Zlib doesn't support this yet
my $offset = eval { tell $handle } || 'unknown';
+ $@ = '';
unless( $read++ ) {
my $gzip = GZIP_MAGIC_NUM;
@@ -343,7 +351,7 @@ sub _read_tar {
### according to the posix spec, the last 12 bytes of the header are
### null bytes, to pad it to a 512 byte block. That means if these
- ### bytes are NOT null bytes, it's a corrrupt header. See:
+ ### bytes are NOT null bytes, it's a corrupt header. See:
### www.koders.com/c/fidCE473AD3D9F835D690259D60AD5654591D91D5BA.aspx
### line 111
{ my $nulls = join '', "\0" x 12;
@@ -369,7 +377,7 @@ sub _read_tar {
}
### ignore labels:
- ### http://www.gnu.org/manual/tar/html_node/tar_139.html
+ ### http://www.gnu.org/software/tar/manual/html_chapter/Media.html#SEC159
next if $entry->is_label;
if( length $entry->type and ($entry->is_file || $entry->is_longlink) ) {
@@ -390,19 +398,56 @@ sub _read_tar {
$data = $entry->get_content_by_ref;
- ### just read everything into memory
- ### can't do lazy loading since IO::Zlib doesn't support 'seek'
- ### this is because Compress::Zlib doesn't support it =/
- ### this reads in the whole data in one read() call.
- if( $handle->read( $$data, $block ) < $block ) {
- $self->_error( qq[Read error on tarfile (missing data) '].
+ my $skip = 0;
+ ### skip this entry if we're filtering
+ if ($filter && $entry->name !~ $filter) {
+ $skip = 1;
+
+ ### skip this entry if it's a pax header. This is a special file added
+ ### by, among others, git-generated tarballs. It holds comments and is
+ ### not meant for extracting. See #38932: pax_global_header extracted
+ } elsif ( $entry->name eq PAX_HEADER or $entry->type =~ /^(x|g)$/ ) {
+ $skip = 2;
+ } elsif ($filter_cb && ! $filter_cb->($entry)) {
+ $skip = 3;
+ }
+
+ if ($skip) {
+ #
+ # Since we're skipping, do not allocate memory for the
+ # whole file. Read it 64 BLOCKS at a time. Do not
+ # complete the skip yet because maybe what we read is a
+ # longlink and it won't get skipped after all
+ #
+ my $amt = $block;
+ while ($amt > 0) {
+ $$data = '';
+ my $this = 64 * BLOCK;
+ $this = $amt if $this > $amt;
+ if( $handle->read( $$data, $this ) < $this ) {
+ $self->_error( qq[Read error on tarfile (missing data) '].
+ $entry->full_path ."' at offset $offset" );
+ next LOOP;
+ }
+ $amt -= $this;
+ }
+ ### throw away trailing garbage ###
+ substr ($$data, $entry->size) = "" if defined $$data && $block < 64 * BLOCK;
+ } else {
+
+ ### just read everything into memory
+ ### can't do lazy loading since IO::Zlib doesn't support 'seek'
+ ### this is because Compress::Zlib doesn't support it =/
+ ### this reads in the whole data in one read() call.
+ if ( $handle->read( $$data, $block ) < $block ) {
+ $self->_error( qq[Read error on tarfile (missing data) '].
$entry->full_path ."' at offset $offset" );
- next LOOP;
+ next LOOP;
+ }
+ ### throw away trailing garbage ###
+ substr ($$data, $entry->size) = "" if defined $$data;
}
- ### throw away trailing garbage ###
- substr ($$data, $entry->size) = "" if defined $$data;
-
### part II of the @LongLink munging -- need to do /after/
### the checksum check.
if( $entry->is_longlink ) {
@@ -442,22 +487,24 @@ sub _read_tar {
undef $real_name;
}
- ### skip this entry if we're filtering
- if ($filter && $entry->name !~ $filter) {
- next LOOP;
-
- ### skip this entry if it's a pax header. This is a special file added
- ### by, among others, git-generated tarballs. It holds comments and is
- ### not meant for extracting. See #38932: pax_global_header extracted
- } elsif ( $entry->name eq PAX_HEADER ) {
- next LOOP;
+ if ($filter && $entry->name !~ $filter) {
+ next LOOP;
+
+ ### skip this entry if it's a pax header. This is a special file added
+ ### by, among others, git-generated tarballs. It holds comments and is
+ ### not meant for extracting. See #38932: pax_global_header extracted
+ } elsif ( $entry->name eq PAX_HEADER or $entry->type =~ /^(x|g)$/ ) {
+ next LOOP;
+ } elsif ($filter_cb && ! $filter_cb->($entry)) {
+ next LOOP;
+ }
+
+ if ( $extract && !$entry->is_longlink
+ && !$entry->is_unknown
+ && !$entry->is_label ) {
+ $self->_extract_file( $entry ) or return;
}
- $self->_extract_file( $entry ) if $extract
- && !$entry->is_longlink
- && !$entry->is_unknown
- && !$entry->is_label;
-
### Guard against tarfiles with garbage at the end
last LOOP if $entry->name eq '';
@@ -527,7 +574,7 @@ sub extract {
# use the speed optimization for all extracted files
local($self->{cwd}) = cwd() unless $self->{cwd};
- ### you requested the extraction of only certian files
+ ### you requested the extraction of only certain files
if( @args ) {
for my $file ( @args ) {
@@ -708,7 +755,7 @@ sub _extract_file {
my @cwd = File::Spec->splitdir( $cwd_dir );
push @cwd, $cwd_file if length $cwd_file;
- ### We need to pass '' as the last elemant to catpath. Craig Berry
+ ### We need to pass '' as the last element to catpath. Craig Berry
### explains why (msgid <p0624083dc311ae541393@[172.16.52.1]>):
### The root problem is that splitpath on UNIX always returns the
### final path element as a file even if it is a directory, and of
@@ -1082,7 +1129,7 @@ GLOB reference).
The second argument is used to indicate compression. You can either
compress using C<gzip> or C<bzip2>. If you pass a digit, it's assumed
to be the C<gzip> compression level (between 1 and 9), but the use of
-constants is prefered:
+constants is preferred:
# write a gzip compressed file
$tar->write( 'out.tgz', COMPRESS_GZIP );
@@ -1242,8 +1289,13 @@ sub write {
: $HAS_PERLIO ? $dummy
: do { seek $handle, 0, 0; local $/; <$handle> };
- ### make sure to close the handle;
- close $handle;
+ ### make sure to close the handle if we created it
+ if ( $file ne $handle ) {
+ unless( close $handle ) {
+ $self->_error( qq[Could not write tar] );
+ return;
+ }
+ }
return $rv;
}
@@ -1258,7 +1310,7 @@ sub _format_tar_entry {
my $prefix = $entry->prefix; $prefix = '' unless defined $prefix;
### remove the prefix from the file name
- ### not sure if this is still neeeded --kane
+ ### not sure if this is still needed --kane
### no it's not -- Archive::Tar::File->_new_from_file will take care of
### this for us. Even worse, this would break if we tried to add a file
### like x/x.
@@ -1273,7 +1325,7 @@ sub _format_tar_entry {
my $l = PREFIX_LENGTH; # is ambiguous otherwise...
substr ($prefix, 0, -$l) = "" if length $prefix >= PREFIX_LENGTH;
- my $f1 = "%06o"; my $f2 = "%11o";
+ my $f1 = "%06o"; my $f2 = $ZERO_PAD_NUMBERS ? "%011o" : "%11o";
### this might be optimizable with a 'changed' flag in the file objects ###
my $tar = pack (
@@ -1296,6 +1348,7 @@ sub _format_tar_entry {
);
### add the checksum ###
+ my $checksum_fmt = $ZERO_PAD_NUMBERS ? "%06o\0" : "%06o\0";
substr($tar,148,7) = sprintf("%6o\0", unpack("%16C*",$tar));
return $tar;
@@ -1497,7 +1550,7 @@ To switch back to the default behaviour, use
and C<Archive::Tar> will call C<Cwd::cwd()> internally again.
-If you're using C<Archive::Tar>'s C<exract()> method, C<setcwd()> will
+If you're using C<Archive::Tar>'s C<extract()> method, C<setcwd()> will
be called for you.
=cut
@@ -1520,7 +1573,7 @@ reference to an open file handle (e.g. a GLOB reference).
The second argument is used to indicate compression. You can either
compress using C<gzip> or C<bzip2>. If you pass a digit, it's assumed
to be the C<gzip> compression level (between 1 and 9), but the use of
-constants is prefered:
+constants is preferred:
# write a gzip compressed file
Archive::Tar->create_archive( 'out.tgz', COMPRESS_GZIP, @filelist );
@@ -1874,6 +1927,13 @@ your perl to be able to write stringified archives.
Don't change this variable unless you B<really> know what you're
doing.
+=head2 $Archive::Tar::ZERO_PAD_NUMBERS
+
+This variable holds a boolean indicating if we will create
+zero padded numbers for C<size>, C<mtime> and C<checksum>.
+The default is C<0>, indicating that we will create space padded
+numbers. Added for compatibility with C<busybox> implementations.
+
=head1 FAQ
=over 4
@@ -1932,7 +1992,7 @@ the extraction of this particular item didn't work.
By default, C<Archive::Tar> is in a completely POSIX-compatible
mode, which uses the POSIX-specification of C<tar> to store files.
-For paths greather than 100 characters, this is done using the
+For paths greater than 100 characters, this is done using the
C<POSIX header prefix>. Non-POSIX-compatible clients may not support
this part of the specification, and may only support the C<GNU Extended
Header> functionality. To facilitate those clients, you can set the
@@ -2107,9 +2167,9 @@ to an uploaded file, which might be a compressed archive.
C<http://www.gnu.org/software/tar/manual/tar.html>
-=item The PAX format specication
+=item The PAX format specification
-The specifcation which tar derives from; C< http://www.opengroup.org/onlinepubs/007904975/utilities/pax.html>
+The specification which tar derives from; C< http://www.opengroup.org/onlinepubs/007904975/utilities/pax.html>
=item A comparison of GNU and POSIX tar standards; C<http://www.delorie.com/gnu/docs/tar/tar_114.html>
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
index aef1d623fa8..abeb824a050 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
@@ -3,7 +3,7 @@ package Archive::Tar::Constant;
BEGIN {
require Exporter;
- $VERSION = '0.02';
+ $VERSION = '1.76';
@ISA = qw[Exporter];
require Time::Local if $^O eq "MacOS";
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
index 0815bb67620..8604ab83247 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
@@ -13,7 +13,7 @@ use Archive::Tar::Constant;
use vars qw[@ISA $VERSION];
#@ISA = qw[Archive::Tar];
-$VERSION = '0.02';
+$VERSION = '1.76';
### set value to 1 to oct() it during the unpack ###
my $tmpl = [
diff --git a/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm b/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
index ea11b8f7ed6..b0cb8e21af6 100644
--- a/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
+++ b/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
@@ -4,7 +4,7 @@ use Carp;
use warnings;
use strict;
use vars qw($VERSION $AUTOLOAD);
-$VERSION = '0.87'; # remember to update version in POD!
+$VERSION = '0.89'; # remember to update version in POD!
# $DB::single=1;
my %symcache;
@@ -235,18 +235,27 @@ sub _apply_handler_AH_ {
{
no warnings 'void';
CHECK {
- $global_phase++;
- _resolve_lastattr if _delayed_name_resolution;
- _apply_handler_AH_($_,'CHECK') foreach @declarations;
+ $global_phase++;
+ _resolve_lastattr if _delayed_name_resolution;
+ foreach my $decl (@declarations) {
+ _apply_handler_AH_($decl, 'CHECK');
+ }
}
INIT {
$global_phase++;
- _apply_handler_AH_($_,'INIT') foreach @declarations
+ foreach my $decl (@declarations) {
+ _apply_handler_AH_($decl, 'INIT');
+ }
}
}
-END { $global_phase++; _apply_handler_AH_($_,'END') foreach @declarations }
+END {
+ $global_phase++;
+ foreach my $decl (@declarations) {
+ _apply_handler_AH_($decl, 'END');
+ }
+}
1;
__END__
@@ -257,8 +266,8 @@ Attribute::Handlers - Simpler definition of attribute handlers
=head1 VERSION
-This document describes version 0.87 of Attribute::Handlers,
-released September 21, 2009.
+This document describes version 0.89 of Attribute::Handlers,
+released April 5, 2010.
=head1 SYNOPSIS
@@ -849,7 +858,7 @@ C<$referent>, which is a reference to a variable or subroutine (SCALAR, ARRAY,
HASH, or CODE). If it finds the typeglob, it returns it. Otherwise, it returns
undef. Note that C<findsym> memoizes the typeglobs it has previously
successfully found, so subsequent calls with the same arguments should be
-must faster.
+much faster.
=back
diff --git a/Master/tlpkg/tlperl/lib/AutoLoader.pm b/Master/tlpkg/tlperl/lib/AutoLoader.pm
index 06f986b50d6..d7c99514202 100644
--- a/Master/tlpkg/tlperl/lib/AutoLoader.pm
+++ b/Master/tlpkg/tlperl/lib/AutoLoader.pm
@@ -15,7 +15,7 @@ BEGIN {
$is_epoc = $^O eq 'epoc';
$is_vms = $^O eq 'VMS';
$is_macos = $^O eq 'MacOS';
- $VERSION = '5.70';
+ $VERSION = '5.71';
}
AUTOLOAD {
diff --git a/Master/tlpkg/tlperl/lib/B.pm b/Master/tlpkg/tlperl/lib/B.pm
index f7d22f11478..063eb401ae5 100644
--- a/Master/tlpkg/tlperl/lib/B.pm
+++ b/Master/tlpkg/tlperl/lib/B.pm
@@ -6,28 +6,38 @@
# License or the Artistic License, as specified in the README file.
#
package B;
+use strict;
-our $VERSION = '1.23';
-
-use XSLoader ();
require Exporter;
-@ISA = qw(Exporter);
+@B::ISA = qw(Exporter);
# walkoptree_slow comes from B.pm (you are there),
# walkoptree comes from B.xs
-@EXPORT_OK = qw(minus_c ppname save_BEGINs
- class peekop cast_I32 cstring cchar hash threadsv_names
- main_root main_start main_cv svref_2object opnumber
- sub_generation amagic_generation perlstring
- walkoptree_slow walkoptree walkoptree_exec walksymtable
- parents comppadlist sv_undef compile_stats timing_info
- begin_av init_av check_av end_av regex_padav dowarn defstash
- curstash warnhook diehook inc_gv @optype @specialsv_name
- );
-push @EXPORT_OK, qw(unitcheck_av) if $] > 5.009;
-
-sub OPf_KIDS ();
-use strict;
+
+BEGIN {
+ $B::VERSION = '1.29';
+ @B::EXPORT_OK = ();
+
+ # Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
+ # Want our constants loaded before the compiler meets OPf_KIDS below, as
+ # the combination of having the constant stay a Proxy Constant Subroutine
+ # and its value being inlined saves a little over .5K
+
+ require XSLoader;
+ XSLoader::load();
+}
+
+push @B::EXPORT_OK, (qw(minus_c ppname save_BEGINs
+ class peekop cast_I32 cstring cchar hash threadsv_names
+ main_root main_start main_cv svref_2object opnumber
+ sub_generation amagic_generation perlstring
+ walkoptree_slow walkoptree walkoptree_exec walksymtable
+ parents comppadlist sv_undef compile_stats timing_info
+ begin_av init_av check_av end_av regex_padav dowarn
+ defstash curstash warnhook diehook inc_gv @optype
+ @specialsv_name
+ ), $] > 5.009 && 'unitcheck_av');
+
@B::SV::ISA = 'B::OBJECT';
@B::NULL::ISA = 'B::SV';
@B::PV::ISA = 'B::SV';
@@ -97,8 +107,15 @@ sub B::IV::int_value {
}
sub B::NULL::as_string() {""}
-sub B::IV::as_string() {goto &B::IV::int_value}
-sub B::PV::as_string() {goto &B::PV::PV}
+*B::IV::as_string = \*B::IV::int_value;
+*B::PV::as_string = \*B::PV::PV;
+
+# The input typemap checking makes no distinction between different SV types,
+# so the XS body will generate the same C code, despite the different XS
+# "types". So there is no change in behaviour from doing "newXS" like this,
+# compared with the old approach of having a (near) duplicate XS body.
+# We should fix the typemap checking.
+*B::IV::RV = \*B::PV::RV if $] > 5.012;
my $debug;
my $op_count = 0;
@@ -315,8 +332,6 @@ sub walksymtable {
}
}
-XSLoader::load 'B';
-
1;
__END__
@@ -530,7 +545,7 @@ per-thread threadsv variables.
=back
-=head2 Exported utility variabiles
+=head2 Exported utility variables
=over 4
@@ -1099,8 +1114,6 @@ This returns the op description from the global C PL_op_desc array
Only up to Perl 5.9.4
-=item pmregexp
-
=item pmflags
=item extflags
diff --git a/Master/tlpkg/tlperl/lib/B/Concise.pm b/Master/tlpkg/tlperl/lib/B/Concise.pm
index 26996058941..014a4df84d1 100644
--- a/Master/tlpkg/tlperl/lib/B/Concise.pm
+++ b/Master/tlpkg/tlperl/lib/B/Concise.pm
@@ -14,7 +14,7 @@ use warnings; # uses #3 and #4, since warnings uses Carp
use Exporter (); # use #5
-our $VERSION = "0.78";
+our $VERSION = "0.83";
our @ISA = qw(Exporter);
our @EXPORT_OK = qw( set_style set_style_standard add_callback
concise_subref concise_cv concise_main
@@ -306,7 +306,7 @@ sub compileOpts {
if (!$Config::Config{usedl}
&& keys %{$pkg.'::'} == 1
&& $pkg->can('bootstrap')) {
- # It is something that we're staticly linked to, but hasn't
+ # It is something that we're statically linked to, but hasn't
# yet been used.
eval "require $pkg";
}
@@ -462,7 +462,7 @@ sub walk_topdown {
walk_topdown($kid, $sub, $level + 1);
}
}
- elsif (class($op) eq "PMOP") {
+ if (class($op) eq "PMOP") {
my $maybe_root = $op->pmreplroot;
if (ref($maybe_root) and $maybe_root->isa("B::OP")) {
# It really is the root of the replacement, not something
@@ -586,7 +586,7 @@ sub fmt_line { # generate text-line for op.
$text = "# $hr->{src}\n$text" if $show_src and $hr->{src};
chomp $text;
- return "$text\n" if $text ne "";
+ return "$text\n" if $text ne "" and $order ne "tree";
return $text; # suppress empty lines
}
@@ -604,8 +604,10 @@ $priv{"sassign"}{64} = "BKWARD";
$priv{$_}{64} = "RTIME" for ("match", "subst", "substcont", "qr");
@{$priv{"trans"}}{1,2,4,8,16,64} = ("<UTF", ">UTF", "IDENT", "SQUASH", "DEL",
"COMPL", "GROWS");
+$priv{transr} = $priv{trans};
$priv{"repeat"}{64} = "DOLIST";
$priv{"leaveloop"}{64} = "CONT";
+$priv{$_}{4} = "DREFed" for (qw(rv2sv rv2av rv2hv));
@{$priv{$_}}{32,64,96} = ("DREFAV", "DREFHV", "DREFSV")
for (qw(rv2gv rv2sv padsv aelem helem));
$priv{$_}{16} = "STATE" for ("padav", "padhv", "padsv");
@@ -835,7 +837,7 @@ sub concise_op {
} else {
$h{arg} = "($precomp)";
}
- } elsif ($h{class} eq "PVOP" and $h{name} ne "trans") {
+ } elsif ($h{class} eq "PVOP" and $h{name} !~ '^transr?\z') {
$h{arg} = '("' . $op->pv . '")';
$h{svval} = '"' . $op->pv . '"';
} elsif ($h{class} eq "COP") {
diff --git a/Master/tlpkg/tlperl/lib/B/Debug.pm b/Master/tlpkg/tlperl/lib/B/Debug.pm
index f44d59dd022..17f026d9fa8 100644
--- a/Master/tlpkg/tlperl/lib/B/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/B/Debug.pm
@@ -1,23 +1,34 @@
package B::Debug;
-our $VERSION = '1.12';
+our $VERSION = '1.16';
use strict;
require 5.006;
use B qw(peekop class walkoptree walkoptree_exec
- main_start main_root cstring sv_undef);
+ main_start main_root cstring sv_undef SVf_NOK SVf_IOK);
use Config;
my (@optype, @specialsv_name);
require B;
if ($] < 5.009) {
require B::Asmdata;
- B::Asmdata->import qw(@optype @specialsv_name);
+ B::Asmdata->import (qw(@optype @specialsv_name));
} else {
- B->import qw(@optype @specialsv_name);
+ B->import (qw(@optype @specialsv_name));
}
-my $have_B_Flags;
+
+if ($] < 5.006002) {
+ eval q|sub B::GV::SAFENAME {
+ my $name = (shift())->NAME;
+ # The regex below corresponds to the isCONTROLVAR macro from toke.c
+ $name =~ s/^([\cA-\cZ\c\\c[\c]\c?\c_\c^])/"^".chr(64 ^ ord($1))/e;
+ return $name;
+ }|;
+}
+
+my ($have_B_Flags, $have_B_Flags_extra);
if (!$ENV{PERL_CORE}){ # avoid CORE test crashes
eval { require B::Flags and $have_B_Flags++ };
+ $have_B_Flags_extra++ if $have_B_Flags and $B::Flags::VERSION gt '0.03';
}
my %done_gv;
@@ -25,18 +36,18 @@ sub _printop {
my $op = shift;
my $addr = ${$op} ? $op->ppaddr : '';
$addr =~ s/^PL_ppaddr// if $addr;
- return sprintf "0x%x %s %s", ${$op}, ${$op} ? class($op) : '', $addr;
+ return sprintf "0x%08x %6s %s", ${$op}, ${$op} ? class($op) : '', $addr;
}
sub B::OP::debug {
my ($op) = @_;
- printf <<'EOT', class($op), $$op, $op->ppaddr, _printop($op->next), _printop($op->sibling), $op->targ, $op->type;
+ printf <<'EOT', class($op), $$op, _printop($op), _printop($op->next), _printop($op->sibling), $op->targ, $op->type, $op->name;
%s (0x%lx)
op_ppaddr %s
op_next %s
op_sibling %s
op_targ %d
- op_type %d
+ op_type %d %s
EOT
if ($] > 5.009) {
printf <<'EOT', $op->opt;
@@ -117,8 +128,8 @@ sub B::PMOP::debug {
sub B::COP::debug {
my ($op) = @_;
$op->B::OP::debug();
- my $cop_io = class($op->io) eq 'SPECIAL' ? '' : $op->io->as_string;
- printf <<'EOT', $op->label, $op->stashpv, $op->file, $op->cop_seq, $op->arybase, $op->line, ${$op->warnings}, cstring($cop_io);
+ my $warnings = ref $op->warnings ? ${$op->warnings} : 0;
+ printf <<'EOT', $op->label, $op->stashpv, $op->file, $op->cop_seq, $op->arybase, $op->line, $warnings;
cop_label "%s"
cop_stashpv "%s"
cop_file "%s"
@@ -126,8 +137,11 @@ sub B::COP::debug {
cop_arybase %d
cop_line %d
cop_warnings 0x%x
- cop_io %s
EOT
+ if ($] > 5.008 and $] < 5.011) {
+ my $cop_io = class($op->io) eq 'SPECIAL' ? '' : $op->io->as_string;
+ printf(" cop_io %s\n", cstring($cop_io));
+ }
}
sub B::SVOP::debug {
@@ -164,11 +178,16 @@ sub B::SV::debug {
print class($sv), " = NULL\n";
return;
}
- printf <<'EOT', class($sv), $$sv, $sv->REFCNT, $sv->FLAGS;
+ printf <<'EOT', class($sv), $$sv, $sv->REFCNT;
%s (0x%x)
REFCNT %d
FLAGS 0x%x
EOT
+ printf "\tFLAGS\t\t0x%x", $sv->FLAGS;
+ if ($have_B_Flags) {
+ printf "\t%s", $have_B_Flags_extra ? $sv->flagspv(0) : $sv->flagspv;
+ }
+ print "\n";
}
sub B::RV::debug {
@@ -193,25 +212,25 @@ EOT
sub B::IV::debug {
my ($sv) = @_;
$sv->B::SV::debug();
- printf "\txiv_iv\t\t%d\n", $sv->IV;
+ printf "\txiv_iv\t\t%d\n", $sv->IV if $sv->FLAGS & SVf_IOK;
}
sub B::NV::debug {
my ($sv) = @_;
$sv->B::IV::debug();
- printf "\txnv_nv\t\t%s\n", $sv->NV;
+ printf "\txnv_nv\t\t%s\n", $sv->NV if $sv->FLAGS & SVf_NOK;
}
sub B::PVIV::debug {
my ($sv) = @_;
$sv->B::PV::debug();
- printf "\txiv_iv\t\t%d\n", $sv->IV;
+ printf "\txiv_iv\t\t%d\n", $sv->IV if $sv->FLAGS & SVf_IOK;
}
sub B::PVNV::debug {
my ($sv) = @_;
$sv->B::PVIV::debug();
- printf "\txnv_nv\t\t%s\n", $sv->NV;
+ printf "\txnv_nv\t\t%s\n", $sv->NV if $sv->FLAGS & SVf_NOK;
}
sub B::PVLV::debug {
@@ -235,11 +254,11 @@ sub B::CV::debug {
$sv->B::PVNV::debug();
my ($stash) = $sv->STASH;
my ($start) = $sv->START;
- my ($root) = $sv->ROOT;
+ my ($root) = $sv->ROOT;
my ($padlist) = $sv->PADLIST;
my ($file) = $sv->FILE;
my ($gv) = $sv->GV;
- printf <<'EOT', $$stash, $$start, $$root, $$gv, $file, $sv->DEPTH, $padlist, ${$sv->OUTSIDE}, $sv->OUTSIDE_SEQ;
+ printf <<'EOT', $$stash, $$start, $$root, $$gv, $file, $sv->DEPTH, $padlist, ${$sv->OUTSIDE};
STASH 0x%x
START 0x%x
ROOT 0x%x
@@ -248,8 +267,15 @@ sub B::CV::debug {
DEPTH %d
PADLIST 0x%x
OUTSIDE 0x%x
- OUTSIDE_SEQ %d
EOT
+ printf("\tOUTSIDE_SEQ\t%d\n", , $sv->OUTSIDE_SEQ) if $] > 5.007;
+ if ($have_B_Flags) {
+ my $SVt_PVCV = $] < 5.010 ? 12 : 13;
+ printf("\tCvFLAGS\t0x%x\t%s\n", $sv->CvFLAGS,
+ $have_B_Flags_extra ? $sv->flagspv($SVt_PVCV) : $sv->flagspv);
+ } else {
+ printf("\tCvFLAGS\t0x%x\n", $sv->CvFLAGS);
+ }
$start->debug if $start;
$root->debug if $root;
$gv->debug if $gv;
@@ -275,9 +301,14 @@ EOT
MAX %d
EOT
}
- printf <<'EOT', $av->AvFLAGS if $] < 5.009;
- AvFLAGS %d
-EOT
+ if ($] < 5.009) {
+ if ($have_B_Flags) {
+ printf("\tAvFLAGS\t0x%x\t%s\n", $av->AvFLAGS,
+ $have_B_Flags_extra ? $av->flagspv(10) : $av->flagspv);
+ } else {
+ printf("\tAvFLAGS\t0x%x\n", $av->AvFLAGS);
+ }
+ }
}
sub B::GV::debug {
@@ -286,9 +317,9 @@ sub B::GV::debug {
printf "GV %s::%s\n", $gv->STASH->NAME, $gv->SAFENAME;
return;
}
- my ($sv) = $gv->SV;
- my ($av) = $gv->AV;
- my ($cv) = $gv->CV;
+ my $sv = $gv->SV;
+ my $av = $gv->AV;
+ my $cv = $gv->CV;
$gv->B::SV::debug;
printf <<'EOT', $gv->SAFENAME, $gv->STASH->NAME, $gv->STASH, $$sv, $gv->GvREFCNT, $gv->FORM, $$av, ${$gv->HV}, ${$gv->EGV}, $$cv, $gv->CVGEN, $gv->LINE, $gv->FILE, $gv->GvFLAGS;
NAME %s
@@ -303,8 +334,14 @@ sub B::GV::debug {
CVGEN %d
LINE %d
FILE %s
- GvFLAGS 0x%x
EOT
+ if ($have_B_Flags) {
+ my $SVt_PVGV = $] < 5.010 ? 13 : 9;
+ printf("\tGvFLAGS\t0x%x\t%s\n", $gv->GvFLAGS,
+ $have_B_Flags_extra ? $gv->flagspv($SVt_PVGV) : $gv->flagspv);
+ } else {
+ printf("\tGvFLAGS\t0x%x\n", $gv->GvFLAGS);
+ }
$sv->debug if $sv;
$av->debug if $av;
$cv->debug if $cv;
@@ -312,7 +349,8 @@ EOT
sub B::SPECIAL::debug {
my $sv = shift;
- print $specialsv_name[$$sv], "\n";
+ my $i = ref $sv ? $$sv : 0;
+ print exists $specialsv_name[$i] ? $specialsv_name[$i] : "", "\n";
}
sub compile {
@@ -335,7 +373,8 @@ B::Debug - Walk Perl syntax tree, printing debug info about ops
=head1 SYNOPSIS
- perl -MO=Debug[,OPTIONS] foo.pl
+ perl -MO=Debug foo.pl
+ perl -MO=Debug,-exec foo.pl
=head1 DESCRIPTION
@@ -346,50 +385,6 @@ See F<ext/B/README> and the newer L<B::Concise>, L<B::Terse>.
With option -exec, walks tree in execute order,
otherwise in basic order.
-=head1 Changes
-
- 1.12 2010-02-10 rurban
- remove archlib installation cruft, and use the proper PM rule.
- By Todd Rinaldo (toddr)
-
- 1.11 2008-07-14 rurban
- avoid B::Flags in CORE tests not to crash on old XS in @INC
-
- 1.10 2008-06-28 rurban
- require 5.006; Test::More not possible in 5.00505
- our => my
-
- 1.09 2008-06-18 rurban
- minor META.yml syntax fix
- 5.8.0 ending nextstate test failure: be more tolerant
- PREREQ_PM Test::More
-
- 1.08 2008-06-17 rurban
- support 5.00558 - 5.6.2
-
- 1.07 2008-06-16 rurban
- debug.t: fix strawberry perl quoting issue
-
- 1.06 2008-06-11 rurban
- added B::Flags output
- dual-life CPAN as B-Debug-1.06 and CORE
- protect scalar(@array) if tied arrays leave out FETCHSIZE
-
- 1.05_03 2008-04-16 rurban
- ithread fixes in B::AV
- B-C-1.04_??
-
- B-C-1.04_09 2008-02-24 rurban
- support 5.8 (import Asmdata)
-
- 1.05_02 2008-02-21 rurban
- added _printop
- B-C-1.04_08 and CORE
-
- 1.05_01 2008-02-05 rurban
- 5.10 fix for op->seq
- B-C-1.04_04
-
=head1 AUTHOR
Malcolm Beattie, C<mbeattie@sable.ox.ac.uk>
@@ -398,7 +393,7 @@ Reini Urban C<rurban@cpan.org>
=head1 LICENSE
Copyright (c) 1996, 1997 Malcolm Beattie
-Copyright (c) 2008 Reini Urban
+Copyright (c) 2008, 2010 Reini Urban
This program is free software; you can redistribute it and/or modify
it under the terms of either:
diff --git a/Master/tlpkg/tlperl/lib/B/Deparse.pm b/Master/tlpkg/tlperl/lib/B/Deparse.pm
index b8e220e8e5c..f3c304f8263 100644
--- a/Master/tlpkg/tlperl/lib/B/Deparse.pm
+++ b/Master/tlpkg/tlperl/lib/B/Deparse.pm
@@ -11,34 +11,42 @@ package B::Deparse;
use Carp;
use B qw(class main_root main_start main_cv svref_2object opnumber perlstring
OPf_WANT OPf_WANT_VOID OPf_WANT_SCALAR OPf_WANT_LIST
- OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD OPpPAD_STATE
+ OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD
OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpCONST_BARE
OPpTRANS_SQUASH OPpTRANS_DELETE OPpTRANS_COMPLEMENT OPpTARGET_MY
OPpCONST_ARYBASE OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER
- OPpSORT_REVERSE OPpSORT_INPLACE OPpSORT_DESCEND OPpITER_REVERSED
- OPpREVERSE_INPLACE OPpCONST_NOVER
+ OPpSORT_REVERSE
SVf_IOK SVf_NOK SVf_ROK SVf_POK SVpad_OUR SVf_FAKE SVs_RMG SVs_SMG
CVf_METHOD CVf_LVALUE
PMf_KEEP PMf_GLOBAL PMf_CONTINUE PMf_EVAL PMf_ONCE
PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED),
- ($] < 5.009 ? 'PMf_SKIPWHITE' : 'RXf_SKIPWHITE'),
- ($] < 5.011 ? 'CVf_LOCKED' : ());
-$VERSION = 0.97_01;
+ ($] < 5.008004 ? () : 'OPpSORT_INPLACE'),
+ ($] < 5.008006 ? () : qw(OPpSORT_DESCEND OPpITER_REVERSED)),
+ ($] < 5.008009 ? () : qw(OPpCONST_NOVER OPpPAD_STATE)),
+ ($] < 5.009 ? 'PMf_SKIPWHITE' : qw(RXf_SKIPWHITE)),
+ ($] < 5.011 ? 'CVf_LOCKED' : 'OPpREVERSE_INPLACE'),
+ ($] < 5.013 ? () : 'PMf_NONDESTRUCT');
+$VERSION = "1.04";
use strict;
use vars qw/$AUTOLOAD/;
use warnings ();
BEGIN {
- # Easiest way to keep this code portable between 5.12.x and 5.10.x looks to
- # be to fake up a dummy CVf_LOCKED that will never actually be true.
- *CVf_LOCKED = sub () {0} unless defined &CVf_LOCKED;
+ # Easiest way to keep this code portable between version looks to
+ # be to fake up a dummy constant that will never actually be true.
+ foreach (qw(OPpSORT_INPLACE OPpSORT_DESCEND OPpITER_REVERSED OPpCONST_NOVER
+ OPpPAD_STATE RXf_SKIPWHITE CVf_LOCKED OPpREVERSE_INPLACE
+ PMf_NONDESTRUCT)) {
+ no strict 'refs';
+ *{$_} = sub () {0} unless *{$_}{CODE};
+ }
}
# Changes between 0.50 and 0.51:
# - fixed nulled leave with live enter in sort { }
# - fixed reference constants (\"str")
# - handle empty programs gracefully
-# - handle infinte loops (for (;;) {}, while (1) {})
+# - handle infinite loops (for (;;) {}, while (1) {})
# - differentiate between `for my $x ...' and `my $x; for $x ...'
# - various minor cleanups
# - moved globals into an object
@@ -98,10 +106,10 @@ BEGIN {
# - added support for Ilya's OPpTARGET_MY optimization
# - elided arrows before `()' subscripts when possible
# Changes between 0.59 and 0.60
-# - support for method attribues was added
+# - support for method attributes was added
# - some warnings fixed
# - separate recognition of constant subs
-# - rewrote continue block handling, now recoginizing for loops
+# - rewrote continue block handling, now recognizing for loops
# - added more control of expanding control structures
# Changes between 0.60 and 0.61 (mostly by Robin Houston)
# - many bug-fixes
@@ -159,7 +167,7 @@ BEGIN {
# 'use warnings; BEGIN {${^WARNING_BITS} eq "U"x12;} use warnings::register'
# op/getpid 2 - can't assign to shared my() declaration (threads only)
# 'my $x : shared = 5'
-# op/override 7 - parens on overriden require change v-string interpretation
+# op/override 7 - parens on overridden require change v-string interpretation
# 'BEGIN{*CORE::GLOBAL::require=sub {}} require v5.6'
# c.f. 'BEGIN { *f = sub {0} }; f 2'
# op/pat 774 - losing Unicode-ness of Latin1-only strings
@@ -472,7 +480,7 @@ sub stash_subs {
else {
$pack =~ s/(::)?$/::/;
no strict 'refs';
- $stash = \%$pack;
+ $stash = \%{"main::$pack"};
}
my %stash = svref_2object($stash)->ARRAY;
while (my ($key, $val) = each %stash) {
@@ -958,14 +966,19 @@ sub is_for_loop {
my $op = shift;
# This OP might be almost anything, though it won't be a
# nextstate. (It's the initialization, so in the canonical case it
- # will be an sassign.) The sibling is a lineseq whose first child
- # is a nextstate and whose second is a leaveloop.
+ # will be an sassign.) The sibling is (old style) a lineseq whose
+ # first child is a nextstate and whose second is a leaveloop, or
+ # (new style) an unstack whose sibling is a leaveloop.
my $lseq = $op->sibling;
- if (!is_state $op and !null($lseq) and $lseq->name eq "lineseq") {
+ return 0 unless !is_state($op) and !null($lseq);
+ if ($lseq->name eq "lineseq") {
if ($lseq->first && !null($lseq->first) && is_state($lseq->first)
&& (my $sib = $lseq->first->sibling)) {
return (!null($sib) && $sib->name eq "leaveloop");
}
+ } elsif ($lseq->name eq "unstack" && ($lseq->flags & OPf_SPECIAL)) {
+ my $sib = $lseq->sibling;
+ return $sib && !null($sib) && $sib->name eq "leaveloop";
}
return 0;
}
@@ -1041,9 +1054,11 @@ sub maybe_local {
and not $self->{'avoid_local'}{$$op}) {
my $our_local = ($op->private & OPpLVAL_INTRO) ? "local" : "our";
if( $our_local eq 'our' ) {
- # XXX This assertion fails code with non-ASCII identifiers,
- # like ./ext/Encode/t/jperl.t
- die "Unexpected our($text)\n" unless $text =~ /^\W(\w+::)*\w+\z/;
+ if ( $text !~ /^\W(\w+::)*\w+\z/
+ and !utf8::decode($text) || $text !~ /^\W(\w+::)*\w+\z/
+ ) {
+ die "Unexpected our($text)\n";
+ }
$text =~ s/(\w+::)+//;
}
if (want_scalar($op)) {
@@ -1213,7 +1228,8 @@ sub walk_lineseq {
}
}
if (is_for_loop($kids[$i])) {
- $callback->($expr . $self->for_loop($kids[$i], 0), $i++);
+ $callback->($expr . $self->for_loop($kids[$i], 0),
+ $i += $kids[$i]->sibling->name eq "unstack" ? 2 : 1);
next;
}
$expr .= $self->deparse($kids[$i], (@kids != 1)/2);
@@ -1412,9 +1428,10 @@ sub pp_nextstate {
$self->{'warnings'} = $warning_bits;
}
- if ($self->{'hints'} != $op->hints) {
- push @text, declare_hints($self->{'hints'}, $op->hints);
- $self->{'hints'} = $op->hints;
+ my $hints = $] < 5.008009 ? $op->private : $op->hints;
+ if ($self->{'hints'} != $hints) {
+ push @text, declare_hints($self->{'hints'}, $hints);
+ $self->{'hints'} = $hints;
}
# hack to check that the hint hash hasn't changed
@@ -2387,6 +2404,9 @@ sub pp_syscall { listop(@_, "syscall") }
sub pp_glob {
my $self = shift;
my($op, $cx) = @_;
+ if ($op->flags & OPf_SPECIAL) {
+ return $self->deparse($op->first->sibling);
+ }
my $text = $self->dq($op->first->sibling); # skip pushmark
if ($text =~ /^\$?(\w|::|\`)+$/ # could look like a readline
or $text =~ /[<>]/) {
@@ -2675,7 +2695,8 @@ sub loop_common {
$ary = $self->deparse($ary, 1);
}
if (null $var) {
- if ($enter->flags & OPf_SPECIAL) { # thread special var
+ if (($enter->flags & OPf_SPECIAL) && ($] < 5.009)) {
+ # thread special var, under 5005threads
$var = $self->pp_threadsv($enter, 1);
} else { # regular my() variable
$var = $self->pp_padsv($enter, 1);
@@ -2755,7 +2776,9 @@ sub for_loop {
my $self = shift;
my($op, $cx) = @_;
my $init = $self->deparse($op, 1);
- return $self->loop_common($op->sibling->first->sibling, $cx, $init);
+ my $s = $op->sibling;
+ my $ll = $s->name eq "unstack" ? $s->sibling : $s->first->sibling;
+ return $self->loop_common($ll, $cx, $init);
}
sub pp_leavetry {
@@ -2832,15 +2855,7 @@ sub pp_padsv {
sub pp_padav { pp_padsv(@_) }
sub pp_padhv { pp_padsv(@_) }
-my @threadsv_names;
-
-BEGIN {
- @threadsv_names = ("_", "1", "2", "3", "4", "5", "6", "7", "8", "9",
- "&", "`", "'", "+", "/", ".", ",", "\\", '"', ";",
- "^", "-", "%", "=", "|", "~", ":", "^A", "^E",
- "!", "@");
-}
-
+my @threadsv_names = B::threadsv_names;
sub pp_threadsv {
my $self = shift;
my($op, $cx) = @_;
@@ -3381,14 +3396,6 @@ sub pp_entersub {
return $prefix . $amper. $kid;
}
} else {
- # glob() invocations can be translated into calls of
- # CORE::GLOBAL::glob with a second parameter, a number.
- # Reverse this.
- if ($kid eq "CORE::GLOBAL::glob") {
- $kid = "glob";
- $args =~ s/\s*,[^,]+$//;
- }
-
# It's a syntax error to call CORE::GLOBAL::foo without a prefix,
# so it must have been translated from a keyword call. Translate
# it back.
@@ -4075,19 +4082,26 @@ sub pp_trans {
my $self = shift;
my($op, $cx) = @_;
my($from, $to);
- if (class($op) eq "PVOP") {
- ($from, $to) = tr_decode_byte($op->pv, $op->private);
+ my $class = class($op);
+ my $priv_flags = $op->private;
+ if ($class eq "PVOP") {
+ ($from, $to) = tr_decode_byte($op->pv, $priv_flags);
+ } elsif ($class eq "PADOP") {
+ ($from, $to)
+ = tr_decode_utf8($self->padval($op->padix)->RV, $priv_flags);
} else { # class($op) eq "SVOP"
- ($from, $to) = tr_decode_utf8($op->sv->RV, $op->private);
+ ($from, $to) = tr_decode_utf8($op->sv->RV, $priv_flags);
}
my $flags = "";
- $flags .= "c" if $op->private & OPpTRANS_COMPLEMENT;
- $flags .= "d" if $op->private & OPpTRANS_DELETE;
+ $flags .= "c" if $priv_flags & OPpTRANS_COMPLEMENT;
+ $flags .= "d" if $priv_flags & OPpTRANS_DELETE;
$to = "" if $from eq $to and $flags eq "";
- $flags .= "s" if $op->private & OPpTRANS_SQUASH;
+ $flags .= "s" if $priv_flags & OPpTRANS_SQUASH;
return "tr" . double_delim($from, $to) . $flags;
}
+sub pp_transr { &pp_trans . 'r' }
+
sub re_dq_disambiguate {
my ($first, $last) = @_;
# Disambiguate "${foo}bar", "${foo}{bar}", "${foo}[1]"
@@ -4221,6 +4235,7 @@ sub matchop {
}
my $quote = 1;
my $extended = ($op->pmflags & PMf_EXTENDED);
+ my $rhs_bound_to_defsv;
if (null $kid) {
my $unbacked = re_unback($op->precomp);
if ($extended) {
@@ -4232,6 +4247,7 @@ sub matchop {
carp("found ".$kid->name." where regcomp expected");
} else {
($re, $quote) = $self->regcomp($kid, 21, $extended);
+ $rhs_bound_to_defsv = 1 if $kid->first->first->flags & OPf_SPECIAL;
}
my $flags = "";
$flags .= "c" if $op->pmflags & PMf_CONTINUE;
@@ -4250,7 +4266,13 @@ sub matchop {
}
$re = $re . $flags if $quote;
if ($binop) {
- return $self->maybe_parens("$var =~ $re", $cx, 20);
+ return
+ $self->maybe_parens(
+ $rhs_bound_to_defsv
+ ? "$var =~ (\$_ =~ $re)"
+ : "$var =~ $re",
+ $cx, 20
+ );
} else {
return $re;
}
@@ -4310,7 +4332,9 @@ my %substwords;
map($substwords{join "", sort split //, $_} = $_, 'ego', 'egoism', 'em',
'es', 'ex', 'exes', 'gee', 'go', 'goes', 'ie', 'ism', 'iso', 'me',
'meese', 'meso', 'mig', 'mix', 'os', 'ox', 'oxime', 'see', 'seem',
- 'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi');
+ 'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi',
+ 'sir', 'rise', 'smore', 'more', 'seer', 'rome', 'gore', 'grim', 'grime',
+ 'or', 'rose', 'rosie');
sub pp_subst {
my $self = shift;
@@ -4351,6 +4375,7 @@ sub pp_subst {
($re) = $self->regcomp($kid, 1, $extended);
}
$flags .= "e" if $op->pmflags & PMf_EVAL;
+ $flags .= "r" if $op->pmflags & PMf_NONDESTRUCT;
$flags .= "g" if $op->pmflags & PMf_GLOBAL;
$flags .= "i" if $op->pmflags & PMf_FOLD;
$flags .= "m" if $op->pmflags & PMf_MULTILINE;
@@ -4855,7 +4880,7 @@ which is not, consequently, deparsed correctly.
Lexical (my) variables declared in scopes external to a subroutine
appear in code2ref output text as package variables. This is a tricky
-problem, as perl has no native facility for refering to a lexical variable
+problem, as perl has no native facility for referring to a lexical variable
defined within a different scope, although L<PadWalker> is a good start.
=item *
diff --git a/Master/tlpkg/tlperl/lib/B/Lint.pm b/Master/tlpkg/tlperl/lib/B/Lint.pm
index b039215ad75..a38ee323d0d 100644
--- a/Master/tlpkg/tlperl/lib/B/Lint.pm
+++ b/Master/tlpkg/tlperl/lib/B/Lint.pm
@@ -1,6 +1,6 @@
package B::Lint;
-our $VERSION = '1.11_01'; ## no critic
+our $VERSION = '1.13'; ## no critic
=head1 NAME
@@ -584,7 +584,7 @@ PRIVATE_NAMES: {
DOLLAR_UNDERSCORE: {
# Warn on uses of $_ with a few exceptions. I'm not warning on
- # $_ inside grep, map, or statement modifer foreach because
+ # $_ inside grep, map, or statement modifier foreach because
# they localize $_ and it'd be impossible to use these
# features without getting warnings.
@@ -626,7 +626,7 @@ UNDEFINED_SUBS: {
no strict 'refs'; ## no critic strict
if ( not exists &$subname ) {
$subname =~ s/\Amain:://;
- warning q[Nonexistant subroutine '%s' called], $subname;
+ warning q[Nonexistent subroutine '%s' called], $subname;
}
elsif ( not defined &$subname ) {
$subname =~ s/\A\&?main:://;
diff --git a/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm b/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
index 5929bb6d428..1a4bf31f7f6 100644
--- a/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
@@ -1,6 +1,6 @@
package B::Lint::Debug;
-our $VERSION = '0.01';
+our $VERSION = '1.12';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/B/Showlex.pm b/Master/tlpkg/tlperl/lib/B/Showlex.pm
index 3b261a337df..2de8aa49b28 100644
--- a/Master/tlpkg/tlperl/lib/B/Showlex.pm
+++ b/Master/tlpkg/tlperl/lib/B/Showlex.pm
@@ -1,6 +1,6 @@
package B::Showlex;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
use strict;
use B qw(svref_2object comppadlist class);
@@ -188,8 +188,8 @@ your declared lexicals.
=head1 SEE ALSO
-C<B::Showlex> can also be used outside of the O framework, as in the third
-example. See C<B::Concise> for a fuller explanation of reasons.
+L<B::Showlex> can also be used outside of the O framework, as in the third
+example. See L<B::Concise> for a fuller explanation of reasons.
=head1 TODO
diff --git a/Master/tlpkg/tlperl/lib/Benchmark.pm b/Master/tlpkg/tlperl/lib/Benchmark.pm
index 269674cfda5..39bf041968d 100644
--- a/Master/tlpkg/tlperl/lib/Benchmark.pm
+++ b/Master/tlpkg/tlperl/lib/Benchmark.pm
@@ -245,7 +245,7 @@ B<NOTE>: This result value differs from previous versions, which returned
the C<timethese()> result structure. If you want that, just use the two
statement C<timethese>...C<cmpthese> idiom shown above.
-Incidently, note the variance in the result values between the two examples;
+Incidentally, note the variance in the result values between the two examples;
this is typical of benchmarking. If this were a real benchmark, you would
probably want to run a lot more iterations.
@@ -318,7 +318,7 @@ calls like these:
enablecache();
Caching is off by default, as it can (usually slightly) decrease
-accuracy and does not usually noticably affect runtimes.
+accuracy and does not usually noticeably affect runtimes.
=head1 EXAMPLES
@@ -440,7 +440,7 @@ our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
clearcache clearallcache disablecache enablecache);
%EXPORT_TAGS=( all => [ @EXPORT, @EXPORT_OK ] ) ;
-$VERSION = 1.11;
+$VERSION = 1.12;
# --- ':hireswallclock' special handling
@@ -749,7 +749,7 @@ sub countit {
# The 5% fudge is to keep us from iterating again all
# that often (this speeds overall responsiveness when $tmax is big
# and we guess a little low). This does not noticably affect
- # accuracy since we're not couting these times.
+ # accuracy since we're not counting these times.
$n = int( $tpra * 1.05 * $n / $tc ); # Linear approximation.
my $td = timeit($n, $code);
my $new_tc = $td->[1] + $td->[2];
diff --git a/Master/tlpkg/tlperl/lib/Bundle/LWP.pm b/Master/tlpkg/tlperl/lib/Bundle/LWP.pm
deleted file mode 100644
index 1f2f0454cc6..00000000000
--- a/Master/tlpkg/tlperl/lib/Bundle/LWP.pm
+++ /dev/null
@@ -1,44 +0,0 @@
-package Bundle::LWP;
-
-$VERSION = "5.835";
-
-1;
-
-__END__
-
-=head1 NAME
-
-Bundle::LWP - install all libwww-perl related modules
-
-=head1 SYNOPSIS
-
- perl -MCPAN -e 'install Bundle::LWP'
-
-=head1 CONTENTS
-
-MIME::Base64 - Used in authentication headers
-
-Digest::MD5 - Needed to do Digest authentication
-
-URI 1.10 - There are URIs everywhere
-
-Net::FTP 2.58 - If you want ftp://-support
-
-HTML::Tagset - Needed by HTML::Parser
-
-HTML::Parser - Needed by HTML::HeadParser
-
-HTML::HeadParser - To get the correct $res->base
-
-LWP - The reason why you need the modules above
-
-=head1 DESCRIPTION
-
-This bundle defines all prerequisite modules for libwww-perl. Bundles
-have special meaning for the CPAN module. When you install the bundle
-module all modules mentioned in L</CONTENTS> will be installed
-instead.
-
-=head1 SEE ALSO
-
-L<CPAN/Bundles>
diff --git a/Master/tlpkg/tlperl/lib/CGI.pm b/Master/tlpkg/tlperl/lib/CGI.pm
index 1f195606c10..eed7e6b5ee2 100644
--- a/Master/tlpkg/tlperl/lib/CGI.pm
+++ b/Master/tlpkg/tlperl/lib/CGI.pm
@@ -1,5 +1,5 @@
package CGI;
-require 5.004;
+require 5.006;
use Carp 'croak';
# See the bottom of this file for the POD documentation. Search for the
@@ -16,10 +16,11 @@ use Carp 'croak';
# listing the modifications you have made.
# The most recent version and complete docs are available at:
-# http://stein.cshl.org/WWW/software/CGI/
+# http://search.cpan.org/dist/CGI.pm
+# The revision is no longer being updated since moving to git.
$CGI::revision = '$Id: CGI.pm,v 1.266 2009/07/30 16:32:34 lstein Exp $';
-$CGI::VERSION='3.49';
+$CGI::VERSION='3.52';
# HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
# UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
@@ -1570,12 +1571,8 @@ sub header {
$type ||= 'text/html' unless defined($type);
- if (defined $charset) {
- $self->charset($charset);
- } else {
- $charset = $self->charset if $type =~ /^text\//;
- }
- $charset ||= '';
+ # sets if $charset is given, gets if not
+ $charset = $self->charset( $charset );
# rearrange() was designed for the HTML portion, so we
# need to fix it up a little.
@@ -1629,7 +1626,6 @@ sub header {
}
END_OF_FUNC
-
#### Method: cache
# Control whether header() will produce the no-cache
# Pragma directive.
@@ -1861,20 +1857,20 @@ sub _script {
my (@scripts) = ref($script) eq 'ARRAY' ? @$script : ($script);
for $script (@scripts) {
- my($src,$code,$language);
- if (ref($script)) { # script is a hash
- ($src,$code,$type) =
- rearrange(['SRC','CODE',['LANGUAGE','TYPE']],
- '-foo'=>'bar', # a trick to allow the '-' to be omitted
- ref($script) eq 'ARRAY' ? @$script : %$script);
+ my($src,$code,$language,$charset);
+ if (ref($script)) { # script is a hash
+ ($src,$code,$type,$charset) =
+ rearrange(['SRC','CODE',['LANGUAGE','TYPE'],'CHARSET'],
+ '-foo'=>'bar', # a trick to allow the '-' to be omitted
+ ref($script) eq 'ARRAY' ? @$script : %$script);
$type ||= 'text/javascript';
unless ($type =~ m!\w+/\w+!) {
$type =~ s/[\d.]+$//;
$type = "text/$type";
}
- } else {
- ($src,$code,$type) = ('',$script, 'text/javascript');
- }
+ } else {
+ ($src,$code,$type,$charset) = ('',$script, 'text/javascript', '');
+ }
my $comment = '//'; # javascript by default
$comment = '#' if $type=~/perl|tcl/i;
@@ -1892,6 +1888,7 @@ sub _script {
my(@satts);
push(@satts,'src'=>$src) if $src;
push(@satts,'type'=>$type);
+ push(@satts,'charset'=>$charset) if ($src && $charset);
$code = $cdata_start . $code . $cdata_end if defined $code;
push(@result,$self->script({@satts},$code || ''));
}
@@ -2961,6 +2958,8 @@ END_OF_FUNC
sub param_fetch {
my($self,@p) = self_or_default(@_);
my($name) = rearrange([NAME],@p);
+ return [] unless defined $name;
+
unless (exists($self->{param}{$name})) {
$self->add_parameter($name);
$self->{param}{$name} = [];
@@ -3636,7 +3635,7 @@ sub read_multipart {
last if defined($filehandle = Fh->new($filename,$tmp,$PRIVATE_TEMPFILES));
$seqno += int rand(100);
}
- die "CGI open of tmpfile: $!\n" unless defined $filehandle;
+ die "CGI.pm open of tmpfile $tmp/$filename failed: $!\n" unless defined $filehandle;
$CGI::DefaultClass->binmode($filehandle) if $CGI::needs_binmode
&& defined fileno($filehandle);
@@ -4271,7 +4270,10 @@ $AUTOLOADED_ROUTINES=<<'END_OF_AUTOLOAD';
sub new {
my($package,$sequence) = @_;
my $filename;
- find_tempdir() unless -w $TMPDIRECTORY;
+ unless (-w $TMPDIRECTORY) {
+ $TMPDIRECTORY = undef;
+ find_tempdir();
+ }
for (my $i = 0; $i < $MAXTRIES; $i++) {
last if ! -f ($filename = sprintf("\%s${SL}CGItemp%d", $TMPDIRECTORY, $sequence++));
}
@@ -4721,9 +4723,10 @@ specialized tasks.)
unshift @{$q->param_fetch(-name=>'address')},'George Munster';
If you need access to the parameter list in a way that isn't covered
-by the methods above, you can obtain a direct reference to it by
-calling the B<param_fetch()> method with the name of the . This
-will return an array reference to the named parameters, which you then
+by the methods given in the previous sections, you can obtain a direct
+reference to it by
+calling the B<param_fetch()> method with the name of the parameter. This
+will return an array reference to the named parameter, which you then
can manipulate in any way you like.
You can also use a named argument style using the B<-name> argument.
@@ -5128,8 +5131,7 @@ file is created with mode 0600 (neither world nor group readable).
The temporary directory is selected using the following algorithm:
- 1. if the current user (e.g. "nobody") has a directory named
- "tmp" in its home directory, use that (Unix systems only).
+ 1. if $CGITempFile::TMPDIRECTORY is already set, use that
2. if the environment variable TMPDIR exists, use the location
indicated.
@@ -5291,17 +5293,14 @@ In either case, the outgoing header will be formatted as:
P3P: policyref="/w3c/p3p.xml" cp="CAO DSP LAW CURa"
-Note that if a header value contains a carriage return, a leading space will be
-added to each new line that doesn't already have one as specified by RFC2616
-section 4.2. For example:
+CGI.pm will accept valid multi-line headers when each line is separated with a
+CRLF value ("\r\n" on most platforms) followed by at least one space. For example:
- print header( -ingredients => "ham\neggs\nbacon" );
+ print header( -ingredients => "ham\r\n\seggs\r\n\sbacon" );
-will generate
-
- Ingredients: ham
- eggs
- bacon
+Invalid multi-line header input will trigger in an exception. When multi-line headers
+are received, CGI.pm will always output them back as a single line, according to the
+folding rules of RFC 2616: the newlines will be removed, while the white space remains.
=head2 GENERATING A REDIRECTION HEADER
@@ -5357,8 +5356,7 @@ advised that changing the status to anything other than 301, 302 or
-style=>{'src'=>'/styles/style1.css'},
-BGCOLOR=>'blue');
-After creating the HTTP header, most CGI scripts will start writing
-out an HTML document. The start_html() routine creates the top of the
+The start_html() routine creates the top of the
page, along with a lot of optional information that controls the
page's appearance and behavior.
@@ -5412,6 +5410,18 @@ off in other cases by passing an empty string (-lang=>'').
The B<-encoding> argument can be used to specify the character set for
XHTML. It defaults to iso-8859-1 if not specified.
+The B<-dtd> argument can be used to specify a public DTD identifier string. For example:
+
+ -dtd => '-//W3C//DTD HTML 4.01 Transitional//EN')
+
+Alternatively, it can take public and system DTD identifiers as an array:
+
+ dtd => [ '-//W3C//DTD HTML 4.01 Transitional//EN', 'http://www.w3.org/TR/html4/loose.dtd' ]
+
+For the public DTD identifier to be considered, it must be valid. Otherwise it
+will be replaced by the default DTD. If the public DTD contains 'XHTML', CGI.pm
+will emit XML.
+
The B<-declare_xml> argument, when used in conjunction with XHTML,
will put a <?xml> declaration at the top of the HTML header. The sole
purpose of this declaration is to declare the character set
@@ -5420,11 +5430,11 @@ a <meta> tag that specifies the encoding, allowing the HTML to pass
most validators. The default for -declare_xml is false.
You can place other arbitrary HTML elements to the <head> section with the
-B<-head> tag. For example, to place the rarely-used <link> element in the
+B<-head> tag. For example, to place a <link> element in the
head section, use this:
- print start_html(-head=>Link({-rel=>'next',
- -href=>'http://www.capricorn.com/s2.html'}));
+ print start_html(-head=>Link({-rel=>'shortcut icon',
+ -href=>'favicon.ico'}));
To incorporate multiple HTML elements into the <head> section, just pass an
array reference:
@@ -5486,12 +5496,10 @@ Use the B<-noScript> parameter to pass some HTML text that will be displayed on
browsers that do not have JavaScript (or browsers where JavaScript is turned
off).
-The <script> tag, has several attributes including "type" and src.
-The latter is particularly interesting, as it allows you to keep the
-JavaScript code in a file or CGI script rather than cluttering up each
-page with the source. To use these attributes pass a HASH reference
-in the B<-script> parameter containing one or more of -type, -src, or
--code:
+The <script> tag, has several attributes including "type", "charset" and "src".
+"src" allows you to keep JavaScript code in an external file. To use these
+attributes pass a HASH reference in the B<-script> parameter containing one or
+more of -type, -src, or -code:
print $q->start_html(-title=>'The Riddle of the Sphinx',
-script=>{-type=>'JAVASCRIPT',
@@ -5527,7 +5535,7 @@ of JavaScript. Example:
);
The option "-language" is a synonym for -type, and is supported for
-backwad compatibility.
+backwards compatibility.
The old-style positional parameters are as follows:
@@ -5672,14 +5680,8 @@ method, the results will not be what you expect.
=head1 CREATING STANDARD HTML ELEMENTS:
-CGI.pm defines general HTML shortcut methods for most, if not all of
-the HTML 3 and HTML 4 tags. HTML shortcuts are named after a single
-HTML element and return a fragment of HTML text that you can then
-print or manipulate as you like. Each shortcut returns a fragment of
-HTML code that you can append to a string, save to a file, or, most
-commonly, print out so that it displays in the browser window.
-
-This example shows how to use the HTML methods:
+CGI.pm defines general HTML shortcut methods for many HTML tags. HTML shortcuts are named after a single
+HTML element and return a fragment of HTML text. Example:
print $q->blockquote(
"Many years ago on the island of",
@@ -5935,7 +5937,7 @@ autoEscape() method with a false value immediately after creating the CGI object
$query->autoEscape(0);
Note that autoEscape() is exclusively used to effect the behavior of how some
-CGI.pm HTML generation fuctions handle escaping. Calling escapeHTML()
+CGI.pm HTML generation functions handle escaping. Calling escapeHTML()
explicitly will always escape the HTML.
I<A Lurking Trap!> Some of the form-element generating methods return
@@ -5985,7 +5987,7 @@ action and form encoding that you specify. The defaults are:
method: POST
action: this script
enctype: application/x-www-form-urlencoded for non-XHTML
- multipart/form-data for XHTML, see mulitpart/form-data below.
+ multipart/form-data for XHTML, see multipart/form-data below.
end_form() returns the closing </form> tag.
@@ -6228,7 +6230,7 @@ recognized. See textfield() for details.
=head3 Basics
-When the form is processed, you can retrieve an L<IO::Handle> compatibile
+When the form is processed, you can retrieve an L<IO::Handle> compatible
handle for a file upload field like this:
$lightweight_fh = $q->upload('field_name');
@@ -6316,7 +6318,7 @@ if you wish.
CGI.pm gives you low-level access to file upload management through
a file upload hook. You can use this feature to completely turn off
the temp file storage of file uploads, or potentially write your own
-file upload progess meter.
+file upload progress meter.
This is much like the UPLOAD_HOOK facility available in L<Apache::Request>, with
the exception that the first argument to the callback is an L<Apache::Upload>
@@ -6369,7 +6371,7 @@ param() is not a filehandle at all, but a string.
To solve this problem the upload() method was added, which always returns a
lightweight filehandle. This generally works well, but will have trouble
interoperating with some other modules because the file handle is not derived
-from L<IO::Handle>. So that brings us to current recommedation given above,
+from L<IO::Handle>. So that brings us to current recommendation given above,
which is to call the handle() method on the file handle returned by upload().
That upgrades the handle to an IO::Handle. It's a big win for compatibility for
a small penalty of loading IO::Handle the first time you call it.
@@ -7608,7 +7610,7 @@ Returns the remote host IP address, or
127.0.0.1 if the address is unavailable.
=item B<script_name()>
-Return the script name as a partial URL, for self-refering
+Return the script name as a partial URL, for self-referring
scripts.
=item B<referer()>
@@ -7725,7 +7727,7 @@ Prefix in Name.
=item In the B<use> statement
-Simply add the "-nph" pragmato the list of symbols to be imported into
+Simply add the "-nph" pragma to the list of symbols to be imported into
your script:
use CGI qw(:standard -nph)
@@ -7911,11 +7913,13 @@ To make it easier to port existing programs that use cgi-lib.pl the
compatibility routine "ReadParse" is provided. Porting is simple:
OLD VERSION
+
require "cgi-lib.pl";
&ReadParse;
print "The value of the antique is $in{antique}.\n";
NEW VERSION
+
use CGI;
CGI::ReadParse();
print "The value of the antique is $in{antique}.\n";
@@ -7923,19 +7927,68 @@ NEW VERSION
CGI.pm's ReadParse() routine creates a tied variable named %in,
which can be accessed to obtain the query variables. Like
ReadParse, you can also provide your own variable. Infrequently
-used features of ReadParse, such as the creation of @in and $in
+used features of ReadParse, such as the creation of @in and $in
variables, are not supported.
Once you use ReadParse, you can retrieve the query object itself
this way:
$q = $in{CGI};
- print textfield(-name=>'wow',
- -value=>'does this really work?');
+ print $q->textfield(-name=>'wow',
+ -value=>'does this really work?');
This allows you to start using the more interesting features
of CGI.pm without rewriting your old scripts from scratch.
+An even simpler way to mix cgi-lib calls with CGI.pm calls is to import both the
+C<:cgi-lib> and C<:standard> method:
+
+ use CGI qw(:cgi-lib :standard);
+ &ReadParse;
+ print "The price of your purchase is $in{price}.\n";
+ print textfield(-name=>'price', -default=>'$1.99');
+
+=head2 Cgi-lib functions that are available in CGI.pm
+
+In compatability mode, the following cgi-lib.pl functions are
+available for your use:
+
+ ReadParse()
+ PrintHeader()
+ HtmlTop()
+ HtmlBot()
+ SplitParam()
+ MethGet()
+ MethPost()
+
+=head2 Cgi-lib functions that are not available in CGI.pm
+
+ * Extended form of ReadParse()
+ The extended form of ReadParse() that provides for file upload
+ spooling, is not available.
+
+ * MyBaseURL()
+ This function is not available. Use CGI.pm's url() method instead.
+
+ * MyFullURL()
+ This function is not available. Use CGI.pm's self_url() method
+ instead.
+
+ * CgiError(), CgiDie()
+ These functions are not supported. Look at CGI::Carp for the way I
+ prefer to handle error messages.
+
+ * PrintVariables()
+ This function is not available. To achieve the same effect,
+ just print out the CGI object:
+
+ use CGI qw(:standard);
+ $q = CGI->new;
+ print h1("The Variables Are"),$q;
+
+ * PrintEnv()
+ This function is not available. You'll have to roll your own if you really need it.
+
=head1 AUTHOR INFORMATION
The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
@@ -7946,7 +7999,7 @@ bug reports, please provide the version of CGI.pm, the version of
Perl, the name and version of your Web server, and the name and
version of the operating system you are using. If the problem is even
remotely browser dependent, please provide information about the
-affected browers as well.
+affected browsers as well.
=head1 CREDITS
diff --git a/Master/tlpkg/tlperl/lib/CGI/Carp.pm b/Master/tlpkg/tlperl/lib/CGI/Carp.pm
index 5f9911b32e5..9d644d9c94c 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Carp.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Carp.pm
@@ -116,7 +116,7 @@ occur in the early compile phase will be seen.
Nonfatal errors will still be directed to the log file only (unless redirected
with carpout).
-Note that fatalsToBrowser does B<not> work with mod_perl version 2.0
+Note that fatalsToBrowser may B<not> work well with mod_perl version 2.0
and higher.
=head2 Changing the default message
@@ -183,6 +183,28 @@ attempting to set SIG{__DIE__} yourself, you may interfere with
this module's functionality, or this module may interfere with
your module's functionality.
+=head2 SUPPRESSING PERL ERRORS APPEARING IN THE BROWSER WINDOW
+
+A problem sometimes encountered when using fatalsToBrowser is
+when a C<die()> is done inside an C<eval> body or expression.
+Even though the
+fatalsToBrower support takes precautions to avoid this,
+you still may get the error message printed to STDOUT.
+This may have some undesireable effects when the purpose of doing the
+eval is to determine which of several algorithms is to be used.
+
+By setting C<$CGI::Carp::TO_BROWSER> to 0 you can suppress printing the C<die> messages
+but without all of the complexity of using C<set_die_handler>.
+You can localize this effect to inside C<eval> bodies if this is desireable:
+For example:
+
+ eval {
+ local $CGI::Carp::TO_BROWSER = 0;
+ die "Fatal error messages not sent browser"
+ }
+ # $@ will contain error message
+
+
=head1 MAKING WARNINGS APPEAR AS HTML COMMENTS
It is now also possible to make non-fatal errors appear as HTML
@@ -245,6 +267,8 @@ non-overridden program name
=head1 CHANGE LOG
+3.51 Added $CGI::Carp::TO_BROWSER
+
1.29 Patch from Peter Whaite to fix the unfixable problem of CGI::Carp
not behaving correctly in an eval() context.
@@ -321,9 +345,10 @@ use File::Spec;
$main::SIG{__WARN__}=\&CGI::Carp::warn;
-$CGI::Carp::VERSION = '3.45';
+$CGI::Carp::VERSION = '3.51';
$CGI::Carp::CUSTOM_MSG = undef;
$CGI::Carp::DIE_HANDLER = undef;
+$CGI::Carp::TO_BROWSER = 1;
# fancy import routine detects and handles 'errorWrap' specially.
@@ -421,23 +446,27 @@ sub ineval {
}
sub die {
- my ($arg,@rest) = @_;
+ # if no argument is passed, propagate $@ like
+ # the real die
+ my ($arg,@rest) = @_ ? @_
+ : $@ ? "$@\t...propagated"
+ : "Died"
+ ;
&$DIE_HANDLER($arg,@rest) if $DIE_HANDLER;
+ # the "$arg" is done on purpose!
# if called as die( $object, 'string' ),
# all is stringified, just like with
# the real 'die'
$arg = join '' => "$arg", @rest if @rest;
- $arg ||= 'Died';
-
my($file,$line,$id) = id(1);
$arg .= " at $file line $line.\n" unless ref $arg or $arg=~/\n$/;
realdie $arg if ineval();
- &fatalsToBrowser($arg) if $WRAP;
+ &fatalsToBrowser($arg) if ($WRAP and $CGI::Carp::TO_BROWSER);
$arg=~s/^/ stamp() /gme if $arg =~ /\n$/ or not exists $ENV{MOD_PERL};
diff --git a/Master/tlpkg/tlperl/lib/CGI/Cookie.pm b/Master/tlpkg/tlperl/lib/CGI/Cookie.pm
index 7bc090d4186..df344ff348f 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Cookie.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Cookie.pm
@@ -12,23 +12,20 @@ use warnings;
# Copyright 1995-1999, Lincoln D. Stein. All rights reserved.
# It may be used and modified freely, but I do request that this copyright
-# notice remain attached to the file. You may modify this module as you
+# notice remain attached to the file. You may modify this module as you
# wish, but if you redistribute a modified version, please attach a note
# listing the modifications you have made.
-$CGI::Cookie::VERSION='1.29';
+our $VERSION='1.30';
use CGI::Util qw(rearrange unescape escape);
-use CGI;
-use overload '""' => \&as_string,
- 'cmp' => \&compare,
- 'fallback'=>1;
+use overload '""' => \&as_string, 'cmp' => \&compare, 'fallback' => 1;
my $PERLEX = 0;
# Turn on special checking for ActiveState's PerlEx
$PERLEX++ if defined($ENV{'GATEWAY_INTERFACE'}) && $ENV{'GATEWAY_INTERFACE'} =~ /^CGI-PerlEx/;
-# Turn on special checking for Doug MacEachern's modperl
+# Turn on special checking for mod_perl
# PerlEx::DBI tries to fool DBI by setting MOD_PERL
my $MOD_PERL = 0;
if (exists $ENV{MOD_PERL} && ! $PERLEX) {
@@ -60,20 +57,14 @@ sub fetch {
my($key,$value);
my @pairs = split("[;,] ?",$raw_cookie);
- foreach (@pairs) {
- s/\s*(.*?)\s*/$1/;
- if (/^([^=]+)=(.*)/) {
- $key = $1;
- $value = $2;
- }
- else {
- $key = $_;
- $value = '';
- }
- $results{$key} = $value;
- }
- return \%results unless wantarray;
- return %results;
+ for my $pair ( @pairs ) {
+ $pair =~ s/^\s+|\s+$//g; # trim leading trailing whitespace
+ my ( $key, $value ) = split "=", $pair;
+
+ $value = defined $value ? $value : '';
+ $results{$key} = $value;
+ }
+ return wantarray ? %results : \%results;
}
sub get_raw_cookie {
@@ -93,11 +84,15 @@ sub get_raw_cookie {
sub parse {
my ($self,$raw_cookie) = @_;
+ return wantarray ? () : {} unless $raw_cookie;
+
my %results;
my @pairs = split("[;,] ?",$raw_cookie);
- foreach (@pairs) {
- s/\s*(.*?)\s*/$1/;
+ for (@pairs) {
+ s/^\s+//;
+ s/\s+$//;
+
my($key,$value) = split("=",$_,2);
# Some foreign cookies are not in name=value format, so ignore
@@ -113,49 +108,37 @@ sub parse {
# appear. The FIRST one in HTTP_COOKIE is the most recent version.
$results{$key} ||= $self->new(-name=>$key,-value=>\@values);
}
- return \%results unless wantarray;
- return %results;
+ return wantarray ? %results : \%results;
}
sub new {
- my $class = shift;
- $class = ref($class) if ref($class);
- # Ignore mod_perl request object--compatability with Apache::Cookie.
- shift if ref $_[0]
- && eval { $_[0]->isa('Apache::Request::Req') || $_[0]->isa('Apache') };
- my($name,$value,$path,$domain,$secure,$expires,$httponly) =
- rearrange([ 'NAME', ['VALUE','VALUES'], qw/ PATH DOMAIN SECURE EXPIRES
- HTTPONLY / ], @_);
-
- # Pull out our parameters.
- my @values;
- if (ref($value)) {
- if (ref($value) eq 'ARRAY') {
- @values = @$value;
- } elsif (ref($value) eq 'HASH') {
- @values = %$value;
- }
- } else {
- @values = ($value);
- }
-
- bless my $self = {
- 'name'=>$name,
- 'value'=>[@values],
- },$class;
-
- # IE requires the path and domain to be present for some reason.
- $path ||= "/";
- # however, this breaks networks which use host tables without fully qualified
- # names, so we comment it out.
- # $domain = CGI::virtual_host() unless defined $domain;
-
- $self->path($path) if defined $path;
- $self->domain($domain) if defined $domain;
- $self->secure($secure) if defined $secure;
- $self->expires($expires) if defined $expires;
- $self->httponly($httponly) if defined $httponly;
-# $self->max_age($expires) if defined $expires;
+ my ( $class, @params ) = @_;
+ $class = ref( $class ) || $class;
+ # Ignore mod_perl request object--compatibility with Apache::Cookie.
+ shift if ref $params[0]
+ && eval { $params[0]->isa('Apache::Request::Req') || $params[0]->isa('Apache') };
+ my ( $name, $value, $path, $domain, $secure, $expires, $max_age, $httponly )
+ = rearrange(
+ [
+ 'NAME', [ 'VALUE', 'VALUES' ],
+ 'PATH', 'DOMAIN',
+ 'SECURE', 'EXPIRES',
+ 'MAX-AGE','HTTPONLY'
+ ],
+ @params
+ );
+ return undef unless defined $name and defined $value;
+ my $self = {};
+ bless $self, $class;
+ $self->name( $name );
+ $self->value( $value );
+ $path ||= "/";
+ $self->path( $path ) if defined $path;
+ $self->domain( $domain ) if defined $domain;
+ $self->secure( $secure ) if defined $secure;
+ $self->expires( $expires ) if defined $expires;
+ $self->max_age($expires) if defined $max_age;
+ $self->httponly( $httponly ) if defined $httponly;
return $self;
}
@@ -163,23 +146,24 @@ sub as_string {
my $self = shift;
return "" unless $self->name;
- my(@constant_values,$domain,$path,$expires,$max_age,$secure,$httponly);
+ no warnings; # some things may be undefined, that's OK.
+
+ my $name = escape( $self->name );
+ my $value = join "&", map { escape($_) } $self->value;
+ my @cookie = ( "$name=$value" );
- push(@constant_values,"domain=$domain") if $domain = $self->domain;
- push(@constant_values,"path=$path") if $path = $self->path;
- push(@constant_values,"expires=$expires") if $expires = $self->expires;
- push(@constant_values,"max-age=$max_age") if $max_age = $self->max_age;
- push(@constant_values,"secure") if $secure = $self->secure;
- push(@constant_values,"HttpOnly") if $httponly = $self->httponly;
+ push @cookie,"domain=".$self->domain if $self->domain;
+ push @cookie,"path=".$self->path if $self->path;
+ push @cookie,"expires=".$self->expires if $self->expires;
+ push @cookie,"max-age=".$self->max_age if $self->max_age;
+ push @cookie,"secure" if $self->secure;
+ push @cookie,"HttpOnly" if $self->httponly;
- my($key) = escape($self->name);
- my($cookie) = join("=",(defined $key ? $key : ''),join("&",map escape(defined $_ ? $_ : ''),$self->value));
- return join("; ",$cookie,@constant_values);
+ return join "; ", @cookie;
}
sub compare {
- my $self = shift;
- my $value = shift;
+ my ( $self, $value ) = @_;
return "$self" cmp $value;
}
@@ -194,6 +178,7 @@ sub bake {
if ($r) {
$r->headers_out->add('Set-Cookie' => $self->as_string);
} else {
+ require CGI;
print CGI::header(-cookie => $self);
}
@@ -201,70 +186,56 @@ sub bake {
# accessors
sub name {
- my $self = shift;
- my $name = shift;
+ my ( $self, $name ) = @_;
$self->{'name'} = $name if defined $name;
return $self->{'name'};
}
sub value {
- my $self = shift;
- my $value = shift;
- if (defined $value) {
- my @values;
- if (ref($value)) {
- if (ref($value) eq 'ARRAY') {
- @values = @$value;
- } elsif (ref($value) eq 'HASH') {
- @values = %$value;
- }
- } else {
- @values = ($value);
- }
- $self->{'value'} = [@values];
- }
- return wantarray ? @{$self->{'value'}} : $self->{'value'}->[0]
+ my ( $self, $value ) = @_;
+ if ( defined $value ) {
+ my @values
+ = ref $value eq 'ARRAY' ? @$value
+ : ref $value eq 'HASH' ? %$value
+ : ( $value );
+ $self->{'value'} = [@values];
+ }
+ return wantarray ? @{ $self->{'value'} } : $self->{'value'}->[0];
}
sub domain {
- my $self = shift;
- my $domain = shift;
+ my ( $self, $domain ) = @_;
$self->{'domain'} = lc $domain if defined $domain;
return $self->{'domain'};
}
sub secure {
- my $self = shift;
- my $secure = shift;
+ my ( $self, $secure ) = @_;
$self->{'secure'} = $secure if defined $secure;
return $self->{'secure'};
}
sub expires {
- my $self = shift;
- my $expires = shift;
+ my ( $self, $expires ) = @_;
$self->{'expires'} = CGI::Util::expires($expires,'cookie') if defined $expires;
return $self->{'expires'};
}
sub max_age {
- my $self = shift;
- my $expires = shift;
- $self->{'max-age'} = CGI::Util::expire_calc($expires)-time() if defined $expires;
- return $self->{'max-age'};
+ my ( $self, $max_age ) = @_;
+ $self->{'max-age'} = CGI::Util::expire_calc($max_age)-time() if defined $max_age;
+ return $self->{'max-age'};
}
sub path {
- my $self = shift;
- my $path = shift;
+ my ( $self, $path ) = @_;
$self->{'path'} = $path if defined $path;
return $self->{'path'};
}
sub httponly { # HttpOnly
- my $self = shift;
- my $httponly = shift;
+ my ( $self, $httponly ) = @_;
$self->{'httponly'} = $httponly if defined $httponly;
return $self->{'httponly'};
}
@@ -273,7 +244,7 @@ sub httponly { # HttpOnly
=head1 NAME
-CGI::Cookie - Interface to Netscape Cookies
+CGI::Cookie - Interface to HTTP Cookies
=head1 SYNOPSIS
@@ -281,23 +252,23 @@ CGI::Cookie - Interface to Netscape Cookies
use CGI::Cookie;
# Create new cookies and send them
- $cookie1 = new CGI::Cookie(-name=>'ID',-value=>123456);
- $cookie2 = new CGI::Cookie(-name=>'preferences',
+ $cookie1 = CGI::Cookie->new(-name=>'ID',-value=>123456);
+ $cookie2 = CGI::Cookie->new(-name=>'preferences',
-value=>{ font => Helvetica,
size => 12 }
);
print header(-cookie=>[$cookie1,$cookie2]);
# fetch existing cookies
- %cookies = fetch CGI::Cookie;
+ %cookies = CGI::Cookie->fetch;
$id = $cookies{'ID'}->value;
# create cookies returned from an external source
- %cookies = parse CGI::Cookie($ENV{COOKIE});
+ %cookies = CGI::Cookie->parse($ENV{COOKIE});
=head1 DESCRIPTION
-CGI::Cookie is an interface to Netscape (HTTP/1.1) cookies, an
+CGI::Cookie is an interface to HTTP/1.1 cookies, an
innovation that allows Web servers to store persistent information on
the browser's side of the connection. Although CGI::Cookie is
intended to be used in conjunction with CGI.pm (and is in fact used by
@@ -305,7 +276,9 @@ it internally), you can use this module independently.
For full information on cookies see
- http://www.ics.uci.edu/pub/ietf/http/rfc2109.txt
+ http://tools.ietf.org/html/rfc2109
+ http://tools.ietf.org/html/rfc2965
+ http://tools.ietf.org/html/draft-ietf-httpstate-cookie
=head1 USING CGI::Cookie
@@ -332,7 +305,7 @@ the user quits the browser.
This is a partial or complete domain name for which the cookie is
valid. The browser will return the cookie to any host that matches
the partial domain name. For example, if you specify a domain name
-of ".capricorn.com", then Netscape will return the cookie to
+of ".capricorn.com", then the browser will return the cookie to
Web servers running on any of the machines "www.capricorn.com",
"ftp.capricorn.com", "feckless.capricorn.com", etc. Domain names
must contain at least two periods to prevent attempts to match
@@ -355,24 +328,25 @@ that all scripts at your site will receive the cookie.
If the "secure" attribute is set, the cookie will only be sent to your
script if the CGI request is occurring on a secure channel, such as SSL.
-=item B<4. httponly flag>
+=item B<5. httponly flag>
If the "httponly" attribute is set, the cookie will only be accessible
through HTTP Requests. This cookie will be inaccessible via JavaScript
(to prevent XSS attacks).
-But, currently this feature only used and recognised by
-MS Internet Explorer 6 Service Pack 1 and later.
+This feature is only supported by recent browsers like Internet Explorer
+6 Service Pack 1, Firefox 3.0 and Opera 9.5 (and later of course).
-See this URL for more information:
+See these URLs for more information:
-L<http://msdn.microsoft.com/en-us/library/ms533046%28VS.85%29.aspx>
+ http://msdn.microsoft.com/en-us/library/ms533046.aspx
+ http://www.owasp.org/index.php/HTTPOnly#Browsers_Supporting_HTTPOnly
=back
=head2 Creating New Cookies
- my $c = new CGI::Cookie(-name => 'foo',
+ my $c = CGI::Cookie->new(-name => 'foo',
-value => 'bar',
-expires => '+3M',
-domain => '.capricorn.com',
@@ -390,6 +364,14 @@ B<-expires> accepts any of the relative or absolute date formats
recognized by CGI.pm, for example "+3M" for three months in the
future. See CGI.pm's documentation for details.
+B<-max-age> accepts the same data formats as B<< -expires >>, but sets a
+relative value instead of an absolute like B<< -expires >>. This is intended to be
+more secure since a clock could be changed to fake an absolute time. In
+practice, as of 2011, C<< -max-age >> still does not enjoy the widespread support
+that C<< -expires >> has. You can set both, and browsers that support
+C<< -max-age >> should ignore the C<< Expires >> header. The drawback
+to this approach is the bit of bandwidth for sending an extra header on each cookie.
+
B<-domain> points to a domain name or to a fully qualified host name.
If not specified, the cookie will be returned only to the Web server
that created it.
@@ -409,7 +391,7 @@ For compatibility with Apache::Cookie, you may optionally pass in
a mod_perl request object as the first argument to C<new()>. It will
simply be ignored:
- my $c = new CGI::Cookie($r,
+ my $c = CGI::Cookie->new($r,
-name => 'foo',
-value => ['bar','baz']);
@@ -420,6 +402,10 @@ method:
$c->bake;
+This will print the Set-Cookie HTTP header to STDOUT using CGI.pm. CGI.pm
+will be loaded for this purpose if it is not already. Otherwise CGI.pm is not
+required or used by this module.
+
Under mod_perl, pass in an Apache request object:
$c->bake($r);
@@ -428,7 +414,7 @@ If you want to set the cookie yourself, Within a CGI script you can send
a cookie to the browser by creating one or more Set-Cookie: fields in the
HTTP header. Here is a typical sequence:
- my $c = new CGI::Cookie(-name => 'foo',
+ my $c = CGI::Cookie->new(-name => 'foo',
-value => ['bar','baz'],
-expires => '+3M');
@@ -456,14 +442,14 @@ representation. You may call as_string() yourself if you prefer:
=head2 Recovering Previous Cookies
- %cookies = fetch CGI::Cookie;
+ %cookies = CGI::Cookie->fetch;
B<fetch> returns an associative array consisting of all cookies
returned by the browser. The keys of the array are the cookie names. You
can iterate through the cookies this way:
- %cookies = fetch CGI::Cookie;
- foreach (keys %cookies) {
+ %cookies = CGI::Cookie->fetch;
+ for (keys %cookies) {
do_something($cookies{$_});
}
@@ -479,13 +465,16 @@ You may also retrieve cookies that were stored in some external
form using the parse() class method:
$COOKIES = `cat /usr/tmp/Cookie_stash`;
- %cookies = parse CGI::Cookie($COOKIES);
+ %cookies = CGI::Cookie->parse($COOKIES);
If you are in a mod_perl environment, you can save some overhead by
passing the request object to fetch() like this:
CGI::Cookie->fetch($r);
+If the value passed to parse() is undefined, an empty array will returned in list
+contact, and an empty hashref will be returned in scalar context.
+
=head2 Manipulating Cookies
Cookie objects have a series of accessor methods to get and set cookie
@@ -546,4 +535,6 @@ This section intentionally left blank.
L<CGI::Carp>, L<CGI>
+L<RFC 2109|http://www.ietf.org/rfc/rfc2109.txt>, L<RFC 2695|http://www.ietf.org/rfc/rfc2965.txt>
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/CGI/Pretty.pm b/Master/tlpkg/tlperl/lib/CGI/Pretty.pm
index 356747824d5..869fe0cdf2e 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Pretty.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Pretty.pm
@@ -252,7 +252,7 @@ now produces the following output:
=head2 Recommendation for when to use CGI::Pretty
CGI::Pretty is far slower than using CGI.pm directly. A benchmark showed that
-it could be about 10 times slower. Adding newslines and spaces may alter the
+it could be about 10 times slower. Adding newlines and spaces may alter the
rendered appearance of HTML. Also, the extra newlines and spaces also make the
file size larger, making the files take longer to download.
diff --git a/Master/tlpkg/tlperl/lib/CGI/Push.pm b/Master/tlpkg/tlperl/lib/CGI/Push.pm
index 9e72abda550..2af7d794da1 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Push.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Push.pm
@@ -16,7 +16,7 @@ package CGI::Push;
# The most recent version and complete docs are available at:
# http://stein.cshl.org/WWW/software/CGI/
-$CGI::Push::VERSION='1.04';
+$CGI::Push::VERSION='1.05';
use CGI;
use CGI::Util 'rearrange';
@ISA = ('CGI');
@@ -214,7 +214,7 @@ itself should have exactly the same calling conventions as the
This optional parameter indicates the content type of each page. It
defaults to "text/html". Normally the module assumes that each page
-is of a homogenous MIME type. However if you provide either of the
+is of a homogeneous MIME type. However if you provide either of the
magic values "heterogeneous" or "dynamic" (the latter provided for the
convenience of those who hate long parameter names), you can specify
the MIME type -- and other header fields -- on a per-page basis. See
diff --git a/Master/tlpkg/tlperl/lib/CGI/Util.pm b/Master/tlpkg/tlperl/lib/CGI/Util.pm
index eb639e40d59..ef95c9f0189 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Util.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Util.pm
@@ -1,15 +1,16 @@
package CGI::Util;
use strict;
-use vars qw($VERSION @EXPORT_OK @ISA $EBCDIC @A2E @E2A);
+use vars qw($VERSION @EXPORT_OK @ISA @A2E @E2A);
require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
expires ebcdic2ascii ascii2ebcdic);
-$VERSION = '3.48';
+$VERSION = '3.51';
+
+use constant EBCDIC => "\t" ne "\011";
-$EBCDIC = "\t" ne "\011";
# (ord('^') == 95) for codepage 1047 as on os390, vmesa
@A2E = (
0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 21, 11, 12, 13, 14, 15,
@@ -48,7 +49,7 @@ $EBCDIC = "\t" ne "\011";
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,179,219,220,217,218,159
);
-if ($EBCDIC && ord('^') == 106) { # as in the BS2000 posix-bc coded character set
+if (EBCDIC && ord('^') == 106) { # as in the BS2000 posix-bc coded character set
$A2E[91] = 187; $A2E[92] = 188; $A2E[94] = 106; $A2E[96] = 74;
$A2E[123] = 251; $A2E[125] = 253; $A2E[126] = 255; $A2E[159] = 95;
$A2E[162] = 176; $A2E[166] = 208; $A2E[168] = 121; $A2E[172] = 186;
@@ -61,7 +62,7 @@ if ($EBCDIC && ord('^') == 106) { # as in the BS2000 posix-bc coded character se
$E2A[221] = 219; $E2A[224] = 217; $E2A[251] = 123; $E2A[253] = 125;
$E2A[255] = 126;
}
-elsif ($EBCDIC && ord('^') == 176) { # as in codepage 037 on os400
+elsif (EBCDIC && ord('^') == 176) { # as in codepage 037 on os400
$A2E[10] = 37; $A2E[91] = 186; $A2E[93] = 187; $A2E[94] = 176;
$A2E[133] = 21; $A2E[168] = 189; $A2E[172] = 95; $A2E[221] = 173;
@@ -210,10 +211,10 @@ sub unescape {
my $todecode = shift;
return undef unless defined($todecode);
$todecode =~ tr/+/ /; # pluses become spaces
- if ($EBCDIC) {
+ if (EBCDIC) {
$todecode =~ s/%([0-9a-fA-F]{2})/chr $A2E[hex($1)]/ge;
} else {
- # handle surrogate pairs first -- dankogai
+ # handle surrogate pairs first -- dankogai. Ref: http://unicode.org/faq/utf_bom.html#utf16-2
$todecode =~ s{
%u([Dd][89a-bA-B][0-9a-fA-F]{2}) # hi
%u([Dd][c-fC-F][0-9a-fA-F]{2}) # lo
@@ -272,11 +273,12 @@ EOR
}
sub escape {
+ # If we being called in an OO-context, discard the first argument.
shift() if @_ > 1 and ( ref($_[0]) || (defined $_[1] && $_[0] eq $CGI::DefaultClass));
my $toencode = shift;
return undef unless defined($toencode);
utf8::encode($toencode) if ($] >= 5.008 && utf8::is_utf8($toencode));
- if ($EBCDIC) {
+ if (EBCDIC) {
$toencode=~s/([^a-zA-Z0-9_.~-])/uc sprintf("%%%02x",$E2A[ord($1)])/eg;
} else {
$toencode=~s/([^a-zA-Z0-9_.~-])/uc sprintf("%%%02x",ord($1))/eg;
@@ -340,7 +342,8 @@ sub expire_calc {
} else {
return $time;
}
- return (time+$offset);
+ my $cur_time = time;
+ return ($cur_time+$offset);
}
sub ebcdic2ascii {
@@ -373,7 +376,7 @@ no public subroutines
=head1 AUTHOR INFORMATION
-Copyright 1995-1998, Lincoln D. Stein. All rights reserved.
+Copyright 1995-1998, Lincoln D. Stein. All rights reserved.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
@@ -383,7 +386,7 @@ bug reports, please provide the version of CGI.pm, the version of
Perl, the name and version of your Web server, and the name and
version of the operating system you are using. If the problem is even
remotely browser dependent, please provide information about the
-affected browers as well.
+affected browsers as well.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CORE/XSUB.h b/Master/tlpkg/tlperl/lib/CORE/XSUB.h
index 0d2c24f8b76..a2cfccd8db2 100644
--- a/Master/tlpkg/tlperl/lib/CORE/XSUB.h
+++ b/Master/tlpkg/tlperl/lib/CORE/XSUB.h
@@ -72,8 +72,9 @@ Sets up the C<ix> variable for an XSUB which has aliases. This is usually
handled automatically by C<xsubpp>.
=for apidoc Ams||dUNDERBAR
-Sets up the C<padoff_du> variable for an XSUB that wishes to use
-C<UNDERBAR>.
+Sets up any variable needed by the C<UNDERBAR> macro. It used to define
+C<padoff_du>, but it is currently a noop. However, it is strongly advised
+to still use it for ensuring past and future compatibility.
=for apidoc AmU||UNDERBAR
The SV* corresponding to the $_ variable. Works even if there
@@ -166,10 +167,8 @@ is a lexical $_ in scope.
#define XSINTERFACE_FUNC_SET(cv,f) \
CvXSUBANY(cv).any_dxptr = (void (*) (pTHX_ void*))(f)
-#define dUNDERBAR PADOFFSET padoff_du = find_rundefsvoffset()
-#define UNDERBAR ((padoff_du == NOT_IN_PAD \
- || PAD_COMPNAME_FLAGS_isOUR(padoff_du)) \
- ? DEFSV : PAD_SVl(padoff_du))
+#define dUNDERBAR dNOOP
+#define UNDERBAR find_rundefsv()
/* Simple macros to put new mortal values onto the stack. */
/* Typically used to return values from XS functions. */
@@ -244,6 +243,10 @@ Macro to verify that a PM module's $VERSION variable matches the XS
module's C<XS_VERSION> variable. This is usually handled automatically by
C<xsubpp>. See L<perlxs/"The VERSIONCHECK: Keyword">.
+=for apidoc Ams||XS_APIVERSION_BOOTCHECK
+Macro to verify that the perl api version an XS module has been compiled against
+matches the api version of the perl interpreter it's being loaded into.
+
=head1 Simple Exception Handling Macros
=for apidoc Ams||dXCPT
@@ -295,47 +298,14 @@ Rethrows a previously caught exception. See L<perlguts/"Exception Handling">.
#ifdef XS_VERSION
# define XS_VERSION_BOOTCHECK \
- STMT_START { \
- SV *_sv; \
- const char *vn = NULL, *module = SvPV_nolen_const(ST(0)); \
- if (items >= 2) /* version supplied as bootstrap arg */ \
- _sv = ST(1); \
- else { \
- /* XXX GV_ADDWARN */ \
- _sv = get_sv(Perl_form(aTHX_ "%s::%s", module, \
- vn = "XS_VERSION"), FALSE); \
- if (!_sv || !SvOK(_sv)) \
- _sv = get_sv(Perl_form(aTHX_ "%s::%s", module, \
- vn = "VERSION"), FALSE); \
- } \
- if (_sv) { \
- SV *xpt = NULL; \
- SV *xssv = Perl_newSVpvn(aTHX_ STR_WITH_LEN(XS_VERSION)); \
- SV *pmsv = sv_derived_from(_sv, "version") \
- ? SvREFCNT_inc_simple_NN(_sv) \
- : new_version(_sv); \
- xssv = upg_version(xssv, 0); \
- if ( vcmp(pmsv,xssv) ) { \
- xpt = Perl_newSVpvf(aTHX_ "%s object version %"SVf \
- " does not match %s%s%s%s %"SVf, \
- module, \
- SVfARG(Perl_sv_2mortal(aTHX_ vstringify(xssv))), \
- vn ? "$" : "", vn ? module : "", \
- vn ? "::" : "", \
- vn ? vn : "bootstrap parameter", \
- SVfARG(Perl_sv_2mortal(aTHX_ vstringify(pmsv)))); \
- Perl_sv_2mortal(aTHX_ xpt); \
- } \
- SvREFCNT_dec(xssv); \
- SvREFCNT_dec(pmsv); \
- if (xpt) \
- Perl_croak(aTHX_ "%s", SvPVX(xpt)); \
- } \
- } STMT_END
+ Perl_xs_version_bootcheck(aTHX_ items, ax, STR_WITH_LEN(XS_VERSION))
#else
# define XS_VERSION_BOOTCHECK
#endif
+#define XS_APIVERSION_BOOTCHECK \
+ Perl_xs_apiversion_bootcheck(aTHX_ ST(0), STR_WITH_LEN("v" PERL_API_VERSION_STRING))
+
#ifdef NO_XSLOCKS
# define dXCPT dJMPENV; int rEtV = 0
# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0)
@@ -344,9 +314,9 @@ Rethrows a previously caught exception. See L<perlguts/"Exception Handling">.
# define XCPT_RETHROW JMPENV_JUMP(rEtV)
#endif
-/*
- The DBM_setFilter & DBM_ckFilter macros are only used by
- the *DB*_File modules
+/*
+ The DBM_setFilter & DBM_ckFilter macros are only used by
+ the *DB*_File modules
*/
#define DBM_setFilter(db_type,code) \
diff --git a/Master/tlpkg/tlperl/lib/CORE/av.h b/Master/tlpkg/tlperl/lib/CORE/av.h
index f8c9d1bdc24..de54fa92826 100644
--- a/Master/tlpkg/tlperl/lib/CORE/av.h
+++ b/Master/tlpkg/tlperl/lib/CORE/av.h
@@ -9,14 +9,13 @@
*/
struct xpvav {
- union _xnvu xnv_u;
+ HV* xmg_stash; /* class package */
+ union _xmgu xmg_u;
SSize_t xav_fill; /* Index of last element present */
SSize_t xav_max; /* max index for which array has space */
- _XPVMG_HEAD;
+ SV** xav_alloc; /* pointer to beginning of C array of SVs */
};
-/* SV** xav_alloc; */
-#define xav_alloc xiv_u.xivu_p1
/* SV* xav_arylen; */
/* SVpav_REAL is set for all AVs whose xav_array contents are refcounted.
@@ -29,7 +28,7 @@ struct xpvav {
* real if the array needs to be modified in some way. Functions that
* modify fake AVs check both flags to call av_reify() as appropriate.
*
- * Note that the Perl stack and @DB::args have neither flag set. (Thus,
+ * Note that the Perl stack has neither flag set. (Thus,
* items that go on the stack are never refcounted.)
*
* These internal details are subject to change any time. AV
@@ -58,7 +57,7 @@ Same as C<av_len()>. Deprecated, use C<av_len()> instead.
#endif
#define AvARRAY(av) ((av)->sv_u.svu_array)
-#define AvALLOC(av) (*((SV***)&((XPVAV*) SvANY(av))->xav_alloc))
+#define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc
#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max
#define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill
#define AvARYLEN(av) (*Perl_av_arylen_p(aTHX_ MUTABLE_AV(av)))
diff --git a/Master/tlpkg/tlperl/lib/CORE/cc_runtime.h b/Master/tlpkg/tlperl/lib/CORE/cc_runtime.h
deleted file mode 100644
index 90826dfb0e0..00000000000
--- a/Master/tlpkg/tlperl/lib/CORE/cc_runtime.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* cc_runtime.h
- *
- * Copyright (C) 1999, 2000, 2001, 2004, 2006, 2008 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#define DOOP(ppname) PUTBACK; PL_op = ppname(aTHX); SPAGAIN
-#define CCPP(s) OP * s(pTHX)
-
-#define PP_LIST(g) do { \
- dMARK; \
- if (g != G_ARRAY) { \
- if (++MARK <= SP) \
- *MARK = *SP; \
- else \
- *MARK = &PL_sv_undef; \
- SP = MARK; \
- } \
- } while (0)
-
-#define MAYBE_TAINT_SASSIGN_SRC(sv) \
- if (PL_tainting && PL_tainted && (!SvGMAGICAL(left) || !SvSMAGICAL(left) || \
- !((mg=mg_find(left, PERL_MAGIC_taint)) && mg->mg_len & 1)))\
- TAINT_NOT
-
-#define PP_PREINC(sv) do { \
- if (SvIOK(sv)) { \
- ++SvIVX(sv); \
- SvFLAGS(sv) &= ~(SVf_NOK|SVf_POK|SVp_NOK|SVp_POK); \
- } \
- else \
- sv_inc(sv); \
- SvSETMAGIC(sv); \
- } while (0)
-
-#define PP_UNSTACK do { \
- TAINT_NOT; \
- PL_stack_sp = PL_stack_base + cxstack[cxstack_ix].blk_oldsp; \
- FREETMPS; \
- oldsave = PL_scopestack[PL_scopestack_ix - 1]; \
- LEAVE_SCOPE(oldsave); \
- SPAGAIN; \
- } while(0)
-
-/* Anyone using eval "" deserves this mess */
-#define PP_EVAL(ppaddr, nxt) do { \
- dJMPENV; \
- int ret; \
- PUTBACK; \
- JMPENV_PUSH(ret); \
- switch (ret) { \
- case 0: \
- PL_op = ppaddr(aTHX); \
- cxstack[cxstack_ix].blk_eval.retop = Nullop; \
- if (PL_op != nxt) CALLRUNOPS(aTHX); \
- JMPENV_POP; \
- break; \
- case 1: JMPENV_POP; JMPENV_JUMP(1); \
- case 2: JMPENV_POP; JMPENV_JUMP(2); \
- case 3: \
- JMPENV_POP; \
- if (PL_restartop && PL_restartop != nxt) \
- JMPENV_JUMP(3); \
- } \
- PL_op = nxt; \
- SPAGAIN; \
- } while (0)
-
-#define PP_ENTERTRY(label) \
- STMT_START { \
- dJMPENV; \
- int ret; \
- JMPENV_PUSH(ret); \
- switch (ret) { \
- case 1: JMPENV_POP; JMPENV_JUMP(1);\
- case 2: JMPENV_POP; JMPENV_JUMP(2);\
- case 3: JMPENV_POP; SPAGAIN; goto label;\
- } \
- } STMT_END
-
-#define PP_LEAVETRY \
- STMT_START{ PL_top_env=PL_top_env->je_prev; }STMT_END
diff --git a/Master/tlpkg/tlperl/lib/CORE/config.h b/Master/tlpkg/tlperl/lib/CORE/config.h
index 0dd6de31bf0..8a65c234e73 100644
--- a/Master/tlpkg/tlperl/lib/CORE/config.h
+++ b/Master/tlpkg/tlperl/lib/CORE/config.h
@@ -1,19 +1,15 @@
-/*
- * This file was produced by running the config_h.SH script, which
+/* This file was produced by running the config_h.SH script, which
* gets its values from undef, which is generally produced by
* running Configure.
*
* Feel free to modify any of this as the need arises. Note, however,
* that running config_h.SH again will wipe out any changes you've made.
* For a more permanent change edit undef and rerun config_h.SH.
- *
- * $Id: Config_h.U 1 2006-08-24 12:32:52Z rmanfredi $
*/
-/*
- * Package name : perl5
+/* Package name : perl5
* Source directory :
- * Configuration time: Thu Feb 10 14:38:06 2011
+ * Configuration time: Fri May 18 10:52:25 2012
* Configured by : siepo
* Target system :
*/
@@ -910,7 +906,7 @@
/* HAS_QUAD:
* This symbol, if defined, tells that there's a 64-bit integer type,
- * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
+ * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
* of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
*/
#define HAS_QUAD /**/
@@ -924,18 +920,28 @@
# define QUAD_IS_INT64_T 4
#endif
-/* OSNAME:
- * This symbol contains the name of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
+/* USE_CROSS_COMPILE:
+ * This symbol, if defined, indicates that Perl is being cross-compiled.
*/
-/* OSVERS:
- * This symbol contains the version of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
+/* PERL_TARGETARCH:
+ * This symbol, if defined, indicates the target architecture
+ * Perl has been cross-compiled to. Undefined if not a cross-compile.
*/
-#define OSNAME "MSWin32" /**/
-#define OSVERS "5.1" /**/
+#ifndef USE_CROSS_COMPILE
+/*#define USE_CROSS_COMPILE / **/
+#define PERL_TARGETARCH "" /**/
+#endif
+
+/* MEM_ALIGNBYTES:
+ * This symbol contains the number of bytes required to align a
+ * double, or a long double when applicable. Usual values are 2,
+ * 4 and 8. The default is eight, for safety.
+ */
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+# define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES 8
+#endif
/* ARCHLIB:
* This variable, if defined, holds the name of the directory in
@@ -950,7 +956,7 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define ARCHLIB "c:\\perl\\lib" /**/
+#define ARCHLIB "x:\\tlperl\\lib" /**/
/*#define ARCHLIB_EXP "" / **/
/* ARCHNAME:
@@ -973,67 +979,58 @@
* This symbol, if defined, indicates that we'd like to relocate entries
* in @INC at run time based on the location of the perl binary.
*/
-#define BIN "c:\\perl\\bin" /**/
-#define BIN_EXP "c:\\perl\\bin" /**/
+#define BIN "x:\\tlperl\\bin" /**/
+#define BIN_EXP "x:\\tlperl\\bin" /**/
#define PERL_RELOCATABLE_INC "undef" /**/
-/* CAT2:
- * This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- * This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b) a/**/b
-#define STRINGIFY(a) "a"
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
-#define PeRl_StGiFy(a) #a
-#define CAT2(a,b) PeRl_CaTiFy(a,b)
-#define StGiFy(a) PeRl_StGiFy(a)
-#define STRINGIFY(a) PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- * This symbol contains the first part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
- * call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- * This symbol contains the second part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- * to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- * This symbol contains the string which will invoke a C preprocessor on
- * the standard input and produce to standard output. It needs to end
- * with CPPLAST, after all other preprocessor flags have been specified.
- * The main difference with CPPSTDIN is that this program will never be a
- * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- * available directly to the user. Note that it may well be different from
- * the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- * This symbol is intended to be used along with CPPRUN in the same manner
- * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+/* BYTEORDER:
+ * This symbol holds the hexadecimal constant defined in byteorder,
+ * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
+ * If the compiler supports cross-compiling or multiple-architecture
+ * binaries (eg. on NeXT systems), use compiler-defined macros to
+ * determine the byte order.
+ * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
+ * Binaries (MAB) on either big endian or little endian machines.
+ * The endian-ness is available at compile-time. This only matters
+ * for perl, where the config.h can be generated and installed on
+ * one system, and used by a different architecture to build an
+ * extension. Older versions of NeXT that might not have
+ * defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ * so the default case (for NeXT) is big endian to catch them.
+ * This might matter for NeXT 3.0.
*/
-#define CPPSTDIN "gcc -E"
-#define CPPMINUS "-"
-#define CPPRUN "gcc -E"
-#define CPPLAST ""
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+# ifdef __LITTLE_ENDIAN__
+# if LONGSIZE == 4
+# define BYTEORDER 0x1234
+# else
+# if LONGSIZE == 8
+# define BYTEORDER 0x12345678
+# endif
+# endif
+# else
+# ifdef __BIG_ENDIAN__
+# if LONGSIZE == 4
+# define BYTEORDER 0x4321
+# else
+# if LONGSIZE == 8
+# define BYTEORDER 0x87654321
+# endif
+# endif
+# endif
+# endif
+# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+# define BYTEORDER 0x4321
+# endif
+#else
+#define BYTEORDER 0x1234 /* large digits for MSB */
+#endif /* NeXT */
-/* HAS_ACCESS:
- * This manifest constant lets the C program know that the access()
- * system call is available to check for accessibility using real UID/GID.
- * (always present on UNIX.)
+/* CHARBITS:
+ * This symbol contains the size of a char, so that the C preprocessor
+ * can make decisions based on it.
*/
-#define HAS_ACCESS /**/
+#define CHARBITS 8 /**/
/* HAS_ACCESSX:
* This symbol, if defined, indicates that the accessx routine is
@@ -1054,53 +1051,32 @@
/*#define HAS_ASCTIME_R / **/
#define ASCTIME_R_PROTO 0 /**/
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
+/* CASTI32:
+ * This symbol is defined if the C compiler can cast negative
+ * or large floating point numbers to 32-bit ints.
*/
-/* HASATTRIBUTE_DEPRECATED:
- * Can we handle GCC attribute for marking deprecated APIs
+#define CASTI32 /**/
+
+/* CASTNEGFLOAT:
+ * This symbol is defined if the C compiler can cast negative
+ * numbers to unsigned longs, ints and shorts.
*/
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
+/* CASTFLAGS:
+ * This symbol contains flags that say what difficulties the compiler
+ * has casting odd floating values to unsigned long:
+ * 0 = ok
+ * 1 = couldn't cast < 0
+ * 2 = couldn't cast >= 0x80000000
+ * 4 = couldn't cast in argument expression list
*/
-/*#define HASATTRIBUTE_DEPRECATED / **/
-/*#define HASATTRIBUTE_FORMAT / **/
-/*#define PRINTF_FORMAT_NULL_OK / **/
-/*#define HASATTRIBUTE_NORETURN / **/
-/*#define HASATTRIBUTE_MALLOC / **/
-/*#define HASATTRIBUTE_NONNULL / **/
-/*#define HASATTRIBUTE_PURE / **/
-/*#define HASATTRIBUTE_UNUSED / **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+#define CASTNEGFLOAT /**/
+#define CASTFLAGS 0 /**/
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
+/* VOID_CLOSEDIR:
+ * This symbol, if defined, indicates that the closedir() routine
+ * does not return a value.
*/
-#define HASCONST /**/
-#ifndef HASCONST
-#define const
-#endif
+/*#define VOID_CLOSEDIR / **/
/* HAS_CRYPT_R:
* This symbol, if defined, indicates that the crypt_r routine
@@ -1115,17 +1091,6 @@
/*#define HAS_CRYPT_R / **/
#define CRYPT_R_PROTO 0 /**/
-/* HAS_CSH:
- * This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- * This symbol, if defined, contains the full pathname of csh.
- */
-/*#define HAS_CSH / **/
-#ifdef HAS_CSH
-#define CSH "" /**/
-#endif
-
/* HAS_CTERMID_R:
* This symbol, if defined, indicates that the ctermid_r routine
* is available to ctermid re-entrantly.
@@ -1165,26 +1130,12 @@
/*#define HAS_DRAND48_R / **/
#define DRAND48_R_PROTO 0 /**/
-/* HAS_DRAND48_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the drand48() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern double drand48(void);
- */
-/*#define HAS_DRAND48_PROTO / **/
-
/* HAS_EACCESS:
* This symbol, if defined, indicates that the eaccess routine is
* available to do extended access checks.
*/
/*#define HAS_EACCESS / **/
-/* HAS_ENDGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the group database.
- */
-/*#define HAS_ENDGRENT / **/
-
/* HAS_ENDGRENT_R:
* This symbol, if defined, indicates that the endgrent_r routine
* is available to endgrent re-entrantly.
@@ -1198,12 +1149,6 @@
/*#define HAS_ENDGRENT_R / **/
#define ENDGRENT_R_PROTO 0 /**/
-/* HAS_ENDHOSTENT:
- * This symbol, if defined, indicates that the endhostent() routine is
- * available to close whatever was being used for host queries.
- */
-/*#define HAS_ENDHOSTENT / **/
-
/* HAS_ENDHOSTENT_R:
* This symbol, if defined, indicates that the endhostent_r routine
* is available to endhostent re-entrantly.
@@ -1217,12 +1162,6 @@
/*#define HAS_ENDHOSTENT_R / **/
#define ENDHOSTENT_R_PROTO 0 /**/
-/* HAS_ENDNETENT:
- * This symbol, if defined, indicates that the endnetent() routine is
- * available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT / **/
-
/* HAS_ENDNETENT_R:
* This symbol, if defined, indicates that the endnetent_r routine
* is available to endnetent re-entrantly.
@@ -1236,12 +1175,6 @@
/*#define HAS_ENDNETENT_R / **/
#define ENDNETENT_R_PROTO 0 /**/
-/* HAS_ENDPROTOENT:
- * This symbol, if defined, indicates that the endprotoent() routine is
- * available to close whatever was being used for protocol queries.
- */
-/*#define HAS_ENDPROTOENT / **/
-
/* HAS_ENDPROTOENT_R:
* This symbol, if defined, indicates that the endprotoent_r routine
* is available to endprotoent re-entrantly.
@@ -1255,12 +1188,6 @@
/*#define HAS_ENDPROTOENT_R / **/
#define ENDPROTOENT_R_PROTO 0 /**/
-/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the passwd database.
- */
-/*#define HAS_ENDPWENT / **/
-
/* HAS_ENDPWENT_R:
* This symbol, if defined, indicates that the endpwent_r routine
* is available to endpwent re-entrantly.
@@ -1274,12 +1201,6 @@
/*#define HAS_ENDPWENT_R / **/
#define ENDPWENT_R_PROTO 0 /**/
-/* HAS_ENDSERVENT:
- * This symbol, if defined, indicates that the endservent() routine is
- * available to close whatever was being used for service queries.
- */
-/*#define HAS_ENDSERVENT / **/
-
/* HAS_ENDSERVENT_R:
* This symbol, if defined, indicates that the endservent_r routine
* is available to endservent re-entrantly.
@@ -1293,17 +1214,28 @@
/*#define HAS_ENDSERVENT_R / **/
#define ENDSERVENT_R_PROTO 0 /**/
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
+/* HAS_FD_SET:
+ * This symbol, when defined, indicates presence of the fd_set typedef
+ * in <sys/types.h>
*/
-#define FLEXFILENAMES /**/
+#define HAS_FD_SET /**/
-/* HAS_GETGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for sequential access of the group database.
+/* Gconvert:
+ * This preprocessor macro is defined to convert a floating point
+ * number to a string without a trailing decimal point. This
+ * emulates the behavior of sprintf("%g"), but is sometimes much more
+ * efficient. If gconvert() is not available, but gcvt() drops the
+ * trailing decimal point, then gcvt() is used. If all else fails,
+ * a macro using sprintf("%g") is used. Arguments for the Gconvert
+ * macro are: value, number of digits, whether trailing zeros should
+ * be retained, and the output buffer.
+ * The usual values are:
+ * d_Gconvert='gconvert((x),(n),(t),(b))'
+ * d_Gconvert='gcvt((x),(n),(b))'
+ * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ * The last two assume trailing zeros should not be kept.
*/
-/*#define HAS_GETGRENT / **/
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
/* HAS_GETGRENT_R:
* This symbol, if defined, indicates that the getgrent_r routine
@@ -1344,53 +1276,6 @@
/*#define HAS_GETGRNAM_R / **/
#define GETGRNAM_R_PROTO 0 /**/
-/* HAS_GETHOSTBYADDR:
- * This symbol, if defined, indicates that the gethostbyaddr() routine is
- * available to look up hosts by their IP addresses.
- */
-#define HAS_GETHOSTBYADDR /**/
-
-/* HAS_GETHOSTBYNAME:
- * This symbol, if defined, indicates that the gethostbyname() routine is
- * available to look up host names in some data base or other.
- */
-#define HAS_GETHOSTBYNAME /**/
-
-/* HAS_GETHOSTENT:
- * This symbol, if defined, indicates that the gethostent() routine is
- * available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT / **/
-
-/* HAS_GETHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * gethostname() routine to derive the host name. See also HAS_UNAME
- * and PHOSTNAME.
- */
-/* HAS_UNAME:
- * This symbol, if defined, indicates that the C program may use the
- * uname() routine to derive the host name. See also HAS_GETHOSTNAME
- * and PHOSTNAME.
- */
-/* PHOSTNAME:
- * This symbol, if defined, indicates the command to feed to the
- * popen() routine to derive the host name. See also HAS_GETHOSTNAME
- * and HAS_UNAME. Note that the command uses a fully qualified path,
- * so that it is safe even if used by a process with super-user
- * privileges.
- */
-/* HAS_PHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * contents of PHOSTNAME as a command to feed to the popen() routine
- * to derive the host name.
- */
-#define HAS_GETHOSTNAME /**/
-#define HAS_UNAME /**/
-/*#define HAS_PHOSTNAME / **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "" /* How to get the host name */
-#endif
-
/* HAS_GETHOSTBYADDR_R:
* This symbol, if defined, indicates that the gethostbyaddr_r routine
* is available to gethostbyaddr re-entrantly.
@@ -1430,14 +1315,6 @@
/*#define HAS_GETHOSTENT_R / **/
#define GETHOSTENT_R_PROTO 0 /**/
-/* HAS_GETHOST_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for gethostent(), gethostbyname(), and
- * gethostbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETHOST_PROTOS /**/
-
/* HAS_GETLOGIN_R:
* This symbol, if defined, indicates that the getlogin_r routine
* is available to getlogin re-entrantly.
@@ -1451,24 +1328,6 @@
/*#define HAS_GETLOGIN_R / **/
#define GETLOGIN_R_PROTO 0 /**/
-/* HAS_GETNETBYADDR:
- * This symbol, if defined, indicates that the getnetbyaddr() routine is
- * available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR / **/
-
-/* HAS_GETNETBYNAME:
- * This symbol, if defined, indicates that the getnetbyname() routine is
- * available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME / **/
-
-/* HAS_GETNETENT:
- * This symbol, if defined, indicates that the getnetent() routine is
- * available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT / **/
-
/* HAS_GETNETBYADDR_R:
* This symbol, if defined, indicates that the getnetbyaddr_r routine
* is available to getnetbyaddr re-entrantly.
@@ -1508,41 +1367,12 @@
/*#define HAS_GETNETENT_R / **/
#define GETNETENT_R_PROTO 0 /**/
-/* HAS_GETNET_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getnetent(), getnetbyname(), and
- * getnetbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETNET_PROTOS / **/
-
-/* HAS_GETPROTOENT:
- * This symbol, if defined, indicates that the getprotoent() routine is
- * available to look up protocols in some data base or another.
- */
-/*#define HAS_GETPROTOENT / **/
-
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- * This symbol, if defined, indicates that getpgrp needs one
- * arguments whereas USG one needs none.
- */
-/*#define HAS_GETPGRP / **/
-/*#define USE_BSD_GETPGRP / **/
-
-/* HAS_GETPROTOBYNAME:
- * This symbol, if defined, indicates that the getprotobyname()
- * routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- * This symbol, if defined, indicates that the getprotobynumber()
- * routine is available to look up protocols by their number.
+/* HAS_GETPAGESIZE:
+ * This symbol, if defined, indicates that the getpagesize system call
+ * is available to get system page size, which is the granularity of
+ * many memory management calls.
*/
-#define HAS_GETPROTOBYNAME /**/
-#define HAS_GETPROTOBYNUMBER /**/
+/*#define HAS_GETPAGESIZE / **/
/* HAS_GETPROTOBYNAME_R:
* This symbol, if defined, indicates that the getprotobyname_r routine
@@ -1583,21 +1413,6 @@
/*#define HAS_GETPROTOENT_R / **/
#define GETPROTOENT_R_PROTO 0 /**/
-/* HAS_GETPROTO_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getprotoent(), getprotobyname(), and
- * getprotobyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETPROTO_PROTOS /**/
-
-/* HAS_GETPWENT:
- * This symbol, if defined, indicates that the getpwent routine is
- * available for sequential access of the passwd database.
- * If this is not available, the older getpw() function may be available.
- */
-/*#define HAS_GETPWENT / **/
-
/* HAS_GETPWENT_R:
* This symbol, if defined, indicates that the getpwent_r routine
* is available to getpwent re-entrantly.
@@ -1637,12 +1452,6 @@
/*#define HAS_GETPWUID_R / **/
#define GETPWUID_R_PROTO 0 /**/
-/* HAS_GETSERVENT:
- * This symbol, if defined, indicates that the getservent() routine is
- * available to look up network services in some data base or another.
- */
-/*#define HAS_GETSERVENT / **/
-
/* HAS_GETSERVBYNAME_R:
* This symbol, if defined, indicates that the getservbyname_r routine
* is available to getservbyname re-entrantly.
@@ -1682,14 +1491,6 @@
/*#define HAS_GETSERVENT_R / **/
#define GETSERVENT_R_PROTO 0 /**/
-/* HAS_GETSERV_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getservent(), getservbyname(), and
- * getservbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETSERV_PROTOS /**/
-
/* HAS_GETSPNAM_R:
* This symbol, if defined, indicates that the getspnam_r routine
* is available to getspnam re-entrantly.
@@ -1703,17 +1504,6 @@
/*#define HAS_GETSPNAM_R / **/
#define GETSPNAM_R_PROTO 0 /**/
-/* HAS_GETSERVBYNAME:
- * This symbol, if defined, indicates that the getservbyname()
- * routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- * This symbol, if defined, indicates that the getservbyport()
- * routine is available to look up services by their port.
- */
-#define HAS_GETSERVBYNAME /**/
-#define HAS_GETSERVBYPORT /**/
-
/* HAS_GMTIME_R:
* This symbol, if defined, indicates that the gmtime_r routine
* is available to gmtime re-entrantly.
@@ -1727,30 +1517,28 @@
/*#define HAS_GMTIME_R / **/
#define GMTIME_R_PROTO 0 /**/
-/* HAS_HTONL:
- * This symbol, if defined, indicates that the htonl() routine (and
- * friends htons() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_HTONS:
- * This symbol, if defined, indicates that the htons() routine (and
- * friends htonl() ntohl() ntohs()) are available to do network
- * order byte swapping.
+/* HAS_GNULIBC:
+ * This symbol, if defined, indicates to the C program that
+ * the GNU C library is being used. A better check is to use
+ * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
*/
-/* HAS_NTOHL:
- * This symbol, if defined, indicates that the ntohl() routine (and
- * friends htonl() htons() ntohs()) are available to do network
- * order byte swapping.
+/*#define HAS_GNULIBC / **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+# define _GNU_SOURCE
+#endif
+
+/* HAS_ISASCII:
+ * This manifest constant lets the C program know that isascii
+ * is available.
*/
-/* HAS_NTOHS:
- * This symbol, if defined, indicates that the ntohs() routine (and
- * friends htonl() htons() ntohl()) are available to do network
- * order byte swapping.
+#define HAS_ISASCII /**/
+
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
*/
-#define HAS_HTONL /**/
-#define HAS_HTONS /**/
-#define HAS_NTOHL /**/
-#define HAS_NTOHS /**/
+/*#define HAS_LCHOWN / **/
/* HAS_LOCALTIME_R:
* This symbol, if defined, indicates that the localtime_r routine
@@ -1778,71 +1566,11 @@
/*#define HAS_LOCALTIME_R / **/
#define LOCALTIME_R_PROTO 0 /**/
-/* HAS_LONG_DOUBLE:
- * This symbol will be defined if the C compiler supports long
- * doubles.
- */
-/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long doubles.
- */
-#define HAS_LONG_DOUBLE /**/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 12 /**/
-#endif
-
-/* HAS_LONG_LONG:
- * This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long long.
- */
-/*#define HAS_LONG_LONG / **/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8 /**/
-#endif
-
-/* HAS_LSEEK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the lseek() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern off_t lseek(int, off_t, int);
- */
-#define HAS_LSEEK_PROTO /**/
-
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#define HAS_MEMCHR /**/
-
-/* HAS_MKSTEMP:
- * This symbol, if defined, indicates that the mkstemp routine is
- * available to exclusively create and open a uniquely named
- * temporary file.
- */
-/*#define HAS_MKSTEMP / **/
-
-/* HAS_MMAP:
- * This symbol, if defined, indicates that the mmap system call is
- * available to map a file into memory.
- */
-/* Mmap_t:
- * This symbol holds the return type of the mmap() system call
- * (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
- */
-/*#define HAS_MMAP / **/
-#define Mmap_t void * /**/
-
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
+/* HAS_OPEN3:
+ * This manifest constant lets the C program know that the three
+ * argument form of open(2) is available.
*/
-/*#define HAS_MSG / **/
+/*#define HAS_OPEN3 / **/
/* OLD_PTHREAD_CREATE_JOINABLE:
* This symbol, if defined, indicates how to create pthread
@@ -1918,17 +1646,28 @@
/*#define HAS_READDIR_R / **/
#define READDIR_R_PROTO 0 /**/
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
+/* HAS_SAFE_BCOPY:
+ * This symbol, if defined, indicates that the bcopy routine is available
+ * to copy potentially overlapping memory blocks. Normally, you should
+ * probably use memmove() or memcpy(). If neither is defined, roll your
+ * own version.
*/
-/*#define HAS_SEM / **/
+/*#define HAS_SAFE_BCOPY / **/
-/* HAS_SETGRENT:
- * This symbol, if defined, indicates that the setgrent routine is
- * available for initializing sequential access of the group database.
+/* HAS_SAFE_MEMCPY:
+ * This symbol, if defined, indicates that the memcpy routine is available
+ * to copy potentially overlapping memory blocks. If you need to
+ * copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ * use memmove() instead, if available.
*/
-/*#define HAS_SETGRENT / **/
+/*#define HAS_SAFE_MEMCPY / **/
+
+/* HAS_SANE_MEMCMP:
+ * This symbol, if defined, indicates that the memcmp routine is available
+ * and can be used to compare relative magnitudes of chars with their high
+ * bits set. If it is not defined, roll your own version.
+ */
+#define HAS_SANE_MEMCMP /**/
/* HAS_SETGRENT_R:
* This symbol, if defined, indicates that the setgrent_r routine
@@ -1943,12 +1682,6 @@
/*#define HAS_SETGRENT_R / **/
#define SETGRENT_R_PROTO 0 /**/
-/* HAS_SETHOSTENT:
- * This symbol, if defined, indicates that the sethostent() routine is
- * available.
- */
-/*#define HAS_SETHOSTENT / **/
-
/* HAS_SETHOSTENT_R:
* This symbol, if defined, indicates that the sethostent_r routine
* is available to sethostent re-entrantly.
@@ -1975,12 +1708,6 @@
/*#define HAS_SETLOCALE_R / **/
#define SETLOCALE_R_PROTO 0 /**/
-/* HAS_SETNETENT:
- * This symbol, if defined, indicates that the setnetent() routine is
- * available.
- */
-/*#define HAS_SETNETENT / **/
-
/* HAS_SETNETENT_R:
* This symbol, if defined, indicates that the setnetent_r routine
* is available to setnetent re-entrantly.
@@ -1994,24 +1721,6 @@
/*#define HAS_SETNETENT_R / **/
#define SETNETENT_R_PROTO 0 /**/
-/* HAS_SETPROTOENT:
- * This symbol, if defined, indicates that the setprotoent() routine is
- * available.
- */
-/*#define HAS_SETPROTOENT / **/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- * This symbol, if defined, indicates that setpgrp needs two
- * arguments whereas USG one needs none. See also HAS_SETPGID
- * for a POSIX interface.
- */
-/*#define HAS_SETPGRP / **/
-/*#define USE_BSD_SETPGRP / **/
-
/* HAS_SETPROTOENT_R:
* This symbol, if defined, indicates that the setprotoent_r routine
* is available to setprotoent re-entrantly.
@@ -2025,12 +1734,6 @@
/*#define HAS_SETPROTOENT_R / **/
#define SETPROTOENT_R_PROTO 0 /**/
-/* HAS_SETPWENT:
- * This symbol, if defined, indicates that the setpwent routine is
- * available for initializing sequential access of the passwd database.
- */
-/*#define HAS_SETPWENT / **/
-
/* HAS_SETPWENT_R:
* This symbol, if defined, indicates that the setpwent_r routine
* is available to setpwent re-entrantly.
@@ -2044,12 +1747,6 @@
/*#define HAS_SETPWENT_R / **/
#define SETPWENT_R_PROTO 0 /**/
-/* HAS_SETSERVENT:
- * This symbol, if defined, indicates that the setservent() routine is
- * available.
- */
-/*#define HAS_SETSERVENT / **/
-
/* HAS_SETSERVENT_R:
* This symbol, if defined, indicates that the setservent_r routine
* is available to setservent re-entrantly.
@@ -2063,6 +1760,933 @@
/*#define HAS_SETSERVENT_R / **/
#define SETSERVENT_R_PROTO 0 /**/
+/* HAS_SIGACTION:
+ * This symbol, if defined, indicates that Vr4's sigaction() routine
+ * is available.
+ */
+/*#define HAS_SIGACTION / **/
+
+/* HAS_SIGSETJMP:
+ * This variable indicates to the C program that the sigsetjmp()
+ * routine is available to save the calling process's registers
+ * and stack environment for later use by siglongjmp(), and
+ * to optionally save the process's signal mask. See
+ * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ * This macro is used in the same way as sigsetjmp(), but will invoke
+ * traditional setjmp() if sigsetjmp isn't available.
+ * See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ * This macro is used in the same way as siglongjmp(), but will invoke
+ * traditional longjmp() if siglongjmp isn't available.
+ * See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP / **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ * It is zero if d_srand48_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+ * is defined.
+ */
+/*#define HAS_SRAND48_R / **/
+#define SRAND48_R_PROTO 0 /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ * It is zero if d_srandom_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+ * is defined.
+ */
+/*#define HAS_SRANDOM_R / **/
+#define SRANDOM_R_PROTO 0 /**/
+
+/* USE_STDIO_PTR:
+ * This symbol is defined if the _ptr and _cnt fields (or similar)
+ * of the stdio FILE structure can be used to access the stdio buffer
+ * for a file handle. If this is defined, then the FILE_ptr(fp)
+ * and FILE_cnt(fp) macros will also be defined and should be used
+ * to access these fields.
+ */
+/* FILE_ptr:
+ * This macro is used to access the _ptr field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ * This symbol is defined if the FILE_ptr macro can be used as an
+ * lvalue.
+ */
+/* FILE_cnt:
+ * This macro is used to access the _cnt field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ * This symbol is defined if the FILE_cnt macro can be used as an
+ * lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n has the side effect of decreasing the
+ * value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+#define USE_STDIO_PTR /**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp) ((fp)->_ptr)
+#define STDIO_PTR_LVALUE /**/
+#define FILE_cnt(fp) ((fp)->_cnt)
+#define STDIO_CNT_LVALUE /**/
+/*#define STDIO_PTR_LVAL_SETS_CNT / **/
+#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
+#endif
+
+/* USE_STDIO_BASE:
+ * This symbol is defined if the _base field (or similar) of the
+ * stdio FILE structure can be used to access the stdio buffer for
+ * a file handle. If this is defined, then the FILE_base(fp) macro
+ * will also be defined and should be used to access this field.
+ * Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ * to determine the number of bytes in the buffer. USE_STDIO_BASE
+ * will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ * This macro is used to access the _base field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ * This macro is used to determine the number of bytes in the I/O
+ * buffer pointed to by _base field (or equivalent) of the FILE
+ * structure pointed to its argument. This macro will always be defined
+ * if USE_STDIO_BASE is defined.
+ */
+#define USE_STDIO_BASE /**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp) ((fp)->_base)
+#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
+#endif
+
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ * It is zero if d_strerror_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+ * is defined.
+ */
+/*#define HAS_STRERROR_R / **/
+#define STRERROR_R_PROTO 0 /**/
+
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ * It is zero if d_tmpnam_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+ * is defined.
+ */
+/*#define HAS_TMPNAM_R / **/
+#define TMPNAM_R_PROTO 0 /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ * It is zero if d_ttyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ * is defined.
+ */
+/*#define HAS_TTYNAME_R / **/
+#define TTYNAME_R_PROTO 0 /**/
+
+/* HAS_VPRINTF:
+ * This symbol, if defined, indicates that the vprintf routine is available
+ * to printf with a pointer to an argument list. If unavailable, you
+ * may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ * This symbol is defined if this system has vsprintf() returning type
+ * (char*). The trend seems to be to declare it as "int vsprintf()". It
+ * is up to the package author to declare vsprintf correctly based on the
+ * symbol.
+ */
+#define HAS_VPRINTF /**/
+/*#define USE_CHAR_VSPRINTF / **/
+
+/* DOUBLESIZE:
+ * This symbol contains the size of a double, so that the C preprocessor
+ * can make decisions based on it.
+ */
+#define DOUBLESIZE 8 /**/
+
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
+ */
+/*#define I_MACH_CTHREADS / **/
+
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+/*#define I_PTHREAD / **/
+
+/* I_SYS_ACCESS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/access.h>.
+ */
+/*#define I_SYS_ACCESS / **/
+
+/* I_SYS_SECURITY:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/security.h>.
+ */
+/*#define I_SYS_SECURITY / **/
+
+/* I_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <time.h>.
+ */
+/* I_SYS_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME /**/
+/*#define I_SYS_TIME / **/
+/*#define I_SYS_TIME_KERNEL / **/
+/*#define HAS_TM_TM_ZONE / **/
+/*#define HAS_TM_TM_GMTOFF / **/
+
+/* PERL_INC_VERSION_LIST:
+ * This variable specifies the list of subdirectories in over
+ * which perl.c:incpush() and lib/lib.pm will automatically
+ * search when adding directories to @INC, in a format suitable
+ * for a C initialization string. See the inc_version_list entry
+ * in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST 0 / **/
+
+/* INSTALL_USR_BIN_PERL:
+ * This symbol, if defined, indicates that Perl is to be installed
+ * also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL / **/
+
+/* VAL_O_NONBLOCK:
+ * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ * non-blocking I/O for the file descriptor. Note that there is no way
+ * back, i.e. you cannot turn it blocking again this way. If you wish to
+ * alternatively switch between blocking and non-blocking, use the
+ * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ * This symbol holds the errno error code set by read() when no data was
+ * present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ * This symbol holds the return code from read() when no data is present
+ * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ * not defined, then you can't distinguish between no data and EOF by
+ * issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ * This symbol, if defined, indicates to the C program that a read() on
+ * a non-blocking file descriptor will return 0 on EOF, and not the value
+ * held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS "" / **/
+
+/* PRIVLIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ * This symbol contains the ~name expanded version of PRIVLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "x:\\tlperl\\lib" /**/
+#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/
+
+/* PTRSIZE:
+ * This symbol contains the size of a pointer, so that the C preprocessor
+ * can make decisions based on it. It will be sizeof(void *) if
+ * the compiler supports (void *); otherwise it will be
+ * sizeof(char *).
+ */
+#define PTRSIZE 4 /**/
+
+/* Drand01:
+ * This macro is to be used to generate uniformly distributed
+ * random numbers over the range [0., 1.[. You may have to supply
+ * an 'extern double drand48();' in your program since SunOS 4.1.3
+ * doesn't provide you with anything relevant in its headers.
+ * See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ * This symbol defines the type of the argument of the
+ * random seed function.
+ */
+/* seedDrand01:
+ * This symbol defines the macro to be used in seeding the
+ * random number generator (see Drand01).
+ */
+/* RANDBITS:
+ * This symbol indicates how many bits are produced by the
+ * function used to generate normalized random numbers.
+ * Values include 15, 16, 31, and 48.
+ */
+#define Drand01() (rand()/(double)((unsigned)1<<RANDBITS)) /**/
+#define Rand_seed_t unsigned /**/
+#define seedDrand01(x) srand((Rand_seed_t)x) /**/
+#define RANDBITS 15 /**/
+
+/* SITEARCH:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-dependent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ * This symbol contains the ~name expanded version of SITEARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define SITEARCH "x:\\tlperl\\site\\lib" /**/
+/*#define SITEARCH_EXP "" / **/
+
+/* SITELIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-independent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ * This symbol contains the ~name expanded version of SITELIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ * This define is SITELIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "x:\\tlperl\\site\\lib" /**/
+#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/
+#define SITELIB_STEM "" /**/
+
+/* SSize_t:
+ * This symbol holds the type used by functions that return
+ * a count of bytes or an error condition. It must be a signed type.
+ * It is usually ssize_t, but may be long or int, etc.
+ * It may be necessary to include <sys/types.h> or <unistd.h>
+ * to get any typedef'ed information.
+ * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int /* signed count of bytes */
+
+/* USE_ITHREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the 5.005-based threading implementation.
+ * Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ * This symbol, if defined, indicates that Perl should
+ * try to use the various _r versions of library functions.
+ * This is extremely experimental.
+ */
+/*#define USE_5005THREADS / **/
+#define USE_ITHREADS /**/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define USE_THREADS /* until src is revised*/
+#endif
+/*#define OLD_PTHREADS_API / **/
+/*#define USE_REENTRANT_API / **/
+
+/* PERL_VENDORARCH:
+ * If defined, this symbol contains the name of a private library.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world.
+ * It may have a ~ on the front.
+ * The standard distribution will put nothing in this directory.
+ * Vendors who distribute perl may wish to place their own
+ * architecture-dependent modules and extensions in this directory with
+ * MakeMaker Makefile.PL INSTALLDIRS=vendor
+ * or equivalent. See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH "" / **/
+/*#define PERL_VENDORARCH_EXP "" / **/
+
+/* PERL_VENDORLIB_EXP:
+ * This symbol contains the ~name expanded version of VENDORLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP "" / **/
+/*#define PERL_VENDORLIB_STEM "" / **/
+
+/* HAS_STATIC_INLINE:
+ * This symbol, if defined, indicates that the C compiler supports
+ * C99-style static inline. That is, the function can't be called
+ * from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ * This symbol gives the best-guess incantation to use for static
+ * inline functions. If HAS_STATIC_INLINE is defined, this will
+ * give C99-style inline. If HAS_STATIC_INLINE is not defined,
+ * this will give a plain 'static'. It will always be defined
+ * to something that gives static linkage.
+ * Possibilities include
+ * static inline (c99)
+ * static __inline__ (gcc -ansi)
+ * static __inline (MSVC)
+ * static _inline (older MSVC)
+ * static (c89 compilers)
+ */
+#define HAS_STATIC_INLINE /**/
+#define PERL_STATIC_INLINE static __inline__ /**/
+
+/* EBCDIC:
+ * This symbol, if defined, indicates that this system uses
+ * EBCDIC encoding.
+ */
+/*#define EBCDIC / **/
+
+/* OSNAME:
+ * This symbol contains the name of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
+ */
+/* OSVERS:
+ * This symbol contains the version of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "MSWin32" /**/
+#define OSVERS "5.1" /**/
+
+/* CAT2:
+ * This macro concatenates 2 tokens together.
+ */
+/* STRINGIFY:
+ * This macro surrounds its token with double quotes.
+ */
+#if 42 == 1
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
+#endif
+#if 42 == 42
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
+#endif
+#if 42 != 1 && 42 != 42
+#include "Bletch: How does this C preprocessor concatenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ * This symbol contains the first part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. Typical value of "cc -E" or "/lib/cpp", but it can also
+ * call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ * This symbol contains the second part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. This symbol will have the value "-" if CPPSTDIN needs a minus
+ * to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ * This symbol contains the string which will invoke a C preprocessor on
+ * the standard input and produce to standard output. It needs to end
+ * with CPPLAST, after all other preprocessor flags have been specified.
+ * The main difference with CPPSTDIN is that this program will never be a
+ * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ * available directly to the user. Note that it may well be different from
+ * the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ * This symbol is intended to be used along with CPPRUN in the same manner
+ * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "gcc -E"
+#define CPPMINUS "-"
+#define CPPRUN "gcc -E"
+#define CPPLAST ""
+
+/* HAS_ACCESS:
+ * This manifest constant lets the C program know that the access()
+ * system call is available to check for accessibility using real UID/GID.
+ * (always present on UNIX.)
+ */
+#define HAS_ACCESS /**/
+
+/* HASATTRIBUTE_FORMAT:
+ * Can we handle GCC attribute for checking printf-style formats
+ */
+/* PRINTF_FORMAT_NULL_OK:
+ * Allows __printf__ format to be null when checking printf-style
+ */
+/* HASATTRIBUTE_MALLOC:
+ * Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ * Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ * Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ * Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ * Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_DEPRECATED:
+ * Can we handle GCC attribute for marking deprecated APIs
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ * Can we handle GCC attribute for warning on unused results
+ */
+/*#define HASATTRIBUTE_DEPRECATED / **/
+/*#define HASATTRIBUTE_FORMAT / **/
+/*#define PRINTF_FORMAT_NULL_OK / **/
+/*#define HASATTRIBUTE_NORETURN / **/
+/*#define HASATTRIBUTE_MALLOC / **/
+/*#define HASATTRIBUTE_NONNULL / **/
+/*#define HASATTRIBUTE_PURE / **/
+/*#define HASATTRIBUTE_UNUSED / **/
+/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+
+/* HASCONST:
+ * This symbol, if defined, indicates that this C compiler knows about
+ * the const type. There is no need to actually test for that symbol
+ * within your programs. The mere use of the "const" keyword will
+ * trigger the necessary tests.
+ */
+#define HASCONST /**/
+#ifndef HASCONST
+#define const
+#endif
+
+/* HAS_CSH:
+ * This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ * This symbol, if defined, contains the full pathname of csh.
+ */
+/*#define HAS_CSH / **/
+#ifdef HAS_CSH
+#define CSH "" /**/
+#endif
+
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
+/*#define DOSUID / **/
+
+/* HAS_ENDGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the group database.
+ */
+/*#define HAS_ENDGRENT / **/
+
+/* HAS_ENDHOSTENT:
+ * This symbol, if defined, indicates that the endhostent() routine is
+ * available to close whatever was being used for host queries.
+ */
+/*#define HAS_ENDHOSTENT / **/
+
+/* HAS_ENDNETENT:
+ * This symbol, if defined, indicates that the endnetent() routine is
+ * available to close whatever was being used for network queries.
+ */
+/*#define HAS_ENDNETENT / **/
+
+/* HAS_ENDPROTOENT:
+ * This symbol, if defined, indicates that the endprotoent() routine is
+ * available to close whatever was being used for protocol queries.
+ */
+/*#define HAS_ENDPROTOENT / **/
+
+/* HAS_ENDPWENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the passwd database.
+ */
+/*#define HAS_ENDPWENT / **/
+
+/* HAS_ENDSERVENT:
+ * This symbol, if defined, indicates that the endservent() routine is
+ * available to close whatever was being used for service queries.
+ */
+/*#define HAS_ENDSERVENT / **/
+
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+#define FLEXFILENAMES /**/
+
+/* HAS_GETGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for sequential access of the group database.
+ */
+/*#define HAS_GETGRENT / **/
+
+/* HAS_GETHOSTBYADDR:
+ * This symbol, if defined, indicates that the gethostbyaddr() routine is
+ * available to look up hosts by their IP addresses.
+ */
+#define HAS_GETHOSTBYADDR /**/
+
+/* HAS_GETHOSTBYNAME:
+ * This symbol, if defined, indicates that the gethostbyname() routine is
+ * available to look up host names in some data base or other.
+ */
+#define HAS_GETHOSTBYNAME /**/
+
+/* HAS_GETHOSTENT:
+ * This symbol, if defined, indicates that the gethostent() routine is
+ * available to look up host names in some data base or another.
+ */
+/*#define HAS_GETHOSTENT / **/
+
+/* HAS_GETHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * gethostname() routine to derive the host name. See also HAS_UNAME
+ * and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * uname() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ * This symbol, if defined, indicates the command to feed to the
+ * popen() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and HAS_UNAME. Note that the command uses a fully qualified path,
+ * so that it is safe even if used by a process with super-user
+ * privileges.
+ */
+/* HAS_PHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTNAME as a command to feed to the popen() routine
+ * to derive the host name.
+ */
+#define HAS_GETHOSTNAME /**/
+#define HAS_UNAME /**/
+/*#define HAS_PHOSTNAME / **/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "" /* How to get the host name */
+#endif
+
+/* HAS_GETNETBYADDR:
+ * This symbol, if defined, indicates that the getnetbyaddr() routine is
+ * available to look up networks by their IP addresses.
+ */
+/*#define HAS_GETNETBYADDR / **/
+
+/* HAS_GETNETBYNAME:
+ * This symbol, if defined, indicates that the getnetbyname() routine is
+ * available to look up networks by their names.
+ */
+/*#define HAS_GETNETBYNAME / **/
+
+/* HAS_GETNETENT:
+ * This symbol, if defined, indicates that the getnetent() routine is
+ * available to look up network names in some data base or another.
+ */
+/*#define HAS_GETNETENT / **/
+
+/* HAS_GETPROTOENT:
+ * This symbol, if defined, indicates that the getprotoent() routine is
+ * available to look up protocols in some data base or another.
+ */
+/*#define HAS_GETPROTOENT / **/
+
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ * This symbol, if defined, indicates that getpgrp needs one
+ * arguments whereas USG one needs none.
+ */
+/*#define HAS_GETPGRP / **/
+/*#define USE_BSD_GETPGRP / **/
+
+/* HAS_GETPROTOBYNAME:
+ * This symbol, if defined, indicates that the getprotobyname()
+ * routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ * This symbol, if defined, indicates that the getprotobynumber()
+ * routine is available to look up protocols by their number.
+ */
+#define HAS_GETPROTOBYNAME /**/
+#define HAS_GETPROTOBYNUMBER /**/
+
+/* HAS_GETPWENT:
+ * This symbol, if defined, indicates that the getpwent routine is
+ * available for sequential access of the passwd database.
+ * If this is not available, the older getpw() function may be available.
+ */
+/*#define HAS_GETPWENT / **/
+
+/* HAS_GETSERVENT:
+ * This symbol, if defined, indicates that the getservent() routine is
+ * available to look up network services in some data base or another.
+ */
+/*#define HAS_GETSERVENT / **/
+
+/* HAS_GETSERVBYNAME:
+ * This symbol, if defined, indicates that the getservbyname()
+ * routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ * This symbol, if defined, indicates that the getservbyport()
+ * routine is available to look up services by their port.
+ */
+#define HAS_GETSERVBYNAME /**/
+#define HAS_GETSERVBYPORT /**/
+
+/* HAS_HTONL:
+ * This symbol, if defined, indicates that the htonl() routine (and
+ * friends htons() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_HTONS:
+ * This symbol, if defined, indicates that the htons() routine (and
+ * friends htonl() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHL:
+ * This symbol, if defined, indicates that the ntohl() routine (and
+ * friends htonl() htons() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHS:
+ * This symbol, if defined, indicates that the ntohs() routine (and
+ * friends htonl() htons() ntohl()) are available to do network
+ * order byte swapping.
+ */
+#define HAS_HTONL /**/
+#define HAS_HTONS /**/
+#define HAS_NTOHL /**/
+#define HAS_NTOHS /**/
+
+/* HAS_LONG_DOUBLE:
+ * This symbol will be defined if the C compiler supports long
+ * doubles.
+ */
+/* LONG_DOUBLESIZE:
+ * This symbol contains the size of a long double, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long doubles.
+ */
+#define HAS_LONG_DOUBLE /**/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE 12 /**/
+#endif
+
+/* HAS_LONG_LONG:
+ * This symbol will be defined if the C compiler supports long long.
+ */
+/* LONGLONGSIZE:
+ * This symbol contains the size of a long long, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long long.
+ */
+/*#define HAS_LONG_LONG / **/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8 /**/
+#endif
+
+/* HAS_MEMCHR:
+ * This symbol, if defined, indicates that the memchr routine is available
+ * to locate characters within a C string.
+ */
+#define HAS_MEMCHR /**/
+
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+/*#define HAS_MKSTEMP / **/
+
+/* HAS_MMAP:
+ * This symbol, if defined, indicates that the mmap system call is
+ * available to map a file into memory.
+ */
+/* Mmap_t:
+ * This symbol holds the return type of the mmap() system call
+ * (and simultaneously the type of the first argument).
+ * Usually set to 'void *' or 'caddr_t'.
+ */
+/*#define HAS_MMAP / **/
+#define Mmap_t void * /**/
+
+/* HAS_MSG:
+ * This symbol, if defined, indicates that the entire msg*(2) library is
+ * supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG / **/
+
+/* HAS_SEM:
+ * This symbol, if defined, indicates that the entire sem*(2) library is
+ * supported.
+ */
+/*#define HAS_SEM / **/
+
+/* HAS_SETGRENT:
+ * This symbol, if defined, indicates that the setgrent routine is
+ * available for initializing sequential access of the group database.
+ */
+/*#define HAS_SETGRENT / **/
+
+/* HAS_SETHOSTENT:
+ * This symbol, if defined, indicates that the sethostent() routine is
+ * available.
+ */
+/*#define HAS_SETHOSTENT / **/
+
+/* HAS_SETNETENT:
+ * This symbol, if defined, indicates that the setnetent() routine is
+ * available.
+ */
+/*#define HAS_SETNETENT / **/
+
+/* HAS_SETPROTOENT:
+ * This symbol, if defined, indicates that the setprotoent() routine is
+ * available.
+ */
+/*#define HAS_SETPROTOENT / **/
+
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ * This symbol, if defined, indicates that setpgrp needs two
+ * arguments whereas USG one needs none. See also HAS_SETPGID
+ * for a POSIX interface.
+ */
+/*#define HAS_SETPGRP / **/
+/*#define USE_BSD_SETPGRP / **/
+
+/* HAS_SETPWENT:
+ * This symbol, if defined, indicates that the setpwent routine is
+ * available for initializing sequential access of the passwd database.
+ */
+/*#define HAS_SETPWENT / **/
+
+/* HAS_SETSERVENT:
+ * This symbol, if defined, indicates that the setservent() routine is
+ * available.
+ */
+/*#define HAS_SETSERVENT / **/
+
/* HAS_SETVBUF:
* This symbol, if defined, indicates that the setvbuf routine is
* available to change buffering on an open stdio stream.
@@ -2128,40 +2752,25 @@
* Checking just with #ifdef might not be enough because this symbol
* has been known to be an enum.
*/
+/* HAS_SOCKADDR_SA_LEN:
+ * This symbol, if defined, indicates that the struct sockaddr
+ * structure has a member called sa_len, indicating the length of
+ * the structure.
+ */
+/* HAS_SIN6_SCOPE_ID:
+ * This symbol, if defined, indicates that the struct sockaddr_in6
+ * structure has a member called sin6_scope_id.
+ */
#define HAS_SOCKET /**/
/*#define HAS_SOCKETPAIR / **/
+/*#define HAS_SOCKADDR_SA_LEN / **/
/*#define HAS_MSG_CTRUNC / **/
/*#define HAS_MSG_DONTROUTE / **/
/*#define HAS_MSG_OOB / **/
/*#define HAS_MSG_PEEK / **/
/*#define HAS_MSG_PROXY / **/
/*#define HAS_SCM_RIGHTS / **/
-
-/* HAS_SRAND48_R:
- * This symbol, if defined, indicates that the srand48_r routine
- * is available to srand48 re-entrantly.
- */
-/* SRAND48_R_PROTO:
- * This symbol encodes the prototype of srand48_r.
- * It is zero if d_srand48_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- * is defined.
- */
-/*#define HAS_SRAND48_R / **/
-#define SRAND48_R_PROTO 0 /**/
-
-/* HAS_SRANDOM_R:
- * This symbol, if defined, indicates that the srandom_r routine
- * is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- * This symbol encodes the prototype of srandom_r.
- * It is zero if d_srandom_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- * is defined.
- */
-/*#define HAS_SRANDOM_R / **/
-#define SRANDOM_R_PROTO 0 /**/
+#define HAS_SIN6_SCOPE_ID /**/
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
@@ -2197,69 +2806,12 @@
#define HAS_SYS_ERRLIST /**/
#define Strerror(e) strerror(e)
-/* HAS_STRERROR_R:
- * This symbol, if defined, indicates that the strerror_r routine
- * is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- * This symbol encodes the prototype of strerror_r.
- * It is zero if d_strerror_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- * is defined.
- */
-/*#define HAS_STRERROR_R / **/
-#define STRERROR_R_PROTO 0 /**/
-
/* HAS_STRTOUL:
* This symbol, if defined, indicates that the strtoul routine is
* available to provide conversion of strings to unsigned long.
*/
#define HAS_STRTOUL /**/
-/* HAS_TIME:
- * This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- * This symbol holds the type returned by time(). It can be long,
- * or time_t on BSD sites (in which case <sys/types.h> should be
- * included).
- */
-#define HAS_TIME /**/
-#define Time_t time_t /* Time type */
-
-/* HAS_TIMES:
- * This symbol, if defined, indicates that the times() routine exists.
- * Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#define HAS_TIMES /**/
-
-/* HAS_TMPNAM_R:
- * This symbol, if defined, indicates that the tmpnam_r routine
- * is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- * This symbol encodes the prototype of tmpnam_r.
- * It is zero if d_tmpnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- * is defined.
- */
-/*#define HAS_TMPNAM_R / **/
-#define TMPNAM_R_PROTO 0 /**/
-
-/* HAS_TTYNAME_R:
- * This symbol, if defined, indicates that the ttyname_r routine
- * is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- * This symbol encodes the prototype of ttyname_r.
- * It is zero if d_ttyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- * is defined.
- */
-/*#define HAS_TTYNAME_R / **/
-#define TTYNAME_R_PROTO 0 /**/
-
/* HAS_UNION_SEMUN:
* This symbol, if defined, indicates that the union semun is
* defined by including <sys/sem.h>. If not, the user code
@@ -2310,38 +2862,6 @@
#define volatile
#endif
-/* Fpos_t:
- * This symbol holds the type used to declare file positions in libc.
- * It can be fpos_t, long, uint, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t fpos_t /* File position type */
-
-/* Gid_t_f:
- * This symbol defines the format string used for printing a Gid_t.
- */
-#define Gid_t_f "ld" /**/
-
-/* Gid_t_sign:
- * This symbol holds the signedess of a Gid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign -1 /* GID sign */
-
-/* Gid_t_size:
- * This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4 /* GID size */
-
-/* Gid_t:
- * This symbol holds the return type of getgid() and the type of
- * argument to setrgid() and related functions. Typically,
- * it is the type of group ids in the kernel. It can be int, ushort,
- * gid_t, etc... It may be necessary to include <sys/types.h> to get
- * any typedef'ed information.
- */
-#define Gid_t gid_t /* Type for getgid(), etc... */
-
/* I_DIRENT:
* This symbol, if defined, indicates to the C program that it should
* include <dirent.h>. Using this symbol also triggers the definition
@@ -2373,12 +2893,6 @@
/*#define I_GRP / **/
/*#define GRPASSWD / **/
-/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
- */
-/*#define I_MACH_CTHREADS / **/
-
/* I_NDBM:
* This symbol, if defined, indicates that <ndbm.h> exists and should
* be included.
@@ -2430,12 +2944,6 @@
*/
/*#define I_NET_ERRNO / **/
-/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
- */
-/*#define I_PTHREAD / **/
-
/* I_PWD:
* This symbol, if defined, indicates to the C program that it should
* include <pwd.h>.
@@ -2482,18 +2990,6 @@
/*#define PWGECOS / **/
/*#define PWPASSWD / **/
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
- */
-/*#define I_SYS_ACCESS / **/
-
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
- */
-/*#define I_SYS_SECURITY / **/
-
/* I_SYSUIO:
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
@@ -2511,36 +3007,6 @@
#define I_STDARG /**/
/*#define I_VARARGS / **/
-/* PERL_INC_VERSION_LIST:
- * This variable specifies the list of subdirectories in over
- * which perl.c:incpush() and lib/lib.pm will automatically
- * search when adding directories to @INC, in a format suitable
- * for a C initialization string. See the inc_version_list entry
- * in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST 0 / **/
-
-/* INSTALL_USR_BIN_PERL:
- * This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL / **/
-
-/* Off_t:
- * This symbol holds the type used to declare offsets in the kernel.
- * It can be int, long, off_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- * This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- * This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t long long /* <offset> type */
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
-
/* Free_t:
* This variable contains the return type of free(). It is usually
* void, but occasionally int.
@@ -2561,65 +3027,6 @@
*/
/*#define MYMALLOC / **/
-/* Mode_t:
- * This symbol holds the type used to declare file modes
- * for systems calls. It is usually mode_t, but may be
- * int or unsigned short. It may be necessary to include <sys/types.h>
- * to get any typedef'ed information.
- */
-#define Mode_t mode_t /* file mode parameter for system calls */
-
-/* Netdb_host_t:
- * This symbol holds the type used for the 1st argument
- * to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- * This symbol holds the type used for the 2nd argument
- * to gethostbyaddr().
- */
-/* Netdb_name_t:
- * This symbol holds the type used for the argument to
- * gethostbyname().
- */
-/* Netdb_net_t:
- * This symbol holds the type used for the 1st argument to
- * getnetbyaddr().
- */
-#define Netdb_host_t char * /**/
-#define Netdb_hlen_t int /**/
-#define Netdb_name_t char * /**/
-#define Netdb_net_t long /**/
-
-/* PERL_OTHERLIBDIRS:
- * This variable contains a colon-separated set of paths for the perl
- * binary to search for additional library files or modules.
- * These directories will be tacked to the end of @INC.
- * Perl will automatically search below each path for version-
- * and architecture-specific directories. See PERL_INC_VERSION_LIST
- * for more details.
- */
-/*#define PERL_OTHERLIBDIRS "" / **/
-
-/* Pid_t:
- * This symbol holds the type used to declare process ids in the kernel.
- * It can be int, uint, pid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int /* PID type */
-
-/* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- * This symbol contains the ~name expanded version of PRIVLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "c:\\perl\\lib" /**/
-#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/
-
/* CAN_PROTOTYPE:
* If defined, this macro indicates that the C compiler can handle
* function prototypes.
@@ -2638,14 +3045,6 @@
#define _(args) ()
#endif
-/* Select_fd_set_t:
- * This symbol holds the type used for the 2nd, 3rd, and 4th
- * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
- * have select(), of course.
- */
-#define Select_fd_set_t Perl_fd_set * /**/
-
/* SH_PATH:
* This symbol contains the full pathname to the shell used on this
* on this system to execute Bourne shell scripts. Usually, this will be
@@ -2695,152 +3094,12 @@
#define SIG_NUM 0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
#define SIG_SIZE 27 /**/
-/* SITEARCH:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-dependent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITEARCH_EXP:
- * This symbol contains the ~name expanded version of SITEARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define SITEARCH "c:\\perl\\site\\lib" /**/
-/*#define SITEARCH_EXP "" / **/
-
-/* SITELIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-independent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITELIB_EXP:
- * This symbol contains the ~name expanded version of SITELIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- * This define is SITELIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "c:\\perl\\site\\lib" /**/
-#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/
-#define SITELIB_STEM "" /**/
-
-/* Size_t_size:
- * This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4 /**/
-
-/* Size_t:
- * This symbol holds the type used to declare length parameters
- * for string functions. It is usually size_t, but may be
- * unsigned long, int, etc. It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t /* length paramater for string functions */
-
-/* Sock_size_t:
- * This symbol holds the type used for the size argument of
- * various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t int /**/
-
/* STDCHAR:
* This symbol is defined to be the type of char used in stdio.h.
* It has the values "unsigned char" or "char".
*/
#define STDCHAR char /**/
-/* Uid_t_f:
- * This symbol defines the format string used for printing a Uid_t.
- */
-#define Uid_t_f "ld" /**/
-
-/* Uid_t_sign:
- * This symbol holds the signedess of a Uid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign -1 /* UID sign */
-
-/* Uid_t_size:
- * This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4 /* UID size */
-
-/* Uid_t:
- * This symbol holds the type used to declare user ids in the kernel.
- * It can be int, ushort, uid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t uid_t /* UID type */
-
-/* USE_ITHREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- * This symbol, if defined, indicates that Perl should
- * be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- * This symbol, if defined, indicates that Perl should
- * try to use the various _r versions of library functions.
- * This is extremely experimental.
- */
-/*#define USE_5005THREADS / **/
-#define USE_ITHREADS /**/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
-/*#define OLD_PTHREADS_API / **/
-/*#define USE_REENTRANT_API / **/
-
-/* PERL_VENDORARCH:
- * If defined, this symbol contains the name of a private library.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
- * The standard distribution will put nothing in this directory.
- * Vendors who distribute perl may wish to place their own
- * architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
- * or equivalent. See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH "" / **/
-/*#define PERL_VENDORARCH_EXP "" / **/
-
-/* PERL_VENDORLIB_EXP:
- * This symbol contains the ~name expanded version of VENDORLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP "" / **/
-/*#define PERL_VENDORLIB_STEM "" / **/
-
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
* compiler. What various bits mean:
@@ -2849,7 +3108,7 @@
* 2 = supports arrays of pointers to functions returning void
* 4 = supports comparisons between pointers to void functions and
* addresses of void functions
- * 8 = suports declaration of generic void pointers
+ * 8 = supports declaration of generic void pointers
*
* The package designer should define VOIDUSED to indicate the requirements
* of the package. This can be done either by #defining VOIDUSED before
@@ -2866,436 +3125,6 @@
#define M_VOID /* Xenix strikes again */
#endif
-/* USE_CROSS_COMPILE:
- * This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- * This symbol, if defined, indicates the target architecture
- * Perl has been cross-compiled to. Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define USE_CROSS_COMPILE / **/
-#define PERL_TARGETARCH "" /**/
-#endif
-
-/* MEM_ALIGNBYTES:
- * This symbol contains the number of bytes required to align a
- * double, or a long double when applicable. Usual values are 2,
- * 4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 8
-#endif
-
-/* BYTEORDER:
- * This symbol holds the hexadecimal constant defined in byteorder,
- * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- * If the compiler supports cross-compiling or multiple-architecture
- * binaries (eg. on NeXT systems), use compiler-defined macros to
- * determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# ifdef __LITTLE_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x1234
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x12345678
-# endif
-# endif
-# else
-# ifdef __BIG_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x4321
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
-#else
-#define BYTEORDER 0x1234 /* large digits for MSB */
-#endif /* NeXT */
-
-/* CHARBITS:
- * This symbol contains the size of a char, so that the C preprocessor
- * can make decisions based on it.
- */
-#define CHARBITS 8 /**/
-
-/* CASTI32:
- * This symbol is defined if the C compiler can cast negative
- * or large floating point numbers to 32-bit ints.
- */
-#define CASTI32 /**/
-
-/* CASTNEGFLOAT:
- * This symbol is defined if the C compiler can cast negative
- * numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- * This symbol contains flags that say what difficulties the compiler
- * has casting odd floating values to unsigned long:
- * 0 = ok
- * 1 = couldn't cast < 0
- * 2 = couldn't cast >= 0x80000000
- * 4 = couldn't cast in argument expression list
- */
-#define CASTNEGFLOAT /**/
-#define CASTFLAGS 0 /**/
-
-/* VOID_CLOSEDIR:
- * This symbol, if defined, indicates that the closedir() routine
- * does not return a value.
- */
-/*#define VOID_CLOSEDIR / **/
-
-/* HAS_FD_SET:
- * This symbol, when defined, indicates presence of the fd_set typedef
- * in <sys/types.h>
- */
-#define HAS_FD_SET /**/
-
-/* Gconvert:
- * This preprocessor macro is defined to convert a floating point
- * number to a string without a trailing decimal point. This
- * emulates the behavior of sprintf("%g"), but is sometimes much more
- * efficient. If gconvert() is not available, but gcvt() drops the
- * trailing decimal point, then gcvt() is used. If all else fails,
- * a macro using sprintf("%g") is used. Arguments for the Gconvert
- * macro are: value, number of digits, whether trailing zeros should
- * be retained, and the output buffer.
- * The usual values are:
- * d_Gconvert='gconvert((x),(n),(t),(b))'
- * d_Gconvert='gcvt((x),(n),(b))'
- * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- * The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- * This symbol, if defined, indicates that the getpagesize system call
- * is available to get system page size, which is the granularity of
- * many memory management calls.
- */
-/*#define HAS_GETPAGESIZE / **/
-
-/* HAS_GNULIBC:
- * This symbol, if defined, indicates to the C program that
- * the GNU C library is being used. A better check is to use
- * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC / **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-# define _GNU_SOURCE
-#endif
-
-/* HAS_ISASCII:
- * This manifest constant lets the C program know that isascii
- * is available.
- */
-#define HAS_ISASCII /**/
-
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
- */
-/*#define HAS_LCHOWN / **/
-
-/* HAS_OPEN3:
- * This manifest constant lets the C program know that the three
- * argument form of open(2) is available.
- */
-/*#define HAS_OPEN3 / **/
-
-/* HAS_SAFE_BCOPY:
- * This symbol, if defined, indicates that the bcopy routine is available
- * to copy potentially overlapping memory blocks. Normally, you should
- * probably use memmove() or memcpy(). If neither is defined, roll your
- * own version.
- */
-/*#define HAS_SAFE_BCOPY / **/
-
-/* HAS_SAFE_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy potentially overlapping memory blocks. If you need to
- * copy overlapping memory blocks, you should check HAS_MEMMOVE and
- * use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY / **/
-
-/* HAS_SANE_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * and can be used to compare relative magnitudes of chars with their high
- * bits set. If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP /**/
-
-/* HAS_SIGACTION:
- * This symbol, if defined, indicates that Vr4's sigaction() routine
- * is available.
- */
-/*#define HAS_SIGACTION / **/
-
-/* HAS_SIGSETJMP:
- * This variable indicates to the C program that the sigsetjmp()
- * routine is available to save the calling process's registers
- * and stack environment for later use by siglongjmp(), and
- * to optionally save the process's signal mask. See
- * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- * This macro is used in the same way as sigsetjmp(), but will invoke
- * traditional setjmp() if sigsetjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- * This macro is used in the same way as siglongjmp(), but will invoke
- * traditional longjmp() if siglongjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP / **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
-/* USE_STDIO_PTR:
- * This symbol is defined if the _ptr and _cnt fields (or similar)
- * of the stdio FILE structure can be used to access the stdio buffer
- * for a file handle. If this is defined, then the FILE_ptr(fp)
- * and FILE_cnt(fp) macros will also be defined and should be used
- * to access these fields.
- */
-/* FILE_ptr:
- * This macro is used to access the _ptr field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- * This symbol is defined if the FILE_ptr macro can be used as an
- * lvalue.
- */
-/* FILE_cnt:
- * This macro is used to access the _cnt field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- * This symbol is defined if the FILE_cnt macro can be used as an
- * lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n has the side effect of decreasing the
- * value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-#define USE_STDIO_PTR /**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp) ((fp)->_ptr)
-#define STDIO_PTR_LVALUE /**/
-#define FILE_cnt(fp) ((fp)->_cnt)
-#define STDIO_CNT_LVALUE /**/
-/*#define STDIO_PTR_LVAL_SETS_CNT / **/
-#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
-#endif
-
-/* USE_STDIO_BASE:
- * This symbol is defined if the _base field (or similar) of the
- * stdio FILE structure can be used to access the stdio buffer for
- * a file handle. If this is defined, then the FILE_base(fp) macro
- * will also be defined and should be used to access this field.
- * Also, the FILE_bufsiz(fp) macro will be defined and should be used
- * to determine the number of bytes in the buffer. USE_STDIO_BASE
- * will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- * This macro is used to access the _base field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- * This macro is used to determine the number of bytes in the I/O
- * buffer pointed to by _base field (or equivalent) of the FILE
- * structure pointed to its argument. This macro will always be defined
- * if USE_STDIO_BASE is defined.
- */
-#define USE_STDIO_BASE /**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp) ((fp)->_base)
-#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
-#endif
-
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-#define I_TIME /**/
-/*#define I_SYS_TIME / **/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() (rand()/(double)((unsigned)1<<RANDBITS)) /**/
-#define Rand_seed_t unsigned /**/
-#define seedDrand01(x) srand((Rand_seed_t)x) /**/
-#define RANDBITS 15 /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int /* signed count of bytes */
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
/* PERL_USE_DEVEL:
* This symbol, if defined, indicates that Perl was configured with
* -Dusedevel, to enable development features. This should not be
@@ -3583,7 +3412,7 @@
/* HAS_GETESPWNAM:
* This symbol, if defined, indicates that the getespwnam system call is
- * available to retrieve enchanced (shadow) password entries by name.
+ * available to retrieve enhanced (shadow) password entries by name.
*/
/*#define HAS_GETESPWNAM / **/
@@ -3724,7 +3553,7 @@
/* HAS_MKSTEMPS:
* This symbol, if defined, indicates that the mkstemps routine is
- * available to excluslvely create and open a uniquely named
+ * available to exclusively create and open a uniquely named
* (with a suffix) temporary file.
*/
/*#define HAS_MKSTEMPS / **/
@@ -3774,6 +3603,17 @@
*/
/*#define HAS_OFF64_T / **/
+/* HAS_PRCTL:
+ * This symbol, if defined, indicates that the prctl routine is
+ * available to set process title.
+ */
+/* HAS_PRCTL_SET_NAME:
+ * This symbol, if defined, indicates that the prctl routine is
+ * available to set process title and supports PR_SET_NAME.
+ */
+/*#define HAS_PRCTL / **/
+/*#define HAS_PRCTL_SET_NAME / **/
+
/* HAS_PROCSELFEXE:
* This symbol is defined if PROCSELFEXE_PATH is a symlink
* to the absolute pathname of the executing program.
@@ -4413,7 +4253,7 @@
/* NV_OVERFLOWS_INTEGERS_AT:
* This symbol gives the largest integer value that NVs can hold. This
* value + 1.0 cannot be stored accurately. It is expressed as constant
- * floating point expression to reduce the chance of decimale/binary
+ * floating point expression to reduce the chance of decimal/binary
* conversion issues. If it can not be determined, the value 0 is given.
*/
/* NV_ZERO_IS_ALLBITS_ZERO:
@@ -4644,4 +4484,203 @@
/*#define USE_SOCKS / **/
#endif
+/* HAS_DRAND48_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the drand48() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern double drand48(void);
+ */
+/*#define HAS_DRAND48_PROTO / **/
+
+/* HAS_GETHOST_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for gethostent(), gethostbyname(), and
+ * gethostbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define HAS_GETHOST_PROTOS /**/
+
+/* HAS_GETNET_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getnetent(), getnetbyname(), and
+ * getnetbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETNET_PROTOS / **/
+
+/* HAS_GETPROTO_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getprotoent(), getprotobyname(), and
+ * getprotobyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define HAS_GETPROTO_PROTOS /**/
+
+/* HAS_GETSERV_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getservent(), getservbyname(), and
+ * getservbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define HAS_GETSERV_PROTOS /**/
+
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek(int, off_t, int);
+ */
+#define HAS_LSEEK_PROTO /**/
+
+/* Netdb_host_t:
+ * This symbol holds the type used for the 1st argument
+ * to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ * This symbol holds the type used for the 2nd argument
+ * to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ * This symbol holds the type used for the argument to
+ * gethostbyname().
+ */
+/* Netdb_net_t:
+ * This symbol holds the type used for the 1st argument to
+ * getnetbyaddr().
+ */
+#define Netdb_host_t char * /**/
+#define Netdb_hlen_t int /**/
+#define Netdb_name_t char * /**/
+#define Netdb_net_t long /**/
+
+/* Select_fd_set_t:
+ * This symbol holds the type used for the 2nd, 3rd, and 4th
+ * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
+ * is defined, and 'int *' otherwise. This is only useful if you
+ * have select(), of course.
+ */
+#define Select_fd_set_t Perl_fd_set * /**/
+
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument of
+ * various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t int /**/
+
+/* HAS_TIME:
+ * This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ * This symbol holds the type returned by time(). It can be long,
+ * or time_t on BSD sites (in which case <sys/types.h> should be
+ * included).
+ */
+#define HAS_TIME /**/
+#define Time_t time_t /* Time type */
+
+/* HAS_TIMES:
+ * This symbol, if defined, indicates that the times() routine exists.
+ * Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+#define HAS_TIMES /**/
+
+/* Fpos_t:
+ * This symbol holds the type used to declare file positions in libc.
+ * It can be fpos_t, long, uint, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t fpos_t /* File position type */
+
+/* Gid_t_f:
+ * This symbol defines the format string used for printing a Gid_t.
+ */
+#define Gid_t_f "ld" /**/
+
+/* Gid_t_sign:
+ * This symbol holds the signedess of a Gid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign -1 /* GID sign */
+
+/* Gid_t_size:
+ * This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4 /* GID size */
+
+/* Gid_t:
+ * This symbol holds the return type of getgid() and the type of
+ * argument to setrgid() and related functions. Typically,
+ * it is the type of group ids in the kernel. It can be int, ushort,
+ * gid_t, etc... It may be necessary to include <sys/types.h> to get
+ * any typedef'ed information.
+ */
+#define Gid_t gid_t /* Type for getgid(), etc... */
+
+/* Off_t:
+ * This symbol holds the type used to declare offsets in the kernel.
+ * It can be int, long, off_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t long long /* <offset> type */
+#define LSEEKSIZE 8 /* <offset> size */
+#define Off_t_size 8 /* <offset> size */
+
+/* Mode_t:
+ * This symbol holds the type used to declare file modes
+ * for systems calls. It is usually mode_t, but may be
+ * int or unsigned short. It may be necessary to include <sys/types.h>
+ * to get any typedef'ed information.
+ */
+#define Mode_t mode_t /* file mode parameter for system calls */
+
+/* Pid_t:
+ * This symbol holds the type used to declare process ids in the kernel.
+ * It can be int, uint, pid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int /* PID type */
+
+/* Size_t_size:
+ * This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4 /**/
+
+/* Size_t:
+ * This symbol holds the type used to declare length parameters
+ * for string functions. It is usually size_t, but may be
+ * unsigned long, int, etc. It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t /* length parameter for string functions */
+
+/* Uid_t_f:
+ * This symbol defines the format string used for printing a Uid_t.
+ */
+#define Uid_t_f "ld" /**/
+
+/* Uid_t_sign:
+ * This symbol holds the signedess of a Uid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign -1 /* UID sign */
+
+/* Uid_t_size:
+ * This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4 /* UID size */
+
+/* Uid_t:
+ * This symbol holds the type used to declare user ids in the kernel.
+ * It can be int, ushort, uid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t uid_t /* UID type */
+
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/cop.h b/Master/tlpkg/tlperl/lib/CORE/cop.h
index 13ce794ce20..ad0ee9b7239 100644
--- a/Master/tlpkg/tlperl/lib/CORE/cop.h
+++ b/Master/tlpkg/tlperl/lib/CORE/cop.h
@@ -14,11 +14,12 @@
*/
/* A jmpenv packages the state required to perform a proper non-local jump.
- * Note that there is a start_env initialized when perl starts, and top_env
- * points to this initially, so top_env should always be non-null.
+ * Note that there is a PL_start_env initialized when perl starts, and
+ * PL_top_env points to this initially, so PL_top_env should always be
+ * non-null.
*
- * Existence of a non-null top_env->je_prev implies it is valid to call
- * longjmp() at that runlevel (we make sure start_env.je_prev is always
+ * Existence of a non-null PL_top_env->je_prev implies it is valid to call
+ * longjmp() at that runlevel (we make sure PL_start_env.je_prev is always
* null to ensure this).
*
* je_mustcatch, when set at any runlevel to TRUE, means eval ops must
@@ -91,17 +92,20 @@ typedef struct jmpenv JMPENV;
*
* The original patches that introduces flexible exceptions were:
*
- * http://public.activestate.com/cgi-bin/perlbrowse?patch=3386
- * http://public.activestate.com/cgi-bin/perlbrowse?patch=5162
+ * http://perl5.git.perl.org/perl.git/commit/312caa8e97f1c7ee342a9895c2f0e749625b4929
+ * http://perl5.git.perl.org/perl.git/commit/14dd3ad8c9bf82cf09798a22cc89a9862dfd6d1a
+ *
*/
#define dJMPENV JMPENV cur_env
#define JMPENV_PUSH(v) \
STMT_START { \
- DEBUG_l(Perl_deb(aTHX_ "Setting up jumplevel %p, was %p at %s:%d\n", \
- (void*)&cur_env, (void*)PL_top_env, \
- __FILE__, __LINE__)); \
+ DEBUG_l({ \
+ int i = 0; JMPENV *p = PL_top_env; \
+ while (p) { i++; p = p->je_prev; } \
+ Perl_deb(aTHX_ "JUMPENV_PUSH level=%d at %s:%d\n", \
+ i, __FILE__, __LINE__);}) \
cur_env.je_prev = PL_top_env; \
OP_REG_TO_MEM; \
cur_env.je_ret = PerlProc_setjmp(cur_env.je_buf, SCOPE_SAVES_SIGNAL_MASK); \
@@ -113,15 +117,22 @@ typedef struct jmpenv JMPENV;
#define JMPENV_POP \
STMT_START { \
- DEBUG_l(Perl_deb(aTHX_ "popping jumplevel was %p, now %p at %s:%d\n", \
- (void*)PL_top_env, (void*)cur_env.je_prev, \
- __FILE__, __LINE__)); \
+ DEBUG_l({ \
+ int i = -1; JMPENV *p = PL_top_env; \
+ while (p) { i++; p = p->je_prev; } \
+ Perl_deb(aTHX_ "JUMPENV_POP level=%d at %s:%d\n", \
+ i, __FILE__, __LINE__);}) \
assert(PL_top_env == &cur_env); \
PL_top_env = cur_env.je_prev; \
} STMT_END
#define JMPENV_JUMP(v) \
STMT_START { \
+ DEBUG_l({ \
+ int i = -1; JMPENV *p = PL_top_env; \
+ while (p) { i++; p = p->je_prev; } \
+ Perl_deb(aTHX_ "JUMPENV_JUMP(%d) level=%d at %s:%d\n", \
+ (int)v, i, __FILE__, __LINE__);}) \
OP_REG_TO_MEM; \
if (PL_top_env->je_prev) \
PerlProc_longjmp(PL_top_env->je_buf, (v)); \
@@ -132,8 +143,240 @@ typedef struct jmpenv JMPENV;
} STMT_END
#define CATCH_GET (PL_top_env->je_mustcatch)
-#define CATCH_SET(v) (PL_top_env->je_mustcatch = (v))
+#define CATCH_SET(v) \
+ STMT_START { \
+ DEBUG_l( \
+ Perl_deb(aTHX_ \
+ "JUMPLEVEL set catch %d => %d (for %p) at %s:%d\n", \
+ PL_top_env->je_mustcatch, v, (void*)PL_top_env, \
+ __FILE__, __LINE__);) \
+ PL_top_env->je_mustcatch = (v); \
+ } STMT_END
+
+/*
+=head1 COP Hint Hashes
+*/
+
+typedef struct refcounted_he COPHH;
+
+#define COPHH_KEY_UTF8 REFCOUNTED_HE_KEY_UTF8
+
+/*
+=for apidoc Amx|SV *|cophh_fetch_pvn|const COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+
+Look up the entry in the cop hints hash I<cophh> with the key specified by
+I<keypv> and I<keylen>. If I<flags> has the C<COPHH_KEY_UTF8> bit set,
+the key octets are interpreted as UTF-8, otherwise they are interpreted
+as Latin-1. I<hash> is a precomputed hash of the key string, or zero if
+it has not been precomputed. Returns a mortal scalar copy of the value
+associated with the key, or C<&PL_sv_placeholder> if there is no value
+associated with the key.
+
+=cut
+*/
+
+#define cophh_fetch_pvn(cophh, keypv, keylen, hash, flags) \
+ Perl_refcounted_he_fetch_pvn(aTHX_ cophh, keypv, keylen, hash, flags)
+
+/*
+=for apidoc Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|const char *key|U32 flags
+
+Like L</cophh_fetch_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+=cut
+*/
+
+#define cophh_fetch_pvs(cophh, key, flags) \
+ Perl_refcounted_he_fetch_pvn(aTHX_ cophh, STR_WITH_LEN(key), 0, flags)
+
+/*
+=for apidoc Amx|SV *|cophh_fetch_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Like L</cophh_fetch_pvn>, but takes a nul-terminated string instead of
+a string/length pair.
+
+=cut
+*/
+
+#define cophh_fetch_pv(cophh, key, hash, flags) \
+ Perl_refcounted_he_fetch_pv(aTHX_ cophh, key, hash, flags)
+
+/*
+=for apidoc Amx|SV *|cophh_fetch_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+
+Like L</cophh_fetch_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+=cut
+*/
+
+#define cophh_fetch_sv(cophh, key, hash, flags) \
+ Perl_refcounted_he_fetch_sv(aTHX_ cophh, key, hash, flags)
+
+/*
+=for apidoc Amx|HV *|cophh_2hv|const COPHH *cophh|U32 flags
+
+Generates and returns a standard Perl hash representing the full set of
+key/value pairs in the cop hints hash I<cophh>. I<flags> is currently
+unused and must be zero.
+
+=cut
+*/
+
+#define cophh_2hv(cophh, flags) \
+ Perl_refcounted_he_chain_2hv(aTHX_ cophh, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_copy|COPHH *cophh
+
+Make and return a complete copy of the cop hints hash I<cophh>.
+
+=cut
+*/
+
+#define cophh_copy(cophh) Perl_refcounted_he_inc(aTHX_ cophh)
+
+/*
+=for apidoc Amx|void|cophh_free|COPHH *cophh
+
+Discard the cop hints hash I<cophh>, freeing all resources associated
+with it.
+
+=cut
+*/
+
+#define cophh_free(cophh) Perl_refcounted_he_free(aTHX_ cophh)
+
+/*
+=for apidoc Amx|COPHH *|cophh_new_empty
+
+Generate and return a fresh cop hints hash containing no entries.
+
+=cut
+*/
+
+#define cophh_new_empty() ((COPHH *)NULL)
+
+/*
+=for apidoc Amx|COPHH *|cophh_store_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|SV *value|U32 flags
+
+Stores a value, associated with a key, in the cop hints hash I<cophh>,
+and returns the modified hash. The returned hash pointer is in general
+not the same as the hash pointer that was passed in. The input hash is
+consumed by the function, and the pointer to it must not be subsequently
+used. Use L</cophh_copy> if you need both hashes.
+
+The key is specified by I<keypv> and I<keylen>. If I<flags> has the
+C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8,
+otherwise they are interpreted as Latin-1. I<hash> is a precomputed
+hash of the key string, or zero if it has not been precomputed.
+
+I<value> is the scalar value to store for this key. I<value> is copied
+by this function, which thus does not take ownership of any reference
+to it, and later changes to the scalar will not be reflected in the
+value visible in the cop hints hash. Complex types of scalar will not
+be stored with referential integrity, but will be coerced to strings.
+
+=cut
+*/
+
+#define cophh_store_pvn(cophh, keypv, keylen, hash, value, flags) \
+ Perl_refcounted_he_new_pvn(aTHX_ cophh, keypv, keylen, hash, value, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|const char *key|SV *value|U32 flags
+
+Like L</cophh_store_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+=cut
+*/
+
+#define cophh_store_pvs(cophh, key, value, flags) \
+ Perl_refcounted_he_new_pvn(aTHX_ cophh, STR_WITH_LEN(key), 0, value, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_store_pv|const COPHH *cophh|const char *key|U32 hash|SV *value|U32 flags
+
+Like L</cophh_store_pvn>, but takes a nul-terminated string instead of
+a string/length pair.
+
+=cut
+*/
+
+#define cophh_store_pv(cophh, key, hash, value, flags) \
+ Perl_refcounted_he_new_pv(aTHX_ cophh, key, hash, value, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_store_sv|const COPHH *cophh|SV *key|U32 hash|SV *value|U32 flags
+
+Like L</cophh_store_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+=cut
+*/
+
+#define cophh_store_sv(cophh, key, hash, value, flags) \
+ Perl_refcounted_he_new_sv(aTHX_ cophh, key, hash, value, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_delete_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+
+Delete a key and its associated value from the cop hints hash I<cophh>,
+and returns the modified hash. The returned hash pointer is in general
+not the same as the hash pointer that was passed in. The input hash is
+consumed by the function, and the pointer to it must not be subsequently
+used. Use L</cophh_copy> if you need both hashes.
+
+The key is specified by I<keypv> and I<keylen>. If I<flags> has the
+C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8,
+otherwise they are interpreted as Latin-1. I<hash> is a precomputed
+hash of the key string, or zero if it has not been precomputed.
+
+=cut
+*/
+
+#define cophh_delete_pvn(cophh, keypv, keylen, hash, flags) \
+ Perl_refcounted_he_new_pvn(aTHX_ cophh, keypv, keylen, hash, \
+ (SV *)NULL, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|const char *key|U32 flags
+
+Like L</cophh_delete_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+=cut
+*/
+
+#define cophh_delete_pvs(cophh, key, flags) \
+ Perl_refcounted_he_new_pvn(aTHX_ cophh, STR_WITH_LEN(key), 0, \
+ (SV *)NULL, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_delete_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+
+Like L</cophh_delete_pvn>, but takes a nul-terminated string instead of
+a string/length pair.
+
+=cut
+*/
+
+#define cophh_delete_pv(cophh, key, hash, flags) \
+ Perl_refcounted_he_new_pv(aTHX_ cophh, key, hash, (SV *)NULL, flags)
+
+/*
+=for apidoc Amx|COPHH *|cophh_delete_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+
+Like L</cophh_delete_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+=cut
+*/
+
+#define cophh_delete_sv(cophh, key, hash, flags) \
+ Perl_refcounted_he_new_sv(aTHX_ cophh, key, hash, (SV *)NULL, flags)
#include "mydtrace.h"
@@ -156,7 +399,7 @@ struct cop {
STRLEN * cop_warnings; /* lexical warnings bitmask */
/* compile time state of %^H. See the comment in op.c for how this is
used to recreate a hash to return from caller. */
- struct refcounted_he * cop_hints_hash;
+ COPHH * cop_hints_hash;
};
#ifdef USE_ITHREADS
@@ -225,7 +468,81 @@ struct cop {
# define CopFILE_free(c) (SvREFCNT_dec(CopFILEGV(c)),(CopFILEGV(c) = NULL))
#endif /* USE_ITHREADS */
-#define CopLABEL(c) Perl_fetch_cop_label(aTHX_ (c)->cop_hints_hash, NULL, NULL)
+
+#define CopHINTHASH_get(c) ((COPHH*)((c)->cop_hints_hash))
+#define CopHINTHASH_set(c,h) ((c)->cop_hints_hash = (h))
+
+/*
+=head1 COP Hint Reading
+*/
+
+/*
+=for apidoc Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+
+Look up the hint entry in the cop I<cop> with the key specified by
+I<keypv> and I<keylen>. If I<flags> has the C<COPHH_KEY_UTF8> bit set,
+the key octets are interpreted as UTF-8, otherwise they are interpreted
+as Latin-1. I<hash> is a precomputed hash of the key string, or zero if
+it has not been precomputed. Returns a mortal scalar copy of the value
+associated with the key, or C<&PL_sv_placeholder> if there is no value
+associated with the key.
+
+=cut
+*/
+
+#define cop_hints_fetch_pvn(cop, keypv, keylen, hash, flags) \
+ cophh_fetch_pvn(CopHINTHASH_get(cop), keypv, keylen, hash, flags)
+
+/*
+=for apidoc Am|SV *|cop_hints_fetch_pvs|const COP *cop|const char *key|U32 flags
+
+Like L</cop_hints_fetch_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+=cut
+*/
+
+#define cop_hints_fetch_pvs(cop, key, flags) \
+ cophh_fetch_pvs(CopHINTHASH_get(cop), key, flags)
+
+/*
+=for apidoc Am|SV *|cop_hints_fetch_pv|const COP *cop|const char *key|U32 hash|U32 flags
+
+Like L</cop_hints_fetch_pvn>, but takes a nul-terminated string instead
+of a string/length pair.
+
+=cut
+*/
+
+#define cop_hints_fetch_pv(cop, key, hash, flags) \
+ cophh_fetch_pv(CopHINTHASH_get(cop), key, hash, flags)
+
+/*
+=for apidoc Am|SV *|cop_hints_fetch_sv|const COP *cop|SV *key|U32 hash|U32 flags
+
+Like L</cop_hints_fetch_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+=cut
+*/
+
+#define cop_hints_fetch_sv(cop, key, hash, flags) \
+ cophh_fetch_sv(CopHINTHASH_get(cop), key, hash, flags)
+
+/*
+=for apidoc Am|HV *|cop_hints_2hv|const COP *cop|U32 flags
+
+Generates and returns a standard Perl hash representing the full set of
+hint entries in the cop I<cop>. I<flags> is currently unused and must
+be zero.
+
+=cut
+*/
+
+#define cop_hints_2hv(cop, flags) \
+ cophh_2hv(CopHINTHASH_get(cop), flags)
+
+#define CopLABEL(c) Perl_fetch_cop_label(aTHX_ (c), NULL, NULL)
#define CopLABEL_alloc(pv) ((pv)?savepv(pv):NULL)
#define CopSTASH_ne(c,hv) (!CopSTASH_eq(c,hv))
@@ -239,12 +556,11 @@ struct cop {
/* If $[ is non-zero, it's stored in cop_hints under the key "$[", and
HINT_ARYBASE is set to indicate this.
- Setting it is ineficient due to the need to create 2 mortal SVs, but as
+ Setting it is inefficient due to the need to create 2 mortal SVs, but as
using $[ is highly discouraged, no sane Perl code will be using it. */
#define CopARYBASE_get(c) \
((CopHINTS_get(c) & HINT_ARYBASE) \
- ? SvIV(Perl_refcounted_he_fetch(aTHX_ (c)->cop_hints_hash, 0, \
- "$[", 2, 0, 0)) \
+ ? SvIV(cop_hints_fetch_pvs((c), "$[", 0)) \
: 0)
#define CopARYBASE_set(c, b) STMT_START { \
if (b || ((c)->cop_hints & HINT_ARYBASE)) { \
@@ -255,10 +571,9 @@ struct cop {
mg_set(val); \
PL_hints |= HINT_ARYBASE; \
} else { \
- (c)->cop_hints_hash \
- = Perl_refcounted_he_new(aTHX_ (c)->cop_hints_hash, \
- newSVpvs_flags("$[", SVs_TEMP), \
- sv_2mortal(newSViv(b))); \
+ CopHINTHASH_set((c), \
+ cophh_store_pvs(CopHINTHASH_get((c)), "$[", \
+ sv_2mortal(newSViv(b)), 0)); \
} \
} \
} STMT_END
@@ -303,7 +618,8 @@ struct block_format {
#define PUSHSUB_BASE(cx) \
ENTRY_PROBE(GvENAME(CvGV(cv)), \
CopFILE((const COP *)CvSTART(cv)), \
- CopLINE((const COP *)CvSTART(cv))); \
+ CopLINE((const COP *)CvSTART(cv)), \
+ CopSTASHPV((const COP *)CvSTART(cv))); \
\
cx->blk_sub.cv = cv; \
cx->blk_sub.olddepth = CvDEPTH(cv); \
@@ -353,7 +669,8 @@ struct block_format {
STMT_START { \
RETURN_PROBE(GvENAME(CvGV((const CV*)cx->blk_sub.cv)), \
CopFILE((COP*)CvSTART((const CV*)cx->blk_sub.cv)), \
- CopLINE((COP*)CvSTART((const CV*)cx->blk_sub.cv))); \
+ CopLINE((COP*)CvSTART((const CV*)cx->blk_sub.cv)), \
+ CopSTASHPV((COP*)CvSTART((const CV*)cx->blk_sub.cv))); \
\
if (CxHASARGS(cx)) { \
POP_SAVEARRAY(); \
@@ -429,16 +746,11 @@ struct block_eval {
struct block_loop {
I32 resetsp;
LOOP * my_op; /* My op, that contains redo, next and last ops. */
- /* (except for non_ithreads we need to modify next_op in pp_ctl.c, hence
- why next_op is conditionally defined below.) */
-#ifdef USE_ITHREADS
- PAD *oldcomppad; /* Also used for the GV, if targoffset is 0 */
- /* This is also accesible via cx->blk_loop.my_op->op_targ */
- PADOFFSET targoffset;
-#else
- OP * next_op;
- SV ** itervar;
-#endif
+ union { /* different ways of locating the iteration variable */
+ SV **svp;
+ GV *gv;
+ PAD *oldcomppad; /* only used in ITHREADS */
+ } itervar_u;
union {
struct { /* valid if type is LOOP_FOR or LOOP_PLAIN (but {NULL,0})*/
AV * ary; /* use the stack if this is NULL */
@@ -456,49 +768,36 @@ struct block_loop {
};
#ifdef USE_ITHREADS
-# define CxITERVAR(c) \
- ((c)->blk_loop.oldcomppad \
- ? (CxPADLOOP(c) \
- ? &CX_CURPAD_SV( (c)->blk_loop, (c)->blk_loop.targoffset ) \
- : &GvSV((GV*)(c)->blk_loop.oldcomppad)) \
- : (SV**)NULL)
-# define CX_ITERDATA_SET(cx,idata,o) \
- if ((cx->blk_loop.targoffset = (o))) \
- CX_CURPAD_SAVE(cx->blk_loop); \
- else \
- cx->blk_loop.oldcomppad = (idata);
+# define CxITERVAR_PADSV(c) \
+ &CX_CURPAD_SV( (c)->blk_loop.itervar_u, (c)->blk_loop.my_op->op_targ)
#else
-# define CxITERVAR(c) ((c)->blk_loop.itervar)
-# define CX_ITERDATA_SET(cx,ivar,o) \
- cx->blk_loop.itervar = (SV**)(ivar);
+# define CxITERVAR_PADSV(c) ((c)->blk_loop.itervar_u.svp)
#endif
+
+#define CxITERVAR(c) \
+ ((c)->blk_loop.itervar_u.oldcomppad \
+ ? (CxPADLOOP(c) \
+ ? CxITERVAR_PADSV(c) \
+ : &GvSV((c)->blk_loop.itervar_u.gv)) \
+ : (SV**)NULL)
+
#define CxLABEL(c) (0 + CopLABEL((c)->blk_oldcop))
#define CxHASARGS(c) (((c)->cx_type & CXp_HASARGS) == CXp_HASARGS)
#define CxLVAL(c) (0 + (c)->blk_u16)
-#ifdef USE_ITHREADS
-# define PUSHLOOP_OP_NEXT /* No need to do anything. */
-# define CX_LOOP_NEXTOP_GET(cx) ((cx)->blk_loop.my_op->op_nextop + 0)
-#else
-# define PUSHLOOP_OP_NEXT cx->blk_loop.next_op = cLOOP->op_nextop
-# define CX_LOOP_NEXTOP_GET(cx) ((cx)->blk_loop.next_op + 0)
-#endif
-
#define PUSHLOOP_PLAIN(cx, s) \
cx->blk_loop.resetsp = s - PL_stack_base; \
cx->blk_loop.my_op = cLOOP; \
- PUSHLOOP_OP_NEXT; \
cx->blk_loop.state_u.ary.ary = NULL; \
cx->blk_loop.state_u.ary.ix = 0; \
- CX_ITERDATA_SET(cx, NULL, 0);
+ cx->blk_loop.itervar_u.svp = NULL;
-#define PUSHLOOP_FOR(cx, dat, s, offset) \
+#define PUSHLOOP_FOR(cx, ivar, s) \
cx->blk_loop.resetsp = s - PL_stack_base; \
cx->blk_loop.my_op = cLOOP; \
- PUSHLOOP_OP_NEXT; \
cx->blk_loop.state_u.ary.ary = NULL; \
cx->blk_loop.state_u.ary.ix = 0; \
- CX_ITERDATA_SET(cx, dat, offset);
+ cx->blk_loop.itervar_u.svp = (SV**)(ivar);
#define POPLOOP(cx) \
if (CxTYPE(cx) == CXt_LOOP_LAZYSV) { \
@@ -550,6 +849,16 @@ struct block {
#define blk_loop cx_u.cx_blk.blk_u.blku_loop
#define blk_givwhen cx_u.cx_blk.blk_u.blku_givwhen
+#define DEBUG_CX(action) \
+ DEBUG_l( \
+ Perl_deb(aTHX_ "CX %ld %s %s (scope %ld,%ld) at %s:%d\n", \
+ (long)cxstack_ix, \
+ action, \
+ PL_block_type[CxTYPE(&cxstack[cxstack_ix])], \
+ (long)PL_scopestack_ix, \
+ (long)(cxstack[cxstack_ix].blk_oldscopesp), \
+ __FILE__, __LINE__));
+
/* Enter a block. */
#define PUSHBLOCK(cx,t,sp) CXINC, cx = &cxstack[cxstack_ix], \
cx->cx_type = t, \
@@ -559,28 +868,27 @@ struct block {
cx->blk_oldscopesp = PL_scopestack_ix, \
cx->blk_oldpm = PL_curpm, \
cx->blk_gimme = (U8)gimme; \
- DEBUG_l( PerlIO_printf(Perl_debug_log, "Entering block %ld, type %s\n", \
- (long)cxstack_ix, PL_block_type[CxTYPE(cx)]); )
+ DEBUG_CX("PUSH");
/* Exit a block (RETURN and LAST). */
-#define POPBLOCK(cx,pm) cx = &cxstack[cxstack_ix--], \
+#define POPBLOCK(cx,pm) \
+ DEBUG_CX("POP"); \
+ cx = &cxstack[cxstack_ix--], \
newsp = PL_stack_base + cx->blk_oldsp, \
PL_curcop = cx->blk_oldcop, \
PL_markstack_ptr = PL_markstack + cx->blk_oldmarksp, \
PL_scopestack_ix = cx->blk_oldscopesp, \
pm = cx->blk_oldpm, \
- gimme = cx->blk_gimme; \
- DEBUG_SCOPE("POPBLOCK"); \
- DEBUG_l( PerlIO_printf(Perl_debug_log, "Leaving block %ld, type %s\n", \
- (long)cxstack_ix+1,PL_block_type[CxTYPE(cx)]); )
+ gimme = cx->blk_gimme;
/* Continue a block elsewhere (NEXT and REDO). */
-#define TOPBLOCK(cx) cx = &cxstack[cxstack_ix], \
+#define TOPBLOCK(cx) \
+ DEBUG_CX("TOP"); \
+ cx = &cxstack[cxstack_ix], \
PL_stack_sp = PL_stack_base + cx->blk_oldsp, \
PL_markstack_ptr = PL_markstack + cx->blk_oldmarksp, \
PL_scopestack_ix = cx->blk_oldscopesp, \
- PL_curpm = cx->blk_oldpm; \
- DEBUG_SCOPE("TOPBLOCK");
+ PL_curpm = cx->blk_oldpm;
/* substitution context */
struct subst {
@@ -603,7 +911,6 @@ struct subst {
#define sb_maxiters cx_u.cx_subst.sbu_maxiters
#define sb_rflags cx_u.cx_subst.sbu_rflags
#define sb_oldsave cx_u.cx_subst.sbu_oldsave
-#define sb_once cx_u.cx_subst.sbu_once
#define sb_rxtainted cx_u.cx_subst.sbu_rxtainted
#define sb_orig cx_u.cx_subst.sbu_orig
#define sb_dstr cx_u.cx_subst.sbu_dstr
@@ -686,9 +993,7 @@ struct context {
/* private flags for CXt_LOOP */
#define CXp_FOR_DEF 0x10 /* foreach using $_ */
-#ifdef USE_ITHREADS
-# define CxPADLOOP(c) ((c)->blk_loop.targoffset)
-#endif
+#define CxPADLOOP(c) ((c)->blk_loop.my_op->op_targ)
/* private flags for CXt_SUBST */
#define CXp_ONCE 0x10 /* What was sbu_once in struct subst */
@@ -751,11 +1056,16 @@ L<perlcall>.
hash actions codes defined in hv.h */
#define G_EVAL 8 /* Assume eval {} around subroutine call. */
#define G_NOARGS 16 /* Don't construct a @_ array. */
-#define G_KEEPERR 32 /* Append errors to $@, don't overwrite it */
+#define G_KEEPERR 32 /* Warn for errors, don't overwrite $@ */
#define G_NODEBUG 64 /* Disable debugging at toplevel. */
#define G_METHOD 128 /* Calling method. */
#define G_FAKINGEVAL 256 /* Faking an eval context for call_sv or
fold_constants. */
+#define G_UNDEF_FILL 512 /* Fill the stack with &PL_sv_undef
+ A special case for UNSHIFT in
+ Perl_magic_methcall(). */
+#define G_WRITING_TO_STDERR 1024 /* Perl_write_to_stderr() is calling
+ Perl_magic_methcall(). */
/* flag bits for PL_in_eval */
#define EVAL_NULL 0 /* not in an eval */
@@ -809,6 +1119,11 @@ typedef struct stackinfo PERL_SI;
#define PUSHSTACKi(type) \
STMT_START { \
PERL_SI *next = PL_curstackinfo->si_next; \
+ DEBUG_l({ \
+ int i = 0; PERL_SI *p = PL_curstackinfo; \
+ while (p) { i++; p = p->si_prev; } \
+ Perl_deb(aTHX_ "push STACKINFO %d at %s:%d\n", \
+ i, __FILE__, __LINE__);}) \
if (!next) { \
next = new_stackinfo(32, 2048/sizeof(PERL_CONTEXT) - 1); \
next->si_prev = PL_curstackinfo; \
@@ -830,6 +1145,11 @@ typedef struct stackinfo PERL_SI;
STMT_START { \
dSP; \
PERL_SI * const prev = PL_curstackinfo->si_prev; \
+ DEBUG_l({ \
+ int i = -1; PERL_SI *p = PL_curstackinfo; \
+ while (p) { i++; p = p->si_prev; } \
+ Perl_deb(aTHX_ "pop STACKINFO %d at %s:%d\n", \
+ i, __FILE__, __LINE__);}) \
if (!prev) { \
PerlIO_printf(Perl_error_log, "panic: POPSTACK\n"); \
my_exit(1); \
@@ -908,8 +1228,8 @@ See L<perlcall/Lightweight Callbacks>.
#define POP_MULTICALL \
STMT_START { \
- LEAVESUB(multicall_cv); \
- CvDEPTH(multicall_cv)--; \
+ if (! --CvDEPTH(multicall_cv)) \
+ LEAVESUB(multicall_cv); \
POPBLOCK(cx,PL_curpm); \
POPSTACK; \
CATCH_SET(multicall_oldcatch); \
diff --git a/Master/tlpkg/tlperl/lib/CORE/cv.h b/Master/tlpkg/tlperl/lib/CORE/cv.h
index 290019d9add..6fdf5cbaf2a 100644
--- a/Master/tlpkg/tlperl/lib/CORE/cv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/cv.h
@@ -12,8 +12,8 @@
struct xpvcv {
_XPV_HEAD;
- _XPVMG_HEAD;
_XPVCV_COMMON;
+ I32 xcv_depth; /* >= 2 indicates recursive call */
};
/*
@@ -36,12 +36,14 @@ Returns the stash of the CV.
# define Nullcv Null(CV*)
#endif
-#define CvSTASH(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_stash
+#define CvSTASH(sv) (0+((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_stash)
+#define CvSTASH_set(cv,st) Perl_cvstash_set(aTHX_ cv, st)
#define CvSTART(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_start
#define CvROOT(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_root
#define CvXSUB(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_xsub
#define CvXSUBANY(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_xsubany
-#define CvGV(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv
+#define CvGV(sv) (0+((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv)
+#define CvGV_set(cv,gv) Perl_cvgv_set(aTHX_ cv, gv)
#define CvFILE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file
#ifdef USE_ITHREADS
# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = savepv(CopFILE(cop)))
@@ -52,10 +54,10 @@ Returns the stash of the CV.
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
# define CvDEPTH(sv) (*({const CV *const _cvdepth = (const CV *)sv; \
assert(SvTYPE(_cvdepth) == SVt_PVCV); \
- &((XPVCV*)SvANY(_cvdepth))->xiv_u.xivu_i32; \
+ &((XPVCV*)SvANY(_cvdepth))->xcv_depth; \
}))
#else
-# define CvDEPTH(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xiv_u.xivu_i32
+# define CvDEPTH(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_depth
#endif
#define CvPADLIST(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist
#define CvOUTSIDE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside
@@ -63,18 +65,19 @@ Returns the stash of the CV.
#define CvOUTSIDE_SEQ(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside_seq
#define CVf_METHOD 0x0001 /* CV is explicitly marked as a method */
-#define CVf_LVALUE 0x0004 /* CV return value can be used as lvalue */
+#define CVf_LVALUE 0x0002 /* CV return value can be used as lvalue */
+#define CVf_CONST 0x0004 /* inlinable sub */
+#define CVf_ISXSUB 0x0008 /* CV is an XSUB, not pure perl. */
#define CVf_WEAKOUTSIDE 0x0010 /* CvOUTSIDE isn't ref counted */
#define CVf_CLONE 0x0020 /* anon CV uses external lexicals */
#define CVf_CLONED 0x0040 /* a clone of one of those */
-#define CVf_ANON 0x0080 /* CvGV() can't be trusted */
+#define CVf_ANON 0x0080 /* CV is not pointed to by a GV */
#define CVf_UNIQUE 0x0100 /* sub is only called once (eg PL_main_cv,
* require, eval). */
#define CVf_NODEBUG 0x0200 /* no DB::sub indirection for this CV
(esp. useful for special XSUBs) */
-#define CVf_CONST 0x0400 /* inlinable sub */
-#define CVf_ISXSUB 0x0800 /* CV is an XSUB, not pure perl. */
+#define CVf_CVGV_RC 0x0400 /* CvGV is reference counted */
/* This symbol for optimised communication between toke.c and op.c: */
#define CVf_BUILTIN_ATTRS (CVf_METHOD|CVf_LVALUE)
@@ -128,6 +131,10 @@ Returns the stash of the CV.
#define CvISXSUB_on(cv) (CvFLAGS(cv) |= CVf_ISXSUB)
#define CvISXSUB_off(cv) (CvFLAGS(cv) &= ~CVf_ISXSUB)
+#define CvCVGV_RC(cv) (CvFLAGS(cv) & CVf_CVGV_RC)
+#define CvCVGV_RC_on(cv) (CvFLAGS(cv) |= CVf_CVGV_RC)
+#define CvCVGV_RC_off(cv) (CvFLAGS(cv) &= ~CVf_CVGV_RC)
+
/* Flags for newXS_flags */
#define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */
@@ -186,6 +193,8 @@ should print 123:
=cut
*/
+typedef OP *(*Perl_call_checker)(pTHX_ OP *, GV *, SV *);
+
/*
* Local variables:
* c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CORE/embed.h b/Master/tlpkg/tlperl/lib/CORE/embed.h
index 2b80af0458a..04b32d18089 100644
--- a/Master/tlpkg/tlperl/lib/CORE/embed.h
+++ b/Master/tlpkg/tlperl/lib/CORE/embed.h
@@ -1,16 +1,16 @@
-/* -*- buffer-read-only: t -*-
+/* -*- buffer-read-only: t -*-
*
* embed.h
*
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
+ * This file is built by regen/embed.pl from data in embed.fnc,
+ * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
* Any changes made here will be lost!
*
* Edit those files and run 'make regen_headers' to effect changes.
@@ -26,2454 +26,14 @@
/* Hide global symbols */
-#if !defined(PERL_IMPLICIT_CONTEXT)
-
-#if defined(PERL_IMPLICIT_SYS)
-#endif
-#define doing_taint Perl_doing_taint
-#if defined(USE_ITHREADS)
-# if defined(PERL_IMPLICIT_SYS)
-# endif
-#endif
-#if defined(MYMALLOC)
-#ifdef PERL_CORE
-#define malloced_size Perl_malloced_size
-#define malloc_good_size Perl_malloc_good_size
-#endif
-#endif
-#define get_context Perl_get_context
-#define set_context Perl_set_context
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regcurly Perl_regcurly
-#endif
-#define amagic_call Perl_amagic_call
-#define Gv_AMupdate Perl_Gv_AMupdate
-#define gv_handler Perl_gv_handler
-#ifdef PERL_CORE
-#define append_elem Perl_append_elem
-#define append_list Perl_append_list
-#define apply Perl_apply
-#endif
-#define apply_attrs_string Perl_apply_attrs_string
-#define av_clear Perl_av_clear
-#define av_delete Perl_av_delete
-#define av_exists Perl_av_exists
-#define av_extend Perl_av_extend
-#define av_fetch Perl_av_fetch
-#define av_fill Perl_av_fill
-#define av_len Perl_av_len
-#define av_make Perl_av_make
-#define av_pop Perl_av_pop
-#define av_push Perl_av_push
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define av_reify Perl_av_reify
-#endif
-#define av_shift Perl_av_shift
-#define av_store Perl_av_store
-#define av_undef Perl_av_undef
-#define av_unshift Perl_av_unshift
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define get_aux_mg S_get_aux_mg
-#endif
-#endif
-#ifdef PERL_CORE
-#define bind_match Perl_bind_match
-#define block_end Perl_block_end
-#endif
-#define block_gimme Perl_block_gimme
-#ifdef PERL_CORE
-#define block_start Perl_block_start
-#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL
-#define boot_core_PerlIO Perl_boot_core_PerlIO
-#endif
-#define call_list Perl_call_list
-#ifdef PERL_CORE
-#define cando Perl_cando
-#endif
-#define cast_ulong Perl_cast_ulong
-#define cast_i32 Perl_cast_i32
-#define cast_iv Perl_cast_iv
-#define cast_uv Perl_cast_uv
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-#define my_chsize Perl_my_chsize
-#endif
-#ifdef PERL_CORE
-#define convert Perl_convert
-#define create_eval_scope Perl_create_eval_scope
-#endif
-#define croak Perl_croak
-#define vcroak Perl_vcroak
-#define croak_xs_usage Perl_croak_xs_usage
-#if defined(PERL_IMPLICIT_CONTEXT)
-#define croak_nocontext Perl_croak_nocontext
-#define die_nocontext Perl_die_nocontext
-#define deb_nocontext Perl_deb_nocontext
-#define form_nocontext Perl_form_nocontext
-#define load_module_nocontext Perl_load_module_nocontext
-#define mess_nocontext Perl_mess_nocontext
-#define warn_nocontext Perl_warn_nocontext
-#define warner_nocontext Perl_warner_nocontext
-#define newSVpvf_nocontext Perl_newSVpvf_nocontext
-#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext
-#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext
-#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
-#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
-#define fprintf_nocontext Perl_fprintf_nocontext
-#define printf_nocontext Perl_printf_nocontext
-#endif
-#ifdef PERL_CORE
-#define cv_ckproto_len Perl_cv_ckproto_len
-#define cv_clone Perl_cv_clone
-#endif
-#define gv_const_sv Perl_gv_const_sv
-#define cv_const_sv Perl_cv_const_sv
-#ifdef PERL_CORE
-#define op_const_sv Perl_op_const_sv
-#endif
-#define cv_undef Perl_cv_undef
-#define cx_dump Perl_cx_dump
-#define filter_add Perl_filter_add
-#define filter_del Perl_filter_del
-#define filter_read Perl_filter_read
-#define get_op_descs Perl_get_op_descs
-#define get_op_names Perl_get_op_names
-#ifdef PERL_CORE
-#define get_no_modify Perl_get_no_modify
-#define get_opargs Perl_get_opargs
-#endif
-#define get_ppaddr Perl_get_ppaddr
-#define cxinc Perl_cxinc
-#define deb Perl_deb
-#define vdeb Perl_vdeb
-#define debprofdump Perl_debprofdump
-#define debop Perl_debop
-#define debstack Perl_debstack
-#define debstackptrs Perl_debstackptrs
-#define delimcpy Perl_delimcpy
-#ifdef PERL_CORE
-#define delete_eval_scope Perl_delete_eval_scope
-#endif
-#define die Perl_die
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define vdie S_vdie
-#endif
-#endif
-#ifdef PERL_CORE
-#define die_where Perl_die_where
-#endif
-#define dounwind Perl_dounwind
-#ifdef PERL_CORE
-#define do_aexec5 Perl_do_aexec5
-#endif
-#define do_binmode Perl_do_binmode
-#ifdef PERL_CORE
-#define do_chop Perl_do_chop
-#endif
-#define do_close Perl_do_close
-#ifdef PERL_CORE
-#define do_eof Perl_do_eof
-#endif
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-#else
-#ifdef PERL_CORE
-#define do_exec Perl_do_exec
-#endif
-#endif
-#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
-#define do_aspawn Perl_do_aspawn
-#define do_spawn Perl_do_spawn
-#define do_spawn_nowait Perl_do_spawn_nowait
-#endif
-#if !defined(WIN32)
-#ifdef PERL_CORE
-#define do_exec3 Perl_do_exec3
-#endif
-#endif
-#ifdef PERL_CORE
-#define do_execfree Perl_do_execfree
-#endif
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define exec_failed S_exec_failed
-#endif
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#ifdef PERL_CORE
-#define do_ipcctl Perl_do_ipcctl
-#define do_ipcget Perl_do_ipcget
-#define do_msgrcv Perl_do_msgrcv
-#define do_msgsnd Perl_do_msgsnd
-#define do_semop Perl_do_semop
-#define do_shmio Perl_do_shmio
-#endif
-#endif
-#define do_join Perl_do_join
-#ifdef PERL_CORE
-#define do_kv Perl_do_kv
-#endif
-#define do_open9 Perl_do_open9
-#define do_openn Perl_do_openn
-#ifdef PERL_CORE
-#define do_print Perl_do_print
-#define do_readline Perl_do_readline
-#define do_chomp Perl_do_chomp
-#define do_seek Perl_do_seek
-#endif
-#define do_sprintf Perl_do_sprintf
-#ifdef PERL_CORE
-#define do_sysseek Perl_do_sysseek
-#define do_tell Perl_do_tell
-#define do_trans Perl_do_trans
-#define do_vecget Perl_do_vecget
-#define do_vecset Perl_do_vecset
-#define do_vop Perl_do_vop
-#define dofile Perl_dofile
-#endif
-#define dowantarray Perl_dowantarray
-#define dump_all Perl_dump_all
-#ifdef PERL_CORE
-#define dump_all_perl Perl_dump_all_perl
-#endif
-#define dump_eval Perl_dump_eval
-#if defined(DUMP_FDS)
-#define dump_fds Perl_dump_fds
-#endif
-#define dump_form Perl_dump_form
-#define gv_dump Perl_gv_dump
-#define op_dump Perl_op_dump
-#define pmop_dump Perl_pmop_dump
-#define dump_packsubs Perl_dump_packsubs
-#ifdef PERL_CORE
-#define dump_packsubs_perl Perl_dump_packsubs_perl
-#endif
-#define dump_sub Perl_dump_sub
-#ifdef PERL_CORE
-#define dump_sub_perl Perl_dump_sub_perl
-#endif
-#define fbm_compile Perl_fbm_compile
-#define fbm_instr Perl_fbm_instr
-#ifdef PERL_CORE
-#define find_script Perl_find_script
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define force_list S_force_list
-#define fold_constants S_fold_constants
-#endif
-#endif
-#define form Perl_form
-#define vform Perl_vform
-#define free_tmps Perl_free_tmps
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define gen_constant_list S_gen_constant_list
-#endif
-#endif
-#if !defined(HAS_GETENV_LEN)
-#ifdef PERL_CORE
-#define getenv_len Perl_getenv_len
-#endif
-#endif
-#define gp_free Perl_gp_free
-#define gp_ref Perl_gp_ref
-#define gv_add_by_type Perl_gv_add_by_type
-#define gv_autoload4 Perl_gv_autoload4
-#define gv_check Perl_gv_check
-#define gv_efullname Perl_gv_efullname
-#define gv_efullname4 Perl_gv_efullname4
-#define gv_fetchfile Perl_gv_fetchfile
-#define gv_fetchfile_flags Perl_gv_fetchfile_flags
-#define gv_fetchmeth Perl_gv_fetchmeth
-#define gv_fetchmeth_autoload Perl_gv_fetchmeth_autoload
-#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload
-#define gv_fetchmethod_flags Perl_gv_fetchmethod_flags
-#define gv_fetchpv Perl_gv_fetchpv
-#define gv_fullname Perl_gv_fullname
-#define gv_fullname4 Perl_gv_fullname4
-#define gv_init Perl_gv_init
-#define gv_name_set Perl_gv_name_set
-#ifdef PERL_CORE
-#define gv_try_downgrade Perl_gv_try_downgrade
-#endif
-#define gv_stashpv Perl_gv_stashpv
-#define gv_stashpvn Perl_gv_stashpvn
-#define gv_stashsv Perl_gv_stashsv
-#define hv_clear Perl_hv_clear
-#define hv_delayfree_ent Perl_hv_delayfree_ent
-#define hv_common Perl_hv_common
-#define hv_common_key_len Perl_hv_common_key_len
-#define hv_free_ent Perl_hv_free_ent
-#define hv_iterinit Perl_hv_iterinit
-#define hv_iterkey Perl_hv_iterkey
-#define hv_iterkeysv Perl_hv_iterkeysv
-#define hv_iternextsv Perl_hv_iternextsv
-#define hv_iternext_flags Perl_hv_iternext_flags
-#define hv_iterval Perl_hv_iterval
-#define hv_ksplit Perl_hv_ksplit
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define refcounted_he_new_common S_refcounted_he_new_common
-#endif
-#endif
-#define hv_undef Perl_hv_undef
-#define ibcmp Perl_ibcmp
-#define ibcmp_locale Perl_ibcmp_locale
-#define ibcmp_utf8 Perl_ibcmp_utf8
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ingroup S_ingroup
-#endif
-#endif
-#ifdef PERL_CORE
-#define init_argv_symbols Perl_init_argv_symbols
-#endif
-#ifdef PERL_CORE
-#define init_debugger Perl_init_debugger
-#endif
-#define init_stacks Perl_init_stacks
-#define init_tm Perl_init_tm
-#ifdef PERL_CORE
-#define intro_my Perl_intro_my
-#endif
-#define instr Perl_instr
-#ifdef PERL_CORE
-#define io_close Perl_io_close
-#define invert Perl_invert
-#endif
-#define is_lvalue_sub Perl_is_lvalue_sub
-#define to_uni_upper_lc Perl_to_uni_upper_lc
-#define to_uni_title_lc Perl_to_uni_title_lc
-#define to_uni_lower_lc Perl_to_uni_lower_lc
-#define is_uni_alnum Perl_is_uni_alnum
-#define is_uni_idfirst Perl_is_uni_idfirst
-#define is_uni_alpha Perl_is_uni_alpha
-#define is_uni_ascii Perl_is_uni_ascii
-#define is_uni_space Perl_is_uni_space
-#define is_uni_cntrl Perl_is_uni_cntrl
-#define is_uni_graph Perl_is_uni_graph
-#define is_uni_digit Perl_is_uni_digit
-#define is_uni_upper Perl_is_uni_upper
-#define is_uni_lower Perl_is_uni_lower
-#define is_uni_print Perl_is_uni_print
-#define is_uni_punct Perl_is_uni_punct
-#define is_uni_xdigit Perl_is_uni_xdigit
-#define to_uni_upper Perl_to_uni_upper
-#define to_uni_title Perl_to_uni_title
-#define to_uni_lower Perl_to_uni_lower
-#define to_uni_fold Perl_to_uni_fold
-#define is_uni_alnum_lc Perl_is_uni_alnum_lc
-#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc
-#define is_uni_alpha_lc Perl_is_uni_alpha_lc
-#define is_uni_ascii_lc Perl_is_uni_ascii_lc
-#define is_uni_space_lc Perl_is_uni_space_lc
-#define is_uni_cntrl_lc Perl_is_uni_cntrl_lc
-#define is_uni_graph_lc Perl_is_uni_graph_lc
-#define is_uni_digit_lc Perl_is_uni_digit_lc
-#define is_uni_upper_lc Perl_is_uni_upper_lc
-#define is_uni_lower_lc Perl_is_uni_lower_lc
-#define is_uni_print_lc Perl_is_uni_print_lc
-#define is_uni_punct_lc Perl_is_uni_punct_lc
-#define is_uni_xdigit_lc Perl_is_uni_xdigit_lc
-#define is_ascii_string Perl_is_ascii_string
-#define is_utf8_char Perl_is_utf8_char
-#define is_utf8_string Perl_is_utf8_string
-#define is_utf8_string_loclen Perl_is_utf8_string_loclen
-#define is_utf8_alnum Perl_is_utf8_alnum
-#define is_utf8_idfirst Perl_is_utf8_idfirst
-#define is_utf8_idcont Perl_is_utf8_idcont
-#define is_utf8_alpha Perl_is_utf8_alpha
-#define is_utf8_ascii Perl_is_utf8_ascii
-#define is_utf8_space Perl_is_utf8_space
-#define is_utf8_perl_space Perl_is_utf8_perl_space
-#define is_utf8_perl_word Perl_is_utf8_perl_word
-#define is_utf8_cntrl Perl_is_utf8_cntrl
-#define is_utf8_digit Perl_is_utf8_digit
-#define is_utf8_posix_digit Perl_is_utf8_posix_digit
-#define is_utf8_graph Perl_is_utf8_graph
-#define is_utf8_upper Perl_is_utf8_upper
-#define is_utf8_lower Perl_is_utf8_lower
-#define is_utf8_print Perl_is_utf8_print
-#define is_utf8_punct Perl_is_utf8_punct
-#define is_utf8_xdigit Perl_is_utf8_xdigit
-#define is_utf8_mark Perl_is_utf8_mark
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define is_utf8_X_begin Perl_is_utf8_X_begin
-#define is_utf8_X_extend Perl_is_utf8_X_extend
-#define is_utf8_X_prepend Perl_is_utf8_X_prepend
-#define is_utf8_X_non_hangul Perl_is_utf8_X_non_hangul
-#define is_utf8_X_L Perl_is_utf8_X_L
-#define is_utf8_X_LV Perl_is_utf8_X_LV
-#define is_utf8_X_LVT Perl_is_utf8_X_LVT
-#define is_utf8_X_LV_LVT_V Perl_is_utf8_X_LV_LVT_V
-#define is_utf8_X_T Perl_is_utf8_X_T
-#define is_utf8_X_V Perl_is_utf8_X_V
-#endif
-#ifdef PERL_CORE
-#define jmaybe Perl_jmaybe
-#define keyword Perl_keyword
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define opt_scalarhv S_opt_scalarhv
-#define is_inplace_av S_is_inplace_av
-#endif
-#endif
-#define leave_scope Perl_leave_scope
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define lex_end Perl_lex_end
-#endif
-#ifdef PERL_CORE
-#define lex_start Perl_lex_start
-#endif
-#define lex_bufutf8 Perl_lex_bufutf8
-#define lex_grow_linestr Perl_lex_grow_linestr
-#define lex_stuff_pvn Perl_lex_stuff_pvn
-#define lex_stuff_sv Perl_lex_stuff_sv
-#define lex_unstuff Perl_lex_unstuff
-#define lex_read_to Perl_lex_read_to
-#define lex_discard_to Perl_lex_discard_to
-#define lex_next_chunk Perl_lex_next_chunk
-#define lex_peek_unichar Perl_lex_peek_unichar
-#define lex_read_unichar Perl_lex_read_unichar
-#define lex_read_space Perl_lex_read_space
-#define op_null Perl_op_null
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define op_clear Perl_op_clear
-#endif
-#define op_refcnt_lock Perl_op_refcnt_lock
-#define op_refcnt_unlock Perl_op_refcnt_unlock
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define linklist S_linklist
-#define listkids S_listkids
-#endif
-#endif
-#ifdef PERL_CORE
-#define list Perl_list
-#endif
-#define load_module Perl_load_module
-#define vload_module Perl_vload_module
-#ifdef PERL_CORE
-#define localize Perl_localize
-#endif
-#define looks_like_number Perl_looks_like_number
-#define grok_bin Perl_grok_bin
-#define grok_hex Perl_grok_hex
-#define grok_number Perl_grok_number
-#define grok_numeric_radix Perl_grok_numeric_radix
-#define grok_oct Perl_grok_oct
-#ifdef PERL_CORE
-#define magic_clearenv Perl_magic_clearenv
-#define magic_clear_all_env Perl_magic_clear_all_env
-#define magic_clearhint Perl_magic_clearhint
-#define magic_clearhints Perl_magic_clearhints
-#define magic_clearisa Perl_magic_clearisa
-#define magic_clearpack Perl_magic_clearpack
-#define magic_clearsig Perl_magic_clearsig
-#define magic_existspack Perl_magic_existspack
-#define magic_freeovrld Perl_magic_freeovrld
-#define magic_get Perl_magic_get
-#define magic_getarylen Perl_magic_getarylen
-#define magic_getdefelem Perl_magic_getdefelem
-#define magic_getnkeys Perl_magic_getnkeys
-#define magic_getpack Perl_magic_getpack
-#define magic_getpos Perl_magic_getpos
-#define magic_getsig Perl_magic_getsig
-#define magic_getsubstr Perl_magic_getsubstr
-#define magic_gettaint Perl_magic_gettaint
-#define magic_getuvar Perl_magic_getuvar
-#define magic_getvec Perl_magic_getvec
-#define magic_len Perl_magic_len
-#define magic_nextpack Perl_magic_nextpack
-#define magic_regdata_cnt Perl_magic_regdata_cnt
-#define magic_regdatum_get Perl_magic_regdatum_get
-#define magic_regdatum_set Perl_magic_regdatum_set
-#define magic_set Perl_magic_set
-#define magic_setamagic Perl_magic_setamagic
-#define magic_setarylen Perl_magic_setarylen
-#define magic_freearylen_p Perl_magic_freearylen_p
-#define magic_setdbline Perl_magic_setdbline
-#define magic_setdefelem Perl_magic_setdefelem
-#define magic_setenv Perl_magic_setenv
-#define magic_sethint Perl_magic_sethint
-#define magic_setisa Perl_magic_setisa
-#define magic_setmglob Perl_magic_setmglob
-#define magic_setnkeys Perl_magic_setnkeys
-#define magic_setpack Perl_magic_setpack
-#define magic_setpos Perl_magic_setpos
-#define magic_setregexp Perl_magic_setregexp
-#define magic_setsig Perl_magic_setsig
-#define magic_setsubstr Perl_magic_setsubstr
-#define magic_settaint Perl_magic_settaint
-#define magic_setuvar Perl_magic_setuvar
-#define magic_setvec Perl_magic_setvec
-#define magic_setutf8 Perl_magic_setutf8
-#define magic_set_all_env Perl_magic_set_all_env
-#define magic_sizepack Perl_magic_sizepack
-#define magic_wipepack Perl_magic_wipepack
-#endif
-#define markstack_grow Perl_markstack_grow
-#if defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define magic_setcollxfrm Perl_magic_setcollxfrm
-#define mem_collxfrm Perl_mem_collxfrm
-#endif
-#endif
-#define mess Perl_mess
-#define vmess Perl_vmess
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define qerror Perl_qerror
-#endif
-#define sortsv Perl_sortsv
-#define sortsv_flags Perl_sortsv_flags
-#define mg_clear Perl_mg_clear
-#define mg_copy Perl_mg_copy
-#ifdef PERL_CORE
-#define mg_localize Perl_mg_localize
-#endif
-#define mg_find Perl_mg_find
-#define mg_free Perl_mg_free
-#define mg_get Perl_mg_get
-#define mg_length Perl_mg_length
-#define mg_magical Perl_mg_magical
-#define mg_set Perl_mg_set
-#define mg_size Perl_mg_size
-#define mini_mktime Perl_mini_mktime
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define mod Perl_mod
-#endif
-#ifdef PERL_CORE
-#define mode_from_discipline Perl_mode_from_discipline
-#endif
-#define moreswitches Perl_moreswitches
-#define my_atof Perl_my_atof
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-#define my_bcopy Perl_my_bcopy
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero Perl_my_bzero
-#endif
-#define my_exit Perl_my_exit
-#define my_failure_exit Perl_my_failure_exit
-#define my_fflush_all Perl_my_fflush_all
-#define my_fork Perl_my_fork
-#define atfork_lock Perl_atfork_lock
-#define atfork_unlock Perl_atfork_unlock
-#define my_lstat Perl_my_lstat
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp Perl_my_memcmp
-#endif
-#if !defined(HAS_MEMSET)
-#define my_memset Perl_my_memset
-#endif
-#define my_pclose Perl_my_pclose
-#define my_popen Perl_my_popen
-#define my_popen_list Perl_my_popen_list
-#define my_setenv Perl_my_setenv
-#define my_stat Perl_my_stat
-#define my_strftime Perl_my_strftime
-#if defined(MYSWAP)
-#define my_swap Perl_my_swap
-#define my_htonl Perl_my_htonl
-#define my_ntohl Perl_my_ntohl
-#endif
-#ifdef PERL_CORE
-#define my_unexec Perl_my_unexec
-#endif
-#define newANONLIST Perl_newANONLIST
-#define newANONHASH Perl_newANONHASH
-#define newANONSUB Perl_newANONSUB
-#define newASSIGNOP Perl_newASSIGNOP
-#define newCONDOP Perl_newCONDOP
-#define newCONSTSUB Perl_newCONSTSUB
-#ifdef PERL_MAD
-#define newFORM Perl_newFORM
-#else
-#define newFORM Perl_newFORM
-#endif
-#define newFOROP Perl_newFOROP
-#define newGIVENOP Perl_newGIVENOP
-#define newLOGOP Perl_newLOGOP
-#define newLOOPEX Perl_newLOOPEX
-#define newLOOPOP Perl_newLOOPOP
-#define newNULLLIST Perl_newNULLLIST
-#define newOP Perl_newOP
-#define newPROG Perl_newPROG
-#define newRANGE Perl_newRANGE
-#define newSLICEOP Perl_newSLICEOP
-#define newSTATEOP Perl_newSTATEOP
-#define newSUB Perl_newSUB
-#define newXS_flags Perl_newXS_flags
-#define newXS Perl_newXS
-#define newAVREF Perl_newAVREF
-#define newBINOP Perl_newBINOP
-#define newCVREF Perl_newCVREF
-#define newGVOP Perl_newGVOP
-#define newGVgen Perl_newGVgen
-#define newGVREF Perl_newGVREF
-#define newHVREF Perl_newHVREF
-#define newHVhv Perl_newHVhv
-#define newLISTOP Perl_newLISTOP
-#ifdef USE_ITHREADS
-#define newPADOP Perl_newPADOP
-#endif
-#define newPMOP Perl_newPMOP
-#define newPVOP Perl_newPVOP
-#define newRV Perl_newRV
-#define newRV_noinc Perl_newRV_noinc
-#define newSV Perl_newSV
-#define newSVREF Perl_newSVREF
-#define newSVOP Perl_newSVOP
-#define newSViv Perl_newSViv
-#define newSVuv Perl_newSVuv
-#define newSVnv Perl_newSVnv
-#define newSVpv Perl_newSVpv
-#define newSVpvn Perl_newSVpvn
-#define newSVpvn_flags Perl_newSVpvn_flags
-#define newSVhek Perl_newSVhek
-#define newSVpvn_share Perl_newSVpvn_share
-#define newSVpvf Perl_newSVpvf
-#define vnewSVpvf Perl_vnewSVpvf
-#define newSVrv Perl_newSVrv
-#define newSVsv Perl_newSVsv
-#define newSV_type Perl_newSV_type
-#define newUNOP Perl_newUNOP
-#define newWHENOP Perl_newWHENOP
-#define newWHILEOP Perl_newWHILEOP
-#define new_stackinfo Perl_new_stackinfo
-#define scan_vstring Perl_scan_vstring
-#define scan_version Perl_scan_version
-#define prescan_version Perl_prescan_version
-#define new_version Perl_new_version
-#define upg_version Perl_upg_version
-#define vverify Perl_vverify
-#define vnumify Perl_vnumify
-#define vnormal Perl_vnormal
-#define vstringify Perl_vstringify
-#define vcmp Perl_vcmp
-#ifdef PERL_CORE
-#define nextargv Perl_nextargv
-#endif
-#define ninstr Perl_ninstr
-#define op_free Perl_op_free
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define package Perl_package
-#endif
-#else
-#ifdef PERL_CORE
-#define package Perl_package
-#endif
-#endif
-#ifdef PERL_CORE
-#define package_version Perl_package_version
-#define pad_alloc Perl_pad_alloc
-#define allocmy Perl_allocmy
-#endif
-#define pad_findmy Perl_pad_findmy
-#define find_rundefsvoffset Perl_find_rundefsvoffset
-#ifdef PERL_CORE
-#define oopsAV Perl_oopsAV
-#define oopsHV Perl_oopsHV
-#define pad_leavemy Perl_pad_leavemy
-#endif
-#ifdef DEBUGGING
-#define pad_sv Perl_pad_sv
-#endif
-#ifdef PERL_CORE
-#define pad_free Perl_pad_free
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_reset S_pad_reset
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_swipe Perl_pad_swipe
-#define peep Perl_peep
-#endif
-#if defined(USE_REENTRANT_API)
-#define reentrant_size Perl_reentrant_size
-#define reentrant_init Perl_reentrant_init
-#define reentrant_free Perl_reentrant_free
-#define reentrant_retry Perl_reentrant_retry
-#endif
-#define call_atexit Perl_call_atexit
-#define call_argv Perl_call_argv
-#define call_method Perl_call_method
-#define call_pv Perl_call_pv
-#define call_sv Perl_call_sv
-#define despatch_signals Perl_despatch_signals
-#define doref Perl_doref
-#define eval_pv Perl_eval_pv
-#define eval_sv Perl_eval_sv
-#define get_sv Perl_get_sv
-#define get_av Perl_get_av
-#define get_hv Perl_get_hv
-#define get_cv Perl_get_cv
-#define get_cvn_flags Perl_get_cvn_flags
-#define init_i18nl10n Perl_init_i18nl10n
-#define init_i18nl14n Perl_init_i18nl14n
-#define new_collate Perl_new_collate
-#define new_ctype Perl_new_ctype
-#define new_numeric Perl_new_numeric
-#define set_numeric_local Perl_set_numeric_local
-#define set_numeric_radix Perl_set_numeric_radix
-#define set_numeric_standard Perl_set_numeric_standard
-#define require_pv Perl_require_pv
-#define pack_cat Perl_pack_cat
-#define packlist Perl_packlist
-#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
-#ifdef PERL_CORE
-#define pidgone S_pidgone
-#endif
-#endif
-#ifdef PERL_CORE
-#define pmruntime Perl_pmruntime
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pmtrans S_pmtrans
-#endif
-#endif
-#define pop_scope Perl_pop_scope
-#ifdef PERL_CORE
-#define prepend_elem Perl_prepend_elem
-#endif
-#define push_scope Perl_push_scope
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define refkids S_refkids
-#endif
-#endif
-#define regdump Perl_regdump
-#define regdump Perl_regdump
-#define regclass_swash Perl_regclass_swash
-#define pregexec Perl_pregexec
-#define pregfree Perl_pregfree
-#define pregfree2 Perl_pregfree2
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_temp_copy Perl_reg_temp_copy
-#endif
-#define regfree_internal Perl_regfree_internal
-#if defined(USE_ITHREADS)
-#define regdupe_internal Perl_regdupe_internal
-#endif
-#define pregcomp Perl_pregcomp
-#define re_compile Perl_re_compile
-#define re_intuit_start Perl_re_intuit_start
-#define re_intuit_string Perl_re_intuit_string
-#define regexec_flags Perl_regexec_flags
-#define regnext Perl_regnext
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_named_buff Perl_reg_named_buff
-#define reg_named_buff_iter Perl_reg_named_buff_iter
-#endif
-#define reg_named_buff_fetch Perl_reg_named_buff_fetch
-#define reg_named_buff_exists Perl_reg_named_buff_exists
-#define reg_named_buff_firstkey Perl_reg_named_buff_firstkey
-#define reg_named_buff_nextkey Perl_reg_named_buff_nextkey
-#define reg_named_buff_scalar Perl_reg_named_buff_scalar
-#define reg_named_buff_all Perl_reg_named_buff_all
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_numbered_buff_fetch Perl_reg_numbered_buff_fetch
-#define reg_numbered_buff_store Perl_reg_numbered_buff_store
-#define reg_numbered_buff_length Perl_reg_numbered_buff_length
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_qr_package Perl_reg_qr_package
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regprop Perl_regprop
-#endif
-#define repeatcpy Perl_repeatcpy
-#define rninstr Perl_rninstr
-#define rsignal Perl_rsignal
-#ifdef PERL_CORE
-#define rsignal_restore Perl_rsignal_restore
-#define rsignal_save Perl_rsignal_save
-#endif
-#define rsignal_state Perl_rsignal_state
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define rxres_free S_rxres_free
-#define rxres_restore S_rxres_restore
-#endif
-#endif
-#ifdef PERL_CORE
-#define rxres_save Perl_rxres_save
-#endif
-#if !defined(HAS_RENAME)
-#ifdef PERL_CORE
-#define same_dirent Perl_same_dirent
-#endif
-#endif
-#define savepv Perl_savepv
-#define savepvn Perl_savepvn
-#define savesharedpv Perl_savesharedpv
-#define savesharedpvn Perl_savesharedpvn
-#define savesvpv Perl_savesvpv
-#define savestack_grow Perl_savestack_grow
-#define savestack_grow_cnt Perl_savestack_grow_cnt
-#define save_aelem_flags Perl_save_aelem_flags
-#define save_alloc Perl_save_alloc
-#define save_aptr Perl_save_aptr
-#define save_ary Perl_save_ary
-#define save_bool Perl_save_bool
-#define save_clearsv Perl_save_clearsv
-#define save_delete Perl_save_delete
-#define save_hdelete Perl_save_hdelete
-#define save_adelete Perl_save_adelete
-#define save_destructor Perl_save_destructor
-#define save_destructor_x Perl_save_destructor_x
-#define save_generic_svref Perl_save_generic_svref
-#define save_generic_pvref Perl_save_generic_pvref
-#define save_shared_pvref Perl_save_shared_pvref
-#define save_gp Perl_save_gp
-#define save_hash Perl_save_hash
-#ifdef PERL_CORE
-#define save_hints Perl_save_hints
-#endif
-#define save_helem_flags Perl_save_helem_flags
-#define save_hptr Perl_save_hptr
-#define save_I16 Perl_save_I16
-#define save_I32 Perl_save_I32
-#define save_I8 Perl_save_I8
-#define save_int Perl_save_int
-#define save_item Perl_save_item
-#define save_iv Perl_save_iv
-#define save_list Perl_save_list
-#define save_long Perl_save_long
-#define save_nogv Perl_save_nogv
-#define save_scalar Perl_save_scalar
-#define save_pptr Perl_save_pptr
-#define save_vptr Perl_save_vptr
-#define save_re_context Perl_save_re_context
-#define save_padsv_and_mortalize Perl_save_padsv_and_mortalize
-#define save_sptr Perl_save_sptr
-#define save_svref Perl_save_svref
-#define save_pushptr Perl_save_pushptr
-#ifdef PERL_CORE
-#define save_pushi32ptr Perl_save_pushi32ptr
-#define save_pushptrptr Perl_save_pushptrptr
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_pushptri32ptr S_save_pushptri32ptr
-#endif
-#endif
-#ifdef PERL_CORE
-#define sawparens Perl_sawparens
-#define scalar Perl_scalar
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define scalarkids S_scalarkids
-#define scalarseq S_scalarseq
-#endif
-#endif
-#ifdef PERL_CORE
-#define scalarvoid Perl_scalarvoid
-#endif
-#define scan_bin Perl_scan_bin
-#define scan_hex Perl_scan_hex
-#define scan_num Perl_scan_num
-#define scan_oct Perl_scan_oct
-#ifdef PERL_CORE
-#define scope Perl_scope
-#endif
-#define screaminstr Perl_screaminstr
-#define setdefout Perl_setdefout
-#define share_hek Perl_share_hek
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#else
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#endif
-#define stack_grow Perl_stack_grow
-#define start_subparse Perl_start_subparse
-#ifdef PERL_CORE
-#define sub_crush_depth Perl_sub_crush_depth
-#endif
-#define sv_2bool Perl_sv_2bool
-#define sv_2cv Perl_sv_2cv
-#define sv_2io Perl_sv_2io
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define glob_2number S_glob_2number
-#endif
-#endif
-#define sv_2iv_flags Perl_sv_2iv_flags
-#define sv_2mortal Perl_sv_2mortal
-#define sv_2nv Perl_sv_2nv
-#ifdef PERL_CORE
-#define sv_2num Perl_sv_2num
-#endif
-#define sv_2pv_flags Perl_sv_2pv_flags
-#define sv_2pvutf8 Perl_sv_2pvutf8
-#define sv_2pvbyte Perl_sv_2pvbyte
-#define sv_pvn_nomg Perl_sv_pvn_nomg
-#define sv_2uv_flags Perl_sv_2uv_flags
-#define sv_iv Perl_sv_iv
-#define sv_uv Perl_sv_uv
-#define sv_nv Perl_sv_nv
-#define sv_pvn Perl_sv_pvn
-#define sv_pvutf8n Perl_sv_pvutf8n
-#define sv_pvbyten Perl_sv_pvbyten
-#define sv_true Perl_sv_true
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_add_arena S_sv_add_arena
-#endif
-#endif
-#define sv_backoff Perl_sv_backoff
-#define sv_bless Perl_sv_bless
-#define sv_catpvf Perl_sv_catpvf
-#define sv_vcatpvf Perl_sv_vcatpvf
-#define sv_catpv Perl_sv_catpv
-#define sv_chop Perl_sv_chop
-#ifdef PERL_CORE
-#define sv_clean_all Perl_sv_clean_all
-#define sv_clean_objs Perl_sv_clean_objs
-#endif
-#define sv_clear Perl_sv_clear
-#define sv_cmp Perl_sv_cmp
-#define sv_cmp_locale Perl_sv_cmp_locale
-#if defined(USE_LOCALE_COLLATE)
-#define sv_collxfrm Perl_sv_collxfrm
-#endif
-#define sv_compile_2op Perl_sv_compile_2op
-#define getcwd_sv Perl_getcwd_sv
-#define sv_dec Perl_sv_dec
-#define sv_dump Perl_sv_dump
-#define sv_derived_from Perl_sv_derived_from
-#define sv_does Perl_sv_does
-#define sv_eq Perl_sv_eq
-#define sv_free Perl_sv_free
-#ifdef PERL_CORE
-#define sv_free_arenas Perl_sv_free_arenas
-#endif
-#define sv_gets Perl_sv_gets
-#define sv_grow Perl_sv_grow
-#define sv_inc Perl_sv_inc
-#define sv_insert_flags Perl_sv_insert_flags
-#define sv_isa Perl_sv_isa
-#define sv_isobject Perl_sv_isobject
-#define sv_len Perl_sv_len
-#define sv_len_utf8 Perl_sv_len_utf8
-#define sv_magic Perl_sv_magic
-#define sv_magicext Perl_sv_magicext
-#define sv_mortalcopy Perl_sv_mortalcopy
-#define sv_newmortal Perl_sv_newmortal
-#define sv_newref Perl_sv_newref
-#define sv_peek Perl_sv_peek
-#define sv_pos_u2b Perl_sv_pos_u2b
-#define sv_pos_u2b_flags Perl_sv_pos_u2b_flags
-#define sv_pos_b2u Perl_sv_pos_b2u
-#define sv_pvutf8n_force Perl_sv_pvutf8n_force
-#define sv_pvbyten_force Perl_sv_pvbyten_force
-#define sv_recode_to_utf8 Perl_sv_recode_to_utf8
-#define sv_cat_decode Perl_sv_cat_decode
-#define sv_reftype Perl_sv_reftype
-#define sv_replace Perl_sv_replace
-#define sv_report_used Perl_sv_report_used
-#define sv_reset Perl_sv_reset
-#define sv_setpvf Perl_sv_setpvf
-#define sv_vsetpvf Perl_sv_vsetpvf
-#define sv_setiv Perl_sv_setiv
-#define sv_setpviv Perl_sv_setpviv
-#define sv_setuv Perl_sv_setuv
-#define sv_setnv Perl_sv_setnv
-#define sv_setref_iv Perl_sv_setref_iv
-#define sv_setref_uv Perl_sv_setref_uv
-#define sv_setref_nv Perl_sv_setref_nv
-#define sv_setref_pv Perl_sv_setref_pv
-#define sv_setref_pvn Perl_sv_setref_pvn
-#define sv_setpv Perl_sv_setpv
-#define sv_setpvn Perl_sv_setpvn
-#define sv_tainted Perl_sv_tainted
-#define sv_unmagic Perl_sv_unmagic
-#define sv_unref_flags Perl_sv_unref_flags
-#define sv_untaint Perl_sv_untaint
-#define sv_upgrade Perl_sv_upgrade
-#define sv_usepvn_flags Perl_sv_usepvn_flags
-#define sv_vcatpvfn Perl_sv_vcatpvfn
-#define sv_vsetpvfn Perl_sv_vsetpvfn
-#define str_to_version Perl_str_to_version
-#define swash_init Perl_swash_init
-#define swash_fetch Perl_swash_fetch
-#define taint_env Perl_taint_env
-#define taint_proper Perl_taint_proper
-#define to_utf8_case Perl_to_utf8_case
-#define to_utf8_lower Perl_to_utf8_lower
-#define to_utf8_upper Perl_to_utf8_upper
-#define to_utf8_title Perl_to_utf8_title
-#define to_utf8_fold Perl_to_utf8_fold
-#if defined(UNLINK_ALL_VERSIONS)
-#define unlnk Perl_unlnk
-#endif
-#define unpack_str Perl_unpack_str
-#define unpackstring Perl_unpackstring
-#define unsharepvn Perl_unsharepvn
-#ifdef PERL_CORE
-#define unshare_hek Perl_unshare_hek
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define utilize Perl_utilize
-#endif
-#else
-#ifdef PERL_CORE
-#define utilize Perl_utilize
-#endif
-#endif
-#define utf16_to_utf8 Perl_utf16_to_utf8
-#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
-#define utf8_length Perl_utf8_length
-#define utf8_distance Perl_utf8_distance
-#define utf8_hop Perl_utf8_hop
-#define utf8_to_bytes Perl_utf8_to_bytes
-#define bytes_from_utf8 Perl_bytes_from_utf8
-#define bytes_to_utf8 Perl_bytes_to_utf8
-#define utf8_to_uvchr Perl_utf8_to_uvchr
-#define utf8_to_uvuni Perl_utf8_to_uvuni
-#ifdef EBCDIC
-#define utf8n_to_uvchr Perl_utf8n_to_uvchr
-#else
-#endif
-#define utf8n_to_uvuni Perl_utf8n_to_uvuni
-#ifdef EBCDIC
-#define uvchr_to_utf8 Perl_uvchr_to_utf8
-#else
-#endif
-#define uvchr_to_utf8_flags Perl_uvchr_to_utf8_flags
-#define uvuni_to_utf8_flags Perl_uvuni_to_utf8_flags
-#define pv_uni_display Perl_pv_uni_display
-#define sv_uni_display Perl_sv_uni_display
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define vivify_defelem Perl_vivify_defelem
-#endif
-#ifdef PERL_CORE
-#define vivify_ref Perl_vivify_ref
-#define wait4pid Perl_wait4pid
-#define parse_unicode_opts Perl_parse_unicode_opts
-#endif
-#define seed Perl_seed
-#ifdef PERL_CORE
-#define get_hash_seed Perl_get_hash_seed
-#define report_evil_fh Perl_report_evil_fh
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define report_uninit Perl_report_uninit
-#endif
-#define warn Perl_warn
-#define vwarn Perl_vwarn
-#define warner Perl_warner
-#define ck_warner Perl_ck_warner
-#define ck_warner_d Perl_ck_warner_d
-#define vwarner Perl_vwarner
-#ifdef PERL_CORE
-#define watch Perl_watch
-#endif
-#define whichsig Perl_whichsig
-#ifdef PERL_CORE
-#define write_to_stderr Perl_write_to_stderr
-#define yyerror Perl_yyerror
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define yylex Perl_yylex
-#endif
-#ifdef PERL_CORE
-#define yyparse Perl_yyparse
-#define parser_free Perl_parser_free
-#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define yywarn S_yywarn
-#endif
-#endif
-#if defined(MYMALLOC)
-#define dump_mstats Perl_dump_mstats
-#define get_mstats Perl_get_mstats
-#endif
-#define safesysmalloc Perl_safesysmalloc
-#define safesyscalloc Perl_safesyscalloc
-#define safesysrealloc Perl_safesysrealloc
-#define safesysfree Perl_safesysfree
-#if defined(PERL_GLOBAL_STRUCT)
-#define GetVars Perl_GetVars
-#define init_global_struct Perl_init_global_struct
-#define free_global_struct Perl_free_global_struct
-#endif
-#define runops_standard Perl_runops_standard
-#define runops_debug Perl_runops_debug
-#define sv_catpvf_mg Perl_sv_catpvf_mg
-#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg
-#define sv_catpv_mg Perl_sv_catpv_mg
-#define sv_setpvf_mg Perl_sv_setpvf_mg
-#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
-#define sv_setiv_mg Perl_sv_setiv_mg
-#define sv_setpviv_mg Perl_sv_setpviv_mg
-#define sv_setuv_mg Perl_sv_setuv_mg
-#define sv_setnv_mg Perl_sv_setnv_mg
-#define sv_setpv_mg Perl_sv_setpv_mg
-#define sv_setpvn_mg Perl_sv_setpvn_mg
-#define sv_setsv_mg Perl_sv_setsv_mg
-#define get_vtbl Perl_get_vtbl
-#define pv_display Perl_pv_display
-#define pv_escape Perl_pv_escape
-#define pv_pretty Perl_pv_pretty
-#define dump_indent Perl_dump_indent
-#define dump_vindent Perl_dump_vindent
-#define do_gv_dump Perl_do_gv_dump
-#define do_gvgv_dump Perl_do_gvgv_dump
-#define do_hv_dump Perl_do_hv_dump
-#define do_magic_dump Perl_do_magic_dump
-#define do_op_dump Perl_do_op_dump
-#define do_pmop_dump Perl_do_pmop_dump
-#define do_sv_dump Perl_do_sv_dump
-#define magic_dump Perl_magic_dump
-#define reginitcolors Perl_reginitcolors
-#define sv_utf8_downgrade Perl_sv_utf8_downgrade
-#define sv_utf8_encode Perl_sv_utf8_encode
-#define sv_utf8_decode Perl_sv_utf8_decode
-#define sv_force_normal_flags Perl_sv_force_normal_flags
-#define tmps_grow Perl_tmps_grow
-#define sv_rvweaken Perl_sv_rvweaken
-#ifdef PERL_CORE
-#define magic_killbackrefs Perl_magic_killbackrefs
-#endif
-#define newANONATTRSUB Perl_newANONATTRSUB
-#define newATTRSUB Perl_newATTRSUB
-#ifdef PERL_MAD
-#define newMYSUB Perl_newMYSUB
-#else
-#define newMYSUB Perl_newMYSUB
-#endif
-#ifdef PERL_CORE
-#define my_attrs Perl_my_attrs
-#endif
-#if defined(USE_ITHREADS)
-#define cx_dup Perl_cx_dup
-#define si_dup Perl_si_dup
-#define ss_dup Perl_ss_dup
-#define any_dup Perl_any_dup
-#define he_dup Perl_he_dup
-#define hek_dup Perl_hek_dup
-#define re_dup_guts Perl_re_dup_guts
-#define fp_dup Perl_fp_dup
-#define dirp_dup Perl_dirp_dup
-#define gp_dup Perl_gp_dup
-#define mg_dup Perl_mg_dup
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_dup_inc_multiple S_sv_dup_inc_multiple
-#endif
-#endif
-#define sv_dup Perl_sv_dup
-#define rvpv_dup Perl_rvpv_dup
-#define parser_dup Perl_parser_dup
-#endif
-#define ptr_table_new Perl_ptr_table_new
-#define ptr_table_fetch Perl_ptr_table_fetch
-#define ptr_table_store Perl_ptr_table_store
-#define ptr_table_split Perl_ptr_table_split
-#define ptr_table_clear Perl_ptr_table_clear
-#define ptr_table_free Perl_ptr_table_free
-#if defined(USE_ITHREADS)
-# if defined(HAVE_INTERP_INTERN)
-#define sys_intern_dup Perl_sys_intern_dup
-# endif
-#endif
-#if defined(HAVE_INTERP_INTERN)
-#define sys_intern_clear Perl_sys_intern_clear
-#define sys_intern_init Perl_sys_intern_init
-#endif
-#define custom_op_name Perl_custom_op_name
-#define custom_op_desc Perl_custom_op_desc
-#define sv_nosharing Perl_sv_nosharing
-#define sv_destroyable Perl_sv_destroyable
-#ifdef NO_MATHOMS
-#else
-#define sv_nounlocking Perl_sv_nounlocking
-#endif
-#define nothreadhook Perl_nothreadhook
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_trans_simple S_do_trans_simple
-#define do_trans_count S_do_trans_count
-#define do_trans_complex S_do_trans_complex
-#define do_trans_simple_utf8 S_do_trans_simple_utf8
-#define do_trans_count_utf8 S_do_trans_count_utf8
-#define do_trans_complex_utf8 S_do_trans_complex_utf8
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define gv_init_sv S_gv_init_sv
-#define gv_get_super_pkg S_gv_get_super_pkg
-#define require_tie_mod S_require_tie_mod
-#endif
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define hsplit S_hsplit
-#define hfreeentries S_hfreeentries
-#define anonymise_cv S_anonymise_cv
-#define new_he S_new_he
-#define save_hek_flags S_save_hek_flags
-#define hv_magic_check S_hv_magic_check
-#define unshare_hek_or_pvn S_unshare_hek_or_pvn
-#define share_hek_flags S_share_hek_flags
-#define hv_notallowed S_hv_notallowed
-#define hv_auxinit S_hv_auxinit
-#define hv_delete_common S_hv_delete_common
-#define clear_placeholders S_clear_placeholders
-#define refcounted_he_value S_refcounted_he_value
-#endif
-#endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_magic S_save_magic
-#define magic_methpack S_magic_methpack
-#define magic_methcall S_magic_methcall
-#define restore_magic S_restore_magic
-#define unwind_handler_stack S_unwind_handler_stack
-#endif
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ck_anoncode Perl_ck_anoncode
-#define ck_bitop Perl_ck_bitop
-#define ck_concat Perl_ck_concat
-#define ck_defined Perl_ck_defined
-#define ck_delete Perl_ck_delete
-#define ck_die Perl_ck_die
-#define ck_eof Perl_ck_eof
-#define ck_eval Perl_ck_eval
-#define ck_exec Perl_ck_exec
-#define ck_exists Perl_ck_exists
-#define ck_exit Perl_ck_exit
-#define ck_ftst Perl_ck_ftst
-#define ck_fun Perl_ck_fun
-#define ck_glob Perl_ck_glob
-#define ck_grep Perl_ck_grep
-#define ck_index Perl_ck_index
-#define ck_join Perl_ck_join
-#define ck_lfun Perl_ck_lfun
-#define ck_listiob Perl_ck_listiob
-#define ck_match Perl_ck_match
-#define ck_method Perl_ck_method
-#define ck_null Perl_ck_null
-#define ck_open Perl_ck_open
-#define ck_readline Perl_ck_readline
-#define ck_repeat Perl_ck_repeat
-#define ck_require Perl_ck_require
-#define ck_return Perl_ck_return
-#define ck_rfun Perl_ck_rfun
-#define ck_rvconst Perl_ck_rvconst
-#define ck_sassign Perl_ck_sassign
-#define ck_select Perl_ck_select
-#define ck_shift Perl_ck_shift
-#define ck_sort Perl_ck_sort
-#define ck_spair Perl_ck_spair
-#define ck_split Perl_ck_split
-#define ck_subr Perl_ck_subr
-#define ck_substr Perl_ck_substr
-#define ck_svconst Perl_ck_svconst
-#define ck_trunc Perl_ck_trunc
-#define ck_unpack Perl_ck_unpack
-#define ck_each Perl_ck_each
-#define is_handle_constructor S_is_handle_constructor
-#define is_list_assignment S_is_list_assignment
-#endif
-# ifdef USE_ITHREADS
-# else
-# endif
-#ifdef PERL_CORE
-#define find_and_forget_pmops S_find_and_forget_pmops
-#define cop_free S_cop_free
-#define modkids S_modkids
-#define scalarboolean S_scalarboolean
-#define newDEFSVOP S_newDEFSVOP
-#define search_const S_search_const
-#define new_logop S_new_logop
-#define simplify_sort S_simplify_sort
-#define gv_ename S_gv_ename
-#define scalar_mod_type S_scalar_mod_type
-#define my_kid S_my_kid
-#define dup_attrlist S_dup_attrlist
-#define apply_attrs S_apply_attrs
-#define apply_attrs_my S_apply_attrs_my
-#define bad_type S_bad_type
-#define no_bareword_allowed S_no_bareword_allowed
-#define no_fh_allowed S_no_fh_allowed
-#define too_few_arguments S_too_few_arguments
-#define too_many_arguments S_too_many_arguments
-#define looks_like_bool S_looks_like_bool
-#define newGIVWHENOP S_newGIVWHENOP
-#define ref_array_or_hash S_ref_array_or_hash
-#define process_special_blocks S_process_special_blocks
-#endif
-#endif
-#if defined(PL_OP_SLAB_ALLOC)
-#define Slab_Alloc Perl_Slab_Alloc
-#define Slab_Free Perl_Slab_Free
-# if defined(PERL_DEBUG_READONLY_OPS)
-# if defined(PERL_IN_OP_C)
-#ifdef PERL_CORE
-#define Slab_to_rw S_Slab_to_rw
-#endif
-# endif
-# endif
-#endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_beginning S_find_beginning
-#define forbid_setid S_forbid_setid
-#define incpush S_incpush
-#define incpush_use_sep S_incpush_use_sep
-#define init_interp S_init_interp
-#define init_ids S_init_ids
-#define init_main_stash S_init_main_stash
-#define init_perllib S_init_perllib
-#define init_postdump_symbols S_init_postdump_symbols
-#define init_predump_symbols S_init_predump_symbols
-#define my_exit_jump S_my_exit_jump
-#define nuke_stacks S_nuke_stacks
-#define open_script S_open_script
-#define usage S_usage
-#endif
-#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-#endif
-#ifdef PERL_CORE
-#define parse_body S_parse_body
-#define run_body S_run_body
-#define incpush_if_exists S_incpush_if_exists
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_delete_local S_do_delete_local
-#define refto S_refto
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define unpack_rec S_unpack_rec
-#define pack_rec S_pack_rec
-#define mul128 S_mul128
-#define measure_struct S_measure_struct
-#define next_symbol S_next_symbol
-#define is_an_int S_is_an_int
-#define div128 S_div128
-#define group_end S_group_end
-#define get_num S_get_num
-#define need_utf8 S_need_utf8
-#define first_symbol S_first_symbol
-#define sv_exp_grow S_sv_exp_grow
-#define bytes_to_uni S_bytes_to_uni
-#endif
-#endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define docatch S_docatch
-#define dofindlabel S_dofindlabel
-#define doparseform S_doparseform
-#define num_overflow S_num_overflow
-#define dopoptoeval S_dopoptoeval
-#define dopoptogiven S_dopoptogiven
-#define dopoptolabel S_dopoptolabel
-#define dopoptoloop S_dopoptoloop
-#define dopoptosub_at S_dopoptosub_at
-#define dopoptowhen S_dopoptowhen
-#define save_lines S_save_lines
-#define doeval S_doeval
-#define check_type_and_open S_check_type_and_open
-#endif
-#ifndef PERL_DISABLE_PMC
-#ifdef PERL_CORE
-#define doopen_pm S_doopen_pm
-#endif
-#endif
-#ifdef PERL_CORE
-#define path_is_absolute S_path_is_absolute
-#define run_user_filter S_run_user_filter
-#define make_matcher S_make_matcher
-#define matcher_matches_sv S_matcher_matches_sv
-#define destroy_matcher S_destroy_matcher
-#define do_smartmatch S_do_smartmatch
-#endif
-#endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_oddball S_do_oddball
-#define method_common S_method_common
-#endif
-#endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_ncmp S_sv_ncmp
-#define sv_i_ncmp S_sv_i_ncmp
-#define amagic_ncmp S_amagic_ncmp
-#define amagic_i_ncmp S_amagic_i_ncmp
-#define amagic_cmp S_amagic_cmp
-#define amagic_cmp_locale S_amagic_cmp_locale
-#define sortcv S_sortcv
-#define sortcv_xsub S_sortcv_xsub
-#define sortcv_stacked S_sortcv_stacked
-#define qsortsvu S_qsortsvu
-#endif
-#endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define doform S_doform
-#endif
-# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-#ifdef PERL_CORE
-#define dooneliner S_dooneliner
-#endif
-# endif
-#ifdef PERL_CORE
-#define space_join_names_mortal S_space_join_names_mortal
-#endif
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg S_reg
-#define reganode S_reganode
-#define regatom S_regatom
-#define regbranch S_regbranch
-#define reguni S_reguni
-#define regclass S_regclass
-#define reg_node S_reg_node
-#define reg_recode S_reg_recode
-#define regpiece S_regpiece
-#define reg_namedseq S_reg_namedseq
-#define reginsert S_reginsert
-#define regtail S_regtail
-#define reg_scan_name S_reg_scan_name
-#define join_exact S_join_exact
-#define regwhite S_regwhite
-#define nextchar S_nextchar
-#define reg_skipcomment S_reg_skipcomment
-#define scan_commit S_scan_commit
-#define cl_anything S_cl_anything
-#define cl_is_anything S_cl_is_anything
-#define cl_init S_cl_init
-#define cl_init_zero S_cl_init_zero
-#define cl_and S_cl_and
-#define cl_or S_cl_or
-#define study_chunk S_study_chunk
-#define add_data S_add_data
-#endif
-#ifdef PERL_CORE
-#define re_croak2 S_re_croak2
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regpposixcc S_regpposixcc
-#define checkposixcc S_checkposixcc
-#define make_trie S_make_trie
-#define make_trie_failtable S_make_trie_failtable
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regdump_extflags S_regdump_extflags
-#define dumpuntil S_dumpuntil
-#define put_byte S_put_byte
-#define dump_trie S_dump_trie
-#define dump_trie_interim_list S_dump_trie_interim_list
-#define dump_trie_interim_table S_dump_trie_interim_table
-#define regtail_study S_regtail_study
-#endif
-# endif
-#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regmatch S_regmatch
-#define regrepeat S_regrepeat
-#define regtry S_regtry
-#define reginclass S_reginclass
-#define regcppush S_regcppush
-#define regcppop S_regcppop
-#define reghop3 S_reghop3
-#endif
-#ifdef XXX_dmq
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghop4 S_reghop4
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghopmaybe3 S_reghopmaybe3
-#define find_byclass S_find_byclass
-#define to_utf8_substr S_to_utf8_substr
-#define to_byte_substr S_to_byte_substr
-#define reg_check_named_buff_matched S_reg_check_named_buff_matched
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define dump_exec_pos S_dump_exec_pos
-#define debug_start_match S_debug_start_match
-#endif
-# endif
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define deb_curcv S_deb_curcv
-#define debprof S_debprof
-#define sequence S_sequence
-#define sequence_tail S_sequence_tail
-#define sequence_num S_sequence_num
-#define pm_description S_pm_description
-#endif
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_scalar_at S_save_scalar_at
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define uiv_2buf S_uiv_2buf
-#define sv_unglob S_sv_unglob
-#define not_a_number S_not_a_number
-#define visit S_visit
-#define sv_del_backref S_sv_del_backref
-#define varname S_varname
-#endif
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define del_sv S_del_sv
-#endif
-# endif
-# if !defined(NV_PRESERVES_UV)
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve
-#endif
-# else
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve
-#endif
-# endif
-# endif
-#ifdef PERL_CORE
-#define expect_number S_expect_number
-#endif
-#ifdef PERL_CORE
-#define sv_pos_u2b_forwards S_sv_pos_u2b_forwards
-#define sv_pos_u2b_midway S_sv_pos_u2b_midway
-#define sv_pos_u2b_cached S_sv_pos_u2b_cached
-#define utf8_mg_pos_cache_update S_utf8_mg_pos_cache_update
-#define sv_pos_b2u_midway S_sv_pos_b2u_midway
-#define F0convert S_F0convert
-#endif
-# if defined(PERL_OLD_COPY_ON_WRITE)
-#ifdef PERL_CORE
-#define sv_release_COW S_sv_release_COW
-#endif
-# endif
-#ifdef PERL_CORE
-#define more_sv S_more_sv
-#define more_bodies S_more_bodies
-#define sv_2iuv_common S_sv_2iuv_common
-#define glob_assign_glob S_glob_assign_glob
-#define glob_assign_ref S_glob_assign_ref
-#define ptr_table_find S_ptr_table_find
-#endif
-#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define check_uni S_check_uni
-#define force_next S_force_next
-#define force_version S_force_version
-#define force_strict_version S_force_strict_version
-#define force_word S_force_word
-#define tokeq S_tokeq
-#define readpipe_override S_readpipe_override
-#define scan_const S_scan_const
-#define scan_formline S_scan_formline
-#define scan_heredoc S_scan_heredoc
-#define scan_ident S_scan_ident
-#define scan_inputsymbol S_scan_inputsymbol
-#define scan_pat S_scan_pat
-#define scan_str S_scan_str
-#define scan_subst S_scan_subst
-#define scan_trans S_scan_trans
-#define scan_word S_scan_word
-#define update_debugger_info S_update_debugger_info
-#define skipspace S_skipspace
-#define swallow_bom S_swallow_bom
-#endif
-#ifndef PERL_NO_UTF16_FILTER
-#ifdef PERL_CORE
-#define utf16_textfilter S_utf16_textfilter
-#define add_utf16_textfilter S_add_utf16_textfilter
-#endif
-#endif
-#ifdef PERL_CORE
-#define checkcomma S_checkcomma
-#define feature_is_enabled S_feature_is_enabled
-#define force_ident S_force_ident
-#define incline S_incline
-#define intuit_method S_intuit_method
-#define intuit_more S_intuit_more
-#define lop S_lop
-#define missingterm S_missingterm
-#define no_op S_no_op
-#define sublex_done S_sublex_done
-#define sublex_push S_sublex_push
-#define sublex_start S_sublex_start
-#define filter_gets S_filter_gets
-#define find_in_my_stash S_find_in_my_stash
-#define tokenize_use S_tokenize_use
-#endif
-#ifdef PERL_CORE
-#define deprecate_commaless_var_list S_deprecate_commaless_var_list
-#define ao S_ao
-#endif
-# if defined(PERL_CR_FILTER)
-#ifdef PERL_CORE
-#define cr_textfilter S_cr_textfilter
-#define strip_return S_strip_return
-#endif
-# endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport S_tokereport
-#define printbuf S_printbuf
-#endif
-# endif
-#endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define isa_lookup S_isa_lookup
-#endif
-#endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
-#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define stdize_locale S_stdize_locale
-#endif
-#endif
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define closest_cop S_closest_cop
-#define mess_alloc S_mess_alloc
-#define vdie_croak_common S_vdie_croak_common
-#define vdie_common S_vdie_common
-#define write_no_mem S_write_no_mem
-#endif
-#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
-#ifdef PERL_CORE
-#define mem_log_common S_mem_log_common
-#endif
-#endif
-#endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mulexp10 S_mulexp10
-#endif
-#endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define is_utf8_char_slow S_is_utf8_char_slow
-#define is_utf8_common S_is_utf8_common
-#define swash_get S_swash_get
-#endif
-#endif
-#define sv_setsv_flags Perl_sv_setsv_flags
-#define sv_catpvn_flags Perl_sv_catpvn_flags
-#define sv_catsv_flags Perl_sv_catsv_flags
-#define sv_utf8_upgrade_flags_grow Perl_sv_utf8_upgrade_flags_grow
-#define sv_pvn_force_flags Perl_sv_pvn_force_flags
-#define sv_copypv Perl_sv_copypv
-#define my_atof2 Perl_my_atof2
-#define my_socketpair Perl_my_socketpair
-#define my_dirfd Perl_my_dirfd
-#ifdef PERL_OLD_COPY_ON_WRITE
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define sv_setsv_cow Perl_sv_setsv_cow
-#endif
-#endif
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
-#define PerlIO_close Perl_PerlIO_close
-#define PerlIO_fill Perl_PerlIO_fill
-#define PerlIO_fileno Perl_PerlIO_fileno
-#define PerlIO_eof Perl_PerlIO_eof
-#define PerlIO_error Perl_PerlIO_error
-#define PerlIO_flush Perl_PerlIO_flush
-#define PerlIO_clearerr Perl_PerlIO_clearerr
-#define PerlIO_set_cnt Perl_PerlIO_set_cnt
-#define PerlIO_set_ptrcnt Perl_PerlIO_set_ptrcnt
-#define PerlIO_setlinebuf Perl_PerlIO_setlinebuf
-#define PerlIO_read Perl_PerlIO_read
-#define PerlIO_write Perl_PerlIO_write
-#define PerlIO_unread Perl_PerlIO_unread
-#define PerlIO_tell Perl_PerlIO_tell
-#define PerlIO_seek Perl_PerlIO_seek
-#define PerlIO_get_base Perl_PerlIO_get_base
-#define PerlIO_get_ptr Perl_PerlIO_get_ptr
-#define PerlIO_get_bufsiz Perl_PerlIO_get_bufsiz
-#define PerlIO_get_cnt Perl_PerlIO_get_cnt
-#define PerlIO_stdin Perl_PerlIO_stdin
-#define PerlIO_stdout Perl_PerlIO_stdout
-#define PerlIO_stderr Perl_PerlIO_stderr
-#endif /* PERLIO_LAYERS */
-#ifdef PERL_CORE
-#define deb_stack_all Perl_deb_stack_all
-#endif
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define deb_stack_n S_deb_stack_n
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_new Perl_pad_new
-#define pad_undef Perl_pad_undef
-#define pad_add_name Perl_pad_add_name
-#define pad_add_anon Perl_pad_add_anon
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_check_dup S_pad_check_dup
-#endif
-#endif
-#ifdef DEBUGGING
-#ifdef PERL_CORE
-#define pad_setsv Perl_pad_setsv
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_block_start Perl_pad_block_start
-#define pad_tidy Perl_pad_tidy
-#define do_dump_pad Perl_do_dump_pad
-#define pad_fixup_inner_anons Perl_pad_fixup_inner_anons
-#endif
-#ifdef PERL_CORE
-#define pad_push Perl_pad_push
-#define pad_compname_type Perl_pad_compname_type
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_findlex S_pad_findlex
-#define pad_add_name_sv S_pad_add_name_sv
-#endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define cv_dump S_cv_dump
-#endif
-# endif
-#endif
-#define find_runcv Perl_find_runcv
-#ifdef PERL_CORE
-#define free_tied_hv_pool Perl_free_tied_hv_pool
-#endif
-#if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define get_debug_opts Perl_get_debug_opts
-#endif
-#endif
-#define save_set_svflags Perl_save_set_svflags
-#ifdef DEBUGGING
-#endif
-#define hv_scalar Perl_hv_scalar
-#define hv_name_set Perl_hv_name_set
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#endif
-#define hv_clear_placeholders Perl_hv_clear_placeholders
-#ifdef PERL_CORE
-#define magic_scalarpack Perl_magic_scalarpack
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_hash_subscript S_find_hash_subscript
-#define find_array_subscript S_find_array_subscript
-#define find_uninit_var S_find_uninit_var
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE16
-#ifdef PERL_CORE
-#define my_htole16 Perl_my_htole16
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH16
-#ifdef PERL_CORE
-#define my_letoh16 Perl_my_letoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE16
-#ifdef PERL_CORE
-#define my_htobe16 Perl_my_htobe16
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH16
-#ifdef PERL_CORE
-#define my_betoh16 Perl_my_betoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE32
-#ifdef PERL_CORE
-#define my_htole32 Perl_my_htole32
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH32
-#ifdef PERL_CORE
-#define my_letoh32 Perl_my_letoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE32
-#ifdef PERL_CORE
-#define my_htobe32 Perl_my_htobe32
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH32
-#ifdef PERL_CORE
-#define my_betoh32 Perl_my_betoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE64
-#ifdef PERL_CORE
-#define my_htole64 Perl_my_htole64
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH64
-#ifdef PERL_CORE
-#define my_letoh64 Perl_my_letoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE64
-#ifdef PERL_CORE
-#define my_htobe64 Perl_my_htobe64
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH64
-#ifdef PERL_CORE
-#define my_betoh64 Perl_my_betoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLES
-#ifdef PERL_CORE
-#define my_htoles Perl_my_htoles
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHS
-#ifdef PERL_CORE
-#define my_letohs Perl_my_letohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBES
-#ifdef PERL_CORE
-#define my_htobes Perl_my_htobes
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHS
-#ifdef PERL_CORE
-#define my_betohs Perl_my_betohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEI
-#ifdef PERL_CORE
-#define my_htolei Perl_my_htolei
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHI
-#ifdef PERL_CORE
-#define my_letohi Perl_my_letohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEI
-#ifdef PERL_CORE
-#define my_htobei Perl_my_htobei
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHI
-#ifdef PERL_CORE
-#define my_betohi Perl_my_betohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEL
-#ifdef PERL_CORE
-#define my_htolel Perl_my_htolel
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHL
-#ifdef PERL_CORE
-#define my_letohl Perl_my_letohl
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEL
-#ifdef PERL_CORE
-#define my_htobel Perl_my_htobel
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHL
-#ifdef PERL_CORE
-#define my_betohl Perl_my_betohl
-#endif
-#endif
-#ifdef PERL_CORE
-#define my_swabn Perl_my_swabn
-#endif
-#define gv_fetchpvn_flags Perl_gv_fetchpvn_flags
-#define gv_fetchsv Perl_gv_fetchsv
-#ifdef PERL_CORE
-#define is_gv_magical_sv Perl_is_gv_magical_sv
-#endif
-#define stashpv_hvname_match Perl_stashpv_hvname_match
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-#ifdef PERL_CORE
-#define dump_sv_child Perl_dump_sv_child
-#endif
-#endif
-#ifdef PERL_DONT_CREATE_GVSV
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ckwarn_common S_ckwarn_common
-#endif
-#endif
-#ifdef PERL_CORE
-#define offer_nice_chunk Perl_offer_nice_chunk
-#endif
-#ifndef SPRINTF_RETURNS_STRLEN
-#endif
-#ifdef PERL_CORE
-#define my_clearenv Perl_my_clearenv
-#endif
-#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-#else
-#endif
-#endif
-#ifndef HAS_STRLCAT
-#endif
-#ifndef HAS_STRLCPY
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define pad_peg Perl_pad_peg
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define xmldump_attr S_xmldump_attr
-#endif
-#endif
-#ifdef PERL_CORE
-#define xmldump_indent Perl_xmldump_indent
-#define xmldump_vindent Perl_xmldump_vindent
-#define xmldump_all Perl_xmldump_all
-#define xmldump_all_perl Perl_xmldump_all_perl
-#define xmldump_packsubs Perl_xmldump_packsubs
-#define xmldump_packsubs_perl Perl_xmldump_packsubs_perl
-#define xmldump_sub Perl_xmldump_sub
-#define xmldump_sub_perl Perl_xmldump_sub_perl
-#define xmldump_form Perl_xmldump_form
-#define xmldump_eval Perl_xmldump_eval
-#define sv_catxmlsv Perl_sv_catxmlsv
-#define sv_catxmlpvn Perl_sv_catxmlpvn
-#define sv_xmlpeek Perl_sv_xmlpeek
-#define do_pmop_xmldump Perl_do_pmop_xmldump
-#define pmop_xmldump Perl_pmop_xmldump
-#define do_op_xmldump Perl_do_op_xmldump
-#define op_xmldump Perl_op_xmldump
-#endif
-#ifdef PERL_CORE
-#define newTOKEN Perl_newTOKEN
-#define token_free Perl_token_free
-#define token_getmad Perl_token_getmad
-#define op_getmad_weak Perl_op_getmad_weak
-#define op_getmad Perl_op_getmad
-#define prepend_madprops Perl_prepend_madprops
-#define append_madprops Perl_append_madprops
-#define addmad Perl_addmad
-#define newMADsv Perl_newMADsv
-#define newMADPROP Perl_newMADPROP
-#define mad_free Perl_mad_free
-#endif
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define skipspace0 S_skipspace0
-#define skipspace1 S_skipspace1
-#define skipspace2 S_skipspace2
-#define start_force S_start_force
-#define curmad S_curmad
-#endif
-# endif
-#ifdef PERL_CORE
-#define madlex Perl_madlex
-#define madparse Perl_madparse
-#endif
-#endif
-#if !defined(HAS_SIGNBIT)
-#endif
-#if defined(USE_ITHREADS)
-#ifdef PERL_CORE
-#define mro_meta_dup Perl_mro_meta_dup
-#endif
-#endif
-#define mro_get_linear_isa Perl_mro_get_linear_isa
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mro_get_linear_isa_dfs S_mro_get_linear_isa_dfs
-#endif
-#endif
-#ifdef PERL_CORE
-#define mro_isa_changed_in Perl_mro_isa_changed_in
-#endif
-#define mro_method_changed_in Perl_mro_method_changed_in
-#ifdef PERL_CORE
-#define boot_core_mro Perl_boot_core_mro
-#endif
-#define ck_anoncode Perl_ck_anoncode
-#define ck_bitop Perl_ck_bitop
-#define ck_chdir Perl_ck_chdir
-#define ck_concat Perl_ck_concat
-#define ck_defined Perl_ck_defined
-#define ck_delete Perl_ck_delete
-#define ck_die Perl_ck_die
-#define ck_each Perl_ck_each
-#define ck_eof Perl_ck_eof
-#define ck_eval Perl_ck_eval
-#define ck_exec Perl_ck_exec
-#define ck_exists Perl_ck_exists
-#define ck_exit Perl_ck_exit
-#define ck_ftst Perl_ck_ftst
-#define ck_fun Perl_ck_fun
-#define ck_glob Perl_ck_glob
-#define ck_grep Perl_ck_grep
-#define ck_index Perl_ck_index
-#define ck_join Perl_ck_join
-#define ck_lfun Perl_ck_lfun
-#define ck_listiob Perl_ck_listiob
-#define ck_match Perl_ck_match
-#define ck_method Perl_ck_method
-#define ck_null Perl_ck_null
-#define ck_open Perl_ck_open
-#define ck_readline Perl_ck_readline
-#define ck_repeat Perl_ck_repeat
-#define ck_require Perl_ck_require
-#define ck_return Perl_ck_return
-#define ck_rfun Perl_ck_rfun
-#define ck_rvconst Perl_ck_rvconst
-#define ck_sassign Perl_ck_sassign
-#define ck_select Perl_ck_select
-#define ck_shift Perl_ck_shift
-#define ck_smartmatch Perl_ck_smartmatch
-#define ck_sort Perl_ck_sort
-#define ck_spair Perl_ck_spair
-#define ck_split Perl_ck_split
-#define ck_subr Perl_ck_subr
-#define ck_substr Perl_ck_substr
-#define ck_svconst Perl_ck_svconst
-#define ck_trunc Perl_ck_trunc
-#define ck_unpack Perl_ck_unpack
-#define pp_aassign Perl_pp_aassign
-#define pp_abs Perl_pp_abs
-#define pp_accept Perl_pp_accept
-#define pp_add Perl_pp_add
-#define pp_aeach Perl_pp_aeach
-#define pp_aelem Perl_pp_aelem
-#define pp_aelemfast Perl_pp_aelemfast
-#define pp_akeys Perl_pp_akeys
-#define pp_alarm Perl_pp_alarm
-#define pp_and Perl_pp_and
-#define pp_andassign Perl_pp_andassign
-#define pp_anoncode Perl_pp_anoncode
-#define pp_anonhash Perl_pp_anonhash
-#define pp_anonlist Perl_pp_anonlist
-#define pp_aslice Perl_pp_aslice
-#define pp_atan2 Perl_pp_atan2
-#define pp_av2arylen Perl_pp_av2arylen
-#define pp_avalues Perl_pp_avalues
-#define pp_backtick Perl_pp_backtick
-#define pp_bind Perl_pp_bind
-#define pp_binmode Perl_pp_binmode
-#define pp_bit_and Perl_pp_bit_and
-#define pp_bit_or Perl_pp_bit_or
-#define pp_bit_xor Perl_pp_bit_xor
-#define pp_bless Perl_pp_bless
-#define pp_boolkeys Perl_pp_boolkeys
-#define pp_break Perl_pp_break
-#define pp_caller Perl_pp_caller
-#define pp_chdir Perl_pp_chdir
-#define pp_chmod Perl_pp_chmod
-#define pp_chomp Perl_pp_chomp
-#define pp_chop Perl_pp_chop
-#define pp_chown Perl_pp_chown
-#define pp_chr Perl_pp_chr
-#define pp_chroot Perl_pp_chroot
-#define pp_close Perl_pp_close
-#define pp_closedir Perl_pp_closedir
-#define pp_complement Perl_pp_complement
-#define pp_concat Perl_pp_concat
-#define pp_cond_expr Perl_pp_cond_expr
-#define pp_connect Perl_pp_connect
-#define pp_const Perl_pp_const
-#define pp_continue Perl_pp_continue
-#define pp_cos Perl_pp_cos
-#define pp_crypt Perl_pp_crypt
-#define pp_dbmclose Perl_pp_dbmclose
-#define pp_dbmopen Perl_pp_dbmopen
-#define pp_dbstate Perl_pp_dbstate
-#define pp_defined Perl_pp_defined
-#define pp_delete Perl_pp_delete
-#define pp_die Perl_pp_die
-#define pp_divide Perl_pp_divide
-#define pp_dofile Perl_pp_dofile
-#define pp_dor Perl_pp_dor
-#define pp_dorassign Perl_pp_dorassign
-#define pp_dump Perl_pp_dump
-#define pp_each Perl_pp_each
-#define pp_egrent Perl_pp_egrent
-#define pp_ehostent Perl_pp_ehostent
-#define pp_enetent Perl_pp_enetent
-#define pp_enter Perl_pp_enter
-#define pp_entereval Perl_pp_entereval
-#define pp_entergiven Perl_pp_entergiven
-#define pp_enteriter Perl_pp_enteriter
-#define pp_enterloop Perl_pp_enterloop
-#define pp_entersub Perl_pp_entersub
-#define pp_entertry Perl_pp_entertry
-#define pp_enterwhen Perl_pp_enterwhen
-#define pp_enterwrite Perl_pp_enterwrite
-#define pp_eof Perl_pp_eof
-#define pp_eprotoent Perl_pp_eprotoent
-#define pp_epwent Perl_pp_epwent
-#define pp_eq Perl_pp_eq
-#define pp_eservent Perl_pp_eservent
-#define pp_exec Perl_pp_exec
-#define pp_exists Perl_pp_exists
-#define pp_exit Perl_pp_exit
-#define pp_exp Perl_pp_exp
-#define pp_fcntl Perl_pp_fcntl
-#define pp_fileno Perl_pp_fileno
-#define pp_flip Perl_pp_flip
-#define pp_flock Perl_pp_flock
-#define pp_flop Perl_pp_flop
-#define pp_fork Perl_pp_fork
-#define pp_formline Perl_pp_formline
-#define pp_ftatime Perl_pp_ftatime
-#define pp_ftbinary Perl_pp_ftbinary
-#define pp_ftblk Perl_pp_ftblk
-#define pp_ftchr Perl_pp_ftchr
-#define pp_ftctime Perl_pp_ftctime
-#define pp_ftdir Perl_pp_ftdir
-#define pp_fteexec Perl_pp_fteexec
-#define pp_fteowned Perl_pp_fteowned
-#define pp_fteread Perl_pp_fteread
-#define pp_ftewrite Perl_pp_ftewrite
-#define pp_ftfile Perl_pp_ftfile
-#define pp_ftis Perl_pp_ftis
-#define pp_ftlink Perl_pp_ftlink
-#define pp_ftmtime Perl_pp_ftmtime
-#define pp_ftpipe Perl_pp_ftpipe
-#define pp_ftrexec Perl_pp_ftrexec
-#define pp_ftrowned Perl_pp_ftrowned
-#define pp_ftrread Perl_pp_ftrread
-#define pp_ftrwrite Perl_pp_ftrwrite
-#define pp_ftsgid Perl_pp_ftsgid
-#define pp_ftsize Perl_pp_ftsize
-#define pp_ftsock Perl_pp_ftsock
-#define pp_ftsuid Perl_pp_ftsuid
-#define pp_ftsvtx Perl_pp_ftsvtx
-#define pp_fttext Perl_pp_fttext
-#define pp_fttty Perl_pp_fttty
-#define pp_ftzero Perl_pp_ftzero
-#define pp_ge Perl_pp_ge
-#define pp_gelem Perl_pp_gelem
-#define pp_getc Perl_pp_getc
-#define pp_getlogin Perl_pp_getlogin
-#define pp_getpeername Perl_pp_getpeername
-#define pp_getpgrp Perl_pp_getpgrp
-#define pp_getppid Perl_pp_getppid
-#define pp_getpriority Perl_pp_getpriority
-#define pp_getsockname Perl_pp_getsockname
-#define pp_ggrent Perl_pp_ggrent
-#define pp_ggrgid Perl_pp_ggrgid
-#define pp_ggrnam Perl_pp_ggrnam
-#define pp_ghbyaddr Perl_pp_ghbyaddr
-#define pp_ghbyname Perl_pp_ghbyname
-#define pp_ghostent Perl_pp_ghostent
-#define pp_glob Perl_pp_glob
-#define pp_gmtime Perl_pp_gmtime
-#define pp_gnbyaddr Perl_pp_gnbyaddr
-#define pp_gnbyname Perl_pp_gnbyname
-#define pp_gnetent Perl_pp_gnetent
-#define pp_goto Perl_pp_goto
-#define pp_gpbyname Perl_pp_gpbyname
-#define pp_gpbynumber Perl_pp_gpbynumber
-#define pp_gprotoent Perl_pp_gprotoent
-#define pp_gpwent Perl_pp_gpwent
-#define pp_gpwnam Perl_pp_gpwnam
-#define pp_gpwuid Perl_pp_gpwuid
-#define pp_grepstart Perl_pp_grepstart
-#define pp_grepwhile Perl_pp_grepwhile
-#define pp_gsbyname Perl_pp_gsbyname
-#define pp_gsbyport Perl_pp_gsbyport
-#define pp_gservent Perl_pp_gservent
-#define pp_gsockopt Perl_pp_gsockopt
-#define pp_gt Perl_pp_gt
-#define pp_gv Perl_pp_gv
-#define pp_gvsv Perl_pp_gvsv
-#define pp_helem Perl_pp_helem
-#define pp_hex Perl_pp_hex
-#define pp_hintseval Perl_pp_hintseval
-#define pp_hslice Perl_pp_hslice
-#define pp_i_add Perl_pp_i_add
-#define pp_i_divide Perl_pp_i_divide
-#define pp_i_eq Perl_pp_i_eq
-#define pp_i_ge Perl_pp_i_ge
-#define pp_i_gt Perl_pp_i_gt
-#define pp_i_le Perl_pp_i_le
-#define pp_i_lt Perl_pp_i_lt
-#define pp_i_modulo Perl_pp_i_modulo
-#define pp_i_multiply Perl_pp_i_multiply
-#define pp_i_ncmp Perl_pp_i_ncmp
-#define pp_i_ne Perl_pp_i_ne
-#define pp_i_negate Perl_pp_i_negate
-#define pp_i_subtract Perl_pp_i_subtract
-#define pp_index Perl_pp_index
-#define pp_int Perl_pp_int
-#define pp_ioctl Perl_pp_ioctl
-#define pp_iter Perl_pp_iter
-#define pp_join Perl_pp_join
-#define pp_keys Perl_pp_keys
-#define pp_kill Perl_pp_kill
-#define pp_last Perl_pp_last
-#define pp_lc Perl_pp_lc
-#define pp_lcfirst Perl_pp_lcfirst
-#define pp_le Perl_pp_le
-#define pp_leave Perl_pp_leave
-#define pp_leaveeval Perl_pp_leaveeval
-#define pp_leavegiven Perl_pp_leavegiven
-#define pp_leaveloop Perl_pp_leaveloop
-#define pp_leavesub Perl_pp_leavesub
-#define pp_leavesublv Perl_pp_leavesublv
-#define pp_leavetry Perl_pp_leavetry
-#define pp_leavewhen Perl_pp_leavewhen
-#define pp_leavewrite Perl_pp_leavewrite
-#define pp_left_shift Perl_pp_left_shift
-#define pp_length Perl_pp_length
-#define pp_lineseq Perl_pp_lineseq
-#define pp_link Perl_pp_link
-#define pp_list Perl_pp_list
-#define pp_listen Perl_pp_listen
-#define pp_localtime Perl_pp_localtime
-#define pp_lock Perl_pp_lock
-#define pp_log Perl_pp_log
-#define pp_lslice Perl_pp_lslice
-#define pp_lstat Perl_pp_lstat
-#define pp_lt Perl_pp_lt
-#define pp_mapstart Perl_pp_mapstart
-#define pp_mapwhile Perl_pp_mapwhile
-#define pp_match Perl_pp_match
-#define pp_method Perl_pp_method
-#define pp_method_named Perl_pp_method_named
-#define pp_mkdir Perl_pp_mkdir
-#define pp_modulo Perl_pp_modulo
-#define pp_msgctl Perl_pp_msgctl
-#define pp_msgget Perl_pp_msgget
-#define pp_msgrcv Perl_pp_msgrcv
-#define pp_msgsnd Perl_pp_msgsnd
-#define pp_multiply Perl_pp_multiply
-#define pp_ncmp Perl_pp_ncmp
-#define pp_ne Perl_pp_ne
-#define pp_negate Perl_pp_negate
-#define pp_next Perl_pp_next
-#define pp_nextstate Perl_pp_nextstate
-#define pp_not Perl_pp_not
-#define pp_null Perl_pp_null
-#define pp_oct Perl_pp_oct
-#define pp_once Perl_pp_once
-#define pp_open Perl_pp_open
-#define pp_open_dir Perl_pp_open_dir
-#define pp_or Perl_pp_or
-#define pp_orassign Perl_pp_orassign
-#define pp_ord Perl_pp_ord
-#define pp_pack Perl_pp_pack
-#define pp_padany Perl_pp_padany
-#define pp_padav Perl_pp_padav
-#define pp_padhv Perl_pp_padhv
-#define pp_padsv Perl_pp_padsv
-#define pp_pipe_op Perl_pp_pipe_op
-#define pp_pop Perl_pp_pop
-#define pp_pos Perl_pp_pos
-#define pp_postdec Perl_pp_postdec
-#define pp_postinc Perl_pp_postinc
-#define pp_pow Perl_pp_pow
-#define pp_predec Perl_pp_predec
-#define pp_preinc Perl_pp_preinc
-#define pp_print Perl_pp_print
-#define pp_prototype Perl_pp_prototype
-#define pp_prtf Perl_pp_prtf
-#define pp_push Perl_pp_push
-#define pp_pushmark Perl_pp_pushmark
-#define pp_pushre Perl_pp_pushre
-#define pp_qr Perl_pp_qr
-#define pp_quotemeta Perl_pp_quotemeta
-#define pp_rand Perl_pp_rand
-#define pp_range Perl_pp_range
-#define pp_rcatline Perl_pp_rcatline
-#define pp_read Perl_pp_read
-#define pp_readdir Perl_pp_readdir
-#define pp_readline Perl_pp_readline
-#define pp_readlink Perl_pp_readlink
-#define pp_recv Perl_pp_recv
-#define pp_redo Perl_pp_redo
-#define pp_ref Perl_pp_ref
-#define pp_refgen Perl_pp_refgen
-#define pp_regcmaybe Perl_pp_regcmaybe
-#define pp_regcomp Perl_pp_regcomp
-#define pp_regcreset Perl_pp_regcreset
-#define pp_rename Perl_pp_rename
-#define pp_repeat Perl_pp_repeat
-#define pp_require Perl_pp_require
-#define pp_reset Perl_pp_reset
-#define pp_return Perl_pp_return
-#define pp_reverse Perl_pp_reverse
-#define pp_rewinddir Perl_pp_rewinddir
-#define pp_right_shift Perl_pp_right_shift
-#define pp_rindex Perl_pp_rindex
-#define pp_rmdir Perl_pp_rmdir
-#define pp_rv2av Perl_pp_rv2av
-#define pp_rv2cv Perl_pp_rv2cv
-#define pp_rv2gv Perl_pp_rv2gv
-#define pp_rv2hv Perl_pp_rv2hv
-#define pp_rv2sv Perl_pp_rv2sv
-#define pp_sassign Perl_pp_sassign
-#define pp_say Perl_pp_say
-#define pp_scalar Perl_pp_scalar
-#define pp_schomp Perl_pp_schomp
-#define pp_schop Perl_pp_schop
-#define pp_scmp Perl_pp_scmp
-#define pp_scope Perl_pp_scope
-#define pp_seek Perl_pp_seek
-#define pp_seekdir Perl_pp_seekdir
-#define pp_select Perl_pp_select
-#define pp_semctl Perl_pp_semctl
-#define pp_semget Perl_pp_semget
-#define pp_semop Perl_pp_semop
-#define pp_send Perl_pp_send
-#define pp_seq Perl_pp_seq
-#define pp_setpgrp Perl_pp_setpgrp
-#define pp_setpriority Perl_pp_setpriority
-#define pp_sge Perl_pp_sge
-#define pp_sgrent Perl_pp_sgrent
-#define pp_sgt Perl_pp_sgt
-#define pp_shift Perl_pp_shift
-#define pp_shmctl Perl_pp_shmctl
-#define pp_shmget Perl_pp_shmget
-#define pp_shmread Perl_pp_shmread
-#define pp_shmwrite Perl_pp_shmwrite
-#define pp_shostent Perl_pp_shostent
-#define pp_shutdown Perl_pp_shutdown
-#define pp_sin Perl_pp_sin
-#define pp_sle Perl_pp_sle
-#define pp_sleep Perl_pp_sleep
-#define pp_slt Perl_pp_slt
-#define pp_smartmatch Perl_pp_smartmatch
-#define pp_sne Perl_pp_sne
-#define pp_snetent Perl_pp_snetent
-#define pp_socket Perl_pp_socket
-#define pp_sockpair Perl_pp_sockpair
-#define pp_sort Perl_pp_sort
-#define pp_splice Perl_pp_splice
-#define pp_split Perl_pp_split
-#define pp_sprintf Perl_pp_sprintf
-#define pp_sprotoent Perl_pp_sprotoent
-#define pp_spwent Perl_pp_spwent
-#define pp_sqrt Perl_pp_sqrt
-#define pp_srand Perl_pp_srand
-#define pp_srefgen Perl_pp_srefgen
-#define pp_sselect Perl_pp_sselect
-#define pp_sservent Perl_pp_sservent
-#define pp_ssockopt Perl_pp_ssockopt
-#define pp_stat Perl_pp_stat
-#define pp_stringify Perl_pp_stringify
-#define pp_stub Perl_pp_stub
-#define pp_study Perl_pp_study
-#define pp_subst Perl_pp_subst
-#define pp_substcont Perl_pp_substcont
-#define pp_substr Perl_pp_substr
-#define pp_subtract Perl_pp_subtract
-#define pp_symlink Perl_pp_symlink
-#define pp_syscall Perl_pp_syscall
-#define pp_sysopen Perl_pp_sysopen
-#define pp_sysread Perl_pp_sysread
-#define pp_sysseek Perl_pp_sysseek
-#define pp_system Perl_pp_system
-#define pp_syswrite Perl_pp_syswrite
-#define pp_tell Perl_pp_tell
-#define pp_telldir Perl_pp_telldir
-#define pp_tie Perl_pp_tie
-#define pp_tied Perl_pp_tied
-#define pp_time Perl_pp_time
-#define pp_tms Perl_pp_tms
-#define pp_trans Perl_pp_trans
-#define pp_truncate Perl_pp_truncate
-#define pp_uc Perl_pp_uc
-#define pp_ucfirst Perl_pp_ucfirst
-#define pp_umask Perl_pp_umask
-#define pp_undef Perl_pp_undef
-#define pp_unlink Perl_pp_unlink
-#define pp_unpack Perl_pp_unpack
-#define pp_unshift Perl_pp_unshift
-#define pp_unstack Perl_pp_unstack
-#define pp_untie Perl_pp_untie
-#define pp_utime Perl_pp_utime
-#define pp_values Perl_pp_values
-#define pp_vec Perl_pp_vec
-#define pp_wait Perl_pp_wait
-#define pp_waitpid Perl_pp_waitpid
-#define pp_wantarray Perl_pp_wantarray
-#define pp_warn Perl_pp_warn
-#define pp_xor Perl_pp_xor
-
-#else /* PERL_IMPLICIT_CONTEXT */
-
-#if defined(PERL_IMPLICIT_SYS)
-#endif
-#define doing_taint Perl_doing_taint
-#if defined(USE_ITHREADS)
-# if defined(PERL_IMPLICIT_SYS)
-# endif
-#endif
-#if defined(MYMALLOC)
-#ifdef PERL_CORE
-#define malloced_size Perl_malloced_size
-#define malloc_good_size Perl_malloc_good_size
-#endif
-#endif
-#define get_context Perl_get_context
-#define set_context Perl_set_context
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regcurly Perl_regcurly
-#endif
-#define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d)
#define Gv_AMupdate(a,b) Perl_Gv_AMupdate(aTHX_ a,b)
-#define gv_handler(a,b) Perl_gv_handler(aTHX_ a,b)
-#ifdef PERL_CORE
-#define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c)
-#define append_list(a,b,c) Perl_append_list(aTHX_ a,b,c)
-#define apply(a,b,c) Perl_apply(aTHX_ a,b,c)
-#endif
+#define _to_uni_fold_flags(a,b,c,d) Perl__to_uni_fold_flags(aTHX_ a,b,c,d)
+#define _to_utf8_fold_flags(a,b,c,d) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d)
+#define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d)
+#define amagic_deref_call(a,b) Perl_amagic_deref_call(aTHX_ a,b)
#define apply_attrs_string(a,b,c,d) Perl_apply_attrs_string(aTHX_ a,b,c,d)
+#define atfork_lock Perl_atfork_lock
+#define atfork_unlock Perl_atfork_unlock
#define av_clear(a) Perl_av_clear(aTHX_ a)
#define av_delete(a,b,c) Perl_av_delete(aTHX_ a,b,c)
#define av_exists(a,b) Perl_av_exists(aTHX_ a,b)
@@ -2484,207 +44,126 @@
#define av_make(a,b) Perl_av_make(aTHX_ a,b)
#define av_pop(a) Perl_av_pop(aTHX_ a)
#define av_push(a,b) Perl_av_push(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define av_reify(a) Perl_av_reify(aTHX_ a)
-#endif
#define av_shift(a) Perl_av_shift(aTHX_ a)
#define av_store(a,b,c) Perl_av_store(aTHX_ a,b,c)
#define av_undef(a) Perl_av_undef(aTHX_ a)
#define av_unshift(a,b) Perl_av_unshift(aTHX_ a,b)
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define get_aux_mg(a) S_get_aux_mg(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_CORE
-#define bind_match(a,b,c) Perl_bind_match(aTHX_ a,b,c)
-#define block_end(a,b) Perl_block_end(aTHX_ a,b)
-#endif
#define block_gimme() Perl_block_gimme(aTHX)
-#ifdef PERL_CORE
-#define block_start(a) Perl_block_start(aTHX_ a)
-#define boot_core_UNIVERSAL() Perl_boot_core_UNIVERSAL(aTHX)
-#define boot_core_PerlIO() Perl_boot_core_PerlIO(aTHX)
-#endif
+#define bytes_cmp_utf8(a,b,c,d) Perl_bytes_cmp_utf8(aTHX_ a,b,c,d)
+#define bytes_from_utf8(a,b,c) Perl_bytes_from_utf8(aTHX_ a,b,c)
+#define bytes_to_utf8(a,b) Perl_bytes_to_utf8(aTHX_ a,b)
+#define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c)
+#define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b)
#define call_list(a,b) Perl_call_list(aTHX_ a,b)
-#ifdef PERL_CORE
-#define cando(a,b,c) Perl_cando(aTHX_ a,b,c)
-#endif
-#define cast_ulong(a) Perl_cast_ulong(aTHX_ a)
+#define call_method(a,b) Perl_call_method(aTHX_ a,b)
+#define call_pv(a,b) Perl_call_pv(aTHX_ a,b)
+#define call_sv(a,b) Perl_call_sv(aTHX_ a,b)
+#define caller_cx(a,b) Perl_caller_cx(aTHX_ a,b)
#define cast_i32(a) Perl_cast_i32(aTHX_ a)
#define cast_iv(a) Perl_cast_iv(aTHX_ a)
+#define cast_ulong(a) Perl_cast_ulong(aTHX_ a)
#define cast_uv(a) Perl_cast_uv(aTHX_ a)
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-#define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b)
+#define ck_entersub_args_list(a) Perl_ck_entersub_args_list(aTHX_ a)
+#define ck_entersub_args_proto(a,b,c) Perl_ck_entersub_args_proto(aTHX_ a,b,c)
+#define ck_entersub_args_proto_or_list(a,b,c) Perl_ck_entersub_args_proto_or_list(aTHX_ a,b,c)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define ck_warner Perl_ck_warner
+#define ck_warner_d Perl_ck_warner_d
#endif
-#ifdef PERL_CORE
-#define convert(a,b,c) Perl_convert(aTHX_ a,b,c)
-#define create_eval_scope(a) Perl_create_eval_scope(aTHX_ a)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define croak Perl_croak
#endif
-#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
+#define croak_no_modify() Perl_croak_no_modify(aTHX)
+#define croak_sv(a) Perl_croak_sv(aTHX_ a)
#define croak_xs_usage(a,b) Perl_croak_xs_usage(aTHX_ a,b)
-#if defined(PERL_IMPLICIT_CONTEXT)
-#endif
-#ifdef PERL_CORE
-#define cv_ckproto_len(a,b,c,d) Perl_cv_ckproto_len(aTHX_ a,b,c,d)
-#define cv_clone(a) Perl_cv_clone(aTHX_ a)
-#endif
-#define gv_const_sv(a) Perl_gv_const_sv(aTHX_ a)
+#define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a)
+#define custom_op_name(a) Perl_custom_op_name(aTHX_ a)
#define cv_const_sv(a) Perl_cv_const_sv(aTHX_ a)
-#ifdef PERL_CORE
-#define op_const_sv(a,b) Perl_op_const_sv(aTHX_ a,b)
-#endif
+#define cv_get_call_checker(a,b,c) Perl_cv_get_call_checker(aTHX_ a,b,c)
+#define cv_set_call_checker(a,b,c) Perl_cv_set_call_checker(aTHX_ a,b,c)
#define cv_undef(a) Perl_cv_undef(aTHX_ a)
#define cx_dump(a) Perl_cx_dump(aTHX_ a)
-#define filter_add(a,b) Perl_filter_add(aTHX_ a,b)
-#define filter_del(a) Perl_filter_del(aTHX_ a)
-#define filter_read(a,b,c) Perl_filter_read(aTHX_ a,b,c)
-#define get_op_descs() Perl_get_op_descs(aTHX)
-#define get_op_names() Perl_get_op_names(aTHX)
-#ifdef PERL_CORE
-#define get_no_modify() Perl_get_no_modify(aTHX)
-#define get_opargs() Perl_get_opargs(aTHX)
-#endif
-#define get_ppaddr() Perl_get_ppaddr(aTHX)
#define cxinc() Perl_cxinc(aTHX)
-#define vdeb(a,b) Perl_vdeb(aTHX_ a,b)
-#define debprofdump() Perl_debprofdump(aTHX)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define deb Perl_deb
+#endif
#define debop(a) Perl_debop(aTHX_ a)
+#define debprofdump() Perl_debprofdump(aTHX)
#define debstack() Perl_debstack(aTHX)
#define debstackptrs() Perl_debstackptrs(aTHX)
#define delimcpy Perl_delimcpy
-#ifdef PERL_CORE
-#define delete_eval_scope() Perl_delete_eval_scope(aTHX)
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define vdie(a,b) S_vdie(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define die_where(a) Perl_die_where(aTHX_ a)
-#endif
-#define dounwind(a) Perl_dounwind(aTHX_ a)
-#ifdef PERL_CORE
-#define do_aexec5(a,b,c,d,e) Perl_do_aexec5(aTHX_ a,b,c,d,e)
+#define despatch_signals() Perl_despatch_signals(aTHX)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define die Perl_die
#endif
+#define die_sv(a) Perl_die_sv(aTHX_ a)
#define do_binmode(a,b,c) Perl_do_binmode(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define do_chop(a,b) Perl_do_chop(aTHX_ a,b)
-#endif
#define do_close(a,b) Perl_do_close(aTHX_ a,b)
-#ifdef PERL_CORE
-#define do_eof(a) Perl_do_eof(aTHX_ a)
-#endif
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-#ifdef PERL_CORE
-#endif
-#else
-#ifdef PERL_CORE
-#define do_exec(a) Perl_do_exec(aTHX_ a)
-#endif
-#endif
-#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
-#define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c)
-#define do_spawn(a) Perl_do_spawn(aTHX_ a)
-#define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a)
-#endif
-#if !defined(WIN32)
-#ifdef PERL_CORE
-#define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c)
-#endif
-#endif
-#ifdef PERL_CORE
-#define do_execfree() Perl_do_execfree(aTHX)
-#endif
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define exec_failed(a,b,c) S_exec_failed(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#ifdef PERL_CORE
-#define do_ipcctl(a,b,c) Perl_do_ipcctl(aTHX_ a,b,c)
-#define do_ipcget(a,b,c) Perl_do_ipcget(aTHX_ a,b,c)
-#define do_msgrcv(a,b) Perl_do_msgrcv(aTHX_ a,b)
-#define do_msgsnd(a,b) Perl_do_msgsnd(aTHX_ a,b)
-#define do_semop(a,b) Perl_do_semop(aTHX_ a,b)
-#define do_shmio(a,b,c) Perl_do_shmio(aTHX_ a,b,c)
-#endif
-#endif
+#define do_gv_dump(a,b,c,d) Perl_do_gv_dump(aTHX_ a,b,c,d)
+#define do_gvgv_dump(a,b,c,d) Perl_do_gvgv_dump(aTHX_ a,b,c,d)
+#define do_hv_dump(a,b,c,d) Perl_do_hv_dump(aTHX_ a,b,c,d)
#define do_join(a,b,c,d) Perl_do_join(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define do_kv() Perl_do_kv(aTHX)
-#endif
+#define do_magic_dump(a,b,c,d,e,f,g) Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g)
+#define do_op_dump(a,b,c) Perl_do_op_dump(aTHX_ a,b,c)
#define do_open9(a,b,c,d,e,f,g,h,i) Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i)
#define do_openn(a,b,c,d,e,f,g,h,i) Perl_do_openn(aTHX_ a,b,c,d,e,f,g,h,i)
-#ifdef PERL_CORE
-#define do_print(a,b) Perl_do_print(aTHX_ a,b)
-#define do_readline() Perl_do_readline(aTHX)
-#define do_chomp(a) Perl_do_chomp(aTHX_ a)
-#define do_seek(a,b,c) Perl_do_seek(aTHX_ a,b,c)
-#endif
+#define do_pmop_dump(a,b,c) Perl_do_pmop_dump(aTHX_ a,b,c)
#define do_sprintf(a,b,c) Perl_do_sprintf(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c)
-#define do_tell(a) Perl_do_tell(aTHX_ a)
-#define do_trans(a) Perl_do_trans(aTHX_ a)
-#define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c)
-#define do_vecset(a) Perl_do_vecset(aTHX_ a)
-#define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d)
-#define dofile(a,b) Perl_dofile(aTHX_ a,b)
-#endif
+#define do_sv_dump(a,b,c,d,e,f,g) Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g)
+#define doing_taint Perl_doing_taint
+#define doref(a,b,c) Perl_doref(aTHX_ a,b,c)
+#define dounwind(a) Perl_dounwind(aTHX_ a)
#define dowantarray() Perl_dowantarray(aTHX)
#define dump_all() Perl_dump_all(aTHX)
-#ifdef PERL_CORE
-#define dump_all_perl(a) Perl_dump_all_perl(aTHX_ a)
-#endif
#define dump_eval() Perl_dump_eval(aTHX)
-#if defined(DUMP_FDS)
-#define dump_fds(a) Perl_dump_fds(aTHX_ a)
-#endif
#define dump_form(a) Perl_dump_form(aTHX_ a)
-#define gv_dump(a) Perl_gv_dump(aTHX_ a)
-#define op_dump(a) Perl_op_dump(aTHX_ a)
-#define pmop_dump(a) Perl_pmop_dump(aTHX_ a)
-#define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a)
-#ifdef PERL_CORE
-#define dump_packsubs_perl(a,b) Perl_dump_packsubs_perl(aTHX_ a,b)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define dump_indent Perl_dump_indent
#endif
+#define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a)
#define dump_sub(a) Perl_dump_sub(aTHX_ a)
-#ifdef PERL_CORE
-#define dump_sub_perl(a,b) Perl_dump_sub_perl(aTHX_ a,b)
-#endif
+#define dump_vindent(a,b,c,d) Perl_dump_vindent(aTHX_ a,b,c,d)
+#define eval_pv(a,b) Perl_eval_pv(aTHX_ a,b)
+#define eval_sv(a,b) Perl_eval_sv(aTHX_ a,b)
#define fbm_compile(a,b) Perl_fbm_compile(aTHX_ a,b)
#define fbm_instr(a,b,c,d) Perl_fbm_instr(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d)
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define force_list(a) S_force_list(aTHX_ a)
-#define fold_constants(a) S_fold_constants(aTHX_ a)
-#endif
+#define filter_add(a,b) Perl_filter_add(aTHX_ a,b)
+#define filter_del(a) Perl_filter_del(aTHX_ a)
+#define filter_read(a,b,c) Perl_filter_read(aTHX_ a,b,c)
+#define find_runcv(a) Perl_find_runcv(aTHX_ a)
+#define find_rundefsv() Perl_find_rundefsv(aTHX)
+#define find_rundefsvoffset() Perl_find_rundefsvoffset(aTHX)
+#define foldEQ Perl_foldEQ
+#define foldEQ_latin1 Perl_foldEQ_latin1
+#define foldEQ_locale Perl_foldEQ_locale
+#define foldEQ_utf8_flags(a,b,c,d,e,f,g,h,i) Perl_foldEQ_utf8_flags(aTHX_ a,b,c,d,e,f,g,h,i)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define form Perl_form
#endif
-#define vform(a,b) Perl_vform(aTHX_ a,b)
#define free_tmps() Perl_free_tmps(aTHX)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define gen_constant_list(a) S_gen_constant_list(aTHX_ a)
-#endif
-#endif
-#if !defined(HAS_GETENV_LEN)
-#ifdef PERL_CORE
-#define getenv_len(a,b) Perl_getenv_len(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#endif
+#define get_av(a,b) Perl_get_av(aTHX_ a,b)
+#define get_context Perl_get_context
+#define get_cv(a,b) Perl_get_cv(aTHX_ a,b)
+#define get_cvn_flags(a,b,c) Perl_get_cvn_flags(aTHX_ a,b,c)
+#define get_hv(a,b) Perl_get_hv(aTHX_ a,b)
+#define get_op_descs() Perl_get_op_descs(aTHX)
+#define get_op_names() Perl_get_op_names(aTHX)
+#define get_ppaddr() Perl_get_ppaddr(aTHX)
+#define get_sv(a,b) Perl_get_sv(aTHX_ a,b)
+#define get_vtbl(a) Perl_get_vtbl(aTHX_ a)
+#define getcwd_sv(a) Perl_getcwd_sv(aTHX_ a)
#define gp_free(a) Perl_gp_free(aTHX_ a)
#define gp_ref(a) Perl_gp_ref(aTHX_ a)
+#define grok_bin(a,b,c,d) Perl_grok_bin(aTHX_ a,b,c,d)
+#define grok_hex(a,b,c,d) Perl_grok_hex(aTHX_ a,b,c,d)
+#define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c)
+#define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b)
+#define grok_oct(a,b,c,d) Perl_grok_oct(aTHX_ a,b,c,d)
#define gv_add_by_type(a,b) Perl_gv_add_by_type(aTHX_ a,b)
#define gv_autoload4(a,b,c,d) Perl_gv_autoload4(aTHX_ a,b,c,d)
#define gv_check(a) Perl_gv_check(aTHX_ a)
+#define gv_const_sv(a) Perl_gv_const_sv(aTHX_ a)
+#define gv_dump(a) Perl_gv_dump(aTHX_ a)
#define gv_efullname(a,b) Perl_gv_efullname(aTHX_ a,b)
#define gv_efullname4(a,b,c,d) Perl_gv_efullname4(aTHX_ a,b,c,d)
#define gv_fetchfile(a) Perl_gv_fetchfile(aTHX_ a)
@@ -2694,537 +173,276 @@
#define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
#define gv_fetchmethod_flags(a,b,c) Perl_gv_fetchmethod_flags(aTHX_ a,b,c)
#define gv_fetchpv(a,b,c) Perl_gv_fetchpv(aTHX_ a,b,c)
+#define gv_fetchpvn_flags(a,b,c,d) Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d)
+#define gv_fetchsv(a,b,c) Perl_gv_fetchsv(aTHX_ a,b,c)
#define gv_fullname(a,b) Perl_gv_fullname(aTHX_ a,b)
#define gv_fullname4(a,b,c,d) Perl_gv_fullname4(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#endif
+#define gv_handler(a,b) Perl_gv_handler(aTHX_ a,b)
#define gv_init(a,b,c,d,e) Perl_gv_init(aTHX_ a,b,c,d,e)
#define gv_name_set(a,b,c,d) Perl_gv_name_set(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define gv_try_downgrade(a) Perl_gv_try_downgrade(aTHX_ a)
-#endif
#define gv_stashpv(a,b) Perl_gv_stashpv(aTHX_ a,b)
#define gv_stashpvn(a,b,c) Perl_gv_stashpvn(aTHX_ a,b,c)
#define gv_stashsv(a,b) Perl_gv_stashsv(aTHX_ a,b)
#define hv_clear(a) Perl_hv_clear(aTHX_ a)
-#ifdef PERL_CORE
-#endif
-#define hv_delayfree_ent(a,b) Perl_hv_delayfree_ent(aTHX_ a,b)
+#define hv_clear_placeholders(a) Perl_hv_clear_placeholders(aTHX_ a)
#define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
#define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f)
+#define hv_copy_hints_hv(a) Perl_hv_copy_hints_hv(aTHX_ a)
+#define hv_delayfree_ent(a,b) Perl_hv_delayfree_ent(aTHX_ a,b)
#define hv_free_ent(a,b) Perl_hv_free_ent(aTHX_ a,b)
#define hv_iterinit(a) Perl_hv_iterinit(aTHX_ a)
#define hv_iterkey(a,b) Perl_hv_iterkey(aTHX_ a,b)
#define hv_iterkeysv(a) Perl_hv_iterkeysv(aTHX_ a)
-#define hv_iternextsv(a,b,c) Perl_hv_iternextsv(aTHX_ a,b,c)
#define hv_iternext_flags(a,b) Perl_hv_iternext_flags(aTHX_ a,b)
+#define hv_iternextsv(a,b,c) Perl_hv_iternextsv(aTHX_ a,b,c)
#define hv_iterval(a,b) Perl_hv_iterval(aTHX_ a,b)
#define hv_ksplit(a,b) Perl_hv_ksplit(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define refcounted_he_new_common(a,b,c,d,e,f,g) S_refcounted_he_new_common(aTHX_ a,b,c,d,e,f,g)
-#endif
-#endif
-#define hv_undef(a) Perl_hv_undef(aTHX_ a)
-#define ibcmp Perl_ibcmp
-#define ibcmp_locale Perl_ibcmp_locale
-#define ibcmp_utf8(a,b,c,d,e,f,g,h) Perl_ibcmp_utf8(aTHX_ a,b,c,d,e,f,g,h)
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ingroup(a,b) S_ingroup(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define init_argv_symbols(a,b) Perl_init_argv_symbols(aTHX_ a,b)
-#define init_debugger() Perl_init_debugger(aTHX)
-#endif
+#define hv_name_set(a,b,c,d) Perl_hv_name_set(aTHX_ a,b,c,d)
+#define hv_scalar(a) Perl_hv_scalar(aTHX_ a)
+#define init_i18nl10n(a) Perl_init_i18nl10n(aTHX_ a)
+#define init_i18nl14n(a) Perl_init_i18nl14n(aTHX_ a)
#define init_stacks() Perl_init_stacks(aTHX)
#define init_tm(a) Perl_init_tm(aTHX_ a)
-#ifdef PERL_CORE
-#define intro_my() Perl_intro_my(aTHX)
-#endif
#define instr Perl_instr
-#ifdef PERL_CORE
-#define io_close(a,b) Perl_io_close(aTHX_ a,b)
-#define invert(a) Perl_invert(aTHX_ a)
-#endif
+#define is_ascii_string Perl_is_ascii_string
#define is_lvalue_sub() Perl_is_lvalue_sub(aTHX)
-#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a)
-#define to_uni_title_lc(a) Perl_to_uni_title_lc(aTHX_ a)
-#define to_uni_lower_lc(a) Perl_to_uni_lower_lc(aTHX_ a)
#define is_uni_alnum(a) Perl_is_uni_alnum(aTHX_ a)
-#define is_uni_idfirst(a) Perl_is_uni_idfirst(aTHX_ a)
+#define is_uni_alnum_lc(a) Perl_is_uni_alnum_lc(aTHX_ a)
#define is_uni_alpha(a) Perl_is_uni_alpha(aTHX_ a)
+#define is_uni_alpha_lc(a) Perl_is_uni_alpha_lc(aTHX_ a)
#define is_uni_ascii(a) Perl_is_uni_ascii(aTHX_ a)
-#define is_uni_space(a) Perl_is_uni_space(aTHX_ a)
+#define is_uni_ascii_lc(a) Perl_is_uni_ascii_lc(aTHX_ a)
#define is_uni_cntrl(a) Perl_is_uni_cntrl(aTHX_ a)
-#define is_uni_graph(a) Perl_is_uni_graph(aTHX_ a)
+#define is_uni_cntrl_lc(a) Perl_is_uni_cntrl_lc(aTHX_ a)
#define is_uni_digit(a) Perl_is_uni_digit(aTHX_ a)
-#define is_uni_upper(a) Perl_is_uni_upper(aTHX_ a)
+#define is_uni_digit_lc(a) Perl_is_uni_digit_lc(aTHX_ a)
+#define is_uni_graph(a) Perl_is_uni_graph(aTHX_ a)
+#define is_uni_graph_lc(a) Perl_is_uni_graph_lc(aTHX_ a)
+#define is_uni_idfirst(a) Perl_is_uni_idfirst(aTHX_ a)
+#define is_uni_idfirst_lc(a) Perl_is_uni_idfirst_lc(aTHX_ a)
#define is_uni_lower(a) Perl_is_uni_lower(aTHX_ a)
+#define is_uni_lower_lc(a) Perl_is_uni_lower_lc(aTHX_ a)
#define is_uni_print(a) Perl_is_uni_print(aTHX_ a)
+#define is_uni_print_lc(a) Perl_is_uni_print_lc(aTHX_ a)
#define is_uni_punct(a) Perl_is_uni_punct(aTHX_ a)
-#define is_uni_xdigit(a) Perl_is_uni_xdigit(aTHX_ a)
-#define to_uni_upper(a,b,c) Perl_to_uni_upper(aTHX_ a,b,c)
-#define to_uni_title(a,b,c) Perl_to_uni_title(aTHX_ a,b,c)
-#define to_uni_lower(a,b,c) Perl_to_uni_lower(aTHX_ a,b,c)
-#define to_uni_fold(a,b,c) Perl_to_uni_fold(aTHX_ a,b,c)
-#define is_uni_alnum_lc(a) Perl_is_uni_alnum_lc(aTHX_ a)
-#define is_uni_idfirst_lc(a) Perl_is_uni_idfirst_lc(aTHX_ a)
-#define is_uni_alpha_lc(a) Perl_is_uni_alpha_lc(aTHX_ a)
-#define is_uni_ascii_lc(a) Perl_is_uni_ascii_lc(aTHX_ a)
+#define is_uni_punct_lc(a) Perl_is_uni_punct_lc(aTHX_ a)
+#define is_uni_space(a) Perl_is_uni_space(aTHX_ a)
#define is_uni_space_lc(a) Perl_is_uni_space_lc(aTHX_ a)
-#define is_uni_cntrl_lc(a) Perl_is_uni_cntrl_lc(aTHX_ a)
-#define is_uni_graph_lc(a) Perl_is_uni_graph_lc(aTHX_ a)
-#define is_uni_digit_lc(a) Perl_is_uni_digit_lc(aTHX_ a)
+#define is_uni_upper(a) Perl_is_uni_upper(aTHX_ a)
#define is_uni_upper_lc(a) Perl_is_uni_upper_lc(aTHX_ a)
-#define is_uni_lower_lc(a) Perl_is_uni_lower_lc(aTHX_ a)
-#define is_uni_print_lc(a) Perl_is_uni_print_lc(aTHX_ a)
-#define is_uni_punct_lc(a) Perl_is_uni_punct_lc(aTHX_ a)
+#define is_uni_xdigit(a) Perl_is_uni_xdigit(aTHX_ a)
#define is_uni_xdigit_lc(a) Perl_is_uni_xdigit_lc(aTHX_ a)
-#define is_ascii_string Perl_is_ascii_string
-#define is_utf8_char Perl_is_utf8_char
-#define is_utf8_string Perl_is_utf8_string
-#define is_utf8_string_loclen Perl_is_utf8_string_loclen
#define is_utf8_alnum(a) Perl_is_utf8_alnum(aTHX_ a)
-#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a)
-#define is_utf8_idcont(a) Perl_is_utf8_idcont(aTHX_ a)
#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a)
#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a)
-#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a)
-#define is_utf8_perl_space(a) Perl_is_utf8_perl_space(aTHX_ a)
-#define is_utf8_perl_word(a) Perl_is_utf8_perl_word(aTHX_ a)
+#define is_utf8_char Perl_is_utf8_char
#define is_utf8_cntrl(a) Perl_is_utf8_cntrl(aTHX_ a)
#define is_utf8_digit(a) Perl_is_utf8_digit(aTHX_ a)
-#define is_utf8_posix_digit(a) Perl_is_utf8_posix_digit(aTHX_ a)
#define is_utf8_graph(a) Perl_is_utf8_graph(aTHX_ a)
-#define is_utf8_upper(a) Perl_is_utf8_upper(aTHX_ a)
+#define is_utf8_idcont(a) Perl_is_utf8_idcont(aTHX_ a)
+#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a)
#define is_utf8_lower(a) Perl_is_utf8_lower(aTHX_ a)
+#define is_utf8_mark(a) Perl_is_utf8_mark(aTHX_ a)
+#define is_utf8_perl_space(a) Perl_is_utf8_perl_space(aTHX_ a)
+#define is_utf8_perl_word(a) Perl_is_utf8_perl_word(aTHX_ a)
+#define is_utf8_posix_digit(a) Perl_is_utf8_posix_digit(aTHX_ a)
#define is_utf8_print(a) Perl_is_utf8_print(aTHX_ a)
#define is_utf8_punct(a) Perl_is_utf8_punct(aTHX_ a)
+#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a)
+#define is_utf8_string Perl_is_utf8_string
+#define is_utf8_string_loclen Perl_is_utf8_string_loclen
+#define is_utf8_upper(a) Perl_is_utf8_upper(aTHX_ a)
#define is_utf8_xdigit(a) Perl_is_utf8_xdigit(aTHX_ a)
-#define is_utf8_mark(a) Perl_is_utf8_mark(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define is_utf8_X_begin(a) Perl_is_utf8_X_begin(aTHX_ a)
-#define is_utf8_X_extend(a) Perl_is_utf8_X_extend(aTHX_ a)
-#define is_utf8_X_prepend(a) Perl_is_utf8_X_prepend(aTHX_ a)
-#define is_utf8_X_non_hangul(a) Perl_is_utf8_X_non_hangul(aTHX_ a)
-#define is_utf8_X_L(a) Perl_is_utf8_X_L(aTHX_ a)
-#define is_utf8_X_LV(a) Perl_is_utf8_X_LV(aTHX_ a)
-#define is_utf8_X_LVT(a) Perl_is_utf8_X_LVT(aTHX_ a)
-#define is_utf8_X_LV_LVT_V(a) Perl_is_utf8_X_LV_LVT_V(aTHX_ a)
-#define is_utf8_X_T(a) Perl_is_utf8_X_T(aTHX_ a)
-#define is_utf8_X_V(a) Perl_is_utf8_X_V(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define jmaybe(a) Perl_jmaybe(aTHX_ a)
-#define keyword(a,b,c) Perl_keyword(aTHX_ a,b,c)
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define opt_scalarhv(a) S_opt_scalarhv(aTHX_ a)
-#define is_inplace_av(a,b) S_is_inplace_av(aTHX_ a,b)
-#endif
-#endif
+#define is_utf8_xidcont(a) Perl_is_utf8_xidcont(aTHX_ a)
+#define is_utf8_xidfirst(a) Perl_is_utf8_xidfirst(aTHX_ a)
#define leave_scope(a) Perl_leave_scope(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define lex_end() Perl_lex_end(aTHX)
-#endif
-#ifdef PERL_CORE
-#define lex_start(a,b,c) Perl_lex_start(aTHX_ a,b,c)
-#endif
#define lex_bufutf8() Perl_lex_bufutf8(aTHX)
-#define lex_grow_linestr(a) Perl_lex_grow_linestr(aTHX_ a)
-#define lex_stuff_pvn(a,b,c) Perl_lex_stuff_pvn(aTHX_ a,b,c)
-#define lex_stuff_sv(a,b) Perl_lex_stuff_sv(aTHX_ a,b)
-#define lex_unstuff(a) Perl_lex_unstuff(aTHX_ a)
-#define lex_read_to(a) Perl_lex_read_to(aTHX_ a)
#define lex_discard_to(a) Perl_lex_discard_to(aTHX_ a)
+#define lex_grow_linestr(a) Perl_lex_grow_linestr(aTHX_ a)
#define lex_next_chunk(a) Perl_lex_next_chunk(aTHX_ a)
#define lex_peek_unichar(a) Perl_lex_peek_unichar(aTHX_ a)
-#define lex_read_unichar(a) Perl_lex_read_unichar(aTHX_ a)
#define lex_read_space(a) Perl_lex_read_space(aTHX_ a)
-#define op_null(a) Perl_op_null(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define op_clear(a) Perl_op_clear(aTHX_ a)
-#endif
-#define op_refcnt_lock() Perl_op_refcnt_lock(aTHX)
-#define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define linklist(a) S_linklist(aTHX_ a)
-#define listkids(a) S_listkids(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_CORE
-#define list(a) Perl_list(aTHX_ a)
-#endif
-#define vload_module(a,b,c,d) Perl_vload_module(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define localize(a,b) Perl_localize(aTHX_ a,b)
+#define lex_read_to(a) Perl_lex_read_to(aTHX_ a)
+#define lex_read_unichar(a) Perl_lex_read_unichar(aTHX_ a)
+#define lex_start(a,b,c) Perl_lex_start(aTHX_ a,b,c)
+#define lex_stuff_pv(a,b) Perl_lex_stuff_pv(aTHX_ a,b)
+#define lex_stuff_pvn(a,b,c) Perl_lex_stuff_pvn(aTHX_ a,b,c)
+#define lex_stuff_sv(a,b) Perl_lex_stuff_sv(aTHX_ a,b)
+#define lex_unstuff(a) Perl_lex_unstuff(aTHX_ a)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define load_module Perl_load_module
#endif
#define looks_like_number(a) Perl_looks_like_number(aTHX_ a)
-#define grok_bin(a,b,c,d) Perl_grok_bin(aTHX_ a,b,c,d)
-#define grok_hex(a,b,c,d) Perl_grok_hex(aTHX_ a,b,c,d)
-#define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c)
-#define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b)
-#define grok_oct(a,b,c,d) Perl_grok_oct(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define magic_clearenv(a,b) Perl_magic_clearenv(aTHX_ a,b)
-#define magic_clear_all_env(a,b) Perl_magic_clear_all_env(aTHX_ a,b)
-#define magic_clearhint(a,b) Perl_magic_clearhint(aTHX_ a,b)
-#define magic_clearhints(a,b) Perl_magic_clearhints(aTHX_ a,b)
-#define magic_clearisa(a,b) Perl_magic_clearisa(aTHX_ a,b)
-#define magic_clearpack(a,b) Perl_magic_clearpack(aTHX_ a,b)
-#define magic_clearsig(a,b) Perl_magic_clearsig(aTHX_ a,b)
-#define magic_existspack(a,b) Perl_magic_existspack(aTHX_ a,b)
-#define magic_freeovrld(a,b) Perl_magic_freeovrld(aTHX_ a,b)
-#define magic_get(a,b) Perl_magic_get(aTHX_ a,b)
-#define magic_getarylen(a,b) Perl_magic_getarylen(aTHX_ a,b)
-#define magic_getdefelem(a,b) Perl_magic_getdefelem(aTHX_ a,b)
-#define magic_getnkeys(a,b) Perl_magic_getnkeys(aTHX_ a,b)
-#define magic_getpack(a,b) Perl_magic_getpack(aTHX_ a,b)
-#define magic_getpos(a,b) Perl_magic_getpos(aTHX_ a,b)
-#define magic_getsig(a,b) Perl_magic_getsig(aTHX_ a,b)
-#define magic_getsubstr(a,b) Perl_magic_getsubstr(aTHX_ a,b)
-#define magic_gettaint(a,b) Perl_magic_gettaint(aTHX_ a,b)
-#define magic_getuvar(a,b) Perl_magic_getuvar(aTHX_ a,b)
-#define magic_getvec(a,b) Perl_magic_getvec(aTHX_ a,b)
-#define magic_len(a,b) Perl_magic_len(aTHX_ a,b)
-#define magic_nextpack(a,b,c) Perl_magic_nextpack(aTHX_ a,b,c)
-#define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b)
-#define magic_regdatum_get(a,b) Perl_magic_regdatum_get(aTHX_ a,b)
-#define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b)
-#define magic_set(a,b) Perl_magic_set(aTHX_ a,b)
-#define magic_setamagic(a,b) Perl_magic_setamagic(aTHX_ a,b)
-#define magic_setarylen(a,b) Perl_magic_setarylen(aTHX_ a,b)
-#define magic_freearylen_p(a,b) Perl_magic_freearylen_p(aTHX_ a,b)
-#define magic_setdbline(a,b) Perl_magic_setdbline(aTHX_ a,b)
-#define magic_setdefelem(a,b) Perl_magic_setdefelem(aTHX_ a,b)
-#define magic_setenv(a,b) Perl_magic_setenv(aTHX_ a,b)
-#define magic_sethint(a,b) Perl_magic_sethint(aTHX_ a,b)
-#define magic_setisa(a,b) Perl_magic_setisa(aTHX_ a,b)
-#define magic_setmglob(a,b) Perl_magic_setmglob(aTHX_ a,b)
-#define magic_setnkeys(a,b) Perl_magic_setnkeys(aTHX_ a,b)
-#define magic_setpack(a,b) Perl_magic_setpack(aTHX_ a,b)
-#define magic_setpos(a,b) Perl_magic_setpos(aTHX_ a,b)
-#define magic_setregexp(a,b) Perl_magic_setregexp(aTHX_ a,b)
-#define magic_setsig(a,b) Perl_magic_setsig(aTHX_ a,b)
-#define magic_setsubstr(a,b) Perl_magic_setsubstr(aTHX_ a,b)
-#define magic_settaint(a,b) Perl_magic_settaint(aTHX_ a,b)
-#define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b)
-#define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b)
-#define magic_setutf8(a,b) Perl_magic_setutf8(aTHX_ a,b)
-#define magic_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b)
-#define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b)
-#define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b)
-#endif
+#define magic_dump(a) Perl_magic_dump(aTHX_ a)
#define markstack_grow() Perl_markstack_grow(aTHX)
-#if defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b)
-#define mem_collxfrm(a,b,c) Perl_mem_collxfrm(aTHX_ a,b,c)
-#endif
-#endif
-#define vmess(a,b) Perl_vmess(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define qerror(a) Perl_qerror(aTHX_ a)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define mess Perl_mess
#endif
-#define sortsv(a,b,c) Perl_sortsv(aTHX_ a,b,c)
-#define sortsv_flags(a,b,c,d) Perl_sortsv_flags(aTHX_ a,b,c,d)
+#define mess_sv(a,b) Perl_mess_sv(aTHX_ a,b)
#define mg_clear(a) Perl_mg_clear(aTHX_ a)
#define mg_copy(a,b,c,d) Perl_mg_copy(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define mg_localize(a,b,c) Perl_mg_localize(aTHX_ a,b,c)
-#endif
#define mg_find(a,b) Perl_mg_find(aTHX_ a,b)
+#define mg_findext(a,b,c) Perl_mg_findext(aTHX_ a,b,c)
#define mg_free(a) Perl_mg_free(aTHX_ a)
+#define mg_free_type(a,b) Perl_mg_free_type(aTHX_ a,b)
#define mg_get(a) Perl_mg_get(aTHX_ a)
#define mg_length(a) Perl_mg_length(aTHX_ a)
#define mg_magical(a) Perl_mg_magical(aTHX_ a)
#define mg_set(a) Perl_mg_set(aTHX_ a)
#define mg_size(a) Perl_mg_size(aTHX_ a)
#define mini_mktime(a) Perl_mini_mktime(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define mod(a,b) Perl_mod(aTHX_ a,b)
-#endif
-#ifdef PERL_CORE
-#define mode_from_discipline(a,b) Perl_mode_from_discipline(aTHX_ a,b)
-#endif
#define moreswitches(a) Perl_moreswitches(aTHX_ a)
+#define mro_get_linear_isa(a) Perl_mro_get_linear_isa(aTHX_ a)
+#define mro_method_changed_in(a) Perl_mro_method_changed_in(aTHX_ a)
#define my_atof(a) Perl_my_atof(aTHX_ a)
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-#define my_bcopy Perl_my_bcopy
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero Perl_my_bzero
-#endif
+#define my_atof2(a,b) Perl_my_atof2(aTHX_ a,b)
+#define my_dirfd(a) Perl_my_dirfd(aTHX_ a)
#define my_exit(a) Perl_my_exit(aTHX_ a)
#define my_failure_exit() Perl_my_failure_exit(aTHX)
#define my_fflush_all() Perl_my_fflush_all(aTHX)
#define my_fork Perl_my_fork
-#define atfork_lock Perl_atfork_lock
-#define atfork_unlock Perl_atfork_unlock
-#define my_lstat() Perl_my_lstat(aTHX)
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp Perl_my_memcmp
-#endif
-#if !defined(HAS_MEMSET)
-#define my_memset Perl_my_memset
-#endif
#define my_pclose(a) Perl_my_pclose(aTHX_ a)
#define my_popen(a,b) Perl_my_popen(aTHX_ a,b)
#define my_popen_list(a,b,c) Perl_my_popen_list(aTHX_ a,b,c)
#define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b)
-#define my_stat() Perl_my_stat(aTHX)
+#define my_socketpair Perl_my_socketpair
#define my_strftime(a,b,c,d,e,f,g,h,i,j) Perl_my_strftime(aTHX_ a,b,c,d,e,f,g,h,i,j)
-#if defined(MYSWAP)
-#define my_swap(a) Perl_my_swap(aTHX_ a)
-#define my_htonl(a) Perl_my_htonl(aTHX_ a)
-#define my_ntohl(a) Perl_my_ntohl(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define my_unexec() Perl_my_unexec(aTHX)
-#endif
-#define newANONLIST(a) Perl_newANONLIST(aTHX_ a)
+#define newANONATTRSUB(a,b,c,d) Perl_newANONATTRSUB(aTHX_ a,b,c,d)
#define newANONHASH(a) Perl_newANONHASH(aTHX_ a)
+#define newANONLIST(a) Perl_newANONLIST(aTHX_ a)
#define newANONSUB(a,b,c) Perl_newANONSUB(aTHX_ a,b,c)
#define newASSIGNOP(a,b,c,d) Perl_newASSIGNOP(aTHX_ a,b,c,d)
-#define newCONDOP(a,b,c,d) Perl_newCONDOP(aTHX_ a,b,c,d)
-#define newCONSTSUB(a,b,c) Perl_newCONSTSUB(aTHX_ a,b,c)
-#ifdef PERL_MAD
-#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
-#else
-#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
-#endif
-#define newFOROP(a,b,c,d,e,f,g) Perl_newFOROP(aTHX_ a,b,c,d,e,f,g)
-#define newGIVENOP(a,b,c) Perl_newGIVENOP(aTHX_ a,b,c)
-#define newLOGOP(a,b,c,d) Perl_newLOGOP(aTHX_ a,b,c,d)
-#define newLOOPEX(a,b) Perl_newLOOPEX(aTHX_ a,b)
-#define newLOOPOP(a,b,c,d) Perl_newLOOPOP(aTHX_ a,b,c,d)
-#define newNULLLIST() Perl_newNULLLIST(aTHX)
-#define newOP(a,b) Perl_newOP(aTHX_ a,b)
-#define newPROG(a) Perl_newPROG(aTHX_ a)
-#define newRANGE(a,b,c) Perl_newRANGE(aTHX_ a,b,c)
-#define newSLICEOP(a,b,c) Perl_newSLICEOP(aTHX_ a,b,c)
-#define newSTATEOP(a,b,c) Perl_newSTATEOP(aTHX_ a,b,c)
-#define newSUB(a,b,c,d) Perl_newSUB(aTHX_ a,b,c,d)
-#define newXS_flags(a,b,c,d,e) Perl_newXS_flags(aTHX_ a,b,c,d,e)
-#define newXS(a,b,c) Perl_newXS(aTHX_ a,b,c)
+#define newATTRSUB(a,b,c,d,e) Perl_newATTRSUB(aTHX_ a,b,c,d,e)
#define newAVREF(a) Perl_newAVREF(aTHX_ a)
#define newBINOP(a,b,c,d) Perl_newBINOP(aTHX_ a,b,c,d)
+#define newCONDOP(a,b,c,d) Perl_newCONDOP(aTHX_ a,b,c,d)
+#define newCONSTSUB(a,b,c) Perl_newCONSTSUB(aTHX_ a,b,c)
#define newCVREF(a,b) Perl_newCVREF(aTHX_ a,b)
+#define newFOROP(a,b,c,d,e) Perl_newFOROP(aTHX_ a,b,c,d,e)
+#define newGIVENOP(a,b,c) Perl_newGIVENOP(aTHX_ a,b,c)
#define newGVOP(a,b,c) Perl_newGVOP(aTHX_ a,b,c)
-#define newGVgen(a) Perl_newGVgen(aTHX_ a)
#define newGVREF(a,b) Perl_newGVREF(aTHX_ a,b)
+#define newGVgen(a) Perl_newGVgen(aTHX_ a)
#define newHVREF(a) Perl_newHVREF(aTHX_ a)
#define newHVhv(a) Perl_newHVhv(aTHX_ a)
#define newLISTOP(a,b,c,d) Perl_newLISTOP(aTHX_ a,b,c,d)
-#ifdef USE_ITHREADS
-#define newPADOP(a,b,c) Perl_newPADOP(aTHX_ a,b,c)
-#endif
+#define newLOGOP(a,b,c,d) Perl_newLOGOP(aTHX_ a,b,c,d)
+#define newLOOPEX(a,b) Perl_newLOOPEX(aTHX_ a,b)
+#define newLOOPOP(a,b,c,d) Perl_newLOOPOP(aTHX_ a,b,c,d)
+#define newNULLLIST() Perl_newNULLLIST(aTHX)
+#define newOP(a,b) Perl_newOP(aTHX_ a,b)
#define newPMOP(a,b) Perl_newPMOP(aTHX_ a,b)
+#define newPROG(a) Perl_newPROG(aTHX_ a)
#define newPVOP(a,b,c) Perl_newPVOP(aTHX_ a,b,c)
+#define newRANGE(a,b,c) Perl_newRANGE(aTHX_ a,b,c)
#define newRV(a) Perl_newRV(aTHX_ a)
#define newRV_noinc(a) Perl_newRV_noinc(aTHX_ a)
+#define newSLICEOP(a,b,c) Perl_newSLICEOP(aTHX_ a,b,c)
+#define newSTATEOP(a,b,c) Perl_newSTATEOP(aTHX_ a,b,c)
#define newSV(a) Perl_newSV(aTHX_ a)
-#define newSVREF(a) Perl_newSVREF(aTHX_ a)
#define newSVOP(a,b,c) Perl_newSVOP(aTHX_ a,b,c)
+#define newSVREF(a) Perl_newSVREF(aTHX_ a)
+#define newSV_type(a) Perl_newSV_type(aTHX_ a)
+#define newSVhek(a) Perl_newSVhek(aTHX_ a)
#define newSViv(a) Perl_newSViv(aTHX_ a)
-#define newSVuv(a) Perl_newSVuv(aTHX_ a)
#define newSVnv(a) Perl_newSVnv(aTHX_ a)
#define newSVpv(a,b) Perl_newSVpv(aTHX_ a,b)
+#define newSVpv_share(a,b) Perl_newSVpv_share(aTHX_ a,b)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define newSVpvf Perl_newSVpvf
+#endif
#define newSVpvn(a,b) Perl_newSVpvn(aTHX_ a,b)
#define newSVpvn_flags(a,b,c) Perl_newSVpvn_flags(aTHX_ a,b,c)
-#define newSVhek(a) Perl_newSVhek(aTHX_ a)
#define newSVpvn_share(a,b,c) Perl_newSVpvn_share(aTHX_ a,b,c)
-#define vnewSVpvf(a,b) Perl_vnewSVpvf(aTHX_ a,b)
#define newSVrv(a,b) Perl_newSVrv(aTHX_ a,b)
#define newSVsv(a) Perl_newSVsv(aTHX_ a)
-#define newSV_type(a) Perl_newSV_type(aTHX_ a)
+#define newSVuv(a) Perl_newSVuv(aTHX_ a)
#define newUNOP(a,b,c) Perl_newUNOP(aTHX_ a,b,c)
#define newWHENOP(a,b) Perl_newWHENOP(aTHX_ a,b)
-#define newWHILEOP(a,b,c,d,e,f,g,h) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g,h)
+#define newWHILEOP(a,b,c,d,e,f,g) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g)
+#define newXS(a,b,c) Perl_newXS(aTHX_ a,b,c)
+#define newXS_flags(a,b,c,d,e) Perl_newXS_flags(aTHX_ a,b,c,d,e)
+#define new_collate(a) Perl_new_collate(aTHX_ a)
+#define new_ctype(a) Perl_new_ctype(aTHX_ a)
+#define new_numeric(a) Perl_new_numeric(aTHX_ a)
#define new_stackinfo(a,b) Perl_new_stackinfo(aTHX_ a,b)
-#define scan_vstring(a,b,c) Perl_scan_vstring(aTHX_ a,b,c)
-#define scan_version(a,b,c) Perl_scan_version(aTHX_ a,b,c)
-#define prescan_version(a,b,c,d,e,f,g) Perl_prescan_version(aTHX_ a,b,c,d,e,f,g)
#define new_version(a) Perl_new_version(aTHX_ a)
-#define upg_version(a,b) Perl_upg_version(aTHX_ a,b)
-#define vverify(a) Perl_vverify(aTHX_ a)
-#define vnumify(a) Perl_vnumify(aTHX_ a)
-#define vnormal(a) Perl_vnormal(aTHX_ a)
-#define vstringify(a) Perl_vstringify(aTHX_ a)
-#define vcmp(a,b) Perl_vcmp(aTHX_ a,b)
-#ifdef PERL_CORE
-#define nextargv(a) Perl_nextargv(aTHX_ a)
-#endif
#define ninstr Perl_ninstr
+#define nothreadhook() Perl_nothreadhook(aTHX)
+#define op_append_elem(a,b,c) Perl_op_append_elem(aTHX_ a,b,c)
+#define op_append_list(a,b,c) Perl_op_append_list(aTHX_ a,b,c)
+#define op_contextualize(a,b) Perl_op_contextualize(aTHX_ a,b)
+#define op_dump(a) Perl_op_dump(aTHX_ a)
#define op_free(a) Perl_op_free(aTHX_ a)
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define package(a) Perl_package(aTHX_ a)
-#endif
-#else
-#ifdef PERL_CORE
-#define package(a) Perl_package(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_CORE
-#define package_version(a) Perl_package_version(aTHX_ a)
-#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b)
-#define allocmy(a,b,c) Perl_allocmy(aTHX_ a,b,c)
-#endif
-#define pad_findmy(a,b,c) Perl_pad_findmy(aTHX_ a,b,c)
-#define find_rundefsvoffset() Perl_find_rundefsvoffset(aTHX)
-#ifdef PERL_CORE
-#define oopsAV(a) Perl_oopsAV(aTHX_ a)
-#define oopsHV(a) Perl_oopsHV(aTHX_ a)
-#define pad_leavemy() Perl_pad_leavemy(aTHX)
-#endif
-#ifdef DEBUGGING
-#define pad_sv(a) Perl_pad_sv(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define pad_free(a) Perl_pad_free(aTHX_ a)
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_reset() S_pad_reset(aTHX)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
-#define peep(a) Perl_peep(aTHX_ a)
-#endif
-#if defined(USE_REENTRANT_API)
-#define reentrant_size() Perl_reentrant_size(aTHX)
-#define reentrant_init() Perl_reentrant_init(aTHX)
-#define reentrant_free() Perl_reentrant_free(aTHX)
-#endif
-#define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b)
-#define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c)
-#define call_method(a,b) Perl_call_method(aTHX_ a,b)
-#define call_pv(a,b) Perl_call_pv(aTHX_ a,b)
-#define call_sv(a,b) Perl_call_sv(aTHX_ a,b)
-#define despatch_signals() Perl_despatch_signals(aTHX)
-#define doref(a,b,c) Perl_doref(aTHX_ a,b,c)
-#define eval_pv(a,b) Perl_eval_pv(aTHX_ a,b)
-#define eval_sv(a,b) Perl_eval_sv(aTHX_ a,b)
-#define get_sv(a,b) Perl_get_sv(aTHX_ a,b)
-#define get_av(a,b) Perl_get_av(aTHX_ a,b)
-#define get_hv(a,b) Perl_get_hv(aTHX_ a,b)
-#define get_cv(a,b) Perl_get_cv(aTHX_ a,b)
-#define get_cvn_flags(a,b,c) Perl_get_cvn_flags(aTHX_ a,b,c)
-#define init_i18nl10n(a) Perl_init_i18nl10n(aTHX_ a)
-#define init_i18nl14n(a) Perl_init_i18nl14n(aTHX_ a)
-#define new_collate(a) Perl_new_collate(aTHX_ a)
-#define new_ctype(a) Perl_new_ctype(aTHX_ a)
-#define new_numeric(a) Perl_new_numeric(aTHX_ a)
-#define set_numeric_local() Perl_set_numeric_local(aTHX)
-#define set_numeric_radix() Perl_set_numeric_radix(aTHX)
-#define set_numeric_standard() Perl_set_numeric_standard(aTHX)
-#define require_pv(a) Perl_require_pv(aTHX_ a)
+#define op_linklist(a) Perl_op_linklist(aTHX_ a)
+#define op_lvalue(a,b) Perl_op_lvalue(aTHX_ a,b)
+#define op_null(a) Perl_op_null(aTHX_ a)
+#define op_prepend_elem(a,b,c) Perl_op_prepend_elem(aTHX_ a,b,c)
+#define op_refcnt_lock() Perl_op_refcnt_lock(aTHX)
+#define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX)
+#define op_scope(a) Perl_op_scope(aTHX_ a)
#define pack_cat(a,b,c,d,e,f,g) Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
#define packlist(a,b,c,d,e) Perl_packlist(aTHX_ a,b,c,d,e)
-#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
-#ifdef PERL_CORE
-#define pidgone(a,b) S_pidgone(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pmruntime(a,b,c) Perl_pmruntime(aTHX_ a,b,c)
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pmtrans(a,b,c) S_pmtrans(aTHX_ a,b,c)
-#endif
-#endif
+#define pad_findmy(a,b,c) Perl_pad_findmy(aTHX_ a,b,c)
+#define parse_arithexpr(a) Perl_parse_arithexpr(aTHX_ a)
+#define parse_barestmt(a) Perl_parse_barestmt(aTHX_ a)
+#define parse_block(a) Perl_parse_block(aTHX_ a)
+#define parse_fullexpr(a) Perl_parse_fullexpr(aTHX_ a)
+#define parse_fullstmt(a) Perl_parse_fullstmt(aTHX_ a)
+#define parse_label(a) Perl_parse_label(aTHX_ a)
+#define parse_listexpr(a) Perl_parse_listexpr(aTHX_ a)
+#define parse_stmtseq(a) Perl_parse_stmtseq(aTHX_ a)
+#define parse_termexpr(a) Perl_parse_termexpr(aTHX_ a)
+#define pmop_dump(a) Perl_pmop_dump(aTHX_ a)
#define pop_scope() Perl_pop_scope(aTHX)
-#ifdef PERL_CORE
-#define prepend_elem(a,b,c) Perl_prepend_elem(aTHX_ a,b,c)
-#endif
-#define push_scope() Perl_push_scope(aTHX)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define refkids(a,b) S_refkids(aTHX_ a,b)
-#endif
-#endif
-#define regdump(a) Perl_regdump(aTHX_ a)
-#define regdump(a) Perl_regdump(aTHX_ a)
-#define regclass_swash(a,b,c,d,e) Perl_regclass_swash(aTHX_ a,b,c,d,e)
+#define pregcomp(a,b) Perl_pregcomp(aTHX_ a,b)
#define pregexec(a,b,c,d,e,f,g) Perl_pregexec(aTHX_ a,b,c,d,e,f,g)
#define pregfree(a) Perl_pregfree(aTHX_ a)
#define pregfree2(a) Perl_pregfree2(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_temp_copy(a,b) Perl_reg_temp_copy(aTHX_ a,b)
-#endif
-#define regfree_internal(a) Perl_regfree_internal(aTHX_ a)
-#if defined(USE_ITHREADS)
-#define regdupe_internal(a,b) Perl_regdupe_internal(aTHX_ a,b)
-#endif
-#define pregcomp(a,b) Perl_pregcomp(aTHX_ a,b)
+#define prescan_version(a,b,c,d,e,f,g) Perl_prescan_version(aTHX_ a,b,c,d,e,f,g)
+#define ptr_table_clear(a) Perl_ptr_table_clear(aTHX_ a)
+#define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b)
+#define ptr_table_free(a) Perl_ptr_table_free(aTHX_ a)
+#define ptr_table_new() Perl_ptr_table_new(aTHX)
+#define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a)
+#define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c)
+#define push_scope() Perl_push_scope(aTHX)
+#define pv_display(a,b,c,d,e) Perl_pv_display(aTHX_ a,b,c,d,e)
+#define pv_escape(a,b,c,d,e,f) Perl_pv_escape(aTHX_ a,b,c,d,e,f)
+#define pv_pretty(a,b,c,d,e,f,g) Perl_pv_pretty(aTHX_ a,b,c,d,e,f,g)
+#define pv_uni_display(a,b,c,d,e) Perl_pv_uni_display(aTHX_ a,b,c,d,e)
#define re_compile(a,b) Perl_re_compile(aTHX_ a,b)
#define re_intuit_start(a,b,c,d,e,f) Perl_re_intuit_start(aTHX_ a,b,c,d,e,f)
#define re_intuit_string(a) Perl_re_intuit_string(aTHX_ a)
-#define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
-#define regnext(a) Perl_regnext(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_named_buff(a,b,c,d) Perl_reg_named_buff(aTHX_ a,b,c,d)
-#define reg_named_buff_iter(a,b,c) Perl_reg_named_buff_iter(aTHX_ a,b,c)
-#endif
-#define reg_named_buff_fetch(a,b,c) Perl_reg_named_buff_fetch(aTHX_ a,b,c)
+#define reg_named_buff_all(a,b) Perl_reg_named_buff_all(aTHX_ a,b)
#define reg_named_buff_exists(a,b,c) Perl_reg_named_buff_exists(aTHX_ a,b,c)
+#define reg_named_buff_fetch(a,b,c) Perl_reg_named_buff_fetch(aTHX_ a,b,c)
#define reg_named_buff_firstkey(a,b) Perl_reg_named_buff_firstkey(aTHX_ a,b)
#define reg_named_buff_nextkey(a,b) Perl_reg_named_buff_nextkey(aTHX_ a,b)
#define reg_named_buff_scalar(a,b) Perl_reg_named_buff_scalar(aTHX_ a,b)
-#define reg_named_buff_all(a,b) Perl_reg_named_buff_all(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_numbered_buff_fetch(a,b,c) Perl_reg_numbered_buff_fetch(aTHX_ a,b,c)
-#define reg_numbered_buff_store(a,b,c) Perl_reg_numbered_buff_store(aTHX_ a,b,c)
-#define reg_numbered_buff_length(a,b,c) Perl_reg_numbered_buff_length(aTHX_ a,b,c)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_qr_package(a) Perl_reg_qr_package(aTHX_ a)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regprop(a,b,c) Perl_regprop(aTHX_ a,b,c)
-#endif
+#define regclass_swash(a,b,c,d,e) Perl_regclass_swash(aTHX_ a,b,c,d,e)
+#define regdump(a) Perl_regdump(aTHX_ a)
+#define regdump(a) Perl_regdump(aTHX_ a)
+#define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
+#define regfree_internal(a) Perl_regfree_internal(aTHX_ a)
+#define reginitcolors() Perl_reginitcolors(aTHX)
+#define regnext(a) Perl_regnext(aTHX_ a)
#define repeatcpy Perl_repeatcpy
+#define require_pv(a) Perl_require_pv(aTHX_ a)
#define rninstr Perl_rninstr
#define rsignal(a,b) Perl_rsignal(aTHX_ a,b)
-#ifdef PERL_CORE
-#define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b)
-#define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c)
-#endif
#define rsignal_state(a) Perl_rsignal_state(aTHX_ a)
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define rxres_free(a) S_rxres_free(aTHX_ a)
-#define rxres_restore(a,b) S_rxres_restore(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b)
-#endif
-#if !defined(HAS_RENAME)
-#ifdef PERL_CORE
-#define same_dirent(a,b) Perl_same_dirent(aTHX_ a,b)
-#endif
-#endif
-#define savepv(a) Perl_savepv(aTHX_ a)
-#define savepvn(a,b) Perl_savepvn(aTHX_ a,b)
-#define savesharedpv(a) Perl_savesharedpv(aTHX_ a)
-#define savesharedpvn(a,b) Perl_savesharedpvn(aTHX_ a,b)
-#define savesvpv(a) Perl_savesvpv(aTHX_ a)
-#define savestack_grow() Perl_savestack_grow(aTHX)
-#define savestack_grow_cnt(a) Perl_savestack_grow_cnt(aTHX_ a)
+#define runops_debug() Perl_runops_debug(aTHX)
+#define runops_standard() Perl_runops_standard(aTHX)
+#define rv2cv_op_cv(a,b) Perl_rv2cv_op_cv(aTHX_ a,b)
+#define safesyscalloc Perl_safesyscalloc
+#define safesysfree Perl_safesysfree
+#define safesysmalloc Perl_safesysmalloc
+#define safesysrealloc Perl_safesysrealloc
+#define save_I16(a) Perl_save_I16(aTHX_ a)
+#define save_I32(a) Perl_save_I32(aTHX_ a)
+#define save_I8(a) Perl_save_I8(aTHX_ a)
+#define save_adelete(a,b) Perl_save_adelete(aTHX_ a,b)
#define save_aelem_flags(a,b,c,d) Perl_save_aelem_flags(aTHX_ a,b,c,d)
#define save_alloc(a,b) Perl_save_alloc(aTHX_ a,b)
#define save_aptr(a) Perl_save_aptr(aTHX_ a)
@@ -3232,152 +450,107 @@
#define save_bool(a) Perl_save_bool(aTHX_ a)
#define save_clearsv(a) Perl_save_clearsv(aTHX_ a)
#define save_delete(a,b,c) Perl_save_delete(aTHX_ a,b,c)
-#define save_hdelete(a,b) Perl_save_hdelete(aTHX_ a,b)
-#define save_adelete(a,b) Perl_save_adelete(aTHX_ a,b)
#define save_destructor(a,b) Perl_save_destructor(aTHX_ a,b)
#define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b)
-#ifdef PERL_CORE
-#endif
-#define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a)
#define save_generic_pvref(a) Perl_save_generic_pvref(aTHX_ a)
-#define save_shared_pvref(a) Perl_save_shared_pvref(aTHX_ a)
+#define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a)
#define save_gp(a,b) Perl_save_gp(aTHX_ a,b)
#define save_hash(a) Perl_save_hash(aTHX_ a)
-#ifdef PERL_CORE
-#define save_hints() Perl_save_hints(aTHX)
-#endif
+#define save_hdelete(a,b) Perl_save_hdelete(aTHX_ a,b)
#define save_helem_flags(a,b,c,d) Perl_save_helem_flags(aTHX_ a,b,c,d)
+#define save_hints() Perl_save_hints(aTHX)
#define save_hptr(a) Perl_save_hptr(aTHX_ a)
-#define save_I16(a) Perl_save_I16(aTHX_ a)
-#define save_I32(a) Perl_save_I32(aTHX_ a)
-#define save_I8(a) Perl_save_I8(aTHX_ a)
#define save_int(a) Perl_save_int(aTHX_ a)
#define save_item(a) Perl_save_item(aTHX_ a)
#define save_iv(a) Perl_save_iv(aTHX_ a)
#define save_list(a,b) Perl_save_list(aTHX_ a,b)
#define save_long(a) Perl_save_long(aTHX_ a)
#define save_nogv(a) Perl_save_nogv(aTHX_ a)
-#ifdef PERL_CORE
-#endif
-#define save_scalar(a) Perl_save_scalar(aTHX_ a)
+#define save_padsv_and_mortalize(a) Perl_save_padsv_and_mortalize(aTHX_ a)
#define save_pptr(a) Perl_save_pptr(aTHX_ a)
-#define save_vptr(a) Perl_save_vptr(aTHX_ a)
+#define save_pushi32ptr(a,b,c) Perl_save_pushi32ptr(aTHX_ a,b,c)
+#define save_pushptr(a,b) Perl_save_pushptr(aTHX_ a,b)
+#define save_pushptrptr(a,b,c) Perl_save_pushptrptr(aTHX_ a,b,c)
#define save_re_context() Perl_save_re_context(aTHX)
-#define save_padsv_and_mortalize(a) Perl_save_padsv_and_mortalize(aTHX_ a)
+#define save_scalar(a) Perl_save_scalar(aTHX_ a)
+#define save_set_svflags(a,b,c) Perl_save_set_svflags(aTHX_ a,b,c)
+#define save_shared_pvref(a) Perl_save_shared_pvref(aTHX_ a)
#define save_sptr(a) Perl_save_sptr(aTHX_ a)
#define save_svref(a) Perl_save_svref(aTHX_ a)
-#define save_pushptr(a,b) Perl_save_pushptr(aTHX_ a,b)
-#ifdef PERL_CORE
-#define save_pushi32ptr(a,b,c) Perl_save_pushi32ptr(aTHX_ a,b,c)
-#define save_pushptrptr(a,b,c) Perl_save_pushptrptr(aTHX_ a,b,c)
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_pushptri32ptr(a,b,c,d) S_save_pushptri32ptr(aTHX_ a,b,c,d)
-#endif
-#endif
-#ifdef PERL_CORE
-#define sawparens(a) Perl_sawparens(aTHX_ a)
-#define scalar(a) Perl_scalar(aTHX_ a)
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define scalarkids(a) S_scalarkids(aTHX_ a)
-#define scalarseq(a) S_scalarseq(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_CORE
-#define scalarvoid(a) Perl_scalarvoid(aTHX_ a)
-#endif
+#define save_vptr(a) Perl_save_vptr(aTHX_ a)
+#define savepv(a) Perl_savepv(aTHX_ a)
+#define savepvn(a,b) Perl_savepvn(aTHX_ a,b)
+#define savesharedpv(a) Perl_savesharedpv(aTHX_ a)
+#define savesharedpvn(a,b) Perl_savesharedpvn(aTHX_ a,b)
+#define savesharedsvpv(a) Perl_savesharedsvpv(aTHX_ a)
+#define savestack_grow() Perl_savestack_grow(aTHX)
+#define savestack_grow_cnt(a) Perl_savestack_grow_cnt(aTHX_ a)
+#define savesvpv(a) Perl_savesvpv(aTHX_ a)
#define scan_bin(a,b,c) Perl_scan_bin(aTHX_ a,b,c)
#define scan_hex(a,b,c) Perl_scan_hex(aTHX_ a,b,c)
#define scan_num(a,b) Perl_scan_num(aTHX_ a,b)
#define scan_oct(a,b,c) Perl_scan_oct(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define scope(a) Perl_scope(aTHX_ a)
-#endif
+#define scan_version(a,b,c) Perl_scan_version(aTHX_ a,b,c)
+#define scan_vstring(a,b,c) Perl_scan_vstring(aTHX_ a,b,c)
#define screaminstr(a,b,c,d,e,f) Perl_screaminstr(aTHX_ a,b,c,d,e,f)
+#define seed() Perl_seed(aTHX)
+#define set_context Perl_set_context
+#define set_numeric_local() Perl_set_numeric_local(aTHX)
+#define set_numeric_radix() Perl_set_numeric_radix(aTHX)
+#define set_numeric_standard() Perl_set_numeric_standard(aTHX)
#define setdefout(a) Perl_setdefout(aTHX_ a)
#define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c)
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#else
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#endif
+#define sortsv(a,b,c) Perl_sortsv(aTHX_ a,b,c)
+#define sortsv_flags(a,b,c,d) Perl_sortsv_flags(aTHX_ a,b,c,d)
#define stack_grow(a,b,c) Perl_stack_grow(aTHX_ a,b,c)
#define start_subparse(a,b) Perl_start_subparse(aTHX_ a,b)
-#ifdef PERL_CORE
-#define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a)
-#endif
-#define sv_2bool(a) Perl_sv_2bool(aTHX_ a)
+#define stashpv_hvname_match(a,b) Perl_stashpv_hvname_match(aTHX_ a,b)
+#define str_to_version(a) Perl_str_to_version(aTHX_ a)
+#define sv_2bool_flags(a,b) Perl_sv_2bool_flags(aTHX_ a,b)
#define sv_2cv(a,b,c,d) Perl_sv_2cv(aTHX_ a,b,c,d)
#define sv_2io(a) Perl_sv_2io(aTHX_ a)
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define glob_2number(a) S_glob_2number(aTHX_ a)
-#endif
-#endif
#define sv_2iv_flags(a,b) Perl_sv_2iv_flags(aTHX_ a,b)
#define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a)
-#define sv_2nv(a) Perl_sv_2nv(aTHX_ a)
-#ifdef PERL_CORE
-#define sv_2num(a) Perl_sv_2num(aTHX_ a)
-#endif
+#define sv_2nv_flags(a,b) Perl_sv_2nv_flags(aTHX_ a,b)
#define sv_2pv_flags(a,b,c) Perl_sv_2pv_flags(aTHX_ a,b,c)
-#define sv_2pvutf8(a,b) Perl_sv_2pvutf8(aTHX_ a,b)
#define sv_2pvbyte(a,b) Perl_sv_2pvbyte(aTHX_ a,b)
-#define sv_pvn_nomg(a,b) Perl_sv_pvn_nomg(aTHX_ a,b)
+#define sv_2pvutf8(a,b) Perl_sv_2pvutf8(aTHX_ a,b)
#define sv_2uv_flags(a,b) Perl_sv_2uv_flags(aTHX_ a,b)
-#define sv_iv(a) Perl_sv_iv(aTHX_ a)
-#define sv_uv(a) Perl_sv_uv(aTHX_ a)
-#define sv_nv(a) Perl_sv_nv(aTHX_ a)
-#define sv_pvn(a,b) Perl_sv_pvn(aTHX_ a,b)
-#define sv_pvutf8n(a,b) Perl_sv_pvutf8n(aTHX_ a,b)
-#define sv_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b)
-#define sv_true(a) Perl_sv_true(aTHX_ a)
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_add_arena(a,b,c) S_sv_add_arena(aTHX_ a,b,c)
-#endif
-#endif
#define sv_backoff(a) Perl_sv_backoff(aTHX_ a)
#define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b)
-#define sv_vcatpvf(a,b,c) Perl_sv_vcatpvf(aTHX_ a,b,c)
+#define sv_cat_decode(a,b,c,d,e,f) Perl_sv_cat_decode(aTHX_ a,b,c,d,e,f)
#define sv_catpv(a,b) Perl_sv_catpv(aTHX_ a,b)
-#define sv_chop(a,b) Perl_sv_chop(aTHX_ a,b)
-#ifdef PERL_CORE
-#define sv_clean_all() Perl_sv_clean_all(aTHX)
-#define sv_clean_objs() Perl_sv_clean_objs(aTHX)
+#define sv_catpv_flags(a,b,c) Perl_sv_catpv_flags(aTHX_ a,b,c)
+#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define sv_catpvf Perl_sv_catpvf
+#define sv_catpvf_mg Perl_sv_catpvf_mg
#endif
+#define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d)
+#define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c)
+#define sv_chop(a,b) Perl_sv_chop(aTHX_ a,b)
#define sv_clear(a) Perl_sv_clear(aTHX_ a)
-#define sv_cmp(a,b) Perl_sv_cmp(aTHX_ a,b)
-#define sv_cmp_locale(a,b) Perl_sv_cmp_locale(aTHX_ a,b)
-#if defined(USE_LOCALE_COLLATE)
-#define sv_collxfrm(a,b) Perl_sv_collxfrm(aTHX_ a,b)
-#endif
+#define sv_cmp_flags(a,b,c) Perl_sv_cmp_flags(aTHX_ a,b,c)
+#define sv_cmp_locale_flags(a,b,c) Perl_sv_cmp_locale_flags(aTHX_ a,b,c)
#define sv_compile_2op(a,b,c,d) Perl_sv_compile_2op(aTHX_ a,b,c,d)
-#define getcwd_sv(a) Perl_getcwd_sv(aTHX_ a)
+#define sv_copypv(a,b) Perl_sv_copypv(aTHX_ a,b)
#define sv_dec(a) Perl_sv_dec(aTHX_ a)
-#define sv_dump(a) Perl_sv_dump(aTHX_ a)
+#define sv_dec_nomg(a) Perl_sv_dec_nomg(aTHX_ a)
#define sv_derived_from(a,b) Perl_sv_derived_from(aTHX_ a,b)
+#define sv_destroyable(a) Perl_sv_destroyable(aTHX_ a)
#define sv_does(a,b) Perl_sv_does(aTHX_ a,b)
-#define sv_eq(a,b) Perl_sv_eq(aTHX_ a,b)
+#define sv_dump(a) Perl_sv_dump(aTHX_ a)
+#define sv_eq_flags(a,b,c) Perl_sv_eq_flags(aTHX_ a,b,c)
+#define sv_force_normal_flags(a,b) Perl_sv_force_normal_flags(aTHX_ a,b)
#define sv_free(a) Perl_sv_free(aTHX_ a)
-#ifdef PERL_CORE
-#define sv_free_arenas() Perl_sv_free_arenas(aTHX)
-#endif
#define sv_gets(a,b,c) Perl_sv_gets(aTHX_ a,b,c)
#define sv_grow(a,b) Perl_sv_grow(aTHX_ a,b)
#define sv_inc(a) Perl_sv_inc(aTHX_ a)
+#define sv_inc_nomg(a) Perl_sv_inc_nomg(aTHX_ a)
#define sv_insert_flags(a,b,c,d,e,f) Perl_sv_insert_flags(aTHX_ a,b,c,d,e,f)
#define sv_isa(a,b) Perl_sv_isa(aTHX_ a,b)
#define sv_isobject(a) Perl_sv_isobject(aTHX_ a)
+#define sv_iv(a) Perl_sv_iv(aTHX_ a)
#define sv_len(a) Perl_sv_len(aTHX_ a)
#define sv_len_utf8(a) Perl_sv_len_utf8(aTHX_ a)
#define sv_magic(a,b,c,d,e) Perl_sv_magic(aTHX_ a,b,c,d,e)
@@ -3385,283 +558,399 @@
#define sv_mortalcopy(a) Perl_sv_mortalcopy(aTHX_ a)
#define sv_newmortal() Perl_sv_newmortal(aTHX)
#define sv_newref(a) Perl_sv_newref(aTHX_ a)
+#define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a)
+#define sv_nv(a) Perl_sv_nv(aTHX_ a)
#define sv_peek(a) Perl_sv_peek(aTHX_ a)
+#define sv_pos_b2u(a,b) Perl_sv_pos_b2u(aTHX_ a,b)
#define sv_pos_u2b(a,b,c) Perl_sv_pos_u2b(aTHX_ a,b,c)
#define sv_pos_u2b_flags(a,b,c,d) Perl_sv_pos_u2b_flags(aTHX_ a,b,c,d)
-#define sv_pos_b2u(a,b) Perl_sv_pos_b2u(aTHX_ a,b)
-#define sv_pvutf8n_force(a,b) Perl_sv_pvutf8n_force(aTHX_ a,b)
+#define sv_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b)
#define sv_pvbyten_force(a,b) Perl_sv_pvbyten_force(aTHX_ a,b)
+#define sv_pvn(a,b) Perl_sv_pvn(aTHX_ a,b)
+#define sv_pvn_force_flags(a,b,c) Perl_sv_pvn_force_flags(aTHX_ a,b,c)
+#define sv_pvn_nomg(a,b) Perl_sv_pvn_nomg(aTHX_ a,b)
+#define sv_pvutf8n(a,b) Perl_sv_pvutf8n(aTHX_ a,b)
+#define sv_pvutf8n_force(a,b) Perl_sv_pvutf8n_force(aTHX_ a,b)
#define sv_recode_to_utf8(a,b) Perl_sv_recode_to_utf8(aTHX_ a,b)
-#define sv_cat_decode(a,b,c,d,e,f) Perl_sv_cat_decode(aTHX_ a,b,c,d,e,f)
#define sv_reftype(a,b) Perl_sv_reftype(aTHX_ a,b)
#define sv_replace(a,b) Perl_sv_replace(aTHX_ a,b)
#define sv_report_used() Perl_sv_report_used(aTHX)
#define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b)
-#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c)
+#define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a)
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
-#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b)
-#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b)
+#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
#define sv_setnv(a,b) Perl_sv_setnv(aTHX_ a,b)
+#define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b)
+#define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b)
+#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define sv_setpvf Perl_sv_setpvf
+#define sv_setpvf_mg Perl_sv_setpvf_mg
+#endif
+#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b)
+#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b)
+#define sv_setpvn(a,b,c) Perl_sv_setpvn(aTHX_ a,b,c)
+#define sv_setpvn_mg(a,b,c) Perl_sv_setpvn_mg(aTHX_ a,b,c)
#define sv_setref_iv(a,b,c) Perl_sv_setref_iv(aTHX_ a,b,c)
-#define sv_setref_uv(a,b,c) Perl_sv_setref_uv(aTHX_ a,b,c)
#define sv_setref_nv(a,b,c) Perl_sv_setref_nv(aTHX_ a,b,c)
#define sv_setref_pv(a,b,c) Perl_sv_setref_pv(aTHX_ a,b,c)
#define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
-#define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b)
-#define sv_setpvn(a,b,c) Perl_sv_setpvn(aTHX_ a,b,c)
+#define sv_setref_uv(a,b,c) Perl_sv_setref_uv(aTHX_ a,b,c)
+#define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c)
+#define sv_setsv_mg(a,b) Perl_sv_setsv_mg(aTHX_ a,b)
+#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b)
+#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b)
#define sv_tainted(a) Perl_sv_tainted(aTHX_ a)
+#define sv_true(a) Perl_sv_true(aTHX_ a)
+#define sv_uni_display(a,b,c,d) Perl_sv_uni_display(aTHX_ a,b,c,d)
#define sv_unmagic(a,b) Perl_sv_unmagic(aTHX_ a,b)
+#define sv_unmagicext(a,b,c) Perl_sv_unmagicext(aTHX_ a,b,c)
#define sv_unref_flags(a,b) Perl_sv_unref_flags(aTHX_ a,b)
#define sv_untaint(a) Perl_sv_untaint(aTHX_ a)
#define sv_upgrade(a,b) Perl_sv_upgrade(aTHX_ a,b)
#define sv_usepvn_flags(a,b,c,d) Perl_sv_usepvn_flags(aTHX_ a,b,c,d)
+#define sv_utf8_decode(a) Perl_sv_utf8_decode(aTHX_ a)
+#define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b)
+#define sv_utf8_encode(a) Perl_sv_utf8_encode(aTHX_ a)
+#define sv_utf8_upgrade_flags_grow(a,b,c) Perl_sv_utf8_upgrade_flags_grow(aTHX_ a,b,c)
+#define sv_uv(a) Perl_sv_uv(aTHX_ a)
+#define sv_vcatpvf(a,b,c) Perl_sv_vcatpvf(aTHX_ a,b,c)
+#define sv_vcatpvf_mg(a,b,c) Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
#define sv_vcatpvfn(a,b,c,d,e,f,g) Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
+#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c)
+#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
#define sv_vsetpvfn(a,b,c,d,e,f,g) Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
-#define str_to_version(a) Perl_str_to_version(aTHX_ a)
-#define swash_init(a,b,c,d,e) Perl_swash_init(aTHX_ a,b,c,d,e)
#define swash_fetch(a,b,c) Perl_swash_fetch(aTHX_ a,b,c)
+#define swash_init(a,b,c,d,e) Perl_swash_init(aTHX_ a,b,c,d,e)
#define taint_env() Perl_taint_env(aTHX)
#define taint_proper(a,b) Perl_taint_proper(aTHX_ a,b)
+#define tmps_grow(a) Perl_tmps_grow(aTHX_ a)
+#define to_uni_lower(a,b,c) Perl_to_uni_lower(aTHX_ a,b,c)
+#define to_uni_lower_lc(a) Perl_to_uni_lower_lc(aTHX_ a)
+#define to_uni_title(a,b,c) Perl_to_uni_title(aTHX_ a,b,c)
+#define to_uni_title_lc(a) Perl_to_uni_title_lc(aTHX_ a)
+#define to_uni_upper(a,b,c) Perl_to_uni_upper(aTHX_ a,b,c)
+#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a)
#define to_utf8_case(a,b,c,d,e,f) Perl_to_utf8_case(aTHX_ a,b,c,d,e,f)
#define to_utf8_lower(a,b,c) Perl_to_utf8_lower(aTHX_ a,b,c)
-#define to_utf8_upper(a,b,c) Perl_to_utf8_upper(aTHX_ a,b,c)
#define to_utf8_title(a,b,c) Perl_to_utf8_title(aTHX_ a,b,c)
-#define to_utf8_fold(a,b,c) Perl_to_utf8_fold(aTHX_ a,b,c)
-#if defined(UNLINK_ALL_VERSIONS)
-#define unlnk(a) Perl_unlnk(aTHX_ a)
-#endif
+#define to_utf8_upper(a,b,c) Perl_to_utf8_upper(aTHX_ a,b,c)
#define unpack_str(a,b,c,d,e,f,g,h) Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h)
#define unpackstring(a,b,c,d,e) Perl_unpackstring(aTHX_ a,b,c,d,e)
#define unsharepvn(a,b,c) Perl_unsharepvn(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define unshare_hek(a) Perl_unshare_hek(aTHX_ a)
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e)
-#endif
-#else
-#ifdef PERL_CORE
-#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e)
-#endif
-#endif
+#define upg_version(a,b) Perl_upg_version(aTHX_ a,b)
#define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d)
#define utf16_to_utf8_reversed(a,b,c,d) Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
-#define utf8_length(a,b) Perl_utf8_length(aTHX_ a,b)
#define utf8_distance(a,b) Perl_utf8_distance(aTHX_ a,b)
#define utf8_hop(a,b) Perl_utf8_hop(aTHX_ a,b)
+#define utf8_length(a,b) Perl_utf8_length(aTHX_ a,b)
#define utf8_to_bytes(a,b) Perl_utf8_to_bytes(aTHX_ a,b)
-#define bytes_from_utf8(a,b,c) Perl_bytes_from_utf8(aTHX_ a,b,c)
-#define bytes_to_utf8(a,b) Perl_bytes_to_utf8(aTHX_ a,b)
#define utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b)
#define utf8_to_uvuni(a,b) Perl_utf8_to_uvuni(aTHX_ a,b)
-#ifdef EBCDIC
-#define utf8n_to_uvchr(a,b,c,d) Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
-#else
-#endif
#define utf8n_to_uvuni(a,b,c,d) Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
-#ifdef EBCDIC
-#define uvchr_to_utf8(a,b) Perl_uvchr_to_utf8(aTHX_ a,b)
-#else
-#endif
#define uvchr_to_utf8_flags(a,b,c) Perl_uvchr_to_utf8_flags(aTHX_ a,b,c)
#define uvuni_to_utf8_flags(a,b,c) Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
-#define pv_uni_display(a,b,c,d,e) Perl_pv_uni_display(aTHX_ a,b,c,d,e)
-#define sv_uni_display(a,b,c,d) Perl_sv_uni_display(aTHX_ a,b,c,d)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a)
+#define vcmp(a,b) Perl_vcmp(aTHX_ a,b)
+#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
+#define vdeb(a,b) Perl_vdeb(aTHX_ a,b)
+#define vform(a,b) Perl_vform(aTHX_ a,b)
+#define vload_module(a,b,c,d) Perl_vload_module(aTHX_ a,b,c,d)
+#define vmess(a,b) Perl_vmess(aTHX_ a,b)
+#define vnewSVpvf(a,b) Perl_vnewSVpvf(aTHX_ a,b)
+#define vnormal(a) Perl_vnormal(aTHX_ a)
+#define vnumify(a) Perl_vnumify(aTHX_ a)
+#define vstringify(a) Perl_vstringify(aTHX_ a)
+#define vverify(a) Perl_vverify(aTHX_ a)
+#define vwarn(a,b) Perl_vwarn(aTHX_ a,b)
+#define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define warn Perl_warn
#endif
-#ifdef PERL_CORE
-#define vivify_ref(a,b) Perl_vivify_ref(aTHX_ a,b)
-#define wait4pid(a,b,c) Perl_wait4pid(aTHX_ a,b,c)
-#define parse_unicode_opts(a) Perl_parse_unicode_opts(aTHX_ a)
+#define warn_sv(a) Perl_warn_sv(aTHX_ a)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define warner Perl_warner
#endif
-#define seed() Perl_seed(aTHX)
-#ifdef PERL_CORE
-#define get_hash_seed() Perl_get_hash_seed(aTHX)
-#define report_evil_fh(a,b,c) Perl_report_evil_fh(aTHX_ a,b,c)
+#define whichsig(a) Perl_whichsig(aTHX_ a)
+#if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
+#define csighandler Perl_csighandler
#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define report_uninit(a) Perl_report_uninit(aTHX_ a)
+#if !(defined(NO_MATHOMS))
+#define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a)
#endif
-#define vwarn(a,b) Perl_vwarn(aTHX_ a,b)
-#define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define watch(a) Perl_watch(aTHX_ a)
+#if !(defined(PERL_MAD))
+#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
+#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
#endif
-#define whichsig(a) Perl_whichsig(aTHX_ a)
-#ifdef PERL_CORE
-#define write_to_stderr(a) Perl_write_to_stderr(aTHX_ a)
-#define yyerror(a) Perl_yyerror(aTHX_ a)
+#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
+#define my_bzero Perl_my_bzero
#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define yylex() Perl_yylex(aTHX)
+#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
+#define my_memcmp Perl_my_memcmp
#endif
-#ifdef PERL_CORE
-#define yyparse() Perl_yyparse(aTHX)
-#define parser_free(a) Perl_parser_free(aTHX_ a)
+#if !defined(HAS_MEMSET)
+#define my_memset Perl_my_memset
#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define yywarn(a) S_yywarn(aTHX_ a)
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+#define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b)
+#endif
+#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
+#define my_bcopy Perl_my_bcopy
+#endif
+#if defined(DEBUGGING)
+#define pad_sv(a) Perl_pad_sv(aTHX_ a)
+#endif
+#if defined(DUMP_FDS)
+#define dump_fds(a) Perl_dump_fds(aTHX_ a)
+#endif
+#if defined(EBCDIC)
+#define utf8n_to_uvchr(a,b,c,d) Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
+#define uvchr_to_utf8(a,b) Perl_uvchr_to_utf8(aTHX_ a,b)
+#endif
+#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
+#define csighandler Perl_csighandler
#endif
+#if defined(HAVE_INTERP_INTERN)
+#define sys_intern_clear() Perl_sys_intern_clear(aTHX)
+#define sys_intern_init() Perl_sys_intern_init(aTHX)
+# if defined(USE_ITHREADS)
+#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b)
+# endif
#endif
#if defined(MYMALLOC)
#define dump_mstats(a) Perl_dump_mstats(aTHX_ a)
#define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c)
#endif
-#define safesysmalloc Perl_safesysmalloc
-#define safesyscalloc Perl_safesyscalloc
-#define safesysrealloc Perl_safesysrealloc
-#define safesysfree Perl_safesysfree
+#if defined(MYSWAP)
+#define my_htonl(a) Perl_my_htonl(aTHX_ a)
+#define my_ntohl(a) Perl_my_ntohl(aTHX_ a)
+#define my_swap(a) Perl_my_swap(aTHX_ a)
+#endif
#if defined(PERL_GLOBAL_STRUCT)
#define GetVars() Perl_GetVars(aTHX)
-#define init_global_struct() Perl_init_global_struct(aTHX)
#define free_global_struct(a) Perl_free_global_struct(aTHX_ a)
+#define init_global_struct() Perl_init_global_struct(aTHX)
#endif
-#define runops_standard() Perl_runops_standard(aTHX)
-#define runops_debug() Perl_runops_debug(aTHX)
-#define sv_vcatpvf_mg(a,b,c) Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
-#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b)
-#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
-#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
-#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b)
-#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b)
-#define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b)
-#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b)
-#define sv_setpvn_mg(a,b,c) Perl_sv_setpvn_mg(aTHX_ a,b,c)
-#define sv_setsv_mg(a,b) Perl_sv_setsv_mg(aTHX_ a,b)
-#define get_vtbl(a) Perl_get_vtbl(aTHX_ a)
-#define pv_display(a,b,c,d,e) Perl_pv_display(aTHX_ a,b,c,d,e)
-#define pv_escape(a,b,c,d,e,f) Perl_pv_escape(aTHX_ a,b,c,d,e,f)
-#define pv_pretty(a,b,c,d,e,f,g) Perl_pv_pretty(aTHX_ a,b,c,d,e,f,g)
-#define dump_vindent(a,b,c,d) Perl_dump_vindent(aTHX_ a,b,c,d)
-#define do_gv_dump(a,b,c,d) Perl_do_gv_dump(aTHX_ a,b,c,d)
-#define do_gvgv_dump(a,b,c,d) Perl_do_gvgv_dump(aTHX_ a,b,c,d)
-#define do_hv_dump(a,b,c,d) Perl_do_hv_dump(aTHX_ a,b,c,d)
-#define do_magic_dump(a,b,c,d,e,f,g) Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g)
-#define do_op_dump(a,b,c) Perl_do_op_dump(aTHX_ a,b,c)
-#define do_pmop_dump(a,b,c) Perl_do_pmop_dump(aTHX_ a,b,c)
-#define do_sv_dump(a,b,c,d,e,f,g) Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g)
-#define magic_dump(a) Perl_magic_dump(aTHX_ a)
-#define reginitcolors() Perl_reginitcolors(aTHX)
-#define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b)
-#define sv_utf8_encode(a) Perl_sv_utf8_encode(aTHX_ a)
-#define sv_utf8_decode(a) Perl_sv_utf8_decode(aTHX_ a)
-#define sv_force_normal_flags(a,b) Perl_sv_force_normal_flags(aTHX_ a,b)
-#define tmps_grow(a) Perl_tmps_grow(aTHX_ a)
-#define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a)
-#ifdef PERL_CORE
-#define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b)
+#if defined(PERL_IMPLICIT_CONTEXT)
+#define croak_nocontext Perl_croak_nocontext
+#define deb_nocontext Perl_deb_nocontext
+#define die_nocontext Perl_die_nocontext
+#define form_nocontext Perl_form_nocontext
+#define fprintf_nocontext Perl_fprintf_nocontext
+#define load_module_nocontext Perl_load_module_nocontext
+#define mess_nocontext Perl_mess_nocontext
+#define newSVpvf_nocontext Perl_newSVpvf_nocontext
+#define printf_nocontext Perl_printf_nocontext
+#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
+#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext
+#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext
+#define warn_nocontext Perl_warn_nocontext
+#define warner_nocontext Perl_warner_nocontext
#endif
-#define newANONATTRSUB(a,b,c,d) Perl_newANONATTRSUB(aTHX_ a,b,c,d)
-#define newATTRSUB(a,b,c,d,e) Perl_newATTRSUB(aTHX_ a,b,c,d,e)
-#ifdef PERL_MAD
-#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
-#else
+#if defined(PERL_MAD)
+#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
#endif
-#ifdef PERL_CORE
-#define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b)
+#if defined(PL_OP_SLAB_ALLOC)
+#define Slab_Alloc(a) Perl_Slab_Alloc(aTHX_ a)
+#define Slab_Free(a) Perl_Slab_Free(aTHX_ a)
+#endif
+#if defined(UNLINK_ALL_VERSIONS)
+#define unlnk(a) Perl_unlnk(aTHX_ a)
#endif
#if defined(USE_ITHREADS)
-#define cx_dup(a,b,c,d) Perl_cx_dup(aTHX_ a,b,c,d)
-#define si_dup(a,b) Perl_si_dup(aTHX_ a,b)
-#define ss_dup(a,b) Perl_ss_dup(aTHX_ a,b)
#define any_dup(a,b) Perl_any_dup(aTHX_ a,b)
-#define he_dup(a,b,c) Perl_he_dup(aTHX_ a,b,c)
-#define hek_dup(a,b) Perl_hek_dup(aTHX_ a,b)
-#define re_dup_guts(a,b,c) Perl_re_dup_guts(aTHX_ a,b,c)
+#define cx_dup(a,b,c,d) Perl_cx_dup(aTHX_ a,b,c,d)
+#define dirp_dup(a,b) Perl_dirp_dup(aTHX_ a,b)
#define fp_dup(a,b,c) Perl_fp_dup(aTHX_ a,b,c)
-#define dirp_dup(a) Perl_dirp_dup(aTHX_ a)
#define gp_dup(a,b) Perl_gp_dup(aTHX_ a,b)
+#define he_dup(a,b,c) Perl_he_dup(aTHX_ a,b,c)
+#define hek_dup(a,b) Perl_hek_dup(aTHX_ a,b)
#define mg_dup(a,b) Perl_mg_dup(aTHX_ a,b)
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_dup_inc_multiple(a,b,c,d) S_sv_dup_inc_multiple(aTHX_ a,b,c,d)
-#endif
-#endif
-#define sv_dup(a,b) Perl_sv_dup(aTHX_ a,b)
-#define rvpv_dup(a,b,c) Perl_rvpv_dup(aTHX_ a,b,c)
+#define newPADOP(a,b,c) Perl_newPADOP(aTHX_ a,b,c)
#define parser_dup(a,b) Perl_parser_dup(aTHX_ a,b)
+#define re_dup_guts(a,b,c) Perl_re_dup_guts(aTHX_ a,b,c)
+#define regdupe_internal(a,b) Perl_regdupe_internal(aTHX_ a,b)
+#define rvpv_dup(a,b,c) Perl_rvpv_dup(aTHX_ a,b,c)
+#define si_dup(a,b) Perl_si_dup(aTHX_ a,b)
+#define ss_dup(a,b) Perl_ss_dup(aTHX_ a,b)
+#define sv_dup(a,b) Perl_sv_dup(aTHX_ a,b)
+#define sv_dup_inc(a,b) Perl_sv_dup_inc(aTHX_ a,b)
#endif
-#define ptr_table_new() Perl_ptr_table_new(aTHX)
-#define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b)
-#define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c)
-#define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a)
-#define ptr_table_clear(a) Perl_ptr_table_clear(aTHX_ a)
-#define ptr_table_free(a) Perl_ptr_table_free(aTHX_ a)
-#if defined(USE_ITHREADS)
-# if defined(HAVE_INTERP_INTERN)
-#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b)
-# endif
-#endif
-#if defined(HAVE_INTERP_INTERN)
-#define sys_intern_clear() Perl_sys_intern_clear(aTHX)
-#define sys_intern_init() Perl_sys_intern_init(aTHX)
-#endif
-#define custom_op_name(a) Perl_custom_op_name(aTHX_ a)
-#define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a)
-#define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a)
-#define sv_destroyable(a) Perl_sv_destroyable(aTHX_ a)
-#ifdef NO_MATHOMS
-#else
-#define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a)
-#endif
-#define nothreadhook() Perl_nothreadhook(aTHX)
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_trans_simple(a) S_do_trans_simple(aTHX_ a)
-#define do_trans_count(a) S_do_trans_count(aTHX_ a)
-#define do_trans_complex(a) S_do_trans_complex(aTHX_ a)
-#define do_trans_simple_utf8(a) S_do_trans_simple_utf8(aTHX_ a)
-#define do_trans_count_utf8(a) S_do_trans_count_utf8(aTHX_ a)
-#define do_trans_complex_utf8(a) S_do_trans_complex_utf8(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b)
-#define gv_get_super_pkg(a,b) S_gv_get_super_pkg(aTHX_ a,b)
-#define require_tie_mod(a,b,c,d,e) S_require_tie_mod(aTHX_ a,b,c,d,e)
-#endif
-#endif
-#ifdef PERL_CORE
+#if defined(USE_LOCALE_COLLATE)
+#define sv_collxfrm_flags(a,b,c) Perl_sv_collxfrm_flags(aTHX_ a,b,c)
#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define hsplit(a) S_hsplit(aTHX_ a)
-#define hfreeentries(a) S_hfreeentries(aTHX_ a)
-#define anonymise_cv(a,b) S_anonymise_cv(aTHX_ a,b)
-#define new_he() S_new_he(aTHX)
-#define save_hek_flags S_save_hek_flags
-#define hv_magic_check S_hv_magic_check
-#define unshare_hek_or_pvn(a,b,c,d) S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
-#define share_hek_flags(a,b,c,d) S_share_hek_flags(aTHX_ a,b,c,d)
-#define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
-#define hv_auxinit S_hv_auxinit
-#define hv_delete_common(a,b,c,d,e,f,g) S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
-#define clear_placeholders(a,b) S_clear_placeholders(aTHX_ a,b)
-#define refcounted_he_value(a) S_refcounted_he_value(aTHX_ a)
+#if defined(USE_PERLIO) && !defined(USE_SFIO)
+#define PerlIO_clearerr(a) Perl_PerlIO_clearerr(aTHX_ a)
+#define PerlIO_close(a) Perl_PerlIO_close(aTHX_ a)
+#define PerlIO_eof(a) Perl_PerlIO_eof(aTHX_ a)
+#define PerlIO_error(a) Perl_PerlIO_error(aTHX_ a)
+#define PerlIO_fileno(a) Perl_PerlIO_fileno(aTHX_ a)
+#define PerlIO_fill(a) Perl_PerlIO_fill(aTHX_ a)
+#define PerlIO_flush(a) Perl_PerlIO_flush(aTHX_ a)
+#define PerlIO_get_base(a) Perl_PerlIO_get_base(aTHX_ a)
+#define PerlIO_get_bufsiz(a) Perl_PerlIO_get_bufsiz(aTHX_ a)
+#define PerlIO_get_cnt(a) Perl_PerlIO_get_cnt(aTHX_ a)
+#define PerlIO_get_ptr(a) Perl_PerlIO_get_ptr(aTHX_ a)
+#define PerlIO_read(a,b,c) Perl_PerlIO_read(aTHX_ a,b,c)
+#define PerlIO_seek(a,b,c) Perl_PerlIO_seek(aTHX_ a,b,c)
+#define PerlIO_set_cnt(a,b) Perl_PerlIO_set_cnt(aTHX_ a,b)
+#define PerlIO_set_ptrcnt(a,b,c) Perl_PerlIO_set_ptrcnt(aTHX_ a,b,c)
+#define PerlIO_setlinebuf(a) Perl_PerlIO_setlinebuf(aTHX_ a)
+#define PerlIO_stderr() Perl_PerlIO_stderr(aTHX)
+#define PerlIO_stdin() Perl_PerlIO_stdin(aTHX)
+#define PerlIO_stdout() Perl_PerlIO_stdout(aTHX)
+#define PerlIO_tell(a) Perl_PerlIO_tell(aTHX_ a)
+#define PerlIO_unread(a,b,c) Perl_PerlIO_unread(aTHX_ a,b,c)
+#define PerlIO_write(a,b,c) Perl_PerlIO_write(aTHX_ a,b,c)
#endif
+#if defined(USE_REENTRANT_API)
+#define reentrant_free() Perl_reentrant_free(aTHX)
+#define reentrant_init() Perl_reentrant_init(aTHX)
+#define reentrant_retry Perl_reentrant_retry
+#define reentrant_size() Perl_reentrant_size(aTHX)
#endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_magic(a,b) S_save_magic(aTHX_ a,b)
-#define magic_methpack(a,b,c) S_magic_methpack(aTHX_ a,b,c)
-#define magic_methcall(a,b,c,d,e,f) S_magic_methcall(aTHX_ a,b,c,d,e,f)
-#define restore_magic(a) S_restore_magic(aTHX_ a)
-#define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a)
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
+#define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c)
+#define do_spawn(a) Perl_do_spawn(aTHX_ a)
+#define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a)
#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#define _append_range_to_invlist(a,b,c) Perl__append_range_to_invlist(aTHX_ a,b,c)
+#define _new_invlist(a) Perl__new_invlist(aTHX_ a)
+#define _swash_inversion_hash(a) Perl__swash_inversion_hash(aTHX_ a)
+#define _swash_to_invlist(a) Perl__swash_to_invlist(aTHX_ a)
+#define av_reify(a) Perl_av_reify(aTHX_ a)
+#define is_utf8_X_L(a) Perl_is_utf8_X_L(aTHX_ a)
+#define is_utf8_X_LV(a) Perl_is_utf8_X_LV(aTHX_ a)
+#define is_utf8_X_LVT(a) Perl_is_utf8_X_LVT(aTHX_ a)
+#define is_utf8_X_LV_LVT_V(a) Perl_is_utf8_X_LV_LVT_V(aTHX_ a)
+#define is_utf8_X_T(a) Perl_is_utf8_X_T(aTHX_ a)
+#define is_utf8_X_V(a) Perl_is_utf8_X_V(aTHX_ a)
+#define is_utf8_X_begin(a) Perl_is_utf8_X_begin(aTHX_ a)
+#define is_utf8_X_extend(a) Perl_is_utf8_X_extend(aTHX_ a)
+#define is_utf8_X_non_hangul(a) Perl_is_utf8_X_non_hangul(aTHX_ a)
+#define is_utf8_X_prepend(a) Perl_is_utf8_X_prepend(aTHX_ a)
+#define mod(a,b) Perl_mod(aTHX_ a,b)
+#define op_clear(a) Perl_op_clear(aTHX_ a)
+#define qerror(a) Perl_qerror(aTHX_ a)
+#define reg_named_buff(a,b,c,d) Perl_reg_named_buff(aTHX_ a,b,c,d)
+#define reg_named_buff_iter(a,b,c) Perl_reg_named_buff_iter(aTHX_ a,b,c)
+#define reg_numbered_buff_fetch(a,b,c) Perl_reg_numbered_buff_fetch(aTHX_ a,b,c)
+#define reg_numbered_buff_length(a,b,c) Perl_reg_numbered_buff_length(aTHX_ a,b,c)
+#define reg_numbered_buff_store(a,b,c) Perl_reg_numbered_buff_store(aTHX_ a,b,c)
+#define reg_qr_package(a) Perl_reg_qr_package(aTHX_ a)
+#define reg_temp_copy(a,b) Perl_reg_temp_copy(aTHX_ a,b)
+#define regprop(a,b,c) Perl_regprop(aTHX_ a,b,c)
+#define report_uninit(a) Perl_report_uninit(aTHX_ a)
+#define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a)
+#define yylex() Perl_yylex(aTHX)
+# if defined(DEBUGGING)
+# if defined(PERL_IN_REGCOMP_C)
+#define dump_trie(a,b,c,d) S_dump_trie(aTHX_ a,b,c,d)
+#define dump_trie_interim_list(a,b,c,d,e) S_dump_trie_interim_list(aTHX_ a,b,c,d,e)
+#define dump_trie_interim_table(a,b,c,d,e) S_dump_trie_interim_table(aTHX_ a,b,c,d,e)
+#define dumpuntil(a,b,c,d,e,f,g,h) S_dumpuntil(aTHX_ a,b,c,d,e,f,g,h)
+#define put_byte(a,b) S_put_byte(aTHX_ a,b)
+#define regdump_extflags(a,b) S_regdump_extflags(aTHX_ a,b)
+#define regtail_study(a,b,c,d) S_regtail_study(aTHX_ a,b,c,d)
+# endif
+# if defined(PERL_IN_REGEXEC_C)
+#define debug_start_match(a,b,c,d,e) S_debug_start_match(aTHX_ a,b,c,d,e)
+#define dump_exec_pos(a,b,c,d,e,f) S_dump_exec_pos(aTHX_ a,b,c,d,e,f)
+# endif
+# endif
+# if defined(PERL_IN_DQUOTE_STATIC_C)
+#define grok_bslash_c(a,b,c) S_grok_bslash_c(aTHX_ a,b,c)
+#define grok_bslash_o(a,b,c,d,e) S_grok_bslash_o(aTHX_ a,b,c,d,e)
+#define regcurly(a) S_regcurly(aTHX_ a)
+# endif
+# if defined(PERL_IN_REGCOMP_C)
+#define add_alternate(a,b,c) S_add_alternate(aTHX_ a,b,c)
+#define add_cp_to_invlist(a,b) S_add_cp_to_invlist(aTHX_ a,b)
+#define add_data S_add_data
+#define add_range_to_invlist(a,b,c) S_add_range_to_invlist(aTHX_ a,b,c)
+#define checkposixcc(a) S_checkposixcc(aTHX_ a)
+#define cl_and S_cl_and
+#define cl_anything S_cl_anything
+#define cl_init S_cl_init
+#define cl_is_anything S_cl_is_anything
+#define cl_or S_cl_or
+#define invlist_array(a) S_invlist_array(aTHX_ a)
+#define invlist_destroy(a) S_invlist_destroy(aTHX_ a)
+#define invlist_extend(a,b) S_invlist_extend(aTHX_ a,b)
+#define invlist_intersection(a,b) S_invlist_intersection(aTHX_ a,b)
+#define invlist_len(a) S_invlist_len(aTHX_ a)
+#define invlist_max(a) S_invlist_max(aTHX_ a)
+#define invlist_set_len(a,b) S_invlist_set_len(aTHX_ a,b)
+#define invlist_set_max(a,b) S_invlist_set_max(aTHX_ a,b)
+#define invlist_trim(a) S_invlist_trim(aTHX_ a)
+#define invlist_union(a,b) S_invlist_union(aTHX_ a,b)
+#define join_exact(a,b,c,d,e,f) S_join_exact(aTHX_ a,b,c,d,e,f)
+#define make_trie(a,b,c,d,e,f,g,h) S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
+#define make_trie_failtable(a,b,c,d) S_make_trie_failtable(aTHX_ a,b,c,d)
+#define nextchar(a) S_nextchar(aTHX_ a)
+#define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d)
+#define reg_namedseq(a,b,c,d) S_reg_namedseq(aTHX_ a,b,c,d)
+#define reg_node(a,b) S_reg_node(aTHX_ a,b)
+#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
+#define reg_scan_name(a,b) S_reg_scan_name(aTHX_ a,b)
+#define reg_skipcomment(a) S_reg_skipcomment(aTHX_ a)
+#define reganode(a,b,c) S_reganode(aTHX_ a,b,c)
+#define regatom(a,b,c) S_regatom(aTHX_ a,b,c)
+#define regbranch(a,b,c,d) S_regbranch(aTHX_ a,b,c,d)
+#define regclass(a,b) S_regclass(aTHX_ a,b)
+#define reginsert(a,b,c,d) S_reginsert(aTHX_ a,b,c,d)
+#define regpiece(a,b,c) S_regpiece(aTHX_ a,b,c)
+#define regpposixcc(a,b) S_regpposixcc(aTHX_ a,b)
+#define regtail(a,b,c,d) S_regtail(aTHX_ a,b,c,d)
+#define reguni(a,b,c) S_reguni(aTHX_ a,b,c)
+#define regwhite S_regwhite
+#define scan_commit(a,b,c,d) S_scan_commit(aTHX_ a,b,c,d)
+#define set_regclass_bit(a,b,c,d,e) S_set_regclass_bit(aTHX_ a,b,c,d,e)
+#define set_regclass_bit_fold(a,b,c,d,e) S_set_regclass_bit_fold(aTHX_ a,b,c,d,e)
+#define study_chunk(a,b,c,d,e,f,g,h,i,j,k) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k)
+# endif
+# if defined(PERL_IN_REGEXEC_C)
+#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
+#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)
+#define regcppop(a) S_regcppop(aTHX_ a)
+#define regcppush(a) S_regcppush(aTHX_ a)
+#define reghop3 S_reghop3
+#define reghopmaybe3 S_reghopmaybe3
+#define reginclass(a,b,c,d,e) S_reginclass(aTHX_ a,b,c,d,e)
+#define regmatch(a,b) S_regmatch(aTHX_ a,b)
+#define regrepeat(a,b,c,d) S_regrepeat(aTHX_ a,b,c,d)
+#define regtry(a,b) S_regtry(aTHX_ a,b)
+#define to_byte_substr(a) S_to_byte_substr(aTHX_ a)
+#define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a)
+# if defined(XXX_dmq)
+#define reghop4 S_reghop4
+# endif
+# endif
+# if defined(PERL_OLD_COPY_ON_WRITE)
+#define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b)
+# endif
#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
+#define allocmy(a,b,c) Perl_allocmy(aTHX_ a,b,c)
+#define apply(a,b,c) Perl_apply(aTHX_ a,b,c)
+#define bind_match(a,b,c) Perl_bind_match(aTHX_ a,b,c)
+#define block_end(a,b) Perl_block_end(aTHX_ a,b)
+#define block_start(a) Perl_block_start(aTHX_ a)
+#define boot_core_PerlIO() Perl_boot_core_PerlIO(aTHX)
+#define boot_core_UNIVERSAL() Perl_boot_core_UNIVERSAL(aTHX)
+#define boot_core_mro() Perl_boot_core_mro(aTHX)
+#define cando(a,b,c) Perl_cando(aTHX_ a,b,c)
+#define check_utf8_print(a,b) Perl_check_utf8_print(aTHX_ a,b)
#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
+#define ck_chdir(a) Perl_ck_chdir(aTHX_ a)
#define ck_concat(a) Perl_ck_concat(aTHX_ a)
#define ck_defined(a) Perl_ck_defined(aTHX_ a)
#define ck_delete(a) Perl_ck_delete(aTHX_ a)
#define ck_die(a) Perl_ck_die(aTHX_ a)
+#define ck_each(a) Perl_ck_each(aTHX_ a)
#define ck_eof(a) Perl_ck_eof(aTHX_ a)
#define ck_eval(a) Perl_ck_eval(aTHX_ a)
#define ck_exec(a) Perl_ck_exec(aTHX_ a)
@@ -3688,6 +977,7 @@
#define ck_sassign(a) Perl_ck_sassign(aTHX_ a)
#define ck_select(a) Perl_ck_select(aTHX_ a)
#define ck_shift(a) Perl_ck_shift(aTHX_ a)
+#define ck_smartmatch(a) Perl_ck_smartmatch(aTHX_ a)
#define ck_sort(a) Perl_ck_sort(aTHX_ a)
#define ck_spair(a) Perl_ck_spair(aTHX_ a)
#define ck_split(a) Perl_ck_split(aTHX_ a)
@@ -3696,64 +986,383 @@
#define ck_svconst(a) Perl_ck_svconst(aTHX_ a)
#define ck_trunc(a) Perl_ck_trunc(aTHX_ a)
#define ck_unpack(a) Perl_ck_unpack(aTHX_ a)
-#define ck_each(a) Perl_ck_each(aTHX_ a)
-#define is_handle_constructor S_is_handle_constructor
-#define is_list_assignment(a) S_is_list_assignment(aTHX_ a)
-#endif
-# ifdef USE_ITHREADS
-#ifdef PERL_CORE
-#endif
-# else
-#ifdef PERL_CORE
+#define convert(a,b,c) Perl_convert(aTHX_ a,b,c)
+#define create_eval_scope(a) Perl_create_eval_scope(aTHX_ a)
+#define cv_ckproto_len(a,b,c,d) Perl_cv_ckproto_len(aTHX_ a,b,c,d)
+#define cv_clone(a) Perl_cv_clone(aTHX_ a)
+#define cvgv_set(a,b) Perl_cvgv_set(aTHX_ a,b)
+#define cvstash_set(a,b) Perl_cvstash_set(aTHX_ a,b)
+#define deb_stack_all() Perl_deb_stack_all(aTHX)
+#define delete_eval_scope() Perl_delete_eval_scope(aTHX)
+#define die_unwind(a) Perl_die_unwind(aTHX_ a)
+#define do_aexec5(a,b,c,d,e) Perl_do_aexec5(aTHX_ a,b,c,d,e)
+#define do_dump_pad(a,b,c,d) Perl_do_dump_pad(aTHX_ a,b,c,d)
+#define do_eof(a) Perl_do_eof(aTHX_ a)
+#define do_execfree() Perl_do_execfree(aTHX)
+#define do_print(a,b) Perl_do_print(aTHX_ a,b)
+#define do_readline() Perl_do_readline(aTHX)
+#define do_seek(a,b,c) Perl_do_seek(aTHX_ a,b,c)
+#define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c)
+#define do_tell(a) Perl_do_tell(aTHX_ a)
+#define do_trans(a) Perl_do_trans(aTHX_ a)
+#define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c)
+#define do_vecset(a) Perl_do_vecset(aTHX_ a)
+#define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d)
+#define dofile(a,b) Perl_dofile(aTHX_ a,b)
+#define dump_all_perl(a) Perl_dump_all_perl(aTHX_ a)
+#define dump_packsubs_perl(a,b) Perl_dump_packsubs_perl(aTHX_ a,b)
+#define dump_sub_perl(a,b) Perl_dump_sub_perl(aTHX_ a,b)
+#define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d)
+#define free_tied_hv_pool() Perl_free_tied_hv_pool(aTHX)
+#define get_hash_seed() Perl_get_hash_seed(aTHX)
+#define get_no_modify() Perl_get_no_modify(aTHX)
+#define get_opargs() Perl_get_opargs(aTHX)
+#define gv_try_downgrade(a) Perl_gv_try_downgrade(aTHX_ a)
+#define hv_ename_add(a,b,c,d) Perl_hv_ename_add(aTHX_ a,b,c,d)
+#define hv_ename_delete(a,b,c,d) Perl_hv_ename_delete(aTHX_ a,b,c,d)
+#define init_argv_symbols(a,b) Perl_init_argv_symbols(aTHX_ a,b)
+#define init_debugger() Perl_init_debugger(aTHX)
+#define intro_my() Perl_intro_my(aTHX)
+#define invert(a) Perl_invert(aTHX_ a)
+#define io_close(a,b) Perl_io_close(aTHX_ a,b)
+#define is_gv_magical_sv(a,b) Perl_is_gv_magical_sv(aTHX_ a,b)
+#define jmaybe(a) Perl_jmaybe(aTHX_ a)
+#define keyword(a,b,c) Perl_keyword(aTHX_ a,b,c)
+#define list(a) Perl_list(aTHX_ a)
+#define localize(a,b) Perl_localize(aTHX_ a,b)
+#define magic_clear_all_env(a,b) Perl_magic_clear_all_env(aTHX_ a,b)
+#define magic_clearenv(a,b) Perl_magic_clearenv(aTHX_ a,b)
+#define magic_clearhint(a,b) Perl_magic_clearhint(aTHX_ a,b)
+#define magic_clearhints(a,b) Perl_magic_clearhints(aTHX_ a,b)
+#define magic_clearisa(a,b) Perl_magic_clearisa(aTHX_ a,b)
+#define magic_clearpack(a,b) Perl_magic_clearpack(aTHX_ a,b)
+#define magic_clearsig(a,b) Perl_magic_clearsig(aTHX_ a,b)
+#define magic_existspack(a,b) Perl_magic_existspack(aTHX_ a,b)
+#define magic_freearylen_p(a,b) Perl_magic_freearylen_p(aTHX_ a,b)
+#define magic_freeovrld(a,b) Perl_magic_freeovrld(aTHX_ a,b)
+#define magic_get(a,b) Perl_magic_get(aTHX_ a,b)
+#define magic_getarylen(a,b) Perl_magic_getarylen(aTHX_ a,b)
+#define magic_getdefelem(a,b) Perl_magic_getdefelem(aTHX_ a,b)
+#define magic_getnkeys(a,b) Perl_magic_getnkeys(aTHX_ a,b)
+#define magic_getpack(a,b) Perl_magic_getpack(aTHX_ a,b)
+#define magic_getpos(a,b) Perl_magic_getpos(aTHX_ a,b)
+#define magic_getsig(a,b) Perl_magic_getsig(aTHX_ a,b)
+#define magic_getsubstr(a,b) Perl_magic_getsubstr(aTHX_ a,b)
+#define magic_gettaint(a,b) Perl_magic_gettaint(aTHX_ a,b)
+#define magic_getuvar(a,b) Perl_magic_getuvar(aTHX_ a,b)
+#define magic_getvec(a,b) Perl_magic_getvec(aTHX_ a,b)
+#define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b)
+#define magic_len(a,b) Perl_magic_len(aTHX_ a,b)
+#define magic_nextpack(a,b,c) Perl_magic_nextpack(aTHX_ a,b,c)
+#define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b)
+#define magic_regdatum_get(a,b) Perl_magic_regdatum_get(aTHX_ a,b)
+#define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b)
+#define magic_scalarpack(a,b) Perl_magic_scalarpack(aTHX_ a,b)
+#define magic_set(a,b) Perl_magic_set(aTHX_ a,b)
+#define magic_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b)
+#define magic_setamagic(a,b) Perl_magic_setamagic(aTHX_ a,b)
+#define magic_setarylen(a,b) Perl_magic_setarylen(aTHX_ a,b)
+#define magic_setdbline(a,b) Perl_magic_setdbline(aTHX_ a,b)
+#define magic_setdefelem(a,b) Perl_magic_setdefelem(aTHX_ a,b)
+#define magic_setenv(a,b) Perl_magic_setenv(aTHX_ a,b)
+#define magic_sethint(a,b) Perl_magic_sethint(aTHX_ a,b)
+#define magic_setisa(a,b) Perl_magic_setisa(aTHX_ a,b)
+#define magic_setmglob(a,b) Perl_magic_setmglob(aTHX_ a,b)
+#define magic_setnkeys(a,b) Perl_magic_setnkeys(aTHX_ a,b)
+#define magic_setpack(a,b) Perl_magic_setpack(aTHX_ a,b)
+#define magic_setpos(a,b) Perl_magic_setpos(aTHX_ a,b)
+#define magic_setregexp(a,b) Perl_magic_setregexp(aTHX_ a,b)
+#define magic_setsig(a,b) Perl_magic_setsig(aTHX_ a,b)
+#define magic_setsubstr(a,b) Perl_magic_setsubstr(aTHX_ a,b)
+#define magic_settaint(a,b) Perl_magic_settaint(aTHX_ a,b)
+#define magic_setutf8(a,b) Perl_magic_setutf8(aTHX_ a,b)
+#define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b)
+#define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b)
+#define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b)
+#define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b)
+#define mg_localize(a,b,c) Perl_mg_localize(aTHX_ a,b,c)
+#define mode_from_discipline(a,b) Perl_mode_from_discipline(aTHX_ a,b)
+#define mro_isa_changed_in(a) Perl_mro_isa_changed_in(aTHX_ a)
+#define mro_package_moved(a,b,c,d) Perl_mro_package_moved(aTHX_ a,b,c,d)
+#define munge_qwlist_to_paren_list(a) Perl_munge_qwlist_to_paren_list(aTHX_ a)
+#define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b)
+#define my_clearenv() Perl_my_clearenv(aTHX)
+#define my_lstat_flags(a) Perl_my_lstat_flags(aTHX_ a)
+#define my_stat_flags(a) Perl_my_stat_flags(aTHX_ a)
+#define my_swabn Perl_my_swabn
+#define my_unexec() Perl_my_unexec(aTHX)
+#define nextargv(a) Perl_nextargv(aTHX_ a)
+#define oopsAV(a) Perl_oopsAV(aTHX_ a)
+#define oopsHV(a) Perl_oopsHV(aTHX_ a)
+#define op_const_sv(a,b) Perl_op_const_sv(aTHX_ a,b)
+#define package_version(a) Perl_package_version(aTHX_ a)
+#define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b)
+#define pad_add_name(a,b,c,d,e) Perl_pad_add_name(aTHX_ a,b,c,d,e)
+#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b)
+#define pad_block_start(a) Perl_pad_block_start(aTHX_ a)
+#define pad_compname_type(a) Perl_pad_compname_type(aTHX_ a)
+#define pad_fixup_inner_anons(a,b,c) Perl_pad_fixup_inner_anons(aTHX_ a,b,c)
+#define pad_free(a) Perl_pad_free(aTHX_ a)
+#define pad_leavemy() Perl_pad_leavemy(aTHX)
+#define pad_new(a) Perl_pad_new(aTHX_ a)
+#define pad_push(a,b) Perl_pad_push(aTHX_ a,b)
+#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
+#define pad_tidy(a) Perl_pad_tidy(aTHX_ a)
+#define parse_unicode_opts(a) Perl_parse_unicode_opts(aTHX_ a)
+#define parser_free(a) Perl_parser_free(aTHX_ a)
+#define peep(a) Perl_peep(aTHX_ a)
+#define pmruntime(a,b,c) Perl_pmruntime(aTHX_ a,b,c)
+#define refcounted_he_chain_2hv(a,b) Perl_refcounted_he_chain_2hv(aTHX_ a,b)
+#define refcounted_he_fetch_pv(a,b,c,d) Perl_refcounted_he_fetch_pv(aTHX_ a,b,c,d)
+#define refcounted_he_fetch_pvn(a,b,c,d,e) Perl_refcounted_he_fetch_pvn(aTHX_ a,b,c,d,e)
+#define refcounted_he_fetch_sv(a,b,c,d) Perl_refcounted_he_fetch_sv(aTHX_ a,b,c,d)
+#define refcounted_he_free(a) Perl_refcounted_he_free(aTHX_ a)
+#define refcounted_he_inc(a) Perl_refcounted_he_inc(aTHX_ a)
+#define refcounted_he_new_pv(a,b,c,d,e) Perl_refcounted_he_new_pv(aTHX_ a,b,c,d,e)
+#define refcounted_he_new_pvn(a,b,c,d,e,f) Perl_refcounted_he_new_pvn(aTHX_ a,b,c,d,e,f)
+#define refcounted_he_new_sv(a,b,c,d,e) Perl_refcounted_he_new_sv(aTHX_ a,b,c,d,e)
+#define report_evil_fh(a) Perl_report_evil_fh(aTHX_ a)
+#define report_wrongway_fh(a,b) Perl_report_wrongway_fh(aTHX_ a,b)
+#define rpeep(a) Perl_rpeep(aTHX_ a)
+#define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b)
+#define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c)
+#define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b)
+#define sawparens(a) Perl_sawparens(aTHX_ a)
+#define scalar(a) Perl_scalar(aTHX_ a)
+#define scalarvoid(a) Perl_scalarvoid(aTHX_ a)
+#define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a)
+#define sv_2num(a) Perl_sv_2num(aTHX_ a)
+#define sv_clean_all() Perl_sv_clean_all(aTHX)
+#define sv_clean_objs() Perl_sv_clean_objs(aTHX)
+#define sv_del_backref(a,b) Perl_sv_del_backref(aTHX_ a,b)
+#define sv_free_arenas() Perl_sv_free_arenas(aTHX)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define tied_method Perl_tied_method
#endif
+#define unshare_hek(a) Perl_unshare_hek(aTHX_ a)
+#define vivify_ref(a,b) Perl_vivify_ref(aTHX_ a,b)
+#define wait4pid(a,b,c) Perl_wait4pid(aTHX_ a,b,c)
+#define watch(a) Perl_watch(aTHX_ a)
+#define write_to_stderr(a) Perl_write_to_stderr(aTHX_ a)
+#define yyerror(a) Perl_yyerror(aTHX_ a)
+#define yyparse(a) Perl_yyparse(aTHX_ a)
+#define yyunlex() Perl_yyunlex(aTHX)
+# if !(defined(DEBUGGING))
+# if !defined(NV_PRESERVES_UV)
+# if defined(PERL_IN_SV_C)
+#define sv_2iuv_non_preserve(a) S_sv_2iuv_non_preserve(aTHX_ a)
+# endif
+# endif
# endif
-#ifdef PERL_CORE
-#define find_and_forget_pmops(a) S_find_and_forget_pmops(aTHX_ a)
+# if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
+#define sighandler Perl_sighandler
+# endif
+# if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION))
+#define do_exec(a) Perl_do_exec(aTHX_ a)
+# endif
+# if !(defined(PERL_MAD))
+#define package(a) Perl_package(aTHX_ a)
+#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e)
+# endif
+# if !defined(HAS_GETENV_LEN)
+#define getenv_len(a,b) Perl_getenv_len(aTHX_ a,b)
+# endif
+# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+# if defined(PERL_IN_PP_SYS_C)
+#define dooneliner(a,b) S_dooneliner(aTHX_ a,b)
+# endif
+# endif
+# if !defined(HAS_RENAME)
+#define same_dirent(a,b) Perl_same_dirent(aTHX_ a,b)
+# endif
+# if !defined(NV_PRESERVES_UV)
+# if defined(DEBUGGING)
+# if defined(PERL_IN_SV_C)
+#define sv_2iuv_non_preserve(a,b) S_sv_2iuv_non_preserve(aTHX_ a,b)
+# endif
+# endif
+# endif
+# if !defined(PERL_DISABLE_PMC)
+# if defined(PERL_IN_PP_CTL_C)
+#define doopen_pm(a) S_doopen_pm(aTHX_ a)
+# endif
+# endif
+# if !defined(PERL_IS_MINIPERL)
+# if defined(PERL_IN_PERL_C)
+#define incpush_if_exists(a,b,c) S_incpush_if_exists(aTHX_ a,b,c)
+# endif
+# endif
+# if !defined(PERL_NO_UTF16_FILTER)
+# if defined(PERL_IN_TOKE_C)
+#define add_utf16_textfilter(a,b) S_add_utf16_textfilter(aTHX_ a,b)
+#define utf16_textfilter(a,b,c) S_utf16_textfilter(aTHX_ a,b,c)
+# endif
+# endif
+# if !defined(WIN32)
+#define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c)
+# endif
+# if defined(DEBUGGING)
+#define get_debug_opts(a,b) Perl_get_debug_opts(aTHX_ a,b)
+#define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b)
+# if defined(PERL_IN_PAD_C)
+#define cv_dump(a,b) S_cv_dump(aTHX_ a,b)
+# endif
+# if defined(PERL_IN_SV_C)
+#define del_sv(a) S_del_sv(aTHX_ a)
+# endif
+# if defined(PERL_IN_TOKE_C)
+#define printbuf(a,b) S_printbuf(aTHX_ a,b)
+#define tokereport(a,b) S_tokereport(aTHX_ a,b)
+# endif
+# endif
+# if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
+#define dump_sv_child(a) Perl_dump_sv_child(aTHX_ a)
+# endif
+# if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+#define do_ipcctl(a,b,c) Perl_do_ipcctl(aTHX_ a,b,c)
+#define do_ipcget(a,b,c) Perl_do_ipcget(aTHX_ a,b,c)
+#define do_msgrcv(a,b) Perl_do_msgrcv(aTHX_ a,b)
+#define do_msgsnd(a,b) Perl_do_msgsnd(aTHX_ a,b)
+#define do_semop(a,b) Perl_do_semop(aTHX_ a,b)
+#define do_shmio(a,b,c) Perl_do_shmio(aTHX_ a,b,c)
+# endif
+# if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
+#define sighandler Perl_sighandler
+# endif
+# if defined(MYMALLOC)
+#define malloc_good_size Perl_malloc_good_size
+#define malloced_size Perl_malloced_size
+# endif
+# if defined(PERL_CR_FILTER)
+# if defined(PERL_IN_TOKE_C)
+#define cr_textfilter(a,b,c) S_cr_textfilter(aTHX_ a,b,c)
+#define strip_return(a) S_strip_return(aTHX_ a)
+# endif
+# endif
+# if defined(PERL_DEBUG_READONLY_OPS)
+# if defined(PERL_IN_OP_C)
+# if defined(PL_OP_SLAB_ALLOC)
+#define Slab_to_rw(a) S_Slab_to_rw(aTHX_ a)
+# endif
+# endif
+# endif
+# if defined(PERL_IN_AV_C)
+#define get_aux_mg(a) S_get_aux_mg(aTHX_ a)
+# endif
+# if defined(PERL_IN_DEB_C)
+#define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e)
+# endif
+# if defined(PERL_IN_DOIO_C)
+#define exec_failed(a,b,c) S_exec_failed(aTHX_ a,b,c)
+#define ingroup(a,b) S_ingroup(aTHX_ a,b)
+# endif
+# if defined(PERL_IN_DOOP_C)
+#define do_trans_complex(a) S_do_trans_complex(aTHX_ a)
+#define do_trans_complex_utf8(a) S_do_trans_complex_utf8(aTHX_ a)
+#define do_trans_count(a) S_do_trans_count(aTHX_ a)
+#define do_trans_count_utf8(a) S_do_trans_count_utf8(aTHX_ a)
+#define do_trans_simple(a) S_do_trans_simple(aTHX_ a)
+#define do_trans_simple_utf8(a) S_do_trans_simple_utf8(aTHX_ a)
+# endif
+# if defined(PERL_IN_DUMP_C)
+#define deb_curcv(a) S_deb_curcv(aTHX_ a)
+#define debprof(a) S_debprof(aTHX_ a)
+#define pm_description(a) S_pm_description(aTHX_ a)
+#define sequence(a) S_sequence(aTHX_ a)
+#define sequence_num(a) S_sequence_num(aTHX_ a)
+#define sequence_tail(a) S_sequence_tail(aTHX_ a)
+# endif
+# if defined(PERL_IN_GV_C)
+#define gv_get_super_pkg(a,b) S_gv_get_super_pkg(aTHX_ a,b)
+#define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b)
+#define gv_magicalize_isa(a) S_gv_magicalize_isa(aTHX_ a)
+#define gv_magicalize_overload(a) S_gv_magicalize_overload(aTHX_ a)
+#define require_tie_mod(a,b,c,d,e) S_require_tie_mod(aTHX_ a,b,c,d,e)
+# endif
+# if defined(PERL_IN_HV_C)
+#define clear_placeholders(a,b) S_clear_placeholders(aTHX_ a,b)
+#define hfreeentries(a) S_hfreeentries(aTHX_ a)
+#define hsplit(a) S_hsplit(aTHX_ a)
+#define hv_auxinit S_hv_auxinit
+#define hv_delete_common(a,b,c,d,e,f,g) S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
+#define hv_magic_check S_hv_magic_check
+#define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
+#define new_he() S_new_he(aTHX)
+#define refcounted_he_value(a) S_refcounted_he_value(aTHX_ a)
+#define save_hek_flags S_save_hek_flags
+#define share_hek_flags(a,b,c,d) S_share_hek_flags(aTHX_ a,b,c,d)
+#define unshare_hek_or_pvn(a,b,c,d) S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
+# endif
+# if defined(PERL_IN_LOCALE_C)
+# if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
+#define stdize_locale(a) S_stdize_locale(aTHX_ a)
+# endif
+# endif
+# if defined(PERL_IN_MG_C)
+#define magic_methcall1(a,b,c,d,e,f) S_magic_methcall1(aTHX_ a,b,c,d,e,f)
+#define magic_methpack(a,b,c) S_magic_methpack(aTHX_ a,b,c)
+#define restore_magic(a) S_restore_magic(aTHX_ a)
+#define save_magic(a,b) S_save_magic(aTHX_ a,b)
+#define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a)
+# endif
+# if defined(PERL_IN_MRO_C)
+#define mro_clean_isarev(a,b,c,d) S_mro_clean_isarev(aTHX_ a,b,c,d)
+#define mro_gather_and_rename(a,b,c,d,e) S_mro_gather_and_rename(aTHX_ a,b,c,d,e)
+#define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b)
+# endif
+# if defined(PERL_IN_NUMERIC_C)
+#define mulexp10 S_mulexp10
+# endif
+# if defined(PERL_IN_OP_C)
+#define apply_attrs(a,b,c,d) S_apply_attrs(aTHX_ a,b,c,d)
+#define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d)
+#define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d)
#define cop_free(a) S_cop_free(aTHX_ a)
+#define dup_attrlist(a) S_dup_attrlist(aTHX_ a)
+#define find_and_forget_pmops(a) S_find_and_forget_pmops(aTHX_ a)
+#define fold_constants(a) S_fold_constants(aTHX_ a)
+#define force_list(a) S_force_list(aTHX_ a)
+#define gen_constant_list(a) S_gen_constant_list(aTHX_ a)
+#define gv_ename(a) S_gv_ename(aTHX_ a)
+#define is_handle_constructor S_is_handle_constructor
+#define is_inplace_av(a,b) S_is_inplace_av(aTHX_ a,b)
+#define is_list_assignment(a) S_is_list_assignment(aTHX_ a)
+#define listkids(a) S_listkids(aTHX_ a)
+#define looks_like_bool(a) S_looks_like_bool(aTHX_ a)
#define modkids(a,b) S_modkids(aTHX_ a,b)
-#define scalarboolean(a) S_scalarboolean(aTHX_ a)
+#define my_kid(a,b,c) S_my_kid(aTHX_ a,b,c)
#define newDEFSVOP() S_newDEFSVOP(aTHX)
-#define search_const(a) S_search_const(aTHX_ a)
+#define newGIVWHENOP(a,b,c,d,e) S_newGIVWHENOP(aTHX_ a,b,c,d,e)
#define new_logop(a,b,c,d) S_new_logop(aTHX_ a,b,c,d)
-#define simplify_sort(a) S_simplify_sort(aTHX_ a)
-#define gv_ename(a) S_gv_ename(aTHX_ a)
-#define scalar_mod_type S_scalar_mod_type
-#define my_kid(a,b,c) S_my_kid(aTHX_ a,b,c)
-#define dup_attrlist(a) S_dup_attrlist(aTHX_ a)
-#define apply_attrs(a,b,c,d) S_apply_attrs(aTHX_ a,b,c,d)
-#define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d)
-#define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d)
#define no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a)
#define no_fh_allowed(a) S_no_fh_allowed(aTHX_ a)
+#define opt_scalarhv(a) S_opt_scalarhv(aTHX_ a)
+#define pmtrans(a,b,c) S_pmtrans(aTHX_ a,b,c)
+#define process_special_blocks(a,b,c) S_process_special_blocks(aTHX_ a,b,c)
+#define ref_array_or_hash(a) S_ref_array_or_hash(aTHX_ a)
+#define refkids(a,b) S_refkids(aTHX_ a,b)
+#define scalar_mod_type S_scalar_mod_type
+#define scalarboolean(a) S_scalarboolean(aTHX_ a)
+#define scalarkids(a) S_scalarkids(aTHX_ a)
+#define scalarseq(a) S_scalarseq(aTHX_ a)
+#define search_const(a) S_search_const(aTHX_ a)
+#define simplify_sort(a) S_simplify_sort(aTHX_ a)
#define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b)
#define too_many_arguments(a,b) S_too_many_arguments(aTHX_ a,b)
-#define looks_like_bool(a) S_looks_like_bool(aTHX_ a)
-#define newGIVWHENOP(a,b,c,d,e) S_newGIVWHENOP(aTHX_ a,b,c,d,e)
-#define ref_array_or_hash(a) S_ref_array_or_hash(aTHX_ a)
-#define process_special_blocks(a,b,c) S_process_special_blocks(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(PL_OP_SLAB_ALLOC)
-#define Slab_Alloc(a) Perl_Slab_Alloc(aTHX_ a)
-#define Slab_Free(a) Perl_Slab_Free(aTHX_ a)
-# if defined(PERL_DEBUG_READONLY_OPS)
-#ifdef PERL_CORE
-#endif
-# if defined(PERL_IN_OP_C)
-#ifdef PERL_CORE
-#define Slab_to_rw(a) S_Slab_to_rw(aTHX_ a)
-#endif
-# endif
# endif
-#endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+# if defined(PERL_IN_PAD_C)
+#define pad_add_name_sv(a,b,c,d) S_pad_add_name_sv(aTHX_ a,b,c,d)
+#define pad_check_dup(a,b,c) S_pad_check_dup(aTHX_ a,b,c)
+#define pad_findlex(a,b,c,d,e,f,g) S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
+#define pad_reset() S_pad_reset(aTHX)
+# endif
+# if defined(PERL_IN_PERL_C)
#define find_beginning(a,b) S_find_beginning(aTHX_ a,b)
#define forbid_setid(a,b) S_forbid_setid(aTHX_ a,b)
#define incpush(a,b,c) S_incpush(aTHX_ a,b,c)
#define incpush_use_sep(a,b,c) S_incpush_use_sep(aTHX_ a,b,c)
-#define init_interp() S_init_interp(aTHX)
#define init_ids() S_init_ids(aTHX)
+#define init_interp() S_init_interp(aTHX)
#define init_main_stash() S_init_main_stash(aTHX)
#define init_perllib() S_init_perllib(aTHX)
#define init_postdump_symbols(a,b,c) S_init_postdump_symbols(aTHX_ a,b,c)
@@ -3761,267 +1370,131 @@
#define my_exit_jump() S_my_exit_jump(aTHX)
#define nuke_stacks() S_nuke_stacks(aTHX)
#define open_script(a,b,c,d) S_open_script(aTHX_ a,b,c,d)
-#define usage(a) S_usage(aTHX_ a)
-#endif
-#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-#ifdef PERL_CORE
-#endif
-#endif
-#ifdef PERL_CORE
#define parse_body(a,b) S_parse_body(aTHX_ a,b)
#define run_body(a) S_run_body(aTHX_ a)
-#define incpush_if_exists(a,b,c) S_incpush_if_exists(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+#define usage(a) S_usage(aTHX_ a)
+# endif
+# if defined(PERL_IN_PP_C)
+#define do_chomp(a,b,c) S_do_chomp(aTHX_ a,b,c)
#define do_delete_local() S_do_delete_local(aTHX)
#define refto(a) S_refto(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define unpack_rec(a,b,c,d,e) S_unpack_rec(aTHX_ a,b,c,d,e)
-#define pack_rec(a,b,c,d) S_pack_rec(aTHX_ a,b,c,d)
-#define mul128(a,b) S_mul128(aTHX_ a,b)
-#define measure_struct(a) S_measure_struct(aTHX_ a)
-#define next_symbol(a) S_next_symbol(aTHX_ a)
-#define is_an_int(a,b) S_is_an_int(aTHX_ a,b)
-#define div128(a,b) S_div128(aTHX_ a,b)
-#define group_end(a,b,c) S_group_end(aTHX_ a,b,c)
-#define get_num(a,b) S_get_num(aTHX_ a,b)
-#define need_utf8 S_need_utf8
-#define first_symbol S_first_symbol
-#define sv_exp_grow(a,b) S_sv_exp_grow(aTHX_ a,b)
-#define bytes_to_uni S_bytes_to_uni
-#endif
-#endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_IN_PP_CTL_C)
+#define check_type_and_open(a) S_check_type_and_open(aTHX_ a)
+#define destroy_matcher(a) S_destroy_matcher(aTHX_ a)
+#define do_smartmatch(a,b) S_do_smartmatch(aTHX_ a,b)
#define docatch(a) S_docatch(aTHX_ a)
+#define doeval(a,b,c,d) S_doeval(aTHX_ a,b,c,d)
#define dofindlabel(a,b,c,d) S_dofindlabel(aTHX_ a,b,c,d)
#define doparseform(a) S_doparseform(aTHX_ a)
-#define num_overflow S_num_overflow
#define dopoptoeval(a) S_dopoptoeval(aTHX_ a)
#define dopoptogiven(a) S_dopoptogiven(aTHX_ a)
#define dopoptolabel(a) S_dopoptolabel(aTHX_ a)
#define dopoptoloop(a) S_dopoptoloop(aTHX_ a)
#define dopoptosub_at(a,b) S_dopoptosub_at(aTHX_ a,b)
#define dopoptowhen(a) S_dopoptowhen(aTHX_ a)
-#define save_lines(a,b) S_save_lines(aTHX_ a,b)
-#define doeval(a,b,c,d) S_doeval(aTHX_ a,b,c,d)
-#define check_type_and_open(a) S_check_type_and_open(aTHX_ a)
-#endif
-#ifndef PERL_DISABLE_PMC
-#ifdef PERL_CORE
-#define doopen_pm(a,b) S_doopen_pm(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define path_is_absolute S_path_is_absolute
-#define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
#define make_matcher(a) S_make_matcher(aTHX_ a)
#define matcher_matches_sv(a,b) S_matcher_matches_sv(aTHX_ a,b)
-#define destroy_matcher(a) S_destroy_matcher(aTHX_ a)
-#define do_smartmatch(a,b) S_do_smartmatch(aTHX_ a,b)
-#endif
-#endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+#define num_overflow S_num_overflow
+#define path_is_absolute S_path_is_absolute
+#define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
+#define rxres_free(a) S_rxres_free(aTHX_ a)
+#define rxres_restore(a,b) S_rxres_restore(aTHX_ a,b)
+#define save_lines(a,b) S_save_lines(aTHX_ a,b)
+# endif
+# if defined(PERL_IN_PP_HOT_C)
#define do_oddball(a,b,c) S_do_oddball(aTHX_ a,b,c)
#define method_common(a,b) S_method_common(aTHX_ a,b)
-#endif
-#endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_ncmp(a,b) S_sv_ncmp(aTHX_ a,b)
-#define sv_i_ncmp(a,b) S_sv_i_ncmp(aTHX_ a,b)
-#define amagic_ncmp(a,b) S_amagic_ncmp(aTHX_ a,b)
-#define amagic_i_ncmp(a,b) S_amagic_i_ncmp(aTHX_ a,b)
+# endif
+# if defined(PERL_IN_PP_PACK_C)
+#define bytes_to_uni S_bytes_to_uni
+#define div128(a,b) S_div128(aTHX_ a,b)
+#define first_symbol S_first_symbol
+#define get_num(a,b) S_get_num(aTHX_ a,b)
+#define group_end(a,b,c) S_group_end(aTHX_ a,b,c)
+#define is_an_int(a,b) S_is_an_int(aTHX_ a,b)
+#define measure_struct(a) S_measure_struct(aTHX_ a)
+#define mul128(a,b) S_mul128(aTHX_ a,b)
+#define need_utf8 S_need_utf8
+#define next_symbol(a) S_next_symbol(aTHX_ a)
+#define pack_rec(a,b,c,d) S_pack_rec(aTHX_ a,b,c,d)
+#define sv_exp_grow(a,b) S_sv_exp_grow(aTHX_ a,b)
+#define unpack_rec(a,b,c,d,e) S_unpack_rec(aTHX_ a,b,c,d,e)
+# endif
+# if defined(PERL_IN_PP_SORT_C)
#define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b)
#define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b)
+#define amagic_i_ncmp(a,b) S_amagic_i_ncmp(aTHX_ a,b)
+#define amagic_ncmp(a,b) S_amagic_ncmp(aTHX_ a,b)
+#define qsortsvu(a,b,c) S_qsortsvu(aTHX_ a,b,c)
#define sortcv(a,b) S_sortcv(aTHX_ a,b)
-#define sortcv_xsub(a,b) S_sortcv_xsub(aTHX_ a,b)
#define sortcv_stacked(a,b) S_sortcv_stacked(aTHX_ a,b)
-#define qsortsvu(a,b,c) S_qsortsvu(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define doform(a,b,c) S_doform(aTHX_ a,b,c)
-#endif
-# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-#ifdef PERL_CORE
-#define dooneliner(a,b) S_dooneliner(aTHX_ a,b)
-#endif
+#define sortcv_xsub(a,b) S_sortcv_xsub(aTHX_ a,b)
+#define sv_i_ncmp(a,b) S_sv_i_ncmp(aTHX_ a,b)
+#define sv_ncmp(a,b) S_sv_ncmp(aTHX_ a,b)
# endif
-#ifdef PERL_CORE
+# if defined(PERL_IN_PP_SYS_C)
+#define doform(a,b,c) S_doform(aTHX_ a,b,c)
#define space_join_names_mortal(a) S_space_join_names_mortal(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d)
-#define reganode(a,b,c) S_reganode(aTHX_ a,b,c)
-#define regatom(a,b,c) S_regatom(aTHX_ a,b,c)
-#define regbranch(a,b,c,d) S_regbranch(aTHX_ a,b,c,d)
-#define reguni(a,b,c) S_reguni(aTHX_ a,b,c)
-#define regclass(a,b) S_regclass(aTHX_ a,b)
-#define reg_node(a,b) S_reg_node(aTHX_ a,b)
-#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
-#define regpiece(a,b,c) S_regpiece(aTHX_ a,b,c)
-#define reg_namedseq(a,b,c) S_reg_namedseq(aTHX_ a,b,c)
-#define reginsert(a,b,c,d) S_reginsert(aTHX_ a,b,c,d)
-#define regtail(a,b,c,d) S_regtail(aTHX_ a,b,c,d)
-#define reg_scan_name(a,b) S_reg_scan_name(aTHX_ a,b)
-#define join_exact(a,b,c,d,e,f) S_join_exact(aTHX_ a,b,c,d,e,f)
-#define regwhite S_regwhite
-#define nextchar(a) S_nextchar(aTHX_ a)
-#define reg_skipcomment(a) S_reg_skipcomment(aTHX_ a)
-#define scan_commit(a,b,c,d) S_scan_commit(aTHX_ a,b,c,d)
-#define cl_anything S_cl_anything
-#define cl_is_anything S_cl_is_anything
-#define cl_init S_cl_init
-#define cl_init_zero S_cl_init_zero
-#define cl_and S_cl_and
-#define cl_or S_cl_or
-#define study_chunk(a,b,c,d,e,f,g,h,i,j,k) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k)
-#define add_data S_add_data
-#endif
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regpposixcc(a,b) S_regpposixcc(aTHX_ a,b)
-#define checkposixcc(a) S_checkposixcc(aTHX_ a)
-#define make_trie(a,b,c,d,e,f,g,h) S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
-#define make_trie_failtable(a,b,c,d) S_make_trie_failtable(aTHX_ a,b,c,d)
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regdump_extflags(a,b) S_regdump_extflags(aTHX_ a,b)
-#define dumpuntil(a,b,c,d,e,f,g,h) S_dumpuntil(aTHX_ a,b,c,d,e,f,g,h)
-#define put_byte(a,b) S_put_byte(aTHX_ a,b)
-#define dump_trie(a,b,c,d) S_dump_trie(aTHX_ a,b,c,d)
-#define dump_trie_interim_list(a,b,c,d,e) S_dump_trie_interim_list(aTHX_ a,b,c,d,e)
-#define dump_trie_interim_table(a,b,c,d,e) S_dump_trie_interim_table(aTHX_ a,b,c,d,e)
-#define regtail_study(a,b,c,d) S_regtail_study(aTHX_ a,b,c,d)
-#endif
-# endif
-#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regmatch(a,b) S_regmatch(aTHX_ a,b)
-#define regrepeat(a,b,c,d) S_regrepeat(aTHX_ a,b,c,d)
-#define regtry(a,b) S_regtry(aTHX_ a,b)
-#define reginclass(a,b,c,d,e) S_reginclass(aTHX_ a,b,c,d,e)
-#define regcppush(a) S_regcppush(aTHX_ a)
-#define regcppop(a) S_regcppop(aTHX_ a)
-#define reghop3 S_reghop3
-#endif
-#ifdef XXX_dmq
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghop4 S_reghop4
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghopmaybe3 S_reghopmaybe3
-#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
-#define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a)
-#define to_byte_substr(a) S_to_byte_substr(aTHX_ a)
-#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define dump_exec_pos(a,b,c,d,e,f) S_dump_exec_pos(aTHX_ a,b,c,d,e,f)
-#define debug_start_match(a,b,c,d,e) S_debug_start_match(aTHX_ a,b,c,d,e)
-#endif
# endif
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define deb_curcv(a) S_deb_curcv(aTHX_ a)
-#define debprof(a) S_debprof(aTHX_ a)
-#define sequence(a) S_sequence(aTHX_ a)
-#define sequence_tail(a) S_sequence_tail(aTHX_ a)
-#define sequence_num(a) S_sequence_num(aTHX_ a)
-#define pm_description(a) S_pm_description(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+# if defined(PERL_IN_SCOPE_C)
+#define save_pushptri32ptr(a,b,c,d) S_save_pushptri32ptr(aTHX_ a,b,c,d)
#define save_scalar_at(a,b) S_save_scalar_at(aTHX_ a,b)
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define uiv_2buf S_uiv_2buf
-#define sv_unglob(a) S_sv_unglob(aTHX_ a)
-#define not_a_number(a) S_not_a_number(aTHX_ a)
-#define visit(a,b,c) S_visit(aTHX_ a,b,c)
-#define sv_del_backref(a,b) S_sv_del_backref(aTHX_ a,b)
-#define varname(a,b,c,d,e,f) S_varname(aTHX_ a,b,c,d,e,f)
-#endif
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define del_sv(a) S_del_sv(aTHX_ a)
-#endif
# endif
-# if !defined(NV_PRESERVES_UV)
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve(a,b) S_sv_2iuv_non_preserve(aTHX_ a,b)
-#endif
-# else
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve(a) S_sv_2iuv_non_preserve(aTHX_ a)
-#endif
-# endif
-# endif
-#ifdef PERL_CORE
+# if defined(PERL_IN_SV_C)
+#define F0convert S_F0convert
+#define anonymise_cv_maybe(a,b) S_anonymise_cv_maybe(aTHX_ a,b)
+#define assert_uft8_cache_coherent(a,b,c,d) S_assert_uft8_cache_coherent(aTHX_ a,b,c,d)
+#define curse(a,b) S_curse(aTHX_ a,b)
#define expect_number(a) S_expect_number(aTHX_ a)
-#endif
-#ifdef PERL_CORE
+#define find_array_subscript(a,b) S_find_array_subscript(aTHX_ a,b)
+#define find_hash_subscript(a,b) S_find_hash_subscript(aTHX_ a,b)
+#define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
+#define glob_2number(a) S_glob_2number(aTHX_ a)
+#define glob_assign_glob(a,b,c) S_glob_assign_glob(aTHX_ a,b,c)
+#define glob_assign_ref(a,b) S_glob_assign_ref(aTHX_ a,b)
+#define more_sv() S_more_sv(aTHX)
+#define not_a_number(a) S_not_a_number(aTHX_ a)
+#define ptr_table_find S_ptr_table_find
+#define sv_2iuv_common(a) S_sv_2iuv_common(aTHX_ a)
+#define sv_add_arena(a,b,c) S_sv_add_arena(aTHX_ a,b,c)
+#define sv_pos_b2u_midway(a,b,c,d) S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
+#define sv_pos_u2b_cached(a,b,c,d,e,f,g) S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
#define sv_pos_u2b_forwards S_sv_pos_u2b_forwards
#define sv_pos_u2b_midway S_sv_pos_u2b_midway
-#define sv_pos_u2b_cached(a,b,c,d,e,f,g) S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
+#define sv_unglob(a) S_sv_unglob(aTHX_ a)
+#define uiv_2buf S_uiv_2buf
+#define utf8_mg_len_cache_update(a,b,c) S_utf8_mg_len_cache_update(aTHX_ a,b,c)
#define utf8_mg_pos_cache_update(a,b,c,d,e) S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
-#define sv_pos_b2u_midway(a,b,c,d) S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
-#define F0convert S_F0convert
-#endif
-# if defined(PERL_OLD_COPY_ON_WRITE)
-#ifdef PERL_CORE
+#define varname(a,b,c,d,e,f) S_varname(aTHX_ a,b,c,d,e,f)
+#define visit(a,b,c) S_visit(aTHX_ a,b,c)
+# if defined(PERL_OLD_COPY_ON_WRITE)
#define sv_release_COW(a,b,c) S_sv_release_COW(aTHX_ a,b,c)
-#endif
+# endif
+# if defined(USE_ITHREADS)
+#define sv_dup_common(a,b) S_sv_dup_common(aTHX_ a,b)
+#define sv_dup_inc_multiple(a,b,c,d) S_sv_dup_inc_multiple(aTHX_ a,b,c,d)
+#define unreferenced_to_tmp_stack(a) S_unreferenced_to_tmp_stack(aTHX_ a)
+# endif
# endif
-#ifdef PERL_CORE
-#define more_sv() S_more_sv(aTHX)
-#define more_bodies(a) S_more_bodies(aTHX_ a)
-#define sv_2iuv_common(a) S_sv_2iuv_common(aTHX_ a)
-#define glob_assign_glob(a,b,c) S_glob_assign_glob(aTHX_ a,b,c)
-#define glob_assign_ref(a,b) S_glob_assign_ref(aTHX_ a,b)
-#define ptr_table_find S_ptr_table_find
-#endif
-#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+# if defined(PERL_IN_TOKE_C)
+#define ao(a) S_ao(aTHX_ a)
#define check_uni() S_check_uni(aTHX)
+#define checkcomma(a,b,c) S_checkcomma(aTHX_ a,b,c)
+#define deprecate_commaless_var_list() S_deprecate_commaless_var_list(aTHX)
+#define filter_gets(a,b) S_filter_gets(aTHX_ a,b)
+#define find_in_my_stash(a,b) S_find_in_my_stash(aTHX_ a,b)
+#define force_ident(a,b) S_force_ident(aTHX_ a,b)
#define force_next(a) S_force_next(aTHX_ a)
-#define force_version(a,b) S_force_version(aTHX_ a,b)
#define force_strict_version(a) S_force_strict_version(aTHX_ a)
+#define force_version(a,b) S_force_version(aTHX_ a,b)
#define force_word(a,b,c,d,e) S_force_word(aTHX_ a,b,c,d,e)
-#define tokeq(a) S_tokeq(aTHX_ a)
+#define incline(a) S_incline(aTHX_ a)
+#define intuit_method(a,b,c) S_intuit_method(aTHX_ a,b,c)
+#define intuit_more(a) S_intuit_more(aTHX_ a)
+#define lop(a,b,c) S_lop(aTHX_ a,b,c)
+#define missingterm(a) S_missingterm(aTHX_ a)
+#define no_op(a,b) S_no_op(aTHX_ a,b)
#define readpipe_override() S_readpipe_override(aTHX)
#define scan_const(a) S_scan_const(aTHX_ a)
#define scan_formline(a) S_scan_formline(aTHX_ a)
@@ -4033,851 +1506,167 @@
#define scan_subst(a) S_scan_subst(aTHX_ a)
#define scan_trans(a) S_scan_trans(aTHX_ a)
#define scan_word(a,b,c,d,e) S_scan_word(aTHX_ a,b,c,d,e)
-#define update_debugger_info(a,b,c) S_update_debugger_info(aTHX_ a,b,c)
#define skipspace(a) S_skipspace(aTHX_ a)
-#define swallow_bom(a) S_swallow_bom(aTHX_ a)
-#endif
-#ifndef PERL_NO_UTF16_FILTER
-#ifdef PERL_CORE
-#define utf16_textfilter(a,b,c) S_utf16_textfilter(aTHX_ a,b,c)
-#define add_utf16_textfilter(a,b) S_add_utf16_textfilter(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define checkcomma(a,b,c) S_checkcomma(aTHX_ a,b,c)
-#define feature_is_enabled(a,b) S_feature_is_enabled(aTHX_ a,b)
-#define force_ident(a,b) S_force_ident(aTHX_ a,b)
-#define incline(a) S_incline(aTHX_ a)
-#define intuit_method(a,b,c) S_intuit_method(aTHX_ a,b,c)
-#define intuit_more(a) S_intuit_more(aTHX_ a)
-#define lop(a,b,c) S_lop(aTHX_ a,b,c)
-#define missingterm(a) S_missingterm(aTHX_ a)
-#define no_op(a,b) S_no_op(aTHX_ a,b)
#define sublex_done() S_sublex_done(aTHX)
#define sublex_push() S_sublex_push(aTHX)
#define sublex_start() S_sublex_start(aTHX)
-#define filter_gets(a,b) S_filter_gets(aTHX_ a,b)
-#define find_in_my_stash(a,b) S_find_in_my_stash(aTHX_ a,b)
+#define swallow_bom(a) S_swallow_bom(aTHX_ a)
#define tokenize_use(a,b) S_tokenize_use(aTHX_ a,b)
-#define deprecate_commaless_var_list() S_deprecate_commaless_var_list(aTHX)
-#define ao(a) S_ao(aTHX_ a)
-#endif
-# if defined(PERL_CR_FILTER)
-#ifdef PERL_CORE
-#define cr_textfilter(a,b,c) S_cr_textfilter(aTHX_ a,b,c)
-#define strip_return(a) S_strip_return(aTHX_ a)
-#endif
-# endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport(a,b) S_tokereport(aTHX_ a,b)
-#define printbuf(a,b) S_printbuf(aTHX_ a,b)
-#endif
+#define tokeq(a) S_tokeq(aTHX_ a)
+#define update_debugger_info(a,b,c) S_update_debugger_info(aTHX_ a,b,c)
+#define yywarn(a) S_yywarn(aTHX_ a)
+# if defined(PERL_MAD)
+#define curmad(a,b) S_curmad(aTHX_ a,b)
+#define skipspace0(a) S_skipspace0(aTHX_ a)
+#define skipspace1(a) S_skipspace1(aTHX_ a)
+#define skipspace2(a,b) S_skipspace2(aTHX_ a,b)
+#define start_force(a) S_start_force(aTHX_ a)
+# endif
# endif
-#endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+# if defined(PERL_IN_UNIVERSAL_C)
#define isa_lookup(a,b) S_isa_lookup(aTHX_ a,b)
-#endif
-#endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
-#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define stdize_locale(a) S_stdize_locale(aTHX_ a)
-#endif
-#endif
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_IN_UTF8_C)
+#define is_utf8_char_slow S_is_utf8_char_slow
+#define is_utf8_common(a,b,c) S_is_utf8_common(aTHX_ a,b,c)
+#define swash_get(a,b,c) S_swash_get(aTHX_ a,b,c)
+# endif
+# if defined(PERL_IN_UTIL_C)
+#define ckwarn_common(a) S_ckwarn_common(aTHX_ a)
#define closest_cop(a,b) S_closest_cop(aTHX_ a,b)
+#define invoke_exception_hook(a,b) S_invoke_exception_hook(aTHX_ a,b)
#define mess_alloc() S_mess_alloc(aTHX)
-#define vdie_croak_common(a,b) S_vdie_croak_common(aTHX_ a,b)
-#define vdie_common(a,b) S_vdie_common(aTHX_ a,b)
+#define with_queued_errors(a) S_with_queued_errors(aTHX_ a)
#define write_no_mem() S_write_no_mem(aTHX)
-#endif
-#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
-#ifdef PERL_CORE
+# if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
#define mem_log_common S_mem_log_common
-#endif
-#endif
-#endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mulexp10 S_mulexp10
-#endif
-#endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define is_utf8_char_slow S_is_utf8_char_slow
-#define is_utf8_common(a,b,c) S_is_utf8_common(aTHX_ a,b,c)
-#define swash_get(a,b,c) S_swash_get(aTHX_ a,b,c)
-#endif
-#endif
-#define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c)
-#define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d)
-#define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c)
-#define sv_utf8_upgrade_flags_grow(a,b,c) Perl_sv_utf8_upgrade_flags_grow(aTHX_ a,b,c)
-#define sv_pvn_force_flags(a,b,c) Perl_sv_pvn_force_flags(aTHX_ a,b,c)
-#define sv_copypv(a,b) Perl_sv_copypv(aTHX_ a,b)
-#define my_atof2(a,b) Perl_my_atof2(aTHX_ a,b)
-#define my_socketpair Perl_my_socketpair
-#define my_dirfd(a) Perl_my_dirfd(aTHX_ a)
-#ifdef PERL_OLD_COPY_ON_WRITE
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b)
-#endif
-#endif
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
-#define PerlIO_close(a) Perl_PerlIO_close(aTHX_ a)
-#define PerlIO_fill(a) Perl_PerlIO_fill(aTHX_ a)
-#define PerlIO_fileno(a) Perl_PerlIO_fileno(aTHX_ a)
-#define PerlIO_eof(a) Perl_PerlIO_eof(aTHX_ a)
-#define PerlIO_error(a) Perl_PerlIO_error(aTHX_ a)
-#define PerlIO_flush(a) Perl_PerlIO_flush(aTHX_ a)
-#define PerlIO_clearerr(a) Perl_PerlIO_clearerr(aTHX_ a)
-#define PerlIO_set_cnt(a,b) Perl_PerlIO_set_cnt(aTHX_ a,b)
-#define PerlIO_set_ptrcnt(a,b,c) Perl_PerlIO_set_ptrcnt(aTHX_ a,b,c)
-#define PerlIO_setlinebuf(a) Perl_PerlIO_setlinebuf(aTHX_ a)
-#define PerlIO_read(a,b,c) Perl_PerlIO_read(aTHX_ a,b,c)
-#define PerlIO_write(a,b,c) Perl_PerlIO_write(aTHX_ a,b,c)
-#define PerlIO_unread(a,b,c) Perl_PerlIO_unread(aTHX_ a,b,c)
-#define PerlIO_tell(a) Perl_PerlIO_tell(aTHX_ a)
-#define PerlIO_seek(a,b,c) Perl_PerlIO_seek(aTHX_ a,b,c)
-#define PerlIO_get_base(a) Perl_PerlIO_get_base(aTHX_ a)
-#define PerlIO_get_ptr(a) Perl_PerlIO_get_ptr(aTHX_ a)
-#define PerlIO_get_bufsiz(a) Perl_PerlIO_get_bufsiz(aTHX_ a)
-#define PerlIO_get_cnt(a) Perl_PerlIO_get_cnt(aTHX_ a)
-#define PerlIO_stdin() Perl_PerlIO_stdin(aTHX)
-#define PerlIO_stdout() Perl_PerlIO_stdout(aTHX)
-#define PerlIO_stderr() Perl_PerlIO_stderr(aTHX)
-#endif /* PERLIO_LAYERS */
-#ifdef PERL_CORE
-#define deb_stack_all() Perl_deb_stack_all(aTHX)
-#endif
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_new(a) Perl_pad_new(aTHX_ a)
-#define pad_undef(a) Perl_pad_undef(aTHX_ a)
-#define pad_add_name(a,b,c,d,e) Perl_pad_add_name(aTHX_ a,b,c,d,e)
-#define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b)
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_check_dup(a,b,c) S_pad_check_dup(aTHX_ a,b,c)
-#endif
-#endif
-#ifdef DEBUGGING
-#ifdef PERL_CORE
-#define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_block_start(a) Perl_pad_block_start(aTHX_ a)
-#define pad_tidy(a) Perl_pad_tidy(aTHX_ a)
-#define do_dump_pad(a,b,c,d) Perl_do_dump_pad(aTHX_ a,b,c,d)
-#define pad_fixup_inner_anons(a,b,c) Perl_pad_fixup_inner_anons(aTHX_ a,b,c)
-#endif
-#ifdef PERL_CORE
-#define pad_push(a,b) Perl_pad_push(aTHX_ a,b)
-#define pad_compname_type(a) Perl_pad_compname_type(aTHX_ a)
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_findlex(a,b,c,d,e,f,g) S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
-#define pad_add_name_sv(a,b,c,d) S_pad_add_name_sv(aTHX_ a,b,c,d)
-#endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define cv_dump(a,b) S_cv_dump(aTHX_ a,b)
-#endif
+# endif
# endif
+# if defined(PERL_MAD)
+#define addmad(a,b,c) Perl_addmad(aTHX_ a,b,c)
+#define append_madprops(a,b,c) Perl_append_madprops(aTHX_ a,b,c)
+#define do_op_xmldump(a,b,c) Perl_do_op_xmldump(aTHX_ a,b,c)
+#define do_pmop_xmldump(a,b,c) Perl_do_pmop_xmldump(aTHX_ a,b,c)
+#define mad_free(a) Perl_mad_free(aTHX_ a)
+#define madlex() Perl_madlex(aTHX)
+#define madparse(a) Perl_madparse(aTHX_ a)
+#define newMADPROP(a,b,c,d) Perl_newMADPROP(aTHX_ a,b,c,d)
+#define newMADsv(a,b) Perl_newMADsv(aTHX_ a,b)
+#define newTOKEN(a,b,c) Perl_newTOKEN(aTHX_ a,b,c)
+#define op_getmad(a,b,c) Perl_op_getmad(aTHX_ a,b,c)
+#define op_getmad_weak(a,b,c) Perl_op_getmad_weak(aTHX_ a,b,c)
+#define op_xmldump(a) Perl_op_xmldump(aTHX_ a)
+#define package(a) Perl_package(aTHX_ a)
+#define pad_peg Perl_pad_peg
+#define pmop_xmldump(a) Perl_pmop_xmldump(aTHX_ a)
+#define prepend_madprops(a,b,c) Perl_prepend_madprops(aTHX_ a,b,c)
+#define sv_catxmlpv(a,b,c) Perl_sv_catxmlpv(aTHX_ a,b,c)
+#define sv_catxmlpvn(a,b,c,d) Perl_sv_catxmlpvn(aTHX_ a,b,c,d)
+#define sv_catxmlsv(a,b) Perl_sv_catxmlsv(aTHX_ a,b)
+#define sv_xmlpeek(a) Perl_sv_xmlpeek(aTHX_ a)
+#define token_free(a) Perl_token_free(aTHX_ a)
+#define token_getmad(a,b,c) Perl_token_getmad(aTHX_ a,b,c)
+#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e)
+#define xmldump_all() Perl_xmldump_all(aTHX)
+#define xmldump_all_perl(a) Perl_xmldump_all_perl(aTHX_ a)
+#define xmldump_eval() Perl_xmldump_eval(aTHX)
+#define xmldump_form(a) Perl_xmldump_form(aTHX_ a)
+#ifndef PERL_IMPLICIT_CONTEXT
+#define xmldump_indent Perl_xmldump_indent
#endif
-#define find_runcv(a) Perl_find_runcv(aTHX_ a)
-#ifdef PERL_CORE
-#define free_tied_hv_pool() Perl_free_tied_hv_pool(aTHX)
-#endif
-#if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define get_debug_opts(a,b) Perl_get_debug_opts(aTHX_ a,b)
-#endif
-#endif
-#define save_set_svflags(a,b,c) Perl_save_set_svflags(aTHX_ a,b,c)
-#ifdef DEBUGGING
-#endif
-#define hv_scalar(a) Perl_hv_scalar(aTHX_ a)
-#define hv_name_set(a,b,c,d) Perl_hv_name_set(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#define hv_clear_placeholders(a) Perl_hv_clear_placeholders(aTHX_ a)
-#ifdef PERL_CORE
-#define magic_scalarpack(a,b) Perl_magic_scalarpack(aTHX_ a,b)
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_hash_subscript(a,b) S_find_hash_subscript(aTHX_ a,b)
-#define find_array_subscript(a,b) S_find_array_subscript(aTHX_ a,b)
-#define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE16
-#ifdef PERL_CORE
-#define my_htole16 Perl_my_htole16
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH16
-#ifdef PERL_CORE
-#define my_letoh16 Perl_my_letoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE16
-#ifdef PERL_CORE
-#define my_htobe16 Perl_my_htobe16
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH16
-#ifdef PERL_CORE
+#define xmldump_packsubs(a) Perl_xmldump_packsubs(aTHX_ a)
+#define xmldump_packsubs_perl(a,b) Perl_xmldump_packsubs_perl(aTHX_ a,b)
+#define xmldump_sub(a) Perl_xmldump_sub(aTHX_ a)
+#define xmldump_sub_perl(a,b) Perl_xmldump_sub_perl(aTHX_ a,b)
+#define xmldump_vindent(a,b,c,d) Perl_xmldump_vindent(aTHX_ a,b,c,d)
+# endif
+# if defined(PERL_NEED_MY_BETOH16)
#define my_betoh16 Perl_my_betoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE32
-#ifdef PERL_CORE
-#define my_htole32 Perl_my_htole32
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH32
-#ifdef PERL_CORE
-#define my_letoh32 Perl_my_letoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE32
-#ifdef PERL_CORE
-#define my_htobe32 Perl_my_htobe32
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH32
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_NEED_MY_BETOH32)
#define my_betoh32 Perl_my_betoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE64
-#ifdef PERL_CORE
-#define my_htole64 Perl_my_htole64
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH64
-#ifdef PERL_CORE
-#define my_letoh64 Perl_my_letoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE64
-#ifdef PERL_CORE
-#define my_htobe64 Perl_my_htobe64
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH64
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_NEED_MY_BETOH64)
#define my_betoh64 Perl_my_betoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLES
-#ifdef PERL_CORE
-#define my_htoles Perl_my_htoles
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHS
-#ifdef PERL_CORE
-#define my_letohs Perl_my_letohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBES
-#ifdef PERL_CORE
-#define my_htobes Perl_my_htobes
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHS
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_NEED_MY_BETOHI)
+#define my_betohi Perl_my_betohi
+# endif
+# if defined(PERL_NEED_MY_BETOHL)
+#define my_betohl Perl_my_betohl
+# endif
+# if defined(PERL_NEED_MY_BETOHS)
#define my_betohs Perl_my_betohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEI
-#ifdef PERL_CORE
-#define my_htolei Perl_my_htolei
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHI
-#ifdef PERL_CORE
-#define my_letohi Perl_my_letohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEI
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_NEED_MY_HTOBE16)
+#define my_htobe16 Perl_my_htobe16
+# endif
+# if defined(PERL_NEED_MY_HTOBE32)
+#define my_htobe32 Perl_my_htobe32
+# endif
+# if defined(PERL_NEED_MY_HTOBE64)
+#define my_htobe64 Perl_my_htobe64
+# endif
+# if defined(PERL_NEED_MY_HTOBEI)
#define my_htobei Perl_my_htobei
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHI
-#ifdef PERL_CORE
-#define my_betohi Perl_my_betohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEL
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_NEED_MY_HTOBEL)
+#define my_htobel Perl_my_htobel
+# endif
+# if defined(PERL_NEED_MY_HTOBES)
+#define my_htobes Perl_my_htobes
+# endif
+# if defined(PERL_NEED_MY_HTOLE16)
+#define my_htole16 Perl_my_htole16
+# endif
+# if defined(PERL_NEED_MY_HTOLE32)
+#define my_htole32 Perl_my_htole32
+# endif
+# if defined(PERL_NEED_MY_HTOLE64)
+#define my_htole64 Perl_my_htole64
+# endif
+# if defined(PERL_NEED_MY_HTOLEI)
+#define my_htolei Perl_my_htolei
+# endif
+# if defined(PERL_NEED_MY_HTOLEL)
#define my_htolel Perl_my_htolel
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHL
-#ifdef PERL_CORE
+# endif
+# if defined(PERL_NEED_MY_HTOLES)
+#define my_htoles Perl_my_htoles
+# endif
+# if defined(PERL_NEED_MY_LETOH16)
+#define my_letoh16 Perl_my_letoh16
+# endif
+# if defined(PERL_NEED_MY_LETOH32)
+#define my_letoh32 Perl_my_letoh32
+# endif
+# if defined(PERL_NEED_MY_LETOH64)
+#define my_letoh64 Perl_my_letoh64
+# endif
+# if defined(PERL_NEED_MY_LETOHI)
+#define my_letohi Perl_my_letohi
+# endif
+# if defined(PERL_NEED_MY_LETOHL)
#define my_letohl Perl_my_letohl
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEL
-#ifdef PERL_CORE
-#define my_htobel Perl_my_htobel
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHL
-#ifdef PERL_CORE
-#define my_betohl Perl_my_betohl
-#endif
-#endif
-#ifdef PERL_CORE
-#define my_swabn Perl_my_swabn
-#endif
-#define gv_fetchpvn_flags(a,b,c,d) Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d)
-#define gv_fetchsv(a,b,c) Perl_gv_fetchsv(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define is_gv_magical_sv(a,b) Perl_is_gv_magical_sv(aTHX_ a,b)
-#endif
-#define stashpv_hvname_match(a,b) Perl_stashpv_hvname_match(aTHX_ a,b)
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-#ifdef PERL_CORE
-#define dump_sv_child(a) Perl_dump_sv_child(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_DONT_CREATE_GVSV
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ckwarn_common(a) S_ckwarn_common(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#ifdef PERL_CORE
-#define offer_nice_chunk(a,b) Perl_offer_nice_chunk(aTHX_ a,b)
-#endif
-#ifndef SPRINTF_RETURNS_STRLEN
-#endif
-#ifdef PERL_CORE
-#define my_clearenv() Perl_my_clearenv(aTHX)
-#endif
-#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-#else
-#endif
-#endif
-#ifndef HAS_STRLCAT
-#endif
-#ifndef HAS_STRLCPY
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define pad_peg Perl_pad_peg
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#ifdef PERL_CORE
-#define xmldump_vindent(a,b,c,d) Perl_xmldump_vindent(aTHX_ a,b,c,d)
-#define xmldump_all() Perl_xmldump_all(aTHX)
-#define xmldump_all_perl(a) Perl_xmldump_all_perl(aTHX_ a)
-#define xmldump_packsubs(a) Perl_xmldump_packsubs(aTHX_ a)
-#define xmldump_packsubs_perl(a,b) Perl_xmldump_packsubs_perl(aTHX_ a,b)
-#define xmldump_sub(a) Perl_xmldump_sub(aTHX_ a)
-#define xmldump_sub_perl(a,b) Perl_xmldump_sub_perl(aTHX_ a,b)
-#define xmldump_form(a) Perl_xmldump_form(aTHX_ a)
-#define xmldump_eval() Perl_xmldump_eval(aTHX)
-#define sv_catxmlsv(a,b) Perl_sv_catxmlsv(aTHX_ a,b)
-#define sv_catxmlpvn(a,b,c,d) Perl_sv_catxmlpvn(aTHX_ a,b,c,d)
-#define sv_xmlpeek(a) Perl_sv_xmlpeek(aTHX_ a)
-#define do_pmop_xmldump(a,b,c) Perl_do_pmop_xmldump(aTHX_ a,b,c)
-#define pmop_xmldump(a) Perl_pmop_xmldump(aTHX_ a)
-#define do_op_xmldump(a,b,c) Perl_do_op_xmldump(aTHX_ a,b,c)
-#define op_xmldump(a) Perl_op_xmldump(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define newTOKEN(a,b,c) Perl_newTOKEN(aTHX_ a,b,c)
-#define token_free(a) Perl_token_free(aTHX_ a)
-#define token_getmad(a,b,c) Perl_token_getmad(aTHX_ a,b,c)
-#define op_getmad_weak(a,b,c) Perl_op_getmad_weak(aTHX_ a,b,c)
-#define op_getmad(a,b,c) Perl_op_getmad(aTHX_ a,b,c)
-#define prepend_madprops(a,b,c) Perl_prepend_madprops(aTHX_ a,b,c)
-#define append_madprops(a,b,c) Perl_append_madprops(aTHX_ a,b,c)
-#define addmad(a,b,c) Perl_addmad(aTHX_ a,b,c)
-#define newMADsv(a,b) Perl_newMADsv(aTHX_ a,b)
-#define newMADPROP(a,b,c,d) Perl_newMADPROP(aTHX_ a,b,c,d)
-#define mad_free(a) Perl_mad_free(aTHX_ a)
-#endif
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define skipspace0(a) S_skipspace0(aTHX_ a)
-#define skipspace1(a) S_skipspace1(aTHX_ a)
-#define skipspace2(a,b) S_skipspace2(aTHX_ a,b)
-#define start_force(a) S_start_force(aTHX_ a)
-#define curmad(a,b) S_curmad(aTHX_ a,b)
-#endif
# endif
-#ifdef PERL_CORE
-#define madlex() Perl_madlex(aTHX)
-#define madparse() Perl_madparse(aTHX)
-#endif
-#endif
-#if !defined(HAS_SIGNBIT)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#ifdef PERL_CORE
-#endif
-#if defined(USE_ITHREADS)
-#ifdef PERL_CORE
+# if defined(PERL_NEED_MY_LETOHS)
+#define my_letohs Perl_my_letohs
+# endif
+# if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
+#define pidgone(a,b) S_pidgone(aTHX_ a,b)
+# endif
+# if defined(USE_ITHREADS)
#define mro_meta_dup(a,b) Perl_mro_meta_dup(aTHX_ a,b)
+#define padlist_dup(a,b) Perl_padlist_dup(aTHX_ a,b)
+# endif
+# if defined(USE_LOCALE_COLLATE)
+#define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b)
+#define mem_collxfrm(a,b,c) Perl_mem_collxfrm(aTHX_ a,b,c)
+# endif
#endif
-#endif
-#define mro_get_linear_isa(a) Perl_mro_get_linear_isa(aTHX_ a)
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define mro_isa_changed_in(a) Perl_mro_isa_changed_in(aTHX_ a)
-#endif
-#define mro_method_changed_in(a) Perl_mro_method_changed_in(aTHX_ a)
-#ifdef PERL_CORE
-#define boot_core_mro() Perl_boot_core_mro(aTHX)
-#endif
-#ifdef PERL_CORE
-#endif
-#ifdef PERL_CORE
-#endif
-#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
-#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
-#define ck_chdir(a) Perl_ck_chdir(aTHX_ a)
-#define ck_concat(a) Perl_ck_concat(aTHX_ a)
-#define ck_defined(a) Perl_ck_defined(aTHX_ a)
-#define ck_delete(a) Perl_ck_delete(aTHX_ a)
-#define ck_die(a) Perl_ck_die(aTHX_ a)
-#define ck_each(a) Perl_ck_each(aTHX_ a)
-#define ck_eof(a) Perl_ck_eof(aTHX_ a)
-#define ck_eval(a) Perl_ck_eval(aTHX_ a)
-#define ck_exec(a) Perl_ck_exec(aTHX_ a)
-#define ck_exists(a) Perl_ck_exists(aTHX_ a)
-#define ck_exit(a) Perl_ck_exit(aTHX_ a)
-#define ck_ftst(a) Perl_ck_ftst(aTHX_ a)
-#define ck_fun(a) Perl_ck_fun(aTHX_ a)
-#define ck_glob(a) Perl_ck_glob(aTHX_ a)
-#define ck_grep(a) Perl_ck_grep(aTHX_ a)
-#define ck_index(a) Perl_ck_index(aTHX_ a)
-#define ck_join(a) Perl_ck_join(aTHX_ a)
-#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
-#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
-#define ck_match(a) Perl_ck_match(aTHX_ a)
-#define ck_method(a) Perl_ck_method(aTHX_ a)
-#define ck_null(a) Perl_ck_null(aTHX_ a)
-#define ck_open(a) Perl_ck_open(aTHX_ a)
-#define ck_readline(a) Perl_ck_readline(aTHX_ a)
-#define ck_repeat(a) Perl_ck_repeat(aTHX_ a)
-#define ck_require(a) Perl_ck_require(aTHX_ a)
-#define ck_return(a) Perl_ck_return(aTHX_ a)
-#define ck_rfun(a) Perl_ck_rfun(aTHX_ a)
-#define ck_rvconst(a) Perl_ck_rvconst(aTHX_ a)
-#define ck_sassign(a) Perl_ck_sassign(aTHX_ a)
-#define ck_select(a) Perl_ck_select(aTHX_ a)
-#define ck_shift(a) Perl_ck_shift(aTHX_ a)
-#define ck_smartmatch(a) Perl_ck_smartmatch(aTHX_ a)
-#define ck_sort(a) Perl_ck_sort(aTHX_ a)
-#define ck_spair(a) Perl_ck_spair(aTHX_ a)
-#define ck_split(a) Perl_ck_split(aTHX_ a)
-#define ck_subr(a) Perl_ck_subr(aTHX_ a)
-#define ck_substr(a) Perl_ck_substr(aTHX_ a)
-#define ck_svconst(a) Perl_ck_svconst(aTHX_ a)
-#define ck_trunc(a) Perl_ck_trunc(aTHX_ a)
-#define ck_unpack(a) Perl_ck_unpack(aTHX_ a)
-#define pp_aassign() Perl_pp_aassign(aTHX)
-#define pp_abs() Perl_pp_abs(aTHX)
-#define pp_accept() Perl_pp_accept(aTHX)
-#define pp_add() Perl_pp_add(aTHX)
-#define pp_aeach() Perl_pp_aeach(aTHX)
-#define pp_aelem() Perl_pp_aelem(aTHX)
-#define pp_aelemfast() Perl_pp_aelemfast(aTHX)
-#define pp_akeys() Perl_pp_akeys(aTHX)
-#define pp_alarm() Perl_pp_alarm(aTHX)
-#define pp_and() Perl_pp_and(aTHX)
-#define pp_andassign() Perl_pp_andassign(aTHX)
-#define pp_anoncode() Perl_pp_anoncode(aTHX)
-#define pp_anonhash() Perl_pp_anonhash(aTHX)
-#define pp_anonlist() Perl_pp_anonlist(aTHX)
-#define pp_aslice() Perl_pp_aslice(aTHX)
-#define pp_atan2() Perl_pp_atan2(aTHX)
-#define pp_av2arylen() Perl_pp_av2arylen(aTHX)
-#define pp_avalues() Perl_pp_avalues(aTHX)
-#define pp_backtick() Perl_pp_backtick(aTHX)
-#define pp_bind() Perl_pp_bind(aTHX)
-#define pp_binmode() Perl_pp_binmode(aTHX)
-#define pp_bit_and() Perl_pp_bit_and(aTHX)
-#define pp_bit_or() Perl_pp_bit_or(aTHX)
-#define pp_bit_xor() Perl_pp_bit_xor(aTHX)
-#define pp_bless() Perl_pp_bless(aTHX)
-#define pp_boolkeys() Perl_pp_boolkeys(aTHX)
-#define pp_break() Perl_pp_break(aTHX)
-#define pp_caller() Perl_pp_caller(aTHX)
-#define pp_chdir() Perl_pp_chdir(aTHX)
-#define pp_chmod() Perl_pp_chmod(aTHX)
-#define pp_chomp() Perl_pp_chomp(aTHX)
-#define pp_chop() Perl_pp_chop(aTHX)
-#define pp_chown() Perl_pp_chown(aTHX)
-#define pp_chr() Perl_pp_chr(aTHX)
-#define pp_chroot() Perl_pp_chroot(aTHX)
-#define pp_close() Perl_pp_close(aTHX)
-#define pp_closedir() Perl_pp_closedir(aTHX)
-#define pp_complement() Perl_pp_complement(aTHX)
-#define pp_concat() Perl_pp_concat(aTHX)
-#define pp_cond_expr() Perl_pp_cond_expr(aTHX)
-#define pp_connect() Perl_pp_connect(aTHX)
-#define pp_const() Perl_pp_const(aTHX)
-#define pp_continue() Perl_pp_continue(aTHX)
-#define pp_cos() Perl_pp_cos(aTHX)
-#define pp_crypt() Perl_pp_crypt(aTHX)
-#define pp_dbmclose() Perl_pp_dbmclose(aTHX)
-#define pp_dbmopen() Perl_pp_dbmopen(aTHX)
-#define pp_dbstate() Perl_pp_dbstate(aTHX)
-#define pp_defined() Perl_pp_defined(aTHX)
-#define pp_delete() Perl_pp_delete(aTHX)
-#define pp_die() Perl_pp_die(aTHX)
-#define pp_divide() Perl_pp_divide(aTHX)
-#define pp_dofile() Perl_pp_dofile(aTHX)
-#define pp_dor() Perl_pp_dor(aTHX)
-#define pp_dorassign() Perl_pp_dorassign(aTHX)
-#define pp_dump() Perl_pp_dump(aTHX)
-#define pp_each() Perl_pp_each(aTHX)
-#define pp_egrent() Perl_pp_egrent(aTHX)
-#define pp_ehostent() Perl_pp_ehostent(aTHX)
-#define pp_enetent() Perl_pp_enetent(aTHX)
-#define pp_enter() Perl_pp_enter(aTHX)
-#define pp_entereval() Perl_pp_entereval(aTHX)
-#define pp_entergiven() Perl_pp_entergiven(aTHX)
-#define pp_enteriter() Perl_pp_enteriter(aTHX)
-#define pp_enterloop() Perl_pp_enterloop(aTHX)
-#define pp_entersub() Perl_pp_entersub(aTHX)
-#define pp_entertry() Perl_pp_entertry(aTHX)
-#define pp_enterwhen() Perl_pp_enterwhen(aTHX)
-#define pp_enterwrite() Perl_pp_enterwrite(aTHX)
-#define pp_eof() Perl_pp_eof(aTHX)
-#define pp_eprotoent() Perl_pp_eprotoent(aTHX)
-#define pp_epwent() Perl_pp_epwent(aTHX)
-#define pp_eq() Perl_pp_eq(aTHX)
-#define pp_eservent() Perl_pp_eservent(aTHX)
-#define pp_exec() Perl_pp_exec(aTHX)
-#define pp_exists() Perl_pp_exists(aTHX)
-#define pp_exit() Perl_pp_exit(aTHX)
-#define pp_exp() Perl_pp_exp(aTHX)
-#define pp_fcntl() Perl_pp_fcntl(aTHX)
-#define pp_fileno() Perl_pp_fileno(aTHX)
-#define pp_flip() Perl_pp_flip(aTHX)
-#define pp_flock() Perl_pp_flock(aTHX)
-#define pp_flop() Perl_pp_flop(aTHX)
-#define pp_fork() Perl_pp_fork(aTHX)
-#define pp_formline() Perl_pp_formline(aTHX)
-#define pp_ftatime() Perl_pp_ftatime(aTHX)
-#define pp_ftbinary() Perl_pp_ftbinary(aTHX)
-#define pp_ftblk() Perl_pp_ftblk(aTHX)
-#define pp_ftchr() Perl_pp_ftchr(aTHX)
-#define pp_ftctime() Perl_pp_ftctime(aTHX)
-#define pp_ftdir() Perl_pp_ftdir(aTHX)
-#define pp_fteexec() Perl_pp_fteexec(aTHX)
-#define pp_fteowned() Perl_pp_fteowned(aTHX)
-#define pp_fteread() Perl_pp_fteread(aTHX)
-#define pp_ftewrite() Perl_pp_ftewrite(aTHX)
-#define pp_ftfile() Perl_pp_ftfile(aTHX)
-#define pp_ftis() Perl_pp_ftis(aTHX)
-#define pp_ftlink() Perl_pp_ftlink(aTHX)
-#define pp_ftmtime() Perl_pp_ftmtime(aTHX)
-#define pp_ftpipe() Perl_pp_ftpipe(aTHX)
-#define pp_ftrexec() Perl_pp_ftrexec(aTHX)
-#define pp_ftrowned() Perl_pp_ftrowned(aTHX)
-#define pp_ftrread() Perl_pp_ftrread(aTHX)
-#define pp_ftrwrite() Perl_pp_ftrwrite(aTHX)
-#define pp_ftsgid() Perl_pp_ftsgid(aTHX)
-#define pp_ftsize() Perl_pp_ftsize(aTHX)
-#define pp_ftsock() Perl_pp_ftsock(aTHX)
-#define pp_ftsuid() Perl_pp_ftsuid(aTHX)
-#define pp_ftsvtx() Perl_pp_ftsvtx(aTHX)
-#define pp_fttext() Perl_pp_fttext(aTHX)
-#define pp_fttty() Perl_pp_fttty(aTHX)
-#define pp_ftzero() Perl_pp_ftzero(aTHX)
-#define pp_ge() Perl_pp_ge(aTHX)
-#define pp_gelem() Perl_pp_gelem(aTHX)
-#define pp_getc() Perl_pp_getc(aTHX)
-#define pp_getlogin() Perl_pp_getlogin(aTHX)
-#define pp_getpeername() Perl_pp_getpeername(aTHX)
-#define pp_getpgrp() Perl_pp_getpgrp(aTHX)
-#define pp_getppid() Perl_pp_getppid(aTHX)
-#define pp_getpriority() Perl_pp_getpriority(aTHX)
-#define pp_getsockname() Perl_pp_getsockname(aTHX)
-#define pp_ggrent() Perl_pp_ggrent(aTHX)
-#define pp_ggrgid() Perl_pp_ggrgid(aTHX)
-#define pp_ggrnam() Perl_pp_ggrnam(aTHX)
-#define pp_ghbyaddr() Perl_pp_ghbyaddr(aTHX)
-#define pp_ghbyname() Perl_pp_ghbyname(aTHX)
-#define pp_ghostent() Perl_pp_ghostent(aTHX)
-#define pp_glob() Perl_pp_glob(aTHX)
-#define pp_gmtime() Perl_pp_gmtime(aTHX)
-#define pp_gnbyaddr() Perl_pp_gnbyaddr(aTHX)
-#define pp_gnbyname() Perl_pp_gnbyname(aTHX)
-#define pp_gnetent() Perl_pp_gnetent(aTHX)
-#define pp_goto() Perl_pp_goto(aTHX)
-#define pp_gpbyname() Perl_pp_gpbyname(aTHX)
-#define pp_gpbynumber() Perl_pp_gpbynumber(aTHX)
-#define pp_gprotoent() Perl_pp_gprotoent(aTHX)
-#define pp_gpwent() Perl_pp_gpwent(aTHX)
-#define pp_gpwnam() Perl_pp_gpwnam(aTHX)
-#define pp_gpwuid() Perl_pp_gpwuid(aTHX)
-#define pp_grepstart() Perl_pp_grepstart(aTHX)
-#define pp_grepwhile() Perl_pp_grepwhile(aTHX)
-#define pp_gsbyname() Perl_pp_gsbyname(aTHX)
-#define pp_gsbyport() Perl_pp_gsbyport(aTHX)
-#define pp_gservent() Perl_pp_gservent(aTHX)
-#define pp_gsockopt() Perl_pp_gsockopt(aTHX)
-#define pp_gt() Perl_pp_gt(aTHX)
-#define pp_gv() Perl_pp_gv(aTHX)
-#define pp_gvsv() Perl_pp_gvsv(aTHX)
-#define pp_helem() Perl_pp_helem(aTHX)
-#define pp_hex() Perl_pp_hex(aTHX)
-#define pp_hintseval() Perl_pp_hintseval(aTHX)
-#define pp_hslice() Perl_pp_hslice(aTHX)
-#define pp_i_add() Perl_pp_i_add(aTHX)
-#define pp_i_divide() Perl_pp_i_divide(aTHX)
-#define pp_i_eq() Perl_pp_i_eq(aTHX)
-#define pp_i_ge() Perl_pp_i_ge(aTHX)
-#define pp_i_gt() Perl_pp_i_gt(aTHX)
-#define pp_i_le() Perl_pp_i_le(aTHX)
-#define pp_i_lt() Perl_pp_i_lt(aTHX)
-#define pp_i_modulo() Perl_pp_i_modulo(aTHX)
-#define pp_i_multiply() Perl_pp_i_multiply(aTHX)
-#define pp_i_ncmp() Perl_pp_i_ncmp(aTHX)
-#define pp_i_ne() Perl_pp_i_ne(aTHX)
-#define pp_i_negate() Perl_pp_i_negate(aTHX)
-#define pp_i_subtract() Perl_pp_i_subtract(aTHX)
-#define pp_index() Perl_pp_index(aTHX)
-#define pp_int() Perl_pp_int(aTHX)
-#define pp_ioctl() Perl_pp_ioctl(aTHX)
-#define pp_iter() Perl_pp_iter(aTHX)
-#define pp_join() Perl_pp_join(aTHX)
-#define pp_keys() Perl_pp_keys(aTHX)
-#define pp_kill() Perl_pp_kill(aTHX)
-#define pp_last() Perl_pp_last(aTHX)
-#define pp_lc() Perl_pp_lc(aTHX)
-#define pp_lcfirst() Perl_pp_lcfirst(aTHX)
-#define pp_le() Perl_pp_le(aTHX)
-#define pp_leave() Perl_pp_leave(aTHX)
-#define pp_leaveeval() Perl_pp_leaveeval(aTHX)
-#define pp_leavegiven() Perl_pp_leavegiven(aTHX)
-#define pp_leaveloop() Perl_pp_leaveloop(aTHX)
-#define pp_leavesub() Perl_pp_leavesub(aTHX)
-#define pp_leavesublv() Perl_pp_leavesublv(aTHX)
-#define pp_leavetry() Perl_pp_leavetry(aTHX)
-#define pp_leavewhen() Perl_pp_leavewhen(aTHX)
-#define pp_leavewrite() Perl_pp_leavewrite(aTHX)
-#define pp_left_shift() Perl_pp_left_shift(aTHX)
-#define pp_length() Perl_pp_length(aTHX)
-#define pp_lineseq() Perl_pp_lineseq(aTHX)
-#define pp_link() Perl_pp_link(aTHX)
-#define pp_list() Perl_pp_list(aTHX)
-#define pp_listen() Perl_pp_listen(aTHX)
-#define pp_localtime() Perl_pp_localtime(aTHX)
-#define pp_lock() Perl_pp_lock(aTHX)
-#define pp_log() Perl_pp_log(aTHX)
-#define pp_lslice() Perl_pp_lslice(aTHX)
-#define pp_lstat() Perl_pp_lstat(aTHX)
-#define pp_lt() Perl_pp_lt(aTHX)
-#define pp_mapstart() Perl_pp_mapstart(aTHX)
-#define pp_mapwhile() Perl_pp_mapwhile(aTHX)
-#define pp_match() Perl_pp_match(aTHX)
-#define pp_method() Perl_pp_method(aTHX)
-#define pp_method_named() Perl_pp_method_named(aTHX)
-#define pp_mkdir() Perl_pp_mkdir(aTHX)
-#define pp_modulo() Perl_pp_modulo(aTHX)
-#define pp_msgctl() Perl_pp_msgctl(aTHX)
-#define pp_msgget() Perl_pp_msgget(aTHX)
-#define pp_msgrcv() Perl_pp_msgrcv(aTHX)
-#define pp_msgsnd() Perl_pp_msgsnd(aTHX)
-#define pp_multiply() Perl_pp_multiply(aTHX)
-#define pp_ncmp() Perl_pp_ncmp(aTHX)
-#define pp_ne() Perl_pp_ne(aTHX)
-#define pp_negate() Perl_pp_negate(aTHX)
-#define pp_next() Perl_pp_next(aTHX)
-#define pp_nextstate() Perl_pp_nextstate(aTHX)
-#define pp_not() Perl_pp_not(aTHX)
-#define pp_null() Perl_pp_null(aTHX)
-#define pp_oct() Perl_pp_oct(aTHX)
-#define pp_once() Perl_pp_once(aTHX)
-#define pp_open() Perl_pp_open(aTHX)
-#define pp_open_dir() Perl_pp_open_dir(aTHX)
-#define pp_or() Perl_pp_or(aTHX)
-#define pp_orassign() Perl_pp_orassign(aTHX)
-#define pp_ord() Perl_pp_ord(aTHX)
-#define pp_pack() Perl_pp_pack(aTHX)
-#define pp_padany() Perl_pp_padany(aTHX)
-#define pp_padav() Perl_pp_padav(aTHX)
-#define pp_padhv() Perl_pp_padhv(aTHX)
-#define pp_padsv() Perl_pp_padsv(aTHX)
-#define pp_pipe_op() Perl_pp_pipe_op(aTHX)
-#define pp_pop() Perl_pp_pop(aTHX)
-#define pp_pos() Perl_pp_pos(aTHX)
-#define pp_postdec() Perl_pp_postdec(aTHX)
-#define pp_postinc() Perl_pp_postinc(aTHX)
-#define pp_pow() Perl_pp_pow(aTHX)
-#define pp_predec() Perl_pp_predec(aTHX)
-#define pp_preinc() Perl_pp_preinc(aTHX)
-#define pp_print() Perl_pp_print(aTHX)
-#define pp_prototype() Perl_pp_prototype(aTHX)
-#define pp_prtf() Perl_pp_prtf(aTHX)
-#define pp_push() Perl_pp_push(aTHX)
-#define pp_pushmark() Perl_pp_pushmark(aTHX)
-#define pp_pushre() Perl_pp_pushre(aTHX)
-#define pp_qr() Perl_pp_qr(aTHX)
-#define pp_quotemeta() Perl_pp_quotemeta(aTHX)
-#define pp_rand() Perl_pp_rand(aTHX)
-#define pp_range() Perl_pp_range(aTHX)
-#define pp_rcatline() Perl_pp_rcatline(aTHX)
-#define pp_read() Perl_pp_read(aTHX)
-#define pp_readdir() Perl_pp_readdir(aTHX)
-#define pp_readline() Perl_pp_readline(aTHX)
-#define pp_readlink() Perl_pp_readlink(aTHX)
-#define pp_recv() Perl_pp_recv(aTHX)
-#define pp_redo() Perl_pp_redo(aTHX)
-#define pp_ref() Perl_pp_ref(aTHX)
-#define pp_refgen() Perl_pp_refgen(aTHX)
-#define pp_regcmaybe() Perl_pp_regcmaybe(aTHX)
-#define pp_regcomp() Perl_pp_regcomp(aTHX)
-#define pp_regcreset() Perl_pp_regcreset(aTHX)
-#define pp_rename() Perl_pp_rename(aTHX)
-#define pp_repeat() Perl_pp_repeat(aTHX)
-#define pp_require() Perl_pp_require(aTHX)
-#define pp_reset() Perl_pp_reset(aTHX)
-#define pp_return() Perl_pp_return(aTHX)
-#define pp_reverse() Perl_pp_reverse(aTHX)
-#define pp_rewinddir() Perl_pp_rewinddir(aTHX)
-#define pp_right_shift() Perl_pp_right_shift(aTHX)
-#define pp_rindex() Perl_pp_rindex(aTHX)
-#define pp_rmdir() Perl_pp_rmdir(aTHX)
-#define pp_rv2av() Perl_pp_rv2av(aTHX)
-#define pp_rv2cv() Perl_pp_rv2cv(aTHX)
-#define pp_rv2gv() Perl_pp_rv2gv(aTHX)
-#define pp_rv2hv() Perl_pp_rv2hv(aTHX)
-#define pp_rv2sv() Perl_pp_rv2sv(aTHX)
-#define pp_sassign() Perl_pp_sassign(aTHX)
-#define pp_say() Perl_pp_say(aTHX)
-#define pp_scalar() Perl_pp_scalar(aTHX)
-#define pp_schomp() Perl_pp_schomp(aTHX)
-#define pp_schop() Perl_pp_schop(aTHX)
-#define pp_scmp() Perl_pp_scmp(aTHX)
-#define pp_scope() Perl_pp_scope(aTHX)
-#define pp_seek() Perl_pp_seek(aTHX)
-#define pp_seekdir() Perl_pp_seekdir(aTHX)
-#define pp_select() Perl_pp_select(aTHX)
-#define pp_semctl() Perl_pp_semctl(aTHX)
-#define pp_semget() Perl_pp_semget(aTHX)
-#define pp_semop() Perl_pp_semop(aTHX)
-#define pp_send() Perl_pp_send(aTHX)
-#define pp_seq() Perl_pp_seq(aTHX)
-#define pp_setpgrp() Perl_pp_setpgrp(aTHX)
-#define pp_setpriority() Perl_pp_setpriority(aTHX)
-#define pp_sge() Perl_pp_sge(aTHX)
-#define pp_sgrent() Perl_pp_sgrent(aTHX)
-#define pp_sgt() Perl_pp_sgt(aTHX)
-#define pp_shift() Perl_pp_shift(aTHX)
-#define pp_shmctl() Perl_pp_shmctl(aTHX)
-#define pp_shmget() Perl_pp_shmget(aTHX)
-#define pp_shmread() Perl_pp_shmread(aTHX)
-#define pp_shmwrite() Perl_pp_shmwrite(aTHX)
-#define pp_shostent() Perl_pp_shostent(aTHX)
-#define pp_shutdown() Perl_pp_shutdown(aTHX)
-#define pp_sin() Perl_pp_sin(aTHX)
-#define pp_sle() Perl_pp_sle(aTHX)
-#define pp_sleep() Perl_pp_sleep(aTHX)
-#define pp_slt() Perl_pp_slt(aTHX)
-#define pp_smartmatch() Perl_pp_smartmatch(aTHX)
-#define pp_sne() Perl_pp_sne(aTHX)
-#define pp_snetent() Perl_pp_snetent(aTHX)
-#define pp_socket() Perl_pp_socket(aTHX)
-#define pp_sockpair() Perl_pp_sockpair(aTHX)
-#define pp_sort() Perl_pp_sort(aTHX)
-#define pp_splice() Perl_pp_splice(aTHX)
-#define pp_split() Perl_pp_split(aTHX)
-#define pp_sprintf() Perl_pp_sprintf(aTHX)
-#define pp_sprotoent() Perl_pp_sprotoent(aTHX)
-#define pp_spwent() Perl_pp_spwent(aTHX)
-#define pp_sqrt() Perl_pp_sqrt(aTHX)
-#define pp_srand() Perl_pp_srand(aTHX)
-#define pp_srefgen() Perl_pp_srefgen(aTHX)
-#define pp_sselect() Perl_pp_sselect(aTHX)
-#define pp_sservent() Perl_pp_sservent(aTHX)
-#define pp_ssockopt() Perl_pp_ssockopt(aTHX)
-#define pp_stat() Perl_pp_stat(aTHX)
-#define pp_stringify() Perl_pp_stringify(aTHX)
-#define pp_stub() Perl_pp_stub(aTHX)
-#define pp_study() Perl_pp_study(aTHX)
-#define pp_subst() Perl_pp_subst(aTHX)
-#define pp_substcont() Perl_pp_substcont(aTHX)
-#define pp_substr() Perl_pp_substr(aTHX)
-#define pp_subtract() Perl_pp_subtract(aTHX)
-#define pp_symlink() Perl_pp_symlink(aTHX)
-#define pp_syscall() Perl_pp_syscall(aTHX)
-#define pp_sysopen() Perl_pp_sysopen(aTHX)
-#define pp_sysread() Perl_pp_sysread(aTHX)
-#define pp_sysseek() Perl_pp_sysseek(aTHX)
-#define pp_system() Perl_pp_system(aTHX)
-#define pp_syswrite() Perl_pp_syswrite(aTHX)
-#define pp_tell() Perl_pp_tell(aTHX)
-#define pp_telldir() Perl_pp_telldir(aTHX)
-#define pp_tie() Perl_pp_tie(aTHX)
-#define pp_tied() Perl_pp_tied(aTHX)
-#define pp_time() Perl_pp_time(aTHX)
-#define pp_tms() Perl_pp_tms(aTHX)
-#define pp_trans() Perl_pp_trans(aTHX)
-#define pp_truncate() Perl_pp_truncate(aTHX)
-#define pp_uc() Perl_pp_uc(aTHX)
-#define pp_ucfirst() Perl_pp_ucfirst(aTHX)
-#define pp_umask() Perl_pp_umask(aTHX)
-#define pp_undef() Perl_pp_undef(aTHX)
-#define pp_unlink() Perl_pp_unlink(aTHX)
-#define pp_unpack() Perl_pp_unpack(aTHX)
-#define pp_unshift() Perl_pp_unshift(aTHX)
-#define pp_unstack() Perl_pp_unstack(aTHX)
-#define pp_untie() Perl_pp_untie(aTHX)
-#define pp_utime() Perl_pp_utime(aTHX)
-#define pp_values() Perl_pp_values(aTHX)
-#define pp_vec() Perl_pp_vec(aTHX)
-#define pp_wait() Perl_pp_wait(aTHX)
-#define pp_waitpid() Perl_pp_waitpid(aTHX)
-#define pp_wantarray() Perl_pp_wantarray(aTHX)
-#define pp_warn() Perl_pp_warn(aTHX)
-#define pp_xor() Perl_pp_xor(aTHX)
-
-#endif /* PERL_IMPLICIT_CONTEXT */
#endif /* #ifndef PERL_NO_SHORT_NAMES */
-
/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to
disable them.
*/
@@ -4897,21 +1686,21 @@
*/
# define perl_atexit(a,b) call_atexit(a,b)
# define perl_call_argv(a,b,c) call_argv(a,b,c)
-# define perl_call_pv(a,b) call_pv(a,b)
# define perl_call_method(a,b) call_method(a,b)
+# define perl_call_pv(a,b) call_pv(a,b)
# define perl_call_sv(a,b) call_sv(a,b)
-# define perl_eval_sv(a,b) eval_sv(a,b)
# define perl_eval_pv(a,b) eval_pv(a,b)
-# define perl_require_pv(a) require_pv(a)
-# define perl_get_sv(a,b) get_sv(a,b)
+# define perl_eval_sv(a,b) eval_sv(a,b)
# define perl_get_av(a,b) get_av(a,b)
-# define perl_get_hv(a,b) get_hv(a,b)
# define perl_get_cv(a,b) get_cv(a,b)
+# define perl_get_hv(a,b) get_hv(a,b)
+# define perl_get_sv(a,b) get_sv(a,b)
# define perl_init_i18nl10n(a) init_i18nl10n(a)
# define perl_init_i18nl14n(a) init_i18nl14n(a)
-# define perl_new_ctype(a) new_ctype(a)
# define perl_new_collate(a) new_collate(a)
+# define perl_new_ctype(a) new_ctype(a)
# define perl_new_numeric(a) new_numeric(a)
+# define perl_require_pv(a) require_pv(a)
/* varargs functions can't be handled with CPP macros. :-(
This provides a set of compatibility functions that don't take
@@ -4919,38 +1708,38 @@
dTHX.
*/
#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
-# define croak Perl_croak_nocontext
-# define deb Perl_deb_nocontext
-# define die Perl_die_nocontext
-# define form Perl_form_nocontext
-# define load_module Perl_load_module_nocontext
-# define mess Perl_mess_nocontext
-# define newSVpvf Perl_newSVpvf_nocontext
-# define sv_catpvf Perl_sv_catpvf_nocontext
-# define sv_setpvf Perl_sv_setpvf_nocontext
-# define warn Perl_warn_nocontext
-# define warner Perl_warner_nocontext
-# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
-# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
+# define croak Perl_croak_nocontext
+# define deb Perl_deb_nocontext
+# define die Perl_die_nocontext
+# define form Perl_form_nocontext
+# define load_module Perl_load_module_nocontext
+# define mess Perl_mess_nocontext
+# define newSVpvf Perl_newSVpvf_nocontext
+# define sv_catpvf Perl_sv_catpvf_nocontext
+# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
+# define sv_setpvf Perl_sv_setpvf_nocontext
+# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
+# define warn Perl_warn_nocontext
+# define warner Perl_warner_nocontext
#endif
#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
#if !defined(PERL_IMPLICIT_CONTEXT)
/* undefined symbols, point them back at the usual ones */
-# define Perl_croak_nocontext Perl_croak
-# define Perl_die_nocontext Perl_die
-# define Perl_deb_nocontext Perl_deb
-# define Perl_form_nocontext Perl_form
+# define Perl_croak_nocontext Perl_croak
+# define Perl_deb_nocontext Perl_deb
+# define Perl_die_nocontext Perl_die
+# define Perl_form_nocontext Perl_form
# define Perl_load_module_nocontext Perl_load_module
-# define Perl_mess_nocontext Perl_mess
+# define Perl_mess_nocontext Perl_mess
# define Perl_newSVpvf_nocontext Perl_newSVpvf
# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
-# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
-# define Perl_warn_nocontext Perl_warn
-# define Perl_warner_nocontext Perl_warner
# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg
+# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg
+# define Perl_warn_nocontext Perl_warn
+# define Perl_warner_nocontext Perl_warner
#endif
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/embedvar.h b/Master/tlpkg/tlperl/lib/CORE/embedvar.h
index 63ed46ee2ab..bb179fdcf44 100644
--- a/Master/tlpkg/tlperl/lib/CORE/embedvar.h
+++ b/Master/tlpkg/tlperl/lib/CORE/embedvar.h
@@ -1,16 +1,16 @@
-/* -*- buffer-read-only: t -*-
+/* -*- buffer-read-only: t -*-
*
* embedvar.h
*
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
+ * This file is built by regen/embed.pl from data in embed.fnc,
+ * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
* Any changes made here will be lost!
*
* Edit those files and run 'make regen_headers' to effect changes.
@@ -65,12 +65,14 @@
#define PL_Xpv (vTHX->IXpv)
#define PL_amagic_generation (vTHX->Iamagic_generation)
#define PL_an (vTHX->Ian)
+#define PL_apiversion (vTHX->Iapiversion)
#define PL_argvgv (vTHX->Iargvgv)
#define PL_argvout_stack (vTHX->Iargvout_stack)
#define PL_argvoutgv (vTHX->Iargvoutgv)
#define PL_basetime (vTHX->Ibasetime)
#define PL_beginav (vTHX->Ibeginav)
#define PL_beginav_save (vTHX->Ibeginav_save)
+#define PL_blockhooks (vTHX->Iblockhooks)
#define PL_body_arenas (vTHX->Ibody_arenas)
#define PL_body_roots (vTHX->Ibody_roots)
#define PL_bodytarget (vTHX->Ibodytarget)
@@ -104,6 +106,7 @@
#define PL_curstname (vTHX->Icurstname)
#define PL_custom_op_descs (vTHX->Icustom_op_descs)
#define PL_custom_op_names (vTHX->Icustom_op_names)
+#define PL_custom_ops (vTHX->Icustom_ops)
#define PL_cv_has_eval (vTHX->Icv_has_eval)
#define PL_dbargs (vTHX->Idbargs)
#define PL_debstash (vTHX->Idebstash)
@@ -116,8 +119,6 @@
#define PL_delaymagic (vTHX->Idelaymagic)
#define PL_destroyhook (vTHX->Idestroyhook)
#define PL_diehook (vTHX->Idiehook)
-#define PL_dirty (vTHX->Idirty)
-#define PL_doextract (vTHX->Idoextract)
#define PL_doswitches (vTHX->Idoswitches)
#define PL_dowarn (vTHX->Idowarn)
#define PL_dumper_fd (vTHX->Idumper_fd)
@@ -204,8 +205,6 @@
#define PL_my_cxt_list (vTHX->Imy_cxt_list)
#define PL_my_cxt_size (vTHX->Imy_cxt_size)
#define PL_na (vTHX->Ina)
-#define PL_nice_chunk (vTHX->Inice_chunk)
-#define PL_nice_chunk_size (vTHX->Inice_chunk_size)
#define PL_nomemok (vTHX->Inomemok)
#define PL_numeric_local (vTHX->Inumeric_local)
#define PL_numeric_name (vTHX->Inumeric_name)
@@ -233,6 +232,7 @@
#define PL_perl_destruct_level (vTHX->Iperl_destruct_level)
#define PL_perldb (vTHX->Iperldb)
#define PL_perlio (vTHX->Iperlio)
+#define PL_phase (vTHX->Iphase)
#define PL_pidstatus (vTHX->Ipidstatus)
#define PL_ppid (vTHX->Ippid)
#define PL_preambleav (vTHX->Ipreambleav)
@@ -254,7 +254,9 @@
#define PL_rehash_seed (vTHX->Irehash_seed)
#define PL_rehash_seed_set (vTHX->Irehash_seed_set)
#define PL_replgv (vTHX->Ireplgv)
+#define PL_restartjmpenv (vTHX->Irestartjmpenv)
#define PL_restartop (vTHX->Irestartop)
+#define PL_rpeepp (vTHX->Irpeepp)
#define PL_rs (vTHX->Irs)
#define PL_runops (vTHX->Irunops)
#define PL_savebegin (vTHX->Isavebegin)
@@ -272,6 +274,7 @@
#define PL_sharehook (vTHX->Isharehook)
#define PL_sig_pending (vTHX->Isig_pending)
#define PL_sighandlerp (vTHX->Isighandlerp)
+#define PL_signalhook (vTHX->Isignalhook)
#define PL_signals (vTHX->Isignals)
#define PL_slab_count (vTHX->Islab_count)
#define PL_slabs (vTHX->Islabs)
@@ -339,6 +342,8 @@
#define PL_utf8_ascii (vTHX->Iutf8_ascii)
#define PL_utf8_cntrl (vTHX->Iutf8_cntrl)
#define PL_utf8_digit (vTHX->Iutf8_digit)
+#define PL_utf8_foldable (vTHX->Iutf8_foldable)
+#define PL_utf8_foldclosures (vTHX->Iutf8_foldclosures)
#define PL_utf8_graph (vTHX->Iutf8_graph)
#define PL_utf8_idcont (vTHX->Iutf8_idcont)
#define PL_utf8_idstart (vTHX->Iutf8_idstart)
@@ -356,6 +361,8 @@
#define PL_utf8_toupper (vTHX->Iutf8_toupper)
#define PL_utf8_upper (vTHX->Iutf8_upper)
#define PL_utf8_xdigit (vTHX->Iutf8_xdigit)
+#define PL_utf8_xidcont (vTHX->Iutf8_xidcont)
+#define PL_utf8_xidstart (vTHX->Iutf8_xidstart)
#define PL_utf8cache (vTHX->Iutf8cache)
#define PL_utf8locale (vTHX->Iutf8locale)
#define PL_warnhook (vTHX->Iwarnhook)
@@ -392,12 +399,14 @@
#define PL_IXpv PL_Xpv
#define PL_Iamagic_generation PL_amagic_generation
#define PL_Ian PL_an
+#define PL_Iapiversion PL_apiversion
#define PL_Iargvgv PL_argvgv
#define PL_Iargvout_stack PL_argvout_stack
#define PL_Iargvoutgv PL_argvoutgv
#define PL_Ibasetime PL_basetime
#define PL_Ibeginav PL_beginav
#define PL_Ibeginav_save PL_beginav_save
+#define PL_Iblockhooks PL_blockhooks
#define PL_Ibody_arenas PL_body_arenas
#define PL_Ibody_roots PL_body_roots
#define PL_Ibodytarget PL_bodytarget
@@ -431,6 +440,7 @@
#define PL_Icurstname PL_curstname
#define PL_Icustom_op_descs PL_custom_op_descs
#define PL_Icustom_op_names PL_custom_op_names
+#define PL_Icustom_ops PL_custom_ops
#define PL_Icv_has_eval PL_cv_has_eval
#define PL_Idbargs PL_dbargs
#define PL_Idebstash PL_debstash
@@ -443,8 +453,6 @@
#define PL_Idelaymagic PL_delaymagic
#define PL_Idestroyhook PL_destroyhook
#define PL_Idiehook PL_diehook
-#define PL_Idirty PL_dirty
-#define PL_Idoextract PL_doextract
#define PL_Idoswitches PL_doswitches
#define PL_Idowarn PL_dowarn
#define PL_Idumper_fd PL_dumper_fd
@@ -531,8 +539,6 @@
#define PL_Imy_cxt_list PL_my_cxt_list
#define PL_Imy_cxt_size PL_my_cxt_size
#define PL_Ina PL_na
-#define PL_Inice_chunk PL_nice_chunk
-#define PL_Inice_chunk_size PL_nice_chunk_size
#define PL_Inomemok PL_nomemok
#define PL_Inumeric_local PL_numeric_local
#define PL_Inumeric_name PL_numeric_name
@@ -560,6 +566,7 @@
#define PL_Iperl_destruct_level PL_perl_destruct_level
#define PL_Iperldb PL_perldb
#define PL_Iperlio PL_perlio
+#define PL_Iphase PL_phase
#define PL_Ipidstatus PL_pidstatus
#define PL_Ippid PL_ppid
#define PL_Ipreambleav PL_preambleav
@@ -581,7 +588,9 @@
#define PL_Irehash_seed PL_rehash_seed
#define PL_Irehash_seed_set PL_rehash_seed_set
#define PL_Ireplgv PL_replgv
+#define PL_Irestartjmpenv PL_restartjmpenv
#define PL_Irestartop PL_restartop
+#define PL_Irpeepp PL_rpeepp
#define PL_Irs PL_rs
#define PL_Irunops PL_runops
#define PL_Isavebegin PL_savebegin
@@ -599,6 +608,7 @@
#define PL_Isharehook PL_sharehook
#define PL_Isig_pending PL_sig_pending
#define PL_Isighandlerp PL_sighandlerp
+#define PL_Isignalhook PL_signalhook
#define PL_Isignals PL_signals
#define PL_Islab_count PL_slab_count
#define PL_Islabs PL_slabs
@@ -666,6 +676,8 @@
#define PL_Iutf8_ascii PL_utf8_ascii
#define PL_Iutf8_cntrl PL_utf8_cntrl
#define PL_Iutf8_digit PL_utf8_digit
+#define PL_Iutf8_foldable PL_utf8_foldable
+#define PL_Iutf8_foldclosures PL_utf8_foldclosures
#define PL_Iutf8_graph PL_utf8_graph
#define PL_Iutf8_idcont PL_utf8_idcont
#define PL_Iutf8_idstart PL_utf8_idstart
@@ -683,6 +695,8 @@
#define PL_Iutf8_toupper PL_utf8_toupper
#define PL_Iutf8_upper PL_utf8_upper
#define PL_Iutf8_xdigit PL_utf8_xdigit
+#define PL_Iutf8_xidcont PL_utf8_xidcont
+#define PL_Iutf8_xidstart PL_utf8_xidstart
#define PL_Iutf8cache PL_utf8cache
#define PL_Iutf8locale PL_utf8locale
#define PL_Iwarnhook PL_warnhook
@@ -701,6 +715,8 @@
#define PL_GYes (my_vars->GYes)
#define PL_appctx (my_vars->Gappctx)
#define PL_Gappctx (my_vars->Gappctx)
+#define PL_charclass (my_vars->Gcharclass)
+#define PL_Gcharclass (my_vars->Gcharclass)
#define PL_check (my_vars->Gcheck)
#define PL_Gcheck (my_vars->Gcheck)
#define PL_csighandlerp (my_vars->Gcsighandlerp)
@@ -765,8 +781,6 @@
#define PL_Gsig_handlers_initted (my_vars->Gsig_handlers_initted)
#define PL_sig_ignoring (my_vars->Gsig_ignoring)
#define PL_Gsig_ignoring (my_vars->Gsig_ignoring)
-#define PL_sig_sv (my_vars->Gsig_sv)
-#define PL_Gsig_sv (my_vars->Gsig_sv)
#define PL_sig_trapped (my_vars->Gsig_trapped)
#define PL_Gsig_trapped (my_vars->Gsig_trapped)
#define PL_sigfpe_saved (my_vars->Gsigfpe_saved)
@@ -793,6 +807,7 @@
#define PL_GNo PL_No
#define PL_GYes PL_Yes
#define PL_Gappctx PL_appctx
+#define PL_Gcharclass PL_charclass
#define PL_Gcheck PL_check
#define PL_Gcsighandlerp PL_csighandlerp
#define PL_Gcurinterp PL_curinterp
@@ -825,7 +840,6 @@
#define PL_Gsig_defaulting PL_sig_defaulting
#define PL_Gsig_handlers_initted PL_sig_handlers_initted
#define PL_Gsig_ignoring PL_sig_ignoring
-#define PL_Gsig_sv PL_sig_sv
#define PL_Gsig_trapped PL_sig_trapped
#define PL_Gsigfpe_saved PL_sigfpe_saved
#define PL_Gsubversion PL_subversion
@@ -839,37 +853,4 @@
#endif /* PERL_GLOBAL_STRUCT */
-#ifdef PERL_POLLUTE /* disabled by default in 5.6.0 */
-
-#define DBassertion PL_DBassertion
-#define DBsingle PL_DBsingle
-#define DBsub PL_DBsub
-#define compiling PL_compiling
-#define curcop PL_curcop
-#define curstash PL_curstash
-#define debstash PL_debstash
-#define defgv PL_defgv
-#define diehook PL_diehook
-#define dirty PL_dirty
-#define dowarn PL_dowarn
-#define errgv PL_errgv
-#define na PL_na
-#define no_modify PL_no_modify
-#define perl_destruct_level PL_perl_destruct_level
-#define perldb PL_perldb
-#define ppaddr PL_ppaddr
-#define rsfp PL_rsfp
-#define rsfp_filters PL_rsfp_filters
-#define stack_base PL_stack_base
-#define stack_sp PL_stack_sp
-#define stdingv PL_stdingv
-#define sv_arenaroot PL_sv_arenaroot
-#define sv_no PL_sv_no
-#define sv_undef PL_sv_undef
-#define sv_yes PL_sv_yes
-#define tainted PL_tainted
-#define tainting PL_tainting
-
-#endif /* PERL_POLLUTE */
-
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/gv.h b/Master/tlpkg/tlperl/lib/CORE/gv.h
index 4986b43cc60..ab5c7889872 100644
--- a/Master/tlpkg/tlperl/lib/CORE/gv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/gv.h
@@ -27,10 +27,15 @@ struct gp {
#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__INTEL_COMPILER)
# define GvGP(gv) \
- (*({GV *const _gvgp = (GV *) (gv); \
+ (0+(*({GV *const _gvgp = (GV *) (gv); \
assert(SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV); \
assert(isGV_with_GP(_gvgp)); \
- &((_gvgp)->sv_u.svu_gp);}))
+ &((_gvgp)->sv_u.svu_gp);})))
+# define GvGP_set(gv,gp) \
+ {GV *const _gvgp = (GV *) (gv); \
+ assert(SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV); \
+ assert(isGV_with_GP(_gvgp)); \
+ (_gvgp)->sv_u.svu_gp = (gp); }
# define GvFLAGS(gv) \
(*({GV *const _gvflags = (GV *) (gv); \
assert(SvTYPE(_gvflags) == SVt_PVGV || SvTYPE(_gvflags) == SVt_PVLV); \
@@ -52,7 +57,8 @@ struct gp {
# define GvNAME_get(gv) ({ assert(GvNAME_HEK(gv)); (char *)HEK_KEY(GvNAME_HEK(gv)); })
# define GvNAMELEN_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_LEN(GvNAME_HEK(gv)); })
#else
-# define GvGP(gv) ((gv)->sv_u.svu_gp)
+# define GvGP(gv) (0+(gv)->sv_u.svu_gp)
+# define GvGP_set(gv,gp) ((gv)->sv_u.svu_gp = (gp))
# define GvFLAGS(gv) (GvXPVGV(gv)->xpv_cur)
# define GvSTASH(gv) (GvXPVGV(gv)->xnv_u.xgv_stash)
# define GvNAME_HEK(gv) (GvXPVGV(gv)->xiv_u.xivu_namehek)
@@ -88,7 +94,17 @@ Return the SV from the GV.
#endif
#define GvREFCNT(gv) (GvGP(gv)->gp_refcnt)
-#define GvIO(gv) ((gv) && SvTYPE((const SV*)gv) == SVt_PVGV && GvGP(gv) ? GvIOp(gv) : NULL)
+#define GvIO(gv) \
+ ( \
+ (gv) \
+ && ( \
+ SvTYPE((const SV*)(gv)) == SVt_PVGV \
+ || SvTYPE((const SV*)(gv)) == SVt_PVLV \
+ ) \
+ && GvGP(gv) \
+ ? GvIOp(gv) \
+ : NULL \
+ )
#define GvIOp(gv) (GvGP(gv)->gp_io)
#define GvIOn(gv) (GvIO(gv) ? GvIOp(gv) : GvIOp(gv_IOadd(gv)))
@@ -104,7 +120,8 @@ Return the SV from the GV.
GvGP(gv)->gp_hv : \
GvGP(gv_HVadd(gv))->gp_hv)
-#define GvCV(gv) (GvGP(gv)->gp_cv)
+#define GvCV(gv) (0+GvGP(gv)->gp_cv)
+#define GvCV_set(gv,cv) (GvGP(gv)->gp_cv = (cv))
#define GvCVGEN(gv) (GvGP(gv)->gp_cvgen)
#define GvCVu(gv) (GvGP(gv)->gp_cvgen ? NULL : GvGP(gv)->gp_cv)
@@ -114,6 +131,7 @@ Return the SV from the GV.
#define GvFILEGV(gv) (gv_fetchfile(GvFILE(gv)))
#define GvEGV(gv) (GvGP(gv)->gp_egv)
+#define GvEGVx(gv) (isGV_with_GP(gv) ? GvEGV(gv) : NULL)
#define GvENAME(gv) GvNAME(GvEGV(gv) ? GvEGV(gv) : gv)
#define GvESTASH(gv) GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv)
@@ -127,6 +145,9 @@ Return the SV from the GV.
#define GVf_IMPORTED_HV 0x40
#define GVf_IMPORTED_CV 0x80
+/* Temporary flag for the tie $handle deprecation warnings. */
+#define GVf_TIEWARNED 0x100
+
#define GvINTRO(gv) (GvFLAGS(gv) & GVf_INTRO)
#define GvINTRO_on(gv) (GvFLAGS(gv) |= GVf_INTRO)
#define GvINTRO_off(gv) (GvFLAGS(gv) &= ~GVf_INTRO)
@@ -167,14 +188,14 @@ Return the SV from the GV.
# define Nullgv Null(GV*)
#endif
-#define DM_UID 0x003
-#define DM_RUID 0x001
-#define DM_EUID 0x002
-#define DM_ARRAY 0x004
-#define DM_GID 0x030
-#define DM_RGID 0x010
-#define DM_EGID 0x020
-#define DM_DELAY 0x100
+#define DM_RUID 0x001
+#define DM_EUID 0x002
+#define DM_UID (DM_RUID|DM_EUID)
+#define DM_ARRAY_ISA 0x004
+#define DM_RGID 0x010
+#define DM_EGID 0x020
+#define DM_GID (DM_RGID|DM_EGID)
+#define DM_DELAY 0x100
/*
* symbol creation flags, for use in gv_fetchpv() and get_*v()
diff --git a/Master/tlpkg/tlperl/lib/CORE/handy.h b/Master/tlpkg/tlperl/lib/CORE/handy.h
index d12972d5297..6541c95c357 100644
--- a/Master/tlpkg/tlperl/lib/CORE/handy.h
+++ b/Master/tlpkg/tlperl/lib/CORE/handy.h
@@ -110,6 +110,12 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
# define HAS_BOOL 1
#endif
+/* a simple (bool) cast may not do the right thing: if bool is defined
+ * as char for example, then the cast from int is implementation-defined
+ */
+
+#define cBOOL(cbool) ((bool)!!(cbool))
+
/* Try to figure out __func__ or __FUNCTION__ equivalent, if any.
* XXX Should really be a Configure probe, with HAS__FUNCTION__
* and FUNCTION__ as results.
@@ -202,19 +208,6 @@ typedef U64TYPE U64;
# endif
#endif
-/* HMB H.Merijn Brand - a placeholder for preparing Configure patches:
- *
- * USE_DTRACE HAS_PSEUDOFORK HAS_TIMEGM LOCALTIME_R_NEEDS_TZSET
- * GMTIME_MAX GMTIME_MIN LOCALTIME_MAX LOCALTIME_MIN
- * HAS_CTIME64 HAS_LOCALTIME64 HAS_GMTIME64 HAS_DIFFTIME64
- * HAS_MKTIME64 HAS_ASCTIME64 HAS_GETADDRINFO HAS_GETNAMEINFO
- * HAS_INETNTOP HAS_INETPTON CHARBITS
- * Not (yet) used at top level, but mention them for metaconfig
- */
-
-/* Mention I8SIZE, U8SIZE, I16SIZE, U16SIZE, I32SIZE, U32SIZE,
- I64SIZE, and U64SIZE here so that metaconfig pulls them in. */
-
#if defined(UINT8_MAX) && defined(INT16_MAX) && defined(INT32_MAX)
/* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type.
@@ -283,17 +276,41 @@ pair.
Like C<newSVpvn_share>, but takes a literal string instead of a string/length
pair and omits the hash parameter.
+=for apidoc Am|void|sv_catpvs_flags|SV* sv|const char* s|I32 flags
+Like C<sv_catpvn_flags>, but takes a literal string instead of a
+string/length pair.
+
+=for apidoc Am|void|sv_catpvs_nomg|SV* sv|const char* s
+Like C<sv_catpvn_nomg>, but takes a literal string instead of a
+string/length pair.
+
=for apidoc Am|void|sv_catpvs|SV* sv|const char* s
Like C<sv_catpvn>, but takes a literal string instead of a string/length pair.
+=for apidoc Am|void|sv_catpvs_mg|SV* sv|const char* s
+Like C<sv_catpvn_mg>, but takes a literal string instead of a
+string/length pair.
+
=for apidoc Am|void|sv_setpvs|SV* sv|const char* s
Like C<sv_setpvn>, but takes a literal string instead of a string/length pair.
+=for apidoc Am|void|sv_setpvs_mg|SV* sv|const char* s
+Like C<sv_setpvn_mg>, but takes a literal string instead of a
+string/length pair.
+
+=for apidoc Am|SV *|sv_setref_pvs|const char* s
+Like C<sv_setref_pvn>, but takes a literal string instead of a
+string/length pair.
+
=head1 Memory Management
=for apidoc Ama|char*|savepvs|const char* s
Like C<savepvn>, but takes a literal string instead of a string/length pair.
+=for apidoc Ama|char*|savesharedpvs|const char* s
+A version of C<savepvs()> which allocates the duplicate string in memory
+which is shared between threads.
+
=head1 GV Functions
=for apidoc Am|HV*|gv_stashpvs|const char* name|I32 create
@@ -308,6 +325,13 @@ Like C<hv_fetch>, but takes a literal string instead of a string/length pair.
Like C<hv_store>, but takes a literal string instead of a string/length pair
and omits the hash parameter.
+=head1 Lexer interface
+
+=for apidoc Amx|void|lex_stuff_pvs|const char *pv|U32 flags
+
+Like L</lex_stuff_pvn>, but takes a literal string instead of a
+string/length pair.
+
=cut
*/
@@ -324,11 +348,28 @@ and omits the hash parameter.
#define newSVpvs_flags(str,flags) \
Perl_newSVpvn_flags(aTHX_ STR_WITH_LEN(str), flags)
#define newSVpvs_share(str) Perl_newSVpvn_share(aTHX_ STR_WITH_LEN(str), 0)
-#define sv_catpvs(sv, str) Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), SV_GMAGIC)
+#define sv_catpvs_flags(sv, str, flags) \
+ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), flags)
+#define sv_catpvs_nomg(sv, str) \
+ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), 0)
+#define sv_catpvs(sv, str) \
+ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), SV_GMAGIC)
+#define sv_catpvs_mg(sv, str) \
+ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), SV_GMAGIC|SV_SMAGIC)
#define sv_setpvs(sv, str) Perl_sv_setpvn(aTHX_ sv, STR_WITH_LEN(str))
+#define sv_setpvs_mg(sv, str) Perl_sv_setpvn_mg(aTHX_ sv, STR_WITH_LEN(str))
+#define sv_setref_pvs(rv, classname, str) \
+ Perl_sv_setref_pvn(aTHX_ rv, classname, STR_WITH_LEN(str))
#define savepvs(str) Perl_savepvn(aTHX_ STR_WITH_LEN(str))
-#define gv_stashpvs(str, create) Perl_gv_stashpvn(aTHX_ STR_WITH_LEN(str), create)
-#define gv_fetchpvs(namebeg, add, sv_type) Perl_gv_fetchpvn_flags(aTHX_ STR_WITH_LEN(namebeg), add, sv_type)
+#define savesharedpvs(str) Perl_savesharedpvn(aTHX_ STR_WITH_LEN(str))
+#define gv_stashpvs(str, create) \
+ Perl_gv_stashpvn(aTHX_ STR_WITH_LEN(str), create)
+#define gv_fetchpvs(namebeg, add, sv_type) \
+ Perl_gv_fetchpvn_flags(aTHX_ STR_WITH_LEN(namebeg), add, sv_type)
+#define gv_fetchpvn(namebeg, len, add, sv_type) \
+ Perl_gv_fetchpvn_flags(aTHX_ namebeg, len, add, sv_type)
+#define sv_catxmlpvs(dsv, str, utf8) \
+ Perl_sv_catxmlpvn(aTHX_ dsv, STR_WITH_LEN(str), utf8)
#define hv_fetchs(hv,key,lval) \
((SV **)Perl_hv_common(aTHX_ (hv), NULL, STR_WITH_LEN(key), 0, \
(lval) ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) \
@@ -338,6 +379,8 @@ and omits the hash parameter.
((SV **)Perl_hv_common(aTHX_ (hv), NULL, STR_WITH_LEN(key), 0, \
(HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), (val), 0))
+#define lex_stuff_pvs(pv,flags) Perl_lex_stuff_pvn(aTHX_ STR_WITH_LEN(pv), flags)
+
#define get_cvs(str, flags) \
Perl_get_cvn_flags(aTHX_ STR_WITH_LEN(str), (flags))
@@ -398,7 +441,7 @@ C<strncmp>).
#endif
#define memEQs(s1, l, s2) \
- (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
+ (sizeof(s2)-1 == l && memEQ(s1, ("" s2 ""), (sizeof(s2)-1)))
#define memNEs(s1, l, s2) !memEQs(s1, l, s2)
/*
@@ -423,100 +466,325 @@ C<strncmp>).
/*
=head1 Character classes
-
-=for apidoc Am|bool|isALNUM|char ch
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-alphanumeric character (including underscore) or digit.
+There are three variants for all the functions in this section. The base ones
+operate using the character set of the platform Perl is running on. The ones
+with an C<_A> suffix operate on the ASCII character set, and the ones with an
+C<_L1> suffix operate on the full Latin1 character set. All are unaffected by
+locale
+
+For ASCII platforms, the base function with no suffix and the one with the
+C<_A> suffix are identical. The function with the C<_L1> suffix imposes the
+Latin-1 character set onto the platform. That is, the code points that are
+ASCII are unaffected, since ASCII is a subset of Latin-1. But the non-ASCII
+code points are treated as if they are Latin-1 characters. For example,
+C<isSPACE_L1()> will return true when called with the code point 0xA0, which is
+the Latin-1 NO-BREAK SPACE.
+
+For EBCDIC platforms, the base function with no suffix and the one with the
+C<_L1> suffix should be identical, since, as of this writing, the EBCDIC code
+pages that Perl knows about all are equivalent to Latin-1. The function that
+ends in an C<_A> suffix will not return true unless the specified character also
+has an ASCII equivalent.
=for apidoc Am|bool|isALPHA|char ch
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-alphabetic character.
+Returns a boolean indicating whether the specified character is an
+alphabetic character in the platform's native character set.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isALPHA_A> and C<isALPHA_L1>.
-=for apidoc Am|bool|isSPACE|char ch
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-whitespace.
+=for apidoc Am|bool|isASCII|char ch
+Returns a boolean indicating whether the specified character is one of the 128
+characters in the ASCII character set. On non-ASCII platforms, it is if this
+character corresponds to an ASCII character. Variants C<isASCII_A()> and
+C<isASCII_L1()> are identical to C<isASCII()>.
=for apidoc Am|bool|isDIGIT|char ch
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-digit.
-
-=for apidoc Am|bool|isUPPER|char ch
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-uppercase character.
+Returns a boolean indicating whether the specified character is a
+digit in the platform's native character set.
+Variants C<isDIGIT_A> and C<isDIGIT_L1> are identical to C<isDIGIT>.
=for apidoc Am|bool|isLOWER|char ch
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-lowercase character.
+Returns a boolean indicating whether the specified character is a
+lowercase character in the platform's native character set.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isLOWER_A> and C<isLOWER_L1>.
+
+=for apidoc Am|bool|isOCTAL|char ch
+Returns a boolean indicating whether the specified character is an
+octal digit, [0-7] in the platform's native character set.
+Variants C<isOCTAL_A> and C<isOCTAL_L1> are identical to C<isOCTAL>.
+
+=for apidoc Am|bool|isSPACE|char ch
+Returns a boolean indicating whether the specified character is a
+whitespace character in the platform's native character set. This is the same
+as what C<\s> matches in a regular expression.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isSPACE_A> and C<isSPACE_L1>.
+
+=for apidoc Am|bool|isUPPER|char ch
+Returns a boolean indicating whether the specified character is an
+uppercase character in the platform's native character set.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isUPPER_A> and C<isUPPER_L1>.
+
+=for apidoc Am|bool|isWORDCHAR|char ch
+Returns a boolean indicating whether the specified character is a
+character that is any of: alphabetic, numeric, or an underscore. This is the
+same as what C<\w> matches in a regular expression.
+C<isALNUM()> is a synonym provided for backward compatibility. Note that it
+does not have the standard C language meaning of alphanumeric, since it matches
+an underscore and the standard meaning does not.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isWORDCHAR_A> and C<isWORDCHAR_L1>.
+
+=for apidoc Am|bool|isXDIGIT|char ch
+Returns a boolean indicating whether the specified character is a hexadecimal
+digit, [0-9A-Fa-f]. Variants C<isXDIGIT_A()> and C<isXDIGIT_L1()> are
+identical to C<isXDIGIT()>.
+
+=head1 Character case changing
=for apidoc Am|char|toUPPER|char ch
-Converts the specified character to uppercase. Characters outside the
-US-ASCII (Basic Latin) range are viewed as not having any case.
+Converts the specified character to uppercase in the platform's native
+character set, if possible; otherwise returns the input character itself.
=for apidoc Am|char|toLOWER|char ch
-Converts the specified character to lowercase. Characters outside the
-US-ASCII (Basic Latin) range are viewed as not having any case.
+Converts the specified character to lowercase in the platform's native
+character set, if possible; otherwise returns the input character itself.
=cut
+
+Note that these macros are repeated in Devel::PPPort, so should also be
+patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
+
*/
-#define isALNUM(c) (isALPHA(c) || isDIGIT(c) || (c) == '_')
-#define isIDFIRST(c) (isALPHA(c) || (c) == '_')
-#define isALPHA(c) (isUPPER(c) || isLOWER(c))
-/* ALPHAU includes Unicode semantics for latin1 characters. It has an extra
- * >= AA test to speed up ASCII-only tests at the expense of the others */
-#define isALPHAU(c) (isALPHA(c) || (NATIVE_TO_UNI((U8) c) >= 0xAA \
- && ((NATIVE_TO_UNI((U8) c) >= 0xC0 \
- && NATIVE_TO_UNI((U8) c) != 0xD7 && NATIVE_TO_UNI((U8) c) != 0xF7) \
- || NATIVE_TO_UNI((U8) c) == 0xAA \
- || NATIVE_TO_UNI((U8) c) == 0xB5 \
- || NATIVE_TO_UNI((U8) c) == 0xBA)))
-#define isALNUMU(c) (isDIGIT(c) || isALPHAU(c) || (c) == '_')
-
-/* continuation character for legal NAME in \N{NAME} */
-#define isCHARNAME_CONT(c) (isALNUMU(c) || (c) == ' ' || (c) == '-' || (c) == '(' || (c) == ')' || (c) == ':' || NATIVE_TO_UNI((U8) c) == 0xA0)
-#define isSPACE(c) \
- ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) =='\r' || (c) == '\f')
-#define isPSXSPC(c) (isSPACE(c) || (c) == '\v')
-#define isBLANK(c) ((c) == ' ' || (c) == '\t')
-#define isDIGIT(c) ((c) >= '0' && (c) <= '9')
+/* FITS_IN_8_BITS(c) returns true if c occupies no more than 8 bits. It is
+ * designed to be hopefully bomb-proof, making sure that no bits of
+ * information are lost even on a 64-bit machine, but to get the compiler to
+ * optimize it out if possible. This is because Configure makes sure that the
+ * machine has an 8-bit byte, so if c is stored in a byte, the sizeof()
+ * guarantees that this evaluates to a constant true at compile time. The use
+ * of the mask instead of '< 256' keeps gcc from complaining that it is alway
+ * true, when c's storage class is a byte. Use U64TYPE because U64 is known
+ * only in the perl core, and this macro can be called from outside that */
+#ifdef HAS_QUAD
+# define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || (((U64TYPE)(c) & 0xFF) == (U64TYPE)(c)))
+#else
+# define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || (((U32)(c) & 0xFF) == (U32)(c)))
+#endif
+
+#define isASCII(c) (FITS_IN_8_BITS(c) ? NATIVE_TO_UNI((U8) c) <= 127 : 0)
+#define isASCII_A(c) isASCII(c)
+
+/* ASCII range only */
+#ifdef H_PERL /* If have access to perl.h, lookup in its table */
+/* Bits for PL_charclass[] */
+# define _CC_ALNUMC_A (1<<0)
+# define _CC_ALNUMC_L1 (1<<1)
+# define _CC_ALPHA_A (1<<2)
+# define _CC_ALPHA_L1 (1<<3)
+# define _CC_BLANK_A (1<<4)
+# define _CC_BLANK_L1 (1<<5)
+# define _CC_CHARNAME_CONT (1<<6)
+# define _CC_CNTRL_A (1<<7)
+# define _CC_CNTRL_L1 (1<<8)
+# define _CC_DIGIT_A (1<<9)
+# define _CC_GRAPH_A (1<<10)
+# define _CC_GRAPH_L1 (1<<11)
+# define _CC_IDFIRST_A (1<<12)
+# define _CC_IDFIRST_L1 (1<<13)
+# define _CC_LOWER_A (1<<14)
+# define _CC_LOWER_L1 (1<<15)
+# define _CC_OCTAL_A (1<<16)
+# define _CC_PRINT_A (1<<17)
+# define _CC_PRINT_L1 (1<<18)
+# define _CC_PSXSPC_A (1<<19)
+# define _CC_PSXSPC_L1 (1<<20)
+# define _CC_PUNCT_A (1<<21)
+# define _CC_PUNCT_L1 (1<<22)
+# define _CC_SPACE_A (1<<23)
+# define _CC_SPACE_L1 (1<<24)
+# define _CC_UPPER_A (1<<25)
+# define _CC_UPPER_L1 (1<<26)
+# define _CC_WORDCHAR_A (1<<27)
+# define _CC_WORDCHAR_L1 (1<<28)
+# define _CC_XDIGIT_A (1<<29)
+# define _CC_NONLATIN1_FOLD (1<<30)
+/* Unused
+ * (1<<31)
+ */
+
+# ifdef DOINIT
+EXTCONST U32 PL_charclass[] = {
+# include "l1_char_class_tab.h"
+};
+
+# else /* ! DOINIT */
+EXTCONST U32 PL_charclass[];
+# endif
+
+# define isALNUMC_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALNUMC_A))
+# define isALPHA_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALPHA_A))
+# define isBLANK_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_BLANK_A))
+# define isCNTRL_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_CNTRL_A))
+# define isDIGIT_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_DIGIT_A))
+# define isGRAPH_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_GRAPH_A))
+# define isIDFIRST_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_IDFIRST_A))
+# define isLOWER_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_LOWER_A))
+# define isOCTAL_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_OCTAL_A))
+# define isPRINT_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PRINT_A))
+# define isPSXSPC_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PSXSPC_A))
+# define isPUNCT_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PUNCT_A))
+# define isSPACE_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_SPACE_A))
+# define isUPPER_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_UPPER_A))
+# define isWORDCHAR_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_WORDCHAR_A))
+# define isXDIGIT_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_XDIGIT_A))
+ /* Either participates in a fold with a character above 255, or is a
+ * multi-char fold */
+# define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_NONLATIN1_FOLD))
+#else /* No perl.h. */
+# define isOCTAL_A(c) ((c) >= '0' && (c) <= '9')
+# ifdef EBCDIC
+# define isALNUMC_A(c) (isASCII(c) && isALNUMC(c))
+# define isALPHA_A(c) (isASCII(c) && isALPHA(c))
+# define isBLANK_A(c) (isASCII(c) && isBLANK(c))
+# define isCNTRL_A(c) (isASCII(c) && isCNTRL(c))
+# define isDIGIT_A(c) (isASCII(c) && isDIGIT(c))
+# define isGRAPH_A(c) (isASCII(c) && isGRAPH(c))
+# define isIDFIRST_A(c) (isASCII(c) && isIDFIRST(c))
+# define isLOWER_A(c) (isASCII(c) && isLOWER(c))
+# define isPRINT_A(c) (isASCII(c) && isPRINT(c))
+# define isPSXSPC_A(c) (isASCII(c) && isPSXSPC(c))
+# define isPUNCT_A(c) (isASCII(c) && isPUNCT(c))
+# define isSPACE_A(c) (isASCII(c) && isSPACE(c))
+# define isUPPER_A(c) (isASCII(c) && isUPPER(c))
+# define isWORDCHAR_A(c) (isASCII(c) && isWORDCHAR(c))
+# define isXDIGIT_A(c) (isASCII(c) && isXDIGIT(c))
+# else /* ASCII platform, no perl.h */
+# define isALNUMC_A(c) (isALPHA_A(c) || isDIGIT_A(c))
+# define isALPHA_A(c) (isUPPER_A(c) || isLOWER_A(c))
+# define isBLANK_A(c) ((c) == ' ' || (c) == '\t')
+# define isCNTRL_A(c) (FITS_IN_8_BITS(c) ? ((U8) (c) < ' ' || (c) == 127) : 0)
+# define isDIGIT_A(c) ((c) >= '0' && (c) <= '9')
+# define isGRAPH_A(c) (isWORDCHAR_A(c) || isPUNCT_A(c))
+# define isIDFIRST_A(c) (isALPHA_A(c) || (c) == '_')
+# define isLOWER_A(c) ((c) >= 'a' && (c) <= 'z')
+# define isPRINT_A(c) (((c) >= 32 && (c) < 127))
+# define isPSXSPC_A(c) (isSPACE_A(c) || (c) == '\v')
+# define isPUNCT_A(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
+# define isSPACE_A(c) ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) =='\r' || (c) == '\f')
+# define isUPPER_A(c) ((c) >= 'A' && (c) <= 'Z')
+# define isWORDCHAR_A(c) (isALPHA_A(c) || isDIGIT_A(c) || (c) == '_')
+# define isXDIGIT_A(c) (isDIGIT_A(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
+# endif
+#endif /* ASCII range definitions */
+
+/* Latin1 definitions */
+#ifdef H_PERL
+# define isALNUMC_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALNUMC_L1))
+# define isALPHA_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALPHA_L1))
+# define isBLANK_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_BLANK_L1))
+/* continuation character for legal NAME in \N{NAME} */
+# define isCHARNAME_CONT(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_CHARNAME_CONT))
+# define isCNTRL_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_CNTRL_L1))
+# define isGRAPH_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_GRAPH_L1))
+# define isIDFIRST_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_IDFIRST_L1))
+# define isLOWER_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_LOWER_L1))
+# define isPRINT_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PRINT_L1))
+# define isPSXSPC_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PSXSPC_L1))
+# define isPUNCT_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PUNCT_L1))
+# define isSPACE_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_SPACE_L1))
+# define isUPPER_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_UPPER_L1))
+# define isWORDCHAR_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_WORDCHAR_L1))
+#else /* No access to perl.h. Only a few provided here, just in case needed
+ * for backwards compatibility */
+ /* ALPHAU includes Unicode semantics for latin1 characters. It has an extra
+ * >= AA test to speed up ASCII-only tests at the expense of the others */
+# define isALPHA_L1(c) (isALPHA(c) || (NATIVE_TO_UNI((U8) c) >= 0xAA \
+ && ((NATIVE_TO_UNI((U8) c) >= 0xC0 \
+ && NATIVE_TO_UNI((U8) c) != 0xD7 && NATIVE_TO_UNI((U8) c) != 0xF7) \
+ || NATIVE_TO_UNI((U8) c) == 0xAA \
+ || NATIVE_TO_UNI((U8) c) == 0xB5 \
+ || NATIVE_TO_UNI((U8) c) == 0xBA)))
+# define isCHARNAME_CONT(c) (isALNUM_L1(c) || (c) == ' ' || (c) == '-' || (c) == '(' || (c) == ')' || (c) == ':' || NATIVE_TO_UNI((U8) c) == 0xA0)
+#endif
+
+/* Macros for backwards compatibility and for completeness when the ASCII and
+ * Latin1 values are identical */
+#define isALNUM(c) isWORDCHAR(c)
+#define isALNUMU(c) isWORDCHAR_L1(c)
+#define isALPHAU(c) isALPHA_L1(c)
+#define isDIGIT_L1(c) isDIGIT_A(c)
+#define isOCTAL(c) isOCTAL_A(c)
+#define isOCTAL_L1(c) isOCTAL_A(c)
+#define isXDIGIT_L1(c) isXDIGIT_A(c)
+
+/* Macros that differ between EBCDIC and ASCII. Where C89 defines a function,
+ * that is used in the EBCDIC form, because in EBCDIC we do not do locales:
+ * therefore can use native functions. For those where C89 doesn't define a
+ * function, use our function, assuming that the EBCDIC code page is isomorphic
+ * with Latin1, which the three currently recognized by Perl are. Some libc's
+ * have an isblank(), but it's not guaranteed. */
#ifdef EBCDIC
- /* In EBCDIC we do not do locales: therefore() isupper() is fine. */
-# define isUPPER(c) isupper(c)
-# define isLOWER(c) islower(c)
# define isALNUMC(c) isalnum(c)
-# define isASCII(c) isascii(c)
+# define isALPHA(c) isalpha(c)
+# define isBLANK(c) ((c) == ' ' || (c) == '\t' || NATIVE_TO_UNI(c) == 0xA0)
# define isCNTRL(c) iscntrl(c)
+# define isDIGIT(c) isdigit(c)
# define isGRAPH(c) isgraph(c)
+# define isIDFIRST(c) (isALPHA(c) || (c) == '_')
+# define isLOWER(c) islower(c)
# define isPRINT(c) isprint(c)
+# define isPSXSPC(c) isspace(c)
# define isPUNCT(c) ispunct(c)
+# define isSPACE(c) (isPSXSPC(c) && (c) != '\v')
+# define isUPPER(c) isupper(c)
# define isXDIGIT(c) isxdigit(c)
-# define toUPPER(c) toupper(c)
-# define toUPPER_LATIN1_MOD(c) UNI_TO_NATIVE(PL_mod_latin1_uc[(U8) NATIVE_TO_UNI(c)])
+# define isWORDCHAR(c) (isalnum(c) || (c) == '_')
# define toLOWER(c) tolower(c)
-# define toLOWER_LATIN1(c) UNI_TO_NATIVE(PL_latin1_lc[(U8) NATIVE_TO_UNI(c)])
-#else
-# define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
-# define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
-# define isALNUMC(c) (isALPHA(c) || isDIGIT(c))
-# define isASCII(c) ((c) <= 127)
-# define isCNTRL(c) ((c) < ' ' || (c) == 127)
-# define isGRAPH(c) (isALNUM(c) || isPUNCT(c))
-# define isPRINT(c) (((c) >= 32 && (c) < 127))
-# define isPUNCT(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
-# define isXDIGIT(c) (isDIGIT(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
-
-/* Use table lookup for speed */
-# define toLOWER_LATIN1(c) (PL_latin1_lc[(U8) c])
-
-/* Modified uc. Is correct uc except for three non-ascii chars which are
- * all mapped to one of them, and these need special handling */
-# define toUPPER_LATIN1_MOD(c) (PL_mod_latin1_uc[(U8) c])
-
-/* ASCII casing. */
-# define toUPPER(c) (isLOWER(c) ? (c) - ('a' - 'A') : (c))
+# define toUPPER(c) toupper(c)
+#else /* Not EBCDIC: ASCII-only matching */
+# define isALNUMC(c) isALNUMC_A(c)
+# define isALPHA(c) isALPHA_A(c)
+# define isBLANK(c) isBLANK_A(c)
+# define isCNTRL(c) isCNTRL_A(c)
+# define isDIGIT(c) isDIGIT_A(c)
+# define isGRAPH(c) isGRAPH_A(c)
+# define isIDFIRST(c) isIDFIRST_A(c)
+# define isLOWER(c) isLOWER_A(c)
+# define isPRINT(c) isPRINT_A(c)
+# define isPSXSPC(c) isPSXSPC_A(c)
+# define isPUNCT(c) isPUNCT_A(c)
+# define isSPACE(c) isSPACE_A(c)
+# define isUPPER(c) isUPPER_A(c)
+# define isWORDCHAR(c) isWORDCHAR_A(c)
+# define isXDIGIT(c) isXDIGIT_A(c)
+
+ /* ASCII casing. These could also be written as
+ #define toLOWER(c) (isASCII(c) ? toLOWER_LATIN1(c) : (c))
+ #define toUPPER(c) (isASCII(c) ? toUPPER_LATIN1_MOD(c) : (c))
+ which uses table lookup and mask instead of subtraction. (This would
+ work because the _MOD does not apply in the ASCII range) */
# define toLOWER(c) (isUPPER(c) ? (c) + ('a' - 'A') : (c))
+# define toUPPER(c) (isLOWER(c) ? (c) - ('a' - 'A') : (c))
#endif
+
+/* Use table lookup for speed; return error character for input
+ * out-of-range */
+#define toLOWER_LATIN1(c) (FITS_IN_8_BITS(c) \
+ ? UNI_TO_NATIVE(PL_latin1_lc[ \
+ NATIVE_TO_UNI( (U8) (c)) ]) \
+ : UNICODE_REPLACEMENT)
+/* Modified uc. Is correct uc except for three non-ascii chars which are
+ * all mapped to one of them, and these need special handling; error
+ * character for input out-of-range */
+#define toUPPER_LATIN1_MOD(c) (FITS_IN_8_BITS(c) \
+ ? UNI_TO_NATIVE(PL_mod_latin1_uc[ \
+ NATIVE_TO_UNI( (U8) (c)) ]) \
+ : UNICODE_REPLACEMENT)
+
#ifdef USE_NEXT_CTYPE
# define isALNUM_LC(c) \
@@ -615,10 +883,13 @@ US-ASCII (Basic Latin) range are viewed as not having any case.
#define isBLANK_LC_uni(c) isBLANK(c) /* could be wrong */
#define isALNUM_utf8(p) is_utf8_alnum(p)
-/* The ID_Start of Unicode is quite limiting: it assumes a L-class
- * character (meaning that you cannot have, say, a CJK character).
- * Instead, let's allow ID_Continue but not digits. */
-#define isIDFIRST_utf8(p) (is_utf8_idcont(p) && !is_utf8_digit(p))
+/* To prevent S_scan_word in toke.c from hanging, we have to make sure that
+ * IDFIRST is an alnum. See
+ * http://rt.perl.org/rt3/Ticket/Display.html?id=74022
+ * for more detail than you ever wanted to know about. This used to be not the
+ * XID version, but we decided to go with the more modern Unicode definition */
+#define isIDFIRST_utf8(p) (is_utf8_xidfirst(p) && is_utf8_alnum(p))
+#define isIDCONT_utf8(p) is_utf8_xidcont(p)
#define isALPHA_utf8(p) is_utf8_alpha(p)
#define isSPACE_utf8(p) is_utf8_space(p)
#define isDIGIT_utf8(p) is_utf8_digit(p)
@@ -653,16 +924,9 @@ US-ASCII (Basic Latin) range are viewed as not having any case.
#define isPSXSPC_LC_utf8(c) (isSPACE_LC_utf8(c) ||(c) == '\f')
#define isBLANK_LC_utf8(c) isBLANK(c) /* could be wrong */
-#ifdef EBCDIC
-# ifdef PERL_IMPLICIT_CONTEXT
-# define toCTRL(c) Perl_ebcdic_control(aTHX_ c)
-# else
-# define toCTRL Perl_ebcdic_control
-# endif
-#else
- /* This conversion works both ways, strangely enough. */
-# define toCTRL(c) (toUPPER(c) ^ 64)
-#endif
+/* This conversion works both ways, strangely enough. On EBCDIC platforms,
+ * CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII */
+# define toCTRL(c) (toUPPER(NATIVE_TO_UNI(c)) ^ 64)
/* Line numbers are unsigned, 32 bits. */
typedef U32 line_t;
@@ -912,6 +1176,7 @@ void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumbe
#endif
#define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
+#define C_ARRAY_END(a) (a) + (sizeof(a)/sizeof((a)[0]))
#ifdef NEED_VA_COPY
# ifdef va_copy
diff --git a/Master/tlpkg/tlperl/lib/CORE/hv.h b/Master/tlpkg/tlperl/lib/CORE/hv.h
index f38d584d2cc..eae1e70df65 100644
--- a/Master/tlpkg/tlperl/lib/CORE/hv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/hv.h
@@ -72,25 +72,35 @@ struct mro_meta {
Don't access this directly.
*/
+union _xhvnameu {
+ HEK *xhvnameu_name; /* When xhv_name_count is 0 */
+ HEK **xhvnameu_names; /* When xhv_name_count is non-0 */
+};
+
struct xpvhv_aux {
- HEK *xhv_name; /* name, if a symbol table */
+ union _xhvnameu xhv_name_u; /* name, if a symbol table */
AV *xhv_backreferences; /* back references for weak references */
HE *xhv_eiter; /* current entry of iterator */
I32 xhv_riter; /* current root of iterator */
+/* Concerning xhv_name_count: When non-zero, xhv_name_u contains a pointer
+ * to an array of HEK pointers, this being the length. The first element is
+ * the name of the stash, which may be NULL. If xhv_name_count is positive,
+ * then *xhv_name is one of the effective names. If xhv_name_count is nega-
+ * tive, then xhv_name_u.xhvnameu_names[1] is the first effective name.
+ */
+ I32 xhv_name_count;
struct mro_meta *xhv_mro_meta;
};
/* hash structure: */
/* This structure must match the beginning of struct xpvmg in sv.h. */
struct xpvhv {
- union _xnvu xnv_u;
- STRLEN xhv_fill; /* how full xhv_array currently is */
+ HV* xmg_stash; /* class package */
+ union _xmgu xmg_u;
+ STRLEN xhv_keys; /* total keys, including placeholders */
STRLEN xhv_max; /* subscript of last element of xhv_array */
- _XPVMG_HEAD;
};
-#define xhv_keys xiv_u.xivu_iv
-
/* hash a key */
/* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins
* from requirements by Colin Plumb.
@@ -173,6 +183,14 @@ Null HV pointer.
Returns the package name of a stash, or NULL if C<stash> isn't a stash.
See C<SvSTASH>, C<CvSTASH>.
+=for apidoc Am|char*|HvENAME|HV* stash
+Returns the effective name of a stash, or NULL if there is none. The
+effective name represents a location in the symbol table where this stash
+resides. It is updated automatically when packages are aliased or deleted.
+A stash that is no longer in the symbol table has no effective name. This
+name is preferable to C<HvNAME> for use in MRO linearisations and isa
+caches.
+
=for apidoc Am|void*|HeKEY|HE* he
Returns the actual pointer stored in the key slot of the hash entry. The
pointer may be either C<char*> or C<SV*>, depending on the value of
@@ -236,7 +254,7 @@ C<SV*>.
# define Nullhv Null(HV*)
#endif
#define HvARRAY(hv) ((hv)->sv_u.svu_hash)
-#define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill
+#define HvFILL(hv) Perl_hv_fill(aTHX_ (const HV *)(hv))
#define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max
/* This quite intentionally does no flag checking first. That's your
responsibility. */
@@ -248,6 +266,7 @@ C<SV*>.
#define HvRITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_riter : -1)
#define HvEITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_eiter : NULL)
#define HvNAME(hv) HvNAME_get(hv)
+#define HvENAME(hv) HvENAME_get(hv)
/* Checking that hv is a valid package stash is the
caller's responsibility */
@@ -257,20 +276,44 @@ C<SV*>.
/* FIXME - all of these should use a UTF8 aware API, which should also involve
getting the length. */
+#define HvNAME_HEK_NN(hv) \
+ ( \
+ HvAUX(hv)->xhv_name_count \
+ ? *HvAUX(hv)->xhv_name_u.xhvnameu_names \
+ : HvAUX(hv)->xhv_name_u.xhvnameu_name \
+ )
/* This macro may go away without notice. */
-#define HvNAME_HEK(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_name : NULL)
-#define HvNAME_get(hv) ((SvOOK(hv) && (HvAUX(hv)->xhv_name)) \
- ? HEK_KEY(HvAUX(hv)->xhv_name) : NULL)
-#define HvNAMELEN_get(hv) ((SvOOK(hv) && (HvAUX(hv)->xhv_name)) \
- ? HEK_LEN(HvAUX(hv)->xhv_name) : 0)
-
-/* the number of keys (including any placeholers) */
+#define HvNAME_HEK(hv) \
+ (SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name ? HvNAME_HEK_NN(hv) : NULL)
+#define HvNAME_get(hv) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \
+ ? HEK_KEY(HvNAME_HEK_NN(hv)) : NULL)
+#define HvNAMELEN_get(hv) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \
+ ? HEK_LEN(HvNAME_HEK_NN(hv)) : 0)
+#define HvENAME_HEK_NN(hv) \
+ ( \
+ HvAUX(hv)->xhv_name_count > 0 ? HvAUX(hv)->xhv_name_u.xhvnameu_names[0] : \
+ HvAUX(hv)->xhv_name_count < -1 ? HvAUX(hv)->xhv_name_u.xhvnameu_names[1] : \
+ HvAUX(hv)->xhv_name_count == -1 ? NULL : \
+ HvAUX(hv)->xhv_name_u.xhvnameu_name \
+ )
+#define HvENAME_HEK(hv) \
+ (SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name ? HvENAME_HEK_NN(hv) : NULL)
+#define HvENAME_get(hv) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(hv)) \
+ ? HEK_KEY(HvENAME_HEK_NN(hv)) : NULL)
+#define HvENAMELEN_get(hv) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(hv)) \
+ ? HEK_LEN(HvENAME_HEK_NN(hv)) : 0)
+
+/* the number of keys (including any placeholders) */
#define XHvTOTALKEYS(xhv) ((xhv)->xhv_keys)
/*
* HvKEYS gets the number of keys that actually exist(), and is provided
* for backwards compatibility with old XS code. The core uses HvUSEDKEYS
- * (keys, excluding placeholdes) and HvTOTALKEYS (including placeholders)
+ * (keys, excluding placeholders) and HvTOTALKEYS (including placeholders)
*/
#define HvKEYS(hv) HvUSEDKEYS(hv)
#define HvUSEDKEYS(hv) (HvTOTALKEYS(hv) - HvPLACEHOLDERS_get(hv))
@@ -397,6 +440,7 @@ C<SV*>.
#define hv_iternext(hv) hv_iternext_flags(hv, 0)
#define hv_magic(hv, gv, how) sv_magic(MUTABLE_SV(hv), MUTABLE_SV(gv), how, NULL, 0)
+#define hv_undef(hv) Perl_hv_undef_flags(aTHX_ hv, 0)
/* available as a function in hv.c */
#define Perl_sharepvn(sv, len, hash) HEK_KEY(share_hek(sv, len, hash))
@@ -454,6 +498,9 @@ C<SV*>.
struct refcounted_he;
+/* flags for the refcounted_he API */
+#define REFCOUNTED_HE_KEY_UTF8 0x00000001
+
#ifdef PERL_CORE
/* Gosh. This really isn't a good name any longer. */
@@ -477,6 +524,30 @@ struct refcounted_he {
char refcounted_he_data[1];
};
+/*
+=for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|const char *key|U32 flags
+
+Like L</refcounted_he_fetch_pvn>, but takes a literal string instead of
+a string/length pair, and no precomputed hash.
+
+=cut
+*/
+
+#define refcounted_he_fetch_pvs(chain, key, flags) \
+ Perl_refcounted_he_fetch_pvn(aTHX_ chain, STR_WITH_LEN(key), 0, flags)
+
+/*
+=for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|const char *key|SV *value|U32 flags
+
+Like L</refcounted_he_new_pvn>, but takes a literal string instead of
+a string/length pair, and no precomputed hash.
+
+=cut
+*/
+
+#define refcounted_he_new_pvs(parent, key, value, flags) \
+ Perl_refcounted_he_new_pvn(aTHX_ parent, STR_WITH_LEN(key), 0, value, flags)
+
/* Flag bits are HVhek_UTF8, HVhek_WASUTF8, then */
#define HVrhek_undef 0x00 /* Value is undef. */
#define HVrhek_delete 0x10 /* Value is placeholder - signifies delete. */
@@ -524,6 +595,10 @@ struct refcounted_he {
#define HV_FETCH_LVALUE 0x10
#define HV_FETCH_JUST_SV 0x20
#define HV_DELETE 0x40
+#define HV_FETCH_EMPTY_HE 0x80 /* Leave HeVAL null. */
+
+/* Must not conflict with HVhek_UTF8 */
+#define HV_NAME_SETALL 0x02
/*
=for apidoc newHV
diff --git a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
index 8fe641c29c7..824bf20820b 100644
--- a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
+++ b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
@@ -15,7 +15,7 @@
/* These variables are per-interpreter in threaded/multiplicity builds,
* global otherwise.
- * Don't forget to re-run embed.pl to propagate changes! */
+ * Don't forget to re-run regen/embed.pl to propagate changes! */
/* New variables must be added to the very end for binary compatibility.
* XSUB.h provides wrapper functions via perlapi.h that make this
@@ -25,7 +25,8 @@
/* The 'I' prefix is only needed for vars that need appropriate #defines
* generated when built with or without MULTIPLICITY. It is also used
- * to generate the appropriate export list for win32.
+ * to generate the appropriate export list for win32. If the variable
+ * needs to be initialized, use PERLVARI.
*
* When building without MULTIPLICITY, these variables will be truly global.
*
@@ -58,7 +59,7 @@ PERLVAR(Itmps_stack, SV **) /* mortals we've made */
PERLVARI(Itmps_ix, I32, -1)
PERLVARI(Itmps_floor, I32, -1)
PERLVAR(Itmps_max, I32)
-PERLVAR(Imodcount, I32) /* how much mod()ification in
+PERLVAR(Imodcount, I32) /* how much op_lvalue()ification in
assignment? */
PERLVAR(Imarkstack, I32 *) /* stack_sp locations we're
@@ -126,6 +127,7 @@ PERLVAR(Idefstash, HV *) /* main symbol table */
PERLVAR(Icurstash, HV *) /* symbol table for current package */
PERLVAR(Irestartop, OP *) /* propagating an error from croak? */
+PERLVAR(Irestartjmpenv, JMPENV *) /* target frame for longjmp in die */
PERLVAR(Icurcop, COP *)
PERLVAR(Icurstack, AV *) /* THE STACK */
PERLVAR(Icurstackinfo, PERL_SI *) /* current stack + context */
@@ -170,8 +172,52 @@ PERLVARI(Irehash_seed_set, bool, FALSE) /* 582 hash initialized? */
PERLVARA(Icolors,6, char *) /* from regcomp.c */
-PERLVARI(Ipeepp, peep_t, MEMBER_TO_FPTR(Perl_peep))
- /* Pointer to peephole optimizer */
+/*
+=for apidoc Amn|peep_t|PL_peepp
+
+Pointer to the per-subroutine peephole optimiser. This is a function
+that gets called at the end of compilation of a Perl subroutine (or
+equivalently independent piece of Perl code) to perform fixups of
+some ops and to perform small-scale optimisations. The function is
+called once for each subroutine that is compiled, and is passed, as sole
+parameter, a pointer to the op that is the entry point to the subroutine.
+It modifies the op tree in place.
+
+The peephole optimiser should never be completely replaced. Rather,
+add code to it by wrapping the existing optimiser. The basic way to do
+this can be seen in L<perlguts/Compile pass 3: peephole optimization>.
+If the new code wishes to operate on ops throughout the subroutine's
+structure, rather than just at the top level, it is likely to be more
+convenient to wrap the L</PL_rpeepp> hook.
+
+=cut
+*/
+
+PERLVARI(Ipeepp, peep_t, Perl_peep)
+
+/*
+=for apidoc Amn|peep_t|PL_rpeepp
+
+Pointer to the recursive peephole optimiser. This is a function
+that gets called at the end of compilation of a Perl subroutine (or
+equivalently independent piece of Perl code) to perform fixups of some
+ops and to perform small-scale optimisations. The function is called
+once for each chain of ops linked through their C<op_next> fields;
+it is recursively called to handle each side chain. It is passed, as
+sole parameter, a pointer to the op that is at the head of the chain.
+It modifies the op tree in place.
+
+The peephole optimiser should never be completely replaced. Rather,
+add code to it by wrapping the existing optimiser. The basic way to do
+this can be seen in L<perlguts/Compile pass 3: peephole optimization>.
+If the new code wishes to operate only on ops at a subroutine's top level,
+rather than throughout the structure, it is likely to be more convenient
+to wrap the L</PL_peepp> hook.
+
+=cut
+*/
+
+PERLVARI(Irpeepp, peep_t, Perl_rpeep)
/*
=for apidoc Amn|Perl_ophook_t|PL_opfreehook
@@ -203,11 +249,12 @@ PERLVAR(Iregmatch_state, regmatch_state *)
PERLVAR(Idelaymagic, U16) /* ($<,$>) = ... */
PERLVAR(Ilocalizing, U8) /* are we processing a local() list? */
PERLVAR(Icolorset, bool) /* from regcomp.c */
-PERLVARI(Idirty, bool, FALSE) /* in the middle of tearing things
- down? */
PERLVAR(Iin_eval, U8) /* trap "fatal" errors? */
PERLVAR(Itainted, bool) /* using variables controlled by $< */
+/* current phase the interpreter is in */
+PERLVARI(Iphase, enum perl_phase, PERL_PHASE_CONSTRUCT)
+
/* This value may be set when embedding for full cleanup */
/* 0=none, 1=full, 2=full with checks */
/* mod_perl is special, and also assigns a meaning -1 */
@@ -227,6 +274,7 @@ PERLVAR(Iwarnhook, SV *)
/* switches */
PERLVAR(Ipatchlevel, SV *)
+PERLVAR(Iapiversion, SV *)
PERLVAR(Ilocalpatches, const char * const *)
PERLVARI(Isplitstr, const char *, " ")
@@ -249,14 +297,14 @@ The C variable which corresponds to Perl's $^W warning variable.
*/
PERLVAR(Idowarn, U8)
-PERLVAR(Idoextract, bool)
+ /* Space for a U8 */
PERLVAR(Isawampersand, bool) /* must save all match strings */
PERLVAR(Iunsafe, bool)
PERLVAR(Iexit_flags, U8) /* was exit() unexpected, etc. */
PERLVAR(Isrand_called, bool)
/* Part of internal state, but makes the 16th 1 byte variable in a row. */
PERLVAR(Itainting, bool) /* doing taint checks */
-/* Space for a U8 */
+PERLVARI(Iin_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
PERLVAR(Iinplace, char *)
PERLVAR(Ie_script, SV *)
@@ -278,22 +326,22 @@ PERLVARI(Isig_pending, int,0) /* Number if highest signal pending */
PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */
/* shortcuts to various I/O objects */
-PERLVAR(Istdingv, GV *)
-PERLVAR(Istderrgv, GV *)
+PERLVAR(Istdingv, GV *) /* *STDIN */
+PERLVAR(Istderrgv, GV *) /* *STDERR */
PERLVAR(Idefgv, GV *)
-PERLVAR(Iargvgv, GV *)
-PERLVAR(Iargvoutgv, GV *)
+PERLVAR(Iargvgv, GV *) /* *ARGV */
+PERLVAR(Iargvoutgv, GV *) /* *ARGVOUT */
PERLVAR(Iargvout_stack, AV *)
/* shortcuts to regexp stuff */
-PERLVAR(Ireplgv, GV *)
+PERLVAR(Ireplgv, GV *) /* *^R */
/* shortcuts to misc objects */
-PERLVAR(Ierrgv, GV *)
+PERLVAR(Ierrgv, GV *) /* *@ */
/* shortcuts to debugging objects */
-PERLVAR(IDBgv, GV *)
-PERLVAR(IDBline, GV *)
+PERLVAR(IDBgv, GV *) /* *DB::DB */
+PERLVAR(IDBline, GV *) /* *DB::line */
/*
=for apidoc mn|GV *|PL_DBsub
@@ -317,10 +365,10 @@ variable. See C<PL_DBsingle>.
=cut
*/
-PERLVAR(IDBsub, GV *)
-PERLVAR(IDBsingle, SV *)
-PERLVAR(IDBtrace, SV *)
-PERLVAR(IDBsignal, SV *)
+PERLVAR(IDBsub, GV *) /* *DB::sub */
+PERLVAR(IDBsingle, SV *) /* $DB::single */
+PERLVAR(IDBtrace, SV *) /* $DB::trace */
+PERLVAR(IDBsignal, SV *) /* $DB::signal */
PERLVAR(Idbargs, AV *) /* args to call listed by caller function */
/* symbol tables */
@@ -419,7 +467,7 @@ PERLVAR(IDBcv, CV *) /* from perl.c */
PERLVARI(Igeneration, int, 100) /* from op.c */
PERLVARI(Iin_clean_objs,bool, FALSE) /* from sv.c */
-PERLVARI(Iin_clean_all, bool, FALSE) /* from sv.c */
+PERLVARI(Iin_clean_all, bool, FALSE) /* ptrs to freed SVs now legal */
PERLVAR(Inomemok, bool) /* let malloc context handle nomem */
PERLVARI(Isavebegin, bool, FALSE) /* save BEGINs for compiler */
@@ -428,7 +476,16 @@ PERLVAR(Ieuid, Uid_t) /* current effective user id */
PERLVAR(Igid, Gid_t) /* current real group id */
PERLVAR(Iegid, Gid_t) /* current effective group id */
PERLVARI(Ian, U32, 0) /* malloc sequence number */
-PERLVARI(Icop_seqmax, U32, 0) /* statement sequence number */
+
+#ifdef DEBUGGING
+ /* exercise wrap-around */
+ #define PERL_COP_SEQMAX (U32_MAX-50)
+#else
+ #define PERL_COP_SEQMAX 0
+#endif
+PERLVARI(Icop_seqmax, U32, PERL_COP_SEQMAX) /* statement sequence number */
+#undef PERL_COP_SEQMAX
+
PERLVARI(Ievalseq, U32, 0) /* eval sequence number */
PERLVAR(Iorigalen, U32)
PERLVAR(Iorigenviron, char **)
@@ -441,12 +498,11 @@ PERLVAR(Isighandlerp, Sighandler_t)
PERLVARA(Ibody_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
-PERLVAR(Inice_chunk, char *) /* a nice chunk of memory to reuse */
-PERLVAR(Inice_chunk_size, U32) /* how nice the chunk of memory is */
+PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
PERLVARI(Imaxo, int, MAXO) /* maximum number of ops */
-PERLVARI(Irunops, runops_proc_t, MEMBER_TO_FPTR(RUNOPS_DEFAULT))
+PERLVARI(Irunops, runops_proc_t, RUNOPS_DEFAULT)
/*
=for apidoc Amn|SV|PL_sv_undef
@@ -612,7 +668,7 @@ PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */
PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */
#ifdef PERLIO_LAYERS
-PERLVARI(Iperlio, PerlIO *,NULL)
+PERLVARI(Iperlio, PerlIOl *,NULL)
PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
#endif
@@ -623,6 +679,8 @@ PERLVAR(Idebug_pad, struct perl_debug_pad) /* always needed because of the re ex
PERLVAR(Iutf8_idstart, SV *)
PERLVAR(Iutf8_idcont, SV *)
+PERLVAR(Iutf8_xidstart, SV *)
+PERLVAR(Iutf8_xidcont, SV *)
PERLVAR(Isort_RealCmp, SVCOMPARE_t)
@@ -631,10 +689,6 @@ PERLVARI(Iunitcheckav_save, AV*, NULL) /* save UNITCHECK{}s when compiling */
PERLVARI(Iclocktick, long, 0) /* this many times() ticks in a second */
-PERLVARI(Iin_load_module, int, 0) /* to prevent recursions in PerlIO_find_layer */
-
-PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
-
PERLVAR(Isignals, U32) /* Using which pre-5.8 signals */
PERLVAR(Ireentrant_retint, int) /* Integer return value from reentrant functions */
@@ -642,17 +696,21 @@ PERLVAR(Ireentrant_retint, int) /* Integer return value from reentrant functions
PERLVAR(Istashcache, HV *) /* Cache to speed up S_method_common */
/* Hooks to shared SVs and locks. */
-PERLVARI(Isharehook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
-PERLVARI(Ilockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
+PERLVARI(Isharehook, share_proc_t, Perl_sv_nosharing)
+PERLVARI(Ilockhook, share_proc_t, Perl_sv_nosharing)
#ifdef NO_MATHOMS
# define PERL_UNLOCK_HOOK Perl_sv_nosharing
#else
/* This reference ensures that the mathoms are linked with perl */
# define PERL_UNLOCK_HOOK Perl_sv_nounlocking
#endif
-PERLVARI(Iunlockhook, share_proc_t, MEMBER_TO_FPTR(PERL_UNLOCK_HOOK))
+PERLVARI(Iunlockhook, share_proc_t, PERL_UNLOCK_HOOK)
-PERLVARI(Ithreadhook, thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook))
+PERLVARI(Ithreadhook, thrhook_proc_t, Perl_nothreadhook)
+
+#ifndef PERL_MICRO
+PERLVARI(Isignalhook, despatch_signals_proc_t, Perl_despatch_signals)
+#endif
PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */
@@ -707,7 +765,7 @@ PERLVARI(Islab_count, U32, 0) /* Size of the array */
#endif
/* Can shared object be destroyed */
-PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable))
+PERLVARI(Idestroyhook, destroyable_proc_t, Perl_sv_destroyable)
#ifdef DEBUG_LEAKING_SCALARS
PERLVARI(Isv_serial, U32, 0) /* SV serial number, used in sv.c */
@@ -719,6 +777,20 @@ PERLVARI(Isv_serial, U32, 0) /* SV serial number, used in sv.c */
retrieve a C<struct mro_alg *> */
PERLVAR(Iregistered_mros, HV *)
+/* Compile-time block start/end hooks */
+PERLVAR(Iblockhooks, AV *)
+
+
+/* Everything that folds to a given character, for case insensitivity regex
+ * matching */
+PERLVARI(Iutf8_foldclosures, HV *, NULL)
+
+/* List of characters that participate in folds (except marks, etc in
+ * multi-char folds) */
+PERLVARI(Iutf8_foldable, HV *, NULL)
+
+PERLVAR(Icustom_ops, HV *) /* custom op registrations */
+
/* If you are adding a U8 or U16, check to see if there are 'Space' comments
* above on where there are gaps which currently will be structure padding. */
diff --git a/Master/tlpkg/tlperl/lib/CORE/iperlsys.h b/Master/tlpkg/tlperl/lib/CORE/iperlsys.h
index 76f5c41ae67..0bfad3ce09f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/iperlsys.h
+++ b/Master/tlpkg/tlperl/lib/CORE/iperlsys.h
@@ -77,9 +77,9 @@ typedef STDCHAR* (*LPGetBase)(struct IPerlStdIO*, FILE*);
typedef int (*LPGetBufsiz)(struct IPerlStdIO*, FILE*);
typedef int (*LPGetCnt)(struct IPerlStdIO*, FILE*);
typedef STDCHAR* (*LPGetPtr)(struct IPerlStdIO*, FILE*);
-typedef char* (*LPGets)(struct IPerlStdIO*, FILE*, char*, int);
-typedef int (*LPPutc)(struct IPerlStdIO*, FILE*, int);
-typedef int (*LPPuts)(struct IPerlStdIO*, FILE*, const char*);
+typedef char* (*LPGets)(struct IPerlStdIO*, char*, int, FILE*);
+typedef int (*LPPutc)(struct IPerlStdIO*, int, FILE*);
+typedef int (*LPPuts)(struct IPerlStdIO*, const char *, FILE*);
typedef int (*LPFlush)(struct IPerlStdIO*, FILE*);
typedef int (*LPUngetc)(struct IPerlStdIO*, int,FILE*);
typedef int (*LPFileno)(struct IPerlStdIO*, FILE*);
@@ -225,14 +225,14 @@ struct IPerlStdIOInfo
(*PL_StdIO->pGetCnt)(PL_StdIO, (f))
#define PerlSIO_get_ptr(f) \
(*PL_StdIO->pGetPtr)(PL_StdIO, (f))
-#define PerlSIO_fputc(f,c) \
+#define PerlSIO_fputc(c,f) \
(*PL_StdIO->pPutc)(PL_StdIO, (c),(f))
-#define PerlSIO_fputs(f,s) \
+#define PerlSIO_fputs(s,f) \
(*PL_StdIO->pPuts)(PL_StdIO, (s),(f))
#define PerlSIO_fflush(f) \
(*PL_StdIO->pFlush)(PL_StdIO, (f))
-#define PerlSIO_fgets(s, n, fp) \
- (*PL_StdIO->pGets)(PL_StdIO, (fp), s, n)
+#define PerlSIO_fgets(s, n, f) \
+ (*PL_StdIO->pGets)(PL_StdIO, s, n, (f))
#define PerlSIO_ungetc(c,f) \
(*PL_StdIO->pUngetc)(PL_StdIO, (c),(f))
#define PerlSIO_fileno(f) \
@@ -311,12 +311,12 @@ struct IPerlStdIOInfo
#define PerlSIO_get_cnt(f) 0
#define PerlSIO_get_ptr(f) NULL
#endif
-#define PerlSIO_fputc(f,c) fputc(c,f)
-#define PerlSIO_fputs(f,s) fputs(s,f)
+#define PerlSIO_fputc(c,f) fputc(c,f)
+#define PerlSIO_fputs(s,f) fputs(s,f)
#define PerlSIO_fflush(f) Fflush(f)
-#define PerlSIO_fgets(s, n, fp) fgets(s,n,fp)
+#define PerlSIO_fgets(s, n, f) fgets(s,n,f)
#if defined(VMS) && defined(__DECC)
- /* Unusual definition of ungetc() here to accomodate fast_sv_gets()'
+ /* Unusual definition of ungetc() here to accommodate fast_sv_gets()'
* belief that it can mix getc/ungetc with reads from stdio buffer */
int decc$ungetc(int __c, FILE *__stream);
# define PerlSIO_ungetc(c,f) ((c) == EOF ? EOF : \
diff --git a/Master/tlpkg/tlperl/lib/CORE/keywords.h b/Master/tlpkg/tlperl/lib/CORE/keywords.h
index b2e996db886..b821121780b 100644
--- a/Master/tlpkg/tlperl/lib/CORE/keywords.h
+++ b/Master/tlpkg/tlperl/lib/CORE/keywords.h
@@ -3,15 +3,16 @@
* keywords.h
*
* Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2005,
- * 2006, 2007, by Larry Wall and others
+ * 2006, 2007 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by keywords.pl from its data. Any changes made here
- * will be lost!
+ * This file is built by regen/keywords.pl from its data.
+ * Any changes made here will be lost!
*/
+
#define KEY_NULL 0
#define KEY___FILE__ 1
#define KEY___LINE__ 2
@@ -266,4 +267,6 @@
#define KEY_xor 251
#define KEY_y 252
-/* ex: set ro: */
+/* Generated from:
+ * 28d95638560707fb8bee100dab74c90107c3e000f635e3bd310d4e2501d3b073 regen/keywords.pl
+ * ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h b/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h
new file mode 100644
index 00000000000..d43f87ad777
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h
@@ -0,0 +1,265 @@
+/* -*- buffer-read-only: t -*-
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/mk_PL_charclass.pl from
+ * lib/unicore/CaseFolding.txt.
+ * Any changes made here will be lost!
+ */
+
+/* U+00 NUL */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+01 SOH */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+02 STX */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+03 ETX */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+04 EOT */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+05 ENQ */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+06 ACK */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+07 BEL */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+08 BS */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+09 HT */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
+/* U+0A LF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
+/* U+0B VT */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1,
+/* U+0C FF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
+/* U+0D CR */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
+/* U+0E SO */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+0F SI */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+10 DLE */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+11 DC1 */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+12 DC2 */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+13 DC3 */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+14 DC4 */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+15 NAK */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+16 SYN */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+17 ETB */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+18 CAN */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+19 EOM */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+1A SUB */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+1B ESC */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+1C FS */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+1D GS */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+1E RS */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+1F US */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+20 SPACE */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_A|_CC_PRINT_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
+/* U+21 '!' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+22 '"' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+23 '#' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+24 '$' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+25 '%' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+26 '&' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+27 ''' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+28 '(' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+29 ')' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+2A '*' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+2B '+' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+2C ',' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+2D '-' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+2E '.' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+2F '/' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+30 '0' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+31 '1' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+32 '2' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+33 '3' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+34 '4' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+35 '5' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+36 '6' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+37 '7' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+38 '8' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+39 '9' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+3A ':' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+3B ';' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+3C '<' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+3D '=' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+3E '>' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+3F '?' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+40 '@' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+41 'A' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+42 'B' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+43 'C' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+44 'D' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+45 'E' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+46 'F' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+47 'G' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+48 'H' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+49 'I' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+4A 'J' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+4B 'K' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+4C 'L' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+4D 'M' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+4E 'N' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+4F 'O' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+50 'P' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+51 'Q' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+52 'R' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+53 'S' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+54 'T' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+55 'U' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+56 'V' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+57 'W' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+58 'X' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+59 'Y' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+5A 'Z' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+5B '[' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+5C '\' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+5D ']' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+5E '^' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+5F '_' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+60 '`' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+61 'a' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+62 'b' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+63 'c' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+64 'd' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+65 'e' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+66 'f' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
+/* U+67 'g' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+68 'h' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+69 'i' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+6A 'j' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+6B 'k' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+6C 'l' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+6D 'm' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+6E 'n' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+6F 'o' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+70 'p' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+71 'q' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+72 'r' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+73 's' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+74 't' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+75 'u' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+76 'v' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+77 'w' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+78 'x' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+79 'y' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+7A 'z' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
+/* U+7B '{' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+7C '|' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+7D '}' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+7E '~' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+7F DEL */ _CC_CNTRL_A|_CC_CNTRL_L1,
+/* U+80 PAD */ _CC_CNTRL_L1,
+/* U+81 HOP */ _CC_CNTRL_L1,
+/* U+82 BPH */ _CC_CNTRL_L1,
+/* U+83 NBH */ _CC_CNTRL_L1,
+/* U+84 IND */ _CC_CNTRL_L1,
+/* U+85 NEL */ _CC_CNTRL_L1|_CC_PSXSPC_L1|_CC_SPACE_L1,
+/* U+86 SSA */ _CC_CNTRL_L1,
+/* U+87 ESA */ _CC_CNTRL_L1,
+/* U+88 HTS */ _CC_CNTRL_L1,
+/* U+89 HTJ */ _CC_CNTRL_L1,
+/* U+8A VTS */ _CC_CNTRL_L1,
+/* U+8B PLD */ _CC_CNTRL_L1,
+/* U+8C PLU */ _CC_CNTRL_L1,
+/* U+8D RI */ _CC_CNTRL_L1,
+/* U+8E SS2 */ _CC_CNTRL_L1,
+/* U+8F SS3 */ _CC_CNTRL_L1,
+/* U+90 DCS */ _CC_CNTRL_L1,
+/* U+91 PU1 */ _CC_CNTRL_L1,
+/* U+92 PU2 */ _CC_CNTRL_L1,
+/* U+93 STS */ _CC_CNTRL_L1,
+/* U+94 CCH */ _CC_CNTRL_L1,
+/* U+95 MW */ _CC_CNTRL_L1,
+/* U+96 SPA */ _CC_CNTRL_L1,
+/* U+97 EPA */ _CC_CNTRL_L1,
+/* U+98 SOS */ _CC_CNTRL_L1,
+/* U+99 SGC */ _CC_CNTRL_L1,
+/* U+9A SCI */ _CC_CNTRL_L1,
+/* U+9B CSI */ _CC_CNTRL_L1,
+/* U+9C ST */ _CC_CNTRL_L1,
+/* U+9D OSC */ _CC_CNTRL_L1,
+/* U+9E PM */ _CC_CNTRL_L1,
+/* U+9F APC */ _CC_CNTRL_L1,
+/* U+A0 NO-BREAK SPACE */ _CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_L1|_CC_PSXSPC_L1|_CC_SPACE_L1,
+/* U+A1 INVERTED EXCLAMATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+A2 CENT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A3 POUND SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A4 CURRENCY SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A5 YEN SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A6 BROKEN BAR */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A7 SECTION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A8 DIAERESIS */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A9 COPYRIGHT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+AA FEMININE ORDINAL INDICATOR */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+AC NOT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+AD SOFT HYPHEN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+AE REGISTERED SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+AF MACRON */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B0 DEGREE SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B1 PLUS-MINUS SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B2 SUPERSCRIPT TWO */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B3 SUPERSCRIPT THREE */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B4 ACUTE ACCENT */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B5 MICRO SIGN */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+B6 PILCROW SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B7 MIDDLE DOT */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+B8 CEDILLA */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B9 SUPERSCRIPT ONE */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+BA MASCULINE ORDINAL INDICATOR */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+BC VULGAR FRACTION ONE QUARTER */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+BD VULGAR FRACTION ONE HALF */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+BE VULGAR FRACTION THREE QUARTERS */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+BF INVERTED QUESTION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+C0 A WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C1 A WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C2 A WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C3 A WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C4 A WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C5 A WITH RING ABOVE */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C6 AE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C7 C WITH CEDILLA */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C8 E WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+C9 E WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+CA E WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+CB E WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+CC I WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+CD I WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+CE I WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+CF I WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D0 ETH */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D1 N WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D2 O WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D3 O WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D4 O WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D5 O WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D6 O WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D7 MULTIPLICATION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+D8 O WITH STROKE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+D9 U WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+DA U WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+DB U WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+DC U WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+DD Y WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+DE THORN */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
+/* U+DF sharp s */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E0 a with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E1 a with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E2 a with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E3 a with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E4 a with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E5 a with ring above */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E6 ae */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E7 c with cedilla */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E8 e with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+E9 e with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+EA e with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+EB e with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+EC i with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+ED i with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+EE i with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+EF i with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F0 eth */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F1 n with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F2 o with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F3 o with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F4 o with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F5 o with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F6 o with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F7 DIVISION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+F8 o with stroke */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+F9 u with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+FA u with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+FB u with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+FC u with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+FD y with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+FE thorn */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+FF y with diaeresis */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+
+/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/libperl512.a b/Master/tlpkg/tlperl/lib/CORE/libperl514.a
index d837df3ee31..534fd81f84f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/libperl512.a
+++ b/Master/tlpkg/tlperl/lib/CORE/libperl514.a
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/CORE/malloc_ctl.h b/Master/tlpkg/tlperl/lib/CORE/malloc_ctl.h
index 7a6aed0db73..d74637289b5 100644
--- a/Master/tlpkg/tlperl/lib/CORE/malloc_ctl.h
+++ b/Master/tlpkg/tlperl/lib/CORE/malloc_ctl.h
@@ -14,14 +14,12 @@ struct perl_mstats {
};
typedef struct perl_mstats perl_mstats_t;
-START_EXTERN_C
-Malloc_t Perl_malloc (MEM_SIZE nbytes);
-Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size);
-Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes);
+PERL_CALLCONV Malloc_t Perl_malloc (MEM_SIZE nbytes);
+PERL_CALLCONV Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size);
+PERL_CALLCONV Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes);
/* 'mfree' rather than 'free', since there is already a 'perl_free'
* that causes clashes with case-insensitive linkers */
-Free_t Perl_mfree (Malloc_t where);
-END_EXTERN_C
+PERL_CALLCONV Free_t Perl_mfree (Malloc_t where);
#ifndef NO_MALLOC_DYNAMIC_CFG
diff --git a/Master/tlpkg/tlperl/lib/CORE/metaconfig.h b/Master/tlpkg/tlperl/lib/CORE/metaconfig.h
new file mode 100644
index 00000000000..95aba26b87e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/metaconfig.h
@@ -0,0 +1,44 @@
+/* This is a placeholder file for symbols that should be exported
+ * into config_h.SH and Porting/Glossary. See also metaconfig.SH
+ *
+ * First version was created from the part in handy.h (which includes this)
+ * H.Merijn Brand 21 Dec 2010 (Tux)
+ *
+ * Mentioned variables are forced to be included into config_h.SH
+ * as they are only included if meta finds them referenced. That
+ * implies that noone can use them unless they are available and
+ * they won't be available unless used. When new symbols are probed
+ * in Configure, this is the way to force them into availability.
+ *
+ * CHARBITS
+ * GMTIME_MAX
+ * GMTIME_MIN
+ * HAS_ASCTIME64
+ * HAS_CTIME64
+ * HAS_DIFFTIME64
+ * HAS_GETADDRINFO
+ * HAS_GETNAMEINFO
+ * HAS_GMTIME64
+ * HAS_INETNTOP
+ * HAS_INETPTON
+ * HAS_LOCALTIME64
+ * HAS_MKTIME64
+ * HAS_PRCTL
+ * HAS_PSEUDOFORK
+ * HAS_SIN6_SCOPE_ID
+ * HAS_SOCKADDR_SA_LEN
+ * HAS_TIMEGM
+ * I16SIZE
+ * I32SIZE
+ * I64SIZE
+ * I8SIZE
+ * LOCALTIME_MAX
+ * LOCALTIME_MIN
+ * LOCALTIME_R_NEEDS_TZSET
+ * U16SIZE
+ * U32SIZE
+ * U64SIZE
+ * U8SIZE
+ * USE_DTRACE
+ *
+ */
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg.h b/Master/tlpkg/tlperl/lib/CORE/mg.h
index fcac4111131..848f735d6cb 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mg.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mg.h
@@ -12,15 +12,15 @@
STRUCT_MGVTBL_DEFINITION;
#else
struct mgvtbl {
- int (CPERLscope(*svt_get)) (pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_set)) (pTHX_ SV *sv, MAGIC* mg);
- U32 (CPERLscope(*svt_len)) (pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_clear))(pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_free)) (pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_copy)) (pTHX_ SV *sv, MAGIC* mg,
+ int (*svt_get) (pTHX_ SV *sv, MAGIC* mg);
+ int (*svt_set) (pTHX_ SV *sv, MAGIC* mg);
+ U32 (*svt_len) (pTHX_ SV *sv, MAGIC* mg);
+ int (*svt_clear)(pTHX_ SV *sv, MAGIC* mg);
+ int (*svt_free) (pTHX_ SV *sv, MAGIC* mg);
+ int (*svt_copy) (pTHX_ SV *sv, MAGIC* mg,
SV *nsv, const char *name, I32 namlen);
- int (CPERLscope(*svt_dup)) (pTHX_ MAGIC *mg, CLONE_PARAMS *param);
- int (CPERLscope(*svt_local))(pTHX_ SV *nsv, MAGIC *mg);
+ int (*svt_dup) (pTHX_ MAGIC *mg, CLONE_PARAMS *param);
+ int (*svt_local)(pTHX_ SV *nsv, MAGIC *mg);
};
#endif
@@ -38,7 +38,7 @@ struct magic {
#define MGf_TAINTEDDIR 1 /* PERL_MAGIC_envelem only */
#define MGf_MINMATCH 1 /* PERL_MAGIC_regex_global only */
#define MGf_REFCOUNTED 2
-#define MGf_GSKIP 4
+#define MGf_GSKIP 4 /* skip further GETs until after next SET */
#define MGf_COPY 8 /* has an svt_copy MGVTBL entry */
#define MGf_DUP 0x10 /* has an svt_dup MGVTBL entry */
#define MGf_LOCAL 0x20 /* has an svt_local MGVTBL entry */
diff --git a/Master/tlpkg/tlperl/lib/CORE/mydtrace.h b/Master/tlpkg/tlperl/lib/CORE/mydtrace.h
index daabcfa0b9c..75e6918015d 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mydtrace.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mydtrace.h
@@ -13,21 +13,21 @@
# include "perldtrace.h"
-# define ENTRY_PROBE(func, file, line) \
- if (PERL_SUB_ENTRY_ENABLED()) { \
- PERL_SUB_ENTRY(func, file, line); \
+# define ENTRY_PROBE(func, file, line, stash) \
+ if (PERL_SUB_ENTRY_ENABLED()) { \
+ PERL_SUB_ENTRY(func, file, line, stash); \
}
-# define RETURN_PROBE(func, file, line) \
- if (PERL_SUB_RETURN_ENABLED()) { \
- PERL_SUB_RETURN(func, file, line); \
+# define RETURN_PROBE(func, file, line, stash) \
+ if (PERL_SUB_RETURN_ENABLED()) { \
+ PERL_SUB_RETURN(func, file, line, stash); \
}
#else
/* NOPs */
-# define ENTRY_PROBE(func, file, line)
-# define RETURN_PROBE(func, file, line)
+# define ENTRY_PROBE(func, file, line, stash)
+# define RETURN_PROBE(func, file, line, stash)
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/op.h b/Master/tlpkg/tlperl/lib/CORE/op.h
index 25b59ea5c22..ae6989acb89 100644
--- a/Master/tlpkg/tlperl/lib/CORE/op.h
+++ b/Master/tlpkg/tlperl/lib/CORE/op.h
@@ -36,6 +36,7 @@
* the operation is privatized by a check routine,
* which may or may not check number of children).
*/
+#include "op_reg_common.h"
#define OPCODE U16
@@ -53,7 +54,7 @@ typedef PERL_BITFIELD16 Optype;
#define BASEOP \
OP* op_next; \
OP* op_sibling; \
- OP* (CPERLscope(*op_ppaddr))(pTHX); \
+ OP* (*op_ppaddr)(pTHX); \
MADPROP_IN_BASEOP \
PADOFFSET op_targ; \
PERL_BITFIELD16 op_type:9; \
@@ -85,7 +86,7 @@ typedef PERL_BITFIELD16 Optype;
=for apidoc Amn|U32|GIMME_V
The XSUB-writer's equivalent to Perl's C<wantarray>. Returns C<G_VOID>,
C<G_SCALAR> or C<G_ARRAY> for void, scalar or list context,
-respectively.
+respectively. See L<perlcall> for a usage example.
=for apidoc Amn|U32|GIMME
A backward-compatible version of C<GIMME_V> which can only return
@@ -122,7 +123,6 @@ Deprecated. Use C<GIMME_V> instead.
/* On OP_ENTERSUB || OP_NULL, saw a "do". */
/* On OP_EXISTS, treat av as av, not avhv. */
/* On OP_(ENTER|LEAVE)EVAL, don't clear $@ */
- /* On OP_ENTERITER, loop var is per-thread */
/* On pushre, rx is used as part of split, e.g. split " " */
/* On regcomp, "use re 'eval'" was in scope */
/* On OP_READLINE, was <$filehandle> */
@@ -130,7 +130,7 @@ Deprecated. Use C<GIMME_V> instead.
defined()*/
/* On OP_DBSTATE, indicates breakpoint
* (runtime property) */
- /* On OP_AELEMFAST, indiciates pad var */
+ /* On OP_AELEMFAST, indicates pad var */
/* On OP_REQUIRE, was seen as CORE::require */
/* On OP_ENTERWHEN, there's no condition */
/* On OP_BREAK, an implicit break */
@@ -141,6 +141,12 @@ Deprecated. Use C<GIMME_V> instead.
/* On OP_HELEM and OP_HSLICE, localization will be followed
by assignment, so do not wipe the target if it is special
(e.g. a glob or a magic SV) */
+ /* On OP_MATCH, OP_SUBST & OP_TRANS, the
+ operand of a logical or conditional
+ that was optimised away, so it should
+ not be bound via =~ */
+ /* On OP_CONST, from a constant CV */
+ /* On OP_GLOB, use Perl glob function */
/* old names; don't use in new code, but don't break them, either */
#define OPf_LIST OPf_WANT_LIST
@@ -153,7 +159,7 @@ Deprecated. Use C<GIMME_V> instead.
: G_SCALAR) \
: dowantarray())
-/* NOTE: OP_NEXTSTATE, OP_DBSTATE, and OP_SETSTATE (i.e. COPs) carry lower
+/* NOTE: OP_NEXTSTATE and OP_DBSTATE (i.e. COPs) carry lower
* bits of PL_hints in op_private */
/* Private for lvalues */
@@ -191,10 +197,12 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpDEREF_AV 32 /* Want ref to AV. */
#define OPpDEREF_HV 64 /* Want ref to HV. */
#define OPpDEREF_SV (32|64) /* Want ref to SV. */
+/* Private for OP_RV2SV, OP_RV2AV, OP_RV2AV */
+#define OPpDEREFed 4 /* prev op was OPpDEREF */
/* OP_ENTERSUB only */
#define OPpENTERSUB_DB 16 /* Debug subroutine. */
#define OPpENTERSUB_HASTARG 32 /* Called from OP tree. */
-#define OPpENTERSUB_NOMOD 64 /* Immune to mod() for :attrlist. */
+#define OPpENTERSUB_NOMOD 64 /* Immune to op_lvalue() for :attrlist. */
/* OP_ENTERSUB and OP_RV2CV only */
#define OPpENTERSUB_AMPER 8 /* Used & form to call. */
#define OPpENTERSUB_NOPAREN 128 /* bare sub call (without parens) */
@@ -230,7 +238,7 @@ Deprecated. Use C<GIMME_V> instead.
/* Private for OP_CONST */
#define OPpCONST_NOVER 2 /* no 6; */
#define OPpCONST_SHORTCIRCUIT 4 /* eg the constant 5 in (5 || foo) */
-#define OPpCONST_STRICT 8 /* bearword subject to strict 'subs' */
+#define OPpCONST_STRICT 8 /* bareword subject to strict 'subs' */
#define OPpCONST_ENTERED 16 /* Has been entered as symbol. */
#define OPpCONST_ARYBASE 32 /* Was a $[ translated to constant. */
#define OPpCONST_BARE 64 /* Was a bare word (filehandle?). */
@@ -357,39 +365,44 @@ struct pmop {
#define PM_SETRE(o,r) ((o)->op_pmregexp = (r))
#endif
+/* Leave some space, so future bit allocations can go either in the shared or
+ * unshared area without affecting binary compatibility */
+#define PMf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+6)
-#define PMf_RETAINT 0x00000040 /* taint $1 etc. if target tainted */
-#define PMf_ONCE 0x00000080 /* match successfully only once per
- reset, with related flag RXf_USED
- in re->extflags holding state.
- This is used only for ?? matches,
- and only on OP_MATCH and OP_QR */
+/* 'use re "taint"' in scope: taint $1 etc. if target tainted */
+#define PMf_RETAINT (1<<(PMf_BASE_SHIFT+0))
-#define PMf_UNUSED 0x00000100 /* free for use */
-#define PMf_MAYBE_CONST 0x00000200 /* replacement contains variables */
+/* match successfully only once per reset, with related flag RXf_USED in
+ * re->extflags holding state. This is used only for ?? matches, and only on
+ * OP_MATCH and OP_QR */
+#define PMf_ONCE (1<<(PMf_BASE_SHIFT+1))
-#define PMf_USED 0x00000400 /* PMf_ONCE has matched successfully.
- Not used under threading. */
+/* replacement contains variables */
+#define PMf_MAYBE_CONST (1<<(PMf_BASE_SHIFT+2))
-#define PMf_CONST 0x00000800 /* subst replacement is constant */
-#define PMf_KEEP 0x00001000 /* keep 1st runtime pattern forever */
-#define PMf_GLOBAL 0x00002000 /* pattern had a g modifier */
-#define PMf_CONTINUE 0x00004000 /* don't reset pos() if //g fails */
-#define PMf_EVAL 0x00008000 /* evaluating replacement as expr */
+/* PMf_ONCE has matched successfully. Not used under threading. */
+#define PMf_USED (1<<(PMf_BASE_SHIFT+3))
-/* The following flags have exact equivalents in regcomp.h with the prefix RXf_
- * which are stored in the regexp->extflags member. If you change them here,
- * you have to change them there, and vice versa.
- */
-#define PMf_MULTILINE 0x00000001 /* assume multiple lines */
-#define PMf_SINGLELINE 0x00000002 /* assume single line */
-#define PMf_FOLD 0x00000004 /* case insensitivity */
-#define PMf_EXTENDED 0x00000008 /* chuck embedded whitespace */
-#define PMf_KEEPCOPY 0x00000010 /* copy the string when matching */
-#define PMf_LOCALE 0x00000020 /* use locale for character types */
+/* subst replacement is constant */
+#define PMf_CONST (1<<(PMf_BASE_SHIFT+4))
+
+/* keep 1st runtime pattern forever */
+#define PMf_KEEP (1<<(PMf_BASE_SHIFT+5))
+
+#define PMf_GLOBAL (1<<(PMf_BASE_SHIFT+6)) /* pattern had a g modifier */
+
+/* don't reset pos() if //g fails */
+#define PMf_CONTINUE (1<<(PMf_BASE_SHIFT+7))
-/* mask of bits that need to be transfered to re->extflags */
-#define PMf_COMPILETIME (PMf_MULTILINE|PMf_SINGLELINE|PMf_LOCALE|PMf_FOLD|PMf_EXTENDED|PMf_KEEPCOPY)
+/* evaluating replacement as expr */
+#define PMf_EVAL (1<<(PMf_BASE_SHIFT+8))
+
+/* Return substituted string instead of modifying it. */
+#define PMf_NONDESTRUCT (1<<(PMf_BASE_SHIFT+9))
+
+#if PMf_BASE_SHIFT+9 > 31
+# error Too many PMf_ bits used. See above and regnodes.h for any spare in middle
+#endif
#ifdef USE_ITHREADS
@@ -530,14 +543,13 @@ struct loop {
#define OA_FOLDCONST 2
#define OA_RETSCALAR 4
#define OA_TARGET 8
-#define OA_RETINTEGER 16
+#define OA_TARGLEX 16
#define OA_OTHERINT 32
#define OA_DANGEROUS 64
#define OA_DEFGV 128
-#define OA_TARGLEX 256
/* The next 4 bits encode op class information */
-#define OCSHIFT 9
+#define OCSHIFT 8
#define OA_CLASS_MASK (15 << OCSHIFT)
@@ -556,7 +568,7 @@ struct loop {
#define OA_FILESTATOP (12 << OCSHIFT)
#define OA_LOOPEXOP (13 << OCSHIFT)
-#define OASHIFT 13
+#define OASHIFT 12
/* Remaining nybbles of PL_opargs */
#define OA_SCALAR 1
@@ -612,6 +624,21 @@ struct loop {
#define ref(o, type) doref(o, type, TRUE)
#endif
+/*
+=head1 Optree Manipulation Functions
+
+=for apidoc Am|OP*|LINKLIST|OP *o
+Given the root of an optree, link the tree in execution order using the
+C<op_next> pointers and return the first op executed. If this has
+already been done, it will not be redone, and C<< o->op_next >> will be
+returned. If C<< o->op_next >> is not already set, I<o> should be at
+least an C<UNOP>.
+
+=cut
+*/
+
+#define LINKLIST(o) ((o)->op_next ? (o)->op_next : op_linklist((OP*)o))
+
/* no longer used anywhere in core */
#ifndef PERL_CORE
#define cv_ckproto(cv, gv, p) \
@@ -641,6 +668,195 @@ struct loop {
#define FreeOp(p) PerlMemShared_free(p)
#endif
+struct block_hooks {
+ U32 bhk_flags;
+ void (*bhk_start) (pTHX_ int full);
+ void (*bhk_pre_end) (pTHX_ OP **seq);
+ void (*bhk_post_end) (pTHX_ OP **seq);
+ void (*bhk_eval) (pTHX_ OP *const saveop);
+};
+
+/*
+=head1 Compile-time scope hooks
+
+=for apidoc mx|U32|BhkFLAGS|BHK *hk
+Return the BHK's flags.
+
+=for apidoc mx|void *|BhkENTRY|BHK *hk|which
+Return an entry from the BHK structure. I<which> is a preprocessor token
+indicating which entry to return. If the appropriate flag is not set
+this will return NULL. The type of the return value depends on which
+entry you ask for.
+
+=for apidoc Amx|void|BhkENTRY_set|BHK *hk|which|void *ptr
+Set an entry in the BHK structure, and set the flags to indicate it is
+valid. I<which> is a preprocessing token indicating which entry to set.
+The type of I<ptr> depends on the entry.
+
+=for apidoc Amx|void|BhkDISABLE|BHK *hk|which
+Temporarily disable an entry in this BHK structure, by clearing the
+appropriate flag. I<which> is a preprocessor token indicating which
+entry to disable.
+
+=for apidoc Amx|void|BhkENABLE|BHK *hk|which
+Re-enable an entry in this BHK structure, by setting the appropriate
+flag. I<which> is a preprocessor token indicating which entry to enable.
+This will assert (under -DDEBUGGING) if the entry doesn't contain a valid
+pointer.
+
+=for apidoc mx|void|CALL_BLOCK_HOOKS|which|arg
+Call all the registered block hooks for type I<which>. I<which> is a
+preprocessing token; the type of I<arg> depends on I<which>.
+
+=cut
+*/
+
+#define BhkFLAGS(hk) ((hk)->bhk_flags)
+
+#define BHKf_bhk_start 0x01
+#define BHKf_bhk_pre_end 0x02
+#define BHKf_bhk_post_end 0x04
+#define BHKf_bhk_eval 0x08
+
+#define BhkENTRY(hk, which) \
+ ((BhkFLAGS(hk) & BHKf_ ## which) ? ((hk)->which) : NULL)
+
+#define BhkENABLE(hk, which) \
+ STMT_START { \
+ BhkFLAGS(hk) |= BHKf_ ## which; \
+ assert(BhkENTRY(hk, which)); \
+ } STMT_END
+
+#define BhkDISABLE(hk, which) \
+ STMT_START { \
+ BhkFLAGS(hk) &= ~(BHKf_ ## which); \
+ } STMT_END
+
+#define BhkENTRY_set(hk, which, ptr) \
+ STMT_START { \
+ (hk)->which = ptr; \
+ BhkENABLE(hk, which); \
+ } STMT_END
+
+#define CALL_BLOCK_HOOKS(which, arg) \
+ STMT_START { \
+ if (PL_blockhooks) { \
+ I32 i; \
+ for (i = av_len(PL_blockhooks); i >= 0; i--) { \
+ SV *sv = AvARRAY(PL_blockhooks)[i]; \
+ BHK *hk; \
+ \
+ assert(SvIOK(sv)); \
+ if (SvUOK(sv)) \
+ hk = INT2PTR(BHK *, SvUVX(sv)); \
+ else \
+ hk = INT2PTR(BHK *, SvIVX(sv)); \
+ \
+ if (BhkENTRY(hk, which)) \
+ BhkENTRY(hk, which)(aTHX_ arg); \
+ } \
+ } \
+ } STMT_END
+
+/* flags for rv2cv_op_cv */
+
+#define RV2CVOPCV_MARK_EARLY 0x00000001
+#define RV2CVOPCV_RETURN_NAME_GV 0x00000002
+
+/*
+=head1 Custom Operators
+
+=for apidoc Am|U32|XopFLAGS|XOP *xop
+Return the XOP's flags.
+
+=for apidoc Am||XopENTRY|XOP *xop|which
+Return a member of the XOP structure. I<which> is a cpp token indicating
+which entry to return. If the member is not set this will return a
+default value. The return type depends on I<which>.
+
+=for apidoc Am|void|XopENTRY_set|XOP *xop|which|value
+Set a member of the XOP structure. I<which> is a cpp token indicating
+which entry to set. See L<perlguts/"Custom Operators"> for details about
+the available members and how they are used.
+
+=for apidoc Am|void|XopDISABLE|XOP *xop|which
+Temporarily disable a member of the XOP, by clearing the appropriate flag.
+
+=for apidoc Am|void|XopENABLE|XOP *xop|which
+Reenable a member of the XOP which has been disabled.
+
+=cut
+*/
+
+struct custom_op {
+ U32 xop_flags;
+ const char *xop_name;
+ const char *xop_desc;
+ U32 xop_class;
+ void (*xop_peep)(pTHX_ OP *o, OP *oldop);
+};
+
+#define XopFLAGS(xop) ((xop)->xop_flags)
+
+#define XOPf_xop_name 0x01
+#define XOPf_xop_desc 0x02
+#define XOPf_xop_class 0x04
+#define XOPf_xop_peep 0x08
+
+#define XOPd_xop_name PL_op_name[OP_CUSTOM]
+#define XOPd_xop_desc PL_op_desc[OP_CUSTOM]
+#define XOPd_xop_class OA_BASEOP
+#define XOPd_xop_peep ((Perl_cpeep_t)0)
+
+#define XopENTRY_set(xop, which, to) \
+ STMT_START { \
+ (xop)->which = (to); \
+ (xop)->xop_flags |= XOPf_ ## which; \
+ } STMT_END
+
+#define XopENTRY(xop, which) \
+ ((XopFLAGS(xop) & XOPf_ ## which) ? (xop)->which : XOPd_ ## which)
+
+#define XopDISABLE(xop, which) ((xop)->xop_flags &= ~XOPf_ ## which)
+#define XopENABLE(xop, which) \
+ STMT_START { \
+ (xop)->xop_flags |= XOPf_ ## which; \
+ assert(XopENTRY(xop, which)); \
+ } STMT_END
+
+/*
+=head1 Optree Manipulation Functions
+
+=for apidoc Am|const char *|OP_NAME|OP *o
+Return the name of the provided OP. For core ops this looks up the name
+from the op_type; for custom ops from the op_ppaddr.
+
+=for apidoc Am|const char *|OP_DESC|OP *o
+Return a short description of the provided OP.
+
+=for apidoc Am|U32|OP_CLASS|OP *o
+Return the class of the provided OP: that is, which of the *OP
+structures it uses. For core ops this currently gets the information out
+of PL_opargs, which does not always accurately reflect the type used.
+For custom ops the type is returned from the registration, and it is up
+to the registree to ensure it is accurate. The value returned will be
+one of the OA_* constants from op.h.
+
+=cut
+*/
+
+#define OP_NAME(o) ((o)->op_type == OP_CUSTOM \
+ ? XopENTRY(Perl_custom_op_xop(aTHX_ o), xop_name) \
+ : PL_op_name[(o)->op_type])
+#define OP_DESC(o) ((o)->op_type == OP_CUSTOM \
+ ? XopENTRY(Perl_custom_op_xop(aTHX_ o), xop_desc) \
+ : PL_op_desc[(o)->op_type])
+#define OP_CLASS(o) ((o)->op_type == OP_CUSTOM \
+ ? XopENTRY(Perl_custom_op_xop(aTHX_ o), xop_class) \
+ : (PL_opargs[(o)->op_type] & OA_CLASS_MASK))
+
+#define newSUB(f, o, p, b) Perl_newATTRSUB(aTHX_ (f), (o), (p), NULL, (b))
+
#ifdef PERL_MAD
# define MAD_NULL 1
# define MAD_PV 2
diff --git a/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h b/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h
new file mode 100644
index 00000000000..4c3fe2c42c2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h
@@ -0,0 +1,110 @@
+/* op_reg_common.h
+ *
+ * Definitions common to by op.h and regexp.h
+ *
+ * Copyright (C) 2010 by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ */
+
+/* These defines are used in both op.h and regexp.h The definitions use the
+ * shift form so that ext/B/defsubs_h.PL will pick them up.
+ *
+ * Data structures used in the two headers have common fields, and in fact one
+ * is copied onto the other. This makes it easy to keep them in sync */
+
+/* This tells where the first of these bits is. Setting it to 0 saved cycles
+ * and memory. I (khw) think the code will work if changed back, but haven't
+ * tested it */
+/* Make sure to update ext/re/re.pm when changing this! */
+#ifndef RXf_PMf_STD_PMMOD_SHIFT /* Only expand #include of this file once */
+
+#define RXf_PMf_STD_PMMOD_SHIFT 0
+
+/* The bits need to be ordered so that the msix are contiguous starting at bit
+ * RXf_PMf_STD_PMMOD_SHIFT, followed by the p. See STD_PAT_MODS and
+ * INT_PAT_MODS in regexp.h for the reason contiguity is needed */
+/* Make sure to update lib/re.pm when changing these! */
+#define RXf_PMf_MULTILINE (1 << (RXf_PMf_STD_PMMOD_SHIFT+0)) /* /m */
+#define RXf_PMf_SINGLELINE (1 << (RXf_PMf_STD_PMMOD_SHIFT+1)) /* /s */
+#define RXf_PMf_FOLD (1 << (RXf_PMf_STD_PMMOD_SHIFT+2)) /* /i */
+#define RXf_PMf_EXTENDED (1 << (RXf_PMf_STD_PMMOD_SHIFT+3)) /* /x */
+#define RXf_PMf_KEEPCOPY (1 << (RXf_PMf_STD_PMMOD_SHIFT+4)) /* /p */
+
+/* The character set for the regex is stored in a field of more than one bit
+ * using an enum, for reasons of compactness and to ensure that the options are
+ * mutually exclusive */
+/* Make sure to update ext/re/re.pm when changing this! */
+typedef enum {
+ REGEX_DEPENDS_CHARSET = 0,
+ REGEX_LOCALE_CHARSET,
+ REGEX_UNICODE_CHARSET,
+ REGEX_ASCII_RESTRICTED_CHARSET,
+ REGEX_ASCII_MORE_RESTRICTED_CHARSET
+} regex_charset;
+
+#define _RXf_PMf_CHARSET_SHIFT ((RXf_PMf_STD_PMMOD_SHIFT)+5)
+#define RXf_PMf_CHARSET (7 << (_RXf_PMf_CHARSET_SHIFT)) /* 3 bits */
+
+/* embed.pl doesn't yet know how to handle static inline functions, so
+ manually decorate them here with gcc-style attributes.
+*/
+PERL_STATIC_INLINE void
+set_regex_charset(U32 * const flags, const regex_charset cs)
+ __attribute__nonnull__(1);
+
+PERL_STATIC_INLINE void
+set_regex_charset(U32 * const flags, const regex_charset cs)
+{
+ /* Sets the character set portion of 'flags' to 'cs', which is a member of
+ * the above enum */
+
+ *flags &= ~RXf_PMf_CHARSET;
+ *flags |= (cs << _RXf_PMf_CHARSET_SHIFT);
+}
+
+PERL_STATIC_INLINE regex_charset
+get_regex_charset(const U32 flags)
+ __attribute__warn_unused_result__;
+
+PERL_STATIC_INLINE regex_charset
+get_regex_charset(const U32 flags)
+{
+ /* Returns the enum corresponding to the character set in 'flags' */
+
+ return (regex_charset) ((flags & RXf_PMf_CHARSET) >> _RXf_PMf_CHARSET_SHIFT);
+}
+
+/* Next available bit after the above. Name begins with '_' so won't be
+ * exported by B */
+#define _RXf_PMf_SHIFT_NEXT (RXf_PMf_STD_PMMOD_SHIFT+8)
+
+/* Mask of the above bits. These need to be transferred from op_pmflags to
+ * re->extflags during compilation */
+#define RXf_PMf_COMPILETIME (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_CHARSET|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY)
+
+/* These copies need to be numerical or defsubs_h.PL won't know about them. */
+#define PMf_MULTILINE 1<<0
+#define PMf_SINGLELINE 1<<1
+#define PMf_FOLD 1<<2
+#define PMf_EXTENDED 1<<3
+#define PMf_KEEPCOPY 1<<4
+
+#if PMf_MULTILINE != RXf_PMf_MULTILINE || PMf_SINGLELINE != RXf_PMf_SINGLELINE || PMf_FOLD != RXf_PMf_FOLD || PMf_EXTENDED != RXf_PMf_EXTENDED || PMf_KEEPCOPY != RXf_PMf_KEEPCOPY
+# error RXf_PMf defines are wrong
+#endif
+
+#define PMf_COMPILETIME RXf_PMf_COMPILETIME
+
+/* Error check that haven't left something out of this. This isn't done
+ * directly in the #define because doing so confuses regcomp.pl.
+ * (2**n - 1) is n 1 bits, so the below gets the contiguous bits between the
+ * beginning and ending shifts */
+#if RXf_PMf_COMPILETIME != (((1 << (_RXf_PMf_SHIFT_NEXT))-1) \
+ & (~((1 << RXf_PMf_STD_PMMOD_SHIFT)-1)))
+# error RXf_PMf_COMPILETIME is invalid
+#endif
+
+#endif /* Include only once */
diff --git a/Master/tlpkg/tlperl/lib/CORE/opcode.h b/Master/tlpkg/tlperl/lib/CORE/opcode.h
index 0849839c7a5..4f0e1c658a4 100644
--- a/Master/tlpkg/tlperl/lib/CORE/opcode.h
+++ b/Master/tlpkg/tlperl/lib/CORE/opcode.h
@@ -2,33 +2,145 @@
*
* opcode.h
*
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- * 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ * 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by opcode.pl from its data. Any changes made here
- * will be lost!
+ * This file is built by regen/opcode.pl from its data.
+ * Any changes made here will be lost!
*/
#ifndef PERL_GLOBAL_STRUCT_INIT
+#define Perl_pp_scalar Perl_pp_null
+#define Perl_pp_padany Perl_unimplemented_op
+#define Perl_pp_regcmaybe Perl_pp_null
+#define Perl_pp_chomp Perl_pp_chop
+#define Perl_pp_schomp Perl_pp_schop
#define Perl_pp_i_preinc Perl_pp_preinc
#define Perl_pp_i_predec Perl_pp_predec
#define Perl_pp_i_postinc Perl_pp_postinc
#define Perl_pp_i_postdec Perl_pp_postdec
-
-PERL_PPDEF(Perl_unimplemented_op)
-
+#define Perl_pp_slt Perl_pp_sle
+#define Perl_pp_sgt Perl_pp_sle
+#define Perl_pp_sge Perl_pp_sle
+#define Perl_pp_bit_xor Perl_pp_bit_or
+#define Perl_pp_cos Perl_pp_sin
+#define Perl_pp_exp Perl_pp_sin
+#define Perl_pp_log Perl_pp_sin
+#define Perl_pp_sqrt Perl_pp_sin
+#define Perl_pp_hex Perl_pp_oct
+#define Perl_pp_rindex Perl_pp_index
+#define Perl_pp_lcfirst Perl_pp_ucfirst
+#define Perl_pp_avalues Perl_pp_akeys
+#define Perl_pp_values Perl_do_kv
+#define Perl_pp_keys Perl_do_kv
+#define Perl_pp_rv2hv Perl_pp_rv2av
+#define Perl_pp_pop Perl_pp_shift
+#define Perl_pp_mapstart Perl_unimplemented_op
+#define Perl_pp_dor Perl_pp_defined
+#define Perl_pp_andassign Perl_pp_and
+#define Perl_pp_orassign Perl_pp_or
+#define Perl_pp_dorassign Perl_pp_defined
+#define Perl_pp_lineseq Perl_pp_null
+#define Perl_pp_scope Perl_pp_null
+#define Perl_pp_dump Perl_pp_goto
+#define Perl_pp_dbmclose Perl_pp_untie
+#define Perl_pp_read Perl_pp_sysread
+#define Perl_pp_say Perl_pp_print
+#define Perl_pp_seek Perl_pp_sysseek
+#define Perl_pp_fcntl Perl_pp_ioctl
+#ifdef HAS_SOCKET
+#define Perl_pp_send Perl_pp_syswrite
+#define Perl_pp_recv Perl_pp_sysread
+#else
+#define Perl_pp_send Perl_unimplemented_op
+#define Perl_pp_recv Perl_unimplemented_op
+#define Perl_pp_socket Perl_unimplemented_op
+#endif
+#ifdef HAS_SOCKET
+#define Perl_pp_connect Perl_pp_bind
+#define Perl_pp_gsockopt Perl_pp_ssockopt
+#define Perl_pp_getsockname Perl_pp_getpeername
+#else
+#define Perl_pp_bind Perl_unimplemented_op
+#define Perl_pp_connect Perl_unimplemented_op
+#define Perl_pp_listen Perl_unimplemented_op
+#define Perl_pp_accept Perl_unimplemented_op
+#define Perl_pp_shutdown Perl_unimplemented_op
+#define Perl_pp_gsockopt Perl_unimplemented_op
+#define Perl_pp_ssockopt Perl_unimplemented_op
+#define Perl_pp_getsockname Perl_unimplemented_op
+#define Perl_pp_getpeername Perl_unimplemented_op
+#endif
+#define Perl_pp_lstat Perl_pp_stat
+#define Perl_pp_ftrwrite Perl_pp_ftrread
+#define Perl_pp_ftrexec Perl_pp_ftrread
+#define Perl_pp_fteread Perl_pp_ftrread
+#define Perl_pp_ftewrite Perl_pp_ftrread
+#define Perl_pp_fteexec Perl_pp_ftrread
+#define Perl_pp_ftsize Perl_pp_ftis
+#define Perl_pp_ftmtime Perl_pp_ftis
+#define Perl_pp_ftatime Perl_pp_ftis
+#define Perl_pp_ftctime Perl_pp_ftis
+#define Perl_pp_fteowned Perl_pp_ftrowned
+#define Perl_pp_ftzero Perl_pp_ftrowned
+#define Perl_pp_ftsock Perl_pp_ftrowned
+#define Perl_pp_ftchr Perl_pp_ftrowned
+#define Perl_pp_ftblk Perl_pp_ftrowned
+#define Perl_pp_ftfile Perl_pp_ftrowned
+#define Perl_pp_ftdir Perl_pp_ftrowned
+#define Perl_pp_ftpipe Perl_pp_ftrowned
+#define Perl_pp_ftsuid Perl_pp_ftrowned
+#define Perl_pp_ftsgid Perl_pp_ftrowned
+#define Perl_pp_ftsvtx Perl_pp_ftrowned
+#define Perl_pp_ftbinary Perl_pp_fttext
+#define Perl_pp_unlink Perl_pp_chown
+#define Perl_pp_chmod Perl_pp_chown
+#define Perl_pp_utime Perl_pp_chown
+#define Perl_pp_symlink Perl_pp_link
+#define Perl_pp_kill Perl_pp_chown
+#define Perl_pp_localtime Perl_pp_gmtime
+#define Perl_pp_shmget Perl_pp_semget
+#define Perl_pp_shmctl Perl_pp_semctl
+#define Perl_pp_shmread Perl_pp_shmwrite
+#define Perl_pp_msgget Perl_pp_semget
+#define Perl_pp_msgctl Perl_pp_semctl
+#define Perl_pp_msgsnd Perl_pp_shmwrite
+#define Perl_pp_msgrcv Perl_pp_shmwrite
+#define Perl_pp_semop Perl_pp_shmwrite
+#define Perl_pp_dofile Perl_pp_require
+#define Perl_pp_ghbyname Perl_pp_ghostent
+#define Perl_pp_ghbyaddr Perl_pp_ghostent
+#define Perl_pp_gnbyname Perl_pp_gnetent
+#define Perl_pp_gnbyaddr Perl_pp_gnetent
+#define Perl_pp_gpbyname Perl_pp_gprotoent
+#define Perl_pp_gpbynumber Perl_pp_gprotoent
+#define Perl_pp_gsbyname Perl_pp_gservent
+#define Perl_pp_gsbyport Perl_pp_gservent
+#define Perl_pp_snetent Perl_pp_shostent
+#define Perl_pp_sprotoent Perl_pp_shostent
+#define Perl_pp_sservent Perl_pp_shostent
+#define Perl_pp_enetent Perl_pp_ehostent
+#define Perl_pp_eprotoent Perl_pp_ehostent
+#define Perl_pp_eservent Perl_pp_ehostent
+#define Perl_pp_gpwnam Perl_pp_gpwent
+#define Perl_pp_gpwuid Perl_pp_gpwent
+#define Perl_pp_spwent Perl_pp_ehostent
+#define Perl_pp_epwent Perl_pp_ehostent
+#define Perl_pp_ggrnam Perl_pp_ggrent
+#define Perl_pp_ggrgid Perl_pp_ggrent
+#define Perl_pp_sgrent Perl_pp_ehostent
+#define Perl_pp_egrent Perl_pp_ehostent
+#define Perl_pp_custom Perl_unimplemented_op
+#define Perl_pp_reach Perl_pp_rkeys
+#define Perl_pp_rvalues Perl_pp_rkeys
+#define Perl_pp_transr Perl_pp_trans
START_EXTERN_C
-#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
- PL_op_name[(o)->op_type])
-#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \
- PL_op_desc[(o)->op_type])
-
#ifndef DOINIT
EXTCONST char* const PL_op_name[];
#else
@@ -399,6 +511,10 @@ EXTCONST char* const PL_op_name[] = {
"lock",
"once",
"custom",
+ "reach",
+ "rkeys",
+ "rvalues",
+ "transr",
};
#endif
@@ -772,6 +888,10 @@ EXTCONST char* const PL_op_desc[] = {
"lock",
"once",
"unknown custom operator",
+ "each on reference",
+ "keys on reference",
+ "values on reference",
+ "transliteration (tr///)",
};
#endif
@@ -793,372 +913,376 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
# define PERL_PPADDR_INITED
= {
- MEMBER_TO_FPTR(Perl_pp_null),
- MEMBER_TO_FPTR(Perl_pp_stub),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_scalar */
- MEMBER_TO_FPTR(Perl_pp_pushmark),
- MEMBER_TO_FPTR(Perl_pp_wantarray),
- MEMBER_TO_FPTR(Perl_pp_const),
- MEMBER_TO_FPTR(Perl_pp_gvsv),
- MEMBER_TO_FPTR(Perl_pp_gv),
- MEMBER_TO_FPTR(Perl_pp_gelem),
- MEMBER_TO_FPTR(Perl_pp_padsv),
- MEMBER_TO_FPTR(Perl_pp_padav),
- MEMBER_TO_FPTR(Perl_pp_padhv),
- MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_padany */
- MEMBER_TO_FPTR(Perl_pp_pushre),
- MEMBER_TO_FPTR(Perl_pp_rv2gv),
- MEMBER_TO_FPTR(Perl_pp_rv2sv),
- MEMBER_TO_FPTR(Perl_pp_av2arylen),
- MEMBER_TO_FPTR(Perl_pp_rv2cv),
- MEMBER_TO_FPTR(Perl_pp_anoncode),
- MEMBER_TO_FPTR(Perl_pp_prototype),
- MEMBER_TO_FPTR(Perl_pp_refgen),
- MEMBER_TO_FPTR(Perl_pp_srefgen),
- MEMBER_TO_FPTR(Perl_pp_ref),
- MEMBER_TO_FPTR(Perl_pp_bless),
- MEMBER_TO_FPTR(Perl_pp_backtick),
- MEMBER_TO_FPTR(Perl_pp_glob),
- MEMBER_TO_FPTR(Perl_pp_readline),
- MEMBER_TO_FPTR(Perl_pp_rcatline),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_regcmaybe */
- MEMBER_TO_FPTR(Perl_pp_regcreset),
- MEMBER_TO_FPTR(Perl_pp_regcomp),
- MEMBER_TO_FPTR(Perl_pp_match),
- MEMBER_TO_FPTR(Perl_pp_qr),
- MEMBER_TO_FPTR(Perl_pp_subst),
- MEMBER_TO_FPTR(Perl_pp_substcont),
- MEMBER_TO_FPTR(Perl_pp_trans),
- MEMBER_TO_FPTR(Perl_pp_sassign),
- MEMBER_TO_FPTR(Perl_pp_aassign),
- MEMBER_TO_FPTR(Perl_pp_chop),
- MEMBER_TO_FPTR(Perl_pp_schop),
- MEMBER_TO_FPTR(Perl_pp_chomp),
- MEMBER_TO_FPTR(Perl_pp_schomp),
- MEMBER_TO_FPTR(Perl_pp_defined),
- MEMBER_TO_FPTR(Perl_pp_undef),
- MEMBER_TO_FPTR(Perl_pp_study),
- MEMBER_TO_FPTR(Perl_pp_pos),
- MEMBER_TO_FPTR(Perl_pp_preinc),
- MEMBER_TO_FPTR(Perl_pp_i_preinc),
- MEMBER_TO_FPTR(Perl_pp_predec),
- MEMBER_TO_FPTR(Perl_pp_i_predec),
- MEMBER_TO_FPTR(Perl_pp_postinc),
- MEMBER_TO_FPTR(Perl_pp_i_postinc),
- MEMBER_TO_FPTR(Perl_pp_postdec),
- MEMBER_TO_FPTR(Perl_pp_i_postdec),
- MEMBER_TO_FPTR(Perl_pp_pow),
- MEMBER_TO_FPTR(Perl_pp_multiply),
- MEMBER_TO_FPTR(Perl_pp_i_multiply),
- MEMBER_TO_FPTR(Perl_pp_divide),
- MEMBER_TO_FPTR(Perl_pp_i_divide),
- MEMBER_TO_FPTR(Perl_pp_modulo),
- MEMBER_TO_FPTR(Perl_pp_i_modulo),
- MEMBER_TO_FPTR(Perl_pp_repeat),
- MEMBER_TO_FPTR(Perl_pp_add),
- MEMBER_TO_FPTR(Perl_pp_i_add),
- MEMBER_TO_FPTR(Perl_pp_subtract),
- MEMBER_TO_FPTR(Perl_pp_i_subtract),
- MEMBER_TO_FPTR(Perl_pp_concat),
- MEMBER_TO_FPTR(Perl_pp_stringify),
- MEMBER_TO_FPTR(Perl_pp_left_shift),
- MEMBER_TO_FPTR(Perl_pp_right_shift),
- MEMBER_TO_FPTR(Perl_pp_lt),
- MEMBER_TO_FPTR(Perl_pp_i_lt),
- MEMBER_TO_FPTR(Perl_pp_gt),
- MEMBER_TO_FPTR(Perl_pp_i_gt),
- MEMBER_TO_FPTR(Perl_pp_le),
- MEMBER_TO_FPTR(Perl_pp_i_le),
- MEMBER_TO_FPTR(Perl_pp_ge),
- MEMBER_TO_FPTR(Perl_pp_i_ge),
- MEMBER_TO_FPTR(Perl_pp_eq),
- MEMBER_TO_FPTR(Perl_pp_i_eq),
- MEMBER_TO_FPTR(Perl_pp_ne),
- MEMBER_TO_FPTR(Perl_pp_i_ne),
- MEMBER_TO_FPTR(Perl_pp_ncmp),
- MEMBER_TO_FPTR(Perl_pp_i_ncmp),
- MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_slt */
- MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sgt */
- MEMBER_TO_FPTR(Perl_pp_sle),
- MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sge */
- MEMBER_TO_FPTR(Perl_pp_seq),
- MEMBER_TO_FPTR(Perl_pp_sne),
- MEMBER_TO_FPTR(Perl_pp_scmp),
- MEMBER_TO_FPTR(Perl_pp_bit_and),
- MEMBER_TO_FPTR(Perl_pp_bit_or), /* Perl_pp_bit_xor */
- MEMBER_TO_FPTR(Perl_pp_bit_or),
- MEMBER_TO_FPTR(Perl_pp_negate),
- MEMBER_TO_FPTR(Perl_pp_i_negate),
- MEMBER_TO_FPTR(Perl_pp_not),
- MEMBER_TO_FPTR(Perl_pp_complement),
- MEMBER_TO_FPTR(Perl_pp_smartmatch),
- MEMBER_TO_FPTR(Perl_pp_atan2),
- MEMBER_TO_FPTR(Perl_pp_sin),
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_cos */
- MEMBER_TO_FPTR(Perl_pp_rand),
- MEMBER_TO_FPTR(Perl_pp_srand),
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_exp */
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_log */
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_sqrt */
- MEMBER_TO_FPTR(Perl_pp_int),
- MEMBER_TO_FPTR(Perl_pp_oct), /* Perl_pp_hex */
- MEMBER_TO_FPTR(Perl_pp_oct),
- MEMBER_TO_FPTR(Perl_pp_abs),
- MEMBER_TO_FPTR(Perl_pp_length),
- MEMBER_TO_FPTR(Perl_pp_substr),
- MEMBER_TO_FPTR(Perl_pp_vec),
- MEMBER_TO_FPTR(Perl_pp_index),
- MEMBER_TO_FPTR(Perl_pp_index), /* Perl_pp_rindex */
- MEMBER_TO_FPTR(Perl_pp_sprintf),
- MEMBER_TO_FPTR(Perl_pp_formline),
- MEMBER_TO_FPTR(Perl_pp_ord),
- MEMBER_TO_FPTR(Perl_pp_chr),
- MEMBER_TO_FPTR(Perl_pp_crypt),
- MEMBER_TO_FPTR(Perl_pp_ucfirst),
- MEMBER_TO_FPTR(Perl_pp_ucfirst), /* Perl_pp_lcfirst */
- MEMBER_TO_FPTR(Perl_pp_uc),
- MEMBER_TO_FPTR(Perl_pp_lc),
- MEMBER_TO_FPTR(Perl_pp_quotemeta),
- MEMBER_TO_FPTR(Perl_pp_rv2av),
- MEMBER_TO_FPTR(Perl_pp_aelemfast),
- MEMBER_TO_FPTR(Perl_pp_aelem),
- MEMBER_TO_FPTR(Perl_pp_aslice),
- MEMBER_TO_FPTR(Perl_pp_aeach),
- MEMBER_TO_FPTR(Perl_pp_akeys),
- MEMBER_TO_FPTR(Perl_pp_akeys), /* Perl_pp_avalues */
- MEMBER_TO_FPTR(Perl_pp_each),
- MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_values */
- MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_keys */
- MEMBER_TO_FPTR(Perl_pp_delete),
- MEMBER_TO_FPTR(Perl_pp_exists),
- MEMBER_TO_FPTR(Perl_pp_rv2av), /* Perl_pp_rv2hv */
- MEMBER_TO_FPTR(Perl_pp_helem),
- MEMBER_TO_FPTR(Perl_pp_hslice),
- MEMBER_TO_FPTR(Perl_pp_boolkeys),
- MEMBER_TO_FPTR(Perl_pp_unpack),
- MEMBER_TO_FPTR(Perl_pp_pack),
- MEMBER_TO_FPTR(Perl_pp_split),
- MEMBER_TO_FPTR(Perl_pp_join),
- MEMBER_TO_FPTR(Perl_pp_list),
- MEMBER_TO_FPTR(Perl_pp_lslice),
- MEMBER_TO_FPTR(Perl_pp_anonlist),
- MEMBER_TO_FPTR(Perl_pp_anonhash),
- MEMBER_TO_FPTR(Perl_pp_splice),
- MEMBER_TO_FPTR(Perl_pp_push),
- MEMBER_TO_FPTR(Perl_pp_shift), /* Perl_pp_pop */
- MEMBER_TO_FPTR(Perl_pp_shift),
- MEMBER_TO_FPTR(Perl_pp_unshift),
- MEMBER_TO_FPTR(Perl_pp_sort),
- MEMBER_TO_FPTR(Perl_pp_reverse),
- MEMBER_TO_FPTR(Perl_pp_grepstart),
- MEMBER_TO_FPTR(Perl_pp_grepwhile),
- MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_mapstart */
- MEMBER_TO_FPTR(Perl_pp_mapwhile),
- MEMBER_TO_FPTR(Perl_pp_range),
- MEMBER_TO_FPTR(Perl_pp_flip),
- MEMBER_TO_FPTR(Perl_pp_flop),
- MEMBER_TO_FPTR(Perl_pp_and),
- MEMBER_TO_FPTR(Perl_pp_or),
- MEMBER_TO_FPTR(Perl_pp_xor),
- MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dor */
- MEMBER_TO_FPTR(Perl_pp_cond_expr),
- MEMBER_TO_FPTR(Perl_pp_and), /* Perl_pp_andassign */
- MEMBER_TO_FPTR(Perl_pp_or), /* Perl_pp_orassign */
- MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dorassign */
- MEMBER_TO_FPTR(Perl_pp_method),
- MEMBER_TO_FPTR(Perl_pp_entersub),
- MEMBER_TO_FPTR(Perl_pp_leavesub),
- MEMBER_TO_FPTR(Perl_pp_leavesublv),
- MEMBER_TO_FPTR(Perl_pp_caller),
- MEMBER_TO_FPTR(Perl_pp_warn),
- MEMBER_TO_FPTR(Perl_pp_die),
- MEMBER_TO_FPTR(Perl_pp_reset),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_lineseq */
- MEMBER_TO_FPTR(Perl_pp_nextstate),
- MEMBER_TO_FPTR(Perl_pp_dbstate),
- MEMBER_TO_FPTR(Perl_pp_unstack),
- MEMBER_TO_FPTR(Perl_pp_enter),
- MEMBER_TO_FPTR(Perl_pp_leave),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_scope */
- MEMBER_TO_FPTR(Perl_pp_enteriter),
- MEMBER_TO_FPTR(Perl_pp_iter),
- MEMBER_TO_FPTR(Perl_pp_enterloop),
- MEMBER_TO_FPTR(Perl_pp_leaveloop),
- MEMBER_TO_FPTR(Perl_pp_return),
- MEMBER_TO_FPTR(Perl_pp_last),
- MEMBER_TO_FPTR(Perl_pp_next),
- MEMBER_TO_FPTR(Perl_pp_redo),
- MEMBER_TO_FPTR(Perl_pp_goto), /* Perl_pp_dump */
- MEMBER_TO_FPTR(Perl_pp_goto),
- MEMBER_TO_FPTR(Perl_pp_exit),
- MEMBER_TO_FPTR(Perl_pp_method_named),
- MEMBER_TO_FPTR(Perl_pp_entergiven),
- MEMBER_TO_FPTR(Perl_pp_leavegiven),
- MEMBER_TO_FPTR(Perl_pp_enterwhen),
- MEMBER_TO_FPTR(Perl_pp_leavewhen),
- MEMBER_TO_FPTR(Perl_pp_break),
- MEMBER_TO_FPTR(Perl_pp_continue),
- MEMBER_TO_FPTR(Perl_pp_open),
- MEMBER_TO_FPTR(Perl_pp_close),
- MEMBER_TO_FPTR(Perl_pp_pipe_op),
- MEMBER_TO_FPTR(Perl_pp_fileno),
- MEMBER_TO_FPTR(Perl_pp_umask),
- MEMBER_TO_FPTR(Perl_pp_binmode),
- MEMBER_TO_FPTR(Perl_pp_tie),
- MEMBER_TO_FPTR(Perl_pp_untie),
- MEMBER_TO_FPTR(Perl_pp_tied),
- MEMBER_TO_FPTR(Perl_pp_dbmopen),
- MEMBER_TO_FPTR(Perl_pp_untie), /* Perl_pp_dbmclose */
- MEMBER_TO_FPTR(Perl_pp_sselect),
- MEMBER_TO_FPTR(Perl_pp_select),
- MEMBER_TO_FPTR(Perl_pp_getc),
- MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_read */
- MEMBER_TO_FPTR(Perl_pp_enterwrite),
- MEMBER_TO_FPTR(Perl_pp_leavewrite),
- MEMBER_TO_FPTR(Perl_pp_prtf),
- MEMBER_TO_FPTR(Perl_pp_print),
- MEMBER_TO_FPTR(Perl_pp_print), /* Perl_pp_say */
- MEMBER_TO_FPTR(Perl_pp_sysopen),
- MEMBER_TO_FPTR(Perl_pp_sysseek),
- MEMBER_TO_FPTR(Perl_pp_sysread),
- MEMBER_TO_FPTR(Perl_pp_send), /* Perl_pp_syswrite */
- MEMBER_TO_FPTR(Perl_pp_eof),
- MEMBER_TO_FPTR(Perl_pp_tell),
- MEMBER_TO_FPTR(Perl_pp_sysseek), /* Perl_pp_seek */
- MEMBER_TO_FPTR(Perl_pp_truncate),
- MEMBER_TO_FPTR(Perl_pp_ioctl), /* Perl_pp_fcntl */
- MEMBER_TO_FPTR(Perl_pp_ioctl),
- MEMBER_TO_FPTR(Perl_pp_flock),
- MEMBER_TO_FPTR(Perl_pp_send),
- MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_recv */
- MEMBER_TO_FPTR(Perl_pp_socket),
- MEMBER_TO_FPTR(Perl_pp_sockpair),
- MEMBER_TO_FPTR(Perl_pp_bind),
- MEMBER_TO_FPTR(Perl_pp_connect),
- MEMBER_TO_FPTR(Perl_pp_listen),
- MEMBER_TO_FPTR(Perl_pp_accept),
- MEMBER_TO_FPTR(Perl_pp_shutdown),
- MEMBER_TO_FPTR(Perl_pp_ssockopt), /* Perl_pp_gsockopt */
- MEMBER_TO_FPTR(Perl_pp_ssockopt),
- MEMBER_TO_FPTR(Perl_pp_getpeername), /* Perl_pp_getsockname */
- MEMBER_TO_FPTR(Perl_pp_getpeername),
- MEMBER_TO_FPTR(Perl_pp_stat), /* Perl_pp_lstat */
- MEMBER_TO_FPTR(Perl_pp_stat),
- MEMBER_TO_FPTR(Perl_pp_ftrread),
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftrwrite */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftrexec */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_fteread */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftewrite */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_fteexec */
- MEMBER_TO_FPTR(Perl_pp_ftis),
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftsize */
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftmtime */
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftatime */
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftctime */
- MEMBER_TO_FPTR(Perl_pp_ftrowned),
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_fteowned */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftzero */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsock */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftchr */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftblk */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftfile */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftdir */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftpipe */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsuid */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsgid */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsvtx */
- MEMBER_TO_FPTR(Perl_pp_ftlink),
- MEMBER_TO_FPTR(Perl_pp_fttty),
- MEMBER_TO_FPTR(Perl_pp_fttext),
- MEMBER_TO_FPTR(Perl_pp_fttext), /* Perl_pp_ftbinary */
- MEMBER_TO_FPTR(Perl_pp_chdir),
- MEMBER_TO_FPTR(Perl_pp_chown),
- MEMBER_TO_FPTR(Perl_pp_chroot),
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_unlink */
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_chmod */
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_utime */
- MEMBER_TO_FPTR(Perl_pp_rename),
- MEMBER_TO_FPTR(Perl_pp_link),
- MEMBER_TO_FPTR(Perl_pp_link), /* Perl_pp_symlink */
- MEMBER_TO_FPTR(Perl_pp_readlink),
- MEMBER_TO_FPTR(Perl_pp_mkdir),
- MEMBER_TO_FPTR(Perl_pp_rmdir),
- MEMBER_TO_FPTR(Perl_pp_open_dir),
- MEMBER_TO_FPTR(Perl_pp_readdir),
- MEMBER_TO_FPTR(Perl_pp_telldir),
- MEMBER_TO_FPTR(Perl_pp_seekdir),
- MEMBER_TO_FPTR(Perl_pp_rewinddir),
- MEMBER_TO_FPTR(Perl_pp_closedir),
- MEMBER_TO_FPTR(Perl_pp_fork),
- MEMBER_TO_FPTR(Perl_pp_wait),
- MEMBER_TO_FPTR(Perl_pp_waitpid),
- MEMBER_TO_FPTR(Perl_pp_system),
- MEMBER_TO_FPTR(Perl_pp_exec),
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_kill */
- MEMBER_TO_FPTR(Perl_pp_getppid),
- MEMBER_TO_FPTR(Perl_pp_getpgrp),
- MEMBER_TO_FPTR(Perl_pp_setpgrp),
- MEMBER_TO_FPTR(Perl_pp_getpriority),
- MEMBER_TO_FPTR(Perl_pp_setpriority),
- MEMBER_TO_FPTR(Perl_pp_time),
- MEMBER_TO_FPTR(Perl_pp_tms),
- MEMBER_TO_FPTR(Perl_pp_gmtime), /* Perl_pp_localtime */
- MEMBER_TO_FPTR(Perl_pp_gmtime),
- MEMBER_TO_FPTR(Perl_pp_alarm),
- MEMBER_TO_FPTR(Perl_pp_sleep),
- MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_shmget */
- MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_shmctl */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_shmread */
- MEMBER_TO_FPTR(Perl_pp_shmwrite),
- MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_msgget */
- MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_msgctl */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_msgsnd */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_msgrcv */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_semop */
- MEMBER_TO_FPTR(Perl_pp_semget),
- MEMBER_TO_FPTR(Perl_pp_semctl),
- MEMBER_TO_FPTR(Perl_pp_require),
- MEMBER_TO_FPTR(Perl_pp_require), /* Perl_pp_dofile */
- MEMBER_TO_FPTR(Perl_pp_hintseval),
- MEMBER_TO_FPTR(Perl_pp_entereval),
- MEMBER_TO_FPTR(Perl_pp_leaveeval),
- MEMBER_TO_FPTR(Perl_pp_entertry),
- MEMBER_TO_FPTR(Perl_pp_leavetry),
- MEMBER_TO_FPTR(Perl_pp_ghostent), /* Perl_pp_ghbyname */
- MEMBER_TO_FPTR(Perl_pp_ghostent), /* Perl_pp_ghbyaddr */
- MEMBER_TO_FPTR(Perl_pp_ghostent),
- MEMBER_TO_FPTR(Perl_pp_gnetent), /* Perl_pp_gnbyname */
- MEMBER_TO_FPTR(Perl_pp_gnetent), /* Perl_pp_gnbyaddr */
- MEMBER_TO_FPTR(Perl_pp_gnetent),
- MEMBER_TO_FPTR(Perl_pp_gprotoent), /* Perl_pp_gpbyname */
- MEMBER_TO_FPTR(Perl_pp_gprotoent), /* Perl_pp_gpbynumber */
- MEMBER_TO_FPTR(Perl_pp_gprotoent),
- MEMBER_TO_FPTR(Perl_pp_gservent), /* Perl_pp_gsbyname */
- MEMBER_TO_FPTR(Perl_pp_gservent), /* Perl_pp_gsbyport */
- MEMBER_TO_FPTR(Perl_pp_gservent),
- MEMBER_TO_FPTR(Perl_pp_shostent),
- MEMBER_TO_FPTR(Perl_pp_snetent),
- MEMBER_TO_FPTR(Perl_pp_sprotoent),
- MEMBER_TO_FPTR(Perl_pp_sservent),
- MEMBER_TO_FPTR(Perl_pp_ehostent),
- MEMBER_TO_FPTR(Perl_pp_enetent),
- MEMBER_TO_FPTR(Perl_pp_eprotoent),
- MEMBER_TO_FPTR(Perl_pp_eservent),
- MEMBER_TO_FPTR(Perl_pp_gpwent), /* Perl_pp_gpwnam */
- MEMBER_TO_FPTR(Perl_pp_gpwent), /* Perl_pp_gpwuid */
- MEMBER_TO_FPTR(Perl_pp_gpwent),
- MEMBER_TO_FPTR(Perl_pp_spwent),
- MEMBER_TO_FPTR(Perl_pp_epwent),
- MEMBER_TO_FPTR(Perl_pp_ggrent), /* Perl_pp_ggrnam */
- MEMBER_TO_FPTR(Perl_pp_ggrent), /* Perl_pp_ggrgid */
- MEMBER_TO_FPTR(Perl_pp_ggrent),
- MEMBER_TO_FPTR(Perl_pp_sgrent),
- MEMBER_TO_FPTR(Perl_pp_egrent),
- MEMBER_TO_FPTR(Perl_pp_getlogin),
- MEMBER_TO_FPTR(Perl_pp_syscall),
- MEMBER_TO_FPTR(Perl_pp_lock),
- MEMBER_TO_FPTR(Perl_pp_once),
- MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_custom */
+ Perl_pp_null,
+ Perl_pp_stub,
+ Perl_pp_scalar, /* implemented by Perl_pp_null */
+ Perl_pp_pushmark,
+ Perl_pp_wantarray,
+ Perl_pp_const,
+ Perl_pp_gvsv,
+ Perl_pp_gv,
+ Perl_pp_gelem,
+ Perl_pp_padsv,
+ Perl_pp_padav,
+ Perl_pp_padhv,
+ Perl_pp_padany, /* implemented by Perl_unimplemented_op */
+ Perl_pp_pushre,
+ Perl_pp_rv2gv,
+ Perl_pp_rv2sv,
+ Perl_pp_av2arylen,
+ Perl_pp_rv2cv,
+ Perl_pp_anoncode,
+ Perl_pp_prototype,
+ Perl_pp_refgen,
+ Perl_pp_srefgen,
+ Perl_pp_ref,
+ Perl_pp_bless,
+ Perl_pp_backtick,
+ Perl_pp_glob,
+ Perl_pp_readline,
+ Perl_pp_rcatline,
+ Perl_pp_regcmaybe, /* implemented by Perl_pp_null */
+ Perl_pp_regcreset,
+ Perl_pp_regcomp,
+ Perl_pp_match,
+ Perl_pp_qr,
+ Perl_pp_subst,
+ Perl_pp_substcont,
+ Perl_pp_trans,
+ Perl_pp_sassign,
+ Perl_pp_aassign,
+ Perl_pp_chop,
+ Perl_pp_schop,
+ Perl_pp_chomp, /* implemented by Perl_pp_chop */
+ Perl_pp_schomp, /* implemented by Perl_pp_schop */
+ Perl_pp_defined,
+ Perl_pp_undef,
+ Perl_pp_study,
+ Perl_pp_pos,
+ Perl_pp_preinc,
+ Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */
+ Perl_pp_predec,
+ Perl_pp_i_predec, /* implemented by Perl_pp_predec */
+ Perl_pp_postinc,
+ Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */
+ Perl_pp_postdec,
+ Perl_pp_i_postdec, /* implemented by Perl_pp_postdec */
+ Perl_pp_pow,
+ Perl_pp_multiply,
+ Perl_pp_i_multiply,
+ Perl_pp_divide,
+ Perl_pp_i_divide,
+ Perl_pp_modulo,
+ Perl_pp_i_modulo,
+ Perl_pp_repeat,
+ Perl_pp_add,
+ Perl_pp_i_add,
+ Perl_pp_subtract,
+ Perl_pp_i_subtract,
+ Perl_pp_concat,
+ Perl_pp_stringify,
+ Perl_pp_left_shift,
+ Perl_pp_right_shift,
+ Perl_pp_lt,
+ Perl_pp_i_lt,
+ Perl_pp_gt,
+ Perl_pp_i_gt,
+ Perl_pp_le,
+ Perl_pp_i_le,
+ Perl_pp_ge,
+ Perl_pp_i_ge,
+ Perl_pp_eq,
+ Perl_pp_i_eq,
+ Perl_pp_ne,
+ Perl_pp_i_ne,
+ Perl_pp_ncmp,
+ Perl_pp_i_ncmp,
+ Perl_pp_slt, /* implemented by Perl_pp_sle */
+ Perl_pp_sgt, /* implemented by Perl_pp_sle */
+ Perl_pp_sle,
+ Perl_pp_sge, /* implemented by Perl_pp_sle */
+ Perl_pp_seq,
+ Perl_pp_sne,
+ Perl_pp_scmp,
+ Perl_pp_bit_and,
+ Perl_pp_bit_xor, /* implemented by Perl_pp_bit_or */
+ Perl_pp_bit_or,
+ Perl_pp_negate,
+ Perl_pp_i_negate,
+ Perl_pp_not,
+ Perl_pp_complement,
+ Perl_pp_smartmatch,
+ Perl_pp_atan2,
+ Perl_pp_sin,
+ Perl_pp_cos, /* implemented by Perl_pp_sin */
+ Perl_pp_rand,
+ Perl_pp_srand,
+ Perl_pp_exp, /* implemented by Perl_pp_sin */
+ Perl_pp_log, /* implemented by Perl_pp_sin */
+ Perl_pp_sqrt, /* implemented by Perl_pp_sin */
+ Perl_pp_int,
+ Perl_pp_hex, /* implemented by Perl_pp_oct */
+ Perl_pp_oct,
+ Perl_pp_abs,
+ Perl_pp_length,
+ Perl_pp_substr,
+ Perl_pp_vec,
+ Perl_pp_index,
+ Perl_pp_rindex, /* implemented by Perl_pp_index */
+ Perl_pp_sprintf,
+ Perl_pp_formline,
+ Perl_pp_ord,
+ Perl_pp_chr,
+ Perl_pp_crypt,
+ Perl_pp_ucfirst,
+ Perl_pp_lcfirst, /* implemented by Perl_pp_ucfirst */
+ Perl_pp_uc,
+ Perl_pp_lc,
+ Perl_pp_quotemeta,
+ Perl_pp_rv2av,
+ Perl_pp_aelemfast,
+ Perl_pp_aelem,
+ Perl_pp_aslice,
+ Perl_pp_aeach,
+ Perl_pp_akeys,
+ Perl_pp_avalues, /* implemented by Perl_pp_akeys */
+ Perl_pp_each,
+ Perl_pp_values, /* implemented by Perl_do_kv */
+ Perl_pp_keys, /* implemented by Perl_do_kv */
+ Perl_pp_delete,
+ Perl_pp_exists,
+ Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */
+ Perl_pp_helem,
+ Perl_pp_hslice,
+ Perl_pp_boolkeys,
+ Perl_pp_unpack,
+ Perl_pp_pack,
+ Perl_pp_split,
+ Perl_pp_join,
+ Perl_pp_list,
+ Perl_pp_lslice,
+ Perl_pp_anonlist,
+ Perl_pp_anonhash,
+ Perl_pp_splice,
+ Perl_pp_push,
+ Perl_pp_pop, /* implemented by Perl_pp_shift */
+ Perl_pp_shift,
+ Perl_pp_unshift,
+ Perl_pp_sort,
+ Perl_pp_reverse,
+ Perl_pp_grepstart,
+ Perl_pp_grepwhile,
+ Perl_pp_mapstart, /* implemented by Perl_unimplemented_op */
+ Perl_pp_mapwhile,
+ Perl_pp_range,
+ Perl_pp_flip,
+ Perl_pp_flop,
+ Perl_pp_and,
+ Perl_pp_or,
+ Perl_pp_xor,
+ Perl_pp_dor, /* implemented by Perl_pp_defined */
+ Perl_pp_cond_expr,
+ Perl_pp_andassign, /* implemented by Perl_pp_and */
+ Perl_pp_orassign, /* implemented by Perl_pp_or */
+ Perl_pp_dorassign, /* implemented by Perl_pp_defined */
+ Perl_pp_method,
+ Perl_pp_entersub,
+ Perl_pp_leavesub,
+ Perl_pp_leavesublv,
+ Perl_pp_caller,
+ Perl_pp_warn,
+ Perl_pp_die,
+ Perl_pp_reset,
+ Perl_pp_lineseq, /* implemented by Perl_pp_null */
+ Perl_pp_nextstate,
+ Perl_pp_dbstate,
+ Perl_pp_unstack,
+ Perl_pp_enter,
+ Perl_pp_leave,
+ Perl_pp_scope, /* implemented by Perl_pp_null */
+ Perl_pp_enteriter,
+ Perl_pp_iter,
+ Perl_pp_enterloop,
+ Perl_pp_leaveloop,
+ Perl_pp_return,
+ Perl_pp_last,
+ Perl_pp_next,
+ Perl_pp_redo,
+ Perl_pp_dump, /* implemented by Perl_pp_goto */
+ Perl_pp_goto,
+ Perl_pp_exit,
+ Perl_pp_method_named,
+ Perl_pp_entergiven,
+ Perl_pp_leavegiven,
+ Perl_pp_enterwhen,
+ Perl_pp_leavewhen,
+ Perl_pp_break,
+ Perl_pp_continue,
+ Perl_pp_open,
+ Perl_pp_close,
+ Perl_pp_pipe_op,
+ Perl_pp_fileno,
+ Perl_pp_umask,
+ Perl_pp_binmode,
+ Perl_pp_tie,
+ Perl_pp_untie,
+ Perl_pp_tied,
+ Perl_pp_dbmopen,
+ Perl_pp_dbmclose, /* implemented by Perl_pp_untie */
+ Perl_pp_sselect,
+ Perl_pp_select,
+ Perl_pp_getc,
+ Perl_pp_read, /* implemented by Perl_pp_sysread */
+ Perl_pp_enterwrite,
+ Perl_pp_leavewrite,
+ Perl_pp_prtf,
+ Perl_pp_print,
+ Perl_pp_say, /* implemented by Perl_pp_print */
+ Perl_pp_sysopen,
+ Perl_pp_sysseek,
+ Perl_pp_sysread,
+ Perl_pp_syswrite,
+ Perl_pp_eof,
+ Perl_pp_tell,
+ Perl_pp_seek, /* implemented by Perl_pp_sysseek */
+ Perl_pp_truncate,
+ Perl_pp_fcntl, /* implemented by Perl_pp_ioctl */
+ Perl_pp_ioctl,
+ Perl_pp_flock,
+ Perl_pp_send, /* implemented by Perl_pp_syswrite */
+ Perl_pp_recv, /* implemented by Perl_pp_sysread */
+ Perl_pp_socket,
+ Perl_pp_sockpair,
+ Perl_pp_bind,
+ Perl_pp_connect, /* implemented by Perl_pp_bind */
+ Perl_pp_listen,
+ Perl_pp_accept,
+ Perl_pp_shutdown,
+ Perl_pp_gsockopt, /* implemented by Perl_pp_ssockopt */
+ Perl_pp_ssockopt,
+ Perl_pp_getsockname, /* implemented by Perl_pp_getpeername */
+ Perl_pp_getpeername,
+ Perl_pp_lstat, /* implemented by Perl_pp_stat */
+ Perl_pp_stat,
+ Perl_pp_ftrread,
+ Perl_pp_ftrwrite, /* implemented by Perl_pp_ftrread */
+ Perl_pp_ftrexec, /* implemented by Perl_pp_ftrread */
+ Perl_pp_fteread, /* implemented by Perl_pp_ftrread */
+ Perl_pp_ftewrite, /* implemented by Perl_pp_ftrread */
+ Perl_pp_fteexec, /* implemented by Perl_pp_ftrread */
+ Perl_pp_ftis,
+ Perl_pp_ftsize, /* implemented by Perl_pp_ftis */
+ Perl_pp_ftmtime, /* implemented by Perl_pp_ftis */
+ Perl_pp_ftatime, /* implemented by Perl_pp_ftis */
+ Perl_pp_ftctime, /* implemented by Perl_pp_ftis */
+ Perl_pp_ftrowned,
+ Perl_pp_fteowned, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftzero, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftsock, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftchr, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftblk, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftfile, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftdir, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftpipe, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftsuid, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftsgid, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftsvtx, /* implemented by Perl_pp_ftrowned */
+ Perl_pp_ftlink,
+ Perl_pp_fttty,
+ Perl_pp_fttext,
+ Perl_pp_ftbinary, /* implemented by Perl_pp_fttext */
+ Perl_pp_chdir,
+ Perl_pp_chown,
+ Perl_pp_chroot,
+ Perl_pp_unlink, /* implemented by Perl_pp_chown */
+ Perl_pp_chmod, /* implemented by Perl_pp_chown */
+ Perl_pp_utime, /* implemented by Perl_pp_chown */
+ Perl_pp_rename,
+ Perl_pp_link,
+ Perl_pp_symlink, /* implemented by Perl_pp_link */
+ Perl_pp_readlink,
+ Perl_pp_mkdir,
+ Perl_pp_rmdir,
+ Perl_pp_open_dir,
+ Perl_pp_readdir,
+ Perl_pp_telldir,
+ Perl_pp_seekdir,
+ Perl_pp_rewinddir,
+ Perl_pp_closedir,
+ Perl_pp_fork,
+ Perl_pp_wait,
+ Perl_pp_waitpid,
+ Perl_pp_system,
+ Perl_pp_exec,
+ Perl_pp_kill, /* implemented by Perl_pp_chown */
+ Perl_pp_getppid,
+ Perl_pp_getpgrp,
+ Perl_pp_setpgrp,
+ Perl_pp_getpriority,
+ Perl_pp_setpriority,
+ Perl_pp_time,
+ Perl_pp_tms,
+ Perl_pp_localtime, /* implemented by Perl_pp_gmtime */
+ Perl_pp_gmtime,
+ Perl_pp_alarm,
+ Perl_pp_sleep,
+ Perl_pp_shmget, /* implemented by Perl_pp_semget */
+ Perl_pp_shmctl, /* implemented by Perl_pp_semctl */
+ Perl_pp_shmread, /* implemented by Perl_pp_shmwrite */
+ Perl_pp_shmwrite,
+ Perl_pp_msgget, /* implemented by Perl_pp_semget */
+ Perl_pp_msgctl, /* implemented by Perl_pp_semctl */
+ Perl_pp_msgsnd, /* implemented by Perl_pp_shmwrite */
+ Perl_pp_msgrcv, /* implemented by Perl_pp_shmwrite */
+ Perl_pp_semop, /* implemented by Perl_pp_shmwrite */
+ Perl_pp_semget,
+ Perl_pp_semctl,
+ Perl_pp_require,
+ Perl_pp_dofile, /* implemented by Perl_pp_require */
+ Perl_pp_hintseval,
+ Perl_pp_entereval,
+ Perl_pp_leaveeval,
+ Perl_pp_entertry,
+ Perl_pp_leavetry,
+ Perl_pp_ghbyname, /* implemented by Perl_pp_ghostent */
+ Perl_pp_ghbyaddr, /* implemented by Perl_pp_ghostent */
+ Perl_pp_ghostent,
+ Perl_pp_gnbyname, /* implemented by Perl_pp_gnetent */
+ Perl_pp_gnbyaddr, /* implemented by Perl_pp_gnetent */
+ Perl_pp_gnetent,
+ Perl_pp_gpbyname, /* implemented by Perl_pp_gprotoent */
+ Perl_pp_gpbynumber, /* implemented by Perl_pp_gprotoent */
+ Perl_pp_gprotoent,
+ Perl_pp_gsbyname, /* implemented by Perl_pp_gservent */
+ Perl_pp_gsbyport, /* implemented by Perl_pp_gservent */
+ Perl_pp_gservent,
+ Perl_pp_shostent,
+ Perl_pp_snetent, /* implemented by Perl_pp_shostent */
+ Perl_pp_sprotoent, /* implemented by Perl_pp_shostent */
+ Perl_pp_sservent, /* implemented by Perl_pp_shostent */
+ Perl_pp_ehostent,
+ Perl_pp_enetent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_eprotoent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_eservent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */
+ Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */
+ Perl_pp_gpwent,
+ Perl_pp_spwent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_epwent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */
+ Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */
+ Perl_pp_ggrent,
+ Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_egrent, /* implemented by Perl_pp_ehostent */
+ Perl_pp_getlogin,
+ Perl_pp_syscall,
+ Perl_pp_lock,
+ Perl_pp_once,
+ Perl_pp_custom, /* implemented by Perl_unimplemented_op */
+ Perl_pp_reach, /* implemented by Perl_pp_rkeys */
+ Perl_pp_rkeys,
+ Perl_pp_rvalues, /* implemented by Perl_pp_rkeys */
+ Perl_pp_transr, /* implemented by Perl_pp_trans */
}
#endif
#ifdef PERL_PPADDR_INITED
@@ -1177,372 +1301,376 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
# define PERL_CHECK_INITED
= {
- MEMBER_TO_FPTR(Perl_ck_null), /* null */
- MEMBER_TO_FPTR(Perl_ck_null), /* stub */
- MEMBER_TO_FPTR(Perl_ck_fun), /* scalar */
- MEMBER_TO_FPTR(Perl_ck_null), /* pushmark */
- MEMBER_TO_FPTR(Perl_ck_null), /* wantarray */
- MEMBER_TO_FPTR(Perl_ck_svconst), /* const */
- MEMBER_TO_FPTR(Perl_ck_null), /* gvsv */
- MEMBER_TO_FPTR(Perl_ck_null), /* gv */
- MEMBER_TO_FPTR(Perl_ck_null), /* gelem */
- MEMBER_TO_FPTR(Perl_ck_null), /* padsv */
- MEMBER_TO_FPTR(Perl_ck_null), /* padav */
- MEMBER_TO_FPTR(Perl_ck_null), /* padhv */
- MEMBER_TO_FPTR(Perl_ck_null), /* padany */
- MEMBER_TO_FPTR(Perl_ck_null), /* pushre */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2gv */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2sv */
- MEMBER_TO_FPTR(Perl_ck_null), /* av2arylen */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2cv */
- MEMBER_TO_FPTR(Perl_ck_anoncode), /* anoncode */
- MEMBER_TO_FPTR(Perl_ck_null), /* prototype */
- MEMBER_TO_FPTR(Perl_ck_spair), /* refgen */
- MEMBER_TO_FPTR(Perl_ck_null), /* srefgen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ref */
- MEMBER_TO_FPTR(Perl_ck_fun), /* bless */
- MEMBER_TO_FPTR(Perl_ck_open), /* backtick */
- MEMBER_TO_FPTR(Perl_ck_glob), /* glob */
- MEMBER_TO_FPTR(Perl_ck_readline), /* readline */
- MEMBER_TO_FPTR(Perl_ck_null), /* rcatline */
- MEMBER_TO_FPTR(Perl_ck_fun), /* regcmaybe */
- MEMBER_TO_FPTR(Perl_ck_fun), /* regcreset */
- MEMBER_TO_FPTR(Perl_ck_null), /* regcomp */
- MEMBER_TO_FPTR(Perl_ck_match), /* match */
- MEMBER_TO_FPTR(Perl_ck_match), /* qr */
- MEMBER_TO_FPTR(Perl_ck_match), /* subst */
- MEMBER_TO_FPTR(Perl_ck_null), /* substcont */
- MEMBER_TO_FPTR(Perl_ck_match), /* trans */
- MEMBER_TO_FPTR(Perl_ck_sassign), /* sassign */
- MEMBER_TO_FPTR(Perl_ck_null), /* aassign */
- MEMBER_TO_FPTR(Perl_ck_spair), /* chop */
- MEMBER_TO_FPTR(Perl_ck_null), /* schop */
- MEMBER_TO_FPTR(Perl_ck_spair), /* chomp */
- MEMBER_TO_FPTR(Perl_ck_null), /* schomp */
- MEMBER_TO_FPTR(Perl_ck_defined), /* defined */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* undef */
- MEMBER_TO_FPTR(Perl_ck_fun), /* study */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* pos */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* preinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_preinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* predec */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_predec */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* postinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_postinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* postdec */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_postdec */
- MEMBER_TO_FPTR(Perl_ck_null), /* pow */
- MEMBER_TO_FPTR(Perl_ck_null), /* multiply */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_multiply */
- MEMBER_TO_FPTR(Perl_ck_null), /* divide */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_divide */
- MEMBER_TO_FPTR(Perl_ck_null), /* modulo */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_modulo */
- MEMBER_TO_FPTR(Perl_ck_repeat), /* repeat */
- MEMBER_TO_FPTR(Perl_ck_null), /* add */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_add */
- MEMBER_TO_FPTR(Perl_ck_null), /* subtract */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_subtract */
- MEMBER_TO_FPTR(Perl_ck_concat), /* concat */
- MEMBER_TO_FPTR(Perl_ck_fun), /* stringify */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* left_shift */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* right_shift */
- MEMBER_TO_FPTR(Perl_ck_null), /* lt */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_lt */
- MEMBER_TO_FPTR(Perl_ck_null), /* gt */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_gt */
- MEMBER_TO_FPTR(Perl_ck_null), /* le */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_le */
- MEMBER_TO_FPTR(Perl_ck_null), /* ge */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_ge */
- MEMBER_TO_FPTR(Perl_ck_null), /* eq */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_eq */
- MEMBER_TO_FPTR(Perl_ck_null), /* ne */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_ne */
- MEMBER_TO_FPTR(Perl_ck_null), /* ncmp */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_ncmp */
- MEMBER_TO_FPTR(Perl_ck_null), /* slt */
- MEMBER_TO_FPTR(Perl_ck_null), /* sgt */
- MEMBER_TO_FPTR(Perl_ck_null), /* sle */
- MEMBER_TO_FPTR(Perl_ck_null), /* sge */
- MEMBER_TO_FPTR(Perl_ck_null), /* seq */
- MEMBER_TO_FPTR(Perl_ck_null), /* sne */
- MEMBER_TO_FPTR(Perl_ck_null), /* scmp */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_and */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_xor */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_or */
- MEMBER_TO_FPTR(Perl_ck_null), /* negate */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_negate */
- MEMBER_TO_FPTR(Perl_ck_null), /* not */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* complement */
- MEMBER_TO_FPTR(Perl_ck_smartmatch), /* smartmatch */
- MEMBER_TO_FPTR(Perl_ck_fun), /* atan2 */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sin */
- MEMBER_TO_FPTR(Perl_ck_fun), /* cos */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rand */
- MEMBER_TO_FPTR(Perl_ck_fun), /* srand */
- MEMBER_TO_FPTR(Perl_ck_fun), /* exp */
- MEMBER_TO_FPTR(Perl_ck_fun), /* log */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sqrt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* int */
- MEMBER_TO_FPTR(Perl_ck_fun), /* hex */
- MEMBER_TO_FPTR(Perl_ck_fun), /* oct */
- MEMBER_TO_FPTR(Perl_ck_fun), /* abs */
- MEMBER_TO_FPTR(Perl_ck_fun), /* length */
- MEMBER_TO_FPTR(Perl_ck_substr), /* substr */
- MEMBER_TO_FPTR(Perl_ck_fun), /* vec */
- MEMBER_TO_FPTR(Perl_ck_index), /* index */
- MEMBER_TO_FPTR(Perl_ck_index), /* rindex */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sprintf */
- MEMBER_TO_FPTR(Perl_ck_fun), /* formline */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ord */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chr */
- MEMBER_TO_FPTR(Perl_ck_fun), /* crypt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ucfirst */
- MEMBER_TO_FPTR(Perl_ck_fun), /* lcfirst */
- MEMBER_TO_FPTR(Perl_ck_fun), /* uc */
- MEMBER_TO_FPTR(Perl_ck_fun), /* lc */
- MEMBER_TO_FPTR(Perl_ck_fun), /* quotemeta */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2av */
- MEMBER_TO_FPTR(Perl_ck_null), /* aelemfast */
- MEMBER_TO_FPTR(Perl_ck_null), /* aelem */
- MEMBER_TO_FPTR(Perl_ck_null), /* aslice */
- MEMBER_TO_FPTR(Perl_ck_each), /* aeach */
- MEMBER_TO_FPTR(Perl_ck_each), /* akeys */
- MEMBER_TO_FPTR(Perl_ck_each), /* avalues */
- MEMBER_TO_FPTR(Perl_ck_each), /* each */
- MEMBER_TO_FPTR(Perl_ck_each), /* values */
- MEMBER_TO_FPTR(Perl_ck_each), /* keys */
- MEMBER_TO_FPTR(Perl_ck_delete), /* delete */
- MEMBER_TO_FPTR(Perl_ck_exists), /* exists */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2hv */
- MEMBER_TO_FPTR(Perl_ck_null), /* helem */
- MEMBER_TO_FPTR(Perl_ck_null), /* hslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* boolkeys */
- MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */
- MEMBER_TO_FPTR(Perl_ck_fun), /* pack */
- MEMBER_TO_FPTR(Perl_ck_split), /* split */
- MEMBER_TO_FPTR(Perl_ck_join), /* join */
- MEMBER_TO_FPTR(Perl_ck_null), /* list */
- MEMBER_TO_FPTR(Perl_ck_null), /* lslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* anonlist */
- MEMBER_TO_FPTR(Perl_ck_fun), /* anonhash */
- MEMBER_TO_FPTR(Perl_ck_fun), /* splice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* push */
- MEMBER_TO_FPTR(Perl_ck_shift), /* pop */
- MEMBER_TO_FPTR(Perl_ck_shift), /* shift */
- MEMBER_TO_FPTR(Perl_ck_fun), /* unshift */
- MEMBER_TO_FPTR(Perl_ck_sort), /* sort */
- MEMBER_TO_FPTR(Perl_ck_fun), /* reverse */
- MEMBER_TO_FPTR(Perl_ck_grep), /* grepstart */
- MEMBER_TO_FPTR(Perl_ck_null), /* grepwhile */
- MEMBER_TO_FPTR(Perl_ck_grep), /* mapstart */
- MEMBER_TO_FPTR(Perl_ck_null), /* mapwhile */
- MEMBER_TO_FPTR(Perl_ck_null), /* range */
- MEMBER_TO_FPTR(Perl_ck_null), /* flip */
- MEMBER_TO_FPTR(Perl_ck_null), /* flop */
- MEMBER_TO_FPTR(Perl_ck_null), /* and */
- MEMBER_TO_FPTR(Perl_ck_null), /* or */
- MEMBER_TO_FPTR(Perl_ck_null), /* xor */
- MEMBER_TO_FPTR(Perl_ck_null), /* dor */
- MEMBER_TO_FPTR(Perl_ck_null), /* cond_expr */
- MEMBER_TO_FPTR(Perl_ck_null), /* andassign */
- MEMBER_TO_FPTR(Perl_ck_null), /* orassign */
- MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */
- MEMBER_TO_FPTR(Perl_ck_method), /* method */
- MEMBER_TO_FPTR(Perl_ck_subr), /* entersub */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavesub */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavesublv */
- MEMBER_TO_FPTR(Perl_ck_fun), /* caller */
- MEMBER_TO_FPTR(Perl_ck_fun), /* warn */
- MEMBER_TO_FPTR(Perl_ck_die), /* die */
- MEMBER_TO_FPTR(Perl_ck_fun), /* reset */
- MEMBER_TO_FPTR(Perl_ck_null), /* lineseq */
- MEMBER_TO_FPTR(Perl_ck_null), /* nextstate */
- MEMBER_TO_FPTR(Perl_ck_null), /* dbstate */
- MEMBER_TO_FPTR(Perl_ck_null), /* unstack */
- MEMBER_TO_FPTR(Perl_ck_null), /* enter */
- MEMBER_TO_FPTR(Perl_ck_null), /* leave */
- MEMBER_TO_FPTR(Perl_ck_null), /* scope */
- MEMBER_TO_FPTR(Perl_ck_null), /* enteriter */
- MEMBER_TO_FPTR(Perl_ck_null), /* iter */
- MEMBER_TO_FPTR(Perl_ck_null), /* enterloop */
- MEMBER_TO_FPTR(Perl_ck_null), /* leaveloop */
- MEMBER_TO_FPTR(Perl_ck_return), /* return */
- MEMBER_TO_FPTR(Perl_ck_null), /* last */
- MEMBER_TO_FPTR(Perl_ck_null), /* next */
- MEMBER_TO_FPTR(Perl_ck_null), /* redo */
- MEMBER_TO_FPTR(Perl_ck_null), /* dump */
- MEMBER_TO_FPTR(Perl_ck_null), /* goto */
- MEMBER_TO_FPTR(Perl_ck_exit), /* exit */
- MEMBER_TO_FPTR(Perl_ck_null), /* method_named */
- MEMBER_TO_FPTR(Perl_ck_null), /* entergiven */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavegiven */
- MEMBER_TO_FPTR(Perl_ck_null), /* enterwhen */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavewhen */
- MEMBER_TO_FPTR(Perl_ck_null), /* break */
- MEMBER_TO_FPTR(Perl_ck_null), /* continue */
- MEMBER_TO_FPTR(Perl_ck_open), /* open */
- MEMBER_TO_FPTR(Perl_ck_fun), /* close */
- MEMBER_TO_FPTR(Perl_ck_fun), /* pipe_op */
- MEMBER_TO_FPTR(Perl_ck_fun), /* fileno */
- MEMBER_TO_FPTR(Perl_ck_fun), /* umask */
- MEMBER_TO_FPTR(Perl_ck_fun), /* binmode */
- MEMBER_TO_FPTR(Perl_ck_fun), /* tie */
- MEMBER_TO_FPTR(Perl_ck_fun), /* untie */
- MEMBER_TO_FPTR(Perl_ck_fun), /* tied */
- MEMBER_TO_FPTR(Perl_ck_fun), /* dbmopen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* dbmclose */
- MEMBER_TO_FPTR(Perl_ck_select), /* sselect */
- MEMBER_TO_FPTR(Perl_ck_select), /* select */
- MEMBER_TO_FPTR(Perl_ck_eof), /* getc */
- MEMBER_TO_FPTR(Perl_ck_fun), /* read */
- MEMBER_TO_FPTR(Perl_ck_fun), /* enterwrite */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavewrite */
- MEMBER_TO_FPTR(Perl_ck_listiob), /* prtf */
- MEMBER_TO_FPTR(Perl_ck_listiob), /* print */
- MEMBER_TO_FPTR(Perl_ck_listiob), /* say */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sysopen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sysseek */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sysread */
- MEMBER_TO_FPTR(Perl_ck_fun), /* syswrite */
- MEMBER_TO_FPTR(Perl_ck_eof), /* eof */
- MEMBER_TO_FPTR(Perl_ck_fun), /* tell */
- MEMBER_TO_FPTR(Perl_ck_fun), /* seek */
- MEMBER_TO_FPTR(Perl_ck_trunc), /* truncate */
- MEMBER_TO_FPTR(Perl_ck_fun), /* fcntl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ioctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* flock */
- MEMBER_TO_FPTR(Perl_ck_fun), /* send */
- MEMBER_TO_FPTR(Perl_ck_fun), /* recv */
- MEMBER_TO_FPTR(Perl_ck_fun), /* socket */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sockpair */
- MEMBER_TO_FPTR(Perl_ck_fun), /* bind */
- MEMBER_TO_FPTR(Perl_ck_fun), /* connect */
- MEMBER_TO_FPTR(Perl_ck_fun), /* listen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* accept */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shutdown */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gsockopt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ssockopt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getsockname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getpeername */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* lstat */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* stat */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrread */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrwrite */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrexec */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteread */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftewrite */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteexec */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftis */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsize */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftmtime */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftatime */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftctime */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrowned */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteowned */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftzero */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsock */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftchr */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftblk */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftfile */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftdir */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftpipe */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsuid */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsgid */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsvtx */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftlink */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fttty */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fttext */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftbinary */
- MEMBER_TO_FPTR(Perl_ck_chdir), /* chdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chown */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chroot */
- MEMBER_TO_FPTR(Perl_ck_fun), /* unlink */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chmod */
- MEMBER_TO_FPTR(Perl_ck_fun), /* utime */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rename */
- MEMBER_TO_FPTR(Perl_ck_fun), /* link */
- MEMBER_TO_FPTR(Perl_ck_fun), /* symlink */
- MEMBER_TO_FPTR(Perl_ck_fun), /* readlink */
- MEMBER_TO_FPTR(Perl_ck_fun), /* mkdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rmdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* open_dir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* readdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* telldir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* seekdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rewinddir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* closedir */
- MEMBER_TO_FPTR(Perl_ck_null), /* fork */
- MEMBER_TO_FPTR(Perl_ck_null), /* wait */
- MEMBER_TO_FPTR(Perl_ck_fun), /* waitpid */
- MEMBER_TO_FPTR(Perl_ck_exec), /* system */
- MEMBER_TO_FPTR(Perl_ck_exec), /* exec */
- MEMBER_TO_FPTR(Perl_ck_fun), /* kill */
- MEMBER_TO_FPTR(Perl_ck_null), /* getppid */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getpgrp */
- MEMBER_TO_FPTR(Perl_ck_fun), /* setpgrp */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getpriority */
- MEMBER_TO_FPTR(Perl_ck_fun), /* setpriority */
- MEMBER_TO_FPTR(Perl_ck_null), /* time */
- MEMBER_TO_FPTR(Perl_ck_null), /* tms */
- MEMBER_TO_FPTR(Perl_ck_fun), /* localtime */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gmtime */
- MEMBER_TO_FPTR(Perl_ck_fun), /* alarm */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sleep */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmget */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmread */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmwrite */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgget */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgsnd */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgrcv */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semop */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semget */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semctl */
- MEMBER_TO_FPTR(Perl_ck_require), /* require */
- MEMBER_TO_FPTR(Perl_ck_fun), /* dofile */
- MEMBER_TO_FPTR(Perl_ck_svconst), /* hintseval */
- MEMBER_TO_FPTR(Perl_ck_eval), /* entereval */
- MEMBER_TO_FPTR(Perl_ck_null), /* leaveeval */
- MEMBER_TO_FPTR(Perl_ck_eval), /* entertry */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavetry */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ghbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ghbyaddr */
- MEMBER_TO_FPTR(Perl_ck_null), /* ghostent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gnbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gnbyaddr */
- MEMBER_TO_FPTR(Perl_ck_null), /* gnetent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpbynumber */
- MEMBER_TO_FPTR(Perl_ck_null), /* gprotoent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gsbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gsbyport */
- MEMBER_TO_FPTR(Perl_ck_null), /* gservent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shostent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* snetent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sprotoent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sservent */
- MEMBER_TO_FPTR(Perl_ck_null), /* ehostent */
- MEMBER_TO_FPTR(Perl_ck_null), /* enetent */
- MEMBER_TO_FPTR(Perl_ck_null), /* eprotoent */
- MEMBER_TO_FPTR(Perl_ck_null), /* eservent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpwnam */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpwuid */
- MEMBER_TO_FPTR(Perl_ck_null), /* gpwent */
- MEMBER_TO_FPTR(Perl_ck_null), /* spwent */
- MEMBER_TO_FPTR(Perl_ck_null), /* epwent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ggrnam */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ggrgid */
- MEMBER_TO_FPTR(Perl_ck_null), /* ggrent */
- MEMBER_TO_FPTR(Perl_ck_null), /* sgrent */
- MEMBER_TO_FPTR(Perl_ck_null), /* egrent */
- MEMBER_TO_FPTR(Perl_ck_null), /* getlogin */
- MEMBER_TO_FPTR(Perl_ck_fun), /* syscall */
- MEMBER_TO_FPTR(Perl_ck_rfun), /* lock */
- MEMBER_TO_FPTR(Perl_ck_null), /* once */
- MEMBER_TO_FPTR(Perl_ck_null), /* custom */
+ Perl_ck_null, /* null */
+ Perl_ck_null, /* stub */
+ Perl_ck_fun, /* scalar */
+ Perl_ck_null, /* pushmark */
+ Perl_ck_null, /* wantarray */
+ Perl_ck_svconst, /* const */
+ Perl_ck_null, /* gvsv */
+ Perl_ck_null, /* gv */
+ Perl_ck_null, /* gelem */
+ Perl_ck_null, /* padsv */
+ Perl_ck_null, /* padav */
+ Perl_ck_null, /* padhv */
+ Perl_ck_null, /* padany */
+ Perl_ck_null, /* pushre */
+ Perl_ck_rvconst, /* rv2gv */
+ Perl_ck_rvconst, /* rv2sv */
+ Perl_ck_null, /* av2arylen */
+ Perl_ck_rvconst, /* rv2cv */
+ Perl_ck_anoncode, /* anoncode */
+ Perl_ck_null, /* prototype */
+ Perl_ck_spair, /* refgen */
+ Perl_ck_null, /* srefgen */
+ Perl_ck_fun, /* ref */
+ Perl_ck_fun, /* bless */
+ Perl_ck_open, /* backtick */
+ Perl_ck_glob, /* glob */
+ Perl_ck_readline, /* readline */
+ Perl_ck_null, /* rcatline */
+ Perl_ck_fun, /* regcmaybe */
+ Perl_ck_fun, /* regcreset */
+ Perl_ck_null, /* regcomp */
+ Perl_ck_match, /* match */
+ Perl_ck_match, /* qr */
+ Perl_ck_match, /* subst */
+ Perl_ck_null, /* substcont */
+ Perl_ck_match, /* trans */
+ Perl_ck_sassign, /* sassign */
+ Perl_ck_null, /* aassign */
+ Perl_ck_spair, /* chop */
+ Perl_ck_null, /* schop */
+ Perl_ck_spair, /* chomp */
+ Perl_ck_null, /* schomp */
+ Perl_ck_defined, /* defined */
+ Perl_ck_lfun, /* undef */
+ Perl_ck_fun, /* study */
+ Perl_ck_lfun, /* pos */
+ Perl_ck_lfun, /* preinc */
+ Perl_ck_lfun, /* i_preinc */
+ Perl_ck_lfun, /* predec */
+ Perl_ck_lfun, /* i_predec */
+ Perl_ck_lfun, /* postinc */
+ Perl_ck_lfun, /* i_postinc */
+ Perl_ck_lfun, /* postdec */
+ Perl_ck_lfun, /* i_postdec */
+ Perl_ck_null, /* pow */
+ Perl_ck_null, /* multiply */
+ Perl_ck_null, /* i_multiply */
+ Perl_ck_null, /* divide */
+ Perl_ck_null, /* i_divide */
+ Perl_ck_null, /* modulo */
+ Perl_ck_null, /* i_modulo */
+ Perl_ck_repeat, /* repeat */
+ Perl_ck_null, /* add */
+ Perl_ck_null, /* i_add */
+ Perl_ck_null, /* subtract */
+ Perl_ck_null, /* i_subtract */
+ Perl_ck_concat, /* concat */
+ Perl_ck_fun, /* stringify */
+ Perl_ck_bitop, /* left_shift */
+ Perl_ck_bitop, /* right_shift */
+ Perl_ck_null, /* lt */
+ Perl_ck_null, /* i_lt */
+ Perl_ck_null, /* gt */
+ Perl_ck_null, /* i_gt */
+ Perl_ck_null, /* le */
+ Perl_ck_null, /* i_le */
+ Perl_ck_null, /* ge */
+ Perl_ck_null, /* i_ge */
+ Perl_ck_null, /* eq */
+ Perl_ck_null, /* i_eq */
+ Perl_ck_null, /* ne */
+ Perl_ck_null, /* i_ne */
+ Perl_ck_null, /* ncmp */
+ Perl_ck_null, /* i_ncmp */
+ Perl_ck_null, /* slt */
+ Perl_ck_null, /* sgt */
+ Perl_ck_null, /* sle */
+ Perl_ck_null, /* sge */
+ Perl_ck_null, /* seq */
+ Perl_ck_null, /* sne */
+ Perl_ck_null, /* scmp */
+ Perl_ck_bitop, /* bit_and */
+ Perl_ck_bitop, /* bit_xor */
+ Perl_ck_bitop, /* bit_or */
+ Perl_ck_null, /* negate */
+ Perl_ck_null, /* i_negate */
+ Perl_ck_null, /* not */
+ Perl_ck_bitop, /* complement */
+ Perl_ck_smartmatch, /* smartmatch */
+ Perl_ck_fun, /* atan2 */
+ Perl_ck_fun, /* sin */
+ Perl_ck_fun, /* cos */
+ Perl_ck_fun, /* rand */
+ Perl_ck_fun, /* srand */
+ Perl_ck_fun, /* exp */
+ Perl_ck_fun, /* log */
+ Perl_ck_fun, /* sqrt */
+ Perl_ck_fun, /* int */
+ Perl_ck_fun, /* hex */
+ Perl_ck_fun, /* oct */
+ Perl_ck_fun, /* abs */
+ Perl_ck_fun, /* length */
+ Perl_ck_substr, /* substr */
+ Perl_ck_fun, /* vec */
+ Perl_ck_index, /* index */
+ Perl_ck_index, /* rindex */
+ Perl_ck_fun, /* sprintf */
+ Perl_ck_fun, /* formline */
+ Perl_ck_fun, /* ord */
+ Perl_ck_fun, /* chr */
+ Perl_ck_fun, /* crypt */
+ Perl_ck_fun, /* ucfirst */
+ Perl_ck_fun, /* lcfirst */
+ Perl_ck_fun, /* uc */
+ Perl_ck_fun, /* lc */
+ Perl_ck_fun, /* quotemeta */
+ Perl_ck_rvconst, /* rv2av */
+ Perl_ck_null, /* aelemfast */
+ Perl_ck_null, /* aelem */
+ Perl_ck_null, /* aslice */
+ Perl_ck_each, /* aeach */
+ Perl_ck_each, /* akeys */
+ Perl_ck_each, /* avalues */
+ Perl_ck_each, /* each */
+ Perl_ck_each, /* values */
+ Perl_ck_each, /* keys */
+ Perl_ck_delete, /* delete */
+ Perl_ck_exists, /* exists */
+ Perl_ck_rvconst, /* rv2hv */
+ Perl_ck_null, /* helem */
+ Perl_ck_null, /* hslice */
+ Perl_ck_fun, /* boolkeys */
+ Perl_ck_unpack, /* unpack */
+ Perl_ck_fun, /* pack */
+ Perl_ck_split, /* split */
+ Perl_ck_join, /* join */
+ Perl_ck_null, /* list */
+ Perl_ck_null, /* lslice */
+ Perl_ck_fun, /* anonlist */
+ Perl_ck_fun, /* anonhash */
+ Perl_ck_fun, /* splice */
+ Perl_ck_fun, /* push */
+ Perl_ck_shift, /* pop */
+ Perl_ck_shift, /* shift */
+ Perl_ck_fun, /* unshift */
+ Perl_ck_sort, /* sort */
+ Perl_ck_fun, /* reverse */
+ Perl_ck_grep, /* grepstart */
+ Perl_ck_null, /* grepwhile */
+ Perl_ck_grep, /* mapstart */
+ Perl_ck_null, /* mapwhile */
+ Perl_ck_null, /* range */
+ Perl_ck_null, /* flip */
+ Perl_ck_null, /* flop */
+ Perl_ck_null, /* and */
+ Perl_ck_null, /* or */
+ Perl_ck_null, /* xor */
+ Perl_ck_null, /* dor */
+ Perl_ck_null, /* cond_expr */
+ Perl_ck_null, /* andassign */
+ Perl_ck_null, /* orassign */
+ Perl_ck_null, /* dorassign */
+ Perl_ck_method, /* method */
+ Perl_ck_subr, /* entersub */
+ Perl_ck_null, /* leavesub */
+ Perl_ck_null, /* leavesublv */
+ Perl_ck_fun, /* caller */
+ Perl_ck_fun, /* warn */
+ Perl_ck_die, /* die */
+ Perl_ck_fun, /* reset */
+ Perl_ck_null, /* lineseq */
+ Perl_ck_null, /* nextstate */
+ Perl_ck_null, /* dbstate */
+ Perl_ck_null, /* unstack */
+ Perl_ck_null, /* enter */
+ Perl_ck_null, /* leave */
+ Perl_ck_null, /* scope */
+ Perl_ck_null, /* enteriter */
+ Perl_ck_null, /* iter */
+ Perl_ck_null, /* enterloop */
+ Perl_ck_null, /* leaveloop */
+ Perl_ck_return, /* return */
+ Perl_ck_null, /* last */
+ Perl_ck_null, /* next */
+ Perl_ck_null, /* redo */
+ Perl_ck_null, /* dump */
+ Perl_ck_null, /* goto */
+ Perl_ck_exit, /* exit */
+ Perl_ck_null, /* method_named */
+ Perl_ck_null, /* entergiven */
+ Perl_ck_null, /* leavegiven */
+ Perl_ck_null, /* enterwhen */
+ Perl_ck_null, /* leavewhen */
+ Perl_ck_null, /* break */
+ Perl_ck_null, /* continue */
+ Perl_ck_open, /* open */
+ Perl_ck_fun, /* close */
+ Perl_ck_fun, /* pipe_op */
+ Perl_ck_fun, /* fileno */
+ Perl_ck_fun, /* umask */
+ Perl_ck_fun, /* binmode */
+ Perl_ck_fun, /* tie */
+ Perl_ck_fun, /* untie */
+ Perl_ck_fun, /* tied */
+ Perl_ck_fun, /* dbmopen */
+ Perl_ck_fun, /* dbmclose */
+ Perl_ck_select, /* sselect */
+ Perl_ck_select, /* select */
+ Perl_ck_eof, /* getc */
+ Perl_ck_fun, /* read */
+ Perl_ck_fun, /* enterwrite */
+ Perl_ck_null, /* leavewrite */
+ Perl_ck_listiob, /* prtf */
+ Perl_ck_listiob, /* print */
+ Perl_ck_listiob, /* say */
+ Perl_ck_fun, /* sysopen */
+ Perl_ck_fun, /* sysseek */
+ Perl_ck_fun, /* sysread */
+ Perl_ck_fun, /* syswrite */
+ Perl_ck_eof, /* eof */
+ Perl_ck_fun, /* tell */
+ Perl_ck_fun, /* seek */
+ Perl_ck_trunc, /* truncate */
+ Perl_ck_fun, /* fcntl */
+ Perl_ck_fun, /* ioctl */
+ Perl_ck_fun, /* flock */
+ Perl_ck_fun, /* send */
+ Perl_ck_fun, /* recv */
+ Perl_ck_fun, /* socket */
+ Perl_ck_fun, /* sockpair */
+ Perl_ck_fun, /* bind */
+ Perl_ck_fun, /* connect */
+ Perl_ck_fun, /* listen */
+ Perl_ck_fun, /* accept */
+ Perl_ck_fun, /* shutdown */
+ Perl_ck_fun, /* gsockopt */
+ Perl_ck_fun, /* ssockopt */
+ Perl_ck_fun, /* getsockname */
+ Perl_ck_fun, /* getpeername */
+ Perl_ck_ftst, /* lstat */
+ Perl_ck_ftst, /* stat */
+ Perl_ck_ftst, /* ftrread */
+ Perl_ck_ftst, /* ftrwrite */
+ Perl_ck_ftst, /* ftrexec */
+ Perl_ck_ftst, /* fteread */
+ Perl_ck_ftst, /* ftewrite */
+ Perl_ck_ftst, /* fteexec */
+ Perl_ck_ftst, /* ftis */
+ Perl_ck_ftst, /* ftsize */
+ Perl_ck_ftst, /* ftmtime */
+ Perl_ck_ftst, /* ftatime */
+ Perl_ck_ftst, /* ftctime */
+ Perl_ck_ftst, /* ftrowned */
+ Perl_ck_ftst, /* fteowned */
+ Perl_ck_ftst, /* ftzero */
+ Perl_ck_ftst, /* ftsock */
+ Perl_ck_ftst, /* ftchr */
+ Perl_ck_ftst, /* ftblk */
+ Perl_ck_ftst, /* ftfile */
+ Perl_ck_ftst, /* ftdir */
+ Perl_ck_ftst, /* ftpipe */
+ Perl_ck_ftst, /* ftsuid */
+ Perl_ck_ftst, /* ftsgid */
+ Perl_ck_ftst, /* ftsvtx */
+ Perl_ck_ftst, /* ftlink */
+ Perl_ck_ftst, /* fttty */
+ Perl_ck_ftst, /* fttext */
+ Perl_ck_ftst, /* ftbinary */
+ Perl_ck_chdir, /* chdir */
+ Perl_ck_fun, /* chown */
+ Perl_ck_fun, /* chroot */
+ Perl_ck_fun, /* unlink */
+ Perl_ck_fun, /* chmod */
+ Perl_ck_fun, /* utime */
+ Perl_ck_fun, /* rename */
+ Perl_ck_fun, /* link */
+ Perl_ck_fun, /* symlink */
+ Perl_ck_fun, /* readlink */
+ Perl_ck_fun, /* mkdir */
+ Perl_ck_fun, /* rmdir */
+ Perl_ck_fun, /* open_dir */
+ Perl_ck_fun, /* readdir */
+ Perl_ck_fun, /* telldir */
+ Perl_ck_fun, /* seekdir */
+ Perl_ck_fun, /* rewinddir */
+ Perl_ck_fun, /* closedir */
+ Perl_ck_null, /* fork */
+ Perl_ck_null, /* wait */
+ Perl_ck_fun, /* waitpid */
+ Perl_ck_exec, /* system */
+ Perl_ck_exec, /* exec */
+ Perl_ck_fun, /* kill */
+ Perl_ck_null, /* getppid */
+ Perl_ck_fun, /* getpgrp */
+ Perl_ck_fun, /* setpgrp */
+ Perl_ck_fun, /* getpriority */
+ Perl_ck_fun, /* setpriority */
+ Perl_ck_null, /* time */
+ Perl_ck_null, /* tms */
+ Perl_ck_fun, /* localtime */
+ Perl_ck_fun, /* gmtime */
+ Perl_ck_fun, /* alarm */
+ Perl_ck_fun, /* sleep */
+ Perl_ck_fun, /* shmget */
+ Perl_ck_fun, /* shmctl */
+ Perl_ck_fun, /* shmread */
+ Perl_ck_fun, /* shmwrite */
+ Perl_ck_fun, /* msgget */
+ Perl_ck_fun, /* msgctl */
+ Perl_ck_fun, /* msgsnd */
+ Perl_ck_fun, /* msgrcv */
+ Perl_ck_fun, /* semop */
+ Perl_ck_fun, /* semget */
+ Perl_ck_fun, /* semctl */
+ Perl_ck_require, /* require */
+ Perl_ck_fun, /* dofile */
+ Perl_ck_svconst, /* hintseval */
+ Perl_ck_eval, /* entereval */
+ Perl_ck_null, /* leaveeval */
+ Perl_ck_eval, /* entertry */
+ Perl_ck_null, /* leavetry */
+ Perl_ck_fun, /* ghbyname */
+ Perl_ck_fun, /* ghbyaddr */
+ Perl_ck_null, /* ghostent */
+ Perl_ck_fun, /* gnbyname */
+ Perl_ck_fun, /* gnbyaddr */
+ Perl_ck_null, /* gnetent */
+ Perl_ck_fun, /* gpbyname */
+ Perl_ck_fun, /* gpbynumber */
+ Perl_ck_null, /* gprotoent */
+ Perl_ck_fun, /* gsbyname */
+ Perl_ck_fun, /* gsbyport */
+ Perl_ck_null, /* gservent */
+ Perl_ck_fun, /* shostent */
+ Perl_ck_fun, /* snetent */
+ Perl_ck_fun, /* sprotoent */
+ Perl_ck_fun, /* sservent */
+ Perl_ck_null, /* ehostent */
+ Perl_ck_null, /* enetent */
+ Perl_ck_null, /* eprotoent */
+ Perl_ck_null, /* eservent */
+ Perl_ck_fun, /* gpwnam */
+ Perl_ck_fun, /* gpwuid */
+ Perl_ck_null, /* gpwent */
+ Perl_ck_null, /* spwent */
+ Perl_ck_null, /* epwent */
+ Perl_ck_fun, /* ggrnam */
+ Perl_ck_fun, /* ggrgid */
+ Perl_ck_null, /* ggrent */
+ Perl_ck_null, /* sgrent */
+ Perl_ck_null, /* egrent */
+ Perl_ck_null, /* getlogin */
+ Perl_ck_fun, /* syscall */
+ Perl_ck_rfun, /* lock */
+ Perl_ck_null, /* once */
+ Perl_ck_null, /* custom */
+ Perl_ck_each, /* reach */
+ Perl_ck_each, /* rkeys */
+ Perl_ck_each, /* rvalues */
+ Perl_ck_match, /* transr */
}
#endif
#ifdef PERL_CHECK_INITED
@@ -1557,370 +1685,374 @@ EXTCONST U32 PL_opargs[];
EXTCONST U32 PL_opargs[] = {
0x00000000, /* null */
0x00000000, /* stub */
- 0x00003604, /* scalar */
+ 0x00001b04, /* scalar */
0x00000004, /* pushmark */
- 0x00000014, /* wantarray */
- 0x00000c04, /* const */
- 0x00000c44, /* gvsv */
- 0x00000c44, /* gv */
- 0x00022440, /* gelem */
+ 0x00000004, /* wantarray */
+ 0x00000604, /* const */
+ 0x00000644, /* gvsv */
+ 0x00000644, /* gv */
+ 0x00011240, /* gelem */
0x00000044, /* padsv */
0x00000040, /* padav */
0x00000040, /* padhv */
0x00000040, /* padany */
- 0x00000a40, /* pushre */
- 0x00000244, /* rv2gv */
- 0x00000244, /* rv2sv */
- 0x00000214, /* av2arylen */
- 0x00000240, /* rv2cv */
- 0x00000c00, /* anoncode */
- 0x00003604, /* prototype */
- 0x00004201, /* refgen */
- 0x00002206, /* srefgen */
- 0x0001368c, /* ref */
- 0x00122804, /* bless */
- 0x00013688, /* backtick */
- 0x00012808, /* glob */
- 0x0001d608, /* readline */
- 0x00000c08, /* rcatline */
- 0x00002204, /* regcmaybe */
- 0x00002204, /* regcreset */
- 0x00002604, /* regcomp */
- 0x00000a40, /* match */
- 0x00000a04, /* qr */
- 0x00002a54, /* subst */
- 0x00000654, /* substcont */
- 0x00003014, /* trans */
+ 0x00000540, /* pushre */
+ 0x00000144, /* rv2gv */
+ 0x00000144, /* rv2sv */
+ 0x00000104, /* av2arylen */
+ 0x00000140, /* rv2cv */
+ 0x00000600, /* anoncode */
+ 0x00001b04, /* prototype */
+ 0x00002101, /* refgen */
+ 0x00001106, /* srefgen */
+ 0x00009b8c, /* ref */
+ 0x00091404, /* bless */
+ 0x00009b88, /* backtick */
+ 0x00009408, /* glob */
+ 0x0000eb08, /* readline */
+ 0x00000608, /* rcatline */
+ 0x00001104, /* regcmaybe */
+ 0x00001104, /* regcreset */
+ 0x00001304, /* regcomp */
+ 0x00000540, /* match */
+ 0x00000504, /* qr */
+ 0x00001544, /* subst */
+ 0x00000344, /* substcont */
+ 0x00001804, /* trans */
0x00000004, /* sassign */
- 0x00044408, /* aassign */
- 0x0000560d, /* chop */
- 0x0001368c, /* schop */
- 0x0000570d, /* chomp */
- 0x0001378c, /* schomp */
- 0x00013694, /* defined */
- 0x00013604, /* undef */
- 0x00013684, /* study */
- 0x0001368c, /* pos */
- 0x00002264, /* preinc */
- 0x00002254, /* i_preinc */
- 0x00002264, /* predec */
- 0x00002254, /* i_predec */
- 0x0000226c, /* postinc */
- 0x0000235c, /* i_postinc */
- 0x0000226c, /* postdec */
- 0x0000235c, /* i_postdec */
- 0x0002250e, /* pow */
- 0x0002252e, /* multiply */
- 0x0002251e, /* i_multiply */
- 0x0002252e, /* divide */
- 0x0002251e, /* i_divide */
- 0x0002253e, /* modulo */
- 0x0002251e, /* i_modulo */
- 0x00024409, /* repeat */
- 0x0002252e, /* add */
- 0x0002251e, /* i_add */
- 0x0002252e, /* subtract */
- 0x0002251e, /* i_subtract */
- 0x0002250e, /* concat */
- 0x0000290e, /* stringify */
- 0x0002250e, /* left_shift */
- 0x0002250e, /* right_shift */
- 0x00022436, /* lt */
- 0x00022416, /* i_lt */
- 0x00022436, /* gt */
- 0x00022416, /* i_gt */
- 0x00022436, /* le */
- 0x00022416, /* i_le */
- 0x00022436, /* ge */
- 0x00022416, /* i_ge */
- 0x00022436, /* eq */
- 0x00022416, /* i_eq */
- 0x00022436, /* ne */
- 0x00022416, /* i_ne */
- 0x0002243e, /* ncmp */
- 0x0002241e, /* i_ncmp */
- 0x00022416, /* slt */
- 0x00022416, /* sgt */
- 0x00022416, /* sle */
- 0x00022416, /* sge */
- 0x00022416, /* seq */
- 0x00022416, /* sne */
- 0x0002241e, /* scmp */
- 0x0002240e, /* bit_and */
- 0x0002240e, /* bit_xor */
- 0x0002240e, /* bit_or */
- 0x0000222e, /* negate */
- 0x0000231e, /* i_negate */
- 0x00002216, /* not */
- 0x0000220e, /* complement */
- 0x00000404, /* smartmatch */
- 0x0002290e, /* atan2 */
- 0x0001378e, /* sin */
- 0x0001378e, /* cos */
- 0x0001370c, /* rand */
- 0x00013604, /* srand */
- 0x0001378e, /* exp */
- 0x0001378e, /* log */
- 0x0001378e, /* sqrt */
- 0x0001378e, /* int */
- 0x0001378e, /* hex */
- 0x0001378e, /* oct */
- 0x0001378e, /* abs */
- 0x0001379e, /* length */
- 0x1322280c, /* substr */
- 0x0022281c, /* vec */
- 0x0122291c, /* index */
- 0x0122291c, /* rindex */
- 0x0004280f, /* sprintf */
- 0x00042805, /* formline */
- 0x0001379e, /* ord */
- 0x0001378e, /* chr */
- 0x0002290e, /* crypt */
- 0x0001368e, /* ucfirst */
- 0x0001368e, /* lcfirst */
- 0x0001368e, /* uc */
- 0x0001368e, /* lc */
- 0x0001368e, /* quotemeta */
- 0x00000248, /* rv2av */
- 0x00026c04, /* aelemfast */
- 0x00026404, /* aelem */
- 0x00046801, /* aslice */
- 0x00007600, /* aeach */
- 0x00007608, /* akeys */
- 0x00007608, /* avalues */
- 0x00009600, /* each */
- 0x00009608, /* values */
- 0x00009608, /* keys */
- 0x00003600, /* delete */
- 0x00003614, /* exists */
- 0x00000248, /* rv2hv */
- 0x00028404, /* helem */
- 0x00048801, /* hslice */
- 0x00009600, /* boolkeys */
- 0x00122800, /* unpack */
- 0x0004280d, /* pack */
- 0x00222808, /* split */
- 0x0004280d, /* join */
- 0x00004801, /* list */
- 0x00448400, /* lslice */
- 0x00004805, /* anonlist */
- 0x00004805, /* anonhash */
- 0x05326801, /* splice */
- 0x0004691d, /* push */
- 0x00017604, /* pop */
- 0x00017604, /* shift */
- 0x0004691d, /* unshift */
- 0x0005a841, /* sort */
- 0x00004809, /* reverse */
- 0x0004a841, /* grepstart */
- 0x00000648, /* grepwhile */
- 0x0004a841, /* mapstart */
- 0x00000648, /* mapwhile */
- 0x00022600, /* range */
- 0x00022200, /* flip */
- 0x00000200, /* flop */
- 0x00000600, /* and */
- 0x00000600, /* or */
- 0x00022406, /* xor */
- 0x00000600, /* dor */
- 0x00000640, /* cond_expr */
- 0x00000604, /* andassign */
- 0x00000604, /* orassign */
- 0x00000604, /* dorassign */
- 0x00000240, /* method */
- 0x00004249, /* entersub */
- 0x00000200, /* leavesub */
- 0x00000200, /* leavesublv */
- 0x00013608, /* caller */
- 0x0000481d, /* warn */
- 0x0000485d, /* die */
- 0x00013614, /* reset */
- 0x00000800, /* lineseq */
- 0x00001404, /* nextstate */
- 0x00001404, /* dbstate */
+ 0x00022208, /* aassign */
+ 0x00002b0d, /* chop */
+ 0x00009b8c, /* schop */
+ 0x00002b1d, /* chomp */
+ 0x00009b9c, /* schomp */
+ 0x00009b84, /* defined */
+ 0x00009b04, /* undef */
+ 0x00009b84, /* study */
+ 0x00009b8c, /* pos */
+ 0x00001164, /* preinc */
+ 0x00001144, /* i_preinc */
+ 0x00001164, /* predec */
+ 0x00001144, /* i_predec */
+ 0x0000116c, /* postinc */
+ 0x0000115c, /* i_postinc */
+ 0x0000116c, /* postdec */
+ 0x0000115c, /* i_postdec */
+ 0x0001121e, /* pow */
+ 0x0001123e, /* multiply */
+ 0x0001121e, /* i_multiply */
+ 0x0001123e, /* divide */
+ 0x0001121e, /* i_divide */
+ 0x0001123e, /* modulo */
+ 0x0001121e, /* i_modulo */
+ 0x00012209, /* repeat */
+ 0x0001123e, /* add */
+ 0x0001121e, /* i_add */
+ 0x0001123e, /* subtract */
+ 0x0001121e, /* i_subtract */
+ 0x0001121e, /* concat */
+ 0x0000141e, /* stringify */
+ 0x0001121e, /* left_shift */
+ 0x0001121e, /* right_shift */
+ 0x00011226, /* lt */
+ 0x00011206, /* i_lt */
+ 0x00011226, /* gt */
+ 0x00011206, /* i_gt */
+ 0x00011226, /* le */
+ 0x00011206, /* i_le */
+ 0x00011226, /* ge */
+ 0x00011206, /* i_ge */
+ 0x00011226, /* eq */
+ 0x00011206, /* i_eq */
+ 0x00011226, /* ne */
+ 0x00011206, /* i_ne */
+ 0x0001122e, /* ncmp */
+ 0x0001120e, /* i_ncmp */
+ 0x00011206, /* slt */
+ 0x00011206, /* sgt */
+ 0x00011206, /* sle */
+ 0x00011206, /* sge */
+ 0x00011206, /* seq */
+ 0x00011206, /* sne */
+ 0x0001120e, /* scmp */
+ 0x0001120e, /* bit_and */
+ 0x0001120e, /* bit_xor */
+ 0x0001120e, /* bit_or */
+ 0x0000112e, /* negate */
+ 0x0000111e, /* i_negate */
+ 0x00001106, /* not */
+ 0x0000110e, /* complement */
+ 0x00000204, /* smartmatch */
+ 0x0001141e, /* atan2 */
+ 0x00009b9e, /* sin */
+ 0x00009b9e, /* cos */
+ 0x00009b1c, /* rand */
+ 0x00009b1c, /* srand */
+ 0x00009b9e, /* exp */
+ 0x00009b9e, /* log */
+ 0x00009b9e, /* sqrt */
+ 0x00009b9e, /* int */
+ 0x00009b9e, /* hex */
+ 0x00009b9e, /* oct */
+ 0x00009b9e, /* abs */
+ 0x00009b9e, /* length */
+ 0x0991140c, /* substr */
+ 0x0011140c, /* vec */
+ 0x0091141c, /* index */
+ 0x0091141c, /* rindex */
+ 0x0002140f, /* sprintf */
+ 0x00021405, /* formline */
+ 0x00009b9e, /* ord */
+ 0x00009b9e, /* chr */
+ 0x0001141e, /* crypt */
+ 0x00009b8e, /* ucfirst */
+ 0x00009b8e, /* lcfirst */
+ 0x00009b8e, /* uc */
+ 0x00009b8e, /* lc */
+ 0x00009b8e, /* quotemeta */
+ 0x00000148, /* rv2av */
+ 0x00013604, /* aelemfast */
+ 0x00013204, /* aelem */
+ 0x00023401, /* aslice */
+ 0x00003b00, /* aeach */
+ 0x00003b08, /* akeys */
+ 0x00003b08, /* avalues */
+ 0x00004b00, /* each */
+ 0x00004b08, /* values */
+ 0x00004b08, /* keys */
+ 0x00001b00, /* delete */
+ 0x00001b04, /* exists */
+ 0x00000148, /* rv2hv */
+ 0x00014204, /* helem */
+ 0x00024401, /* hslice */
+ 0x00004b00, /* boolkeys */
+ 0x00091400, /* unpack */
+ 0x0002140d, /* pack */
+ 0x00111408, /* split */
+ 0x0002140d, /* join */
+ 0x00002401, /* list */
+ 0x00224200, /* lslice */
+ 0x00002405, /* anonlist */
+ 0x00002405, /* anonhash */
+ 0x02993401, /* splice */
+ 0x0002341d, /* push */
+ 0x0000bb04, /* pop */
+ 0x0000bb04, /* shift */
+ 0x0002341d, /* unshift */
+ 0x0002d441, /* sort */
+ 0x00002409, /* reverse */
+ 0x00025441, /* grepstart */
+ 0x00000348, /* grepwhile */
+ 0x00025441, /* mapstart */
+ 0x00000348, /* mapwhile */
+ 0x00011300, /* range */
+ 0x00011100, /* flip */
+ 0x00000100, /* flop */
+ 0x00000300, /* and */
+ 0x00000300, /* or */
+ 0x00011206, /* xor */
+ 0x00000300, /* dor */
+ 0x00000340, /* cond_expr */
+ 0x00000304, /* andassign */
+ 0x00000304, /* orassign */
+ 0x00000304, /* dorassign */
+ 0x00000140, /* method */
+ 0x00002149, /* entersub */
+ 0x00000100, /* leavesub */
+ 0x00000100, /* leavesublv */
+ 0x00009b08, /* caller */
+ 0x0000240d, /* warn */
+ 0x0000244d, /* die */
+ 0x00009b04, /* reset */
+ 0x00000400, /* lineseq */
+ 0x00000a04, /* nextstate */
+ 0x00000a04, /* dbstate */
0x00000004, /* unstack */
0x00000000, /* enter */
- 0x00000800, /* leave */
- 0x00000800, /* scope */
- 0x00001240, /* enteriter */
+ 0x00000400, /* leave */
+ 0x00000400, /* scope */
+ 0x00000940, /* enteriter */
0x00000000, /* iter */
- 0x00001240, /* enterloop */
- 0x00000400, /* leaveloop */
- 0x00004841, /* return */
- 0x00001a44, /* last */
- 0x00001a44, /* next */
- 0x00001a44, /* redo */
- 0x00001a44, /* dump */
- 0x00001a44, /* goto */
- 0x00013644, /* exit */
- 0x00000c40, /* method_named */
- 0x00000640, /* entergiven */
- 0x00000200, /* leavegiven */
- 0x00000640, /* enterwhen */
- 0x00000200, /* leavewhen */
+ 0x00000940, /* enterloop */
+ 0x00000200, /* leaveloop */
+ 0x00002441, /* return */
+ 0x00000d44, /* last */
+ 0x00000d44, /* next */
+ 0x00000d44, /* redo */
+ 0x00000d44, /* dump */
+ 0x00000d44, /* goto */
+ 0x00009b44, /* exit */
+ 0x00000640, /* method_named */
+ 0x00000340, /* entergiven */
+ 0x00000100, /* leavegiven */
+ 0x00000340, /* enterwhen */
+ 0x00000100, /* leavewhen */
0x00000000, /* break */
0x00000000, /* continue */
- 0x0052c81d, /* open */
- 0x0001d614, /* close */
- 0x000cc814, /* pipe_op */
- 0x0000d61c, /* fileno */
- 0x0001361c, /* umask */
- 0x0012c804, /* binmode */
- 0x0042e855, /* tie */
- 0x0000f614, /* untie */
- 0x0000f604, /* tied */
- 0x00228814, /* dbmopen */
- 0x00009614, /* dbmclose */
- 0x02222808, /* sselect */
- 0x0001c80c, /* select */
- 0x0001d60c, /* getc */
- 0x122ec81d, /* read */
- 0x0001d654, /* enterwrite */
- 0x00000200, /* leavewrite */
- 0x0005c815, /* prtf */
- 0x0005c815, /* print */
- 0x0005c815, /* say */
- 0x1222c804, /* sysopen */
- 0x0022c804, /* sysseek */
- 0x122ec81d, /* sysread */
- 0x1322c81d, /* syswrite */
- 0x0001d614, /* eof */
- 0x0001d60c, /* tell */
- 0x0022c804, /* seek */
- 0x00022814, /* truncate */
- 0x0022c80c, /* fcntl */
- 0x0022c80c, /* ioctl */
- 0x0002c91c, /* flock */
- 0x1222c81d, /* send */
- 0x022ec81d, /* recv */
- 0x0222c814, /* socket */
- 0x222cc814, /* sockpair */
- 0x0002c814, /* bind */
- 0x0002c814, /* connect */
- 0x0002c814, /* listen */
- 0x000cc81c, /* accept */
- 0x0002c81c, /* shutdown */
- 0x0022c814, /* gsockopt */
- 0x0222c814, /* ssockopt */
- 0x0000d614, /* getsockname */
- 0x0000d614, /* getpeername */
- 0x0000d880, /* lstat */
- 0x0000d880, /* stat */
- 0x0000d894, /* ftrread */
- 0x0000d894, /* ftrwrite */
- 0x0000d894, /* ftrexec */
- 0x0000d894, /* fteread */
- 0x0000d894, /* ftewrite */
- 0x0000d894, /* fteexec */
- 0x0000d894, /* ftis */
- 0x0000d89c, /* ftsize */
- 0x0000d88c, /* ftmtime */
- 0x0000d88c, /* ftatime */
- 0x0000d88c, /* ftctime */
- 0x0000d894, /* ftrowned */
- 0x0000d894, /* fteowned */
- 0x0000d894, /* ftzero */
- 0x0000d894, /* ftsock */
- 0x0000d894, /* ftchr */
- 0x0000d894, /* ftblk */
- 0x0000d894, /* ftfile */
- 0x0000d894, /* ftdir */
- 0x0000d894, /* ftpipe */
- 0x0000d894, /* ftsuid */
- 0x0000d894, /* ftsgid */
- 0x0000d894, /* ftsvtx */
- 0x0000d894, /* ftlink */
- 0x0000d814, /* fttty */
- 0x0000d894, /* fttext */
- 0x0000d894, /* ftbinary */
- 0x0001371c, /* chdir */
- 0x0000491d, /* chown */
- 0x0001379c, /* chroot */
- 0x0000499d, /* unlink */
- 0x0000491d, /* chmod */
- 0x0000491d, /* utime */
- 0x0002291c, /* rename */
- 0x0002291c, /* link */
- 0x0002291c, /* symlink */
- 0x0001368c, /* readlink */
- 0x0013299c, /* mkdir */
- 0x0001379c, /* rmdir */
- 0x0002c814, /* open_dir */
- 0x0000d600, /* readdir */
- 0x0000d60c, /* telldir */
- 0x0002c804, /* seekdir */
- 0x0000d604, /* rewinddir */
- 0x0000d614, /* closedir */
- 0x0000001c, /* fork */
- 0x0000011c, /* wait */
- 0x0002291c, /* waitpid */
- 0x0005291d, /* system */
- 0x0005295d, /* exec */
- 0x0000495d, /* kill */
- 0x0000011c, /* getppid */
- 0x0001371c, /* getpgrp */
- 0x0013291c, /* setpgrp */
- 0x0002291c, /* getpriority */
- 0x0022291c, /* setpriority */
- 0x0000011c, /* time */
+ 0x0029640d, /* open */
+ 0x0000eb04, /* close */
+ 0x00066404, /* pipe_op */
+ 0x00006b0c, /* fileno */
+ 0x00009b0c, /* umask */
+ 0x00096404, /* binmode */
+ 0x00217445, /* tie */
+ 0x00007b04, /* untie */
+ 0x00007b04, /* tied */
+ 0x00114404, /* dbmopen */
+ 0x00004b04, /* dbmclose */
+ 0x01111408, /* sselect */
+ 0x0000e40c, /* select */
+ 0x0000eb0c, /* getc */
+ 0x0917640d, /* read */
+ 0x0000eb44, /* enterwrite */
+ 0x00000100, /* leavewrite */
+ 0x0002e405, /* prtf */
+ 0x0002e405, /* print */
+ 0x0002e405, /* say */
+ 0x09116404, /* sysopen */
+ 0x00116404, /* sysseek */
+ 0x0917640d, /* sysread */
+ 0x0991640d, /* syswrite */
+ 0x0000eb04, /* eof */
+ 0x0000eb0c, /* tell */
+ 0x00116404, /* seek */
+ 0x00011404, /* truncate */
+ 0x0011640c, /* fcntl */
+ 0x0011640c, /* ioctl */
+ 0x0001641c, /* flock */
+ 0x0911640d, /* send */
+ 0x0117640d, /* recv */
+ 0x01116404, /* socket */
+ 0x11166404, /* sockpair */
+ 0x00016404, /* bind */
+ 0x00016404, /* connect */
+ 0x00016404, /* listen */
+ 0x0006640c, /* accept */
+ 0x0001640c, /* shutdown */
+ 0x00116404, /* gsockopt */
+ 0x01116404, /* ssockopt */
+ 0x00006b04, /* getsockname */
+ 0x00006b04, /* getpeername */
+ 0x00006c80, /* lstat */
+ 0x00006c80, /* stat */
+ 0x00006c84, /* ftrread */
+ 0x00006c84, /* ftrwrite */
+ 0x00006c84, /* ftrexec */
+ 0x00006c84, /* fteread */
+ 0x00006c84, /* ftewrite */
+ 0x00006c84, /* fteexec */
+ 0x00006c84, /* ftis */
+ 0x00006c8c, /* ftsize */
+ 0x00006c8c, /* ftmtime */
+ 0x00006c8c, /* ftatime */
+ 0x00006c8c, /* ftctime */
+ 0x00006c84, /* ftrowned */
+ 0x00006c84, /* fteowned */
+ 0x00006c84, /* ftzero */
+ 0x00006c84, /* ftsock */
+ 0x00006c84, /* ftchr */
+ 0x00006c84, /* ftblk */
+ 0x00006c84, /* ftfile */
+ 0x00006c84, /* ftdir */
+ 0x00006c84, /* ftpipe */
+ 0x00006c84, /* ftsuid */
+ 0x00006c84, /* ftsgid */
+ 0x00006c84, /* ftsvtx */
+ 0x00006c84, /* ftlink */
+ 0x00006c04, /* fttty */
+ 0x00006c84, /* fttext */
+ 0x00006c84, /* ftbinary */
+ 0x00009b1c, /* chdir */
+ 0x0000241d, /* chown */
+ 0x00009b9c, /* chroot */
+ 0x0000249d, /* unlink */
+ 0x0000241d, /* chmod */
+ 0x0000241d, /* utime */
+ 0x0001141c, /* rename */
+ 0x0001141c, /* link */
+ 0x0001141c, /* symlink */
+ 0x00009b8c, /* readlink */
+ 0x0009949c, /* mkdir */
+ 0x00009b9c, /* rmdir */
+ 0x00016404, /* open_dir */
+ 0x00006b00, /* readdir */
+ 0x00006b0c, /* telldir */
+ 0x00016404, /* seekdir */
+ 0x00006b04, /* rewinddir */
+ 0x00006b04, /* closedir */
+ 0x0000000c, /* fork */
+ 0x0000001c, /* wait */
+ 0x0001141c, /* waitpid */
+ 0x0002941d, /* system */
+ 0x0002945d, /* exec */
+ 0x0000245d, /* kill */
+ 0x0000001c, /* getppid */
+ 0x00009b1c, /* getpgrp */
+ 0x0009941c, /* setpgrp */
+ 0x0001141c, /* getpriority */
+ 0x0011141c, /* setpriority */
+ 0x0000001c, /* time */
0x00000000, /* tms */
- 0x00013608, /* localtime */
- 0x00013608, /* gmtime */
- 0x0001369c, /* alarm */
- 0x0001371c, /* sleep */
- 0x0022281d, /* shmget */
- 0x0022281d, /* shmctl */
- 0x0222281d, /* shmread */
- 0x0222281d, /* shmwrite */
- 0x0002281d, /* msgget */
- 0x0022281d, /* msgctl */
- 0x0022281d, /* msgsnd */
- 0x2222281d, /* msgrcv */
- 0x0002281d, /* semop */
- 0x0022281d, /* semget */
- 0x0222281d, /* semctl */
- 0x000136c0, /* require */
- 0x00002240, /* dofile */
- 0x00000c04, /* hintseval */
- 0x00003640, /* entereval */
- 0x00002200, /* leaveeval */
- 0x00001640, /* entertry */
- 0x00000800, /* leavetry */
- 0x00003600, /* ghbyname */
- 0x00022800, /* ghbyaddr */
+ 0x00009b08, /* localtime */
+ 0x00009b08, /* gmtime */
+ 0x00009b8c, /* alarm */
+ 0x00009b1c, /* sleep */
+ 0x0011140d, /* shmget */
+ 0x0011140d, /* shmctl */
+ 0x0111140d, /* shmread */
+ 0x0111140d, /* shmwrite */
+ 0x0001140d, /* msgget */
+ 0x0011140d, /* msgctl */
+ 0x0011140d, /* msgsnd */
+ 0x1111140d, /* msgrcv */
+ 0x0001140d, /* semop */
+ 0x0011140d, /* semget */
+ 0x0111140d, /* semctl */
+ 0x00009bc0, /* require */
+ 0x00001140, /* dofile */
+ 0x00000604, /* hintseval */
+ 0x00001b40, /* entereval */
+ 0x00001100, /* leaveeval */
+ 0x00000340, /* entertry */
+ 0x00000400, /* leavetry */
+ 0x00001b00, /* ghbyname */
+ 0x00011400, /* ghbyaddr */
0x00000000, /* ghostent */
- 0x00003600, /* gnbyname */
- 0x00022800, /* gnbyaddr */
+ 0x00001b00, /* gnbyname */
+ 0x00011400, /* gnbyaddr */
0x00000000, /* gnetent */
- 0x00003600, /* gpbyname */
- 0x00002800, /* gpbynumber */
+ 0x00001b00, /* gpbyname */
+ 0x00001400, /* gpbynumber */
0x00000000, /* gprotoent */
- 0x00022800, /* gsbyname */
- 0x00022800, /* gsbyport */
+ 0x00011400, /* gsbyname */
+ 0x00011400, /* gsbyport */
0x00000000, /* gservent */
- 0x00003614, /* shostent */
- 0x00003614, /* snetent */
- 0x00003614, /* sprotoent */
- 0x00003614, /* sservent */
- 0x00000014, /* ehostent */
- 0x00000014, /* enetent */
- 0x00000014, /* eprotoent */
- 0x00000014, /* eservent */
- 0x00003600, /* gpwnam */
- 0x00003600, /* gpwuid */
+ 0x00001b04, /* shostent */
+ 0x00001b04, /* snetent */
+ 0x00001b04, /* sprotoent */
+ 0x00001b04, /* sservent */
+ 0x00000004, /* ehostent */
+ 0x00000004, /* enetent */
+ 0x00000004, /* eprotoent */
+ 0x00000004, /* eservent */
+ 0x00001b00, /* gpwnam */
+ 0x00001b00, /* gpwuid */
0x00000000, /* gpwent */
- 0x00000014, /* spwent */
- 0x00000014, /* epwent */
- 0x00003600, /* ggrnam */
- 0x00003600, /* ggrgid */
+ 0x00000004, /* spwent */
+ 0x00000004, /* epwent */
+ 0x00001b00, /* ggrnam */
+ 0x00001b00, /* ggrgid */
0x00000000, /* ggrent */
- 0x00000014, /* sgrent */
- 0x00000014, /* egrent */
+ 0x00000004, /* sgrent */
+ 0x00000004, /* egrent */
0x0000000c, /* getlogin */
- 0x0004281d, /* syscall */
- 0x0000f604, /* lock */
- 0x00000600, /* once */
+ 0x0002140d, /* syscall */
+ 0x00007b04, /* lock */
+ 0x00000300, /* once */
0x00000000, /* custom */
+ 0x00001b00, /* reach */
+ 0x00001b08, /* rkeys */
+ 0x00001b08, /* rvalues */
+ 0x00001804, /* transr */
};
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/opnames.h b/Master/tlpkg/tlperl/lib/CORE/opnames.h
index d63e548bdef..f3fab8b1f86 100644
--- a/Master/tlpkg/tlperl/lib/CORE/opnames.h
+++ b/Master/tlpkg/tlperl/lib/CORE/opnames.h
@@ -2,16 +2,15 @@
*
* opnames.h
*
- * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008 by Larry Wall and others
+ * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+ * 2008 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- *
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by opcode.pl from its data. Any changes made here
- * will be lost!
+ * This file is built by regen/opcode.pl from its data.
+ * Any changes made here will be lost!
*/
typedef enum opcode {
@@ -381,17 +380,18 @@ typedef enum opcode {
OP_LOCK = 363,
OP_ONCE = 364,
OP_CUSTOM = 365,
+ OP_REACH = 366,
+ OP_RKEYS = 367,
+ OP_RVALUES = 368,
+ OP_TRANSR = 369,
OP_max
} opcode;
-#define MAXO 366
-#define OP_phoney_INPUT_ONLY -1
-#define OP_phoney_OUTPUT_ONLY -2
-
+#define MAXO 370
/* the OP_IS_(SOCKET|FILETEST) macros are optimized to a simple range
check because all the member OPs are contiguous in opcode.pl
- <DATA> table. opcode.pl verifies the range contiguity. */
+ <OPS> table. opcode.pl verifies the range contiguity. */
#define OP_IS_SOCKET(op) \
((op) >= OP_SEND && (op) <= OP_GETPEERNAME)
diff --git a/Master/tlpkg/tlperl/lib/CORE/overload.h b/Master/tlpkg/tlperl/lib/CORE/overload.h
index bbef5cb9a0c..24cde2ad131 100644
--- a/Master/tlpkg/tlperl/lib/CORE/overload.h
+++ b/Master/tlpkg/tlperl/lib/CORE/overload.h
@@ -2,89 +2,91 @@
*
* overload.h
*
- * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007 by Larry Wall
- * and others
+ * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
+ * by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by overload.pl
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/overload.pl.
+ * Any changes made here will be lost!
*/
enum {
- fallback_amg,
- to_sv_amg,
- to_av_amg,
- to_hv_amg,
- to_gv_amg,
- to_cv_amg,
- inc_amg,
- dec_amg,
- bool__amg,
- numer_amg,
- string_amg,
- not_amg,
- copy_amg,
- abs_amg,
- neg_amg,
- iter_amg,
- int_amg,
- lt_amg,
- le_amg,
- gt_amg,
- ge_amg,
- eq_amg,
- ne_amg,
- slt_amg,
- sle_amg,
- sgt_amg,
- sge_amg,
- seq_amg,
- sne_amg,
- nomethod_amg,
- add_amg,
- add_ass_amg,
- subtr_amg,
- subtr_ass_amg,
- mult_amg,
- mult_ass_amg,
- div_amg,
- div_ass_amg,
- modulo_amg,
- modulo_ass_amg,
- pow_amg,
- pow_ass_amg,
- lshift_amg,
- lshift_ass_amg,
- rshift_amg,
- rshift_ass_amg,
- band_amg,
- band_ass_amg,
- bor_amg,
- bor_ass_amg,
- bxor_amg,
- bxor_ass_amg,
- ncmp_amg,
- scmp_amg,
- compl_amg,
- atan2_amg,
- cos_amg,
- sin_amg,
- exp_amg,
- log_amg,
- sqrt_amg,
- repeat_amg,
- repeat_ass_amg,
- concat_amg,
- concat_ass_amg,
- smart_amg,
- ftest_amg,
- regexp_amg,
- DESTROY_amg,
+ fallback_amg, /* 0x00 fallback */
+ to_sv_amg, /* 0x01 ${} */
+ to_av_amg, /* 0x02 @{} */
+ to_hv_amg, /* 0x03 %{} */
+ to_gv_amg, /* 0x04 *{} */
+ to_cv_amg, /* 0x05 &{} */
+ inc_amg, /* 0x06 ++ */
+ dec_amg, /* 0x07 -- */
+ bool__amg, /* 0x08 bool */
+ numer_amg, /* 0x09 0+ */
+ string_amg, /* 0x0a "" */
+ not_amg, /* 0x0b ! */
+ copy_amg, /* 0x0c = */
+ abs_amg, /* 0x0d abs */
+ neg_amg, /* 0x0e neg */
+ iter_amg, /* 0x0f <> */
+ int_amg, /* 0x10 int */
+ lt_amg, /* 0x11 < */
+ le_amg, /* 0x12 <= */
+ gt_amg, /* 0x13 > */
+ ge_amg, /* 0x14 >= */
+ eq_amg, /* 0x15 == */
+ ne_amg, /* 0x16 != */
+ slt_amg, /* 0x17 lt */
+ sle_amg, /* 0x18 le */
+ sgt_amg, /* 0x19 gt */
+ sge_amg, /* 0x1a ge */
+ seq_amg, /* 0x1b eq */
+ sne_amg, /* 0x1c ne */
+ nomethod_amg, /* 0x1d nomethod */
+ add_amg, /* 0x1e + */
+ add_ass_amg, /* 0x1f += */
+ subtr_amg, /* 0x20 - */
+ subtr_ass_amg, /* 0x21 -= */
+ mult_amg, /* 0x22 * */
+ mult_ass_amg, /* 0x23 *= */
+ div_amg, /* 0x24 / */
+ div_ass_amg, /* 0x25 /= */
+ modulo_amg, /* 0x26 % */
+ modulo_ass_amg, /* 0x27 %= */
+ pow_amg, /* 0x28 ** */
+ pow_ass_amg, /* 0x29 **= */
+ lshift_amg, /* 0x2a << */
+ lshift_ass_amg, /* 0x2b <<= */
+ rshift_amg, /* 0x2c >> */
+ rshift_ass_amg, /* 0x2d >>= */
+ band_amg, /* 0x2e & */
+ band_ass_amg, /* 0x2f &= */
+ bor_amg, /* 0x30 | */
+ bor_ass_amg, /* 0x31 |= */
+ bxor_amg, /* 0x32 ^ */
+ bxor_ass_amg, /* 0x33 ^= */
+ ncmp_amg, /* 0x34 <=> */
+ scmp_amg, /* 0x35 cmp */
+ compl_amg, /* 0x36 ~ */
+ atan2_amg, /* 0x37 atan2 */
+ cos_amg, /* 0x38 cos */
+ sin_amg, /* 0x39 sin */
+ exp_amg, /* 0x3a exp */
+ log_amg, /* 0x3b log */
+ sqrt_amg, /* 0x3c sqrt */
+ repeat_amg, /* 0x3d x */
+ repeat_ass_amg, /* 0x3e x= */
+ concat_amg, /* 0x3f . */
+ concat_ass_amg, /* 0x40 .= */
+ smart_amg, /* 0x41 ~~ */
+ ftest_amg, /* 0x42 -X */
+ regexp_amg, /* 0x43 qr */
+ DESTROY_amg, /* 0x44 DESTROY */
max_amg_code
/* Do not leave a trailing comma here. C9X allows it, C89 doesn't. */
};
#define NofAMmeth max_amg_code
+/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/pad.h b/Master/tlpkg/tlperl/lib/CORE/pad.h
index 8602eda7f78..dec267ae27b 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pad.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pad.h
@@ -31,6 +31,12 @@ typedef U64TYPE PADOFFSET;
#endif
#define NOT_IN_PAD ((PADOFFSET) -1)
+/* a value that PL_cop_seqmax is guaranteed never to be,
+ * flagging that a lexical is being introduced, or has not yet left scope
+ */
+#define PERL_PADSEQ_INTRO U32_MAX
+
+
/* B.xs needs these for the benefit of B::Deparse */
/* Low range end is exclusive (valid from the cop seq after this one) */
/* High range end is inclusive (valid up to this cop seq) */
diff --git a/Master/tlpkg/tlperl/lib/CORE/parser.h b/Master/tlpkg/tlperl/lib/CORE/parser.h
index 4ef460836cc..17ced8f073a 100644
--- a/Master/tlpkg/tlperl/lib/CORE/parser.h
+++ b/Master/tlpkg/tlperl/lib/CORE/parser.h
@@ -39,7 +39,7 @@ typedef struct yy_parser {
/* lexer state */
- I32 lex_brackets; /* bracket count */
+ I32 lex_brackets; /* square and curly bracket count */
I32 lex_casemods; /* casemod count */
char *lex_brackstack;/* what kind of brackets to pop */
char *lex_casestack; /* what kind of case mods in effect */
@@ -61,7 +61,7 @@ typedef struct yy_parser {
char multi_close; /* delimiter of said string */
char pending_ident; /* pending identifier lookup */
bool preambled;
- /* XXX I32 space */
+ I32 lex_allbrackets;/* (), [], {}, ?: bracket count */
SUBLEXINFO sublex_info;
SV *linestr; /* current chunk of src text */
char *bufptr;
@@ -105,11 +105,35 @@ typedef struct yy_parser {
COP *saved_curcop; /* the previous PL_curcop */
char tokenbuf[256];
+ bool in_pod; /* lexer is within a =pod section */
+ U8 lex_fakeeof; /* precedence at which to fake EOF */
} yy_parser;
/* flags for lexer API */
#define LEX_STUFF_UTF8 0x00000001
#define LEX_KEEP_PREVIOUS 0x00000002
+#ifdef PERL_CORE
+# define LEX_START_SAME_FILTER 0x00000001
+#endif
+
+/* flags for parser API */
+#define PARSE_OPTIONAL 0x00000001
+
+/* values for lex_fakeeof */
+enum {
+ LEX_FAKEEOF_NEVER, /* don't fake EOF */
+ LEX_FAKEEOF_CLOSING, /* fake EOF at unmatched closing punctuation */
+ LEX_FAKEEOF_NONEXPR, /* ... and at token that can't be in expression */
+ LEX_FAKEEOF_LOWLOGIC, /* ... and at low-precedence logic operator */
+ LEX_FAKEEOF_COMMA, /* ... and at comma */
+ LEX_FAKEEOF_ASSIGN, /* ... and at assignment operator */
+ LEX_FAKEEOF_IFELSE, /* ... and at ?: operator */
+ LEX_FAKEEOF_RANGE, /* ... and at range operator */
+ LEX_FAKEEOF_LOGIC, /* ... and at logic operator */
+ LEX_FAKEEOF_BITWISE, /* ... and at bitwise operator */
+ LEX_FAKEEOF_COMPARE, /* ... and at comparison operator */
+ LEX_FAKEEOF_MAX
+};
/*
* Local variables:
diff --git a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
index af54dc98daf..5dc2a53beb1 100644
--- a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
+++ b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
@@ -14,8 +14,8 @@
* exactly on the third column */
#define PERL_REVISION 5 /* age */
-#define PERL_VERSION 12 /* epoch */
-#define PERL_SUBVERSION 3 /* generation */
+#define PERL_VERSION 14 /* epoch */
+#define PERL_SUBVERSION 2 /* generation */
/* The following numbers describe the earliest compatible version of
Perl ("compatibility" here being defined as sufficient binary/API
@@ -26,13 +26,17 @@
options such as usemultiplicity tend to break binary compatibility
more often.
- This is used by Configure et al to figure out
+ This is used by Configure et al to figure out
PERL_INC_VERSION_LIST, which lists version libraries
to include in @INC. See INSTALL for how this works.
+
+ Porting/bump-perl-version will automatically set these to the version of perl
+ to be released for blead releases, and to 5.X.0 for maint releases. Manually
+ changing them should not be necessary.
*/
-#define PERL_API_REVISION 5 /* Adjust manually as needed. */
-#define PERL_API_VERSION 12 /* Adjust manually as needed. */
-#define PERL_API_SUBVERSION 0 /* Adjust manually as needed. */
+#define PERL_API_REVISION 5
+#define PERL_API_VERSION 14
+#define PERL_API_SUBVERSION 0
/*
XXX Note: The selection of non-default Configure options, such
as -Duselonglong may invalidate these settings. Currently, Configure
@@ -66,8 +70,8 @@
+ ,"MINE001 - my new patch"
,NULL
};
-
- please change it to
+
+ please change it to
*** patchlevel.h.orig <date here>
--- patchlevel.h <date here>
*** 41,43 ***
@@ -75,7 +79,7 @@
+ ,"MINE001 - my new patch"
,NULL
};
-
+
(Note changes to line numbers as well as removal of context lines.)
This will prevent patch from choking if someone has previously
applied different patches than you.
@@ -92,6 +96,8 @@ my $seen=0;
while (<PLIN>) {
if (/\t,NULL/ and $seen) {
while (my $c = shift @ARGV){
+ $c =~ s|\\|\\\\|g;
+ $c =~ s|"|\\"|g;
print PLOUT qq{\t,"$c"\n};
}
}
diff --git a/Master/tlpkg/tlperl/lib/CORE/perl.h b/Master/tlpkg/tlperl/lib/CORE/perl.h
index 5988e7845a8..facdacfbf49 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perl.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perl.h
@@ -140,6 +140,18 @@
# define EXTERN_C extern
#endif
+/* Fallback definitions in case we don't have definitions from config.h.
+ This should only matter for systems that don't use Configure and
+ haven't been modified to define PERL_STATIC_INLINE yet.
+*/
+#if !defined(PERL_STATIC_INLINE)
+# ifdef HAS_STATIC_INLINE
+# define PERL_STATIC_INLINE static inline
+# else
+# define PERL_STATIC_INLINE static
+# endif
+#endif
+
#ifdef PERL_GLOBAL_STRUCT
# ifndef PERL_GET_VARS
# ifdef PERL_GLOBAL_STRUCT_PRIVATE
@@ -198,6 +210,13 @@
#endif
#define STATIC static
+
+#ifndef PERL_CORE
+/* Do not use these macros. They were part of PERL_OBJECT, which was an
+ * implementation of multiplicity using C++ objects. They have been left
+ * here solely for the sake of XS code which has incorrectly
+ * cargo-culted them.
+ */
#define CPERLscope(x) x
#define CPERLarg void
#define CPERLarg_
@@ -206,76 +225,77 @@
#define _PERL_OBJECT_THIS
#define PERL_OBJECT_THIS_
#define CALL_FPTR(fptr) (*fptr)
+#define MEMBER_TO_FPTR(name) name
+#endif /* !PERL_CORE */
-#define CALLRUNOPS CALL_FPTR(PL_runops)
+#define CALLRUNOPS PL_runops
#define CALLREGCOMP(sv, flags) Perl_pregcomp(aTHX_ (sv),(flags))
-#define CALLREGCOMP_ENG(prog, sv, flags) \
- CALL_FPTR(((prog)->comp))(aTHX_ sv, flags)
+#define CALLREGCOMP_ENG(prog, sv, flags) (prog)->comp(aTHX_ sv, flags)
#define CALLREGEXEC(prog,stringarg,strend,strbeg,minend,screamer,data,flags) \
- CALL_FPTR(RX_ENGINE(prog)->exec)(aTHX_ (prog),(stringarg),(strend), \
+ RX_ENGINE(prog)->exec(aTHX_ (prog),(stringarg),(strend), \
(strbeg),(minend),(screamer),(data),(flags))
#define CALLREG_INTUIT_START(prog,sv,strpos,strend,flags,data) \
- CALL_FPTR(RX_ENGINE(prog)->intuit)(aTHX_ (prog), (sv), (strpos), \
+ RX_ENGINE(prog)->intuit(aTHX_ (prog), (sv), (strpos), \
(strend),(flags),(data))
#define CALLREG_INTUIT_STRING(prog) \
- CALL_FPTR(RX_ENGINE(prog)->checkstr)(aTHX_ (prog))
+ RX_ENGINE(prog)->checkstr(aTHX_ (prog))
#define CALLREGFREE(prog) \
Perl_pregfree(aTHX_ (prog))
#define CALLREGFREE_PVT(prog) \
- if(prog) CALL_FPTR(RX_ENGINE(prog)->free)(aTHX_ (prog))
+ if(prog) RX_ENGINE(prog)->free(aTHX_ (prog))
#define CALLREG_NUMBUF_FETCH(rx,paren,usesv) \
- CALL_FPTR(RX_ENGINE(rx)->numbered_buff_FETCH)(aTHX_ (rx),(paren),(usesv))
+ RX_ENGINE(rx)->numbered_buff_FETCH(aTHX_ (rx),(paren),(usesv))
#define CALLREG_NUMBUF_STORE(rx,paren,value) \
- CALL_FPTR(RX_ENGINE(rx)->numbered_buff_STORE)(aTHX_ (rx),(paren),(value))
+ RX_ENGINE(rx)->numbered_buff_STORE(aTHX_ (rx),(paren),(value))
#define CALLREG_NUMBUF_LENGTH(rx,sv,paren) \
- CALL_FPTR(RX_ENGINE(rx)->numbered_buff_LENGTH)(aTHX_ (rx),(sv),(paren))
+ RX_ENGINE(rx)->numbered_buff_LENGTH(aTHX_ (rx),(sv),(paren))
#define CALLREG_NAMED_BUFF_FETCH(rx, key, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), (key), NULL, ((flags) | RXapif_FETCH))
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), (key), NULL, ((flags) | RXapif_FETCH))
#define CALLREG_NAMED_BUFF_STORE(rx, key, value, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), (key), (value), ((flags) | RXapif_STORE))
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), (key), (value), ((flags) | RXapif_STORE))
#define CALLREG_NAMED_BUFF_DELETE(rx, key, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx),(key), NULL, ((flags) | RXapif_DELETE))
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx),(key), NULL, ((flags) | RXapif_DELETE))
#define CALLREG_NAMED_BUFF_CLEAR(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_CLEAR))
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_CLEAR))
#define CALLREG_NAMED_BUFF_EXISTS(rx, key, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), (key), NULL, ((flags) | RXapif_EXISTS))
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), (key), NULL, ((flags) | RXapif_EXISTS))
#define CALLREG_NAMED_BUFF_FIRSTKEY(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff_iter)(aTHX_ (rx), NULL, ((flags) | RXapif_FIRSTKEY))
+ RX_ENGINE(rx)->named_buff_iter(aTHX_ (rx), NULL, ((flags) | RXapif_FIRSTKEY))
#define CALLREG_NAMED_BUFF_NEXTKEY(rx, lastkey, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff_iter)(aTHX_ (rx), (lastkey), ((flags) | RXapif_NEXTKEY))
+ RX_ENGINE(rx)->named_buff_iter(aTHX_ (rx), (lastkey), ((flags) | RXapif_NEXTKEY))
#define CALLREG_NAMED_BUFF_SCALAR(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_SCALAR))
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_SCALAR))
#define CALLREG_NAMED_BUFF_COUNT(rx) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, RXapif_REGNAMES_COUNT)
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, RXapif_REGNAMES_COUNT)
#define CALLREG_NAMED_BUFF_ALL(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, flags)
+ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, flags)
#define CALLREG_PACKAGE(rx) \
- CALL_FPTR(RX_ENGINE(rx)->qr_package)(aTHX_ (rx))
+ RX_ENGINE(rx)->qr_package(aTHX_ (rx))
#if defined(USE_ITHREADS)
#define CALLREGDUPE(prog,param) \
Perl_re_dup(aTHX_ (prog),(param))
#define CALLREGDUPE_PVT(prog,param) \
- (prog ? CALL_FPTR(RX_ENGINE(prog)->dupe)(aTHX_ (prog),(param)) \
+ (prog ? RX_ENGINE(prog)->dupe(aTHX_ (prog),(param)) \
: (REGEXP *)NULL)
#endif
@@ -521,6 +541,15 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
#define TAINT_ENV() if (PL_tainting) { taint_env(); }
#define TAINT_PROPER(s) if (PL_tainting) { taint_proper(NULL, s); }
+/* flags used internally only within pp_subst and pp_substcont */
+#ifdef PERL_CORE
+# define SUBST_TAINT_STR 1 /* string tainted */
+# define SUBST_TAINT_PAT 2 /* pattern tainted */
+# define SUBST_TAINT_REPL 4 /* replacement tainted */
+# define SUBST_TAINT_RETAINT 8 /* use re'taint' in scope */
+# define SUBST_TAINT_BOOLRET 16 /* return is boolean (don't taint) */
+#endif
+
/* XXX All process group stuff is handled in pp_sys.c. Should these
defines move there? If so, I could simplify this a lot. --AD 9/96.
*/
@@ -571,7 +600,7 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# endif
#endif
-/* HP-UX 10.X CMA (Common Multithreaded Architecure) insists that
+/* HP-UX 10.X CMA (Common Multithreaded Architecture) insists that
pthread.h must be included before all other header files.
*/
#if defined(USE_ITHREADS) && defined(PTHREAD_H_FIRST) && defined(I_PTHREAD)
@@ -967,6 +996,14 @@ EXTERN_C int usleep(unsigned int);
#define PERL_STRLEN_ROUNDUP_QUANTUM Size_t_size
#endif
+/* sv_grow() will expand strings by at least a certain percentage of
+ the previously *used* length to avoid excessive calls to realloc().
+ The default is 25% of the current length.
+*/
+#ifndef PERL_STRLEN_EXPAND_SHIFT
+# define PERL_STRLEN_EXPAND_SHIFT 2
+#endif
+
#if defined(STANDARD_C) && defined(I_STDDEF)
# include <stddef.h>
# define STRUCT_OFFSET(s,m) offsetof(s,m)
@@ -2198,7 +2235,7 @@ int isnan(double d);
# include <limits.h>
#endif
/* Included values.h above if necessary; still including limits.h down here,
- * despite doing above, because math.h might have overriden... XXX - Allen */
+ * despite doing above, because math.h might have overridden... XXX - Allen */
/*
* Try to figure out max and min values for the integral types. THE CORRECT
@@ -2359,10 +2396,6 @@ int isnan(double d);
#endif
-#ifdef MYMALLOC
-# include "malloc_ctl.h"
-#endif
-
struct RExC_state_t;
struct _reg_trie_data;
@@ -2385,6 +2418,9 @@ typedef struct padop PADOP;
typedef struct pvop PVOP;
typedef struct loop LOOP;
+typedef struct block_hooks BHK;
+typedef struct custom_op XOP;
+
typedef struct interpreter PerlInterpreter;
/* Amdahl's <ksync.h> has struct sv */
@@ -2398,7 +2434,6 @@ typedef struct STRUCT_SV SV;
typedef struct av AV;
typedef struct hv HV;
typedef struct cv CV;
-typedef struct regexp ORANGE; /* This is the body structure. */
typedef struct p5rx REGEXP;
typedef struct gp GP;
typedef struct gv GV;
@@ -3094,10 +3129,6 @@ typedef pthread_key_t perl_key;
#define PERL_EXIT_EXPECTED 0x01
#define PERL_EXIT_DESTRUCT_END 0x02 /* Run END in perl_destruct */
-#ifndef MEMBER_TO_FPTR
-# define MEMBER_TO_FPTR(name) name
-#endif
-
#ifndef PERL_CORE
/* format to use for version numbers in file/directory names */
/* XXX move to Configure? */
@@ -3154,7 +3185,7 @@ typedef pthread_key_t perl_key;
All that is required is that the perl source does not
use "%-p" or "%-<number>p" or "%<number>p" formats.
These formats will still work in perl code.
- See comments in sv.c for futher details.
+ See comments in sv.c for further details.
Robin Barker 2005-07-14
@@ -3180,7 +3211,7 @@ typedef pthread_key_t perl_key;
#define SVfARG(p) ((void*)(p))
#ifdef PERL_CORE
-/* not used; but needed for backward compatibilty with XS code? - RMB */
+/* not used; but needed for backward compatibility with XS code? - RMB */
# undef VDf
#else
# ifndef VDf
@@ -3189,7 +3220,7 @@ typedef pthread_key_t perl_key;
#endif
#ifdef PERL_CORE
-/* not used; but needed for backward compatibilty with XS code? - RMB */
+/* not used; but needed for backward compatibility with XS code? - RMB */
# undef UVf
#else
# ifndef UVf
@@ -3197,14 +3228,6 @@ typedef pthread_key_t perl_key;
# endif
#endif
-#if !defined(PERL_CORE) && !defined(PERL_NO_SHORT_NAMES)
-# if defined(PERL_IMPLICIT_CONTEXT)
-# define pmflag(a,b) Perl_pmflag(aTHX_ a,b)
-# else
-# define pmflag Perl_pmflag
-# endif
-#endif
-
#ifdef HASATTRIBUTE_DEPRECATED
# define __attribute__deprecated__ __attribute__((deprecated))
#endif
@@ -3332,6 +3355,7 @@ union any {
void* any_ptr;
I32 any_i32;
IV any_iv;
+ UV any_uv;
long any_long;
bool any_bool;
void (*any_dptr) (void*);
@@ -3432,6 +3456,10 @@ struct nexttoken {
#include "warnings.h"
#include "utf8.h"
+/* these would be in doio.h if there was such a file */
+#define my_stat() my_stat_flags(SV_GMAGIC)
+#define my_lstat() my_lstat_flags(SV_GMAGIC)
+
/* defined in sv.c, but also used in [ach]v.c */
#undef _XPV_HEAD
#undef _XPVMG_HEAD
@@ -3453,9 +3481,6 @@ typedef struct magic_state MGS; /* struct magic_state defined in mg.c */
struct scan_data_t; /* Used in S_* functions in regcomp.c */
struct regnode_charclass_class; /* Used in S_* functions in regcomp.c */
-/* Keep next first in this structure, because sv_free_arenas take
- advantage of this to share code between the pte arenas and the SV
- body arenas */
struct ptr_tbl_ent {
struct ptr_tbl_ent* next;
const void* oldval;
@@ -3466,6 +3491,9 @@ struct ptr_tbl {
struct ptr_tbl_ent** tbl_ary;
UV tbl_max;
UV tbl_items;
+ struct ptr_tbl_arena *tbl_arena;
+ struct ptr_tbl_ent *tbl_arena_next;
+ struct ptr_tbl_ent *tbl_arena_end;
};
#if defined(iAPX286) || defined(M_I286) || defined(I80286)
@@ -3679,6 +3707,7 @@ Gid_t getegid (void);
# define DEBUG_B_TEST_ (PL_debug & DEBUG_B_FLAG)
# define DEBUG_Xv_TEST_ (DEBUG_X_TEST_ && DEBUG_v_TEST_)
# define DEBUG_Uv_TEST_ (DEBUG_U_TEST_ && DEBUG_v_TEST_)
+# define DEBUG_Pv_TEST_ (DEBUG_P_TEST_ && DEBUG_v_TEST_)
#ifdef DEBUGGING
@@ -3709,6 +3738,7 @@ Gid_t getegid (void);
# define DEBUG_B_TEST DEBUG_B_TEST_
# define DEBUG_Xv_TEST DEBUG_Xv_TEST_
# define DEBUG_Uv_TEST DEBUG_Uv_TEST_
+# define DEBUG_Pv_TEST DEBUG_Pv_TEST_
# define PERL_DEB(a) a
# define PERL_DEBUG(a) if (PL_debug) a
@@ -3746,6 +3776,7 @@ Gid_t getegid (void);
# define DEBUG_D(a) DEBUG__(DEBUG_D_TEST, a)
# define DEBUG_Xv(a) DEBUG__(DEBUG_Xv_TEST, a)
# define DEBUG_Uv(a) DEBUG__(DEBUG_Uv_TEST, a)
+# define DEBUG_Pv(a) DEBUG__(DEBUG_Pv_TEST, a)
# define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a)
# define DEBUG_R(a) DEBUG__(DEBUG_R_TEST, a)
@@ -3785,6 +3816,7 @@ Gid_t getegid (void);
# define DEBUG_B_TEST (0)
# define DEBUG_Xv_TEST (0)
# define DEBUG_Uv_TEST (0)
+# define DEBUG_Pv_TEST (0)
# define PERL_DEB(a)
# define PERL_DEBUG(a)
@@ -3814,12 +3846,15 @@ Gid_t getegid (void);
# define DEBUG_B(a)
# define DEBUG_Xv(a)
# define DEBUG_Uv(a)
+# define DEBUG_Pv(a)
#endif /* DEBUGGING */
#define DEBUG_SCOPE(where) \
- DEBUG_l(WITH_THR(Perl_deb(aTHX_ "%s scope %ld at %s:%d\n", \
- where, (long)PL_scopestack_ix, __FILE__, __LINE__)));
+ DEBUG_l( \
+ Perl_deb(aTHX_ "%s scope %ld (savestack=%ld) at %s:%d\n", \
+ where, (long)PL_scopestack_ix, (long)PL_savestack_ix, \
+ __FILE__, __LINE__));
@@ -3876,6 +3911,7 @@ Gid_t getegid (void);
#define PERL_MAGIC_rhash '%' /* extra data for restricted hashes */
#define PERL_MAGIC_arylen_p '@' /* to move arylen out of XPVAV */
#define PERL_MAGIC_ext '~' /* Available for use by extensions */
+#define PERL_MAGIC_checkcall ']' /* inlining/mutation of call to this CV */
#if defined(DEBUGGING) && defined(I_ASSERT)
# include <assert.h>
@@ -4189,14 +4225,12 @@ struct perl_memory_debug_header {
# endif
#endif
-typedef int (CPERLscope(*runops_proc_t)) (pTHX);
-typedef void (CPERLscope(*share_proc_t)) (pTHX_ SV *sv);
-typedef int (CPERLscope(*thrhook_proc_t)) (pTHX);
-typedef OP* (CPERLscope(*PPADDR_t)[]) (pTHX);
-typedef bool (CPERLscope(*destroyable_proc_t)) (pTHX_ SV *sv);
-
-/* _ (for $_) must be first in the following list (DEFSV requires it) */
-#define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@"
+typedef int (*runops_proc_t)(pTHX);
+typedef void (*share_proc_t) (pTHX_ SV *sv);
+typedef int (*thrhook_proc_t) (pTHX);
+typedef OP* (*PPADDR_t[]) (pTHX);
+typedef bool (*destroyable_proc_t) (pTHX_ SV *sv);
+typedef void (*despatch_signals_proc_t) (pTHX);
/* NeXT has problems with crt0.o globals */
#if defined(__DYNAMIC__) && \
@@ -4292,45 +4326,16 @@ EXTCONST char* const PL_sig_name[];
EXTCONST int PL_sig_num[];
#endif
-/* fast conversion and case folding tables */
+/* fast conversion and case folding tables. The folding tables complement the
+ * fold, so that 'a' maps to 'A' and 'A' maps to 'a', ignoring more complicated
+ * folds such as outside the range or to multiple characters. */
#ifdef DOINIT
-#ifdef EBCDIC
-EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table */
- 0, 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, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
- 'H', 'I', 138, 139, 140, 141, 142, 143,
- 144, 'J', 'K', 'L', 'M', 'N', 'O', 'P',
- 'Q', 'R', 154, 155, 156, 157, 158, 159,
- 160, 161, 'S', 'T', 'U', 'V', 'W', 'X',
- 'Y', 'Z', 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
- 'h', 'i', 202, 203, 204, 205, 206, 207,
- 208, 'j', 'k', 'l', 'm', 'n', 'o', 'p',
- 'q', 'r', 218, 219, 220, 221, 222, 223,
- 224, 225, 's', 't', 'u', 'v', 'w', 'x',
- 'y', 'z', 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255
-};
-#else /* ascii rather than ebcdic */
+#ifndef EBCDIC
+
+/* The EBCDIC fold table depends on the code page, and hence is found in
+ * utfebcdic.h */
+
EXTCONST unsigned char PL_fold[] = {
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
@@ -4365,6 +4370,49 @@ EXTCONST unsigned char PL_fold[] = {
240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255
};
+EXTCONST unsigned char PL_fold_latin1[] = {
+ /* Full latin1 complement folding, except for three problematic code points:
+ * Micro sign (181 = 0xB5) and y with diearesis (255 = 0xFF) have their
+ * fold complements outside the Latin1 range, so can't match something
+ * that isn't in utf8.
+ * German lower case sharp s (223 = 0xDF) folds to two characters, 'ss',
+ * not one, so can't be represented in this table.
+ *
+ * All have to be specially handled */
+ 0, 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, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
+ 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
+ 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
+ 'x', 'y', 'z', 91, 92, 93, 94, 95,
+ 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
+ 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
+ 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
+ 'X', 'Y', 'Z', 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 /*micro */, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191,
+ 192+32, 193+32, 194+32, 195+32, 196+32, 197+32, 198+32, 199+32,
+ 200+32, 201+32, 202+32, 203+32, 204+32, 205+32, 206+32, 207+32,
+ 208+32, 209+32, 210+32, 211+32, 212+32, 213+32, 214+32, 215,
+ 216+32, 217+32, 218+32, 219+32, 220+32, 221+32, 222+32, 223 /* ss */,
+ 224-32, 225-32, 226-32, 227-32, 228-32, 229-32, 230-32, 231-32,
+ 232-32, 233-32, 234-32, 235-32, 236-32, 237-32, 238-32, 239-32,
+ 240-32, 241-32, 242-32, 243-32, 244-32, 245-32, 246-32, 247,
+ 248-32, 249-32, 250-32, 251-32, 252-32, 253-32, 254-32,
+ 255 /* y with diaeresis */
+};
#endif /* !EBCDIC, but still in DOINIT */
/* If these tables are accessed through ebcdic, the access will be converted to
@@ -4442,6 +4490,7 @@ EXTCONST unsigned char PL_mod_latin1_uc[] = {
};
#else /* ! DOINIT */
EXTCONST unsigned char PL_fold[];
+EXTCONST unsigned char PL_fold_latin1[];
EXTCONST unsigned char PL_mod_latin1_uc[];
EXTCONST unsigned char PL_latin1_lc[];
#endif
@@ -4677,18 +4726,51 @@ EXTCONST char PL_bincompat_options[] =
# endif
# ifdef VMS_DO_SOCKETS
" VMS_DO_SOCKETS"
-# ifdef DECCRTL_SOCKETS
- " DECCRTL_SOCKETS"
-# endif
# endif
# ifdef VMS_WE_ARE_CASE_SENSITIVE
" VMS_SYMBOL_CASE_AS_IS"
# endif
+# ifdef VMS_SHORTEN_LONG_SYMBOLS
+ " VMS_SHORTEN_LONG_SYMBOLS"
+# endif
"";
#else
EXTCONST char PL_bincompat_options[];
#endif
+/* The interpreter phases. If these ever change, PL_phase_names right below will
+ * need to be updated accordingly. */
+enum perl_phase {
+ PERL_PHASE_CONSTRUCT = 0,
+ PERL_PHASE_START = 1,
+ PERL_PHASE_CHECK = 2,
+ PERL_PHASE_INIT = 3,
+ PERL_PHASE_RUN = 4,
+ PERL_PHASE_END = 5,
+ PERL_PHASE_DESTRUCT = 6
+};
+
+#ifdef DOINIT
+EXTCONST char *const PL_phase_names[] = {
+ "CONSTRUCT",
+ "START",
+ "CHECK",
+ "INIT",
+ "RUN",
+ "END",
+ "DESTRUCT"
+};
+#else
+EXTCONST char *const PL_phase_names[];
+#endif
+
+#ifndef PERL_CORE
+/* Do not use this macro. It only exists for extensions that rely on PL_dirty
+ * instead of using the newer PL_phase, which provides everything PL_dirty
+ * provided, and more. */
+# define PL_dirty (PL_phase == PERL_PHASE_DESTRUCT)
+#endif /* !PERL_CORE */
+
END_EXTERN_C
/*****************************************************************************/
@@ -4793,6 +4875,8 @@ enum { /* pass one of these to get_vtbl */
#define HINT_NO_AMAGIC 0x01000000 /* overloading pragma */
+#define HINT_RE_FLAGS 0x02000000 /* re '/xism' pragma */
+
/* The following are stored in $^H{sort}, not in PL_hints */
#define HINT_SORT_SORT_BITS 0x000000FF /* allow 256 different ones */
#define HINT_SORT_QUICKSORT 0x00000001
@@ -4819,18 +4903,19 @@ struct perl_debug_pad {
PERL_DEBUG_PAD(i))
/* Enable variables which are pointers to functions */
-typedef void (CPERLscope(*peep_t))(pTHX_ OP* o);
-typedef regexp*(CPERLscope(*regcomp_t)) (pTHX_ char* exp, char* xend, PMOP* pm);
-typedef I32 (CPERLscope(*regexec_t)) (pTHX_ regexp* prog, char* stringarg,
+typedef void (*peep_t)(pTHX_ OP* o);
+typedef regexp* (*regcomp_t) (pTHX_ char* exp, char* xend, PMOP* pm);
+typedef I32 (*regexec_t) (pTHX_ regexp* prog, char* stringarg,
char* strend, char* strbeg, I32 minend,
SV* screamer, void* data, U32 flags);
-typedef char* (CPERLscope(*re_intuit_start_t)) (pTHX_ regexp *prog, SV *sv,
+typedef char* (*re_intuit_start_t) (pTHX_ regexp *prog, SV *sv,
char *strpos, char *strend,
U32 flags,
re_scream_pos_data *d);
-typedef SV* (CPERLscope(*re_intuit_string_t)) (pTHX_ regexp *prog);
-typedef void (CPERLscope(*regfree_t)) (pTHX_ struct regexp* r);
-typedef regexp*(CPERLscope(*regdupe_t)) (pTHX_ const regexp* r, CLONE_PARAMS *param);
+typedef SV* (*re_intuit_string_t) (pTHX_ regexp *prog);
+typedef void (*regfree_t) (pTHX_ struct regexp* r);
+typedef regexp* (*regdupe_t) (pTHX_ const regexp* r, CLONE_PARAMS *param);
+typedef I32 (*re_fold_t)(const char *, char const *, I32);
typedef void (*DESTRUCTORFUNC_NOCONTEXT_t) (void*);
typedef void (*DESTRUCTORFUNC_t) (pTHX_ void*);
@@ -4847,10 +4932,11 @@ typedef void (*XSUBADDR_t) (pTHX_ CV *);
#define PERLVARIC(var,type,init) type var;
#define PERLVARISC(var,init) const char var[sizeof(init)];
-typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX);
-typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
-typedef void(CPERLscope(*Perl_ophook_t))(pTHX_ OP*);
-typedef int (CPERLscope(*Perl_keyword_plugin_t))(pTHX_ char*, STRLEN, OP**);
+typedef OP* (*Perl_ppaddr_t)(pTHX);
+typedef OP* (*Perl_check_t) (pTHX_ OP*);
+typedef void(*Perl_ophook_t)(pTHX_ OP*);
+typedef int (*Perl_keyword_plugin_t)(pTHX_ char*, STRLEN, OP**);
+typedef void(*Perl_cpeep_t)(pTHX_ OP *, OP *);
#define KEYWORD_PLUGIN_DECLINE 0
#define KEYWORD_PLUGIN_STMT 1
@@ -4880,6 +4966,10 @@ typedef struct exitlistentry {
STRINGIFY(PERL_VERSION) "." \
STRINGIFY(PERL_SUBVERSION)
+#define PERL_API_VERSION_STRING STRINGIFY(PERL_API_REVISION) "." \
+ STRINGIFY(PERL_API_VERSION) "." \
+ STRINGIFY(PERL_API_SUBVERSION)
+
#ifdef PERL_GLOBAL_STRUCT
struct perl_vars {
# include "perlvars.h"
@@ -4943,6 +5033,10 @@ struct tempsym; /* defined in pp_pack.c */
#define PERL_CKDEF(s) PERL_CALLCONV OP *s (pTHX_ OP *o);
#define PERL_PPDEF(s) PERL_CALLCONV OP *s (pTHX);
+#ifdef MYMALLOC
+# include "malloc_ctl.h"
+#endif
+
#include "proto.h"
/* this has structure inits, so it cannot be included before here */
@@ -5030,11 +5124,24 @@ START_EXTERN_C
* not the same beast. ANSI doesn't allow the assignment from one to the other.
* (although most, but not all, compilers are prepared to do it)
*/
+
+/* args are:
+ vtable
+ get
+ set
+ len
+ clear
+ free
+ copy
+ dup
+ local
+*/
+
MGVTBL_SET(
PL_vtbl_sv,
- MEMBER_TO_FPTR(Perl_magic_get),
- MEMBER_TO_FPTR(Perl_magic_set),
- MEMBER_TO_FPTR(Perl_magic_len),
+ Perl_magic_get,
+ Perl_magic_set,
+ Perl_magic_len,
0,
0,
0,
@@ -5045,9 +5152,9 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_env,
0,
- MEMBER_TO_FPTR(Perl_magic_set_all_env),
+ Perl_magic_set_all_env,
0,
- MEMBER_TO_FPTR(Perl_magic_clear_all_env),
+ Perl_magic_clear_all_env,
0,
0,
0,
@@ -5057,9 +5164,9 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_envelem,
0,
- MEMBER_TO_FPTR(Perl_magic_setenv),
+ Perl_magic_setenv,
0,
- MEMBER_TO_FPTR(Perl_magic_clearenv),
+ Perl_magic_clearenv,
0,
0,
0,
@@ -5094,10 +5201,10 @@ MGVTBL_SET(
#else
MGVTBL_SET(
PL_vtbl_sigelem,
- MEMBER_TO_FPTR(Perl_magic_getsig),
- MEMBER_TO_FPTR(Perl_magic_setsig),
+ Perl_magic_getsig,
+ Perl_magic_setsig,
0,
- MEMBER_TO_FPTR(Perl_magic_clearsig),
+ Perl_magic_clearsig,
0,
0,
0,
@@ -5109,8 +5216,8 @@ MGVTBL_SET(
PL_vtbl_pack,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_sizepack),
- MEMBER_TO_FPTR(Perl_magic_wipepack),
+ Perl_magic_sizepack,
+ Perl_magic_wipepack,
0,
0,
0,
@@ -5119,10 +5226,10 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_packelem,
- MEMBER_TO_FPTR(Perl_magic_getpack),
- MEMBER_TO_FPTR(Perl_magic_setpack),
+ Perl_magic_getpack,
+ Perl_magic_setpack,
0,
- MEMBER_TO_FPTR(Perl_magic_clearpack),
+ Perl_magic_clearpack,
0,
0,
0,
@@ -5132,7 +5239,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_dbline,
0,
- MEMBER_TO_FPTR(Perl_magic_setdbline),
+ Perl_magic_setdbline,
0,
0,
0,
@@ -5144,9 +5251,9 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_isa,
0,
- MEMBER_TO_FPTR(Perl_magic_setisa),
+ Perl_magic_setisa,
0,
- MEMBER_TO_FPTR(Perl_magic_clearisa),
+ Perl_magic_clearisa,
0,
0,
0,
@@ -5156,7 +5263,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_isaelem,
0,
- MEMBER_TO_FPTR(Perl_magic_setisa),
+ Perl_magic_setisa,
0,
0,
0,
@@ -5167,8 +5274,8 @@ MGVTBL_SET(
MGVTBL_SET_CONST_MAGIC_GET(
PL_vtbl_arylen,
- MEMBER_TO_FPTR(Perl_magic_getarylen),
- MEMBER_TO_FPTR(Perl_magic_setarylen),
+ Perl_magic_getarylen,
+ Perl_magic_setarylen,
0,
0,
0,
@@ -5183,7 +5290,7 @@ MGVTBL_SET(
0,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_freearylen_p),
+ Perl_magic_freearylen_p,
0,
0,
0
@@ -5192,7 +5299,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_mglob,
0,
- MEMBER_TO_FPTR(Perl_magic_setmglob),
+ Perl_magic_setmglob,
0,
0,
0,
@@ -5203,8 +5310,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_nkeys,
- MEMBER_TO_FPTR(Perl_magic_getnkeys),
- MEMBER_TO_FPTR(Perl_magic_setnkeys),
+ Perl_magic_getnkeys,
+ Perl_magic_setnkeys,
0,
0,
0,
@@ -5215,8 +5322,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_taint,
- MEMBER_TO_FPTR(Perl_magic_gettaint),
- MEMBER_TO_FPTR(Perl_magic_settaint),
+ Perl_magic_gettaint,
+ Perl_magic_settaint,
0,
0,
0,
@@ -5227,8 +5334,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_substr,
- MEMBER_TO_FPTR(Perl_magic_getsubstr),
- MEMBER_TO_FPTR(Perl_magic_setsubstr),
+ Perl_magic_getsubstr,
+ Perl_magic_setsubstr,
0,
0,
0,
@@ -5239,8 +5346,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_vec,
- MEMBER_TO_FPTR(Perl_magic_getvec),
- MEMBER_TO_FPTR(Perl_magic_setvec),
+ Perl_magic_getvec,
+ Perl_magic_setvec,
0,
0,
0,
@@ -5251,8 +5358,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_pos,
- MEMBER_TO_FPTR(Perl_magic_getpos),
- MEMBER_TO_FPTR(Perl_magic_setpos),
+ Perl_magic_getpos,
+ Perl_magic_setpos,
0,
0,
0,
@@ -5264,7 +5371,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_bm,
0,
- MEMBER_TO_FPTR(Perl_magic_setregexp),
+ Perl_magic_setregexp,
0,
0,
0,
@@ -5276,7 +5383,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_fm,
0,
- MEMBER_TO_FPTR(Perl_magic_setregexp),
+ Perl_magic_setregexp,
0,
0,
0,
@@ -5287,8 +5394,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_uvar,
- MEMBER_TO_FPTR(Perl_magic_getuvar),
- MEMBER_TO_FPTR(Perl_magic_setuvar),
+ Perl_magic_getuvar,
+ Perl_magic_setuvar,
0,
0,
0,
@@ -5299,8 +5406,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_defelem,
- MEMBER_TO_FPTR(Perl_magic_getdefelem),
- MEMBER_TO_FPTR(Perl_magic_setdefelem),
+ Perl_magic_getdefelem,
+ Perl_magic_setdefelem,
0,
0,
0,
@@ -5312,7 +5419,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_regexp,
0,
- MEMBER_TO_FPTR(Perl_magic_setregexp),
+ Perl_magic_setregexp,
0,
0,
0,
@@ -5325,7 +5432,7 @@ MGVTBL_SET(
PL_vtbl_regdata,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_regdata_cnt),
+ Perl_magic_regdata_cnt,
0,
0,
0,
@@ -5335,8 +5442,8 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_regdatum,
- MEMBER_TO_FPTR(Perl_magic_regdatum_get),
- MEMBER_TO_FPTR(Perl_magic_regdatum_set),
+ Perl_magic_regdatum_get,
+ Perl_magic_regdatum_set,
0,
0,
0,
@@ -5348,10 +5455,10 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_amagic,
0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
+ Perl_magic_setamagic,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
+ Perl_magic_setamagic,
0,
0,
0
@@ -5360,10 +5467,10 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_amagicelem,
0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
+ Perl_magic_setamagic,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
+ Perl_magic_setamagic,
0,
0,
0
@@ -5375,7 +5482,7 @@ MGVTBL_SET(
0,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_killbackrefs),
+ Perl_magic_killbackrefs,
0,
0,
0
@@ -5387,7 +5494,7 @@ MGVTBL_SET(
0,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_freeovrld),
+ Perl_magic_freeovrld,
0,
0,
0
@@ -5396,7 +5503,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_utf8,
0,
- MEMBER_TO_FPTR(Perl_magic_setutf8),
+ Perl_magic_setutf8,
0,
0,
0,
@@ -5408,7 +5515,7 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_collxfrm,
0,
- MEMBER_TO_FPTR(Perl_magic_setcollxfrm),
+ Perl_magic_setcollxfrm,
0,
0,
0,
@@ -5421,9 +5528,9 @@ MGVTBL_SET(
MGVTBL_SET(
PL_vtbl_hintselem,
0,
- MEMBER_TO_FPTR(Perl_magic_sethint),
+ Perl_magic_sethint,
0,
- MEMBER_TO_FPTR(Perl_magic_clearhint),
+ Perl_magic_clearhint,
0,
0,
0,
@@ -5435,7 +5542,7 @@ MGVTBL_SET(
0,
0,
0,
- MEMBER_TO_FPTR(Perl_magic_clearhints),
+ Perl_magic_clearhints,
0,
0,
0,
@@ -5525,7 +5632,7 @@ typedef struct am_table_short AMTS;
#define PERLDBf_NAMEEVAL 0x100 /* Informative names for evals */
#define PERLDBf_NAMEANON 0x200 /* Informative names for anon subs */
#define PERLDBf_SAVESRC 0x400 /* Save source lines into @{"_<$filename"} */
-#define PERLDBf_SAVESRC_NOSUBS 0x800 /* Including evals that generate no subrouties */
+#define PERLDBf_SAVESRC_NOSUBS 0x800 /* Including evals that generate no subroutines */
#define PERLDBf_SAVESRC_INVALID 0x1000 /* Save source that did not compile */
#define PERLDB_SUB (PL_perldb && (PL_perldb & PERLDBf_SUB))
@@ -5682,7 +5789,7 @@ typedef struct am_table_short AMTS;
#ifndef PERL_MICRO
# ifndef PERL_ASYNC_CHECK
-# define PERL_ASYNC_CHECK() if (PL_sig_pending) despatch_signals()
+# define PERL_ASYNC_CHECK() if (PL_sig_pending) PL_signalhook(aTHX)
# endif
#endif
@@ -5756,98 +5863,72 @@ typedef struct am_table_short AMTS;
#if defined(PERL_IMPLICIT_CONTEXT)
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-
-/* This must appear in all extensions that define a my_cxt_t structure,
+/* START_MY_CXT must appear in all extensions that define a my_cxt_t structure,
* right after the definition (i.e. at file scope). The non-threads
* case below uses it to declare the data as static. */
-#define START_MY_CXT
-#define MY_CXT_INDEX Perl_my_cxt_index(aTHX_ MY_CXT_KEY)
+# ifdef PERL_GLOBAL_STRUCT_PRIVATE
+# define START_MY_CXT
+# define MY_CXT_INDEX Perl_my_cxt_index(aTHX_ MY_CXT_KEY)
+# define MY_CXT_INIT_ARG MY_CXT_KEY
+# else
+# define START_MY_CXT static int my_cxt_index = -1;
+# define MY_CXT_INDEX my_cxt_index
+# define MY_CXT_INIT_ARG &my_cxt_index
+# endif /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */
/* Creates and zeroes the per-interpreter data.
* (We allocate my_cxtp in a Perl SV so that it will be released when
* the interpreter goes away.) */
-#define MY_CXT_INIT \
+# define MY_CXT_INIT \
my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_KEY, sizeof(my_cxt_t))
-#define MY_CXT_INIT_INTERP(my_perl) \
+ (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_INIT_ARG, sizeof(my_cxt_t))
+# define MY_CXT_INIT_INTERP(my_perl) \
my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_KEY, sizeof(my_cxt_t))
+ (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_INIT_ARG, sizeof(my_cxt_t))
/* This declaration should be used within all functions that use the
* interpreter-local data. */
-#define dMY_CXT \
+# define dMY_CXT \
my_cxt_t *my_cxtp = (my_cxt_t *)PL_my_cxt_list[MY_CXT_INDEX]
-#define dMY_CXT_INTERP(my_perl) \
+# define dMY_CXT_INTERP(my_perl) \
my_cxt_t *my_cxtp = (my_cxt_t *)(my_perl)->Imy_cxt_list[MY_CXT_INDEX]
/* Clones the per-interpreter data. */
-#define MY_CXT_CLONE \
+# define MY_CXT_CLONE \
my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
Copy(PL_my_cxt_list[MY_CXT_INDEX], my_cxtp, 1, my_cxt_t);\
PL_my_cxt_list[MY_CXT_INDEX] = my_cxtp \
-#else /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */
-
-/* This must appear in all extensions that define a my_cxt_t structure,
- * right after the definition (i.e. at file scope). The non-threads
- * case below uses it to declare the data as static. */
-#define START_MY_CXT static int my_cxt_index = -1;
-
-/* This declaration should be used within all functions that use the
- * interpreter-local data. */
-#define dMY_CXT \
- my_cxt_t *my_cxtp = (my_cxt_t *)PL_my_cxt_list[my_cxt_index]
-#define dMY_CXT_INTERP(my_perl) \
- my_cxt_t *my_cxtp = (my_cxt_t *)(my_perl)->Imy_cxt_list[my_cxt_index]
-
-/* Creates and zeroes the per-interpreter data.
- * (We allocate my_cxtp in a Perl SV so that it will be released when
- * the interpreter goes away.) */
-#define MY_CXT_INIT \
- my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(aTHX_ &my_cxt_index, sizeof(my_cxt_t))
-#define MY_CXT_INIT_INTERP(my_perl) \
- my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(my_perl, &my_cxt_index, sizeof(my_cxt_t))
-
-/* Clones the per-interpreter data. */
-#define MY_CXT_CLONE \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Copy(PL_my_cxt_list[my_cxt_index], my_cxtp, 1, my_cxt_t);\
- PL_my_cxt_list[my_cxt_index] = my_cxtp \
-
-#endif /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */
/* This macro must be used to access members of the my_cxt_t structure.
* e.g. MYCXT.some_data */
-#define MY_CXT (*my_cxtp)
+# define MY_CXT (*my_cxtp)
/* Judicious use of these macros can reduce the number of times dMY_CXT
* is used. Use is similar to pTHX, aTHX etc. */
-#define pMY_CXT my_cxt_t *my_cxtp
-#define pMY_CXT_ pMY_CXT,
-#define _pMY_CXT ,pMY_CXT
-#define aMY_CXT my_cxtp
-#define aMY_CXT_ aMY_CXT,
-#define _aMY_CXT ,aMY_CXT
+# define pMY_CXT my_cxt_t *my_cxtp
+# define pMY_CXT_ pMY_CXT,
+# define _pMY_CXT ,pMY_CXT
+# define aMY_CXT my_cxtp
+# define aMY_CXT_ aMY_CXT,
+# define _aMY_CXT ,aMY_CXT
#else /* PERL_IMPLICIT_CONTEXT */
-#define START_MY_CXT static my_cxt_t my_cxt;
-#define dMY_CXT_SV dNOOP
-#define dMY_CXT dNOOP
-#define dMY_CXT_INTERP(my_perl) dNOOP
-#define MY_CXT_INIT NOOP
-#define MY_CXT_CLONE NOOP
-#define MY_CXT my_cxt
-
-#define pMY_CXT void
-#define pMY_CXT_
-#define _pMY_CXT
-#define aMY_CXT
-#define aMY_CXT_
-#define _aMY_CXT
+# define START_MY_CXT static my_cxt_t my_cxt;
+# define dMY_CXT_SV dNOOP
+# define dMY_CXT dNOOP
+# define dMY_CXT_INTERP(my_perl) dNOOP
+# define MY_CXT_INIT NOOP
+# define MY_CXT_CLONE NOOP
+# define MY_CXT my_cxt
+
+# define pMY_CXT void
+# define pMY_CXT_
+# define _pMY_CXT
+# define aMY_CXT
+# define aMY_CXT_
+# define _aMY_CXT
#endif /* !defined(PERL_IMPLICIT_CONTEXT) */
@@ -6013,36 +6094,6 @@ extern void moncontrol(int);
#define PERL_SIGNALS_UNSAFE_FLAG 0x0001
-/* From sigaction(2) (FreeBSD man page):
- * | Signal routines normally execute with the signal that
- * | caused their invocation blocked, but other signals may
- * | yet occur.
- * Emulation of this behavior (from within Perl) is enabled
- * by defining PERL_BLOCK_SIGNALS.
- */
-#define PERL_BLOCK_SIGNALS
-
-#if defined(HAS_SIGPROCMASK) && defined(PERL_BLOCK_SIGNALS)
-# define PERL_BLOCKSIG_ADD(set,sig) \
- sigset_t set; sigemptyset(&(set)); sigaddset(&(set), sig)
-# define PERL_BLOCKSIG_BLOCK(set) \
- sigprocmask(SIG_BLOCK, &(set), NULL)
-# define PERL_BLOCKSIG_UNBLOCK(set) \
- sigprocmask(SIG_UNBLOCK, &(set), NULL)
-#endif /* HAS_SIGPROCMASK && PERL_BLOCK_SIGNALS */
-
-/* How about the old style of sigblock()? */
-
-#ifndef PERL_BLOCKSIG_ADD
-# define PERL_BLOCKSIG_ADD(set, sig) NOOP
-#endif
-#ifndef PERL_BLOCKSIG_BLOCK
-# define PERL_BLOCKSIG_BLOCK(set) NOOP
-#endif
-#ifndef PERL_BLOCKSIG_UNBLOCK
-# define PERL_BLOCKSIG_UNBLOCK(set) NOOP
-#endif
-
/* Use instead of abs() since abs() forces its argument to be an int,
* but also beware since this evaluates its argument twice, so no x++. */
#define PERL_ABS(x) ((x) < 0 ? -(x) : (x))
@@ -6083,6 +6134,7 @@ extern void moncontrol(int);
#define PERL_PV_ESCAPE_UNI 0x0100
#define PERL_PV_ESCAPE_UNI_DETECT 0x0200
+#define PERL_PV_ESCAPE_NONASCII 0x0400
#define PERL_PV_ESCAPE_ALL 0x1000
#define PERL_PV_ESCAPE_NOBACKSLASH 0x2000
@@ -6093,7 +6145,15 @@ extern void moncontrol(int);
/* used by pv_display in dump.c*/
#define PERL_PV_PRETTY_DUMP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE
-#define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE
+#define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII
+
+#ifdef PERL_CORE
+# define FEATURE_IS_ENABLED(name) \
+ ((0 != (PL_hints & HINT_LOCALIZE_HH)) \
+ && Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)))
+/* The longest string we pass in. */
+# define MAX_FEATURE_LEN (sizeof("unicode_strings")-1)
+#endif
/*
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlapi.h b/Master/tlpkg/tlperl/lib/CORE/perlapi.h
index 54ddab03108..d7d55d6d97e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlapi.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlapi.h
@@ -1,16 +1,16 @@
-/* -*- buffer-read-only: t -*-
+/* -*- buffer-read-only: t -*-
*
* perlapi.h
*
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
+ * This file is built by regen/embed.pl from data in embed.fnc,
+ * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
* Any changes made here will be lost!
*
* Edit those files and run 'make regen_headers' to effect changes.
@@ -20,7 +20,7 @@
#ifndef __perlapi_h__
#define __perlapi_h__
-#if defined (MULTIPLICITY)
+#if defined (MULTIPLICITY) && defined (PERL_GLOBAL_STRUCT)
START_EXTERN_C
@@ -37,7 +37,6 @@ START_EXTERN_C
#define PERLVARISC(v,i) typedef const char PL_##v##_t[sizeof(i)]; \
EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#include "intrpvar.h"
#include "perlvars.h"
#undef PERLVAR
@@ -46,20 +45,11 @@ START_EXTERN_C
#undef PERLVARIC
#undef PERLVARISC
-#ifndef PERL_GLOBAL_STRUCT
-EXTERN_C Perl_ppaddr_t** Perl_Gppaddr_ptr(pTHX);
-EXTERN_C Perl_check_t** Perl_Gcheck_ptr(pTHX);
-EXTERN_C unsigned char** Perl_Gfold_locale_ptr(pTHX);
-#define Perl_ppaddr_ptr Perl_Gppaddr_ptr
-#define Perl_check_ptr Perl_Gcheck_ptr
-#define Perl_fold_locale_ptr Perl_Gfold_locale_ptr
-#endif
-
END_EXTERN_C
#if defined(PERL_CORE)
-/* accessor functions for Perl variables (provide binary compatibility) */
+/* accessor functions for Perl "global" variables */
/* these need to be mentioned here, or most linkers won't put them in
the perl executable */
@@ -95,7 +85,6 @@ EXTCONST void * const PL_force_link_funcs[] = {
#pragma message disable (nonstandcast)
#endif
-#include "intrpvar.h"
#include "perlvars.h"
#if defined(__DECC) && defined(__osf__)
@@ -116,656 +105,14 @@ END_EXTERN_C
#else /* !PERL_CORE */
-#undef PL_Argv
-#define PL_Argv (*Perl_IArgv_ptr(aTHX))
-#undef PL_Cmd
-#define PL_Cmd (*Perl_ICmd_ptr(aTHX))
-#undef PL_DBcv
-#define PL_DBcv (*Perl_IDBcv_ptr(aTHX))
-#undef PL_DBgv
-#define PL_DBgv (*Perl_IDBgv_ptr(aTHX))
-#undef PL_DBline
-#define PL_DBline (*Perl_IDBline_ptr(aTHX))
-#undef PL_DBsignal
-#define PL_DBsignal (*Perl_IDBsignal_ptr(aTHX))
-#undef PL_DBsingle
-#define PL_DBsingle (*Perl_IDBsingle_ptr(aTHX))
-#undef PL_DBsub
-#define PL_DBsub (*Perl_IDBsub_ptr(aTHX))
-#undef PL_DBtrace
-#define PL_DBtrace (*Perl_IDBtrace_ptr(aTHX))
-#undef PL_Dir
-#define PL_Dir (*Perl_IDir_ptr(aTHX))
-#undef PL_Env
-#define PL_Env (*Perl_IEnv_ptr(aTHX))
-#undef PL_LIO
-#define PL_LIO (*Perl_ILIO_ptr(aTHX))
-#undef PL_Mem
-#define PL_Mem (*Perl_IMem_ptr(aTHX))
-#undef PL_MemParse
-#define PL_MemParse (*Perl_IMemParse_ptr(aTHX))
-#undef PL_MemShared
-#define PL_MemShared (*Perl_IMemShared_ptr(aTHX))
-#undef PL_OpPtr
-#define PL_OpPtr (*Perl_IOpPtr_ptr(aTHX))
-#undef PL_OpSlab
-#define PL_OpSlab (*Perl_IOpSlab_ptr(aTHX))
-#undef PL_OpSpace
-#define PL_OpSpace (*Perl_IOpSpace_ptr(aTHX))
-#undef PL_Proc
-#define PL_Proc (*Perl_IProc_ptr(aTHX))
-#undef PL_Sock
-#define PL_Sock (*Perl_ISock_ptr(aTHX))
-#undef PL_StdIO
-#define PL_StdIO (*Perl_IStdIO_ptr(aTHX))
-#undef PL_Sv
-#define PL_Sv (*Perl_ISv_ptr(aTHX))
-#undef PL_Xpv
-#define PL_Xpv (*Perl_IXpv_ptr(aTHX))
-#undef PL_amagic_generation
-#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(aTHX))
-#undef PL_an
-#define PL_an (*Perl_Ian_ptr(aTHX))
-#undef PL_argvgv
-#define PL_argvgv (*Perl_Iargvgv_ptr(aTHX))
-#undef PL_argvout_stack
-#define PL_argvout_stack (*Perl_Iargvout_stack_ptr(aTHX))
-#undef PL_argvoutgv
-#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(aTHX))
-#undef PL_basetime
-#define PL_basetime (*Perl_Ibasetime_ptr(aTHX))
-#undef PL_beginav
-#define PL_beginav (*Perl_Ibeginav_ptr(aTHX))
-#undef PL_beginav_save
-#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHX))
-#undef PL_body_arenas
-#define PL_body_arenas (*Perl_Ibody_arenas_ptr(aTHX))
-#undef PL_body_roots
-#define PL_body_roots (*Perl_Ibody_roots_ptr(aTHX))
-#undef PL_bodytarget
-#define PL_bodytarget (*Perl_Ibodytarget_ptr(aTHX))
-#undef PL_breakable_sub_gen
-#define PL_breakable_sub_gen (*Perl_Ibreakable_sub_gen_ptr(aTHX))
-#undef PL_checkav
-#define PL_checkav (*Perl_Icheckav_ptr(aTHX))
-#undef PL_checkav_save
-#define PL_checkav_save (*Perl_Icheckav_save_ptr(aTHX))
-#undef PL_chopset
-#define PL_chopset (*Perl_Ichopset_ptr(aTHX))
-#undef PL_clocktick
-#define PL_clocktick (*Perl_Iclocktick_ptr(aTHX))
-#undef PL_collation_ix
-#define PL_collation_ix (*Perl_Icollation_ix_ptr(aTHX))
-#undef PL_collation_name
-#define PL_collation_name (*Perl_Icollation_name_ptr(aTHX))
-#undef PL_collation_standard
-#define PL_collation_standard (*Perl_Icollation_standard_ptr(aTHX))
-#undef PL_collxfrm_base
-#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(aTHX))
-#undef PL_collxfrm_mult
-#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(aTHX))
-#undef PL_colors
-#define PL_colors (*Perl_Icolors_ptr(aTHX))
-#undef PL_colorset
-#define PL_colorset (*Perl_Icolorset_ptr(aTHX))
-#undef PL_compcv
-#define PL_compcv (*Perl_Icompcv_ptr(aTHX))
-#undef PL_compiling
-#define PL_compiling (*Perl_Icompiling_ptr(aTHX))
-#undef PL_comppad
-#define PL_comppad (*Perl_Icomppad_ptr(aTHX))
-#undef PL_comppad_name
-#define PL_comppad_name (*Perl_Icomppad_name_ptr(aTHX))
-#undef PL_comppad_name_fill
-#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(aTHX))
-#undef PL_comppad_name_floor
-#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(aTHX))
-#undef PL_cop_seqmax
-#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(aTHX))
-#undef PL_cryptseen
-#define PL_cryptseen (*Perl_Icryptseen_ptr(aTHX))
-#undef PL_curcop
-#define PL_curcop (*Perl_Icurcop_ptr(aTHX))
-#undef PL_curcopdb
-#define PL_curcopdb (*Perl_Icurcopdb_ptr(aTHX))
-#undef PL_curpad
-#define PL_curpad (*Perl_Icurpad_ptr(aTHX))
-#undef PL_curpm
-#define PL_curpm (*Perl_Icurpm_ptr(aTHX))
-#undef PL_curstack
-#define PL_curstack (*Perl_Icurstack_ptr(aTHX))
-#undef PL_curstackinfo
-#define PL_curstackinfo (*Perl_Icurstackinfo_ptr(aTHX))
-#undef PL_curstash
-#define PL_curstash (*Perl_Icurstash_ptr(aTHX))
-#undef PL_curstname
-#define PL_curstname (*Perl_Icurstname_ptr(aTHX))
-#undef PL_custom_op_descs
-#define PL_custom_op_descs (*Perl_Icustom_op_descs_ptr(aTHX))
-#undef PL_custom_op_names
-#define PL_custom_op_names (*Perl_Icustom_op_names_ptr(aTHX))
-#undef PL_cv_has_eval
-#define PL_cv_has_eval (*Perl_Icv_has_eval_ptr(aTHX))
-#undef PL_dbargs
-#define PL_dbargs (*Perl_Idbargs_ptr(aTHX))
-#undef PL_debstash
-#define PL_debstash (*Perl_Idebstash_ptr(aTHX))
-#undef PL_debug
-#define PL_debug (*Perl_Idebug_ptr(aTHX))
-#undef PL_debug_pad
-#define PL_debug_pad (*Perl_Idebug_pad_ptr(aTHX))
-#undef PL_def_layerlist
-#define PL_def_layerlist (*Perl_Idef_layerlist_ptr(aTHX))
-#undef PL_defgv
-#define PL_defgv (*Perl_Idefgv_ptr(aTHX))
-#undef PL_defoutgv
-#define PL_defoutgv (*Perl_Idefoutgv_ptr(aTHX))
-#undef PL_defstash
-#define PL_defstash (*Perl_Idefstash_ptr(aTHX))
-#undef PL_delaymagic
-#define PL_delaymagic (*Perl_Idelaymagic_ptr(aTHX))
-#undef PL_destroyhook
-#define PL_destroyhook (*Perl_Idestroyhook_ptr(aTHX))
-#undef PL_diehook
-#define PL_diehook (*Perl_Idiehook_ptr(aTHX))
-#undef PL_dirty
-#define PL_dirty (*Perl_Idirty_ptr(aTHX))
-#undef PL_doextract
-#define PL_doextract (*Perl_Idoextract_ptr(aTHX))
-#undef PL_doswitches
-#define PL_doswitches (*Perl_Idoswitches_ptr(aTHX))
-#undef PL_dowarn
-#define PL_dowarn (*Perl_Idowarn_ptr(aTHX))
-#undef PL_dumper_fd
-#define PL_dumper_fd (*Perl_Idumper_fd_ptr(aTHX))
-#undef PL_dumpindent
-#define PL_dumpindent (*Perl_Idumpindent_ptr(aTHX))
-#undef PL_e_script
-#define PL_e_script (*Perl_Ie_script_ptr(aTHX))
-#undef PL_efloatbuf
-#define PL_efloatbuf (*Perl_Iefloatbuf_ptr(aTHX))
-#undef PL_efloatsize
-#define PL_efloatsize (*Perl_Iefloatsize_ptr(aTHX))
-#undef PL_egid
-#define PL_egid (*Perl_Iegid_ptr(aTHX))
-#undef PL_encoding
-#define PL_encoding (*Perl_Iencoding_ptr(aTHX))
-#undef PL_endav
-#define PL_endav (*Perl_Iendav_ptr(aTHX))
-#undef PL_envgv
-#define PL_envgv (*Perl_Ienvgv_ptr(aTHX))
-#undef PL_errgv
-#define PL_errgv (*Perl_Ierrgv_ptr(aTHX))
-#undef PL_errors
-#define PL_errors (*Perl_Ierrors_ptr(aTHX))
-#undef PL_euid
-#define PL_euid (*Perl_Ieuid_ptr(aTHX))
-#undef PL_eval_root
-#define PL_eval_root (*Perl_Ieval_root_ptr(aTHX))
-#undef PL_eval_start
-#define PL_eval_start (*Perl_Ieval_start_ptr(aTHX))
-#undef PL_evalseq
-#define PL_evalseq (*Perl_Ievalseq_ptr(aTHX))
-#undef PL_exit_flags
-#define PL_exit_flags (*Perl_Iexit_flags_ptr(aTHX))
-#undef PL_exitlist
-#define PL_exitlist (*Perl_Iexitlist_ptr(aTHX))
-#undef PL_exitlistlen
-#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(aTHX))
-#undef PL_fdpid
-#define PL_fdpid (*Perl_Ifdpid_ptr(aTHX))
-#undef PL_filemode
-#define PL_filemode (*Perl_Ifilemode_ptr(aTHX))
-#undef PL_firstgv
-#define PL_firstgv (*Perl_Ifirstgv_ptr(aTHX))
-#undef PL_forkprocess
-#define PL_forkprocess (*Perl_Iforkprocess_ptr(aTHX))
-#undef PL_formfeed
-#define PL_formfeed (*Perl_Iformfeed_ptr(aTHX))
-#undef PL_formtarget
-#define PL_formtarget (*Perl_Iformtarget_ptr(aTHX))
-#undef PL_generation
-#define PL_generation (*Perl_Igeneration_ptr(aTHX))
-#undef PL_gensym
-#define PL_gensym (*Perl_Igensym_ptr(aTHX))
-#undef PL_gid
-#define PL_gid (*Perl_Igid_ptr(aTHX))
-#undef PL_glob_index
-#define PL_glob_index (*Perl_Iglob_index_ptr(aTHX))
-#undef PL_globalstash
-#define PL_globalstash (*Perl_Iglobalstash_ptr(aTHX))
-#undef PL_hash_seed
-#define PL_hash_seed (*Perl_Ihash_seed_ptr(aTHX))
-#undef PL_hintgv
-#define PL_hintgv (*Perl_Ihintgv_ptr(aTHX))
-#undef PL_hints
-#define PL_hints (*Perl_Ihints_ptr(aTHX))
-#undef PL_hv_fetch_ent_mh
-#define PL_hv_fetch_ent_mh (*Perl_Ihv_fetch_ent_mh_ptr(aTHX))
-#undef PL_in_clean_all
-#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(aTHX))
-#undef PL_in_clean_objs
-#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(aTHX))
-#undef PL_in_eval
-#define PL_in_eval (*Perl_Iin_eval_ptr(aTHX))
-#undef PL_in_load_module
-#define PL_in_load_module (*Perl_Iin_load_module_ptr(aTHX))
-#undef PL_incgv
-#define PL_incgv (*Perl_Iincgv_ptr(aTHX))
-#undef PL_initav
-#define PL_initav (*Perl_Iinitav_ptr(aTHX))
-#undef PL_inplace
-#define PL_inplace (*Perl_Iinplace_ptr(aTHX))
-#undef PL_isarev
-#define PL_isarev (*Perl_Iisarev_ptr(aTHX))
-#undef PL_known_layers
-#define PL_known_layers (*Perl_Iknown_layers_ptr(aTHX))
-#undef PL_last_in_gv
-#define PL_last_in_gv (*Perl_Ilast_in_gv_ptr(aTHX))
-#undef PL_last_swash_hv
-#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(aTHX))
-#undef PL_last_swash_key
-#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(aTHX))
-#undef PL_last_swash_klen
-#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(aTHX))
-#undef PL_last_swash_slen
-#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(aTHX))
-#undef PL_last_swash_tmps
-#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(aTHX))
-#undef PL_lastfd
-#define PL_lastfd (*Perl_Ilastfd_ptr(aTHX))
-#undef PL_lastgotoprobe
-#define PL_lastgotoprobe (*Perl_Ilastgotoprobe_ptr(aTHX))
-#undef PL_lastscream
-#define PL_lastscream (*Perl_Ilastscream_ptr(aTHX))
-#undef PL_laststatval
-#define PL_laststatval (*Perl_Ilaststatval_ptr(aTHX))
-#undef PL_laststype
-#define PL_laststype (*Perl_Ilaststype_ptr(aTHX))
-#undef PL_localizing
-#define PL_localizing (*Perl_Ilocalizing_ptr(aTHX))
-#undef PL_localpatches
-#define PL_localpatches (*Perl_Ilocalpatches_ptr(aTHX))
-#undef PL_lockhook
-#define PL_lockhook (*Perl_Ilockhook_ptr(aTHX))
-#undef PL_madskills
-#define PL_madskills (*Perl_Imadskills_ptr(aTHX))
-#undef PL_main_cv
-#define PL_main_cv (*Perl_Imain_cv_ptr(aTHX))
-#undef PL_main_root
-#define PL_main_root (*Perl_Imain_root_ptr(aTHX))
-#undef PL_main_start
-#define PL_main_start (*Perl_Imain_start_ptr(aTHX))
-#undef PL_mainstack
-#define PL_mainstack (*Perl_Imainstack_ptr(aTHX))
-#undef PL_markstack
-#define PL_markstack (*Perl_Imarkstack_ptr(aTHX))
-#undef PL_markstack_max
-#define PL_markstack_max (*Perl_Imarkstack_max_ptr(aTHX))
-#undef PL_markstack_ptr
-#define PL_markstack_ptr (*Perl_Imarkstack_ptr_ptr(aTHX))
-#undef PL_max_intro_pending
-#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(aTHX))
-#undef PL_maxo
-#define PL_maxo (*Perl_Imaxo_ptr(aTHX))
-#undef PL_maxscream
-#define PL_maxscream (*Perl_Imaxscream_ptr(aTHX))
-#undef PL_maxsysfd
-#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(aTHX))
-#undef PL_memory_debug_header
-#define PL_memory_debug_header (*Perl_Imemory_debug_header_ptr(aTHX))
-#undef PL_mess_sv
-#define PL_mess_sv (*Perl_Imess_sv_ptr(aTHX))
-#undef PL_min_intro_pending
-#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(aTHX))
-#undef PL_minus_E
-#define PL_minus_E (*Perl_Iminus_E_ptr(aTHX))
-#undef PL_minus_F
-#define PL_minus_F (*Perl_Iminus_F_ptr(aTHX))
-#undef PL_minus_a
-#define PL_minus_a (*Perl_Iminus_a_ptr(aTHX))
-#undef PL_minus_c
-#define PL_minus_c (*Perl_Iminus_c_ptr(aTHX))
-#undef PL_minus_l
-#define PL_minus_l (*Perl_Iminus_l_ptr(aTHX))
-#undef PL_minus_n
-#define PL_minus_n (*Perl_Iminus_n_ptr(aTHX))
-#undef PL_minus_p
-#define PL_minus_p (*Perl_Iminus_p_ptr(aTHX))
-#undef PL_modcount
-#define PL_modcount (*Perl_Imodcount_ptr(aTHX))
-#undef PL_modglobal
-#define PL_modglobal (*Perl_Imodglobal_ptr(aTHX))
-#undef PL_my_cxt_keys
-#define PL_my_cxt_keys (*Perl_Imy_cxt_keys_ptr(aTHX))
-#undef PL_my_cxt_list
-#define PL_my_cxt_list (*Perl_Imy_cxt_list_ptr(aTHX))
-#undef PL_my_cxt_size
-#define PL_my_cxt_size (*Perl_Imy_cxt_size_ptr(aTHX))
-#undef PL_na
-#define PL_na (*Perl_Ina_ptr(aTHX))
-#undef PL_nice_chunk
-#define PL_nice_chunk (*Perl_Inice_chunk_ptr(aTHX))
-#undef PL_nice_chunk_size
-#define PL_nice_chunk_size (*Perl_Inice_chunk_size_ptr(aTHX))
-#undef PL_nomemok
-#define PL_nomemok (*Perl_Inomemok_ptr(aTHX))
-#undef PL_numeric_local
-#define PL_numeric_local (*Perl_Inumeric_local_ptr(aTHX))
-#undef PL_numeric_name
-#define PL_numeric_name (*Perl_Inumeric_name_ptr(aTHX))
-#undef PL_numeric_radix_sv
-#define PL_numeric_radix_sv (*Perl_Inumeric_radix_sv_ptr(aTHX))
-#undef PL_numeric_standard
-#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(aTHX))
-#undef PL_ofsgv
-#define PL_ofsgv (*Perl_Iofsgv_ptr(aTHX))
-#undef PL_oldname
-#define PL_oldname (*Perl_Ioldname_ptr(aTHX))
-#undef PL_op
-#define PL_op (*Perl_Iop_ptr(aTHX))
-#undef PL_op_mask
-#define PL_op_mask (*Perl_Iop_mask_ptr(aTHX))
-#undef PL_opfreehook
-#define PL_opfreehook (*Perl_Iopfreehook_ptr(aTHX))
-#undef PL_opsave
-#define PL_opsave (*Perl_Iopsave_ptr(aTHX))
-#undef PL_origalen
-#define PL_origalen (*Perl_Iorigalen_ptr(aTHX))
-#undef PL_origargc
-#define PL_origargc (*Perl_Iorigargc_ptr(aTHX))
-#undef PL_origargv
-#define PL_origargv (*Perl_Iorigargv_ptr(aTHX))
-#undef PL_origenviron
-#define PL_origenviron (*Perl_Iorigenviron_ptr(aTHX))
-#undef PL_origfilename
-#define PL_origfilename (*Perl_Iorigfilename_ptr(aTHX))
-#undef PL_ors_sv
-#define PL_ors_sv (*Perl_Iors_sv_ptr(aTHX))
-#undef PL_osname
-#define PL_osname (*Perl_Iosname_ptr(aTHX))
-#undef PL_pad_reset_pending
-#define PL_pad_reset_pending (*Perl_Ipad_reset_pending_ptr(aTHX))
-#undef PL_padix
-#define PL_padix (*Perl_Ipadix_ptr(aTHX))
-#undef PL_padix_floor
-#define PL_padix_floor (*Perl_Ipadix_floor_ptr(aTHX))
-#undef PL_parser
-#define PL_parser (*Perl_Iparser_ptr(aTHX))
-#undef PL_patchlevel
-#define PL_patchlevel (*Perl_Ipatchlevel_ptr(aTHX))
-#undef PL_peepp
-#define PL_peepp (*Perl_Ipeepp_ptr(aTHX))
-#undef PL_perl_destruct_level
-#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHX))
-#undef PL_perldb
-#define PL_perldb (*Perl_Iperldb_ptr(aTHX))
-#undef PL_perlio
-#define PL_perlio (*Perl_Iperlio_ptr(aTHX))
-#undef PL_pidstatus
-#define PL_pidstatus (*Perl_Ipidstatus_ptr(aTHX))
-#undef PL_ppid
-#define PL_ppid (*Perl_Ippid_ptr(aTHX))
-#undef PL_preambleav
-#define PL_preambleav (*Perl_Ipreambleav_ptr(aTHX))
-#undef PL_profiledata
-#define PL_profiledata (*Perl_Iprofiledata_ptr(aTHX))
-#undef PL_psig_name
-#define PL_psig_name (*Perl_Ipsig_name_ptr(aTHX))
-#undef PL_psig_pend
-#define PL_psig_pend (*Perl_Ipsig_pend_ptr(aTHX))
-#undef PL_psig_ptr
-#define PL_psig_ptr (*Perl_Ipsig_ptr_ptr(aTHX))
-#undef PL_ptr_table
-#define PL_ptr_table (*Perl_Iptr_table_ptr(aTHX))
-#undef PL_reentrant_buffer
-#define PL_reentrant_buffer (*Perl_Ireentrant_buffer_ptr(aTHX))
-#undef PL_reentrant_retint
-#define PL_reentrant_retint (*Perl_Ireentrant_retint_ptr(aTHX))
-#undef PL_reg_state
-#define PL_reg_state (*Perl_Ireg_state_ptr(aTHX))
-#undef PL_regdummy
-#define PL_regdummy (*Perl_Iregdummy_ptr(aTHX))
-#undef PL_regex_pad
-#define PL_regex_pad (*Perl_Iregex_pad_ptr(aTHX))
-#undef PL_regex_padav
-#define PL_regex_padav (*Perl_Iregex_padav_ptr(aTHX))
-#undef PL_reginterp_cnt
-#define PL_reginterp_cnt (*Perl_Ireginterp_cnt_ptr(aTHX))
-#undef PL_registered_mros
-#define PL_registered_mros (*Perl_Iregistered_mros_ptr(aTHX))
-#undef PL_regmatch_slab
-#define PL_regmatch_slab (*Perl_Iregmatch_slab_ptr(aTHX))
-#undef PL_regmatch_state
-#define PL_regmatch_state (*Perl_Iregmatch_state_ptr(aTHX))
-#undef PL_rehash_seed
-#define PL_rehash_seed (*Perl_Irehash_seed_ptr(aTHX))
-#undef PL_rehash_seed_set
-#define PL_rehash_seed_set (*Perl_Irehash_seed_set_ptr(aTHX))
-#undef PL_replgv
-#define PL_replgv (*Perl_Ireplgv_ptr(aTHX))
-#undef PL_restartop
-#define PL_restartop (*Perl_Irestartop_ptr(aTHX))
-#undef PL_rs
-#define PL_rs (*Perl_Irs_ptr(aTHX))
-#undef PL_runops
-#define PL_runops (*Perl_Irunops_ptr(aTHX))
-#undef PL_savebegin
-#define PL_savebegin (*Perl_Isavebegin_ptr(aTHX))
-#undef PL_savestack
-#define PL_savestack (*Perl_Isavestack_ptr(aTHX))
-#undef PL_savestack_ix
-#define PL_savestack_ix (*Perl_Isavestack_ix_ptr(aTHX))
-#undef PL_savestack_max
-#define PL_savestack_max (*Perl_Isavestack_max_ptr(aTHX))
-#undef PL_sawampersand
-#define PL_sawampersand (*Perl_Isawampersand_ptr(aTHX))
-#undef PL_scopestack
-#define PL_scopestack (*Perl_Iscopestack_ptr(aTHX))
-#undef PL_scopestack_ix
-#define PL_scopestack_ix (*Perl_Iscopestack_ix_ptr(aTHX))
-#undef PL_scopestack_max
-#define PL_scopestack_max (*Perl_Iscopestack_max_ptr(aTHX))
-#undef PL_scopestack_name
-#define PL_scopestack_name (*Perl_Iscopestack_name_ptr(aTHX))
-#undef PL_screamfirst
-#define PL_screamfirst (*Perl_Iscreamfirst_ptr(aTHX))
-#undef PL_screamnext
-#define PL_screamnext (*Perl_Iscreamnext_ptr(aTHX))
-#undef PL_secondgv
-#define PL_secondgv (*Perl_Isecondgv_ptr(aTHX))
-#undef PL_sharehook
-#define PL_sharehook (*Perl_Isharehook_ptr(aTHX))
-#undef PL_sig_pending
-#define PL_sig_pending (*Perl_Isig_pending_ptr(aTHX))
-#undef PL_sighandlerp
-#define PL_sighandlerp (*Perl_Isighandlerp_ptr(aTHX))
-#undef PL_signals
-#define PL_signals (*Perl_Isignals_ptr(aTHX))
-#undef PL_slab_count
-#define PL_slab_count (*Perl_Islab_count_ptr(aTHX))
-#undef PL_slabs
-#define PL_slabs (*Perl_Islabs_ptr(aTHX))
-#undef PL_sort_RealCmp
-#define PL_sort_RealCmp (*Perl_Isort_RealCmp_ptr(aTHX))
-#undef PL_sortcop
-#define PL_sortcop (*Perl_Isortcop_ptr(aTHX))
-#undef PL_sortstash
-#define PL_sortstash (*Perl_Isortstash_ptr(aTHX))
-#undef PL_splitstr
-#define PL_splitstr (*Perl_Isplitstr_ptr(aTHX))
-#undef PL_srand_called
-#define PL_srand_called (*Perl_Isrand_called_ptr(aTHX))
-#undef PL_stack_base
-#define PL_stack_base (*Perl_Istack_base_ptr(aTHX))
-#undef PL_stack_max
-#define PL_stack_max (*Perl_Istack_max_ptr(aTHX))
-#undef PL_stack_sp
-#define PL_stack_sp (*Perl_Istack_sp_ptr(aTHX))
-#undef PL_start_env
-#define PL_start_env (*Perl_Istart_env_ptr(aTHX))
-#undef PL_stashcache
-#define PL_stashcache (*Perl_Istashcache_ptr(aTHX))
-#undef PL_statbuf
-#define PL_statbuf (*Perl_Istatbuf_ptr(aTHX))
-#undef PL_statcache
-#define PL_statcache (*Perl_Istatcache_ptr(aTHX))
-#undef PL_statgv
-#define PL_statgv (*Perl_Istatgv_ptr(aTHX))
-#undef PL_statname
-#define PL_statname (*Perl_Istatname_ptr(aTHX))
-#undef PL_statusvalue
-#define PL_statusvalue (*Perl_Istatusvalue_ptr(aTHX))
-#undef PL_statusvalue_posix
-#define PL_statusvalue_posix (*Perl_Istatusvalue_posix_ptr(aTHX))
-#undef PL_statusvalue_vms
-#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(aTHX))
-#undef PL_stderrgv
-#define PL_stderrgv (*Perl_Istderrgv_ptr(aTHX))
-#undef PL_stdingv
-#define PL_stdingv (*Perl_Istdingv_ptr(aTHX))
-#undef PL_strtab
-#define PL_strtab (*Perl_Istrtab_ptr(aTHX))
-#undef PL_sub_generation
-#define PL_sub_generation (*Perl_Isub_generation_ptr(aTHX))
-#undef PL_subline
-#define PL_subline (*Perl_Isubline_ptr(aTHX))
-#undef PL_subname
-#define PL_subname (*Perl_Isubname_ptr(aTHX))
-#undef PL_sv_arenaroot
-#define PL_sv_arenaroot (*Perl_Isv_arenaroot_ptr(aTHX))
-#undef PL_sv_count
-#define PL_sv_count (*Perl_Isv_count_ptr(aTHX))
-#undef PL_sv_no
-#define PL_sv_no (*Perl_Isv_no_ptr(aTHX))
-#undef PL_sv_objcount
-#define PL_sv_objcount (*Perl_Isv_objcount_ptr(aTHX))
-#undef PL_sv_root
-#define PL_sv_root (*Perl_Isv_root_ptr(aTHX))
-#undef PL_sv_serial
-#define PL_sv_serial (*Perl_Isv_serial_ptr(aTHX))
-#undef PL_sv_undef
-#define PL_sv_undef (*Perl_Isv_undef_ptr(aTHX))
-#undef PL_sv_yes
-#define PL_sv_yes (*Perl_Isv_yes_ptr(aTHX))
-#undef PL_sys_intern
-#define PL_sys_intern (*Perl_Isys_intern_ptr(aTHX))
-#undef PL_taint_warn
-#define PL_taint_warn (*Perl_Itaint_warn_ptr(aTHX))
-#undef PL_tainted
-#define PL_tainted (*Perl_Itainted_ptr(aTHX))
-#undef PL_tainting
-#define PL_tainting (*Perl_Itainting_ptr(aTHX))
-#undef PL_threadhook
-#define PL_threadhook (*Perl_Ithreadhook_ptr(aTHX))
-#undef PL_timesbuf
-#define PL_timesbuf (*Perl_Itimesbuf_ptr(aTHX))
-#undef PL_tmps_floor
-#define PL_tmps_floor (*Perl_Itmps_floor_ptr(aTHX))
-#undef PL_tmps_ix
-#define PL_tmps_ix (*Perl_Itmps_ix_ptr(aTHX))
-#undef PL_tmps_max
-#define PL_tmps_max (*Perl_Itmps_max_ptr(aTHX))
-#undef PL_tmps_stack
-#define PL_tmps_stack (*Perl_Itmps_stack_ptr(aTHX))
-#undef PL_top_env
-#define PL_top_env (*Perl_Itop_env_ptr(aTHX))
-#undef PL_toptarget
-#define PL_toptarget (*Perl_Itoptarget_ptr(aTHX))
-#undef PL_uid
-#define PL_uid (*Perl_Iuid_ptr(aTHX))
-#undef PL_unicode
-#define PL_unicode (*Perl_Iunicode_ptr(aTHX))
-#undef PL_unitcheckav
-#define PL_unitcheckav (*Perl_Iunitcheckav_ptr(aTHX))
-#undef PL_unitcheckav_save
-#define PL_unitcheckav_save (*Perl_Iunitcheckav_save_ptr(aTHX))
-#undef PL_unlockhook
-#define PL_unlockhook (*Perl_Iunlockhook_ptr(aTHX))
-#undef PL_unsafe
-#define PL_unsafe (*Perl_Iunsafe_ptr(aTHX))
-#undef PL_utf8_X_L
-#define PL_utf8_X_L (*Perl_Iutf8_X_L_ptr(aTHX))
-#undef PL_utf8_X_LV
-#define PL_utf8_X_LV (*Perl_Iutf8_X_LV_ptr(aTHX))
-#undef PL_utf8_X_LVT
-#define PL_utf8_X_LVT (*Perl_Iutf8_X_LVT_ptr(aTHX))
-#undef PL_utf8_X_LV_LVT_V
-#define PL_utf8_X_LV_LVT_V (*Perl_Iutf8_X_LV_LVT_V_ptr(aTHX))
-#undef PL_utf8_X_T
-#define PL_utf8_X_T (*Perl_Iutf8_X_T_ptr(aTHX))
-#undef PL_utf8_X_V
-#define PL_utf8_X_V (*Perl_Iutf8_X_V_ptr(aTHX))
-#undef PL_utf8_X_begin
-#define PL_utf8_X_begin (*Perl_Iutf8_X_begin_ptr(aTHX))
-#undef PL_utf8_X_extend
-#define PL_utf8_X_extend (*Perl_Iutf8_X_extend_ptr(aTHX))
-#undef PL_utf8_X_non_hangul
-#define PL_utf8_X_non_hangul (*Perl_Iutf8_X_non_hangul_ptr(aTHX))
-#undef PL_utf8_X_prepend
-#define PL_utf8_X_prepend (*Perl_Iutf8_X_prepend_ptr(aTHX))
-#undef PL_utf8_alnum
-#define PL_utf8_alnum (*Perl_Iutf8_alnum_ptr(aTHX))
-#undef PL_utf8_alpha
-#define PL_utf8_alpha (*Perl_Iutf8_alpha_ptr(aTHX))
-#undef PL_utf8_ascii
-#define PL_utf8_ascii (*Perl_Iutf8_ascii_ptr(aTHX))
-#undef PL_utf8_cntrl
-#define PL_utf8_cntrl (*Perl_Iutf8_cntrl_ptr(aTHX))
-#undef PL_utf8_digit
-#define PL_utf8_digit (*Perl_Iutf8_digit_ptr(aTHX))
-#undef PL_utf8_graph
-#define PL_utf8_graph (*Perl_Iutf8_graph_ptr(aTHX))
-#undef PL_utf8_idcont
-#define PL_utf8_idcont (*Perl_Iutf8_idcont_ptr(aTHX))
-#undef PL_utf8_idstart
-#define PL_utf8_idstart (*Perl_Iutf8_idstart_ptr(aTHX))
-#undef PL_utf8_lower
-#define PL_utf8_lower (*Perl_Iutf8_lower_ptr(aTHX))
-#undef PL_utf8_mark
-#define PL_utf8_mark (*Perl_Iutf8_mark_ptr(aTHX))
-#undef PL_utf8_perl_space
-#define PL_utf8_perl_space (*Perl_Iutf8_perl_space_ptr(aTHX))
-#undef PL_utf8_perl_word
-#define PL_utf8_perl_word (*Perl_Iutf8_perl_word_ptr(aTHX))
-#undef PL_utf8_posix_digit
-#define PL_utf8_posix_digit (*Perl_Iutf8_posix_digit_ptr(aTHX))
-#undef PL_utf8_print
-#define PL_utf8_print (*Perl_Iutf8_print_ptr(aTHX))
-#undef PL_utf8_punct
-#define PL_utf8_punct (*Perl_Iutf8_punct_ptr(aTHX))
-#undef PL_utf8_space
-#define PL_utf8_space (*Perl_Iutf8_space_ptr(aTHX))
-#undef PL_utf8_tofold
-#define PL_utf8_tofold (*Perl_Iutf8_tofold_ptr(aTHX))
-#undef PL_utf8_tolower
-#define PL_utf8_tolower (*Perl_Iutf8_tolower_ptr(aTHX))
-#undef PL_utf8_totitle
-#define PL_utf8_totitle (*Perl_Iutf8_totitle_ptr(aTHX))
-#undef PL_utf8_toupper
-#define PL_utf8_toupper (*Perl_Iutf8_toupper_ptr(aTHX))
-#undef PL_utf8_upper
-#define PL_utf8_upper (*Perl_Iutf8_upper_ptr(aTHX))
-#undef PL_utf8_xdigit
-#define PL_utf8_xdigit (*Perl_Iutf8_xdigit_ptr(aTHX))
-#undef PL_utf8cache
-#define PL_utf8cache (*Perl_Iutf8cache_ptr(aTHX))
-#undef PL_utf8locale
-#define PL_utf8locale (*Perl_Iutf8locale_ptr(aTHX))
-#undef PL_warnhook
-#define PL_warnhook (*Perl_Iwarnhook_ptr(aTHX))
-#undef PL_watchaddr
-#define PL_watchaddr (*Perl_Iwatchaddr_ptr(aTHX))
-#undef PL_watchok
-#define PL_watchok (*Perl_Iwatchok_ptr(aTHX))
-#undef PL_xmlfp
-#define PL_xmlfp (*Perl_Ixmlfp_ptr(aTHX))
#undef PL_No
#define PL_No (*Perl_GNo_ptr(NULL))
#undef PL_Yes
#define PL_Yes (*Perl_GYes_ptr(NULL))
#undef PL_appctx
#define PL_appctx (*Perl_Gappctx_ptr(NULL))
+#undef PL_charclass
+#define PL_charclass (*Perl_Gcharclass_ptr(NULL))
#undef PL_check
#define PL_check (*Perl_Gcheck_ptr(NULL))
#undef PL_csighandlerp
@@ -830,8 +177,6 @@ END_EXTERN_C
#define PL_sig_handlers_initted (*Perl_Gsig_handlers_initted_ptr(NULL))
#undef PL_sig_ignoring
#define PL_sig_ignoring (*Perl_Gsig_ignoring_ptr(NULL))
-#undef PL_sig_sv
-#define PL_sig_sv (*Perl_Gsig_sv_ptr(NULL))
#undef PL_sig_trapped
#define PL_sig_trapped (*Perl_Gsig_trapped_ptr(NULL))
#undef PL_sigfpe_saved
@@ -854,7 +199,7 @@ END_EXTERN_C
#define PL_watch_pvx (*Perl_Gwatch_pvx_ptr(NULL))
#endif /* !PERL_CORE */
-#endif /* MULTIPLICITY */
+#endif /* MULTIPLICITY && PERL_GLOBAL_STRUCT */
#endif /* __perlapi_h__ */
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlhost.h b/Master/tlpkg/tlperl/lib/CORE/perlhost.h
index be7d61de02c..0240044c114 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlhost.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlhost.h
@@ -663,19 +663,19 @@ PerlStdIOGetPtr(struct IPerlStdIO* piPerl, FILE* pf)
}
char*
-PerlStdIOGets(struct IPerlStdIO* piPerl, FILE* pf, char* s, int n)
+PerlStdIOGets(struct IPerlStdIO* piPerl, char* s, int n, FILE* pf)
{
return win32_fgets(s, n, pf);
}
int
-PerlStdIOPutc(struct IPerlStdIO* piPerl, FILE* pf, int c)
+PerlStdIOPutc(struct IPerlStdIO* piPerl, int c, FILE* pf)
{
return win32_fputc(c, pf);
}
int
-PerlStdIOPuts(struct IPerlStdIO* piPerl, FILE* pf, const char *s)
+PerlStdIOPuts(struct IPerlStdIO* piPerl, const char *s, FILE* pf)
{
return win32_fputs(s, pf);
}
@@ -1727,11 +1727,6 @@ win32_start_child(LPVOID arg)
w32_pseudo_id = id;
#else
w32_pseudo_id = GetCurrentThreadId();
- if (IsWin95()) {
- int pid = (int)w32_pseudo_id;
- if (pid < 0)
- w32_pseudo_id = -pid;
- }
#endif
if (tmpgv = gv_fetchpv("$", TRUE, SVt_PV)) {
SV *sv = GvSV(tmpgv);
@@ -1880,13 +1875,9 @@ PerlProcFork(struct IPerlProc* piPerl)
errno = EAGAIN;
return -1;
}
- if (IsWin95()) {
- int pid = (int)id;
- if (pid < 0)
- id = -pid;
- }
w32_pseudo_child_handles[w32_num_pseudo_children] = handle;
w32_pseudo_child_pids[w32_num_pseudo_children] = id;
+ w32_pseudo_child_sigterm[w32_num_pseudo_children] = 0;
++w32_num_pseudo_children;
# endif
return -(int)id;
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlio.h b/Master/tlpkg/tlperl/lib/CORE/perlio.h
index a6902d4a956..0575cb17bdf 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlio.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlio.h
@@ -25,7 +25,7 @@
then there are two modes determined by USE_SFIO:
USE_SFIO - If set causes PerlIO_xxx() to be #define-d onto sfio functions.
- A backward compatability mode for some specialist applications.
+ A backward compatibility mode for some specialist applications.
If USE_SFIO is not set then PerlIO_xxx() are real functions
defined in perlio.c which implement extra functionality
@@ -189,6 +189,11 @@ PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
#define BUFSIZ 1024
#endif
+/* The default buffer size for the perlio buffering layer */
+#ifndef PERLIOBUF_DEFAULT_BUFSIZ
+#define PERLIOBUF_DEFAULT_BUFSIZ (BUFSIZ > 8192 ? BUFSIZ : 8192)
+#endif
+
#ifndef SEEK_SET
#define SEEK_SET 0
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/perliol.h b/Master/tlpkg/tlperl/lib/CORE/perliol.h
index 6b714bb6efa..a51f99b9039 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perliol.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perliol.h
@@ -67,6 +67,7 @@ struct _PerlIO {
PerlIOl *next; /* Lower layer */
PerlIO_funcs *tab; /* Functions for this layer */
U32 flags; /* Various flags for state */
+ PerlIOl *head; /* our ultimate parent pointer */
};
/*--------------------------------------------------------------------------------------*/
@@ -89,6 +90,7 @@ struct _PerlIO {
#define PERLIO_F_FASTGETS 0x00400000
#define PERLIO_F_TTY 0x00800000
#define PERLIO_F_NOTREG 0x01000000
+#define PERLIO_F_CLEARED 0x02000000 /* layer cleared but not freed */
#define PerlIOBase(f) (*(f))
#define PerlIOSelf(f,type) ((type *)PerlIOBase(f))
@@ -150,7 +152,7 @@ PERL_EXPORT_C PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, Pe
PERL_EXPORT_C SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param);
-PERL_EXPORT_C void PerlIO_cleantable(pTHX_ PerlIO **tablep);
+PERL_EXPORT_C void PerlIO_cleantable(pTHX_ PerlIOl **tablep);
PERL_EXPORT_C SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab);
PERL_EXPORT_C void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av);
PERL_EXPORT_C void PerlIO_stdstreams(pTHX);
@@ -187,6 +189,7 @@ PERL_EXPORT_C IV PerlIOBase_noop_fail(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOBase_noop_ok(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOBase_popped(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
+PERL_EXPORT_C PerlIO * PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
PERL_EXPORT_C SSize_t PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
PERL_EXPORT_C void PerlIOBase_setlinebuf(pTHX_ PerlIO *f);
PERL_EXPORT_C SSize_t PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
@@ -244,7 +247,6 @@ PERL_EXPORT_C void PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr,
PERL_EXPORT_C IV PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
/* Raw */
-PERL_EXPORT_C PerlIO * PerlIORaw_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
PERL_EXPORT_C IV PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
/* Stdio */
@@ -277,6 +279,7 @@ PERL_EXPORT_C IV PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV
PERL_EXPORT_C SSize_t PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
PERL_EXPORT_C int PerlIOUnix_refcnt_dec(int fd);
PERL_EXPORT_C void PerlIOUnix_refcnt_inc(int fd);
+PERL_EXPORT_C int PerlIOUnix_refcnt(int fd);
PERL_EXPORT_C IV PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
PERL_EXPORT_C Off_t PerlIOUnix_tell(pTHX_ PerlIO *f);
PERL_EXPORT_C SSize_t PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlsdio.h b/Master/tlpkg/tlperl/lib/CORE/perlsdio.h
index 1a6f2f01c4c..691ee325711 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlsdio.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlsdio.h
@@ -34,11 +34,11 @@
#define PerlIO_fdopen PerlSIO_fdopen
#define PerlIO_reopen PerlSIO_freopen
#define PerlIO_close(f) PerlSIO_fclose(f)
-#define PerlIO_puts(f,s) PerlSIO_fputs(f,s)
-#define PerlIO_putc(f,c) PerlSIO_fputc(f,c)
+#define PerlIO_puts(f,s) PerlSIO_fputs(s,f)
+#define PerlIO_putc(f,c) PerlSIO_fputc(c,f)
#if defined(VMS)
# if defined(__DECC)
- /* Unusual definition of ungetc() here to accomodate fast_sv_gets()'
+ /* Unusual definition of ungetc() here to accommodate fast_sv_gets()'
* belief that it can mix getc/ungetc with reads from stdio buffer */
int decc$ungetc(int __c, FILE *__stream);
# define PerlIO_ungetc(f,c) ((c) == EOF ? EOF : \
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlvars.h b/Master/tlpkg/tlperl/lib/CORE/perlvars.h
index 3d378917c94..1a44e22e4e9 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlvars.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlvars.h
@@ -12,7 +12,7 @@
=head1 Global Variables
*/
-/* Don't forget to re-run embed.pl to propagate changes! */
+/* Don't forget to re-run regen/embed.pl to propagate changes! */
/* This file describes the "global" variables used by perl
* This used to be in perl.h directly but we want to abstract out into
@@ -102,10 +102,6 @@ PERLVARA(Gsig_ignoring, SIG_SIZE, int) /* which signals we are ignoring */
PERLVARA(Gsig_defaulting, SIG_SIZE, int)
#endif
-#ifndef PERL_IMPLICIT_CONTEXT
-PERLVAR(Gsig_sv, SV*)
-#endif
-
/* XXX signals are process-wide anyway, so we
* ignore the implications of this for threading */
#ifndef HAS_SIGACTION
@@ -120,6 +116,7 @@ PERLVAR(Gwatch_pvx, char*)
PERLVAR(Gppaddr, Perl_ppaddr_t*) /* or opcode.h */
PERLVAR(Gcheck, Perl_check_t *) /* or opcode.h */
PERLVARA(Gfold_locale, 256, unsigned char) /* or perl.h */
+PERLVARA(Gcharclass, 256, U32)
#endif
#ifdef PERL_NEED_APPCTX
@@ -157,8 +154,8 @@ PERLVARI(Gveto_cleanup, int, FALSE) /* exit without cleanup */
/* dummy variables that hold pointers to both runops functions, thus forcing
* them *both* to get linked in (useful for Peek.xs, debugging etc) */
-PERLVARI(Grunops_std, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_standard))
-PERLVARI(Grunops_dbg, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_debug))
+PERLVARI(Grunops_std, runops_proc_t, Perl_runops_standard)
+PERLVARI(Grunops_dbg, runops_proc_t, Perl_runops_debug)
/* These are baked at compile time into any shared perl library.
@@ -212,7 +209,7 @@ introduced by the keyword. See L</Lexer interface> for details.
When a keyword is being handled, the plugin function must build
a tree of C<OP> structures, representing the code that was parsed.
The root of the tree must be stored in C<*op_ptr>. The function then
-returns a contant indicating the syntactic role of the construct that
+returns a constant indicating the syntactic role of the construct that
it has parsed: C<KEYWORD_PLUGIN_STMT> if it is a complete statement, or
C<KEYWORD_PLUGIN_EXPR> if it is an expression. Note that a statement
construct cannot be used inside an expression (except via C<do BLOCK>
@@ -240,4 +237,4 @@ the Perl core) will normally return C<KEYWORD_PLUGIN_DECLINE>.
=cut
*/
-PERLVARI(Gkeyword_plugin, Perl_keyword_plugin_t, MEMBER_TO_FPTR(Perl_keyword_plugin_standard))
+PERLVARI(Gkeyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
diff --git a/Master/tlpkg/tlperl/lib/CORE/perly.h b/Master/tlpkg/tlperl/lib/CORE/perly.h
index b40a968c106..6c282bfae14 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perly.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perly.h
@@ -1,24 +1,31 @@
-#ifdef PERL_CORE
+/* -*- buffer-read-only: t -*-
+ !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ This file is built by regen_perly.pl from perly.y.
+ Any changes made here will be lost!
+ */
-/* A Bison parser, made by GNU Bison 2.4.1. */
+#ifdef PERL_CORE
+/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+
+ This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,163 +36,176 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
- WORD = 258,
- METHOD = 259,
- FUNCMETH = 260,
- THING = 261,
- PMFUNC = 262,
- PRIVATEREF = 263,
- FUNC0SUB = 264,
- UNIOPSUB = 265,
- LSTOPSUB = 266,
- PLUGEXPR = 267,
- PLUGSTMT = 268,
- LABEL = 269,
- FORMAT = 270,
- SUB = 271,
- ANONSUB = 272,
- PACKAGE = 273,
- USE = 274,
- WHILE = 275,
- UNTIL = 276,
- IF = 277,
- UNLESS = 278,
- ELSE = 279,
- ELSIF = 280,
- CONTINUE = 281,
- FOR = 282,
- GIVEN = 283,
- WHEN = 284,
- DEFAULT = 285,
- LOOPEX = 286,
- DOTDOT = 287,
- YADAYADA = 288,
- FUNC0 = 289,
- FUNC1 = 290,
- FUNC = 291,
- UNIOP = 292,
- LSTOP = 293,
- RELOP = 294,
- EQOP = 295,
- MULOP = 296,
- ADDOP = 297,
- DOLSHARP = 298,
- DO = 299,
- HASHBRACK = 300,
- NOAMP = 301,
- LOCAL = 302,
- MY = 303,
- MYSUB = 304,
- REQUIRE = 305,
- COLONATTR = 306,
- PREC_LOW = 307,
- DOROP = 308,
- OROP = 309,
- ANDOP = 310,
- NOTOP = 311,
- ASSIGNOP = 312,
- DORDOR = 313,
- OROR = 314,
- ANDAND = 315,
- BITOROP = 316,
- BITANDOP = 317,
- SHIFTOP = 318,
- MATCHOP = 319,
- REFGEN = 320,
- UMINUS = 321,
- POWOP = 322,
- POSTDEC = 323,
- POSTINC = 324,
- PREDEC = 325,
- PREINC = 326,
- ARROW = 327,
- PEG = 328
+ GRAMPROG = 258,
+ GRAMEXPR = 259,
+ GRAMBLOCK = 260,
+ GRAMBARESTMT = 261,
+ GRAMFULLSTMT = 262,
+ GRAMSTMTSEQ = 263,
+ WORD = 264,
+ METHOD = 265,
+ FUNCMETH = 266,
+ THING = 267,
+ PMFUNC = 268,
+ PRIVATEREF = 269,
+ QWLIST = 270,
+ FUNC0SUB = 271,
+ UNIOPSUB = 272,
+ LSTOPSUB = 273,
+ PLUGEXPR = 274,
+ PLUGSTMT = 275,
+ LABEL = 276,
+ FORMAT = 277,
+ SUB = 278,
+ ANONSUB = 279,
+ PACKAGE = 280,
+ USE = 281,
+ WHILE = 282,
+ UNTIL = 283,
+ IF = 284,
+ UNLESS = 285,
+ ELSE = 286,
+ ELSIF = 287,
+ CONTINUE = 288,
+ FOR = 289,
+ GIVEN = 290,
+ WHEN = 291,
+ DEFAULT = 292,
+ LOOPEX = 293,
+ DOTDOT = 294,
+ YADAYADA = 295,
+ FUNC0 = 296,
+ FUNC1 = 297,
+ FUNC = 298,
+ UNIOP = 299,
+ LSTOP = 300,
+ RELOP = 301,
+ EQOP = 302,
+ MULOP = 303,
+ ADDOP = 304,
+ DOLSHARP = 305,
+ DO = 306,
+ HASHBRACK = 307,
+ NOAMP = 308,
+ LOCAL = 309,
+ MY = 310,
+ MYSUB = 311,
+ REQUIRE = 312,
+ COLONATTR = 313,
+ PREC_LOW = 314,
+ DOROP = 315,
+ OROP = 316,
+ ANDOP = 317,
+ NOTOP = 318,
+ ASSIGNOP = 319,
+ DORDOR = 320,
+ OROR = 321,
+ ANDAND = 322,
+ BITOROP = 323,
+ BITANDOP = 324,
+ SHIFTOP = 325,
+ MATCHOP = 326,
+ REFGEN = 327,
+ UMINUS = 328,
+ POWOP = 329,
+ POSTDEC = 330,
+ POSTINC = 331,
+ PREDEC = 332,
+ PREINC = 333,
+ ARROW = 334,
+ PEG = 335
};
#endif
-
/* Tokens. */
-#define WORD 258
-#define METHOD 259
-#define FUNCMETH 260
-#define THING 261
-#define PMFUNC 262
-#define PRIVATEREF 263
-#define FUNC0SUB 264
-#define UNIOPSUB 265
-#define LSTOPSUB 266
-#define PLUGEXPR 267
-#define PLUGSTMT 268
-#define LABEL 269
-#define FORMAT 270
-#define SUB 271
-#define ANONSUB 272
-#define PACKAGE 273
-#define USE 274
-#define WHILE 275
-#define UNTIL 276
-#define IF 277
-#define UNLESS 278
-#define ELSE 279
-#define ELSIF 280
-#define CONTINUE 281
-#define FOR 282
-#define GIVEN 283
-#define WHEN 284
-#define DEFAULT 285
-#define LOOPEX 286
-#define DOTDOT 287
-#define YADAYADA 288
-#define FUNC0 289
-#define FUNC1 290
-#define FUNC 291
-#define UNIOP 292
-#define LSTOP 293
-#define RELOP 294
-#define EQOP 295
-#define MULOP 296
-#define ADDOP 297
-#define DOLSHARP 298
-#define DO 299
-#define HASHBRACK 300
-#define NOAMP 301
-#define LOCAL 302
-#define MY 303
-#define MYSUB 304
-#define REQUIRE 305
-#define COLONATTR 306
-#define PREC_LOW 307
-#define DOROP 308
-#define OROP 309
-#define ANDOP 310
-#define NOTOP 311
-#define ASSIGNOP 312
-#define DORDOR 313
-#define OROR 314
-#define ANDAND 315
-#define BITOROP 316
-#define BITANDOP 317
-#define SHIFTOP 318
-#define MATCHOP 319
-#define REFGEN 320
-#define UMINUS 321
-#define POWOP 322
-#define POSTDEC 323
-#define POSTINC 324
-#define PREDEC 325
-#define PREINC 326
-#define ARROW 327
-#define PEG 328
+#define GRAMPROG 258
+#define GRAMEXPR 259
+#define GRAMBLOCK 260
+#define GRAMBARESTMT 261
+#define GRAMFULLSTMT 262
+#define GRAMSTMTSEQ 263
+#define WORD 264
+#define METHOD 265
+#define FUNCMETH 266
+#define THING 267
+#define PMFUNC 268
+#define PRIVATEREF 269
+#define QWLIST 270
+#define FUNC0SUB 271
+#define UNIOPSUB 272
+#define LSTOPSUB 273
+#define PLUGEXPR 274
+#define PLUGSTMT 275
+#define LABEL 276
+#define FORMAT 277
+#define SUB 278
+#define ANONSUB 279
+#define PACKAGE 280
+#define USE 281
+#define WHILE 282
+#define UNTIL 283
+#define IF 284
+#define UNLESS 285
+#define ELSE 286
+#define ELSIF 287
+#define CONTINUE 288
+#define FOR 289
+#define GIVEN 290
+#define WHEN 291
+#define DEFAULT 292
+#define LOOPEX 293
+#define DOTDOT 294
+#define YADAYADA 295
+#define FUNC0 296
+#define FUNC1 297
+#define FUNC 298
+#define UNIOP 299
+#define LSTOP 300
+#define RELOP 301
+#define EQOP 302
+#define MULOP 303
+#define ADDOP 304
+#define DOLSHARP 305
+#define DO 306
+#define HASHBRACK 307
+#define NOAMP 308
+#define LOCAL 309
+#define MY 310
+#define MYSUB 311
+#define REQUIRE 312
+#define COLONATTR 313
+#define PREC_LOW 314
+#define DOROP 315
+#define OROP 316
+#define ANDOP 317
+#define NOTOP 318
+#define ASSIGNOP 319
+#define DORDOR 320
+#define OROR 321
+#define ANDAND 322
+#define BITOROP 323
+#define BITANDOP 324
+#define SHIFTOP 325
+#define MATCHOP 326
+#define REFGEN 327
+#define UMINUS 328
+#define POWOP 329
+#define POSTDEC 330
+#define POSTINC 331
+#define PREDEC 332
+#define PREINC 333
+#define ARROW 334
+#define PEG 335
+
@@ -193,9 +213,6 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-
-/* Line 1676 of yacc.c */
-
I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
must always be 1st union member) */
char *pval;
@@ -211,16 +228,18 @@ typedef union YYSTYPE
#ifdef PERL_MAD
TOKEN* tkval;
#endif
-
-
-
-/* Line 1676 of yacc.c */
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
+}
+/* Line 1489 of yacc.c. */
+ YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
+/* Generated from:
+ * bd41fc813e5d2d23ff7edef2ab1ef88bbb054176476b7d989db7522dce1c9328 perly.y
+ * dc72db91baa0a3c17a6c95718e5ad70e9ac7b75919df1317df7fe6c3f1649239 regen_perly.pl
+ * ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/pp.h b/Master/tlpkg/tlperl/lib/CORE/pp.h
index c36502a03fa..5cde92b047e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pp.h
@@ -86,7 +86,7 @@ Refetch the stack pointer. Used after a callback. See L<perlcall>.
#define dTARG SV *targ
#define NORMAL PL_op->op_next
-#define DIE Perl_die
+#define DIE return Perl_die
/*
=for apidoc Ams||PUTBACK
@@ -328,6 +328,7 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define dPOPss SV *sv = POPs
#define dTOPnv NV value = TOPn
#define dPOPnv NV value = POPn
+#define dPOPnv_nomg NV value = (sp--, SvNV_nomg(TOPp1s))
#define dTOPiv IV value = TOPi
#define dPOPiv IV value = POPi
#define dTOPuv UV value = TOPu
@@ -353,6 +354,10 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
IV right = POPi; \
SV *leftsv = CAT2(X,s); \
IV left = USE_LEFT(leftsv) ? SvIV(leftsv) : 0
+#define dPOPXiirl_ul_nomg(X) \
+ IV right = (sp--, SvIV_nomg(TOPp1s)); \
+ SV *leftsv = CAT2(X,s); \
+ IV left = USE_LEFT(leftsv) ? SvIV_nomg(leftsv) : 0
#define dPOPPOPssrl dPOPXssrl(POP)
#define dPOPPOPnnrl dPOPXnnrl(POP)
@@ -363,8 +368,13 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define dPOPTOPssrl dPOPXssrl(TOP)
#define dPOPTOPnnrl dPOPXnnrl(TOP)
#define dPOPTOPnnrl_ul dPOPXnnrl_ul(TOP)
+#define dPOPTOPnnrl_nomg \
+ NV right = SvNV_nomg(TOPs); NV left = (sp--, SvNV_nomg(TOPs))
#define dPOPTOPiirl dPOPXiirl(TOP)
#define dPOPTOPiirl_ul dPOPXiirl_ul(TOP)
+#define dPOPTOPiirl_ul_nomg dPOPXiirl_ul_nomg(TOP)
+#define dPOPTOPiirl_nomg \
+ IV right = SvIV_nomg(TOPs); IV left = (sp--, SvIV_nomg(TOPs))
#define RETPUSHYES RETURNX(PUSHs(&PL_sv_yes))
#define RETPUSHNO RETURNX(PUSHs(&PL_sv_no))
@@ -398,107 +408,59 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define AMGf_noleft 2
#define AMGf_assign 4
#define AMGf_unary 8
+#define AMGf_numeric 0x10 /* for Perl_try_amagic_bin */
+#define AMGf_set 0x20 /* for Perl_try_amagic_bin */
-#define tryAMAGICbinW_var(meth_enum,assign,set) STMT_START { \
- SV* const left = *(sp-1); \
- SV* const right = *(sp); \
- if ((SvAMAGIC(left)||SvAMAGIC(right))) {\
- SV * const tmpsv = amagic_call(left, \
- right, \
- (meth_enum), \
- (assign)? AMGf_assign: 0); \
- if (tmpsv) { \
- SPAGAIN; \
- (void)POPs; set(tmpsv); RETURN; } \
- } \
- } STMT_END
-
-#define tryAMAGICbinW(meth,assign,set) \
- tryAMAGICbinW_var(CAT2(meth,_amg),assign,set)
-
-#define tryAMAGICbin_var(meth_enum,assign) \
- tryAMAGICbinW_var(meth_enum,assign,SETsv)
-#define tryAMAGICbin(meth,assign) \
- tryAMAGICbin_var(CAT2(meth,_amg),assign)
-#define tryAMAGICbinSET(meth,assign) tryAMAGICbinW(meth,assign,SETs)
+/* do SvGETMAGIC on the stack args before checking for overload */
-#define tryAMAGICbinSET_var(meth_enum,assign) \
- tryAMAGICbinW_var(meth_enum,assign,SETs)
-
-#define AMG_CALLun_var(sv,meth_enum) amagic_call(sv,&PL_sv_undef, \
- meth_enum,AMGf_noright | AMGf_unary)
-#define AMG_CALLun(sv,meth) AMG_CALLun_var(sv,CAT2(meth,_amg))
-
-#define AMG_CALLbinL(left,right,meth) \
- amagic_call(left,right,CAT2(meth,_amg),AMGf_noright)
+#define tryAMAGICun_MG(method, flags) STMT_START { \
+ if ( (SvFLAGS(TOPs) & (SVf_ROK|SVs_GMG)) \
+ && Perl_try_amagic_un(aTHX_ method, flags)) \
+ return NORMAL; \
+ } STMT_END
+#define tryAMAGICbin_MG(method, flags) STMT_START { \
+ if ( ((SvFLAGS(TOPm1s)|SvFLAGS(TOPs)) & (SVf_ROK|SVs_GMG)) \
+ && Perl_try_amagic_bin(aTHX_ method, flags)) \
+ return NORMAL; \
+ } STMT_END
-#define tryAMAGICunW_var(meth_enum,set,shift,ret) STMT_START { \
- SV* tmpsv; \
- SV* arg= sp[shift]; \
- if(0) goto am_again; /* shut up unused warning */ \
- am_again: \
- if ((SvAMAGIC(arg))&&\
- (tmpsv=AMG_CALLun_var(arg,(meth_enum)))) {\
- SPAGAIN; if (shift) sp += shift; \
- set(tmpsv); ret; } \
- } STMT_END
-#define tryAMAGICunW(meth,set,shift,ret) \
- tryAMAGICunW_var(CAT2(meth,_amg),set,shift,ret)
-
-#define FORCE_SETs(sv) STMT_START { sv_setsv(TARG, (sv)); SETTARG; } STMT_END
-
-#define tryAMAGICun_var(meth_enum) tryAMAGICunW_var(meth_enum,SETsvUN,0,RETURN)
-#define tryAMAGICun(meth) tryAMAGICun_var(CAT2(meth,_amg))
-#define tryAMAGICunSET(meth) tryAMAGICunW(meth,SETs,0,RETURN)
-#define tryAMAGICunTARGET(meth, shift) \
- STMT_START { dSP; sp--; /* get TARGET from below PL_stack_sp */ \
- { dTARGETSTACKED; \
- { dSP; tryAMAGICunW(meth,FORCE_SETs,shift,RETURN);}}} STMT_END
-
-#define setAGAIN(ref) \
- STMT_START { \
- sv = ref; \
- if (!SvROK(ref)) \
- Perl_croak(aTHX_ "Overloaded dereference did not return a reference"); \
- if (ref != arg && SvRV(ref) != SvRV(arg)) { \
- arg = ref; \
- goto am_again; \
- } \
+#define AMG_CALLunary(sv,meth) \
+ amagic_call(sv,&PL_sv_undef, meth, AMGf_noright | AMGf_unary)
+
+/* No longer used in core. Use AMG_CALLunary instead */
+#define AMG_CALLun(sv,meth) AMG_CALLunary(sv, CAT2(meth,_amg))
+
+#define tryAMAGICunTARGET(meth, shift, jump) \
+ STMT_START { \
+ dATARGET; \
+ dSP; \
+ SV *tmpsv; \
+ SV *arg= sp[shift]; \
+ if (SvAMAGIC(arg) && \
+ (tmpsv = amagic_call(arg, &PL_sv_undef, meth, \
+ AMGf_noright | AMGf_unary))) { \
+ SPAGAIN; \
+ sp += shift; \
+ sv_setsv(TARG, tmpsv); \
+ if (opASSIGN) \
+ sp--; \
+ SETTARG; \
+ PUTBACK; \
+ if (jump) { \
+ PL_markstack_ptr--; \
+ return NORMAL->op_next->op_next; \
+ } \
+ return NORMAL; \
+ } \
} STMT_END
-#define tryAMAGICunDEREF(meth) tryAMAGICunW(meth,setAGAIN,0,(void)0)
-#define tryAMAGICunDEREF_var(meth_enum) \
- tryAMAGICunW_var(meth_enum,setAGAIN,0,(void)0)
-
-#define tryAMAGICftest(chr) \
- STMT_START { \
- assert(chr != '?'); \
- if ((PL_op->op_flags & OPf_KIDS) \
- && SvAMAGIC(TOPs)) { \
- const char tmpchr = (chr); \
- SV * const tmpsv = amagic_call(TOPs, \
- newSVpvn_flags(&tmpchr, 1, SVs_TEMP), \
- ftest_amg, AMGf_unary); \
- \
- if (tmpsv) { \
- const OP *next = PL_op->op_next; \
- \
- SPAGAIN; \
- \
- if (next->op_type >= OP_FTRREAD && \
- next->op_type <= OP_FTBINARY && \
- next->op_private & OPpFT_STACKED \
- ) { \
- if (SvTRUE(tmpsv)) \
- /* leave the object alone */ \
- RETURN; \
- } \
- \
- SETs(tmpsv); \
- RETURN; \
- } \
- } \
+/* This is no longer used anywhere in the core. You might wish to consider
+ calling amagic_deref_call() directly, as it has a cleaner interface. */
+#define tryAMAGICunDEREF(meth) \
+ STMT_START { \
+ sv = amagic_deref_call(*sp, CAT2(meth,_amg)); \
+ SPAGAIN; \
} STMT_END
@@ -513,17 +475,6 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
{ sv_setsv(TARG, (sv)); SETTARG; } \
else SETs(sv); } STMT_END
-/* newSVsv does not behave as advertised, so we copy missing
- * information by hand */
-
-/* SV* ref causes confusion with the member variable
- changed SV* ref to SV* tmpRef */
-#define RvDEEPCP(rv) STMT_START { SV* tmpRef=SvRV(rv); SV* rv_copy; \
- if (SvREFCNT(tmpRef)>1 && (rv_copy = AMG_CALLun(rv,copy))) { \
- SvRV_set(rv, rv_copy); \
- SvREFCNT_dec(tmpRef); \
- } } STMT_END
-
/*
=for apidoc mU||LVRET
True if this op will be the return value of an lvalue subroutine
@@ -540,6 +491,15 @@ True if this op will be the return value of an lvalue subroutine
) \
)
+#ifdef PERL_CORE
+/* These are just for Perl_tied_method(), which is not part of the public API.
+ Use 0x04 rather than the next available bit, to help the compiler if the
+ architecture can generate more efficient instructions. */
+# define TIED_METHOD_MORTALIZE_NOT_NEEDED 0x04
+# define TIED_METHOD_ARGUMENTS_ON_STACK 0x08
+# define TIED_METHOD_SAY 0x10
+#endif
+
/*
* Local variables:
* c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
index d7da4538710..2b01d6b0b66 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
@@ -1,414 +1,274 @@
/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by opcode.pl from its data. Any changes made here
- will be lost!
-*/
+ This file is built by opcode.pl from its data.
+ Any changes made here will be lost!
+ */
-PERL_CKDEF(Perl_ck_anoncode)
-PERL_CKDEF(Perl_ck_bitop)
-PERL_CKDEF(Perl_ck_chdir)
-PERL_CKDEF(Perl_ck_concat)
-PERL_CKDEF(Perl_ck_defined)
-PERL_CKDEF(Perl_ck_delete)
-PERL_CKDEF(Perl_ck_die)
-PERL_CKDEF(Perl_ck_each)
-PERL_CKDEF(Perl_ck_eof)
-PERL_CKDEF(Perl_ck_eval)
-PERL_CKDEF(Perl_ck_exec)
-PERL_CKDEF(Perl_ck_exists)
-PERL_CKDEF(Perl_ck_exit)
-PERL_CKDEF(Perl_ck_ftst)
-PERL_CKDEF(Perl_ck_fun)
-PERL_CKDEF(Perl_ck_glob)
-PERL_CKDEF(Perl_ck_grep)
-PERL_CKDEF(Perl_ck_index)
-PERL_CKDEF(Perl_ck_join)
-PERL_CKDEF(Perl_ck_lfun)
-PERL_CKDEF(Perl_ck_listiob)
-PERL_CKDEF(Perl_ck_match)
-PERL_CKDEF(Perl_ck_method)
-PERL_CKDEF(Perl_ck_null)
-PERL_CKDEF(Perl_ck_open)
-PERL_CKDEF(Perl_ck_readline)
-PERL_CKDEF(Perl_ck_repeat)
-PERL_CKDEF(Perl_ck_require)
-PERL_CKDEF(Perl_ck_return)
-PERL_CKDEF(Perl_ck_rfun)
-PERL_CKDEF(Perl_ck_rvconst)
-PERL_CKDEF(Perl_ck_sassign)
-PERL_CKDEF(Perl_ck_select)
-PERL_CKDEF(Perl_ck_shift)
-PERL_CKDEF(Perl_ck_smartmatch)
-PERL_CKDEF(Perl_ck_sort)
-PERL_CKDEF(Perl_ck_spair)
-PERL_CKDEF(Perl_ck_split)
-PERL_CKDEF(Perl_ck_subr)
-PERL_CKDEF(Perl_ck_substr)
-PERL_CKDEF(Perl_ck_svconst)
-PERL_CKDEF(Perl_ck_trunc)
-PERL_CKDEF(Perl_ck_unpack)
-
-
-PERL_PPDEF(Perl_pp_null)
-PERL_PPDEF(Perl_pp_stub)
-PERL_PPDEF(Perl_pp_scalar)
-PERL_PPDEF(Perl_pp_pushmark)
-PERL_PPDEF(Perl_pp_wantarray)
-PERL_PPDEF(Perl_pp_const)
-PERL_PPDEF(Perl_pp_gvsv)
-PERL_PPDEF(Perl_pp_gv)
-PERL_PPDEF(Perl_pp_gelem)
-PERL_PPDEF(Perl_pp_padsv)
-PERL_PPDEF(Perl_pp_padav)
-PERL_PPDEF(Perl_pp_padhv)
-PERL_PPDEF(Perl_pp_padany)
-PERL_PPDEF(Perl_pp_pushre)
-PERL_PPDEF(Perl_pp_rv2gv)
-PERL_PPDEF(Perl_pp_rv2sv)
-PERL_PPDEF(Perl_pp_av2arylen)
-PERL_PPDEF(Perl_pp_rv2cv)
-PERL_PPDEF(Perl_pp_anoncode)
-PERL_PPDEF(Perl_pp_prototype)
-PERL_PPDEF(Perl_pp_refgen)
-PERL_PPDEF(Perl_pp_srefgen)
-PERL_PPDEF(Perl_pp_ref)
-PERL_PPDEF(Perl_pp_bless)
-PERL_PPDEF(Perl_pp_backtick)
-PERL_PPDEF(Perl_pp_glob)
-PERL_PPDEF(Perl_pp_readline)
-PERL_PPDEF(Perl_pp_rcatline)
-PERL_PPDEF(Perl_pp_regcmaybe)
-PERL_PPDEF(Perl_pp_regcreset)
-PERL_PPDEF(Perl_pp_regcomp)
-PERL_PPDEF(Perl_pp_match)
-PERL_PPDEF(Perl_pp_qr)
-PERL_PPDEF(Perl_pp_subst)
-PERL_PPDEF(Perl_pp_substcont)
-PERL_PPDEF(Perl_pp_trans)
-PERL_PPDEF(Perl_pp_sassign)
-PERL_PPDEF(Perl_pp_aassign)
-PERL_PPDEF(Perl_pp_chop)
-PERL_PPDEF(Perl_pp_schop)
-PERL_PPDEF(Perl_pp_chomp)
-PERL_PPDEF(Perl_pp_schomp)
-PERL_PPDEF(Perl_pp_defined)
-PERL_PPDEF(Perl_pp_undef)
-PERL_PPDEF(Perl_pp_study)
-PERL_PPDEF(Perl_pp_pos)
-PERL_PPDEF(Perl_pp_preinc)
-PERL_PPDEF(Perl_pp_predec)
-PERL_PPDEF(Perl_pp_postinc)
-PERL_PPDEF(Perl_pp_postdec)
-PERL_PPDEF(Perl_pp_pow)
-PERL_PPDEF(Perl_pp_multiply)
-PERL_PPDEF(Perl_pp_i_multiply)
-PERL_PPDEF(Perl_pp_divide)
-PERL_PPDEF(Perl_pp_i_divide)
-PERL_PPDEF(Perl_pp_modulo)
-PERL_PPDEF(Perl_pp_i_modulo)
-PERL_PPDEF(Perl_pp_repeat)
-PERL_PPDEF(Perl_pp_add)
-PERL_PPDEF(Perl_pp_i_add)
-PERL_PPDEF(Perl_pp_subtract)
-PERL_PPDEF(Perl_pp_i_subtract)
-PERL_PPDEF(Perl_pp_concat)
-PERL_PPDEF(Perl_pp_stringify)
-PERL_PPDEF(Perl_pp_left_shift)
-PERL_PPDEF(Perl_pp_right_shift)
-PERL_PPDEF(Perl_pp_lt)
-PERL_PPDEF(Perl_pp_i_lt)
-PERL_PPDEF(Perl_pp_gt)
-PERL_PPDEF(Perl_pp_i_gt)
-PERL_PPDEF(Perl_pp_le)
-PERL_PPDEF(Perl_pp_i_le)
-PERL_PPDEF(Perl_pp_ge)
-PERL_PPDEF(Perl_pp_i_ge)
-PERL_PPDEF(Perl_pp_eq)
-PERL_PPDEF(Perl_pp_i_eq)
-PERL_PPDEF(Perl_pp_ne)
-PERL_PPDEF(Perl_pp_i_ne)
-PERL_PPDEF(Perl_pp_ncmp)
-PERL_PPDEF(Perl_pp_i_ncmp)
-PERL_PPDEF(Perl_pp_slt)
-PERL_PPDEF(Perl_pp_sgt)
-PERL_PPDEF(Perl_pp_sle)
-PERL_PPDEF(Perl_pp_sge)
-PERL_PPDEF(Perl_pp_seq)
-PERL_PPDEF(Perl_pp_sne)
-PERL_PPDEF(Perl_pp_scmp)
-PERL_PPDEF(Perl_pp_bit_and)
-PERL_PPDEF(Perl_pp_bit_xor)
-PERL_PPDEF(Perl_pp_bit_or)
-PERL_PPDEF(Perl_pp_negate)
-PERL_PPDEF(Perl_pp_i_negate)
-PERL_PPDEF(Perl_pp_not)
-PERL_PPDEF(Perl_pp_complement)
-PERL_PPDEF(Perl_pp_smartmatch)
-PERL_PPDEF(Perl_pp_atan2)
-PERL_PPDEF(Perl_pp_sin)
-PERL_PPDEF(Perl_pp_cos)
-PERL_PPDEF(Perl_pp_rand)
-PERL_PPDEF(Perl_pp_srand)
-PERL_PPDEF(Perl_pp_exp)
-PERL_PPDEF(Perl_pp_log)
-PERL_PPDEF(Perl_pp_sqrt)
-PERL_PPDEF(Perl_pp_int)
-PERL_PPDEF(Perl_pp_hex)
-PERL_PPDEF(Perl_pp_oct)
-PERL_PPDEF(Perl_pp_abs)
-PERL_PPDEF(Perl_pp_length)
-PERL_PPDEF(Perl_pp_substr)
-PERL_PPDEF(Perl_pp_vec)
-PERL_PPDEF(Perl_pp_index)
-PERL_PPDEF(Perl_pp_rindex)
-PERL_PPDEF(Perl_pp_sprintf)
-PERL_PPDEF(Perl_pp_formline)
-PERL_PPDEF(Perl_pp_ord)
-PERL_PPDEF(Perl_pp_chr)
-PERL_PPDEF(Perl_pp_crypt)
-PERL_PPDEF(Perl_pp_ucfirst)
-PERL_PPDEF(Perl_pp_lcfirst)
-PERL_PPDEF(Perl_pp_uc)
-PERL_PPDEF(Perl_pp_lc)
-PERL_PPDEF(Perl_pp_quotemeta)
-PERL_PPDEF(Perl_pp_rv2av)
-PERL_PPDEF(Perl_pp_aelemfast)
-PERL_PPDEF(Perl_pp_aelem)
-PERL_PPDEF(Perl_pp_aslice)
-PERL_PPDEF(Perl_pp_aeach)
-PERL_PPDEF(Perl_pp_akeys)
-PERL_PPDEF(Perl_pp_avalues)
-PERL_PPDEF(Perl_pp_each)
-PERL_PPDEF(Perl_pp_values)
-PERL_PPDEF(Perl_pp_keys)
-PERL_PPDEF(Perl_pp_delete)
-PERL_PPDEF(Perl_pp_exists)
-PERL_PPDEF(Perl_pp_rv2hv)
-PERL_PPDEF(Perl_pp_helem)
-PERL_PPDEF(Perl_pp_hslice)
-PERL_PPDEF(Perl_pp_boolkeys)
-PERL_PPDEF(Perl_pp_unpack)
-PERL_PPDEF(Perl_pp_pack)
-PERL_PPDEF(Perl_pp_split)
-PERL_PPDEF(Perl_pp_join)
-PERL_PPDEF(Perl_pp_list)
-PERL_PPDEF(Perl_pp_lslice)
-PERL_PPDEF(Perl_pp_anonlist)
-PERL_PPDEF(Perl_pp_anonhash)
-PERL_PPDEF(Perl_pp_splice)
-PERL_PPDEF(Perl_pp_push)
-PERL_PPDEF(Perl_pp_pop)
-PERL_PPDEF(Perl_pp_shift)
-PERL_PPDEF(Perl_pp_unshift)
-PERL_PPDEF(Perl_pp_sort)
-PERL_PPDEF(Perl_pp_reverse)
-PERL_PPDEF(Perl_pp_grepstart)
-PERL_PPDEF(Perl_pp_grepwhile)
-PERL_PPDEF(Perl_pp_mapstart)
-PERL_PPDEF(Perl_pp_mapwhile)
-PERL_PPDEF(Perl_pp_range)
-PERL_PPDEF(Perl_pp_flip)
-PERL_PPDEF(Perl_pp_flop)
-PERL_PPDEF(Perl_pp_and)
-PERL_PPDEF(Perl_pp_or)
-PERL_PPDEF(Perl_pp_xor)
-PERL_PPDEF(Perl_pp_dor)
-PERL_PPDEF(Perl_pp_cond_expr)
-PERL_PPDEF(Perl_pp_andassign)
-PERL_PPDEF(Perl_pp_orassign)
-PERL_PPDEF(Perl_pp_dorassign)
-PERL_PPDEF(Perl_pp_method)
-PERL_PPDEF(Perl_pp_entersub)
-PERL_PPDEF(Perl_pp_leavesub)
-PERL_PPDEF(Perl_pp_leavesublv)
-PERL_PPDEF(Perl_pp_caller)
-PERL_PPDEF(Perl_pp_warn)
-PERL_PPDEF(Perl_pp_die)
-PERL_PPDEF(Perl_pp_reset)
-PERL_PPDEF(Perl_pp_lineseq)
-PERL_PPDEF(Perl_pp_nextstate)
-PERL_PPDEF(Perl_pp_dbstate)
-PERL_PPDEF(Perl_pp_unstack)
-PERL_PPDEF(Perl_pp_enter)
-PERL_PPDEF(Perl_pp_leave)
-PERL_PPDEF(Perl_pp_scope)
-PERL_PPDEF(Perl_pp_enteriter)
-PERL_PPDEF(Perl_pp_iter)
-PERL_PPDEF(Perl_pp_enterloop)
-PERL_PPDEF(Perl_pp_leaveloop)
-PERL_PPDEF(Perl_pp_return)
-PERL_PPDEF(Perl_pp_last)
-PERL_PPDEF(Perl_pp_next)
-PERL_PPDEF(Perl_pp_redo)
-PERL_PPDEF(Perl_pp_dump)
-PERL_PPDEF(Perl_pp_goto)
-PERL_PPDEF(Perl_pp_exit)
-PERL_PPDEF(Perl_pp_method_named)
-PERL_PPDEF(Perl_pp_entergiven)
-PERL_PPDEF(Perl_pp_leavegiven)
-PERL_PPDEF(Perl_pp_enterwhen)
-PERL_PPDEF(Perl_pp_leavewhen)
-PERL_PPDEF(Perl_pp_break)
-PERL_PPDEF(Perl_pp_continue)
-PERL_PPDEF(Perl_pp_open)
-PERL_PPDEF(Perl_pp_close)
-PERL_PPDEF(Perl_pp_pipe_op)
-PERL_PPDEF(Perl_pp_fileno)
-PERL_PPDEF(Perl_pp_umask)
-PERL_PPDEF(Perl_pp_binmode)
-PERL_PPDEF(Perl_pp_tie)
-PERL_PPDEF(Perl_pp_untie)
-PERL_PPDEF(Perl_pp_tied)
-PERL_PPDEF(Perl_pp_dbmopen)
-PERL_PPDEF(Perl_pp_dbmclose)
-PERL_PPDEF(Perl_pp_sselect)
-PERL_PPDEF(Perl_pp_select)
-PERL_PPDEF(Perl_pp_getc)
-PERL_PPDEF(Perl_pp_read)
-PERL_PPDEF(Perl_pp_enterwrite)
-PERL_PPDEF(Perl_pp_leavewrite)
-PERL_PPDEF(Perl_pp_prtf)
-PERL_PPDEF(Perl_pp_print)
-PERL_PPDEF(Perl_pp_say)
-PERL_PPDEF(Perl_pp_sysopen)
-PERL_PPDEF(Perl_pp_sysseek)
-PERL_PPDEF(Perl_pp_sysread)
-PERL_PPDEF(Perl_pp_syswrite)
-PERL_PPDEF(Perl_pp_eof)
-PERL_PPDEF(Perl_pp_tell)
-PERL_PPDEF(Perl_pp_seek)
-PERL_PPDEF(Perl_pp_truncate)
-PERL_PPDEF(Perl_pp_fcntl)
-PERL_PPDEF(Perl_pp_ioctl)
-PERL_PPDEF(Perl_pp_flock)
-PERL_PPDEF(Perl_pp_send)
-PERL_PPDEF(Perl_pp_recv)
-PERL_PPDEF(Perl_pp_socket)
-PERL_PPDEF(Perl_pp_sockpair)
-PERL_PPDEF(Perl_pp_bind)
-PERL_PPDEF(Perl_pp_connect)
-PERL_PPDEF(Perl_pp_listen)
-PERL_PPDEF(Perl_pp_accept)
-PERL_PPDEF(Perl_pp_shutdown)
-PERL_PPDEF(Perl_pp_gsockopt)
-PERL_PPDEF(Perl_pp_ssockopt)
-PERL_PPDEF(Perl_pp_getsockname)
-PERL_PPDEF(Perl_pp_getpeername)
-PERL_PPDEF(Perl_pp_lstat)
-PERL_PPDEF(Perl_pp_stat)
-PERL_PPDEF(Perl_pp_ftrread)
-PERL_PPDEF(Perl_pp_ftrwrite)
-PERL_PPDEF(Perl_pp_ftrexec)
-PERL_PPDEF(Perl_pp_fteread)
-PERL_PPDEF(Perl_pp_ftewrite)
-PERL_PPDEF(Perl_pp_fteexec)
-PERL_PPDEF(Perl_pp_ftis)
-PERL_PPDEF(Perl_pp_ftsize)
-PERL_PPDEF(Perl_pp_ftmtime)
-PERL_PPDEF(Perl_pp_ftatime)
-PERL_PPDEF(Perl_pp_ftctime)
-PERL_PPDEF(Perl_pp_ftrowned)
-PERL_PPDEF(Perl_pp_fteowned)
-PERL_PPDEF(Perl_pp_ftzero)
-PERL_PPDEF(Perl_pp_ftsock)
-PERL_PPDEF(Perl_pp_ftchr)
-PERL_PPDEF(Perl_pp_ftblk)
-PERL_PPDEF(Perl_pp_ftfile)
-PERL_PPDEF(Perl_pp_ftdir)
-PERL_PPDEF(Perl_pp_ftpipe)
-PERL_PPDEF(Perl_pp_ftsuid)
-PERL_PPDEF(Perl_pp_ftsgid)
-PERL_PPDEF(Perl_pp_ftsvtx)
-PERL_PPDEF(Perl_pp_ftlink)
-PERL_PPDEF(Perl_pp_fttty)
-PERL_PPDEF(Perl_pp_fttext)
-PERL_PPDEF(Perl_pp_ftbinary)
-PERL_PPDEF(Perl_pp_chdir)
-PERL_PPDEF(Perl_pp_chown)
-PERL_PPDEF(Perl_pp_chroot)
-PERL_PPDEF(Perl_pp_unlink)
-PERL_PPDEF(Perl_pp_chmod)
-PERL_PPDEF(Perl_pp_utime)
-PERL_PPDEF(Perl_pp_rename)
-PERL_PPDEF(Perl_pp_link)
-PERL_PPDEF(Perl_pp_symlink)
-PERL_PPDEF(Perl_pp_readlink)
-PERL_PPDEF(Perl_pp_mkdir)
-PERL_PPDEF(Perl_pp_rmdir)
-PERL_PPDEF(Perl_pp_open_dir)
-PERL_PPDEF(Perl_pp_readdir)
-PERL_PPDEF(Perl_pp_telldir)
-PERL_PPDEF(Perl_pp_seekdir)
-PERL_PPDEF(Perl_pp_rewinddir)
-PERL_PPDEF(Perl_pp_closedir)
-PERL_PPDEF(Perl_pp_fork)
-PERL_PPDEF(Perl_pp_wait)
-PERL_PPDEF(Perl_pp_waitpid)
-PERL_PPDEF(Perl_pp_system)
-PERL_PPDEF(Perl_pp_exec)
-PERL_PPDEF(Perl_pp_kill)
-PERL_PPDEF(Perl_pp_getppid)
-PERL_PPDEF(Perl_pp_getpgrp)
-PERL_PPDEF(Perl_pp_setpgrp)
-PERL_PPDEF(Perl_pp_getpriority)
-PERL_PPDEF(Perl_pp_setpriority)
-PERL_PPDEF(Perl_pp_time)
-PERL_PPDEF(Perl_pp_tms)
-PERL_PPDEF(Perl_pp_localtime)
-PERL_PPDEF(Perl_pp_gmtime)
-PERL_PPDEF(Perl_pp_alarm)
-PERL_PPDEF(Perl_pp_sleep)
-PERL_PPDEF(Perl_pp_shmget)
-PERL_PPDEF(Perl_pp_shmctl)
-PERL_PPDEF(Perl_pp_shmread)
-PERL_PPDEF(Perl_pp_shmwrite)
-PERL_PPDEF(Perl_pp_msgget)
-PERL_PPDEF(Perl_pp_msgctl)
-PERL_PPDEF(Perl_pp_msgsnd)
-PERL_PPDEF(Perl_pp_msgrcv)
-PERL_PPDEF(Perl_pp_semop)
-PERL_PPDEF(Perl_pp_semget)
-PERL_PPDEF(Perl_pp_semctl)
-PERL_PPDEF(Perl_pp_require)
-PERL_PPDEF(Perl_pp_dofile)
-PERL_PPDEF(Perl_pp_hintseval)
-PERL_PPDEF(Perl_pp_entereval)
-PERL_PPDEF(Perl_pp_leaveeval)
-PERL_PPDEF(Perl_pp_entertry)
-PERL_PPDEF(Perl_pp_leavetry)
-PERL_PPDEF(Perl_pp_ghbyname)
-PERL_PPDEF(Perl_pp_ghbyaddr)
-PERL_PPDEF(Perl_pp_ghostent)
-PERL_PPDEF(Perl_pp_gnbyname)
-PERL_PPDEF(Perl_pp_gnbyaddr)
-PERL_PPDEF(Perl_pp_gnetent)
-PERL_PPDEF(Perl_pp_gpbyname)
-PERL_PPDEF(Perl_pp_gpbynumber)
-PERL_PPDEF(Perl_pp_gprotoent)
-PERL_PPDEF(Perl_pp_gsbyname)
-PERL_PPDEF(Perl_pp_gsbyport)
-PERL_PPDEF(Perl_pp_gservent)
-PERL_PPDEF(Perl_pp_shostent)
-PERL_PPDEF(Perl_pp_snetent)
-PERL_PPDEF(Perl_pp_sprotoent)
-PERL_PPDEF(Perl_pp_sservent)
-PERL_PPDEF(Perl_pp_ehostent)
-PERL_PPDEF(Perl_pp_enetent)
-PERL_PPDEF(Perl_pp_eprotoent)
-PERL_PPDEF(Perl_pp_eservent)
-PERL_PPDEF(Perl_pp_gpwnam)
-PERL_PPDEF(Perl_pp_gpwuid)
-PERL_PPDEF(Perl_pp_gpwent)
-PERL_PPDEF(Perl_pp_spwent)
-PERL_PPDEF(Perl_pp_epwent)
-PERL_PPDEF(Perl_pp_ggrnam)
-PERL_PPDEF(Perl_pp_ggrgid)
-PERL_PPDEF(Perl_pp_ggrent)
-PERL_PPDEF(Perl_pp_sgrent)
-PERL_PPDEF(Perl_pp_egrent)
-PERL_PPDEF(Perl_pp_getlogin)
-PERL_PPDEF(Perl_pp_syscall)
-PERL_PPDEF(Perl_pp_lock)
-PERL_PPDEF(Perl_pp_once)
+PERL_CALLCONV OP *Perl_do_kv(pTHX);
+PERL_CALLCONV OP *Perl_pp_aassign(pTHX);
+PERL_CALLCONV OP *Perl_pp_abs(pTHX);
+PERL_CALLCONV OP *Perl_pp_accept(pTHX);
+PERL_CALLCONV OP *Perl_pp_add(pTHX);
+PERL_CALLCONV OP *Perl_pp_aeach(pTHX);
+PERL_CALLCONV OP *Perl_pp_aelem(pTHX);
+PERL_CALLCONV OP *Perl_pp_aelemfast(pTHX);
+PERL_CALLCONV OP *Perl_pp_akeys(pTHX);
+PERL_CALLCONV OP *Perl_pp_alarm(pTHX);
+PERL_CALLCONV OP *Perl_pp_and(pTHX);
+PERL_CALLCONV OP *Perl_pp_anoncode(pTHX);
+PERL_CALLCONV OP *Perl_pp_anonhash(pTHX);
+PERL_CALLCONV OP *Perl_pp_anonlist(pTHX);
+PERL_CALLCONV OP *Perl_pp_aslice(pTHX);
+PERL_CALLCONV OP *Perl_pp_atan2(pTHX);
+PERL_CALLCONV OP *Perl_pp_av2arylen(pTHX);
+PERL_CALLCONV OP *Perl_pp_backtick(pTHX);
+PERL_CALLCONV OP *Perl_pp_bind(pTHX);
+PERL_CALLCONV OP *Perl_pp_binmode(pTHX);
+PERL_CALLCONV OP *Perl_pp_bit_and(pTHX);
+PERL_CALLCONV OP *Perl_pp_bit_or(pTHX);
+PERL_CALLCONV OP *Perl_pp_bless(pTHX);
+PERL_CALLCONV OP *Perl_pp_boolkeys(pTHX);
+PERL_CALLCONV OP *Perl_pp_break(pTHX);
+PERL_CALLCONV OP *Perl_pp_caller(pTHX);
+PERL_CALLCONV OP *Perl_pp_chdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_chop(pTHX);
+PERL_CALLCONV OP *Perl_pp_chown(pTHX);
+PERL_CALLCONV OP *Perl_pp_chr(pTHX);
+PERL_CALLCONV OP *Perl_pp_chroot(pTHX);
+PERL_CALLCONV OP *Perl_pp_close(pTHX);
+PERL_CALLCONV OP *Perl_pp_closedir(pTHX);
+PERL_CALLCONV OP *Perl_pp_complement(pTHX);
+PERL_CALLCONV OP *Perl_pp_concat(pTHX);
+PERL_CALLCONV OP *Perl_pp_cond_expr(pTHX);
+PERL_CALLCONV OP *Perl_pp_const(pTHX);
+PERL_CALLCONV OP *Perl_pp_continue(pTHX);
+PERL_CALLCONV OP *Perl_pp_crypt(pTHX);
+PERL_CALLCONV OP *Perl_pp_dbmopen(pTHX);
+PERL_CALLCONV OP *Perl_pp_dbstate(pTHX);
+PERL_CALLCONV OP *Perl_pp_defined(pTHX);
+PERL_CALLCONV OP *Perl_pp_delete(pTHX);
+PERL_CALLCONV OP *Perl_pp_die(pTHX);
+PERL_CALLCONV OP *Perl_pp_divide(pTHX);
+PERL_CALLCONV OP *Perl_pp_each(pTHX);
+PERL_CALLCONV OP *Perl_pp_ehostent(pTHX);
+PERL_CALLCONV OP *Perl_pp_enter(pTHX);
+PERL_CALLCONV OP *Perl_pp_entereval(pTHX);
+PERL_CALLCONV OP *Perl_pp_entergiven(pTHX);
+PERL_CALLCONV OP *Perl_pp_enteriter(pTHX);
+PERL_CALLCONV OP *Perl_pp_enterloop(pTHX);
+PERL_CALLCONV OP *Perl_pp_entersub(pTHX);
+PERL_CALLCONV OP *Perl_pp_entertry(pTHX);
+PERL_CALLCONV OP *Perl_pp_enterwhen(pTHX);
+PERL_CALLCONV OP *Perl_pp_enterwrite(pTHX);
+PERL_CALLCONV OP *Perl_pp_eof(pTHX);
+PERL_CALLCONV OP *Perl_pp_eq(pTHX);
+PERL_CALLCONV OP *Perl_pp_exec(pTHX);
+PERL_CALLCONV OP *Perl_pp_exists(pTHX);
+PERL_CALLCONV OP *Perl_pp_exit(pTHX);
+PERL_CALLCONV OP *Perl_pp_fileno(pTHX);
+PERL_CALLCONV OP *Perl_pp_flip(pTHX);
+PERL_CALLCONV OP *Perl_pp_flock(pTHX);
+PERL_CALLCONV OP *Perl_pp_flop(pTHX);
+PERL_CALLCONV OP *Perl_pp_fork(pTHX);
+PERL_CALLCONV OP *Perl_pp_formline(pTHX);
+PERL_CALLCONV OP *Perl_pp_ftis(pTHX);
+PERL_CALLCONV OP *Perl_pp_ftlink(pTHX);
+PERL_CALLCONV OP *Perl_pp_ftrowned(pTHX);
+PERL_CALLCONV OP *Perl_pp_ftrread(pTHX);
+PERL_CALLCONV OP *Perl_pp_fttext(pTHX);
+PERL_CALLCONV OP *Perl_pp_fttty(pTHX);
+PERL_CALLCONV OP *Perl_pp_ge(pTHX);
+PERL_CALLCONV OP *Perl_pp_gelem(pTHX);
+PERL_CALLCONV OP *Perl_pp_getc(pTHX);
+PERL_CALLCONV OP *Perl_pp_getlogin(pTHX);
+PERL_CALLCONV OP *Perl_pp_getpeername(pTHX);
+PERL_CALLCONV OP *Perl_pp_getpgrp(pTHX);
+PERL_CALLCONV OP *Perl_pp_getppid(pTHX);
+PERL_CALLCONV OP *Perl_pp_getpriority(pTHX);
+PERL_CALLCONV OP *Perl_pp_ggrent(pTHX);
+PERL_CALLCONV OP *Perl_pp_ghostent(pTHX);
+PERL_CALLCONV OP *Perl_pp_glob(pTHX);
+PERL_CALLCONV OP *Perl_pp_gmtime(pTHX);
+PERL_CALLCONV OP *Perl_pp_gnetent(pTHX);
+PERL_CALLCONV OP *Perl_pp_goto(pTHX);
+PERL_CALLCONV OP *Perl_pp_gprotoent(pTHX);
+PERL_CALLCONV OP *Perl_pp_gpwent(pTHX);
+PERL_CALLCONV OP *Perl_pp_grepstart(pTHX);
+PERL_CALLCONV OP *Perl_pp_grepwhile(pTHX);
+PERL_CALLCONV OP *Perl_pp_gservent(pTHX);
+PERL_CALLCONV OP *Perl_pp_gt(pTHX);
+PERL_CALLCONV OP *Perl_pp_gv(pTHX);
+PERL_CALLCONV OP *Perl_pp_gvsv(pTHX);
+PERL_CALLCONV OP *Perl_pp_helem(pTHX);
+PERL_CALLCONV OP *Perl_pp_hintseval(pTHX);
+PERL_CALLCONV OP *Perl_pp_hslice(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_add(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_divide(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_eq(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_ge(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_gt(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_le(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_lt(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_modulo(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_multiply(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_ncmp(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_ne(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_negate(pTHX);
+PERL_CALLCONV OP *Perl_pp_i_subtract(pTHX);
+PERL_CALLCONV OP *Perl_pp_index(pTHX);
+PERL_CALLCONV OP *Perl_pp_int(pTHX);
+PERL_CALLCONV OP *Perl_pp_ioctl(pTHX);
+PERL_CALLCONV OP *Perl_pp_iter(pTHX);
+PERL_CALLCONV OP *Perl_pp_join(pTHX);
+PERL_CALLCONV OP *Perl_pp_last(pTHX);
+PERL_CALLCONV OP *Perl_pp_lc(pTHX);
+PERL_CALLCONV OP *Perl_pp_le(pTHX);
+PERL_CALLCONV OP *Perl_pp_leave(pTHX);
+PERL_CALLCONV OP *Perl_pp_leaveeval(pTHX);
+PERL_CALLCONV OP *Perl_pp_leavegiven(pTHX);
+PERL_CALLCONV OP *Perl_pp_leaveloop(pTHX);
+PERL_CALLCONV OP *Perl_pp_leavesub(pTHX);
+PERL_CALLCONV OP *Perl_pp_leavesublv(pTHX);
+PERL_CALLCONV OP *Perl_pp_leavetry(pTHX);
+PERL_CALLCONV OP *Perl_pp_leavewhen(pTHX);
+PERL_CALLCONV OP *Perl_pp_leavewrite(pTHX);
+PERL_CALLCONV OP *Perl_pp_left_shift(pTHX);
+PERL_CALLCONV OP *Perl_pp_length(pTHX);
+PERL_CALLCONV OP *Perl_pp_link(pTHX);
+PERL_CALLCONV OP *Perl_pp_list(pTHX);
+PERL_CALLCONV OP *Perl_pp_listen(pTHX);
+PERL_CALLCONV OP *Perl_pp_lock(pTHX);
+PERL_CALLCONV OP *Perl_pp_lslice(pTHX);
+PERL_CALLCONV OP *Perl_pp_lt(pTHX);
+PERL_CALLCONV OP *Perl_pp_mapwhile(pTHX);
+PERL_CALLCONV OP *Perl_pp_match(pTHX);
+PERL_CALLCONV OP *Perl_pp_method(pTHX);
+PERL_CALLCONV OP *Perl_pp_method_named(pTHX);
+PERL_CALLCONV OP *Perl_pp_mkdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_modulo(pTHX);
+PERL_CALLCONV OP *Perl_pp_multiply(pTHX);
+PERL_CALLCONV OP *Perl_pp_ncmp(pTHX);
+PERL_CALLCONV OP *Perl_pp_ne(pTHX);
+PERL_CALLCONV OP *Perl_pp_negate(pTHX);
+PERL_CALLCONV OP *Perl_pp_next(pTHX);
+PERL_CALLCONV OP *Perl_pp_nextstate(pTHX);
+PERL_CALLCONV OP *Perl_pp_not(pTHX);
+PERL_CALLCONV OP *Perl_pp_null(pTHX);
+PERL_CALLCONV OP *Perl_pp_oct(pTHX);
+PERL_CALLCONV OP *Perl_pp_once(pTHX);
+PERL_CALLCONV OP *Perl_pp_open(pTHX);
+PERL_CALLCONV OP *Perl_pp_open_dir(pTHX);
+PERL_CALLCONV OP *Perl_pp_or(pTHX);
+PERL_CALLCONV OP *Perl_pp_ord(pTHX);
+PERL_CALLCONV OP *Perl_pp_pack(pTHX);
+PERL_CALLCONV OP *Perl_pp_padav(pTHX);
+PERL_CALLCONV OP *Perl_pp_padhv(pTHX);
+PERL_CALLCONV OP *Perl_pp_padsv(pTHX);
+PERL_CALLCONV OP *Perl_pp_pipe_op(pTHX);
+PERL_CALLCONV OP *Perl_pp_pos(pTHX);
+PERL_CALLCONV OP *Perl_pp_postdec(pTHX);
+PERL_CALLCONV OP *Perl_pp_postinc(pTHX);
+PERL_CALLCONV OP *Perl_pp_pow(pTHX);
+PERL_CALLCONV OP *Perl_pp_predec(pTHX);
+PERL_CALLCONV OP *Perl_pp_preinc(pTHX);
+PERL_CALLCONV OP *Perl_pp_print(pTHX);
+PERL_CALLCONV OP *Perl_pp_prototype(pTHX);
+PERL_CALLCONV OP *Perl_pp_prtf(pTHX);
+PERL_CALLCONV OP *Perl_pp_push(pTHX);
+PERL_CALLCONV OP *Perl_pp_pushmark(pTHX);
+PERL_CALLCONV OP *Perl_pp_pushre(pTHX);
+PERL_CALLCONV OP *Perl_pp_qr(pTHX);
+PERL_CALLCONV OP *Perl_pp_quotemeta(pTHX);
+PERL_CALLCONV OP *Perl_pp_rand(pTHX);
+PERL_CALLCONV OP *Perl_pp_range(pTHX);
+PERL_CALLCONV OP *Perl_pp_rcatline(pTHX);
+PERL_CALLCONV OP *Perl_pp_readdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_readline(pTHX);
+PERL_CALLCONV OP *Perl_pp_readlink(pTHX);
+PERL_CALLCONV OP *Perl_pp_redo(pTHX);
+PERL_CALLCONV OP *Perl_pp_ref(pTHX);
+PERL_CALLCONV OP *Perl_pp_refgen(pTHX);
+PERL_CALLCONV OP *Perl_pp_regcomp(pTHX);
+PERL_CALLCONV OP *Perl_pp_regcreset(pTHX);
+PERL_CALLCONV OP *Perl_pp_rename(pTHX);
+PERL_CALLCONV OP *Perl_pp_repeat(pTHX);
+PERL_CALLCONV OP *Perl_pp_require(pTHX);
+PERL_CALLCONV OP *Perl_pp_reset(pTHX);
+PERL_CALLCONV OP *Perl_pp_return(pTHX);
+PERL_CALLCONV OP *Perl_pp_reverse(pTHX);
+PERL_CALLCONV OP *Perl_pp_rewinddir(pTHX);
+PERL_CALLCONV OP *Perl_pp_right_shift(pTHX);
+PERL_CALLCONV OP *Perl_pp_rkeys(pTHX);
+PERL_CALLCONV OP *Perl_pp_rmdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_rv2av(pTHX);
+PERL_CALLCONV OP *Perl_pp_rv2cv(pTHX);
+PERL_CALLCONV OP *Perl_pp_rv2gv(pTHX);
+PERL_CALLCONV OP *Perl_pp_rv2sv(pTHX);
+PERL_CALLCONV OP *Perl_pp_sassign(pTHX);
+PERL_CALLCONV OP *Perl_pp_schop(pTHX);
+PERL_CALLCONV OP *Perl_pp_scmp(pTHX);
+PERL_CALLCONV OP *Perl_pp_seekdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_select(pTHX);
+PERL_CALLCONV OP *Perl_pp_semctl(pTHX);
+PERL_CALLCONV OP *Perl_pp_semget(pTHX);
+PERL_CALLCONV OP *Perl_pp_seq(pTHX);
+PERL_CALLCONV OP *Perl_pp_setpgrp(pTHX);
+PERL_CALLCONV OP *Perl_pp_setpriority(pTHX);
+PERL_CALLCONV OP *Perl_pp_shift(pTHX);
+PERL_CALLCONV OP *Perl_pp_shmwrite(pTHX);
+PERL_CALLCONV OP *Perl_pp_shostent(pTHX);
+PERL_CALLCONV OP *Perl_pp_shutdown(pTHX);
+PERL_CALLCONV OP *Perl_pp_sin(pTHX);
+PERL_CALLCONV OP *Perl_pp_sle(pTHX);
+PERL_CALLCONV OP *Perl_pp_sleep(pTHX);
+PERL_CALLCONV OP *Perl_pp_smartmatch(pTHX);
+PERL_CALLCONV OP *Perl_pp_sne(pTHX);
+PERL_CALLCONV OP *Perl_pp_socket(pTHX);
+PERL_CALLCONV OP *Perl_pp_sockpair(pTHX);
+PERL_CALLCONV OP *Perl_pp_sort(pTHX);
+PERL_CALLCONV OP *Perl_pp_splice(pTHX);
+PERL_CALLCONV OP *Perl_pp_split(pTHX);
+PERL_CALLCONV OP *Perl_pp_sprintf(pTHX);
+PERL_CALLCONV OP *Perl_pp_srand(pTHX);
+PERL_CALLCONV OP *Perl_pp_srefgen(pTHX);
+PERL_CALLCONV OP *Perl_pp_sselect(pTHX);
+PERL_CALLCONV OP *Perl_pp_ssockopt(pTHX);
+PERL_CALLCONV OP *Perl_pp_stat(pTHX);
+PERL_CALLCONV OP *Perl_pp_stringify(pTHX);
+PERL_CALLCONV OP *Perl_pp_stub(pTHX);
+PERL_CALLCONV OP *Perl_pp_study(pTHX);
+PERL_CALLCONV OP *Perl_pp_subst(pTHX);
+PERL_CALLCONV OP *Perl_pp_substcont(pTHX);
+PERL_CALLCONV OP *Perl_pp_substr(pTHX);
+PERL_CALLCONV OP *Perl_pp_subtract(pTHX);
+PERL_CALLCONV OP *Perl_pp_syscall(pTHX);
+PERL_CALLCONV OP *Perl_pp_sysopen(pTHX);
+PERL_CALLCONV OP *Perl_pp_sysread(pTHX);
+PERL_CALLCONV OP *Perl_pp_sysseek(pTHX);
+PERL_CALLCONV OP *Perl_pp_system(pTHX);
+PERL_CALLCONV OP *Perl_pp_syswrite(pTHX);
+PERL_CALLCONV OP *Perl_pp_tell(pTHX);
+PERL_CALLCONV OP *Perl_pp_telldir(pTHX);
+PERL_CALLCONV OP *Perl_pp_tie(pTHX);
+PERL_CALLCONV OP *Perl_pp_tied(pTHX);
+PERL_CALLCONV OP *Perl_pp_time(pTHX);
+PERL_CALLCONV OP *Perl_pp_tms(pTHX);
+PERL_CALLCONV OP *Perl_pp_trans(pTHX);
+PERL_CALLCONV OP *Perl_pp_truncate(pTHX);
+PERL_CALLCONV OP *Perl_pp_uc(pTHX);
+PERL_CALLCONV OP *Perl_pp_ucfirst(pTHX);
+PERL_CALLCONV OP *Perl_pp_umask(pTHX);
+PERL_CALLCONV OP *Perl_pp_undef(pTHX);
+PERL_CALLCONV OP *Perl_pp_unpack(pTHX);
+PERL_CALLCONV OP *Perl_pp_unshift(pTHX);
+PERL_CALLCONV OP *Perl_pp_unstack(pTHX);
+PERL_CALLCONV OP *Perl_pp_untie(pTHX);
+PERL_CALLCONV OP *Perl_pp_vec(pTHX);
+PERL_CALLCONV OP *Perl_pp_wait(pTHX);
+PERL_CALLCONV OP *Perl_pp_waitpid(pTHX);
+PERL_CALLCONV OP *Perl_pp_wantarray(pTHX);
+PERL_CALLCONV OP *Perl_pp_warn(pTHX);
+PERL_CALLCONV OP *Perl_pp_xor(pTHX);
+PERL_CALLCONV OP *Perl_unimplemented_op(pTHX);
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/proto.h b/Master/tlpkg/tlperl/lib/CORE/proto.h
index 3306ab0d052..0b46a791149 100644
--- a/Master/tlpkg/tlperl/lib/CORE/proto.h
+++ b/Master/tlpkg/tlperl/lib/CORE/proto.h
@@ -1,153 +1,76 @@
-/* -*- buffer-read-only: t -*-
+/* -*- buffer-read-only: t -*-
*
* proto.h
*
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
+ * This file is built by regen/embed.pl from data in embed.fnc,
+ * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
* Any changes made here will be lost!
*
* Edit those files and run 'make regen_headers' to effect changes.
*/
START_EXTERN_C
+PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_AMUPDATE \
+ assert(stash)
-#if defined(PERL_IMPLICIT_SYS)
-PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem *ipM, struct IPerlMem *ipMS, struct IPerlMem *ipMP, struct IPerlEnv *ipE, struct IPerlStdIO *ipStd, struct IPerlLIO *ipLIO, struct IPerlDir *ipD, struct IPerlSock *ipS, struct IPerlProc *ipP)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- __attribute__nonnull__(6)
- __attribute__nonnull__(7)
- __attribute__nonnull__(8)
- __attribute__nonnull__(9);
-#define PERL_ARGS_ASSERT_PERL_ALLOC_USING \
- assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP)
-
-#endif
-PERL_CALLCONV PerlInterpreter* perl_alloc(void);
-PERL_CALLCONV void perl_construct(PerlInterpreter *my_perl)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PERL_CONSTRUCT \
- assert(my_perl)
-
-PERL_CALLCONV int perl_destruct(PerlInterpreter *my_perl)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PERL_DESTRUCT \
- assert(my_perl)
-
-PERL_CALLCONV void perl_free(PerlInterpreter *my_perl)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PERL_FREE \
- assert(my_perl)
-
-PERL_CALLCONV int perl_run(PerlInterpreter *my_perl)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PERL_RUN \
- assert(my_perl)
-
-PERL_CALLCONV int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char** argv, char** env)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PERL_PARSE \
- assert(my_perl)
-
-PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env)
- __attribute__warn_unused_result__;
-
-#if defined(USE_ITHREADS)
-PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter *proto_perl, UV flags)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PERL_CLONE \
- assert(proto_perl)
-
-# if defined(PERL_IMPLICIT_SYS)
-PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *proto_perl, UV flags, struct IPerlMem* ipM, struct IPerlMem* ipMS, struct IPerlMem* ipMP, struct IPerlEnv* ipE, struct IPerlStdIO* ipStd, struct IPerlLIO* ipLIO, struct IPerlDir* ipD, struct IPerlSock* ipS, struct IPerlProc* ipP)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- __attribute__nonnull__(6)
- __attribute__nonnull__(7)
- __attribute__nonnull__(8)
- __attribute__nonnull__(9)
- __attribute__nonnull__(10)
- __attribute__nonnull__(11);
-#define PERL_ARGS_ASSERT_PERL_CLONE_USING \
- assert(proto_perl); assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP)
-
-# endif
-#endif
-
-PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
+PERL_CALLCONV void Perl__append_range_to_invlist(pTHX_ HV* const invlist, const UV start, const UV end)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST \
+ assert(invlist)
-PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes)
- __attribute__malloc__
+PERL_CALLCONV HV* Perl__new_invlist(pTHX_ IV initial_size)
__attribute__warn_unused_result__;
-PERL_CALLCONV Free_t Perl_mfree(Malloc_t where);
-#if defined(MYMALLOC)
-PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p)
+PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV* const swash)
__attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_MALLOCED_SIZE \
- assert(p)
-
-PERL_CALLCONV MEM_SIZE Perl_malloc_good_size(size_t nbytes)
- __attribute__warn_unused_result__;
-
-#endif
-
-PERL_CALLCONV void* Perl_get_context(void)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_set_context(void *t)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SET_CONTEXT \
- assert(t)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH \
+ assert(swash)
-PERL_CALLCONV I32 Perl_regcurly(const char *s)
+PERL_CALLCONV HV* Perl__swash_to_invlist(pTHX_ SV* const swash)
__attribute__warn_unused_result__
- __attribute__pure__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_REGCURLY \
- assert(s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_TO_INVLIST \
+ assert(swash)
+PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \
+ assert(p); assert(lenp)
-END_EXTERN_C
+PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \
+ assert(p); assert(ustrp)
+
+PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_ALLOCMY \
+ assert(name)
-/* functions with flag 'n' should come before here */
-START_EXTERN_C
-# include "pp_proto.h"
PERL_CALLCONV SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_AMAGIC_CALL \
assert(left); assert(right)
-PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing)
+PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_AMUPDATE \
- assert(stash)
-
-PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id)
- __attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \
+ assert(ref)
-PERL_CALLCONV OP* Perl_append_elem(pTHX_ I32 optype, OP* first, OP* last);
-PERL_CALLCONV OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -161,11 +84,30 @@ PERL_CALLCONV void Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, co
#define PERL_ARGS_ASSERT_APPLY_ATTRS_STRING \
assert(stashpv); assert(cv); assert(attrstr)
+PERL_CALLCONV void Perl_atfork_lock(void);
+PERL_CALLCONV void Perl_atfork_unlock(void);
+PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV *av)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_AV_ARYLEN_P \
+ assert(av)
+
PERL_CALLCONV void Perl_av_clear(pTHX_ AV *av)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_CLEAR \
assert(av)
+PERL_CALLCONV void Perl_av_create_and_push(pTHX_ AV **const avp, SV *const val)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_AV_CREATE_AND_PUSH \
+ assert(avp); assert(val)
+
+PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *const val)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_AV_CREATE_AND_UNSHIFT_ONE \
+ assert(avp); assert(val)
+
PERL_CALLCONV SV* Perl_av_delete(pTHX_ AV *av, I32 key, I32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_DELETE \
@@ -193,6 +135,11 @@ PERL_CALLCONV void Perl_av_fill(pTHX_ AV *av, I32 fill)
#define PERL_ARGS_ASSERT_AV_FILL \
assert(av)
+PERL_CALLCONV IV* Perl_av_iter_p(pTHX_ AV *av)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_AV_ITER_P \
+ assert(av)
+
PERL_CALLCONV I32 Perl_av_len(pTHX_ AV *av)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -210,12 +157,6 @@ PERL_CALLCONV SV* Perl_av_pop(pTHX_ AV *av)
#define PERL_ARGS_ASSERT_AV_POP \
assert(av)
-PERL_CALLCONV void Perl_av_create_and_push(pTHX_ AV **const avp, SV *const val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_AV_CREATE_AND_PUSH \
- assert(avp); assert(val)
-
PERL_CALLCONV void Perl_av_push(pTHX_ AV *av, SV *val)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -243,34 +184,11 @@ PERL_CALLCONV void Perl_av_undef(pTHX_ AV *av)
#define PERL_ARGS_ASSERT_AV_UNDEF \
assert(av)
-PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *const val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_AV_CREATE_AND_UNSHIFT_ONE \
- assert(avp); assert(val)
-
PERL_CALLCONV void Perl_av_unshift(pTHX_ AV *av, I32 num)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_AV_UNSHIFT \
assert(av)
-PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV *av)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_AV_ARYLEN_P \
- assert(av)
-
-PERL_CALLCONV IV* Perl_av_iter_p(pTHX_ AV *av)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_AV_ITER_P \
- assert(av)
-
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
-STATIC MAGIC* S_get_aux_mg(pTHX_ AV *av)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_AUX_MG \
- assert(av)
-
-#endif
PERL_CALLCONV OP* Perl_bind_match(pTHX_ I32 type, OP *left, OP *right)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2)
@@ -287,209 +205,472 @@ PERL_CALLCONV I32 Perl_block_gimme(pTHX)
PERL_CALLCONV int Perl_block_start(pTHX_ int full)
__attribute__warn_unused_result__;
-PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
+PERL_CALLCONV void Perl_blockhook_register(pTHX_ BHK *hk)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER \
+ assert(hk)
+
PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX);
+PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
+PERL_CALLCONV void Perl_boot_core_mro(pTHX);
+PERL_CALLCONV int Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_BYTES_CMP_UTF8 \
+ assert(b); assert(u)
+
+PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_BYTES_FROM_UTF8 \
+ assert(s); assert(len)
+
+PERL_CALLCONV U8* Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_BYTES_TO_UTF8 \
+ assert(s); assert(len)
+
+PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CALL_ARGV \
+ assert(sub_name); assert(argv)
+
+PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV *paramList)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_CALL_LIST \
assert(paramList)
+PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CALL_METHOD \
+ assert(methname)
+
+PERL_CALLCONV I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CALL_PV \
+ assert(sub_name)
+
+PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, VOL I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CALL_SV \
+ assert(sv)
+
+PERL_CALLCONV const PERL_CONTEXT * Perl_caller_cx(pTHX_ I32 level, const PERL_CONTEXT **dbcxp);
+PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* statbufp)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_CANDO \
assert(statbufp)
-PERL_CALLCONV U32 Perl_cast_ulong(pTHX_ NV f)
- __attribute__warn_unused_result__;
-
PERL_CALLCONV I32 Perl_cast_i32(pTHX_ NV f)
__attribute__warn_unused_result__;
PERL_CALLCONV IV Perl_cast_iv(pTHX_ NV f)
__attribute__warn_unused_result__;
-PERL_CALLCONV UV Perl_cast_uv(pTHX_ NV f)
+PERL_CALLCONV U32 Perl_cast_ulong(pTHX_ NV f)
__attribute__warn_unused_result__;
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-PERL_CALLCONV I32 Perl_my_chsize(pTHX_ int fd, Off_t length)
+PERL_CALLCONV UV Perl_cast_uv(pTHX_ NV f)
__attribute__warn_unused_result__;
-#endif
-PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
- __attribute__warn_unused_result__;
+PERL_CALLCONV bool Perl_check_utf8_print(pTHX_ const U8 *s, const STRLEN len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CHECK_UTF8_PRINT \
+ assert(s)
-PERL_CALLCONV PERL_CONTEXT* Perl_create_eval_scope(pTHX_ U32 flags);
-PERL_CALLCONV void Perl_croak(pTHX_ const char* pat, ...)
- __attribute__noreturn__
- __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
+PERL_CALLCONV OP * Perl_ck_anoncode(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_ANONCODE \
+ assert(o)
-PERL_CALLCONV void Perl_vcroak(pTHX_ const char* pat, va_list* args)
- __attribute__noreturn__;
+PERL_CALLCONV OP * Perl_ck_bitop(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_BITOP \
+ assert(o)
-PERL_CALLCONV void Perl_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
- __attribute__noreturn__
+PERL_CALLCONV OP * Perl_ck_chdir(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_CHDIR \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_concat(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_CONCAT \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_defined(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_DEFINED \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_delete(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_DELETE \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_die(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_DIE \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_each(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_EACH \
+ assert(o)
+
+PERL_CALLCONV OP* Perl_ck_entersub_args_list(pTHX_ OP *entersubop)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST \
+ assert(entersubop)
+
+PERL_CALLCONV OP* Perl_ck_entersub_args_proto(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_CROAK_XS_USAGE \
- assert(cv); assert(params)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO \
+ assert(entersubop); assert(namegv); assert(protosv)
+PERL_CALLCONV OP* Perl_ck_entersub_args_proto_or_list(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO_OR_LIST \
+ assert(entersubop); assert(namegv); assert(protosv)
-#if defined(PERL_IMPLICIT_CONTEXT)
-PERL_CALLCONV void Perl_croak_nocontext(const char* pat, ...)
- __attribute__noreturn__
- __attribute__format__null_ok__(__printf__,1,2);
+PERL_CALLCONV OP * Perl_ck_eof(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_EOF \
+ assert(o)
-PERL_CALLCONV OP* Perl_die_nocontext(const char* pat, ...)
- __attribute__format__null_ok__(__printf__,1,2);
+PERL_CALLCONV OP * Perl_ck_eval(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_EVAL \
+ assert(o)
-PERL_CALLCONV void Perl_deb_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_DEB_NOCONTEXT \
- assert(pat)
+PERL_CALLCONV OP * Perl_ck_exec(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_EXEC \
+ assert(o)
-PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_FORM_NOCONTEXT \
- assert(pat)
+PERL_CALLCONV OP * Perl_ck_exists(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_EXISTS \
+ assert(o)
-PERL_CALLCONV void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_LOAD_MODULE_NOCONTEXT \
- assert(name)
+PERL_CALLCONV OP * Perl_ck_exit(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_EXIT \
+ assert(o)
-PERL_CALLCONV SV* Perl_mess_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_MESS_NOCONTEXT \
- assert(pat)
+PERL_CALLCONV OP * Perl_ck_ftst(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_FTST \
+ assert(o)
-PERL_CALLCONV void Perl_warn_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_WARN_NOCONTEXT \
- assert(pat)
+PERL_CALLCONV OP * Perl_ck_fun(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_FUN \
+ assert(o)
-PERL_CALLCONV void Perl_warner_nocontext(U32 err, const char* pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_WARNER_NOCONTEXT \
- assert(pat)
+PERL_CALLCONV OP * Perl_ck_glob(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_GLOB \
+ assert(o)
-PERL_CALLCONV SV* Perl_newSVpvf_nocontext(const char *const pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_NEWSVPVF_NOCONTEXT \
- assert(pat)
+PERL_CALLCONV OP * Perl_ck_grep(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_GREP \
+ assert(o)
-PERL_CALLCONV void Perl_sv_catpvf_nocontext(SV *const sv, const char *const pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_SV_CATPVF_NOCONTEXT \
- assert(sv); assert(pat)
+PERL_CALLCONV OP * Perl_ck_index(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_INDEX \
+ assert(o)
-PERL_CALLCONV void Perl_sv_setpvf_nocontext(SV *const sv, const char *const pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_SV_SETPVF_NOCONTEXT \
- assert(sv); assert(pat)
+PERL_CALLCONV OP * Perl_ck_join(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_JOIN \
+ assert(o)
-PERL_CALLCONV void Perl_sv_catpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_SV_CATPVF_MG_NOCONTEXT \
- assert(sv); assert(pat)
+PERL_CALLCONV OP * Perl_ck_lfun(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_LFUN \
+ assert(o)
-PERL_CALLCONV void Perl_sv_setpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_SV_SETPVF_MG_NOCONTEXT \
- assert(sv); assert(pat)
+PERL_CALLCONV OP * Perl_ck_listiob(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_LISTIOB \
+ assert(o)
-PERL_CALLCONV int Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT \
- assert(stream); assert(format)
+PERL_CALLCONV OP * Perl_ck_match(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_MATCH \
+ assert(o)
-PERL_CALLCONV int Perl_printf_nocontext(const char *format, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PRINTF_NOCONTEXT \
- assert(format)
+PERL_CALLCONV OP * Perl_ck_method(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_METHOD \
+ assert(o)
-#endif
-PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
+PERL_CALLCONV OP * Perl_ck_null(pTHX_ OP *o)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN \
- assert(cv)
+#define PERL_ARGS_ASSERT_CK_NULL \
+ assert(o)
-PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
+PERL_CALLCONV OP * Perl_ck_open(pTHX_ OP *o)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CV_CLONE \
- assert(proto)
+#define PERL_ARGS_ASSERT_CK_OPEN \
+ assert(o)
-PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv)
+PERL_CALLCONV OP * Perl_ck_readline(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_CONST_SV \
- assert(gv)
+#define PERL_ARGS_ASSERT_CK_READLINE \
+ assert(o)
-PERL_CALLCONV SV* Perl_cv_const_sv(pTHX_ const CV *const cv)
- __attribute__warn_unused_result__;
+PERL_CALLCONV OP * Perl_ck_repeat(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_REPEAT \
+ assert(o)
-PERL_CALLCONV SV* Perl_op_const_sv(pTHX_ const OP* o, CV* cv)
- __attribute__warn_unused_result__;
+PERL_CALLCONV OP * Perl_ck_require(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_REQUIRE \
+ assert(o)
-PERL_CALLCONV void Perl_cv_undef(pTHX_ CV* cv)
+PERL_CALLCONV OP * Perl_ck_return(pTHX_ OP *o)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CV_UNDEF \
- assert(cv)
+#define PERL_ARGS_ASSERT_CK_RETURN \
+ assert(o)
-PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx)
+PERL_CALLCONV OP * Perl_ck_rfun(pTHX_ OP *o)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CX_DUMP \
- assert(cx)
+#define PERL_ARGS_ASSERT_CK_RFUN \
+ assert(o)
-PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
-PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp)
+PERL_CALLCONV OP * Perl_ck_rvconst(pTHX_ OP *o)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FILTER_DEL \
- assert(funcp)
+#define PERL_ARGS_ASSERT_CK_RVCONST \
+ assert(o)
-PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
+PERL_CALLCONV OP * Perl_ck_sassign(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_FILTER_READ \
- assert(buf_sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SASSIGN \
+ assert(o)
-PERL_CALLCONV char** Perl_get_op_descs(pTHX)
+PERL_CALLCONV OP * Perl_ck_select(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SELECT \
+ assert(o)
-PERL_CALLCONV char** Perl_get_op_names(pTHX)
+PERL_CALLCONV OP * Perl_ck_shift(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SHIFT \
+ assert(o)
-PERL_CALLCONV const char* Perl_get_no_modify(pTHX)
+PERL_CALLCONV OP * Perl_ck_smartmatch(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SMARTMATCH \
+ assert(o)
-PERL_CALLCONV U32* Perl_get_opargs(pTHX)
+PERL_CALLCONV OP * Perl_ck_sort(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SORT \
+ assert(o)
-PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX)
+PERL_CALLCONV OP * Perl_ck_spair(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SPAIR \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_split(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SPLIT \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_subr(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SUBR \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_substr(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SUBSTR \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_svconst(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_SVCONST \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_trunc(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_TRUNC \
+ assert(o)
+
+PERL_CALLCONV OP * Perl_ck_unpack(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_UNPACK \
+ assert(o)
+
+PERL_CALLCONV void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_2,pTHX_3)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CK_WARNER \
+ assert(pat)
+
+PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_2,pTHX_3)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CK_WARNER_D \
+ assert(pat)
+
+PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w);
+PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
+PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV PERL_CONTEXT* Perl_create_eval_scope(pTHX_ U32 flags);
+PERL_CALLCONV void Perl_croak(pTHX_ const char* pat, ...)
+ __attribute__noreturn__
+ __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
+
+PERL_CALLCONV void Perl_croak_no_modify(pTHX)
+ __attribute__noreturn__;
+
+PERL_CALLCONV void Perl_croak_sv(pTHX_ SV *baseex)
+ __attribute__noreturn__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CROAK_SV \
+ assert(baseex)
+
+PERL_CALLCONV void Perl_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
+ __attribute__noreturn__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CROAK_XS_USAGE \
+ assert(cv); assert(params)
+
+PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \
+ assert(o)
+
+PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \
+ assert(o)
+
+PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \
+ assert(ppaddr); assert(xop)
+
+PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
+ __attribute__pure__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CUSTOM_OP_XOP \
+ assert(o)
+
+PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN \
+ assert(cv)
+
+PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CV_CLONE \
+ assert(proto)
+
+PERL_CALLCONV SV* Perl_cv_const_sv(pTHX_ const CV *const cv)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV void Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER \
+ assert(cv); assert(ckfun_p); assert(ckobj_p)
+
+PERL_CALLCONV void Perl_cv_set_call_checker(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER \
+ assert(cv); assert(ckfun); assert(ckobj)
+
+PERL_CALLCONV void Perl_cv_undef(pTHX_ CV* cv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CV_UNDEF \
+ assert(cv)
+
+PERL_CALLCONV void Perl_cvgv_set(pTHX_ CV* cv, GV* gv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CVGV_SET \
+ assert(cv)
+
+PERL_CALLCONV void Perl_cvstash_set(pTHX_ CV* cv, HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CVSTASH_SET \
+ assert(cv)
+
+PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CX_DUMP \
+ assert(cx)
PERL_CALLCONV I32 Perl_cxinc(pTHX)
__attribute__warn_unused_result__;
@@ -500,19 +681,16 @@ PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...)
#define PERL_ARGS_ASSERT_DEB \
assert(pat)
-PERL_CALLCONV void Perl_vdeb(pTHX_ const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VDEB \
- assert(pat)
-
-PERL_CALLCONV void Perl_debprofdump(pTHX);
+PERL_CALLCONV void Perl_deb_stack_all(pTHX);
PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DEBOP \
assert(o)
+PERL_CALLCONV void Perl_debprofdump(pTHX);
PERL_CALLCONV I32 Perl_debstack(pTHX);
PERL_CALLCONV I32 Perl_debstackptrs(pTHX);
+PERL_CALLCONV void Perl_delete_eval_scope(pTHX);
PERL_CALLCONV char* Perl_delimcpy(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -522,17 +700,21 @@ PERL_CALLCONV char* Perl_delimcpy(char* to, const char* toend, const char* from,
#define PERL_ARGS_ASSERT_DELIMCPY \
assert(to); assert(toend); assert(from); assert(fromend); assert(retlen)
-PERL_CALLCONV void Perl_delete_eval_scope(pTHX);
+PERL_CALLCONV void Perl_despatch_signals(pTHX);
PERL_CALLCONV OP* Perl_die(pTHX_ const char* pat, ...)
__attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_vdie(pTHX_ const char* pat, va_list* args);
-#endif
-PERL_CALLCONV void Perl_die_where(pTHX_ SV* msv)
- __attribute__noreturn__;
+PERL_CALLCONV OP* Perl_die_sv(pTHX_ SV *baseex)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DIE_SV \
+ assert(baseex)
+
+PERL_CALLCONV void Perl_die_unwind(pTHX_ SV* msv)
+ __attribute__noreturn__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DIE_UNWIND \
+ assert(msv)
-PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix);
/* PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3); */
@@ -550,104 +732,36 @@ PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
#define PERL_ARGS_ASSERT_DO_BINMODE \
assert(fp)
-PERL_CALLCONV void Perl_do_chop(pTHX_ SV *astr, SV *sv)
- __attribute__nonnull__(pTHX_1)
+PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
+PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_CHOP \
- assert(astr); assert(sv)
+#define PERL_ARGS_ASSERT_DO_DUMP_PAD \
+ assert(file)
-PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
PERL_CALLCONV bool Perl_do_eof(pTHX_ GV* gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DO_EOF \
assert(gv)
-
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_DO_EXEC \
- assert(cmd)
-
-#else
-PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_EXEC \
- assert(cmd)
-
-#endif
-
-#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
-PERL_CALLCONV int Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_ASPAWN \
- assert(mark); assert(sp)
-
-PERL_CALLCONV int Perl_do_spawn(pTHX_ char* cmd)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_SPAWN \
- assert(cmd)
-
-PERL_CALLCONV int Perl_do_spawn_nowait(pTHX_ char* cmd)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_SPAWN_NOWAIT \
- assert(cmd)
-
-#endif
-#if !defined(WIN32)
-PERL_CALLCONV bool Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_EXEC3 \
- assert(incmd)
-
-#endif
PERL_CALLCONV void Perl_do_execfree(pTHX);
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
-STATIC void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_EXEC_FAILED \
- assert(cmd)
-
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-PERL_CALLCONV I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp)
+PERL_CALLCONV void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_IPCCTL \
- assert(mark); assert(sp)
+#define PERL_ARGS_ASSERT_DO_GV_DUMP \
+ assert(file); assert(name)
-PERL_CALLCONV I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp)
+PERL_CALLCONV void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_IPCGET \
- assert(mark); assert(sp)
-
-PERL_CALLCONV I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_MSGRCV \
- assert(mark); assert(sp)
-
-PERL_CALLCONV I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_MSGSND \
- assert(mark); assert(sp)
-
-PERL_CALLCONV I32 Perl_do_semop(pTHX_ SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_SEMOP \
- assert(mark); assert(sp)
+#define PERL_ARGS_ASSERT_DO_GVGV_DUMP \
+ assert(file); assert(name)
-PERL_CALLCONV I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp)
+PERL_CALLCONV void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, const char *name, HV *sv)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_SHMIO \
- assert(mark); assert(sp)
+#define PERL_ARGS_ASSERT_DO_HV_DUMP \
+ assert(file); assert(name)
-#endif
PERL_CALLCONV void Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -656,7 +770,17 @@ PERL_CALLCONV void Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp)
#define PERL_ARGS_ASSERT_DO_JOIN \
assert(sv); assert(delim); assert(mark); assert(sp)
-PERL_CALLCONV OP* Perl_do_kv(pTHX);
+PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \
+ assert(file); assert(mg)
+
+PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_OP_DUMP \
+ assert(file)
+
/* PERL_CALLCONV bool Perl_do_open(pTHX_ GV* gv, const char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2); */
@@ -676,6 +800,11 @@ PERL_CALLCONV bool Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int a
#define PERL_ARGS_ASSERT_DO_OPENN \
assert(gv); assert(oname)
+PERL_CALLCONV void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_PMOP_DUMP \
+ assert(file)
+
PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_DO_PRINT \
@@ -684,11 +813,6 @@ PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp)
PERL_CALLCONV OP* Perl_do_readline(pTHX)
__attribute__warn_unused_result__;
-PERL_CALLCONV I32 Perl_do_chomp(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_CHOMP \
- assert(sv)
-
PERL_CALLCONV bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg)
__attribute__nonnull__(pTHX_1)
@@ -696,6 +820,11 @@ PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg)
#define PERL_ARGS_ASSERT_DO_SPRINTF \
assert(sv); assert(sarg)
+PERL_CALLCONV void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_SV_DUMP \
+ assert(file)
+
PERL_CALLCONV Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DO_SYSSEEK \
@@ -734,35 +863,33 @@ PERL_CALLCONV OP* Perl_dofile(pTHX_ OP* term, I32 force_builtin)
#define PERL_ARGS_ASSERT_DOFILE \
assert(term)
+PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DOREF \
+ assert(o)
+
+PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix);
PERL_CALLCONV I32 Perl_dowantarray(pTHX)
__attribute__warn_unused_result__;
PERL_CALLCONV void Perl_dump_all(pTHX);
PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl);
PERL_CALLCONV void Perl_dump_eval(pTHX);
-#if defined(DUMP_FDS)
-PERL_CALLCONV void Perl_dump_fds(pTHX_ char* s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DUMP_FDS \
- assert(s)
-
-#endif
PERL_CALLCONV void Perl_dump_form(pTHX_ const GV* gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DUMP_FORM \
assert(gv)
-PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_DUMP \
- assert(gv)
-
-PERL_CALLCONV void Perl_op_dump(pTHX_ const OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OP_DUMP \
- assert(o)
+PERL_CALLCONV void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_3,pTHX_4)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_DUMP_INDENT \
+ assert(file); assert(pat)
-PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm);
PERL_CALLCONV void Perl_dump_packsubs(pTHX_ const HV* stash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DUMP_PACKSUBS \
@@ -783,6 +910,28 @@ PERL_CALLCONV void Perl_dump_sub_perl(pTHX_ const GV* gv, bool justperl)
#define PERL_ARGS_ASSERT_DUMP_SUB_PERL \
assert(gv)
+PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_DUMP_VINDENT \
+ assert(file); assert(pat)
+
+PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_EMULATE_COP_IO \
+ assert(c); assert(sv)
+
+PERL_CALLCONV SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_EVAL_PV \
+ assert(p)
+
+PERL_CALLCONV I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_EVAL_SV \
+ assert(sv)
+
PERL_CALLCONV void Perl_fbm_compile(pTHX_ SV* sv, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FBM_COMPILE \
@@ -796,53 +945,183 @@ PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bige
#define PERL_ARGS_ASSERT_FBM_INSTR \
assert(big); assert(bigend); assert(littlestr)
+PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
+ assert(name)
+
+PERL_CALLCONV const char * Perl_fetch_cop_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FETCH_COP_LABEL \
+ assert(cop)
+
+PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
+PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FILTER_DEL \
+ assert(funcp)
+
+PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_FILTER_READ \
+ assert(buf_sv)
+
+PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV SV* Perl_find_rundefsv(pTHX);
+PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX)
+ __attribute__deprecated__;
+
PERL_CALLCONV char* Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char *const *const search_ext, I32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FIND_SCRIPT \
assert(scriptname)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_force_list(pTHX_ OP* arg);
-STATIC OP* S_fold_constants(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FOLD_CONSTANTS \
- assert(o)
+PERL_CALLCONV I32 Perl_foldEQ(const char* a, const char* b, I32 len)
+ __attribute__pure__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_FOLDEQ \
+ assert(a); assert(b)
+
+PERL_CALLCONV I32 Perl_foldEQ_latin1(const char* a, const char* b, I32 len)
+ __attribute__pure__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_FOLDEQ_LATIN1 \
+ assert(a); assert(b)
+
+PERL_CALLCONV I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len)
+ __attribute__pure__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_FOLDEQ_LOCALE \
+ assert(a); assert(b)
+
+/* PERL_CALLCONV I32 foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_5); */
+
+PERL_CALLCONV I32 Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS \
+ assert(s1); assert(s2)
-#endif
PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...)
__attribute__format__(__printf__,pTHX_1,pTHX_2)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FORM \
assert(pat)
-PERL_CALLCONV char* Perl_vform(pTHX_ const char* pat, va_list* args)
+PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX);
+PERL_CALLCONV void Perl_free_tmps(pTHX);
+PERL_CALLCONV AV* Perl_get_av(pTHX_ const char *name, I32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VFORM \
- assert(pat)
+#define PERL_ARGS_ASSERT_GET_AV \
+ assert(name)
-PERL_CALLCONV void Perl_free_tmps(pTHX);
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_gen_constant_list(pTHX_ OP* o);
-#endif
-#if !defined(HAS_GETENV_LEN)
-PERL_CALLCONV char* Perl_getenv_len(pTHX_ const char *env_elem, unsigned long *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GETENV_LEN \
- assert(env_elem); assert(len)
+PERL_CALLCONV void* Perl_get_context(void)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_CV \
+ assert(name)
+
+PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_CVN_FLAGS \
+ assert(name)
-#endif
PERL_CALLCONV void Perl_get_db_sub(pTHX_ SV **svp, CV *cv)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_GET_DB_SUB \
assert(cv)
+PERL_CALLCONV UV Perl_get_hash_seed(pTHX)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char *name, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_HV \
+ assert(name)
+
+PERL_CALLCONV const char* Perl_get_no_modify(pTHX)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV char** Perl_get_op_descs(pTHX)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV char** Perl_get_op_names(pTHX)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV U32* Perl_get_opargs(pTHX)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv);
+PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char *name, I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_SV \
+ assert(name)
+
+PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GETCWD_SV \
+ assert(sv)
+
PERL_CALLCONV void Perl_gp_free(pTHX_ GV* gv);
PERL_CALLCONV GP* Perl_gp_ref(pTHX_ GP* gp);
-PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type);
+PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GROK_BIN \
+ assert(start); assert(len_p); assert(flags)
+
+PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GROK_HEX \
+ assert(start); assert(len_p); assert(flags)
+
+PERL_CALLCONV int Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GROK_NUMBER \
+ assert(pv)
+
+PERL_CALLCONV bool Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX \
+ assert(sp); assert(send)
+
+PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GROK_OCT \
+ assert(start); assert(len_p); assert(flags)
+
/* PERL_CALLCONV GV* Perl_gv_AVadd(pTHX_ GV *gv); */
/* PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV *gv); */
/* PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv); */
+PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type);
PERL_CALLCONV GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
@@ -854,6 +1133,17 @@ PERL_CALLCONV void Perl_gv_check(pTHX_ const HV* stash)
#define PERL_ARGS_ASSERT_GV_CHECK \
assert(stash)
+PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_CONST_SV \
+ assert(gv)
+
+PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_DUMP \
+ assert(gv)
+
PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -915,6 +1205,16 @@ PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, const svtyp
#define PERL_ARGS_ASSERT_GV_FETCHPV \
assert(nambeg)
+PERL_CALLCONV GV* Perl_gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, I32 flags, const svtype sv_type)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_FETCHPVN_FLAGS \
+ assert(name)
+
+PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_FETCHSV \
+ assert(name)
+
PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -933,10 +1233,8 @@ PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* pre
#define PERL_ARGS_ASSERT_GV_FULLNAME4 \
assert(sv); assert(gv)
-PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEWGP \
- assert(gv)
+PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id)
+ __attribute__warn_unused_result__;
PERL_CALLCONV void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
__attribute__nonnull__(pTHX_1)
@@ -950,11 +1248,6 @@ PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32
#define PERL_ARGS_ASSERT_GV_NAME_SET \
assert(gv); assert(name)
-PERL_CALLCONV void Perl_gv_try_downgrade(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_TRY_DOWNGRADE \
- assert(gv)
-
PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_STASHPV \
@@ -970,8 +1263,31 @@ PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags)
#define PERL_ARGS_ASSERT_GV_STASHSV \
assert(sv)
+PERL_CALLCONV void Perl_gv_try_downgrade(pTHX_ GV* gv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_TRY_DOWNGRADE \
+ assert(gv)
+
+PERL_CALLCONV AV** Perl_hv_backreferences_p(pTHX_ HV *hv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_BACKREFERENCES_P \
+ assert(hv)
+
PERL_CALLCONV void Perl_hv_clear(pTHX_ HV *hv);
-PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv);
+PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV *hv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS \
+ assert(hv)
+
+PERL_CALLCONV void* Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char* key, STRLEN klen, int flags, int action, SV *val, U32 hash);
+PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN \
+ assert(key)
+
+PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_HV_DELAYFREE_ENT \
@@ -987,6 +1303,29 @@ PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry)
#define PERL_ARGS_ASSERT_HV_DELETE_ENT \
assert(keysv)
+PERL_CALLCONV HE** Perl_hv_eiter_p(pTHX_ HV *hv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_EITER_P \
+ assert(hv)
+
+PERL_CALLCONV void Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_EITER_SET \
+ assert(hv)
+
+PERL_CALLCONV void Perl_hv_ename_add(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HV_ENAME_ADD \
+ assert(hv); assert(name)
+
+PERL_CALLCONV void Perl_hv_ename_delete(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HV_ENAME_DELETE \
+ assert(hv); assert(name)
+
/* PERL_CALLCONV bool Perl_hv_exists(pTHX_ HV *hv, const char *key, I32 klen)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2); */
@@ -1009,11 +1348,10 @@ PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry)
#define PERL_ARGS_ASSERT_HV_FETCH_ENT \
assert(keysv)
-PERL_CALLCONV void* Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char* key, STRLEN klen, int flags, int action, SV *val, U32 hash);
-PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN \
- assert(key)
+PERL_CALLCONV STRLEN Perl_hv_fill(pTHX_ HV const *const hv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_FILL \
+ assert(hv)
PERL_CALLCONV void Perl_hv_free_ent(pTHX_ HV *hv, HE *entryK)
__attribute__nonnull__(pTHX_1);
@@ -1044,6 +1382,12 @@ PERL_CALLCONV SV* Perl_hv_iterkeysv(pTHX_ HE* entry)
#define PERL_ARGS_ASSERT_HV_ITERNEXT \
assert(hv)
+PERL_CALLCONV HE* Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_ITERNEXT_FLAGS \
+ assert(hv)
+
PERL_CALLCONV SV* Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -1052,12 +1396,6 @@ PERL_CALLCONV SV* Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen)
#define PERL_ARGS_ASSERT_HV_ITERNEXTSV \
assert(hv); assert(key); assert(retlen)
-PERL_CALLCONV HE* Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_ITERNEXT_FLAGS \
- assert(hv)
-
PERL_CALLCONV SV* Perl_hv_iterval(pTHX_ HV *hv, HE *entry)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -1075,47 +1413,62 @@ PERL_CALLCONV void Perl_hv_ksplit(pTHX_ HV *hv, IV newmax)
#define PERL_ARGS_ASSERT_HV_MAGIC \
assert(hv)
-PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c);
-PERL_CALLCONV SV * Perl_refcounted_he_fetch(pTHX_ const struct refcounted_he *chain, SV *keysv, const char *key, STRLEN klen, int flags, U32 hash);
-PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he);
-PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new(pTHX_ struct refcounted_he *const parent, SV *const key, SV *const value);
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-STATIC struct refcounted_he * S_refcounted_he_new_common(pTHX_ struct refcounted_he *const parent, const char *const key_p, const STRLEN key_len, const char flags, char value_type, const void *value, const STRLEN value_len)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_6);
-#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_COMMON \
- assert(key_p); assert(value)
+PERL_CALLCONV void Perl_hv_name_set(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_NAME_SET \
+ assert(hv)
+
+PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ const HV *hv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET \
+ assert(hv)
+
+PERL_CALLCONV I32* Perl_hv_placeholders_p(pTHX_ HV *hv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P \
+ assert(hv)
+
+PERL_CALLCONV void Perl_hv_placeholders_set(pTHX_ HV *hv, I32 ph)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET \
+ assert(hv)
+
+PERL_CALLCONV I32* Perl_hv_riter_p(pTHX_ HV *hv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_RITER_P \
+ assert(hv)
+
+PERL_CALLCONV void Perl_hv_riter_set(pTHX_ HV *hv, I32 riter)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_RITER_SET \
+ assert(hv)
+
+PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_SCALAR \
+ assert(hv)
-#endif
/* PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash); */
/* PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash); */
/* PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags); */
-PERL_CALLCONV void Perl_hv_undef(pTHX_ HV *hv);
-PERL_CALLCONV I32 Perl_ibcmp(const char* a, const char* b, I32 len)
- __attribute__pure__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_IBCMP \
- assert(a); assert(b)
-
-PERL_CALLCONV I32 Perl_ibcmp_locale(const char* a, const char* b, I32 len)
- __attribute__pure__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_IBCMP_LOCALE \
- assert(a); assert(b)
+/* PERL_CALLCONV void hv_undef(pTHX_ HV *hv); */
+PERL_CALLCONV void Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags);
+/* PERL_CALLCONV I32 ibcmp(pTHX_ const char* a, const char* b, I32 len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2); */
-PERL_CALLCONV I32 Perl_ibcmp_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+/* PERL_CALLCONV I32 ibcmp_locale(pTHX_ const char* a, const char* b, I32 len)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_IBCMP_UTF8 \
- assert(s1); assert(s2)
+ __attribute__nonnull__(pTHX_2); */
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
-STATIC bool S_ingroup(pTHX_ Gid_t testgid, bool effective)
- __attribute__warn_unused_result__;
+/* PERL_CALLCONV I32 ibcmp_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_5); */
-#endif
PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS \
@@ -1123,13 +1476,14 @@ PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv)
PERL_CALLCONV void Perl_init_dbargs(pTHX);
PERL_CALLCONV void Perl_init_debugger(pTHX);
+PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn);
+PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn);
PERL_CALLCONV void Perl_init_stacks(pTHX);
PERL_CALLCONV void Perl_init_tm(pTHX_ struct tm *ptm)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INIT_TM \
assert(ptm)
-PERL_CALLCONV U32 Perl_intro_my(pTHX);
PERL_CALLCONV char* Perl_instr(const char* big, const char* little)
__attribute__warn_unused_result__
__attribute__pure__
@@ -1138,38 +1492,42 @@ PERL_CALLCONV char* Perl_instr(const char* big, const char* little)
#define PERL_ARGS_ASSERT_INSTR \
assert(big); assert(little)
+PERL_CALLCONV U32 Perl_intro_my(pTHX);
+PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, bool not_implicit)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_IO_CLOSE \
assert(io)
-PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
- __attribute__warn_unused_result__;
+PERL_CALLCONV bool Perl_is_ascii_string(const U8 *s, STRLEN len)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_IS_ASCII_STRING \
+ assert(s)
-PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c)
+PERL_CALLCONV bool Perl_is_gv_magical_sv(pTHX_ SV *const name_sv, U32 flags)
__attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_IS_GV_MAGICAL_SV \
+ assert(name_sv)
-PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c)
- __attribute__warn_unused_result__
- __attribute__pure__;
+PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
+ __attribute__warn_unused_result__;
-PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c)
+PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
@@ -1177,7 +1535,7 @@ PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
@@ -1185,7 +1543,7 @@ PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
@@ -1193,95 +1551,67 @@ PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_TO_UNI_UPPER \
- assert(p); assert(lenp)
-
-PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_TO_UNI_TITLE \
- assert(p); assert(lenp)
-
-PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_TO_UNI_LOWER \
- assert(p); assert(lenp)
-
-PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_TO_UNI_FOLD \
- assert(p); assert(lenp)
-
-PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
+PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
@@ -1289,131 +1619,123 @@ PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c)
__attribute__warn_unused_result__
__attribute__pure__;
-PERL_CALLCONV bool Perl_is_ascii_string(const U8 *s, STRLEN len)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_IS_ASCII_STRING \
- assert(s)
-
-PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \
- assert(s)
-
-PERL_CALLCONV bool Perl_is_utf8_string(const U8 *s, STRLEN len)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_IS_UTF8_STRING \
- assert(s)
-
-/* PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, STRLEN len, const U8 **p)
- __attribute__nonnull__(1); */
-#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \
- assert(s)
+PERL_CALLCONV bool Perl_is_utf8_X_L(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_IS_UTF8_X_L \
+ assert(p)
-PERL_CALLCONV bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \
- assert(s)
+PERL_CALLCONV bool Perl_is_utf8_X_LV(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_IS_UTF8_X_LV \
+ assert(p)
-PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_LVT(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_LVT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_LV_LVT_V(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_LV_LVT_V \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_T(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_T \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_V(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_V \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_begin(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_BEGIN \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_extend(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_EXTEND \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_perl_space(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_non_hangul(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_NON_HANGUL \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_perl_word(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_X_prepend(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD \
+#define PERL_ARGS_ASSERT_IS_UTF8_X_PREPEND \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \
+#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \
+#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT \
+#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
+PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \
+ assert(s)
+
+PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \
+#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \
+#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \
+#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \
+#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \
+#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \
+#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \
assert(p)
PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p)
@@ -1422,64 +1744,79 @@ PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p)
#define PERL_ARGS_ASSERT_IS_UTF8_MARK \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_begin(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_perl_space(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_BEGIN \
+#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_extend(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_perl_word(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_EXTEND \
+#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_prepend(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_PREPEND \
+#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_non_hangul(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_NON_HANGUL \
+#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_L(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_L \
+#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_LV(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_LV \
+#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_LVT(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_string(const U8 *s, STRLEN len)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_IS_UTF8_STRING \
+ assert(s)
+
+/* PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, STRLEN len, const U8 **p)
+ __attribute__nonnull__(1); */
+#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \
+ assert(s)
+
+PERL_CALLCONV bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \
+ assert(s)
+
+PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_LVT \
+#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_LV_LVT_V(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_LV_LVT_V \
+#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_T(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_xidcont(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_T \
+#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT \
assert(p)
-PERL_CALLCONV bool Perl_is_utf8_X_V(pTHX_ const U8 *p)
+PERL_CALLCONV bool Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_V \
+#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST \
assert(p)
PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o)
@@ -1493,83 +1830,56 @@ PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keyword
#define PERL_ARGS_ASSERT_KEYWORD \
assert(name)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_opt_scalarhv(pTHX_ OP* rep_op)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OPT_SCALARHV \
- assert(rep_op)
-
-STATIC OP* S_is_inplace_av(pTHX_ OP* o, OP* oright)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_INPLACE_AV \
- assert(o)
+PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \
+ assert(keyword_ptr); assert(op_ptr)
-#endif
PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base);
-PERL_CALLCONV void Perl_lex_end(pTHX);
-PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, bool new_filter);
PERL_CALLCONV bool Perl_lex_bufutf8(pTHX);
-PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len);
-PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ char* pv, STRLEN len, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \
- assert(pv)
-
-PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LEX_STUFF_SV \
- assert(sv)
-
-PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr)
+PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LEX_UNSTUFF \
+#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \
assert(ptr)
+PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len);
+PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags);
+PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags);
+PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags);
PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_LEX_READ_TO \
assert(ptr)
-PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr)
+PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags);
+PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, U32 flags);
+PERL_CALLCONV void Perl_lex_stuff_pv(pTHX_ const char* pv, U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LEX_DISCARD_TO \
- assert(ptr)
+#define PERL_ARGS_ASSERT_LEX_STUFF_PV \
+ assert(pv)
-PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags);
-PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags);
-PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags);
-PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags);
-PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
+PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ const char* pv, STRLEN len, U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OP_NULL \
- assert(o)
+#define PERL_ARGS_ASSERT_LEX_STUFF_PVN \
+ assert(pv)
-PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o)
+PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OP_CLEAR \
- assert(o)
+#define PERL_ARGS_ASSERT_LEX_STUFF_SV \
+ assert(sv)
-PERL_CALLCONV void Perl_op_refcnt_lock(pTHX);
-PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX);
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_linklist(pTHX_ OP *o)
+PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LINKLIST \
- assert(o)
+#define PERL_ARGS_ASSERT_LEX_UNSTUFF \
+ assert(ptr)
-STATIC OP* S_listkids(pTHX_ OP* o);
-#endif
PERL_CALLCONV OP* Perl_list(pTHX_ OP* o);
PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_LOAD_MODULE \
assert(name)
-PERL_CALLCONV void Perl_vload_module(pTHX_ U32 flags, SV* name, SV* ver, va_list* args)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_VLOAD_MODULE \
- assert(name)
-
PERL_CALLCONV OP* Perl_localize(pTHX_ OP *o, I32 lex)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_LOCALIZE \
@@ -1581,38 +1891,11 @@ PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV *const sv)
#define PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER \
assert(sv)
-PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_GROK_BIN \
- assert(start); assert(len_p); assert(flags)
-
-PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_GROK_HEX \
- assert(start); assert(len_p); assert(flags)
-
-PERL_CALLCONV int Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GROK_NUMBER \
- assert(pv)
-
-PERL_CALLCONV bool Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
- __attribute__warn_unused_result__
+PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX \
- assert(sp); assert(send)
-
-PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_GROK_OCT \
- assert(start); assert(len_p); assert(flags)
+#define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV \
+ assert(sv); assert(mg)
PERL_CALLCONV int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
@@ -1620,12 +1903,6 @@ PERL_CALLCONV int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_CLEARENV \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV \
- assert(sv); assert(mg)
-
PERL_CALLCONV int Perl_magic_clearhint(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -1655,12 +1932,19 @@ PERL_CALLCONV int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_CLEARSIG \
assert(sv); assert(mg)
+PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg);
PERL_CALLCONV int Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_MAGIC_EXISTSPACK \
assert(sv); assert(mg)
+PERL_CALLCONV int Perl_magic_freearylen_p(pTHX_ SV* sv, MAGIC* mg)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_FREEARYLEN_P \
+ assert(sv); assert(mg)
+
PERL_CALLCONV int Perl_magic_freeovrld(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -1733,12 +2017,25 @@ PERL_CALLCONV int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_GETVEC \
assert(sv); assert(mg)
+PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS \
+ assert(sv); assert(mg)
+
PERL_CALLCONV U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_MAGIC_LEN \
assert(sv); assert(mg)
+PERL_CALLCONV SV* Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, const char *meth, U32 flags, U32 argc, ...)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MAGIC_METHCALL \
+ assert(sv); assert(mg); assert(meth)
+
PERL_CALLCONV int Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -1765,28 +2062,34 @@ PERL_CALLCONV int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET \
assert(sv); assert(mg)
+PERL_CALLCONV SV* Perl_magic_scalarpack(pTHX_ HV *hv, MAGIC *mg)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_SCALARPACK \
+ assert(hv); assert(mg)
+
PERL_CALLCONV int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_MAGIC_SET \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg)
+PERL_CALLCONV int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETAMAGIC \
+#define PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg)
+PERL_CALLCONV int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETARYLEN \
+#define PERL_ARGS_ASSERT_MAGIC_SETAMAGIC \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_freearylen_p(pTHX_ SV* sv, MAGIC* mg)
+PERL_CALLCONV int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_FREEARYLEN_P \
+#define PERL_ARGS_ASSERT_MAGIC_SETARYLEN \
assert(sv); assert(mg)
PERL_CALLCONV int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg)
@@ -1866,28 +2169,22 @@ PERL_CALLCONV int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_SETTAINT \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETUVAR \
- assert(sv); assert(mg)
-
-PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg)
+PERL_CALLCONV int Perl_magic_setutf8(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETVEC \
+#define PERL_ARGS_ASSERT_MAGIC_SETUTF8 \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_setutf8(pTHX_ SV* sv, MAGIC* mg)
+PERL_CALLCONV int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETUTF8 \
+#define PERL_ARGS_ASSERT_MAGIC_SETUVAR \
assert(sv); assert(mg)
-PERL_CALLCONV int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg)
+PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV \
+#define PERL_ARGS_ASSERT_MAGIC_SETVEC \
assert(sv); assert(mg)
PERL_CALLCONV U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg)
@@ -1902,47 +2199,23 @@ PERL_CALLCONV int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_WIPEPACK \
assert(sv); assert(mg)
-PERL_CALLCONV void Perl_markstack_grow(pTHX);
-#if defined(USE_LOCALE_COLLATE)
-PERL_CALLCONV int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM \
- assert(sv); assert(mg)
-
-PERL_CALLCONV char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MEM_COLLXFRM \
- assert(s); assert(xlen)
+PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
-#endif
+PERL_CALLCONV void Perl_markstack_grow(pTHX);
PERL_CALLCONV SV* Perl_mess(pTHX_ const char* pat, ...)
__attribute__format__(__printf__,pTHX_1,pTHX_2)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MESS \
assert(pat)
-PERL_CALLCONV SV* Perl_vmess(pTHX_ const char* pat, va_list* args)
+PERL_CALLCONV SV* Perl_mess_sv(pTHX_ SV* basemsg, bool consume)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VMESS \
- assert(pat)
-
-PERL_CALLCONV void Perl_qerror(pTHX_ SV* err)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_QERROR \
- assert(err)
-
-PERL_CALLCONV void Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_SORTSV \
- assert(cmp)
-
-PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_SORTSV_FLAGS \
- assert(cmp)
+#define PERL_ARGS_ASSERT_MESS_SV \
+ assert(basemsg)
+PERL_CALLCONV Free_t Perl_mfree(Malloc_t where);
PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MG_CLEAR \
@@ -1954,20 +2227,22 @@ PERL_CALLCONV int Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen)
#define PERL_ARGS_ASSERT_MG_COPY \
assert(sv); assert(nsv)
-PERL_CALLCONV void Perl_mg_localize(pTHX_ SV* sv, SV* nsv, bool setmagic)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MG_LOCALIZE \
- assert(sv); assert(nsv)
-
PERL_CALLCONV MAGIC* Perl_mg_find(pTHX_ const SV* sv, int type)
__attribute__warn_unused_result__;
+PERL_CALLCONV MAGIC* Perl_mg_findext(pTHX_ const SV* sv, int type, const MGVTBL *vtbl)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MG_FREE \
assert(sv)
+PERL_CALLCONV void Perl_mg_free_type(pTHX_ SV* sv, int how)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MG_FREE_TYPE \
+ assert(sv)
+
PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MG_GET \
@@ -1978,6 +2253,12 @@ PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv)
#define PERL_ARGS_ASSERT_MG_LENGTH \
assert(sv)
+PERL_CALLCONV void Perl_mg_localize(pTHX_ SV* sv, SV* nsv, bool setmagic)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MG_LOCALIZE \
+ assert(sv); assert(nsv)
+
PERL_CALLCONV void Perl_mg_magical(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MG_MAGICAL \
@@ -2000,31 +2281,89 @@ PERL_CALLCONV void Perl_mini_mktime(pTHX_ struct tm *ptm)
PERL_CALLCONV OP* Perl_mod(pTHX_ OP* o, I32 type);
PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len);
+PERL_CALLCONV void * Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size);
PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MORESWITCHES \
assert(s)
+PERL_CALLCONV const struct mro_alg * Perl_mro_get_from_name(pTHX_ SV *name)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_GET_FROM_NAME \
+ assert(name)
+
+PERL_CALLCONV AV* Perl_mro_get_linear_isa(pTHX_ HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA \
+ assert(stash)
+
+PERL_CALLCONV SV* Perl_mro_get_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MRO_GET_PRIVATE_DATA \
+ assert(smeta); assert(which)
+
+PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN \
+ assert(stash)
+
+PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_META_INIT \
+ assert(stash)
+
+PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \
+ assert(stash)
+
+PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, const GV * const gv, U32 flags)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MRO_PACKAGE_MOVED \
+ assert(gv)
+
+PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MRO_REGISTER \
+ assert(mro)
+
+PERL_CALLCONV void Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MRO_SET_MRO \
+ assert(meta); assert(name)
+
+PERL_CALLCONV SV* Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which, SV *const data)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA \
+ assert(smeta); assert(which); assert(data)
+
+PERL_CALLCONV void Perl_munge_qwlist_to_paren_list(pTHX_ OP* qwlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MUNGE_QWLIST_TO_PAREN_LIST \
+ assert(qwlist)
+
PERL_CALLCONV NV Perl_my_atof(pTHX_ const char *s)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MY_ATOF \
assert(s)
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-PERL_CALLCONV char* Perl_my_bcopy(const char* from, char* to, I32 len)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_MY_BCOPY \
- assert(from); assert(to)
+PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *s, NV* value)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MY_ATOF2 \
+ assert(s); assert(value)
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-PERL_CALLCONV char* Perl_my_bzero(char* loc, I32 len)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_MY_BZERO \
- assert(loc)
+PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MY_ATTRS \
+ assert(o)
-#endif
+PERL_CALLCONV void Perl_my_clearenv(pTHX);
+PERL_CALLCONV int Perl_my_dirfd(pTHX_ DIR* dir);
PERL_CALLCONV void Perl_my_exit(pTHX_ U32 status)
__attribute__noreturn__;
@@ -2033,25 +2372,8 @@ PERL_CALLCONV void Perl_my_failure_exit(pTHX)
PERL_CALLCONV I32 Perl_my_fflush_all(pTHX);
PERL_CALLCONV Pid_t Perl_my_fork(void);
-PERL_CALLCONV void Perl_atfork_lock(void);
-PERL_CALLCONV void Perl_atfork_unlock(void);
-PERL_CALLCONV I32 Perl_my_lstat(pTHX);
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-PERL_CALLCONV I32 Perl_my_memcmp(const char* s1, const char* s2, I32 len)
- __attribute__pure__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_MY_MEMCMP \
- assert(s1); assert(s2)
-
-#endif
-#if !defined(HAS_MEMSET)
-PERL_CALLCONV void* Perl_my_memset(char* loc, I32 ch, I32 len)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_MY_MEMSET \
- assert(loc)
-
-#endif
+/* PERL_CALLCONV I32 Perl_my_lstat(pTHX); */
+PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags);
PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode)
__attribute__nonnull__(pTHX_1)
@@ -2066,40 +2388,59 @@ PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** ar
assert(mode); assert(args)
PERL_CALLCONV void Perl_my_setenv(pTHX_ const char* nam, const char* val);
-PERL_CALLCONV I32 Perl_my_stat(pTHX);
+PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
+ __attribute__format__(__printf__,3,4)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_MY_SNPRINTF \
+ assert(buffer); assert(format)
+
+PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]);
+/* PERL_CALLCONV I32 Perl_my_stat(pTHX); */
+PERL_CALLCONV I32 Perl_my_stat_flags(pTHX_ const U32 flags);
PERL_CALLCONV char * Perl_my_strftime(pTHX_ const char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_MY_STRFTIME \
assert(fmt)
-#if defined(MYSWAP)
-PERL_CALLCONV short Perl_my_swap(pTHX_ short s)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__pure__;
+PERL_CALLCONV void Perl_my_swabn(void* ptr, int n)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_MY_SWABN \
+ assert(ptr)
-PERL_CALLCONV long Perl_my_htonl(pTHX_ long l)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__pure__;
+PERL_CALLCONV void Perl_my_unexec(pTHX);
+PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_MY_VSNPRINTF \
+ assert(buffer); assert(format)
-PERL_CALLCONV long Perl_my_ntohl(pTHX_ long l)
+PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
+PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o)
__attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__pure__;
+ __attribute__warn_unused_result__;
-#endif
-PERL_CALLCONV void Perl_my_unexec(pTHX);
PERL_CALLCONV OP* Perl_newANONLIST(pTHX_ OP* o)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o)
+PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
+PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
-PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right)
+PERL_CALLCONV CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+/* PERL_CALLCONV AV* Perl_newAV(pTHX)
+ __attribute__warn_unused_result__; */
+
+PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NEWAVREF \
+ assert(o)
+
+PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -2111,15 +2452,14 @@ PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* fal
assert(first)
PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv);
-#ifdef PERL_MAD
-PERL_CALLCONV OP* Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
-#else
-PERL_CALLCONV void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
-#endif
-PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sv, OP* expr, OP* block, OP* cont)
+PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, OP* sv, OP* expr, OP* block, OP* cont)
__attribute__malloc__
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_5);
+ __attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_NEWFOROP \
assert(expr)
@@ -2131,84 +2471,10 @@ PERL_CALLCONV OP* Perl_newGIVENOP(pTHX_ OP* cond, OP* block, PADOFFSET defsv_off
#define PERL_ARGS_ASSERT_NEWGIVENOP \
assert(cond); assert(block)
-PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP *first, OP *other)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_NEWLOGOP \
- assert(first); assert(other)
-
-PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_NEWLOOPEX \
- assert(label)
-
-PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newNULLLIST(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEWPROG \
- assert(o)
-
-PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_NEWRANGE \
- assert(left); assert(right)
-
-PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
-PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_NEWXS_FLAGS \
- assert(subaddr); assert(filename)
-
-PERL_CALLCONV CV* Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_NEWXS \
- assert(subaddr); assert(filename)
-
-/* PERL_CALLCONV AV* Perl_newAV(pTHX)
- __attribute__warn_unused_result__; */
-
-PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__
+PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEWAVREF \
- assert(o)
-
-PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_NEWGP \
+ assert(gv)
PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv)
__attribute__malloc__
@@ -2217,6 +2483,10 @@ PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv)
#define PERL_ARGS_ASSERT_NEWGVOP \
assert(gv)
+PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV GV* Perl_newGVgen(pTHX_ const char* pack)
__attribute__malloc__
__attribute__warn_unused_result__
@@ -2224,9 +2494,8 @@ PERL_CALLCONV GV* Perl_newGVgen(pTHX_ const char* pack)
#define PERL_ARGS_ASSERT_NEWGVGEN \
assert(pack)
-PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+/* PERL_CALLCONV HV* Perl_newHV(pTHX)
+ __attribute__warn_unused_result__; */
PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o)
__attribute__malloc__
@@ -2235,9 +2504,6 @@ PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o)
#define PERL_ARGS_ASSERT_NEWHVREF \
assert(o)
-/* PERL_CALLCONV HV* Perl_newHV(pTHX)
- __attribute__warn_unused_result__; */
-
PERL_CALLCONV HV* Perl_newHVhv(pTHX_ HV *hv)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -2250,23 +2516,54 @@ PERL_CALLCONV OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
__attribute__malloc__
__attribute__warn_unused_result__;
-#ifdef USE_ITHREADS
-PERL_CALLCONV OP* Perl_newPADOP(pTHX_ I32 type, I32 flags, SV* sv)
+PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP *first, OP *other)
__attribute__malloc__
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_NEWPADOP \
- assert(sv)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_NEWLOGOP \
+ assert(first); assert(other)
+
+PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_NEWLOOPEX \
+ assert(label)
+
+PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV OP* Perl_newNULLLIST(pTHX)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
-#endif
PERL_CALLCONV OP* Perl_newPMOP(pTHX_ I32 type, I32 flags)
__attribute__malloc__
__attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NEWPROG \
+ assert(o)
+
PERL_CALLCONV OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv)
__attribute__malloc__
__attribute__warn_unused_result__;
+PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_NEWRANGE \
+ assert(left); assert(right)
+
PERL_CALLCONV SV* Perl_newRV(pTHX_ SV *const sv)
__attribute__malloc__
__attribute__warn_unused_result__
@@ -2281,16 +2578,18 @@ PERL_CALLCONV SV* Perl_newRV_noinc(pTHX_ SV *const sv)
#define PERL_ARGS_ASSERT_NEWRV_NOINC \
assert(sv)
-PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len)
+PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o)
+PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o)
__attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEWSVREF \
- assert(o)
+ __attribute__warn_unused_result__;
+
+/* PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); */
+PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv)
__attribute__malloc__
@@ -2299,35 +2598,34 @@ PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv)
#define PERL_ARGS_ASSERT_NEWSVOP \
assert(sv)
-PERL_CALLCONV SV* Perl_newSViv(pTHX_ const IV i)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVuv(pTHX_ const UV u)
+PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o)
__attribute__malloc__
- __attribute__warn_unused_result__;
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NEWSVREF \
+ assert(o)
-PERL_CALLCONV SV* Perl_newSVnv(pTHX_ const NV n)
+PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
+PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char *const s, const STRLEN len)
+PERL_CALLCONV SV* Perl_newSViv(pTHX_ const IV i)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags)
+PERL_CALLCONV SV* Perl_newSVnv(pTHX_ const NV n)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek)
+PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash)
+PERL_CALLCONV SV* Perl_newSVpv_share(pTHX_ const char* s, U32 hash)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -2339,12 +2637,17 @@ PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char *const pat, ...)
#define PERL_ARGS_ASSERT_NEWSVPVF \
assert(pat)
-PERL_CALLCONV SV* Perl_vnewSVpvf(pTHX_ const char *const pat, va_list *const args)
+PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char *const s, const STRLEN len)
__attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VNEWSVPVF \
- assert(pat)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV *const rv, const char *const classname)
__attribute__nonnull__(pTHX_1);
@@ -2355,7 +2658,7 @@ PERL_CALLCONV SV* Perl_newSVsv(pTHX_ SV *const old)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type)
+PERL_CALLCONV SV* Perl_newSVuv(pTHX_ const UV u)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -2370,67 +2673,44 @@ PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block)
#define PERL_ARGS_ASSERT_NEWWHENOP \
assert(block)
-PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont, I32 has_my)
+PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont, I32 has_my)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV char* Perl_scan_vstring(pTHX_ const char *s, const char *const e, SV *sv)
- __attribute__nonnull__(pTHX_1)
+PERL_CALLCONV CV* Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_SCAN_VSTRING \
- assert(s); assert(e); assert(sv)
+#define PERL_ARGS_ASSERT_NEWXS \
+ assert(subaddr); assert(filename)
-PERL_CALLCONV const char* Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SCAN_VERSION \
- assert(s); assert(rv)
+PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_NEWXS_FLAGS \
+ assert(subaddr); assert(filename)
-PERL_CALLCONV const char* Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha)
+PERL_CALLCONV void Perl_new_collate(pTHX_ const char* newcoll);
+PERL_CALLCONV void Perl_new_ctype(pTHX_ const char* newctype)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PRESCAN_VERSION \
- assert(s)
+#define PERL_ARGS_ASSERT_NEW_CTYPE \
+ assert(newctype)
+
+PERL_CALLCONV void Perl_new_numeric(pTHX_ const char* newcoll);
+PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_NEW_VERSION \
assert(ver)
-PERL_CALLCONV SV* Perl_upg_version(pTHX_ SV *ver, bool qv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UPG_VERSION \
- assert(ver)
-
-PERL_CALLCONV bool Perl_vverify(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VVERIFY \
- assert(vs)
-
-PERL_CALLCONV SV* Perl_vnumify(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VNUMIFY \
- assert(vs)
-
-PERL_CALLCONV SV* Perl_vnormal(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VNORMAL \
- assert(vs)
-
-PERL_CALLCONV SV* Perl_vstringify(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VSTRINGIFY \
- assert(vs)
-
-PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lhv, SV *rhv)
- __attribute__nonnull__(pTHX_1)
+PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_VCMP \
- assert(lhv); assert(rhv)
+#define PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD \
+ assert(bits)
PERL_CALLCONV PerlIO* Perl_nextargv(pTHX_ GV* gv)
__attribute__nonnull__(pTHX_1);
@@ -2446,38 +2726,7 @@ PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char*
#define PERL_ARGS_ASSERT_NINSTR \
assert(big); assert(bigend); assert(little); assert(lend)
-PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg);
-#ifdef PERL_MAD
-PERL_CALLCONV OP* Perl_package(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PACKAGE \
- assert(o)
-
-#else
-PERL_CALLCONV void Perl_package(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PACKAGE \
- assert(o)
-
-#endif
-PERL_CALLCONV void Perl_package_version(pTHX_ OP* v)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PACKAGE_VERSION \
- assert(v)
-
-PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
-PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_ALLOCMY \
- assert(name)
-
-PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ const char* name, STRLEN len, U32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_FINDMY \
- assert(name)
-
-PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX);
+PERL_CALLCONV int Perl_nothreadhook(pTHX);
PERL_CALLCONV OP* Perl_oopsAV(pTHX_ OP* o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -2490,112 +2739,42 @@ PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o)
#define PERL_ARGS_ASSERT_OOPSHV \
assert(o)
-PERL_CALLCONV void Perl_pad_leavemy(pTHX);
-#ifdef DEBUGGING
-PERL_CALLCONV SV* Perl_pad_sv(pTHX_ PADOFFSET po);
-#endif
-PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po);
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-STATIC void S_pad_reset(pTHX);
-#endif
-PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
-PERL_CALLCONV void Perl_peep(pTHX_ OP* o);
-PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV *tmpglob, IO *io)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_START_GLOB \
- assert(tmpglob); assert(io)
-
-#if defined(USE_REENTRANT_API)
-PERL_CALLCONV void Perl_reentrant_size(pTHX);
-PERL_CALLCONV void Perl_reentrant_init(pTHX);
-PERL_CALLCONV void Perl_reentrant_free(pTHX);
-PERL_CALLCONV void* Perl_reentrant_retry(const char *f, ...)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_REENTRANT_RETRY \
- assert(f)
-
-#endif
-PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
-PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_CALL_ARGV \
- assert(sub_name); assert(argv)
-
-PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CALL_METHOD \
- assert(methname)
-
-PERL_CALLCONV I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CALL_PV \
- assert(sub_name)
-
-PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, VOL I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CALL_SV \
- assert(sv)
-
-PERL_CALLCONV void Perl_despatch_signals(pTHX);
-PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref)
+PERL_CALLCONV OP* Perl_op_append_elem(pTHX_ I32 optype, OP* first, OP* last);
+PERL_CALLCONV OP* Perl_op_append_list(pTHX_ I32 optype, OP* first, OP* last);
+PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DOREF \
+#define PERL_ARGS_ASSERT_OP_CLEAR \
assert(o)
-PERL_CALLCONV SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_EVAL_PV \
- assert(p)
-
-PERL_CALLCONV I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_EVAL_SV \
- assert(sv)
-
-PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char *name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_SV \
- assert(name)
-
-PERL_CALLCONV AV* Perl_get_av(pTHX_ const char *name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_AV \
- assert(name)
-
-PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char *name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_HV \
- assert(name)
+PERL_CALLCONV SV* Perl_op_const_sv(pTHX_ const OP* o, CV* cv)
+ __attribute__warn_unused_result__;
-PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags)
+PERL_CALLCONV OP* Perl_op_contextualize(pTHX_ OP* o, I32 context)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_CV \
- assert(name)
+#define PERL_ARGS_ASSERT_OP_CONTEXTUALIZE \
+ assert(o)
-PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 flags)
+PERL_CALLCONV void Perl_op_dump(pTHX_ const OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_CVN_FLAGS \
- assert(name)
+#define PERL_ARGS_ASSERT_OP_DUMP \
+ assert(o)
-PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn);
-PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn);
-PERL_CALLCONV void Perl_new_collate(pTHX_ const char* newcoll);
-PERL_CALLCONV void Perl_new_ctype(pTHX_ const char* newctype)
+PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg);
+PERL_CALLCONV OP* Perl_op_linklist(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEW_CTYPE \
- assert(newctype)
+#define PERL_ARGS_ASSERT_OP_LINKLIST \
+ assert(o)
-PERL_CALLCONV void Perl_new_numeric(pTHX_ const char* newcoll);
-PERL_CALLCONV void Perl_set_numeric_local(pTHX);
-PERL_CALLCONV void Perl_set_numeric_radix(pTHX);
-PERL_CALLCONV void Perl_set_numeric_standard(pTHX);
-PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv)
+PERL_CALLCONV OP* Perl_op_lvalue(pTHX_ OP* o, I32 type);
+PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REQUIRE_PV \
- assert(pv)
+#define PERL_ARGS_ASSERT_OP_NULL \
+ assert(o)
+PERL_CALLCONV OP* Perl_op_prepend_elem(pTHX_ I32 optype, OP* first, OP* last);
+PERL_CALLCONV void Perl_op_refcnt_lock(pTHX);
+PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX);
+PERL_CALLCONV OP* Perl_op_scope(pTHX_ OP* o);
PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -2606,6 +2785,11 @@ PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *pat
#define PERL_ARGS_ASSERT_PACK_CAT \
assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist); assert(next_in_list)
+PERL_CALLCONV void Perl_package_version(pTHX_ OP* v)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PACKAGE_VERSION \
+ assert(v)
+
PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -2615,51 +2799,110 @@ PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *pat
#define PERL_ARGS_ASSERT_PACKLIST \
assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist)
-#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
-STATIC void S_pidgone(pTHX_ Pid_t pid, int status);
-#endif
-PERL_CALLCONV void Perl_pmflag(pTHX_ U32 *pmfl, int ch)
- __attribute__deprecated__
+PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PMFLAG \
- assert(pmfl)
+#define PERL_ARGS_ASSERT_PAD_ADD_ANON \
+ assert(sv)
-PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PMRUNTIME \
- assert(o); assert(expr)
+PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME \
+ assert(name)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_pmtrans(pTHX_ OP* o, OP* expr, OP* repl)
+PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
+PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full);
+PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ const char* name, STRLEN len, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY \
+ assert(name)
+
+PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_PMTRANS \
- assert(o); assert(expr); assert(repl)
+#define PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS \
+ assert(padlist); assert(old_cv); assert(new_cv)
-#endif
-PERL_CALLCONV void Perl_pop_scope(pTHX);
-PERL_CALLCONV OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
-PERL_CALLCONV void Perl_push_scope(pTHX);
-/* PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); */
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_refkids(pTHX_ OP* o, I32 type);
-#endif
-PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
+PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po);
+PERL_CALLCONV void Perl_pad_leavemy(pTHX);
+PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGDUMP \
- assert(r)
+#define PERL_ARGS_ASSERT_PAD_PUSH \
+ assert(padlist)
-PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
+PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
+PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type);
+PERL_CALLCONV OP* Perl_parse_arithexpr(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_barestmt(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_block(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_fullexpr(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_fullstmt(pTHX_ U32 flags);
+PERL_CALLCONV SV* Perl_parse_label(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_listexpr(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_stmtseq(pTHX_ U32 flags);
+PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags);
+PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGDUMP \
- assert(r)
+#define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \
+ assert(popt)
-PERL_CALLCONV SV* Perl_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **altsvp)
+PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *parser)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PARSER_FREE \
+ assert(parser)
+
+PERL_CALLCONV void Perl_peep(pTHX_ OP* o);
+PERL_CALLCONV PerlInterpreter* perl_alloc(void);
+PERL_CALLCONV void perl_construct(PerlInterpreter *my_perl)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PERL_CONSTRUCT \
+ assert(my_perl)
+
+PERL_CALLCONV int perl_destruct(PerlInterpreter *my_perl)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PERL_DESTRUCT \
+ assert(my_perl)
+
+PERL_CALLCONV void perl_free(PerlInterpreter *my_perl)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PERL_FREE \
+ assert(my_perl)
+
+PERL_CALLCONV int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char** argv, char** env)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PERL_PARSE \
+ assert(my_perl)
+
+PERL_CALLCONV int perl_run(PerlInterpreter *my_perl)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PERL_RUN \
+ assert(my_perl)
+
+PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm);
+PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REGCLASS_SWASH \
- assert(node)
+#define PERL_ARGS_ASSERT_PMRUNTIME \
+ assert(o); assert(expr)
+
+PERL_CALLCONV void Perl_pop_scope(pTHX);
+PERL_CALLCONV void Perl_populate_isa(pTHX_ const char *name, STRLEN len, ...)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_POPULATE_ISA \
+ assert(name)
+
+PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PREGCOMP \
+ assert(pattern)
PERL_CALLCONV I32 Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)
__attribute__nonnull__(pTHX_1)
@@ -2676,28 +2919,65 @@ PERL_CALLCONV void Perl_pregfree2(pTHX_ REGEXP *rx)
#define PERL_ARGS_ASSERT_PREGFREE2 \
assert(rx)
-PERL_CALLCONV REGEXP* Perl_reg_temp_copy(pTHX_ REGEXP* ret_x, REGEXP* rx)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REG_TEMP_COPY \
- assert(rx)
+PERL_CALLCONV const char* Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PRESCAN_VERSION \
+ assert(s)
-PERL_CALLCONV void Perl_regfree_internal(pTHX_ REGEXP *const rx)
+PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *const tbl)
+ __attribute__deprecated__;
+
+PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *const tbl, const void *const sv)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGFREE_INTERNAL \
- assert(rx)
+#define PERL_ARGS_ASSERT_PTR_TABLE_FETCH \
+ assert(tbl)
-#if defined(USE_ITHREADS)
-PERL_CALLCONV void* Perl_regdupe_internal(pTHX_ REGEXP * const r, CLONE_PARAMS* param)
+PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *const tbl);
+PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *const tbl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PTR_TABLE_SPLIT \
+ assert(tbl)
+
+PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *const tbl, const void *const oldsv, void *const newsv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_PTR_TABLE_STORE \
+ assert(tbl); assert(newsv)
+
+PERL_CALLCONV void Perl_push_scope(pTHX);
+PERL_CALLCONV char* Perl_pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REGDUPE_INTERNAL \
- assert(r); assert(param)
+#define PERL_ARGS_ASSERT_PV_DISPLAY \
+ assert(dsv); assert(pv)
-#endif
-PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags)
+PERL_CALLCONV char* Perl_pv_escape(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PV_ESCAPE \
+ assert(dsv); assert(str)
+
+PERL_CALLCONV char* Perl_pv_pretty(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PV_PRETTY \
+ assert(dsv); assert(str)
+
+PERL_CALLCONV char* Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PV_UNI_DISPLAY \
+ assert(dsv); assert(spv)
+
+PERL_CALLCONV void Perl_qerror(pTHX_ SV* err)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PREGCOMP \
- assert(pattern)
+#define PERL_ARGS_ASSERT_QERROR \
+ assert(err)
PERL_CALLCONV REGEXP* Perl_re_compile(pTHX_ SV * const pattern, U32 flags)
__attribute__nonnull__(pTHX_1);
@@ -2716,46 +2996,76 @@ PERL_CALLCONV SV* Perl_re_intuit_string(pTHX_ REGEXP *const r)
#define PERL_ARGS_ASSERT_RE_INTUIT_STRING \
assert(r)
-PERL_CALLCONV I32 Perl_regexec_flags(pTHX_ REGEXP *const rx, char *stringarg, char *strend, char *strbeg, I32 minend, SV *sv, void *data, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_6);
-#define PERL_ARGS_ASSERT_REGEXEC_FLAGS \
- assert(rx); assert(stringarg); assert(strend); assert(strbeg); assert(sv)
-
-PERL_CALLCONV regnode* Perl_regnext(pTHX_ regnode* p)
+PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes)
+ __attribute__malloc__
__attribute__warn_unused_result__;
+/* PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); */
+PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c, U32 flags);
+PERL_CALLCONV SV * Perl_refcounted_he_fetch_pv(pTHX_ const struct refcounted_he *chain, const char *key, U32 hash, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PV \
+ assert(key)
+
+PERL_CALLCONV SV * Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PVN \
+ assert(keypv)
+
+PERL_CALLCONV SV * Perl_refcounted_he_fetch_sv(pTHX_ const struct refcounted_he *chain, SV *key, U32 hash, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_SV \
+ assert(key)
+
+PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he);
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_inc(pTHX_ struct refcounted_he *he);
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pv(pTHX_ struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PV \
+ assert(key)
+
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pvn(pTHX_ struct refcounted_he *parent, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PVN \
+ assert(keypv)
+
+PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_sv(pTHX_ struct refcounted_he *parent, SV *key, U32 hash, SV *value, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_SV \
+ assert(key)
PERL_CALLCONV SV* Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NAMED_BUFF \
assert(rx)
-PERL_CALLCONV SV* Perl_reg_named_buff_iter(pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags)
+PERL_CALLCONV SV* Perl_reg_named_buff_all(pTHX_ REGEXP * const rx, const U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ITER \
+#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ALL \
assert(rx)
-PERL_CALLCONV SV* Perl_reg_named_buff_fetch(pTHX_ REGEXP * const rx, SV * const namesv, const U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FETCH \
- assert(rx); assert(namesv)
-
PERL_CALLCONV bool Perl_reg_named_buff_exists(pTHX_ REGEXP * const rx, SV * const key, const U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_EXISTS \
assert(rx); assert(key)
+PERL_CALLCONV SV* Perl_reg_named_buff_fetch(pTHX_ REGEXP * const rx, SV * const namesv, const U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FETCH \
+ assert(rx); assert(namesv)
+
PERL_CALLCONV SV* Perl_reg_named_buff_firstkey(pTHX_ REGEXP * const rx, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FIRSTKEY \
assert(rx)
+PERL_CALLCONV SV* Perl_reg_named_buff_iter(pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ITER \
+ assert(rx)
+
PERL_CALLCONV SV* Perl_reg_named_buff_nextkey(pTHX_ REGEXP * const rx, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_NEXTKEY \
@@ -2766,34 +3076,64 @@ PERL_CALLCONV SV* Perl_reg_named_buff_scalar(pTHX_ REGEXP * const rx, const U32
#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_SCALAR \
assert(rx)
-PERL_CALLCONV SV* Perl_reg_named_buff_all(pTHX_ REGEXP * const rx, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ALL \
- assert(rx)
-
-
PERL_CALLCONV void Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const rx, const I32 paren, SV * const sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_FETCH \
assert(rx)
-PERL_CALLCONV void Perl_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren, SV const * const value)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_STORE \
- assert(rx)
-
PERL_CALLCONV I32 Perl_reg_numbered_buff_length(pTHX_ REGEXP * const rx, const SV * const sv, const I32 paren)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_LENGTH \
assert(rx); assert(sv)
+PERL_CALLCONV void Perl_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren, SV const * const value)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_STORE \
+ assert(rx)
PERL_CALLCONV SV* Perl_reg_qr_package(pTHX_ REGEXP * const rx)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REG_QR_PACKAGE \
assert(rx)
+PERL_CALLCONV REGEXP* Perl_reg_temp_copy(pTHX_ REGEXP* ret_x, REGEXP* rx)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REG_TEMP_COPY \
+ assert(rx)
+
+PERL_CALLCONV SV* Perl_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **altsvp)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REGCLASS_SWASH \
+ assert(node)
+
+PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGDUMP \
+ assert(r)
+
+PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGDUMP \
+ assert(r)
+
+PERL_CALLCONV I32 Perl_regexec_flags(pTHX_ REGEXP *const rx, char *stringarg, char *strend, char *strbeg, I32 minend, SV *sv, void *data, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_6);
+#define PERL_ARGS_ASSERT_REGEXEC_FLAGS \
+ assert(rx); assert(stringarg); assert(strend); assert(strbeg); assert(sv)
+
+PERL_CALLCONV void Perl_regfree_internal(pTHX_ REGEXP *const rx)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGFREE_INTERNAL \
+ assert(rx)
+
+PERL_CALLCONV void Perl_reginitcolors(pTHX);
+PERL_CALLCONV regnode* Perl_regnext(pTHX_ regnode* p)
+ __attribute__warn_unused_result__;
PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o)
__attribute__nonnull__(pTHX_2)
@@ -2807,6 +3147,14 @@ PERL_CALLCONV void Perl_repeatcpy(char* to, const char* from, I32 len, I32 count
#define PERL_ARGS_ASSERT_REPEATCPY \
assert(to); assert(from)
+PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv);
+PERL_CALLCONV void Perl_report_uninit(pTHX_ const SV *uninit_sv);
+PERL_CALLCONV void Perl_report_wrongway_fh(pTHX_ const GV *gv, const char have);
+PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REQUIRE_PV \
+ assert(pv)
+
PERL_CALLCONV char* Perl_rninstr(const char* big, const char* bigend, const char* little, const char* lend)
__attribute__pure__
__attribute__nonnull__(1)
@@ -2816,6 +3164,7 @@ PERL_CALLCONV char* Perl_rninstr(const char* big, const char* bigend, const char
#define PERL_ARGS_ASSERT_RNINSTR \
assert(big); assert(bigend); assert(little); assert(lend)
+PERL_CALLCONV void Perl_rpeep(pTHX_ OP* o);
PERL_CALLCONV Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t);
PERL_CALLCONV int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
PERL_CALLCONV int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* save)
@@ -2824,61 +3173,52 @@ PERL_CALLCONV int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* sav
assert(save)
PERL_CALLCONV Sighandler_t Perl_rsignal_state(pTHX_ int i);
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-STATIC void S_rxres_free(pTHX_ void** rsp)
+PERL_CALLCONV int Perl_runops_debug(pTHX);
+PERL_CALLCONV int Perl_runops_standard(pTHX);
+PERL_CALLCONV CV* Perl_rv2cv_op_cv(pTHX_ OP *cvop, U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_RXRES_FREE \
- assert(rsp)
+#define PERL_ARGS_ASSERT_RV2CV_OP_CV \
+ assert(cvop)
-STATIC void S_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_RXRES_RESTORE \
- assert(rsp); assert(rx)
-
-#endif
PERL_CALLCONV void Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_RXRES_SAVE \
assert(rsp); assert(rx)
-#if !defined(HAS_RENAME)
-PERL_CALLCONV I32 Perl_same_dirent(pTHX_ const char* a, const char* b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SAME_DIRENT \
- assert(a); assert(b)
-
-#endif
-PERL_CALLCONV char* Perl_savepv(pTHX_ const char* pv)
+PERL_CALLCONV Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV char* Perl_savepvn(pTHX_ const char* pv, I32 len)
+PERL_CALLCONV Free_t Perl_safesysfree(Malloc_t where);
+PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV char* Perl_savesharedpv(pTHX_ const char* pv)
+PERL_CALLCONV Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV char* Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len)
- __attribute__malloc__
- __attribute__warn_unused_result__
+PERL_CALLCONV void Perl_save_I16(pTHX_ I16* intp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVESHAREDPVN \
- assert(pv)
+#define PERL_ARGS_ASSERT_SAVE_I16 \
+ assert(intp)
-PERL_CALLCONV char* Perl_savesvpv(pTHX_ SV* sv)
- __attribute__malloc__
- __attribute__warn_unused_result__
+PERL_CALLCONV void Perl_save_I32(pTHX_ I32* intp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVESVPV \
- assert(sv)
+#define PERL_ARGS_ASSERT_SAVE_I32 \
+ assert(intp)
+
+PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVE_I8 \
+ assert(bytep)
+
+PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, I32 key)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVE_ADELETE \
+ assert(av)
-PERL_CALLCONV void Perl_savestack_grow(pTHX);
-PERL_CALLCONV void Perl_savestack_grow_cnt(pTHX_ I32 need);
/* PERL_CALLCONV void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3); */
@@ -2916,40 +3256,24 @@ PERL_CALLCONV void Perl_save_delete(pTHX_ HV *hv, char *key, I32 klen)
#define PERL_ARGS_ASSERT_SAVE_DELETE \
assert(hv); assert(key)
-PERL_CALLCONV void Perl_save_hdelete(pTHX_ HV *hv, SV *keysv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SAVE_HDELETE \
- assert(hv); assert(keysv)
-
-PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, I32 key)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_ADELETE \
- assert(av)
-
PERL_CALLCONV void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SAVE_DESTRUCTOR \
assert(p)
PERL_CALLCONV void Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p);
-/* PERL_CALLCONV void Perl_save_freesv(pTHX_ SV* sv); */
/* PERL_CALLCONV void Perl_save_freeop(pTHX_ OP* o); */
/* PERL_CALLCONV void Perl_save_freepv(pTHX_ char* pv); */
-PERL_CALLCONV void Perl_save_generic_svref(pTHX_ SV** sptr)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_GENERIC_SVREF \
- assert(sptr)
-
+/* PERL_CALLCONV void Perl_save_freesv(pTHX_ SV* sv); */
PERL_CALLCONV void Perl_save_generic_pvref(pTHX_ char** str)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_GENERIC_PVREF \
assert(str)
-PERL_CALLCONV void Perl_save_shared_pvref(pTHX_ char** str)
+PERL_CALLCONV void Perl_save_generic_svref(pTHX_ SV** sptr)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_SHARED_PVREF \
- assert(str)
+#define PERL_ARGS_ASSERT_SAVE_GENERIC_SVREF \
+ assert(sptr)
PERL_CALLCONV void Perl_save_gp(pTHX_ GV* gv, I32 empty)
__attribute__nonnull__(pTHX_1);
@@ -2961,7 +3285,12 @@ PERL_CALLCONV HV* Perl_save_hash(pTHX_ GV* gv)
#define PERL_ARGS_ASSERT_SAVE_HASH \
assert(gv)
-PERL_CALLCONV void Perl_save_hints(pTHX);
+PERL_CALLCONV void Perl_save_hdelete(pTHX_ HV *hv, SV *keysv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SAVE_HDELETE \
+ assert(hv); assert(keysv)
+
/* PERL_CALLCONV void Perl_save_helem(pTHX_ HV *hv, SV *key, SV **sptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -2974,26 +3303,12 @@ PERL_CALLCONV void Perl_save_helem_flags(pTHX_ HV *hv, SV *key, SV **sptr, const
#define PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS \
assert(hv); assert(key); assert(sptr)
+PERL_CALLCONV void Perl_save_hints(pTHX);
PERL_CALLCONV void Perl_save_hptr(pTHX_ HV** hptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_HPTR \
assert(hptr)
-PERL_CALLCONV void Perl_save_I16(pTHX_ I16* intp)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_I16 \
- assert(intp)
-
-PERL_CALLCONV void Perl_save_I32(pTHX_ I32* intp)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_I32 \
- assert(intp)
-
-PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_I8 \
- assert(bytep)
-
PERL_CALLCONV void Perl_save_int(pTHX_ int* intp)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_INT \
@@ -3030,23 +3345,31 @@ PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv)
assert(gv)
/* PERL_CALLCONV void Perl_save_op(pTHX); */
+PERL_CALLCONV void Perl_save_padsv_and_mortalize(pTHX_ PADOFFSET off);
+PERL_CALLCONV void Perl_save_pptr(pTHX_ char** pptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVE_PPTR \
+ assert(pptr)
+
+PERL_CALLCONV void Perl_save_pushi32ptr(pTHX_ const I32 i, void *const ptr, const int type);
+PERL_CALLCONV void Perl_save_pushptr(pTHX_ void *const ptr, const int type);
+PERL_CALLCONV void Perl_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type);
+PERL_CALLCONV void Perl_save_re_context(pTHX);
PERL_CALLCONV SV* Perl_save_scalar(pTHX_ GV* gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_SCALAR \
assert(gv)
-PERL_CALLCONV void Perl_save_pptr(pTHX_ char** pptr)
+PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV *sv, U32 mask, U32 val)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_PPTR \
- assert(pptr)
+#define PERL_ARGS_ASSERT_SAVE_SET_SVFLAGS \
+ assert(sv)
-PERL_CALLCONV void Perl_save_vptr(pTHX_ void *ptr)
+PERL_CALLCONV void Perl_save_shared_pvref(pTHX_ char** str)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_VPTR \
- assert(ptr)
+#define PERL_ARGS_ASSERT_SAVE_SHARED_PVREF \
+ assert(str)
-PERL_CALLCONV void Perl_save_re_context(pTHX);
-PERL_CALLCONV void Perl_save_padsv_and_mortalize(pTHX_ PADOFFSET off);
PERL_CALLCONV void Perl_save_sptr(pTHX_ SV** sptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SAVE_SPTR \
@@ -3057,18 +3380,48 @@ PERL_CALLCONV SV* Perl_save_svref(pTHX_ SV** sptr)
#define PERL_ARGS_ASSERT_SAVE_SVREF \
assert(sptr)
-PERL_CALLCONV void Perl_save_pushptr(pTHX_ void *const ptr, const int type);
-PERL_CALLCONV void Perl_save_pushi32ptr(pTHX_ const I32 i, void *const ptr, const int type);
-PERL_CALLCONV void Perl_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type);
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-STATIC void S_save_pushptri32ptr(pTHX_ void *const ptr1, const I32 i, void *const ptr2, const int type);
-#endif
+PERL_CALLCONV void Perl_save_vptr(pTHX_ void *ptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVE_VPTR \
+ assert(ptr)
+
+PERL_CALLCONV char* Perl_savepv(pTHX_ const char* pv)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV char* Perl_savepvn(pTHX_ const char* pv, I32 len)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV char* Perl_savesharedpv(pTHX_ const char* pv)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV char* Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVESHAREDPVN \
+ assert(pv)
+
+PERL_CALLCONV char* Perl_savesharedsvpv(pTHX_ SV *sv)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVESHAREDSVPV \
+ assert(sv)
+
+PERL_CALLCONV void Perl_savestack_grow(pTHX);
+PERL_CALLCONV void Perl_savestack_grow_cnt(pTHX_ I32 need);
+PERL_CALLCONV char* Perl_savesvpv(pTHX_ SV* sv)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SAVESVPV \
+ assert(sv)
+
PERL_CALLCONV OP* Perl_sawparens(pTHX_ OP* o);
PERL_CALLCONV OP* Perl_scalar(pTHX_ OP* o);
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_scalarkids(pTHX_ OP* o);
-STATIC OP* S_scalarseq(pTHX_ OP* o);
-#endif
PERL_CALLCONV OP* Perl_scalarvoid(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SCALARVOID \
@@ -3098,7 +3451,19 @@ PERL_CALLCONV NV Perl_scan_oct(pTHX_ const char* start, STRLEN len, STRLEN* retl
#define PERL_ARGS_ASSERT_SCAN_OCT \
assert(start); assert(retlen)
-PERL_CALLCONV OP* Perl_scope(pTHX_ OP* o);
+PERL_CALLCONV const char* Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SCAN_VERSION \
+ assert(s); assert(rv)
+
+PERL_CALLCONV char* Perl_scan_vstring(pTHX_ const char *s, const char *const e, SV *sv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_SCAN_VSTRING \
+ assert(s); assert(e); assert(sv)
+
PERL_CALLCONV char* Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *old_posp, I32 last)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -3106,34 +3471,74 @@ PERL_CALLCONV char* Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_
#define PERL_ARGS_ASSERT_SCREAMINSTR \
assert(bigstr); assert(littlestr); assert(old_posp)
+PERL_CALLCONV U32 Perl_seed(pTHX);
+PERL_CALLCONV void Perl_set_context(void *t)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_SET_CONTEXT \
+ assert(t)
+
+PERL_CALLCONV void Perl_set_numeric_local(pTHX);
+PERL_CALLCONV void Perl_set_numeric_radix(pTHX);
+PERL_CALLCONV void Perl_set_numeric_standard(pTHX);
PERL_CALLCONV void Perl_setdefout(pTHX_ GV* gv);
PERL_CALLCONV HEK* Perl_share_hek(pTHX_ const char* str, I32 len, U32 hash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SHARE_HEK \
assert(str)
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-PERL_CALLCONV Signal_t Perl_sighandler(int sig, siginfo_t *info, void *uap);
-PERL_CALLCONV Signal_t Perl_csighandler(int sig, siginfo_t *info, void *uap);
-#else
-PERL_CALLCONV Signal_t Perl_sighandler(int sig);
-PERL_CALLCONV Signal_t Perl_csighandler(int sig);
-#endif
+PERL_CALLCONV void Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_SORTSV \
+ assert(cmp)
+
+PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_SORTSV_FLAGS \
+ assert(cmp)
+
PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV** p, int n)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_STACK_GROW \
assert(sp); assert(p)
+PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV *tmpglob, IO *io)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_START_GLOB \
+ assert(tmpglob); assert(io)
+
PERL_CALLCONV I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
+PERL_CALLCONV bool Perl_stashpv_hvname_match(pTHX_ const COP *c, const HV *hv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_STASHPV_HVNAME_MATCH \
+ assert(c); assert(hv)
+
+PERL_CALLCONV void Perl_store_cop_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_STORE_COP_LABEL \
+ assert(cop); assert(label)
+
+PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_STR_TO_VERSION \
+ assert(sv)
+
PERL_CALLCONV void Perl_sub_crush_depth(pTHX_ CV* cv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SUB_CRUSH_DEPTH \
assert(cv)
-PERL_CALLCONV bool Perl_sv_2bool(pTHX_ SV *const sv)
+/* PERL_CALLCONV bool sv_2bool(pTHX_ SV *const sv)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV bool Perl_sv_2bool_flags(pTHX_ SV *const sv, const I32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_2BOOL \
+#define PERL_ARGS_ASSERT_SV_2BOOL_FLAGS \
assert(sv)
PERL_CALLCONV CV* Perl_sv_2cv(pTHX_ SV* sv, HV **const st, GV **const gvp, const I32 lref)
@@ -3147,27 +3552,21 @@ PERL_CALLCONV IO* Perl_sv_2io(pTHX_ SV *const sv)
#define PERL_ARGS_ASSERT_SV_2IO \
assert(sv)
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC bool S_glob_2number(pTHX_ GV* const gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GLOB_2NUMBER \
- assert(gv)
-
-#endif
/* PERL_CALLCONV IV Perl_sv_2iv(pTHX_ SV *sv); */
PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags);
PERL_CALLCONV SV* Perl_sv_2mortal(pTHX_ SV *const sv);
-PERL_CALLCONV NV Perl_sv_2nv(pTHX_ SV *const sv);
PERL_CALLCONV SV* Perl_sv_2num(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_2NUM \
assert(sv)
+PERL_CALLCONV NV Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags);
/* PERL_CALLCONV char* Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp); */
PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags);
-PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *const sv, STRLEN *const lp)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_2PVUTF8 \
+/* PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_2PV_NOLEN \
assert(sv)
PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *const sv, STRLEN *const lp)
@@ -3175,64 +3574,60 @@ PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *const sv, STRLEN *const lp)
#define PERL_ARGS_ASSERT_SV_2PVBYTE \
assert(sv)
-PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_PVN_NOMG \
+/* PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN \
assert(sv)
-/* PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV *sv); */
-PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags);
-PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv)
+PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *const sv, STRLEN *const lp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_IV \
+#define PERL_ARGS_ASSERT_SV_2PVUTF8 \
assert(sv)
-PERL_CALLCONV UV Perl_sv_uv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_UV \
+/* PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_2PVUTF8_NOLEN \
assert(sv)
-PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv)
+/* PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV *sv); */
+PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags);
+PERL_CALLCONV int Perl_sv_backoff(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_NV \
+#define PERL_ARGS_ASSERT_SV_BACKOFF \
assert(sv)
-PERL_CALLCONV char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_PVN \
- assert(sv); assert(lp)
-
-PERL_CALLCONV char* Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp)
+PERL_CALLCONV SV* Perl_sv_bless(pTHX_ SV *const sv, HV *const stash)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_PVUTF8N \
- assert(sv); assert(lp)
+#define PERL_ARGS_ASSERT_SV_BLESS \
+ assert(sv); assert(stash)
-PERL_CALLCONV char* Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp)
+PERL_CALLCONV bool Perl_sv_cat_decode(pTHX_ SV* dsv, SV *encoding, SV *ssv, int *offset, char* tstr, int tlen)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_PVBYTEN \
- assert(sv); assert(lp)
-
-PERL_CALLCONV I32 Perl_sv_true(pTHX_ SV *const sv);
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC void S_sv_add_arena(pTHX_ char *const ptr, const U32 size, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_ADD_ARENA \
- assert(ptr)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_SV_CAT_DECODE \
+ assert(dsv); assert(encoding); assert(ssv); assert(offset); assert(tstr)
-#endif
-PERL_CALLCONV int Perl_sv_backoff(pTHX_ SV *const sv)
+PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV *const sv, const char* ptr)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_BACKOFF \
+#define PERL_ARGS_ASSERT_SV_CATPV \
assert(sv)
-PERL_CALLCONV SV* Perl_sv_bless(pTHX_ SV *const sv, HV *const stash)
+PERL_CALLCONV void Perl_sv_catpv_flags(pTHX_ SV *dstr, const char *sstr, const I32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_BLESS \
- assert(sv); assert(stash)
+#define PERL_ARGS_ASSERT_SV_CATPV_FLAGS \
+ assert(dstr); assert(sstr)
+
+PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *const sv, const char *const ptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_CATPV_MG \
+ assert(sv)
PERL_CALLCONV void Perl_sv_catpvf(pTHX_ SV *const sv, const char *const pat, ...)
__attribute__format__(__printf__,pTHX_2,pTHX_3)
@@ -3241,28 +3636,46 @@ PERL_CALLCONV void Perl_sv_catpvf(pTHX_ SV *const sv, const char *const pat, ...
#define PERL_ARGS_ASSERT_SV_CATPVF \
assert(sv); assert(pat)
-PERL_CALLCONV void Perl_sv_vcatpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+PERL_CALLCONV void Perl_sv_catpvf_mg(pTHX_ SV *const sv, const char *const pat, ...)
+ __attribute__format__(__printf__,pTHX_2,pTHX_3)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_VCATPVF \
+#define PERL_ARGS_ASSERT_SV_CATPVF_MG \
assert(sv); assert(pat)
-PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV *const sv, const char* ptr)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_CATPV \
- assert(sv)
-
/* PERL_CALLCONV void Perl_sv_catpvn(pTHX_ SV *dsv, const char *sstr, STRLEN len)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2); */
#define PERL_ARGS_ASSERT_SV_CATPVN \
assert(dsv); assert(sstr)
+PERL_CALLCONV void Perl_sv_catpvn_flags(pTHX_ SV *const dstr, const char *sstr, const STRLEN len, const I32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_CATPVN_FLAGS \
+ assert(dstr); assert(sstr)
+
+/* PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2); */
+#define PERL_ARGS_ASSERT_SV_CATPVN_MG \
+ assert(sv); assert(ptr)
+
/* PERL_CALLCONV void Perl_sv_catsv(pTHX_ SV *dstr, SV *sstr)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_CATSV \
assert(dstr)
+PERL_CALLCONV void Perl_sv_catsv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_CATSV_FLAGS \
+ assert(dsv)
+
+/* PERL_CALLCONV void Perl_sv_catsv_mg(pTHX_ SV *dsv, SV *ssv)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_CATSV_MG \
+ assert(dsv)
+
PERL_CALLCONV void Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_CHOP \
@@ -3270,22 +3683,17 @@ PERL_CALLCONV void Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr)
PERL_CALLCONV I32 Perl_sv_clean_all(pTHX);
PERL_CALLCONV void Perl_sv_clean_objs(pTHX);
-PERL_CALLCONV void Perl_sv_clear(pTHX_ SV *const sv)
+PERL_CALLCONV void Perl_sv_clear(pTHX_ SV *const orig_sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_CLEAR \
- assert(sv)
+ assert(orig_sv)
PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV *const sv1, SV *const sv2);
+PERL_CALLCONV I32 Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags);
PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2);
-#if defined(USE_LOCALE_COLLATE)
-PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_COLLXFRM \
- assert(sv); assert(nxp)
-
-#endif
+PERL_CALLCONV I32 Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags);
PERL_CALLCONV OP* Perl_sv_compile_2op(pTHX_ SV *sv, OP **startop, const char *code, PAD **padp)
+ __attribute__deprecated__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
@@ -3293,16 +3701,27 @@ PERL_CALLCONV OP* Perl_sv_compile_2op(pTHX_ SV *sv, OP **startop, const char *co
#define PERL_ARGS_ASSERT_SV_COMPILE_2OP \
assert(sv); assert(startop); assert(code); assert(padp)
-PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GETCWD_SV \
- assert(sv)
+PERL_CALLCONV OP* Perl_sv_compile_2op_is_broken(pTHX_ SV *sv, OP **startop, const char *code, PAD **padp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_SV_COMPILE_2OP_IS_BROKEN \
+ assert(sv); assert(startop); assert(code); assert(padp)
+
+PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_COPYPV \
+ assert(dsv); assert(ssv)
PERL_CALLCONV void Perl_sv_dec(pTHX_ SV *const sv);
-PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_DUMP \
- assert(sv)
+PERL_CALLCONV void Perl_sv_dec_nomg(pTHX_ SV *const sv);
+PERL_CALLCONV void Perl_sv_del_backref(pTHX_ SV *const tsv, SV *const sv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DEL_BACKREF \
+ assert(tsv); assert(sv)
PERL_CALLCONV bool Perl_sv_derived_from(pTHX_ SV* sv, const char *const name)
__attribute__warn_unused_result__
@@ -3311,6 +3730,7 @@ PERL_CALLCONV bool Perl_sv_derived_from(pTHX_ SV* sv, const char *const name)
#define PERL_ARGS_ASSERT_SV_DERIVED_FROM \
assert(sv); assert(name)
+PERL_CALLCONV bool Perl_sv_destroyable(pTHX_ SV *sv);
PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -3318,7 +3738,23 @@ PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name)
#define PERL_ARGS_ASSERT_SV_DOES \
assert(sv); assert(name)
-PERL_CALLCONV I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
+PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_DUMP \
+ assert(sv)
+
+/* PERL_CALLCONV I32 sv_eq(pTHX_ SV* sv1, SV* sv2); */
+PERL_CALLCONV I32 Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const U32 flags);
+/* PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_FORCE_NORMAL \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_FORCE_NORMAL_FLAGS \
+ assert(sv)
+
PERL_CALLCONV void Perl_sv_free(pTHX_ SV *const sv);
PERL_CALLCONV void Perl_sv_free2(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
@@ -3338,6 +3774,7 @@ PERL_CALLCONV char* Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
assert(sv)
PERL_CALLCONV void Perl_sv_inc(pTHX_ SV *const sv);
+PERL_CALLCONV void Perl_sv_inc_nomg(pTHX_ SV *const sv);
/* PERL_CALLCONV void Perl_sv_insert(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_4); */
@@ -3356,6 +3793,11 @@ PERL_CALLCONV int Perl_sv_isa(pTHX_ SV* sv, const char *const name)
assert(name)
PERL_CALLCONV int Perl_sv_isobject(pTHX_ SV* sv);
+PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_IV \
+ assert(sv)
+
PERL_CALLCONV STRLEN Perl_sv_len(pTHX_ SV *const sv);
PERL_CALLCONV STRLEN Perl_sv_len_utf8(pTHX_ SV *const sv);
PERL_CALLCONV void Perl_sv_magic(pTHX_ SV *const sv, SV *const obj, const int how, const char *const name, const I32 namlen)
@@ -3376,7 +3818,19 @@ PERL_CALLCONV SV* Perl_sv_newmortal(pTHX)
__attribute__warn_unused_result__;
PERL_CALLCONV SV* Perl_sv_newref(pTHX_ SV *const sv);
+/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); */
+PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv);
+PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_NV \
+ assert(sv)
+
PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv);
+PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_POS_B2U \
+ assert(offsetp)
+
PERL_CALLCONV void Perl_sv_pos_u2b(pTHX_ SV *const sv, I32 *const offsetp, I32 *const lenp)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SV_POS_U2B \
@@ -3387,24 +3841,65 @@ PERL_CALLCONV STRLEN Perl_sv_pos_u2b_flags(pTHX_ SV *const sv, STRLEN uoffset, S
#define PERL_ARGS_ASSERT_SV_POS_U2B_FLAGS \
assert(sv)
-PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp)
+/* PERL_CALLCONV char* Perl_sv_pv(pTHX_ SV *sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_PV \
+ assert(sv)
+
+/* PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_PVBYTE \
+ assert(sv)
+
+PERL_CALLCONV char* Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_POS_B2U \
- assert(offsetp)
+#define PERL_ARGS_ASSERT_SV_PVBYTEN \
+ assert(sv); assert(lp)
+
+PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV *const sv, STRLEN *const lp)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_PVBYTEN_FORCE \
+ assert(sv)
+
+PERL_CALLCONV char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_PVN \
+ assert(sv); assert(lp)
/* PERL_CALLCONV char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_PVN_FORCE \
assert(sv)
-PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV *const sv, STRLEN *const lp)
+PERL_CALLCONV char* Perl_sv_pvn_force_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE \
+#define PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS \
assert(sv)
-PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV *const sv, STRLEN *const lp)
+PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_PVBYTEN_FORCE \
+#define PERL_ARGS_ASSERT_SV_PVN_NOMG \
+ assert(sv)
+
+/* PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_PVUTF8 \
+ assert(sv)
+
+PERL_CALLCONV char* Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_PVUTF8N \
+ assert(sv); assert(lp)
+
+PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV *const sv, STRLEN *const lp)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE \
assert(sv)
PERL_CALLCONV char* Perl_sv_recode_to_utf8(pTHX_ SV* sv, SV *encoding)
@@ -3413,15 +3908,6 @@ PERL_CALLCONV char* Perl_sv_recode_to_utf8(pTHX_ SV* sv, SV *encoding)
#define PERL_ARGS_ASSERT_SV_RECODE_TO_UTF8 \
assert(sv); assert(encoding)
-PERL_CALLCONV bool Perl_sv_cat_decode(pTHX_ SV* dsv, SV *encoding, SV *ssv, int *offset, char* tstr, int tlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_SV_CAT_DECODE \
- assert(dsv); assert(encoding); assert(ssv); assert(offset); assert(tstr)
-
PERL_CALLCONV const char* Perl_sv_reftype(pTHX_ const SV *const sv, const int ob)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -3440,6 +3926,41 @@ PERL_CALLCONV void Perl_sv_reset(pTHX_ const char* s, HV *const stash)
#define PERL_ARGS_ASSERT_SV_RESET \
assert(s)
+PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *const sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_RVWEAKEN \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setiv(pTHX_ SV *const sv, const IV num)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETIV \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setiv_mg(pTHX_ SV *const sv, const IV i)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETIV_MG \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setnv(pTHX_ SV *const sv, const NV num)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETNV \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setnv_mg(pTHX_ SV *const sv, const NV num)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETNV_MG \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setpv(pTHX_ SV *const sv, const char *const ptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETPV \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setpv_mg(pTHX_ SV *const sv, const char *const ptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETPV_MG \
+ assert(sv)
+
PERL_CALLCONV void Perl_sv_setpvf(pTHX_ SV *const sv, const char *const pat, ...)
__attribute__format__(__printf__,pTHX_2,pTHX_3)
__attribute__nonnull__(pTHX_1)
@@ -3447,42 +3968,39 @@ PERL_CALLCONV void Perl_sv_setpvf(pTHX_ SV *const sv, const char *const pat, ...
#define PERL_ARGS_ASSERT_SV_SETPVF \
assert(sv); assert(pat)
-PERL_CALLCONV void Perl_sv_vsetpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+PERL_CALLCONV void Perl_sv_setpvf_mg(pTHX_ SV *const sv, const char *const pat, ...)
+ __attribute__format__(__printf__,pTHX_2,pTHX_3)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_VSETPVF \
+#define PERL_ARGS_ASSERT_SV_SETPVF_MG \
assert(sv); assert(pat)
-PERL_CALLCONV void Perl_sv_setiv(pTHX_ SV *const sv, const IV num)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETIV \
- assert(sv)
-
PERL_CALLCONV void Perl_sv_setpviv(pTHX_ SV *const sv, const IV num)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_SETPVIV \
assert(sv)
-PERL_CALLCONV void Perl_sv_setuv(pTHX_ SV *const sv, const UV num)
+PERL_CALLCONV void Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETUV \
+#define PERL_ARGS_ASSERT_SV_SETPVIV_MG \
assert(sv)
-PERL_CALLCONV void Perl_sv_setnv(pTHX_ SV *const sv, const NV num)
+PERL_CALLCONV void Perl_sv_setpvn(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETNV \
+#define PERL_ARGS_ASSERT_SV_SETPVN \
assert(sv)
+PERL_CALLCONV void Perl_sv_setpvn_mg(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_SETPVN_MG \
+ assert(sv); assert(ptr)
+
PERL_CALLCONV SV* Perl_sv_setref_iv(pTHX_ SV *const rv, const char *const classname, const IV iv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_SETREF_IV \
assert(rv)
-PERL_CALLCONV SV* Perl_sv_setref_uv(pTHX_ SV *const rv, const char *const classname, const UV uv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETREF_UV \
- assert(rv)
-
PERL_CALLCONV SV* Perl_sv_setref_nv(pTHX_ SV *const rv, const char *const classname, const NV nv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_SETREF_NV \
@@ -3499,21 +4017,36 @@ PERL_CALLCONV SV* Perl_sv_setref_pvn(pTHX_ SV *const rv, const char *const class
#define PERL_ARGS_ASSERT_SV_SETREF_PVN \
assert(rv); assert(pv)
-PERL_CALLCONV void Perl_sv_setpv(pTHX_ SV *const sv, const char *const ptr)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETPV \
- assert(sv)
-
-PERL_CALLCONV void Perl_sv_setpvn(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
+PERL_CALLCONV SV* Perl_sv_setref_uv(pTHX_ SV *const rv, const char *const classname, const UV uv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETPVN \
- assert(sv)
+#define PERL_ARGS_ASSERT_SV_SETREF_UV \
+ assert(rv)
/* PERL_CALLCONV void Perl_sv_setsv(pTHX_ SV *dstr, SV *sstr)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_SETSV \
assert(dstr)
+PERL_CALLCONV void Perl_sv_setsv_flags(pTHX_ SV *dstr, SV *sstr, const I32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETSV_FLAGS \
+ assert(dstr)
+
+PERL_CALLCONV void Perl_sv_setsv_mg(pTHX_ SV *const dstr, SV *const sstr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETSV_MG \
+ assert(dstr)
+
+PERL_CALLCONV void Perl_sv_setuv(pTHX_ SV *const sv, const UV num)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETUV \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETUV_MG \
+ assert(sv)
+
/* PERL_CALLCONV void Perl_sv_taint(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_TAINT \
@@ -3525,11 +4058,24 @@ PERL_CALLCONV bool Perl_sv_tainted(pTHX_ SV *const sv)
#define PERL_ARGS_ASSERT_SV_TAINTED \
assert(sv)
+PERL_CALLCONV I32 Perl_sv_true(pTHX_ SV *const sv);
+PERL_CALLCONV char* Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_UNI_DISPLAY \
+ assert(dsv); assert(ssv)
+
PERL_CALLCONV int Perl_sv_unmagic(pTHX_ SV *const sv, const int type)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_UNMAGIC \
assert(sv)
+PERL_CALLCONV int Perl_sv_unmagicext(pTHX_ SV *const sv, const int type, MGVTBL *vtbl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UNMAGICEXT \
+ assert(sv)
+
/* PERL_CALLCONV void Perl_sv_unref(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_SV_UNREF \
@@ -3560,23 +4106,88 @@ PERL_CALLCONV void Perl_sv_usepvn_flags(pTHX_ SV *const sv, char* ptr, const STR
#define PERL_ARGS_ASSERT_SV_USEPVN_FLAGS \
assert(sv)
+/* PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_USEPVN_MG \
+ assert(sv)
+
+PERL_CALLCONV bool Perl_sv_utf8_decode(pTHX_ SV *const sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UTF8_DECODE \
+ assert(sv)
+
+PERL_CALLCONV bool Perl_sv_utf8_downgrade(pTHX_ SV *const sv, const bool fail_ok)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_utf8_encode(pTHX_ SV *const sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UTF8_ENCODE \
+ assert(sv)
+
+/* PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE \
+ assert(sv)
+
+/* PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags(pTHX_ SV *const sv, const I32 flags)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags_grow(pTHX_ SV *const sv, const I32 flags, STRLEN extra)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS_GROW \
+ assert(sv)
+
+/* PERL_CALLCONV STRLEN sv_utf8_upgrade_nomg(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV UV Perl_sv_uv(pTHX_ SV* sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UV \
+ assert(sv)
+
+PERL_CALLCONV void Perl_sv_vcatpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_VCATPVF \
+ assert(sv); assert(pat)
+
+PERL_CALLCONV void Perl_sv_vcatpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_VCATPVF_MG \
+ assert(sv); assert(pat)
+
PERL_CALLCONV void Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SV_VCATPVFN \
assert(sv); assert(pat)
+PERL_CALLCONV void Perl_sv_vsetpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_VSETPVF \
+ assert(sv); assert(pat)
+
+PERL_CALLCONV void Perl_sv_vsetpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_VSETPVF_MG \
+ assert(sv); assert(pat)
+
PERL_CALLCONV void Perl_sv_vsetpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SV_VSETPVFN \
assert(sv); assert(pat)
-PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_STR_TO_VERSION \
- assert(sv)
+PERL_CALLCONV UV Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SWASH_FETCH \
+ assert(swash); assert(ptr)
PERL_CALLCONV SV* Perl_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none)
__attribute__nonnull__(pTHX_1)
@@ -3585,37 +4196,85 @@ PERL_CALLCONV SV* Perl_swash_init(pTHX_ const char* pkg, const char* name, SV* l
#define PERL_ARGS_ASSERT_SWASH_INIT \
assert(pkg); assert(name); assert(listsv)
-PERL_CALLCONV UV Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SWASH_FETCH \
- assert(swash); assert(ptr)
+PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_SYS_INIT \
+ assert(argc); assert(argv)
+PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_SYS_INIT3 \
+ assert(argc); assert(argv); assert(env)
+
+PERL_CALLCONV void Perl_sys_term(void);
PERL_CALLCONV void Perl_taint_env(pTHX);
PERL_CALLCONV void Perl_taint_proper(pTHX_ const char* f, const char *const s)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_TAINT_PROPER \
assert(s)
+PERL_CALLCONV OP * Perl_tied_method(pTHX_ const char *const methname, SV **sp, SV *const sv, const MAGIC *const mg, const U32 flags, U32 argc, ...)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_TIED_METHOD \
+ assert(methname); assert(sp); assert(sv); assert(mg)
+
+PERL_CALLCONV void Perl_tmps_grow(pTHX_ I32 n);
+/* PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_TO_UNI_LOWER \
+ assert(p); assert(lenp)
+
+PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_TO_UNI_TITLE \
+ assert(p); assert(lenp)
+
+PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
+PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_TO_UNI_UPPER \
+ assert(p); assert(lenp)
+
+PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c)
+ __attribute__warn_unused_result__
+ __attribute__pure__;
+
PERL_CALLCONV UV Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5)
- __attribute__nonnull__(pTHX_6);
+ __attribute__nonnull__(pTHX_5);
#define PERL_ARGS_ASSERT_TO_UTF8_CASE \
- assert(p); assert(ustrp); assert(swashp); assert(normal); assert(special)
+ assert(p); assert(ustrp); assert(swashp); assert(normal)
-PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TO_UTF8_LOWER \
- assert(p); assert(ustrp)
+ __attribute__nonnull__(pTHX_2); */
-PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TO_UTF8_UPPER \
+#define PERL_ARGS_ASSERT_TO_UTF8_LOWER \
assert(p); assert(ustrp)
PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
@@ -3624,19 +4283,14 @@ PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
#define PERL_ARGS_ASSERT_TO_UTF8_TITLE \
assert(p); assert(ustrp)
-PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TO_UTF8_FOLD \
+#define PERL_ARGS_ASSERT_TO_UTF8_UPPER \
assert(p); assert(ustrp)
-#if defined(UNLINK_ALL_VERSIONS)
-PERL_CALLCONV I32 Perl_unlnk(pTHX_ const char* f)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UNLNK \
- assert(f)
-
-#endif
+PERL_CALLCONV bool Perl_try_amagic_bin(pTHX_ int method, int flags);
+PERL_CALLCONV bool Perl_try_amagic_un(pTHX_ int method, int flags);
PERL_CALLCONV I32 Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -3653,21 +4307,13 @@ PERL_CALLCONV I32 Perl_unpackstring(pTHX_ const char *pat, const char *patend, c
#define PERL_ARGS_ASSERT_UNPACKSTRING \
assert(pat); assert(patend); assert(s); assert(strend)
-PERL_CALLCONV void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
PERL_CALLCONV void Perl_unshare_hek(pTHX_ HEK* hek);
-#ifdef PERL_MAD
-PERL_CALLCONV OP * Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_UTILIZE \
- assert(idop)
-
-#else
-PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_UTILIZE \
- assert(idop)
+PERL_CALLCONV void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
+PERL_CALLCONV SV* Perl_upg_version(pTHX_ SV *ver, bool qv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_UPG_VERSION \
+ assert(ver)
-#endif
PERL_CALLCONV U8* Perl_utf16_to_utf8(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -3682,14 +4328,6 @@ PERL_CALLCONV U8* Perl_utf16_to_utf8_reversed(pTHX_ U8* p, U8 *d, I32 bytelen, I
#define PERL_ARGS_ASSERT_UTF16_TO_UTF8_REVERSED \
assert(p); assert(d); assert(newlen)
-PERL_CALLCONV STRLEN Perl_utf8_length(pTHX_ const U8* s, const U8 *e)
- __attribute__warn_unused_result__
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_UTF8_LENGTH \
- assert(s); assert(e)
-
PERL_CALLCONV IV Perl_utf8_distance(pTHX_ const U8 *a, const U8 *b)
__attribute__warn_unused_result__
__attribute__pure__
@@ -3705,22 +4343,18 @@ PERL_CALLCONV U8* Perl_utf8_hop(pTHX_ const U8 *s, I32 off)
#define PERL_ARGS_ASSERT_UTF8_HOP \
assert(s)
-PERL_CALLCONV U8* Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_UTF8_TO_BYTES \
- assert(s); assert(len)
-
-PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
+PERL_CALLCONV STRLEN Perl_utf8_length(pTHX_ const U8* s, const U8 *e)
+ __attribute__warn_unused_result__
+ __attribute__pure__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_BYTES_FROM_UTF8 \
- assert(s); assert(len)
+#define PERL_ARGS_ASSERT_UTF8_LENGTH \
+ assert(s); assert(e)
-PERL_CALLCONV U8* Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len)
+PERL_CALLCONV U8* Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_BYTES_TO_UTF8 \
+#define PERL_ARGS_ASSERT_UTF8_TO_BYTES \
assert(s); assert(len)
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
@@ -3733,68 +4367,44 @@ PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
#define PERL_ARGS_ASSERT_UTF8_TO_UVUNI \
assert(s)
-
-#ifdef EBCDIC
-PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR \
- assert(s)
-
-#else
-/* PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR \
- assert(s)
-
-#endif
-
PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI \
assert(s)
-
-#ifdef EBCDIC
-PERL_CALLCONV U8* Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv)
+PERL_CALLCONV U8* Perl_uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8 \
- assert(d)
-
-#else
-/* PERL_CALLCONV U8* Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8 \
+#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS \
assert(d)
-#endif
-
/* PERL_CALLCONV U8* Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv)
__attribute__nonnull__(pTHX_1); */
#define PERL_ARGS_ASSERT_UVUNI_TO_UTF8 \
assert(d)
-PERL_CALLCONV U8* Perl_uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS \
- assert(d)
-
PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS \
assert(d)
-PERL_CALLCONV char* Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags)
+PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lhv, SV *rhv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PV_UNI_DISPLAY \
- assert(dsv); assert(spv)
+#define PERL_ARGS_ASSERT_VCMP \
+ assert(lhv); assert(rhv)
-PERL_CALLCONV char* Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_UNI_DISPLAY \
- assert(dsv); assert(ssv)
+PERL_CALLCONV void Perl_vcroak(pTHX_ const char* pat, va_list* args)
+ __attribute__noreturn__;
+
+PERL_CALLCONV void Perl_vdeb(pTHX_ const char* pat, va_list* args)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VDEB \
+ assert(pat)
+
+PERL_CALLCONV char* Perl_vform(pTHX_ const char* pat, va_list* args)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VFORM \
+ assert(pat)
PERL_CALLCONV void Perl_vivify_defelem(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
@@ -3806,54 +4416,73 @@ PERL_CALLCONV void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what)
#define PERL_ARGS_ASSERT_VIVIFY_REF \
assert(sv)
-PERL_CALLCONV I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags)
+PERL_CALLCONV void Perl_vload_module(pTHX_ U32 flags, SV* name, SV* ver, va_list* args)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_WAIT4PID \
- assert(statusp)
+#define PERL_ARGS_ASSERT_VLOAD_MODULE \
+ assert(name)
-PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt)
+PERL_CALLCONV SV* Perl_vmess(pTHX_ const char* pat, va_list* args)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \
- assert(popt)
-
-PERL_CALLCONV U32 Perl_seed(pTHX);
-PERL_CALLCONV UV Perl_get_hash_seed(pTHX)
- __attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_VMESS \
+ assert(pat)
-PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv, const IO *io, I32 op);
-PERL_CALLCONV void Perl_report_uninit(pTHX_ const SV *uninit_sv);
-PERL_CALLCONV void Perl_warn(pTHX_ const char* pat, ...)
- __attribute__format__(__printf__,pTHX_1,pTHX_2)
+PERL_CALLCONV SV* Perl_vnewSVpvf(pTHX_ const char *const pat, va_list *const args)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_WARN \
+#define PERL_ARGS_ASSERT_VNEWSVPVF \
assert(pat)
+PERL_CALLCONV SV* Perl_vnormal(pTHX_ SV *vs)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VNORMAL \
+ assert(vs)
+
+PERL_CALLCONV SV* Perl_vnumify(pTHX_ SV *vs)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VNUMIFY \
+ assert(vs)
+
+PERL_CALLCONV SV* Perl_vstringify(pTHX_ SV *vs)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VSTRINGIFY \
+ assert(vs)
+
+PERL_CALLCONV SV* Perl_vverify(pTHX_ SV *vs)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VVERIFY \
+ assert(vs)
+
PERL_CALLCONV void Perl_vwarn(pTHX_ const char* pat, va_list* args)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_VWARN \
assert(pat)
-PERL_CALLCONV void Perl_warner(pTHX_ U32 err, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
+PERL_CALLCONV void Perl_vwarner(pTHX_ U32 err, const char* pat, va_list* args)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_WARNER \
+#define PERL_ARGS_ASSERT_VWARNER \
assert(pat)
-PERL_CALLCONV void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
+PERL_CALLCONV I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_CK_WARNER \
- assert(pat)
+#define PERL_ARGS_ASSERT_WAIT4PID \
+ assert(statusp)
-PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_CK_WARNER_D \
+PERL_CALLCONV void Perl_warn(pTHX_ const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_1,pTHX_2)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_WARN \
assert(pat)
-PERL_CALLCONV void Perl_vwarner(pTHX_ U32 err, const char* pat, va_list* args)
+PERL_CALLCONV void Perl_warn_sv(pTHX_ SV *baseex)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_WARN_SV \
+ assert(baseex)
+
+PERL_CALLCONV void Perl_warner(pTHX_ U32 err, const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_2,pTHX_3)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_VWARNER \
+#define PERL_ARGS_ASSERT_WARNER \
assert(pat)
PERL_CALLCONV void Perl_watch(pTHX_ char** addr)
@@ -3871,490 +4500,706 @@ PERL_CALLCONV void Perl_write_to_stderr(pTHX_ SV* msv)
#define PERL_ARGS_ASSERT_WRITE_TO_STDERR \
assert(msv)
+PERL_CALLCONV void Perl_xs_apiversion_bootcheck(pTHX_ SV *module, const char *api_p, STRLEN api_len)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_XS_APIVERSION_BOOTCHECK \
+ assert(module); assert(api_p)
+
+PERL_CALLCONV void Perl_xs_version_bootcheck(pTHX_ U32 items, U32 ax, const char *xs_p, STRLEN xs_len)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_XS_VERSION_BOOTCHECK \
+ assert(xs_p)
+
PERL_CALLCONV int Perl_yyerror(pTHX_ const char *const s)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_YYERROR \
assert(s)
PERL_CALLCONV int Perl_yylex(pTHX);
-PERL_CALLCONV int Perl_yyparse(pTHX);
-PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *parser)
+PERL_CALLCONV int Perl_yyparse(pTHX_ int gramtype);
+PERL_CALLCONV void Perl_yyunlex(pTHX);
+#if !(defined(DEBUGGING))
+# if !defined(NV_PRESERVES_UV)
+# if defined(PERL_IN_SV_C)
+STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PARSER_FREE \
- assert(parser)
+#define PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE \
+ assert(sv)
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-STATIC int S_yywarn(pTHX_ const char *const s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_YYWARN \
+# endif
+# endif
+#endif
+#if !(defined(EBCDIC))
+/* PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR \
assert(s)
+/* PERL_CALLCONV U8* Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv)
+ __attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8 \
+ assert(d)
+
#endif
-#if defined(MYMALLOC)
-PERL_CALLCONV void Perl_dump_mstats(pTHX_ const char* s)
+#if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
+PERL_CALLCONV Signal_t Perl_csighandler(int sig);
+PERL_CALLCONV Signal_t Perl_sighandler(int sig);
+#endif
+#if !(defined(NO_MATHOMS))
+PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv);
+#endif
+#if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION))
+PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DUMP_MSTATS \
- assert(s)
+#define PERL_ARGS_ASSERT_DO_EXEC \
+ assert(cmd)
-PERL_CALLCONV int Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level)
+#endif
+#if !(defined(PERL_GLOBAL_STRUCT_PRIVATE))
+# if defined(PERL_IMPLICIT_CONTEXT)
+PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ int *index, size_t size)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_MSTATS \
- assert(buf)
+#define PERL_ARGS_ASSERT_MY_CXT_INIT \
+ assert(index)
+# endif
#endif
-PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+#if !(defined(PERL_MAD))
+PERL_CALLCONV void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
+PERL_CALLCONV void Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
+ __attribute__noreturn__;
-PERL_CALLCONV Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_package(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PACKAGE \
+ assert(o)
-PERL_CALLCONV Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_UTILIZE \
+ assert(idop)
-PERL_CALLCONV Free_t Perl_safesysfree(Malloc_t where);
-#if defined(PERL_GLOBAL_STRUCT)
-PERL_CALLCONV struct perl_vars * Perl_GetVars(pTHX);
-PERL_CALLCONV struct perl_vars* Perl_init_global_struct(pTHX);
-PERL_CALLCONV void Perl_free_global_struct(pTHX_ struct perl_vars *plvarsp)
+#endif
+#if !(defined(USE_ITHREADS))
+# if defined(PERL_IN_OP_C)
+STATIC void S_forget_pmop(pTHX_ PMOP *const o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FREE_GLOBAL_STRUCT \
- assert(plvarsp)
+#define PERL_ARGS_ASSERT_FORGET_PMOP \
+ assert(o)
+# endif
#endif
-PERL_CALLCONV int Perl_runops_standard(pTHX);
-PERL_CALLCONV int Perl_runops_debug(pTHX);
-PERL_CALLCONV void Perl_sv_catpvf_mg(pTHX_ SV *const sv, const char *const pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_CATPVF_MG \
- assert(sv); assert(pat)
+#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
+PERL_CALLCONV char* Perl_my_bzero(char* loc, I32 len)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_MY_BZERO \
+ assert(loc)
-PERL_CALLCONV void Perl_sv_vcatpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+#endif
+#if !defined(HAS_GETENV_LEN)
+PERL_CALLCONV char* Perl_getenv_len(pTHX_ const char *env_elem, unsigned long *len)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_VCATPVF_MG \
- assert(sv); assert(pat)
-
-PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *const sv, const char *const ptr)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_CATPV_MG \
- assert(sv)
+#define PERL_ARGS_ASSERT_GETENV_LEN \
+ assert(env_elem); assert(len)
-/* PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-#define PERL_ARGS_ASSERT_SV_CATPVN_MG \
- assert(sv); assert(ptr)
+#endif
+#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
+PERL_CALLCONV I32 Perl_my_memcmp(const char* s1, const char* s2, I32 len)
+ __attribute__pure__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_MY_MEMCMP \
+ assert(s1); assert(s2)
-/* PERL_CALLCONV void Perl_sv_catsv_mg(pTHX_ SV *dsv, SV *ssv)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_CATSV_MG \
- assert(dsv)
+#endif
+#if !defined(HAS_MEMSET)
+PERL_CALLCONV void* Perl_my_memset(char* loc, I32 ch, I32 len)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_MY_MEMSET \
+ assert(loc)
-PERL_CALLCONV void Perl_sv_setpvf_mg(pTHX_ SV *const sv, const char *const pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
+#endif
+#if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+# if defined(PERL_IN_PP_SYS_C)
+STATIC int S_dooneliner(pTHX_ const char *cmd, const char *filename)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_SETPVF_MG \
- assert(sv); assert(pat)
+#define PERL_ARGS_ASSERT_DOONELINER \
+ assert(cmd); assert(filename)
-PERL_CALLCONV void Perl_sv_vsetpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args)
+# endif
+#endif
+#if !defined(HAS_RENAME)
+PERL_CALLCONV I32 Perl_same_dirent(pTHX_ const char* a, const char* b)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_VSETPVF_MG \
- assert(sv); assert(pat)
+#define PERL_ARGS_ASSERT_SAME_DIRENT \
+ assert(a); assert(b)
-PERL_CALLCONV void Perl_sv_setiv_mg(pTHX_ SV *const sv, const IV i)
+#endif
+#if !defined(HAS_SIGNBIT)
+PERL_CALLCONV int Perl_signbit(NV f)
+ __attribute__pure__;
+
+#endif
+#if !defined(HAS_STRLCAT)
+PERL_CALLCONV Size_t Perl_my_strlcat(char *dst, const char *src, Size_t size);
+#endif
+#if !defined(HAS_STRLCPY)
+PERL_CALLCONV Size_t Perl_my_strlcpy(char *dst, const char *src, Size_t size);
+#endif
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+PERL_CALLCONV I32 Perl_my_chsize(pTHX_ int fd, Off_t length)
+ __attribute__warn_unused_result__;
+
+#endif
+#if !defined(NV_PRESERVES_UV)
+# if defined(DEBUGGING)
+# if defined(PERL_IN_SV_C)
+STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv, I32 numtype)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETIV_MG \
+#define PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE \
assert(sv)
-PERL_CALLCONV void Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv)
+# endif
+# endif
+#endif
+#if !defined(PERL_DISABLE_PMC)
+# if defined(PERL_IN_PP_CTL_C)
+STATIC PerlIO * S_doopen_pm(pTHX_ SV *name)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETPVIV_MG \
- assert(sv)
+#define PERL_ARGS_ASSERT_DOOPEN_PM \
+ assert(name)
-PERL_CALLCONV void Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u)
+# endif
+#endif
+#if !defined(PERL_IS_MINIPERL)
+# if defined(PERL_IN_PERL_C)
+STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INCPUSH_IF_EXISTS \
+ assert(av); assert(dir); assert(stem)
+
+# endif
+#endif
+#if !defined(PERL_NO_UTF16_FILTER)
+# if defined(PERL_IN_TOKE_C)
+STATIC U8* S_add_utf16_textfilter(pTHX_ U8 *const s, bool reversed)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETUV_MG \
+#define PERL_ARGS_ASSERT_ADD_UTF16_TEXTFILTER \
+ assert(s)
+
+STATIC I32 S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_UTF16_TEXTFILTER \
assert(sv)
-PERL_CALLCONV void Perl_sv_setnv_mg(pTHX_ SV *const sv, const NV num)
+# endif
+#endif
+#if !defined(SETUID_SCRIPTS_ARE_SECURE_NOW)
+# if defined(PERL_IN_PERL_C)
+STATIC void S_validate_suid(pTHX_ PerlIO *rsfp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETNV_MG \
- assert(sv)
+#define PERL_ARGS_ASSERT_VALIDATE_SUID \
+ assert(rsfp)
-PERL_CALLCONV void Perl_sv_setpv_mg(pTHX_ SV *const sv, const char *const ptr)
+# endif
+#endif
+#if !defined(SPRINTF_RETURNS_STRLEN)
+PERL_CALLCONV int Perl_my_sprintf(char *buffer, const char *pat, ...)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_MY_SPRINTF \
+ assert(buffer); assert(pat)
+
+#endif
+#if !defined(WIN32)
+PERL_CALLCONV bool Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETPV_MG \
- assert(sv)
+#define PERL_ARGS_ASSERT_DO_EXEC3 \
+ assert(incmd)
-PERL_CALLCONV void Perl_sv_setpvn_mg(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_SETPVN_MG \
- assert(sv); assert(ptr)
+#endif
+#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
+PERL_CALLCONV char* Perl_my_bcopy(const char* from, char* to, I32 len)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_MY_BCOPY \
+ assert(from); assert(to)
-PERL_CALLCONV void Perl_sv_setsv_mg(pTHX_ SV *const dstr, SV *const sstr)
+#endif
+#if defined(DEBUGGING)
+PERL_CALLCONV int Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETSV_MG \
- assert(dstr)
+#define PERL_ARGS_ASSERT_GET_DEBUG_OPTS \
+ assert(s)
-/* PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_USEPVN_MG \
- assert(sv)
+PERL_CALLCONV void Perl_hv_assert(pTHX_ HV *hv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_ASSERT \
+ assert(hv)
-PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id)
- __attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PAD_SETSV \
+ assert(sv)
-PERL_CALLCONV char* Perl_pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
+PERL_CALLCONV SV* Perl_pad_sv(pTHX_ PADOFFSET po);
+# if defined(PERL_IN_PAD_C)
+STATIC void S_cv_dump(pTHX_ const CV *cv, const char *title)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PV_DISPLAY \
- assert(dsv); assert(pv)
+#define PERL_ARGS_ASSERT_CV_DUMP \
+ assert(cv); assert(title)
-PERL_CALLCONV char* Perl_pv_escape(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags)
+# endif
+# if defined(PERL_IN_REGCOMP_C)
+STATIC void S_dump_trie(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 depth)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PV_ESCAPE \
- assert(dsv); assert(str)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_DUMP_TRIE \
+ assert(trie); assert(revcharmap)
-PERL_CALLCONV char* Perl_pv_pretty(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags)
+STATIC void S_dump_trie_interim_list(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PV_PRETTY \
- assert(dsv); assert(str)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_DUMP_TRIE_INTERIM_LIST \
+ assert(trie); assert(revcharmap)
-PERL_CALLCONV void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_3,pTHX_4)
- __attribute__nonnull__(pTHX_2)
+STATIC void S_dump_trie_interim_table(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DUMP_INDENT \
- assert(file); assert(pat)
+#define PERL_ARGS_ASSERT_DUMP_TRIE_INTERIM_TABLE \
+ assert(trie); assert(revcharmap)
-PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
+STATIC const regnode* S_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, const regnode *last, const regnode *plast, SV* sv, I32 indent, U32 depth)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DUMP_VINDENT \
- assert(file); assert(pat)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_6);
+#define PERL_ARGS_ASSERT_DUMPUNTIL \
+ assert(r); assert(start); assert(node); assert(sv)
-PERL_CALLCONV void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
+STATIC void S_put_byte(pTHX_ SV* sv, int c)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PUT_BYTE \
+ assert(sv)
+
+STATIC void S_regdump_extflags(pTHX_ const char *lead, const U32 flags);
+STATIC U8 S_regtail_study(pTHX_ struct RExC_state_t *pRExC_state, regnode *p, const regnode *val, U32 depth)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_GV_DUMP \
- assert(file); assert(name)
+#define PERL_ARGS_ASSERT_REGTAIL_STUDY \
+ assert(pRExC_state); assert(p); assert(val)
-PERL_CALLCONV void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
+# endif
+# if defined(PERL_IN_REGEXEC_C)
+STATIC void S_debug_start_match(pTHX_ const REGEXP *prog, const bool do_utf8, const char *start, const char *end, const char *blurb)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_DEBUG_START_MATCH \
+ assert(prog); assert(start); assert(end); assert(blurb)
+
+STATIC void S_dump_exec_pos(pTHX_ const char *locinput, const regnode *scan, const char *loc_regeol, const char *loc_bostr, const char *loc_reg_starttry, const bool do_utf8)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_GVGV_DUMP \
- assert(file); assert(name)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_DUMP_EXEC_POS \
+ assert(locinput); assert(scan); assert(loc_regeol); assert(loc_bostr); assert(loc_reg_starttry)
-PERL_CALLCONV void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, const char *name, HV *sv)
+# endif
+# if defined(PERL_IN_SV_C)
+STATIC void S_del_sv(pTHX_ SV *p)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DEL_SV \
+ assert(p)
+
+# endif
+# if defined(PERL_IN_TOKE_C)
+STATIC void S_printbuf(pTHX_ const char *const fmt, const char *const s)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PRINTBUF \
+ assert(fmt); assert(s)
+
+STATIC int S_tokereport(pTHX_ I32 rv, const YYSTYPE* lvalp)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_TOKEREPORT \
+ assert(lvalp)
+
+# endif
+#endif
+#if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
+PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DUMP_SV_CHILD \
+ assert(sv)
+
+#endif
+#if defined(DUMP_FDS)
+PERL_CALLCONV void Perl_dump_fds(pTHX_ char* s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DUMP_FDS \
+ assert(s)
+
+#endif
+#if defined(EBCDIC)
+PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR \
+ assert(s)
+
+PERL_CALLCONV U8* Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_UVCHR_TO_UTF8 \
+ assert(d)
+
+#endif
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+PERL_CALLCONV I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_HV_DUMP \
- assert(file); assert(name)
+#define PERL_ARGS_ASSERT_DO_IPCCTL \
+ assert(mark); assert(sp)
-PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+PERL_CALLCONV I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \
- assert(file); assert(mg)
+#define PERL_ARGS_ASSERT_DO_IPCGET \
+ assert(mark); assert(sp)
-PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
+PERL_CALLCONV I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_OP_DUMP \
- assert(file)
+#define PERL_ARGS_ASSERT_DO_MSGRCV \
+ assert(mark); assert(sp)
-PERL_CALLCONV void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
+PERL_CALLCONV I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_PMOP_DUMP \
- assert(file)
+#define PERL_ARGS_ASSERT_DO_MSGSND \
+ assert(mark); assert(sp)
-PERL_CALLCONV void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+PERL_CALLCONV I32 Perl_do_semop(pTHX_ SV** mark, SV** sp)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_SV_DUMP \
- assert(file)
+#define PERL_ARGS_ASSERT_DO_SEMOP \
+ assert(mark); assert(sp)
-PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg);
-PERL_CALLCONV void Perl_reginitcolors(pTHX);
-/* PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_2PV_NOLEN \
- assert(sv)
+PERL_CALLCONV I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_DO_SHMIO \
+ assert(mark); assert(sp)
-/* PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_2PVUTF8_NOLEN \
- assert(sv)
+#endif
+#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
+PERL_CALLCONV Signal_t Perl_csighandler(int sig, siginfo_t *info, void *uap);
+PERL_CALLCONV Signal_t Perl_sighandler(int sig, siginfo_t *info, void *uap);
+#endif
+#if defined(HAVE_INTERP_INTERN)
+PERL_CALLCONV void Perl_sys_intern_clear(pTHX);
+PERL_CALLCONV void Perl_sys_intern_init(pTHX);
+# if defined(USE_ITHREADS)
+PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SYS_INTERN_DUP \
+ assert(src); assert(dst)
-/* PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN \
- assert(sv)
+# endif
+#endif
+#if defined(MYMALLOC)
+PERL_CALLCONV void Perl_dump_mstats(pTHX_ const char* s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DUMP_MSTATS \
+ assert(s)
-/* PERL_CALLCONV char* Perl_sv_pv(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_PV \
- assert(sv)
+PERL_CALLCONV int Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_MSTATS \
+ assert(buf)
-/* PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv)
+PERL_CALLCONV MEM_SIZE Perl_malloc_good_size(size_t nbytes)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p)
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_PVUTF8 \
- assert(sv)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_MALLOCED_SIZE \
+ assert(p)
-/* PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv)
+#endif
+#if defined(MYSWAP)
+PERL_CALLCONV long Perl_my_htonl(pTHX_ long l)
+ __attribute__malloc__
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_PVBYTE \
- assert(sv)
+ __attribute__pure__;
-/* PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE \
- assert(sv)
+PERL_CALLCONV long Perl_my_ntohl(pTHX_ long l)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__pure__;
-/* PERL_CALLCONV STRLEN sv_utf8_upgrade_nomg(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1); */
+PERL_CALLCONV short Perl_my_swap(pTHX_ short s)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__pure__;
-PERL_CALLCONV bool Perl_sv_utf8_downgrade(pTHX_ SV *const sv, const bool fail_ok)
+#endif
+#if defined(NO_MATHOMS)
+/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
+#endif
+#if defined(PERL_CR_FILTER)
+# if defined(PERL_IN_TOKE_C)
+STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
+STATIC void S_strip_return(pTHX_ SV *sv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE \
+#define PERL_ARGS_ASSERT_STRIP_RETURN \
assert(sv)
-PERL_CALLCONV void Perl_sv_utf8_encode(pTHX_ SV *const sv)
+# endif
+#endif
+#if defined(PERL_DEBUG_READONLY_OPS)
+# if defined(PERL_IN_OP_C)
+# if defined(PL_OP_SLAB_ALLOC)
+STATIC void S_Slab_to_rw(pTHX_ void *op)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_UTF8_ENCODE \
- assert(sv)
+#define PERL_ARGS_ASSERT_SLAB_TO_RW \
+ assert(op)
-PERL_CALLCONV bool Perl_sv_utf8_decode(pTHX_ SV *const sv)
+# endif
+# endif
+# if defined(PL_OP_SLAB_ALLOC)
+PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_UTF8_DECODE \
- assert(sv)
+#define PERL_ARGS_ASSERT_OP_REFCNT_DEC \
+ assert(o)
-/* PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv)
+PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o);
+PERL_CALLCONV void Perl_pending_Slabs_to_ro(pTHX);
+# endif
+#endif
+#if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)
+/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
__attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_SV_FORCE_NORMAL \
- assert(sv)
+#define PERL_ARGS_ASSERT_DO_EXEC \
+ assert(cmd)
-PERL_CALLCONV void Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags)
+#endif
+#if defined(PERL_DONT_CREATE_GVSV)
+/* PERL_CALLCONV GV* Perl_gv_SVadd(pTHX_ GV *gv); */
+#endif
+#if defined(PERL_GLOBAL_STRUCT)
+PERL_CALLCONV struct perl_vars * Perl_GetVars(pTHX);
+PERL_CALLCONV void Perl_free_global_struct(pTHX_ struct perl_vars *plvarsp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_FORCE_NORMAL_FLAGS \
- assert(sv)
+#define PERL_ARGS_ASSERT_FREE_GLOBAL_STRUCT \
+ assert(plvarsp)
-PERL_CALLCONV void Perl_tmps_grow(pTHX_ I32 n);
-PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *const sv)
+PERL_CALLCONV struct perl_vars* Perl_init_global_struct(pTHX);
+#endif
+#if defined(PERL_GLOBAL_STRUCT_PRIVATE)
+# if defined(PERL_IMPLICIT_CONTEXT)
+PERL_CALLCONV int Perl_my_cxt_index(pTHX_ const char *my_cxt_key)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_RVWEAKEN \
- assert(sv)
+#define PERL_ARGS_ASSERT_MY_CXT_INDEX \
+ assert(my_cxt_key)
-PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS \
- assert(sv); assert(mg)
+PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ const char *my_cxt_key, size_t size)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MY_CXT_INIT \
+ assert(my_cxt_key)
-PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
-PERL_CALLCONV CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
-#ifdef PERL_MAD
-PERL_CALLCONV OP * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
- __attribute__noreturn__;
+# endif
+#endif
+#if defined(PERL_IMPLICIT_CONTEXT)
+PERL_CALLCONV void Perl_croak_nocontext(const char* pat, ...)
+ __attribute__noreturn__
+ __attribute__format__null_ok__(__printf__,1,2);
-#else
-PERL_CALLCONV void Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
- __attribute__noreturn__;
+PERL_CALLCONV void Perl_deb_nocontext(const char* pat, ...)
+ __attribute__format__(__printf__,1,2)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_DEB_NOCONTEXT \
+ assert(pat)
-#endif
-PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MY_ATTRS \
- assert(o)
+PERL_CALLCONV OP* Perl_die_nocontext(const char* pat, ...)
+ __attribute__format__null_ok__(__printf__,1,2);
-#if defined(USE_ITHREADS)
-PERL_CALLCONV PERL_CONTEXT* Perl_cx_dup(pTHX_ PERL_CONTEXT* cx, I32 ix, I32 max, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_CX_DUP \
- assert(param)
+PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...)
+ __attribute__format__(__printf__,1,2)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_FORM_NOCONTEXT \
+ assert(pat)
-PERL_CALLCONV PERL_SI* Perl_si_dup(pTHX_ PERL_SI* si, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SI_DUP \
- assert(param)
+PERL_CALLCONV int Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
+ __attribute__format__(__printf__,2,3)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT \
+ assert(stream); assert(format)
-PERL_CALLCONV ANY* Perl_ss_dup(pTHX_ PerlInterpreter* proto_perl, CLONE_PARAMS* param)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SS_DUP \
- assert(proto_perl); assert(param)
+PERL_CALLCONV void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_LOAD_MODULE_NOCONTEXT \
+ assert(name)
-PERL_CALLCONV void* Perl_any_dup(pTHX_ void* v, const PerlInterpreter* proto_perl)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_ANY_DUP \
- assert(proto_perl)
+PERL_CALLCONV SV* Perl_mess_nocontext(const char* pat, ...)
+ __attribute__format__(__printf__,1,2)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_MESS_NOCONTEXT \
+ assert(pat)
-PERL_CALLCONV HE* Perl_he_dup(pTHX_ const HE* e, bool shared, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_HE_DUP \
- assert(param)
+PERL_CALLCONV SV* Perl_newSVpvf_nocontext(const char *const pat, ...)
+ __attribute__format__(__printf__,1,2)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_NEWSVPVF_NOCONTEXT \
+ assert(pat)
-PERL_CALLCONV HEK* Perl_hek_dup(pTHX_ HEK* e, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_HEK_DUP \
- assert(param)
+PERL_CALLCONV int Perl_printf_nocontext(const char *format, ...)
+ __attribute__format__(__printf__,1,2)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PRINTF_NOCONTEXT \
+ assert(format)
-PERL_CALLCONV void Perl_re_dup_guts(pTHX_ const REGEXP *sstr, REGEXP *dstr, CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_RE_DUP_GUTS \
- assert(sstr); assert(dstr); assert(param)
+PERL_CALLCONV void Perl_sv_catpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
+ __attribute__format__(__printf__,2,3)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_SV_CATPVF_MG_NOCONTEXT \
+ assert(sv); assert(pat)
-PERL_CALLCONV PerlIO* Perl_fp_dup(pTHX_ PerlIO *const fp, const char type, CLONE_PARAMS *const param)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_FP_DUP \
- assert(param)
+PERL_CALLCONV void Perl_sv_catpvf_nocontext(SV *const sv, const char *const pat, ...)
+ __attribute__format__(__printf__,2,3)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_SV_CATPVF_NOCONTEXT \
+ assert(sv); assert(pat)
-PERL_CALLCONV DIR* Perl_dirp_dup(pTHX_ DIR *const dp)
- __attribute__warn_unused_result__;
+PERL_CALLCONV void Perl_sv_setpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
+ __attribute__format__(__printf__,2,3)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_SV_SETPVF_MG_NOCONTEXT \
+ assert(sv); assert(pat)
-PERL_CALLCONV GP* Perl_gp_dup(pTHX_ GP *const gp, CLONE_PARAMS *const param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GP_DUP \
- assert(param)
+PERL_CALLCONV void Perl_sv_setpvf_nocontext(SV *const sv, const char *const pat, ...)
+ __attribute__format__(__printf__,2,3)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_SV_SETPVF_NOCONTEXT \
+ assert(sv); assert(pat)
-PERL_CALLCONV MAGIC* Perl_mg_dup(pTHX_ MAGIC *mg, CLONE_PARAMS *const param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MG_DUP \
- assert(param)
+PERL_CALLCONV void Perl_warn_nocontext(const char* pat, ...)
+ __attribute__format__(__printf__,1,2)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_WARN_NOCONTEXT \
+ assert(pat)
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC SV ** S_sv_dup_inc_multiple(pTHX_ SV *const *source, SV **dest, SSize_t items, CLONE_PARAMS *const param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_SV_DUP_INC_MULTIPLE \
- assert(source); assert(dest); assert(param)
+PERL_CALLCONV void Perl_warner_nocontext(U32 err, const char* pat, ...)
+ __attribute__format__(__printf__,2,3)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_WARNER_NOCONTEXT \
+ assert(pat)
#endif
-PERL_CALLCONV SV* Perl_sv_dup(pTHX_ const SV *const sstr, CLONE_PARAMS *const param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_DUP \
- assert(param)
-
-PERL_CALLCONV void Perl_rvpv_dup(pTHX_ SV *const dstr, const SV *const sstr, CLONE_PARAMS *const param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_RVPV_DUP \
- assert(dstr); assert(sstr); assert(param)
+#if defined(PERL_IMPLICIT_SYS)
+PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem *ipM, struct IPerlMem *ipMS, struct IPerlMem *ipMP, struct IPerlEnv *ipE, struct IPerlStdIO *ipStd, struct IPerlLIO *ipLIO, struct IPerlDir *ipD, struct IPerlSock *ipS, struct IPerlProc *ipP)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3)
+ __attribute__nonnull__(4)
+ __attribute__nonnull__(5)
+ __attribute__nonnull__(6)
+ __attribute__nonnull__(7)
+ __attribute__nonnull__(8)
+ __attribute__nonnull__(9);
+#define PERL_ARGS_ASSERT_PERL_ALLOC_USING \
+ assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP)
-PERL_CALLCONV yy_parser* Perl_parser_dup(pTHX_ const yy_parser *const proto, CLONE_PARAMS *const param)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PARSER_DUP \
- assert(param)
+# if defined(USE_ITHREADS)
+PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *proto_perl, UV flags, struct IPerlMem* ipM, struct IPerlMem* ipMS, struct IPerlMem* ipMP, struct IPerlEnv* ipE, struct IPerlStdIO* ipStd, struct IPerlLIO* ipLIO, struct IPerlDir* ipD, struct IPerlSock* ipS, struct IPerlProc* ipP)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3)
+ __attribute__nonnull__(4)
+ __attribute__nonnull__(5)
+ __attribute__nonnull__(6)
+ __attribute__nonnull__(7)
+ __attribute__nonnull__(8)
+ __attribute__nonnull__(9)
+ __attribute__nonnull__(10)
+ __attribute__nonnull__(11);
+#define PERL_ARGS_ASSERT_PERL_CLONE_USING \
+ assert(proto_perl); assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP)
+# endif
#endif
-PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *const tbl, const void *const sv)
- __attribute__warn_unused_result__
+#if defined(PERL_IN_AV_C)
+STATIC MAGIC* S_get_aux_mg(pTHX_ AV *av)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PTR_TABLE_FETCH \
- assert(tbl)
+#define PERL_ARGS_ASSERT_GET_AUX_MG \
+ assert(av)
-PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *const tbl, const void *const oldsv, void *const newsv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_PTR_TABLE_STORE \
- assert(tbl); assert(newsv)
+#endif
+#if defined(PERL_IN_DEB_C)
+STATIC void S_deb_stack_n(pTHX_ SV** stack_base, I32 stack_min, I32 stack_max, I32 mark_min, I32 mark_max)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DEB_STACK_N \
+ assert(stack_base)
-PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *const tbl)
+#endif
+#if defined(PERL_IN_DOIO_C)
+STATIC void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PTR_TABLE_SPLIT \
- assert(tbl)
+#define PERL_ARGS_ASSERT_EXEC_FAILED \
+ assert(cmd)
-PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *const tbl);
-PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *const tbl);
-#if defined(USE_ITHREADS)
-# if defined(HAVE_INTERP_INTERN)
-PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SYS_INTERN_DUP \
- assert(src); assert(dst)
+STATIC bool S_ingroup(pTHX_ Gid_t testgid, bool effective)
+ __attribute__warn_unused_result__;
-# endif
-#endif
-#if defined(HAVE_INTERP_INTERN)
-PERL_CALLCONV void Perl_sys_intern_clear(pTHX);
-PERL_CALLCONV void Perl_sys_intern_init(pTHX);
#endif
-
-PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o)
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 S_do_trans_complex(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \
- assert(o)
+#define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX \
+ assert(sv)
-PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o)
+STATIC I32 S_do_trans_complex_utf8(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \
- assert(o)
-
-
-PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv);
-/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); */
-PERL_CALLCONV bool Perl_sv_destroyable(pTHX_ SV *sv);
-#ifdef NO_MATHOMS
-/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
-#else
-PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv);
-#endif
-PERL_CALLCONV int Perl_nothreadhook(pTHX);
-
-END_EXTERN_C
+#define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX_UTF8 \
+ assert(sv)
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_do_trans_simple(pTHX_ SV * const sv)
+STATIC I32 S_do_trans_count(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE \
+#define PERL_ARGS_ASSERT_DO_TRANS_COUNT \
assert(sv)
-STATIC I32 S_do_trans_count(pTHX_ SV * const sv)
+STATIC I32 S_do_trans_count_utf8(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_TRANS_COUNT \
+#define PERL_ARGS_ASSERT_DO_TRANS_COUNT_UTF8 \
assert(sv)
-STATIC I32 S_do_trans_complex(pTHX_ SV * const sv)
+STATIC I32 S_do_trans_simple(pTHX_ SV * const sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX \
+#define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE \
assert(sv)
STATIC I32 S_do_trans_simple_utf8(pTHX_ SV * const sv)
@@ -4363,31 +5208,81 @@ STATIC I32 S_do_trans_simple_utf8(pTHX_ SV * const sv)
#define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE_UTF8 \
assert(sv)
-STATIC I32 S_do_trans_count_utf8(pTHX_ SV * const sv)
+#endif
+#if defined(PERL_IN_DQUOTE_STATIC_C)
+STATIC char S_grok_bslash_c(pTHX_ const char source, const bool utf8, const bool output_warning)
+ __attribute__warn_unused_result__;
+
+STATIC bool S_grok_bslash_o(pTHX_ const char* s, UV* uv, STRLEN* len, const char** error_msg, const bool output_warning)
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_TRANS_COUNT_UTF8 \
- assert(sv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_GROK_BSLASH_O \
+ assert(s); assert(uv); assert(len); assert(error_msg)
-STATIC I32 S_do_trans_complex_utf8(pTHX_ SV * const sv)
+PERL_STATIC_INLINE I32 S_regcurly(pTHX_ const char *s)
__attribute__warn_unused_result__
+ __attribute__pure__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX_UTF8 \
- assert(sv)
+#define PERL_ARGS_ASSERT_REGCURLY \
+ assert(s)
#endif
+#if defined(PERL_IN_DUMP_C)
+STATIC CV* S_deb_curcv(pTHX_ const I32 ix);
+STATIC void S_debprof(pTHX_ const OP *o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DEBPROF \
+ assert(o)
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-STATIC void S_gv_init_sv(pTHX_ GV *gv, const svtype sv_type)
+STATIC SV* S_pm_description(pTHX_ const PMOP *pm)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_INIT_SV \
- assert(gv)
+#define PERL_ARGS_ASSERT_PM_DESCRIPTION \
+ assert(pm)
+
+STATIC void S_sequence(pTHX_ const OP *o);
+STATIC UV S_sequence_num(pTHX_ const OP *o);
+STATIC void S_sequence_tail(pTHX_ const OP *o);
+# if defined(PERL_MAD)
+STATIC void S_xmldump_attr(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_3,pTHX_4)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_XMLDUMP_ATTR \
+ assert(file); assert(pat)
+
+# endif
+#endif
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_KILL_BACKREFS \
+ assert(hv)
+#endif
+#if defined(PERL_IN_GV_C)
STATIC HV* S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_GET_SUPER_PKG \
assert(name)
+STATIC void S_gv_init_sv(pTHX_ GV *gv, const svtype sv_type)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_INIT_SV \
+ assert(gv)
+
+STATIC void S_gv_magicalize_isa(pTHX_ GV *gv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_MAGICALIZE_ISA \
+ assert(gv)
+
+STATIC void S_gv_magicalize_overload(pTHX_ GV *gv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GV_MAGICALIZE_OVERLOAD \
+ assert(gv)
+
STATIC HV* S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const char *methpv, const U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -4397,16 +5292,18 @@ STATIC HV* S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const
assert(gv); assert(varpv); assert(namesv); assert(methpv)
#endif
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
+PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *const tsv, SV *const sv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_ADD_BACKREF \
+ assert(tsv); assert(sv)
-PERL_CALLCONV void* Perl_get_arena(pTHX_ const size_t arenasize, const svtype bodytype)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-STATIC void S_hsplit(pTHX_ HV *hv)
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC void S_clear_placeholders(pTHX_ HV *hv, U32 items)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HSPLIT \
+#define PERL_ARGS_ASSERT_CLEAR_PLACEHOLDERS \
assert(hv)
STATIC void S_hfreeentries(pTHX_ HV *hv)
@@ -4414,22 +5311,17 @@ STATIC void S_hfreeentries(pTHX_ HV *hv)
#define PERL_ARGS_ASSERT_HFREEENTRIES \
assert(hv)
-STATIC I32 S_anonymise_cv(pTHX_ HEK *stash, SV *val)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_ANONYMISE_CV \
- assert(val)
-
-STATIC HE* S_new_he(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
+STATIC void S_hsplit(pTHX_ HV *hv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HSPLIT \
+ assert(hv)
-STATIC HEK* S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
- __attribute__malloc__
- __attribute__warn_unused_result__
+STATIC struct xpvhv_aux* S_hv_auxinit(HV *hv)
__attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SAVE_HEK_FLAGS \
- assert(str)
+#define PERL_ARGS_ASSERT_HV_AUXINIT \
+ assert(hv)
+STATIC SV* S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash);
STATIC void S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -4437,13 +5329,6 @@ STATIC void S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
#define PERL_ARGS_ASSERT_HV_MAGIC_CHECK \
assert(hv); assert(needs_copy); assert(needs_store)
-STATIC void S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 len, U32 hash);
-STATIC HEK* S_share_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SHARE_HEK_FLAGS \
- assert(str)
-
STATIC void S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg)
__attribute__noreturn__
__attribute__nonnull__(pTHX_2)
@@ -4451,299 +5336,139 @@ STATIC void S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const ch
#define PERL_ARGS_ASSERT_HV_NOTALLOWED \
assert(key); assert(msg)
-STATIC struct xpvhv_aux* S_hv_auxinit(HV *hv)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_HV_AUXINIT \
- assert(hv)
-
-STATIC SV* S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash);
-STATIC void S_clear_placeholders(pTHX_ HV *hv, U32 items)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CLEAR_PLACEHOLDERS \
- assert(hv)
+STATIC HE* S_new_he(pTHX)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE \
assert(he)
-#endif
+STATIC HEK* S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_SAVE_HEK_FLAGS \
+ assert(str)
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SAVE_MAGIC \
+STATIC HEK* S_share_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SHARE_HEK_FLAGS \
+ assert(str)
+
+STATIC void S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 len, U32 hash);
+#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV void Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_KILL_BACKREFS \
assert(sv)
-STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, const char *meth)
+#endif
+#if defined(PERL_IN_LOCALE_C)
+# if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
+STATIC char* S_stdize_locale(pTHX_ char* locs)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_STDIZE_LOCALE \
+ assert(locs)
+
+# endif
+#endif
+#if defined(PERL_IN_MG_C)
+STATIC SV* S_magic_methcall1(pTHX_ SV *sv, const MAGIC *mg, const char *meth, U32 flags, int n, SV *val)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MAGIC_METHPACK \
+#define PERL_ARGS_ASSERT_MAGIC_METHCALL1 \
assert(sv); assert(mg); assert(meth)
-STATIC int S_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, const char *meth, I32 f, int n, SV *val)
+STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, const char *meth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MAGIC_METHCALL \
+#define PERL_ARGS_ASSERT_MAGIC_METHPACK \
assert(sv); assert(mg); assert(meth)
STATIC void S_restore_magic(pTHX_ const void *p);
-STATIC void S_unwind_handler_stack(pTHX_ const void *p)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_UNWIND_HANDLER_STACK \
- assert(p)
-
+STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SAVE_MAGIC \
+ assert(sv)
+STATIC void S_unwind_handler_stack(pTHX_ const void *p);
#endif
+#if defined(PERL_IN_MRO_C)
+STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV \
+ assert(isa); assert(name)
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV OP* Perl_ck_anoncode(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_ANONCODE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_bitop(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_BITOP \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_concat(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_CONCAT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_defined(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_DEFINED \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_delete(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_DELETE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_die(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_DIE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_eof(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EOF \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_eval(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EVAL \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_exec(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EXEC \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_exists(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EXISTS \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_exit(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EXIT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_ftst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_FTST \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_fun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_FUN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_glob(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_GLOB \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_grep(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_GREP \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_index(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_INDEX \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_join(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_JOIN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_lfun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_LFUN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_listiob(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_LISTIOB \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_match(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_MATCH \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_method(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_METHOD \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_null(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_NULL \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_open(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_OPEN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_readline(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_READLINE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_repeat(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_REPEAT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_require(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_REQUIRE \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_return(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_RETURN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_rfun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_RFUN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_rvconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_RVCONST \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_sassign(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SASSIGN \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_select(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SELECT \
- assert(o)
-
-PERL_CALLCONV OP* Perl_ck_shift(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SHIFT \
- assert(o)
+STATIC void S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes, HV *stash, HV *oldstash, SV *namesv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_MRO_GATHER_AND_RENAME \
+ assert(stashes); assert(seen_stashes); assert(namesv)
-PERL_CALLCONV OP* Perl_ck_sort(pTHX_ OP *o)
- __attribute__warn_unused_result__
+STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SORT \
- assert(o)
+#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA_DFS \
+ assert(stash)
-PERL_CALLCONV OP* Perl_ck_spair(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SPAIR \
- assert(o)
+#endif
+#if defined(PERL_IN_NUMERIC_C)
+STATIC NV S_mulexp10(NV value, I32 exponent);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_APPLY_ATTRS \
+ assert(stash); assert(target)
-PERL_CALLCONV OP* Perl_ck_split(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SPLIT \
- assert(o)
+STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_APPLY_ATTRS_MY \
+ assert(stash); assert(target); assert(imopsp)
-PERL_CALLCONV OP* Perl_ck_subr(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SUBR \
- assert(o)
+STATIC void S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_BAD_TYPE \
+ assert(t); assert(name); assert(kid)
-PERL_CALLCONV OP* Perl_ck_substr(pTHX_ OP *o)
- __attribute__warn_unused_result__
+STATIC void S_cop_free(pTHX_ COP *cop)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SUBSTR \
- assert(o)
+#define PERL_ARGS_ASSERT_COP_FREE \
+ assert(cop)
-PERL_CALLCONV OP* Perl_ck_svconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
+STATIC OP * S_dup_attrlist(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_SVCONST \
+#define PERL_ARGS_ASSERT_DUP_ATTRLIST \
assert(o)
-PERL_CALLCONV OP* Perl_ck_trunc(pTHX_ OP *o)
- __attribute__warn_unused_result__
+STATIC void S_find_and_forget_pmops(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_TRUNC \
+#define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS \
assert(o)
-PERL_CALLCONV OP* Perl_ck_unpack(pTHX_ OP *o)
- __attribute__warn_unused_result__
+STATIC OP* S_fold_constants(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_UNPACK \
+#define PERL_ARGS_ASSERT_FOLD_CONSTANTS \
assert(o)
-PERL_CALLCONV OP* Perl_ck_each(pTHX_ OP *o)
- __attribute__warn_unused_result__
+STATIC OP* S_force_list(pTHX_ OP* arg);
+STATIC OP* S_gen_constant_list(pTHX_ OP* o);
+STATIC const char* S_gv_ename(pTHX_ GV *gv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_EACH \
- assert(o)
+#define PERL_ARGS_ASSERT_GV_ENAME \
+ assert(gv)
STATIC bool S_is_handle_constructor(const OP *o, I32 numargs)
__attribute__warn_unused_result__
@@ -4751,46 +5476,33 @@ STATIC bool S_is_handle_constructor(const OP *o, I32 numargs)
#define PERL_ARGS_ASSERT_IS_HANDLE_CONSTRUCTOR \
assert(o)
-STATIC I32 S_is_list_assignment(pTHX_ const OP *o)
- __attribute__warn_unused_result__;
-
-# ifdef USE_ITHREADS
-STATIC void S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
+STATIC OP* S_is_inplace_av(pTHX_ OP* o, OP* oright)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORGET_PMOP \
+#define PERL_ARGS_ASSERT_IS_INPLACE_AV \
assert(o)
-# else
-STATIC void S_forget_pmop(pTHX_ PMOP *const o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORGET_PMOP \
- assert(o)
+STATIC I32 S_is_list_assignment(pTHX_ const OP *o)
+ __attribute__warn_unused_result__;
-# endif
-STATIC void S_find_and_forget_pmops(pTHX_ OP *o)
+STATIC OP* S_listkids(pTHX_ OP* o);
+STATIC bool S_looks_like_bool(pTHX_ const OP* o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS \
+#define PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL \
assert(o)
-STATIC void S_cop_free(pTHX_ COP *cop)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_COP_FREE \
- assert(cop)
-
STATIC OP* S_modkids(pTHX_ OP *o, I32 type);
-STATIC OP* S_scalarboolean(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SCALARBOOLEAN \
- assert(o)
+STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MY_KID \
+ assert(imopsp)
STATIC OP* S_newDEFSVOP(pTHX)
__attribute__warn_unused_result__;
-STATIC OP* S_search_const(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SEARCH_CONST \
- assert(o)
+STATIC OP* S_newGIVWHENOP(pTHX_ OP* cond, OP *block, I32 enter_opcode, I32 leave_opcode, PADOFFSET entertarg)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_NEWGIVWHENOP \
+ assert(block)
STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp)
__attribute__warn_unused_result__
@@ -4799,61 +5511,60 @@ STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp)
#define PERL_ARGS_ASSERT_NEW_LOGOP \
assert(firstp); assert(otherp)
-STATIC void S_simplify_sort(pTHX_ OP *o)
+STATIC void S_no_bareword_allowed(pTHX_ const OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SIMPLIFY_SORT \
+#define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED \
assert(o)
-STATIC const char* S_gv_ename(pTHX_ GV *gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_ENAME \
- assert(gv)
-
-STATIC bool S_scalar_mod_type(const OP *o, I32 type)
+STATIC OP* S_no_fh_allowed(pTHX_ OP *o)
__attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE \
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NO_FH_ALLOWED \
assert(o)
-STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MY_KID \
- assert(imopsp)
-
-STATIC OP * S_dup_attrlist(pTHX_ OP *o)
+STATIC OP* S_opt_scalarhv(pTHX_ OP* rep_op)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DUP_ATTRLIST \
- assert(o)
+#define PERL_ARGS_ASSERT_OPT_SCALARHV \
+ assert(rep_op)
-STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
+STATIC OP* S_pmtrans(pTHX_ OP* o, OP* expr, OP* repl)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_APPLY_ATTRS \
- assert(stash); assert(target)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_PMTRANS \
+ assert(o); assert(expr); assert(repl)
-STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp)
+STATIC void S_process_special_blocks(pTHX_ const char *const fullname, GV *const gv, CV *const cv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_APPLY_ATTRS_MY \
- assert(stash); assert(target); assert(imopsp)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_PROCESS_SPECIAL_BLOCKS \
+ assert(fullname); assert(gv); assert(cv)
-STATIC void S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_BAD_TYPE \
- assert(t); assert(name); assert(kid)
+STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond);
+STATIC OP* S_refkids(pTHX_ OP* o, I32 type);
+STATIC bool S_scalar_mod_type(const OP *o, I32 type)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE \
+ assert(o)
-STATIC void S_no_bareword_allowed(pTHX_ const OP *o)
+STATIC OP* S_scalarboolean(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED \
+#define PERL_ARGS_ASSERT_SCALARBOOLEAN \
assert(o)
-STATIC OP* S_no_fh_allowed(pTHX_ OP *o)
+STATIC OP* S_scalarkids(pTHX_ OP* o);
+STATIC OP* S_scalarseq(pTHX_ OP* o);
+STATIC OP* S_search_const(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NO_FH_ALLOWED \
+#define PERL_ARGS_ASSERT_SEARCH_CONST \
+ assert(o)
+
+STATIC void S_simplify_sort(pTHX_ OP *o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SIMPLIFY_SORT \
assert(o)
STATIC OP* S_too_few_arguments(pTHX_ OP *o, const char* name)
@@ -4870,54 +5581,36 @@ STATIC OP* S_too_many_arguments(pTHX_ OP *o, const char* name)
#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS \
assert(o); assert(name)
-STATIC bool S_looks_like_bool(pTHX_ const OP* o)
+# if defined(USE_ITHREADS)
+STATIC void S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL \
+#define PERL_ARGS_ASSERT_FORGET_PMOP \
assert(o)
-STATIC OP* S_newGIVWHENOP(pTHX_ OP* cond, OP *block, I32 enter_opcode, I32 leave_opcode, PADOFFSET entertarg)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_NEWGIVWHENOP \
- assert(block)
-
-STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond);
-STATIC void S_process_special_blocks(pTHX_ const char *const fullname, GV *const gv, CV *const cv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_PROCESS_SPECIAL_BLOCKS \
- assert(fullname); assert(gv); assert(cv)
-
+# endif
#endif
-#if defined(PL_OP_SLAB_ALLOC)
-PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op)
+#if defined(PERL_IN_PAD_C)
+STATIC PADOFFSET S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash, HV *ourstash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SLAB_FREE \
- assert(op)
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
+ assert(namesv)
-# if defined(PERL_DEBUG_READONLY_OPS)
-PERL_CALLCONV void Perl_pending_Slabs_to_ro(pTHX);
-PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o);
-PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o)
+STATIC void S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OP_REFCNT_DEC \
- assert(o)
+#define PERL_ARGS_ASSERT_PAD_CHECK_DUP \
+ assert(name)
-# if defined(PERL_IN_OP_C)
-STATIC void S_Slab_to_rw(pTHX_ void *op)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SLAB_TO_RW \
- assert(op)
+STATIC PADOFFSET S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_6)
+ __attribute__nonnull__(pTHX_7);
+#define PERL_ARGS_ASSERT_PAD_FINDLEX \
+ assert(name); assert(cv); assert(out_name_sv); assert(out_flags)
-# endif
-# endif
+STATIC void S_pad_reset(pTHX);
#endif
-
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PERL_C)
STATIC void S_find_beginning(pTHX_ SV* linestr_sv, PerlIO *rsfp)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -4935,8 +5628,8 @@ STATIC void S_incpush_use_sep(pTHX_ const char *p, STRLEN len, U32 flags)
#define PERL_ARGS_ASSERT_INCPUSH_USE_SEP \
assert(p)
-STATIC void S_init_interp(pTHX);
STATIC void S_init_ids(pTHX);
+STATIC void S_init_interp(pTHX);
STATIC void S_init_main_stash(pTHX);
STATIC void S_init_perllib(pTHX);
STATIC void S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
@@ -4956,33 +5649,23 @@ STATIC int S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suid
#define PERL_ARGS_ASSERT_OPEN_SCRIPT \
assert(scriptname); assert(suidscript); assert(rsfpp)
+STATIC void* S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
+STATIC void S_run_body(pTHX_ I32 oldscope)
+ __attribute__noreturn__;
+
STATIC void S_usage(pTHX_ const char *name)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_USAGE \
assert(name)
-#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-STATIC void S_validate_suid(pTHX_ PerlIO *rsfp)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VALIDATE_SUID \
- assert(rsfp)
-
#endif
-
-STATIC void* S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
-STATIC void S_run_body(pTHX_ I32 oldscope)
- __attribute__noreturn__;
-
-STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
+#if defined(PERL_IN_PP_C)
+STATIC void S_do_chomp(pTHX_ SV *retval, SV *sv, bool chomping)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_INCPUSH_IF_EXISTS \
- assert(av); assert(dir); assert(stem)
-
-#endif
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_CHOMP \
+ assert(retval); assert(sv)
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
STATIC OP* S_do_delete_local(pTHX);
STATIC SV* S_refto(pTHX_ SV* sv)
__attribute__warn_unused_result__
@@ -4991,7 +5674,7 @@ STATIC SV* S_refto(pTHX_ SV* sv)
assert(sv)
#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, const svtype type, SV ***spp)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -5001,95 +5684,23 @@ PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, co
assert(sv); assert(what); assert(spp)
#endif
-
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_UNPACK_REC \
- assert(symptr); assert(s); assert(strbeg); assert(strend)
-
-STATIC SV ** S_pack_rec(pTHX_ SV *cat, struct tempsym* symptr, SV **beglist, SV **endlist)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_PACK_REC \
- assert(cat); assert(symptr); assert(beglist); assert(endlist)
-
-STATIC SV* S_mul128(pTHX_ SV *sv, U8 m)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MUL128 \
- assert(sv)
-
-STATIC I32 S_measure_struct(pTHX_ struct tempsym* symptr)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MEASURE_STRUCT \
- assert(symptr)
-
-STATIC bool S_next_symbol(pTHX_ struct tempsym* symptr)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEXT_SYMBOL \
- assert(symptr)
-
-STATIC SV* S_is_an_int(pTHX_ const char *s, STRLEN l)
+#if defined(PERL_IN_PP_CTL_C)
+STATIC PerlIO * S_check_type_and_open(pTHX_ SV *name)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_AN_INT \
- assert(s)
-
-STATIC int S_div128(pTHX_ SV *pnum, bool *done)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DIV128 \
- assert(pnum); assert(done)
-
-STATIC const char * S_group_end(pTHX_ const char *patptr, const char *patend, char ender)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GROUP_END \
- assert(patptr); assert(patend)
-
-STATIC const char * S_get_num(pTHX_ const char *patptr, I32 *lenptr)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GET_NUM \
- assert(patptr); assert(lenptr)
-
-STATIC bool S_need_utf8(const char *pat, const char *patend)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_NEED_UTF8 \
- assert(pat); assert(patend)
-
-STATIC char S_first_symbol(const char *pat, const char *patend)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_FIRST_SYMBOL \
- assert(pat); assert(patend)
+#define PERL_ARGS_ASSERT_CHECK_TYPE_AND_OPEN \
+ assert(name)
-STATIC char * S_sv_exp_grow(pTHX_ SV *sv, STRLEN needed)
- __attribute__warn_unused_result__
+STATIC void S_destroy_matcher(pTHX_ PMOP* matcher)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_EXP_GROW \
- assert(sv)
-
-STATIC char * S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_BYTES_TO_UNI \
- assert(start); assert(dest)
-
-#endif
+#define PERL_ARGS_ASSERT_DESTROY_MATCHER \
+ assert(matcher)
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other);
STATIC OP* S_docatch(pTHX_ OP *o)
__attribute__warn_unused_result__;
+STATIC bool S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq);
STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -5099,15 +5710,11 @@ STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **opli
#define PERL_ARGS_ASSERT_DOFINDLABEL \
assert(o); assert(label); assert(opstack); assert(oplimit)
-STATIC OP* S_doparseform(pTHX_ SV *sv)
- __attribute__warn_unused_result__
+STATIC MAGIC * S_doparseform(pTHX_ SV *sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DOPARSEFORM \
assert(sv)
-STATIC bool S_num_overflow(NV value, I32 fldsize, I32 frcsize)
- __attribute__warn_unused_result__;
-
STATIC I32 S_dopoptoeval(pTHX_ I32 startingblock)
__attribute__warn_unused_result__;
@@ -5132,26 +5739,22 @@ STATIC I32 S_dopoptosub_at(pTHX_ const PERL_CONTEXT* cxstk, I32 startingblock)
STATIC I32 S_dopoptowhen(pTHX_ I32 startingblock)
__attribute__warn_unused_result__;
-STATIC void S_save_lines(pTHX_ AV *array, SV *sv)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SAVE_LINES \
- assert(sv)
-
-STATIC bool S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq);
-STATIC PerlIO * S_check_type_and_open(pTHX_ const char *name)
+STATIC PMOP* S_make_matcher(pTHX_ REGEXP* re)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CHECK_TYPE_AND_OPEN \
- assert(name)
+#define PERL_ARGS_ASSERT_MAKE_MATCHER \
+ assert(re)
-#ifndef PERL_DISABLE_PMC
-STATIC PerlIO * S_doopen_pm(pTHX_ const char *name, const STRLEN namelen)
+STATIC bool S_matcher_matches_sv(pTHX_ PMOP* matcher, SV* sv)
__attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DOOPEN_PM \
- assert(name)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MATCHER_MATCHES_SV \
+ assert(matcher); assert(sv)
+
+STATIC bool S_num_overflow(NV value, I32 fldsize, I32 frcsize)
+ __attribute__warn_unused_result__;
-#endif
STATIC bool S_path_is_absolute(const char *name)
__attribute__warn_unused_result__
__attribute__nonnull__(1);
@@ -5164,28 +5767,24 @@ STATIC I32 S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
#define PERL_ARGS_ASSERT_RUN_USER_FILTER \
assert(buf_sv)
-STATIC PMOP* S_make_matcher(pTHX_ REGEXP* re)
- __attribute__warn_unused_result__
+STATIC void S_rxres_free(pTHX_ void** rsp)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MAKE_MATCHER \
- assert(re)
+#define PERL_ARGS_ASSERT_RXRES_FREE \
+ assert(rsp)
-STATIC bool S_matcher_matches_sv(pTHX_ PMOP* matcher, SV* sv)
- __attribute__warn_unused_result__
+STATIC void S_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MATCHER_MATCHES_SV \
- assert(matcher); assert(sv)
+#define PERL_ARGS_ASSERT_RXRES_RESTORE \
+ assert(rsp); assert(rx)
-STATIC void S_destroy_matcher(pTHX_ PMOP* matcher)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DESTROY_MATCHER \
- assert(matcher)
+STATIC void S_save_lines(pTHX_ AV *array, SV *sv)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SAVE_LINES \
+ assert(sv)
-STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other);
#endif
-
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_HOT_C)
STATIC void S_do_oddball(pTHX_ HV *hash, SV **relem, SV **firstrelem)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -5200,32 +5799,90 @@ STATIC SV* S_method_common(pTHX_ SV* meth, U32* hashp)
assert(meth)
#endif
+#if defined(PERL_IN_PP_PACK_C)
+STATIC char * S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_BYTES_TO_UNI \
+ assert(start); assert(dest)
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b)
+STATIC int S_div128(pTHX_ SV *pnum, bool *done)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_NCMP \
- assert(a); assert(b)
+#define PERL_ARGS_ASSERT_DIV128 \
+ assert(pnum); assert(done)
-STATIC I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
+STATIC char S_first_symbol(const char *pat, const char *patend)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_FIRST_SYMBOL \
+ assert(pat); assert(patend)
+
+STATIC const char * S_get_num(pTHX_ const char *patptr, I32 *lenptr)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_I_NCMP \
- assert(a); assert(b)
+#define PERL_ARGS_ASSERT_GET_NUM \
+ assert(patptr); assert(lenptr)
-STATIC I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
+STATIC const char * S_group_end(pTHX_ const char *patptr, const char *patend, char ender)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_AMAGIC_NCMP \
- assert(a); assert(b)
+#define PERL_ARGS_ASSERT_GROUP_END \
+ assert(patptr); assert(patend)
-STATIC I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
+STATIC SV* S_is_an_int(pTHX_ const char *s, STRLEN l)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_IS_AN_INT \
+ assert(s)
+
+STATIC I32 S_measure_struct(pTHX_ struct tempsym* symptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MEASURE_STRUCT \
+ assert(symptr)
+
+STATIC SV* S_mul128(pTHX_ SV *sv, U8 m)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MUL128 \
+ assert(sv)
+
+STATIC bool S_need_utf8(const char *pat, const char *patend)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_NEED_UTF8 \
+ assert(pat); assert(patend)
+
+STATIC bool S_next_symbol(pTHX_ struct tempsym* symptr)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NEXT_SYMBOL \
+ assert(symptr)
+
+STATIC SV ** S_pack_rec(pTHX_ SV *cat, struct tempsym* symptr, SV **beglist, SV **endlist)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \
- assert(a); assert(b)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_PACK_REC \
+ assert(cat); assert(symptr); assert(beglist); assert(endlist)
+
+STATIC char * S_sv_exp_grow(pTHX_ SV *sv, STRLEN needed)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_EXP_GROW \
+ assert(sv)
+STATIC I32 S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_UNPACK_REC \
+ assert(symptr); assert(s); assert(strbeg); assert(strend)
+
+#endif
+#if defined(PERL_IN_PP_SORT_C)
STATIC I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -5238,32 +5895,55 @@ STATIC I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \
assert(str1); assert(str2)
+STATIC I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \
+ assert(a); assert(b)
+
+STATIC I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_AMAGIC_NCMP \
+ assert(a); assert(b)
+
+STATIC void S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_QSORTSVU \
+ assert(compare)
+
STATIC I32 S_sortcv(pTHX_ SV *const a, SV *const b)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SORTCV \
assert(a); assert(b)
+STATIC I32 S_sortcv_stacked(pTHX_ SV *const a, SV *const b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SORTCV_STACKED \
+ assert(a); assert(b)
+
STATIC I32 S_sortcv_xsub(pTHX_ SV *const a, SV *const b)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SORTCV_XSUB \
assert(a); assert(b)
-STATIC I32 S_sortcv_stacked(pTHX_ SV *const a, SV *const b)
+STATIC I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SORTCV_STACKED \
+#define PERL_ARGS_ASSERT_SV_I_NCMP \
assert(a); assert(b)
-STATIC void S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_QSORTSVU \
- assert(compare)
+STATIC I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_NCMP \
+ assert(a); assert(b)
#endif
-
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SYS_C)
STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -5271,55 +5951,169 @@ STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop)
#define PERL_ARGS_ASSERT_DOFORM \
assert(cv); assert(gv); assert(retop)
-# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-STATIC int S_dooneliner(pTHX_ const char *cmd, const char *filename)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DOONELINER \
- assert(cmd); assert(filename)
-
-# endif
STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SPACE_JOIN_NAMES_MORTAL \
assert(array)
#endif
-
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-STATIC regnode* S_reg(pTHX_ struct RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth)
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void S_add_alternate(pTHX_ AV** alternate_ptr, U8* string, STRLEN len)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_REG \
- assert(pRExC_state); assert(flagp)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_ADD_ALTERNATE \
+ assert(alternate_ptr); assert(string)
-STATIC regnode* S_reganode(pTHX_ struct RExC_state_t *pRExC_state, U8 op, U32 arg)
+PERL_STATIC_INLINE HV* S_add_cp_to_invlist(pTHX_ HV* invlist, const UV cp)
+ __attribute__warn_unused_result__;
+
+STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_ADD_DATA \
+ assert(pRExC_state); assert(s)
+
+STATIC HV* S_add_range_to_invlist(pTHX_ HV* invlist, const UV start, const UV end)
+ __attribute__warn_unused_result__;
+
+STATIC void S_checkposixcc(pTHX_ struct RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGANODE \
+#define PERL_ARGS_ASSERT_CHECKPOSIXCC \
assert(pRExC_state)
-STATIC regnode* S_regatom(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
+STATIC void S_cl_and(struct regnode_charclass_class *cl, const struct regnode_charclass_class *and_with)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_CL_AND \
+ assert(cl); assert(and_with)
+
+STATIC void S_cl_anything(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_CL_ANYTHING \
+ assert(pRExC_state); assert(cl)
+
+STATIC void S_cl_init(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_CL_INIT \
+ assert(pRExC_state); assert(cl)
+
+STATIC int S_cl_is_anything(const struct regnode_charclass_class *cl)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_CL_IS_ANYTHING \
+ assert(cl)
+
+STATIC void S_cl_or(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl, const struct regnode_charclass_class *or_with)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_CL_OR \
+ assert(pRExC_state); assert(cl); assert(or_with)
+
+PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ HV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ARRAY \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_destroy(pTHX_ HV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_DESTROY \
+ assert(invlist)
+
+STATIC void S_invlist_extend(pTHX_ HV* const invlist, const UV len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_EXTEND \
+ assert(invlist)
+
+STATIC HV* S_invlist_intersection(pTHX_ HV* const a, HV* const b)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REGATOM \
- assert(pRExC_state); assert(flagp)
+#define PERL_ARGS_ASSERT_INVLIST_INTERSECTION \
+ assert(a); assert(b)
-STATIC regnode* S_regbranch(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
+PERL_STATIC_INLINE UV S_invlist_len(pTHX_ HV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_LEN \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV S_invlist_max(pTHX_ HV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_MAX \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ HV* const invlist, const UV len)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_set_max(pTHX_ HV* const invlist, const UV max)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_SET_MAX \
+ assert(invlist)
+
+PERL_STATIC_INLINE void S_invlist_trim(pTHX_ HV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_TRIM \
+ assert(invlist)
+
+STATIC HV* S_invlist_union(pTHX_ HV* const a, HV* const b)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REGBRANCH \
- assert(pRExC_state); assert(flagp)
+#define PERL_ARGS_ASSERT_INVLIST_UNION \
+ assert(a); assert(b)
-STATIC STRLEN S_reguni(pTHX_ const struct RExC_state_t *pRExC_state, UV uv, char *s)
+STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags, regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_REGUNI \
- assert(pRExC_state); assert(s)
+#define PERL_ARGS_ASSERT_JOIN_EXACT \
+ assert(pRExC_state); assert(scan); assert(min)
-STATIC regnode* S_regclass(pTHX_ struct RExC_state_t *pRExC_state, U32 depth)
+STATIC I32 S_make_trie(pTHX_ struct RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_MAKE_TRIE \
+ assert(pRExC_state); assert(startbranch); assert(first); assert(last); assert(tail)
+
+STATIC void S_make_trie_failtable(pTHX_ struct RExC_state_t *pRExC_state, regnode *source, regnode *stclass, U32 depth)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MAKE_TRIE_FAILTABLE \
+ assert(pRExC_state); assert(source); assert(stclass)
+
+STATIC char * S_nextchar(pTHX_ struct RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGCLASS \
+#define PERL_ARGS_ASSERT_NEXTCHAR \
+ assert(pRExC_state)
+
+STATIC void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
+ __attribute__noreturn__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_RE_CROAK2 \
+ assert(pat1); assert(pat2)
+
+STATIC regnode* S_reg(pTHX_ struct RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_REG \
+ assert(pRExC_state); assert(flagp)
+
+STATIC regnode* S_reg_namedseq(pTHX_ struct RExC_state_t *pRExC_state, UV *valuep, I32 *flagp, U32 depth)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REG_NAMEDSEQ \
assert(pRExC_state)
STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *pRExC_state, U8 op)
@@ -5332,15 +6126,36 @@ STATIC UV S_reg_recode(pTHX_ const char value, SV **encp)
#define PERL_ARGS_ASSERT_REG_RECODE \
assert(encp)
-STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
+STATIC SV * S_reg_scan_name(pTHX_ struct RExC_state_t *pRExC_state, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REG_SCAN_NAME \
+ assert(pRExC_state)
+
+STATIC bool S_reg_skipcomment(pTHX_ struct RExC_state_t *pRExC_state)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REG_SKIPCOMMENT \
+ assert(pRExC_state)
+
+STATIC regnode* S_reganode(pTHX_ struct RExC_state_t *pRExC_state, U8 op, U32 arg)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGANODE \
+ assert(pRExC_state)
+
+STATIC regnode* S_regatom(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REGPIECE \
+#define PERL_ARGS_ASSERT_REGATOM \
assert(pRExC_state); assert(flagp)
-STATIC regnode* S_reg_namedseq(pTHX_ struct RExC_state_t *pRExC_state, UV *valuep, I32 *flagp)
+STATIC regnode* S_regbranch(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REGBRANCH \
+ assert(pRExC_state); assert(flagp)
+
+STATIC regnode* S_regclass(pTHX_ struct RExC_state_t *pRExC_state, U32 depth)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_NAMEDSEQ \
+#define PERL_ARGS_ASSERT_REGCLASS \
assert(pRExC_state)
STATIC void S_reginsert(pTHX_ struct RExC_state_t *pRExC_state, U8 op, regnode *opnd, U32 depth)
@@ -5349,6 +6164,17 @@ STATIC void S_reginsert(pTHX_ struct RExC_state_t *pRExC_state, U8 op, regnode *
#define PERL_ARGS_ASSERT_REGINSERT \
assert(pRExC_state); assert(opnd)
+STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REGPIECE \
+ assert(pRExC_state); assert(flagp)
+
+STATIC I32 S_regpposixcc(pTHX_ struct RExC_state_t *pRExC_state, I32 value)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGPPOSIXCC \
+ assert(pRExC_state)
+
STATIC void S_regtail(pTHX_ struct RExC_state_t *pRExC_state, regnode *p, const regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -5356,17 +6182,11 @@ STATIC void S_regtail(pTHX_ struct RExC_state_t *pRExC_state, regnode *p, const
#define PERL_ARGS_ASSERT_REGTAIL \
assert(pRExC_state); assert(p); assert(val)
-STATIC SV * S_reg_scan_name(pTHX_ struct RExC_state_t *pRExC_state, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_SCAN_NAME \
- assert(pRExC_state)
-
-STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags, regnode *val, U32 depth)
+STATIC STRLEN S_reguni(pTHX_ const struct RExC_state_t *pRExC_state, UV uv, char *s)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_JOIN_EXACT \
- assert(pRExC_state); assert(scan); assert(min)
+#define PERL_ARGS_ASSERT_REGUNI \
+ assert(pRExC_state); assert(s)
STATIC char * S_regwhite(struct RExC_state_t *pRExC_state, char *p)
__attribute__warn_unused_result__
@@ -5375,16 +6195,6 @@ STATIC char * S_regwhite(struct RExC_state_t *pRExC_state, char *p)
#define PERL_ARGS_ASSERT_REGWHITE \
assert(pRExC_state); assert(p)
-STATIC char * S_nextchar(pTHX_ struct RExC_state_t *pRExC_state)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEXTCHAR \
- assert(pRExC_state)
-
-STATIC bool S_reg_skipcomment(pTHX_ struct RExC_state_t *pRExC_state)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_SKIPCOMMENT \
- assert(pRExC_state)
-
STATIC void S_scan_commit(pTHX_ const struct RExC_state_t *pRExC_state, struct scan_data_t *data, I32 *minlenp, int is_inf)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
@@ -5392,136 +6202,76 @@ STATIC void S_scan_commit(pTHX_ const struct RExC_state_t *pRExC_state, struct s
#define PERL_ARGS_ASSERT_SCAN_COMMIT \
assert(pRExC_state); assert(data); assert(minlenp)
-STATIC void S_cl_anything(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_CL_ANYTHING \
- assert(pRExC_state); assert(cl)
-
-STATIC int S_cl_is_anything(const struct regnode_charclass_class *cl)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_CL_IS_ANYTHING \
- assert(cl)
-
-STATIC void S_cl_init(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_CL_INIT \
- assert(pRExC_state); assert(cl)
-
-STATIC void S_cl_init_zero(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_CL_INIT_ZERO \
- assert(pRExC_state); assert(cl)
-
-STATIC void S_cl_and(struct regnode_charclass_class *cl, const struct regnode_charclass_class *and_with)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_CL_AND \
- assert(cl); assert(and_with)
-
-STATIC void S_cl_or(const struct RExC_state_t *pRExC_state, struct regnode_charclass_class *cl, const struct regnode_charclass_class *or_with)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_CL_OR \
- assert(pRExC_state); assert(cl); assert(or_with)
-
-STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp, I32 *minlenp, I32 *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U8* recursed, struct regnode_charclass_class *and_withp, U32 flags, U32 depth)
+PERL_STATIC_INLINE U8 S_set_regclass_bit(pTHX_ struct RExC_state_t* pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_4)
__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_STUDY_CHUNK \
- assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
-
-STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_ADD_DATA \
- assert(pRExC_state); assert(s)
+#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT \
+ assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
-STATIC void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
- __attribute__noreturn__
+STATIC U8 S_set_regclass_bit_fold(pTHX_ struct RExC_state_t *pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_RE_CROAK2 \
- assert(pat1); assert(pat2)
-
-STATIC I32 S_regpposixcc(pTHX_ struct RExC_state_t *pRExC_state, I32 value)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGPPOSIXCC \
- assert(pRExC_state)
-
-STATIC void S_checkposixcc(pTHX_ struct RExC_state_t *pRExC_state)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CHECKPOSIXCC \
- assert(pRExC_state)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT_FOLD \
+ assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
-STATIC I32 S_make_trie(pTHX_ struct RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth)
+STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp, I32 *minlenp, I32 *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U8* recursed, struct regnode_charclass_class *and_withp, U32 flags, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_4)
__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_MAKE_TRIE \
- assert(pRExC_state); assert(startbranch); assert(first); assert(last); assert(tail)
+#define PERL_ARGS_ASSERT_STUDY_CHUNK \
+ assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
-STATIC void S_make_trie_failtable(pTHX_ struct RExC_state_t *pRExC_state, regnode *source, regnode *stclass, U32 depth)
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MAKE_TRIE_FAILTABLE \
- assert(pRExC_state); assert(source); assert(stclass)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_FIND_BYCLASS \
+ assert(prog); assert(c); assert(s); assert(strend)
-# ifdef DEBUGGING
-STATIC void S_regdump_extflags(pTHX_ const char *lead, const U32 flags);
-STATIC const regnode* S_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, const regnode *last, const regnode *plast, SV* sv, I32 indent, U32 depth)
+STATIC I32 S_reg_check_named_buff_matched(pTHX_ const regexp *rex, const regnode *scan)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_6);
-#define PERL_ARGS_ASSERT_DUMPUNTIL \
- assert(r); assert(start); assert(node); assert(sv)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED \
+ assert(rex); assert(scan)
-STATIC void S_put_byte(pTHX_ SV* sv, int c)
+STATIC char* S_regcppop(pTHX_ const regexp *rex)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PUT_BYTE \
- assert(sv)
-
-STATIC void S_dump_trie(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DUMP_TRIE \
- assert(trie); assert(revcharmap)
+#define PERL_ARGS_ASSERT_REGCPPOP \
+ assert(rex)
-STATIC void S_dump_trie_interim_list(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DUMP_TRIE_INTERIM_LIST \
- assert(trie); assert(revcharmap)
+STATIC CHECKPOINT S_regcppush(pTHX_ I32 parenfloor);
+STATIC U8* S_reghop3(U8 *s, I32 off, const U8 *lim)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_REGHOP3 \
+ assert(s); assert(lim)
-STATIC void S_dump_trie_interim_table(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_DUMP_TRIE_INTERIM_TABLE \
- assert(trie); assert(revcharmap)
+STATIC U8* S_reghopmaybe3(U8 *s, I32 off, const U8 *lim)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_REGHOPMAYBE3 \
+ assert(s); assert(lim)
-STATIC U8 S_regtail_study(pTHX_ struct RExC_state_t *pRExC_state, regnode *p, const regnode *val, U32 depth)
- __attribute__nonnull__(pTHX_1)
+STATIC bool S_reginclass(pTHX_ const regexp * const prog, const regnode * const n, const U8 * const p, STRLEN *lenp, bool const do_utf8sv_is_utf8)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_REGTAIL_STUDY \
- assert(pRExC_state); assert(p); assert(val)
-
-# endif
-#endif
+#define PERL_ARGS_ASSERT_REGINCLASS \
+ assert(n); assert(p)
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
STATIC I32 S_regmatch(pTHX_ regmatch_info *reginfo, regnode *prog)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -5543,27 +6293,17 @@ STATIC I32 S_regtry(pTHX_ regmatch_info *reginfo, char **startpos)
#define PERL_ARGS_ASSERT_REGTRY \
assert(reginfo); assert(startpos)
-STATIC bool S_reginclass(pTHX_ const regexp *prog, const regnode *n, const U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_REGINCLASS \
- assert(n); assert(p)
-
-STATIC CHECKPOINT S_regcppush(pTHX_ I32 parenfloor);
-STATIC char* S_regcppop(pTHX_ const regexp *rex)
+STATIC void S_to_byte_substr(pTHX_ regexp * prog)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGCPPOP \
- assert(rex)
+#define PERL_ARGS_ASSERT_TO_BYTE_SUBSTR \
+ assert(prog)
-STATIC U8* S_reghop3(U8 *s, I32 off, const U8 *lim)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_REGHOP3 \
- assert(s); assert(lim)
+STATIC void S_to_utf8_substr(pTHX_ regexp * prog)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_TO_UTF8_SUBSTR \
+ assert(prog)
-#ifdef XXX_dmq
+# if defined(XXX_dmq)
STATIC U8* S_reghop4(U8 *s, I32 off, const U8 *llim, const U8 *rlim)
__attribute__warn_unused_result__
__attribute__nonnull__(1)
@@ -5572,184 +6312,142 @@ STATIC U8* S_reghop4(U8 *s, I32 off, const U8 *llim, const U8 *rlim)
#define PERL_ARGS_ASSERT_REGHOP4 \
assert(s); assert(llim); assert(rlim)
+# endif
#endif
-STATIC U8* S_reghopmaybe3(U8 *s, I32 off, const U8 *lim)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_REGHOPMAYBE3 \
- assert(s); assert(lim)
-
-STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_FIND_BYCLASS \
- assert(prog); assert(c); assert(s); assert(strend)
-
-STATIC void S_to_utf8_substr(pTHX_ regexp * prog)
+#if defined(PERL_IN_SCOPE_C)
+STATIC void S_save_pushptri32ptr(pTHX_ void *const ptr1, const I32 i, void *const ptr2, const int type);
+STATIC SV* S_save_scalar_at(pTHX_ SV **sptr, const U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_TO_UTF8_SUBSTR \
- assert(prog)
+#define PERL_ARGS_ASSERT_SAVE_SCALAR_AT \
+ assert(sptr)
-STATIC void S_to_byte_substr(pTHX_ regexp * prog)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_TO_BYTE_SUBSTR \
- assert(prog)
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC char * S_F0convert(NV nv, char *const endbuf, STRLEN *const len)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+#define PERL_ARGS_ASSERT_F0CONVERT \
+ assert(endbuf); assert(len)
-STATIC I32 S_reg_check_named_buff_matched(pTHX_ const regexp *rex, const regnode *scan)
- __attribute__warn_unused_result__
+STATIC void S_anonymise_cv_maybe(pTHX_ GV *gv, CV *cv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED \
- assert(rex); assert(scan)
+#define PERL_ARGS_ASSERT_ANONYMISE_CV_MAYBE \
+ assert(gv); assert(cv)
-# ifdef DEBUGGING
-STATIC void S_dump_exec_pos(pTHX_ const char *locinput, const regnode *scan, const char *loc_regeol, const char *loc_bostr, const char *loc_reg_starttry, const bool do_utf8)
+STATIC void S_assert_uft8_cache_coherent(pTHX_ const char *const func, STRLEN from_cache, STRLEN real, SV *const sv)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_DUMP_EXEC_POS \
- assert(locinput); assert(scan); assert(loc_regeol); assert(loc_bostr); assert(loc_reg_starttry)
-
-STATIC void S_debug_start_match(pTHX_ const REGEXP *prog, const bool do_utf8, const char *start, const char *end, const char *blurb)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_DEBUG_START_MATCH \
- assert(prog); assert(start); assert(end); assert(blurb)
-
-# endif
-#endif
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_ASSERT_UFT8_CACHE_COHERENT \
+ assert(func); assert(sv)
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-STATIC CV* S_deb_curcv(pTHX_ const I32 ix);
-STATIC void S_debprof(pTHX_ const OP *o)
+STATIC bool S_curse(pTHX_ SV * const sv, const bool check_refcnt)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DEBPROF \
- assert(o)
+#define PERL_ARGS_ASSERT_CURSE \
+ assert(sv)
-STATIC void S_sequence(pTHX_ const OP *o);
-STATIC void S_sequence_tail(pTHX_ const OP *o);
-STATIC UV S_sequence_num(pTHX_ const OP *o);
-STATIC SV* S_pm_description(pTHX_ const PMOP *pm)
+STATIC I32 S_expect_number(pTHX_ char **const pattern)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PM_DESCRIPTION \
- assert(pm)
+#define PERL_ARGS_ASSERT_EXPECT_NUMBER \
+ assert(pattern)
-#endif
+STATIC I32 S_find_array_subscript(pTHX_ const AV *const av, const SV *const val)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_FIND_ARRAY_SUBSCRIPT \
+ assert(val)
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-STATIC SV* S_save_scalar_at(pTHX_ SV **sptr, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_SCALAR_AT \
- assert(sptr)
+STATIC SV * S_find_hash_subscript(pTHX_ const HV *const hv, const SV *const val)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_FIND_HASH_SUBSCRIPT \
+ assert(val)
-#endif
+STATIC SV* S_find_uninit_var(pTHX_ const OP *const obase, const SV *const uninit_sv, bool top);
+STATIC bool S_glob_2number(pTHX_ GV* const gv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GLOB_2NUMBER \
+ assert(gv)
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *const tsv, SV *const sv)
+STATIC void S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int dtype)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_ADD_BACKREF \
- assert(tsv); assert(sv)
-
-#endif
+#define PERL_ARGS_ASSERT_GLOB_ASSIGN_GLOB \
+ assert(dstr); assert(sstr)
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV int Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av)
+STATIC void S_glob_assign_ref(pTHX_ SV *const dstr, SV *const sstr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_KILL_BACKREFS \
- assert(sv); assert(av)
-
-#endif
-
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC char * S_uiv_2buf(char *const buf, const IV iv, UV uv, const int is_uv, char **const peob)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(5);
-#define PERL_ARGS_ASSERT_UIV_2BUF \
- assert(buf); assert(peob)
-
-STATIC void S_sv_unglob(pTHX_ SV *const sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_UNGLOB \
- assert(sv)
+#define PERL_ARGS_ASSERT_GLOB_ASSIGN_REF \
+ assert(dstr); assert(sstr)
+STATIC SV * S_more_sv(pTHX);
STATIC void S_not_a_number(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_NOT_A_NUMBER \
assert(sv)
-STATIC I32 S_visit(pTHX_ SVFUNC_t f, const U32 flags, const U32 mask)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_VISIT \
- assert(f)
-
-STATIC void S_sv_del_backref(pTHX_ SV *const tsv, SV *const sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_DEL_BACKREF \
- assert(tsv); assert(sv)
-
-STATIC SV * S_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, I32 aindex, int subscript_type)
- __attribute__warn_unused_result__;
-
-# ifdef DEBUGGING
-STATIC void S_del_sv(pTHX_ SV *p)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DEL_SV \
- assert(p)
+STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *const tbl, const void *const sv)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PTR_TABLE_FIND \
+ assert(tbl)
-# endif
-# if !defined(NV_PRESERVES_UV)
-# ifdef DEBUGGING
-STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv, I32 numtype)
+STATIC bool S_sv_2iuv_common(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE \
+#define PERL_ARGS_ASSERT_SV_2IUV_COMMON \
assert(sv)
-# else
-STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv)
+STATIC void S_sv_add_arena(pTHX_ char *const ptr, const U32 size, const U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE \
- assert(sv)
+#define PERL_ARGS_ASSERT_SV_ADD_ARENA \
+ assert(ptr)
-# endif
-# endif
-STATIC I32 S_expect_number(pTHX_ char **const pattern)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_EXPECT_NUMBER \
- assert(pattern)
+STATIC STRLEN S_sv_pos_b2u_midway(pTHX_ const U8 *const s, const U8 *const target, const U8 *end, STRLEN endu)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_SV_POS_B2U_MIDWAY \
+ assert(s); assert(target); assert(end)
+
+STATIC STRLEN S_sv_pos_u2b_cached(pTHX_ SV *const sv, MAGIC **const mgp, const U8 *const start, const U8 *const send, STRLEN uoffset, STRLEN uoffset0, STRLEN boffset0)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_SV_POS_U2B_CACHED \
+ assert(sv); assert(mgp); assert(start); assert(send)
-#
-STATIC STRLEN S_sv_pos_u2b_forwards(const U8 *const start, const U8 *const send, STRLEN uoffset)
+STATIC STRLEN S_sv_pos_u2b_forwards(const U8 *const start, const U8 *const send, STRLEN *const uoffset, bool *const at_end)
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3)
+ __attribute__nonnull__(4);
#define PERL_ARGS_ASSERT_SV_POS_U2B_FORWARDS \
- assert(start); assert(send)
+ assert(start); assert(send); assert(uoffset); assert(at_end)
-STATIC STRLEN S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, const STRLEN uoffset, const STRLEN uend)
+STATIC STRLEN S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, STRLEN uoffset, const STRLEN uend)
__attribute__nonnull__(1)
__attribute__nonnull__(2);
#define PERL_ARGS_ASSERT_SV_POS_U2B_MIDWAY \
assert(start); assert(send)
-STATIC STRLEN S_sv_pos_u2b_cached(pTHX_ SV *const sv, MAGIC **const mgp, const U8 *const start, const U8 *const send, const STRLEN uoffset, STRLEN uoffset0, STRLEN boffset0)
+STATIC void S_sv_unglob(pTHX_ SV *const sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_UNGLOB \
+ assert(sv)
+
+STATIC char * S_uiv_2buf(char *const buf, const IV iv, UV uv, const int is_uv, char **const peob)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(5);
+#define PERL_ARGS_ASSERT_UIV_2BUF \
+ assert(buf); assert(peob)
+
+STATIC void S_utf8_mg_len_cache_update(pTHX_ SV *const sv, MAGIC **const mgp, const STRLEN ulen)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_SV_POS_U2B_CACHED \
- assert(sv); assert(mgp); assert(start); assert(send)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_UTF8_MG_LEN_CACHE_UPDATE \
+ assert(sv); assert(mgp)
STATIC void S_utf8_mg_pos_cache_update(pTHX_ SV *const sv, MAGIC **const mgp, const STRLEN byte, const STRLEN utf8, const STRLEN blen)
__attribute__nonnull__(pTHX_1)
@@ -5757,18 +6455,13 @@ STATIC void S_utf8_mg_pos_cache_update(pTHX_ SV *const sv, MAGIC **const mgp, co
#define PERL_ARGS_ASSERT_UTF8_MG_POS_CACHE_UPDATE \
assert(sv); assert(mgp)
-STATIC STRLEN S_sv_pos_b2u_midway(pTHX_ const U8 *const s, const U8 *const target, const U8 *end, STRLEN endu)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_SV_POS_B2U_MIDWAY \
- assert(s); assert(target); assert(end)
+STATIC SV * S_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, I32 aindex, int subscript_type)
+ __attribute__warn_unused_result__;
-STATIC char * S_F0convert(NV nv, char *const endbuf, STRLEN *const len)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_F0CONVERT \
- assert(endbuf); assert(len)
+STATIC I32 S_visit(pTHX_ SVFUNC_t f, const U32 flags, const U32 mask)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VISIT \
+ assert(f)
# if defined(PERL_OLD_COPY_ON_WRITE)
STATIC void S_sv_release_COW(pTHX_ SV *sv, const char *pvx, SV *after)
@@ -5779,55 +6472,105 @@ STATIC void S_sv_release_COW(pTHX_ SV *sv, const char *pvx, SV *after)
assert(sv); assert(pvx); assert(after)
# endif
-STATIC SV * S_more_sv(pTHX);
-STATIC void * S_more_bodies(pTHX_ const svtype sv_type);
-STATIC bool S_sv_2iuv_common(pTHX_ SV *const sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_2IUV_COMMON \
- assert(sv)
-
-STATIC void S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int dtype)
+# if defined(USE_ITHREADS)
+STATIC SV* S_sv_dup_common(pTHX_ const SV *const sstr, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GLOB_ASSIGN_GLOB \
- assert(dstr); assert(sstr)
+#define PERL_ARGS_ASSERT_SV_DUP_COMMON \
+ assert(sstr); assert(param)
-STATIC void S_glob_assign_ref(pTHX_ SV *const dstr, SV *const sstr)
+STATIC SV ** S_sv_dup_inc_multiple(pTHX_ SV *const *source, SV **dest, SSize_t items, CLONE_PARAMS *const param)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GLOB_ASSIGN_REF \
- assert(dstr); assert(sstr)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_SV_DUP_INC_MULTIPLE \
+ assert(source); assert(dest); assert(param)
-STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *const tbl, const void *const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PTR_TABLE_FIND \
- assert(tbl)
+STATIC void S_unreferenced_to_tmp_stack(pTHX_ AV *const unreferenced)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_UNREFERENCED_TO_TMP_STACK \
+ assert(unreferenced)
+# endif
#endif
-
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_TOKE_C)
+STATIC int S_ao(pTHX_ int toketype);
STATIC void S_check_uni(pTHX);
-STATIC void S_force_next(pTHX_ I32 type);
-STATIC char* S_force_version(pTHX_ char *s, int guessing)
+STATIC void S_checkcomma(pTHX_ const char *s, const char *name, const char *what)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CHECKCOMMA \
+ assert(s); assert(name); assert(what)
+
+STATIC int S_deprecate_commaless_var_list(pTHX);
+STATIC char * S_filter_gets(pTHX_ SV *sv, STRLEN append)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORCE_VERSION \
+#define PERL_ARGS_ASSERT_FILTER_GETS \
+ assert(sv)
+
+STATIC HV * S_find_in_my_stash(pTHX_ const char *pkgname, STRLEN len)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FIND_IN_MY_STASH \
+ assert(pkgname)
+
+STATIC void S_force_ident(pTHX_ const char *s, int kind)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FORCE_IDENT \
assert(s)
+STATIC void S_force_next(pTHX_ I32 type);
STATIC char* S_force_strict_version(pTHX_ char *s)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FORCE_STRICT_VERSION \
assert(s)
+STATIC char* S_force_version(pTHX_ char *s, int guessing)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FORCE_VERSION \
+ assert(s)
+
STATIC char* S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FORCE_WORD \
assert(start)
-STATIC SV* S_tokeq(pTHX_ SV *sv)
+STATIC void S_incline(pTHX_ const char *s)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_TOKEQ \
- assert(sv)
+#define PERL_ARGS_ASSERT_INCLINE \
+ assert(s)
+
+STATIC int S_intuit_method(pTHX_ char *s, GV *gv, CV *cv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INTUIT_METHOD \
+ assert(s)
+
+STATIC int S_intuit_more(pTHX_ char *s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INTUIT_MORE \
+ assert(s)
+
+STATIC I32 S_lop(pTHX_ I32 f, int x, char *s)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_LOP \
+ assert(s)
+
+STATIC void S_missingterm(pTHX_ char *s)
+ __attribute__noreturn__;
+
+STATIC SV* S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_NEW_CONSTANT \
+ assert(key); assert(sv)
+
+STATIC void S_no_op(pTHX_ const char *const what, char *s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NO_OP \
+ assert(what)
STATIC void S_readpipe_override(pTHX);
STATIC char* S_scan_const(pTHX_ char *start)
@@ -5892,76 +6635,12 @@ STATIC char* S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_pa
#define PERL_ARGS_ASSERT_SCAN_WORD \
assert(s); assert(dest); assert(slp)
-STATIC void S_update_debugger_info(pTHX_ SV *orig_sv, const char *const buf, STRLEN len);
STATIC char* S_skipspace(pTHX_ char *s)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SKIPSPACE \
assert(s)
-STATIC char* S_swallow_bom(pTHX_ U8 *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SWALLOW_BOM \
- assert(s)
-
-#ifndef PERL_NO_UTF16_FILTER
-STATIC I32 S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_UTF16_TEXTFILTER \
- assert(sv)
-
-STATIC U8* S_add_utf16_textfilter(pTHX_ U8 *const s, bool reversed)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_ADD_UTF16_TEXTFILTER \
- assert(s)
-
-#endif
-STATIC void S_checkcomma(pTHX_ const char *s, const char *name, const char *what)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_CHECKCOMMA \
- assert(s); assert(name); assert(what)
-
-STATIC bool S_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
- assert(name)
-
-STATIC void S_force_ident(pTHX_ const char *s, int kind)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORCE_IDENT \
- assert(s)
-
-STATIC void S_incline(pTHX_ const char *s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INCLINE \
- assert(s)
-
-STATIC int S_intuit_method(pTHX_ char *s, GV *gv, CV *cv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INTUIT_METHOD \
- assert(s)
-
-STATIC int S_intuit_more(pTHX_ char *s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INTUIT_MORE \
- assert(s)
-
-STATIC I32 S_lop(pTHX_ I32 f, int x, char *s)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_LOP \
- assert(s)
-
-STATIC void S_missingterm(pTHX_ char *s)
- __attribute__noreturn__;
-
-STATIC void S_no_op(pTHX_ const char *const what, char *s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NO_OP \
- assert(what)
-
STATIC I32 S_sublex_done(pTHX)
__attribute__warn_unused_result__;
@@ -5971,17 +6650,11 @@ STATIC I32 S_sublex_push(pTHX)
STATIC I32 S_sublex_start(pTHX)
__attribute__warn_unused_result__;
-STATIC char * S_filter_gets(pTHX_ SV *sv, STRLEN append)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FILTER_GETS \
- assert(sv)
-
-STATIC HV * S_find_in_my_stash(pTHX_ const char *pkgname, STRLEN len)
+STATIC char* S_swallow_bom(pTHX_ U8 *s)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FIND_IN_MY_STASH \
- assert(pkgname)
+#define PERL_ARGS_ASSERT_SWALLOW_BOM \
+ assert(s)
STATIC char * S_tokenize_use(pTHX_ int is_use, char *s)
__attribute__warn_unused_result__
@@ -5989,89 +6662,46 @@ STATIC char * S_tokenize_use(pTHX_ int is_use, char *s)
#define PERL_ARGS_ASSERT_TOKENIZE_USE \
assert(s)
-STATIC SV* S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_NEW_CONSTANT \
- assert(key); assert(sv)
-
-STATIC int S_deprecate_commaless_var_list(pTHX);
-STATIC int S_ao(pTHX_ int toketype);
-# if defined(PERL_CR_FILTER)
-STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
-STATIC void S_strip_return(pTHX_ SV *sv)
+STATIC SV* S_tokeq(pTHX_ SV *sv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_STRIP_RETURN \
+#define PERL_ARGS_ASSERT_TOKEQ \
assert(sv)
-# endif
-# if defined(DEBUGGING)
-STATIC int S_tokereport(pTHX_ I32 rv, const YYSTYPE* lvalp)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOKEREPORT \
- assert(lvalp)
+STATIC void S_update_debugger_info(pTHX_ SV *orig_sv, const char *const buf, STRLEN len);
+STATIC int S_yywarn(pTHX_ const char *const s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_YYWARN \
+ assert(s)
-STATIC void S_printbuf(pTHX_ const char *const fmt, const char *const s)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PRINTBUF \
- assert(fmt); assert(s)
+# if defined(PERL_MAD)
+STATIC void S_curmad(pTHX_ char slot, SV *sv);
+STATIC char* S_skipspace0(pTHX_ char *s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SKIPSPACE0 \
+ assert(s)
+
+STATIC char* S_skipspace1(pTHX_ char *s)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SKIPSPACE1 \
+ assert(s)
+STATIC char* S_skipspace2(pTHX_ char *s, SV **sv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SKIPSPACE2 \
+ assert(s)
+
+STATIC void S_start_force(pTHX_ int where);
# endif
#endif
-
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UNIVERSAL_C)
STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_ISA_LOOKUP \
assert(stash); assert(name)
-STATIC HV * S_get_isa_hash(pTHX_ HV *const stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_ISA_HASH \
- assert(stash)
-
#endif
-
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
-#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-STATIC char* S_stdize_locale(pTHX_ char* locs)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_STDIZE_LOCALE \
- assert(locs)
-
-#endif
-#endif
-
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-STATIC const COP* S_closest_cop(pTHX_ const COP *cop, const OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CLOSEST_COP \
- assert(cop)
-
-STATIC SV* S_mess_alloc(pTHX);
-STATIC SV * S_vdie_croak_common(pTHX_ const char *pat, va_list *args);
-STATIC bool S_vdie_common(pTHX_ SV *message, bool warn);
-STATIC char * S_write_no_mem(pTHX)
- __attribute__noreturn__;
-
-#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
-STATIC void S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesize, const char *type_name, const SV *sv, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname)
- __attribute__nonnull__(4)
- __attribute__nonnull__(8)
- __attribute__nonnull__(10);
-#define PERL_ARGS_ASSERT_MEM_LOG_COMMON \
- assert(type_name); assert(filename); assert(funcname)
-
-#endif
-#endif
-
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
-STATIC NV S_mulexp10(NV value, I32 exponent);
-#endif
-
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTF8_C)
STATIC STRLEN S_is_utf8_char_slow(const U8 *s, const STRLEN len)
__attribute__warn_unused_result__
__attribute__nonnull__(1);
@@ -6093,748 +6723,497 @@ STATIC SV* S_swash_get(pTHX_ SV* swash, UV start, UV span)
assert(swash)
#endif
-
-START_EXTERN_C
-
-PERL_CALLCONV void Perl_sv_setsv_flags(pTHX_ SV *dstr, SV *sstr, const I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_SETSV_FLAGS \
- assert(dstr)
-
-PERL_CALLCONV void Perl_sv_catpvn_flags(pTHX_ SV *const dstr, const char *sstr, const STRLEN len, const I32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_CATPVN_FLAGS \
- assert(dstr); assert(sstr)
-
-PERL_CALLCONV void Perl_sv_catsv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_CATSV_FLAGS \
- assert(dsv)
-
-/* PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags(pTHX_ SV *const sv, const I32 flags)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags_grow(pTHX_ SV *const sv, const I32 flags, STRLEN extra)
+#if defined(PERL_IN_UTIL_C)
+STATIC bool S_ckwarn_common(pTHX_ U32 w);
+STATIC const COP* S_closest_cop(pTHX_ const COP *cop, const OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS_GROW \
- assert(sv)
+#define PERL_ARGS_ASSERT_CLOSEST_COP \
+ assert(cop)
-PERL_CALLCONV char* Perl_sv_pvn_force_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags)
+STATIC bool S_invoke_exception_hook(pTHX_ SV *ex, bool warn);
+STATIC SV* S_mess_alloc(pTHX);
+STATIC SV * S_with_queued_errors(pTHX_ SV *ex)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS \
- assert(sv)
-
-PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_COPYPV \
- assert(dsv); assert(ssv)
+#define PERL_ARGS_ASSERT_WITH_QUEUED_ERRORS \
+ assert(ex)
-PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *s, NV* value)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MY_ATOF2 \
- assert(s); assert(value)
+STATIC char * S_write_no_mem(pTHX)
+ __attribute__noreturn__;
-PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]);
-PERL_CALLCONV int Perl_my_dirfd(pTHX_ DIR* dir);
-#ifdef PERL_OLD_COPY_ON_WRITE
-PERL_CALLCONV SV* Perl_sv_setsv_cow(pTHX_ SV* dstr, SV* sstr)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_SETSV_COW \
- assert(sstr)
+# if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
+STATIC void S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesize, const char *type_name, const SV *sv, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname)
+ __attribute__nonnull__(4)
+ __attribute__nonnull__(8)
+ __attribute__nonnull__(10);
+#define PERL_ARGS_ASSERT_MEM_LOG_COMMON \
+ assert(type_name); assert(filename); assert(funcname)
+# endif
#endif
-
-PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
-
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
-PERL_CALLCONV int Perl_PerlIO_close(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_fill(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_fileno(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_eof(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_error(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f);
-PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f);
-PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt);
-PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt);
-PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f);
-PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *vbuf, Size_t count)
+#if defined(PERL_MAD)
+PERL_CALLCONV void Perl_addmad(pTHX_ MADPROP* tm, MADPROP** root, char slot);
+PERL_CALLCONV void Perl_append_madprops(pTHX_ MADPROP* tm, OP* o, char slot);
+PERL_CALLCONV void Perl_do_op_xmldump(pTHX_ I32 level, PerlIO *file, const OP *o)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PERLIO_READ \
- assert(vbuf)
+#define PERL_ARGS_ASSERT_DO_OP_XMLDUMP \
+ assert(file)
-PERL_CALLCONV SSize_t Perl_PerlIO_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
+PERL_CALLCONV void Perl_do_pmop_xmldump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PERLIO_WRITE \
- assert(vbuf)
+#define PERL_ARGS_ASSERT_DO_PMOP_XMLDUMP \
+ assert(file)
-PERL_CALLCONV SSize_t Perl_PerlIO_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
+PERL_CALLCONV void Perl_mad_free(pTHX_ MADPROP* mp);
+PERL_CALLCONV int Perl_madlex(pTHX);
+PERL_CALLCONV int Perl_madparse(pTHX_ int gramtype);
+PERL_CALLCONV OP* Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
+PERL_CALLCONV MADPROP* Perl_newMADPROP(pTHX_ char key, char type, void* val, I32 vlen);
+PERL_CALLCONV MADPROP* Perl_newMADsv(pTHX_ char key, SV* sv)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PERLIO_UNREAD \
- assert(vbuf)
-
-PERL_CALLCONV Off_t Perl_PerlIO_tell(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-
-PERL_CALLCONV STDCHAR * Perl_PerlIO_get_base(pTHX_ PerlIO *f);
-PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV int Perl_PerlIO_get_cnt(pTHX_ PerlIO *f)
- __attribute__warn_unused_result__;
-
-
-PERL_CALLCONV PerlIO * Perl_PerlIO_stdin(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV PerlIO * Perl_PerlIO_stdout(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV PerlIO * Perl_PerlIO_stderr(pTHX)
- __attribute__warn_unused_result__;
-
-#endif /* PERLIO_LAYERS */
-
-PERL_CALLCONV void Perl_deb_stack_all(pTHX);
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
-STATIC void S_deb_stack_n(pTHX_ SV** stack_base, I32 stack_min, I32 stack_max, I32 mark_min, I32 mark_max)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DEB_STACK_N \
- assert(stack_base)
-
-#endif
-
-PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_pad_undef(pTHX_ CV* cv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_UNDEF \
- assert(cv)
+#define PERL_ARGS_ASSERT_NEWMADSV \
+ assert(sv)
-PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME \
- assert(name)
+PERL_CALLCONV OP * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
+ __attribute__noreturn__;
-PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
+PERL_CALLCONV TOKEN* Perl_newTOKEN(pTHX_ I32 optype, YYSTYPE lval, MADPROP* madprop);
+PERL_CALLCONV void Perl_op_getmad(pTHX_ OP* from, OP* o, char slot);
+PERL_CALLCONV void Perl_op_getmad_weak(pTHX_ OP* from, OP* o, char slot);
+PERL_CALLCONV void Perl_op_xmldump(pTHX_ const OP *o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_ANON \
- assert(sv)
+#define PERL_ARGS_ASSERT_OP_XMLDUMP \
+ assert(o)
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-STATIC void S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash)
+PERL_CALLCONV OP* Perl_package(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_CHECK_DUP \
- assert(name)
-
-#endif
-#ifdef DEBUGGING
-PERL_CALLCONV void Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_PAD_SETSV \
- assert(sv)
+#define PERL_ARGS_ASSERT_PACKAGE \
+ assert(o)
-#endif
-PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full);
-PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type);
-PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_DUMP_PAD \
- assert(file)
+PERL_CALLCONV void Perl_pad_peg(const char* s)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_PAD_PEG \
+ assert(s)
-PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
+PERL_CALLCONV void Perl_pmop_xmldump(pTHX_ const PMOP* pm);
+PERL_CALLCONV void Perl_prepend_madprops(pTHX_ MADPROP* mp, OP* o, char slot);
+PERL_CALLCONV char* Perl_sv_catxmlpv(pTHX_ SV *dsv, const char *pv, int utf8)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS \
- assert(padlist); assert(old_cv); assert(new_cv)
-
-
-PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_PUSH \
- assert(padlist)
-
-PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
- __attribute__warn_unused_result__;
-
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_CATXMLPV \
+ assert(dsv); assert(pv)
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-STATIC PADOFFSET S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+PERL_CALLCONV char* Perl_sv_catxmlpvn(pTHX_ SV *dsv, const char *pv, STRLEN len, int utf8)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_6)
- __attribute__nonnull__(pTHX_7);
-#define PERL_ARGS_ASSERT_PAD_FINDLEX \
- assert(name); assert(cv); assert(out_name_sv); assert(out_flags)
-
-STATIC PADOFFSET S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash, HV *ourstash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
- assert(namesv)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_CATXMLPVN \
+ assert(dsv); assert(pv)
-# if defined(DEBUGGING)
-STATIC void S_cv_dump(pTHX_ const CV *cv, const char *title)
+PERL_CALLCONV char* Perl_sv_catxmlsv(pTHX_ SV *dsv, SV *ssv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_CV_DUMP \
- assert(cv); assert(title)
-
-# endif
-#endif
-PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX);
-#if defined(DEBUGGING)
-PERL_CALLCONV int Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GET_DEBUG_OPTS \
- assert(s)
+#define PERL_ARGS_ASSERT_SV_CATXMLSV \
+ assert(dsv); assert(ssv)
-#endif
-PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV *sv, U32 mask, U32 val)
+PERL_CALLCONV char* Perl_sv_xmlpeek(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVE_SET_SVFLAGS \
+#define PERL_ARGS_ASSERT_SV_XMLPEEK \
assert(sv)
-#ifdef DEBUGGING
-PERL_CALLCONV void Perl_hv_assert(pTHX_ HV *hv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_ASSERT \
- assert(hv)
-
-#endif
-
-PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_SCALAR \
- assert(hv)
-
-PERL_CALLCONV I32* Perl_hv_riter_p(pTHX_ HV *hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_RITER_P \
- assert(hv)
-
-PERL_CALLCONV HE** Perl_hv_eiter_p(pTHX_ HV *hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_EITER_P \
- assert(hv)
-
-PERL_CALLCONV void Perl_hv_riter_set(pTHX_ HV *hv, I32 riter)
+PERL_CALLCONV void Perl_token_free(pTHX_ TOKEN *tk)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_RITER_SET \
- assert(hv)
+#define PERL_ARGS_ASSERT_TOKEN_FREE \
+ assert(tk)
-PERL_CALLCONV void Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter)
+PERL_CALLCONV void Perl_token_getmad(pTHX_ TOKEN *tk, OP *o, char slot)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_EITER_SET \
- assert(hv)
+#define PERL_ARGS_ASSERT_TOKEN_GETMAD \
+ assert(tk)
-PERL_CALLCONV void Perl_hv_name_set(pTHX_ HV *hv, const char *name, U32 len, U32 flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_NAME_SET \
- assert(hv)
+PERL_CALLCONV OP * Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_UTILIZE \
+ assert(idop)
-PERL_CALLCONV AV** Perl_hv_backreferences_p(pTHX_ HV *hv)
+PERL_CALLCONV void Perl_xmldump_all(pTHX);
+PERL_CALLCONV void Perl_xmldump_all_perl(pTHX_ bool justperl);
+PERL_CALLCONV void Perl_xmldump_eval(pTHX);
+PERL_CALLCONV void Perl_xmldump_form(pTHX_ const GV* gv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_BACKREFERENCES_P \
- assert(hv)
+#define PERL_ARGS_ASSERT_XMLDUMP_FORM \
+ assert(gv)
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_KILL_BACKREFS \
- assert(hv)
+PERL_CALLCONV void Perl_xmldump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
+ __attribute__format__(__printf__,pTHX_3,pTHX_4)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_XMLDUMP_INDENT \
+ assert(file); assert(pat)
-#endif
-PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV *hv)
+PERL_CALLCONV void Perl_xmldump_packsubs(pTHX_ const HV* stash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS \
- assert(hv)
+#define PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS \
+ assert(stash)
-PERL_CALLCONV I32* Perl_hv_placeholders_p(pTHX_ HV *hv)
- __attribute__warn_unused_result__
+PERL_CALLCONV void Perl_xmldump_packsubs_perl(pTHX_ const HV* stash, bool justperl)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P \
- assert(hv)
+#define PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS_PERL \
+ assert(stash)
-PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ const HV *hv)
- __attribute__warn_unused_result__
+PERL_CALLCONV void Perl_xmldump_sub(pTHX_ const GV* gv)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET \
- assert(hv)
+#define PERL_ARGS_ASSERT_XMLDUMP_SUB \
+ assert(gv)
-PERL_CALLCONV void Perl_hv_placeholders_set(pTHX_ HV *hv, I32 ph)
+PERL_CALLCONV void Perl_xmldump_sub_perl(pTHX_ const GV* gv, bool justperl)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET \
- assert(hv)
-
-
-PERL_CALLCONV SV* Perl_magic_scalarpack(pTHX_ HV *hv, MAGIC *mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SCALARPACK \
- assert(hv); assert(mg)
-
-
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC SV * S_find_hash_subscript(pTHX_ const HV *const hv, const SV *const val)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_FIND_HASH_SUBSCRIPT \
- assert(val)
+#define PERL_ARGS_ASSERT_XMLDUMP_SUB_PERL \
+ assert(gv)
-STATIC I32 S_find_array_subscript(pTHX_ const AV *const av, const SV *const val)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_FIND_ARRAY_SUBSCRIPT \
- assert(val)
+PERL_CALLCONV void Perl_xmldump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_XMLDUMP_VINDENT \
+ assert(file); assert(pat)
-STATIC SV* S_find_uninit_var(pTHX_ const OP *const obase, const SV *const uninit_sv, bool top);
#endif
-
-#ifdef PERL_NEED_MY_HTOLE16
-PERL_CALLCONV U16 Perl_my_htole16(U16 n);
+#if defined(PERL_NEED_MY_BETOH16)
+PERL_CALLCONV U16 Perl_my_betoh16(U16 n);
#endif
-#ifdef PERL_NEED_MY_LETOH16
-PERL_CALLCONV U16 Perl_my_letoh16(U16 n);
+#if defined(PERL_NEED_MY_BETOH32)
+PERL_CALLCONV U32 Perl_my_betoh32(U32 n);
#endif
-#ifdef PERL_NEED_MY_HTOBE16
-PERL_CALLCONV U16 Perl_my_htobe16(U16 n);
+#if defined(PERL_NEED_MY_BETOH64)
+PERL_CALLCONV U64 Perl_my_betoh64(U64 n);
#endif
-#ifdef PERL_NEED_MY_BETOH16
-PERL_CALLCONV U16 Perl_my_betoh16(U16 n);
+#if defined(PERL_NEED_MY_BETOHI)
+PERL_CALLCONV int Perl_my_betohi(int n);
#endif
-#ifdef PERL_NEED_MY_HTOLE32
-PERL_CALLCONV U32 Perl_my_htole32(U32 n);
+#if defined(PERL_NEED_MY_BETOHL)
+PERL_CALLCONV long Perl_my_betohl(long n);
#endif
-#ifdef PERL_NEED_MY_LETOH32
-PERL_CALLCONV U32 Perl_my_letoh32(U32 n);
+#if defined(PERL_NEED_MY_BETOHS)
+PERL_CALLCONV short Perl_my_betohs(short n);
+#endif
+#if defined(PERL_NEED_MY_HTOBE16)
+PERL_CALLCONV U16 Perl_my_htobe16(U16 n);
#endif
-#ifdef PERL_NEED_MY_HTOBE32
+#if defined(PERL_NEED_MY_HTOBE32)
PERL_CALLCONV U32 Perl_my_htobe32(U32 n);
#endif
-#ifdef PERL_NEED_MY_BETOH32
-PERL_CALLCONV U32 Perl_my_betoh32(U32 n);
+#if defined(PERL_NEED_MY_HTOBE64)
+PERL_CALLCONV U64 Perl_my_htobe64(U64 n);
#endif
-#ifdef PERL_NEED_MY_HTOLE64
-PERL_CALLCONV U64 Perl_my_htole64(U64 n);
+#if defined(PERL_NEED_MY_HTOBEI)
+PERL_CALLCONV int Perl_my_htobei(int n);
#endif
-#ifdef PERL_NEED_MY_LETOH64
-PERL_CALLCONV U64 Perl_my_letoh64(U64 n);
+#if defined(PERL_NEED_MY_HTOBEL)
+PERL_CALLCONV long Perl_my_htobel(long n);
#endif
-#ifdef PERL_NEED_MY_HTOBE64
-PERL_CALLCONV U64 Perl_my_htobe64(U64 n);
+#if defined(PERL_NEED_MY_HTOBES)
+PERL_CALLCONV short Perl_my_htobes(short n);
#endif
-#ifdef PERL_NEED_MY_BETOH64
-PERL_CALLCONV U64 Perl_my_betoh64(U64 n);
+#if defined(PERL_NEED_MY_HTOLE16)
+PERL_CALLCONV U16 Perl_my_htole16(U16 n);
#endif
-
-#ifdef PERL_NEED_MY_HTOLES
-PERL_CALLCONV short Perl_my_htoles(short n);
+#if defined(PERL_NEED_MY_HTOLE32)
+PERL_CALLCONV U32 Perl_my_htole32(U32 n);
#endif
-#ifdef PERL_NEED_MY_LETOHS
-PERL_CALLCONV short Perl_my_letohs(short n);
+#if defined(PERL_NEED_MY_HTOLE64)
+PERL_CALLCONV U64 Perl_my_htole64(U64 n);
#endif
-#ifdef PERL_NEED_MY_HTOBES
-PERL_CALLCONV short Perl_my_htobes(short n);
+#if defined(PERL_NEED_MY_HTOLEI)
+PERL_CALLCONV int Perl_my_htolei(int n);
#endif
-#ifdef PERL_NEED_MY_BETOHS
-PERL_CALLCONV short Perl_my_betohs(short n);
+#if defined(PERL_NEED_MY_HTOLEL)
+PERL_CALLCONV long Perl_my_htolel(long n);
#endif
-#ifdef PERL_NEED_MY_HTOLEI
-PERL_CALLCONV int Perl_my_htolei(int n);
+#if defined(PERL_NEED_MY_HTOLES)
+PERL_CALLCONV short Perl_my_htoles(short n);
#endif
-#ifdef PERL_NEED_MY_LETOHI
-PERL_CALLCONV int Perl_my_letohi(int n);
+#if defined(PERL_NEED_MY_LETOH16)
+PERL_CALLCONV U16 Perl_my_letoh16(U16 n);
#endif
-#ifdef PERL_NEED_MY_HTOBEI
-PERL_CALLCONV int Perl_my_htobei(int n);
+#if defined(PERL_NEED_MY_LETOH32)
+PERL_CALLCONV U32 Perl_my_letoh32(U32 n);
#endif
-#ifdef PERL_NEED_MY_BETOHI
-PERL_CALLCONV int Perl_my_betohi(int n);
+#if defined(PERL_NEED_MY_LETOH64)
+PERL_CALLCONV U64 Perl_my_letoh64(U64 n);
#endif
-#ifdef PERL_NEED_MY_HTOLEL
-PERL_CALLCONV long Perl_my_htolel(long n);
+#if defined(PERL_NEED_MY_LETOHI)
+PERL_CALLCONV int Perl_my_letohi(int n);
#endif
-#ifdef PERL_NEED_MY_LETOHL
+#if defined(PERL_NEED_MY_LETOHL)
PERL_CALLCONV long Perl_my_letohl(long n);
#endif
-#ifdef PERL_NEED_MY_HTOBEL
-PERL_CALLCONV long Perl_my_htobel(long n);
-#endif
-#ifdef PERL_NEED_MY_BETOHL
-PERL_CALLCONV long Perl_my_betohl(long n);
+#if defined(PERL_NEED_MY_LETOHS)
+PERL_CALLCONV short Perl_my_letohs(short n);
#endif
-
-PERL_CALLCONV void Perl_my_swabn(void* ptr, int n)
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_MY_SWABN \
- assert(ptr)
-
-
-PERL_CALLCONV GV* Perl_gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, I32 flags, const svtype sv_type)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_FETCHPVN_FLAGS \
- assert(name)
-
-PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_FETCHSV \
- assert(name)
-
-PERL_CALLCONV bool Perl_is_gv_magical_sv(pTHX_ SV *const name_sv, U32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_GV_MAGICAL_SV \
- assert(name_sv)
-
-
-PERL_CALLCONV bool Perl_stashpv_hvname_match(pTHX_ const COP *c, const HV *hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
+#if defined(PERL_OLD_COPY_ON_WRITE)
+PERL_CALLCONV SV* Perl_sv_setsv_cow(pTHX_ SV* dstr, SV* sstr)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_STASHPV_HVNAME_MATCH \
- assert(c); assert(hv)
+#define PERL_ARGS_ASSERT_SV_SETSV_COW \
+ assert(sstr)
+#endif
+#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
+STATIC void S_pidgone(pTHX_ Pid_t pid, int status);
+#endif
+#if defined(PL_OP_SLAB_ALLOC)
+PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv)
+PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_DUMP_SV_CHILD \
- assert(sv)
+#define PERL_ARGS_ASSERT_SLAB_FREE \
+ assert(op)
#endif
+#if defined(UNLINK_ALL_VERSIONS)
+PERL_CALLCONV I32 Perl_unlnk(pTHX_ const char* f)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_UNLNK \
+ assert(f)
-#ifdef PERL_DONT_CREATE_GVSV
-/* PERL_CALLCONV GV* Perl_gv_SVadd(pTHX_ GV *gv); */
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-STATIC bool S_ckwarn_common(pTHX_ U32 w);
#endif
-PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w);
-PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
-PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size)
- __attribute__malloc__
+#if defined(USE_ITHREADS)
+PERL_CALLCONV void* Perl_any_dup(pTHX_ void* v, const PerlInterpreter* proto_perl)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD \
- assert(bits)
-
-
-PERL_CALLCONV void Perl_offer_nice_chunk(pTHX_ void *const chunk, const U32 chunk_size)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OFFER_NICE_CHUNK \
- assert(chunk)
+#define PERL_ARGS_ASSERT_ANY_DUP \
+ assert(proto_perl)
+PERL_CALLCONV void Perl_clone_params_del(CLONE_PARAMS *param)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_CLONE_PARAMS_DEL \
+ assert(param)
-#ifndef SPRINTF_RETURNS_STRLEN
-PERL_CALLCONV int Perl_my_sprintf(char *buffer, const char *pat, ...)
+PERL_CALLCONV CLONE_PARAMS * Perl_clone_params_new(PerlInterpreter *const from, PerlInterpreter *const to)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_MY_SPRINTF \
- assert(buffer); assert(pat)
+#define PERL_ARGS_ASSERT_CLONE_PARAMS_NEW \
+ assert(from); assert(to)
-#endif
+PERL_CALLCONV PERL_CONTEXT* Perl_cx_dup(pTHX_ PERL_CONTEXT* cx, I32 ix, I32 max, CLONE_PARAMS* param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_CX_DUP \
+ assert(param)
-PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
- __attribute__format__(__printf__,3,4)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_MY_SNPRINTF \
- assert(buffer); assert(format)
+PERL_CALLCONV DIR* Perl_dirp_dup(pTHX_ DIR *const dp, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DIRP_DUP \
+ assert(param)
-PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_MY_VSNPRINTF \
- assert(buffer); assert(format)
+PERL_CALLCONV PerlIO* Perl_fp_dup(pTHX_ PerlIO *const fp, const char type, CLONE_PARAMS *const param)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_FP_DUP \
+ assert(param)
+PERL_CALLCONV GP* Perl_gp_dup(pTHX_ GP *const gp, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GP_DUP \
+ assert(param)
-PERL_CALLCONV void Perl_my_clearenv(pTHX);
+PERL_CALLCONV HE* Perl_he_dup(pTHX_ const HE* e, bool shared, CLONE_PARAMS* param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_HE_DUP \
+ assert(param)
-#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ const char *my_cxt_key, size_t size)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MY_CXT_INIT \
- assert(my_cxt_key)
+PERL_CALLCONV HEK* Perl_hek_dup(pTHX_ HEK* e, CLONE_PARAMS* param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HEK_DUP \
+ assert(param)
-PERL_CALLCONV int Perl_my_cxt_index(pTHX_ const char *my_cxt_key)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MY_CXT_INDEX \
- assert(my_cxt_key)
+PERL_CALLCONV MAGIC* Perl_mg_dup(pTHX_ MAGIC *mg, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MG_DUP \
+ assert(param)
-#else
-PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ int *index, size_t size)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MY_CXT_INIT \
- assert(index)
+PERL_CALLCONV struct mro_meta* Perl_mro_meta_dup(pTHX_ struct mro_meta* smeta, CLONE_PARAMS* param)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MRO_META_DUP \
+ assert(smeta); assert(param)
-#endif
-#endif
+PERL_CALLCONV OP* Perl_newPADOP(pTHX_ I32 type, I32 flags, SV* sv)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_NEWPADOP \
+ assert(sv)
-#ifndef HAS_STRLCAT
-PERL_CALLCONV Size_t Perl_my_strlcat(char *dst, const char *src, Size_t size);
-#endif
+PERL_CALLCONV AV* Perl_padlist_dup(pTHX_ AV *const srcpad, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PADLIST_DUP \
+ assert(param)
-#ifndef HAS_STRLCPY
-PERL_CALLCONV Size_t Perl_my_strlcpy(char *dst, const char *src, Size_t size);
-#endif
+PERL_CALLCONV yy_parser* Perl_parser_dup(pTHX_ const yy_parser *const proto, CLONE_PARAMS *const param)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PARSER_DUP \
+ assert(param)
-#ifdef PERL_MAD
-PERL_CALLCONV void Perl_pad_peg(const char* s)
+PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter *proto_perl, UV flags)
__attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_PAD_PEG \
- assert(s)
+#define PERL_ARGS_ASSERT_PERL_CLONE \
+ assert(proto_perl)
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-STATIC void S_xmldump_attr(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_3,pTHX_4)
+PERL_CALLCONV void Perl_re_dup_guts(pTHX_ const REGEXP *sstr, REGEXP *dstr, CLONE_PARAMS* param)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_XMLDUMP_ATTR \
- assert(file); assert(pat)
+#define PERL_ARGS_ASSERT_RE_DUP_GUTS \
+ assert(sstr); assert(dstr); assert(param)
-#endif
-PERL_CALLCONV void Perl_xmldump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_3,pTHX_4)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_XMLDUMP_INDENT \
- assert(file); assert(pat)
+PERL_CALLCONV void* Perl_regdupe_internal(pTHX_ REGEXP * const r, CLONE_PARAMS* param)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REGDUPE_INTERNAL \
+ assert(r); assert(param)
-PERL_CALLCONV void Perl_xmldump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
+PERL_CALLCONV void Perl_rvpv_dup(pTHX_ SV *const dstr, const SV *const sstr, CLONE_PARAMS *const param)
+ __attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_XMLDUMP_VINDENT \
- assert(file); assert(pat)
-
-PERL_CALLCONV void Perl_xmldump_all(pTHX);
-PERL_CALLCONV void Perl_xmldump_all_perl(pTHX_ bool justperl);
-PERL_CALLCONV void Perl_xmldump_packsubs(pTHX_ const HV* stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS \
- assert(stash)
-
-PERL_CALLCONV void Perl_xmldump_packsubs_perl(pTHX_ const HV* stash, bool justperl)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS_PERL \
- assert(stash)
-
-PERL_CALLCONV void Perl_xmldump_sub(pTHX_ const GV* gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_XMLDUMP_SUB \
- assert(gv)
-
-PERL_CALLCONV void Perl_xmldump_sub_perl(pTHX_ const GV* gv, bool justperl)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_XMLDUMP_SUB_PERL \
- assert(gv)
-
-PERL_CALLCONV void Perl_xmldump_form(pTHX_ const GV* gv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_XMLDUMP_FORM \
- assert(gv)
+#define PERL_ARGS_ASSERT_RVPV_DUP \
+ assert(dstr); assert(sstr); assert(param)
-PERL_CALLCONV void Perl_xmldump_eval(pTHX);
-PERL_CALLCONV char* Perl_sv_catxmlsv(pTHX_ SV *dsv, SV *ssv)
- __attribute__nonnull__(pTHX_1)
+PERL_CALLCONV PERL_SI* Perl_si_dup(pTHX_ PERL_SI* si, CLONE_PARAMS* param)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_CATXMLSV \
- assert(dsv); assert(ssv)
+#define PERL_ARGS_ASSERT_SI_DUP \
+ assert(param)
-PERL_CALLCONV char* Perl_sv_catxmlpvn(pTHX_ SV *dsv, const char *pv, STRLEN len, int utf8)
+PERL_CALLCONV ANY* Perl_ss_dup(pTHX_ PerlInterpreter* proto_perl, CLONE_PARAMS* param)
+ __attribute__malloc__
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_CATXMLPVN \
- assert(dsv); assert(pv)
-
-PERL_CALLCONV char* Perl_sv_xmlpeek(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SV_XMLPEEK \
- assert(sv)
-
-PERL_CALLCONV void Perl_do_pmop_xmldump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_PMOP_XMLDUMP \
- assert(file)
+#define PERL_ARGS_ASSERT_SS_DUP \
+ assert(proto_perl); assert(param)
-PERL_CALLCONV void Perl_pmop_xmldump(pTHX_ const PMOP* pm);
-PERL_CALLCONV void Perl_do_op_xmldump(pTHX_ I32 level, PerlIO *file, const OP *o)
+PERL_CALLCONV SV* Perl_sv_dup(pTHX_ const SV *const sstr, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_DO_OP_XMLDUMP \
- assert(file)
-
-PERL_CALLCONV void Perl_op_xmldump(pTHX_ const OP *o)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OP_XMLDUMP \
- assert(o)
-
-
-PERL_CALLCONV TOKEN* Perl_newTOKEN(pTHX_ I32 optype, YYSTYPE lval, MADPROP* madprop);
-PERL_CALLCONV void Perl_token_free(pTHX_ TOKEN *tk)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_TOKEN_FREE \
- assert(tk)
-
-PERL_CALLCONV void Perl_token_getmad(pTHX_ TOKEN *tk, OP *o, char slot)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_TOKEN_GETMAD \
- assert(tk)
+#define PERL_ARGS_ASSERT_SV_DUP \
+ assert(param)
-PERL_CALLCONV void Perl_op_getmad_weak(pTHX_ OP* from, OP* o, char slot);
-PERL_CALLCONV void Perl_op_getmad(pTHX_ OP* from, OP* o, char slot);
-PERL_CALLCONV void Perl_prepend_madprops(pTHX_ MADPROP* mp, OP* o, char slot);
-PERL_CALLCONV void Perl_append_madprops(pTHX_ MADPROP* tm, OP* o, char slot);
-PERL_CALLCONV void Perl_addmad(pTHX_ MADPROP* tm, MADPROP** root, char slot);
-PERL_CALLCONV MADPROP* Perl_newMADsv(pTHX_ char key, SV* sv)
+PERL_CALLCONV SV* Perl_sv_dup_inc(pTHX_ const SV *const sstr, CLONE_PARAMS *const param)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_NEWMADSV \
- assert(sv)
-
-PERL_CALLCONV MADPROP* Perl_newMADPROP(pTHX_ char key, char type, void* val, I32 vlen);
-PERL_CALLCONV void Perl_mad_free(pTHX_ MADPROP* mp);
-
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-STATIC char* S_skipspace0(pTHX_ char *s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SKIPSPACE0 \
- assert(s)
-
-STATIC char* S_skipspace1(pTHX_ char *s)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SKIPSPACE1 \
- assert(s)
-
-STATIC char* S_skipspace2(pTHX_ char *s, SV **sv)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SKIPSPACE2 \
- assert(s)
-
-STATIC void S_start_force(pTHX_ int where);
-STATIC void S_curmad(pTHX_ char slot, SV *sv);
-# endif
-PERL_CALLCONV int Perl_madlex(pTHX);
-PERL_CALLCONV int Perl_madparse(pTHX);
-#endif
-#if !defined(HAS_SIGNBIT)
-PERL_CALLCONV int Perl_signbit(NV f)
- __attribute__pure__;
+#define PERL_ARGS_ASSERT_SV_DUP_INC \
+ assert(param)
#endif
-
-PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_EMULATE_COP_IO \
- assert(c); assert(sv)
-
-PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv);
-
-PERL_CALLCONV SV* Perl_mro_get_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which)
+#if defined(USE_LOCALE_COLLATE)
+PERL_CALLCONV int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MRO_GET_PRIVATE_DATA \
- assert(smeta); assert(which)
+#define PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM \
+ assert(sv); assert(mg)
-PERL_CALLCONV SV* Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which, SV *const data)
+PERL_CALLCONV char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA \
- assert(smeta); assert(which); assert(data)
-
-PERL_CALLCONV const struct mro_alg * Perl_mro_get_from_name(pTHX_ SV *name)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_GET_FROM_NAME \
- assert(name)
-
-PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_REGISTER \
- assert(mro)
+#define PERL_ARGS_ASSERT_MEM_COLLXFRM \
+ assert(s); assert(xlen)
-PERL_CALLCONV void Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
+/* PERL_CALLCONV char* sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MRO_SET_MRO \
- assert(meta); assert(name)
-
-PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_META_INIT \
- assert(stash)
+ __attribute__nonnull__(pTHX_2); */
-#if defined(USE_ITHREADS)
-PERL_CALLCONV struct mro_meta* Perl_mro_meta_dup(pTHX_ struct mro_meta* smeta, CLONE_PARAMS* param)
+PERL_CALLCONV char* Perl_sv_collxfrm_flags(pTHX_ SV *const sv, STRLEN *const nxp, I32 const flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MRO_META_DUP \
- assert(smeta); assert(param)
+#define PERL_ARGS_ASSERT_SV_COLLXFRM_FLAGS \
+ assert(sv); assert(nxp)
#endif
-PERL_CALLCONV AV* Perl_mro_get_linear_isa(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA \
- assert(stash)
+#if defined(USE_PERLIO) && !defined(USE_SFIO)
+PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_close(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_eof(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_error(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_fileno(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_fill(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f);
+PERL_CALLCONV STDCHAR * Perl_PerlIO_get_base(pTHX_ PerlIO *f);
+PERL_CALLCONV int Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f)
+ __attribute__warn_unused_result__;
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA_DFS \
- assert(stash)
+PERL_CALLCONV int Perl_PerlIO_get_cnt(pTHX_ PerlIO *f)
+ __attribute__warn_unused_result__;
-#endif
-PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN \
- assert(stash)
+PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *vbuf, Size_t count)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PERLIO_READ \
+ assert(vbuf)
-PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \
- assert(stash)
+PERL_CALLCONV int Perl_PerlIO_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
+PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt);
+PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt);
+PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f);
+PERL_CALLCONV PerlIO * Perl_PerlIO_stderr(pTHX)
+ __attribute__warn_unused_result__;
-PERL_CALLCONV void Perl_boot_core_mro(pTHX);
-PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-#define PERL_ARGS_ASSERT_SYS_INIT \
- assert(argc); assert(argv)
+PERL_CALLCONV PerlIO * Perl_PerlIO_stdin(pTHX)
+ __attribute__warn_unused_result__;
-PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-#define PERL_ARGS_ASSERT_SYS_INIT3 \
- assert(argc); assert(argv); assert(env)
+PERL_CALLCONV PerlIO * Perl_PerlIO_stdout(pTHX)
+ __attribute__warn_unused_result__;
-PERL_CALLCONV void Perl_sys_term(void);
-PERL_CALLCONV const char * Perl_fetch_cop_label(pTHX_ struct refcounted_he *const chain, STRLEN *len, U32 *flags);
-PERL_CALLCONV struct refcounted_he * Perl_store_cop_label(pTHX_ struct refcounted_he *const chain, const char *label)
+PERL_CALLCONV Off_t Perl_PerlIO_tell(pTHX_ PerlIO *f);
+PERL_CALLCONV SSize_t Perl_PerlIO_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_STORE_COP_LABEL \
- assert(label)
+#define PERL_ARGS_ASSERT_PERLIO_UNREAD \
+ assert(vbuf)
+PERL_CALLCONV SSize_t Perl_PerlIO_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PERLIO_WRITE \
+ assert(vbuf)
-PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr)
- __attribute__nonnull__(pTHX_1)
+#endif
+#if defined(USE_REENTRANT_API)
+PERL_CALLCONV void Perl_reentrant_free(pTHX);
+PERL_CALLCONV void Perl_reentrant_init(pTHX);
+PERL_CALLCONV void* Perl_reentrant_retry(const char *f, ...)
+ __attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_REENTRANT_RETRY \
+ assert(f)
+
+PERL_CALLCONV void Perl_reentrant_size(pTHX);
+#endif
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
+PERL_CALLCONV int Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp)
+ __attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \
- assert(keyword_ptr); assert(op_ptr)
+#define PERL_ARGS_ASSERT_DO_ASPAWN \
+ assert(mark); assert(sp)
+PERL_CALLCONV int Perl_do_spawn(pTHX_ char* cmd)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DO_SPAWN \
+ assert(cmd)
+
+PERL_CALLCONV int Perl_do_spawn_nowait(pTHX_ char* cmd)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DO_SPAWN_NOWAIT \
+ assert(cmd)
+#endif
+#ifdef PERL_CORE
+# include "pp_proto.h"
+#endif
END_EXTERN_C
-/*
- * ex: set ts=8 sts=4 sw=4 noet:
- */
+
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/reentr.h b/Master/tlpkg/tlperl/lib/CORE/reentr.h
index 004cc46b6cb..3510fc55457 100644
--- a/Master/tlpkg/tlperl/lib/CORE/reentr.h
+++ b/Master/tlpkg/tlperl/lib/CORE/reentr.h
@@ -7,8 +7,9 @@
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by reentr.pl from data in reentr.pl.
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/reentr.pl from data in regen/reentr.pl.
+ * Any changes made here will be lost!
*/
#ifndef REENTR_H
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
index f9a1558d66a..47d4b41925b 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
@@ -1,17 +1,15 @@
-/* -*- buffer-read-only: t -*-
+/* -*- buffer-read-only: t -*-
*
* regcharclass.h
*
- * Copyright (C) 2007, by Larry Wall and others
+ * Copyright (C) 2007 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by Porting/regcharclass.pl.
- *
+ * This file is built by regen/regcharclass.pl.
* Any changes made here will be lost!
- *
*/
/*
@@ -363,9 +361,12 @@
/*
TRICKYFOLD: Problematic fold case letters.
- 0x00DF # LATIN1 SMALL LETTER SHARP S
+ 0x00DF # LATIN SMALL LETTER SHARP S
0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x1E9E # LATIN CAPITAL LETTER SHARP S, because maps to same as 00DF
+ 0x1FD3 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; maps same as 0390
+ 0x1FE3 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; maps same as 03B0
*/
/*** GENERATED CODE ***/
#define is_TRICKYFOLD(s,is_utf8) \
@@ -374,12 +375,32 @@
( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
: ( 0xCE == ((U8*)s)[0] ) ? \
( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
+ : ( 0xE1 == ((U8*)s)[0] ) ? \
+ ( ( 0xBA == ((U8*)s)[1] ) ? \
+ ( ( 0x9E == ((U8*)s)[2] ) ? 3 : 0 ) \
+ : ( 0xBF == ((U8*)s)[1] ) ? \
+ ( ( 0x93 == ((U8*)s)[2] || 0xA3 == ((U8*)s)[2] ) ? 3 : 0 ) \
+ : 0 ) \
: 0 ) \
: ( 0xDF == ((U8*)s)[0] ) )
/*** GENERATED CODE ***/
#define is_TRICKYFOLD_safe(s,e,is_utf8) \
-( ((e)-(s) > 1) ? \
+( ((e)-(s) > 2) ? \
+ ( ( is_utf8 ) ? \
+ ( ( 0xC3 == ((U8*)s)[0] ) ? \
+ ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
+ : ( 0xCE == ((U8*)s)[0] ) ? \
+ ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
+ : ( 0xE1 == ((U8*)s)[0] ) ? \
+ ( ( 0xBA == ((U8*)s)[1] ) ? \
+ ( ( 0x9E == ((U8*)s)[2] ) ? 3 : 0 ) \
+ : ( 0xBF == ((U8*)s)[1] ) ? \
+ ( ( 0x93 == ((U8*)s)[2] || 0xA3 == ((U8*)s)[2] ) ? 3 : 0 ) \
+ : 0 ) \
+ : 0 ) \
+ : ( 0xDF == ((U8*)s)[0] ) ) \
+: ((e)-(s) > 1) ? \
( ( is_utf8 ) ? \
( ( 0xC3 == ((U8*)s)[0] ) ? \
( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
@@ -397,7 +418,10 @@
#define is_TRICKYFOLD_cp(cp) \
( 0xDF == cp || ( 0xDF < cp && \
( 0x390 == cp || ( 0x390 < cp && \
-0x3B0 == cp ) ) ) )
+( 0x3B0 == cp || ( 0x3B0 < cp && \
+( 0x1E9E == cp || ( 0x1E9E < cp && \
+( 0x1FD3 == cp || ( 0x1FD3 < cp && \
+0x1FE3 == cp ) ) ) ) ) ) ) ) ) )
/*** GENERATED CODE ***/
#define what_TRICKYFOLD(s,is_utf8) \
@@ -407,12 +431,35 @@
: ( 0xCE == ((U8*)s)[0] ) ? \
( ( 0x90 == ((U8*)s)[1] ) ? 0x390 \
: ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 ) \
+ : ( 0xE1 == ((U8*)s)[0] ) ? \
+ ( ( 0xBA == ((U8*)s)[1] ) ? \
+ ( ( 0x9E == ((U8*)s)[2] ) ? 0x1E9E : 0 ) \
+ : ( 0xBF == ((U8*)s)[1] ) ? \
+ ( ( 0x93 == ((U8*)s)[2] ) ? 0x1FD3 \
+ : ( 0xA3 == ((U8*)s)[2] ) ? 0x1FE3 : 0 ) \
+ : 0 ) \
: 0 ) \
: ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )
/*** GENERATED CODE ***/
#define what_TRICKYFOLD_safe(s,e,is_utf8) \
-( ((e)-(s) > 1) ? \
+( ((e)-(s) > 2) ? \
+ ( ( is_utf8 ) ? \
+ ( ( 0xC3 == ((U8*)s)[0] ) ? \
+ ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 ) \
+ : ( 0xCE == ((U8*)s)[0] ) ? \
+ ( ( 0x90 == ((U8*)s)[1] ) ? 0x390 \
+ : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 ) \
+ : ( 0xE1 == ((U8*)s)[0] ) ? \
+ ( ( 0xBA == ((U8*)s)[1] ) ? \
+ ( ( 0x9E == ((U8*)s)[2] ) ? 0x1E9E : 0 ) \
+ : ( 0xBF == ((U8*)s)[1] ) ? \
+ ( ( 0x93 == ((U8*)s)[2] ) ? 0x1FD3 \
+ : ( 0xA3 == ((U8*)s)[2] ) ? 0x1FE3 : 0 ) \
+ : 0 ) \
+ : 0 ) \
+ : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 ) \
+: ((e)-(s) > 1) ? \
( ( is_utf8 ) ? \
( ( 0xC3 == ((U8*)s)[0] ) ? \
( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 ) \
@@ -433,12 +480,35 @@
: ( 0xCE == ((U8*)s)[0] ) ? \
( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390 \
: ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 ) \
+ : ( 0xE1 == ((U8*)s)[0] ) ? \
+ ( ( 0xBA == ((U8*)s)[1] ) ? \
+ ( ( 0x9E == ((U8*)s)[2] ) ? len=3, 0x1E9E : 0 ) \
+ : ( 0xBF == ((U8*)s)[1] ) ? \
+ ( ( 0x93 == ((U8*)s)[2] ) ? len=3, 0x1FD3 \
+ : ( 0xA3 == ((U8*)s)[2] ) ? len=3, 0x1FE3 : 0 ) \
+ : 0 ) \
: 0 ) \
: ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )
/*** GENERATED CODE ***/
#define what_len_TRICKYFOLD_safe(s,e,is_utf8,len) \
-( ((e)-(s) > 1) ? \
+( ((e)-(s) > 2) ? \
+ ( ( is_utf8 ) ? \
+ ( ( 0xC3 == ((U8*)s)[0] ) ? \
+ ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 ) \
+ : ( 0xCE == ((U8*)s)[0] ) ? \
+ ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390 \
+ : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 ) \
+ : ( 0xE1 == ((U8*)s)[0] ) ? \
+ ( ( 0xBA == ((U8*)s)[1] ) ? \
+ ( ( 0x9E == ((U8*)s)[2] ) ? len=3, 0x1E9E : 0 ) \
+ : ( 0xBF == ((U8*)s)[1] ) ? \
+ ( ( 0x93 == ((U8*)s)[2] ) ? len=3, 0x1FD3 \
+ : ( 0xA3 == ((U8*)s)[2] ) ? len=3, 0x1FE3 : 0 ) \
+ : 0 ) \
+ : 0 ) \
+ : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 ) \
+: ((e)-(s) > 1) ? \
( ( is_utf8 ) ? \
( ( 0xC3 == ((U8*)s)[0] ) ? \
( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 ) \
@@ -451,4 +521,5 @@
( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? len=1, 0xDF : 0 ) \
: 0 )
+
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcomp.h b/Master/tlpkg/tlperl/lib/CORE/regcomp.h
index 20b4401ed2f..c8f593b78d8 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regcomp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regcomp.h
@@ -15,28 +15,9 @@ typedef OP OP_4tree; /* Will be redefined later. */
/* Convert branch sequences to more efficient trie ops? */
#define PERL_ENABLE_TRIE_OPTIMISATION 1
-/* Be really agressive about optimising patterns with trie sequences? */
+/* Be really aggressive about optimising patterns with trie sequences? */
#define PERL_ENABLE_EXTENDED_TRIE_OPTIMISATION 1
-/* Use old style unicode mappings for perl and posix character classes
- *
- * NOTE: Enabling this essentially breaks character class matching against unicode
- * strings, so that POSIX char classes match when they shouldn't, and \d matches
- * way more than 10 characters, and sometimes a charclass and its complement either
- * both match or neither match.
- * NOTE: Disabling this will cause various backwards compatibility issues to rear
- * their head, and tests to fail. However it will make the charclass behaviour
- * consistant regardless of internal string type, and make character class inversions
- * consistant. The tests that fail in the regex engine are basically broken tests.
- *
- * Personally I think 5.12 should disable this for sure. Its a bit more debatable for
- * 5.10, so for now im leaving it enabled.
- * XXX: It is now enabled for 5.11/5.12
- *
- * -demerphq
- */
-#define PERL_LEGACY_UNICODE_CHARCLASS_MAPPINGS 1
-
/* Should the optimiser take positive assertions into account? */
#define PERL_ENABLE_POSITIVE_ASSERTION_STUDY 0
@@ -204,15 +185,16 @@ struct regnode_charclass {
U8 flags;
U8 type;
U16 next_off;
- U32 arg1;
+ U32 arg1; /* used as ptr in S_regclass */
char bitmap[ANYOF_BITMAP_SIZE]; /* only compile-time */
};
-struct regnode_charclass_class { /* has [[:blah:]] classes */
- U8 flags; /* should have ANYOF_CLASS here */
+/* has runtime (locale) \d, \w, ..., [:posix:] classes */
+struct regnode_charclass_class {
+ U8 flags; /* ANYOF_CLASS bit must go here */
U8 type;
U16 next_off;
- U32 arg1;
+ U32 arg1; /* used as ptr in S_regclass */
char bitmap[ANYOF_BITMAP_SIZE]; /* both compile-time */
char classflags[ANYOF_CLASSBITMAP_SIZE]; /* and run-time */
};
@@ -271,6 +253,9 @@ struct regnode_charclass_class { /* has [[:blah:]] classes */
#undef STRING
#define OP(p) ((p)->type)
+#define FLAGS(p) ((p)->flags) /* Caution: Doesn't apply to all \
+ regnode types. For some, it's the \
+ character set of the regnode */
#define OPERAND(p) (((struct regnode_string *)p)->string)
#define MASK(p) ((char*)OPERAND(p))
#define STR_LEN(p) (((struct regnode_string *)p)->str_len)
@@ -306,28 +291,87 @@ struct regnode_charclass_class { /* has [[:blah:]] classes */
#define SIZE_ONLY (RExC_emit == &PL_regdummy)
-/* Flags for node->flags of ANYOF */
+/* If the bitmap doesn't fully represent what this ANYOF node can match, the
+ * ARG is set to this special value (since 0, 1, ... are legal, but will never
+ * reach this high). */
+#define ANYOF_NONBITMAP_EMPTY ((U32) -1)
+
+/* The information used to be stored as as combination of the ANYOF_UTF8 and
+ * ANYOF_NONBITMAP_NON_UTF8 bits in the flags field, but was moved out of there
+ * to free up a bit for other uses. This tries to hide the change from
+ * existing code as much as possible. Now, the data structure that goes in ARG
+ * is not allocated unless it is needed, and that is what is used to determine
+ * if there is something outside the bitmap. The code now assumes that if
+ * that structure exists, that any UTF-8 encoded string should be tried against
+ * it, but a non-UTF8-encoded string will be tried only if the
+ * ANYOF_NONBITMAP_NON_UTF8 bit is also set. */
+#define ANYOF_NONBITMAP(node) (ARG(node) != ANYOF_NONBITMAP_EMPTY)
+
+/* Flags for node->flags of ANYOF. These are in short supply, so some games
+ * are done to share them, as described below. If necessary, the ANYOF_LOCALE
+ * and ANYOF_CLASS bits could be shared with a space penalty for locale nodes,
+ * but this isn't quite so easy, as the optimizer also uses ANYOF_CLASS.
+ * Once the planned change to compile all the above-latin1 code points is done,
+ * then the UNICODE_ALL bit can be freed up, with a small performance penalty.
+ * If flags need to be added that are applicable to the synthetic start class
+ * only, with some work, they could be put in the next-node field, or in an
+ * unused bit of the classflags field. */
+
+#define ANYOF_LOCALE 0x01 /* /l modifier */
+
+/* The fold is calculated and stored in the bitmap where possible at compile
+ * time. However there are two cases where it isn't possible. These share
+ * this bit: 1) under locale, where the actual folding varies depending on
+ * what the locale is at the time of execution; and 2) where the folding is
+ * specified in a swash, not the bitmap, such as characters which aren't
+ * specified in the bitmap, or properties that aren't looked at at compile time
+ */
+#define ANYOF_LOC_NONBITMAP_FOLD 0x02
+
+#define ANYOF_INVERT 0x04
-#define ANYOF_CLASS 0x08 /* has [[:blah:]] classes */
-#define ANYOF_INVERT 0x04
-#define ANYOF_FOLD 0x02
-#define ANYOF_LOCALE 0x01
+/* Set if this is a struct regnode_charclass_class vs a regnode_charclass. This
+ * is used for runtime \d, \w, [:posix:], ..., which are used only in locale
+ * and the optimizer's synthetic start class. Non-locale \d, etc are resolved
+ * at compile-time */
+#define ANYOF_CLASS 0x08
+#define ANYOF_LARGE ANYOF_CLASS /* Same; name retained for back compat */
-/* Used for regstclass only */
-#define ANYOF_EOS 0x10 /* Can match an empty string too */
+/* EOS, meaning that it can match an empty string too, is used for the
+ * synthetic start class only. */
+#define ANYOF_EOS 0x10
-/* There is a character or a range past 0xff */
-#define ANYOF_UNICODE 0x20
-#define ANYOF_UNICODE_ALL 0x40 /* Can match any char past 0xff */
+/* ? Is this node the synthetic start class (ssc). This bit is shared with
+ * ANYOF_EOS, as the latter is used only for the ssc, and then not used by
+ * regexec.c. And, the code is structured so that if it is set, the ssc is
+ * not used, so it is guaranteed to be 0 for the ssc by the time regexec.c
+ * gets executed, and 0 for a non-ssc ANYOF node, as it only ever gets set for
+ * a potential ssc candidate. Thus setting it to 1 after it has been
+ * determined that the ssc will be used is not ambiguous */
+#define ANYOF_IS_SYNTHETIC ANYOF_EOS
-/* size of node is large (includes class pointer) */
-#define ANYOF_LARGE 0x80
+/* Can match something outside the bitmap that isn't in utf8 */
+#define ANYOF_NONBITMAP_NON_UTF8 0x20
-/* Are there any runtime flags on in this node? */
-#define ANYOF_RUNTIME(s) (ANYOF_FLAGS(s) & 0x0f)
+/* Matches every code point 0x100 and above*/
+#define ANYOF_UNICODE_ALL 0x40
+
+/* Match all Latin1 characters that aren't ASCII when the target string is not
+ * in utf8. */
+#define ANYOF_NON_UTF8_LATIN1_ALL 0x80
#define ANYOF_FLAGS_ALL 0xff
+/* These are the flags that ANYOF_INVERT being set or not doesn't affect
+ * whether they are operative or not. e.g., the node still has LOCALE
+ * regardless of being inverted; whereas ANYOF_UNICODE_ALL means something
+ * different if inverted */
+#define INVERSION_UNAFFECTED_FLAGS (ANYOF_LOCALE \
+ |ANYOF_LOC_NONBITMAP_FOLD \
+ |ANYOF_CLASS \
+ |ANYOF_EOS \
+ |ANYOF_NONBITMAP_NON_UTF8)
+
/* Character classes for node->classflags of ANYOF */
/* Should be synchronized with a table in regprop() */
/* 2n should pair with 2n+1 */
@@ -395,6 +439,8 @@ struct regnode_charclass_class { /* has [[:blah:]] classes */
#define ANYOF_CLASS_TEST(p, c) (ANYOF_CLASS_BYTE(p, c) & ANYOF_BIT(c))
#define ANYOF_CLASS_ZERO(ret) Zero(((struct regnode_charclass_class*)(ret))->classflags, ANYOF_CLASSBITMAP_SIZE, char)
+#define ANYOF_CLASS_SETALL(ret) \
+ memset (((struct regnode_charclass_class*)(ret))->classflags, 255, ANYOF_CLASSBITMAP_SIZE)
#define ANYOF_BITMAP_ZERO(ret) Zero(((struct regnode_charclass*)(ret))->bitmap, ANYOF_BITMAP_SIZE, char)
#define ANYOF_BITMAP(p) (((struct regnode_charclass*)(p))->bitmap)
@@ -408,12 +454,20 @@ struct regnode_charclass_class { /* has [[:blah:]] classes */
#define ANYOF_BITMAP_CLEARALL(p) \
Zero (ANYOF_BITMAP(p), ANYOF_BITMAP_SIZE)
/* Check that all 256 bits are all set. Used in S_cl_is_anything() */
-#define ANYOF_BITMAP_TESTALLSET(p) \
+#define ANYOF_BITMAP_TESTALLSET(p) /* Assumes sizeof(p) == 32 */ \
memEQ (ANYOF_BITMAP(p), "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377", ANYOF_BITMAP_SIZE)
#define ANYOF_SKIP ((ANYOF_SIZE - 1)/sizeof(regnode))
#define ANYOF_CLASS_SKIP ((ANYOF_CLASS_SIZE - 1)/sizeof(regnode))
-#define ANYOF_CLASS_ADD_SKIP (ANYOF_CLASS_SKIP - ANYOF_SKIP)
+
+#if ANYOF_CLASSBITMAP_SIZE != 4
+# error ANYOF_CLASSBITMAP_SIZE is expected to be 4
+#endif
+#define ANYOF_CLASS_TEST_ANY_SET(p) ((ANYOF_FLAGS(p) & ANYOF_CLASS) \
+ && memNE (((struct regnode_charclass_class*)(p))->classflags, \
+ "\0\0\0\0", ANYOF_CLASSBITMAP_SIZE))
+/*#define ANYOF_CLASS_ADD_SKIP (ANYOF_CLASS_SKIP - ANYOF_SKIP)
+ * */
/*
@@ -447,37 +501,6 @@ START_EXTERN_C
#include "regnodes.h"
#endif
-/* The following have no fixed length. U8 so we can do strchr() on it. */
-#ifndef DOINIT
-EXTCONST U8 PL_varies[];
-#else
-EXTCONST U8 PL_varies[] = {
- BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL,
- WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP,
- NREF, NREFF, NREFFL,
- 0
-};
-#endif
-
-/* The following always have a length of 1. U8 we can do strchr() on it. */
-/* (Note that length 1 means "one character" under UTF8, not "one octet".) */
-#ifndef DOINIT
-EXTCONST U8 PL_simple[];
-#else
-EXTCONST U8 PL_simple[] = {
- REG_ANY, SANY, CANY,
- ANYOF,
- ALNUM, ALNUML,
- NALNUM, NALNUML,
- SPACE, SPACEL,
- NSPACE, NSPACEL,
- DIGIT, NDIGIT,
- VERTWS, NVERTWS,
- HORIZWS, NHORIZWS,
- 0
-};
-#endif
-
#ifndef PLUGGABLE_RE_EXTENSION
#ifndef DOINIT
EXTCONST regexp_engine PL_core_reg_engine;
@@ -507,6 +530,7 @@ END_EXTERN_C
/* .what is a character array with one character for each member of .data
* The character describes the function of the corresponding .data item:
+ * a - AV for paren_name_list under DEBUGGING
* f - start-class data for regstclass optimization
* n - Root of op tree for (?{EVAL}) item
* o - Start op for (?{EVAL}) item
@@ -586,6 +610,15 @@ struct _reg_trie_state {
} trans;
};
+/* info per word; indexed by wordnum */
+typedef struct {
+ U16 prev; /* previous word in acceptance chain; eg in
+ * zzz|abc|ab/ after matching the chars abc, the
+ * accepted word is #2, and the previous accepted
+ * word is #3 */
+ U32 len; /* how many chars long is this word? */
+ U32 accept; /* accept state for this word */
+} reg_trie_wordinfo;
typedef struct _reg_trie_state reg_trie_state;
@@ -603,15 +636,14 @@ struct _reg_trie_data {
reg_trie_state *states; /* state data */
reg_trie_trans *trans; /* array of transition elements */
char *bitmap; /* stclass bitmap */
- U32 *wordlen; /* array of lengths of words */
U16 *jump; /* optional 1 indexed array of offsets before tail
for the node following a given word. */
- U16 *nextword; /* optional 1 indexed array to support linked list
- of duplicate wordnums */
+ reg_trie_wordinfo *wordinfo; /* array of info per word */
U16 uniquecharcount; /* unique chars in trie (width of trans table) */
U32 startstate; /* initial state - used for common prefix optimisation */
STRLEN minlen; /* minimum length of words in trie - build/opt only? */
STRLEN maxlen; /* maximum length of words in trie - build/opt only? */
+ U32 prefixlen; /* #chars in common prefix */
U32 statecount; /* Build only - number of states in the states array
(including the unused zero state) */
U32 wordcount; /* Build only */
@@ -643,7 +675,7 @@ struct _reg_ac_data {
};
typedef struct _reg_ac_data reg_ac_data;
-/* ANY_BIT doesnt use the structure, so we can borrow it here.
+/* ANY_BIT doesn't use the structure, so we can borrow it here.
This is simpler than refactoring all of it as wed end up with
three different sets... */
@@ -789,9 +821,11 @@ re.pm, especially to the documentation.
if (re_debug_flags & RE_DEBUG_EXTRA_GPOS) x )
/* initialization */
-/* get_sv() can return NULL during global destruction. */
+/* get_sv() can return NULL during global destruction. re_debug_flags can get
+ * clobbered by a longjmp, so must be initialized */
#define GET_RE_DEBUG_FLAGS DEBUG_r({ \
SV * re_debug_flags_sv = NULL; \
+ re_debug_flags = 0; \
re_debug_flags_sv = get_sv(RE_DEBUG_FLAGS, 1); \
if (re_debug_flags_sv) { \
if (!SvIOK(re_debug_flags_sv)) \
@@ -802,26 +836,26 @@ re.pm, especially to the documentation.
#ifdef DEBUGGING
-#define GET_RE_DEBUG_FLAGS_DECL IV re_debug_flags = 0; GET_RE_DEBUG_FLAGS;
+#define GET_RE_DEBUG_FLAGS_DECL VOL IV re_debug_flags = 0; GET_RE_DEBUG_FLAGS;
#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \
const char * const rpv = \
pv_pretty((dsv), (pv), (l), (m), \
PL_colors[(c1)],PL_colors[(c2)], \
- PERL_PV_ESCAPE_RE |((isuni) ? PERL_PV_ESCAPE_UNI : 0) ); \
+ PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII |((isuni) ? PERL_PV_ESCAPE_UNI : 0) ); \
const int rlen = SvCUR(dsv)
#define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m) \
const char * const rpv = \
pv_pretty((dsv), (SvPV_nolen_const(sv)), (SvCUR(sv)), (m), \
PL_colors[(c1)],PL_colors[(c2)], \
- PERL_PV_ESCAPE_RE |((isuni) ? PERL_PV_ESCAPE_UNI : 0) )
+ PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII |((isuni) ? PERL_PV_ESCAPE_UNI : 0) )
#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m) \
const char * const rpv = \
pv_pretty((dsv), (pv), (l), (m), \
PL_colors[0], PL_colors[1], \
- ( PERL_PV_PRETTY_QUOTE | PERL_PV_ESCAPE_RE | PERL_PV_PRETTY_ELLIPSES | \
+ ( PERL_PV_PRETTY_QUOTE | PERL_PV_ESCAPE_RE | PERL_PV_ESCAPE_NONASCII | PERL_PV_PRETTY_ELLIPSES | \
((isuni) ? PERL_PV_ESCAPE_UNI : 0)) \
)
diff --git a/Master/tlpkg/tlperl/lib/CORE/regexp.h b/Master/tlpkg/tlperl/lib/CORE/regexp.h
index 90e3406a965..5776a9023a7 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regexp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regexp.h
@@ -70,6 +70,7 @@ typedef struct regexp_paren_pair {
/* what engine created this regexp? */ \
const struct regexp_engine* engine; \
REGEXP *mother_re; /* what re is this a lightweight copy of? */ \
+ HV *paren_names; /* Optional hash of paren names */ \
/* Information about the match that the perl core uses to */ \
/* manage things */ \
U32 extflags; /* Flags used both externally and internally */ \
@@ -103,14 +104,10 @@ typedef struct regexp_paren_pair {
typedef struct regexp {
_XPV_HEAD;
- _XPVMG_HEAD;
_REGEXP_COMMON;
} regexp;
-/* HV *paren_names; Optional hash of paren names
- now stored in the IV union */
-
-#define RXp_PAREN_NAMES(rx) ((rx)->xiv_u.xivu_hv)
+#define RXp_PAREN_NAMES(rx) ((rx)->paren_names)
/* used for high speed searches */
typedef struct re_scream_pos_data_s
@@ -193,20 +190,17 @@ equivalent to the following snippet:
if (SvMAGICAL(sv))
mg_get(sv);
- if (SvROK(sv) &&
- (tmpsv = (SV*)SvRV(sv)) &&
- SvTYPE(tmpsv) == SVt_PVMG &&
- (tmpmg = mg_find(tmpsv, PERL_MAGIC_qr)))
- {
- return (REGEXP *)tmpmg->mg_obj;
- }
+ if (SvROK(sv))
+ sv = MUTABLE_SV(SvRV(sv));
+ if (SvTYPE(sv) == SVt_REGEXP)
+ return (REGEXP*) sv;
NULL will be returned if a REGEXP* is not found.
=for apidoc Am|bool|SvRXOK|SV* sv
-Returns a boolean indicating whether the SV contains qr magic
-(PERL_MAGIC_qr).
+Returns a boolean indicating whether the SV (or the one it references)
+is a REGEXP.
If you want to do something with the REGEXP* later use SvRX instead
and check for NULL.
@@ -221,28 +215,17 @@ and check for NULL.
/* Flags stored in regexp->extflags
* These are used by code external to the regexp engine
*
- * Note that flags starting with RXf_PMf_ have exact equivalents
- * stored in op_pmflags and which are defined in op.h, they are defined
- * numerically here only for clarity.
+ * Note that the flags whose names start with RXf_PMf_ are defined in
+ * op_reg_common.h, being copied from the parallel flags of op_pmflags
*
- * NOTE: if you modify any RXf flags you should run regen.pl or regcomp.pl
- * so that regnodes.h is updated with the changes.
+ * NOTE: if you modify any RXf flags you should run regen.pl or
+ * regen/regcomp.pl so that regnodes.h is updated with the changes.
*
*/
-/* 0x3F of extflags is used by (RXf_)PMf_COMPILETIME
- * If you change these you need to change the equivalent flags in op.h, and
- * vice versa. */
-#define RXf_PMf_MULTILINE 0x00000001 /* /m */
-#define RXf_PMf_SINGLELINE 0x00000002 /* /s */
-#define RXf_PMf_FOLD 0x00000004 /* /i */
-#define RXf_PMf_EXTENDED 0x00000008 /* /x */
-#define RXf_PMf_KEEPCOPY 0x00000010 /* /p */
-#define RXf_PMf_LOCALE 0x00000020 /* use locale */
-/* these flags are transfered from the PMOP->op_pmflags member during compilation */
-#define RXf_PMf_STD_PMMOD_SHIFT 0
+#include "op_reg_common.h"
+
#define RXf_PMf_STD_PMMOD (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED)
-#define RXf_PMf_COMPILETIME (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_LOCALE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY)
#define CASE_STD_PMMOD_FLAGS_PARSE_SET(pmfl) \
case IGNORE_PAT_MOD: *(pmfl) |= RXf_PMf_FOLD; break; \
@@ -250,13 +233,18 @@ and check for NULL.
case SINGLE_PAT_MOD: *(pmfl) |= RXf_PMf_SINGLELINE; break; \
case XTENDED_PAT_MOD: *(pmfl) |= RXf_PMf_EXTENDED; break
+/* Note, includes charset ones, assumes 0 is the default for them */
+#define STD_PMMOD_FLAGS_CLEAR(pmfl) \
+ *(pmfl) &= ~(RXf_PMf_FOLD|RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_EXTENDED|RXf_PMf_CHARSET)
+
/* chars and strings used as regex pattern modifiers
- * Singlular is a 'c'har, plural is a "string"
+ * Singular is a 'c'har, plural is a "string"
*
* NOTE, KEEPCOPY was originally 'k', but was changed to 'p' for preserve
* for compatibility reasons with Regexp::Common which highjacked (?k:...)
* for its own uses. So 'k' is out as well.
*/
+#define DEFAULT_PAT_MOD '^' /* Short for all the default modifiers */
#define EXEC_PAT_MOD 'e'
#define KEEPCOPY_PAT_MOD 'p'
#define ONCE_PAT_MOD 'o'
@@ -266,79 +254,140 @@ and check for NULL.
#define SINGLE_PAT_MOD 's'
#define IGNORE_PAT_MOD 'i'
#define XTENDED_PAT_MOD 'x'
+#define NONDESTRUCT_PAT_MOD 'r'
+#define LOCALE_PAT_MOD 'l'
+#define UNICODE_PAT_MOD 'u'
+#define DEPENDS_PAT_MOD 'd'
+#define ASCII_RESTRICT_PAT_MOD 'a'
#define ONCE_PAT_MODS "o"
#define KEEPCOPY_PAT_MODS "p"
#define EXEC_PAT_MODS "e"
#define LOOP_PAT_MODS "gc"
-
+#define NONDESTRUCT_PAT_MODS "r"
+#define LOCALE_PAT_MODS "l"
+#define UNICODE_PAT_MODS "u"
+#define DEPENDS_PAT_MODS "d"
+#define ASCII_RESTRICT_PAT_MODS "a"
+#define ASCII_MORE_RESTRICT_PAT_MODS "aa"
+
+/* This string is expected by regcomp.c to be ordered so that the first
+ * character is the flag in bit RXf_PMf_STD_PMMOD_SHIFT of extflags; the next
+ * character is bit +1, etc. */
#define STD_PAT_MODS "msix"
+#define CHARSET_PAT_MODS ASCII_RESTRICT_PAT_MODS DEPENDS_PAT_MODS LOCALE_PAT_MODS UNICODE_PAT_MODS
+
+/* This string is expected by XS_re_regexp_pattern() in universal.c to be ordered
+ * so that the first character is the flag in bit RXf_PMf_STD_PMMOD_SHIFT of
+ * extflags; the next character is in bit +1, etc. */
#define INT_PAT_MODS STD_PAT_MODS KEEPCOPY_PAT_MODS
#define EXT_PAT_MODS ONCE_PAT_MODS KEEPCOPY_PAT_MODS
-#define QR_PAT_MODS STD_PAT_MODS EXT_PAT_MODS
+#define QR_PAT_MODS STD_PAT_MODS EXT_PAT_MODS CHARSET_PAT_MODS
#define M_PAT_MODS QR_PAT_MODS LOOP_PAT_MODS
-#define S_PAT_MODS M_PAT_MODS EXEC_PAT_MODS
+#define S_PAT_MODS M_PAT_MODS EXEC_PAT_MODS NONDESTRUCT_PAT_MODS
/*
- * NOTE: if you modify any RXf flags you should run regen.pl or regcomp.pl
- * so that regnodes.h is updated with the changes.
+ * NOTE: if you modify any RXf flags you should run regen.pl or
+ * regen/regcomp.pl so that regnodes.h is updated with the changes.
*
*/
+/* Leave some space, so future bit allocations can go either in the shared or
+ * unshared area without affecting binary compatibility */
+#define RXf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+1)
+
+/* embed.pl doesn't yet know how to handle static inline functions, so
+ manually decorate them here with gcc-style attributes.
+*/
+PERL_STATIC_INLINE const char *
+get_regex_charset_name(const U32 flags, STRLEN* const lenp)
+ __attribute__warn_unused_result__;
+
+#define MAX_CHARSET_NAME_LENGTH 2
+
+PERL_STATIC_INLINE const char *
+get_regex_charset_name(const U32 flags, STRLEN* const lenp)
+{
+ /* Returns a string that corresponds to the name of the regex character set
+ * given by 'flags', and *lenp is set the length of that string, which
+ * cannot exceed MAX_CHARSET_NAME_LENGTH characters */
+
+ *lenp = 1;
+ switch (get_regex_charset(flags)) {
+ case REGEX_DEPENDS_CHARSET: return DEPENDS_PAT_MODS;
+ case REGEX_LOCALE_CHARSET: return LOCALE_PAT_MODS;
+ case REGEX_UNICODE_CHARSET: return UNICODE_PAT_MODS;
+ case REGEX_ASCII_RESTRICTED_CHARSET: return ASCII_RESTRICT_PAT_MODS;
+ case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
+ *lenp = 2;
+ return ASCII_MORE_RESTRICT_PAT_MODS;
+ default:
+ return "?"; /* Unknown */
+ }
+ return "?"; /* Unknown */
+}
+
/* Anchor and GPOS related stuff */
-#define RXf_ANCH_BOL 0x00000100
-#define RXf_ANCH_MBOL 0x00000200
-#define RXf_ANCH_SBOL 0x00000400
-#define RXf_ANCH_GPOS 0x00000800
-#define RXf_GPOS_SEEN 0x00001000
-#define RXf_GPOS_FLOAT 0x00002000
+#define RXf_ANCH_BOL (1<<(RXf_BASE_SHIFT+0))
+#define RXf_ANCH_MBOL (1<<(RXf_BASE_SHIFT+1))
+#define RXf_ANCH_SBOL (1<<(RXf_BASE_SHIFT+2))
+#define RXf_ANCH_GPOS (1<<(RXf_BASE_SHIFT+3))
+#define RXf_GPOS_SEEN (1<<(RXf_BASE_SHIFT+4))
+#define RXf_GPOS_FLOAT (1<<(RXf_BASE_SHIFT+5))
/* two bits here */
#define RXf_ANCH (RXf_ANCH_BOL|RXf_ANCH_MBOL|RXf_ANCH_GPOS|RXf_ANCH_SBOL)
#define RXf_GPOS_CHECK (RXf_GPOS_SEEN|RXf_ANCH_GPOS)
#define RXf_ANCH_SINGLE (RXf_ANCH_SBOL|RXf_ANCH_GPOS)
/* What we have seen */
-#define RXf_LOOKBEHIND_SEEN 0x00004000
-#define RXf_EVAL_SEEN 0x00008000
-#define RXf_CANY_SEEN 0x00010000
+#define RXf_LOOKBEHIND_SEEN (1<<(RXf_BASE_SHIFT+6))
+#define RXf_EVAL_SEEN (1<<(RXf_BASE_SHIFT+7))
+#define RXf_CANY_SEEN (1<<(RXf_BASE_SHIFT+8))
/* Special */
-#define RXf_NOSCAN 0x00020000
-#define RXf_CHECK_ALL 0x00040000
+#define RXf_NOSCAN (1<<(RXf_BASE_SHIFT+9))
+#define RXf_CHECK_ALL (1<<(RXf_BASE_SHIFT+10))
/* UTF8 related */
-#define RXf_MATCH_UTF8 0x00100000
+#define RXf_MATCH_UTF8 (1<<(RXf_BASE_SHIFT+11))
/* Intuit related */
-#define RXf_USE_INTUIT_NOML 0x00200000
-#define RXf_USE_INTUIT_ML 0x00400000
-#define RXf_INTUIT_TAIL 0x00800000
+#define RXf_USE_INTUIT_NOML (1<<(RXf_BASE_SHIFT+12))
+#define RXf_USE_INTUIT_ML (1<<(RXf_BASE_SHIFT+13))
+#define RXf_INTUIT_TAIL (1<<(RXf_BASE_SHIFT+14))
/*
Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will
be used by regex engines to check whether they should set
RXf_SKIPWHITE
*/
-#define RXf_SPLIT 0x01000000
+#define RXf_SPLIT (1<<(RXf_BASE_SHIFT+15))
#define RXf_USE_INTUIT (RXf_USE_INTUIT_NOML|RXf_USE_INTUIT_ML)
/* Copy and tainted info */
-#define RXf_COPY_DONE 0x02000000
-#define RXf_TAINTED_SEEN 0x04000000
-#define RXf_TAINTED 0x08000000 /* this pattern is tainted */
+#define RXf_COPY_DONE (1<<(RXf_BASE_SHIFT+16))
+
+/* during execution: pattern temporarily tainted by executing locale ops;
+ * post-execution: $1 et al are tainted */
+#define RXf_TAINTED_SEEN (1<<(RXf_BASE_SHIFT+17))
+/* this pattern was tainted during compilation */
+#define RXf_TAINTED (1<<(RXf_BASE_SHIFT+18))
/* Flags indicating special patterns */
-#define RXf_START_ONLY 0x10000000 /* Pattern is /^/ */
-#define RXf_SKIPWHITE 0x20000000 /* Pattern is for a split / / */
-#define RXf_WHITE 0x40000000 /* Pattern is /\s+/ */
-#define RXf_NULL 0x80000000 /* Pattern is // */
+#define RXf_START_ONLY (1<<(RXf_BASE_SHIFT+19)) /* Pattern is /^/ */
+#define RXf_SKIPWHITE (1<<(RXf_BASE_SHIFT+20)) /* Pattern is for a split / / */
+#define RXf_WHITE (1<<(RXf_BASE_SHIFT+21)) /* Pattern is /\s+/ */
+#define RXf_NULL (1<<(RXf_BASE_SHIFT+22)) /* Pattern is // */
+#if RXf_BASE_SHIFT+22 > 31
+# error Too many RXf_PMf bits used. See regnodes.h for any spare in middle
+#endif
/*
- * NOTE: if you modify any RXf flags you should run regen.pl or regcomp.pl
- * so that regnodes.h is updated with the changes.
+ * NOTE: if you modify any RXf flags you should run regen.pl or
+ * regen/regcomp.pl so that regnodes.h is updated with the changes.
*
*/
@@ -424,7 +473,7 @@ and check for NULL.
#endif /* PLUGGABLE_RE_EXTENSION */
-/* Stuff that needs to be included in the plugable extension goes below here */
+/* Stuff that needs to be included in the pluggable extension goes below here */
#ifdef PERL_OLD_COPY_ON_WRITE
#define RX_MATCH_COPY_FREE(rx) \
@@ -490,13 +539,6 @@ and check for NULL.
#define FBMrf_MULTILINE 1
-/* an accepting state/position*/
-struct _reg_trie_accepted {
- U8 *endpos;
- U16 wordnum;
-};
-typedef struct _reg_trie_accepted reg_trie_accepted;
-
/* some basic information about the current match that is created by
* Perl_regexec_flags and then passed to regtry(), regmatch() etc */
@@ -557,11 +599,15 @@ typedef struct regmatch_state {
U32 lastparen;
CHECKPOINT cp;
- reg_trie_accepted *accept_buff; /* accepting states we have seen */
- U32 accepted; /* how many accepting states we have seen */
+ U32 accepted; /* how many accepting states left */
U16 *jump; /* positive offsets from me */
regnode *B; /* node following the trie */
regnode *me; /* Which node am I - needed for jump tries*/
+ U8 *firstpos;/* pos in string of first trie match */
+ U32 firstchars;/* len in chars of firstpos from start */
+ U16 nextword;/* next word to try */
+ U16 topword; /* longest accepted word */
+ bool longfold;/* saw a fold with a 1->n char mapping */
} trie;
/* special types - these members are used to store state for special
@@ -607,12 +653,11 @@ typedef struct regmatch_state {
/* this first element must match u.yes */
struct regmatch_state *prev_yes_state;
struct regmatch_state *prev_curlyx; /* previous cur_curlyx */
- regnode *A, *B; /* the nodes corresponding to /A*B/ */
+ regnode *me; /* the CURLYX node */
+ regnode *B; /* the B node in /A*B/ */
CHECKPOINT cp; /* remember current savestack index */
bool minmod;
int parenfloor;/* how far back to strip paren data */
- int min; /* the minimal number of A's to match */
- int max; /* the maximal number of A's to match */
/* these two are modified by WHILEM */
int count; /* how many instances of A we've matched */
diff --git a/Master/tlpkg/tlperl/lib/CORE/regnodes.h b/Master/tlpkg/tlperl/lib/CORE/regnodes.h
index 79de061fb6a..931761beb8c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regnodes.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regnodes.h
@@ -1,13 +1,13 @@
/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by regcomp.pl from regcomp.sym.
+ This file is built by regen/regcomp.pl from regcomp.sym.
Any changes made here will be lost!
-*/
+ */
/* Regops and State definitions */
-#define REGNODE_MAX 90
-#define REGMATCH_STATE_MAX 130
+#define REGNODE_MAX 111
+#define REGMATCH_STATE_MAX 151
#define END 0 /* 0000 End of program. */
#define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */
@@ -18,88 +18,109 @@
#define EOL 6 /* 0x06 Match "" at end of line. */
#define MEOL 7 /* 0x07 Same, assuming multiline. */
#define SEOL 8 /* 0x08 Same, assuming singleline. */
-#define BOUND 9 /* 0x09 Match "" at any word boundary */
-#define BOUNDL 10 /* 0x0a Match "" at any word boundary */
-#define NBOUND 11 /* 0x0b Match "" at any word non-boundary */
-#define NBOUNDL 12 /* 0x0c Match "" at any word non-boundary */
-#define GPOS 13 /* 0x0d Matches where last m//g left off. */
-#define REG_ANY 14 /* 0x0e Match any one character (except newline). */
-#define SANY 15 /* 0x0f Match any one character. */
-#define CANY 16 /* 0x10 Match any one byte. */
-#define ANYOF 17 /* 0x11 Match character in (or not in) this class. */
-#define ALNUM 18 /* 0x12 Match any alphanumeric character */
-#define ALNUML 19 /* 0x13 Match any alphanumeric char in locale */
-#define NALNUM 20 /* 0x14 Match any non-alphanumeric character */
-#define NALNUML 21 /* 0x15 Match any non-alphanumeric char in locale */
-#define SPACE 22 /* 0x16 Match any whitespace character */
-#define SPACEL 23 /* 0x17 Match any whitespace char in locale */
-#define NSPACE 24 /* 0x18 Match any non-whitespace character */
-#define NSPACEL 25 /* 0x19 Match any non-whitespace char in locale */
-#define DIGIT 26 /* 0x1a Match any numeric character */
-#define DIGITL 27 /* 0x1b Match any numeric character in locale */
-#define NDIGIT 28 /* 0x1c Match any non-numeric character */
-#define NDIGITL 29 /* 0x1d Match any non-numeric character in locale */
-#define CLUMP 30 /* 0x1e Match any combining character sequence */
-#define BRANCH 31 /* 0x1f Match this alternative, or the next... */
-#define BACK 32 /* 0x20 Match "", "next" ptr points backward. */
-#define EXACT 33 /* 0x21 Match this string (preceded by length). */
-#define EXACTF 34 /* 0x22 Match this string, folded (prec. by length). */
-#define EXACTFL 35 /* 0x23 Match this string, folded in locale (w/len). */
-#define NOTHING 36 /* 0x24 Match empty string. */
-#define TAIL 37 /* 0x25 Match empty string. Can jump here from outside. */
-#define STAR 38 /* 0x26 Match this (simple) thing 0 or more times. */
-#define PLUS 39 /* 0x27 Match this (simple) thing 1 or more times. */
-#define CURLY 40 /* 0x28 Match this simple thing {n,m} times. */
-#define CURLYN 41 /* 0x29 Capture next-after-this simple thing */
-#define CURLYM 42 /* 0x2a Capture this medium-complex thing {n,m} times. */
-#define CURLYX 43 /* 0x2b Match this complex thing {n,m} times. */
-#define WHILEM 44 /* 0x2c Do curly processing and see if rest matches. */
-#define OPEN 45 /* 0x2d Mark this point in input as start of */
-#define CLOSE 46 /* 0x2e Analogous to OPEN. */
-#define REF 47 /* 0x2f Match some already matched string */
-#define REFF 48 /* 0x30 Match already matched string, folded */
-#define REFFL 49 /* 0x31 Match already matched string, folded in loc. */
-#define IFMATCH 50 /* 0x32 Succeeds if the following matches. */
-#define UNLESSM 51 /* 0x33 Fails if the following matches. */
-#define SUSPEND 52 /* 0x34 "Independent" sub-RE. */
-#define IFTHEN 53 /* 0x35 Switch, should be preceeded by switcher . */
-#define GROUPP 54 /* 0x36 Whether the group matched. */
-#define LONGJMP 55 /* 0x37 Jump far away. */
-#define BRANCHJ 56 /* 0x38 BRANCH with long offset. */
-#define EVAL 57 /* 0x39 Execute some Perl code. */
-#define MINMOD 58 /* 0x3a Next operator is not greedy. */
-#define LOGICAL 59 /* 0x3b Next opcode should set the flag only. */
-#define RENUM 60 /* 0x3c Group with independently numbered parens. */
-#define TRIE 61 /* 0x3d Match many EXACT(FL?)? at once. flags==type */
-#define TRIEC 62 /* 0x3e Same as TRIE, but with embedded charclass data */
-#define AHOCORASICK 63 /* 0x3f Aho Corasick stclass. flags==type */
-#define AHOCORASICKC 64 /* 0x40 Same as AHOCORASICK, but with embedded charclass data */
-#define GOSUB 65 /* 0x41 recurse to paren arg1 at (signed) ofs arg2 */
-#define GOSTART 66 /* 0x42 recurse to start of pattern */
-#define NREF 67 /* 0x43 Match some already matched string */
-#define NREFF 68 /* 0x44 Match already matched string, folded */
-#define NREFFL 69 /* 0x45 Match already matched string, folded in loc. */
-#define NGROUPP 70 /* 0x46 Whether the group matched. */
-#define INSUBP 71 /* 0x47 Whether we are in a specific recurse. */
-#define DEFINEP 72 /* 0x48 Never execute directly. */
-#define ENDLIKE 73 /* 0x49 Used only for the type field of verbs */
-#define OPFAIL 74 /* 0x4a Same as (?!) */
-#define ACCEPT 75 /* 0x4b Accepts the current matched string. */
-#define VERB 76 /* 0x4c no-sv 1 Used only for the type field of verbs */
-#define PRUNE 77 /* 0x4d Pattern fails at this startpoint if no-backtracking through this */
-#define MARKPOINT 78 /* 0x4e Push the current location for rollback by cut. */
-#define SKIP 79 /* 0x4f On failure skip forward (to the mark) before retrying */
-#define COMMIT 80 /* 0x50 Pattern fails outright if backtracking through this */
-#define CUTGROUP 81 /* 0x51 On failure go to the next alternation in the group */
-#define KEEPS 82 /* 0x52 $& begins here. */
-#define LNBREAK 83 /* 0x53 generic newline pattern */
-#define VERTWS 84 /* 0x54 vertical whitespace (Perl 6) */
-#define NVERTWS 85 /* 0x55 not vertical whitespace (Perl 6) */
-#define HORIZWS 86 /* 0x56 horizontal whitespace (Perl 6) */
-#define NHORIZWS 87 /* 0x57 not horizontal whitespace (Perl 6) */
-#define FOLDCHAR 88 /* 0x58 codepoint with tricky case folding properties. */
-#define OPTIMIZED 89 /* 0x59 Placeholder for dump. */
-#define PSEUDO 90 /* 0x5a Pseudo opcode for internal use. */
+#define BOUND 9 /* 0x09 Match "" at any word boundary using native charset semantics for non-utf8 */
+#define BOUNDL 10 /* 0x0a Match "" at any locale word boundary */
+#define BOUNDU 11 /* 0x0b Match "" at any word boundary using Unicode semantics */
+#define BOUNDA 12 /* 0x0c Match "" at any word boundary using ASCII semantics */
+#define NBOUND 13 /* 0x0d Match "" at any word non-boundary using native charset semantics for non-utf8 */
+#define NBOUNDL 14 /* 0x0e Match "" at any locale word non-boundary */
+#define NBOUNDU 15 /* 0x0f Match "" at any word non-boundary using Unicode semantics */
+#define NBOUNDA 16 /* 0x10 Match "" at any word non-boundary using ASCII semantics */
+#define GPOS 17 /* 0x11 Matches where last m//g left off. */
+#define REG_ANY 18 /* 0x12 Match any one character (except newline). */
+#define SANY 19 /* 0x13 Match any one character. */
+#define CANY 20 /* 0x14 Match any one byte. */
+#define ANYOF 21 /* 0x15 Match character in (or not in) this class, single char match only */
+#define ANYOFV 22 /* 0x16 Match character in (or not in) this class, can match-multiple chars */
+#define ALNUM 23 /* 0x17 Match any alphanumeric character using native charset semantics for non-utf8 */
+#define ALNUML 24 /* 0x18 Match any alphanumeric char in locale */
+#define ALNUMU 25 /* 0x19 Match any alphanumeric char using Unicode semantics */
+#define ALNUMA 26 /* 0x1a Match [A-Za-z_0-9] */
+#define NALNUM 27 /* 0x1b Match any non-alphanumeric character using native charset semantics for non-utf8 */
+#define NALNUML 28 /* 0x1c Match any non-alphanumeric char in locale */
+#define NALNUMU 29 /* 0x1d Match any non-alphanumeric char using Unicode semantics */
+#define NALNUMA 30 /* 0x1e Match [^A-Za-z_0-9] */
+#define SPACE 31 /* 0x1f Match any whitespace character using native charset semantics for non-utf8 */
+#define SPACEL 32 /* 0x20 Match any whitespace char in locale */
+#define SPACEU 33 /* 0x21 Match any whitespace char using Unicode semantics */
+#define SPACEA 34 /* 0x22 Match [ \t\n\f\r] */
+#define NSPACE 35 /* 0x23 Match any non-whitespace character using native charset semantics for non-utf8 */
+#define NSPACEL 36 /* 0x24 Match any non-whitespace char in locale */
+#define NSPACEU 37 /* 0x25 Match any non-whitespace char using Unicode semantics */
+#define NSPACEA 38 /* 0x26 Match [^ \t\n\f\r] */
+#define DIGIT 39 /* 0x27 Match any numeric character using native charset semantics for non-utf8 */
+#define DIGITL 40 /* 0x28 Match any numeric character in locale */
+#define DIGITA 41 /* 0x29 Match [0-9] */
+#define NDIGIT 42 /* 0x2a Match any non-numeric character using native charset semantics for non-utf8 */
+#define NDIGITL 43 /* 0x2b Match any non-numeric character in locale */
+#define NDIGITA 44 /* 0x2c Match [^0-9] */
+#define CLUMP 45 /* 0x2d Match any extended grapheme cluster sequence */
+#define BRANCH 46 /* 0x2e Match this alternative, or the next... */
+#define BACK 47 /* 0x2f Match "", "next" ptr points backward. */
+#define EXACT 48 /* 0x30 Match this string (preceded by length). */
+#define EXACTF 49 /* 0x31 Match this string, folded, native charset semantics for non-utf8 (prec. by length). */
+#define EXACTFL 50 /* 0x32 Match this string, folded in locale (w/len). */
+#define EXACTFU 51 /* 0x33 Match this string, folded, Unicode semantics for non-utf8 (prec. by length). */
+#define EXACTFA 52 /* 0x34 Match this string, folded, Unicode semantics for non-utf8, but no ASCII-range character matches outside ASCII (prec. by length),. */
+#define NOTHING 53 /* 0x35 Match empty string. */
+#define TAIL 54 /* 0x36 Match empty string. Can jump here from outside. */
+#define STAR 55 /* 0x37 Match this (simple) thing 0 or more times. */
+#define PLUS 56 /* 0x38 Match this (simple) thing 1 or more times. */
+#define CURLY 57 /* 0x39 Match this simple thing {n,m} times. */
+#define CURLYN 58 /* 0x3a Capture next-after-this simple thing */
+#define CURLYM 59 /* 0x3b Capture this medium-complex thing {n,m} times. */
+#define CURLYX 60 /* 0x3c Match this complex thing {n,m} times. */
+#define WHILEM 61 /* 0x3d Do curly processing and see if rest matches. */
+#define OPEN 62 /* 0x3e Mark this point in input as start of */
+#define CLOSE 63 /* 0x3f Analogous to OPEN. */
+#define REF 64 /* 0x40 Match some already matched string */
+#define REFF 65 /* 0x41 Match already matched string, folded using native charset semantics for non-utf8 */
+#define REFFL 66 /* 0x42 Match already matched string, folded in loc. */
+#define REFFU 67 /* 0x43 Match already matched string, folded using unicode semantics for non-utf8 */
+#define REFFA 68 /* 0x44 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define NREF 69 /* 0x45 Match some already matched string */
+#define NREFF 70 /* 0x46 Match already matched string, folded using native charset semantics for non-utf8 */
+#define NREFFL 71 /* 0x47 Match already matched string, folded in loc. */
+#define NREFFU 72 /* 0x48 Match already matched string, folded using unicode semantics for non-utf8 */
+#define NREFFA 73 /* 0x49 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define IFMATCH 74 /* 0x4a Succeeds if the following matches. */
+#define UNLESSM 75 /* 0x4b Fails if the following matches. */
+#define SUSPEND 76 /* 0x4c "Independent" sub-RE. */
+#define IFTHEN 77 /* 0x4d Switch, should be preceded by switcher . */
+#define GROUPP 78 /* 0x4e Whether the group matched. */
+#define LONGJMP 79 /* 0x4f Jump far away. */
+#define BRANCHJ 80 /* 0x50 BRANCH with long offset. */
+#define EVAL 81 /* 0x51 Execute some Perl code. */
+#define MINMOD 82 /* 0x52 Next operator is not greedy. */
+#define LOGICAL 83 /* 0x53 Next opcode should set the flag only. */
+#define RENUM 84 /* 0x54 Group with independently numbered parens. */
+#define TRIE 85 /* 0x55 Match many EXACT(F[ALU]?)? at once. flags==type */
+#define TRIEC 86 /* 0x56 Same as TRIE, but with embedded charclass data */
+#define AHOCORASICK 87 /* 0x57 Aho Corasick stclass. flags==type */
+#define AHOCORASICKC 88 /* 0x58 Same as AHOCORASICK, but with embedded charclass data */
+#define GOSUB 89 /* 0x59 recurse to paren arg1 at (signed) ofs arg2 */
+#define GOSTART 90 /* 0x5a recurse to start of pattern */
+#define NGROUPP 91 /* 0x5b Whether the group matched. */
+#define INSUBP 92 /* 0x5c Whether we are in a specific recurse. */
+#define DEFINEP 93 /* 0x5d Never execute directly. */
+#define ENDLIKE 94 /* 0x5e Used only for the type field of verbs */
+#define OPFAIL 95 /* 0x5f Same as (?!) */
+#define ACCEPT 96 /* 0x60 Accepts the current matched string. */
+#define VERB 97 /* 0x61 Used only for the type field of verbs */
+#define PRUNE 98 /* 0x62 Pattern fails at this startpoint if no-backtracking through this */
+#define MARKPOINT 99 /* 0x63 Push the current location for rollback by cut. */
+#define SKIP 100 /* 0x64 On failure skip forward (to the mark) before retrying */
+#define COMMIT 101 /* 0x65 Pattern fails outright if backtracking through this */
+#define CUTGROUP 102 /* 0x66 On failure go to the next alternation in the group */
+#define KEEPS 103 /* 0x67 $& begins here. */
+#define LNBREAK 104 /* 0x68 generic newline pattern */
+#define VERTWS 105 /* 0x69 vertical whitespace (Perl 6) */
+#define NVERTWS 106 /* 0x6a not vertical whitespace (Perl 6) */
+#define HORIZWS 107 /* 0x6b horizontal whitespace (Perl 6) */
+#define NHORIZWS 108 /* 0x6c not horizontal whitespace (Perl 6) */
+#define FOLDCHAR 109 /* 0x6d codepoint with tricky case folding properties. */
+#define OPTIMIZED 110 /* 0x6e Placeholder for dump. */
+#define PSEUDO 111 /* 0x6f Pseudo opcode for internal use. */
/* ------------ States ------------- */
#define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */
#define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */
@@ -159,31 +180,48 @@ EXTCONST U8 PL_regkind[] = {
EOL, /* SEOL */
BOUND, /* BOUND */
BOUND, /* BOUNDL */
+ BOUND, /* BOUNDU */
+ BOUND, /* BOUNDA */
NBOUND, /* NBOUND */
NBOUND, /* NBOUNDL */
+ NBOUND, /* NBOUNDU */
+ NBOUND, /* NBOUNDA */
GPOS, /* GPOS */
REG_ANY, /* REG_ANY */
REG_ANY, /* SANY */
REG_ANY, /* CANY */
ANYOF, /* ANYOF */
+ ANYOF, /* ANYOFV */
ALNUM, /* ALNUM */
ALNUM, /* ALNUML */
+ ALNUM, /* ALNUMU */
+ ALNUM, /* ALNUMA */
NALNUM, /* NALNUM */
NALNUM, /* NALNUML */
+ NALNUM, /* NALNUMU */
+ NALNUM, /* NALNUMA */
SPACE, /* SPACE */
SPACE, /* SPACEL */
+ SPACE, /* SPACEU */
+ SPACE, /* SPACEA */
NSPACE, /* NSPACE */
NSPACE, /* NSPACEL */
+ NSPACE, /* NSPACEU */
+ NSPACE, /* NSPACEA */
DIGIT, /* DIGIT */
DIGIT, /* DIGITL */
+ DIGIT, /* DIGITA */
NDIGIT, /* NDIGIT */
NDIGIT, /* NDIGITL */
+ NDIGIT, /* NDIGITA */
CLUMP, /* CLUMP */
BRANCH, /* BRANCH */
BACK, /* BACK */
EXACT, /* EXACT */
EXACT, /* EXACTF */
EXACT, /* EXACTFL */
+ EXACT, /* EXACTFU */
+ EXACT, /* EXACTFA */
NOTHING, /* NOTHING */
NOTHING, /* TAIL */
STAR, /* STAR */
@@ -198,6 +236,13 @@ EXTCONST U8 PL_regkind[] = {
REF, /* REF */
REF, /* REFF */
REF, /* REFFL */
+ REF, /* REFFU */
+ REF, /* REFFA */
+ REF, /* NREF */
+ REF, /* NREFF */
+ REF, /* NREFFL */
+ REF, /* NREFFU */
+ REF, /* NREFFA */
BRANCHJ, /* IFMATCH */
BRANCHJ, /* UNLESSM */
BRANCHJ, /* SUSPEND */
@@ -215,9 +260,6 @@ EXTCONST U8 PL_regkind[] = {
TRIE, /* AHOCORASICKC */
GOSUB, /* GOSUB */
GOSTART, /* GOSTART */
- REF, /* NREF */
- REF, /* NREFF */
- REF, /* NREFFL */
NGROUPP, /* NGROUPP */
INSUBP, /* INSUBP */
DEFINEP, /* DEFINEP */
@@ -298,31 +340,48 @@ static const U8 regarglen[] = {
0, /* SEOL */
0, /* BOUND */
0, /* BOUNDL */
+ 0, /* BOUNDU */
+ 0, /* BOUNDA */
0, /* NBOUND */
0, /* NBOUNDL */
+ 0, /* NBOUNDU */
+ 0, /* NBOUNDA */
0, /* GPOS */
0, /* REG_ANY */
0, /* SANY */
0, /* CANY */
0, /* ANYOF */
+ 0, /* ANYOFV */
0, /* ALNUM */
0, /* ALNUML */
+ 0, /* ALNUMU */
+ 0, /* ALNUMA */
0, /* NALNUM */
0, /* NALNUML */
+ 0, /* NALNUMU */
+ 0, /* NALNUMA */
0, /* SPACE */
0, /* SPACEL */
+ 0, /* SPACEU */
+ 0, /* SPACEA */
0, /* NSPACE */
0, /* NSPACEL */
+ 0, /* NSPACEU */
+ 0, /* NSPACEA */
0, /* DIGIT */
0, /* DIGITL */
+ 0, /* DIGITA */
0, /* NDIGIT */
0, /* NDIGITL */
+ 0, /* NDIGITA */
0, /* CLUMP */
0, /* BRANCH */
0, /* BACK */
0, /* EXACT */
0, /* EXACTF */
0, /* EXACTFL */
+ 0, /* EXACTFU */
+ 0, /* EXACTFA */
0, /* NOTHING */
0, /* TAIL */
0, /* STAR */
@@ -337,6 +396,13 @@ static const U8 regarglen[] = {
EXTRA_SIZE(struct regnode_1), /* REF */
EXTRA_SIZE(struct regnode_1), /* REFF */
EXTRA_SIZE(struct regnode_1), /* REFFL */
+ EXTRA_SIZE(struct regnode_1), /* REFFU */
+ EXTRA_SIZE(struct regnode_1), /* REFFA */
+ EXTRA_SIZE(struct regnode_1), /* NREF */
+ EXTRA_SIZE(struct regnode_1), /* NREFF */
+ EXTRA_SIZE(struct regnode_1), /* NREFFL */
+ EXTRA_SIZE(struct regnode_1), /* NREFFU */
+ EXTRA_SIZE(struct regnode_1), /* NREFFA */
EXTRA_SIZE(struct regnode_1), /* IFMATCH */
EXTRA_SIZE(struct regnode_1), /* UNLESSM */
EXTRA_SIZE(struct regnode_1), /* SUSPEND */
@@ -354,16 +420,13 @@ static const U8 regarglen[] = {
EXTRA_SIZE(struct regnode_charclass), /* AHOCORASICKC */
EXTRA_SIZE(struct regnode_2L), /* GOSUB */
0, /* GOSTART */
- EXTRA_SIZE(struct regnode_1), /* NREF */
- EXTRA_SIZE(struct regnode_1), /* NREFF */
- EXTRA_SIZE(struct regnode_1), /* NREFFL */
EXTRA_SIZE(struct regnode_1), /* NGROUPP */
EXTRA_SIZE(struct regnode_1), /* INSUBP */
EXTRA_SIZE(struct regnode_1), /* DEFINEP */
0, /* ENDLIKE */
0, /* OPFAIL */
EXTRA_SIZE(struct regnode_1), /* ACCEPT */
- 0, /* VERB */
+ EXTRA_SIZE(struct regnode_1), /* VERB */
EXTRA_SIZE(struct regnode_1), /* PRUNE */
EXTRA_SIZE(struct regnode_1), /* MARKPOINT */
EXTRA_SIZE(struct regnode_1), /* SKIP */
@@ -394,31 +457,48 @@ static const char reg_off_by_arg[] = {
0, /* SEOL */
0, /* BOUND */
0, /* BOUNDL */
+ 0, /* BOUNDU */
+ 0, /* BOUNDA */
0, /* NBOUND */
0, /* NBOUNDL */
+ 0, /* NBOUNDU */
+ 0, /* NBOUNDA */
0, /* GPOS */
0, /* REG_ANY */
0, /* SANY */
0, /* CANY */
0, /* ANYOF */
+ 0, /* ANYOFV */
0, /* ALNUM */
0, /* ALNUML */
+ 0, /* ALNUMU */
+ 0, /* ALNUMA */
0, /* NALNUM */
0, /* NALNUML */
+ 0, /* NALNUMU */
+ 0, /* NALNUMA */
0, /* SPACE */
0, /* SPACEL */
+ 0, /* SPACEU */
+ 0, /* SPACEA */
0, /* NSPACE */
0, /* NSPACEL */
+ 0, /* NSPACEU */
+ 0, /* NSPACEA */
0, /* DIGIT */
0, /* DIGITL */
+ 0, /* DIGITA */
0, /* NDIGIT */
0, /* NDIGITL */
+ 0, /* NDIGITA */
0, /* CLUMP */
0, /* BRANCH */
0, /* BACK */
0, /* EXACT */
0, /* EXACTF */
0, /* EXACTFL */
+ 0, /* EXACTFU */
+ 0, /* EXACTFA */
0, /* NOTHING */
0, /* TAIL */
0, /* STAR */
@@ -433,6 +513,13 @@ static const char reg_off_by_arg[] = {
0, /* REF */
0, /* REFF */
0, /* REFFL */
+ 0, /* REFFU */
+ 0, /* REFFA */
+ 0, /* NREF */
+ 0, /* NREFF */
+ 0, /* NREFFL */
+ 0, /* NREFFU */
+ 0, /* NREFFA */
2, /* IFMATCH */
2, /* UNLESSM */
1, /* SUSPEND */
@@ -450,9 +537,6 @@ static const char reg_off_by_arg[] = {
0, /* AHOCORASICKC */
0, /* GOSUB */
0, /* GOSTART */
- 0, /* NREF */
- 0, /* NREFF */
- 0, /* NREFFL */
0, /* NGROUPP */
0, /* INSUBP */
0, /* DEFINEP */
@@ -495,86 +579,107 @@ EXTCONST char * const PL_reg_name[] = {
"SEOL", /* 0x08 */
"BOUND", /* 0x09 */
"BOUNDL", /* 0x0a */
- "NBOUND", /* 0x0b */
- "NBOUNDL", /* 0x0c */
- "GPOS", /* 0x0d */
- "REG_ANY", /* 0x0e */
- "SANY", /* 0x0f */
- "CANY", /* 0x10 */
- "ANYOF", /* 0x11 */
- "ALNUM", /* 0x12 */
- "ALNUML", /* 0x13 */
- "NALNUM", /* 0x14 */
- "NALNUML", /* 0x15 */
- "SPACE", /* 0x16 */
- "SPACEL", /* 0x17 */
- "NSPACE", /* 0x18 */
- "NSPACEL", /* 0x19 */
- "DIGIT", /* 0x1a */
- "DIGITL", /* 0x1b */
- "NDIGIT", /* 0x1c */
- "NDIGITL", /* 0x1d */
- "CLUMP", /* 0x1e */
- "BRANCH", /* 0x1f */
- "BACK", /* 0x20 */
- "EXACT", /* 0x21 */
- "EXACTF", /* 0x22 */
- "EXACTFL", /* 0x23 */
- "NOTHING", /* 0x24 */
- "TAIL", /* 0x25 */
- "STAR", /* 0x26 */
- "PLUS", /* 0x27 */
- "CURLY", /* 0x28 */
- "CURLYN", /* 0x29 */
- "CURLYM", /* 0x2a */
- "CURLYX", /* 0x2b */
- "WHILEM", /* 0x2c */
- "OPEN", /* 0x2d */
- "CLOSE", /* 0x2e */
- "REF", /* 0x2f */
- "REFF", /* 0x30 */
- "REFFL", /* 0x31 */
- "IFMATCH", /* 0x32 */
- "UNLESSM", /* 0x33 */
- "SUSPEND", /* 0x34 */
- "IFTHEN", /* 0x35 */
- "GROUPP", /* 0x36 */
- "LONGJMP", /* 0x37 */
- "BRANCHJ", /* 0x38 */
- "EVAL", /* 0x39 */
- "MINMOD", /* 0x3a */
- "LOGICAL", /* 0x3b */
- "RENUM", /* 0x3c */
- "TRIE", /* 0x3d */
- "TRIEC", /* 0x3e */
- "AHOCORASICK", /* 0x3f */
- "AHOCORASICKC", /* 0x40 */
- "GOSUB", /* 0x41 */
- "GOSTART", /* 0x42 */
- "NREF", /* 0x43 */
- "NREFF", /* 0x44 */
- "NREFFL", /* 0x45 */
- "NGROUPP", /* 0x46 */
- "INSUBP", /* 0x47 */
- "DEFINEP", /* 0x48 */
- "ENDLIKE", /* 0x49 */
- "OPFAIL", /* 0x4a */
- "ACCEPT", /* 0x4b */
- "VERB", /* 0x4c */
- "PRUNE", /* 0x4d */
- "MARKPOINT", /* 0x4e */
- "SKIP", /* 0x4f */
- "COMMIT", /* 0x50 */
- "CUTGROUP", /* 0x51 */
- "KEEPS", /* 0x52 */
- "LNBREAK", /* 0x53 */
- "VERTWS", /* 0x54 */
- "NVERTWS", /* 0x55 */
- "HORIZWS", /* 0x56 */
- "NHORIZWS", /* 0x57 */
- "FOLDCHAR", /* 0x58 */
- "OPTIMIZED", /* 0x59 */
- "PSEUDO", /* 0x5a */
+ "BOUNDU", /* 0x0b */
+ "BOUNDA", /* 0x0c */
+ "NBOUND", /* 0x0d */
+ "NBOUNDL", /* 0x0e */
+ "NBOUNDU", /* 0x0f */
+ "NBOUNDA", /* 0x10 */
+ "GPOS", /* 0x11 */
+ "REG_ANY", /* 0x12 */
+ "SANY", /* 0x13 */
+ "CANY", /* 0x14 */
+ "ANYOF", /* 0x15 */
+ "ANYOFV", /* 0x16 */
+ "ALNUM", /* 0x17 */
+ "ALNUML", /* 0x18 */
+ "ALNUMU", /* 0x19 */
+ "ALNUMA", /* 0x1a */
+ "NALNUM", /* 0x1b */
+ "NALNUML", /* 0x1c */
+ "NALNUMU", /* 0x1d */
+ "NALNUMA", /* 0x1e */
+ "SPACE", /* 0x1f */
+ "SPACEL", /* 0x20 */
+ "SPACEU", /* 0x21 */
+ "SPACEA", /* 0x22 */
+ "NSPACE", /* 0x23 */
+ "NSPACEL", /* 0x24 */
+ "NSPACEU", /* 0x25 */
+ "NSPACEA", /* 0x26 */
+ "DIGIT", /* 0x27 */
+ "DIGITL", /* 0x28 */
+ "DIGITA", /* 0x29 */
+ "NDIGIT", /* 0x2a */
+ "NDIGITL", /* 0x2b */
+ "NDIGITA", /* 0x2c */
+ "CLUMP", /* 0x2d */
+ "BRANCH", /* 0x2e */
+ "BACK", /* 0x2f */
+ "EXACT", /* 0x30 */
+ "EXACTF", /* 0x31 */
+ "EXACTFL", /* 0x32 */
+ "EXACTFU", /* 0x33 */
+ "EXACTFA", /* 0x34 */
+ "NOTHING", /* 0x35 */
+ "TAIL", /* 0x36 */
+ "STAR", /* 0x37 */
+ "PLUS", /* 0x38 */
+ "CURLY", /* 0x39 */
+ "CURLYN", /* 0x3a */
+ "CURLYM", /* 0x3b */
+ "CURLYX", /* 0x3c */
+ "WHILEM", /* 0x3d */
+ "OPEN", /* 0x3e */
+ "CLOSE", /* 0x3f */
+ "REF", /* 0x40 */
+ "REFF", /* 0x41 */
+ "REFFL", /* 0x42 */
+ "REFFU", /* 0x43 */
+ "REFFA", /* 0x44 */
+ "NREF", /* 0x45 */
+ "NREFF", /* 0x46 */
+ "NREFFL", /* 0x47 */
+ "NREFFU", /* 0x48 */
+ "NREFFA", /* 0x49 */
+ "IFMATCH", /* 0x4a */
+ "UNLESSM", /* 0x4b */
+ "SUSPEND", /* 0x4c */
+ "IFTHEN", /* 0x4d */
+ "GROUPP", /* 0x4e */
+ "LONGJMP", /* 0x4f */
+ "BRANCHJ", /* 0x50 */
+ "EVAL", /* 0x51 */
+ "MINMOD", /* 0x52 */
+ "LOGICAL", /* 0x53 */
+ "RENUM", /* 0x54 */
+ "TRIE", /* 0x55 */
+ "TRIEC", /* 0x56 */
+ "AHOCORASICK", /* 0x57 */
+ "AHOCORASICKC", /* 0x58 */
+ "GOSUB", /* 0x59 */
+ "GOSTART", /* 0x5a */
+ "NGROUPP", /* 0x5b */
+ "INSUBP", /* 0x5c */
+ "DEFINEP", /* 0x5d */
+ "ENDLIKE", /* 0x5e */
+ "OPFAIL", /* 0x5f */
+ "ACCEPT", /* 0x60 */
+ "VERB", /* 0x61 */
+ "PRUNE", /* 0x62 */
+ "MARKPOINT", /* 0x63 */
+ "SKIP", /* 0x64 */
+ "COMMIT", /* 0x65 */
+ "CUTGROUP", /* 0x66 */
+ "KEEPS", /* 0x67 */
+ "LNBREAK", /* 0x68 */
+ "VERTWS", /* 0x69 */
+ "NVERTWS", /* 0x6a */
+ "HORIZWS", /* 0x6b */
+ "NHORIZWS", /* 0x6c */
+ "FOLDCHAR", /* 0x6d */
+ "OPTIMIZED", /* 0x6e */
+ "PSEUDO", /* 0x6f */
/* ------------ States ------------- */
"TRIE_next", /* REGNODE_MAX +0x01 */
"TRIE_next_fail", /* REGNODE_MAX +0x02 */
@@ -625,27 +730,27 @@ EXTCONST char * const PL_reg_name[] = {
EXTCONST char * PL_reg_extflags_name[];
#else
EXTCONST char * const PL_reg_extflags_name[] = {
- /* Bits in extflags defined: 11111111111101111111111100111111 */
+ /* Bits in extflags defined: 11111111111111111111111011111111 */
"MULTILINE", /* 0x00000001 */
"SINGLELINE", /* 0x00000002 */
"FOLD", /* 0x00000004 */
"EXTENDED", /* 0x00000008 */
"KEEPCOPY", /* 0x00000010 */
- "LOCALE", /* 0x00000020 */
- "UNUSED_BIT_6", /* 0x00000040 */
- "UNUSED_BIT_7", /* 0x00000080 */
- "ANCH_BOL", /* 0x00000100 */
- "ANCH_MBOL", /* 0x00000200 */
- "ANCH_SBOL", /* 0x00000400 */
- "ANCH_GPOS", /* 0x00000800 */
- "GPOS_SEEN", /* 0x00001000 */
- "GPOS_FLOAT", /* 0x00002000 */
- "LOOKBEHIND_SEEN", /* 0x00004000 */
- "EVAL_SEEN", /* 0x00008000 */
- "CANY_SEEN", /* 0x00010000 */
- "NOSCAN", /* 0x00020000 */
- "CHECK_ALL", /* 0x00040000 */
- "UNUSED_BIT_19", /* 0x00080000 */
+ "CHARSET", /* 0x000000e0 */
+ "CHARSET", /* 0x000000e0 */
+ "CHARSET", /* 0x000000e0 */
+ "UNUSED_BIT_8", /* 0x00000100 */
+ "ANCH_BOL", /* 0x00000200 */
+ "ANCH_MBOL", /* 0x00000400 */
+ "ANCH_SBOL", /* 0x00000800 */
+ "ANCH_GPOS", /* 0x00001000 */
+ "GPOS_SEEN", /* 0x00002000 */
+ "GPOS_FLOAT", /* 0x00004000 */
+ "LOOKBEHIND_SEEN", /* 0x00008000 */
+ "EVAL_SEEN", /* 0x00010000 */
+ "CANY_SEEN", /* 0x00020000 */
+ "NOSCAN", /* 0x00040000 */
+ "CHECK_ALL", /* 0x00080000 */
"MATCH_UTF8", /* 0x00100000 */
"USE_INTUIT_NOML", /* 0x00200000 */
"USE_INTUIT_ML", /* 0x00400000 */
@@ -661,4 +766,50 @@ EXTCONST char * const PL_reg_extflags_name[] = {
};
#endif /* DOINIT */
+/* The following have no fixed length. U8 so we can do strchr() on it. */
+#define REGNODE_VARIES(node) (PL_varies_bitmask[(node) >> 3] & (1 << ((node) & 7)))
+
+#ifndef DOINIT
+EXTCONST U8 PL_varies[] __attribute__deprecated__;
+#else
+EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
+ ANYOFV, CLUMP, BRANCH, BACK, STAR, PLUS, CURLY, CURLYN, CURLYM, CURLYX,
+ WHILEM, REF, REFF, REFFL, REFFU, REFFA, NREF, NREFF, NREFFL, NREFFU,
+ NREFFA, SUSPEND, IFTHEN, BRANCHJ,
+ 0
+};
+#endif /* DOINIT */
+
+#ifndef DOINIT
+EXTCONST U8 PL_varies_bitmask[];
+#else
+EXTCONST U8 PL_varies_bitmask[] = {
+ 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x80, 0x3F, 0xFF, 0x33, 0x01, 0x00, 0x00, 0x00
+};
+#endif /* DOINIT */
+
+/* The following always have a length of 1. U8 we can do strchr() on it. */
+/* (Note that length 1 means "one character" under UTF8, not "one octet".) */
+#define REGNODE_SIMPLE(node) (PL_simple_bitmask[(node) >> 3] & (1 << ((node) & 7)))
+
+#ifndef DOINIT
+EXTCONST U8 PL_simple[] __attribute__deprecated__;
+#else
+EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
+ REG_ANY, SANY, CANY, ANYOF, ALNUM, ALNUML, ALNUMU, ALNUMA, NALNUM,
+ NALNUML, NALNUMU, NALNUMA, SPACE, SPACEL, SPACEU, SPACEA, NSPACE,
+ NSPACEL, NSPACEU, NSPACEA, DIGIT, DIGITL, DIGITA, NDIGIT, NDIGITL,
+ NDIGITA, VERTWS, NVERTWS, HORIZWS, NHORIZWS,
+ 0
+};
+#endif /* DOINIT */
+
+#ifndef DOINIT
+EXTCONST U8 PL_simple_bitmask[];
+#else
+EXTCONST U8 PL_simple_bitmask[] = {
+ 0x00, 0x00, 0xBC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E
+};
+#endif /* DOINIT */
+
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/scope.h b/Master/tlpkg/tlperl/lib/CORE/scope.h
index 64e7e279f1f..113f4e8d717 100644
--- a/Master/tlpkg/tlperl/lib/CORE/scope.h
+++ b/Master/tlpkg/tlperl/lib/CORE/scope.h
@@ -55,10 +55,17 @@
#define SAVEt_STACK_CXPOS 44
#define SAVEt_PARSER 45
#define SAVEt_ADELETE 46
+#define SAVEt_I32_SMALL 47
+#define SAVEt_INT_SMALL 48
+#define SAVEt_GVSV 49
+#define SAVEt_FREECOPHH 50
#define SAVEf_SETMAGIC 1
#define SAVEf_KEEPOLDELEM 2
+#define SAVE_TIGHT_SHIFT 6
+#define SAVE_MASK 0x3F
+
#define save_aelem(av,idx,sptr) save_aelem_flags(av,idx,sptr,SAVEf_SETMAGIC)
#define save_helem(hv,key,sptr) save_helem_flags(hv,key,sptr,SAVEf_SETMAGIC)
@@ -72,6 +79,7 @@
#define SSPUSHLONG(i) (PL_savestack[PL_savestack_ix++].any_long = (long)(i))
#define SSPUSHBOOL(p) (PL_savestack[PL_savestack_ix++].any_bool = (p))
#define SSPUSHIV(i) (PL_savestack[PL_savestack_ix++].any_iv = (IV)(i))
+#define SSPUSHUV(u) (PL_savestack[PL_savestack_ix++].any_uv = (UV)(u))
#define SSPUSHPTR(p) (PL_savestack[PL_savestack_ix++].any_ptr = (void*)(p))
#define SSPUSHDPTR(p) (PL_savestack[PL_savestack_ix++].any_dptr = (p))
#define SSPUSHDXPTR(p) (PL_savestack[PL_savestack_ix++].any_dxptr = (p))
@@ -79,6 +87,7 @@
#define SSPOPLONG (PL_savestack[--PL_savestack_ix].any_long)
#define SSPOPBOOL (PL_savestack[--PL_savestack_ix].any_bool)
#define SSPOPIV (PL_savestack[--PL_savestack_ix].any_iv)
+#define SSPOPUV (PL_savestack[--PL_savestack_ix].any_uv)
#define SSPOPPTR (PL_savestack[--PL_savestack_ix].any_ptr)
#define SSPOPDPTR (PL_savestack[--PL_savestack_ix].any_dptr)
#define SSPOPDXPTR (PL_savestack[--PL_savestack_ix].any_dxptr)
@@ -162,7 +171,7 @@ scope has the given name. Name must be a literal string.
#define SAVEINT(i) save_int((int*)&(i))
#define SAVEIV(i) save_iv((IV*)&(i))
#define SAVELONG(l) save_long((long*)&(l))
-#define SAVEBOOL(b) save_bool((bool*)&(b))
+#define SAVEBOOL(b) save_bool(&(b))
#define SAVESPTR(s) save_sptr((SV**)&(s))
#define SAVEPPTR(s) save_pptr((char**)&(s))
#define SAVEVPTR(s) save_vptr((void*)&(s))
@@ -176,6 +185,7 @@ scope has the given name. Name must be a literal string.
#define SAVEGENERICPV(s) save_generic_pvref((char**)&(s))
#define SAVESHAREDPV(s) save_shared_pvref((char**)&(s))
#define SAVESETSVFLAGS(sv,mask,val) save_set_svflags(sv,mask,val)
+#define SAVEFREECOPHH(h) save_pushptr((void *)(h), SAVEt_FREECOPHH)
#define SAVEDELETE(h,k,l) \
save_delete(MUTABLE_HV(h), (char*)(k), (I32)(l))
#define SAVEHDELETE(h,s) \
@@ -192,7 +202,7 @@ scope has the given name. Name must be a literal string.
STMT_START { \
SSCHECK(2); \
SSPUSHINT(PL_stack_sp - PL_stack_base); \
- SSPUSHINT(SAVEt_STACK_POS); \
+ SSPUSHUV(SAVEt_STACK_POS); \
} STMT_END
#define SAVEOP() save_op()
@@ -222,7 +232,7 @@ scope has the given name. Name must be a literal string.
SSCHECK(3); \
SSPUSHINT(cxstack[cxstack_ix].blk_oldsp); \
SSPUSHINT(cxstack_ix); \
- SSPUSHINT(SAVEt_STACK_CXPOS); \
+ SSPUSHUV(SAVEt_STACK_CXPOS); \
} STMT_END
#define SAVEPARSER(p) save_pushptr((p), SAVEt_PARSER)
@@ -246,7 +256,7 @@ scope has the given name. Name must be a literal string.
* pointer would get broken if the savestack is moved on reallocation.
* SSNEWa() works like SSNEW(), but also aligns the data to the specified
* number of bytes. MEM_ALIGNBYTES is perhaps the most useful. The
- * alignment will be preserved therough savestack reallocation *only* if
+ * alignment will be preserved through savestack reallocation *only* if
* realloc returns data aligned to a size divisible by "align"!
*
* SSPTR() converts the index returned by SSNEW/SSNEWa() into a pointer.
diff --git a/Master/tlpkg/tlperl/lib/CORE/sv.h b/Master/tlpkg/tlperl/lib/CORE/sv.h
index fc1b475a65e..7f466754142 100644
--- a/Master/tlpkg/tlperl/lib/CORE/sv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/sv.h
@@ -76,13 +76,9 @@ typedef enum {
#endif
/* There is collusion here with sv_clear - sv_clear exits early for SVt_NULL
- and SVt_IV, so never reaches the clause at the end that uses
- sv_type_details->body_size to determine whether to call safefree(). Hence
- body_size can be set no-zero to record the size of PTEs and HEs, without
- fear of bogus frees. */
-#ifdef PERL_IN_SV_C
-#define PTE_SVSLOT SVt_IV
-#endif
+ so never reaches the clause at the end that uses sv_type_details->body_size
+ to determine whether to call safefree(). Hence body_size can be set
+ non-zero to record the size of HEs, without fear of bogus frees. */
#if defined(PERL_IN_HV_C) || defined(PERL_IN_XS_APITEST)
#define HE_SVSLOT SVt_NULL
#endif
@@ -110,6 +106,7 @@ typedef struct hek HEK;
SV** svu_array; \
HE** svu_hash; \
GP* svu_gp; \
+ PerlIO *svu_fp; \
} sv_u
@@ -119,10 +116,10 @@ struct STRUCT_SV { /* struct sv { */
#ifdef DEBUG_LEAKING_SCALARS
PERL_BITFIELD32 sv_debug_optype:9; /* the type of OP that allocated us */
PERL_BITFIELD32 sv_debug_inpad:1; /* was allocated in a pad for an OP */
- PERL_BITFIELD32 sv_debug_cloned:1; /* was cloned for an ithread */
PERL_BITFIELD32 sv_debug_line:16; /* the line where we were allocated */
- U32 sv_debug_serial; /* serial number of sv allocation */
- char * sv_debug_file; /* the file where we were allocated */
+ UV sv_debug_serial; /* serial number of sv allocation */
+ char * sv_debug_file; /* the file where we were allocated */
+ SV * sv_debug_parent; /* what we were cloned from (ithreads)*/
#endif
};
@@ -391,15 +388,14 @@ perform the upgrade if necessary. See C<svtype>.
#define SVpav_REIFY 0x80000000 /* can become real */
/* PVHV */
#define SVphv_HASKFLAGS 0x80000000 /* keys have flag byte after hash */
-/* PVFM */
-#define SVpfm_COMPILED 0x80000000 /* FORMLINE is compiled */
/* PVGV when SVpbm_VALID is true */
#define SVpbm_TAIL 0x80000000
/* RV upwards. However, SVf_ROK and SVp_IOK are exclusive */
#define SVprv_WEAKREF 0x80000000 /* Weak reference */
-#define _XPV_HEAD \
- union _xnvu xnv_u; \
+#define _XPV_HEAD \
+ HV* xmg_stash; /* class package */ \
+ union _xmgu xmg_u; \
STRLEN xpv_cur; /* length of svu_pv as a C string */ \
STRLEN xpv_len /* allocated size */
@@ -419,12 +415,9 @@ union _xnvu {
union _xivu {
IV xivu_iv; /* integer value */
- /* xpvfm: lines */
UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
+ I32 xivu_i32; /* BmUSEFUL */
HEK * xivu_namehek; /* xpvlv, xpvgv: GvNAME */
- HV * xivu_hv; /* regexp: paren_names */
};
union _xmgu {
@@ -453,23 +446,20 @@ struct xpvuv {
struct xpvnv {
_XPV_HEAD;
union _xivu xiv_u;
+ union _xnvu xnv_u;
};
-#define _XPVMG_HEAD \
- union _xivu xiv_u; \
- union _xmgu xmg_u; \
- HV* xmg_stash /* class package */
-
/* This structure must match the beginning of struct xpvhv in hv.h. */
struct xpvmg {
_XPV_HEAD;
- _XPVMG_HEAD;
+ union _xivu xiv_u;
+ union _xnvu xnv_u;
};
struct xpvlv {
_XPV_HEAD;
- _XPVMG_HEAD;
-
+ union _xivu xiv_u;
+ union _xnvu xnv_u;
STRLEN xlv_targoff;
STRLEN xlv_targlen;
SV* xlv_targ;
@@ -481,7 +471,8 @@ struct xpvlv {
Boyer-Moore. */
struct xpvgv {
_XPV_HEAD;
- _XPVMG_HEAD;
+ union _xivu xiv_u;
+ union _xnvu xnv_u;
};
/* This structure must match XPVCV in cv.h */
@@ -509,44 +500,41 @@ typedef U16 cv_flags_t;
struct xpvfm {
_XPV_HEAD;
- _XPVMG_HEAD;
_XPVCV_COMMON;
+ IV xfm_lines;
};
-#define _XPVIO_TAIL \
- PerlIO * xio_ifp; /* ifp and ofp are normally the same */ \
- PerlIO * xio_ofp; /* but sockets need separate streams */ \
- /* Cray addresses everything by word boundaries (64 bits) and \
- * code and data pointers cannot be mixed (which is exactly what \
- * Perl_filter_add() tries to do with the dirp), hence the \
- * following union trick (as suggested by Gurusamy Sarathy). \
- * For further information see Geir Johansen's problem report \
- * titled [ID 20000612.002] Perl problem on Cray system \
- * The any pointer (known as IoANY()) will also be a good place \
- * to hang any IO disciplines to. \
- */ \
- union { \
- DIR * xiou_dirp; /* for opendir, readdir, etc */ \
- void * xiou_any; /* for alignment */ \
- } xio_dirpu; \
- /* IV xio_lines is now in IVX $. */ \
- IV xio_page; /* $% */ \
- IV xio_page_len; /* $= */ \
- IV xio_lines_left; /* $- */ \
- char * xio_top_name; /* $^ */ \
- GV * xio_top_gv; /* $^ */ \
- char * xio_fmt_name; /* $~ */ \
- GV * xio_fmt_gv; /* $~ */ \
- char * xio_bottom_name;/* $^B */ \
- GV * xio_bottom_gv; /* $^B */ \
- char xio_type; \
- U8 xio_flags
-
struct xpvio {
_XPV_HEAD;
- _XPVMG_HEAD;
- _XPVIO_TAIL;
+ union _xivu xiv_u;
+ /* ifp and ofp are normally the same, but sockets need separate streams */
+ PerlIO * xio_ofp;
+ /* Cray addresses everything by word boundaries (64 bits) and
+ * code and data pointers cannot be mixed (which is exactly what
+ * Perl_filter_add() tries to do with the dirp), hence the
+ * following union trick (as suggested by Gurusamy Sarathy).
+ * For further information see Geir Johansen's problem report
+ * titled [ID 20000612.002] Perl problem on Cray system
+ * The any pointer (known as IoANY()) will also be a good place
+ * to hang any IO disciplines to.
+ */
+ union {
+ DIR * xiou_dirp; /* for opendir, readdir, etc */
+ void * xiou_any; /* for alignment */
+ } xio_dirpu;
+ /* IV xio_lines is now in IVX $. */
+ IV xio_page; /* $% */
+ IV xio_page_len; /* $= */
+ IV xio_lines_left; /* $- */
+ char * xio_top_name; /* $^ */
+ GV * xio_top_gv; /* $^ */
+ char * xio_fmt_name; /* $~ */
+ GV * xio_fmt_gv; /* $~ */
+ char * xio_bottom_name;/* $^B */
+ GV * xio_bottom_gv; /* $^B */
+ char xio_type;
+ U8 xio_flags;
};
#define xio_dirp xio_dirpu.xiou_dirp
@@ -558,7 +546,8 @@ struct xpvio {
#define IOf_DIDTOP 8 /* just did top of form */
#define IOf_UNTAINT 16 /* consider this fp (and its data) "safe" */
#define IOf_NOLINE 32 /* slurped a pseudo-line from empty file */
-#define IOf_FAKE_DIRP 64 /* xio_dirp is fake (source filters kludge) */
+#define IOf_FAKE_DIRP 64 /* xio_dirp is fake (source filters kludge)
+ Also, when this is set, SvPVX() is valid */
/* The following macros define implementation-independent predicates on SVs. */
@@ -932,9 +921,11 @@ the scalar's value cannot change unless written to.
#define SvSCREAM_on(sv) (SvFLAGS(sv) |= SVp_SCREAM)
#define SvSCREAM_off(sv) (SvFLAGS(sv) &= ~SVp_SCREAM)
-#define SvCOMPILED(sv) (SvFLAGS(sv) & SVpfm_COMPILED)
-#define SvCOMPILED_on(sv) (SvFLAGS(sv) |= SVpfm_COMPILED)
-#define SvCOMPILED_off(sv) (SvFLAGS(sv) &= ~SVpfm_COMPILED)
+#ifndef PERL_CORE
+# define SvCOMPILED(sv) 0
+# define SvCOMPILED_on(sv)
+# define SvCOMPILED_off(sv)
+#endif
#define SvEVALED(sv) (SvFLAGS(sv) & SVrepl_EVAL)
#define SvEVALED_on(sv) (SvFLAGS(sv) |= SVrepl_EVAL)
@@ -1054,6 +1045,8 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svpvx) != SVt_PVAV); \
assert(SvTYPE(_svpvx) != SVt_PVHV); \
assert(!isGV_with_GP(_svpvx)); \
+ assert(!(SvTYPE(_svpvx) == SVt_PVIO \
+ && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))); \
&((_svpvx)->sv_u.svu_pv); \
}))
# define SvCUR(sv) \
@@ -1062,6 +1055,8 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svcur) != SVt_PVAV); \
assert(SvTYPE(_svcur) != SVt_PVHV); \
assert(!isGV_with_GP(_svcur)); \
+ assert(!(SvTYPE(_svcur) == SVt_PVIO \
+ && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))); \
&(((XPV*) MUTABLE_PTR(SvANY(_svcur)))->xpv_cur); \
}))
# define SvIVX(sv) \
@@ -1072,6 +1067,7 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svivx) != SVt_PVCV); \
assert(SvTYPE(_svivx) != SVt_PVFM); \
assert(SvTYPE(_svivx) != SVt_PVIO); \
+ assert(SvTYPE(_svivx) != SVt_REGEXP); \
assert(!isGV_with_GP(_svivx)); \
&(((XPVIV*) MUTABLE_PTR(SvANY(_svivx)))->xiv_iv); \
}))
@@ -1083,6 +1079,7 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svuvx) != SVt_PVCV); \
assert(SvTYPE(_svuvx) != SVt_PVFM); \
assert(SvTYPE(_svuvx) != SVt_PVIO); \
+ assert(SvTYPE(_svuvx) != SVt_REGEXP); \
assert(!isGV_with_GP(_svuvx)); \
&(((XPVUV*) MUTABLE_PTR(SvANY(_svuvx)))->xuv_uv); \
}))
@@ -1094,6 +1091,7 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svnvx) != SVt_PVCV); \
assert(SvTYPE(_svnvx) != SVt_PVFM); \
assert(SvTYPE(_svnvx) != SVt_PVIO); \
+ assert(SvTYPE(_svnvx) != SVt_REGEXP); \
assert(!isGV_with_GP(_svnvx)); \
&(((XPVNV*) MUTABLE_PTR(SvANY(_svnvx)))->xnv_u.xnv_nv); \
}))
@@ -1105,6 +1103,8 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svrv) != SVt_PVCV); \
assert(SvTYPE(_svrv) != SVt_PVFM); \
assert(!isGV_with_GP(_svrv)); \
+ assert(!(SvTYPE(_svrv) == SVt_PVIO \
+ && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))); \
&((_svrv)->sv_u.svu_rv); \
}))
# define SvRV_const(sv) \
@@ -1115,6 +1115,8 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svrv) != SVt_PVCV); \
assert(SvTYPE(_svrv) != SVt_PVFM); \
assert(!isGV_with_GP(_svrv)); \
+ assert(!(SvTYPE(_svrv) == SVt_PVIO \
+ && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))); \
(_svrv)->sv_u.svu_rv; \
})
# define SvMAGIC(sv) \
@@ -1168,6 +1170,9 @@ the scalar's value cannot change unless written to.
#define SvIV_please(sv) \
STMT_START {if (!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv))) \
(void) SvIV(sv); } STMT_END
+#define SvIV_please_nomg(sv) \
+ STMT_START {if (!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv))) \
+ (void) SvIV_nomg(sv); } STMT_END
#define SvIV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
assert(SvTYPE(sv) != SVt_PVAV); \
@@ -1187,6 +1192,8 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(sv) != SVt_PVAV); \
assert(SvTYPE(sv) != SVt_PVHV); \
assert(!isGV_with_GP(sv)); \
+ assert(!(SvTYPE(sv) == SVt_PVIO \
+ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
((sv)->sv_u.svu_pv = (val)); } STMT_END
#define SvUV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
@@ -1202,6 +1209,8 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(sv) != SVt_PVCV); \
assert(SvTYPE(sv) != SVt_PVFM); \
assert(!isGV_with_GP(sv)); \
+ assert(!(SvTYPE(sv) == SVt_PVIO \
+ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
((sv)->sv_u.svu_rv = (val)); } STMT_END
#define SvMAGIC_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
@@ -1214,12 +1223,16 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(sv) != SVt_PVAV); \
assert(SvTYPE(sv) != SVt_PVHV); \
assert(!isGV_with_GP(sv)); \
+ assert(!(SvTYPE(sv) == SVt_PVIO \
+ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
(((XPV*) SvANY(sv))->xpv_cur = (val)); } STMT_END
#define SvLEN_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
assert(SvTYPE(sv) != SVt_PVAV); \
assert(SvTYPE(sv) != SVt_PVHV); \
assert(!isGV_with_GP(sv)); \
+ assert(!(SvTYPE(sv) == SVt_PVIO \
+ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
(((XPV*) SvANY(sv))->xpv_len = (val)); } STMT_END
#define SvEND_set(sv, val) \
STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
@@ -1306,14 +1319,14 @@ the scalar's value cannot change unless written to.
#endif
-#define FmLINES(sv) ((XPVFM*) SvANY(sv))->xiv_u.xivu_iv
+#define FmLINES(sv) ((XPVFM*) SvANY(sv))->xfm_lines
#define LvTYPE(sv) ((XPVLV*) SvANY(sv))->xlv_type
#define LvTARG(sv) ((XPVLV*) SvANY(sv))->xlv_targ
#define LvTARGOFF(sv) ((XPVLV*) SvANY(sv))->xlv_targoff
#define LvTARGLEN(sv) ((XPVLV*) SvANY(sv))->xlv_targlen
-#define IoIFP(sv) ((XPVIO*) SvANY(sv))->xio_ifp
+#define IoIFP(sv) (sv)->sv_u.svu_fp
#define IoOFP(sv) ((XPVIO*) SvANY(sv))->xio_ofp
#define IoDIRP(sv) ((XPVIO*) SvANY(sv))->xio_dirp
#define IoANY(sv) ((XPVIO*) SvANY(sv))->xio_any
@@ -1408,6 +1421,9 @@ Returns a pointer to the string in the SV, or a stringified form of
the SV if the SV does not contain a string. The SV may cache the
stringified form becoming C<SvPOK>. Handles 'get' magic.
+=for apidoc Am|char*|SvPV_nomg_nolen|SV* sv
+Like C<SvPV_nolen> but doesn't process magic.
+
=for apidoc Am|IV|SvIV|SV* sv
Coerces the given SV to an integer and returns it. See C<SvIVx> for a
version which guarantees to evaluate sv only once.
@@ -1424,6 +1440,9 @@ otherwise use the more efficient C<SvIV>.
Coerce the given SV to a double and return it. See C<SvNVx> for a version
which guarantees to evaluate sv only once.
+=for apidoc Am|NV|SvNV_nomg|SV* sv
+Like C<SvNV> but doesn't process magic.
+
=for apidoc Am|NV|SvNVx|SV* sv
Coerces the given SV to a double and returns it. Guarantees to evaluate
C<sv> only once. Only use this if C<sv> is an expression with side effects,
@@ -1443,6 +1462,12 @@ otherwise use the more efficient C<SvUV>.
=for apidoc Am|bool|SvTRUE|SV* sv
Returns a boolean indicating whether Perl would evaluate the SV as true or
+false. See SvOK() for a defined/undefined test. Handles 'get' magic
+unless the scalar is already SvPOK, SvIOK or SvNOK (the public, not the
+private flags).
+
+=for apidoc Am|bool|SvTRUE_nomg|SV* sv
+Returns a boolean indicating whether Perl would evaluate the SV as true or
false. See SvOK() for a defined/undefined test. Does not handle 'get' magic.
=for apidoc Am|char*|SvPVutf8_force|SV* sv|STRLEN len
@@ -1495,6 +1520,9 @@ scalar.
=for apidoc Am|void|sv_catpvn_nomg|SV* sv|const char* ptr|STRLEN len
Like C<sv_catpvn> but doesn't process magic.
+=for apidoc Am|void|sv_catpv_nomg|SV* sv|const char* ptr
+Like C<sv_catpv> but doesn't process magic.
+
=for apidoc Am|void|sv_setsv_nomg|SV* dsv|SV* ssv
Like C<sv_setsv> but doesn't process magic.
@@ -1515,6 +1543,7 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
#define SvIV_nomg(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv_flags(sv, 0))
#define SvUV_nomg(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv_flags(sv, 0))
+#define SvNV_nomg(sv) (SvNOK(sv) ? SvNVX(sv) : sv_2nv_flags(sv, 0))
/* ----*/
@@ -1560,6 +1589,10 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC))
+#define SvPV_nomg_nolen(sv) \
+ ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+ ? SvPVX(sv) : sv_2pv_flags(sv, 0, 0))
+
#define SvPV_nolen_const(sv) \
((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
? SvPVX_const(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC|SV_CONST_RETURN))
@@ -1636,6 +1669,22 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
: SvNOK(sv) \
? SvNVX(sv) != 0.0 \
: sv_2bool(sv) )
+# define SvTRUE_nomg(sv) ( \
+ !sv \
+ ? 0 \
+ : SvPOK(sv) \
+ ? (({XPV *nxpv = (XPV*)SvANY(sv); \
+ nxpv && \
+ (nxpv->xpv_cur > 1 || \
+ (nxpv->xpv_cur && *(sv)->sv_u.svu_pv != '0')); }) \
+ ? 1 \
+ : 0) \
+ : \
+ SvIOK(sv) \
+ ? SvIVX(sv) != 0 \
+ : SvNOK(sv) \
+ ? SvNVX(sv) != 0.0 \
+ : sv_2bool_flags(sv,0) )
# define SvTRUEx(sv) ({SV *_sv = (sv); SvTRUE(_sv); })
#else /* __GNUC__ */
@@ -1668,6 +1717,21 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
: SvNOK(sv) \
? SvNVX(sv) != 0.0 \
: sv_2bool(sv) )
+# define SvTRUE_nomg(sv) ( \
+ !sv \
+ ? 0 \
+ : SvPOK(sv) \
+ ? ((PL_Xpv = (XPV*)SvANY(PL_Sv = (sv))) && \
+ (PL_Xpv->xpv_cur > 1 || \
+ (PL_Xpv->xpv_cur && *PL_Sv->sv_u.svu_pv != '0')) \
+ ? 1 \
+ : 0) \
+ : \
+ SvIOK(sv) \
+ ? SvIVX(sv) != 0 \
+ : SvNOK(sv) \
+ ? SvNVX(sv) != 0.0 \
+ : sv_2bool_flags(sv,0) )
# define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv))
#endif /* __GNU__ */
@@ -1698,6 +1762,9 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
* This is used when the caller has already determined it is, and avoids
* redundant work */
#define SV_FORCE_UTF8_UPGRADE 4096
+/* if (after resolving magic etc), the SV is found to be overloaded,
+ * don't call the overload magic, just return as-is */
+#define SV_SKIP_OVERLOAD 8192
/* The core is safe for this COW optimisation. XS code on CPAN may not be.
So only default to doing the COW setup if we're in the core.
@@ -1760,6 +1827,7 @@ mg.c:1024: warning: left-hand operand of comma expression has no effect
#define sv_utf8_upgrade_flags(sv, flags) sv_utf8_upgrade_flags_grow(sv, flags, 0)
#define sv_utf8_upgrade_nomg(sv) sv_utf8_upgrade_flags(sv, 0)
#define sv_catpvn_nomg(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, 0)
+#define sv_catpv_nomg(dsv, sstr) sv_catpv_flags(dsv, sstr, 0)
#define sv_setsv(dsv, ssv) \
sv_setsv_flags(dsv, ssv, SV_GMAGIC|SV_DO_COW_SVSETSV)
#define sv_setsv_nomg(dsv, ssv) sv_setsv_flags(dsv, ssv, SV_DO_COW_SVSETSV)
@@ -1778,6 +1846,12 @@ mg.c:1024: warning: left-hand operand of comma expression has no effect
#define sv_utf8_upgrade(sv) sv_utf8_upgrade_flags(sv, SV_GMAGIC)
#define sv_2iv(sv) sv_2iv_flags(sv, SV_GMAGIC)
#define sv_2uv(sv) sv_2uv_flags(sv, SV_GMAGIC)
+#define sv_2nv(sv) sv_2nv_flags(sv, SV_GMAGIC)
+#define sv_eq(sv1, sv2) sv_eq_flags(sv1, sv2, SV_GMAGIC)
+#define sv_cmp(sv1, sv2) sv_cmp_flags(sv1, sv2, SV_GMAGIC)
+#define sv_cmp_locale(sv1, sv2) sv_cmp_locale_flags(sv1, sv2, SV_GMAGIC)
+#define sv_collxfrm(sv, nxp) sv_cmp_flags(sv, nxp, SV_GMAGIC)
+#define sv_2bool(sv) sv_2bool_flags(sv, SV_GMAGIC)
#define sv_insert(bigstr, offset, len, little, littlelen) \
Perl_sv_insert_flags(aTHX_ (bigstr),(offset), (len), (little), \
(littlelen), SV_GMAGIC)
@@ -1855,10 +1929,10 @@ Returns a pointer to the character buffer.
=cut
*/
-#define SvSHARE(sv) CALL_FPTR(PL_sharehook)(aTHX_ sv)
-#define SvLOCK(sv) CALL_FPTR(PL_lockhook)(aTHX_ sv)
-#define SvUNLOCK(sv) CALL_FPTR(PL_unlockhook)(aTHX_ sv)
-#define SvDESTROYABLE(sv) CALL_FPTR(PL_destroyhook)(aTHX_ sv)
+#define SvSHARE(sv) PL_sharehook(aTHX_ sv)
+#define SvLOCK(sv) PL_lockhook(aTHX_ sv)
+#define SvUNLOCK(sv) PL_unlockhook(aTHX_ sv)
+#define SvDESTROYABLE(sv) PL_destroyhook(aTHX_ sv)
#define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
#define SvSETMAGIC(x) STMT_START { if (SvSMAGICAL(x)) mg_set(x); } STMT_END
@@ -1933,6 +2007,8 @@ struct clone_params {
AV* stashes;
UV flags;
PerlInterpreter *proto_perl;
+ PerlInterpreter *new_perl;
+ AV *unreferenced;
};
/*
diff --git a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
index a3c53b0e883..3b92b13d546 100644
--- a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
+++ b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
@@ -6,30 +6,93 @@
#ifndef _INC_SYS_SOCKET
#define _INC_SYS_SOCKET
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#define WIN32_LEAN_AND_MEAN
#ifdef __GNUC__
# define Win32_Winsock
#endif
#include <windows.h>
-
/* Too late to include winsock2.h if winsock.h has already been loaded */
#ifndef _WINSOCKAPI_
# if defined(UNDER_CE) && UNDER_CE <= 300
/* winsock2 only for 4.00+ */
# include <winsock.h>
# else
-# include <winsock2.h>
-#endif
+# include <winsock2.h>
+ /* We need to include ws2tcpip.h to get the IPv6 definitions.
+ * It will in turn include wspiapi.h. Later versions of that
+ * header in the Windows SDK generate C++ template code that
+ * can't be compiled with VC6 anymore. The _WSPIAPI_COUNTOF
+ * definition below prevents wspiapi.h from generating this
+ * incompatible code.
+ */
+# define _WSPIAPI_COUNTOF(_Array) (sizeof(_Array) / sizeof(_Array[0]))
+# include <ws2tcpip.h>
+
+# ifndef SIO_GET_INTERFACE_LIST_EX
+ /* The ws2tcpip.h header included in VC6 doesn't define the
+ * sin6_scope_id member of sockaddr_in6. We define our own
+ * version and redefine sockaddr_in6 to point to this one
+ * instead for compiling e.g. Socket.xs.
+ */
+ struct my_sockaddr_in6 {
+ short sin6_family; /* AF_INET6 */
+ u_short sin6_port; /* Transport level port number */
+ u_long sin6_flowinfo; /* IPv6 flow information */
+ struct in_addr6 sin6_addr; /* IPv6 address */
+ u_long sin6_scope_id; /* set of interfaces for a scope */
+ };
+# define sockaddr_in6 my_sockaddr_in6
+
+ /* Provide implementations of IN6ADDR_SETANY() and IN6ADDR_SETLOOPBACK
+ * that also initialize the sin6_scope_id field.
+ */
+# undef IN6ADDR_SETANY
+# define IN6ADDR_SETANY(x) {\
+(x)->sin6_family = AF_INET6; \
+(x)->sin6_port = 0; \
+(x)->sin6_flowinfo = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) ) = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) + 1) = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) + 2) = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) + 3) = 0; \
+(x)->sin6_scope_id = 0; \
+}
+
+# undef IN6ADDR_SETLOOPBACK
+# define IN6ADDR_SETLOOPBACK(x) {\
+(x)->sin6_family = AF_INET6; \
+(x)->sin6_port = 0; \
+(x)->sin6_flowinfo = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) ) = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) + 1) = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) + 2) = 0; \
+*((u_long *)((x)->sin6_addr.s6_addr) + 3) = 1; \
+(x)->sin6_scope_id = 0; \
+}
+
+# endif
+
+# endif
#endif
#include "win32.h"
-#define ENOTSOCK WSAENOTSOCK
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#undef ENOTSOCK
+#define ENOTSOCK WSAENOTSOCK
+
+#undef ECONNABORTED
+#define ECONNABORTED WSAECONNABORTED
+
+#undef ECONNRESET
+#define ECONNRESET WSAECONNRESET
+
+#undef EAFNOSUPPORT
+#define EAFNOSUPPORT WSAEAFNOSUPPORT
#ifdef USE_SOCKETS_AS_HANDLES
diff --git a/Master/tlpkg/tlperl/lib/CORE/uconfig.h b/Master/tlpkg/tlperl/lib/CORE/uconfig.h
index 511a00b8cb1..506cebea816 100644
--- a/Master/tlpkg/tlperl/lib/CORE/uconfig.h
+++ b/Master/tlpkg/tlperl/lib/CORE/uconfig.h
@@ -1,17 +1,13 @@
-/*
- * This file was produced by running the config_h.SH script, which
+/* This file was produced by running the config_h.SH script, which
* gets its values from uconfig.sh, which is generally produced by
* running Configure.
*
* Feel free to modify any of this as the need arises. Note, however,
* that running config_h.SH again will wipe out any changes you've made.
* For a more permanent change edit uconfig.sh and rerun config_h.SH.
- *
- * $Id: Config_h.U 1 2006-08-24 12:32:52Z rmanfredi $
*/
-/*
- * Package name : perl5
+/* Package name : perl5
* Source directory : .
* Configuration time: Thu Jan 1 00:00:00 GMT 1970
* Configured by : root@localhost
@@ -107,26 +103,6 @@
*/
/*#define HAS_DLERROR / **/
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
/* HAS_DUP2:
* This symbol, if defined, indicates that the dup2 routine is
* available to duplicate file descriptors.
@@ -304,7 +280,7 @@
* This symbol, if defined, indicates that the memset routine is available
* to set blocks of memory.
*/
-/*#define HAS_MEMSET / **/
+#define HAS_MEMSET /**/
/* HAS_MKDIR:
* This symbol, if defined, indicates that the mkdir routine is available
@@ -737,7 +713,7 @@
* This symbol, if defined, indicates that <stddef.h> exists and should
* be included.
*/
-/*#define I_STDDEF / **/
+#define I_STDDEF /**/
/* I_STDLIB:
* This symbol, if defined, indicates that <stdlib.h> exists and should
@@ -881,6 +857,28 @@
*/
/*#define I_VFORK / **/
+/* CAN_VAPROTO:
+ * This variable is defined on systems supporting prototype declaration
+ * of functions with a variable number of arguments.
+ */
+/* _V:
+ * This macro is used to declare function parameters in prototypes for
+ * functions with a variable number of parameters. Use double parentheses.
+ * For example:
+ *
+ * int printf _V((char *fmt, ...));
+ *
+ * Remember to use the plain simple _() macro when declaring a function
+ * with no variable number of arguments, since it might be possible to
+ * have a non-effect _V() macro and still get prototypes via _().
+ */
+/*#define CAN_VAPROTO / **/
+#ifdef CAN_VAPROTO
+#define _V(args) args
+#else
+#define _V(args) ()
+#endif
+
/* INTSIZE:
* This symbol contains the value of sizeof(int) so that the C
* preprocessor can make decisions based on it.
@@ -908,7 +906,7 @@
/* HAS_QUAD:
* This symbol, if defined, tells that there's a 64-bit integer type,
- * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
+ * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
* of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
*/
/*#define HAS_QUAD / **/
@@ -922,18 +920,28 @@
# define QUAD_IS_INT64_T 4
#endif
-/* OSNAME:
- * This symbol contains the name of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
+/* USE_CROSS_COMPILE:
+ * This symbol, if defined, indicates that Perl is being cross-compiled.
*/
-/* OSVERS:
- * This symbol contains the version of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
+/* PERL_TARGETARCH:
+ * This symbol, if defined, indicates the target architecture
+ * Perl has been cross-compiled to. Undefined if not a cross-compile.
*/
-#define OSNAME "unknown" /**/
-#define OSVERS "unknown" /**/
+#ifndef USE_CROSS_COMPILE
+/*#define USE_CROSS_COMPILE / **/
+#define PERL_TARGETARCH "" /**/
+#endif
+
+/* MEM_ALIGNBYTES:
+ * This symbol contains the number of bytes required to align a
+ * double, or a long double when applicable. Usual values are 2,
+ * 4 and 8. The default is eight, for safety.
+ */
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+# define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES 4
+#endif
/* ARCHLIB:
* This variable, if defined, holds the name of the directory in
@@ -948,8 +956,8 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-/*#define ARCHLIB "/usr/local/lib/perl5/5.11/unknown" / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.11/unknown" / **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.14/unknown" / **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.14/unknown" / **/
/* ARCHNAME:
* This symbol holds a string representing the architecture name.
@@ -975,63 +983,54 @@
#define BIN_EXP "/usr/local/bin" /**/
#define PERL_RELOCATABLE_INC "undef" /**/
-/* CAT2:
- * This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- * This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b) a/**/b
-#define STRINGIFY(a) "a"
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
-#define PeRl_StGiFy(a) #a
-#define CAT2(a,b) PeRl_CaTiFy(a,b)
-#define StGiFy(a) PeRl_StGiFy(a)
-#define STRINGIFY(a) PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- * This symbol contains the first part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
- * call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- * This symbol contains the second part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- * to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- * This symbol contains the string which will invoke a C preprocessor on
- * the standard input and produce to standard output. It needs to end
- * with CPPLAST, after all other preprocessor flags have been specified.
- * The main difference with CPPSTDIN is that this program will never be a
- * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- * available directly to the user. Note that it may well be different from
- * the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- * This symbol is intended to be used along with CPPRUN in the same manner
- * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+/* BYTEORDER:
+ * This symbol holds the hexadecimal constant defined in byteorder,
+ * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
+ * If the compiler supports cross-compiling or multiple-architecture
+ * binaries (eg. on NeXT systems), use compiler-defined macros to
+ * determine the byte order.
+ * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
+ * Binaries (MAB) on either big endian or little endian machines.
+ * The endian-ness is available at compile-time. This only matters
+ * for perl, where the config.h can be generated and installed on
+ * one system, and used by a different architecture to build an
+ * extension. Older versions of NeXT that might not have
+ * defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ * so the default case (for NeXT) is big endian to catch them.
+ * This might matter for NeXT 3.0.
*/
-#define CPPSTDIN "cc -E"
-#define CPPMINUS "-"
-#define CPPRUN "cc -E"
-#define CPPLAST "-"
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+# ifdef __LITTLE_ENDIAN__
+# if LONGSIZE == 4
+# define BYTEORDER 0x1234
+# else
+# if LONGSIZE == 8
+# define BYTEORDER 0x12345678
+# endif
+# endif
+# else
+# ifdef __BIG_ENDIAN__
+# if LONGSIZE == 4
+# define BYTEORDER 0x4321
+# else
+# if LONGSIZE == 8
+# define BYTEORDER 0x87654321
+# endif
+# endif
+# endif
+# endif
+# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+# define BYTEORDER 0x4321
+# endif
+#else
+#define BYTEORDER 0x1234 /* large digits for MSB */
+#endif /* NeXT */
-/* HAS_ACCESS:
- * This manifest constant lets the C program know that the access()
- * system call is available to check for accessibility using real UID/GID.
- * (always present on UNIX.)
+/* CHARBITS:
+ * This symbol contains the size of a char, so that the C preprocessor
+ * can make decisions based on it.
*/
-/*#define HAS_ACCESS / **/
+#define CHARBITS 8 /**/
/* HAS_ACCESSX:
* This symbol, if defined, indicates that the accessx routine is
@@ -1052,53 +1051,32 @@
/*#define HAS_ASCTIME_R / **/
#define ASCTIME_R_PROTO 0 /**/
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
+/* CASTI32:
+ * This symbol is defined if the C compiler can cast negative
+ * or large floating point numbers to 32-bit ints.
*/
-/* HASATTRIBUTE_DEPRECATED:
- * Can we handle GCC attribute for marking deprecated APIs
+/*#define CASTI32 / **/
+
+/* CASTNEGFLOAT:
+ * This symbol is defined if the C compiler can cast negative
+ * numbers to unsigned longs, ints and shorts.
*/
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
+/* CASTFLAGS:
+ * This symbol contains flags that say what difficulties the compiler
+ * has casting odd floating values to unsigned long:
+ * 0 = ok
+ * 1 = couldn't cast < 0
+ * 2 = couldn't cast >= 0x80000000
+ * 4 = couldn't cast in argument expression list
*/
-/*#define HASATTRIBUTE_DEPRECATED / **/
-/*#define HASATTRIBUTE_FORMAT / **/
-/*#define PRINTF_FORMAT_NULL_OK / **/
-/*#define HASATTRIBUTE_NORETURN / **/
-/*#define HASATTRIBUTE_MALLOC / **/
-/*#define HASATTRIBUTE_NONNULL / **/
-/*#define HASATTRIBUTE_PURE / **/
-/*#define HASATTRIBUTE_UNUSED / **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+/*#define CASTNEGFLOAT / **/
+#define CASTFLAGS 0 /**/
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
+/* VOID_CLOSEDIR:
+ * This symbol, if defined, indicates that the closedir() routine
+ * does not return a value.
*/
-/*#define HASCONST / **/
-#ifndef HASCONST
-#define const
-#endif
+/*#define VOID_CLOSEDIR / **/
/* HAS_CRYPT_R:
* This symbol, if defined, indicates that the crypt_r routine
@@ -1113,17 +1091,6 @@
/*#define HAS_CRYPT_R / **/
#define CRYPT_R_PROTO 0 /**/
-/* HAS_CSH:
- * This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- * This symbol, if defined, contains the full pathname of csh.
- */
-/*#define HAS_CSH / **/
-#ifdef HAS_CSH
-#define CSH "" /**/
-#endif
-
/* HAS_CTERMID_R:
* This symbol, if defined, indicates that the ctermid_r routine
* is available to ctermid re-entrantly.
@@ -1163,26 +1130,12 @@
/*#define HAS_DRAND48_R / **/
#define DRAND48_R_PROTO 0 /**/
-/* HAS_DRAND48_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the drand48() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern double drand48(void);
- */
-/*#define HAS_DRAND48_PROTO / **/
-
/* HAS_EACCESS:
* This symbol, if defined, indicates that the eaccess routine is
* available to do extended access checks.
*/
/*#define HAS_EACCESS / **/
-/* HAS_ENDGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the group database.
- */
-/*#define HAS_ENDGRENT / **/
-
/* HAS_ENDGRENT_R:
* This symbol, if defined, indicates that the endgrent_r routine
* is available to endgrent re-entrantly.
@@ -1196,12 +1149,6 @@
/*#define HAS_ENDGRENT_R / **/
#define ENDGRENT_R_PROTO 0 /**/
-/* HAS_ENDHOSTENT:
- * This symbol, if defined, indicates that the endhostent() routine is
- * available to close whatever was being used for host queries.
- */
-/*#define HAS_ENDHOSTENT / **/
-
/* HAS_ENDHOSTENT_R:
* This symbol, if defined, indicates that the endhostent_r routine
* is available to endhostent re-entrantly.
@@ -1215,12 +1162,6 @@
/*#define HAS_ENDHOSTENT_R / **/
#define ENDHOSTENT_R_PROTO 0 /**/
-/* HAS_ENDNETENT:
- * This symbol, if defined, indicates that the endnetent() routine is
- * available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT / **/
-
/* HAS_ENDNETENT_R:
* This symbol, if defined, indicates that the endnetent_r routine
* is available to endnetent re-entrantly.
@@ -1234,12 +1175,6 @@
/*#define HAS_ENDNETENT_R / **/
#define ENDNETENT_R_PROTO 0 /**/
-/* HAS_ENDPROTOENT:
- * This symbol, if defined, indicates that the endprotoent() routine is
- * available to close whatever was being used for protocol queries.
- */
-/*#define HAS_ENDPROTOENT / **/
-
/* HAS_ENDPROTOENT_R:
* This symbol, if defined, indicates that the endprotoent_r routine
* is available to endprotoent re-entrantly.
@@ -1253,12 +1188,6 @@
/*#define HAS_ENDPROTOENT_R / **/
#define ENDPROTOENT_R_PROTO 0 /**/
-/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the passwd database.
- */
-/*#define HAS_ENDPWENT / **/
-
/* HAS_ENDPWENT_R:
* This symbol, if defined, indicates that the endpwent_r routine
* is available to endpwent re-entrantly.
@@ -1272,12 +1201,6 @@
/*#define HAS_ENDPWENT_R / **/
#define ENDPWENT_R_PROTO 0 /**/
-/* HAS_ENDSERVENT:
- * This symbol, if defined, indicates that the endservent() routine is
- * available to close whatever was being used for service queries.
- */
-/*#define HAS_ENDSERVENT / **/
-
/* HAS_ENDSERVENT_R:
* This symbol, if defined, indicates that the endservent_r routine
* is available to endservent re-entrantly.
@@ -1291,17 +1214,28 @@
/*#define HAS_ENDSERVENT_R / **/
#define ENDSERVENT_R_PROTO 0 /**/
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
+/* HAS_FD_SET:
+ * This symbol, when defined, indicates presence of the fd_set typedef
+ * in <sys/types.h>
*/
-/*#define FLEXFILENAMES / **/
+/*#define HAS_FD_SET / **/
-/* HAS_GETGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for sequential access of the group database.
+/* Gconvert:
+ * This preprocessor macro is defined to convert a floating point
+ * number to a string without a trailing decimal point. This
+ * emulates the behavior of sprintf("%g"), but is sometimes much more
+ * efficient. If gconvert() is not available, but gcvt() drops the
+ * trailing decimal point, then gcvt() is used. If all else fails,
+ * a macro using sprintf("%g") is used. Arguments for the Gconvert
+ * macro are: value, number of digits, whether trailing zeros should
+ * be retained, and the output buffer.
+ * The usual values are:
+ * d_Gconvert='gconvert((x),(n),(t),(b))'
+ * d_Gconvert='gcvt((x),(n),(b))'
+ * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ * The last two assume trailing zeros should not be kept.
*/
-/*#define HAS_GETGRENT / **/
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
/* HAS_GETGRENT_R:
* This symbol, if defined, indicates that the getgrent_r routine
@@ -1342,53 +1276,6 @@
/*#define HAS_GETGRNAM_R / **/
#define GETGRNAM_R_PROTO 0 /**/
-/* HAS_GETHOSTBYADDR:
- * This symbol, if defined, indicates that the gethostbyaddr() routine is
- * available to look up hosts by their IP addresses.
- */
-/*#define HAS_GETHOSTBYADDR / **/
-
-/* HAS_GETHOSTBYNAME:
- * This symbol, if defined, indicates that the gethostbyname() routine is
- * available to look up host names in some data base or other.
- */
-/*#define HAS_GETHOSTBYNAME / **/
-
-/* HAS_GETHOSTENT:
- * This symbol, if defined, indicates that the gethostent() routine is
- * available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT / **/
-
-/* HAS_GETHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * gethostname() routine to derive the host name. See also HAS_UNAME
- * and PHOSTNAME.
- */
-/* HAS_UNAME:
- * This symbol, if defined, indicates that the C program may use the
- * uname() routine to derive the host name. See also HAS_GETHOSTNAME
- * and PHOSTNAME.
- */
-/* PHOSTNAME:
- * This symbol, if defined, indicates the command to feed to the
- * popen() routine to derive the host name. See also HAS_GETHOSTNAME
- * and HAS_UNAME. Note that the command uses a fully qualified path,
- * so that it is safe even if used by a process with super-user
- * privileges.
- */
-/* HAS_PHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * contents of PHOSTNAME as a command to feed to the popen() routine
- * to derive the host name.
- */
-/*#define HAS_GETHOSTNAME / **/
-/*#define HAS_UNAME / **/
-/*#define HAS_PHOSTNAME / **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/bin/hostname" /* How to get the host name */
-#endif
-
/* HAS_GETHOSTBYADDR_R:
* This symbol, if defined, indicates that the gethostbyaddr_r routine
* is available to gethostbyaddr re-entrantly.
@@ -1428,14 +1315,6 @@
/*#define HAS_GETHOSTENT_R / **/
#define GETHOSTENT_R_PROTO 0 /**/
-/* HAS_GETHOST_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for gethostent(), gethostbyname(), and
- * gethostbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETHOST_PROTOS / **/
-
/* HAS_GETLOGIN_R:
* This symbol, if defined, indicates that the getlogin_r routine
* is available to getlogin re-entrantly.
@@ -1449,24 +1328,6 @@
/*#define HAS_GETLOGIN_R / **/
#define GETLOGIN_R_PROTO 0 /**/
-/* HAS_GETNETBYADDR:
- * This symbol, if defined, indicates that the getnetbyaddr() routine is
- * available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR / **/
-
-/* HAS_GETNETBYNAME:
- * This symbol, if defined, indicates that the getnetbyname() routine is
- * available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME / **/
-
-/* HAS_GETNETENT:
- * This symbol, if defined, indicates that the getnetent() routine is
- * available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT / **/
-
/* HAS_GETNETBYADDR_R:
* This symbol, if defined, indicates that the getnetbyaddr_r routine
* is available to getnetbyaddr re-entrantly.
@@ -1506,41 +1367,12 @@
/*#define HAS_GETNETENT_R / **/
#define GETNETENT_R_PROTO 0 /**/
-/* HAS_GETNET_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getnetent(), getnetbyname(), and
- * getnetbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETNET_PROTOS / **/
-
-/* HAS_GETPROTOENT:
- * This symbol, if defined, indicates that the getprotoent() routine is
- * available to look up protocols in some data base or another.
- */
-/*#define HAS_GETPROTOENT / **/
-
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- * This symbol, if defined, indicates that getpgrp needs one
- * arguments whereas USG one needs none.
- */
-/*#define HAS_GETPGRP / **/
-/*#define USE_BSD_GETPGRP / **/
-
-/* HAS_GETPROTOBYNAME:
- * This symbol, if defined, indicates that the getprotobyname()
- * routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- * This symbol, if defined, indicates that the getprotobynumber()
- * routine is available to look up protocols by their number.
+/* HAS_GETPAGESIZE:
+ * This symbol, if defined, indicates that the getpagesize system call
+ * is available to get system page size, which is the granularity of
+ * many memory management calls.
*/
-/*#define HAS_GETPROTOBYNAME / **/
-/*#define HAS_GETPROTOBYNUMBER / **/
+/*#define HAS_GETPAGESIZE / **/
/* HAS_GETPROTOBYNAME_R:
* This symbol, if defined, indicates that the getprotobyname_r routine
@@ -1581,21 +1413,6 @@
/*#define HAS_GETPROTOENT_R / **/
#define GETPROTOENT_R_PROTO 0 /**/
-/* HAS_GETPROTO_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getprotoent(), getprotobyname(), and
- * getprotobyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETPROTO_PROTOS / **/
-
-/* HAS_GETPWENT:
- * This symbol, if defined, indicates that the getpwent routine is
- * available for sequential access of the passwd database.
- * If this is not available, the older getpw() function may be available.
- */
-/*#define HAS_GETPWENT / **/
-
/* HAS_GETPWENT_R:
* This symbol, if defined, indicates that the getpwent_r routine
* is available to getpwent re-entrantly.
@@ -1635,12 +1452,6 @@
/*#define HAS_GETPWUID_R / **/
#define GETPWUID_R_PROTO 0 /**/
-/* HAS_GETSERVENT:
- * This symbol, if defined, indicates that the getservent() routine is
- * available to look up network services in some data base or another.
- */
-/*#define HAS_GETSERVENT / **/
-
/* HAS_GETSERVBYNAME_R:
* This symbol, if defined, indicates that the getservbyname_r routine
* is available to getservbyname re-entrantly.
@@ -1680,14 +1491,6 @@
/*#define HAS_GETSERVENT_R / **/
#define GETSERVENT_R_PROTO 0 /**/
-/* HAS_GETSERV_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getservent(), getservbyname(), and
- * getservbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETSERV_PROTOS / **/
-
/* HAS_GETSPNAM_R:
* This symbol, if defined, indicates that the getspnam_r routine
* is available to getspnam re-entrantly.
@@ -1701,17 +1504,6 @@
/*#define HAS_GETSPNAM_R / **/
#define GETSPNAM_R_PROTO 0 /**/
-/* HAS_GETSERVBYNAME:
- * This symbol, if defined, indicates that the getservbyname()
- * routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- * This symbol, if defined, indicates that the getservbyport()
- * routine is available to look up services by their port.
- */
-/*#define HAS_GETSERVBYNAME / **/
-/*#define HAS_GETSERVBYPORT / **/
-
/* HAS_GMTIME_R:
* This symbol, if defined, indicates that the gmtime_r routine
* is available to gmtime re-entrantly.
@@ -1725,30 +1517,28 @@
/*#define HAS_GMTIME_R / **/
#define GMTIME_R_PROTO 0 /**/
-/* HAS_HTONL:
- * This symbol, if defined, indicates that the htonl() routine (and
- * friends htons() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_HTONS:
- * This symbol, if defined, indicates that the htons() routine (and
- * friends htonl() ntohl() ntohs()) are available to do network
- * order byte swapping.
+/* HAS_GNULIBC:
+ * This symbol, if defined, indicates to the C program that
+ * the GNU C library is being used. A better check is to use
+ * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
*/
-/* HAS_NTOHL:
- * This symbol, if defined, indicates that the ntohl() routine (and
- * friends htonl() htons() ntohs()) are available to do network
- * order byte swapping.
+/*#define HAS_GNULIBC / **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+# define _GNU_SOURCE
+#endif
+
+/* HAS_ISASCII:
+ * This manifest constant lets the C program know that isascii
+ * is available.
*/
-/* HAS_NTOHS:
- * This symbol, if defined, indicates that the ntohs() routine (and
- * friends htonl() htons() ntohl()) are available to do network
- * order byte swapping.
+/*#define HAS_ISASCII / **/
+
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
*/
-/*#define HAS_HTONL / **/
-/*#define HAS_HTONS / **/
-/*#define HAS_NTOHL / **/
-/*#define HAS_NTOHS / **/
+/*#define HAS_LCHOWN / **/
/* HAS_LOCALTIME_R:
* This symbol, if defined, indicates that the localtime_r routine
@@ -1776,71 +1566,11 @@
/*#define HAS_LOCALTIME_R / **/
#define LOCALTIME_R_PROTO 0 /**/
-/* HAS_LONG_DOUBLE:
- * This symbol will be defined if the C compiler supports long
- * doubles.
- */
-/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long doubles.
- */
-/*#define HAS_LONG_DOUBLE / **/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 8 /**/
-#endif
-
-/* HAS_LONG_LONG:
- * This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long long.
- */
-/*#define HAS_LONG_LONG / **/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8 /**/
-#endif
-
-/* HAS_LSEEK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the lseek() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern off_t lseek(int, off_t, int);
- */
-/*#define HAS_LSEEK_PROTO / **/
-
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#define HAS_MEMCHR /**/
-
-/* HAS_MKSTEMP:
- * This symbol, if defined, indicates that the mkstemp routine is
- * available to exclusively create and open a uniquely named
- * temporary file.
- */
-/*#define HAS_MKSTEMP / **/
-
-/* HAS_MMAP:
- * This symbol, if defined, indicates that the mmap system call is
- * available to map a file into memory.
- */
-/* Mmap_t:
- * This symbol holds the return type of the mmap() system call
- * (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
- */
-/*#define HAS_MMAP / **/
-#define Mmap_t void * /**/
-
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
+/* HAS_OPEN3:
+ * This manifest constant lets the C program know that the three
+ * argument form of open(2) is available.
*/
-/*#define HAS_MSG / **/
+/*#define HAS_OPEN3 / **/
/* OLD_PTHREAD_CREATE_JOINABLE:
* This symbol, if defined, indicates how to create pthread
@@ -1916,17 +1646,28 @@
/*#define HAS_READDIR_R / **/
#define READDIR_R_PROTO 0 /**/
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
+/* HAS_SAFE_BCOPY:
+ * This symbol, if defined, indicates that the bcopy routine is available
+ * to copy potentially overlapping memory blocks. Normally, you should
+ * probably use memmove() or memcpy(). If neither is defined, roll your
+ * own version.
*/
-/*#define HAS_SEM / **/
+/*#define HAS_SAFE_BCOPY / **/
-/* HAS_SETGRENT:
- * This symbol, if defined, indicates that the setgrent routine is
- * available for initializing sequential access of the group database.
+/* HAS_SAFE_MEMCPY:
+ * This symbol, if defined, indicates that the memcpy routine is available
+ * to copy potentially overlapping memory blocks. If you need to
+ * copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ * use memmove() instead, if available.
*/
-/*#define HAS_SETGRENT / **/
+/*#define HAS_SAFE_MEMCPY / **/
+
+/* HAS_SANE_MEMCMP:
+ * This symbol, if defined, indicates that the memcmp routine is available
+ * and can be used to compare relative magnitudes of chars with their high
+ * bits set. If it is not defined, roll your own version.
+ */
+/*#define HAS_SANE_MEMCMP / **/
/* HAS_SETGRENT_R:
* This symbol, if defined, indicates that the setgrent_r routine
@@ -1941,12 +1682,6 @@
/*#define HAS_SETGRENT_R / **/
#define SETGRENT_R_PROTO 0 /**/
-/* HAS_SETHOSTENT:
- * This symbol, if defined, indicates that the sethostent() routine is
- * available.
- */
-/*#define HAS_SETHOSTENT / **/
-
/* HAS_SETHOSTENT_R:
* This symbol, if defined, indicates that the sethostent_r routine
* is available to sethostent re-entrantly.
@@ -1973,12 +1708,6 @@
/*#define HAS_SETLOCALE_R / **/
#define SETLOCALE_R_PROTO 0 /**/
-/* HAS_SETNETENT:
- * This symbol, if defined, indicates that the setnetent() routine is
- * available.
- */
-/*#define HAS_SETNETENT / **/
-
/* HAS_SETNETENT_R:
* This symbol, if defined, indicates that the setnetent_r routine
* is available to setnetent re-entrantly.
@@ -1992,24 +1721,6 @@
/*#define HAS_SETNETENT_R / **/
#define SETNETENT_R_PROTO 0 /**/
-/* HAS_SETPROTOENT:
- * This symbol, if defined, indicates that the setprotoent() routine is
- * available.
- */
-/*#define HAS_SETPROTOENT / **/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- * This symbol, if defined, indicates that setpgrp needs two
- * arguments whereas USG one needs none. See also HAS_SETPGID
- * for a POSIX interface.
- */
-/*#define HAS_SETPGRP / **/
-/*#define USE_BSD_SETPGRP / **/
-
/* HAS_SETPROTOENT_R:
* This symbol, if defined, indicates that the setprotoent_r routine
* is available to setprotoent re-entrantly.
@@ -2023,12 +1734,6 @@
/*#define HAS_SETPROTOENT_R / **/
#define SETPROTOENT_R_PROTO 0 /**/
-/* HAS_SETPWENT:
- * This symbol, if defined, indicates that the setpwent routine is
- * available for initializing sequential access of the passwd database.
- */
-/*#define HAS_SETPWENT / **/
-
/* HAS_SETPWENT_R:
* This symbol, if defined, indicates that the setpwent_r routine
* is available to setpwent re-entrantly.
@@ -2042,12 +1747,6 @@
/*#define HAS_SETPWENT_R / **/
#define SETPWENT_R_PROTO 0 /**/
-/* HAS_SETSERVENT:
- * This symbol, if defined, indicates that the setservent() routine is
- * available.
- */
-/*#define HAS_SETSERVENT / **/
-
/* HAS_SETSERVENT_R:
* This symbol, if defined, indicates that the setservent_r routine
* is available to setservent re-entrantly.
@@ -2061,6 +1760,933 @@
/*#define HAS_SETSERVENT_R / **/
#define SETSERVENT_R_PROTO 0 /**/
+/* HAS_SIGACTION:
+ * This symbol, if defined, indicates that Vr4's sigaction() routine
+ * is available.
+ */
+/*#define HAS_SIGACTION / **/
+
+/* HAS_SIGSETJMP:
+ * This variable indicates to the C program that the sigsetjmp()
+ * routine is available to save the calling process's registers
+ * and stack environment for later use by siglongjmp(), and
+ * to optionally save the process's signal mask. See
+ * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ * This macro is used in the same way as sigsetjmp(), but will invoke
+ * traditional setjmp() if sigsetjmp isn't available.
+ * See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ * This macro is used in the same way as siglongjmp(), but will invoke
+ * traditional longjmp() if siglongjmp isn't available.
+ * See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP / **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
+/* HAS_SRAND48_R:
+ * This symbol, if defined, indicates that the srand48_r routine
+ * is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ * This symbol encodes the prototype of srand48_r.
+ * It is zero if d_srand48_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+ * is defined.
+ */
+/*#define HAS_SRAND48_R / **/
+#define SRAND48_R_PROTO 0 /**/
+
+/* HAS_SRANDOM_R:
+ * This symbol, if defined, indicates that the srandom_r routine
+ * is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ * This symbol encodes the prototype of srandom_r.
+ * It is zero if d_srandom_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+ * is defined.
+ */
+/*#define HAS_SRANDOM_R / **/
+#define SRANDOM_R_PROTO 0 /**/
+
+/* USE_STDIO_PTR:
+ * This symbol is defined if the _ptr and _cnt fields (or similar)
+ * of the stdio FILE structure can be used to access the stdio buffer
+ * for a file handle. If this is defined, then the FILE_ptr(fp)
+ * and FILE_cnt(fp) macros will also be defined and should be used
+ * to access these fields.
+ */
+/* FILE_ptr:
+ * This macro is used to access the _ptr field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ * This symbol is defined if the FILE_ptr macro can be used as an
+ * lvalue.
+ */
+/* FILE_cnt:
+ * This macro is used to access the _cnt field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ * This symbol is defined if the FILE_cnt macro can be used as an
+ * lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n has the side effect of decreasing the
+ * value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+/*#define USE_STDIO_PTR / **/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp) ((fp)->_IO_read_ptr)
+/*#define STDIO_PTR_LVALUE / **/
+#define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
+/*#define STDIO_CNT_LVALUE / **/
+/*#define STDIO_PTR_LVAL_SETS_CNT / **/
+/*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
+#endif
+
+/* USE_STDIO_BASE:
+ * This symbol is defined if the _base field (or similar) of the
+ * stdio FILE structure can be used to access the stdio buffer for
+ * a file handle. If this is defined, then the FILE_base(fp) macro
+ * will also be defined and should be used to access this field.
+ * Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ * to determine the number of bytes in the buffer. USE_STDIO_BASE
+ * will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ * This macro is used to access the _base field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ * This macro is used to determine the number of bytes in the I/O
+ * buffer pointed to by _base field (or equivalent) of the FILE
+ * structure pointed to its argument. This macro will always be defined
+ * if USE_STDIO_BASE is defined.
+ */
+/*#define USE_STDIO_BASE / **/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp) ((fp)->_IO_read_base)
+#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
+#endif
+
+/* HAS_STRERROR_R:
+ * This symbol, if defined, indicates that the strerror_r routine
+ * is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ * This symbol encodes the prototype of strerror_r.
+ * It is zero if d_strerror_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+ * is defined.
+ */
+/*#define HAS_STRERROR_R / **/
+#define STRERROR_R_PROTO 0 /**/
+
+/* HAS_TMPNAM_R:
+ * This symbol, if defined, indicates that the tmpnam_r routine
+ * is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ * This symbol encodes the prototype of tmpnam_r.
+ * It is zero if d_tmpnam_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+ * is defined.
+ */
+/*#define HAS_TMPNAM_R / **/
+#define TMPNAM_R_PROTO 0 /**/
+
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ * It is zero if d_ttyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ * is defined.
+ */
+/*#define HAS_TTYNAME_R / **/
+#define TTYNAME_R_PROTO 0 /**/
+
+/* HAS_VPRINTF:
+ * This symbol, if defined, indicates that the vprintf routine is available
+ * to printf with a pointer to an argument list. If unavailable, you
+ * may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ * This symbol is defined if this system has vsprintf() returning type
+ * (char*). The trend seems to be to declare it as "int vsprintf()". It
+ * is up to the package author to declare vsprintf correctly based on the
+ * symbol.
+ */
+#define HAS_VPRINTF /**/
+/*#define USE_CHAR_VSPRINTF / **/
+
+/* DOUBLESIZE:
+ * This symbol contains the size of a double, so that the C preprocessor
+ * can make decisions based on it.
+ */
+#define DOUBLESIZE 8 /**/
+
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
+ */
+/*#define I_MACH_CTHREADS / **/
+
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+/*#define I_PTHREAD / **/
+
+/* I_SYS_ACCESS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/access.h>.
+ */
+/*#define I_SYS_ACCESS / **/
+
+/* I_SYS_SECURITY:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/security.h>.
+ */
+/*#define I_SYS_SECURITY / **/
+
+/* I_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <time.h>.
+ */
+/* I_SYS_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME /**/
+/*#define I_SYS_TIME / **/
+/*#define I_SYS_TIME_KERNEL / **/
+/*#define HAS_TM_TM_ZONE / **/
+/*#define HAS_TM_TM_GMTOFF / **/
+
+/* PERL_INC_VERSION_LIST:
+ * This variable specifies the list of subdirectories in over
+ * which perl.c:incpush() and lib/lib.pm will automatically
+ * search when adding directories to @INC, in a format suitable
+ * for a C initialization string. See the inc_version_list entry
+ * in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST NULL / **/
+
+/* INSTALL_USR_BIN_PERL:
+ * This symbol, if defined, indicates that Perl is to be installed
+ * also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL / **/
+
+/* VAL_O_NONBLOCK:
+ * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ * non-blocking I/O for the file descriptor. Note that there is no way
+ * back, i.e. you cannot turn it blocking again this way. If you wish to
+ * alternatively switch between blocking and non-blocking, use the
+ * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ * This symbol holds the errno error code set by read() when no data was
+ * present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ * This symbol holds the return code from read() when no data is present
+ * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ * not defined, then you can't distinguish between no data and EOF by
+ * issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ * This symbol, if defined, indicates to the C program that a read() on
+ * a non-blocking file descriptor will return 0 on EOF, and not the value
+ * held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#undef EOF_NONBLOCK
+
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS " " / **/
+
+/* PRIVLIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ * This symbol contains the ~name expanded version of PRIVLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "/usr/local/lib/perl5/5.14" /**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.14" /**/
+
+/* PTRSIZE:
+ * This symbol contains the size of a pointer, so that the C preprocessor
+ * can make decisions based on it. It will be sizeof(void *) if
+ * the compiler supports (void *); otherwise it will be
+ * sizeof(char *).
+ */
+#define PTRSIZE 4 /**/
+
+/* Drand01:
+ * This macro is to be used to generate uniformly distributed
+ * random numbers over the range [0., 1.[. You may have to supply
+ * an 'extern double drand48();' in your program since SunOS 4.1.3
+ * doesn't provide you with anything relevant in its headers.
+ * See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ * This symbol defines the type of the argument of the
+ * random seed function.
+ */
+/* seedDrand01:
+ * This symbol defines the macro to be used in seeding the
+ * random number generator (see Drand01).
+ */
+/* RANDBITS:
+ * This symbol indicates how many bits are produced by the
+ * function used to generate normalized random numbers.
+ * Values include 15, 16, 31, and 48.
+ */
+#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
+#define Rand_seed_t int /**/
+#define seedDrand01(x) srand((Rand_seed_t)x) /**/
+#define RANDBITS 48 /**/
+
+/* SITEARCH:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-dependent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ * This symbol contains the ~name expanded version of SITEARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define SITEARCH "/usr/local/lib/perl5/5.14/unknown" / **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.14/unknown" / **/
+
+/* SITELIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-independent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ * This symbol contains the ~name expanded version of SITELIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ * This define is SITELIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "/usr/local/lib/perl5/5.14" /**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.14" /**/
+#define SITELIB_STEM "/usr/local/lib/perl5" /**/
+
+/* SSize_t:
+ * This symbol holds the type used by functions that return
+ * a count of bytes or an error condition. It must be a signed type.
+ * It is usually ssize_t, but may be long or int, etc.
+ * It may be necessary to include <sys/types.h> or <unistd.h>
+ * to get any typedef'ed information.
+ * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int /* signed count of bytes */
+
+/* USE_ITHREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the 5.005-based threading implementation.
+ * Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ * This symbol, if defined, indicates that Perl should
+ * try to use the various _r versions of library functions.
+ * This is extremely experimental.
+ */
+/*#define USE_5005THREADS / **/
+/*#define USE_ITHREADS / **/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define USE_THREADS /* until src is revised*/
+#endif
+/*#define OLD_PTHREADS_API / **/
+/*#define USE_REENTRANT_API / **/
+
+/* PERL_VENDORARCH:
+ * If defined, this symbol contains the name of a private library.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world.
+ * It may have a ~ on the front.
+ * The standard distribution will put nothing in this directory.
+ * Vendors who distribute perl may wish to place their own
+ * architecture-dependent modules and extensions in this directory with
+ * MakeMaker Makefile.PL INSTALLDIRS=vendor
+ * or equivalent. See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH "" / **/
+/*#define PERL_VENDORARCH_EXP "" / **/
+
+/* PERL_VENDORLIB_EXP:
+ * This symbol contains the ~name expanded version of VENDORLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP "" / **/
+/*#define PERL_VENDORLIB_STEM "" / **/
+
+/* HAS_STATIC_INLINE:
+ * This symbol, if defined, indicates that the C compiler supports
+ * C99-style static inline. That is, the function can't be called
+ * from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ * This symbol gives the best-guess incantation to use for static
+ * inline functions. If HAS_STATIC_INLINE is defined, this will
+ * give C99-style inline. If HAS_STATIC_INLINE is not defined,
+ * this will give a plain 'static'. It will always be defined
+ * to something that gives static linkage.
+ * Possibilities include
+ * static inline (c99)
+ * static __inline__ (gcc -ansi)
+ * static __inline (MSVC)
+ * static _inline (older MSVC)
+ * static (c89 compilers)
+ */
+/*#define HAS_STATIC_INLINE / **/
+#define PERL_STATIC_INLINE static /**/
+
+/* EBCDIC:
+ * This symbol, if defined, indicates that this system uses
+ * EBCDIC encoding.
+ */
+/*#define EBCDIC / **/
+
+/* OSNAME:
+ * This symbol contains the name of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
+ */
+/* OSVERS:
+ * This symbol contains the version of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "unknown" /**/
+#define OSVERS "unknown" /**/
+
+/* CAT2:
+ * This macro concatenates 2 tokens together.
+ */
+/* STRINGIFY:
+ * This macro surrounds its token with double quotes.
+ */
+#if 42 == 1
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
+#endif
+#if 42 == 42
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
+#endif
+#if 42 != 1 && 42 != 42
+#include "Bletch: How does this C preprocessor concatenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ * This symbol contains the first part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. Typical value of "cc -E" or "/lib/cpp", but it can also
+ * call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ * This symbol contains the second part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. This symbol will have the value "-" if CPPSTDIN needs a minus
+ * to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ * This symbol contains the string which will invoke a C preprocessor on
+ * the standard input and produce to standard output. It needs to end
+ * with CPPLAST, after all other preprocessor flags have been specified.
+ * The main difference with CPPSTDIN is that this program will never be a
+ * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ * available directly to the user. Note that it may well be different from
+ * the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ * This symbol is intended to be used along with CPPRUN in the same manner
+ * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "cc -E"
+#define CPPMINUS "-"
+#define CPPRUN "cc -E"
+#define CPPLAST "-"
+
+/* HAS_ACCESS:
+ * This manifest constant lets the C program know that the access()
+ * system call is available to check for accessibility using real UID/GID.
+ * (always present on UNIX.)
+ */
+/*#define HAS_ACCESS / **/
+
+/* HASATTRIBUTE_FORMAT:
+ * Can we handle GCC attribute for checking printf-style formats
+ */
+/* PRINTF_FORMAT_NULL_OK:
+ * Allows __printf__ format to be null when checking printf-style
+ */
+/* HASATTRIBUTE_MALLOC:
+ * Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ * Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ * Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ * Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ * Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_DEPRECATED:
+ * Can we handle GCC attribute for marking deprecated APIs
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ * Can we handle GCC attribute for warning on unused results
+ */
+/*#define HASATTRIBUTE_DEPRECATED / **/
+/*#define HASATTRIBUTE_FORMAT / **/
+/*#define PRINTF_FORMAT_NULL_OK / **/
+/*#define HASATTRIBUTE_NORETURN / **/
+/*#define HASATTRIBUTE_MALLOC / **/
+/*#define HASATTRIBUTE_NONNULL / **/
+/*#define HASATTRIBUTE_PURE / **/
+/*#define HASATTRIBUTE_UNUSED / **/
+/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+
+/* HASCONST:
+ * This symbol, if defined, indicates that this C compiler knows about
+ * the const type. There is no need to actually test for that symbol
+ * within your programs. The mere use of the "const" keyword will
+ * trigger the necessary tests.
+ */
+/*#define HASCONST / **/
+#ifndef HASCONST
+#define const
+#endif
+
+/* HAS_CSH:
+ * This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ * This symbol, if defined, contains the full pathname of csh.
+ */
+/*#define HAS_CSH / **/
+#ifdef HAS_CSH
+#define CSH "" /**/
+#endif
+
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
+/*#define DOSUID / **/
+
+/* HAS_ENDGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the group database.
+ */
+/*#define HAS_ENDGRENT / **/
+
+/* HAS_ENDHOSTENT:
+ * This symbol, if defined, indicates that the endhostent() routine is
+ * available to close whatever was being used for host queries.
+ */
+/*#define HAS_ENDHOSTENT / **/
+
+/* HAS_ENDNETENT:
+ * This symbol, if defined, indicates that the endnetent() routine is
+ * available to close whatever was being used for network queries.
+ */
+/*#define HAS_ENDNETENT / **/
+
+/* HAS_ENDPROTOENT:
+ * This symbol, if defined, indicates that the endprotoent() routine is
+ * available to close whatever was being used for protocol queries.
+ */
+/*#define HAS_ENDPROTOENT / **/
+
+/* HAS_ENDPWENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the passwd database.
+ */
+/*#define HAS_ENDPWENT / **/
+
+/* HAS_ENDSERVENT:
+ * This symbol, if defined, indicates that the endservent() routine is
+ * available to close whatever was being used for service queries.
+ */
+/*#define HAS_ENDSERVENT / **/
+
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+/*#define FLEXFILENAMES / **/
+
+/* HAS_GETGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for sequential access of the group database.
+ */
+/*#define HAS_GETGRENT / **/
+
+/* HAS_GETHOSTBYADDR:
+ * This symbol, if defined, indicates that the gethostbyaddr() routine is
+ * available to look up hosts by their IP addresses.
+ */
+/*#define HAS_GETHOSTBYADDR / **/
+
+/* HAS_GETHOSTBYNAME:
+ * This symbol, if defined, indicates that the gethostbyname() routine is
+ * available to look up host names in some data base or other.
+ */
+/*#define HAS_GETHOSTBYNAME / **/
+
+/* HAS_GETHOSTENT:
+ * This symbol, if defined, indicates that the gethostent() routine is
+ * available to look up host names in some data base or another.
+ */
+/*#define HAS_GETHOSTENT / **/
+
+/* HAS_GETHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * gethostname() routine to derive the host name. See also HAS_UNAME
+ * and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * uname() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ * This symbol, if defined, indicates the command to feed to the
+ * popen() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and HAS_UNAME. Note that the command uses a fully qualified path,
+ * so that it is safe even if used by a process with super-user
+ * privileges.
+ */
+/* HAS_PHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTNAME as a command to feed to the popen() routine
+ * to derive the host name.
+ */
+/*#define HAS_GETHOSTNAME / **/
+/*#define HAS_UNAME / **/
+/*#define HAS_PHOSTNAME / **/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "/bin/hostname" /* How to get the host name */
+#endif
+
+/* HAS_GETNETBYADDR:
+ * This symbol, if defined, indicates that the getnetbyaddr() routine is
+ * available to look up networks by their IP addresses.
+ */
+/*#define HAS_GETNETBYADDR / **/
+
+/* HAS_GETNETBYNAME:
+ * This symbol, if defined, indicates that the getnetbyname() routine is
+ * available to look up networks by their names.
+ */
+/*#define HAS_GETNETBYNAME / **/
+
+/* HAS_GETNETENT:
+ * This symbol, if defined, indicates that the getnetent() routine is
+ * available to look up network names in some data base or another.
+ */
+/*#define HAS_GETNETENT / **/
+
+/* HAS_GETPROTOENT:
+ * This symbol, if defined, indicates that the getprotoent() routine is
+ * available to look up protocols in some data base or another.
+ */
+/*#define HAS_GETPROTOENT / **/
+
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ * This symbol, if defined, indicates that getpgrp needs one
+ * arguments whereas USG one needs none.
+ */
+/*#define HAS_GETPGRP / **/
+/*#define USE_BSD_GETPGRP / **/
+
+/* HAS_GETPROTOBYNAME:
+ * This symbol, if defined, indicates that the getprotobyname()
+ * routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ * This symbol, if defined, indicates that the getprotobynumber()
+ * routine is available to look up protocols by their number.
+ */
+/*#define HAS_GETPROTOBYNAME / **/
+/*#define HAS_GETPROTOBYNUMBER / **/
+
+/* HAS_GETPWENT:
+ * This symbol, if defined, indicates that the getpwent routine is
+ * available for sequential access of the passwd database.
+ * If this is not available, the older getpw() function may be available.
+ */
+/*#define HAS_GETPWENT / **/
+
+/* HAS_GETSERVENT:
+ * This symbol, if defined, indicates that the getservent() routine is
+ * available to look up network services in some data base or another.
+ */
+/*#define HAS_GETSERVENT / **/
+
+/* HAS_GETSERVBYNAME:
+ * This symbol, if defined, indicates that the getservbyname()
+ * routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ * This symbol, if defined, indicates that the getservbyport()
+ * routine is available to look up services by their port.
+ */
+/*#define HAS_GETSERVBYNAME / **/
+/*#define HAS_GETSERVBYPORT / **/
+
+/* HAS_HTONL:
+ * This symbol, if defined, indicates that the htonl() routine (and
+ * friends htons() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_HTONS:
+ * This symbol, if defined, indicates that the htons() routine (and
+ * friends htonl() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHL:
+ * This symbol, if defined, indicates that the ntohl() routine (and
+ * friends htonl() htons() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHS:
+ * This symbol, if defined, indicates that the ntohs() routine (and
+ * friends htonl() htons() ntohl()) are available to do network
+ * order byte swapping.
+ */
+/*#define HAS_HTONL / **/
+/*#define HAS_HTONS / **/
+/*#define HAS_NTOHL / **/
+/*#define HAS_NTOHS / **/
+
+/* HAS_LONG_DOUBLE:
+ * This symbol will be defined if the C compiler supports long
+ * doubles.
+ */
+/* LONG_DOUBLESIZE:
+ * This symbol contains the size of a long double, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long doubles.
+ */
+/*#define HAS_LONG_DOUBLE / **/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE 8 /**/
+#endif
+
+/* HAS_LONG_LONG:
+ * This symbol will be defined if the C compiler supports long long.
+ */
+/* LONGLONGSIZE:
+ * This symbol contains the size of a long long, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long long.
+ */
+/*#define HAS_LONG_LONG / **/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8 /**/
+#endif
+
+/* HAS_MEMCHR:
+ * This symbol, if defined, indicates that the memchr routine is available
+ * to locate characters within a C string.
+ */
+#define HAS_MEMCHR /**/
+
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+/*#define HAS_MKSTEMP / **/
+
+/* HAS_MMAP:
+ * This symbol, if defined, indicates that the mmap system call is
+ * available to map a file into memory.
+ */
+/* Mmap_t:
+ * This symbol holds the return type of the mmap() system call
+ * (and simultaneously the type of the first argument).
+ * Usually set to 'void *' or 'caddr_t'.
+ */
+/*#define HAS_MMAP / **/
+#define Mmap_t void * /**/
+
+/* HAS_MSG:
+ * This symbol, if defined, indicates that the entire msg*(2) library is
+ * supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG / **/
+
+/* HAS_SEM:
+ * This symbol, if defined, indicates that the entire sem*(2) library is
+ * supported.
+ */
+/*#define HAS_SEM / **/
+
+/* HAS_SETGRENT:
+ * This symbol, if defined, indicates that the setgrent routine is
+ * available for initializing sequential access of the group database.
+ */
+/*#define HAS_SETGRENT / **/
+
+/* HAS_SETHOSTENT:
+ * This symbol, if defined, indicates that the sethostent() routine is
+ * available.
+ */
+/*#define HAS_SETHOSTENT / **/
+
+/* HAS_SETNETENT:
+ * This symbol, if defined, indicates that the setnetent() routine is
+ * available.
+ */
+/*#define HAS_SETNETENT / **/
+
+/* HAS_SETPROTOENT:
+ * This symbol, if defined, indicates that the setprotoent() routine is
+ * available.
+ */
+/*#define HAS_SETPROTOENT / **/
+
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ * This symbol, if defined, indicates that setpgrp needs two
+ * arguments whereas USG one needs none. See also HAS_SETPGID
+ * for a POSIX interface.
+ */
+/*#define HAS_SETPGRP / **/
+/*#define USE_BSD_SETPGRP / **/
+
+/* HAS_SETPWENT:
+ * This symbol, if defined, indicates that the setpwent routine is
+ * available for initializing sequential access of the passwd database.
+ */
+/*#define HAS_SETPWENT / **/
+
+/* HAS_SETSERVENT:
+ * This symbol, if defined, indicates that the setservent() routine is
+ * available.
+ */
+/*#define HAS_SETSERVENT / **/
+
/* HAS_SETVBUF:
* This symbol, if defined, indicates that the setvbuf routine is
* available to change buffering on an open stdio stream.
@@ -2126,40 +2752,25 @@
* Checking just with #ifdef might not be enough because this symbol
* has been known to be an enum.
*/
+/* HAS_SOCKADDR_SA_LEN:
+ * This symbol, if defined, indicates that the struct sockaddr
+ * structure has a member called sa_len, indicating the length of
+ * the structure.
+ */
+/* HAS_SIN6_SCOPE_ID:
+ * This symbol, if defined, indicates that the struct sockaddr_in6
+ * structure has a member called sin6_scope_id.
+ */
/*#define HAS_SOCKET / **/
/*#define HAS_SOCKETPAIR / **/
+/*#define HAS_SOCKADDR_SA_LEN / **/
/*#define HAS_MSG_CTRUNC / **/
/*#define HAS_MSG_DONTROUTE / **/
/*#define HAS_MSG_OOB / **/
/*#define HAS_MSG_PEEK / **/
/*#define HAS_MSG_PROXY / **/
/*#define HAS_SCM_RIGHTS / **/
-
-/* HAS_SRAND48_R:
- * This symbol, if defined, indicates that the srand48_r routine
- * is available to srand48 re-entrantly.
- */
-/* SRAND48_R_PROTO:
- * This symbol encodes the prototype of srand48_r.
- * It is zero if d_srand48_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- * is defined.
- */
-/*#define HAS_SRAND48_R / **/
-#define SRAND48_R_PROTO 0 /**/
-
-/* HAS_SRANDOM_R:
- * This symbol, if defined, indicates that the srandom_r routine
- * is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- * This symbol encodes the prototype of srandom_r.
- * It is zero if d_srandom_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- * is defined.
- */
-/*#define HAS_SRANDOM_R / **/
-#define SRANDOM_R_PROTO 0 /**/
+/*#define HAS_SIN6_SCOPE_ID / **/
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
@@ -2195,69 +2806,12 @@
/*#define HAS_SYS_ERRLIST / **/
#define Strerror(e) strerror(e)
-/* HAS_STRERROR_R:
- * This symbol, if defined, indicates that the strerror_r routine
- * is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- * This symbol encodes the prototype of strerror_r.
- * It is zero if d_strerror_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- * is defined.
- */
-/*#define HAS_STRERROR_R / **/
-#define STRERROR_R_PROTO 0 /**/
-
/* HAS_STRTOUL:
* This symbol, if defined, indicates that the strtoul routine is
* available to provide conversion of strings to unsigned long.
*/
#define HAS_STRTOUL /**/
-/* HAS_TIME:
- * This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- * This symbol holds the type returned by time(). It can be long,
- * or time_t on BSD sites (in which case <sys/types.h> should be
- * included).
- */
-#define HAS_TIME /**/
-#define Time_t time_t /* Time type */
-
-/* HAS_TIMES:
- * This symbol, if defined, indicates that the times() routine exists.
- * Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-/*#define HAS_TIMES / **/
-
-/* HAS_TMPNAM_R:
- * This symbol, if defined, indicates that the tmpnam_r routine
- * is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- * This symbol encodes the prototype of tmpnam_r.
- * It is zero if d_tmpnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- * is defined.
- */
-/*#define HAS_TMPNAM_R / **/
-#define TMPNAM_R_PROTO 0 /**/
-
-/* HAS_TTYNAME_R:
- * This symbol, if defined, indicates that the ttyname_r routine
- * is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- * This symbol encodes the prototype of ttyname_r.
- * It is zero if d_ttyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- * is defined.
- */
-/*#define HAS_TTYNAME_R / **/
-#define TTYNAME_R_PROTO 0 /**/
-
/* HAS_UNION_SEMUN:
* This symbol, if defined, indicates that the union semun is
* defined by including <sys/sem.h>. If not, the user code
@@ -2308,38 +2862,6 @@
#define volatile
#endif
-/* Fpos_t:
- * This symbol holds the type used to declare file positions in libc.
- * It can be fpos_t, long, uint, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t int /* File position type */
-
-/* Gid_t_f:
- * This symbol defines the format string used for printing a Gid_t.
- */
-#define Gid_t_f "lu" /**/
-
-/* Gid_t_sign:
- * This symbol holds the signedess of a Gid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign 1 /* GID sign */
-
-/* Gid_t_size:
- * This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4 /* GID size */
-
-/* Gid_t:
- * This symbol holds the return type of getgid() and the type of
- * argument to setrgid() and related functions. Typically,
- * it is the type of group ids in the kernel. It can be int, ushort,
- * gid_t, etc... It may be necessary to include <sys/types.h> to get
- * any typedef'ed information.
- */
-#define Gid_t int /* Type for getgid(), etc... */
-
/* I_DIRENT:
* This symbol, if defined, indicates to the C program that it should
* include <dirent.h>. Using this symbol also triggers the definition
@@ -2371,12 +2893,6 @@
/*#define I_GRP / **/
/*#define GRPASSWD / **/
-/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
- */
-/*#define I_MACH_CTHREADS / **/
-
/* I_NDBM:
* This symbol, if defined, indicates that <ndbm.h> exists and should
* be included.
@@ -2428,12 +2944,6 @@
*/
/*#define I_NET_ERRNO / **/
-/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
- */
-/*#define I_PTHREAD / **/
-
/* I_PWD:
* This symbol, if defined, indicates to the C program that it should
* include <pwd.h>.
@@ -2480,18 +2990,6 @@
/*#define PWGECOS / **/
/*#define PWPASSWD / **/
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
- */
-/*#define I_SYS_ACCESS / **/
-
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
- */
-/*#define I_SYS_SECURITY / **/
-
/* I_SYSUIO:
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
@@ -2509,36 +3007,6 @@
#define I_STDARG /**/
/*#define I_VARARGS / **/
-/* PERL_INC_VERSION_LIST:
- * This variable specifies the list of subdirectories in over
- * which perl.c:incpush() and lib/lib.pm will automatically
- * search when adding directories to @INC, in a format suitable
- * for a C initialization string. See the inc_version_list entry
- * in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST NULL / **/
-
-/* INSTALL_USR_BIN_PERL:
- * This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL / **/
-
-/* Off_t:
- * This symbol holds the type used to declare offsets in the kernel.
- * It can be int, long, off_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- * This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- * This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t int /* <offset> type */
-#define LSEEKSIZE 4 /* <offset> size */
-#define Off_t_size 4 /* <offset> size */
-
/* Free_t:
* This variable contains the return type of free(). It is usually
* void, but occasionally int.
@@ -2559,65 +3027,6 @@
*/
/*#define MYMALLOC / **/
-/* Mode_t:
- * This symbol holds the type used to declare file modes
- * for systems calls. It is usually mode_t, but may be
- * int or unsigned short. It may be necessary to include <sys/types.h>
- * to get any typedef'ed information.
- */
-#define Mode_t int /* file mode parameter for system calls */
-
-/* Netdb_host_t:
- * This symbol holds the type used for the 1st argument
- * to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- * This symbol holds the type used for the 2nd argument
- * to gethostbyaddr().
- */
-/* Netdb_name_t:
- * This symbol holds the type used for the argument to
- * gethostbyname().
- */
-/* Netdb_net_t:
- * This symbol holds the type used for the 1st argument to
- * getnetbyaddr().
- */
-#define Netdb_host_t const char * /**/
-#define Netdb_hlen_t int /**/
-#define Netdb_name_t const char * /**/
-#define Netdb_net_t unsigned long /**/
-
-/* PERL_OTHERLIBDIRS:
- * This variable contains a colon-separated set of paths for the perl
- * binary to search for additional library files or modules.
- * These directories will be tacked to the end of @INC.
- * Perl will automatically search below each path for version-
- * and architecture-specific directories. See PERL_INC_VERSION_LIST
- * for more details.
- */
-/*#define PERL_OTHERLIBDIRS " " / **/
-
-/* Pid_t:
- * This symbol holds the type used to declare process ids in the kernel.
- * It can be int, uint, pid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int /* PID type */
-
-/* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- * This symbol contains the ~name expanded version of PRIVLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "/usr/local/lib/perl5/5.11" /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.11" /**/
-
/* CAN_PROTOTYPE:
* If defined, this macro indicates that the C compiler can handle
* function prototypes.
@@ -2636,14 +3045,6 @@
#define _(args) ()
#endif
-/* Select_fd_set_t:
- * This symbol holds the type used for the 2nd, 3rd, and 4th
- * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
- * have select(), of course.
- */
-#define Select_fd_set_t int /**/
-
/* SH_PATH:
* This symbol contains the full pathname to the shell used on this
* on this system to execute Bourne shell scripts. Usually, this will be
@@ -2693,152 +3094,12 @@
#define SIG_NUM 0 /**/
#define SIG_SIZE 1 /**/
-/* SITEARCH:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-dependent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITEARCH_EXP:
- * This symbol contains the ~name expanded version of SITEARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define SITEARCH "/usr/local/lib/perl5/5.11/unknown" / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.11/unknown" / **/
-
-/* SITELIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-independent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITELIB_EXP:
- * This symbol contains the ~name expanded version of SITELIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- * This define is SITELIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "/usr/local/lib/perl5/5.11" /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.11" /**/
-#define SITELIB_STEM "/usr/local/lib/perl5" /**/
-
-/* Size_t_size:
- * This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4 /* */
-
-/* Size_t:
- * This symbol holds the type used to declare length parameters
- * for string functions. It is usually size_t, but may be
- * unsigned long, int, etc. It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t /* length paramater for string functions */
-
-/* Sock_size_t:
- * This symbol holds the type used for the size argument of
- * various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t int /**/
-
/* STDCHAR:
* This symbol is defined to be the type of char used in stdio.h.
* It has the values "unsigned char" or "char".
*/
#define STDCHAR char /**/
-/* Uid_t_f:
- * This symbol defines the format string used for printing a Uid_t.
- */
-#define Uid_t_f "lu" /**/
-
-/* Uid_t_sign:
- * This symbol holds the signedess of a Uid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign 1 /* UID sign */
-
-/* Uid_t_size:
- * This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4 /* UID size */
-
-/* Uid_t:
- * This symbol holds the type used to declare user ids in the kernel.
- * It can be int, ushort, uid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t int /* UID type */
-
-/* USE_ITHREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- * This symbol, if defined, indicates that Perl should
- * be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- * This symbol, if defined, indicates that Perl should
- * try to use the various _r versions of library functions.
- * This is extremely experimental.
- */
-/*#define USE_5005THREADS / **/
-/*#define USE_ITHREADS / **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
-/*#define OLD_PTHREADS_API / **/
-/*#define USE_REENTRANT_API / **/
-
-/* PERL_VENDORARCH:
- * If defined, this symbol contains the name of a private library.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
- * The standard distribution will put nothing in this directory.
- * Vendors who distribute perl may wish to place their own
- * architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
- * or equivalent. See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH "" / **/
-/*#define PERL_VENDORARCH_EXP "" / **/
-
-/* PERL_VENDORLIB_EXP:
- * This symbol contains the ~name expanded version of VENDORLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP "" / **/
-/*#define PERL_VENDORLIB_STEM "" / **/
-
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
* compiler. What various bits mean:
@@ -2847,7 +3108,7 @@
* 2 = supports arrays of pointers to functions returning void
* 4 = supports comparisons between pointers to void functions and
* addresses of void functions
- * 8 = suports declaration of generic void pointers
+ * 8 = supports declaration of generic void pointers
*
* The package designer should define VOIDUSED to indicate the requirements
* of the package. This can be done either by #defining VOIDUSED before
@@ -2864,410 +3125,6 @@
#define M_VOID /* Xenix strikes again */
#endif
-/* USE_CROSS_COMPILE:
- * This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- * This symbol, if defined, indicates the target architecture
- * Perl has been cross-compiled to. Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define USE_CROSS_COMPILE / **/
-#define PERL_TARGETARCH "" /**/
-#endif
-
-/* MEM_ALIGNBYTES:
- * This symbol contains the number of bytes required to align a
- * double, or a long double when applicable. Usual values are 2,
- * 4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 4
-#endif
-
-/* BYTEORDER:
- * This symbol holds the hexadecimal constant defined in byteorder,
- * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- * If the compiler supports cross-compiling or multiple-architecture
- * binaries (eg. on NeXT systems), use compiler-defined macros to
- * determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# ifdef __LITTLE_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x1234
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x12345678
-# endif
-# endif
-# else
-# ifdef __BIG_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x4321
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
-#else
-#define BYTEORDER 0x1234 /* large digits for MSB */
-#endif /* NeXT */
-
-/* CASTI32:
- * This symbol is defined if the C compiler can cast negative
- * or large floating point numbers to 32-bit ints.
- */
-/*#define CASTI32 / **/
-
-/* CASTNEGFLOAT:
- * This symbol is defined if the C compiler can cast negative
- * numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- * This symbol contains flags that say what difficulties the compiler
- * has casting odd floating values to unsigned long:
- * 0 = ok
- * 1 = couldn't cast < 0
- * 2 = couldn't cast >= 0x80000000
- * 4 = couldn't cast in argument expression list
- */
-/*#define CASTNEGFLOAT / **/
-#define CASTFLAGS 0 /**/
-
-/* VOID_CLOSEDIR:
- * This symbol, if defined, indicates that the closedir() routine
- * does not return a value.
- */
-/*#define VOID_CLOSEDIR / **/
-
-/* HAS_FD_SET:
- * This symbol, when defined, indicates presence of the fd_set typedef
- * in <sys/types.h>
- */
-/*#define HAS_FD_SET / **/
-
-/* Gconvert:
- * This preprocessor macro is defined to convert a floating point
- * number to a string without a trailing decimal point. This
- * emulates the behavior of sprintf("%g"), but is sometimes much more
- * efficient. If gconvert() is not available, but gcvt() drops the
- * trailing decimal point, then gcvt() is used. If all else fails,
- * a macro using sprintf("%g") is used. Arguments for the Gconvert
- * macro are: value, number of digits, whether trailing zeros should
- * be retained, and the output buffer.
- * The usual values are:
- * d_Gconvert='gconvert((x),(n),(t),(b))'
- * d_Gconvert='gcvt((x),(n),(b))'
- * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- * The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- * This symbol, if defined, indicates that the getpagesize system call
- * is available to get system page size, which is the granularity of
- * many memory management calls.
- */
-/*#define HAS_GETPAGESIZE / **/
-
-/* HAS_GNULIBC:
- * This symbol, if defined, indicates to the C program that
- * the GNU C library is being used. A better check is to use
- * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC / **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-# define _GNU_SOURCE
-#endif
-
-/* HAS_ISASCII:
- * This manifest constant lets the C program know that isascii
- * is available.
- */
-/*#define HAS_ISASCII / **/
-
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
- */
-/*#define HAS_LCHOWN / **/
-
-/* HAS_OPEN3:
- * This manifest constant lets the C program know that the three
- * argument form of open(2) is available.
- */
-/*#define HAS_OPEN3 / **/
-
-/* HAS_SAFE_BCOPY:
- * This symbol, if defined, indicates that the bcopy routine is available
- * to copy potentially overlapping memory blocks. Normally, you should
- * probably use memmove() or memcpy(). If neither is defined, roll your
- * own version.
- */
-/*#define HAS_SAFE_BCOPY / **/
-
-/* HAS_SAFE_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy potentially overlapping memory blocks. If you need to
- * copy overlapping memory blocks, you should check HAS_MEMMOVE and
- * use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY / **/
-
-/* HAS_SANE_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * and can be used to compare relative magnitudes of chars with their high
- * bits set. If it is not defined, roll your own version.
- */
-/*#define HAS_SANE_MEMCMP / **/
-
-/* HAS_SIGACTION:
- * This symbol, if defined, indicates that Vr4's sigaction() routine
- * is available.
- */
-/*#define HAS_SIGACTION / **/
-
-/* HAS_SIGSETJMP:
- * This variable indicates to the C program that the sigsetjmp()
- * routine is available to save the calling process's registers
- * and stack environment for later use by siglongjmp(), and
- * to optionally save the process's signal mask. See
- * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- * This macro is used in the same way as sigsetjmp(), but will invoke
- * traditional setjmp() if sigsetjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- * This macro is used in the same way as siglongjmp(), but will invoke
- * traditional longjmp() if siglongjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP / **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
-/* USE_STDIO_PTR:
- * This symbol is defined if the _ptr and _cnt fields (or similar)
- * of the stdio FILE structure can be used to access the stdio buffer
- * for a file handle. If this is defined, then the FILE_ptr(fp)
- * and FILE_cnt(fp) macros will also be defined and should be used
- * to access these fields.
- */
-/* FILE_ptr:
- * This macro is used to access the _ptr field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- * This symbol is defined if the FILE_ptr macro can be used as an
- * lvalue.
- */
-/* FILE_cnt:
- * This macro is used to access the _cnt field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- * This symbol is defined if the FILE_cnt macro can be used as an
- * lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n has the side effect of decreasing the
- * value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-/*#define USE_STDIO_PTR / **/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp) ((fp)->_IO_read_ptr)
-/*#define STDIO_PTR_LVALUE / **/
-#define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
-/*#define STDIO_CNT_LVALUE / **/
-/*#define STDIO_PTR_LVAL_SETS_CNT / **/
-/*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
-#endif
-
-/* USE_STDIO_BASE:
- * This symbol is defined if the _base field (or similar) of the
- * stdio FILE structure can be used to access the stdio buffer for
- * a file handle. If this is defined, then the FILE_base(fp) macro
- * will also be defined and should be used to access this field.
- * Also, the FILE_bufsiz(fp) macro will be defined and should be used
- * to determine the number of bytes in the buffer. USE_STDIO_BASE
- * will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- * This macro is used to access the _base field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- * This macro is used to determine the number of bytes in the I/O
- * buffer pointed to by _base field (or equivalent) of the FILE
- * structure pointed to its argument. This macro will always be defined
- * if USE_STDIO_BASE is defined.
- */
-/*#define USE_STDIO_BASE / **/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp) ((fp)->_IO_read_base)
-#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
-#endif
-
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-#define I_TIME /**/
-/*#define I_SYS_TIME / **/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#undef EOF_NONBLOCK
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
-#define Rand_seed_t int /**/
-#define seedDrand01(x) srand((Rand_seed_t)x) /**/
-#define RANDBITS 48 /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int /* signed count of bytes */
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
/* PERL_USE_DEVEL:
* This symbol, if defined, indicates that Perl was configured with
* -Dusedevel, to enable development features. This should not be
@@ -3541,6 +3398,12 @@
*/
/*#define HAS_FUTIMES / **/
+/* HAS_GETADDRINFO:
+ * This symbol, if defined, indicates that the getaddrinfo() function
+ * is available for use.
+ */
+/*#define HAS_GETADDRINFO / **/
+
/* HAS_GETCWD:
* This symbol, if defined, indicates that the getcwd routine is
* available to get the current working directory.
@@ -3549,7 +3412,7 @@
/* HAS_GETESPWNAM:
* This symbol, if defined, indicates that the getespwnam system call is
- * available to retrieve enchanced (shadow) password entries by name.
+ * available to retrieve enhanced (shadow) password entries by name.
*/
/*#define HAS_GETESPWNAM / **/
@@ -3577,6 +3440,12 @@
*/
/*#define HAS_GETMNTENT / **/
+/* HAS_GETNAMEINFO:
+ * This symbol, if defined, indicates that the getnameinfo() function
+ * is available for use.
+ */
+/*#define HAS_GETNAMEINFO / **/
+
/* HAS_GETPRPWNAM:
* This symbol, if defined, indicates that the getprpwnam system call is
* available to retrieve protected (shadow) password entries by name.
@@ -3601,6 +3470,18 @@
*/
/*#define HAS_ILOGBL / **/
+/* HAS_INETNTOP:
+ * This symbol, if defined, indicates that the inet_ntop() function
+ * is available to parse IPv4 and IPv6 strings.
+ */
+/*#define HAS_INETNTOP / **/
+
+/* HAS_INETPTON:
+ * This symbol, if defined, indicates that the inet_pton() function
+ * is available to parse IPv4 and IPv6 strings.
+ */
+/*#define HAS_INETPTON / **/
+
/* HAS_INT64_T:
* This symbol will defined if the C compiler supports int64_t.
* Usually the <inttypes.h> needs to be included, but sometimes
@@ -3672,7 +3553,7 @@
/* HAS_MKSTEMPS:
* This symbol, if defined, indicates that the mkstemps routine is
- * available to excluslvely create and open a uniquely named
+ * available to exclusively create and open a uniquely named
* (with a suffix) temporary file.
*/
/*#define HAS_MKSTEMPS / **/
@@ -3722,6 +3603,17 @@
*/
/*#define HAS_OFF64_T / **/
+/* HAS_PRCTL:
+ * This symbol, if defined, indicates that the prctl routine is
+ * available to set process title.
+ */
+/* HAS_PRCTL_SET_NAME:
+ * This symbol, if defined, indicates that the prctl routine is
+ * available to set process title and supports PR_SET_NAME.
+ */
+/*#define HAS_PRCTL / **/
+/*#define HAS_PRCTL_SET_NAME / **/
+
/* HAS_PROCSELFEXE:
* This symbol is defined if PROCSELFEXE_PATH is a symlink
* to the absolute pathname of the executing program.
@@ -4282,7 +4174,7 @@
* of copying mechanisms, handy.h defines a platform-
* independent macro, Perl_va_copy(src, dst), to do the job.
*/
-/*#define NEED_VA_COPY / **/
+#define NEED_VA_COPY /**/
/* IVTYPE:
* This symbol defines the C type used for Perl's IV.
@@ -4361,7 +4253,7 @@
/* NV_OVERFLOWS_INTEGERS_AT:
* This symbol gives the largest integer value that NVs can hold. This
* value + 1.0 cannot be stored accurately. It is expressed as constant
- * floating point expression to reduce the chance of decimale/binary
+ * floating point expression to reduce the chance of decimal/binary
* conversion issues. If it can not be determined, the value 0 is given.
*/
/* NV_ZERO_IS_ALLBITS_ZERO:
@@ -4370,7 +4262,7 @@
*/
#define IVTYPE long /**/
#define UVTYPE unsigned long /**/
-#define I8TYPE char /**/
+#define I8TYPE signed char /**/
#define U8TYPE unsigned char /**/
#define I16TYPE short /**/
#define U16TYPE unsigned short /**/
@@ -4592,4 +4484,208 @@
/*#define USE_SOCKS / **/
#endif
+/* HAS_DRAND48_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the drand48() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern double drand48(void);
+ */
+/*#define HAS_DRAND48_PROTO / **/
+
+/* HAS_GETHOST_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for gethostent(), gethostbyname(), and
+ * gethostbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETHOST_PROTOS / **/
+
+/* HAS_GETNET_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getnetent(), getnetbyname(), and
+ * getnetbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETNET_PROTOS / **/
+
+/* HAS_GETPROTO_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getprotoent(), getprotobyname(), and
+ * getprotobyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETPROTO_PROTOS / **/
+
+/* HAS_GETSERV_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getservent(), getservbyname(), and
+ * getservbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETSERV_PROTOS / **/
+
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek(int, off_t, int);
+ */
+/*#define HAS_LSEEK_PROTO / **/
+
+/* Netdb_host_t:
+ * This symbol holds the type used for the 1st argument
+ * to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ * This symbol holds the type used for the 2nd argument
+ * to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ * This symbol holds the type used for the argument to
+ * gethostbyname().
+ */
+/* Netdb_net_t:
+ * This symbol holds the type used for the 1st argument to
+ * getnetbyaddr().
+ */
+#define Netdb_host_t const char * /**/
+#define Netdb_hlen_t int /**/
+#define Netdb_name_t const char * /**/
+#define Netdb_net_t unsigned long /**/
+
+/* Select_fd_set_t:
+ * This symbol holds the type used for the 2nd, 3rd, and 4th
+ * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
+ * is defined, and 'int *' otherwise. This is only useful if you
+ * have select(), of course.
+ */
+#define Select_fd_set_t int /**/
+
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument of
+ * various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t int /**/
+
+/* HAS_TIME:
+ * This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ * This symbol holds the type returned by time(). It can be long,
+ * or time_t on BSD sites (in which case <sys/types.h> should be
+ * included).
+ */
+#define HAS_TIME /**/
+#define Time_t time_t /* Time type */
+
+/* HAS_TIMES:
+ * This symbol, if defined, indicates that the times() routine exists.
+ * Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+/*#define HAS_TIMES / **/
+
+/* Fpos_t:
+ * This symbol holds the type used to declare file positions in libc.
+ * It can be fpos_t, long, uint, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t int /* File position type */
+
+/* Gid_t_f:
+ * This symbol defines the format string used for printing a Gid_t.
+ */
+#define Gid_t_f "lu" /**/
+
+/* Gid_t_sign:
+ * This symbol holds the signedess of a Gid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign 1 /* GID sign */
+
+/* Gid_t_size:
+ * This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4 /* GID size */
+
+/* Gid_t:
+ * This symbol holds the return type of getgid() and the type of
+ * argument to setrgid() and related functions. Typically,
+ * it is the type of group ids in the kernel. It can be int, ushort,
+ * gid_t, etc... It may be necessary to include <sys/types.h> to get
+ * any typedef'ed information.
+ */
+#define Gid_t int /* Type for getgid(), etc... */
+
+/* Off_t:
+ * This symbol holds the type used to declare offsets in the kernel.
+ * It can be int, long, off_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t int /* <offset> type */
+#define LSEEKSIZE 4 /* <offset> size */
+#define Off_t_size 4 /* <offset> size */
+
+/* Mode_t:
+ * This symbol holds the type used to declare file modes
+ * for systems calls. It is usually mode_t, but may be
+ * int or unsigned short. It may be necessary to include <sys/types.h>
+ * to get any typedef'ed information.
+ */
+#define Mode_t int /* file mode parameter for system calls */
+
+/* Pid_t:
+ * This symbol holds the type used to declare process ids in the kernel.
+ * It can be int, uint, pid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int /* PID type */
+
+/* Size_t_size:
+ * This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4 /* */
+
+/* Size_t:
+ * This symbol holds the type used to declare length parameters
+ * for string functions. It is usually size_t, but may be
+ * unsigned long, int, etc. It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t /* length parameter for string functions */
+
+/* Uid_t_f:
+ * This symbol defines the format string used for printing a Uid_t.
+ */
+#define Uid_t_f "lu" /**/
+
+/* Uid_t_sign:
+ * This symbol holds the signedess of a Uid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign 1 /* UID sign */
+
+/* Uid_t_size:
+ * This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4 /* UID size */
+
+/* Uid_t:
+ * This symbol holds the type used to declare user ids in the kernel.
+ * It can be int, ushort, uid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t int /* UID type */
+
#endif
+
+/* Generated from:
+ * 323778627146f2762cd41f4dd1db6659f59006ec9bcaaf6bcc645d0380dda938 config_h.SH
+ * 2cf3a76ed7acc1c0fee31fb6f5117eef18b28c542aa7225a22c84ed74b710c83 uconfig.sh
+ * ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/utf8.h b/Master/tlpkg/tlperl/lib/CORE/utf8.h
index 87653360eae..c40fb5883e1 100644
--- a/Master/tlpkg/tlperl/lib/CORE/utf8.h
+++ b/Master/tlpkg/tlperl/lib/CORE/utf8.h
@@ -16,10 +16,28 @@
# define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
#endif
+#define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, 1)
+#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, 1)
+
/* Source backward compatibility. */
#define uvuni_to_utf8(d, uv) uvuni_to_utf8_flags(d, uv, 0)
#define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0)
+#define foldEQ_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2) \
+ foldEQ_utf8_flags(s1, pe1, l1, u1, s2, pe2, l2, u2, 0)
+#define FOLDEQ_UTF8_NOMIX_ASCII (1 << 0)
+#define FOLDEQ_UTF8_LOCALE (1 << 1)
+
+/*
+=for apidoc ibcmp_utf8
+
+This is a synonym for (! foldEQ_utf8())
+
+=cut
+*/
+#define ibcmp_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2) \
+ cBOOL(! foldEQ_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2))
+
#ifdef EBCDIC
/* The equivalent of these macros but implementing UTF-EBCDIC
are in the following header file:
@@ -104,13 +122,14 @@ As you can see, the continuation bytes all begin with C<10>, and the
leading bits of the start byte tell how many bytes there are in the
encoded character.
-*/
+Perl's extended UTF-8 means we can have start bytes up to FF.
+*/
#define UNI_IS_INVARIANT(c) (((UV)c) < 0x80)
/* Note that C0 and C1 are invalid in legal UTF8, so the lower bound of the
* below might ought to be C2 */
-#define UTF8_IS_START(c) (((U8)c) >= 0xc0 && (((U8)c) <= 0xfd))
+#define UTF8_IS_START(c) (((U8)c) >= 0xc0)
#define UTF8_IS_CONTINUATION(c) (((U8)c) >= 0x80 && (((U8)c) <= 0xbf))
#define UTF8_IS_CONTINUED(c) (((U8)c) & 0x80)
#define UTF8_IS_DOWNGRADEABLE_START(c) (((U8)c & 0xfc) == 0xc0)
@@ -151,6 +170,15 @@ encoded character.
#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT) | (((U8)new) & UTF_CONTINUATION_MASK))
+/* Convert a two (not one) byte utf8 character to a unicode code point value.
+ * Needs just one iteration of accumulate. Should not be used unless it is
+ * known that the two bytes are legal: 1) two-byte start, and 2) continuation.
+ * Note that the result can be larger than 255 if the input character is not
+ * downgradable */
+#define TWO_BYTE_UTF8_TO_UNI(HI, LO) \
+ UTF8_ACCUMULATE((NATIVE_TO_UTF(HI) & UTF_START_MASK(2)), \
+ NATIVE_TO_UTF(LO))
+
#define UTF8SKIP(s) PL_utf8skip[*(const U8*)(s)]
#define UTF8_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_UTF(c))
@@ -162,8 +190,8 @@ encoded character.
* bytes from an ordinal that is known to fit into two bytes; it must be less
* than 0x3FF to work across both encodings. */
/* Nocast allows these to be used in the case label of a switch statement */
-#define UTF8_TWO_BYTE_HI_nocast(c) UTF_TO_NATIVE(((c)>>UTF_ACCUMULATION_SHIFT)|UTF_START_MARK(2))
-#define UTF8_TWO_BYTE_LO_nocast(c) UTF_TO_NATIVE(((c)&UTF_CONTINUATION_MASK)|UTF_CONTINUATION_MARK)
+#define UTF8_TWO_BYTE_HI_nocast(c) UTF_TO_NATIVE(((c) >> UTF_ACCUMULATION_SHIFT) | (0xFF & UTF_START_MARK(2)))
+#define UTF8_TWO_BYTE_LO_nocast(c) UTF_TO_NATIVE(((c) & UTF_CONTINUATION_MASK) | UTF_CONTINUATION_MARK)
#define UTF8_TWO_BYTE_HI(c) ((U8) (UTF8_TWO_BYTE_HI_nocast(c)))
#define UTF8_TWO_BYTE_LO(c) ((U8) (UTF8_TWO_BYTE_LO_nocast(c)))
@@ -201,61 +229,208 @@ encoded character.
* version. An example of maximal expansion is the U+03B0 which
* uppercases to U+03C5 U+0308 U+0301. The Unicode databases that
* tell these things are UnicodeData.txt, CaseFolding.txt, and
- * SpecialCasing.txt. */
-#define UTF8_MAXBYTES_CASE 6
+ * SpecialCasing.txt. The value is 6 for strict Unicode characters, but it has
+ * to be as big as Perl allows for a single character */
+#define UTF8_MAXBYTES_CASE UTF8_MAXBYTES
+
+/* A Unicode character can fold to up to 3 characters */
+#define UTF8_MAX_FOLD_CHAR_EXPAND 3
#define IN_BYTES (CopHINTS_get(PL_curcop) & HINT_BYTES)
#define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES)
#define IN_UNI_8_BIT ( (CopHINTS_get(PL_curcop) & HINT_UNI_8_BIT) \
&& ! IN_LOCALE_RUNTIME && ! IN_BYTES)
-#define UTF8_ALLOW_EMPTY 0x0001
+#define UTF8_ALLOW_EMPTY 0x0001 /* Allow a zero length string */
+
+/* Allow first byte to be a continuation byte */
#define UTF8_ALLOW_CONTINUATION 0x0002
+
+/* Allow second... bytes to be non-continuation bytes */
#define UTF8_ALLOW_NON_CONTINUATION 0x0004
-#define UTF8_ALLOW_FE_FF 0x0008 /* Allow FE or FF start bytes, \
- yields above 0x7fffFFFF */
-#define UTF8_ALLOW_SHORT 0x0010 /* expecting more bytes */
-#define UTF8_ALLOW_SURROGATE 0x0020
-#define UTF8_ALLOW_FFFF 0x0040 /* Allow UNICODE_ILLEGAL */
-#define UTF8_ALLOW_LONG 0x0080 /* expecting fewer bytes */
-#define UTF8_ALLOW_ANYUV (UTF8_ALLOW_EMPTY|UTF8_ALLOW_FE_FF|\
- UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
-#define UTF8_ALLOW_ANY 0x00FF
-#define UTF8_CHECK_ONLY 0x0200
+
+/* expecting more bytes than were available in the string */
+#define UTF8_ALLOW_SHORT 0x0008
+
+/* Overlong sequence; i.e., the code point can be specified in fewer bytes. */
+#define UTF8_ALLOW_LONG 0x0010
+
+#define UTF8_DISALLOW_SURROGATE 0x0020 /* Unicode surrogates */
+#define UTF8_WARN_SURROGATE 0x0040
+
+#define UTF8_DISALLOW_NONCHAR 0x0080 /* Unicode non-character */
+#define UTF8_WARN_NONCHAR 0x0100 /* code points */
+
+#define UTF8_DISALLOW_SUPER 0x0200 /* Super-set of Unicode: code */
+#define UTF8_WARN_SUPER 0x0400 /* points above the legal max */
+
+/* Code points which never were part of the original UTF-8 standard, the first
+ * byte of which is a FE or FF on ASCII platforms. */
+#define UTF8_DISALLOW_FE_FF 0x0800
+#define UTF8_WARN_FE_FF 0x1000
+
+#define UTF8_CHECK_ONLY 0x2000
+
+/* For backwards source compatibility. They do nothing, as the default now
+ * includes what they used to mean. The first one's meaning was to allow the
+ * just the single non-character 0xFFFF */
+#define UTF8_ALLOW_FFFF 0
+#define UTF8_ALLOW_SURROGATE 0
+
+#define UTF8_DISALLOW_ILLEGAL_INTERCHANGE (UTF8_DISALLOW_SUPER|UTF8_DISALLOW_NONCHAR|UTF8_DISALLOW_SURROGATE|UTF8_DISALLOW_FE_FF)
+#define UTF8_WARN_ILLEGAL_INTERCHANGE \
+ (UTF8_WARN_SUPER|UTF8_WARN_NONCHAR|UTF8_WARN_SURROGATE|UTF8_WARN_FE_FF)
+#define UTF8_ALLOW_ANY \
+ (~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE|UTF8_WARN_ILLEGAL_INTERCHANGE))
+#define UTF8_ALLOW_ANYUV \
+ (UTF8_ALLOW_EMPTY \
+ & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE|UTF8_WARN_ILLEGAL_INTERCHANGE))
#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
UTF8_ALLOW_ANYUV)
+/* Surrogates, non-character code points and above-Unicode code points are
+ * problematic in some contexts. This allows code that needs to check for
+ * those to to quickly exclude the vast majority of code points it will
+ * encounter */
+#ifdef EBCDIC
+# define UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE UTF_TO_NATIVE(0xF1)
+#else
+# define UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE 0xED
+#endif
+
+/* ASCII EBCDIC I8
+ * U+D7FF: \xED\x9F\xBF \xF1\xB5\xBF\xBF last before surrogates
+ * U+D800: \xED\xA0\x80 \xF1\xB6\xA0\xA0 1st surrogate
+ * U+DFFF: \xED\xBF\xBF \xF1\xB7\xBF\xBF final surrogate
+ * U+E000: \xEE\x80\x80 \xF1\xB8\xA0\xA0 next after surrogates
+ */
+#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
+# define UTF8_IS_SURROGATE(s) (*(s) == UTF_TO_NATIVE(0xF1) \
+ && (*((s) +1) == UTF_TO_NATIVE(0xB6)) || *((s) + 1) == UTF_TO_NATIVE(0xB7))
+#else
+# define UTF8_IS_SURROGATE(s) (*(s) == 0xED && *((s) + 1) >= 0xA0)
+#endif
+
+/* ASCII EBCDIC I8
+ * U+10FFFF: \xF4\x8F\xBF\xBF \xF9\xA1\xBF\xBF\xBF max legal Unicode
+ * U+110000: \xF4\x90\x80\x80 \xF9\xA2\xA0\xA0\xA0
+ * U+110001: \xF4\x90\x80\x81 \xF9\xA2\xA0\xA0\xA1
+ */
+#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
+# define UTF8_IS_SUPER(s) (*(s) >= UTF_TO_NATIVE(0xF9) \
+ && (*(s) > UTF_TO_NATIVE(0xF9) || (*((s) + 1) >= UTF_TO_NATIVE(0xA2))))
+#else
+# define UTF8_IS_SUPER(s) (*(s) >= 0xF4 \
+ && (*(s) > 0xF4 || (*((s) + 1) >= 0x90)))
+#endif
+
+/* ASCII EBCDIC I8
+ * U+FDCF: \xEF\xB7\x8F \xF1\xBF\xAE\xAF last before non-char block
+ * U+FDD0: \xEF\xB7\x90 \xF1\xBF\xAE\xB0 first non-char in block
+ * U+FDEF: \xEF\xB7\xAF \xF1\xBF\xAF\xAF last non-char in block
+ * U+FDF0: \xEF\xB7\xB0 \xF1\xBF\xAF\xB0 first after non-char block
+ * U+FFFF: \xEF\xBF\xBF \xF1\xBF\xBF\xBF
+ * U+1FFFF: \xF0\x9F\xBF\xBF \xF3\xBF\xBF\xBF
+ * U+2FFFF: \xF0\xAF\xBF\xBF \xF5\xBF\xBF\xBF
+ * U+3FFFF: \xF0\xBF\xBF\xBF \xF7\xBF\xBF\xBF
+ * U+4FFFF: \xF1\x8F\xBF\xBF \xF8\xA9\xBF\xBF\xBF
+ * U+5FFFF: \xF1\x9F\xBF\xBF \xF8\xAB\xBF\xBF\xBF
+ * U+6FFFF: \xF1\xAF\xBF\xBF \xF8\xAD\xBF\xBF\xBF
+ * U+7FFFF: \xF1\xBF\xBF\xBF \xF8\xAF\xBF\xBF\xBF
+ * U+8FFFF: \xF2\x8F\xBF\xBF \xF8\xB1\xBF\xBF\xBF
+ * U+9FFFF: \xF2\x9F\xBF\xBF \xF8\xB3\xBF\xBF\xBF
+ * U+AFFFF: \xF2\xAF\xBF\xBF \xF8\xB5\xBF\xBF\xBF
+ * U+BFFFF: \xF2\xBF\xBF\xBF \xF8\xB7\xBF\xBF\xBF
+ * U+CFFFF: \xF3\x8F\xBF\xBF \xF8\xB9\xBF\xBF\xBF
+ * U+DFFFF: \xF3\x9F\xBF\xBF \xF8\xBB\xBF\xBF\xBF
+ * U+EFFFF: \xF3\xAF\xBF\xBF \xF8\xBD\xBF\xBF\xBF
+ * U+FFFFF: \xF3\xBF\xBF\xBF \xF8\xBF\xBF\xBF\xBF
+ * U+10FFFF: \xF4\x8F\xBF\xBF \xF9\xA1\xBF\xBF\xBF
+ */
+#define UTF8_IS_NONCHAR_(s) ( \
+ *(s) >= UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE \
+ && ! UTF8_IS_SUPER(s) \
+ && UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_FIRST_PROBLEMATIC(s) \
+
+#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
+# define UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s) \
+ ((*(s) == UTF_TO_NATIVE(0xF1) \
+ && (*((s) + 1) == UTF_TO_NATIVE(0xBF) \
+ && ((*((s) + 2) == UTF_TO_NATIVE(0xAE) \
+ && *((s) + 3) >= UTF_TO_NATIVE(0xB0)) \
+ || (*((s) + 2) == UTF_TO_NATIVE(0xAF) \
+ && *((s) + 3) <= UTF_TO_NATIVE(0xAF))))) \
+ || (UTF8SKIP(*(s)) > 3 \
+ /* (These were all derived by inspection and experimentation with an */ \
+ /* editor) The next line checks the next to final byte in the char */ \
+ && *((s) + UTF8SKIP(*(s)) - 2) == UTF_TO_NATIVE(0xBF) \
+ && *((s) + UTF8SKIP(*(s)) - 3) == UTF_TO_NATIVE(0xBF) \
+ && (NATIVE_TO_UTF(*((s) + UTF8SKIP(*(s)) - 4)) & 0x81) == 0x81 \
+ && (NATIVE_TO_UTF(*((s) + UTF8SKIP(*(s)) - 1)) & 0xBE) == 0XBE))
+#else
+# define UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s) \
+ ((*(s) == 0xEF \
+ && ((*((s) + 1) == 0xB7 && (*((s) + 2) >= 0x90 && (*((s) + 2) <= 0xAF)))\
+ /* Gets U+FFF[EF] */ \
+ || (*((s) + 1) == 0xBF && ((*((s) + 2) & 0xBE) == 0xBE)))) \
+ || ((*((s) + 2) == 0xBF \
+ && (*((s) + 3) & 0xBE) == 0xBE \
+ /* Excludes things like U+10FFE = \xF0\x90\xBF\xBE */ \
+ && (*((s) + 1) & 0x8F) == 0x8F)))
+#endif
+
#define UNICODE_SURROGATE_FIRST 0xD800
#define UNICODE_SURROGATE_LAST 0xDFFF
#define UNICODE_REPLACEMENT 0xFFFD
#define UNICODE_BYTE_ORDER_MARK 0xFEFF
-#define UNICODE_ILLEGAL 0xFFFF
/* Though our UTF-8 encoding can go beyond this,
- * let's be conservative and do as Unicode 5.1 says. */
+ * let's be conservative and do as Unicode says. */
#define PERL_UNICODE_MAX 0x10FFFF
-#define UNICODE_ALLOW_SURROGATE 0x0001 /* Allow UTF-16 surrogates (EVIL) */
-#define UNICODE_ALLOW_FDD0 0x0002 /* Allow the U+FDD0...U+FDEF */
-#define UNICODE_ALLOW_FFFF 0x0004 /* Allow U+FFF[EF], U+1FFF[EF], ... */
-#define UNICODE_ALLOW_SUPER 0x0008 /* Allow past 0x10FFFF */
-#define UNICODE_ALLOW_ANY 0x000F
+#define UNICODE_WARN_SURROGATE 0x0001 /* UTF-16 surrogates */
+#define UNICODE_WARN_NONCHAR 0x0002 /* Non-char code points */
+#define UNICODE_WARN_SUPER 0x0004 /* Above 0x10FFFF */
+#define UNICODE_WARN_FE_FF 0x0008 /* Above 0x10FFFF */
+#define UNICODE_DISALLOW_SURROGATE 0x0010
+#define UNICODE_DISALLOW_NONCHAR 0x0020
+#define UNICODE_DISALLOW_SUPER 0x0040
+#define UNICODE_DISALLOW_FE_FF 0x0080
+#define UNICODE_WARN_ILLEGAL_INTERCHANGE \
+ (UNICODE_WARN_SURROGATE|UNICODE_WARN_NONCHAR|UNICODE_WARN_SUPER)
+#define UNICODE_DISALLOW_ILLEGAL_INTERCHANGE \
+ (UNICODE_DISALLOW_SURROGATE|UNICODE_DISALLOW_NONCHAR|UNICODE_DISALLOW_SUPER)
+
+/* For backward source compatibility, as are now the default */
+#define UNICODE_ALLOW_SURROGATE 0
+#define UNICODE_ALLOW_SUPER 0
+#define UNICODE_ALLOW_ANY 0
#define UNICODE_IS_SURROGATE(c) ((c) >= UNICODE_SURROGATE_FIRST && \
(c) <= UNICODE_SURROGATE_LAST)
#define UNICODE_IS_REPLACEMENT(c) ((c) == UNICODE_REPLACEMENT)
#define UNICODE_IS_BYTE_ORDER_MARK(c) ((c) == UNICODE_BYTE_ORDER_MARK)
-#define UNICODE_IS_ILLEGAL(c) ((c) == UNICODE_ILLEGAL)
+#define UNICODE_IS_NONCHAR(c) ((c >= 0xFDD0 && c <= 0xFDEF) \
+ /* The other noncharacters end in FFFE or FFFF, which \
+ * the mask below catches both of, but beyond the last \
+ * official unicode code point, they aren't \
+ * noncharacters, since those aren't Unicode \
+ * characters at all */ \
+ || ((((c & 0xFFFE) == 0xFFFE)) && ! UNICODE_IS_SUPER(c)))
+#define UNICODE_IS_SUPER(c) ((c) > PERL_UNICODE_MAX)
+#define UNICODE_IS_FE_FF(c) ((c) > 0x7FFFFFFF)
#ifdef HAS_QUAD
# define UTF8_QUAD_MAX UINT64_C(0x1000000000)
#endif
-#define UTF8_IS_ASCII(c) UTF8_IS_INVARIANT(c)
-
#define UNICODE_GREEK_CAPITAL_LETTER_SIGMA 0x03A3
#define UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA 0x03C2
#define UNICODE_GREEK_SMALL_LETTER_SIGMA 0x03C3
+#define GREEK_SMALL_LETTER_MU 0x03BC
+#define GREEK_CAPITAL_LETTER_MU 0x039C /* Upper and title case of MICRON */
+#define LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS 0x0178 /* Also is title case */
+#define LATIN_CAPITAL_LETTER_SHARP_S 0x1E9E
#define UNI_DISPLAY_ISPRINT 0x0001
#define UNI_DISPLAY_BACKSLASH 0x0002
@@ -266,12 +441,14 @@ encoded character.
# define LATIN_SMALL_LETTER_SHARP_S 0x00DF
# define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0x00FF
# define MICRO_SIGN 0x00B5
+# define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x00C5
+# define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x00E5
#endif
#define ANYOF_FOLD_SHARP_S(node, input, end) \
(ANYOF_BITMAP_TEST(node, LATIN_SMALL_LETTER_SHARP_S) && \
- (ANYOF_FLAGS(node) & ANYOF_UNICODE) && \
- (ANYOF_FLAGS(node) & ANYOF_FOLD) && \
+ (ANYOF_NONBITMAP(node)) && \
+ (ANYOF_FLAGS(node) & ANYOF_LOC_NONBITMAP_FOLD) && \
((end) > (input) + 1) && \
toLOWER((input)[0]) == 's' && \
toLOWER((input)[1]) == 's')
@@ -323,7 +500,7 @@ encoded character.
* UTF-8, anyway). The "slow path" in Perl_is_utf8_char()
* will take care of the "extended UTF-8". */
#define IS_UTF8_CHAR_4c(p) \
- ((p)[0] == 0xF4 && (p)[0] <= 0xF7 && \
+ ((p)[0] >= 0xF4 && (p)[0] <= 0xF7 && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF && \
(p)[3] >= 0x80 && (p)[3] <= 0xBF)
diff --git a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
index c3fe6036eea..a9197a9bef9 100644
--- a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
+++ b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
@@ -7,7 +7,7 @@
* License or the Artistic License, as specified in the README file.
*
* Macros to implement UTF-EBCDIC as perl's internal encoding
- * Taken from version 7.1 of Unicode Techical Report #16:
+ * Taken from version 7.1 of Unicode Technical Report #16:
* http://www.unicode.org/unicode/reports/tr16
*
* To summarize, the way it works is:
@@ -36,7 +36,7 @@
* ordinal value of 'A' is 193 in EBCDIC, and also is 193 in UTF-EBCDIC.
* Step 1) converts it to 65, Step 2 leaves it at 65, and Step 3 converts
* it back to 193. As an example of how a variant character works, take
- * LATIN SMALL LETTER Y WITH DIAERESIS, which is typicially 0xDF in
+ * LATIN SMALL LETTER Y WITH DIAERESIS, which is typically 0xDF in
* EBCDIC. Step 1 converts it to the Unicode value, 0xFF. Step 2
* converts that to two bytes = 11000111 10111111 = C7 BF, and Step 3
* converts those to 0x8B 0x73. The table is constructed so that the
@@ -81,7 +81,7 @@ START_EXTERN_C
#ifdef DOINIT
/* Indexed by encoded byte this table gives the length of the sequence.
Adapted from the shadow flags table in tr16.
- The entries marked 9 in tr6 are continuation bytes and are marked
+ The entries marked 9 in tr16 are continuation bytes and are marked
as length 1 here so that we can recover.
*/
#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
@@ -272,7 +272,7 @@ unsigned char PL_e2utf[] = { /* EBCDIC (IBM-037) to I8 */
#endif /* 037 */
/* These tables moved from perl.h and converted to hex.
- They map platfrom code page from/to bottom 256 codes of Unicode (i.e. iso-8859-1).
+ They map platform code page from/to bottom 256 codes of Unicode (i.e. iso-8859-1).
*/
#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
@@ -298,6 +298,8 @@ EXTCONST unsigned char PL_a2e[] = { /* ASCII (iso-8859-1) to EBCDIC (IBM-1047) *
#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0xDF
#define LATIN_SMALL_LETTER_SHARP_S 0x59
#define MICRO_SIGN 0xA0
+#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x0067
+#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x0047
EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-1047) to ASCII (iso-8859-1) */
0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
@@ -317,6 +319,42 @@ EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-1047) to ASCII (iso-8859-1) *
0x5C, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xB3, 0xDB, 0xDC, 0xD9, 0xDA, 0x9F
};
+
+EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table, 'A' =>
+ 'a'; 'a' => 'A' */
+ 0, 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, 98, 99, 100, 101, 102, 103,
+ 104, 105, 74, 75, 76, 77, 78, 79,
+ 80, 113, 114, 115, 116, 117, 118, 119,
+ 120, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 66, 67, 68, 69, 70, 71,
+ 72, 73, 106, 107, 108, 109, 110, 111,
+ 128, 81, 82, 83, 84, 85, 86, 87,
+ 88, 121, 122, 123, 124, 125, 126, 127,
+ 112, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
+ 'H', 'I', 138, 139, 172, 186, 174, 143,
+ 144, 'J', 'K', 'L', 'M', 'N', 'O', 'P',
+ 'Q', 'R', 154, 155, 158, 157, 156, 159,
+ 160, 161, 'S', 'T', 'U', 'V', 'W', 'X',
+ 'Y', 'Z', 170, 171, 140, 173, 142, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 141, 187, 188, 189, 190, 191,
+ 192, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
+ 'h', 'i', 202, 235, 236, 237, 238, 239,
+ 208, 'j', 'k', 'l', 'm', 'n', 'o', 'p',
+ 'q', 'r', 218, 251, 252, 253, 254, 223,
+ 224, 225, 's', 't', 'u', 'v', 'w', 'x',
+ 'y', 'z', 234, 203, 204, 205, 206, 207,
+ 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 219, 220, 221, 222, 255
+};
#endif /* 1047 */
#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
@@ -342,6 +380,8 @@ EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (POSIX-BC) */
#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0xDF
#define LATIN_SMALL_LETTER_SHARP_S 0x59
#define MICRO_SIGN 0xA0
+#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x0067
+#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x0047
EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (POSIX-BC) to ASCII (ISO8859-1) */
0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
@@ -361,6 +401,42 @@ EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (POSIX-BC) to ASCII (ISO8859-1) */
0xD9, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xB3, 0x7B, 0xDC, 0x7D, 0xDA, 0x7E
};
+
+EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table, 'A' =>
+ 'a'; 'a' => 'A' */
+ 0, 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, 98, 99, 100, 101, 102, 103,
+ 104, 105, 74, 75, 76, 77, 78, 79,
+ 80, 113, 114, 115, 116, 117, 118, 119,
+ 120, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 66, 67, 68, 69, 70, 71,
+ 72, 73, 106, 107, 108, 109, 110, 111,
+ 128, 81, 82, 83, 84, 85, 86, 87,
+ 88, 121, 122, 123, 124, 125, 126, 127,
+ 112, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
+ 'H', 'I', 138, 139, 172, 173, 174, 143,
+ 144, 'J', 'K', 'L', 'M', 'N', 'O', 'P',
+ 'Q', 'R', 154, 155, 158, 157, 156, 159,
+ 160, 161, 'S', 'T', 'U', 'V', 'W', 'X',
+ 'Y', 'Z', 170, 171, 140, 141, 142, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191,
+ 224, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
+ 'h', 'i', 202, 235, 236, 237, 238, 239,
+ 208, 'j', 'k', 'l', 'm', 'n', 'o', 'p',
+ 'q', 'r', 218, 221, 252, 219, 254, 223,
+ 192, 225, 's', 't', 'u', 'v', 'w', 'x',
+ 'y', 'z', 234, 203, 204, 205, 206, 207,
+ 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 220, 253, 222, 255
+};
#endif /* POSIX-BC */
#if '^' == 176 /* if defined(??) (OS/400?) 037 */
@@ -387,6 +463,8 @@ EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (IBM-037) */
#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0xDF
#define LATIN_SMALL_LETTER_SHARP_S 0x59
#define MICRO_SIGN 0xA0
+#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x0067
+#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x0047
EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-037) to ASCII (ISO8859-1) */
0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
@@ -406,6 +484,42 @@ EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-037) to ASCII (ISO8859-1) */
0x5C, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xB3, 0xDB, 0xDC, 0xD9, 0xDA, 0x9F
};
+
+EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table, 'A' =>
+ 'a'; 'a' => 'A' */
+ 0, 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, 98, 99, 100, 101, 102, 103,
+ 104, 105, 74, 75, 76, 77, 78, 79,
+ 80, 113, 114, 115, 116, 117, 118, 119,
+ 120, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 66, 67, 68, 69, 70, 71,
+ 72, 73, 106, 107, 108, 109, 110, 111,
+ 128, 81, 82, 83, 84, 85, 86, 87,
+ 88, 121, 122, 123, 124, 125, 126, 127,
+ 112, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
+ 'H', 'I', 138, 139, 172, 173, 174, 143,
+ 144, 'J', 'K', 'L', 'M', 'N', 'O', 'P',
+ 'Q', 'R', 154, 155, 158, 157, 156, 159,
+ 160, 161, 'S', 'T', 'U', 'V', 'W', 'X',
+ 'Y', 'Z', 170, 171, 140, 141, 142, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
+ 'h', 'i', 202, 235, 236, 237, 238, 239,
+ 208, 'j', 'k', 'l', 'm', 'n', 'o', 'p',
+ 'q', 'r', 218, 251, 252, 253, 254, 223,
+ 224, 225, 's', 't', 'u', 'v', 'w', 'x',
+ 'y', 'z', 234, 203, 204, 205, 206, 207,
+ 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 219, 220, 221, 222, 255
+};
#endif /* 037 */
#else
@@ -414,8 +528,13 @@ EXTCONST unsigned char PL_e2utf[];
EXTCONST unsigned char PL_utf2e[];
EXTCONST unsigned char PL_e2a[];
EXTCONST unsigned char PL_a2e[];
+EXTCONST unsigned char PL_fold[];
#endif
+/* Since the EBCDIC code pages are isomorphic to Latin1, that table is merely a
+ * duplicate */
+EXTCONST unsigned char * PL_fold_latin1 = PL_fold;
+
END_EXTERN_C
/* EBCDIC-happy ways of converting native code to UTF-8 */
@@ -423,9 +542,9 @@ END_EXTERN_C
/* Native to iso-8859-1 */
#define NATIVE_TO_ASCII(ch) PL_e2a[(U8)(ch)]
#define ASCII_TO_NATIVE(ch) PL_a2e[(U8)(ch)]
-/* Transform after encoding */
-#define NATIVE_TO_UTF(ch) PL_e2utf[(U8)(ch)]
-#define UTF_TO_NATIVE(ch) PL_utf2e[(U8)(ch)]
+/* Transform after encoding, essentially converts to/from I8 */
+#define NATIVE_TO_UTF(ch) PL_e2utf[(U8)(ch)] /* to I8 */
+#define UTF_TO_NATIVE(ch) PL_utf2e[(U8)(ch)] /* from I8 */
/* Transform in wide UV char space */
#define NATIVE_TO_UNI(ch) (((ch) > 255) ? (ch) : NATIVE_TO_ASCII(ch))
#define UNI_TO_NATIVE(ch) (((ch) > 255) ? (ch) : ASCII_TO_NATIVE(ch))
diff --git a/Master/tlpkg/tlperl/lib/CORE/util.h b/Master/tlpkg/tlperl/lib/CORE/util.h
index 6eab0556860..3981656eae9 100644
--- a/Master/tlpkg/tlperl/lib/CORE/util.h
+++ b/Master/tlpkg/tlperl/lib/CORE/util.h
@@ -39,6 +39,21 @@
#endif /* VMS */
/*
+=for apidoc ibcmp
+
+This is a synonym for (! foldEQ())
+
+=for apidoc ibcmp_locale
+
+This is a synonym for (! foldEQ_locale())
+
+=cut
+*/
+#define ibcmp(s1, s2, len) cBOOL(! foldEQ(s1, s2, len))
+#define ibcmp_locale(s1, s2, len) cBOOL(! foldEQ_locale(s1, s2, len))
+
+
+/*
* Local variables:
* c-indentation-style: bsd
* c-basic-offset: 4
diff --git a/Master/tlpkg/tlperl/lib/CORE/warnings.h b/Master/tlpkg/tlperl/lib/CORE/warnings.h
index 3ed9ecf56d5..39ebe6a78c1 100644
--- a/Master/tlpkg/tlperl/lib/CORE/warnings.h
+++ b/Master/tlpkg/tlperl/lib/CORE/warnings.h
@@ -1,8 +1,8 @@
/* -*- buffer-read-only: t -*-
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by warnings.pl
+ This file is built by regen/warnings.pl.
Any changes made here will be lost!
-*/
+ */
#define Off(x) ((x) / 8)
@@ -81,9 +81,15 @@
#define WARN_IMPRECISION 46
#define WARN_ILLEGALPROTO 47
-#define WARNsize 12
-#define WARN_ALLstring "\125\125\125\125\125\125\125\125\125\125\125\125"
-#define WARN_NONEstring "\0\0\0\0\0\0\0\0\0\0\0\0"
+/* Warnings Categories added in Perl 5.013 */
+
+#define WARN_NON_UNICODE 48
+#define WARN_NONCHAR 49
+#define WARN_SURROGATE 50
+
+#define WARNsize 13
+#define WARN_ALLstring "\125\125\125\125\125\125\125\125\125\125\125\125\125"
+#define WARN_NONEstring "\0\0\0\0\0\0\0\0\0\0\0\0\0"
#define isLEXWARN_on (PL_curcop->cop_warnings != pWARN_STD)
#define isLEXWARN_off (PL_curcop->cop_warnings == pWARN_STD)
@@ -127,4 +133,5 @@
isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))
/* end of file warnings.h */
+
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32.h b/Master/tlpkg/tlperl/lib/CORE/win32.h
index 762ab54068b..4c58b8c2520 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32.h
@@ -10,7 +10,7 @@
#define _INC_WIN32_PERL5
#ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0400 /* needed for TryEnterCriticalSection() etc. */
+# define _WIN32_WINNT 0x0500 /* needed for CreateHardlink() etc. */
#endif
#if defined(PERL_IMPLICIT_SYS)
@@ -41,20 +41,36 @@
/* Define DllExport akin to perl's EXT,
- * If we are in the DLL or mimicing the DLL for Win95 work round
- * then Export the symbol,
+ * If we are in the DLL then Export the symbol,
* otherwise import it.
*/
/* now even GCC supports __declspec() */
-#if defined(PERLDLL) || defined(WIN95FIX)
+#if defined(PERLDLL)
#define DllExport
/*#define DllExport __declspec(dllexport)*/ /* noises with VC5+sp3 */
#else
#define DllExport __declspec(dllimport)
#endif
+/* The Perl APIs can only be called directly inside the perl5xx.dll.
+ * All other code has to import them. By declaring them as "dllimport"
+ * we tell the compiler to generate an indirect call instruction and
+ * avoid redirection through a call thunk.
+ *
+ * The XS code in the re extension is special, in that it redefines
+ * core APIs locally, so don't mark them as "dllimport" because GCC
+ * cannot handle this situation.
+ */
+#if !defined(PERLDLL) && !defined(PERL_EXT_RE_BUILD)
+# ifdef __cplusplus
+# define PERL_CALLCONV extern "C" __declspec(dllimport)
+# else
+# define PERL_CALLCONV __declspec(dllimport)
+# endif
+#endif
+
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -141,17 +157,6 @@ struct utsname {
#define PERL_NO_FORCE_LINK /* no need for PL_force_link_funcs */
-/* Define USE_FIXED_OSFHANDLE to fix MSVCRT's _open_osfhandle() on W95.
- It now uses some black magic to work seamlessly with the DLL CRT and
- works with MSVC++ 4.0+ or GCC/Mingw32
- -- BKS 1-24-2000
- Only use this fix for VC++ 6.x or earlier (and for GCC, which we assume
- uses MSVCRT.DLL). Later versions use MSVCR70.dll, MSVCR71.dll, etc, which
- do not require the fix. */
-#if (defined(_M_IX86) && _MSC_VER >= 1000 && _MSC_VER <= 1200) || defined(__MINGW32__)
-#define USE_FIXED_OSFHANDLE
-#endif
-
/* Define PERL_WIN32_SOCK_DLOAD to have Perl dynamically load the winsock
DLL when needed. Don't use if your compiler supports delayloading (ie, VC++ 6.0)
-- BKS 5-29-2000 */
@@ -363,12 +368,9 @@ DllExport HWND win32_create_message_window(void);
extern FILE * my_fdopen(int, char *);
#endif
extern int my_fclose(FILE *);
-extern int my_fstat(int fd, Stat_t *sbufptr);
extern char * win32_get_privlib(const char *pl, STRLEN *const len);
extern char * win32_get_sitelib(const char *pl, STRLEN *const len);
extern char * win32_get_vendorlib(const char *pl, STRLEN *const len);
-extern int IsWin95(void);
-extern int IsWinNT(void);
#ifdef PERL_IMPLICIT_SYS
extern void win32_delete_internal_host(void *h);
@@ -420,9 +422,7 @@ struct thread_intern {
# ifdef USE_SOCKETS_AS_HANDLES
int Winit_socktype;
# endif
-# ifdef HAVE_DES_FCRYPT
char Wcrypt_buffer[30];
-# endif
# ifdef USE_RTL_THREAD_API
void * retv; /* slot for thread return value */
# endif
@@ -443,6 +443,7 @@ typedef struct {
DWORD pids[MAXIMUM_WAIT_OBJECTS];
HANDLE handles[MAXIMUM_WAIT_OBJECTS];
HWND message_hwnds[MAXIMUM_WAIT_OBJECTS];
+ char sigterm[MAXIMUM_WAIT_OBJECTS];
} pseudo_child_tab;
#endif
@@ -488,6 +489,7 @@ DllExport int win32_async_check(pTHX);
#define w32_pseudo_child_pids (w32_pseudo_children->pids)
#define w32_pseudo_child_handles (w32_pseudo_children->handles)
#define w32_pseudo_child_message_hwnds (w32_pseudo_children->message_hwnds)
+#define w32_pseudo_child_sigterm (w32_pseudo_children->sigterm)
#define w32_internal_host (PL_sys_intern.internal_host)
#define w32_timerid (PL_sys_intern.timerid)
#define w32_message_hwnd (PL_sys_intern.message_hwnd)
@@ -503,70 +505,8 @@ DllExport int win32_async_check(pTHX);
#define w32_showwindow (PL_sys_intern.thr_intern.Wshowwindow)
#ifdef USE_ITHREADS
-# define PERL_WAIT_FOR_CHILDREN \
- STMT_START { \
- if (w32_pseudo_children && w32_num_pseudo_children) { \
- long children = w32_num_pseudo_children; \
- WaitForMultipleObjects(children, \
- w32_pseudo_child_handles, \
- TRUE, INFINITE); \
- while (children) \
- CloseHandle(w32_pseudo_child_handles[--children]); \
- } \
- } STMT_END
-#endif
-
-#if defined(USE_FIXED_OSFHANDLE) || defined(PERL_MSVCRT_READFIX)
-#ifdef PERL_CORE
-
-/* C doesn't like repeat struct definitions */
-#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION>=3)
-#undef _CRTIMP
-#endif
-#ifndef _CRTIMP
-#define _CRTIMP __declspec(dllimport)
-#endif
-
-/*
- * Control structure for lowio file handles
- */
-typedef struct {
- intptr_t osfhnd;/* underlying OS file HANDLE */
- char osfile; /* attributes of file (e.g., open in text mode?) */
- char pipech; /* one char buffer for handles opened on pipes */
- int lockinitflag;
- CRITICAL_SECTION lock;
-} ioinfo;
-
-
-/*
- * Array of arrays of control structures for lowio files.
- */
-EXTERN_C _CRTIMP ioinfo* __pioinfo[];
-
-/*
- * Definition of IOINFO_L2E, the log base 2 of the number of elements in each
- * array of ioinfo structs.
- */
-#define IOINFO_L2E 5
-
-/*
- * Definition of IOINFO_ARRAY_ELTS, the number of elements in ioinfo array
- */
-#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
-
-/*
- * Access macros for getting at an ioinfo struct and its fields from a
- * file handle
- */
-#define _pioinfo(i) (__pioinfo[(i) >> IOINFO_L2E] + ((i) & (IOINFO_ARRAY_ELTS - 1)))
-#define _osfhnd(i) (_pioinfo(i)->osfhnd)
-#define _osfile(i) (_pioinfo(i)->osfile)
-#define _pipech(i) (_pioinfo(i)->pipech)
-
-/* since we are not doing a dup2(), this works fine */
-#define _set_osfhnd(fh, osfh) (void)(_osfhnd(fh) = (intptr_t)osfh)
-#endif
+void win32_wait_for_children(pTHX);
+# define PERL_WAIT_FOR_CHILDREN win32_wait_for_children(aTHX)
#endif
/* IO.xs and POSIX.xs define PERLIO_NOT_STDIO to 1 */
@@ -585,17 +525,6 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[];
#define EXEC_ARGV_CAST(x) ((const char *const *) x)
-#if !defined(ECONNABORTED) && defined(WSAECONNABORTED)
-#define ECONNABORTED WSAECONNABORTED
-#endif
-#if !defined(ECONNRESET) && defined(WSAECONNRESET)
-#define ECONNRESET WSAECONNRESET
-#endif
-#if !defined(EAFNOSUPPORT) && defined(WSAEAFNOSUPPORT)
-#define EAFNOSUPPORT WSAEAFNOSUPPORT
-#endif
-/* Why not needed for ECONNREFUSED? --abe */
-
DllExport void *win32_signal_context(void);
#define PERL_GET_SIG_CONTEXT win32_signal_context()
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32iop.h b/Master/tlpkg/tlperl/lib/CORE/win32iop.h
index 9c59037c535..45207900de5 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32iop.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32iop.h
@@ -124,6 +124,7 @@ DllExport long win32_telldir(DIR *dirp);
DllExport void win32_seekdir(DIR *dirp, long loc);
DllExport void win32_rewinddir(DIR *dirp);
DllExport int win32_closedir(DIR *dirp);
+DllExport DIR* win32_dirp_dup(DIR *const dirp, CLONE_PARAMS *const param);
DllExport char* win32_getenv(const char *name);
DllExport int win32_putenv(const char *name);
diff --git a/Master/tlpkg/tlperl/lib/CPAN.pm b/Master/tlpkg/tlperl/lib/CPAN.pm
index 9d09708afcc..f83e2985e00 100644
--- a/Master/tlpkg/tlperl/lib/CPAN.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN.pm
@@ -2,7 +2,7 @@
# vim: ts=4 sts=4 sw=4:
use strict;
package CPAN;
-$CPAN::VERSION = '1.94_56';
+$CPAN::VERSION = '1.9600_01';
$CPAN::VERSION =~ s/_//;
# we need to run chdir all over and we would get at wrong libraries
@@ -547,7 +547,7 @@ sub _yaml_loadfile {
return +[] unless -s $local_file;
my $yaml_module = _yaml_module;
if ($CPAN::META->has_inst($yaml_module)) {
- # temporarly enable yaml code deserialisation
+ # temporarily enable yaml code deserialisation
no strict 'refs';
# 5.6.2 could not do the local() with the reference
# so we do it manually instead
@@ -823,15 +823,14 @@ Please make sure the directory exists and is writable.
if (!$RUN_DEGRADED && !$self->{LOCKFH}) {
my $fh;
unless ($fh = FileHandle->new("+>>$lockfile")) {
- if ($! =~ /Permission/) {
- $CPAN::Frontend->mywarn(qq{
+ $CPAN::Frontend->mywarn(qq{
Your configuration suggests that CPAN.pm should use a working
directory of
$CPAN::Config->{cpan_home}
Unfortunately we could not create the lock file
$lockfile
-due to permission problems.
+due to '$!'.
Please make sure that the configuration variable
\$CPAN::Config->{cpan_home}
@@ -839,8 +838,7 @@ points to a directory where you can write a .lock file. You can set
this variable in either a CPAN/MyConfig.pm or a CPAN/Config.pm in your
\@INC path;
});
- return suggest_myconfig;
- }
+ return suggest_myconfig;
}
my $sleep = 1;
while (!CPAN::_flock($fh, LOCK_EX|LOCK_NB)) {
@@ -923,31 +921,53 @@ sub fastcwd {Cwd::fastcwd();}
#-> sub CPAN::backtickcwd ;
sub backtickcwd {my $cwd = `cwd`; chomp $cwd; $cwd}
+# Adapted from Probe::Perl
+#-> sub CPAN::_perl_is_same
+sub _perl_is_same {
+ my ($perl) = @_;
+ return MM->maybe_command($perl)
+ && `$perl -MConfig=myconfig -e print -e myconfig` eq Config->myconfig;
+}
+
+# Adapted in part from Probe::Perl
#-> sub CPAN::find_perl ;
sub find_perl () {
- my($perl) = File::Spec->file_name_is_absolute($^X) ? $^X : "";
- unless ($perl) {
- my $candidate = File::Spec->catfile($CPAN::iCwd,$^X);
- $^X = $perl = $candidate if MM->maybe_command($candidate);
+ if ( File::Spec->file_name_is_absolute($^X) ) {
+ return $^X;
}
- unless ($perl) {
- my ($component,$perl_name);
- DIST_PERLNAME: foreach $perl_name ($^X, 'perl', 'perl5', "perl$]") {
- PATH_COMPONENT: foreach $component (File::Spec->path(),
- $Config::Config{'binexp'}) {
- next unless defined($component) && $component;
- my($abs) = File::Spec->catfile($component,$perl_name);
- if (MM->maybe_command($abs)) {
- $^X = $perl = $abs;
- last DIST_PERLNAME;
+ else {
+ my $exe = $Config::Config{exe_ext};
+ my @candidates = (
+ File::Spec->catfile($CPAN::iCwd,$^X),
+ $Config::Config{'perlpath'},
+ );
+ for my $perl_name ($^X, 'perl', 'perl5', "perl$]") {
+ for my $path (File::Spec->path(), $Config::Config{'binexp'}) {
+ if ( defined($path) && length $path && -d $path ) {
+ my $perl = File::Spec->catfile($path,$perl_name);
+ push @candidates, $perl;
+ # try with extension if not provided already
+ if ($^O eq 'VMS') {
+ # VMS might have a file version at the end
+ push @candidates, $perl . $exe
+ unless $perl =~ m/$exe(;\d+)?$/i;
+ } elsif (defined $exe && length $exe) {
+ push @candidates, $perl . $exe
+ unless $perl =~ m/$exe$/i;
+ }
}
}
}
+ for my $perl ( @candidates ) {
+ if (MM->maybe_command($perl) && _perl_is_same($perl)) {
+ $^X = $perl;
+ return $perl;
+ }
+ }
}
- return $perl;
+ return $^X; # default fall back
}
-
#-> sub CPAN::exists ;
sub exists {
my($mgr,$class,$id) = @_;
@@ -987,6 +1007,17 @@ sub has_usable {
#
# these subroutines die if they believe the installed version is unusable;
#
+ 'CPAN::Meta' => [
+ sub {
+ require CPAN::Meta;
+ unless (CPAN::Version->vge(CPAN::Meta->VERSION, 2.110350)) {
+ for ("Will not use CPAN::Meta, need version 2.110350\n") {
+ $CPAN::Frontend->mywarn($_);
+ die $_;
+ }
+ }
+ },
+ ],
LWP => [ # we frequently had "Can't locate object
# method "new" via package "LWP::UserAgent" at
@@ -1007,6 +1038,17 @@ sub has_usable {
sub {require Net::FTP},
sub {require Net::Config},
],
+ 'HTTP::Tiny' => [
+ sub {
+ require HTTP::Tiny;
+ unless (CPAN::Version->vge(HTTP::Tiny->VERSION, 0.005)) {
+ for ("Will not use HTTP::Tiny, need version 0.005\n") {
+ $CPAN::Frontend->mywarn($_);
+ die $_;
+ }
+ }
+ },
+ ],
'File::HomeDir' => [
sub {require File::HomeDir;
unless (CPAN::Version->vge(File::HomeDir::->VERSION, 0.52)) {
@@ -1142,7 +1184,7 @@ sub has_inst {
CPAN: Module::Signature security checks disabled because Module::Signature
not installed. Please consider installing the Module::Signature module.
You may also need to be able to connect over the Internet to the public
- keyservers like pgp.mit.edu (port 11371).
+ key servers like pool.sks-keyservers.net or pgp.mit.edu.
});
$CPAN::Frontend->mysleep(2);
@@ -1169,6 +1211,12 @@ sub new {
bless {}, shift;
}
+#-> sub CPAN::_exit_messages ;
+sub _exit_messages {
+ my ($self) = @_;
+ $self->{exit_messages} ||= [];
+}
+
#-> sub CPAN::cleanup ;
sub cleanup {
# warn "cleanup called with arg[@_] End[$CPAN::End] Signal[$Signal]";
@@ -1185,6 +1233,7 @@ sub cleanup {
return unless defined $META->{LOCK};
return unless -f $META->{LOCK};
$META->savehist;
+ $META->{cachemgr} ||= CPAN::CacheMgr->new('atexit');
close $META->{LOCKFH};
unlink $META->{LOCK};
# require Carp;
@@ -1193,6 +1242,9 @@ sub cleanup {
$CPAN::Frontend->mywarn("Warning: Configuration not saved.\n");
}
$CPAN::Frontend->myprint("Lockfile removed.\n");
+ for my $msg ( @{ $META->_exit_messages } ) {
+ $CPAN::Frontend->myprint($msg);
+ }
}
#-> sub CPAN::readhist
@@ -1365,8 +1417,8 @@ Basic commands:
The CPAN module automates or at least simplifies the make and install
of perl modules and extensions. It includes some primitive searching
-capabilities and knows how to use Net::FTP, LWP, and certain external
-download clients to fetch distributions from the net.
+capabilities and knows how to use LWP, HTTP::Tiny, Net::FTP and certain
+external download clients to fetch distributions from the net.
These are fetched from one or more mirrored CPAN (Comprehensive
Perl Archive Network) sites and unpacked in a dedicated directory.
@@ -1684,7 +1736,7 @@ B<Note>: See also L<smoke>
recompile() is a special command that takes no argument and
runs the make/test/install cycle with brute force over all installed
-dynamically loadable extensions (aka XS modules) with 'force' in
+dynamically loadable extensions (a.k.a. XS modules) with 'force' in
effect. The primary purpose of this command is to finish a network
installation. Imagine you have a common source tree for two different
architectures. You decide to do a completely independent fresh
@@ -1930,7 +1982,8 @@ currently defined:
dontload_list arrayref: modules in the list will not be
loaded by the CPAN::has_inst() routine
ftp path to external prg
- ftp_passive if set, the envariable FTP_PASSIVE is set for downloads
+ ftp_passive if set, the environment variable FTP_PASSIVE is set
+ for downloads
ftp_proxy proxy host for ftp requests
ftpstats_period max number of days to keep download statistics
ftpstats_size max number of items to keep in the download statistics
@@ -1973,6 +2026,10 @@ currently defined:
patch path to external prg
patches_dir local directory containing patch files
perl5lib_verbosity verbosity level for PERL5LIB additions
+ prefer_external_tar
+ per default all untar operations are done with
+ Archive::Tar; by setting this variable to true
+ the external tar command is used if available
prefer_installer legal values are MB and EUMM: if a module comes
with both a Makefile.PL and a Build.PL, use the
former (EUMM) or the latter (MB); if the module
@@ -1988,7 +2045,7 @@ currently defined:
proxy_user username for accessing an authenticating proxy
proxy_pass password for accessing an authenticating proxy
randomize_urllist add some randomness to the sequence of the urllist
- scan_cache controls scanning of cache ('atstart' or 'never')
+ scan_cache controls scanning of cache ('atstart', 'atexit' or 'never')
shell your favorite shell
show_unparsable_versions
boolean if r command tells which modules are versionless
@@ -2415,7 +2472,7 @@ parameter is C<0> or C<1> is determined by reading the patch
beforehand. The path to each patch is either an absolute path on the
local filesystem or relative to a patch directory specified in the
C<patches_dir> configuration variable or in the format of a canonical
-distroname. For examples please consult the distroprefs/ directory in
+distro name. For examples please consult the distroprefs/ directory in
the CPAN.pm distribution (these examples are not installed by
default).
@@ -2689,7 +2746,7 @@ Like CPAN::Bundle::inst_file, but returns the $VERSION
=item CPAN::Bundle::uptodate()
-Returns 1 if the bundle itself and all its members are uptodate.
+Returns 1 if the bundle itself and all its members are up-to-date.
=item CPAN::Bundle::install()
@@ -2787,7 +2844,7 @@ Note that install() gives no meaningful return value. See uptodate().
=item CPAN::Distribution::install_tested()
-Install all distributions that have tested sucessfully but
+Install all distributions that have tested successfully but
not yet installed. See also C<is_tested>.
=item CPAN::Distribution::isa_perl()
@@ -2823,7 +2880,7 @@ in C<< $CPAN::Config->{pager} >>.
Returns the hash reference from the first matching YAML file that the
user has deposited in the C<prefs_dir/> directory. The first
succeeding match wins. The files in the C<prefs_dir/> are processed
-alphabetically, and the canonical distroname (e.g.
+alphabetically, and the canonical distro name (e.g.
AUTHOR/Foo-Bar-3.14.tar.gz) is matched against the regular expressions
stored in the $root->{match}{distribution} attribute value.
Additionally all module names contained in a distribution are matched
@@ -2868,7 +2925,7 @@ runs C<make test> there.
=item CPAN::Distribution::uptodate()
Returns 1 if all the modules contained in the distribution are
-uptodate. Relies on containsmods.
+up-to-date. Relies on containsmods.
=item CPAN::Index::force_reload()
@@ -2891,7 +2948,7 @@ internal and thus subject to change without notice.
Returns a one-line description of the module in four columns: The
first column contains the word C<Module>, the second column consists
of one character: an equals sign if this module is already installed
-and uptodate, a less-than sign if this module is installed but can be
+and up-to-date, a less-than sign if this module is installed but can be
upgraded, and a space if the module is not installed. The third column
is the name of the module and the fourth column gives maintainer or
distribution information.
@@ -2953,7 +3010,7 @@ Where the 'DSLIP' characters have the following meanings:
d - Developer
u - Usenet newsgroup comp.lang.perl.modules
n - None known, try comp.lang.perl.modules
- a - abandoned; volunteers welcome to take over maintainance
+ a - abandoned; volunteers welcome to take over maintenance
L - Language Used:
p - Perl-only, no compiler needed, should be platform independent
@@ -2977,9 +3034,9 @@ Where the 'DSLIP' characters have the following meanings:
b - BSD: The BSD License
a - Artistic license alone
2 - Artistic license 2.0 or later
- o - open source: appoved by www.opensource.org
+ o - open source: approved by www.opensource.org
d - allows distribution without restrictions
- r - restricted distribtion
+ r - restricted distribution
n - no license at all
=item CPAN::Module::force($method,@args)
@@ -3098,7 +3155,7 @@ In this pod section each line obeys the format
Module_Name [Version_String] [- optional text]
The only required part is the first field, the name of a module
-(e.g. Foo::Bar, ie. I<not> the name of the distribution file). The rest
+(e.g. Foo::Bar, i.e. I<not> the name of the distribution file). The rest
of the line is optional. The comment part is delimited by a dash just
as in the man page header.
@@ -3116,7 +3173,7 @@ modules in a snapshot bundle file.
=head1 PREREQUISITES
The CPAN program is trying to depend on as little as possible so the
-user can use it in hostile enviroment. It works better the more goodies
+user can use it in hostile environment. It works better the more goodies
the environment provides. For example if you try in the CPAN shell
install Bundle::CPAN
@@ -3276,7 +3333,7 @@ requires that you have at least one of Crypt::OpenPGP module or the
command-line F<gpg> tool installed.
You will also need to be able to connect over the Internet to the public
-keyservers, like pgp.mit.edu, and their port 11731 (the HKP protocol).
+key servers, like pgp.mit.edu, and their port 11731 (the HKP protocol).
The configuration parameter check_sigs is there to turn signature
checking on or off.
@@ -3334,7 +3391,7 @@ prerequisites as early as possible. On the other hand, it's
annoying that so many distributions need some interactive configuring. So
what you can try to accomplish in your private bundle file is to have the
packages that need to be configured early in the file and the gentle
-ones later, so you can go out for cofeee after a few minutes and leave CPAN.pm
+ones later, so you can go out for coffee after a few minutes and leave CPAN.pm
to churn away untended.
=head1 WORKING WITH CPAN.pm BEHIND FIREWALLS
@@ -3361,7 +3418,7 @@ or in your web browser you've proxy information set, then you know
you are running behind an http firewall.
To access servers outside these types of firewalls with perl (even for
-ftp), you need LWP.
+ftp), you need LWP or HTTP::Tiny.
=item ftp firewall
@@ -3487,54 +3544,10 @@ so that STDOUT is captured in a file for later inspection.
I am not root, how can I install a module in a personal directory?
-First of all, you will want to use your own configuration, not the one
-that your root user installed. If you do not have permission to write
-in the cpan directory that root has configured, you will be asked if
-you want to create your own config. Answering "yes" will bring you into
-CPAN's configuration stage, using the system config for all defaults except
-things that have to do with CPAN's work directory, saving your choices to
-your MyConfig.pm file.
-
-You can also manually initiate this process with the following command:
-
- % perl -MCPAN -e 'mkmyconfig'
-
-or by running
-
- mkmyconfig
-
-from the CPAN shell.
-
-You will most probably also want to configure something like this:
-
- o conf makepl_arg "LIB=~/myperl/lib \
- INSTALLMAN1DIR=~/myperl/man/man1 \
- INSTALLMAN3DIR=~/myperl/man/man3 \
- INSTALLSCRIPT=~/myperl/bin \
- INSTALLBIN=~/myperl/bin"
-
-and then the equivalent command for Module::Build, which is
-
- o conf mbuildpl_arg "--lib=~/myperl/lib \
- --installman1dir=~/myperl/man/man1 \
- --installman3dir=~/myperl/man/man3 \
- --installscript=~/myperl/bin \
- --installbin=~/myperl/bin"
-
-You can make this setting permanent like all C<o conf> settings with
-C<o conf commit> or by setting C<auto_commit> beforehand.
-
-You will have to add ~/myperl/man to the MANPATH environment variable
-and also tell your perl programs to look into ~/myperl/lib, e.g. by
-including
-
- use lib "$ENV{HOME}/myperl/lib";
-
-or setting the PERL5LIB environment variable.
-
-While we're speaking about $ENV{HOME}, it might be worth mentioning,
-that for Windows we use the File::HomeDir module that provides an
-equivalent to the concept of the home directory on Unix.
+As of CPAN 1.9463, if you do not have permission to write the default perl
+library directories, CPAN's configuration process will ask you whether
+you want to bootstrap <local::lib>, which makes keeping a personal
+perl library directory easy.
Another thing you should bear in mind is that the UNINST parameter can
be dangerous when you are installing into a private area because you
@@ -3597,7 +3610,7 @@ would be
cpan> o conf term_is_latin 1
-If other charset support is needed, please file a bugreport against
+If other charset support is needed, please file a bug report against
CPAN.pm at rt.cpan.org and describe your needs. Maybe we can extend
the support or maybe UTF-8 terminals become widely available.
@@ -3659,11 +3672,15 @@ http://search.cpan.org/dist/Module-Build-Convert/
I'm frequently irritated with the CPAN shell's inability to help me
select a good mirror.
-The urllist config parameter is yours. You can add and remove sites at
-will. You should find out which sites have the best uptodateness,
-bandwidth, reliability, etc. and are topologically close to you. Some
-people prefer fast downloads, others uptodateness, others reliability.
-You decide which to try in which order.
+CPAN can now help you select a "good" mirror, based on which ones have the
+lowest 'ping' round-trip times. From the shell, use the command 'o conf init
+urllist' and allow CPAN to automatically select mirrors for you.
+
+Beyond that help, the urllist config parameter is yours. You can add and remove
+sites at will. You should find out which sites have the best up-to-dateness,
+bandwidth, reliability, etc. and are topologically close to you. Some people
+prefer fast downloads, others up-to-dateness, others reliability. You decide
+which to try in which order.
Henk P. Penning maintains a site that collects data about CPAN sites:
@@ -3702,9 +3719,10 @@ Speaking of the build directory. Do I have to clean it up myself?
You have the choice to set the config variable C<scan_cache> to
C<never>. Then you must clean it up yourself. The other possible
-value, C<atstart> only cleans up the build directory when you start
-the CPAN shell. If you never start up the CPAN shell, you probably
-also have to clean up the build directory yourself.
+values, C<atstart> and C<atexit> clean up the build directory when you
+start or exit the CPAN shell, respectively. If you never start up the
+CPAN shell, you probably also have to clean up the build directory
+yourself.
=back
@@ -3729,6 +3747,11 @@ This module and its competitor, the CPANPLUS module, are both much
cooler than the other. CPAN.pm is older. CPANPLUS was designed to be
more modular, but it was never intended to be compatible with CPAN.pm.
+=head2 CPANMINUS
+
+In the year 2010 App::cpanminus was launched as a new approach to a
+cpan shell with a considerably smaller footprint. Very cool stuff.
+
=head1 SECURITY ADVICE
This software enables you to upgrade software on your computer and so
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Author.pm b/Master/tlpkg/tlperl/lib/CPAN/Author.pm
index e9e9226be5d..64fe57f61bd 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Author.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Author.pm
@@ -8,7 +8,7 @@ use CPAN::InfoObj;
use vars qw(
$VERSION
);
-$VERSION = "5.5";
+$VERSION = "5.5001";
package CPAN::Author;
use strict;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm b/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
index 827baeaefdb..b9b4eeb32bf 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
@@ -10,7 +10,7 @@ use File::Find;
use vars qw(
$VERSION
);
-$VERSION = "5.5";
+$VERSION = "5.5001";
package CPAN::CacheMgr;
use strict;
@@ -189,7 +189,8 @@ sub _clean_cache {
#-> sub CPAN::CacheMgr::new ;
sub new {
- my $class = shift;
+ my($class,$phase) = @_;
+ $phase ||= "atstart";
my $time = time;
my($debug,$t2);
$debug = "";
@@ -199,10 +200,12 @@ sub new {
SCAN => $CPAN::Config->{'scan_cache'} || 'atstart',
DU => 0
};
+ $CPAN::Frontend->mydie("Unknown scan_cache argument: $self->{SCAN}")
+ unless $self->{SCAN} =~ /never|atstart|atexit/;
File::Path::mkpath($self->{ID});
my $dh = DirHandle->new($self->{ID});
bless $self, $class;
- $self->scan_cache;
+ $self->scan_cache($phase);
$t2 = time;
$debug .= "timing of CacheMgr->new: ".($t2 - $time);
$time = $t2;
@@ -212,10 +215,9 @@ sub new {
#-> sub CPAN::CacheMgr::scan_cache ;
sub scan_cache {
- my $self = shift;
- return if $self->{SCAN} eq 'never';
- $CPAN::Frontend->mydie("Unknown scan_cache argument: $self->{SCAN}")
- unless $self->{SCAN} eq 'atstart';
+ my ($self, $phase) = @_;
+ $phase = '' unless defined $phase;
+ return unless $phase eq $self->{SCAN};
return unless $CPAN::META->{LOCK};
$CPAN::Frontend->myprint(
sprintf("Scanning cache %s for sizes\n",
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
index ac8f873a130..637ab277d96 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
@@ -1,11 +1,14 @@
+# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
+# vim: ts=4 sts=4 sw=4:
package CPAN::Distribution;
use strict;
use Cwd qw(chdir);
use CPAN::Distroprefs;
use CPAN::InfoObj;
+use File::Path ();
@CPAN::Distribution::ISA = qw(CPAN::InfoObj);
use vars qw($VERSION);
-$VERSION = "1.9456_01";
+$VERSION = "1.9602_01";
# Accessors
sub cpan_comment {
@@ -188,7 +191,7 @@ sub color_cmd_tmps {
my $premo;
unless ($premo = CPAN::Shell->expand("Module",$pre)) {
$CPAN::Frontend->mywarn("prerequisite module[$pre] not known\n");
- $CPAN::Frontend->mysleep(2);
+ $CPAN::Frontend->mysleep(0.2);
next PREREQ;
}
$premo->color_cmd_tmps($depth+1,$color,[@$ancestors, $self->id]);
@@ -501,6 +504,10 @@ See also http://rt.cpan.org/Ticket/Display.html?id=38932\n");
$from_dir = File::Spec->curdir;
@dirents = @readdir;
}
+ eval { File::Path::mkpath $builddir; };
+ if ($@) {
+ $CPAN::Frontend->mydie("Cannot create directory $builddir: $@");
+ }
$packagedir = File::Temp::tempdir(
"$tdir_base-XXXXXX",
DIR => $builddir,
@@ -575,6 +582,35 @@ EOF
return($packagedir,$local_file);
}
+#-> sub CPAN::Distribution::pick_meta_file ;
+sub pick_meta_file {
+ my($self, $filter) = @_;
+ $filter = '.' unless defined $filter;
+
+ my $build_dir;
+ unless ($build_dir = $self->{build_dir}) {
+ # maybe permission on build_dir was missing
+ $CPAN::Frontend->mywarn("Warning: cannot determine META.yml without a build_dir.\n");
+ return;
+ }
+
+ my $has_cm = $CPAN::META->has_usable("CPAN::Meta");
+ my $has_pcm = $CPAN::META->has_usable("Parse::CPAN::Meta");
+
+ my @choices;
+ push @choices, 'MYMETA.json' if $has_cm;
+ push @choices, 'MYMETA.yml' if $has_cm || $has_pcm;
+ push @choices, 'META.json' if $has_cm;
+ push @choices, 'META.yml' if $has_cm || $has_pcm;
+
+ for my $file ( grep { /$filter/ } @choices ) {
+ my $path = File::Spec->catdir( $build_dir, $file );
+ return $path if -f $path
+ }
+
+ return;
+}
+
#-> sub CPAN::Distribution::parse_meta_yml ;
sub parse_meta_yml {
my($self, $yaml) = @_;
@@ -586,6 +622,7 @@ sub parse_meta_yml {
my $early_yaml;
eval {
$CPAN::META->has_inst("Parse::CPAN::Meta") or die;
+ die "Parse::CPAN::Meta yaml too old" unless $Parse::CPAN::Meta::VERSION >= "1.40";
# P::C::M returns last document in scalar context
$early_yaml = Parse::CPAN::Meta::LoadFile($yaml);
};
@@ -638,20 +675,21 @@ sub satisfy_configure_requires {
# configure_requires simply fail, all others succeed
}
my @prereq = $self->unsat_prereq("configure_requires_later");
- $self->debug("configure_requires[@prereq]") if $CPAN::DEBUG;
+ $self->debug(sprintf "configure_requires[%s]", join(",",map {join "/",@$_} @prereq)) if $CPAN::DEBUG;
return 1 unless @prereq;
$self->debug(\@prereq) if $CPAN::DEBUG;
if ($self->{configure_requires_later}) {
for my $k (keys %{$self->{configure_requires_later_for}||{}}) {
if ($self->{configure_requires_later_for}{$k}>1) {
- # we must not come here a second time
- $CPAN::Frontend->mywarn("Panic: Some prerequisites is not available, please investigate...");
- require YAML::Syck;
- $CPAN::Frontend->mydie
- (
- YAML::Syck::Dump
- ({self=>$self, prereq=>\@prereq})
- );
+ my $type = "";
+ for my $p (@prereq) {
+ if ($p->[0] eq $k) {
+ $type = $p->[1];
+ }
+ }
+ $type = " $type" if $type;
+ $CPAN::Frontend->mywarn("Warning: unmanageable(?) prerequisite $k$type");
+ sleep 1;
}
}
}
@@ -844,12 +882,20 @@ sub try_download {
my $readfh = CPAN::Tarzip->TIEHANDLE($patch);
my $pcommand;
- my $ppp = $self->_patch_p_parameter($readfh);
+ my($ppp,$pfiles) = $self->_patch_p_parameter($readfh);
if ($ppp eq "applypatch") {
$pcommand = "$CPAN::Config->{applypatch} -verbose";
} else {
my $thispatchargs = join " ", $stdpatchargs, $ppp;
$pcommand = "$patchbin $thispatchargs";
+ require Config; # usually loaded from CPAN.pm
+ if ($Config::Config{osname} eq "solaris") {
+ # native solaris patch cannot patch readonly files
+ for my $file (@{$pfiles||[]}) {
+ my @stat = stat $file or next;
+ chmod $stat[2] | 0600, $file; # may fail
+ }
+ }
}
$readfh = CPAN::Tarzip->TIEHANDLE($patch); # open again
@@ -880,10 +926,14 @@ sub try_download {
}
}
+# may return
+# - "applypatch"
+# - ("-p0"|"-p1", $files)
sub _patch_p_parameter {
my($self,$fh) = @_;
my $cnt_files = 0;
my $cnt_p0files = 0;
+ my @files;
local($_);
while ($_ = $fh->READLINE) {
if (
@@ -895,13 +945,15 @@ sub _patch_p_parameter {
}
next unless /^[\*\+]{3}\s(\S+)/;
my $file = $1;
+ push @files, $file;
$cnt_files++;
$cnt_p0files++ if -f $file;
CPAN->debug("file[$file]cnt_files[$cnt_files]cnt_p0files[$cnt_p0files]")
if $CPAN::DEBUG;
}
return "-p1" unless $cnt_files;
- return $cnt_files==$cnt_p0files ? "-p0" : "-p1";
+ my $opt_p = $cnt_files==$cnt_p0files ? "-p0" : "-p1";
+ return ($opt_p, \@files);
}
#-> sub CPAN::Distribution::_edge_cases
@@ -2398,8 +2450,19 @@ sub follow_prereqs {
return unless @prereq_tuples;
my(@good_prereq_tuples);
for my $p (@prereq_tuples) {
- # XXX watch out for foul ones
- push @good_prereq_tuples, $p;
+ # promote if possible
+ if ($p->[1] =~ /^(r|c)$/) {
+ push @good_prereq_tuples, $p;
+ } elsif ($p->[1] =~ /^(b)$/) {
+ my $reqtype = CPAN::Queue->reqtype_of($p->[0]);
+ if ($reqtype =~ /^(r|c)$/) {
+ push @good_prereq_tuples, [$p->[0], $reqtype];
+ } else {
+ push @good_prereq_tuples, $p;
+ }
+ } else {
+ die "Panic: in follow_prereqs: reqtype[$p->[1]] seen, should never happen";
+ }
}
my $pretty_id = $self->pretty_id;
my %map = (
@@ -2436,7 +2499,7 @@ sub follow_prereqs {
of modules we are processing right now?", "yes");
$follow = $answer =~ /^\s*y/i;
} else {
- my @prereq = map { $_=>[0] } @good_prereq_tuples;
+ my @prereq = map { $_->[0] } @good_prereq_tuples;
local($") = ", ";
$CPAN::Frontend->
myprint(" Ignoring dependencies on modules @prereq\n");
@@ -2513,13 +2576,9 @@ sub unsat_prereq {
my $prefs_depends = $self->prefs->{depends}||{};
my $feature_depends = $self->_feature_depends();
if ($slot eq "configure_requires_later") {
- my $meta_yml = $self->parse_meta_yml();
- if (defined $meta_yml && (! ref $meta_yml || ref $meta_yml ne "HASH")) {
- $CPAN::Frontend->mywarn("The content of META.yml is defined but not a HASH reference. Cannot use it.\n");
- $meta_yml = +{};
- }
+ my $meta_configure_requires = $self->configure_requires();
%merged = (
- %{$meta_yml->{configure_requires}||{}},
+ %{$meta_configure_requires||{}},
%{$prefs_depends->{configure_requires}||{}},
%{$feature_depends->{configure_requires}||{}},
);
@@ -2576,10 +2635,9 @@ sub unsat_prereq {
or $need_version eq '0' # "==" would trigger warning when not numeric
or $need_version eq "undef"
)) {
- unless ($nmo->inst_deprecated) {
- next NEED;
- }
-
+ unless ($nmo->inst_deprecated) {
+ next NEED;
+ }
}
$available_version = $nmo->available_version;
@@ -2595,6 +2653,19 @@ sub unsat_prereq {
if ( $available_file ) {
if ( $inst_file && $available_file eq $inst_file && $nmo->inst_deprecated ) {
# continue installing as a prereq
+ } elsif ($self->{reqtype} =~ /^(r|c)$/ && exists $prereq_pm->{requires}{$need_module} && $nmo && !$inst_file) {
+ # continue installing as a prereq; this may be a
+ # distro we already used when it was a build_requires
+ # so we did not install it. But suddenly somebody
+ # wants it as a requires
+ my $need_distro = $nmo->distribution;
+ if ($need_distro->{install} && $need_distro->{install}->failed && $need_distro->{install}->text =~ /is only/) {
+ CPAN->debug("promotion from build_requires to requires") if $CPAN::DEBUG;
+ delete $need_distro->{install}; # promote to another installation attempt
+ $need_distro->{reqtype} = "r";
+ $need_distro->install;
+ next NEED;
+ }
}
else {
next NEED if $self->_fulfills_all_version_rqs(
@@ -2696,7 +2767,21 @@ sub unsat_prereq {
}
}
}
- my $needed_as = exists $prereq_pm->{requires}{$need_module} ? "r" : "b";
+ my $needed_as;
+ if (0) {
+ } elsif (exists $prereq_pm->{requires}{$need_module}) {
+ $needed_as = "r";
+ } elsif ($slot eq "configure_requires_later") {
+ # in ae872487d5 we said: C< we have not yet run the
+ # {Build,Makefile}.PL, we must presume "r" >; but the
+ # meta.yml standard says C< These dependencies are not
+ # required after the distribution is installed. >; so now
+ # we change it back to "b" and care for the proper
+ # promotion later.
+ $needed_as = "b";
+ } else {
+ $needed_as = "b";
+ }
push @need, [$need_module,$needed_as];
}
my @unfolded = map { "[".join(",",@$_)."]" } @need;
@@ -2758,27 +2843,38 @@ sub _fulfills_all_version_rqs {
return $ret;
}
+#-> sub CPAN::Distribution::read_meta
+# read any sort of meta files, return CPAN::Meta object if no errors
+sub read_meta {
+ my($self) = @_;
+ my $meta_file = $self->pick_meta_file
+ or return;
+
+ return unless $CPAN::META->has_usable("CPAN::Meta");
+ my $meta = eval { CPAN::Meta->load_file($meta_file)}
+ or return;
+
+ # Very old EU::MM could have wrong META
+ if ($meta_file eq 'META.yml'
+ && $meta->generated_by =~ /ExtUtils::MakeMaker version ([\d\._]+)/
+ ) {
+ my $eummv = do { local $^W = 0; $1+0; };
+ return if $eummv < 6.2501;
+ }
+
+ return $meta;
+}
+
#-> sub CPAN::Distribution::read_yaml ;
+# XXX This should be DEPRECATED -- dagolden, 2011-02-05
sub read_yaml {
my($self) = @_;
- my $build_dir;
- unless ($build_dir = $self->{build_dir}) {
- # maybe permission on build_dir was missing
- $CPAN::Frontend->mywarn("Warning: cannot determine META.yml without a build_dir.\n");
- return;
- }
- # if MYMETA.yml exists, that takes precedence over META.yml
- my $meta = File::Spec->catfile($build_dir,"META.yml");
- my $mymeta = File::Spec->catfile($build_dir,"MYMETA.yml");
- my $meta_file = -f $mymeta ? $mymeta : $meta;
+ my $meta_file = $self->pick_meta_file;
$self->debug("meta_file[$meta_file]") if $CPAN::DEBUG;
- return unless -f $meta_file;
+ return unless $meta_file;
my $yaml;
eval { $yaml = $self->parse_meta_yml($meta_file) };
if ($@ or ! $yaml) {
- $CPAN::Frontend->mywarnonce("Could not read ".
- "'$meta_file'. Falling back to other ".
- "methods to determine prerequisites\n");
return undef; # if we die, then we cannot read YAML's own META.yml
}
# not "authoritative"
@@ -2790,7 +2886,7 @@ sub read_yaml {
if $CPAN::DEBUG;
$self->debug($yaml) if $CPAN::DEBUG && $yaml;
# MYMETA.yml is static and authoritative by definition
- if ( $meta_file eq $mymeta ) {
+ if ( $meta_file =~ /MYMETA\.yml/ ) {
return $yaml;
}
# META.yml is authoritative only if dynamic_config is defined and false
@@ -2801,6 +2897,21 @@ sub read_yaml {
return undef;
}
+#-> sub CPAN::Distribution::configure_requires ;
+sub configure_requires {
+ my($self) = @_;
+ return unless my $meta_file = $self->pick_meta_file('^META');
+ if (my $meta_obj = $self->read_meta) {
+ my $prereqs = $meta_obj->effective_prereqs;
+ my $cr = $prereqs->requirements_for(qw/configure requires/);
+ return $cr ? $cr->as_string_hash : undef;
+ }
+ else {
+ my $yaml = eval { $self->parse_meta_yml($meta_file) };
+ return $yaml->{configure_requires};
+ }
+}
+
#-> sub CPAN::Distribution::prereq_pm ;
sub prereq_pm {
my($self) = @_;
@@ -2815,7 +2926,19 @@ sub prereq_pm {
$self->{modulebuild}||"",
) if $CPAN::DEBUG;
my($req,$breq);
- if (my $yaml = $self->read_yaml) { # often dynamic_config prevents a result here
+ my $meta_obj = $self->read_meta;
+ # META/MYMETA is only authoritative if dynamic_config is false
+ if ($meta_obj && ! $meta_obj->dynamic_config) {
+ my $prereqs = $meta_obj->effective_prereqs;
+ my $requires = $prereqs->requirements_for(qw/runtime requires/);
+ my $build_requires = $prereqs->requirements_for(qw/build requires/);
+ my $test_requires = $prereqs->requirements_for(qw/test requires/);
+ # XXX we don't yet distinguish build vs test, so merge them for now
+ $build_requires->add_requirements($test_requires);
+ $req = $requires->as_string_hash;
+ $breq = $build_requires->as_string_hash;
+ }
+ elsif (my $yaml = $self->read_yaml) { # often dynamic_config prevents a result here
$req = $yaml->{requires} || {};
$breq = $yaml->{build_requires} || {};
undef $req unless ref $req eq "HASH" && %$req;
@@ -2833,6 +2956,7 @@ sub prereq_pm {
my $areq;
my $do_replace;
while (my($k,$v) = each %{$req||{}}) {
+ next unless defined $v;
if ($v =~ /\d/) {
$areq->{$k} = $v;
} elsif ($k =~ /[A-Za-z]/ &&
@@ -2851,6 +2975,11 @@ sub prereq_pm {
$req = $areq if $do_replace;
}
}
+ else {
+ $CPAN::Frontend->mywarnonce("Could not read metadata file. Falling back to other ".
+ "methods to determine prerequisites\n");
+ }
+
unless ($req || $breq) {
my $build_dir;
unless ( $build_dir = $self->{build_dir} ) {
@@ -3122,8 +3251,42 @@ sub test {
$tests_ok = system($system) == 0;
}
$self->introduce_myself;
+ my $but = $self->_make_test_illuminate_prereqs();
if ( $tests_ok ) {
- {
+ if ($but) {
+ $CPAN::Frontend->mywarn("Tests succeeded but $but\n");
+ $self->{make_test} = CPAN::Distrostatus->new("NO $but");
+ $self->store_persistent_state;
+ return $self->goodbye("[dependencies] -- NA");
+ }
+ $CPAN::Frontend->myprint(" $system -- OK\n");
+ $self->{make_test} = CPAN::Distrostatus->new("YES");
+ $CPAN::META->is_tested($self->{build_dir},$self->{make_test}{TIME});
+ # probably impossible to need the next line because badtestcnt
+ # has a lifespan of one command
+ delete $self->{badtestcnt};
+ } else {
+ if ($but) {
+ $but .= "; additionally test harness failed";
+ $CPAN::Frontend->mywarn("$but\n");
+ $self->{make_test} = CPAN::Distrostatus->new("NO $but");
+ } else {
+ $self->{make_test} = CPAN::Distrostatus->new("NO");
+ }
+ $self->{badtestcnt}++;
+ $CPAN::Frontend->mywarn(" $system -- NOT OK\n");
+ CPAN::Shell->optprint
+ ("hint",
+ sprintf
+ ("//hint// to see the cpan-testers results for installing this module, try:
+ reports %s\n",
+ $self->pretty_id));
+ }
+ $self->store_persistent_state;
+}
+
+sub _make_test_illuminate_prereqs {
+ my($self) = @_;
my @prereq;
# local $CPAN::DEBUG = 16; # Distribution
@@ -3154,36 +3317,14 @@ sub test {
push @prereq, $m;
}
}
+ my $but;
if (@prereq) {
my $cnt = @prereq;
my $which = join ",", @prereq;
- my $but = $cnt == 1 ? "one dependency not OK ($which)" :
+ $but = $cnt == 1 ? "one dependency not OK ($which)" :
"$cnt dependencies missing ($which)";
- $CPAN::Frontend->mywarn("Tests succeeded but $but\n");
- $self->{make_test} = CPAN::Distrostatus->new("NO $but");
- $self->store_persistent_state;
- return $self->goodbye("[dependencies] -- NA");
}
- }
-
- $CPAN::Frontend->myprint(" $system -- OK\n");
- $self->{make_test} = CPAN::Distrostatus->new("YES");
- $CPAN::META->is_tested($self->{build_dir},$self->{make_test}{TIME});
- # probably impossible to need the next line because badtestcnt
- # has a lifespan of one command
- delete $self->{badtestcnt};
- } else {
- $self->{make_test} = CPAN::Distrostatus->new("NO");
- $self->{badtestcnt}++;
- $CPAN::Frontend->mywarn(" $system -- NOT OK\n");
- CPAN::Shell->optprint
- ("hint",
- sprintf
- ("//hint// to see the cpan-testers results for installing this module, try:
- reports %s\n",
- $self->pretty_id));
- }
- $self->store_persistent_state;
+ $but;
}
sub _prefs_with_expect {
@@ -3365,13 +3506,15 @@ sub install {
}
}
if (exists $self->{install}) {
- if (UNIVERSAL::can($self->{install},"text") ?
- $self->{install}->text eq "YES" :
- $self->{install} =~ /^YES/
- ) {
+ my $text = UNIVERSAL::can($self->{install},"text") ?
+ $self->{install}->text :
+ $self->{install};
+ if ($text =~ /^YES/) {
$CPAN::Frontend->myprint(" Already done\n");
$CPAN::META->is_installed($self->{build_dir});
return 1;
+ } elsif ($text =~ /is only/) {
+ push @e, $text;
} else {
# comment in Todo on 2006-02-11; maybe retry?
push @e, "Already tried without success";
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Exception/blocked_urllist.pm b/Master/tlpkg/tlperl/lib/CPAN/Exception/blocked_urllist.pm
index 102c194e612..87d07d13f14 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Exception/blocked_urllist.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Exception/blocked_urllist.pm
@@ -7,7 +7,7 @@ use overload '""' => "as_string";
use vars qw(
$VERSION
);
-$VERSION = "1.0";
+$VERSION = "1.001";
sub new {
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
index 268ca284678..4f233814e54 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
@@ -14,7 +14,7 @@ use vars qw($connect_to_internet_ok $Ua $Thesite $ThesiteURL $Themethod);
use vars qw(
$VERSION
);
-$VERSION = "5.5004";
+$VERSION = "5.5005";
#-> sub CPAN::FTP::ftp_statistics
# if they want to rewrite, they need to pass in a filehandle
@@ -46,7 +46,11 @@ sub _ftp_statistics {
$CPAN::Frontend->myprint("Warning (usually harmless): $@\n");
return;
} elsif (ref $@ eq "CPAN::Exception::yaml_process_error") {
- $CPAN::Frontend->mydie($@);
+ my $time = time;
+ my $to = "$file.$time";
+ $CPAN::Frontend->myprint("Error reading '$file': $@\nStashing away as '$to' to prevent further interruptions. You may want to remove that file later.\n");
+ rename $file, $to or $CPAN::Frontend->mydie("Could not rename: $!");
+ return;
}
} else {
$CPAN::Frontend->mydie($@);
@@ -572,13 +576,16 @@ sub hostdleasy { #called from hostdlxxx
$ThesiteURL = $ro_url;
return $ungz;
}
- else {
+ elsif (-f $l && -r _) {
eval { CPAN::Tarzip->new($l)->gunzip($aslocal) };
- if ( -f $aslocal) {
+ if ( -f $aslocal && -s _) {
$ThesiteURL = $ro_url;
return $aslocal;
}
- else {
+ elsif (! -s $aslocal) {
+ unlink $aslocal;
+ }
+ elsif (-f $l) {
$CPAN::Frontend->mywarn("Error decompressing '$l': $@\n")
if $@;
return;
@@ -645,8 +652,46 @@ sub hostdleasy { #called from hostdlxxx
# Net::FTP can still succeed where LWP fails. So we do not
# skip Net::FTP anymore when LWP is available.
}
- } else {
- $CPAN::Frontend->mywarn(" LWP not available\n");
+ } elsif ($url =~ /^http:/ && $CPAN::META->has_usable('HTTP::Tiny')) {
+ require CPAN::HTTP::Client;
+ my $chc = CPAN::HTTP::Client->new(
+ proxy => $CPAN::Config->{http_proxy} || $ENV{http_proxy},
+ no_proxy => $CPAN::Config->{no_proxy} || $ENV{no_proxy},
+ );
+ for my $try ( $url, ( $url !~ /\.gz(?!\n)\Z/ ? "$url.gz" : () ) ) {
+ $CPAN::Frontend->myprint("Fetching with HTTP::Tiny:\n$try\n");
+ my $res = eval { $chc->mirror($try, $aslocal) };
+ if ( $res && $res->{success} ) {
+ $ThesiteURL = $ro_url;
+ my $now = time;
+ utime $now, $now, $aslocal; # download time is more
+ # important than upload
+ # time
+ return $aslocal;
+ }
+ elsif ( $res && $res->{status} ne '599') {
+ $CPAN::Frontend->myprint(sprintf(
+ "HTTP::Tiny failed with code[%s] message[%s]\n",
+ $res->{status},
+ $res->{reason},
+ )
+ );
+ }
+ elsif ( $res && $res->{status} eq '599') {
+ $CPAN::Frontend->myprint(sprintf(
+ "HTTP::Tiny failed with an internal error: %s\n",
+ $res->{content},
+ )
+ );
+ }
+ else {
+ my $err = $@ || 'Unknown error';
+ $CPAN::Frontend->myprint(sprintf(
+ "Error downloading with HTTP::Tiny: %s\n", $err
+ )
+ );
+ }
+ }
}
return if $CPAN::Signal;
if ($url =~ m|^ftp://(.*?)/(.*)/(.*)|) {
@@ -845,7 +890,7 @@ sub _proxy_vars {
}
if ($want_proxy) {
my($user, $pass) =
- &CPAN::LWP::UserAgent::get_proxy_credentials();
+ CPAN::HTTP::Credentials->get_proxy_credentials();
$ret = {
proxy_user => $user,
proxy_pass => $pass,
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FTP/netrc.pm b/Master/tlpkg/tlperl/lib/CPAN/FTP/netrc.pm
index c05405e7ef6..0778e8adbcc 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/FTP/netrc.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/FTP/netrc.pm
@@ -1,13 +1,12 @@
package CPAN::FTP::netrc;
use strict;
-$CPAN::FTP::netrc::VERSION = $CPAN::FTP::netrc::VERSION = "1.00";
+$CPAN::FTP::netrc::VERSION = $CPAN::FTP::netrc::VERSION = "1.01";
# package CPAN::FTP::netrc;
sub new {
my($class) = @_;
- my $home = CPAN::HandleConfig::home();
- my $file = File::Spec->catfile($home,".netrc");
+ my $file = File::Spec->catfile($ENV{HOME},".netrc");
my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
index 53ffbf1ef04..667bdca2f9a 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
@@ -1,4 +1,5 @@
# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
+# vim: ts=4 sts=4 sw=4:
package CPAN::FirstTime;
use strict;
@@ -8,8 +9,8 @@ use File::Basename ();
use File::Path ();
use File::Spec ();
use CPAN::Mirrors ();
-use vars qw($VERSION $silent);
-$VERSION = "5.5301";
+use vars qw($VERSION $auto_config);
+$VERSION = "5.5303";
=head1 NAME
@@ -63,7 +64,7 @@ directory between sessions. Since 1.88_58 CPAN.pm has a YAML-based
mechanism that makes it possible to share the contents of the
build_dir/ directory between different sessions with the same version
of perl. People who prefer to test things several days before
-installing will like this feature because it safes a lot of time.
+installing will like this feature because it saves a lot of time.
If you say yes to the following question, CPAN will try to store
enough information about the build process so that it can pick up in
@@ -200,7 +201,7 @@ Preferred method for determining the current working directory?
=item halt_on_failure
-Normaly, CPAN.pm continues processing the full list of targets and
+Normally, CPAN.pm continues processing the full list of targets and
dependencies, even if one of them fails. However, you can specify
that CPAN should halt after the first failure.
@@ -212,7 +213,7 @@ If you have one of the readline packages (Term::ReadLine::Perl,
Term::ReadLine::Gnu, possibly others) installed, the interactive CPAN
shell will have history support. The next two questions deal with the
filename of the history file and with its size. If you do not want to
-set this variable, please hit SPACE RETURN to the following question.
+set this variable, please hit SPACE ENTER to the following question.
File to save your history?
@@ -296,6 +297,7 @@ Parameters for the 'make install' command?
Typical frequently used setting:
UNINST=1 # to always uninstall potentially conflicting files
+ # (but do NOT use with local::lib or INSTALL_BASE)
Your choice:
@@ -338,6 +340,7 @@ Parameters for the './Build install' command? Typical frequently used
setting:
--uninst 1 # uninstall conflicting files
+ # (but do NOT use with local::lib or INSTALL_BASE)
Your choice:
@@ -386,7 +389,7 @@ default options for CPAN.pm and the environment can be overridden and
dialog sequences can be stored that can later be executed by an
Expect.pm object. The CPAN.pm distribution comes with some prefab YAML
files that cover sample distributions that can be used as blueprints
-to store one own prefs. Please check out the distroprefs/ directory of
+to store your own prefs. Please check out the distroprefs/ directory of
the CPAN.pm distribution to get a quick start into the prefs system.
Directory where to store default options/environment/dialogs for
@@ -420,10 +423,11 @@ Randomize parameter
=item scan_cache
By default, each time the CPAN module is started, cache scanning is
-performed to keep the cache size in sync. To prevent this, answer
-'never'.
+performed to keep the cache size in sync ('atstart'). Alternatively,
+scanning and cleanup can happen when CPAN exits ('atexit'). To prevent
+any cache cleanup, answer 'never'.
-Perform cache scanning (atstart or never)?
+Perform cache scanning ('atstart', 'atexit' or 'never')?
=item shell
@@ -468,7 +472,7 @@ Tar command verbosity level (none or v or vv)?
=item term_is_latin
-The next option deals with the charset (aka character set) your
+The next option deals with the charset (a.k.a. character set) your
terminal supports. In general, CPAN is English speaking territory, so
the charset does not matter much but some CPAN have names that are
outside the ASCII range. If your terminal supports UTF-8, you should
@@ -496,14 +500,14 @@ improves the overall quality and value of CPAN.
One way you can contribute is to send test results for each module
that you install. If you install the CPAN::Reporter module, you have
-the option to automatically generate and email test reports to CPAN
+the option to automatically generate and deliver test reports to CPAN
Testers whenever you run tests on a CPAN package.
See the CPAN::Reporter documentation for additional details and
-configuration settings. If your firewall blocks outgoing email,
-you will need to configure CPAN::Reporter before sending reports.
+configuration settings. If your firewall blocks outgoing traffic,
+you may need to configure CPAN::Reporter before sending reports.
-Email test reports if CPAN::Reporter is installed (yes/no)?
+Generate test reports if CPAN::Reporter is installed (yes/no)?
=item perl5lib_verbosity
@@ -513,6 +517,15 @@ added). Choose 'v' to get this message, 'none' to suppress it.
Verbosity level for PERL5LIB changes (none or v)?
+=item prefer_external_tar
+
+Per default all untar operations are done with the perl module
+Archive::Tar; by setting this variable to true the external tar
+command is used if available; on Unix this is usually preferred
+because they have a reliable and fast gnutar implementation.
+
+Use the external tar program instead of Archive::Tar?
+
=item trust_test_report_history
When a distribution has already been tested by CPAN::Reporter on
@@ -578,26 +591,16 @@ use vars qw( %prompts );
my @prompts = (
-manual_config => qq[
-CPAN is the world-wide archive of perl resources. It consists of about
-300 sites that all replicate the same contents around the globe. Many
-countries have at least one CPAN site already. The resources found on
-CPAN are easily accessible with the CPAN.pm module. If you want to use
-CPAN.pm, lots of things have to be configured. Fortunately, most of
-them can be determined automatically. If you prefer the automatic
-configuration, answer 'yes' below.
+auto_config => qq{
+CPAN.pm requires configuration, but most of it can be done automatically.
+If you answer 'no' below, you will enter an interactive dialog for each
+configuration option instead.
-If you prefer to enter a dialog instead, you can answer 'no' to this
-question and I'll let you configure in small steps one thing after the
-other. (Note: you can revisit this dialog anytime later by typing 'o
-conf init' at the cpan prompt.)
-
-],
+Would you like to configure as much as possible automatically?},
auto_pick => qq{
-Would you like me to automatically choose the best CPAN mirror
-sites for you? (This means connecting to the Internet and could
-take a couple minutes)},
+Would you like me to automatically choose some CPAN mirror
+sites for you? (This means connecting to the Internet)},
config_intro => qq{
@@ -636,7 +639,7 @@ the \$CPAN::Config takes precedence.
proxy_user => qq{
If your proxy is an authenticating proxy, you can store your username
-permanently. If you do not want that, just press RETURN. You will then
+permanently. If you do not want that, just press ENTER. You will then
be asked for your username in every future session.
},
@@ -645,7 +648,7 @@ proxy_pass => qq{
Your password for the authenticating proxy can also be stored
permanently on disk. If this violates your security policy, just press
-RETURN. You will then be asked for the password in every future
+ENTER. You will then be asked for the password in every future
session.
},
@@ -675,6 +678,24 @@ be echoed to the terminal!
},
+install_help => qq{
+Warning: You do not have write permission for Perl library directories.
+
+To install modules, you need to configure a local Perl library directory or
+escalate your privileges. CPAN can help you by bootstrapping the local::lib
+module or by configuring itself to use 'sudo' (if available). You may also
+resolve this problem manually if you need to customize your setup.
+
+What approach do you want? (Choose 'local::lib', 'sudo' or 'manual')
+},
+
+local_lib_installed => qq{
+local::lib is installed. You must now add the following environment variables
+to your shell configuration files (or registry, if you are on Windows) and
+then restart your command line shell and CPAN before installing modules:
+
+},
+
);
die "Coding error in \@prompts declaration. Odd number of elements, above"
@@ -756,33 +777,17 @@ sub init {
#= Files, directories
#
- unless ($matcher) {
- $CPAN::Frontend->myprint($prompts{manual_config});
- }
-
- my $manual_conf;
-
local *_real_prompt;
if ( $args{autoconfig} ) {
- $manual_conf = "no";
+ $auto_config = 1;
} elsif ($matcher) {
- $manual_conf = "yes";
- } else {
- my $_conf = prompt("Would you like me to configure as much as possible ".
- "automatically?", "yes");
- $manual_conf = ($_conf and $_conf =~ /^y/i) ? "no" : "yes";
- }
- CPAN->debug("manual_conf[$manual_conf]") if $CPAN::DEBUG;
- my $fastread;
- {
- if ($manual_conf =~ /^y/i) {
- $fastread = 0;
+ $auto_config = 0;
} else {
- $fastread = 1;
- $silent = 1;
- $CPAN::Config->{urllist} ||= [];
- $CPAN::Config->{connect_to_internet_ok} ||= 1;
-
+ my $_conf = prompt($prompts{auto_config}, "yes");
+ $auto_config = ($_conf and $_conf =~ /^y/i) ? 1 : 0;
+ }
+ CPAN->debug("auto_config[$auto_config]") if $CPAN::DEBUG;
+ if ( $auto_config ) {
local $^W = 0;
# prototype should match that of &MakeMaker::prompt
my $current_second = time;
@@ -791,7 +796,19 @@ sub init {
# silent prompting -- just quietly use default
*_real_prompt = sub { return $_[1] };
}
+
+ #
+ # bootstrap local::lib or sudo
+ #
+ unless ( $matcher
+ || _can_write_to_libdirs() || _using_installbase() || _using_sudo()
+ ) {
+ local $auto_config = 0; # We *must* ask, even under autoconfig
+ local *_real_prompt; # We *must* show prompt
+ my_prompt_loop(install_help => 'local::lib', $matcher,
+ 'local::lib|sudo|manual');
}
+ $CPAN::Config->{install_help} ||= ''; # Temporary to suppress warnings
if (!$matcher or q{
build_dir
@@ -800,7 +817,7 @@ sub init {
keep_source_where
prefs_dir
} =~ /$matcher/) {
- $CPAN::Frontend->myprint($prompts{config_intro}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{config_intro}) unless $auto_config;
init_cpan_home($matcher);
@@ -831,7 +848,7 @@ sub init {
my_dflt_prompt(build_cache => 100, $matcher);
my_dflt_prompt(index_expire => 1, $matcher);
- my_prompt_loop(scan_cache => 'atstart', $matcher, 'atstart|never');
+ my_prompt_loop(scan_cache => 'atstart', $matcher, 'atstart|atexit|never');
#
#= cache_metadata
@@ -860,13 +877,12 @@ sub init {
if (!$matcher or 'test_report' =~ /$matcher/) {
my_yn_prompt(test_report => 0, $matcher);
if (
+ $matcher &&
$CPAN::Config->{test_report} &&
$CPAN::META->has_inst("CPAN::Reporter") &&
CPAN::Reporter->can('configure')
) {
- local *_real_prompt;
- *_real_prompt = \&CPAN::Shell::colorable_makemaker_prompt;
- my $_conf = prompt("Would you like me configure CPAN::Reporter now?", $silent ? "no" : "yes");
+ my $_conf = prompt("Would you like me configure CPAN::Reporter now?", "yes");
if ($_conf =~ /^y/i) {
$CPAN::Frontend->myprint("\nProceeding to configure CPAN::Reporter.\n");
CPAN::Reporter::configure();
@@ -884,7 +900,7 @@ sub init {
my_dflt_prompt(yaml_module => "YAML", $matcher);
my $old_v = $CPAN::Config->{load_module_verbosity};
$CPAN::Config->{load_module_verbosity} = q[none];
- if (!$silent && !$CPAN::META->has_inst($CPAN::Config->{yaml_module})) {
+ if (!$auto_config && !$CPAN::META->has_inst($CPAN::Config->{yaml_module})) {
$CPAN::Frontend->mywarn
("Warning (maybe harmless): '$CPAN::Config->{yaml_module}' not installed.\n");
$CPAN::Frontend->mysleep(3);
@@ -901,7 +917,18 @@ sub init {
#= External programs
#
my(@path) = split /$Config{'path_sep'}/, $ENV{'PATH'};
- _init_external_progs($matcher,\@path);
+ $CPAN::Frontend->myprint($prompts{external_progs})
+ if !$matcher && !$auto_config;
+ _init_external_progs($matcher, {
+ path => \@path,
+ progs => [ qw/make bzip2 gzip tar unzip gpg patch applypatch/ ],
+ shortcut => 0
+ });
+ _init_external_progs($matcher, {
+ path => \@path,
+ progs => [ qw/wget curl lynx ncftpget ncftp ftp/ ],
+ shortcut => 1
+ });
{
my $path = $CPAN::Config->{'pager'} ||
@@ -928,6 +955,22 @@ sub init {
}
}
+ {
+ my $tar = $CPAN::Config->{tar};
+ my $prefer_external_tar = $CPAN::Config->{prefer_external_tar}; # XXX not yet supported
+ unless (defined $prefer_external_tar) {
+ if ($^O =~ /(MSWin32|solaris)/) {
+ # both have a record of broken tars
+ $prefer_external_tar = 0;
+ } elsif ($tar) {
+ $prefer_external_tar = 1;
+ } else {
+ $prefer_external_tar = 0;
+ }
+ }
+ my_yn_prompt(prefer_external_tar => $prefer_external_tar, $matcher);
+ }
+
#
# verbosity
#
@@ -962,8 +1005,18 @@ sub init {
if (exists $CPAN::HandleConfig::keys{make_install_make_command}) {
# as long as Windows needs $self->_build_command, we cannot
# support sudo on windows :-)
- my_dflt_prompt(make_install_make_command => $CPAN::Config->{make} || "",
- $matcher);
+ my $default = $CPAN::Config->{make} || "";
+ if ( $default && $CPAN::Config->{install_help} eq 'sudo' ) {
+ if ( find_exe('sudo') ) {
+ $default = "sudo $default";
+ delete $CPAN::Config->{make_install_make_command}
+ unless $CPAN::Config->{make_install_make_command} =~ /sudo/;
+ }
+ else {
+ $CPAN::Frontend->mywarnonce("Could not find 'sudo' in PATH\n");
+ }
+ }
+ my_dflt_prompt(make_install_make_command => $default, $matcher);
}
my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
@@ -976,7 +1029,18 @@ sub init {
and $^O ne "MSWin32") {
# as long as Windows needs $self->_build_command, we cannot
# support sudo on windows :-)
- my_dflt_prompt(mbuild_install_build_command => "./Build", $matcher);
+ my $default = "./Build";
+ if ( $CPAN::Config->{install_help} eq 'sudo' ) {
+ if ( find_exe('sudo') ) {
+ $default = "sudo $default";
+ delete $CPAN::Config->{mbuild_install_build_command}
+ unless $CPAN::Config->{mbuild_install_build_command} =~ /sudo/;
+ }
+ else {
+ $CPAN::Frontend->mywarnonce("Could not find 'sudo' in PATH\n");
+ }
+ }
+ my_dflt_prompt(mbuild_install_build_command => $default, $matcher);
}
my_dflt_prompt(mbuild_install_arg => "", $matcher);
@@ -1000,7 +1064,7 @@ sub init {
my @proxy_vars = qw/ftp_proxy http_proxy no_proxy/;
my @proxy_user_vars = qw/proxy_user proxy_pass/;
if (!$matcher or "@proxy_vars @proxy_user_vars" =~ /$matcher/) {
- $CPAN::Frontend->myprint($prompts{proxy_intro}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{proxy_intro}) unless $auto_config;
for (@proxy_vars) {
$prompts{$_} = "Your $_?";
@@ -1012,21 +1076,21 @@ sub init {
$default = $CPAN::Config->{proxy_user} || $CPAN::LWP::UserAgent::USER || "";
- $CPAN::Frontend->myprint($prompts{proxy_user}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{proxy_user}) unless $auto_config;
if ($CPAN::Config->{proxy_user} = prompt("Your proxy user id?",$default)) {
- $CPAN::Frontend->myprint($prompts{proxy_pass}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{proxy_pass}) unless $auto_config;
if ($CPAN::META->has_inst("Term::ReadKey")) {
Term::ReadKey::ReadMode("noecho");
} else {
- $CPAN::Frontend->myprint($prompts{password_warn}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{password_warn}) unless $auto_config;
}
$CPAN::Config->{proxy_pass} = prompt_no_strip("Your proxy password?");
if ($CPAN::META->has_inst("Term::ReadKey")) {
Term::ReadKey::ReadMode("restore");
}
- $CPAN::Frontend->myprint("\n\n") unless $silent;
+ $CPAN::Frontend->myprint("\n\n") unless $auto_config;
}
}
}
@@ -1056,24 +1120,24 @@ sub init {
if ($CPAN::META->has_inst("Term::ANSIColor")) {
my $T="gYw";
$CPAN::Frontend->myprint( " on_ on_y ".
- " on_ma on_\n") unless $silent;
+ " on_ma on_\n") unless $auto_config;
$CPAN::Frontend->myprint( " on_black on_red green ellow ".
- "on_blue genta on_cyan white\n") unless $silent;
+ "on_blue genta on_cyan white\n") unless $auto_config;
for my $FG ("", "bold",
map {$_,"bold $_"} "black","red","green",
"yellow","blue",
"magenta",
"cyan","white") {
- $CPAN::Frontend->myprint(sprintf( "%12s ", $FG)) unless $silent;
+ $CPAN::Frontend->myprint(sprintf( "%12s ", $FG)) unless $auto_config;
for my $BG ("",map {"on_$_"} qw(black red green yellow
blue magenta cyan white)) {
$CPAN::Frontend->myprint( $FG||$BG ?
- Term::ANSIColor::colored(" $T ","$FG $BG") : " $T ") unless $silent;
+ Term::ANSIColor::colored(" $T ","$FG $BG") : " $T ") unless $auto_config;
}
- $CPAN::Frontend->myprint( "\n" ) unless $silent;
+ $CPAN::Frontend->myprint( "\n" ) unless $auto_config;
}
- $CPAN::Frontend->myprint( "\n" ) unless $silent;
+ $CPAN::Frontend->myprint( "\n" ) unless $auto_config;
}
for my $tuple (
["colorize_print", "bold blue on_white"],
@@ -1103,7 +1167,7 @@ sub init {
#
if (!$matcher or 'histfile histsize' =~ /$matcher/) {
- $CPAN::Frontend->myprint($prompts{histfile_intro}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{histfile_intro}) unless $auto_config;
defined($default = $CPAN::Config->{histfile}) or
$default = File::Spec->catfile($CPAN::Config->{cpan_home},"histfile");
my_dflt_prompt(histfile => $default, $matcher);
@@ -1126,7 +1190,6 @@ sub init {
or 'show_unparsable_versions' =~ /$matcher/
or 'show_zero_versions' =~ /$matcher/
) {
- $CPAN::Frontend->myprint($prompts{show_unparsable_or_zero_versions_intro});
my_yn_prompt(show_unparsable_versions => 0, $matcher);
my_yn_prompt(show_zero_versions => 0, $matcher);
}
@@ -1135,35 +1198,12 @@ sub init {
#= MIRRORED.BY and conf_sites()
#
- # remember, this is only triggered if no urllist is given, so 0 is
- # fair and protects the default site from being overloaded and
- # gives the user more chances to select his own urllist.
- my_yn_prompt("connect_to_internet_ok" => $fastread ? 1 : 0, $matcher);
- $CPAN::Config->{urllist} ||= [];
- if ($matcher) {
- if ("urllist" =~ $matcher) {
- $CPAN::Frontend->myprint($prompts{urls_intro});
-
- # conf_sites would go into endless loop with the smash prompt
- local *_real_prompt;
- *_real_prompt = \&CPAN::Shell::colorable_makemaker_prompt;
- my $_conf = prompt($prompts{auto_pick}, "yes");
+ # Let's assume they want to use the internet and make them turn it
+ # off if they really don't.
+ my_yn_prompt("connect_to_internet_ok" => 1, $matcher);
- if ( $_conf =~ /^y/i ) {
- conf_sites( auto_pick => 1 ) or bring_your_own();
- }
- else {
- my $_conf = prompt(
- "Would you like to pick from the CPAN mirror list?", "yes"
- );
-
- if ( $_conf =~ /^y/i ) {
- conf_sites();
- }
- bring_your_own();
- }
- _print_urllist();
- }
+ # Allow matching but don't show during manual config
+ if ($matcher) {
if ("randomize_urllist" =~ $matcher) {
my_dflt_prompt(randomize_urllist => 0, $matcher);
}
@@ -1173,70 +1213,213 @@ sub init {
if ("ftpstats_period" =~ $matcher) {
my_dflt_prompt(ftpstats_period => 14, $matcher);
}
- } elsif ($fastread) {
- $silent = 0;
- local *_real_prompt;
- *_real_prompt = \&CPAN::Shell::colorable_makemaker_prompt;
- if ( @{ $CPAN::Config->{urllist} } ) {
+ }
+
+ $CPAN::Config->{urllist} ||= [];
+
+ if ($auto_config) {
+ if(@{ $CPAN::Config->{urllist} }) {
$CPAN::Frontend->myprint(
- "\nYour 'urllist' is already configured. Type 'o conf init urllist' to change it.\n"
+ "Your 'urllist' is already configured. Type 'o conf init urllist' to change it.\n"
);
}
else {
$CPAN::Frontend->myprint(
"Autoconfigured everything but 'urllist'.\n"
);
+ _do_pick_mirrors();
+ }
+ }
+ elsif (!$matcher || "urllist" =~ $matcher) {
+ _do_pick_mirrors();
+ }
- $CPAN::Frontend->myprint($prompts{urls_intro});
-
- my $_conf = prompt($prompts{auto_pick}, "yes");
+ if ($auto_config) {
+ $CPAN::Frontend->myprint(
+ "\nAutoconfiguration complete.\n"
+ );
+ $auto_config = 0; # reset
+ }
- if ( $_conf =~ /^y/i ) {
- conf_sites( auto_pick => 1 ) or bring_your_own();
+ # bootstrap local::lib now if requested
+ if ( $CPAN::Config->{install_help} eq 'local::lib' ) {
+ if ( ! @{ $CPAN::Config->{urllist} } ) {
+ $CPAN::Frontend->myprint(
+ "Skipping local::lib bootstrap because 'urllist' is not configured.\n"
+ );
}
else {
- my $_conf = prompt(
- "Would you like to pick from the CPAN mirror list?", "yes"
+ $CPAN::Frontend->myprint("\nAttempting to bootstrap local::lib...\n");
+ $CPAN::Frontend->myprint("\nWriting $configpm for bootstrap...\n");
+ delete $CPAN::Config->{install_help}; # temporary only
+ CPAN::HandleConfig->commit;
+ my $dist;
+ if ( $dist = CPAN::Shell->expand('Module', 'local::lib')->distribution ) {
+ # this is a hack to force bootstrapping
+ $dist->{prefs}{pl}{commandline} = "$^X Makefile.PL --bootstrap";
+ # Set @INC for this process so we find things as they bootstrap
+ require lib;
+ lib->import(_local_lib_inc_path());
+ eval { $dist->install };
+ }
+ if ( ! $dist || (my $err = $@) ) {
+ $err ||= 'Could not locate local::lib in the CPAN index';
+ $CPAN::Frontend->mywarn("Error bootstrapping local::lib: $@\n");
+ $CPAN::Frontend->myprint("From the CPAN Shell, you might try 'look local::lib' and \n"
+ . "run 'perl Makefile --bootstrap' and see if that is successful. Then\n"
+ . "restart your CPAN client\n"
);
-
- if ( $_conf =~ /^y/i ) {
- conf_sites();
}
- bring_your_own();
+ else {
+ _local_lib_config();
}
- _print_urllist();
}
- $CPAN::Frontend->myprint(
- "\nAutoconfiguration complete.\n"
- );
}
- $silent = 0; # reset
+ # install_help is temporary for configuration and not saved
+ delete $CPAN::Config->{install_help};
$CPAN::Frontend->myprint("\n");
if ($matcher && !$CPAN::Config->{auto_commit}) {
$CPAN::Frontend->myprint("Please remember to call 'o conf commit' to ".
"make the config permanent!\n");
} else {
- CPAN::HandleConfig->commit($configpm);
+ CPAN::HandleConfig->commit;
+ }
+
+ if (! $matcher) {
+ $CPAN::Frontend->myprint(
+ "\nYou can re-run configuration any time with 'o conf init' in the CPAN shell\n"
+ );
}
+
}
-sub _init_external_progs {
- my($matcher,$PATH) = @_;
- my @external_progs = qw/bzip2 gzip tar unzip
+sub _local_lib_config {
+ # Set environment stuff for this process
+ require local::lib;
+ my %env = local::lib->build_environment_vars_for(_local_lib_path(), 1);
+ while ( my ($k, $v) = each %env ) {
+ $ENV{$k} = $v;
+ }
- make
+ # Tell user about environment vars to set
+ $CPAN::Frontend->myprint($prompts{local_lib_installed});
+ local $ENV{SHELL} = $CPAN::Config->{shell} || $ENV{SHELL};
+ my $shellvars = local::lib->environment_vars_string_for(_local_lib_path());
+ $CPAN::Frontend->myprint($shellvars);
+
+ # Offer to mangle the shell config
+ my $munged_rc;
+ if ( my $rc = _find_shell_config() ) {
+ local $auto_config = 0; # We *must* ask, even under autoconfig
+ local *_real_prompt; # We *must* show prompt
+ my $_conf = prompt(
+ "\nWould you like me to append that to $rc now?", "yes"
+ );
+ if ($_conf =~ /^y/i) {
+ open my $fh, ">>", $rc;
+ print {$fh} "\n$shellvars";
+ close $fh;
+ $munged_rc++;
+ }
+ }
- curl lynx wget ncftpget ncftp ftp
+ # Warn at exit time
+ if ($munged_rc) {
+ push @{$CPAN::META->_exit_messages}, << "HERE";
- gpg
+*** Remember to restart your shell before running cpan again ***
+HERE
+ }
+ else {
+ push @{$CPAN::META->_exit_messages}, << "HERE";
- patch applypatch
- /;
- if (!$matcher or "@external_progs" =~ /$matcher/) {
- $CPAN::Frontend->myprint($prompts{external_progs}) unless $silent;
+*** Remember to add these environment variables to your shell config
+ and restart your shell before running cpan again ***
+
+$shellvars
+HERE
+ }
+}
+
+{
+ my %shell_rc_map = (
+ map { $_ => ".${_}rc" } qw/ bash tcsh csh /,
+ map { $_ => ".profile" } qw/dash ash sh/,
+ zsh => ".zshenv",
+ );
+
+ sub _find_shell_config {
+ my $shell = File::Basename::basename($CPAN::Config->{shell});
+ if ( my $rc = $shell_rc_map{$shell} ) {
+ my $path = File::Spec->catfile($ENV{HOME}, $rc);
+ return $path if -w $path;
+ }
+ }
+}
+
+
+sub _local_lib_inc_path {
+ return File::Spec->catdir(_local_lib_path(), qw/lib perl5/);
+}
+
+sub _local_lib_path {
+ return File::Spec->catdir(_local_lib_home(), 'perl5');
+}
+
+# Adapted from resolve_home_path() in local::lib -- this is where
+# local::lib thinks the user's home is
+{
+ my $local_lib_home;
+ sub _local_lib_home {
+ $local_lib_home ||= File::Spec->rel2abs( do {
+ if ($CPAN::META->has_usable("File::HomeDir") && File::HomeDir->VERSION >= 0.65) {
+ File::HomeDir->my_home;
+ } elsif (defined $ENV{HOME}) {
+ $ENV{HOME};
+ } else {
+ (getpwuid $<)[7] || "~";
+ }
+ });
+ }
+}
+
+sub _do_pick_mirrors {
+ local *_real_prompt;
+ *_real_prompt = \&CPAN::Shell::colorable_makemaker_prompt;
+ $CPAN::Frontend->myprint($prompts{urls_intro});
+ # Only prompt for auto-pick if Net::Ping is new enough to do timings
+ my $_conf = 'n';
+ if ( $CPAN::META->has_usable("Net::Ping") && Net::Ping->VERSION gt '2.13') {
+ $_conf = prompt($prompts{auto_pick}, "yes");
+ }
+ my @old_list = @{ $CPAN::Config->{urllist} };
+ if ( $_conf =~ /^y/i ) {
+ conf_sites( auto_pick => 1 ) or bring_your_own();
+ }
+ else {
+ _print_urllist('Current') if @old_list;
+ my $msg = scalar @old_list
+ ? "\nWould you like to edit the urllist or pick new mirrors from a list?"
+ : "\nWould you like to pick from the CPAN mirror list?" ;
+ my $_conf = prompt($msg, "yes");
+ if ( $_conf =~ /^y/i ) {
+ conf_sites();
+ }
+ bring_your_own();
+ }
+ _print_urllist('New');
+}
+
+sub _init_external_progs {
+ my($matcher,$args) = @_;
+ my $PATH = $args->{path};
+ my @external_progs = @{ $args->{progs} };
+ my $shortcut = $args->{shortcut};
+ my $showed_make_warning;
+ if (!$matcher or "@external_progs" =~ /$matcher/) {
my $old_warn = $^W;
local $^W if $^O eq 'MacOS';
local $^W = $old_warn;
@@ -1276,15 +1459,64 @@ sub _init_external_progs {
$path ||= find_exe($progcall,$PATH);
unless ($path) { # not -e $path, because find_exe already checked that
local $"=";";
- $CPAN::Frontend->mywarn("Warning: $progcall not found in PATH[@$PATH]\n") unless $silent;
- if ($progname eq "make") {
- $CPAN::Frontend->mywarn("ALERT: 'make' is an essential tool for ".
- "building perl Modules. Please make sure you ".
- "have 'make' (or some equivalent) ".
- "working.\n"
- );
+ $CPAN::Frontend->mywarn("Warning: $progcall not found in PATH[@$PATH]\n") unless $auto_config;
+ _beg_for_make(), $showed_make_warning++ if $progname eq "make";
+ }
+ $prompts{$progname} = "Where is your $progname program?";
+ $path = my_dflt_prompt($progname,$path,$matcher,1); # 1 => no strip spaces
+ my $disabling = $path =~ m/^\s*$/;
+
+ # don't let them disable or misconfigure make without warning
+ if ( $progname eq "make" && ( $disabling || ! _check_found($path) ) ) {
+ if ( $disabling && $showed_make_warning ) {
+ next;
+ }
+ else {
+ _beg_for_make() unless $showed_make_warning++;
+ undef $CPAN::Config->{$progname};
+ $CPAN::Frontend->mywarn("Press SPACE and ENTER to disable make (NOT RECOMMENDED)\n");
+ redo;
+ }
+ }
+ elsif ( $disabling ) {
+ next;
+ }
+ elsif ( _check_found( $CPAN::Config->{$progname} ) ) {
+ last if $shortcut && !$matcher;
+ }
+ else {
+ undef $CPAN::Config->{$progname};
+ $CPAN::Frontend->mywarn("Press SPACE and ENTER to disable $progname\n");
+ redo;
+ }
+ }
+ }
+}
+
+sub _check_found {
+ my ($prog) = @_;
+ if ( ! -f $prog ) {
+ $CPAN::Frontend->mywarn("Warning: '$prog' does not exist\n")
+ unless $auto_config;
+ return;
+ }
+ elsif ( ! -x $prog ) {
+ $CPAN::Frontend->mywarn("Warning: '$prog' is not executable\n")
+ unless $auto_config;
+ return;
+ }
+ return 1;
+}
+
+sub _beg_for_make {
+ $CPAN::Frontend->mywarn(<<"HERE");
+
+ALERT: 'make' is an essential tool for building perl Modules.
+Please make sure you have 'make' (or some equivalent) working.
+
+HERE
if ($^O eq "MSWin32") {
- $CPAN::Frontend->mywarn("
+ $CPAN::Frontend->mywarn(<<"HERE");
Windows users may want to follow this procedure when back in the CPAN shell:
look YVES/scripts/alien_nmake.pl
@@ -1295,39 +1527,30 @@ substitute. You can then revisit this dialog with
o conf init make
-");
- }
- }
- }
- $prompts{$progname} = "Where is your $progname program?";
- my_dflt_prompt($progname,$path,$matcher);
- }
+HERE
}
}
sub init_cpan_home {
my($matcher) = @_;
if (!$matcher or 'cpan_home' =~ /$matcher/) {
- my $cpan_home = $CPAN::Config->{cpan_home}
- || File::Spec->catdir(CPAN::HandleConfig::home(), ".cpan");
-
+ my $cpan_home =
+ $CPAN::Config->{cpan_home} || CPAN::HandleConfig::cpan_home();
if (-d $cpan_home) {
- $CPAN::Frontend->myprint(qq{
-
-I see you already have a directory
- $cpan_home
-Shall we use it as the general CPAN build and cache directory?
-
-}) unless $silent;
+ $CPAN::Frontend->myprint(
+ "\nI see you already have a directory\n" .
+ "\n$cpan_home\n" .
+ "Shall we use it as the general CPAN build and cache directory?\n\n"
+ ) unless $auto_config;
} else {
# no cpan-home, must prompt and get one
- $CPAN::Frontend->myprint($prompts{cpan_home_where}) unless $silent;
+ $CPAN::Frontend->myprint($prompts{cpan_home_where}) unless $auto_config;
}
my $default = $cpan_home;
my $loop = 0;
my($last_ans,$ans);
- $CPAN::Frontend->myprint(" <cpan_home>\n") unless $silent;
+ $CPAN::Frontend->myprint(" <cpan_home>\n") unless $auto_config;
PROMPT: while ($ans = prompt("CPAN build and cache directory?",$default)) {
if (File::Spec->file_name_is_absolute($ans)) {
my @cpan_home = split /[\/\\]/, $ans;
@@ -1372,18 +1595,21 @@ Shall we use it as the general CPAN build and cache directory?
}
sub my_dflt_prompt {
- my ($item, $dflt, $m) = @_;
+ my ($item, $dflt, $m, $no_strip) = @_;
my $default = $CPAN::Config->{$item} || $dflt;
- if (!$silent && (!$m || $item =~ /$m/)) {
+ if (!$auto_config && (!$m || $item =~ /$m/)) {
if (my $intro = $prompts{$item . "_intro"}) {
$CPAN::Frontend->myprint($intro);
}
$CPAN::Frontend->myprint(" <$item>\n");
- $CPAN::Config->{$item} = prompt($prompts{$item}, $default);
+ $CPAN::Config->{$item} =
+ $no_strip ? prompt_no_strip($prompts{$item}, $default)
+ : prompt( $prompts{$item}, $default);
} else {
$CPAN::Config->{$item} = $default;
}
+ return $CPAN::Config->{$item};
}
sub my_yn_prompt {
@@ -1392,7 +1618,7 @@ sub my_yn_prompt {
defined($default = $CPAN::Config->{$item}) or $default = $dflt;
# $DB::single = 1;
- if (!$silent && (!$m || $item =~ /$m/)) {
+ if (!$auto_config && (!$m || $item =~ /$m/)) {
if (my $intro = $prompts{$item . "_intro"}) {
$CPAN::Frontend->myprint($intro);
}
@@ -1409,7 +1635,7 @@ sub my_prompt_loop {
my $default = $CPAN::Config->{$item} || $dflt;
my $ans;
- if (!$silent && (!$m || $item =~ /$m/)) {
+ if (!$auto_config && (!$m || $item =~ /$m/)) {
$CPAN::Frontend->myprint($prompts{$item . "_intro"});
$CPAN::Frontend->myprint(" <$item>\n");
do { $ans = prompt($prompts{$item}, $default);
@@ -1524,6 +1750,7 @@ HERE
sub find_exe {
my($exe,$path) = @_;
+ $path ||= [split /$Config{'path_sep'}/, $ENV{'PATH'}];
my($dir);
#warn "in find_exe exe[$exe] path[@$path]";
for $dir (@$path) {
@@ -1611,7 +1838,7 @@ sub display_some {
for my $item (@displayable) {
$CPAN::Frontend->myprint(sprintf "(%d) %s\n", ++$pos, $item);
}
- my $hit_what = $default ? "SPACE RETURN" : "RETURN";
+ my $hit_what = $default ? "SPACE ENTER" : "ENTER";
$CPAN::Frontend->myprint(sprintf("%d more items, hit %s to show them\n",
(@$items - $pos),
$hit_what,
@@ -1623,17 +1850,20 @@ sub display_some {
sub auto_mirrored_by {
my $local = shift or return;
local $|=1;
- $CPAN::Frontend->myprint("Searching for the best CPAN mirrors (please be patient) ...");
+ $CPAN::Frontend->myprint("Looking for CPAN mirrors near you (please be patient)\n");
my $mirrors = CPAN::Mirrors->new($local);
my $cnt = 0;
my @best = $mirrors->best_mirrors(
- how_many => 5,
- callback => sub { $CPAN::Frontend->myprint(".") },
+ how_many => 3,
+ callback => sub {
+ $CPAN::Frontend->myprint(".");
+ if ($cnt++>60) { $cnt=0; $CPAN::Frontend->myprint("\n"); }
+ },
);
- my $urllist = [ map { $_->ftp } @best ];
+ my $urllist = [ map { $_->http } @best ];
push @$urllist, grep { /^file:/ } @{$CPAN::Config->{urllist}};
$CPAN::Frontend->myprint(" done!\n\n");
- return $urllist;
+ return $urllist
}
sub choose_mirrored_by {
@@ -1704,7 +1934,7 @@ put them on one line, separated by blanks, hyphenated ranges allowed
if (@previous_urls) {
$default = join (' ', ((scalar @urls) - (scalar @previous_urls) + 1) ..
(scalar @urls));
- $prompt .= "\n(or just hit RETURN to keep your previous picks)";
+ $prompt .= "\n(or just hit ENTER to keep your previous picks)";
}
@urls = picklist (\@urls, $prompt, $default);
@@ -1718,13 +1948,12 @@ sub bring_your_own {
my($ans,@urls);
my $eacnt = 0; # empty answers
$CPAN::Frontend->myprint(<<'HERE');
-
Now you can enter your own CPAN URLs by hand. A local CPAN mirror can be
listed using a 'file:' URL like 'file:///path/to/cpan/'
HERE
do {
- my $prompt = "Enter another URL or RETURN to quit:";
+ my $prompt = "Enter another URL or ENTER to quit:";
unless (%seen) {
$prompt = qq{CPAN.pm needs at least one URL where it can fetch CPAN files from.
@@ -1767,12 +1996,33 @@ later if you\'re sure it\'s right.\n},
}
sub _print_urllist {
- $CPAN::Frontend->myprint("New urllist\n");
+ my ($which) = @_;
+ $CPAN::Frontend->myprint("$which urllist\n");
for ( @{$CPAN::Config->{urllist} || []} ) {
$CPAN::Frontend->myprint(" $_\n")
};
}
+sub _can_write_to_libdirs {
+ return -w $Config{installprivlib}
+ && -w $Config{installarchlib}
+ && -w $Config{installsitelib}
+ && -w $Config{installsitearch}
+}
+
+sub _using_installbase {
+ return 1 if $ENV{PERL_MM_OPT} && $ENV{PERL_MM_OPT} =~ /install_base/i;
+ return 1 if grep { ($CPAN::Config->{$_}||q{}) =~ /install_base/i }
+ qw(makepl_arg make_install_arg mbuildpl_arg mbuild_install_arg);
+ return;
+}
+
+sub _using_sudo {
+ return 1 if grep { ($CPAN::Config->{$_}||q{}) =~ /sudo/ }
+ qw(make_install_make_command mbuild_install_build_command);
+ return;
+}
+
sub _strip_spaces {
$_[0] =~ s/^\s+//; # no leading spaces
$_[0] =~ s/\s+\z//; # no trailing spaces
@@ -1785,13 +2035,16 @@ sub prompt ($;$) {
my $ans = _real_prompt(@_);
_strip_spaces($ans);
- $CPAN::Frontend->myprint("\n");
+ $CPAN::Frontend->myprint("\n") unless $auto_config;
return $ans;
}
sub prompt_no_strip ($;$) {
+ unless (defined &_real_prompt) {
+ *_real_prompt = \&CPAN::Shell::colorable_makemaker_prompt;
+ }
return _real_prompt(@_);
}
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
new file mode 100644
index 00000000000..52de7fe237c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
@@ -0,0 +1,254 @@
+# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
+# vim: ts=4 sts=4 sw=4:
+package CPAN::HTTP::Client;
+use strict;
+use vars qw(@ISA);
+use CPAN::HTTP::Credentials;
+use HTTP::Tiny 0.005;
+
+$CPAN::HTTP::Client::VERSION = $CPAN::HTTP::Client::VERSION = "1.9600";
+
+# CPAN::HTTP::Client is adapted from parts of cpanm by Tatsuhiko Miyagawa
+# and parts of LWP by Gisle Aas
+
+sub new {
+ my $class = shift;
+ my %args = @_;
+ for my $k ( keys %args ) {
+ $args{$k} = '' unless defined $args{$k};
+ }
+ $args{no_proxy} = [split(",", $args{no_proxy}) ] if $args{no_proxy};
+ return bless \%args, $class;
+}
+
+# This executes a request with redirection (up to 5) and returns the
+# response structure generated by HTTP::Tiny
+#
+# If authentication fails, it will attempt to get new authentication
+# information and repeat up to 5 times
+
+sub mirror {
+ my($self, $uri, $path) = @_;
+
+ my $want_proxy = $self->_want_proxy($uri);
+ my $http = HTTP::Tiny->new(
+ $want_proxy ? (proxy => $self->{proxy}) : ()
+ );
+
+ my ($response, %headers);
+ my $retries = 0;
+ while ( $retries++ < 5 ) {
+ $response = $http->mirror( $uri, $path, {headers => \%headers} );
+ if ( $response->{status} eq '401' ) {
+ last unless $self->_get_auth_params( $response, 'non_proxy' );
+ }
+ elsif ( $response->{status} eq '407' ) {
+ last unless $self->_get_auth_params( $response, 'proxy' );
+ }
+ else {
+ last; # either success or failure
+ }
+ my %headers = (
+ $self->_auth_headers( $uri, 'non_proxy' ),
+ ( $want_proxy ? $self->_auth_headers($uri, 'proxy') : () ),
+ );
+ }
+
+ return $response;
+}
+
+sub _want_proxy {
+ my ($self, $uri) = @_;
+ return unless $self->{proxy};
+ my($host) = $uri =~ m|://([^/:]+)|;
+ return ! grep { $host =~ /\Q$_\E$/ } @{ $self->{no_proxy} || [] };
+}
+
+# Generates the authentication headers for a given mode
+# C<mode> is 'proxy' or 'non_proxy'
+# C<_${mode}_type> is 'basic' or 'digest'
+# C<_${mode}_params> will be the challenge parameters from the 401/407 headers
+sub _auth_headers {
+ my ($self, $uri, $mode) = @_;
+ # Get names for our mode-specific attributes
+ my ($type_key, $param_key) = map {"_" . $mode . $_} qw/_type _params/;
+
+ # If _prepare_auth has not been called, we can't prepare headers
+ return unless $self->{$type_key};
+
+ # Get user credentials for mode
+ my $cred_method = "get_" . ($mode ? "proxy" : "non_proxy") ."_credentials";
+ my ($user, $pass) = return CPAN::HTTP::Credentials->$cred_method;
+
+ # Generate the header for the mode & type
+ my $header = $mode eq 'proxy' ? 'Proxy-Authorization' : 'Authorization';
+ my $value_method = "_" . $self->{$type_key} . "_auth";
+ my $value = $self->$value_method($user, $pass, $self->{$param_key}, $uri);
+
+ # If we didn't get a value, we didn't have the right modules available
+ return $value ? ( $header, $value ) : ();
+}
+
+# Extract authentication parameters from headers, but clear any prior
+# credentials if we failed (so we might prompt user for password again)
+sub _get_auth_params {
+ my ($self, $response, $mode) = @_;
+ my $prefix = $mode eq 'proxy' ? 'Proxy' : 'WWW';
+ my ($type_key, $param_key) = map {"_" . $mode . $_} qw/_type _params/;
+ if ( ! $response->{success} ) { # auth failed
+ my $method = "clear_${mode}_credentials";
+ CPAN::HTTP::Credentials->$method;
+ delete $self->{$_} for $type_key, $param_key;
+ }
+ ($self->{$type_key}, $self->{$param_key}) =
+ $self->_get_challenge( $response, "${prefix}-Authenticate");
+ return $self->{$type_key};
+}
+
+# Extract challenge type and parameters for a challenge list
+sub _get_challenge {
+ my ($self, $response, $auth_header) = @_;
+
+ my $auth_list = $response->{headers}(lc $auth_header);
+ return unless defined $auth_list;
+ $auth_list = [$auth_list] unless ref $auth_list;
+
+ for my $challenge (@$auth_list) {
+ $challenge =~ tr/,/;/; # "," is used to separate auth-params!!
+ ($challenge) = $self->split_header_words($challenge);
+ my $scheme = shift(@$challenge);
+ shift(@$challenge); # no value
+ $challenge = { @$challenge }; # make rest into a hash
+
+ unless ($scheme =~ /^(basic|digest)$/) {
+ next; # bad scheme
+ }
+ $scheme = $1; # untainted now
+
+ return ($scheme, $challenge);
+ }
+ return;
+}
+
+# Generate a basic authentication header value
+sub _basic_auth {
+ my ($self, $user, $pass) = @_;
+ unless ( $CPAN::META->has_usable('MIME::Base64') ) {
+ $CPAN::Frontend->mywarn(
+ "MIME::Base64 is required for 'Basic' style authentication"
+ );
+ return;
+ }
+ return "Basic " . MIME::Base64::encode_base64("$user\:$pass", q{});
+}
+
+# Generate a digest authentication header value
+sub _digest_auth {
+ my ($self, $user, $pass, $auth_param, $uri) = @_;
+ unless ( $CPAN::META->has_usable('Digest::MD5') ) {
+ $CPAN::Frontend->mywarn(
+ "Digest::MD5 is required for 'Digest' style authentication"
+ );
+ return;
+ }
+
+ my $nc = sprintf "%08X", ++$self->{_nonce_count}{$auth_param->{nonce}};
+ my $cnonce = sprintf "%8x", time;
+
+ my ($path) = $uri =~ m{^\w+?://[^/]+(/.*)$};
+ $path = "/" unless defined $path;
+
+ my $md5 = Digest::MD5->new;
+
+ my(@digest);
+ $md5->add(join(":", $user, $auth_param->{realm}, $pass));
+ push(@digest, $md5->hexdigest);
+ $md5->reset;
+
+ push(@digest, $auth_param->{nonce});
+
+ if ($auth_param->{qop}) {
+ push(@digest, $nc, $cnonce, ($auth_param->{qop} =~ m|^auth[,;]auth-int$|) ? 'auth' : $auth_param->{qop});
+ }
+
+ $md5->add(join(":", 'GET', $path));
+ push(@digest, $md5->hexdigest);
+ $md5->reset;
+
+ $md5->add(join(":", @digest));
+ my($digest) = $md5->hexdigest;
+ $md5->reset;
+
+ my %resp = map { $_ => $auth_param->{$_} } qw(realm nonce opaque);
+ @resp{qw(username uri response algorithm)} = ($user, $path, $digest, "MD5");
+
+ if (($auth_param->{qop} || "") =~ m|^auth([,;]auth-int)?$|) {
+ @resp{qw(qop cnonce nc)} = ("auth", $cnonce, $nc);
+ }
+
+ my(@order) =
+ qw(username realm qop algorithm uri nonce nc cnonce response opaque);
+ my @pairs;
+ for (@order) {
+ next unless defined $resp{$_};
+ push(@pairs, "$_=" . qq("$resp{$_}"));
+ }
+
+ my $auth_value = "Digest " . join(", ", @pairs);
+ return $auth_value;
+}
+
+# split_header_words adapted from HTTP::Headers::Util
+sub split_header_words {
+ my ($self, @words) = @_;
+ my @res = $self->_split_header_words(@words);
+ for my $arr (@res) {
+ for (my $i = @$arr - 2; $i >= 0; $i -= 2) {
+ $arr->[$i] = lc($arr->[$i]);
+ }
+ }
+ return @res;
+}
+
+sub _split_header_words {
+ my($self, @val) = @_;
+ my @res;
+ for (@val) {
+ my @cur;
+ while (length) {
+ if (s/^\s*(=*[^\s=;,]+)//) { # 'token' or parameter 'attribute'
+ push(@cur, $1);
+ # a quoted value
+ if (s/^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"//) {
+ my $val = $1;
+ $val =~ s/\\(.)/$1/g;
+ push(@cur, $val);
+ # some unquoted value
+ }
+ elsif (s/^\s*=\s*([^;,\s]*)//) {
+ my $val = $1;
+ $val =~ s/\s+$//;
+ push(@cur, $val);
+ # no value, a lone token
+ }
+ else {
+ push(@cur, undef);
+ }
+ }
+ elsif (s/^\s*,//) {
+ push(@res, [@cur]) if @cur;
+ @cur = ();
+ }
+ elsif (s/^\s*;// || s/^\s+//) {
+ # continue
+ }
+ else {
+ die "This should not happen: '$_'";
+ }
+ }
+ push(@res, \@cur) if @cur;
+ }
+ @res;
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HTTP/Credentials.pm b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Credentials.pm
new file mode 100644
index 00000000000..097c67d0ed7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Credentials.pm
@@ -0,0 +1,91 @@
+# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
+# vim: ts=4 sts=4 sw=4:
+package CPAN::HTTP::Credentials;
+use strict;
+use vars qw($USER $PASSWORD $PROXY_USER $PROXY_PASSWORD);
+
+$CPAN::HTTP::Credentials::VERSION = $CPAN::HTTP::Credentials::VERSION = "1.9600";
+
+sub clear_credentials {
+ _clear_non_proxy_credentials();
+ _clear_proxy_credentials();
+}
+
+sub clear_non_proxy_credentials {
+ undef $USER;
+ undef $PASSWORD;
+}
+
+sub clear_proxy_credentials {
+ undef $PROXY_USER;
+ undef $PROXY_PASSWORD;
+}
+
+sub get_proxy_credentials {
+ my $self = shift;
+ if ($PROXY_USER && $PROXY_PASSWORD) {
+ return ($PROXY_USER, $PROXY_PASSWORD);
+ }
+ if ( defined $CPAN::Config->{proxy_user}
+ && $CPAN::Config->{proxy_user}
+ ) {
+ $PROXY_USER = $CPAN::Config->{proxy_user};
+ $PROXY_PASSWORD = $CPAN::Config->{proxy_pass} || "";
+ return ($PROXY_USER, $PROXY_PASSWORD);
+ }
+ my $username_prompt = "\nProxy authentication needed!
+ (Note: to permanently configure username and password run
+ o conf proxy_user your_username
+ o conf proxy_pass your_password
+ )\nUsername:";
+ ($PROXY_USER, $PROXY_PASSWORD) =
+ _get_username_and_password_from_user($username_prompt);
+ return ($PROXY_USER,$PROXY_PASSWORD);
+}
+
+sub get_non_proxy_credentials {
+ my $self = shift;
+ if ($USER && $PASSWORD) {
+ return ($USER, $PASSWORD);
+ }
+ if ( defined $CPAN::Config->{username} ) {
+ $USER = $CPAN::Config->{username};
+ $PASSWORD = $CPAN::Config->{password} || "";
+ return ($USER, $PASSWORD);
+ }
+ my $username_prompt = "\nAuthentication needed!
+ (Note: to permanently configure username and password run
+ o conf username your_username
+ o conf password your_password
+ )\nUsername:";
+
+ ($USER, $PASSWORD) =
+ _get_username_and_password_from_user($username_prompt);
+ return ($USER,$PASSWORD);
+}
+
+sub _get_username_and_password_from_user {
+ my $username_message = shift;
+ my ($username,$password);
+
+ ExtUtils::MakeMaker->import(qw(prompt));
+ $username = prompt($username_message);
+ if ($CPAN::META->has_inst("Term::ReadKey")) {
+ Term::ReadKey::ReadMode("noecho");
+ }
+ else {
+ $CPAN::Frontend->mywarn(
+ "Warning: Term::ReadKey seems not to be available, your password will be echoed to the terminal!\n"
+ );
+ }
+ $password = prompt("Password:");
+
+ if ($CPAN::META->has_inst("Term::ReadKey")) {
+ Term::ReadKey::ReadMode("restore");
+ }
+ $CPAN::Frontend->myprint("\n\n");
+ return ($username,$password);
+}
+
+1;
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
index 76cd81eee8b..58ccbe50e5d 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
@@ -1,8 +1,12 @@
package CPAN::HandleConfig;
use strict;
use vars qw(%can %keys $loading $VERSION);
+use File::Path ();
+use File::Spec ();
+use File::Basename ();
+use Carp ();
-$VERSION = "5.5001"; # see also CPAN::Config::VERSION at end of file
+$VERSION = "5.5003"; # see also CPAN::Config::VERSION at end of file
%can = (
commit => "Commit changes to disk",
@@ -12,8 +16,8 @@ $VERSION = "5.5001"; # see also CPAN::Config::VERSION at end of file
);
# Q: where is the "How do I add a new config option" HOWTO?
-# A1: svn diff -r 757:758 # where dagolden added test_report
-# A2: svn diff -r 985:986 # where andk added yaml_module
+# A1: svn diff -r 757:758 # where dagolden added test_report [git e997b71de88f1019a1472fc13cb97b1b7f96610f]
+# A2: svn diff -r 985:986 # where andk added yaml_module [git 312b6d9b12b1bdec0b6e282d853482145475021f]
# A3: 1. add new config option to %keys below
# 2. add a Pod description in CPAN::FirstTime; it should include a
# prompt line; see others for examples
@@ -78,6 +82,7 @@ $VERSION = "5.5001"; # see also CPAN::Config::VERSION at end of file
"patch",
"patches_dir",
"perl5lib_verbosity",
+ "prefer_external_tar",
"prefer_installer",
"prefs_dir",
"prerequisites_policy",
@@ -254,6 +259,8 @@ sub prettyprint {
}
}
+# generally, this should be called without arguments so that the currently
+# loaded config file is where changes are committed.
sub commit {
my($self,@args) = @_;
CPAN->debug("args[@args]") if $CPAN::DEBUG;
@@ -264,7 +271,9 @@ sub commit {
" !undef \$CPAN::RUN_DEGRADED\n"
);
}
- my $configpm;
+ my ($configpm, $must_reload);
+
+ # XXX does anything do this? can it be simplified? -- dagolden, 2011-01-19
if (@args) {
if ($args[0] eq "args") {
# we have not signed that contract
@@ -272,31 +281,50 @@ sub commit {
$configpm = $args[0];
}
}
- unless (defined $configpm) {
- $configpm ||= $INC{"CPAN/MyConfig.pm"};
- $configpm ||= $INC{"CPAN/Config.pm"};
- $configpm || Carp::confess(q{
-CPAN::Config::commit called without an argument.
-Please specify a filename where to save the configuration or try
-"o conf init" to have an interactive course through configing.
-});
+
+ # use provided name or the current config or create a new MyConfig
+ $configpm ||= require_myconfig_or_config() || make_new_config();
+
+ # commit to MyConfig if we can't write to Config
+ if ( ! -w $configpm && $configpm =~ m{CPAN/Config\.pm} ) {
+ my $myconfig = _new_config_name();
+ $CPAN::Frontend->mywarn(
+ "Your $configpm file\n".
+ "is not writable. I will attempt to write your configuration to\n" .
+ "$myconfig instead.\n\n"
+ );
+ $configpm = make_new_config();
+ $must_reload++; # so it gets loaded as $INC{'CPAN/MyConfig.pm'}
}
+
+ # XXX why not just "-w $configpm"? -- dagolden, 2011-01-19
my($mode);
if (-f $configpm) {
$mode = (stat $configpm)[2];
if ($mode && ! -w _) {
- Carp::confess("$configpm is not writable");
+ _die_cant_write_config($configpm);
}
}
+ $self->_write_config_file($configpm);
+ require_myconfig_or_config() if $must_reload;
+
+ #$mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
+ #chmod $mode, $configpm;
+###why was that so? $self->defaults;
+ $CPAN::Frontend->myprint("commit: wrote '$configpm'\n");
+ $CPAN::CONFIG_DIRTY = 0;
+ 1;
+}
+
+sub _write_config_file {
+ my ($self, $configpm) = @_;
my $msg;
- my $home = home();
- $msg = <<EOF unless $configpm =~ /MyConfig/;
+ $msg = <<EOF if $configpm =~ m{CPAN/Config\.pm};
# This is CPAN.pm's systemwide configuration file. This file provides
# defaults for users, and the values can be changed in a per-user
-# configuration file. The user-config file is being looked for as
-# $home/.cpan/CPAN/MyConfig.pm.
+# configuration file.
EOF
$msg ||= "\n";
@@ -317,18 +345,13 @@ EOF
",\n"
);
}
-
$fh->print("};\n1;\n__END__\n");
close $fh;
- #$mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
- #chmod $mode, $configpm;
-###why was that so? $self->defaults;
- $CPAN::Frontend->myprint("commit: wrote '$configpm'\n");
- $CPAN::CONFIG_DIRTY = 0;
- 1;
+ return;
}
+
# stolen from MakeMaker; not taking the original because it is buggy;
# bugreport will have to say: keys of hashes remain unquoted and can
# produce syntax errors
@@ -438,154 +461,177 @@ else: quote it with the correct quote type for the box we're on
sub init {
my($self,@args) = @_;
CPAN->debug("self[$self]args[".join(",",@args)."]");
- $self->load(doit => 1, @args);
+ $self->load(do_init => 1, @args);
1;
}
-# This is a piece of repeated code that is abstracted here for
-# maintainability. RMB
+# Loads CPAN::MyConfig or fall-back to CPAN::Config. Will not reload a file
+# if already loaded. Returns the path to the file %INC or else the empty string
#
-sub _configpmtest {
- my($configpmdir, $configpmtest) = @_;
- if (-w $configpmtest) {
- return $configpmtest;
- } elsif (-w $configpmdir) {
- #_#_# following code dumped core on me with 5.003_11, a.k.
- my $configpm_bak = "$configpmtest.bak";
- unlink $configpm_bak if -f $configpm_bak;
- if( -f $configpmtest ) {
- if( rename $configpmtest, $configpm_bak ) {
- $CPAN::Frontend->mywarn(<<END);
-Old configuration file $configpmtest
- moved to $configpm_bak
-END
+# Note -- if CPAN::Config were loaded and CPAN::MyConfig subsequently
+# created, calling this again will leave *both* in %INC
+
+sub require_myconfig_or_config () {
+ if ( $INC{"CPAN/MyConfig.pm"} || _try_loading("CPAN::MyConfig", cpan_home())) {
+ return $INC{"CPAN/MyConfig.pm"};
}
+ elsif ( $INC{"CPAN/Config.pm"} || _try_loading("CPAN::Config") ) {
+ return $INC{"CPAN/Config.pm"};
}
- my $fh = FileHandle->new;
- if ($fh->open(">$configpmtest")) {
- $fh->print("1;\n");
- return $configpmtest;
- } else {
- # Should never happen
- Carp::confess("Cannot open >$configpmtest");
+ else {
+ return q{};
}
- } else { return }
}
-sub require_myconfig_or_config () {
- return if $INC{"CPAN/MyConfig.pm"};
+# Load a module, but ignore "can't locate..." errors
+# Optionally take a list of directories to add to @INC for the load
+sub _try_loading {
+ my ($module, @dirs) = @_;
+ (my $file = $module) =~ s{::}{/}g;
+ $file .= ".pm";
+
local @INC = @INC;
- my $home = home();
- unshift @INC, File::Spec->catdir($home,'.cpan');
- eval { require CPAN::MyConfig };
- my $err_myconfig = $@;
- if ($err_myconfig and $err_myconfig !~ m#locate CPAN/MyConfig\.pm#) {
- die "Error while requiring CPAN::MyConfig:\n$err_myconfig";
+ for my $dir ( @dirs ) {
+ if ( -f File::Spec->catfile($dir, $file) ) {
+ unshift @INC, $dir;
+ last;
}
- unless ($INC{"CPAN/MyConfig.pm"}) { # this guy has settled his needs already
- eval {require CPAN::Config;}; # not everybody has one
- my $err_config = $@;
- if ($err_config and $err_config !~ m#locate CPAN/Config\.pm#) {
- die "Error while requiring CPAN::Config:\n$err_config";
}
+
+ eval { require $file };
+ my $err_myconfig = $@;
+ if ($err_myconfig and $err_myconfig !~ m#locate \Q$file\E#) {
+ die "Error while requiring ${module}:\n$err_myconfig";
}
+ return $INC{$file};
}
-sub home () {
- my $home;
- # Suppress load messages until we load the config and know whether
- # load messages are desired. Otherwise, it's unexpected and odd
- # why one load message pops up even when verbosity is turned off.
- # This means File::HomeDir load messages are never seen, but I
- # think that's probably OK -- DAGOLDEN
-
- # 5.6.2 seemed to segfault localizing a value in a hashref
- # so do it manually instead
+# prioritized list of possible places for finding "CPAN/MyConfig.pm"
+sub cpan_home_dir_candidates {
+ my @dirs;
my $old_v = $CPAN::Config->{load_module_verbosity};
$CPAN::Config->{load_module_verbosity} = q[none];
- if ($CPAN::META->has_usable("File::HomeDir")) {
- if ($^O eq 'darwin') {
- $home = File::HomeDir->my_home; # my_data is ~/Library/Application Support on darwin,
+ if ($CPAN::META->has_usable('File::HomeDir')) {
+ if ($^O ne 'darwin') {
+ push @dirs, File::HomeDir->my_data;
+ # my_data is ~/Library/Application Support on darwin,
# which causes issues in the toolchain.
}
- else {
- $home = File::HomeDir->my_data || File::HomeDir->my_home;
- }
- }
- unless (defined $home) {
- $home = $ENV{HOME};
+ push @dirs, File::HomeDir->my_home;
}
+ # Windows might not have HOME, so check it first
+ push @dirs, $ENV{HOME} if $ENV{HOME};
+ # Windows might have these instead
+ push( @dirs, File::Spec->catpath($ENV{HOMEDRIVE}, $ENV{HOMEPATH}, '') )
+ if $ENV{HOMEDRIVE} && $ENV{HOMEPATH};
+ push @dirs, $ENV{USERPROFILE} if $ENV{USERPROFILE};
+
$CPAN::Config->{load_module_verbosity} = $old_v;
- $home;
+ @dirs = map { "$_/.cpan" } grep { defined } @dirs;
+ return wantarray ? @dirs : $dirs[0];
}
sub load {
my($self, %args) = @_;
- $CPAN::Be_Silent++ if $args{be_silent};
- my $doit;
- $doit = delete $args{doit} || 0;
+ $CPAN::Be_Silent+=0; # protect against 'used only once'
+ $CPAN::Be_Silent++ if $args{be_silent}; # do not use; planned to be removed in 2011
+ my $do_init = delete $args{do_init} || 0;
+ my $make_myconfig = delete $args{make_myconfig};
$loading = 0 unless defined $loading;
- use Carp;
- require_myconfig_or_config;
+ my $configpm = require_myconfig_or_config;
my @miss = $self->missing_config_data;
- CPAN->debug("doit[$doit]loading[$loading]miss[@miss]") if $CPAN::DEBUG;
- return unless $doit || @miss;
+ CPAN->debug("do_init[$do_init]loading[$loading]miss[@miss]") if $CPAN::DEBUG;
+ return unless $do_init || @miss;
+
+ # I'm not how we'd ever wind up in a recursive loop, but I'm leaving
+ # this here for safety's sake -- dagolden, 2011-01-19
return if $loading;
local $loading = ($loading||0) + 1;
- require CPAN::FirstTime;
- my($redo,$configpm,$fh);
- if (defined $INC{"CPAN/Config.pm"} && -w $INC{"CPAN/Config.pm"}) {
- $configpm = $INC{"CPAN/Config.pm"};
- $redo++;
- } elsif (defined $INC{"CPAN/MyConfig.pm"} && -w $INC{"CPAN/MyConfig.pm"}) {
- $configpm = $INC{"CPAN/MyConfig.pm"};
- $redo++;
- } else {
- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
- my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
- my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
- my $inc_key;
- if (-d $configpmdir or File::Path::mkpath($configpmdir)) {
- $configpm = _configpmtest($configpmdir,$configpmtest);
- $inc_key = "CPAN/Config.pm";
- }
- unless ($configpm) {
- $configpmdir = File::Spec->catdir(home,".cpan","CPAN");
- File::Path::mkpath($configpmdir);
- $configpmtest = File::Spec->catfile($configpmdir,"MyConfig.pm");
- $configpm = _configpmtest($configpmdir,$configpmtest);
- $inc_key = "CPAN/MyConfig.pm";
+ # Warn if we have a config file, but things were found missing
+ if ($configpm && @miss && !$do_init) {
+ if ($make_myconfig || ( ! -w $configpm && $configpm =~ m{CPAN/Config\.pm})) {
+ $configpm = make_new_config();
+ $CPAN::Frontend->myprint(<<END);
+The system CPAN configuration file has provided some default values,
+but you need to complete the configuration dialog for CPAN.pm.
+Configuration will be written to
+ <<$configpm>>
+END
}
- if ($configpm) {
- $INC{$inc_key} = $configpm;
- } else {
- my $myconfigpm = File::Spec->catfile(home,".cpan","CPAN","MyConfig.pm");
- $CPAN::Frontend->mydie(<<"END");
-WARNING: CPAN.pm is unable to write a configuration file. You need write
-access to your default perl library directories or you must be able to
-create and write to '$myconfigpm'.
+ else {
+ $CPAN::Frontend->myprint(<<END);
+Sorry, we have to rerun the configuration dialog for CPAN.pm due to
+some missing parameters. Configuration will be written to
+ <<$configpm>>
-Aborting configuration.
END
}
+ }
+ require CPAN::FirstTime;
+ return CPAN::FirstTime::init($configpm || make_new_config(), %args);
+}
+
+# Creates a new, empty config file at the preferred location
+# Any existing will be renamed with a ".bak" suffix if possible
+# If the file cannot be created, an exception is thrown
+sub make_new_config {
+ my $configpm = _new_config_name();
+ my $configpmdir = File::Basename::dirname( $configpm );
+ File::Path::mkpath($configpmdir) unless -d $configpmdir;
+
+ if ( -w $configpmdir ) {
+ #_#_# following code dumped core on me with 5.003_11, a.k.
+ if( -f $configpm ) {
+ my $configpm_bak = "$configpm.bak";
+ unlink $configpm_bak if -f $configpm_bak;
+ if( rename $configpm, $configpm_bak ) {
+ $CPAN::Frontend->mywarn(<<END);
+Old configuration file $configpm
+ moved to $configpm_bak
+END
}
- local($") = ", ";
- if ($redo && !$doit) {
- $CPAN::Frontend->myprint(<<END);
-Sorry, we have to rerun the configuration dialog for CPAN.pm due to
-some missing parameters... Will write to
- <<$configpm>>
+ }
+ my $fh = FileHandle->new;
+ if ($fh->open(">$configpm")) {
+ $fh->print("1;\n");
+ return $configpm;
+ }
+ }
+ _die_cant_write_config($configpm);
+}
+
+sub _die_cant_write_config {
+ my ($configpm) = @_;
+ $CPAN::Frontend->mydie(<<"END");
+WARNING: CPAN.pm is unable to write a configuration file. You
+must be able to create and write to '$configpm'.
+Aborting configuration.
END
- $args{args} = \@miss;
+
+}
+
+# From candidate directories, we would like (in descending preference order):
+# * the one that contains a MyConfig file
+# * one that exists (even without MyConfig)
+# * the first one on the list
+sub cpan_home {
+ my @dirs = cpan_home_dir_candidates();
+ for my $d (@dirs) {
+ return $d if -f "$d/CPAN/MyConfig.pm";
}
- my $initialized = CPAN::FirstTime::init($configpm, %args);
- return $initialized;
+ for my $d (@dirs) {
+ return $d if -d $d;
+ }
+ return $dirs[0];
}
+sub _new_config_name {
+ return File::Spec->catfile(cpan_home(), 'CPAN', 'MyConfig.pm');
+}
# returns mandatory but missing entries in the Config
sub missing_config_data {
@@ -739,3 +785,4 @@ modify it under the same terms as Perl itself.
# mode: cperl
# cperl-indent-level: 4
# End:
+# vim: ts=4 sts=4 sw=4:
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Index.pm b/Master/tlpkg/tlperl/lib/CPAN/Index.pm
index 9df757de706..4fcde8c390d 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Index.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Index.pm
@@ -1,7 +1,7 @@
package CPAN::Index;
use strict;
use vars qw($LAST_TIME $DATE_OF_02 $DATE_OF_03 $HAVE_REANIMATED $VERSION);
-$VERSION = "1.94";
+$VERSION = "1.9600";
@CPAN::Index::ISA = qw(CPAN::Debug);
$LAST_TIME ||= 0;
$DATE_OF_03 ||= 0;
@@ -292,6 +292,7 @@ sub rd_modpacks {
$shift =~ /^Last-Updated:\s+(.+)/ and $last_updated = $1;
}
CPAN->debug("line_count[$line_count]last_updated[$last_updated]") if $CPAN::DEBUG;
+ my $errors = 0;
if (not defined $line_count) {
$CPAN::Frontend->mywarn(qq{Warning: Your $index_target does not contain a Line-Count header.
@@ -299,7 +300,7 @@ Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.\a
});
-
+ $errors++;
$CPAN::Frontend->mysleep(5);
} elsif ($line_count != scalar @lines) {
@@ -317,7 +318,7 @@ Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.\a
});
-
+ $errors++;
$CPAN::Frontend->mysleep(5);
} else {
@@ -371,14 +372,19 @@ happen.\a
my(%exists);
my $i = 0;
my $painted = 0;
- foreach (@lines) {
+ LINE: foreach (@lines) {
# before 1.56 we split into 3 and discarded the rest. From
# 1.57 we assign remaining text to $comment thus allowing to
# influence isa_perl
my($mod,$version,$dist,$comment) = split " ", $_, 4;
unless ($mod && defined $version && $dist) {
- $CPAN::Frontend->mywarn("Could not split line[$_]\n");
- next;
+ require Dumpvalue;
+ my $dv = Dumpvalue->new(tick => '"');
+ $CPAN::Frontend->mywarn(sprintf "Could not split line[%s]\n", $dv->stringify($_));
+ if ($errors++ >= 5){
+ $CPAN::Frontend->mydie("Giving up parsing your $index_target, too many errors");
+ }
+ next LINE;
}
my($bundle,$id,$userid);
diff --git a/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm b/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm
index 7bb86f9a15d..e9fbc7bcded 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/LWP/UserAgent.pm
@@ -3,9 +3,11 @@
package CPAN::LWP::UserAgent;
use strict;
use vars qw(@ISA $USER $PASSWD $SETUPDONE);
+use CPAN::HTTP::Credentials;
# we delay requiring LWP::UserAgent and setting up inheritance until we need it
-$CPAN::LWP::UserAgent::VERSION = $CPAN::LWP::UserAgent::VERSION = "1.94";
+$CPAN::LWP::UserAgent::VERSION = $CPAN::LWP::UserAgent::VERSION = "1.9600";
+
sub config {
return if $SETUPDONE;
@@ -20,75 +22,16 @@ sub config {
sub get_basic_credentials {
my($self, $realm, $uri, $proxy) = @_;
- if ($USER && $PASSWD) {
- return ($USER, $PASSWD);
- }
if ( $proxy ) {
- ($USER,$PASSWD) = $self->get_proxy_credentials();
+ return CPAN::HTTP::Credentials->get_proxy_credentials();
} else {
- ($USER,$PASSWD) = $self->get_non_proxy_credentials();
- }
- return($USER,$PASSWD);
-}
-
-sub get_proxy_credentials {
- my $self = shift;
- my ($user, $password);
- if ( defined $CPAN::Config->{proxy_user} ) {
- $user = $CPAN::Config->{proxy_user};
- $password = $CPAN::Config->{proxy_pass} || "";
- return ($user, $password);
- }
- my $username_prompt = "\nProxy authentication needed!
- (Note: to permanently configure username and password run
- o conf proxy_user your_username
- o conf proxy_pass your_password
- )\nUsername:";
- ($user, $password) =
- _get_username_and_password_from_user($username_prompt);
- return ($user,$password);
-}
-
-sub get_non_proxy_credentials {
- my $self = shift;
- my ($user,$password);
- if ( defined $CPAN::Config->{username} ) {
- $user = $CPAN::Config->{username};
- $password = $CPAN::Config->{password} || "";
- return ($user, $password);
+ return CPAN::HTTP::Credentials->get_non_proxy_credentials();
}
- my $username_prompt = "\nAuthentication needed!
- (Note: to permanently configure username and password run
- o conf username your_username
- o conf password your_password
- )\nUsername:";
-
- ($user, $password) =
- _get_username_and_password_from_user($username_prompt);
- return ($user,$password);
}
-sub _get_username_and_password_from_user {
- my $username_message = shift;
- my ($username,$password);
-
- ExtUtils::MakeMaker->import(qw(prompt));
- $username = prompt($username_message);
- if ($CPAN::META->has_inst("Term::ReadKey")) {
- Term::ReadKey::ReadMode("noecho");
- }
- else {
- $CPAN::Frontend->mywarn(
- "Warning: Term::ReadKey seems not to be available, your password will be echoed to the terminal!\n"
- );
- }
- $password = prompt("Password:");
-
- if ($CPAN::META->has_inst("Term::ReadKey")) {
- Term::ReadKey::ReadMode("restore");
- }
- $CPAN::Frontend->myprint("\n\n");
- return ($username,$password);
+sub no_proxy {
+ my ( $self, $no_proxy ) = @_;
+ return $self->SUPER::no_proxy( split(',',$no_proxy) );
}
# mirror(): Its purpose is to deal with proxy authentication. When we
@@ -125,8 +68,7 @@ sub mirror {
my($self,$url,$aslocal) = @_;
my $result = $self->SUPER::mirror($url,$aslocal);
if ($result->code == 407) {
- undef $USER;
- undef $PASSWD;
+ CPAN::HTTP::Credentials->clear_credentials;
$result = $self->SUPER::mirror($url,$aslocal);
}
$result;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
new file mode 100644
index 00000000000..ef798559fb4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
@@ -0,0 +1,696 @@
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta;
+BEGIN {
+ $CPAN::Meta::VERSION = '2.110440';
+}
+# ABSTRACT: the distribution metadata for a CPAN dist
+
+
+use Carp qw(carp croak);
+use CPAN::Meta::Feature;
+use CPAN::Meta::Prereqs;
+use CPAN::Meta::Converter;
+use CPAN::Meta::Validator;
+use Parse::CPAN::Meta 1.44 ();
+
+
+BEGIN {
+ my @STRING_READERS = qw(
+ abstract
+ description
+ dynamic_config
+ generated_by
+ name
+ release_status
+ version
+ );
+
+ no strict 'refs';
+ for my $attr (@STRING_READERS) {
+ *$attr = sub { $_[0]{ $attr } };
+ }
+}
+
+
+BEGIN {
+ my @LIST_READERS = qw(
+ author
+ keywords
+ license
+ );
+
+ no strict 'refs';
+ for my $attr (@LIST_READERS) {
+ *$attr = sub {
+ my $value = $_[0]{ $attr };
+ croak "$attr must be called in list context"
+ unless wantarray;
+ return @{ Storable::dclone($value) } if ref $value;
+ return $value;
+ };
+ }
+}
+
+sub authors { $_[0]->author }
+sub licenses { $_[0]->license }
+
+
+BEGIN {
+ my @MAP_READERS = qw(
+ meta-spec
+ resources
+ provides
+ no_index
+
+ prereqs
+ optional_features
+ );
+
+ no strict 'refs';
+ for my $attr (@MAP_READERS) {
+ (my $subname = $attr) =~ s/-/_/;
+ *$subname = sub {
+ my $value = $_[0]{ $attr };
+ return Storable::dclone($value) if $value;
+ return {};
+ };
+ }
+}
+
+
+sub custom_keys {
+ return grep { /^x_/i } keys %{$_[0]};
+}
+
+sub custom {
+ my ($self, $attr) = @_;
+ my $value = $self->{$attr};
+ return Storable::dclone($value) if ref $value;
+ return $value;
+}
+
+
+sub _new {
+ my ($class, $struct, $options) = @_;
+ my $self;
+
+ if ( $options->{lazy_validation} ) {
+ # try to convert to a valid structure; if succeeds, then return it
+ my $cmc = CPAN::Meta::Converter->new( $struct );
+ $self = $cmc->convert( version => 2 ); # valid or dies
+ return bless $self, $class;
+ }
+ else {
+ # validate original struct
+ my $cmv = CPAN::Meta::Validator->new( $struct );
+ unless ( $cmv->is_valid) {
+ die "Invalid metadata structure. Errors: "
+ . join(", ", $cmv->errors) . "\n";
+ }
+ }
+
+ # up-convert older spec versions
+ my $version = $struct->{'meta-spec'}{version} || '1.0';
+ if ( $version == 2 ) {
+ $self = $struct;
+ }
+ else {
+ my $cmc = CPAN::Meta::Converter->new( $struct );
+ $self = $cmc->convert( version => 2 );
+ }
+
+ return bless $self, $class;
+}
+
+sub new {
+ my ($class, $struct, $options) = @_;
+ my $self = eval { $class->_new($struct, $options) };
+ croak($@) if $@;
+ return $self;
+}
+
+
+sub create {
+ my ($class, $struct, $options) = @_;
+ my $version = __PACKAGE__->VERSION || 2;
+ $struct->{generated_by} ||= __PACKAGE__ . " version $version" ;
+ $struct->{'meta-spec'}{version} ||= int($version);
+ my $self = eval { $class->_new($struct, $options) };
+ croak ($@) if $@;
+ return $self;
+}
+
+
+sub load_file {
+ my ($class, $file, $options) = @_;
+ $options->{lazy_validation} = 1 unless exists $options->{lazy_validation};
+
+ croak "load_file() requires a valid, readable filename"
+ unless -r $file;
+
+ my $self;
+ eval {
+ my $struct = Parse::CPAN::Meta->load_file( $file );
+ $self = $class->_new($struct, $options);
+ };
+ croak($@) if $@;
+ return $self;
+}
+
+
+sub load_yaml_string {
+ my ($class, $yaml, $options) = @_;
+ $options->{lazy_validation} = 1 unless exists $options->{lazy_validation};
+
+ my $self;
+ eval {
+ my ($struct) = Parse::CPAN::Meta->load_yaml_string( $yaml );
+ $self = $class->_new($struct, $options);
+ };
+ croak($@) if $@;
+ return $self;
+}
+
+
+sub load_json_string {
+ my ($class, $json, $options) = @_;
+ $options->{lazy_validation} = 1 unless exists $options->{lazy_validation};
+
+ my $self;
+ eval {
+ my $struct = Parse::CPAN::Meta->load_json_string( $json );
+ $self = $class->_new($struct, $options);
+ };
+ croak($@) if $@;
+ return $self;
+}
+
+
+sub save {
+ my ($self, $file, $options) = @_;
+
+ my $version = $options->{version} || '2';
+ my $layer = $] ge '5.008001' ? ':utf8' : '';
+
+ if ( $version ge '2' ) {
+ carp "'$file' should end in '.json'"
+ unless $file =~ m{\.json$};
+ }
+ else {
+ carp "'$file' should end in '.yml'"
+ unless $file =~ m{\.yml$};
+ }
+
+ my $data = $self->as_string( $options );
+ open my $fh, ">$layer", $file
+ or die "Error opening '$file' for writing: $!\n";
+
+ print {$fh} $data;
+ close $fh
+ or die "Error closing '$file': $!\n";
+
+ return 1;
+}
+
+
+# XXX Do we need this if we always upconvert? -- dagolden, 2010-04-14
+sub meta_spec_version {
+ my ($self) = @_;
+ return $self->meta_spec->{version};
+}
+
+
+sub effective_prereqs {
+ my ($self, $features) = @_;
+ $features ||= [];
+
+ my $prereq = CPAN::Meta::Prereqs->new($self->prereqs);
+
+ return $prereq unless @$features;
+
+ my @other = map {; $self->feature($_)->prereqs } @$features;
+
+ return $prereq->with_merged_prereqs(\@other);
+}
+
+
+sub should_index_file {
+ my ($self, $filename) = @_;
+
+ for my $no_index_file (@{ $self->no_index->{file} || [] }) {
+ return if $filename eq $no_index_file;
+ }
+
+ for my $no_index_dir (@{ $self->no_index->{directory} }) {
+ $no_index_dir =~ s{$}{/} unless $no_index_dir =~ m{/\z};
+ return if index($filename, $no_index_dir) == 0;
+ }
+
+ return 1;
+}
+
+
+sub should_index_package {
+ my ($self, $package) = @_;
+
+ for my $no_index_pkg (@{ $self->no_index->{package} || [] }) {
+ return if $package eq $no_index_pkg;
+ }
+
+ for my $no_index_ns (@{ $self->no_index->{namespace} }) {
+ return if index($package, "${no_index_ns}::") == 0;
+ }
+
+ return 1;
+}
+
+
+sub features {
+ my ($self) = @_;
+
+ my $opt_f = $self->optional_features;
+ my @features = map {; CPAN::Meta::Feature->new($_ => $opt_f->{ $_ }) }
+ keys %$opt_f;
+
+ return @features;
+}
+
+
+sub feature {
+ my ($self, $ident) = @_;
+
+ croak "no feature named $ident"
+ unless my $f = $self->optional_features->{ $ident };
+
+ return CPAN::Meta::Feature->new($ident, $f);
+}
+
+
+sub as_struct {
+ my ($self, $options) = @_;
+ my $backend = Parse::CPAN::Meta->json_backend();
+ my $struct = $backend->new->decode(
+ $backend->new->convert_blessed->encode($self)
+ );
+ if ( $options->{version} ) {
+ my $cmc = CPAN::Meta::Converter->new( $struct );
+ $struct = $cmc->convert( version => $options->{version} );
+ }
+ return $struct;
+}
+
+
+sub as_string {
+ my ($self, $options) = @_;
+
+ my $version = $options->{version} || '2';
+
+ my $struct;
+ if ( $self->version ne $version ) {
+ my $cmc = CPAN::Meta::Converter->new( $self->as_struct );
+ $struct = $cmc->convert( version => $version );
+ }
+ else {
+ $struct = $self->as_struct;
+ }
+
+ my ($data, $backend);
+ if ( $version ge '2' ) {
+ $backend = Parse::CPAN::Meta->json_backend();
+ $data = $backend->new->pretty->canonical->encode($struct);
+ }
+ else {
+ $backend = Parse::CPAN::Meta->yaml_backend();
+ $data = eval { no strict 'refs'; &{"$backend\::Dump"}($struct) };
+ if ( $@ ) {
+ croak $backend->can('errstr') ? $backend->errstr : $@
+ }
+ }
+
+ return $data;
+}
+
+# Used by JSON::PP, etc. for "convert_blessed"
+sub TO_JSON {
+ return { %{ $_[0] } };
+}
+
+1;
+
+
+
+=pod
+
+=head1 NAME
+
+CPAN::Meta - the distribution metadata for a CPAN dist
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 SYNOPSIS
+
+ my $meta = CPAN::Meta->load_file('META.json');
+
+ printf "testing requirements for %s version %s\n",
+ $meta->name,
+ $meta->version;
+
+ my $prereqs = $meta->requirements_for('configure');
+
+ for my $module ($prereqs->required_modules) {
+ my $version = get_local_version($module);
+
+ die "missing required module $module" unless defined $version;
+ die "version for $module not in range"
+ unless $prereqs->accepts_module($module, $version);
+ }
+
+=head1 DESCRIPTION
+
+Software distributions released to the CPAN include a F<META.json> or, for
+older distributions, F<META.yml>, which describes the distribution, its
+contents, and the requirements for building and installing the distribution.
+The data structure stored in the F<META.json> file is described in
+L<CPAN::Meta::Spec>.
+
+CPAN::Meta provides a simple class to represent this distribution metadata (or
+I<distmeta>), along with some helpful methods for interrogating that data.
+
+The documentation below is only for the methods of the CPAN::Meta object. For
+information on the meaning of individual fields, consult the spec.
+
+=head1 METHODS
+
+=head2 new
+
+ my $meta = CPAN::Meta->new($distmeta_struct, \%options);
+
+Returns a valid CPAN::Meta object or dies if the supplied metadata hash
+reference fails to validate. Older-format metadata will be up-converted to
+version 2 if they validate against the original stated specification.
+
+It takes an optional hashref of options. Valid options include:
+
+=over
+
+=item *
+
+lazy_validation -- if true, new will attempt to convert the given metadata
+to version 2 before attempting to validate it. This means than any
+fixable errors will be handled by CPAN::Meta::Converter before validation.
+(Note that this might result in invalid optional data being silently
+dropped.) The default is false.
+
+=back
+
+=head2 create
+
+ my $meta = CPAN::Meta->create($distmeta_struct, \%options);
+
+This is same as C<new()>, except that C<generated_by> and C<meta-spec> fields
+will be generated if not provided. This means the metadata structure is
+assumed to otherwise follow the latest L<CPAN::Meta::Spec>.
+
+=head2 load_file
+
+ my $meta = CPAN::Meta->load_file($distmeta_file, \%options);
+
+Given a pathname to a file containing metadata, this deserializes the file
+according to its file suffix and constructs a new C<CPAN::Meta> object, just
+like C<new()>. It will die if the deserialized version fails to validate
+against its stated specification version.
+
+It takes the same options as C<new()> but C<lazy_validation> defaults to
+true.
+
+=head2 load_yaml_string
+
+ my $meta = CPAN::Meta->load_yaml_string($yaml, \%options);
+
+This method returns a new CPAN::Meta object using the first document in the
+given YAML string. In other respects it is identical to C<load_file()>.
+
+=head2 load_json_string
+
+ my $meta = CPAN::Meta->load_json_string($json, \%options);
+
+This method returns a new CPAN::Meta object using the structure represented by
+the given JSON string. In other respects it is identical to C<load_file()>.
+
+=head2 save
+
+ $meta->save($distmeta_file, \%options);
+
+Serializes the object as JSON and writes it to the given file. The only valid
+option is C<version>, which defaults to '2'. On Perl 5.8.1 or later, the file
+is saved with UTF-8 encoding.
+
+For C<version> 2 (or higher), the filename should end in '.json'. L<JSON::PP>
+is the default JSON backend. Using another JSON backend requires L<JSON> 2.5 or
+later and you must set the C<$ENV{PERL_JSON_BACKEND}> to a supported alternate
+backend like L<JSON::XS>.
+
+For C<version> less than 2, the filename should end in '.yml'.
+L<CPAN::Meta::Converter> is used to generate an older metadata structure, which
+is serialized to YAML. CPAN::Meta::YAML is the default YAML backend. You may
+set the C<$ENV{PERL_YAML_BACKEND}> to a supported alternative backend, though
+this is not recommended due to subtle incompatibilities between YAML parsers on
+CPAN.
+
+=head2 meta_spec_version
+
+This method returns the version part of the C<meta_spec> entry in the distmeta
+structure. It is equivalent to:
+
+ $meta->meta_spec->{version};
+
+=head2 effective_prereqs
+
+ my $prereqs = $meta->effective_prereqs;
+
+ my $prereqs = $meta->effective_prereqs( \@feature_identifiers );
+
+This method returns a L<CPAN::Meta::Prereqs> object describing all the
+prereqs for the distribution. If an arrayref of feature identifiers is given,
+the prereqs for the identified features are merged together with the
+distribution's core prereqs before the CPAN::Meta::Prereqs object is returned.
+
+=head2 should_index_file
+
+ ... if $meta->should_index_file( $filename );
+
+This method returns true if the given file should be indexed. It decides this
+by checking the C<file> and C<directory> keys in the C<no_index> property of
+the distmeta structure.
+
+C<$filename> should be given in unix format.
+
+=head2 should_index_package
+
+ ... if $meta->should_index_package( $package );
+
+This method returns true if the given package should be indexed. It decides
+this by checking the C<package> and C<namespace> keys in the C<no_index>
+property of the distmeta structure.
+
+=head2 features
+
+ my @feature_objects = $meta->features;
+
+This method returns a list of L<CPAN::Meta::Feature> objects, one for each
+optional feature described by the distribution's metadata.
+
+=head2 feature
+
+ my $feature_object = $meta->feature( $identifier );
+
+This method returns a L<CPAN::Meta::Feature> object for the optional feature
+with the given identifier. If no feature with that identifier exists, an
+exception will be raised.
+
+=head2 as_struct
+
+ my $copy = $meta->as_struct( \%options );
+
+This method returns a deep copy of the object's metadata as an unblessed has
+reference. It takes an optional hashref of options. If the hashref contains
+a C<version> argument, the copied metadata will be converted to the version
+of the specification and returned. For example:
+
+ my $old_spec = $meta->as_struct( {version => "1.4"} );
+
+=head2 as_string
+
+ my $string = $meta->as_string( \%options );
+
+This method returns a serialized copy of the object's metadata as a character
+string. (The strings are B<not> UTF-8 encoded.) It takes an optional hashref
+of options. If the hashref contains a C<version> argument, the copied metadata
+will be converted to the version of the specification and returned. For
+example:
+
+ my $string = $meta->as_struct( {version => "1.4"} );
+
+For C<version> greater than or equal to 2, the string will be serialized as
+JSON. For C<version> less than 2, the string will be serialized as YAML. In
+both cases, the same rules are followed as in the C<save()> method for choosing
+a serialization backend.
+
+=head1 STRING DATA
+
+The following methods return a single value, which is the value for the
+corresponding entry in the distmeta structure. Values should be either undef
+or strings.
+
+=over 4
+
+=item *
+
+abstract
+
+=item *
+
+description
+
+=item *
+
+dynamic_config
+
+=item *
+
+generated_by
+
+=item *
+
+name
+
+=item *
+
+release_status
+
+=item *
+
+version
+
+=back
+
+=head1 LIST DATA
+
+These methods return lists of string values, which might be represented in the
+distmeta structure as arrayrefs or scalars:
+
+=over 4
+
+=item *
+
+authors
+
+=item *
+
+keywords
+
+=item *
+
+licenses
+
+=back
+
+The C<authors> and C<licenses> methods may also be called as C<author> and
+C<license>, respectively, to match the field name in the distmeta structure.
+
+=head1 MAP DATA
+
+These readers return hashrefs of arbitrary unblessed data structures, each
+described more fully in the specification:
+
+=over 4
+
+=item *
+
+meta_spec
+
+=item *
+
+resources
+
+=item *
+
+provides
+
+=item *
+
+no_index
+
+=item *
+
+prereqs
+
+=item *
+
+optional_features
+
+=back
+
+=head1 CUSTOM DATA
+
+A list of custom keys are available from the C<custom_keys> method and
+particular keys may be retrieved with the C<custom> method.
+
+ say $meta->custom($_) for $meta->custom_keys;
+
+If a custom key refers to a data structure, a deep clone is returned.
+
+=head1 BUGS
+
+Please report any bugs or feature using the CPAN Request Tracker.
+Bugs can be submitted through the web interface at
+L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
+
+When submitting a bug or request, please include a test-file or a patch to an
+existing test-file that illustrates the bug or desired feature.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item *
+
+L<CPAN::Meta::Converter>
+
+=item *
+
+L<CPAN::Meta::Validator>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
new file mode 100644
index 00000000000..2c6ce857d3d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
@@ -0,0 +1,1365 @@
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta::Converter;
+BEGIN {
+ $CPAN::Meta::Converter::VERSION = '2.110440';
+}
+# ABSTRACT: Convert CPAN distribution metadata structures
+
+
+use CPAN::Meta::Validator;
+use Storable qw/dclone/;
+use version 0.82 ();
+
+my %known_specs = (
+ '2' => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ '1.4' => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ '1.3' => 'http://module-build.sourceforge.net/META-spec-v1.3.html',
+ '1.2' => 'http://module-build.sourceforge.net/META-spec-v1.2.html',
+ '1.1' => 'http://module-build.sourceforge.net/META-spec-v1.1.html',
+ '1.0' => 'http://module-build.sourceforge.net/META-spec-v1.0.html'
+);
+
+my @spec_list = sort { $a <=> $b } keys %known_specs;
+my ($LOWEST, $HIGHEST) = @spec_list[0,-1];
+
+#--------------------------------------------------------------------------#
+# converters
+#
+# called as $converter->($element, $field_name, $full_meta, $to_version)
+#
+# defined return value used for field
+# undef return value means field is skipped
+#--------------------------------------------------------------------------#
+
+sub _keep { $_[0] }
+
+sub _keep_or_one { defined($_[0]) ? $_[0] : 1 }
+
+sub _keep_or_zero { defined($_[0]) ? $_[0] : 0 }
+
+sub _keep_or_unknown { defined($_[0]) && length($_[0]) ? $_[0] : "unknown" }
+
+sub _generated_by {
+ my $gen = shift;
+ my $sig = __PACKAGE__ . " version " . (__PACKAGE__->VERSION || "<dev>");
+
+ return $sig unless defined $gen and length $gen;
+ return $gen if $gen =~ /(, )\Q$sig/;
+ return "$gen, $sig";
+}
+
+sub _listify { ! defined $_[0] ? undef : ref $_[0] eq 'ARRAY' ? $_[0] : [$_[0]] }
+
+sub _prefix_custom {
+ my $key = shift;
+ $key =~ s/^(?!x_) # Unless it already starts with x_
+ (?:x-?)? # Remove leading x- or x (if present)
+ /x_/ix; # and prepend x_
+ return $key;
+}
+
+sub _ucfirst_custom {
+ my $key = shift;
+ $key = ucfirst $key unless $key =~ /[A-Z]/;
+ return $key;
+}
+
+sub _change_meta_spec {
+ my ($element, undef, undef, $version) = @_;
+ $element->{version} = $version;
+ $element->{url} = $known_specs{$version};
+ return $element;
+}
+
+my @valid_licenses_1 = (
+ 'perl',
+ 'gpl',
+ 'apache',
+ 'artistic',
+ 'artistic_2',
+ 'lgpl',
+ 'bsd',
+ 'gpl',
+ 'mit',
+ 'mozilla',
+ 'open_source',
+ 'unrestricted',
+ 'restrictive',
+ 'unknown',
+);
+
+my %license_map_1 = (
+ ( map { $_ => $_ } @valid_licenses_1 ),
+ artistic2 => 'artistic_2',
+);
+
+sub _license_1 {
+ my ($element) = @_;
+ return 'unknown' unless defined $element;
+ if ( $license_map_1{lc $element} ) {
+ return $license_map_1{lc $element};
+ }
+ return 'unknown';
+}
+
+my @valid_licenses_2 = qw(
+ agpl_3
+ apache_1_1
+ apache_2_0
+ artistic_1
+ artistic_2
+ bsd
+ freebsd
+ gfdl_1_2
+ gfdl_1_3
+ gpl_1
+ gpl_2
+ gpl_3
+ lgpl_2_1
+ lgpl_3_0
+ mit
+ mozilla_1_0
+ mozilla_1_1
+ openssl
+ perl_5
+ qpl_1_0
+ ssleay
+ sun
+ zlib
+ open_source
+ restricted
+ unrestricted
+ unknown
+);
+
+my %license_map_2 = (
+ ( map { $_ => $_ } @valid_licenses_2 ),
+ apache => 'apache_2_0',
+ artistic => 'artistic_1',
+ artistic2 => 'artistic_2',
+ gpl => 'gpl_1',
+ lgpl => 'lgpl_2_1',
+ mozilla => 'mozilla_1_0',
+ perl => 'perl_5',
+ restrictive => 'restricted',
+);
+
+sub _license_2 {
+ my ($element) = @_;
+ return [ 'unknown' ] unless defined $element;
+ $element = [ $element ] unless ref $element eq 'ARRAY';
+ my @new_list;
+ for my $lic ( @$element ) {
+ next unless defined $lic;
+ if ( my $new = $license_map_2{lc $lic} ) {
+ push @new_list, $new;
+ }
+ }
+ return @new_list ? \@new_list : [ 'unknown' ];
+}
+
+my %license_downgrade_map = qw(
+ agpl_3 open_source
+ apache_1_1 apache
+ apache_2_0 apache
+ artistic_1 artistic
+ artistic_2 artistic_2
+ bsd bsd
+ freebsd open_source
+ gfdl_1_2 open_source
+ gfdl_1_3 open_source
+ gpl_1 gpl
+ gpl_2 gpl
+ gpl_3 gpl
+ lgpl_2_1 lgpl
+ lgpl_3_0 lgpl
+ mit mit
+ mozilla_1_0 mozilla
+ mozilla_1_1 mozilla
+ openssl open_source
+ perl_5 perl
+ qpl_1_0 open_source
+ ssleay open_source
+ sun open_source
+ zlib open_source
+ open_source open_source
+ restricted restrictive
+ unrestricted unrestricted
+ unknown unknown
+);
+
+sub _downgrade_license {
+ my ($element) = @_;
+ if ( ! defined $element ) {
+ return "unknown";
+ }
+ elsif( ref $element eq 'ARRAY' ) {
+ if ( @$element == 1 ) {
+ return $license_downgrade_map{$element->[0]} || "unknown";
+ }
+ }
+ elsif ( ! ref $element ) {
+ return $license_downgrade_map{$element} || "unknown";
+ }
+ return "unknown";
+}
+
+my $no_index_spec_1_2 = {
+ 'file' => \&_listify,
+ 'dir' => \&_listify,
+ 'package' => \&_listify,
+ 'namespace' => \&_listify,
+};
+
+my $no_index_spec_1_3 = {
+ 'file' => \&_listify,
+ 'directory' => \&_listify,
+ 'package' => \&_listify,
+ 'namespace' => \&_listify,
+};
+
+my $no_index_spec_2 = {
+ 'file' => \&_listify,
+ 'directory' => \&_listify,
+ 'package' => \&_listify,
+ 'namespace' => \&_listify,
+ ':custom' => \&_prefix_custom,
+};
+
+sub _no_index_1_2 {
+ my (undef, undef, $meta) = @_;
+ my $no_index = $meta->{no_index} || $meta->{private};
+ return unless $no_index;
+
+ # cleanup wrong format
+ if ( ! ref $no_index ) {
+ my $item = $no_index;
+ $no_index = { dir => [ $item ], file => [ $item ] };
+ }
+ elsif ( ref $no_index eq 'ARRAY' ) {
+ my $list = $no_index;
+ $no_index = { dir => [ @$list ], file => [ @$list ] };
+ }
+
+ # common mistake: files -> file
+ if ( exists $no_index->{files} ) {
+ $no_index->{file} = delete $no_index->{file};
+ }
+ # common mistake: modules -> module
+ if ( exists $no_index->{modules} ) {
+ $no_index->{module} = delete $no_index->{module};
+ }
+ return _convert($no_index, $no_index_spec_1_2);
+}
+
+sub _no_index_directory {
+ my ($element, $key, $meta, $version) = @_;
+ return unless $element;
+
+ # cleanup wrong format
+ if ( ! ref $element ) {
+ my $item = $element;
+ $element = { directory => [ $item ], file => [ $item ] };
+ }
+ elsif ( ref $element eq 'ARRAY' ) {
+ my $list = $element;
+ $element = { directory => [ @$list ], file => [ @$list ] };
+ }
+
+ if ( exists $element->{dir} ) {
+ $element->{directory} = delete $element->{dir};
+ }
+ # common mistake: files -> file
+ if ( exists $element->{files} ) {
+ $element->{file} = delete $element->{file};
+ }
+ # common mistake: modules -> module
+ if ( exists $element->{modules} ) {
+ $element->{module} = delete $element->{module};
+ }
+ my $spec = $version == 2 ? $no_index_spec_2 : $no_index_spec_1_3;
+ return _convert($element, $spec);
+}
+
+sub _is_module_name {
+ my $mod = shift;
+ return unless defined $mod && length $mod;
+ return $mod =~ m{^[A-Za-z][A-Za-z0-9_]*(?:::[A-Za-z0-9_]+)*$};
+}
+
+sub _clean_version {
+ my ($element, $key, $meta, $to_version) = @_;
+ return 0 if ! defined $element;
+
+ $element =~ s{^\s*}{};
+ $element =~ s{\s*$}{};
+ $element =~ s{^\.}{0.};
+
+ return 0 if ! length $element;
+ return 0 if ( $element eq 'undef' || $element eq '<undef>' );
+
+ if ( my $v = eval { version->new($element) } ) {
+ return $v->is_qv ? $v->normal : $element;
+ }
+ else {
+ return 0;
+ }
+}
+
+sub _version_map {
+ my ($element) = @_;
+ return undef unless defined $element;
+ if ( ref $element eq 'HASH' ) {
+ my $new_map = {};
+ for my $k ( keys %$element ) {
+ next unless _is_module_name($k);
+ my $value = $element->{$k};
+ if ( ! ( defined $value && length $value ) ) {
+ $new_map->{$k} = 0;
+ }
+ elsif ( $value eq 'undef' || $value eq '<undef>' ) {
+ $new_map->{$k} = 0;
+ }
+ elsif ( _is_module_name( $value ) ) { # some weird, old META have this
+ $new_map->{$k} = 0;
+ $new_map->{$value} = 0;
+ }
+ else {
+ $new_map->{$k} = _clean_version($value);
+ }
+ }
+ return $new_map;
+ }
+ elsif ( ref $element eq 'ARRAY' ) {
+ my $hashref = { map { $_ => 0 } @$element };
+ return _version_map($hashref); # cleanup any weird stuff
+ }
+ elsif ( ref $element eq '' && length $element ) {
+ return { $element => 0 }
+ }
+ return;
+}
+
+sub _prereqs_from_1 {
+ my (undef, undef, $meta) = @_;
+ my $prereqs = {};
+ for my $phase ( qw/build configure/ ) {
+ my $key = "${phase}_requires";
+ $prereqs->{$phase}{requires} = _version_map($meta->{$key})
+ if $meta->{$key};
+ }
+ for my $rel ( qw/requires recommends conflicts/ ) {
+ $prereqs->{runtime}{$rel} = _version_map($meta->{$rel})
+ if $meta->{$rel};
+ }
+ return $prereqs;
+}
+
+my $prereqs_spec = {
+ configure => \&_prereqs_rel,
+ build => \&_prereqs_rel,
+ test => \&_prereqs_rel,
+ runtime => \&_prereqs_rel,
+ develop => \&_prereqs_rel,
+ ':custom' => \&_prefix_custom,
+};
+
+my $relation_spec = {
+ requires => \&_version_map,
+ recommends => \&_version_map,
+ suggests => \&_version_map,
+ conflicts => \&_version_map,
+ ':custom' => \&_prefix_custom,
+};
+
+sub _cleanup_prereqs {
+ my ($prereqs, $key, $meta, $to_version) = @_;
+ return unless $prereqs && ref $prereqs eq 'HASH';
+ return _convert( $prereqs, $prereqs_spec, $to_version );
+}
+
+sub _prereqs_rel {
+ my ($relation, $key, $meta, $to_version) = @_;
+ return unless $relation && ref $relation eq 'HASH';
+ return _convert( $relation, $relation_spec, $to_version );
+}
+
+
+BEGIN {
+ my @old_prereqs = qw(
+ requires
+ configure_requires
+ recommends
+ conflicts
+ );
+
+ for ( @old_prereqs ) {
+ my $sub = "_get_$_";
+ my ($phase,$type) = split qr/_/, $_;
+ if ( ! defined $type ) {
+ $type = $phase;
+ $phase = 'runtime';
+ }
+ no strict 'refs';
+ *{$sub} = sub { _extract_prereqs($_[2]->{prereqs},$phase,$type) };
+ }
+}
+
+sub _get_build_requires {
+ my ($data, $key, $meta) = @_;
+
+ my $test_h = _extract_prereqs($_[2]->{prereqs}, qw(test requires)) || {};
+ my $build_h = _extract_prereqs($_[2]->{prereqs}, qw(build requires)) || {};
+
+ require Version::Requirements;
+ my $test_req = Version::Requirements->from_string_hash($test_h);
+ my $build_req = Version::Requirements->from_string_hash($build_h);
+
+ $test_req->add_requirements($build_req)->as_string_hash;
+}
+
+sub _extract_prereqs {
+ my ($prereqs, $phase, $type) = @_;
+ return unless ref $prereqs eq 'HASH';
+ return $prereqs->{$phase}{$type};
+}
+
+sub _downgrade_optional_features {
+ my (undef, undef, $meta) = @_;
+ return undef unless exists $meta->{optional_features};
+ my $origin = $meta->{optional_features};
+ my $features = {};
+ for my $name ( keys %$origin ) {
+ $features->{$name} = {
+ description => $origin->{$name}{description},
+ requires => _extract_prereqs($origin->{$name}{prereqs},'runtime','requires'),
+ configure_requires => _extract_prereqs($origin->{$name}{prereqs},'runtime','configure_requires'),
+ build_requires => _extract_prereqs($origin->{$name}{prereqs},'runtime','build_requires'),
+ recommends => _extract_prereqs($origin->{$name}{prereqs},'runtime','recommends'),
+ conflicts => _extract_prereqs($origin->{$name}{prereqs},'runtime','conflicts'),
+ };
+ for my $k (keys %{$features->{$name}} ) {
+ delete $features->{$name}{$k} unless defined $features->{$name}{$k};
+ }
+ }
+ return $features;
+}
+
+sub _upgrade_optional_features {
+ my (undef, undef, $meta) = @_;
+ return undef unless exists $meta->{optional_features};
+ my $origin = $meta->{optional_features};
+ my $features = {};
+ for my $name ( keys %$origin ) {
+ $features->{$name} = {
+ description => $origin->{$name}{description},
+ prereqs => _prereqs_from_1(undef, undef, $origin->{$name}),
+ };
+ delete $features->{$name}{prereqs}{configure};
+ }
+ return $features;
+}
+
+my $optional_features_2_spec = {
+ description => \&_keep,
+ prereqs => \&_cleanup_prereqs,
+ ':custom' => \&_prefix_custom,
+};
+
+sub _feature_2 {
+ my ($element, $key, $meta, $to_version) = @_;
+ return unless $element && ref $element eq 'HASH';
+ _convert( $element, $optional_features_2_spec, $to_version );
+}
+
+sub _cleanup_optional_features_2 {
+ my ($element, $key, $meta, $to_version) = @_;
+ return unless $element && ref $element eq 'HASH';
+ my $new_data = {};
+ for my $k ( keys %$element ) {
+ $new_data->{$k} = _feature_2( $element->{$k}, $k, $meta, $to_version );
+ }
+ return unless keys %$new_data;
+ return $new_data;
+}
+
+sub _optional_features_1_4 {
+ my ($element) = @_;
+ return unless $element;
+ $element = _optional_features_as_map($element);
+ for my $name ( keys %$element ) {
+ for my $drop ( qw/requires_packages requires_os excluded_os/ ) {
+ delete $element->{$name}{$drop};
+ }
+ }
+ return $element;
+}
+
+sub _optional_features_as_map {
+ my ($element) = @_;
+ return unless $element;
+ if ( ref $element eq 'ARRAY' ) {
+ my %map;
+ for my $feature ( @$element ) {
+ my (@parts) = %$feature;
+ $map{$parts[0]} = $parts[1];
+ }
+ $element = \%map;
+ }
+ return $element;
+}
+
+sub _is_urlish { defined $_[0] && $_[0] =~ m{\A[-+.a-z0-9]+:.+}i }
+
+sub _url_or_drop {
+ my ($element) = @_;
+ return $element if _is_urlish($element);
+ return;
+}
+
+sub _url_list {
+ my ($element) = @_;
+ return unless $element;
+ $element = _listify( $element );
+ $element = [ grep { _is_urlish($_) } @$element ];
+ return unless @$element;
+ return $element;
+}
+
+sub _author_list {
+ my ($element) = @_;
+ return [ 'unknown' ] unless $element;
+ $element = _listify( $element );
+ $element = [ map { defined $_ && length $_ ? $_ : 'unknown' } @$element ];
+ return [ 'unknown' ] unless @$element;
+ return $element;
+}
+
+my $resource2_upgrade = {
+ license => sub { return _is_urlish($_[0]) ? _listify( $_[0] ) : undef },
+ homepage => \&_url_or_drop,
+ bugtracker => sub {
+ my ($item) = @_;
+ return unless $item;
+ if ( $item =~ m{^mailto:(.*)$} ) { return { mailto => $1 } }
+ elsif( _is_urlish($item) ) { return { web => $item } }
+ else { return undef }
+ },
+ repository => sub { return _is_urlish($_[0]) ? { url => $_[0] } : undef },
+ ':custom' => \&_prefix_custom,
+};
+
+sub _upgrade_resources_2 {
+ my (undef, undef, $meta, $version) = @_;
+ return undef unless exists $meta->{resources};
+ return _convert($meta->{resources}, $resource2_upgrade);
+}
+
+my $bugtracker2_spec = {
+ web => \&_url_or_drop,
+ mailto => \&_keep,
+ ':custom' => \&_prefix_custom,
+};
+
+sub _repo_type {
+ my ($element, $key, $meta, $to_version) = @_;
+ return $element if defined $element;
+ return unless exists $meta->{url};
+ my $repo_url = $meta->{url};
+ for my $type ( qw/git svn/ ) {
+ return $type if $repo_url =~ m{\A$type};
+ }
+ return;
+}
+
+my $repository2_spec = {
+ web => \&_url_or_drop,
+ url => \&_url_or_drop,
+ type => \&_repo_type,
+ ':custom' => \&_prefix_custom,
+};
+
+my $resources2_cleanup = {
+ license => \&_url_list,
+ homepage => \&_url_or_drop,
+ bugtracker => sub { ref $_[0] ? _convert( $_[0], $bugtracker2_spec ) : undef },
+ repository => sub { my $data = shift; ref $data ? _convert( $data, $repository2_spec ) : undef },
+ ':custom' => \&_prefix_custom,
+};
+
+sub _cleanup_resources_2 {
+ my ($resources, $key, $meta, $to_version) = @_;
+ return undef unless $resources && ref $resources eq 'HASH';
+ return _convert($resources, $resources2_cleanup, $to_version);
+}
+
+my $resource1_spec = {
+ license => \&_url_or_drop,
+ homepage => \&_url_or_drop,
+ bugtracker => \&_url_or_drop,
+ repository => \&_url_or_drop,
+ ':custom' => \&_keep,
+};
+
+sub _resources_1_3 {
+ my (undef, undef, $meta, $version) = @_;
+ return undef unless exists $meta->{resources};
+ return _convert($meta->{resources}, $resource1_spec);
+}
+
+*_resources_1_4 = *_resources_1_3;
+
+sub _resources_1_2 {
+ my (undef, undef, $meta) = @_;
+ my $resources = $meta->{resources} || {};
+ if ( $meta->{license_url} && ! $resources->{license} ) {
+ $resources->{license} = $meta->license_url
+ if _is_urlish($meta->{license_url});
+ }
+ return undef unless keys %$resources;
+ return _convert($resources, $resource1_spec);
+}
+
+my $resource_downgrade_spec = {
+ license => sub { return ref $_[0] ? $_[0]->[0] : $_[0] },
+ homepage => \&_url_or_drop,
+ bugtracker => sub { return $_[0]->{web} },
+ repository => sub { return $_[0]->{url} || $_[0]->{web} },
+ ':custom' => \&_ucfirst_custom,
+};
+
+sub _downgrade_resources {
+ my (undef, undef, $meta, $version) = @_;
+ return undef unless exists $meta->{resources};
+ return _convert($meta->{resources}, $resource_downgrade_spec);
+}
+
+sub _release_status {
+ my ($element, undef, $meta) = @_;
+ return $element if $element && $element =~ m{\A(?:stable|testing|unstable)\z};
+ return _release_status_from_version(undef, undef, $meta);
+}
+
+sub _release_status_from_version {
+ my (undef, undef, $meta) = @_;
+ my $version = $meta->{version} || '';
+ return ( $version =~ /_/ ) ? 'testing' : 'stable';
+}
+
+my $provides_spec = {
+ file => \&_keep,
+ version => \&_clean_version,
+};
+
+my $provides_spec_2 = {
+ file => \&_keep,
+ version => \&_clean_version,
+ ':custom' => \&_prefix_custom,
+};
+
+sub _provides {
+ my ($element, $key, $meta, $to_version) = @_;
+ return unless defined $element && ref $element eq 'HASH';
+ my $spec = $to_version == 2 ? $provides_spec_2 : $provides_spec;
+ my $new_data = {};
+ for my $k ( keys %$element ) {
+ $new_data->{$k} = _convert($element->{$k}, $spec, $to_version);
+ }
+ return $new_data;
+}
+
+sub _convert {
+ my ($data, $spec, $to_version) = @_;
+
+ my $new_data = {};
+ for my $key ( keys %$spec ) {
+ next if $key eq ':custom' || $key eq ':drop';
+ next unless my $fcn = $spec->{$key};
+ die "spec for '$key' is not a coderef"
+ unless ref $fcn && ref $fcn eq 'CODE';
+ my $new_value = $fcn->($data->{$key}, $key, $data, $to_version);
+ $new_data->{$key} = $new_value if defined $new_value;
+ }
+
+ my $drop_list = $spec->{':drop'};
+ my $customizer = $spec->{':custom'} || \&_keep;
+
+ for my $key ( keys %$data ) {
+ next if $drop_list && grep { $key eq $_ } @$drop_list;
+ next if exists $spec->{$key}; # we handled it
+ $new_data->{ $customizer->($key) } = $data->{$key};
+ }
+
+ return $new_data;
+}
+
+#--------------------------------------------------------------------------#
+# define converters for each conversion
+#--------------------------------------------------------------------------#
+
+# each converts from prior version
+# special ":custom" field is used for keys not recognized in spec
+my %up_convert = (
+ '2-from-1.4' => {
+ # PRIOR MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_2,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # CHANGED TO MANDATORY
+ 'dynamic_config' => \&_keep_or_one,
+ # ADDED MANDATORY
+ 'release_status' => \&_release_status_from_version,
+ # PRIOR OPTIONAL
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_upgrade_optional_features,
+ 'provides' => \&_provides,
+ 'resources' => \&_upgrade_resources_2,
+ # ADDED OPTIONAL
+ 'description' => \&_keep,
+ 'prereqs' => \&_prereqs_from_1,
+
+ # drop these deprecated fields, but only after we convert
+ ':drop' => [ qw(
+ build_requires
+ configure_requires
+ conflicts
+ distribution_type
+ license_url
+ private
+ recommends
+ requires
+ ) ],
+
+ # other random keys need x_ prefixing
+ ':custom' => \&_prefix_custom,
+ },
+ '1.4-from-1.3' => {
+ # PRIOR MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_optional_features_1_4,
+ 'provides' => \&_provides,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ 'resources' => \&_resources_1_4,
+ # ADDED OPTIONAL
+ 'configure_requires' => \&_keep,
+
+ # drop these deprecated fields, but only after we convert
+ ':drop' => [ qw(
+ license_url
+ private
+ )],
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.3-from-1.2' => {
+ # PRIOR MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_optional_features_as_map,
+ 'provides' => \&_provides,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ 'resources' => \&_resources_1_3,
+
+ # drop these deprecated fields, but only after we convert
+ ':drop' => [ qw(
+ license_url
+ private
+ )],
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.2-from-1.1' => {
+ # PRIOR MANDATORY
+ 'version' => \&_keep,
+ # CHANGED TO MANDATORY
+ 'license' => \&_license_1,
+ 'name' => \&_keep,
+ 'generated_by' => \&_generated_by,
+ # ADDED MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'meta-spec' => \&_change_meta_spec,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ # ADDED OPTIONAL
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_1_2,
+ 'optional_features' => \&_optional_features_as_map,
+ 'provides' => \&_provides,
+ 'resources' => \&_resources_1_2,
+
+ # drop these deprecated fields, but only after we convert
+ ':drop' => [ qw(
+ license_url
+ private
+ )],
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.1-from-1.0' => {
+ # CHANGED TO MANDATORY
+ 'version' => \&_keep,
+ # IMPLIED MANDATORY
+ 'name' => \&_keep,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ # ADDED OPTIONAL
+ 'license_url' => \&_url_or_drop,
+ 'private' => \&_keep,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+);
+
+my %down_convert = (
+ '1.4-from-2' => {
+ # MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_downgrade_license,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # OPTIONAL
+ 'build_requires' => \&_get_build_requires,
+ 'configure_requires' => \&_get_configure_requires,
+ 'conflicts' => \&_get_conflicts,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_downgrade_optional_features,
+ 'provides' => \&_provides,
+ 'recommends' => \&_get_recommends,
+ 'requires' => \&_get_requires,
+ 'resources' => \&_downgrade_resources,
+
+ # drop these unsupported fields (after conversion)
+ ':drop' => [ qw(
+ description
+ prereqs
+ release_status
+ )],
+
+ # custom keys will be left unchanged
+ ':custom' => \&_keep
+ },
+ '1.3-from-1.4' => {
+ # MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_optional_features_as_map,
+ 'provides' => \&_provides,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ 'resources' => \&_resources_1_3,
+
+ # drop these unsupported fields, but only after we convert
+ ':drop' => [ qw(
+ configure_requires
+ )],
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep,
+ },
+ '1.2-from-1.3' => {
+ # MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_1_2,
+ 'optional_features' => \&_optional_features_as_map,
+ 'provides' => \&_provides,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ 'resources' => \&_resources_1_3,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep,
+ },
+ '1.1-from-1.2' => {
+ # MANDATORY
+ 'version' => \&_keep,
+ # IMPLIED MANDATORY
+ 'name' => \&_keep,
+ 'meta-spec' => \&_change_meta_spec,
+ # OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'private' => \&_keep,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+
+ # drop unsupported fields
+ ':drop' => [ qw(
+ abstract
+ author
+ provides
+ no_index
+ keywords
+ resources
+ )],
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep,
+ },
+ '1.0-from-1.1' => {
+ # IMPLIED MANDATORY
+ 'name' => \&_keep,
+ 'meta-spec' => \&_change_meta_spec,
+ 'version' => \&_keep,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep,
+ },
+);
+
+my %cleanup = (
+ '2' => {
+ # PRIOR MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_2,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # CHANGED TO MANDATORY
+ 'dynamic_config' => \&_keep_or_one,
+ # ADDED MANDATORY
+ 'release_status' => \&_release_status,
+ # PRIOR OPTIONAL
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_cleanup_optional_features_2,
+ 'provides' => \&_provides,
+ 'resources' => \&_cleanup_resources_2,
+ # ADDED OPTIONAL
+ 'description' => \&_keep,
+ 'prereqs' => \&_cleanup_prereqs,
+
+ # drop these deprecated fields, but only after we convert
+ ':drop' => [ qw(
+ build_requires
+ configure_requires
+ conflicts
+ distribution_type
+ license_url
+ private
+ recommends
+ requires
+ ) ],
+
+ # other random keys need x_ prefixing
+ ':custom' => \&_prefix_custom,
+ },
+ '1.4' => {
+ # PRIOR MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_optional_features_1_4,
+ 'provides' => \&_provides,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ 'resources' => \&_resources_1_4,
+ # ADDED OPTIONAL
+ 'configure_requires' => \&_keep,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.3' => {
+ # PRIOR MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'meta-spec' => \&_change_meta_spec,
+ 'name' => \&_keep,
+ 'version' => \&_keep,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_directory,
+ 'optional_features' => \&_optional_features_as_map,
+ 'provides' => \&_provides,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ 'resources' => \&_resources_1_3,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.2' => {
+ # PRIOR MANDATORY
+ 'version' => \&_keep,
+ # CHANGED TO MANDATORY
+ 'license' => \&_license_1,
+ 'name' => \&_keep,
+ 'generated_by' => \&_generated_by,
+ # ADDED MANDATORY
+ 'abstract' => \&_keep_or_unknown,
+ 'author' => \&_author_list,
+ 'meta-spec' => \&_change_meta_spec,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ # ADDED OPTIONAL
+ 'keywords' => \&_keep,
+ 'no_index' => \&_no_index_1_2,
+ 'optional_features' => \&_optional_features_as_map,
+ 'provides' => \&_provides,
+ 'resources' => \&_resources_1_2,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.1' => {
+ # CHANGED TO MANDATORY
+ 'version' => \&_keep,
+ # IMPLIED MANDATORY
+ 'name' => \&_keep,
+ 'meta-spec' => \&_change_meta_spec,
+ # PRIOR OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+ # ADDED OPTIONAL
+ 'license_url' => \&_url_or_drop,
+ 'private' => \&_keep,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep
+ },
+ '1.0' => {
+ # IMPLIED MANDATORY
+ 'name' => \&_keep,
+ 'meta-spec' => \&_change_meta_spec,
+ 'version' => \&_keep,
+ # IMPLIED OPTIONAL
+ 'build_requires' => \&_version_map,
+ 'conflicts' => \&_version_map,
+ 'distribution_type' => \&_keep,
+ 'dynamic_config' => \&_keep_or_one,
+ 'generated_by' => \&_generated_by,
+ 'license' => \&_license_1,
+ 'recommends' => \&_version_map,
+ 'requires' => \&_version_map,
+
+ # other random keys are OK if already valid
+ ':custom' => \&_keep,
+ },
+);
+
+#--------------------------------------------------------------------------#
+# Code
+#--------------------------------------------------------------------------#
+
+
+sub new {
+ my ($class,$data) = @_;
+
+ # create an attributes hash
+ my $self = {
+ 'data' => $data,
+ 'spec' => $data->{'meta-spec'}{'version'} || "1.0",
+ };
+
+ # create the object
+ return bless $self, $class;
+}
+
+
+sub convert {
+ my ($self, %args) = @_;
+ my $args = { %args };
+
+ my $new_version = $args->{version} || $HIGHEST;
+
+ my ($old_version) = $self->{spec};
+ my $converted = dclone $self->{data};
+
+ if ( $old_version == $new_version ) {
+ $converted = _convert( $converted, $cleanup{$old_version}, $old_version );
+ my $cmv = CPAN::Meta::Validator->new( $converted );
+ unless ( $cmv->is_valid ) {
+ my $errs = join("\n", $cmv->errors);
+ die "Failed to clean-up $old_version metadata. Errors:\n$errs\n";
+ }
+ return $converted;
+ }
+ elsif ( $old_version > $new_version ) {
+ my @vers = sort { $b <=> $a } keys %known_specs;
+ for my $i ( 0 .. $#vers-1 ) {
+ next if $vers[$i] > $old_version;
+ last if $vers[$i+1] < $new_version;
+ my $spec_string = "$vers[$i+1]-from-$vers[$i]";
+ $converted = _convert( $converted, $down_convert{$spec_string}, $vers[$i+1] );
+ my $cmv = CPAN::Meta::Validator->new( $converted );
+ unless ( $cmv->is_valid ) {
+ my $errs = join("\n", $cmv->errors);
+ die "Failed to downconvert metadata to $vers[$i+1]. Errors:\n$errs\n";
+ }
+ }
+ return $converted;
+ }
+ else {
+ my @vers = sort { $a <=> $b } keys %known_specs;
+ for my $i ( 0 .. $#vers-1 ) {
+ next if $vers[$i] < $old_version;
+ last if $vers[$i+1] > $new_version;
+ my $spec_string = "$vers[$i+1]-from-$vers[$i]";
+ $converted = _convert( $converted, $up_convert{$spec_string}, $vers[$i+1] );
+ my $cmv = CPAN::Meta::Validator->new( $converted );
+ unless ( $cmv->is_valid ) {
+ my $errs = join("\n", $cmv->errors);
+ die "Failed to upconvert metadata to $vers[$i+1]. Errors:\n$errs\n";
+ }
+ }
+ return $converted;
+ }
+}
+
+1;
+
+
+
+=pod
+
+=head1 NAME
+
+CPAN::Meta::Converter - Convert CPAN distribution metadata structures
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 SYNOPSIS
+
+ my $struct = decode_json_file('META.json');
+
+ my $cmc = CPAN::Meta::Converter->new( $struct );
+
+ my $new_struct = $cmc->convert( version => "2" );
+
+=head1 DESCRIPTION
+
+This module converts CPAN Meta structures from one form to another. The
+primary use is to convert older structures to the most modern version of
+the specification, but other transformations may be implemented in the
+future as needed. (E.g. stripping all custom fields or stripping all
+optional fields.)
+
+=head1 METHODS
+
+=head2 new
+
+ my $cmc = CPAN::Meta::Converter->new( $struct );
+
+The constructor should be passed a valid metadata structure but invalid
+structures are accepted. If no meta-spec version is provided, version 1.0 will
+be assumed.
+
+=head2 convert
+
+ my $new_struct = $cmc->convert( version => "2" );
+
+Returns a new hash reference with the metadata converted to a different form.
+C<convert> will die if any conversion/standardization still results in an
+invalid structure.
+
+Valid parameters include:
+
+=over
+
+=item *
+
+C<version> -- Indicates the desired specification version (e.g. "1.0", "1.1" ... "1.4", "2").
+Defaults to the latest version of the CPAN Meta Spec.
+
+=back
+
+Conversion proceeds through each version in turn. For example, a version 1.2
+structure might be converted to 1.3 then 1.4 then finally to version 2. The
+conversion process attempts to clean-up simple errors and standardize data.
+For example, if C<author> is given as a scalar, it will converted to an array
+reference containing the item. (Converting a structure to its own version will
+also clean-up and standardize.)
+
+When data are cleaned and standardized, missing or invalid fields will be
+replaced with sensible defaults when possible. This may be lossy or imprecise.
+For example, some badly structured META.yml files on CPAN have prerequisite
+modules listed as both keys and values:
+
+ requires => { 'Foo::Bar' => 'Bam::Baz' }
+
+These would be split and each converted to a prerequisite with a minimum
+version of zero.
+
+When some mandatory fields are missing or invalid, the conversion will attempt
+to provide a sensible default or will fill them with a value of 'unknown'. For
+example a missing or unrecognized C<license> field will result in a C<license>
+field of 'unknown'. Fields that may get an 'unknown' include:
+
+=over 4
+
+=item *
+
+abstract
+
+=item *
+
+author
+
+=item *
+
+license
+
+=back
+
+=head1 BUGS
+
+Please report any bugs or feature using the CPAN Request Tracker.
+Bugs can be submitted through the web interface at
+L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
+
+When submitting a bug or request, please include a test-file or a patch to an
+existing test-file that illustrates the bug or desired feature.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
new file mode 100644
index 00000000000..d3575e5e7e8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
@@ -0,0 +1,116 @@
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta::Feature;
+BEGIN {
+ $CPAN::Meta::Feature::VERSION = '2.110440';
+}
+# ABSTRACT: an optional feature provided by a CPAN distribution
+
+use CPAN::Meta::Prereqs;
+
+
+sub new {
+ my ($class, $identifier, $spec) = @_;
+
+ my %guts = (
+ identifier => $identifier,
+ description => $spec->{description},
+ prereqs => CPAN::Meta::Prereqs->new($spec->{prereqs}),
+ );
+
+ bless \%guts => $class;
+}
+
+
+sub identifier { $_[0]{identifier} }
+
+
+sub description { $_[0]{description} }
+
+
+sub prereqs { $_[0]{prereqs} }
+
+1;
+
+
+
+=pod
+
+=head1 NAME
+
+CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 DESCRIPTION
+
+A CPAN::Meta::Feature object describes an optional feature offered by a CPAN
+distribution and specified in the distribution's F<META.json> (or F<META.yml>)
+file.
+
+For the most part, this class will only be used when operating on the result of
+the C<feature> or C<features> methods on a L<CPAN::Meta> object.
+
+=head1 METHODS
+
+=head2 new
+
+ my $feature = CPAN::Meta::Feature->new( $identifier => \%spec );
+
+This returns a new Feature object. The C<%spec> argument to the constructor
+should be the same as the value of the C<optional_feature> entry in the
+distmeta. It must contain entries for C<description> and C<prereqs>.
+
+=head2 identifier
+
+This method returns the feature's identifier.
+
+=head2 description
+
+This method returns the feature's long description.
+
+=head2 prereqs
+
+This method returns the feature's prerequisites as a L<CPAN::Meta::Prereqs>
+object.
+
+=head1 BUGS
+
+Please report any bugs or feature using the CPAN Request Tracker.
+Bugs can be submitted through the web interface at
+L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
+
+When submitting a bug or request, please include a test-file or a patch to an
+existing test-file that illustrates the bug or desired feature.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
new file mode 100644
index 00000000000..ab036907a49
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
@@ -0,0 +1,315 @@
+# vi:tw=72
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta::History;
+BEGIN {
+ $CPAN::Meta::History::VERSION = '2.110440';
+}
+# ABSTRACT: history of CPAN Meta Spec changes
+1;
+
+
+
+__END__
+=pod
+
+=head1 NAME
+
+CPAN::Meta::History - history of CPAN Meta Spec changes
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 DESCRIPTION
+
+The CPAN Meta Spec has gone through several iterations. It was
+originally written in HTML and later revised into POD (though published
+in HTML generated from the POD). Fields were added, removed or changed,
+sometimes by design and sometimes to reflect real-world usage after the
+fact.
+
+This document reconstructs the history of the CPAN Meta Spec based on
+change logs, repository commit messages and the published HTML files.
+In some cases, particularly prior to version 1.2, the exact version
+when certain fields were introduced or changed is inconsistent between
+sources. When in doubt, the published HTML files for versions 1.0 to
+1.4 as they existed when version 2 was developed are used as the
+definitive source.
+
+Starting with version 2, the specification document is part of the
+CPAN-Meta distribution and will be published on CPAN as
+L<CPAN::Meta::Spec>.
+
+Going forward, specification version numbers will be integers and
+decimal portions will correspond to a release date for the CPAN::Meta
+library.
+
+=head1 HISTORY
+
+=head2 Version 2
+
+April 2010
+
+=over
+
+=item *
+
+Revised spec examples as perl data structures rather than YAML
+
+=item *
+
+Switched to JSON serialization from YAML
+
+=item *
+
+Specified allowed version number formats
+
+=item *
+
+Replaced 'requires', 'build_requires', 'configure_requires',
+'recommends' and 'conflicts' with new 'prereqs' data structure divided
+by I<phase> (configure, build, test, runtime, etc.) and I<relationship>
+(requires, recommends, suggests, conflicts)
+
+=item *
+
+Added support for 'develop' phase for requirements for maintaining
+a list of authoring tools
+
+=item *
+
+Changed 'license' to a list and revised the set of valid licenses
+
+=item *
+
+Made 'dynamic_config' mandatory to reduce confusion
+
+=item *
+
+Changed 'resources' subkey 'repository' to a hash that clarifies
+repository type, url for browsing and url for checkout
+
+=item *
+
+Changed 'resources' subkey 'bugtracker' to a hash for either web
+or mailto resource
+
+=item *
+
+Changed specification of 'optional_features':
+
+=over
+
+=item *
+
+Added formal specification and usage guide instead of just example
+
+=item *
+
+Changed to use new prereqs data structure instead of individual keys
+
+=back
+
+=item *
+
+Clarified intended use of 'author' as generalized contact list
+
+=item *
+
+Added 'release_status' field to indicate stable, testing or unstable
+status to provide hints to indexers
+
+=item *
+
+Added 'description' field for a longer description of the distribution
+
+=item *
+
+Formalized use of "x_" or "X_" for all custom keys not listed in the
+official spec
+
+=back
+
+=head2 Version 1.4
+
+June 2008
+
+=over
+
+=item *
+
+Noted explicit support for 'perl' in prerequisites
+
+=item *
+
+Added 'configure_requires' prerequisite type
+
+=item *
+
+Changed 'optional_features'
+
+=over
+
+=item *
+
+Example corrected to show map of maps instead of list of maps
+(though descriptive text said 'map' even in v1.3)
+
+=item *
+
+Removed 'requires_packages', 'requires_os' and 'excluded_os'
+as valid subkeys
+
+=back
+
+=back
+
+=head2 Version 1.3
+
+November 2006
+
+=over
+
+=item *
+
+Clarified that all prerequisites take version range specifications
+
+=item *
+
+Added 'no_index' subkey 'directory' and removed 'dir' to match actual
+usage in the wild
+
+=item *
+
+Added a 'repository' subkey to 'resources'
+
+=back
+
+=head2 Version 1.2
+
+August 2005
+
+=over
+
+=item *
+
+Re-wrote and restructured spec in POD syntax
+
+=item *
+
+Changed 'name' to be mandatory
+
+=item *
+
+Changed 'generated_by' to be mandatory
+
+=item *
+
+Changed 'license' to be mandatory
+
+=item *
+
+Added required 'abstract' field
+
+=item *
+
+Added required 'author' field
+
+=item *
+
+Added required 'meta-spec' field to define 'version' (and 'url') of the
+CPAN Meta Spec used for metadata
+
+=item *
+
+Added 'provides' field
+
+=item *
+
+Added 'no_index' field and deprecated 'private' field. 'no_index'
+subkeys include 'file', 'dir', 'package' and 'namespace'
+
+=item *
+
+Added 'keywords' field
+
+=item *
+
+Added 'resources' field with subkeys 'homepage', 'license', and
+'bugtracker'
+
+=item *
+
+Added 'optional_features' field as an alterate under 'recommends'.
+Includes 'description', 'requires', 'build_requires', 'conflicts',
+'requires_packages', 'requires_os' and 'excluded_os' as valid subkeys
+
+=item *
+
+Removed 'license_uri' field
+
+=back
+
+=head2 Version 1.1
+
+May 2003
+
+=over
+
+=item *
+
+Changed 'version' to be mandatory
+
+=item *
+
+Added 'private' field
+
+=item *
+
+Added 'license_uri' field
+
+=back
+
+=head2 Version 1.0
+
+March 2003
+
+=over
+
+=item *
+
+Original release (in HTML format only)
+
+=item *
+
+Included 'name', 'version', 'license', 'distribution_type', 'requires',
+'recommends', 'build_requires', 'conflicts', 'dynamic_config',
+'generated_by'
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
new file mode 100644
index 00000000000..4fc20939abd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
@@ -0,0 +1,277 @@
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta::Prereqs;
+BEGIN {
+ $CPAN::Meta::Prereqs::VERSION = '2.110440';
+}
+# ABSTRACT: a set of distribution prerequisites by phase and type
+
+
+use Carp qw(confess);
+use Scalar::Util qw(blessed);
+use Version::Requirements 0.101020; # finalize
+
+
+sub __legal_phases { qw(configure build test runtime develop) }
+sub __legal_types { qw(requires recommends suggests conflicts) }
+
+# expect a prereq spec from META.json -- rjbs, 2010-04-11
+sub new {
+ my ($class, $prereq_spec) = @_;
+ $prereq_spec ||= {};
+
+ my %is_legal_phase = map {; $_ => 1 } $class->__legal_phases;
+ my %is_legal_type = map {; $_ => 1 } $class->__legal_types;
+
+ my %guts;
+ PHASE: for my $phase (keys %$prereq_spec) {
+ next PHASE unless $phase =~ /\Ax_/i or $is_legal_phase{$phase};
+
+ my $phase_spec = $prereq_spec->{ $phase };
+ next PHASE unless keys %$phase_spec;
+
+ TYPE: for my $type (keys %$phase_spec) {
+ next TYPE unless $type =~ /\Ax_/i or $is_legal_type{$type};
+
+ my $spec = $phase_spec->{ $type };
+
+ next TYPE unless keys %$spec;
+
+ $guts{prereqs}{$phase}{$type} = Version::Requirements->from_string_hash(
+ $spec
+ );
+ }
+ }
+
+ return bless \%guts => $class;
+}
+
+
+sub requirements_for {
+ my ($self, $phase, $type) = @_;
+
+ confess "requirements_for called without phase" unless defined $phase;
+ confess "requirements_for called without type" unless defined $type;
+
+ unless ($phase =~ /\Ax_/i or grep { $phase eq $_ } $self->__legal_phases) {
+ confess "requested requirements for unknown phase: $phase";
+ }
+
+ unless ($type =~ /\Ax_/i or grep { $type eq $_ } $self->__legal_types) {
+ confess "requested requirements for unknown type: $type";
+ }
+
+ my $req = ($self->{prereqs}{$phase}{$type} ||= Version::Requirements->new);
+
+ $req->finalize if $self->is_finalized;
+
+ return $req;
+}
+
+
+sub with_merged_prereqs {
+ my ($self, $other) = @_;
+
+ my @other = blessed($other) ? $other : @$other;
+
+ my @prereq_objs = ($self, @other);
+
+ my %new_arg;
+
+ for my $phase ($self->__legal_phases) {
+ for my $type ($self->__legal_types) {
+ my $req = Version::Requirements->new;
+
+ for my $prereq (@prereq_objs) {
+ my $this_req = $prereq->requirements_for($phase, $type);
+ next unless $this_req->required_modules;
+
+ $req->add_requirements($this_req);
+ }
+
+ next unless $req->required_modules;
+
+ $new_arg{ $phase }{ $type } = $req->as_string_hash;
+ }
+ }
+
+ return (ref $self)->new(\%new_arg);
+}
+
+
+sub as_string_hash {
+ my ($self) = @_;
+
+ my %hash;
+
+ for my $phase ($self->__legal_phases) {
+ for my $type ($self->__legal_types) {
+ my $req = $self->requirements_for($phase, $type);
+ next unless $req->required_modules;
+
+ $hash{ $phase }{ $type } = $req->as_string_hash;
+ }
+ }
+
+ return \%hash;
+}
+
+
+sub is_finalized { $_[0]{finalized} }
+
+
+sub finalize {
+ my ($self) = @_;
+
+ $self->{finalized} = 1;
+
+ for my $phase (keys %{ $self->{prereqs} }) {
+ $_->finalize for values %{ $self->{prereqs}{$phase} };
+ }
+}
+
+
+sub clone {
+ my ($self) = @_;
+
+ my $clone = (ref $self)->new( $self->as_string_hash );
+}
+
+1;
+
+
+
+=pod
+
+=head1 NAME
+
+CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 DESCRIPTION
+
+A CPAN::Meta::Prereqs object represents the prerequisites for a CPAN
+distribution or one of its optional features. Each set of prereqs is
+organized by phase and type, as described in L<CPAN::Meta::Prereqs>.
+
+=head1 METHODS
+
+=head2 new
+
+ my $prereq = CPAN::Meta::Prereqs->new( \%prereq_spec );
+
+This method returns a new set of Prereqs. The input should look like the
+contents of the C<prereqs> field described in L<CPAN::Meta::Spec>, meaning
+something more or less like this:
+
+ my $prereq = CPAN::Meta::Prereqs->new({
+ runtime => {
+ requires => {
+ 'Some::Module' => '1.234',
+ ...,
+ },
+ ...,
+ },
+ ...,
+ });
+
+You can also construct an empty set of prereqs with:
+
+ my $prereqs = CPAN::Meta::Prereqs->new;
+
+This empty set of prereqs is useful for accumulating new prereqs before finally
+dumping the whole set into a structure or string.
+
+=head2 requirements_for
+
+ my $requirements = $prereqs->requirements_for( $phase, $type );
+
+This method returns a L<Version::Requirements> object for the given phase/type
+combination. If no prerequisites are registered for that combination, a new
+Version::Requirements object will be returned, and it may be added to as
+needed.
+
+If C<$phase> or C<$type> are undefined or otherwise invalid, an exception will
+be raised.
+
+=head2 with_merged_prereqs
+
+ my $new_prereqs = $prereqs->with_merged_prereqs( $other_prereqs );
+
+ my $new_prereqs = $prereqs->with_merged_prereqs( \@other_prereqs );
+
+This method returns a new CPAN::Meta::Prereqs objects in which all the
+other prerequisites given are merged into the current set. This is primarily
+provided for combining a distribution's core prereqs with the prereqs of one of
+its optional features.
+
+The new prereqs object has no ties to the originals, and altering it further
+will not alter them.
+
+=head2 as_string_hash
+
+This method returns a hashref containing structures suitable for dumping into a
+distmeta data structure. It is made up of hashes and strings, only; there will
+be no Prereqs, Version::Requirements, or C<version> objects inside it.
+
+=head2 is_finalized
+
+This method returns true if the set of prereqs has been marked "finalized," and
+cannot be altered.
+
+=head2 finalize
+
+Calling C<finalize> on a Prereqs object will close it for further modification.
+Attempting to make any changes that would actually alter the prereqs will
+result in an exception being thrown.
+
+=head2 clone
+
+ my $cloned_prereqs = $prereqs->clone;
+
+This method returns a Prereqs object that is identical to the original object,
+but can be altered without affecting the original object. Finalization does
+not survive cloning, meaning that you may clone a finalized set of prereqs and
+then modify the clone.
+
+=head1 BUGS
+
+Please report any bugs or feature using the CPAN Request Tracker.
+Bugs can be submitted through the web interface at
+L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
+
+When submitting a bug or request, please include a test-file or a patch to an
+existing test-file that illustrates the bug or desired feature.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
new file mode 100644
index 00000000000..8f94c718cb4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
@@ -0,0 +1,1145 @@
+# vi:tw=72
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta::Spec;
+BEGIN {
+ $CPAN::Meta::Spec::VERSION = '2.110440';
+}
+# ABSTRACT: specification for CPAN distribution metadata
+1;
+
+
+
+__END__
+=pod
+
+=head1 NAME
+
+CPAN::Meta::Spec - specification for CPAN distribution metadata
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 SYNOPSIS
+
+ my $distmeta = {
+ name => 'Module-Build',
+ abstract => 'Build and install Perl modules',
+ description => "Module::Build is a system for "
+ . "building, testing, and installing Perl modules. "
+ . "It is meant to ... blah blah blah ...",
+ version => '0.36',
+ author => [
+ 'Ken Williams <kwilliams@cpan.org>',
+ 'Module-Build List <module-build@perl.org>', # additional contact
+ ],
+ license => [ 'perl_5' ],
+ prereqs => {
+ runtime => {
+ requires => {
+ 'perl' => '5.006',
+ 'ExtUtils::Install' => '0',
+ 'File::Basename' => '0',
+ 'File::Compare' => '0',
+ 'IO::File' => '0',
+ },
+ recommends => {
+ 'Archive::Tar' => '1.00',
+ 'ExtUtils::Install' => '0.3',
+ 'ExtUtils::ParseXS' => '2.02',
+ },
+ },
+ build => {
+ requires => {
+ 'Test::More' => '0',
+ },
+ }
+ },
+ resources => {
+ license => ['http://dev.perl.org/licenses/'],
+ },
+ optional_features => {
+ domination => {
+ description => 'Take over the world',
+ prereqs => {
+ develop => { requires => { 'Genius::Evil' => '1.234' } },
+ runtime => { requires => { 'Machine::Weather' => '2.0' } },
+ },
+ },
+ },
+ dynamic_config => 1,
+ keywords => [ qw/ toolchain cpan dual-life / ],
+ 'meta-spec' => {
+ version => '2',
+ url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ },
+ generated_by => 'Module::Build version 0.36',
+ };
+
+=head1 DESCRIPTION
+
+This document describes version 2 of the CPAN distribution metadata
+specification, also known as the "CPAN Meta Spec".
+
+Revisions of this specification for typo corrections and prose
+clarifications may be issued as CPAN::Meta::Spec 2.I<x>. These
+revisions will never change semantics or add or remove specified
+behavior.
+
+Distribution metadata describe important properties of Perl
+distributions. Distribution building tools like Module::Build,
+Module::Install, ExtUtils::MakeMaker or Dist::Zilla should create a
+metadata file in accordance with this specification and include it with
+the distribution for use by automated tools that index, examine, package
+or install Perl distributions.
+
+=head1 TERMINOLOGY
+
+=over 4
+
+=item distribution
+
+This is the primary object described by the metadata. In the context of
+this document it usually refers to a collection of modules, scripts,
+and/or documents that are distributed together for other developers to
+use. Examples of distributions are C<Class-Container>, C<libwww-perl>,
+or C<DBI>.
+
+=item module
+
+This refers to a reusable library of code contained in a single file.
+Modules usually contain one or more packages and are often referred
+to by the name of a primary package that can be mapped to the file
+name. For example, one might refer to C<File::Spec> instead of
+F<File/Spec.pm>
+
+=item package
+
+This refers to a namespace declared with the Perl C<package> statement.
+In Perl, packages often have a version number property given by the
+C<$VERSION> variable in the namespace.
+
+=item consumer
+
+This refers to code that reads a metadata file, deserializes it into a
+data structure in memory, or interprets a data structure of metadata
+elements.
+
+=item producer
+
+This refers to code that constructs a metadata data structure,
+serializes into a bytestream and/or writes it to disk.
+
+=item must, should, may, etc.
+
+These terms are interpreted as described in IETF RFC 2119.
+
+=back
+
+=head1 DATA TYPES
+
+Fields in the L</STRUCTURE> section describe data elements, each of
+which has an associated data type as described herein. There are four
+primitive types: Boolean, String, List and Map. Other types are
+subtypes of primitives and define compound data structures or define
+constraints on the values of a data element.
+
+=head2 Boolean
+
+A I<Boolean> is used to provide a true or false value. It B<must> be
+represented as a defined value.
+
+=head2 String
+
+A I<String> is data element containing a non-zero length sequence of
+Unicode characters, such as an ordinary Perl scalar that is not a
+reference.
+
+=head2 List
+
+A I<List> is an ordered collection of zero or more data elements.
+Elements of a List may be of mixed types.
+
+Producers B<must> represent List elements using a data structure which
+unambiguously indicates that multiple values are possible, such as a
+reference to a Perl array (an "arrayref").
+
+Consumers expecting a List B<must> consider a String as equivalent to a
+List of length 1.
+
+=head2 Map
+
+A I<Map> is an unordered collection of zero or more data elements
+("values"), indexed by associated String elements ("keys"). The Map's
+value elements may be of mixed types.
+
+=head2 License String
+
+A I<License String> is a subtype of String with a restricted set of
+values. Valid values are described in detail in the description of
+the L</license> field.
+
+=head2 URL
+
+I<URL> is a subtype of String containing a Uniform Resource Locator or
+Identifier. [ This type is called URL and not URI for historical reasons. ]
+
+=head2 Version
+
+A I<Version> is a subtype of String containing a value that describes
+the version number of packages or distributions. Restrictions on format
+are described in detail in the L</Version Formats> section.
+
+=head2 Version Range
+
+The I<Version Range> type is a subtype of String. It describes a range
+of Versions that may be present or installed to fulfill prerequisites.
+It is specified in detail in the L</Version Ranges> section.
+
+=head1 STRUCTURE
+
+The metadata structure is a data element of type Map. This section
+describes valid keys within the Map.
+
+Any keys not described in this specification document (whether top-level
+or within compound data structures described herein) are considered
+I<custom keys> and B<must> begin with an "x" or "X" and be followed by an
+underscore; i.e. they must match the pattern: C<< qr{\Ax_}i >>. If a
+custom key refers to a compound data structure, subkeys within it do not
+need an "x_" or "X_" prefix.
+
+Consumers of metadata may ignore any or all custom keys. All other keys
+not described herein are invalid and should be ignored by consumers.
+Producers must not generate or output invalid keys.
+
+For each key, an example is provided followed by a description. The
+description begins with the version of spec in which the key was added
+or in which the definition was modified, whether the key is I<required>
+or I<optional> and the data type of the corresponding data element.
+These items are in parentheses, brackets and braces, respectively.
+
+If a data type is a Map or Map subtype, valid subkeys will be described
+as well.
+
+Some fields are marked I<Deprecated>. These are shown for historical
+context and must not be produced in or consumed from any metadata structure
+of version 2 or higher.
+
+=head2 REQUIRED FIELDS
+
+=head3 abstract
+
+Example:
+
+ abstract => 'Build and install Perl modules'
+
+(Spec 1.2) [required] {String}
+
+This is a short description of the purpose of the distribution.
+
+=head3 author
+
+Example:
+
+ author => [ 'Ken Williams <kwilliams@cpan.org>' ]
+
+(Spec 1.2) [required] {List of one or more Strings}
+
+This List indicates the person(s) to contact concerning the
+distribution. The preferred form of the contact string is:
+
+ contact-name <email-address>
+
+This field provides a general contact list independent of other
+structured fields provided within the L</resources> field, such as
+C<bugtracker>. The addressee(s) can be contacted for any purpose
+including but not limited to (security) problems with the distribution,
+questions about the distribution or bugs in the distribution.
+
+A distribution's original author is usually the contact listed within
+this field. Co-maintainers, successor maintainers or mailing lists
+devoted to the distribution may also be listed in addition to or instead
+of the original author.
+
+=head3 dynamic_config
+
+Example:
+
+ dynamic_config => 1
+
+(Spec 2) [required] {Boolean}
+
+A boolean flag indicating whether a F<Build.PL> or F<Makefile.PL> (or
+similar) must be executed to determine prerequisites.
+
+This field should be set to a true value if the distribution performs
+some dynamic configuration (asking questions, sensing the environment,
+etc.) as part of its configuration. This field should be set to a false
+value to indicate that prerequisites included in metadata may be
+considered final and valid for static analysis.
+
+This field explicitly B<does not> indicate whether installation may be
+safely performed without using a Makefile or Build file, as there may be
+special files to install or custom installation targets (e.g. for
+dual-life modules that exist on CPAN as well as in the Perl core). This
+field only defines whether prerequisites are complete as given in the
+metadata.
+
+=head3 generated_by
+
+Example:
+
+ generated_by => 'Module::Build version 0.36'
+
+(Spec 1.0) [required] {String}
+
+This field indicates the tool that was used to create this metadata.
+There are no defined semantics for this field, but it is traditional to
+use a string in the form "Generating::Package version 1.23" or the
+author's name, if the file was generated by hand.
+
+=head3 license
+
+Example:
+
+ license => [ 'perl_5' ]
+
+ license => [ 'apache_2', 'mozilla_1_0' ]
+
+(Spec 2) [required] {List of one or more License Strings}
+
+One or more licenses that apply to some or all of the files in the
+distribution. If multiple licenses are listed, the distribution
+documentation should be consulted to clarify the interpretation of
+multiple licenses.
+
+The following list of license strings are valid:
+
+ string description
+ ------------- -----------------------------------------------
+ agpl_3 GNU Affero General Public License, Version 3
+ apache_1_1 Apache Software License, Version 1.1
+ apache_2_0 Apache License, Version 2.0
+ artistic_1 Artistic License, (Version 1)
+ artistic_2 Artistic License, Version 2.0
+ bsd BSD License (three-clause)
+ freebsd FreeBSD License (two-clause)
+ gfdl_1_2 GNU Free Documentation License, Version 1.2
+ gfdl_1_3 GNU Free Documentation License, Version 1.3
+ gpl_1 GNU General Public License, Version 1
+ gpl_2 GNU General Public License, Version 2
+ gpl_3 GNU General Public License, Version 3
+ lgpl_2_1 GNU Lesser General Public License, Version 2.1
+ lgpl_3_0 GNU Lesser General Public License, Version 3.0
+ mit MIT (aka X11) License
+ mozilla_1_0 Mozilla Public License, Version 1.0
+ mozilla_1_1 Mozilla Public License, Version 1.1
+ openssl OpenSSL License
+ perl_5 The Perl 5 License (Artistic 1 & GPL 1 or later)
+ qpl_1_0 Q Public License, Version 1.0
+ ssleay Original SSLeay License
+ sun Sun Internet Standards Source License (SISSL)
+ zlib zlib License
+
+The following license strings are also valid and indicate other
+licensing not described above:
+
+ string description
+ ------------- -----------------------------------------------
+ open_source Other Open Source Initiative (OSI) approved license
+ restricted Requires special permission from copyright holder
+ unrestricted Not an OSI approved license, but not restricted
+ unknown License not provided in metadata
+
+All other strings are invalid in the license field.
+
+=head3 meta-spec
+
+Example:
+
+ 'meta-spec' => {
+ version => '2',
+ url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ }
+
+(Spec 1.2) [required] {Map}
+
+This field indicates the version of the CPAN Meta Spec that should be
+used to interpret the metadata. Consumers must check this key as soon
+as possible and abort further metadata processing if the meta-spec
+version is not supported by the consumer.
+
+The following keys are valid, but only C<version> is required.
+
+=over
+
+=item version
+
+This subkey gives the integer I<Version> of the CPAN Meta Spec against
+which the document was generated.
+
+=item url
+
+This is a I<URL> of the metadata specification document corresponding to
+the given version. This is strictly for human-consumption and should
+not impact the interpretation of the document.
+
+=back
+
+=head3 name
+
+Example:
+
+ name => 'Module-Build'
+
+(Spec 1.0) [required] {String}
+
+This field is the name of the distribution. This is often created by
+taking the "main package" in the distribution and changing C<::> to
+C<->, but the name may be completely unrelated to the packages within
+the distribution. C.f. L<http://search.cpan.org/dist/libwww-perl/>.
+
+=head3 release_status
+
+Example:
+
+ release_status => 'stable'
+
+(Spec 2) [required] {String}
+
+This field provides the release status of this distribution. If the
+C<version> field contains an underscore character, then
+C<release_status> B<must not> be "stable."
+
+The C<release_status> field B<must> have one of the following values:
+
+=over
+
+=item stable
+
+This indicates an ordinary, "final" release that should be indexed by PAUSE
+or other indexers.
+
+=item testing
+
+This indicates a "beta" release that is substantially complete, but has an
+elevated risk of bugs and requires additional testing. The distribution
+should not be installed over a stable release without an explicit request
+or other confirmation from a user. This release status may also be used
+for "release candidate" versions of a distribution.
+
+=item unstable
+
+This indicates an "alpha" release that is under active development, but has
+been released for early feedback or testing and may be missing features or
+may have serious bugs. The distribution should not be installed over a
+stable release without an explicit request or other confirmation from a
+user.
+
+=back
+
+Consumers B<may> use this field to determine how to index the
+distribution for CPAN or other repositories in addition to or in
+replacement of heuristics based on version number or file name.
+
+=head3 version
+
+Example:
+
+ version => '0.36'
+
+(Spec 1.0) [required] {Version}
+
+This field gives the version of the distribution to which the metadata
+structure refers.
+
+=head2 OPTIONAL FIELDS
+
+=head3 description
+
+Example:
+
+ description => "Module::Build is a system for "
+ . "building, testing, and installing Perl modules. "
+ . "It is meant to ... blah blah blah ...",
+
+(Spec 2) [optional] {String}
+
+A longer, more complete description of the purpose or intended use of
+the distribution than the one provided by the C<abstract> key.
+
+=head3 keywords
+
+Example:
+
+ keywords => [ qw/ toolchain cpan dual-life / ]
+
+(Spec 1.1) [optional] {List of zero or more Strings}
+
+A List of keywords that describe this distribution. Keywords
+B<must not> include whitespace.
+
+=head3 no_index
+
+Example:
+
+ no_index => {
+ file => [ 'My/Module.pm' ],
+ directory => [ 'My/Private' ],
+ package => [ 'My::Module::Secret' ],
+ namespace => [ 'My::Module::Sample' ],
+ }
+
+(Spec 1.2) [optional] {Map}
+
+This Map describes any files, directories, packages, and namespaces that
+are private to the packaging or implementation of the distribution and
+should be ignored by indexing or search tools.
+
+Valid subkeys are as follows:
+
+=over
+
+=item file
+
+A I<List> of relative paths to files. Paths B<must be> specified with
+unix convetions.
+
+=item directory
+
+A I<List> of relative paths to directories. Paths B<must be> specified
+with unix convetions.
+
+[ Note: previous editions of the spec had C<dir> instead of C<directory> ]
+
+=item package
+
+A I<List> of package names.
+
+=item namespace
+
+A I<List> of package namespaces, where anything below the namespace
+must be ignored, but I<not> the namespace itself.
+
+In the example above for C<no_index>, C<My::Module::Sample::Foo> would
+be ignored, but C<My::Module::Sample> would not.
+
+=back
+
+=head3 optional_features
+
+Example:
+
+ optional_features => {
+ sqlite => {
+ description => 'Provides SQLite support',
+ prereqs => {
+ runtime => {
+ requires => {
+ 'DBD::SQLite' => '1.25'
+ }
+ }
+ }
+ }
+ }
+
+(Spec 2) [optional] {Map}
+
+This Map describes optional features with incremental prerequisites.
+Each key of the C<optional_features> Map is a String used to identify
+the feature and each value is a Map with additional information about
+the feature. Valid subkeys include:
+
+=over
+
+=item description
+
+This is a String describing the feature. Every optional feature
+should provide a description
+
+=item prereqs
+
+This entry is required and has the same structure as that of the
+C<L</prereqs>> key. It provides a list of package requirements
+that must be satisfied for the feature to be supported or enabled.
+
+There is one crucial restriction: the preqreqs of an optional feature
+B<must not> include C<configure> phase prereqs.
+
+=back
+
+Consumers B<must not> include optional features as prerequisites without
+explict instruction from users (whether via interactive prompting,
+a function parameter or a configuration value, etc. ).
+
+If an optional feature is used by a consumer to add additional
+prerequisites, the consumer should merge the optional feature
+prerequisites into those given by the C<prereqs> key using the same
+semantics. See L</Merging and Resolving Prerequisites> for details on
+merging prerequisites.
+
+I<Suggestion for disuse:> Because there is currently no way for a
+distribution to specify a dependency on an optional feature of another
+dependency, the use of C<optional_feature> is discouraged. Instead,
+create a separate, installable distribution that ensures the desired
+feature is available. For example, if C<Foo::Bar> has a "Baz" feature,
+release a separate C<Foo-Bar-Baz> distribution that satisfies
+requirements for the feature.
+
+=head3 prereqs
+
+Example:
+
+ prereqs => {
+ runtime => {
+ requires => {
+ 'perl' => '5.006',
+ 'File::Spec' => '0.86',
+ 'JSON' => '2.16',
+ },
+ recommends => {
+ 'JSON::XS' => '2.26',
+ },
+ suggests => {
+ 'Archive::Tar' => '0',
+ },
+ },
+ build => {
+ requires => {
+ 'Alien::SDL' => '1.00',
+ },
+ },
+ test => {
+ recommends => {
+ 'Test::Deep' => '0.10',
+ },
+ }
+ }
+
+(Spec 2) [optional] {Map}
+
+This is a Map that describes all the prerequisites of the distribution.
+The keys are phases of activity, such as C<configure>, C<build>, C<test>
+or C<runtime>. Values are Maps in which the keys name the type of
+prerequisite relationship such as C<requires>, C<recommends>, or
+C<suggests> and the value provides a set of prerequisite relations. The
+set of relations B<must> be specified as a Map of package names to
+version ranges.
+
+The full definition for this field is given in the L</Prereq Spec>
+section.
+
+=head3 provides
+
+Example:
+
+ provides => {
+ 'Foo::Bar' => {
+ file => 'lib/Foo/Bar.pm',
+ version => 0.27_02
+ },
+ 'Foo::Bar::Blah' => {
+ file => 'lib/Foo/Bar/Blah.pm',
+ },
+ 'Foo::Bar::Baz' => {
+ file => 'lib/Foo/Bar/Baz.pm',
+ version => 0.3,
+ },
+ }
+
+(Spec 1.2) [optional] {Map}
+
+This describes all packages provided by this distribution. This
+information is used by distribution and automation mechanisms like
+PAUSE, CPAN, and search.cpan.org to build indexes saying in which
+distribution various packages can be found.
+
+The keys of C<provides> are package names that can be found within
+the distribution. The values are Maps with the following valid subkeys:
+
+=over
+
+=item file
+
+This field is required. The value must contain a relative file path
+from the root of the distribution to the module containing the package.
+
+=item version
+
+This field contains a I<Version> String for the package, if one exists.
+
+=back
+
+=head3 resources
+
+Example:
+
+ resources => {
+ license => [ 'http://dev.perl.org/licenses/' ],
+ homepage => 'http://sourceforge.net/projects/module-build',
+ bugtracker => {
+ web => 'http://github.com/dagolden/cpan-meta-spec/issues',
+ mailto => 'meta-bugs@example.com',
+ },
+ repository => {
+ url => 'git://github.com/dagolden/cpan-meta-spec.git',
+ web => 'http://github.com/dagolden/cpan-meta-spec',
+ type => 'git',
+ },
+ x_twitter => 'http://twitter.com/cpan_linked/',
+ }
+
+(Spec 2) [optional] {Map}
+
+This field describes resources related to this distribution.
+
+Valid subkeys include:
+
+=over
+
+=item homepage
+
+The official home of this project on the web.
+
+=item license
+
+A List of I<URL>'s that relate to this distribution's license. As with the
+top-level C<license> field, distribution documentation should be consulted
+to clarify the interpretation of multiple licenses provided here.
+
+=item bugtracker
+
+This entry describes the bug tracking system for this distribution. It
+is a Map with the following valid keys:
+
+ web - a URL pointing to a web front-end for the bug tracker
+ mailto - an email address to which bugs can be sent
+
+=item repository
+
+This entry describes the source control repository for this distribution. It
+is a Map with the following valid keys:
+
+ url - a URL pointing to the repository itself
+ web - a URL pointing to a web front-end for the repository
+ type - a lowercase string indicating the VCS used
+
+Because a url like C<http://myrepo.example.com/> is ambiguous as to
+type, producers should provide a C<type> whenever a C<url> key is given.
+The C<type> field should be the name of the most common program used
+to work with the repository, e.g. git, svn, cvs, darcs, bzr or hg.
+
+=back
+
+=head2 DEPRECATED FIELDS
+
+=head3 build_requires
+
+I<(Deprecated in Spec 2)> [optional] {String}
+
+Replaced by C<prereqs>
+
+=head3 configure_requires
+
+I<(Deprecated in Spec 2)> [optional] {String}
+
+Replaced by C<prereqs>
+
+=head3 conflicts
+
+I<(Deprecated in Spec 2)> [optional] {String}
+
+Replaced by C<prereqs>
+
+=head3 distribution_type
+
+I<(Deprecated in Spec 2)> [optional] {String}
+
+This field indicated 'module' or 'script' but was considered
+meaningless, since many distributions are hybrids of several kinds of
+things.
+
+=head3 license_uri
+
+I<(Deprecated in Spec 1.2)> [optional] {URL}
+
+Replaced by C<license> in C<resources>
+
+=head3 private
+
+I<(Deprecated in Spec 1.2)> [optional] {Map}
+
+This field has been renamed to L</"no_index">.
+
+=head3 recommends
+
+I<(Deprecated in Spec 2)> [optional] {String}
+
+Replaced by C<prereqs>
+
+=head3 requires
+
+I<(Deprecated in Spec 2)> [optional] {String}
+
+Replaced by C<prereqs>
+
+=head1 VERSION NUMBERS
+
+=head2 Version Formats
+
+This section defines the Version type, used by several fields in the
+CPAN Meta Spec.
+
+Version numbers must be treated as strings, not numbers. For
+example, C<1.200> B<must not> be serialized as C<1.2>. Version
+comparison should be delegated to the Perl L<version> module, version
+0.80 or newer.
+
+Unless otherwise specified, version numbers B<must> appear in one of two
+formats:
+
+=over
+
+=item Decimal versions
+
+Decimal versions are regular "decimal numbers", with some limitations.
+They B<must> be non-negative and B<must> begin and end with a digit. A
+single underscore B<may> be included, but B<must> be between two digits.
+They B<must not> use exponential notation ("1.23e-2").
+
+ version => '1.234' # OK
+ version => '1.23_04' # OK
+
+ version => '1.23_04_05' # Illegal
+ version => '1.' # Illegal
+ version => '.1' # Illegal
+
+=item Dotted-integer versions
+
+Dotted-integer (also known as dotted-decimal) versions consist of
+positive integers separated by full stop characters (i.e. "dots",
+"periods" or "decimal points"). This are equivalent in format to Perl
+"v-strings", with some additional restrictions on form. They must be
+given in "normal" form, which has a leading "v" character and at least
+three integer components. To retain a one-to-one mapping with decimal
+versions, all components after the first B<should> be restricted to the
+range 0 to 999. The final component B<may> be separated by an
+underscore character instead of a period.
+
+ version => 'v1.2.3' # OK
+ version => 'v1.2_3' # OK
+ version => 'v1.2.3.4' # OK
+ version => 'v1.2.3_4' # OK
+ version => 'v2009.10.31' # OK
+
+ version => 'v1.2' # Illegal
+ version => '1.2.3' # Illegal
+ version => 'v1.2_3_4' # Illegal
+ version => 'v1.2009.10.31' # Not recommended
+
+=back
+
+=head2 Version Ranges
+
+Some fields (prereq, optional_features) indicate the particular
+version(s) of some other module that may be required as a prerequisite.
+This section details the Version Range type used to provide this
+information.
+
+The simplest format for a Version Range is just the version
+number itself, e.g. C<2.4>. This means that B<at least> version 2.4
+must be present. To indicate that B<any> version of a prerequisite is
+okay, even if the prerequisite doesn't define a version at all, use
+the version C<0>.
+
+Alternatively, a version range B<may> use the operators E<lt> (less than),
+E<lt>= (less than or equal), E<gt> (greater than), E<gt>= (greater than
+or equal), == (equal), and != (not equal). For example, the
+specification C<E<lt> 2.0> means that any version of the prerequisite
+less than 2.0 is suitable.
+
+For more complicated situations, version specifications B<may> be AND-ed
+together using commas. The specification C<E<gt>= 1.2, != 1.5, E<lt>
+2.0> indicates a version that must be B<at least> 1.2, B<less than> 2.0,
+and B<not equal to> 1.5.
+
+=head1 PREREQUISITES
+
+=head2 Prereq Spec
+
+The C<prereqs> key in the top-level metadata and within
+C<optional_features> define the relationship between a distribution and
+other packages. The prereq spec structure is a hierarchical data
+structure which divides prerequisites into I<Phases> of activity in the
+installation process and I<Relationships> that indicate how
+prerequisites should be resolved.
+
+For example, to specify that C<Data::Dumper> is C<required> during the
+C<test> phase, this entry would appear in the distribution metadata:
+
+ prereqs => {
+ test => {
+ requires => {
+ 'Data::Dumper' => '2.00'
+ }
+ }
+ }
+
+=head3 Phases
+
+Requirements for regular use must be listed in the C<runtime> phase.
+Other requirements should be listed in the earliest stage in which they
+are required and consumers must accumulate and satisfy requirements
+across phases before executing the activity. For example, C<build>
+requirements must also be available during the C<test> phase.
+
+ before action requirements that must be met
+ ---------------- --------------------------------
+ perl Build.PL configure
+ perl Makefile.PL
+
+ make configure, runtime, build
+ Build
+
+ make test configure, runtime, build, test
+ Build test
+
+Consumers that install the distribution must ensure that
+I<runtime> requirements are also installed and may install
+dependencies from other phases.
+
+ after action requirements that must be met
+ ---------------- --------------------------------
+ make install runtime
+ Build install
+
+=over
+
+=item configure
+
+The configure phase occurs before any dynamic configuration has been
+attempted. Libraries required by the configure phase B<must> be
+available for use before the distribution building tool has been
+executed.
+
+=item build
+
+The build phase is when the distribution's source code is compiled (if
+necessary) and otherwise made ready for installation.
+
+=item test
+
+The test phase is when the distribution's automated test suite is run.
+Any library that is needed only for testing and not for subsequent use
+should be listed here.
+
+=item runtime
+
+The runtime phase refers not only to when the distribution's contents
+are installed, but also to its continued use. Any library that is a
+prerequisite for regular use of this distribution should be indicated
+here.
+
+=item develop
+
+The develop phase's prereqs are libraries needed to work on the
+distribution's source code as its author does. These tools might be
+needed to build a release tarball, to run author-only tests, or to
+perform other tasks related to developing new versions of the
+distribution.
+
+=back
+
+=head3 Relationships
+
+=over
+
+=item requires
+
+These dependencies B<must> be installed for proper completion of the
+phase.
+
+=item recommends
+
+Recommended dependencies are I<strongly> encouraged and should be
+satisfied except in resource constrained environments.
+
+=item suggests
+
+These dependencies are optional, but are suggested for enhanced operation
+of the described distribution.
+
+=item conflicts
+
+These libraries cannot be installed when the phase is in operation.
+This is a very rare situation, and the C<conflicts> relationship should
+be used with great caution, or not at all.
+
+=back
+
+=head2 Merging and Resolving Prerequisites
+
+Whenever metadata consumers merge prerequisites, either from different
+phases or from C<optional_features>, they should merged in a way which
+preserves the intended semantics of the prerequisite structure. Generally,
+this means concatenating the version specifications using commas, as
+described in the L<Version Ranges> section.
+
+Another subtle error that can occur in resolving prerequisites comes from
+the way that modules in prerequisites are indexed to distribution files on
+CPAN. When a module is deleted from a distribution, prerequisites calling
+for that module could indicate an older distribution should installed,
+potentially overwriting files from a newer distribution.
+
+For example, as of Oct 31, 2009, the CPAN index file contained these
+module-distribution mappings:
+
+ Class::MOP 0.94 D/DR/DROLSKY/Class-MOP-0.94.tar.gz
+ Class::MOP::Class 0.94 D/DR/DROLSKY/Class-MOP-0.94.tar.gz
+ Class::MOP::Class::Immutable 0.04 S/ST/STEVAN/Class-MOP-0.36.tar.gz
+
+Consider the case where "Class::MOP" 0.94 is installed. If a
+distribution specified "Class::MOP::Class::Immutable" as a prerequisite,
+it could result in Class-MOP-0.36.tar.gz being installed, overwriting
+any files from Class-MOP-0.94.tar.gz.
+
+Consumers of metadata B<should> test whether prerequisites would result
+in installed module files being "downgraded" to an older version and
+B<may> warn users or ignore the prerequisite that would cause such a
+result.
+
+=head1 SERIALIZATION
+
+Distribution metadata should be serialized (as a hashref) as
+JSON-encoded data and packaged with distributions as the file
+F<META.json>.
+
+In the past, the distribution metadata structure had been packed with
+distributions as F<META.yml>, a file in the YAML Tiny format (for which,
+see L<YAML::Tiny>). Tools that consume distribution metadata from disk
+should be capable of loading F<META.yml>, but should prefer F<META.json>
+if both are found.
+
+=head1 NOTES FOR IMPLEMENTORS
+
+=head2 Extracting Version Numbers from Perl Modules
+
+To get the version number from a Perl module, consumers should use the
+C<< MM->parse_version($file) >> method provided by L<ExtUtils::MakeMaker> or
+the L<Module::Build::ModuleInfo> module provided with L<Module::Build>. For
+example, for the module given by C<$mod>, the version may be retrieved in one
+of the following ways:
+
+ # via ExtUtils::MakeMaker
+ my $file = MM->_installed_file_for_module($mod);
+ my $version = MM->parse_version($file)
+
+The private C<_installed_file_for_module> method may be replaced with
+other methods for locating a module in C<@INC>.
+
+ # via Module::Build
+ my $info = Module::Build::ModuleInfo->new_from_module($mod);
+ my $version = $info->version;
+
+If only a filename is available, the following approach may be used:
+
+ # via Module::Build
+ my $info = Module::Build::ModuleInfo->new_from_file($file);
+ my $version = $info->version;
+
+=head2 Comparing Version Numbers
+
+The L<version> module provides the most reliable way to compare version
+numbers in all the various ways they might be provided or might exist
+within modules. Given two strings containing version numbers, C<$v1> and
+C<$v2>, they should be converted to C<version> objects before using
+ordinary comparison operators. For example:
+
+ use version;
+ if ( version->new($v1) <=> version->new($v2) ) {
+ print "Versions are not equal\n";
+ }
+
+If the only comparison needed is whether an installed module is of a
+sufficiently high version, a direct test may be done using the string
+form of C<eval> and the C<use> function. For example, for module C<$mod>
+and version prerequisite C<$prereq>:
+
+ if ( eval "use $mod $prereq (); 1" ) {
+ print "Module $mod version is OK.\n";
+ }
+
+If the values of C<$mod> and C<$prereq> have not been scrubbed, however,
+this presents security implications.
+
+=head1 SEE ALSO
+
+CPAN, L<http://www.cpan.org/>
+
+CPAN.pm, L<http://search.cpan.org/dist/CPAN/>
+
+CPANPLUS, L<http://search.cpan.org/dist/CPANPLUS/>
+
+ExtUtils::MakeMaker, L<http://search.cpan.org/dist/ExtUtils-MakeMaker/>
+
+Module::Build, L<http://search.cpan.org/dist/Module-Build/>
+
+Module::Install, L<http://search.cpan.org/dist/Module-Install/>
+
+JSON, L<http://json.org/>
+
+YAML, L<http://www.yaml.org/>
+
+=head1 CONTRIBUTORS
+
+Ken Williams wrote the original CPAN Meta Spec (also known as the
+"META.yml spec") in 2003 and maintained it through several revisions
+with input from various members of the community. In 2005, Randy
+Sims redrafted it from HTML to POD for the version 1.2 release. Ken
+continued to maintain the spec through version 1.4.
+
+In late 2009, David Golden organized the version 2 proposal review
+process. David and Ricardo Signes drafted the final version 2 spec
+in April 2010 based on the version 1.4 spec and patches contributed
+during the proposal process.
+
+Several others have contributed patches over the years. The full list
+of contributors in the repository history currently includes:
+
+ 2shortplanks
+ Avar Arnfjord Bjarmason
+ Christopher J. Madsen
+ Damyan Ivanov
+ David Golden
+ Eric Wilhelm
+ Ken Williams
+ Lars DIECKOW
+ Michael G. Schwern
+ Randy Sims
+ Ricardo Signes
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
new file mode 100644
index 00000000000..a203621ab8f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
@@ -0,0 +1,1002 @@
+use 5.006;
+use strict;
+use warnings;
+package CPAN::Meta::Validator;
+BEGIN {
+ $CPAN::Meta::Validator::VERSION = '2.110440';
+}
+# ABSTRACT: validate CPAN distribution metadata structures
+
+
+#--------------------------------------------------------------------------#
+# This code copied and adapted from Test::CPAN::Meta
+# by Barbie, <barbie@cpan.org> for Miss Barbell Productions,
+# L<http://www.missbarbell.co.uk>
+#--------------------------------------------------------------------------#
+
+#--------------------------------------------------------------------------#
+# Specification Definitions
+#--------------------------------------------------------------------------#
+
+my %known_specs = (
+ '1.4' => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+ '1.3' => 'http://module-build.sourceforge.net/META-spec-v1.3.html',
+ '1.2' => 'http://module-build.sourceforge.net/META-spec-v1.2.html',
+ '1.1' => 'http://module-build.sourceforge.net/META-spec-v1.1.html',
+ '1.0' => 'http://module-build.sourceforge.net/META-spec-v1.0.html'
+);
+my %known_urls = map {$known_specs{$_} => $_} keys %known_specs;
+
+my $module_map1 = { 'map' => { ':key' => { name => \&module, value => \&exversion } } };
+
+my $module_map2 = { 'map' => { ':key' => { name => \&module, value => \&version } } };
+
+my $no_index_2 = {
+ 'map' => { file => { list => { value => \&string } },
+ directory => { list => { value => \&string } },
+ 'package' => { list => { value => \&string } },
+ namespace => { list => { value => \&string } },
+ ':key' => { name => \&custom_2, value => \&anything },
+ }
+};
+
+my $no_index_1_3 = {
+ 'map' => { file => { list => { value => \&string } },
+ directory => { list => { value => \&string } },
+ 'package' => { list => { value => \&string } },
+ namespace => { list => { value => \&string } },
+ ':key' => { name => \&string, value => \&anything },
+ }
+};
+
+my $no_index_1_2 = {
+ 'map' => { file => { list => { value => \&string } },
+ dir => { list => { value => \&string } },
+ 'package' => { list => { value => \&string } },
+ namespace => { list => { value => \&string } },
+ ':key' => { name => \&string, value => \&anything },
+ }
+};
+
+my $no_index_1_1 = {
+ 'map' => { ':key' => { name => \&string, list => { value => \&string } },
+ }
+};
+
+my $prereq_map = {
+ map => {
+ ':key' => {
+ name => \&phase,
+ 'map' => {
+ ':key' => {
+ name => \&relation,
+ %$module_map1,
+ },
+ },
+ }
+ },
+};
+
+my %definitions = (
+ '2' => {
+ # REQUIRED
+ 'abstract' => { mandatory => 1, value => \&string },
+ 'author' => { mandatory => 1, lazylist => { value => \&string } },
+ 'dynamic_config' => { mandatory => 1, value => \&boolean },
+ 'generated_by' => { mandatory => 1, value => \&string },
+ 'license' => { mandatory => 1, lazylist => { value => \&license } },
+ 'meta-spec' => {
+ mandatory => 1,
+ 'map' => {
+ version => { mandatory => 1, value => \&version},
+ url => { value => \&url },
+ ':key' => { name => \&custom_2, value => \&anything },
+ }
+ },
+ 'name' => { mandatory => 1, value => \&string },
+ 'release_status' => { mandatory => 1, value => \&release_status },
+ 'version' => { mandatory => 1, value => \&version },
+
+ # OPTIONAL
+ 'description' => { value => \&string },
+ 'keywords' => { lazylist => { value => \&string } },
+ 'no_index' => $no_index_2,
+ 'optional_features' => {
+ 'map' => {
+ ':key' => {
+ name => \&string,
+ 'map' => {
+ description => { value => \&string },
+ prereqs => $prereq_map,
+ ':key' => { name => \&custom_2, value => \&anything },
+ }
+ }
+ }
+ },
+ 'prereqs' => $prereq_map,
+ 'provides' => {
+ 'map' => {
+ ':key' => {
+ name => \&module,
+ 'map' => {
+ file => { mandatory => 1, value => \&file },
+ version => { value => \&version },
+ ':key' => { name => \&custom_2, value => \&anything },
+ }
+ }
+ }
+ },
+ 'resources' => {
+ 'map' => {
+ license => { lazylist => { value => \&url } },
+ homepage => { value => \&url },
+ bugtracker => {
+ 'map' => {
+ web => { value => \&url },
+ mailto => { value => \&string},
+ ':key' => { name => \&custom_2, value => \&anything },
+ }
+ },
+ repository => {
+ 'map' => {
+ web => { value => \&url },
+ url => { value => \&url },
+ type => { value => \&string },
+ ':key' => { name => \&custom_2, value => \&anything },
+ }
+ },
+ ':key' => { value => \&string, name => \&custom_2 },
+ }
+ },
+
+ # CUSTOM -- additional user defined key/value pairs
+ # note we can only validate the key name, as the structure is user defined
+ ':key' => { name => \&custom_2, value => \&anything },
+ },
+
+'1.4' => {
+ 'meta-spec' => {
+ mandatory => 1,
+ 'map' => {
+ version => { mandatory => 1, value => \&version},
+ url => { mandatory => 1, value => \&urlspec },
+ ':key' => { name => \&string, value => \&anything },
+ },
+ },
+
+ 'name' => { mandatory => 1, value => \&string },
+ 'version' => { mandatory => 1, value => \&version },
+ 'abstract' => { mandatory => 1, value => \&string },
+ 'author' => { mandatory => 1, list => { value => \&string } },
+ 'license' => { mandatory => 1, value => \&license },
+ 'generated_by' => { mandatory => 1, value => \&string },
+
+ 'distribution_type' => { value => \&string },
+ 'dynamic_config' => { value => \&boolean },
+
+ 'requires' => $module_map1,
+ 'recommends' => $module_map1,
+ 'build_requires' => $module_map1,
+ 'configure_requires' => $module_map1,
+ 'conflicts' => $module_map2,
+
+ 'optional_features' => {
+ 'map' => {
+ ':key' => { name => \&string,
+ 'map' => { description => { value => \&string },
+ requires => $module_map1,
+ recommends => $module_map1,
+ build_requires => $module_map1,
+ conflicts => $module_map2,
+ ':key' => { name => \&string, value => \&anything },
+ }
+ }
+ }
+ },
+
+ 'provides' => {
+ 'map' => {
+ ':key' => { name => \&module,
+ 'map' => {
+ file => { mandatory => 1, value => \&file },
+ version => { value => \&version },
+ ':key' => { name => \&string, value => \&anything },
+ }
+ }
+ }
+ },
+
+ 'no_index' => $no_index_1_3,
+ 'private' => $no_index_1_3,
+
+ 'keywords' => { list => { value => \&string } },
+
+ 'resources' => {
+ 'map' => { license => { value => \&url },
+ homepage => { value => \&url },
+ bugtracker => { value => \&url },
+ repository => { value => \&url },
+ ':key' => { value => \&string, name => \&custom_1 },
+ }
+ },
+
+ # additional user defined key/value pairs
+ # note we can only validate the key name, as the structure is user defined
+ ':key' => { name => \&string, value => \&anything },
+},
+
+'1.3' => {
+ 'meta-spec' => {
+ mandatory => 1,
+ 'map' => {
+ version => { mandatory => 1, value => \&version},
+ url => { mandatory => 1, value => \&urlspec },
+ ':key' => { name => \&string, value => \&anything },
+ },
+ },
+
+ 'name' => { mandatory => 1, value => \&string },
+ 'version' => { mandatory => 1, value => \&version },
+ 'abstract' => { mandatory => 1, value => \&string },
+ 'author' => { mandatory => 1, list => { value => \&string } },
+ 'license' => { mandatory => 1, value => \&license },
+ 'generated_by' => { mandatory => 1, value => \&string },
+
+ 'distribution_type' => { value => \&string },
+ 'dynamic_config' => { value => \&boolean },
+
+ 'requires' => $module_map1,
+ 'recommends' => $module_map1,
+ 'build_requires' => $module_map1,
+ 'conflicts' => $module_map2,
+
+ 'optional_features' => {
+ 'map' => {
+ ':key' => { name => \&string,
+ 'map' => { description => { value => \&string },
+ requires => $module_map1,
+ recommends => $module_map1,
+ build_requires => $module_map1,
+ conflicts => $module_map2,
+ ':key' => { name => \&string, value => \&anything },
+ }
+ }
+ }
+ },
+
+ 'provides' => {
+ 'map' => {
+ ':key' => { name => \&module,
+ 'map' => {
+ file => { mandatory => 1, value => \&file },
+ version => { value => \&version },
+ ':key' => { name => \&string, value => \&anything },
+ }
+ }
+ }
+ },
+
+
+ 'no_index' => $no_index_1_3,
+ 'private' => $no_index_1_3,
+
+ 'keywords' => { list => { value => \&string } },
+
+ 'resources' => {
+ 'map' => { license => { value => \&url },
+ homepage => { value => \&url },
+ bugtracker => { value => \&url },
+ repository => { value => \&url },
+ ':key' => { value => \&string, name => \&custom_1 },
+ }
+ },
+
+ # additional user defined key/value pairs
+ # note we can only validate the key name, as the structure is user defined
+ ':key' => { name => \&string, value => \&anything },
+},
+
+# v1.2 is misleading, it seems to assume that a number of fields where created
+# within v1.1, when they were created within v1.2. This may have been an
+# original mistake, and that a v1.1 was retro fitted into the timeline, when
+# v1.2 was originally slated as v1.1. But I could be wrong ;)
+'1.2' => {
+ 'meta-spec' => {
+ mandatory => 1,
+ 'map' => {
+ version => { mandatory => 1, value => \&version},
+ url => { mandatory => 1, value => \&urlspec },
+ ':key' => { name => \&string, value => \&anything },
+ },
+ },
+
+
+ 'name' => { mandatory => 1, value => \&string },
+ 'version' => { mandatory => 1, value => \&version },
+ 'license' => { mandatory => 1, value => \&license },
+ 'generated_by' => { mandatory => 1, value => \&string },
+ 'author' => { mandatory => 1, list => { value => \&string } },
+ 'abstract' => { mandatory => 1, value => \&string },
+
+ 'distribution_type' => { value => \&string },
+ 'dynamic_config' => { value => \&boolean },
+
+ 'keywords' => { list => { value => \&string } },
+
+ 'private' => $no_index_1_2,
+ '$no_index' => $no_index_1_2,
+
+ 'requires' => $module_map1,
+ 'recommends' => $module_map1,
+ 'build_requires' => $module_map1,
+ 'conflicts' => $module_map2,
+
+ 'optional_features' => {
+ 'map' => {
+ ':key' => { name => \&string,
+ 'map' => { description => { value => \&string },
+ requires => $module_map1,
+ recommends => $module_map1,
+ build_requires => $module_map1,
+ conflicts => $module_map2,
+ ':key' => { name => \&string, value => \&anything },
+ }
+ }
+ }
+ },
+
+ 'provides' => {
+ 'map' => {
+ ':key' => { name => \&module,
+ 'map' => {
+ file => { mandatory => 1, value => \&file },
+ version => { value => \&version },
+ ':key' => { name => \&string, value => \&anything },
+ }
+ }
+ }
+ },
+
+ 'resources' => {
+ 'map' => { license => { value => \&url },
+ homepage => { value => \&url },
+ bugtracker => { value => \&url },
+ repository => { value => \&url },
+ ':key' => { value => \&string, name => \&custom_1 },
+ }
+ },
+
+ # additional user defined key/value pairs
+ # note we can only validate the key name, as the structure is user defined
+ ':key' => { name => \&string, value => \&anything },
+},
+
+# note that the 1.1 spec only specifies 'version' as mandatory
+'1.1' => {
+ 'name' => { value => \&string },
+ 'version' => { mandatory => 1, value => \&version },
+ 'license' => { value => \&license },
+ 'generated_by' => { value => \&string },
+
+ 'license_uri' => { value => \&url },
+ 'distribution_type' => { value => \&string },
+ 'dynamic_config' => { value => \&boolean },
+
+ 'private' => $no_index_1_1,
+
+ 'requires' => $module_map1,
+ 'recommends' => $module_map1,
+ 'build_requires' => $module_map1,
+ 'conflicts' => $module_map2,
+
+ # additional user defined key/value pairs
+ # note we can only validate the key name, as the structure is user defined
+ ':key' => { name => \&string, value => \&anything },
+},
+
+# note that the 1.0 spec doesn't specify optional or mandatory fields
+# but we will treat version as mandatory since otherwise META 1.0 is
+# completely arbitrary and pointless
+'1.0' => {
+ 'name' => { value => \&string },
+ 'version' => { mandatory => 1, value => \&version },
+ 'license' => { value => \&license },
+ 'generated_by' => { value => \&string },
+
+ 'license_uri' => { value => \&url },
+ 'distribution_type' => { value => \&string },
+ 'dynamic_config' => { value => \&boolean },
+
+ 'requires' => $module_map1,
+ 'recommends' => $module_map1,
+ 'build_requires' => $module_map1,
+ 'conflicts' => $module_map2,
+
+ # additional user defined key/value pairs
+ # note we can only validate the key name, as the structure is user defined
+ ':key' => { name => \&string, value => \&anything },
+},
+);
+
+#--------------------------------------------------------------------------#
+# Code
+#--------------------------------------------------------------------------#
+
+
+sub new {
+ my ($class,$data) = @_;
+
+ # create an attributes hash
+ my $self = {
+ 'data' => $data,
+ 'spec' => $data->{'meta-spec'}{'version'} || "1.0",
+ 'errors' => undef,
+ };
+
+ # create the object
+ return bless $self, $class;
+}
+
+
+sub is_valid {
+ my $self = shift;
+ my $data = $self->{data};
+ my $spec_version = $self->{spec};
+ $self->check_map($definitions{$spec_version},$data);
+ return ! $self->errors;
+}
+
+
+sub errors {
+ my $self = shift;
+ return () unless(defined $self->{errors});
+ return @{$self->{errors}};
+}
+
+
+my $spec_error = "Missing validation action in specification. "
+ . "Must be one of 'map', 'list', 'lazylist', or 'value'";
+
+sub check_map {
+ my ($self,$spec,$data) = @_;
+
+ if(ref($spec) ne 'HASH') {
+ $self->_error( "Unknown META specification, cannot validate." );
+ return;
+ }
+
+ if(ref($data) ne 'HASH') {
+ $self->_error( "Expected a map structure from string or file." );
+ return;
+ }
+
+ for my $key (keys %$spec) {
+ next unless($spec->{$key}->{mandatory});
+ next if(defined $data->{$key});
+ push @{$self->{stack}}, $key;
+ $self->_error( "Missing mandatory field, '$key'" );
+ pop @{$self->{stack}};
+ }
+
+ for my $key (keys %$data) {
+ push @{$self->{stack}}, $key;
+ if($spec->{$key}) {
+ if($spec->{$key}{value}) {
+ $spec->{$key}{value}->($self,$key,$data->{$key});
+ } elsif($spec->{$key}{'map'}) {
+ $self->check_map($spec->{$key}{'map'},$data->{$key});
+ } elsif($spec->{$key}{'list'}) {
+ $self->check_list($spec->{$key}{'list'},$data->{$key});
+ } elsif($spec->{$key}{'lazylist'}) {
+ $self->check_lazylist($spec->{$key}{'lazylist'},$data->{$key});
+ } else {
+ $self->_error( "$spec_error for '$key'" );
+ }
+
+ } elsif ($spec->{':key'}) {
+ $spec->{':key'}{name}->($self,$key,$key);
+ if($spec->{':key'}{value}) {
+ $spec->{':key'}{value}->($self,$key,$data->{$key});
+ } elsif($spec->{':key'}{'map'}) {
+ $self->check_map($spec->{':key'}{'map'},$data->{$key});
+ } elsif($spec->{':key'}{'list'}) {
+ $self->check_list($spec->{':key'}{'list'},$data->{$key});
+ } elsif($spec->{':key'}{'lazylist'}) {
+ $self->check_lazylist($spec->{':key'}{'lazylist'},$data->{$key});
+ } else {
+ $self->_error( "$spec_error for ':key'" );
+ }
+
+
+ } else {
+ $self->_error( "Unknown key, '$key', found in map structure" );
+ }
+ pop @{$self->{stack}};
+ }
+}
+
+# if it's a string, make it into a list and check the list
+sub check_lazylist {
+ my ($self,$spec,$data) = @_;
+
+ if ( defined $data && ! ref($data) ) {
+ $data = [ $data ];
+ }
+
+ $self->check_list($spec,$data);
+}
+
+sub check_list {
+ my ($self,$spec,$data) = @_;
+
+ if(ref($data) ne 'ARRAY') {
+ $self->_error( "Expected a list structure" );
+ return;
+ }
+
+ if(defined $spec->{mandatory}) {
+ if(!defined $data->[0]) {
+ $self->_error( "Missing entries from mandatory list" );
+ }
+ }
+
+ for my $value (@$data) {
+ push @{$self->{stack}}, $value || "<undef>";
+ if(defined $spec->{value}) {
+ $spec->{value}->($self,'list',$value);
+ } elsif(defined $spec->{'map'}) {
+ $self->check_map($spec->{'map'},$value);
+ } elsif(defined $spec->{'list'}) {
+ $self->check_list($spec->{'list'},$value);
+ } elsif(defined $spec->{'lazylist'}) {
+ $self->check_lazylist($spec->{'lazylist'},$value);
+ } elsif ($spec->{':key'}) {
+ $self->check_map($spec,$value);
+ } else {
+ $self->_error( "$spec_error associated with '$self->{stack}[-2]'" );
+ }
+ pop @{$self->{stack}};
+ }
+}
+
+
+sub header {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ return 1 if($value && $value =~ /^--- #YAML:1.0/);
+ }
+ $self->_error( "file does not have a valid YAML header." );
+ return 0;
+}
+
+sub release_status {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ my $version = $self->{data}{version} || '';
+ if ( $version =~ /_/ ) {
+ return 1 if ( $value =~ /\A(?:testing|unstable)\z/ );
+ $self->_error( "'$value' for '$key' is invalid for version '$version'" );
+ }
+ else {
+ return 1 if ( $value =~ /\A(?:stable|testing|unstable)\z/ );
+ $self->_error( "'$value' for '$key' is invalid" );
+ }
+ }
+ else {
+ $self->_error( "'$key' is not defined" );
+ }
+ return 0;
+}
+
+# _uri_split taken from URI::Split by Gisle Aas, Copyright 2003
+sub _uri_split {
+ return $_[0] =~ m,(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?,;
+}
+
+sub url {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ my ($scheme, $auth, $path, $query, $frag) = _uri_split($value);
+ unless ( defined $scheme && length $scheme ) {
+ $self->_error( "'$value' for '$key' does not have a URL scheme" );
+ return 0;
+ }
+ unless ( defined $auth && length $auth ) {
+ $self->_error( "'$value' for '$key' does not have a URL authority" );
+ return 0;
+ }
+ return 1;
+ }
+ $value ||= '';
+ $self->_error( "'$value' for '$key' is not a valid URL." );
+ return 0;
+}
+
+sub urlspec {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ return 1 if($value && $known_specs{$self->{spec}} eq $value);
+ if($value && $known_urls{$value}) {
+ $self->_error( 'META specification URL does not match version' );
+ return 0;
+ }
+ }
+ $self->_error( 'Unknown META specification' );
+ return 0;
+}
+
+sub anything { return 1 }
+
+sub string {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ return 1 if($value || $value =~ /^0$/);
+ }
+ $self->_error( "value is an undefined string" );
+ return 0;
+}
+
+sub string_or_undef {
+ my ($self,$key,$value) = @_;
+ return 1 unless(defined $value);
+ return 1 if($value || $value =~ /^0$/);
+ $self->_error( "No string defined for '$key'" );
+ return 0;
+}
+
+sub file {
+ my ($self,$key,$value) = @_;
+ return 1 if(defined $value);
+ $self->_error( "No file defined for '$key'" );
+ return 0;
+}
+
+sub exversion {
+ my ($self,$key,$value) = @_;
+ if(defined $value && ($value || $value =~ /0/)) {
+ my $pass = 1;
+ for(split(",",$value)) { $self->version($key,$_) or ($pass = 0); }
+ return $pass;
+ }
+ $value = '<undef>' unless(defined $value);
+ $self->_error( "'$value' for '$key' is not a valid version." );
+ return 0;
+}
+
+sub version {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ return 0 unless($value || $value =~ /0/);
+ return 1 if($value =~ /^\s*((<|<=|>=|>|!=|==)\s*)?v?\d+((\.\d+((_|\.)\d+)?)?)/);
+ } else {
+ $value = '<undef>';
+ }
+ $self->_error( "'$value' for '$key' is not a valid version." );
+ return 0;
+}
+
+sub boolean {
+ my ($self,$key,$value) = @_;
+ if(defined $value) {
+ return 1 if($value =~ /^(0|1|true|false)$/);
+ } else {
+ $value = '<undef>';
+ }
+ $self->_error( "'$value' for '$key' is not a boolean value." );
+ return 0;
+}
+
+my %v1_licenses = (
+ 'perl' => 'http://dev.perl.org/licenses/',
+ 'gpl' => 'http://www.opensource.org/licenses/gpl-license.php',
+ 'apache' => 'http://apache.org/licenses/LICENSE-2.0',
+ 'artistic' => 'http://opensource.org/licenses/artistic-license.php',
+ 'artistic_2' => 'http://opensource.org/licenses/artistic-license-2.0.php',
+ 'lgpl' => 'http://www.opensource.org/licenses/lgpl-license.phpt',
+ 'bsd' => 'http://www.opensource.org/licenses/bsd-license.php',
+ 'gpl' => 'http://www.opensource.org/licenses/gpl-license.php',
+ 'mit' => 'http://opensource.org/licenses/mit-license.php',
+ 'mozilla' => 'http://opensource.org/licenses/mozilla1.1.php',
+ 'open_source' => undef,
+ 'unrestricted' => undef,
+ 'restrictive' => undef,
+ 'unknown' => undef,
+);
+
+my %v2_licenses = map { $_ => 1 } qw(
+ agpl_3
+ apache_1_1
+ apache_2_0
+ artistic_1
+ artistic_2
+ bsd
+ freebsd
+ gfdl_1_2
+ gfdl_1_3
+ gpl_1
+ gpl_2
+ gpl_3
+ lgpl_2_1
+ lgpl_3_0
+ mit
+ mozilla_1_0
+ mozilla_1_1
+ openssl
+ perl_5
+ qpl_1_0
+ ssleay
+ sun
+ zlib
+ open_source
+ restricted
+ unrestricted
+ unknown
+);
+
+sub license {
+ my ($self,$key,$value) = @_;
+ my $licenses = $self->{spec} < 2 ? \%v1_licenses : \%v2_licenses;
+ if(defined $value) {
+ return 1 if($value && exists $licenses->{$value});
+ } else {
+ $value = '<undef>';
+ }
+ $self->_error( "License '$value' is invalid" );
+ return 0;
+}
+
+sub custom_1 {
+ my ($self,$key) = @_;
+ if(defined $key) {
+ # a valid user defined key should be alphabetic
+ # and contain at least one capital case letter.
+ return 1 if($key && $key =~ /^[_a-z]+$/i && $key =~ /[A-Z]/);
+ } else {
+ $key = '<undef>';
+ }
+ $self->_error( "Custom resource '$key' must be in CamelCase." );
+ return 0;
+}
+
+sub custom_2 {
+ my ($self,$key) = @_;
+ if(defined $key) {
+ return 1 if($key && $key =~ /^x_/i); # user defined
+ } else {
+ $key = '<undef>';
+ }
+ $self->_error( "Custom key '$key' must begin with 'x_' or 'X_'." );
+ return 0;
+}
+
+sub identifier {
+ my ($self,$key) = @_;
+ if(defined $key) {
+ return 1 if($key && $key =~ /^([a-z][_a-z]+)$/i); # spec 2.0 defined
+ } else {
+ $key = '<undef>';
+ }
+ $self->_error( "Key '$key' is not a legal identifier." );
+ return 0;
+}
+
+sub module {
+ my ($self,$key) = @_;
+ if(defined $key) {
+ return 1 if($key && $key =~ /^[A-Za-z0-9_]+(::[A-Za-z0-9_]+)*$/);
+ } else {
+ $key = '<undef>';
+ }
+ $self->_error( "Key '$key' is not a legal module name." );
+ return 0;
+}
+
+my @valid_phases = qw/ configure build test runtime develop /;
+sub phase {
+ my ($self,$key) = @_;
+ if(defined $key) {
+ return 1 if( length $key && grep { $key eq $_ } @valid_phases );
+ return 1 if $key =~ /x_/i;
+ } else {
+ $key = '<undef>';
+ }
+ $self->_error( "Key '$key' is not a legal phase." );
+ return 0;
+}
+
+my @valid_relations = qw/ requires recommends suggests conflicts /;
+sub relation {
+ my ($self,$key) = @_;
+ if(defined $key) {
+ return 1 if( length $key && grep { $key eq $_ } @valid_relations );
+ return 1 if $key =~ /x_/i;
+ } else {
+ $key = '<undef>';
+ }
+ $self->_error( "Key '$key' is not a legal prereq relationship." );
+ return 0;
+}
+
+sub _error {
+ my $self = shift;
+ my $mess = shift;
+
+ $mess .= ' ('.join(' -> ',@{$self->{stack}}).')' if($self->{stack});
+ $mess .= " [Validation: $self->{spec}]";
+
+ push @{$self->{errors}}, $mess;
+}
+
+1;
+
+
+
+=pod
+
+=head1 NAME
+
+CPAN::Meta::Validator - validate CPAN distribution metadata structures
+
+=head1 VERSION
+
+version 2.110440
+
+=head1 SYNOPSIS
+
+ my $struct = decode_json_file('META.json');
+
+ my $cmv = CPAN::Meta::Validator->new( $struct );
+
+ unless ( $cmv->is_valid ) {
+ my $msg = "Invalid META structure. Errors found:\n";
+ $msg .= join( "\n", $cmv->errors );
+ die $msg;
+ }
+
+=head1 DESCRIPTION
+
+This module validates a CPAN Meta structure against the version of the
+the specification claimed in the C<meta-spec> field of the structure.
+
+=head1 METHODS
+
+=head2 new
+
+ my $cmv = CPAN::Meta::Validator->new( $struct )
+
+The constructor must be passed a metadata structure.
+
+=head2 is_valid
+
+ if ( $cmv->is_valid ) {
+ ...
+ }
+
+Returns a boolean value indicating whether the metadata provided
+is valid.
+
+=head2 errors
+
+ warn( join "\n", $cmv->errors );
+
+Returns a list of errors seen during validation.
+
+=begin internals
+
+=head2 Check Methods
+
+=over
+
+=item * check_map($spec,$data)
+
+Checks whether a map (or hash) part of the data structure conforms to the
+appropriate specification definition.
+=item * check_list($spec,$data)
+
+Checks whether a list (or array) part of the data structure conforms to
+the appropriate specification definition.
+=item * check_lazylist($spec,$data)
+
+Checks whether a list conforms, but converts strings to a single-element list
+=back
+
+=head2 Validator Methods
+
+=over
+
+=item * header($self,$key,$value)
+
+Validates that the header is valid.
+
+Note: No longer used as we now read the data structure, not the file.=item * url($self,$key,$value)
+
+Validates that a given value is in an acceptable URL format
+=item * urlspec($self,$key,$value)
+
+Validates that the URL to a META specification is a known one.
+=item * string_or_undef($self,$key,$value)
+
+Validates that the value is either a string or an undef value. Bit of a
+catchall function for parts of the data structure that are completely user
+defined.
+=item * string($self,$key,$value)
+
+Validates that a string exists for the given key.
+=item * file($self,$key,$value)
+
+Validate that a file is passed for the given key. This may be made more
+thorough in the future. For now it acts like \&string.
+=item * exversion($self,$key,$value)
+
+Validates a list of versions, e.g. '<= 5, >=2, ==3, !=4, >1, <6, 0'.
+=item * version($self,$key,$value)
+
+Validates a single version string. Versions of the type '5.8.8' and '0.00_00'
+are both valid. A leading 'v' like 'v1.2.3' is also valid.
+=item * boolean($self,$key,$value)
+
+Validates for a boolean value. Currently these values are '1', '0', 'true',
+'false', however the latter 2 may be removed.
+=item * license($self,$key,$value)
+
+Validates that a value is given for the license. Returns 1 if an known license
+type, or 2 if a value is given but the license type is not a recommended one.
+=item * custom_1($self,$key,$value)
+
+Validates that the given key is in CamelCase, to indicate a user defined
+keyword and only has characters in the class [-_a-zA-Z]. In version 1.X
+of the spec, this was only explicitly stated for 'resources'.
+=item * custom_2($self,$key,$value)
+
+Validates that the given key begins with 'x_' or 'X_', to indicate a user
+defined keyword and only has characters in the class [-_a-zA-Z]
+=item * identifier($self,$key,$value)
+
+Validates that key is in an acceptable format for the META specification,
+for an identifier, i.e. any that matches the regular expression
+qr/[a-z][a-z_]/i.
+=item * module($self,$key,$value)
+
+Validates that a given key is in an acceptable module name format, e.g.
+'Test::CPAN::Meta::Version'.
+=back
+
+=end internals
+
+=head1 BUGS
+
+Please report any bugs or feature using the CPAN Request Tracker.
+Bugs can be submitted through the web interface at
+L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
+
+When submitting a bug or request, please include a test-file or a patch to an
+existing test-file that illustrates the bug or desired feature.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
new file mode 100644
index 00000000000..2e94a180840
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
@@ -0,0 +1,714 @@
+package CPAN::Meta::YAML;
+BEGIN {
+ $CPAN::Meta::YAML::VERSION = '0.003';
+}
+
+use strict;
+
+# UTF Support?
+sub HAVE_UTF8 () { $] >= 5.007003 }
+BEGIN {
+ if ( HAVE_UTF8 ) {
+ # The string eval helps hide this from Test::MinimumVersion
+ eval "require utf8;";
+ die "Failed to load UTF-8 support" if $@;
+ }
+
+ # Class structure
+ require 5.004;
+ require Exporter;
+ require Carp;
+ @CPAN::Meta::YAML::ISA = qw{ Exporter };
+ @CPAN::Meta::YAML::EXPORT = qw{ Load Dump };
+ @CPAN::Meta::YAML::EXPORT_OK = qw{ LoadFile DumpFile freeze thaw };
+
+ # Error storage
+ $CPAN::Meta::YAML::errstr = '';
+}
+
+# The character class of all characters we need to escape
+# NOTE: Inlined, since it's only used once
+# my $RE_ESCAPE = '[\\x00-\\x08\\x0b-\\x0d\\x0e-\\x1f\"\n]';
+
+# Printed form of the unprintable characters in the lowest range
+# of ASCII characters, listed by ASCII ordinal position.
+my @UNPRINTABLE = qw(
+ z x01 x02 x03 x04 x05 x06 a
+ x08 t n v f r x0e x0f
+ x10 x11 x12 x13 x14 x15 x16 x17
+ x18 x19 x1a e x1c x1d x1e x1f
+);
+
+# Printable characters for escapes
+my %UNESCAPES = (
+ z => "\x00", a => "\x07", t => "\x09",
+ n => "\x0a", v => "\x0b", f => "\x0c",
+ r => "\x0d", e => "\x1b", '\\' => '\\',
+);
+
+# Special magic boolean words
+my %QUOTE = map { $_ => 1 } qw{
+ null Null NULL
+ y Y yes Yes YES n N no No NO
+ true True TRUE false False FALSE
+ on On ON off Off OFF
+};
+
+
+
+
+
+#####################################################################
+# Implementation
+
+# Create an empty CPAN::Meta::YAML object
+sub new {
+ my $class = shift;
+ bless [ @_ ], $class;
+}
+
+# Create an object from a file
+sub read {
+ my $class = ref $_[0] ? ref shift : shift;
+
+ # Check the file
+ my $file = shift or return $class->_error( 'You did not specify a file name' );
+ return $class->_error( "File '$file' does not exist" ) unless -e $file;
+ return $class->_error( "'$file' is a directory, not a file" ) unless -f _;
+ return $class->_error( "Insufficient permissions to read '$file'" ) unless -r _;
+
+ # Slurp in the file
+ local $/ = undef;
+ local *CFG;
+ unless ( open(CFG, $file) ) {
+ return $class->_error("Failed to open file '$file': $!");
+ }
+ my $contents = <CFG>;
+ unless ( close(CFG) ) {
+ return $class->_error("Failed to close file '$file': $!");
+ }
+
+ $class->read_string( $contents );
+}
+
+# Create an object from a string
+sub read_string {
+ my $class = ref $_[0] ? ref shift : shift;
+ my $self = bless [], $class;
+ my $string = $_[0];
+ eval {
+ unless ( defined $string ) {
+ die \"Did not provide a string to load";
+ }
+
+ # Byte order marks
+ # NOTE: Keeping this here to educate maintainers
+ # my %BOM = (
+ # "\357\273\277" => 'UTF-8',
+ # "\376\377" => 'UTF-16BE',
+ # "\377\376" => 'UTF-16LE',
+ # "\377\376\0\0" => 'UTF-32LE'
+ # "\0\0\376\377" => 'UTF-32BE',
+ # );
+ if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
+ die \"Stream has a non UTF-8 BOM";
+ } else {
+ # Strip UTF-8 bom if found, we'll just ignore it
+ $string =~ s/^\357\273\277//;
+ }
+
+ # Try to decode as utf8
+ utf8::decode($string) if HAVE_UTF8;
+
+ # Check for some special cases
+ return $self unless length $string;
+ unless ( $string =~ /[\012\015]+\z/ ) {
+ die \"Stream does not end with newline character";
+ }
+
+ # Split the file into lines
+ my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
+ split /(?:\015{1,2}\012|\015|\012)/, $string;
+
+ # Strip the initial YAML header
+ @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
+
+ # A nibbling parser
+ while ( @lines ) {
+ # Do we have a document header?
+ if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
+ # Handle scalar documents
+ shift @lines;
+ if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
+ push @$self, $self->_read_scalar( "$1", [ undef ], \@lines );
+ next;
+ }
+ }
+
+ if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
+ # A naked document
+ push @$self, undef;
+ while ( @lines and $lines[0] !~ /^---/ ) {
+ shift @lines;
+ }
+
+ } elsif ( $lines[0] =~ /^\s*\-/ ) {
+ # An array at the root
+ my $document = [ ];
+ push @$self, $document;
+ $self->_read_array( $document, [ 0 ], \@lines );
+
+ } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
+ # A hash at the root
+ my $document = { };
+ push @$self, $document;
+ $self->_read_hash( $document, [ length($1) ], \@lines );
+
+ } else {
+ die \"CPAN::Meta::YAML failed to classify the line '$lines[0]'";
+ }
+ }
+ };
+ if ( ref $@ eq 'SCALAR' ) {
+ return $self->_error(${$@});
+ } elsif ( $@ ) {
+ require Carp;
+ Carp::croak($@);
+ }
+
+ return $self;
+}
+
+# Deparse a scalar string to the actual scalar
+sub _read_scalar {
+ my ($self, $string, $indent, $lines) = @_;
+
+ # Trim trailing whitespace
+ $string =~ s/\s*\z//;
+
+ # Explitic null/undef
+ return undef if $string eq '~';
+
+ # Single quote
+ if ( $string =~ /^\'(.*?)\'(?:\s+\#.*)?\z/ ) {
+ return '' unless defined $1;
+ $string = $1;
+ $string =~ s/\'\'/\'/g;
+ return $string;
+ }
+
+ # Double quote.
+ # The commented out form is simpler, but overloaded the Perl regex
+ # engine due to recursion and backtracking problems on strings
+ # larger than 32,000ish characters. Keep it for reference purposes.
+ # if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
+ if ( $string =~ /^\"([^\\"]*(?:\\.[^\\"]*)*)\"(?:\s+\#.*)?\z/ ) {
+ # Reusing the variable is a little ugly,
+ # but avoids a new variable and a string copy.
+ $string = $1;
+ $string =~ s/\\"/"/g;
+ $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
+ return $string;
+ }
+
+ # Special cases
+ if ( $string =~ /^[\'\"!&]/ ) {
+ die \"CPAN::Meta::YAML does not support a feature in line '$string'";
+ }
+ return {} if $string =~ /^{}(?:\s+\#.*)?\z/;
+ return [] if $string =~ /^\[\](?:\s+\#.*)?\z/;
+
+ # Regular unquoted string
+ if ( $string !~ /^[>|]/ ) {
+ if (
+ $string =~ /^(?:-(?:\s|$)|[\@\%\`])/
+ or
+ $string =~ /:(?:\s|$)/
+ ) {
+ die \"CPAN::Meta::YAML found illegal characters in plain scalar: '$string'";
+ }
+ $string =~ s/\s+#.*\z//;
+ return $string;
+ }
+
+ # Error
+ die \"CPAN::Meta::YAML failed to find multi-line scalar content" unless @$lines;
+
+ # Check the indent depth
+ $lines->[0] =~ /^(\s*)/;
+ $indent->[-1] = length("$1");
+ if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
+ die \"CPAN::Meta::YAML found bad indenting in line '$lines->[0]'";
+ }
+
+ # Pull the lines
+ my @multiline = ();
+ while ( @$lines ) {
+ $lines->[0] =~ /^(\s*)/;
+ last unless length($1) >= $indent->[-1];
+ push @multiline, substr(shift(@$lines), length($1));
+ }
+
+ my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
+ my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
+ return join( $j, @multiline ) . $t;
+}
+
+# Parse an array
+sub _read_array {
+ my ($self, $array, $indent, $lines) = @_;
+
+ while ( @$lines ) {
+ # Check for a new document
+ if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
+ while ( @$lines and $lines->[0] !~ /^---/ ) {
+ shift @$lines;
+ }
+ return 1;
+ }
+
+ # Check the indent level
+ $lines->[0] =~ /^(\s*)/;
+ if ( length($1) < $indent->[-1] ) {
+ return 1;
+ } elsif ( length($1) > $indent->[-1] ) {
+ die \"CPAN::Meta::YAML found bad indenting in line '$lines->[0]'";
+ }
+
+ if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
+ # Inline nested hash
+ my $indent2 = length("$1");
+ $lines->[0] =~ s/-/ /;
+ push @$array, { };
+ $self->_read_hash( $array->[-1], [ @$indent, $indent2 ], $lines );
+
+ } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
+ # Array entry with a value
+ shift @$lines;
+ push @$array, $self->_read_scalar( "$2", [ @$indent, undef ], $lines );
+
+ } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
+ shift @$lines;
+ unless ( @$lines ) {
+ push @$array, undef;
+ return 1;
+ }
+ if ( $lines->[0] =~ /^(\s*)\-/ ) {
+ my $indent2 = length("$1");
+ if ( $indent->[-1] == $indent2 ) {
+ # Null array entry
+ push @$array, undef;
+ } else {
+ # Naked indenter
+ push @$array, [ ];
+ $self->_read_array( $array->[-1], [ @$indent, $indent2 ], $lines );
+ }
+
+ } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
+ push @$array, { };
+ $self->_read_hash( $array->[-1], [ @$indent, length("$1") ], $lines );
+
+ } else {
+ die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'";
+ }
+
+ } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
+ # This is probably a structure like the following...
+ # ---
+ # foo:
+ # - list
+ # bar: value
+ #
+ # ... so lets return and let the hash parser handle it
+ return 1;
+
+ } else {
+ die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'";
+ }
+ }
+
+ return 1;
+}
+
+# Parse an array
+sub _read_hash {
+ my ($self, $hash, $indent, $lines) = @_;
+
+ while ( @$lines ) {
+ # Check for a new document
+ if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
+ while ( @$lines and $lines->[0] !~ /^---/ ) {
+ shift @$lines;
+ }
+ return 1;
+ }
+
+ # Check the indent level
+ $lines->[0] =~ /^(\s*)/;
+ if ( length($1) < $indent->[-1] ) {
+ return 1;
+ } elsif ( length($1) > $indent->[-1] ) {
+ die \"CPAN::Meta::YAML found bad indenting in line '$lines->[0]'";
+ }
+
+ # Get the key
+ unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+(?:\#.*)?|$)// ) {
+ if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
+ die \"CPAN::Meta::YAML does not support a feature in line '$lines->[0]'";
+ }
+ die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'";
+ }
+ my $key = $1;
+
+ # Do we have a value?
+ if ( length $lines->[0] ) {
+ # Yes
+ $hash->{$key} = $self->_read_scalar( shift(@$lines), [ @$indent, undef ], $lines );
+ } else {
+ # An indent
+ shift @$lines;
+ unless ( @$lines ) {
+ $hash->{$key} = undef;
+ return 1;
+ }
+ if ( $lines->[0] =~ /^(\s*)-/ ) {
+ $hash->{$key} = [];
+ $self->_read_array( $hash->{$key}, [ @$indent, length($1) ], $lines );
+ } elsif ( $lines->[0] =~ /^(\s*)./ ) {
+ my $indent2 = length("$1");
+ if ( $indent->[-1] >= $indent2 ) {
+ # Null hash entry
+ $hash->{$key} = undef;
+ } else {
+ $hash->{$key} = {};
+ $self->_read_hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+# Save an object to a file
+sub write {
+ my $self = shift;
+ my $file = shift or return $self->_error('No file name provided');
+
+ # Write it to the file
+ open( CFG, '>' . $file ) or return $self->_error(
+ "Failed to open file '$file' for writing: $!"
+ );
+ print CFG $self->write_string;
+ close CFG;
+
+ return 1;
+}
+
+# Save an object to a string
+sub write_string {
+ my $self = shift;
+ return '' unless @$self;
+
+ # Iterate over the documents
+ my $indent = 0;
+ my @lines = ();
+ foreach my $cursor ( @$self ) {
+ push @lines, '---';
+
+ # An empty document
+ if ( ! defined $cursor ) {
+ # Do nothing
+
+ # A scalar document
+ } elsif ( ! ref $cursor ) {
+ $lines[-1] .= ' ' . $self->_write_scalar( $cursor, $indent );
+
+ # A list at the root
+ } elsif ( ref $cursor eq 'ARRAY' ) {
+ unless ( @$cursor ) {
+ $lines[-1] .= ' []';
+ next;
+ }
+ push @lines, $self->_write_array( $cursor, $indent, {} );
+
+ # A hash at the root
+ } elsif ( ref $cursor eq 'HASH' ) {
+ unless ( %$cursor ) {
+ $lines[-1] .= ' {}';
+ next;
+ }
+ push @lines, $self->_write_hash( $cursor, $indent, {} );
+
+ } else {
+ Carp::croak("Cannot serialize " . ref($cursor));
+ }
+ }
+
+ join '', map { "$_\n" } @lines;
+}
+
+sub _write_scalar {
+ my $string = $_[1];
+ return '~' unless defined $string;
+ return "''" unless length $string;
+ if ( $string =~ /[\x00-\x08\x0b-\x0d\x0e-\x1f\"\'\n]/ ) {
+ $string =~ s/\\/\\\\/g;
+ $string =~ s/"/\\"/g;
+ $string =~ s/\n/\\n/g;
+ $string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
+ return qq|"$string"|;
+ }
+ if ( $string =~ /(?:^\W|\s)/ or $QUOTE{$string} ) {
+ return "'$string'";
+ }
+ return $string;
+}
+
+sub _write_array {
+ my ($self, $array, $indent, $seen) = @_;
+ if ( $seen->{refaddr($array)}++ ) {
+ die "CPAN::Meta::YAML does not support circular references";
+ }
+ my @lines = ();
+ foreach my $el ( @$array ) {
+ my $line = (' ' x $indent) . '-';
+ my $type = ref $el;
+ if ( ! $type ) {
+ $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
+ push @lines, $line;
+
+ } elsif ( $type eq 'ARRAY' ) {
+ if ( @$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_array( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' []';
+ push @lines, $line;
+ }
+
+ } elsif ( $type eq 'HASH' ) {
+ if ( keys %$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_hash( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' {}';
+ push @lines, $line;
+ }
+
+ } else {
+ die "CPAN::Meta::YAML does not support $type references";
+ }
+ }
+
+ @lines;
+}
+
+sub _write_hash {
+ my ($self, $hash, $indent, $seen) = @_;
+ if ( $seen->{refaddr($hash)}++ ) {
+ die "CPAN::Meta::YAML does not support circular references";
+ }
+ my @lines = ();
+ foreach my $name ( sort keys %$hash ) {
+ my $el = $hash->{$name};
+ my $line = (' ' x $indent) . "$name:";
+ my $type = ref $el;
+ if ( ! $type ) {
+ $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
+ push @lines, $line;
+
+ } elsif ( $type eq 'ARRAY' ) {
+ if ( @$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_array( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' []';
+ push @lines, $line;
+ }
+
+ } elsif ( $type eq 'HASH' ) {
+ if ( keys %$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_hash( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' {}';
+ push @lines, $line;
+ }
+
+ } else {
+ die "CPAN::Meta::YAML does not support $type references";
+ }
+ }
+
+ @lines;
+}
+
+# Set error
+sub _error {
+ $CPAN::Meta::YAML::errstr = $_[1];
+ undef;
+}
+
+# Retrieve error
+sub errstr {
+ $CPAN::Meta::YAML::errstr;
+}
+
+
+
+
+
+#####################################################################
+# YAML Compatibility
+
+sub Dump {
+ CPAN::Meta::YAML->new(@_)->write_string;
+}
+
+sub Load {
+ my $self = CPAN::Meta::YAML->read_string(@_);
+ unless ( $self ) {
+ Carp::croak("Failed to load YAML document from string");
+ }
+ if ( wantarray ) {
+ return @$self;
+ } else {
+ # To match YAML.pm, return the last document
+ return $self->[-1];
+ }
+}
+
+BEGIN {
+ *freeze = *Dump;
+ *thaw = *Load;
+}
+
+sub DumpFile {
+ my $file = shift;
+ CPAN::Meta::YAML->new(@_)->write($file);
+}
+
+sub LoadFile {
+ my $self = CPAN::Meta::YAML->read($_[0]);
+ unless ( $self ) {
+ Carp::croak("Failed to load YAML document from '" . ($_[0] || '') . "'");
+ }
+ if ( wantarray ) {
+ return @$self;
+ } else {
+ # Return only the last document to match YAML.pm,
+ return $self->[-1];
+ }
+}
+
+
+
+
+
+#####################################################################
+# Use Scalar::Util if possible, otherwise emulate it
+
+BEGIN {
+ eval {
+ require Scalar::Util;
+ *refaddr = *Scalar::Util::refaddr;
+ };
+ eval <<'END_PERL' if $@;
+# Failed to load Scalar::Util
+sub refaddr {
+ my $pkg = ref($_[0]) or return undef;
+ if ( !! UNIVERSAL::can($_[0], 'can') ) {
+ bless $_[0], 'Scalar::Util::Fake';
+ } else {
+ $pkg = undef;
+ }
+ "$_[0]" =~ /0x(\w+)/;
+ my $i = do { local $^W; hex $1 };
+ bless $_[0], $pkg if defined $pkg;
+ $i;
+}
+END_PERL
+
+}
+
+1;
+
+
+
+=pod
+
+=head1 NAME
+
+CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files
+
+=head1 VERSION
+
+version 0.003
+
+=head1 SYNOPSIS
+
+ use CPAN::Meta::YAML;
+
+ # methods for files
+ $yaml = CPAN::Meta::YAML->read('META.yml');
+ $yaml->write('MYMETA.yml');
+
+ # methods for strings
+ $yaml_text = $yaml->write_string;
+ $yaml = CPAN::Meta::YAML->read_string($yaml_text);
+
+ # finding the metadata
+ my $meta = $yaml->[0];
+
+ # handling errors
+ $yaml->write($file)
+ or die CPAN::Meta::YAML->errstr;
+
+=head1 DESCRIPTION
+
+This module implements a subset of the YAML specification for use in reading
+and writing CPAN metadata files like F<META.yml> and F<MYMETA.yml>. It should
+not be used for any other general YAML parsing or generation task.
+
+=head1 SUPPORT
+
+This module is currently derived from L<YAML::Tiny> by Adam Kennedy. If
+there are bugs in how it parses a particular META.yml file, please file
+a bug report in the YAML::Tiny bugtracker:
+L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=YAML-Tiny>
+
+=head1 SEE ALSO
+
+L<YAML::Tiny>, L<YAML>, L<YAML::XS>
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+Adam Kennedy <adamk@cpan.org>
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by Adam Kennedy.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
+# ABSTRACT: Read and write a subset of YAML for CPAN Meta files
+
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
index 1a3402e8de5..3582b0acb4c 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
@@ -3,11 +3,12 @@
package CPAN::Mirrors;
use strict;
use vars qw($VERSION $urllist $silent);
-$VERSION = "1.77";
+$VERSION = "1.9600";
use Carp;
use FileHandle;
use Fcntl ":flock";
+use Net::Ping ();
sub new {
my ($class, $file) = @_;
@@ -63,27 +64,38 @@ sub best_mirrors {
my $conts = $args{continents} || [];
$conts = [$conts] unless ref $conts;
+ # Old Net::Ping did not do timings at all
+ return "http://www.cpan.org/" unless Net::Ping->VERSION gt '2.13';
+
my $seen = {};
if ( ! @$conts ) {
print "Searching for the best continent ...\n" if $verbose;
my @best = $self->_find_best_continent($seen, $verbose, $callback);
- # how many continents to find enough mirrors? We should scan
- # more than we need -- arbitrarily, we'll say x2
+ # Only add enough continents to find enough mirrors
my $count = 0;
for my $c ( @best ) {
push @$conts, $c;
$count += $self->mirrors( $self->countries($c) );
- last if $count >= 2 * $how_many;
+ last if $count >= $how_many;
}
}
print "Scanning " . join(", ", @$conts) . " ...\n" if $verbose;
my @timings;
- for my $m ($self->mirrors($self->countries(@$conts))) {
- next unless $m->ftp;
+ my @long_list = $self->mirrors($self->countries(@$conts));
+ my $long_list_size = ( $how_many > 10 ? $how_many : 10 );
+ if ( @long_list > $long_list_size ) {
+ @long_list = map {$_->[0]}
+ sort {$a->[1] <=> $b->[1]}
+ map {[$_, rand]} @long_list;
+ splice @long_list, $long_list_size; # truncate
+ }
+
+ for my $m ( @long_list ) {
+ next unless $m->http;
my $hostname = $m->hostname;
if ( $seen->{$hostname} ) {
push @timings, $seen->{$hostname}
@@ -97,6 +109,7 @@ sub best_mirrors {
}
}
return unless @timings;
+
$how_many = @timings if $how_many > @timings;
my @best =
map { $_->[0] }
@@ -112,7 +125,7 @@ sub _find_best_continent {
CONT: for my $c ( $self->continents ) {
my @mirrors = $self->mirrors( $self->countries($c) );
next CONT unless @mirrors;
- my $sample = 9;
+ my $sample = 3;
my $n = (@mirrors < $sample) ? @mirrors : $sample;
my @tests;
RANDOM: while ( @mirrors && @tests < $n ) {
@@ -240,7 +253,7 @@ sub rsync { shift->{rsync} || '' }
sub url {
my $self = shift;
- return $self->{ftp} || $self->{http};
+ return $self->{http} || $self->{ftp};
}
sub ping {
@@ -249,8 +262,13 @@ sub ping {
my ($proto) = $self->url =~ m{^([^:]+)};
my $port = $proto eq 'http' ? 80 : 21;
return unless $port;
+ if ( $ping->can('port_number') ) {
$ping->port_number($port);
- $ping->hires(1);
+ }
+ else {
+ $ping->{'port_num'} = $port;
+ }
+ $ping->hires(1) if $ping->can('hires');
my ($alive,$rtt) = $ping->ping($self->hostname);
return $alive ? $rtt : undef;
}
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Module.pm b/Master/tlpkg/tlperl/lib/CPAN/Module.pm
index 43c42bf1049..2c0c71ae7d1 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Module.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Module.pm
@@ -7,7 +7,7 @@ use strict;
use vars qw(
$VERSION
);
-$VERSION = "5.5";
+$VERSION = "5.5001";
BEGIN {
# alarm() is not implemented in perl 5.6.x and earlier under Windows
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Queue.pm b/Master/tlpkg/tlperl/lib/CPAN/Queue.pm
index b60f57c1cfe..e5d88ce2d83 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Queue.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Queue.pm
@@ -67,7 +67,7 @@ package CPAN::Queue;
# in CPAN::Distribution::rematein.
use vars qw{ @All $VERSION };
-$VERSION = "5.5";
+$VERSION = "5.5001";
# CPAN::Queue::queue_item ;
sub queue_item {
@@ -109,9 +109,9 @@ sub jumpqueue {
my $class = shift;
my @what = @_;
CPAN->debug(sprintf("before jumpqueue All[%s] what[%s]",
- join("",
- map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @All, @what
- ))) if $CPAN::DEBUG;
+ join("",map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @All),
+ join("",map {sprintf " %s\[%s]\n",$_->{qmod},$_->{reqtype}} @what),
+ )) if $CPAN::DEBUG;
unless (defined $what[0]{reqtype}) {
# apparently it was not the Shell that sent us this enquiry,
# treat it as commandline
@@ -119,7 +119,7 @@ sub jumpqueue {
}
my $inherit_reqtype = $what[0]{reqtype} =~ /^(c|r)$/ ? "r" : "b";
WHAT: for my $what_tuple (@what) {
- my($what,$reqtype) = @$what_tuple{qw(qmod reqtype)};
+ my($qmod,$reqtype) = @$what_tuple{qw(qmod reqtype)};
if ($reqtype eq "r"
&&
$inherit_reqtype eq "b"
@@ -128,26 +128,16 @@ sub jumpqueue {
}
my $jumped = 0;
for (my $i=0; $i<$#All;$i++) { #prevent deep recursion
- # CPAN->debug("i[$i]this[$All[$i]{qmod}]what[$what]") if $CPAN::DEBUG;
- if ($All[$i]{qmod} eq $what) {
+ if ($All[$i]{qmod} eq $qmod) {
$jumped++;
- if ($jumped >= 50) {
- die "PANIC: object[$what] 50 instances on the queue, looks like ".
- "some recursiveness has hit";
- } elsif ($jumped > 25) { # one's OK if e.g. just processing
- # now; more are OK if user typed
- # it several times
- my $sleep = sprintf "%.1f", $jumped/10;
- $CPAN::Frontend->mywarn(
-qq{Warning: Object [$what] queued $jumped times, sleeping $sleep secs!\n}
- );
- $CPAN::Frontend->mysleep($sleep);
- # next WHAT;
- }
}
}
+ # high jumped values are normal for popular modules when
+ # dealing with large bundles: XML::Simple,
+ # namespace::autoclean, UNIVERSAL::require
+ CPAN->debug("qmod[$qmod]jumped[$jumped]") if $CPAN::DEBUG;
my $obj = "$class\::Item"->new(
- qmod => $what,
+ qmod => $qmod,
reqtype => $reqtype
);
unshift @All, $obj;
@@ -186,6 +176,27 @@ sub size {
return scalar @All;
}
+sub reqtype_of {
+ my($self,$mod) = @_;
+ my $best = "";
+ for my $item (grep { $_->{qmod} eq $mod } @All) {
+ my $c = $item->{reqtype};
+ if ($c eq "c") {
+ $best = $c;
+ last;
+ } elsif ($c eq "r") {
+ $best = $c;
+ } elsif ($c eq "b") {
+ if ($best eq "") {
+ $best = $c;
+ }
+ } else {
+ die "Panic: in reqtype_of: reqtype[$c] seen, should never happen";
+ }
+ }
+ return $best;
+}
+
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
index 91cbdd22ac8..9effb0d2e70 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
@@ -47,7 +47,7 @@ use vars qw(
"CPAN/Tarzip.pm",
"CPAN/Version.pm",
);
-$VERSION = "5.5001";
+$VERSION = "5.5002";
# record the initial timestamp for reload.
$reload = { map {$INC{$_} ? ($_,(stat $INC{$_})[9]) : ()} @relo };
@CPAN::Shell::ISA = qw(CPAN::Debug);
@@ -375,16 +375,8 @@ sub o {
$cfilter ||= "";
my $qrfilter = eval 'qr/$cfilter/';
my($k,$v);
- $CPAN::Frontend->myprint("\$CPAN::Config options from ");
- my @from;
- if (exists $INC{'CPAN/Config.pm'}) {
- push @from, $INC{'CPAN/Config.pm'};
- }
- if (exists $INC{'CPAN/MyConfig.pm'}) {
- push @from, $INC{'CPAN/MyConfig.pm'};
- }
- $CPAN::Frontend->myprint(join " and ", map {"'$_'"} @from);
- $CPAN::Frontend->myprint(":\n");
+ my $configpm = CPAN::HandleConfig->require_myconfig_or_config;
+ $CPAN::Frontend->myprint("\$CPAN::Config options from $configpm\:\n");
for $k (sort keys %CPAN::HandleConfig::can) {
next unless $k =~ /$qrfilter/;
$v = $CPAN::HandleConfig::can{$k};
@@ -655,22 +647,21 @@ sub _reload_this {
#-> sub CPAN::Shell::mkmyconfig ;
sub mkmyconfig {
- my($self, $cpanpm, %args) = @_;
+ my($self) = @_;
+ if ( my $configpm = $INC{'CPAN/MyConfig.pm'} ) {
+ $CPAN::Frontend->myprint(
+ "CPAN::MyConfig already exists as $configpm.\n" .
+ "Running configuration again...\n"
+ );
require CPAN::FirstTime;
- my $home = CPAN::HandleConfig::home();
- $cpanpm = $INC{'CPAN/MyConfig.pm'} ||
- File::Spec->catfile(split /\//, "$home/.cpan/CPAN/MyConfig.pm");
- File::Path::mkpath(File::Basename::dirname($cpanpm)) unless -e $cpanpm;
- CPAN::HandleConfig::require_myconfig_or_config();
- $CPAN::Config ||= {};
- $CPAN::Config = {
- %$CPAN::Config,
- build_dir => undef,
- cpan_home => undef,
- keep_source_where => undef,
- histfile => undef,
- };
- CPAN::FirstTime::init($cpanpm, %args);
+ CPAN::FirstTime::init($configpm);
+ }
+ else {
+ # force some missing values to be filled in with defaults
+ delete $CPAN::Config->{$_}
+ for qw/build_dir cpan_home keep_source_where histfile/;
+ CPAN::HandleConfig->load( make_myconfig => 1 );
+ }
}
#-> sub CPAN::Shell::_binary_extensions ;
@@ -1456,6 +1447,7 @@ sub print_ornamented {
local $| = 1; # Flush immediately
if ( $CPAN::Be_Silent ) {
+ # WARNING: variable Be_Silent is poisoned and must be eliminated.
print {report_fh()} $what;
return;
}
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm
index 63451e7450d..972df6ca06f 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Tarzip.pm
@@ -253,14 +253,21 @@ sub untar {
if (0) { # makes changing order easier
} elsif ($BUGHUNTING) {
$prefer=2;
- } elsif ($exttar && $extgzip && $file =~ /\.(?:bz2|tbz)$/i) {
- # until Archive::Tar handles bzip2
+ } elsif ($CPAN::Config->{prefer_external_tar}) {
$prefer = 1;
} elsif (
$CPAN::META->has_usable("Archive::Tar")
&&
$CPAN::META->has_inst("Compress::Zlib") ) {
- $prefer = 2;
+ my $prefer_external_tar = $CPAN::Config->{prefer_external_tar};
+ unless (defined $prefer_external_tar) {
+ if ($^O =~ /(MSWin32|solaris)/) {
+ $prefer_external_tar = 0;
+ } else {
+ $prefer_external_tar = 1;
+ }
+ }
+ $prefer = $prefer_external_tar ? 1 : 2;
} elsif ($exttar && $extgzip) {
# no modules and not bz2
$prefer = 1;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Version.pm b/Master/tlpkg/tlperl/lib/CPAN/Version.pm
index da876aac2d7..43aaa1ce911 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Version.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Version.pm
@@ -2,7 +2,7 @@ package CPAN::Version;
use strict;
use vars qw($VERSION);
-$VERSION = "5.5";
+$VERSION = "5.5001";
# CPAN::Version::vcmp courtesy Jost Krieger
sub vcmp {
@@ -57,7 +57,7 @@ sub vgt {
sub vlt {
my($self,$l,$r) = @_;
- 0 + ($self->vcmp($l,$r) < 0);
+ $self->vcmp($l,$r) < 0;
}
sub vge {
@@ -67,7 +67,7 @@ sub vge {
sub vle {
my($self,$l,$r) = @_;
- 0 + ($self->vcmp($l,$r) <= 0);
+ $self->vcmp($l,$r) <= 0;
}
sub vstring {
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS.pm b/Master/tlpkg/tlperl/lib/CPANPLUS.pm
index b61771b242c..b0122572651 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS.pm
@@ -13,7 +13,7 @@ BEGIN {
use vars qw( @EXPORT @ISA $VERSION );
@EXPORT = qw( shell fetch get install );
@ISA = qw( Exporter );
- $VERSION = "0.90"; #have to hardcode or cpan.org gets unhappy
+ $VERSION = "0.9103"; #have to hardcode or cpan.org gets unhappy
}
### purely for backward compatibility, so we can call it from the commandline:
@@ -113,7 +113,7 @@ CPANPLUS - API & CLI access to the CPAN mirrors
$ perl -MCPANPLUS -eshell
$ perl -MCPANPLUS -e'fetch Some::Module'
-
+
=head1 DESCRIPTION
The C<CPANPLUS> library is an API to the C<CPAN> mirrors and a
@@ -157,10 +157,10 @@ the two following commands:
$ perl -MCPANPLUS -eshell
-All commans available are listed in the interactive shells
+All commands available are listed in the interactive shells
help menu. See C<cpanp -h> or L<CPANPLUS::Shell::Default>
for instructions on using the default shell.
-
+
=head2 CHOOSE A SHELL
By running C<cpanp> without arguments, you will start up
@@ -173,7 +173,7 @@ the old C<CPAN.pm> shell.
You can start this shell by typing:
$ perl -MCPANPLUS -e'shell Classic'
-
+
Even more shells may be available from C<CPAN>.
Note that if you have changed your default shell in your
@@ -188,8 +188,8 @@ from C<CPAN> into a package in the format of your choice, like
for example C<.deb> or C<FreeBSD ports>.
See C<cpan2dist -h> for details.
-
-
+
+
=head1 FUNCTIONS
For quick access to common commands, you may use this module,
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
index a599e5429eb..43e73b7b1fe 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
@@ -492,7 +492,7 @@ sub parse_module {
return $maybe if IS_MODOBJ->( module => $maybe );
}
- ### Special case arbitary file paths such as '.' etc.
+ ### Special case arbitrary file paths such as '.' etc.
if ( $mod and -d File::Spec->rel2abs($mod) ) {
my $dir = File::Spec->rel2abs($mod);
my $parent = File::Spec->rel2abs( File::Spec->catdir( $dir, '..' ) );
@@ -1162,7 +1162,8 @@ sub save_state {
### XXX these wrappers are not individually tested! only the underlying
-### code through source.t and indirectly trought he CustomSource plugin.
+### code through source.t and indirectly through he CustomSource plugin.
+
=pod
=head1 CUSTOM MODULE SOURCES
@@ -1238,7 +1239,7 @@ Here's an example of how custom sources would resolve into index files:
file:///path/to/sources => file:///path/to/sources/packages.txt
http://example.com/sources => http://example.com/sources/packages.txt
ftp://example.com/sources => ftp://example.com/sources/packages.txt
-
+
The file C<packages.txt> simply holds a list of packages that can be found
under the root of the C<URI>. This file can be automatically generated for
you when the remote source is a C<file:// URI>. For C<http://>, C<ftp://>,
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
index 9edbe0452c9..e861a093a27 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
@@ -34,7 +34,7 @@ CPANPLUS::Backend::RV
$passed_args = $backend_rv->args; # args passed to function
$ok = $backend_rv->ok; # boolean indication overall
# result of the call
- $function = $backend_rv->fucntion # name of the calling
+ $function = $backend_rv->function # name of the calling
# function
$rv = $backend_rv->rv # the actual return value
# of the calling function
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
index 740ef1e637f..5cf11d3e732 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
@@ -57,7 +57,7 @@ their meaning.
=cut
### BAH! you can't have POD interleaved with a hash
-### declaration.. so declare every entry seperatedly :(
+### declaration.. so declare every entry separately :(
my $Conf = {
'_fetch' => {
'blacklist' => [ 'ftp' ],
@@ -125,13 +125,13 @@ An example entry would like this:
},
{
'scheme' => 'ftp',
- 'path' => '/pub/CPAN/',
- 'host' => 'ftp.nl.uu.net'
+ 'path' => '/',
+ 'host' => 'cpan.hexten.net'
},
{
'scheme' => 'ftp',
- 'path' => '/pub/CPAN/',
- 'host' => 'cpan.valueclick.com'
+ 'path' => '/CPAN/',
+ 'host' => 'cpan.cpantesters.org'
},
{
'scheme' => 'ftp',
@@ -225,7 +225,7 @@ Defaults to C<true>
=cut
- ### this addresses #32248 which requests a possibillity to
+ ### this addresses #32248 which requests a possibility to
### turn off custom sources
$Conf->{'conf'}->{'enable_custom_sources'} = 1;
@@ -297,14 +297,14 @@ when invoked. Defaults to an empty string.
=item md5
-A boolean indicating whether or not md5 checks should be done when
-an archive is fetched. Defaults to 'true' if you have C<Digest::MD5>
+A boolean indicating whether or not sha256 checks should be done when
+an archive is fetched. Defaults to 'true' if you have C<Digest::SHA>
installed, 'false' otherwise.
=cut
$Conf->{'conf'}->{'md5'} = (
- check_install( module => 'Digest::MD5' ) ? 1 : 0 );
+ check_install( module => 'Digest::SHA' ) ? 1 : 0 );
=item no_update
@@ -332,6 +332,7 @@ C<Compress::Zlib> installed (as that would mean we could not extract
C<.tar.gz> files)
=cut
+
### if we dont have c::zlib, we'll need to use /bin/tar or we
### can not extract any files. Good time to change the default
$Conf->{'conf'}->{'prefer_bin'} =
@@ -637,7 +638,7 @@ with CPANPLUS, which is used to enable autoflushing in spawned processes.
$path = $maybe and last BIN if -f $maybe;
### you installed CPANPLUS in a custom prefix,
- ### so go paralel to /that/. PREFIX=/tmp/cp
+ ### so go parallel to /that/. PREFIX=/tmp/cp
### would put cpanp-run-perl in /tmp/cp/bin and
### CPANPLUS.pm in
### /tmp/cp/lib/perl5/site_perl/5.8.8
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
index baac91dc886..ba1ca0785ac 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
@@ -70,14 +70,18 @@ This method returns a new object. Normal users will never need to
invoke the C<new> method, but instead retrieve the desired object via
a method call on a C<CPANPLUS::Backend> object.
+=over 4
+
=item load_configs
Controls whether or not additional user configurations are to be loaded
or not. Defaults to C<true>.
+=back
+
=cut
-### store teh CPANPLUS::Config object in a closure, so we only
+### store the CPANPLUS::Config object in a closure, so we only
### initialize it once.. otherwise, on a 2nd ->new, settings
### from configs on top of this one will be reset
{ my $Config;
@@ -336,7 +340,7 @@ sub save {
}
return unless $self->can_save($file);
- ### find only accesors that are not private
+ ### find only accessors that are not private
my @acc = sort grep { $_ !~ /^_/ } $self->conf->ls_accessors;
### for dumping the values
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
index 3bcf8f45090..b6f34f2a521 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
@@ -1203,7 +1203,7 @@ are done.
#$self->_pager_open; # host lists might be long
print loc("
-You can enter multiple sites by seperating them by a space.
+You can enter multiple sites by separating them by a space.
For example:
1 4 2 5
");
@@ -1373,7 +1373,7 @@ This may take a while...
");
- ### use the enew configuratoin ###
+ ### use the new configuration ###
$cpan->configure_object( $conf );
load CPANPLUS::Module::Fake;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
index 551b8ec405f..20c74fcd4ad 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
@@ -88,18 +88,18 @@ works. This will be set upon a successful create.
=head2 $dist = CPANPLUS::Dist::YOUR_DIST_TYPE_HERE->new( module => MODOBJ );
-Create a new C<CPANPLUS::Dist::YOUR_DIST_TYPE_HERE> object based on the
+Create a new C<CPANPLUS::Dist::YOUR_DIST_TYPE_HERE> object based on the
provided C<MODOBJ>.
*** DEPRECATED ***
The optional argument C<format> is used to indicate what type of dist
-you would like to create (like C<CPANPLUS::Dist::MM> or
+you would like to create (like C<CPANPLUS::Dist::MM> or
C<CPANPLUS::Dist::Build> and so on ).
-C<< CPANPLUS::Dist->new >> is exlusively meant as a method to be
+C<< CPANPLUS::Dist->new >> is exclusively meant as a method to be
inherited by C<CPANPLUS::Dist::MM|Build>.
-Returns a C<CPANPLUS::Dist::YOUR_DIST_TYPE_HERE> object on success
+Returns a C<CPANPLUS::Dist::YOUR_DIST_TYPE_HERE> object on success
and false on failure.
=cut
@@ -114,7 +114,7 @@ sub new {
my $tmpl = {
module => { required => 1, allow => IS_MODOBJ, store => \$mod },
### for backwards compatibility
- format => { default => $class, store => \$format,
+ format => { default => $class, store => \$format,
allow => [ __PACKAGE__->dist_types ],
},
};
@@ -130,7 +130,7 @@ sub new {
my $obj = $format->SUPER::new;
$obj->mk_accessors( qw[parent status] );
-
+
### set the parent
$obj->parent( $mod );
@@ -139,7 +139,7 @@ sub new {
$obj->status($acc);
### add minimum supported accessors
- $acc->mk_accessors( qw[prepared created installed uninstalled
+ $acc->mk_accessors( qw[prepared created installed uninstalled
distdir dist] );
}
@@ -178,7 +178,7 @@ Returns a list of the CPANPLUS::Dist::* classes available
### backdoor method to add more dist types
sub _add_dist_types { my $self = shift; push @Dists, @_ };
-
+
### backdoor method to exclude dist types
sub _ignore_dist_types { my $self = shift; push @Ignore, @_ };
sub _reset_dist_ignore { @Ignore = () };
@@ -208,8 +208,8 @@ Returns a list of the CPANPLUS::Dist::* classes available
require => 1,
except => [ keys %except ]
);
- my %ignore = map { $_ => $_ } @Ignore;
-
+ my %ignore = map { $_ => $_ } @Ignore;
+
push @Dists, grep { not $ignore{$_} and not $except{$_} }
__PACKAGE__->_dist_types;
}
@@ -224,12 +224,12 @@ C<CPANPLUS::Dist::*> classes and want to make them available to the
current process.
=cut
-
+
sub rescan_dist_types {
my $dist = shift;
$Loaded = 0; # reset the flag;
return $dist->dist_types;
- }
+ }
}
=head2 $bool = CPANPLUS::Dist->has_dist_type( $type )
@@ -241,9 +241,9 @@ Returns true if distribution type C<$type> is loaded/supported.
sub has_dist_type {
my $dist = shift;
my $type = shift or return;
-
+
return scalar grep { $_ eq $type } CPANPLUS::Dist->dist_types;
-}
+}
=head2 $bool = $dist->prereq_satisfied( modobj => $modobj, version => $version_spec )
@@ -257,26 +257,26 @@ sub prereq_satisfied {
my $dist = shift;
my $cb = $dist->parent->parent;
my %hash = @_;
-
+
my($mod,$ver);
my $tmpl = {
version => { required => 1, store => \$ver },
modobj => { required => 1, store => \$mod, allow => IS_MODOBJ },
};
-
+
check( $tmpl, \%hash ) or return;
-
+
return 1 if $mod->is_uptodate( version => $ver );
-
+
if ( $cb->_vcmp( $ver, $mod->version ) > 0 ) {
- error(loc(
+ error(loc(
"This distribution depends on %1, but the latest version".
" of %2 on CPAN (%3) doesn't satisfy the specific version".
" dependency (%4). You may have to resolve this dependency ".
- "manually.",
+ "manually.",
$mod->module, $mod->module, $mod->version, $ver ));
-
+
}
return;
@@ -284,7 +284,7 @@ sub prereq_satisfied {
=head2 $configure_requires = $dist->find_configure_requires( [file => /path/to/META.yml] )
-Reads the configure_requires for this distribution from the META.yml
+Reads the configure_requires for this distribution from the META.yml or META.json
file in the root directory and returns a hashref with module names
and versions required.
@@ -293,56 +293,112 @@ and versions required.
sub find_configure_requires {
my $self = shift;
my $mod = $self->parent;
+ my %hash = @_;
+
+ my ($meta);
+ my $href = {};
+
+ my $tmpl = {
+ file => { store => \$meta },
+ };
+
+ check( $tmpl, \%hash ) or return;
+
my $meth = 'configure_requires';
-
- ### the prereqs as we have them now
- my @args = (
+
+ {
+
+ ### the prereqs as we have them now
+ my @args = (
defaults => $mod->status->$meth || {},
- keys => [ $meth ],
- );
+ );
+
+ my @possibles = do { defined $mod->status->extract
+ ? ( META_JSON->( $mod->status->extract ),
+ META_YML->( $mod->status->extract ) )
+ : ()
+ };
+
+ unshift @possibles, $meta if $meta;
+
+ META: foreach my $mfile ( grep { -e } @possibles ) {
+ push @args, ( file => $mfile );
+ if ( $mfile =~ /\.json/ ) {
+ $href = $self->_prereqs_from_meta_json( @args, keys => [ 'configure' ] );
+ }
+ else {
+ $href = $self->_prereqs_from_meta_file( @args, keys => [ $meth ] );
+ }
+ last META;
+ }
- ### the default file to use, which may be overriden
- push @args, ( file => META_YML->( $mod->status->extract ) )
- if defined $mod->status->extract;
-
- my $href = $self->_prereqs_from_meta_file( @args, @_ );
+ }
### and store it in the module
$mod->status->$meth( $href );
return { %$href };
-}
+}
sub find_mymeta_requires {
my $self = shift;
my $mod = $self->parent;
+ my %hash = @_;
+
+ my ($meta);
+ my $href = {};
+
+ my $tmpl = {
+ file => { store => \$meta },
+ };
+
+ check( $tmpl, \%hash ) or return;
+
my $meth = 'prereqs';
-
- ### the prereqs as we have them now
- my @args = (
+
+ {
+
+ ### the prereqs as we have them now
+ my @args = (
defaults => $mod->status->$meth || {},
- keys => [qw|requires build_requires|],
- );
+ );
+
+ my @possibles = do { defined $mod->status->extract
+ ? ( MYMETA_JSON->( $mod->status->extract ),
+ MYMETA_YML->( $mod->status->extract ) )
+ : ()
+ };
+
+ unshift @possibles, $meta if $meta;
+
+ META: foreach my $mfile ( grep { -e } @possibles ) {
+ push @args, ( file => $mfile );
+ if ( $mfile =~ /\.json/ ) {
+ $href = $self->_prereqs_from_meta_json( @args,
+ keys => [ qw|build test runtime| ] );
+ }
+ else {
+ $href = $self->_prereqs_from_meta_file( @args,
+ keys => [ qw|build_requires requires| ] );
+ }
+ last META;
+ }
- ### the default file to use, which may be overriden
- push @args, ( file => MYMETA_YML->( $mod->status->extract ) )
- if defined $mod->status->extract;
-
- my $href = $self->_prereqs_from_meta_file( @args, @_ );
+ }
### and store it in the module
$mod->status->$meth( $href );
return { %$href };
}
-
+
sub _prereqs_from_meta_file {
my $self = shift;
- my $mod = $self->parent;
+ my $mod = $self->parent;
my %hash = @_;
my( $meta, $defaults, $keys );
- my $tmpl = { ### check if we have an extract path. if not, we
+ my $tmpl = { ### check if we have an extract path. if not, we
### get 'undef value' warnings from file::spec
file => { default => do { defined $mod->status->extract
? META_YML->( $mod->status->extract )
@@ -353,17 +409,17 @@ sub _prereqs_from_meta_file {
store => \$defaults },
keys => { required => 1, default => [], strict_type => 1,
store => \$keys },
- };
-
+ };
+
check( $tmpl, \%hash ) or return;
-
+
### if there's a meta file, we read it;
if( -e $meta ) {
### Parse::CPAN::Meta uses exceptions for errors
### hash returned in list context!!!
my ($doc) = eval { Parse::CPAN::Meta::LoadFile( $meta ) };
-
+
unless( $doc ) {
error(loc( "Could not read %1: '%2'", $meta, $@ ));
return $defaults;
@@ -378,7 +434,61 @@ sub _prereqs_from_meta_file {
} if $doc->{ $key };
}
}
-
+
+ ### and return a copy
+ return \%{ $defaults };
+}
+
+sub _prereqs_from_meta_json {
+ my $self = shift;
+ my $mod = $self->parent;
+ my %hash = @_;
+
+ my( $meta, $defaults, $keys );
+ my $tmpl = { ### check if we have an extract path. if not, we
+ ### get 'undef value' warnings from file::spec
+ file => { default => do { defined $mod->status->extract
+ ? META_JSON->( $mod->status->extract )
+ : '' },
+ store => \$meta,
+ },
+ defaults => { required => 1, default => {}, strict_type => 1,
+ store => \$defaults },
+ keys => { required => 1, default => [], strict_type => 1,
+ store => \$keys },
+ };
+
+ check( $tmpl, \%hash ) or return;
+
+ ### if there's a meta file, we read it;
+ if( -e $meta ) {
+
+ ### Parse::CPAN::Meta uses exceptions for errors
+ ### hash returned in list context!!!
+ my ($doc) = eval { Parse::CPAN::Meta->load_file( $meta ) };
+
+ unless( $doc ) {
+ error(loc( "Could not read %1: '%2'", $meta, $@ ));
+ return $defaults;
+ }
+
+ ### read the keys now, make sure not to throw
+ ### away anything that was already added
+ #for my $key ( @$keys ) {
+ # $defaults = {
+ # %$defaults,
+ # %{ $doc->{$key} },
+ # } if $doc->{ $key };
+ #}
+ my $prereqs = $doc->{prereqs} || {};
+ for my $key ( @$keys ) {
+ $defaults = {
+ %$defaults,
+ %{ $prereqs->{$key}->{requires} },
+ } if $prereqs->{ $key }->{requires};
+ }
+ }
+
### and return a copy
return \%{ $defaults };
}
@@ -451,7 +561,7 @@ sub _resolve_prereqs {
PREREQ_IGNORE, TARGET_IGNORE,
PREREQ_INSTALL, TARGET_INSTALL,
}->{ $conf->get_conf('prereqs') } || '';
-
+
### XXX BIG NASTY HACK XXX FIXME at some point.
### when installing Bundle::CPANPLUS::Dependencies, we want to
### install all packages matching 'cpanplus' to be installed last,
@@ -466,7 +576,7 @@ sub _resolve_prereqs {
### we got a transparent implementation.. that would mean we would
### just have to remove the 'sort' here, and all will be well
my @sorted_prereqs;
-
+
### use regex, could either be a module name, or a package name
if( $self->module =~ /^Bundle(::|-)CPANPLUS(::|-)Dependencies/ ) {
my (@first, @last);
@@ -483,13 +593,13 @@ sub _resolve_prereqs {
### first, transfer this key/value pairing into a
### list of module objects + desired versions
my @install_me;
-
+
for my $mod ( @sorted_prereqs ) {
- my $version = $prereqs->{$mod};
-
+ ( my $version = $prereqs->{$mod} ) =~ s#[^0-9\._]+##g;
+
### 'perl' is a special case, there's no mod object for it
if( $mod eq PERL_CORE ) {
-
+
### run a CLI invocation to see if the perl you specified is
### uptodate
my $ok = run( command => "$^X -M$version -e1", verbose => 0 );
@@ -497,14 +607,14 @@ sub _resolve_prereqs {
unless( $ok ) {
error(loc( "Module '%1' needs perl version '%2', but you ".
"only have version '%3' -- can not proceed",
- $self->module, $version,
+ $self->module, $version,
$cb->_perl_version( perl => $^X ) ) );
- return;
+ return;
}
next;
}
-
+
my $modobj = $cb->module_tree($mod);
#### XXX we ignore the version, and just assume that the latest
@@ -514,14 +624,14 @@ sub _resolve_prereqs {
my $sub = CPANPLUS::Module->can(
'module_is_supplied_with_perl_core' );
my $core = $sub->( $mod );
- unless ( $core ) {
+ unless ( defined $core ) {
error( loc( "No such module '%1' found on CPAN", $mod ) );
next;
}
if ( $cb->_vcmp( $version, $core ) > 0 ) {
error(loc( "Version of core module '%1' ('%2') is too low for ".
- "'%3' (needs '%4') -- carrying on but this may be a problem",
- $mod, $core,
+ "'%3' (needs '%4') -- carrying on but this may be a problem",
+ $mod, $core,
$self->module, $version ));
}
next;
@@ -583,7 +693,7 @@ sub _resolve_prereqs {
### see bug [#11840]
### if either force or prereq_build are given, the prereq
### should be built anyway
- next if (!$force and !$prereq_build) &&
+ next if (!$force and !$prereq_build) &&
$dist->prereq_satisfied(modobj => $modobj, version => $version);
### either we're told to ignore the prereq,
@@ -611,10 +721,10 @@ sub _resolve_prereqs {
### part of core?
if( $modobj->package_is_perl_core ) {
error(loc("Prerequisite '%1' is perl-core (%2) -- not ".
- "installing that. Aborting install",
+ "installing that. -- Note that the overall ".
+ "install may fail due to this.",
$modobj->module, $modobj->package ) );
- $flag++;
- last;
+ next;
}
### circular dependency code ###
@@ -663,7 +773,7 @@ sub _resolve_prereqs {
"-- weird", $modobj->module));
$modobj->add_to_includepath();
-
+
next;
}
}
@@ -672,7 +782,7 @@ sub _resolve_prereqs {
keys %$prereqs;
### chdir back to where we started
- chdir $original_wd;
+ $cb->_chdir( dir => $original_wd );
return 1 unless $flag;
return;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
index 16638b258f8..9561dd9f325 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
@@ -16,7 +16,7 @@ CPANPLUS::Dist::Autobundle
$modobj = $cb->parse_module( module => 'file://path/to/Snapshot_XXYY.pm' );
$modobj->install;
-
+
=head1 DESCRIPTION
C<CPANPLUS::Dist::Autobundle> is a distribution class for installing installation
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
index c7108ed1392..904ab172266 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
@@ -97,14 +97,14 @@ For example, you might want to add extra accessors to the C<status>
object, which you might do as follows:
$dist->status->mk_accessors( qw[my_implementation_accessor] );
-
+
The C<status> object is implemented as an instance of the
C<Object::Accessor> class. Please refer to its documentation for
details.
-
-Return true if the initialization was successul, and false if it was
+
+Return true if the initialization was successful, and false if it was
not.
-
+
The C<CPANPLUS::Dist::Base> implementation does not alter your object
and always returns true.
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
index 0f27639cda5..164bcb0a9ec 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
@@ -30,7 +30,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
local $Params::Check::VERBOSE = 1;
-$VERSION = '0.46';
+$VERSION = '0.54';
=pod
@@ -98,7 +98,7 @@ BOOL indicating if the C<Build test> command was successful.
=item C<prepared ()>
-BOOL indicating if the C<prepare> call exited succesfully
+BOOL indicating if the C<prepare> call exited successfully
This gets set after C<perl Build.PL>
=item C<distdir ()>
@@ -108,7 +108,7 @@ set after a call to C<prepare>.
=item C<created ()>
-BOOL indicating if the C<create> call exited succesfully. This gets
+BOOL indicating if the C<create> call exited successfully. This gets
set after C<Build> and C<Build test>.
=item C<installed ()>
@@ -145,8 +145,8 @@ to create and install modules in your environment.
### check if the format is available ###
sub format_available {
- my $mod = "Module::Build";
- unless( can_load( modules => { $mod => '0.2611' } ) ) {
+ my $mod = 'Module::Build';
+ unless( can_load( modules => { $mod => '0.2611' }, nocache => 1 ) ) {
error( loc( "You do not have '%1' -- '%2' not available",
$mod, __PACKAGE__ ) );
return;
@@ -192,7 +192,7 @@ The variable C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path
of the C<Build.PL> that is being executed. This enables any code inside
the C<Build.PL> to know that it is being installed via CPANPLUS.
-After a succcesfull C<prepare> you may call C<create> to create the
+After a successful C<prepare> you may call C<create> to create the
distribution, followed by C<install> to actually install it.
Returns true on success and false on failure.
@@ -275,9 +275,9 @@ sub prepare {
### we resolve 'configure requires' here, so we can run the 'perl
### Makefile.PL' command
### XXX for tests: mock f_c_r to something that *can* resolve and
- ### something that *doesnt* resolve. Check the error log for ok
+ ### something that *doesn't* resolve. Check the error log for ok
### on this step or failure
- ### XXX make a seperate tarball to test for this scenario: simply
+ ### XXX make a separate tarball to test for this scenario: simply
### containing a makefile.pl/build.pl for test purposes?
my $safe_ver = version->new('0.85_01');
if ( version->new($CPANPLUS::Internals::VERSION) >= $safe_ver )
@@ -426,8 +426,12 @@ sub _find_prereqs {
$prereqs->{$_} = $bphash->{$type}->{$_} for keys %{ $bphash->{$type} };
}
}
- # Temporary fix
- delete $prereqs->{'perl'};
+
+ {
+ delete $prereqs->{'perl'}
+ unless version->new($CPANPLUS::Internals::VERSION)
+ >= version->new('0.9102');
+ }
### allows for a user defined callback to filter the prerequisite
### list as they see fit, to remove (or add) any prereqs they see
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
index 1ac02108e44..ba1ca8665c0 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
@@ -9,7 +9,7 @@ BEGIN {
require Exporter;
use vars qw[$VERSION @ISA @EXPORT];
- $VERSION = '0.46';
+ $VERSION = '0.54';
@ISA = qw[Exporter];
@EXPORT = qw[ BUILD_DIR BUILD ];
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
index be65cd43cc8..b2205e46f0b 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
@@ -32,7 +32,7 @@ CPANPLUS::Dist::MM
$mm->create; # runs make && make test
$mm->install; # runs make install
-
+
=head1 DESCRIPTION
C<CPANPLUS::Dist::MM> is a distribution class for MakeMaker related
@@ -78,7 +78,7 @@ successful.
=item prepared ()
-BOOL indicating if the C<prepare> call exited succesfully
+BOOL indicating if the C<prepare> call exited successfully
This gets set after C<perl Makefile.PL>
=item distdir ()
@@ -88,7 +88,7 @@ set after a call to C<prepare>.
=item created ()
-BOOL indicating if the C<create> call exited succesfully. This gets
+BOOL indicating if the C<create> call exited successfully. This gets
set after C<make> and C<make test>.
=item installed ()
@@ -154,7 +154,9 @@ sub format_available {
return 1;
}
-=pod $bool = $dist->init();
+=pod
+
+=head2 $bool = $dist->init();
Sets up the C<CPANPLUS::Dist::MM> object for use.
Effectively creates all the needed status accessors.
@@ -174,7 +176,9 @@ sub init {
return 1;
}
-=pod $bool = $dist->prepare([perl => '/path/to/perl', makemakerflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
+=pod
+
+=head2 $bool = $dist->prepare([perl => '/path/to/perl', makemakerflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
C<prepare> preps a distribution for installation. This means it will
run C<perl Makefile.PL> and determine what prerequisites this distribution
@@ -258,9 +262,9 @@ sub prepare {
### we resolve 'configure requires' here, so we can run the 'perl
### Makefile.PL' command
### XXX for tests: mock f_c_r to something that *can* resolve and
- ### something that *doesnt* resolve. Check the error log for ok
+ ### something that *doesn't* resolve. Check the error log for ok
### on this step or failure
- ### XXX make a seperate tarball to test for this scenario: simply
+ ### XXX make a separate tarball to test for this scenario: simply
### containing a makefile.pl/build.pl for test purposes?
{ my $configure_requires = $dist->find_configure_requires;
my $ok = $dist->_resolve_prereqs(
@@ -694,7 +698,7 @@ sub create {
$dist->status->test(1);
} else {
- error( loc( "MAKE TEST failed: %1 %2", $!, $captured ) );
+ error( loc( "MAKE TEST failed: %1", $captured ) );
### send out error report here? or do so at a higher level?
### --higher level --kane.
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
index 38710a8a857..c42435f1922 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
@@ -100,7 +100,9 @@ BEGIN {
}
sub flush {
- return reverse $log->flush;
+ my @foo = $log->flush;
+ return unless @foo;
+ return reverse @foo;
}
sub stack {
@@ -133,7 +135,10 @@ printed. This defaults to C<*STDERR>.
This is the filehandle all the messages sent to C<msg()> are being
printed. This default to C<*STDOUT>.
+=back
+
=cut
+
local $| = 1;
$ERROR_FH = \*STDERR;
$MSG_FH = \*STDOUT;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod b/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod
index 1a28b9e5b05..6a754fb25ee 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod
@@ -49,7 +49,7 @@ from there.
=head1 RUNNING CPANPLUS TESTS
Tests are what tells us if CPANPLUS is working. If a test is not working,
-try to run it explicilty like this:
+try to run it explicitly like this:
perl -I/path/to/cpanplus/lib t/XX_name_of_test.t 1
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
index fedcb670aa4..4756421a4ad 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
@@ -42,7 +42,7 @@ use vars qw[@ISA $VERSION];
CPANPLUS::Internals::Report
];
-$VERSION = "0.90";
+$VERSION = "0.9103";
=pod
@@ -104,6 +104,7 @@ You have to pass it a valid C<CPANPLUS::Configure> object.
Returns the object on success, or dies on failure.
=cut
+
{ ### NOTE:
### if extra callbacks are added, don't forget to update the
### 02-internals.t test script with them!
@@ -182,7 +183,7 @@ Returns the object on success, or dies on failure.
### create a selfupdate object
$args->_selfupdate( CPANPLUS::Selfupdate->new( $args ) );
- ### initalize it as an empty hashref ###
+ ### initialize it as an empty hashref ###
$args->_status->pending_prereqs( {} );
$conf->_set_build( startdir => cwd() ),
@@ -255,7 +256,7 @@ be flushed.
@INC = @{$conf->_lib};
### give all modules a new status object -- this is slightly
- ### costly, but the best way to make sure all statusses are
+ ### costly, but the best way to make sure all statuses are
### forgotten --kane
} elsif ( $what eq 'modules' ) {
for my $modobj ( values %{$self->module_tree} ) {
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
index 1a38200dfb7..443d5a4ca8a 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
@@ -154,6 +154,16 @@ use constant MYMETA_YML => sub { return @_
: 'MYMETA.yml';
};
+use constant META_JSON => sub { return @_
+ ? File::Spec->catfile( @_, 'META.json' )
+ : 'META.json';
+ };
+
+use constant MYMETA_JSON => sub { return @_
+ ? File::Spec->catfile( @_, 'MYMETA.json' )
+ : 'MYMETA.json';
+ };
+
use constant BLIB => sub { return @_
? File::Spec->catfile(@_, 'blib')
: 'blib';
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
index 59a41a6083b..abdb3c98dd0 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
@@ -80,10 +80,10 @@ use constant RELEVANT_TEST_RESULT
my $name = $mod->module;
my $specific;
for my $platform (keys %OS) {
- if( $name =~ /\b$platform\b/i ) {
+ if( $name =~ /^$platform\b/i ) {
# beware the Mac != MAC
next if($platform eq 'Mac' &&
- $name !~ /\b$platform\b/);
+ $name !~ /^$platform\b/);
$specific++;
return 1 if
$^O =~ /^(?:$OS{$platform})$/
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
index 84a48a50dea..f30911bab88 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
@@ -36,12 +36,12 @@ CPANPLUS::Internals::Extract extracts compressed files for CPANPLUS.
It can do this by either a pure perl solution (preferred) with the
use of C<Archive::Tar> and C<Compress::Zlib>, or with binaries, like
C<gzip> and C<tar>.
-
+
The flow looks like this:
$cb->_extract
Delegate to Archive::Extract
-
+
=head1 METHODS
=head2 $dir = _extract( module => $modobj, [perl => '/path/to/perl', extractdir => '/path/to/extract/to', prefer_bin => BOOL, verbose => BOOL, force => BOOL] )
@@ -165,7 +165,7 @@ sub _extract {
### extracted.. try to offer a suggestion and bail :(
unless ( $ae->files ) {
error( loc( "'%1' was not able to determine extracted ".
- "files from the archive. Instal '%2' and ensure ".
+ "files from the archive. Install '%2' and ensure ".
"it works properly and try again",
$ae->is_zip ? 'Archive::Zip' : 'Archive::Tar' ) );
return;
@@ -178,7 +178,7 @@ sub _extract {
### set them all to be +w for the owner, so we don't get permission
### denied for overwriting files that are just +r
- ### this is to rigurous -- just change to +w for the owner [cpan #13358]
+ ### this is too rigorous -- just change to +w for the owner [cpan #13358]
#chmod 0755, map { File::Spec->rel2abs( File::Spec->catdir($to, $_) ) }
# @{$ae->files};
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
index 395965bab60..7dcb3c366bb 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
@@ -122,7 +122,7 @@ sub _fetch {
my ($remote_file, $local_file, $local_path);
- ### build the local path to downlaod to ###
+ ### build the local path to download to ###
{
$local_path = $args->{fetchdir} ||
File::Spec->catdir(
@@ -280,7 +280,7 @@ sub _fetch {
### D:\foo\bar needs to be encoded as D|\foo\bar
### For details, see the following link:
### http://en.wikipedia.org/wiki/File://
- ### The RFC doesnt seem to address Windows volume
+ ### The RFC doesn't seem to address Windows volume
### descriptors but it does address VMS volume
### descriptors, however wikipedia covers a bit of
### history regarding win32
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
index 774c6b91a02..73a2d297e2d 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
@@ -11,6 +11,7 @@ use Data::Dumper;
use Params::Check qw[check];
use Module::Load::Conditional qw[can_load];
use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
+use version;
$Params::Check::VERBOSE = 1;
@@ -25,7 +26,7 @@ CPANPLUS::Internals::Report
### enable test reporting
$cb->configure_object->set_conf( cpantest => 1 );
-
+
### set custom mx host, shouldn't normally be needed
$cb->configure_object->set_conf( cpantest_mx => 'smtp.example.com' );
@@ -63,7 +64,7 @@ otherwise.
my $send_list = {
%$query_list,
- 'Test::Reporter' => '1.34',
+ 'Test::Reporter' => '1.54',
};
sub _have_query_report_modules {
@@ -103,7 +104,7 @@ otherwise.
This function queries the CPAN testers database at
I<http://testers.cpan.org/> for test results of specified module objects,
-module names or distributions.
+module names or distributions.
The optional argument C<all_versions> controls whether all versions of
a given distribution should be grabbed. It defaults to false
@@ -184,7 +185,7 @@ sub _query_report {
my $res = do {
my $tempdir = File::Temp::tempdir();
my $where = $ff->fetch( to => $tempdir );
-
+
unless( $where ) {
error( loc( "Fetching report for '%1' failed: %2",
$url, $ff->error ) );
@@ -192,7 +193,7 @@ sub _query_report {
}
my $fh = OPEN_FILE->( $where );
-
+
do { local $/; <$fh> };
};
@@ -208,11 +209,11 @@ sub _query_report {
my @rv;
for my $href ( @$aref ) {
- next unless $all or defined $href->{'distversion'} &&
+ next unless $all or defined $href->{'distversion'} &&
$href->{'distversion'} eq $dist;
$href->{'details'} = $details;
-
+
### backwards compatibility :(
$href->{'dist'} ||= $href->{'distversion'};
$href->{'grade'} ||= $href->{'action'} || $href->{'status'};
@@ -295,7 +296,7 @@ sub _send_report {
}
### check arguments ###
- my ($buffer, $failed, $mod, $verbose, $force, $address, $save,
+ my ($buffer, $failed, $mod, $verbose, $force, $address, $save,
$tests_skipped );
my $tmpl = {
module => { required => 1, store => \$mod, allow => IS_MODOBJ },
@@ -307,7 +308,7 @@ sub _send_report {
store => \$verbose },
force => { default => $conf->get_conf('force'),
store => \$force },
- tests_skipped
+ tests_skipped
=> { default => 0, store => \$tests_skipped },
};
@@ -317,6 +318,7 @@ sub _send_report {
my $name = $mod->module;
my $dist = $mod->package_name . '-' . $mod->package_version;
my $author = $mod->author->author;
+ my $distfile= $mod->author->cpanid . "/" . $mod->package;
my $email = $mod->author->email || CPAN_MAIL_ACCOUNT->( $author );
my $cp_conf = $conf->get_conf('cpantest') || '';
my $int_ver = $CPANPLUS::Internals::VERSION;
@@ -330,27 +332,43 @@ sub _send_report {
my $grade;
### check if this is a platform specific module ###
- ### if we failed the test, there may be reasons why
- ### an 'NA' might have to be insted
+ ### if we failed the test, there may be reasons why
+ ### an 'NA' might have to be instead
GRADE: { if ( $failed ) {
-
+
### XXX duplicated logic between this block
### and REPORTED_LOADED_PREREQS :(
-
+
### figure out if the prereqs are on CPAN at all
### -- if not, send NA grade
### Also, if our version of prereqs is too low,
### -- send NA grade.
- ### This is to address bug: #25327: do not count
+ ### This is to address bug: #25327: do not count
### as FAIL modules where prereqs are not filled
{ my $prq = $mod->status->prereqs || {};
-
- while( my($prq_name,$prq_ver) = each %$prq ) {
+
+ PREREQ: while( my($prq_name,$prq_ver) = each %$prq ) {
+
+ # 'perl' listed as prereq
+
+ if ( $prq_name eq 'perl' ) {
+ my $req_ver = eval { version->new( $prq_ver ) };
+ next PREREQ unless $req_ver;
+ if ( version->new( $] ) < $req_ver ) {
+ msg(loc("'%1' requires a higher version of perl than your current ".
+ "version -- sending N/A grade.", $name), $verbose);
+
+ $grade = GRADE_NA;
+ last GRADE;
+ }
+ next PREREQ;
+ }
+
my $obj = $cb->module_tree( $prq_name );
- my $sub = CPANPLUS::Module->can(
+ my $sub = CPANPLUS::Module->can(
'module_is_supplied_with_perl_core' );
-
+
### if we can't find the module and it's not supplied with core.
### this addresses: #32064: NA reports generated for failing
### tests where core prereqs are specified
@@ -358,62 +376,62 @@ sub _send_report {
### version of perl (5.8.6+ and 5.9.2-4 at the time of writing)
### 'Config' is not recognized as a core module. See this bug:
### http://rt.cpan.org/Ticket/Display.html?id=32155
- if( !$obj and !$sub->( $prq_name ) ) {
+ if( !$obj and !defined $sub->( $prq_name ) ) {
msg(loc( "Prerequisite '%1' for '%2' could not be obtained".
- " from CPAN -- sending N/A grade",
+ " from CPAN -- sending N/A grade",
$prq_name, $name ), $verbose );
$grade = GRADE_NA;
- last GRADE;
+ last GRADE;
}
if ( !$obj ) {
my $vcore = $sub->( $prq_name );
if ( $cb->_vcmp( $prq_ver, $vcore ) > 0 ) {
msg(loc( "Version of core module '%1' ('%2') is too low for ".
- "'%3' (needs '%4') -- sending N/A grade",
- $prq_name, $vcore,
+ "'%3' (needs '%4') -- sending N/A grade",
+ $prq_name, $vcore,
$name, $prq_ver ), $verbose );
-
+
$grade = GRADE_NA;
- last GRADE;
+ last GRADE;
}
}
if( $obj and $cb->_vcmp( $prq_ver, $obj->installed_version ) > 0 ) {
msg(loc( "Installed version of '%1' ('%2') is too low for ".
- "'%3' (needs '%4') -- sending N/A grade",
- $prq_name, $obj->installed_version,
+ "'%3' (needs '%4') -- sending N/A grade",
+ $prq_name, $obj->installed_version,
$name, $prq_ver ), $verbose );
-
+
$grade = GRADE_NA;
- last GRADE;
- }
+ last GRADE;
+ }
}
}
-
+
unless( RELEVANT_TEST_RESULT->($mod) ) {
msg(loc(
"'%1' is a platform specific module, and the test results on".
" your platform are not relevant --sending N/A grade.",
$name), $verbose);
-
+
$grade = GRADE_NA;
-
+
} elsif ( UNSUPPORTED_OS->( $buffer ) ) {
msg(loc(
"'%1' is a platform specific module, and the test results on".
" your platform are not relevant --sending N/A grade.",
$name), $verbose);
-
+
$grade = GRADE_NA;
-
- ### you dont have a high enough perl version?
+
+ ### you dont have a high enough perl version?
} elsif ( PERL_VERSION_TOO_LOW->( $buffer ) ) {
msg(loc("'%1' requires a higher version of perl than your current ".
"version -- sending N/A grade.", $name), $verbose);
-
- $grade = GRADE_NA;
+
+ $grade = GRADE_NA;
### perhaps where were no tests...
### see if the thing even had tests ###
@@ -425,7 +443,7 @@ sub _send_report {
$grade = GRADE_UNKNOWN
} else {
-
+
$grade = GRADE_FAIL;
}
@@ -488,7 +506,7 @@ sub _send_report {
} elsif ( $tests_skipped ) {
$message .= REPORT_TESTS_SKIPPED->();
} elsif( $grade eq GRADE_NA) {
-
+
### the bit where we inform what went wrong
$message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $buffer );
@@ -502,32 +520,33 @@ sub _send_report {
### reporter object ###
my $reporter = do {
my $args = $conf->get_conf('cpantest_reporter_args') || {};
-
+
unless( UNIVERSAL::isa( $args, 'HASH' ) ) {
error(loc("'%1' must be a hashref, ignoring...",
'cpantest_reporter_args'));
$args = {};
}
-
+
Test::Reporter->new(
grade => $grade,
distribution => $dist,
+ distfile => $distfile,
via => "CPANPLUS $int_ver",
timeout => $conf->get_conf('timeout') || 60,
debug => $conf->get_conf('debug'),
%$args,
);
};
-
+
### set a custom mx, if requested
- $reporter->mx( [ $conf->get_conf('cpantest_mx') ] )
+ $reporter->mx( [ $conf->get_conf('cpantest_mx') ] )
if $conf->get_conf('cpantest_mx');
### set the from address ###
$reporter->from( $conf->get_conf('email') )
if $conf->get_conf('email') !~ /\@example\.\w+$/i;
- ### give the user a chance to programattically alter the message
+ ### give the user a chance to programatically alter the message
$message = $self->_callbacks->munge_test_report->($mod, $message, $grade);
### add the body if we have any ###
@@ -567,10 +586,10 @@ sub _send_report {
### XXX should we do an 'already sent' check? ###
### something broke :( ###
- }
+ }
else {
my $status;
- eval {
+ eval {
$status = $reporter->send();
};
if ( $@ ) {
@@ -602,7 +621,7 @@ sub _verify_missing_prereqs {
check( $tmpl, \%hash ) or return;
-
+
my %missing = map {$_ => 1} @$missing;
my $conf = $self->configure_object;
my $extract = $mod->status->extract;
@@ -622,9 +641,9 @@ sub _verify_missing_prereqs {
for my $file ( @search ) {
if(-e $file and -r $file) {
my $slurp = $self->_get_file_contents(file => $file);
- my ($prereq) =
+ my ($prereq) =
($slurp =~ /'?(?:PREREQ_PM|requires)'?\s*=>\s*{(.*?)}/s);
- my @prereq =
+ my @prereq =
($prereq =~ /'?([\w\:]+)'?\s*=>\s*'?\d[\d\.\-\_]*'?/sg);
delete $missing{$_} for(@prereq);
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
index 63c4da64d92..a93626b618e 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
@@ -337,7 +337,7 @@ sub _all_installed {
my $modobj = $self->module_tree($mod);
- ### seperate return, a list context return with one ''
+ ### separate return, a list context return with one ''
### in it, is also true!
return unless $modobj;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
index 54e9d710cfd..96370046255 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
@@ -204,7 +204,7 @@ sub _build_trees {
### XXX unpleasant hack. since custom sources uses ->parse_module, we
### already have a special module object with extra meta data. that
### doesn't gelwell with the sqlite storage engine. So, we check 'normal'
- ### trees from seperate trees, so the engine can treat them differently.
+ ### trees from separate trees, so the engine can treat them differently.
### Effectively this means that with the SQLite engine, for now, custom
### sources are continuously reparsed =/ -kane
if( not $self->_custom_trees_completed ) {
@@ -890,7 +890,7 @@ sub _dslip_defs {
d => loc('Developer'),
u => loc('Usenet newsgroup comp.lang.perl.modules'),
n => loc('None known, try comp.lang.perl.modules'),
- a => loc('Abandoned; volunteers welcome to take over maintainance'),
+ a => loc('Abandoned; volunteers welcome to take over maintenance'),
}],
# L
@@ -1340,7 +1340,7 @@ Returns true on success, false on failure.
=cut
-### use $auth_obj as a persistant version, so we don't have to recreate
+### use $auth_obj as a persistent version, so we don't have to recreate
### modules all the time
{ my $auth_obj;
@@ -1391,7 +1391,7 @@ Returns true on success, false on failure.
$mod->author( $auth_obj );
- ### and now add it to the modlue tree -- this MAY
+ ### and now add it to the module tree -- this MAY
### override things of course
if( my $old_mod = $self->module_tree( $mod->module ) ) {
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
index a0ddf499bf6..556be6456d5 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
@@ -51,9 +51,17 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
{ AutoCommit => 1 }
);
#$Dbh->dbh->trace(1);
+ $Dbh->query(qq{PRAGMA synchronous = OFF});
return $Dbh;
};
+
+ sub __sqlite_disconnect {
+ return unless $Dbh;
+ $Dbh->disconnect;
+ $Dbh = undef;
+ return;
+ }
}
{ my $used_old_copy = 0;
@@ -79,6 +87,7 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
$used_old_copy = 0;
### chuck the file
+ $self->__sqlite_disconnect;
1 while unlink $self->__sqlite_file;
### and create a new one
@@ -118,7 +127,7 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
sub _standard_trees_completed { return $used_old_copy }
sub _custom_trees_completed { return }
### finish transaction
- sub _finalize_trees { $_[0]->__sqlite_dbh->query('COMMIT'); return 1 }
+ sub _finalize_trees { $_[0]->__sqlite_dbh->commit; return 1 }
### saves current memory state, but not implemented in sqlite
sub _save_state {
@@ -155,8 +164,8 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
### keep counting how many we inserted
unless( ++$txn_count % TXN_COMMIT ) {
#warn "Committing transaction $txn_count";
- $dbh->query('COMMIT') or error( $dbh->error ); # commit previous transaction
- $dbh->query('BEGIN') or error( $dbh->error ); # and start a new one
+ $dbh->commit or error( $dbh->error ); # commit previous transaction
+ $dbh->begin_work or error( $dbh->error ); # and start a new one
}
$dbh->query(
@@ -201,8 +210,8 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
### keep counting how many we inserted
unless( ++$txn_count % TXN_COMMIT ) {
#warn "Committing transaction $txn_count";
- $dbh->query('COMMIT') or error( $dbh->error ); # commit previous transaction
- $dbh->query('BEGIN') or error( $dbh->error ); # and start a new one
+ $dbh->commit or error( $dbh->error ); # commit previous transaction
+ $dbh->begin_work or error( $dbh->error ); # and start a new one
}
$dbh->query(
@@ -264,7 +273,7 @@ sub __sqlite_create_db {
my $self = shift;
my $dbh = $self->__sqlite_dbh;
- ### we can ignore the result/error; not all sqlite implemantation
+ ### we can ignore the result/error; not all sqlite implementations
### support this
$dbh->query( qq[
DROP TABLE IF EXISTS author;
@@ -319,7 +328,46 @@ sub __sqlite_create_db {
error( $dbh->error );
return;
};
-
+
+ $dbh->query( qq[
+ /* the module index */
+ CREATE INDEX IX_module_module ON module (
+ module
+ );
+
+ \n]
+
+ ) or do {
+ error( $dbh->error );
+ return;
+ };
+
+ $dbh->query( qq[
+ /* the version index */
+ CREATE INDEX IX_module_version ON module (
+ version
+ );
+
+ \n]
+
+ ) or do {
+ error( $dbh->error );
+ return;
+ };
+
+ $dbh->query( qq[
+ /* the module-version index */
+ CREATE INDEX IX_module_module_version ON module (
+ module, version
+ );
+
+ \n]
+
+ ) or do {
+ error( $dbh->error );
+ return;
+ };
+
return 1;
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
index 27d2abcdad1..31abaffed4d 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
@@ -5,7 +5,7 @@ use strict;
use CPANPLUS::Error;
use CPANPLUS::Internals::Constants;
-use Cwd qw[chdir];
+use Cwd qw[chdir cwd];
use File::Copy;
use Params::Check qw[check];
use Module::Load::Conditional qw[can_load];
@@ -238,7 +238,9 @@ sub _get_file_contents {
return $contents;
}
-=pod $cb->_move( from => $file|$dir, to => $target );
+=pod
+
+=head2 $cb->_move( from => $file|$dir, to => $target );
Moves a file or directory to the target.
@@ -267,7 +269,9 @@ sub _move {
}
}
-=pod $cb->_copy( from => $file|$dir, to => $target );
+=pod
+
+=head2 $cb->_copy( from => $file|$dir, to => $target );
Moves a file or directory to the target.
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
index 9e4b67e4a38..8d237efc050 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
@@ -447,7 +447,7 @@ L<Module::ThirdParty> for more details.
my $core = $self->module_is_supplied_with_perl_core;
### ok, so it's found in the core, BUT it could be dual-lifed
- if ($core) {
+ if (defined $core) {
### if the package is newer than installed, then it's dual-lifed
return if $cb->_vcmp($self->version, $self->installed_version) > 0;
@@ -480,8 +480,13 @@ L<Module::ThirdParty> for more details.
### broken for perl 5.10: Module::CoreList's version key for the
### hash has a different number of trailing zero than $] aka
### $PERL_VERSION.
- my $core = $Module::CoreList::version{ 0+$ver }->{ $name };
+ my $core;
+
+ if ( exists $Module::CoreList::version{ 0+$ver }->{ $name } ) {
+ $core = $Module::CoreList::version{ 0+$ver }->{ $name };
+ $core = 0 unless $core;
+ }
return $core;
}
@@ -775,7 +780,7 @@ sub dist {
"available, but is not! -- aborting", $type));
return;
} else {
- msg(loc("Installer '%1' succesfully bootstrapped", $type));
+ msg(loc("Installer '%1' successfully bootstrapped", $type));
}
### some other plugin you dont have. Abort
@@ -828,7 +833,7 @@ sub dist {
=pod
=head2 $bool = $mod->prepare( )
-
+
Convenience method around C<install()> that prepares a module
without actually building it. This is equivalent to invoking C<install>
with C<target> set to C<prepare>
@@ -1001,6 +1006,7 @@ sub install {
$self->extract( %$params ) or return;
}
+ $args->{'prereq_format'} = $format if $format;
$format ||= $self->status->installer_type;
unless( $format ) {
@@ -1444,7 +1450,7 @@ sub uninstall {
my $dirs = $self->directory_tree( type => $type ) or return;
my $sudo = $conf->get_program('sudo');
- ### just in case there's no file; M::B doensn't provide .packlists yet ###
+ ### just in case there's no file; M::B doesn't provide .packlists yet ###
my $pack = $self->packlist;
$pack = $pack->[0]->packlist_file() if $pack;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
index 92940fa51ff..0daac6716d7 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
@@ -131,7 +131,7 @@ sub modules {
my $aref = $cb->_search_module_tree(
type => 'author',
### XXX, depending on backend, this is either an object
- ### or the cpanid string. Dont know an elegant way to
+ ### or the cpanid string. Don't know an elegant way to
### solve this right now, so passing both
allow => [$self, $self->cpanid],
);
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
index e1a2bbdb6ad..3f9561e2dfe 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
@@ -75,7 +75,7 @@ sub _validate_checksum {
### if we can't check it, we must assume it's ok ###
return $self->status->checksum_ok(1)
- unless can_load( modules => { 'Digest::MD5' => '0.0' } );
+ unless can_load( modules => { 'Digest::SHA' => '0.0' } );
#class CPANPLUS::Module::Status is runtime-generated
my $file = $self->_get_checksums_file( verbose => $verbose ) or (
@@ -103,29 +103,30 @@ sub _validate_checksum {
msg(loc("Archive size is not known for '%1'",$self->package),$verbose);
}
- my $md5 = $href->{ $self->package }->{'md5'};
+ my $sha = $href->{ $self->package }->{'sha256'};
- unless( defined $md5 ) {
- msg(loc("No 'md5' checksum known for '%1'",$self->package),$verbose);
+ unless( defined $sha ) {
+ msg(loc("No 'sha256' checksum known for '%1'",$self->package),$verbose);
return $self->status->checksum_ok(1);
}
- $self->status->checksum_value($md5);
+ $self->status->checksum_value($sha);
my $fh = FileHandle->new( $self->status->fetch ) or return;
binmode $fh;
- my $ctx = Digest::MD5->new;
+ my $ctx = Digest::SHA->new(256);
$ctx->addfile( $fh );
- my $flag = $ctx->hexdigest eq $md5;
+ my $hexdigest = $ctx->hexdigest;
+ my $flag = $hexdigest eq $sha;
$flag
? msg(loc("Checksum matches for '%1'", $self->package),$verbose)
: error(loc("Checksum does not match for '%1': " .
- "MD5 is '%2' but should be '%3'",
- $self->package, $ctx->hexdigest, $md5),$verbose);
+ "SHA256 is '%2' but should be '%3'",
+ $self->package, $hexdigest, $sha),$verbose);
return $self->status->checksum_ok(1) if $flag;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
index 48f918ce82e..6f2015c504c 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
@@ -4,6 +4,7 @@ use strict;
use Params::Check qw[check];
use IPC::Cmd qw[can_run];
use CPANPLUS::Error qw[error msg];
+use Module::Load::Conditional qw[check_install];
use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
use CPANPLUS::Internals::Constants;
@@ -46,7 +47,7 @@ CPANPLUS::Selfupdate
'Locale::Maketext::Simple' => '0.01',
'Log::Message' => '0.01',
'Module::Load' => '0.10',
- 'Module::Load::Conditional' => '0.31_01', # returns dir for loaded
+ 'Module::Load::Conditional' => '0.38', # returns dir for loaded
# modules
'version' => '0.73', # needed for M::L::C
# addresses #24630 and
@@ -65,8 +66,10 @@ CPANPLUS::Selfupdate
'Module::CoreList' => '2.22', # deprecated core modules
'Module::Pluggable' => '2.4',
'Module::Loaded' => '0.01',
- 'Parse::CPAN::Meta' => '0.02', # config_requires support
+ 'Parse::CPAN::Meta' => '1.4200', # config_requires support
'ExtUtils::Install' => '1.42', # uninstall outside @INC
+ ( check_install( module => 'CPANPLUS::Dist::Build' )
+ ? ( 'CPANPLUS::Dist::Build' => '0.24' ) : () ),
},
features => {
@@ -85,7 +88,7 @@ CPANPLUS::Selfupdate
],
cpantest => [
{ 'Test::Reporter' => '1.34',
- 'Parse::CPAN::Meta' => '0.0'
+ 'Parse::CPAN::Meta' => '1.4200'
},
sub {
my $cb = shift;
@@ -107,7 +110,7 @@ CPANPLUS::Selfupdate
md5 => [
{
- 'Digest::MD5' => '0.0',
+ 'Digest::SHA' => '0.0',
},
sub {
my $cb = shift;
@@ -233,7 +236,7 @@ See C<selfupdate> for details.
sub list_categories { return sort keys %$cache }
=head2 %list = $self->list_modules_to_update( update => "core|dependencies|enabled_features|features|all", [latest => BOOL] )
-
+
List which modules C<selfupdate> would upgrade. You can update either
the core (CPANPLUS itself), the core dependencies, all features you have
currently turned on, or all features available, or everything.
@@ -246,11 +249,11 @@ Returns a hash of feature names and lists of module objects to be
upgraded based on the category you provided. For example:
%list = $self->list_modules_to_update( update => 'core' );
-
+
Would return:
( core => [ $module_object_for_cpanplus ] );
-
+
=cut
sub list_modules_to_update {
@@ -287,7 +290,7 @@ Would return:
return %list;
}
-
+
=head2 $bool = $self->selfupdate( update => "core|dependencies|enabled_features|features|all", [latest => BOOL, force => BOOL] )
Selfupdate CPANPLUS. You can update either the core (CPANPLUS itself),
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
index 854d46b16a4..e3eb181c6dc 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
@@ -299,7 +299,7 @@ sub _pager_close {
my $self = shift;
my $fmt = shift;
- ### MUST specify $fmt as a seperate param, and not as part
+ ### MUST specify $fmt as a separate param, and not as part
### of @_, as it will then miss the $fmt and return the
### number of elements in the list... =/ --kane
$self->__print( sprintf( $fmt, @_ ) );
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
index a9d51422f66..35c02aff2b7 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
@@ -26,7 +26,7 @@ local $Data::Dumper::Indent = 1; # for dumpering from !
BEGIN {
use vars qw[ $VERSION @ISA ];
@ISA = qw[ CPANPLUS::Shell::_Base::ReadLine ];
- $VERSION = "0.90";
+ $VERSION = "0.9103";
}
load CPANPLUS::Shell;
@@ -142,7 +142,7 @@ CPANPLUS::Shell::Default
cpanp> q # quit the shell
- cpanp> /plugins # list avialable plugins
+ cpanp> /plugins # list available plugins
cpanp> /? PLUGIN # list help test of <PLUGIN>
### common options:
@@ -1222,6 +1222,7 @@ sub _set_conf {
my ($type,$key,$value) = $input =~ m/(\w+)\s*(\w*)\s*(.*?)$/;
$value =~ s/\s+$//g if $value;
+ $type = '' unless defined $type;
$type = lc $type;
if( $type eq 'reconfigure' ) {
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
index ad4701a488c..7b546819075 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
@@ -12,7 +12,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
CPANPLUS::Shell::Default::Plugins::CustomSource
=head1 SYNOPSIS
-
+
### elaborate help text
CPAN Terminal> /? cs
diff --git a/Master/tlpkg/tlperl/lib/Carp.pm b/Master/tlpkg/tlperl/lib/Carp.pm
index b2948ea7664..77fc2a1e2c1 100644
--- a/Master/tlpkg/tlperl/lib/Carp.pm
+++ b/Master/tlpkg/tlperl/lib/Carp.pm
@@ -1,18 +1,21 @@
package Carp;
-our $VERSION = '1.17';
+use strict;
+use warnings;
+
+our $VERSION = '1.20';
our $MaxEvalLen = 0;
our $Verbose = 0;
our $CarpLevel = 0;
-our $MaxArgLen = 64; # How much of each argument to print. 0 = all.
-our $MaxArgNums = 8; # How many arguments to print. 0 = all.
+our $MaxArgLen = 64; # How much of each argument to print. 0 = all.
+our $MaxArgNums = 8; # How many arguments to print. 0 = all.
require Exporter;
-our @ISA = ('Exporter');
-our @EXPORT = qw(confess croak carp);
+our @ISA = ('Exporter');
+our @EXPORT = qw(confess croak carp);
our @EXPORT_OK = qw(cluck verbose longmess shortmess);
-our @EXPORT_FAIL = qw(verbose); # hook to enable verbose mode
+our @EXPORT_FAIL = qw(verbose); # hook to enable verbose mode
# The members of %Internal are packages that are internal to perl.
# Carp will not report errors from within these packages if it
@@ -23,6 +26,9 @@ our @EXPORT_FAIL = qw(verbose); # hook to enable verbose mode
# $Max(EvalLen|(Arg(Len|Nums)) variables are used to specify how the eval
# text and function arguments should be formatted when printed.
+our %CarpInternal;
+our %Internal;
+
# disable these by default, so they can live w/o require Carp
$CarpInternal{Carp}++;
$CarpInternal{warnings}++;
@@ -36,6 +42,12 @@ $Internal{'Exporter::Heavy'}++;
sub export_fail { shift; $Verbose = shift if $_[0] eq 'verbose'; @_ }
+sub _cgc {
+ no strict 'refs';
+ return \&{"CORE::GLOBAL::caller"} if defined &{"CORE::GLOBAL::caller"};
+ return;
+}
+
sub longmess {
# Icky backwards compatibility wrapper. :-(
#
@@ -43,84 +55,109 @@ sub longmess {
# number of call levels to go back, so calls to longmess were off
# by one. Other code began calling longmess and expecting this
# behaviour, so the replacement has to emulate that behaviour.
- my $call_pack = defined &{"CORE::GLOBAL::caller"} ? &{"CORE::GLOBAL::caller"}() : caller();
- if ($Internal{$call_pack} or $CarpInternal{$call_pack}) {
- return longmess_heavy(@_);
+ my $cgc = _cgc();
+ my $call_pack = $cgc ? $cgc->() : caller();
+ if ( $Internal{$call_pack} or $CarpInternal{$call_pack} ) {
+ return longmess_heavy(@_);
}
else {
- local $CarpLevel = $CarpLevel + 1;
- return longmess_heavy(@_);
+ local $CarpLevel = $CarpLevel + 1;
+ return longmess_heavy(@_);
}
-};
+}
+
+our @CARP_NOT;
sub shortmess {
+ my $cgc = _cgc();
+
# Icky backwards compatibility wrapper. :-(
- local @CARP_NOT = defined &{"CORE::GLOBAL::caller"} ? &{"CORE::GLOBAL::caller"}() : caller();
+ local @CARP_NOT = $cgc ? $cgc->() : caller();
shortmess_heavy(@_);
-};
+}
-sub croak { die shortmess @_ }
-sub confess { die longmess @_ }
+sub croak { die shortmess @_ }
+sub confess { die longmess @_ }
sub carp { warn shortmess @_ }
-sub cluck { warn longmess @_ }
+sub cluck { warn longmess @_ }
sub caller_info {
- my $i = shift(@_) + 1;
- my %call_info;
- {
- package DB;
- @args = \$i; # A sentinal, which no-one else has the address of
- @call_info{
- qw(pack file line sub has_args wantarray evaltext is_require)
- } = defined &{"CORE::GLOBAL::caller"} ? &{"CORE::GLOBAL::caller"}($i) : caller($i);
- }
-
- unless (defined $call_info{pack}) {
- return ();
- }
-
- my $sub_name = Carp::get_subname(\%call_info);
- if ($call_info{has_args}) {
- my @args;
- if (@DB::args == 1 && ref $DB::args[0] eq ref \$i && $DB::args[0] == \$i) {
- @DB::args = (); # Don't let anyone see the address of $i
- @args = "** Incomplete caller override detected; \@DB::args were not set **";
- } else {
- @args = map {Carp::format_arg($_)} @DB::args;
+ my $i = shift(@_) + 1;
+ my %call_info;
+ my $cgc = _cgc();
+ {
+ package DB;
+ @DB::args = \$i; # A sentinel, which no-one else has the address of
+ @call_info{
+ qw(pack file line sub has_args wantarray evaltext is_require) }
+ = $cgc ? $cgc->($i) : caller($i);
}
- if ($MaxArgNums and @args > $MaxArgNums) { # More than we want to show?
- $#args = $MaxArgNums;
- push @args, '...';
+
+ unless ( defined $call_info{pack} ) {
+ return ();
+ }
+
+ my $sub_name = Carp::get_subname( \%call_info );
+ if ( $call_info{has_args} ) {
+ my @args;
+ if ( @DB::args == 1
+ && ref $DB::args[0] eq ref \$i
+ && $DB::args[0] == \$i ) {
+ @DB::args = (); # Don't let anyone see the address of $i
+ local $@;
+ my $where = eval {
+ my $func = $cgc or return '';
+ my $gv = B::svref_2object($func)->GV;
+ my $package = $gv->STASH->NAME;
+ my $subname = $gv->NAME;
+ return unless defined $package && defined $subname;
+
+ # returning CORE::GLOBAL::caller isn't useful for tracing the cause:
+ return if $package eq 'CORE::GLOBAL' && $subname eq 'caller';
+ " in &${package}::$subname";
+ } // '';
+ @args
+ = "** Incomplete caller override detected$where; \@DB::args were not set **";
+ }
+ else {
+ @args = map { Carp::format_arg($_) } @DB::args;
+ }
+ if ( $MaxArgNums and @args > $MaxArgNums )
+ { # More than we want to show?
+ $#args = $MaxArgNums;
+ push @args, '...';
+ }
+
+ # Push the args onto the subroutine
+ $sub_name .= '(' . join( ', ', @args ) . ')';
}
- # Push the args onto the subroutine
- $sub_name .= '(' . join (', ', @args) . ')';
- }
- $call_info{sub_name} = $sub_name;
- return wantarray() ? %call_info : \%call_info;
+ $call_info{sub_name} = $sub_name;
+ return wantarray() ? %call_info : \%call_info;
}
# Transform an argument to a function into a string.
sub format_arg {
- my $arg = shift;
- if (ref($arg)) {
- $arg = defined($overload::VERSION) ? overload::StrVal($arg) : "$arg";
- }
- if (defined($arg)) {
- $arg =~ s/'/\\'/g;
- $arg = str_len_trim($arg, $MaxArgLen);
-
- # Quote it?
- $arg = "'$arg'" unless $arg =~ /^-?[\d.]+\z/;
- } else {
- $arg = 'undef';
- }
-
- # The following handling of "control chars" is direct from
- # the original code - it is broken on Unicode though.
- # Suggestions?
- utf8::is_utf8($arg)
- or $arg =~ s/([[:cntrl:]]|[[:^ascii:]])/sprintf("\\x{%x}",ord($1))/eg;
- return $arg;
+ my $arg = shift;
+ if ( ref($arg) ) {
+ $arg = defined($overload::VERSION) ? overload::StrVal($arg) : "$arg";
+ }
+ if ( defined($arg) ) {
+ $arg =~ s/'/\\'/g;
+ $arg = str_len_trim( $arg, $MaxArgLen );
+
+ # Quote it?
+ $arg = "'$arg'" unless $arg =~ /^-?[0-9.]+\z/;
+ } # 0-9, not \d, as \d will try to
+ else { # load Unicode tables
+ $arg = 'undef';
+ }
+
+ # The following handling of "control chars" is direct from
+ # the original code - it is broken on Unicode though.
+ # Suggestions?
+ utf8::is_utf8($arg)
+ or $arg =~ s/([[:cntrl:]]|[[:^ascii:]])/sprintf("\\x{%x}",ord($1))/eg;
+ return $arg;
}
# Takes an inheritance cache and a package and returns
@@ -129,148 +166,148 @@ sub format_arg {
# for.
sub get_status {
my $cache = shift;
- my $pkg = shift;
- $cache->{$pkg} ||= [{$pkg => $pkg}, [trusts_directly($pkg)]];
- return @{$cache->{$pkg}};
+ my $pkg = shift;
+ $cache->{$pkg} ||= [ { $pkg => $pkg }, [ trusts_directly($pkg) ] ];
+ return @{ $cache->{$pkg} };
}
# Takes the info from caller() and figures out the name of
# the sub/require/eval
sub get_subname {
- my $info = shift;
- if (defined($info->{evaltext})) {
- my $eval = $info->{evaltext};
- if ($info->{is_require}) {
- return "require $eval";
+ my $info = shift;
+ if ( defined( $info->{evaltext} ) ) {
+ my $eval = $info->{evaltext};
+ if ( $info->{is_require} ) {
+ return "require $eval";
+ }
+ else {
+ $eval =~ s/([\\\'])/\\$1/g;
+ return "eval '" . str_len_trim( $eval, $MaxEvalLen ) . "'";
+ }
}
- else {
- $eval =~ s/([\\\'])/\\$1/g;
- return "eval '" . str_len_trim($eval, $MaxEvalLen) . "'";
- }
- }
- return ($info->{sub} eq '(eval)') ? 'eval {...}' : $info->{sub};
+ return ( $info->{sub} eq '(eval)' ) ? 'eval {...}' : $info->{sub};
}
# Figures out what call (from the point of view of the caller)
# the long error backtrace should start at.
sub long_error_loc {
- my $i;
- my $lvl = $CarpLevel;
- {
- ++$i;
- my $pkg = defined &{"CORE::GLOBAL::caller"} ? &{"CORE::GLOBAL::caller"}($i) : caller($i);
- unless(defined($pkg)) {
- # This *shouldn't* happen.
- if (%Internal) {
- local %Internal;
- $i = long_error_loc();
- last;
- }
- else {
- # OK, now I am irritated.
- return 2;
- }
+ my $i;
+ my $lvl = $CarpLevel;
+ {
+ ++$i;
+ my $cgc = _cgc();
+ my $pkg = $cgc ? $cgc->($i) : caller($i);
+ unless ( defined($pkg) ) {
+
+ # This *shouldn't* happen.
+ if (%Internal) {
+ local %Internal;
+ $i = long_error_loc();
+ last;
+ }
+ else {
+
+ # OK, now I am irritated.
+ return 2;
+ }
+ }
+ redo if $CarpInternal{$pkg};
+ redo unless 0 > --$lvl;
+ redo if $Internal{$pkg};
}
- redo if $CarpInternal{$pkg};
- redo unless 0 > --$lvl;
- redo if $Internal{$pkg};
- }
- return $i - 1;
+ return $i - 1;
}
-
sub longmess_heavy {
- return @_ if ref($_[0]); # don't break references as exceptions
- my $i = long_error_loc();
- return ret_backtrace($i, @_);
+ return @_ if ref( $_[0] ); # don't break references as exceptions
+ my $i = long_error_loc();
+ return ret_backtrace( $i, @_ );
}
# Returns a full stack backtrace starting from where it is
# told.
sub ret_backtrace {
- my ($i, @error) = @_;
- my $mess;
- my $err = join '', @error;
- $i++;
-
- my $tid_msg = '';
- if (defined &threads::tid) {
- my $tid = threads->tid;
- $tid_msg = " thread $tid" if $tid;
- }
-
- my %i = caller_info($i);
- $mess = "$err at $i{file} line $i{line}$tid_msg\n";
-
- while (my %i = caller_info(++$i)) {
- $mess .= "\t$i{sub_name} called at $i{file} line $i{line}$tid_msg\n";
- }
-
- return $mess;
+ my ( $i, @error ) = @_;
+ my $mess;
+ my $err = join '', @error;
+ $i++;
+
+ my $tid_msg = '';
+ if ( defined &threads::tid ) {
+ my $tid = threads->tid;
+ $tid_msg = " thread $tid" if $tid;
+ }
+
+ my %i = caller_info($i);
+ $mess = "$err at $i{file} line $i{line}$tid_msg\n";
+
+ while ( my %i = caller_info( ++$i ) ) {
+ $mess .= "\t$i{sub_name} called at $i{file} line $i{line}$tid_msg\n";
+ }
+
+ return $mess;
}
sub ret_summary {
- my ($i, @error) = @_;
- my $err = join '', @error;
- $i++;
-
- my $tid_msg = '';
- if (defined &threads::tid) {
- my $tid = threads->tid;
- $tid_msg = " thread $tid" if $tid;
- }
-
- my %i = caller_info($i);
- return "$err at $i{file} line $i{line}$tid_msg\n";
-}
+ my ( $i, @error ) = @_;
+ my $err = join '', @error;
+ $i++;
+ my $tid_msg = '';
+ if ( defined &threads::tid ) {
+ my $tid = threads->tid;
+ $tid_msg = " thread $tid" if $tid;
+ }
-sub short_error_loc {
- # You have to create your (hash)ref out here, rather than defaulting it
- # inside trusts *on a lexical*, as you want it to persist across calls.
- # (You can default it on $_[2], but that gets messy)
- my $cache = {};
- my $i = 1;
- my $lvl = $CarpLevel;
- {
-
- my $called = defined &{"CORE::GLOBAL::caller"} ? &{"CORE::GLOBAL::caller"}($i) : caller($i);
- $i++;
- my $caller = defined &{"CORE::GLOBAL::caller"} ? &{"CORE::GLOBAL::caller"}($i) : caller($i);
-
- return 0 unless defined($caller); # What happened?
- redo if $Internal{$caller};
- redo if $CarpInternal{$caller};
- redo if $CarpInternal{$called};
- redo if trusts($called, $caller, $cache);
- redo if trusts($caller, $called, $cache);
- redo unless 0 > --$lvl;
- }
- return $i - 1;
+ my %i = caller_info($i);
+ return "$err at $i{file} line $i{line}$tid_msg\n";
}
+sub short_error_loc {
+ # You have to create your (hash)ref out here, rather than defaulting it
+ # inside trusts *on a lexical*, as you want it to persist across calls.
+ # (You can default it on $_[2], but that gets messy)
+ my $cache = {};
+ my $i = 1;
+ my $lvl = $CarpLevel;
+ {
+ my $cgc = _cgc();
+ my $called = $cgc ? $cgc->($i) : caller($i);
+ $i++;
+ my $caller = $cgc ? $cgc->($i) : caller($i);
+
+ return 0 unless defined($caller); # What happened?
+ redo if $Internal{$caller};
+ redo if $CarpInternal{$caller};
+ redo if $CarpInternal{$called};
+ redo if trusts( $called, $caller, $cache );
+ redo if trusts( $caller, $called, $cache );
+ redo unless 0 > --$lvl;
+ }
+ return $i - 1;
+}
sub shortmess_heavy {
- return longmess_heavy(@_) if $Verbose;
- return @_ if ref($_[0]); # don't break references as exceptions
- my $i = short_error_loc();
- if ($i) {
- ret_summary($i, @_);
- }
- else {
- longmess_heavy(@_);
- }
+ return longmess_heavy(@_) if $Verbose;
+ return @_ if ref( $_[0] ); # don't break references as exceptions
+ my $i = short_error_loc();
+ if ($i) {
+ ret_summary( $i, @_ );
+ }
+ else {
+ longmess_heavy(@_);
+ }
}
# If a string is too long, trims it with ...
sub str_len_trim {
- my $str = shift;
- my $max = shift || 0;
- if (2 < $max and $max < length($str)) {
- substr($str, $max - 3) = '...';
- }
- return $str;
+ my $str = shift;
+ my $max = shift || 0;
+ if ( 2 < $max and $max < length($str) ) {
+ substr( $str, $max - 3 ) = '...';
+ }
+ return $str;
}
# Takes two packages and an optional cache. Says whether the
@@ -280,16 +317,17 @@ sub str_len_trim {
# possible endless loops, and when following long chains of
# inheritance are less efficient.
sub trusts {
- my $child = shift;
+ my $child = shift;
my $parent = shift;
- my $cache = shift;
- my ($known, $partial) = get_status($cache, $child);
+ my $cache = shift;
+ my ( $known, $partial ) = get_status( $cache, $child );
+
# Figure out consequences until we have an answer
- while (@$partial and not exists $known->{$parent}) {
+ while ( @$partial and not exists $known->{$parent} ) {
my $anc = shift @$partial;
next if exists $known->{$anc};
$known->{$anc}++;
- my ($anc_knows, $anc_partial) = get_status($cache, $anc);
+ my ( $anc_knows, $anc_partial ) = get_status( $cache, $anc );
my @found = keys %$anc_knows;
@$known{@found} = ();
push @$partial, @$anc_partial;
@@ -301,10 +339,10 @@ sub trusts {
sub trusts_directly {
my $class = shift;
no strict 'refs';
- no warnings 'once';
+ no warnings 'once';
return @{"$class\::CARP_NOT"}
- ? @{"$class\::CARP_NOT"}
- : @{"$class\::ISA"};
+ ? @{"$class\::CARP_NOT"}
+ : @{"$class\::ISA"};
}
1;
@@ -313,20 +351,22 @@ __END__
=head1 NAME
-carp - warn of errors (from perspective of caller)
-
-cluck - warn of errors with stack backtrace
- (not exported by default)
-
-croak - die of errors (from perspective of caller)
-
-confess - die of errors with stack backtrace
+Carp - alternative warn and die for modules
=head1 SYNOPSIS
use Carp;
+
+ # warn user (from perspective of caller)
+ carp "string trimmed to 80 chars";
+
+ # die of errors (from perspective of caller)
croak "We're outta here!";
+ # die of errors with stack backtrace
+ confess "not implemented";
+
+ # cluck not exported by default
use Carp qw(cluck);
cluck "This is how we got here!";
diff --git a/Master/tlpkg/tlperl/lib/Carp/Always.pm b/Master/tlpkg/tlperl/lib/Carp/Always.pm
deleted file mode 100644
index 68bcaee5247..00000000000
--- a/Master/tlpkg/tlperl/lib/Carp/Always.pm
+++ /dev/null
@@ -1,162 +0,0 @@
-
-package Carp::Always;
-
-use 5.006;
-use strict;
-use warnings;
-
-our $VERSION = '0.09';
-
-use Carp qw(verbose); # makes carp() cluck and croak() confess
-
-sub _warn {
- if ($_[-1] =~ /\n$/s) {
- my $arg = pop @_;
- $arg =~ s/ at .*? line .*?\n$//s;
- push @_, $arg;
- }
- warn &Carp::longmess;
-}
-
-sub _die {
- if ($_[-1] =~ /\n$/s) {
- my $arg = pop @_;
- $arg =~ s/ at .*? line .*?\n$//s;
- push @_, $arg;
- }
- die &Carp::longmess;
-}
-
-my %OLD_SIG;
-
-BEGIN {
- @OLD_SIG{qw(__DIE__ __WARN__)} = @SIG{qw(__DIE__ __WARN__)};
- $SIG{__DIE__} = \&_die;
- $SIG{__WARN__} = \&_warn;
-}
-
-END {
- @SIG{qw(__DIE__ __WARN__)} = @OLD_SIG{qw(__DIE__ __WARN__)};
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Carp::Always - Warns and dies noisily with stack backtraces
-
-=head1 SYNOPSIS
-
- use Carp::Always;
-
-makes every C<warn()> and C<die()> complains loudly in the calling package
-and elsewhere. More often used on the command line:
-
- perl -MCarp::Always script.pl
-
-=head1 DESCRIPTION
-
-This module is meant as a debugging aid. It can be
-used to make a script complain loudly with stack backtraces
-when warn()ing or die()ing.
-
-Here are how stack backtraces produced by this module
-looks:
-
- # it works for explicit die's and warn's
- $ perl -MCarp::Always -e 'sub f { die "arghh" }; sub g { f }; g'
- arghh at -e line 1
- main::f() called at -e line 1
- main::g() called at -e line 1
-
- # it works for interpreter-thrown failures
- $ perl -MCarp::Always -w -e 'sub f { $a = shift; @a = @$a };' \
- -e 'sub g { f(undef) }; g'
- Use of uninitialized value in array dereference at -e line 1
- main::f('undef') called at -e line 2
- main::g() called at -e line 2
-
-In the implementation, the C<Carp> module does
-the heavy work, through C<longmess()>. The
-actual implementation sets the signal hooks
-C<$SIG{__WARN__}> and C<$SIG{__DIE__}> to
-emit the stack backtraces.
-
-Oh, by the way, C<carp> and C<croak> when requiring/using
-the C<Carp> module are also made verbose, behaving
-like C<cloak> and C<confess>, respectively.
-
-=head2 EXPORT
-
-Nothing at all is exported.
-
-=head1 ACKNOWLEDGMENTS
-
-This module was born as a reaction to a release
-of L<Acme::JavaTrace> by Sébastien Aperghis-Tramoni.
-Sébastien also has a newer module called
-L<Devel::SimpleTrace> with the same code and fewer flame
-comments on docs. The pruning of the uselessly long
-docs of this module were prodded by Michael Schwern.
-
-Schwern and others told me "the module name stinked" -
-it was called C<Carp::Indeed>. After thinking long
-and not getting nowhere, I went with nuffin's suggestion
-and now it is called C<Carp::Always>.
-C<Carp::Indeed> which is now deprecate
-lives in its own distribution (which won't go anywhere
-but will stay there as a redirection to this module).
-
-=head1 SEE ALSO
-
-=over 4
-
-=item *
-
-L<Carp>
-
-=item *
-
-L<Acme::JavaTrace> and L<Devel::SimpleTrace>
-
-=back
-
-Please report bugs via CPAN RT
-http://rt.cpan.org/NoAuth/Bugs.html?Dist=Carp-Always.
-
-=head1 BUGS
-
-Every (un)deserving module has its own pet bugs.
-
-=over 4
-
-=item *
-
-This module does not play well with other modules which fusses
-around with C<warn>, C<die>, C<$SIG{'__WARN__'}>,
-C<$SIG{'__DIE__'}>.
-
-=item *
-
-Test scripts are good. I should write more of these.
-
-=item *
-
-I don't know if this module name is still a bug as it was
-at the time of C<Carp::Indeed>.
-
-=back
-
-=head1 AUTHOR
-
-Adriano Ferreira, E<lt>ferreira@cpan.orgE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2005-2007 by Adriano R. Ferreira
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Class/ISA.pm b/Master/tlpkg/tlperl/lib/Class/ISA.pm
deleted file mode 100644
index 83f47acf6d7..00000000000
--- a/Master/tlpkg/tlperl/lib/Class/ISA.pm
+++ /dev/null
@@ -1,218 +0,0 @@
-package Class::ISA;
-require 5;
-use strict;
-use vars qw($Debug $VERSION);
-$VERSION = '0.36';
-$Debug = 0 unless defined $Debug;
-
-use if $] >= 5.011, 'deprecate';
-
-###########################################################################
-
-sub self_and_super_versions {
- no strict 'refs';
- map {
- $_ => (defined(${"$_\::VERSION"}) ? ${"$_\::VERSION"} : undef)
- } self_and_super_path($_[0])
-}
-
-# Also consider magic like:
-# no strict 'refs';
-# my %class2SomeHashr =
-# map { defined(%{"$_\::SomeHash"}) ? ($_ => \%{"$_\::SomeHash"}) : () }
-# Class::ISA::self_and_super_path($class);
-# to get a hash of refs to all the defined (and non-empty) hashes in
-# $class and its superclasses.
-#
-# Or even consider this incantation for doing something like hash-data
-# inheritance:
-# no strict 'refs';
-# %union_hash =
-# map { defined(%{"$_\::SomeHash"}) ? %{"$_\::SomeHash"}) : () }
-# reverse(Class::ISA::self_and_super_path($class));
-# Consider that reverse() is necessary because with
-# %foo = ('a', 'wun', 'b', 'tiw', 'a', 'foist');
-# $foo{'a'} is 'foist', not 'wun'.
-
-###########################################################################
-sub super_path {
- my @ret = &self_and_super_path(@_);
- shift @ret if @ret;
- return @ret;
-}
-
-#--------------------------------------------------------------------------
-sub self_and_super_path {
- # Assumption: searching is depth-first.
- # Assumption: '' (empty string) can't be a class package name.
- # Note: 'UNIVERSAL' is not given any special treatment.
- return () unless @_;
-
- my @out = ();
-
- my @in_stack = ($_[0]);
- my %seen = ($_[0] => 1);
-
- my $current;
- while(@in_stack) {
- next unless defined($current = shift @in_stack) && length($current);
- print "At $current\n" if $Debug;
- push @out, $current;
- no strict 'refs';
- unshift @in_stack,
- map
- { my $c = $_; # copy, to avoid being destructive
- substr($c,0,2) = "main::" if substr($c,0,2) eq '::';
- # Canonize the :: -> main::, ::foo -> main::foo thing.
- # Should I ever canonize the Foo'Bar = Foo::Bar thing?
- $seen{$c}++ ? () : $c;
- }
- @{"$current\::ISA"}
- ;
- # I.e., if this class has any parents (at least, ones I've never seen
- # before), push them, in order, onto the stack of classes I need to
- # explore.
- }
-
- return @out;
-}
-#--------------------------------------------------------------------------
-1;
-
-__END__
-
-=head1 NAME
-
-Class::ISA - report the search path for a class's ISA tree
-
-=head1 SYNOPSIS
-
- # Suppose you go: use Food::Fishstick, and that uses and
- # inherits from other things, which in turn use and inherit
- # from other things. And suppose, for sake of brevity of
- # example, that their ISA tree is the same as:
-
- @Food::Fishstick::ISA = qw(Food::Fish Life::Fungus Chemicals);
- @Food::Fish::ISA = qw(Food);
- @Food::ISA = qw(Matter);
- @Life::Fungus::ISA = qw(Life);
- @Chemicals::ISA = qw(Matter);
- @Life::ISA = qw(Matter);
- @Matter::ISA = qw();
-
- use Class::ISA;
- print "Food::Fishstick path is:\n ",
- join(", ", Class::ISA::super_path('Food::Fishstick')),
- "\n";
-
-That prints:
-
- Food::Fishstick path is:
- Food::Fish, Food, Matter, Life::Fungus, Life, Chemicals
-
-=head1 DESCRIPTION
-
-Suppose you have a class (like Food::Fish::Fishstick) that is derived,
-via its @ISA, from one or more superclasses (as Food::Fish::Fishstick
-is from Food::Fish, Life::Fungus, and Chemicals), and some of those
-superclasses may themselves each be derived, via its @ISA, from one or
-more superclasses (as above).
-
-When, then, you call a method in that class ($fishstick->calories),
-Perl first searches there for that method, but if it's not there, it
-goes searching in its superclasses, and so on, in a depth-first (or
-maybe "height-first" is the word) search. In the above example, it'd
-first look in Food::Fish, then Food, then Matter, then Life::Fungus,
-then Life, then Chemicals.
-
-This library, Class::ISA, provides functions that return that list --
-the list (in order) of names of classes Perl would search to find a
-method, with no duplicates.
-
-=head1 FUNCTIONS
-
-=over
-
-=item the function Class::ISA::super_path($CLASS)
-
-This returns the ordered list of names of classes that Perl would
-search thru in order to find a method, with no duplicates in the list.
-$CLASS is not included in the list. UNIVERSAL is not included -- if
-you need to consider it, add it to the end.
-
-
-=item the function Class::ISA::self_and_super_path($CLASS)
-
-Just like C<super_path>, except that $CLASS is included as the first
-element.
-
-=item the function Class::ISA::self_and_super_versions($CLASS)
-
-This returns a hash whose keys are $CLASS and its
-(super-)superclasses, and whose values are the contents of each
-class's $VERSION (or undef, for classes with no $VERSION).
-
-The code for self_and_super_versions is meant to serve as an example
-for precisely the kind of tasks I anticipate that self_and_super_path
-and super_path will be used for. You are strongly advised to read the
-source for self_and_super_versions, and the comments there.
-
-=back
-
-=head1 CAUTIONARY NOTES
-
-* Class::ISA doesn't export anything. You have to address the
-functions with a "Class::ISA::" on the front.
-
-* Contrary to its name, Class::ISA isn't a class; it's just a package.
-Strange, isn't it?
-
-* Say you have a loop in the ISA tree of the class you're calling one
-of the Class::ISA functions on: say that Food inherits from Matter,
-but Matter inherits from Food (for sake of argument). If Perl, while
-searching for a method, actually discovers this cyclicity, it will
-throw a fatal error. The functions in Class::ISA effectively ignore
-this cyclicity; the Class::ISA algorithm is "never go down the same
-path twice", and cyclicities are just a special case of that.
-
-* The Class::ISA functions just look at @ISAs. But theoretically, I
-suppose, AUTOLOADs could bypass Perl's ISA-based search mechanism and
-do whatever they please. That would be bad behavior, tho; and I try
-not to think about that.
-
-* If Perl can't find a method anywhere in the ISA tree, it then looks
-in the magical class UNIVERSAL. This is rarely relevant to the tasks
-that I expect Class::ISA functions to be put to, but if it matters to
-you, then instead of this:
-
- @supers = Class::Tree::super_path($class);
-
-do this:
-
- @supers = (Class::Tree::super_path($class), 'UNIVERSAL');
-
-And don't say no-one ever told ya!
-
-* When you call them, the Class::ISA functions look at @ISAs anew --
-that is, there is no memoization, and so if ISAs change during
-runtime, you get the current ISA tree's path, not anything memoized.
-However, changing ISAs at runtime is probably a sign that you're out
-of your mind!
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 1999-2009 Sean M. Burke. All rights reserved.
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 AUTHOR
-
-Sean M. Burke C<sburke@cpan.org>
-
-=head1 MAINTAINER
-
-Maintained by Steffen Mueller C<smueller@cpan.org>.
-
-=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
index 48f82073355..9aadba333b0 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
@@ -12,7 +12,7 @@ use Carp ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.024';
+$VERSION = '2.033';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -220,7 +220,7 @@ Returns C<BZ_STREAM_END> on success and a C<bzip2> error code on failure.
=head1 Uncompression
-=head2 ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $limitOutput;
+=head2 ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput;
If successful, it will return the initialised uncompression object, C<$z>
and a C<$status> of C<BZ_OK> in a list context. In scalar context it
@@ -273,6 +273,12 @@ enabled.
This option defaults to false.
+=item B<$verbosity>
+
+This parameter is ignored.
+
+Defaults to 0.
+
=back
=head2 $status = $z->bzinflate($input, $output);
@@ -348,7 +354,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
index 79c96b76ccd..8b17dcc9f39 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
@@ -13,7 +13,7 @@ use warnings ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.024';
+$VERSION = '2.033';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -60,6 +60,7 @@ $VERSION = eval $VERSION;
Z_STREAM_END
Z_STREAM_ERROR
Z_SYNC_FLUSH
+ Z_TREES
Z_UNKNOWN
Z_VERSION_ERROR
@@ -563,6 +564,7 @@ Compress::Raw::Zlib - Low-Level Interface to zlib compression library
($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) ;
$status = $i->inflate($input, $output [, $eof]) ;
$status = $i->inflateSync($input) ;
+ $i->inflateReset() ;
$i->dict_adler() ;
$d->crc32() ;
$d->adler32() ;
@@ -629,7 +631,7 @@ The default is C<Z_DEFAULT_COMPRESSION>.
=item B<-Method>
Defines the compression method. The only valid value at present (and
-the default) is Z_DEFLATED.
+the default) is C<Z_DEFLATED>.
=item B<-WindowBits>
@@ -659,7 +661,7 @@ Defines the strategy used to tune the compression. The valid values are
C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED>, C<Z_RLE>, C<Z_FIXED> and
C<Z_HUFFMAN_ONLY>.
-The default is Z_DEFAULT_STRATEGY.
+The default is C<Z_DEFAULT_STRATEGY>.
=item B<-Dictionary>
@@ -1100,6 +1102,14 @@ Note I<full flush points> are not present by default in compressed
data streams. They must have been added explicitly when the data stream
was created by calling C<Compress::Deflate::flush> with C<Z_FULL_FLUSH>.
+=head2 B<$status = $i-E<gt>inflateReset() >
+
+This method will reset the inflation object C<$i>. It can be used when you
+are uncompressing multiple data streams and want to use the same object to
+uncompress each of them.
+
+Returns C<Z_OK> if successful.
+
=head2 B<$i-E<gt>dict_adler()>
Returns the adler32 value for the dictionary.
@@ -1412,7 +1422,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
index 9424df63b8b..db206366b51 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
@@ -3,22 +3,21 @@ package Compress::Zlib;
require 5.004 ;
require Exporter;
-use AutoLoader;
use Carp ;
use IO::Handle ;
use Scalar::Util qw(dualvar);
-use IO::Compress::Base::Common 2.024 ;
-use Compress::Raw::Zlib 2.024 ;
-use IO::Compress::Gzip 2.024 ;
-use IO::Uncompress::Gunzip 2.024 ;
+use IO::Compress::Base::Common 2.033 ;
+use Compress::Raw::Zlib 2.033 ;
+use IO::Compress::Gzip 2.033 ;
+use IO::Uncompress::Gunzip 2.033 ;
use strict ;
use warnings ;
use bytes ;
-our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $AUTOLOAD);
+our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.024';
+$VERSION = '2.033';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -46,16 +45,6 @@ BEGIN
*zlib_version = \&Compress::Raw::Zlib::zlib_version;
}
-sub AUTOLOAD {
- my($constname);
- ($constname = $AUTOLOAD) =~ s/.*:://;
- my ($error, $val) = Compress::Raw::Zlib::constant($constname);
- Carp::croak $error if $error;
- no strict 'refs';
- *{$AUTOLOAD} = sub { $val };
- goto &{$AUTOLOAD};
-}
-
use constant FLAG_APPEND => 1 ;
use constant FLAG_CRC => 2 ;
use constant FLAG_ADLER => 4 ;
@@ -462,7 +451,7 @@ sub inflate
package Compress::Zlib ;
-use IO::Compress::Gzip::Constants 2.024 ;
+use IO::Compress::Gzip::Constants 2.033 ;
sub memGzip($)
{
@@ -1018,7 +1007,7 @@ carry out in-memory gzip compression.
This function is used to uncompress an in-memory gzip file.
$dest = Compress::Zlib::memGunzip($buffer)
- or die "Cannot uncomprss: $gzerrno\n";
+ or die "Cannot uncompress: $gzerrno\n";
If successful, it returns the uncompressed gzip file. Otherwise it
returns C<undef> and the C<$gzerrno> variable will store the zlib error
@@ -1487,7 +1476,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 1995-2010 Paul Marquess. All rights reserved.
+Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Config.pm b/Master/tlpkg/tlperl/lib/Config.pm
index 0720bac59ba..2c05af8a161 100644
--- a/Master/tlpkg/tlperl/lib/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Config.pm
@@ -7,26 +7,36 @@
package Config;
use strict;
-# use warnings; Pulls in Carp
-# use vars pulls in Carp
+use warnings;
+use vars '%Config';
+
+# Skip @Config::EXPORT because it only contains %Config, which we special
+# case below as it's not a function. @Config::EXPORT won't change in the
+# lifetime of Perl 5.
+my %Export_Cache = (myconfig => 1, config_sh => 1, config_vars => 1,
+ config_re => 1, compile_date => 1, local_patches => 1,
+ bincompat_options => 1, non_bincompat_options => 1,
+ header_files => 1);
+
@Config::EXPORT = qw(%Config);
-@Config::EXPORT_OK = qw(myconfig config_sh config_vars config_re);
+@Config::EXPORT_OK = keys %Export_Cache;
# Need to stub all the functions to make code such as print Config::config_sh
# keep working
-sub myconfig;
+sub bincompat_options;
+sub compile_date;
+sub config_re;
sub config_sh;
sub config_vars;
-sub config_re;
-
-my %Export_Cache = map {($_ => 1)} (@Config::EXPORT, @Config::EXPORT_OK);
-
-our %Config;
+sub header_files;
+sub local_patches;
+sub myconfig;
+sub non_bincompat_options;
# Define our own import method to avoid pulling in the full Exporter:
sub import {
- my $pkg = shift;
+ shift;
@_ = @Config::EXPORT unless @_;
my @funcs = grep $_ ne '%Config', @_;
@@ -35,8 +45,8 @@ sub import {
no strict 'refs';
my $callpkg = caller(0);
foreach my $func (@funcs) {
- die sprintf qq{"%s" is not exported by the %s module\n},
- $func, __PACKAGE__ unless $Export_Cache{$func};
+ die qq{"$func" is not exported by the Config module\n}
+ unless $Export_Cache{$func};
*{$callpkg.'::'.$func} = \&{$func};
}
@@ -44,11 +54,11 @@ sub import {
return;
}
-die "Perl lib version (5.12.3) doesn't match executable version ($])"
+die "Perl lib version (5.14.2) doesn't match executable '$0' version ($])"
unless $^V;
-$^V eq 5.12.3
- or die "Perl lib version (5.12.3) doesn't match executable version (" .
+$^V eq 5.14.2
+ or die "Perl lib version (5.14.2) doesn't match executable '$0' version (" .
sprintf("v%vd",$^V) . ")";
@@ -56,10 +66,9 @@ sub FETCH {
my($self, $key) = @_;
# check for cached value (which may be undef so we use exists not defined)
- return $self->{$key} if exists $self->{$key};
-
- return $self->fetch_string($key);
+ return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
}
+
sub TIEHASH {
bless $_[1], $_[0];
}
@@ -75,6 +84,7 @@ sub AUTOLOAD {
my $rootdir = __FILE__;
$rootdir =~ s![\\/][^\\/]*[\\/][^\\/]*$!!;
$rootdir =~ s!/!\\!g;
+my $mingdir = "x:\\mingw";
# tie returns the object, so the value returned to require will be true.
tie %Config, 'Config', {
@@ -83,13 +93,14 @@ tie %Config, 'Config', {
cc => 'gcc',
d_readlink => undef,
d_symlink => undef,
+ dlext => 'dll',
dlsrc => 'dl_win32.xs',
dont_use_nlink => undef,
exe_ext => '.exe',
inc_version_list => '',
intsize => '4',
ldlibpthname => '',
- libpth => 'X:\\mingw32\\lib',
+ libpth => "$mingdir\\lib",
osname => 'MSWin32',
osvers => '5.1',
path_sep => ';',
@@ -97,7 +108,8 @@ tie %Config, 'Config', {
scriptdir => "$rootdir\\bin",
sitearchexp => "$rootdir\\site\\lib",
sitelibexp => "$rootdir\\site\\lib",
+ so => 'dll',
useithreads => 'define',
usevendorprefix => undef,
- version => '5.12.3',
+ version => '5.14.2',
};
diff --git a/Master/tlpkg/tlperl/lib/Config.pmold b/Master/tlpkg/tlperl/lib/Config.pm.orig
index 05050a768e7..b4a3087e763 100644
--- a/Master/tlpkg/tlperl/lib/Config.pmold
+++ b/Master/tlpkg/tlperl/lib/Config.pm.orig
@@ -7,26 +7,36 @@
package Config;
use strict;
-# use warnings; Pulls in Carp
-# use vars pulls in Carp
+use warnings;
+use vars '%Config';
+
+# Skip @Config::EXPORT because it only contains %Config, which we special
+# case below as it's not a function. @Config::EXPORT won't change in the
+# lifetime of Perl 5.
+my %Export_Cache = (myconfig => 1, config_sh => 1, config_vars => 1,
+ config_re => 1, compile_date => 1, local_patches => 1,
+ bincompat_options => 1, non_bincompat_options => 1,
+ header_files => 1);
+
@Config::EXPORT = qw(%Config);
-@Config::EXPORT_OK = qw(myconfig config_sh config_vars config_re);
+@Config::EXPORT_OK = keys %Export_Cache;
# Need to stub all the functions to make code such as print Config::config_sh
# keep working
-sub myconfig;
+sub bincompat_options;
+sub compile_date;
+sub config_re;
sub config_sh;
sub config_vars;
-sub config_re;
-
-my %Export_Cache = map {($_ => 1)} (@Config::EXPORT, @Config::EXPORT_OK);
-
-our %Config;
+sub header_files;
+sub local_patches;
+sub myconfig;
+sub non_bincompat_options;
# Define our own import method to avoid pulling in the full Exporter:
sub import {
- my $pkg = shift;
+ shift;
@_ = @Config::EXPORT unless @_;
my @funcs = grep $_ ne '%Config', @_;
@@ -35,8 +45,8 @@ sub import {
no strict 'refs';
my $callpkg = caller(0);
foreach my $func (@funcs) {
- die sprintf qq{"%s" is not exported by the %s module\n},
- $func, __PACKAGE__ unless $Export_Cache{$func};
+ die qq{"$func" is not exported by the Config module\n}
+ unless $Export_Cache{$func};
*{$callpkg.'::'.$func} = \&{$func};
}
@@ -44,11 +54,11 @@ sub import {
return;
}
-die "Perl lib version (5.12.3) doesn't match executable version ($])"
+die "Perl lib version (5.14.2) doesn't match executable '$0' version ($])"
unless $^V;
-$^V eq 5.12.3
- or die "Perl lib version (5.12.3) doesn't match executable version (" .
+$^V eq 5.14.2
+ or die "Perl lib version (5.14.2) doesn't match executable '$0' version (" .
sprintf("v%vd",$^V) . ")";
@@ -56,10 +66,9 @@ sub FETCH {
my($self, $key) = @_;
# check for cached value (which may be undef so we use exists not defined)
- return $self->{$key} if exists $self->{$key};
-
- return $self->fetch_string($key);
+ return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
}
+
sub TIEHASH {
bless $_[1], $_[0];
}
@@ -74,26 +83,28 @@ sub AUTOLOAD {
# tie returns the object, so the value returned to require will be true.
tie %Config, 'Config', {
- archlibexp => 'c:\\perl\\lib',
+ archlibexp => 'x:\\tlperl\\lib',
archname => 'MSWin32-x86-multi-thread',
cc => 'gcc',
d_readlink => undef,
d_symlink => undef,
+ dlext => 'dll',
dlsrc => 'dl_win32.xs',
dont_use_nlink => undef,
exe_ext => '.exe',
inc_version_list => '',
intsize => '4',
ldlibpthname => '',
- libpth => 'X:\\mingw32\\lib',
+ libpth => 'C:\\MinGW\\lib',
osname => 'MSWin32',
osvers => '5.1',
path_sep => ';',
- privlibexp => 'c:\\perl\\lib',
- scriptdir => 'c:\\perl\\bin',
- sitearchexp => 'c:\\perl\\site\\lib',
- sitelibexp => 'c:\\perl\\site\\lib',
+ privlibexp => 'x:\\tlperl\\lib',
+ scriptdir => 'x:\\tlperl\\bin',
+ sitearchexp => 'x:\\tlperl\\site\\lib',
+ sitelibexp => 'x:\\tlperl\\site\\lib',
+ so => 'dll',
useithreads => 'define',
usevendorprefix => undef,
- version => '5.12.3',
+ version => '5.14.2',
};
diff --git a/Master/tlpkg/tlperl/lib/Config.pod b/Master/tlpkg/tlperl/lib/Config.pod
index baca2658073..c4bcd0f14f0 100644
--- a/Master/tlpkg/tlperl/lib/Config.pod
+++ b/Master/tlpkg/tlperl/lib/Config.pod
@@ -63,6 +63,33 @@ printed on a separate line in the form:
Names which are unknown are output as C<name='UNKNOWN';>.
See also C<-V:name> in L<perlrun/Switches>.
+=item bincompat_options()
+
+Returns a list of C pre-processor options used when compiling this F<perl>
+binary, which affect its binary compatibility with extensions.
+C<bincompat_options()> and C<non_bincompat_options()> are shown together in
+the output of C<perl -V> as I<Compile-time options>.
+
+=item non_bincompat_options()
+
+Returns a list of C pre-processor options used when compiling this F<perl>
+binary, which do not affect binary compatibility with extensions.
+
+=item compile_date()
+
+Returns the compile date (as a string), equivalent to what is shown by
+C<perl -V>
+
+=item local_patches()
+
+Returns a list of the names of locally applied patches, equivalent to what
+is shown by C<perl -V>.
+
+=item header_files()
+
+Returns a list of the header files that should be used as dependencies for
+XS code, for this version of Perl on this platform.
+
=back
=head1 EXAMPLE
@@ -592,7 +619,7 @@ command, as reported by the shell in the $0 variable.
From F<Options.U>:
-This variable countains the number of command-line arguments
+This variable contains the number of command-line arguments
passed to Configure, as reported by the shell in the $# variable.
The individual arguments are stored as variables config_argc1,
config_argc2, etc.
@@ -982,7 +1009,7 @@ whether the C compiler can cast large floats to 32-bit ints.
From F<d_castneg.U>:
This variable conditionally defines C<CASTNEG>, which indicates
-wether the C compiler can cast negative float to unsigned.
+whether the C compiler can cast negative float to unsigned.
=item C<d_charvspr>
@@ -1347,7 +1374,7 @@ when reading from a non-blocking I/O source.
From F<Guess.U>:
This variable conditionally defines the symbols C<EUNICE> and C<VAX>, which
-alerts the C program that it must deal with ideosyncracies of C<VMS>.
+alerts the C program that it must deal with idiosyncrasies of C<VMS>.
=item C<d_faststdio>
@@ -1653,7 +1680,7 @@ to get the current working directory.
From F<d_getespwnam.U>:
This variable conditionally defines C<HAS_GETESPWNAM> if getespwnam() is
-available to retrieve enchanced (shadow) password entries by name.
+available to retrieve enhanced (shadow) password entries by name.
=item C<d_getfsstat>
@@ -2402,7 +2429,7 @@ From F<d_memmove.U>:
This variable conditionally defines the C<HAS_MEMMOVE> symbol, which
indicates to the C program that the memmove() routine is available
-to copy potentatially overlapping blocks of memory.
+to copy potentially overlapping blocks of memory.
=item C<d_memset>
@@ -2755,26 +2782,41 @@ This variable conditionally defines the C<PORTABLE> symbol, which
indicates to the C program that it should not assume that it is
running on the machine it was compiled on.
+=item C<d_prctl>
+
+From F<d_prctl.U>:
+
+This variable conditionally defines the C<HAS_PRCTL> symbol, which
+indicates to the C program that the prctl() routine is available.
+
+=item C<d_prctl_set_name>
+
+From F<d_prctl.U>:
+
+This variable conditionally defines the C<HAS_PRCTL_SET_NAME> symbol,
+which indicates to the C program that the prctl() routine supports
+the C<PR_SET_NAME> option.
+
=item C<d_PRId64>
From F<quadfio.U>:
This variable conditionally defines the PERL_PRId64 symbol, which
-indiciates that stdio has a symbol to print 64-bit decimal numbers.
+indicates that stdio has a symbol to print 64-bit decimal numbers.
=item C<d_PRIeldbl>
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
+indicates that stdio has a symbol to print long doubles.
=item C<d_PRIEUldbl>
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
+indicates that stdio has a symbol to print long doubles.
The C<U> in the name is to separate this from d_PRIeldbl so that even
case-blind systems can see the difference.
@@ -2783,14 +2825,14 @@ case-blind systems can see the difference.
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
+indicates that stdio has a symbol to print long doubles.
=item C<d_PRIFUldbl>
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
+indicates that stdio has a symbol to print long doubles.
The C<U> in the name is to separate this from d_PRIfldbl so that even
case-blind systems can see the difference.
@@ -2799,14 +2841,14 @@ case-blind systems can see the difference.
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
+indicates that stdio has a symbol to print long doubles.
=item C<d_PRIGUldbl>
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
+indicates that stdio has a symbol to print long doubles.
The C<U> in the name is to separate this from d_PRIgldbl so that even
case-blind systems can see the difference.
@@ -2815,7 +2857,7 @@ case-blind systems can see the difference.
From F<quadfio.U>:
This variable conditionally defines the PERL_PRIi64 symbol, which
-indiciates that stdio has a symbol to print 64-bit decimal numbers.
+indicates that stdio has a symbol to print 64-bit decimal numbers.
=item C<d_printf_format_null>
@@ -2829,14 +2871,14 @@ indicates the C compiler allows printf-like formats to be null.
From F<quadfio.U>:
This variable conditionally defines the PERL_PRIo64 symbol, which
-indiciates that stdio has a symbol to print 64-bit octal numbers.
+indicates that stdio has a symbol to print 64-bit octal numbers.
=item C<d_PRIu64>
From F<quadfio.U>:
This variable conditionally defines the PERL_PRIu64 symbol, which
-indiciates that stdio has a symbol to print 64-bit unsigned decimal
+indicates that stdio has a symbol to print 64-bit unsigned decimal
numbers.
=item C<d_PRIx64>
@@ -2844,14 +2886,14 @@ numbers.
From F<quadfio.U>:
This variable conditionally defines the PERL_PRIx64 symbol, which
-indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
+indicates that stdio has a symbol to print 64-bit hexadecimal numbers.
=item C<d_PRIXU64>
From F<quadfio.U>:
This variable conditionally defines the PERL_PRIXU64 symbol, which
-indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
+indicates that stdio has a symbol to print 64-bit hExADECimAl numbers.
The C<U> in the name is to separate this from d_PRIx64 so that even
case-blind systems can see the difference.
@@ -3100,7 +3142,7 @@ not enough because it may be an enum, glibc has been known to do this.
From F<longdblfio.U>:
This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to scan long doubles.
+indicates that stdio has a symbol to scan long doubles.
=item C<d_seekdir>
@@ -3494,6 +3536,14 @@ This variable conditionally defines the C<HAS_SIGSETJMP> symbol,
which indicates that the sigsetjmp() routine is available to
call setjmp() and optionally save the process's signal mask.
+=item C<d_sin6_scope_id>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_SIN6_SCOPE_ID symbol, which
+indicates that a struct sockaddr_in6 structure has the sin6_scope_id
+member.
+
=item C<d_sitearch>
From F<sitearch.U>:
@@ -3510,6 +3560,14 @@ This variable conditionally defines the C<HAS_SNPRINTF> symbol, which
indicates to the C program that the snprintf () library function
is available.
+=item C<d_sockaddr_sa_len>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the C<HAS_SOCKADDR_SA_LEN> symbol,
+which indicates that a struct sockaddr structure has the sa_len
+member.
+
=item C<d_sockatmark>
From F<d_sockatmark.U>:
@@ -3627,6 +3685,15 @@ From F<d_statfs_s.U>:
This variable conditionally defines the C<HAS_STRUCT_STATFS> symbol,
which indicates that the struct statfs is supported.
+=item C<d_static_inline>
+
+From F<d_static_inline.U>:
+
+This variable conditionally defines the C<HAS_STATIC_INLINE> symbol,
+which indicates that the C compiler supports C99-style static
+inline. That is, the function can't be called from another
+translation unit.
+
=item C<d_statvfs>
From F<d_statvfs.U>:
@@ -3916,7 +3983,7 @@ up to the program to supply one.
From F<d_time.U>:
This variable conditionally defines the C<HAS_TIME> symbol, which indicates
-that the time() routine exists. The time() routine is normaly
+that the time() routine exists. The time() routine is normally
provided on C<UNIX> systems.
=item C<d_timegm>
@@ -3931,7 +3998,7 @@ indicates to the C program that the timegm () routine is available.
From F<d_times.U>:
This variable conditionally defines the C<HAS_TIMES> symbol, which indicates
-that the times() routine exists. The times() routine is normaly
+that the times() routine exists. The times() routine is normally
provided on C<UNIX> systems. You may have to include <sys/times.h>.
=item C<d_tm_tm_gmtoff>
@@ -4105,7 +4172,7 @@ From F<i_sysioctl.U>:
This variable conditionally defines C<USE_IOCNOTTY> to indicate that the
ioctl() call with C<TIOCNOTTY> should be used to void tty association.
Otherwise (on C<USG> probably), it is enough to close the standard file
-decriptors and do a setpgrp().
+descriptors and do a setpgrp().
=item C<d_volatile>
@@ -4421,7 +4488,7 @@ From F<Extensions.U>:
This variable holds a list of all extension files (both C<XS> and
non-xs linked into the package. It is propagated to F<Config.pm>
-and is typically used to test whether a particular extesion
+and is typically used to test whether a particular extension
is available.
=item C<extern_C>
@@ -5662,7 +5729,7 @@ suitable for use in the C<PERL_INC_VERSION_LIST> initialization.
From F<usrinc.U>:
-This variable must preceed the normal include path to get hte
+This variable must precede the normal include path to get the
right one, as in F<$F<incpath/usr/include>> or F<$F<incpath/usr/lib>>.
Value can be "" or F</bsd43> on mips.
@@ -5697,7 +5764,7 @@ should be used in makefiles.
From F<bin.U>:
This variable is the same as binexp unless C<AFS> is running in which case
-the user is explicitely prompted for it. This variable should always
+the user is explicitly prompted for it. This variable should always
be used in your makefiles for maximum portability.
=item C<installhtml1dir>
@@ -6827,8 +6894,9 @@ used to separate elements in the command shell search C<PATH>.
From F<Loc.U>:
-This variable is defined but not used by Configure.
-The value is the empty string and is not useful.
+This variable is used internally by Configure to determine the
+full pathname (if any) of the perl program. After Configure runs,
+the value is reset to a plain C<perl> and is not useful.
=item C<perl5>
@@ -6911,6 +6979,19 @@ From F<Oldsyms.U>:
In a Perl version number such as 5.6.2, this is the 5.
This value is manually set in F<patchlevel.h>
+=item C<perl_static_inline>
+
+From F<d_static_inline.U>:
+
+This variable defines the C<PERL_STATIC_INLINE> symbol to
+the best-guess incantation to use for static inline functions.
+Possibilities include
+static inline (c99)
+static __inline__ (gcc -ansi)
+static __inline (C<MSVC>)
+static _inline (older C<MSVC>)
+static (c89 compilers)
+
=item C<PERL_SUBVERSION>
From F<Oldsyms.U>:
@@ -7906,7 +7987,7 @@ perl idiom:
eval 'exec perl -S $0 ${1+C<$@>}'
if $running_under_some_shell;
to guarantee perl startup should the shell execute the script. Note
-that this magic incatation is not understood by csh.
+that this magic incantation is not understood by csh.
=item C<startsh>
@@ -8373,7 +8454,7 @@ From F<mallocsrc.U>:
This variable contains y if the malloc that comes with this package
is desired over the system's version of malloc. People often include
-special versions of malloc for effiency, but such versions are often
+special versions of malloc for efficiency, but such versions are often
less portable. See also mallocsrc and mallocobj.
If this is C<y>, then -lmalloc is removed from $libs.
@@ -8438,7 +8519,7 @@ From F<d_sfio.U>:
This variable is set to true when the user agrees to use sfio.
It is set to false when sfio is not available or when the user
-explicitely requests not to use sfio. It is here primarily so
+explicitly requests not to use sfio. It is here primarily so
that command-line settings can override the auto-detection of
d_sfio without running into a "WHOA THERE".
@@ -8484,7 +8565,7 @@ From F<d_vfork.U>:
This variable is set to true when the user accepts to use vfork.
It is set to false when no vfork is available or when the user
-explicitely requests not to use vfork.
+explicitly requests not to use vfork.
=item C<usrinc>
diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.pl b/Master/tlpkg/tlperl/lib/Config_heavy.pl
index 57fe8aa525b..d7aa3528699 100644
--- a/Master/tlpkg/tlperl/lib/Config_heavy.pl
+++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl
@@ -3,8 +3,25 @@
package Config;
use strict;
-# use warnings; Pulls in Carp
-# use vars pulls in Carp
+use warnings;
+use vars '%Config';
+
+sub bincompat_options {
+ return split ' ', (Internals::V())[0];
+}
+
+sub non_bincompat_options {
+ return split ' ', (Internals::V())[1];
+}
+
+sub compile_date {
+ return (Internals::V())[2]
+}
+
+sub local_patches {
+ my (undef, undef, undef, @patches) = Internals::V();
+ return @patches;
+}
sub _V {
my ($bincompat, $non_bincompat, $date, @patches) = Internals::V();
@@ -34,7 +51,7 @@ sub _V {
print " $date\n" if defined $date;
my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV;
- push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $^O eq 'cygwin';
+ push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $^O eq 'cygwin' and $ENV{CYGWIN};
if (@env) {
print " \%ENV:\n";
@@ -44,8 +61,18 @@ sub _V {
print " $_\n" foreach @INC;
}
-### Configured by: siepo@xpeco
-### Target system: WIN32
+sub header_files {
+ return qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h
+ dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h intrpvar.h
+ iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h pad.h
+ parser.h patchlevel.h perl.h perlio.h perliol.h perlsdio.h
+ perlsfio.h perlvars.h perly.h pp.h pp_proto.h proto.h regcomp.h
+ regexp.h regnodes.h scope.h sv.h thread.h time64.h unixish.h
+ utf8.h util.h);
+}
+
+### Configured by: tex-live@tug.org
+### Target system: WIN32
our $summary = <<'!END!';
Summary of my $package (revision $revision $version_patchlevel_string) configuration:
@@ -85,7 +112,7 @@ my $summary_expanded;
sub myconfig {
return $summary_expanded if $summary_expanded;
($summary_expanded = $summary) =~ s{\$(\w+)}
- {
+ {
my $c;
if ($1 eq 'git_ancestor_line') {
if ($Config::Config{git_ancestor}) {
@@ -94,9 +121,9 @@ sub myconfig {
$c= "";
}
} else {
- $c = $Config::Config{$1};
+ $c = $Config::Config{$1};
}
- defined($c) ? $c : 'undef'
+ defined($c) ? $c : 'undef'
}ge;
$summary_expanded;
}
@@ -104,6 +131,7 @@ sub myconfig {
my $rootdir = __FILE__;
$rootdir =~ s![\\/][^\\/]*[\\/][^\\/]*$!!;
$rootdir =~ s!/!\\!g;
+my $mingdir = "x:\\mingw";
local *_ = \my $a;
$_ = <<"!END!";
@@ -114,18 +142,18 @@ Header=''
Id='\$Id'
Locker=''
Log='\$Log'
-PATCHLEVEL='12'
+PATCHLEVEL='14'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
-PERL_API_VERSION='12'
+PERL_API_VERSION='14'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
-PERL_SUBVERSION='3'
-PERL_VERSION='12'
+PERL_SUBVERSION='2'
+PERL_VERSION='14'
RCSfile='\$RCSfile'
Revision='\$Revision'
-SUBVERSION='3'
+SUBVERSION='2'
Source=''
State=''
_a='.a'
@@ -138,8 +166,8 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='12'
-api_versionstring='5.12.0'
+api_version='14'
+api_versionstring='5.14.0'
ar='ar'
archlib='$rootdir\\lib'
archlibexp='$rootdir\\lib'
@@ -161,14 +189,14 @@ cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
-ccflags=' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX'
+ccflags=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='siepo'
cf_email='tex-live\@tug.org'
-cf_time='Thu Feb 10 14:38:06 2011'
+cf_time='Fri May 18 10:52:25 2012'
charbits='8'
chgrp=''
chmod=''
@@ -463,6 +491,8 @@ d_phostname='undef'
d_pipe='define'
d_poll='undef'
d_portable='define'
+d_prctl='undef'
+d_prctl_set_name='undef'
d_printf_format_null='undef'
d_procselfexe='undef'
d_pseudofork='define'
@@ -548,8 +578,10 @@ d_sigaction='undef'
d_signbit='undef'
d_sigprocmask='undef'
d_sigsetjmp='undef'
+d_sin6_scope_id='define'
d_sitearch='define'
d_snprintf='define'
+d_sockaddr_sa_len='undef'
d_sockatmark='undef'
d_sockatmarkproto='undef'
d_socket='define'
@@ -565,6 +597,7 @@ d_sresuproto='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
d_statfs_s='undef'
+d_static_inline='define'
d_statvfs='undef'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
@@ -653,7 +686,7 @@ doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared'
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -668,7 +701,7 @@ endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
-extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPANPLUS CPANPLUS/Dist/Build Class/ISA Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Encode Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long Hash/Util Hash/Util/FieldHash I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta PerlIO/encoding PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple SDBM_File Safe SelfLoader Shell Socket Storable Switch Sys/Hostname Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent podlators re threads threads/shared'
+extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/CheckTree File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple SDBM_File Safe SelfLoader Shell Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Version/Requirements Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent podlators re threads threads/shared'
extern_C='extern'
extras=''
fflushNULL='define'
@@ -685,7 +718,7 @@ full_csh=''
full_sed=''
gccansipedantic=''
gccosandvers=''
-gccversion='4.5.0'
+gccversion='4.6.2'
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
@@ -824,7 +857,7 @@ i_vfork='undef'
ignore_versioned_solibs=''
inc_version_list=''
inc_version_list_init='0'
-incpath='X:\\mingw32\\include'
+incpath='$mingdir\\include'
inews=''
initialinstalllocation=''
installarchlib='$rootdir\\lib'
@@ -862,18 +895,18 @@ issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attributes mro re threads threads/shared'
ksh=''
ld='g++'
-lddlflags='-mdll -s -L"$rootdir\\lib\\CORE" -L"X:\\mingw32\\lib"'
-ldflags='-s -L"$rootdir\\lib\\CORE" -L"X:\\mingw32\\lib"'
+lddlflags='-mdll -s -L"$rootdir\\lib\\CORE" -L"$mingdir\\lib"'
+ldflags='-s -L"$rootdir\\lib\\CORE" -L"$mingdir\\lib"'
ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
-libperl='libperl512.a'
-libpth='X:\\mingw32\\lib'
+libperl='libperl514.a'
+libpth='$mingdir\\lib'
libs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libsdirs=''
libsfiles=''
@@ -935,7 +968,7 @@ netdb_net_type='long'
nm='nm'
nm_opt=''
nm_so_opt=''
-nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPANPLUS CPANPLUS/Dist/Build Class/ISA Devel/SelfStubber Digest Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple Safe SelfLoader Shell Switch Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Collate XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Safe SelfLoader Shell Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Version/Requirements XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
@@ -958,11 +991,12 @@ otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='12'
+patchlevel='14'
path_sep=';'
perl5=''
perl='perl'
perl_patchlevel=''
+perl_static_inline='static __inline__'
perladmin=''
perllibs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
perlpath='$rootdir\\bin\\perl.exe'
@@ -1176,8 +1210,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
-version='5.12.3'
-version_patchlevel_string='version 12 subversion 3'
+version='5.14.2'
+version_patchlevel_string='version 14 subversion 2'
versiononly='undef'
vi=''
voidflags='15'
@@ -1196,9 +1230,9 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
-our $Config_SH_expanded = "\n$_" . << "EOVIRTUAL";
-ccflags_nolargefiles=' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX'
-ldflags_nolargefiles='-s -L"$rootdir\\lib\\CORE" -L"X:\\mingw32\\lib"'
+our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
+ccflags_nolargefiles=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
+ldflags_nolargefiles="-s -L\"$rootdir\\lib\\CORE\" -L\"$mingdir\\lib\""
libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libswanted_nolargefiles=''
EOVIRTUAL
@@ -1213,38 +1247,24 @@ eval {
sub fetch_string {
my($self, $key) = @_;
- my $quote_type = "'";
- my $marker = "$key=";
-
- # Check for the common case, ' delimited
- my $start = index($Config_SH_expanded, "\n$marker$quote_type");
- # If that failed, check for " delimited
- if ($start == -1) {
- $quote_type = '"';
- $start = index($Config_SH_expanded, "\n$marker$quote_type");
- }
- # Start can never be -1 now, as we've rigged the long string we're
- # searching with an initial dummy newline.
- return undef if $start == -1;
-
- $start += length($key) + 3;
-
- my $value = substr($Config_SH_expanded, $start,
- index($Config_SH_expanded, "$quote_type\n", $start)
- - $start);
+ return undef unless my ($quote_type, $value) = $Config_SH_expanded =~ /\n$key=(['"])(.*?)\1\n/s;
# If we had a double-quote, we'd better eval it so escape
# sequences and such can be interpolated. Since the incoming
# value is supposed to follow shell rules and not perl rules,
# we escape any perl variable markers
+
+ # Historically, since " 'support' was added in change 1409, the
+ # interpolation was done before the undef. Stick to this arguably buggy
+ # behaviour as we're refactoring.
if ($quote_type eq '"') {
$value =~ s/\$/\\\$/g;
$value =~ s/\@/\\\@/g;
eval "\$value = \"$value\"";
}
+
# So we can say "if $Config{'foo'}".
- $value = undef if $value eq 'undef';
- $self->{$key} = $value; # cache it
+ $self->{$key} = $value eq 'undef' ? undef : $value; # cache it
}
my $prevpos = 0;
@@ -1273,9 +1293,7 @@ sub EXISTS {
}
sub STORE { die "\%Config::Config is read-only\n" }
-*DELETE = \&STORE;
-*CLEAR = \&STORE;
-
+*DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space
sub config_sh {
substr $Config_SH_expanded, 1, $config_sh_len;
@@ -1291,7 +1309,7 @@ sub config_vars {
# implements -V:cfgvar option (see perlrun -V:)
foreach (@_) {
# find optional leading, trailing colons; and query-spec
- my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft,
+ my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft,
# map colon-flags to print decorations
my $prfx = $notag ? '': "$qry="; # tag-prefix for print
my $lnend = $lncont ? ' ' : ";\n"; # line ending for print
diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.plold b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
index bf76b2a11b7..0982fa51149 100644
--- a/Master/tlpkg/tlperl/lib/Config_heavy.plold
+++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
@@ -3,8 +3,25 @@
package Config;
use strict;
-# use warnings; Pulls in Carp
-# use vars pulls in Carp
+use warnings;
+use vars '%Config';
+
+sub bincompat_options {
+ return split ' ', (Internals::V())[0];
+}
+
+sub non_bincompat_options {
+ return split ' ', (Internals::V())[1];
+}
+
+sub compile_date {
+ return (Internals::V())[2]
+}
+
+sub local_patches {
+ my (undef, undef, undef, @patches) = Internals::V();
+ return @patches;
+}
sub _V {
my ($bincompat, $non_bincompat, $date, @patches) = Internals::V();
@@ -34,7 +51,7 @@ sub _V {
print " $date\n" if defined $date;
my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV;
- push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $^O eq 'cygwin';
+ push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $^O eq 'cygwin' and $ENV{CYGWIN};
if (@env) {
print " \%ENV:\n";
@@ -44,7 +61,17 @@ sub _V {
print " $_\n" foreach @INC;
}
-### Configured by: siepo@xpeco
+sub header_files {
+ return qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h
+ dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h intrpvar.h
+ iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h pad.h
+ parser.h patchlevel.h perl.h perlio.h perliol.h perlsdio.h
+ perlsfio.h perlvars.h perly.h pp.h pp_proto.h proto.h regcomp.h
+ regexp.h regnodes.h scope.h sv.h thread.h time64.h unixish.h
+ utf8.h util.h);
+}
+
+### Configured by: tex-live@tug.org
### Target system: WIN32
our $summary = <<'!END!';
@@ -110,18 +137,18 @@ Header=''
Id='$Id'
Locker=''
Log='$Log'
-PATCHLEVEL='12'
+PATCHLEVEL='14'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
-PERL_API_VERSION='12'
+PERL_API_VERSION='14'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
-PERL_SUBVERSION='3'
-PERL_VERSION='12'
+PERL_SUBVERSION='2'
+PERL_VERSION='14'
RCSfile='$RCSfile'
Revision='$Revision'
-SUBVERSION='3'
+SUBVERSION='2'
Source=''
State=''
_a='.a'
@@ -134,11 +161,11 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='12'
-api_versionstring='5.12.0'
+api_version='14'
+api_versionstring='5.14.0'
ar='ar'
-archlib='c:\perl\lib'
-archlibexp='c:\perl\lib'
+archlib='x:\tlperl\lib'
+archlibexp='x:\tlperl\lib'
archname64=''
archname='MSWin32-x86-multi-thread'
archobjs=''
@@ -146,8 +173,8 @@ asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
-bin='c:\perl\bin'
-binexp='c:\perl\bin'
+bin='x:\tlperl\bin'
+binexp='x:\tlperl\bin'
bison=''
byacc='byacc'
byteorder='1234'
@@ -157,14 +184,14 @@ cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
-ccflags=' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX'
+ccflags=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='siepo'
-cf_email='siepo@xpeco'
-cf_time='Thu Feb 10 14:38:06 2011'
+cf_email='tex-live@tug.org'
+cf_time='Fri May 18 10:52:25 2012'
charbits='8'
chgrp=''
chmod=''
@@ -459,6 +486,8 @@ d_phostname='undef'
d_pipe='define'
d_poll='undef'
d_portable='define'
+d_prctl='undef'
+d_prctl_set_name='undef'
d_printf_format_null='undef'
d_procselfexe='undef'
d_pseudofork='define'
@@ -544,8 +573,10 @@ d_sigaction='undef'
d_signbit='undef'
d_sigprocmask='undef'
d_sigsetjmp='undef'
+d_sin6_scope_id='define'
d_sitearch='define'
d_snprintf='define'
+d_sockaddr_sa_len='undef'
d_sockatmark='undef'
d_sockatmarkproto='undef'
d_socket='define'
@@ -561,6 +592,7 @@ d_sresuproto='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
d_statfs_s='undef'
+d_static_inline='define'
d_statvfs='undef'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
@@ -649,7 +681,7 @@ doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared'
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -664,7 +696,7 @@ endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
-extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPANPLUS CPANPLUS/Dist/Build Class/ISA Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Encode Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long Hash/Util Hash/Util/FieldHash I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta PerlIO/encoding PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple SDBM_File Safe SelfLoader Shell Socket Storable Switch Sys/Hostname Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent podlators re threads threads/shared'
+extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/CheckTree File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple SDBM_File Safe SelfLoader Shell Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Version/Requirements Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent podlators re threads threads/shared'
extern_C='extern'
extras=''
fflushNULL='define'
@@ -681,7 +713,7 @@ full_csh=''
full_sed=''
gccansipedantic=''
gccosandvers=''
-gccversion='4.5.0'
+gccversion='4.6.2'
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
@@ -820,26 +852,26 @@ i_vfork='undef'
ignore_versioned_solibs=''
inc_version_list=''
inc_version_list_init='0'
-incpath='X:\mingw32\include'
+incpath='C:\MinGW\include'
inews=''
initialinstalllocation=''
-installarchlib='c:\perl\lib'
-installbin='c:\perl\bin'
+installarchlib='x:\tlperl\lib'
+installbin='x:\tlperl\bin'
installhtml1dir=''
installhtml3dir=''
-installhtmldir='c:\perl\html'
-installhtmlhelpdir='c:\perl\htmlhelp'
-installman1dir='c:\perl\man\man1'
-installman3dir='c:\perl\man\man3'
-installprefix='c:\perl'
-installprefixexp='c:\perl'
-installprivlib='c:\perl\lib'
-installscript='c:\perl\bin'
-installsitearch='c:\perl\site\lib'
-installsitebin='c:\perl\bin'
+installhtmldir='x:\tlperl\html'
+installhtmlhelpdir='x:\tlperl\htmlhelp'
+installman1dir='x:\tlperl\man\man1'
+installman3dir='x:\tlperl\man\man3'
+installprefix='x:\tlperl'
+installprefixexp='x:\tlperl'
+installprivlib='x:\tlperl\lib'
+installscript='x:\tlperl\bin'
+installsitearch='x:\tlperl\site\lib'
+installsitebin='x:\tlperl\bin'
installsitehtml1dir=''
installsitehtml3dir=''
-installsitelib='c:\perl\site\lib'
+installsitelib='x:\tlperl\site\lib'
installsiteman1dir=''
installsiteman3dir=''
installsitescript=''
@@ -858,18 +890,18 @@ issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attributes mro re threads threads/shared'
ksh=''
ld='g++'
-lddlflags='-mdll -s -L"c:\perl\lib\CORE" -L"X:\mingw32\lib"'
-ldflags='-s -L"c:\perl\lib\CORE" -L"X:\mingw32\lib"'
+lddlflags='-mdll -s -L"x:\tlperl\lib\CORE" -L"C:\MinGW\lib"'
+ldflags='-s -L"x:\tlperl\lib\CORE" -L"C:\MinGW\lib"'
ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
-libperl='libperl512.a'
-libpth='X:\mingw32\lib'
+libperl='libperl514.a'
+libpth='C:\MinGW\lib'
libs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libsdirs=''
libsfiles=''
@@ -904,11 +936,11 @@ make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
-man1dir='c:\perl\man\man1'
-man1direxp='c:\perl\man\man1'
+man1dir='x:\tlperl\man\man1'
+man1direxp='x:\tlperl\man\man1'
man1ext='1'
-man3dir='c:\perl\man\man3'
-man3direxp='c:\perl\man\man3'
+man3dir='x:\tlperl\man\man3'
+man3direxp='x:\tlperl\man\man3'
man3ext='3'
mips_type=''
mistrustnm=''
@@ -931,7 +963,7 @@ netdb_net_type='long'
nm='nm'
nm_opt=''
nm_so_opt=''
-nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPANPLUS CPANPLUS/Dist/Build Class/ISA Devel/SelfStubber Digest Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple Safe SelfLoader Shell Switch Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Collate XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Safe SelfLoader Shell Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Version/Requirements XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
@@ -954,24 +986,25 @@ otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='12'
+patchlevel='14'
path_sep=';'
perl5=''
perl='perl'
perl_patchlevel=''
+perl_static_inline='static __inline__'
perladmin=''
perllibs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
-perlpath='c:\perl\bin\perl.exe'
+perlpath='x:\tlperl\bin\perl.exe'
pg=''
phostname='hostname'
pidtype='int'
plibpth=''
pmake=''
pr=''
-prefix='c:\perl'
-prefixexp='c:\perl'
-privlib='c:\perl\lib'
-privlibexp='c:\perl\lib'
+prefix='x:\tlperl'
+prefixexp='x:\tlperl'
+privlib='x:\tlperl\lib'
+privlibexp='x:\tlperl\lib'
procselfexe=''
prototype='define'
ptrsize='4'
@@ -1009,8 +1042,8 @@ sPRIu64='"lu"'
sPRIx64='"lx"'
sSCNfldbl='"f"'
sched_yield=''
-scriptdir='c:\perl\bin'
-scriptdirexp='c:\perl\bin'
+scriptdir='x:\tlperl\bin'
+scriptdirexp='x:\tlperl\bin'
sed='sed'
seedfunc='srand'
selectminbits='32'
@@ -1037,23 +1070,23 @@ sig_num='0 1 2 21 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20
sig_num_init='0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
sig_size='27'
signal_t='void'
-sitearch='c:\perl\site\lib'
-sitearchexp='c:\perl\site\lib'
-sitebin='c:\perl\site\bin'
-sitebinexp='c:\perl\site\bin'
+sitearch='x:\tlperl\site\lib'
+sitearchexp='x:\tlperl\site\lib'
+sitebin='x:\tlperl\site\bin'
+sitebinexp='x:\tlperl\site\bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
-sitelib='c:\perl\site\lib'
+sitelib='x:\tlperl\site\lib'
sitelib_stem=''
-sitelibexp='c:\perl\site\lib'
+sitelibexp='x:\tlperl\site\lib'
siteman1dir=''
siteman1direxp=''
siteman3dir=''
siteman3direxp=''
-siteprefix='c:\perl\site'
-siteprefixexp='c:\perl\site'
+siteprefix='x:\tlperl\site'
+siteprefixexp='x:\tlperl\site'
sitescript=''
sitescriptexp=''
sizesize='4'
@@ -1172,8 +1205,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
-version='5.12.3'
-version_patchlevel_string='version 12 subversion 3'
+version='5.14.2'
+version_patchlevel_string='version 14 subversion 2'
versiononly='undef'
vi=''
voidflags='15'
@@ -1193,8 +1226,8 @@ s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
-ccflags_nolargefiles=' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX'
-ldflags_nolargefiles='-s -L"c:\perl\lib\CORE" -L"X:\mingw32\lib"'
+ccflags_nolargefiles=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
+ldflags_nolargefiles='-s -L"x:\tlperl\lib\CORE" -L"C:\MinGW\lib"'
libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libswanted_nolargefiles=''
EOVIRTUAL
@@ -1209,38 +1242,24 @@ eval {
sub fetch_string {
my($self, $key) = @_;
- my $quote_type = "'";
- my $marker = "$key=";
-
- # Check for the common case, ' delimited
- my $start = index($Config_SH_expanded, "\n$marker$quote_type");
- # If that failed, check for " delimited
- if ($start == -1) {
- $quote_type = '"';
- $start = index($Config_SH_expanded, "\n$marker$quote_type");
- }
- # Start can never be -1 now, as we've rigged the long string we're
- # searching with an initial dummy newline.
- return undef if $start == -1;
-
- $start += length($key) + 3;
-
- my $value = substr($Config_SH_expanded, $start,
- index($Config_SH_expanded, "$quote_type\n", $start)
- - $start);
+ return undef unless my ($quote_type, $value) = $Config_SH_expanded =~ /\n$key=(['"])(.*?)\1\n/s;
# If we had a double-quote, we'd better eval it so escape
# sequences and such can be interpolated. Since the incoming
# value is supposed to follow shell rules and not perl rules,
# we escape any perl variable markers
+
+ # Historically, since " 'support' was added in change 1409, the
+ # interpolation was done before the undef. Stick to this arguably buggy
+ # behaviour as we're refactoring.
if ($quote_type eq '"') {
$value =~ s/\$/\\\$/g;
$value =~ s/\@/\\\@/g;
eval "\$value = \"$value\"";
}
+
# So we can say "if $Config{'foo'}".
- $value = undef if $value eq 'undef';
- $self->{$key} = $value; # cache it
+ $self->{$key} = $value eq 'undef' ? undef : $value; # cache it
}
my $prevpos = 0;
@@ -1269,9 +1288,7 @@ sub EXISTS {
}
sub STORE { die "\%Config::Config is read-only\n" }
-*DELETE = \&STORE;
-*CLEAR = \&STORE;
-
+*DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space
sub config_sh {
substr $Config_SH_expanded, 1, $config_sh_len;
diff --git a/Master/tlpkg/tlperl/lib/Cwd.pm b/Master/tlpkg/tlperl/lib/Cwd.pm
index a5e2cda932b..4683e103b82 100644
--- a/Master/tlpkg/tlperl/lib/Cwd.pm
+++ b/Master/tlpkg/tlperl/lib/Cwd.pm
@@ -129,7 +129,7 @@ it from Cwd.
=item *
-Since the path seperators are different on some operating systems ('/'
+Since the path separators are different on some operating systems ('/'
on Unix, ':' on MacPerl, etc...) we recommend you use the File::Spec
modules wherever portability is a concern.
@@ -171,7 +171,7 @@ use strict;
use Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-$VERSION = '3.31';
+$VERSION = '3.36';
my $xs_version = $VERSION;
$VERSION = eval $VERSION;
@@ -747,6 +747,13 @@ sub _os2_cwd {
return $ENV{'PWD'};
}
+sub _win32_cwd_simple {
+ $ENV{'PWD'} = `cd`;
+ chomp $ENV{'PWD'};
+ $ENV{'PWD'} =~ s:\\:/:g ;
+ return $ENV{'PWD'};
+}
+
sub _win32_cwd {
if (eval 'defined &DynaLoader::boot_DynaLoader') {
$ENV{'PWD'} = Win32::GetCwd();
@@ -758,7 +765,7 @@ sub _win32_cwd {
return $ENV{'PWD'};
}
-*_NT_cwd = defined &Win32::GetCwd ? \&_win32_cwd : \&_os2_cwd;
+*_NT_cwd = defined &Win32::GetCwd ? \&_win32_cwd : \&_win32_cwd_simple;
sub _dos_cwd {
if (!defined &Dos::GetCwd) {
diff --git a/Master/tlpkg/tlperl/lib/DB.pm b/Master/tlpkg/tlperl/lib/DB.pm
index efb903557a7..16ff99afa52 100644
--- a/Master/tlpkg/tlperl/lib/DB.pm
+++ b/Master/tlpkg/tlperl/lib/DB.pm
@@ -41,7 +41,7 @@ BEGIN {
$DB::subname = ''; # currently executing sub (fullly qualified name)
$DB::lineno = ''; # current line number
- $DB::VERSION = $DB::VERSION = '1.02';
+ $DB::VERSION = $DB::VERSION = '1.03';
# initialize private globals to avoid warnings
@@ -93,15 +93,6 @@ sub DB {
$usrctxt = "package $DB::package;"; # this won't let them modify, alas
local(*DB::dbline) = "::_<$DB::filename";
- # we need to check for pseudofiles on Mac OS (these are files
- # not attached to a filename, but instead stored in Dev:Pseudo)
- # since this is done late, $DB::filename will be "wrong" after
- # skippkg
- if ($^O eq 'MacOS' && $#DB::dbline < 0) {
- $DB::filename = 'Dev:Pseudo';
- *DB::dbline = "::_<$DB::filename";
- }
-
my ($stop, $action);
if (($stop,$action) = split(/\0/,$DB::dbline{$DB::lineno})) {
if ($stop eq '1') {
diff --git a/Master/tlpkg/tlperl/lib/DBM_Filter.pm b/Master/tlpkg/tlperl/lib/DBM_Filter.pm
index abcc127ba0a..a5f4a17fd56 100644
--- a/Master/tlpkg/tlperl/lib/DBM_Filter.pm
+++ b/Master/tlpkg/tlperl/lib/DBM_Filter.pm
@@ -2,7 +2,7 @@ package DBM_Filter ;
use strict;
use warnings;
-our $VERSION = '0.03';
+our $VERSION = '0.04';
package Tie::Hash ;
@@ -323,11 +323,7 @@ to be packaged into a stand-alone module.
This module will arrange for the following methods to be available via
the object returned from the C<tie> call.
-=head2 $db->Filter_Push()
-
-=head2 $db->Filter_Key_Push()
-
-=head2 $db->Filter_Value_Push()
+=head2 $db->Filter_Push() / $db->Filter_Key_Push() / $db->Filter_Value_Push()
Add a filter to filter stack for the database, C<$db>. The three formats
vary only in whether they apply to the DBM key, the DBM value or both.
diff --git a/Master/tlpkg/tlperl/lib/Data/Dumper.pm b/Master/tlpkg/tlperl/lib/Data/Dumper.pm
index 0eb8bf74fd6..1c68c987563 100644
--- a/Master/tlpkg/tlperl/lib/Data/Dumper.pm
+++ b/Master/tlpkg/tlperl/lib/Data/Dumper.pm
@@ -9,7 +9,7 @@
package Data::Dumper;
-$VERSION = '2.125'; # Don't forget to set version and release date in POD!
+$VERSION = '2.130_02'; # Don't forget to set version and release date in POD!
#$| = 1;
@@ -234,7 +234,7 @@ sub Dumpperl {
my $valstr;
{
local($s->{apad}) = $s->{apad};
- $s->{apad} .= ' ' x (length($name) + 3) if $s->{indent} >= 2;
+ $s->{apad} .= ' ' x (length($name) + 3) if $s->{indent} >= 2 and !$s->{terse};
$valstr = $s->_dump($val, $name);
}
@@ -1297,7 +1297,7 @@ modify it under the same terms as Perl itself.
=head1 VERSION
-Version 2.125 (Aug 8 2009)
+Version 2.130_02 (Dec 20 2010)
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf.pm b/Master/tlpkg/tlperl/lib/Devel/DProf.pm
index 7405b78dcf7..62485a9f3cb 100644
--- a/Master/tlpkg/tlperl/lib/Devel/DProf.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/DProf.pm
@@ -2,12 +2,18 @@ use 5.006_001;
=head1 NAME
-Devel::DProf - a Perl code profiler
+Devel::DProf - a B<DEPRECATED> Perl code profiler
=head1 SYNOPSIS
perl -d:DProf test.pl
+=head1 ACHTUNG!
+
+C<Devel::DProf> is B<DEPRECATED> and will be removed from a future version of
+Perl. We strongly recommend that you install and use L<Devel::NYTProf> instead,
+as it offers significantly improved profiling and reporting.
+
=head1 DESCRIPTION
The Devel::DProf package is a Perl code profiler. This will collect
@@ -197,9 +203,6 @@ For example, this code will break under Devel::DProf:
A pattern like this is used by Test::More's skip() function, for
example. See L<perldiag> for more details.
-Mail bug reports and feature requests to the perl5-porters mailing list at
-F<E<lt>perl5-porters@perl.orgE<gt>>.
-
=head1 SEE ALSO
L<perl>, L<dprofpp>, times(2)
@@ -213,26 +216,32 @@ sub NONESUCH_noxs {
return $Devel::DProf::VERSION;
}
-package DB;
+{
+ package DB;
-#
-# As of perl5.003_20, &DB::sub stub is not needed (some versions
-# even had problems if stub was redefined with XS version).
-#
+ #
+ # As of perl5.003_20, &DB::sub stub is not needed (some versions
+ # even had problems if stub was redefined with XS version).
+ #
-# disable DB single-stepping
-BEGIN { $single = 0; }
+ # disable DB single-stepping
+ BEGIN { $single = 0; }
-# This sub is needed during startup.
-sub DB {
-# print "nonXS DBDB\n";
+ # This sub is needed during startup.
+ sub DB {
+ # print "nonXS DBDB\n";
+ }
}
use XSLoader ();
-$Devel::DProf::VERSION = '20080331.00'; # this version not authorized by
+$Devel::DProf::VERSION = '20110228.00'; # this version not authorized by
# Dean Roehrich. See "Changes" file.
-XSLoader::load 'Devel::DProf', $Devel::DProf::VERSION;
+use if $] >= 5.013, 'deprecate';
+
+sub import {
+ XSLoader::load 'Devel::DProf', $Devel::DProf::VERSION;
+}
1;
diff --git a/Master/tlpkg/tlperl/lib/Devel/Peek.pm b/Master/tlpkg/tlperl/lib/Devel/Peek.pm
index 2fced312f2e..ab0d5eb7608 100644
--- a/Master/tlpkg/tlperl/lib/Devel/Peek.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/Peek.pm
@@ -3,12 +3,12 @@
package Devel::Peek;
-$VERSION = '1.04';
+$VERSION = '1.07';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
require Exporter;
-use XSLoader ();
+require XSLoader;
@ISA = qw(Exporter);
@EXPORT = qw(Dump mstat DeadCode DumpArray DumpWithOP DumpProg
@@ -16,7 +16,7 @@ use XSLoader ();
@EXPORT_OK = qw(SvREFCNT SvREFCNT_inc SvREFCNT_dec CvGV);
%EXPORT_TAGS = ('ALL' => [@EXPORT, @EXPORT_OK]);
-XSLoader::load 'Devel::Peek';
+XSLoader::load();
sub import {
my $c = shift;
@@ -211,29 +211,32 @@ expect to see it well-thumbed.
Let's begin by looking a simple scalar which is holding a string.
use Devel::Peek;
- $a = "hello";
+ $a = 42; $a = "hello";
Dump $a;
The output:
- SV = PVIV(0xbc288)
+ SV = PVIV(0xbc288) at 0xbe9a8
REFCNT = 1
FLAGS = (POK,pPOK)
- IV = 0
+ IV = 42
PV = 0xb2048 "hello"\0
CUR = 5
- LEN = 6
+ LEN = 8
-This says C<$a> is an SV, a scalar. The scalar is a PVIV, a string.
+This says C<$a> is an SV, a scalar. The scalar type is a PVIV, which is
+capable of holding an integer (IV) and/or a string (PV) value. The scalar's
+head is allocated at address 0xbe9a8, while the body is at 0xbc288.
Its reference count is 1. It has the C<POK> flag set, meaning its
current PV field is valid. Because POK is set we look at the PV item
to see what is in the scalar. The \0 at the end indicate that this
PV is properly NUL-terminated.
-If the FLAGS had been IOK we would look
-at the IV item. CUR indicates the number of characters in the PV.
-LEN indicates the number of bytes requested for the PV (one more than
-CUR, in this case, because LEN includes an extra byte for the
-end-of-string marker).
+Note that the IV field still contains its old numeric value, but because
+FLAGS doesn't have IOK set, we must ignore the IV item.
+CUR indicates the number of characters in the PV. LEN indicates the
+number of bytes allocated for the PV (at least one more than CUR, because
+LEN includes an extra byte for the end-of-string marker, then usually
+rounded up to some efficient allocation unit).
=head2 A simple scalar number
@@ -245,7 +248,7 @@ If the scalar contains a number the raw SV will be leaner.
The output:
- SV = IV(0xbc818)
+ SV = IV(0xbc818) at 0xbe9a8
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 42
@@ -266,7 +269,7 @@ If the scalar from the previous example had an extra reference:
The output:
- SV = IV(0xbe860)
+ SV = IV(0xbe860) at 0xbe9a8
REFCNT = 2
FLAGS = (IOK,pIOK)
IV = 42
@@ -286,24 +289,25 @@ This shows what a reference looks like when it references a simple scalar.
The output:
- SV = RV(0xf041c)
+ SV = IV(0xf041c) at 0xbe9a0
REFCNT = 1
FLAGS = (ROK)
RV = 0xbab08
- SV = IV(0xbe860)
- REFCNT = 2
- FLAGS = (IOK,pIOK)
- IV = 42
-
-Starting from the top, this says C<$b> is an SV. The scalar is an RV, a
-reference. It has the C<ROK> flag set, meaning it is a reference. Because
-ROK is set we have an RV item rather than an IV or PV. Notice that Dump
+ SV = IV(0xbe860) at 0xbe9a8
+ REFCNT = 2
+ FLAGS = (IOK,pIOK)
+ IV = 42
+
+Starting from the top, this says C<$b> is an SV. The scalar is an IV,
+which is capable of holding an integer or reference value.
+It has the C<ROK> flag set, meaning it is a reference (rather than an
+integer or string). Notice that Dump
follows the reference and shows us what C<$b> was referencing. We see the
same C<$a> that we found in the previous example.
Note that the value of C<RV> coincides with the numbers we see when we
-stringify $b. The addresses inside RV() and IV() are addresses of
-C<X***> structure which holds the current state of an C<SV>. This
+stringify $b. The addresses inside IV() are addresses of
+C<X***> structures which hold the current state of an C<SV>. This
address may change during lifetime of an SV.
=head2 A reference to an array
@@ -316,28 +320,25 @@ This shows what a reference to an array looks like.
The output:
- SV = RV(0xf041c)
+ SV = IV(0xc85998) at 0xc859a8
REFCNT = 1
FLAGS = (ROK)
- RV = 0xb2850
- SV = PVAV(0xbd448)
- REFCNT = 1
- FLAGS = ()
- IV = 0
- NV = 0
- ARRAY = 0xb2048
- ALLOC = 0xb2048
- FILL = 0
- MAX = 0
- ARYLEN = 0x0
- FLAGS = (REAL)
- Elt No. 0 0xb5658
- SV = IV(0xbe860)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 42
-
-This says C<$a> is an SV and that it is an RV. That RV points to
+ RV = 0xc70de8
+ SV = PVAV(0xc71e10) at 0xc70de8
+ REFCNT = 1
+ FLAGS = ()
+ ARRAY = 0xc7e820
+ FILL = 0
+ MAX = 0
+ ARYLEN = 0x0
+ FLAGS = (REAL)
+ Elt No. 0
+ SV = IV(0xc70f88) at 0xc70f98
+ REFCNT = 1
+ FLAGS = (IOK,pIOK)
+ IV = 42
+
+This says C<$a> is a reference (ROK), which points to
another SV which is a PVAV, an array. The array has one element,
element zero, which is another SV. The field C<FILL> above indicates
the last element in the array, similar to C<$#$a>.
@@ -351,31 +352,28 @@ following.
The output:
- SV = RV(0xf041c)
+ SV = IV(0x158c998) at 0x158c9a8
REFCNT = 1
FLAGS = (ROK)
- RV = 0xb2850
- SV = PVAV(0xbd448)
- REFCNT = 1
- FLAGS = ()
- IV = 0
- NV = 0
- ARRAY = 0xb2048
- ALLOC = 0xb2048
- FILL = 0
- MAX = 0
- ARYLEN = 0x0
- FLAGS = (REAL)
- Elt No. 0 0xb5658
- SV = IV(0xbe860)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 42
- Elt No. 1 0xb5680
- SV = IV(0xbe818)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 24
+ RV = 0x1577de8
+ SV = PVAV(0x1578e10) at 0x1577de8
+ REFCNT = 1
+ FLAGS = ()
+ ARRAY = 0x1585820
+ FILL = 1
+ MAX = 1
+ ARYLEN = 0x0
+ FLAGS = (REAL)
+ Elt No. 0
+ SV = IV(0x1577f88) at 0x1577f98
+ REFCNT = 1
+ FLAGS = (IOK,pIOK)
+ IV = 42
+ Elt No. 1
+ SV = IV(0x158be88) at 0x158be98
+ REFCNT = 1
+ FLAGS = (IOK,pIOK)
+ IV = 24
Note that C<Dump> will not report I<all> the elements in the array,
only several first (depending on how deep it already went into the
@@ -391,15 +389,13 @@ The following shows the raw form of a reference to a hash.
The output:
- SV = RV(0x8177858) at 0x816a618
+ SV = IV(0x8177858) at 0x816a618
REFCNT = 1
FLAGS = (ROK)
RV = 0x814fc10
SV = PVHV(0x8167768) at 0x814fc10
REFCNT = 1
FLAGS = (SHAREKEYS)
- IV = 1
- NV = 0
ARRAY = 0x816c5b8 (0:7, 1:1)
hash quality = 100.0%
KEYS = 1
@@ -451,19 +447,19 @@ and a reference to that SV is placed on the XSUB stack. So the output from
an XSUB which uses something like the T_PTROBJ map might look something like
this:
- SV = RV(0xf381c)
+ SV = IV(0xf381c) at 0xc859a8
REFCNT = 1
FLAGS = (ROK)
RV = 0xb8ad8
- SV = PVMG(0xbb3c8)
- REFCNT = 1
- FLAGS = (OBJECT,IOK,pIOK)
- IV = 729160
- NV = 0
- PV = 0
- STASH = 0xc1d10 "CookBookB::Opaque"
-
-This shows that we have an SV which is an RV. That RV points at another
+ SV = PVMG(0xbb3c8) at 0xc859a0
+ REFCNT = 1
+ FLAGS = (OBJECT,IOK,pIOK)
+ IV = 729160
+ NV = 0
+ PV = 0
+ STASH = 0xc1d10 "CookBookB::Opaque"
+
+This shows that we have an SV which is a reference, which points at another
SV. In this case that second SV is a PVMG, a blessed scalar. Because it is
blessed it has the C<OBJECT> flag set. Note that an SV which holds a C
pointer also has the C<IOK> flag set. The C<STASH> is set to the package
@@ -472,39 +468,40 @@ name which this SV was blessed into.
The output from an XSUB which uses something like the T_PTRREF map, which
doesn't bless the object, might look something like this:
- SV = RV(0xf381c)
+ SV = IV(0xf381c) at 0xc859a8
REFCNT = 1
FLAGS = (ROK)
RV = 0xb8ad8
- SV = PVMG(0xbb3c8)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 729160
- NV = 0
- PV = 0
+ SV = PVMG(0xbb3c8) at 0xc859a0
+ REFCNT = 1
+ FLAGS = (IOK,pIOK)
+ IV = 729160
+ NV = 0
+ PV = 0
=head2 A reference to a subroutine
Looks like this:
- SV = RV(0x798ec)
+ SV = IV(0x24d2dd8) at 0x24d2de8
REFCNT = 1
FLAGS = (TEMP,ROK)
- RV = 0x1d453c
- SV = PVCV(0x1c768c)
- REFCNT = 2
- FLAGS = ()
- IV = 0
- NV = 0
- COMP_STASH = 0x31068 "main"
- START = 0xb20e0
- ROOT = 0xbece0
- XSUB = 0x0
- XSUBANY = 0
- GVGV::GV = 0x1d44e8 "MY" :: "top_targets"
- FILE = "(eval 5)"
- DEPTH = 0
- PADLIST = 0x1c9338
+ RV = 0x24e79d8
+ SV = PVCV(0x24e5798) at 0x24e79d8
+ REFCNT = 2
+ FLAGS = ()
+ COMP_STASH = 0x22c9c50 "main"
+ START = 0x22eed60 ===> 0
+ ROOT = 0x22ee490
+ GVGV::GV = 0x22de9d8 "MY" :: "top_targets"
+ FILE = "(eval 5)"
+ DEPTH = 0
+ FLAGS = 0x0
+ OUTSIDE_SEQ = 93
+ PADLIST = 0x22e9ed8
+ PADNAME = 0x22e9ec0(0x22eed00) PAD = 0x22e9ea8(0x22eecd0)
+ OUTSIDE = 0x22c9fb0 (MAIN)
+
This shows that
@@ -513,7 +510,7 @@ This shows that
=item *
the subroutine is not an XSUB (since C<START> and C<ROOT> are
-non-zero, and C<XSUB> is zero);
+non-zero, and C<XSUB> is not listed, and is thus null);
=item *
diff --git a/Master/tlpkg/tlperl/lib/Devel/SelfStubber.pm b/Master/tlpkg/tlperl/lib/Devel/SelfStubber.pm
index bfdb4430d00..e47cd3a3326 100644
--- a/Master/tlpkg/tlperl/lib/Devel/SelfStubber.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/SelfStubber.pm
@@ -4,7 +4,7 @@ require SelfLoader;
@ISA = qw(SelfLoader);
@EXPORT = 'AUTOLOAD';
$JUST_STUBS = 1;
-$VERSION = 1.03;
+$VERSION = 1.05;
sub Version {$VERSION}
# Use as
@@ -33,7 +33,7 @@ sub stub {
$lib ||= File::Spec->curdir();
($mod_file = $module) =~ s,::,/,g;
$mod_file =~ tr|/|:| if $^O eq 'MacOS';
-
+
$mod_file = File::Spec->catfile($lib, "$mod_file.pm");
$fh = "${module}::DATA";
my (@BEFORE_DATA, @AFTER_DATA, @AFTER_END);
@@ -47,7 +47,7 @@ sub stub {
}
(defined ($line) && $line =~ m/^__DATA__/)
|| die "$mod_file doesn't contain a __DATA__ token";
- $found_selfloader ||
+ $found_selfloader ||
print 'die "\'use SelfLoader;\' statement NOT FOUND!!\n"',"\n";
if ($JUST_STUBS) {
$self->_load_stubs($module);
@@ -62,13 +62,13 @@ sub stub {
}
close($fh);
unless ($JUST_STUBS) {
- print @BEFORE_DATA;
+ print @BEFORE_DATA;
}
print @STUBS;
unless ($JUST_STUBS) {
- print "1;\n__DATA__\n",@DATA;
- if($end_data) { print "__END__ DATA\n",@AFTER_DATA; }
- if(@AFTER_END) { print "__END__\n",@AFTER_END; }
+ print "1;\n__DATA__\n",@DATA;
+ if($end_data) { print "__END__ DATA\n",@AFTER_DATA; }
+ if(@AFTER_END) { print "__END__\n",@AFTER_END; }
}
}
diff --git a/Master/tlpkg/tlperl/lib/Digest/MD5.pm b/Master/tlpkg/tlperl/lib/Digest/MD5.pm
index 4e2adbe3460..1ccba4e75dd 100644
--- a/Master/tlpkg/tlperl/lib/Digest/MD5.pm
+++ b/Master/tlpkg/tlperl/lib/Digest/MD5.pm
@@ -3,7 +3,7 @@ package Digest::MD5;
use strict;
use vars qw($VERSION @ISA @EXPORT_OK);
-$VERSION = '2.39';
+$VERSION = '2.51';
require Exporter;
*import = \&Exporter::import;
diff --git a/Master/tlpkg/tlperl/lib/Digest/SHA.pm b/Master/tlpkg/tlperl/lib/Digest/SHA.pm
index d57c16fce59..f809ce3afbc 100644
--- a/Master/tlpkg/tlperl/lib/Digest/SHA.pm
+++ b/Master/tlpkg/tlperl/lib/Digest/SHA.pm
@@ -3,10 +3,11 @@ package Digest::SHA;
require 5.003000;
use strict;
-use integer;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
+use Fcntl;
+use integer;
-$VERSION = '5.47';
+$VERSION = '5.61';
require Exporter;
require DynaLoader;
@@ -17,11 +18,15 @@ require DynaLoader;
hmac_sha256 hmac_sha256_base64 hmac_sha256_hex
hmac_sha384 hmac_sha384_base64 hmac_sha384_hex
hmac_sha512 hmac_sha512_base64 hmac_sha512_hex
+ hmac_sha512224 hmac_sha512224_base64 hmac_sha512224_hex
+ hmac_sha512256 hmac_sha512256_base64 hmac_sha512256_hex
sha1 sha1_base64 sha1_hex
sha224 sha224_base64 sha224_hex
sha256 sha256_base64 sha256_hex
sha384 sha384_base64 sha384_hex
- sha512 sha512_base64 sha512_hex);
+ sha512 sha512_base64 sha512_hex
+ sha512224 sha512224_base64 sha512224_hex
+ sha512256 sha512256_base64 sha512256_hex);
# If possible, inherit from Digest::base (which depends on MIME::Base64)
@@ -111,16 +116,16 @@ sub Addfile {
$mode = defined($mode) ? $mode : "";
my ($binary, $portable) = map { $_ eq $mode } ("b", "p");
- my $text = -T $file;
+ ## Always interpret "-" to mean STDIN; otherwise use
+ ## sysopen to handle full range of POSIX file names
local *FH;
- # protect any leading or trailing whitespace in $file;
- # otherwise, 2-arg "open" will ignore them
- $file =~ s#^(\s)#./$1#;
- open(FH, "< $file\0") or _bail("Open failed");
+ $file eq '-' and open(FH, '< -')
+ or sysopen(FH, $file, O_RDONLY)
+ or _bail('Open failed');
binmode(FH) if $binary || $portable;
- unless ($portable && $text) {
+ unless ($portable && -T $file) {
$self->_addfile(*FH);
close(FH);
return($self);
@@ -136,8 +141,8 @@ sub Addfile {
last unless $n2;
$buf1 .= $buf2;
}
- $buf1 =~ s/\015?\015\012/\012/g; # DOS/Windows
- $buf1 =~ s/\015/\012/g; # early MacOS
+ $buf1 =~ s/\015?\015\012/\012/g; # DOS/Windows
+ $buf1 =~ s/\015/\012/g; # early MacOS
$self->add($buf1);
}
_bail("Read failed") unless defined $n1;
@@ -233,11 +238,10 @@ From the command line:
=head1 ABSTRACT
-Digest::SHA is a complete implementation of the NIST Secure Hash
-Standard. It gives Perl programmers a convenient way to calculate
-SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 message digests.
-The module can handle all types of input, including partial-byte
-data.
+Digest::SHA is a complete implementation of the NIST Secure Hash Standard.
+It gives Perl programmers a convenient way to calculate SHA-1, SHA-224,
+SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256 message digests.
+The module can handle all types of input, including partial-byte data.
=head1 DESCRIPTION
@@ -372,6 +376,10 @@ I<Functional style>
=item B<sha512($data, ...)>
+=item B<sha512224($data, ...)>
+
+=item B<sha512256($data, ...)>
+
Logically joins the arguments into a single string, and returns
its SHA-1/224/256/384/512 digest encoded as a binary string.
@@ -385,6 +393,10 @@ its SHA-1/224/256/384/512 digest encoded as a binary string.
=item B<sha512_hex($data, ...)>
+=item B<sha512224_hex($data, ...)>
+
+=item B<sha512256_hex($data, ...)>
+
Logically joins the arguments into a single string, and returns
its SHA-1/224/256/384/512 digest encoded as a hexadecimal string.
@@ -398,6 +410,10 @@ its SHA-1/224/256/384/512 digest encoded as a hexadecimal string.
=item B<sha512_base64($data, ...)>
+=item B<sha512224_base64($data, ...)>
+
+=item B<sha512256_base64($data, ...)>
+
Logically joins the arguments into a single string, and returns
its SHA-1/224/256/384/512 digest encoded as a Base64 string.
@@ -414,10 +430,11 @@ I<OOP style>
=item B<new($alg)>
-Returns a new Digest::SHA object. Allowed values for I<$alg> are
-1, 224, 256, 384, or 512. It's also possible to use common string
-representations of the algorithm (e.g. "sha256", "SHA-384"). If
-the argument is missing, SHA-1 will be used by default.
+Returns a new Digest::SHA object. Allowed values for I<$alg> are 1,
+224, 256, 384, 512, 512224, or 512256. It's also possible to use
+common string representations of the algorithm (e.g. "sha256",
+"SHA-384"). If the argument is missing, SHA-1 will be used by
+default.
Invoking I<new> as an instance method will not create a new object;
instead, it will simply reset the object to the initial state
@@ -432,14 +449,14 @@ I<reset> is just an alias for I<new>.
=item B<hashsize>
Returns the number of digest bits for this object. The values are
-160, 224, 256, 384, and 512 for SHA-1, SHA-224, SHA-256, SHA-384,
-and SHA-512, respectively.
+160, 224, 256, 384, 512, 224, and 256 for SHA-1, SHA-224, SHA-256,
+SHA-384, SHA-512, SHA-512/224 and SHA-512/256, respectively.
=item B<algorithm>
Returns the digest algorithm for this object. The values are 1,
-224, 256, 384, and 512 for SHA-1, SHA-224, SHA-256, SHA-384, and
-SHA-512, respectively.
+224, 256, 384, 512, 512224, and 512256 for SHA-1, SHA-224, SHA-256,
+SHA-384, SHA-512, SHA-512/224, and SHA-512/256, respectively.
=item B<clone>
@@ -576,6 +593,10 @@ I<HMAC-SHA-1/224/256/384/512>
=item B<hmac_sha512($data, $key)>
+=item B<hmac_sha512224($data, $key)>
+
+=item B<hmac_sha512256($data, $key)>
+
Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>,
with the result encoded as a binary string. Multiple I<$data>
arguments are allowed, provided that I<$key> is the last argument
@@ -591,6 +612,10 @@ in the list.
=item B<hmac_sha512_hex($data, $key)>
+=item B<hmac_sha512224_hex($data, $key)>
+
+=item B<hmac_sha512256_hex($data, $key)>
+
Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>,
with the result encoded as a hexadecimal string. Multiple I<$data>
arguments are allowed, provided that I<$key> is the last argument
@@ -606,6 +631,10 @@ in the list.
=item B<hmac_sha512_base64($data, $key)>
+=item B<hmac_sha512224_base64($data, $key)>
+
+=item B<hmac_sha512256_base64($data, $key)>
+
Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>,
with the result encoded as a Base64 string. Multiple I<$data>
arguments are allowed, provided that I<$key> is the last argument
@@ -622,9 +651,9 @@ CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details.
L<Digest>, L<Digest::SHA::PurePerl>
-The Secure Hash Standard (FIPS PUB 180-2) can be found at:
+The Secure Hash Standard (Draft FIPS PUB 180-4) can be found at:
-L<http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf>
+L<http://csrc.nist.gov/publications/drafts/fips180-4/Draft-FIPS180-4_Feb2011.pdf>
The Keyed-Hash Message Authentication Code (HMAC):
@@ -639,6 +668,7 @@ L<http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf>
The author is particularly grateful to
Gisle Aas
+ Sean Burke
Chris Carey
Alexandr Ciornii
Jim Doble
@@ -655,11 +685,13 @@ The author is particularly grateful to
Gunnar Wolf
Adam Woodbury
-for their valuable comments and suggestions.
+"who by trained skill rescued life from such great billows and such thick
+darkness and moored it in so perfect a calm and in so brilliant a light"
+- Lucretius
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2003-2008 Mark Shelor
+Copyright (C) 2003-2011 Mark Shelor
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/DirHandle.pm b/Master/tlpkg/tlperl/lib/DirHandle.pm
index fc27dfb1e63..7493c00a542 100644
--- a/Master/tlpkg/tlperl/lib/DirHandle.pm
+++ b/Master/tlpkg/tlperl/lib/DirHandle.pm
@@ -1,6 +1,6 @@
package DirHandle;
-our $VERSION = '1.03';
+our $VERSION = '1.04';
=head1 NAME
@@ -25,20 +25,6 @@ opendir(), closedir(), readdir(), and rewinddir() functions.
The only objective benefit to using C<DirHandle> is that it avoids
namespace pollution by creating globs to hold directory handles.
-=head1 NOTES
-
-=over 4
-
-=item *
-
-On Mac OS (Classic), the path separator is ':', not '/', and the
-current directory is denoted as ':', not '.'. You should be careful
-about specifying relative pathnames. While a full path always begins
-with a volume name, a relative pathname should always begin with a
-':'. If specifying a volume name only, a trailing ':' is required.
-
-=back
-
=cut
require 5.000;
diff --git a/Master/tlpkg/tlperl/lib/Dumpvalue.pm b/Master/tlpkg/tlperl/lib/Dumpvalue.pm
index af16b1dd088..f3cde0b8960 100644
--- a/Master/tlpkg/tlperl/lib/Dumpvalue.pm
+++ b/Master/tlpkg/tlperl/lib/Dumpvalue.pm
@@ -1,7 +1,7 @@
use 5.006_001; # for (defined ref) and $#$v and our
package Dumpvalue;
use strict;
-our $VERSION = '1.13';
+our $VERSION = '1.16';
our(%address, $stab, @stab, %stab, %subs);
# documentation nits, handle complex data structures better by chromatic
@@ -230,14 +230,14 @@ sub unwrap {
if ($#$v >= 0) {
$short = $sp . "0..$#{$v} " .
join(" ",
- map {exists $v->[$_] ? $self->stringify($v->[$_]) : "empty"} ($[..$tArrayDepth)
+ map {exists $v->[$_] ? $self->stringify($v->[$_]) : "empty"} (0..$tArrayDepth)
) . "$shortmore";
} else {
$short = $sp . "empty array";
}
(print "$short\n"), return if length $short <= $self->{compactDump};
}
- for my $num ($[ .. $tArrayDepth) {
+ for my $num (0 .. $tArrayDepth) {
return if $DB::signal and $self->{stopDbSignal};
print "$sp$num ";
if (exists $v->[$num]) {
@@ -541,7 +541,7 @@ I<as is>. If C<quoteHighBit> is set, they will be quoted.
=item C<usageOnly>
-rudimentally per-package memory usage dump. If set,
+rudimentary per-package memory usage dump. If set,
C<dumpvars> calculates total size of strings in variables in the package.
=item unctrl
diff --git a/Master/tlpkg/tlperl/lib/DynaLoader.pm b/Master/tlpkg/tlperl/lib/DynaLoader.pm
index 8ffc9b7672c..44b1c1735f6 100644
--- a/Master/tlpkg/tlperl/lib/DynaLoader.pm
+++ b/Master/tlpkg/tlperl/lib/DynaLoader.pm
@@ -16,12 +16,9 @@ package DynaLoader;
# Tim.Bunce@ig.co.uk, August 1994
BEGIN {
- $VERSION = '1.10';
+ $VERSION = '1.13';
}
-require AutoLoader;
-*AUTOLOAD = \&AutoLoader::AUTOLOAD;
-
use Config;
# enable debug/trace messages from DynaLoader perl code
@@ -45,8 +42,6 @@ sub dl_load_flags { 0x00 }
$do_expand = 0;
-
-
@dl_require_symbols = (); # names of symbols we need
@dl_resolve_using = (); # names of files to link with
@dl_library_path = (); # path to look for files
@@ -110,9 +105,6 @@ sub bootstrap_inherit {
bootstrap(@_);
}
-# The bootstrap function cannot be autoloaded (without complications)
-# so we define it here:
-
sub bootstrap {
# use local vars to enable $module.bs script to edit values
local(@args) = @_;
@@ -151,14 +143,12 @@ sub bootstrap {
foreach (@INC) {
-
my $dir = "$_/auto/$modpname";
-
next unless -d $dir; # skip over uninteresting directories
# check for common cases to avoid autoload of dl_findfile
- my $try = "$dir/$modfname.$dl_dlext";
+ my $try = "$dir/$modfname.$dl_dlext";
last if $file = ($do_expand) ? dl_expandspec($try) : ((-f $try) && $try);
# no luck here, save dir for possible later dl_findfile search
@@ -223,19 +213,6 @@ sub bootstrap {
&$xs(@args);
}
-
-#sub _check_file { # private utility to handle dl_expandspec vs -f tests
-# my($file) = @_;
-# return $file if (!$do_expand && -f $file); # the common case
-# return $file if ( $do_expand && ($file=dl_expandspec($file)));
-# return undef;
-#}
-
-
-# Let autosplit and the autoloader deal with these functions:
-__END__
-
-
sub dl_findfile {
# Read ext/DynaLoader/DynaLoader.doc for detailed information.
# This function does not automatically consider the architecture
@@ -253,7 +230,6 @@ sub dl_findfile {
# Special fast case: full filepath requires no search
-
if (m:/: && -f $_) {
push(@found,$_);
last arg unless wantarray;
@@ -265,8 +241,6 @@ sub dl_findfile {
# Using a -L prefix is the preferred option (faster and more robust)
if (m:^-L:) { s/^-L//; push(@dirs, $_); next; }
-
-
# Otherwise we try to try to spot directories by a heuristic
# (this is a more complicated issue than it first appears)
if (m:/: && -d $_) { push(@dirs, $_); next; }
@@ -283,6 +257,7 @@ sub dl_findfile {
# these should be ordered with the most likely first
push(@names,"$_.$dl_dlext") unless m/\.$dl_dlext$/o;
push(@names,"$_.$dl_so") unless m/\.$dl_so$/o;
+
push(@names,"lib$_.$dl_so") unless m:/:;
push(@names,"$_.a") if !m/\.a$/ and $dlsrc eq "dl_dld.xs";
push(@names, $_);
@@ -315,12 +290,13 @@ sub dl_findfile {
}
+
sub dl_expandspec {
my($spec) = @_;
# Optional function invoked if DynaLoader.pm sets $do_expand.
# Most systems do not require or use this function.
# Some systems may implement it in the dl_*.xs file in which case
- # this autoload version will not be called but is harmless.
+ # this Perl version should be excluded at build time.
# This function is designed to deal with systems which treat some
# 'filenames' in a special way. For example VMS 'Logical Names'
@@ -331,9 +307,7 @@ sub dl_expandspec {
my $file = $spec; # default output to input
-
return undef unless -f $file;
-
print STDERR "dl_expandspec($spec) => $file\n" if $dl_debug;
$file;
}
@@ -349,6 +323,8 @@ sub dl_find_symbol_anywhere
return undef;
}
+__END__
+
=head1 NAME
DynaLoader - Dynamically load C libraries into Perl code
@@ -549,9 +525,8 @@ Some unusual systems, such as VMS, require special filename handling in
order to deal with symbolic names for files (i.e., VMS's Logical Names).
To support these systems a dl_expandspec() function can be implemented
-either in the F<dl_*.xs> file or code can be added to the autoloadable
-dl_expandspec() function in F<DynaLoader.pm>. See F<DynaLoader.pm> for
-more information.
+either in the F<dl_*.xs> file or code can be added to the dl_expandspec()
+function in F<DynaLoader.pm>. See F<DynaLoader_pm.PL> for more information.
=item dl_load_file()
@@ -698,7 +673,7 @@ $filename is not defined then "DynaLoader" will be used.
Syntax:
-bootstrap($module)
+bootstrap($module [...])
This is the normal entry point for automatic dynamic loading in Perl.
@@ -751,6 +726,13 @@ it uses the function reference returned by dl_install_xsub for speed)
=back
+All arguments to bootstrap() are passed to the module's bootstrap function.
+The default code generated by F<xsubpp> expects $module [, $version]
+If the optional $version argument is not given, it defaults to
+C<$XS_VERSION // $VERSION> in the module's symbol table. The default code
+compares the Perl-space version with the version of the compiled XS code,
+and croaks with an error if they do not match.
+
=back
diff --git a/Master/tlpkg/tlperl/lib/Encode.pm b/Master/tlpkg/tlperl/lib/Encode.pm
index f1dff7820c2..a8f06341d15 100644
--- a/Master/tlpkg/tlperl/lib/Encode.pm
+++ b/Master/tlpkg/tlperl/lib/Encode.pm
@@ -1,10 +1,10 @@
#
-# $Id: Encode.pm,v 2.39 2009/11/26 09:23:48 dankogai Exp $
+# $Id: Encode.pm,v 2.42 2010/12/31 22:48:10 dankogai Exp $
#
package Encode;
use strict;
use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.39 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d_01", q$Revision: 2.42 $ =~ /(\d+)/g;
sub DEBUG () { 0 }
use XSLoader ();
XSLoader::load( __PACKAGE__, $VERSION );
@@ -203,18 +203,32 @@ sub encode_utf8($) {
return $str;
}
+my $utf8enc;
+
sub decode_utf8($;$) {
- my ( $str, $check ) = @_;
- return $str if is_utf8($str);
- if ($check) {
- return decode( "utf8", $str, $check );
- }
- else {
- return decode( "utf8", $str );
- return $str;
- }
+ my ( $octets, $check ) = @_;
+ return $octets if is_utf8($octets);
+ return undef unless defined $octets;
+ $octets .= '' if ref $octets;
+ $check ||= 0;
+ $utf8enc ||= find_encoding('utf8');
+ my $string = $utf8enc->decode( $octets, $check );
+ $_[0] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
+ return $string;
}
+# sub decode_utf8($;$) {
+# my ( $str, $check ) = @_;
+# return $str if is_utf8($str);
+# if ($check) {
+# return decode( "utf8", $str, $check );
+# }
+# else {
+# return decode( "utf8", $str );
+# return $str;
+# }
+# }
+
predefine_encodings(1);
#
diff --git a/Master/tlpkg/tlperl/lib/Encode/Alias.pm b/Master/tlpkg/tlperl/lib/Encode/Alias.pm
index f142403ca9c..f517a5a75a8 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Alias.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Alias.pm
@@ -2,7 +2,7 @@ package Encode::Alias;
use strict;
use warnings;
no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.12 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
sub DEBUG () { 0 }
use base qw(Exporter);
@@ -90,9 +90,9 @@ sub define_alias {
DEBUG and warn "delete \$Alias\{$k\}";
delete $Alias{$k};
}
- elsif ( ref($alias) eq 'CODE' ) {
+ elsif ( ref($alias) eq 'CODE' && $alias->($k) ) {
DEBUG and warn "delete \$Alias\{$k\}";
- delete $Alias{ $alias->($name) };
+ delete $Alias{$k};
}
}
}
@@ -286,7 +286,9 @@ Encode::Alias - alias definitions to encodings
use Encode;
use Encode::Alias;
- define_alias( newName => ENCODING);
+ define_alias( "newName" => ENCODING);
+ define_alias( qr/.../ => ENCODING);
+ define_alias( sub { return ENCODING if ...; } );
=head1 DESCRIPTION
@@ -294,7 +296,8 @@ Allows newName to be used as an alias for ENCODING. ENCODING may be
either the name of an encoding or an encoding object (as described
in L<Encode>).
-Currently I<newName> can be specified in the following ways:
+Currently the first argument to define_alias() can be specified in the
+following ways:
=over 4
@@ -321,7 +324,7 @@ experienced. Use this feature with caution.
The same effect as the example above in a different way. The coderef
takes the alias name as an argument and returns a canonical name on
-success or undef if not. Note the second argument is not required.
+success or undef if not. Note the second argument is ignored if provided.
Use this with even more caution than the regex version.
=back
@@ -369,6 +372,10 @@ to do so. And
gets the factory settings back.
+Note that define_alias() will not be able to override the canonical name
+of encodings. Encodings are first looked up by canonical name before
+potential aliases are tried.
+
=head1 SEE ALSO
L<Encode>, L<Encode::Supported>
diff --git a/Master/tlpkg/tlperl/lib/Encode/Guess.pm b/Master/tlpkg/tlperl/lib/Encode/Guess.pm
index 1ad7147e7f5..9636a8ad8a5 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Guess.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Guess.pm
@@ -2,7 +2,7 @@ package Encode::Guess;
use strict;
use warnings;
use Encode qw(:fallbacks find_encoding);
-our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
my $Canon = 'Guess';
sub DEBUG () { 0 }
@@ -53,7 +53,7 @@ sub decode($$;$) {
require Carp;
Carp::croak($guessed);
}
- my $utf8 = $guessed->decode( $octet, $chk );
+ my $utf8 = $guessed->decode( $octet, $chk || 0 );
$_[1] = $octet if $chk;
return $utf8;
}
@@ -279,7 +279,7 @@ the internal suspects list.
my $decoder = guess_encoding($data, qw/euc-jp euc-kr euc-cn/);
die $decoder unless ref($decoder);
my $utf8 = $decoder->decode($data);
- # check only ascii and utf8
+ # check only ascii, utf8 and UTF-(16|32) with BOM
my $decoder = guess_encoding($data);
=back
diff --git a/Master/tlpkg/tlperl/lib/Encode/Locale.pm b/Master/tlpkg/tlperl/lib/Encode/Locale.pm
new file mode 100644
index 00000000000..b14e10a01a8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Encode/Locale.pm
@@ -0,0 +1,348 @@
+package Encode::Locale;
+
+use strict;
+our $VERSION = "1.03";
+
+use base 'Exporter';
+our @EXPORT_OK = qw(
+ decode_argv env
+ $ENCODING_LOCALE $ENCODING_LOCALE_FS
+ $ENCODING_CONSOLE_IN $ENCODING_CONSOLE_OUT
+);
+
+use Encode ();
+use Encode::Alias ();
+
+our $ENCODING_LOCALE;
+our $ENCODING_LOCALE_FS;
+our $ENCODING_CONSOLE_IN;
+our $ENCODING_CONSOLE_OUT;
+
+sub DEBUG () { 0 }
+
+sub _init {
+ if ($^O eq "MSWin32") {
+ unless ($ENCODING_LOCALE) {
+ # Try to obtain what the Windows ANSI code page is
+ eval {
+ unless (defined &GetACP) {
+ require Win32::API;
+ Win32::API->Import('kernel32', 'int GetACP()');
+ };
+ if (defined &GetACP) {
+ my $cp = GetACP();
+ $ENCODING_LOCALE = "cp$cp" if $cp;
+ }
+ };
+ }
+
+ unless ($ENCODING_CONSOLE_IN) {
+ # If we have the Win32::Console module installed we can ask
+ # it for the code set to use
+ eval {
+ require Win32::Console;
+ my $cp = Win32::Console::InputCP();
+ $ENCODING_CONSOLE_IN = "cp$cp" if $cp;
+ $cp = Win32::Console::OutputCP();
+ $ENCODING_CONSOLE_OUT = "cp$cp" if $cp;
+ };
+ # Invoking the 'chcp' program might also work
+ if (!$ENCODING_CONSOLE_IN && (qx(chcp) || '') =~ /^Active code page: (\d+)/) {
+ $ENCODING_CONSOLE_IN = "cp$1";
+ }
+ }
+ }
+
+ unless ($ENCODING_LOCALE) {
+ eval {
+ require I18N::Langinfo;
+ $ENCODING_LOCALE = I18N::Langinfo::langinfo(I18N::Langinfo::CODESET());
+
+ # Workaround of Encode < v2.25. The "646" encoding alias was
+ # introduced in Encode-2.25, but we don't want to require that version
+ # quite yet. Should avoid the CPAN testers failure reported from
+ # openbsd-4.7/perl-5.10.0 combo.
+ $ENCODING_LOCALE = "ascii" if $ENCODING_LOCALE eq "646";
+
+ # https://rt.cpan.org/Ticket/Display.html?id=66373
+ $ENCODING_LOCALE = "hp-roman8" if $^O eq "hpux" && $ENCODING_LOCALE eq "roman8";
+ };
+ $ENCODING_LOCALE ||= $ENCODING_CONSOLE_IN;
+ }
+
+ if ($^O eq "darwin") {
+ $ENCODING_LOCALE_FS ||= "UTF-8";
+ }
+
+ # final fallback
+ $ENCODING_LOCALE ||= $^O eq "MSWin32" ? "cp1252" : "UTF-8";
+ $ENCODING_LOCALE_FS ||= $ENCODING_LOCALE;
+ $ENCODING_CONSOLE_IN ||= $ENCODING_LOCALE;
+ $ENCODING_CONSOLE_OUT ||= $ENCODING_CONSOLE_IN;
+
+ unless (Encode::find_encoding($ENCODING_LOCALE)) {
+ my $foundit;
+ if (lc($ENCODING_LOCALE) eq "gb18030") {
+ eval {
+ require Encode::HanExtra;
+ };
+ if ($@) {
+ die "Need Encode::HanExtra to be installed to support locale codeset ($ENCODING_LOCALE), stopped";
+ }
+ $foundit++ if Encode::find_encoding($ENCODING_LOCALE);
+ }
+ die "The locale codeset ($ENCODING_LOCALE) isn't one that perl can decode, stopped"
+ unless $foundit;
+
+ }
+
+ # use Data::Dump; ddx $ENCODING_LOCALE, $ENCODING_LOCALE_FS, $ENCODING_CONSOLE_IN, $ENCODING_CONSOLE_OUT;
+}
+
+_init();
+Encode::Alias::define_alias(sub {
+ no strict 'refs';
+ no warnings 'once';
+ return ${"ENCODING_" . uc(shift)};
+}, "locale");
+
+sub _flush_aliases {
+ no strict 'refs';
+ for my $a (keys %Encode::Alias::Alias) {
+ if (defined ${"ENCODING_" . uc($a)}) {
+ delete $Encode::Alias::Alias{$a};
+ warn "Flushed alias cache for $a" if DEBUG;
+ }
+ }
+}
+
+sub reinit {
+ $ENCODING_LOCALE = shift;
+ $ENCODING_LOCALE_FS = shift;
+ $ENCODING_CONSOLE_IN = $ENCODING_LOCALE;
+ $ENCODING_CONSOLE_OUT = $ENCODING_LOCALE;
+ _init();
+ _flush_aliases();
+}
+
+sub decode_argv {
+ die if defined wantarray;
+ for (@ARGV) {
+ $_ = Encode::decode(locale => $_, @_);
+ }
+}
+
+sub env {
+ my $k = Encode::encode(locale => shift);
+ my $old = $ENV{$k};
+ if (@_) {
+ my $v = shift;
+ if (defined $v) {
+ $ENV{$k} = Encode::encode(locale => $v);
+ }
+ else {
+ delete $ENV{$k};
+ }
+ }
+ return Encode::decode(locale => $old) if defined wantarray;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Encode::Locale - Determine the locale encoding
+
+=head1 SYNOPSIS
+
+ use Encode::Locale;
+ use Encode;
+
+ $string = decode(locale => $bytes);
+ $bytes = encode(locale => $string);
+
+ if (-t) {
+ binmode(STDIN, ":encoding(console_in)");
+ binmode(STDOUT, ":encoding(console_out)");
+ binmode(STDERR, ":encoding(console_out)");
+ }
+
+ # Processing file names passed in as arguments
+ my $uni_filename = decode(locale => $ARGV[0]);
+ open(my $fh, "<", encode(locale_fs => $uni_filename))
+ || die "Can't open '$uni_filename': $!";
+ binmode($fh, ":encoding(locale)");
+ ...
+
+=head1 DESCRIPTION
+
+In many applications it's wise to let Perl use Unicode for the strings it
+processes. Most of the interfaces Perl has to the outside world are still byte
+based. Programs therefore need to decode byte strings that enter the program
+from the outside and encode them again on the way out.
+
+The POSIX locale system is used to specify both the language conventions
+requested by the user and the preferred character set to consume and
+output. The C<Encode::Locale> module looks up the charset and encoding (called
+a CODESET in the locale jargon) and arranges for the L<Encode> module to know
+this encoding under the name "locale". It means bytes obtained from the
+environment can be converted to Unicode strings by calling C<<
+Encode::encode(locale => $bytes) >> and converted back again with C<<
+Encode::decode(locale => $string) >>.
+
+Where file systems interfaces pass file names in and out of the program we also
+need care. The trend is for operating systems to use a fixed file encoding
+that don't actually depend on the locale; and this module determines the most
+appropriate encoding for file names. The L<Encode> module will know this
+encoding under the name "locale_fs". For traditional Unix systems this will
+be an alias to the same encoding as "locale".
+
+For programs running in a terminal window (called a "Console" on some systems)
+the "locale" encoding is usually a good choice for what to expect as input and
+output. Some systems allows us to query the encoding set for the terminal and
+C<Encode::Locale> will do that if available and make these encodings known
+under the C<Encode> aliases "console_in" and "console_out". For systems where
+we can't determine the terminal encoding these will be aliased as the same
+encoding as "locale". The advice is to use "console_in" for input known to
+come from the terminal and "console_out" for output known to go from the
+terminal.
+
+In addition to arranging for various Encode aliases the following functions and
+variables are provided:
+
+=over
+
+=item decode_argv( )
+
+=item decode_argv( Encode::FB_CROAK )
+
+This will decode the command line arguments to perl (the C<@ARGV> array) in-place.
+
+The function will by default replace characters that can't be decoded by
+"\x{FFFD}", the Unicode replacement character.
+
+Any argument provided is passed as CHECK to underlying Encode::decode() call.
+Pass the value C<Encode::FB_CROAK> to have the decoding croak if not all the
+command line arguments can be decoded. See L<Encode/"Handling Malformed Data">
+for details on other options for CHECK.
+
+=item env( $uni_key )
+
+=item env( $uni_key => $uni_value )
+
+Interface to get/set environment variables. Returns the current value as a
+Unicode string. The $uni_key and $uni_value arguments are expected to be
+Unicode strings as well. Passing C<undef> as $uni_value deletes the
+environment variable named $uni_key.
+
+The returned value will have the characters that can't be decoded replaced by
+"\x{FFFD}", the Unicode replacement character.
+
+There is no interface to request alternative CHECK behavior as for
+decode_argv(). If you need that you need to call encode/decode yourself.
+For example:
+
+ my $key = Encode::encode(locale => $uni_key, Encode::FB_CROAK);
+ my $uni_value = Encode::decode(locale => $ENV{$key}, Encode::FB_CROAK);
+
+=item reinit( )
+
+=item reinit( $encoding )
+
+Reinitialize the encodings from the locale. You want to call this function if
+you changed anything in the environment that might influence the locale.
+
+This function will croak if the determined encoding isn't recognized by
+the Encode module.
+
+With argument force $ENCODING_... variables to set to the given value.
+
+=item $ENCODING_LOCALE
+
+The encoding name determined to be suitable for the current locale.
+L<Encode> know this encoding as "locale".
+
+=item $ENCODING_LOCALE_FS
+
+The encoding name determined to be suiteable for file system interfaces
+involving file names.
+L<Encode> know this encoding as "locale_fs".
+
+=item $ENCODING_CONSOLE_IN
+
+=item $ENCODING_CONSOLE_OUT
+
+The encodings to be used for reading and writing output to the a console.
+L<Encode> know these encodings as "console_in" and "console_out".
+
+=back
+
+=head1 NOTES
+
+This table summarizes the mapping of the encodings set up
+by the C<Encode::Locale> module:
+
+ Encode | | |
+ Alias | Windows | Mac OS X | POSIX
+ ------------+---------+--------------+------------
+ locale | ANSI | nl_langinfo | nl_langinfo
+ locale_fs | ANSI | UTF-8 | nl_langinfo
+ console_in | OEM | nl_langinfo | nl_langinfo
+ console_out | OEM | nl_langinfo | nl_langinfo
+
+=head2 Windows
+
+Windows has basically 2 sets of APIs. A wide API (based on passing UTF-16
+strings) and a byte based API based a character set called ANSI. The
+regular Perl interfaces to the OS currently only uses the ANSI APIs.
+Unfortunately ANSI is not a single character set.
+
+The encoding that corresponds to ANSI varies between different editions of
+Windows. For many western editions of Windows ANSI corresponds to CP-1252
+which is a character set similar to ISO-8859-1. Conceptually the ANSI
+character set is a similar concept to the POSIX locale CODESET so this module
+figures out what the ANSI code page is and make this available as
+$ENCODING_LOCALE and the "locale" Encoding alias.
+
+Windows systems also operate with another byte based character set.
+It's called the OEM code page. This is the encoding that the Console
+takes as input and output. It's common for the OEM code page to
+differ from the ANSI code page.
+
+=head2 Mac OS X
+
+On Mac OS X the file system encoding is always UTF-8 while the locale
+can otherwise be set up as normal for POSIX systems.
+
+File names on Mac OS X will at the OS-level be converted to
+NFD-form. A file created by passing a NFC-filename will come
+in NFD-form from readdir(). See L<Unicode::Normalize> for details
+of NFD/NFC.
+
+Actually, Apple does not follow the Unicode NFD standard since not all
+character ranges are decomposed. The claim is that this avoids problems with
+round trip conversions from old Mac text encodings. See L<Encode::UTF8Mac> for
+details.
+
+=head2 POSIX (Linux and other Unixes)
+
+File systems might vary in what encoding is to be used for
+filenames. Since this module has no way to actually figure out
+what the is correct it goes with the best guess which is to
+assume filenames are encoding according to the current locale.
+Users are advised to always specify UTF-8 as the locale charset.
+
+=head1 SEE ALSO
+
+L<I18N::Langinfo>, L<Encode>
+
+=head1 AUTHOR
+
+Copyright 2010 Gisle Aas <gisle@aas.no>.
+
+This library is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm b/Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm
index 9728dc32d89..c41797c7035 100644
--- a/Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/MIME/Header.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.11 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use Encode qw(find_encoding encode_utf8 decode_utf8);
use MIME::Base64;
use Carp;
@@ -95,7 +95,7 @@ sub decode_q {
my $especials =
join( '|' => map { quotemeta( chr($_) ) }
- unpack( "C*", qq{()<>@,;:"'/[]?.=} ) );
+ unpack( "C*", qq{()<>,;:"'/[]?=} ) );
my $re_encoded_word = qr{
=\? # begin encoded word
@@ -127,11 +127,12 @@ sub encode($$;$) {
for my $word (@word) {
use bytes ();
if ( bytes::length($subline) + bytes::length($word) >
- $obj->{bpl} )
+ $obj->{bpl} - 1 )
{
push @subline, $subline;
$subline = '';
}
+ $subline .= ' ' if ($subline =~ /\?=$/ and $word =~ /^=\?/);
$subline .= $word;
}
$subline and push @subline, $subline;
diff --git a/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm b/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm
index 6ee46195854..1d639627549 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Unicode/UTF7.pm
@@ -1,5 +1,5 @@
#
-# $Id: UTF7.pm,v 2.4 2006/06/03 20:28:48 dankogai Exp $
+# $Id: UTF7.pm,v 2.5 2010/09/18 18:39:51 dankogai Exp $
#
package Encode::Unicode::UTF7;
use strict;
@@ -7,7 +7,7 @@ use warnings;
no warnings 'redefine';
use base qw(Encode::Encoding);
__PACKAGE__->Define('UTF-7');
-our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
use MIME::Base64;
use Encode;
@@ -35,7 +35,9 @@ sub encode($$;$) {
my $bytes = '';
while ( pos($str) < $len ) {
if ( $str =~ /\G($re_asis+)/ogc ) {
- $bytes .= $1;
+ my $octets = $1;
+ utf8::downgrade($octets);
+ $bytes .= $octets;
}
elsif ( $str =~ /\G($re_encoded+)/ogsc ) {
if ( $1 eq "+" ) {
diff --git a/Master/tlpkg/tlperl/lib/Env.pm b/Master/tlpkg/tlperl/lib/Env.pm
index deac5fc4b92..d770533bd2d 100644
--- a/Master/tlpkg/tlperl/lib/Env.pm
+++ b/Master/tlpkg/tlperl/lib/Env.pm
@@ -1,6 +1,6 @@
package Env;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Errno.pm b/Master/tlpkg/tlperl/lib/Errno.pm
index b37d29e935f..ce583674850 100644
--- a/Master/tlpkg/tlperl/lib/Errno.pm
+++ b/Master/tlpkg/tlperl/lib/Errno.pm
@@ -1,10 +1,10 @@
+# -*- buffer-read-only: t -*-
#
# This file is auto-generated. ***ANY*** changes here will be lost
#
package Errno;
-our (@EXPORT_OK,%EXPORT_TAGS,@ISA,$VERSION,%errno,$AUTOLOAD);
-use Exporter ();
+require Exporter;
use Config;
use strict;
@@ -12,744 +12,1939 @@ use strict;
"MSWin32-x86-multi-thread-5.1" or
die "Errno architecture (MSWin32-x86-multi-thread-5.1) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})";
-$VERSION = "1.11";
+our $VERSION = "1.13";
$VERSION = eval $VERSION;
-@ISA = qw(Exporter);
+our @ISA = 'Exporter';
-@EXPORT_OK = qw(ERROR_LOGON_NOT_GRANTED ERROR_RESOURCE_ONLINE
- ERROR_SINGLE_INSTANCE_APP E_NOINTERFACE ERROR_NO_SUCH_SITE
- ERROR_CTX_LICENSE_CLIENT_INVALID ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING
- ERROR_VOLUME_CONTAINS_SYS_FILES EMR_CREATEBRUSHINDIRECT
- ERROR_DIR_NOT_EMPTY EXCEPTION_INVALID_DISPOSITION ERROR_OPEN_FAILED
- ERROR_DS_CANT_MOVE_ACCOUNT_GROUP ERROR_SXS_XML_E_INVALID_DECIMAL
- ERROR_NOT_SUPPORTED ERROR_CTX_NOT_CONSOLE ERROR_USER_MAPPED_FILE
- ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ EN_SETFOCUS ERROR_OUT_OF_PAPER
- ERROR_DS_CANT_MOVE_DELETED_OBJECT ERROR_NODE_CANNOT_BE_CLUSTERED
- ENUM_REGISTRY_SETTINGS ERROR_WRONG_TARGET_NAME ERROR_INVALID_TIME
- ERROR_CONNECTION_ACTIVE ERROR_IPSEC_MM_AUTH_IN_USE
- ERROR_SXS_XML_E_BADXMLDECL ESB_DISABLE_LEFT ERROR_INVALID_COLORSPACE
- ERROR_PATH_BUSY ERROR_DS_THREAD_LIMIT_EXCEEDED ETO_OPAQUE
- ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND EISCONN ERROR_IS_SUBST_PATH
- ERROR_NOTIFY_ENUM_DIR ERROR_SPECIAL_ACCOUNT ERROR_DS_DRA_SINK_DISABLED
- EMR_SAVEDC ERROR_DELETE_PENDING ENABLE_QUICK_EDIT_MODE
- ERROR_DS_EXISTS_IN_MAY_HAVE ERROR_CLUSTER_NETWORK_EXISTS
- ERROR_ICM_NOT_ENABLED EM_GETWORDBREAKPROC ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY
- ERROR_PRINTER_DRIVER_ALREADY_INSTALLED ERROR_SXS_XML_E_INVALID_STANDALONE
- ERROR_NOT_DOS_DISK ERROR_DS_NTDSCRIPT_PROCESS_ERROR
- ERROR_CTX_CLIENT_QUERY_TIMEOUT ERROR_SET_NOT_FOUND
- ERROR_DS_PDC_OPERATION_IN_PROGRESS ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER
- ERROR_NO_DATA ERROR_IPSEC_TUNNEL_FILTER_EXISTS ERROR_CLUSTER_INVALID_REQUEST
- ERROR_DS_SUBREF_MUST_HAVE_PARENT ERROR_NO_TRUST_SAM_ACCOUNT
- EMR_SETTEXTCOLOR ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND
- ERROR_DS_ROOT_REQUIRES_CLASS_TOP ERROR_SXS_XML_E_INVALID_VERSION EIO
- EAFNOSUPPORT ERROR_DS_COUNTING_AB_INDICES_FAILED ERROR_DS_COMPARE_TRUE
- ERROR_CLEANER_CARTRIDGE_INSTALLED ERROR_INDIGENOUS_TYPE
- ERROR_CTX_SERVICE_NAME_COLLISION ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED
- ERROR ERROR_CANT_RESOLVE_FILENAME ERROR_NOT_QUORUM_CLASS
- ERROR_DS_CONSTRUCTED_ATT_MOD EMR_CREATEDIBPATTERNBRUSHPT
- ERROR_IS_JOIN_PATH ERROR_IPSEC_IKE_NO_POLICY EM_LINEFROMCHAR
- ERROR_SYSTEM_TRACE ERROR_BUS_RESET ERROR_DS_CANT_MOD_SYSTEM_ONLY
- ERROR_IPSEC_IKE_INVALID_POLICY ERROR_DEVICE_IN_USE
- ERROR_CTX_CLIENT_LICENSE_IN_USE ERROR_DS_HAVE_PRIMARY_MEMBERS
- ERROR_INVALID_SIGNAL_NUMBER ERROR_IPSEC_IKE_NO_PRIVATE_KEY
- ERROR_DEVICE_REMOVED ERROR_DS_CODE_INCONSISTENCY ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER
- ERROR_DS_OBJ_CLASS_VIOLATION ERROR_BAD_INHERITANCE_ACL
- ESB_DISABLE_RTDN ERROR_IPSEC_IKE_INVALID_HEADER ERROR_INVALID_SEGDPL
- ERROR_PRINTER_DELETED ERROR_CLUSTER_DATABASE_SEQMISMATCH ERROR_BADDB
- ERROR_DIFFERENT_SERVICE_ACCOUNT ERROR_OBJECT_IN_LIST
- ERROR_INVALID_STARTING_CODESEG ERROR_DUPLICATE_SERVICE_NAME
- ERROR_ALLOTTED_SPACE_EXCEEDED ETO_NUMERICSLATIN ERROR_DS_ATT_NOT_DEF_IN_SCHEMA
- ENABLE_AUTO_POSITION ERROR_SIGNAL_REFUSED ERROR_DS_DRS_EXTENSIONS_CHANGED
- ERROR_IPSEC_IKE_PROCESS_ERR_TRANS ERROR_SXS_XML_E_UNCLOSEDTAG
- ERROR_DS_AUTH_METHOD_NOT_SUPPORTED ERROR_DS_CANT_CACHE_CLASS
- ERROR_DS_NAME_ERROR_NOT_UNIQUE ERROR_IPSEC_IKE_CRL_FAILED
- ERROR_BAD_DESCRIPTOR_FORMAT ERROR_BAD_REM_ADAP ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND
- ERROR_INVALID_THREAD_ID ERROR_DS_NOT_AN_OBJECT ERROR_DS_DRA_OBJ_NC_MISMATCH
- ERROR_INVALID_EA_NAME ERROR_NOT_QUORUM_CAPABLE EXCEPTION_FLT_STACK_CHECK
- ERROR_DS_BAD_INSTANCE_TYPE ERROR_CLUSTER_NODE_NOT_READY
- ERROR_IPSEC_IKE_FAILSSPINIT ERROR_DS_CANT_MOVE_RESOURCE_GROUP
- ERROR_SMARTCARD_SUBSYSTEM_FAILURE ERROR_CORE_RESOURCE
- ERROR_INVALID_MEDIA_POOL ERROR_INSTALL_TRANSFORM_FAILURE
- ERROR_HOOK_NOT_INSTALLED ERROR_SUCCESS_REBOOT_INITIATED
- ERROR_SXS_XML_E_INVALID_HEXIDECIMAL ERROR_CTX_MODEM_RESPONSE_ERROR
- ESHUTDOWN ERROR_DS_ATT_SCHEMA_REQ_SYNTAX ERROR_INVALID_PRINTER_COMMAND
- ERROR_INVALID_FLAG_NUMBER ERROR_PARTIAL_COPY ERROR_IPSEC_IKE_RPC_DELETE
- ENOLCK ERROR_TRANSFORM_NOT_SUPPORTED EPSPRINTING ERROR_PARAMETER_QUOTA_EXCEEDED
- ERROR_EVENTLOG_FILE_CHANGED ERROR_WINDOW_NOT_COMBOBOX
- ERROR_FUNCTION_FAILED EMR_STROKEANDFILLPATH ERROR_IPSEC_IKE_NO_PUBLIC_KEY
- EXCEPTION_NONCONTINUABLE ERROR_DISK_CORRUPT ERROR_SEM_IS_SET
- ERROR_DLL_INIT_FAILED EM_GETMARGINS ERROR_INSTALL_SERVICE_FAILURE
- ERROR_OPLOCK_NOT_GRANTED ERROR_DS_LINK_ID_NOT_AVAILABLE
- ERROR_DS_SOURCE_AUDITING_NOT_ENABLED EMR_POLYGON ENUMPAPERBINS
- ERROR_DISK_CHANGE ERROR_INVALID_DWP_HANDLE ERROR_IPSEC_IKE_INVALID_SITUATION
- EMR_SETBKMODE ERROR_DS_BAD_NAME_SYNTAX ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD
- ERROR_DS_NO_CHECKPOINT_WITH_PDC ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN
- ERROR_CONNECTION_REFUSED ERROR_INSTALL_PACKAGE_REJECTED
- ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY ERROR_DS_NO_SUCH_OBJECT
- ERROR_TOO_MANY_SECRETS ERROR_DS_OUT_OF_SCOPE ERROR_DS_KEY_NOT_UNIQUE
- EVENTLOG_INFORMATION_TYPE ERROR_BAD_DRIVER ERROR_INSTALL_PACKAGE_VERSION
- ERROR_IPSEC_IKE_INVALID_HASH_ALG ERROR_BAD_CONFIGURATION
- ERROR_INVALID_CLEANER ERROR_CLUSTER_NODE_ALREADY_DOWN
- ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND ERROR_DS_DUP_OID ERROR_HANDLE_EOF
- ERROR_HOST_NODE_NOT_GROUP_OWNER ERROR_SETCOUNT_ON_BAD_LB
- ERROR_IPSEC_QM_POLICY_PENDING_DELETION EV_EVENT1 ERROR_CLEANER_SLOT_NOT_SET
- ERROR_DOWNGRADE_DETECTED ERROR_IPSEC_QM_POLICY_EXISTS ERROR_PIPE_BUSY
- ERROR_COMMITMENT_LIMIT ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN
- EXCEPTION_INVALID_HANDLE ERROR_SOURCE_ELEMENT_EMPTY
- ERROR_PATCH_PACKAGE_OPEN_FAILED ERROR_SXS_XML_E_BADXMLCASE
- ERROR_DS_AUTHORIZATION_FAILED ESB_ENABLE_BOTH ERROR_SXS_DUPLICATE_ASSEMBLY_NAME
- ERROR_DS_UNWILLING_TO_PERFORM EMR_ENDPATH ERROR_LOG_FILE_FULL
- ERROR_TOO_MANY_TCBS ERROR_DS_NO_RESULTS_RETURNED ERROR_NONE_MAPPED
- ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY ERROR_CONTEXT_EXPIRED
- ERROR_RESMON_CREATE_FAILED ERROR_SXS_CANT_GEN_ACTCTX
- ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD ERROR_DS_CANT_ADD_ATT_VALUES
- ETIMEDOUT ERROR_SHARING_PAUSED EXCEPTION_GUARD_PAGE
- ERROR_CLASS_DOES_NOT_EXIST EXCEPTION_INT_DIVIDE_BY_ZERO
- ERROR_DS_NAME_ERROR_TRUST_REFERRAL ERROR_CLUSTER_NETINTERFACE_NOT_FOUND
- ERROR_LISTBOX_ID_NOT_FOUND ERROR_SXS_SECTION_NOT_FOUND EMLINK
- ERROR_IPSEC_IKE_MM_ACQUIRE_DROP ERROR_INSTALL_NOTUSED
- ERROR_KEY_HAS_CHILDREN ERROR_DS_DRA_CONNECTION_FAILED
- ERROR_DS_MUST_BE_RUN_ON_DST_DC ERROR_SXS_XML_E_UNCLOSEDCOMMENT
- EMR_RESIZEPALETTE E_POINTER ELF_VENDOR_SIZE ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE
- ERROR_DS_CANT_REM_MISSING_ATT ERROR_DS_LOCAL_ERROR ENABLE_INSERT_MODE
- ERROR_SXS_XML_E_BADSTARTNAMECHAR E_UNEXPECTED ERROR_DS_SECURITY_CHECKING_ERROR
- ERROR_DS_SRC_SID_EXISTS_IN_FOREST ERROR_PRIVILEGE_NOT_HELD
- ERROR_UNABLE_TO_INVENTORY_DRIVE EM_POSFROMCHAR ERROR_ALREADY_RUNNING_LKG
- ERROR_CONTROL_ID_NOT_FOUND EVENTLOG_AUDIT_SUCCESS ERROR_DS_ILLEGAL_SUPERIOR
- ERROR_CLUSTER_NETINTERFACE_EXISTS ERROR_SXS_VERSION_CONFLICT
- EMR_PAINTRGN ERROR_SHUTDOWN_CLUSTER ERROR_TOO_MANY_LUIDS_REQUESTED
- ERROR_DS_INVALID_GROUP_TYPE ERROR_INTERNAL_DB_ERROR
- EMR_EXCLUDECLIPRECT ERROR_DS_OBJECT_BEING_REMOVED ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND
- ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT ERROR_DS_OPERATIONS_ERROR
- ERROR_IPSEC_QM_POLICY_NOT_FOUND ERROR_PATCH_PACKAGE_UNSUPPORTED
- EC_USEFONTINFO ERROR_NO_MORE_ITEMS EMR_EXTFLOODFILL EWOULDBLOCK
- ERROR_DEVICE_DOOR_OPEN ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY
- ERROR_DS_NO_ATTRIBUTE_OR_VALUE ERROR_IS_SUBST_TARGET EMR_SETBKCOLOR
- EM_GETSEL ENOMORE ERROR_INSTALL_UI_FAILURE ERROR_BAD_LENGTH
- ERROR_HOST_NODE_NOT_AVAILABLE ERROR_LIBRARY_OFFLINE
- ERROR_DS_DS_REQUIRED ENCAPSULATED_POSTSCRIPT ERROR_NO_SYSTEM_MENU
- ERROR_EMPTY ERROR_DS_CLASS_MUST_BE_CONCRETE ENOTSOCK EV_RXCHAR
- EC_ENABLEONE ERROR_IOPL_NOT_ENABLED ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC
- ERROR_SXS_XML_E_INVALIDATROOTLEVEL ERROR_INVALID_DRIVE
- ERROR_IPSEC_IKE_POLICY_CHANGE ERROR_CONNECTION_ABORTED
- ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED
- EOPNOTSUPP ERROR_DS_WRONG_LINKED_ATT_SYNTAX ERROR_INTERNAL_ERROR
- ERROR_DOMAIN_CONTROLLER_NOT_FOUND ERROR_SEM_NOT_FOUND EMR_WIDENPATH
- ERROR_CONNECTION_COUNT_LIMIT ERROR_DRIVER_BLOCKED EN_UPDATE
- ERROR_OPERATION_ABORTED ERROR_PRODUCT_VERSION ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD
- ERROR_LABEL_TOO_LONG ERROR_SERVER_DISABLED ERROR_EFS_SERVER_NOT_TRUSTED
- ERROR_ADDRESS_ALREADY_ASSOCIATED E_DRAW ERROR_DS_DRA_BAD_INSTANCE_TYPE
- EXT_DEVICE_CAPS EMR_FILLPATH ERROR_SXS_UNKNOWN_ENCODING_GROUP
- ERROR_DS_DRA_SCHEMA_INFO_SHIP ERROR_IO_INCOMPLETE ERROR_INVALID_MENU_HANDLE
- ERROR_DS_SERVER_DOWN ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT
- ERROR_CLUSTER_NODE_UP ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL
- ERROR_MAGAZINE_NOT_PRESENT ERROR_SXS_ASSEMBLY_NOT_FOUND
- ERROR_REGISTRY_CORRUPT EMR_LINETO EMR_POLYTEXTOUTW
- ERROR_IPSEC_IKE_PROCESS_ERR_SIG ERROR_DS_NOT_CLOSEST
- ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 ERROR_HOOK_NEEDS_HMOD
- ERROR_DS_INVALID_ATTRIBUTE_SYNTAX ERROR_DS_GCVERIFY_ERROR
- ERROR_DS_NOT_SUPPORTED ERROR_INVALID_SEPARATOR_FILE ERROR_BAD_DEVICE
- ERROR_PARTITION_FAILURE ERROR_NOT_A_REPARSE_POINT E_INVALIDARG
- ERROR_DS_DUP_LINK_ID ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE
- EMR_DELETECOLORSPACE ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM
- ERROR_RESOURCE_NOT_ONLINE EDEADLK ERROR_DEVICE_REINITIALIZATION_NEEDED
- ERROR_WMI_GUID_DISCONNECTED EXIT_THREAD_DEBUG_EVENT
- ERROR_DS_CHILDREN_EXIST ERROR_DS_OBJECT_CLASS_REQUIRED
- ERROR_LOGON_FAILURE ERROR_DS_FOREST_VERSION_TOO_HIGH
- ERROR_IPSEC_IKE_QM_DELAY_DROP EM_SETMODIFY ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE
- ERROR_DEVICE_NOT_AVAILABLE ERROR_DS_SUB_CLS_TEST_FAIL
- ERROR_WMI_READ_ONLY ERROR_UNSUPPORTED_TYPE ERROR_MR_MID_NOT_FOUND
- EM_GETFIRSTVISIBLELINE ELOOP ERROR_BAD_COMMAND ERROR_INVALID_STACKSEG
- ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE ERROR_IPSEC_MM_POLICY_EXISTS
- ERROR_ALL_NODES_NOT_AVAILABLE EMR_POLYGON16 EMR_POLYPOLYLINE
- EMR_SETROP2 ERROR_ACCESS_DENIED ERROR_CANT_ACCESS_FILE
- ERROR_IPSEC_IKE_PROCESS_ERR_HASH ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH
- ERROR_CLUSTER_RESNAME_NOT_FOUND ERROR_CLUSTER_QUORUMLOG_NOT_FOUND
- EM_SETHANDLE ERROR_DS_EXISTS_IN_SUB_CLS ENDSESSION_LOGOFF
- ERROR_DS_CONFIDENTIALITY_REQUIRED ERROR_INVALID_MODULETYPE
- EM_EMPTYUNDOBUFFER ERROR_IPSEC_IKE_SRVQUERYCRED ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD
- ERROR_JOIN_TO_SUBST ERROR_DRIVE_MEDIA_MISMATCH ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE
- ERROR_INVALID_IMPORT_OF_NON_DLL ERROR_IPSEC_MM_FILTER_NOT_FOUND
- ERROR_DUP_DOMAINNAME ERROR_RMODE_APP ERROR_DS_CANT_RETRIEVE_DN
- ERROR_IPSEC_IKE_INVALID_HASH_SIZE ERROR_DS_CANT_MOD_PRIMARYGROUPID
- ERROR_RESMON_INVALID_STATE EC_DISABLE EHOSTDOWN ERROR_BAD_PROVIDER
- ENOTCONN ERROR_BUFFER_OVERFLOW ESTALE ERROR_IPSEC_IKE_NO_PEER_CERT
- ERROR_DS_NAME_ERROR_DOMAIN_ONLY ERROR_DS_CANT_DELETE
- ERROR_DS_INCOMPATIBLE_CONTROLS_USED ERROR_RESOURCE_TYPE_NOT_FOUND
- EWX_REBOOT ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER ERROR_DISCARDED
- EC_QUERYWAITING ERROR_NO_MATCH ERROR_DS_CANT_RETRIEVE_SD
- ERROR_LOGON_TYPE_NOT_GRANTED EPERM ERROR_PASSWORD_EXPIRED
- ERROR_TOO_MANY_SEM_REQUESTS ERROR_DS_NAME_TYPE_UNKNOWN
- ERROR_REPARSE_TAG_INVALID EMR_ANGLEARC ERROR_MUTUAL_AUTH_FAILED
- EMR_PLGBLT ERROR_NOT_SAFEBOOT_SERVICE ERROR_FLOPPY_UNKNOWN_ERROR
- ERROR_EXTENDED_ERROR ERROR_WRITE_PROTECT ERROR_FAILED_SERVICE_CONTROLLER_CONNECT
- ERROR_SXS_XML_E_INTERNALERROR ERROR_NO_SUPPORTING_DRIVES EM_GETMODIFY
- ERROR_NO_USER_KEYS ERROR_SXS_XML_E_MISSING_PAREN ERROR_CLUSTER_NODE_SHUTTING_DOWN
- EN_KILLFOCUS ERROR_SERVICE_MARKED_FOR_DELETE EXCEPTION_DATATYPE_MISALIGNMENT
- ERROR_TIMEOUT EMR_SETMITERLIMIT ERROR_INVALID_MESSAGEDEST
- ERROR_EXCL_SEM_ALREADY_OWNED ERROR_DISK_RECALIBRATE_FAILED
- ERROR_CLUSTER_INVALID_NODE ERROR_ALREADY_WAITING ENHMETA_SIGNATURE
- ERROR_IPSEC_IKE_OUT_OF_MEMORY ERROR_SERIAL_NO_DEVICE
- ERROR_IPSEC_TRANSPORT_FILTER_EXISTS ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER
- ERROR_DS_MASTERDSA_REQUIRED ERROR_IPSEC_IKE_NEGOTIATION_DISABLED
- ERROR_INVALID_INDEX ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE
- ERROR_INVALID_EA_HANDLE ERROR_RETRY ERROR_CLEANER_SLOT_SET
- ERROR_VOLUME_NOT_SUPPORT_EFS ERROR_NO_EFS ERROR_DC_NOT_FOUND
- ERROR_DLL_NOT_FOUND ERROR_DS_BUSY ERROR_DS_ATT_IS_NOT_ON_OBJ
- ERROR_PAGEFILE_QUOTA ERROR_DS_NAME_NOT_UNIQUE EMR_SETWINDOWEXTEX
- ERROR_INVALID_SUB_AUTHORITY ERROR_CLUSTER_LAST_INTERNAL_NETWORK
- ERROR_CALLBACK_SUPPLIED_INVALID_DATA ERROR_IPSEC_IKE_LOAD_SOFT_SA
- ERROR_SXS_XML_E_MISSINGQUOTE EMR_SETMAPPERFLAGS ERROR_SXS_MANIFEST_PARSE_ERROR
- ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT
- EMR_SELECTCLIPPATH ERROR_SERVICE_NO_THREAD ERROR_MORE_WRITES
- ENHMETA_STOCK_OBJECT ERROR_NO_MEDIA_IN_DRIVE ERROR_DS_INVALID_DN_SYNTAX
- ERROR_NO_SUCH_PACKAGE ERROR_SERVICE_EXISTS ERROR_SXS_FILE_HASH_MISMATCH
- ERROR_INVALID_COLORINDEX ERROR_MAPPED_ALIGNMENT E_ACCESSDENIED
- ERROR_DS_NONEXISTENT_MAY_HAVE ERROR_RESOURCE_PROPERTIES_STORED
- ERROR_RESOURCE_PROPERTY_UNCHANGEABLE ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK
- ERROR_TRUSTED_RELATIONSHIP_FAILURE EM_FMTLINES ERROR_DS_OBJ_STRING_NAME_EXISTS
- ERROR_ALREADY_INITIALIZED EMR_POLYPOLYLINE16 ERROR_CANNOT_OPEN_PROFILE
- ERROR_DS_EXISTS_IN_MUST_HAVE ERROR_UNKNOWN_PRINTER_DRIVER
- ERROR_DS_ALIASED_OBJ_MISSING ERROR_DS_CROSS_NC_DN_RENAME
- ERROR_SERVICE_DATABASE_LOCKED ERROR_REPARSE_ATTRIBUTE_CONFLICT
- ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME ERROR_NOT_FOUND
- ERROR_DS_SRC_GUID_MISMATCH ERROR_BAD_DRIVER_LEVEL EINTR
- ERROR_DS_CONFIG_PARAM_MISSING ERROR_SEM_USER_LIMIT EMR_EXTTEXTOUTA
- ERROR_CTX_MODEM_RESPONSE_VOICE EPT_S_NOT_REGISTERED ERROR_FILE_CORRUPT
- ERROR_SETMARK_DETECTED ERROR_INVALID_DATATYPE ENETUNREACH ECANCELLED
- ERROR_DS_DOMAIN_RENAME_IN_PROGRESS ERROR_DS_CANT_DEREF_ALIAS
- ERROR_CHILD_MUST_BE_VOLATILE ERROR_DS_INIT_FAILURE
- ERROR_IPSEC_IKE_PROCESS_ERR_DELETE ERROR_BAD_PROFILE ENDDOC
- ERROR_INVALID_PRINTER_NAME ERROR_ALIAS_EXISTS ERROR_BAD_USERNAME
- EXCEPTION_EXECUTE_HANDLER ERROR_INVALID_HANDLE ERROR_DS_INVALID_LDAP_DISPLAY_NAME
- ERROR_WMI_SET_FAILURE ERROR_DS_NAME_ERROR_NO_MAPPING
- ERROR_SERVICE_CANNOT_ACCEPT_CTRL ERROR_SPECIAL_USER
- ERROR_NODE_CANT_HOST_RESOURCE ERROR_MESSAGE_SYNC_ONLY
- ERROR_DELETING_ICM_XFORM ETO_GLYPH_INDEX ERROR_INVALID_KEYBOARD_HANDLE
- ERROR_WMI_DP_FAILED ERROR_BAD_EXE_FORMAT ERROR_DS_MISSING_REQUIRED_ATT
- EINVALIDPROCTABLE ERROR_DS_DIFFERENT_REPL_EPOCHS EV_RLSD
- ERROR_DS_EXISTS_IN_AUX_CLS ERROR_TRUST_FAILURE E_HANDLE
- ERROR_LIBRARY_FULL ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
- ERROR_CLUSTER_NETWORK_ALREADY_ONLINE ERROR_LOGIN_WKSTA_RESTRICTION
- ERROR_FILE_READ_ONLY ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING
- EM_SETREADONLY ERROR_COUNTER_TIMEOUT EMR_CHORD ERROR_SEVERITY_ERROR
- ERROR_INVALID_SEGMENT_NUMBER ERROR_RESOURCE_NOT_FOUND
- ERROR_INSTALL_LOG_FAILURE ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED EROFS
- ERROR_DS_OBJ_CLASS_NOT_DEFINED ERROR_BAD_FORMAT ERROR_INSTALL_USEREXIT
- ERROR_IPSEC_IKE_LOAD_FAILED EDGE_SUNKEN ERROR_FILE_ENCRYPTED
- ERROR_BAD_LOGON_SESSION_STATE ERROR_RESOURCE_DISABLED
- ES_DISPLAY_REQUIRED ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN
- EMR_SELECTPALETTE ERROR_DS_GC_NOT_AVAILABLE ERROR_ITERATED_DATA_EXCEEDS_64k
- ERROR_OUT_OF_STRUCTURES ESB_DISABLE_RIGHT ERROR_OBJECT_NOT_FOUND
- ERROR_DS_CANT_MIX_MASTER_AND_REPS ERROR_DS_ILLEGAL_MOD_OPERATION
- ERROR_SXS_DUPLICATE_PROGID ERROR_MEMBER_NOT_IN_ALIAS
- ERROR_PIPE_NOT_CONNECTED ERROR_SXS_UNKNOWN_ENCODING
- ERROR_ILLEGAL_ELEMENT_ADDRESS ERROR_DS_LOOP_DETECT ERROR_NOT_OWNER
- ERROR_NOT_JOINED ERROR_NULL_LM_PASSWORD ERROR_REQUEST_ABORTED
- ERROR_SERVICE_NOT_IN_EXE ERROR_DEPENDENT_SERVICES_RUNNING ENOENT
- ERROR_CLUSTER_NODE_ALREADY_MEMBER EPROVIDERFAILEDINIT
- ERROR_PRINTER_NOT_FOUND ERROR_MEMBER_IN_ALIAS ERROR_CANNOT_IMPERSONATE
- ERROR_FILENAME_EXCED_RANGE ERROR_CTX_PD_NOT_FOUND ERROR_TOO_MANY_OPEN_FILES
- ERROR_DS_CANT_CACHE_ATT EMR_SETARCDIRECTION ERROR_INVALID_SHARENAME
- EMSGSIZE ERROR_DS_INSUFF_ACCESS_RIGHTS ERROR_CLASS_ALREADY_EXISTS
- ERROR_INVALID_PRINTER_STATE ERROR_DISK_FULL ERROR_NO_MORE_SEARCH_HANDLES
- ERROR_INSTALL_ALREADY_RUNNING ENABLE_WRAP_AT_EOL_OUTPUT
- ERROR_DS_STRING_SD_CONVERSION_FAILED ERROR_SAME_DRIVE ERROR_DIRECTORY
- ERROR_CLASS_HAS_WINDOWS EN_CHANGE ERROR_UNKNOWN_FEATURE
- ERROR_IPSEC_IKE_FAILQUERYSSP ERROR_BAD_TOKEN_TYPE ERROR_DS_CROSS_REF_EXISTS
- ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE ERROR_RING2_STACK_IN_USE
- ERROR_CTX_INVALID_WD ERROR_CANNOT_DETECT_PROCESS_ABORT
- ERROR_IPSEC_IKE_PROCESS_ERR_SA ERROR_MEDIUM_NOT_ACCESSIBLE
- ERROR_NOT_LOCKED EMR_MOVETOEX ERROR_LAST_ADMIN EMFILE
- ERROR_NO_MORE_DEVICES EMBDHLP_INPROC_HANDLER ERROR_WMI_ITEMID_NOT_FOUND
- ERROR_CTX_LOGON_DISABLED ERROR_DS_DRA_MISSING_PARENT
- ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT EDGE_ETCHED EMR_POLYLINE
- ERROR_INVALID_ACCEL_HANDLE ES_AUTOHSCROLL EXCEPTION_ILLEGAL_INSTRUCTION
- EMR_SETTEXTALIGN ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS ETOOMANYREFS
- ERROR_NO_LOGON_SERVERS ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE
- ERROR_INVALID_PRINT_MONITOR ERROR_SPECIAL_GROUP ERROR_DIR_NOT_ROOT
- ERROR_DS_DUP_MSDS_INTID EMR_SETVIEWPORTORGEX ERROR_OVERRIDE_NOCHANGES
- ERROR_DS_NONSAFE_SCHEMA_CHANGE ERROR_REDIR_PAUSED ERROR_INVALID_SECURITY_DESCR
- ERROR_DS_ALIAS_POINTS_TO_ALIAS ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST
- ECHILD EHOSTUNREACH ERROR_SPOOL_FILE_NOT_FOUND ERROR_NETNAME_DELETED
- E_FAIL ERROR_PRIVATE_DIALOG_INDEX ERROR_DS_SINGLE_USER_MODE_FAILED
- ERROR_SERVICE_SPECIFIC_ERROR ERROR_DS_GENERIC_ERROR
- ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP ERROR_INDEX_ABSENT ENUM_E_LAST
- ERROR_AUTODATASEG_EXCEEDS_64k ERROR_DS_NAMING_MASTER_GC
- ERROR_IPSEC_IKE_INVALID_FILTER ERROR_FLOPPY_WRONG_CYLINDER
- ERROR_REMOTE_STORAGE_NOT_ACTIVE ERROR_DS_DST_NC_MISMATCH
- ERROR_INVALID_FORM_SIZE ERROR_NO_SCROLLBARS ERROR_BUSY
- ERROR_DS_INVALID_DMD ERROR_SXS_XML_E_INVALID_UNICODE
- ERROR_DS_CLIENT_LOOP ERROR_PKINIT_FAILURE ERROR_INVALID_OPERATION
- ERROR_INVALID_PASSWORDNAME EXDEV ERROR_SXS_XML_E_UNCLOSEDSTRING
- ERROR_STACK_BUFFER_OVERRUN ERROR_NON_MDICHILD_WINDOW ENUM_S_LAST
- ERROR_NOT_SUBSTED ERROR_DISK_OPERATION_FAILED ERROR_MEMBER_IN_GROUP
- ES_CENTER ERROR_IPSEC_IKE_DROP_NO_RESPONSE ERROR_UNKNOWN_PORT
- EMBDHLP_INPROC_SERVER ERROR_POPUP_ALREADY_ACTIVE EMR_HEADER
- ERROR_INVALID_DOMAIN_ROLE ES_OEMCONVERT ERROR_DS_NO_PARENT_OBJECT
- ERROR_JOURNAL_DELETE_IN_PROGRESS ERROR_EXE_MARKED_INVALID
- ERROR_ACCOUNT_LOCKED_OUT ERROR_INVALID_DATA ERROR_RESOURCE_NOT_AVAILABLE
- ERROR_DS_UNABLE_TO_SURRENDER_ROLES ERROR_CSCSHARE_OFFLINE
- ERROR_DOMAIN_TRUST_INCONSISTENT ERROR_DS_SECURITY_ILLEGAL_MODIFY
- ERROR_IPSEC_IKE_MM_DELAY_DROP ERROR_IPSEC_IKE_PEER_CRL_FAILED
- ERROR_NO_VOLUME_LABEL ERROR_DS_DRA_PREEMPTED EMR_PIXELFORMAT
- ERROR_INVALID_NETNAME ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME
- ERROR_DS_ROOT_MUST_BE_NC ERROR_DS_SENSITIVE_GROUP_VIOLATION
- ERROR_PRINTER_DRIVER_BLOCKED EV_RING EMR_REALIZEPALETTE
- ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER ENOMEM ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF
- ERROR_NETWORK_ACCESS_DENIED EMR_FLATTENPATH ERROR_UNKNOWN_PROPERTY
- ERROR_ARITHMETIC_OVERFLOW EMR_ARC ERROR_INVALID_LB_MESSAGE
- ERROR_CURRENT_DOMAIN_NOT_ALLOWED ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND
- ERROR_META_EXPANSION_TOO_LONG ERROR_MENU_ITEM_NOT_FOUND
- ERROR_CTX_SHADOW_NOT_RUNNING ERROR_TRANSPORT_FULL ERROR_SXS_XML_E_UNCLOSEDDECL
- ERROR_DS_NAME_UNPARSEABLE ERROR_NOACCESS EISDIR EMR_BEGINPATH
- ERROR_CLUSTER_NO_SECURITY_CONTEXT EMR_FILLRGN ERROR_PORT_UNREACHABLE
- ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN EXCEPTION_IN_PAGE_ERROR
- ENABLE_WINDOW_INPUT ERROR_ACCOUNT_DISABLED ERROR_CLUSCFG_ROLLBACK_FAILED
- ERROR_DS_ALIAS_PROBLEM ERROR_DS_COULDNT_UPDATE_SPNS
- ERROR_INSTALL_TEMP_UNWRITABLE ERROR_DS_AFFECTS_MULTIPLE_DSAS
- ERROR_DS_SYNTAX_MISMATCH ERROR_DS_DUP_MAPI_ID ERROR_WMI_ALREADY_DISABLED
- ERROR_SXS_XML_E_MISSINGSEMICOLON ERROR_DS_NAME_TOO_LONG EMR_POLYDRAW
- ERROR_DS_DRA_SOURCE_REINSTALLED ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND
- ERROR_CTX_WINSTATION_NAME_INVALID ERROR_UNEXP_NET_ERR ENETDOWN
- ERROR_NO_PROMOTION_ACTIVE ERROR_OUTOFMEMORY ERROR_NETWORK_BUSY
- ENETRESET ERROR_DS_CANT_MOD_OBJ_CLASS ERROR_IPSEC_IKE_SA_REAPED
- ERROR_PAGED_SYSTEM_RESOURCES ERROR_INVALID_EVENT_COUNT
- ERROR_DS_BAD_RDN_ATT_ID_SYNTAX ERROR_CAN_NOT_COMPLETE
- ERROR_TOO_MANY_MUXWAITERS ERROR_SXS_ACTIVATION_CONTEXT_DISABLED
- ERROR_SHUTDOWN_IN_PROGRESS EVENT_MODIFY_STATE ERROR_NO_SHUTDOWN_IN_PROGRESS
- ERROR_IO_DEVICE ERROR_CTX_INVALID_MODEMNAME ERROR_INVALID_USER_BUFFER
- ERROR_PIPE_LISTENING ERROR_IPSEC_IKE_UNKNOWN_DOI ERROR_EXE_MACHINE_TYPE_MISMATCH
- ERROR_DS_NO_RIDS_ALLOCATED ERROR_CLUSTER_NODE_EXISTS
- ERROR_HWNDS_HAVE_DIFF_PARENT ERROR_SEEK ERROR_INVALID_PIXEL_FORMAT
- ERROR_PATH_NOT_FOUND ERROR_INVALID_EVENTNAME ERROR_DS_MISSING_EXPECTED_ATT
- ERROR_INVALID_CATEGORY EWX_POWEROFF END_PATH ERROR_DIRECT_ACCESS_HANDLE
- EV_ERR ERROR_EA_LIST_INCONSISTENT EN_HSCROLL ERROR_CREATE_FAILED
- ERROR_NO_TRACKING_SERVICE ERROR_SUBST_TO_SUBST ERROR_DS_DRA_GENERIC
- EMR_SETPOLYFILLMODE ETO_RTLREADING ERROR_CLUSTER_PARAMETER_MISMATCH
- ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR ES_AUTOVSCROLL
- ERROR_DEVICE_NOT_CONNECTED ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG
- ENABLE_PROCESSED_INPUT ERROR_INSTALL_SOURCE_ABSENT ERROR_IS_SUBSTED
- ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED ES_NUMBER ERROR_SXS_XML_E_COMMENTSYNTAX
- ERROR_MEDIA_INCOMPATIBLE EMR_SCALEWINDOWEXTEX EMR_SETBRUSHORGEX
- EM_GETLIMITTEXT ERROR_INVALID_FIELD ERROR_THREAD_1_INACTIVE
- ERROR_NOT_ENOUGH_SERVER_MEMORY ERROR_DS_CROSS_DOM_MOVE_ERROR ENOSPC
- ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE ERROR_INVALID_REPARSE_DATA
- ERROR_CTX_SHADOW_DENIED ERROR_NO_DATA_DETECTED EVENTLOG_FORWARDS_READ
- ERROR_SXS_XML_E_UNEXPECTEDENDTAG ERROR_DATABASE_BACKUP_CORRUPT
- ES_RIGHT ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN ERROR_SAM_INIT_FAILURE
- ERROR_DS_NO_CHAINED_EVAL ERROR_SUCCESS_RESTART_REQUIRED
- ERROR_IPSEC_MM_AUTH_NOT_FOUND ERROR_IRQ_BUSY ERROR_DS_NC_MUST_HAVE_NC_PARENT
- ERROR_INVALID_WINDOW_HANDLE ERROR_CLUSTER_OLD_VERSION
- ERROR_INVALID_TABLE ERROR_DS_SHUTTING_DOWN ES_READONLY
- ERROR_FILE_NOT_ENCRYPTED ERROR_HOST_UNREACHABLE EXCEPTION_MAXIMUM_PARAMETERS
- ERROR_POTENTIAL_FILE_FOUND ERROR_MEDIA_OFFLINE ERROR_NO_SIGNAL_SENT
- ERROR_DRIVE_LOCKED EPROCLIM ERROR_WMI_DP_NOT_FOUND ERROR_INVALID_SID
- ERROR_CLUSTER_WRONG_OS_VERSION ERROR_DS_DRA_SCHEMA_MISMATCH
- ERROR_CLUSTER_JOIN_ABORTED E2BIG ERROR_DS_RESERVED_LINK_ID EDGE_BUMP
- ERROR_SXS_PROTECTION_CATALOG_NOT_VALID EV_RXFLAG ERROR_INVALID_STATE
- ERROR_DS_OBJ_GUID_EXISTS ERROR_UNRECOGNIZED_VOLUME
- ERROR_HOTKEY_ALREADY_REGISTERED ERROR_NOT_AUTHENTICATED
- ERROR_SIGNAL_PENDING ERROR_NO_INHERITANCE ERROR_DS_DUP_RDN
- ERROR_SERVICE_NOT_ACTIVE ERROR_RESOURCE_NOT_PRESENT
- ERROR_RELOC_CHAIN_XEEDS_SEGLIM ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE
- ERROR_DS_SEC_DESC_TOO_SHORT ERROR_BAD_RECOVERY_POLICY
- ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR EMR_STRETCHDIBITS
- ERROR_DS_CANT_RETRIEVE_INSTANCE EMR_POLYLINETO ERROR_INVALID_PROFILE
- ERROR_SHARING_BUFFER_EXCEEDED ELF_VERSION ERROR_DESTINATION_ELEMENT_FULL
- ERROR_NO_LOG_SPACE EMR_POLYTEXTOUTA ERROR_DS_DOMAIN_VERSION_TOO_HIGH
- ERROR_KEY_DELETED ERROR_LOCKED ERROR_DS_NTDSCRIPT_SYNTAX_ERROR
- ERROR_DHCP_ADDRESS_CONFLICT ERROR_DS_ATT_NOT_DEF_FOR_CLASS
- EM_LINESCROLL ERROR_STATIC_INIT ERROR_DS_GC_REQUIRED
- ERROR_IPSEC_IKE_NEGOTIATION_PENDING ERROR_CURRENT_DIRECTORY
- ERROR_SEM_OWNER_DIED EMR_BITBLT ERROR_INSTALL_LANGUAGE_UNSUPPORTED
- EM_GETLINE ERROR_PROTOCOL_UNREACHABLE ERROR_DS_CLASS_NOT_DSA
- ERROR_SERVICE_ALREADY_RUNNING EMR_RECTANGLE EREFUSED
- ERROR_DS_NOT_SUPPORTED_SORT_ORDER ERROR_RESOURCE_DATA_NOT_FOUND
- ERROR_IPSEC_IKE_INVALID_KEY_USAGE EDGE_RAISED ERROR_APP_WRONG_OS
- ERROR_ENCRYPTION_FAILED ERROR_PRINTQ_FULL EMR_RESTOREDC
- ERROR_POLICY_ONLY_IN_DS ERROR_INVALID_EDIT_HEIGHT ERROR_DUPLICATE_TAG
- ERROR_SXS_XML_E_MISSINGROOT EV_BREAK ERROR_JOURNAL_HOOK_SET EM_SETSEL
- ERROR_CTX_WINSTATION_ACCESS_DENIED ERROR_DS_MAX_OBJ_SIZE_EXCEEDED
- EM_LINEINDEX ERROR_CTX_TD_ERROR ENABLEPAIRKERNING ERROR_GLOBAL_ONLY_HOOK
- ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED ERROR_TIME_SKEW
- ERROR_PRINT_MONITOR_IN_USE ES_MULTILINE ERROR_ENVVAR_NOT_FOUND
- EM_REPLACESEL ERROR_TOO_MANY_SIDS ERROR_GENERIC_NOT_MAPPED
- ERROR_CLUSTER_INVALID_NETWORK EMR_CREATECOLORSPACE
- ERROR_JOURNAL_ENTRY_DELETED ERROR_UNABLE_TO_INVENTORY_TRANSPORT
- ERROR_OLD_WIN_VERSION ERROR_CANT_DISABLE_MANDATORY
- ERROR_SET_POWER_STATE_VETOED ERROR_LM_CROSS_ENCRYPTION_REQUIRED
- ERROR_INVALID_PRIORITY ERROR_STACK_OVERFLOW ERROR_INVALID_LOGON_TYPE
- EM_GETPASSWORDCHAR ERROR_UNKNOWN_PRINTPROCESSOR EXIT_SUCCESS
- ERROR_ACCOUNT_RESTRICTION ERROR_DS_NCNAME_MUST_BE_NC
- ERROR_DS_DRA_SHUTDOWN ERROR_DS_RANGE_CONSTRAINT EUSERS
- ERROR_INSTALL_SUSPEND ERROR_TOO_MANY_SEMAPHORES ERROR_DS_NO_REF_DOMAIN
- ERROR_INVALID_HOOK_FILTER ERROR_CTX_WINSTATION_ALREADY_EXISTS
- ERROR_SXS_XML_E_INVALIDSWITCH EMR_SETSTRETCHBLTMODE
- ERROR_NOT_CHILD_WINDOW ERROR_DS_REFERRAL_LIMIT_EXCEEDED
- ERROR_INVALID_SPI_VALUE ERROR_NOT_EMPTY ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE
- ENAMETOOLONG ERROR_BAD_USER_PROFILE ERROR_IPSEC_IKE_INVALID_SIGNATURE
- ENOEXEC ERROR_ALREADY_EXISTS ERROR_JOIN_TO_JOIN ERROR_RESMON_ONLINE_FAILED
- ERROR_IPSEC_IKE_KERBEROS_ERROR ERROR_INVALID_MEDIA
- ERROR_CLUSTER_MEMBERSHIP_HALT EMR_POLYBEZIER ERROR_PRINTER_DRIVER_WARNED
- ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE ERROR_SEM_TIMEOUT
- ERROR_INVALID_COMPUTERNAME ERROR_ACCOUNT_EXPIRED ERROR_DS_GOVERNSID_MISSING
- ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN ERROR_FLOPPY_BAD_REGISTERS
- ERROR_ACCESS_DISABLED_BY_POLICY EPT_S_INVALID_ENTRY ERROR_NO_TOKEN
- ERROR_INVALID_DOMAIN_STATE ERROR_DS_CANT_FIND_EXPECTED_NC
- ERROR_DS_FILTER_UNKNOWN ERROR_NO_QUOTAS_FOR_ACCOUNT
- ERROR_NONPAGED_SYSTEM_RESOURCES ERROR_LUIDS_EXHAUSTED
- ERROR_DS_DST_DOMAIN_NOT_NATIVE EVENTLOG_SUCCESS ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER
- ERROR_IPSEC_IKE_PROCESS_ERR_CERT ERROR_TRUSTED_DOMAIN_FAILURE
- ERROR_MAX_THRDS_REACHED ERROR_HOOK_TYPE_NOT_ALLOWED ERROR_HOST_DOWN
- ERROR_DS_NO_MSDS_INTID ERROR_SERVER_SHUTDOWN_IN_PROGRESS
- ERROR_DS_INIT_FAILURE_CONSOLE ERROR_NO_RECOVERY_POLICY
- ERROR_GROUP_NOT_AVAILABLE ERROR_PRINT_MONITOR_ALREADY_INSTALLED
- ERROR_DUP_NAME ERROR_INSTALL_FAILURE ERROR_DECRYPTION_FAILED
- ERROR_NO_NETWORK EMR_FRAMERGN E_PENDING ERROR_GROUP_NOT_ONLINE
- ERROR_NOT_LOGON_PROCESS ERROR_GRACEFUL_DISCONNECT EPROTONOSUPPORT
- ERROR_CONTROLLING_IEPORT ENABLE_LINE_INPUT ERROR_SXS_UNTRANSLATABLE_HRESULT
- ERROR_NETWORK_NOT_AVAILABLE ECONNABORTED ERROR_DEPENDENCY_ALREADY_EXISTS
- ERROR_DS_DRA_REPL_PENDING ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY
- ERROR_APPHELP_BLOCK ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC
- ERROR_BROKEN_PIPE ERROR_INTERNAL_DB_CORRUPTION EMR_EXTTEXTOUTW
- ERROR_PASSWORD_MUST_CHANGE EMR_MASKBLT ERROR_DS_GROUP_CONVERSION_ERROR
- ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS ERROR_DS_EPOCH_MISMATCH
- ERROR_DS_INCOMPATIBLE_VERSION EMR_SETDIBITSTODEVICE
- ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT ERROR_PRINTER_HAS_JOBS_QUEUED
- ERROR_DEVICE_ALREADY_REMEMBERED ERROR_KM_DRIVER_BLOCKED
- ERROR_SERVICE_NEVER_STARTED E_NOTIMPL ERROR_INSTALL_PLATFORM_UNSUPPORTED
- ERROR_CLUSTER_JOIN_IN_PROGRESS EMR_GLSBOUNDEDRECORD
- ERROR_INVALID_SERVER_STATE ERROR_CTX_CONSOLE_DISCONNECT
- ERROR_POLICY_OBJECT_NOT_FOUND EM_LIMITTEXT ERROR_DOMAIN_EXISTS
- ERROR_SXS_XML_E_UNEXPECTED_STANDALONE ERROR_BAD_PATHNAME
- ERROR_CANT_DELETE_LAST_ITEM ERROR_SXS_XML_E_XMLDECLSYNTAX
- EXCEPTION_FLT_INEXACT_RESULT ERROR_BAD_NET_RESP ERROR_LOGON_SESSION_COLLISION
- ERROR_DS_UNKNOWN_OPERATION EVENT_ALL_ACCESS ERROR_DS_DRA_NO_REPLICA
- ERROR_HANDLE_DISK_FULL ERROR_NODE_NOT_AVAILABLE ES_SYSTEM_REQUIRED
- ERROR_CLUSTER_NODE_NOT_MEMBER ERROR_SERVICE_NOT_FOUND
- ERROR_DS_ALIAS_DEREF_PROBLEM EM_SETPASSWORDCHAR ERROR_BUSY_DRIVE
- ERROR_REMOTE_STORAGE_MEDIA_ERROR ENOSYS ERROR_IPSEC_IKE_TIMED_OUT
- ETO_IGNORELANGUAGE ERROR_DS_AUTH_UNKNOWN ERROR_DS_CANT_RETRIEVE_CHILD
- ERROR_RXACT_COMMIT_FAILURE ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE
- ERROR_DS_RECALCSCHEMA_FAILED ERROR_EAS_DIDNT_FIT ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED
- ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE ERROR_NO_SUCH_PRIVILEGE
- ERROR_PRINTER_DRIVER_IN_USE ESB_DISABLE_UP ERROR_REGISTRY_RECOVERED
- ERROR_NO_SECURITY_ON_OBJECT ERROR_FUNCTION_NOT_CALLED
- ERROR_CLUSTER_IPADDR_IN_USE ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER
- ERROR_NO_ASSOCIATION ERROR_IPSEC_IKE_MM_LIMIT ERROR_TOO_MANY_CONTEXT_IDS
- ERROR_INVALID_AT_INTERRUPT_TIME ERROR_CANCEL_VIOLATION
- ERROR_INVALID_MESSAGENAME ERROR_CTX_WINSTATION_BUSY
- ERROR_DS_ATT_SCHEMA_REQ_ID ERROR_IPSEC_IKE_QUEUE_DROP_MM
- ERROR_CLUSCFG_ALREADY_COMMITTED EMR_CREATEMONOBRUSH
- ERROR_DS_BAD_HIERARCHY_FILE ERROR_DS_SRC_NAME_MISMATCH
- ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP ERROR_CTX_LICENSE_EXPIRED
- ERROR_ACTIVATION_COUNT_EXCEEDED ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY
- ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED ERROR_SXS_XML_E_EXPECTINGTAGEND
- ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS ERROR_SXS_XML_E_UNCLOSEDSTARTTAG
- ERROR_MEDIA_CHANGED ERROR_DOMAIN_CONTROLLER_EXISTS
- ERROR_VC_DISCONNECTED ERROR_SWAPERROR ENHANCED_KEY
- ERROR_RESOURCE_LANG_NOT_FOUND EVENTLOG_ERROR_TYPE ERROR_IPSEC_IKE_DH_FAILURE
- ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE
- ERROR_SXS_INVALID_ACTCTXDATA_FORMAT ERROR_DS_DUPLICATE_ID_FOUND
- ERROR_REMOTE_SESSION_LIMIT_EXCEEDED ERROR_GEN_FAILURE
- ERROR_DS_DRA_INVALID_PARAMETER ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX
- ERROR_NOT_CONNECTED EXCEPTION_ARRAY_BOUNDS_EXCEEDED ERROR_EOM_OVERFLOW
- ERROR_INVALID_MONITOR_HANDLE ERROR_QUORUM_RESOURCE_ONLINE_FAILED
- EC_RIGHTMARGIN ERROR_RESOURCE_NAME_NOT_FOUND ERROR_WMI_INVALID_REGINFO
- ERROR_NO_SITENAME ENABLEDUPLEX ERROR_DS_DOMAIN_VERSION_TOO_LOW
- EXIT_PROCESS_DEBUG_EVENT ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC
- EXCEPTION_CONTINUE_EXECUTION EWX_LOGOFF ERROR_MESSAGE_EXCEEDS_MAX_SIZE
- EMR_STRETCHBLT ERROR_DS_DRA_INCONSISTENT_DIT ERROR_READ_FAULT
- ERROR_DS_DRA_NOT_SUPPORTED ERROR_DS_NO_CHAINING ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4
- EV_CTS ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN
- ERROR_SERVER_HAS_OPEN_HANDLES EMR_GDICOMMENT ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED
- ERROR_LOCK_FAILED ERROR_NO_IMPERSONATION_TOKEN ERROR_EVENTLOG_CANT_START
- ERROR_DATABASE_FULL ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION
- ERROR_FILE_OFFLINE ERROR_DISK_RESET_FAILED ERROR_ADDRESS_NOT_ASSOCIATED
- EMR_SETMAPMODE ERROR_DS_BAD_ATT_SCHEMA_SYNTAX EVENTLOG_SEQUENTIAL_READ
- ENABLE_PROCESSED_OUTPUT ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT
- ERROR_BAD_PIPE EINVALIDPROVIDER ERROR_PROC_NOT_FOUND
- ERROR_ALREADY_FIBER ERROR_IPSEC_IKE_NO_CERT ERROR_DS_UNAVAILABLE_CRIT_EXTENSION
- ERROR_DDE_FAIL ERROR_INVALID_ENVIRONMENT ERROR_DS_COMPARE_FALSE
- ERROR_CANTWRITE EXIT_FAILURE ERROR_BAD_ENVIRONMENT
- ERROR_DS_CONSTRAINT_VIOLATION ERROR_EFS_ALG_BLOB_TOO_BIG
- EMBDHLP_DELAYCREATE ERROR_DS_NOT_ON_BACKLINK ERROR_CLUSTER_NODE_NOT_FOUND
- ERROR_CLUSTER_INSTANCE_ID_MISMATCH ERROR_WINDOW_NOT_DIALOG
- ERROR_END_OF_MEDIA ERROR_SUBST_TO_JOIN ERROR_NOT_REGISTRY_FILE
- ERROR_BAD_VALIDATION_CLASS ERROR_REPARSE_TAG_MISMATCH
- ERROR_FILE_NOT_FOUND ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED
- ERROR_INVALID_ID_AUTHORITY EMBDHLP_CREATENOW ERROR_PRODUCT_UNINSTALLED
- ERROR_METAFILE_NOT_SUPPORTED ERROR_SXS_INVALID_XML_NAMESPACE_URI
- ERROR_DS_RIDMGR_INIT_ERROR ES_PASSWORD ERROR_DS_DRA_SOURCE_DISABLED
- EMR_POLYPOLYGON ERROR_POINT_NOT_FOUND ERROR_DS_CROSS_REF_BUSY
- ERROR_SERVICE_DEPENDENCY_DELETED ERROR_IPSEC_IKE_NOTCBPRIV
- ERROR_DIR_EFS_DISALLOWED ERROR_DS_CANT_REMOVE_ATT_CACHE
- ERROR_IPSEC_IKE_PROCESS_ERR_NONCE EREMOTE ERROR_SERVICE_START_HANG
- ERROR_EAS_NOT_SUPPORTED ERROR_INVALID_MINALLOCSIZE
- ERROR_MEMBER_NOT_IN_GROUP ERROR_ALREADY_THREAD ERROR_DS_CANT_REPLACE_HIDDEN_REC
- ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME ERROR_CTX_CLIENT_LICENSE_NOT_SET
- ERROR_DEPENDENT_RESOURCE_EXISTS ERROR_HOST_NODE_NOT_RESOURCE_OWNER
- ERROR_DS_NAME_REFERENCE_INVALID ERROR_NON_DOMAIN_SID
- ERROR_DS_OBJ_TOO_LARGE ERROR_DS_DUP_LDAP_DISPLAY_NAME
- ERROR_DS_ENCODING_ERROR ERROR_WMI_TRY_AGAIN ERROR_SXS_DUPLICATE_TLBID
- ERROR_CLUSTER_NODE_NOT_PAUSED ERROR_DS_CANT_ADD_SYSTEM_ONLY
- ERROR_IPSEC_IKE_INVALID_AUTH_ALG ERROR_CAN_NOT_DEL_LOCAL_WINS
- ERROR_INVALID_FILTER_PROC EEXIST ERROR_DS_CANT_DELETE_DSA_OBJ
- ERROR_IPSEC_MM_AUTH_EXISTS ERROR_INVALID_OPLOCK_PROTOCOL
- ERROR_INVALID_COMMAND_LINE EMR_SETICMMODE ERROR_NO_RECOVERY_PROGRAM
- ERROR_INVALID_HOOK_HANDLE EPT_S_CANT_CREATE ERROR_DS_INTERNAL_FAILURE
- ERROR_EXCEPTION_IN_SERVICE ERROR_DS_DRA_REF_ALREADY_EXISTS
- ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED ESRCH ERROR_CLUSTER_INCOMPATIBLE_VERSIONS
- ERROR_IPSEC_IKE_INVALID_COOKIE EFAULT ERROR_DEVICE_NOT_PARTITIONED
- ERROR_DS_SEC_DESC_INVALID ERROR_ATOMIC_LOCKS_NOT_SUPPORTED EMR_EOF
- ERROR_TLW_WITH_WSCHILD ERROR_DS_UNICODEPWD_NOT_IN_QUOTES
- ERROR_TOO_MANY_NAMES ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED EPROTOTYPE
- ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER ERROR_DATABASE_DOES_NOT_EXIST
- ERROR_DS_ROLE_NOT_VERIFIED EN_MAXTEXT ERROR_INVALID_COMBOBOX_MESSAGE
- EV_EVENT2 EM_SCROLLCARET ERROR_DS_TIMELIMIT_EXCEEDED
- ERROR_SPL_NO_STARTDOC ERROR_INVALID_SERVICE_LOCK ERROR_LB_WITHOUT_TABSTOPS
- EMR_SETMETARGN ERROR_DS_CANT_REM_MISSING_ATT_VAL ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION
- ERROR_PRINTER_ALREADY_EXISTS ERROR_WINS_INTERNAL ERROR_SXS_XML_E_MISSINGEQUALS
- ERROR_DS_PROTOCOL_ERROR ERROR_DS_NAMING_VIOLATION ERROR_CLEANER_CARTRIDGE_SPENT
- EMR_SETCOLORSPACE ERROR_EFS_VERSION_NOT_SUPPORT ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION
- ERROR_IPSEC_IKE_INVALID_HASH ERROR_CLUSTER_NETWORK_NOT_INTERNAL
- ERROR_ARENA_TRASHED ERROR_DS_NO_MORE_RIDS ERROR_INVALID_LEVEL ENOTTY
- ERROR_USER_EXISTS ERROR_DS_ADD_REPLICA_INHIBITED ERROR_INVALID_PRIMARY_GROUP
- ERROR_DS_DATABASE_ERROR ERROR_CHILD_WINDOW_MENU ERROR_CTX_INVALID_PD
- ERROR_BEGINNING_OF_MEDIA ERROR_SERVER_NOT_DISABLED
- ERROR_REDIRECTOR_HAS_OPEN_HANDLES ERROR_INVALID_WORKSTATION
- ERROR_CANNOT_DETECT_DRIVER_FAILURE EM_UNDO EXCEPTION_FLT_OVERFLOW
- EMR_POLYLINE16 ERROR_IPSEC_IKE_INVALID_CERT_TYPE ERROR_SXS_XML_E_RESERVEDNAMESPACE
- ERROR_INVALID_FUNCTION ERROR_NOT_SAME_DEVICE ERROR_INVALID_MSGBOX_STYLE
- ERROR_NOT_SUPPORTED_ON_SBS ENABLE_MOUSE_INPUT ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT
- ERROR_WAIT_NO_CHILDREN EDOM EMR_ROUNDRECT ERROR_REQ_NOT_ACCEP
- ERROR_NO_NET_OR_BAD_PATH ERROR_CANNOT_COPY ENABLE_ECHO_INPUT
- EMR_EXTCREATEFONTINDIRECTW ERROR_INVALID_OWNER ERROR_INVALID_SERVICE_ACCOUNT
- ERROR_FULL_BACKUP ERROR_MOD_NOT_FOUND ERROR_UNABLE_TO_CLEAN
- ERROR_SXS_XML_E_UNCLOSEDCDATA ERROR_UNABLE_TO_REMOVE_REPLACED
- ERROR_DS_SORT_CONTROL_MISSING EM_SETTABSTOPS ERROR_IO_PENDING
- EMR_SELECTOBJECT EMR_POLYPOLYGON16 ERROR_IPSEC_IKE_UNSUPPORTED_ID
- ETO_CLIPPED ERROR_UNABLE_TO_UNLOAD_MEDIA ERROR_SXS_DUPLICATE_CLSID
- ERROR_NO_PROC_SLOTS ERROR_DS_PARENT_IS_AN_ALIAS ERROR_SEVERITY_SUCCESS
- ERROR_EA_TABLE_FULL EMR_POLYBEZIERTO16 ERROR_LOCAL_USER_SESSION_KEY
- ERROR_DS_OFFSET_RANGE_ERROR ERROR_RING2SEG_MUST_BE_MOVABLE
- ERROR_EFS_DISABLED ESB_DISABLE_LTUP ERROR_CANTREAD EMR_SETPIXELV
- ERROR_REGISTRY_IO_FAILED ERROR_SXS_KEY_NOT_FOUND EMR_SETWINDOWORGEX
- EVENTLOG_WARNING_TYPE ERROR_SOME_NOT_MAPPED EXCEPTION_DEBUG_EVENT
- ERROR_INVALID_ACCOUNT_NAME ERROR_BAD_NET_NAME EV_TXEMPTY ES_LOWERCASE
- EV_PERR EBUSY ERROR_DS_PARAM_ERROR ENUMPAPERMETRICS
- ERROR_NT_CROSS_ENCRYPTION_REQUIRED ERROR_SHARED_POLICY
- ERROR_BAD_DEV_TYPE ERROR_CTX_NO_OUTBUF ERROR_PROFILE_NOT_FOUND
- EWX_FORCE ERROR_INVALID_LIBRARY ERROR_DS_NAME_TOO_MANY_PARTS
- ERROR_IPSEC_IKE_SECLOADFAIL ERROR_NON_ACCOUNT_SID ERROR_CTX_WINSTATION_NOT_FOUND
- ERROR_DS_OUT_OF_VERSION_STORE ERROR_QUORUM_OWNER_ALIVE
- ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG EVENPARITY ERROR_DS_CANT_FIND_NC_IN_CACHE
- ERROR_SXS_XML_E_BADCHARDATA ERROR_NO_SUCH_MEMBER EXCEPTION_SINGLE_STEP
- ERROR_UNABLE_TO_LOCK_MEDIA ERROR_SUCCESS ERROR_INVALID_LOGON_HOURS
- ENOTEMPTY ERROR_INVALID_TRANSFORM ERROR_DS_ATT_VAL_ALREADY_EXISTS
- ERROR_ACTIVE_CONNECTIONS EVENTLOG_AUDIT_FAILURE ERROR_PRINT_CANCELLED
- ERROR_INVALID_NAME ERROR_LOGON_SESSION_EXISTS ERROR_INVALID_WINDOW_STYLE
- EPT_S_CANT_PERFORM_OP ERROR_DS_DRA_NAME_COLLISION EXCEPTION_PRIV_INSTRUCTION
- ERROR_CLUSTER_NODE_UNREACHABLE ERROR_SHARING_VIOLATION
- ESB_DISABLE_BOTH ERROR_BAD_THREADID_ADDR ERROR_SERVICE_DEPENDENCY_FAIL
- EMR_ELLIPSE ERROR_LOCK_VIOLATION ERROR_INVALID_GW_COMMAND
- ERROR_CANT_EVICT_ACTIVE_NODE EM_SETRECTNP ERROR_COLORSPACE_MISMATCH
- ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS ERROR_DEPENDENCY_NOT_ALLOWED
- ERROR_DS_EXISTS_IN_RDNATTID ERROR_DS_COULDNT_CONTACT_FSMO
- ERROR_DS_DRA_RPC_CANCELLED ERROR_UNABLE_TO_INVENTORY_SLOT
- ERROR_DS_OBJ_CLASS_NOT_SUBCLASS ERROR_REG_NAT_CONSUMPTION
- ERROR_DS_NON_BASE_SEARCH ERROR_CANTOPEN ERROR_DS_NOT_INSTALLED
- ERROR_CLUSTERLOG_CORRUPT ERROR_BAD_QUERY_SYNTAX ERROR_IPSEC_IKE_DH_FAIL
- EFBIG EMR_ARCTO ERROR_BAD_IMPERSONATION_LEVEL ECONNRESET
- ERROR_CLUSTER_SHUTTING_DOWN ERROR_NESTING_NOT_ALLOWED
- ERROR_WORKING_SET_QUOTA ERROR_INVALID_PASSWORD ERROR_PROCESS_ABORTED
- ERROR_FILE_EXISTS ERROR_TOO_MANY_POSTS ERROR_HOTKEY_NOT_REGISTERED
- ERROR_SERVICE_DOES_NOT_EXIST EMR_STROKEPATH ES_USER_PRESENT
- ERROR_DS_SCHEMA_ALLOC_FAILED ERROR_DS_ADMIN_LIMIT_EXCEEDED
- ERROR_NEGATIVE_SEEK EMR_EXTSELECTCLIPRGN ERROR_REC_NON_EXISTENT
- EXCEPTION_FLT_INVALID_OPERATION EINPROGRESS ERROR_DS_CANT_START
- EADDRNOTAVAIL ERROR_IS_JOINED EMR_POLYLINETO16 ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA
- EMR_CREATEPEN ENUM_ALL_CALENDARS ERROR_REQUEST_REFUSED
- ERROR_DS_ATT_ALREADY_EXISTS ERROR_NO_UNICODE_TRANSLATION
- EVENTLOG_BACKWARDS_READ ERROR_DOMAIN_LIMIT_EXCEEDED
- EMR_SETWORLDTRANSFORM ERROR_DS_RDN_DOESNT_MATCH_SCHEMA
- ERROR_ADAP_HDW_ERR ERROR_OBJECT_ALREADY_EXISTS ERROR_WINDOW_OF_OTHER_THREAD
- ESPIPE ERROR_CANT_OPEN_ANONYMOUS ERROR_DS_INSTALL_NO_SRC_SCH_VERSION
- EM_GETLINECOUNT EALREADY ERROR_INVALID_FORM_NAME ERROR_MORE_DATA
- ERROR_IPSEC_MM_FILTER_EXISTS ERROR_CHILD_NOT_COMPLETE
- ERROR_NOT_ENOUGH_MEMORY ERROR_JOURNAL_NOT_ACTIVE ERROR_IPSEC_IKE_INVALID_GROUP
- ERROR_CTX_LICENSE_NOT_AVAILABLE ERROR_DS_DRA_MAIL_PROBLEM
- ERROR_DS_BACKLINK_WITHOUT_LINK ERROR_DEPENDENCY_NOT_FOUND
- ERROR_DS_SAM_INIT_FAILURE ERROR_SERVICE_REQUEST_TIMEOUT
- ERROR_INVALID_FLAGS ERROR_EA_FILE_CORRUPT ERROR_DESTROY_OBJECT_OF_OTHER_THREAD
- ERROR_DS_ROOT_CANT_BE_SUBREF ERROR_PATCH_PACKAGE_INVALID
- ERROR_QUORUM_RESOURCE ERROR_BADKEY ERROR_WRONG_DISK
- ERROR_INVALID_SERVICE_CONTROL ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED
- ERROR_LOGIN_TIME_RESTRICTION ERROR_SERVICE_LOGON_FAILED
- ERROR_DS_SEMANTIC_ATT_TEST EPS_SIGNATURE ERROR_PIPE_CONNECTED
- ERROR_SET_POWER_STATE_FAILED EDEADLOCK ERROR_NOT_LOGGED_ON
- EMR_SETPALETTEENTRIES ERROR_INVALID_GROUP_ATTRIBUTES
- ERROR_INVALID_MESSAGE ERROR_TOKEN_ALREADY_IN_USE ERROR_UNRECOGNIZED_MEDIA
- ERROR_INVALID_TARGET_HANDLE ERROR_IPSEC_IKE_ATTRIB_FAIL
- ERROR_DS_DRA_DB_ERROR ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY
- ERROR_DS_DRA_SCHEMA_CONFLICT EXTTEXTOUT ERROR_TOO_MANY_MODULES
- ERROR_QUORUMLOG_OPEN_FAILED ERROR_INC_BACKUP ERROR_DS_DUP_SCHEMA_ID_GUID
- ERROR_DS_CANT_REMOVE_CLASS_CACHE ERROR_RECOVERY_FAILURE
- ERROR_INVALID_MEMBER ERROR_SXS_XML_E_UNEXPECTEDEOF
- ERROR_CTX_SHADOW_INVALID ERROR_DS_UNAVAILABLE EMR_INTERSECTCLIPRECT
- ERROR_SXS_XML_E_BADCHARINSTRING EM_SETLIMITTEXT ERROR_SXS_DUPLICATE_DLL_NAME
- ERROR_NOT_READY ERROR_IPSEC_QM_POLICY_IN_USE ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR
- EMR_POLYBEZIER16 ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED
- ERROR_IPSEC_IKE_AUTH_FAIL ERROR_TOO_MANY_CMDS ERROR_NO_SUCH_USER
- EM_GETHANDLE ERROR_NO_SUCH_LOGON_SESSION ERROR_DS_DRA_ACCESS_DENIED
- ERROR_DS_INVALID_SCRIPT ENUM_S_FIRST ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE
- ERROR_DS_CANT_ADD_TO_GC ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET
- ERROR_WMI_ALREADY_ENABLED ERROR_CLUSTER_NETWORK_NOT_FOUND
- ERROR_SXS_PROTECTION_RECOVERY_FAILED ERROR_INVALID_CMM
- ERROR_SXS_DUPLICATE_IID ES_LEFT ERROR_DS_NONEXISTENT_MUST_HAVE
- ERROR_DS_DECODING_ERROR ERROR_NO_SUCH_DOMAIN ERROR_IPSEC_IKE_DECRYPT
- ERROR_OPEN_FILES ERROR_SPL_NO_ADDJOB ERROR_IPSEC_IKE_NO_MM_POLICY
- ERROR_DS_NAME_ERROR_RESOLVING ERROR_SXS_XML_E_MULTIPLE_COLONS
- EM_SCROLL ERROR_SXS_XML_E_DUPLICATEATTRIBUTE ERROR_SXS_XML_E_INVALIDENCODING
- ERROR_CONNECTED_OTHER_PASSWORD ERROR_DS_NAME_ERROR_NOT_FOUND
- EN_VSCROLL ERROR_DS_FOREST_VERSION_TOO_LOW ENOFILE
- ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA
- ERROR_BAD_NETPATH ERROR_ONLY_IF_CONNECTED ERROR_FLOPPY_ID_MARK_NOT_FOUND
- ERROR_DS_CANT_DEL_MASTER_CROSSREF EM_LINELENGTH ERROR_NO_SUCH_ALIAS
- ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 ERROR_SXS_XML_E_INCOMPLETE_ENCODING
- ERROR_DS_DRA_ABANDON_SYNC ERROR_WMI_SERVER_UNAVAILABLE
- ERROR_INSTALL_PACKAGE_OPEN_FAILED ERROR_NO_MORE_USER_HANDLES
- ETO_NUMERICSLOCAL ERROR_INVALID_ADDRESS ERROR_DS_DRA_REF_NOT_FOUND
- EXCEPTION_FLT_DIVIDE_BY_ZERO ES_NOHIDESEL ERROR_SECRET_TOO_LONG
- ERROR_DS_CANT_MOVE_APP_QUERY_GROUP ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION
- ERROR_INSUFFICIENT_BUFFER EM_SETWORDBREAKPROC ERROR_BAD_UNIT
- ERROR_IPSEC_IKE_GETSPIFAIL ERROR_DS_CANT_FIND_DSA_OBJ
- ERROR_CTX_MODEM_RESPONSE_BUSY ERROR_DS_DSA_MUST_BE_INT_MASTER
- EM_CHARFROMPOS ERROR_DS_EXISTING_AD_CHILD_NC ERROR_INVALID_ORDINAL
- ERROR_IPSEC_MM_AUTH_PENDING_DELETION ERROR_FAIL_I24
- ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION ERROR_NO_SYSTEM_RESOURCES
- ERROR_DS_REFERRAL ERROR_INVALID_BLOCK ENABLE_EXTENDED_FLAGS
- ERROR_CLUSTER_GUM_NOT_LOCKER ERROR_NET_WRITE_FAULT EN_ERRSPACE
- ERROR_CONNECTION_INVALID ERROR_RPL_NOT_ALLOWED ENXIO
- ERROR_DS_NAME_VALUE_TOO_LONG EASTEUROPE_CHARSET ERROR_DS_INCORRECT_ROLE_OWNER
- ERROR_GROUP_EXISTS ERROR_DS_AUX_CLS_TEST_FAIL ERROR_DYNLINK_FROM_INVALID_RING
- ERROR_NO_TRUST_LSA_SECRET ERROR_VOLUME_NOT_SIS_ENABLED
- ERROR_REM_NOT_LIST ERROR_WRITE_FAULT ERROR_WMI_INVALID_MOF
- ERROR_INVALID_VERIFY_SWITCH ERROR_INVALID_GROUPNAME
- ERROR_ALREADY_REGISTERED ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD
- ES_UPPERCASE ERROR_INVALID_SHOWWIN_COMMAND ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC
- ERROR_DS_CANT_CREATE_UNDER_SCHEMA ERROR_IPSEC_IKE_INVALID_SIG
- ERROR_NETWORK_UNREACHABLE ERROR_CALL_NOT_IMPLEMENTED
- ERROR_SXS_XML_E_MULTIPLEROOTS EMR_PIE ERROR_POSSIBLE_DEADLOCK
- ERROR_SCREEN_ALREADY_LOCKED ERROR_SXS_XML_E_UNBALANCEDPAREN
- ERROR_DS_DRA_EXTN_CONNECTION_FAILED ERROR_FULLSCREEN_MODE
- ERROR_LICENSE_QUOTA_EXCEEDED ERROR_DEV_NOT_EXIST ERROR_WMI_GUID_NOT_FOUND
- ERROR_INVALID_CURSOR_HANDLE ERROR_SESSION_CREDENTIAL_CONFLICT
- ERROR_DS_LOW_DSA_VERSION EADDRINUSE EC_ENABLEALL ERROR_DS_INAPPROPRIATE_MATCHING
- EXCEPTION_STACK_OVERFLOW ERROR_DS_NONEXISTENT_POSS_SUP
- ERROR_IPSEC_MM_POLICY_IN_USE EBADF ERROR_DS_USER_BUFFER_TO_SMALL
- ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS ERROR_DATATYPE_MISMATCH
- EXCEPTION_CONTINUE_SEARCH EWX_SHUTDOWN EXCEPTION_INT_OVERFLOW
- ERROR_WMI_INSTANCE_NOT_FOUND ERROR_CTX_CONSOLE_CONNECT
- ERROR_NO_BROWSER_SERVERS_FOUND ERROR_DS_NC_STILL_HAS_DSAS
- EXCEPTION_ACCESS_VIOLATION ERROR_DS_INVALID_NAME_FOR_SPN
- ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS ERROR_INVALID_ICON_HANDLE
- ERROR_INSTALL_TRANSFORM_REJECTED ERROR_CTX_BAD_VIDEO_MODE
- ERROR_CONTINUE ECONNREFUSED ERROR_CTX_MODEM_RESPONSE_NO_CARRIER
- EMR_GLSRECORD ERROR_DS_DRA_BAD_NC ERROR_NOT_ENOUGH_QUOTA
- ERROR_SXS_POLICY_PARSE_ERROR EDISCON ERROR_INVALID_LIST_FORMAT
- ERROR_SERVICE_DISABLED ERROR_IPSEC_IKE_SRVACQFAIL EM_CANUNDO
- ERROR_INVALID_SERVICENAME ERROR_INVALID_ACCESS ERROR_INVALID_BLOCK_LENGTH
- ERROR_DS_SINGLE_VALUE_CONSTRAINT ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ
- ERROR_NO_SPOOL_SPACE ERROR_IPSEC_IKE_ERROR EMR_DELETEOBJECT
- ERROR_CANNOT_FIND_WND_CLASS ERROR_DS_SAM_INIT_FAILURE_CONSOLE
- ERROR_DS_MODIFYDN_WRONG_GRANDPARENT ERROR_PROMOTION_ACTIVE
- ERROR_FILEMARK_DETECTED ERROR_IPSEC_IKE_NEG_STATUS_END EV_RX80FULL
- ERROR_IPSEC_IKE_PROCESS_ERR_PROP ERROR_INSTALL_PACKAGE_INVALID
- ENUM_E_FIRST ERROR_NO_USER_SESSION_KEY ERROR_DS_SIZELIMIT_EXCEEDED
- ERROR_DS_INAPPROPRIATE_AUTH ERROR_SECTOR_NOT_FOUND EDESTADDRREQ
- ERROR_DS_UNKNOWN_ERROR ERANGE ERROR_SXS_WRONG_SECTION_TYPE
- ERROR_CTX_SHADOW_DISABLED ERROR_IPSEC_IKE_BENIGN_REINIT
- EXCEPTION_NONCONTINUABLE_EXCEPTION ENABLERELATIVEWIDTHS
- ERROR_TAG_NOT_PRESENT ERROR_CTX_MODEM_INF_NOT_FOUND
- ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA ERROR_INVALID_DOMAINNAME EILSEQ
- ERROR_DS_OBJECT_RESULTS_TOO_LARGE ERROR_WRONG_PASSWORD
- ERROR_UNKNOWN_REVISION ERROR_ILL_FORMED_PASSWORD ERROR_DISK_TOO_FRAGMENTED
- EPIPE ERROR_INVALID_DRIVE_OBJECT ERROR_PER_USER_TRUST_QUOTA_EXCEEDED
- ERROR_UNKNOWN_PRINT_MONITOR ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE
- ERROR_DS_STRONG_AUTH_REQUIRED EMR_MODIFYWORLDTRANSFORM
- ERROR_CTX_MODEM_RESPONSE_TIMEOUT ESB_DISABLE_DOWN ERROR_CTX_CLOSE_PENDING
- ERROR_SXS_XML_E_BADNAMECHAR ERROR_UNKNOWN_COMPONENT
- ERROR_IPSEC_IKE_SA_DELETED ERROR_DS_MISSING_SUPREF
- ERROR_DS_REMOTE_CROSSREF_OP_FAILED EM_SETMARGINS ERROR_DS_MISSING_FSMO_SETTINGS
- EVENTLOG_SEEK_READ ERROR_SEVERITY_INFORMATIONAL ERROR_IPSEC_IKE_PROCESS_ERR_ID
- ERROR_DS_CANT_ON_NON_LEAF ERROR_DS_NO_DELETED_NAME
- ERROR_IPSEC_IKE_INVALID_PAYLOAD ERROR_DS_DRA_OUT_OF_MEM
- ERROR_CANCELLED ELF_CULTURE_LATIN ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED
- ERROR_INVALID_HANDLE_STATE ERROR_PATCH_TARGET_NOT_FOUND
- ERROR_DS_DRA_OBJ_IS_REP_SOURCE ERROR_INVALID_DLL ERROR_DS_NO_TREE_DELETE_ABOVE_NC
- ERROR_DEBUGGER_INACTIVE ERROR_BOOT_ALREADY_ACCEPTED
- EMR_SETCOLORADJUSTMENT ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE
- ERROR_CIRCULAR_DEPENDENCY ERROR_CLUSTER_NODE_PAUSED
- ERROR_PATCH_PACKAGE_REJECTED EC_LEFTMARGIN EMR_EXTCREATEPEN
- ERROR_WMI_UNRESOLVED_INSTANCE_REF EV_DSR ERROR_INFLOOP_IN_RELOC_CHAIN
- ERROR_DS_CANT_ON_RDN EAGAIN ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH
- ENOPROTOOPT ERROR_CLUSTER_NODE_DOWN ERROR_PASSWORD_RESTRICTION
- ERROR_ACCESS_DISABLED_WEBBLADE ERROR_DS_DRA_BAD_DN
- ERROR_CLUSTER_NODE_ALREADY_UP ERROR_DS_DRA_INTERNAL_ERROR
- ERROR_SXS_MANIFEST_FORMAT_ERROR ES_CONTINUOUS ERROR_DS_REPLICATOR_ONLY
- ERROR_RESOURCE_FAILED ERROR_DS_DRA_DN_EXISTS ERROR_TOO_MANY_SESS
- ERROR_CLUSTER_INVALID_NETWORK_PROVIDER ERROR_TAG_NOT_FOUND
- ERROR_SXS_XML_E_UNCLOSEDENDTAG ERROR_UNEXPECTED_OMID
- ERROR_REVISION_MISMATCH EMR_POLYBEZIERTO ENFILE ERROR_SEEK_ON_DEVICE
- ERROR_WRONG_EFS EMR_POLYDRAW16 ERROR_NETLOGON_NOT_STARTED
- ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER ERROR_SUCCESS_REBOOT_REQUIRED
- ENOTDIR ERROR_CTX_WD_NOT_FOUND EINVAL ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST
- EMR_CLOSEFIGURE ERROR_IPSEC_MM_POLICY_NOT_FOUND ERROR_MEDIA_NOT_AVAILABLE
- ERROR_SXS_XML_E_MISSINGWHITESPACE EMR_SCALEVIEWPORTEXTEX
- ERROR_IPSEC_IKE_PROCESS_ERR ERROR_DS_DRA_BUSY ERROR_DS_REFUSING_FSMO_ROLES
- ERROR_SXS_THREAD_QUERIES_DISABLED EXCEPTION_BREAKPOINT ERROR_CRC
- ERROR_IPSEC_IKE_QM_ACQUIRE_DROP ERROR_CLIPPING_NOT_SUPPORTED
- ERROR_QUORUM_DISK_NOT_FOUND EM_GETTHUMB ERROR_INVALID_SCROLLBAR_RANGE
- ERROR_UNABLE_TO_LOAD_MEDIUM ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER
- ERROR_DS_SRC_AND_DST_NC_IDENTICAL ERROR_INSTALL_REMOTE_DISALLOWED
- ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME
- ERROR_MACHINE_LOCKED ERROR_NOT_ALL_ASSIGNED EPFNOSUPPORT
- ERROR_UNABLE_TO_MOVE_REPLACEMENT ERROR_CONNECTION_UNAVAIL
- ERROR_IPSEC_IKE_POLICY_MATCH EMR_SETVIEWPORTEXTEX ERROR_IPSEC_MM_FILTER_PENDING_DELETION
- EXCEPTION_FLT_UNDERFLOW ERROR_SEVERITY_WARNING ERROR_SXS_XML_E_BADPEREFINSUBSET
- ERROR_UNKNOWN_PRODUCT ERROR_DS_INSTALL_SCHEMA_MISMATCH
- ERROR_IPSEC_IKE_ENCRYPT EM_GETRECT ERROR_MEDIA_UNAVAILABLE
- ERROR_EVENTLOG_FILE_CORRUPT EMR_ABORTPATH ERROR_DS_DNS_LOOKUP_FAILURE
- ERROR_DS_CANT_RETRIEVE_ATTS ERROR_DS_NO_REQUESTED_ATTS_FOUND
- ERROR_DS_TREE_DELETE_NOT_FINISHED ERROR_INCORRECT_ADDRESS ENOBUFS
- EMR_CREATEPALETTE ERROR_DS_WRONG_OM_OBJ_CLASS ERROR_DS_SCHEMA_UPDATE_DISALLOWED
- ERROR_SCOPE_NOT_FOUND ERROR_BAD_ARGUMENTS ERROR_NO_WILDCARD_CHARACTERS
- ES_WANTRETURN ERROR_NOT_CONTAINER ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER
- ERROR_RXACT_INVALID_STATE ERROR_DS_SCHEMA_NOT_LOADED
- ERROR_DS_SOURCE_DOMAIN_IN_FOREST ERROR_ALREADY_ASSIGNED
- ERROR_DS_ATTRIBUTE_OWNED_BY_SAM E_ABORT EDQUOT ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED
- ERROR_IPSEC_IKE_PROCESS_ERR_KE ERROR_DS_NCNAME_MISSING_CR_REF
- ERROR_INVALID_EXE_SIGNATURE ERROR_DS_IS_LEAF ERROR_INVALID_ACL
- ERROR_DS_CANT_MOVE_APP_BASIC_GROUP ERROR_CTX_GRAPHICS_INVALID
- ERROR_DEVICE_REQUIRES_CLEANING EM_SETRECT EACCES ERROR_CANT_ACCESS_DOMAIN_INFO
- EMR_OFFSETCLIPRGN ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY
- EXCEPTION_FLT_DENORMAL_OPERAND ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT
- ERROR_DS_INVALID_ROLE_OWNER ERROR_DATABASE_FAILURE
- ERROR_INVALID_PARAMETER E_OUTOFMEMORY ENUM_CURRENT_SETTINGS
- ERROR_NO_VOLUME_ID ERROR_INVALID_OPERATION_ON_QUORUM EMR_INVERTRGN
- ERROR_NO_MORE_FILES ERROR_IPSEC_MM_POLICY_PENDING_DELETION
- ERROR_CLIPBOARD_NOT_OPEN ERROR_DS_EXISTS_IN_POSS_SUP
- ERROR_FILE_INVALID ERROR_DS_OBJ_NOT_FOUND ESOCKTNOSUPPORT
- ERROR_NOLOGON_SERVER_TRUST_ACCOUNT ERROR_DS_INVALID_SEARCH_FLAG
- ERROR_NO_SUCH_GROUP ENODEV ERROR_IS_JOIN_TARGET ERROR_INSTALL_REMOTE_PROHIBITED
- ERROR_NOT_EXPORT_FORMAT ERROR_CANNOT_MAKE ERROR_TOO_MANY_LINKS
- ERROR_GROUP_NOT_FOUND ERROR_DS_CONTROL_NOT_FOUND ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET
- ERROR_DS_NO_CROSSREF_FOR_NC ERROR_EA_ACCESS_DENIED
- ERROR_MEMBERS_PRIMARY_GROUP);
+my %err;
-%EXPORT_TAGS = (
+BEGIN {
+ %err = (
+ ENUM_REGISTRY_SETTINGS => -2,
+ EXCEPTION_CONTINUE_EXECUTION => -1,
+ ENUM_ALL_CALENDARS => -1,
+ ENUM_CURRENT_SETTINGS => -1,
+ ERROR => 0,
+ ESB_ENABLE_BOTH => 0,
+ EMBDHLP_INPROC_HANDLER => 0,
+ ELF_VERSION => 0,
+ EXIT_SUCCESS => 0,
+ EVENTLOG_SUCCESS => 0,
+ EWX_LOGOFF => 0,
+ EMBDHLP_CREATENOW => 0,
+ ERROR_SEVERITY_SUCCESS => 0,
+ ERROR_SUCCESS => 0,
+ ES_LEFT => 0,
+ EC_ENABLEALL => 0,
+ EXCEPTION_CONTINUE_SEARCH => 0,
+ ELF_CULTURE_LATIN => 0,
+ ESB_DISABLE_LEFT => 1,
+ EXCEPTION_NONCONTINUABLE => 1,
+ EV_RXCHAR => 1,
+ EPERM => 1,
+ EXCEPTION_EXECUTE_HANDLER => 1,
+ ES_CENTER => 1,
+ EMBDHLP_INPROC_SERVER => 1,
+ EMR_HEADER => 1,
+ ENABLE_PROCESSED_INPUT => 1,
+ ES_SYSTEM_REQUIRED => 1,
+ ESB_DISABLE_UP => 1,
+ EVENTLOG_ERROR_TYPE => 1,
+ EVENTLOG_SEQUENTIAL_READ => 1,
+ ENABLE_PROCESSED_OUTPUT => 1,
+ EXIT_FAILURE => 1,
+ ERROR_INVALID_FUNCTION => 1,
+ ESB_DISABLE_LTUP => 1,
+ EXCEPTION_DEBUG_EVENT => 1,
+ EWX_SHUTDOWN => 1,
+ EC_LEFTMARGIN => 1,
+ ETO_OPAQUE => 2,
+ ESB_DISABLE_RTDN => 2,
+ EWX_REBOOT => 2,
+ EC_QUERYWAITING => 2,
+ ES_DISPLAY_REQUIRED => 2,
+ ESB_DISABLE_RIGHT => 2,
+ ENOENT => 2,
+ ENABLE_WRAP_AT_EOL_OUTPUT => 2,
+ EVENT_MODIFY_STATE => 2,
+ ES_RIGHT => 2,
+ EV_RXFLAG => 2,
+ EMR_POLYBEZIER => 2,
+ ENABLE_LINE_INPUT => 2,
+ EC_RIGHTMARGIN => 2,
+ ERROR_FILE_NOT_FOUND => 2,
+ EVENTLOG_WARNING_TYPE => 2,
+ EVENPARITY => 2,
+ ENOFILE => 2,
+ ESB_DISABLE_DOWN => 2,
+ EVENTLOG_SEEK_READ => 2,
+ EMR_POLYGON => 3,
+ ERROR_PATH_NOT_FOUND => 3,
+ ESRCH => 3,
+ ESB_DISABLE_BOTH => 3,
+ EVENTLOG_INFORMATION_TYPE => 4,
+ ELF_VENDOR_SIZE => 4,
+ EXIT_THREAD_DEBUG_EVENT => 4,
+ EINTR => 4,
+ ERROR_TOO_MANY_OPEN_FILES => 4,
+ EMR_POLYLINE => 4,
+ EVENTLOG_FORWARDS_READ => 4,
+ ES_MULTILINE => 4,
+ ENABLE_ECHO_INPUT => 4,
+ ETO_CLIPPED => 4,
+ EV_TXEMPTY => 4,
+ EWX_FORCE => 4,
+ ES_USER_PRESENT => 4,
+ EIO => 5,
+ ERROR_ACCESS_DENIED => 5,
+ EDGE_RAISED => 5,
+ EXIT_PROCESS_DEBUG_EVENT => 5,
+ EMR_POLYBEZIERTO => 5,
+ ERROR_INVALID_HANDLE => 6,
+ EDGE_ETCHED => 6,
+ EMR_POLYLINETO => 6,
+ ENXIO => 6,
+ EMR_POLYPOLYLINE => 7,
+ E2BIG => 7,
+ ERROR_ARENA_TRASHED => 7,
+ EVENTLOG_AUDIT_SUCCESS => 8,
+ EC_DISABLE => 8,
+ ENABLE_WINDOW_INPUT => 8,
+ EWX_POWEROFF => 8,
+ ENOEXEC => 8,
+ EV_CTS => 8,
+ EMR_POLYPOLYGON => 8,
+ EVENTLOG_BACKWARDS_READ => 8,
+ ERROR_NOT_ENOUGH_MEMORY => 8,
+ ES_UPPERCASE => 8,
+ EMR_SETWINDOWEXTEX => 9,
+ EDGE_BUMP => 9,
+ ERROR_INVALID_BLOCK => 9,
+ EBADF => 9,
+ EDGE_SUNKEN => 10,
+ ECHILD => 10,
+ ERROR_BAD_ENVIRONMENT => 10,
+ EMR_SETWINDOWORGEX => 10,
+ ENDDOC => 11,
+ ERROR_BAD_FORMAT => 11,
+ EAGAIN => 11,
+ EMR_SETVIEWPORTEXTEX => 11,
+ EMR_SETVIEWPORTORGEX => 12,
+ ENOMEM => 12,
+ ERROR_INVALID_ACCESS => 12,
+ ERROR_INVALID_DATA => 13,
+ EMR_SETBRUSHORGEX => 13,
+ EACCES => 13,
+ ERROR_OUTOFMEMORY => 14,
+ EFAULT => 14,
+ EMR_EOF => 14,
+ ERROR_INVALID_DRIVE => 15,
+ EXCEPTION_MAXIMUM_PARAMETERS => 15,
+ EMR_SETPIXELV => 15,
+ EMR_SETMAPPERFLAGS => 16,
+ ETO_GLYPH_INDEX => 16,
+ ERROR_CURRENT_DIRECTORY => 16,
+ ENABLE_MOUSE_INPUT => 16,
+ ES_LOWERCASE => 16,
+ EBUSY => 16,
+ EVENTLOG_AUDIT_FAILURE => 16,
+ EV_DSR => 16,
+ EMR_SETMAPMODE => 17,
+ EEXIST => 17,
+ ERROR_NOT_SAME_DEVICE => 17,
+ EMR_SETBKMODE => 18,
+ EXDEV => 18,
+ ERROR_NO_MORE_FILES => 18,
+ ERROR_WRITE_PROTECT => 19,
+ EMR_SETPOLYFILLMODE => 19,
+ ENODEV => 19,
+ EMR_SETROP2 => 20,
+ ERROR_BAD_UNIT => 20,
+ ENOTDIR => 20,
+ EISDIR => 21,
+ EMR_SETSTRETCHBLTMODE => 21,
+ ERROR_NOT_READY => 21,
+ ERROR_BAD_COMMAND => 22,
+ EMR_SETTEXTALIGN => 22,
+ EINVAL => 22,
+ EMR_SETCOLORADJUSTMENT => 23,
+ ENFILE => 23,
+ ERROR_CRC => 23,
+ EMR_SETTEXTCOLOR => 24,
+ ERROR_BAD_LENGTH => 24,
+ EMFILE => 24,
+ EMR_SETBKCOLOR => 25,
+ ERROR_SEEK => 25,
+ ENOTTY => 25,
+ ERROR_NOT_DOS_DISK => 26,
+ EMR_OFFSETCLIPRGN => 26,
+ EMR_MOVETOEX => 27,
+ EFBIG => 27,
+ ERROR_SECTOR_NOT_FOUND => 27,
+ ERROR_OUT_OF_PAPER => 28,
+ ENOSPC => 28,
+ ENABLEDUPLEX => 28,
+ EMR_SETMETARGN => 28,
+ EMR_EXCLUDECLIPRECT => 29,
+ ESPIPE => 29,
+ ERROR_WRITE_FAULT => 29,
+ EROFS => 30,
+ ERROR_READ_FAULT => 30,
+ EMR_INTERSECTCLIPRECT => 30,
+ ENUMPAPERBINS => 31,
+ EMLINK => 31,
+ ERROR_GEN_FAILURE => 31,
+ EMR_SCALEVIEWPORTEXTEX => 31,
+ ENABLE_INSERT_MODE => 32,
+ EV_RLSD => 32,
+ EMR_SCALEWINDOWEXTEX => 32,
+ ES_PASSWORD => 32,
+ ERROR_SHARING_VIOLATION => 32,
+ EPIPE => 32,
+ EMR_SAVEDC => 33,
+ EPSPRINTING => 33,
+ EDOM => 33,
+ ERROR_LOCK_VIOLATION => 33,
+ EMR_RESTOREDC => 34,
+ ENUMPAPERMETRICS => 34,
+ ERROR_WRONG_DISK => 34,
+ ERANGE => 34,
+ EMR_SETWORLDTRANSFORM => 35,
+ EDEADLK => 36,
+ ERROR_SHARING_BUFFER_EXCEEDED => 36,
+ EDEADLOCK => 36,
+ EMR_MODIFYWORLDTRANSFORM => 36,
+ EMR_SELECTOBJECT => 37,
+ ERROR_HANDLE_EOF => 38,
+ ENAMETOOLONG => 38,
+ EMR_CREATEPEN => 38,
+ EMR_CREATEBRUSHINDIRECT => 39,
+ ENOLCK => 39,
+ ERROR_HANDLE_DISK_FULL => 39,
+ ENOSYS => 40,
+ EMR_DELETEOBJECT => 40,
+ EMR_ANGLEARC => 41,
+ ENOTEMPTY => 41,
+ EMR_ELLIPSE => 42,
+ EILSEQ => 42,
+ EMR_RECTANGLE => 43,
+ EMR_ROUNDRECT => 44,
+ EMR_ARC => 45,
+ EMR_CHORD => 46,
+ EMR_PIE => 47,
+ EMR_SELECTPALETTE => 48,
+ EMR_CREATEPALETTE => 49,
+ ERROR_NOT_SUPPORTED => 50,
+ EMR_SETPALETTEENTRIES => 50,
+ EMR_RESIZEPALETTE => 51,
+ ERROR_REM_NOT_LIST => 51,
+ EMR_REALIZEPALETTE => 52,
+ ERROR_DUP_NAME => 52,
+ EMR_EXTFLOODFILL => 53,
+ ERROR_BAD_NETPATH => 53,
+ EMR_LINETO => 54,
+ ERROR_NETWORK_BUSY => 54,
+ EMR_ARCTO => 55,
+ ERROR_DEV_NOT_EXIST => 55,
+ EMR_POLYDRAW => 56,
+ ERROR_TOO_MANY_CMDS => 56,
+ EMR_SETARCDIRECTION => 57,
+ ERROR_ADAP_HDW_ERR => 57,
+ EMR_SETMITERLIMIT => 58,
+ ERROR_BAD_NET_RESP => 58,
+ EMR_BEGINPATH => 59,
+ ERROR_UNEXP_NET_ERR => 59,
+ ERROR_BAD_REM_ADAP => 60,
+ EMR_ENDPATH => 60,
+ ERROR_PRINTQ_FULL => 61,
+ EMR_CLOSEFIGURE => 61,
+ EMR_FILLPATH => 62,
+ ERROR_NO_SPOOL_SPACE => 62,
+ EMR_STROKEANDFILLPATH => 63,
+ ERROR_PRINT_CANCELLED => 63,
+ ENABLE_QUICK_EDIT_MODE => 64,
+ ERROR_NETNAME_DELETED => 64,
+ ES_AUTOVSCROLL => 64,
+ EV_BREAK => 64,
+ EMR_STROKEPATH => 64,
+ ERROR_NETWORK_ACCESS_DENIED => 65,
+ EMR_FLATTENPATH => 65,
+ EMR_WIDENPATH => 66,
+ ERROR_BAD_DEV_TYPE => 66,
+ EMR_SELECTCLIPPATH => 67,
+ ERROR_BAD_NET_NAME => 67,
+ ERROR_TOO_MANY_NAMES => 68,
+ EMR_ABORTPATH => 68,
+ ERROR_TOO_MANY_SESS => 69,
+ ERROR_SHARING_PAUSED => 70,
+ EMR_GDICOMMENT => 70,
+ EMR_FILLRGN => 71,
+ ERROR_REQ_NOT_ACCEP => 71,
+ ERROR_REDIR_PAUSED => 72,
+ EMR_FRAMERGN => 72,
+ EMR_INVERTRGN => 73,
+ EMR_PAINTRGN => 74,
+ EMR_EXTSELECTCLIPRGN => 75,
+ EMR_BITBLT => 76,
+ EMR_STRETCHBLT => 77,
+ EMR_MASKBLT => 78,
+ EMR_PLGBLT => 79,
+ EMR_SETDIBITSTODEVICE => 80,
+ ERROR_FILE_EXISTS => 80,
+ EMR_STRETCHDIBITS => 81,
+ EMR_EXTCREATEFONTINDIRECTW => 82,
+ ERROR_CANNOT_MAKE => 82,
+ EMR_EXTTEXTOUTA => 83,
+ ERROR_FAIL_I24 => 83,
+ ERROR_OUT_OF_STRUCTURES => 84,
+ EMR_EXTTEXTOUTW => 84,
+ EMR_POLYBEZIER16 => 85,
+ ERROR_ALREADY_ASSIGNED => 85,
+ EMR_POLYGON16 => 86,
+ ERROR_INVALID_PASSWORD => 86,
+ EMR_POLYLINE16 => 87,
+ ERROR_INVALID_PARAMETER => 87,
+ EMR_POLYBEZIERTO16 => 88,
+ ERROR_NET_WRITE_FAULT => 88,
+ ERROR_NO_PROC_SLOTS => 89,
+ EMR_POLYLINETO16 => 89,
+ EMR_POLYPOLYLINE16 => 90,
+ EMR_POLYPOLYGON16 => 91,
+ EMR_POLYDRAW16 => 92,
+ EMR_CREATEMONOBRUSH => 93,
+ EMR_CREATEDIBPATTERNBRUSHPT => 94,
+ EMR_EXTCREATEPEN => 95,
+ EMR_POLYTEXTOUTA => 96,
+ EMR_POLYTEXTOUTW => 97,
+ EMR_SETICMMODE => 98,
+ EMR_CREATECOLORSPACE => 99,
+ ERROR_TOO_MANY_SEMAPHORES => 100,
+ EMR_SETCOLORSPACE => 100,
+ EMR_DELETECOLORSPACE => 101,
+ ERROR_EXCL_SEM_ALREADY_OWNED => 101,
+ ERROR_SEM_IS_SET => 102,
+ EMR_GLSRECORD => 102,
+ ERROR_TOO_MANY_SEM_REQUESTS => 103,
+ EMR_GLSBOUNDEDRECORD => 103,
+ EMR_PIXELFORMAT => 104,
+ ERROR_INVALID_AT_INTERRUPT_TIME => 104,
+ ERROR_SEM_OWNER_DIED => 105,
+ ERROR_SEM_USER_LIMIT => 106,
+ ERROR_DISK_CHANGE => 107,
+ ERROR_DRIVE_LOCKED => 108,
+ ERROR_BROKEN_PIPE => 109,
+ ERROR_OPEN_FAILED => 110,
+ ERROR_BUFFER_OVERFLOW => 111,
+ ERROR_DISK_FULL => 112,
+ ERROR_NO_MORE_SEARCH_HANDLES => 113,
+ ERROR_INVALID_TARGET_HANDLE => 114,
+ ERROR_INVALID_CATEGORY => 117,
+ ERROR_INVALID_VERIFY_SWITCH => 118,
+ ERROR_BAD_DRIVER_LEVEL => 119,
+ ERROR_CALL_NOT_IMPLEMENTED => 120,
+ ERROR_SEM_TIMEOUT => 121,
+ ERROR_INSUFFICIENT_BUFFER => 122,
+ ERROR_INVALID_NAME => 123,
+ ERROR_INVALID_LEVEL => 124,
+ ERROR_NO_VOLUME_LABEL => 125,
+ ERROR_MOD_NOT_FOUND => 126,
+ ERROR_PROC_NOT_FOUND => 127,
+ EC_ENABLEONE => 128,
+ ES_AUTOHSCROLL => 128,
+ EV_ERR => 128,
+ ETO_RTLREADING => 128,
+ ERROR_WAIT_NO_CHILDREN => 128,
+ ENABLE_EXTENDED_FLAGS => 128,
+ ERROR_CHILD_NOT_COMPLETE => 129,
+ ERROR_DIRECT_ACCESS_HANDLE => 130,
+ ERROR_NEGATIVE_SEEK => 131,
+ ERROR_SEEK_ON_DEVICE => 132,
+ ERROR_IS_JOIN_TARGET => 133,
+ ERROR_IS_JOINED => 134,
+ ERROR_IS_SUBSTED => 135,
+ ERROR_NOT_JOINED => 136,
+ ERROR_NOT_SUBSTED => 137,
+ ERROR_JOIN_TO_JOIN => 138,
+ ERROR_SUBST_TO_SUBST => 139,
+ ERROR_JOIN_TO_SUBST => 140,
+ ERROR_SUBST_TO_JOIN => 141,
+ ERROR_BUSY_DRIVE => 142,
+ ERROR_SAME_DRIVE => 143,
+ ERROR_DIR_NOT_ROOT => 144,
+ ERROR_DIR_NOT_EMPTY => 145,
+ ERROR_IS_SUBST_PATH => 146,
+ ERROR_IS_JOIN_PATH => 147,
+ ERROR_PATH_BUSY => 148,
+ ERROR_IS_SUBST_TARGET => 149,
+ ERROR_SYSTEM_TRACE => 150,
+ ERROR_INVALID_EVENT_COUNT => 151,
+ ERROR_TOO_MANY_MUXWAITERS => 152,
+ ERROR_INVALID_LIST_FORMAT => 153,
+ ERROR_LABEL_TOO_LONG => 154,
+ ERROR_TOO_MANY_TCBS => 155,
+ ERROR_SIGNAL_REFUSED => 156,
+ ERROR_DISCARDED => 157,
+ ERROR_NOT_LOCKED => 158,
+ ERROR_BAD_THREADID_ADDR => 159,
+ ERROR_BAD_ARGUMENTS => 160,
+ ERROR_BAD_PATHNAME => 161,
+ ERROR_SIGNAL_PENDING => 162,
+ ERROR_MAX_THRDS_REACHED => 164,
+ ERROR_LOCK_FAILED => 167,
+ ERROR_BUSY => 170,
+ ERROR_CANCEL_VIOLATION => 173,
+ ERROR_ATOMIC_LOCKS_NOT_SUPPORTED => 174,
+ EM_GETSEL => 176,
+ EM_SETSEL => 177,
+ EM_GETRECT => 178,
+ EM_SETRECT => 179,
+ ERROR_INVALID_SEGMENT_NUMBER => 180,
+ EM_SETRECTNP => 180,
+ EM_SCROLL => 181,
+ EM_LINESCROLL => 182,
+ ERROR_INVALID_ORDINAL => 182,
+ ERROR_ALREADY_EXISTS => 183,
+ EM_SCROLLCARET => 183,
+ EM_GETMODIFY => 184,
+ EM_SETMODIFY => 185,
+ ERROR_INVALID_FLAG_NUMBER => 186,
+ EM_GETLINECOUNT => 186,
+ ERROR_SEM_NOT_FOUND => 187,
+ EM_LINEINDEX => 187,
+ ERROR_INVALID_STARTING_CODESEG => 188,
+ EM_SETHANDLE => 188,
+ ERROR_INVALID_STACKSEG => 189,
+ EM_GETHANDLE => 189,
+ ERROR_INVALID_MODULETYPE => 190,
+ EM_GETTHUMB => 190,
+ ERROR_INVALID_EXE_SIGNATURE => 191,
+ ERROR_EXE_MARKED_INVALID => 192,
+ ERROR_BAD_EXE_FORMAT => 193,
+ EM_LINELENGTH => 193,
+ ERROR_ITERATED_DATA_EXCEEDS_64k => 194,
+ EM_REPLACESEL => 194,
+ ERROR_INVALID_MINALLOCSIZE => 195,
+ EM_GETLINE => 196,
+ ERROR_DYNLINK_FROM_INVALID_RING => 196,
+ ERROR_IOPL_NOT_ENABLED => 197,
+ EM_LIMITTEXT => 197,
+ EM_SETLIMITTEXT => 197,
+ ERROR_INVALID_SEGDPL => 198,
+ EM_CANUNDO => 198,
+ ERROR_AUTODATASEG_EXCEEDS_64k => 199,
+ EM_UNDO => 199,
+ EM_FMTLINES => 200,
+ ERROR_RING2SEG_MUST_BE_MOVABLE => 200,
+ EM_LINEFROMCHAR => 201,
+ ERROR_RELOC_CHAIN_XEEDS_SEGLIM => 201,
+ ERROR_INFLOOP_IN_RELOC_CHAIN => 202,
+ ERROR_ENVVAR_NOT_FOUND => 203,
+ EM_SETTABSTOPS => 203,
+ EM_SETPASSWORDCHAR => 204,
+ EM_EMPTYUNDOBUFFER => 205,
+ ERROR_NO_SIGNAL_SENT => 205,
+ EM_GETFIRSTVISIBLELINE => 206,
+ ERROR_FILENAME_EXCED_RANGE => 206,
+ EM_SETREADONLY => 207,
+ ERROR_RING2_STACK_IN_USE => 207,
+ ERROR_META_EXPANSION_TOO_LONG => 208,
+ EM_SETWORDBREAKPROC => 208,
+ EM_GETWORDBREAKPROC => 209,
+ ERROR_INVALID_SIGNAL_NUMBER => 209,
+ ERROR_THREAD_1_INACTIVE => 210,
+ EM_GETPASSWORDCHAR => 210,
+ EM_SETMARGINS => 211,
+ EM_GETMARGINS => 212,
+ ERROR_LOCKED => 212,
+ EM_GETLIMITTEXT => 213,
+ EM_POSFROMCHAR => 214,
+ ERROR_TOO_MANY_MODULES => 214,
+ ERROR_NESTING_NOT_ALLOWED => 215,
+ EM_CHARFROMPOS => 215,
+ ERROR_EXE_MACHINE_TYPE_MISMATCH => 216,
+ ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY => 217,
+ ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY => 218,
+ ERROR_BAD_PIPE => 230,
+ ERROR_PIPE_BUSY => 231,
+ ERROR_NO_DATA => 232,
+ ERROR_PIPE_NOT_CONNECTED => 233,
+ ERROR_MORE_DATA => 234,
+ EASTEUROPE_CHARSET => 238,
+ ERROR_VC_DISCONNECTED => 240,
+ ERROR_INVALID_EA_NAME => 254,
+ ERROR_EA_LIST_INCONSISTENT => 255,
+ EN_SETFOCUS => 256,
+ ENABLE_AUTO_POSITION => 256,
+ EV_RING => 256,
+ ENHANCED_KEY => 256,
+ ES_NOHIDESEL => 256,
+ ERROR_NO_MORE_ITEMS => 259,
+ ERROR_CANNOT_COPY => 266,
+ ERROR_DIRECTORY => 267,
+ ERROR_EAS_DIDNT_FIT => 275,
+ ERROR_EA_FILE_CORRUPT => 276,
+ ERROR_EA_TABLE_FULL => 277,
+ ERROR_INVALID_EA_HANDLE => 278,
+ ERROR_EAS_NOT_SUPPORTED => 282,
+ ERROR_NOT_OWNER => 288,
+ ERROR_TOO_MANY_POSTS => 298,
+ ERROR_PARTIAL_COPY => 299,
+ ERROR_OPLOCK_NOT_GRANTED => 300,
+ ERROR_INVALID_OPLOCK_PROTOCOL => 301,
+ ERROR_DISK_TOO_FRAGMENTED => 302,
+ ERROR_DELETE_PENDING => 303,
+ ERROR_MR_MID_NOT_FOUND => 317,
+ ERROR_SCOPE_NOT_FOUND => 318,
+ ERROR_INVALID_ADDRESS => 487,
+ EN_KILLFOCUS => 512,
+ EV_PERR => 512,
+ EXTTEXTOUT => 512,
+ ERROR_ARITHMETIC_OVERFLOW => 534,
+ ERROR_PIPE_CONNECTED => 535,
+ ERROR_PIPE_LISTENING => 536,
+ EN_CHANGE => 768,
+ ENABLERELATIVEWIDTHS => 768,
+ ENABLEPAIRKERNING => 769,
+ ERROR_EA_ACCESS_DENIED => 994,
+ ERROR_OPERATION_ABORTED => 995,
+ ERROR_IO_INCOMPLETE => 996,
+ ERROR_IO_PENDING => 997,
+ ERROR_NOACCESS => 998,
+ ERROR_SWAPERROR => 999,
+ ERROR_STACK_OVERFLOW => 1001,
+ ERROR_INVALID_MESSAGE => 1002,
+ ERROR_CAN_NOT_COMPLETE => 1003,
+ ERROR_INVALID_FLAGS => 1004,
+ ERROR_UNRECOGNIZED_VOLUME => 1005,
+ ERROR_FILE_INVALID => 1006,
+ ERROR_FULLSCREEN_MODE => 1007,
+ ERROR_NO_TOKEN => 1008,
+ ERROR_BADDB => 1009,
+ ERROR_BADKEY => 1010,
+ ERROR_CANTOPEN => 1011,
+ ERROR_CANTREAD => 1012,
+ ERROR_CANTWRITE => 1013,
+ ERROR_REGISTRY_RECOVERED => 1014,
+ ERROR_REGISTRY_CORRUPT => 1015,
+ ERROR_REGISTRY_IO_FAILED => 1016,
+ ERROR_NOT_REGISTRY_FILE => 1017,
+ ERROR_KEY_DELETED => 1018,
+ ERROR_NO_LOG_SPACE => 1019,
+ ERROR_KEY_HAS_CHILDREN => 1020,
+ ERROR_CHILD_MUST_BE_VOLATILE => 1021,
+ ERROR_NOTIFY_ENUM_DIR => 1022,
+ EN_UPDATE => 1024,
+ ES_OEMCONVERT => 1024,
+ ETO_NUMERICSLOCAL => 1024,
+ EV_RX80FULL => 1024,
+ ERROR_DEPENDENT_SERVICES_RUNNING => 1051,
+ ERROR_INVALID_SERVICE_CONTROL => 1052,
+ ERROR_SERVICE_REQUEST_TIMEOUT => 1053,
+ ERROR_SERVICE_NO_THREAD => 1054,
+ ERROR_SERVICE_DATABASE_LOCKED => 1055,
+ ERROR_SERVICE_ALREADY_RUNNING => 1056,
+ ERROR_INVALID_SERVICE_ACCOUNT => 1057,
+ ERROR_SERVICE_DISABLED => 1058,
+ ERROR_CIRCULAR_DEPENDENCY => 1059,
+ ERROR_SERVICE_DOES_NOT_EXIST => 1060,
+ ERROR_SERVICE_CANNOT_ACCEPT_CTRL => 1061,
+ ERROR_SERVICE_NOT_ACTIVE => 1062,
+ ERROR_FAILED_SERVICE_CONTROLLER_CONNECT => 1063,
+ ERROR_EXCEPTION_IN_SERVICE => 1064,
+ ERROR_DATABASE_DOES_NOT_EXIST => 1065,
+ ERROR_SERVICE_SPECIFIC_ERROR => 1066,
+ ERROR_PROCESS_ABORTED => 1067,
+ ERROR_SERVICE_DEPENDENCY_FAIL => 1068,
+ ERROR_SERVICE_LOGON_FAILED => 1069,
+ ERROR_SERVICE_START_HANG => 1070,
+ ERROR_INVALID_SERVICE_LOCK => 1071,
+ ERROR_SERVICE_MARKED_FOR_DELETE => 1072,
+ ERROR_SERVICE_EXISTS => 1073,
+ ERROR_ALREADY_RUNNING_LKG => 1074,
+ ERROR_SERVICE_DEPENDENCY_DELETED => 1075,
+ ERROR_BOOT_ALREADY_ACCEPTED => 1076,
+ ERROR_SERVICE_NEVER_STARTED => 1077,
+ ERROR_DUPLICATE_SERVICE_NAME => 1078,
+ ERROR_DIFFERENT_SERVICE_ACCOUNT => 1079,
+ ERROR_CANNOT_DETECT_DRIVER_FAILURE => 1080,
+ ERROR_CANNOT_DETECT_PROCESS_ABORT => 1081,
+ ERROR_NO_RECOVERY_PROGRAM => 1082,
+ ERROR_SERVICE_NOT_IN_EXE => 1083,
+ ERROR_NOT_SAFEBOOT_SERVICE => 1084,
+ ERROR_END_OF_MEDIA => 1100,
+ ERROR_FILEMARK_DETECTED => 1101,
+ ERROR_BEGINNING_OF_MEDIA => 1102,
+ ERROR_SETMARK_DETECTED => 1103,
+ ERROR_NO_DATA_DETECTED => 1104,
+ ERROR_PARTITION_FAILURE => 1105,
+ ERROR_INVALID_BLOCK_LENGTH => 1106,
+ ERROR_DEVICE_NOT_PARTITIONED => 1107,
+ ERROR_UNABLE_TO_LOCK_MEDIA => 1108,
+ ERROR_UNABLE_TO_UNLOAD_MEDIA => 1109,
+ ERROR_MEDIA_CHANGED => 1110,
+ ERROR_BUS_RESET => 1111,
+ ERROR_NO_MEDIA_IN_DRIVE => 1112,
+ ERROR_NO_UNICODE_TRANSLATION => 1113,
+ ERROR_DLL_INIT_FAILED => 1114,
+ ERROR_SHUTDOWN_IN_PROGRESS => 1115,
+ ERROR_NO_SHUTDOWN_IN_PROGRESS => 1116,
+ ERROR_IO_DEVICE => 1117,
+ ERROR_SERIAL_NO_DEVICE => 1118,
+ ERROR_IRQ_BUSY => 1119,
+ ERROR_MORE_WRITES => 1120,
+ ERROR_COUNTER_TIMEOUT => 1121,
+ ERROR_FLOPPY_ID_MARK_NOT_FOUND => 1122,
+ ERROR_FLOPPY_WRONG_CYLINDER => 1123,
+ ERROR_FLOPPY_UNKNOWN_ERROR => 1124,
+ ERROR_FLOPPY_BAD_REGISTERS => 1125,
+ ERROR_DISK_RECALIBRATE_FAILED => 1126,
+ ERROR_DISK_OPERATION_FAILED => 1127,
+ ERROR_DISK_RESET_FAILED => 1128,
+ ERROR_EOM_OVERFLOW => 1129,
+ ERROR_NOT_ENOUGH_SERVER_MEMORY => 1130,
+ ERROR_POSSIBLE_DEADLOCK => 1131,
+ ERROR_MAPPED_ALIGNMENT => 1132,
+ ERROR_SET_POWER_STATE_VETOED => 1140,
+ ERROR_SET_POWER_STATE_FAILED => 1141,
+ ERROR_TOO_MANY_LINKS => 1142,
+ ERROR_OLD_WIN_VERSION => 1150,
+ ERROR_APP_WRONG_OS => 1151,
+ ERROR_SINGLE_INSTANCE_APP => 1152,
+ ERROR_RMODE_APP => 1153,
+ ERROR_INVALID_DLL => 1154,
+ ERROR_NO_ASSOCIATION => 1155,
+ ERROR_DDE_FAIL => 1156,
+ ERROR_DLL_NOT_FOUND => 1157,
+ ERROR_NO_MORE_USER_HANDLES => 1158,
+ ERROR_MESSAGE_SYNC_ONLY => 1159,
+ ERROR_SOURCE_ELEMENT_EMPTY => 1160,
+ ERROR_DESTINATION_ELEMENT_FULL => 1161,
+ ERROR_ILLEGAL_ELEMENT_ADDRESS => 1162,
+ ERROR_MAGAZINE_NOT_PRESENT => 1163,
+ ERROR_DEVICE_REINITIALIZATION_NEEDED => 1164,
+ ERROR_DEVICE_REQUIRES_CLEANING => 1165,
+ ERROR_DEVICE_DOOR_OPEN => 1166,
+ ERROR_DEVICE_NOT_CONNECTED => 1167,
+ ERROR_NOT_FOUND => 1168,
+ ERROR_NO_MATCH => 1169,
+ ERROR_SET_NOT_FOUND => 1170,
+ ERROR_POINT_NOT_FOUND => 1171,
+ ERROR_NO_TRACKING_SERVICE => 1172,
+ ERROR_NO_VOLUME_ID => 1173,
+ ERROR_UNABLE_TO_REMOVE_REPLACED => 1175,
+ ERROR_UNABLE_TO_MOVE_REPLACEMENT => 1176,
+ ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 => 1177,
+ ERROR_JOURNAL_DELETE_IN_PROGRESS => 1178,
+ ERROR_JOURNAL_NOT_ACTIVE => 1179,
+ ERROR_POTENTIAL_FILE_FOUND => 1180,
+ ERROR_JOURNAL_ENTRY_DELETED => 1181,
+ ERROR_BAD_DEVICE => 1200,
+ ERROR_CONNECTION_UNAVAIL => 1201,
+ ERROR_DEVICE_ALREADY_REMEMBERED => 1202,
+ ERROR_NO_NET_OR_BAD_PATH => 1203,
+ ERROR_BAD_PROVIDER => 1204,
+ ERROR_CANNOT_OPEN_PROFILE => 1205,
+ ERROR_BAD_PROFILE => 1206,
+ ERROR_NOT_CONTAINER => 1207,
+ ERROR_EXTENDED_ERROR => 1208,
+ ERROR_INVALID_GROUPNAME => 1209,
+ ERROR_INVALID_COMPUTERNAME => 1210,
+ ERROR_INVALID_EVENTNAME => 1211,
+ ERROR_INVALID_DOMAINNAME => 1212,
+ ERROR_INVALID_SERVICENAME => 1213,
+ ERROR_INVALID_NETNAME => 1214,
+ ERROR_INVALID_SHARENAME => 1215,
+ ERROR_INVALID_PASSWORDNAME => 1216,
+ ERROR_INVALID_MESSAGENAME => 1217,
+ ERROR_INVALID_MESSAGEDEST => 1218,
+ ERROR_SESSION_CREDENTIAL_CONFLICT => 1219,
+ ERROR_REMOTE_SESSION_LIMIT_EXCEEDED => 1220,
+ ERROR_DUP_DOMAINNAME => 1221,
+ ERROR_NO_NETWORK => 1222,
+ ERROR_CANCELLED => 1223,
+ ERROR_USER_MAPPED_FILE => 1224,
+ ERROR_CONNECTION_REFUSED => 1225,
+ ERROR_GRACEFUL_DISCONNECT => 1226,
+ ERROR_ADDRESS_ALREADY_ASSOCIATED => 1227,
+ ERROR_ADDRESS_NOT_ASSOCIATED => 1228,
+ ERROR_CONNECTION_INVALID => 1229,
+ ERROR_CONNECTION_ACTIVE => 1230,
+ ERROR_NETWORK_UNREACHABLE => 1231,
+ ERROR_HOST_UNREACHABLE => 1232,
+ ERROR_PROTOCOL_UNREACHABLE => 1233,
+ ERROR_PORT_UNREACHABLE => 1234,
+ ERROR_REQUEST_ABORTED => 1235,
+ ERROR_CONNECTION_ABORTED => 1236,
+ ERROR_RETRY => 1237,
+ ERROR_CONNECTION_COUNT_LIMIT => 1238,
+ ERROR_LOGIN_TIME_RESTRICTION => 1239,
+ ERROR_LOGIN_WKSTA_RESTRICTION => 1240,
+ ERROR_INCORRECT_ADDRESS => 1241,
+ ERROR_ALREADY_REGISTERED => 1242,
+ ERROR_SERVICE_NOT_FOUND => 1243,
+ ERROR_NOT_AUTHENTICATED => 1244,
+ ERROR_NOT_LOGGED_ON => 1245,
+ ERROR_CONTINUE => 1246,
+ ERROR_ALREADY_INITIALIZED => 1247,
+ ERROR_NO_MORE_DEVICES => 1248,
+ ERROR_NO_SUCH_SITE => 1249,
+ ERROR_DOMAIN_CONTROLLER_EXISTS => 1250,
+ ERROR_ONLY_IF_CONNECTED => 1251,
+ ERROR_OVERRIDE_NOCHANGES => 1252,
+ ERROR_BAD_USER_PROFILE => 1253,
+ ERROR_NOT_SUPPORTED_ON_SBS => 1254,
+ ERROR_SERVER_SHUTDOWN_IN_PROGRESS => 1255,
+ ERROR_HOST_DOWN => 1256,
+ ERROR_NON_ACCOUNT_SID => 1257,
+ ERROR_NON_DOMAIN_SID => 1258,
+ ERROR_APPHELP_BLOCK => 1259,
+ ERROR_ACCESS_DISABLED_BY_POLICY => 1260,
+ ERROR_REG_NAT_CONSUMPTION => 1261,
+ ERROR_CSCSHARE_OFFLINE => 1262,
+ ERROR_PKINIT_FAILURE => 1263,
+ ERROR_SMARTCARD_SUBSYSTEM_FAILURE => 1264,
+ ERROR_DOWNGRADE_DETECTED => 1265,
+ ERROR_MACHINE_LOCKED => 1271,
+ ERROR_CALLBACK_SUPPLIED_INVALID_DATA => 1273,
+ ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED => 1274,
+ ERROR_DRIVER_BLOCKED => 1275,
+ ERROR_INVALID_IMPORT_OF_NON_DLL => 1276,
+ ERROR_ACCESS_DISABLED_WEBBLADE => 1277,
+ ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER => 1278,
+ ERROR_RECOVERY_FAILURE => 1279,
+ ERROR_ALREADY_FIBER => 1280,
+ EN_ERRSPACE => 1280,
+ ERROR_ALREADY_THREAD => 1281,
+ EN_MAXTEXT => 1281,
+ ERROR_STACK_BUFFER_OVERRUN => 1282,
+ ERROR_PARAMETER_QUOTA_EXCEEDED => 1283,
+ ERROR_DEBUGGER_INACTIVE => 1284,
+ ERROR_NOT_ALL_ASSIGNED => 1300,
+ ERROR_SOME_NOT_MAPPED => 1301,
+ ERROR_NO_QUOTAS_FOR_ACCOUNT => 1302,
+ ERROR_LOCAL_USER_SESSION_KEY => 1303,
+ ERROR_NULL_LM_PASSWORD => 1304,
+ ERROR_UNKNOWN_REVISION => 1305,
+ ERROR_REVISION_MISMATCH => 1306,
+ ERROR_INVALID_OWNER => 1307,
+ ERROR_INVALID_PRIMARY_GROUP => 1308,
+ ERROR_NO_IMPERSONATION_TOKEN => 1309,
+ ERROR_CANT_DISABLE_MANDATORY => 1310,
+ ERROR_NO_LOGON_SERVERS => 1311,
+ ERROR_NO_SUCH_LOGON_SESSION => 1312,
+ ERROR_NO_SUCH_PRIVILEGE => 1313,
+ ERROR_PRIVILEGE_NOT_HELD => 1314,
+ ERROR_INVALID_ACCOUNT_NAME => 1315,
+ ERROR_USER_EXISTS => 1316,
+ ERROR_NO_SUCH_USER => 1317,
+ ERROR_GROUP_EXISTS => 1318,
+ ERROR_NO_SUCH_GROUP => 1319,
+ ERROR_MEMBER_IN_GROUP => 1320,
+ ERROR_MEMBER_NOT_IN_GROUP => 1321,
+ ERROR_LAST_ADMIN => 1322,
+ ERROR_WRONG_PASSWORD => 1323,
+ ERROR_ILL_FORMED_PASSWORD => 1324,
+ ERROR_PASSWORD_RESTRICTION => 1325,
+ ERROR_LOGON_FAILURE => 1326,
+ ERROR_ACCOUNT_RESTRICTION => 1327,
+ ERROR_INVALID_LOGON_HOURS => 1328,
+ ERROR_INVALID_WORKSTATION => 1329,
+ ERROR_PASSWORD_EXPIRED => 1330,
+ ERROR_ACCOUNT_DISABLED => 1331,
+ ERROR_NONE_MAPPED => 1332,
+ ERROR_TOO_MANY_LUIDS_REQUESTED => 1333,
+ ERROR_LUIDS_EXHAUSTED => 1334,
+ ERROR_INVALID_SUB_AUTHORITY => 1335,
+ ERROR_INVALID_ACL => 1336,
+ ERROR_INVALID_SID => 1337,
+ ERROR_INVALID_SECURITY_DESCR => 1338,
+ ERROR_BAD_INHERITANCE_ACL => 1340,
+ ERROR_SERVER_DISABLED => 1341,
+ ERROR_SERVER_NOT_DISABLED => 1342,
+ ERROR_INVALID_ID_AUTHORITY => 1343,
+ ERROR_ALLOTTED_SPACE_EXCEEDED => 1344,
+ ERROR_INVALID_GROUP_ATTRIBUTES => 1345,
+ ERROR_BAD_IMPERSONATION_LEVEL => 1346,
+ ERROR_CANT_OPEN_ANONYMOUS => 1347,
+ ERROR_BAD_VALIDATION_CLASS => 1348,
+ ERROR_BAD_TOKEN_TYPE => 1349,
+ ERROR_NO_SECURITY_ON_OBJECT => 1350,
+ ERROR_CANT_ACCESS_DOMAIN_INFO => 1351,
+ ERROR_INVALID_SERVER_STATE => 1352,
+ ERROR_INVALID_DOMAIN_STATE => 1353,
+ ERROR_INVALID_DOMAIN_ROLE => 1354,
+ ERROR_NO_SUCH_DOMAIN => 1355,
+ ERROR_DOMAIN_EXISTS => 1356,
+ ERROR_DOMAIN_LIMIT_EXCEEDED => 1357,
+ ERROR_INTERNAL_DB_CORRUPTION => 1358,
+ ERROR_INTERNAL_ERROR => 1359,
+ ERROR_GENERIC_NOT_MAPPED => 1360,
+ ERROR_BAD_DESCRIPTOR_FORMAT => 1361,
+ ERROR_NOT_LOGON_PROCESS => 1362,
+ ERROR_LOGON_SESSION_EXISTS => 1363,
+ ERROR_NO_SUCH_PACKAGE => 1364,
+ ERROR_BAD_LOGON_SESSION_STATE => 1365,
+ ERROR_LOGON_SESSION_COLLISION => 1366,
+ ERROR_INVALID_LOGON_TYPE => 1367,
+ ERROR_CANNOT_IMPERSONATE => 1368,
+ ERROR_RXACT_INVALID_STATE => 1369,
+ ERROR_RXACT_COMMIT_FAILURE => 1370,
+ ERROR_SPECIAL_ACCOUNT => 1371,
+ ERROR_SPECIAL_GROUP => 1372,
+ ERROR_SPECIAL_USER => 1373,
+ ERROR_MEMBERS_PRIMARY_GROUP => 1374,
+ ERROR_TOKEN_ALREADY_IN_USE => 1375,
+ ERROR_NO_SUCH_ALIAS => 1376,
+ ERROR_MEMBER_NOT_IN_ALIAS => 1377,
+ ERROR_MEMBER_IN_ALIAS => 1378,
+ ERROR_ALIAS_EXISTS => 1379,
+ ERROR_LOGON_NOT_GRANTED => 1380,
+ ERROR_TOO_MANY_SECRETS => 1381,
+ ERROR_SECRET_TOO_LONG => 1382,
+ ERROR_INTERNAL_DB_ERROR => 1383,
+ ERROR_TOO_MANY_CONTEXT_IDS => 1384,
+ ERROR_LOGON_TYPE_NOT_GRANTED => 1385,
+ ERROR_NT_CROSS_ENCRYPTION_REQUIRED => 1386,
+ ERROR_NO_SUCH_MEMBER => 1387,
+ ERROR_INVALID_MEMBER => 1388,
+ ERROR_TOO_MANY_SIDS => 1389,
+ ERROR_LM_CROSS_ENCRYPTION_REQUIRED => 1390,
+ ERROR_NO_INHERITANCE => 1391,
+ ERROR_FILE_CORRUPT => 1392,
+ ERROR_DISK_CORRUPT => 1393,
+ ERROR_NO_USER_SESSION_KEY => 1394,
+ ERROR_LICENSE_QUOTA_EXCEEDED => 1395,
+ ERROR_WRONG_TARGET_NAME => 1396,
+ ERROR_MUTUAL_AUTH_FAILED => 1397,
+ ERROR_TIME_SKEW => 1398,
+ ERROR_CURRENT_DOMAIN_NOT_ALLOWED => 1399,
+ ERROR_INVALID_WINDOW_HANDLE => 1400,
+ ERROR_INVALID_MENU_HANDLE => 1401,
+ ERROR_INVALID_CURSOR_HANDLE => 1402,
+ ERROR_INVALID_ACCEL_HANDLE => 1403,
+ ERROR_INVALID_HOOK_HANDLE => 1404,
+ ERROR_INVALID_DWP_HANDLE => 1405,
+ ERROR_TLW_WITH_WSCHILD => 1406,
+ ERROR_CANNOT_FIND_WND_CLASS => 1407,
+ ERROR_WINDOW_OF_OTHER_THREAD => 1408,
+ ERROR_HOTKEY_ALREADY_REGISTERED => 1409,
+ ERROR_CLASS_ALREADY_EXISTS => 1410,
+ ERROR_CLASS_DOES_NOT_EXIST => 1411,
+ ERROR_CLASS_HAS_WINDOWS => 1412,
+ ERROR_INVALID_INDEX => 1413,
+ ERROR_INVALID_ICON_HANDLE => 1414,
+ ERROR_PRIVATE_DIALOG_INDEX => 1415,
+ ERROR_LISTBOX_ID_NOT_FOUND => 1416,
+ ERROR_NO_WILDCARD_CHARACTERS => 1417,
+ ERROR_CLIPBOARD_NOT_OPEN => 1418,
+ ERROR_HOTKEY_NOT_REGISTERED => 1419,
+ ERROR_WINDOW_NOT_DIALOG => 1420,
+ ERROR_CONTROL_ID_NOT_FOUND => 1421,
+ ERROR_INVALID_COMBOBOX_MESSAGE => 1422,
+ ERROR_WINDOW_NOT_COMBOBOX => 1423,
+ ERROR_INVALID_EDIT_HEIGHT => 1424,
+ ERROR_DC_NOT_FOUND => 1425,
+ ERROR_INVALID_HOOK_FILTER => 1426,
+ ERROR_INVALID_FILTER_PROC => 1427,
+ ERROR_HOOK_NEEDS_HMOD => 1428,
+ ERROR_GLOBAL_ONLY_HOOK => 1429,
+ ERROR_JOURNAL_HOOK_SET => 1430,
+ ERROR_HOOK_NOT_INSTALLED => 1431,
+ ERROR_INVALID_LB_MESSAGE => 1432,
+ ERROR_SETCOUNT_ON_BAD_LB => 1433,
+ ERROR_LB_WITHOUT_TABSTOPS => 1434,
+ ERROR_DESTROY_OBJECT_OF_OTHER_THREAD => 1435,
+ ERROR_CHILD_WINDOW_MENU => 1436,
+ ERROR_NO_SYSTEM_MENU => 1437,
+ ERROR_INVALID_MSGBOX_STYLE => 1438,
+ ERROR_INVALID_SPI_VALUE => 1439,
+ ERROR_SCREEN_ALREADY_LOCKED => 1440,
+ ERROR_HWNDS_HAVE_DIFF_PARENT => 1441,
+ ERROR_NOT_CHILD_WINDOW => 1442,
+ ERROR_INVALID_GW_COMMAND => 1443,
+ ERROR_INVALID_THREAD_ID => 1444,
+ ERROR_NON_MDICHILD_WINDOW => 1445,
+ ERROR_POPUP_ALREADY_ACTIVE => 1446,
+ ERROR_NO_SCROLLBARS => 1447,
+ ERROR_INVALID_SCROLLBAR_RANGE => 1448,
+ ERROR_INVALID_SHOWWIN_COMMAND => 1449,
+ ERROR_NO_SYSTEM_RESOURCES => 1450,
+ ERROR_NONPAGED_SYSTEM_RESOURCES => 1451,
+ ERROR_PAGED_SYSTEM_RESOURCES => 1452,
+ ERROR_WORKING_SET_QUOTA => 1453,
+ ERROR_PAGEFILE_QUOTA => 1454,
+ ERROR_COMMITMENT_LIMIT => 1455,
+ ERROR_MENU_ITEM_NOT_FOUND => 1456,
+ ERROR_INVALID_KEYBOARD_HANDLE => 1457,
+ ERROR_HOOK_TYPE_NOT_ALLOWED => 1458,
+ ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION => 1459,
+ ERROR_TIMEOUT => 1460,
+ ERROR_INVALID_MONITOR_HANDLE => 1461,
+ ERROR_EVENTLOG_FILE_CORRUPT => 1500,
+ ERROR_EVENTLOG_CANT_START => 1501,
+ ERROR_LOG_FILE_FULL => 1502,
+ ERROR_EVENTLOG_FILE_CHANGED => 1503,
+ EN_HSCROLL => 1537,
+ EN_VSCROLL => 1538,
+ ERROR_INSTALL_SERVICE_FAILURE => 1601,
+ ERROR_INSTALL_USEREXIT => 1602,
+ ERROR_INSTALL_FAILURE => 1603,
+ ERROR_INSTALL_SUSPEND => 1604,
+ ERROR_UNKNOWN_PRODUCT => 1605,
+ ERROR_UNKNOWN_FEATURE => 1606,
+ ERROR_UNKNOWN_COMPONENT => 1607,
+ ERROR_UNKNOWN_PROPERTY => 1608,
+ ERROR_INVALID_HANDLE_STATE => 1609,
+ ERROR_BAD_CONFIGURATION => 1610,
+ ERROR_INDEX_ABSENT => 1611,
+ ERROR_INSTALL_SOURCE_ABSENT => 1612,
+ ERROR_INSTALL_PACKAGE_VERSION => 1613,
+ ERROR_PRODUCT_UNINSTALLED => 1614,
+ ERROR_BAD_QUERY_SYNTAX => 1615,
+ ERROR_INVALID_FIELD => 1616,
+ ERROR_DEVICE_REMOVED => 1617,
+ ERROR_INSTALL_ALREADY_RUNNING => 1618,
+ ERROR_INSTALL_PACKAGE_OPEN_FAILED => 1619,
+ ERROR_INSTALL_PACKAGE_INVALID => 1620,
+ ERROR_INSTALL_UI_FAILURE => 1621,
+ ERROR_INSTALL_LOG_FAILURE => 1622,
+ ERROR_INSTALL_LANGUAGE_UNSUPPORTED => 1623,
+ ERROR_INSTALL_TRANSFORM_FAILURE => 1624,
+ ERROR_INSTALL_PACKAGE_REJECTED => 1625,
+ ERROR_FUNCTION_NOT_CALLED => 1626,
+ ERROR_FUNCTION_FAILED => 1627,
+ ERROR_INVALID_TABLE => 1628,
+ ERROR_DATATYPE_MISMATCH => 1629,
+ ERROR_UNSUPPORTED_TYPE => 1630,
+ ERROR_CREATE_FAILED => 1631,
+ ERROR_INSTALL_TEMP_UNWRITABLE => 1632,
+ ERROR_INSTALL_PLATFORM_UNSUPPORTED => 1633,
+ ERROR_INSTALL_NOTUSED => 1634,
+ ERROR_PATCH_PACKAGE_OPEN_FAILED => 1635,
+ ERROR_PATCH_PACKAGE_INVALID => 1636,
+ ERROR_PATCH_PACKAGE_UNSUPPORTED => 1637,
+ ERROR_PRODUCT_VERSION => 1638,
+ ERROR_INVALID_COMMAND_LINE => 1639,
+ ERROR_INSTALL_REMOTE_DISALLOWED => 1640,
+ ERROR_SUCCESS_REBOOT_INITIATED => 1641,
+ ERROR_PATCH_TARGET_NOT_FOUND => 1642,
+ ERROR_PATCH_PACKAGE_REJECTED => 1643,
+ ERROR_INSTALL_TRANSFORM_REJECTED => 1644,
+ ERROR_INSTALL_REMOTE_PROHIBITED => 1645,
+ EPT_S_INVALID_ENTRY => 1751,
+ EPT_S_CANT_PERFORM_OP => 1752,
+ EPT_S_NOT_REGISTERED => 1753,
+ ERROR_INVALID_USER_BUFFER => 1784,
+ ERROR_UNRECOGNIZED_MEDIA => 1785,
+ ERROR_NO_TRUST_LSA_SECRET => 1786,
+ ERROR_NO_TRUST_SAM_ACCOUNT => 1787,
+ ERROR_TRUSTED_DOMAIN_FAILURE => 1788,
+ ERROR_TRUSTED_RELATIONSHIP_FAILURE => 1789,
+ ERROR_TRUST_FAILURE => 1790,
+ ERROR_NETLOGON_NOT_STARTED => 1792,
+ ERROR_ACCOUNT_EXPIRED => 1793,
+ ERROR_REDIRECTOR_HAS_OPEN_HANDLES => 1794,
+ ERROR_PRINTER_DRIVER_ALREADY_INSTALLED => 1795,
+ ERROR_UNKNOWN_PORT => 1796,
+ ERROR_UNKNOWN_PRINTER_DRIVER => 1797,
+ ERROR_UNKNOWN_PRINTPROCESSOR => 1798,
+ ERROR_INVALID_SEPARATOR_FILE => 1799,
+ ERROR_INVALID_PRIORITY => 1800,
+ ERROR_INVALID_PRINTER_NAME => 1801,
+ ERROR_PRINTER_ALREADY_EXISTS => 1802,
+ ERROR_INVALID_PRINTER_COMMAND => 1803,
+ ERROR_INVALID_DATATYPE => 1804,
+ ERROR_INVALID_ENVIRONMENT => 1805,
+ ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT => 1807,
+ ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT => 1808,
+ ERROR_NOLOGON_SERVER_TRUST_ACCOUNT => 1809,
+ ERROR_DOMAIN_TRUST_INCONSISTENT => 1810,
+ ERROR_SERVER_HAS_OPEN_HANDLES => 1811,
+ ERROR_RESOURCE_DATA_NOT_FOUND => 1812,
+ ERROR_RESOURCE_TYPE_NOT_FOUND => 1813,
+ ERROR_RESOURCE_NAME_NOT_FOUND => 1814,
+ ERROR_RESOURCE_LANG_NOT_FOUND => 1815,
+ ERROR_NOT_ENOUGH_QUOTA => 1816,
+ EPT_S_CANT_CREATE => 1899,
+ ERROR_INVALID_TIME => 1901,
+ ERROR_INVALID_FORM_NAME => 1902,
+ ERROR_INVALID_FORM_SIZE => 1903,
+ ERROR_ALREADY_WAITING => 1904,
+ ERROR_PRINTER_DELETED => 1905,
+ ERROR_INVALID_PRINTER_STATE => 1906,
+ ERROR_PASSWORD_MUST_CHANGE => 1907,
+ ERROR_DOMAIN_CONTROLLER_NOT_FOUND => 1908,
+ ERROR_ACCOUNT_LOCKED_OUT => 1909,
+ ERROR_NO_SITENAME => 1919,
+ ERROR_CANT_ACCESS_FILE => 1920,
+ ERROR_CANT_RESOLVE_FILENAME => 1921,
+ ERROR_KM_DRIVER_BLOCKED => 1930,
+ ERROR_CONTEXT_EXPIRED => 1931,
+ ERROR_PER_USER_TRUST_QUOTA_EXCEEDED => 1932,
+ ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED => 1933,
+ ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED => 1934,
+ ERROR_INVALID_PIXEL_FORMAT => 2000,
+ ERROR_BAD_DRIVER => 2001,
+ ERROR_INVALID_WINDOW_STYLE => 2002,
+ ERROR_METAFILE_NOT_SUPPORTED => 2003,
+ ERROR_TRANSFORM_NOT_SUPPORTED => 2004,
+ ERROR_CLIPPING_NOT_SUPPORTED => 2005,
+ ERROR_INVALID_CMM => 2010,
+ ERROR_INVALID_PROFILE => 2011,
+ ERROR_TAG_NOT_FOUND => 2012,
+ ERROR_TAG_NOT_PRESENT => 2013,
+ ERROR_DUPLICATE_TAG => 2014,
+ ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE => 2015,
+ ERROR_PROFILE_NOT_FOUND => 2016,
+ ERROR_INVALID_COLORSPACE => 2017,
+ ERROR_ICM_NOT_ENABLED => 2018,
+ ERROR_DELETING_ICM_XFORM => 2019,
+ ERROR_INVALID_TRANSFORM => 2020,
+ ERROR_COLORSPACE_MISMATCH => 2021,
+ ERROR_INVALID_COLORINDEX => 2022,
+ ETO_NUMERICSLATIN => 2048,
+ EV_EVENT1 => 2048,
+ ES_READONLY => 2048,
+ ERROR_CONNECTED_OTHER_PASSWORD => 2108,
+ ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT => 2109,
+ ERROR_BAD_USERNAME => 2202,
+ ERROR_NOT_CONNECTED => 2250,
+ ERROR_OPEN_FILES => 2401,
+ ERROR_ACTIVE_CONNECTIONS => 2402,
+ ERROR_DEVICE_IN_USE => 2404,
+ ERROR_UNKNOWN_PRINT_MONITOR => 3000,
+ ERROR_PRINTER_DRIVER_IN_USE => 3001,
+ ERROR_SPOOL_FILE_NOT_FOUND => 3002,
+ ERROR_SPL_NO_STARTDOC => 3003,
+ ERROR_SPL_NO_ADDJOB => 3004,
+ ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED => 3005,
+ ERROR_PRINT_MONITOR_ALREADY_INSTALLED => 3006,
+ ERROR_INVALID_PRINT_MONITOR => 3007,
+ ERROR_PRINT_MONITOR_IN_USE => 3008,
+ ERROR_PRINTER_HAS_JOBS_QUEUED => 3009,
+ ERROR_SUCCESS_REBOOT_REQUIRED => 3010,
+ ERROR_SUCCESS_RESTART_REQUIRED => 3011,
+ ERROR_PRINTER_NOT_FOUND => 3012,
+ ERROR_PRINTER_DRIVER_WARNED => 3013,
+ ERROR_PRINTER_DRIVER_BLOCKED => 3014,
+ ERROR_WINS_INTERNAL => 4000,
+ ERROR_CAN_NOT_DEL_LOCAL_WINS => 4001,
+ ERROR_STATIC_INIT => 4002,
+ ERROR_INC_BACKUP => 4003,
+ ERROR_FULL_BACKUP => 4004,
+ ERROR_REC_NON_EXISTENT => 4005,
+ ERROR_RPL_NOT_ALLOWED => 4006,
+ ETO_IGNORELANGUAGE => 4096,
+ EV_EVENT2 => 4096,
+ ES_WANTRETURN => 4096,
+ END_PATH => 4098,
+ EXT_DEVICE_CAPS => 4099,
+ ERROR_DHCP_ADDRESS_CONFLICT => 4100,
+ ENCAPSULATED_POSTSCRIPT => 4116,
+ ERROR_WMI_GUID_NOT_FOUND => 4200,
+ ERROR_WMI_INSTANCE_NOT_FOUND => 4201,
+ ERROR_WMI_ITEMID_NOT_FOUND => 4202,
+ ERROR_WMI_TRY_AGAIN => 4203,
+ ERROR_WMI_DP_NOT_FOUND => 4204,
+ ERROR_WMI_UNRESOLVED_INSTANCE_REF => 4205,
+ ERROR_WMI_ALREADY_ENABLED => 4206,
+ ERROR_WMI_GUID_DISCONNECTED => 4207,
+ ERROR_WMI_SERVER_UNAVAILABLE => 4208,
+ ERROR_WMI_DP_FAILED => 4209,
+ ERROR_WMI_INVALID_MOF => 4210,
+ ERROR_WMI_INVALID_REGINFO => 4211,
+ ERROR_WMI_ALREADY_DISABLED => 4212,
+ ERROR_WMI_READ_ONLY => 4213,
+ ERROR_WMI_SET_FAILURE => 4214,
+ ERROR_INVALID_MEDIA => 4300,
+ ERROR_INVALID_LIBRARY => 4301,
+ ERROR_INVALID_MEDIA_POOL => 4302,
+ ERROR_DRIVE_MEDIA_MISMATCH => 4303,
+ ERROR_MEDIA_OFFLINE => 4304,
+ ERROR_LIBRARY_OFFLINE => 4305,
+ ERROR_EMPTY => 4306,
+ ERROR_NOT_EMPTY => 4307,
+ ERROR_MEDIA_UNAVAILABLE => 4308,
+ ERROR_RESOURCE_DISABLED => 4309,
+ ERROR_INVALID_CLEANER => 4310,
+ ERROR_UNABLE_TO_CLEAN => 4311,
+ ERROR_OBJECT_NOT_FOUND => 4312,
+ ERROR_DATABASE_FAILURE => 4313,
+ ERROR_DATABASE_FULL => 4314,
+ ERROR_MEDIA_INCOMPATIBLE => 4315,
+ ERROR_RESOURCE_NOT_PRESENT => 4316,
+ ERROR_INVALID_OPERATION => 4317,
+ ERROR_MEDIA_NOT_AVAILABLE => 4318,
+ ERROR_DEVICE_NOT_AVAILABLE => 4319,
+ ERROR_REQUEST_REFUSED => 4320,
+ ERROR_INVALID_DRIVE_OBJECT => 4321,
+ ERROR_LIBRARY_FULL => 4322,
+ ERROR_MEDIUM_NOT_ACCESSIBLE => 4323,
+ ERROR_UNABLE_TO_LOAD_MEDIUM => 4324,
+ ERROR_UNABLE_TO_INVENTORY_DRIVE => 4325,
+ ERROR_UNABLE_TO_INVENTORY_SLOT => 4326,
+ ERROR_UNABLE_TO_INVENTORY_TRANSPORT => 4327,
+ ERROR_TRANSPORT_FULL => 4328,
+ ERROR_CONTROLLING_IEPORT => 4329,
+ ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA => 4330,
+ ERROR_CLEANER_SLOT_SET => 4331,
+ ERROR_CLEANER_SLOT_NOT_SET => 4332,
+ ERROR_CLEANER_CARTRIDGE_SPENT => 4333,
+ ERROR_UNEXPECTED_OMID => 4334,
+ ERROR_CANT_DELETE_LAST_ITEM => 4335,
+ ERROR_MESSAGE_EXCEEDS_MAX_SIZE => 4336,
+ ERROR_VOLUME_CONTAINS_SYS_FILES => 4337,
+ ERROR_INDIGENOUS_TYPE => 4338,
+ ERROR_NO_SUPPORTING_DRIVES => 4339,
+ ERROR_CLEANER_CARTRIDGE_INSTALLED => 4340,
+ ERROR_FILE_OFFLINE => 4350,
+ ERROR_REMOTE_STORAGE_NOT_ACTIVE => 4351,
+ ERROR_REMOTE_STORAGE_MEDIA_ERROR => 4352,
+ ERROR_NOT_A_REPARSE_POINT => 4390,
+ ERROR_REPARSE_ATTRIBUTE_CONFLICT => 4391,
+ ERROR_INVALID_REPARSE_DATA => 4392,
+ ERROR_REPARSE_TAG_INVALID => 4393,
+ ERROR_REPARSE_TAG_MISMATCH => 4394,
+ ERROR_VOLUME_NOT_SIS_ENABLED => 4500,
+ ERROR_DEPENDENT_RESOURCE_EXISTS => 5001,
+ ERROR_DEPENDENCY_NOT_FOUND => 5002,
+ ERROR_DEPENDENCY_ALREADY_EXISTS => 5003,
+ ERROR_RESOURCE_NOT_ONLINE => 5004,
+ ERROR_HOST_NODE_NOT_AVAILABLE => 5005,
+ ERROR_RESOURCE_NOT_AVAILABLE => 5006,
+ ERROR_RESOURCE_NOT_FOUND => 5007,
+ ERROR_SHUTDOWN_CLUSTER => 5008,
+ ERROR_CANT_EVICT_ACTIVE_NODE => 5009,
+ ERROR_OBJECT_ALREADY_EXISTS => 5010,
+ ERROR_OBJECT_IN_LIST => 5011,
+ ERROR_GROUP_NOT_AVAILABLE => 5012,
+ ERROR_GROUP_NOT_FOUND => 5013,
+ ERROR_GROUP_NOT_ONLINE => 5014,
+ ERROR_HOST_NODE_NOT_RESOURCE_OWNER => 5015,
+ ERROR_HOST_NODE_NOT_GROUP_OWNER => 5016,
+ ERROR_RESMON_CREATE_FAILED => 5017,
+ ERROR_RESMON_ONLINE_FAILED => 5018,
+ ERROR_RESOURCE_ONLINE => 5019,
+ ERROR_QUORUM_RESOURCE => 5020,
+ ERROR_NOT_QUORUM_CAPABLE => 5021,
+ ERROR_CLUSTER_SHUTTING_DOWN => 5022,
+ ERROR_INVALID_STATE => 5023,
+ ERROR_RESOURCE_PROPERTIES_STORED => 5024,
+ ERROR_NOT_QUORUM_CLASS => 5025,
+ ERROR_CORE_RESOURCE => 5026,
+ ERROR_QUORUM_RESOURCE_ONLINE_FAILED => 5027,
+ ERROR_QUORUMLOG_OPEN_FAILED => 5028,
+ ERROR_CLUSTERLOG_CORRUPT => 5029,
+ ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE => 5030,
+ ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE => 5031,
+ ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND => 5032,
+ ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE => 5033,
+ ERROR_QUORUM_OWNER_ALIVE => 5034,
+ ERROR_NETWORK_NOT_AVAILABLE => 5035,
+ ERROR_NODE_NOT_AVAILABLE => 5036,
+ ERROR_ALL_NODES_NOT_AVAILABLE => 5037,
+ ERROR_RESOURCE_FAILED => 5038,
+ ERROR_CLUSTER_INVALID_NODE => 5039,
+ ERROR_CLUSTER_NODE_EXISTS => 5040,
+ ERROR_CLUSTER_JOIN_IN_PROGRESS => 5041,
+ ERROR_CLUSTER_NODE_NOT_FOUND => 5042,
+ ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND => 5043,
+ ERROR_CLUSTER_NETWORK_EXISTS => 5044,
+ ERROR_CLUSTER_NETWORK_NOT_FOUND => 5045,
+ ERROR_CLUSTER_NETINTERFACE_EXISTS => 5046,
+ ERROR_CLUSTER_NETINTERFACE_NOT_FOUND => 5047,
+ ERROR_CLUSTER_INVALID_REQUEST => 5048,
+ ERROR_CLUSTER_INVALID_NETWORK_PROVIDER => 5049,
+ ERROR_CLUSTER_NODE_DOWN => 5050,
+ ERROR_CLUSTER_NODE_UNREACHABLE => 5051,
+ ERROR_CLUSTER_NODE_NOT_MEMBER => 5052,
+ ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS => 5053,
+ ERROR_CLUSTER_INVALID_NETWORK => 5054,
+ ERROR_CLUSTER_NODE_UP => 5056,
+ ERROR_CLUSTER_IPADDR_IN_USE => 5057,
+ ERROR_CLUSTER_NODE_NOT_PAUSED => 5058,
+ ERROR_CLUSTER_NO_SECURITY_CONTEXT => 5059,
+ ERROR_CLUSTER_NETWORK_NOT_INTERNAL => 5060,
+ ERROR_CLUSTER_NODE_ALREADY_UP => 5061,
+ ERROR_CLUSTER_NODE_ALREADY_DOWN => 5062,
+ ERROR_CLUSTER_NETWORK_ALREADY_ONLINE => 5063,
+ ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE => 5064,
+ ERROR_CLUSTER_NODE_ALREADY_MEMBER => 5065,
+ ERROR_CLUSTER_LAST_INTERNAL_NETWORK => 5066,
+ ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS => 5067,
+ ERROR_INVALID_OPERATION_ON_QUORUM => 5068,
+ ERROR_DEPENDENCY_NOT_ALLOWED => 5069,
+ ERROR_CLUSTER_NODE_PAUSED => 5070,
+ ERROR_NODE_CANT_HOST_RESOURCE => 5071,
+ ERROR_CLUSTER_NODE_NOT_READY => 5072,
+ ERROR_CLUSTER_NODE_SHUTTING_DOWN => 5073,
+ ERROR_CLUSTER_JOIN_ABORTED => 5074,
+ ERROR_CLUSTER_INCOMPATIBLE_VERSIONS => 5075,
+ ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED => 5076,
+ ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED => 5077,
+ ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND => 5078,
+ ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED => 5079,
+ ERROR_CLUSTER_RESNAME_NOT_FOUND => 5080,
+ ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED => 5081,
+ ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST => 5082,
+ ERROR_CLUSTER_DATABASE_SEQMISMATCH => 5083,
+ ERROR_RESMON_INVALID_STATE => 5084,
+ ERROR_CLUSTER_GUM_NOT_LOCKER => 5085,
+ ERROR_QUORUM_DISK_NOT_FOUND => 5086,
+ ERROR_DATABASE_BACKUP_CORRUPT => 5087,
+ ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT => 5088,
+ ERROR_RESOURCE_PROPERTY_UNCHANGEABLE => 5089,
+ ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE => 5890,
+ ERROR_CLUSTER_QUORUMLOG_NOT_FOUND => 5891,
+ ERROR_CLUSTER_MEMBERSHIP_HALT => 5892,
+ ERROR_CLUSTER_INSTANCE_ID_MISMATCH => 5893,
+ ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP => 5894,
+ ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH => 5895,
+ ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP => 5896,
+ ERROR_CLUSTER_PARAMETER_MISMATCH => 5897,
+ ERROR_NODE_CANNOT_BE_CLUSTERED => 5898,
+ ERROR_CLUSTER_WRONG_OS_VERSION => 5899,
+ ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME => 5900,
+ ERROR_CLUSCFG_ALREADY_COMMITTED => 5901,
+ ERROR_CLUSCFG_ROLLBACK_FAILED => 5902,
+ ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT => 5903,
+ ERROR_CLUSTER_OLD_VERSION => 5904,
+ ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME => 5905,
+ ERROR_ENCRYPTION_FAILED => 6000,
+ ERROR_DECRYPTION_FAILED => 6001,
+ ERROR_FILE_ENCRYPTED => 6002,
+ ERROR_NO_RECOVERY_POLICY => 6003,
+ ERROR_NO_EFS => 6004,
+ ERROR_WRONG_EFS => 6005,
+ ERROR_NO_USER_KEYS => 6006,
+ ERROR_FILE_NOT_ENCRYPTED => 6007,
+ ERROR_NOT_EXPORT_FORMAT => 6008,
+ ERROR_FILE_READ_ONLY => 6009,
+ ERROR_DIR_EFS_DISALLOWED => 6010,
+ ERROR_EFS_SERVER_NOT_TRUSTED => 6011,
+ ERROR_BAD_RECOVERY_POLICY => 6012,
+ ERROR_EFS_ALG_BLOB_TOO_BIG => 6013,
+ ERROR_VOLUME_NOT_SUPPORT_EFS => 6014,
+ ERROR_EFS_DISABLED => 6015,
+ ERROR_EFS_VERSION_NOT_SUPPORT => 6016,
+ ERROR_NO_BROWSER_SERVERS_FOUND => 6118,
+ ERROR_CTX_WINSTATION_NAME_INVALID => 7001,
+ ERROR_CTX_INVALID_PD => 7002,
+ ERROR_CTX_PD_NOT_FOUND => 7003,
+ ERROR_CTX_WD_NOT_FOUND => 7004,
+ ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY => 7005,
+ ERROR_CTX_SERVICE_NAME_COLLISION => 7006,
+ ERROR_CTX_CLOSE_PENDING => 7007,
+ ERROR_CTX_NO_OUTBUF => 7008,
+ ERROR_CTX_MODEM_INF_NOT_FOUND => 7009,
+ ERROR_CTX_INVALID_MODEMNAME => 7010,
+ ERROR_CTX_MODEM_RESPONSE_ERROR => 7011,
+ ERROR_CTX_MODEM_RESPONSE_TIMEOUT => 7012,
+ ERROR_CTX_MODEM_RESPONSE_NO_CARRIER => 7013,
+ ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE => 7014,
+ ERROR_CTX_MODEM_RESPONSE_BUSY => 7015,
+ ERROR_CTX_MODEM_RESPONSE_VOICE => 7016,
+ ERROR_CTX_TD_ERROR => 7017,
+ ERROR_CTX_WINSTATION_NOT_FOUND => 7022,
+ ERROR_CTX_WINSTATION_ALREADY_EXISTS => 7023,
+ ERROR_CTX_WINSTATION_BUSY => 7024,
+ ERROR_CTX_BAD_VIDEO_MODE => 7025,
+ ERROR_CTX_GRAPHICS_INVALID => 7035,
+ ERROR_CTX_LOGON_DISABLED => 7037,
+ ERROR_CTX_NOT_CONSOLE => 7038,
+ ERROR_CTX_CLIENT_QUERY_TIMEOUT => 7040,
+ ERROR_CTX_CONSOLE_DISCONNECT => 7041,
+ ERROR_CTX_CONSOLE_CONNECT => 7042,
+ ERROR_CTX_SHADOW_DENIED => 7044,
+ ERROR_CTX_WINSTATION_ACCESS_DENIED => 7045,
+ ERROR_CTX_INVALID_WD => 7049,
+ ERROR_CTX_SHADOW_INVALID => 7050,
+ ERROR_CTX_SHADOW_DISABLED => 7051,
+ ERROR_CTX_CLIENT_LICENSE_IN_USE => 7052,
+ ERROR_CTX_CLIENT_LICENSE_NOT_SET => 7053,
+ ERROR_CTX_LICENSE_NOT_AVAILABLE => 7054,
+ ERROR_CTX_LICENSE_CLIENT_INVALID => 7055,
+ ERROR_CTX_LICENSE_EXPIRED => 7056,
+ ERROR_CTX_SHADOW_NOT_RUNNING => 7057,
+ ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE => 7058,
+ ERROR_ACTIVATION_COUNT_EXCEEDED => 7059,
+ ES_NUMBER => 8192,
+ ERROR_DS_NOT_INSTALLED => 8200,
+ ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY => 8201,
+ ERROR_DS_NO_ATTRIBUTE_OR_VALUE => 8202,
+ ERROR_DS_INVALID_ATTRIBUTE_SYNTAX => 8203,
+ ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED => 8204,
+ ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS => 8205,
+ ERROR_DS_BUSY => 8206,
+ ERROR_DS_UNAVAILABLE => 8207,
+ ERROR_DS_NO_RIDS_ALLOCATED => 8208,
+ ERROR_DS_NO_MORE_RIDS => 8209,
+ ERROR_DS_INCORRECT_ROLE_OWNER => 8210,
+ ERROR_DS_RIDMGR_INIT_ERROR => 8211,
+ ERROR_DS_OBJ_CLASS_VIOLATION => 8212,
+ ERROR_DS_CANT_ON_NON_LEAF => 8213,
+ ERROR_DS_CANT_ON_RDN => 8214,
+ ERROR_DS_CANT_MOD_OBJ_CLASS => 8215,
+ ERROR_DS_CROSS_DOM_MOVE_ERROR => 8216,
+ ERROR_DS_GC_NOT_AVAILABLE => 8217,
+ ERROR_SHARED_POLICY => 8218,
+ ERROR_POLICY_OBJECT_NOT_FOUND => 8219,
+ ERROR_POLICY_ONLY_IN_DS => 8220,
+ ERROR_PROMOTION_ACTIVE => 8221,
+ ERROR_NO_PROMOTION_ACTIVE => 8222,
+ ERROR_DS_OPERATIONS_ERROR => 8224,
+ ERROR_DS_PROTOCOL_ERROR => 8225,
+ ERROR_DS_TIMELIMIT_EXCEEDED => 8226,
+ ERROR_DS_SIZELIMIT_EXCEEDED => 8227,
+ ERROR_DS_ADMIN_LIMIT_EXCEEDED => 8228,
+ ERROR_DS_COMPARE_FALSE => 8229,
+ ERROR_DS_COMPARE_TRUE => 8230,
+ ERROR_DS_AUTH_METHOD_NOT_SUPPORTED => 8231,
+ ERROR_DS_STRONG_AUTH_REQUIRED => 8232,
+ ERROR_DS_INAPPROPRIATE_AUTH => 8233,
+ ERROR_DS_AUTH_UNKNOWN => 8234,
+ ERROR_DS_REFERRAL => 8235,
+ ERROR_DS_UNAVAILABLE_CRIT_EXTENSION => 8236,
+ ERROR_DS_CONFIDENTIALITY_REQUIRED => 8237,
+ ERROR_DS_INAPPROPRIATE_MATCHING => 8238,
+ ERROR_DS_CONSTRAINT_VIOLATION => 8239,
+ ERROR_DS_NO_SUCH_OBJECT => 8240,
+ ERROR_DS_ALIAS_PROBLEM => 8241,
+ ERROR_DS_INVALID_DN_SYNTAX => 8242,
+ ERROR_DS_IS_LEAF => 8243,
+ ERROR_DS_ALIAS_DEREF_PROBLEM => 8244,
+ ERROR_DS_UNWILLING_TO_PERFORM => 8245,
+ ERROR_DS_LOOP_DETECT => 8246,
+ ERROR_DS_NAMING_VIOLATION => 8247,
+ ERROR_DS_OBJECT_RESULTS_TOO_LARGE => 8248,
+ ERROR_DS_AFFECTS_MULTIPLE_DSAS => 8249,
+ ERROR_DS_SERVER_DOWN => 8250,
+ ERROR_DS_LOCAL_ERROR => 8251,
+ ERROR_DS_ENCODING_ERROR => 8252,
+ ERROR_DS_DECODING_ERROR => 8253,
+ ERROR_DS_FILTER_UNKNOWN => 8254,
+ ERROR_DS_PARAM_ERROR => 8255,
+ ERROR_DS_NOT_SUPPORTED => 8256,
+ ERROR_DS_NO_RESULTS_RETURNED => 8257,
+ ERROR_DS_CONTROL_NOT_FOUND => 8258,
+ ERROR_DS_CLIENT_LOOP => 8259,
+ ERROR_DS_REFERRAL_LIMIT_EXCEEDED => 8260,
+ ERROR_DS_SORT_CONTROL_MISSING => 8261,
+ ERROR_DS_OFFSET_RANGE_ERROR => 8262,
+ ERROR_DS_ROOT_MUST_BE_NC => 8301,
+ ERROR_DS_ADD_REPLICA_INHIBITED => 8302,
+ ERROR_DS_ATT_NOT_DEF_IN_SCHEMA => 8303,
+ ERROR_DS_MAX_OBJ_SIZE_EXCEEDED => 8304,
+ ERROR_DS_OBJ_STRING_NAME_EXISTS => 8305,
+ ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA => 8306,
+ ERROR_DS_RDN_DOESNT_MATCH_SCHEMA => 8307,
+ ERROR_DS_NO_REQUESTED_ATTS_FOUND => 8308,
+ ERROR_DS_USER_BUFFER_TO_SMALL => 8309,
+ ERROR_DS_ATT_IS_NOT_ON_OBJ => 8310,
+ ERROR_DS_ILLEGAL_MOD_OPERATION => 8311,
+ ERROR_DS_OBJ_TOO_LARGE => 8312,
+ ERROR_DS_BAD_INSTANCE_TYPE => 8313,
+ ERROR_DS_MASTERDSA_REQUIRED => 8314,
+ ERROR_DS_OBJECT_CLASS_REQUIRED => 8315,
+ ERROR_DS_MISSING_REQUIRED_ATT => 8316,
+ ERROR_DS_ATT_NOT_DEF_FOR_CLASS => 8317,
+ ERROR_DS_ATT_ALREADY_EXISTS => 8318,
+ ERROR_DS_CANT_ADD_ATT_VALUES => 8320,
+ ERROR_DS_SINGLE_VALUE_CONSTRAINT => 8321,
+ ERROR_DS_RANGE_CONSTRAINT => 8322,
+ ERROR_DS_ATT_VAL_ALREADY_EXISTS => 8323,
+ ERROR_DS_CANT_REM_MISSING_ATT => 8324,
+ ERROR_DS_CANT_REM_MISSING_ATT_VAL => 8325,
+ ERROR_DS_ROOT_CANT_BE_SUBREF => 8326,
+ ERROR_DS_NO_CHAINING => 8327,
+ ERROR_DS_NO_CHAINED_EVAL => 8328,
+ ERROR_DS_NO_PARENT_OBJECT => 8329,
+ ERROR_DS_PARENT_IS_AN_ALIAS => 8330,
+ ERROR_DS_CANT_MIX_MASTER_AND_REPS => 8331,
+ ERROR_DS_CHILDREN_EXIST => 8332,
+ ERROR_DS_OBJ_NOT_FOUND => 8333,
+ ERROR_DS_ALIASED_OBJ_MISSING => 8334,
+ ERROR_DS_BAD_NAME_SYNTAX => 8335,
+ ERROR_DS_ALIAS_POINTS_TO_ALIAS => 8336,
+ ERROR_DS_CANT_DEREF_ALIAS => 8337,
+ ERROR_DS_OUT_OF_SCOPE => 8338,
+ ERROR_DS_OBJECT_BEING_REMOVED => 8339,
+ ERROR_DS_CANT_DELETE_DSA_OBJ => 8340,
+ ERROR_DS_GENERIC_ERROR => 8341,
+ ERROR_DS_DSA_MUST_BE_INT_MASTER => 8342,
+ ERROR_DS_CLASS_NOT_DSA => 8343,
+ ERROR_DS_INSUFF_ACCESS_RIGHTS => 8344,
+ ERROR_DS_ILLEGAL_SUPERIOR => 8345,
+ ERROR_DS_ATTRIBUTE_OWNED_BY_SAM => 8346,
+ ERROR_DS_NAME_TOO_MANY_PARTS => 8347,
+ ERROR_DS_NAME_TOO_LONG => 8348,
+ ERROR_DS_NAME_VALUE_TOO_LONG => 8349,
+ ERROR_DS_NAME_UNPARSEABLE => 8350,
+ ERROR_DS_NAME_TYPE_UNKNOWN => 8351,
+ ERROR_DS_NOT_AN_OBJECT => 8352,
+ ERROR_DS_SEC_DESC_TOO_SHORT => 8353,
+ ERROR_DS_SEC_DESC_INVALID => 8354,
+ ERROR_DS_NO_DELETED_NAME => 8355,
+ ERROR_DS_SUBREF_MUST_HAVE_PARENT => 8356,
+ ERROR_DS_NCNAME_MUST_BE_NC => 8357,
+ ERROR_DS_CANT_ADD_SYSTEM_ONLY => 8358,
+ ERROR_DS_CLASS_MUST_BE_CONCRETE => 8359,
+ ERROR_DS_INVALID_DMD => 8360,
+ ERROR_DS_OBJ_GUID_EXISTS => 8361,
+ ERROR_DS_NOT_ON_BACKLINK => 8362,
+ ERROR_DS_NO_CROSSREF_FOR_NC => 8363,
+ ERROR_DS_SHUTTING_DOWN => 8364,
+ ERROR_DS_UNKNOWN_OPERATION => 8365,
+ ERROR_DS_INVALID_ROLE_OWNER => 8366,
+ ERROR_DS_COULDNT_CONTACT_FSMO => 8367,
+ ERROR_DS_CROSS_NC_DN_RENAME => 8368,
+ ERROR_DS_CANT_MOD_SYSTEM_ONLY => 8369,
+ ERROR_DS_REPLICATOR_ONLY => 8370,
+ ERROR_DS_OBJ_CLASS_NOT_DEFINED => 8371,
+ ERROR_DS_OBJ_CLASS_NOT_SUBCLASS => 8372,
+ ERROR_DS_NAME_REFERENCE_INVALID => 8373,
+ ERROR_DS_CROSS_REF_EXISTS => 8374,
+ ERROR_DS_CANT_DEL_MASTER_CROSSREF => 8375,
+ ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD => 8376,
+ ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX => 8377,
+ ERROR_DS_DUP_RDN => 8378,
+ ERROR_DS_DUP_OID => 8379,
+ ERROR_DS_DUP_MAPI_ID => 8380,
+ ERROR_DS_DUP_SCHEMA_ID_GUID => 8381,
+ ERROR_DS_DUP_LDAP_DISPLAY_NAME => 8382,
+ ERROR_DS_SEMANTIC_ATT_TEST => 8383,
+ ERROR_DS_SYNTAX_MISMATCH => 8384,
+ ERROR_DS_EXISTS_IN_MUST_HAVE => 8385,
+ ERROR_DS_EXISTS_IN_MAY_HAVE => 8386,
+ ERROR_DS_NONEXISTENT_MAY_HAVE => 8387,
+ ERROR_DS_NONEXISTENT_MUST_HAVE => 8388,
+ ERROR_DS_AUX_CLS_TEST_FAIL => 8389,
+ ERROR_DS_NONEXISTENT_POSS_SUP => 8390,
+ ERROR_DS_SUB_CLS_TEST_FAIL => 8391,
+ ERROR_DS_BAD_RDN_ATT_ID_SYNTAX => 8392,
+ ERROR_DS_EXISTS_IN_AUX_CLS => 8393,
+ ERROR_DS_EXISTS_IN_SUB_CLS => 8394,
+ ERROR_DS_EXISTS_IN_POSS_SUP => 8395,
+ ERROR_DS_RECALCSCHEMA_FAILED => 8396,
+ ERROR_DS_TREE_DELETE_NOT_FINISHED => 8397,
+ ERROR_DS_CANT_DELETE => 8398,
+ ERROR_DS_ATT_SCHEMA_REQ_ID => 8399,
+ ERROR_DS_BAD_ATT_SCHEMA_SYNTAX => 8400,
+ ERROR_DS_CANT_CACHE_ATT => 8401,
+ ERROR_DS_CANT_CACHE_CLASS => 8402,
+ ERROR_DS_CANT_REMOVE_ATT_CACHE => 8403,
+ ERROR_DS_CANT_REMOVE_CLASS_CACHE => 8404,
+ ERROR_DS_CANT_RETRIEVE_DN => 8405,
+ ERROR_DS_MISSING_SUPREF => 8406,
+ ERROR_DS_CANT_RETRIEVE_INSTANCE => 8407,
+ ERROR_DS_CODE_INCONSISTENCY => 8408,
+ ERROR_DS_DATABASE_ERROR => 8409,
+ ERROR_DS_GOVERNSID_MISSING => 8410,
+ ERROR_DS_MISSING_EXPECTED_ATT => 8411,
+ ERROR_DS_NCNAME_MISSING_CR_REF => 8412,
+ ERROR_DS_SECURITY_CHECKING_ERROR => 8413,
+ ERROR_DS_SCHEMA_NOT_LOADED => 8414,
+ ERROR_DS_SCHEMA_ALLOC_FAILED => 8415,
+ ERROR_DS_ATT_SCHEMA_REQ_SYNTAX => 8416,
+ ERROR_DS_GCVERIFY_ERROR => 8417,
+ ERROR_DS_DRA_SCHEMA_MISMATCH => 8418,
+ ERROR_DS_CANT_FIND_DSA_OBJ => 8419,
+ ERROR_DS_CANT_FIND_EXPECTED_NC => 8420,
+ ERROR_DS_CANT_FIND_NC_IN_CACHE => 8421,
+ ERROR_DS_CANT_RETRIEVE_CHILD => 8422,
+ ERROR_DS_SECURITY_ILLEGAL_MODIFY => 8423,
+ ERROR_DS_CANT_REPLACE_HIDDEN_REC => 8424,
+ ERROR_DS_BAD_HIERARCHY_FILE => 8425,
+ ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED => 8426,
+ ERROR_DS_CONFIG_PARAM_MISSING => 8427,
+ ERROR_DS_COUNTING_AB_INDICES_FAILED => 8428,
+ ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED => 8429,
+ ERROR_DS_INTERNAL_FAILURE => 8430,
+ ERROR_DS_UNKNOWN_ERROR => 8431,
+ ERROR_DS_ROOT_REQUIRES_CLASS_TOP => 8432,
+ ERROR_DS_REFUSING_FSMO_ROLES => 8433,
+ ERROR_DS_MISSING_FSMO_SETTINGS => 8434,
+ ERROR_DS_UNABLE_TO_SURRENDER_ROLES => 8435,
+ ERROR_DS_DRA_GENERIC => 8436,
+ ERROR_DS_DRA_INVALID_PARAMETER => 8437,
+ ERROR_DS_DRA_BUSY => 8438,
+ ERROR_DS_DRA_BAD_DN => 8439,
+ ERROR_DS_DRA_BAD_NC => 8440,
+ ERROR_DS_DRA_DN_EXISTS => 8441,
+ ERROR_DS_DRA_INTERNAL_ERROR => 8442,
+ ERROR_DS_DRA_INCONSISTENT_DIT => 8443,
+ ERROR_DS_DRA_CONNECTION_FAILED => 8444,
+ ERROR_DS_DRA_BAD_INSTANCE_TYPE => 8445,
+ ERROR_DS_DRA_OUT_OF_MEM => 8446,
+ ERROR_DS_DRA_MAIL_PROBLEM => 8447,
+ ERROR_DS_DRA_REF_ALREADY_EXISTS => 8448,
+ ERROR_DS_DRA_REF_NOT_FOUND => 8449,
+ ERROR_DS_DRA_OBJ_IS_REP_SOURCE => 8450,
+ ERROR_DS_DRA_DB_ERROR => 8451,
+ ERROR_DS_DRA_NO_REPLICA => 8452,
+ ERROR_DS_DRA_ACCESS_DENIED => 8453,
+ ERROR_DS_DRA_NOT_SUPPORTED => 8454,
+ ERROR_DS_DRA_RPC_CANCELLED => 8455,
+ ERROR_DS_DRA_SOURCE_DISABLED => 8456,
+ ERROR_DS_DRA_SINK_DISABLED => 8457,
+ ERROR_DS_DRA_NAME_COLLISION => 8458,
+ ERROR_DS_DRA_SOURCE_REINSTALLED => 8459,
+ ERROR_DS_DRA_MISSING_PARENT => 8460,
+ ERROR_DS_DRA_PREEMPTED => 8461,
+ ERROR_DS_DRA_ABANDON_SYNC => 8462,
+ ERROR_DS_DRA_SHUTDOWN => 8463,
+ ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET => 8464,
+ ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA => 8465,
+ ERROR_DS_DRA_EXTN_CONNECTION_FAILED => 8466,
+ ERROR_DS_INSTALL_SCHEMA_MISMATCH => 8467,
+ ERROR_DS_DUP_LINK_ID => 8468,
+ ERROR_DS_NAME_ERROR_RESOLVING => 8469,
+ ERROR_DS_NAME_ERROR_NOT_FOUND => 8470,
+ ERROR_DS_NAME_ERROR_NOT_UNIQUE => 8471,
+ ERROR_DS_NAME_ERROR_NO_MAPPING => 8472,
+ ERROR_DS_NAME_ERROR_DOMAIN_ONLY => 8473,
+ ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING => 8474,
+ ERROR_DS_CONSTRUCTED_ATT_MOD => 8475,
+ ERROR_DS_WRONG_OM_OBJ_CLASS => 8476,
+ ERROR_DS_DRA_REPL_PENDING => 8477,
+ ERROR_DS_DS_REQUIRED => 8478,
+ ERROR_DS_INVALID_LDAP_DISPLAY_NAME => 8479,
+ ERROR_DS_NON_BASE_SEARCH => 8480,
+ ERROR_DS_CANT_RETRIEVE_ATTS => 8481,
+ ERROR_DS_BACKLINK_WITHOUT_LINK => 8482,
+ ERROR_DS_EPOCH_MISMATCH => 8483,
+ ERROR_DS_SRC_NAME_MISMATCH => 8484,
+ ERROR_DS_SRC_AND_DST_NC_IDENTICAL => 8485,
+ ERROR_DS_DST_NC_MISMATCH => 8486,
+ ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC => 8487,
+ ERROR_DS_SRC_GUID_MISMATCH => 8488,
+ ERROR_DS_CANT_MOVE_DELETED_OBJECT => 8489,
+ ERROR_DS_PDC_OPERATION_IN_PROGRESS => 8490,
+ ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD => 8491,
+ ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION => 8492,
+ ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS => 8493,
+ ERROR_DS_NC_MUST_HAVE_NC_PARENT => 8494,
+ ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE => 8495,
+ ERROR_DS_DST_DOMAIN_NOT_NATIVE => 8496,
+ ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER => 8497,
+ ERROR_DS_CANT_MOVE_ACCOUNT_GROUP => 8498,
+ ERROR_DS_CANT_MOVE_RESOURCE_GROUP => 8499,
+ ERROR_DS_INVALID_SEARCH_FLAG => 8500,
+ ERROR_DS_NO_TREE_DELETE_ABOVE_NC => 8501,
+ ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE => 8502,
+ ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE => 8503,
+ ERROR_DS_SAM_INIT_FAILURE => 8504,
+ ERROR_DS_SENSITIVE_GROUP_VIOLATION => 8505,
+ ERROR_DS_CANT_MOD_PRIMARYGROUPID => 8506,
+ ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD => 8507,
+ ERROR_DS_NONSAFE_SCHEMA_CHANGE => 8508,
+ ERROR_DS_SCHEMA_UPDATE_DISALLOWED => 8509,
+ ERROR_DS_CANT_CREATE_UNDER_SCHEMA => 8510,
+ ERROR_DS_INSTALL_NO_SRC_SCH_VERSION => 8511,
+ ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE => 8512,
+ ERROR_DS_INVALID_GROUP_TYPE => 8513,
+ ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN => 8514,
+ ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN => 8515,
+ ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER => 8516,
+ ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER => 8517,
+ ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER => 8518,
+ ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER => 8519,
+ ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER => 8520,
+ ERROR_DS_HAVE_PRIMARY_MEMBERS => 8521,
+ ERROR_DS_STRING_SD_CONVERSION_FAILED => 8522,
+ ERROR_DS_NAMING_MASTER_GC => 8523,
+ ERROR_DS_DNS_LOOKUP_FAILURE => 8524,
+ ERROR_DS_COULDNT_UPDATE_SPNS => 8525,
+ ERROR_DS_CANT_RETRIEVE_SD => 8526,
+ ERROR_DS_KEY_NOT_UNIQUE => 8527,
+ ERROR_DS_WRONG_LINKED_ATT_SYNTAX => 8528,
+ ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD => 8529,
+ ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY => 8530,
+ ERROR_DS_CANT_START => 8531,
+ ERROR_DS_INIT_FAILURE => 8532,
+ ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION => 8533,
+ ERROR_DS_SOURCE_DOMAIN_IN_FOREST => 8534,
+ ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST => 8535,
+ ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED => 8536,
+ ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN => 8537,
+ ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER => 8538,
+ ERROR_DS_SRC_SID_EXISTS_IN_FOREST => 8539,
+ ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH => 8540,
+ ERROR_SAM_INIT_FAILURE => 8541,
+ ERROR_DS_DRA_SCHEMA_INFO_SHIP => 8542,
+ ERROR_DS_DRA_SCHEMA_CONFLICT => 8543,
+ ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT => 8544,
+ ERROR_DS_DRA_OBJ_NC_MISMATCH => 8545,
+ ERROR_DS_NC_STILL_HAS_DSAS => 8546,
+ ERROR_DS_GC_REQUIRED => 8547,
+ ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY => 8548,
+ ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS => 8549,
+ ERROR_DS_CANT_ADD_TO_GC => 8550,
+ ERROR_DS_NO_CHECKPOINT_WITH_PDC => 8551,
+ ERROR_DS_SOURCE_AUDITING_NOT_ENABLED => 8552,
+ ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC => 8553,
+ ERROR_DS_INVALID_NAME_FOR_SPN => 8554,
+ ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS => 8555,
+ ERROR_DS_UNICODEPWD_NOT_IN_QUOTES => 8556,
+ ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED => 8557,
+ ERROR_DS_MUST_BE_RUN_ON_DST_DC => 8558,
+ ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER => 8559,
+ ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ => 8560,
+ ERROR_DS_INIT_FAILURE_CONSOLE => 8561,
+ ERROR_DS_SAM_INIT_FAILURE_CONSOLE => 8562,
+ ERROR_DS_FOREST_VERSION_TOO_HIGH => 8563,
+ ERROR_DS_DOMAIN_VERSION_TOO_HIGH => 8564,
+ ERROR_DS_FOREST_VERSION_TOO_LOW => 8565,
+ ERROR_DS_DOMAIN_VERSION_TOO_LOW => 8566,
+ ERROR_DS_INCOMPATIBLE_VERSION => 8567,
+ ERROR_DS_LOW_DSA_VERSION => 8568,
+ ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN => 8569,
+ ERROR_DS_NOT_SUPPORTED_SORT_ORDER => 8570,
+ ERROR_DS_NAME_NOT_UNIQUE => 8571,
+ ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 => 8572,
+ ERROR_DS_OUT_OF_VERSION_STORE => 8573,
+ ERROR_DS_INCOMPATIBLE_CONTROLS_USED => 8574,
+ ERROR_DS_NO_REF_DOMAIN => 8575,
+ ERROR_DS_RESERVED_LINK_ID => 8576,
+ ERROR_DS_LINK_ID_NOT_AVAILABLE => 8577,
+ ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER => 8578,
+ ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE => 8579,
+ ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC => 8580,
+ ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG => 8581,
+ ERROR_DS_MODIFYDN_WRONG_GRANDPARENT => 8582,
+ ERROR_DS_NAME_ERROR_TRUST_REFERRAL => 8583,
+ ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER => 8584,
+ ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD => 8585,
+ ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 => 8586,
+ ERROR_DS_THREAD_LIMIT_EXCEEDED => 8587,
+ ERROR_DS_NOT_CLOSEST => 8588,
+ ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF => 8589,
+ ERROR_DS_SINGLE_USER_MODE_FAILED => 8590,
+ ERROR_DS_NTDSCRIPT_SYNTAX_ERROR => 8591,
+ ERROR_DS_NTDSCRIPT_PROCESS_ERROR => 8592,
+ ERROR_DS_DIFFERENT_REPL_EPOCHS => 8593,
+ ERROR_DS_DRS_EXTENSIONS_CHANGED => 8594,
+ ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR => 8595,
+ ERROR_DS_NO_MSDS_INTID => 8596,
+ ERROR_DS_DUP_MSDS_INTID => 8597,
+ ERROR_DS_EXISTS_IN_RDNATTID => 8598,
+ ERROR_DS_AUTHORIZATION_FAILED => 8599,
+ ERROR_DS_INVALID_SCRIPT => 8600,
+ ERROR_DS_REMOTE_CROSSREF_OP_FAILED => 8601,
+ ERROR_DS_CROSS_REF_BUSY => 8602,
+ ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN => 8603,
+ ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC => 8604,
+ ERROR_DS_DUPLICATE_ID_FOUND => 8605,
+ ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT => 8606,
+ ERROR_DS_GROUP_CONVERSION_ERROR => 8607,
+ ERROR_DS_CANT_MOVE_APP_BASIC_GROUP => 8608,
+ ERROR_DS_CANT_MOVE_APP_QUERY_GROUP => 8609,
+ ERROR_DS_ROLE_NOT_VERIFIED => 8610,
+ ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL => 8611,
+ ERROR_DS_DOMAIN_RENAME_IN_PROGRESS => 8612,
+ ERROR_DS_EXISTING_AD_CHILD_NC => 8613,
+ EWOULDBLOCK => 10035,
+ EINPROGRESS => 10036,
+ EALREADY => 10037,
+ ENOTSOCK => 10038,
+ EDESTADDRREQ => 10039,
+ EMSGSIZE => 10040,
+ EPROTOTYPE => 10041,
+ ENOPROTOOPT => 10042,
+ EPROTONOSUPPORT => 10043,
+ ESOCKTNOSUPPORT => 10044,
+ EOPNOTSUPP => 10045,
+ EPFNOSUPPORT => 10046,
+ EAFNOSUPPORT => 10047,
+ EADDRINUSE => 10048,
+ EADDRNOTAVAIL => 10049,
+ ENETDOWN => 10050,
+ ENETUNREACH => 10051,
+ ENETRESET => 10052,
+ ECONNABORTED => 10053,
+ ECONNRESET => 10054,
+ ENOBUFS => 10055,
+ EISCONN => 10056,
+ ENOTCONN => 10057,
+ ESHUTDOWN => 10058,
+ ETOOMANYREFS => 10059,
+ ETIMEDOUT => 10060,
+ ECONNREFUSED => 10061,
+ ELOOP => 10062,
+ EHOSTDOWN => 10064,
+ EHOSTUNREACH => 10065,
+ EPROCLIM => 10067,
+ EUSERS => 10068,
+ EDQUOT => 10069,
+ ESTALE => 10070,
+ EREMOTE => 10071,
+ EDISCON => 10101,
+ ENOMORE => 10102,
+ ECANCELLED => 10103,
+ EINVALIDPROCTABLE => 10104,
+ EINVALIDPROVIDER => 10105,
+ EPROVIDERFAILEDINIT => 10106,
+ EREFUSED => 10112,
+ ERROR_IPSEC_QM_POLICY_EXISTS => 13000,
+ ERROR_IPSEC_QM_POLICY_NOT_FOUND => 13001,
+ ERROR_IPSEC_QM_POLICY_IN_USE => 13002,
+ ERROR_IPSEC_MM_POLICY_EXISTS => 13003,
+ ERROR_IPSEC_MM_POLICY_NOT_FOUND => 13004,
+ ERROR_IPSEC_MM_POLICY_IN_USE => 13005,
+ ERROR_IPSEC_MM_FILTER_EXISTS => 13006,
+ ERROR_IPSEC_MM_FILTER_NOT_FOUND => 13007,
+ ERROR_IPSEC_TRANSPORT_FILTER_EXISTS => 13008,
+ ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND => 13009,
+ ERROR_IPSEC_MM_AUTH_EXISTS => 13010,
+ ERROR_IPSEC_MM_AUTH_NOT_FOUND => 13011,
+ ERROR_IPSEC_MM_AUTH_IN_USE => 13012,
+ ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND => 13013,
+ ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND => 13014,
+ ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND => 13015,
+ ERROR_IPSEC_TUNNEL_FILTER_EXISTS => 13016,
+ ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND => 13017,
+ ERROR_IPSEC_MM_FILTER_PENDING_DELETION => 13018,
+ ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION => 13019,
+ ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION => 13020,
+ ERROR_IPSEC_MM_POLICY_PENDING_DELETION => 13021,
+ ERROR_IPSEC_MM_AUTH_PENDING_DELETION => 13022,
+ ERROR_IPSEC_QM_POLICY_PENDING_DELETION => 13023,
+ ERROR_IPSEC_IKE_AUTH_FAIL => 13801,
+ ERROR_IPSEC_IKE_ATTRIB_FAIL => 13802,
+ ERROR_IPSEC_IKE_NEGOTIATION_PENDING => 13803,
+ ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR => 13804,
+ ERROR_IPSEC_IKE_TIMED_OUT => 13805,
+ ERROR_IPSEC_IKE_NO_CERT => 13806,
+ ERROR_IPSEC_IKE_SA_DELETED => 13807,
+ ERROR_IPSEC_IKE_SA_REAPED => 13808,
+ ERROR_IPSEC_IKE_MM_ACQUIRE_DROP => 13809,
+ ERROR_IPSEC_IKE_QM_ACQUIRE_DROP => 13810,
+ ERROR_IPSEC_IKE_QUEUE_DROP_MM => 13811,
+ ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM => 13812,
+ ERROR_IPSEC_IKE_DROP_NO_RESPONSE => 13813,
+ ERROR_IPSEC_IKE_MM_DELAY_DROP => 13814,
+ ERROR_IPSEC_IKE_QM_DELAY_DROP => 13815,
+ ERROR_IPSEC_IKE_ERROR => 13816,
+ ERROR_IPSEC_IKE_CRL_FAILED => 13817,
+ ERROR_IPSEC_IKE_INVALID_KEY_USAGE => 13818,
+ ERROR_IPSEC_IKE_INVALID_CERT_TYPE => 13819,
+ ERROR_IPSEC_IKE_NO_PRIVATE_KEY => 13820,
+ ERROR_IPSEC_IKE_DH_FAIL => 13822,
+ ERROR_IPSEC_IKE_INVALID_HEADER => 13824,
+ ERROR_IPSEC_IKE_NO_POLICY => 13825,
+ ERROR_IPSEC_IKE_INVALID_SIGNATURE => 13826,
+ ERROR_IPSEC_IKE_KERBEROS_ERROR => 13827,
+ ERROR_IPSEC_IKE_NO_PUBLIC_KEY => 13828,
+ ERROR_IPSEC_IKE_PROCESS_ERR => 13829,
+ ERROR_IPSEC_IKE_PROCESS_ERR_SA => 13830,
+ ERROR_IPSEC_IKE_PROCESS_ERR_PROP => 13831,
+ ERROR_IPSEC_IKE_PROCESS_ERR_TRANS => 13832,
+ ERROR_IPSEC_IKE_PROCESS_ERR_KE => 13833,
+ ERROR_IPSEC_IKE_PROCESS_ERR_ID => 13834,
+ ERROR_IPSEC_IKE_PROCESS_ERR_CERT => 13835,
+ ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ => 13836,
+ ERROR_IPSEC_IKE_PROCESS_ERR_HASH => 13837,
+ ERROR_IPSEC_IKE_PROCESS_ERR_SIG => 13838,
+ ERROR_IPSEC_IKE_PROCESS_ERR_NONCE => 13839,
+ ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY => 13840,
+ ERROR_IPSEC_IKE_PROCESS_ERR_DELETE => 13841,
+ ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR => 13842,
+ ERROR_IPSEC_IKE_INVALID_PAYLOAD => 13843,
+ ERROR_IPSEC_IKE_LOAD_SOFT_SA => 13844,
+ ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN => 13845,
+ ERROR_IPSEC_IKE_INVALID_COOKIE => 13846,
+ ERROR_IPSEC_IKE_NO_PEER_CERT => 13847,
+ ERROR_IPSEC_IKE_PEER_CRL_FAILED => 13848,
+ ERROR_IPSEC_IKE_POLICY_CHANGE => 13849,
+ ERROR_IPSEC_IKE_NO_MM_POLICY => 13850,
+ ERROR_IPSEC_IKE_NOTCBPRIV => 13851,
+ ERROR_IPSEC_IKE_SECLOADFAIL => 13852,
+ ERROR_IPSEC_IKE_FAILSSPINIT => 13853,
+ ERROR_IPSEC_IKE_FAILQUERYSSP => 13854,
+ ERROR_IPSEC_IKE_SRVACQFAIL => 13855,
+ ERROR_IPSEC_IKE_SRVQUERYCRED => 13856,
+ ERROR_IPSEC_IKE_GETSPIFAIL => 13857,
+ ERROR_IPSEC_IKE_INVALID_FILTER => 13858,
+ ERROR_IPSEC_IKE_OUT_OF_MEMORY => 13859,
+ ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED => 13860,
+ ERROR_IPSEC_IKE_INVALID_POLICY => 13861,
+ ERROR_IPSEC_IKE_UNKNOWN_DOI => 13862,
+ ERROR_IPSEC_IKE_INVALID_SITUATION => 13863,
+ ERROR_IPSEC_IKE_DH_FAILURE => 13864,
+ ERROR_IPSEC_IKE_INVALID_GROUP => 13865,
+ ERROR_IPSEC_IKE_ENCRYPT => 13866,
+ ERROR_IPSEC_IKE_DECRYPT => 13867,
+ ERROR_IPSEC_IKE_POLICY_MATCH => 13868,
+ ERROR_IPSEC_IKE_UNSUPPORTED_ID => 13869,
+ ERROR_IPSEC_IKE_INVALID_HASH => 13870,
+ ERROR_IPSEC_IKE_INVALID_HASH_ALG => 13871,
+ ERROR_IPSEC_IKE_INVALID_HASH_SIZE => 13872,
+ ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG => 13873,
+ ERROR_IPSEC_IKE_INVALID_AUTH_ALG => 13874,
+ ERROR_IPSEC_IKE_INVALID_SIG => 13875,
+ ERROR_IPSEC_IKE_LOAD_FAILED => 13876,
+ ERROR_IPSEC_IKE_RPC_DELETE => 13877,
+ ERROR_IPSEC_IKE_BENIGN_REINIT => 13878,
+ ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY => 13879,
+ ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN => 13881,
+ ERROR_IPSEC_IKE_MM_LIMIT => 13882,
+ ERROR_IPSEC_IKE_NEGOTIATION_DISABLED => 13883,
+ ERROR_IPSEC_IKE_NEG_STATUS_END => 13884,
+ ERROR_SXS_SECTION_NOT_FOUND => 14000,
+ ERROR_SXS_CANT_GEN_ACTCTX => 14001,
+ ERROR_SXS_INVALID_ACTCTXDATA_FORMAT => 14002,
+ ERROR_SXS_ASSEMBLY_NOT_FOUND => 14003,
+ ERROR_SXS_MANIFEST_FORMAT_ERROR => 14004,
+ ERROR_SXS_MANIFEST_PARSE_ERROR => 14005,
+ ERROR_SXS_ACTIVATION_CONTEXT_DISABLED => 14006,
+ ERROR_SXS_KEY_NOT_FOUND => 14007,
+ ERROR_SXS_VERSION_CONFLICT => 14008,
+ ERROR_SXS_WRONG_SECTION_TYPE => 14009,
+ ERROR_SXS_THREAD_QUERIES_DISABLED => 14010,
+ ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET => 14011,
+ ERROR_SXS_UNKNOWN_ENCODING_GROUP => 14012,
+ ERROR_SXS_UNKNOWN_ENCODING => 14013,
+ ERROR_SXS_INVALID_XML_NAMESPACE_URI => 14014,
+ ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED => 14015,
+ ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED => 14016,
+ ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE => 14017,
+ ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE => 14018,
+ ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE => 14019,
+ ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT => 14020,
+ ERROR_SXS_DUPLICATE_DLL_NAME => 14021,
+ ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME => 14022,
+ ERROR_SXS_DUPLICATE_CLSID => 14023,
+ ERROR_SXS_DUPLICATE_IID => 14024,
+ ERROR_SXS_DUPLICATE_TLBID => 14025,
+ ERROR_SXS_DUPLICATE_PROGID => 14026,
+ ERROR_SXS_DUPLICATE_ASSEMBLY_NAME => 14027,
+ ERROR_SXS_FILE_HASH_MISMATCH => 14028,
+ ERROR_SXS_POLICY_PARSE_ERROR => 14029,
+ ERROR_SXS_XML_E_MISSINGQUOTE => 14030,
+ ERROR_SXS_XML_E_COMMENTSYNTAX => 14031,
+ ERROR_SXS_XML_E_BADSTARTNAMECHAR => 14032,
+ ERROR_SXS_XML_E_BADNAMECHAR => 14033,
+ ERROR_SXS_XML_E_BADCHARINSTRING => 14034,
+ ERROR_SXS_XML_E_XMLDECLSYNTAX => 14035,
+ ERROR_SXS_XML_E_BADCHARDATA => 14036,
+ ERROR_SXS_XML_E_MISSINGWHITESPACE => 14037,
+ ERROR_SXS_XML_E_EXPECTINGTAGEND => 14038,
+ ERROR_SXS_XML_E_MISSINGSEMICOLON => 14039,
+ ERROR_SXS_XML_E_UNBALANCEDPAREN => 14040,
+ ERROR_SXS_XML_E_INTERNALERROR => 14041,
+ ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE => 14042,
+ ERROR_SXS_XML_E_INCOMPLETE_ENCODING => 14043,
+ ERROR_SXS_XML_E_MISSING_PAREN => 14044,
+ ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE => 14045,
+ ERROR_SXS_XML_E_MULTIPLE_COLONS => 14046,
+ ERROR_SXS_XML_E_INVALID_DECIMAL => 14047,
+ ERROR_SXS_XML_E_INVALID_HEXIDECIMAL => 14048,
+ ERROR_SXS_XML_E_INVALID_UNICODE => 14049,
+ ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK => 14050,
+ ERROR_SXS_XML_E_UNEXPECTEDENDTAG => 14051,
+ ERROR_SXS_XML_E_UNCLOSEDTAG => 14052,
+ ERROR_SXS_XML_E_DUPLICATEATTRIBUTE => 14053,
+ ERROR_SXS_XML_E_MULTIPLEROOTS => 14054,
+ ERROR_SXS_XML_E_INVALIDATROOTLEVEL => 14055,
+ ERROR_SXS_XML_E_BADXMLDECL => 14056,
+ ERROR_SXS_XML_E_MISSINGROOT => 14057,
+ ERROR_SXS_XML_E_UNEXPECTEDEOF => 14058,
+ ERROR_SXS_XML_E_BADPEREFINSUBSET => 14059,
+ ERROR_SXS_XML_E_UNCLOSEDSTARTTAG => 14060,
+ ERROR_SXS_XML_E_UNCLOSEDENDTAG => 14061,
+ ERROR_SXS_XML_E_UNCLOSEDSTRING => 14062,
+ ERROR_SXS_XML_E_UNCLOSEDCOMMENT => 14063,
+ ERROR_SXS_XML_E_UNCLOSEDDECL => 14064,
+ ERROR_SXS_XML_E_UNCLOSEDCDATA => 14065,
+ ERROR_SXS_XML_E_RESERVEDNAMESPACE => 14066,
+ ERROR_SXS_XML_E_INVALIDENCODING => 14067,
+ ERROR_SXS_XML_E_INVALIDSWITCH => 14068,
+ ERROR_SXS_XML_E_BADXMLCASE => 14069,
+ ERROR_SXS_XML_E_INVALID_STANDALONE => 14070,
+ ERROR_SXS_XML_E_UNEXPECTED_STANDALONE => 14071,
+ ERROR_SXS_XML_E_INVALID_VERSION => 14072,
+ ERROR_SXS_XML_E_MISSINGEQUALS => 14073,
+ ERROR_SXS_PROTECTION_RECOVERY_FAILED => 14074,
+ ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT => 14075,
+ ERROR_SXS_PROTECTION_CATALOG_NOT_VALID => 14076,
+ ERROR_SXS_UNTRANSLATABLE_HRESULT => 14077,
+ ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING => 14078,
+ ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE => 14079,
+ ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME => 14080,
+ EC_USEFONTINFO => 65535,
+ EMBDHLP_DELAYCREATE => 65536,
+ ENUM_S_FIRST => 262576,
+ ENUM_S_LAST => 262591,
+ EVENT_ALL_ACCESS => 2031619,
+ ERROR_SEVERITY_INFORMATIONAL => 1073741824,
+ ENHMETA_SIGNATURE => 1179469088,
+ EPS_SIGNATURE => 1179865157,
+ ENDSESSION_LOGOFF => 2147483648,
+ ENHMETA_STOCK_OBJECT => 2147483648,
+ ES_CONTINUOUS => 2147483648,
+ ERROR_SEVERITY_WARNING => 2147483648,
+ EXCEPTION_GUARD_PAGE => 2147483649,
+ EXCEPTION_DATATYPE_MISALIGNMENT => 2147483650,
+ EXCEPTION_BREAKPOINT => 2147483651,
+ EXCEPTION_SINGLE_STEP => 2147483652,
+ E_PENDING => 2147483658,
+ E_NOTIMPL => 2147500033,
+ E_NOINTERFACE => 2147500034,
+ E_POINTER => 2147500035,
+ E_ABORT => 2147500036,
+ E_FAIL => 2147500037,
+ E_UNEXPECTED => 2147549183,
+ E_DRAW => 2147746112,
+ ENUM_E_FIRST => 2147746224,
+ ENUM_E_LAST => 2147746239,
+ E_ACCESSDENIED => 2147942405,
+ E_HANDLE => 2147942406,
+ E_OUTOFMEMORY => 2147942414,
+ E_INVALIDARG => 2147942487,
+ ERROR_SEVERITY_ERROR => 3221225472,
+ EXCEPTION_ACCESS_VIOLATION => 3221225477,
+ EXCEPTION_IN_PAGE_ERROR => 3221225478,
+ EXCEPTION_INVALID_HANDLE => 3221225480,
+ EXCEPTION_ILLEGAL_INSTRUCTION => 3221225501,
+ EXCEPTION_NONCONTINUABLE_EXCEPTION => 3221225509,
+ EXCEPTION_INVALID_DISPOSITION => 3221225510,
+ EXCEPTION_ARRAY_BOUNDS_EXCEEDED => 3221225612,
+ EXCEPTION_FLT_DENORMAL_OPERAND => 3221225613,
+ EXCEPTION_FLT_DIVIDE_BY_ZERO => 3221225614,
+ EXCEPTION_FLT_INEXACT_RESULT => 3221225615,
+ EXCEPTION_FLT_INVALID_OPERATION => 3221225616,
+ EXCEPTION_FLT_OVERFLOW => 3221225617,
+ EXCEPTION_FLT_STACK_CHECK => 3221225618,
+ EXCEPTION_FLT_UNDERFLOW => 3221225619,
+ EXCEPTION_INT_DIVIDE_BY_ZERO => 3221225620,
+ EXCEPTION_INT_OVERFLOW => 3221225621,
+ EXCEPTION_PRIV_INSTRUCTION => 3221225622,
+ EXCEPTION_STACK_OVERFLOW => 3221225725,
+ );
+ # Generate proxy constant subroutines for all the values.
+ # Well, almost all the values. Unfortunately we can't assume that at this
+ # point that our symbol table is empty, as code such as if the parser has
+ # seen code such as C<exists &Errno::EINVAL>, it will have created the
+ # typeglob.
+ # Doing this before defining @EXPORT_OK etc means that even if a platform is
+ # crazy enough to define EXPORT_OK as an error constant, everything will
+ # still work, because the parser will upgrade the PCS to a real typeglob.
+ # We rely on the subroutine definitions below to update the internal caches.
+ # Don't use %each, as we don't want a copy of the value.
+ foreach my $name (keys %err) {
+ if ($Errno::{$name}) {
+ # We expect this to be reached fairly rarely, so take an approach
+ # which uses the least compile time effort in the common case:
+ eval "sub $name() { $err{$name} }; 1" or die $@;
+ } else {
+ $Errno::{$name} = \$err{$name};
+ }
+ }
+}
+
+our @EXPORT_OK = keys %err;
+
+our %EXPORT_TAGS = (
POSIX => [qw(
E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY
EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
@@ -764,1919 +1959,13 @@ $VERSION = eval $VERSION;
)]
);
-sub ENUM_REGISTRY_SETTINGS () { -2 }
-sub EXCEPTION_CONTINUE_EXECUTION () { -1 }
-sub ENUM_ALL_CALENDARS () { -1 }
-sub ENUM_CURRENT_SETTINGS () { -1 }
-sub ERROR () { 0 }
-sub ESB_ENABLE_BOTH () { 0 }
-sub EMBDHLP_INPROC_HANDLER () { 0 }
-sub ELF_VERSION () { 0 }
-sub EXIT_SUCCESS () { 0 }
-sub EVENTLOG_SUCCESS () { 0 }
-sub EWX_LOGOFF () { 0 }
-sub EMBDHLP_CREATENOW () { 0 }
-sub ERROR_SEVERITY_SUCCESS () { 0 }
-sub ERROR_SUCCESS () { 0 }
-sub ES_LEFT () { 0 }
-sub EC_ENABLEALL () { 0 }
-sub EXCEPTION_CONTINUE_SEARCH () { 0 }
-sub ELF_CULTURE_LATIN () { 0 }
-sub ESB_DISABLE_LEFT () { 1 }
-sub EXCEPTION_NONCONTINUABLE () { 1 }
-sub EV_RXCHAR () { 1 }
-sub EPERM () { 1 }
-sub EXCEPTION_EXECUTE_HANDLER () { 1 }
-sub ES_CENTER () { 1 }
-sub EMBDHLP_INPROC_SERVER () { 1 }
-sub EMR_HEADER () { 1 }
-sub ENABLE_PROCESSED_INPUT () { 1 }
-sub ES_SYSTEM_REQUIRED () { 1 }
-sub ESB_DISABLE_UP () { 1 }
-sub EVENTLOG_ERROR_TYPE () { 1 }
-sub EVENTLOG_SEQUENTIAL_READ () { 1 }
-sub ENABLE_PROCESSED_OUTPUT () { 1 }
-sub EXIT_FAILURE () { 1 }
-sub ERROR_INVALID_FUNCTION () { 1 }
-sub ESB_DISABLE_LTUP () { 1 }
-sub EXCEPTION_DEBUG_EVENT () { 1 }
-sub EWX_SHUTDOWN () { 1 }
-sub EC_LEFTMARGIN () { 1 }
-sub ETO_OPAQUE () { 2 }
-sub ESB_DISABLE_RTDN () { 2 }
-sub EWX_REBOOT () { 2 }
-sub EC_QUERYWAITING () { 2 }
-sub ES_DISPLAY_REQUIRED () { 2 }
-sub ESB_DISABLE_RIGHT () { 2 }
-sub ENOENT () { 2 }
-sub ENABLE_WRAP_AT_EOL_OUTPUT () { 2 }
-sub EVENT_MODIFY_STATE () { 2 }
-sub ES_RIGHT () { 2 }
-sub EV_RXFLAG () { 2 }
-sub EMR_POLYBEZIER () { 2 }
-sub ENABLE_LINE_INPUT () { 2 }
-sub EC_RIGHTMARGIN () { 2 }
-sub ERROR_FILE_NOT_FOUND () { 2 }
-sub EVENTLOG_WARNING_TYPE () { 2 }
-sub EVENPARITY () { 2 }
-sub ENOFILE () { 2 }
-sub ESB_DISABLE_DOWN () { 2 }
-sub EVENTLOG_SEEK_READ () { 2 }
-sub EMR_POLYGON () { 3 }
-sub ERROR_PATH_NOT_FOUND () { 3 }
-sub ESRCH () { 3 }
-sub ESB_DISABLE_BOTH () { 3 }
-sub EVENTLOG_INFORMATION_TYPE () { 4 }
-sub ELF_VENDOR_SIZE () { 4 }
-sub EXIT_THREAD_DEBUG_EVENT () { 4 }
-sub EINTR () { 4 }
-sub ERROR_TOO_MANY_OPEN_FILES () { 4 }
-sub EMR_POLYLINE () { 4 }
-sub EVENTLOG_FORWARDS_READ () { 4 }
-sub ES_MULTILINE () { 4 }
-sub ENABLE_ECHO_INPUT () { 4 }
-sub ETO_CLIPPED () { 4 }
-sub EV_TXEMPTY () { 4 }
-sub EWX_FORCE () { 4 }
-sub ES_USER_PRESENT () { 4 }
-sub EIO () { 5 }
-sub ERROR_ACCESS_DENIED () { 5 }
-sub EDGE_RAISED () { 5 }
-sub EXIT_PROCESS_DEBUG_EVENT () { 5 }
-sub EMR_POLYBEZIERTO () { 5 }
-sub ERROR_INVALID_HANDLE () { 6 }
-sub EDGE_ETCHED () { 6 }
-sub EMR_POLYLINETO () { 6 }
-sub ENXIO () { 6 }
-sub EMR_POLYPOLYLINE () { 7 }
-sub E2BIG () { 7 }
-sub ERROR_ARENA_TRASHED () { 7 }
-sub EVENTLOG_AUDIT_SUCCESS () { 8 }
-sub EC_DISABLE () { 8 }
-sub ENABLE_WINDOW_INPUT () { 8 }
-sub EWX_POWEROFF () { 8 }
-sub ENOEXEC () { 8 }
-sub EV_CTS () { 8 }
-sub EMR_POLYPOLYGON () { 8 }
-sub EVENTLOG_BACKWARDS_READ () { 8 }
-sub ERROR_NOT_ENOUGH_MEMORY () { 8 }
-sub ES_UPPERCASE () { 8 }
-sub EMR_SETWINDOWEXTEX () { 9 }
-sub EDGE_BUMP () { 9 }
-sub ERROR_INVALID_BLOCK () { 9 }
-sub EBADF () { 9 }
-sub EDGE_SUNKEN () { 10 }
-sub ECHILD () { 10 }
-sub ERROR_BAD_ENVIRONMENT () { 10 }
-sub EMR_SETWINDOWORGEX () { 10 }
-sub ENDDOC () { 11 }
-sub ERROR_BAD_FORMAT () { 11 }
-sub EAGAIN () { 11 }
-sub EMR_SETVIEWPORTEXTEX () { 11 }
-sub EMR_SETVIEWPORTORGEX () { 12 }
-sub ENOMEM () { 12 }
-sub ERROR_INVALID_ACCESS () { 12 }
-sub ERROR_INVALID_DATA () { 13 }
-sub EMR_SETBRUSHORGEX () { 13 }
-sub EACCES () { 13 }
-sub ERROR_OUTOFMEMORY () { 14 }
-sub EFAULT () { 14 }
-sub EMR_EOF () { 14 }
-sub ERROR_INVALID_DRIVE () { 15 }
-sub EXCEPTION_MAXIMUM_PARAMETERS () { 15 }
-sub EMR_SETPIXELV () { 15 }
-sub EMR_SETMAPPERFLAGS () { 16 }
-sub ETO_GLYPH_INDEX () { 16 }
-sub ERROR_CURRENT_DIRECTORY () { 16 }
-sub ENABLE_MOUSE_INPUT () { 16 }
-sub ES_LOWERCASE () { 16 }
-sub EBUSY () { 16 }
-sub EVENTLOG_AUDIT_FAILURE () { 16 }
-sub EV_DSR () { 16 }
-sub EMR_SETMAPMODE () { 17 }
-sub EEXIST () { 17 }
-sub ERROR_NOT_SAME_DEVICE () { 17 }
-sub EMR_SETBKMODE () { 18 }
-sub EXDEV () { 18 }
-sub ERROR_NO_MORE_FILES () { 18 }
-sub ERROR_WRITE_PROTECT () { 19 }
-sub EMR_SETPOLYFILLMODE () { 19 }
-sub ENODEV () { 19 }
-sub EMR_SETROP2 () { 20 }
-sub ERROR_BAD_UNIT () { 20 }
-sub ENOTDIR () { 20 }
-sub EISDIR () { 21 }
-sub EMR_SETSTRETCHBLTMODE () { 21 }
-sub ERROR_NOT_READY () { 21 }
-sub ERROR_BAD_COMMAND () { 22 }
-sub EMR_SETTEXTALIGN () { 22 }
-sub EINVAL () { 22 }
-sub EMR_SETCOLORADJUSTMENT () { 23 }
-sub ENFILE () { 23 }
-sub ERROR_CRC () { 23 }
-sub EMR_SETTEXTCOLOR () { 24 }
-sub ERROR_BAD_LENGTH () { 24 }
-sub EMFILE () { 24 }
-sub EMR_SETBKCOLOR () { 25 }
-sub ERROR_SEEK () { 25 }
-sub ENOTTY () { 25 }
-sub ERROR_NOT_DOS_DISK () { 26 }
-sub EMR_OFFSETCLIPRGN () { 26 }
-sub EMR_MOVETOEX () { 27 }
-sub EFBIG () { 27 }
-sub ERROR_SECTOR_NOT_FOUND () { 27 }
-sub ERROR_OUT_OF_PAPER () { 28 }
-sub ENOSPC () { 28 }
-sub ENABLEDUPLEX () { 28 }
-sub EMR_SETMETARGN () { 28 }
-sub EMR_EXCLUDECLIPRECT () { 29 }
-sub ESPIPE () { 29 }
-sub ERROR_WRITE_FAULT () { 29 }
-sub EROFS () { 30 }
-sub ERROR_READ_FAULT () { 30 }
-sub EMR_INTERSECTCLIPRECT () { 30 }
-sub ENUMPAPERBINS () { 31 }
-sub EMLINK () { 31 }
-sub ERROR_GEN_FAILURE () { 31 }
-sub EMR_SCALEVIEWPORTEXTEX () { 31 }
-sub ENABLE_INSERT_MODE () { 32 }
-sub EV_RLSD () { 32 }
-sub EMR_SCALEWINDOWEXTEX () { 32 }
-sub ES_PASSWORD () { 32 }
-sub ERROR_SHARING_VIOLATION () { 32 }
-sub EPIPE () { 32 }
-sub EMR_SAVEDC () { 33 }
-sub EPSPRINTING () { 33 }
-sub EDOM () { 33 }
-sub ERROR_LOCK_VIOLATION () { 33 }
-sub EMR_RESTOREDC () { 34 }
-sub ENUMPAPERMETRICS () { 34 }
-sub ERROR_WRONG_DISK () { 34 }
-sub ERANGE () { 34 }
-sub EMR_SETWORLDTRANSFORM () { 35 }
-sub EDEADLK () { 36 }
-sub ERROR_SHARING_BUFFER_EXCEEDED () { 36 }
-sub EDEADLOCK () { 36 }
-sub EMR_MODIFYWORLDTRANSFORM () { 36 }
-sub EMR_SELECTOBJECT () { 37 }
-sub ERROR_HANDLE_EOF () { 38 }
-sub ENAMETOOLONG () { 38 }
-sub EMR_CREATEPEN () { 38 }
-sub EMR_CREATEBRUSHINDIRECT () { 39 }
-sub ENOLCK () { 39 }
-sub ERROR_HANDLE_DISK_FULL () { 39 }
-sub ENOSYS () { 40 }
-sub EMR_DELETEOBJECT () { 40 }
-sub EMR_ANGLEARC () { 41 }
-sub ENOTEMPTY () { 41 }
-sub EMR_ELLIPSE () { 42 }
-sub EILSEQ () { 42 }
-sub EMR_RECTANGLE () { 43 }
-sub EMR_ROUNDRECT () { 44 }
-sub EMR_ARC () { 45 }
-sub EMR_CHORD () { 46 }
-sub EMR_PIE () { 47 }
-sub EMR_SELECTPALETTE () { 48 }
-sub EMR_CREATEPALETTE () { 49 }
-sub ERROR_NOT_SUPPORTED () { 50 }
-sub EMR_SETPALETTEENTRIES () { 50 }
-sub EMR_RESIZEPALETTE () { 51 }
-sub ERROR_REM_NOT_LIST () { 51 }
-sub EMR_REALIZEPALETTE () { 52 }
-sub ERROR_DUP_NAME () { 52 }
-sub EMR_EXTFLOODFILL () { 53 }
-sub ERROR_BAD_NETPATH () { 53 }
-sub EMR_LINETO () { 54 }
-sub ERROR_NETWORK_BUSY () { 54 }
-sub EMR_ARCTO () { 55 }
-sub ERROR_DEV_NOT_EXIST () { 55 }
-sub EMR_POLYDRAW () { 56 }
-sub ERROR_TOO_MANY_CMDS () { 56 }
-sub EMR_SETARCDIRECTION () { 57 }
-sub ERROR_ADAP_HDW_ERR () { 57 }
-sub EMR_SETMITERLIMIT () { 58 }
-sub ERROR_BAD_NET_RESP () { 58 }
-sub EMR_BEGINPATH () { 59 }
-sub ERROR_UNEXP_NET_ERR () { 59 }
-sub ERROR_BAD_REM_ADAP () { 60 }
-sub EMR_ENDPATH () { 60 }
-sub ERROR_PRINTQ_FULL () { 61 }
-sub EMR_CLOSEFIGURE () { 61 }
-sub EMR_FILLPATH () { 62 }
-sub ERROR_NO_SPOOL_SPACE () { 62 }
-sub EMR_STROKEANDFILLPATH () { 63 }
-sub ERROR_PRINT_CANCELLED () { 63 }
-sub ENABLE_QUICK_EDIT_MODE () { 64 }
-sub ERROR_NETNAME_DELETED () { 64 }
-sub ES_AUTOVSCROLL () { 64 }
-sub EV_BREAK () { 64 }
-sub EMR_STROKEPATH () { 64 }
-sub ERROR_NETWORK_ACCESS_DENIED () { 65 }
-sub EMR_FLATTENPATH () { 65 }
-sub EMR_WIDENPATH () { 66 }
-sub ERROR_BAD_DEV_TYPE () { 66 }
-sub EMR_SELECTCLIPPATH () { 67 }
-sub ERROR_BAD_NET_NAME () { 67 }
-sub ERROR_TOO_MANY_NAMES () { 68 }
-sub EMR_ABORTPATH () { 68 }
-sub ERROR_TOO_MANY_SESS () { 69 }
-sub ERROR_SHARING_PAUSED () { 70 }
-sub EMR_GDICOMMENT () { 70 }
-sub EMR_FILLRGN () { 71 }
-sub ERROR_REQ_NOT_ACCEP () { 71 }
-sub ERROR_REDIR_PAUSED () { 72 }
-sub EMR_FRAMERGN () { 72 }
-sub EMR_INVERTRGN () { 73 }
-sub EMR_PAINTRGN () { 74 }
-sub EMR_EXTSELECTCLIPRGN () { 75 }
-sub EMR_BITBLT () { 76 }
-sub EMR_STRETCHBLT () { 77 }
-sub EMR_MASKBLT () { 78 }
-sub EMR_PLGBLT () { 79 }
-sub EMR_SETDIBITSTODEVICE () { 80 }
-sub ERROR_FILE_EXISTS () { 80 }
-sub EMR_STRETCHDIBITS () { 81 }
-sub EMR_EXTCREATEFONTINDIRECTW () { 82 }
-sub ERROR_CANNOT_MAKE () { 82 }
-sub EMR_EXTTEXTOUTA () { 83 }
-sub ERROR_FAIL_I24 () { 83 }
-sub ERROR_OUT_OF_STRUCTURES () { 84 }
-sub EMR_EXTTEXTOUTW () { 84 }
-sub EMR_POLYBEZIER16 () { 85 }
-sub ERROR_ALREADY_ASSIGNED () { 85 }
-sub EMR_POLYGON16 () { 86 }
-sub ERROR_INVALID_PASSWORD () { 86 }
-sub EMR_POLYLINE16 () { 87 }
-sub ERROR_INVALID_PARAMETER () { 87 }
-sub EMR_POLYBEZIERTO16 () { 88 }
-sub ERROR_NET_WRITE_FAULT () { 88 }
-sub ERROR_NO_PROC_SLOTS () { 89 }
-sub EMR_POLYLINETO16 () { 89 }
-sub EMR_POLYPOLYLINE16 () { 90 }
-sub EMR_POLYPOLYGON16 () { 91 }
-sub EMR_POLYDRAW16 () { 92 }
-sub EMR_CREATEMONOBRUSH () { 93 }
-sub EMR_CREATEDIBPATTERNBRUSHPT () { 94 }
-sub EMR_EXTCREATEPEN () { 95 }
-sub EMR_POLYTEXTOUTA () { 96 }
-sub EMR_POLYTEXTOUTW () { 97 }
-sub EMR_SETICMMODE () { 98 }
-sub EMR_CREATECOLORSPACE () { 99 }
-sub ERROR_TOO_MANY_SEMAPHORES () { 100 }
-sub EMR_SETCOLORSPACE () { 100 }
-sub EMR_DELETECOLORSPACE () { 101 }
-sub ERROR_EXCL_SEM_ALREADY_OWNED () { 101 }
-sub ERROR_SEM_IS_SET () { 102 }
-sub EMR_GLSRECORD () { 102 }
-sub ERROR_TOO_MANY_SEM_REQUESTS () { 103 }
-sub EMR_GLSBOUNDEDRECORD () { 103 }
-sub EMR_PIXELFORMAT () { 104 }
-sub ERROR_INVALID_AT_INTERRUPT_TIME () { 104 }
-sub ERROR_SEM_OWNER_DIED () { 105 }
-sub ERROR_SEM_USER_LIMIT () { 106 }
-sub ERROR_DISK_CHANGE () { 107 }
-sub ERROR_DRIVE_LOCKED () { 108 }
-sub ERROR_BROKEN_PIPE () { 109 }
-sub ERROR_OPEN_FAILED () { 110 }
-sub ERROR_BUFFER_OVERFLOW () { 111 }
-sub ERROR_DISK_FULL () { 112 }
-sub ERROR_NO_MORE_SEARCH_HANDLES () { 113 }
-sub ERROR_INVALID_TARGET_HANDLE () { 114 }
-sub ERROR_INVALID_CATEGORY () { 117 }
-sub ERROR_INVALID_VERIFY_SWITCH () { 118 }
-sub ERROR_BAD_DRIVER_LEVEL () { 119 }
-sub ERROR_CALL_NOT_IMPLEMENTED () { 120 }
-sub ERROR_SEM_TIMEOUT () { 121 }
-sub ERROR_INSUFFICIENT_BUFFER () { 122 }
-sub ERROR_INVALID_NAME () { 123 }
-sub ERROR_INVALID_LEVEL () { 124 }
-sub ERROR_NO_VOLUME_LABEL () { 125 }
-sub ERROR_MOD_NOT_FOUND () { 126 }
-sub ERROR_PROC_NOT_FOUND () { 127 }
-sub EC_ENABLEONE () { 128 }
-sub ES_AUTOHSCROLL () { 128 }
-sub EV_ERR () { 128 }
-sub ETO_RTLREADING () { 128 }
-sub ERROR_WAIT_NO_CHILDREN () { 128 }
-sub ENABLE_EXTENDED_FLAGS () { 128 }
-sub ERROR_CHILD_NOT_COMPLETE () { 129 }
-sub ERROR_DIRECT_ACCESS_HANDLE () { 130 }
-sub ERROR_NEGATIVE_SEEK () { 131 }
-sub ERROR_SEEK_ON_DEVICE () { 132 }
-sub ERROR_IS_JOIN_TARGET () { 133 }
-sub ERROR_IS_JOINED () { 134 }
-sub ERROR_IS_SUBSTED () { 135 }
-sub ERROR_NOT_JOINED () { 136 }
-sub ERROR_NOT_SUBSTED () { 137 }
-sub ERROR_JOIN_TO_JOIN () { 138 }
-sub ERROR_SUBST_TO_SUBST () { 139 }
-sub ERROR_JOIN_TO_SUBST () { 140 }
-sub ERROR_SUBST_TO_JOIN () { 141 }
-sub ERROR_BUSY_DRIVE () { 142 }
-sub ERROR_SAME_DRIVE () { 143 }
-sub ERROR_DIR_NOT_ROOT () { 144 }
-sub ERROR_DIR_NOT_EMPTY () { 145 }
-sub ERROR_IS_SUBST_PATH () { 146 }
-sub ERROR_IS_JOIN_PATH () { 147 }
-sub ERROR_PATH_BUSY () { 148 }
-sub ERROR_IS_SUBST_TARGET () { 149 }
-sub ERROR_SYSTEM_TRACE () { 150 }
-sub ERROR_INVALID_EVENT_COUNT () { 151 }
-sub ERROR_TOO_MANY_MUXWAITERS () { 152 }
-sub ERROR_INVALID_LIST_FORMAT () { 153 }
-sub ERROR_LABEL_TOO_LONG () { 154 }
-sub ERROR_TOO_MANY_TCBS () { 155 }
-sub ERROR_SIGNAL_REFUSED () { 156 }
-sub ERROR_DISCARDED () { 157 }
-sub ERROR_NOT_LOCKED () { 158 }
-sub ERROR_BAD_THREADID_ADDR () { 159 }
-sub ERROR_BAD_ARGUMENTS () { 160 }
-sub ERROR_BAD_PATHNAME () { 161 }
-sub ERROR_SIGNAL_PENDING () { 162 }
-sub ERROR_MAX_THRDS_REACHED () { 164 }
-sub ERROR_LOCK_FAILED () { 167 }
-sub ERROR_BUSY () { 170 }
-sub ERROR_CANCEL_VIOLATION () { 173 }
-sub ERROR_ATOMIC_LOCKS_NOT_SUPPORTED () { 174 }
-sub EM_GETSEL () { 176 }
-sub EM_SETSEL () { 177 }
-sub EM_GETRECT () { 178 }
-sub EM_SETRECT () { 179 }
-sub ERROR_INVALID_SEGMENT_NUMBER () { 180 }
-sub EM_SETRECTNP () { 180 }
-sub EM_SCROLL () { 181 }
-sub EM_LINESCROLL () { 182 }
-sub ERROR_INVALID_ORDINAL () { 182 }
-sub ERROR_ALREADY_EXISTS () { 183 }
-sub EM_SCROLLCARET () { 183 }
-sub EM_GETMODIFY () { 184 }
-sub EM_SETMODIFY () { 185 }
-sub ERROR_INVALID_FLAG_NUMBER () { 186 }
-sub EM_GETLINECOUNT () { 186 }
-sub ERROR_SEM_NOT_FOUND () { 187 }
-sub EM_LINEINDEX () { 187 }
-sub ERROR_INVALID_STARTING_CODESEG () { 188 }
-sub EM_SETHANDLE () { 188 }
-sub ERROR_INVALID_STACKSEG () { 189 }
-sub EM_GETHANDLE () { 189 }
-sub ERROR_INVALID_MODULETYPE () { 190 }
-sub EM_GETTHUMB () { 190 }
-sub ERROR_INVALID_EXE_SIGNATURE () { 191 }
-sub ERROR_EXE_MARKED_INVALID () { 192 }
-sub ERROR_BAD_EXE_FORMAT () { 193 }
-sub EM_LINELENGTH () { 193 }
-sub ERROR_ITERATED_DATA_EXCEEDS_64k () { 194 }
-sub EM_REPLACESEL () { 194 }
-sub ERROR_INVALID_MINALLOCSIZE () { 195 }
-sub EM_GETLINE () { 196 }
-sub ERROR_DYNLINK_FROM_INVALID_RING () { 196 }
-sub ERROR_IOPL_NOT_ENABLED () { 197 }
-sub EM_LIMITTEXT () { 197 }
-sub EM_SETLIMITTEXT () { 197 }
-sub ERROR_INVALID_SEGDPL () { 198 }
-sub EM_CANUNDO () { 198 }
-sub ERROR_AUTODATASEG_EXCEEDS_64k () { 199 }
-sub EM_UNDO () { 199 }
-sub EM_FMTLINES () { 200 }
-sub ERROR_RING2SEG_MUST_BE_MOVABLE () { 200 }
-sub EM_LINEFROMCHAR () { 201 }
-sub ERROR_RELOC_CHAIN_XEEDS_SEGLIM () { 201 }
-sub ERROR_INFLOOP_IN_RELOC_CHAIN () { 202 }
-sub ERROR_ENVVAR_NOT_FOUND () { 203 }
-sub EM_SETTABSTOPS () { 203 }
-sub EM_SETPASSWORDCHAR () { 204 }
-sub EM_EMPTYUNDOBUFFER () { 205 }
-sub ERROR_NO_SIGNAL_SENT () { 205 }
-sub EM_GETFIRSTVISIBLELINE () { 206 }
-sub ERROR_FILENAME_EXCED_RANGE () { 206 }
-sub EM_SETREADONLY () { 207 }
-sub ERROR_RING2_STACK_IN_USE () { 207 }
-sub ERROR_META_EXPANSION_TOO_LONG () { 208 }
-sub EM_SETWORDBREAKPROC () { 208 }
-sub EM_GETWORDBREAKPROC () { 209 }
-sub ERROR_INVALID_SIGNAL_NUMBER () { 209 }
-sub ERROR_THREAD_1_INACTIVE () { 210 }
-sub EM_GETPASSWORDCHAR () { 210 }
-sub EM_SETMARGINS () { 211 }
-sub EM_GETMARGINS () { 212 }
-sub ERROR_LOCKED () { 212 }
-sub EM_GETLIMITTEXT () { 213 }
-sub EM_POSFROMCHAR () { 214 }
-sub ERROR_TOO_MANY_MODULES () { 214 }
-sub ERROR_NESTING_NOT_ALLOWED () { 215 }
-sub EM_CHARFROMPOS () { 215 }
-sub ERROR_EXE_MACHINE_TYPE_MISMATCH () { 216 }
-sub ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY () { 217 }
-sub ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY () { 218 }
-sub ERROR_BAD_PIPE () { 230 }
-sub ERROR_PIPE_BUSY () { 231 }
-sub ERROR_NO_DATA () { 232 }
-sub ERROR_PIPE_NOT_CONNECTED () { 233 }
-sub ERROR_MORE_DATA () { 234 }
-sub EASTEUROPE_CHARSET () { 238 }
-sub ERROR_VC_DISCONNECTED () { 240 }
-sub ERROR_INVALID_EA_NAME () { 254 }
-sub ERROR_EA_LIST_INCONSISTENT () { 255 }
-sub EN_SETFOCUS () { 256 }
-sub ENABLE_AUTO_POSITION () { 256 }
-sub EV_RING () { 256 }
-sub ENHANCED_KEY () { 256 }
-sub ES_NOHIDESEL () { 256 }
-sub ERROR_NO_MORE_ITEMS () { 259 }
-sub ERROR_CANNOT_COPY () { 266 }
-sub ERROR_DIRECTORY () { 267 }
-sub ERROR_EAS_DIDNT_FIT () { 275 }
-sub ERROR_EA_FILE_CORRUPT () { 276 }
-sub ERROR_EA_TABLE_FULL () { 277 }
-sub ERROR_INVALID_EA_HANDLE () { 278 }
-sub ERROR_EAS_NOT_SUPPORTED () { 282 }
-sub ERROR_NOT_OWNER () { 288 }
-sub ERROR_TOO_MANY_POSTS () { 298 }
-sub ERROR_PARTIAL_COPY () { 299 }
-sub ERROR_OPLOCK_NOT_GRANTED () { 300 }
-sub ERROR_INVALID_OPLOCK_PROTOCOL () { 301 }
-sub ERROR_DISK_TOO_FRAGMENTED () { 302 }
-sub ERROR_DELETE_PENDING () { 303 }
-sub ERROR_MR_MID_NOT_FOUND () { 317 }
-sub ERROR_SCOPE_NOT_FOUND () { 318 }
-sub ERROR_INVALID_ADDRESS () { 487 }
-sub EN_KILLFOCUS () { 512 }
-sub EV_PERR () { 512 }
-sub EXTTEXTOUT () { 512 }
-sub ERROR_ARITHMETIC_OVERFLOW () { 534 }
-sub ERROR_PIPE_CONNECTED () { 535 }
-sub ERROR_PIPE_LISTENING () { 536 }
-sub EN_CHANGE () { 768 }
-sub ENABLERELATIVEWIDTHS () { 768 }
-sub ENABLEPAIRKERNING () { 769 }
-sub ERROR_EA_ACCESS_DENIED () { 994 }
-sub ERROR_OPERATION_ABORTED () { 995 }
-sub ERROR_IO_INCOMPLETE () { 996 }
-sub ERROR_IO_PENDING () { 997 }
-sub ERROR_NOACCESS () { 998 }
-sub ERROR_SWAPERROR () { 999 }
-sub ERROR_STACK_OVERFLOW () { 1001 }
-sub ERROR_INVALID_MESSAGE () { 1002 }
-sub ERROR_CAN_NOT_COMPLETE () { 1003 }
-sub ERROR_INVALID_FLAGS () { 1004 }
-sub ERROR_UNRECOGNIZED_VOLUME () { 1005 }
-sub ERROR_FILE_INVALID () { 1006 }
-sub ERROR_FULLSCREEN_MODE () { 1007 }
-sub ERROR_NO_TOKEN () { 1008 }
-sub ERROR_BADDB () { 1009 }
-sub ERROR_BADKEY () { 1010 }
-sub ERROR_CANTOPEN () { 1011 }
-sub ERROR_CANTREAD () { 1012 }
-sub ERROR_CANTWRITE () { 1013 }
-sub ERROR_REGISTRY_RECOVERED () { 1014 }
-sub ERROR_REGISTRY_CORRUPT () { 1015 }
-sub ERROR_REGISTRY_IO_FAILED () { 1016 }
-sub ERROR_NOT_REGISTRY_FILE () { 1017 }
-sub ERROR_KEY_DELETED () { 1018 }
-sub ERROR_NO_LOG_SPACE () { 1019 }
-sub ERROR_KEY_HAS_CHILDREN () { 1020 }
-sub ERROR_CHILD_MUST_BE_VOLATILE () { 1021 }
-sub ERROR_NOTIFY_ENUM_DIR () { 1022 }
-sub EN_UPDATE () { 1024 }
-sub ES_OEMCONVERT () { 1024 }
-sub ETO_NUMERICSLOCAL () { 1024 }
-sub EV_RX80FULL () { 1024 }
-sub ERROR_DEPENDENT_SERVICES_RUNNING () { 1051 }
-sub ERROR_INVALID_SERVICE_CONTROL () { 1052 }
-sub ERROR_SERVICE_REQUEST_TIMEOUT () { 1053 }
-sub ERROR_SERVICE_NO_THREAD () { 1054 }
-sub ERROR_SERVICE_DATABASE_LOCKED () { 1055 }
-sub ERROR_SERVICE_ALREADY_RUNNING () { 1056 }
-sub ERROR_INVALID_SERVICE_ACCOUNT () { 1057 }
-sub ERROR_SERVICE_DISABLED () { 1058 }
-sub ERROR_CIRCULAR_DEPENDENCY () { 1059 }
-sub ERROR_SERVICE_DOES_NOT_EXIST () { 1060 }
-sub ERROR_SERVICE_CANNOT_ACCEPT_CTRL () { 1061 }
-sub ERROR_SERVICE_NOT_ACTIVE () { 1062 }
-sub ERROR_FAILED_SERVICE_CONTROLLER_CONNECT () { 1063 }
-sub ERROR_EXCEPTION_IN_SERVICE () { 1064 }
-sub ERROR_DATABASE_DOES_NOT_EXIST () { 1065 }
-sub ERROR_SERVICE_SPECIFIC_ERROR () { 1066 }
-sub ERROR_PROCESS_ABORTED () { 1067 }
-sub ERROR_SERVICE_DEPENDENCY_FAIL () { 1068 }
-sub ERROR_SERVICE_LOGON_FAILED () { 1069 }
-sub ERROR_SERVICE_START_HANG () { 1070 }
-sub ERROR_INVALID_SERVICE_LOCK () { 1071 }
-sub ERROR_SERVICE_MARKED_FOR_DELETE () { 1072 }
-sub ERROR_SERVICE_EXISTS () { 1073 }
-sub ERROR_ALREADY_RUNNING_LKG () { 1074 }
-sub ERROR_SERVICE_DEPENDENCY_DELETED () { 1075 }
-sub ERROR_BOOT_ALREADY_ACCEPTED () { 1076 }
-sub ERROR_SERVICE_NEVER_STARTED () { 1077 }
-sub ERROR_DUPLICATE_SERVICE_NAME () { 1078 }
-sub ERROR_DIFFERENT_SERVICE_ACCOUNT () { 1079 }
-sub ERROR_CANNOT_DETECT_DRIVER_FAILURE () { 1080 }
-sub ERROR_CANNOT_DETECT_PROCESS_ABORT () { 1081 }
-sub ERROR_NO_RECOVERY_PROGRAM () { 1082 }
-sub ERROR_SERVICE_NOT_IN_EXE () { 1083 }
-sub ERROR_NOT_SAFEBOOT_SERVICE () { 1084 }
-sub ERROR_END_OF_MEDIA () { 1100 }
-sub ERROR_FILEMARK_DETECTED () { 1101 }
-sub ERROR_BEGINNING_OF_MEDIA () { 1102 }
-sub ERROR_SETMARK_DETECTED () { 1103 }
-sub ERROR_NO_DATA_DETECTED () { 1104 }
-sub ERROR_PARTITION_FAILURE () { 1105 }
-sub ERROR_INVALID_BLOCK_LENGTH () { 1106 }
-sub ERROR_DEVICE_NOT_PARTITIONED () { 1107 }
-sub ERROR_UNABLE_TO_LOCK_MEDIA () { 1108 }
-sub ERROR_UNABLE_TO_UNLOAD_MEDIA () { 1109 }
-sub ERROR_MEDIA_CHANGED () { 1110 }
-sub ERROR_BUS_RESET () { 1111 }
-sub ERROR_NO_MEDIA_IN_DRIVE () { 1112 }
-sub ERROR_NO_UNICODE_TRANSLATION () { 1113 }
-sub ERROR_DLL_INIT_FAILED () { 1114 }
-sub ERROR_SHUTDOWN_IN_PROGRESS () { 1115 }
-sub ERROR_NO_SHUTDOWN_IN_PROGRESS () { 1116 }
-sub ERROR_IO_DEVICE () { 1117 }
-sub ERROR_SERIAL_NO_DEVICE () { 1118 }
-sub ERROR_IRQ_BUSY () { 1119 }
-sub ERROR_MORE_WRITES () { 1120 }
-sub ERROR_COUNTER_TIMEOUT () { 1121 }
-sub ERROR_FLOPPY_ID_MARK_NOT_FOUND () { 1122 }
-sub ERROR_FLOPPY_WRONG_CYLINDER () { 1123 }
-sub ERROR_FLOPPY_UNKNOWN_ERROR () { 1124 }
-sub ERROR_FLOPPY_BAD_REGISTERS () { 1125 }
-sub ERROR_DISK_RECALIBRATE_FAILED () { 1126 }
-sub ERROR_DISK_OPERATION_FAILED () { 1127 }
-sub ERROR_DISK_RESET_FAILED () { 1128 }
-sub ERROR_EOM_OVERFLOW () { 1129 }
-sub ERROR_NOT_ENOUGH_SERVER_MEMORY () { 1130 }
-sub ERROR_POSSIBLE_DEADLOCK () { 1131 }
-sub ERROR_MAPPED_ALIGNMENT () { 1132 }
-sub ERROR_SET_POWER_STATE_VETOED () { 1140 }
-sub ERROR_SET_POWER_STATE_FAILED () { 1141 }
-sub ERROR_TOO_MANY_LINKS () { 1142 }
-sub ERROR_OLD_WIN_VERSION () { 1150 }
-sub ERROR_APP_WRONG_OS () { 1151 }
-sub ERROR_SINGLE_INSTANCE_APP () { 1152 }
-sub ERROR_RMODE_APP () { 1153 }
-sub ERROR_INVALID_DLL () { 1154 }
-sub ERROR_NO_ASSOCIATION () { 1155 }
-sub ERROR_DDE_FAIL () { 1156 }
-sub ERROR_DLL_NOT_FOUND () { 1157 }
-sub ERROR_NO_MORE_USER_HANDLES () { 1158 }
-sub ERROR_MESSAGE_SYNC_ONLY () { 1159 }
-sub ERROR_SOURCE_ELEMENT_EMPTY () { 1160 }
-sub ERROR_DESTINATION_ELEMENT_FULL () { 1161 }
-sub ERROR_ILLEGAL_ELEMENT_ADDRESS () { 1162 }
-sub ERROR_MAGAZINE_NOT_PRESENT () { 1163 }
-sub ERROR_DEVICE_REINITIALIZATION_NEEDED () { 1164 }
-sub ERROR_DEVICE_REQUIRES_CLEANING () { 1165 }
-sub ERROR_DEVICE_DOOR_OPEN () { 1166 }
-sub ERROR_DEVICE_NOT_CONNECTED () { 1167 }
-sub ERROR_NOT_FOUND () { 1168 }
-sub ERROR_NO_MATCH () { 1169 }
-sub ERROR_SET_NOT_FOUND () { 1170 }
-sub ERROR_POINT_NOT_FOUND () { 1171 }
-sub ERROR_NO_TRACKING_SERVICE () { 1172 }
-sub ERROR_NO_VOLUME_ID () { 1173 }
-sub ERROR_UNABLE_TO_REMOVE_REPLACED () { 1175 }
-sub ERROR_UNABLE_TO_MOVE_REPLACEMENT () { 1176 }
-sub ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 () { 1177 }
-sub ERROR_JOURNAL_DELETE_IN_PROGRESS () { 1178 }
-sub ERROR_JOURNAL_NOT_ACTIVE () { 1179 }
-sub ERROR_POTENTIAL_FILE_FOUND () { 1180 }
-sub ERROR_JOURNAL_ENTRY_DELETED () { 1181 }
-sub ERROR_BAD_DEVICE () { 1200 }
-sub ERROR_CONNECTION_UNAVAIL () { 1201 }
-sub ERROR_DEVICE_ALREADY_REMEMBERED () { 1202 }
-sub ERROR_NO_NET_OR_BAD_PATH () { 1203 }
-sub ERROR_BAD_PROVIDER () { 1204 }
-sub ERROR_CANNOT_OPEN_PROFILE () { 1205 }
-sub ERROR_BAD_PROFILE () { 1206 }
-sub ERROR_NOT_CONTAINER () { 1207 }
-sub ERROR_EXTENDED_ERROR () { 1208 }
-sub ERROR_INVALID_GROUPNAME () { 1209 }
-sub ERROR_INVALID_COMPUTERNAME () { 1210 }
-sub ERROR_INVALID_EVENTNAME () { 1211 }
-sub ERROR_INVALID_DOMAINNAME () { 1212 }
-sub ERROR_INVALID_SERVICENAME () { 1213 }
-sub ERROR_INVALID_NETNAME () { 1214 }
-sub ERROR_INVALID_SHARENAME () { 1215 }
-sub ERROR_INVALID_PASSWORDNAME () { 1216 }
-sub ERROR_INVALID_MESSAGENAME () { 1217 }
-sub ERROR_INVALID_MESSAGEDEST () { 1218 }
-sub ERROR_SESSION_CREDENTIAL_CONFLICT () { 1219 }
-sub ERROR_REMOTE_SESSION_LIMIT_EXCEEDED () { 1220 }
-sub ERROR_DUP_DOMAINNAME () { 1221 }
-sub ERROR_NO_NETWORK () { 1222 }
-sub ERROR_CANCELLED () { 1223 }
-sub ERROR_USER_MAPPED_FILE () { 1224 }
-sub ERROR_CONNECTION_REFUSED () { 1225 }
-sub ERROR_GRACEFUL_DISCONNECT () { 1226 }
-sub ERROR_ADDRESS_ALREADY_ASSOCIATED () { 1227 }
-sub ERROR_ADDRESS_NOT_ASSOCIATED () { 1228 }
-sub ERROR_CONNECTION_INVALID () { 1229 }
-sub ERROR_CONNECTION_ACTIVE () { 1230 }
-sub ERROR_NETWORK_UNREACHABLE () { 1231 }
-sub ERROR_HOST_UNREACHABLE () { 1232 }
-sub ERROR_PROTOCOL_UNREACHABLE () { 1233 }
-sub ERROR_PORT_UNREACHABLE () { 1234 }
-sub ERROR_REQUEST_ABORTED () { 1235 }
-sub ERROR_CONNECTION_ABORTED () { 1236 }
-sub ERROR_RETRY () { 1237 }
-sub ERROR_CONNECTION_COUNT_LIMIT () { 1238 }
-sub ERROR_LOGIN_TIME_RESTRICTION () { 1239 }
-sub ERROR_LOGIN_WKSTA_RESTRICTION () { 1240 }
-sub ERROR_INCORRECT_ADDRESS () { 1241 }
-sub ERROR_ALREADY_REGISTERED () { 1242 }
-sub ERROR_SERVICE_NOT_FOUND () { 1243 }
-sub ERROR_NOT_AUTHENTICATED () { 1244 }
-sub ERROR_NOT_LOGGED_ON () { 1245 }
-sub ERROR_CONTINUE () { 1246 }
-sub ERROR_ALREADY_INITIALIZED () { 1247 }
-sub ERROR_NO_MORE_DEVICES () { 1248 }
-sub ERROR_NO_SUCH_SITE () { 1249 }
-sub ERROR_DOMAIN_CONTROLLER_EXISTS () { 1250 }
-sub ERROR_ONLY_IF_CONNECTED () { 1251 }
-sub ERROR_OVERRIDE_NOCHANGES () { 1252 }
-sub ERROR_BAD_USER_PROFILE () { 1253 }
-sub ERROR_NOT_SUPPORTED_ON_SBS () { 1254 }
-sub ERROR_SERVER_SHUTDOWN_IN_PROGRESS () { 1255 }
-sub ERROR_HOST_DOWN () { 1256 }
-sub ERROR_NON_ACCOUNT_SID () { 1257 }
-sub ERROR_NON_DOMAIN_SID () { 1258 }
-sub ERROR_APPHELP_BLOCK () { 1259 }
-sub ERROR_ACCESS_DISABLED_BY_POLICY () { 1260 }
-sub ERROR_REG_NAT_CONSUMPTION () { 1261 }
-sub ERROR_CSCSHARE_OFFLINE () { 1262 }
-sub ERROR_PKINIT_FAILURE () { 1263 }
-sub ERROR_SMARTCARD_SUBSYSTEM_FAILURE () { 1264 }
-sub ERROR_DOWNGRADE_DETECTED () { 1265 }
-sub ERROR_MACHINE_LOCKED () { 1271 }
-sub ERROR_CALLBACK_SUPPLIED_INVALID_DATA () { 1273 }
-sub ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED () { 1274 }
-sub ERROR_DRIVER_BLOCKED () { 1275 }
-sub ERROR_INVALID_IMPORT_OF_NON_DLL () { 1276 }
-sub ERROR_ACCESS_DISABLED_WEBBLADE () { 1277 }
-sub ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER () { 1278 }
-sub ERROR_RECOVERY_FAILURE () { 1279 }
-sub ERROR_ALREADY_FIBER () { 1280 }
-sub EN_ERRSPACE () { 1280 }
-sub ERROR_ALREADY_THREAD () { 1281 }
-sub EN_MAXTEXT () { 1281 }
-sub ERROR_STACK_BUFFER_OVERRUN () { 1282 }
-sub ERROR_PARAMETER_QUOTA_EXCEEDED () { 1283 }
-sub ERROR_DEBUGGER_INACTIVE () { 1284 }
-sub ERROR_NOT_ALL_ASSIGNED () { 1300 }
-sub ERROR_SOME_NOT_MAPPED () { 1301 }
-sub ERROR_NO_QUOTAS_FOR_ACCOUNT () { 1302 }
-sub ERROR_LOCAL_USER_SESSION_KEY () { 1303 }
-sub ERROR_NULL_LM_PASSWORD () { 1304 }
-sub ERROR_UNKNOWN_REVISION () { 1305 }
-sub ERROR_REVISION_MISMATCH () { 1306 }
-sub ERROR_INVALID_OWNER () { 1307 }
-sub ERROR_INVALID_PRIMARY_GROUP () { 1308 }
-sub ERROR_NO_IMPERSONATION_TOKEN () { 1309 }
-sub ERROR_CANT_DISABLE_MANDATORY () { 1310 }
-sub ERROR_NO_LOGON_SERVERS () { 1311 }
-sub ERROR_NO_SUCH_LOGON_SESSION () { 1312 }
-sub ERROR_NO_SUCH_PRIVILEGE () { 1313 }
-sub ERROR_PRIVILEGE_NOT_HELD () { 1314 }
-sub ERROR_INVALID_ACCOUNT_NAME () { 1315 }
-sub ERROR_USER_EXISTS () { 1316 }
-sub ERROR_NO_SUCH_USER () { 1317 }
-sub ERROR_GROUP_EXISTS () { 1318 }
-sub ERROR_NO_SUCH_GROUP () { 1319 }
-sub ERROR_MEMBER_IN_GROUP () { 1320 }
-sub ERROR_MEMBER_NOT_IN_GROUP () { 1321 }
-sub ERROR_LAST_ADMIN () { 1322 }
-sub ERROR_WRONG_PASSWORD () { 1323 }
-sub ERROR_ILL_FORMED_PASSWORD () { 1324 }
-sub ERROR_PASSWORD_RESTRICTION () { 1325 }
-sub ERROR_LOGON_FAILURE () { 1326 }
-sub ERROR_ACCOUNT_RESTRICTION () { 1327 }
-sub ERROR_INVALID_LOGON_HOURS () { 1328 }
-sub ERROR_INVALID_WORKSTATION () { 1329 }
-sub ERROR_PASSWORD_EXPIRED () { 1330 }
-sub ERROR_ACCOUNT_DISABLED () { 1331 }
-sub ERROR_NONE_MAPPED () { 1332 }
-sub ERROR_TOO_MANY_LUIDS_REQUESTED () { 1333 }
-sub ERROR_LUIDS_EXHAUSTED () { 1334 }
-sub ERROR_INVALID_SUB_AUTHORITY () { 1335 }
-sub ERROR_INVALID_ACL () { 1336 }
-sub ERROR_INVALID_SID () { 1337 }
-sub ERROR_INVALID_SECURITY_DESCR () { 1338 }
-sub ERROR_BAD_INHERITANCE_ACL () { 1340 }
-sub ERROR_SERVER_DISABLED () { 1341 }
-sub ERROR_SERVER_NOT_DISABLED () { 1342 }
-sub ERROR_INVALID_ID_AUTHORITY () { 1343 }
-sub ERROR_ALLOTTED_SPACE_EXCEEDED () { 1344 }
-sub ERROR_INVALID_GROUP_ATTRIBUTES () { 1345 }
-sub ERROR_BAD_IMPERSONATION_LEVEL () { 1346 }
-sub ERROR_CANT_OPEN_ANONYMOUS () { 1347 }
-sub ERROR_BAD_VALIDATION_CLASS () { 1348 }
-sub ERROR_BAD_TOKEN_TYPE () { 1349 }
-sub ERROR_NO_SECURITY_ON_OBJECT () { 1350 }
-sub ERROR_CANT_ACCESS_DOMAIN_INFO () { 1351 }
-sub ERROR_INVALID_SERVER_STATE () { 1352 }
-sub ERROR_INVALID_DOMAIN_STATE () { 1353 }
-sub ERROR_INVALID_DOMAIN_ROLE () { 1354 }
-sub ERROR_NO_SUCH_DOMAIN () { 1355 }
-sub ERROR_DOMAIN_EXISTS () { 1356 }
-sub ERROR_DOMAIN_LIMIT_EXCEEDED () { 1357 }
-sub ERROR_INTERNAL_DB_CORRUPTION () { 1358 }
-sub ERROR_INTERNAL_ERROR () { 1359 }
-sub ERROR_GENERIC_NOT_MAPPED () { 1360 }
-sub ERROR_BAD_DESCRIPTOR_FORMAT () { 1361 }
-sub ERROR_NOT_LOGON_PROCESS () { 1362 }
-sub ERROR_LOGON_SESSION_EXISTS () { 1363 }
-sub ERROR_NO_SUCH_PACKAGE () { 1364 }
-sub ERROR_BAD_LOGON_SESSION_STATE () { 1365 }
-sub ERROR_LOGON_SESSION_COLLISION () { 1366 }
-sub ERROR_INVALID_LOGON_TYPE () { 1367 }
-sub ERROR_CANNOT_IMPERSONATE () { 1368 }
-sub ERROR_RXACT_INVALID_STATE () { 1369 }
-sub ERROR_RXACT_COMMIT_FAILURE () { 1370 }
-sub ERROR_SPECIAL_ACCOUNT () { 1371 }
-sub ERROR_SPECIAL_GROUP () { 1372 }
-sub ERROR_SPECIAL_USER () { 1373 }
-sub ERROR_MEMBERS_PRIMARY_GROUP () { 1374 }
-sub ERROR_TOKEN_ALREADY_IN_USE () { 1375 }
-sub ERROR_NO_SUCH_ALIAS () { 1376 }
-sub ERROR_MEMBER_NOT_IN_ALIAS () { 1377 }
-sub ERROR_MEMBER_IN_ALIAS () { 1378 }
-sub ERROR_ALIAS_EXISTS () { 1379 }
-sub ERROR_LOGON_NOT_GRANTED () { 1380 }
-sub ERROR_TOO_MANY_SECRETS () { 1381 }
-sub ERROR_SECRET_TOO_LONG () { 1382 }
-sub ERROR_INTERNAL_DB_ERROR () { 1383 }
-sub ERROR_TOO_MANY_CONTEXT_IDS () { 1384 }
-sub ERROR_LOGON_TYPE_NOT_GRANTED () { 1385 }
-sub ERROR_NT_CROSS_ENCRYPTION_REQUIRED () { 1386 }
-sub ERROR_NO_SUCH_MEMBER () { 1387 }
-sub ERROR_INVALID_MEMBER () { 1388 }
-sub ERROR_TOO_MANY_SIDS () { 1389 }
-sub ERROR_LM_CROSS_ENCRYPTION_REQUIRED () { 1390 }
-sub ERROR_NO_INHERITANCE () { 1391 }
-sub ERROR_FILE_CORRUPT () { 1392 }
-sub ERROR_DISK_CORRUPT () { 1393 }
-sub ERROR_NO_USER_SESSION_KEY () { 1394 }
-sub ERROR_LICENSE_QUOTA_EXCEEDED () { 1395 }
-sub ERROR_WRONG_TARGET_NAME () { 1396 }
-sub ERROR_MUTUAL_AUTH_FAILED () { 1397 }
-sub ERROR_TIME_SKEW () { 1398 }
-sub ERROR_CURRENT_DOMAIN_NOT_ALLOWED () { 1399 }
-sub ERROR_INVALID_WINDOW_HANDLE () { 1400 }
-sub ERROR_INVALID_MENU_HANDLE () { 1401 }
-sub ERROR_INVALID_CURSOR_HANDLE () { 1402 }
-sub ERROR_INVALID_ACCEL_HANDLE () { 1403 }
-sub ERROR_INVALID_HOOK_HANDLE () { 1404 }
-sub ERROR_INVALID_DWP_HANDLE () { 1405 }
-sub ERROR_TLW_WITH_WSCHILD () { 1406 }
-sub ERROR_CANNOT_FIND_WND_CLASS () { 1407 }
-sub ERROR_WINDOW_OF_OTHER_THREAD () { 1408 }
-sub ERROR_HOTKEY_ALREADY_REGISTERED () { 1409 }
-sub ERROR_CLASS_ALREADY_EXISTS () { 1410 }
-sub ERROR_CLASS_DOES_NOT_EXIST () { 1411 }
-sub ERROR_CLASS_HAS_WINDOWS () { 1412 }
-sub ERROR_INVALID_INDEX () { 1413 }
-sub ERROR_INVALID_ICON_HANDLE () { 1414 }
-sub ERROR_PRIVATE_DIALOG_INDEX () { 1415 }
-sub ERROR_LISTBOX_ID_NOT_FOUND () { 1416 }
-sub ERROR_NO_WILDCARD_CHARACTERS () { 1417 }
-sub ERROR_CLIPBOARD_NOT_OPEN () { 1418 }
-sub ERROR_HOTKEY_NOT_REGISTERED () { 1419 }
-sub ERROR_WINDOW_NOT_DIALOG () { 1420 }
-sub ERROR_CONTROL_ID_NOT_FOUND () { 1421 }
-sub ERROR_INVALID_COMBOBOX_MESSAGE () { 1422 }
-sub ERROR_WINDOW_NOT_COMBOBOX () { 1423 }
-sub ERROR_INVALID_EDIT_HEIGHT () { 1424 }
-sub ERROR_DC_NOT_FOUND () { 1425 }
-sub ERROR_INVALID_HOOK_FILTER () { 1426 }
-sub ERROR_INVALID_FILTER_PROC () { 1427 }
-sub ERROR_HOOK_NEEDS_HMOD () { 1428 }
-sub ERROR_GLOBAL_ONLY_HOOK () { 1429 }
-sub ERROR_JOURNAL_HOOK_SET () { 1430 }
-sub ERROR_HOOK_NOT_INSTALLED () { 1431 }
-sub ERROR_INVALID_LB_MESSAGE () { 1432 }
-sub ERROR_SETCOUNT_ON_BAD_LB () { 1433 }
-sub ERROR_LB_WITHOUT_TABSTOPS () { 1434 }
-sub ERROR_DESTROY_OBJECT_OF_OTHER_THREAD () { 1435 }
-sub ERROR_CHILD_WINDOW_MENU () { 1436 }
-sub ERROR_NO_SYSTEM_MENU () { 1437 }
-sub ERROR_INVALID_MSGBOX_STYLE () { 1438 }
-sub ERROR_INVALID_SPI_VALUE () { 1439 }
-sub ERROR_SCREEN_ALREADY_LOCKED () { 1440 }
-sub ERROR_HWNDS_HAVE_DIFF_PARENT () { 1441 }
-sub ERROR_NOT_CHILD_WINDOW () { 1442 }
-sub ERROR_INVALID_GW_COMMAND () { 1443 }
-sub ERROR_INVALID_THREAD_ID () { 1444 }
-sub ERROR_NON_MDICHILD_WINDOW () { 1445 }
-sub ERROR_POPUP_ALREADY_ACTIVE () { 1446 }
-sub ERROR_NO_SCROLLBARS () { 1447 }
-sub ERROR_INVALID_SCROLLBAR_RANGE () { 1448 }
-sub ERROR_INVALID_SHOWWIN_COMMAND () { 1449 }
-sub ERROR_NO_SYSTEM_RESOURCES () { 1450 }
-sub ERROR_NONPAGED_SYSTEM_RESOURCES () { 1451 }
-sub ERROR_PAGED_SYSTEM_RESOURCES () { 1452 }
-sub ERROR_WORKING_SET_QUOTA () { 1453 }
-sub ERROR_PAGEFILE_QUOTA () { 1454 }
-sub ERROR_COMMITMENT_LIMIT () { 1455 }
-sub ERROR_MENU_ITEM_NOT_FOUND () { 1456 }
-sub ERROR_INVALID_KEYBOARD_HANDLE () { 1457 }
-sub ERROR_HOOK_TYPE_NOT_ALLOWED () { 1458 }
-sub ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION () { 1459 }
-sub ERROR_TIMEOUT () { 1460 }
-sub ERROR_INVALID_MONITOR_HANDLE () { 1461 }
-sub ERROR_EVENTLOG_FILE_CORRUPT () { 1500 }
-sub ERROR_EVENTLOG_CANT_START () { 1501 }
-sub ERROR_LOG_FILE_FULL () { 1502 }
-sub ERROR_EVENTLOG_FILE_CHANGED () { 1503 }
-sub EN_HSCROLL () { 1537 }
-sub EN_VSCROLL () { 1538 }
-sub ERROR_INSTALL_SERVICE_FAILURE () { 1601 }
-sub ERROR_INSTALL_USEREXIT () { 1602 }
-sub ERROR_INSTALL_FAILURE () { 1603 }
-sub ERROR_INSTALL_SUSPEND () { 1604 }
-sub ERROR_UNKNOWN_PRODUCT () { 1605 }
-sub ERROR_UNKNOWN_FEATURE () { 1606 }
-sub ERROR_UNKNOWN_COMPONENT () { 1607 }
-sub ERROR_UNKNOWN_PROPERTY () { 1608 }
-sub ERROR_INVALID_HANDLE_STATE () { 1609 }
-sub ERROR_BAD_CONFIGURATION () { 1610 }
-sub ERROR_INDEX_ABSENT () { 1611 }
-sub ERROR_INSTALL_SOURCE_ABSENT () { 1612 }
-sub ERROR_INSTALL_PACKAGE_VERSION () { 1613 }
-sub ERROR_PRODUCT_UNINSTALLED () { 1614 }
-sub ERROR_BAD_QUERY_SYNTAX () { 1615 }
-sub ERROR_INVALID_FIELD () { 1616 }
-sub ERROR_DEVICE_REMOVED () { 1617 }
-sub ERROR_INSTALL_ALREADY_RUNNING () { 1618 }
-sub ERROR_INSTALL_PACKAGE_OPEN_FAILED () { 1619 }
-sub ERROR_INSTALL_PACKAGE_INVALID () { 1620 }
-sub ERROR_INSTALL_UI_FAILURE () { 1621 }
-sub ERROR_INSTALL_LOG_FAILURE () { 1622 }
-sub ERROR_INSTALL_LANGUAGE_UNSUPPORTED () { 1623 }
-sub ERROR_INSTALL_TRANSFORM_FAILURE () { 1624 }
-sub ERROR_INSTALL_PACKAGE_REJECTED () { 1625 }
-sub ERROR_FUNCTION_NOT_CALLED () { 1626 }
-sub ERROR_FUNCTION_FAILED () { 1627 }
-sub ERROR_INVALID_TABLE () { 1628 }
-sub ERROR_DATATYPE_MISMATCH () { 1629 }
-sub ERROR_UNSUPPORTED_TYPE () { 1630 }
-sub ERROR_CREATE_FAILED () { 1631 }
-sub ERROR_INSTALL_TEMP_UNWRITABLE () { 1632 }
-sub ERROR_INSTALL_PLATFORM_UNSUPPORTED () { 1633 }
-sub ERROR_INSTALL_NOTUSED () { 1634 }
-sub ERROR_PATCH_PACKAGE_OPEN_FAILED () { 1635 }
-sub ERROR_PATCH_PACKAGE_INVALID () { 1636 }
-sub ERROR_PATCH_PACKAGE_UNSUPPORTED () { 1637 }
-sub ERROR_PRODUCT_VERSION () { 1638 }
-sub ERROR_INVALID_COMMAND_LINE () { 1639 }
-sub ERROR_INSTALL_REMOTE_DISALLOWED () { 1640 }
-sub ERROR_SUCCESS_REBOOT_INITIATED () { 1641 }
-sub ERROR_PATCH_TARGET_NOT_FOUND () { 1642 }
-sub ERROR_PATCH_PACKAGE_REJECTED () { 1643 }
-sub ERROR_INSTALL_TRANSFORM_REJECTED () { 1644 }
-sub ERROR_INSTALL_REMOTE_PROHIBITED () { 1645 }
-sub EPT_S_INVALID_ENTRY () { 1751 }
-sub EPT_S_CANT_PERFORM_OP () { 1752 }
-sub EPT_S_NOT_REGISTERED () { 1753 }
-sub ERROR_INVALID_USER_BUFFER () { 1784 }
-sub ERROR_UNRECOGNIZED_MEDIA () { 1785 }
-sub ERROR_NO_TRUST_LSA_SECRET () { 1786 }
-sub ERROR_NO_TRUST_SAM_ACCOUNT () { 1787 }
-sub ERROR_TRUSTED_DOMAIN_FAILURE () { 1788 }
-sub ERROR_TRUSTED_RELATIONSHIP_FAILURE () { 1789 }
-sub ERROR_TRUST_FAILURE () { 1790 }
-sub ERROR_NETLOGON_NOT_STARTED () { 1792 }
-sub ERROR_ACCOUNT_EXPIRED () { 1793 }
-sub ERROR_REDIRECTOR_HAS_OPEN_HANDLES () { 1794 }
-sub ERROR_PRINTER_DRIVER_ALREADY_INSTALLED () { 1795 }
-sub ERROR_UNKNOWN_PORT () { 1796 }
-sub ERROR_UNKNOWN_PRINTER_DRIVER () { 1797 }
-sub ERROR_UNKNOWN_PRINTPROCESSOR () { 1798 }
-sub ERROR_INVALID_SEPARATOR_FILE () { 1799 }
-sub ERROR_INVALID_PRIORITY () { 1800 }
-sub ERROR_INVALID_PRINTER_NAME () { 1801 }
-sub ERROR_PRINTER_ALREADY_EXISTS () { 1802 }
-sub ERROR_INVALID_PRINTER_COMMAND () { 1803 }
-sub ERROR_INVALID_DATATYPE () { 1804 }
-sub ERROR_INVALID_ENVIRONMENT () { 1805 }
-sub ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT () { 1807 }
-sub ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT () { 1808 }
-sub ERROR_NOLOGON_SERVER_TRUST_ACCOUNT () { 1809 }
-sub ERROR_DOMAIN_TRUST_INCONSISTENT () { 1810 }
-sub ERROR_SERVER_HAS_OPEN_HANDLES () { 1811 }
-sub ERROR_RESOURCE_DATA_NOT_FOUND () { 1812 }
-sub ERROR_RESOURCE_TYPE_NOT_FOUND () { 1813 }
-sub ERROR_RESOURCE_NAME_NOT_FOUND () { 1814 }
-sub ERROR_RESOURCE_LANG_NOT_FOUND () { 1815 }
-sub ERROR_NOT_ENOUGH_QUOTA () { 1816 }
-sub EPT_S_CANT_CREATE () { 1899 }
-sub ERROR_INVALID_TIME () { 1901 }
-sub ERROR_INVALID_FORM_NAME () { 1902 }
-sub ERROR_INVALID_FORM_SIZE () { 1903 }
-sub ERROR_ALREADY_WAITING () { 1904 }
-sub ERROR_PRINTER_DELETED () { 1905 }
-sub ERROR_INVALID_PRINTER_STATE () { 1906 }
-sub ERROR_PASSWORD_MUST_CHANGE () { 1907 }
-sub ERROR_DOMAIN_CONTROLLER_NOT_FOUND () { 1908 }
-sub ERROR_ACCOUNT_LOCKED_OUT () { 1909 }
-sub ERROR_NO_SITENAME () { 1919 }
-sub ERROR_CANT_ACCESS_FILE () { 1920 }
-sub ERROR_CANT_RESOLVE_FILENAME () { 1921 }
-sub ERROR_KM_DRIVER_BLOCKED () { 1930 }
-sub ERROR_CONTEXT_EXPIRED () { 1931 }
-sub ERROR_PER_USER_TRUST_QUOTA_EXCEEDED () { 1932 }
-sub ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED () { 1933 }
-sub ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED () { 1934 }
-sub ERROR_INVALID_PIXEL_FORMAT () { 2000 }
-sub ERROR_BAD_DRIVER () { 2001 }
-sub ERROR_INVALID_WINDOW_STYLE () { 2002 }
-sub ERROR_METAFILE_NOT_SUPPORTED () { 2003 }
-sub ERROR_TRANSFORM_NOT_SUPPORTED () { 2004 }
-sub ERROR_CLIPPING_NOT_SUPPORTED () { 2005 }
-sub ERROR_INVALID_CMM () { 2010 }
-sub ERROR_INVALID_PROFILE () { 2011 }
-sub ERROR_TAG_NOT_FOUND () { 2012 }
-sub ERROR_TAG_NOT_PRESENT () { 2013 }
-sub ERROR_DUPLICATE_TAG () { 2014 }
-sub ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE () { 2015 }
-sub ERROR_PROFILE_NOT_FOUND () { 2016 }
-sub ERROR_INVALID_COLORSPACE () { 2017 }
-sub ERROR_ICM_NOT_ENABLED () { 2018 }
-sub ERROR_DELETING_ICM_XFORM () { 2019 }
-sub ERROR_INVALID_TRANSFORM () { 2020 }
-sub ERROR_COLORSPACE_MISMATCH () { 2021 }
-sub ERROR_INVALID_COLORINDEX () { 2022 }
-sub ETO_NUMERICSLATIN () { 2048 }
-sub EV_EVENT1 () { 2048 }
-sub ES_READONLY () { 2048 }
-sub ERROR_CONNECTED_OTHER_PASSWORD () { 2108 }
-sub ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT () { 2109 }
-sub ERROR_BAD_USERNAME () { 2202 }
-sub ERROR_NOT_CONNECTED () { 2250 }
-sub ERROR_OPEN_FILES () { 2401 }
-sub ERROR_ACTIVE_CONNECTIONS () { 2402 }
-sub ERROR_DEVICE_IN_USE () { 2404 }
-sub ERROR_UNKNOWN_PRINT_MONITOR () { 3000 }
-sub ERROR_PRINTER_DRIVER_IN_USE () { 3001 }
-sub ERROR_SPOOL_FILE_NOT_FOUND () { 3002 }
-sub ERROR_SPL_NO_STARTDOC () { 3003 }
-sub ERROR_SPL_NO_ADDJOB () { 3004 }
-sub ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED () { 3005 }
-sub ERROR_PRINT_MONITOR_ALREADY_INSTALLED () { 3006 }
-sub ERROR_INVALID_PRINT_MONITOR () { 3007 }
-sub ERROR_PRINT_MONITOR_IN_USE () { 3008 }
-sub ERROR_PRINTER_HAS_JOBS_QUEUED () { 3009 }
-sub ERROR_SUCCESS_REBOOT_REQUIRED () { 3010 }
-sub ERROR_SUCCESS_RESTART_REQUIRED () { 3011 }
-sub ERROR_PRINTER_NOT_FOUND () { 3012 }
-sub ERROR_PRINTER_DRIVER_WARNED () { 3013 }
-sub ERROR_PRINTER_DRIVER_BLOCKED () { 3014 }
-sub ERROR_WINS_INTERNAL () { 4000 }
-sub ERROR_CAN_NOT_DEL_LOCAL_WINS () { 4001 }
-sub ERROR_STATIC_INIT () { 4002 }
-sub ERROR_INC_BACKUP () { 4003 }
-sub ERROR_FULL_BACKUP () { 4004 }
-sub ERROR_REC_NON_EXISTENT () { 4005 }
-sub ERROR_RPL_NOT_ALLOWED () { 4006 }
-sub ETO_IGNORELANGUAGE () { 4096 }
-sub EV_EVENT2 () { 4096 }
-sub ES_WANTRETURN () { 4096 }
-sub END_PATH () { 4098 }
-sub EXT_DEVICE_CAPS () { 4099 }
-sub ERROR_DHCP_ADDRESS_CONFLICT () { 4100 }
-sub ENCAPSULATED_POSTSCRIPT () { 4116 }
-sub ERROR_WMI_GUID_NOT_FOUND () { 4200 }
-sub ERROR_WMI_INSTANCE_NOT_FOUND () { 4201 }
-sub ERROR_WMI_ITEMID_NOT_FOUND () { 4202 }
-sub ERROR_WMI_TRY_AGAIN () { 4203 }
-sub ERROR_WMI_DP_NOT_FOUND () { 4204 }
-sub ERROR_WMI_UNRESOLVED_INSTANCE_REF () { 4205 }
-sub ERROR_WMI_ALREADY_ENABLED () { 4206 }
-sub ERROR_WMI_GUID_DISCONNECTED () { 4207 }
-sub ERROR_WMI_SERVER_UNAVAILABLE () { 4208 }
-sub ERROR_WMI_DP_FAILED () { 4209 }
-sub ERROR_WMI_INVALID_MOF () { 4210 }
-sub ERROR_WMI_INVALID_REGINFO () { 4211 }
-sub ERROR_WMI_ALREADY_DISABLED () { 4212 }
-sub ERROR_WMI_READ_ONLY () { 4213 }
-sub ERROR_WMI_SET_FAILURE () { 4214 }
-sub ERROR_INVALID_MEDIA () { 4300 }
-sub ERROR_INVALID_LIBRARY () { 4301 }
-sub ERROR_INVALID_MEDIA_POOL () { 4302 }
-sub ERROR_DRIVE_MEDIA_MISMATCH () { 4303 }
-sub ERROR_MEDIA_OFFLINE () { 4304 }
-sub ERROR_LIBRARY_OFFLINE () { 4305 }
-sub ERROR_EMPTY () { 4306 }
-sub ERROR_NOT_EMPTY () { 4307 }
-sub ERROR_MEDIA_UNAVAILABLE () { 4308 }
-sub ERROR_RESOURCE_DISABLED () { 4309 }
-sub ERROR_INVALID_CLEANER () { 4310 }
-sub ERROR_UNABLE_TO_CLEAN () { 4311 }
-sub ERROR_OBJECT_NOT_FOUND () { 4312 }
-sub ERROR_DATABASE_FAILURE () { 4313 }
-sub ERROR_DATABASE_FULL () { 4314 }
-sub ERROR_MEDIA_INCOMPATIBLE () { 4315 }
-sub ERROR_RESOURCE_NOT_PRESENT () { 4316 }
-sub ERROR_INVALID_OPERATION () { 4317 }
-sub ERROR_MEDIA_NOT_AVAILABLE () { 4318 }
-sub ERROR_DEVICE_NOT_AVAILABLE () { 4319 }
-sub ERROR_REQUEST_REFUSED () { 4320 }
-sub ERROR_INVALID_DRIVE_OBJECT () { 4321 }
-sub ERROR_LIBRARY_FULL () { 4322 }
-sub ERROR_MEDIUM_NOT_ACCESSIBLE () { 4323 }
-sub ERROR_UNABLE_TO_LOAD_MEDIUM () { 4324 }
-sub ERROR_UNABLE_TO_INVENTORY_DRIVE () { 4325 }
-sub ERROR_UNABLE_TO_INVENTORY_SLOT () { 4326 }
-sub ERROR_UNABLE_TO_INVENTORY_TRANSPORT () { 4327 }
-sub ERROR_TRANSPORT_FULL () { 4328 }
-sub ERROR_CONTROLLING_IEPORT () { 4329 }
-sub ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA () { 4330 }
-sub ERROR_CLEANER_SLOT_SET () { 4331 }
-sub ERROR_CLEANER_SLOT_NOT_SET () { 4332 }
-sub ERROR_CLEANER_CARTRIDGE_SPENT () { 4333 }
-sub ERROR_UNEXPECTED_OMID () { 4334 }
-sub ERROR_CANT_DELETE_LAST_ITEM () { 4335 }
-sub ERROR_MESSAGE_EXCEEDS_MAX_SIZE () { 4336 }
-sub ERROR_VOLUME_CONTAINS_SYS_FILES () { 4337 }
-sub ERROR_INDIGENOUS_TYPE () { 4338 }
-sub ERROR_NO_SUPPORTING_DRIVES () { 4339 }
-sub ERROR_CLEANER_CARTRIDGE_INSTALLED () { 4340 }
-sub ERROR_FILE_OFFLINE () { 4350 }
-sub ERROR_REMOTE_STORAGE_NOT_ACTIVE () { 4351 }
-sub ERROR_REMOTE_STORAGE_MEDIA_ERROR () { 4352 }
-sub ERROR_NOT_A_REPARSE_POINT () { 4390 }
-sub ERROR_REPARSE_ATTRIBUTE_CONFLICT () { 4391 }
-sub ERROR_INVALID_REPARSE_DATA () { 4392 }
-sub ERROR_REPARSE_TAG_INVALID () { 4393 }
-sub ERROR_REPARSE_TAG_MISMATCH () { 4394 }
-sub ERROR_VOLUME_NOT_SIS_ENABLED () { 4500 }
-sub ERROR_DEPENDENT_RESOURCE_EXISTS () { 5001 }
-sub ERROR_DEPENDENCY_NOT_FOUND () { 5002 }
-sub ERROR_DEPENDENCY_ALREADY_EXISTS () { 5003 }
-sub ERROR_RESOURCE_NOT_ONLINE () { 5004 }
-sub ERROR_HOST_NODE_NOT_AVAILABLE () { 5005 }
-sub ERROR_RESOURCE_NOT_AVAILABLE () { 5006 }
-sub ERROR_RESOURCE_NOT_FOUND () { 5007 }
-sub ERROR_SHUTDOWN_CLUSTER () { 5008 }
-sub ERROR_CANT_EVICT_ACTIVE_NODE () { 5009 }
-sub ERROR_OBJECT_ALREADY_EXISTS () { 5010 }
-sub ERROR_OBJECT_IN_LIST () { 5011 }
-sub ERROR_GROUP_NOT_AVAILABLE () { 5012 }
-sub ERROR_GROUP_NOT_FOUND () { 5013 }
-sub ERROR_GROUP_NOT_ONLINE () { 5014 }
-sub ERROR_HOST_NODE_NOT_RESOURCE_OWNER () { 5015 }
-sub ERROR_HOST_NODE_NOT_GROUP_OWNER () { 5016 }
-sub ERROR_RESMON_CREATE_FAILED () { 5017 }
-sub ERROR_RESMON_ONLINE_FAILED () { 5018 }
-sub ERROR_RESOURCE_ONLINE () { 5019 }
-sub ERROR_QUORUM_RESOURCE () { 5020 }
-sub ERROR_NOT_QUORUM_CAPABLE () { 5021 }
-sub ERROR_CLUSTER_SHUTTING_DOWN () { 5022 }
-sub ERROR_INVALID_STATE () { 5023 }
-sub ERROR_RESOURCE_PROPERTIES_STORED () { 5024 }
-sub ERROR_NOT_QUORUM_CLASS () { 5025 }
-sub ERROR_CORE_RESOURCE () { 5026 }
-sub ERROR_QUORUM_RESOURCE_ONLINE_FAILED () { 5027 }
-sub ERROR_QUORUMLOG_OPEN_FAILED () { 5028 }
-sub ERROR_CLUSTERLOG_CORRUPT () { 5029 }
-sub ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE () { 5030 }
-sub ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE () { 5031 }
-sub ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND () { 5032 }
-sub ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE () { 5033 }
-sub ERROR_QUORUM_OWNER_ALIVE () { 5034 }
-sub ERROR_NETWORK_NOT_AVAILABLE () { 5035 }
-sub ERROR_NODE_NOT_AVAILABLE () { 5036 }
-sub ERROR_ALL_NODES_NOT_AVAILABLE () { 5037 }
-sub ERROR_RESOURCE_FAILED () { 5038 }
-sub ERROR_CLUSTER_INVALID_NODE () { 5039 }
-sub ERROR_CLUSTER_NODE_EXISTS () { 5040 }
-sub ERROR_CLUSTER_JOIN_IN_PROGRESS () { 5041 }
-sub ERROR_CLUSTER_NODE_NOT_FOUND () { 5042 }
-sub ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND () { 5043 }
-sub ERROR_CLUSTER_NETWORK_EXISTS () { 5044 }
-sub ERROR_CLUSTER_NETWORK_NOT_FOUND () { 5045 }
-sub ERROR_CLUSTER_NETINTERFACE_EXISTS () { 5046 }
-sub ERROR_CLUSTER_NETINTERFACE_NOT_FOUND () { 5047 }
-sub ERROR_CLUSTER_INVALID_REQUEST () { 5048 }
-sub ERROR_CLUSTER_INVALID_NETWORK_PROVIDER () { 5049 }
-sub ERROR_CLUSTER_NODE_DOWN () { 5050 }
-sub ERROR_CLUSTER_NODE_UNREACHABLE () { 5051 }
-sub ERROR_CLUSTER_NODE_NOT_MEMBER () { 5052 }
-sub ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS () { 5053 }
-sub ERROR_CLUSTER_INVALID_NETWORK () { 5054 }
-sub ERROR_CLUSTER_NODE_UP () { 5056 }
-sub ERROR_CLUSTER_IPADDR_IN_USE () { 5057 }
-sub ERROR_CLUSTER_NODE_NOT_PAUSED () { 5058 }
-sub ERROR_CLUSTER_NO_SECURITY_CONTEXT () { 5059 }
-sub ERROR_CLUSTER_NETWORK_NOT_INTERNAL () { 5060 }
-sub ERROR_CLUSTER_NODE_ALREADY_UP () { 5061 }
-sub ERROR_CLUSTER_NODE_ALREADY_DOWN () { 5062 }
-sub ERROR_CLUSTER_NETWORK_ALREADY_ONLINE () { 5063 }
-sub ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE () { 5064 }
-sub ERROR_CLUSTER_NODE_ALREADY_MEMBER () { 5065 }
-sub ERROR_CLUSTER_LAST_INTERNAL_NETWORK () { 5066 }
-sub ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS () { 5067 }
-sub ERROR_INVALID_OPERATION_ON_QUORUM () { 5068 }
-sub ERROR_DEPENDENCY_NOT_ALLOWED () { 5069 }
-sub ERROR_CLUSTER_NODE_PAUSED () { 5070 }
-sub ERROR_NODE_CANT_HOST_RESOURCE () { 5071 }
-sub ERROR_CLUSTER_NODE_NOT_READY () { 5072 }
-sub ERROR_CLUSTER_NODE_SHUTTING_DOWN () { 5073 }
-sub ERROR_CLUSTER_JOIN_ABORTED () { 5074 }
-sub ERROR_CLUSTER_INCOMPATIBLE_VERSIONS () { 5075 }
-sub ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED () { 5076 }
-sub ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED () { 5077 }
-sub ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND () { 5078 }
-sub ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED () { 5079 }
-sub ERROR_CLUSTER_RESNAME_NOT_FOUND () { 5080 }
-sub ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED () { 5081 }
-sub ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST () { 5082 }
-sub ERROR_CLUSTER_DATABASE_SEQMISMATCH () { 5083 }
-sub ERROR_RESMON_INVALID_STATE () { 5084 }
-sub ERROR_CLUSTER_GUM_NOT_LOCKER () { 5085 }
-sub ERROR_QUORUM_DISK_NOT_FOUND () { 5086 }
-sub ERROR_DATABASE_BACKUP_CORRUPT () { 5087 }
-sub ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT () { 5088 }
-sub ERROR_RESOURCE_PROPERTY_UNCHANGEABLE () { 5089 }
-sub ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE () { 5890 }
-sub ERROR_CLUSTER_QUORUMLOG_NOT_FOUND () { 5891 }
-sub ERROR_CLUSTER_MEMBERSHIP_HALT () { 5892 }
-sub ERROR_CLUSTER_INSTANCE_ID_MISMATCH () { 5893 }
-sub ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP () { 5894 }
-sub ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH () { 5895 }
-sub ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP () { 5896 }
-sub ERROR_CLUSTER_PARAMETER_MISMATCH () { 5897 }
-sub ERROR_NODE_CANNOT_BE_CLUSTERED () { 5898 }
-sub ERROR_CLUSTER_WRONG_OS_VERSION () { 5899 }
-sub ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME () { 5900 }
-sub ERROR_CLUSCFG_ALREADY_COMMITTED () { 5901 }
-sub ERROR_CLUSCFG_ROLLBACK_FAILED () { 5902 }
-sub ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT () { 5903 }
-sub ERROR_CLUSTER_OLD_VERSION () { 5904 }
-sub ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME () { 5905 }
-sub ERROR_ENCRYPTION_FAILED () { 6000 }
-sub ERROR_DECRYPTION_FAILED () { 6001 }
-sub ERROR_FILE_ENCRYPTED () { 6002 }
-sub ERROR_NO_RECOVERY_POLICY () { 6003 }
-sub ERROR_NO_EFS () { 6004 }
-sub ERROR_WRONG_EFS () { 6005 }
-sub ERROR_NO_USER_KEYS () { 6006 }
-sub ERROR_FILE_NOT_ENCRYPTED () { 6007 }
-sub ERROR_NOT_EXPORT_FORMAT () { 6008 }
-sub ERROR_FILE_READ_ONLY () { 6009 }
-sub ERROR_DIR_EFS_DISALLOWED () { 6010 }
-sub ERROR_EFS_SERVER_NOT_TRUSTED () { 6011 }
-sub ERROR_BAD_RECOVERY_POLICY () { 6012 }
-sub ERROR_EFS_ALG_BLOB_TOO_BIG () { 6013 }
-sub ERROR_VOLUME_NOT_SUPPORT_EFS () { 6014 }
-sub ERROR_EFS_DISABLED () { 6015 }
-sub ERROR_EFS_VERSION_NOT_SUPPORT () { 6016 }
-sub ERROR_NO_BROWSER_SERVERS_FOUND () { 6118 }
-sub ERROR_CTX_WINSTATION_NAME_INVALID () { 7001 }
-sub ERROR_CTX_INVALID_PD () { 7002 }
-sub ERROR_CTX_PD_NOT_FOUND () { 7003 }
-sub ERROR_CTX_WD_NOT_FOUND () { 7004 }
-sub ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY () { 7005 }
-sub ERROR_CTX_SERVICE_NAME_COLLISION () { 7006 }
-sub ERROR_CTX_CLOSE_PENDING () { 7007 }
-sub ERROR_CTX_NO_OUTBUF () { 7008 }
-sub ERROR_CTX_MODEM_INF_NOT_FOUND () { 7009 }
-sub ERROR_CTX_INVALID_MODEMNAME () { 7010 }
-sub ERROR_CTX_MODEM_RESPONSE_ERROR () { 7011 }
-sub ERROR_CTX_MODEM_RESPONSE_TIMEOUT () { 7012 }
-sub ERROR_CTX_MODEM_RESPONSE_NO_CARRIER () { 7013 }
-sub ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE () { 7014 }
-sub ERROR_CTX_MODEM_RESPONSE_BUSY () { 7015 }
-sub ERROR_CTX_MODEM_RESPONSE_VOICE () { 7016 }
-sub ERROR_CTX_TD_ERROR () { 7017 }
-sub ERROR_CTX_WINSTATION_NOT_FOUND () { 7022 }
-sub ERROR_CTX_WINSTATION_ALREADY_EXISTS () { 7023 }
-sub ERROR_CTX_WINSTATION_BUSY () { 7024 }
-sub ERROR_CTX_BAD_VIDEO_MODE () { 7025 }
-sub ERROR_CTX_GRAPHICS_INVALID () { 7035 }
-sub ERROR_CTX_LOGON_DISABLED () { 7037 }
-sub ERROR_CTX_NOT_CONSOLE () { 7038 }
-sub ERROR_CTX_CLIENT_QUERY_TIMEOUT () { 7040 }
-sub ERROR_CTX_CONSOLE_DISCONNECT () { 7041 }
-sub ERROR_CTX_CONSOLE_CONNECT () { 7042 }
-sub ERROR_CTX_SHADOW_DENIED () { 7044 }
-sub ERROR_CTX_WINSTATION_ACCESS_DENIED () { 7045 }
-sub ERROR_CTX_INVALID_WD () { 7049 }
-sub ERROR_CTX_SHADOW_INVALID () { 7050 }
-sub ERROR_CTX_SHADOW_DISABLED () { 7051 }
-sub ERROR_CTX_CLIENT_LICENSE_IN_USE () { 7052 }
-sub ERROR_CTX_CLIENT_LICENSE_NOT_SET () { 7053 }
-sub ERROR_CTX_LICENSE_NOT_AVAILABLE () { 7054 }
-sub ERROR_CTX_LICENSE_CLIENT_INVALID () { 7055 }
-sub ERROR_CTX_LICENSE_EXPIRED () { 7056 }
-sub ERROR_CTX_SHADOW_NOT_RUNNING () { 7057 }
-sub ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE () { 7058 }
-sub ERROR_ACTIVATION_COUNT_EXCEEDED () { 7059 }
-sub ES_NUMBER () { 8192 }
-sub ERROR_DS_NOT_INSTALLED () { 8200 }
-sub ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY () { 8201 }
-sub ERROR_DS_NO_ATTRIBUTE_OR_VALUE () { 8202 }
-sub ERROR_DS_INVALID_ATTRIBUTE_SYNTAX () { 8203 }
-sub ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED () { 8204 }
-sub ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS () { 8205 }
-sub ERROR_DS_BUSY () { 8206 }
-sub ERROR_DS_UNAVAILABLE () { 8207 }
-sub ERROR_DS_NO_RIDS_ALLOCATED () { 8208 }
-sub ERROR_DS_NO_MORE_RIDS () { 8209 }
-sub ERROR_DS_INCORRECT_ROLE_OWNER () { 8210 }
-sub ERROR_DS_RIDMGR_INIT_ERROR () { 8211 }
-sub ERROR_DS_OBJ_CLASS_VIOLATION () { 8212 }
-sub ERROR_DS_CANT_ON_NON_LEAF () { 8213 }
-sub ERROR_DS_CANT_ON_RDN () { 8214 }
-sub ERROR_DS_CANT_MOD_OBJ_CLASS () { 8215 }
-sub ERROR_DS_CROSS_DOM_MOVE_ERROR () { 8216 }
-sub ERROR_DS_GC_NOT_AVAILABLE () { 8217 }
-sub ERROR_SHARED_POLICY () { 8218 }
-sub ERROR_POLICY_OBJECT_NOT_FOUND () { 8219 }
-sub ERROR_POLICY_ONLY_IN_DS () { 8220 }
-sub ERROR_PROMOTION_ACTIVE () { 8221 }
-sub ERROR_NO_PROMOTION_ACTIVE () { 8222 }
-sub ERROR_DS_OPERATIONS_ERROR () { 8224 }
-sub ERROR_DS_PROTOCOL_ERROR () { 8225 }
-sub ERROR_DS_TIMELIMIT_EXCEEDED () { 8226 }
-sub ERROR_DS_SIZELIMIT_EXCEEDED () { 8227 }
-sub ERROR_DS_ADMIN_LIMIT_EXCEEDED () { 8228 }
-sub ERROR_DS_COMPARE_FALSE () { 8229 }
-sub ERROR_DS_COMPARE_TRUE () { 8230 }
-sub ERROR_DS_AUTH_METHOD_NOT_SUPPORTED () { 8231 }
-sub ERROR_DS_STRONG_AUTH_REQUIRED () { 8232 }
-sub ERROR_DS_INAPPROPRIATE_AUTH () { 8233 }
-sub ERROR_DS_AUTH_UNKNOWN () { 8234 }
-sub ERROR_DS_REFERRAL () { 8235 }
-sub ERROR_DS_UNAVAILABLE_CRIT_EXTENSION () { 8236 }
-sub ERROR_DS_CONFIDENTIALITY_REQUIRED () { 8237 }
-sub ERROR_DS_INAPPROPRIATE_MATCHING () { 8238 }
-sub ERROR_DS_CONSTRAINT_VIOLATION () { 8239 }
-sub ERROR_DS_NO_SUCH_OBJECT () { 8240 }
-sub ERROR_DS_ALIAS_PROBLEM () { 8241 }
-sub ERROR_DS_INVALID_DN_SYNTAX () { 8242 }
-sub ERROR_DS_IS_LEAF () { 8243 }
-sub ERROR_DS_ALIAS_DEREF_PROBLEM () { 8244 }
-sub ERROR_DS_UNWILLING_TO_PERFORM () { 8245 }
-sub ERROR_DS_LOOP_DETECT () { 8246 }
-sub ERROR_DS_NAMING_VIOLATION () { 8247 }
-sub ERROR_DS_OBJECT_RESULTS_TOO_LARGE () { 8248 }
-sub ERROR_DS_AFFECTS_MULTIPLE_DSAS () { 8249 }
-sub ERROR_DS_SERVER_DOWN () { 8250 }
-sub ERROR_DS_LOCAL_ERROR () { 8251 }
-sub ERROR_DS_ENCODING_ERROR () { 8252 }
-sub ERROR_DS_DECODING_ERROR () { 8253 }
-sub ERROR_DS_FILTER_UNKNOWN () { 8254 }
-sub ERROR_DS_PARAM_ERROR () { 8255 }
-sub ERROR_DS_NOT_SUPPORTED () { 8256 }
-sub ERROR_DS_NO_RESULTS_RETURNED () { 8257 }
-sub ERROR_DS_CONTROL_NOT_FOUND () { 8258 }
-sub ERROR_DS_CLIENT_LOOP () { 8259 }
-sub ERROR_DS_REFERRAL_LIMIT_EXCEEDED () { 8260 }
-sub ERROR_DS_SORT_CONTROL_MISSING () { 8261 }
-sub ERROR_DS_OFFSET_RANGE_ERROR () { 8262 }
-sub ERROR_DS_ROOT_MUST_BE_NC () { 8301 }
-sub ERROR_DS_ADD_REPLICA_INHIBITED () { 8302 }
-sub ERROR_DS_ATT_NOT_DEF_IN_SCHEMA () { 8303 }
-sub ERROR_DS_MAX_OBJ_SIZE_EXCEEDED () { 8304 }
-sub ERROR_DS_OBJ_STRING_NAME_EXISTS () { 8305 }
-sub ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA () { 8306 }
-sub ERROR_DS_RDN_DOESNT_MATCH_SCHEMA () { 8307 }
-sub ERROR_DS_NO_REQUESTED_ATTS_FOUND () { 8308 }
-sub ERROR_DS_USER_BUFFER_TO_SMALL () { 8309 }
-sub ERROR_DS_ATT_IS_NOT_ON_OBJ () { 8310 }
-sub ERROR_DS_ILLEGAL_MOD_OPERATION () { 8311 }
-sub ERROR_DS_OBJ_TOO_LARGE () { 8312 }
-sub ERROR_DS_BAD_INSTANCE_TYPE () { 8313 }
-sub ERROR_DS_MASTERDSA_REQUIRED () { 8314 }
-sub ERROR_DS_OBJECT_CLASS_REQUIRED () { 8315 }
-sub ERROR_DS_MISSING_REQUIRED_ATT () { 8316 }
-sub ERROR_DS_ATT_NOT_DEF_FOR_CLASS () { 8317 }
-sub ERROR_DS_ATT_ALREADY_EXISTS () { 8318 }
-sub ERROR_DS_CANT_ADD_ATT_VALUES () { 8320 }
-sub ERROR_DS_SINGLE_VALUE_CONSTRAINT () { 8321 }
-sub ERROR_DS_RANGE_CONSTRAINT () { 8322 }
-sub ERROR_DS_ATT_VAL_ALREADY_EXISTS () { 8323 }
-sub ERROR_DS_CANT_REM_MISSING_ATT () { 8324 }
-sub ERROR_DS_CANT_REM_MISSING_ATT_VAL () { 8325 }
-sub ERROR_DS_ROOT_CANT_BE_SUBREF () { 8326 }
-sub ERROR_DS_NO_CHAINING () { 8327 }
-sub ERROR_DS_NO_CHAINED_EVAL () { 8328 }
-sub ERROR_DS_NO_PARENT_OBJECT () { 8329 }
-sub ERROR_DS_PARENT_IS_AN_ALIAS () { 8330 }
-sub ERROR_DS_CANT_MIX_MASTER_AND_REPS () { 8331 }
-sub ERROR_DS_CHILDREN_EXIST () { 8332 }
-sub ERROR_DS_OBJ_NOT_FOUND () { 8333 }
-sub ERROR_DS_ALIASED_OBJ_MISSING () { 8334 }
-sub ERROR_DS_BAD_NAME_SYNTAX () { 8335 }
-sub ERROR_DS_ALIAS_POINTS_TO_ALIAS () { 8336 }
-sub ERROR_DS_CANT_DEREF_ALIAS () { 8337 }
-sub ERROR_DS_OUT_OF_SCOPE () { 8338 }
-sub ERROR_DS_OBJECT_BEING_REMOVED () { 8339 }
-sub ERROR_DS_CANT_DELETE_DSA_OBJ () { 8340 }
-sub ERROR_DS_GENERIC_ERROR () { 8341 }
-sub ERROR_DS_DSA_MUST_BE_INT_MASTER () { 8342 }
-sub ERROR_DS_CLASS_NOT_DSA () { 8343 }
-sub ERROR_DS_INSUFF_ACCESS_RIGHTS () { 8344 }
-sub ERROR_DS_ILLEGAL_SUPERIOR () { 8345 }
-sub ERROR_DS_ATTRIBUTE_OWNED_BY_SAM () { 8346 }
-sub ERROR_DS_NAME_TOO_MANY_PARTS () { 8347 }
-sub ERROR_DS_NAME_TOO_LONG () { 8348 }
-sub ERROR_DS_NAME_VALUE_TOO_LONG () { 8349 }
-sub ERROR_DS_NAME_UNPARSEABLE () { 8350 }
-sub ERROR_DS_NAME_TYPE_UNKNOWN () { 8351 }
-sub ERROR_DS_NOT_AN_OBJECT () { 8352 }
-sub ERROR_DS_SEC_DESC_TOO_SHORT () { 8353 }
-sub ERROR_DS_SEC_DESC_INVALID () { 8354 }
-sub ERROR_DS_NO_DELETED_NAME () { 8355 }
-sub ERROR_DS_SUBREF_MUST_HAVE_PARENT () { 8356 }
-sub ERROR_DS_NCNAME_MUST_BE_NC () { 8357 }
-sub ERROR_DS_CANT_ADD_SYSTEM_ONLY () { 8358 }
-sub ERROR_DS_CLASS_MUST_BE_CONCRETE () { 8359 }
-sub ERROR_DS_INVALID_DMD () { 8360 }
-sub ERROR_DS_OBJ_GUID_EXISTS () { 8361 }
-sub ERROR_DS_NOT_ON_BACKLINK () { 8362 }
-sub ERROR_DS_NO_CROSSREF_FOR_NC () { 8363 }
-sub ERROR_DS_SHUTTING_DOWN () { 8364 }
-sub ERROR_DS_UNKNOWN_OPERATION () { 8365 }
-sub ERROR_DS_INVALID_ROLE_OWNER () { 8366 }
-sub ERROR_DS_COULDNT_CONTACT_FSMO () { 8367 }
-sub ERROR_DS_CROSS_NC_DN_RENAME () { 8368 }
-sub ERROR_DS_CANT_MOD_SYSTEM_ONLY () { 8369 }
-sub ERROR_DS_REPLICATOR_ONLY () { 8370 }
-sub ERROR_DS_OBJ_CLASS_NOT_DEFINED () { 8371 }
-sub ERROR_DS_OBJ_CLASS_NOT_SUBCLASS () { 8372 }
-sub ERROR_DS_NAME_REFERENCE_INVALID () { 8373 }
-sub ERROR_DS_CROSS_REF_EXISTS () { 8374 }
-sub ERROR_DS_CANT_DEL_MASTER_CROSSREF () { 8375 }
-sub ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD () { 8376 }
-sub ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX () { 8377 }
-sub ERROR_DS_DUP_RDN () { 8378 }
-sub ERROR_DS_DUP_OID () { 8379 }
-sub ERROR_DS_DUP_MAPI_ID () { 8380 }
-sub ERROR_DS_DUP_SCHEMA_ID_GUID () { 8381 }
-sub ERROR_DS_DUP_LDAP_DISPLAY_NAME () { 8382 }
-sub ERROR_DS_SEMANTIC_ATT_TEST () { 8383 }
-sub ERROR_DS_SYNTAX_MISMATCH () { 8384 }
-sub ERROR_DS_EXISTS_IN_MUST_HAVE () { 8385 }
-sub ERROR_DS_EXISTS_IN_MAY_HAVE () { 8386 }
-sub ERROR_DS_NONEXISTENT_MAY_HAVE () { 8387 }
-sub ERROR_DS_NONEXISTENT_MUST_HAVE () { 8388 }
-sub ERROR_DS_AUX_CLS_TEST_FAIL () { 8389 }
-sub ERROR_DS_NONEXISTENT_POSS_SUP () { 8390 }
-sub ERROR_DS_SUB_CLS_TEST_FAIL () { 8391 }
-sub ERROR_DS_BAD_RDN_ATT_ID_SYNTAX () { 8392 }
-sub ERROR_DS_EXISTS_IN_AUX_CLS () { 8393 }
-sub ERROR_DS_EXISTS_IN_SUB_CLS () { 8394 }
-sub ERROR_DS_EXISTS_IN_POSS_SUP () { 8395 }
-sub ERROR_DS_RECALCSCHEMA_FAILED () { 8396 }
-sub ERROR_DS_TREE_DELETE_NOT_FINISHED () { 8397 }
-sub ERROR_DS_CANT_DELETE () { 8398 }
-sub ERROR_DS_ATT_SCHEMA_REQ_ID () { 8399 }
-sub ERROR_DS_BAD_ATT_SCHEMA_SYNTAX () { 8400 }
-sub ERROR_DS_CANT_CACHE_ATT () { 8401 }
-sub ERROR_DS_CANT_CACHE_CLASS () { 8402 }
-sub ERROR_DS_CANT_REMOVE_ATT_CACHE () { 8403 }
-sub ERROR_DS_CANT_REMOVE_CLASS_CACHE () { 8404 }
-sub ERROR_DS_CANT_RETRIEVE_DN () { 8405 }
-sub ERROR_DS_MISSING_SUPREF () { 8406 }
-sub ERROR_DS_CANT_RETRIEVE_INSTANCE () { 8407 }
-sub ERROR_DS_CODE_INCONSISTENCY () { 8408 }
-sub ERROR_DS_DATABASE_ERROR () { 8409 }
-sub ERROR_DS_GOVERNSID_MISSING () { 8410 }
-sub ERROR_DS_MISSING_EXPECTED_ATT () { 8411 }
-sub ERROR_DS_NCNAME_MISSING_CR_REF () { 8412 }
-sub ERROR_DS_SECURITY_CHECKING_ERROR () { 8413 }
-sub ERROR_DS_SCHEMA_NOT_LOADED () { 8414 }
-sub ERROR_DS_SCHEMA_ALLOC_FAILED () { 8415 }
-sub ERROR_DS_ATT_SCHEMA_REQ_SYNTAX () { 8416 }
-sub ERROR_DS_GCVERIFY_ERROR () { 8417 }
-sub ERROR_DS_DRA_SCHEMA_MISMATCH () { 8418 }
-sub ERROR_DS_CANT_FIND_DSA_OBJ () { 8419 }
-sub ERROR_DS_CANT_FIND_EXPECTED_NC () { 8420 }
-sub ERROR_DS_CANT_FIND_NC_IN_CACHE () { 8421 }
-sub ERROR_DS_CANT_RETRIEVE_CHILD () { 8422 }
-sub ERROR_DS_SECURITY_ILLEGAL_MODIFY () { 8423 }
-sub ERROR_DS_CANT_REPLACE_HIDDEN_REC () { 8424 }
-sub ERROR_DS_BAD_HIERARCHY_FILE () { 8425 }
-sub ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED () { 8426 }
-sub ERROR_DS_CONFIG_PARAM_MISSING () { 8427 }
-sub ERROR_DS_COUNTING_AB_INDICES_FAILED () { 8428 }
-sub ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED () { 8429 }
-sub ERROR_DS_INTERNAL_FAILURE () { 8430 }
-sub ERROR_DS_UNKNOWN_ERROR () { 8431 }
-sub ERROR_DS_ROOT_REQUIRES_CLASS_TOP () { 8432 }
-sub ERROR_DS_REFUSING_FSMO_ROLES () { 8433 }
-sub ERROR_DS_MISSING_FSMO_SETTINGS () { 8434 }
-sub ERROR_DS_UNABLE_TO_SURRENDER_ROLES () { 8435 }
-sub ERROR_DS_DRA_GENERIC () { 8436 }
-sub ERROR_DS_DRA_INVALID_PARAMETER () { 8437 }
-sub ERROR_DS_DRA_BUSY () { 8438 }
-sub ERROR_DS_DRA_BAD_DN () { 8439 }
-sub ERROR_DS_DRA_BAD_NC () { 8440 }
-sub ERROR_DS_DRA_DN_EXISTS () { 8441 }
-sub ERROR_DS_DRA_INTERNAL_ERROR () { 8442 }
-sub ERROR_DS_DRA_INCONSISTENT_DIT () { 8443 }
-sub ERROR_DS_DRA_CONNECTION_FAILED () { 8444 }
-sub ERROR_DS_DRA_BAD_INSTANCE_TYPE () { 8445 }
-sub ERROR_DS_DRA_OUT_OF_MEM () { 8446 }
-sub ERROR_DS_DRA_MAIL_PROBLEM () { 8447 }
-sub ERROR_DS_DRA_REF_ALREADY_EXISTS () { 8448 }
-sub ERROR_DS_DRA_REF_NOT_FOUND () { 8449 }
-sub ERROR_DS_DRA_OBJ_IS_REP_SOURCE () { 8450 }
-sub ERROR_DS_DRA_DB_ERROR () { 8451 }
-sub ERROR_DS_DRA_NO_REPLICA () { 8452 }
-sub ERROR_DS_DRA_ACCESS_DENIED () { 8453 }
-sub ERROR_DS_DRA_NOT_SUPPORTED () { 8454 }
-sub ERROR_DS_DRA_RPC_CANCELLED () { 8455 }
-sub ERROR_DS_DRA_SOURCE_DISABLED () { 8456 }
-sub ERROR_DS_DRA_SINK_DISABLED () { 8457 }
-sub ERROR_DS_DRA_NAME_COLLISION () { 8458 }
-sub ERROR_DS_DRA_SOURCE_REINSTALLED () { 8459 }
-sub ERROR_DS_DRA_MISSING_PARENT () { 8460 }
-sub ERROR_DS_DRA_PREEMPTED () { 8461 }
-sub ERROR_DS_DRA_ABANDON_SYNC () { 8462 }
-sub ERROR_DS_DRA_SHUTDOWN () { 8463 }
-sub ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET () { 8464 }
-sub ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA () { 8465 }
-sub ERROR_DS_DRA_EXTN_CONNECTION_FAILED () { 8466 }
-sub ERROR_DS_INSTALL_SCHEMA_MISMATCH () { 8467 }
-sub ERROR_DS_DUP_LINK_ID () { 8468 }
-sub ERROR_DS_NAME_ERROR_RESOLVING () { 8469 }
-sub ERROR_DS_NAME_ERROR_NOT_FOUND () { 8470 }
-sub ERROR_DS_NAME_ERROR_NOT_UNIQUE () { 8471 }
-sub ERROR_DS_NAME_ERROR_NO_MAPPING () { 8472 }
-sub ERROR_DS_NAME_ERROR_DOMAIN_ONLY () { 8473 }
-sub ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING () { 8474 }
-sub ERROR_DS_CONSTRUCTED_ATT_MOD () { 8475 }
-sub ERROR_DS_WRONG_OM_OBJ_CLASS () { 8476 }
-sub ERROR_DS_DRA_REPL_PENDING () { 8477 }
-sub ERROR_DS_DS_REQUIRED () { 8478 }
-sub ERROR_DS_INVALID_LDAP_DISPLAY_NAME () { 8479 }
-sub ERROR_DS_NON_BASE_SEARCH () { 8480 }
-sub ERROR_DS_CANT_RETRIEVE_ATTS () { 8481 }
-sub ERROR_DS_BACKLINK_WITHOUT_LINK () { 8482 }
-sub ERROR_DS_EPOCH_MISMATCH () { 8483 }
-sub ERROR_DS_SRC_NAME_MISMATCH () { 8484 }
-sub ERROR_DS_SRC_AND_DST_NC_IDENTICAL () { 8485 }
-sub ERROR_DS_DST_NC_MISMATCH () { 8486 }
-sub ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC () { 8487 }
-sub ERROR_DS_SRC_GUID_MISMATCH () { 8488 }
-sub ERROR_DS_CANT_MOVE_DELETED_OBJECT () { 8489 }
-sub ERROR_DS_PDC_OPERATION_IN_PROGRESS () { 8490 }
-sub ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD () { 8491 }
-sub ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION () { 8492 }
-sub ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS () { 8493 }
-sub ERROR_DS_NC_MUST_HAVE_NC_PARENT () { 8494 }
-sub ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE () { 8495 }
-sub ERROR_DS_DST_DOMAIN_NOT_NATIVE () { 8496 }
-sub ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER () { 8497 }
-sub ERROR_DS_CANT_MOVE_ACCOUNT_GROUP () { 8498 }
-sub ERROR_DS_CANT_MOVE_RESOURCE_GROUP () { 8499 }
-sub ERROR_DS_INVALID_SEARCH_FLAG () { 8500 }
-sub ERROR_DS_NO_TREE_DELETE_ABOVE_NC () { 8501 }
-sub ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE () { 8502 }
-sub ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE () { 8503 }
-sub ERROR_DS_SAM_INIT_FAILURE () { 8504 }
-sub ERROR_DS_SENSITIVE_GROUP_VIOLATION () { 8505 }
-sub ERROR_DS_CANT_MOD_PRIMARYGROUPID () { 8506 }
-sub ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD () { 8507 }
-sub ERROR_DS_NONSAFE_SCHEMA_CHANGE () { 8508 }
-sub ERROR_DS_SCHEMA_UPDATE_DISALLOWED () { 8509 }
-sub ERROR_DS_CANT_CREATE_UNDER_SCHEMA () { 8510 }
-sub ERROR_DS_INSTALL_NO_SRC_SCH_VERSION () { 8511 }
-sub ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE () { 8512 }
-sub ERROR_DS_INVALID_GROUP_TYPE () { 8513 }
-sub ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN () { 8514 }
-sub ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN () { 8515 }
-sub ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER () { 8516 }
-sub ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER () { 8517 }
-sub ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER () { 8518 }
-sub ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER () { 8519 }
-sub ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER () { 8520 }
-sub ERROR_DS_HAVE_PRIMARY_MEMBERS () { 8521 }
-sub ERROR_DS_STRING_SD_CONVERSION_FAILED () { 8522 }
-sub ERROR_DS_NAMING_MASTER_GC () { 8523 }
-sub ERROR_DS_DNS_LOOKUP_FAILURE () { 8524 }
-sub ERROR_DS_COULDNT_UPDATE_SPNS () { 8525 }
-sub ERROR_DS_CANT_RETRIEVE_SD () { 8526 }
-sub ERROR_DS_KEY_NOT_UNIQUE () { 8527 }
-sub ERROR_DS_WRONG_LINKED_ATT_SYNTAX () { 8528 }
-sub ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD () { 8529 }
-sub ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY () { 8530 }
-sub ERROR_DS_CANT_START () { 8531 }
-sub ERROR_DS_INIT_FAILURE () { 8532 }
-sub ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION () { 8533 }
-sub ERROR_DS_SOURCE_DOMAIN_IN_FOREST () { 8534 }
-sub ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST () { 8535 }
-sub ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED () { 8536 }
-sub ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN () { 8537 }
-sub ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER () { 8538 }
-sub ERROR_DS_SRC_SID_EXISTS_IN_FOREST () { 8539 }
-sub ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH () { 8540 }
-sub ERROR_SAM_INIT_FAILURE () { 8541 }
-sub ERROR_DS_DRA_SCHEMA_INFO_SHIP () { 8542 }
-sub ERROR_DS_DRA_SCHEMA_CONFLICT () { 8543 }
-sub ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT () { 8544 }
-sub ERROR_DS_DRA_OBJ_NC_MISMATCH () { 8545 }
-sub ERROR_DS_NC_STILL_HAS_DSAS () { 8546 }
-sub ERROR_DS_GC_REQUIRED () { 8547 }
-sub ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY () { 8548 }
-sub ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS () { 8549 }
-sub ERROR_DS_CANT_ADD_TO_GC () { 8550 }
-sub ERROR_DS_NO_CHECKPOINT_WITH_PDC () { 8551 }
-sub ERROR_DS_SOURCE_AUDITING_NOT_ENABLED () { 8552 }
-sub ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC () { 8553 }
-sub ERROR_DS_INVALID_NAME_FOR_SPN () { 8554 }
-sub ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS () { 8555 }
-sub ERROR_DS_UNICODEPWD_NOT_IN_QUOTES () { 8556 }
-sub ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED () { 8557 }
-sub ERROR_DS_MUST_BE_RUN_ON_DST_DC () { 8558 }
-sub ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER () { 8559 }
-sub ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ () { 8560 }
-sub ERROR_DS_INIT_FAILURE_CONSOLE () { 8561 }
-sub ERROR_DS_SAM_INIT_FAILURE_CONSOLE () { 8562 }
-sub ERROR_DS_FOREST_VERSION_TOO_HIGH () { 8563 }
-sub ERROR_DS_DOMAIN_VERSION_TOO_HIGH () { 8564 }
-sub ERROR_DS_FOREST_VERSION_TOO_LOW () { 8565 }
-sub ERROR_DS_DOMAIN_VERSION_TOO_LOW () { 8566 }
-sub ERROR_DS_INCOMPATIBLE_VERSION () { 8567 }
-sub ERROR_DS_LOW_DSA_VERSION () { 8568 }
-sub ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN () { 8569 }
-sub ERROR_DS_NOT_SUPPORTED_SORT_ORDER () { 8570 }
-sub ERROR_DS_NAME_NOT_UNIQUE () { 8571 }
-sub ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 () { 8572 }
-sub ERROR_DS_OUT_OF_VERSION_STORE () { 8573 }
-sub ERROR_DS_INCOMPATIBLE_CONTROLS_USED () { 8574 }
-sub ERROR_DS_NO_REF_DOMAIN () { 8575 }
-sub ERROR_DS_RESERVED_LINK_ID () { 8576 }
-sub ERROR_DS_LINK_ID_NOT_AVAILABLE () { 8577 }
-sub ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER () { 8578 }
-sub ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE () { 8579 }
-sub ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC () { 8580 }
-sub ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG () { 8581 }
-sub ERROR_DS_MODIFYDN_WRONG_GRANDPARENT () { 8582 }
-sub ERROR_DS_NAME_ERROR_TRUST_REFERRAL () { 8583 }
-sub ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER () { 8584 }
-sub ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD () { 8585 }
-sub ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 () { 8586 }
-sub ERROR_DS_THREAD_LIMIT_EXCEEDED () { 8587 }
-sub ERROR_DS_NOT_CLOSEST () { 8588 }
-sub ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF () { 8589 }
-sub ERROR_DS_SINGLE_USER_MODE_FAILED () { 8590 }
-sub ERROR_DS_NTDSCRIPT_SYNTAX_ERROR () { 8591 }
-sub ERROR_DS_NTDSCRIPT_PROCESS_ERROR () { 8592 }
-sub ERROR_DS_DIFFERENT_REPL_EPOCHS () { 8593 }
-sub ERROR_DS_DRS_EXTENSIONS_CHANGED () { 8594 }
-sub ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR () { 8595 }
-sub ERROR_DS_NO_MSDS_INTID () { 8596 }
-sub ERROR_DS_DUP_MSDS_INTID () { 8597 }
-sub ERROR_DS_EXISTS_IN_RDNATTID () { 8598 }
-sub ERROR_DS_AUTHORIZATION_FAILED () { 8599 }
-sub ERROR_DS_INVALID_SCRIPT () { 8600 }
-sub ERROR_DS_REMOTE_CROSSREF_OP_FAILED () { 8601 }
-sub ERROR_DS_CROSS_REF_BUSY () { 8602 }
-sub ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN () { 8603 }
-sub ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC () { 8604 }
-sub ERROR_DS_DUPLICATE_ID_FOUND () { 8605 }
-sub ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT () { 8606 }
-sub ERROR_DS_GROUP_CONVERSION_ERROR () { 8607 }
-sub ERROR_DS_CANT_MOVE_APP_BASIC_GROUP () { 8608 }
-sub ERROR_DS_CANT_MOVE_APP_QUERY_GROUP () { 8609 }
-sub ERROR_DS_ROLE_NOT_VERIFIED () { 8610 }
-sub ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL () { 8611 }
-sub ERROR_DS_DOMAIN_RENAME_IN_PROGRESS () { 8612 }
-sub ERROR_DS_EXISTING_AD_CHILD_NC () { 8613 }
-sub EWOULDBLOCK () { 10035 }
-sub EINPROGRESS () { 10036 }
-sub EALREADY () { 10037 }
-sub ENOTSOCK () { 10038 }
-sub EDESTADDRREQ () { 10039 }
-sub EMSGSIZE () { 10040 }
-sub EPROTOTYPE () { 10041 }
-sub ENOPROTOOPT () { 10042 }
-sub EPROTONOSUPPORT () { 10043 }
-sub ESOCKTNOSUPPORT () { 10044 }
-sub EOPNOTSUPP () { 10045 }
-sub EPFNOSUPPORT () { 10046 }
-sub EAFNOSUPPORT () { 10047 }
-sub EADDRINUSE () { 10048 }
-sub EADDRNOTAVAIL () { 10049 }
-sub ENETDOWN () { 10050 }
-sub ENETUNREACH () { 10051 }
-sub ENETRESET () { 10052 }
-sub ECONNABORTED () { 10053 }
-sub ECONNRESET () { 10054 }
-sub ENOBUFS () { 10055 }
-sub EISCONN () { 10056 }
-sub ENOTCONN () { 10057 }
-sub ESHUTDOWN () { 10058 }
-sub ETOOMANYREFS () { 10059 }
-sub ETIMEDOUT () { 10060 }
-sub ECONNREFUSED () { 10061 }
-sub ELOOP () { 10062 }
-sub EHOSTDOWN () { 10064 }
-sub EHOSTUNREACH () { 10065 }
-sub EPROCLIM () { 10067 }
-sub EUSERS () { 10068 }
-sub EDQUOT () { 10069 }
-sub ESTALE () { 10070 }
-sub EREMOTE () { 10071 }
-sub EDISCON () { 10101 }
-sub ENOMORE () { 10102 }
-sub ECANCELLED () { 10103 }
-sub EINVALIDPROCTABLE () { 10104 }
-sub EINVALIDPROVIDER () { 10105 }
-sub EPROVIDERFAILEDINIT () { 10106 }
-sub EREFUSED () { 10112 }
-sub ERROR_IPSEC_QM_POLICY_EXISTS () { 13000 }
-sub ERROR_IPSEC_QM_POLICY_NOT_FOUND () { 13001 }
-sub ERROR_IPSEC_QM_POLICY_IN_USE () { 13002 }
-sub ERROR_IPSEC_MM_POLICY_EXISTS () { 13003 }
-sub ERROR_IPSEC_MM_POLICY_NOT_FOUND () { 13004 }
-sub ERROR_IPSEC_MM_POLICY_IN_USE () { 13005 }
-sub ERROR_IPSEC_MM_FILTER_EXISTS () { 13006 }
-sub ERROR_IPSEC_MM_FILTER_NOT_FOUND () { 13007 }
-sub ERROR_IPSEC_TRANSPORT_FILTER_EXISTS () { 13008 }
-sub ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND () { 13009 }
-sub ERROR_IPSEC_MM_AUTH_EXISTS () { 13010 }
-sub ERROR_IPSEC_MM_AUTH_NOT_FOUND () { 13011 }
-sub ERROR_IPSEC_MM_AUTH_IN_USE () { 13012 }
-sub ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND () { 13013 }
-sub ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND () { 13014 }
-sub ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND () { 13015 }
-sub ERROR_IPSEC_TUNNEL_FILTER_EXISTS () { 13016 }
-sub ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND () { 13017 }
-sub ERROR_IPSEC_MM_FILTER_PENDING_DELETION () { 13018 }
-sub ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION () { 13019 }
-sub ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION () { 13020 }
-sub ERROR_IPSEC_MM_POLICY_PENDING_DELETION () { 13021 }
-sub ERROR_IPSEC_MM_AUTH_PENDING_DELETION () { 13022 }
-sub ERROR_IPSEC_QM_POLICY_PENDING_DELETION () { 13023 }
-sub ERROR_IPSEC_IKE_AUTH_FAIL () { 13801 }
-sub ERROR_IPSEC_IKE_ATTRIB_FAIL () { 13802 }
-sub ERROR_IPSEC_IKE_NEGOTIATION_PENDING () { 13803 }
-sub ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR () { 13804 }
-sub ERROR_IPSEC_IKE_TIMED_OUT () { 13805 }
-sub ERROR_IPSEC_IKE_NO_CERT () { 13806 }
-sub ERROR_IPSEC_IKE_SA_DELETED () { 13807 }
-sub ERROR_IPSEC_IKE_SA_REAPED () { 13808 }
-sub ERROR_IPSEC_IKE_MM_ACQUIRE_DROP () { 13809 }
-sub ERROR_IPSEC_IKE_QM_ACQUIRE_DROP () { 13810 }
-sub ERROR_IPSEC_IKE_QUEUE_DROP_MM () { 13811 }
-sub ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM () { 13812 }
-sub ERROR_IPSEC_IKE_DROP_NO_RESPONSE () { 13813 }
-sub ERROR_IPSEC_IKE_MM_DELAY_DROP () { 13814 }
-sub ERROR_IPSEC_IKE_QM_DELAY_DROP () { 13815 }
-sub ERROR_IPSEC_IKE_ERROR () { 13816 }
-sub ERROR_IPSEC_IKE_CRL_FAILED () { 13817 }
-sub ERROR_IPSEC_IKE_INVALID_KEY_USAGE () { 13818 }
-sub ERROR_IPSEC_IKE_INVALID_CERT_TYPE () { 13819 }
-sub ERROR_IPSEC_IKE_NO_PRIVATE_KEY () { 13820 }
-sub ERROR_IPSEC_IKE_DH_FAIL () { 13822 }
-sub ERROR_IPSEC_IKE_INVALID_HEADER () { 13824 }
-sub ERROR_IPSEC_IKE_NO_POLICY () { 13825 }
-sub ERROR_IPSEC_IKE_INVALID_SIGNATURE () { 13826 }
-sub ERROR_IPSEC_IKE_KERBEROS_ERROR () { 13827 }
-sub ERROR_IPSEC_IKE_NO_PUBLIC_KEY () { 13828 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR () { 13829 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_SA () { 13830 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_PROP () { 13831 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_TRANS () { 13832 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_KE () { 13833 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_ID () { 13834 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_CERT () { 13835 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ () { 13836 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_HASH () { 13837 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_SIG () { 13838 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_NONCE () { 13839 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY () { 13840 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_DELETE () { 13841 }
-sub ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR () { 13842 }
-sub ERROR_IPSEC_IKE_INVALID_PAYLOAD () { 13843 }
-sub ERROR_IPSEC_IKE_LOAD_SOFT_SA () { 13844 }
-sub ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN () { 13845 }
-sub ERROR_IPSEC_IKE_INVALID_COOKIE () { 13846 }
-sub ERROR_IPSEC_IKE_NO_PEER_CERT () { 13847 }
-sub ERROR_IPSEC_IKE_PEER_CRL_FAILED () { 13848 }
-sub ERROR_IPSEC_IKE_POLICY_CHANGE () { 13849 }
-sub ERROR_IPSEC_IKE_NO_MM_POLICY () { 13850 }
-sub ERROR_IPSEC_IKE_NOTCBPRIV () { 13851 }
-sub ERROR_IPSEC_IKE_SECLOADFAIL () { 13852 }
-sub ERROR_IPSEC_IKE_FAILSSPINIT () { 13853 }
-sub ERROR_IPSEC_IKE_FAILQUERYSSP () { 13854 }
-sub ERROR_IPSEC_IKE_SRVACQFAIL () { 13855 }
-sub ERROR_IPSEC_IKE_SRVQUERYCRED () { 13856 }
-sub ERROR_IPSEC_IKE_GETSPIFAIL () { 13857 }
-sub ERROR_IPSEC_IKE_INVALID_FILTER () { 13858 }
-sub ERROR_IPSEC_IKE_OUT_OF_MEMORY () { 13859 }
-sub ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED () { 13860 }
-sub ERROR_IPSEC_IKE_INVALID_POLICY () { 13861 }
-sub ERROR_IPSEC_IKE_UNKNOWN_DOI () { 13862 }
-sub ERROR_IPSEC_IKE_INVALID_SITUATION () { 13863 }
-sub ERROR_IPSEC_IKE_DH_FAILURE () { 13864 }
-sub ERROR_IPSEC_IKE_INVALID_GROUP () { 13865 }
-sub ERROR_IPSEC_IKE_ENCRYPT () { 13866 }
-sub ERROR_IPSEC_IKE_DECRYPT () { 13867 }
-sub ERROR_IPSEC_IKE_POLICY_MATCH () { 13868 }
-sub ERROR_IPSEC_IKE_UNSUPPORTED_ID () { 13869 }
-sub ERROR_IPSEC_IKE_INVALID_HASH () { 13870 }
-sub ERROR_IPSEC_IKE_INVALID_HASH_ALG () { 13871 }
-sub ERROR_IPSEC_IKE_INVALID_HASH_SIZE () { 13872 }
-sub ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG () { 13873 }
-sub ERROR_IPSEC_IKE_INVALID_AUTH_ALG () { 13874 }
-sub ERROR_IPSEC_IKE_INVALID_SIG () { 13875 }
-sub ERROR_IPSEC_IKE_LOAD_FAILED () { 13876 }
-sub ERROR_IPSEC_IKE_RPC_DELETE () { 13877 }
-sub ERROR_IPSEC_IKE_BENIGN_REINIT () { 13878 }
-sub ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY () { 13879 }
-sub ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN () { 13881 }
-sub ERROR_IPSEC_IKE_MM_LIMIT () { 13882 }
-sub ERROR_IPSEC_IKE_NEGOTIATION_DISABLED () { 13883 }
-sub ERROR_IPSEC_IKE_NEG_STATUS_END () { 13884 }
-sub ERROR_SXS_SECTION_NOT_FOUND () { 14000 }
-sub ERROR_SXS_CANT_GEN_ACTCTX () { 14001 }
-sub ERROR_SXS_INVALID_ACTCTXDATA_FORMAT () { 14002 }
-sub ERROR_SXS_ASSEMBLY_NOT_FOUND () { 14003 }
-sub ERROR_SXS_MANIFEST_FORMAT_ERROR () { 14004 }
-sub ERROR_SXS_MANIFEST_PARSE_ERROR () { 14005 }
-sub ERROR_SXS_ACTIVATION_CONTEXT_DISABLED () { 14006 }
-sub ERROR_SXS_KEY_NOT_FOUND () { 14007 }
-sub ERROR_SXS_VERSION_CONFLICT () { 14008 }
-sub ERROR_SXS_WRONG_SECTION_TYPE () { 14009 }
-sub ERROR_SXS_THREAD_QUERIES_DISABLED () { 14010 }
-sub ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET () { 14011 }
-sub ERROR_SXS_UNKNOWN_ENCODING_GROUP () { 14012 }
-sub ERROR_SXS_UNKNOWN_ENCODING () { 14013 }
-sub ERROR_SXS_INVALID_XML_NAMESPACE_URI () { 14014 }
-sub ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED () { 14015 }
-sub ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED () { 14016 }
-sub ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE () { 14017 }
-sub ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE () { 14018 }
-sub ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE () { 14019 }
-sub ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT () { 14020 }
-sub ERROR_SXS_DUPLICATE_DLL_NAME () { 14021 }
-sub ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME () { 14022 }
-sub ERROR_SXS_DUPLICATE_CLSID () { 14023 }
-sub ERROR_SXS_DUPLICATE_IID () { 14024 }
-sub ERROR_SXS_DUPLICATE_TLBID () { 14025 }
-sub ERROR_SXS_DUPLICATE_PROGID () { 14026 }
-sub ERROR_SXS_DUPLICATE_ASSEMBLY_NAME () { 14027 }
-sub ERROR_SXS_FILE_HASH_MISMATCH () { 14028 }
-sub ERROR_SXS_POLICY_PARSE_ERROR () { 14029 }
-sub ERROR_SXS_XML_E_MISSINGQUOTE () { 14030 }
-sub ERROR_SXS_XML_E_COMMENTSYNTAX () { 14031 }
-sub ERROR_SXS_XML_E_BADSTARTNAMECHAR () { 14032 }
-sub ERROR_SXS_XML_E_BADNAMECHAR () { 14033 }
-sub ERROR_SXS_XML_E_BADCHARINSTRING () { 14034 }
-sub ERROR_SXS_XML_E_XMLDECLSYNTAX () { 14035 }
-sub ERROR_SXS_XML_E_BADCHARDATA () { 14036 }
-sub ERROR_SXS_XML_E_MISSINGWHITESPACE () { 14037 }
-sub ERROR_SXS_XML_E_EXPECTINGTAGEND () { 14038 }
-sub ERROR_SXS_XML_E_MISSINGSEMICOLON () { 14039 }
-sub ERROR_SXS_XML_E_UNBALANCEDPAREN () { 14040 }
-sub ERROR_SXS_XML_E_INTERNALERROR () { 14041 }
-sub ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE () { 14042 }
-sub ERROR_SXS_XML_E_INCOMPLETE_ENCODING () { 14043 }
-sub ERROR_SXS_XML_E_MISSING_PAREN () { 14044 }
-sub ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE () { 14045 }
-sub ERROR_SXS_XML_E_MULTIPLE_COLONS () { 14046 }
-sub ERROR_SXS_XML_E_INVALID_DECIMAL () { 14047 }
-sub ERROR_SXS_XML_E_INVALID_HEXIDECIMAL () { 14048 }
-sub ERROR_SXS_XML_E_INVALID_UNICODE () { 14049 }
-sub ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK () { 14050 }
-sub ERROR_SXS_XML_E_UNEXPECTEDENDTAG () { 14051 }
-sub ERROR_SXS_XML_E_UNCLOSEDTAG () { 14052 }
-sub ERROR_SXS_XML_E_DUPLICATEATTRIBUTE () { 14053 }
-sub ERROR_SXS_XML_E_MULTIPLEROOTS () { 14054 }
-sub ERROR_SXS_XML_E_INVALIDATROOTLEVEL () { 14055 }
-sub ERROR_SXS_XML_E_BADXMLDECL () { 14056 }
-sub ERROR_SXS_XML_E_MISSINGROOT () { 14057 }
-sub ERROR_SXS_XML_E_UNEXPECTEDEOF () { 14058 }
-sub ERROR_SXS_XML_E_BADPEREFINSUBSET () { 14059 }
-sub ERROR_SXS_XML_E_UNCLOSEDSTARTTAG () { 14060 }
-sub ERROR_SXS_XML_E_UNCLOSEDENDTAG () { 14061 }
-sub ERROR_SXS_XML_E_UNCLOSEDSTRING () { 14062 }
-sub ERROR_SXS_XML_E_UNCLOSEDCOMMENT () { 14063 }
-sub ERROR_SXS_XML_E_UNCLOSEDDECL () { 14064 }
-sub ERROR_SXS_XML_E_UNCLOSEDCDATA () { 14065 }
-sub ERROR_SXS_XML_E_RESERVEDNAMESPACE () { 14066 }
-sub ERROR_SXS_XML_E_INVALIDENCODING () { 14067 }
-sub ERROR_SXS_XML_E_INVALIDSWITCH () { 14068 }
-sub ERROR_SXS_XML_E_BADXMLCASE () { 14069 }
-sub ERROR_SXS_XML_E_INVALID_STANDALONE () { 14070 }
-sub ERROR_SXS_XML_E_UNEXPECTED_STANDALONE () { 14071 }
-sub ERROR_SXS_XML_E_INVALID_VERSION () { 14072 }
-sub ERROR_SXS_XML_E_MISSINGEQUALS () { 14073 }
-sub ERROR_SXS_PROTECTION_RECOVERY_FAILED () { 14074 }
-sub ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT () { 14075 }
-sub ERROR_SXS_PROTECTION_CATALOG_NOT_VALID () { 14076 }
-sub ERROR_SXS_UNTRANSLATABLE_HRESULT () { 14077 }
-sub ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING () { 14078 }
-sub ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE () { 14079 }
-sub ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME () { 14080 }
-sub EC_USEFONTINFO () { 65535 }
-sub EMBDHLP_DELAYCREATE () { 65536 }
-sub ENUM_S_FIRST () { 262576 }
-sub ENUM_S_LAST () { 262591 }
-sub EVENT_ALL_ACCESS () { 2031619 }
-sub ERROR_SEVERITY_INFORMATIONAL () { 1073741824 }
-sub ENHMETA_SIGNATURE () { 1179469088 }
-sub EPS_SIGNATURE () { 1179865157 }
-sub ENDSESSION_LOGOFF () { -2147483648 }
-sub ENHMETA_STOCK_OBJECT () { -2147483648 }
-sub ES_CONTINUOUS () { -2147483648 }
-sub ERROR_SEVERITY_WARNING () { -2147483648 }
-sub EXCEPTION_GUARD_PAGE () { -2147483647 }
-sub EXCEPTION_DATATYPE_MISALIGNMENT () { -2147483646 }
-sub EXCEPTION_BREAKPOINT () { -2147483645 }
-sub EXCEPTION_SINGLE_STEP () { -2147483644 }
-sub E_PENDING () { -2147483638 }
-sub E_NOTIMPL () { -2147467263 }
-sub E_NOINTERFACE () { -2147467262 }
-sub E_POINTER () { -2147467261 }
-sub E_ABORT () { -2147467260 }
-sub E_FAIL () { -2147467259 }
-sub E_UNEXPECTED () { -2147418113 }
-sub E_DRAW () { -2147221184 }
-sub ENUM_E_FIRST () { -2147221072 }
-sub ENUM_E_LAST () { -2147221057 }
-sub E_ACCESSDENIED () { -2147024891 }
-sub E_HANDLE () { -2147024890 }
-sub E_OUTOFMEMORY () { -2147024882 }
-sub E_INVALIDARG () { -2147024809 }
-sub ERROR_SEVERITY_ERROR () { -1073741824 }
-sub EXCEPTION_ACCESS_VIOLATION () { -1073741819 }
-sub EXCEPTION_IN_PAGE_ERROR () { -1073741818 }
-sub EXCEPTION_INVALID_HANDLE () { -1073741816 }
-sub EXCEPTION_ILLEGAL_INSTRUCTION () { -1073741795 }
-sub EXCEPTION_NONCONTINUABLE_EXCEPTION () { -1073741787 }
-sub EXCEPTION_INVALID_DISPOSITION () { -1073741786 }
-sub EXCEPTION_ARRAY_BOUNDS_EXCEEDED () { -1073741684 }
-sub EXCEPTION_FLT_DENORMAL_OPERAND () { -1073741683 }
-sub EXCEPTION_FLT_DIVIDE_BY_ZERO () { -1073741682 }
-sub EXCEPTION_FLT_INEXACT_RESULT () { -1073741681 }
-sub EXCEPTION_FLT_INVALID_OPERATION () { -1073741680 }
-sub EXCEPTION_FLT_OVERFLOW () { -1073741679 }
-sub EXCEPTION_FLT_STACK_CHECK () { -1073741678 }
-sub EXCEPTION_FLT_UNDERFLOW () { -1073741677 }
-sub EXCEPTION_INT_DIVIDE_BY_ZERO () { -1073741676 }
-sub EXCEPTION_INT_OVERFLOW () { -1073741675 }
-sub EXCEPTION_PRIV_INSTRUCTION () { -1073741674 }
-sub EXCEPTION_STACK_OVERFLOW () { -1073741571 }
-
-sub TIEHASH { bless [] }
+sub TIEHASH { bless \%err }
sub FETCH {
- my ($self, $errname) = @_;
- my $proto = prototype("Errno::$errname");
- my $errno = "";
- if (defined($proto) && $proto eq "") {
- no strict 'refs';
- $errno = &$errname;
- $errno = 0 unless $! == $errno;
- }
- return $errno;
+ my (undef, $errname) = @_;
+ return "" unless exists $err{$errname};
+ my $errno = $err{$errname};
+ return $errno == $! ? $errno : 0;
}
sub STORE {
@@ -2684,33 +1973,24 @@ sub STORE {
Carp::confess("ERRNO hash is read only!");
}
-*CLEAR = \&STORE;
-*DELETE = \&STORE;
+*CLEAR = *DELETE = \*STORE; # Typeglob aliasing uses less space
sub NEXTKEY {
- my($k,$v);
- while(($k,$v) = each %Errno::) {
- my $proto = prototype("Errno::$k");
- last if (defined($proto) && $proto eq "");
- }
- $k
+ each %err;
}
sub FIRSTKEY {
- my $s = scalar keys %Errno::; # initialize iterator
- goto &NEXTKEY;
+ my $s = scalar keys %err; # initialize iterator
+ each %err;
}
sub EXISTS {
- my ($self, $errname) = @_;
- my $r = ref $errname;
- my $proto = !$r || $r eq 'CODE' ? prototype($errname) : undef;
- defined($proto) && $proto eq "";
+ my (undef, $errname) = @_;
+ exists $err{$errname};
}
-tie %!, __PACKAGE__;
+tie %!, __PACKAGE__; # Returns an object, objects are true.
-1;
__END__
=head1 NAME
@@ -2766,3 +2046,4 @@ under the same terms as Perl itself.
=cut
+# ex: set ro:
diff --git a/Master/tlpkg/tlperl/lib/Exporter.pm b/Master/tlpkg/tlperl/lib/Exporter.pm
index cd51828847e..a371714e764 100644
--- a/Master/tlpkg/tlperl/lib/Exporter.pm
+++ b/Master/tlpkg/tlperl/lib/Exporter.pm
@@ -9,7 +9,7 @@ require 5.006;
our $Debug = 0;
our $ExportLevel = 0;
our $Verbose ||= 0;
-our $VERSION = '5.64_01';
+our $VERSION = '5.64_03';
our (%Cache);
sub as_heavy {
@@ -35,9 +35,12 @@ sub import {
}
# We *need* to treat @{"$pkg\::EXPORT_FAIL"} since Carp uses it :-(
- my($exports, $fail) = (\@{"$pkg\::EXPORT"}, \@{"$pkg\::EXPORT_FAIL"});
+ my $exports = \@{"$pkg\::EXPORT"};
+ # But, avoid creating things if they don't exist, which saves a couple of
+ # hundred bytes per package processed.
+ my $fail = ${$pkg . '::'}{EXPORT_FAIL} && \@{"$pkg\::EXPORT_FAIL"};
return export $pkg, $callpkg, @_
- if $Verbose or $Debug or @$fail > 1;
+ if $Verbose or $Debug or $fail && @$fail > 1;
my $export_cache = ($Cache{$pkg} ||= {});
my $args = @_ or @_ = @$exports;
@@ -51,7 +54,7 @@ sub import {
# We bomb out of the loop with last as soon as heavy is set.
if ($args or $fail) {
($heavy = (/\W/ or $args and not exists $export_cache->{$_}
- or @$fail and $_ eq $fail->[0])) and last
+ or $fail and @$fail and $_ eq $fail->[0])) and last
foreach (@_);
} else {
($heavy = /\W/) and last
@@ -59,7 +62,7 @@ sub import {
}
return export $pkg, $callpkg, ($args ? @_ : ()) if $heavy;
local $SIG{__WARN__} =
- sub {require Carp; &Carp::carp};
+ sub {require Carp; &Carp::carp} if not $SIG{__WARN__};
# shortcut for the common case of no type character
*{"$callpkg\::$_"} = \&{"$pkg\::$_"} foreach @_;
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
index 7854e88dc94..969b3596832 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
@@ -3,59 +3,12 @@ package ExtUtils::CBuilder;
use File::Spec ();
use File::Path ();
use File::Basename ();
+use Perl::OSType qw/os_type/;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
$VERSION = eval $VERSION;
-# Okay, this is the brute-force method of finding out what kind of
-# platform we're on. I don't know of a systematic way. These values
-# came from the latest (bleadperl) perlport.pod.
-
-my %OSTYPES = qw(
- aix Unix
- bsdos Unix
- dgux Unix
- dynixptx Unix
- freebsd Unix
- linux Unix
- hpux Unix
- irix Unix
- darwin Unix
- machten Unix
- next Unix
- openbsd Unix
- netbsd Unix
- dec_osf Unix
- svr4 Unix
- svr5 Unix
- sco_sv Unix
- unicos Unix
- unicosmk Unix
- solaris Unix
- sunos Unix
- cygwin Unix
- os2 Unix
- gnu Unix
- gnukfreebsd Unix
- haiku Unix
-
- dos Windows
- MSWin32 Windows
-
- os390 EBCDIC
- os400 EBCDIC
- posix-bc EBCDIC
- vmesa EBCDIC
-
- MacOS MacOS
- VMS VMS
- VOS VOS
- riscos RiscOS
- amigaos Amiga
- mpeix MPEiX
- );
-
# We only use this once - don't waste a symbol table entry on it.
# More importantly, don't make it an inheritable method.
my $load = sub {
@@ -68,20 +21,19 @@ my $load = sub {
{
my @package = split /::/, __PACKAGE__;
+ my $ostype = os_type();
+
if (grep {-e File::Spec->catfile($_, @package, 'Platform', $^O) . '.pm'} @INC) {
$load->(__PACKAGE__ . "::Platform::$^O");
- } elsif (exists $OSTYPES{$^O} and
- grep {-e File::Spec->catfile($_, @package, 'Platform', $OSTYPES{$^O}) . '.pm'} @INC) {
- $load->(__PACKAGE__ . "::Platform::$OSTYPES{$^O}");
+ } elsif ( $ostype && grep {-e File::Spec->catfile($_, @package, 'Platform', $ostype) . '.pm'} @INC) {
+ $load->(__PACKAGE__ . "::Platform::$ostype");
} else {
$load->(__PACKAGE__ . "::Base");
}
}
-sub os_type { $OSTYPES{$^O} }
-
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
index 28036c61bdc..b57231272a6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
@@ -7,9 +7,27 @@ use Cwd ();
use Config;
use Text::ParseWords;
use IO::File;
+use Data::Dumper;$Data::Dumper::Indent=1;
+use IPC::Cmd qw(can_run);
+use File::Temp qw(tempfile);
use vars qw($VERSION);
-$VERSION = '0.27';
+$VERSION = '0.280203';
+
+# More details about C/C++ compilers:
+# http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
+# http://gcc.gnu.org/
+# http://publib.boulder.ibm.com/infocenter/comphelp/v101v121/index.jsp
+# http://msdn.microsoft.com/en-us/vstudio/default.aspx
+
+my %cc2cxx = (
+ # first line order is important to support wrappers like in pkgsrc
+ cc => [ 'c++', 'CC', 'aCC', 'cxx', ], # Sun Studio, HP ANSI C/C++ Compilers
+ gcc => [ 'g++' ], # GNU Compiler Collection
+ xlc => [ 'xlC' ], # IBM C/C++ Set, xlc without thread-safety
+ xlc_r => [ 'xlC_r' ], # IBM C/C++ Set, xlc with thread-safety
+ cl => [ 'cl' ], # Microsoft Visual Studio
+);
sub new {
my $class = shift;
@@ -21,7 +39,37 @@ sub new {
while (my ($k,$v) = each %Config) {
$self->{config}{$k} = $v unless exists $self->{config}{$k};
}
- $self->{config}{cc} = $ENV{CC} if exists $ENV{CC};
+ $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
+ $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
+ $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
+ $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
+ $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
+ $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
+
+ unless ( exists $self->{config}{cxx} ) {
+ my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+ foreach my $cxx (@{$cc2cxx{$ccbase}}) {
+ if( can_run( File::Spec->catfile( $ccpath, $cxx, $ccsfx ) ) ) {
+ $self->{config}{cxx} = File::Spec->catfile( $ccpath, $cxx, $ccsfx );
+ last;
+ }
+ if( can_run( File::Spec->catfile( $cxx, $ccsfx ) ) ) {
+ $self->{config}{cxx} = File::Spec->catfile( $cxx, $ccsfx );
+ last;
+ }
+ if( can_run( $cxx ) ) {
+ $self->{config}{cxx} = $cxx;
+ last;
+ }
+ }
+ unless ( exists $self->{config}{cxx} ) {
+ $self->{config}{cxx} = $self->{config}{cc};
+ my $cflags = $self->{config}{cflags};
+ $self->{config}{cxxflags} = '-x c++';
+ $self->{config}{cxxflags} .= " $cflags" if defined $cflags;
+ }
+ }
+
return $self;
}
@@ -29,7 +77,7 @@ sub find_perl_interpreter {
my $perl;
File::Spec->file_name_is_absolute($perl = $^X)
or -f ($perl = $Config::Config{perlpath})
- or ($perl = $^X);
+ or ($perl = $^X); # XXX how about using IPC::Cmd::can_run here?
return $perl;
}
@@ -47,6 +95,10 @@ sub cleanup {
}
}
+sub get_config {
+ return %{ $_[0]->{config} };
+}
+
sub object_file {
my ($self, $filename) = @_;
@@ -87,78 +139,81 @@ sub compile {
die "Missing 'source' argument to compile()" unless defined $args{source};
my $cf = $self->{config}; # For convenience
-
- $args{object_file} ||= $self->object_file($args{source});
- my @include_dirs = $self->arg_include_dirs
- (@{$args{include_dirs} || []},
- $self->perl_inc());
+ my $object_file = $args{object_file}
+ ? $args{object_file}
+ : $self->object_file($args{source});
+
+ my $include_dirs_ref =
+ (exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY")
+ ? [ $args{include_dirs} ]
+ : $args{include_dirs};
+ my @include_dirs = $self->arg_include_dirs(
+ @{ $include_dirs_ref || [] },
+ $self->perl_inc(),
+ );
my @defines = $self->arg_defines( %{$args{defines} || {}} );
- my @extra_compiler_flags = $self->split_like_shell($args{extra_compiler_flags});
+ my @extra_compiler_flags =
+ $self->split_like_shell($args{extra_compiler_flags});
my @cccdlflags = $self->split_like_shell($cf->{cccdlflags});
- my @ccflags = $self->split_like_shell($cf->{ccflags});
- push @ccflags, qw/-x c++/ if $args{'C++'};
+ my @ccflags = $self->split_like_shell($args{'C++'} ? $cf->{cxxflags} : $cf->{ccflags});
my @optimize = $self->split_like_shell($cf->{optimize});
- my @flags = (@include_dirs, @defines, @cccdlflags, @extra_compiler_flags,
- $self->arg_nolink,
- @ccflags, @optimize,
- $self->arg_object_file($args{object_file}),
- );
-
- my @cc = $self->split_like_shell($cf->{cc});
+ my @flags = (
+ @include_dirs,
+ @defines,
+ @cccdlflags,
+ @extra_compiler_flags,
+ $self->arg_nolink,
+ @ccflags,
+ @optimize,
+ $self->arg_object_file($object_file),
+ );
+ my @cc = $self->split_like_shell($args{'C++'} ? $cf->{cxx} : $cf->{cc});
$self->do_system(@cc, @flags, $args{source})
- or die "error building $args{object_file} from '$args{source}'";
+ or die "error building $object_file from '$args{source}'";
- return $args{object_file};
+ return $object_file;
}
sub have_compiler {
my ($self, $is_cplusplus) = @_;
- return $self->{have_compiler} if defined $self->{have_compiler};
+ my $have_compiler_flag = $is_cplusplus ? "have_cxx" : "have_cc";
+ my $suffix = $is_cplusplus ? ".cc" : ".c";
+ return $self->{$have_compiler_flag} if defined $self->{$have_compiler_flag};
my $result;
my $attempts = 3;
# tmpdir has issues for some people so fall back to current dir
- DIR: for my $dir ( File::Spec->tmpdir, '.' ) {
-
- # don't clobber existing files (rare, but possible)
- my $rand = int(rand(2**31));
- my $tmpfile = File::Spec->catfile($dir, "compilet-$rand.c");
- $tmpfile .= "c" if $is_cplusplus;
- if ( -e $tmpfile ) {
- redo DIR if $attempts--;
- next DIR;
- }
- {
- my $FH = IO::File->new("> $tmpfile") or die "Can't create $tmpfile: $!";
- if ( $is_cplusplus ) {
- print $FH "class Bogus { public: int boot_compilet() { return 1; } };\n";
- }
- else {
- print $FH "int boot_compilet() { return 1; }\n";
- }
- }
+ # don't clobber existing files (rare, but possible)
+ my ( $FH, $tmpfile ) = tempfile( "compilet-XXXXX", SUFFIX => $suffix );
+ binmode $FH;
- my ($obj_file, @lib_files);
- eval {
- local $^W = 0;
- local $self->{quiet} = 1;
- $obj_file = $self->compile('C++' => $is_cplusplus, source => $tmpfile);
- @lib_files = $self->link(objects => $obj_file, module_name => 'compilet');
- };
- $result = $@ ? 0 : 1;
-
- foreach (grep defined, $tmpfile, $obj_file, @lib_files) {
- 1 while unlink;
- }
- last DIR if $result;
+ if ( $is_cplusplus ) {
+ print $FH "class Bogus { public: int boot_compilet() { return 1; } };\n";
+ }
+ else {
+ print $FH "int boot_compilet() { return 1; }\n";
+ }
+ close $FH;
+
+ my ($obj_file, @lib_files);
+ eval {
+ local $^W = 0;
+ local $self->{quiet} = 1;
+ $obj_file = $self->compile('C++' => $is_cplusplus, source => $tmpfile);
+ @lib_files = $self->link(objects => $obj_file, module_name => 'compilet');
+ };
+ $result = $@ ? 0 : 1;
+
+ foreach (grep defined, $tmpfile, $obj_file, @lib_files) {
+ 1 while unlink;
}
- return $self->{have_compiler} = $result;
+ return $self->{$have_compiler_flag} = $result;
}
sub have_cplusplus {
@@ -187,23 +242,32 @@ sub extra_link_args_after_prelink { return }
sub prelink {
my ($self, %args) = @_;
-
- ($args{dl_file} = $args{dl_name}) =~ s/.*::// unless $args{dl_file};
-
+
+ my ($dl_file_out, $mksymlists_args) = _prepare_mksymlists_args(\%args);
+
require ExtUtils::Mksymlists;
- ExtUtils::Mksymlists::Mksymlists( # dl. abbrev for dynamic library
- DL_VARS => $args{dl_vars} || [],
- DL_FUNCS => $args{dl_funcs} || {},
- FUNCLIST => $args{dl_func_list} || [],
- IMPORTS => $args{dl_imports} || {},
- NAME => $args{dl_name}, # Name of the Perl module
- DLBASE => $args{dl_base}, # Basename of DLL file
- FILE => $args{dl_file}, # Dir + Basename of symlist file
- VERSION => (defined $args{dl_version} ? $args{dl_version} : '0.0'),
- );
-
+ # dl. abbrev for dynamic library
+ ExtUtils::Mksymlists::Mksymlists( %{ $mksymlists_args } );
+
# Mksymlists will create one of these files
- return grep -e, map "$args{dl_file}.$_", qw(ext def opt);
+ return grep -e, map "$dl_file_out.$_", qw(ext def opt);
+}
+
+sub _prepare_mksymlists_args {
+ my $args = shift;
+ ($args->{dl_file} = $args->{dl_name}) =~ s/.*::// unless $args->{dl_file};
+
+ my %mksymlists_args = (
+ DL_VARS => $args->{dl_vars} || [],
+ DL_FUNCS => $args->{dl_funcs} || {},
+ FUNCLIST => $args->{dl_func_list} || [],
+ IMPORTS => $args->{dl_imports} || {},
+ NAME => $args->{dl_name}, # Name of the Perl module
+ DLBASE => $args->{dl_base}, # Basename of DLL file
+ FILE => $args->{dl_file}, # Dir + Basename of symlist file
+ VERSION => (defined $args->{dl_version} ? $args->{dl_version} : '0.0'),
+ );
+ return ($args->{dl_file}, \%mksymlists_args);
}
sub link {
@@ -227,14 +291,19 @@ sub _do_link {
my @temp_files;
@temp_files =
- $self->prelink(%args,
- dl_name => $args{module_name}) if $args{lddl} && $self->need_prelink;
+ $self->prelink(%args, dl_name => $args{module_name})
+ if $args{lddl} && $self->need_prelink;
- my @linker_flags = ($self->split_like_shell($args{extra_linker_flags}),
- $self->extra_link_args_after_prelink(%args, dl_name => $args{module_name},
- prelink_res => \@temp_files));
+ my @linker_flags = (
+ $self->split_like_shell($args{extra_linker_flags}),
+ $self->extra_link_args_after_prelink(
+ %args, dl_name => $args{module_name}, prelink_res => \@temp_files
+ )
+ );
- my @output = $args{lddl} ? $self->arg_share_object_file($out) : $self->arg_exec_file($out);
+ my @output = $args{lddl}
+ ? $self->arg_share_object_file($out)
+ : $self->arg_exec_file($out);
my @shrp = $self->split_like_shell($cf->{shrpenv});
my @ld = $self->split_like_shell($cf->{ld});
@@ -259,6 +328,11 @@ sub split_like_shell {
$string =~ s/^\s+|\s+$//g;
return () unless length($string);
+ # Text::ParseWords replaces all 'escaped' characters with themselves, which completely
+ # breaks paths under windows. As such, we forcibly replace backwards slashes with forward
+ # slashes on windows.
+ $string =~ s@\\@/@g if $^O eq 'MSWin32';
+
return Text::ParseWords::shellwords($string);
}
@@ -275,12 +349,12 @@ sub perl_src {
# Try up to 5 levels upwards
for (0..10) {
if (
- -f File::Spec->catfile($dir,"config_h.SH")
- &&
- -f File::Spec->catfile($dir,"perl.h")
- &&
- -f File::Spec->catfile($dir,"lib","Exporter.pm")
- ) {
+ -f File::Spec->catfile($dir,"config_h.SH")
+ &&
+ -f File::Spec->catfile($dir,"perl.h")
+ &&
+ -f File::Spec->catfile($dir,"lib","Exporter.pm")
+ ) {
return Cwd::realpath( $dir );
}
@@ -305,3 +379,5 @@ sub DESTROY {
}
1;
+
+# vim: ts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
index 78ff244b5ba..c8610b3841c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Base);
sub link_executable {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
index 35a2eba550b..7e3120dc008 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -4,10 +4,11 @@ use strict;
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Base);
use File::Spec::Functions qw(catfile catdir);
+use Config;
# We do prelink, but don't want the parent to redo it.
@@ -47,6 +48,20 @@ sub arg_include_dirs {
return ('/include=(' . join(',', @dirs) . ')');
}
+# We override the compile method because we consume the includes and defines
+# parts of ccflags in the process of compiling but don't save those parts
+# anywhere, so $self->{config}{ccflags} needs to be reset for each compile
+# operation.
+
+sub compile {
+ my ($self, %args) = @_;
+
+ $self->{config}{ccflags} = $Config{ccflags};
+ $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
+
+ return $self->SUPER::compile(%args);
+}
+
sub _do_link {
my ($self, $type, %args) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
index f0b98dbaa30..6e7d52384e5 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
@@ -10,7 +10,7 @@ use ExtUtils::CBuilder::Base;
use IO::File;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Base);
=begin comment
@@ -86,6 +86,9 @@ sub compile {
die "Missing 'source' argument to compile()" unless defined $args{source};
+ $args{include_dirs} = [ $args{include_dirs} ]
+ if exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY";
+
my ($basename, $srcdir) =
( File::Basename::fileparse($args{source}, '\.[^.]+$') )[0,1];
@@ -98,7 +101,7 @@ sub compile {
builddir => $srcdir,
basename => $basename,
source => $args{source},
- output => File::Spec->catfile($srcdir, $basename) . $cf->{obj_ext},
+ output => $args{object_file} || File::Spec->catfile($srcdir, $basename) . $cf->{obj_ext},
cc => $cf->{cc},
cflags => [
$self->split_like_shell($cf->{ccflags}),
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
index ee65c91a159..46938661253 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
@@ -1,7 +1,7 @@
package ExtUtils::CBuilder::Platform::Windows::BCC;
use vars qw($VERSION);
-$VERSION = '0.27';
+$VERSION = '0.280203';
sub format_compiler_cmd {
my ($self, %spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
index 132bf842bdb..afeeb7cd838 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
@@ -1,7 +1,7 @@
package ExtUtils::CBuilder::Platform::Windows::GCC;
use vars qw($VERSION);
-$VERSION = '0.27';
+$VERSION = '0.280203';
sub format_compiler_cmd {
my ($self, %spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
index 7da1c9b4c12..ad0695b5ae0 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
@@ -1,7 +1,7 @@
package ExtUtils::CBuilder::Platform::Windows::MSVC;
use vars qw($VERSION);
-$VERSION = '0.27';
+$VERSION = '0.280203';
sub arg_exec_file {
my ($self, $file) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
index 656e0dc67ff..358cf8516f8 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
@@ -5,7 +5,7 @@ use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index f8650978ec4..b1069296213 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
@@ -5,7 +5,7 @@ use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
# TODO: If a specific exe_file name is requested, if the exe created
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
index efc79347708..3a30e6f333b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub compile {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
index d07b71f6d65..5d0a7fd5020 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -6,7 +6,7 @@ use File::Spec;
use vars qw($VERSION @ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.27';
+$VERSION = '0.280203';
sub link_executable {
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
index 2815d587d7f..828a9571682 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.27';
+$VERSION = '0.280203';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
index b5632ff06d6..2a4d8cdc39d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command.pm
@@ -12,7 +12,7 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
@ISA = qw(Exporter);
@EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
dos2unix);
-$VERSION = '1.16';
+$VERSION = '1.17';
my $Is_VMS = $^O eq 'VMS';
my $Is_VMS_mode = $Is_VMS;
@@ -32,7 +32,7 @@ if( $Is_VMS ) {
my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || '';
- $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
+ $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
$vms_efs = $efs_charset =~ /^[ET1]/i;
$vms_case = $efs_case =~ /^[ET1]/i;
}
@@ -97,7 +97,7 @@ sub expand_wildcards
Concatenates all files mentioned on command line to STDOUT.
-=cut
+=cut
sub cat ()
{
@@ -111,7 +111,7 @@ sub cat ()
Sets modified time of destination to that of source.
-=cut
+=cut
sub eqtime
{
@@ -126,7 +126,7 @@ sub eqtime
Removes files and directories - recursively (even if readonly)
-=cut
+=cut
sub rm_rf
{
@@ -140,7 +140,7 @@ sub rm_rf
Removes files (even if readonly)
-=cut
+=cut
sub rm_f {
expand_wildcards();
@@ -173,9 +173,9 @@ sub _unlink {
touch file ...
-Makes files exist, with current timestamp
+Makes files exist, with current timestamp
-=cut
+=cut
sub touch {
my $t = time;
@@ -197,7 +197,7 @@ destination is an existing directory.
Returns true if all moves succeeded, false otherwise.
-=cut
+=cut
sub mv {
expand_wildcards();
@@ -249,7 +249,7 @@ sub cp {
Sets UNIX like permissions 'mode' on all the files. e.g. 0666
-=cut
+=cut
sub chmod {
local @ARGV = @ARGV;
@@ -280,7 +280,7 @@ sub chmod {
Creates directories, including any parent directories.
-=cut
+=cut
sub mkpath
{
@@ -295,7 +295,7 @@ sub mkpath
Tests if a file exists. I<Exits> with 0 if it does, 1 if it does not (ie.
shell's idea of true and false).
-=cut
+=cut
sub test_f
{
@@ -337,9 +337,9 @@ sub dos2unix {
my $orig = $_;
my $temp = '.dos2unix_tmp';
open ORIG, $_ or do { warn "dos2unix can't open $_: $!"; return };
- open TEMP, ">$temp" or
+ open TEMP, ">$temp" or
do { warn "dos2unix can't create .dos2unix_tmp: $!"; return };
- while (my $line = <ORIG>) {
+ while (my $line = <ORIG>) {
$line =~ s/\015\012/\012/g;
print TEMP $line;
}
@@ -366,4 +366,3 @@ ExtUtils-MakeMaker package and, as a separate CPAN package, by
Randy Kobes C<r.kobes@uwinnipeg.ca>.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
index f9b474de16f..40bf780deab 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
@@ -8,9 +8,9 @@ use warnings;
require Exporter;
our @ISA = qw(Exporter);
-our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
+our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist);
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
my $Is_VMS = $^O eq 'VMS';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm
index 0a20b89b792..0dc925873dc 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant.pm
@@ -1,6 +1,6 @@
package ExtUtils::Constant;
use vars qw (@ISA $VERSION @EXPORT_OK %EXPORT_TAGS);
-$VERSION = 0.22;
+$VERSION = 0.23;
=head1 NAME
@@ -494,6 +494,9 @@ sub WriteConstants {
croak "Module name not specified" unless length $ARGS{NAME};
+ # Do this before creating (empty) files, in case it fails:
+ require ExtUtils::Constant::ProxySubs if $ARGS{PROXYSUBS};
+
my $c_fh = $ARGS{C_FH};
if (!$c_fh) {
if ($] <= 5.008) {
@@ -522,7 +525,6 @@ sub WriteConstants {
# names.
if ($ARGS{PROXYSUBS}) {
- require ExtUtils::Constant::ProxySubs;
$ARGS{C_FH} = $c_fh;
$ARGS{XS_FH} = $xs_fh;
ExtUtils::Constant::ProxySubs->WriteConstants(%ARGS);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm
index b5b79af1ea7..b6abe1c201a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Base.pm
@@ -5,7 +5,7 @@ use vars qw($VERSION);
use Carp;
use Text::Wrap;
use ExtUtils::Constant::Utils qw(C_stringify perl_stringify);
-$VERSION = '0.04';
+$VERSION = '0.05';
use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
@@ -83,6 +83,18 @@ sub macro_to_ifdef {
return "";
}
+sub macro_to_ifndef {
+ my ($self, $macro) = @_;
+ if (ref $macro) {
+ # Can't invert these stylishly, so "bodge it"
+ return "$macro->[0]#else\n";
+ }
+ if (defined $macro && $macro ne "" && $macro ne "1") {
+ return $macro ? "#ifndef $macro\n" : "#if 1\n";
+ }
+ croak "Can't generate an ifndef for unconditional code";
+}
+
sub macro_to_endif {
my ($self, $macro) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm
index c3fe8ed3c56..545d3221a01 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/ProxySubs.pm
@@ -9,7 +9,7 @@ require ExtUtils::Constant::XS;
use ExtUtils::Constant::Utils qw(C_stringify);
use ExtUtils::Constant::XS qw(%XS_TypeSet);
-$VERSION = '0.06';
+$VERSION = '0.08';
@ISA = 'ExtUtils::Constant::XS';
%type_to_struct =
@@ -123,7 +123,7 @@ sub partition_names {
}
sub boottime_iterator {
- my ($self, $type, $iterator, $hash, $subname) = @_;
+ my ($self, $type, $iterator, $hash, $subname, $push) = @_;
my $extractor = $type_from_struct{$type};
die "Can't find extractor code for type $type"
unless defined $extractor;
@@ -133,13 +133,24 @@ sub boottime_iterator {
my $athx = $self->C_constant_prefix_param();
- return sprintf <<"EOBOOT", &$generator(&$extractor($iterator));
+ if ($push) {
+ return sprintf <<"EOBOOT", &$generator(&$extractor($iterator));
+ while ($iterator->name) {
+ he = $subname($athx $hash, $iterator->name,
+ $iterator->namelen, %s);
+ av_push(push, newSVhek(HeKEY_hek(he)));
+ ++$iterator;
+ }
+EOBOOT
+ } else {
+ return sprintf <<"EOBOOT", &$generator(&$extractor($iterator));
while ($iterator->name) {
$subname($athx $hash, $iterator->name,
$iterator->namelen, %s);
- ++$iterator;
+ ++$iterator;
}
EOBOOT
+ }
}
sub name_len_value_macro {
@@ -164,14 +175,39 @@ sub WriteConstants {
my $self = shift;
my $ARGS = {@_};
- my ($c_fh, $xs_fh, $c_subname, $xs_subname, $default_type, $package)
- = @{$ARGS}{qw(C_FH XS_FH C_SUBNAME XS_SUBNAME DEFAULT_TYPE NAME)};
+ my ($c_fh, $xs_fh, $c_subname, $default_type, $package)
+ = @{$ARGS}{qw(C_FH XS_FH C_SUBNAME DEFAULT_TYPE NAME)};
+
+ my $xs_subname
+ = exists $ARGS->{XS_SUBNAME} ? $ARGS->{XS_SUBNAME} : 'constant';
my $options = $ARGS->{PROXYSUBS};
$options = {} unless ref $options;
+ my $push = $options->{push};
my $explosives = $options->{croak_on_read};
-
- $xs_subname ||= 'constant';
+ my $croak_on_error = $options->{croak_on_error};
+ my $autoload = $options->{autoload};
+ {
+ my $exclusive = 0;
+ ++$exclusive if $explosives;
+ ++$exclusive if $croak_on_error;
+ ++$exclusive if $autoload;
+
+ # Until someone patches this (with test cases):
+ carp ("PROXYSUBS options 'autoload', 'croak_on_read' and 'croak_on_error' cannot be used together")
+ if $exclusive > 1;
+ }
+ # Strictly it requires Perl_caller_cx
+ carp ("PROXYSUBS option 'croak_on_error' requires v5.13.5 or later")
+ if $croak_on_error && $^V < v5.13.5;
+ # Strictly this is actually 5.8.9, but it's not well tested there
+ my $can_do_pcs = $] >= 5.009;
+ # Until someone patches this (with test cases)
+ carp ("PROXYSUBS option 'push' requires v5.10 or later")
+ if $push && !$can_do_pcs;
+ # Until someone patches this (with test cases)
+ carp ("PROXYSUBS options 'push' and 'croak_on_read' cannot be used together")
+ if $explosives && $push;
# If anyone is insane enough to suggest a package name containing %
my $package_sprintf_safe = $package;
@@ -196,12 +232,29 @@ sub WriteConstants {
my $pthx = $self->C_constant_prefix_param_defintion();
my $athx = $self->C_constant_prefix_param();
my $symbol_table = C_stringify($package) . '::';
-
- my $can_do_pcs = $] >= 5.009;
+ $push = C_stringify($package . '::' . $push) if $push;
my $cast_CONSTSUB = $] < 5.010 ? '(char *)' : '';
- print $c_fh $self->header(), <<"EOADD";
-static void
+ print $c_fh $self->header();
+ if ($autoload || $croak_on_error) {
+ print $c_fh <<'EOC';
+
+/* This allows slightly more efficient code on !USE_ITHREADS: */
+#ifdef USE_ITHREADS
+# define COP_FILE(c) CopFILE(c)
+# define COP_FILE_F "s"
+#else
+# define COP_FILE(c) CopFILESV(c)
+# define COP_FILE_F SVf
+#endif
+EOC
+ }
+
+ my $return_type = $push ? 'HE *' : 'void';
+
+ print $c_fh <<"EOADD";
+
+static $return_type
${c_subname}_add_symbol($pthx HV *hash, const char *name, I32 namelen, SV *value) {
EOADD
if (!$can_do_pcs) {
@@ -210,12 +263,16 @@ EOADD
EO_NOPCS
} else {
print $c_fh <<"EO_PCS";
- SV **sv = hv_fetch(hash, name, namelen, TRUE);
- if (!sv) {
+ HE *he = (HE*) hv_common_key_len(hash, name, namelen, HV_FETCH_LVALUE, NULL,
+ 0);
+ SV *sv;
+
+ if (!he) {
Perl_croak($athx "Couldn't add key '%s' to %%$package_sprintf_safe\::",
name);
}
- if (SvOK(*sv) || SvTYPE(*sv) == SVt_PVGV) {
+ sv = HeVAL(he);
+ if (SvOK(sv) || SvTYPE(sv) == SVt_PVGV) {
/* Someone has been here before us - have to make a real sub. */
EO_PCS
}
@@ -226,9 +283,9 @@ EOADD
if ($can_do_pcs) {
print $c_fh <<'EO_PCS';
} else {
- SvUPGRADE(*sv, SVt_RV);
- SvRV_set(*sv, value);
- SvROK_on(*sv);
+ SvUPGRADE(sv, SVt_RV);
+ SvRV_set(sv, value);
+ SvROK_on(sv);
SvREADONLY_on(value);
}
EO_PCS
@@ -237,6 +294,7 @@ EO_PCS
}
EO_NOPCS
}
+ print $c_fh " return he;\n" if $push;
print $c_fh <<'EOADD';
}
@@ -319,10 +377,13 @@ BOOT:
dTHX;
#endif
HV *symbol_table = get_hv("$symbol_table", GV_ADD);
-#ifndef SYMBIAN
- HV *${c_subname}_missing;
-#endif
EOBOOT
+ if ($push) {
+ print $xs_fh <<"EOC";
+ AV *push = get_av(\"$push\", GV_ADD);
+ HE *he;
+EOC
+ }
my %iterator;
@@ -336,11 +397,17 @@ EOBOOT
die "Can't find structure definition for type $type"
unless defined $struct;
- my $struct_type = $type ? lc($type) . '_s' : 'notfound_s';
+ my $lc_type = $type ? lc($type) : 'notfound';
+ my $struct_type = $lc_type . '_s';
+ my $array_name = 'values_for_' . $lc_type;
+ $iterator{$type} = 'value_for_' . $lc_type;
+ # Give the notfound struct file scope. The others are scoped within the
+ # BOOT block
+ my $struct_fh = $type ? $xs_fh : $c_fh;
+
print $c_fh "struct $struct_type $struct;\n";
- my $array_name = 'values_for_' . ($type ? lc $type : 'notfound');
- print $xs_fh <<"EOBOOT";
+ print $struct_fh <<"EOBOOT";
static const struct $struct_type $array_name\[] =
{
@@ -356,105 +423,114 @@ EOBOOT
carp("Attempting to supply a default for '$name' which has no conditional macro");
next;
}
- print $xs_fh $ifdef;
if ($item->{invert_macro}) {
- print $xs_fh
- " /* This is the default value: */\n" if $type;
- print $xs_fh "#else\n";
+ print $struct_fh $self->macro_to_ifndef($macro);
+ print $struct_fh
+ " /* This is the default value: */\n" if $type;
+ } else {
+ print $struct_fh $ifdef;
}
- print $xs_fh " { ", join (', ', "\"$name\"", $namelen,
- &$type_to_value($value)), " },\n",
+ print $struct_fh " { ", join (', ', "\"$name\"", $namelen,
+ &$type_to_value($value)),
+ " },\n",
$self->macro_to_endif($macro);
}
-
# Terminate the list with a NULL
- print $xs_fh " { NULL, 0", (", 0" x $number_of_args), " } };\n";
+ print $struct_fh " { NULL, 0", (", 0" x $number_of_args), " } };\n";
- $iterator{$type} = "value_for_" . ($type ? lc $type : 'notfound');
-
- print $xs_fh <<"EOBOOT";
+ print $xs_fh <<"EOBOOT" if $type;
const struct $struct_type *$iterator{$type} = $array_name;
EOBOOT
}
delete $found->{''};
- print $xs_fh <<"EOBOOT";
-#ifndef SYMBIAN
- ${c_subname}_missing = get_missing_hash(aTHX);
-#endif
-EOBOOT
-
my $add_symbol_subname = $c_subname . '_add_symbol';
foreach my $type (sort keys %$found) {
print $xs_fh $self->boottime_iterator($type, $iterator{$type},
'symbol_table',
- $add_symbol_subname);
+ $add_symbol_subname, $push);
}
print $xs_fh <<"EOBOOT";
- while (value_for_notfound->name) {
+ if (C_ARRAY_LENGTH(values_for_notfound) > 1) {
+#ifndef SYMBIAN
+ HV *const ${c_subname}_missing = get_missing_hash(aTHX);
+#endif
+ const struct notfound_s *value_for_notfound = values_for_notfound;
+ do {
EOBOOT
print $xs_fh $explosives ? <<"EXPLODE" : << "DONT";
- SV *tripwire = newSV(0);
-
- sv_magicext(tripwire, 0, PERL_MAGIC_ext, &not_defined_vtbl, 0, 0);
- SvPV_set(tripwire, (char *)value_for_notfound->name);
- if(value_for_notfound->namelen >= 0) {
- SvCUR_set(tripwire, value_for_notfound->namelen);
- } else {
- SvCUR_set(tripwire, -value_for_notfound->namelen);
- SvUTF8_on(tripwire);
- }
- SvPOKp_on(tripwire);
- SvREADONLY_on(tripwire);
- assert(SvLEN(tripwire) == 0);
-
- $add_symbol_subname($athx symbol_table, value_for_notfound->name,
- value_for_notfound->namelen, tripwire);
+ SV *tripwire = newSV(0);
+
+ sv_magicext(tripwire, 0, PERL_MAGIC_ext, &not_defined_vtbl, 0, 0);
+ SvPV_set(tripwire, (char *)value_for_notfound->name);
+ if(value_for_notfound->namelen >= 0) {
+ SvCUR_set(tripwire, value_for_notfound->namelen);
+ } else {
+ SvCUR_set(tripwire, -value_for_notfound->namelen);
+ SvUTF8_on(tripwire);
+ }
+ SvPOKp_on(tripwire);
+ SvREADONLY_on(tripwire);
+ assert(SvLEN(tripwire) == 0);
+
+ $add_symbol_subname($athx symbol_table, value_for_notfound->name,
+ value_for_notfound->namelen, tripwire);
EXPLODE
- /* Need to add prototypes, else parsing will vary by platform. */
- SV **sv = hv_fetch(symbol_table, value_for_notfound->name,
- value_for_notfound->namelen, TRUE);
- if (!sv) {
- Perl_croak($athx
- "Couldn't add key '%s' to %%$package_sprintf_safe\::",
- value_for_notfound->name);
- }
- if (!SvOK(*sv) && SvTYPE(*sv) != SVt_PVGV) {
- /* Nothing was here before, so mark a prototype of "" */
- sv_setpvn(*sv, "", 0);
- } else if (SvPOK(*sv) && SvCUR(*sv) == 0) {
- /* There is already a prototype of "" - do nothing */
- } else {
- /* Someone has been here before us - have to make a real
- typeglob. */
- /* It turns out to be incredibly hard to deal with all the
- corner cases of sub foo (); and reporting errors correctly,
- so lets cheat a bit. Start with a constant subroutine */
- CV *cv = newCONSTSUB(symbol_table,
- ${cast_CONSTSUB}value_for_notfound->name,
- &PL_sv_yes);
- /* and then turn it into a non constant declaration only. */
- SvREFCNT_dec(CvXSUBANY(cv).any_ptr);
- CvCONST_off(cv);
- CvXSUB(cv) = NULL;
- CvXSUBANY(cv).any_ptr = NULL;
- }
+ /* Need to add prototypes, else parsing will vary by platform. */
+ HE *he = (HE*) hv_common_key_len(symbol_table,
+ value_for_notfound->name,
+ value_for_notfound->namelen,
+ HV_FETCH_LVALUE, NULL, 0);
+ SV *sv;
+#ifndef SYMBIAN
+ HEK *hek;
+#endif
+ if (!he) {
+ Perl_croak($athx
+ "Couldn't add key '%s' to %%$package_sprintf_safe\::",
+ value_for_notfound->name);
+ }
+ sv = HeVAL(he);
+ if (!SvOK(sv) && SvTYPE(sv) != SVt_PVGV) {
+ /* Nothing was here before, so mark a prototype of "" */
+ sv_setpvn(sv, "", 0);
+ } else if (SvPOK(sv) && SvCUR(sv) == 0) {
+ /* There is already a prototype of "" - do nothing */
+ } else {
+ /* Someone has been here before us - have to make a real
+ typeglob. */
+ /* It turns out to be incredibly hard to deal with all the
+ corner cases of sub foo (); and reporting errors correctly,
+ so lets cheat a bit. Start with a constant subroutine */
+ CV *cv = newCONSTSUB(symbol_table,
+ ${cast_CONSTSUB}value_for_notfound->name,
+ &PL_sv_yes);
+ /* and then turn it into a non constant declaration only. */
+ SvREFCNT_dec(CvXSUBANY(cv).any_ptr);
+ CvCONST_off(cv);
+ CvXSUB(cv) = NULL;
+ CvXSUBANY(cv).any_ptr = NULL;
+ }
#ifndef SYMBIAN
- if (!hv_store(${c_subname}_missing, value_for_notfound->name,
- value_for_notfound->namelen, &PL_sv_yes, 0))
- Perl_croak($athx "Couldn't add key '%s' to missing_hash",
- value_for_notfound->name);
+ hek = HeKEY_hek(he);
+ if (!hv_common(${c_subname}_missing, NULL, HEK_KEY(hek),
+ HEK_LEN(hek), HEK_FLAGS(hek), HV_FETCH_ISSTORE,
+ &PL_sv_yes, HEK_HASH(hek)))
+ Perl_croak($athx "Couldn't add key '%s' to missing_hash",
+ value_for_notfound->name);
#endif
DONT
- print $xs_fh <<"EOBOOT";
+ print $xs_fh " av_push(push, newSVhek(hek));\n"
+ if $push;
- ++value_for_notfound;
+ print $xs_fh <<"EOBOOT";
+ } while ((++value_for_notfound)->name);
}
EOBOOT
@@ -502,14 +578,69 @@ EOBOOT
print $xs_fh $self->macro_to_endif($macro);
}
- print $xs_fh <<EOBOOT;
+ if ($] >= 5.009) {
+ print $xs_fh <<EOBOOT;
+ /* As we've been creating subroutines, we better invalidate any cached
+ methods */
+ mro_method_changed_in(symbol_table);
+ }
+EOBOOT
+ } else {
+ print $xs_fh <<EOBOOT;
/* As we've been creating subroutines, we better invalidate any cached
methods */
++PL_sub_generation;
}
EOBOOT
+ }
- print $xs_fh $explosives ? <<"EXPLODE" : <<"DONT";
+ return if !defined $xs_subname;
+
+ if ($croak_on_error || $autoload) {
+ print $xs_fh $croak_on_error ? <<"EOC" : <<'EOA';
+
+void
+$xs_subname(sv)
+ INPUT:
+ SV * sv;
+ PREINIT:
+ const PERL_CONTEXT *cx = caller_cx(0, NULL);
+ /* cx is NULL if we've been called from the top level. PL_curcop isn't
+ ideal, but it's much cheaper than other ways of not going SEGV. */
+ const COP *cop = cx ? cx->blk_oldcop : PL_curcop;
+EOC
+
+void
+AUTOLOAD()
+ PROTOTYPE: DISABLE
+ PREINIT:
+ SV *sv = newSVpvn_flags(SvPVX(cv), SvCUR(cv), SVs_TEMP | SvUTF8(cv));
+ const COP *cop = PL_curcop;
+EOA
+ print $xs_fh <<"EOC";
+ PPCODE:
+#ifndef SYMBIAN
+ /* It's not obvious how to calculate this at C pre-processor time.
+ However, any compiler optimiser worth its salt should be able to
+ remove the dead code, and hopefully the now-obviously-unused static
+ function too. */
+ HV *${c_subname}_missing = (C_ARRAY_LENGTH(values_for_notfound) > 1)
+ ? get_missing_hash(aTHX) : NULL;
+ if ((C_ARRAY_LENGTH(values_for_notfound) > 1)
+ ? hv_exists_ent(${c_subname}_missing, sv, 0) : 0) {
+ sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf
+ ", used at %" COP_FILE_F " line %d\\n", sv,
+ COP_FILE(cop), CopLINE(cop));
+ } else
+#endif
+ {
+ sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro at %"
+ COP_FILE_F " line %d\\n", sv, COP_FILE(cop), CopLINE(cop));
+ }
+ croak_sv(sv_2mortal(sv));
+EOC
+ } else {
+ print $xs_fh $explosives ? <<"EXPLODE" : <<"DONT";
void
$xs_subname(sv)
@@ -523,27 +654,29 @@ EXPLODE
void
$xs_subname(sv)
- PREINIT:
- STRLEN len;
INPUT:
SV * sv;
- const char * s = SvPV(sv, len);
PPCODE:
-#ifdef SYMBIAN
- sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro", sv);
-#else
- HV *${c_subname}_missing = get_missing_hash(aTHX);
- if (hv_exists(${c_subname}_missing, s, SvUTF8(sv) ? -(I32)len : (I32)len)) {
+#ifndef SYMBIAN
+ /* It's not obvious how to calculate this at C pre-processor time.
+ However, any compiler optimiser worth its salt should be able to
+ remove the dead code, and hopefully the now-obviously-unused static
+ function too. */
+ HV *${c_subname}_missing = (C_ARRAY_LENGTH(values_for_notfound) > 1)
+ ? get_missing_hash(aTHX) : NULL;
+ if ((C_ARRAY_LENGTH(values_for_notfound) > 1)
+ ? hv_exists_ent(${c_subname}_missing, sv, 0) : 0) {
sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf
", used", sv);
- } else {
+ } else
+#endif
+ {
sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro",
sv);
}
-#endif
PUSHs(sv_2mortal(sv));
DONT
-
+ }
}
1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm
index 016507c72a6..9608256c34c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Constant/Utils.pm
@@ -1,14 +1,16 @@
package ExtUtils::Constant::Utils;
use strict;
-use vars qw($VERSION @EXPORT_OK @ISA $is_perl56);
+use vars qw($VERSION @EXPORT_OK @ISA);
use Carp;
@ISA = 'Exporter';
@EXPORT_OK = qw(C_stringify perl_stringify);
-$VERSION = '0.02';
+$VERSION = '0.03';
-$is_perl56 = ($] < 5.007 && $] > 5.005_50);
+use constant is_perl55 => ($] < 5.005_50);
+use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
+use constant is_sane_perl => $] > 5.007;
=head1 NAME
@@ -46,7 +48,7 @@ sub C_stringify {
if tr/\0-\377// != length;
# grr 5.6.1 moreso because its regexps will break on data that happens to
# be utf8, which includes my 8 bit test cases.
- $_ = pack 'C*', unpack 'U*', $_ . pack 'U*' if $is_perl56;
+ $_ = pack 'C*', unpack 'U*', $_ . pack 'U*' if is_perl56;
s/\\/\\\\/g;
s/([\"\'])/\\$1/g; # Grr. fix perl mode.
s/\n/\\n/g; # Ensure newlines don't end up in octal
@@ -54,15 +56,17 @@ sub C_stringify {
s/\t/\\t/g;
s/\f/\\f/g;
s/\a/\\a/g;
- if (ord('A') == 193) { # EBCDIC has no ^\0-\177 workalike.
- s/([[:^print:]])/sprintf "\\%03o", ord $1/ge;
- } else {
- s/([^\0-\177])/sprintf "\\%03o", ord $1/ge;
- }
- unless ($] < 5.006) {
+ unless (is_perl55) {
# This will elicit a warning on 5.005_03 about [: :] being reserved unless
# I cheat
my $cheat = '([[:^print:]])';
+
+ if (ord('A') == 193) { # EBCDIC has no ^\0-\177 workalike.
+ s/$cheat/sprintf "\\%03o", ord $1/ge;
+ } else {
+ s/([^\0-\177])/sprintf "\\%03o", ord $1/ge;
+ }
+
s/$cheat/sprintf "\\%03o", ord $1/ge;
} else {
require POSIX;
@@ -89,10 +93,13 @@ sub perl_stringify {
s/\t/\\t/g;
s/\f/\\f/g;
s/\a/\\a/g;
- unless ($] < 5.006) {
- if ($] > 5.007) {
+ unless (is_perl55) {
+ # This will elicit a warning on 5.005_03 about [: :] being reserved unless
+ # I cheat
+ my $cheat = '([[:^print:]])';
+ if (is_sane_perl) {
if (ord('A') == 193) { # EBCDIC has no ^\0-\177 workalike.
- s/([[:^print:]])/sprintf "\\x{%X}", ord $1/ge;
+ s/$cheat/sprintf "\\x{%X}", ord $1/ge;
} else {
s/([^\0-\177])/sprintf "\\x{%X}", ord $1/ge;
}
@@ -107,9 +114,6 @@ sub perl_stringify {
}
$_ = $copy;
}
- # This will elicit a warning on 5.005_03 about [: :] being reserved unless
- # I cheat
- my $cheat = '([[:^print:]])';
s/$cheat/sprintf "\\%03o", ord $1/ge;
} else {
# Turns out "\x{}" notation only arrived with 5.6
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
index 24ae9092f52..9710630e515 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Embed.pm
@@ -1,4 +1,3 @@
-# $Id: Embed.pm,v 1.1.1.1 2002/01/16 19:27:19 schwern Exp $
require 5.002;
package ExtUtils::Embed;
@@ -19,7 +18,7 @@ use vars qw(@ISA @EXPORT $VERSION
use strict;
# This is not a dual-life module, so no need for development version numbers
-$VERSION = '1.28';
+$VERSION = '1.30';
@ISA = qw(Exporter);
@EXPORT = qw(&xsinit &ldopts
@@ -144,6 +143,7 @@ sub static_ext {
sub _escape {
my $arg = shift;
+ return $$arg if $^O eq 'VMS'; # parens legal in qualifier lists
$$arg =~ s/([\(\)])/\\$1/g;
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
index da583650fdf..3b030a511af 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
@@ -42,7 +42,7 @@ ExtUtils::Install - install files from here to there
=cut
-$VERSION = '1.55'; # <---- dont forget to update the POD section just above this line!
+$VERSION = '1.56'; # <---- dont forget to update the POD section just above this line!
$VERSION = eval $VERSION;
=pod
@@ -297,7 +297,7 @@ sub _unlink_or_rename { #XXX OS-SPECIFIC
"Going to try to rename it to '$tmp'.\n";
if ( rename $file, $tmp ) {
- warn "Rename succesful. Scheduling '$tmp'\nfor deletion at reboot.\n";
+ warn "Rename successful. Scheduling '$tmp'\nfor deletion at reboot.\n";
# when $installing we can set $moan to true.
# IOW, if we cant delete the renamed file at reboot its
# not the end of the world. The other cases are more serious
@@ -310,7 +310,7 @@ sub _unlink_or_rename { #XXX OS-SPECIFIC
_move_file_at_boot( $tmp, $file );
return $tmp;
} else {
- _choke("Rename failed:$!", "Cannot procede.");
+ _choke("Rename failed:$!", "Cannot proceed.");
}
}
@@ -520,7 +520,7 @@ sub _mkpath {
Wrapper around File::Copy::copy to handle errors.
-If $verbose is true and >1 then additional dignostics will be emitted.
+If $verbose is true and >1 then additional diagnostics will be emitted.
If $dry_run is true then the copy will not actually occur.
@@ -790,7 +790,7 @@ sub install { #XXX OS-SPECIFIC
];
#restore the original directory we were in when File::Find
- #called us so that it doesnt get horribly confused.
+ #called us so that it doesn't get horribly confused.
_chdir($save_cwd);
}, $current_directory );
_chdir($cwd);
@@ -1056,7 +1056,7 @@ sub uninstall {
Remove shadowed files. If $ignore is true then it is assumed to hold
a filename to ignore. This is used to prevent spurious warnings from
-occuring when doing an install at reboot.
+occurring when doing an install at reboot.
We now only die when failing to remove a file that has precedence over
our own, when our install has precedence we only warn.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
index ea4dac4ae7c..2184c4a6d7d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
use File::Spec;
require ExtUtils::Liblist::Kid;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
index b807e97cc86..cf4826fe36f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
@@ -9,7 +9,7 @@ use 5.006;
# Broken out of MakeMaker from version 4.11
use strict;
-our $VERSION = 6.56;
+our $VERSION = 6.57_05;
use Config;
use Cwd 'cwd';
@@ -39,6 +39,7 @@ sub _unix_os2_ext {
my($so) = $Config{so};
my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
my $Config_libext = $Config{lib_ext} || ".a";
+ my $Config_dlext = $Config{dlext};
# compute $extralibs, $bsloadlibs and $ldloadlibs from
@@ -130,8 +131,10 @@ sub _unix_os2_ext {
&& ($Config{'archname'} !~ /RM\d\d\d-svr4/)
&& ($thislib .= "_s") ){ # we must explicitly use _s version
} elsif (-f ($fullname="$thispth/lib$thislib$Config_libext")){
+ } elsif (defined($Config_dlext)
+ && -f ($fullname="$thispth/lib$thislib.$Config_dlext")){
} elsif (-f ($fullname="$thispth/$thislib$Config_libext")){
- } elsif (-f ($fullname="$thispth/lib$thislib.dll$Config_libext")){
+ } elsif (-f ($fullname="$thispth/lib$thislib.dll$Config_libext")){
} elsif (-f ($fullname="$thispth/Slib$thislib$Config_libext")){
} elsif ($^O eq 'dgux'
&& -l ($fullname="$thispth/lib$thislib$Config_libext")
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP b/Master/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP
index e50a7b390f7..bea687450f3 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP
@@ -47,5 +47,9 @@
# Mac OSX SMB mount metadata files
\B\._
-# Avoid Devel::Cover files.
+# Avoid Devel::Cover and Devel::CoverX::Covered files.
\bcover_db\b
+\bcovered\b
+
+# Avoid MYMETA files
+^MYMETA\.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
index eac5f483494..945f24513b7 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
@@ -3,7 +3,7 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
index 5179be4bc2a..021238523e1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
index 4905aebc642..a38f2740f7f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
use Carp;
use File::Spec;
@@ -486,8 +486,8 @@ clean :: clean_subdirs
split /\s+/, $attribs{FILES} ;
}
- push(@files, qw[$(MAKE_APERL_FILE)
- perlmain.c tmon.out mon.out so_locations
+ push(@files, qw[$(MAKE_APERL_FILE)
+ MYMETA.yml perlmain.c tmon.out mon.out so_locations
blibdirs.ts pm_to_blib pm_to_blib.ts
*$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT)
$(BOOTSTRAP) $(BASEEXT).bso
@@ -880,7 +880,7 @@ sub metafile_data {
);
# The author key is required and it takes a list.
- $meta{author} = defined $self->{AUTHOR} ? [$self->{AUTHOR}] : [];
+ $meta{author} = defined $self->{AUTHOR} ? $self->{AUTHOR} : [];
$meta{requires} = $self->{PREREQ_PM} if defined $self->{PREREQ_PM};
$meta{requires}{perl} = $self->{MIN_PERL_VERSION} if $self->{MIN_PERL_VERSION};
@@ -984,7 +984,7 @@ sub _dump_hash {
);
if (exists $customs->{$key}) {
my %k_custom = %{$customs->{$key}};
- foreach my $k qw(key_sort max_key_length customs) {
+ foreach my $k (qw(key_sort max_key_length customs)) {
$k_options{$k} = $k_custom{$k} if exists $k_custom{$k};
}
}
@@ -1085,6 +1085,99 @@ MAKE
}
+=head3 mymeta
+
+ my $mymeta = $mm->mymeta;
+
+Generate MYMETA information as a hash either from an existing META.yml
+or from internal data.
+
+=cut
+
+sub mymeta {
+ my $self = shift;
+
+ my $mymeta;
+
+ if ( -e 'META.yml' ) {
+ $mymeta = $self->_mymeta_from_meta();
+ }
+
+ unless ( $mymeta ) {
+ my @metadata = $self->metafile_data(
+ $self->{META_ADD} || {},
+ $self->{META_MERGE} || {},
+ );
+ $mymeta = {@metadata};
+ }
+
+ $mymeta->{dynamic_config} = 0;
+
+ return $mymeta;
+}
+
+
+sub _mymeta_from_meta {
+ my $self = shift;
+
+ my $meta;
+ eval {
+ my @yaml = ExtUtils::MakeMaker::YAML::LoadFile('META.yml');
+ $meta = $yaml[0];
+ };
+ return undef unless $meta;
+
+ # META.yml before 6.25_01 cannot be trusted. META.yml lived in the source directory.
+ # There was a good chance the author accidentally uploaded a stale META.yml if they
+ # rolled their own tarball rather than using "make dist".
+ if ($meta->{generated_by} &&
+ $meta->{generated_by} =~ /ExtUtils::MakeMaker version ([\d\._]+)/) {
+ my $eummv = do { local $^W = 0; $1+0; };
+ if ($eummv < 6.2501) {
+ return undef;
+ }
+ }
+
+ # Overwrite the non-configure dependency hashs
+ delete $meta->{requires};
+ delete $meta->{build_requires};
+ delete $meta->{recommends};
+ if ( exists $self->{PREREQ_PM} ) {
+ $meta->{requires} = $self->{PREREQ_PM} || {};
+ }
+ if ( exists $self->{BUILD_REQUIRES} ) {
+ $meta->{build_requires} = $self->{BUILD_REQUIRES} || {};
+ }
+ return $meta;
+}
+
+
+=head3 write_mymeta
+
+ $self->write_mymeta( $mymeta );
+
+Write MYMETA information to MYMETA.yml.
+
+This will probably be refactored into a more generic YAML dumping method.
+
+=cut
+
+sub write_mymeta {
+ my $self = shift;
+ my $mymeta = shift;
+
+ require ExtUtils::MakeMaker::YAML;
+ my $mymeta_content = ExtUtils::MakeMaker::YAML::Dump($mymeta);
+
+ open(my $myfh, ">", "MYMETA.yml")
+ or die "Unable to open MYMETA.yml: $!";
+ print $myfh $mymeta_content;
+ close $myfh;
+
+ return;
+}
+
+
=head3 realclean (o)
Defines the realclean target.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
index 0b7c8db9225..0eeb795e485 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
=item os_flavor
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
index 394fbc68a75..d6ce3a7d68c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
=head1 NAME
@@ -116,6 +116,39 @@ sub maybe_command {
return $self->SUPER::maybe_command($file);
}
+=item dynamic_lib
+
+Use the default to produce the *.dll's.
+But for new archdir dll's use the same rebase address if the old exists.
+
+=cut
+
+sub dynamic_lib {
+ my($self, %attribs) = @_;
+ my $s = ExtUtils::MM_Unix::dynamic_lib($self, %attribs);
+ my $ori = "$self->{INSTALLARCHLIB}/auto/$self->{FULLEXT}/$self->{BASEEXT}.$self->{DLEXT}";
+ if (-e $ori) {
+ my $imagebase = `/bin/objdump -p $ori | /bin/grep ImageBase | /bin/cut -c12-`;
+ chomp $imagebase;
+ if ($imagebase gt "40000000") {
+ my $LDDLFLAGS = $self->{LDDLFLAGS};
+ $LDDLFLAGS =~ s/-Wl,--enable-auto-image-base/-Wl,--image-base=0x$imagebase/;
+ $s =~ s/ \$\(LDDLFLAGS\) / $LDDLFLAGS /m;
+ }
+ }
+ $s;
+}
+
+=item all_target
+
+Build man pages, too
+
+=cut
+
+sub all_target {
+ ExtUtils::MM_Unix::all_target(shift);
+}
+
=back
=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
index fc0a7947235..68612a80acd 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = 6.56;
+our $VERSION = 6.57_05;
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
index 1cb87c78815..20aeb791642 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
@@ -7,7 +7,7 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
index cfc82051e1b..4dcb6e55ec0 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = 6.56;
+our $VERSION = 6.57_05;
sub new {
die <<'UNSUPPORTED';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
index 0c8f6c0affb..2089e8f88c2 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
@@ -22,7 +22,7 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
index 680502baf24..46d57be2933 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
@@ -5,7 +5,7 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
index f78d5e8a9ee..5efd3771f39 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
index 5adc46ea8d2..032bf35b84b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = 6.56;
+our $VERSION = 6.57_05;
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
index 239d6df826c..6964eea0883 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.56';
+$VERSION = '6.57_05';
require ExtUtils::MM_Any;
our @ISA = qw(ExtUtils::MM_Any);
@@ -1079,7 +1079,6 @@ Inserts the sharpbang or equivalent magic number to a set of @files.
sub fixin { # stolen from the pink Camel book, more or less
my ( $self, @files ) = @_;
- my ($does_shbang) = $Config{'sharpbang'} =~ /^\s*\#\!/;
for my $file (@files) {
my $file_new = "$file.new";
my $file_bak = "$file.bak";
@@ -1088,58 +1087,9 @@ sub fixin { # stolen from the pink Camel book, more or less
local $/ = "\n";
chomp( my $line = <$fixin> );
next unless $line =~ s/^\s*\#!\s*//; # Not a shbang file.
- # Now figure out the interpreter name.
- my ( $cmd, $arg ) = split ' ', $line, 2;
- $cmd =~ s!^.*/!!;
-
- # Now look (in reverse) for interpreter in absolute PATH (unless perl).
- my $interpreter;
- if ( $cmd =~ m{^perl(?:\z|[^a-z])} ) {
- if ( $Config{startperl} =~ m,^\#!.*/perl, ) {
- $interpreter = $Config{startperl};
- $interpreter =~ s,^\#!,,;
- }
- else {
- $interpreter = $Config{perlpath};
- }
- }
- else {
- my (@absdirs)
- = reverse grep { $self->file_name_is_absolute($_) } $self->path;
- $interpreter = '';
-
- foreach my $dir (@absdirs) {
- if ( $self->maybe_command($cmd) ) {
- warn "Ignoring $interpreter in $file\n"
- if $Verbose && $interpreter;
- $interpreter = $self->catfile( $dir, $cmd );
- }
- }
- }
-
- # Figure out how to invoke interpreter on this machine.
- my ($shb) = "";
- if ($interpreter) {
- print STDOUT "Changing sharpbang in $file to $interpreter"
- if $Verbose;
-
- # this is probably value-free on DOSISH platforms
- if ($does_shbang) {
- $shb .= "$Config{'sharpbang'}$interpreter";
- $shb .= ' ' . $arg if defined $arg;
- $shb .= "\n";
- }
- $shb .= qq{
-eval 'exec $interpreter $arg -S \$0 \${1+"\$\@"}'
- if 0; # not running under some shell
-} unless $Is{Win32}; # this won't work on win32, so don't
- }
- else {
- warn "Can't find $cmd in PATH, $file unchanged"
- if $Verbose;
- next;
- }
+ my $shb = $self->_fixin_replace_shebang( $file, $line );
+ next unless defined $shb;
open( my $fixout, ">", "$file_new" ) or do {
warn "Can't create new $file: $!\n";
@@ -1189,6 +1139,63 @@ sub _rename {
return rename($old, $new);
}
+sub _fixin_replace_shebang {
+ my ( $self, $file, $line ) = @_;
+
+ # Now figure out the interpreter name.
+ my ( $cmd, $arg ) = split ' ', $line, 2;
+ $cmd =~ s!^.*/!!;
+
+ # Now look (in reverse) for interpreter in absolute PATH (unless perl).
+ my $interpreter;
+ if ( $cmd =~ m{^perl(?:\z|[^a-z])} ) {
+ if ( $Config{startperl} =~ m,^\#!.*/perl, ) {
+ $interpreter = $Config{startperl};
+ $interpreter =~ s,^\#!,,;
+ }
+ else {
+ $interpreter = $Config{perlpath};
+ }
+ }
+ else {
+ my (@absdirs)
+ = reverse grep { $self->file_name_is_absolute($_) } $self->path;
+ $interpreter = '';
+
+ foreach my $dir (@absdirs) {
+ if ( $self->maybe_command($cmd) ) {
+ warn "Ignoring $interpreter in $file\n"
+ if $Verbose && $interpreter;
+ $interpreter = $self->catfile( $dir, $cmd );
+ }
+ }
+ }
+
+ # Figure out how to invoke interpreter on this machine.
+
+ my ($does_shbang) = $Config{'sharpbang'} =~ /^\s*\#\!/;
+ my ($shb) = "";
+ if ($interpreter) {
+ print STDOUT "Changing sharpbang in $file to $interpreter"
+ if $Verbose;
+ # this is probably value-free on DOSISH platforms
+ if ($does_shbang) {
+ $shb .= "$Config{'sharpbang'}$interpreter";
+ $shb .= ' ' . $arg if defined $arg;
+ $shb .= "\n";
+ }
+ $shb .= qq{
+eval 'exec $interpreter $arg -S \$0 \${1+"\$\@"}'
+ if 0; # not running under some shell
+} unless $Is{Win32}; # this won't work on win32, so don't
+ }
+ else {
+ warn "Can't find $cmd in PATH, $file unchanged"
+ if $Verbose;
+ return undef;
+ }
+ return $shb
+}
=item force (o)
@@ -2593,7 +2600,7 @@ sub parse_abstract {
$inpod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $inpod;
next if !$inpod;
chop;
- next unless /^($package\s-\s)(.*)/;
+ next unless /^($package(?:\.pm)? \s+ -+ \s+)(.*)/x;
$result = $2;
last;
}
@@ -2634,7 +2641,7 @@ sub parse_version {
$inpod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $inpod;
next if $inpod || /^\s*#/;
chop;
- next if /^\s*(if|unless)/;
+ next if /^\s*(if|unless|elsif)/;
if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* ; }x ) {
local $^W = 0;
$result = $1;
@@ -2754,7 +2761,6 @@ PERL_HDRS = \
$(PERL_INC)/INTERN.h \
$(PERL_INC)/XSUB.h \
$(PERL_INC)/av.h \
- $(PERL_INC)/cc_runtime.h \
$(PERL_INC)/config.h \
$(PERL_INC)/cop.h \
$(PERL_INC)/cv.h \
@@ -2884,7 +2890,7 @@ sub ppd {
$abstract =~ s/</&lt;/g;
$abstract =~ s/>/&gt;/g;
- my $author = $self->{AUTHOR} || '';
+ my $author = join(', ',@{$self->{AUTHOR} || []});
$author =~ s/</&lt;/g;
$author =~ s/>/&gt;/g;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
index 2066d035976..d6b63eba63f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
@@ -15,7 +15,7 @@ BEGIN {
use File::Basename;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -248,6 +248,23 @@ sub find_perl {
0; # false and not empty
}
+=item _fixin_replace_shebang (override)
+
+Helper routine for MM->fixin(), overridden because there's no such thing as an
+actual shebang line that will be intepreted by the shell, so we just prepend
+$Config{startperl} and preserve the shebang line argument for any switches it
+may contain.
+
+=cut
+
+sub _fixin_replace_shebang {
+ my ( $self, $file, $line ) = @_;
+
+ my ( undef, $arg ) = split ' ', $line, 2;
+
+ return $Config{startperl} . "\n" . $Config{sharpbang} . "perl $arg\n";
+}
+
=item maybe_command (override)
Follows VMS naming conventions for executable files.
@@ -1067,14 +1084,14 @@ $(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
=item extra_clean_files
Clean up some OS specific files. Plus the temp file used to shorten
-a lot of commands.
+a lot of commands. And the name mangler database.
=cut
sub extra_clean_files {
return qw(
*.Map *.Dmp *.Lis *.cpp *.$(DLEXT) *.Opt $(BASEEXT).bso
- .MM_Tmp
+ .MM_Tmp cxx_repository
);
}
@@ -1265,7 +1282,7 @@ sub perldepend {
push @m, '
$(OBJECT) : $(PERL_INC)EXTERN.h, $(PERL_INC)INTERN.h, $(PERL_INC)XSUB.h
-$(OBJECT) : $(PERL_INC)av.h, $(PERL_INC)cc_runtime.h, $(PERL_INC)config.h
+$(OBJECT) : $(PERL_INC)av.h, $(PERL_INC)config.h
$(OBJECT) : $(PERL_INC)cop.h, $(PERL_INC)cv.h, $(PERL_INC)embed.h
$(OBJECT) : $(PERL_INC)embedvar.h, $(PERL_INC)form.h
$(OBJECT) : $(PERL_INC)gv.h, $(PERL_INC)handy.h, $(PERL_INC)hv.h
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
index 1814a1dae4c..e5b60d78e38 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
index 19e462de593..faaf219ecba 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -289,17 +289,6 @@ sub dynamic_lib {
my($ldfrom) = '$(LDFROM)';
my(@m);
-# one thing for GCC/Mingw32:
-# we try to overcome non-relocateable-DLL problems by generating
-# a (hopefully unique) image-base from the dll's name
-# -- BKS, 10-19-1999
- if ($GCC) {
- my $dllname = $self->{BASEEXT} . "." . $self->{DLEXT};
- $dllname =~ /(....)(.{0,4})/;
- my $baseaddr = unpack("n", $1 ^ $2);
- $otherldflags .= sprintf("-Wl,--image-base,0x%x0000 ", $baseaddr);
- }
-
push(@m,'
# This section creates the dynamically loadable $(INST_DYNAMIC)
# from $(OBJECT) and possibly $(MYEXTLIB).
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
index c47147695e8..19f5c7d61ed 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
index bed177d210a..464f814f0f7 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
@@ -3,7 +3,7 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = 6.56;
+our $VERSION = 6.57_05;
our @ISA = qw(ExtUtils::MM);
{
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
index 4422b686ce7..be9624e389e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
@@ -18,7 +18,7 @@ our @Overridable;
my @Prepend_parent;
my %Recognized_Att_Keys;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
# Emulate something resembling CVS $Revision$
(our $Revision = $VERSION) =~ s{_}{};
@@ -52,6 +52,8 @@ sub WriteMakefile {
require ExtUtils::MY;
my %att = @_;
+ _convert_compat_attrs(\%att);
+
_verify_att(\%att);
my $mm = MM->new(\%att);
@@ -66,6 +68,7 @@ sub WriteMakefile {
# scalar.
my %Att_Sigs;
my %Special_Sigs = (
+ AUTHOR => 'ARRAY',
C => 'ARRAY',
CONFIG => 'ARRAY',
CONFIGURE => 'CODE',
@@ -111,6 +114,19 @@ my %Special_Sigs = (
@Att_Sigs{keys %Recognized_Att_Keys} = ('') x keys %Recognized_Att_Keys;
@Att_Sigs{keys %Special_Sigs} = values %Special_Sigs;
+sub _convert_compat_attrs {
+ my($att) = @_;
+ if (exists $att->{AUTHOR}) {
+ if ($att->{AUTHOR}) {
+ if (!ref($att->{AUTHOR})) {
+ my $t = $att->{AUTHOR};
+ $att->{AUTHOR} = [$t];
+ }
+ } else {
+ $att->{AUTHOR} = [];
+ }
+ }
+}
sub _verify_att {
my($att) = @_;
@@ -257,8 +273,8 @@ sub full_setup {
INC INCLUDE_EXT LDFROM LIB LIBPERL_A LIBS LICENSE
LINKTYPE MAKE MAKEAPERL MAKEFILE MAKEFILE_OLD MAN1PODS MAN3PODS MAP_TARGET
META_ADD META_MERGE MIN_PERL_VERSION BUILD_REQUIRES CONFIGURE_REQUIRES
- MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NORECURS NO_VC OBJECT OPTIMIZE
- PERL_MALLOC_OK PERL PERLMAINCC PERLRUN PERLRUNINST PERL_CORE
+ MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA NORECURS NO_VC OBJECT
+ OPTIMIZE PERL_MALLOC_OK PERL PERLMAINCC PERLRUN PERLRUNINST PERL_CORE
PERL_SRC PERM_DIR PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC
PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
@@ -409,7 +425,7 @@ sub new {
}
print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose;
- if (-f "MANIFEST" && ! -f "Makefile"){
+ if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
check_manifest();
}
@@ -467,14 +483,16 @@ END
if (!$installed_file) {
warn sprintf "Warning: prerequisite %s %s not found.\n",
$prereq, $required_version
- unless $self->{PREREQ_FATAL};
+ unless $self->{PREREQ_FATAL}
+ or $ENV{PERL_CORE};
$unsatisfied{$prereq} = 'not installed';
}
elsif ($pr_version < $required_version ){
warn sprintf "Warning: prerequisite %s %s not found. We have %s.\n",
$prereq, $required_version, ($pr_version || 'unknown version')
- unless $self->{PREREQ_FATAL};
+ unless $self->{PREREQ_FATAL}
+ or $ENV{PERL_CORE};
$unsatisfied{$prereq} = $required_version ? $required_version : 'unknown version' ;
}
@@ -494,6 +512,7 @@ END
if (defined $self->{CONFIGURE}) {
if (ref $self->{CONFIGURE} eq 'CODE') {
%configure_att = %{&{$self->{CONFIGURE}}};
+ _convert_compat_attrs(\%configure_att);
$self = { %$self, %configure_att };
} else {
Carp::croak "Attribute 'CONFIGURE' to WriteMakefile() not a code reference\n";
@@ -998,16 +1017,23 @@ sub flush {
or die "Unable to open MakeMaker.tmp: $!";
for my $chunk (@{$self->{RESULT}}) {
- print $fh "$chunk\n";
+ print $fh "$chunk\n"
+ or die "Can't write to MakeMaker.tmp: $!";
}
- close $fh;
+ close $fh
+ or die "Can't write to MakeMaker.tmp: $!";
_rename("MakeMaker.tmp", $finalname) or
warn "rename MakeMaker.tmp => $finalname: $!";
chmod 0644, $finalname unless $Is_VMS;
- my %keep = map { ($_ => 1) } qw(NEEDS_LINKING HAS_LINK_CODE);
+ unless ($self->{NO_MYMETA}) {
+ # Write MYMETA.yml to communicate metadata up to the CPAN clients
+ print STDOUT "Writing MYMETA.yml\n";
+ $self->write_mymeta( $self->mymeta );
+ }
+ my %keep = map { ($_ => 1) } qw(NEEDS_LINKING HAS_LINK_CODE);
if ($self->{PARENT} && !$self->{_KEEP_AFTER_FLUSH}) {
foreach (keys %$self) { # safe memory
delete $self->{$_} unless $keep{$_};
@@ -1017,7 +1043,6 @@ sub flush {
system("$Config::Config{eunicefix} $finalname") unless $Config::Config{eunicefix} eq ":";
}
-
# This is a rename for OS's where the target must be unlinked first.
sub _rename {
my($src, $dest) = @_;
@@ -1465,8 +1490,9 @@ the first line in the "=head1 NAME" section. $2 becomes the abstract.
=item AUTHOR
-String containing name (and email address) of package author(s). Is used
-in PPD (Perl Package Description) files for PPM (Perl Package Manager).
+Array of strings containing name (and email address) of package author(s).
+Is used in META.yml and PPD (Perl Package Description) files for PPM (Perl
+Package Manager).
=item BINARY_LOCATION
@@ -1940,7 +1966,7 @@ may hold a name for that binary. Defaults to perl
A hashrefs of items to add to the F<META.yml>.
They differ in how they behave if they have the same key as the
-default metadata. META_ADD will override the default value with it's
+default metadata. META_ADD will override the default value with its
own. META_MERGE will merge its value with the default.
Unless you want to override the defaults, prefer META_MERGE so as to
@@ -1990,6 +2016,13 @@ the META.yml module meta-data file during 'make distdir'.
Defaults to false.
+=item NO_MYMETA
+
+When true, suppresses the generation of MYMETA.yml module meta-data file
+during 'perl Makefile.PL'.
+
+Defaults to false.
+
=item NO_VC
In general, any generated Makefile checks for the current version of
@@ -2225,18 +2258,17 @@ will C<die> instead of simply informing the user of the missing dependencies.
It is I<extremely> rare to have to use C<PREREQ_FATAL>. Its use by module
authors is I<strongly discouraged> and should never be used lightly.
+
Module installation tools have ways of resolving umet dependencies but
to do that they need a F<Makefile>. Using C<PREREQ_FATAL> breaks this.
That's bad.
-The only situation where it is appropriate is when you have
-dependencies that are indispensible to actually I<write> a
-F<Makefile>. For example, MakeMaker's F<Makefile.PL> needs L<File::Spec>.
-If its not available it cannot write the F<Makefile>.
+Assuming you have good test coverage, your tests should fail with
+missing dependencies informing the user more strongly that something
+is wrong. You can write a F<t/00compile.t> test which will simply
+check that your code compiles and stop "make test" prematurely if it
+doesn't. See L<Test::More/BAIL_OUT> for more details.
-Note: see L<Test::Harness> for a shortcut for stopping tests early
-if you are missing dependencies and are afraid that users might
-use your module with an incomplete environment.
=item PREREQ_PM
@@ -2796,6 +2828,8 @@ generated Makefile along with your report.
For more up-to-date information, see L<http://www.makemaker.org>.
+Repository available at L<http://github.com/schwern/extutils-makemaker>.
+
=head1 LICENSE
This program is free software; you can redistribute it and/or
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
index 38b60affdda..a7ac47d94a6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
use Config ();
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
index d33f82e53b9..f3354231d1e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '1.12';
+our $VERSION = '6.57_01';
1;
__END__
@@ -241,7 +241,7 @@ do that. Use at your own risk. Have fun blowing holes in your foot.
use File::Spec;
use File::Find;
use ExtUtils::Manifest qw(maniread);
-
+
my %manifest = map {( $_ => 1 )}
grep { File::Spec->canonpath($_) }
keys %{ maniread() };
@@ -250,14 +250,14 @@ do that. Use at your own risk. Have fun blowing holes in your foot.
print "No files found in MANIFEST. Stopping.\n";
exit;
}
-
+
find({
wanted => sub {
my $path = File::Spec->canonpath($_);
-
+
return unless -f $path;
return if exists $manifest{ $path };
-
+
print "unlink $path\n";
unlink $path;
},
@@ -267,6 +267,10 @@ do that. Use at your own risk. Have fun blowing holes in your foot.
);
+=item Which tar should I use on Windows?
+
+We recommend ptar from Archive::Tar not older that 1.66 with '-C' option.
+
=item Which zip should I use on Windows for '[nd]make zipdist'?
We recommend InfoZIP: L<http://www.info-zip.org/Zip.html>
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
index 8ad72649b1a..d5ff9086c36 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = 0.02;
+our $VERSION = 6.57_01;
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm
new file mode 100644
index 00000000000..7582c5781f2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm
@@ -0,0 +1,658 @@
+package ExtUtils::MakeMaker::YAML;
+
+use strict;
+
+# UTF Support?
+sub HAVE_UTF8 () { $] >= 5.007003 }
+BEGIN {
+ if ( HAVE_UTF8 ) {
+ # The string eval helps hide this from Test::MinimumVersion
+ eval "require utf8;";
+ die "Failed to load UTF-8 support" if $@;
+ }
+
+ # Class structure
+ require 5.004;
+ require Exporter;
+ require Carp;
+ $ExtUtils::MakeMaker::YAML::VERSION = '1.44';
+ @ExtUtils::MakeMaker::YAML::ISA = qw{ Exporter };
+ @ExtUtils::MakeMaker::YAML::EXPORT = qw{ Load Dump };
+ @ExtUtils::MakeMaker::YAML::EXPORT_OK = qw{ LoadFile DumpFile freeze thaw };
+
+ # Error storage
+ $ExtUtils::MakeMaker::YAML::errstr = '';
+}
+
+# The character class of all characters we need to escape
+# NOTE: Inlined, since it's only used once
+# my $RE_ESCAPE = '[\\x00-\\x08\\x0b-\\x0d\\x0e-\\x1f\"\n]';
+
+# Printed form of the unprintable characters in the lowest range
+# of ASCII characters, listed by ASCII ordinal position.
+my @UNPRINTABLE = qw(
+ z x01 x02 x03 x04 x05 x06 a
+ x08 t n v f r x0e x0f
+ x10 x11 x12 x13 x14 x15 x16 x17
+ x18 x19 x1a e x1c x1d x1e x1f
+);
+
+# Printable characters for escapes
+my %UNESCAPES = (
+ z => "\x00", a => "\x07", t => "\x09",
+ n => "\x0a", v => "\x0b", f => "\x0c",
+ r => "\x0d", e => "\x1b", '\\' => '\\',
+);
+
+# Special magic boolean words
+my %QUOTE = map { $_ => 1 } qw{
+ null Null NULL
+ y Y yes Yes YES n N no No NO
+ true True TRUE false False FALSE
+ on On ON off Off OFF
+};
+
+
+
+
+
+#####################################################################
+# Implementation
+
+# Create an empty ExtUtils::MakeMaker::YAML object
+sub new {
+ my $class = shift;
+ bless [ @_ ], $class;
+}
+
+# Create an object from a file
+sub read {
+ my $class = ref $_[0] ? ref shift : shift;
+
+ # Check the file
+ my $file = shift or return $class->_error( 'You did not specify a file name' );
+ return $class->_error( "File '$file' does not exist" ) unless -e $file;
+ return $class->_error( "'$file' is a directory, not a file" ) unless -f _;
+ return $class->_error( "Insufficient permissions to read '$file'" ) unless -r _;
+
+ # Slurp in the file
+ local $/ = undef;
+ local *CFG;
+ unless ( open(CFG, $file) ) {
+ return $class->_error("Failed to open file '$file': $!");
+ }
+ my $contents = <CFG>;
+ unless ( close(CFG) ) {
+ return $class->_error("Failed to close file '$file': $!");
+ }
+
+ $class->read_string( $contents );
+}
+
+# Create an object from a string
+sub read_string {
+ my $class = ref $_[0] ? ref shift : shift;
+ my $self = bless [], $class;
+ my $string = $_[0];
+ unless ( defined $string ) {
+ return $self->_error("Did not provide a string to load");
+ }
+
+ # Byte order marks
+ # NOTE: Keeping this here to educate maintainers
+ # my %BOM = (
+ # "\357\273\277" => 'UTF-8',
+ # "\376\377" => 'UTF-16BE',
+ # "\377\376" => 'UTF-16LE',
+ # "\377\376\0\0" => 'UTF-32LE'
+ # "\0\0\376\377" => 'UTF-32BE',
+ # );
+ if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
+ return $self->_error("Stream has a non UTF-8 BOM");
+ } else {
+ # Strip UTF-8 bom if found, we'll just ignore it
+ $string =~ s/^\357\273\277//;
+ }
+
+ # Try to decode as utf8
+ utf8::decode($string) if HAVE_UTF8;
+
+ # Check for some special cases
+ return $self unless length $string;
+ unless ( $string =~ /[\012\015]+\z/ ) {
+ return $self->_error("Stream does not end with newline character");
+ }
+
+ # Split the file into lines
+ my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
+ split /(?:\015{1,2}\012|\015|\012)/, $string;
+
+ # Strip the initial YAML header
+ @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
+
+ # A nibbling parser
+ while ( @lines ) {
+ # Do we have a document header?
+ if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
+ # Handle scalar documents
+ shift @lines;
+ if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
+ push @$self, $self->_read_scalar( "$1", [ undef ], \@lines );
+ next;
+ }
+ }
+
+ if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
+ # A naked document
+ push @$self, undef;
+ while ( @lines and $lines[0] !~ /^---/ ) {
+ shift @lines;
+ }
+
+ } elsif ( $lines[0] =~ /^\s*\-/ ) {
+ # An array at the root
+ my $document = [ ];
+ push @$self, $document;
+ $self->_read_array( $document, [ 0 ], \@lines );
+
+ } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
+ # A hash at the root
+ my $document = { };
+ push @$self, $document;
+ $self->_read_hash( $document, [ length($1) ], \@lines );
+
+ } else {
+ Carp::croak("ExtUtils::MakeMaker::YAML failed to classify the line '$lines[0]'");
+ }
+ }
+
+ $self;
+}
+
+# Deparse a scalar string to the actual scalar
+sub _read_scalar {
+ my ($self, $string, $indent, $lines) = @_;
+
+ # Trim trailing whitespace
+ $string =~ s/\s*\z//;
+
+ # Explitic null/undef
+ return undef if $string eq '~';
+
+ # Single quote
+ if ( $string =~ /^\'(.*?)\'\z/ ) {
+ return '' unless defined $1;
+ $string = $1;
+ $string =~ s/\'\'/\'/g;
+ return $string;
+ }
+
+ # Double quote.
+ # The commented out form is simpler, but overloaded the Perl regex
+ # engine due to recursion and backtracking problems on strings
+ # larger than 32,000ish characters. Keep it for reference purposes.
+ # if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
+ if ( $string =~ /^\"([^\\"]*(?:\\.[^\\"]*)*)\"\z/ ) {
+ # Reusing the variable is a little ugly,
+ # but avoids a new variable and a string copy.
+ $string = $1;
+ $string =~ s/\\"/"/g;
+ $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
+ return $string;
+ }
+
+ # Special cases
+ if ( $string =~ /^[\'\"!&]/ ) {
+ Carp::croak("ExtUtils::MakeMaker::YAML does not support a feature in line '$lines->[0]'");
+ }
+ return {} if $string eq '{}';
+ return [] if $string eq '[]';
+
+ # Regular unquoted string
+ return $string unless $string =~ /^[>|]/;
+
+ # Error
+ Carp::croak("ExtUtils::MakeMaker::YAML failed to find multi-line scalar content") unless @$lines;
+
+ # Check the indent depth
+ $lines->[0] =~ /^(\s*)/;
+ $indent->[-1] = length("$1");
+ if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
+ Carp::croak("ExtUtils::MakeMaker::YAML found bad indenting in line '$lines->[0]'");
+ }
+
+ # Pull the lines
+ my @multiline = ();
+ while ( @$lines ) {
+ $lines->[0] =~ /^(\s*)/;
+ last unless length($1) >= $indent->[-1];
+ push @multiline, substr(shift(@$lines), length($1));
+ }
+
+ my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
+ my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
+ return join( $j, @multiline ) . $t;
+}
+
+# Parse an array
+sub _read_array {
+ my ($self, $array, $indent, $lines) = @_;
+
+ while ( @$lines ) {
+ # Check for a new document
+ if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
+ while ( @$lines and $lines->[0] !~ /^---/ ) {
+ shift @$lines;
+ }
+ return 1;
+ }
+
+ # Check the indent level
+ $lines->[0] =~ /^(\s*)/;
+ if ( length($1) < $indent->[-1] ) {
+ return 1;
+ } elsif ( length($1) > $indent->[-1] ) {
+ Carp::croak("ExtUtils::MakeMaker::YAML found bad indenting in line '$lines->[0]'");
+ }
+
+ if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
+ # Inline nested hash
+ my $indent2 = length("$1");
+ $lines->[0] =~ s/-/ /;
+ push @$array, { };
+ $self->_read_hash( $array->[-1], [ @$indent, $indent2 ], $lines );
+
+ } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
+ # Array entry with a value
+ shift @$lines;
+ push @$array, $self->_read_scalar( "$2", [ @$indent, undef ], $lines );
+
+ } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
+ shift @$lines;
+ unless ( @$lines ) {
+ push @$array, undef;
+ return 1;
+ }
+ if ( $lines->[0] =~ /^(\s*)\-/ ) {
+ my $indent2 = length("$1");
+ if ( $indent->[-1] == $indent2 ) {
+ # Null array entry
+ push @$array, undef;
+ } else {
+ # Naked indenter
+ push @$array, [ ];
+ $self->_read_array( $array->[-1], [ @$indent, $indent2 ], $lines );
+ }
+
+ } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
+ push @$array, { };
+ $self->_read_hash( $array->[-1], [ @$indent, length("$1") ], $lines );
+
+ } else {
+ Carp::croak("ExtUtils::MakeMaker::YAML failed to classify line '$lines->[0]'");
+ }
+
+ } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
+ # This is probably a structure like the following...
+ # ---
+ # foo:
+ # - list
+ # bar: value
+ #
+ # ... so lets return and let the hash parser handle it
+ return 1;
+
+ } else {
+ Carp::croak("ExtUtils::MakeMaker::YAML failed to classify line '$lines->[0]'");
+ }
+ }
+
+ return 1;
+}
+
+# Parse an array
+sub _read_hash {
+ my ($self, $hash, $indent, $lines) = @_;
+
+ while ( @$lines ) {
+ # Check for a new document
+ if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
+ while ( @$lines and $lines->[0] !~ /^---/ ) {
+ shift @$lines;
+ }
+ return 1;
+ }
+
+ # Check the indent level
+ $lines->[0] =~ /^(\s*)/;
+ if ( length($1) < $indent->[-1] ) {
+ return 1;
+ } elsif ( length($1) > $indent->[-1] ) {
+ Carp::croak("ExtUtils::MakeMaker::YAML found bad indenting in line '$lines->[0]'");
+ }
+
+ # Get the key
+ unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+|$)// ) {
+ if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
+ Carp::croak("ExtUtils::MakeMaker::YAML does not support a feature in line '$lines->[0]'");
+ }
+ Carp::croak("ExtUtils::MakeMaker::YAML failed to classify line '$lines->[0]'");
+ }
+ my $key = $1;
+
+ # Do we have a value?
+ if ( length $lines->[0] ) {
+ # Yes
+ $hash->{$key} = $self->_read_scalar( shift(@$lines), [ @$indent, undef ], $lines );
+ } else {
+ # An indent
+ shift @$lines;
+ unless ( @$lines ) {
+ $hash->{$key} = undef;
+ return 1;
+ }
+ if ( $lines->[0] =~ /^(\s*)-/ ) {
+ $hash->{$key} = [];
+ $self->_read_array( $hash->{$key}, [ @$indent, length($1) ], $lines );
+ } elsif ( $lines->[0] =~ /^(\s*)./ ) {
+ my $indent2 = length("$1");
+ if ( $indent->[-1] >= $indent2 ) {
+ # Null hash entry
+ $hash->{$key} = undef;
+ } else {
+ $hash->{$key} = {};
+ $self->_read_hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+# Save an object to a file
+sub write {
+ my $self = shift;
+ my $file = shift or return $self->_error('No file name provided');
+
+ # Write it to the file
+ open( CFG, '>' . $file ) or return $self->_error(
+ "Failed to open file '$file' for writing: $!"
+ );
+ print CFG $self->write_string;
+ close CFG;
+
+ return 1;
+}
+
+# Save an object to a string
+sub write_string {
+ my $self = shift;
+ return '' unless @$self;
+
+ # Iterate over the documents
+ my $indent = 0;
+ my @lines = ();
+ foreach my $cursor ( @$self ) {
+ push @lines, '---';
+
+ # An empty document
+ if ( ! defined $cursor ) {
+ # Do nothing
+
+ # A scalar document
+ } elsif ( ! ref $cursor ) {
+ $lines[-1] .= ' ' . $self->_write_scalar( $cursor, $indent );
+
+ # version object
+ } elsif ( ref $cursor eq 'version' ) {
+ $lines[-1] .= ' ' . $self->_write_scalar( $cursor->stringify, $indent );
+
+ # A list at the root
+ } elsif ( ref $cursor eq 'ARRAY' ) {
+ unless ( @$cursor ) {
+ $lines[-1] .= ' []';
+ next;
+ }
+ push @lines, $self->_write_array( $cursor, $indent, {} );
+
+ # A hash at the root
+ } elsif ( ref $cursor eq 'HASH' ) {
+ unless ( %$cursor ) {
+ $lines[-1] .= ' {}';
+ next;
+ }
+ push @lines, $self->_write_hash( $cursor, $indent, {} );
+
+ } else {
+ Carp::croak("Cannot serialize " . ref($cursor));
+ }
+ }
+
+ join '', map { "$_\n" } @lines;
+}
+
+sub _write_scalar {
+ my $string = $_[1];
+ return '~' unless defined $string;
+ return "''" unless length $string;
+ if ( $string =~ /[\x00-\x08\x0b-\x0d\x0e-\x1f\"\'\n]/ ) {
+ $string =~ s/\\/\\\\/g;
+ $string =~ s/"/\\"/g;
+ $string =~ s/\n/\\n/g;
+ $string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
+ return qq|"$string"|;
+ }
+ if ( $string =~ /(?:^\W|\s)/ or $QUOTE{$string} ) {
+ return "'$string'";
+ }
+ return $string;
+}
+
+sub _write_array {
+ my ($self, $array, $indent, $seen) = @_;
+ if ( $seen->{refaddr($array)}++ ) {
+ die "ExtUtils::MakeMaker::YAML does not support circular references";
+ }
+ my @lines = ();
+ foreach my $el ( @$array ) {
+ my $line = (' ' x $indent) . '-';
+ my $type = ref $el;
+ if ( ! $type ) {
+ $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
+ push @lines, $line;
+
+ # version object
+ } elsif ( $type eq 'version' ) {
+ $line .= ' ' . $self->_write_scalar( $el->stringify, $indent + 1 );
+ push @lines, $line;
+
+ } elsif ( $type eq 'ARRAY' ) {
+ if ( @$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_array( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' []';
+ push @lines, $line;
+ }
+
+ } elsif ( $type eq 'HASH' ) {
+ if ( keys %$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_hash( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' {}';
+ push @lines, $line;
+ }
+
+ } else {
+ die "ExtUtils::MakeMaker::YAML does not support $type references";
+ }
+ }
+
+ @lines;
+}
+
+sub _write_hash {
+ my ($self, $hash, $indent, $seen) = @_;
+ if ( $seen->{refaddr($hash)}++ ) {
+ die "ExtUtils::MakeMaker::YAML does not support circular references";
+ }
+ my @lines = ();
+ foreach my $name ( sort keys %$hash ) {
+ my $el = $hash->{$name};
+ my $line = (' ' x $indent) . "$name:";
+ my $type = ref $el;
+ if ( ! $type ) {
+ $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
+ push @lines, $line;
+
+ # version object
+ } elsif ( $type eq 'version' ) {
+ $line .= ' ' . $self->_write_scalar( $el->stringify, $indent + 1 );
+ push @lines, $line;
+
+ } elsif ( $type eq 'ARRAY' ) {
+ if ( @$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_array( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' []';
+ push @lines, $line;
+ }
+
+ } elsif ( $type eq 'HASH' ) {
+ if ( keys %$el ) {
+ push @lines, $line;
+ push @lines, $self->_write_hash( $el, $indent + 1, $seen );
+ } else {
+ $line .= ' {}';
+ push @lines, $line;
+ }
+
+ } else {
+ die "ExtUtils::MakeMaker::YAML does not support $type references";
+ }
+ }
+
+ @lines;
+}
+
+# Set error
+sub _error {
+ $ExtUtils::MakeMaker::YAML::errstr = $_[1];
+ undef;
+}
+
+# Retrieve error
+sub errstr {
+ $ExtUtils::MakeMaker::YAML::errstr;
+}
+
+
+
+
+
+#####################################################################
+# YAML Compatibility
+
+sub Dump {
+ ExtUtils::MakeMaker::YAML->new(@_)->write_string;
+}
+
+sub Load {
+ my $self = ExtUtils::MakeMaker::YAML->read_string(@_);
+ unless ( $self ) {
+ Carp::croak("Failed to load YAML document from string");
+ }
+ if ( wantarray ) {
+ return @$self;
+ } else {
+ # To match YAML.pm, return the last document
+ return $self->[-1];
+ }
+}
+
+BEGIN {
+ *freeze = *Dump;
+ *thaw = *Load;
+}
+
+sub DumpFile {
+ my $file = shift;
+ ExtUtils::MakeMaker::YAML->new(@_)->write($file);
+}
+
+sub LoadFile {
+ my $self = ExtUtils::MakeMaker::YAML->read($_[0]);
+ unless ( $self ) {
+ Carp::croak("Failed to load YAML document from '" . ($_[0] || '') . "'");
+ }
+ if ( wantarray ) {
+ return @$self;
+ } else {
+ # Return only the last document to match YAML.pm,
+ return $self->[-1];
+ }
+}
+
+
+
+
+
+#####################################################################
+# Use Scalar::Util if possible, otherwise emulate it
+
+BEGIN {
+ eval {
+ require Scalar::Util;
+ *refaddr = *Scalar::Util::refaddr;
+ };
+ eval <<'END_PERL' if $@;
+# Failed to load Scalar::Util
+sub refaddr {
+ my $pkg = ref($_[0]) or return undef;
+ if (!!UNIVERSAL::can($_[0], 'can')) {
+ bless $_[0], 'Scalar::Util::Fake';
+ } else {
+ $pkg = undef;
+ }
+ "$_[0]" =~ /0x(\w+)/;
+ my $i = do { local $^W; hex $1 };
+ bless $_[0], $pkg if defined $pkg;
+ $i;
+}
+END_PERL
+
+}
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+ExtUtils::MakeMaker::YAML - clone of YAML::Tiny
+
+=head1 SYNOPSIS
+
+See L<YAML::Tiny>
+
+=head1 AUTHOR
+
+Adam Kennedy E<lt>adamk@cpan.orgE<gt>
+
+=head1 SEE ALSO
+
+L<YAML>, L<YAML::Syck>
+
+=head1 COPYRIGHT
+
+Copyright 2006 - 2010 Adam Kennedy.
+
+This program is free software; you can redistribute
+it and/or modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm
index df621d5f435..ce4314c419d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm
@@ -9,11 +9,11 @@ use File::Spec;
use Carp;
use strict;
-use vars qw($VERSION @ISA @EXPORT_OK
+use vars qw($VERSION @ISA @EXPORT_OK
$Is_MacOS $Is_VMS $Is_VMS_mode $Is_VMS_lc $Is_VMS_nodot
$Debug $Verbose $Quiet $MANIFEST $DEFAULT_MSKIP);
-$VERSION = '1.57';
+$VERSION = '1.58';
@ISA=('Exporter');
@EXPORT_OK = qw(mkmanifest
manicheck filecheck fullcheck skipcheck
@@ -44,7 +44,7 @@ if ($Is_VMS) {
my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || '';
- $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
+ $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
$vms_efs = $efs_charset =~ /^[ET1]/i;
$vms_case = $efs_case =~ /^[ET1]/i;
}
@@ -155,7 +155,7 @@ sub mkmanifest {
close M;
}
-# Geez, shouldn't this use File::Spec or File::Basename or something?
+# Geez, shouldn't this use File::Spec or File::Basename or something?
# Why so careful about dependencies?
sub clean_up_filename {
my $filename = shift;
@@ -190,9 +190,9 @@ sub manifind {
$found->{$name} = "";
};
- # We have to use "$File::Find::dir/$_" in preprocess, because
+ # We have to use "$File::Find::dir/$_" in preprocess, because
# $File::Find::name is unavailable.
- # Also, it's okay to use / here, because MANIFEST files use Unix-style
+ # Also, it's okay to use / here, because MANIFEST files use Unix-style
# paths.
find({wanted => $wanted},
$Is_MacOS ? ":" : ".");
@@ -377,7 +377,7 @@ sub maniread {
my $okfile = "$dir$base";
warn "Debug: Illegal name $file changed to $okfile\n" if $Debug;
$file = $okfile;
- }
+ }
$file = lc($file)
unless $Is_VMS_lc &&($file =~ /^MANIFEST(\.SKIP)?$/);
}
@@ -414,8 +414,8 @@ sub maniskip {
$_ =~ qr{^\s*(?:(?:'([^\\']*(?:\\.[^\\']*)*)')|([^#\s]\S*))?(?:(?:\s*)|(?:\s+(.*?)\s*))$};
#my $comment = $3;
my $filename = $2;
- if ( defined($1) ) {
- $filename = $1;
+ if ( defined($1) ) {
+ $filename = $1;
$filename =~ s/\\(['\\])/$1/g;
}
next if (not defined($filename) or not $filename);
@@ -514,13 +514,13 @@ typically returned by the maniread() function.
manicopy( maniread(), $dest_dir );
-This function is useful for producing a directory tree identical to the
-intended distribution tree.
+This function is useful for producing a directory tree identical to the
+intended distribution tree.
$how can be used to specify a different methods of "copying". Valid
values are C<cp>, which actually copies the files, C<ln> which creates
hard links, and C<best> which mostly links the files but copies any
-symbolic link to make a tree without any symbolic link. C<cp> is the
+symbolic link to make a tree without any symbolic link. C<cp> is the
default.
=cut
@@ -535,11 +535,11 @@ sub manicopy {
$target = VMS::Filespec::unixify($target) if $Is_VMS_mode;
File::Path::mkpath([ $target ],! $Quiet,$Is_VMS ? undef : 0755);
foreach my $file (keys %$read){
- if ($Is_MacOS) {
- if ($file =~ m!:!) {
- my $dir = _maccat($target, $file);
+ if ($Is_MacOS) {
+ if ($file =~ m!:!) {
+ my $dir = _maccat($target, $file);
$dir =~ s/[^:]+$//;
- File::Path::mkpath($dir,1,0755);
+ File::Path::mkpath($dir,1,0755);
}
cp_if_diff($file, _maccat($target, $file), $how);
} else {
@@ -689,7 +689,7 @@ sub maniadd {
my @needed = grep { !exists $manifest->{$_} } keys %$additions;
return 1 unless @needed;
- open(MANIFEST, ">>$MANIFEST") or
+ open(MANIFEST, ">>$MANIFEST") or
die "maniadd() could not open $MANIFEST: $!";
foreach my $file (_sort @needed) {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
index 493cb347e44..379eb118ed5 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
@@ -90,7 +90,9 @@ main(int argc, char **argv, char **env)
my_vars = my_plvarsp = plvarsp;
# endif
#endif /* PERL_GLOBAL_STRUCT */
- (void)env;
+#ifndef NO_ENV_ARRAY_IN_MAIN
+ PERL_UNUSED_ARG(env);
+#endif
#ifndef PERL_USE_SAFE_PUTENV
PL_use_safe_putenv = 0;
#endif /* PERL_USE_SAFE_PUTENV */
@@ -132,12 +134,14 @@ main(int argc, char **argv, char **env)
if (!exitstatus)
perl_run(my_perl);
+#ifndef PERL_MICRO
/* Unregister our signal handler before destroying my_perl */
for (i = 0; PL_sig_name[i]; i++) {
if (rsignal_state(PL_sig_num[i]) == (Sighandler_t) PL_csighandlerp) {
rsignal(PL_sig_num[i], (Sighandler_t) SIG_DFL);
}
}
+#endif
exitstatus = perl_destruct(my_perl);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
index 707466a98dd..fbf24156c6a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
require Exporter;
our @ISA = ('Exporter');
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
index 962c67fd57f..9aac3fd74a4 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.56';
+our $VERSION = '6.57_05';
sub Mksymlists {
my(%spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
index 05c3e690027..79b39688492 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
@@ -18,7 +18,7 @@ my(@XSStack); # Stack of conditionals and INCLUDEs
my($XSS_work_idx, $cpp_next_tmp);
use vars qw($VERSION);
-$VERSION = '2.21';
+$VERSION = '2.2210';
$VERSION = eval $VERSION if $VERSION =~ /_/;
use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
@@ -74,7 +74,7 @@ sub process_file {
($XSS_work_idx, $cpp_next_tmp) = (0, "XSubPPtmpAAAA");
@InitFileCode = ();
$FH = Symbol::gensym();
- $proto_re = "[" . quotemeta('\$%&*@;[]') . "]" ;
+ $proto_re = "[" . quotemeta('\$%&*@;[]_') . "]" ;
$Overload = 0;
$errors = 0;
$Fallback = '&PL_sv_undef';
@@ -230,9 +230,10 @@ sub process_file {
# Match an XS keyword
$BLOCK_re= '\s*(' . join('|', qw(
- REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE OUTPUT
- CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE VERSIONCHECK INCLUDE
- SCOPE INTERFACE INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
+ REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE
+ OUTPUT CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE
+ VERSIONCHECK INCLUDE INCLUDE_COMMAND SCOPE INTERFACE
+ INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
)) . "|$END)\\s*:";
@@ -448,7 +449,7 @@ EOF
$xsreturn = 0;
$_ = shift(@line);
- while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE|SCOPE")) {
+ while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
&{"${kwd}_handler"}() ;
next PARAGRAPH unless @line ;
$_ = shift(@line);
@@ -520,11 +521,11 @@ EOF
next unless defined($pre) && length($pre);
my $out_type = '';
my $inout_var;
- if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\s+//) {
+ if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//) {
my $type = $1;
$out_type = $type if $type ne 'IN';
- $arg =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\s+//;
- $pre =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\s+//;
+ $arg =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
+ $pre =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
}
my $islength;
if ($name =~ /^length\( \s* (\w+) \s* \)\z/x) {
@@ -554,7 +555,7 @@ EOF
} else {
@args = split(/\s*,\s*/, $orig_args);
for (@args) {
- if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\s+//) {
+ if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//) {
my $out_type = $1;
next if $out_type eq 'IN';
$only_C_inlist{$_} = 1 if $out_type eq "OUTLIST";
@@ -679,7 +680,7 @@ EOF
# Now do a block of some sort.
$condnum = 0;
- $cond = ''; # last CASE: condidional
+ $cond = ''; # last CASE: conditional
push(@line, "$END:");
push(@line_no, $line_no[-1]);
$_ = '';
@@ -799,7 +800,7 @@ EOF
# 0: type, 1: with_size, 2: how, 3: how_size
if ($t and not $t->[1] and $t->[0] eq 'p') {
- # PUSHp corresponds to setpvn. Treate setpv directly
+ # PUSHp corresponds to setpvn. Treat setpv directly
my $what = eval qq("$t->[2]");
warn $@ if $@;
@@ -934,6 +935,10 @@ EOF
EOF
}
}
+ elsif($newXS eq 'newXS'){ # work around P5NCI's empty newXS macro
+ push(@InitFileCode,
+ " ${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
+ }
else {
push(@InitFileCode,
" (void)${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
@@ -999,8 +1004,11 @@ EOF
print Q(<<"EOF");
# PERL_UNUSED_VAR(cv); /* -W */
# PERL_UNUSED_VAR(items); /* -W */
+##ifdef XS_APIVERSION_BOOTCHECK
+# XS_APIVERSION_BOOTCHECK;
+##endif
EOF
-
+
print Q(<<"EOF") if $WantVersionChk ;
# XS_VERSION_BOOTCHECK ;
#
@@ -1481,6 +1489,25 @@ sub PROTOTYPES_handler ()
}
+sub PushXSStack
+ {
+ my %args = @_;
+ # Save the current file context.
+ push(@XSStack, {
+ type => 'file',
+ LastLine => $lastline,
+ LastLineNo => $lastline_no,
+ Line => \@line,
+ LineNo => \@line_no,
+ Filename => $filename,
+ Filepathname => $filepathname,
+ Handle => $FH,
+ IsPipe => scalar($filename =~ /\|\s*$/),
+ %args,
+ }) ;
+
+ }
+
sub INCLUDE_handler ()
{
# the rest of the current line should contain a valid filename
@@ -1499,17 +1526,16 @@ sub INCLUDE_handler ()
++ $IncludedFiles{$_} unless /\|\s*$/ ;
- # Save the current file context.
- push(@XSStack, {
- type => 'file',
- LastLine => $lastline,
- LastLineNo => $lastline_no,
- Line => \@line,
- LineNo => \@line_no,
- Filename => $filename,
- Filepathname => $filepathname,
- Handle => $FH,
- }) ;
+ if (/\|\s*$/ && /^\s*perl\s/) {
+ Warn("The INCLUDE directive with a command is discouraged." .
+ " Use INCLUDE_COMMAND instead! In particular using 'perl'" .
+ " in an 'INCLUDE: ... |' directive is not guaranteed to pick" .
+ " up the correct perl. The INCLUDE_COMMAND directive allows" .
+ " the use of \$^X as the currently running perl, see" .
+ " 'perldoc perlxs' for details.");
+ }
+
+ PushXSStack();
$FH = Symbol::gensym();
@@ -1523,7 +1549,7 @@ sub INCLUDE_handler ()
EOF
$filename = $_ ;
- $filepathname = "$dir/$filename";
+ $filepathname = File::Spec->catfile($dir, $filename);
# Prime the pump by reading the first
# non-blank line
@@ -1535,7 +1561,64 @@ EOF
$lastline = $_ ;
$lastline_no = $. ;
+ }
+
+sub QuoteArgs {
+ my $cmd = shift;
+ my @args = split /\s+/, $cmd;
+ $cmd = shift @args;
+ for (@args) {
+ $_ = q(").$_.q(") if !/^\"/ && length($_) > 0;
+ }
+ return join (' ', ($cmd, @args));
+ }
+
+sub INCLUDE_COMMAND_handler ()
+ {
+ # the rest of the current line should contain a valid command
+
+ TrimWhitespace($_) ;
+
+ $_ = QuoteArgs($_) if $^O eq 'VMS';
+
+ death("INCLUDE_COMMAND: command missing")
+ unless $_ ;
+ death("INCLUDE_COMMAND: pipes are illegal")
+ if /^\s*\|/ or /\|\s*$/ ;
+
+ PushXSStack( IsPipe => 1 );
+
+ $FH = Symbol::gensym();
+
+ # If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
+ # the same perl interpreter as we're currently running
+ s/^\s*\$\^X/$^X/;
+
+ # open the new file
+ open ($FH, "-|", "$_")
+ or death("Cannot run command '$_' to include its output: $!") ;
+
+ print Q(<<"EOF");
+#
+#/* INCLUDE_COMMAND: Including output of '$_' from '$filename' */
+#
+EOF
+
+ $filename = $_ ;
+ $filepathname = $filename;
+ $filepathname =~ s/\"/\\"/g;
+
+ # Prime the pump by reading the first
+ # non-blank line
+
+ # skip leading blank lines
+ while (<$FH>) {
+ last unless /^\s*$/ ;
+ }
+
+ $lastline = $_ ;
+ $lastline_no = $. ;
}
sub PopFile()
@@ -1544,7 +1627,7 @@ sub PopFile()
my $data = pop @XSStack ;
my $ThisFile = $filename ;
- my $isPipe = ($filename =~ /\|\s*$/) ;
+ my $isPipe = $data->{IsPipe};
-- $IncludedFiles{$filename}
unless $isPipe ;
@@ -1947,7 +2030,7 @@ sub DESTROY {
}
sub UNTIE {
- # This sub does nothing, but is neccessary for references to be released.
+ # This sub does nothing, but is necessary for references to be released.
}
sub end_marker {
@@ -2016,7 +2099,7 @@ Adds C<extern "C"> to the C code. Default is false.
=item B<hiertype>
-Retains C<::> in type names so that C++ hierachical types can be
+Retains C<::> in type names so that C++ hierarchical types can be
mapped. Default is false.
=item B<except>
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
index fe01beb0e1e..73144109262 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = 6.56;
+our $VERSION = 6.57_05;
use Cwd;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/typemap b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
index f88858762d5..c88238a48da 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/typemap
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
@@ -58,33 +58,57 @@ INPUT
T_SV
$var = $arg
T_SVREF
- if (SvROK($arg))
- $var = (SV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"%s: %s is not a reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\")
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv)){
+ $var = SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not a reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_AVREF
- if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
- $var = (AV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"%s: %s is not an array reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\")
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVAV){
+ $var = (AV*)SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not an ARRAY reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_HVREF
- if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
- $var = (HV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"%s: %s is not a hash reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\")
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){
+ $var = (HV*)SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not a HASH reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_CVREF
- if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVCV)
- $var = (CV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"%s: %s is not a code reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\")
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVCV){
+ $var = (CV*)SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not a CODE reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_SYSRET
$var NOT IMPLEMENTED
T_UV
diff --git a/Master/tlpkg/tlperl/lib/Fatal.pm b/Master/tlpkg/tlperl/lib/Fatal.pm
index 18e71ed21a3..55b920ba5b1 100644
--- a/Master/tlpkg/tlperl/lib/Fatal.pm
+++ b/Master/tlpkg/tlperl/lib/Fatal.pm
@@ -5,6 +5,7 @@ use Carp;
use strict;
use warnings;
use Tie::RefHash; # To cache subroutine refs
+use Config;
use constant PERL510 => ( $] >= 5.010 );
@@ -39,7 +40,7 @@ use constant ERROR_58_HINTS => q{Non-subroutine %s hints for %s are not supporte
use constant MIN_IPC_SYS_SIMPLE_VER => 0.12;
# All the Fatal/autodie modules share the same version number.
-our $VERSION = '2.06_01';
+our $VERSION = '2.1001';
our $Debug ||= 0;
@@ -52,6 +53,10 @@ our %_EWOULDBLOCK = (
MSWin32 => 33,
);
+# the linux parisc port has separate EAGAIN and EWOULDBLOCK,
+# and the kernel returns EAGAIN
+my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
+
# We have some tags that can be passed in for use with import.
# These are all assumed to be CORE::
@@ -60,7 +65,7 @@ my %TAGS = (
read seek sysread syswrite sysseek )],
':dbm' => [qw(dbmopen dbmclose)],
':file' => [qw(open close flock sysopen fcntl fileno binmode
- ioctl truncate)],
+ ioctl truncate chmod)],
':filesys' => [qw(opendir closedir chdir link unlink rename mkdir
symlink rmdir readlink umask)],
':ipc' => [qw(:msg :semaphore :shm pipe)],
@@ -84,26 +89,38 @@ my %TAGS = (
':default' => [qw(:io :threads)],
+ # Everything in v2.07 and brefore. This was :default less chmod.
+ ':v207' => [qw(:threads :dbm :filesys :ipc :socket read seek sysread
+ syswrite sysseek open close flock sysopen fcntl fileno
+ binmode ioctl truncate)],
+
# Version specific tags. These allow someone to specify
# use autodie qw(:1.994) and know exactly what they'll get.
- ':1.994' => [qw(:default)],
- ':1.995' => [qw(:default)],
- ':1.996' => [qw(:default)],
- ':1.997' => [qw(:default)],
- ':1.998' => [qw(:default)],
- ':1.999' => [qw(:default)],
- ':1.999_01' => [qw(:default)],
- ':2.00' => [qw(:default)],
- ':2.01' => [qw(:default)],
- ':2.02' => [qw(:default)],
- ':2.03' => [qw(:default)],
- ':2.04' => [qw(:default)],
- ':2.05' => [qw(:default)],
- ':2.06' => [qw(:default)],
- ':2.06_01' => [qw(:default)],
+ ':1.994' => [qw(:v207)],
+ ':1.995' => [qw(:v207)],
+ ':1.996' => [qw(:v207)],
+ ':1.997' => [qw(:v207)],
+ ':1.998' => [qw(:v207)],
+ ':1.999' => [qw(:v207)],
+ ':1.999_01' => [qw(:v207)],
+ ':2.00' => [qw(:v207)],
+ ':2.01' => [qw(:v207)],
+ ':2.02' => [qw(:v207)],
+ ':2.03' => [qw(:v207)],
+ ':2.04' => [qw(:v207)],
+ ':2.05' => [qw(:v207)],
+ ':2.06' => [qw(:v207)],
+ ':2.06_01' => [qw(:v207)],
+ ':2.07' => [qw(:v207)], # Last release without chmod
+ ':2.08' => [qw(:default)],
+ ':2.09' => [qw(:default)],
+ ':2.10' => [qw(:default)],
+ ':2.1001' => [qw(:default)],
);
+# chmod was only introduced in 2.07
+
$TAGS{':all'} = [ keys %TAGS ];
# This hash contains subroutines for which we should
@@ -168,6 +185,7 @@ my $NO_PACKAGE = "no $PACKAGE"; # Used to detect 'no autodie'
sub import {
my $class = shift(@_);
+ my @original_args = @_;
my $void = 0;
my $lexical = 0;
my $insist_hints = 0;
@@ -306,6 +324,16 @@ sub import {
$class->_install_subs($pkg, \%unload_later);
}));
+ # To allow others to determine when autodie was in scope,
+ # and with what arguments, we also set a %^H hint which
+ # is how we were called.
+
+ # This feature should be considered EXPERIMENTAL, and
+ # may change without notice. Please e-mail pjf@cpan.org
+ # if you're actually using it.
+
+ $^H{autodie} = "$PACKAGE @original_args";
+
}
return;
@@ -449,8 +477,10 @@ sub unimport {
while (my $item = shift @to_process) {
if ($item =~ /^:/) {
+ # Expand :tags
push(@to_process, @{$TAGS{$item}} );
- } else {
+ }
+ else {
push(@taglist, "CORE::$item");
}
}
@@ -520,7 +550,17 @@ sub _write_invocation {
@argv = @{shift @argvs};
$n = shift @argv;
- push @out, "${else}if (\@_ == $n) {\n";
+ my $condition = "\@_ == $n";
+
+ if (@argv and $argv[-1] =~ /#_/) {
+ # This argv ends with '@' in the prototype, so it matches
+ # any number of args >= the number of expressions in the
+ # argv.
+ $condition = "\@_ >= $n";
+ }
+
+ push @out, "${else}if ($condition) {\n";
+
$else = "\t} els";
push @out, $class->_one_invocation($core,$call,$name,$void,$sub,! $lexical, $sref, @argv);
@@ -594,11 +634,11 @@ sub _one_invocation {
if ($void) {
return qq/return (defined wantarray)?$call(@argv):
- $call(@argv) || croak "Can't $name(\@_)/ .
- ($core ? ': $!' : ', \$! is \"$!\"') . '"'
+ $call(@argv) || Carp::croak("Can't $name(\@_)/ .
+ ($core ? ': $!' : ', \$! is \"$!\"') . '")'
} else {
- return qq{return $call(@argv) || croak "Can't $name(\@_)} .
- ($core ? ': $!' : ', \$! is \"$!\"') . '"';
+ return qq{return $call(@argv) || Carp::croak("Can't $name(\@_)} .
+ ($core ? ': $!' : ', \$! is \"$!\"') . '")';
}
}
@@ -720,6 +760,11 @@ sub _one_invocation {
my $EWOULDBLOCK = eval { POSIX::EWOULDBLOCK(); }
|| $_EWOULDBLOCK{$^O}
|| _autocroak("Internal error - can't overload flock - EWOULDBLOCK not defined on this system.");
+ my $EAGAIN = $EWOULDBLOCK;
+ if ($try_EAGAIN) {
+ $EAGAIN = eval { POSIX::EAGAIN(); }
+ || _autocroak("Internal error - can't overload flock - EAGAIN not defined on this system.");
+ }
require Fcntl; # For Fcntl::LOCK_NB
@@ -735,7 +780,9 @@ sub _one_invocation {
# If we failed, but we're using LOCK_NB and
# returned EWOULDBLOCK, it's not a real error.
- if (\$_[1] & Fcntl::LOCK_NB() and \$! == $EWOULDBLOCK ) {
+ if (\$_[1] & Fcntl::LOCK_NB() and
+ (\$! == $EWOULDBLOCK or
+ ($try_EAGAIN and \$! == $EAGAIN ))) {
return \$retval;
}
@@ -1053,7 +1100,7 @@ sub _make_fatal {
{
local $@;
- $code = eval("package $pkg; use Carp; $code"); ## no critic
+ $code = eval("package $pkg; require Carp; $code"); ## no critic
$E = $@;
}
@@ -1131,7 +1178,7 @@ sub _make_fatal {
>;
}
- $leak_guard .= qq< croak "Internal error in Fatal/autodie. Leak-guard failure"; } >;
+ $leak_guard .= qq< Carp::croak("Internal error in Fatal/autodie. Leak-guard failure"); } >;
# warn "$leak_guard\n";
diff --git a/Master/tlpkg/tlperl/lib/Fcntl.pm b/Master/tlpkg/tlperl/lib/Fcntl.pm
index 83edeb60d85..cc35ff02be8 100644
--- a/Master/tlpkg/tlperl/lib/Fcntl.pm
+++ b/Master/tlpkg/tlperl/lib/Fcntl.pm
@@ -56,14 +56,34 @@ See L<perlfunc/stat> about the S_I* constants.
=cut
use strict;
-our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $AUTOLOAD);
+our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
require Exporter;
-use XSLoader ();
+require XSLoader;
@ISA = qw(Exporter);
-BEGIN {
- $VERSION = "1.06";
-}
+$VERSION = '1.11';
+
+XSLoader::load();
+
+# Named groups of exports
+%EXPORT_TAGS = (
+ 'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
+ 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
+ FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
+ 'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
+ 'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
+ _S_IFMT S_IFREG S_IFDIR S_IFLNK
+ S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
+ S_IRUSR S_IWUSR S_IXUSR S_IRWXU
+ S_IRGRP S_IWGRP S_IXGRP S_IRWXG
+ S_IROTH S_IWOTH S_IXOTH S_IRWXO
+ S_IREAD S_IWRITE S_IEXEC
+ S_ISREG S_ISDIR S_ISLNK S_ISSOCK
+ S_ISBLK S_ISCHR S_ISFIFO
+ S_ISWHT S_ISENFMT
+ S_IFMT S_IMODE
+ )],
+);
# Items to export into callers namespace by default
# (move infrequently used names to @EXPORT_OK below)
@@ -140,7 +160,7 @@ BEGIN {
);
# Other items we are prepared to export if requested
-@EXPORT_OK = qw(
+@EXPORT_OK = (qw(
DN_ACCESS
DN_ATTRIB
DN_CREATE
@@ -148,97 +168,19 @@ BEGIN {
DN_MODIFY
DN_MULTISHOT
DN_RENAME
- FAPPEND
- FASYNC
- FCREAT
- FDEFER
- FDSYNC
- FEXCL
- FLARGEFILE
- FNDELAY
- FNONBLOCK
- FRSYNC
- FSYNC
- FTRUNC
F_GETLEASE
F_GETSIG
F_NOTIFY
F_SETLEASE
F_SETSIG
- LOCK_EX
LOCK_MAND
- LOCK_NB
LOCK_READ
LOCK_RW
- LOCK_SH
- LOCK_UN
LOCK_WRITE
O_IGNORE_CTTY
O_NOATIME
O_NOLINK
O_NOTRANS
- SEEK_CUR
- SEEK_END
- SEEK_SET
- S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
- S_IREAD S_IWRITE S_IEXEC
- S_IRGRP S_IWGRP S_IXGRP S_IRWXG
- S_IROTH S_IWOTH S_IXOTH S_IRWXO
- S_IRUSR S_IWUSR S_IXUSR S_IRWXU
- S_ISUID S_ISGID S_ISVTX S_ISTXT
- _S_IFMT S_IFREG S_IFDIR S_IFLNK
- &S_ISREG &S_ISDIR &S_ISLNK &S_ISSOCK &S_ISBLK &S_ISCHR &S_ISFIFO
- &S_ISWHT &S_ISENFMT &S_IFMT &S_IMODE
-);
-# Named groups of exports
-%EXPORT_TAGS = (
- 'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
- 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
- FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
- 'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
- 'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
- _S_IFMT S_IFREG S_IFDIR S_IFLNK
- S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
- S_IRUSR S_IWUSR S_IXUSR S_IRWXU
- S_IRGRP S_IWGRP S_IXGRP S_IRWXG
- S_IROTH S_IWOTH S_IXOTH S_IRWXO
- S_IREAD S_IWRITE S_IEXEC
- S_ISREG S_ISDIR S_ISLNK S_ISSOCK
- S_ISBLK S_ISCHR S_ISFIFO
- S_ISWHT S_ISENFMT
- S_IFMT S_IMODE
- )],
-);
-
-# Force the constants to become inlined
-BEGIN {
- XSLoader::load 'Fcntl', $VERSION;
-}
-
-sub S_IFMT { @_ ? ( $_[0] & _S_IFMT() ) : _S_IFMT() }
-sub S_IMODE { $_[0] & 07777 }
-
-sub S_ISREG { ( $_[0] & _S_IFMT() ) == S_IFREG() }
-sub S_ISDIR { ( $_[0] & _S_IFMT() ) == S_IFDIR() }
-sub S_ISLNK { ( $_[0] & _S_IFMT() ) == S_IFLNK() }
-sub S_ISSOCK { ( $_[0] & _S_IFMT() ) == S_IFSOCK() }
-sub S_ISBLK { ( $_[0] & _S_IFMT() ) == S_IFBLK() }
-sub S_ISCHR { ( $_[0] & _S_IFMT() ) == S_IFCHR() }
-sub S_ISFIFO { ( $_[0] & _S_IFMT() ) == S_IFIFO() }
-sub S_ISWHT { ( $_[0] & _S_IFMT() ) == S_IFWHT() }
-sub S_ISENFMT { ( $_[0] & _S_IFMT() ) == S_IFENFMT() }
-
-sub AUTOLOAD {
- (my $constname = $AUTOLOAD) =~ s/.*:://;
- die "&Fcntl::constant not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- if ($error) {
- my (undef,$file,$line) = caller;
- die "$error at $file line $line.\n";
- }
- no strict 'refs';
- *$AUTOLOAD = sub { $val };
- goto &$AUTOLOAD;
-}
+), map {@{$_}} values %EXPORT_TAGS);
1;
diff --git a/Master/tlpkg/tlperl/lib/File/Basename.pm b/Master/tlpkg/tlperl/lib/File/Basename.pm
index d842844daf1..486eba1bbf6 100644
--- a/Master/tlpkg/tlperl/lib/File/Basename.pm
+++ b/Master/tlpkg/tlperl/lib/File/Basename.pm
@@ -54,7 +54,7 @@ our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(fileparse fileparse_set_fstype basename dirname);
-$VERSION = "2.78";
+$VERSION = "2.82";
fileparse_set_fstype($^O);
@@ -78,8 +78,8 @@ The remainder of the $path is the $filename.
# On Unix returns ("baz", "/foo/bar/", "")
fileparse("/foo/bar/baz");
- # On Windows returns ("baz", "C:\foo\bar\", "")
- fileparse("C:\foo\bar\baz");
+ # On Windows returns ("baz", 'C:\foo\bar\', "")
+ fileparse('C:\foo\bar\baz');
# On Unix returns ("", "/foo/bar/baz/", "")
fileparse("/foo/bar/baz/");
@@ -170,7 +170,7 @@ sub fileparse {
}
}
- # Ensure taint is propgated from the path to its pieces.
+ # Ensure taint is propagated from the path to its pieces.
$tail .= $taint;
wantarray ? ($basename .= $taint, $dirpath .= $taint, $tail)
: ($basename .= $taint);
diff --git a/Master/tlpkg/tlperl/lib/File/CheckTree.pm b/Master/tlpkg/tlperl/lib/File/CheckTree.pm
index d7948f2385f..4d53c5254dd 100644
--- a/Master/tlpkg/tlperl/lib/File/CheckTree.pm
+++ b/Master/tlpkg/tlperl/lib/File/CheckTree.pm
@@ -7,7 +7,7 @@ use File::Spec;
use warnings;
use strict;
-our $VERSION = '4.4';
+our $VERSION = '4.41';
our @ISA = qw(Exporter);
our @EXPORT = qw(validate);
@@ -119,7 +119,7 @@ sub validate {
my $this = $test;
# expand relative $file to full pathname if preceded by cd directive
- $file = File::Spec->catfile($cwd, $file)
+ $file = File::Spec->catfile($cwd, $file)
if $cwd && !File::Spec->file_name_is_absolute($file);
# put filename in after the test operator
@@ -137,7 +137,7 @@ sub validate {
}
else {
# add "|| warn" as a default disposition
- $this .= ' || warn' unless $this =~ /\|\|/;
+ $this .= ' || warn' unless $this =~ /\|\|/;
# change a generic ".. || die" or ".. || warn"
# to call valmess instead of die/warn directly
@@ -163,7 +163,7 @@ sub validate {
# do the test
eval $this;
- # re-raise an exception caused by a "... || die" test
+ # re-raise an exception caused by a "... || die" test
if (my $err = $@) {
# in case of any cd directives, return from whence we came
if ($starting_dir ne cwd) {
diff --git a/Master/tlpkg/tlperl/lib/File/Copy.pm b/Master/tlpkg/tlperl/lib/File/Copy.pm
index eed6a53195b..1cf084bb916 100644
--- a/Master/tlpkg/tlperl/lib/File/Copy.pm
+++ b/Master/tlpkg/tlperl/lib/File/Copy.pm
@@ -22,7 +22,7 @@ sub syscopy;
sub cp;
sub mv;
-$VERSION = '2.18';
+$VERSION = '2.21';
require Exporter;
@ISA = qw(Exporter);
@@ -41,13 +41,6 @@ sub carp {
goto &Carp::carp;
}
-my $macfiles;
-if ($^O eq 'MacOS') {
- $macfiles = eval { require Mac::MoreFiles };
- warn 'Mac::MoreFiles could not be loaded; using non-native syscopy'
- if $@ && $^W;
-}
-
# Look up the feature settings on VMS using VMS::Feature when available.
my $use_vms_feature = 0;
@@ -93,11 +86,6 @@ sub _catname {
import File::Basename 'basename';
}
- if ($^O eq 'MacOS') {
- # a partial dir name that's valid only in the cwd (e.g. 'tmp')
- $to = ':' . $to if $to !~ /:/;
- }
-
return File::Spec->catfile($to, basename($from));
}
@@ -166,7 +154,6 @@ sub copy {
&& !($from_a_handle && $^O eq 'os2' ) # OS/2 cannot handle handles
&& !($from_a_handle && $^O eq 'mpeix') # and neither can MPE/iX.
&& !($from_a_handle && $^O eq 'MSWin32')
- && !($from_a_handle && $^O eq 'MacOS')
&& !($from_a_handle && $^O eq 'NetWare')
)
{
@@ -436,22 +423,6 @@ unless (defined &syscopy) {
return 0 unless @_ == 2;
return Win32::CopyFile(@_, 1);
};
- } elsif ($macfiles) {
- *syscopy = sub {
- my($from, $to) = @_;
- my($dir, $toname);
-
- return 0 unless -e $from;
-
- if ($to =~ /(.*:)([^:]+):?$/) {
- ($dir, $toname) = ($1, $2);
- } else {
- ($dir, $toname) = (":", $to);
- }
-
- unlink($to);
- Mac::MoreFiles::FSpFileCopy($from, $dir, $toname, 1);
- };
} else {
$Syscopy_is_copy = 1;
*syscopy = \&copy;
@@ -558,9 +529,6 @@ VMS systems, this calls the C<rmscopy> routine (see below). For OS/2
systems, this calls the C<syscopy> XSUB directly. For Win32 systems,
this calls C<Win32::CopyFile>.
-On Mac OS (Classic), C<syscopy> calls C<Mac::MoreFiles::FSpFileCopy>,
-if available.
-
B<Special behaviour if C<syscopy> is defined (OS/2, VMS and Win32)>:
If both arguments to C<copy> are not file handles,
@@ -619,34 +587,6 @@ it sets C<$!>, deletes the output file, and returns 0.
All functions return 1 on success, 0 on failure.
$! will be set if an error was encountered.
-=head1 NOTES
-
-=over 4
-
-=item *
-
-On Mac OS (Classic), the path separator is ':', not '/', and the
-current directory is denoted as ':', not '.'. You should be careful
-about specifying relative pathnames. While a full path always begins
-with a volume name, a relative pathname should always begin with a
-':'. If specifying a volume name only, a trailing ':' is required.
-
-E.g.
-
- copy("file1", "tmp"); # creates the file 'tmp' in the current directory
- copy("file1", ":tmp:"); # creates :tmp:file1
- copy("file1", ":tmp"); # same as above
- copy("file1", "tmp"); # same as above, if 'tmp' is a directory (but don't do
- # that, since it may cause confusion, see example #1)
- copy("file1", "tmp:file1"); # error, since 'tmp:' is not a volume
- copy("file1", ":tmp:file1"); # ok, partial path
- copy("file1", "DataHD:"); # creates DataHD:file1
-
- move("MacintoshHD:fileA", "DataHD:fileB"); # moves (doesn't copy) files from one
- # volume to another
-
-=back
-
=head1 AUTHOR
File::Copy was written by Aaron Sherman I<E<lt>ajs@ajs.comE<gt>> in 1995,
diff --git a/Master/tlpkg/tlperl/lib/File/DosGlob.pm b/Master/tlpkg/tlperl/lib/File/DosGlob.pm
index 496a14c1379..90434fd467d 100644
--- a/Master/tlpkg/tlperl/lib/File/DosGlob.pm
+++ b/Master/tlpkg/tlperl/lib/File/DosGlob.pm
@@ -9,13 +9,14 @@
package File::DosGlob;
-our $VERSION = '1.01';
+our $VERSION = '1.04';
use strict;
use warnings;
sub doglob {
my $cond = shift;
my @retval = ();
+ my $fix_drive_relative_paths;
#print "doglob: ", join('|', @_), "\n";
OUTER:
for my $pat (@_) {
@@ -36,6 +37,7 @@ sub doglob {
# to h:./*.pm to expand correctly
if ($pat =~ m|^([A-Za-z]:)[^/\\]|s) {
substr($pat,0,2) = $1 . "./";
+ $fix_drive_relative_paths = 1;
}
if ($pat =~ m|^(.*)([\\/])([^\\/]*)\z|s) {
($head, $sepchr, $tail) = ($1,$2,$3);
@@ -66,7 +68,7 @@ sub doglob {
$head .= $sepchr unless $head eq '' or substr($head,-1) eq $sepchr;
# escape regex metachars but not glob chars
- $pat =~ s:([].+^\-\${}[|]):\\$1:g;
+ $pat =~ s:([].+^\-\${}()[|]):\\$1:g;
# and convert DOS-style wildcards to regex
$pat =~ s/\*/.*/g;
$pat =~ s/\?/.?/g;
@@ -91,211 +93,13 @@ sub doglob {
}
push @retval, @matched if @matched;
}
- return @retval;
-}
-
-
-#
-# Do DOS-like globbing on Mac OS
-#
-sub doglob_Mac {
- my $cond = shift;
- my @retval = ();
-
- #print "doglob_Mac: ", join('|', @_), "\n";
- OUTER:
- for my $arg (@_) {
- local $_ = $arg;
- my @matched = ();
- my @globdirs = ();
- my $head = ':';
- my $not_esc_head = $head;
- my $sepchr = ':';
- next OUTER unless defined $_ and $_ ne '';
- # if arg is within quotes strip em and do no globbing
- if (/^"(.*)"\z/s) {
- $_ = $1;
- # $_ may contain escaped metachars '\*', '\?' and '\'
- my $not_esc_arg = $_;
- $not_esc_arg =~ s/\\([*?\\])/$1/g;
- if ($cond eq 'd') { push(@retval, $not_esc_arg) if -d $not_esc_arg }
- else { push(@retval, $not_esc_arg) if -e $not_esc_arg }
- next OUTER;
- }
-
- if (m|^(.*?)(:+)([^:]*)\z|s) { # note: $1 is not greedy
- my $tail;
- ($head, $sepchr, $tail) = ($1,$2,$3);
- #print "div: |$head|$sepchr|$tail|\n";
- push (@retval, $_), next OUTER if $tail eq '';
- #
- # $head may contain escaped metachars '\*' and '\?'
-
- my $tmp_head = $head;
- # if a '*' or '?' is preceded by an odd count of '\', temporary delete
- # it (and its preceding backslashes), i.e. don't treat '\*' and '\?' as
- # wildcards
- $tmp_head =~ s/(\\*)([*?])/$2 x ((length($1) + 1) % 2)/eg;
-
- if ($tmp_head =~ /[*?]/) { # if there are wildcards ...
- @globdirs = doglob_Mac('d', $head);
- push(@retval, doglob_Mac($cond, map {"$_$sepchr$tail"} @globdirs)),
- next OUTER if @globdirs;
- }
-
- $head .= $sepchr;
- $not_esc_head = $head;
- # unescape $head for file operations
- $not_esc_head =~ s/\\([*?\\])/$1/g;
- $_ = $tail;
- }
- #
- # If file component has no wildcards, we can avoid opendir
-
- my $tmp_tail = $_;
- # if a '*' or '?' is preceded by an odd count of '\', temporary delete
- # it (and its preceding backslashes), i.e. don't treat '\*' and '\?' as
- # wildcards
- $tmp_tail =~ s/(\\*)([*?])/$2 x ((length($1) + 1) % 2)/eg;
-
- unless ($tmp_tail =~ /[*?]/) { # if there are wildcards ...
- $not_esc_head = $head = '' if $head eq ':';
- my $not_esc_tail = $_;
- # unescape $head and $tail for file operations
- $not_esc_tail =~ s/\\([*?\\])/$1/g;
- $head .= $_;
- $not_esc_head .= $not_esc_tail;
- if ($cond eq 'd') { push(@retval,$head) if -d $not_esc_head }
- else { push(@retval,$head) if -e $not_esc_head }
- next OUTER;
- }
- #print "opendir($not_esc_head)\n";
- opendir(D, $not_esc_head) or next OUTER;
- my @leaves = readdir D;
- closedir D;
-
- # escape regex metachars but not '\' and glob chars '*', '?'
- $_ =~ s:([].+^\-\${}[|]):\\$1:g;
- # and convert DOS-style wildcards to regex,
- # but only if they are not escaped
- $_ =~ s/(\\*)([*?])/$1 . ('.' x ((length($1) + 1) % 2)) . $2/eg;
-
- #print "regex: '$_', head: '$head', unescaped head: '$not_esc_head'\n";
- my $matchsub = eval 'sub { $_[0] =~ m|^' . $_ . '\\z|ios }';
- warn($@), next OUTER if $@;
- INNER:
- for my $e (@leaves) {
- next INNER if $e eq '.' or $e eq '..';
- next INNER if $cond eq 'd' and ! -d "$not_esc_head$e";
-
- if (&$matchsub($e)) {
- my $leave = (($not_esc_head eq ':') && (-f "$not_esc_head$e")) ?
- "$e" : "$not_esc_head$e";
- #
- # On Mac OS, the two glob metachars '*' and '?' and the escape
- # char '\' are valid characters for file and directory names.
- # We have to escape and treat them specially.
- $leave =~ s|([*?\\])|\\$1|g;
- push(@matched, $leave);
- next INNER;
- }
- }
- push @retval, @matched if @matched;
+ if ($fix_drive_relative_paths) {
+ s|^([A-Za-z]:)\./|$1| for @retval;
}
return @retval;
}
#
-# _expand_volume() will only be used on Mac OS (Classic):
-# Takes an array of original patterns as argument and returns an array of
-# possibly modified patterns. Each original pattern is processed like
-# that:
-# + If there's a volume name in the pattern, we push a separate pattern
-# for each mounted volume that matches (with '*', '?' and '\' escaped).
-# + If there's no volume name in the original pattern, it is pushed
-# unchanged.
-# Note that the returned array of patterns may be empty.
-#
-sub _expand_volume {
-
- require MacPerl; # to be verbose
-
- my @pat = @_;
- my @new_pat = ();
- my @FSSpec_Vols = MacPerl::Volumes();
- my @mounted_volumes = ();
-
- foreach my $spec_vol (@FSSpec_Vols) {
- # push all mounted volumes into array
- push @mounted_volumes, MacPerl::MakePath($spec_vol);
- }
- #print "mounted volumes: |@mounted_volumes|\n";
-
- while (@pat) {
- my $pat = shift @pat;
- if ($pat =~ /^([^:]+:)(.*)\z/) { # match a volume name?
- my $vol_pat = $1;
- my $tail = $2;
- #
- # escape regex metachars but not '\' and glob chars '*', '?'
- $vol_pat =~ s:([].+^\-\${}[|]):\\$1:g;
- # and convert DOS-style wildcards to regex,
- # but only if they are not escaped
- $vol_pat =~ s/(\\*)([*?])/$1 . ('.' x ((length($1) + 1) % 2)) . $2/eg;
- #print "volume regex: '$vol_pat' \n";
-
- foreach my $volume (@mounted_volumes) {
- if ($volume =~ m|^$vol_pat\z|ios) {
- #
- # On Mac OS, the two glob metachars '*' and '?' and the
- # escape char '\' are valid characters for volume names.
- # We have to escape and treat them specially.
- $volume =~ s|([*?\\])|\\$1|g;
- push @new_pat, $volume . $tail;
- }
- }
- } else { # no volume name in pattern, push original pattern
- push @new_pat, $pat;
- }
- }
- return @new_pat;
-}
-
-
-#
-# _preprocess_pattern() will only be used on Mac OS (Classic):
-# Resolves any updirs in the pattern. Removes a single trailing colon
-# from the pattern, unless it's a volume name pattern like "*HD:"
-#
-sub _preprocess_pattern {
- my @pat = @_;
-
- foreach my $p (@pat) {
- my $proceed;
- # resolve any updirs, e.g. "*HD:t?p::a*" -> "*HD:a*"
- do {
- $proceed = ($p =~ s/^(.*):[^:]+::(.*?)\z/$1:$2/);
- } while ($proceed);
- # remove a single trailing colon, e.g. ":*:" -> ":*"
- $p =~ s/:([^:]+):\z/:$1/;
- }
- return @pat;
-}
-
-
-#
-# _un_escape() will only be used on Mac OS (Classic):
-# Unescapes a list of arguments which may contain escaped
-# metachars '*', '?' and '\'.
-#
-sub _un_escape {
- foreach (@_) {
- s/\\([*?\\])/$1/g;
- }
- return @_;
-}
-
-#
# this can be used to override CORE::glob in a specific
# package by saying C<use File::DosGlob 'glob';> in that
# namespace.
@@ -335,7 +139,7 @@ sub glob {
my $tmp = "$start$match$end";
while ( $tmp =~ s/^(.*?)(?<!\\)\{(?:.*(?<!\\)\,)?(.*\Q$match\E.*?)(?:(?<!\\)\,.*)?(?<!\\)\}(.*)$/$1$2$3/ ) {
#print "Striped: $tmp\n";
- # these expanshions will be preformed by the original,
+ # these expansions will be preformed by the original,
# when we call REHASH.
}
push @appendpat, ("$tmp");
@@ -373,15 +177,7 @@ sub glob {
# if we're just beginning, do it all first
if ($iter{$cxix} == 0) {
- if ($^O eq 'MacOS') {
- # first, take care of updirs and trailing colons
- @pat = _preprocess_pattern(@pat);
- # expand volume names
- @pat = _expand_volume(@pat);
- $entries{$cxix} = (@pat) ? [_un_escape( doglob_Mac(1,@pat) )] : [()];
- } else {
- $entries{$cxix} = [doglob(1,@pat)];
- }
+ $entries{$cxix} = [doglob(1,@pat)];
}
# chuck it all out, quick or slow
@@ -462,61 +258,6 @@ of the quoting rules used.
Extending it to csh patterns is left as an exercise to the reader.
-=head1 NOTES
-
-=over 4
-
-=item *
-
-Mac OS (Classic) users should note a few differences. The specification
-of pathnames in glob patterns adheres to the usual Mac OS conventions:
-The path separator is a colon ':', not a slash '/' or backslash '\'. A
-full path always begins with a volume name. A relative pathname on Mac
-OS must always begin with a ':', except when specifying a file or
-directory name in the current working directory, where the leading colon
-is optional. If specifying a volume name only, a trailing ':' is
-required. Due to these rules, a glob like E<lt>*:E<gt> will find all
-mounted volumes, while a glob like E<lt>*E<gt> or E<lt>:*E<gt> will find
-all files and directories in the current directory.
-
-Note that updirs in the glob pattern are resolved before the matching begins,
-i.e. a pattern like "*HD:t?p::a*" will be matched as "*HD:a*". Note also,
-that a single trailing ':' in the pattern is ignored (unless it's a volume
-name pattern like "*HD:"), i.e. a glob like <:*:> will find both directories
-I<and> files (and not, as one might expect, only directories).
-
-The metachars '*', '?' and the escape char '\' are valid characters in
-volume, directory and file names on Mac OS. Hence, if you want to match
-a '*', '?' or '\' literally, you have to escape these characters. Due to
-perl's quoting rules, things may get a bit complicated, when you want to
-match a string like '\*' literally, or when you want to match '\' literally,
-but treat the immediately following character '*' as metachar. So, here's a
-rule of thumb (applies to both single- and double-quoted strings): escape
-each '*' or '?' or '\' with a backslash, if you want to treat them literally,
-and then double each backslash and your are done. E.g.
-
-- Match '\*' literally
-
- escape both '\' and '*' : '\\\*'
- double the backslashes : '\\\\\\*'
-
-(Internally, the glob routine sees a '\\\*', which means that both '\' and
-'*' are escaped.)
-
-
-- Match '\' literally, treat '*' as metachar
-
- escape '\' but not '*' : '\\*'
- double the backslashes : '\\\\*'
-
-(Internally, the glob routine sees a '\\*', which means that '\' is escaped and
-'*' is not.)
-
-Note that you also have to quote literal spaces in the glob pattern, as described
-above.
-
-=back
-
=head1 EXPORTS (by request only)
glob()
diff --git a/Master/tlpkg/tlperl/lib/File/Fetch.pm b/Master/tlpkg/tlperl/lib/File/Fetch.pm
index 4aabc29be55..5d0a51df161 100644
--- a/Master/tlpkg/tlperl/lib/File/Fetch.pm
+++ b/Master/tlpkg/tlperl/lib/File/Fetch.pm
@@ -22,7 +22,7 @@ use vars qw[ $VERBOSE $PREFER_BIN $FROM_EMAIL $USER_AGENT
$FTP_PASSIVE $TIMEOUT $DEBUG $WARN
];
-$VERSION = '0.24';
+$VERSION = '0.32';
$VERSION = eval $VERSION; # avoid warnings with development releases
$PREFER_BIN = 0; # XXX TODO implement
$FROM_EMAIL = 'File-Fetch@example.com';
@@ -36,8 +36,8 @@ $WARN = 1;
### methods available to fetch the file depending on the scheme
$METHODS = {
- http => [ qw|lwp wget curl lftp lynx iosock| ],
- ftp => [ qw|lwp netftp wget curl lftp ncftp ftp| ],
+ http => [ qw|lwp httptiny wget curl lftp fetch httplite lynx iosock| ],
+ ftp => [ qw|lwp netftp wget curl lftp fetch ncftp ftp| ],
file => [ qw|lwp lftp file| ],
rsync => [ qw|rsync| ]
};
@@ -54,7 +54,7 @@ use constant ON_VMS => ($^O eq 'VMS');
use constant ON_UNIX => (!ON_WIN);
use constant HAS_VOL => (ON_WIN);
use constant HAS_SHARE => (ON_WIN);
-
+use constant HAS_FETCH => ( $^O =~ m!^(freebsd|netbsd|dragonfly)$! );
=pod
@@ -498,7 +498,7 @@ sub fetch {
if( ref $target and UNIVERSAL::isa( $target, 'SCALAR' ) ) {
### open the file
- open my $fh, $file or do {
+ open my $fh, "<$file" or do {
$self->_error(
loc("Could not open '%1': %2", $file, $!));
return;
@@ -584,6 +584,125 @@ sub _lwp_fetch {
}
}
+### HTTP::Tiny fetching ###
+sub _httptiny_fetch {
+ my $self = shift;
+ my %hash = @_;
+
+ my ($to);
+ my $tmpl = {
+ to => { required => 1, store => \$to }
+ };
+ check( $tmpl, \%hash ) or return;
+
+ my $use_list = {
+ 'HTTP::Tiny' => '0.008',
+
+ };
+
+ if( can_load(modules => $use_list) ) {
+
+ my $uri = $self->uri;
+
+ my $http = HTTP::Tiny->new( ( $TIMEOUT ? ( timeout => $TIMEOUT ) : () ) );
+
+ my $rc = $http->mirror( $uri, $to );
+
+ unless ( $rc->{success} ) {
+
+ return $self->_error(loc( "Fetch failed! HTTP response: %1 [%2]",
+ $rc->{status}, $rc->{reason} ) );
+
+ }
+
+ return $to;
+
+ }
+ else {
+ $METHOD_FAIL->{'httptiny'} = 1;
+ return;
+ }
+}
+
+### HTTP::Lite fetching ###
+sub _httplite_fetch {
+ my $self = shift;
+ my %hash = @_;
+
+ my ($to);
+ my $tmpl = {
+ to => { required => 1, store => \$to }
+ };
+ check( $tmpl, \%hash ) or return;
+
+ ### modules required to download with lwp ###
+ my $use_list = {
+ 'HTTP::Lite' => '2.2',
+
+ };
+
+ # https://github.com/dagolden/cpanpm/compare/master...private%2Fuse-http-lite
+
+ if( can_load(modules => $use_list) ) {
+
+ my $uri = $self->uri;
+ my $retries = 0;
+
+ RETRIES: while ( $retries++ < 5 ) {
+
+ my $http = HTTP::Lite->new();
+ # Naughty naughty but there isn't any accessor/setter
+ $http->{timeout} = $TIMEOUT if $TIMEOUT;
+ $http->http11_mode(1);
+
+ my $fh = FileHandle->new;
+
+ unless ( $fh->open($to,'>') ) {
+ return $self->_error(loc(
+ "Could not open '%1' for writing: %2",$to,$!));
+ }
+
+ $fh->autoflush(1);
+
+ binmode $fh;
+
+ my $rc = $http->request( $uri, sub { my ($self,$dref,$cbargs) = @_; local $\; print {$cbargs} $$dref }, $fh );
+
+ close $fh;
+
+ if ( $rc == 301 || $rc == 302 ) {
+ my $loc;
+ HEADERS: for ($http->headers_array) {
+ /Location: (\S+)/ and $loc = $1, last HEADERS;
+ }
+ #$loc or last; # Think we should squeal here.
+ if ($loc =~ m!^/!) {
+ $uri =~ s{^(\w+?://[^/]+)/.*$}{$1};
+ $uri .= $loc;
+ }
+ else {
+ $uri = $loc;
+ }
+ next RETRIES;
+ }
+ elsif ( $rc == 200 ) {
+ return $to;
+ }
+ else {
+ return $self->_error(loc("Fetch failed! HTTP response: %1 [%2]",
+ $rc, $http->status_message));
+ }
+
+ } # Loop for 5 retries.
+
+ return $self->_error("Fetch failed! Gave up after 5 tries");
+
+ } else {
+ $METHOD_FAIL->{'httplite'} = 1;
+ return;
+ }
+}
+
### Simple IO::Socket::INET fetching ###
sub _iosock_fetch {
my $self = shift;
@@ -619,6 +738,9 @@ sub _iosock_fetch {
"Could not open '%1' for writing: %2",$to,$!));
}
+ $fh->autoflush(1);
+ binmode $fh;
+
my $path = File::Spec::Unix->catfile( $self->path, $self->file );
my $req = "GET $path HTTP/1.0\x0d\x0aHost: " . $self->host . "\x0d\x0a\x0d\x0a";
$sock->send( $req );
@@ -641,7 +763,7 @@ sub _iosock_fetch {
}
# Check the "response"
- # Strip preceeding blank lines apparently they are allowed (RFC 2616 4.1)
+ # Strip preceding blank lines apparently they are allowed (RFC 2616 4.1)
$resp =~ s/^(\x0d?\x0a)+//;
# Check it is an HTTP response
unless ( $resp =~ m!^HTTP/(\d+)\.(\d+)!i ) {
@@ -654,7 +776,10 @@ sub _iosock_fetch {
return $self->_error(loc("Got a '%1' from '%2' expected '200'",$code,$self->host));
}
- print $fh +($resp =~ m/\x0d\x0a\x0d\x0a(.*)$/s )[0];
+ {
+ local $\;
+ print $fh +($resp =~ m/\x0d\x0a\x0d\x0a(.*)$/s )[0];
+ }
close $fh;
return $to;
@@ -1002,7 +1127,7 @@ sub _ncftp_fetch {
};
check( $tmpl, \%hash ) or return;
- ### we can only set passive mode in interactive sesssions, so bail out
+ ### we can only set passive mode in interactive sessions, so bail out
### if $FTP_PASSIVE is set
return if $FTP_PASSIVE;
@@ -1095,6 +1220,60 @@ sub _curl_fetch {
}
}
+### /usr/bin/fetch fetch! ###
+sub _fetch_fetch {
+ my $self = shift;
+ my %hash = @_;
+
+ my ($to);
+ my $tmpl = {
+ to => { required => 1, store => \$to }
+ };
+ check( $tmpl, \%hash ) or return;
+
+ ### see if we have a wget binary ###
+ if( HAS_FETCH and my $fetch = can_run('fetch') ) {
+
+ ### no verboseness, thanks ###
+ my $cmd = [ $fetch, '-q' ];
+
+ ### if a timeout is set, add it ###
+ push(@$cmd, '-T', $TIMEOUT) if $TIMEOUT;
+
+ ### run passive if specified ###
+ #push @$cmd, '-p' if $FTP_PASSIVE;
+ local $ENV{'FTP_PASSIVE_MODE'} = 1 if $FTP_PASSIVE;
+
+ ### set the output document, add the uri ###
+ push @$cmd, '-o', $to, $self->uri;
+
+ ### with IPC::Cmd > 0.41, this is fixed in teh library,
+ ### and there's no need for special casing any more.
+ ### DO NOT quote things for IPC::Run, it breaks stuff.
+ # $IPC::Cmd::USE_IPC_RUN
+ # ? ($to, $self->uri)
+ # : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
+
+ ### shell out ###
+ my $captured;
+ unless(run( command => $cmd,
+ buffer => \$captured,
+ verbose => $DEBUG
+ )) {
+ ### wget creates the output document always, even if the fetch
+ ### fails.. so unlink it in that case
+ 1 while unlink $to;
+
+ return $self->_error(loc( "Command failed: %1", $captured || '' ));
+ }
+
+ return $to;
+
+ } else {
+ $METHOD_FAIL->{'wget'} = 1;
+ return;
+ }
+}
### use File::Copy for fetching file:// urls ###
###
@@ -1117,7 +1296,7 @@ sub _file_fetch {
### prefix a / on unix systems with a file uri, since it would
### look somewhat like this:
### file:///home/kane/file
- ### wheras windows file uris for 'c:\some\dir\file' might look like:
+ ### whereas windows file uris for 'c:\some\dir\file' might look like:
### file:///C:/some/dir/file
### file:///C|/some/dir/file
### or for a network share '\\host\share\some\dir\file':
@@ -1266,8 +1445,8 @@ Below is a mapping of what utilities will be used in what order
for what schemes, if available:
file => LWP, lftp, file
- http => LWP, wget, curl, lftp, lynx, iosock
- ftp => LWP, Net::FTP, wget, curl, lftp, ncftp, ftp
+ http => LWP, HTTP::Lite, wget, curl, lftp, fetch, lynx, iosock
+ ftp => LWP, Net::FTP, wget, curl, lftp, fetch, ncftp, ftp
rsync => rsync
If you'd like to disable the use of one or more of these utilities
@@ -1278,6 +1457,10 @@ If a utility or module isn't available, it will be marked in a cache
tried again. The C<fetch> method will only fail when all options are
exhausted, and it was not able to retrieve the file.
+The C<fetch> utility is available on FreeBSD. NetBSD and Dragonfly BSD
+may also have it from C<pkgsrc>. We only check for C<fetch> on those
+three platforms.
+
C<iosock> is a very limited L<IO::Socket::INET> based mechanism for
retrieving C<http> schemed urls. It doesn't follow redirects for instance.
@@ -1379,6 +1562,8 @@ Here's a quick mapping for the utilities/modules, and their names for
the $BLACKLIST, $METHOD_FAIL and other internal functions.
LWP => lwp
+ HTTP::Lite => httplite
+ HTTP::Tiny => httptiny
Net::FTP => netftp
wget => wget
lynx => lynx
@@ -1387,6 +1572,7 @@ the $BLACKLIST, $METHOD_FAIL and other internal functions.
curl => curl
rsync => rsync
lftp => lftp
+ fetch => fetch
IO::Socket => iosock
=head1 FREQUENTLY ASKED QUESTIONS
@@ -1409,7 +1595,7 @@ which we in turn capture. If that content is a 'custom' error file
Sadly, C<lynx> doesn't support any options to return a different exit
code on non-C<200 OK> status, giving us no way to tell the difference
-between a 'successfull' fetch and a custom error page.
+between a 'successful' fetch and a custom error page.
Therefor, we recommend to only use C<lynx> as a last resort. This is
why it is at the back of our list of methods to try as well.
diff --git a/Master/tlpkg/tlperl/lib/File/Find.pm b/Master/tlpkg/tlperl/lib/File/Find.pm
index e72f3e32b30..cdcf97e0a79 100644
--- a/Master/tlpkg/tlperl/lib/File/Find.pm
+++ b/Master/tlpkg/tlperl/lib/File/Find.pm
@@ -3,12 +3,12 @@ use 5.006;
use strict;
use warnings;
use warnings::register;
-our $VERSION = '1.15';
+our $VERSION = '1.19';
require Exporter;
require Cwd;
#
-# Modified to ensure sub-directory traversal order is not inverded by stack
+# Modified to ensure sub-directory traversal order is not inverted by stack
# push and pops. That is remains in the same order as in the directory file,
# or user pre-processing (EG:sorted).
#
@@ -324,81 +324,6 @@ in an unknown directory.
=back
-=head1 NOTES
-
-=over 4
-
-=item *
-
-Mac OS (Classic) users should note a few differences:
-
-=over 4
-
-=item *
-
-The path separator is ':', not '/', and the current directory is denoted
-as ':', not '.'. You should be careful about specifying relative pathnames.
-While a full path always begins with a volume name, a relative pathname
-should always begin with a ':'. If specifying a volume name only, a
-trailing ':' is required.
-
-=item *
-
-C<$File::Find::dir> is guaranteed to end with a ':'. If C<$_>
-contains the name of a directory, that name may or may not end with a
-':'. Likewise, C<$File::Find::name>, which contains the complete
-pathname to that directory, and C<$File::Find::fullname>, which holds
-the absolute pathname of that directory with all symbolic links resolved,
-may or may not end with a ':'.
-
-=item *
-
-The default C<untaint_pattern> (see above) on Mac OS is set to
-C<qr|^(.+)$|>. Note that the parentheses are vital.
-
-=item *
-
-The invisible system file "Icon\015" is ignored. While this file may
-appear in every directory, there are some more invisible system files
-on every volume, which are all located at the volume root level (i.e.
-"MacintoshHD:"). These system files are B<not> excluded automatically.
-Your filter may use the following code to recognize invisible files or
-directories (requires Mac::Files):
-
- use Mac::Files;
-
- # invisible() -- returns 1 if file/directory is invisible,
- # 0 if it's visible or undef if an error occurred
-
- sub invisible($) {
- my $file = shift;
- my ($fileCat, $fileInfo);
- my $invisible_flag = 1 << 14;
-
- if ( $fileCat = FSpGetCatInfo($file) ) {
- if ($fileInfo = $fileCat->ioFlFndrInfo() ) {
- return (($fileInfo->fdFlags & $invisible_flag) && 1);
- }
- }
- return undef;
- }
-
-Generally, invisible files are system files, unless an odd application
-decides to use invisible files for its own purposes. To distinguish
-such files from system files, you have to look at the B<type> and B<creator>
-file attributes. The MacPerl built-in functions C<GetFileInfo(FILE)> and
-C<SetFileInfo(CREATOR, TYPE, FILES)> offer access to these attributes
-(see MacPerl.pm for details).
-
-Files that appear on the desktop actually reside in an (hidden) directory
-named "Desktop Folder" on the particular disk volume. Note that, although
-all desktop files appear to be on the same "virtual" desktop, each disk
-volume actually maintains its own "Desktop Folder" directory.
-
-=back
-
-=back
-
=head1 BUGS AND CAVEATS
Despite the name of the C<finddepth()> function, both C<find()> and
@@ -423,7 +348,7 @@ our @EXPORT = qw(find finddepth);
use strict;
my $Is_VMS;
-my $Is_MacOS;
+my $Is_Win32;
require File::Basename;
require File::Spec;
@@ -454,83 +379,24 @@ sub contract_name {
return $abs_name;
}
-# return the absolute name of a directory or file
-sub contract_name_Mac {
- my ($cdir,$fn) = @_;
- my $abs_name;
-
- if ($fn =~ /^(:+)(.*)$/) { # valid pathname starting with a ':'
-
- my $colon_count = length ($1);
- if ($colon_count == 1) {
- $abs_name = $cdir . $2;
- return $abs_name;
- }
- else {
- # need to move up the tree, but
- # only if it's not a volume name
- for (my $i=1; $i<$colon_count; $i++) {
- unless ($cdir =~ /^[^:]+:$/) { # volume name
- $cdir =~ s/[^:]+:$//;
- }
- else {
- return undef;
- }
- }
- $abs_name = $cdir . $2;
- return $abs_name;
- }
-
- }
- else {
-
- # $fn may be a valid path to a directory or file or (dangling)
- # symlink, without a leading ':'
- if ( (-e $fn) || (-l $fn) ) {
- if ($fn =~ /^[^:]+:/) { # a volume name like DataHD:*
- return $fn; # $fn is already an absolute path
- }
- else {
- $abs_name = $cdir . $fn;
- return $abs_name;
- }
- }
- else { # argh!, $fn is not a valid directory/file
- return undef;
- }
- }
-}
-
sub PathCombine($$) {
my ($Base,$Name) = @_;
my $AbsName;
- if ($Is_MacOS) {
- # $Name is the resolved symlink (always a full path on MacOS),
- # i.e. there's no need to call contract_name_Mac()
- $AbsName = $Name;
-
- # (simple) check for recursion
- if ( ( $Base =~ /^$AbsName/) && (-d $AbsName) ) { # recursion
- return undef;
- }
+ if (substr($Name,0,1) eq '/') {
+ $AbsName= $Name;
}
else {
- if (substr($Name,0,1) eq '/') {
- $AbsName= $Name;
- }
- else {
- $AbsName= contract_name($Base,$Name);
- }
+ $AbsName= contract_name($Base,$Name);
+ }
- # (simple) check for recursion
- my $newlen= length($AbsName);
- if ($newlen <= length($Base)) {
- if (($newlen == length($Base) || substr($Base,$newlen,1) eq '/')
- && $AbsName eq substr($Base,0,$newlen))
- {
- return undef;
- }
+ # (simple) check for recursion
+ my $newlen= length($AbsName);
+ if ($newlen <= length($Base)) {
+ if (($newlen == length($Base) || substr($Base,$newlen,1) eq '/')
+ && $AbsName eq substr($Base,0,$newlen))
+ {
+ return undef;
}
}
return $AbsName;
@@ -629,8 +495,8 @@ sub _find_opt {
$pre_process = $wanted->{preprocess};
$post_process = $wanted->{postprocess};
$no_chdir = $wanted->{no_chdir};
- $full_check = $^O eq 'MSWin32' ? 0 : $wanted->{follow};
- $follow = $^O eq 'MSWin32' ? 0 :
+ $full_check = $Is_Win32 ? 0 : $wanted->{follow};
+ $follow = $Is_Win32 ? 0 :
$full_check || $wanted->{follow_fast};
$follow_skip = $wanted->{follow_skip};
$untaint = $wanted->{untaint};
@@ -652,11 +518,9 @@ sub _find_opt {
($topdev,$topino,$topmode,$topnlink) = $follow ? stat $top_item : lstat $top_item;
- if ($Is_MacOS) {
- $top_item = ":$top_item"
- if ( (-d _) && ( $top_item !~ /:/ ) );
- } elsif ($^O eq 'MSWin32') {
- $top_item =~ s|/\z|| unless $top_item =~ m|\w:/$|;
+ if ($Is_Win32) {
+ $top_item =~ s|[/\\]\z||
+ unless $top_item =~ m{^(?:\w:)?[/\\]$};
}
else {
$top_item =~ s|/\z|| unless $top_item eq '/';
@@ -666,32 +530,15 @@ sub _find_opt {
if ($follow) {
- if ($Is_MacOS) {
- $cwd = "$cwd:" unless ($cwd =~ /:$/); # for safety
-
- if ($top_item eq $File::Find::current_dir) {
- $abs_dir = $cwd;
- }
- else {
- $abs_dir = contract_name_Mac($cwd, $top_item);
- unless (defined $abs_dir) {
- warnings::warnif "Can't determine absolute path for $top_item (No such file or directory)\n";
- next Proc_Top_Item;
- }
- }
-
+ if (substr($top_item,0,1) eq '/') {
+ $abs_dir = $top_item;
}
- else {
- if (substr($top_item,0,1) eq '/') {
- $abs_dir = $top_item;
- }
- elsif ($top_item eq $File::Find::current_dir) {
- $abs_dir = $cwd;
- }
- else { # care about any ../
- $top_item =~ s/\.dir\z//i if $Is_VMS;
- $abs_dir = contract_name("$cwd/",$top_item);
- }
+ elsif ($top_item eq $File::Find::current_dir) {
+ $abs_dir = $cwd;
+ }
+ else { # care about any ../
+ $top_item =~ s/\.dir\z//i if $Is_VMS;
+ $abs_dir = contract_name("$cwd/",$top_item);
}
$abs_dir= Follow_SymLink($abs_dir);
unless (defined $abs_dir) {
@@ -729,12 +576,7 @@ sub _find_opt {
unless ($Is_Dir) {
unless (($_,$dir) = File::Basename::fileparse($abs_dir)) {
- if ($Is_MacOS) {
- ($dir,$_) = (':', $top_item); # $File::Find::dir, $_
- }
- else {
- ($dir,$_) = ('./', $top_item);
- }
+ ($dir,$_) = ('./', $top_item);
}
$abs_dir = $dir;
@@ -797,11 +639,10 @@ sub _find_dir($$$) {
my $tainted = 0;
my $no_nlink;
- if ($Is_MacOS) {
- $dir_pref= ($p_dir =~ /:$/) ? $p_dir : "$p_dir:"; # preface
- } elsif ($^O eq 'MSWin32') {
- $dir_pref = ($p_dir =~ m|\w:/?$| ? $p_dir : "$p_dir/" );
- } elsif ($^O eq 'VMS') {
+ if ($Is_Win32) {
+ $dir_pref
+ = ($p_dir =~ m{^(?:\w:[/\\]?|[/\\])$} ? $p_dir : "$p_dir/" );
+ } elsif ($Is_VMS) {
# VMS is returning trailing .dir on directories
# and trailing . on files and symbolic links
@@ -840,10 +681,6 @@ sub _find_dir($$$) {
# push the starting directory
push @Stack,[$CdLvl,$p_dir,$dir_rel,-1] if $bydepth;
- if ($Is_MacOS) {
- $p_dir = $dir_pref; # ensure trailing ':'
- }
-
while (defined $SE) {
unless ($bydepth) {
$dir= $p_dir; # $File::Find::dir
@@ -862,34 +699,20 @@ sub _find_dir($$$) {
( $udir ) = $dir_rel =~ m|$untaint_pat|;
unless (defined $udir) {
if ($untaint_skip == 0) {
- if ($Is_MacOS) {
- die "directory ($p_dir) $dir_rel is still tainted";
- }
- else {
- die "directory (" . ($p_dir ne '/' ? $p_dir : '') . "/) $dir_rel is still tainted";
- }
+ die "directory (" . ($p_dir ne '/' ? $p_dir : '') . "/) $dir_rel is still tainted";
} else { # $untaint_skip == 1
next;
}
}
}
unless (chdir ($Is_VMS && $udir !~ /[\/\[<]+/ ? "./$udir" : $udir)) {
- if ($Is_MacOS) {
- warnings::warnif "Can't cd to ($p_dir) $udir: $!\n";
- }
- else {
- warnings::warnif "Can't cd to (" .
- ($p_dir ne '/' ? $p_dir : '') . "/) $udir: $!\n";
- }
+ warnings::warnif "Can't cd to (" .
+ ($p_dir ne '/' ? $p_dir : '') . "/) $udir: $!\n";
next;
}
$CdLvl++;
}
- if ($Is_MacOS) {
- $dir_name = "$dir_name:" unless ($dir_name =~ /:$/);
- }
-
$dir= $dir_name; # $File::Find::dir
# Get the list of files in the current directory.
@@ -902,7 +725,7 @@ sub _find_dir($$$) {
@filenames = $pre_process->(@filenames) if $pre_process;
push @Stack,[$CdLvl,$dir_name,"",-2] if $post_process;
- # default: use whatever was specifid
+ # default: use whatever was specified
# (if $nlink >= 2, and $avoid_nlink == 0, this will switch back)
$no_nlink = $avoid_nlink;
# if dir has wrong nlink count, force switch to slower stat method
@@ -971,10 +794,7 @@ sub _find_dir($$$) {
($Level, $p_dir, $dir_rel, $nlink) = @$SE;
if ($CdLvl > $Level && !$no_chdir) {
my $tmp;
- if ($Is_MacOS) {
- $tmp = (':' x ($CdLvl-$Level)) . ':';
- }
- elsif ($Is_VMS) {
+ if ($Is_VMS) {
$tmp = '[' . ('-' x ($CdLvl-$Level)) . ']';
}
else {
@@ -985,14 +805,9 @@ sub _find_dir($$$) {
$CdLvl = $Level;
}
- if ($Is_MacOS) {
- # $pdir always has a trailing ':', except for the starting dir,
- # where $dir_rel eq ':'
- $dir_name = "$p_dir$dir_rel";
- $dir_pref = "$dir_name:";
- }
- elsif ($^O eq 'MSWin32') {
- $dir_name = ($p_dir =~ m|\w:/?$| ? "$p_dir$dir_rel" : "$p_dir/$dir_rel");
+ if ($Is_Win32) {
+ $dir_name = ($p_dir =~ m{^(?:\w:[/\\]?|[/\\])$}
+ ? "$p_dir$dir_rel" : "$p_dir/$dir_rel");
$dir_pref = "$dir_name/";
}
elsif ($^O eq 'VMS') {
@@ -1018,23 +833,13 @@ sub _find_dir($$$) {
}
elsif ( $nlink < 0 ) { # must be finddepth, report dirname now
$name = $dir_name;
- if ($Is_MacOS) {
- if ($dir_rel eq ':') { # must be the top dir, where we started
- $name =~ s|:$||; # $File::Find::name
- $p_dir = "$p_dir:" unless ($p_dir =~ /:$/);
- }
- $dir = $p_dir; # $File::Find::dir
- $_ = ($no_chdir ? $name : $dir_rel); # $_
+ if ( substr($name,-2) eq '/.' ) {
+ substr($name, length($name) == 2 ? -1 : -2) = '';
}
- else {
- if ( substr($name,-2) eq '/.' ) {
- substr($name, length($name) == 2 ? -1 : -2) = '';
- }
- $dir = $p_dir;
- $_ = ($no_chdir ? $dir_name : $dir_rel );
- if ( substr($_,-2) eq '/.' ) {
- substr($_, length($_) == 2 ? -1 : -2) = '';
- }
+ $dir = $p_dir;
+ $_ = ($no_chdir ? $dir_name : $dir_rel );
+ if ( substr($_,-2) eq '/.' ) {
+ substr($_, length($_) == 2 ? -1 : -2) = '';
}
{ $wanted_callback->() }; # protect against wild "next"
}
@@ -1069,13 +874,8 @@ sub _find_dir_symlnk($$$) {
my $tainted = 0;
my $ok = 1;
- if ($Is_MacOS) {
- $dir_pref = ($p_dir =~ /:$/) ? "$p_dir" : "$p_dir:";
- $loc_pref = ($dir_loc =~ /:$/) ? "$dir_loc" : "$dir_loc:";
- } else {
- $dir_pref = ( $p_dir eq '/' ? '/' : "$p_dir/" );
- $loc_pref = ( $dir_loc eq '/' ? '/' : "$dir_loc/" );
- }
+ $dir_pref = ( $p_dir eq '/' ? '/' : "$p_dir/" );
+ $loc_pref = ( $dir_loc eq '/' ? '/' : "$dir_loc/" );
local ($dir, $name, $fullname, $prune, *DIR);
@@ -1104,10 +904,6 @@ sub _find_dir_symlnk($$$) {
push @Stack,[$dir_loc,$updir_loc,$p_dir,$dir_rel,-1] if $bydepth;
- if ($Is_MacOS) {
- $p_dir = $dir_pref; # ensure trailing ':'
- }
-
while (defined $SE) {
unless ($bydepth) {
@@ -1150,10 +946,6 @@ sub _find_dir_symlnk($$$) {
}
}
- if ($Is_MacOS) {
- $dir_name = "$dir_name:" unless ($dir_name =~ /:$/);
- }
-
$dir = $dir_name; # $File::Find::dir
# Get the list of files in the current directory.
@@ -1216,18 +1008,9 @@ sub _find_dir_symlnk($$$) {
continue {
while (defined($SE = pop @Stack)) {
($dir_loc, $updir_loc, $p_dir, $dir_rel, $byd_flag) = @$SE;
- if ($Is_MacOS) {
- # $p_dir always has a trailing ':', except for the starting dir,
- # where $dir_rel eq ':'
- $dir_name = "$p_dir$dir_rel";
- $dir_pref = "$dir_name:";
- $loc_pref = ($dir_loc =~ /:$/) ? $dir_loc : "$dir_loc:";
- }
- else {
- $dir_name = ($p_dir eq '/' ? "/$dir_rel" : "$p_dir/$dir_rel");
- $dir_pref = "$dir_name/";
- $loc_pref = "$dir_loc/";
- }
+ $dir_name = ($p_dir eq '/' ? "/$dir_rel" : "$p_dir/$dir_rel");
+ $dir_pref = "$dir_name/";
+ $loc_pref = "$dir_loc/";
if ( $byd_flag < 0 ) { # must be finddepth, report dirname now
unless ($no_chdir || ($dir_rel eq $File::Find::current_dir)) {
unless (chdir $updir_loc) { # $updir_loc (parent dir) is always untainted
@@ -1237,23 +1020,13 @@ sub _find_dir_symlnk($$$) {
}
$fullname = $dir_loc; # $File::Find::fullname
$name = $dir_name; # $File::Find::name
- if ($Is_MacOS) {
- if ($dir_rel eq ':') { # must be the top dir, where we started
- $name =~ s|:$||; # $File::Find::name
- $p_dir = "$p_dir:" unless ($p_dir =~ /:$/);
- }
- $dir = $p_dir; # $File::Find::dir
- $_ = ($no_chdir ? $name : $dir_rel); # $_
+ if ( substr($name,-2) eq '/.' ) {
+ substr($name, length($name) == 2 ? -1 : -2) = ''; # $File::Find::name
}
- else {
- if ( substr($name,-2) eq '/.' ) {
- substr($name, length($name) == 2 ? -1 : -2) = ''; # $File::Find::name
- }
- $dir = $p_dir; # $File::Find::dir
- $_ = ($no_chdir ? $dir_name : $dir_rel); # $_
- if ( substr($_,-2) eq '/.' ) {
- substr($_, length($_) == 2 ? -1 : -2) = '';
- }
+ $dir = $p_dir; # $File::Find::dir
+ $_ = ($no_chdir ? $dir_name : $dir_rel); # $_
+ if ( substr($_,-2) eq '/.' ) {
+ substr($_, length($_) == 2 ? -1 : -2) = '';
}
lstat($_); # make sure file tests with '_' work
@@ -1312,11 +1085,8 @@ if ($^O eq 'VMS') {
$Is_VMS = 1;
$File::Find::dont_use_nlink = 1;
}
-elsif ($^O eq 'MacOS') {
- $Is_MacOS = 1;
- $File::Find::dont_use_nlink = 1;
- $File::Find::skip_pattern = qr/^Icon\015\z/;
- $File::Find::untaint_pattern = qr|^(.+)$|;
+elsif ($^O eq 'MSWin32') {
+ $Is_Win32 = 1;
}
# this _should_ work properly on all platforms
@@ -1324,7 +1094,7 @@ elsif ($^O eq 'MacOS') {
$File::Find::current_dir = File::Spec->curdir || '.';
$File::Find::dont_use_nlink = 1
- if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $^O eq 'MSWin32' ||
+ if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $Is_Win32 ||
$^O eq 'interix' || $^O eq 'cygwin' || $^O eq 'epoc' || $^O eq 'qnx' ||
$^O eq 'nto';
diff --git a/Master/tlpkg/tlperl/lib/File/Glob.pm b/Master/tlpkg/tlperl/lib/File/Glob.pm
index 7c6b92cf415..af17cffa76b 100644
--- a/Master/tlpkg/tlperl/lib/File/Glob.pm
+++ b/Master/tlpkg/tlperl/lib/File/Glob.pm
@@ -1,38 +1,16 @@
package File::Glob;
use strict;
-our($VERSION, @ISA, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS,
- $AUTOLOAD, $DEFAULT_FLAGS);
+our($VERSION, @ISA, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS, $DEFAULT_FLAGS);
-use XSLoader ();
+require XSLoader;
+use feature 'switch';
@ISA = qw(Exporter);
# NOTE: The glob() export is only here for compatibility with 5.6.0.
# csh_glob() should not be used directly, unless you know what you're doing.
-@EXPORT_OK = qw(
- csh_glob
- bsd_glob
- glob
- GLOB_ABEND
- GLOB_ALPHASORT
- GLOB_ALTDIRFUNC
- GLOB_BRACE
- GLOB_CSH
- GLOB_ERR
- GLOB_ERROR
- GLOB_LIMIT
- GLOB_MARK
- GLOB_NOCASE
- GLOB_NOCHECK
- GLOB_NOMAGIC
- GLOB_NOSORT
- GLOB_NOSPACE
- GLOB_QUOTE
- GLOB_TILDE
-);
-
%EXPORT_TAGS = (
'glob' => [ qw(
GLOB_ABEND
@@ -56,72 +34,35 @@ use XSLoader ();
) ],
);
-$VERSION = '1.07';
+@EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
+
+$VERSION = '1.13';
sub import {
require Exporter;
- my $i = 1;
- while ($i < @_) {
- if ($_[$i] =~ /^:(case|nocase|globally)$/) {
- splice(@_, $i, 1);
- $DEFAULT_FLAGS &= ~GLOB_NOCASE() if $1 eq 'case';
- $DEFAULT_FLAGS |= GLOB_NOCASE() if $1 eq 'nocase';
- if ($1 eq 'globally') {
- local $^W;
+ local $Exporter::ExportLevel = $Exporter::ExportLevel + 1;
+ Exporter::import(grep {
+ my $passthrough;
+ given ($_) {
+ $DEFAULT_FLAGS &= ~GLOB_NOCASE() when ':case';
+ $DEFAULT_FLAGS |= GLOB_NOCASE() when ':nocase';
+ when (':globally') {
+ no warnings 'redefine';
*CORE::GLOBAL::glob = \&File::Glob::csh_glob;
}
- next;
+ $passthrough = 1;
}
- ++$i;
- }
- goto &Exporter::import;
+ $passthrough;
+ } @_);
}
-sub AUTOLOAD {
- # This AUTOLOAD is used to 'autoload' constants from the constant()
- # XS function. If a constant is not found then control is passed
- # to the AUTOLOAD in AutoLoader.
-
- my $constname;
- ($constname = $AUTOLOAD) =~ s/.*:://;
- my ($error, $val) = constant($constname);
- if ($error) {
- require Carp;
- Carp::croak($error);
- }
- eval "sub $AUTOLOAD { $val }";
- goto &$AUTOLOAD;
-}
-
-XSLoader::load 'File::Glob', $VERSION;
-
-# Preloaded methods go here.
-
-sub GLOB_ERROR {
- return (constant('GLOB_ERROR'))[1];
-}
-
-sub GLOB_CSH () {
- GLOB_BRACE()
- | GLOB_NOMAGIC()
- | GLOB_QUOTE()
- | GLOB_TILDE()
- | GLOB_ALPHASORT()
-}
+XSLoader::load();
$DEFAULT_FLAGS = GLOB_CSH();
-if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos|MacOS)$/) {
+if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos)$/) {
$DEFAULT_FLAGS |= GLOB_NOCASE();
}
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-sub bsd_glob {
- my ($pat,$flags) = @_;
- $flags = $DEFAULT_FLAGS if @_ < 2;
- return doglob($pat,$flags);
-}
-
# File::Glob::glob() is deprecated because its prototype is different from
# CORE::glob() (use bsd_glob() instead)
sub glob {
diff --git a/Master/tlpkg/tlperl/lib/File/GlobMapper.pm b/Master/tlpkg/tlperl/lib/File/GlobMapper.pm
index 40a606309e0..76d4bed1178 100644
--- a/Master/tlpkg/tlperl/lib/File/GlobMapper.pm
+++ b/Master/tlpkg/tlperl/lib/File/GlobMapper.pm
@@ -31,7 +31,7 @@ $VERSION = '1.000';
our ($noPreBS, $metachars, $matchMetaRE, %mapping, %wildCount);
-$noPreBS = '(?<!\\\)' ; # no preceeding backslash
+$noPreBS = '(?<!\\\)' ; # no preceding backslash
$metachars = '.*?[](){}';
$matchMetaRE = '[' . quotemeta($metachars) . ']';
@@ -309,7 +309,7 @@ sub _parseOutputGlob
if $1 > $maxwild ;
}
- my $noPreBS = '(?<!\\\)' ; # no preceeding backslash
+ my $noPreBS = '(?<!\\\)' ; # no preceding backslash
#warn "noPreBS = '$noPreBS'\n";
#$string =~ s/${noPreBS}\$(\d)/\${$1}/g;
diff --git a/Master/tlpkg/tlperl/lib/File/Listing.pm b/Master/tlpkg/tlperl/lib/File/Listing.pm
index 53a6ddc66be..c8d72a7185f 100644
--- a/Master/tlpkg/tlperl/lib/File/Listing.pm
+++ b/Master/tlpkg/tlperl/lib/File/Listing.pm
@@ -1,7 +1,7 @@
package File::Listing;
sub Version { $VERSION; }
-$VERSION = "5.837";
+$VERSION = "6.04";
require Exporter;
@ISA = qw(Exporter);
@@ -35,30 +35,47 @@ sub init { } # Dummy sub
sub file_mode ($)
{
+ Carp::croak("Input to file_mode() must be a 10 character string.")
+ unless length($_[0]) == 10;
+
# This routine was originally borrowed from Graham Barr's
# Net::FTP package.
local $_ = shift;
my $mode = 0;
- my($type,$ch);
+ my($type);
s/^(.)// and $type = $1;
+ # When the set-group-ID bit (file mode bit 02000) is set, and the group
+ # execution bit (file mode bit 00020) is unset, and it is a regular file,
+ # some implementations of `ls' use the letter `S', others use `l' or `L'.
+ # Convert this `S'.
+
+ s/[Ll](...)$/S$1/;
+
while (/(.)/g) {
$mode <<= 1;
$mode |= 1 if $1 ne "-" &&
$1 ne 'S' &&
- $1 ne 't' &&
$1 ne 'T';
}
- $type eq "d" and $mode |= 0040000 or # Directory
- $type eq "l" and $mode |= 0120000 or # Symbolic Link
- $mode |= 0100000; # Regular File
+ $mode |= 0004000 if /^..s....../i;
+ $mode |= 0002000 if /^.....s.../i;
+ $mode |= 0001000 if /^........t/i;
- $mode |= 0004000 if /^...s....../i;
- $mode |= 0002000 if /^......s.../i;
- $mode |= 0001000 if /^.........t/i;
+ # De facto standard definitions. From 'stat.h' on Solaris 9.
+
+ $type eq "p" and $mode |= 0010000 or # fifo
+ $type eq "c" and $mode |= 0020000 or # character special
+ $type eq "d" and $mode |= 0040000 or # directory
+ $type eq "b" and $mode |= 0060000 or # block special
+ $type eq "-" and $mode |= 0100000 or # regular
+ $type eq "l" and $mode |= 0120000 or # symbolic link
+ $type eq "s" and $mode |= 0140000 or # socket
+ $type eq "D" and $mode |= 0150000 or # door
+ Carp::croak("Unknown file type: $type");
$mode;
}
@@ -288,6 +305,7 @@ sub line {
local($_) = shift;
my($tz, $error) = @_; # ignored for now...
+ s!</?t[rd][^>]*>! !g; # clean away various table stuff
if (m!<A\s+HREF=\"([^\"]+)\">.*</A>.*?(\d+)-([a-zA-Z]+|\d+)-(\d+)\s+(\d+):(\d+)\s+(?:([\d\.]+[kMG]?|-))!i) {
my($filename, $filesize) = ($1, $7);
my($d,$m,$y, $H,$M) = ($2,$3,$4,$5,$6);
@@ -387,7 +405,7 @@ assumed.
The third parameter is the type of listing to assume. Currently
supported formats are 'unix', 'apache' and 'dosftp'. The default
-value 'unix'. Ideally, the listing type should be determined
+value is 'unix'. Ideally, the listing type should be determined
automatically.
The fourth parameter specifies how unparseable lines should be treated.
@@ -406,7 +424,12 @@ $filetype value is one of the letters 'f', 'd', 'l' or '?'. The
$filetime value is the seconds since Jan 1, 1970. The
$filemode is a bitmask like the mode returned by stat().
-=head1 CREDITS
+=head1 COPYRIGHT
+
+Copyright 1996-2010, Gisle Aas
Based on lsparse.pl (from Lee McLoughlin's ftp mirror package) and
Net::FTP's parse_dir (Graham Barr).
+
+This library is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/File/Spec.pm b/Master/tlpkg/tlperl/lib/File/Spec.pm
index 9caf4eba0d0..34c527eea2f 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec.pm
@@ -3,7 +3,7 @@ package File::Spec;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = '3.31_01';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
my %module = (MacOS => 'Mac',
@@ -166,6 +166,7 @@ directory. (Does not strip symlinks, only '.', '..', and equivalents.)
Returns a true or false value indicating, respectively, that alphabetic
case is not or is significant when comparing file specifications.
+Cygwin and Win32 accept an optional drive argument.
$is_case_tolerant = File::Spec->case_tolerant();
@@ -214,7 +215,7 @@ The results can be passed to L</catpath()> to get back a path equivalent to
=item splitdir
X<splitdir> X<split, dir>
-The opposite of L</catdir()>.
+The opposite of L</catdir>.
@dirs = File::Spec->splitdir( $directories );
@@ -289,7 +290,7 @@ On systems that have a grammar that indicates filenames, this ignores the
C<$base> filename as well. Otherwise all path components are assumed to be
directories.
-If C<$path> is absolute, it is cleaned up and returned using L</canonpath()>.
+If C<$path> is absolute, it is cleaned up and returned using L</canonpath>.
No checks against the filesystem are made. On VMS, there is
interaction with the working environment, as logicals and
@@ -328,7 +329,7 @@ splitpath(), splitdir(), catpath() and catdir() by Barrie Slaymaker.
=head1 COPYRIGHT
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
+Copyright (c) 2004-2010 by the Perl 5 Porters. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm b/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
index 050a1bb2b77..0709c6fc072 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.30';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
@ISA = qw(File::Spec::Unix);
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm b/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
index 54ff667c52f..a3bb62b8656 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
@@ -3,7 +3,7 @@ package File::Spec::Epoc;
use strict;
use vars qw($VERSION @ISA);
-$VERSION = '3.30';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
require File::Spec::Unix;
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm b/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
index e7becc7cfae..2ee8f5d2c1a 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
@@ -5,7 +5,7 @@ use strict;
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
-$VERSION = '3.30';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
require Exporter;
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm b/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
index 8b47470d6b3..f47293cb2de 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.30';
+$VERSION = '3.34';
$VERSION = eval $VERSION;
@ISA = qw(File::Spec::Unix);
@@ -740,7 +740,7 @@ sub rel2abs {
# Split up paths
- # igonore $path's volume
+ # ignore $path's volume
my ( $path_dirs, $path_file ) = ($self->splitpath($path))[1,2] ;
# ignore $base's file part
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm b/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
index a8fa63e3c16..a380dd719b7 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.30';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
@ISA = qw(File::Spec::Unix);
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm b/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
index 8fd2320a392..b276b213920 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
@@ -3,7 +3,7 @@ package File::Spec::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '3.30';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
index 6135fc54635..120575a3e0f 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.30';
+$VERSION = '3.34';
$VERSION = eval $VERSION;
@ISA = qw(File::Spec::Unix);
@@ -204,7 +204,7 @@ sub catdir {
if ($unix_mode) {
- # Fix up mixed syntax imput as good as possible - GIGO
+ # Fix up mixed syntax input as good as possible - GIGO
$path = unixify($path) if $path_vms;
$dir = unixify($dir) if $dir_vms;
@@ -216,7 +216,7 @@ sub catdir {
return $self->SUPER::canonpath($rslt);
} else {
- #with <> posible instead of [.
+ #with <> possible instead of [.
# Normalize the brackets
# Fixme - need to not switch when preceded by ^.
$path =~ s/</\[/g;
@@ -224,7 +224,7 @@ sub catdir {
$dir =~ s/</\[/g;
$dir =~ s/>/\]/g;
- # Fix up mixed syntax imput as good as possible - GIGO
+ # Fix up mixed syntax input as good as possible - GIGO
$path = vmsify($path) if $path_unix;
$dir = vmsify($dir) if $dir_unix;
@@ -413,7 +413,7 @@ sub catfile {
# Assume VMS mode
if (($spath_unix == $spath_vms) &&
($file_unix == $file_vms)) {
- # Ambigous, so if in $unix_rpt mode then assume UNIX.
+ # Ambiguous, so if in $unix_rpt mode then assume UNIX.
$unix_mode = 1 if $unix_rpt;
} else {
$unix_mode = 1
@@ -433,7 +433,7 @@ sub catfile {
$rslt = $spath;
$file = unixify($file) if ($file_vms);
- # Unix merge may need a directory delimitor.
+ # Unix merge may need a directory delimiter.
# A null path indicates root on Unix.
$rslt .= '/' unless ($rslt =~ m#/$#);
}
@@ -469,7 +469,7 @@ sub catfile {
}
return $self->canonpath($rslt) unless $unix_rpt;
- # In Unix report mode, do not strip off redundent path information.
+ # In Unix report mode, do not strip off redundant path information.
return $rslt;
}
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
index 93301ac7357..28d8510ccf6 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
@@ -5,7 +5,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.30';
+$VERSION = '3.33';
$VERSION = eval $VERSION;
@ISA = qw(File::Spec::Unix);
diff --git a/Master/tlpkg/tlperl/lib/File/Which.pm b/Master/tlpkg/tlperl/lib/File/Which.pm
deleted file mode 100644
index 69e336b03bd..00000000000
--- a/Master/tlpkg/tlperl/lib/File/Which.pm
+++ /dev/null
@@ -1,254 +0,0 @@
-package File::Which;
-
-use 5.004;
-use strict;
-use Exporter ();
-use File::Spec ();
-
-use vars qw{$VERSION @ISA @EXPORT @EXPORT_OK};
-BEGIN {
- $VERSION = '1.09';
- @ISA = 'Exporter';
- @EXPORT = 'which';
- @EXPORT_OK = 'where';
-}
-
-use constant IS_VMS => ($^O eq 'VMS');
-use constant IS_MAC => ($^O eq 'MacOS');
-use constant IS_DOS => ($^O eq 'MSWin32' or $^O eq 'dos' or $^O eq 'os2');
-
-# For Win32 systems, stores the extensions used for
-# executable files
-# For others, the empty string is used
-# because 'perl' . '' eq 'perl' => easier
-my @PATHEXT = ('');
-if ( IS_DOS ) {
- # WinNT. PATHEXT might be set on Cygwin, but not used.
- if ( $ENV{PATHEXT} ) {
- push @PATHEXT, split ';', $ENV{PATHEXT};
- } else {
- # Win9X or other: doesn't have PATHEXT, so needs hardcoded.
- push @PATHEXT, qw{.com .exe .bat};
- }
-} elsif ( IS_VMS ) {
- push @PATHEXT, qw{.exe .com};
-}
-
-sub which {
- my ($exec) = @_;
-
- return undef unless $exec;
-
- my $all = wantarray;
- my @results = ();
-
- # check for aliases first
- if ( IS_VMS ) {
- my $symbol = `SHOW SYMBOL $exec`;
- chomp($symbol);
- unless ( $? ) {
- return $symbol unless $all;
- push @results, $symbol;
- }
- }
- if ( IS_MAC ) {
- my @aliases = split /\,/, $ENV{Aliases};
- foreach my $alias ( @aliases ) {
- # This has not been tested!!
- # PPT which says MPW-Perl cannot resolve `Alias $alias`,
- # let's just hope it's fixed
- if ( lc($alias) eq lc($exec) ) {
- chomp(my $file = `Alias $alias`);
- last unless $file; # if it failed, just go on the normal way
- return $file unless $all;
- push @results, $file;
- # we can stop this loop as if it finds more aliases matching,
- # it'll just be the same result anyway
- last;
- }
- }
- }
-
- my @path = File::Spec->path;
- if ( IS_DOS or IS_VMS or IS_MAC ) {
- unshift @path, File::Spec->curdir;
- }
-
- foreach my $base ( map { File::Spec->catfile($_, $exec) } @path ) {
- for my $ext ( @PATHEXT ) {
- my $file = $base.$ext;
-
- # We don't want dirs (as they are -x)
- next if -d $file;
-
- if (
- # Executable, normal case
- -x _
- or (
- # MacOS doesn't mark as executable so we check -e
- IS_MAC
- ||
- (
- IS_DOS
- and
- grep {
- $file =~ /$_\z/i
- } @PATHEXT[1..$#PATHEXT]
- )
- # DOSish systems don't pass -x on
- # non-exe/bat/com files. so we check -e.
- # However, we don't want to pass -e on files
- # that aren't in PATHEXT, like README.
- and -e _
- )
- ) {
- return $file unless $all;
- push @results, $file;
- }
- }
- }
-
- if ( $all ) {
- return @results;
- } else {
- return undef;
- }
-}
-
-sub where {
- # force wantarray
- my @res = which($_[0]);
- return @res;
-}
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-File::Which - Portable implementation of the `which' utility
-
-=head1 SYNOPSIS
-
- use File::Which; # exports which()
- use File::Which qw(which where); # exports which() and where()
-
- my $exe_path = which('perldoc');
-
- my @paths = where('perl');
- - Or -
- my @paths = which('perl'); # an array forces search for all of them
-
-=head1 DESCRIPTION
-
-C<File::Which> was created to be able to get the paths to executable programs
-on systems under which the `which' program wasn't implemented in the shell.
-
-C<File::Which> searches the directories of the user's C<PATH> (as returned by
-C<File::Spec-E<gt>path()>), looking for executable files having the name
-specified as a parameter to C<which()>. Under Win32 systems, which do not have a
-notion of directly executable files, but uses special extensions such as C<.exe>
-and C<.bat> to identify them, C<File::Which> takes extra steps to assure that
-you will find the correct file (so for example, you might be searching for
-C<perl>, it'll try F<perl.exe>, F<perl.bat>, etc.)
-
-=head1 Steps Used on Win32, DOS, OS2 and VMS
-
-=head2 Windows NT
-
-Windows NT has a special environment variable called C<PATHEXT>, which is used
-by the shell to look for executable files. Usually, it will contain a list in
-the form C<.EXE;.BAT;.COM;.JS;.VBS> etc. If C<File::Which> finds such an
-environment variable, it parses the list and uses it as the different
-extensions.
-
-=head2 Windows 9x and other ancient Win/DOS/OS2
-
-This set of operating systems don't have the C<PATHEXT> variable, and usually
-you will find executable files there with the extensions C<.exe>, C<.bat> and
-(less likely) C<.com>. C<File::Which> uses this hardcoded list if it's running
-under Win32 but does not find a C<PATHEXT> variable.
-
-=head2 VMS
-
-Same case as Windows 9x: uses C<.exe> and C<.com> (in that order).
-
-=head1 Functions
-
-=head2 which($short_exe_name)
-
-Exported by default.
-
-C<$short_exe_name> is the name used in the shell to call the program (for
-example, C<perl>).
-
-If it finds an executable with the name you specified, C<which()> will return
-the absolute path leading to this executable (for example, F</usr/bin/perl> or
-F<C:\Perl\Bin\perl.exe>).
-
-If it does I<not> find the executable, it returns C<undef>.
-
-If C<which()> is called in list context, it will return I<all> the
-matches.
-
-=head2 where($short_exe_name)
-
-Not exported by default.
-
-Same as C<which($short_exe_name)> in array context. Same as the
-C<`where'> utility, will return an array containing all the path names
-matching C<$short_exe_name>.
-
-=head1 BUGS AND CAVEATS
-
-Not tested on VMS or MacOS, although there is platform specific code
-for those. Anyone who haves a second would be very kind to send me a
-report of how it went.
-
-File::Spec adds the current directory to the front of PATH if on
-Win32, VMS or MacOS. I have no knowledge of those so don't know if the
-current directory is searced first or not. Could someone please tell
-me?
-
-=head1 SUPPORT
-
-Bugs should be reported via the CPAN bug tracker at
-
-L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Which>
-
-For other issues, contact the maintainer.
-
-=head1 AUTHOR
-
-Adam Kennedy E<lt>adamk@cpan.orgE<gt>
-
-Per Einar Ellefsen E<lt>pereinar@cpan.orgE<gt>
-
-Originated in F<modperl-2.0/lib/Apache/Build.pm>. Changed for use in DocSet
-(for the mod_perl site) and Win32-awareness by me, with slight modifications
-by Stas Bekman, then extracted to create C<File::Which>.
-
-Version 0.04 had some significant platform-related changes, taken from
-the Perl Power Tools C<`which'> implementation by Abigail with
-enhancements from Peter Prymmer. See
-L<http://www.perl.com/language/ppt/src/which/index.html> for more
-information.
-
-=head1 COPYRIGHT
-
-Copyright 2002 Per Einar Ellefsen.
-
-Some parts copyright 2009 Adam Kennedy.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<File::Spec>, L<which(1)>, Perl Power Tools:
-L<http://www.perl.com/language/ppt/index.html>.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/File/stat.pm b/Master/tlpkg/tlperl/lib/File/stat.pm
index bdf3aad52a2..69cc44af1d9 100644
--- a/Master/tlpkg/tlperl/lib/File/stat.pm
+++ b/Master/tlpkg/tlperl/lib/File/stat.pm
@@ -10,7 +10,7 @@ BEGIN { *warnif = \&warnings::warnif }
our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-our $VERSION = '1.02';
+our $VERSION = '1.05';
my @fields;
BEGIN {
@@ -45,9 +45,6 @@ BEGIN {
# from doio.c
sub _ingroup {
-
- $^O eq "MacOS" and return 1;
-
my ($gid, $eff) = @_;
# I am assuming that since VMS doesn't have getgroups(2), $) will
@@ -87,7 +84,9 @@ else {
my ($s, $mode, $eff) = @_;
my $uid = $eff ? $> : $<;
- $^O ne "VMS" and $uid == 0 and return 1;
+ # If we're root on unix and we are not testing for executable
+ # status, then all file tests are true.
+ $^O ne "VMS" and $uid == 0 and !($mode & 0111) and return 1;
my ($stmode, $stuid, $stgid) = @$s[2,4,5];
diff --git a/Master/tlpkg/tlperl/lib/Filter/Simple.pm b/Master/tlpkg/tlperl/lib/Filter/Simple.pm
index 135a75dc6fb..2edd798adf3 100644
--- a/Master/tlpkg/tlperl/lib/Filter/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Filter/Simple.pm
@@ -4,7 +4,7 @@ use Text::Balanced ':ALL';
use vars qw{ $VERSION @EXPORT };
-$VERSION = '0.84';
+$VERSION = '0.86';
use Filter::Util::Call;
use Carp;
@@ -609,7 +609,7 @@ with a final debugging pass that prints the resulting source code:
=head2 Filtering only the code parts of source code
-
+
Most source code ceases to be grammatically correct when it is broken up
into the pieces between string literals and regexes. So the C<'code'>
and C<'code_no_comments'> component filter behave slightly differently
@@ -702,7 +702,7 @@ to install the filter:
use Filter::Simple;
FILTER { s/(\w+)/\U$1/ };
-
+
that will almost never be a problem, but if you install a filtering
subroutine by passing it directly to the C<use Filter::Simple>
statement:
diff --git a/Master/tlpkg/tlperl/lib/HTML/Entities.pm b/Master/tlpkg/tlperl/lib/HTML/Entities.pm
index 9cba0c896ad..ecd8e0d31fa 100644
--- a/Master/tlpkg/tlperl/lib/HTML/Entities.pm
+++ b/Master/tlpkg/tlperl/lib/HTML/Entities.pm
@@ -34,9 +34,7 @@ character entities. The module provides the following functions:
=item decode_entities( $string, ... )
This routine replaces HTML entities found in the $string with the
-corresponding Unicode character. Under perl 5.6 and earlier only
-characters in the Latin-1 range are replaced. Unrecognized
-entities are left alone.
+corresponding Unicode character. Unrecognized entities are left alone.
If multiple strings are provided as argument they are each decoded
separately and the same number of strings are returned.
@@ -148,7 +146,7 @@ require Exporter;
@EXPORT = qw(encode_entities decode_entities _decode_entities);
@EXPORT_OK = qw(%entity2char %char2entity encode_entities_numeric);
-$VERSION = "3.68";
+$VERSION = "3.69";
sub Version { $VERSION; }
require HTML::Parser; # for fast XS implemented decode_entities
diff --git a/Master/tlpkg/tlperl/lib/HTML/Form.pm b/Master/tlpkg/tlperl/lib/HTML/Form.pm
deleted file mode 100644
index bbbd7771716..00000000000
--- a/Master/tlpkg/tlperl/lib/HTML/Form.pm
+++ /dev/null
@@ -1,1551 +0,0 @@
-package HTML::Form;
-
-use strict;
-use URI;
-use Carp ();
-
-use vars qw($VERSION $Encode_available);
-$VERSION = "5.829";
-
-eval { require Encode };
-$Encode_available = !$@;
-
-my %form_tags = map {$_ => 1} qw(input textarea button select option);
-
-my %type2class = (
- text => "TextInput",
- password => "TextInput",
- hidden => "TextInput",
- textarea => "TextInput",
-
- "reset" => "IgnoreInput",
-
- radio => "ListInput",
- checkbox => "ListInput",
- option => "ListInput",
-
- button => "SubmitInput",
- submit => "SubmitInput",
- image => "ImageInput",
- file => "FileInput",
-
- keygen => "KeygenInput",
-);
-
-=head1 NAME
-
-HTML::Form - Class that represents an HTML form element
-
-=head1 SYNOPSIS
-
- use HTML::Form;
- $form = HTML::Form->parse($html, $base_uri);
- $form->value(query => "Perl");
-
- use LWP::UserAgent;
- $ua = LWP::UserAgent->new;
- $response = $ua->request($form->click);
-
-=head1 DESCRIPTION
-
-Objects of the C<HTML::Form> class represents a single HTML
-C<E<lt>formE<gt> ... E<lt>/formE<gt>> instance. A form consists of a
-sequence of inputs that usually have names, and which can take on
-various values. The state of a form can be tweaked and it can then be
-asked to provide C<HTTP::Request> objects that can be passed to the
-request() method of C<LWP::UserAgent>.
-
-The following methods are available:
-
-=over 4
-
-=item @forms = HTML::Form->parse( $html_document, $base_uri )
-
-=item @forms = HTML::Form->parse( $html_document, base => $base_uri, %opt )
-
-=item @forms = HTML::Form->parse( $response, %opt )
-
-The parse() class method will parse an HTML document and build up
-C<HTML::Form> objects for each <form> element found. If called in scalar
-context only returns the first <form>. Returns an empty list if there
-are no forms to be found.
-
-The required arguments is the HTML document to parse ($html_document) and the
-URI used to retrieve the document ($base_uri). The base URI is needed to resolve
-relative action URIs. The provided HTML document should be a Unicode string
-(or US-ASCII).
-
-By default HTML::Form assumes that the original document was UTF-8 encoded and
-thus encode forms that don't specify an explict I<accept-charset> as UTF-8.
-The charset assumed can be overridden by providing the C<charset> option to
-parse(). It's a good idea to be explict about this parameter as well, thus
-the recommended simplest invocation becomes:
-
- my @forms = HTML::Form->parse(
- Encode::decode($encoding, $html_document_bytes),
- base => $base_uri,
- charset => $encoding,
- );
-
-If the document was retrieved with LWP then the response object provide methods
-to obtain a proper value for C<base> and C<charset>:
-
- my $ua = LWP::UserAgent->new;
- my $response = $ua->get("http://www.example.com/form.html");
- my @forms = HTML::Form->parse($response->decoded_content,
- base => $response->base,
- charset => $response->content_charset,
- );
-
-In fact, the parse() method can parse from an C<HTTP::Response> object
-directly, so the example above can be more conveniently written as:
-
- my $ua = LWP::UserAgent->new;
- my $response = $ua->get("http://www.example.com/form.html");
- my @forms = HTML::Form->parse($response);
-
-Note that any object that implements a decoded_content(), base() and
-content_charset() method with similar behaviour as C<HTTP::Response> will do.
-
-Additional options might be passed in to control how the parse method
-behaves. The following are all the options currently recognized:
-
-=over
-
-=item C<< base => $uri >>
-
-This is the URI used to retrive the original document. This option is not optional ;-)
-
-=item C<< charset => $str >>
-
-Specify what charset the original document was encoded in. This is used as
-the default for accept_charset. If not provided this defaults to "UTF-8".
-
-=item C<< verbose => $bool >>
-
-Warn (print messages to STDERR) about any bad HTML form constructs found.
-You can trap these with $SIG{__WARN__}.
-
-=item C<< strict => $bool >>
-
-Initialize any form objects with the given strict attribute.
-
-=back
-
-=cut
-
-sub parse
-{
- my $class = shift;
- my $html = shift;
- unshift(@_, "base") if @_ == 1;
- my %opt = @_;
-
- require HTML::TokeParser;
- my $p = HTML::TokeParser->new(ref($html) ? $html->decoded_content(ref => 1) : \$html);
- die "Failed to create HTML::TokeParser object" unless $p;
-
- my $base_uri = delete $opt{base};
- my $charset = delete $opt{charset};
- my $strict = delete $opt{strict};
- my $verbose = delete $opt{verbose};
-
- if ($^W) {
- Carp::carp("Unrecognized option $_ in HTML::Form->parse") for sort keys %opt;
- }
-
- unless (defined $base_uri) {
- if (ref($html)) {
- $base_uri = $html->base;
- }
- else {
- Carp::croak("HTML::Form::parse: No \$base_uri provided");
- }
- }
- unless (defined $charset) {
- if (ref($html) and $html->can("content_charset")) {
- $charset = $html->content_charset;
- }
- unless ($charset) {
- $charset = "UTF-8";
- }
- }
-
- my @forms;
- my $f; # current form
-
- my %openselect; # index to the open instance of a select
-
- while (my $t = $p->get_tag) {
- my($tag,$attr) = @$t;
- if ($tag eq "form") {
- my $action = delete $attr->{'action'};
- $action = "" unless defined $action;
- $action = URI->new_abs($action, $base_uri);
- $f = $class->new($attr->{'method'},
- $action,
- $attr->{'enctype'});
- $f->accept_charset($attr->{'accept-charset'}) if $attr->{'accept-charset'};
- $f->{default_charset} = $charset;
- $f->{attr} = $attr;
- $f->strict(1) if $strict;
- %openselect = ();
- push(@forms, $f);
- my(%labels, $current_label);
- while (my $t = $p->get_tag) {
- my($tag, $attr) = @$t;
- last if $tag eq "/form";
-
- # if we are inside a label tag, then keep
- # appending any text to the current label
- if(defined $current_label) {
- $current_label = join " ",
- grep { defined and length }
- $current_label,
- $p->get_phrase;
- }
-
- if ($tag eq "input") {
- $attr->{value_name} =
- exists $attr->{id} && exists $labels{$attr->{id}} ? $labels{$attr->{id}} :
- defined $current_label ? $current_label :
- $p->get_phrase;
- }
-
- if ($tag eq "label") {
- $current_label = $p->get_phrase;
- $labels{ $attr->{for} } = $current_label
- if exists $attr->{for};
- }
- elsif ($tag eq "/label") {
- $current_label = undef;
- }
- elsif ($tag eq "input") {
- my $type = delete $attr->{type} || "text";
- $f->push_input($type, $attr, $verbose);
- }
- elsif ($tag eq "button") {
- my $type = delete $attr->{type} || "submit";
- $f->push_input($type, $attr, $verbose);
- }
- elsif ($tag eq "textarea") {
- $attr->{textarea_value} = $attr->{value}
- if exists $attr->{value};
- my $text = $p->get_text("/textarea");
- $attr->{value} = $text;
- $f->push_input("textarea", $attr, $verbose);
- }
- elsif ($tag eq "select") {
- # rename attributes reserved to come for the option tag
- for ("value", "value_name") {
- $attr->{"select_$_"} = delete $attr->{$_}
- if exists $attr->{$_};
- }
- # count this new select option separately
- my $name = $attr->{name};
- $name = "" unless defined $name;
- $openselect{$name}++;
-
- while ($t = $p->get_tag) {
- my $tag = shift @$t;
- last if $tag eq "/select";
- next if $tag =~ m,/?optgroup,;
- next if $tag eq "/option";
- if ($tag eq "option") {
- my %a = %{$t->[0]};
- # rename keys so they don't clash with %attr
- for (keys %a) {
- next if $_ eq "value";
- $a{"option_$_"} = delete $a{$_};
- }
- while (my($k,$v) = each %$attr) {
- $a{$k} = $v;
- }
- $a{value_name} = $p->get_trimmed_text;
- $a{value} = delete $a{value_name}
- unless defined $a{value};
- $a{idx} = $openselect{$name};
- $f->push_input("option", \%a, $verbose);
- }
- else {
- warn("Bad <select> tag '$tag' in $base_uri\n") if $verbose;
- if ($tag eq "/form" ||
- $tag eq "input" ||
- $tag eq "textarea" ||
- $tag eq "select" ||
- $tag eq "keygen")
- {
- # MSIE implictly terminate the <select> here, so we
- # try to do the same. Actually the MSIE behaviour
- # appears really strange: <input> and <textarea>
- # do implictly close, but not <select>, <keygen> or
- # </form>.
- my $type = ($tag =~ s,^/,,) ? "E" : "S";
- $p->unget_token([$type, $tag, @$t]);
- last;
- }
- }
- }
- }
- elsif ($tag eq "keygen") {
- $f->push_input("keygen", $attr, $verbose);
- }
- }
- }
- elsif ($form_tags{$tag}) {
- warn("<$tag> outside <form> in $base_uri\n") if $verbose;
- }
- }
- for (@forms) {
- $_->fixup;
- }
-
- wantarray ? @forms : $forms[0];
-}
-
-sub new {
- my $class = shift;
- my $self = bless {}, $class;
- $self->{method} = uc(shift || "GET");
- $self->{action} = shift || Carp::croak("No action defined");
- $self->{enctype} = lc(shift || "application/x-www-form-urlencoded");
- $self->{accept_charset} = "UNKNOWN";
- $self->{default_charset} = "UTF-8";
- $self->{inputs} = [@_];
- $self;
-}
-
-
-sub push_input
-{
- my($self, $type, $attr, $verbose) = @_;
- $type = lc $type;
- my $class = $type2class{$type};
- unless ($class) {
- Carp::carp("Unknown input type '$type'") if $verbose;
- $class = "TextInput";
- }
- $class = "HTML::Form::$class";
- my @extra;
- push(@extra, readonly => 1) if $type eq "hidden";
- push(@extra, strict => 1) if $self->{strict};
- if ($type eq "file" && exists $attr->{value}) {
- # it's not safe to trust the value set by the server
- # the user always need to explictly set the names of files to upload
- $attr->{orig_value} = delete $attr->{value};
- }
- delete $attr->{type}; # don't confuse the type argument
- my $input = $class->new(type => $type, %$attr, @extra);
- $input->add_to_form($self);
-}
-
-
-=item $method = $form->method
-
-=item $form->method( $new_method )
-
-This method is gets/sets the I<method> name used for the
-C<HTTP::Request> generated. It is a string like "GET" or "POST".
-
-=item $action = $form->action
-
-=item $form->action( $new_action )
-
-This method gets/sets the URI which we want to apply the request
-I<method> to.
-
-=item $enctype = $form->enctype
-
-=item $form->enctype( $new_enctype )
-
-This method gets/sets the encoding type for the form data. It is a
-string like "application/x-www-form-urlencoded" or "multipart/form-data".
-
-=item $accept = $form->accept_charset
-
-=item $form->accept_charset( $new_accept )
-
-This method gets/sets the list of charset encodings that the server processing
-the form accepts. Current implementation supports only one-element lists.
-Default value is "UNKNOWN" which we interpret as a request to use document
-charset as specified by the 'charset' parameter of the parse() method. To
-encode character strings you should have modern perl with Encode module. On
-older perls the setting of this attribute has no effect.
-
-=cut
-
-BEGIN {
- # Set up some accesor
- for (qw(method action enctype accept_charset)) {
- my $m = $_;
- no strict 'refs';
- *{$m} = sub {
- my $self = shift;
- my $old = $self->{$m};
- $self->{$m} = shift if @_;
- $old;
- };
- }
- *uri = \&action; # alias
-}
-
-=item $value = $form->attr( $name )
-
-=item $form->attr( $name, $new_value )
-
-This method give access to the original HTML attributes of the <form> tag.
-The $name should always be passed in lower case.
-
-Example:
-
- @f = HTML::Form->parse( $html, $foo );
- @f = grep $_->attr("id") eq "foo", @f;
- die "No form named 'foo' found" unless @f;
- $foo = shift @f;
-
-=cut
-
-sub attr {
- my $self = shift;
- my $name = shift;
- return undef unless defined $name;
-
- my $old = $self->{attr}{$name};
- $self->{attr}{$name} = shift if @_;
- return $old;
-}
-
-=item $bool = $form->strict
-
-=item $form->strict( $bool )
-
-Gets/sets the strict attribute of a form. If the strict is turned on
-the methods that change values of the form will croak if you try to
-set illegal values or modify readonly fields. The default is not to be strict.
-
-=cut
-
-sub strict {
- my $self = shift;
- my $old = $self->{strict};
- if (@_) {
- $self->{strict} = shift;
- for my $input (@{$self->{inputs}}) {
- $input->strict($self->{strict});
- }
- }
- return $old;
-}
-
-
-=item @inputs = $form->inputs
-
-This method returns the list of inputs in the form. If called in
-scalar context it returns the number of inputs contained in the form.
-See L</INPUTS> for what methods are available for the input objects
-returned.
-
-=cut
-
-sub inputs
-{
- my $self = shift;
- @{$self->{'inputs'}};
-}
-
-
-=item $input = $form->find_input( $selector )
-
-=item $input = $form->find_input( $selector, $type )
-
-=item $input = $form->find_input( $selector, $type, $index )
-
-This method is used to locate specific inputs within the form. All
-inputs that match the arguments given are returned. In scalar context
-only the first is returned, or C<undef> if none match.
-
-If $selector is specified, then the input's name, id, class attribute must
-match. A selector prefixed with '#' must match the id attribute of the input.
-A selector prefixed with '.' matches the class attribute. A selector prefixed
-with '^' or with no prefix matches the name attribute.
-
-If $type is specified, then the input must have the specified type.
-The following type names are used: "text", "password", "hidden",
-"textarea", "file", "image", "submit", "radio", "checkbox" and "option".
-
-The $index is the sequence number of the input matched where 1 is the
-first. If combined with $name and/or $type then it select the I<n>th
-input with the given name and/or type.
-
-=cut
-
-sub find_input
-{
- my($self, $name, $type, $no) = @_;
- if (wantarray) {
- my @res;
- my $c;
- for (@{$self->{'inputs'}}) {
- next if defined($name) && !$_->selected($name);
- next if $type && $type ne $_->{type};
- $c++;
- next if $no && $no != $c;
- push(@res, $_);
- }
- return @res;
-
- }
- else {
- $no ||= 1;
- for (@{$self->{'inputs'}}) {
- next if defined($name) && !$_->selected($name);
- next if $type && $type ne $_->{type};
- next if --$no;
- return $_;
- }
- return undef;
- }
-}
-
-sub fixup
-{
- my $self = shift;
- for (@{$self->{'inputs'}}) {
- $_->fixup;
- }
-}
-
-
-=item $value = $form->value( $selector )
-
-=item $form->value( $selector, $new_value )
-
-The value() method can be used to get/set the value of some input. If
-strict is enabled and no input has the indicated name, then this method will croak.
-
-If multiple inputs have the same name, only the first one will be
-affected.
-
-The call:
-
- $form->value('foo')
-
-is basically a short-hand for:
-
- $form->find_input('foo')->value;
-
-=cut
-
-sub value
-{
- my $self = shift;
- my $key = shift;
- my $input = $self->find_input($key);
- unless ($input) {
- Carp::croak("No such field '$key'") if $self->{strict};
- return undef unless @_;
- $input = $self->push_input("text", { name => $key, value => "" });
- }
- local $Carp::CarpLevel = 1;
- $input->value(@_);
-}
-
-=item @names = $form->param
-
-=item @values = $form->param( $name )
-
-=item $form->param( $name, $value, ... )
-
-=item $form->param( $name, \@values )
-
-Alternative interface to examining and setting the values of the form.
-
-If called without arguments then it returns the names of all the
-inputs in the form. The names will not repeat even if multiple inputs
-have the same name. In scalar context the number of different names
-is returned.
-
-If called with a single argument then it returns the value or values
-of inputs with the given name. If called in scalar context only the
-first value is returned. If no input exists with the given name, then
-C<undef> is returned.
-
-If called with 2 or more arguments then it will set values of the
-named inputs. This form will croak if no inputs have the given name
-or if any of the values provided does not fit. Values can also be
-provided as a reference to an array. This form will allow unsetting
-all values with the given name as well.
-
-This interface resembles that of the param() function of the CGI
-module.
-
-=cut
-
-sub param {
- my $self = shift;
- if (@_) {
- my $name = shift;
- my @inputs;
- for ($self->inputs) {
- my $n = $_->name;
- next if !defined($n) || $n ne $name;
- push(@inputs, $_);
- }
-
- if (@_) {
- # set
- die "No '$name' parameter exists" unless @inputs;
- my @v = @_;
- @v = @{$v[0]} if @v == 1 && ref($v[0]);
- while (@v) {
- my $v = shift @v;
- my $err;
- for my $i (0 .. @inputs-1) {
- eval {
- $inputs[$i]->value($v);
- };
- unless ($@) {
- undef($err);
- splice(@inputs, $i, 1);
- last;
- }
- $err ||= $@;
- }
- die $err if $err;
- }
-
- # the rest of the input should be cleared
- for (@inputs) {
- $_->value(undef);
- }
- }
- else {
- # get
- my @v;
- for (@inputs) {
- if (defined(my $v = $_->value)) {
- push(@v, $v);
- }
- }
- return wantarray ? @v : $v[0];
- }
- }
- else {
- # list parameter names
- my @n;
- my %seen;
- for ($self->inputs) {
- my $n = $_->name;
- next if !defined($n) || $seen{$n}++;
- push(@n, $n);
- }
- return @n;
- }
-}
-
-
-=item $form->try_others( \&callback )
-
-This method will iterate over all permutations of unvisited enumerated
-values (<select>, <radio>, <checkbox>) and invoke the callback for
-each. The callback is passed the $form as argument. The return value
-from the callback is ignored and the try_others() method itself does
-not return anything.
-
-=cut
-
-sub try_others
-{
- my($self, $cb) = @_;
- my @try;
- for (@{$self->{'inputs'}}) {
- my @not_tried_yet = $_->other_possible_values;
- next unless @not_tried_yet;
- push(@try, [\@not_tried_yet, $_]);
- }
- return unless @try;
- $self->_try($cb, \@try, 0);
-}
-
-sub _try
-{
- my($self, $cb, $try, $i) = @_;
- for (@{$try->[$i][0]}) {
- $try->[$i][1]->value($_);
- &$cb($self);
- $self->_try($cb, $try, $i+1) if $i+1 < @$try;
- }
-}
-
-
-=item $request = $form->make_request
-
-Will return an C<HTTP::Request> object that reflects the current setting
-of the form. You might want to use the click() method instead.
-
-=cut
-
-sub make_request
-{
- my $self = shift;
- my $method = uc $self->{'method'};
- my $uri = $self->{'action'};
- my $enctype = $self->{'enctype'};
- my @form = $self->form;
-
- my $charset = $self->accept_charset eq "UNKNOWN" ? $self->{default_charset} : $self->accept_charset;
- if ($Encode_available) {
- foreach my $fi (@form) {
- $fi = Encode::encode($charset, $fi) unless ref($fi);
- }
- }
-
- if ($method eq "GET") {
- require HTTP::Request;
- $uri = URI->new($uri, "http");
- $uri->query_form(@form);
- return HTTP::Request->new(GET => $uri);
- }
- elsif ($method eq "POST") {
- require HTTP::Request::Common;
- return HTTP::Request::Common::POST($uri, \@form,
- Content_Type => $enctype);
- }
- else {
- Carp::croak("Unknown method '$method'");
- }
-}
-
-
-=item $request = $form->click
-
-=item $request = $form->click( $selector )
-
-=item $request = $form->click( $x, $y )
-
-=item $request = $form->click( $selector, $x, $y )
-
-Will "click" on the first clickable input (which will be of type
-C<submit> or C<image>). The result of clicking is an C<HTTP::Request>
-object that can then be passed to C<LWP::UserAgent> if you want to
-obtain the server response.
-
-If a $selector is specified, we will click on the first clickable input
-matching the selector, and the method will croak if no matching clickable
-input is found. If $selector is I<not> specified, then it
-is ok if the form contains no clickable inputs. In this case the
-click() method returns the same request as the make_request() method
-would do. See description of the find_input() method above for how
-the $selector is specified.
-
-If there are multiple clickable inputs with the same name, then there
-is no way to get the click() method of the C<HTML::Form> to click on
-any but the first. If you need this you would have to locate the
-input with find_input() and invoke the click() method on the given
-input yourself.
-
-A click coordinate pair can also be provided, but this only makes a
-difference if you clicked on an image. The default coordinate is
-(1,1). The upper-left corner of the image is (0,0), but some badly
-coded CGI scripts are known to not recognize this. Therefore (1,1) was
-selected as a safer default.
-
-=cut
-
-sub click
-{
- my $self = shift;
- my $name;
- $name = shift if (@_ % 2) == 1; # odd number of arguments
-
- # try to find first submit button to activate
- for (@{$self->{'inputs'}}) {
- next unless $_->can("click");
- next if $name && !$_->selected($name);
- next if $_->disabled;
- return $_->click($self, @_);
- }
- Carp::croak("No clickable input with name $name") if $name;
- $self->make_request;
-}
-
-
-=item @kw = $form->form
-
-Returns the current setting as a sequence of key/value pairs. Note
-that keys might be repeated, which means that some values might be
-lost if the return values are assigned to a hash.
-
-In scalar context this method returns the number of key/value pairs
-generated.
-
-=cut
-
-sub form
-{
- my $self = shift;
- map { $_->form_name_value($self) } @{$self->{'inputs'}};
-}
-
-
-=item $form->dump
-
-Returns a textual representation of current state of the form. Mainly
-useful for debugging. If called in void context, then the dump is
-printed on STDERR.
-
-=cut
-
-sub dump
-{
- my $self = shift;
- my $method = $self->{'method'};
- my $uri = $self->{'action'};
- my $enctype = $self->{'enctype'};
- my $dump = "$method $uri";
- $dump .= " ($enctype)"
- if $enctype ne "application/x-www-form-urlencoded";
- $dump .= " [$self->{attr}{name}]"
- if exists $self->{attr}{name};
- $dump .= "\n";
- for ($self->inputs) {
- $dump .= " " . $_->dump . "\n";
- }
- print STDERR $dump unless defined wantarray;
- $dump;
-}
-
-
-#---------------------------------------------------
-package HTML::Form::Input;
-
-=back
-
-=head1 INPUTS
-
-An C<HTML::Form> objects contains a sequence of I<inputs>. References to
-the inputs can be obtained with the $form->inputs or $form->find_input
-methods.
-
-Note that there is I<not> a one-to-one correspondence between input
-I<objects> and E<lt>inputE<gt> I<elements> in the HTML document. An
-input object basically represents a name/value pair, so when multiple
-HTML elements contribute to the same name/value pair in the submitted
-form they are combined.
-
-The input elements that are mapped one-to-one are "text", "textarea",
-"password", "hidden", "file", "image", "submit" and "checkbox". For
-the "radio" and "option" inputs the story is not as simple: All
-E<lt>input type="radio"E<gt> elements with the same name will
-contribute to the same input radio object. The number of radio input
-objects will be the same as the number of distinct names used for the
-E<lt>input type="radio"E<gt> elements. For a E<lt>selectE<gt> element
-without the C<multiple> attribute there will be one input object of
-type of "option". For a E<lt>select multipleE<gt> element there will
-be one input object for each contained E<lt>optionE<gt> element. Each
-one of these option objects will have the same name.
-
-The following methods are available for the I<input> objects:
-
-=over 4
-
-=cut
-
-sub new
-{
- my $class = shift;
- my $self = bless {@_}, $class;
- $self;
-}
-
-sub add_to_form
-{
- my($self, $form) = @_;
- push(@{$form->{'inputs'}}, $self);
- $self;
-}
-
-sub strict {
- my $self = shift;
- my $old = $self->{strict};
- if (@_) {
- $self->{strict} = shift;
- }
- $old;
-}
-
-sub fixup {}
-
-
-=item $input->type
-
-Returns the type of this input. The type is one of the following
-strings: "text", "password", "hidden", "textarea", "file", "image", "submit",
-"radio", "checkbox" or "option".
-
-=cut
-
-sub type
-{
- shift->{type};
-}
-
-=item $name = $input->name
-
-=item $input->name( $new_name )
-
-This method can be used to get/set the current name of the input.
-
-=item $input->id
-
-=item $input->class
-
-These methods can be used to get/set the current id or class attribute for the input.
-
-=item $input->selected( $selector )
-
-Returns TRUE if the given selector matched the input. See the description of
-the find_input() method above for a description of the selector syntax.
-
-=item $value = $input->value
-
-=item $input->value( $new_value )
-
-This method can be used to get/set the current value of an
-input.
-
-If strict is enabled and the input only can take an enumerated list of values,
-then it is an error to try to set it to something else and the method will
-croak if you try.
-
-You will also be able to set the value of read-only inputs, but a
-warning will be generated if running under C<perl -w>.
-
-=cut
-
-sub name
-{
- my $self = shift;
- my $old = $self->{name};
- $self->{name} = shift if @_;
- $old;
-}
-
-sub id
-{
- my $self = shift;
- my $old = $self->{id};
- $self->{id} = shift if @_;
- $old;
-}
-
-sub class
-{
- my $self = shift;
- my $old = $self->{class};
- $self->{class} = shift if @_;
- $old;
-}
-
-sub selected {
- my($self, $sel) = @_;
- return undef unless defined $sel;
- my $attr =
- $sel =~ s/^\^// ? "name" :
- $sel =~ s/^#// ? "id" :
- $sel =~ s/^\.// ? "class" :
- "name";
- return 0 unless defined $self->{$attr};
- return $self->{$attr} eq $sel;
-}
-
-sub value
-{
- my $self = shift;
- my $old = $self->{value};
- $self->{value} = shift if @_;
- $old;
-}
-
-=item $input->possible_values
-
-Returns a list of all values that an input can take. For inputs that
-do not have discrete values, this returns an empty list.
-
-=cut
-
-sub possible_values
-{
- return;
-}
-
-=item $input->other_possible_values
-
-Returns a list of all values not tried yet.
-
-=cut
-
-sub other_possible_values
-{
- return;
-}
-
-=item $input->value_names
-
-For some inputs the values can have names that are different from the
-values themselves. The number of names returned by this method will
-match the number of values reported by $input->possible_values.
-
-When setting values using the value() method it is also possible to
-use the value names in place of the value itself.
-
-=cut
-
-sub value_names {
- return
-}
-
-=item $bool = $input->readonly
-
-=item $input->readonly( $bool )
-
-This method is used to get/set the value of the readonly attribute.
-You are allowed to modify the value of readonly inputs, but setting
-the value will generate some noise when warnings are enabled. Hidden
-fields always start out readonly.
-
-=cut
-
-sub readonly {
- my $self = shift;
- my $old = $self->{readonly};
- $self->{readonly} = shift if @_;
- $old;
-}
-
-=item $bool = $input->disabled
-
-=item $input->disabled( $bool )
-
-This method is used to get/set the value of the disabled attribute.
-Disabled inputs do not contribute any key/value pairs for the form
-value.
-
-=cut
-
-sub disabled {
- my $self = shift;
- my $old = $self->{disabled};
- $self->{disabled} = shift if @_;
- $old;
-}
-
-=item $input->form_name_value
-
-Returns a (possible empty) list of key/value pairs that should be
-incorporated in the form value from this input.
-
-=cut
-
-sub form_name_value
-{
- my $self = shift;
- my $name = $self->{'name'};
- return unless defined $name;
- return if $self->disabled;
- my $value = $self->value;
- return unless defined $value;
- return ($name => $value);
-}
-
-sub dump
-{
- my $self = shift;
- my $name = $self->name;
- $name = "<NONAME>" unless defined $name;
- my $value = $self->value;
- $value = "<UNDEF>" unless defined $value;
- my $dump = "$name=$value";
-
- my $type = $self->type;
-
- $type .= " disabled" if $self->disabled;
- $type .= " readonly" if $self->readonly;
- return sprintf "%-30s %s", $dump, "($type)" unless $self->{menu};
-
- my @menu;
- my $i = 0;
- for (@{$self->{menu}}) {
- my $opt = $_->{value};
- $opt = "<UNDEF>" unless defined $opt;
- $opt .= "/$_->{name}"
- if defined $_->{name} && length $_->{name} && $_->{name} ne $opt;
- substr($opt,0,0) = "-" if $_->{disabled};
- if (exists $self->{current} && $self->{current} == $i) {
- substr($opt,0,0) = "!" unless $_->{seen};
- substr($opt,0,0) = "*";
- }
- else {
- substr($opt,0,0) = ":" if $_->{seen};
- }
- push(@menu, $opt);
- $i++;
- }
-
- return sprintf "%-30s %-10s %s", $dump, "($type)", "[" . join("|", @menu) . "]";
-}
-
-
-#---------------------------------------------------
-package HTML::Form::TextInput;
-@HTML::Form::TextInput::ISA=qw(HTML::Form::Input);
-
-#input/text
-#input/password
-#input/hidden
-#textarea
-
-sub value
-{
- my $self = shift;
- my $old = $self->{value};
- $old = "" unless defined $old;
- if (@_) {
- Carp::croak("Input '$self->{name}' is readonly")
- if $self->{strict} && $self->{readonly};
- my $new = shift;
- my $n = exists $self->{maxlength} ? $self->{maxlength} : undef;
- Carp::croak("Input '$self->{name}' has maxlength '$n'")
- if $self->{strict} && defined($n) && defined($new) && length($new) > $n;
- $self->{value} = $new;
- }
- $old;
-}
-
-#---------------------------------------------------
-package HTML::Form::IgnoreInput;
-@HTML::Form::IgnoreInput::ISA=qw(HTML::Form::Input);
-
-#input/button
-#input/reset
-
-sub value { return }
-
-
-#---------------------------------------------------
-package HTML::Form::ListInput;
-@HTML::Form::ListInput::ISA=qw(HTML::Form::Input);
-
-#select/option (val1, val2, ....)
-#input/radio (undef, val1, val2,...)
-#input/checkbox (undef, value)
-#select-multiple/option (undef, value)
-
-sub new
-{
- my $class = shift;
- my $self = $class->SUPER::new(@_);
-
- my $value = delete $self->{value};
- my $value_name = delete $self->{value_name};
- my $type = $self->{type};
-
- if ($type eq "checkbox") {
- $value = "on" unless defined $value;
- $self->{menu} = [
- { value => undef, name => "off", },
- { value => $value, name => $value_name, },
- ];
- $self->{current} = (delete $self->{checked}) ? 1 : 0;
- ;
- }
- else {
- $self->{option_disabled}++
- if $type eq "radio" && delete $self->{disabled};
- $self->{menu} = [
- {value => $value, name => $value_name},
- ];
- my $checked = $self->{checked} || $self->{option_selected};
- delete $self->{checked};
- delete $self->{option_selected};
- if (exists $self->{multiple}) {
- unshift(@{$self->{menu}}, { value => undef, name => "off"});
- $self->{current} = $checked ? 1 : 0;
- }
- else {
- $self->{current} = 0 if $checked;
- }
- }
- $self;
-}
-
-sub add_to_form
-{
- my($self, $form) = @_;
- my $type = $self->type;
-
- return $self->SUPER::add_to_form($form)
- if $type eq "checkbox";
-
- if ($type eq "option" && exists $self->{multiple}) {
- $self->{disabled} ||= delete $self->{option_disabled};
- return $self->SUPER::add_to_form($form);
- }
-
- die "Assert" if @{$self->{menu}} != 1;
- my $m = $self->{menu}[0];
- $m->{disabled}++ if delete $self->{option_disabled};
-
- my $prev = $form->find_input($self->{name}, $self->{type}, $self->{idx});
- return $self->SUPER::add_to_form($form) unless $prev;
-
- # merge menues
- $prev->{current} = @{$prev->{menu}} if exists $self->{current};
- push(@{$prev->{menu}}, $m);
-}
-
-sub fixup
-{
- my $self = shift;
- if ($self->{type} eq "option" && !(exists $self->{current})) {
- $self->{current} = 0;
- }
- $self->{menu}[$self->{current}]{seen}++ if exists $self->{current};
-}
-
-sub disabled
-{
- my $self = shift;
- my $type = $self->type;
-
- my $old = $self->{disabled} || _menu_all_disabled(@{$self->{menu}});
- if (@_) {
- my $v = shift;
- $self->{disabled} = $v;
- for (@{$self->{menu}}) {
- $_->{disabled} = $v;
- }
- }
- return $old;
-}
-
-sub _menu_all_disabled {
- for (@_) {
- return 0 unless $_->{disabled};
- }
- return 1;
-}
-
-sub value
-{
- my $self = shift;
- my $old;
- $old = $self->{menu}[$self->{current}]{value} if exists $self->{current};
- $old = $self->{value} if exists $self->{value};
- if (@_) {
- my $i = 0;
- my $val = shift;
- my $cur;
- my $disabled;
- for (@{$self->{menu}}) {
- if ((defined($val) && defined($_->{value}) && $val eq $_->{value}) ||
- (!defined($val) && !defined($_->{value}))
- )
- {
- $cur = $i;
- $disabled = $_->{disabled};
- last unless $disabled;
- }
- $i++;
- }
- if (!(defined $cur) || $disabled) {
- if (defined $val) {
- # try to search among the alternative names as well
- my $i = 0;
- my $cur_ignorecase;
- my $lc_val = lc($val);
- for (@{$self->{menu}}) {
- if (defined $_->{name}) {
- if ($val eq $_->{name}) {
- $disabled = $_->{disabled};
- $cur = $i;
- last unless $disabled;
- }
- if (!defined($cur_ignorecase) && $lc_val eq lc($_->{name})) {
- $cur_ignorecase = $i;
- }
- }
- $i++;
- }
- unless (defined $cur) {
- $cur = $cur_ignorecase;
- if (defined $cur) {
- $disabled = $self->{menu}[$cur]{disabled};
- }
- elsif ($self->{strict}) {
- my $n = $self->name;
- Carp::croak("Illegal value '$val' for field '$n'");
- }
- }
- }
- elsif ($self->{strict}) {
- my $n = $self->name;
- Carp::croak("The '$n' field can't be unchecked");
- }
- }
- if ($self->{strict} && $disabled) {
- my $n = $self->name;
- Carp::croak("The value '$val' has been disabled for field '$n'");
- }
- if (defined $cur) {
- $self->{current} = $cur;
- $self->{menu}[$cur]{seen}++;
- delete $self->{value};
- }
- else {
- $self->{value} = $val;
- delete $self->{current};
- }
- }
- $old;
-}
-
-=item $input->check
-
-Some input types represent toggles that can be turned on/off. This
-includes "checkbox" and "option" inputs. Calling this method turns
-this input on without having to know the value name. If the input is
-already on, then nothing happens.
-
-This has the same effect as:
-
- $input->value($input->possible_values[1]);
-
-The input can be turned off with:
-
- $input->value(undef);
-
-=cut
-
-sub check
-{
- my $self = shift;
- $self->{current} = 1;
- $self->{menu}[1]{seen}++;
-}
-
-sub possible_values
-{
- my $self = shift;
- map $_->{value}, grep !$_->{disabled}, @{$self->{menu}};
-}
-
-sub other_possible_values
-{
- my $self = shift;
- map $_->{value}, grep !$_->{seen} && !$_->{disabled}, @{$self->{menu}};
-}
-
-sub value_names {
- my $self = shift;
- my @names;
- for (@{$self->{menu}}) {
- my $n = $_->{name};
- $n = $_->{value} unless defined $n;
- push(@names, $n);
- }
- @names;
-}
-
-
-#---------------------------------------------------
-package HTML::Form::SubmitInput;
-@HTML::Form::SubmitInput::ISA=qw(HTML::Form::Input);
-
-#input/image
-#input/submit
-
-=item $input->click($form, $x, $y)
-
-Some input types (currently "submit" buttons and "images") can be
-clicked to submit the form. The click() method returns the
-corresponding C<HTTP::Request> object.
-
-=cut
-
-sub click
-{
- my($self,$form,$x,$y) = @_;
- for ($x, $y) { $_ = 1 unless defined; }
- local($self->{clicked}) = [$x,$y];
- return $form->make_request;
-}
-
-sub form_name_value
-{
- my $self = shift;
- return unless $self->{clicked};
- return $self->SUPER::form_name_value(@_);
-}
-
-
-#---------------------------------------------------
-package HTML::Form::ImageInput;
-@HTML::Form::ImageInput::ISA=qw(HTML::Form::SubmitInput);
-
-sub form_name_value
-{
- my $self = shift;
- my $clicked = $self->{clicked};
- return unless $clicked;
- return if $self->{disabled};
- my $name = $self->{name};
- $name = (defined($name) && length($name)) ? "$name." : "";
- return ("${name}x" => $clicked->[0],
- "${name}y" => $clicked->[1]
- );
-}
-
-#---------------------------------------------------
-package HTML::Form::FileInput;
-@HTML::Form::FileInput::ISA=qw(HTML::Form::TextInput);
-
-=back
-
-If the input is of type C<file>, then it has these additional methods:
-
-=over 4
-
-=item $input->file
-
-This is just an alias for the value() method. It sets the filename to
-read data from.
-
-For security reasons this field will never be initialized from the parsing
-of a form. This prevents the server from triggering stealth uploads of
-arbitrary files from the client machine.
-
-=cut
-
-sub file {
- my $self = shift;
- $self->value(@_);
-}
-
-=item $filename = $input->filename
-
-=item $input->filename( $new_filename )
-
-This get/sets the filename reported to the server during file upload.
-This attribute defaults to the value reported by the file() method.
-
-=cut
-
-sub filename {
- my $self = shift;
- my $old = $self->{filename};
- $self->{filename} = shift if @_;
- $old = $self->file unless defined $old;
- $old;
-}
-
-=item $content = $input->content
-
-=item $input->content( $new_content )
-
-This get/sets the file content provided to the server during file
-upload. This method can be used if you do not want the content to be
-read from an actual file.
-
-=cut
-
-sub content {
- my $self = shift;
- my $old = $self->{content};
- $self->{content} = shift if @_;
- $old;
-}
-
-=item @headers = $input->headers
-
-=item input->headers($key => $value, .... )
-
-This get/set additional header fields describing the file uploaded.
-This can for instance be used to set the C<Content-Type> reported for
-the file.
-
-=cut
-
-sub headers {
- my $self = shift;
- my $old = $self->{headers} || [];
- $self->{headers} = [@_] if @_;
- @$old;
-}
-
-sub form_name_value {
- my($self, $form) = @_;
- return $self->SUPER::form_name_value($form)
- if $form->method ne "POST" ||
- $form->enctype ne "multipart/form-data";
-
- my $name = $self->name;
- return unless defined $name;
- return if $self->{disabled};
-
- my $file = $self->file;
- my $filename = $self->filename;
- my @headers = $self->headers;
- my $content = $self->content;
- if (defined $content) {
- $filename = $file unless defined $filename;
- $file = undef;
- unshift(@headers, "Content" => $content);
- }
- elsif (!defined($file) || length($file) == 0) {
- return;
- }
-
- # legacy (this used to be the way to do it)
- if (ref($file) eq "ARRAY") {
- my $f = shift @$file;
- my $fn = shift @$file;
- push(@headers, @$file);
- $file = $f;
- $filename = $fn unless defined $filename;
- }
-
- return ($name => [$file, $filename, @headers]);
-}
-
-package HTML::Form::KeygenInput;
-@HTML::Form::KeygenInput::ISA=qw(HTML::Form::Input);
-
-sub challenge {
- my $self = shift;
- return $self->{challenge};
-}
-
-sub keytype {
- my $self = shift;
- return lc($self->{keytype} || 'rsa');
-}
-
-1;
-
-__END__
-
-=back
-
-=head1 SEE ALSO
-
-L<LWP>, L<LWP::UserAgent>, L<HTML::Parser>
-
-=head1 COPYRIGHT
-
-Copyright 1998-2008 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/HTML/HeadParser.pm b/Master/tlpkg/tlperl/lib/HTML/HeadParser.pm
index af3da842aed..fe6916ec494 100644
--- a/Master/tlpkg/tlperl/lib/HTML/HeadParser.pm
+++ b/Master/tlpkg/tlperl/lib/HTML/HeadParser.pm
@@ -87,7 +87,7 @@ use HTML::Entities ();
use strict;
use vars qw($VERSION $DEBUG);
#$DEBUG = 1;
-$VERSION = "3.66";
+$VERSION = "3.69";
=item $hp = HTML::HeadParser->new
@@ -207,7 +207,8 @@ sub start
$self->{'header'}->push_header($key => $attr->{content});
} elsif ($tag eq 'base') {
return unless exists $attr->{href};
- $self->{'header'}->push_header('Content-Base' => $attr->{href});
+ (my $base = $attr->{href}) =~ s/^\s+//; $base =~ s/\s+$//; # HTML5
+ $self->{'header'}->push_header('Content-Base' => $base);
} elsif ($tag eq 'isindex') {
# This is a non-standard header. Perhaps we should just ignore
# this element
@@ -218,7 +219,9 @@ sub start
} elsif ($tag eq 'link') {
return unless exists $attr->{href};
# <link href="http:..." rel="xxx" rev="xxx" title="xxx">
- my $h_val = "<" . delete($attr->{href}) . ">";
+ my $href = delete($attr->{href});
+ $href =~ s/^\s+//; $href =~ s/\s+$//; # HTML5
+ my $h_val = "<$href>";
for (sort keys %{$attr}) {
next if $_ eq "/"; # XHTML junk
$h_val .= qq(; $_="$attr->{$_}");
@@ -265,7 +268,7 @@ sub text
}
BEGIN {
- *utf8_mode = sub { 1 } unless HTML::Entities::UNICODE_SUPPORT;;
+ *utf8_mode = sub { 1 } unless HTML::Entities::UNICODE_SUPPORT;
}
1;
diff --git a/Master/tlpkg/tlperl/lib/HTML/LinkExtor.pm b/Master/tlpkg/tlperl/lib/HTML/LinkExtor.pm
index 8d50439d15f..c2f08c62d9d 100644
--- a/Master/tlpkg/tlperl/lib/HTML/LinkExtor.pm
+++ b/Master/tlpkg/tlperl/lib/HTML/LinkExtor.pm
@@ -2,7 +2,7 @@ package HTML::LinkExtor;
require HTML::Parser;
@ISA = qw(HTML::Parser);
-$VERSION = "3.60";
+$VERSION = "3.69";
=head1 NAME
@@ -83,8 +83,8 @@ sub _start_tag
my $a;
for $a (@$links) {
next unless exists $attr->{$a};
- push(@links, $a, $base ? URI->new($attr->{$a}, $base)->abs($base)
- : $attr->{$a});
+ (my $link = $attr->{$a}) =~ s/^\s+//; $link =~ s/\s+$//; # HTML5
+ push(@links, $a, $base ? URI->new($link, $base)->abs($base) : $link);
}
return unless @links;
$self->_found_link($tag, @links);
diff --git a/Master/tlpkg/tlperl/lib/HTML/Parser.pm b/Master/tlpkg/tlperl/lib/HTML/Parser.pm
index 67f42e29c0e..dccbc5f3b2c 100644
--- a/Master/tlpkg/tlperl/lib/HTML/Parser.pm
+++ b/Master/tlpkg/tlperl/lib/HTML/Parser.pm
@@ -9,7 +9,7 @@ package HTML::Parser;
use strict;
use vars qw($VERSION @ISA);
-$VERSION = "3.68";
+$VERSION = "3.69";
require HTML::Entities;
@@ -650,9 +650,7 @@ names are forced to lower case.
General entities are decoded in the attribute values and
one layer of matching quotes enclosing the attribute values is removed.
-The Unicode character set is assumed for entity decoding. With Perl
-version 5.6 or earlier only the Latin-1 range is supported, and
-entities for characters outside the range 0..255 are left unchanged.
+The Unicode character set is assumed for entity decoding.
=item C<@attr>
@@ -1192,12 +1190,14 @@ The result of decoding will be a mix of encoded and decoded characters
for any entities that expand to characters with code above 127. This
is not a good thing.
-The solution is to use the Encode::encode_utf8() on the data before
-feeding it to the $p->parse(). For $p->parse_file() pass a file that
-has been opened in ":utf8" mode.
+The recommened solution is to apply Encode::decode_utf8() on the data before
+feeding it to the $p->parse(). For $p->parse_file() pass a file that has been
+opened in ":utf8" mode.
-The parser can process raw undecoded UTF-8 sanely if the C<utf8_mode>
-is enabled or if the "attr", "@attr" or "dtext" argspecs is avoided.
+The alternative solution is to enable the C<utf8_mode> and not decode before
+passing strings to $p->parse(). The parser can process raw undecoded UTF-8
+sanely if the C<utf8_mode> is enabled, or if the "attr", "@attr" or "dtext"
+argspecs are avoided.
=item Parsing string decoded with wrong endianness
diff --git a/Master/tlpkg/tlperl/lib/HTML/TokeParser.pm b/Master/tlpkg/tlperl/lib/HTML/TokeParser.pm
index 94128dbef75..959b96f6a26 100644
--- a/Master/tlpkg/tlperl/lib/HTML/TokeParser.pm
+++ b/Master/tlpkg/tlperl/lib/HTML/TokeParser.pm
@@ -2,7 +2,7 @@ package HTML::TokeParser;
require HTML::PullParser;
@ISA=qw(HTML::PullParser);
-$VERSION = "3.57";
+$VERSION = "3.69";
use strict;
use Carp ();
@@ -27,17 +27,19 @@ sub new
{
my $class = shift;
my %cnf;
+
if (@_ == 1) {
my $type = (ref($_[0]) eq "SCALAR") ? "doc" : "file";
%cnf = ($type => $_[0]);
}
else {
+ unshift @_, (ref($_[0]) eq "SCALAR") ? "doc" : "file" if(scalar(@_) % 2 == 1);
%cnf = @_;
}
my $textify = delete $cnf{textify} || {img => "alt", applet => "alt"};
- my $self = $class->SUPER::new(%cnf, %ARGS) || return undef;
+ my $self = $class->SUPER::new(%ARGS, %cnf) || return undef;
$self->{textify} = $textify;
$self;
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Config.pm b/Master/tlpkg/tlperl/lib/HTTP/Config.pm
index c7d9df53711..931f63db69d 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Config.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Config.pm
@@ -4,7 +4,7 @@ use strict;
use URI;
use vars qw($VERSION);
-$VERSION = "5.835";
+$VERSION = "6.00";
sub new {
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Cookies.pm b/Master/tlpkg/tlperl/lib/HTTP/Cookies.pm
index 831a4ace15c..79ac4f27f84 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Cookies.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Cookies.pm
@@ -5,7 +5,7 @@ use HTTP::Date qw(str2time parse_date time2str);
use HTTP::Headers::Util qw(_split_header_words join_header_words);
use vars qw($VERSION $EPOCH_OFFSET);
-$VERSION = "5.837";
+$VERSION = "6.01";
# Legacy: because "use "HTTP::Cookies" used be the ONLY way
# to load the class HTTP::Cookies::Netscape.
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Cookies/Microsoft.pm b/Master/tlpkg/tlperl/lib/HTTP/Cookies/Microsoft.pm
index c5a0bf77087..9c69fa364cf 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Cookies/Microsoft.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Cookies/Microsoft.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
-$VERSION = "5.821";
+$VERSION = "6.00";
require HTTP::Cookies;
@ISA=qw(HTTP::Cookies);
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Cookies/Netscape.pm b/Master/tlpkg/tlperl/lib/HTTP/Cookies/Netscape.pm
index f19c517f946..5972029e558 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Cookies/Netscape.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Cookies/Netscape.pm
@@ -3,7 +3,7 @@ package HTTP::Cookies::Netscape;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = "5.832";
+$VERSION = "6.00";
require HTTP::Cookies;
@ISA=qw(HTTP::Cookies);
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Daemon.pm b/Master/tlpkg/tlperl/lib/HTTP/Daemon.pm
index cf61147d077..27a7bf4e173 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Daemon.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Daemon.pm
@@ -3,9 +3,9 @@ package HTTP::Daemon;
use strict;
use vars qw($VERSION @ISA $PROTO $DEBUG);
-$VERSION = "5.827";
+$VERSION = "6.01";
-use IO::Socket qw(AF_INET INADDR_ANY inet_ntoa);
+use IO::Socket qw(AF_INET INADDR_ANY INADDR_LOOPBACK inet_ntoa);
@ISA=qw(IO::Socket::INET);
$PROTO = "HTTP/1.1";
@@ -44,6 +44,9 @@ sub url
require Sys::Hostname;
$url .= lc Sys::Hostname::hostname();
}
+ elsif ($addr eq INADDR_LOOPBACK) {
+ $url .= inet_ntoa($addr);
+ }
else {
$url .= gethostbyaddr($addr, AF_INET) || inet_ntoa($addr);
}
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Date.pm b/Master/tlpkg/tlperl/lib/HTTP/Date.pm
index 7756214af98..d05d21605ae 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Date.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Date.pm
@@ -1,8 +1,7 @@
package HTTP::Date;
-$VERSION = "5.831";
+$VERSION = "6.02";
-require 5.004;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(time2str str2time);
@@ -107,7 +106,7 @@ sub parse_date ($)
\s*
([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+)? # timezone
\s*
- (?:\(\w+\))? # ASCII representation of timezone in parens.
+ (?:\(\w+\)|\w{3,})? # ASCII representation of timezone.
\s*$
/x)
@@ -316,13 +315,13 @@ to get the date recognized.
This function will try to parse a date string, and then return it as a
list of numerical values followed by a (possible undefined) time zone
specifier; ($year, $month, $day, $hour, $min, $sec, $tz). The $year
-returned will B<not> have the number 1900 subtracted from it and the
-$month numbers start with 1.
+will be the full 4-digit year, and $month numbers start with 1 (for January).
In scalar context the numbers are interpolated in a string of the
"YYYY-MM-DD hh:mm:ss TZ"-format and returned.
-If the date is unrecognized, then the empty list is returned.
+If the date is unrecognized, then the empty list is returned (C<undef> in
+scalar context).
The function is able to parse the following formats:
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Headers.pm b/Master/tlpkg/tlperl/lib/HTTP/Headers.pm
index 1e9198cd3c7..67f1d2e6406 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Headers.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Headers.pm
@@ -4,7 +4,7 @@ use strict;
use Carp ();
use vars qw($VERSION $TRANSLATE_UNDERSCORE);
-$VERSION = "5.835";
+$VERSION = "6.00";
# The $TRANSLATE_UNDERSCORE variable controls whether '_' can be used
# as a replacement for '-' in header field names.
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Headers/Auth.pm b/Master/tlpkg/tlperl/lib/HTTP/Headers/Auth.pm
index 1e416e2dd9a..64e204ce388 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Headers/Auth.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Headers/Auth.pm
@@ -2,7 +2,7 @@ package HTTP::Headers::Auth;
use strict;
use vars qw($VERSION);
-$VERSION = "5.817";
+$VERSION = "6.00";
use HTTP::Headers;
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Headers/ETag.pm b/Master/tlpkg/tlperl/lib/HTTP/Headers/ETag.pm
index 743da463de4..e0b2c7e255c 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Headers/ETag.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Headers/ETag.pm
@@ -2,7 +2,7 @@ package HTTP::Headers::ETag;
use strict;
use vars qw($VERSION);
-$VERSION = "5.810";
+$VERSION = "6.00";
require HTTP::Date;
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Headers/Util.pm b/Master/tlpkg/tlperl/lib/HTTP/Headers/Util.pm
index 9ae65e7faf5..fdcf501b8e5 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Headers/Util.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Headers/Util.pm
@@ -3,7 +3,7 @@ package HTTP::Headers::Util;
use strict;
use vars qw($VERSION @ISA @EXPORT_OK);
-$VERSION = "5.817";
+$VERSION = "6.03";
require Exporter;
@ISA=qw(Exporter);
@@ -153,7 +153,7 @@ the requirement for tokens).
Each I<header> is represented by an anonymous array of key/value
pairs. The keys will be all be forced to lower case.
The value for a simple token (not part of a parameter) is C<undef>.
-Syntactically incorrect headers will not necessary be parsed as you
+Syntactically incorrect headers will not necessarily be parsed as you
would want.
This is easier to describe with some examples:
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Message.pm b/Master/tlpkg/tlperl/lib/HTTP/Message.pm
index 944e88d1899..4aae3f2c8a1 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Message.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Message.pm
@@ -2,7 +2,7 @@ package HTTP::Message;
use strict;
use vars qw($VERSION $AUTOLOAD);
-$VERSION = "5.837";
+$VERSION = "6.03";
require HTTP::Headers;
require Carp;
@@ -307,7 +307,7 @@ sub decoded_content
$content_ref = \$output;
$content_ref_iscopy++;
}
- elsif ($ce eq "x-bzip2") {
+ elsif ($ce eq "x-bzip2" or $ce eq "bzip2") {
require IO::Uncompress::Bunzip2;
my $output;
IO::Uncompress::Bunzip2::bunzip2($content_ref, \$output, Transparent => 0)
@@ -364,16 +364,21 @@ sub decoded_content
$self->content_charset ||
"ISO-8859-1"
);
- unless ($charset =~ /^(?:none|us-ascii|iso-8859-1)\z/) {
- require Encode;
- if (do{my $v = $Encode::VERSION; $v =~ s/_//g; $v} < 2.0901 &&
- !$content_ref_iscopy)
- {
- # LEAVE_SRC did not work before Encode-2.0901
- my $copy = $$content_ref;
- $content_ref = \$copy;
- $content_ref_iscopy++;
+ if ($charset eq "none") {
+ # leave it asis
+ }
+ elsif ($charset eq "us-ascii" || $charset eq "iso-8859-1") {
+ if ($$content_ref =~ /[^\x00-\x7F]/ && defined &utf8::upgrade) {
+ unless ($content_ref_iscopy) {
+ my $copy = $$content_ref;
+ $content_ref = \$copy;
+ $content_ref_iscopy++;
+ }
+ utf8::upgrade($$content_ref);
}
+ }
+ else {
+ require Encode;
eval {
$content_ref = \Encode::decode($charset, $$content_ref,
($opt{charset_strict} ? Encode::FB_CROAK() : 0) | Encode::LEAVE_SRC());
@@ -386,7 +391,7 @@ sub decoded_content
# Retry decoding with the alternative charset
$content_ref = \Encode::decode($alt_charset, $$content_ref,
($opt{charset_strict} ? Encode::FB_CROAK() : 0) | Encode::LEAVE_SRC())
- unless $alt_charset =~ /^(?:none|us-ascii|iso-8859-1)\z/;
+ unless $alt_charset eq "none";
$retried++;
}
}
@@ -869,10 +874,10 @@ for details about how charset is determined.
=item $mess->decoded_content( %options )
-Returns the content with any C<Content-Encoding> undone and the raw
-content encoded to perl's Unicode strings. If the C<Content-Encoding>
-or C<charset> of the message is unknown this method will fail by
-returning C<undef>.
+Returns the content with any C<Content-Encoding> undone and for textual content
+the raw content encoded to Perl's Unicode strings. If the C<Content-Encoding>
+or C<charset> of the message is unknown this method will fail by returning
+C<undef>.
The following options can be specified.
@@ -976,7 +981,7 @@ one part returned.
If the content type is C<message/http>, then the return value will be
either an C<HTTP::Request> or an C<HTTP::Response> object.
-If an @parts argument is given, then the content of the message will be
+If a @parts argument is given, then the content of the message will be
modified. The array reference form is provided so that an empty list
can be provided. The @parts array should contain C<HTTP::Message>
objects. The @parts objects are owned by $mess after this call and
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Negotiate.pm b/Master/tlpkg/tlperl/lib/HTTP/Negotiate.pm
index 7ded7e6d5a5..d293ce86d97 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Negotiate.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Negotiate.pm
@@ -1,9 +1,8 @@
package HTTP::Negotiate;
-$VERSION = "5.835";
+$VERSION = "6.01";
sub Version { $VERSION; }
-require 5.002;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(choose);
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Request.pm b/Master/tlpkg/tlperl/lib/HTTP/Request.pm
index ac7dc65af43..154ea2f926c 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Request.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Request.pm
@@ -2,7 +2,7 @@ package HTTP::Request;
require HTTP::Message;
@ISA = qw(HTTP::Message);
-$VERSION = "5.827";
+$VERSION = "6.00";
use strict;
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Request/Common.pm b/Master/tlpkg/tlperl/lib/HTTP/Request/Common.pm
index 7e3e03a861b..626e048d65f 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Request/Common.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Request/Common.pm
@@ -13,7 +13,7 @@ require Exporter;
require HTTP::Request;
use Carp();
-$VERSION = "5.824";
+$VERSION = "6.03";
my $CRLF = "\015\012"; # "\r\n" is not portable
@@ -81,6 +81,9 @@ sub POST
my $url = URI->new('http:');
$url->query_form(ref($content) eq "HASH" ? %$content : @$content);
$content = $url->query;
+
+ # HTML/4.01 says that line breaks are represented as "CR LF" pairs (i.e., `%0D%0A')
+ $content =~ s/(?<!%0D)%0A/%0D%0A/g;
}
}
@@ -389,7 +392,7 @@ the $form_ref this way.
The $form_ref argument can be used to pass key/value pairs for the
form content. By default we will initialize a request using the
C<application/x-www-form-urlencoded> content type. This means that
-you can emulate a HTML E<lt>form> POSTing like this:
+you can emulate an HTML E<lt>form> POSTing like this:
POST 'http://www.perl.org/survey.cgi',
[ name => 'Gisle Aas',
@@ -399,7 +402,7 @@ you can emulate a HTML E<lt>form> POSTing like this:
perc => '3%',
];
-This will create a HTTP::Request object that looks like this:
+This will create an HTTP::Request object that looks like this:
POST http://www.perl.org/survey.cgi
Content-Length: 66
@@ -445,7 +448,7 @@ achieved by this:
init => ["$ENV{HOME}/.profile"],
]
-This will create a HTTP::Request object that almost looks this (the
+This will create an HTTP::Request object that almost looks this (the
boundary and the content of your F<~/.profile> is likely to be
different):
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Response.pm b/Master/tlpkg/tlperl/lib/HTTP/Response.pm
index b60f06fc09a..8bdb1c5bd1e 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Response.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Response.pm
@@ -2,7 +2,7 @@ package HTTP::Response;
require HTTP::Message;
@ISA = qw(HTTP::Message);
-$VERSION = "5.836";
+$VERSION = "6.03";
use strict;
use HTTP::Status ();
@@ -143,12 +143,8 @@ sub filename
}
require Encode;
- require encoding;
- # This is ugly use of non-public API, but is there
- # a better way to accomplish what we want (locally
- # as-is usable filename string)?
- my $locale_charset = encoding::_get_locale_encoding();
- Encode::from_to($encfile, $charset, $locale_charset);
+ require Encode::Locale;
+ Encode::from_to($encfile, $charset, "locale_fs");
};
$file = $encfile unless $@;
@@ -221,10 +217,11 @@ sub is_error { HTTP::Status::is_error (shift->{'_rc'}); }
sub error_as_HTML
{
- require HTML::Entities;
my $self = shift;
my $title = 'An Error Occurred';
- my $body = HTML::Entities::encode($self->status_line);
+ my $body = $self->status_line;
+ $body =~ s/&/&amp;/g;
+ $body =~ s/</&lt;/g;
return <<EOM;
<html>
<head><title>$title</title></head>
@@ -395,7 +392,7 @@ This constructs a new response object by parsing the given string.
=item $r->code( $code )
This is used to get/set the code attribute. The code is a 3 digit
-number that encode the overall outcome of a HTTP response. The
+number that encode the overall outcome of an HTTP response. The
C<HTTP::Status> module provide constants that provide mnemonic names
for the code attribute.
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Status.pm b/Master/tlpkg/tlperl/lib/HTTP/Status.pm
index 930bd878858..f229af6c226 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Status.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Status.pm
@@ -9,7 +9,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(is_info is_success is_redirect is_error status_message);
@EXPORT_OK = qw(is_client_error is_server_error);
-$VERSION = "5.817";
+$VERSION = "6.03";
# Note also addition of mnemonics to @EXPORT below
@@ -28,6 +28,7 @@ my %StatusCode = (
205 => 'Reset Content',
206 => 'Partial Content',
207 => 'Multi-Status', # RFC 2518 (WebDAV)
+ 208 => 'Already Reported', # RFC 5842
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
@@ -53,11 +54,15 @@ my %StatusCode = (
415 => 'Unsupported Media Type',
416 => 'Request Range Not Satisfiable',
417 => 'Expectation Failed',
+ 418 => 'I\'m a teapot', # RFC 2324
422 => 'Unprocessable Entity', # RFC 2518 (WebDAV)
423 => 'Locked', # RFC 2518 (WebDAV)
424 => 'Failed Dependency', # RFC 2518 (WebDAV)
425 => 'No code', # WebDAV Advanced Collections
426 => 'Upgrade Required', # RFC 2817
+ 428 => 'Precondition Required',
+ 429 => 'Too Many Requests',
+ 431 => 'Request Header Fields Too Large',
449 => 'Retry with', # unofficial Microsoft
500 => 'Internal Server Error',
501 => 'Not Implemented',
@@ -69,12 +74,14 @@ my %StatusCode = (
507 => 'Insufficient Storage', # RFC 2518 (WebDAV)
509 => 'Bandwidth Limit Exceeded', # unofficial
510 => 'Not Extended', # RFC 2774
+ 511 => 'Network Authentication Required',
);
my $mnemonicCode = '';
my ($code, $message);
while (($code, $message) = each %StatusCode) {
# create mnemonic subroutines
+ $message =~ s/I'm/I am/;
$message =~ tr/a-z \-/A-Z__/;
$mnemonicCode .= "sub HTTP_$message () { $code }\n";
$mnemonicCode .= "*RC_$message = \\&HTTP_$message;\n"; # legacy
@@ -128,7 +135,7 @@ HTTP::Status - HTTP Status code processing
I<HTTP::Status> is a library of routines for defining and
classifying HTTP status codes for libwww-perl. Status codes are
-used to encode the overall outcome of a HTTP response message. Codes
+used to encode the overall outcome of an HTTP response message. Codes
correspond to those defined in RFC 2616 and RFC 2518.
=head1 CONSTANTS
@@ -149,6 +156,7 @@ tag to import them all.
HTTP_RESET_CONTENT (205)
HTTP_PARTIAL_CONTENT (206)
HTTP_MULTI_STATUS (207)
+ HTTP_ALREADY_REPORTED (208)
HTTP_MULTIPLE_CHOICES (300)
HTTP_MOVED_PERMANENTLY (301)
@@ -176,11 +184,15 @@ tag to import them all.
HTTP_UNSUPPORTED_MEDIA_TYPE (415)
HTTP_REQUEST_RANGE_NOT_SATISFIABLE (416)
HTTP_EXPECTATION_FAILED (417)
+ HTTP_I_AM_A_TEAPOT (418)
HTTP_UNPROCESSABLE_ENTITY (422)
HTTP_LOCKED (423)
HTTP_FAILED_DEPENDENCY (424)
HTTP_NO_CODE (425)
HTTP_UPGRADE_REQUIRED (426)
+ HTTP_PRECONDITION_REQUIRED (428)
+ HTTP_TOO_MANY_REQUESTS (429)
+ HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE (431)
HTTP_RETRY_WITH (449)
HTTP_INTERNAL_SERVER_ERROR (500)
@@ -193,6 +205,7 @@ tag to import them all.
HTTP_INSUFFICIENT_STORAGE (507)
HTTP_BANDWIDTH_LIMIT_EXCEEDED (509)
HTTP_NOT_EXTENDED (510)
+ HTTP_NETWORK_AUTHENTICATION_REQUIRED (511)
=head1 FUNCTIONS
@@ -227,11 +240,11 @@ user agent in order to fulfill the request.
=item is_error( $code )
Return TRUE if C<$code> is an I<Error> status code (4xx or 5xx). The function
-return TRUE for both client error or a server error status codes.
+returns TRUE for both client and server error status codes.
=item is_client_error( $code )
-Return TRUE if C<$code> is an I<Client Error> status code (4xx). This class
+Return TRUE if C<$code> is a I<Client Error> status code (4xx). This class
of status code is intended for cases in which the client seems to have
erred.
@@ -239,7 +252,7 @@ This function is B<not> exported by default.
=item is_server_error( $code )
-Return TRUE if C<$code> is an I<Server Error> status code (5xx). This class
+Return TRUE if C<$code> is a I<Server Error> status code (5xx). This class
of status codes is intended for cases in which the server is aware
that it has erred or is incapable of performing the request.
@@ -250,5 +263,5 @@ This function is B<not> exported by default.
=head1 BUGS
For legacy reasons all the C<HTTP_> constants are exported by default
-with the prefix C<RC_>. It's recommended to use explict imports and
+with the prefix C<RC_>. It's recommended to use explicit imports and
the C<:constants> tag instead of relying on this.
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm b/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
new file mode 100644
index 00000000000..b4f6bd733c5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
@@ -0,0 +1,1098 @@
+# vim: ts=4 sts=4 sw=4 et:
+#
+# This file is part of HTTP-Tiny
+#
+# This software is copyright (c) 2011 by Christian Hansen.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package HTTP::Tiny;
+BEGIN {
+ $HTTP::Tiny::VERSION = '0.012';
+}
+use strict;
+use warnings;
+# ABSTRACT: A small, simple, correct HTTP/1.1 client
+
+use Carp ();
+
+
+my @attributes;
+BEGIN {
+ @attributes = qw(agent default_headers max_redirect max_size proxy timeout);
+ no strict 'refs';
+ for my $accessor ( @attributes ) {
+ *{$accessor} = sub {
+ @_ > 1 ? $_[0]->{$accessor} = $_[1] : $_[0]->{$accessor};
+ };
+ }
+}
+
+sub new {
+ my($class, %args) = @_;
+ (my $agent = $class) =~ s{::}{-}g;
+ my $self = {
+ agent => $agent . "/" . ($class->VERSION || 0),
+ max_redirect => 5,
+ timeout => 60,
+ };
+ for my $key ( @attributes ) {
+ $self->{$key} = $args{$key} if exists $args{$key}
+ }
+ return bless $self, $class;
+}
+
+
+sub get {
+ my ($self, $url, $args) = @_;
+ @_ == 2 || (@_ == 3 && ref $args eq 'HASH')
+ or Carp::croak(q/Usage: $http->get(URL, [HASHREF])/);
+ return $self->request('GET', $url, $args || {});
+}
+
+
+sub mirror {
+ my ($self, $url, $file, $args) = @_;
+ @_ == 3 || (@_ == 4 && ref $args eq 'HASH')
+ or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/);
+ if ( -e $file and my $mtime = (stat($file))[9] ) {
+ $args->{headers}{'if-modified-since'} ||= $self->_http_date($mtime);
+ }
+ my $tempfile = $file . int(rand(2**31));
+ open my $fh, ">", $tempfile
+ or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!/);
+ binmode $fh;
+ $args->{data_callback} = sub { print {$fh} $_[0] };
+ my $response = $self->request('GET', $url, $args);
+ close $fh
+ or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!/);
+ if ( $response->{success} ) {
+ rename $tempfile, $file
+ or Carp::croak "Error replacing $file with $tempfile: $!\n";
+ my $lm = $response->{headers}{'last-modified'};
+ if ( $lm and my $mtime = $self->_parse_http_date($lm) ) {
+ utime $mtime, $mtime, $file;
+ }
+ }
+ $response->{success} ||= $response->{status} eq '304';
+ unlink $tempfile;
+ return $response;
+}
+
+
+my %idempotent = map { $_ => 1 } qw/GET HEAD PUT DELETE OPTIONS TRACE/;
+
+sub request {
+ my ($self, $method, $url, $args) = @_;
+ @_ == 3 || (@_ == 4 && ref $args eq 'HASH')
+ or Carp::croak(q/Usage: $http->request(METHOD, URL, [HASHREF])/);
+ $args ||= {}; # we keep some state in this during _request
+
+ # RFC 2616 Section 8.1.4 mandates a single retry on broken socket
+ my $response;
+ for ( 0 .. 1 ) {
+ $response = eval { $self->_request($method, $url, $args) };
+ last unless $@ && $idempotent{$method}
+ && $@ =~ m{^(?:Socket closed|Unexpected end)};
+ }
+
+ if (my $e = "$@") {
+ $response = {
+ success => q{},
+ status => 599,
+ reason => 'Internal Exception',
+ content => $e,
+ headers => {
+ 'content-type' => 'text/plain',
+ 'content-length' => length $e,
+ }
+ };
+ }
+ return $response;
+}
+
+my %DefaultPort = (
+ http => 80,
+ https => 443,
+);
+
+sub _request {
+ my ($self, $method, $url, $args) = @_;
+
+ my ($scheme, $host, $port, $path_query) = $self->_split_url($url);
+
+ my $request = {
+ method => $method,
+ scheme => $scheme,
+ host_port => ($port == $DefaultPort{$scheme} ? $host : "$host:$port"),
+ uri => $path_query,
+ headers => {},
+ };
+
+ my $handle = HTTP::Tiny::Handle->new(timeout => $self->{timeout});
+
+ if ($self->{proxy}) {
+ $request->{uri} = "$scheme://$request->{host_port}$path_query";
+ croak(qq/HTTPS via proxy is not supported/)
+ if $request->{scheme} eq 'https';
+ $handle->connect(($self->_split_url($self->{proxy}))[0..2]);
+ }
+ else {
+ $handle->connect($scheme, $host, $port);
+ }
+
+ $self->_prepare_headers_and_cb($request, $args);
+ $handle->write_request($request);
+
+ my $response;
+ do { $response = $handle->read_response_header }
+ until (substr($response->{status},0,1) ne '1');
+
+ if ( my @redir_args = $self->_maybe_redirect($request, $response, $args) ) {
+ $handle->close;
+ return $self->_request(@redir_args, $args);
+ }
+
+ if ($method eq 'HEAD' || $response->{status} =~ /^[23]04/) {
+ # response has no message body
+ }
+ else {
+ my $data_cb = $self->_prepare_data_cb($response, $args);
+ $handle->read_body($data_cb, $response);
+ }
+
+ $handle->close;
+ $response->{success} = substr($response->{status},0,1) eq '2';
+ return $response;
+}
+
+sub _prepare_headers_and_cb {
+ my ($self, $request, $args) = @_;
+
+ for ($self->{default_headers}, $args->{headers}) {
+ next unless defined;
+ while (my ($k, $v) = each %$_) {
+ $request->{headers}{lc $k} = $v;
+ }
+ }
+ $request->{headers}{'host'} = $request->{host_port};
+ $request->{headers}{'connection'} = "close";
+ $request->{headers}{'user-agent'} ||= $self->{agent};
+
+ if (defined $args->{content}) {
+ $request->{headers}{'content-type'} ||= "application/octet-stream";
+ if (ref $args->{content} eq 'CODE') {
+ $request->{headers}{'transfer-encoding'} = 'chunked'
+ unless $request->{headers}{'content-length'}
+ || $request->{headers}{'transfer-encoding'};
+ $request->{cb} = $args->{content};
+ }
+ else {
+ my $content = $args->{content};
+ if ( $] ge '5.008' ) {
+ utf8::downgrade($content, 1)
+ or Carp::croak(q/Wide character in request message body/);
+ }
+ $request->{headers}{'content-length'} = length $content
+ unless $request->{headers}{'content-length'}
+ || $request->{headers}{'transfer-encoding'};
+ $request->{cb} = sub { substr $content, 0, length $content, '' };
+ }
+ $request->{trailer_cb} = $args->{trailer_callback}
+ if ref $args->{trailer_callback} eq 'CODE';
+ }
+ return;
+}
+
+sub _prepare_data_cb {
+ my ($self, $response, $args) = @_;
+ my $data_cb = $args->{data_callback};
+ $response->{content} = '';
+
+ if (!$data_cb || $response->{status} !~ /^2/) {
+ if (defined $self->{max_size}) {
+ $data_cb = sub {
+ $_[1]->{content} .= $_[0];
+ die(qq/Size of response body exceeds the maximum allowed of $self->{max_size}\n/)
+ if length $_[1]->{content} > $self->{max_size};
+ };
+ }
+ else {
+ $data_cb = sub { $_[1]->{content} .= $_[0] };
+ }
+ }
+ return $data_cb;
+}
+
+sub _maybe_redirect {
+ my ($self, $request, $response, $args) = @_;
+ my $headers = $response->{headers};
+ my ($status, $method) = ($response->{status}, $request->{method});
+ if (($status eq '303' or ($status =~ /^30[127]/ && $method =~ /^GET|HEAD$/))
+ and $headers->{location}
+ and ++$args->{redirects} <= $self->{max_redirect}
+ ) {
+ my $location = ($headers->{location} =~ /^\//)
+ ? "$request->{scheme}://$request->{host_port}$headers->{location}"
+ : $headers->{location} ;
+ return (($status eq '303' ? 'GET' : $method), $location);
+ }
+ return;
+}
+
+sub _split_url {
+ my $url = pop;
+
+ # URI regex adapted from the URI module
+ my ($scheme, $authority, $path_query) = $url =~ m<\A([^:/?#]+)://([^/?#]*)([^#]*)>
+ or Carp::croak(qq/Cannot parse URL: '$url'/);
+
+ $scheme = lc $scheme;
+ $path_query = "/$path_query" unless $path_query =~ m<\A/>;
+
+ my $host = (length($authority)) ? lc $authority : 'localhost';
+ $host =~ s/\A[^@]*@//; # userinfo
+ my $port = do {
+ $host =~ s/:([0-9]*)\z// && length $1
+ ? $1
+ : ($scheme eq 'http' ? 80 : $scheme eq 'https' ? 443 : undef);
+ };
+
+ return ($scheme, $host, $port, $path_query);
+}
+
+# Date conversions adapted from HTTP::Date
+my $DoW = "Sun|Mon|Tue|Wed|Thu|Fri|Sat";
+my $MoY = "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec";
+sub _http_date {
+ my ($sec, $min, $hour, $mday, $mon, $year, $wday) = gmtime($_[1]);
+ return sprintf("%s, %02d %s %04d %02d:%02d:%02d GMT",
+ substr($DoW,$wday*4,3),
+ $mday, substr($MoY,$mon*4,3), $year+1900,
+ $hour, $min, $sec
+ );
+}
+
+sub _parse_http_date {
+ my ($self, $str) = @_;
+ require Time::Local;
+ my @tl_parts;
+ if ($str =~ /^[SMTWF][a-z]+, +(\d{1,2}) ($MoY) +(\d\d\d\d) +(\d\d):(\d\d):(\d\d) +GMT$/) {
+ @tl_parts = ($6, $5, $4, $1, (index($MoY,$2)/4), $3);
+ }
+ elsif ($str =~ /^[SMTWF][a-z]+, +(\d\d)-($MoY)-(\d{2,4}) +(\d\d):(\d\d):(\d\d) +GMT$/ ) {
+ @tl_parts = ($6, $5, $4, $1, (index($MoY,$2)/4), $3);
+ }
+ elsif ($str =~ /^[SMTWF][a-z]+ +($MoY) +(\d{1,2}) +(\d\d):(\d\d):(\d\d) +(?:[^0-9]+ +)?(\d\d\d\d)$/ ) {
+ @tl_parts = ($5, $4, $3, $2, (index($MoY,$1)/4), $6);
+ }
+ return eval {
+ my $t = @tl_parts ? Time::Local::timegm(@tl_parts) : -1;
+ $t < 0 ? undef : $t;
+ };
+}
+
+package
+ HTTP::Tiny::Handle; # hide from PAUSE/indexers
+use strict;
+use warnings;
+
+use Carp qw[croak];
+use Errno qw[EINTR EPIPE];
+use IO::Socket qw[SOCK_STREAM];
+
+sub BUFSIZE () { 32768 }
+
+my $Printable = sub {
+ local $_ = shift;
+ s/\r/\\r/g;
+ s/\n/\\n/g;
+ s/\t/\\t/g;
+ s/([^\x20-\x7E])/sprintf('\\x%.2X', ord($1))/ge;
+ $_;
+};
+
+my $Token = qr/[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7A\x7C\x7E]/;
+
+sub new {
+ my ($class, %args) = @_;
+ return bless {
+ rbuf => '',
+ timeout => 60,
+ max_line_size => 16384,
+ max_header_lines => 64,
+ %args
+ }, $class;
+}
+
+my $ssl_verify_args = {
+ check_cn => "when_only",
+ wildcards_in_alt => "anywhere",
+ wildcards_in_cn => "anywhere"
+};
+
+sub connect {
+ @_ == 4 || croak(q/Usage: $handle->connect(scheme, host, port)/);
+ my ($self, $scheme, $host, $port) = @_;
+
+ if ( $scheme eq 'https' ) {
+ eval "require IO::Socket::SSL"
+ unless exists $INC{'IO/Socket/SSL.pm'};
+ croak(qq/IO::Socket::SSL must be installed for https support\n/)
+ unless $INC{'IO/Socket/SSL.pm'};
+ }
+ elsif ( $scheme ne 'http' ) {
+ croak(qq/Unsupported URL scheme '$scheme'/);
+ }
+
+ $self->{fh} = 'IO::Socket::INET'->new(
+ PeerHost => $host,
+ PeerPort => $port,
+ Proto => 'tcp',
+ Type => SOCK_STREAM,
+ Timeout => $self->{timeout}
+ ) or croak(qq/Could not connect to '$host:$port': $@/);
+
+ binmode($self->{fh})
+ or croak(qq/Could not binmode() socket: '$!'/);
+
+ if ( $scheme eq 'https') {
+ IO::Socket::SSL->start_SSL($self->{fh});
+ ref($self->{fh}) eq 'IO::Socket::SSL'
+ or die(qq/SSL connection failed for $host\n/);
+ $self->{fh}->verify_hostname( $host, $ssl_verify_args )
+ or die(qq/SSL certificate not valid for $host\n/);
+ }
+
+ $self->{host} = $host;
+ $self->{port} = $port;
+
+ return $self;
+}
+
+sub close {
+ @_ == 1 || croak(q/Usage: $handle->close()/);
+ my ($self) = @_;
+ CORE::close($self->{fh})
+ or croak(qq/Could not close socket: '$!'/);
+}
+
+sub write {
+ @_ == 2 || croak(q/Usage: $handle->write(buf)/);
+ my ($self, $buf) = @_;
+
+ if ( $] ge '5.008' ) {
+ utf8::downgrade($buf, 1)
+ or croak(q/Wide character in write()/);
+ }
+
+ my $len = length $buf;
+ my $off = 0;
+
+ local $SIG{PIPE} = 'IGNORE';
+
+ while () {
+ $self->can_write
+ or croak(q/Timed out while waiting for socket to become ready for writing/);
+ my $r = syswrite($self->{fh}, $buf, $len, $off);
+ if (defined $r) {
+ $len -= $r;
+ $off += $r;
+ last unless $len > 0;
+ }
+ elsif ($! == EPIPE) {
+ croak(qq/Socket closed by remote server: $!/);
+ }
+ elsif ($! != EINTR) {
+ croak(qq/Could not write to socket: '$!'/);
+ }
+ }
+ return $off;
+}
+
+sub read {
+ @_ == 2 || @_ == 3 || croak(q/Usage: $handle->read(len [, allow_partial])/);
+ my ($self, $len, $allow_partial) = @_;
+
+ my $buf = '';
+ my $got = length $self->{rbuf};
+
+ if ($got) {
+ my $take = ($got < $len) ? $got : $len;
+ $buf = substr($self->{rbuf}, 0, $take, '');
+ $len -= $take;
+ }
+
+ while ($len > 0) {
+ $self->can_read
+ or croak(q/Timed out while waiting for socket to become ready for reading/);
+ my $r = sysread($self->{fh}, $buf, $len, length $buf);
+ if (defined $r) {
+ last unless $r;
+ $len -= $r;
+ }
+ elsif ($! != EINTR) {
+ croak(qq/Could not read from socket: '$!'/);
+ }
+ }
+ if ($len && !$allow_partial) {
+ croak(q/Unexpected end of stream/);
+ }
+ return $buf;
+}
+
+sub readline {
+ @_ == 1 || croak(q/Usage: $handle->readline()/);
+ my ($self) = @_;
+
+ while () {
+ if ($self->{rbuf} =~ s/\A ([^\x0D\x0A]* \x0D?\x0A)//x) {
+ return $1;
+ }
+ if (length $self->{rbuf} >= $self->{max_line_size}) {
+ croak(qq/Line size exceeds the maximum allowed size of $self->{max_line_size}/);
+ }
+ $self->can_read
+ or croak(q/Timed out while waiting for socket to become ready for reading/);
+ my $r = sysread($self->{fh}, $self->{rbuf}, BUFSIZE, length $self->{rbuf});
+ if (defined $r) {
+ last unless $r;
+ }
+ elsif ($! != EINTR) {
+ croak(qq/Could not read from socket: '$!'/);
+ }
+ }
+ croak(q/Unexpected end of stream while looking for line/);
+}
+
+sub read_header_lines {
+ @_ == 1 || @_ == 2 || croak(q/Usage: $handle->read_header_lines([headers])/);
+ my ($self, $headers) = @_;
+ $headers ||= {};
+ my $lines = 0;
+ my $val;
+
+ while () {
+ my $line = $self->readline;
+
+ if (++$lines >= $self->{max_header_lines}) {
+ croak(qq/Header lines exceeds maximum number allowed of $self->{max_header_lines}/);
+ }
+ elsif ($line =~ /\A ([^\x00-\x1F\x7F:]+) : [\x09\x20]* ([^\x0D\x0A]*)/x) {
+ my ($field_name) = lc $1;
+ if (exists $headers->{$field_name}) {
+ for ($headers->{$field_name}) {
+ $_ = [$_] unless ref $_ eq "ARRAY";
+ push @$_, $2;
+ $val = \$_->[-1];
+ }
+ }
+ else {
+ $val = \($headers->{$field_name} = $2);
+ }
+ }
+ elsif ($line =~ /\A [\x09\x20]+ ([^\x0D\x0A]*)/x) {
+ $val
+ or croak(q/Unexpected header continuation line/);
+ next unless length $1;
+ $$val .= ' ' if length $$val;
+ $$val .= $1;
+ }
+ elsif ($line =~ /\A \x0D?\x0A \z/x) {
+ last;
+ }
+ else {
+ croak(q/Malformed header line: / . $Printable->($line));
+ }
+ }
+ return $headers;
+}
+
+sub write_request {
+ @_ == 2 || croak(q/Usage: $handle->write_request(request)/);
+ my($self, $request) = @_;
+ $self->write_request_header(@{$request}{qw/method uri headers/});
+ $self->write_body($request) if $request->{cb};
+ return;
+}
+
+my %HeaderCase = (
+ 'content-md5' => 'Content-MD5',
+ 'etag' => 'ETag',
+ 'te' => 'TE',
+ 'www-authenticate' => 'WWW-Authenticate',
+ 'x-xss-protection' => 'X-XSS-Protection',
+);
+
+sub write_header_lines {
+ (@_ == 2 && ref $_[1] eq 'HASH') || croak(q/Usage: $handle->write_header_lines(headers)/);
+ my($self, $headers) = @_;
+
+ my $buf = '';
+ while (my ($k, $v) = each %$headers) {
+ my $field_name = lc $k;
+ if (exists $HeaderCase{$field_name}) {
+ $field_name = $HeaderCase{$field_name};
+ }
+ else {
+ $field_name =~ /\A $Token+ \z/xo
+ or croak(q/Invalid HTTP header field name: / . $Printable->($field_name));
+ $field_name =~ s/\b(\w)/\u$1/g;
+ $HeaderCase{lc $field_name} = $field_name;
+ }
+ for (ref $v eq 'ARRAY' ? @$v : $v) {
+ /[^\x0D\x0A]/
+ or croak(qq/Invalid HTTP header field value ($field_name): / . $Printable->($_));
+ $buf .= "$field_name: $_\x0D\x0A";
+ }
+ }
+ $buf .= "\x0D\x0A";
+ return $self->write($buf);
+}
+
+sub read_body {
+ @_ == 3 || croak(q/Usage: $handle->read_body(callback, response)/);
+ my ($self, $cb, $response) = @_;
+ my $te = $response->{headers}{'transfer-encoding'} || '';
+ if ( grep { /chunked/i } ( ref $te eq 'ARRAY' ? @$te : $te ) ) {
+ $self->read_chunked_body($cb, $response);
+ }
+ else {
+ $self->read_content_body($cb, $response);
+ }
+ return;
+}
+
+sub write_body {
+ @_ == 2 || croak(q/Usage: $handle->write_body(request)/);
+ my ($self, $request) = @_;
+ if ($request->{headers}{'content-length'}) {
+ return $self->write_content_body($request);
+ }
+ else {
+ return $self->write_chunked_body($request);
+ }
+}
+
+sub read_content_body {
+ @_ == 3 || @_ == 4 || croak(q/Usage: $handle->read_content_body(callback, response, [read_length])/);
+ my ($self, $cb, $response, $content_length) = @_;
+ $content_length ||= $response->{headers}{'content-length'};
+
+ if ( $content_length ) {
+ my $len = $content_length;
+ while ($len > 0) {
+ my $read = ($len > BUFSIZE) ? BUFSIZE : $len;
+ $cb->($self->read($read, 0), $response);
+ $len -= $read;
+ }
+ }
+ else {
+ my $chunk;
+ $cb->($chunk, $response) while length( $chunk = $self->read(BUFSIZE, 1) );
+ }
+
+ return;
+}
+
+sub write_content_body {
+ @_ == 2 || croak(q/Usage: $handle->write_content_body(request)/);
+ my ($self, $request) = @_;
+
+ my ($len, $content_length) = (0, $request->{headers}{'content-length'});
+ while () {
+ my $data = $request->{cb}->();
+
+ defined $data && length $data
+ or last;
+
+ if ( $] ge '5.008' ) {
+ utf8::downgrade($data, 1)
+ or croak(q/Wide character in write_content()/);
+ }
+
+ $len += $self->write($data);
+ }
+
+ $len == $content_length
+ or croak(qq/Content-Length missmatch (got: $len expected: $content_length)/);
+
+ return $len;
+}
+
+sub read_chunked_body {
+ @_ == 3 || croak(q/Usage: $handle->read_chunked_body(callback, $response)/);
+ my ($self, $cb, $response) = @_;
+
+ while () {
+ my $head = $self->readline;
+
+ $head =~ /\A ([A-Fa-f0-9]+)/x
+ or croak(q/Malformed chunk head: / . $Printable->($head));
+
+ my $len = hex($1)
+ or last;
+
+ $self->read_content_body($cb, $response, $len);
+
+ $self->read(2) eq "\x0D\x0A"
+ or croak(q/Malformed chunk: missing CRLF after chunk data/);
+ }
+ $self->read_header_lines($response->{headers});
+ return;
+}
+
+sub write_chunked_body {
+ @_ == 2 || croak(q/Usage: $handle->write_chunked_body(request)/);
+ my ($self, $request) = @_;
+
+ my $len = 0;
+ while () {
+ my $data = $request->{cb}->();
+
+ defined $data && length $data
+ or last;
+
+ if ( $] ge '5.008' ) {
+ utf8::downgrade($data, 1)
+ or croak(q/Wide character in write_chunked_body()/);
+ }
+
+ $len += length $data;
+
+ my $chunk = sprintf '%X', length $data;
+ $chunk .= "\x0D\x0A";
+ $chunk .= $data;
+ $chunk .= "\x0D\x0A";
+
+ $self->write($chunk);
+ }
+ $self->write("0\x0D\x0A");
+ $self->write_header_lines($request->{trailer_cb}->())
+ if ref $request->{trailer_cb} eq 'CODE';
+ return $len;
+}
+
+sub read_response_header {
+ @_ == 1 || croak(q/Usage: $handle->read_response_header()/);
+ my ($self) = @_;
+
+ my $line = $self->readline;
+
+ $line =~ /\A (HTTP\/(0*\d+\.0*\d+)) [\x09\x20]+ ([0-9]{3}) [\x09\x20]+ ([^\x0D\x0A]*) \x0D?\x0A/x
+ or croak(q/Malformed Status-Line: / . $Printable->($line));
+
+ my ($protocol, $version, $status, $reason) = ($1, $2, $3, $4);
+
+ croak (qq/Unsupported HTTP protocol: $protocol/)
+ unless $version =~ /0*1\.0*[01]/;
+
+ return {
+ status => $status,
+ reason => $reason,
+ headers => $self->read_header_lines,
+ protocol => $protocol,
+ };
+}
+
+sub write_request_header {
+ @_ == 4 || croak(q/Usage: $handle->write_request_header(method, request_uri, headers)/);
+ my ($self, $method, $request_uri, $headers) = @_;
+
+ return $self->write("$method $request_uri HTTP/1.1\x0D\x0A")
+ + $self->write_header_lines($headers);
+}
+
+sub _do_timeout {
+ my ($self, $type, $timeout) = @_;
+ $timeout = $self->{timeout}
+ unless defined $timeout && $timeout >= 0;
+
+ my $fd = fileno $self->{fh};
+ defined $fd && $fd >= 0
+ or croak(q/select(2): 'Bad file descriptor'/);
+
+ my $initial = time;
+ my $pending = $timeout;
+ my $nfound;
+
+ vec(my $fdset = '', $fd, 1) = 1;
+
+ while () {
+ $nfound = ($type eq 'read')
+ ? select($fdset, undef, undef, $pending)
+ : select(undef, $fdset, undef, $pending) ;
+ if ($nfound == -1) {
+ $! == EINTR
+ or croak(qq/select(2): '$!'/);
+ redo if !$timeout || ($pending = $timeout - (time - $initial)) > 0;
+ $nfound = 0;
+ }
+ last;
+ }
+ $! = 0;
+ return $nfound;
+}
+
+sub can_read {
+ @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_read([timeout])/);
+ my $self = shift;
+ return $self->_do_timeout('read', @_)
+}
+
+sub can_write {
+ @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_write([timeout])/);
+ my $self = shift;
+ return $self->_do_timeout('write', @_)
+}
+
+1;
+
+
+
+__END__
+=pod
+
+=head1 NAME
+
+HTTP::Tiny - A small, simple, correct HTTP/1.1 client
+
+=head1 VERSION
+
+version 0.012
+
+=head1 SYNOPSIS
+
+ use HTTP::Tiny;
+
+ my $response = HTTP::Tiny->new->get('http://example.com/');
+
+ die "Failed!\n" unless $response->{success};
+
+ print "$response->{status} $response->{reason}\n";
+
+ while (my ($k, $v) = each %{$response->{headers}}) {
+ for (ref $v eq 'ARRAY' ? @$v : $v) {
+ print "$k: $_\n";
+ }
+ }
+
+ print $response->{content} if length $response->{content};
+
+=head1 DESCRIPTION
+
+This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
+requests without the overhead of a large framework like L<LWP::UserAgent>.
+
+It is more correct and more complete than L<HTTP::Lite>. It supports
+proxies (currently only non-authenticating ones) and redirection. It
+also correctly resumes after EINTR.
+
+=head1 METHODS
+
+=head2 new
+
+ $http = HTTP::Tiny->new( %attributes );
+
+This constructor returns a new HTTP::Tiny object. Valid attributes include:
+
+=over 4
+
+=item *
+
+agent
+
+A user-agent string (defaults to 'HTTP::Tiny/$VERSION')
+
+=item *
+
+default_headers
+
+A hashref of default headers to apply to requests
+
+=item *
+
+max_redirect
+
+Maximum number of redirects allowed (defaults to 5)
+
+=item *
+
+max_size
+
+Maximum response size (only when not using a data callback). If defined,
+responses larger than this will die with an error message
+
+=item *
+
+proxy
+
+URL of a proxy server to use.
+
+=item *
+
+timeout
+
+Request timeout in seconds (default is 60)
+
+=back
+
+=head2 get
+
+ $response = $http->get($url);
+ $response = $http->get($url, \%options);
+
+Executes a C<GET> request for the given URL. The URL must have unsafe
+characters escaped and international domain names encoded. Internally, it just
+calls C<request()> with 'GET' as the method. See C<request()> for valid
+options and a description of the response.
+
+=head2 mirror
+
+ $response = $http->mirror($url, $file, \%options)
+ if ( $response->{success} ) {
+ print "$file is up to date\n";
+ }
+
+Executes a C<GET> request for the URL and saves the response body to the file
+name provided. The URL must have unsafe characters escaped and international
+domain names encoded. If the file already exists, the request will includes an
+C<If-Modified-Since> header with the modification timestamp of the file. You
+may specificy a different C<If-Modified-Since> header yourself in the C<<
+$options->{headers} >> hash.
+
+The C<success> field of the response will be true if the status code is 2XX
+or 304 (unmodified).
+
+If the file was modified and the server response includes a properly
+formatted C<Last-Modified> header, the file modification time will
+be updated accordingly.
+
+=head2 request
+
+ $response = $http->request($method, $url);
+ $response = $http->request($method, $url, \%options);
+
+Executes an HTTP request of the given method type ('GET', 'HEAD', 'POST',
+'PUT', etc.) on the given URL. The URL must have unsafe characters escaped and
+international domain names encoded. A hashref of options may be appended to
+modify the request.
+
+Valid options are:
+
+=over 4
+
+=item *
+
+headers
+
+A hashref containing headers to include with the request. If the value for
+a header is an array reference, the header will be output multiple times with
+each value in the array. These headers over-write any default headers.
+
+=item *
+
+content
+
+A scalar to include as the body of the request OR a code reference
+that will be called iteratively to produce the body of the response
+
+=item *
+
+trailer_callback
+
+A code reference that will be called if it exists to provide a hashref
+of trailing headers (only used with chunked transfer-encoding)
+
+=item *
+
+data_callback
+
+A code reference that will be called for each chunks of the response
+body received.
+
+=back
+
+If the C<content> option is a code reference, it will be called iteratively
+to provide the content body of the request. It should return the empty
+string or undef when the iterator is exhausted.
+
+If the C<data_callback> option is provided, it will be called iteratively until
+the entire response body is received. The first argument will be a string
+containing a chunk of the response body, the second argument will be the
+in-progress response hash reference, as described below. (This allows
+customizing the action of the callback based on the C<status> or C<headers>
+received prior to the content body.)
+
+The C<request> method returns a hashref containing the response. The hashref
+will have the following keys:
+
+=over 4
+
+=item *
+
+success
+
+Boolean indicating whether the operation returned a 2XX status code
+
+=item *
+
+status
+
+The HTTP status code of the response
+
+=item *
+
+reason
+
+The response phrase returned by the server
+
+=item *
+
+content
+
+The body of the response. If the response does not have any content
+or if a data callback is provided to consume the response body,
+this will be the empty string
+
+=item *
+
+headers
+
+A hashref of header fields. All header field names will be normalized
+to be lower case. If a header is repeated, the value will be an arrayref;
+it will otherwise be a scalar string containing the value
+
+=back
+
+On an exception during the execution of the request, the C<status> field will
+contain 599, and the C<content> field will contain the text of the exception.
+
+=for Pod::Coverage agent
+default_headers
+max_redirect
+max_size
+proxy
+timeout
+
+=head1 LIMITATIONS
+
+HTTP::Tiny is I<conditionally compliant> with the
+L<HTTP/1.1 specification|http://www.w3.org/Protocols/rfc2616/rfc2616.html>.
+It attempts to meet all "MUST" requirements of the specification, but does not
+implement all "SHOULD" requirements.
+
+Some particular limitations of note include:
+
+=over
+
+=item *
+
+HTTP::Tiny focuses on correct transport. Users are responsible for ensuring
+that user-defined headers and content are compliant with the HTTP/1.1
+specification.
+
+=item *
+
+Users must ensure that URLs are properly escaped for unsafe characters and that
+international domain names are properly encoded to ASCII. See L<URI::Escape>,
+L<URI::_punycode> and L<Net::IDN::Encode>.
+
+=item *
+
+Redirection is very strict against the specification. Redirection is only
+automatic for response codes 301, 302 and 307 if the request method is 'GET' or
+'HEAD'. Response code 303 is always converted into a 'GET' redirection, as
+mandated by the specification. There is no automatic support for status 305
+("Use proxy") redirections.
+
+=item *
+
+Persistant connections are not supported. The C<Connection> header will
+always be set to C<close>.
+
+=item *
+
+Direct C<https> connections are supported only if L<IO::Socket::SSL> is
+installed. There is no support for C<https> connections via proxy.
+Any SSL certificate that matches the host is accepted -- SSL certificates
+are not verified against certificate authorities.
+
+=item *
+
+Cookies are not directly supported. Users that set a C<Cookie> header
+should also set C<max_redirect> to zero to ensure cookies are not
+inappropriately re-transmitted.
+
+=item *
+
+Proxy environment variables are not supported.
+
+=item *
+
+There is no provision for delaying a request body using an C<Expect> header.
+Unexpected C<1XX> responses are silently ignored as per the specification.
+
+=item *
+
+Only 'chunked' C<Transfer-Encoding> is supported.
+
+=item *
+
+There is no support for a Request-URI of '*' for the 'OPTIONS' request.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item *
+
+L<LWP::UserAgent>
+
+=back
+
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests by email to C<bug-http-tiny at rt.cpan.org>, or through
+the web interface at L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>. You will be automatically notified of any
+progress on the request by the system.
+
+=head2 Source Code
+
+This is open source software. The code repository is available for
+public review and contribution under the terms of the license.
+
+L<http://github.com/dagolden/p5-http-tiny/tree>
+
+ git clone git://github.com/dagolden/p5-http-tiny.git
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+Christian Hansen <chansen@cpan.org>
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2011 by Christian Hansen.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Hash/Util.pm b/Master/tlpkg/tlperl/lib/Hash/Util.pm
index 0fa14690243..8555821309b 100644
--- a/Master/tlpkg/tlperl/lib/Hash/Util.pm
+++ b/Master/tlpkg/tlperl/lib/Hash/Util.pm
@@ -4,6 +4,7 @@ require 5.007003;
use strict;
use Carp;
use warnings;
+no warnings 'uninitialized';
use warnings::register;
use Scalar::Util qw(reftype);
@@ -28,10 +29,9 @@ our @EXPORT_OK = qw(
hash_seed hv_store
);
-our $VERSION = 0.07;
-require DynaLoader;
-local @ISA = qw(DynaLoader);
-bootstrap Hash::Util $VERSION;
+our $VERSION = '0.11';
+require XSLoader;
+XSLoader::load();
sub import {
my $class = shift;
@@ -320,7 +320,8 @@ sub lock_hashref_recurse {
lock_ref_keys($hash);
foreach my $value (values %$hash) {
- if (reftype($value) eq 'HASH') {
+ my $type = reftype($value);
+ if (defined($type) and $type eq 'HASH') {
lock_hashref_recurse($value);
}
Internals::SvREADONLY($value,1);
@@ -332,7 +333,8 @@ sub unlock_hashref_recurse {
my $hash = shift;
foreach my $value (values %$hash) {
- if (reftype($value) eq 'HASH') {
+ my $type = reftype($value);
+ if (defined($type) and $type eq 'HASH') {
unlock_hashref_recurse($value);
}
Internals::SvREADONLY($value,1);
diff --git a/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm b/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
index bca3a6fd7fc..a13ea856d54 100644
--- a/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
+++ b/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
@@ -5,7 +5,7 @@ use strict;
use warnings;
use Scalar::Util qw( reftype);
-our $VERSION = '1.04';
+our $VERSION = '1.09';
require Exporter;
our @ISA = qw(Exporter);
@@ -26,7 +26,7 @@ our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
require XSLoader;
my %ob_reg; # private object registry
sub _ob_reg { \ %ob_reg }
- XSLoader::load('Hash::Util::FieldHash', $VERSION);
+ XSLoader::load();
}
sub fieldhash (\%) {
@@ -753,7 +753,7 @@ incompatibility of object bodies.
=head1 GUTS
To make C<Hash::Util::FieldHash> work, there were two changes to
-F<perl> itself. C<PERL_MAGIC_uvar> was made avalaible for hashes,
+F<perl> itself. C<PERL_MAGIC_uvar> was made available for hashes,
and weak references now call uvar C<get> magic after a weakref has been
cleared. The first feature is used to make field hashes intercept
their keys upon access. The second one triggers garbage collection.
diff --git a/Master/tlpkg/tlperl/lib/I18N/Collate.pm b/Master/tlpkg/tlperl/lib/I18N/Collate.pm
index decc86ce3fe..e080fe6eabc 100644
--- a/Master/tlpkg/tlperl/lib/I18N/Collate.pm
+++ b/Master/tlpkg/tlperl/lib/I18N/Collate.pm
@@ -1,7 +1,7 @@
package I18N::Collate;
use strict;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
=head1 NAME
@@ -10,7 +10,7 @@ I18N::Collate - compare 8-bit scalar data according to the current locale
=head1 SYNOPSIS
use I18N::Collate;
- setlocale(LC_COLLATE, 'locale-of-your-choice');
+ setlocale(LC_COLLATE, 'locale-of-your-choice');
$s1 = I18N::Collate->new("scalar_data_1");
$s2 = I18N::Collate->new("scalar_data_2");
@@ -33,8 +33,8 @@ I18N::Collate - compare 8-bit scalar data according to the current locale
***
-This module provides you with objects that will collate
-according to your national character set, provided that the
+This module provides you with objects that will collate
+according to your national character set, provided that the
POSIX setlocale() function is supported on your system.
You can compare $s1 and $s2 above with
@@ -83,11 +83,11 @@ European character set.
# setlocale(LC_COLLATE, 'locale-of-your-choice'); # 4)
# $s1 = I18N::Collate->("scalar_data_1");
# $s2 = I18N::Collate->("scalar_data_2");
-#
+#
# now you can compare $s1 and $s2: $s1 le $s2
# to extract the data itself, you need to deref: $$s1
-#
-# Notes:
+#
+# Notes:
# 1) this uses POSIX::setlocale
# 2) the basic collation conversion is done by strxfrm() which
# terminates at NUL characters being a decent C routine.
@@ -161,7 +161,7 @@ sub setlocale {
my ($category, $locale) = @_[0,1];
POSIX::setlocale($category, $locale) if (defined $category);
- # the current $LOCALE
+ # the current $LOCALE
$LOCALE = $locale || $ENV{'LC_COLLATE'} || $ENV{'LC_ALL'} || '';
}
@@ -177,7 +177,7 @@ sub C {
sub collate_xfrm {
my $s = $_[0];
my $x = '';
-
+
for (split(/(\000+)/, $s)) {
$x .= (/^\000/) ? $_ : strxfrm("$_\000");
}
diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
index 0bdc65fed1e..efc12c226d8 100644
--- a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
+++ b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
@@ -19,7 +19,7 @@ require Exporter;
);
%EXPORT_TAGS = ('ALL' => \@EXPORT_OK);
-$VERSION = "0.35";
+$VERSION = "0.35_01";
sub uniq { my %seen; return grep(!($seen{$_}++), @_); } # a util function
diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm
index 87280b7b511..f13d5460b32 100644
--- a/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm
+++ b/Master/tlpkg/tlperl/lib/I18N/LangTags/Detect.pm
@@ -11,7 +11,7 @@ use vars qw( @ISA $VERSION $MATCH_SUPERS $USING_LANGUAGE_TAGS
BEGIN { unless(defined &DEBUG) { *DEBUG = sub () {0} } }
# define the constant 'DEBUG' at compile-time
-$VERSION = "1.04";
+$VERSION = "1.05";
@ISA = ();
use I18N::LangTags qw(alternate_language_tags locale2language_tag);
@@ -136,6 +136,7 @@ sub _try_use { # Basically a wrapper around "require Modulename"
my $module = $_[0]; # ASSUME sane module name!
{ no strict 'refs';
+ no warnings 'once';
return($tried{$module} = 1)
if %{$module . "::Lexicon"} or @{$module . "::ISA"};
# weird case: we never use'd it, but there it is!
diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags/List.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags/List.pm
index 5494bea21ed..461bd4d8d71 100644
--- a/Master/tlpkg/tlperl/lib/I18N/LangTags/List.pm
+++ b/Master/tlpkg/tlperl/lib/I18N/LangTags/List.pm
@@ -4,7 +4,7 @@ package I18N::LangTags::List;
# Time-stamp: "2004-10-06 23:26:21 ADT"
use strict;
use vars qw(%Name %Is_Disrec $Debug $VERSION);
-$VERSION = '0.35';
+$VERSION = '0.35_01';
# POD at the end.
#----------------------------------------------------------------------
diff --git a/Master/tlpkg/tlperl/lib/IO.pm b/Master/tlpkg/tlperl/lib/IO.pm
index 61e957c2fcc..d6ccbfb1faa 100644
--- a/Master/tlpkg/tlperl/lib/IO.pm
+++ b/Master/tlpkg/tlperl/lib/IO.pm
@@ -7,7 +7,7 @@ use Carp;
use strict;
use warnings;
-our $VERSION = "1.25_02";
+our $VERSION = "1.25_04";
XSLoader::load 'IO', $VERSION;
sub import {
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
index 3e2e89f8e12..c3718d1f0df 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
@@ -4,13 +4,13 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status);
+use IO::Compress::Base::Common 2.033 qw(:Status);
#use Compress::Bzip2 ;
-use Compress::Raw::Bzip2 2.024 ;
+use Compress::Raw::Bzip2 2.033 ;
our ($VERSION);
-$VERSION = '2.024';
+$VERSION = '2.033';
sub mkCompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
index f23a9819c67..33e56d08a04 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status);
+use IO::Compress::Base::Common 2.033 qw(:Status);
-use Compress::Raw::Zlib 2.024 qw(Z_OK Z_FINISH MAX_WBITS) ;
+use Compress::Raw::Zlib 2.033 qw(Z_OK Z_FINISH MAX_WBITS) ;
our ($VERSION);
-$VERSION = '2.024';
+$VERSION = '2.033';
sub mkCompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
index 16f14d8e7f3..21a0be41080 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
@@ -4,10 +4,10 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status);
+use IO::Compress::Base::Common 2.033 qw(:Status);
our ($VERSION);
-$VERSION = '2.024';
+$VERSION = '2.033';
sub mkCompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
index 5a20f60007b..d0d585ce761 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
@@ -6,7 +6,7 @@ require 5.004 ;
use strict ;
use warnings;
-use IO::Compress::Base::Common 2.024 ;
+use IO::Compress::Base::Common 2.033 ;
use IO::File ;
use Scalar::Util qw(blessed readonly);
@@ -20,7 +20,7 @@ use bytes;
our (@ISA, $VERSION);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.024';
+$VERSION = '2.033';
#Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
@@ -974,7 +974,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
index 4f8b4dadc36..1b38c59846a 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
@@ -11,7 +11,7 @@ use File::GlobMapper;
require Exporter;
our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
@ISA = qw(Exporter);
-$VERSION = '2.024';
+$VERSION = '2.033';
@EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput
isaFileGlobString cleanFileGlobString oneTarget
@@ -635,7 +635,7 @@ sub IO::Compress::Base::Parameters::parse
++ $parsed{$canonkey};
return $self->setError("Muliple instances of '$key' found")
- if $parsed && $type & Parse_multiple == 0 ;
+ if $parsed && ($type & Parse_multiple) == 0 ;
my $s ;
$self->_checkType($key, $value, $type, 1, \$s)
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
index 2a85ef55b19..5d478d91bd2 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
@@ -5,16 +5,16 @@ use warnings;
use bytes;
require Exporter ;
-use IO::Compress::Base 2.024 ;
+use IO::Compress::Base 2.033 ;
-use IO::Compress::Base::Common 2.024 qw(createSelfTiedObject);
-use IO::Compress::Adapter::Bzip2 2.024 ;
+use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
+use IO::Compress::Adapter::Bzip2 2.033 ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
-$VERSION = '2.024';
+$VERSION = '2.033';
$Bzip2Error = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -51,7 +51,7 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.024 qw(:Parse);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
return (
'BlockSize100K' => [0, 1, Parse_unsigned, 1],
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
index 0f46e59d3a4..20329bb4284 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
@@ -6,16 +6,16 @@ use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.024 ;
+use IO::Compress::RawDeflate 2.033 ;
-use Compress::Raw::Zlib 2.024 ;
-use IO::Compress::Zlib::Constants 2.024 ;
-use IO::Compress::Base::Common 2.024 qw(createSelfTiedObject);
+use Compress::Raw::Zlib 2.033 ;
+use IO::Compress::Zlib::Constants 2.033 ;
+use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$DeflateError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -281,8 +281,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<deflate> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -327,6 +325,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -394,8 +394,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any compressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all compressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all compressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -923,7 +923,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
index 1978b91b283..2a7894257d4 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
@@ -8,12 +8,12 @@ use warnings;
use bytes;
-use IO::Compress::RawDeflate 2.024 ;
+use IO::Compress::RawDeflate 2.033 ;
-use Compress::Raw::Zlib 2.024 ;
-use IO::Compress::Base::Common 2.024 qw(:Status :Parse createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.024 ;
-use IO::Compress::Zlib::Extra 2.024 ;
+use Compress::Raw::Zlib 2.033 ;
+use IO::Compress::Base::Common 2.033 qw(:Status :Parse createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.033 ;
+use IO::Compress::Zlib::Extra 2.033 ;
BEGIN
{
@@ -27,7 +27,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$GzipError = '' ;
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -141,9 +141,9 @@ sub ckParams
if ( ! $got->parsed('ExtraFlags')) {
$got->value('ExtraFlags' => 2)
- if $got->value('Level') == Z_BEST_SPEED ;
- $got->value('ExtraFlags' => 4)
if $got->value('Level') == Z_BEST_COMPRESSION ;
+ $got->value('ExtraFlags' => 4)
+ if $got->value('Level') == Z_BEST_SPEED ;
}
my $data = $got->value('ExtraField') ;
@@ -392,8 +392,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<gzip> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -445,6 +443,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -512,8 +512,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any compressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all compressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all compressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -1235,7 +1235,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
index 8504330d188..ca74d738837 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
-$VERSION = '2.024';
+$VERSION = '2.033';
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
index b97b51c0509..bb077f989c9 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
@@ -7,16 +7,16 @@ use warnings;
use bytes;
-use IO::Compress::Base 2.024 ;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate 2.024 ;
+use IO::Compress::Base 2.033 ;
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Compress::Adapter::Deflate 2.033 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$RawDeflateError = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -142,8 +142,8 @@ sub getZlibParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.024 qw(:Parse);
- use Compress::Raw::Zlib 2.024 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use Compress::Raw::Zlib 2.033 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
return (
@@ -368,8 +368,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<rawdeflate> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -414,6 +412,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -481,8 +481,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any compressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all compressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all compressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -1010,7 +1010,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
index 5e37d78f97d..62acc8e1fa2 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
@@ -4,26 +4,26 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
-use IO::Compress::RawDeflate 2.024 ;
-use IO::Compress::Adapter::Deflate 2.024 ;
-use IO::Compress::Adapter::Identity 2.024 ;
-use IO::Compress::Zlib::Extra 2.024 ;
-use IO::Compress::Zip::Constants 2.024 ;
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Compress::RawDeflate 2.033 ;
+use IO::Compress::Adapter::Deflate 2.033 ;
+use IO::Compress::Adapter::Identity 2.033 ;
+use IO::Compress::Zlib::Extra 2.033 ;
+use IO::Compress::Zip::Constants 2.033 ;
-use Compress::Raw::Zlib 2.024 qw(crc32) ;
+use Compress::Raw::Zlib 2.033 qw(crc32) ;
BEGIN
{
eval { require IO::Compress::Adapter::Bzip2 ;
- import IO::Compress::Adapter::Bzip2 2.024 ;
+ import IO::Compress::Adapter::Bzip2 2.033 ;
require IO::Compress::Bzip2 ;
- import IO::Compress::Bzip2 2.024 ;
+ import IO::Compress::Bzip2 2.033 ;
} ;
# eval { require IO::Compress::Adapter::Lzma ;
# import IO::Compress::Adapter::Lzma 2.020 ;
# require IO::Compress::Lzma ;
-# import IO::Compress::Lzma 2.024 ;
+# import IO::Compress::Lzma 2.033 ;
# } ;
}
@@ -32,7 +32,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$ZipError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -156,7 +156,7 @@ sub mkHeader
my $extFileAttr = 0 ;
# This code assumes Unix.
- $extFileAttr = 0666 << 16
+ $extFileAttr = 0100644 << 16
if $osCode == ZIP_OS_CODE_UNIX ;
if (*$self->{ZipData}{Zip64}) {
@@ -513,8 +513,8 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.024 qw(:Parse);
- use Compress::Raw::Zlib 2.024 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use Compress::Raw::Zlib 2.033 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
my @Bzip2 = ();
@@ -538,7 +538,10 @@ sub getExtraParams
'Time' => [0, 1, Parse_any, undef],
'exTime' => [0, 1, Parse_any, undef],
'exUnix2' => [0, 1, Parse_any, undef],
- 'ExtAttr' => [0, 1, Parse_any, 0],
+ 'ExtAttr' => [0, 1, Parse_any,
+ $Compress::Raw::Zlib::gzip_os_code == 3
+ ? 0100644 << 16
+ : 0],
'OS_Code' => [0, 1, Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
'TextFlag' => [0, 1, Parse_boolean, 0],
@@ -770,8 +773,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<zip> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -823,6 +824,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -890,8 +893,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any compressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all compressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all compressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -932,28 +935,32 @@ compressed data to a buffer, C<$buffer>.
zip $input => \$buffer
or die "zip failed: $ZipError\n";
-To compress all files in the directory "/my/home" that match "*.txt"
-and store the compressed data in the same directory
+To create a zip file, C<output.zip>, that contains the compressed contents
+of the files C<alpha.txt> and C<beta.txt>
use strict ;
use warnings ;
use IO::Compress::Zip qw(zip $ZipError) ;
- zip '</my/home/*.txt>' => '<*.zip>'
+ zip [ 'alpha.txt', 'beta.txt' ] => 'output.zip'
or die "zip failed: $ZipError\n";
-and if you want to compress each file one at a time, this will do the trick
+Alternatively, rather than having to explicitly name each of the files that
+you want to compress, you could use a fileglob to select all the C<txt>
+files in the current directory, as follows
use strict ;
use warnings ;
use IO::Compress::Zip qw(zip $ZipError) ;
- for my $input ( glob "/my/home/*.txt" )
- {
- my $output = "$input.zip" ;
- zip $input => $output
- or die "Error compressing '$input': $ZipError\n";
- }
+ my @files = <*.txt>;
+ zip \@files => 'output.zip'
+ or die "zip failed: $ZipError\n";
+
+or more succinctly
+
+ zip [ <*.txt> ] => 'output.zip'
+ or die "zip failed: $ZipError\n";
=head1 OO Interface
@@ -1051,15 +1058,21 @@ This parameter defaults to 0.
=item C<< Name => $string >>
-Stores the contents of C<$string> in the zip filename header field. If
-C<Name> is not specified, no zip filename field will be created.
+Stores the contents of C<$string> in the zip filename header field.
+
+If C<Name> is not specified and the C<$input> parameter is a filename that
+will be used for the zip filename header field.
+
+If C<Name> is not specified and the C<$input> parameter is not a filename,
+no zip filename field will be created.
=item C<< Time => $number >>
Sets the last modified time field in the zip header to $number.
This field defaults to the time the C<IO::Compress::Zip> object was created
-if this option is not specified.
+if this option is not specified and the C<$input> parameter is not a
+filename.
=item C<< ExtAttr => $attr >>
@@ -1068,10 +1081,10 @@ header of the zip file. This is a 4 byte field.
If you are running a Unix derivative this value defaults to
- 0666 << 16
+ 0100644 << 16
This should allow read/write access to any files that are extracted from
-the zip file/buffer.
+the zip file/buffer`.
For all other systems it defaults to 0.
@@ -1605,7 +1618,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
index c8cb95342a2..44fd5e891d0 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
@@ -7,7 +7,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
-$VERSION = '2.024';
+$VERSION = '2.033';
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
index 10fcf345f63..4c2d5eb00f6 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT);
-$VERSION = '2.024';
+$VERSION = '2.033';
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
index 6812bb409dc..3b13e291cc6 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
@@ -8,9 +8,9 @@ use bytes;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.024';
+$VERSION = '2.033';
-use IO::Compress::Gzip::Constants 2.024 ;
+use IO::Compress::Gzip::Constants 2.033 ;
sub ExtraFieldError
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Dir.pm b/Master/tlpkg/tlperl/lib/IO/Dir.pm
index cce392c2ce3..74d07784668 100644
--- a/Master/tlpkg/tlperl/lib/IO/Dir.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Dir.pm
@@ -19,14 +19,14 @@ use File::stat;
use File::Spec;
@ISA = qw(Tie::Hash Exporter);
-$VERSION = "1.07";
+$VERSION = "1.08";
$VERSION = eval $VERSION;
@EXPORT_OK = qw(DIR_UNLINK);
sub DIR_UNLINK () { 1 }
sub new {
- @_ >= 1 && @_ <= 2 or croak 'usage: new IO::Dir [DIRNAME]';
+ @_ >= 1 && @_ <= 2 or croak 'usage: IO::Dir->new([DIRNAME])';
my $class = shift;
my $dh = gensym;
if (@_) {
diff --git a/Master/tlpkg/tlperl/lib/IO/File.pm b/Master/tlpkg/tlperl/lib/IO/File.pm
index d33d090d0b2..1162c812e3a 100644
--- a/Master/tlpkg/tlperl/lib/IO/File.pm
+++ b/Master/tlpkg/tlperl/lib/IO/File.pm
@@ -10,25 +10,25 @@ IO::File - supply object methods for filehandles
use IO::File;
- $fh = new IO::File;
+ $fh = IO::File->new();
if ($fh->open("< file")) {
print <$fh>;
$fh->close;
}
- $fh = new IO::File "> file";
+ $fh = IO::File->new("> file");
if (defined $fh) {
print $fh "bar\n";
$fh->close;
}
- $fh = new IO::File "file", "r";
+ $fh = IO::File->new("file", "r");
if (defined $fh) {
print <$fh>;
undef $fh; # automatically closes the file
}
- $fh = new IO::File "file", O_WRONLY|O_APPEND;
+ $fh = IO::File->new("file", O_WRONLY|O_APPEND);
if (defined $fh) {
print $fh "corge\n";
@@ -137,7 +137,7 @@ require Exporter;
@ISA = qw(IO::Handle IO::Seekable Exporter);
-$VERSION = "1.14";
+$VERSION = "1.15";
@EXPORT = @IO::Seekable::EXPORT;
@@ -157,7 +157,7 @@ sub new {
my $type = shift;
my $class = ref($type) || $type || "IO::File";
@_ >= 0 && @_ <= 3
- or croak "usage: new $class [FILENAME [,MODE [,PERMS]]]";
+ or croak "usage: $class->new([FILENAME [,MODE [,PERMS]]])";
my $fh = $class->SUPER::new();
if (@_) {
$fh->open(@_)
diff --git a/Master/tlpkg/tlperl/lib/IO/Handle.pm b/Master/tlpkg/tlperl/lib/IO/Handle.pm
index 2f1f1b423bc..6ca3c8a35d6 100644
--- a/Master/tlpkg/tlperl/lib/IO/Handle.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Handle.pm
@@ -8,13 +8,13 @@ IO::Handle - supply object methods for I/O handles
use IO::Handle;
- $io = new IO::Handle;
+ $io = IO::Handle->new();
if ($io->fdopen(fileno(STDIN),"r")) {
print $io->getline;
$io->close;
}
- $io = new IO::Handle;
+ $io = IO::Handle->new();
if ($io->fdopen(fileno(STDOUT),"w")) {
$io->print("Some text\n");
}
@@ -268,7 +268,7 @@ use IO (); # Load the XS module
require Exporter;
@ISA = qw(Exporter);
-$VERSION = "1.28";
+$VERSION = "1.31";
$VERSION = eval $VERSION;
@EXPORT_OK = qw(
@@ -309,14 +309,25 @@ $VERSION = eval $VERSION;
sub new {
my $class = ref($_[0]) || $_[0] || "IO::Handle";
- @_ == 1 or croak "usage: new $class";
+ if (@_ != 1) {
+ # Since perl will automatically require IO::File if needed, but
+ # also initialises IO::File's @ISA as part of the core we must
+ # ensure IO::File is loaded if IO::Handle is. This avoids effect-
+ # ively "half-loading" IO::File.
+ if ($] > 5.013 && $class eq 'IO::File' && !$INC{"IO/File.pm"}) {
+ require IO::File;
+ shift;
+ return IO::File::->new(@_);
+ }
+ croak "usage: $class->new()";
+ }
my $io = gensym;
bless $io, $class;
}
sub new_from_fd {
my $class = ref($_[0]) || $_[0] || "IO::Handle";
- @_ == 3 or croak "usage: new_from_fd $class FD, MODE";
+ @_ == 3 or croak "usage: $class->new_from_fd(FD, MODE)";
my $io = gensym;
shift;
IO::Handle::fdopen($io, @_)
@@ -603,8 +614,8 @@ sub ioctl {
return ioctl($io, $op, $_[2]);
}
-# this sub is for compatability with older releases of IO that used
-# a sub called constant to detemine if a constant existed -- GMB
+# this sub is for compatibility with older releases of IO that used
+# a sub called constant to determine if a constant existed -- GMB
#
# The SEEK_* and _IO?BF constants were the only constants at that time
# any new code should just chech defined(&CONSTANT_NAME)
diff --git a/Master/tlpkg/tlperl/lib/IO/Pipe.pm b/Master/tlpkg/tlperl/lib/IO/Pipe.pm
index 827cc48bfcd..3b4313abb1f 100644
--- a/Master/tlpkg/tlperl/lib/IO/Pipe.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Pipe.pm
@@ -14,12 +14,12 @@ our($VERSION);
use Carp;
use Symbol;
-$VERSION = "1.13";
+$VERSION = "1.14";
sub new {
my $type = shift;
my $class = ref($type) || $type || "IO::Pipe";
- @_ == 0 || @_ == 2 or croak "usage: new $class [READFH, WRITEFH]";
+ @_ == 0 || @_ == 2 or croak "usage: $class->([READFH, WRITEFH])";
my $me = bless gensym(), $class;
@@ -166,7 +166,7 @@ IO::Pipe - supply object methods for pipes
use IO::Pipe;
- $pipe = new IO::Pipe;
+ $pipe = IO::Pipe->new();
if($pid = fork()) { # Parent
$pipe->reader();
@@ -184,7 +184,7 @@ IO::Pipe - supply object methods for pipes
or
- $pipe = new IO::Pipe;
+ $pipe = IO::Pipe->new();
$pipe->reader(qw(ls -l));
diff --git a/Master/tlpkg/tlperl/lib/IO/Poll.pm b/Master/tlpkg/tlperl/lib/IO/Poll.pm
index e7fb0135069..cf7ab26f75b 100644
--- a/Master/tlpkg/tlperl/lib/IO/Poll.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Poll.pm
@@ -13,7 +13,7 @@ use Exporter ();
our(@ISA, @EXPORT_OK, @EXPORT, $VERSION);
@ISA = qw(Exporter);
-$VERSION = "0.07";
+$VERSION = "0.08";
@EXPORT = qw( POLLIN
POLLOUT
@@ -140,7 +140,7 @@ IO::Poll - Object interface to system poll call
use IO::Poll qw(POLLRDNORM POLLWRNORM POLLIN POLLHUP);
- $poll = new IO::Poll;
+ $poll = IO::Poll->new();
$poll->mask($input_handle => POLLIN);
$poll->mask($output_handle => POLLOUT);
diff --git a/Master/tlpkg/tlperl/lib/IO/Select.pm b/Master/tlpkg/tlperl/lib/IO/Select.pm
index fc05fe70e9c..14b9797a957 100644
--- a/Master/tlpkg/tlperl/lib/IO/Select.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Select.pm
@@ -11,7 +11,7 @@ use warnings::register;
use vars qw($VERSION @ISA);
require Exporter;
-$VERSION = "1.17";
+$VERSION = "1.20";
@ISA = qw(Exporter); # This is only so we can do version checking
@@ -74,9 +74,9 @@ sub _update
foreach $f (@_)
{
my $fn = $vec->_fileno($f);
- next unless defined $fn;
- my $i = $fn + FIRST_FD;
if ($add) {
+ next unless defined $fn;
+ my $i = $fn + FIRST_FD;
if (defined $vec->[$i]) {
$vec->[$i] = $f; # if array rest might be different, so we update
next;
@@ -85,6 +85,12 @@ sub _update
vec($bits, $fn, 1) = 1;
$vec->[$i] = $f;
} else { # remove
+ if ( ! defined $fn ) { # remove if fileno undef'd
+ defined($_) && $_ == $f and do { $vec->[FD_COUNT]--; $_ = undef; }
+ for @{$vec}[FIRST_FD .. $#$vec];
+ next;
+ }
+ my $i = $fn + FIRST_FD;
next unless defined $vec->[$i];
$vec->[FD_COUNT]--;
vec($bits, $fn, 1) = 0;
@@ -346,8 +352,8 @@ listening for more connections on a listen socket
use IO::Select;
use IO::Socket;
- $lsn = new IO::Socket::INET(Listen => 1, LocalPort => 8080);
- $sel = new IO::Select( $lsn );
+ $lsn = IO::Socket::INET->new(Listen => 1, LocalPort => 8080);
+ $sel = IO::Select->new( $lsn );
while(@ready = $sel->can_read) {
foreach $fh (@ready) {
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket.pm b/Master/tlpkg/tlperl/lib/IO/Socket.pm
index 6d4f6ab6123..31fa18f95d4 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket.pm
@@ -23,7 +23,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
@ISA = qw(IO::Handle);
-$VERSION = "1.31";
+$VERSION = "1.32";
@EXPORT_OK = qw(sockatmark);
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
index 98677e3c09f..6703e59285a 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status);
+use IO::Compress::Base::Common 2.033 qw(:Status);
-use Compress::Raw::Bzip2 2.024 ;
+use Compress::Raw::Bzip2 2.033 ;
our ($VERSION, @ISA);
-$VERSION = '2.024';
+$VERSION = '2.033';
sub mkUncompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
index 27de6e0f36b..0705a1c9d26 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
@@ -4,13 +4,13 @@ use warnings;
use strict;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status);
+use IO::Compress::Base::Common 2.033 qw(:Status);
our ($VERSION);
-$VERSION = '2.024';
+$VERSION = '2.033';
-use Compress::Raw::Zlib 2.024 ();
+use Compress::Raw::Zlib 2.033 ();
sub mkUncompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm
index aac1e413ffe..dc0365ce009 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm
@@ -4,11 +4,11 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status);
-use Compress::Raw::Zlib 2.024 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common 2.033 qw(:Status);
+use Compress::Raw::Zlib 2.033 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
our ($VERSION);
-$VERSION = '2.024';
+$VERSION = '2.033';
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
index 68038f5d374..796230ec92a 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
@@ -6,22 +6,22 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.024 ();
+use IO::Uncompress::Adapter::Inflate 2.033 ();
-use IO::Uncompress::Base 2.024 ;
-use IO::Uncompress::Gunzip 2.024 ;
-use IO::Uncompress::Inflate 2.024 ;
-use IO::Uncompress::RawInflate 2.024 ;
-use IO::Uncompress::Unzip 2.024 ;
+use IO::Uncompress::Base 2.033 ;
+use IO::Uncompress::Gunzip 2.033 ;
+use IO::Uncompress::Inflate 2.033 ;
+use IO::Uncompress::RawInflate 2.033 ;
+use IO::Uncompress::Unzip 2.033 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$AnyInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -48,7 +48,7 @@ sub anyinflate
sub getExtraParams
{
- use IO::Compress::Base::Common 2.024 qw(:Parse);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
}
@@ -256,8 +256,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<anyinflate> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -302,6 +300,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -371,8 +371,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any uncompressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all uncompressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all uncompressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -562,7 +562,7 @@ the module will allow reading of it anyway.
In addition, if the input file/buffer does contain compressed data and
there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
+will make this module treat the whole file/buffer as a single data stream.
This option defaults to 1.
@@ -980,7 +980,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm
index 5984921e25b..64d2fa001a8 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm
@@ -4,16 +4,16 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
-use IO::Uncompress::Base 2.024 ;
+use IO::Uncompress::Base 2.033 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$AnyUncompressError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,22 +27,22 @@ Exporter::export_ok_tags('all');
BEGIN
{
- eval ' use IO::Uncompress::Adapter::Inflate 2.024 ;';
- eval ' use IO::Uncompress::Adapter::Bunzip2 2.024 ;';
- eval ' use IO::Uncompress::Adapter::LZO 2.024 ;';
- eval ' use IO::Uncompress::Adapter::Lzf 2.024 ;';
+ eval ' use IO::Uncompress::Adapter::Inflate 2.033 ;';
+ eval ' use IO::Uncompress::Adapter::Bunzip2 2.033 ;';
+ eval ' use IO::Uncompress::Adapter::LZO 2.033 ;';
+ eval ' use IO::Uncompress::Adapter::Lzf 2.033 ;';
eval ' use IO::Uncompress::Adapter::UnLzma 2.020 ;';
eval ' use IO::Uncompress::Adapter::UnXz 2.020 ;';
- eval ' use IO::Uncompress::Bunzip2 2.024 ;';
- eval ' use IO::Uncompress::UnLzop 2.024 ;';
- eval ' use IO::Uncompress::Gunzip 2.024 ;';
- eval ' use IO::Uncompress::Inflate 2.024 ;';
- eval ' use IO::Uncompress::RawInflate 2.024 ;';
- eval ' use IO::Uncompress::Unzip 2.024 ;';
- eval ' use IO::Uncompress::UnLzf 2.024 ;';
- eval ' use IO::Uncompress::UnLzma 2.024 ;';
- eval ' use IO::Uncompress::UnXz 2.024 ;';
+ eval ' use IO::Uncompress::Bunzip2 2.033 ;';
+ eval ' use IO::Uncompress::UnLzop 2.033 ;';
+ eval ' use IO::Uncompress::Gunzip 2.033 ;';
+ eval ' use IO::Uncompress::Inflate 2.033 ;';
+ eval ' use IO::Uncompress::RawInflate 2.033 ;';
+ eval ' use IO::Uncompress::Unzip 2.033 ;';
+ eval ' use IO::Uncompress::UnLzf 2.033 ;';
+ eval ' use IO::Uncompress::UnLzma 2.033 ;';
+ eval ' use IO::Uncompress::UnXz 2.033 ;';
}
sub new
@@ -60,7 +60,7 @@ sub anyuncompress
sub getExtraParams
{
- use IO::Compress::Base::Common 2.024 qw(:Parse);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ,
'UnLzma' => [1, 1, Parse_boolean, 0] ) ;
}
@@ -365,8 +365,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<anyuncompress> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -411,6 +409,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -480,8 +480,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any uncompressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all uncompressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all uncompressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -671,7 +671,7 @@ the module will allow reading of it anyway.
In addition, if the input file/buffer does contain compressed data and
there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
+will make this module treat the whole file/buffer as a single data stream.
This option defaults to 1.
@@ -1011,7 +1011,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm
index 33f2ac23758..77e4a8c5810 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm
@@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.024';
+$VERSION = '2.033';
use constant G_EOF => 0 ;
use constant G_ERR => -1 ;
-use IO::Compress::Base::Common 2.024 ;
+use IO::Compress::Base::Common 2.033 ;
#use Parse::Parameters ;
use IO::File ;
@@ -34,9 +34,11 @@ sub smartRead
my $self = $_[0];
my $out = $_[1];
my $size = $_[2];
+ #$$out = "" ;
$$out = "" ;
my $offset = 0 ;
+ my $status = 1;
if (defined *$self->{InputLength}) {
@@ -69,11 +71,12 @@ sub smartRead
# because the filehandle may not support the offset parameter
# An example is Net::FTP
my $tmp = '';
- *$self->{FH}->read($tmp, $get_size) &&
- (substr($$out, $offset) = $tmp);
+ $status = *$self->{FH}->read($tmp, $get_size) ;
+ substr($$out, $offset) = $tmp
+ if defined $status && $status > 0 ;
}
else
- { *$self->{FH}->read($$out, $get_size) }
+ { $status = *$self->{FH}->read($$out, $get_size) }
}
elsif (defined *$self->{InputEvent}) {
my $got = 1 ;
@@ -105,6 +108,11 @@ sub smartRead
*$self->{InputLengthRemaining} -= length($$out) #- $offset
if defined *$self->{InputLength};
+ if (! defined $status) {
+ $self->saveStatus($!) ;
+ return STATUS_ERROR;
+ }
+
$self->saveStatus(length $$out < 0 ? STATUS_ERROR : STATUS_OK) ;
return length $$out;
@@ -776,8 +784,8 @@ sub readBlock
}
my $status = $self->smartRead($buff, $size) ;
- return $self->saveErrorString(STATUS_ERROR, "Error Reading Data")
- if $status < 0 ;
+ return $self->saveErrorString(STATUS_ERROR, "Error Reading Data: $!")
+ if $status == STATUS_ERROR ;
if ($status == 0 ) {
*$self->{Closed} = 1 ;
@@ -814,7 +822,7 @@ sub _raw_read
my $len = $self->smartRead(\$tmp_buff, *$self->{BlockSize}) ;
return $self->saveErrorString(G_ERR, "Error reading data: $!", $!)
- if $len < 0 ;
+ if $len == STATUS_ERROR ;
if ($len == 0 ) {
*$self->{EndStream} = 1 ;
@@ -980,7 +988,7 @@ sub gotoNextStream
#*$self->{EndStream} = 0 ;
if ( ! defined $magic) {
- if (! *$self->{Transparent} )
+ if (! *$self->{Transparent} || $self->eof())
{
*$self->{EndStream} = 1 ;
return 0;
@@ -1123,33 +1131,34 @@ sub read
sub _getline
{
my $self = shift ;
+ my $status = 0 ;
# Slurp Mode
if ( ! defined $/ ) {
my $data ;
- 1 while $self->read($data) > 0 ;
- return \$data ;
+ 1 while ($status = $self->read($data)) > 0 ;
+ return $status < 0 ? \undef : \$data ;
}
# Record Mode
if ( ref $/ eq 'SCALAR' && ${$/} =~ /^\d+$/ && ${$/} > 0) {
my $reclen = ${$/} ;
my $data ;
- $self->read($data, $reclen) ;
- return \$data ;
+ $status = $self->read($data, $reclen) ;
+ return $status < 0 ? \undef : \$data ;
}
# Paragraph Mode
if ( ! length $/ ) {
my $paragraph ;
- while ($self->read($paragraph) > 0 ) {
+ while (($status = $self->read($paragraph)) > 0 ) {
if ($paragraph =~ s/^(.*?\n\n+)//s) {
*$self->{Pending} = $paragraph ;
my $par = $1 ;
return \$par ;
}
}
- return \$paragraph;
+ return $status < 0 ? \undef : \$paragraph;
}
# $/ isn't empty, or a reference, so it's Line Mode.
@@ -1165,7 +1174,7 @@ sub _getline
return \$l;
}
- while ($self->read($line) > 0 ) {
+ while (($status = $self->read($line)) > 0 ) {
my $offset = index($line, $/);
if ($offset >= 0) {
my $l = substr($line, 0, $offset + length $/ );
@@ -1175,7 +1184,7 @@ sub _getline
}
}
- return \$line;
+ return $status < 0 ? \undef : \$line;
}
}
@@ -1445,7 +1454,7 @@ IO::Uncompress::Base - Base Class for IO::Uncompress modules
=head1 DESCRIPTION
This module is not intended for direct use in application code. Its sole
-purpose if to to be sub-classed by IO::Unompress modules.
+purpose if to to be sub-classed by IO::Uncompress modules.
=head1 SEE ALSO
@@ -1467,7 +1476,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm
index b3988c41851..39adbef079b 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm
@@ -4,15 +4,15 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Base 2.024 ;
-use IO::Uncompress::Adapter::Bunzip2 2.024 ;
+use IO::Uncompress::Base 2.033 ;
+use IO::Uncompress::Adapter::Bunzip2 2.033 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
-$VERSION = '2.024';
+$VERSION = '2.033';
$Bunzip2Error = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -40,7 +40,7 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.024 qw(:Parse);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
return (
'Verbosity' => [1, 1, Parse_boolean, 0],
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
index f3e4e6561f0..94fd6756d9e 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
@@ -9,12 +9,12 @@ use strict ;
use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.024 ;
+use IO::Uncompress::RawInflate 2.033 ;
-use Compress::Raw::Zlib 2.024 qw( crc32 ) ;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.024 ;
-use IO::Compress::Zlib::Extra 2.024 ;
+use Compress::Raw::Zlib 2.033 qw( crc32 ) ;
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.033 ;
+use IO::Compress::Zlib::Extra 2.033 ;
require Exporter ;
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
$GunzipError = '';
-$VERSION = '2.024';
+$VERSION = '2.033';
sub new
{
@@ -47,7 +47,7 @@ sub gunzip
sub getExtraParams
{
- use IO::Compress::Base::Common 2.024 qw(:Parse);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ;
}
@@ -392,8 +392,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<gunzip> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -438,6 +436,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -507,8 +507,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any uncompressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all uncompressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all uncompressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -698,7 +698,7 @@ the module will allow reading of it anyway.
In addition, if the input file/buffer does contain compressed data and
there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
+will make this module treat the whole file/buffer as a single data stream.
This option defaults to 1.
@@ -1104,7 +1104,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm
index 956f62e0835..a7b12fcde4f 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm
@@ -5,15 +5,15 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.024 ;
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.033 ;
-use IO::Uncompress::RawInflate 2.024 ;
+use IO::Uncompress::RawInflate 2.033 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$InflateError = '';
@ISA = qw( Exporter IO::Uncompress::RawInflate );
@@ -313,8 +313,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<inflate> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -359,6 +357,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -428,8 +428,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any uncompressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all uncompressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all uncompressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -619,7 +619,7 @@ the module will allow reading of it anyway.
In addition, if the input file/buffer does contain compressed data and
there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
+will make this module treat the whole file/buffer as a single data stream.
This option defaults to 1.
@@ -975,7 +975,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm
index f017fa0f599..07d70e316c7 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm
@@ -5,16 +5,16 @@ use strict ;
use warnings;
use bytes;
-use Compress::Raw::Zlib 2.024 ;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
+use Compress::Raw::Zlib 2.033 ;
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Base 2.024 ;
-use IO::Uncompress::Adapter::Inflate 2.024 ;
+use IO::Uncompress::Base 2.033 ;
+use IO::Uncompress::Adapter::Inflate 2.033 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
-$VERSION = '2.024';
+$VERSION = '2.033';
$RawInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -461,8 +461,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<rawinflate> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -507,6 +505,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -576,8 +576,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any uncompressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all uncompressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all uncompressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -764,7 +764,7 @@ the module will allow reading of it anyway.
In addition, if the input file/buffer does contain compressed data and
there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
+will make this module treat the whole file/buffer as a single data stream.
This option defaults to 1.
@@ -1103,7 +1103,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
index e7d6849f66b..a678251a899 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
@@ -8,14 +8,14 @@ use strict ;
use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.024 ;
-use IO::Compress::Base::Common 2.024 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.024 ;
-use IO::Uncompress::Adapter::Identity 2.024 ;
-use IO::Compress::Zlib::Extra 2.024 ;
-use IO::Compress::Zip::Constants 2.024 ;
+use IO::Uncompress::RawInflate 2.033 ;
+use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Uncompress::Adapter::Inflate 2.033 ;
+use IO::Uncompress::Adapter::Identity 2.033 ;
+use IO::Compress::Zlib::Extra 2.033 ;
+use IO::Compress::Zip::Constants 2.033 ;
-use Compress::Raw::Zlib 2.024 qw(crc32) ;
+use Compress::Raw::Zlib 2.033 qw(crc32) ;
BEGIN
{
@@ -30,7 +30,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-$VERSION = '2.024';
+$VERSION = '2.033';
$UnzipError = '';
@ISA = qw(Exporter IO::Uncompress::RawInflate);
@@ -63,7 +63,7 @@ sub unzip
sub getExtraParams
{
- use IO::Compress::Base::Common 2.024 qw(:Parse);
+ use IO::Compress::Base::Common 2.033 qw(:Parse);
return (
@@ -894,8 +894,6 @@ If C<$input> is a string that is delimited by the characters "<" and ">"
C<unzip> will assume that it is an I<input fileglob string>. The
input is the list of files that match the fileglob.
-If the fileglob does not match any files ...
-
See L<File::GlobMapper|File::GlobMapper> for more details.
=back
@@ -940,6 +938,8 @@ output is the list of files that match the fileglob.
When C<$output> is an fileglob string, C<$input> must also be a fileglob
string. Anything else is an error.
+See L<File::GlobMapper|File::GlobMapper> for more details.
+
=back
If the C<$output> parameter is any other type, C<undef> will be returned.
@@ -1009,8 +1009,8 @@ data to the output data stream.
So when the output is a filehandle it will carry out a seek to the eof
before writing any uncompressed data. If the output is a filename, it will be opened for
-appending. If the output is a buffer, all uncompressed data will be appened to
-the existing buffer.
+appending. If the output is a buffer, all uncompressed data will be
+appended to the existing buffer.
Conversely when C<Append> is not specified, or it is present and is set to
false, it will operate as follows.
@@ -1056,54 +1056,57 @@ C<InputLength> option.
=head2 Examples
-To read the contents of the file C<file1.txt.zip> and write the
-uncompressed data to the file C<file1.txt>.
+Say you have a zip file, C<file1.zip>, that only contains a
+single member, you can read it and write the uncompressed data to the
+file C<file1.txt> like this.
use strict ;
use warnings ;
use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
- my $input = "file1.txt.zip";
+ my $input = "file1.zip";
my $output = "file1.txt";
unzip $input => $output
or die "unzip failed: $UnzipError\n";
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
+If you have a zip file that contains multiple members and want to read a
+specific member from the file, say C<"data1">, use the C<Name> option
use strict ;
use warnings ;
use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
- use IO::File ;
- my $input = new IO::File "<file1.txt.zip"
- or die "Cannot open 'file1.txt.zip': $!\n" ;
- my $buffer ;
- unzip $input => \$buffer
+ my $input = "file1.zip";
+ my $output = "file1.txt";
+ unzip $input => $output, Name => "data1"
or die "unzip failed: $UnzipError\n";
-To uncompress all files in the directory "/my/home" that match "*.txt.zip" and store the compressed data in the same directory
+Alternatively, if you want to read the C<"data1"> member into memory, use
+a scalar reference for the C<output> partameter.
use strict ;
use warnings ;
use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
- unzip '</my/home/*.txt.zip>' => '</my/home/#1.txt>'
+ my $input = "file1.zip";
+ my $output ;
+ unzip $input => \$output, Name => "data1"
or die "unzip failed: $UnzipError\n";
+ # $output now contains the uncompressed data
-and if you want to compress each file one at a time, this will do the trick
+To read from an existing Perl filehandle, C<$input>, and write the
+uncompressed data to a buffer, C<$buffer>.
use strict ;
use warnings ;
use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
+ use IO::File ;
- for my $input ( glob "/my/home/*.txt.zip" )
- {
- my $output = $input;
- $output =~ s/.zip// ;
- unzip $input => $output
- or die "Error compressing '$input': $UnzipError\n";
- }
+ my $input = new IO::File "<file1.zip"
+ or die "Cannot open 'file1.zip': $!\n" ;
+ my $buffer ;
+ unzip $input => \$buffer
+ or die "unzip failed: $UnzipError\n";
=head1 OO Interface
@@ -1163,6 +1166,10 @@ OPTS is a combination of the following options:
=over 5
+=item C<< Name => "membername" >>
+
+Open "membername" from the zip file for reading.
+
=item C<< AutoClose => 0|1 >>
This option is only valid when the C<$input> parameter is a filehandle. If
@@ -1199,7 +1206,7 @@ the module will allow reading of it anyway.
In addition, if the input file/buffer does contain compressed data and
there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
+will make this module treat the whole file/buffer as a single data stream.
This option defaults to 1.
@@ -1509,6 +1516,43 @@ Same as doing this
See L<IO::Uncompress::Unzip::FAQ|IO::Uncompress::Unzip::FAQ/"Compressed files and Net::FTP">
+=head2 Walking through a zip file
+
+The code below can be used to traverse a zip file, one compressed data
+stream at a time.
+
+ use IO::Uncompress::Unzip qw($UnzipError);
+
+ my $zipfile = "somefile.zip";
+ my $u = new IO::Uncompress::Unzip $zipfile
+ or die "Cannot open $zipfile: $UnzipError";
+
+ my $status;
+ for ($status = 1; ! $u->eof(); $status = $u->nextStream())
+ {
+
+ my $name = $u->getHeaderInfo()->{Name};
+ warn "Processing member $name\n" ;
+
+ my $buff;
+ while (($status = $u->read($buff)) > 0) {
+ # Do something here
+ }
+
+ last if $status < 0;
+ }
+
+ die "Error processing $zipfile: $!\n"
+ if $status < 0 ;
+
+Each individual compressed data stream is read until the logical
+end-of-file is reached. Then C<nextStream> is called. This will skip to the
+start of the next compressed data stream and clear the end-of-file flag.
+
+It is also worth noting that C<nextStream> can be called at any time -- you
+don't have to wait until you have exhausted a compressed data stream before
+skipping to the next one.
+
=head1 SEE ALSO
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
@@ -1542,7 +1586,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
index e60c93fda24..5c59277d010 100644
--- a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
+++ b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
@@ -14,9 +14,10 @@ BEGIN {
use Exporter ();
use vars qw[ @ISA $VERSION @EXPORT_OK $VERBOSE $DEBUG
$USE_IPC_RUN $USE_IPC_OPEN3 $CAN_USE_RUN_FORKED $WARN
+ $INSTANCES
];
- $VERSION = '0.54';
+ $VERSION = '0.70';
$VERBOSE = 0;
$DEBUG = 0;
$WARN = 1;
@@ -32,6 +33,7 @@ BEGIN {
require FileHandle; FileHandle->import();
require Socket; Socket->import();
require Time::HiRes; Time::HiRes->import();
+ require Win32 if IS_WIN32;
};
$CAN_USE_RUN_FORKED = $@ || !IS_VMS && !IS_WIN32;
@@ -74,7 +76,7 @@ IPC::Cmd - finding and running system commands made easy
### in list context ###
- my( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
+ my( $success, $error_message, $full_buf, $stdout_buf, $stderr_buf ) =
run( command => $cmd, verbose => 0 );
if( $success ) {
@@ -94,8 +96,8 @@ IPC::Cmd - finding and running system commands made easy
=head1 DESCRIPTION
-IPC::Cmd allows you to run commands, interactively if desired,
-platform independent but have them still work.
+IPC::Cmd allows you to run commands platform independently,
+interactively if desired, but have them still work.
The C<can_run> function can tell you if a certain binary is installed
and if so where, whereas the C<run> function can actually execute any
@@ -107,8 +109,8 @@ as adhere to your verbosity settings.
=head2 $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )
Utility function that tells you if C<IPC::Run> is available.
-If the verbose flag is passed, it will print diagnostic messages
-if C<IPC::Run> can not be found or loaded.
+If the C<verbose> flag is passed, it will print diagnostic messages
+if L<IPC::Run> can not be found or loaded.
=cut
@@ -117,7 +119,7 @@ sub can_use_ipc_run {
my $self = shift;
my $verbose = shift || 0;
- ### ipc::run doesn't run on win98
+ ### IPC::Run doesn't run on win98
return if IS_WIN98;
### if we dont have ipc::run, we obviously can't use it.
@@ -143,11 +145,10 @@ sub can_use_ipc_open3 {
my $self = shift;
my $verbose = shift || 0;
- ### ipc::open3 is not working on VMS becasue of a lack of fork.
- ### XXX todo, win32 also does not have fork, so need to do more research.
+ ### IPC::Open3 is not working on VMS because of a lack of fork.
return if IS_VMS;
- ### ipc::open3 works on every non-VMS platform platform, but it can't
+ ### IPC::Open3 works on every non-VMS platform platform, but it can't
### capture buffers on win32 :(
return unless can_load(
modules => { map {$_ => '0.0'} qw|IPC::Open3 IO::Select Symbol| },
@@ -181,16 +182,20 @@ providing C<run_forked> on the current platform.
=head2 $path = can_run( PROGRAM );
-C<can_run> takes but a single argument: the name of a binary you wish
+C<can_run> takes only one argument: the name of a binary you wish
to locate. C<can_run> works much like the unix binary C<which> or the bash
command C<type>, which scans through your path, looking for the requested
-binary .
+binary.
Unlike C<which> and C<type>, this function is platform independent and
will also work on, for example, Win32.
-It will return the full path to the binary you asked for if it was
-found, or C<undef> if it was not.
+If called in a scalar context it will return the full path to the binary
+you asked for if it was found, or C<undef> if it was not.
+
+If called in a list context and the global variable C<$INSTANCES> is a true
+value, it will return a list of the full paths to instances
+of the binary where found in C<PATH>, or an empty list if it was not found.
=cut
@@ -209,6 +214,8 @@ sub can_run {
require File::Spec;
require ExtUtils::MakeMaker;
+ my @possibles;
+
if( File::Spec->file_name_is_absolute($command) ) {
return MM->maybe_command($command);
@@ -216,11 +223,14 @@ sub can_run {
for my $dir (
(split /\Q$Config::Config{path_sep}\E/, $ENV{PATH}),
File::Spec->curdir
- ) {
- my $abs = File::Spec->catfile($dir, $command);
- return $abs if $abs = MM->maybe_command($abs);
+ ) {
+ next if ! $dir || ! -d $dir;
+ my $abs = File::Spec->catfile( IS_WIN32 ? Win32::GetShortPathName( $dir ) : $dir, $command);
+ push @possibles, $abs if $abs = MM->maybe_command($abs);
}
}
+ return @possibles if wantarray and $INSTANCES;
+ return shift @possibles;
}
=head2 $ok | ($ok, $err, $full_buf, $stdout_buff, $stderr_buff) = run( command => COMMAND, [verbose => BOOL, buffer => \$SCALAR, timeout => DIGIT] );
@@ -235,15 +245,15 @@ This is the command to execute. It may be either a string or an array
reference.
This is a required argument.
-See L<CAVEATS> for remarks on how commands are parsed and their
+See L<"Caveats"> for remarks on how commands are parsed and their
limitations.
=item verbose
This controls whether all output of a command should also be printed
to STDOUT/STDERR or should only be trapped in buffers (NOTE: buffers
-require C<IPC::Run> to be installed or your system able to work with
-C<IPC::Open3>).
+require L<IPC::Run> to be installed, or your system able to work with
+L<IPC::Open3>).
It will default to the global setting of C<$IPC::Cmd::VERBOSE>,
which by default is 0.
@@ -258,14 +268,14 @@ If you require this distinction, run the C<run> command in list context
and inspect the individual buffers.
Of course, this requires that the underlying call supports buffers. See
-the note on buffers right above.
+the note on buffers above.
=item timeout
Sets the maximum time the command is allowed to run before aborting,
using the built-in C<alarm()> call. If the timeout is triggered, the
C<errorcode> in the return value will be set to an object of the
-C<IPC::Cmd::TimeOut> class. See the C<errorcode> section below for
+C<IPC::Cmd::TimeOut> class. See the L<"error message"> section below for
details.
Defaults to C<0>, meaning no timeout is set.
@@ -285,7 +295,7 @@ not.
=item error message
-If the first element of the return value (success) was 0, then some
+If the first element of the return value (C<success>) was 0, then some
error occurred. This second element is the error message the command
you requested exited with, if available. This is generally a pretty
printed value of C<$?> or C<$@>. See C<perldoc perlvar> for details on
@@ -295,31 +305,26 @@ the string C<IPC::Cmd::TimeOut>, the timeout class.
=item full_buffer
-This is an arrayreference containing all the output the command
+This is an array reference containing all the output the command
generated.
-Note that buffers are only available if you have C<IPC::Run> installed,
-or if your system is able to work with C<IPC::Open3> -- See below).
-This element will be C<undef> if this is not the case.
+Note that buffers are only available if you have L<IPC::Run> installed,
+or if your system is able to work with L<IPC::Open3> -- see below).
+Otherwise, this element will be C<undef>.
=item out_buffer
-This is an arrayreference containing all the output sent to STDOUT the
-command generated.
-Note that buffers are only available if you have C<IPC::Run> installed,
-or if your system is able to work with C<IPC::Open3> -- See below).
-This element will be C<undef> if this is not the case.
+This is an array reference containing all the output sent to STDOUT the
+command generated. The notes from L<"full_buffer"> apply.
=item error_buffer
This is an arrayreference containing all the output sent to STDERR the
-command generated.
-Note that buffers are only available if you have C<IPC::Run> installed,
-or if your system is able to work with C<IPC::Open3> -- See below).
-This element will be C<undef> if this is not the case.
+command generated. The notes from L<"full_buffer"> apply.
+
=back
-See the C<HOW IT WORKS> Section below to see how C<IPC::Cmd> decides
+See the L<"HOW IT WORKS"> section below to see how C<IPC::Cmd> decides
what modules or function calls to use when issuing a command.
=cut
@@ -340,25 +345,89 @@ sub can_use_run_forked {
return $CAN_USE_RUN_FORKED eq "1";
}
+# incompatible with POSIX::SigAction
+#
+sub install_layered_signal {
+ my ($s, $handler_code) = @_;
+
+ my %available_signals = map {$_ => 1} keys %SIG;
+
+ die("install_layered_signal got nonexistent signal name [$s]")
+ unless defined($available_signals{$s});
+ die("install_layered_signal expects coderef")
+ if !ref($handler_code) || ref($handler_code) ne 'CODE';
+
+ my $previous_handler = $SIG{$s};
+
+ my $sig_handler = sub {
+ my ($called_sig_name, @sig_param) = @_;
+
+ # $s is a closure referring to real signal name
+ # for which this handler is being installed.
+ # it is used to distinguish between
+ # real signal handlers and aliased signal handlers
+ my $signal_name = $s;
+
+ # $called_sig_name is a signal name which
+ # was passed to this signal handler;
+ # it doesn't equal $signal_name in case
+ # some signal handlers in %SIG point
+ # to other signal handler (CHLD and CLD,
+ # ABRT and IOT)
+ #
+ # initial signal handler for aliased signal
+ # calls some other signal handler which
+ # should not execute the same handler_code again
+ if ($called_sig_name eq $signal_name) {
+ $handler_code->($signal_name);
+ }
+
+ # run original signal handler if any (including aliased)
+ #
+ if (ref($previous_handler)) {
+ $previous_handler->($called_sig_name, @sig_param);
+ }
+ };
+
+ $SIG{$s} = $sig_handler;
+}
+
# give process a chance sending TERM,
# waiting for a while (2 seconds)
# and killing it with KILL
sub kill_gently {
- my ($pid) = @_;
+ my ($pid, $opts) = @_;
+
+ $opts = {} unless $opts;
+ $opts->{'wait_time'} = 2 unless defined($opts->{'wait_time'});
+ $opts->{'first_kill_type'} = 'just_process' unless $opts->{'first_kill_type'};
+ $opts->{'final_kill_type'} = 'just_process' unless $opts->{'final_kill_type'};
- kill(15, $pid);
+ if ($opts->{'first_kill_type'} eq 'just_process') {
+ kill(15, $pid);
+ }
+ elsif ($opts->{'first_kill_type'} eq 'process_group') {
+ kill(-15, $pid);
+ }
- my $wait_cycles = 0;
my $child_finished = 0;
+ my $wait_start_time = time();
- while (!$child_finished && $wait_cycles < 8) {
+ while (!$child_finished && $wait_start_time + $opts->{'wait_time'} > time()) {
my $waitpid = waitpid($pid, WNOHANG);
if ($waitpid eq -1) {
$child_finished = 1;
}
+ Time::HiRes::usleep(250000); # quarter of a second
+ }
- $wait_cycles = $wait_cycles + 1;
- Time::HiRes::usleep(250000); # half a second
+ if (!$child_finished) {
+ if ($opts->{'final_kill_type'} eq 'just_process') {
+ kill(9, $pid);
+ }
+ elsif ($opts->{'final_kill_type'} eq 'process_group') {
+ kill(-9, $pid);
+ }
}
}
@@ -394,7 +463,7 @@ sub open3_run {
# from http://perldoc.perl.org/IPC/Open3.html,
# absolutely needed to catch piped commands errors.
#
- local $SIG{'SIG_PIPE'} = sub { 1; };
+ local $SIG{'PIPE'} = sub { 1; };
print $child_in $opts->{'child_stdin'};
}
@@ -445,14 +514,31 @@ sub open3_run {
# parent was killed otherwise we would have got
# the same signal as parent and process it same way
if (getppid() eq "1") {
- kill_gently($pid);
- exit;
+
+ # end my process group with all the children
+ # (i am the process group leader, so my pid
+ # equals to the process group id)
+ #
+ # same thing which is done
+ # with $opts->{'clean_up_children'}
+ # in run_forked
+ #
+ kill(-9, $$);
+
+ exit 1;
}
if ($got_sig_child) {
- if (time() - $got_sig_child > 10) {
- print STDERR "select->can_read did not return 0 for 10 seconds after SIG_CHLD, killing [$pid]\n";
- kill (-9, $pid);
+ if (time() - $got_sig_child > 1) {
+ # select->can_read doesn't return 0 after SIG_CHLD
+ #
+ # "On POSIX-compliant platforms, SIGCHLD is the signal
+ # sent to a process when a child process terminates."
+ # http://en.wikipedia.org/wiki/SIGCHLD
+ #
+ # nevertheless kill KILL wouldn't break anything here
+ #
+ kill (9, $pid);
$child_finished = 1;
}
}
@@ -485,17 +571,24 @@ sub open3_run {
}
}
- waitpid($pid, 0);
+ my $waitpid_ret = waitpid($pid, 0);
+ my $real_exit = $?;
+ my $exit_value = $real_exit >> 8;
- # i've successfully reaped my child,
- # let my parent know this
+ # since we've successfully reaped the child,
+ # let our parent know about this.
+ #
if ($opts->{'parent_info'}) {
my $ps = $opts->{'parent_info'};
+
+ # child was killed, inform parent
+ if ($real_exit & 127) {
+ print $ps "$pid killed with " . ($real_exit & 127) . "\n";
+ }
+
print $ps "reaped $pid\n";
}
- my $real_exit = $?;
- my $exit_value = $real_exit >> 8;
if ($opts->{'parent_stdout'} || $opts->{'parent_stderr'}) {
return $exit_value;
}
@@ -508,13 +601,13 @@ sub open3_run {
}
}
-=head2 $hashref = run_forked( command => COMMAND, { child_stdin => SCALAR, timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
+=head2 $hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
-C<run_forked> is used to execute some program,
+C<run_forked> is used to execute some program or a coderef,
optionally feed it with some input, get its return code
-and output (both stdout and stderr into seperate buffers).
-In addition it allows to terminate the program
-which take too long to finish.
+and output (both stdout and stderr into separate buffers).
+In addition, it allows to terminate the program
+if it takes too long to finish.
The important and distinguishing feature of run_forked
is execution timeout which at first seems to be
@@ -536,28 +629,40 @@ feeds it with input, stores its exit code,
stdout and stderr, terminates it in case
it runs longer than specified.
-Invocation requires the command to be executed and optionally a hashref of options:
+Invocation requires the command to be executed or a coderef and optionally a hashref of options:
=over
=item C<timeout>
-Specify in seconds how long the command may run for before it is killed with with SIG_KILL (9)
+Specify in seconds how long to run the command before it is killed with with SIG_KILL (9),
which effectively terminates it and all of its children (direct or indirect).
=item C<child_stdin>
-Specify some text that will be passed into C<STDIN> of the executed program.
+Specify some text that will be passed into the C<STDIN> of the executed program.
=item C<stdout_handler>
-You may provide a coderef of a subroutine that will be called a portion of data is received on
-stdout from the executing program.
+Coderef of a subroutine to call when a portion of data is received on
+STDOUT from the executing program.
=item C<stderr_handler>
-You may provide a coderef of a subroutine that will be called a portion of data is received on
-stderr from the executing program.
+Coderef of a subroutine to call when a portion of data is received on
+STDERR from the executing program.
+
+
+=item C<discard_output>
+
+Discards the buffering of the standard output and standard errors for return by run_forked().
+With this option you have to use the std*_handlers to read what the command outputs.
+Useful for commands that send a lot of output.
+
+=item C<terminate_on_parent_sudden_death>
+
+Enable this option if you wish all spawned processes to be killed if the initially spawned
+process (the parent) is killed or dies without waiting for child processes.
=back
@@ -575,18 +680,18 @@ The number of seconds the program ran for before being terminated, or 0 if no ti
=item C<stdout>
-Holds the standard output of the executed command
-(or empty string if there were no stdout output; it's always defined!)
+Holds the standard output of the executed command (or empty string if
+there was no STDOUT output or if C<discard_output> was used; it's always defined!)
=item C<stderr>
-Holds the standard error of the executed command
-(or empty string if there were no stderr output; it's always defined!)
+Holds the standard error of the executed command (or empty string if
+there was no STDERR output or if C<discard_output> was used; it's always defined!)
=item C<merged>
Holds the standard output and error of the executed command merged into one stream
-(or empty string if there were no output at all; it's always defined!)
+(or empty string if there was no output at all or if C<discard_output> was used; it's always defined!)
=item C<err_msg>
@@ -614,6 +719,10 @@ sub run_forked {
$opts = {} unless $opts;
$opts->{'timeout'} = 0 unless $opts->{'timeout'};
+ $opts->{'terminate_wait_time'} = 2 unless defined($opts->{'terminate_wait_time'});
+
+ # turned on by default
+ $opts->{'clean_up_children'} = 1 unless defined($opts->{'clean_up_children'});
# sockets to pass child stdout to parent
my $child_stdout_socket;
@@ -651,7 +760,6 @@ sub run_forked {
close($parent_stderr_socket);
close($parent_info_socket);
- my $child_timedout = 0;
my $flags;
# prepare sockets to read from child
@@ -673,22 +781,57 @@ sub run_forked {
# print "child $pid started\n";
+ my $child_timedout = 0;
my $child_finished = 0;
my $child_stdout = '';
my $child_stderr = '';
my $child_merged = '';
my $child_exit_code = 0;
+ my $child_killed_by_signal = 0;
+ my $parent_died = 0;
my $got_sig_child = 0;
+ my $got_sig_quit = 0;
+ my $orig_sig_child = $SIG{'CHLD'};
+
$SIG{'CHLD'} = sub { $got_sig_child = time(); };
+ if ($opts->{'terminate_on_signal'}) {
+ install_layered_signal($opts->{'terminate_on_signal'}, sub { $got_sig_quit = time(); });
+ }
+
my $child_child_pid;
while (!$child_finished) {
+ my $now = time();
+
+ if ($opts->{'terminate_on_parent_sudden_death'}) {
+ $opts->{'runtime'}->{'last_parent_check'} = 0
+ unless defined($opts->{'runtime'}->{'last_parent_check'});
+
+ # check for parent once each five seconds
+ if ($now - $opts->{'runtime'}->{'last_parent_check'} > 5) {
+ if (getppid() eq "1") {
+ kill_gently ($pid, {
+ 'first_kill_type' => 'process_group',
+ 'final_kill_type' => 'process_group',
+ 'wait_time' => $opts->{'terminate_wait_time'}
+ });
+ $parent_died = 1;
+ }
+
+ $opts->{'runtime'}->{'last_parent_check'} = $now;
+ }
+ }
+
# user specified timeout
if ($opts->{'timeout'}) {
- if (time() - $start_time > $opts->{'timeout'}) {
- kill (-9, $pid);
+ if ($now - $start_time > $opts->{'timeout'}) {
+ kill_gently ($pid, {
+ 'first_kill_type' => 'process_group',
+ 'final_kill_type' => 'process_group',
+ 'wait_time' => $opts->{'terminate_wait_time'}
+ });
$child_timedout = 1;
}
}
@@ -697,13 +840,22 @@ sub run_forked {
# kill process after that and finish wait loop;
# shouldn't ever happen -- remove this code?
if ($got_sig_child) {
- if (time() - $got_sig_child > 10) {
+ if ($now - $got_sig_child > 10) {
print STDERR "waitpid did not return -1 for 10 seconds after SIG_CHLD, killing [$pid]\n";
kill (-9, $pid);
$child_finished = 1;
}
}
+ if ($got_sig_quit) {
+ kill_gently ($pid, {
+ 'first_kill_type' => 'process_group',
+ 'final_kill_type' => 'process_group',
+ 'wait_time' => $opts->{'terminate_wait_time'}
+ });
+ $child_finished = 1;
+ }
+
my $waitpid = waitpid($pid, WNOHANG);
# child finished, catch it's exit status
@@ -726,20 +878,27 @@ sub run_forked {
$child_child_pid = undef;
$l = $2;
}
+ if ($l =~ /^[\d]+ killed with ([0-9]+?)\n(.*?)/so) {
+ $child_killed_by_signal = $1;
+ $l = $2;
+ }
}
while (my $l = <$child_stdout_socket>) {
- $child_stdout .= $l;
- $child_merged .= $l;
+ if (!$opts->{'discard_output'}) {
+ $child_stdout .= $l;
+ $child_merged .= $l;
+ }
if ($opts->{'stdout_handler'} && ref($opts->{'stdout_handler'}) eq 'CODE') {
$opts->{'stdout_handler'}->($l);
}
}
while (my $l = <$child_stderr_socket>) {
- $child_stderr .= $l;
- $child_merged .= $l;
-
+ if (!$opts->{'discard_output'}) {
+ $child_stderr .= $l;
+ $child_merged .= $l;
+ }
if ($opts->{'stderr_handler'} && ref($opts->{'stderr_handler'}) eq 'CODE') {
$opts->{'stderr_handler'}->($l);
}
@@ -758,12 +917,29 @@ sub run_forked {
#
# defined $child_pid_pid means child's child
# has not died but nobody is waiting for it,
- # killing it brutaly.
+ # killing it brutally.
#
if ($child_child_pid) {
kill_gently($child_child_pid);
}
+ # in case there are forks in child which
+ # do not forward or process signals (TERM) correctly
+ # kill whole child process group, effectively trying
+ # not to return with some children or their parts still running
+ #
+ # to be more accurate -- we need to be sure
+ # that this is process group created by our child
+ # (and not some other process group with the same pgid,
+ # created just after death of our child) -- fortunately
+ # this might happen only when process group ids
+ # are reused quickly (there are lots of processes
+ # spawning new process groups for example)
+ #
+ if ($opts->{'clean_up_children'}) {
+ kill(-9, $pid);
+ }
+
# print "child $pid finished\n";
close($child_stdout_socket);
@@ -776,6 +952,9 @@ sub run_forked {
'merged' => $child_merged,
'timeout' => $child_timedout ? $opts->{'timeout'} : 0,
'exit_code' => $child_exit_code,
+ 'parent_died' => $parent_died,
+ 'killed_by_signal' => $child_killed_by_signal,
+ 'child_pgid' => $pid,
};
my $err_msg = '';
@@ -785,14 +964,27 @@ sub run_forked {
if ($o->{'timeout'}) {
$err_msg .= "ran more than [$o->{'timeout'}] seconds\n";
}
+ if ($o->{'parent_died'}) {
+ $err_msg .= "parent died\n";
+ }
if ($o->{'stdout'}) {
$err_msg .= "stdout:\n" . $o->{'stdout'} . "\n";
}
if ($o->{'stderr'}) {
$err_msg .= "stderr:\n" . $o->{'stderr'} . "\n";
}
+ if ($o->{'killed_by_signal'}) {
+ $err_msg .= "killed by signal [" . $o->{'killed_by_signal'} . "]\n";
+ }
$o->{'err_msg'} = $err_msg;
+ if ($orig_sig_child) {
+ $SIG{'CHLD'} = $orig_sig_child;
+ }
+ else {
+ delete($SIG{'CHLD'});
+ }
+
return $o;
}
else {
@@ -806,21 +998,48 @@ sub run_forked {
POSIX::setsid() || die("Error running setsid: " . $!);
+ if ($opts->{'child_BEGIN'} && ref($opts->{'child_BEGIN'}) eq 'CODE') {
+ $opts->{'child_BEGIN'}->();
+ }
+
close($child_stdout_socket);
close($child_stderr_socket);
close($child_info_socket);
- my $child_exit_code = open3_run($cmd, {
- 'parent_info' => $parent_info_socket,
- 'parent_stdout' => $parent_stdout_socket,
- 'parent_stderr' => $parent_stderr_socket,
- 'child_stdin' => $opts->{'child_stdin'},
- });
+ my $child_exit_code;
+
+ # allow both external programs
+ # and internal perl calls
+ if (!ref($cmd)) {
+ $child_exit_code = open3_run($cmd, {
+ 'parent_info' => $parent_info_socket,
+ 'parent_stdout' => $parent_stdout_socket,
+ 'parent_stderr' => $parent_stderr_socket,
+ 'child_stdin' => $opts->{'child_stdin'},
+ });
+ }
+ elsif (ref($cmd) eq 'CODE') {
+ $child_exit_code = $cmd->({
+ 'opts' => $opts,
+ 'parent_info' => $parent_info_socket,
+ 'parent_stdout' => $parent_stdout_socket,
+ 'parent_stderr' => $parent_stderr_socket,
+ 'child_stdin' => $opts->{'child_stdin'},
+ });
+ }
+ else {
+ print $parent_stderr_socket "Invalid command reference: " . ref($cmd) . "\n";
+ $child_exit_code = 1;
+ }
close($parent_stdout_socket);
close($parent_stderr_socket);
close($parent_info_socket);
+ if ($opts->{'child_END'} && ref($opts->{'child_END'}) eq 'CODE') {
+ $opts->{'child_END'}->();
+ }
+
exit $child_exit_code;
}
}
@@ -1035,7 +1254,7 @@ sub _open3_run {
$kidout->autoflush(1) if UNIVERSAL::can($kidout, 'autoflush');
$kiderror->autoflush(1) if UNIVERSAL::can($kiderror, 'autoflush');
- ### add an epxlicit break statement
+ ### add an explicit break statement
### code courtesy of theorbtwo from #london.pm
my $stdout_done = 0;
my $stderr_done = 0;
@@ -1085,7 +1304,7 @@ sub _open3_run {
}
}
-### text::parsewords::shellwordss() uses unix semantics. that will break
+### Text::ParseWords::shellwords() uses unix semantics. that will break
### on win32
{ my $parse_sub = IS_WIN32
? __PACKAGE__->can('_split_like_shell_win32')
@@ -1333,7 +1552,7 @@ sub _split_like_shell_win32 {
} elsif ( $ch eq '"' ) {
$quote_mode = !$quote_mode;
} elsif ( $ch eq ' ' && !$quote_mode ) {
- push( @argv, $arg ) if $arg;
+ push( @argv, $arg ) if defined( $arg ) && length( $arg );
$arg = '';
++$i while substr( $_, $i + 1, 1 ) eq ' ';
} else {
@@ -1370,7 +1589,7 @@ sub _split_like_shell_win32 {
Carp::carp(loc("No such FD: '%1'", $name)), next );
### MUST use the 2-arg version of open for dup'ing for
- ### 5.6.x compatibilty. 5.8.x can use 3-arg open
+ ### 5.6.x compatibility. 5.8.x can use 3-arg open
### see perldoc5.6.2 -f open for details
open $glob, $redir . fileno($fh) or (
Carp::carp(loc("Could not dup '$name': %1", $!)),
@@ -1404,7 +1623,7 @@ sub _split_like_shell_win32 {
Carp::carp(loc("No such FD: '%1'", $name)), next );
### MUST use the 2-arg version of open for dup'ing for
- ### 5.6.x compatibilty. 5.8.x can use 3-arg open
+ ### 5.6.x compatibility. 5.8.x can use 3-arg open
### see perldoc5.6.2 -f open for details
open( $fh, $redir . fileno($glob) ) or (
Carp::carp(loc("Could not restore '$name': %1", $!)),
@@ -1473,7 +1692,7 @@ You can use it as follows:
my $cmd = q[echo ] . QUOTE . q[foo bar] . QUOTE;
This makes sure that C<foo bar> is treated as a string, rather than two
-seperate arguments to the C<echo> function.
+separate arguments to the C<echo> function.
__END__
@@ -1486,28 +1705,28 @@ C<run> will try to execute your command using the following logic:
=item *
If you have C<IPC::Run> installed, and the variable C<$IPC::Cmd::USE_IPC_RUN>
-is set to true (See the C<GLOBAL VARIABLES> Section) use that to execute
+is set to true (See the L<"Global Variables"> section) use that to execute
the command. You will have the full output available in buffers, interactive commands are sure to work and you are guaranteed to have your verbosity
settings honored cleanly.
=item *
Otherwise, if the variable C<$IPC::Cmd::USE_IPC_OPEN3> is set to true
-(See the C<GLOBAL VARIABLES> Section), try to execute the command using
-C<IPC::Open3>. Buffers will be available on all platforms except C<Win32>,
+(See the L<"Global Variables"> section), try to execute the command using
+L<IPC::Open3>. Buffers will be available on all platforms except C<Win32>,
interactive commands will still execute cleanly, and also your verbosity
settings will be adhered to nicely;
=item *
-Otherwise, if you have the verbose argument set to true, we fall back
-to a simple system() call. We cannot capture any buffers, but
+Otherwise, if you have the C<verbose> argument set to true, we fall back
+to a simple C<system()> call. We cannot capture any buffers, but
interactive commands will still work.
=item *
Otherwise we will try and temporarily redirect STDERR and STDOUT, do a
-system() call with your command and then re-open STDERR and STDOUT.
+C<system()> call with your command and then re-open STDERR and STDOUT.
This is the method of last resort and will still allow you to execute
your commands cleanly. However, no buffers will be available.
@@ -1521,7 +1740,7 @@ global variables:
=head2 $IPC::Cmd::VERBOSE
This controls whether IPC::Cmd will print any output from the
-commands to the screen or not. The default is 0;
+commands to the screen or not. The default is 0.
=head2 $IPC::Cmd::USE_IPC_RUN
@@ -1535,11 +1754,18 @@ when available and suitable. Defaults to true.
=head2 $IPC::Cmd::WARN
-This variable controls whether run time warnings should be issued, like
+This variable controls whether run-time warnings should be issued, like
the failure to load an C<IPC::*> module you explicitly requested.
Defaults to true. Turn this off at your own risk.
+=head2 $IPC::Cmd::INSTANCES
+
+This variable controls whether C<can_run> will return all instances of
+the binary it finds in the C<PATH> when called in a list context.
+
+Defaults to false, set to true to enable the described behaviour.
+
=head1 Caveats
=over 4
@@ -1549,16 +1775,16 @@ Defaults to true. Turn this off at your own risk.
When using C<IPC::Open3> or C<system>, if you provide a string as the
C<command> argument, it is assumed to be appropriately escaped. You can
use the C<QUOTE> constant to use as a portable quote character (see above).
-However, if you provide and C<Array Reference>, special rules apply:
+However, if you provide an array reference, special rules apply:
-If your command contains C<Special Characters> (< > | &), it will
+If your command contains B<special characters> (< > | &), it will
be internally stringified before executing the command, to avoid that these
special characters are escaped and passed as arguments instead of retaining
their special meaning.
However, if the command contained arguments that contained whitespace,
stringifying the command would loose the significance of the whitespace.
-Therefor, C<IPC::Cmd> will quote any arguments containing whitespace in your
+Therefore, C<IPC::Cmd> will quote any arguments containing whitespace in your
command if the command is passed as an arrayref and contains special characters.
=item Whitespace and IPC::Run
@@ -1570,7 +1796,7 @@ break if you have files or commands with whitespace in them.
If you do not wish this to happen, you should provide an array
reference, where all parts of your command are already separated out.
-Note however, if there's extra or spurious whitespace in these parts,
+Note however, if there are extra or spurious whitespaces in these parts,
the parser or underlying code may not interpret it correctly, and
cause an error.
@@ -1597,36 +1823,39 @@ Since this will lead to issues as described above.
=item IO Redirect
Currently it is too complicated to parse your command for IO
-Redirections. For capturing STDOUT or STDERR there is a work around
+redirections. For capturing STDOUT or STDERR there is a work around
however, since you can just inspect your buffers for the contents.
=item Interleaving STDOUT/STDERR
Neither IPC::Run nor IPC::Open3 can interleave STDOUT and STDERR. For short
-bursts of output from a program, ie this sample:
+bursts of output from a program, e.g. this sample,
for ( 1..4 ) {
$_ % 2 ? print STDOUT $_ : print STDERR $_;
}
IPC::[Run|Open3] will first read all of STDOUT, then all of STDERR, meaning
-the output looks like 1 line on each, namely '13' on STDOUT and '24' on STDERR.
+the output looks like '13' on STDOUT and '24' on STDERR, instead of
-It should have been 1, 2, 3, 4.
+ 1
+ 2
+ 3
+ 4
This has been recorded in L<rt.cpan.org> as bug #37532: Unable to interleave
-STDOUT and STDERR
+STDOUT and STDERR.
=back
=head1 See Also
-C<IPC::Run>, C<IPC::Open3>
+L<IPC::Run>, L<IPC::Open3>
=head1 ACKNOWLEDGEMENTS
Thanks to James Mastros and Martijn van der Streek for their
-help in getting IPC::Open3 to behave nicely.
+help in getting L<IPC::Open3> to behave nicely.
Thanks to Petya Kohts for the C<run_forked> code.
@@ -1636,7 +1865,8 @@ Please report bugs or other issues to E<lt>bug-ipc-cmd@rt.cpan.orgE<gt>.
=head1 AUTHOR
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
+Original author: Jos Boumans E<lt>kane@cpan.orgE<gt>.
+Current maintainer: Chris Williams E<lt>bingos@cpan.orgE<gt>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IPC/Open3.pm b/Master/tlpkg/tlperl/lib/IPC/Open3.pm
index 82c20ae8287..7015d27a789 100644
--- a/Master/tlpkg/tlperl/lib/IPC/Open3.pm
+++ b/Master/tlpkg/tlperl/lib/IPC/Open3.pm
@@ -9,7 +9,7 @@ require Exporter;
use Carp;
use Symbol qw(gensym qualify);
-$VERSION = 1.05;
+$VERSION = 1.09;
@ISA = qw(Exporter);
@EXPORT = qw(open3);
@@ -48,7 +48,7 @@ instead of a pipe(2) made.
If either reader or writer is the null string, this will be replaced
by an autogenerated filehandle. If so, you must pass a valid lvalue
-in the parameter slot so it can be overwritten in the caller, or
+in the parameter slot so it can be overwritten in the caller, or
an exception will be raised.
The filehandles may also be integers, in which case they are understood
@@ -68,9 +68,9 @@ C<open(FOO, "-|")> the child process will just be the forked Perl
process rather than an external command. This feature isn't yet
supported on Win32 platforms.
-open3() does not wait for and reap the child process after it exits.
+open3() does not wait for and reap the child process after it exits.
Except for short programs where it's acceptable to let the operating system
-take care of this, you need to do this yourself. This is normally as
+take care of this, you need to do this yourself. This is normally as
simple as calling C<waitpid $pid, 0> when you're done with the process.
Failing to do this can result in an accumulation of defunct or "zombie"
processes. See L<perlfunc/waitpid> for more information.
@@ -121,8 +121,6 @@ The order of arguments differs from that of open2().
# allow fd numbers to be used, by Frank Tobin
# allow '-' as command (c.f. open "-|"), by Adam Spiers <perl@adamspiers.org>
#
-# $Id: open3.pl,v 1.1 1993/11/23 06:26:15 marc Exp $
-#
# usage: $pid = open3('wtr', 'rdr', 'err' 'some cmd and args', 'optarg', ...);
#
# spawn the given $cmd and connect rdr for
@@ -161,15 +159,27 @@ sub xpipe {
pipe $_[0], $_[1] or croak "$Me: pipe($_[0], $_[1]) failed: $!";
}
+sub xpipe_anon {
+ pipe $_[0], $_[1] or croak "$Me: pipe failed: $!";
+}
+
+sub xclose_on_exec {
+ require Fcntl;
+ my $flags = fcntl($_[0], &Fcntl::F_GETFD, 0)
+ or croak "$Me: fcntl failed: $!";
+ fcntl($_[0], &Fcntl::F_SETFD, $flags|&Fcntl::FD_CLOEXEC)
+ or croak "$Me: fcntl failed: $!";
+}
+
# I tried using a * prototype character for the filehandle but it still
-# disallows a bearword while compiling under strict subs.
+# disallows a bareword while compiling under strict subs.
sub xopen {
open $_[0], $_[1] or croak "$Me: open($_[0], $_[1]) failed: $!";
}
sub xclose {
- close $_[0] or croak "$Me: close($_[0]) failed: $!";
+ $_[0] =~ /\A=?(\d+)\z/ ? eval { require POSIX; POSIX::close($1); } : close $_[0]
}
sub fh_is_fd {
@@ -199,12 +209,12 @@ sub _open3 {
unless (eval {
$dad_wtr = $_[1] = gensym unless defined $dad_wtr && length $dad_wtr;
$dad_rdr = $_[2] = gensym unless defined $dad_rdr && length $dad_rdr;
- 1; })
+ 1; })
{
# must strip crud for croak to add back, or looks ugly
$@ =~ s/(?<=value attempted) at .*//s;
croak "$Me: $@";
- }
+ }
$dad_err ||= $dad_rdr;
@@ -225,54 +235,89 @@ sub _open3 {
xpipe $dad_rdr, $kid_wtr if !$dup_rdr;
xpipe $dad_err, $kid_err if !$dup_err && $dad_err ne $dad_rdr;
- $kidpid = DO_SPAWN ? -1 : xfork;
- if ($kidpid == 0) { # Kid
- # A tie in the parent should not be allowed to cause problems.
- untie *STDIN;
- untie *STDOUT;
- # If she wants to dup the kid's stderr onto her stdout I need to
- # save a copy of her stdout before I put something else there.
- if ($dad_rdr ne $dad_err && $dup_err
- && xfileno($dad_err) == fileno(STDOUT)) {
- my $tmp = gensym;
- xopen($tmp, ">&$dad_err");
- $dad_err = $tmp;
- }
+ if (!DO_SPAWN) {
+ # Used to communicate exec failures.
+ xpipe my $stat_r, my $stat_w;
+
+ $kidpid = xfork;
+ if ($kidpid == 0) { # Kid
+ eval {
+ # A tie in the parent should not be allowed to cause problems.
+ untie *STDIN;
+ untie *STDOUT;
+
+ close $stat_r;
+ xclose_on_exec $stat_w;
+
+ # If she wants to dup the kid's stderr onto her stdout I need to
+ # save a copy of her stdout before I put something else there.
+ if ($dad_rdr ne $dad_err && $dup_err
+ && xfileno($dad_err) == fileno(STDOUT)) {
+ my $tmp = gensym;
+ xopen($tmp, ">&$dad_err");
+ $dad_err = $tmp;
+ }
+
+ if ($dup_wtr) {
+ xopen \*STDIN, "<&$dad_wtr" if fileno(STDIN) != xfileno($dad_wtr);
+ } else {
+ xclose $dad_wtr;
+ xopen \*STDIN, "<&=" . fileno $kid_rdr;
+ }
+ if ($dup_rdr) {
+ xopen \*STDOUT, ">&$dad_rdr" if fileno(STDOUT) != xfileno($dad_rdr);
+ } else {
+ xclose $dad_rdr;
+ xopen \*STDOUT, ">&=" . fileno $kid_wtr;
+ }
+ if ($dad_rdr ne $dad_err) {
+ if ($dup_err) {
+ # I have to use a fileno here because in this one case
+ # I'm doing a dup but the filehandle might be a reference
+ # (from the special case above).
+ xopen \*STDERR, ">&" . xfileno($dad_err)
+ if fileno(STDERR) != xfileno($dad_err);
+ } else {
+ xclose $dad_err;
+ xopen \*STDERR, ">&=" . fileno $kid_err;
+ }
+ } else {
+ xopen \*STDERR, ">&STDOUT" if fileno(STDERR) != fileno(STDOUT);
+ }
+ return 0 if ($cmd[0] eq '-');
+ exec @cmd or do {
+ local($")=(" ");
+ croak "$Me: exec of @cmd failed";
+ };
+ };
+
+ my $bang = 0+$!;
+ my $err = $@;
+ utf8::encode $err if $] >= 5.008;
+ print $stat_w pack('IIa*', $bang, length($err), $err);
+ close $stat_w;
- if ($dup_wtr) {
- xopen \*STDIN, "<&$dad_wtr" if fileno(STDIN) != xfileno($dad_wtr);
- } else {
- xclose $dad_wtr;
- xopen \*STDIN, "<&=" . fileno $kid_rdr;
- }
- if ($dup_rdr) {
- xopen \*STDOUT, ">&$dad_rdr" if fileno(STDOUT) != xfileno($dad_rdr);
- } else {
- xclose $dad_rdr;
- xopen \*STDOUT, ">&=" . fileno $kid_wtr;
+ eval { require POSIX; POSIX::_exit(255); };
+ exit 255;
}
- if ($dad_rdr ne $dad_err) {
- if ($dup_err) {
- # I have to use a fileno here because in this one case
- # I'm doing a dup but the filehandle might be a reference
- # (from the special case above).
- xopen \*STDERR, ">&" . xfileno($dad_err)
- if fileno(STDERR) != xfileno($dad_err);
- } else {
- xclose $dad_err;
- xopen \*STDERR, ">&=" . fileno $kid_err;
+ else { # Parent
+ close $stat_w;
+ my $to_read = length(pack('I', 0)) * 2;
+ my $bytes_read = read($stat_r, my $buf = '', $to_read);
+ if ($bytes_read) {
+ (my $bang, $to_read) = unpack('II', $buf);
+ read($stat_r, my $err = '', $to_read);
+ if ($err) {
+ utf8::decode $err if $] >= 5.008;
+ } else {
+ $err = "$Me: " . ($! = $bang);
+ }
+ $! = $bang;
+ die($err);
}
- } else {
- xopen \*STDERR, ">&STDOUT" if fileno(STDERR) != fileno(STDOUT);
}
- return 0 if ($cmd[0] eq '-');
- local($")=(" ");
- exec @cmd or do {
- carp "$Me: exec of @cmd failed";
- eval { require POSIX; POSIX::_exit(255); };
- exit 255;
- };
- } elsif (DO_SPAWN) {
+ }
+ else { # DO_SPAWN
# All the bookkeeping of coincidence between handles is
# handled in spawn_with_handles.
diff --git a/Master/tlpkg/tlperl/lib/JSON/PP.pm b/Master/tlpkg/tlperl/lib/JSON/PP.pm
new file mode 100644
index 00000000000..cef9f421752
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/JSON/PP.pm
@@ -0,0 +1,2812 @@
+package JSON::PP;
+
+# JSON-2.0
+
+use 5.005;
+use strict;
+use base qw(Exporter);
+use overload ();
+
+use Carp ();
+use B ();
+#use Devel::Peek;
+
+$JSON::PP::VERSION = '2.27105';
+
+@JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
+
+# instead of hash-access, i tried index-access for speed.
+# but this method is not faster than what i expected. so it will be changed.
+
+use constant P_ASCII => 0;
+use constant P_LATIN1 => 1;
+use constant P_UTF8 => 2;
+use constant P_INDENT => 3;
+use constant P_CANONICAL => 4;
+use constant P_SPACE_BEFORE => 5;
+use constant P_SPACE_AFTER => 6;
+use constant P_ALLOW_NONREF => 7;
+use constant P_SHRINK => 8;
+use constant P_ALLOW_BLESSED => 9;
+use constant P_CONVERT_BLESSED => 10;
+use constant P_RELAXED => 11;
+
+use constant P_LOOSE => 12;
+use constant P_ALLOW_BIGNUM => 13;
+use constant P_ALLOW_BAREKEY => 14;
+use constant P_ALLOW_SINGLEQUOTE => 15;
+use constant P_ESCAPE_SLASH => 16;
+use constant P_AS_NONBLESSED => 17;
+
+use constant P_ALLOW_UNKNOWN => 18;
+
+use constant OLD_PERL => $] < 5.008 ? 1 : 0;
+
+BEGIN {
+ my @xs_compati_bit_properties = qw(
+ latin1 ascii utf8 indent canonical space_before space_after allow_nonref shrink
+ allow_blessed convert_blessed relaxed allow_unknown
+ );
+ my @pp_bit_properties = qw(
+ allow_singlequote allow_bignum loose
+ allow_barekey escape_slash as_nonblessed
+ );
+
+ # Perl version check, Unicode handling is enable?
+ # Helper module sets @JSON::PP::_properties.
+ if ($] < 5.008 ) {
+ my $helper = $] >= 5.006 ? 'JSON::PP::Compat5006' : 'JSON::PP::Compat5005';
+ eval qq| require $helper |;
+ if ($@) { Carp::croak $@; }
+ }
+
+ for my $name (@xs_compati_bit_properties, @pp_bit_properties) {
+ my $flag_name = 'P_' . uc($name);
+
+ eval qq/
+ sub $name {
+ my \$enable = defined \$_[1] ? \$_[1] : 1;
+
+ if (\$enable) {
+ \$_[0]->{PROPS}->[$flag_name] = 1;
+ }
+ else {
+ \$_[0]->{PROPS}->[$flag_name] = 0;
+ }
+
+ \$_[0];
+ }
+
+ sub get_$name {
+ \$_[0]->{PROPS}->[$flag_name] ? 1 : '';
+ }
+ /;
+ }
+
+}
+
+
+
+# Functions
+
+my %encode_allow_method
+ = map {($_ => 1)} qw/utf8 pretty allow_nonref latin1 self_encode escape_slash
+ allow_blessed convert_blessed indent indent_length allow_bignum
+ as_nonblessed
+ /;
+my %decode_allow_method
+ = map {($_ => 1)} qw/utf8 allow_nonref loose allow_singlequote allow_bignum
+ allow_barekey max_size relaxed/;
+
+
+my $JSON; # cache
+
+sub encode_json ($) { # encode
+ ($JSON ||= __PACKAGE__->new->utf8)->encode(@_);
+}
+
+
+sub decode_json { # decode
+ ($JSON ||= __PACKAGE__->new->utf8)->decode(@_);
+}
+
+# Obsoleted
+
+sub to_json($) {
+ Carp::croak ("JSON::PP::to_json has been renamed to encode_json.");
+}
+
+
+sub from_json($) {
+ Carp::croak ("JSON::PP::from_json has been renamed to decode_json.");
+}
+
+
+# Methods
+
+sub new {
+ my $class = shift;
+ my $self = {
+ max_depth => 512,
+ max_size => 0,
+ indent => 0,
+ FLAGS => 0,
+ fallback => sub { encode_error('Invalid value. JSON can only reference.') },
+ indent_length => 3,
+ };
+
+ bless $self, $class;
+}
+
+
+sub encode {
+ return $_[0]->PP_encode_json($_[1]);
+}
+
+
+sub decode {
+ return $_[0]->PP_decode_json($_[1], 0x00000000);
+}
+
+
+sub decode_prefix {
+ return $_[0]->PP_decode_json($_[1], 0x00000001);
+}
+
+
+# accessor
+
+
+# pretty printing
+
+sub pretty {
+ my ($self, $v) = @_;
+ my $enable = defined $v ? $v : 1;
+
+ if ($enable) { # indent_length(3) for JSON::XS compatibility
+ $self->indent(1)->indent_length(3)->space_before(1)->space_after(1);
+ }
+ else {
+ $self->indent(0)->space_before(0)->space_after(0);
+ }
+
+ $self;
+}
+
+# etc
+
+sub max_depth {
+ my $max = defined $_[1] ? $_[1] : 0x80000000;
+ $_[0]->{max_depth} = $max;
+ $_[0];
+}
+
+
+sub get_max_depth { $_[0]->{max_depth}; }
+
+
+sub max_size {
+ my $max = defined $_[1] ? $_[1] : 0;
+ $_[0]->{max_size} = $max;
+ $_[0];
+}
+
+
+sub get_max_size { $_[0]->{max_size}; }
+
+
+sub filter_json_object {
+ $_[0]->{cb_object} = defined $_[1] ? $_[1] : 0;
+ $_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
+ $_[0];
+}
+
+sub filter_json_single_key_object {
+ if (@_ > 1) {
+ $_[0]->{cb_sk_object}->{$_[1]} = $_[2];
+ }
+ $_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
+ $_[0];
+}
+
+sub indent_length {
+ if (!defined $_[1] or $_[1] > 15 or $_[1] < 0) {
+ Carp::carp "The acceptable range of indent_length() is 0 to 15.";
+ }
+ else {
+ $_[0]->{indent_length} = $_[1];
+ }
+ $_[0];
+}
+
+sub get_indent_length {
+ $_[0]->{indent_length};
+}
+
+sub sort_by {
+ $_[0]->{sort_by} = defined $_[1] ? $_[1] : 1;
+ $_[0];
+}
+
+sub allow_bigint {
+ Carp::carp("allow_bigint() is obsoleted. use allow_bignum() insted.");
+}
+
+###############################
+
+###
+### Perl => JSON
+###
+
+
+{ # Convert
+
+ my $max_depth;
+ my $indent;
+ my $ascii;
+ my $latin1;
+ my $utf8;
+ my $space_before;
+ my $space_after;
+ my $canonical;
+ my $allow_blessed;
+ my $convert_blessed;
+
+ my $indent_length;
+ my $escape_slash;
+ my $bignum;
+ my $as_nonblessed;
+
+ my $depth;
+ my $indent_count;
+ my $keysort;
+
+
+ sub PP_encode_json {
+ my $self = shift;
+ my $obj = shift;
+
+ $indent_count = 0;
+ $depth = 0;
+
+ my $idx = $self->{PROPS};
+
+ ($ascii, $latin1, $utf8, $indent, $canonical, $space_before, $space_after, $allow_blessed,
+ $convert_blessed, $escape_slash, $bignum, $as_nonblessed)
+ = @{$idx}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
+ P_ESCAPE_SLASH, P_ALLOW_BIGNUM, P_AS_NONBLESSED];
+
+ ($max_depth, $indent_length) = @{$self}{qw/max_depth indent_length/};
+
+ $keysort = $canonical ? sub { $a cmp $b } : undef;
+
+ if ($self->{sort_by}) {
+ $keysort = ref($self->{sort_by}) eq 'CODE' ? $self->{sort_by}
+ : $self->{sort_by} =~ /\D+/ ? $self->{sort_by}
+ : sub { $a cmp $b };
+ }
+
+ encode_error("hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this)")
+ if(!ref $obj and !$idx->[ P_ALLOW_NONREF ]);
+
+ my $str = $self->object_to_json($obj);
+
+ $str .= "\n" if ( $indent ); # JSON::XS 2.26 compatible
+
+ unless ($ascii or $latin1 or $utf8) {
+ utf8::upgrade($str);
+ }
+
+ if ($idx->[ P_SHRINK ]) {
+ utf8::downgrade($str, 1);
+ }
+
+ return $str;
+ }
+
+
+ sub object_to_json {
+ my ($self, $obj) = @_;
+ my $type = ref($obj);
+
+ if($type eq 'HASH'){
+ return $self->hash_to_json($obj);
+ }
+ elsif($type eq 'ARRAY'){
+ return $self->array_to_json($obj);
+ }
+ elsif ($type) { # blessed object?
+ if (blessed($obj)) {
+
+ return $self->value_to_json($obj) if ( $obj->isa('JSON::PP::Boolean') );
+
+ if ( $convert_blessed and $obj->can('TO_JSON') ) {
+ my $result = $obj->TO_JSON();
+ if ( defined $result and ref( $result ) ) {
+ if ( refaddr( $obj ) eq refaddr( $result ) ) {
+ encode_error( sprintf(
+ "%s::TO_JSON method returned same object as was passed instead of a new one",
+ ref $obj
+ ) );
+ }
+ }
+
+ return $self->object_to_json( $result );
+ }
+
+ return "$obj" if ( $bignum and _is_bignum($obj) );
+ return $self->blessed_to_json($obj) if ($allow_blessed and $as_nonblessed); # will be removed.
+
+ encode_error( sprintf("encountered object '%s', but neither allow_blessed "
+ . "nor convert_blessed settings are enabled", $obj)
+ ) unless ($allow_blessed);
+
+ return 'null';
+ }
+ else {
+ return $self->value_to_json($obj);
+ }
+ }
+ else{
+ return $self->value_to_json($obj);
+ }
+ }
+
+
+ sub hash_to_json {
+ my ($self, $obj) = @_;
+ my @res;
+
+ encode_error("json text or perl structure exceeds maximum nesting level (max_depth set too low?)")
+ if (++$depth > $max_depth);
+
+ my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
+ my $del = ($space_before ? ' ' : '') . ':' . ($space_after ? ' ' : '');
+
+ for my $k ( _sort( $obj ) ) {
+ if ( OLD_PERL ) { utf8::decode($k) } # key for Perl 5.6 / be optimized
+ push @res, string_to_json( $self, $k )
+ . $del
+ . ( $self->object_to_json( $obj->{$k} ) || $self->value_to_json( $obj->{$k} ) );
+ }
+
+ --$depth;
+ $self->_down_indent() if ($indent);
+
+ return '{' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . '}';
+ }
+
+
+ sub array_to_json {
+ my ($self, $obj) = @_;
+ my @res;
+
+ encode_error("json text or perl structure exceeds maximum nesting level (max_depth set too low?)")
+ if (++$depth > $max_depth);
+
+ my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
+
+ for my $v (@$obj){
+ push @res, $self->object_to_json($v) || $self->value_to_json($v);
+ }
+
+ --$depth;
+ $self->_down_indent() if ($indent);
+
+ return '[' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . ']';
+ }
+
+
+ sub value_to_json {
+ my ($self, $value) = @_;
+
+ return 'null' if(!defined $value);
+
+ my $b_obj = B::svref_2object(\$value); # for round trip problem
+ my $flags = $b_obj->FLAGS;
+
+ return $value # as is
+ if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV?
+
+ my $type = ref($value);
+
+ if(!$type){
+ return string_to_json($self, $value);
+ }
+ elsif( blessed($value) and $value->isa('JSON::PP::Boolean') ){
+ return $$value == 1 ? 'true' : 'false';
+ }
+ elsif ($type) {
+ if ((overload::StrVal($value) =~ /=(\w+)/)[0]) {
+ return $self->value_to_json("$value");
+ }
+
+ if ($type eq 'SCALAR' and defined $$value) {
+ return $$value eq '1' ? 'true'
+ : $$value eq '0' ? 'false'
+ : $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ? 'null'
+ : encode_error("cannot encode reference to scalar");
+ }
+
+ if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
+ return 'null';
+ }
+ else {
+ if ( $type eq 'SCALAR' or $type eq 'REF' ) {
+ encode_error("cannot encode reference to scalar");
+ }
+ else {
+ encode_error("encountered $value, but JSON can only represent references to arrays or hashes");
+ }
+ }
+
+ }
+ else {
+ return $self->{fallback}->($value)
+ if ($self->{fallback} and ref($self->{fallback}) eq 'CODE');
+ return 'null';
+ }
+
+ }
+
+
+ my %esc = (
+ "\n" => '\n',
+ "\r" => '\r',
+ "\t" => '\t',
+ "\f" => '\f',
+ "\b" => '\b',
+ "\"" => '\"',
+ "\\" => '\\\\',
+ "\'" => '\\\'',
+ );
+
+
+ sub string_to_json {
+ my ($self, $arg) = @_;
+
+ $arg =~ s/([\x22\x5c\n\r\t\f\b])/$esc{$1}/g;
+ $arg =~ s/\//\\\//g if ($escape_slash);
+ $arg =~ s/([\x00-\x08\x0b\x0e-\x1f])/'\\u00' . unpack('H2', $1)/eg;
+
+ if ($ascii) {
+ $arg = JSON_PP_encode_ascii($arg);
+ }
+
+ if ($latin1) {
+ $arg = JSON_PP_encode_latin1($arg);
+ }
+
+ if ($utf8) {
+ utf8::encode($arg);
+ }
+
+ return '"' . $arg . '"';
+ }
+
+
+ sub blessed_to_json {
+ my $reftype = reftype($_[1]) || '';
+ if ($reftype eq 'HASH') {
+ return $_[0]->hash_to_json($_[1]);
+ }
+ elsif ($reftype eq 'ARRAY') {
+ return $_[0]->array_to_json($_[1]);
+ }
+ else {
+ return 'null';
+ }
+ }
+
+
+ sub encode_error {
+ my $error = shift;
+ Carp::croak "$error";
+ }
+
+
+ sub _sort {
+ defined $keysort ? (sort $keysort (keys %{$_[0]})) : keys %{$_[0]};
+ }
+
+
+ sub _up_indent {
+ my $self = shift;
+ my $space = ' ' x $indent_length;
+
+ my ($pre,$post) = ('','');
+
+ $post = "\n" . $space x $indent_count;
+
+ $indent_count++;
+
+ $pre = "\n" . $space x $indent_count;
+
+ return ($pre,$post);
+ }
+
+
+ sub _down_indent { $indent_count--; }
+
+
+ sub PP_encode_box {
+ {
+ depth => $depth,
+ indent_count => $indent_count,
+ };
+ }
+
+} # Convert
+
+
+sub _encode_ascii {
+ join('',
+ map {
+ $_ <= 127 ?
+ chr($_) :
+ $_ <= 65535 ?
+ sprintf('\u%04x', $_) : sprintf('\u%x\u%x', _encode_surrogates($_));
+ } unpack('U*', $_[0])
+ );
+}
+
+
+sub _encode_latin1 {
+ join('',
+ map {
+ $_ <= 255 ?
+ chr($_) :
+ $_ <= 65535 ?
+ sprintf('\u%04x', $_) : sprintf('\u%x\u%x', _encode_surrogates($_));
+ } unpack('U*', $_[0])
+ );
+}
+
+
+sub _encode_surrogates { # from perlunicode
+ my $uni = $_[0] - 0x10000;
+ return ($uni / 0x400 + 0xD800, $uni % 0x400 + 0xDC00);
+}
+
+
+sub _is_bignum {
+ $_[0]->isa('Math::BigInt') or $_[0]->isa('Math::BigFloat');
+}
+
+
+
+#
+# JSON => Perl
+#
+
+my $max_intsize;
+
+BEGIN {
+ my $checkint = 1111;
+ for my $d (5..64) {
+ $checkint .= 1;
+ my $int = eval qq| $checkint |;
+ if ($int =~ /[eE]/) {
+ $max_intsize = $d - 1;
+ last;
+ }
+ }
+}
+
+{ # PARSE
+
+ my %escapes = ( # by Jeremy Muhlich <jmuhlich [at] bitflood.org>
+ b => "\x8",
+ t => "\x9",
+ n => "\xA",
+ f => "\xC",
+ r => "\xD",
+ '\\' => '\\',
+ '"' => '"',
+ '/' => '/',
+ );
+
+ my $text; # json data
+ my $at; # offset
+ my $ch; # 1chracter
+ my $len; # text length (changed according to UTF8 or NON UTF8)
+ # INTERNAL
+ my $depth; # nest counter
+ my $encoding; # json text encoding
+ my $is_valid_utf8; # temp variable
+ my $utf8_len; # utf8 byte length
+ # FLAGS
+ my $utf8; # must be utf8
+ my $max_depth; # max nest nubmer of objects and arrays
+ my $max_size;
+ my $relaxed;
+ my $cb_object;
+ my $cb_sk_object;
+
+ my $F_HOOK;
+
+ my $allow_bigint; # using Math::BigInt
+ my $singlequote; # loosely quoting
+ my $loose; #
+ my $allow_barekey; # bareKey
+
+ # $opt flag
+ # 0x00000001 .... decode_prefix
+ # 0x10000000 .... incr_parse
+
+ sub PP_decode_json {
+ my ($self, $opt); # $opt is an effective flag during this decode_json.
+
+ ($self, $text, $opt) = @_;
+
+ ($at, $ch, $depth) = (0, '', 0);
+
+ if ( !defined $text or ref $text ) {
+ decode_error("malformed JSON string, neither array, object, number, string or atom");
+ }
+
+ my $idx = $self->{PROPS};
+
+ ($utf8, $relaxed, $loose, $allow_bigint, $allow_barekey, $singlequote)
+ = @{$idx}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
+
+ if ( $utf8 ) {
+ utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+ }
+ else {
+ utf8::upgrade( $text );
+ }
+
+ $len = length $text;
+
+ ($max_depth, $max_size, $cb_object, $cb_sk_object, $F_HOOK)
+ = @{$self}{qw/max_depth max_size cb_object cb_sk_object F_HOOK/};
+
+ if ($max_size > 1) {
+ use bytes;
+ my $bytes = length $text;
+ decode_error(
+ sprintf("attempted decode of JSON text of %s bytes size, but max_size is set to %s"
+ , $bytes, $max_size), 1
+ ) if ($bytes > $max_size);
+ }
+
+ # Currently no effect
+ # should use regexp
+ my @octets = unpack('C4', $text);
+ $encoding = ( $octets[0] and $octets[1]) ? 'UTF-8'
+ : (!$octets[0] and $octets[1]) ? 'UTF-16BE'
+ : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
+ : ( $octets[2] ) ? 'UTF-16LE'
+ : (!$octets[2] ) ? 'UTF-32LE'
+ : 'unknown';
+
+ white(); # remove head white space
+
+ my $valid_start = defined $ch; # Is there a first character for JSON structure?
+
+ my $result = value();
+
+ return undef if ( !$result && ( $opt & 0x10000000 ) ); # for incr_parse
+
+ decode_error("malformed JSON string, neither array, object, number, string or atom") unless $valid_start;
+
+ if ( !$idx->[ P_ALLOW_NONREF ] and !ref $result ) {
+ decode_error(
+ 'JSON text must be an object or array (but found number, string, true, false or null,'
+ . ' use allow_nonref to allow this)', 1);
+ }
+
+ Carp::croak('something wrong.') if $len < $at; # we won't arrive here.
+
+ my $consumed = defined $ch ? $at - 1 : $at; # consumed JSON text length
+
+ white(); # remove tail white space
+
+ if ( $ch ) {
+ return ( $result, $consumed ) if ($opt & 0x00000001); # all right if decode_prefix
+ decode_error("garbage after JSON object");
+ }
+
+ ( $opt & 0x00000001 ) ? ( $result, $consumed ) : $result;
+ }
+
+
+ sub next_chr {
+ return $ch = undef if($at >= $len);
+ $ch = substr($text, $at++, 1);
+ }
+
+
+ sub value {
+ white();
+ return if(!defined $ch);
+ return object() if($ch eq '{');
+ return array() if($ch eq '[');
+ return string() if($ch eq '"' or ($singlequote and $ch eq "'"));
+ return number() if($ch =~ /[0-9]/ or $ch eq '-');
+ return word();
+ }
+
+ sub string {
+ my ($i, $s, $t, $u);
+ my $utf16;
+ my $is_utf8;
+
+ ($is_valid_utf8, $utf8_len) = ('', 0);
+
+ $s = ''; # basically UTF8 flag on
+
+ if($ch eq '"' or ($singlequote and $ch eq "'")){
+ my $boundChar = $ch;
+
+ OUTER: while( defined(next_chr()) ){
+
+ if($ch eq $boundChar){
+ next_chr();
+
+ if ($utf16) {
+ decode_error("missing low surrogate character in surrogate pair");
+ }
+
+ utf8::decode($s) if($is_utf8);
+
+ return $s;
+ }
+ elsif($ch eq '\\'){
+ next_chr();
+ if(exists $escapes{$ch}){
+ $s .= $escapes{$ch};
+ }
+ elsif($ch eq 'u'){ # UNICODE handling
+ my $u = '';
+
+ for(1..4){
+ $ch = next_chr();
+ last OUTER if($ch !~ /[0-9a-fA-F]/);
+ $u .= $ch;
+ }
+
+ # U+D800 - U+DBFF
+ if ($u =~ /^[dD][89abAB][0-9a-fA-F]{2}/) { # UTF-16 high surrogate?
+ $utf16 = $u;
+ }
+ # U+DC00 - U+DFFF
+ elsif ($u =~ /^[dD][c-fC-F][0-9a-fA-F]{2}/) { # UTF-16 low surrogate?
+ unless (defined $utf16) {
+ decode_error("missing high surrogate character in surrogate pair");
+ }
+ $is_utf8 = 1;
+ $s .= JSON_PP_decode_surrogates($utf16, $u) || next;
+ $utf16 = undef;
+ }
+ else {
+ if (defined $utf16) {
+ decode_error("surrogate pair expected");
+ }
+
+ if ( ( my $hex = hex( $u ) ) > 127 ) {
+ $is_utf8 = 1;
+ $s .= JSON_PP_decode_unicode($u) || next;
+ }
+ else {
+ $s .= chr $hex;
+ }
+ }
+
+ }
+ else{
+ unless ($loose) {
+ $at -= 2;
+ decode_error('illegal backslash escape sequence in string');
+ }
+ $s .= $ch;
+ }
+ }
+ else{
+
+ if ( ord $ch > 127 ) {
+ if ( $utf8 ) {
+ unless( $ch = is_valid_utf8($ch) ) {
+ $at -= 1;
+ decode_error("malformed UTF-8 character in JSON string");
+ }
+ else {
+ $at += $utf8_len - 1;
+ }
+ }
+ else {
+ utf8::encode( $ch );
+ }
+
+ $is_utf8 = 1;
+ }
+
+ if (!$loose) {
+ if ($ch =~ /[\x00-\x1f\x22\x5c]/) { # '/' ok
+ $at--;
+ decode_error('invalid character encountered while parsing JSON string');
+ }
+ }
+
+ $s .= $ch;
+ }
+ }
+ }
+
+ decode_error("unexpected end of string while parsing JSON string");
+ }
+
+
+ sub white {
+ while( defined $ch ){
+ if($ch le ' '){
+ next_chr();
+ }
+ elsif($ch eq '/'){
+ next_chr();
+ if(defined $ch and $ch eq '/'){
+ 1 while(defined(next_chr()) and $ch ne "\n" and $ch ne "\r");
+ }
+ elsif(defined $ch and $ch eq '*'){
+ next_chr();
+ while(1){
+ if(defined $ch){
+ if($ch eq '*'){
+ if(defined(next_chr()) and $ch eq '/'){
+ next_chr();
+ last;
+ }
+ }
+ else{
+ next_chr();
+ }
+ }
+ else{
+ decode_error("Unterminated comment");
+ }
+ }
+ next;
+ }
+ else{
+ $at--;
+ decode_error("malformed JSON string, neither array, object, number, string or atom");
+ }
+ }
+ else{
+ if ($relaxed and $ch eq '#') { # correctly?
+ pos($text) = $at;
+ $text =~ /\G([^\n]*(?:\r\n|\r|\n|$))/g;
+ $at = pos($text);
+ next_chr;
+ next;
+ }
+
+ last;
+ }
+ }
+ }
+
+
+ sub array {
+ my $a = $_[0] || []; # you can use this code to use another array ref object.
+
+ decode_error('json text or perl structure exceeds maximum nesting level (max_depth set too low?)')
+ if (++$depth > $max_depth);
+
+ next_chr();
+ white();
+
+ if(defined $ch and $ch eq ']'){
+ --$depth;
+ next_chr();
+ return $a;
+ }
+ else {
+ while(defined($ch)){
+ push @$a, value();
+
+ white();
+
+ if (!defined $ch) {
+ last;
+ }
+
+ if($ch eq ']'){
+ --$depth;
+ next_chr();
+ return $a;
+ }
+
+ if($ch ne ','){
+ last;
+ }
+
+ next_chr();
+ white();
+
+ if ($relaxed and $ch eq ']') {
+ --$depth;
+ next_chr();
+ return $a;
+ }
+
+ }
+ }
+
+ decode_error(", or ] expected while parsing array");
+ }
+
+
+ sub object {
+ my $o = $_[0] || {}; # you can use this code to use another hash ref object.
+ my $k;
+
+ decode_error('json text or perl structure exceeds maximum nesting level (max_depth set too low?)')
+ if (++$depth > $max_depth);
+ next_chr();
+ white();
+
+ if(defined $ch and $ch eq '}'){
+ --$depth;
+ next_chr();
+ if ($F_HOOK) {
+ return _json_object_hook($o);
+ }
+ return $o;
+ }
+ else {
+ while (defined $ch) {
+ $k = ($allow_barekey and $ch ne '"' and $ch ne "'") ? bareKey() : string();
+ white();
+
+ if(!defined $ch or $ch ne ':'){
+ $at--;
+ decode_error("':' expected");
+ }
+
+ next_chr();
+ $o->{$k} = value();
+ white();
+
+ last if (!defined $ch);
+
+ if($ch eq '}'){
+ --$depth;
+ next_chr();
+ if ($F_HOOK) {
+ return _json_object_hook($o);
+ }
+ return $o;
+ }
+
+ if($ch ne ','){
+ last;
+ }
+
+ next_chr();
+ white();
+
+ if ($relaxed and $ch eq '}') {
+ --$depth;
+ next_chr();
+ if ($F_HOOK) {
+ return _json_object_hook($o);
+ }
+ return $o;
+ }
+
+ }
+
+ }
+
+ $at--;
+ decode_error(", or } expected while parsing object/hash");
+ }
+
+
+ sub bareKey { # doesn't strictly follow Standard ECMA-262 3rd Edition
+ my $key;
+ while($ch =~ /[^\x00-\x23\x25-\x2F\x3A-\x40\x5B-\x5E\x60\x7B-\x7F]/){
+ $key .= $ch;
+ next_chr();
+ }
+ return $key;
+ }
+
+
+ sub word {
+ my $word = substr($text,$at-1,4);
+
+ if($word eq 'true'){
+ $at += 3;
+ next_chr;
+ return $JSON::PP::true;
+ }
+ elsif($word eq 'null'){
+ $at += 3;
+ next_chr;
+ return undef;
+ }
+ elsif($word eq 'fals'){
+ $at += 3;
+ if(substr($text,$at,1) eq 'e'){
+ $at++;
+ next_chr;
+ return $JSON::PP::false;
+ }
+ }
+
+ $at--; # for decode_error report
+
+ decode_error("'null' expected") if ($word =~ /^n/);
+ decode_error("'true' expected") if ($word =~ /^t/);
+ decode_error("'false' expected") if ($word =~ /^f/);
+ decode_error("malformed JSON string, neither array, object, number, string or atom");
+ }
+
+
+ sub number {
+ my $n = '';
+ my $v;
+
+ # According to RFC4627, hex or oct digts are invalid.
+ if($ch eq '0'){
+ my $peek = substr($text,$at,1);
+ my $hex = $peek =~ /[xX]/; # 0 or 1
+
+ if($hex){
+ decode_error("malformed number (leading zero must not be followed by another digit)");
+ ($n) = ( substr($text, $at+1) =~ /^([0-9a-fA-F]+)/);
+ }
+ else{ # oct
+ ($n) = ( substr($text, $at) =~ /^([0-7]+)/);
+ if (defined $n and length $n > 1) {
+ decode_error("malformed number (leading zero must not be followed by another digit)");
+ }
+ }
+
+ if(defined $n and length($n)){
+ if (!$hex and length($n) == 1) {
+ decode_error("malformed number (leading zero must not be followed by another digit)");
+ }
+ $at += length($n) + $hex;
+ next_chr;
+ return $hex ? hex($n) : oct($n);
+ }
+ }
+
+ if($ch eq '-'){
+ $n = '-';
+ next_chr;
+ if (!defined $ch or $ch !~ /\d/) {
+ decode_error("malformed number (no digits after initial minus)");
+ }
+ }
+
+ while(defined $ch and $ch =~ /\d/){
+ $n .= $ch;
+ next_chr;
+ }
+
+ if(defined $ch and $ch eq '.'){
+ $n .= '.';
+
+ next_chr;
+ if (!defined $ch or $ch !~ /\d/) {
+ decode_error("malformed number (no digits after decimal point)");
+ }
+ else {
+ $n .= $ch;
+ }
+
+ while(defined(next_chr) and $ch =~ /\d/){
+ $n .= $ch;
+ }
+ }
+
+ if(defined $ch and ($ch eq 'e' or $ch eq 'E')){
+ $n .= $ch;
+ next_chr;
+
+ if(defined($ch) and ($ch eq '+' or $ch eq '-')){
+ $n .= $ch;
+ next_chr;
+ if (!defined $ch or $ch =~ /\D/) {
+ decode_error("malformed number (no digits after exp sign)");
+ }
+ $n .= $ch;
+ }
+ elsif(defined($ch) and $ch =~ /\d/){
+ $n .= $ch;
+ }
+ else {
+ decode_error("malformed number (no digits after exp sign)");
+ }
+
+ while(defined(next_chr) and $ch =~ /\d/){
+ $n .= $ch;
+ }
+
+ }
+
+ $v .= $n;
+
+ if ($v !~ /[.eE]/ and length $v > $max_intsize) {
+ if ($allow_bigint) { # from Adam Sussman
+ require Math::BigInt;
+ return Math::BigInt->new($v);
+ }
+ else {
+ return "$v";
+ }
+ }
+ elsif ($allow_bigint) {
+ require Math::BigFloat;
+ return Math::BigFloat->new($v);
+ }
+
+ return 0+$v;
+ }
+
+
+ sub is_valid_utf8 {
+
+ $utf8_len = $_[0] =~ /[\x00-\x7F]/ ? 1
+ : $_[0] =~ /[\xC2-\xDF]/ ? 2
+ : $_[0] =~ /[\xE0-\xEF]/ ? 3
+ : $_[0] =~ /[\xF0-\xF4]/ ? 4
+ : 0
+ ;
+
+ return unless $utf8_len;
+
+ my $is_valid_utf8 = substr($text, $at - 1, $utf8_len);
+
+ return ( $is_valid_utf8 =~ /^(?:
+ [\x00-\x7F]
+ |[\xC2-\xDF][\x80-\xBF]
+ |[\xE0][\xA0-\xBF][\x80-\xBF]
+ |[\xE1-\xEC][\x80-\xBF][\x80-\xBF]
+ |[\xED][\x80-\x9F][\x80-\xBF]
+ |[\xEE-\xEF][\x80-\xBF][\x80-\xBF]
+ |[\xF0][\x90-\xBF][\x80-\xBF][\x80-\xBF]
+ |[\xF1-\xF3][\x80-\xBF][\x80-\xBF][\x80-\xBF]
+ |[\xF4][\x80-\x8F][\x80-\xBF][\x80-\xBF]
+ )$/x ) ? $is_valid_utf8 : '';
+ }
+
+
+ sub decode_error {
+ my $error = shift;
+ my $no_rep = shift;
+ my $str = defined $text ? substr($text, $at) : '';
+ my $mess = '';
+ my $type = $] >= 5.008 ? 'U*'
+ : $] < 5.006 ? 'C*'
+ : utf8::is_utf8( $str ) ? 'U*' # 5.6
+ : 'C*'
+ ;
+
+ for my $c ( unpack( $type, $str ) ) { # emulate pv_uni_display() ?
+ $mess .= $c == 0x07 ? '\a'
+ : $c == 0x09 ? '\t'
+ : $c == 0x0a ? '\n'
+ : $c == 0x0d ? '\r'
+ : $c == 0x0c ? '\f'
+ : $c < 0x20 ? sprintf('\x{%x}', $c)
+ : $c == 0x5c ? '\\\\'
+ : $c < 0x80 ? chr($c)
+ : sprintf('\x{%x}', $c)
+ ;
+ if ( length $mess >= 20 ) {
+ $mess .= '...';
+ last;
+ }
+ }
+
+ unless ( length $mess ) {
+ $mess = '(end of string)';
+ }
+
+ Carp::croak (
+ $no_rep ? "$error" : "$error, at character offset $at (before \"$mess\")"
+ );
+
+ }
+
+
+ sub _json_object_hook {
+ my $o = $_[0];
+ my @ks = keys %{$o};
+
+ if ( $cb_sk_object and @ks == 1 and exists $cb_sk_object->{ $ks[0] } and ref $cb_sk_object->{ $ks[0] } ) {
+ my @val = $cb_sk_object->{ $ks[0] }->( $o->{$ks[0]} );
+ if (@val == 1) {
+ return $val[0];
+ }
+ }
+
+ my @val = $cb_object->($o) if ($cb_object);
+ if (@val == 0 or @val > 1) {
+ return $o;
+ }
+ else {
+ return $val[0];
+ }
+ }
+
+
+ sub PP_decode_box {
+ {
+ text => $text,
+ at => $at,
+ ch => $ch,
+ len => $len,
+ depth => $depth,
+ encoding => $encoding,
+ is_valid_utf8 => $is_valid_utf8,
+ };
+ }
+
+} # PARSE
+
+
+sub _decode_surrogates { # from perlunicode
+ my $uni = 0x10000 + (hex($_[0]) - 0xD800) * 0x400 + (hex($_[1]) - 0xDC00);
+ my $un = pack('U*', $uni);
+ utf8::encode( $un );
+ return $un;
+}
+
+
+sub _decode_unicode {
+ my $un = pack('U', hex shift);
+ utf8::encode( $un );
+ return $un;
+}
+
+#
+# Setup for various Perl versions (the code from JSON::PP58)
+#
+
+BEGIN {
+
+ unless ( defined &utf8::is_utf8 ) {
+ require Encode;
+ *utf8::is_utf8 = *Encode::is_utf8;
+ }
+
+ if ( $] >= 5.008 ) {
+ *JSON::PP::JSON_PP_encode_ascii = \&_encode_ascii;
+ *JSON::PP::JSON_PP_encode_latin1 = \&_encode_latin1;
+ *JSON::PP::JSON_PP_decode_surrogates = \&_decode_surrogates;
+ *JSON::PP::JSON_PP_decode_unicode = \&_decode_unicode;
+ }
+
+ if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
+ package JSON::PP;
+ require subs;
+ subs->import('join');
+ eval q|
+ sub join {
+ return '' if (@_ < 2);
+ my $j = shift;
+ my $str = shift;
+ for (@_) { $str .= $j . $_; }
+ return $str;
+ }
+ |;
+ }
+
+
+ sub JSON::PP::incr_parse {
+ local $Carp::CarpLevel = 1;
+ ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_parse( @_ );
+ }
+
+
+ sub JSON::PP::incr_skip {
+ ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_skip;
+ }
+
+
+ sub JSON::PP::incr_reset {
+ ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_reset;
+ }
+
+ eval q{
+ sub JSON::PP::incr_text : lvalue {
+ $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new;
+
+ if ( $_[0]->{_incr_parser}->{incr_parsing} ) {
+ Carp::croak("incr_text can not be called when the incremental parser already started parsing");
+ }
+ $_[0]->{_incr_parser}->{incr_text};
+ }
+ } if ( $] >= 5.006 );
+
+} # Setup for various Perl versions (the code from JSON::PP58)
+
+
+###############################
+# Utilities
+#
+
+BEGIN {
+ eval 'require Scalar::Util';
+ unless($@){
+ *JSON::PP::blessed = \&Scalar::Util::blessed;
+ *JSON::PP::reftype = \&Scalar::Util::reftype;
+ *JSON::PP::refaddr = \&Scalar::Util::refaddr;
+ }
+ else{ # This code is from Sclar::Util.
+ # warn $@;
+ eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
+ *JSON::PP::blessed = sub {
+ local($@, $SIG{__DIE__}, $SIG{__WARN__});
+ ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
+ };
+ my %tmap = qw(
+ B::NULL SCALAR
+ B::HV HASH
+ B::AV ARRAY
+ B::CV CODE
+ B::IO IO
+ B::GV GLOB
+ B::REGEXP REGEXP
+ );
+ *JSON::PP::reftype = sub {
+ my $r = shift;
+
+ return undef unless length(ref($r));
+
+ my $t = ref(B::svref_2object($r));
+
+ return
+ exists $tmap{$t} ? $tmap{$t}
+ : length(ref($$r)) ? 'REF'
+ : 'SCALAR';
+ };
+ *JSON::PP::refaddr = sub {
+ return undef unless length(ref($_[0]));
+
+ my $addr;
+ if(defined(my $pkg = blessed($_[0]))) {
+ $addr .= bless $_[0], 'Scalar::Util::Fake';
+ bless $_[0], $pkg;
+ }
+ else {
+ $addr .= $_[0]
+ }
+
+ $addr =~ /0x(\w+)/;
+ local $^W;
+ #no warnings 'portable';
+ hex($1);
+ }
+ }
+}
+
+
+# shamely copied and modified from JSON::XS code.
+
+$JSON::PP::true = do { bless \(my $dummy = 1), "JSON::PP::Boolean" };
+$JSON::PP::false = do { bless \(my $dummy = 0), "JSON::PP::Boolean" };
+
+sub is_bool { defined $_[0] and UNIVERSAL::isa($_[0], "JSON::PP::Boolean"); }
+
+sub true { $JSON::PP::true }
+sub false { $JSON::PP::false }
+sub null { undef; }
+
+###############################
+
+package JSON::PP::Boolean;
+
+use overload (
+ "0+" => sub { ${$_[0]} },
+ "++" => sub { $_[0] = ${$_[0]} + 1 },
+ "--" => sub { $_[0] = ${$_[0]} - 1 },
+ fallback => 1,
+);
+
+
+###############################
+
+package JSON::PP::IncrParser;
+
+use strict;
+
+use constant INCR_M_WS => 0; # initial whitespace skipping
+use constant INCR_M_STR => 1; # inside string
+use constant INCR_M_BS => 2; # inside backslash
+use constant INCR_M_JSON => 3; # outside anything, count nesting
+use constant INCR_M_C0 => 4;
+use constant INCR_M_C1 => 5;
+
+$JSON::PP::IncrParser::VERSION = '1.01';
+
+my $unpack_format = $] < 5.006 ? 'C*' : 'U*';
+
+sub new {
+ my ( $class ) = @_;
+
+ bless {
+ incr_nest => 0,
+ incr_text => undef,
+ incr_parsing => 0,
+ incr_p => 0,
+ }, $class;
+}
+
+
+sub incr_parse {
+ my ( $self, $coder, $text ) = @_;
+
+ $self->{incr_text} = '' unless ( defined $self->{incr_text} );
+
+ if ( defined $text ) {
+ if ( utf8::is_utf8( $text ) and !utf8::is_utf8( $self->{incr_text} ) ) {
+ utf8::upgrade( $self->{incr_text} ) ;
+ utf8::decode( $self->{incr_text} ) ;
+ }
+ $self->{incr_text} .= $text;
+ }
+
+
+ my $max_size = $coder->get_max_size;
+
+ if ( defined wantarray ) {
+
+ $self->{incr_mode} = INCR_M_WS;
+
+ if ( wantarray ) {
+ my @ret;
+
+ $self->{incr_parsing} = 1;
+
+ do {
+ push @ret, $self->_incr_parse( $coder, $self->{incr_text} );
+
+ unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) {
+ $self->{incr_mode} = INCR_M_WS;
+ }
+
+ } until ( !$self->{incr_text} );
+
+ $self->{incr_parsing} = 0;
+
+ return @ret;
+ }
+ else { # in scalar context
+ $self->{incr_parsing} = 1;
+ my $obj = $self->_incr_parse( $coder, $self->{incr_text} );
+ $self->{incr_parsing} = 0 if defined $obj; # pointed by Martin J. Evans
+ return $obj ? $obj : undef; # $obj is an empty string, parsing was completed.
+ }
+
+ }
+
+}
+
+
+sub _incr_parse {
+ my ( $self, $coder, $text, $skip ) = @_;
+ my $p = $self->{incr_p};
+ my $restore = $p;
+
+ my @obj;
+ my $len = length $text;
+
+ if ( $self->{incr_mode} == INCR_M_WS ) {
+ while ( $len > $p ) {
+ my $s = substr( $text, $p, 1 );
+ $p++ and next if ( 0x20 >= unpack($unpack_format, $s) );
+ $self->{incr_mode} = INCR_M_JSON;
+ last;
+ }
+ }
+
+ while ( $len > $p ) {
+ my $s = substr( $text, $p++, 1 );
+
+ if ( $s eq '"' ) {
+ if ( $self->{incr_mode} != INCR_M_STR ) {
+ $self->{incr_mode} = INCR_M_STR;
+ }
+ else {
+ $self->{incr_mode} = INCR_M_JSON;
+ unless ( $self->{incr_nest} ) {
+ last;
+ }
+ }
+ }
+
+ if ( $self->{incr_mode} == INCR_M_JSON ) {
+
+ if ( $s eq '[' or $s eq '{' ) {
+ if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
+ Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+ }
+ }
+ elsif ( $s eq ']' or $s eq '}' ) {
+ last if ( --$self->{incr_nest} <= 0 );
+ }
+ elsif ( $s eq '#' ) {
+ while ( $len > $p ) {
+ last if substr( $text, $p++, 1 ) eq "\n";
+ }
+ }
+
+ }
+
+ }
+
+ $self->{incr_p} = $p;
+
+ return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 );
+
+ return '' unless ( length substr( $self->{incr_text}, 0, $p ) );
+
+ local $Carp::CarpLevel = 2;
+
+ $self->{incr_p} = $restore;
+ $self->{incr_c} = $p;
+
+ my ( $obj, $tail ) = $coder->PP_decode_json( substr( $self->{incr_text}, 0, $p ), 0x10000001 );
+
+ $self->{incr_text} = substr( $self->{incr_text}, $p );
+ $self->{incr_p} = 0;
+
+ return $obj or '';
+}
+
+
+sub incr_text {
+ if ( $_[0]->{incr_parsing} ) {
+ Carp::croak("incr_text can not be called when the incremental parser already started parsing");
+ }
+ $_[0]->{incr_text};
+}
+
+
+sub incr_skip {
+ my $self = shift;
+ $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_c} );
+ $self->{incr_p} = 0;
+}
+
+
+sub incr_reset {
+ my $self = shift;
+ $self->{incr_text} = undef;
+ $self->{incr_p} = 0;
+ $self->{incr_mode} = 0;
+ $self->{incr_nest} = 0;
+ $self->{incr_parsing} = 0;
+}
+
+###############################
+
+
+1;
+__END__
+=pod
+
+=head1 NAME
+
+JSON::PP - JSON::XS compatible pure-Perl module.
+
+=head1 SYNOPSIS
+
+ use JSON::PP;
+
+ # exported functions, they croak on error
+ # and expect/generate UTF-8
+
+ $utf8_encoded_json_text = encode_json $perl_hash_or_arrayref;
+ $perl_hash_or_arrayref = decode_json $utf8_encoded_json_text;
+
+ # OO-interface
+
+ $coder = JSON::PP->new->ascii->pretty->allow_nonref;
+
+ $json_text = $json->encode( $perl_scalar );
+ $perl_scalar = $json->decode( $json_text );
+
+ $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing
+
+ # Note that JSON version 2.0 and above will automatically use
+ # JSON::XS or JSON::PP, so you should be able to just:
+
+ use JSON;
+
+
+=head1 VERSION
+
+ 2.27105
+
+L<JSON::XS> 2.27 compatible.
+
+=head1 NOTE
+
+JSON::PP was inculded in JSON distribution (CPAN module).
+It comes to be a perl core module in Perl 5.14.
+
+ [STEPS]
+
+ * release this module as JSON::PPdev.
+
+ * release other PP::* modules as JSON::PP::Compat*.
+
+ * JSON distribution will inculde yet another JSON::PP modules.
+ They are JSNO::backportPP. So JSON.pm should work as it did at all!
+
+ * remove JSON::PP and JSON::PP::* modules from JSON distribution
+ and release it as developer version.
+
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ * release JSON distribution as stable version.
+
+ * rename JSON::PPdev into JSON::PP and release on CPAN. <<<< HERE
+
+=head1 DESCRIPTION
+
+This module is L<JSON::XS> compatible pure Perl module.
+(Perl 5.8 or later is recommended)
+
+JSON::XS is the fastest and most proper JSON module on CPAN.
+It is written by Marc Lehmann in C, so must be compiled and
+installed in the used environment.
+
+JSON::PP is a pure-Perl module and has compatibility to JSON::XS.
+
+
+=head2 FEATURES
+
+=over
+
+=item * correct unicode handling
+
+This module knows how to handle Unicode (depending on Perl version).
+
+See to L<JSON::XS/A FEW NOTES ON UNICODE AND PERL> and L<UNICODE HANDLING ON PERLS>.
+
+
+=item * round-trip integrity
+
+When you serialise a perl data structure using only data types supported
+by JSON and Perl, the deserialised data structure is identical on the Perl
+level. (e.g. the string "2.0" doesn't suddenly become "2" just because
+it looks like a number). There I<are> minor exceptions to this, read the
+MAPPING section below to learn about those.
+
+
+=item * strict checking of JSON correctness
+
+There is no guessing, no generating of illegal JSON texts by default,
+and only JSON is accepted as input by default (the latter is a security feature).
+But when some options are set, loose chcking features are available.
+
+=back
+
+=head1 FUNCTIONAL INTERFACE
+
+Some documents are copied and modified from L<JSON::XS/FUNCTIONAL INTERFACE>.
+
+=head2 encode_json
+
+ $json_text = encode_json $perl_scalar
+
+Converts the given Perl data structure to a UTF-8 encoded, binary string.
+
+This function call is functionally identical to:
+
+ $json_text = JSON::PP->new->utf8->encode($perl_scalar)
+
+=head2 decode_json
+
+ $perl_scalar = decode_json $json_text
+
+The opposite of C<encode_json>: expects an UTF-8 (binary) string and tries
+to parse that as an UTF-8 encoded JSON text, returning the resulting
+reference.
+
+This function call is functionally identical to:
+
+ $perl_scalar = JSON::PP->new->utf8->decode($json_text)
+
+=head2 JSON::PP::is_bool
+
+ $is_boolean = JSON::PP::is_bool($scalar)
+
+Returns true if the passed scalar represents either JSON::PP::true or
+JSON::PP::false, two constants that act like C<1> and C<0> respectively
+and are also used to represent JSON C<true> and C<false> in Perl strings.
+
+=head2 JSON::PP::true
+
+Returns JSON true value which is blessed object.
+It C<isa> JSON::PP::Boolean object.
+
+=head2 JSON::PP::false
+
+Returns JSON false value which is blessed object.
+It C<isa> JSON::PP::Boolean object.
+
+=head2 JSON::PP::null
+
+Returns C<undef>.
+
+See L<MAPPING>, below, for more information on how JSON values are mapped to
+Perl.
+
+
+=head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER
+
+This section supposes that your perl vresion is 5.8 or later.
+
+If you know a JSON text from an outer world - a network, a file content, and so on,
+is encoded in UTF-8, you should use C<decode_json> or C<JSON> module object
+with C<utf8> enable. And the decoded result will contain UNICODE characters.
+
+ # from network
+ my $json = JSON::PP->new->utf8;
+ my $json_text = CGI->new->param( 'json_data' );
+ my $perl_scalar = $json->decode( $json_text );
+
+ # from file content
+ local $/;
+ open( my $fh, '<', 'json.data' );
+ $json_text = <$fh>;
+ $perl_scalar = decode_json( $json_text );
+
+If an outer data is not encoded in UTF-8, firstly you should C<decode> it.
+
+ use Encode;
+ local $/;
+ open( my $fh, '<', 'json.data' );
+ my $encoding = 'cp932';
+ my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE
+
+ # or you can write the below code.
+ #
+ # open( my $fh, "<:encoding($encoding)", 'json.data' );
+ # $unicode_json_text = <$fh>;
+
+In this case, C<$unicode_json_text> is of course UNICODE string.
+So you B<cannot> use C<decode_json> nor C<JSON> module object with C<utf8> enable.
+Instead of them, you use C<JSON> module object with C<utf8> disable.
+
+ $perl_scalar = $json->utf8(0)->decode( $unicode_json_text );
+
+Or C<encode 'utf8'> and C<decode_json>:
+
+ $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) );
+ # this way is not efficient.
+
+And now, you want to convert your C<$perl_scalar> into JSON data and
+send it to an outer world - a network or a file content, and so on.
+
+Your data usually contains UNICODE strings and you want the converted data to be encoded
+in UTF-8, you should use C<encode_json> or C<JSON> module object with C<utf8> enable.
+
+ print encode_json( $perl_scalar ); # to a network? file? or display?
+ # or
+ print $json->utf8->encode( $perl_scalar );
+
+If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings
+for some reason, then its characters are regarded as B<latin1> for perl
+(because it does not concern with your $encoding).
+You B<cannot> use C<encode_json> nor C<JSON> module object with C<utf8> enable.
+Instead of them, you use C<JSON> module object with C<utf8> disable.
+Note that the resulted text is a UNICODE string but no problem to print it.
+
+ # $perl_scalar contains $encoding encoded string values
+ $unicode_json_text = $json->utf8(0)->encode( $perl_scalar );
+ # $unicode_json_text consists of characters less than 0x100
+ print $unicode_json_text;
+
+Or C<decode $encoding> all string values and C<encode_json>:
+
+ $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } );
+ # ... do it to each string values, then encode_json
+ $json_text = encode_json( $perl_scalar );
+
+This method is a proper way but probably not efficient.
+
+See to L<Encode>, L<perluniintro>.
+
+
+=head1 METHODS
+
+Basically, check to L<JSON> or L<JSON::XS>.
+
+=head2 new
+
+ $json = new JSON::PP
+
+Rturns a new JSON::PP object that can be used to de/encode JSON
+strings.
+
+All boolean flags described below are by default I<disabled>.
+
+The mutators for flags all return the JSON object again and thus calls can
+be chained:
+
+ my $json = JSON::PP->new->utf8->space_after->encode({a => [1,2]})
+ => {"a": [1, 2]}
+
+=head2 ascii
+
+ $json = $json->ascii([$enable])
+
+ $enabled = $json->get_ascii
+
+If $enable is true (or missing), then the encode method will not generate characters outside
+the code range 0..127. Any Unicode characters outside that range will be escaped using either
+a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627.
+(See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>).
+
+In Perl 5.005, there is no character having high value (more than 255).
+See to L<UNICODE HANDLING ON PERLS>.
+
+If $enable is false, then the encode method will not escape Unicode characters unless
+required by the JSON syntax or other flags. This results in a faster and more compact format.
+
+ JSON::PP->new->ascii(1)->encode([chr 0x10401])
+ => ["\ud801\udc01"]
+
+=head2 latin1
+
+ $json = $json->latin1([$enable])
+
+ $enabled = $json->get_latin1
+
+If $enable is true (or missing), then the encode method will encode the resulting JSON
+text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255.
+
+If $enable is false, then the encode method will not escape Unicode characters
+unless required by the JSON syntax or other flags.
+
+ JSON::XS->new->latin1->encode (["\x{89}\x{abc}"]
+ => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not)
+
+See to L<UNICODE HANDLING ON PERLS>.
+
+=head2 utf8
+
+ $json = $json->utf8([$enable])
+
+ $enabled = $json->get_utf8
+
+If $enable is true (or missing), then the encode method will encode the JSON result
+into UTF-8, as required by many protocols, while the decode method expects to be handled
+an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any
+characters outside the range 0..255, they are thus useful for bytewise/binary I/O.
+
+(In Perl 5.005, any character outside the range 0..255 does not exist.
+See to L<UNICODE HANDLING ON PERLS>.)
+
+In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32
+encoding families, as described in RFC4627.
+
+If $enable is false, then the encode method will return the JSON string as a (non-encoded)
+Unicode string, while decode expects thus a Unicode string. Any decoding or encoding
+(e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module.
+
+Example, output UTF-16BE-encoded JSON:
+
+ use Encode;
+ $jsontext = encode "UTF-16BE", JSON::PP->new->encode ($object);
+
+Example, decode UTF-32LE-encoded JSON:
+
+ use Encode;
+ $object = JSON::PP->new->decode (decode "UTF-32LE", $jsontext);
+
+
+=head2 pretty
+
+ $json = $json->pretty([$enable])
+
+This enables (or disables) all of the C<indent>, C<space_before> and
+C<space_after> flags in one call to generate the most readable
+(or most compact) form possible.
+
+Equivalent to:
+
+ $json->indent->space_before->space_after
+
+=head2 indent
+
+ $json = $json->indent([$enable])
+
+ $enabled = $json->get_indent
+
+The default indent space length is three.
+You can use C<indent_length> to change the length.
+
+=head2 space_before
+
+ $json = $json->space_before([$enable])
+
+ $enabled = $json->get_space_before
+
+If C<$enable> is true (or missing), then the C<encode> method will add an extra
+optional space before the C<:> separating keys from values in JSON objects.
+
+If C<$enable> is false, then the C<encode> method will not add any extra
+space at those places.
+
+This setting has no effect when decoding JSON texts.
+
+Example, space_before enabled, space_after and indent disabled:
+
+ {"key" :"value"}
+
+=head2 space_after
+
+ $json = $json->space_after([$enable])
+
+ $enabled = $json->get_space_after
+
+If C<$enable> is true (or missing), then the C<encode> method will add an extra
+optional space after the C<:> separating keys from values in JSON objects
+and extra whitespace after the C<,> separating key-value pairs and array
+members.
+
+If C<$enable> is false, then the C<encode> method will not add any extra
+space at those places.
+
+This setting has no effect when decoding JSON texts.
+
+Example, space_before and indent disabled, space_after enabled:
+
+ {"key": "value"}
+
+=head2 relaxed
+
+ $json = $json->relaxed([$enable])
+
+ $enabled = $json->get_relaxed
+
+If C<$enable> is true (or missing), then C<decode> will accept some
+extensions to normal JSON syntax (see below). C<encode> will not be
+affected in anyway. I<Be aware that this option makes you accept invalid
+JSON texts as if they were valid!>. I suggest only to use this option to
+parse application-specific files written by humans (configuration files,
+resource files etc.)
+
+If C<$enable> is false (the default), then C<decode> will only accept
+valid JSON texts.
+
+Currently accepted extensions are:
+
+=over 4
+
+=item * list items can have an end-comma
+
+JSON I<separates> array elements and key-value pairs with commas. This
+can be annoying if you write JSON texts manually and want to be able to
+quickly append elements, so this extension accepts comma at the end of
+such items not just between them:
+
+ [
+ 1,
+ 2, <- this comma not normally allowed
+ ]
+ {
+ "k1": "v1",
+ "k2": "v2", <- this comma not normally allowed
+ }
+
+=item * shell-style '#'-comments
+
+Whenever JSON allows whitespace, shell-style comments are additionally
+allowed. They are terminated by the first carriage-return or line-feed
+character, after which more white-space and comments are allowed.
+
+ [
+ 1, # this comment not allowed in JSON
+ # neither this one...
+ ]
+
+=back
+
+=head2 canonical
+
+ $json = $json->canonical([$enable])
+
+ $enabled = $json->get_canonical
+
+If C<$enable> is true (or missing), then the C<encode> method will output JSON objects
+by sorting their keys. This is adding a comparatively high overhead.
+
+If C<$enable> is false, then the C<encode> method will output key-value
+pairs in the order Perl stores them (which will likely change between runs
+of the same script).
+
+This option is useful if you want the same data structure to be encoded as
+the same JSON text (given the same overall settings). If it is disabled,
+the same hash might be encoded differently even if contains the same data,
+as key-value pairs have no inherent ordering in Perl.
+
+This setting has no effect when decoding JSON texts.
+
+If you want your own sorting routine, you can give a code referece
+or a subroutine name to C<sort_by>. See to C<JSON::PP OWN METHODS>.
+
+=head2 allow_nonref
+
+ $json = $json->allow_nonref([$enable])
+
+ $enabled = $json->get_allow_nonref
+
+If C<$enable> is true (or missing), then the C<encode> method can convert a
+non-reference into its corresponding string, number or null JSON value,
+which is an extension to RFC4627. Likewise, C<decode> will accept those JSON
+values instead of croaking.
+
+If C<$enable> is false, then the C<encode> method will croak if it isn't
+passed an arrayref or hashref, as JSON texts must either be an object
+or array. Likewise, C<decode> will croak if given something that is not a
+JSON object or array.
+
+ JSON::PP->new->allow_nonref->encode ("Hello, World!")
+ => "Hello, World!"
+
+=head2 allow_unknown
+
+ $json = $json->allow_unknown ([$enable])
+
+ $enabled = $json->get_allow_unknown
+
+If $enable is true (or missing), then "encode" will *not* throw an
+exception when it encounters values it cannot represent in JSON (for
+example, filehandles) but instead will encode a JSON "null" value.
+Note that blessed objects are not included here and are handled
+separately by c<allow_nonref>.
+
+If $enable is false (the default), then "encode" will throw an
+exception when it encounters anything it cannot encode as JSON.
+
+This option does not affect "decode" in any way, and it is
+recommended to leave it off unless you know your communications
+partner.
+
+=head2 allow_blessed
+
+ $json = $json->allow_blessed([$enable])
+
+ $enabled = $json->get_allow_blessed
+
+If C<$enable> is true (or missing), then the C<encode> method will not
+barf when it encounters a blessed reference. Instead, the value of the
+B<convert_blessed> option will decide whether C<null> (C<convert_blessed>
+disabled or no C<TO_JSON> method found) or a representation of the
+object (C<convert_blessed> enabled and C<TO_JSON> method found) is being
+encoded. Has no effect on C<decode>.
+
+If C<$enable> is false (the default), then C<encode> will throw an
+exception when it encounters a blessed object.
+
+=head2 convert_blessed
+
+ $json = $json->convert_blessed([$enable])
+
+ $enabled = $json->get_convert_blessed
+
+If C<$enable> is true (or missing), then C<encode>, upon encountering a
+blessed object, will check for the availability of the C<TO_JSON> method
+on the object's class. If found, it will be called in scalar context
+and the resulting scalar will be encoded instead of the object. If no
+C<TO_JSON> method is found, the value of C<allow_blessed> will decide what
+to do.
+
+The C<TO_JSON> method may safely call die if it wants. If C<TO_JSON>
+returns other blessed objects, those will be handled in the same
+way. C<TO_JSON> must take care of not causing an endless recursion cycle
+(== crash) in this case. The name of C<TO_JSON> was chosen because other
+methods called by the Perl core (== not by the user of the object) are
+usually in upper case letters and to avoid collisions with the C<to_json>
+function or method.
+
+This setting does not yet influence C<decode> in any way.
+
+If C<$enable> is false, then the C<allow_blessed> setting will decide what
+to do when a blessed object is found.
+
+=head2 filter_json_object
+
+ $json = $json->filter_json_object([$coderef])
+
+When C<$coderef> is specified, it will be called from C<decode> each
+time it decodes a JSON object. The only argument passed to the coderef
+is a reference to the newly-created hash. If the code references returns
+a single scalar (which need not be a reference), this value
+(i.e. a copy of that scalar to avoid aliasing) is inserted into the
+deserialised data structure. If it returns an empty list
+(NOTE: I<not> C<undef>, which is a valid scalar), the original deserialised
+hash will be inserted. This setting can slow down decoding considerably.
+
+When C<$coderef> is omitted or undefined, any existing callback will
+be removed and C<decode> will not change the deserialised hash in any
+way.
+
+Example, convert all JSON objects into the integer 5:
+
+ my $js = JSON::PP->new->filter_json_object (sub { 5 });
+ # returns [5]
+ $js->decode ('[{}]'); # the given subroutine takes a hash reference.
+ # throw an exception because allow_nonref is not enabled
+ # so a lone 5 is not allowed.
+ $js->decode ('{"a":1, "b":2}');
+
+=head2 filter_json_single_key_object
+
+ $json = $json->filter_json_single_key_object($key [=> $coderef])
+
+Works remotely similar to C<filter_json_object>, but is only called for
+JSON objects having a single key named C<$key>.
+
+This C<$coderef> is called before the one specified via
+C<filter_json_object>, if any. It gets passed the single value in the JSON
+object. If it returns a single value, it will be inserted into the data
+structure. If it returns nothing (not even C<undef> but the empty list),
+the callback from C<filter_json_object> will be called next, as if no
+single-key callback were specified.
+
+If C<$coderef> is omitted or undefined, the corresponding callback will be
+disabled. There can only ever be one callback for a given key.
+
+As this callback gets called less often then the C<filter_json_object>
+one, decoding speed will not usually suffer as much. Therefore, single-key
+objects make excellent targets to serialise Perl objects into, especially
+as single-key JSON objects are as close to the type-tagged value concept
+as JSON gets (it's basically an ID/VALUE tuple). Of course, JSON does not
+support this in any way, so you need to make sure your data never looks
+like a serialised Perl hash.
+
+Typical names for the single object key are C<__class_whatever__>, or
+C<$__dollars_are_rarely_used__$> or C<}ugly_brace_placement>, or even
+things like C<__class_md5sum(classname)__>, to reduce the risk of clashing
+with real hashes.
+
+Example, decode JSON objects of the form C<< { "__widget__" => <id> } >>
+into the corresponding C<< $WIDGET{<id>} >> object:
+
+ # return whatever is in $WIDGET{5}:
+ JSON::PP
+ ->new
+ ->filter_json_single_key_object (__widget__ => sub {
+ $WIDGET{ $_[0] }
+ })
+ ->decode ('{"__widget__": 5')
+
+ # this can be used with a TO_JSON method in some "widget" class
+ # for serialisation to json:
+ sub WidgetBase::TO_JSON {
+ my ($self) = @_;
+
+ unless ($self->{id}) {
+ $self->{id} = ..get..some..id..;
+ $WIDGET{$self->{id}} = $self;
+ }
+
+ { __widget__ => $self->{id} }
+ }
+
+=head2 shrink
+
+ $json = $json->shrink([$enable])
+
+ $enabled = $json->get_shrink
+
+In JSON::XS, this flag resizes strings generated by either
+C<encode> or C<decode> to their minimum size possible.
+It will also try to downgrade any strings to octet-form if possible.
+
+In JSON::PP, it is noop about resizing strings but tries
+C<utf8::downgrade> to the returned string by C<encode>.
+See to L<utf8>.
+
+See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>
+
+=head2 max_depth
+
+ $json = $json->max_depth([$maximum_nesting_depth])
+
+ $max_depth = $json->get_max_depth
+
+Sets the maximum nesting level (default C<512>) accepted while encoding
+or decoding. If a higher nesting level is detected in JSON text or a Perl
+data structure, then the encoder and decoder will stop and croak at that
+point.
+
+Nesting level is defined by number of hash- or arrayrefs that the encoder
+needs to traverse to reach a given point or the number of C<{> or C<[>
+characters without their matching closing parenthesis crossed to reach a
+given character in a string.
+
+If no argument is given, the highest possible setting will be used, which
+is rarely useful.
+
+See L<JSON::XS/SSECURITY CONSIDERATIONS> for more info on why this is useful.
+
+When a large value (100 or more) was set and it de/encodes a deep nested object/text,
+it may raise a warning 'Deep recursion on subroutin' at the perl runtime phase.
+
+=head2 max_size
+
+ $json = $json->max_size([$maximum_string_size])
+
+ $max_size = $json->get_max_size
+
+Set the maximum length a JSON text may have (in bytes) where decoding is
+being attempted. The default is C<0>, meaning no limit. When C<decode>
+is called on a string that is longer then this many bytes, it will not
+attempt to decode the string but throw an exception. This setting has no
+effect on C<encode> (yet).
+
+If no argument is given, the limit check will be deactivated (same as when
+C<0> is specified).
+
+See L<JSON::XS/SSECURITY CONSIDERATIONS> for more info on why this is useful.
+
+=head2 encode
+
+ $json_text = $json->encode($perl_scalar)
+
+Converts the given Perl data structure (a simple scalar or a reference
+to a hash or array) to its JSON representation. Simple scalars will be
+converted into JSON string or number sequences, while references to arrays
+become JSON arrays and references to hashes become JSON objects. Undefined
+Perl values (e.g. C<undef>) become JSON C<null> values.
+References to the integers C<0> and C<1> are converted into C<true> and C<false>.
+
+=head2 decode
+
+ $perl_scalar = $json->decode($json_text)
+
+The opposite of C<encode>: expects a JSON text and tries to parse it,
+returning the resulting simple scalar or reference. Croaks on error.
+
+JSON numbers and strings become simple Perl scalars. JSON arrays become
+Perl arrayrefs and JSON objects become Perl hashrefs. C<true> becomes
+C<1> (C<JSON::true>), C<false> becomes C<0> (C<JSON::false>) and
+C<null> becomes C<undef>.
+
+=head2 decode_prefix
+
+ ($perl_scalar, $characters) = $json->decode_prefix($json_text)
+
+This works like the C<decode> method, but instead of raising an exception
+when there is trailing garbage after the first JSON object, it will
+silently stop parsing there and return the number of characters consumed
+so far.
+
+ JSON->new->decode_prefix ("[1] the tail")
+ => ([], 3)
+
+=head1 INCREMENTAL PARSING
+
+Most of this section are copied and modified from L<JSON::XS/INCREMENTAL PARSING>.
+
+In some cases, there is the need for incremental parsing of JSON texts.
+This module does allow you to parse a JSON stream incrementally.
+It does so by accumulating text until it has a full JSON object, which
+it then can decode. This process is similar to using C<decode_prefix>
+to see if a full JSON object is available, but is much more efficient
+(and can be implemented with a minimum of method calls).
+
+This module will only attempt to parse the JSON text once it is sure it
+has enough text to get a decisive result, using a very simple but
+truly incremental parser. This means that it sometimes won't stop as
+early as the full parser, for example, it doesn't detect parenthese
+mismatches. The only thing it guarantees is that it starts decoding as
+soon as a syntactically valid JSON text has been seen. This means you need
+to set resource limits (e.g. C<max_size>) to ensure the parser will stop
+parsing in the presence if syntax errors.
+
+The following methods implement this incremental parser.
+
+=head2 incr_parse
+
+ $json->incr_parse( [$string] ) # void context
+
+ $obj_or_undef = $json->incr_parse( [$string] ) # scalar context
+
+ @obj_or_empty = $json->incr_parse( [$string] ) # list context
+
+This is the central parsing function. It can both append new text and
+extract objects from the stream accumulated so far (both of these
+functions are optional).
+
+If C<$string> is given, then this string is appended to the already
+existing JSON fragment stored in the C<$json> object.
+
+After that, if the function is called in void context, it will simply
+return without doing anything further. This can be used to add more text
+in as many chunks as you want.
+
+If the method is called in scalar context, then it will try to extract
+exactly I<one> JSON object. If that is successful, it will return this
+object, otherwise it will return C<undef>. If there is a parse error,
+this method will croak just as C<decode> would do (one can then use
+C<incr_skip> to skip the errornous part). This is the most common way of
+using the method.
+
+And finally, in list context, it will try to extract as many objects
+from the stream as it can find and return them, or the empty list
+otherwise. For this to work, there must be no separators between the JSON
+objects or arrays, instead they must be concatenated back-to-back. If
+an error occurs, an exception will be raised as in the scalar context
+case. Note that in this case, any previously-parsed JSON texts will be
+lost.
+
+Example: Parse some JSON arrays/objects in a given string and return them.
+
+ my @objs = JSON->new->incr_parse ("[5][7][1,2]");
+
+=head2 incr_text
+
+ $lvalue_string = $json->incr_text
+
+This method returns the currently stored JSON fragment as an lvalue, that
+is, you can manipulate it. This I<only> works when a preceding call to
+C<incr_parse> in I<scalar context> successfully returned an object. Under
+all other circumstances you must not call this function (I mean it.
+although in simple tests it might actually work, it I<will> fail under
+real world conditions). As a special exception, you can also call this
+method before having parsed anything.
+
+This function is useful in two cases: a) finding the trailing text after a
+JSON object or b) parsing multiple JSON objects separated by non-JSON text
+(such as commas).
+
+ $json->incr_text =~ s/\s*,\s*//;
+
+In Perl 5.005, C<lvalue> attribute is not available.
+You must write codes like the below:
+
+ $string = $json->incr_text;
+ $string =~ s/\s*,\s*//;
+ $json->incr_text( $string );
+
+=head2 incr_skip
+
+ $json->incr_skip
+
+This will reset the state of the incremental parser and will remove the
+parsed text from the input buffer. This is useful after C<incr_parse>
+died, in which case the input buffer and incremental parser state is left
+unchanged, to skip the text parsed so far and to reset the parse state.
+
+=head2 incr_reset
+
+ $json->incr_reset
+
+This completely resets the incremental parser, that is, after this call,
+it will be as if the parser had never parsed anything.
+
+This is useful if you want ot repeatedly parse JSON objects and want to
+ignore any trailing data, which means you have to reset the parser after
+each successful decode.
+
+See to L<JSON::XS/INCREMENTAL PARSING> for examples.
+
+
+=head1 JSON::PP OWN METHODS
+
+=head2 allow_singlequote
+
+ $json = $json->allow_singlequote([$enable])
+
+If C<$enable> is true (or missing), then C<decode> will accept
+JSON strings quoted by single quotations that are invalid JSON
+format.
+
+ $json->allow_singlequote->decode({"foo":'bar'});
+ $json->allow_singlequote->decode({'foo':"bar"});
+ $json->allow_singlequote->decode({'foo':'bar'});
+
+As same as the C<relaxed> option, this option may be used to parse
+application-specific files written by humans.
+
+
+=head2 allow_barekey
+
+ $json = $json->allow_barekey([$enable])
+
+If C<$enable> is true (or missing), then C<decode> will accept
+bare keys of JSON object that are invalid JSON format.
+
+As same as the C<relaxed> option, this option may be used to parse
+application-specific files written by humans.
+
+ $json->allow_barekey->decode('{foo:"bar"}');
+
+=head2 allow_bignum
+
+ $json = $json->allow_bignum([$enable])
+
+If C<$enable> is true (or missing), then C<decode> will convert
+the big integer Perl cannot handle as integer into a L<Math::BigInt>
+object and convert a floating number (any) into a L<Math::BigFloat>.
+
+On the contary, C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
+objects into JSON numbers with C<allow_blessed> enable.
+
+ $json->allow_nonref->allow_blessed->allow_bignum;
+ $bigfloat = $json->decode('2.000000000000000000000000001');
+ print $json->encode($bigfloat);
+ # => 2.000000000000000000000000001
+
+See to L<JSON::XS/MAPPING> aboout the normal conversion of JSON number.
+
+=head2 loose
+
+ $json = $json->loose([$enable])
+
+The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings
+and the module doesn't allow to C<decode> to these (except for \x2f).
+If C<$enable> is true (or missing), then C<decode> will accept these
+unescaped strings.
+
+ $json->loose->decode(qq|["abc
+ def"]|);
+
+See L<JSON::XS/SSECURITY CONSIDERATIONS>.
+
+=head2 escape_slash
+
+ $json = $json->escape_slash([$enable])
+
+According to JSON Grammar, I<slash> (U+002F) is escaped. But default
+JSON::PP (as same as JSON::XS) encodes strings without escaping slash.
+
+If C<$enable> is true (or missing), then C<encode> will escape slashes.
+
+=head2 indent_length
+
+ $json = $json->indent_length($length)
+
+JSON::XS indent space length is 3 and cannot be changed.
+JSON::PP set the indent space length with the given $length.
+The default is 3. The acceptable range is 0 to 15.
+
+=head2 sort_by
+
+ $json = $json->sort_by($function_name)
+ $json = $json->sort_by($subroutine_ref)
+
+If $function_name or $subroutine_ref are set, its sort routine are used
+in encoding JSON objects.
+
+ $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj);
+ # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
+
+ $js = $pc->sort_by('own_sort')->encode($obj);
+ # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
+
+ sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b }
+
+As the sorting routine runs in the JSON::PP scope, the given
+subroutine name and the special variables C<$a>, C<$b> will begin
+'JSON::PP::'.
+
+If $integer is set, then the effect is same as C<canonical> on.
+
+=head1 INTERNAL
+
+For developers.
+
+=over
+
+=item PP_encode_box
+
+Returns
+
+ {
+ depth => $depth,
+ indent_count => $indent_count,
+ }
+
+
+=item PP_decode_box
+
+Returns
+
+ {
+ text => $text,
+ at => $at,
+ ch => $ch,
+ len => $len,
+ depth => $depth,
+ encoding => $encoding,
+ is_valid_utf8 => $is_valid_utf8,
+ };
+
+=back
+
+=head1 MAPPING
+
+This section is copied from JSON::XS and modified to C<JSON::PP>.
+JSON::XS and JSON::PP mapping mechanisms are almost equivalent.
+
+See to L<JSON::XS/MAPPING>.
+
+=head2 JSON -> PERL
+
+=over 4
+
+=item object
+
+A JSON object becomes a reference to a hash in Perl. No ordering of object
+keys is preserved (JSON does not preserver object key ordering itself).
+
+=item array
+
+A JSON array becomes a reference to an array in Perl.
+
+=item string
+
+A JSON string becomes a string scalar in Perl - Unicode codepoints in JSON
+are represented by the same codepoints in the Perl string, so no manual
+decoding is necessary.
+
+=item number
+
+A JSON number becomes either an integer, numeric (floating point) or
+string scalar in perl, depending on its range and any fractional parts. On
+the Perl level, there is no difference between those as Perl handles all
+the conversion details, but an integer may take slightly less memory and
+might represent more values exactly than floating point numbers.
+
+If the number consists of digits only, C<JSON> will try to represent
+it as an integer value. If that fails, it will try to represent it as
+a numeric (floating point) value if that is possible without loss of
+precision. Otherwise it will preserve the number as a string value (in
+which case you lose roundtripping ability, as the JSON number will be
+re-encoded toa JSON string).
+
+Numbers containing a fractional or exponential part will always be
+represented as numeric (floating point) values, possibly at a loss of
+precision (in which case you might lose perfect roundtripping ability, but
+the JSON number will still be re-encoded as a JSON number).
+
+Note that precision is not accuracy - binary floating point values cannot
+represent most decimal fractions exactly, and when converting from and to
+floating point, C<JSON> only guarantees precision up to but not including
+the leats significant bit.
+
+When C<allow_bignum> is enable, the big integers
+and the numeric can be optionally converted into L<Math::BigInt> and
+L<Math::BigFloat> objects.
+
+=item true, false
+
+These JSON atoms become C<JSON::PP::true> and C<JSON::PP::false>,
+respectively. They are overloaded to act almost exactly like the numbers
+C<1> and C<0>. You can check wether a scalar is a JSON boolean by using
+the C<JSON::is_bool> function.
+
+ print JSON::PP::true . "\n";
+ => true
+ print JSON::PP::true + 1;
+ => 1
+
+ ok(JSON::true eq '1');
+ ok(JSON::true == 1);
+
+C<JSON> will install these missing overloading features to the backend modules.
+
+
+=item null
+
+A JSON null atom becomes C<undef> in Perl.
+
+C<JSON::PP::null> returns C<unddef>.
+
+=back
+
+
+=head2 PERL -> JSON
+
+The mapping from Perl to JSON is slightly more difficult, as Perl is a
+truly typeless language, so we can only guess which JSON type is meant by
+a Perl value.
+
+=over 4
+
+=item hash references
+
+Perl hash references become JSON objects. As there is no inherent ordering
+in hash keys (or JSON objects), they will usually be encoded in a
+pseudo-random order that can change between runs of the same program but
+stays generally the same within a single run of a program. C<JSON>
+optionally sort the hash keys (determined by the I<canonical> flag), so
+the same datastructure will serialise to the same JSON text (given same
+settings and version of JSON::XS), but this incurs a runtime overhead
+and is only rarely useful, e.g. when you want to compare some JSON text
+against another for equality.
+
+
+=item array references
+
+Perl array references become JSON arrays.
+
+=item other references
+
+Other unblessed references are generally not allowed and will cause an
+exception to be thrown, except for references to the integers C<0> and
+C<1>, which get turned into C<false> and C<true> atoms in JSON. You can
+also use C<JSON::false> and C<JSON::true> to improve readability.
+
+ to_json [\0,JSON::PP::true] # yields [false,true]
+
+=item JSON::PP::true, JSON::PP::false, JSON::PP::null
+
+These special values become JSON true and JSON false values,
+respectively. You can also use C<\1> and C<\0> directly if you want.
+
+JSON::PP::null returns C<undef>.
+
+=item blessed objects
+
+Blessed objects are not directly representable in JSON. See the
+C<allow_blessed> and C<convert_blessed> methods on various options on
+how to deal with this: basically, you can choose between throwing an
+exception, encoding the reference as if it weren't blessed, or provide
+your own serialiser method.
+
+See to L<convert_blessed>.
+
+=item simple scalars
+
+Simple Perl scalars (any scalar that is not a reference) are the most
+difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as
+JSON C<null> values, scalars that have last been used in a string context
+before encoding as JSON strings, and anything else as number value:
+
+ # dump as number
+ encode_json [2] # yields [2]
+ encode_json [-3.0e17] # yields [-3e+17]
+ my $value = 5; encode_json [$value] # yields [5]
+
+ # used as string, so dump as string
+ print $value;
+ encode_json [$value] # yields ["5"]
+
+ # undef becomes null
+ encode_json [undef] # yields [null]
+
+You can force the type to be a string by stringifying it:
+
+ my $x = 3.1; # some variable containing a number
+ "$x"; # stringified
+ $x .= ""; # another, more awkward way to stringify
+ print $x; # perl does it for you, too, quite often
+
+You can force the type to be a number by numifying it:
+
+ my $x = "3"; # some variable containing a string
+ $x += 0; # numify it, ensuring it will be dumped as a number
+ $x *= 1; # same thing, the choise is yours.
+
+You can not currently force the type in other, less obscure, ways.
+
+Note that numerical precision has the same meaning as under Perl (so
+binary to decimal conversion follows the same rules as in Perl, which
+can differ to other languages). Also, your perl interpreter might expose
+extensions to the floating point numbers of your platform, such as
+infinities or NaN's - these cannot be represented in JSON, and it is an
+error to pass those in.
+
+=item Big Number
+
+When C<allow_bignum> is enable,
+C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
+objects into JSON numbers.
+
+
+=back
+
+=head1 UNICODE HANDLING ON PERLS
+
+If you do not know about Unicode on Perl well,
+please check L<JSON::XS/A FEW NOTES ON UNICODE AND PERL>.
+
+=head2 Perl 5.8 and later
+
+Perl can handle Unicode and the JSON::PP de/encode methods also work properly.
+
+ $json->allow_nonref->encode(chr hex 3042);
+ $json->allow_nonref->encode(chr hex 12345);
+
+Reuturns C<"\u3042"> and C<"\ud808\udf45"> respectively.
+
+ $json->allow_nonref->decode('"\u3042"');
+ $json->allow_nonref->decode('"\ud808\udf45"');
+
+Returns UTF-8 encoded strings with UTF8 flag, regarded as C<U+3042> and C<U+12345>.
+
+Note that the versions from Perl 5.8.0 to 5.8.2, Perl built-in C<join> was broken,
+so JSON::PP wraps the C<join> with a subroutine. Thus JSON::PP works slow in the versions.
+
+
+=head2 Perl 5.6
+
+Perl can handle Unicode and the JSON::PP de/encode methods also work.
+
+=head2 Perl 5.005
+
+Perl 5.005 is a byte sementics world -- all strings are sequences of bytes.
+That means the unicode handling is not available.
+
+In encoding,
+
+ $json->allow_nonref->encode(chr hex 3042); # hex 3042 is 12354.
+ $json->allow_nonref->encode(chr hex 12345); # hex 12345 is 74565.
+
+Returns C<B> and C<E>, as C<chr> takes a value more than 255, it treats
+as C<$value % 256>, so the above codes are equivalent to :
+
+ $json->allow_nonref->encode(chr 66);
+ $json->allow_nonref->encode(chr 69);
+
+In decoding,
+
+ $json->decode('"\u00e3\u0081\u0082"');
+
+The returned is a byte sequence C<0xE3 0x81 0x82> for UTF-8 encoded
+japanese character (C<HIRAGANA LETTER A>).
+And if it is represented in Unicode code point, C<U+3042>.
+
+Next,
+
+ $json->decode('"\u3042"');
+
+We ordinary expect the returned value is a Unicode character C<U+3042>.
+But here is 5.005 world. This is C<0xE3 0x81 0x82>.
+
+ $json->decode('"\ud808\udf45"');
+
+This is not a character C<U+12345> but bytes - C<0xf0 0x92 0x8d 0x85>.
+
+
+=head1 TODO
+
+=over
+
+=item speed
+
+=item memory saving
+
+=back
+
+
+=head1 SEE ALSO
+
+Most of the document are copied and modified from JSON::XS doc.
+
+L<JSON::XS>
+
+RFC4627 (L<http://www.ietf.org/rfc/rfc4627.txt>)
+
+=head1 AUTHOR
+
+Makamaka Hannyaharamitu, E<lt>makamaka[at]cpan.orgE<gt>
+
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2007-2010 by Makamaka Hannyaharamitu
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm b/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm
new file mode 100644
index 00000000000..0b1fb19b2c2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/JSON/PP/Boolean.pm
@@ -0,0 +1,26 @@
+=head1 NAME
+
+JSON::PP::Boolean - dummy module providing JSON::PP::Boolean
+
+=head1 SYNOPSIS
+
+ # do not "use" yourself
+
+=head1 DESCRIPTION
+
+This module exists only to provide overload resolution for Storable and similar modules. See
+L<JSON::PP> for more info about this class.
+
+=cut
+
+use JSON::PP ();
+use strict;
+
+1;
+
+=head1 AUTHOR
+
+This idea is from L<JSON::XS::Boolean> written by Marc Lehmann <schmorp[at]schmorp.de>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/LWP.pm b/Master/tlpkg/tlperl/lib/LWP.pm
index 5ca47855701..6b16e13397e 100644
--- a/Master/tlpkg/tlperl/lib/LWP.pm
+++ b/Master/tlpkg/tlperl/lib/LWP.pm
@@ -1,9 +1,9 @@
package LWP;
-$VERSION = "5.837";
+$VERSION = "6.04";
sub Version { $VERSION; }
-require 5.005;
+require 5.008;
require LWP::UserAgent; # this should load everything you need
1;
@@ -99,7 +99,7 @@ The libwww-perl library is based on HTTP style communication. This
section tries to describe what that means.
Let us start with this quote from the HTTP specification document
-<URL:http://www.w3.org/pub/WWW/Protocols/>:
+<URL:http://www.w3.org/Protocols/>:
=over 3
@@ -152,25 +152,25 @@ The main attributes of the request objects are:
=item *
-The B<method> is a short string that tells what kind of
+B<method> is a short string that tells what kind of
request this is. The most common methods are B<GET>, B<PUT>,
B<POST> and B<HEAD>.
=item *
-The B<uri> is a string denoting the protocol, server and
+B<uri> is a string denoting the protocol, server and
the name of the "document" we want to access. The B<uri> might
also encode various other parameters.
=item *
-The B<headers> contain additional information about the
+B<headers> contains additional information about the
request and can also used to describe the content. The headers
are a set of keyword/value pairs.
=item *
-The B<content> is an arbitrary amount of data.
+B<content> is an arbitrary amount of data.
=back
@@ -183,22 +183,22 @@ The main attributes of objects of this class are:
=item *
-The B<code> is a numerical value that indicates the overall
+B<code> is a numerical value that indicates the overall
outcome of the request.
=item *
-The B<message> is a short, human readable string that
+B<message> is a short, human readable string that
corresponds to the I<code>.
=item *
-The B<headers> contain additional information about the
+B<headers> contains additional information about the
response and describe the content.
=item *
-The B<content> is an arbitrary amount of data.
+B<content> is an arbitrary amount of data.
=back
@@ -211,7 +211,7 @@ response classification methods are:
=item is_success()
-The request was was successfully received, understood or accepted.
+The request was successfully received, understood or accepted.
=item is_error()
@@ -251,34 +251,34 @@ application.
=item *
-The B<timeout> specifies how much time we give remote servers to
+B<timeout> specifies how much time we give remote servers to
respond before the library disconnects and creates an
internal I<timeout> response.
=item *
-The B<agent> specifies the name that your application should use when it
+B<agent> specifies the name that your application uses when it
presents itself on the network.
=item *
-The B<from> attribute can be set to the e-mail address of the person
+B<from> can be set to the e-mail address of the person
responsible for running the application. If this is set, then the
address will be sent to the servers with every request.
=item *
-The B<parse_head> specifies whether we should initialize response
+B<parse_head> specifies whether we should initialize response
headers from the E<lt>head> section of HTML documents.
=item *
-The B<proxy> and B<no_proxy> attributes specify if and when to go through
-a proxy server. <URL:http://www.w3.org/pub/WWW/Proxies/>
+B<proxy> and B<no_proxy> specify if and when to go through
+a proxy server. <URL:http://www.w3.org/History/1994/WWW/Proxies/>
=item *
-The B<credentials> provide a way to set up user names and
+B<credentials> provides a way to set up user names and
passwords needed to access certain services.
=back
@@ -556,8 +556,8 @@ The following modules provide various functions and definitions.
All modules contain detailed information on the interfaces they
provide. The L<lwpcook> manpage is the libwww-perl cookbook that contain
examples of typical usage of the library. You might want to take a
-look at how the scripts L<lwp-request>, L<lwp-rget> and L<lwp-mirror>
-are implemented.
+look at how the scripts L<lwp-request>, L<lwp-download>, L<lwp-dump>
+and L<lwp-mirror> are implemented.
=head1 ENVIRONMENT
@@ -582,12 +582,25 @@ These environment variables can be set to enable communication through
a proxy server. See the description of the C<env_proxy> method in
L<LWP::UserAgent>.
-=item PERL_LWP_USE_HTTP_10
+=item PERL_LWP_ENV_PROXY
-Enable the old HTTP/1.0 protocol driver instead of the new HTTP/1.1
-driver. You might want to set this to a TRUE value if you discover
-that your old LWP applications fails after you installed LWP-5.60 or
-better.
+If set to a TRUE value, then the C<LWP::UserAgent> will by default call
+C<env_proxy> during initialization. This makes LWP honor the proxy variables
+described above.
+
+=item PERL_LWP_SSL_VERIFY_HOSTNAME
+
+The default C<verify_hostname> setting for C<LWP::UserAgent>. If
+not set the default will be 1. Set it as 0 to disable hostname
+verification (the default prior to libwww-perl 5.840.
+
+=item PERL_LWP_SSL_CA_FILE
+
+=item PERL_LWP_SSL_CA_PATH
+
+The file and/or directory
+where the trusted Certificate Authority certificates
+is located. See L<LWP::UserAgent> for details.
=item PERL_HTTP_URI_CLASS
diff --git a/Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm b/Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm
index d0e560b7b56..9c1bbe3cbc1 100644
--- a/Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/Authen/Ntlm.pm
@@ -3,7 +3,7 @@ package LWP::Authen::Ntlm;
use strict;
use vars qw/$VERSION/;
-$VERSION = '5.835';
+$VERSION = "6.00";
use Authen::NTLM "1.02";
use MIME::Base64 "2.12";
diff --git a/Master/tlpkg/tlperl/lib/LWP/ConnCache.pm b/Master/tlpkg/tlperl/lib/LWP/ConnCache.pm
index 6ac55cedd40..fcc0b2e027d 100644
--- a/Master/tlpkg/tlperl/lib/LWP/ConnCache.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/ConnCache.pm
@@ -3,13 +3,16 @@ package LWP::ConnCache;
use strict;
use vars qw($VERSION $DEBUG);
-$VERSION = "5.810";
+$VERSION = "6.02";
sub new {
my($class, %cnf) = @_;
- my $total_capacity = delete $cnf{total_capacity};
- $total_capacity = 1 unless defined $total_capacity;
+
+ my $total_capacity = 1;
+ if (exists $cnf{total_capacity}) {
+ $total_capacity = delete $cnf{total_capacity};
+ }
if (%cnf && $^W) {
require Carp;
Carp::carp("Unrecognised options: @{[sort keys %cnf]}")
diff --git a/Master/tlpkg/tlperl/lib/LWP/MediaTypes.pm b/Master/tlpkg/tlperl/lib/LWP/MediaTypes.pm
index f7fc671a5bc..8c2a8aee334 100644
--- a/Master/tlpkg/tlperl/lib/LWP/MediaTypes.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/MediaTypes.pm
@@ -4,7 +4,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(guess_media_type media_suffix);
@EXPORT_OK = qw(add_type add_encoding read_media_types);
-$VERSION = "5.835";
+$VERSION = "6.02";
use strict;
@@ -41,13 +41,6 @@ read_media_types();
-sub _dump {
- require Data::Dumper;
- Data::Dumper->new([\%suffixType, \%suffixExt, \%suffixEncoding],
- [qw(*suffixType *suffixExt *suffixEncoding)])->Dump;
-}
-
-
sub guess_media_type
{
my($file, $header) = @_;
@@ -168,24 +161,13 @@ sub read_media_types
local($/, $_) = ("\n", undef); # ensure correct $INPUT_RECORD_SEPARATOR
my @priv_files = ();
- if($^O eq "MacOS") {
- push(@priv_files, "$ENV{HOME}:media.types", "$ENV{HOME}:mime.types")
- if defined $ENV{HOME}; # Some does not have a home (for instance Win32)
- }
- else {
- push(@priv_files, "$ENV{HOME}/.media.types", "$ENV{HOME}/.mime.types")
- if defined $ENV{HOME}; # Some doesn't have a home (for instance Win32)
- }
+ push(@priv_files, "$ENV{HOME}/.media.types", "$ENV{HOME}/.mime.types")
+ if defined $ENV{HOME}; # Some doesn't have a home (for instance Win32)
# Try to locate "media.types" file, and initialize %suffixType from it
my $typefile;
unless (@files) {
- if($^O eq "MacOS") {
- @files = map {$_."LWP:media.types"} @INC;
- }
- else {
- @files = map {"$_/LWP/media.types"} @INC;
- }
+ @files = map {"$_/LWP/media.types"} @INC;
push @files, @priv_files;
}
for $typefile (@files) {
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol.pm
index 61a28cd1386..dbd82d962cc 100644
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/Protocol.pm
@@ -2,7 +2,7 @@ package LWP::Protocol;
require LWP::MemberMixin;
@ISA = qw(LWP::MemberMixin);
-$VERSION = "5.829";
+$VERSION = "6.00";
use strict;
use Carp ();
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm
index 59c9eded1ab..8d7c6d93928 100644
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/Protocol/http.pm
@@ -40,8 +40,15 @@ sub _new_socket
unless ($sock) {
# IO::Socket::INET leaves additional error messages in $@
- $@ =~ s/^.*?: //;
- die "Can't connect to $host:$port ($@)";
+ my $status = "Can't connect to $host:$port";
+ if ($@ =~ /\bconnect: (.*)/ ||
+ $@ =~ /\b(Bad hostname)\b/ ||
+ $@ =~ /\b(certificate verify failed)\b/ ||
+ $@ =~ /\b(Crypt-SSLeay can't verify hostnames)\b/
+ ) {
+ $status .= " ($1)";
+ }
+ die "$status\n\n$@";
}
# perl 5.005's IO::Socket does not have the blocking method.
@@ -153,6 +160,16 @@ sub request
# connect to remote site
my $socket = $self->_new_socket($host, $port, $timeout);
+
+ my $http_version = "";
+ if (my $proto = $request->protocol) {
+ if ($proto =~ /^(?:HTTP\/)?(1.\d+)$/) {
+ $http_version = $1;
+ $socket->http_version($http_version);
+ $socket->send_te(0) if $http_version eq "1.0";
+ }
+ }
+
$self->_check_sock($request, $socket);
my @h;
@@ -237,7 +254,15 @@ sub request
my $eof;
my $wbuf;
my $woffset = 0;
- if (ref($content_ref) eq 'CODE') {
+ INITIAL_READ:
+ if ($write_wait) {
+ # skip filling $wbuf when waiting for 100-continue
+ # because if the response is a redirect or auth required
+ # the request will be cloned and there is no way
+ # to reset the input stream
+ # return here via the label after the 100-continue is read
+ }
+ elsif (ref($content_ref) eq 'CODE') {
my $buf = &$content_ref();
$buf = "" unless defined($buf);
$buf = sprintf "%x%s%s%s", length($buf), $CRLF, $buf, $CRLF
@@ -260,7 +285,7 @@ sub request
vec($fbits, fileno($socket), 1) = 1;
WRITE:
- while ($woffset < length($$wbuf)) {
+ while ($write_wait || $woffset < length($$wbuf)) {
my $sel_timeout = $timeout;
if ($write_wait) {
@@ -316,6 +341,7 @@ sub request
if ($code eq "100") {
$write_wait = 0;
undef($code);
+ goto INITIAL_READ;
}
else {
$drop_connection++;
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol/http10.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol/http10.pm
deleted file mode 100644
index 08ce9cf15af..00000000000
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol/http10.pm
+++ /dev/null
@@ -1,289 +0,0 @@
-package LWP::Protocol::http10;
-
-use strict;
-
-require HTTP::Response;
-require HTTP::Status;
-require IO::Socket;
-require IO::Select;
-
-use vars qw(@ISA @EXTRA_SOCK_OPTS);
-
-require LWP::Protocol;
-@ISA = qw(LWP::Protocol);
-
-my $CRLF = "\015\012"; # how lines should be terminated;
- # "\r\n" is not correct on all systems, for
- # instance MacPerl defines it to "\012\015"
-
-sub _new_socket
-{
- my($self, $host, $port, $timeout) = @_;
-
- local($^W) = 0; # IO::Socket::INET can be noisy
- my $sock = IO::Socket::INET->new(PeerAddr => $host,
- PeerPort => $port,
- Proto => 'tcp',
- Timeout => $timeout,
- $self->_extra_sock_opts($host, $port),
- );
- unless ($sock) {
- # IO::Socket::INET leaves additional error messages in $@
- $@ =~ s/^.*?: //;
- die "Can't connect to $host:$port ($@)";
- }
- $sock;
-}
-
-sub _extra_sock_opts # to be overridden by subclass
-{
- return @EXTRA_SOCK_OPTS;
-}
-
-
-sub _check_sock
-{
- #my($self, $req, $sock) = @_;
-}
-
-sub _get_sock_info
-{
- my($self, $res, $sock) = @_;
- if (defined(my $peerhost = $sock->peerhost)) {
- $res->header("Client-Peer" => "$peerhost:" . $sock->peerport);
- }
-}
-
-sub _fixup_header
-{
- my($self, $h, $url, $proxy) = @_;
-
- $h->remove_header('Connection'); # need support here to be useful
-
- # HTTP/1.1 will require us to send the 'Host' header, so we might
- # as well start now.
- my $hhost = $url->authority;
- if ($hhost =~ s/^([^\@]*)\@//) { # get rid of potential "user:pass@"
- # add authorization header if we need them. HTTP URLs do
- # not really support specification of user and password, but
- # we allow it.
- if (defined($1) && not $h->header('Authorization')) {
- require URI::Escape;
- $h->authorization_basic(map URI::Escape::uri_unescape($_),
- split(":", $1, 2));
- }
- }
- $h->init_header('Host' => $hhost);
-
- if ($proxy) {
- # Check the proxy URI's userinfo() for proxy credentials
- # export http_proxy="http://proxyuser:proxypass@proxyhost:port"
- my $p_auth = $proxy->userinfo();
- if(defined $p_auth) {
- require URI::Escape;
- $h->proxy_authorization_basic(map URI::Escape::uri_unescape($_),
- split(":", $p_auth, 2))
- }
- }
-}
-
-
-sub request
-{
- my($self, $request, $proxy, $arg, $size, $timeout) = @_;
-
- $size ||= 4096;
-
- # check method
- my $method = $request->method;
- unless ($method =~ /^[A-Za-z0-9_!\#\$%&\'*+\-.^\`|~]+$/) { # HTTP token
- return HTTP::Response->new( &HTTP::Status::RC_BAD_REQUEST,
- 'Library does not allow method ' .
- "$method for 'http:' URLs");
- }
-
- my $url = $request->uri;
- my($host, $port, $fullpath);
-
- # Check if we're proxy'ing
- if (defined $proxy) {
- # $proxy is an URL to an HTTP server which will proxy this request
- $host = $proxy->host;
- $port = $proxy->port;
- $fullpath = $method eq "CONNECT" ?
- ($url->host . ":" . $url->port) :
- $url->as_string;
- }
- else {
- $host = $url->host;
- $port = $url->port;
- $fullpath = $url->path_query;
- $fullpath = "/" unless length $fullpath;
- }
-
- # connect to remote site
- my $socket = $self->_new_socket($host, $port, $timeout);
- $self->_check_sock($request, $socket);
-
- my $sel = IO::Select->new($socket) if $timeout;
-
- my $request_line = "$method $fullpath HTTP/1.0$CRLF";
-
- my $h = $request->headers->clone;
- my $cont_ref = $request->content_ref;
- $cont_ref = $$cont_ref if ref($$cont_ref);
- my $ctype = ref($cont_ref);
-
- # If we're sending content we *have* to specify a content length
- # otherwise the server won't know a messagebody is coming.
- if ($ctype eq 'CODE') {
- die 'No Content-Length header for request with dynamic content'
- unless defined($h->header('Content-Length')) ||
- $h->content_type =~ /^multipart\//;
- # For HTTP/1.1 we could have used chunked transfer encoding...
- }
- else {
- $h->header('Content-Length' => length $$cont_ref)
- if defined($$cont_ref) && length($$cont_ref);
- }
-
- $self->_fixup_header($h, $url, $proxy);
-
- my $buf = $request_line . $h->as_string($CRLF) . $CRLF;
- my $n; # used for return value from syswrite/sysread
- my $length;
- my $offset;
-
- # syswrite $buf
- $length = length($buf);
- $offset = 0;
- while ( $offset < $length ) {
- die "write timeout" if $timeout && !$sel->can_write($timeout);
- $n = $socket->syswrite($buf, $length-$offset, $offset );
- die $! unless defined($n);
- $offset += $n;
- }
-
- if ($ctype eq 'CODE') {
- while ( ($buf = &$cont_ref()), defined($buf) && length($buf)) {
- # syswrite $buf
- $length = length($buf);
- $offset = 0;
- while ( $offset < $length ) {
- die "write timeout" if $timeout && !$sel->can_write($timeout);
- $n = $socket->syswrite($buf, $length-$offset, $offset );
- die $! unless defined($n);
- $offset += $n;
- }
- }
- }
- elsif (defined($$cont_ref) && length($$cont_ref)) {
- # syswrite $$cont_ref
- $length = length($$cont_ref);
- $offset = 0;
- while ( $offset < $length ) {
- die "write timeout" if $timeout && !$sel->can_write($timeout);
- $n = $socket->syswrite($$cont_ref, $length-$offset, $offset );
- die $! unless defined($n);
- $offset += $n;
- }
- }
-
- # read response line from server
- my $response;
- $buf = '';
-
- # Inside this loop we will read the response line and all headers
- # found in the response.
- while (1) {
- die "read timeout" if $timeout && !$sel->can_read($timeout);
- $n = $socket->sysread($buf, $size, length($buf));
- die $! unless defined($n);
- die "unexpected EOF before status line seen" unless $n;
-
- if ($buf =~ s/^(HTTP\/\d+\.\d+)[ \t]+(\d+)[ \t]*([^\012]*)\012//) {
- # HTTP/1.0 response or better
- my($ver,$code,$msg) = ($1, $2, $3);
- $msg =~ s/\015$//;
- $response = HTTP::Response->new($code, $msg);
- $response->protocol($ver);
-
- # ensure that we have read all headers. The headers will be
- # terminated by two blank lines
- until ($buf =~ /^\015?\012/ || $buf =~ /\015?\012\015?\012/) {
- # must read more if we can...
- die "read timeout" if $timeout && !$sel->can_read($timeout);
- my $old_len = length($buf);
- $n = $socket->sysread($buf, $size, $old_len);
- die $! unless defined($n);
- die "unexpected EOF before all headers seen" unless $n;
- }
-
- # now we start parsing the headers. The strategy is to
- # remove one line at a time from the beginning of the header
- # buffer ($res).
- my($key, $val);
- while ($buf =~ s/([^\012]*)\012//) {
- my $line = $1;
-
- # if we need to restore as content when illegal headers
- # are found.
- my $save = "$line\012";
-
- $line =~ s/\015$//;
- last unless length $line;
-
- if ($line =~ /^([a-zA-Z0-9_\-.]+)\s*:\s*(.*)/) {
- $response->push_header($key, $val) if $key;
- ($key, $val) = ($1, $2);
- }
- elsif ($line =~ /^\s+(.*)/ && $key) {
- $val .= " $1";
- }
- else {
- $response->push_header("Client-Bad-Header-Line" => $line);
- }
- }
- $response->push_header($key, $val) if $key;
- last;
-
- }
- elsif ((length($buf) >= 5 and $buf !~ /^HTTP\//) or
- $buf =~ /\012/ ) {
- # HTTP/0.9 or worse
- $response = HTTP::Response->new(&HTTP::Status::RC_OK, "OK");
- $response->protocol('HTTP/0.9');
- last;
-
- }
- else {
- # need more data
- }
- };
- $response->request($request);
- $self->_get_sock_info($response, $socket);
-
- if ($method eq "CONNECT") {
- $response->{client_socket} = $socket; # so it can be picked up
- $response->content($buf); # in case we read more than the headers
- return $response;
- }
-
- my $usebuf = length($buf) > 0;
- $response = $self->collect($arg, $response, sub {
- if ($usebuf) {
- $usebuf = 0;
- return \$buf;
- }
- die "read timeout" if $timeout && !$sel->can_read($timeout);
- my $n = $socket->sysread($buf, $size);
- die $! unless defined($n);
- return \$buf;
- } );
-
- #$socket->close;
-
- $response;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm
deleted file mode 100644
index 367c8f793d8..00000000000
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol/https.pm
+++ /dev/null
@@ -1,51 +0,0 @@
-package LWP::Protocol::https;
-
-use strict;
-
-use vars qw(@ISA);
-require LWP::Protocol::http;
-@ISA = qw(LWP::Protocol::http);
-
-sub socket_type
-{
- return "https";
-}
-
-sub _check_sock
-{
- my($self, $req, $sock) = @_;
- my $check = $req->header("If-SSL-Cert-Subject");
- if (defined $check) {
- my $cert = $sock->get_peer_certificate ||
- die "Missing SSL certificate";
- my $subject = $cert->subject_name;
- die "Bad SSL certificate subject: '$subject' !~ /$check/"
- unless $subject =~ /$check/;
- $req->remove_header("If-SSL-Cert-Subject"); # don't pass it on
- }
-}
-
-sub _get_sock_info
-{
- my $self = shift;
- $self->SUPER::_get_sock_info(@_);
- my($res, $sock) = @_;
- $res->header("Client-SSL-Cipher" => $sock->get_cipher);
- my $cert = $sock->get_peer_certificate;
- if ($cert) {
- $res->header("Client-SSL-Cert-Subject" => $cert->subject_name);
- $res->header("Client-SSL-Cert-Issuer" => $cert->issuer_name);
- }
- if(! eval { $sock->get_peer_verify }) {
- $res->header("Client-SSL-Warning" => "Peer certificate not verified");
- }
-}
-
-#-----------------------------------------------------------
-package LWP::Protocol::https::Socket;
-
-use vars qw(@ISA);
-require Net::HTTPS;
-@ISA = qw(Net::HTTPS LWP::Protocol::http::SocketMethods);
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/LWP/Protocol/https10.pm b/Master/tlpkg/tlperl/lib/LWP/Protocol/https10.pm
deleted file mode 100644
index 662ba76d284..00000000000
--- a/Master/tlpkg/tlperl/lib/LWP/Protocol/https10.pm
+++ /dev/null
@@ -1,75 +0,0 @@
-package LWP::Protocol::https10;
-
-use strict;
-
-# Figure out which SSL implementation to use
-use vars qw($SSL_CLASS);
-if ($Net::SSL::VERSION) {
- $SSL_CLASS = "Net::SSL";
-}
-elsif ($IO::Socket::SSL::VERSION) {
- $SSL_CLASS = "IO::Socket::SSL"; # it was already loaded
-}
-else {
- eval { require Net::SSL; }; # from Crypt-SSLeay
- if ($@) {
- require IO::Socket::SSL;
- $SSL_CLASS = "IO::Socket::SSL";
- }
- else {
- $SSL_CLASS = "Net::SSL";
- }
-}
-
-
-use vars qw(@ISA);
-
-require LWP::Protocol::http10;
-@ISA=qw(LWP::Protocol::http10);
-
-sub _new_socket
-{
- my($self, $host, $port, $timeout) = @_;
- local($^W) = 0; # IO::Socket::INET can be noisy
- my $sock = $SSL_CLASS->new(PeerAddr => $host,
- PeerPort => $port,
- Proto => 'tcp',
- Timeout => $timeout,
- );
- unless ($sock) {
- # IO::Socket::INET leaves additional error messages in $@
- $@ =~ s/^.*?: //;
- die "Can't connect to $host:$port ($@)";
- }
- $sock;
-}
-
-sub _check_sock
-{
- my($self, $req, $sock) = @_;
- my $check = $req->header("If-SSL-Cert-Subject");
- if (defined $check) {
- my $cert = $sock->get_peer_certificate ||
- die "Missing SSL certificate";
- my $subject = $cert->subject_name;
- die "Bad SSL certificate subject: '$subject' !~ /$check/"
- unless $subject =~ /$check/;
- $req->remove_header("If-SSL-Cert-Subject"); # don't pass it on
- }
-}
-
-sub _get_sock_info
-{
- my $self = shift;
- $self->SUPER::_get_sock_info(@_);
- my($res, $sock) = @_;
- $res->header("Client-SSL-Cipher" => $sock->get_cipher);
- my $cert = $sock->get_peer_certificate;
- if ($cert) {
- $res->header("Client-SSL-Cert-Subject" => $cert->subject_name);
- $res->header("Client-SSL-Cert-Issuer" => $cert->issuer_name);
- }
- $res->header("Client-SSL-Warning" => "Peer certificate not verified");
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/LWP/RobotUA.pm b/Master/tlpkg/tlperl/lib/LWP/RobotUA.pm
index 82c99fe26c9..695fac9a86d 100644
--- a/Master/tlpkg/tlperl/lib/LWP/RobotUA.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/RobotUA.pm
@@ -2,7 +2,7 @@ package LWP::RobotUA;
require LWP::UserAgent;
@ISA = qw(LWP::UserAgent);
-$VERSION = "5.835";
+$VERSION = "6.03";
require WWW::RobotRules;
require HTTP::Request;
@@ -126,21 +126,16 @@ sub simple_request
$self->{'rules'}->parse($robot_url, "");
my $robot_req = HTTP::Request->new('GET', $robot_url);
+ my $parse_head = $self->parse_head(0);
my $robot_res = $self->request($robot_req);
+ $self->parse_head($parse_head);
my $fresh_until = $robot_res->fresh_until;
- if ($robot_res->is_success) {
- my $c = $robot_res->content;
- if ($robot_res->content_type =~ m,^text/, && $c =~ /^\s*Disallow\s*:/mi) {
- $self->{'rules'}->parse($robot_url, $c, $fresh_until);
- }
- else {
- $self->{'rules'}->parse($robot_url, "", $fresh_until);
- }
-
- }
- else {
- $self->{'rules'}->parse($robot_url, "", $fresh_until);
+ my $content = "";
+ if ($robot_res->is_success && $robot_res->content_is_text) {
+ $content = $robot_res->decoded_content;
+ $content = "" unless $content && $content =~ /^\s*Disallow\s*:/mi;
}
+ $self->{'rules'}->parse($robot_url, $content, $fresh_until);
# recalculate allowed...
$allowed = $self->{'rules'}->allowed($request->uri);
diff --git a/Master/tlpkg/tlperl/lib/LWP/Simple.pm b/Master/tlpkg/tlperl/lib/LWP/Simple.pm
index 05bcdaa1f6d..29c538fdcdb 100644
--- a/Master/tlpkg/tlperl/lib/LWP/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/Simple.pm
@@ -14,7 +14,7 @@ require Exporter;
use HTTP::Status;
push(@EXPORT, @HTTP::Status::EXPORT);
-$VERSION = "5.835";
+$VERSION = "6.00";
sub import
{
diff --git a/Master/tlpkg/tlperl/lib/LWP/UserAgent.pm b/Master/tlpkg/tlperl/lib/LWP/UserAgent.pm
index d098a449556..6f72f66fdb3 100644
--- a/Master/tlpkg/tlperl/lib/LWP/UserAgent.pm
+++ b/Master/tlpkg/tlperl/lib/LWP/UserAgent.pm
@@ -5,7 +5,7 @@ use vars qw(@ISA $VERSION);
require LWP::MemberMixin;
@ISA = qw(LWP::MemberMixin);
-$VERSION = "5.835";
+$VERSION = "6.04";
use HTTP::Request ();
use HTTP::Response ();
@@ -16,16 +16,6 @@ use LWP::Protocol ();
use Carp ();
-if ($ENV{PERL_LWP_USE_HTTP_10}) {
- require LWP::Protocol::http10;
- LWP::Protocol::implementor('http', 'LWP::Protocol::http10');
- eval {
- require LWP::Protocol::https10;
- LWP::Protocol::implementor('https', 'LWP::Protocol::https10');
- };
-}
-
-
sub new
{
@@ -41,6 +31,31 @@ sub new
my $timeout = delete $cnf{timeout};
$timeout = 3*60 unless defined $timeout;
my $local_address = delete $cnf{local_address};
+ my $ssl_opts = delete $cnf{ssl_opts} || {};
+ unless (exists $ssl_opts->{verify_hostname}) {
+ # The processing of HTTPS_CA_* below is for compatiblity with Crypt::SSLeay
+ if (exists $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}) {
+ $ssl_opts->{verify_hostname} = $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME};
+ }
+ elsif ($ENV{HTTPS_CA_FILE} || $ENV{HTTPS_CA_DIR}) {
+ # Crypt-SSLeay compatiblity (verify peer certificate; but not the hostname)
+ $ssl_opts->{verify_hostname} = 0;
+ $ssl_opts->{SSL_verify_mode} = 1;
+ }
+ else {
+ $ssl_opts->{verify_hostname} = 1;
+ }
+ }
+ unless (exists $ssl_opts->{SSL_ca_file}) {
+ if (my $ca_file = $ENV{PERL_LWP_SSL_CA_FILE} || $ENV{HTTPS_CA_FILE}) {
+ $ssl_opts->{SSL_ca_file} = $ca_file;
+ }
+ }
+ unless (exists $ssl_opts->{SSL_ca_path}) {
+ if (my $ca_path = $ENV{PERL_LWP_SSL_CA_PATH} || $ENV{HTTPS_CA_DIR}) {
+ $ssl_opts->{SSL_ca_path} = $ca_path;
+ }
+ }
my $use_eval = delete $cnf{use_eval};
$use_eval = 1 unless defined $use_eval;
my $parse_head = delete $cnf{parse_head};
@@ -49,7 +64,7 @@ sub new
my $max_size = delete $cnf{max_size};
my $max_redirect = delete $cnf{max_redirect};
$max_redirect = 7 unless defined $max_redirect;
- my $env_proxy = delete $cnf{env_proxy};
+ my $env_proxy = exists $cnf{env_proxy} ? delete $cnf{env_proxy} : $ENV{PERL_LWP_ENV_PROXY};
my $cookie_jar = delete $cnf{cookie_jar};
my $conn_cache = delete $cnf{conn_cache};
@@ -58,7 +73,6 @@ sub new
Carp::croak("Can't mix conn_cache and keep_alive")
if $conn_cache && $keep_alive;
-
my $protocols_allowed = delete $cnf{protocols_allowed};
my $protocols_forbidden = delete $cnf{protocols_forbidden};
@@ -83,6 +97,7 @@ sub new
def_headers => $def_headers,
timeout => $timeout,
local_address => $local_address,
+ ssl_opts => $ssl_opts,
use_eval => $use_eval,
show_progress=> $show_progress,
max_size => $max_size,
@@ -161,12 +176,11 @@ sub send_request
$@ =~ s/ at .* line \d+.*//s; # remove file/line number
$response = _new_response($request, &HTTP::Status::RC_NOT_IMPLEMENTED, $@);
if ($scheme eq "https") {
- $response->message($response->message . " (Crypt::SSLeay or IO::Socket::SSL not installed)");
+ $response->message($response->message . " (LWP::Protocol::https not installed)");
$response->content_type("text/plain");
$response->content(<<EOT);
-LWP will support https URLs if either Crypt::SSLeay or IO::Socket::SSL
-is installed. More information at
-<http://search.cpan.org/dist/libwww-perl/README.SSL>.
+LWP will support https URLs if the LWP::Protocol::https module
+is installed.
EOT
}
}
@@ -175,14 +189,21 @@ EOT
if (!$response && $self->{use_eval}) {
# we eval, and turn dies into responses below
eval {
- $response = $protocol->request($request, $proxy,
- $arg, $size, $self->{timeout});
+ $response = $protocol->request($request, $proxy, $arg, $size, $self->{timeout}) ||
+ die "No response returned by $protocol";
};
if ($@) {
- $@ =~ s/ at .* line \d+.*//s; # remove file/line number
- $response = _new_response($request,
- &HTTP::Status::RC_INTERNAL_SERVER_ERROR,
- $@);
+ if (UNIVERSAL::isa($@, "HTTP::Response")) {
+ $response = $@;
+ $response->request($request);
+ }
+ else {
+ my $full = $@;
+ (my $status = $@) =~ s/\n.*//s;
+ $status =~ s/ at .* line \d+.*//s; # remove file/line number
+ my $code = ($status =~ s/^(\d\d\d)\s+//) ? $1 : &HTTP::Status::RC_INTERNAL_SERVER_ERROR;
+ $response = _new_response($request, $code, $status, $full);
+ }
}
}
elsif (!$response) {
@@ -406,6 +427,22 @@ sub head {
}
+sub put {
+ require HTTP::Request::Common;
+ my($self, @parameters) = @_;
+ my @suff = $self->_process_colonic_headers(\@parameters, (ref($parameters[1]) ? 2 : 1));
+ return $self->request( HTTP::Request::Common::PUT( @parameters ), @suff );
+}
+
+
+sub delete {
+ require HTTP::Request::Common;
+ my($self, @parameters) = @_;
+ my @suff = $self->_process_colonic_headers(\@parameters,1);
+ return $self->request( HTTP::Request::Common::DELETE( @parameters ), @suff );
+}
+
+
sub _process_colonic_headers {
# Process :content_cb / :content_file / :read_size_hint headers.
my($self, $args, $start_index) = @_;
@@ -455,6 +492,15 @@ sub _process_colonic_headers {
return $arg;
}
+
+sub is_online {
+ my $self = shift;
+ return 1 if $self->get("http://www.msftncsi.com/ncsi.txt")->content eq "Microsoft NCSI";
+ return 1 if $self->get("http://www.apple.com")->content =~ m,<title>Apple</title>,;
+ return 0;
+}
+
+
my @ANI = qw(- \ | /);
sub progress {
@@ -582,6 +628,31 @@ sub max_size { shift->_elem('max_size', @_); }
sub max_redirect { shift->_elem('max_redirect', @_); }
sub show_progress{ shift->_elem('show_progress', @_); }
+sub ssl_opts {
+ my $self = shift;
+ if (@_ == 1) {
+ my $k = shift;
+ return $self->{ssl_opts}{$k};
+ }
+ if (@_) {
+ my $old;
+ while (@_) {
+ my($k, $v) = splice(@_, 0, 2);
+ $old = $self->{ssl_opts}{$k} unless @_;
+ if (defined $v) {
+ $self->{ssl_opts}{$k} = $v;
+ }
+ else {
+ delete $self->{ssl_opts}{$k};
+ }
+ }
+ %{$self->{ssl_opts}} = (%{$self->{ssl_opts}}, @_);
+ return $old;
+ }
+
+ return keys %{$self->{ssl_opts}};
+}
+
sub parse_head {
my $self = shift;
if (@_) {
@@ -800,7 +871,7 @@ sub clone
delete $copy->{conn_cache};
# copy any plain arrays and hashes; known not to need recursive copy
- for my $k (qw(proxy no_proxy requests_redirectable)) {
+ for my $k (qw(proxy no_proxy requests_redirectable ssl_opts)) {
next unless $copy->{$k};
if (ref($copy->{$k}) eq "ARRAY") {
$copy->{$k} = [ @{$copy->{$k}} ];
@@ -925,6 +996,8 @@ sub proxy
sub env_proxy {
my ($self) = @_;
+ require Encode;
+ require Encode::Locale;
my($k,$v);
while(($k, $v) = each %ENV) {
if ($ENV{REQUEST_METHOD}) {
@@ -944,7 +1017,7 @@ sub env_proxy {
next unless $k =~ /^$URI::scheme_re\z/;
# Ignore xxx_proxy variables if xxx isn't a supported protocol
next unless LWP::Protocol::implementor($k);
- $self->proxy($k, $v);
+ $self->proxy($k, Encode::decode(locale => $v));
}
}
}
@@ -962,13 +1035,13 @@ sub no_proxy {
sub _new_response {
- my($request, $code, $message) = @_;
+ my($request, $code, $message, $content) = @_;
my $response = HTTP::Response->new($code, $message);
$response->request($request);
$response->header("Client-Date" => HTTP::Date::time2str(time));
$response->header("Client-Warning" => "Internal response");
$response->header("Content-Type" => "text/plain");
- $response->content("$code $message\n");
+ $response->content($content || "$code $message\n");
return $response;
}
@@ -1010,8 +1083,8 @@ needs to be performed. This request is then passed to one of the
request method the UserAgent, which dispatches it using the relevant
protocol, and returns a C<HTTP::Response> object. There are
convenience methods for sending the most common request types: get(),
-head() and post(). When using these methods then the creation of the
-request object is hidden as shown in the synopsis above.
+head(), post(), put() and delete(). When using these methods then the
+creation of the request object is hidden as shown in the synopsis above.
The basic approach of the library is to use HTTP style communication
for all protocol schemes. This means that you will construct
@@ -1040,6 +1113,7 @@ The following options correspond to attribute methods described below:
cookie_jar undef
default_headers HTTP::Headers->new
local_address undef
+ ssl_opts { verify_hostname => 1 }
max_size undef
max_redirect 7
parse_head 1
@@ -1048,13 +1122,13 @@ The following options correspond to attribute methods described below:
requests_redirectable ['GET', 'HEAD']
timeout 180
-The following additional options are also accepted: If the
-C<env_proxy> option is passed in with a TRUE value, then proxy
-settings are read from environment variables (see env_proxy() method
-below). If the C<keep_alive> option is passed in, then a
-C<LWP::ConnCache> is set up (see conn_cache() method below). The
-C<keep_alive> value is passed on as the C<total_capacity> for the
-connection cache.
+The following additional options are also accepted: If the C<env_proxy> option
+is passed in with a TRUE value, then proxy settings are read from environment
+variables (see env_proxy() method below). If C<env_proxy> isn't provided the
+C<PERL_LWP_ENV_PROXY> environment variable controls if env_proxy() is called
+during initalization. If the C<keep_alive> option is passed in, then a
+C<LWP::ConnCache> is set up (see conn_cache() method below). The C<keep_alive>
+value is passed on as the C<total_capacity> for the connection cache.
=item $ua->clone
@@ -1284,6 +1358,54 @@ is observed for C<timeout> seconds. This means that the time it takes
for the complete transaction and the request() method to actually
return might be longer.
+=item $ua->ssl_opts
+
+=item $ua->ssl_opts( $key )
+
+=item $ua->ssl_opts( $key => $value )
+
+Get/set the options for SSL connections. Without argument return the list
+of options keys currently set. With a single argument return the current
+value for the given option. With 2 arguments set the option value and return
+the old. Setting an option to the value C<undef> removes this option.
+
+The options that LWP relates to are:
+
+=over
+
+=item C<verify_hostname> => $bool
+
+When TRUE LWP will for secure protocol schemes ensure it connects to servers
+that have a valid certificate matching the expected hostname. If FALSE no
+checks are made and you can't be sure that you communicate with the expected peer.
+The no checks behaviour was the default for libwww-perl-5.837 and earlier releases.
+
+This option is initialized from the L<PERL_LWP_SSL_VERIFY_HOSTNAME> environment
+variable. If this environment variable isn't set; then C<verify_hostname>
+defaults to 1.
+
+=item C<SSL_ca_file> => $path
+
+The path to a file containing Certificate Authority certificates.
+A default setting for this option is provided by checking the environment
+variables C<PERL_LWP_SSL_CA_FILE> and C<HTTPS_CA_FILE> in order.
+
+=item C<SSL_ca_path> => $path
+
+The path to a directory containing files containing Certificate Authority
+certificates.
+A default setting for this option is provided by checking the environment
+variables C<PERL_LWP_SSL_CA_PATH> and C<HTTPS_CA_DIR> in order.
+
+=back
+
+Other options can be set and are processed directly by the SSL Socket implementation
+in use. See L<IO::Socket::SSL> or L<Net::SSL> for details.
+
+The libwww-perl core no longer bundles protocol plugins for SSL. You will need
+to install L<LWP::Protocol::https> separately to enable support for processing
+https-URLs.
+
=back
=head2 Proxy attributes
@@ -1371,13 +1493,13 @@ certain headers to specific requests.
The method can assign a new request object to $_[0] to replace the
request that is sent fully.
-The return value from the callback is ignored. If an exceptions is
+The return value from the callback is ignored. If an exception is
raised it will abort the request and make the request method return a
"400 Bad request" response.
=item request_send => sub { my($request, $ua, $h) = @_; ... }
-This handler get a chance of handling requests before it's sent to the
+This handler gets a chance of handling requests before they're sent to the
protocol handlers. It should return an HTTP::Response object if it
wishes to terminate the processing; otherwise it should return nothing.
@@ -1397,10 +1519,10 @@ was called with a $content_file or $content_cb argument; otherwise true.
=item response_data => sub { my($response, $ua, $h, $data) = @_; ... }
-This handlers is called for each chunk of data received for the
+This handler is called for each chunk of data received for the
response. The handler might croak to abort the request.
-This handler need to return a TRUE value to be called again for
+This handler needs to return a TRUE value to be called again for
subsequent chunks for the same request.
=item response_done => sub { my($response, $ua, $h) = @_; ... }
@@ -1412,7 +1534,7 @@ extract information or modify the response.
=item response_redirect => sub { my($response, $ua, $h) = @_; ... }
The handler is called in $ua->request after C<response_done>. If the
-handler return an HTTP::Request object we'll start over with processing
+handler returns an HTTP::Request object we'll start over with processing
this request instead.
=back
@@ -1544,6 +1666,38 @@ This method will use the POST() function from C<HTTP::Request::Common>
to build the request. See L<HTTP::Request::Common> for a details on
how to pass form content and other advanced features.
+=item $ua->put( $url, \%form )
+
+=item $ua->put( $url, \@form )
+
+=item $ua->put( $url, \%form, $field_name => $value, ... )
+
+=item $ua->put( $url, $field_name => $value,... Content => \%form )
+
+=item $ua->put( $url, $field_name => $value,... Content => \@form )
+
+=item $ua->put( $url, $field_name => $value,... Content => $content )
+
+This method will dispatch a C<PUT> request on the given $url, with
+%form or @form providing the key/value pairs for the fill-in form
+content. Additional headers and content options are the same as for
+the get() method.
+
+This method will use the PUT() function from C<HTTP::Request::Common>
+to build the request. See L<HTTP::Request::Common> for a details on
+how to pass form content and other advanced features.
+
+=item $ua->delete( $url )
+
+=item $ua->delete( $url, $field_name => $value, ... )
+
+This method will dispatch a C<DELETE> request on the given $url. Additional
+headers and content options are the same as for the get() method.
+
+This method will use the DELETE() function from C<HTTP::Request::Common>
+to build the request. See L<HTTP::Request::Common> for a details on
+how to pass form content and other advanced features.
+
=item $ua->mirror( $url, $filename )
This method will get the document identified by $url and store it in
@@ -1603,6 +1757,12 @@ The difference from request() is that simple_request() will not try to
handle redirects or authentication responses. The request() method
will in fact invoke this method for each simple request it sends.
+=item $ua->is_online
+
+Tries to determine if you have access to the Internet. Returns
+TRUE if the built-in heuristics determine that the user agent is
+able to access the Internet (over HTTP). See also L<LWP::Online>.
+
=item $ua->is_protocol_supported( $scheme )
You can use this method to test whether this user agent object supports the
diff --git a/Master/tlpkg/tlperl/lib/LWP/media.types b/Master/tlpkg/tlperl/lib/LWP/media.types
index fbd54984d63..6a90929c0d2 100644
--- a/Master/tlpkg/tlperl/lib/LWP/media.types
+++ b/Master/tlpkg/tlperl/lib/LWP/media.types
@@ -1,221 +1,302 @@
-# This is a comment. I love comments.
-
-# This file controls what Internet media types are sent to the client for
-# given file extension(s). Sending the correct media type to the client
-# is important so they know how to handle the content of the file.
-# For more information about Internet media types, please read RFC 2045,
-# 2046, 2047, 2048, and 2077. The Internet media type registry is
-# at <http://www.iana.org/assignments/media-types/>.
-
-# MIME type Extensions
-application/activemessage
+# This file maps Internet media types to unique file extension(s).
+# Although created for httpd, this file is used by many software systems
+# and has been placed in the public domain for unlimited redisribution.
+#
+# The table below contains both registered and (common) unregistered types.
+# A type that has no unique extension can be ignored -- they are listed
+# here to guide configurations toward known types and to make it easier to
+# identify "new" types. File extensions are also commonly used to indicate
+# content languages and encodings, so choose them carefully.
+#
+# Internet media types should be registered as described in RFC 4288.
+# The registry is at <http://www.iana.org/assignments/media-types/>.
+#
+# MIME type (lowercased) Extensions
+# ============================================ ==========
+# application/1d-interleaved-parityfec
+# application/3gpp-ims+xml
+# application/activemessage
application/andrew-inset ez
-application/applefile
+# application/applefile
+application/applixware aw
application/atom+xml atom
application/atomcat+xml atomcat
-application/atomicmail
+# application/atomicmail
application/atomsvc+xml atomsvc
-application/auth-policy+xml
-application/batch-smtp
-application/beep+xml
-application/cals-1840
+# application/auth-policy+xml
+# application/batch-smtp
+# application/beep+xml
+# application/cals-1840
application/ccxml+xml ccxml
-application/cellml+xml
-application/cnrp+xml
-application/commonground
-application/conference-info+xml
-application/cpl+xml
-application/csta+xml
-application/cstadata+xml
-application/cybercash
+application/cdmi-capability cdmia
+application/cdmi-container cdmic
+application/cdmi-domain cdmid
+application/cdmi-object cdmio
+application/cdmi-queue cdmiq
+# application/cea-2018+xml
+# application/cellml+xml
+# application/cfw
+# application/cnrp+xml
+# application/commonground
+# application/conference-info+xml
+# application/cpl+xml
+# application/csta+xml
+# application/cstadata+xml
+application/cu-seeme cu
+# application/cybercash
application/davmount+xml davmount
-application/dca-rft
-application/dec-dx
-application/dialog-info+xml
-application/dicom
-application/dns
-application/dvcs
+# application/dca-rft
+# application/dec-dx
+# application/dialog-info+xml
+# application/dicom
+# application/dns
+# application/dskpp+xml
+application/dssc+der dssc
+application/dssc+xml xdssc
+# application/dvcs
application/ecmascript ecma
-application/edi-consent
-application/edi-x12
-application/edifact
-application/epp+xml
-application/eshop
-application/fastinfoset
-application/fastsoap
-application/fits
+# application/edi-consent
+# application/edi-x12
+# application/edifact
+application/emma+xml emma
+# application/epp+xml
+application/epub+zip epub
+# application/eshop
+# application/example
+application/exi exi
+# application/fastinfoset
+# application/fastsoap
+# application/fits
application/font-tdpfr pfr
-application/h224
-application/http
+# application/framework-attributes+xml
+# application/h224
+# application/held+xml
+# application/http
application/hyperstudio stk
-application/iges
-application/im-iscomposing+xml
-application/index
-application/index.cmd
-application/index.obj
-application/index.response
-application/index.vnd
-application/iotp
-application/ipp
-application/isup
+# application/ibe-key-request+xml
+# application/ibe-pkg-reply+xml
+# application/ibe-pp-data
+# application/iges
+# application/im-iscomposing+xml
+# application/index
+# application/index.cmd
+# application/index.obj
+# application/index.response
+# application/index.vnd
+# application/iotp
+application/ipfix ipfix
+# application/ipp
+# application/isup
+application/java-archive jar
+application/java-serialized-object ser
+application/java-vm class
application/javascript js
application/json json
-application/kpml-request+xml
-application/kpml-response+xml
+# application/kpml-request+xml
+# application/kpml-response+xml
application/lost+xml lostxml
application/mac-binhex40 hqx
application/mac-compactpro cpt
-application/macwriteii
+# application/macwriteii
+application/mads+xml mads
application/marc mrc
+application/marcxml+xml mrcx
application/mathematica ma nb mb
+# application/mathml-content+xml
+# application/mathml-presentation+xml
application/mathml+xml mathml
-application/mbms-associated-procedure-description+xml
-application/mbms-deregister+xml
-application/mbms-envelope+xml
-application/mbms-msk+xml
-application/mbms-msk-response+xml
-application/mbms-protection-description+xml
-application/mbms-reception-report+xml
-application/mbms-register+xml
-application/mbms-register-response+xml
-application/mbms-user-service-description+xml
+# application/mbms-associated-procedure-description+xml
+# application/mbms-deregister+xml
+# application/mbms-envelope+xml
+# application/mbms-msk+xml
+# application/mbms-msk-response+xml
+# application/mbms-protection-description+xml
+# application/mbms-reception-report+xml
+# application/mbms-register+xml
+# application/mbms-register-response+xml
+# application/mbms-user-service-description+xml
application/mbox mbox
-application/media_control+xml
+# application/media_control+xml
application/mediaservercontrol+xml mscml
-application/mikey
-application/moss-keys
-application/moss-signature
-application/mosskey-data
-application/mosskey-request
+application/metalink4+xml meta4
+application/mets+xml mets
+# application/mikey
+application/mods+xml mods
+# application/moss-keys
+# application/moss-signature
+# application/mosskey-data
+# application/mosskey-request
+application/mp21 m21 mp21
application/mp4 mp4s
-application/mpeg4-generic
-application/mpeg4-iod
-application/mpeg4-iod-xmt
+# application/mpeg4-generic
+# application/mpeg4-iod
+# application/mpeg4-iod-xmt
+# application/msc-ivr+xml
+# application/msc-mixer+xml
application/msword doc dot
application/mxf mxf
-application/nasdata
-application/news-transmission
-application/nss
-application/ocsp-request
-application/ocsp-response
-application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+# application/nasdata
+# application/news-checkgroups
+# application/news-groupinfo
+# application/news-transmission
+# application/nss
+# application/ocsp-request
+# application/ocsp-response
+application/octet-stream bin dms lha lrf lzh so iso dmg dist distz pkg bpk dump elc deploy
application/oda oda
-application/oebps-package+xml
+application/oebps-package+xml opf
application/ogg ogx
-application/parityfec
+application/onenote onetoc onetoc2 onetmp onepkg
+# application/parityfec
application/patch-ops-error+xml xer
application/pdf pdf
application/pgp-encrypted pgp
-application/pgp-keys
+# application/pgp-keys
application/pgp-signature asc sig
application/pics-rules prf
-application/pidf+xml
-application/pidf-diff+xml
+# application/pidf+xml
+# application/pidf-diff+xml
application/pkcs10 p10
application/pkcs7-mime p7m p7c
application/pkcs7-signature p7s
+application/pkcs8 p8
+application/pkix-attr-cert ac
application/pkix-cert cer
application/pkix-crl crl
application/pkix-pkipath pkipath
application/pkixcmp pki
application/pls+xml pls
-application/poc-settings+xml
+# application/poc-settings+xml
application/postscript ai eps ps
-application/prs.alvestrand.titrax-sheet
+# application/prs.alvestrand.titrax-sheet
application/prs.cww cww
-application/prs.nprend
-application/prs.plucker
-application/qsig
+# application/prs.nprend
+# application/prs.plucker
+# application/prs.rdf-xml-crypt
+# application/prs.xsf+xml
+application/pskc+xml pskcxml
+# application/qsig
application/rdf+xml rdf
application/reginfo+xml rif
application/relax-ng-compact-syntax rnc
-application/remote-printing
+# application/remote-printing
application/resource-lists+xml rl
application/resource-lists-diff+xml rld
-application/riscos
-application/rlmi+xml
+# application/riscos
+# application/rlmi+xml
application/rls-services+xml rs
application/rsd+xml rsd
application/rss+xml rss
application/rtf rtf
-application/rtx
-application/samlassertion+xml
-application/samlmetadata+xml
+# application/rtx
+# application/samlassertion+xml
+# application/samlmetadata+xml
application/sbml+xml sbml
application/scvp-cv-request scq
application/scvp-cv-response scs
application/scvp-vp-request spq
application/scvp-vp-response spp
application/sdp sdp
-application/set-payment
+# application/set-payment
application/set-payment-initiation setpay
-application/set-registration
+# application/set-registration
application/set-registration-initiation setreg
-application/sgml
-application/sgml-open-catalog
+# application/sgml
+# application/sgml-open-catalog
application/shf+xml shf
-application/sieve
-application/simple-filter+xml
-application/simple-message-summary
-application/simplesymbolcontainer
-application/slate
-application/smil
+# application/sieve
+# application/simple-filter+xml
+# application/simple-message-summary
+# application/simplesymbolcontainer
+# application/slate
+# application/smil
application/smil+xml smi smil
-application/soap+fastinfoset
-application/soap+xml
+# application/soap+fastinfoset
+# application/soap+xml
application/sparql-query rq
application/sparql-results+xml srx
-application/spirits-event+xml
+# application/spirits-event+xml
application/srgs gram
application/srgs+xml grxml
+application/sru+xml sru
application/ssml+xml ssml
-application/timestamp-query
-application/timestamp-reply
-application/tve-trigger
-application/ulpfec
-application/vemmi
-application/vividence.scriptfile
-application/vnd.3gpp.bsf+xml
+# application/tamp-apex-update
+# application/tamp-apex-update-confirm
+# application/tamp-community-update
+# application/tamp-community-update-confirm
+# application/tamp-error
+# application/tamp-sequence-adjust
+# application/tamp-sequence-adjust-confirm
+# application/tamp-status-query
+# application/tamp-status-response
+# application/tamp-update
+# application/tamp-update-confirm
+application/tei+xml tei teicorpus
+application/thraud+xml tfi
+# application/timestamp-query
+# application/timestamp-reply
+application/timestamped-data tsd
+# application/tve-trigger
+# application/ulpfec
+# application/vemmi
+# application/vividence.scriptfile
+# application/vnd.3gpp.bsf+xml
application/vnd.3gpp.pic-bw-large plb
application/vnd.3gpp.pic-bw-small psb
application/vnd.3gpp.pic-bw-var pvb
-application/vnd.3gpp.sms
-application/vnd.3gpp2.bcmcsinfo+xml
-application/vnd.3gpp2.sms
+# application/vnd.3gpp.sms
+# application/vnd.3gpp2.bcmcsinfo+xml
+# application/vnd.3gpp2.sms
application/vnd.3gpp2.tcap tcap
application/vnd.3m.post-it-notes pwn
application/vnd.accpac.simply.aso aso
application/vnd.accpac.simply.imp imp
application/vnd.acucobol acu
application/vnd.acucorp atc acutc
+application/vnd.adobe.air-application-installer-package+zip air
+application/vnd.adobe.fxp fxp fxpl
+# application/vnd.adobe.partial-upload
application/vnd.adobe.xdp+xml xdp
application/vnd.adobe.xfdf xfdf
-application/vnd.aether.imp
+# application/vnd.aether.imp
+# application/vnd.ah-barcode
+application/vnd.ahead.space ahead
+application/vnd.airzip.filesecure.azf azf
+application/vnd.airzip.filesecure.azs azs
+application/vnd.amazon.ebook azw
application/vnd.americandynamics.acc acc
application/vnd.amiga.ami ami
+# application/vnd.amundsen.maze+xml
+application/vnd.android.package-archive apk
application/vnd.anser-web-certificate-issue-initiation cii
application/vnd.anser-web-funds-transfer-initiation fti
application/vnd.antix.game-component atx
application/vnd.apple.installer+xml mpkg
-application/vnd.arastra.swi swi
+application/vnd.apple.mpegurl m3u8
+# application/vnd.arastra.swi
+application/vnd.aristanetworks.swi swi
application/vnd.audiograph aep
-application/vnd.autopackage
-application/vnd.avistar+xml
+# application/vnd.autopackage
+# application/vnd.avistar+xml
application/vnd.blueice.multipass mpm
+# application/vnd.bluetooth.ep.oob
application/vnd.bmi bmi
application/vnd.businessobjects rep
-application/vnd.cab-jscript
-application/vnd.canon-cpdl
-application/vnd.canon-lips
-application/vnd.cendio.thinlinc.clientconf
+# application/vnd.cab-jscript
+# application/vnd.canon-cpdl
+# application/vnd.canon-lips
+# application/vnd.cendio.thinlinc.clientconf
application/vnd.chemdraw+xml cdxml
application/vnd.chipnuts.karaoke-mmd mmd
application/vnd.cinderella cdy
-application/vnd.cirpack.isdn-ext
+# application/vnd.cirpack.isdn-ext
application/vnd.claymore cla
+application/vnd.cloanto.rp9 rp9
application/vnd.clonk.c4group c4g c4d c4f c4p c4u
-application/vnd.commerce-battelle
-application/vnd.commonspace csp cst
+application/vnd.cluetrust.cartomobile-config c11amc
+application/vnd.cluetrust.cartomobile-config-pkg c11amz
+# application/vnd.commerce-battelle
+application/vnd.commonspace csp
application/vnd.contact.cmsg cdbcmsg
application/vnd.cosmocaller cmc
application/vnd.crick.clicker clkx
@@ -225,50 +306,95 @@ application/vnd.crick.clicker.template clkt
application/vnd.crick.clicker.wordbank clkw
application/vnd.criticaltools.wbs+xml wbs
application/vnd.ctc-posml pml
-application/vnd.ctct.ws+xml
-application/vnd.cups-pdf
-application/vnd.cups-postscript
+# application/vnd.ctct.ws+xml
+# application/vnd.cups-pdf
+# application/vnd.cups-postscript
application/vnd.cups-ppd ppd
-application/vnd.cups-raster
-application/vnd.cups-raw
-application/vnd.curl curl
-application/vnd.cybank
+# application/vnd.cups-raster
+# application/vnd.cups-raw
+application/vnd.curl.car car
+application/vnd.curl.pcurl pcurl
+# application/vnd.cybank
application/vnd.data-vision.rdz rdz
+application/vnd.dece.data uvf uvvf uvd uvvd
+application/vnd.dece.ttml+xml uvt uvvt
+application/vnd.dece.unspecified uvx uvvx
application/vnd.denovo.fcselayout-link fe_launch
+# application/vnd.dir-bi.plate-dl-nosuffix
application/vnd.dna dna
application/vnd.dolby.mlp mlp
+# application/vnd.dolby.mobile.1
+# application/vnd.dolby.mobile.2
application/vnd.dpgraph dpg
application/vnd.dreamfactory dfac
-application/vnd.dvb.esgcontainer
-application/vnd.dvb.ipdcesgaccess
-application/vnd.dvb.iptv.alfec-base
-application/vnd.dvb.iptv.alfec-enhancement
-application/vnd.dxr
-application/vnd.ecdis-update
+application/vnd.dvb.ait ait
+# application/vnd.dvb.dvbj
+# application/vnd.dvb.esgcontainer
+# application/vnd.dvb.ipdcdftnotifaccess
+# application/vnd.dvb.ipdcesgaccess
+# application/vnd.dvb.ipdcesgaccess2
+# application/vnd.dvb.ipdcesgpdd
+# application/vnd.dvb.ipdcroaming
+# application/vnd.dvb.iptv.alfec-base
+# application/vnd.dvb.iptv.alfec-enhancement
+# application/vnd.dvb.notif-aggregate-root+xml
+# application/vnd.dvb.notif-container+xml
+# application/vnd.dvb.notif-generic+xml
+# application/vnd.dvb.notif-ia-msglist+xml
+# application/vnd.dvb.notif-ia-registration-request+xml
+# application/vnd.dvb.notif-ia-registration-response+xml
+# application/vnd.dvb.notif-init+xml
+# application/vnd.dvb.pfr
+application/vnd.dvb.service svc
+# application/vnd.dxr
+application/vnd.dynageo geo
+# application/vnd.easykaraoke.cdgdownload
+# application/vnd.ecdis-update
application/vnd.ecowin.chart mag
-application/vnd.ecowin.filerequest
-application/vnd.ecowin.fileupdate
-application/vnd.ecowin.series
-application/vnd.ecowin.seriesrequest
-application/vnd.ecowin.seriesupdate
+# application/vnd.ecowin.filerequest
+# application/vnd.ecowin.fileupdate
+# application/vnd.ecowin.series
+# application/vnd.ecowin.seriesrequest
+# application/vnd.ecowin.seriesupdate
+# application/vnd.emclient.accessrequest+xml
application/vnd.enliven nml
application/vnd.epson.esf esf
application/vnd.epson.msf msf
application/vnd.epson.quickanime qam
application/vnd.epson.salt slt
application/vnd.epson.ssf ssf
-application/vnd.ericsson.quickcall
+# application/vnd.ericsson.quickcall
application/vnd.eszigno3+xml es3 et3
-application/vnd.eudora.data
+# application/vnd.etsi.aoc+xml
+# application/vnd.etsi.cug+xml
+# application/vnd.etsi.iptvcommand+xml
+# application/vnd.etsi.iptvdiscovery+xml
+# application/vnd.etsi.iptvprofile+xml
+# application/vnd.etsi.iptvsad-bc+xml
+# application/vnd.etsi.iptvsad-cod+xml
+# application/vnd.etsi.iptvsad-npvr+xml
+# application/vnd.etsi.iptvservice+xml
+# application/vnd.etsi.iptvsync+xml
+# application/vnd.etsi.iptvueprofile+xml
+# application/vnd.etsi.mcid+xml
+# application/vnd.etsi.overload-control-policy-dataset+xml
+# application/vnd.etsi.sci+xml
+# application/vnd.etsi.simservs+xml
+# application/vnd.etsi.tsl+xml
+# application/vnd.etsi.tsl.der
+# application/vnd.eudora.data
application/vnd.ezpix-album ez2
application/vnd.ezpix-package ez3
+# application/vnd.f-secure.mobile
application/vnd.fdf fdf
-application/vnd.ffsns
-application/vnd.fints
+application/vnd.fdsn.mseed mseed
+application/vnd.fdsn.seed seed dataless
+# application/vnd.ffsns
+# application/vnd.fints
application/vnd.flographit gph
application/vnd.fluxtime.clip ftc
-application/vnd.font-fontforge-sfd
-application/vnd.framemaker fm frame maker
+# application/vnd.font-fontforge-sfd
+application/vnd.framemaker fm frame maker book
application/vnd.frogans.fnc fnc
application/vnd.frogans.ltf ltf
application/vnd.fsc.weblaunch fsc
@@ -277,20 +403,29 @@ application/vnd.fujitsu.oasys2 oa2
application/vnd.fujitsu.oasys3 oa3
application/vnd.fujitsu.oasysgp fg5
application/vnd.fujitsu.oasysprs bh2
-application/vnd.fujixerox.art-ex
-application/vnd.fujixerox.art4
-application/vnd.fujixerox.hbpl
+# application/vnd.fujixerox.art-ex
+# application/vnd.fujixerox.art4
+# application/vnd.fujixerox.hbpl
application/vnd.fujixerox.ddd ddd
application/vnd.fujixerox.docuworks xdw
application/vnd.fujixerox.docuworks.binder xbd
-application/vnd.fut-misnet
+# application/vnd.fut-misnet
application/vnd.fuzzysheet fzs
application/vnd.genomatix.tuxedo txd
+# application/vnd.geocube+xml
+application/vnd.geogebra.file ggb
+application/vnd.geogebra.tool ggt
+application/vnd.geometry-explorer gex gre
+application/vnd.geonext gxt
+application/vnd.geoplan g2w
+application/vnd.geospace g3w
+# application/vnd.globalplatform.card-content-mgt
+# application/vnd.globalplatform.card-content-mgt-response
application/vnd.gmx gmx
application/vnd.google-earth.kml+xml kml
application/vnd.google-earth.kmz kmz
application/vnd.grafeq gqf gqs
-application/vnd.gridmp
+# application/vnd.gridmp
application/vnd.groove-account gac
application/vnd.groove-help ghf
application/vnd.groove-identity-message gim
@@ -298,9 +433,10 @@ application/vnd.groove-injector grv
application/vnd.groove-tool-message gtm
application/vnd.groove-tool-template tpl
application/vnd.groove-vcard vcg
+application/vnd.hal+xml hal
application/vnd.handheld-entertainment+xml zmm
application/vnd.hbci hbci
-application/vnd.hcl-bireports
+# application/vnd.hcl-bireports
application/vnd.hhe.lesson-player les
application/vnd.hp-hpgl hpgl
application/vnd.hp-hpid hpid
@@ -308,11 +444,11 @@ application/vnd.hp-hps hps
application/vnd.hp-jlyt jlt
application/vnd.hp-pcl pcl
application/vnd.hp-pclxl pclxl
-application/vnd.httphone
+# application/vnd.httphone
application/vnd.hydrostatix.sof-data sfd-hdstx
application/vnd.hzn-3d-crossword x3d
-application/vnd.ibm.afplinedata
-application/vnd.ibm.electronic-media
+# application/vnd.ibm.afplinedata
+# application/vnd.ibm.electronic-media
application/vnd.ibm.minipay mpy
application/vnd.ibm.modcap afp listafp list3820
application/vnd.ibm.rights-management irm
@@ -321,28 +457,34 @@ application/vnd.iccprofile icc icm
application/vnd.igloader igl
application/vnd.immervision-ivp ivp
application/vnd.immervision-ivu ivu
-application/vnd.informedcontrol.rms+xml
+# application/vnd.informedcontrol.rms+xml
+# application/vnd.informix-visionary
+# application/vnd.infotech.project
+# application/vnd.infotech.project+xml
+application/vnd.insors.igm igm
application/vnd.intercon.formnet xpw xpx
-application/vnd.intertrust.digibox
-application/vnd.intertrust.nncp
+application/vnd.intergeo i2g
+# application/vnd.intertrust.digibox
+# application/vnd.intertrust.nncp
application/vnd.intu.qbo qbo
application/vnd.intu.qfx qfx
-application/vnd.iptc.g2.conceptitem+xml
-application/vnd.iptc.g2.knowledgeitem+xml
-application/vnd.iptc.g2.newsitem+xml
-application/vnd.iptc.g2.packageitem+xml
+# application/vnd.iptc.g2.conceptitem+xml
+# application/vnd.iptc.g2.knowledgeitem+xml
+# application/vnd.iptc.g2.newsitem+xml
+# application/vnd.iptc.g2.packageitem+xml
application/vnd.ipunplugged.rcprofile rcprofile
application/vnd.irepository.package+xml irp
application/vnd.is-xpr xpr
+application/vnd.isac.fcs fcs
application/vnd.jam jam
-application/vnd.japannet-directory-service
-application/vnd.japannet-jpnstore-wakeup
-application/vnd.japannet-payment-wakeup
-application/vnd.japannet-registration
-application/vnd.japannet-registration-wakeup
-application/vnd.japannet-setstore-wakeup
-application/vnd.japannet-verification
-application/vnd.japannet-verification-wakeup
+# application/vnd.japannet-directory-service
+# application/vnd.japannet-jpnstore-wakeup
+# application/vnd.japannet-payment-wakeup
+# application/vnd.japannet-registration
+# application/vnd.japannet-registration-wakeup
+# application/vnd.japannet-setstore-wakeup
+# application/vnd.japannet-verification
+# application/vnd.japannet-verification-wakeup
application/vnd.jcp.javame.midlet-rms rms
application/vnd.jisp jisp
application/vnd.joost.joda-archive joda
@@ -360,7 +502,8 @@ application/vnd.kidspiration kia
application/vnd.kinar kne knp
application/vnd.koan skp skd skt skm
application/vnd.kodak-descriptor sse
-application/vnd.liberty-request+xml
+application/vnd.las.las+xml lasxml
+# application/vnd.liberty-request+xml
application/vnd.llamagraphics.life-balance.desktop lbd
application/vnd.llamagraphics.life-balance.exchange+xml lbe
application/vnd.lotus-1-2-3 123
@@ -371,21 +514,21 @@ application/vnd.lotus-organizer org
application/vnd.lotus-screencam scm
application/vnd.lotus-wordpro lwp
application/vnd.macports.portpkg portpkg
-application/vnd.marlin.drm.actiontoken+xml
-application/vnd.marlin.drm.conftoken+xml
-application/vnd.marlin.drm.license+xml
-application/vnd.marlin.drm.mdcf
+# application/vnd.marlin.drm.actiontoken+xml
+# application/vnd.marlin.drm.conftoken+xml
+# application/vnd.marlin.drm.license+xml
+# application/vnd.marlin.drm.mdcf
application/vnd.mcd mcd
application/vnd.medcalcdata mc1
application/vnd.mediastation.cdkey cdkey
-application/vnd.meridian-slingshot
+# application/vnd.meridian-slingshot
application/vnd.mfer mwf
application/vnd.mfmp mfm
application/vnd.micrografx.flo flo
application/vnd.micrografx.igx igx
application/vnd.mif mif
-application/vnd.minisoft-hp3000-save
-application/vnd.mitsubishi.misty-guard.trustweb
+# application/vnd.minisoft-hp3000-save
+# application/vnd.mitsubishi.misty-guard.trustweb
application/vnd.mobius.daf daf
application/vnd.mobius.dis dis
application/vnd.mobius.mbk mbk
@@ -395,165 +538,299 @@ application/vnd.mobius.plc plc
application/vnd.mobius.txf txf
application/vnd.mophun.application mpn
application/vnd.mophun.certificate mpc
-application/vnd.motorola.flexsuite
-application/vnd.motorola.flexsuite.adsi
-application/vnd.motorola.flexsuite.fis
-application/vnd.motorola.flexsuite.gotap
-application/vnd.motorola.flexsuite.kmr
-application/vnd.motorola.flexsuite.ttc
-application/vnd.motorola.flexsuite.wem
-application/vnd.motorola.iprm
+# application/vnd.motorola.flexsuite
+# application/vnd.motorola.flexsuite.adsi
+# application/vnd.motorola.flexsuite.fis
+# application/vnd.motorola.flexsuite.gotap
+# application/vnd.motorola.flexsuite.kmr
+# application/vnd.motorola.flexsuite.ttc
+# application/vnd.motorola.flexsuite.wem
+# application/vnd.motorola.iprm
application/vnd.mozilla.xul+xml xul
application/vnd.ms-artgalry cil
-application/vnd.ms-asf asf
+# application/vnd.ms-asf
application/vnd.ms-cab-compressed cab
application/vnd.ms-excel xls xlm xla xlc xlt xlw
+application/vnd.ms-excel.addin.macroenabled.12 xlam
+application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb
+application/vnd.ms-excel.sheet.macroenabled.12 xlsm
+application/vnd.ms-excel.template.macroenabled.12 xltm
application/vnd.ms-fontobject eot
application/vnd.ms-htmlhelp chm
application/vnd.ms-ims ims
application/vnd.ms-lrm lrm
-application/vnd.ms-playready.initiator+xml
+# application/vnd.ms-office.activex+xml
+application/vnd.ms-officetheme thmx
+application/vnd.ms-pki.seccat cat
+application/vnd.ms-pki.stl stl
+# application/vnd.ms-playready.initiator+xml
application/vnd.ms-powerpoint ppt pps pot
+application/vnd.ms-powerpoint.addin.macroenabled.12 ppam
+application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm
+application/vnd.ms-powerpoint.slide.macroenabled.12 sldm
+application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm
+application/vnd.ms-powerpoint.template.macroenabled.12 potm
application/vnd.ms-project mpp mpt
-application/vnd.ms-tnef
-application/vnd.ms-wmdrm.lic-chlg-req
-application/vnd.ms-wmdrm.lic-resp
-application/vnd.ms-wmdrm.meter-chlg-req
-application/vnd.ms-wmdrm.meter-resp
+# application/vnd.ms-tnef
+# application/vnd.ms-wmdrm.lic-chlg-req
+# application/vnd.ms-wmdrm.lic-resp
+# application/vnd.ms-wmdrm.meter-chlg-req
+# application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-word.document.macroenabled.12 docm
+application/vnd.ms-word.template.macroenabled.12 dotm
application/vnd.ms-works wps wks wcm wdb
application/vnd.ms-wpl wpl
application/vnd.ms-xpsdocument xps
application/vnd.mseq mseq
-application/vnd.msign
-application/vnd.multiad.creator
-application/vnd.multiad.creator.cif
-application/vnd.music-niff
+# application/vnd.msign
+# application/vnd.multiad.creator
+# application/vnd.multiad.creator.cif
+# application/vnd.music-niff
application/vnd.musician mus
application/vnd.muvee.style msty
-application/vnd.ncd.control
-application/vnd.ncd.reference
-application/vnd.nervana
-application/vnd.netfpx
+# application/vnd.ncd.control
+# application/vnd.ncd.reference
+# application/vnd.nervana
+# application/vnd.netfpx
application/vnd.neurolanguage.nlu nlu
application/vnd.noblenet-directory nnd
application/vnd.noblenet-sealer nns
application/vnd.noblenet-web nnw
-application/vnd.nokia.catalogs
-application/vnd.nokia.conml+wbxml
-application/vnd.nokia.conml+xml
-application/vnd.nokia.isds-radio-presets
-application/vnd.nokia.iptv.config+xml
-application/vnd.nokia.landmark+wbxml
-application/vnd.nokia.landmark+xml
-application/vnd.nokia.landmarkcollection+xml
-application/vnd.nokia.n-gage.ac+xml
+# application/vnd.nokia.catalogs
+# application/vnd.nokia.conml+wbxml
+# application/vnd.nokia.conml+xml
+# application/vnd.nokia.isds-radio-presets
+# application/vnd.nokia.iptv.config+xml
+# application/vnd.nokia.landmark+wbxml
+# application/vnd.nokia.landmark+xml
+# application/vnd.nokia.landmarkcollection+xml
+# application/vnd.nokia.n-gage.ac+xml
application/vnd.nokia.n-gage.data ngdat
application/vnd.nokia.n-gage.symbian.install n-gage
-application/vnd.nokia.ncd
-application/vnd.nokia.pcd+wbxml
-application/vnd.nokia.pcd+xml
+# application/vnd.nokia.ncd
+# application/vnd.nokia.pcd+wbxml
+# application/vnd.nokia.pcd+xml
application/vnd.nokia.radio-preset rpst
application/vnd.nokia.radio-presets rpss
application/vnd.novadigm.edm edm
application/vnd.novadigm.edx edx
application/vnd.novadigm.ext ext
+# application/vnd.ntt-local.file-transfer
+# application/vnd.ntt-local.sip-ta_remote
+# application/vnd.ntt-local.sip-ta_tcp_stream
application/vnd.oasis.opendocument.chart odc
application/vnd.oasis.opendocument.chart-template otc
+application/vnd.oasis.opendocument.database odb
application/vnd.oasis.opendocument.formula odf
-application/vnd.oasis.opendocument.formula-template otf
+application/vnd.oasis.opendocument.formula-template odft
application/vnd.oasis.opendocument.graphics odg
application/vnd.oasis.opendocument.graphics-template otg
application/vnd.oasis.opendocument.image odi
application/vnd.oasis.opendocument.image-template oti
application/vnd.oasis.opendocument.presentation odp
-application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.presentation-template otp
application/vnd.oasis.opendocument.spreadsheet ods
application/vnd.oasis.opendocument.spreadsheet-template ots
application/vnd.oasis.opendocument.text odt
-application/vnd.oasis.opendocument.text-master otm
+application/vnd.oasis.opendocument.text-master odm
application/vnd.oasis.opendocument.text-template ott
application/vnd.oasis.opendocument.text-web oth
-application/vnd.obn
+# application/vnd.obn
+# application/vnd.oipf.contentaccessdownload+xml
+# application/vnd.oipf.contentaccessstreaming+xml
+# application/vnd.oipf.cspg-hexbinary
+# application/vnd.oipf.dae.svg+xml
+# application/vnd.oipf.dae.xhtml+xml
+# application/vnd.oipf.mippvcontrolmessage+xml
+# application/vnd.oipf.pae.gem
+# application/vnd.oipf.spdiscovery+xml
+# application/vnd.oipf.spdlist+xml
+# application/vnd.oipf.ueprofile+xml
+# application/vnd.oipf.userprofile+xml
application/vnd.olpc-sugar xo
-application/vnd.oma-scws-config
-application/vnd.oma-scws-http-request
-application/vnd.oma-scws-http-response
-application/vnd.oma.bcast.associated-procedure-parameter+xml
-application/vnd.oma.bcast.drm-trigger+xml
-application/vnd.oma.bcast.imd+xml
-application/vnd.oma.bcast.ltkm
-application/vnd.oma.bcast.notification+xml
-application/vnd.oma.bcast.provisioningtrigger
-application/vnd.oma.bcast.sgboot
-application/vnd.oma.bcast.sgdd+xml
-application/vnd.oma.bcast.sgdu
-application/vnd.oma.bcast.simple-symbol-container
-application/vnd.oma.bcast.smartcard-trigger+xml
-application/vnd.oma.bcast.sprov+xml
-application/vnd.oma.bcast.stkm
-application/vnd.oma.dcd
-application/vnd.oma.dcdc
+# application/vnd.oma-scws-config
+# application/vnd.oma-scws-http-request
+# application/vnd.oma-scws-http-response
+# application/vnd.oma.bcast.associated-procedure-parameter+xml
+# application/vnd.oma.bcast.drm-trigger+xml
+# application/vnd.oma.bcast.imd+xml
+# application/vnd.oma.bcast.ltkm
+# application/vnd.oma.bcast.notification+xml
+# application/vnd.oma.bcast.provisioningtrigger
+# application/vnd.oma.bcast.sgboot
+# application/vnd.oma.bcast.sgdd+xml
+# application/vnd.oma.bcast.sgdu
+# application/vnd.oma.bcast.simple-symbol-container
+# application/vnd.oma.bcast.smartcard-trigger+xml
+# application/vnd.oma.bcast.sprov+xml
+# application/vnd.oma.bcast.stkm
+# application/vnd.oma.cab-address-book+xml
+# application/vnd.oma.cab-pcc+xml
+# application/vnd.oma.dcd
+# application/vnd.oma.dcdc
application/vnd.oma.dd2+xml dd2
-application/vnd.oma.drm.risd+xml
-application/vnd.oma.group-usage-list+xml
-application/vnd.oma.poc.detailed-progress-report+xml
-application/vnd.oma.poc.final-report+xml
-application/vnd.oma.poc.groups+xml
-application/vnd.oma.poc.invocation-descriptor+xml
-application/vnd.oma.poc.optimized-progress-report+xml
-application/vnd.oma.xcap-directory+xml
-application/vnd.omads-email+xml
-application/vnd.omads-file+xml
-application/vnd.omads-folder+xml
-application/vnd.omaloc-supl-init
+# application/vnd.oma.drm.risd+xml
+# application/vnd.oma.group-usage-list+xml
+# application/vnd.oma.poc.detailed-progress-report+xml
+# application/vnd.oma.poc.final-report+xml
+# application/vnd.oma.poc.groups+xml
+# application/vnd.oma.poc.invocation-descriptor+xml
+# application/vnd.oma.poc.optimized-progress-report+xml
+# application/vnd.oma.push
+# application/vnd.oma.scidm.messages+xml
+# application/vnd.oma.xcap-directory+xml
+# application/vnd.omads-email+xml
+# application/vnd.omads-file+xml
+# application/vnd.omads-folder+xml
+# application/vnd.omaloc-supl-init
application/vnd.openofficeorg.extension oxt
-application/vnd.osa.netdeploy
+# application/vnd.openxmlformats-officedocument.custom-properties+xml
+# application/vnd.openxmlformats-officedocument.customxmlproperties+xml
+# application/vnd.openxmlformats-officedocument.drawing+xml
+# application/vnd.openxmlformats-officedocument.drawingml.chart+xml
+# application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml
+# application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml
+# application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml
+# application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml
+# application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml
+# application/vnd.openxmlformats-officedocument.extended-properties+xml
+# application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml
+# application/vnd.openxmlformats-officedocument.presentationml.comments+xml
+# application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml
+# application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml
+# application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml
+application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
+# application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml
+# application/vnd.openxmlformats-officedocument.presentationml.presprops+xml
+application/vnd.openxmlformats-officedocument.presentationml.slide sldx
+# application/vnd.openxmlformats-officedocument.presentationml.slide+xml
+# application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml
+# application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml
+application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
+# application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml
+# application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml
+# application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml
+# application/vnd.openxmlformats-officedocument.presentationml.tags+xml
+application/vnd.openxmlformats-officedocument.presentationml.template potx
+# application/vnd.openxmlformats-officedocument.presentationml.template.main+xml
+# application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml
+application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
+# application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml
+application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
+# application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml
+# application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
+# application/vnd.openxmlformats-officedocument.theme+xml
+# application/vnd.openxmlformats-officedocument.themeoverride+xml
+# application/vnd.openxmlformats-officedocument.vmldrawing
+# application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml
+application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
+# application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml
+application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
+# application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml
+# application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml
+# application/vnd.openxmlformats-package.core-properties+xml
+# application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
+# application/vnd.openxmlformats-package.relationships+xml
+# application/vnd.quobject-quoxdocument
+# application/vnd.osa.netdeploy
+application/vnd.osgeo.mapguide.package mgp
+# application/vnd.osgi.bundle
application/vnd.osgi.dp dp
-application/vnd.otps.ct-kip+xml
-application/vnd.palm prc pdb pqa oprc
-application/vnd.paos.xml
+# application/vnd.otps.ct-kip+xml
+application/vnd.palm pdb pqa oprc
+# application/vnd.paos.xml
+application/vnd.pawaafile paw
application/vnd.pg.format str
application/vnd.pg.osasli ei6
-application/vnd.piaccess.application-licence
+# application/vnd.piaccess.application-licence
application/vnd.picsel efif
-application/vnd.poc.group-advertisement+xml
+application/vnd.pmi.widget wg
+# application/vnd.poc.group-advertisement+xml
application/vnd.pocketlearn plf
application/vnd.powerbuilder6 pbd
-application/vnd.powerbuilder6-s
-application/vnd.powerbuilder7
-application/vnd.powerbuilder7-s
-application/vnd.powerbuilder75
-application/vnd.powerbuilder75-s
-application/vnd.preminet
+# application/vnd.powerbuilder6-s
+# application/vnd.powerbuilder7
+# application/vnd.powerbuilder7-s
+# application/vnd.powerbuilder75
+# application/vnd.powerbuilder75-s
+# application/vnd.preminet
application/vnd.previewsystems.box box
application/vnd.proteus.magazine mgz
application/vnd.publishare-delta-tree qps
application/vnd.pvi.ptid1 ptid
-application/vnd.pwg-multiplexed
-application/vnd.pwg-xhtml-print+xml
-application/vnd.qualcomm.brew-app-res
+# application/vnd.pwg-multiplexed
+# application/vnd.pwg-xhtml-print+xml
+# application/vnd.qualcomm.brew-app-res
application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
-application/vnd.rapid
+# application/vnd.radisys.moml+xml
+# application/vnd.radisys.msml+xml
+# application/vnd.radisys.msml-audit+xml
+# application/vnd.radisys.msml-audit-conf+xml
+# application/vnd.radisys.msml-audit-conn+xml
+# application/vnd.radisys.msml-audit-dialog+xml
+# application/vnd.radisys.msml-audit-stream+xml
+# application/vnd.radisys.msml-conf+xml
+# application/vnd.radisys.msml-dialog+xml
+# application/vnd.radisys.msml-dialog-base+xml
+# application/vnd.radisys.msml-dialog-fax-detect+xml
+# application/vnd.radisys.msml-dialog-fax-sendrecv+xml
+# application/vnd.radisys.msml-dialog-group+xml
+# application/vnd.radisys.msml-dialog-speech+xml
+# application/vnd.radisys.msml-dialog-transform+xml
+# application/vnd.rainstor.data
+# application/vnd.rapid
+application/vnd.realvnc.bed bed
application/vnd.recordare.musicxml mxl
-application/vnd.recordare.musicxml+xml
-application/vnd.renlearn.rlprint
+application/vnd.recordare.musicxml+xml musicxml
+# application/vnd.renlearn.rlprint
+application/vnd.rig.cryptonote cryptonote
+application/vnd.rim.cod cod
application/vnd.rn-realmedia rm
application/vnd.route66.link66+xml link66
-application/vnd.ruckus.download
-application/vnd.s3sms
-application/vnd.sbm.mid2
-application/vnd.scribus
-application/vnd.sealed.3df
-application/vnd.sealed.csf
-application/vnd.sealed.doc
-application/vnd.sealed.eml
-application/vnd.sealed.mht
-application/vnd.sealed.net
-application/vnd.sealed.ppt
-application/vnd.sealed.tiff
-application/vnd.sealed.xls
-application/vnd.sealedmedia.softseal.html
-application/vnd.sealedmedia.softseal.pdf
+# application/vnd.ruckus.download
+# application/vnd.s3sms
+application/vnd.sailingtracker.track st
+# application/vnd.sbm.cid
+# application/vnd.sbm.mid2
+# application/vnd.scribus
+# application/vnd.sealed.3df
+# application/vnd.sealed.csf
+# application/vnd.sealed.doc
+# application/vnd.sealed.eml
+# application/vnd.sealed.mht
+# application/vnd.sealed.net
+# application/vnd.sealed.ppt
+# application/vnd.sealed.tiff
+# application/vnd.sealed.xls
+# application/vnd.sealedmedia.softseal.html
+# application/vnd.sealedmedia.softseal.pdf
application/vnd.seemail see
application/vnd.sema sema
application/vnd.semd semd
@@ -564,96 +841,135 @@ application/vnd.shana.informed.interchange iif
application/vnd.shana.informed.package ipk
application/vnd.simtech-mindmapper twd twds
application/vnd.smaf mmf
-application/vnd.software602.filler.form+xml
-application/vnd.software602.filler.form-xml-zip
+# application/vnd.smart.notebook
+application/vnd.smart.teacher teacher
+# application/vnd.software602.filler.form+xml
+# application/vnd.software602.filler.form-xml-zip
application/vnd.solent.sdkm+xml sdkm sdkd
application/vnd.spotfire.dxp dxp
application/vnd.spotfire.sfs sfs
-application/vnd.sss-cod
-application/vnd.sss-dtf
-application/vnd.sss-ntf
-application/vnd.street-stream
-application/vnd.sun.wadl+xml
+# application/vnd.sss-cod
+# application/vnd.sss-dtf
+# application/vnd.sss-ntf
+application/vnd.stardivision.calc sdc
+application/vnd.stardivision.draw sda
+application/vnd.stardivision.impress sdd
+application/vnd.stardivision.math smf
+application/vnd.stardivision.writer sdw vor
+application/vnd.stardivision.writer-global sgl
+application/vnd.stepmania.stepchart sm
+# application/vnd.street-stream
+application/vnd.sun.xml.calc sxc
+application/vnd.sun.xml.calc.template stc
+application/vnd.sun.xml.draw sxd
+application/vnd.sun.xml.draw.template std
+application/vnd.sun.xml.impress sxi
+application/vnd.sun.xml.impress.template sti
+application/vnd.sun.xml.math sxm
+application/vnd.sun.xml.writer sxw
+application/vnd.sun.xml.writer.global sxg
+application/vnd.sun.xml.writer.template stw
+# application/vnd.sun.wadl+xml
application/vnd.sus-calendar sus susp
application/vnd.svd svd
-application/vnd.swiftview-ics
+# application/vnd.swiftview-ics
+application/vnd.symbian.install sis sisx
application/vnd.syncml+xml xsm
application/vnd.syncml.dm+wbxml bdm
application/vnd.syncml.dm+xml xdm
-application/vnd.syncml.ds.notification
+# application/vnd.syncml.dm.notification
+# application/vnd.syncml.ds.notification
application/vnd.tao.intent-module-archive tao
application/vnd.tmobile-livetv tmo
application/vnd.trid.tpt tpt
application/vnd.triscape.mxs mxs
application/vnd.trueapp tra
-application/vnd.truedoc
+# application/vnd.truedoc
+# application/vnd.ubisoft.webplayer
application/vnd.ufdl ufd ufdl
application/vnd.uiq.theme utz
application/vnd.umajin umj
application/vnd.unity unityweb
application/vnd.uoml+xml uoml
-application/vnd.uplanet.alert
-application/vnd.uplanet.alert-wbxml
-application/vnd.uplanet.bearer-choice
-application/vnd.uplanet.bearer-choice-wbxml
-application/vnd.uplanet.cacheop
-application/vnd.uplanet.cacheop-wbxml
-application/vnd.uplanet.channel
-application/vnd.uplanet.channel-wbxml
-application/vnd.uplanet.list
-application/vnd.uplanet.list-wbxml
-application/vnd.uplanet.listcmd
-application/vnd.uplanet.listcmd-wbxml
-application/vnd.uplanet.signal
+# application/vnd.uplanet.alert
+# application/vnd.uplanet.alert-wbxml
+# application/vnd.uplanet.bearer-choice
+# application/vnd.uplanet.bearer-choice-wbxml
+# application/vnd.uplanet.cacheop
+# application/vnd.uplanet.cacheop-wbxml
+# application/vnd.uplanet.channel
+# application/vnd.uplanet.channel-wbxml
+# application/vnd.uplanet.list
+# application/vnd.uplanet.list-wbxml
+# application/vnd.uplanet.listcmd
+# application/vnd.uplanet.listcmd-wbxml
+# application/vnd.uplanet.signal
application/vnd.vcx vcx
-application/vnd.vd-study
-application/vnd.vectorworks
-application/vnd.vidsoft.vidconference
+# application/vnd.vd-study
+# application/vnd.vectorworks
+# application/vnd.verimatrix.vcas
+# application/vnd.vidsoft.vidconference
application/vnd.visio vsd vst vss vsw
application/vnd.visionary vis
-application/vnd.vividence.scriptfile
+# application/vnd.vividence.scriptfile
application/vnd.vsf vsf
-application/vnd.wap.sic
-application/vnd.wap.slc
+# application/vnd.wap.sic
+# application/vnd.wap.slc
application/vnd.wap.wbxml wbxml
application/vnd.wap.wmlc wmlc
application/vnd.wap.wmlscriptc wmlsc
application/vnd.webturbo wtb
-application/vnd.wfa.wsc
-application/vnd.wmc
-application/vnd.wmf.bootstrap
+# application/vnd.wfa.wsc
+# application/vnd.wmc
+# application/vnd.wmf.bootstrap
+# application/vnd.wolfram.mathematica
+# application/vnd.wolfram.mathematica.package
+application/vnd.wolfram.player nbp
application/vnd.wordperfect wpd
application/vnd.wqd wqd
-application/vnd.wrq-hp3000-labelled
+# application/vnd.wrq-hp3000-labelled
application/vnd.wt.stf stf
-application/vnd.wv.csp+wbxml
-application/vnd.wv.csp+xml
-application/vnd.wv.ssp+xml
+# application/vnd.wv.csp+wbxml
+# application/vnd.wv.csp+xml
+# application/vnd.wv.ssp+xml
application/vnd.xara xar
application/vnd.xfdl xfdl
-application/vnd.xmi+xml
-application/vnd.xmpie.cpkg
-application/vnd.xmpie.dpkg
-application/vnd.xmpie.plan
-application/vnd.xmpie.ppkg
-application/vnd.xmpie.xlim
+# application/vnd.xfdl.webform
+# application/vnd.xmi+xml
+# application/vnd.xmpie.cpkg
+# application/vnd.xmpie.dpkg
+# application/vnd.xmpie.plan
+# application/vnd.xmpie.ppkg
+# application/vnd.xmpie.xlim
application/vnd.yamaha.hv-dic hvd
application/vnd.yamaha.hv-script hvs
application/vnd.yamaha.hv-voice hvp
+application/vnd.yamaha.openscoreformat osf
+application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg
+# application/vnd.yamaha.remote-setup
application/vnd.yamaha.smaf-audio saf
application/vnd.yamaha.smaf-phrase spf
+# application/vnd.yamaha.tunnel-udpencap
application/vnd.yellowriver-custom-menu cmp
+application/vnd.zul zir zirz
application/vnd.zzazz.deck+xml zaz
application/voicexml+xml vxml
-application/watcherinfo+xml
-application/whoispp-query
-application/whoispp-response
+# application/vq-rtcpxr
+# application/watcherinfo+xml
+# application/whoispp-query
+# application/whoispp-response
+application/widget wgt
application/winhlp hlp
-application/wita
-application/wordperfect5.1
+# application/wita
+# application/wordperfect5.1
application/wsdl+xml wsdl
application/wspolicy+xml wspolicy
+application/x-7z-compressed 7z
+application/x-abiword abw
application/x-ace-compressed ace
+application/x-authorware-bin aab x32 u32 vox
+application/x-authorware-map aam
+application/x-authorware-seg aas
application/x-bcpio bcpio
application/x-bittorrent torrent
application/x-bzip bz
@@ -661,18 +977,43 @@ application/x-bzip2 bz2 boz
application/x-cdlink vcd
application/x-chat chat
application/x-chess-pgn pgn
-application/x-compress
+# application/x-compress
application/x-cpio cpio
application/x-csh csh
-application/x-director dcr dir dxr fgd
+application/x-debian-package deb udeb
+application/x-director dir dcr dxr cst cct cxt w3d fgd swa
+application/x-doom wad
+application/x-dtbncx+xml ncx
+application/x-dtbook+xml dtb
+application/x-dtbresource+xml res
application/x-dvi dvi
+application/x-font-bdf bdf
+# application/x-font-dos
+# application/x-font-framemaker
+application/x-font-ghostscript gsf
+# application/x-font-libgrx
+application/x-font-linux-psf psf
+application/x-font-otf otf
+application/x-font-pcf pcf
+application/x-font-snf snf
+# application/x-font-speedo
+# application/x-font-sunos-news
+application/x-font-ttf ttf ttc
+application/x-font-type1 pfa pfb pfm afm
+application/x-font-woff woff
+# application/x-font-vfont
application/x-futuresplash spl
+application/x-gnumeric gnumeric
application/x-gtar gtar
-application/x-gzip
+# application/x-gzip
application/x-hdf hdf
+application/x-java-jnlp-file jnlp
application/x-latex latex
+application/x-mobipocket-ebook prc mobi
+application/x-ms-application application
application/x-ms-wmd wmd
application/x-ms-wmz wmz
+application/x-ms-xbap xbap
application/x-msaccess mdb
application/x-msbinder obd
application/x-mscardfile crd
@@ -693,6 +1034,7 @@ application/x-rar-compressed rar
application/x-sh sh
application/x-shar shar
application/x-shockwave-flash swf
+application/x-silverlight-app xap
application/x-stuffit sit
application/x-stuffitx sitx
application/x-sv4cpio sv4cpio
@@ -700,137 +1042,169 @@ application/x-sv4crc sv4crc
application/x-tar tar
application/x-tcl tcl
application/x-tex tex
+application/x-tex-tfm tfm
application/x-texinfo texinfo texi
application/x-ustar ustar
application/x-wais-source src
application/x-x509-ca-cert der crt
-application/x400-bp
-application/xcap-att+xml
-application/xcap-caps+xml
-application/xcap-el+xml
-application/xcap-error+xml
-application/xcap-ns+xml
+application/x-xfig fig
+application/x-xpinstall xpi
+# application/x400-bp
+# application/xcap-att+xml
+# application/xcap-caps+xml
+application/xcap-diff+xml xdf
+# application/xcap-el+xml
+# application/xcap-error+xml
+# application/xcap-ns+xml
+# application/xcon-conference-info-diff+xml
+# application/xcon-conference-info+xml
application/xenc+xml xenc
application/xhtml+xml xhtml xht
+# application/xhtml-voice+xml
application/xml xml xsl
application/xml-dtd dtd
-application/xml-external-parsed-entity
-application/xmpp+xml
+# application/xml-external-parsed-entity
+# application/xmpp+xml
application/xop+xml xop
application/xslt+xml xslt
application/xspf+xml xspf
application/xv+xml mxml xhvml xvml xvm
+application/yang yang
+application/yin+xml yin
application/zip zip
-audio/32kadpcm
-audio/3gpp
-audio/3gpp2
-audio/ac3
-audio/amr
-audio/amr-wb
-audio/amr-wb+
-audio/asc
+# audio/1d-interleaved-parityfec
+# audio/32kadpcm
+# audio/3gpp
+# audio/3gpp2
+# audio/ac3
+audio/adpcm adp
+# audio/amr
+# audio/amr-wb
+# audio/amr-wb+
+# audio/asc
+# audio/atrac-advanced-lossless
+# audio/atrac-x
+# audio/atrac3
audio/basic au snd
-audio/bv16
-audio/bv32
-audio/clearmode
-audio/cn
-audio/dat12
-audio/dls
-audio/dsr-es201108
-audio/dsr-es202050
-audio/dsr-es202211
-audio/dsr-es202212
-audio/dvi4
-audio/eac3
-audio/evrc
-audio/evrc-qcp
-audio/evrc0
-audio/evrc1
-audio/evrcb
-audio/evrcb0
-audio/evrcb1
-audio/evrcwb
-audio/evrcwb0
-audio/evrcwb1
-audio/g722
-audio/g7221
-audio/g723
-audio/g726-16
-audio/g726-24
-audio/g726-32
-audio/g726-40
-audio/g728
-audio/g729
-audio/g7291
-audio/g729d
-audio/g729e
-audio/gsm
-audio/gsm-efr
-audio/ilbc
-audio/l16
-audio/l20
-audio/l24
-audio/l8
-audio/lpc
+# audio/bv16
+# audio/bv32
+# audio/clearmode
+# audio/cn
+# audio/dat12
+# audio/dls
+# audio/dsr-es201108
+# audio/dsr-es202050
+# audio/dsr-es202211
+# audio/dsr-es202212
+# audio/dvi4
+# audio/eac3
+# audio/evrc
+# audio/evrc-qcp
+# audio/evrc0
+# audio/evrc1
+# audio/evrcb
+# audio/evrcb0
+# audio/evrcb1
+# audio/evrcwb
+# audio/evrcwb0
+# audio/evrcwb1
+# audio/example
+# audio/g719
+# audio/g722
+# audio/g7221
+# audio/g723
+# audio/g726-16
+# audio/g726-24
+# audio/g726-32
+# audio/g726-40
+# audio/g728
+# audio/g729
+# audio/g7291
+# audio/g729d
+# audio/g729e
+# audio/gsm
+# audio/gsm-efr
+# audio/gsm-hr-08
+# audio/ilbc
+# audio/l16
+# audio/l20
+# audio/l24
+# audio/l8
+# audio/lpc
audio/midi mid midi kar rmi
-audio/mobile-xmf
+# audio/mobile-xmf
audio/mp4 mp4a
-audio/mp4a-latm
-audio/mpa
-audio/mpa-robust
+# audio/mp4a-latm
+# audio/mpa
+# audio/mpa-robust
audio/mpeg mpga mp2 mp2a mp3 m2a m3a
-audio/mpeg4-generic
+# audio/mpeg4-generic
audio/ogg oga ogg spx
-audio/parityfec
-audio/pcma
-audio/pcmu
-audio/prs.sid
-audio/qcelp
-audio/red
-audio/rtp-enc-aescm128
-audio/rtp-midi
-audio/rtx
-audio/smv
-audio/smv0
-audio/smv-qcp
-audio/sp-midi
-audio/t140c
-audio/t38
-audio/telephone-event
-audio/tone
-audio/ulpfec
-audio/vdvi
-audio/vmr-wb
-audio/vnd.3gpp.iufp
-audio/vnd.4sb
-audio/vnd.audiokoz
-audio/vnd.celp
-audio/vnd.cisco.nse
-audio/vnd.cmles.radio-events
-audio/vnd.cns.anp1
-audio/vnd.cns.inf1
+# audio/parityfec
+# audio/pcma
+# audio/pcma-wb
+# audio/pcmu-wb
+# audio/pcmu
+# audio/prs.sid
+# audio/qcelp
+# audio/red
+# audio/rtp-enc-aescm128
+# audio/rtp-midi
+# audio/rtx
+# audio/smv
+# audio/smv0
+# audio/smv-qcp
+# audio/sp-midi
+# audio/speex
+# audio/t140c
+# audio/t38
+# audio/telephone-event
+# audio/tone
+# audio/uemclip
+# audio/ulpfec
+# audio/vdvi
+# audio/vmr-wb
+# audio/vnd.3gpp.iufp
+# audio/vnd.4sb
+# audio/vnd.audiokoz
+# audio/vnd.celp
+# audio/vnd.cisco.nse
+# audio/vnd.cmles.radio-events
+# audio/vnd.cns.anp1
+# audio/vnd.cns.inf1
+audio/vnd.dece.audio uva uvva
audio/vnd.digital-winds eol
-audio/vnd.dlna.adts
-audio/vnd.dolby.mlp
+# audio/vnd.dlna.adts
+# audio/vnd.dolby.heaac.1
+# audio/vnd.dolby.heaac.2
+# audio/vnd.dolby.mlp
+# audio/vnd.dolby.mps
+# audio/vnd.dolby.pl2
+# audio/vnd.dolby.pl2x
+# audio/vnd.dolby.pl2z
+# audio/vnd.dolby.pulse.1
+audio/vnd.dra dra
audio/vnd.dts dts
audio/vnd.dts.hd dtshd
-audio/vnd.everad.plj
-audio/vnd.hns.audio
+# audio/vnd.everad.plj
+# audio/vnd.hns.audio
audio/vnd.lucent.voice lvp
audio/vnd.ms-playready.media.pya pya
-audio/vnd.nokia.mobile-xmf
-audio/vnd.nortel.vbk
+# audio/vnd.nokia.mobile-xmf
+# audio/vnd.nortel.vbk
audio/vnd.nuera.ecelp4800 ecelp4800
audio/vnd.nuera.ecelp7470 ecelp7470
audio/vnd.nuera.ecelp9600 ecelp9600
-audio/vnd.octel.sbc
-audio/vnd.qcelp
-audio/vnd.rhetorex.32kadpcm
-audio/vnd.sealedmedia.softseal.mpeg
-audio/vnd.vmx.cvsd
-audio/vorbis
-audio/vorbis-config
-audio/wav wav
+# audio/vnd.octel.sbc
+# audio/vnd.qcelp
+# audio/vnd.rhetorex.32kadpcm
+audio/vnd.rip rip
+# audio/vnd.sealedmedia.softseal.mpeg
+# audio/vnd.vmx.cvsd
+# audio/vorbis
+# audio/vorbis-config
+audio/webm weba
+audio/x-aac aac
audio/x-aiff aif aiff aifc
audio/x-mpegurl m3u
audio/x-ms-wax wax
@@ -843,28 +1217,32 @@ chemical/x-cif cif
chemical/x-cmdf cmdf
chemical/x-cml cml
chemical/x-csml csml
-chemical/x-pdb pdb
+# chemical/x-pdb
chemical/x-xyz xyz
image/bmp bmp
image/cgm cgm
-image/fits
+# image/example
+# image/fits
image/g3fax g3
image/gif gif
image/ief ief
-image/jp2
+# image/jp2
image/jpeg jpeg jpg jpe
-image/jpm
-image/jpx
-image/naplps
+# image/jpm
+# image/jpx
+image/ktx ktx
+# image/naplps
image/png png
image/prs.btif btif
-image/prs.pti
+# image/prs.pti
image/svg+xml svg svgz
-image/t38
+# image/t38
image/tiff tiff tif
-image/tiff-fx
+# image/tiff-fx
image/vnd.adobe.photoshop psd
-image/vnd.cns.inf2
+# image/vnd.cns.inf2
+image/vnd.dece.graphic uvi uvvi uvg uvvg
+image/vnd.dvb.subtitle sub
image/vnd.djvu djvu djv
image/vnd.dwg dwg
image/vnd.dxf dxf
@@ -873,19 +1251,22 @@ image/vnd.fpx fpx
image/vnd.fst fst
image/vnd.fujixerox.edmics-mmr mmr
image/vnd.fujixerox.edmics-rlc rlc
-image/vnd.globalgraphics.pgb
-image/vnd.microsoft.icon
-image/vnd.mix
+# image/vnd.globalgraphics.pgb
+# image/vnd.microsoft.icon
+# image/vnd.mix
image/vnd.ms-modi mdi
image/vnd.net-fpx npx
-image/vnd.sealed.png
-image/vnd.sealedmedia.softseal.gif
-image/vnd.sealedmedia.softseal.jpg
-image/vnd.svf
+# image/vnd.radiance
+# image/vnd.sealed.png
+# image/vnd.sealedmedia.softseal.gif
+# image/vnd.sealedmedia.softseal.jpg
+# image/vnd.svf
image/vnd.wap.wbmp wbmp
image/vnd.xiff xif
+image/webp webp
image/x-cmu-raster ras
image/x-cmx cmx
+image/x-freehand fh fhc fh4 fh5 fh7
image/x-icon ico
image/x-pcx pcx
image/x-pict pic pct
@@ -897,92 +1278,109 @@ image/x-rgb rgb
image/x-xbitmap xbm
image/x-xpixmap xpm
image/x-xwindowdump xwd
-message/cpim
-message/delivery-status
-message/disposition-notification
-message/external-body
-message/global
-message/global-delivery-status
-message/global-disposition-notification
-message/global-headers
-message/http
-message/news
-message/partial
+# message/cpim
+# message/delivery-status
+# message/disposition-notification
+# message/example
+# message/external-body
+# message/feedback-report
+# message/global
+# message/global-delivery-status
+# message/global-disposition-notification
+# message/global-headers
+# message/http
+# message/imdn+xml
+# message/news
+# message/partial
message/rfc822 eml mime
-message/s-http
-message/sip
-message/sipfrag
-message/tracking-status
-message/vnd.si.simp
+# message/s-http
+# message/sip
+# message/sipfrag
+# message/tracking-status
+# message/vnd.si.simp
+# model/example
model/iges igs iges
model/mesh msh mesh silo
+model/vnd.collada+xml dae
model/vnd.dwf dwf
-model/vnd.flatland.3dml
+# model/vnd.flatland.3dml
model/vnd.gdl gdl
-model/vnd.gs.gdl
+# model/vnd.gs-gdl
+# model/vnd.gs.gdl
model/vnd.gtw gtw
-model/vnd.moml+xml
+# model/vnd.moml+xml
model/vnd.mts mts
-model/vnd.parasolid.transmit.binary
-model/vnd.parasolid.transmit.text
+# model/vnd.parasolid.transmit.binary
+# model/vnd.parasolid.transmit.text
model/vnd.vtu vtu
model/vrml wrl vrml
-multipart/alternative
-multipart/appledouble
-multipart/byteranges
-multipart/digest
-multipart/encrypted
-multipart/form-data
-multipart/header-set
-multipart/mixed
-multipart/parallel
-multipart/related
-multipart/report
-multipart/signed
-multipart/voice-message
+# multipart/alternative
+# multipart/appledouble
+# multipart/byteranges
+# multipart/digest
+# multipart/encrypted
+# multipart/example
+# multipart/form-data
+# multipart/header-set
+# multipart/mixed
+# multipart/parallel
+# multipart/related
+# multipart/report
+# multipart/signed
+# multipart/voice-message
+# text/1d-interleaved-parityfec
text/calendar ics ifb
text/css css
text/csv csv
-text/directory
-text/dns
-text/enriched
+# text/directory
+# text/dns
+# text/ecmascript
+# text/enriched
+# text/example
text/html html htm
-text/parityfec
+# text/javascript
+text/n3 n3
+# text/parityfec
text/plain txt text conf def list log in
-text/prs.fallenstein.rst
+# text/prs.fallenstein.rst
text/prs.lines.tag dsc
-text/red
-text/rfc822-headers
+# text/vnd.radisys.msml-basic-layout
+# text/red
+# text/rfc822-headers
text/richtext rtx
-text/rtf
-text/rtp-enc-aescm128
-text/rtx
+# text/rtf
+# text/rtp-enc-aescm128
+# text/rtx
text/sgml sgml sgm
-text/t140
+# text/t140
text/tab-separated-values tsv
text/troff t tr roff man me ms
-text/ulpfec
+text/turtle ttl
+# text/ulpfec
text/uri-list uri uris urls
-text/vnd.abc
-text/vnd.curl
-text/vnd.dmclientscript
-text/vnd.esmertec.theme-descriptor
+# text/vnd.abc
+text/vnd.curl curl
+text/vnd.curl.dcurl dcurl
+text/vnd.curl.scurl scurl
+text/vnd.curl.mcurl mcurl
+# text/vnd.dmclientscript
+# text/vnd.esmertec.theme-descriptor
text/vnd.fly fly
text/vnd.fmi.flexstor flx
text/vnd.graphviz gv
text/vnd.in3d.3dml 3dml
text/vnd.in3d.spot spot
-text/vnd.iptc.newsml
-text/vnd.iptc.nitf
-text/vnd.latex-z
-text/vnd.motorola.reflex
-text/vnd.ms-mediapackage
-text/vnd.net2phone.commcenter.command
-text/vnd.si.uricatalogue
+# text/vnd.iptc.newsml
+# text/vnd.iptc.nitf
+# text/vnd.latex-z
+# text/vnd.motorola.reflex
+# text/vnd.ms-mediapackage
+# text/vnd.net2phone.commcenter.command
+# text/vnd.si.uricatalogue
text/vnd.sun.j2me.app-descriptor jad
-text/vnd.trolltech.linguist
-text/vnd.wap.si
-text/vnd.wap.sl
+# text/vnd.trolltech.linguist
+# text/vnd.wap.si
+# text/vnd.wap.sl
text/vnd.wap.wml wml
text/vnd.wap.wmlscript wmls
text/x-asm s asm
@@ -994,66 +1392,83 @@ text/x-setext etx
text/x-uuencode uu
text/x-vcalendar vcs
text/x-vcard vcf
-text/xml
-text/xml-external-parsed-entity
+# text/xml
+# text/xml-external-parsed-entity
+# video/1d-interleaved-parityfec
video/3gpp 3gp
-video/3gpp-tt
+# video/3gpp-tt
video/3gpp2 3g2
-video/bmpeg
-video/bt656
-video/celb
-video/dv
+# video/bmpeg
+# video/bt656
+# video/celb
+# video/dv
+# video/example
video/h261 h261
video/h263 h263
-video/h263-1998
-video/h263-2000
+# video/h263-1998
+# video/h263-2000
video/h264 h264
+# video/h264-rcdo
+# video/h264-svc
video/jpeg jpgv
-video/jpeg2000
+# video/jpeg2000
video/jpm jpm jpgm
video/mj2 mj2 mjp2
-video/mp1s
-video/mp2p
-video/mp2t
+# video/mp1s
+# video/mp2p
+# video/mp2t
video/mp4 mp4 mp4v mpg4
-video/mp4v-es
+# video/mp4v-es
video/mpeg mpeg mpg mpe m1v m2v
-video/mpeg4-generic
-video/mpv
-video/nv
+# video/mpeg4-generic
+# video/mpv
+# video/nv
video/ogg ogv
-video/parityfec
-video/pointer
+# video/parityfec
+# video/pointer
video/quicktime qt mov
-video/raw
-video/rtp-enc-aescm128
-video/rtx
-video/smpte292m
-video/ulpfec
-video/vc1
-video/vnd.cctv
-video/vnd.dlna.mpeg-tts
+# video/raw
+# video/rtp-enc-aescm128
+# video/rtx
+# video/smpte292m
+# video/ulpfec
+# video/vc1
+# video/vnd.cctv
+video/vnd.dece.hd uvh uvvh
+video/vnd.dece.mobile uvm uvvm
+# video/vnd.dece.mp4
+video/vnd.dece.pd uvp uvvp
+video/vnd.dece.sd uvs uvvs
+video/vnd.dece.video uvv uvvv
+# video/vnd.directv.mpeg
+# video/vnd.directv.mpeg-tts
+# video/vnd.dlna.mpeg-tts
video/vnd.fvt fvt
-video/vnd.hns.video
-video/vnd.iptvforum.1dparityfec-1010
-video/vnd.iptvforum.1dparityfec-2005
-video/vnd.iptvforum.2dparityfec-1010
-video/vnd.iptvforum.2dparityfec-2005
-video/vnd.iptvforum.ttsavc
-video/vnd.iptvforum.ttsmpeg2
-video/vnd.motorola.video
-video/vnd.motorola.videop
+# video/vnd.hns.video
+# video/vnd.iptvforum.1dparityfec-1010
+# video/vnd.iptvforum.1dparityfec-2005
+# video/vnd.iptvforum.2dparityfec-1010
+# video/vnd.iptvforum.2dparityfec-2005
+# video/vnd.iptvforum.ttsavc
+# video/vnd.iptvforum.ttsmpeg2
+# video/vnd.motorola.video
+# video/vnd.motorola.videop
video/vnd.mpegurl mxu m4u
video/vnd.ms-playready.media.pyv pyv
-video/vnd.nokia.interleaved-multimedia
-video/vnd.nokia.videovoip
-video/vnd.objectvideo
-video/vnd.sealed.mpeg1
-video/vnd.sealed.mpeg4
-video/vnd.sealed.swf
-video/vnd.sealedmedia.softseal.mov
+# video/vnd.nokia.interleaved-multimedia
+# video/vnd.nokia.videovoip
+# video/vnd.objectvideo
+# video/vnd.sealed.mpeg1
+# video/vnd.sealed.mpeg4
+# video/vnd.sealed.swf
+# video/vnd.sealedmedia.softseal.mov
+video/vnd.uvvu.mp4 uvu uvvu
video/vnd.vivo viv
+video/webm webm
+video/x-f4v f4v
video/x-fli fli
+video/x-flv flv
+video/x-m4v m4v
video/x-ms-asf asf asx
video/x-ms-wm wm
video/x-ms-wmv wmv
diff --git a/Master/tlpkg/tlperl/lib/List/Util.pm b/Master/tlpkg/tlperl/lib/List/Util.pm
index 2b51a69d79b..aced6b15b58 100644
--- a/Master/tlpkg/tlperl/lib/List/Util.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util.pm
@@ -14,7 +14,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION = "1.22";
+$VERSION = "1.23";
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
diff --git a/Master/tlpkg/tlperl/lib/List/Util/PP.pm b/Master/tlpkg/tlperl/lib/List/Util/PP.pm
index 425f1c50159..2771329b563 100644
--- a/Master/tlpkg/tlperl/lib/List/Util/PP.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util/PP.pm
@@ -13,7 +13,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION = "1.22";
+$VERSION = "1.23";
$VERSION = eval $VERSION;
sub reduce (&@) {
diff --git a/Master/tlpkg/tlperl/lib/List/Util/XS.pm b/Master/tlpkg/tlperl/lib/List/Util/XS.pm
index 76bf6469c40..2dcb03a28e2 100644
--- a/Master/tlpkg/tlperl/lib/List/Util/XS.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util/XS.pm
@@ -3,7 +3,7 @@ use strict;
use vars qw($VERSION);
use List::Util;
-$VERSION = "1.22"; # FIXUP
+$VERSION = "1.23"; # FIXUP
$VERSION = eval $VERSION; # FIXUP
sub _VERSION { # FIXUP
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes.pm
new file mode 100644
index 00000000000..2fe84b1994c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes.pm
@@ -0,0 +1,628 @@
+package Locale::Codes;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2011 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use strict;
+use warnings;
+require 5.002;
+
+use Carp;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+# This module is not called directly... %Data is filled in by the
+# calling modules.
+
+our($VERSION,%Data);
+
+# $Data{ TYPE }{ code2id }{ CODESET } { CODE } = [ ID, I ]
+# { id2code }{ CODESET } { ID } = CODE
+# { id2names }{ ID } = [ NAME, NAME, ... ]
+# { alias2id }{ NAME } = [ ID, I ]
+# { id } = FIRST_UNUSED_ID
+# { codealias }{ CODESET } { ALIAS } = CODE
+
+$VERSION='3.16';
+
+#=======================================================================
+#
+# _code2name ( TYPE,CODE,CODESET )
+#
+#=======================================================================
+
+sub _code2name {
+ my($type,$code,$codeset) = @_;
+
+ $code = $Data{$type}{'codealias'}{$codeset}{$code}
+ if (exists $Data{$type}{'codealias'}{$codeset}{$code});
+
+ if (exists $Data{$type}{'code2id'}{$codeset} &&
+ exists $Data{$type}{'code2id'}{$codeset}{$code}) {
+ my ($id,$i) = @{ $Data{$type}{'code2id'}{$codeset}{$code} };
+ my $name = $Data{$type}{'id2names'}{$id}[$i];
+ return $name;
+ } else {
+ #---------------------------------------------------------------
+ # no such code!
+ #---------------------------------------------------------------
+ return undef;
+ }
+}
+
+#=======================================================================
+#
+# _name2code ( TYPE,NAME,CODESET )
+#
+#=======================================================================
+
+sub _name2code {
+ my($type,$name,$codeset) = @_;
+ $name = "" if (! $name);
+ $name = lc($name);
+
+ if (exists $Data{$type}{'alias2id'}{$name}) {
+ my $id = $Data{$type}{'alias2id'}{$name}[0];
+ if (exists $Data{$type}{'id2code'}{$codeset}{$id}) {
+ return $Data{$type}{'id2code'}{$codeset}{$id};
+ }
+ }
+
+ #---------------------------------------------------------------
+ # no such name!
+ #---------------------------------------------------------------
+ return undef;
+ }
+
+#=======================================================================
+#
+# _code2code ( TYPE,CODE,CODESET )
+#
+#=======================================================================
+
+sub _code2code {
+ my($type,$code,$inset,$outset) = @_;
+
+ my $name = _code2name($type,$code,$inset);
+ my $outcode = _name2code($type,$name,$outset);
+ return $outcode;
+}
+
+#=======================================================================
+#
+# _all_codes ( TYPE,CODESET )
+#
+#=======================================================================
+
+sub _all_codes {
+ my($type,$codeset) = @_;
+
+ if (! exists $Data{$type}{'code2id'}{$codeset}) {
+ return ();
+ }
+ my @codes = keys %{ $Data{$type}{'code2id'}{$codeset} };
+ return (sort @codes);
+}
+
+#=======================================================================
+#
+# _all_names ( TYPE,CODESET )
+#
+#=======================================================================
+
+sub _all_names {
+ my($type,$codeset) = @_;
+
+ my @codes = _all_codes($type,$codeset);
+ return () if (! @codes);
+ my @names;
+
+ foreach my $code (@codes) {
+ my($id,$i) = @{ $Data{$type}{'code2id'}{$codeset}{$code} };
+ my $name = $Data{$type}{'id2names'}{$id}[$i];
+ push(@names,$name);
+ }
+ return (sort @names);
+}
+
+#=======================================================================
+#
+# _rename ( TYPE,CODE,NAME,CODESET )
+#
+# Change the official name for a code. The original is retained
+# as an alias, but the new name will be returned if you lookup the
+# name from code.
+#
+#=======================================================================
+
+sub _rename {
+ my($type,$code,$new_name,$codeset,$nowarn) = @_;
+
+ if (! $codeset) {
+ carp "rename_$type(): unknown codeset\n" unless ($nowarn);
+ return 0;
+ }
+
+ $code = $Data{$type}{'codealias'}{$codeset}{$code}
+ if (exists $Data{$type}{'codealias'}{$codeset}{$code});
+
+ # Check that $code exists in the codeset.
+
+ my $id;
+ if (exists $Data{$type}{'code2id'}{$codeset}{$code}) {
+ $id = $Data{$type}{'code2id'}{$codeset}{$code}[0];
+ } else {
+ carp "rename_$type(): unknown code: $code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Cases:
+ # 1. Renaming to a name which exists with a different ID
+ # Error
+ #
+ # 2. Renaming to a name which exists with the same ID
+ # Just change code2id (I value)
+ #
+ # 3. Renaming to a new name
+ # Create a new alias
+ # Change code2id (I value)
+
+ if (exists $Data{$type}{'alias2id'}{lc($new_name)}) {
+ # Existing name (case 1 and 2)
+
+ my ($new_id,$i) = @{ $Data{$type}{'alias2id'}{lc($new_name)} };
+ if ($new_id != $id) {
+ # Case 1
+ carp "rename_$type(): rename to an existing $type not allowed\n"
+ unless ($nowarn);
+ return 0;
+ }
+
+ # Case 2
+
+ $Data{$type}{'code2id'}{$codeset}{$code}[1] = $i;
+
+ } else {
+
+ # Case 3
+
+ push @{ $Data{$type}{'id2names'}{$id} },$new_name;
+ my $i = $#{ $Data{$type}{'id2names'}{$id} };
+ $Data{$type}{'alias2id'}{lc($new_name)} = [ $id,$i ];
+ $Data{$type}{'code2id'}{$codeset}{$code}[1] = $i;
+ }
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _add_code ( TYPE,CODE,NAME,CODESET )
+#
+# Add a new code to the codeset. Both CODE and NAME must be
+# unused in the code set.
+#
+#=======================================================================
+
+sub _add_code {
+ my($type,$code,$name,$codeset,$nowarn) = @_;
+
+ if (! $codeset) {
+ carp "add_$type(): unknown codeset\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Check that $code is unused.
+
+ if (exists $Data{$type}{'code2id'}{$codeset}{$code} ||
+ exists $Data{$type}{'codealias'}{$codeset}{$code}) {
+ carp "add_$type(): code already in use: $code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Check to see that $name is unused in this code set. If it is
+ # used (but not in this code set), we'll use that ID. Otherwise,
+ # we'll need to get the next available ID.
+
+ my ($id,$i);
+ if (exists $Data{$type}{'alias2id'}{lc($name)}) {
+ ($id,$i) = @{ $Data{$type}{'alias2id'}{lc($name)} };
+ if (exists $Data{$type}{'id2code'}{$codeset}{$id}) {
+ carp "add_$type(): name already in use: $name\n" unless ($nowarn);
+ return 0;
+ }
+
+ } else {
+ $id = $Data{$type}{'id'}++;
+ $i = 0;
+ $Data{$type}{'alias2id'}{lc($name)} = [ $id,$i ];
+ $Data{$type}{'id2names'}{$id} = [ $name ];
+ }
+
+ # Add the new code
+
+ $Data{$type}{'code2id'}{$codeset}{$code} = [ $id,$i ];
+ $Data{$type}{'id2code'}{$codeset}{$id} = $code;
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _delete_code ( TYPE,CODE,CODESET )
+#
+# Delete a code from the codeset.
+#
+#=======================================================================
+
+sub _delete_code {
+ my($type,$code,$codeset,$nowarn) = @_;
+
+ if (! $codeset) {
+ carp "delete_$type(): unknown codeset\n" unless ($nowarn);
+ return 0;
+ }
+
+ $code = $Data{$type}{'codealias'}{$codeset}{$code}
+ if (exists $Data{$type}{'codealias'}{$codeset}{$code});
+
+ # Check that $code is valid.
+
+ if (! exists $Data{$type}{'code2id'}{$codeset}{$code}) {
+ carp "delete_$type(): code does not exist: $code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Delete the code
+
+ my $id = $Data{$type}{'code2id'}{$codeset}{$code}[0];
+ delete $Data{$type}{'code2id'}{$codeset}{$code};
+ delete $Data{$type}{'id2code'}{$codeset}{$id};
+
+ # Delete any aliases that are linked to this code
+
+ foreach my $alias (keys %{ $Data{$type}{'codealias'}{$codeset} }) {
+ next if ($Data{$type}{'codealias'}{$codeset}{$alias} ne $code);
+ delete $Data{$type}{'codealias'}{$codeset}{$alias};
+ }
+
+ # If this ID is not used in any other codeset, delete it completely.
+
+ foreach my $c (keys %{ $Data{$type}{'id2code'} }) {
+ return 1 if (exists $Data{$type}{'id2code'}{$c}{$id});
+ }
+
+ my @names = @{ $Data{$type}{'id2names'}{$id} };
+ delete $Data{$type}{'id2names'}{$id};
+
+ foreach my $name (@names) {
+ delete $Data{$type}{'alias2id'}{lc($name)};
+ }
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _add_alias ( TYPE,NAME,NEW_NAME )
+#
+# Add a new alias. NAME must exist, and NEW_NAME must be unused.
+#
+#=======================================================================
+
+sub _add_alias {
+ my($type,$name,$new_name,$nowarn) = @_;
+
+ # Check that $name is used and $new_name is new.
+
+ my($id);
+ if (exists $Data{$type}{'alias2id'}{lc($name)}) {
+ $id = $Data{$type}{'alias2id'}{lc($name)}[0];
+ } else {
+ carp "add_${type}_alias(): name does not exist: $name\n" unless ($nowarn);
+ return 0;
+ }
+
+ if (exists $Data{$type}{'alias2id'}{lc($new_name)}) {
+ carp "add_${type}_alias(): alias already in use: $new_name\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Add the new alias
+
+ push @{ $Data{$type}{'id2names'}{$id} },$new_name;
+ my $i = $#{ $Data{$type}{'id2names'}{$id} };
+ $Data{$type}{'alias2id'}{lc($new_name)} = [ $id,$i ];
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _delete_alias ( TYPE,NAME )
+#
+# This deletes a name from the list of names used by an element.
+# NAME must be used, but must NOT be the only name in the list.
+#
+# Any id2name that references this name will be changed to
+# refer to the first name in the list.
+#
+#=======================================================================
+
+sub _delete_alias {
+ my($type,$name,$nowarn) = @_;
+
+ # Check that $name is used.
+
+ my($id,$i);
+ if (exists $Data{$type}{'alias2id'}{lc($name)}) {
+ ($id,$i) = @{ $Data{$type}{'alias2id'}{lc($name)} };
+ } else {
+ carp "delete_${type}_alias(): name does not exist: $name\n" unless ($nowarn);
+ return 0;
+ }
+
+ my $n = $#{ $Data{$type}{'id2names'}{$id} };
+ if ($n == 1) {
+ carp "delete_${type}_alias(): only one name defined (use _delete_${type} instead)\n"
+ unless ($nowarn);
+ return 0;
+ }
+
+ # Delete the alias.
+
+ splice (@{ $Data{$type}{'id2names'}{$id} },$i,1);
+ delete $Data{$type}{'alias2id'}{lc($name)};
+
+ # Every element that refers to this ID:
+ # Ignore if I < $i
+ # Set to 0 if I = $i
+ # Decrement if I > $i
+
+ foreach my $codeset (keys %{ $Data{'code2id'} }) {
+ foreach my $code (keys %{ $Data{'code2id'}{$codeset} }) {
+ my($jd,$j) = @{ $Data{'code2id'}{$codeset}{$code} };
+ next if ($jd ne $id ||
+ $j < $i);
+ if ($i == $j) {
+ $Data{'code2id'}{$codeset}{$code}[1] = 0;
+ } else {
+ $Data{'code2id'}{$codeset}{$code}[1]--;
+ }
+ }
+ }
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _rename_code ( TYPE,CODE,NEW_CODE,CODESET )
+#
+# Change the official code. The original is retained as an alias, but
+# the new name will be returned if you lookup the code from name.
+#
+#=======================================================================
+
+sub _rename_code {
+ my($type,$code,$new_code,$codeset,$nowarn) = @_;
+
+ if (! $codeset) {
+ carp "rename_$type(): unknown codeset\n" unless ($nowarn);
+ return 0;
+ }
+
+ $code = $Data{$type}{'codealias'}{$codeset}{$code}
+ if (exists $Data{$type}{'codealias'}{$codeset}{$code});
+
+ # Check that $code exists in the codeset.
+
+ if (! exists $Data{$type}{'code2id'}{$codeset}{$code}) {
+ carp "rename_$type(): unknown code: $code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Cases:
+ # 1. Renaming code to an existing alias of this code:
+ # Make the alias real and the code an alias
+ #
+ # 2. Renaming code to some other existing alias:
+ # Error
+ #
+ # 3. Renaming code to some other code:
+ # Error (
+ #
+ # 4. Renaming code to a new code:
+ # Make code into an alias
+ # Replace code with new_code.
+
+ if (exists $Data{$type}{'codealias'}{$codeset}{$new_code}) {
+ # Cases 1 and 2
+ if ($Data{$type}{'codealias'}{$codeset}{$new_code} eq $code) {
+ # Case 1
+
+ delete $Data{$type}{'codealias'}{$codeset}{$new_code};
+
+ } else {
+ # Case 2
+ carp "rename_$type(): new code already in use: $new_code\n" unless ($nowarn);
+ return 0;
+ }
+
+ } elsif (exists $Data{$type}{'code2id'}{$codeset}{$new_code}) {
+ # Case 3
+ carp "rename_$type(): new code already in use: $new_code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Cases 1 and 4
+
+ $Data{$type}{'codealias'}{$codeset}{$code} = $new_code;
+
+ my $id = $Data{$type}{'code2id'}{$codeset}{$code}[0];
+ $Data{$type}{'code2id'}{$codeset}{$new_code} = $Data{$type}{'code2id'}{$codeset}{$code};
+ delete $Data{$type}{'code2id'}{$codeset}{$code};
+
+ $Data{$type}{'id2code'}{$codeset}{$id} = $new_code;
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _add_code_alias ( TYPE,CODE,NEW_CODE,CODESET )
+#
+# Adds an alias for the code.
+#
+#=======================================================================
+
+sub _add_code_alias {
+ my($type,$code,$new_code,$codeset,$nowarn) = @_;
+
+ if (! $codeset) {
+ carp "add_${type}_code_alias(): unknown codeset\n" unless ($nowarn);
+ return 0;
+ }
+
+ $code = $Data{$type}{'codealias'}{$codeset}{$code}
+ if (exists $Data{$type}{'codealias'}{$codeset}{$code});
+
+ # Check that $code exists in the codeset and that $new_code
+ # does not exist.
+
+ if (! exists $Data{$type}{'code2id'}{$codeset}{$code}) {
+ carp "add_${type}_code_alias(): unknown code: $code\n" unless ($nowarn);
+ return 0;
+ }
+
+ if (exists $Data{$type}{'code2id'}{$codeset}{$new_code} ||
+ exists $Data{$type}{'codealias'}{$codeset}{$new_code}) {
+ carp "add_${type}_code_alias(): code already in use: $new_code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Add the alias
+
+ $Data{$type}{'codealias'}{$codeset}{$new_code} = $code;
+
+ return 1;
+}
+
+#=======================================================================
+#
+# _delete_code_alias ( TYPE,CODE,CODESET )
+#
+# Deletes an alias for the code.
+#
+#=======================================================================
+
+sub _delete_code_alias {
+ my($type,$code,$codeset,$nowarn) = @_;
+
+ if (! $codeset) {
+ carp "delete_${type}_code_alias(): unknown codeset\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Check that $code exists in the codeset as an alias.
+
+ if (! exists $Data{$type}{'codealias'}{$codeset}{$code}) {
+ carp "delete_${type}_code_alias(): no alias defined: $code\n" unless ($nowarn);
+ return 0;
+ }
+
+ # Delete the alias
+
+ delete $Data{$type}{'codealias'}{$codeset}{$code};
+
+ return 1;
+}
+
+#=======================================================================
+#
+# alias_code ( ALIAS => CODE [ , CODESET ] )
+#
+# Add an alias for an existing code. If the CODESET isn't specified,
+# then we use the default (currently the alpha-2 codeset).
+#
+# Locale::Country::alias_code('uk' => 'gb');
+#
+#=======================================================================
+
+# sub alias_code {
+# my $nowarn = 0;
+# $nowarn = 1, pop if ($_[$#_] eq "nowarn");
+# my $alias = shift;
+# my $code = shift;
+# my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
+
+# return 0 if ($codeset !~ /^\d+$/);
+
+# if ($codeset == LOCALE_CODE_ALPHA_2) {
+# $codeset = "alpha2";
+# $alias = lc($alias);
+# } elsif ($codeset == LOCALE_CODE_ALPHA_3) {
+# $codeset = "alpha3";
+# $alias = lc($alias);
+# } elsif ($codeset == LOCALE_CODE_FIPS) {
+# $codeset = "fips";
+# $alias = uc($alias);
+# } elsif ($codeset == LOCALE_CODE_NUMERIC) {
+# $codeset = "num";
+# return undef if ($alias =~ /\D/);
+# $alias = sprintf("%.3d", $alias);
+# } else {
+# carp "rename_country(): unknown codeset\n" unless ($nowarn);
+# return 0;
+# }
+
+# # Check that $code exists in the codeset.
+
+# my ($id,$i);
+# if (exists $Data{$type}{'code2id'}{$codeset}{$code}) {
+# ($id,$i) = @{ $Data{$type}{'code2id'}{$codeset}{$code} };
+# } else {
+# carp "alias_code: attempt to alias \"$alias\" to unknown country code \"$code\"\n"
+# unless ($nowarn);
+# return 0;
+# }
+
+# # Cases:
+# # The alias already exists.
+# # Error
+# #
+# # It's new
+# # Create a new entry in Code2CountryID
+# # Replace the entiry in CountryID2Code
+# # Regenerate %Codes
+
+# if (exists $Data{$type}{'code2id'}{$codeset}{$alias}) {
+# carp "alias_code: attempt to alias \"$alias\" which is already in use\n"
+# unless ($nowarn);
+# return 0;
+# }
+
+# $Data{$type}{'code2id'}{$codeset}{$alias} = [ $id, $i ];
+# $Data{$type}{'id2names'}ID2Code{$codeset}{$id} = $alias;
+
+# my @codes = keys %{ $Data{$type}{'code2id'}{$codeset} };
+# $Locale::CountryCodes::Codes{$codeset} = [ sort @codes ];
+
+# return $alias;
+# }
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes.pod b/Master/tlpkg/tlperl/lib/Locale/Codes.pod
new file mode 100644
index 00000000000..1baa1e647ce
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes.pod
@@ -0,0 +1,540 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes - a distribution of modules to handle locale codes
+
+=head1 DESCRIPTION
+
+B<Locale::Codes> is a distribution containing a set of modules. The
+modules each deal with different types of codes which identify parts
+of the locale including languages, countries, currency, etc.
+
+Currently, the following modules are included:
+
+=over 4
+
+=item B<Locale::Country>
+
+This includes support for country codes (such as those listed in ISO-3166)
+to specify the country.
+
+=item B<Locale::Language>
+
+This includes support for language codes (such as those listed in ISO-639)
+to specify the language.
+
+=item B<Locale::Currency>
+
+This includes support for currency codes (such as those listed in ISO-4217)
+to specify the currency.
+
+=item B<Locale::Script>
+
+This includes support for script codes (such as those listed in ISO-15924)
+to specify the script.
+
+=back
+
+Each module can support an arbitrary number of code sets, and it it
+not required that the relationship between these code sets be
+one-to-one. For example, the Locale::Country module supports code
+sets from ISO-3166 and the FIPS 10 standard, and they do not break the
+world down into exactly the same sets of countries. This does not
+cause any problem (though converting codes from ISO-3166 to FIPS or
+back will not work except for countries that are one-to-one).
+
+All data in all of these modules comes directly from the original
+standards (or as close to direct as possible), so it should be
+up-to-date at the time of release.
+
+I plan on releasing a new version a couple of times a year to
+incorporate any changes made in the standards. However, I don't always
+know about changes that occur, so if any of the standards change, and
+you want a new release sooner, just email me and I'll get one out.
+
+=head1 NEW CODE SETS
+
+I'm always open to suggestions for new code sets.
+
+In order for me to add a code set, I want the following criteria
+to be met:
+
+=over 4
+
+=item B<General-use code set>
+
+If a code set is not general use, I'm not likely to spend the time
+to add and support it.
+
+=item B<An official source of data>
+
+I require an official (or at least, a NEARLY official) source where I
+can get the data on a regular basis.
+
+Ideally, I'd only get data from an official source, but sometimes that
+is not possible. For example the ISO standards are not typically
+available for free, so I may have to get some of that data from
+alternate sources that I'm confident are getting their data from the
+official source.
+
+As an example, I get some country data from the CIA World
+Factbook. Given the nature of the source, I'm sure they're updating
+data from the official sources and I consider it "nearly" official.
+
+There are many 3rd party sites which maintain lists (many of which are
+actually in a more convenient form than the official sites).
+Unfortunately, I will reject most of them since I have no feel for how
+"official" they are.
+
+=item B<A free source of the data>
+
+Obviously, the data must be free-of-charge. I'm not interested in
+paying for the data (and I'm not interested in the overhead of having
+someone else pay for the data for me).
+
+=item B<A reliable source of data>
+
+The source of data must come from a source that I can reasonably expect
+to exist for the foreseeable future since I will be extremely reluctant
+to drop support for a data set once it's included.
+
+I am also reluctant to accept data sent to me by an individual.
+Although I appreciate the offer, it is simply not practical to consider
+an individual contribution as a reliable source of data. The source
+should be an official agency of some sort.
+
+=back
+
+These requirements are open to discussion. If you have a code set
+you'd like to see added, but which may not meet all of the above
+requirements, feel free to email me and we'll discuss it. Depending
+on circumstances, I may be willing to waive some of these criteria.
+
+=head1 COMMON ALIASES
+
+As of version 2.00, the modules supported common variants of names.
+
+For example, Locale::Country supports variant names for countries, and
+a few of the most common ones are included in the data. The country
+code for "United States" is "us", so:
+
+ country2code('United States');
+ => "us"
+
+Now the following will also return 'us':
+
+ country2code('United States of America');
+ country2code('USA');
+
+Any number of common aliases may be included in the data, in addition
+to the names that come directly from the standards. If you have a
+common alias for a country, language, or any other of the types of
+codes, let me know and I'll add it, with some restrictions.
+
+For example, the country name "North Korea" never appeared in any of
+the official sources (instead, it was "Korea, North" or "Korea,
+Democratic People's Republic of". I would honor a request to add an
+alias "North Korea" since that's a very common way to specify the
+country (please don't request this... I've already added it).
+
+On the other hand, a request to add Zaire as an alias for "Congo, The
+Democratic Republic of" may not be honored. The country's official
+name is not Zaire, so adding it as an alias violates the standard.
+Zaire was kept as an alias in versions prior to 3.00, but it has been
+removed. Other aliases (if any) which no longer appear in any standard
+have also been removed.
+
+=head1 ROUTINES
+
+As of 3.10, the interface for all of the modules listed above are
+identical (as a matter of fact, they are all just wrappers around a
+central module which does all the real work).
+
+In order to maintain the documentation for the modules consistently,
+the functions are all documented here, rather than in the documentation
+for the separate modules.
+
+The name of the function depends on the module. For example, every module
+contains a function "code2XXX" where XXX refers to the type of data
+(country, language, currency, or script). So, the Locale::Country module
+contains the function code2country, the Locale::Language module contains
+the function code2language, etc.
+
+In all of the functions below, CODE refers to a code for one element in
+the code set. For example, in the two-letter country codes from ISO 3166-1,
+the code 'fi' is used to refer to the country Finland. CODE is always
+case insensitive (though when a code is returned, it will always be in
+the case as used in the standard), so 'fi', 'FI', and 'Fi' would all
+be equivalent.
+
+CODESET refers to a constant specified in the documentation for each
+module to label the various code sets. For example, in the
+Locale::Language module, CODESET could be LOCALE_CODE_ALPHA_2 or
+LOCALE_CODE_ALPHA_3 (among others). Most functions have a default one,
+so they do not need to be specified. So the following calls are valid:
+
+ code2country("fi");
+ code2country("fi",LOCALE_CODE_ALPHA_2);
+ code2country("fin",LOCALE_CODE_ALPHA_3);
+
+Since LOCALE_CODE_ALPHA_2 is the default code set, the first two are
+identical.
+
+=over 4
+
+=item B<code2country ( CODE [,CODESET] )>
+
+=item B<code2language( CODE [,CODESET] )>
+
+=item B<code2currency( CODE [,CODESET] )>
+
+=item B<code2script ( CODE [,CODESET] )>
+
+These functions take a code and returns a string which contains
+the name of the element identified. If the code is not a valid
+code in the CODESET specified then C<undef> will be returned.
+
+The name of the element is the name as specified in the standard,
+and as a result, different variations of an element name may
+be returned for different values of CODESET.
+
+For example, the B<alpha-2> country code set defines the two-letter
+code "bo" to be "Bolivia, Plurinational State of", whereas the
+B<alpha-3> code set defines the code 'bol' to be the country "Bolivia
+(Plurinational State of)". So:
+
+ code2country('bo',LOCALE_CODE_ALPHA_2);
+ => 'Bolivia, Plurinational State of'
+
+ code2country('bol',LOCALE_CODE_ALPHA_3);
+ => 'Bolivia (Plurinational State of)'
+
+=item B<country2code ( NAME [,CODESET] )>
+
+=item B<language2code( NAME [,CODESET] )>
+
+=item B<currency2code( NAME [,CODESET] )>
+
+=item B<script2code ( NAME [,CODESET] )>
+
+These functions takes the name of an element (or any of it's aliases)
+and returns the code that corresponds to it, if it exists. If NAME
+could not be identified as the name of one of the elements, then
+C<undef> will be returned.
+
+The name is not case sensitive. Also, any known variation of a name
+may be passed in.
+
+For example, even though the country name returned using
+LOCALE_CODE_ALPHA_2 and LOCALE_CODE_ALPHA_3 country codes for Bolivia is different,
+either country name may be passed in since for each code set, in addition to
+the alias 'Bolivia'. So:
+
+ country2code('Bolivia, Plurinational State of',
+ LOCALE_CODE_ALPHA_2);
+ => bo
+
+ country2code('Bolivia (Plurinational State of)',
+ LOCALE_CODE_ALPHA_2);
+ => bo
+
+ country2code('Bolivia',LOCALE_CODE_ALPHA_2);
+ => bo
+
+=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<language_code2code( CODE ,CODESET ,CODESET2 )>
+
+=item B<currency_code2code( CODE ,CODESET ,CODESET2 )>
+
+=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
+
+These functions takes a a code from one code set, and returns the
+corresponding code from another code set. CODE must exists in the code
+set specified by CODESET and must have a corresponding code in the
+code set specified by CODESET2 or C<undef> will be returned.
+
+Both CODESETs must be explicitly entered.
+
+ country_code2code('fin', LOCALE_CODE_ALPHA_3,
+ LOCALE_CODE_ALPHA_2);
+ => 'fi'
+
+=item B<all_country_codes ( [CODESET] )>
+
+=item B<all_language_codes( [CODESET] )>
+
+=item B<all_currency_codes( [CODESET] )>
+
+=item B<all_script_codes ( [CODESET] )>
+
+These returns a list of all code in the code set. The codes will be
+sorted.
+
+=item B<all_country_names ( [CODESET] )>
+
+=item B<all_language_names( [CODESET] )>
+
+=item B<all_currency_names( [CODESET] )>
+
+=item B<all_script_names ( [CODESET] )>
+
+These return a list of all elements names for which there is a
+corresponding code in the specified code set.
+
+The names returned are exactly as they are specified in the standard,
+and are sorted.
+
+Since not all elements are listed in all code sets, the list of
+elements may differ depending on the code set specified.
+
+=back
+
+=head1 SEMI-PRIVATE ROUTINES
+
+Additional semi-private routines which may be used to modify the
+internal data are also available. Given their status, they aren't
+exported, and so need to be called by prefixing the function name with
+the package name.
+
+=over 4
+
+=item B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Language::rename_language( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Currency::rename_currency( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>
+
+These routines are used to change the official name of an element. At
+that point, the name returned by the code2XXX routine would be
+NEW_NAME instead of the name specified in the standard.
+
+The original name will remain as an alias.
+
+For example, the official country name for code 'gb' is 'United
+Kingdom'. If you want to change that, you might call:
+
+ Locale::Country::rename_country('gb', 'Great Britain');
+
+This means that calling code2country('gb') will now return 'Great
+Britain' instead of 'United Kingdom'.
+
+If any error occurs, a warning is issued and 0 is returned. An error
+occurs if CODE doesn't exist in the specified code set, or if
+NEW_NAME is already in use but for a different element.
+
+If the routine succeeds, 1 is returned.
+
+=item B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Language::add_language( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Currency::add_currency( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>
+
+These routines are used to add a new code and name to the data.
+
+Both CODE and NAME must be unused in the data set or an error
+occurs (though NAME may be used in a different data set).
+
+For example, to create the fictitious country named "Duchy of
+Grand Fenwick" with codes "gf" and "fen", use the following:
+
+ Locale::Country::add_country("fe","Duchy of Grand Fenwick",
+ LOCALE_CODE_ALPHA_2);
+
+ Locale::Country::add_country("fen","Duchy of Grand Fenwick",
+ LOCALE_CODE_ALPHA_3);
+
+The return value is 1 on success, 0 on an error.
+
+=item B<Locale::Country::delete_country ( CODE [,CODESET] )>
+
+=item B<Locale::Language::delete_language( CODE [,CODESET] )>
+
+=item B<Locale::Currency::delete_currency( CODE [,CODESET] )>
+
+=item B<Locale::Script::delete_script ( CODE [,CODESET] )>
+
+These routines are used to delete a code from the data.
+
+CODE must refer to an existing code in the code set.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Language::add_language_alias( NAME ,NEW_NAME )>
+
+=item B<Locale::Currency::add_currency_alias( NAME ,NEW_NAME )>
+
+=item B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>
+
+These routines are used to add a new alias to the data. They do
+not alter the return value of the code2XXX function.
+
+NAME must be an existing element name, and NEW_NAME must
+be unused or an error occurs.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<Locale::Country::delete_country_alias ( NAME )>
+
+=item B<Locale::Language::delete_language_alias( NAME )>
+
+=item B<Locale::Currency::delete_currency_alias( NAME )>
+
+=item B<Locale::Script::delete_script_alias ( NAME )>
+
+These routines are used to delete an alias from the data. Once
+removed, the element may not be referred to by NAME.
+
+NAME must be one of a list of at least two names that may be used to
+specify an element. If the element may only be referred to by a single
+name, you'll need to use the add_XXX_alias function to add a new alias
+first, or the remove_XXX function to remove the element entirely.
+
+If the alias is used as the name in any code set, one of the other
+names will be used instead. Predicting exactly which one will
+be used requires you to know the order in which the standards
+were read, which is not reliable, so you may want to use the
+rename_XXX function to force one of the alternate names to be
+used.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Language::rename_language_code( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Currency::rename_currency_code( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>
+
+These routines are used to change the official code for an element. At
+that point, the code returned by the XXX2code routine would be
+NEW_CODE instead of the code specified in the standard.
+
+NEW_CODE may either be a code that is not in use, or it may be an
+alias for CODE (in which case, CODE becomes and alias and NEW_CODE
+becomes the "real" code).
+
+The original code is kept as an alias, so that the code2XXX routines
+will work with either the code from the standard or the new code.
+
+However, the all_XXX_codes routine will only return the codes which
+are considered "real" (which means that the list of codes will now
+contain NEW_CODE, but will not contain CODE).
+
+=item B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Language::add_language_code_alias( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Currency::add_currency_code_alias( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+These routines add an alias for the code. At that point, NEW_CODE and CODE
+will both work in the code2XXX routines. However, the XXX2code routines will
+still return the original code.
+
+=item B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>
+
+=item B<Locale::Language::delete_language_code_alias( CODE [,CODESET] )>
+
+=item B<Locale::Currency::delete_currency_code_alias( CODE [,CODESET] )>
+
+=item B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
+
+These routines delete an alias for the code.
+
+These will only work if CODE is actually an alias. If it is the "real"
+code, it will not be deleted. You will need to use the rename_XXX_code
+function to switch the real code with one of the aliases, and then
+delete the alias.
+
+=back
+
+=head1 KNOWN BUGS AND LIMITATIONS
+
+=over 4
+
+=item B<*>
+
+Because each code set uses a slightly different list of elements, and
+they are not necessarily one-to-one, there may be some confusion
+about the relationship between codes from different code sets.
+
+For example, ISO 3166 assigns one code to the country "United States
+Minor Outlying Islands", but the FIPS 10 codes give different codes
+to different islands (Baker Island, Howland Island, etc.).
+
+This may cause some confusion... I've done the best that I could do
+to minimize it.
+
+=item B<*>
+
+Currently all names must be all ASCII. I plan on relaxing that
+limitation in the future.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Constants>
+
+Constants for Locale codes.
+
+=item B<Locale::Country>
+
+Codes for identification of countries.
+
+=item B<Locale::Language>
+
+Codes for identification of languages.
+
+=item B<Locale::Script>
+
+Codes for identification of scripts.
+
+=item B<Locale::Currency>
+
+Codes for identification of currencies and funds.
+
+=back
+
+=head1 AUTHOR
+
+Locale::Country and Locale::Language were originally written by Neil
+Bowers at the Canon Research Centre Europe (CRE). They maintained the
+distribution from 1997 to 2001.
+
+Locale::Currency was originally written by Michael Hennecke.
+
+From 2001 to 2004, maintenance was continued by Neil Bowers. He
+modified Locale::Currency for inclusion in the distribution. He also
+added Locale::Constants and Locale::Script.
+
+From 2004-2009, the module was unmaintained.
+
+In 2010, maintenance was taken over by Sullivan Beck (sbeck@cpan.org)
+with Neil Bower's permission.
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001 Michael Hennecke (Locale::Currency)
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod
new file mode 100644
index 00000000000..b9850ad13e3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod
@@ -0,0 +1,171 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Changes - details important changes after 2.07
+
+=head1 3.10
+
+=over 4
+
+=item B<Changed XXX_code2code behavior slightly>
+
+In previous versions, passing in the same code set for both code set
+arguments would automatically return undef. For example:
+
+ country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
+ => undef
+
+This doesn't seem like reasonable behavior, so it has been changed
+to allow the same code set:
+
+ country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
+ => 'bo'
+
+Note that if an invalid code is passed in, undef will still be
+returned:
+
+ country_code2code('bol',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
+ => undef
+
+=item B<Added many semi-private routines>
+
+Previous versions had only two semi-private routines: rename_country
+and alias_code which had the ability to modify the internal data in
+a couple very limited ways. It was requested (in an anonymous posting
+by someone named Steve and also by Steve Hay) that better support
+for modifying internal data, so a full set of routines were added.
+
+The full set of routines includes:
+
+ rename_country
+ rename_language
+ rename_currency
+ rename_script
+
+ add_country
+ add_language
+ add_currency
+ add_script
+
+ delete_country
+ delete_language
+ delete_currency
+ delete_script
+
+ add_country_alias
+ add_language_alias
+ add_currency_alias
+ add_script_alias
+
+ delete_country_alias
+ delete_language_alias
+ delete_currency_alias
+ delete_script_alias
+
+ rename_country_code
+ rename_language_code
+ rename_currency_code
+ rename_script_code
+
+ add_country_code_alias
+ add_language_code_alias
+ add_currency_code_alias
+ add_script_code_alias
+
+ delete_country_code_alias
+ delete_language_code_alias
+ delete_currency_code_alias
+ delete_script_code_alias
+
+=back
+
+=head1 3.00
+
+=over 4
+
+=item B<New maintainer>
+
+From 1997 to 2004, Locale::Codes was maintained by Neil
+Bowers. Unfortunately, no updates were made from June 2004 to January
+2010. During that time, a number of changes have been made to the
+standards since then, so the data included was out-of-date.
+
+I contacted Neil to get his permission to assume maintenance of
+the module, and he kindly agreed.
+
+=item B<All codes are generated from standards>
+
+All of the values returned by the various functions are now values
+directly from the standards. This means that the values returned in
+the 2.xx series are not necessarily the same as the values returned
+here.
+
+As an example, the ISO 3166 standard which lists country codes refers
+to the country associated with the code "bo" as "Bolivia,
+Plurinational State of", so that is what is returned. In the 2.xx
+series, "Bolivia" was returned. Also, the country names vary from one
+standard to another. So the code "bol" which is maintained by the
+United Nations returns the name of the country as "Bolivia
+(Plurinational State of)". Some common aliases have been added, so you
+can still request a code associated with a county name "Bolivia".
+
+Since the data comes from the standards, some "incorrect" values are
+no longer supported. For example, 2.07 treated "Zaire" as an alias for
+"Congo", but the country changed it's name, and "Zaire" is not in the
+standard, so it has been dropped in 3.00.
+
+=item B<Added several code sets from standards>
+
+I've added the following code sets:
+
+ FIPS 10 country codes
+ Alpha-3 and Term language codes
+ Numeric currency codes
+
+=item B<Locale::Script changed>
+
+In 2.xx, Locale::Script assigned scripts to country codes, which is NOT
+how it is done currently in the standards. It appears that an older version
+of ISO 15924 did this, but I haven't found an old version to confirm
+that, and in any case, that is not the case in the current standards.
+
+As a result, the Locale::Script module is completely incompatible with
+the 2.xx version with respect to the types of codes it supports. None of
+the old codes will work.
+
+=item B<Added missing functions>
+
+I've added in some functions which were "missing" previously (since there was
+only one set of codes supported, the code2code functions didn't apply):
+
+ language_code2code
+ currency_code2code
+
+so the interfaces for each type of codes are consistent.
+
+=item B<Dropped support for _alias_code>
+
+In Locale::Country, _alias_code was an allowed, but deprecated function
+which was documented to be supported in the 2.xx series. I've removed it.
+
+=back
+
+=head1 SEE ALSO
+
+Locale::Codes
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2010-2011 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
new file mode 100644
index 00000000000..1ec5dcd8aae
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
@@ -0,0 +1,9690 @@
+package Locale::Codes::Country;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Tue Mar 1 13:37:25 EST 2011
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Country - country codes for the Locale::Country module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Country module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.16';
+
+$Locale::Codes::Data{'country'}{'id'} = '0281';
+
+$Locale::Codes::Data{'country'}{'id2names'} = {
+ q(0001) => [
+ q(Afghanistan),
+ q(Islamic State of Afghanistan),
+ ],
+ q(0002) => [
+ q(Aland Islands),
+ ],
+ q(0003) => [
+ q(Albania),
+ q(Republic of Albania),
+ ],
+ q(0004) => [
+ q(Algeria),
+ q(People's Democratic Republic of Algeria),
+ ],
+ q(0005) => [
+ q(American Samoa),
+ q(Territory of American Samoa),
+ ],
+ q(0006) => [
+ q(Andorra),
+ q(Principality of Andorra),
+ ],
+ q(0007) => [
+ q(Angola),
+ q(Republic of Angola),
+ ],
+ q(0008) => [
+ q(Anguilla),
+ ],
+ q(0009) => [
+ q(Antarctica),
+ ],
+ q(0010) => [
+ q(Antigua and Barbuda),
+ ],
+ q(0011) => [
+ q(Argentina),
+ q(Argentine Republic),
+ ],
+ q(0012) => [
+ q(Armenia),
+ q(Republic of Armenia),
+ ],
+ q(0013) => [
+ q(Aruba),
+ ],
+ q(0014) => [
+ q(Australia),
+ q(Commonwealth of Australia),
+ ],
+ q(0015) => [
+ q(Austria),
+ q(Republic of Austria),
+ ],
+ q(0016) => [
+ q(Azerbaijan),
+ q(Republic of Azerbaijan),
+ ],
+ q(0017) => [
+ q(Bahamas),
+ q(Bahamas, The),
+ q(Commonwealth of the Bahamas),
+ q(The Bahamas),
+ ],
+ q(0018) => [
+ q(Bahrain),
+ q(State of Bahrain),
+ ],
+ q(0019) => [
+ q(Bangladesh),
+ q(People's Republic of Bangladesh),
+ ],
+ q(0020) => [
+ q(Barbados),
+ ],
+ q(0021) => [
+ q(Belarus),
+ q(Republic of Belarus),
+ ],
+ q(0022) => [
+ q(Belgium),
+ q(Kingdom of Belgium),
+ ],
+ q(0023) => [
+ q(Belize),
+ ],
+ q(0024) => [
+ q(Benin),
+ q(Republic of Benin),
+ ],
+ q(0025) => [
+ q(Bermuda),
+ ],
+ q(0026) => [
+ q(Bhutan),
+ q(Kingdom of Bhutan),
+ ],
+ q(0027) => [
+ q(Bolivia, Plurinational State of),
+ q(Bolivia (Plurinational State of)),
+ q(Bolivia),
+ q(Republic of Bolivia),
+ ],
+ q(0028) => [
+ q(Bonaire, Saint Eustatius and Saba),
+ ],
+ q(0029) => [
+ q(Bosnia and Herzegovina),
+ ],
+ q(0030) => [
+ q(Botswana),
+ q(Republic of Botswana),
+ ],
+ q(0031) => [
+ q(Bouvet Island),
+ ],
+ q(0032) => [
+ q(Brazil),
+ q(Federative Republic of Brazil),
+ ],
+ q(0033) => [
+ q(British Indian Ocean Territory),
+ ],
+ q(0034) => [
+ q(Brunei Darussalam),
+ q(Brunei),
+ q(Negara Brunei Darussalam),
+ ],
+ q(0035) => [
+ q(Bulgaria),
+ ],
+ q(0036) => [
+ q(Burkina Faso),
+ ],
+ q(0037) => [
+ q(Burundi),
+ q(Republic of Burundi),
+ ],
+ q(0038) => [
+ q(Cambodia),
+ q(Kingdom of Cambodia),
+ ],
+ q(0039) => [
+ q(Cameroon),
+ q(Republic of Cameroon),
+ ],
+ q(0040) => [
+ q(Canada),
+ ],
+ q(0041) => [
+ q(Cape Verde),
+ q(Republic of Cape Verde),
+ ],
+ q(0042) => [
+ q(Cayman Islands),
+ ],
+ q(0043) => [
+ q(Central African Republic),
+ ],
+ q(0044) => [
+ q(Chad),
+ q(Republic of Chad),
+ ],
+ q(0045) => [
+ q(Chile),
+ q(Republic of Chile),
+ ],
+ q(0046) => [
+ q(China),
+ q(People's Republic of China),
+ ],
+ q(0047) => [
+ q(Christmas Island),
+ q(Territory of Christmas Island),
+ ],
+ q(0048) => [
+ q(Cocos (Keeling) Islands),
+ q(Territory of Cocos (Keeling) Islands),
+ q(Keeling Islands),
+ q(Cocos Islands),
+ ],
+ q(0049) => [
+ q(Colombia),
+ q(Republic of Colombia),
+ ],
+ q(0050) => [
+ q(Comoros),
+ q(Federal Islamic Republic of the Comoros),
+ ],
+ q(0051) => [
+ q(Congo),
+ q(Congo (Brazzaville)),
+ q(Republic of the Congo),
+ q(Congo, Republic of the),
+ q(The Republic of the Congo),
+ ],
+ q(0052) => [
+ q(Congo, The Democratic Republic of the),
+ q(Democratic Republic of the Congo),
+ q(Congo (Kinshasa)),
+ q(Congo, Democratic Republic of the),
+ q(The Democratic Republic of the Congo),
+ ],
+ q(0053) => [
+ q(Cook Islands),
+ ],
+ q(0054) => [
+ q(Costa Rica),
+ q(Republic of Costa Rica),
+ ],
+ q(0055) => [
+ q(Cote d'Ivoire),
+ q(Republic of Cote D'Ivoire),
+ ],
+ q(0056) => [
+ q(Croatia),
+ q(Republic of Croatia),
+ ],
+ q(0057) => [
+ q(Cuba),
+ q(Republic of Cuba),
+ ],
+ q(0058) => [
+ q(Curacao),
+ ],
+ q(0059) => [
+ q(Cyprus),
+ q(Republic of Cyprus),
+ ],
+ q(0060) => [
+ q(Czech Republic),
+ ],
+ q(0061) => [
+ q(Denmark),
+ q(Kingdom of Denmark),
+ ],
+ q(0062) => [
+ q(Djibouti),
+ q(Republic of Djibouti),
+ ],
+ q(0063) => [
+ q(Dominica),
+ q(Commonwealth of Dominica),
+ ],
+ q(0064) => [
+ q(Dominican Republic),
+ ],
+ q(0065) => [
+ q(Ecuador),
+ q(Republic of Ecuador),
+ ],
+ q(0066) => [
+ q(Egypt),
+ q(Arab Republic of Egypt),
+ ],
+ q(0067) => [
+ q(El Salvador),
+ q(Republic of El Salvador),
+ ],
+ q(0068) => [
+ q(Equatorial Guinea),
+ q(Republic of Equatorial Guinea),
+ ],
+ q(0069) => [
+ q(Eritrea),
+ q(State of Eritrea),
+ ],
+ q(0070) => [
+ q(Estonia),
+ q(Republic of Estonia),
+ ],
+ q(0071) => [
+ q(Ethiopia),
+ q(Federal Democratic Republic of Ethiopia),
+ ],
+ q(0072) => [
+ q(Falkland Islands (Malvinas)),
+ q(Falkland Islands (Islas Malvinas)),
+ ],
+ q(0073) => [
+ q(Faroe Islands),
+ q(Faeroe Islands),
+ ],
+ q(0074) => [
+ q(Fiji),
+ q(Republic of the Fiji Islands),
+ ],
+ q(0075) => [
+ q(Finland),
+ q(Republic of Finland),
+ ],
+ q(0076) => [
+ q(France),
+ q(French Republic),
+ ],
+ q(0077) => [
+ q(French Guiana),
+ q(Department of Guiana),
+ ],
+ q(0078) => [
+ q(French Polynesia),
+ q(Territory of French Polynesia),
+ ],
+ q(0079) => [
+ q(French Southern Territories),
+ q(French Southern and Antarctic Lands),
+ q(Territory of the French Southern and Antarctic Lands),
+ ],
+ q(0080) => [
+ q(Gabon),
+ q(Gabonese Republic),
+ ],
+ q(0081) => [
+ q(Gambia),
+ q(Gambia, The),
+ q(Republic of the Gambia),
+ ],
+ q(0082) => [
+ q(Georgia),
+ ],
+ q(0083) => [
+ q(Germany),
+ q(Federal Republic of Germany),
+ ],
+ q(0084) => [
+ q(Ghana),
+ q(Republic of Ghana),
+ ],
+ q(0085) => [
+ q(Gibraltar),
+ ],
+ q(0086) => [
+ q(Greece),
+ q(Hellenic Republic),
+ ],
+ q(0087) => [
+ q(Greenland),
+ ],
+ q(0088) => [
+ q(Grenada),
+ ],
+ q(0089) => [
+ q(Guadeloupe),
+ q(Department of Guadeloupe),
+ ],
+ q(0090) => [
+ q(Guam),
+ q(Territory of Guam),
+ ],
+ q(0091) => [
+ q(Guatemala),
+ q(Republic of Guatemala),
+ ],
+ q(0092) => [
+ q(Guernsey),
+ q(Bailiwick of Guernsey),
+ ],
+ q(0093) => [
+ q(Guinea),
+ q(Republic of Guinea),
+ ],
+ q(0094) => [
+ q(Guinea-Bissau),
+ q(Republic of Guinea-Bissau),
+ ],
+ q(0095) => [
+ q(Guyana),
+ q(Co-operative Republic of Guyana),
+ ],
+ q(0096) => [
+ q(Haiti),
+ q(Republic of Haiti),
+ ],
+ q(0097) => [
+ q(Heard Island and Mcdonald Islands),
+ q(Territory of Heard Island and McDonald Islands),
+ ],
+ q(0098) => [
+ q(Holy See (Vatican City State)),
+ q(Holy See),
+ q(Vatican City),
+ q(State of the Vatican City),
+ q(Holy See (Vatican City)),
+ ],
+ q(0099) => [
+ q(Honduras),
+ q(Republic of Honduras),
+ ],
+ q(0100) => [
+ q(Hong Kong),
+ q(China, Hong Kong Special Administrative Region),
+ q(Hong Kong S.A.R.),
+ q(Hong Kong Special Administrative Region),
+ q(Hong Kong Special Administrative Region of China),
+ ],
+ q(0101) => [
+ q(Hungary),
+ q(Republic of Hungary),
+ ],
+ q(0102) => [
+ q(Iceland),
+ q(Republic of Iceland),
+ ],
+ q(0103) => [
+ q(India),
+ q(Republic of India),
+ ],
+ q(0104) => [
+ q(Indonesia),
+ q(Republic of Indonesia),
+ ],
+ q(0105) => [
+ q(Iran, Islamic Republic of),
+ q(Iran (Islamic Republic of)),
+ q(Iran),
+ q(Islamic Republic of Iran),
+ ],
+ q(0106) => [
+ q(Iraq),
+ q(Republic of Iraq),
+ ],
+ q(0107) => [
+ q(Ireland),
+ ],
+ q(0108) => [
+ q(Isle of Man),
+ ],
+ q(0109) => [
+ q(Israel),
+ q(State of Israel),
+ ],
+ q(0110) => [
+ q(Italy),
+ q(Italian Republic),
+ ],
+ q(0111) => [
+ q(Jamaica),
+ ],
+ q(0112) => [
+ q(Japan),
+ ],
+ q(0113) => [
+ q(Jersey),
+ q(Bailiwick of Jersey),
+ ],
+ q(0114) => [
+ q(Jordan),
+ q(Hashemite Kingdom of Jordan),
+ ],
+ q(0115) => [
+ q(Kazakhstan),
+ q(Republic of Kazakhstan),
+ q(Kazakstan),
+ ],
+ q(0116) => [
+ q(Kenya),
+ q(Republic of Kenya),
+ ],
+ q(0117) => [
+ q(Kiribati),
+ q(Republic of Kiribati),
+ ],
+ q(0118) => [
+ q(Korea, Democratic People's Republic of),
+ q(Democratic People's Republic of Korea),
+ q(Korea, North),
+ q(North Korea),
+ ],
+ q(0119) => [
+ q(Korea, Republic of),
+ q(Republic of Korea),
+ q(Korea, South),
+ q(South Korea),
+ ],
+ q(0120) => [
+ q(Kuwait),
+ q(State of Kuwait),
+ ],
+ q(0121) => [
+ q(Kyrgyzstan),
+ q(Kyrgyz Republic),
+ ],
+ q(0122) => [
+ q(Lao People's Democratic Republic),
+ q(Laos),
+ ],
+ q(0123) => [
+ q(Latvia),
+ q(Republic of Latvia),
+ ],
+ q(0124) => [
+ q(Lebanon),
+ q(Lebanese Republic),
+ ],
+ q(0125) => [
+ q(Lesotho),
+ q(Republic of Lesotho),
+ ],
+ q(0126) => [
+ q(Liberia),
+ q(Republic of Liberia),
+ ],
+ q(0127) => [
+ q(Libyan Arab Jamahiriya),
+ q(Libya),
+ q(Great Socialist People's Libyan Arab Jamahiriya),
+ ],
+ q(0128) => [
+ q(Liechtenstein),
+ q(Principality of Liechtenstein),
+ ],
+ q(0129) => [
+ q(Lithuania),
+ q(Republic of Lithuania),
+ ],
+ q(0130) => [
+ q(Luxembourg),
+ q(Grand Duchy of Luxembourg),
+ ],
+ q(0131) => [
+ q(Macao),
+ q(China, Macao Special Administrative Region),
+ q(Macau S.A.R),
+ q(Macau Special Administrative Region),
+ q(Macau),
+ q(Macau S.A.R.),
+ q(Macao Special Administrative Region of China),
+ ],
+ q(0132) => [
+ q(Macedonia, The Former Yugoslav Republic of),
+ q(The former Yugoslav Republic of Macedonia),
+ q(Macedonia),
+ q(Republic of Macedonia),
+ q(Macedonia, Former Yugoslav Republic of),
+ ],
+ q(0133) => [
+ q(Madagascar),
+ q(Republic of Madagascar),
+ ],
+ q(0134) => [
+ q(Malawi),
+ q(Republic of Malawi),
+ ],
+ q(0135) => [
+ q(Malaysia),
+ ],
+ q(0136) => [
+ q(Maldives),
+ q(Republic of Maldives),
+ ],
+ q(0137) => [
+ q(Mali),
+ q(Republic of Mali),
+ ],
+ q(0138) => [
+ q(Malta),
+ q(Republic of Malta),
+ ],
+ q(0139) => [
+ q(Marshall Islands),
+ q(Republic of the Marshall Islands),
+ ],
+ q(0140) => [
+ q(Martinique),
+ q(Department of Martinique),
+ ],
+ q(0141) => [
+ q(Mauritania),
+ q(Islamic Republic of Mauritania),
+ ],
+ q(0142) => [
+ q(Mauritius),
+ q(Republic of Mauritius),
+ ],
+ q(0143) => [
+ q(Mayotte),
+ q(Territorial Collectivity of Mayotte),
+ ],
+ q(0144) => [
+ q(Mexico),
+ q(United Mexican States),
+ ],
+ q(0145) => [
+ q(Micronesia, Federated States of),
+ q(Micronesia (Federated States of)),
+ q(Federated States of Micronesia),
+ ],
+ q(0146) => [
+ q(Moldova, Republic of),
+ q(Republic of Moldova),
+ q(Moldova),
+ ],
+ q(0147) => [
+ q(Monaco),
+ q(Principality of Monaco),
+ ],
+ q(0148) => [
+ q(Mongolia),
+ ],
+ q(0149) => [
+ q(Montenegro),
+ ],
+ q(0150) => [
+ q(Montserrat),
+ ],
+ q(0151) => [
+ q(Morocco),
+ q(Kingdom of Morocco),
+ ],
+ q(0152) => [
+ q(Mozambique),
+ q(Republic of Mozambique),
+ ],
+ q(0153) => [
+ q(Myanmar),
+ q(Burma),
+ q(Union of Burma),
+ ],
+ q(0154) => [
+ q(Namibia),
+ q(Republic of Namibia),
+ ],
+ q(0155) => [
+ q(Nauru),
+ q(Republic of Nauru),
+ ],
+ q(0156) => [
+ q(Nepal),
+ q(Kingdom of Nepal),
+ ],
+ q(0157) => [
+ q(Netherlands),
+ q(Kingdom of the Netherlands),
+ ],
+ q(0158) => [
+ q(New Caledonia),
+ q(Territory of New Caledonia and Dependencies),
+ ],
+ q(0159) => [
+ q(New Zealand),
+ ],
+ q(0160) => [
+ q(Nicaragua),
+ q(Republic of Nicaragua),
+ ],
+ q(0161) => [
+ q(Niger),
+ q(Republic of Niger),
+ ],
+ q(0162) => [
+ q(Nigeria),
+ q(Federal Republic of Nigeria),
+ ],
+ q(0163) => [
+ q(Niue),
+ ],
+ q(0164) => [
+ q(Norfolk Island),
+ q(Territory of Norfolk Island),
+ ],
+ q(0165) => [
+ q(Northern Mariana Islands),
+ q(Commonwealth of the Northern Mariana Islands),
+ ],
+ q(0166) => [
+ q(Norway),
+ q(Kingdom of Norway),
+ ],
+ q(0167) => [
+ q(Oman),
+ q(Sultanate of Oman),
+ ],
+ q(0168) => [
+ q(Pakistan),
+ q(Islamic Republic of Pakistan),
+ ],
+ q(0169) => [
+ q(Palau),
+ q(Republic of Palau),
+ ],
+ q(0170) => [
+ q(Palestinian Territory, Occupied),
+ q(Occupied Palestinian Territory),
+ ],
+ q(0171) => [
+ q(Panama),
+ q(Republic of Panama),
+ ],
+ q(0172) => [
+ q(Papua New Guinea),
+ q(Independent State of Papua New Guinea),
+ ],
+ q(0173) => [
+ q(Paraguay),
+ q(Republic of Paraguay),
+ ],
+ q(0174) => [
+ q(Peru),
+ q(Republic of Peru),
+ ],
+ q(0175) => [
+ q(Philippines),
+ q(Republic of the Philippines),
+ ],
+ q(0176) => [
+ q(Pitcairn),
+ q(Pitcairn Islands),
+ q(Pitcairn, Henderson, Ducie and Oeno Islands),
+ q(Pitcairn Island),
+ ],
+ q(0177) => [
+ q(Poland),
+ q(Republic of Poland),
+ ],
+ q(0178) => [
+ q(Portugal),
+ q(Portuguese Republic),
+ ],
+ q(0179) => [
+ q(Puerto Rico),
+ q(Commonwealth of Puerto Rico),
+ ],
+ q(0180) => [
+ q(Qatar),
+ q(State of Qatar),
+ ],
+ q(0181) => [
+ q(Reunion),
+ q(Department of Reunion),
+ ],
+ q(0182) => [
+ q(Romania),
+ ],
+ q(0183) => [
+ q(Russian Federation),
+ q(Russia),
+ ],
+ q(0184) => [
+ q(Rwanda),
+ q(Rwandese Republic),
+ ],
+ q(0185) => [
+ q(Saint Barthelemy),
+ q(Saint-Barthelemy),
+ ],
+ q(0186) => [
+ q(Saint Helena, Ascension and Tristan da Cunha),
+ q(Saint Helena),
+ ],
+ q(0187) => [
+ q(Saint Kitts and Nevis),
+ q(Federation of Saint Kitts and Nevis),
+ ],
+ q(0188) => [
+ q(Saint Lucia),
+ ],
+ q(0189) => [
+ q(Saint Martin (French part)),
+ q(Saint-Martin (French part)),
+ q(Saint Martin),
+ q(Saint-Martin),
+ ],
+ q(0190) => [
+ q(Saint Pierre and Miquelon),
+ q(Territorial Collectivity of Saint Pierre and Miquelon),
+ ],
+ q(0191) => [
+ q(Saint Vincent and the Grenadines),
+ ],
+ q(0192) => [
+ q(Samoa),
+ q(Independent State of Samoa),
+ ],
+ q(0193) => [
+ q(San Marino),
+ q(Republic of San Marino),
+ ],
+ q(0194) => [
+ q(Sao Tome and Principe),
+ q(Democratic Republic of Sao Tome and Principe),
+ ],
+ q(0195) => [
+ q(Saudi Arabia),
+ q(Kingdom of Saudi Arabia),
+ ],
+ q(0196) => [
+ q(Senegal),
+ q(Republic of Senegal),
+ ],
+ q(0197) => [
+ q(Serbia),
+ ],
+ q(0198) => [
+ q(Seychelles),
+ q(Republic of Seychelles),
+ ],
+ q(0199) => [
+ q(Sierra Leone),
+ q(Republic of Sierra Leone),
+ ],
+ q(0200) => [
+ q(Singapore),
+ q(Republic of Singapore),
+ ],
+ q(0201) => [
+ q(Sint Maarten (Dutch part)),
+ q(Sint Maarten),
+ ],
+ q(0202) => [
+ q(Slovakia),
+ q(Slovak Republic),
+ ],
+ q(0203) => [
+ q(Slovenia),
+ q(Republic of Slovenia),
+ ],
+ q(0204) => [
+ q(Solomon Islands),
+ ],
+ q(0205) => [
+ q(Somalia),
+ ],
+ q(0206) => [
+ q(South Africa),
+ q(Republic of South Africa),
+ ],
+ q(0207) => [
+ q(South Georgia and the South Sandwich Islands),
+ q(South Georgia and the Islands),
+ ],
+ q(0208) => [
+ q(Spain),
+ q(Kingdom of Spain),
+ ],
+ q(0209) => [
+ q(Sri Lanka),
+ q(Democratic Socialist Republic of Sri Lanka),
+ ],
+ q(0210) => [
+ q(Sudan),
+ q(Republic of the Sudan),
+ ],
+ q(0211) => [
+ q(Suriname),
+ q(Republic of Suriname),
+ ],
+ q(0212) => [
+ q(Svalbard and Jan Mayen),
+ q(Svalbard and Jan Mayen Islands),
+ ],
+ q(0213) => [
+ q(Swaziland),
+ q(Kingdom of Swaziland),
+ ],
+ q(0214) => [
+ q(Sweden),
+ q(Kingdom of Sweden),
+ ],
+ q(0215) => [
+ q(Switzerland),
+ q(Swiss Confederation),
+ ],
+ q(0216) => [
+ q(Syrian Arab Republic),
+ q(Syria),
+ q(Golan Heights (Israeli-occupied)),
+ ],
+ q(0217) => [
+ q(Taiwan, Province of China),
+ q(Taiwan),
+ ],
+ q(0218) => [
+ q(Tajikistan),
+ q(Republic of Tajikistan),
+ ],
+ q(0219) => [
+ q(Tanzania, United Republic of),
+ q(United Republic of Tanzania),
+ q(Tanzania),
+ ],
+ q(0220) => [
+ q(Thailand),
+ q(Kingdom of Thailand),
+ ],
+ q(0221) => [
+ q(Timor-Leste),
+ q(East Timor),
+ ],
+ q(0222) => [
+ q(Togo),
+ q(Togolese Republic),
+ ],
+ q(0223) => [
+ q(Tokelau),
+ ],
+ q(0224) => [
+ q(Tonga),
+ q(Kingdom of Tonga),
+ ],
+ q(0225) => [
+ q(Trinidad and Tobago),
+ q(Republic of Trinidad and Tobago),
+ ],
+ q(0226) => [
+ q(Tunisia),
+ q(Republic of Tunisia),
+ ],
+ q(0227) => [
+ q(Turkey),
+ q(Republic of Turkey),
+ ],
+ q(0228) => [
+ q(Turkmenistan),
+ ],
+ q(0229) => [
+ q(Turks and Caicos Islands),
+ ],
+ q(0230) => [
+ q(Tuvalu),
+ ],
+ q(0231) => [
+ q(Uganda),
+ ],
+ q(0232) => [
+ q(Ukraine),
+ ],
+ q(0233) => [
+ q(United Arab Emirates),
+ ],
+ q(0234) => [
+ q(United Kingdom),
+ q(United Kingdom of Great Britain and Northern Ireland),
+ q(Great Britain),
+ q(UK),
+ ],
+ q(0235) => [
+ q(United States),
+ q(United States of America),
+ q(US),
+ q(USA),
+ ],
+ q(0236) => [
+ q(United States Minor Outlying Islands),
+ ],
+ q(0237) => [
+ q(Uruguay),
+ q(Oriental Republic of Uruguay),
+ ],
+ q(0238) => [
+ q(Uzbekistan),
+ q(Republic of Uzbekistan),
+ ],
+ q(0239) => [
+ q(Vanuatu),
+ q(Republic of Vanuatu),
+ ],
+ q(0240) => [
+ q(Venezuela, Bolivarian Republic of),
+ q(Venezuela (Bolivarian Republic of)),
+ q(Venezuela),
+ q(Bolivarian Republic of Venezuela),
+ ],
+ q(0241) => [
+ q(Viet Nam),
+ q(Vietnam),
+ q(Socialist Republic of Vietnam),
+ ],
+ q(0242) => [
+ q(Virgin Islands, British),
+ q(British Virgin Islands),
+ q(Virgin Islands (UK)),
+ ],
+ q(0243) => [
+ q(Virgin Islands, U.S.),
+ q(United States Virgin Islands),
+ q(Virgin Islands),
+ q(Virgin Islands of the United States),
+ q(Virgin Islands (US)),
+ ],
+ q(0244) => [
+ q(Wallis and Futuna),
+ q(Wallis and Futuna Islands),
+ q(Territory of the Wallis and Futuna Islands),
+ ],
+ q(0245) => [
+ q(Western Sahara),
+ ],
+ q(0246) => [
+ q(Yemen),
+ q(Republic of Yemen),
+ ],
+ q(0247) => [
+ q(Zambia),
+ q(Republic of Zambia),
+ ],
+ q(0248) => [
+ q(Zimbabwe),
+ q(Republic of Zimbabwe),
+ ],
+ q(0249) => [
+ q(Channel Islands),
+ ],
+ q(0250) => [
+ q(Serbia and Montenegro),
+ ],
+ q(0251) => [
+ q(Ashmore and Cartier Islands),
+ q(Territory of Ashmore and Cartier Islands),
+ ],
+ q(0252) => [
+ q(Baker Island),
+ ],
+ q(0253) => [
+ q(Bassas da India),
+ ],
+ q(0254) => [
+ q(Clipperton Island),
+ ],
+ q(0255) => [
+ q(Coral Sea Islands),
+ q(Coral Sea Islands Territory),
+ ],
+ q(0256) => [
+ q(Europa Island),
+ ],
+ q(0257) => [
+ q(Gaza Strip),
+ ],
+ q(0258) => [
+ q(Glorioso Islands),
+ ],
+ q(0259) => [
+ q(Howland Island),
+ ],
+ q(0260) => [
+ q(Jan Mayen),
+ ],
+ q(0261) => [
+ q(Jarvis Island),
+ ],
+ q(0262) => [
+ q(Johnston Atoll),
+ ],
+ q(0263) => [
+ q(Juan De Nova Island),
+ ],
+ q(0264) => [
+ q(Kingman Reef),
+ ],
+ q(0265) => [
+ q(Midway Islands),
+ ],
+ q(0266) => [
+ q(Navassa Island),
+ ],
+ q(0267) => [
+ q(Netherlands Antilles),
+ ],
+ q(0268) => [
+ q(Palmyra Atoll),
+ ],
+ q(0269) => [
+ q(Paracel Islands),
+ ],
+ q(0270) => [
+ q(Spratly Islands),
+ ],
+ q(0271) => [
+ q(Svalbard),
+ ],
+ q(0272) => [
+ q(Tromelin Island),
+ ],
+ q(0273) => [
+ q(Wake Atoll),
+ q(Wake Island),
+ ],
+ q(0274) => [
+ q(West Bank),
+ ],
+ q(0275) => [
+ q(Ascension Island),
+ ],
+ q(0276) => [
+ q(European Union),
+ ],
+ q(0277) => [
+ q(Soviet Union),
+ ],
+ q(0278) => [
+ q(Portuguese Timor),
+ ],
+ q(0279) => [
+ q(France, Metropolitan),
+ ],
+ q(0280) => [
+ q(Kosovo),
+ ],
+};
+
+$Locale::Codes::Data{'country'}{'alias2id'} = {
+ q(afghanistan) => [
+ q(0001),
+ q(0),
+ ],
+ q(aland islands) => [
+ q(0002),
+ q(0),
+ ],
+ q(albania) => [
+ q(0003),
+ q(0),
+ ],
+ q(algeria) => [
+ q(0004),
+ q(0),
+ ],
+ q(american samoa) => [
+ q(0005),
+ q(0),
+ ],
+ q(andorra) => [
+ q(0006),
+ q(0),
+ ],
+ q(angola) => [
+ q(0007),
+ q(0),
+ ],
+ q(anguilla) => [
+ q(0008),
+ q(0),
+ ],
+ q(antarctica) => [
+ q(0009),
+ q(0),
+ ],
+ q(antigua and barbuda) => [
+ q(0010),
+ q(0),
+ ],
+ q(arab republic of egypt) => [
+ q(0066),
+ q(1),
+ ],
+ q(argentina) => [
+ q(0011),
+ q(0),
+ ],
+ q(argentine republic) => [
+ q(0011),
+ q(1),
+ ],
+ q(armenia) => [
+ q(0012),
+ q(0),
+ ],
+ q(aruba) => [
+ q(0013),
+ q(0),
+ ],
+ q(ascension island) => [
+ q(0275),
+ q(0),
+ ],
+ q(ashmore and cartier islands) => [
+ q(0251),
+ q(0),
+ ],
+ q(australia) => [
+ q(0014),
+ q(0),
+ ],
+ q(austria) => [
+ q(0015),
+ q(0),
+ ],
+ q(azerbaijan) => [
+ q(0016),
+ q(0),
+ ],
+ q(bahamas) => [
+ q(0017),
+ q(0),
+ ],
+ q(bahamas, the) => [
+ q(0017),
+ q(1),
+ ],
+ q(bahrain) => [
+ q(0018),
+ q(0),
+ ],
+ q(bailiwick of guernsey) => [
+ q(0092),
+ q(1),
+ ],
+ q(bailiwick of jersey) => [
+ q(0113),
+ q(1),
+ ],
+ q(baker island) => [
+ q(0252),
+ q(0),
+ ],
+ q(bangladesh) => [
+ q(0019),
+ q(0),
+ ],
+ q(barbados) => [
+ q(0020),
+ q(0),
+ ],
+ q(bassas da india) => [
+ q(0253),
+ q(0),
+ ],
+ q(belarus) => [
+ q(0021),
+ q(0),
+ ],
+ q(belgium) => [
+ q(0022),
+ q(0),
+ ],
+ q(belize) => [
+ q(0023),
+ q(0),
+ ],
+ q(benin) => [
+ q(0024),
+ q(0),
+ ],
+ q(bermuda) => [
+ q(0025),
+ q(0),
+ ],
+ q(bhutan) => [
+ q(0026),
+ q(0),
+ ],
+ q(bolivarian republic of venezuela) => [
+ q(0240),
+ q(3),
+ ],
+ q(bolivia) => [
+ q(0027),
+ q(2),
+ ],
+ q(bolivia (plurinational state of)) => [
+ q(0027),
+ q(1),
+ ],
+ q(bolivia, plurinational state of) => [
+ q(0027),
+ q(0),
+ ],
+ q(bonaire, saint eustatius and saba) => [
+ q(0028),
+ q(0),
+ ],
+ q(bosnia and herzegovina) => [
+ q(0029),
+ q(0),
+ ],
+ q(botswana) => [
+ q(0030),
+ q(0),
+ ],
+ q(bouvet island) => [
+ q(0031),
+ q(0),
+ ],
+ q(brazil) => [
+ q(0032),
+ q(0),
+ ],
+ q(british indian ocean territory) => [
+ q(0033),
+ q(0),
+ ],
+ q(british virgin islands) => [
+ q(0242),
+ q(1),
+ ],
+ q(brunei) => [
+ q(0034),
+ q(1),
+ ],
+ q(brunei darussalam) => [
+ q(0034),
+ q(0),
+ ],
+ q(bulgaria) => [
+ q(0035),
+ q(0),
+ ],
+ q(burkina faso) => [
+ q(0036),
+ q(0),
+ ],
+ q(burma) => [
+ q(0153),
+ q(1),
+ ],
+ q(burundi) => [
+ q(0037),
+ q(0),
+ ],
+ q(cambodia) => [
+ q(0038),
+ q(0),
+ ],
+ q(cameroon) => [
+ q(0039),
+ q(0),
+ ],
+ q(canada) => [
+ q(0040),
+ q(0),
+ ],
+ q(cape verde) => [
+ q(0041),
+ q(0),
+ ],
+ q(cayman islands) => [
+ q(0042),
+ q(0),
+ ],
+ q(central african republic) => [
+ q(0043),
+ q(0),
+ ],
+ q(chad) => [
+ q(0044),
+ q(0),
+ ],
+ q(channel islands) => [
+ q(0249),
+ q(0),
+ ],
+ q(chile) => [
+ q(0045),
+ q(0),
+ ],
+ q(china) => [
+ q(0046),
+ q(0),
+ ],
+ q(china, hong kong special administrative region) => [
+ q(0100),
+ q(1),
+ ],
+ q(china, macao special administrative region) => [
+ q(0131),
+ q(1),
+ ],
+ q(christmas island) => [
+ q(0047),
+ q(0),
+ ],
+ q(clipperton island) => [
+ q(0254),
+ q(0),
+ ],
+ q(co-operative republic of guyana) => [
+ q(0095),
+ q(1),
+ ],
+ q(cocos (keeling) islands) => [
+ q(0048),
+ q(0),
+ ],
+ q(cocos islands) => [
+ q(0048),
+ q(3),
+ ],
+ q(colombia) => [
+ q(0049),
+ q(0),
+ ],
+ q(commonwealth of australia) => [
+ q(0014),
+ q(1),
+ ],
+ q(commonwealth of dominica) => [
+ q(0063),
+ q(1),
+ ],
+ q(commonwealth of puerto rico) => [
+ q(0179),
+ q(1),
+ ],
+ q(commonwealth of the bahamas) => [
+ q(0017),
+ q(2),
+ ],
+ q(commonwealth of the northern mariana islands) => [
+ q(0165),
+ q(1),
+ ],
+ q(comoros) => [
+ q(0050),
+ q(0),
+ ],
+ q(congo) => [
+ q(0051),
+ q(0),
+ ],
+ q(congo (brazzaville)) => [
+ q(0051),
+ q(1),
+ ],
+ q(congo (kinshasa)) => [
+ q(0052),
+ q(2),
+ ],
+ q(congo, democratic republic of the) => [
+ q(0052),
+ q(3),
+ ],
+ q(congo, republic of the) => [
+ q(0051),
+ q(3),
+ ],
+ q(congo, the democratic republic of the) => [
+ q(0052),
+ q(0),
+ ],
+ q(cook islands) => [
+ q(0053),
+ q(0),
+ ],
+ q(coral sea islands) => [
+ q(0255),
+ q(0),
+ ],
+ q(coral sea islands territory) => [
+ q(0255),
+ q(1),
+ ],
+ q(costa rica) => [
+ q(0054),
+ q(0),
+ ],
+ q(cote d'ivoire) => [
+ q(0055),
+ q(0),
+ ],
+ q(croatia) => [
+ q(0056),
+ q(0),
+ ],
+ q(cuba) => [
+ q(0057),
+ q(0),
+ ],
+ q(curacao) => [
+ q(0058),
+ q(0),
+ ],
+ q(cyprus) => [
+ q(0059),
+ q(0),
+ ],
+ q(czech republic) => [
+ q(0060),
+ q(0),
+ ],
+ q(democratic people's republic of korea) => [
+ q(0118),
+ q(1),
+ ],
+ q(democratic republic of sao tome and principe) => [
+ q(0194),
+ q(1),
+ ],
+ q(democratic republic of the congo) => [
+ q(0052),
+ q(1),
+ ],
+ q(democratic socialist republic of sri lanka) => [
+ q(0209),
+ q(1),
+ ],
+ q(denmark) => [
+ q(0061),
+ q(0),
+ ],
+ q(department of guadeloupe) => [
+ q(0089),
+ q(1),
+ ],
+ q(department of guiana) => [
+ q(0077),
+ q(1),
+ ],
+ q(department of martinique) => [
+ q(0140),
+ q(1),
+ ],
+ q(department of reunion) => [
+ q(0181),
+ q(1),
+ ],
+ q(djibouti) => [
+ q(0062),
+ q(0),
+ ],
+ q(dominica) => [
+ q(0063),
+ q(0),
+ ],
+ q(dominican republic) => [
+ q(0064),
+ q(0),
+ ],
+ q(east timor) => [
+ q(0221),
+ q(1),
+ ],
+ q(ecuador) => [
+ q(0065),
+ q(0),
+ ],
+ q(egypt) => [
+ q(0066),
+ q(0),
+ ],
+ q(el salvador) => [
+ q(0067),
+ q(0),
+ ],
+ q(equatorial guinea) => [
+ q(0068),
+ q(0),
+ ],
+ q(eritrea) => [
+ q(0069),
+ q(0),
+ ],
+ q(estonia) => [
+ q(0070),
+ q(0),
+ ],
+ q(ethiopia) => [
+ q(0071),
+ q(0),
+ ],
+ q(europa island) => [
+ q(0256),
+ q(0),
+ ],
+ q(european union) => [
+ q(0276),
+ q(0),
+ ],
+ q(faeroe islands) => [
+ q(0073),
+ q(1),
+ ],
+ q(falkland islands (islas malvinas)) => [
+ q(0072),
+ q(1),
+ ],
+ q(falkland islands (malvinas)) => [
+ q(0072),
+ q(0),
+ ],
+ q(faroe islands) => [
+ q(0073),
+ q(0),
+ ],
+ q(federal democratic republic of ethiopia) => [
+ q(0071),
+ q(1),
+ ],
+ q(federal islamic republic of the comoros) => [
+ q(0050),
+ q(1),
+ ],
+ q(federal republic of germany) => [
+ q(0083),
+ q(1),
+ ],
+ q(federal republic of nigeria) => [
+ q(0162),
+ q(1),
+ ],
+ q(federated states of micronesia) => [
+ q(0145),
+ q(2),
+ ],
+ q(federation of saint kitts and nevis) => [
+ q(0187),
+ q(1),
+ ],
+ q(federative republic of brazil) => [
+ q(0032),
+ q(1),
+ ],
+ q(fiji) => [
+ q(0074),
+ q(0),
+ ],
+ q(finland) => [
+ q(0075),
+ q(0),
+ ],
+ q(france) => [
+ q(0076),
+ q(0),
+ ],
+ q(france, metropolitan) => [
+ q(0279),
+ q(0),
+ ],
+ q(french guiana) => [
+ q(0077),
+ q(0),
+ ],
+ q(french polynesia) => [
+ q(0078),
+ q(0),
+ ],
+ q(french republic) => [
+ q(0076),
+ q(1),
+ ],
+ q(french southern and antarctic lands) => [
+ q(0079),
+ q(1),
+ ],
+ q(french southern territories) => [
+ q(0079),
+ q(0),
+ ],
+ q(gabon) => [
+ q(0080),
+ q(0),
+ ],
+ q(gabonese republic) => [
+ q(0080),
+ q(1),
+ ],
+ q(gambia) => [
+ q(0081),
+ q(0),
+ ],
+ q(gambia, the) => [
+ q(0081),
+ q(1),
+ ],
+ q(gaza strip) => [
+ q(0257),
+ q(0),
+ ],
+ q(georgia) => [
+ q(0082),
+ q(0),
+ ],
+ q(germany) => [
+ q(0083),
+ q(0),
+ ],
+ q(ghana) => [
+ q(0084),
+ q(0),
+ ],
+ q(gibraltar) => [
+ q(0085),
+ q(0),
+ ],
+ q(glorioso islands) => [
+ q(0258),
+ q(0),
+ ],
+ q(golan heights (israeli-occupied)) => [
+ q(0216),
+ q(2),
+ ],
+ q(grand duchy of luxembourg) => [
+ q(0130),
+ q(1),
+ ],
+ q(great britain) => [
+ q(0234),
+ q(2),
+ ],
+ q(great socialist people's libyan arab jamahiriya) => [
+ q(0127),
+ q(2),
+ ],
+ q(greece) => [
+ q(0086),
+ q(0),
+ ],
+ q(greenland) => [
+ q(0087),
+ q(0),
+ ],
+ q(grenada) => [
+ q(0088),
+ q(0),
+ ],
+ q(guadeloupe) => [
+ q(0089),
+ q(0),
+ ],
+ q(guam) => [
+ q(0090),
+ q(0),
+ ],
+ q(guatemala) => [
+ q(0091),
+ q(0),
+ ],
+ q(guernsey) => [
+ q(0092),
+ q(0),
+ ],
+ q(guinea) => [
+ q(0093),
+ q(0),
+ ],
+ q(guinea-bissau) => [
+ q(0094),
+ q(0),
+ ],
+ q(guyana) => [
+ q(0095),
+ q(0),
+ ],
+ q(haiti) => [
+ q(0096),
+ q(0),
+ ],
+ q(hashemite kingdom of jordan) => [
+ q(0114),
+ q(1),
+ ],
+ q(heard island and mcdonald islands) => [
+ q(0097),
+ q(0),
+ ],
+ q(hellenic republic) => [
+ q(0086),
+ q(1),
+ ],
+ q(holy see) => [
+ q(0098),
+ q(1),
+ ],
+ q(holy see (vatican city state)) => [
+ q(0098),
+ q(0),
+ ],
+ q(holy see (vatican city)) => [
+ q(0098),
+ q(4),
+ ],
+ q(honduras) => [
+ q(0099),
+ q(0),
+ ],
+ q(hong kong) => [
+ q(0100),
+ q(0),
+ ],
+ q(hong kong s.a.r.) => [
+ q(0100),
+ q(2),
+ ],
+ q(hong kong special administrative region) => [
+ q(0100),
+ q(3),
+ ],
+ q(hong kong special administrative region of china) => [
+ q(0100),
+ q(4),
+ ],
+ q(howland island) => [
+ q(0259),
+ q(0),
+ ],
+ q(hungary) => [
+ q(0101),
+ q(0),
+ ],
+ q(iceland) => [
+ q(0102),
+ q(0),
+ ],
+ q(independent state of papua new guinea) => [
+ q(0172),
+ q(1),
+ ],
+ q(independent state of samoa) => [
+ q(0192),
+ q(1),
+ ],
+ q(india) => [
+ q(0103),
+ q(0),
+ ],
+ q(indonesia) => [
+ q(0104),
+ q(0),
+ ],
+ q(iran) => [
+ q(0105),
+ q(2),
+ ],
+ q(iran (islamic republic of)) => [
+ q(0105),
+ q(1),
+ ],
+ q(iran, islamic republic of) => [
+ q(0105),
+ q(0),
+ ],
+ q(iraq) => [
+ q(0106),
+ q(0),
+ ],
+ q(ireland) => [
+ q(0107),
+ q(0),
+ ],
+ q(islamic republic of iran) => [
+ q(0105),
+ q(3),
+ ],
+ q(islamic republic of mauritania) => [
+ q(0141),
+ q(1),
+ ],
+ q(islamic republic of pakistan) => [
+ q(0168),
+ q(1),
+ ],
+ q(islamic state of afghanistan) => [
+ q(0001),
+ q(1),
+ ],
+ q(isle of man) => [
+ q(0108),
+ q(0),
+ ],
+ q(israel) => [
+ q(0109),
+ q(0),
+ ],
+ q(italian republic) => [
+ q(0110),
+ q(1),
+ ],
+ q(italy) => [
+ q(0110),
+ q(0),
+ ],
+ q(jamaica) => [
+ q(0111),
+ q(0),
+ ],
+ q(jan mayen) => [
+ q(0260),
+ q(0),
+ ],
+ q(japan) => [
+ q(0112),
+ q(0),
+ ],
+ q(jarvis island) => [
+ q(0261),
+ q(0),
+ ],
+ q(jersey) => [
+ q(0113),
+ q(0),
+ ],
+ q(johnston atoll) => [
+ q(0262),
+ q(0),
+ ],
+ q(jordan) => [
+ q(0114),
+ q(0),
+ ],
+ q(juan de nova island) => [
+ q(0263),
+ q(0),
+ ],
+ q(kazakhstan) => [
+ q(0115),
+ q(0),
+ ],
+ q(kazakstan) => [
+ q(0115),
+ q(2),
+ ],
+ q(keeling islands) => [
+ q(0048),
+ q(2),
+ ],
+ q(kenya) => [
+ q(0116),
+ q(0),
+ ],
+ q(kingdom of belgium) => [
+ q(0022),
+ q(1),
+ ],
+ q(kingdom of bhutan) => [
+ q(0026),
+ q(1),
+ ],
+ q(kingdom of cambodia) => [
+ q(0038),
+ q(1),
+ ],
+ q(kingdom of denmark) => [
+ q(0061),
+ q(1),
+ ],
+ q(kingdom of morocco) => [
+ q(0151),
+ q(1),
+ ],
+ q(kingdom of nepal) => [
+ q(0156),
+ q(1),
+ ],
+ q(kingdom of norway) => [
+ q(0166),
+ q(1),
+ ],
+ q(kingdom of saudi arabia) => [
+ q(0195),
+ q(1),
+ ],
+ q(kingdom of spain) => [
+ q(0208),
+ q(1),
+ ],
+ q(kingdom of swaziland) => [
+ q(0213),
+ q(1),
+ ],
+ q(kingdom of sweden) => [
+ q(0214),
+ q(1),
+ ],
+ q(kingdom of thailand) => [
+ q(0220),
+ q(1),
+ ],
+ q(kingdom of the netherlands) => [
+ q(0157),
+ q(1),
+ ],
+ q(kingdom of tonga) => [
+ q(0224),
+ q(1),
+ ],
+ q(kingman reef) => [
+ q(0264),
+ q(0),
+ ],
+ q(kiribati) => [
+ q(0117),
+ q(0),
+ ],
+ q(korea, democratic people's republic of) => [
+ q(0118),
+ q(0),
+ ],
+ q(korea, north) => [
+ q(0118),
+ q(2),
+ ],
+ q(korea, republic of) => [
+ q(0119),
+ q(0),
+ ],
+ q(korea, south) => [
+ q(0119),
+ q(2),
+ ],
+ q(kosovo) => [
+ q(0280),
+ q(0),
+ ],
+ q(kuwait) => [
+ q(0120),
+ q(0),
+ ],
+ q(kyrgyz republic) => [
+ q(0121),
+ q(1),
+ ],
+ q(kyrgyzstan) => [
+ q(0121),
+ q(0),
+ ],
+ q(lao people's democratic republic) => [
+ q(0122),
+ q(0),
+ ],
+ q(laos) => [
+ q(0122),
+ q(1),
+ ],
+ q(latvia) => [
+ q(0123),
+ q(0),
+ ],
+ q(lebanese republic) => [
+ q(0124),
+ q(1),
+ ],
+ q(lebanon) => [
+ q(0124),
+ q(0),
+ ],
+ q(lesotho) => [
+ q(0125),
+ q(0),
+ ],
+ q(liberia) => [
+ q(0126),
+ q(0),
+ ],
+ q(libya) => [
+ q(0127),
+ q(1),
+ ],
+ q(libyan arab jamahiriya) => [
+ q(0127),
+ q(0),
+ ],
+ q(liechtenstein) => [
+ q(0128),
+ q(0),
+ ],
+ q(lithuania) => [
+ q(0129),
+ q(0),
+ ],
+ q(luxembourg) => [
+ q(0130),
+ q(0),
+ ],
+ q(macao) => [
+ q(0131),
+ q(0),
+ ],
+ q(macao special administrative region of china) => [
+ q(0131),
+ q(6),
+ ],
+ q(macau) => [
+ q(0131),
+ q(4),
+ ],
+ q(macau s.a.r) => [
+ q(0131),
+ q(2),
+ ],
+ q(macau s.a.r.) => [
+ q(0131),
+ q(5),
+ ],
+ q(macau special administrative region) => [
+ q(0131),
+ q(3),
+ ],
+ q(macedonia) => [
+ q(0132),
+ q(2),
+ ],
+ q(macedonia, former yugoslav republic of) => [
+ q(0132),
+ q(4),
+ ],
+ q(macedonia, the former yugoslav republic of) => [
+ q(0132),
+ q(0),
+ ],
+ q(madagascar) => [
+ q(0133),
+ q(0),
+ ],
+ q(malawi) => [
+ q(0134),
+ q(0),
+ ],
+ q(malaysia) => [
+ q(0135),
+ q(0),
+ ],
+ q(maldives) => [
+ q(0136),
+ q(0),
+ ],
+ q(mali) => [
+ q(0137),
+ q(0),
+ ],
+ q(malta) => [
+ q(0138),
+ q(0),
+ ],
+ q(marshall islands) => [
+ q(0139),
+ q(0),
+ ],
+ q(martinique) => [
+ q(0140),
+ q(0),
+ ],
+ q(mauritania) => [
+ q(0141),
+ q(0),
+ ],
+ q(mauritius) => [
+ q(0142),
+ q(0),
+ ],
+ q(mayotte) => [
+ q(0143),
+ q(0),
+ ],
+ q(mexico) => [
+ q(0144),
+ q(0),
+ ],
+ q(micronesia (federated states of)) => [
+ q(0145),
+ q(1),
+ ],
+ q(micronesia, federated states of) => [
+ q(0145),
+ q(0),
+ ],
+ q(midway islands) => [
+ q(0265),
+ q(0),
+ ],
+ q(moldova) => [
+ q(0146),
+ q(2),
+ ],
+ q(moldova, republic of) => [
+ q(0146),
+ q(0),
+ ],
+ q(monaco) => [
+ q(0147),
+ q(0),
+ ],
+ q(mongolia) => [
+ q(0148),
+ q(0),
+ ],
+ q(montenegro) => [
+ q(0149),
+ q(0),
+ ],
+ q(montserrat) => [
+ q(0150),
+ q(0),
+ ],
+ q(morocco) => [
+ q(0151),
+ q(0),
+ ],
+ q(mozambique) => [
+ q(0152),
+ q(0),
+ ],
+ q(myanmar) => [
+ q(0153),
+ q(0),
+ ],
+ q(namibia) => [
+ q(0154),
+ q(0),
+ ],
+ q(nauru) => [
+ q(0155),
+ q(0),
+ ],
+ q(navassa island) => [
+ q(0266),
+ q(0),
+ ],
+ q(negara brunei darussalam) => [
+ q(0034),
+ q(2),
+ ],
+ q(nepal) => [
+ q(0156),
+ q(0),
+ ],
+ q(netherlands) => [
+ q(0157),
+ q(0),
+ ],
+ q(netherlands antilles) => [
+ q(0267),
+ q(0),
+ ],
+ q(new caledonia) => [
+ q(0158),
+ q(0),
+ ],
+ q(new zealand) => [
+ q(0159),
+ q(0),
+ ],
+ q(nicaragua) => [
+ q(0160),
+ q(0),
+ ],
+ q(niger) => [
+ q(0161),
+ q(0),
+ ],
+ q(nigeria) => [
+ q(0162),
+ q(0),
+ ],
+ q(niue) => [
+ q(0163),
+ q(0),
+ ],
+ q(norfolk island) => [
+ q(0164),
+ q(0),
+ ],
+ q(north korea) => [
+ q(0118),
+ q(3),
+ ],
+ q(northern mariana islands) => [
+ q(0165),
+ q(0),
+ ],
+ q(norway) => [
+ q(0166),
+ q(0),
+ ],
+ q(occupied palestinian territory) => [
+ q(0170),
+ q(1),
+ ],
+ q(oman) => [
+ q(0167),
+ q(0),
+ ],
+ q(oriental republic of uruguay) => [
+ q(0237),
+ q(1),
+ ],
+ q(pakistan) => [
+ q(0168),
+ q(0),
+ ],
+ q(palau) => [
+ q(0169),
+ q(0),
+ ],
+ q(palestinian territory, occupied) => [
+ q(0170),
+ q(0),
+ ],
+ q(palmyra atoll) => [
+ q(0268),
+ q(0),
+ ],
+ q(panama) => [
+ q(0171),
+ q(0),
+ ],
+ q(papua new guinea) => [
+ q(0172),
+ q(0),
+ ],
+ q(paracel islands) => [
+ q(0269),
+ q(0),
+ ],
+ q(paraguay) => [
+ q(0173),
+ q(0),
+ ],
+ q(people's democratic republic of algeria) => [
+ q(0004),
+ q(1),
+ ],
+ q(people's republic of bangladesh) => [
+ q(0019),
+ q(1),
+ ],
+ q(people's republic of china) => [
+ q(0046),
+ q(1),
+ ],
+ q(peru) => [
+ q(0174),
+ q(0),
+ ],
+ q(philippines) => [
+ q(0175),
+ q(0),
+ ],
+ q(pitcairn) => [
+ q(0176),
+ q(0),
+ ],
+ q(pitcairn island) => [
+ q(0176),
+ q(3),
+ ],
+ q(pitcairn islands) => [
+ q(0176),
+ q(1),
+ ],
+ q(pitcairn, henderson, ducie and oeno islands) => [
+ q(0176),
+ q(2),
+ ],
+ q(poland) => [
+ q(0177),
+ q(0),
+ ],
+ q(portugal) => [
+ q(0178),
+ q(0),
+ ],
+ q(portuguese republic) => [
+ q(0178),
+ q(1),
+ ],
+ q(portuguese timor) => [
+ q(0278),
+ q(0),
+ ],
+ q(principality of andorra) => [
+ q(0006),
+ q(1),
+ ],
+ q(principality of liechtenstein) => [
+ q(0128),
+ q(1),
+ ],
+ q(principality of monaco) => [
+ q(0147),
+ q(1),
+ ],
+ q(puerto rico) => [
+ q(0179),
+ q(0),
+ ],
+ q(qatar) => [
+ q(0180),
+ q(0),
+ ],
+ q(republic of albania) => [
+ q(0003),
+ q(1),
+ ],
+ q(republic of angola) => [
+ q(0007),
+ q(1),
+ ],
+ q(republic of armenia) => [
+ q(0012),
+ q(1),
+ ],
+ q(republic of austria) => [
+ q(0015),
+ q(1),
+ ],
+ q(republic of azerbaijan) => [
+ q(0016),
+ q(1),
+ ],
+ q(republic of belarus) => [
+ q(0021),
+ q(1),
+ ],
+ q(republic of benin) => [
+ q(0024),
+ q(1),
+ ],
+ q(republic of bolivia) => [
+ q(0027),
+ q(3),
+ ],
+ q(republic of botswana) => [
+ q(0030),
+ q(1),
+ ],
+ q(republic of burundi) => [
+ q(0037),
+ q(1),
+ ],
+ q(republic of cameroon) => [
+ q(0039),
+ q(1),
+ ],
+ q(republic of cape verde) => [
+ q(0041),
+ q(1),
+ ],
+ q(republic of chad) => [
+ q(0044),
+ q(1),
+ ],
+ q(republic of chile) => [
+ q(0045),
+ q(1),
+ ],
+ q(republic of colombia) => [
+ q(0049),
+ q(1),
+ ],
+ q(republic of costa rica) => [
+ q(0054),
+ q(1),
+ ],
+ q(republic of cote d'ivoire) => [
+ q(0055),
+ q(1),
+ ],
+ q(republic of croatia) => [
+ q(0056),
+ q(1),
+ ],
+ q(republic of cuba) => [
+ q(0057),
+ q(1),
+ ],
+ q(republic of cyprus) => [
+ q(0059),
+ q(1),
+ ],
+ q(republic of djibouti) => [
+ q(0062),
+ q(1),
+ ],
+ q(republic of ecuador) => [
+ q(0065),
+ q(1),
+ ],
+ q(republic of el salvador) => [
+ q(0067),
+ q(1),
+ ],
+ q(republic of equatorial guinea) => [
+ q(0068),
+ q(1),
+ ],
+ q(republic of estonia) => [
+ q(0070),
+ q(1),
+ ],
+ q(republic of finland) => [
+ q(0075),
+ q(1),
+ ],
+ q(republic of ghana) => [
+ q(0084),
+ q(1),
+ ],
+ q(republic of guatemala) => [
+ q(0091),
+ q(1),
+ ],
+ q(republic of guinea) => [
+ q(0093),
+ q(1),
+ ],
+ q(republic of guinea-bissau) => [
+ q(0094),
+ q(1),
+ ],
+ q(republic of haiti) => [
+ q(0096),
+ q(1),
+ ],
+ q(republic of honduras) => [
+ q(0099),
+ q(1),
+ ],
+ q(republic of hungary) => [
+ q(0101),
+ q(1),
+ ],
+ q(republic of iceland) => [
+ q(0102),
+ q(1),
+ ],
+ q(republic of india) => [
+ q(0103),
+ q(1),
+ ],
+ q(republic of indonesia) => [
+ q(0104),
+ q(1),
+ ],
+ q(republic of iraq) => [
+ q(0106),
+ q(1),
+ ],
+ q(republic of kazakhstan) => [
+ q(0115),
+ q(1),
+ ],
+ q(republic of kenya) => [
+ q(0116),
+ q(1),
+ ],
+ q(republic of kiribati) => [
+ q(0117),
+ q(1),
+ ],
+ q(republic of korea) => [
+ q(0119),
+ q(1),
+ ],
+ q(republic of latvia) => [
+ q(0123),
+ q(1),
+ ],
+ q(republic of lesotho) => [
+ q(0125),
+ q(1),
+ ],
+ q(republic of liberia) => [
+ q(0126),
+ q(1),
+ ],
+ q(republic of lithuania) => [
+ q(0129),
+ q(1),
+ ],
+ q(republic of macedonia) => [
+ q(0132),
+ q(3),
+ ],
+ q(republic of madagascar) => [
+ q(0133),
+ q(1),
+ ],
+ q(republic of malawi) => [
+ q(0134),
+ q(1),
+ ],
+ q(republic of maldives) => [
+ q(0136),
+ q(1),
+ ],
+ q(republic of mali) => [
+ q(0137),
+ q(1),
+ ],
+ q(republic of malta) => [
+ q(0138),
+ q(1),
+ ],
+ q(republic of mauritius) => [
+ q(0142),
+ q(1),
+ ],
+ q(republic of moldova) => [
+ q(0146),
+ q(1),
+ ],
+ q(republic of mozambique) => [
+ q(0152),
+ q(1),
+ ],
+ q(republic of namibia) => [
+ q(0154),
+ q(1),
+ ],
+ q(republic of nauru) => [
+ q(0155),
+ q(1),
+ ],
+ q(republic of nicaragua) => [
+ q(0160),
+ q(1),
+ ],
+ q(republic of niger) => [
+ q(0161),
+ q(1),
+ ],
+ q(republic of palau) => [
+ q(0169),
+ q(1),
+ ],
+ q(republic of panama) => [
+ q(0171),
+ q(1),
+ ],
+ q(republic of paraguay) => [
+ q(0173),
+ q(1),
+ ],
+ q(republic of peru) => [
+ q(0174),
+ q(1),
+ ],
+ q(republic of poland) => [
+ q(0177),
+ q(1),
+ ],
+ q(republic of san marino) => [
+ q(0193),
+ q(1),
+ ],
+ q(republic of senegal) => [
+ q(0196),
+ q(1),
+ ],
+ q(republic of seychelles) => [
+ q(0198),
+ q(1),
+ ],
+ q(republic of sierra leone) => [
+ q(0199),
+ q(1),
+ ],
+ q(republic of singapore) => [
+ q(0200),
+ q(1),
+ ],
+ q(republic of slovenia) => [
+ q(0203),
+ q(1),
+ ],
+ q(republic of south africa) => [
+ q(0206),
+ q(1),
+ ],
+ q(republic of suriname) => [
+ q(0211),
+ q(1),
+ ],
+ q(republic of tajikistan) => [
+ q(0218),
+ q(1),
+ ],
+ q(republic of the congo) => [
+ q(0051),
+ q(2),
+ ],
+ q(republic of the fiji islands) => [
+ q(0074),
+ q(1),
+ ],
+ q(republic of the gambia) => [
+ q(0081),
+ q(2),
+ ],
+ q(republic of the marshall islands) => [
+ q(0139),
+ q(1),
+ ],
+ q(republic of the philippines) => [
+ q(0175),
+ q(1),
+ ],
+ q(republic of the sudan) => [
+ q(0210),
+ q(1),
+ ],
+ q(republic of trinidad and tobago) => [
+ q(0225),
+ q(1),
+ ],
+ q(republic of tunisia) => [
+ q(0226),
+ q(1),
+ ],
+ q(republic of turkey) => [
+ q(0227),
+ q(1),
+ ],
+ q(republic of uzbekistan) => [
+ q(0238),
+ q(1),
+ ],
+ q(republic of vanuatu) => [
+ q(0239),
+ q(1),
+ ],
+ q(republic of yemen) => [
+ q(0246),
+ q(1),
+ ],
+ q(republic of zambia) => [
+ q(0247),
+ q(1),
+ ],
+ q(republic of zimbabwe) => [
+ q(0248),
+ q(1),
+ ],
+ q(reunion) => [
+ q(0181),
+ q(0),
+ ],
+ q(romania) => [
+ q(0182),
+ q(0),
+ ],
+ q(russia) => [
+ q(0183),
+ q(1),
+ ],
+ q(russian federation) => [
+ q(0183),
+ q(0),
+ ],
+ q(rwanda) => [
+ q(0184),
+ q(0),
+ ],
+ q(rwandese republic) => [
+ q(0184),
+ q(1),
+ ],
+ q(saint barthelemy) => [
+ q(0185),
+ q(0),
+ ],
+ q(saint helena) => [
+ q(0186),
+ q(1),
+ ],
+ q(saint helena, ascension and tristan da cunha) => [
+ q(0186),
+ q(0),
+ ],
+ q(saint kitts and nevis) => [
+ q(0187),
+ q(0),
+ ],
+ q(saint lucia) => [
+ q(0188),
+ q(0),
+ ],
+ q(saint martin) => [
+ q(0189),
+ q(2),
+ ],
+ q(saint martin (french part)) => [
+ q(0189),
+ q(0),
+ ],
+ q(saint pierre and miquelon) => [
+ q(0190),
+ q(0),
+ ],
+ q(saint vincent and the grenadines) => [
+ q(0191),
+ q(0),
+ ],
+ q(saint-barthelemy) => [
+ q(0185),
+ q(1),
+ ],
+ q(saint-martin) => [
+ q(0189),
+ q(3),
+ ],
+ q(saint-martin (french part)) => [
+ q(0189),
+ q(1),
+ ],
+ q(samoa) => [
+ q(0192),
+ q(0),
+ ],
+ q(san marino) => [
+ q(0193),
+ q(0),
+ ],
+ q(sao tome and principe) => [
+ q(0194),
+ q(0),
+ ],
+ q(saudi arabia) => [
+ q(0195),
+ q(0),
+ ],
+ q(senegal) => [
+ q(0196),
+ q(0),
+ ],
+ q(serbia) => [
+ q(0197),
+ q(0),
+ ],
+ q(serbia and montenegro) => [
+ q(0250),
+ q(0),
+ ],
+ q(seychelles) => [
+ q(0198),
+ q(0),
+ ],
+ q(sierra leone) => [
+ q(0199),
+ q(0),
+ ],
+ q(singapore) => [
+ q(0200),
+ q(0),
+ ],
+ q(sint maarten) => [
+ q(0201),
+ q(1),
+ ],
+ q(sint maarten (dutch part)) => [
+ q(0201),
+ q(0),
+ ],
+ q(slovak republic) => [
+ q(0202),
+ q(1),
+ ],
+ q(slovakia) => [
+ q(0202),
+ q(0),
+ ],
+ q(slovenia) => [
+ q(0203),
+ q(0),
+ ],
+ q(socialist republic of vietnam) => [
+ q(0241),
+ q(2),
+ ],
+ q(solomon islands) => [
+ q(0204),
+ q(0),
+ ],
+ q(somalia) => [
+ q(0205),
+ q(0),
+ ],
+ q(south africa) => [
+ q(0206),
+ q(0),
+ ],
+ q(south georgia and the islands) => [
+ q(0207),
+ q(1),
+ ],
+ q(south georgia and the south sandwich islands) => [
+ q(0207),
+ q(0),
+ ],
+ q(south korea) => [
+ q(0119),
+ q(3),
+ ],
+ q(soviet union) => [
+ q(0277),
+ q(0),
+ ],
+ q(spain) => [
+ q(0208),
+ q(0),
+ ],
+ q(spratly islands) => [
+ q(0270),
+ q(0),
+ ],
+ q(sri lanka) => [
+ q(0209),
+ q(0),
+ ],
+ q(state of bahrain) => [
+ q(0018),
+ q(1),
+ ],
+ q(state of eritrea) => [
+ q(0069),
+ q(1),
+ ],
+ q(state of israel) => [
+ q(0109),
+ q(1),
+ ],
+ q(state of kuwait) => [
+ q(0120),
+ q(1),
+ ],
+ q(state of qatar) => [
+ q(0180),
+ q(1),
+ ],
+ q(state of the vatican city) => [
+ q(0098),
+ q(3),
+ ],
+ q(sudan) => [
+ q(0210),
+ q(0),
+ ],
+ q(sultanate of oman) => [
+ q(0167),
+ q(1),
+ ],
+ q(suriname) => [
+ q(0211),
+ q(0),
+ ],
+ q(svalbard) => [
+ q(0271),
+ q(0),
+ ],
+ q(svalbard and jan mayen) => [
+ q(0212),
+ q(0),
+ ],
+ q(svalbard and jan mayen islands) => [
+ q(0212),
+ q(1),
+ ],
+ q(swaziland) => [
+ q(0213),
+ q(0),
+ ],
+ q(sweden) => [
+ q(0214),
+ q(0),
+ ],
+ q(swiss confederation) => [
+ q(0215),
+ q(1),
+ ],
+ q(switzerland) => [
+ q(0215),
+ q(0),
+ ],
+ q(syria) => [
+ q(0216),
+ q(1),
+ ],
+ q(syrian arab republic) => [
+ q(0216),
+ q(0),
+ ],
+ q(taiwan) => [
+ q(0217),
+ q(1),
+ ],
+ q(taiwan, province of china) => [
+ q(0217),
+ q(0),
+ ],
+ q(tajikistan) => [
+ q(0218),
+ q(0),
+ ],
+ q(tanzania) => [
+ q(0219),
+ q(2),
+ ],
+ q(tanzania, united republic of) => [
+ q(0219),
+ q(0),
+ ],
+ q(territorial collectivity of mayotte) => [
+ q(0143),
+ q(1),
+ ],
+ q(territorial collectivity of saint pierre and miquelon) => [
+ q(0190),
+ q(1),
+ ],
+ q(territory of american samoa) => [
+ q(0005),
+ q(1),
+ ],
+ q(territory of ashmore and cartier islands) => [
+ q(0251),
+ q(1),
+ ],
+ q(territory of christmas island) => [
+ q(0047),
+ q(1),
+ ],
+ q(territory of cocos (keeling) islands) => [
+ q(0048),
+ q(1),
+ ],
+ q(territory of french polynesia) => [
+ q(0078),
+ q(1),
+ ],
+ q(territory of guam) => [
+ q(0090),
+ q(1),
+ ],
+ q(territory of heard island and mcdonald islands) => [
+ q(0097),
+ q(1),
+ ],
+ q(territory of new caledonia and dependencies) => [
+ q(0158),
+ q(1),
+ ],
+ q(territory of norfolk island) => [
+ q(0164),
+ q(1),
+ ],
+ q(territory of the french southern and antarctic lands) => [
+ q(0079),
+ q(2),
+ ],
+ q(territory of the wallis and futuna islands) => [
+ q(0244),
+ q(2),
+ ],
+ q(thailand) => [
+ q(0220),
+ q(0),
+ ],
+ q(the bahamas) => [
+ q(0017),
+ q(3),
+ ],
+ q(the democratic republic of the congo) => [
+ q(0052),
+ q(4),
+ ],
+ q(the former yugoslav republic of macedonia) => [
+ q(0132),
+ q(1),
+ ],
+ q(the republic of the congo) => [
+ q(0051),
+ q(4),
+ ],
+ q(timor-leste) => [
+ q(0221),
+ q(0),
+ ],
+ q(togo) => [
+ q(0222),
+ q(0),
+ ],
+ q(togolese republic) => [
+ q(0222),
+ q(1),
+ ],
+ q(tokelau) => [
+ q(0223),
+ q(0),
+ ],
+ q(tonga) => [
+ q(0224),
+ q(0),
+ ],
+ q(trinidad and tobago) => [
+ q(0225),
+ q(0),
+ ],
+ q(tromelin island) => [
+ q(0272),
+ q(0),
+ ],
+ q(tunisia) => [
+ q(0226),
+ q(0),
+ ],
+ q(turkey) => [
+ q(0227),
+ q(0),
+ ],
+ q(turkmenistan) => [
+ q(0228),
+ q(0),
+ ],
+ q(turks and caicos islands) => [
+ q(0229),
+ q(0),
+ ],
+ q(tuvalu) => [
+ q(0230),
+ q(0),
+ ],
+ q(uganda) => [
+ q(0231),
+ q(0),
+ ],
+ q(uk) => [
+ q(0234),
+ q(3),
+ ],
+ q(ukraine) => [
+ q(0232),
+ q(0),
+ ],
+ q(union of burma) => [
+ q(0153),
+ q(2),
+ ],
+ q(united arab emirates) => [
+ q(0233),
+ q(0),
+ ],
+ q(united kingdom) => [
+ q(0234),
+ q(0),
+ ],
+ q(united kingdom of great britain and northern ireland) => [
+ q(0234),
+ q(1),
+ ],
+ q(united mexican states) => [
+ q(0144),
+ q(1),
+ ],
+ q(united republic of tanzania) => [
+ q(0219),
+ q(1),
+ ],
+ q(united states) => [
+ q(0235),
+ q(0),
+ ],
+ q(united states minor outlying islands) => [
+ q(0236),
+ q(0),
+ ],
+ q(united states of america) => [
+ q(0235),
+ q(1),
+ ],
+ q(united states virgin islands) => [
+ q(0243),
+ q(1),
+ ],
+ q(uruguay) => [
+ q(0237),
+ q(0),
+ ],
+ q(us) => [
+ q(0235),
+ q(2),
+ ],
+ q(usa) => [
+ q(0235),
+ q(3),
+ ],
+ q(uzbekistan) => [
+ q(0238),
+ q(0),
+ ],
+ q(vanuatu) => [
+ q(0239),
+ q(0),
+ ],
+ q(vatican city) => [
+ q(0098),
+ q(2),
+ ],
+ q(venezuela) => [
+ q(0240),
+ q(2),
+ ],
+ q(venezuela (bolivarian republic of)) => [
+ q(0240),
+ q(1),
+ ],
+ q(venezuela, bolivarian republic of) => [
+ q(0240),
+ q(0),
+ ],
+ q(viet nam) => [
+ q(0241),
+ q(0),
+ ],
+ q(vietnam) => [
+ q(0241),
+ q(1),
+ ],
+ q(virgin islands) => [
+ q(0243),
+ q(2),
+ ],
+ q(virgin islands (uk)) => [
+ q(0242),
+ q(2),
+ ],
+ q(virgin islands (us)) => [
+ q(0243),
+ q(4),
+ ],
+ q(virgin islands of the united states) => [
+ q(0243),
+ q(3),
+ ],
+ q(virgin islands, british) => [
+ q(0242),
+ q(0),
+ ],
+ q(virgin islands, u.s.) => [
+ q(0243),
+ q(0),
+ ],
+ q(wake atoll) => [
+ q(0273),
+ q(0),
+ ],
+ q(wake island) => [
+ q(0273),
+ q(1),
+ ],
+ q(wallis and futuna) => [
+ q(0244),
+ q(0),
+ ],
+ q(wallis and futuna islands) => [
+ q(0244),
+ q(1),
+ ],
+ q(west bank) => [
+ q(0274),
+ q(0),
+ ],
+ q(western sahara) => [
+ q(0245),
+ q(0),
+ ],
+ q(yemen) => [
+ q(0246),
+ q(0),
+ ],
+ q(zambia) => [
+ q(0247),
+ q(0),
+ ],
+ q(zimbabwe) => [
+ q(0248),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'country'}{'code2id'} = {
+ q(alpha2) => {
+ q(ad) => [
+ q(0006),
+ q(0),
+ ],
+ q(ae) => [
+ q(0233),
+ q(0),
+ ],
+ q(af) => [
+ q(0001),
+ q(0),
+ ],
+ q(ag) => [
+ q(0010),
+ q(0),
+ ],
+ q(ai) => [
+ q(0008),
+ q(0),
+ ],
+ q(al) => [
+ q(0003),
+ q(0),
+ ],
+ q(am) => [
+ q(0012),
+ q(0),
+ ],
+ q(an) => [
+ q(0267),
+ q(0),
+ ],
+ q(ao) => [
+ q(0007),
+ q(0),
+ ],
+ q(aq) => [
+ q(0009),
+ q(0),
+ ],
+ q(ar) => [
+ q(0011),
+ q(0),
+ ],
+ q(as) => [
+ q(0005),
+ q(0),
+ ],
+ q(at) => [
+ q(0015),
+ q(0),
+ ],
+ q(au) => [
+ q(0014),
+ q(0),
+ ],
+ q(aw) => [
+ q(0013),
+ q(0),
+ ],
+ q(ax) => [
+ q(0002),
+ q(0),
+ ],
+ q(az) => [
+ q(0016),
+ q(0),
+ ],
+ q(ba) => [
+ q(0029),
+ q(0),
+ ],
+ q(bb) => [
+ q(0020),
+ q(0),
+ ],
+ q(bd) => [
+ q(0019),
+ q(0),
+ ],
+ q(be) => [
+ q(0022),
+ q(0),
+ ],
+ q(bf) => [
+ q(0036),
+ q(0),
+ ],
+ q(bg) => [
+ q(0035),
+ q(0),
+ ],
+ q(bh) => [
+ q(0018),
+ q(0),
+ ],
+ q(bi) => [
+ q(0037),
+ q(0),
+ ],
+ q(bj) => [
+ q(0024),
+ q(0),
+ ],
+ q(bl) => [
+ q(0185),
+ q(0),
+ ],
+ q(bm) => [
+ q(0025),
+ q(0),
+ ],
+ q(bn) => [
+ q(0034),
+ q(0),
+ ],
+ q(bo) => [
+ q(0027),
+ q(0),
+ ],
+ q(bq) => [
+ q(0028),
+ q(0),
+ ],
+ q(br) => [
+ q(0032),
+ q(0),
+ ],
+ q(bs) => [
+ q(0017),
+ q(0),
+ ],
+ q(bt) => [
+ q(0026),
+ q(0),
+ ],
+ q(bv) => [
+ q(0031),
+ q(0),
+ ],
+ q(bw) => [
+ q(0030),
+ q(0),
+ ],
+ q(by) => [
+ q(0021),
+ q(0),
+ ],
+ q(bz) => [
+ q(0023),
+ q(0),
+ ],
+ q(ca) => [
+ q(0040),
+ q(0),
+ ],
+ q(cc) => [
+ q(0048),
+ q(0),
+ ],
+ q(cd) => [
+ q(0052),
+ q(0),
+ ],
+ q(cf) => [
+ q(0043),
+ q(0),
+ ],
+ q(cg) => [
+ q(0051),
+ q(0),
+ ],
+ q(ch) => [
+ q(0215),
+ q(0),
+ ],
+ q(ci) => [
+ q(0055),
+ q(0),
+ ],
+ q(ck) => [
+ q(0053),
+ q(0),
+ ],
+ q(cl) => [
+ q(0045),
+ q(0),
+ ],
+ q(cm) => [
+ q(0039),
+ q(0),
+ ],
+ q(cn) => [
+ q(0046),
+ q(0),
+ ],
+ q(co) => [
+ q(0049),
+ q(0),
+ ],
+ q(cr) => [
+ q(0054),
+ q(0),
+ ],
+ q(cu) => [
+ q(0057),
+ q(0),
+ ],
+ q(cv) => [
+ q(0041),
+ q(0),
+ ],
+ q(cw) => [
+ q(0058),
+ q(0),
+ ],
+ q(cx) => [
+ q(0047),
+ q(0),
+ ],
+ q(cy) => [
+ q(0059),
+ q(0),
+ ],
+ q(cz) => [
+ q(0060),
+ q(0),
+ ],
+ q(de) => [
+ q(0083),
+ q(0),
+ ],
+ q(dj) => [
+ q(0062),
+ q(0),
+ ],
+ q(dk) => [
+ q(0061),
+ q(0),
+ ],
+ q(dm) => [
+ q(0063),
+ q(0),
+ ],
+ q(do) => [
+ q(0064),
+ q(0),
+ ],
+ q(dz) => [
+ q(0004),
+ q(0),
+ ],
+ q(ec) => [
+ q(0065),
+ q(0),
+ ],
+ q(ee) => [
+ q(0070),
+ q(0),
+ ],
+ q(eg) => [
+ q(0066),
+ q(0),
+ ],
+ q(eh) => [
+ q(0245),
+ q(0),
+ ],
+ q(er) => [
+ q(0069),
+ q(0),
+ ],
+ q(es) => [
+ q(0208),
+ q(0),
+ ],
+ q(et) => [
+ q(0071),
+ q(0),
+ ],
+ q(fi) => [
+ q(0075),
+ q(0),
+ ],
+ q(fj) => [
+ q(0074),
+ q(0),
+ ],
+ q(fk) => [
+ q(0072),
+ q(0),
+ ],
+ q(fm) => [
+ q(0145),
+ q(0),
+ ],
+ q(fo) => [
+ q(0073),
+ q(0),
+ ],
+ q(fr) => [
+ q(0076),
+ q(0),
+ ],
+ q(fx) => [
+ q(0279),
+ q(0),
+ ],
+ q(ga) => [
+ q(0080),
+ q(0),
+ ],
+ q(gb) => [
+ q(0234),
+ q(0),
+ ],
+ q(gd) => [
+ q(0088),
+ q(0),
+ ],
+ q(ge) => [
+ q(0082),
+ q(0),
+ ],
+ q(gf) => [
+ q(0077),
+ q(0),
+ ],
+ q(gg) => [
+ q(0092),
+ q(0),
+ ],
+ q(gh) => [
+ q(0084),
+ q(0),
+ ],
+ q(gi) => [
+ q(0085),
+ q(0),
+ ],
+ q(gl) => [
+ q(0087),
+ q(0),
+ ],
+ q(gm) => [
+ q(0081),
+ q(0),
+ ],
+ q(gn) => [
+ q(0093),
+ q(0),
+ ],
+ q(gp) => [
+ q(0089),
+ q(0),
+ ],
+ q(gq) => [
+ q(0068),
+ q(0),
+ ],
+ q(gr) => [
+ q(0086),
+ q(0),
+ ],
+ q(gs) => [
+ q(0207),
+ q(0),
+ ],
+ q(gt) => [
+ q(0091),
+ q(0),
+ ],
+ q(gu) => [
+ q(0090),
+ q(0),
+ ],
+ q(gw) => [
+ q(0094),
+ q(0),
+ ],
+ q(gy) => [
+ q(0095),
+ q(0),
+ ],
+ q(hk) => [
+ q(0100),
+ q(0),
+ ],
+ q(hm) => [
+ q(0097),
+ q(0),
+ ],
+ q(hn) => [
+ q(0099),
+ q(0),
+ ],
+ q(hr) => [
+ q(0056),
+ q(0),
+ ],
+ q(ht) => [
+ q(0096),
+ q(0),
+ ],
+ q(hu) => [
+ q(0101),
+ q(0),
+ ],
+ q(id) => [
+ q(0104),
+ q(0),
+ ],
+ q(ie) => [
+ q(0107),
+ q(0),
+ ],
+ q(il) => [
+ q(0109),
+ q(0),
+ ],
+ q(im) => [
+ q(0108),
+ q(0),
+ ],
+ q(in) => [
+ q(0103),
+ q(0),
+ ],
+ q(io) => [
+ q(0033),
+ q(0),
+ ],
+ q(iq) => [
+ q(0106),
+ q(0),
+ ],
+ q(ir) => [
+ q(0105),
+ q(0),
+ ],
+ q(is) => [
+ q(0102),
+ q(0),
+ ],
+ q(it) => [
+ q(0110),
+ q(0),
+ ],
+ q(je) => [
+ q(0113),
+ q(0),
+ ],
+ q(jm) => [
+ q(0111),
+ q(0),
+ ],
+ q(jo) => [
+ q(0114),
+ q(0),
+ ],
+ q(jp) => [
+ q(0112),
+ q(0),
+ ],
+ q(ke) => [
+ q(0116),
+ q(0),
+ ],
+ q(kg) => [
+ q(0121),
+ q(0),
+ ],
+ q(kh) => [
+ q(0038),
+ q(0),
+ ],
+ q(ki) => [
+ q(0117),
+ q(0),
+ ],
+ q(km) => [
+ q(0050),
+ q(0),
+ ],
+ q(kn) => [
+ q(0187),
+ q(0),
+ ],
+ q(kp) => [
+ q(0118),
+ q(0),
+ ],
+ q(kr) => [
+ q(0119),
+ q(0),
+ ],
+ q(kw) => [
+ q(0120),
+ q(0),
+ ],
+ q(ky) => [
+ q(0042),
+ q(0),
+ ],
+ q(kz) => [
+ q(0115),
+ q(0),
+ ],
+ q(la) => [
+ q(0122),
+ q(0),
+ ],
+ q(lb) => [
+ q(0124),
+ q(0),
+ ],
+ q(lc) => [
+ q(0188),
+ q(0),
+ ],
+ q(li) => [
+ q(0128),
+ q(0),
+ ],
+ q(lk) => [
+ q(0209),
+ q(0),
+ ],
+ q(lr) => [
+ q(0126),
+ q(0),
+ ],
+ q(ls) => [
+ q(0125),
+ q(0),
+ ],
+ q(lt) => [
+ q(0129),
+ q(0),
+ ],
+ q(lu) => [
+ q(0130),
+ q(0),
+ ],
+ q(lv) => [
+ q(0123),
+ q(0),
+ ],
+ q(ly) => [
+ q(0127),
+ q(0),
+ ],
+ q(ma) => [
+ q(0151),
+ q(0),
+ ],
+ q(mc) => [
+ q(0147),
+ q(0),
+ ],
+ q(md) => [
+ q(0146),
+ q(0),
+ ],
+ q(me) => [
+ q(0149),
+ q(0),
+ ],
+ q(mf) => [
+ q(0189),
+ q(0),
+ ],
+ q(mg) => [
+ q(0133),
+ q(0),
+ ],
+ q(mh) => [
+ q(0139),
+ q(0),
+ ],
+ q(mk) => [
+ q(0132),
+ q(0),
+ ],
+ q(ml) => [
+ q(0137),
+ q(0),
+ ],
+ q(mm) => [
+ q(0153),
+ q(0),
+ ],
+ q(mn) => [
+ q(0148),
+ q(0),
+ ],
+ q(mo) => [
+ q(0131),
+ q(0),
+ ],
+ q(mp) => [
+ q(0165),
+ q(0),
+ ],
+ q(mq) => [
+ q(0140),
+ q(0),
+ ],
+ q(mr) => [
+ q(0141),
+ q(0),
+ ],
+ q(ms) => [
+ q(0150),
+ q(0),
+ ],
+ q(mt) => [
+ q(0138),
+ q(0),
+ ],
+ q(mu) => [
+ q(0142),
+ q(0),
+ ],
+ q(mv) => [
+ q(0136),
+ q(0),
+ ],
+ q(mw) => [
+ q(0134),
+ q(0),
+ ],
+ q(mx) => [
+ q(0144),
+ q(0),
+ ],
+ q(my) => [
+ q(0135),
+ q(0),
+ ],
+ q(mz) => [
+ q(0152),
+ q(0),
+ ],
+ q(na) => [
+ q(0154),
+ q(0),
+ ],
+ q(nc) => [
+ q(0158),
+ q(0),
+ ],
+ q(ne) => [
+ q(0161),
+ q(0),
+ ],
+ q(nf) => [
+ q(0164),
+ q(0),
+ ],
+ q(ng) => [
+ q(0162),
+ q(0),
+ ],
+ q(ni) => [
+ q(0160),
+ q(0),
+ ],
+ q(nl) => [
+ q(0157),
+ q(0),
+ ],
+ q(no) => [
+ q(0166),
+ q(0),
+ ],
+ q(np) => [
+ q(0156),
+ q(0),
+ ],
+ q(nr) => [
+ q(0155),
+ q(0),
+ ],
+ q(nu) => [
+ q(0163),
+ q(0),
+ ],
+ q(nz) => [
+ q(0159),
+ q(0),
+ ],
+ q(om) => [
+ q(0167),
+ q(0),
+ ],
+ q(pa) => [
+ q(0171),
+ q(0),
+ ],
+ q(pe) => [
+ q(0174),
+ q(0),
+ ],
+ q(pf) => [
+ q(0078),
+ q(0),
+ ],
+ q(pg) => [
+ q(0172),
+ q(0),
+ ],
+ q(ph) => [
+ q(0175),
+ q(0),
+ ],
+ q(pk) => [
+ q(0168),
+ q(0),
+ ],
+ q(pl) => [
+ q(0177),
+ q(0),
+ ],
+ q(pm) => [
+ q(0190),
+ q(0),
+ ],
+ q(pn) => [
+ q(0176),
+ q(0),
+ ],
+ q(pr) => [
+ q(0179),
+ q(0),
+ ],
+ q(ps) => [
+ q(0170),
+ q(0),
+ ],
+ q(pt) => [
+ q(0178),
+ q(0),
+ ],
+ q(pw) => [
+ q(0169),
+ q(0),
+ ],
+ q(py) => [
+ q(0173),
+ q(0),
+ ],
+ q(qa) => [
+ q(0180),
+ q(0),
+ ],
+ q(re) => [
+ q(0181),
+ q(0),
+ ],
+ q(ro) => [
+ q(0182),
+ q(0),
+ ],
+ q(rs) => [
+ q(0197),
+ q(0),
+ ],
+ q(ru) => [
+ q(0183),
+ q(0),
+ ],
+ q(rw) => [
+ q(0184),
+ q(0),
+ ],
+ q(sa) => [
+ q(0195),
+ q(0),
+ ],
+ q(sb) => [
+ q(0204),
+ q(0),
+ ],
+ q(sc) => [
+ q(0198),
+ q(0),
+ ],
+ q(sd) => [
+ q(0210),
+ q(0),
+ ],
+ q(se) => [
+ q(0214),
+ q(0),
+ ],
+ q(sg) => [
+ q(0200),
+ q(0),
+ ],
+ q(sh) => [
+ q(0186),
+ q(0),
+ ],
+ q(si) => [
+ q(0203),
+ q(0),
+ ],
+ q(sj) => [
+ q(0212),
+ q(0),
+ ],
+ q(sk) => [
+ q(0202),
+ q(0),
+ ],
+ q(sl) => [
+ q(0199),
+ q(0),
+ ],
+ q(sm) => [
+ q(0193),
+ q(0),
+ ],
+ q(sn) => [
+ q(0196),
+ q(0),
+ ],
+ q(so) => [
+ q(0205),
+ q(0),
+ ],
+ q(sr) => [
+ q(0211),
+ q(0),
+ ],
+ q(st) => [
+ q(0194),
+ q(0),
+ ],
+ q(sv) => [
+ q(0067),
+ q(0),
+ ],
+ q(sx) => [
+ q(0201),
+ q(0),
+ ],
+ q(sy) => [
+ q(0216),
+ q(0),
+ ],
+ q(sz) => [
+ q(0213),
+ q(0),
+ ],
+ q(tc) => [
+ q(0229),
+ q(0),
+ ],
+ q(td) => [
+ q(0044),
+ q(0),
+ ],
+ q(tf) => [
+ q(0079),
+ q(0),
+ ],
+ q(tg) => [
+ q(0222),
+ q(0),
+ ],
+ q(th) => [
+ q(0220),
+ q(0),
+ ],
+ q(tj) => [
+ q(0218),
+ q(0),
+ ],
+ q(tk) => [
+ q(0223),
+ q(0),
+ ],
+ q(tl) => [
+ q(0221),
+ q(0),
+ ],
+ q(tm) => [
+ q(0228),
+ q(0),
+ ],
+ q(tn) => [
+ q(0226),
+ q(0),
+ ],
+ q(to) => [
+ q(0224),
+ q(0),
+ ],
+ q(tr) => [
+ q(0227),
+ q(0),
+ ],
+ q(tt) => [
+ q(0225),
+ q(0),
+ ],
+ q(tv) => [
+ q(0230),
+ q(0),
+ ],
+ q(tw) => [
+ q(0217),
+ q(0),
+ ],
+ q(tz) => [
+ q(0219),
+ q(0),
+ ],
+ q(ua) => [
+ q(0232),
+ q(0),
+ ],
+ q(ug) => [
+ q(0231),
+ q(0),
+ ],
+ q(um) => [
+ q(0236),
+ q(0),
+ ],
+ q(us) => [
+ q(0235),
+ q(0),
+ ],
+ q(uy) => [
+ q(0237),
+ q(0),
+ ],
+ q(uz) => [
+ q(0238),
+ q(0),
+ ],
+ q(va) => [
+ q(0098),
+ q(0),
+ ],
+ q(vc) => [
+ q(0191),
+ q(0),
+ ],
+ q(ve) => [
+ q(0240),
+ q(0),
+ ],
+ q(vg) => [
+ q(0242),
+ q(0),
+ ],
+ q(vi) => [
+ q(0243),
+ q(0),
+ ],
+ q(vn) => [
+ q(0241),
+ q(0),
+ ],
+ q(vu) => [
+ q(0239),
+ q(0),
+ ],
+ q(wf) => [
+ q(0244),
+ q(0),
+ ],
+ q(ws) => [
+ q(0192),
+ q(0),
+ ],
+ q(ye) => [
+ q(0246),
+ q(0),
+ ],
+ q(yt) => [
+ q(0143),
+ q(0),
+ ],
+ q(za) => [
+ q(0206),
+ q(0),
+ ],
+ q(zm) => [
+ q(0247),
+ q(0),
+ ],
+ q(zw) => [
+ q(0248),
+ q(0),
+ ],
+ },
+ q(alpha3) => {
+ q(abw) => [
+ q(0013),
+ q(0),
+ ],
+ q(afg) => [
+ q(0001),
+ q(0),
+ ],
+ q(ago) => [
+ q(0007),
+ q(0),
+ ],
+ q(aia) => [
+ q(0008),
+ q(0),
+ ],
+ q(ala) => [
+ q(0002),
+ q(0),
+ ],
+ q(alb) => [
+ q(0003),
+ q(0),
+ ],
+ q(and) => [
+ q(0006),
+ q(0),
+ ],
+ q(ant) => [
+ q(0267),
+ q(0),
+ ],
+ q(are) => [
+ q(0233),
+ q(0),
+ ],
+ q(arg) => [
+ q(0011),
+ q(0),
+ ],
+ q(arm) => [
+ q(0012),
+ q(0),
+ ],
+ q(asm) => [
+ q(0005),
+ q(0),
+ ],
+ q(ata) => [
+ q(0009),
+ q(0),
+ ],
+ q(atf) => [
+ q(0079),
+ q(1),
+ ],
+ q(atg) => [
+ q(0010),
+ q(0),
+ ],
+ q(aus) => [
+ q(0014),
+ q(0),
+ ],
+ q(aut) => [
+ q(0015),
+ q(0),
+ ],
+ q(aze) => [
+ q(0016),
+ q(0),
+ ],
+ q(bdi) => [
+ q(0037),
+ q(0),
+ ],
+ q(bel) => [
+ q(0022),
+ q(0),
+ ],
+ q(ben) => [
+ q(0024),
+ q(0),
+ ],
+ q(bes) => [
+ q(0028),
+ q(0),
+ ],
+ q(bfa) => [
+ q(0036),
+ q(0),
+ ],
+ q(bgd) => [
+ q(0019),
+ q(0),
+ ],
+ q(bgr) => [
+ q(0035),
+ q(0),
+ ],
+ q(bhr) => [
+ q(0018),
+ q(0),
+ ],
+ q(bhs) => [
+ q(0017),
+ q(0),
+ ],
+ q(bih) => [
+ q(0029),
+ q(0),
+ ],
+ q(blm) => [
+ q(0185),
+ q(1),
+ ],
+ q(blr) => [
+ q(0021),
+ q(0),
+ ],
+ q(blz) => [
+ q(0023),
+ q(0),
+ ],
+ q(bmu) => [
+ q(0025),
+ q(0),
+ ],
+ q(bol) => [
+ q(0027),
+ q(1),
+ ],
+ q(bra) => [
+ q(0032),
+ q(0),
+ ],
+ q(brb) => [
+ q(0020),
+ q(0),
+ ],
+ q(brn) => [
+ q(0034),
+ q(0),
+ ],
+ q(btn) => [
+ q(0026),
+ q(0),
+ ],
+ q(bvt) => [
+ q(0031),
+ q(0),
+ ],
+ q(bwa) => [
+ q(0030),
+ q(0),
+ ],
+ q(caf) => [
+ q(0043),
+ q(0),
+ ],
+ q(can) => [
+ q(0040),
+ q(0),
+ ],
+ q(cck) => [
+ q(0048),
+ q(0),
+ ],
+ q(che) => [
+ q(0215),
+ q(0),
+ ],
+ q(chl) => [
+ q(0045),
+ q(0),
+ ],
+ q(chn) => [
+ q(0046),
+ q(0),
+ ],
+ q(civ) => [
+ q(0055),
+ q(0),
+ ],
+ q(cmr) => [
+ q(0039),
+ q(0),
+ ],
+ q(cod) => [
+ q(0052),
+ q(1),
+ ],
+ q(cog) => [
+ q(0051),
+ q(0),
+ ],
+ q(cok) => [
+ q(0053),
+ q(0),
+ ],
+ q(col) => [
+ q(0049),
+ q(0),
+ ],
+ q(com) => [
+ q(0050),
+ q(0),
+ ],
+ q(cpv) => [
+ q(0041),
+ q(0),
+ ],
+ q(cri) => [
+ q(0054),
+ q(0),
+ ],
+ q(cub) => [
+ q(0057),
+ q(0),
+ ],
+ q(cuw) => [
+ q(0058),
+ q(0),
+ ],
+ q(cxr) => [
+ q(0047),
+ q(0),
+ ],
+ q(cym) => [
+ q(0042),
+ q(0),
+ ],
+ q(cyp) => [
+ q(0059),
+ q(0),
+ ],
+ q(cze) => [
+ q(0060),
+ q(0),
+ ],
+ q(deu) => [
+ q(0083),
+ q(0),
+ ],
+ q(dji) => [
+ q(0062),
+ q(0),
+ ],
+ q(dma) => [
+ q(0063),
+ q(0),
+ ],
+ q(dnk) => [
+ q(0061),
+ q(0),
+ ],
+ q(dom) => [
+ q(0064),
+ q(0),
+ ],
+ q(dza) => [
+ q(0004),
+ q(0),
+ ],
+ q(ecu) => [
+ q(0065),
+ q(0),
+ ],
+ q(egy) => [
+ q(0066),
+ q(0),
+ ],
+ q(eri) => [
+ q(0069),
+ q(0),
+ ],
+ q(esh) => [
+ q(0245),
+ q(0),
+ ],
+ q(esp) => [
+ q(0208),
+ q(0),
+ ],
+ q(est) => [
+ q(0070),
+ q(0),
+ ],
+ q(eth) => [
+ q(0071),
+ q(0),
+ ],
+ q(fin) => [
+ q(0075),
+ q(0),
+ ],
+ q(fji) => [
+ q(0074),
+ q(0),
+ ],
+ q(flk) => [
+ q(0072),
+ q(0),
+ ],
+ q(fra) => [
+ q(0076),
+ q(0),
+ ],
+ q(fro) => [
+ q(0073),
+ q(1),
+ ],
+ q(fsm) => [
+ q(0145),
+ q(1),
+ ],
+ q(fxx) => [
+ q(0279),
+ q(0),
+ ],
+ q(gab) => [
+ q(0080),
+ q(0),
+ ],
+ q(gbr) => [
+ q(0234),
+ q(1),
+ ],
+ q(geo) => [
+ q(0082),
+ q(0),
+ ],
+ q(ggy) => [
+ q(0092),
+ q(0),
+ ],
+ q(gha) => [
+ q(0084),
+ q(0),
+ ],
+ q(gib) => [
+ q(0085),
+ q(0),
+ ],
+ q(gin) => [
+ q(0093),
+ q(0),
+ ],
+ q(glp) => [
+ q(0089),
+ q(0),
+ ],
+ q(gmb) => [
+ q(0081),
+ q(0),
+ ],
+ q(gnb) => [
+ q(0094),
+ q(0),
+ ],
+ q(gnq) => [
+ q(0068),
+ q(0),
+ ],
+ q(grc) => [
+ q(0086),
+ q(0),
+ ],
+ q(grd) => [
+ q(0088),
+ q(0),
+ ],
+ q(grl) => [
+ q(0087),
+ q(0),
+ ],
+ q(gtm) => [
+ q(0091),
+ q(0),
+ ],
+ q(guf) => [
+ q(0077),
+ q(0),
+ ],
+ q(gum) => [
+ q(0090),
+ q(0),
+ ],
+ q(guy) => [
+ q(0095),
+ q(0),
+ ],
+ q(hkg) => [
+ q(0100),
+ q(1),
+ ],
+ q(hmd) => [
+ q(0097),
+ q(0),
+ ],
+ q(hnd) => [
+ q(0099),
+ q(0),
+ ],
+ q(hrv) => [
+ q(0056),
+ q(0),
+ ],
+ q(hti) => [
+ q(0096),
+ q(0),
+ ],
+ q(hun) => [
+ q(0101),
+ q(0),
+ ],
+ q(idn) => [
+ q(0104),
+ q(0),
+ ],
+ q(imn) => [
+ q(0108),
+ q(0),
+ ],
+ q(ind) => [
+ q(0103),
+ q(0),
+ ],
+ q(iot) => [
+ q(0033),
+ q(0),
+ ],
+ q(irl) => [
+ q(0107),
+ q(0),
+ ],
+ q(irn) => [
+ q(0105),
+ q(1),
+ ],
+ q(irq) => [
+ q(0106),
+ q(0),
+ ],
+ q(isl) => [
+ q(0102),
+ q(0),
+ ],
+ q(isr) => [
+ q(0109),
+ q(0),
+ ],
+ q(ita) => [
+ q(0110),
+ q(0),
+ ],
+ q(jam) => [
+ q(0111),
+ q(0),
+ ],
+ q(jey) => [
+ q(0113),
+ q(0),
+ ],
+ q(jor) => [
+ q(0114),
+ q(0),
+ ],
+ q(jpn) => [
+ q(0112),
+ q(0),
+ ],
+ q(kaz) => [
+ q(0115),
+ q(0),
+ ],
+ q(ken) => [
+ q(0116),
+ q(0),
+ ],
+ q(kgz) => [
+ q(0121),
+ q(0),
+ ],
+ q(khm) => [
+ q(0038),
+ q(0),
+ ],
+ q(kir) => [
+ q(0117),
+ q(0),
+ ],
+ q(kna) => [
+ q(0187),
+ q(0),
+ ],
+ q(kor) => [
+ q(0119),
+ q(1),
+ ],
+ q(kwt) => [
+ q(0120),
+ q(0),
+ ],
+ q(lao) => [
+ q(0122),
+ q(0),
+ ],
+ q(lbn) => [
+ q(0124),
+ q(0),
+ ],
+ q(lbr) => [
+ q(0126),
+ q(0),
+ ],
+ q(lby) => [
+ q(0127),
+ q(0),
+ ],
+ q(lca) => [
+ q(0188),
+ q(0),
+ ],
+ q(lie) => [
+ q(0128),
+ q(0),
+ ],
+ q(lka) => [
+ q(0209),
+ q(0),
+ ],
+ q(lso) => [
+ q(0125),
+ q(0),
+ ],
+ q(ltu) => [
+ q(0129),
+ q(0),
+ ],
+ q(lux) => [
+ q(0130),
+ q(0),
+ ],
+ q(lva) => [
+ q(0123),
+ q(0),
+ ],
+ q(mac) => [
+ q(0131),
+ q(1),
+ ],
+ q(maf) => [
+ q(0189),
+ q(1),
+ ],
+ q(mar) => [
+ q(0151),
+ q(0),
+ ],
+ q(mco) => [
+ q(0147),
+ q(0),
+ ],
+ q(mda) => [
+ q(0146),
+ q(1),
+ ],
+ q(mdg) => [
+ q(0133),
+ q(0),
+ ],
+ q(mdv) => [
+ q(0136),
+ q(0),
+ ],
+ q(mex) => [
+ q(0144),
+ q(0),
+ ],
+ q(mhl) => [
+ q(0139),
+ q(0),
+ ],
+ q(mkd) => [
+ q(0132),
+ q(1),
+ ],
+ q(mli) => [
+ q(0137),
+ q(0),
+ ],
+ q(mlt) => [
+ q(0138),
+ q(0),
+ ],
+ q(mmr) => [
+ q(0153),
+ q(0),
+ ],
+ q(mne) => [
+ q(0149),
+ q(0),
+ ],
+ q(mng) => [
+ q(0148),
+ q(0),
+ ],
+ q(mnp) => [
+ q(0165),
+ q(0),
+ ],
+ q(moz) => [
+ q(0152),
+ q(0),
+ ],
+ q(mrt) => [
+ q(0141),
+ q(0),
+ ],
+ q(msr) => [
+ q(0150),
+ q(0),
+ ],
+ q(mtq) => [
+ q(0140),
+ q(0),
+ ],
+ q(mus) => [
+ q(0142),
+ q(0),
+ ],
+ q(mwi) => [
+ q(0134),
+ q(0),
+ ],
+ q(mys) => [
+ q(0135),
+ q(0),
+ ],
+ q(myt) => [
+ q(0143),
+ q(0),
+ ],
+ q(nam) => [
+ q(0154),
+ q(0),
+ ],
+ q(ncl) => [
+ q(0158),
+ q(0),
+ ],
+ q(ner) => [
+ q(0161),
+ q(0),
+ ],
+ q(nfk) => [
+ q(0164),
+ q(0),
+ ],
+ q(nga) => [
+ q(0162),
+ q(0),
+ ],
+ q(nic) => [
+ q(0160),
+ q(0),
+ ],
+ q(niu) => [
+ q(0163),
+ q(0),
+ ],
+ q(nld) => [
+ q(0157),
+ q(0),
+ ],
+ q(nor) => [
+ q(0166),
+ q(0),
+ ],
+ q(npl) => [
+ q(0156),
+ q(0),
+ ],
+ q(nru) => [
+ q(0155),
+ q(0),
+ ],
+ q(nzl) => [
+ q(0159),
+ q(0),
+ ],
+ q(omn) => [
+ q(0167),
+ q(0),
+ ],
+ q(pak) => [
+ q(0168),
+ q(0),
+ ],
+ q(pan) => [
+ q(0171),
+ q(0),
+ ],
+ q(pcn) => [
+ q(0176),
+ q(0),
+ ],
+ q(per) => [
+ q(0174),
+ q(0),
+ ],
+ q(phl) => [
+ q(0175),
+ q(0),
+ ],
+ q(plw) => [
+ q(0169),
+ q(0),
+ ],
+ q(png) => [
+ q(0172),
+ q(0),
+ ],
+ q(pol) => [
+ q(0177),
+ q(0),
+ ],
+ q(pri) => [
+ q(0179),
+ q(0),
+ ],
+ q(prk) => [
+ q(0118),
+ q(1),
+ ],
+ q(prt) => [
+ q(0178),
+ q(0),
+ ],
+ q(pry) => [
+ q(0173),
+ q(0),
+ ],
+ q(pse) => [
+ q(0170),
+ q(1),
+ ],
+ q(pyf) => [
+ q(0078),
+ q(0),
+ ],
+ q(qat) => [
+ q(0180),
+ q(0),
+ ],
+ q(reu) => [
+ q(0181),
+ q(0),
+ ],
+ q(rou) => [
+ q(0182),
+ q(0),
+ ],
+ q(rus) => [
+ q(0183),
+ q(0),
+ ],
+ q(rwa) => [
+ q(0184),
+ q(0),
+ ],
+ q(sau) => [
+ q(0195),
+ q(0),
+ ],
+ q(sdn) => [
+ q(0210),
+ q(0),
+ ],
+ q(sen) => [
+ q(0196),
+ q(0),
+ ],
+ q(sgp) => [
+ q(0200),
+ q(0),
+ ],
+ q(shn) => [
+ q(0186),
+ q(1),
+ ],
+ q(sjm) => [
+ q(0212),
+ q(1),
+ ],
+ q(slb) => [
+ q(0204),
+ q(0),
+ ],
+ q(sle) => [
+ q(0199),
+ q(0),
+ ],
+ q(slv) => [
+ q(0067),
+ q(0),
+ ],
+ q(smr) => [
+ q(0193),
+ q(0),
+ ],
+ q(som) => [
+ q(0205),
+ q(0),
+ ],
+ q(spm) => [
+ q(0190),
+ q(0),
+ ],
+ q(srb) => [
+ q(0197),
+ q(0),
+ ],
+ q(stp) => [
+ q(0194),
+ q(0),
+ ],
+ q(sur) => [
+ q(0211),
+ q(0),
+ ],
+ q(svk) => [
+ q(0202),
+ q(0),
+ ],
+ q(svn) => [
+ q(0203),
+ q(0),
+ ],
+ q(swe) => [
+ q(0214),
+ q(0),
+ ],
+ q(swz) => [
+ q(0213),
+ q(0),
+ ],
+ q(sxm) => [
+ q(0201),
+ q(0),
+ ],
+ q(syc) => [
+ q(0198),
+ q(0),
+ ],
+ q(syr) => [
+ q(0216),
+ q(0),
+ ],
+ q(tca) => [
+ q(0229),
+ q(0),
+ ],
+ q(tcd) => [
+ q(0044),
+ q(0),
+ ],
+ q(tgo) => [
+ q(0222),
+ q(0),
+ ],
+ q(tha) => [
+ q(0220),
+ q(0),
+ ],
+ q(tjk) => [
+ q(0218),
+ q(0),
+ ],
+ q(tkl) => [
+ q(0223),
+ q(0),
+ ],
+ q(tkm) => [
+ q(0228),
+ q(0),
+ ],
+ q(tls) => [
+ q(0221),
+ q(0),
+ ],
+ q(ton) => [
+ q(0224),
+ q(0),
+ ],
+ q(tto) => [
+ q(0225),
+ q(0),
+ ],
+ q(tun) => [
+ q(0226),
+ q(0),
+ ],
+ q(tur) => [
+ q(0227),
+ q(0),
+ ],
+ q(tuv) => [
+ q(0230),
+ q(0),
+ ],
+ q(twn) => [
+ q(0217),
+ q(1),
+ ],
+ q(tza) => [
+ q(0219),
+ q(1),
+ ],
+ q(uga) => [
+ q(0231),
+ q(0),
+ ],
+ q(ukr) => [
+ q(0232),
+ q(0),
+ ],
+ q(umi) => [
+ q(0236),
+ q(0),
+ ],
+ q(ury) => [
+ q(0237),
+ q(0),
+ ],
+ q(usa) => [
+ q(0235),
+ q(1),
+ ],
+ q(uzb) => [
+ q(0238),
+ q(0),
+ ],
+ q(vat) => [
+ q(0098),
+ q(1),
+ ],
+ q(vct) => [
+ q(0191),
+ q(0),
+ ],
+ q(ven) => [
+ q(0240),
+ q(1),
+ ],
+ q(vgb) => [
+ q(0242),
+ q(1),
+ ],
+ q(vir) => [
+ q(0243),
+ q(1),
+ ],
+ q(vnm) => [
+ q(0241),
+ q(0),
+ ],
+ q(vut) => [
+ q(0239),
+ q(0),
+ ],
+ q(wlf) => [
+ q(0244),
+ q(1),
+ ],
+ q(wsm) => [
+ q(0192),
+ q(0),
+ ],
+ q(yem) => [
+ q(0246),
+ q(0),
+ ],
+ q(zaf) => [
+ q(0206),
+ q(0),
+ ],
+ q(zmb) => [
+ q(0247),
+ q(0),
+ ],
+ q(zwe) => [
+ q(0248),
+ q(0),
+ ],
+ },
+ q(dom) => {
+ q(AC) => [
+ q(0275),
+ q(0),
+ ],
+ q(AD) => [
+ q(0006),
+ q(0),
+ ],
+ q(AE) => [
+ q(0233),
+ q(0),
+ ],
+ q(AF) => [
+ q(0001),
+ q(0),
+ ],
+ q(AG) => [
+ q(0010),
+ q(0),
+ ],
+ q(AI) => [
+ q(0008),
+ q(0),
+ ],
+ q(AL) => [
+ q(0003),
+ q(0),
+ ],
+ q(AM) => [
+ q(0012),
+ q(0),
+ ],
+ q(AN) => [
+ q(0267),
+ q(0),
+ ],
+ q(AO) => [
+ q(0007),
+ q(0),
+ ],
+ q(AQ) => [
+ q(0009),
+ q(0),
+ ],
+ q(AR) => [
+ q(0011),
+ q(0),
+ ],
+ q(AS) => [
+ q(0005),
+ q(0),
+ ],
+ q(AT) => [
+ q(0015),
+ q(0),
+ ],
+ q(AU) => [
+ q(0014),
+ q(0),
+ ],
+ q(AW) => [
+ q(0013),
+ q(0),
+ ],
+ q(AX) => [
+ q(0002),
+ q(0),
+ ],
+ q(AZ) => [
+ q(0016),
+ q(0),
+ ],
+ q(BA) => [
+ q(0029),
+ q(0),
+ ],
+ q(BB) => [
+ q(0020),
+ q(0),
+ ],
+ q(BD) => [
+ q(0019),
+ q(0),
+ ],
+ q(BE) => [
+ q(0022),
+ q(0),
+ ],
+ q(BF) => [
+ q(0036),
+ q(0),
+ ],
+ q(BG) => [
+ q(0035),
+ q(0),
+ ],
+ q(BH) => [
+ q(0018),
+ q(0),
+ ],
+ q(BI) => [
+ q(0037),
+ q(0),
+ ],
+ q(BJ) => [
+ q(0024),
+ q(0),
+ ],
+ q(BL) => [
+ q(0185),
+ q(0),
+ ],
+ q(BM) => [
+ q(0025),
+ q(0),
+ ],
+ q(BN) => [
+ q(0034),
+ q(0),
+ ],
+ q(BO) => [
+ q(0027),
+ q(2),
+ ],
+ q(BQ) => [
+ q(0028),
+ q(0),
+ ],
+ q(BR) => [
+ q(0032),
+ q(0),
+ ],
+ q(BS) => [
+ q(0017),
+ q(0),
+ ],
+ q(BT) => [
+ q(0026),
+ q(0),
+ ],
+ q(BV) => [
+ q(0031),
+ q(0),
+ ],
+ q(BW) => [
+ q(0030),
+ q(0),
+ ],
+ q(BY) => [
+ q(0021),
+ q(0),
+ ],
+ q(BZ) => [
+ q(0023),
+ q(0),
+ ],
+ q(CA) => [
+ q(0040),
+ q(0),
+ ],
+ q(CC) => [
+ q(0048),
+ q(0),
+ ],
+ q(CD) => [
+ q(0052),
+ q(0),
+ ],
+ q(CF) => [
+ q(0043),
+ q(0),
+ ],
+ q(CG) => [
+ q(0051),
+ q(0),
+ ],
+ q(CH) => [
+ q(0215),
+ q(0),
+ ],
+ q(CI) => [
+ q(0055),
+ q(0),
+ ],
+ q(CK) => [
+ q(0053),
+ q(0),
+ ],
+ q(CL) => [
+ q(0045),
+ q(0),
+ ],
+ q(CM) => [
+ q(0039),
+ q(0),
+ ],
+ q(CN) => [
+ q(0046),
+ q(0),
+ ],
+ q(CO) => [
+ q(0049),
+ q(0),
+ ],
+ q(CR) => [
+ q(0054),
+ q(0),
+ ],
+ q(CU) => [
+ q(0057),
+ q(0),
+ ],
+ q(CV) => [
+ q(0041),
+ q(0),
+ ],
+ q(CW) => [
+ q(0058),
+ q(0),
+ ],
+ q(CX) => [
+ q(0047),
+ q(0),
+ ],
+ q(CY) => [
+ q(0059),
+ q(0),
+ ],
+ q(CZ) => [
+ q(0060),
+ q(0),
+ ],
+ q(DE) => [
+ q(0083),
+ q(0),
+ ],
+ q(DJ) => [
+ q(0062),
+ q(0),
+ ],
+ q(DK) => [
+ q(0061),
+ q(0),
+ ],
+ q(DM) => [
+ q(0063),
+ q(0),
+ ],
+ q(DO) => [
+ q(0064),
+ q(0),
+ ],
+ q(DZ) => [
+ q(0004),
+ q(0),
+ ],
+ q(EC) => [
+ q(0065),
+ q(0),
+ ],
+ q(EE) => [
+ q(0070),
+ q(0),
+ ],
+ q(EG) => [
+ q(0066),
+ q(0),
+ ],
+ q(EH) => [
+ q(0245),
+ q(0),
+ ],
+ q(ER) => [
+ q(0069),
+ q(0),
+ ],
+ q(ES) => [
+ q(0208),
+ q(0),
+ ],
+ q(ET) => [
+ q(0071),
+ q(0),
+ ],
+ q(EU) => [
+ q(0276),
+ q(0),
+ ],
+ q(FI) => [
+ q(0075),
+ q(0),
+ ],
+ q(FJ) => [
+ q(0074),
+ q(0),
+ ],
+ q(FK) => [
+ q(0072),
+ q(0),
+ ],
+ q(FM) => [
+ q(0145),
+ q(0),
+ ],
+ q(FO) => [
+ q(0073),
+ q(0),
+ ],
+ q(FR) => [
+ q(0076),
+ q(0),
+ ],
+ q(FX) => [
+ q(0279),
+ q(0),
+ ],
+ q(GA) => [
+ q(0080),
+ q(0),
+ ],
+ q(GB) => [
+ q(0234),
+ q(0),
+ ],
+ q(GD) => [
+ q(0088),
+ q(0),
+ ],
+ q(GE) => [
+ q(0082),
+ q(0),
+ ],
+ q(GF) => [
+ q(0077),
+ q(0),
+ ],
+ q(GG) => [
+ q(0092),
+ q(0),
+ ],
+ q(GH) => [
+ q(0084),
+ q(0),
+ ],
+ q(GI) => [
+ q(0085),
+ q(0),
+ ],
+ q(GL) => [
+ q(0087),
+ q(0),
+ ],
+ q(GM) => [
+ q(0081),
+ q(0),
+ ],
+ q(GN) => [
+ q(0093),
+ q(0),
+ ],
+ q(GP) => [
+ q(0089),
+ q(0),
+ ],
+ q(GQ) => [
+ q(0068),
+ q(0),
+ ],
+ q(GR) => [
+ q(0086),
+ q(0),
+ ],
+ q(GS) => [
+ q(0207),
+ q(0),
+ ],
+ q(GT) => [
+ q(0091),
+ q(0),
+ ],
+ q(GU) => [
+ q(0090),
+ q(0),
+ ],
+ q(GW) => [
+ q(0094),
+ q(0),
+ ],
+ q(GY) => [
+ q(0095),
+ q(0),
+ ],
+ q(HK) => [
+ q(0100),
+ q(0),
+ ],
+ q(HM) => [
+ q(0097),
+ q(0),
+ ],
+ q(HN) => [
+ q(0099),
+ q(0),
+ ],
+ q(HR) => [
+ q(0056),
+ q(0),
+ ],
+ q(HT) => [
+ q(0096),
+ q(0),
+ ],
+ q(HU) => [
+ q(0101),
+ q(0),
+ ],
+ q(ID) => [
+ q(0104),
+ q(0),
+ ],
+ q(IE) => [
+ q(0107),
+ q(0),
+ ],
+ q(IL) => [
+ q(0109),
+ q(0),
+ ],
+ q(IM) => [
+ q(0108),
+ q(0),
+ ],
+ q(IN) => [
+ q(0103),
+ q(0),
+ ],
+ q(IO) => [
+ q(0033),
+ q(0),
+ ],
+ q(IQ) => [
+ q(0106),
+ q(0),
+ ],
+ q(IR) => [
+ q(0105),
+ q(0),
+ ],
+ q(IS) => [
+ q(0102),
+ q(0),
+ ],
+ q(IT) => [
+ q(0110),
+ q(0),
+ ],
+ q(JE) => [
+ q(0113),
+ q(0),
+ ],
+ q(JM) => [
+ q(0111),
+ q(0),
+ ],
+ q(JO) => [
+ q(0114),
+ q(0),
+ ],
+ q(JP) => [
+ q(0112),
+ q(0),
+ ],
+ q(KE) => [
+ q(0116),
+ q(0),
+ ],
+ q(KG) => [
+ q(0121),
+ q(0),
+ ],
+ q(KH) => [
+ q(0038),
+ q(0),
+ ],
+ q(KI) => [
+ q(0117),
+ q(0),
+ ],
+ q(KM) => [
+ q(0050),
+ q(0),
+ ],
+ q(KN) => [
+ q(0187),
+ q(0),
+ ],
+ q(KP) => [
+ q(0118),
+ q(0),
+ ],
+ q(KR) => [
+ q(0119),
+ q(0),
+ ],
+ q(KW) => [
+ q(0120),
+ q(0),
+ ],
+ q(KY) => [
+ q(0042),
+ q(0),
+ ],
+ q(KZ) => [
+ q(0115),
+ q(0),
+ ],
+ q(LA) => [
+ q(0122),
+ q(0),
+ ],
+ q(LB) => [
+ q(0124),
+ q(0),
+ ],
+ q(LC) => [
+ q(0188),
+ q(0),
+ ],
+ q(LI) => [
+ q(0128),
+ q(0),
+ ],
+ q(LK) => [
+ q(0209),
+ q(0),
+ ],
+ q(LR) => [
+ q(0126),
+ q(0),
+ ],
+ q(LS) => [
+ q(0125),
+ q(0),
+ ],
+ q(LT) => [
+ q(0129),
+ q(0),
+ ],
+ q(LU) => [
+ q(0130),
+ q(0),
+ ],
+ q(LV) => [
+ q(0123),
+ q(0),
+ ],
+ q(LY) => [
+ q(0127),
+ q(0),
+ ],
+ q(MA) => [
+ q(0151),
+ q(0),
+ ],
+ q(MC) => [
+ q(0147),
+ q(0),
+ ],
+ q(MD) => [
+ q(0146),
+ q(0),
+ ],
+ q(ME) => [
+ q(0149),
+ q(0),
+ ],
+ q(MF) => [
+ q(0189),
+ q(0),
+ ],
+ q(MG) => [
+ q(0133),
+ q(0),
+ ],
+ q(MH) => [
+ q(0139),
+ q(0),
+ ],
+ q(MK) => [
+ q(0132),
+ q(0),
+ ],
+ q(ML) => [
+ q(0137),
+ q(0),
+ ],
+ q(MM) => [
+ q(0153),
+ q(0),
+ ],
+ q(MN) => [
+ q(0148),
+ q(0),
+ ],
+ q(MO) => [
+ q(0131),
+ q(0),
+ ],
+ q(MP) => [
+ q(0165),
+ q(0),
+ ],
+ q(MQ) => [
+ q(0140),
+ q(0),
+ ],
+ q(MR) => [
+ q(0141),
+ q(0),
+ ],
+ q(MS) => [
+ q(0150),
+ q(0),
+ ],
+ q(MT) => [
+ q(0138),
+ q(0),
+ ],
+ q(MU) => [
+ q(0142),
+ q(0),
+ ],
+ q(MV) => [
+ q(0136),
+ q(0),
+ ],
+ q(MW) => [
+ q(0134),
+ q(0),
+ ],
+ q(MX) => [
+ q(0144),
+ q(0),
+ ],
+ q(MY) => [
+ q(0135),
+ q(0),
+ ],
+ q(MZ) => [
+ q(0152),
+ q(0),
+ ],
+ q(NA) => [
+ q(0154),
+ q(0),
+ ],
+ q(NC) => [
+ q(0158),
+ q(0),
+ ],
+ q(NE) => [
+ q(0161),
+ q(0),
+ ],
+ q(NF) => [
+ q(0164),
+ q(0),
+ ],
+ q(NG) => [
+ q(0162),
+ q(0),
+ ],
+ q(NI) => [
+ q(0160),
+ q(0),
+ ],
+ q(NL) => [
+ q(0157),
+ q(0),
+ ],
+ q(NO) => [
+ q(0166),
+ q(0),
+ ],
+ q(NP) => [
+ q(0156),
+ q(0),
+ ],
+ q(NR) => [
+ q(0155),
+ q(0),
+ ],
+ q(NU) => [
+ q(0163),
+ q(0),
+ ],
+ q(NZ) => [
+ q(0159),
+ q(0),
+ ],
+ q(OM) => [
+ q(0167),
+ q(0),
+ ],
+ q(PA) => [
+ q(0171),
+ q(0),
+ ],
+ q(PE) => [
+ q(0174),
+ q(0),
+ ],
+ q(PF) => [
+ q(0078),
+ q(0),
+ ],
+ q(PG) => [
+ q(0172),
+ q(0),
+ ],
+ q(PH) => [
+ q(0175),
+ q(0),
+ ],
+ q(PK) => [
+ q(0168),
+ q(0),
+ ],
+ q(PL) => [
+ q(0177),
+ q(0),
+ ],
+ q(PM) => [
+ q(0190),
+ q(0),
+ ],
+ q(PN) => [
+ q(0176),
+ q(0),
+ ],
+ q(PR) => [
+ q(0179),
+ q(0),
+ ],
+ q(PS) => [
+ q(0170),
+ q(0),
+ ],
+ q(PT) => [
+ q(0178),
+ q(0),
+ ],
+ q(PW) => [
+ q(0169),
+ q(0),
+ ],
+ q(PY) => [
+ q(0173),
+ q(0),
+ ],
+ q(QA) => [
+ q(0180),
+ q(0),
+ ],
+ q(RE) => [
+ q(0181),
+ q(0),
+ ],
+ q(RO) => [
+ q(0182),
+ q(0),
+ ],
+ q(RS) => [
+ q(0197),
+ q(0),
+ ],
+ q(RU) => [
+ q(0183),
+ q(0),
+ ],
+ q(RW) => [
+ q(0184),
+ q(0),
+ ],
+ q(SA) => [
+ q(0195),
+ q(0),
+ ],
+ q(SB) => [
+ q(0204),
+ q(0),
+ ],
+ q(SC) => [
+ q(0198),
+ q(0),
+ ],
+ q(SD) => [
+ q(0210),
+ q(0),
+ ],
+ q(SE) => [
+ q(0214),
+ q(0),
+ ],
+ q(SG) => [
+ q(0200),
+ q(0),
+ ],
+ q(SH) => [
+ q(0186),
+ q(1),
+ ],
+ q(SI) => [
+ q(0203),
+ q(0),
+ ],
+ q(SJ) => [
+ q(0212),
+ q(0),
+ ],
+ q(SK) => [
+ q(0202),
+ q(0),
+ ],
+ q(SL) => [
+ q(0199),
+ q(0),
+ ],
+ q(SM) => [
+ q(0193),
+ q(0),
+ ],
+ q(SN) => [
+ q(0196),
+ q(0),
+ ],
+ q(SO) => [
+ q(0205),
+ q(0),
+ ],
+ q(SR) => [
+ q(0211),
+ q(0),
+ ],
+ q(ST) => [
+ q(0194),
+ q(0),
+ ],
+ q(SU) => [
+ q(0277),
+ q(0),
+ ],
+ q(SV) => [
+ q(0067),
+ q(0),
+ ],
+ q(SX) => [
+ q(0201),
+ q(0),
+ ],
+ q(SY) => [
+ q(0216),
+ q(0),
+ ],
+ q(SZ) => [
+ q(0213),
+ q(0),
+ ],
+ q(TC) => [
+ q(0229),
+ q(0),
+ ],
+ q(TD) => [
+ q(0044),
+ q(0),
+ ],
+ q(TF) => [
+ q(0079),
+ q(0),
+ ],
+ q(TG) => [
+ q(0222),
+ q(0),
+ ],
+ q(TH) => [
+ q(0220),
+ q(0),
+ ],
+ q(TJ) => [
+ q(0218),
+ q(0),
+ ],
+ q(TK) => [
+ q(0223),
+ q(0),
+ ],
+ q(TL) => [
+ q(0221),
+ q(0),
+ ],
+ q(TM) => [
+ q(0228),
+ q(0),
+ ],
+ q(TN) => [
+ q(0226),
+ q(0),
+ ],
+ q(TO) => [
+ q(0224),
+ q(0),
+ ],
+ q(TP) => [
+ q(0278),
+ q(0),
+ ],
+ q(TR) => [
+ q(0227),
+ q(0),
+ ],
+ q(TT) => [
+ q(0225),
+ q(0),
+ ],
+ q(TV) => [
+ q(0230),
+ q(0),
+ ],
+ q(TW) => [
+ q(0217),
+ q(1),
+ ],
+ q(TZ) => [
+ q(0219),
+ q(0),
+ ],
+ q(UA) => [
+ q(0232),
+ q(0),
+ ],
+ q(UG) => [
+ q(0231),
+ q(0),
+ ],
+ q(UK) => [
+ q(0234),
+ q(0),
+ ],
+ q(UM) => [
+ q(0236),
+ q(0),
+ ],
+ q(US) => [
+ q(0235),
+ q(0),
+ ],
+ q(UY) => [
+ q(0237),
+ q(0),
+ ],
+ q(UZ) => [
+ q(0238),
+ q(0),
+ ],
+ q(VA) => [
+ q(0098),
+ q(0),
+ ],
+ q(VC) => [
+ q(0191),
+ q(0),
+ ],
+ q(VE) => [
+ q(0240),
+ q(0),
+ ],
+ q(VG) => [
+ q(0242),
+ q(0),
+ ],
+ q(VI) => [
+ q(0243),
+ q(0),
+ ],
+ q(VN) => [
+ q(0241),
+ q(0),
+ ],
+ q(VU) => [
+ q(0239),
+ q(0),
+ ],
+ q(WF) => [
+ q(0244),
+ q(0),
+ ],
+ q(WS) => [
+ q(0192),
+ q(0),
+ ],
+ q(YE) => [
+ q(0246),
+ q(0),
+ ],
+ q(YT) => [
+ q(0143),
+ q(0),
+ ],
+ q(ZA) => [
+ q(0206),
+ q(0),
+ ],
+ q(ZM) => [
+ q(0247),
+ q(0),
+ ],
+ q(ZW) => [
+ q(0248),
+ q(0),
+ ],
+ },
+ q(fips) => {
+ q(AA) => [
+ q(0013),
+ q(0),
+ ],
+ q(AC) => [
+ q(0010),
+ q(0),
+ ],
+ q(AE) => [
+ q(0233),
+ q(0),
+ ],
+ q(AF) => [
+ q(0001),
+ q(1),
+ ],
+ q(AG) => [
+ q(0004),
+ q(1),
+ ],
+ q(AJ) => [
+ q(0016),
+ q(1),
+ ],
+ q(AL) => [
+ q(0003),
+ q(1),
+ ],
+ q(AM) => [
+ q(0012),
+ q(1),
+ ],
+ q(AN) => [
+ q(0006),
+ q(1),
+ ],
+ q(AO) => [
+ q(0007),
+ q(1),
+ ],
+ q(AQ) => [
+ q(0005),
+ q(1),
+ ],
+ q(AR) => [
+ q(0011),
+ q(1),
+ ],
+ q(AS) => [
+ q(0014),
+ q(1),
+ ],
+ q(AT) => [
+ q(0251),
+ q(1),
+ ],
+ q(AU) => [
+ q(0015),
+ q(1),
+ ],
+ q(AV) => [
+ q(0008),
+ q(0),
+ ],
+ q(AY) => [
+ q(0009),
+ q(0),
+ ],
+ q(BA) => [
+ q(0018),
+ q(1),
+ ],
+ q(BB) => [
+ q(0020),
+ q(0),
+ ],
+ q(BC) => [
+ q(0030),
+ q(1),
+ ],
+ q(BD) => [
+ q(0025),
+ q(0),
+ ],
+ q(BE) => [
+ q(0022),
+ q(1),
+ ],
+ q(BF) => [
+ q(0017),
+ q(2),
+ ],
+ q(BG) => [
+ q(0019),
+ q(1),
+ ],
+ q(BH) => [
+ q(0023),
+ q(0),
+ ],
+ q(BK) => [
+ q(0029),
+ q(0),
+ ],
+ q(BL) => [
+ q(0027),
+ q(3),
+ ],
+ q(BM) => [
+ q(0153),
+ q(2),
+ ],
+ q(BN) => [
+ q(0024),
+ q(1),
+ ],
+ q(BO) => [
+ q(0021),
+ q(1),
+ ],
+ q(BP) => [
+ q(0204),
+ q(0),
+ ],
+ q(BQ) => [
+ q(0266),
+ q(0),
+ ],
+ q(BR) => [
+ q(0032),
+ q(1),
+ ],
+ q(BS) => [
+ q(0253),
+ q(0),
+ ],
+ q(BT) => [
+ q(0026),
+ q(1),
+ ],
+ q(BU) => [
+ q(0035),
+ q(0),
+ ],
+ q(BV) => [
+ q(0031),
+ q(0),
+ ],
+ q(BX) => [
+ q(0034),
+ q(2),
+ ],
+ q(BY) => [
+ q(0037),
+ q(1),
+ ],
+ q(CA) => [
+ q(0040),
+ q(0),
+ ],
+ q(CB) => [
+ q(0038),
+ q(1),
+ ],
+ q(CD) => [
+ q(0044),
+ q(1),
+ ],
+ q(CE) => [
+ q(0209),
+ q(1),
+ ],
+ q(CF) => [
+ q(0051),
+ q(2),
+ ],
+ q(CG) => [
+ q(0052),
+ q(2),
+ ],
+ q(CH) => [
+ q(0046),
+ q(1),
+ ],
+ q(CI) => [
+ q(0045),
+ q(1),
+ ],
+ q(CJ) => [
+ q(0042),
+ q(0),
+ ],
+ q(CK) => [
+ q(0048),
+ q(1),
+ ],
+ q(CM) => [
+ q(0039),
+ q(1),
+ ],
+ q(CN) => [
+ q(0050),
+ q(1),
+ ],
+ q(CO) => [
+ q(0049),
+ q(1),
+ ],
+ q(CQ) => [
+ q(0165),
+ q(1),
+ ],
+ q(CR) => [
+ q(0255),
+ q(1),
+ ],
+ q(CS) => [
+ q(0054),
+ q(1),
+ ],
+ q(CT) => [
+ q(0043),
+ q(0),
+ ],
+ q(CU) => [
+ q(0057),
+ q(1),
+ ],
+ q(CV) => [
+ q(0041),
+ q(1),
+ ],
+ q(CW) => [
+ q(0053),
+ q(0),
+ ],
+ q(CY) => [
+ q(0059),
+ q(1),
+ ],
+ q(DA) => [
+ q(0061),
+ q(1),
+ ],
+ q(DJ) => [
+ q(0062),
+ q(1),
+ ],
+ q(DO) => [
+ q(0063),
+ q(1),
+ ],
+ q(DQ) => [
+ q(0261),
+ q(0),
+ ],
+ q(DR) => [
+ q(0064),
+ q(0),
+ ],
+ q(EC) => [
+ q(0065),
+ q(1),
+ ],
+ q(EG) => [
+ q(0066),
+ q(1),
+ ],
+ q(EI) => [
+ q(0107),
+ q(0),
+ ],
+ q(EK) => [
+ q(0068),
+ q(1),
+ ],
+ q(EN) => [
+ q(0070),
+ q(1),
+ ],
+ q(ER) => [
+ q(0069),
+ q(1),
+ ],
+ q(ES) => [
+ q(0067),
+ q(1),
+ ],
+ q(ET) => [
+ q(0071),
+ q(1),
+ ],
+ q(EU) => [
+ q(0256),
+ q(0),
+ ],
+ q(EZ) => [
+ q(0060),
+ q(0),
+ ],
+ q(FG) => [
+ q(0077),
+ q(1),
+ ],
+ q(FI) => [
+ q(0075),
+ q(1),
+ ],
+ q(FJ) => [
+ q(0074),
+ q(1),
+ ],
+ q(FK) => [
+ q(0072),
+ q(1),
+ ],
+ q(FM) => [
+ q(0145),
+ q(2),
+ ],
+ q(FO) => [
+ q(0073),
+ q(0),
+ ],
+ q(FP) => [
+ q(0078),
+ q(1),
+ ],
+ q(FQ) => [
+ q(0252),
+ q(0),
+ ],
+ q(FR) => [
+ q(0076),
+ q(1),
+ ],
+ q(FS) => [
+ q(0079),
+ q(2),
+ ],
+ q(GA) => [
+ q(0081),
+ q(2),
+ ],
+ q(GB) => [
+ q(0080),
+ q(1),
+ ],
+ q(GG) => [
+ q(0082),
+ q(0),
+ ],
+ q(GH) => [
+ q(0084),
+ q(1),
+ ],
+ q(GI) => [
+ q(0085),
+ q(0),
+ ],
+ q(GJ) => [
+ q(0088),
+ q(0),
+ ],
+ q(GK) => [
+ q(0092),
+ q(1),
+ ],
+ q(GL) => [
+ q(0087),
+ q(0),
+ ],
+ q(GM) => [
+ q(0083),
+ q(1),
+ ],
+ q(GO) => [
+ q(0258),
+ q(0),
+ ],
+ q(GP) => [
+ q(0089),
+ q(1),
+ ],
+ q(GQ) => [
+ q(0090),
+ q(1),
+ ],
+ q(GR) => [
+ q(0086),
+ q(1),
+ ],
+ q(GT) => [
+ q(0091),
+ q(1),
+ ],
+ q(GV) => [
+ q(0093),
+ q(1),
+ ],
+ q(GY) => [
+ q(0095),
+ q(1),
+ ],
+ q(GZ) => [
+ q(0257),
+ q(0),
+ ],
+ q(HA) => [
+ q(0096),
+ q(1),
+ ],
+ q(HK) => [
+ q(0100),
+ q(3),
+ ],
+ q(HM) => [
+ q(0097),
+ q(1),
+ ],
+ q(HO) => [
+ q(0099),
+ q(1),
+ ],
+ q(HQ) => [
+ q(0259),
+ q(0),
+ ],
+ q(HR) => [
+ q(0056),
+ q(1),
+ ],
+ q(HU) => [
+ q(0101),
+ q(1),
+ ],
+ q(IC) => [
+ q(0102),
+ q(1),
+ ],
+ q(ID) => [
+ q(0104),
+ q(1),
+ ],
+ q(IM) => [
+ q(0108),
+ q(0),
+ ],
+ q(IN) => [
+ q(0103),
+ q(1),
+ ],
+ q(IO) => [
+ q(0033),
+ q(0),
+ ],
+ q(IP) => [
+ q(0254),
+ q(0),
+ ],
+ q(IR) => [
+ q(0105),
+ q(3),
+ ],
+ q(IS) => [
+ q(0109),
+ q(1),
+ ],
+ q(IT) => [
+ q(0110),
+ q(1),
+ ],
+ q(IV) => [
+ q(0055),
+ q(1),
+ ],
+ q(IZ) => [
+ q(0106),
+ q(1),
+ ],
+ q(JA) => [
+ q(0112),
+ q(0),
+ ],
+ q(JE) => [
+ q(0113),
+ q(1),
+ ],
+ q(JM) => [
+ q(0111),
+ q(0),
+ ],
+ q(JN) => [
+ q(0260),
+ q(0),
+ ],
+ q(JO) => [
+ q(0114),
+ q(1),
+ ],
+ q(JQ) => [
+ q(0262),
+ q(0),
+ ],
+ q(JU) => [
+ q(0263),
+ q(0),
+ ],
+ q(KE) => [
+ q(0116),
+ q(1),
+ ],
+ q(KG) => [
+ q(0121),
+ q(1),
+ ],
+ q(KN) => [
+ q(0118),
+ q(2),
+ ],
+ q(KQ) => [
+ q(0264),
+ q(0),
+ ],
+ q(KR) => [
+ q(0117),
+ q(1),
+ ],
+ q(KS) => [
+ q(0119),
+ q(2),
+ ],
+ q(KT) => [
+ q(0047),
+ q(1),
+ ],
+ q(KU) => [
+ q(0120),
+ q(1),
+ ],
+ q(KV) => [
+ q(0280),
+ q(0),
+ ],
+ q(KZ) => [
+ q(0115),
+ q(1),
+ ],
+ q(LA) => [
+ q(0122),
+ q(1),
+ ],
+ q(LE) => [
+ q(0124),
+ q(1),
+ ],
+ q(LG) => [
+ q(0123),
+ q(1),
+ ],
+ q(LH) => [
+ q(0129),
+ q(1),
+ ],
+ q(LI) => [
+ q(0126),
+ q(1),
+ ],
+ q(LO) => [
+ q(0202),
+ q(1),
+ ],
+ q(LQ) => [
+ q(0268),
+ q(0),
+ ],
+ q(LS) => [
+ q(0128),
+ q(1),
+ ],
+ q(LT) => [
+ q(0125),
+ q(1),
+ ],
+ q(LU) => [
+ q(0130),
+ q(1),
+ ],
+ q(LY) => [
+ q(0127),
+ q(2),
+ ],
+ q(MA) => [
+ q(0133),
+ q(1),
+ ],
+ q(MB) => [
+ q(0140),
+ q(1),
+ ],
+ q(MC) => [
+ q(0131),
+ q(3),
+ ],
+ q(MD) => [
+ q(0146),
+ q(2),
+ ],
+ q(MF) => [
+ q(0143),
+ q(1),
+ ],
+ q(MG) => [
+ q(0148),
+ q(0),
+ ],
+ q(MH) => [
+ q(0150),
+ q(0),
+ ],
+ q(MI) => [
+ q(0134),
+ q(1),
+ ],
+ q(MJ) => [
+ q(0149),
+ q(0),
+ ],
+ q(MK) => [
+ q(0132),
+ q(3),
+ ],
+ q(ML) => [
+ q(0137),
+ q(1),
+ ],
+ q(MN) => [
+ q(0147),
+ q(1),
+ ],
+ q(MO) => [
+ q(0151),
+ q(1),
+ ],
+ q(MP) => [
+ q(0142),
+ q(1),
+ ],
+ q(MQ) => [
+ q(0265),
+ q(0),
+ ],
+ q(MR) => [
+ q(0141),
+ q(1),
+ ],
+ q(MT) => [
+ q(0138),
+ q(1),
+ ],
+ q(MU) => [
+ q(0167),
+ q(1),
+ ],
+ q(MV) => [
+ q(0136),
+ q(1),
+ ],
+ q(MX) => [
+ q(0144),
+ q(1),
+ ],
+ q(MY) => [
+ q(0135),
+ q(0),
+ ],
+ q(MZ) => [
+ q(0152),
+ q(1),
+ ],
+ q(NC) => [
+ q(0158),
+ q(1),
+ ],
+ q(NE) => [
+ q(0163),
+ q(0),
+ ],
+ q(NF) => [
+ q(0164),
+ q(1),
+ ],
+ q(NG) => [
+ q(0161),
+ q(1),
+ ],
+ q(NH) => [
+ q(0239),
+ q(1),
+ ],
+ q(NI) => [
+ q(0162),
+ q(1),
+ ],
+ q(NL) => [
+ q(0157),
+ q(1),
+ ],
+ q(NO) => [
+ q(0166),
+ q(1),
+ ],
+ q(NP) => [
+ q(0156),
+ q(1),
+ ],
+ q(NR) => [
+ q(0155),
+ q(1),
+ ],
+ q(NS) => [
+ q(0211),
+ q(1),
+ ],
+ q(NT) => [
+ q(0267),
+ q(0),
+ ],
+ q(NU) => [
+ q(0160),
+ q(1),
+ ],
+ q(NZ) => [
+ q(0159),
+ q(0),
+ ],
+ q(PA) => [
+ q(0173),
+ q(1),
+ ],
+ q(PC) => [
+ q(0176),
+ q(2),
+ ],
+ q(PE) => [
+ q(0174),
+ q(1),
+ ],
+ q(PF) => [
+ q(0269),
+ q(0),
+ ],
+ q(PG) => [
+ q(0270),
+ q(0),
+ ],
+ q(PK) => [
+ q(0168),
+ q(1),
+ ],
+ q(PL) => [
+ q(0177),
+ q(1),
+ ],
+ q(PM) => [
+ q(0171),
+ q(1),
+ ],
+ q(PO) => [
+ q(0178),
+ q(1),
+ ],
+ q(PP) => [
+ q(0172),
+ q(1),
+ ],
+ q(PS) => [
+ q(0169),
+ q(1),
+ ],
+ q(PU) => [
+ q(0094),
+ q(1),
+ ],
+ q(QA) => [
+ q(0180),
+ q(1),
+ ],
+ q(RE) => [
+ q(0181),
+ q(1),
+ ],
+ q(RI) => [
+ q(0197),
+ q(0),
+ ],
+ q(RM) => [
+ q(0139),
+ q(1),
+ ],
+ q(RN) => [
+ q(0189),
+ q(2),
+ ],
+ q(RO) => [
+ q(0182),
+ q(0),
+ ],
+ q(RP) => [
+ q(0175),
+ q(1),
+ ],
+ q(RQ) => [
+ q(0179),
+ q(1),
+ ],
+ q(RS) => [
+ q(0183),
+ q(1),
+ ],
+ q(RW) => [
+ q(0184),
+ q(1),
+ ],
+ q(SA) => [
+ q(0195),
+ q(1),
+ ],
+ q(SB) => [
+ q(0190),
+ q(1),
+ ],
+ q(SC) => [
+ q(0187),
+ q(1),
+ ],
+ q(SE) => [
+ q(0198),
+ q(1),
+ ],
+ q(SF) => [
+ q(0206),
+ q(1),
+ ],
+ q(SG) => [
+ q(0196),
+ q(1),
+ ],
+ q(SH) => [
+ q(0186),
+ q(1),
+ ],
+ q(SI) => [
+ q(0203),
+ q(1),
+ ],
+ q(SL) => [
+ q(0199),
+ q(1),
+ ],
+ q(SM) => [
+ q(0193),
+ q(1),
+ ],
+ q(SN) => [
+ q(0200),
+ q(1),
+ ],
+ q(SO) => [
+ q(0205),
+ q(0),
+ ],
+ q(SP) => [
+ q(0208),
+ q(1),
+ ],
+ q(ST) => [
+ q(0188),
+ q(0),
+ ],
+ q(SU) => [
+ q(0210),
+ q(1),
+ ],
+ q(SV) => [
+ q(0271),
+ q(0),
+ ],
+ q(SW) => [
+ q(0214),
+ q(1),
+ ],
+ q(SX) => [
+ q(0207),
+ q(0),
+ ],
+ q(SY) => [
+ q(0216),
+ q(1),
+ ],
+ q(SZ) => [
+ q(0215),
+ q(1),
+ ],
+ q(TB) => [
+ q(0185),
+ q(0),
+ ],
+ q(TD) => [
+ q(0225),
+ q(1),
+ ],
+ q(TE) => [
+ q(0272),
+ q(0),
+ ],
+ q(TH) => [
+ q(0220),
+ q(1),
+ ],
+ q(TI) => [
+ q(0218),
+ q(1),
+ ],
+ q(TK) => [
+ q(0229),
+ q(0),
+ ],
+ q(TL) => [
+ q(0223),
+ q(0),
+ ],
+ q(TN) => [
+ q(0224),
+ q(1),
+ ],
+ q(TO) => [
+ q(0222),
+ q(1),
+ ],
+ q(TP) => [
+ q(0194),
+ q(1),
+ ],
+ q(TS) => [
+ q(0226),
+ q(1),
+ ],
+ q(TT) => [
+ q(0221),
+ q(1),
+ ],
+ q(TU) => [
+ q(0227),
+ q(1),
+ ],
+ q(TV) => [
+ q(0230),
+ q(0),
+ ],
+ q(TW) => [
+ q(0217),
+ q(1),
+ ],
+ q(TX) => [
+ q(0228),
+ q(0),
+ ],
+ q(TZ) => [
+ q(0219),
+ q(2),
+ ],
+ q(UC) => [
+ q(0058),
+ q(0),
+ ],
+ q(UG) => [
+ q(0231),
+ q(0),
+ ],
+ q(UK) => [
+ q(0234),
+ q(0),
+ ],
+ q(UP) => [
+ q(0232),
+ q(0),
+ ],
+ q(US) => [
+ q(0235),
+ q(0),
+ ],
+ q(UV) => [
+ q(0036),
+ q(0),
+ ],
+ q(UY) => [
+ q(0237),
+ q(1),
+ ],
+ q(UZ) => [
+ q(0238),
+ q(1),
+ ],
+ q(VC) => [
+ q(0191),
+ q(0),
+ ],
+ q(VE) => [
+ q(0240),
+ q(3),
+ ],
+ q(VI) => [
+ q(0242),
+ q(1),
+ ],
+ q(VM) => [
+ q(0241),
+ q(2),
+ ],
+ q(VQ) => [
+ q(0243),
+ q(3),
+ ],
+ q(VT) => [
+ q(0098),
+ q(3),
+ ],
+ q(WA) => [
+ q(0154),
+ q(1),
+ ],
+ q(WE) => [
+ q(0274),
+ q(0),
+ ],
+ q(WF) => [
+ q(0244),
+ q(2),
+ ],
+ q(WI) => [
+ q(0245),
+ q(0),
+ ],
+ q(WQ) => [
+ q(0273),
+ q(0),
+ ],
+ q(WS) => [
+ q(0192),
+ q(1),
+ ],
+ q(WZ) => [
+ q(0213),
+ q(1),
+ ],
+ q(YI) => [
+ q(0250),
+ q(0),
+ ],
+ q(YM) => [
+ q(0246),
+ q(1),
+ ],
+ q(ZA) => [
+ q(0247),
+ q(1),
+ ],
+ q(ZI) => [
+ q(0248),
+ q(1),
+ ],
+ },
+ q(num) => {
+ q(004) => [
+ q(0001),
+ q(0),
+ ],
+ q(008) => [
+ q(0003),
+ q(0),
+ ],
+ q(010) => [
+ q(0009),
+ q(0),
+ ],
+ q(012) => [
+ q(0004),
+ q(0),
+ ],
+ q(016) => [
+ q(0005),
+ q(0),
+ ],
+ q(020) => [
+ q(0006),
+ q(0),
+ ],
+ q(024) => [
+ q(0007),
+ q(0),
+ ],
+ q(028) => [
+ q(0010),
+ q(0),
+ ],
+ q(031) => [
+ q(0016),
+ q(0),
+ ],
+ q(032) => [
+ q(0011),
+ q(0),
+ ],
+ q(036) => [
+ q(0014),
+ q(0),
+ ],
+ q(040) => [
+ q(0015),
+ q(0),
+ ],
+ q(044) => [
+ q(0017),
+ q(0),
+ ],
+ q(048) => [
+ q(0018),
+ q(0),
+ ],
+ q(050) => [
+ q(0019),
+ q(0),
+ ],
+ q(051) => [
+ q(0012),
+ q(0),
+ ],
+ q(052) => [
+ q(0020),
+ q(0),
+ ],
+ q(056) => [
+ q(0022),
+ q(0),
+ ],
+ q(060) => [
+ q(0025),
+ q(0),
+ ],
+ q(064) => [
+ q(0026),
+ q(0),
+ ],
+ q(068) => [
+ q(0027),
+ q(1),
+ ],
+ q(070) => [
+ q(0029),
+ q(0),
+ ],
+ q(072) => [
+ q(0030),
+ q(0),
+ ],
+ q(074) => [
+ q(0031),
+ q(0),
+ ],
+ q(076) => [
+ q(0032),
+ q(0),
+ ],
+ q(084) => [
+ q(0023),
+ q(0),
+ ],
+ q(086) => [
+ q(0033),
+ q(0),
+ ],
+ q(090) => [
+ q(0204),
+ q(0),
+ ],
+ q(092) => [
+ q(0242),
+ q(1),
+ ],
+ q(096) => [
+ q(0034),
+ q(0),
+ ],
+ q(100) => [
+ q(0035),
+ q(0),
+ ],
+ q(104) => [
+ q(0153),
+ q(0),
+ ],
+ q(108) => [
+ q(0037),
+ q(0),
+ ],
+ q(112) => [
+ q(0021),
+ q(0),
+ ],
+ q(116) => [
+ q(0038),
+ q(0),
+ ],
+ q(120) => [
+ q(0039),
+ q(0),
+ ],
+ q(124) => [
+ q(0040),
+ q(0),
+ ],
+ q(132) => [
+ q(0041),
+ q(0),
+ ],
+ q(136) => [
+ q(0042),
+ q(0),
+ ],
+ q(140) => [
+ q(0043),
+ q(0),
+ ],
+ q(144) => [
+ q(0209),
+ q(0),
+ ],
+ q(148) => [
+ q(0044),
+ q(0),
+ ],
+ q(152) => [
+ q(0045),
+ q(0),
+ ],
+ q(156) => [
+ q(0046),
+ q(0),
+ ],
+ q(158) => [
+ q(0217),
+ q(1),
+ ],
+ q(162) => [
+ q(0047),
+ q(0),
+ ],
+ q(166) => [
+ q(0048),
+ q(0),
+ ],
+ q(170) => [
+ q(0049),
+ q(0),
+ ],
+ q(174) => [
+ q(0050),
+ q(0),
+ ],
+ q(175) => [
+ q(0143),
+ q(0),
+ ],
+ q(178) => [
+ q(0051),
+ q(0),
+ ],
+ q(180) => [
+ q(0052),
+ q(1),
+ ],
+ q(184) => [
+ q(0053),
+ q(0),
+ ],
+ q(188) => [
+ q(0054),
+ q(0),
+ ],
+ q(191) => [
+ q(0056),
+ q(0),
+ ],
+ q(192) => [
+ q(0057),
+ q(0),
+ ],
+ q(196) => [
+ q(0059),
+ q(0),
+ ],
+ q(203) => [
+ q(0060),
+ q(0),
+ ],
+ q(204) => [
+ q(0024),
+ q(0),
+ ],
+ q(208) => [
+ q(0061),
+ q(0),
+ ],
+ q(212) => [
+ q(0063),
+ q(0),
+ ],
+ q(214) => [
+ q(0064),
+ q(0),
+ ],
+ q(218) => [
+ q(0065),
+ q(0),
+ ],
+ q(222) => [
+ q(0067),
+ q(0),
+ ],
+ q(226) => [
+ q(0068),
+ q(0),
+ ],
+ q(231) => [
+ q(0071),
+ q(0),
+ ],
+ q(232) => [
+ q(0069),
+ q(0),
+ ],
+ q(233) => [
+ q(0070),
+ q(0),
+ ],
+ q(234) => [
+ q(0073),
+ q(1),
+ ],
+ q(238) => [
+ q(0072),
+ q(0),
+ ],
+ q(242) => [
+ q(0074),
+ q(0),
+ ],
+ q(246) => [
+ q(0075),
+ q(0),
+ ],
+ q(248) => [
+ q(0002),
+ q(0),
+ ],
+ q(249) => [
+ q(0279),
+ q(0),
+ ],
+ q(250) => [
+ q(0076),
+ q(0),
+ ],
+ q(254) => [
+ q(0077),
+ q(0),
+ ],
+ q(258) => [
+ q(0078),
+ q(0),
+ ],
+ q(260) => [
+ q(0079),
+ q(1),
+ ],
+ q(262) => [
+ q(0062),
+ q(0),
+ ],
+ q(266) => [
+ q(0080),
+ q(0),
+ ],
+ q(268) => [
+ q(0082),
+ q(0),
+ ],
+ q(270) => [
+ q(0081),
+ q(0),
+ ],
+ q(275) => [
+ q(0170),
+ q(1),
+ ],
+ q(276) => [
+ q(0083),
+ q(0),
+ ],
+ q(288) => [
+ q(0084),
+ q(0),
+ ],
+ q(292) => [
+ q(0085),
+ q(0),
+ ],
+ q(296) => [
+ q(0117),
+ q(0),
+ ],
+ q(300) => [
+ q(0086),
+ q(0),
+ ],
+ q(304) => [
+ q(0087),
+ q(0),
+ ],
+ q(308) => [
+ q(0088),
+ q(0),
+ ],
+ q(312) => [
+ q(0089),
+ q(0),
+ ],
+ q(316) => [
+ q(0090),
+ q(0),
+ ],
+ q(320) => [
+ q(0091),
+ q(0),
+ ],
+ q(324) => [
+ q(0093),
+ q(0),
+ ],
+ q(328) => [
+ q(0095),
+ q(0),
+ ],
+ q(332) => [
+ q(0096),
+ q(0),
+ ],
+ q(334) => [
+ q(0097),
+ q(0),
+ ],
+ q(336) => [
+ q(0098),
+ q(1),
+ ],
+ q(340) => [
+ q(0099),
+ q(0),
+ ],
+ q(344) => [
+ q(0100),
+ q(1),
+ ],
+ q(348) => [
+ q(0101),
+ q(0),
+ ],
+ q(352) => [
+ q(0102),
+ q(0),
+ ],
+ q(356) => [
+ q(0103),
+ q(0),
+ ],
+ q(360) => [
+ q(0104),
+ q(0),
+ ],
+ q(364) => [
+ q(0105),
+ q(1),
+ ],
+ q(368) => [
+ q(0106),
+ q(0),
+ ],
+ q(372) => [
+ q(0107),
+ q(0),
+ ],
+ q(376) => [
+ q(0109),
+ q(0),
+ ],
+ q(380) => [
+ q(0110),
+ q(0),
+ ],
+ q(384) => [
+ q(0055),
+ q(0),
+ ],
+ q(388) => [
+ q(0111),
+ q(0),
+ ],
+ q(392) => [
+ q(0112),
+ q(0),
+ ],
+ q(398) => [
+ q(0115),
+ q(0),
+ ],
+ q(400) => [
+ q(0114),
+ q(0),
+ ],
+ q(404) => [
+ q(0116),
+ q(0),
+ ],
+ q(408) => [
+ q(0118),
+ q(1),
+ ],
+ q(410) => [
+ q(0119),
+ q(1),
+ ],
+ q(414) => [
+ q(0120),
+ q(0),
+ ],
+ q(417) => [
+ q(0121),
+ q(0),
+ ],
+ q(418) => [
+ q(0122),
+ q(0),
+ ],
+ q(422) => [
+ q(0124),
+ q(0),
+ ],
+ q(426) => [
+ q(0125),
+ q(0),
+ ],
+ q(428) => [
+ q(0123),
+ q(0),
+ ],
+ q(430) => [
+ q(0126),
+ q(0),
+ ],
+ q(434) => [
+ q(0127),
+ q(0),
+ ],
+ q(438) => [
+ q(0128),
+ q(0),
+ ],
+ q(440) => [
+ q(0129),
+ q(0),
+ ],
+ q(442) => [
+ q(0130),
+ q(0),
+ ],
+ q(446) => [
+ q(0131),
+ q(1),
+ ],
+ q(450) => [
+ q(0133),
+ q(0),
+ ],
+ q(454) => [
+ q(0134),
+ q(0),
+ ],
+ q(458) => [
+ q(0135),
+ q(0),
+ ],
+ q(462) => [
+ q(0136),
+ q(0),
+ ],
+ q(466) => [
+ q(0137),
+ q(0),
+ ],
+ q(470) => [
+ q(0138),
+ q(0),
+ ],
+ q(474) => [
+ q(0140),
+ q(0),
+ ],
+ q(478) => [
+ q(0141),
+ q(0),
+ ],
+ q(480) => [
+ q(0142),
+ q(0),
+ ],
+ q(484) => [
+ q(0144),
+ q(0),
+ ],
+ q(492) => [
+ q(0147),
+ q(0),
+ ],
+ q(496) => [
+ q(0148),
+ q(0),
+ ],
+ q(498) => [
+ q(0146),
+ q(1),
+ ],
+ q(499) => [
+ q(0149),
+ q(0),
+ ],
+ q(500) => [
+ q(0150),
+ q(0),
+ ],
+ q(504) => [
+ q(0151),
+ q(0),
+ ],
+ q(508) => [
+ q(0152),
+ q(0),
+ ],
+ q(512) => [
+ q(0167),
+ q(0),
+ ],
+ q(516) => [
+ q(0154),
+ q(0),
+ ],
+ q(520) => [
+ q(0155),
+ q(0),
+ ],
+ q(524) => [
+ q(0156),
+ q(0),
+ ],
+ q(528) => [
+ q(0157),
+ q(0),
+ ],
+ q(530) => [
+ q(0267),
+ q(0),
+ ],
+ q(531) => [
+ q(0058),
+ q(0),
+ ],
+ q(533) => [
+ q(0013),
+ q(0),
+ ],
+ q(534) => [
+ q(0201),
+ q(0),
+ ],
+ q(535) => [
+ q(0028),
+ q(0),
+ ],
+ q(540) => [
+ q(0158),
+ q(0),
+ ],
+ q(548) => [
+ q(0239),
+ q(0),
+ ],
+ q(554) => [
+ q(0159),
+ q(0),
+ ],
+ q(558) => [
+ q(0160),
+ q(0),
+ ],
+ q(562) => [
+ q(0161),
+ q(0),
+ ],
+ q(566) => [
+ q(0162),
+ q(0),
+ ],
+ q(570) => [
+ q(0163),
+ q(0),
+ ],
+ q(574) => [
+ q(0164),
+ q(0),
+ ],
+ q(578) => [
+ q(0166),
+ q(0),
+ ],
+ q(580) => [
+ q(0165),
+ q(0),
+ ],
+ q(581) => [
+ q(0236),
+ q(0),
+ ],
+ q(583) => [
+ q(0145),
+ q(1),
+ ],
+ q(584) => [
+ q(0139),
+ q(0),
+ ],
+ q(585) => [
+ q(0169),
+ q(0),
+ ],
+ q(586) => [
+ q(0168),
+ q(0),
+ ],
+ q(591) => [
+ q(0171),
+ q(0),
+ ],
+ q(598) => [
+ q(0172),
+ q(0),
+ ],
+ q(600) => [
+ q(0173),
+ q(0),
+ ],
+ q(604) => [
+ q(0174),
+ q(0),
+ ],
+ q(608) => [
+ q(0175),
+ q(0),
+ ],
+ q(612) => [
+ q(0176),
+ q(0),
+ ],
+ q(616) => [
+ q(0177),
+ q(0),
+ ],
+ q(620) => [
+ q(0178),
+ q(0),
+ ],
+ q(624) => [
+ q(0094),
+ q(0),
+ ],
+ q(626) => [
+ q(0221),
+ q(0),
+ ],
+ q(630) => [
+ q(0179),
+ q(0),
+ ],
+ q(634) => [
+ q(0180),
+ q(0),
+ ],
+ q(638) => [
+ q(0181),
+ q(0),
+ ],
+ q(642) => [
+ q(0182),
+ q(0),
+ ],
+ q(643) => [
+ q(0183),
+ q(0),
+ ],
+ q(646) => [
+ q(0184),
+ q(0),
+ ],
+ q(652) => [
+ q(0185),
+ q(1),
+ ],
+ q(654) => [
+ q(0186),
+ q(1),
+ ],
+ q(659) => [
+ q(0187),
+ q(0),
+ ],
+ q(660) => [
+ q(0008),
+ q(0),
+ ],
+ q(662) => [
+ q(0188),
+ q(0),
+ ],
+ q(663) => [
+ q(0189),
+ q(1),
+ ],
+ q(666) => [
+ q(0190),
+ q(0),
+ ],
+ q(670) => [
+ q(0191),
+ q(0),
+ ],
+ q(674) => [
+ q(0193),
+ q(0),
+ ],
+ q(678) => [
+ q(0194),
+ q(0),
+ ],
+ q(682) => [
+ q(0195),
+ q(0),
+ ],
+ q(686) => [
+ q(0196),
+ q(0),
+ ],
+ q(688) => [
+ q(0197),
+ q(0),
+ ],
+ q(690) => [
+ q(0198),
+ q(0),
+ ],
+ q(694) => [
+ q(0199),
+ q(0),
+ ],
+ q(702) => [
+ q(0200),
+ q(0),
+ ],
+ q(703) => [
+ q(0202),
+ q(0),
+ ],
+ q(704) => [
+ q(0241),
+ q(0),
+ ],
+ q(705) => [
+ q(0203),
+ q(0),
+ ],
+ q(706) => [
+ q(0205),
+ q(0),
+ ],
+ q(710) => [
+ q(0206),
+ q(0),
+ ],
+ q(716) => [
+ q(0248),
+ q(0),
+ ],
+ q(724) => [
+ q(0208),
+ q(0),
+ ],
+ q(732) => [
+ q(0245),
+ q(0),
+ ],
+ q(736) => [
+ q(0210),
+ q(0),
+ ],
+ q(740) => [
+ q(0211),
+ q(0),
+ ],
+ q(744) => [
+ q(0212),
+ q(1),
+ ],
+ q(748) => [
+ q(0213),
+ q(0),
+ ],
+ q(752) => [
+ q(0214),
+ q(0),
+ ],
+ q(756) => [
+ q(0215),
+ q(0),
+ ],
+ q(760) => [
+ q(0216),
+ q(0),
+ ],
+ q(762) => [
+ q(0218),
+ q(0),
+ ],
+ q(764) => [
+ q(0220),
+ q(0),
+ ],
+ q(768) => [
+ q(0222),
+ q(0),
+ ],
+ q(772) => [
+ q(0223),
+ q(0),
+ ],
+ q(776) => [
+ q(0224),
+ q(0),
+ ],
+ q(780) => [
+ q(0225),
+ q(0),
+ ],
+ q(784) => [
+ q(0233),
+ q(0),
+ ],
+ q(788) => [
+ q(0226),
+ q(0),
+ ],
+ q(792) => [
+ q(0227),
+ q(0),
+ ],
+ q(795) => [
+ q(0228),
+ q(0),
+ ],
+ q(796) => [
+ q(0229),
+ q(0),
+ ],
+ q(798) => [
+ q(0230),
+ q(0),
+ ],
+ q(800) => [
+ q(0231),
+ q(0),
+ ],
+ q(804) => [
+ q(0232),
+ q(0),
+ ],
+ q(807) => [
+ q(0132),
+ q(1),
+ ],
+ q(818) => [
+ q(0066),
+ q(0),
+ ],
+ q(826) => [
+ q(0234),
+ q(1),
+ ],
+ q(830) => [
+ q(0249),
+ q(0),
+ ],
+ q(831) => [
+ q(0092),
+ q(0),
+ ],
+ q(832) => [
+ q(0113),
+ q(0),
+ ],
+ q(833) => [
+ q(0108),
+ q(0),
+ ],
+ q(834) => [
+ q(0219),
+ q(1),
+ ],
+ q(840) => [
+ q(0235),
+ q(1),
+ ],
+ q(850) => [
+ q(0243),
+ q(1),
+ ],
+ q(854) => [
+ q(0036),
+ q(0),
+ ],
+ q(858) => [
+ q(0237),
+ q(0),
+ ],
+ q(860) => [
+ q(0238),
+ q(0),
+ ],
+ q(862) => [
+ q(0240),
+ q(1),
+ ],
+ q(876) => [
+ q(0244),
+ q(1),
+ ],
+ q(882) => [
+ q(0192),
+ q(0),
+ ],
+ q(887) => [
+ q(0246),
+ q(0),
+ ],
+ q(894) => [
+ q(0247),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'country'}{'id2code'} = {
+ q(alpha2) => {
+ q(0001) => q(af),
+ q(0002) => q(ax),
+ q(0003) => q(al),
+ q(0004) => q(dz),
+ q(0005) => q(as),
+ q(0006) => q(ad),
+ q(0007) => q(ao),
+ q(0008) => q(ai),
+ q(0009) => q(aq),
+ q(0010) => q(ag),
+ q(0011) => q(ar),
+ q(0012) => q(am),
+ q(0013) => q(aw),
+ q(0014) => q(au),
+ q(0015) => q(at),
+ q(0016) => q(az),
+ q(0017) => q(bs),
+ q(0018) => q(bh),
+ q(0019) => q(bd),
+ q(0020) => q(bb),
+ q(0021) => q(by),
+ q(0022) => q(be),
+ q(0023) => q(bz),
+ q(0024) => q(bj),
+ q(0025) => q(bm),
+ q(0026) => q(bt),
+ q(0027) => q(bo),
+ q(0028) => q(bq),
+ q(0029) => q(ba),
+ q(0030) => q(bw),
+ q(0031) => q(bv),
+ q(0032) => q(br),
+ q(0033) => q(io),
+ q(0034) => q(bn),
+ q(0035) => q(bg),
+ q(0036) => q(bf),
+ q(0037) => q(bi),
+ q(0038) => q(kh),
+ q(0039) => q(cm),
+ q(0040) => q(ca),
+ q(0041) => q(cv),
+ q(0042) => q(ky),
+ q(0043) => q(cf),
+ q(0044) => q(td),
+ q(0045) => q(cl),
+ q(0046) => q(cn),
+ q(0047) => q(cx),
+ q(0048) => q(cc),
+ q(0049) => q(co),
+ q(0050) => q(km),
+ q(0051) => q(cg),
+ q(0052) => q(cd),
+ q(0053) => q(ck),
+ q(0054) => q(cr),
+ q(0055) => q(ci),
+ q(0056) => q(hr),
+ q(0057) => q(cu),
+ q(0058) => q(cw),
+ q(0059) => q(cy),
+ q(0060) => q(cz),
+ q(0061) => q(dk),
+ q(0062) => q(dj),
+ q(0063) => q(dm),
+ q(0064) => q(do),
+ q(0065) => q(ec),
+ q(0066) => q(eg),
+ q(0067) => q(sv),
+ q(0068) => q(gq),
+ q(0069) => q(er),
+ q(0070) => q(ee),
+ q(0071) => q(et),
+ q(0072) => q(fk),
+ q(0073) => q(fo),
+ q(0074) => q(fj),
+ q(0075) => q(fi),
+ q(0076) => q(fr),
+ q(0077) => q(gf),
+ q(0078) => q(pf),
+ q(0079) => q(tf),
+ q(0080) => q(ga),
+ q(0081) => q(gm),
+ q(0082) => q(ge),
+ q(0083) => q(de),
+ q(0084) => q(gh),
+ q(0085) => q(gi),
+ q(0086) => q(gr),
+ q(0087) => q(gl),
+ q(0088) => q(gd),
+ q(0089) => q(gp),
+ q(0090) => q(gu),
+ q(0091) => q(gt),
+ q(0092) => q(gg),
+ q(0093) => q(gn),
+ q(0094) => q(gw),
+ q(0095) => q(gy),
+ q(0096) => q(ht),
+ q(0097) => q(hm),
+ q(0098) => q(va),
+ q(0099) => q(hn),
+ q(0100) => q(hk),
+ q(0101) => q(hu),
+ q(0102) => q(is),
+ q(0103) => q(in),
+ q(0104) => q(id),
+ q(0105) => q(ir),
+ q(0106) => q(iq),
+ q(0107) => q(ie),
+ q(0108) => q(im),
+ q(0109) => q(il),
+ q(0110) => q(it),
+ q(0111) => q(jm),
+ q(0112) => q(jp),
+ q(0113) => q(je),
+ q(0114) => q(jo),
+ q(0115) => q(kz),
+ q(0116) => q(ke),
+ q(0117) => q(ki),
+ q(0118) => q(kp),
+ q(0119) => q(kr),
+ q(0120) => q(kw),
+ q(0121) => q(kg),
+ q(0122) => q(la),
+ q(0123) => q(lv),
+ q(0124) => q(lb),
+ q(0125) => q(ls),
+ q(0126) => q(lr),
+ q(0127) => q(ly),
+ q(0128) => q(li),
+ q(0129) => q(lt),
+ q(0130) => q(lu),
+ q(0131) => q(mo),
+ q(0132) => q(mk),
+ q(0133) => q(mg),
+ q(0134) => q(mw),
+ q(0135) => q(my),
+ q(0136) => q(mv),
+ q(0137) => q(ml),
+ q(0138) => q(mt),
+ q(0139) => q(mh),
+ q(0140) => q(mq),
+ q(0141) => q(mr),
+ q(0142) => q(mu),
+ q(0143) => q(yt),
+ q(0144) => q(mx),
+ q(0145) => q(fm),
+ q(0146) => q(md),
+ q(0147) => q(mc),
+ q(0148) => q(mn),
+ q(0149) => q(me),
+ q(0150) => q(ms),
+ q(0151) => q(ma),
+ q(0152) => q(mz),
+ q(0153) => q(mm),
+ q(0154) => q(na),
+ q(0155) => q(nr),
+ q(0156) => q(np),
+ q(0157) => q(nl),
+ q(0158) => q(nc),
+ q(0159) => q(nz),
+ q(0160) => q(ni),
+ q(0161) => q(ne),
+ q(0162) => q(ng),
+ q(0163) => q(nu),
+ q(0164) => q(nf),
+ q(0165) => q(mp),
+ q(0166) => q(no),
+ q(0167) => q(om),
+ q(0168) => q(pk),
+ q(0169) => q(pw),
+ q(0170) => q(ps),
+ q(0171) => q(pa),
+ q(0172) => q(pg),
+ q(0173) => q(py),
+ q(0174) => q(pe),
+ q(0175) => q(ph),
+ q(0176) => q(pn),
+ q(0177) => q(pl),
+ q(0178) => q(pt),
+ q(0179) => q(pr),
+ q(0180) => q(qa),
+ q(0181) => q(re),
+ q(0182) => q(ro),
+ q(0183) => q(ru),
+ q(0184) => q(rw),
+ q(0185) => q(bl),
+ q(0186) => q(sh),
+ q(0187) => q(kn),
+ q(0188) => q(lc),
+ q(0189) => q(mf),
+ q(0190) => q(pm),
+ q(0191) => q(vc),
+ q(0192) => q(ws),
+ q(0193) => q(sm),
+ q(0194) => q(st),
+ q(0195) => q(sa),
+ q(0196) => q(sn),
+ q(0197) => q(rs),
+ q(0198) => q(sc),
+ q(0199) => q(sl),
+ q(0200) => q(sg),
+ q(0201) => q(sx),
+ q(0202) => q(sk),
+ q(0203) => q(si),
+ q(0204) => q(sb),
+ q(0205) => q(so),
+ q(0206) => q(za),
+ q(0207) => q(gs),
+ q(0208) => q(es),
+ q(0209) => q(lk),
+ q(0210) => q(sd),
+ q(0211) => q(sr),
+ q(0212) => q(sj),
+ q(0213) => q(sz),
+ q(0214) => q(se),
+ q(0215) => q(ch),
+ q(0216) => q(sy),
+ q(0217) => q(tw),
+ q(0218) => q(tj),
+ q(0219) => q(tz),
+ q(0220) => q(th),
+ q(0221) => q(tl),
+ q(0222) => q(tg),
+ q(0223) => q(tk),
+ q(0224) => q(to),
+ q(0225) => q(tt),
+ q(0226) => q(tn),
+ q(0227) => q(tr),
+ q(0228) => q(tm),
+ q(0229) => q(tc),
+ q(0230) => q(tv),
+ q(0231) => q(ug),
+ q(0232) => q(ua),
+ q(0233) => q(ae),
+ q(0234) => q(gb),
+ q(0235) => q(us),
+ q(0236) => q(um),
+ q(0237) => q(uy),
+ q(0238) => q(uz),
+ q(0239) => q(vu),
+ q(0240) => q(ve),
+ q(0241) => q(vn),
+ q(0242) => q(vg),
+ q(0243) => q(vi),
+ q(0244) => q(wf),
+ q(0245) => q(eh),
+ q(0246) => q(ye),
+ q(0247) => q(zm),
+ q(0248) => q(zw),
+ q(0267) => q(an),
+ q(0279) => q(fx),
+ },
+ q(alpha3) => {
+ q(0001) => q(afg),
+ q(0002) => q(ala),
+ q(0003) => q(alb),
+ q(0004) => q(dza),
+ q(0005) => q(asm),
+ q(0006) => q(and),
+ q(0007) => q(ago),
+ q(0008) => q(aia),
+ q(0009) => q(ata),
+ q(0010) => q(atg),
+ q(0011) => q(arg),
+ q(0012) => q(arm),
+ q(0013) => q(abw),
+ q(0014) => q(aus),
+ q(0015) => q(aut),
+ q(0016) => q(aze),
+ q(0017) => q(bhs),
+ q(0018) => q(bhr),
+ q(0019) => q(bgd),
+ q(0020) => q(brb),
+ q(0021) => q(blr),
+ q(0022) => q(bel),
+ q(0023) => q(blz),
+ q(0024) => q(ben),
+ q(0025) => q(bmu),
+ q(0026) => q(btn),
+ q(0027) => q(bol),
+ q(0028) => q(bes),
+ q(0029) => q(bih),
+ q(0030) => q(bwa),
+ q(0031) => q(bvt),
+ q(0032) => q(bra),
+ q(0033) => q(iot),
+ q(0034) => q(brn),
+ q(0035) => q(bgr),
+ q(0036) => q(bfa),
+ q(0037) => q(bdi),
+ q(0038) => q(khm),
+ q(0039) => q(cmr),
+ q(0040) => q(can),
+ q(0041) => q(cpv),
+ q(0042) => q(cym),
+ q(0043) => q(caf),
+ q(0044) => q(tcd),
+ q(0045) => q(chl),
+ q(0046) => q(chn),
+ q(0047) => q(cxr),
+ q(0048) => q(cck),
+ q(0049) => q(col),
+ q(0050) => q(com),
+ q(0051) => q(cog),
+ q(0052) => q(cod),
+ q(0053) => q(cok),
+ q(0054) => q(cri),
+ q(0055) => q(civ),
+ q(0056) => q(hrv),
+ q(0057) => q(cub),
+ q(0058) => q(cuw),
+ q(0059) => q(cyp),
+ q(0060) => q(cze),
+ q(0061) => q(dnk),
+ q(0062) => q(dji),
+ q(0063) => q(dma),
+ q(0064) => q(dom),
+ q(0065) => q(ecu),
+ q(0066) => q(egy),
+ q(0067) => q(slv),
+ q(0068) => q(gnq),
+ q(0069) => q(eri),
+ q(0070) => q(est),
+ q(0071) => q(eth),
+ q(0072) => q(flk),
+ q(0073) => q(fro),
+ q(0074) => q(fji),
+ q(0075) => q(fin),
+ q(0076) => q(fra),
+ q(0077) => q(guf),
+ q(0078) => q(pyf),
+ q(0079) => q(atf),
+ q(0080) => q(gab),
+ q(0081) => q(gmb),
+ q(0082) => q(geo),
+ q(0083) => q(deu),
+ q(0084) => q(gha),
+ q(0085) => q(gib),
+ q(0086) => q(grc),
+ q(0087) => q(grl),
+ q(0088) => q(grd),
+ q(0089) => q(glp),
+ q(0090) => q(gum),
+ q(0091) => q(gtm),
+ q(0092) => q(ggy),
+ q(0093) => q(gin),
+ q(0094) => q(gnb),
+ q(0095) => q(guy),
+ q(0096) => q(hti),
+ q(0097) => q(hmd),
+ q(0098) => q(vat),
+ q(0099) => q(hnd),
+ q(0100) => q(hkg),
+ q(0101) => q(hun),
+ q(0102) => q(isl),
+ q(0103) => q(ind),
+ q(0104) => q(idn),
+ q(0105) => q(irn),
+ q(0106) => q(irq),
+ q(0107) => q(irl),
+ q(0108) => q(imn),
+ q(0109) => q(isr),
+ q(0110) => q(ita),
+ q(0111) => q(jam),
+ q(0112) => q(jpn),
+ q(0113) => q(jey),
+ q(0114) => q(jor),
+ q(0115) => q(kaz),
+ q(0116) => q(ken),
+ q(0117) => q(kir),
+ q(0118) => q(prk),
+ q(0119) => q(kor),
+ q(0120) => q(kwt),
+ q(0121) => q(kgz),
+ q(0122) => q(lao),
+ q(0123) => q(lva),
+ q(0124) => q(lbn),
+ q(0125) => q(lso),
+ q(0126) => q(lbr),
+ q(0127) => q(lby),
+ q(0128) => q(lie),
+ q(0129) => q(ltu),
+ q(0130) => q(lux),
+ q(0131) => q(mac),
+ q(0132) => q(mkd),
+ q(0133) => q(mdg),
+ q(0134) => q(mwi),
+ q(0135) => q(mys),
+ q(0136) => q(mdv),
+ q(0137) => q(mli),
+ q(0138) => q(mlt),
+ q(0139) => q(mhl),
+ q(0140) => q(mtq),
+ q(0141) => q(mrt),
+ q(0142) => q(mus),
+ q(0143) => q(myt),
+ q(0144) => q(mex),
+ q(0145) => q(fsm),
+ q(0146) => q(mda),
+ q(0147) => q(mco),
+ q(0148) => q(mng),
+ q(0149) => q(mne),
+ q(0150) => q(msr),
+ q(0151) => q(mar),
+ q(0152) => q(moz),
+ q(0153) => q(mmr),
+ q(0154) => q(nam),
+ q(0155) => q(nru),
+ q(0156) => q(npl),
+ q(0157) => q(nld),
+ q(0158) => q(ncl),
+ q(0159) => q(nzl),
+ q(0160) => q(nic),
+ q(0161) => q(ner),
+ q(0162) => q(nga),
+ q(0163) => q(niu),
+ q(0164) => q(nfk),
+ q(0165) => q(mnp),
+ q(0166) => q(nor),
+ q(0167) => q(omn),
+ q(0168) => q(pak),
+ q(0169) => q(plw),
+ q(0170) => q(pse),
+ q(0171) => q(pan),
+ q(0172) => q(png),
+ q(0173) => q(pry),
+ q(0174) => q(per),
+ q(0175) => q(phl),
+ q(0176) => q(pcn),
+ q(0177) => q(pol),
+ q(0178) => q(prt),
+ q(0179) => q(pri),
+ q(0180) => q(qat),
+ q(0181) => q(reu),
+ q(0182) => q(rou),
+ q(0183) => q(rus),
+ q(0184) => q(rwa),
+ q(0185) => q(blm),
+ q(0186) => q(shn),
+ q(0187) => q(kna),
+ q(0188) => q(lca),
+ q(0189) => q(maf),
+ q(0190) => q(spm),
+ q(0191) => q(vct),
+ q(0192) => q(wsm),
+ q(0193) => q(smr),
+ q(0194) => q(stp),
+ q(0195) => q(sau),
+ q(0196) => q(sen),
+ q(0197) => q(srb),
+ q(0198) => q(syc),
+ q(0199) => q(sle),
+ q(0200) => q(sgp),
+ q(0201) => q(sxm),
+ q(0202) => q(svk),
+ q(0203) => q(svn),
+ q(0204) => q(slb),
+ q(0205) => q(som),
+ q(0206) => q(zaf),
+ q(0208) => q(esp),
+ q(0209) => q(lka),
+ q(0210) => q(sdn),
+ q(0211) => q(sur),
+ q(0212) => q(sjm),
+ q(0213) => q(swz),
+ q(0214) => q(swe),
+ q(0215) => q(che),
+ q(0216) => q(syr),
+ q(0217) => q(twn),
+ q(0218) => q(tjk),
+ q(0219) => q(tza),
+ q(0220) => q(tha),
+ q(0221) => q(tls),
+ q(0222) => q(tgo),
+ q(0223) => q(tkl),
+ q(0224) => q(ton),
+ q(0225) => q(tto),
+ q(0226) => q(tun),
+ q(0227) => q(tur),
+ q(0228) => q(tkm),
+ q(0229) => q(tca),
+ q(0230) => q(tuv),
+ q(0231) => q(uga),
+ q(0232) => q(ukr),
+ q(0233) => q(are),
+ q(0234) => q(gbr),
+ q(0235) => q(usa),
+ q(0236) => q(umi),
+ q(0237) => q(ury),
+ q(0238) => q(uzb),
+ q(0239) => q(vut),
+ q(0240) => q(ven),
+ q(0241) => q(vnm),
+ q(0242) => q(vgb),
+ q(0243) => q(vir),
+ q(0244) => q(wlf),
+ q(0245) => q(esh),
+ q(0246) => q(yem),
+ q(0247) => q(zmb),
+ q(0248) => q(zwe),
+ q(0267) => q(ant),
+ q(0279) => q(fxx),
+ },
+ q(dom) => {
+ q(0001) => q(AF),
+ q(0002) => q(AX),
+ q(0003) => q(AL),
+ q(0004) => q(DZ),
+ q(0005) => q(AS),
+ q(0006) => q(AD),
+ q(0007) => q(AO),
+ q(0008) => q(AI),
+ q(0009) => q(AQ),
+ q(0010) => q(AG),
+ q(0011) => q(AR),
+ q(0012) => q(AM),
+ q(0013) => q(AW),
+ q(0014) => q(AU),
+ q(0015) => q(AT),
+ q(0016) => q(AZ),
+ q(0017) => q(BS),
+ q(0018) => q(BH),
+ q(0019) => q(BD),
+ q(0020) => q(BB),
+ q(0021) => q(BY),
+ q(0022) => q(BE),
+ q(0023) => q(BZ),
+ q(0024) => q(BJ),
+ q(0025) => q(BM),
+ q(0026) => q(BT),
+ q(0027) => q(BO),
+ q(0028) => q(BQ),
+ q(0029) => q(BA),
+ q(0030) => q(BW),
+ q(0031) => q(BV),
+ q(0032) => q(BR),
+ q(0033) => q(IO),
+ q(0034) => q(BN),
+ q(0035) => q(BG),
+ q(0036) => q(BF),
+ q(0037) => q(BI),
+ q(0038) => q(KH),
+ q(0039) => q(CM),
+ q(0040) => q(CA),
+ q(0041) => q(CV),
+ q(0042) => q(KY),
+ q(0043) => q(CF),
+ q(0044) => q(TD),
+ q(0045) => q(CL),
+ q(0046) => q(CN),
+ q(0047) => q(CX),
+ q(0048) => q(CC),
+ q(0049) => q(CO),
+ q(0050) => q(KM),
+ q(0051) => q(CG),
+ q(0052) => q(CD),
+ q(0053) => q(CK),
+ q(0054) => q(CR),
+ q(0055) => q(CI),
+ q(0056) => q(HR),
+ q(0057) => q(CU),
+ q(0058) => q(CW),
+ q(0059) => q(CY),
+ q(0060) => q(CZ),
+ q(0061) => q(DK),
+ q(0062) => q(DJ),
+ q(0063) => q(DM),
+ q(0064) => q(DO),
+ q(0065) => q(EC),
+ q(0066) => q(EG),
+ q(0067) => q(SV),
+ q(0068) => q(GQ),
+ q(0069) => q(ER),
+ q(0070) => q(EE),
+ q(0071) => q(ET),
+ q(0072) => q(FK),
+ q(0073) => q(FO),
+ q(0074) => q(FJ),
+ q(0075) => q(FI),
+ q(0076) => q(FR),
+ q(0077) => q(GF),
+ q(0078) => q(PF),
+ q(0079) => q(TF),
+ q(0080) => q(GA),
+ q(0081) => q(GM),
+ q(0082) => q(GE),
+ q(0083) => q(DE),
+ q(0084) => q(GH),
+ q(0085) => q(GI),
+ q(0086) => q(GR),
+ q(0087) => q(GL),
+ q(0088) => q(GD),
+ q(0089) => q(GP),
+ q(0090) => q(GU),
+ q(0091) => q(GT),
+ q(0092) => q(GG),
+ q(0093) => q(GN),
+ q(0094) => q(GW),
+ q(0095) => q(GY),
+ q(0096) => q(HT),
+ q(0097) => q(HM),
+ q(0098) => q(VA),
+ q(0099) => q(HN),
+ q(0100) => q(HK),
+ q(0101) => q(HU),
+ q(0102) => q(IS),
+ q(0103) => q(IN),
+ q(0104) => q(ID),
+ q(0105) => q(IR),
+ q(0106) => q(IQ),
+ q(0107) => q(IE),
+ q(0108) => q(IM),
+ q(0109) => q(IL),
+ q(0110) => q(IT),
+ q(0111) => q(JM),
+ q(0112) => q(JP),
+ q(0113) => q(JE),
+ q(0114) => q(JO),
+ q(0115) => q(KZ),
+ q(0116) => q(KE),
+ q(0117) => q(KI),
+ q(0118) => q(KP),
+ q(0119) => q(KR),
+ q(0120) => q(KW),
+ q(0121) => q(KG),
+ q(0122) => q(LA),
+ q(0123) => q(LV),
+ q(0124) => q(LB),
+ q(0125) => q(LS),
+ q(0126) => q(LR),
+ q(0127) => q(LY),
+ q(0128) => q(LI),
+ q(0129) => q(LT),
+ q(0130) => q(LU),
+ q(0131) => q(MO),
+ q(0132) => q(MK),
+ q(0133) => q(MG),
+ q(0134) => q(MW),
+ q(0135) => q(MY),
+ q(0136) => q(MV),
+ q(0137) => q(ML),
+ q(0138) => q(MT),
+ q(0139) => q(MH),
+ q(0140) => q(MQ),
+ q(0141) => q(MR),
+ q(0142) => q(MU),
+ q(0143) => q(YT),
+ q(0144) => q(MX),
+ q(0145) => q(FM),
+ q(0146) => q(MD),
+ q(0147) => q(MC),
+ q(0148) => q(MN),
+ q(0149) => q(ME),
+ q(0150) => q(MS),
+ q(0151) => q(MA),
+ q(0152) => q(MZ),
+ q(0153) => q(MM),
+ q(0154) => q(NA),
+ q(0155) => q(NR),
+ q(0156) => q(NP),
+ q(0157) => q(NL),
+ q(0158) => q(NC),
+ q(0159) => q(NZ),
+ q(0160) => q(NI),
+ q(0161) => q(NE),
+ q(0162) => q(NG),
+ q(0163) => q(NU),
+ q(0164) => q(NF),
+ q(0165) => q(MP),
+ q(0166) => q(NO),
+ q(0167) => q(OM),
+ q(0168) => q(PK),
+ q(0169) => q(PW),
+ q(0170) => q(PS),
+ q(0171) => q(PA),
+ q(0172) => q(PG),
+ q(0173) => q(PY),
+ q(0174) => q(PE),
+ q(0175) => q(PH),
+ q(0176) => q(PN),
+ q(0177) => q(PL),
+ q(0178) => q(PT),
+ q(0179) => q(PR),
+ q(0180) => q(QA),
+ q(0181) => q(RE),
+ q(0182) => q(RO),
+ q(0183) => q(RU),
+ q(0184) => q(RW),
+ q(0185) => q(BL),
+ q(0186) => q(SH),
+ q(0187) => q(KN),
+ q(0188) => q(LC),
+ q(0189) => q(MF),
+ q(0190) => q(PM),
+ q(0191) => q(VC),
+ q(0192) => q(WS),
+ q(0193) => q(SM),
+ q(0194) => q(ST),
+ q(0195) => q(SA),
+ q(0196) => q(SN),
+ q(0197) => q(RS),
+ q(0198) => q(SC),
+ q(0199) => q(SL),
+ q(0200) => q(SG),
+ q(0201) => q(SX),
+ q(0202) => q(SK),
+ q(0203) => q(SI),
+ q(0204) => q(SB),
+ q(0205) => q(SO),
+ q(0206) => q(ZA),
+ q(0207) => q(GS),
+ q(0208) => q(ES),
+ q(0209) => q(LK),
+ q(0210) => q(SD),
+ q(0211) => q(SR),
+ q(0212) => q(SJ),
+ q(0213) => q(SZ),
+ q(0214) => q(SE),
+ q(0215) => q(CH),
+ q(0216) => q(SY),
+ q(0217) => q(TW),
+ q(0218) => q(TJ),
+ q(0219) => q(TZ),
+ q(0220) => q(TH),
+ q(0221) => q(TL),
+ q(0222) => q(TG),
+ q(0223) => q(TK),
+ q(0224) => q(TO),
+ q(0225) => q(TT),
+ q(0226) => q(TN),
+ q(0227) => q(TR),
+ q(0228) => q(TM),
+ q(0229) => q(TC),
+ q(0230) => q(TV),
+ q(0231) => q(UG),
+ q(0232) => q(UA),
+ q(0233) => q(AE),
+ q(0234) => q(UK),
+ q(0235) => q(US),
+ q(0236) => q(UM),
+ q(0237) => q(UY),
+ q(0238) => q(UZ),
+ q(0239) => q(VU),
+ q(0240) => q(VE),
+ q(0241) => q(VN),
+ q(0242) => q(VG),
+ q(0243) => q(VI),
+ q(0244) => q(WF),
+ q(0245) => q(EH),
+ q(0246) => q(YE),
+ q(0247) => q(ZM),
+ q(0248) => q(ZW),
+ q(0267) => q(AN),
+ q(0275) => q(AC),
+ q(0276) => q(EU),
+ q(0277) => q(SU),
+ q(0278) => q(TP),
+ q(0279) => q(FX),
+ },
+ q(fips) => {
+ q(0001) => q(AF),
+ q(0003) => q(AL),
+ q(0004) => q(AG),
+ q(0005) => q(AQ),
+ q(0006) => q(AN),
+ q(0007) => q(AO),
+ q(0008) => q(AV),
+ q(0009) => q(AY),
+ q(0010) => q(AC),
+ q(0011) => q(AR),
+ q(0012) => q(AM),
+ q(0013) => q(AA),
+ q(0014) => q(AS),
+ q(0015) => q(AU),
+ q(0016) => q(AJ),
+ q(0017) => q(BF),
+ q(0018) => q(BA),
+ q(0019) => q(BG),
+ q(0020) => q(BB),
+ q(0021) => q(BO),
+ q(0022) => q(BE),
+ q(0023) => q(BH),
+ q(0024) => q(BN),
+ q(0025) => q(BD),
+ q(0026) => q(BT),
+ q(0027) => q(BL),
+ q(0029) => q(BK),
+ q(0030) => q(BC),
+ q(0031) => q(BV),
+ q(0032) => q(BR),
+ q(0033) => q(IO),
+ q(0034) => q(BX),
+ q(0035) => q(BU),
+ q(0036) => q(UV),
+ q(0037) => q(BY),
+ q(0038) => q(CB),
+ q(0039) => q(CM),
+ q(0040) => q(CA),
+ q(0041) => q(CV),
+ q(0042) => q(CJ),
+ q(0043) => q(CT),
+ q(0044) => q(CD),
+ q(0045) => q(CI),
+ q(0046) => q(CH),
+ q(0047) => q(KT),
+ q(0048) => q(CK),
+ q(0049) => q(CO),
+ q(0050) => q(CN),
+ q(0051) => q(CF),
+ q(0052) => q(CG),
+ q(0053) => q(CW),
+ q(0054) => q(CS),
+ q(0055) => q(IV),
+ q(0056) => q(HR),
+ q(0057) => q(CU),
+ q(0058) => q(UC),
+ q(0059) => q(CY),
+ q(0060) => q(EZ),
+ q(0061) => q(DA),
+ q(0062) => q(DJ),
+ q(0063) => q(DO),
+ q(0064) => q(DR),
+ q(0065) => q(EC),
+ q(0066) => q(EG),
+ q(0067) => q(ES),
+ q(0068) => q(EK),
+ q(0069) => q(ER),
+ q(0070) => q(EN),
+ q(0071) => q(ET),
+ q(0072) => q(FK),
+ q(0073) => q(FO),
+ q(0074) => q(FJ),
+ q(0075) => q(FI),
+ q(0076) => q(FR),
+ q(0077) => q(FG),
+ q(0078) => q(FP),
+ q(0079) => q(FS),
+ q(0080) => q(GB),
+ q(0081) => q(GA),
+ q(0082) => q(GG),
+ q(0083) => q(GM),
+ q(0084) => q(GH),
+ q(0085) => q(GI),
+ q(0086) => q(GR),
+ q(0087) => q(GL),
+ q(0088) => q(GJ),
+ q(0089) => q(GP),
+ q(0090) => q(GQ),
+ q(0091) => q(GT),
+ q(0092) => q(GK),
+ q(0093) => q(GV),
+ q(0094) => q(PU),
+ q(0095) => q(GY),
+ q(0096) => q(HA),
+ q(0097) => q(HM),
+ q(0098) => q(VT),
+ q(0099) => q(HO),
+ q(0100) => q(HK),
+ q(0101) => q(HU),
+ q(0102) => q(IC),
+ q(0103) => q(IN),
+ q(0104) => q(ID),
+ q(0105) => q(IR),
+ q(0106) => q(IZ),
+ q(0107) => q(EI),
+ q(0108) => q(IM),
+ q(0109) => q(IS),
+ q(0110) => q(IT),
+ q(0111) => q(JM),
+ q(0112) => q(JA),
+ q(0113) => q(JE),
+ q(0114) => q(JO),
+ q(0115) => q(KZ),
+ q(0116) => q(KE),
+ q(0117) => q(KR),
+ q(0118) => q(KN),
+ q(0119) => q(KS),
+ q(0120) => q(KU),
+ q(0121) => q(KG),
+ q(0122) => q(LA),
+ q(0123) => q(LG),
+ q(0124) => q(LE),
+ q(0125) => q(LT),
+ q(0126) => q(LI),
+ q(0127) => q(LY),
+ q(0128) => q(LS),
+ q(0129) => q(LH),
+ q(0130) => q(LU),
+ q(0131) => q(MC),
+ q(0132) => q(MK),
+ q(0133) => q(MA),
+ q(0134) => q(MI),
+ q(0135) => q(MY),
+ q(0136) => q(MV),
+ q(0137) => q(ML),
+ q(0138) => q(MT),
+ q(0139) => q(RM),
+ q(0140) => q(MB),
+ q(0141) => q(MR),
+ q(0142) => q(MP),
+ q(0143) => q(MF),
+ q(0144) => q(MX),
+ q(0145) => q(FM),
+ q(0146) => q(MD),
+ q(0147) => q(MN),
+ q(0148) => q(MG),
+ q(0149) => q(MJ),
+ q(0150) => q(MH),
+ q(0151) => q(MO),
+ q(0152) => q(MZ),
+ q(0153) => q(BM),
+ q(0154) => q(WA),
+ q(0155) => q(NR),
+ q(0156) => q(NP),
+ q(0157) => q(NL),
+ q(0158) => q(NC),
+ q(0159) => q(NZ),
+ q(0160) => q(NU),
+ q(0161) => q(NG),
+ q(0162) => q(NI),
+ q(0163) => q(NE),
+ q(0164) => q(NF),
+ q(0165) => q(CQ),
+ q(0166) => q(NO),
+ q(0167) => q(MU),
+ q(0168) => q(PK),
+ q(0169) => q(PS),
+ q(0171) => q(PM),
+ q(0172) => q(PP),
+ q(0173) => q(PA),
+ q(0174) => q(PE),
+ q(0175) => q(RP),
+ q(0176) => q(PC),
+ q(0177) => q(PL),
+ q(0178) => q(PO),
+ q(0179) => q(RQ),
+ q(0180) => q(QA),
+ q(0181) => q(RE),
+ q(0182) => q(RO),
+ q(0183) => q(RS),
+ q(0184) => q(RW),
+ q(0185) => q(TB),
+ q(0186) => q(SH),
+ q(0187) => q(SC),
+ q(0188) => q(ST),
+ q(0189) => q(RN),
+ q(0190) => q(SB),
+ q(0191) => q(VC),
+ q(0192) => q(WS),
+ q(0193) => q(SM),
+ q(0194) => q(TP),
+ q(0195) => q(SA),
+ q(0196) => q(SG),
+ q(0197) => q(RI),
+ q(0198) => q(SE),
+ q(0199) => q(SL),
+ q(0200) => q(SN),
+ q(0202) => q(LO),
+ q(0203) => q(SI),
+ q(0204) => q(BP),
+ q(0205) => q(SO),
+ q(0206) => q(SF),
+ q(0207) => q(SX),
+ q(0208) => q(SP),
+ q(0209) => q(CE),
+ q(0210) => q(SU),
+ q(0211) => q(NS),
+ q(0213) => q(WZ),
+ q(0214) => q(SW),
+ q(0215) => q(SZ),
+ q(0216) => q(SY),
+ q(0217) => q(TW),
+ q(0218) => q(TI),
+ q(0219) => q(TZ),
+ q(0220) => q(TH),
+ q(0221) => q(TT),
+ q(0222) => q(TO),
+ q(0223) => q(TL),
+ q(0224) => q(TN),
+ q(0225) => q(TD),
+ q(0226) => q(TS),
+ q(0227) => q(TU),
+ q(0228) => q(TX),
+ q(0229) => q(TK),
+ q(0230) => q(TV),
+ q(0231) => q(UG),
+ q(0232) => q(UP),
+ q(0233) => q(AE),
+ q(0234) => q(UK),
+ q(0235) => q(US),
+ q(0237) => q(UY),
+ q(0238) => q(UZ),
+ q(0239) => q(NH),
+ q(0240) => q(VE),
+ q(0241) => q(VM),
+ q(0242) => q(VI),
+ q(0243) => q(VQ),
+ q(0244) => q(WF),
+ q(0245) => q(WI),
+ q(0246) => q(YM),
+ q(0247) => q(ZA),
+ q(0248) => q(ZI),
+ q(0250) => q(YI),
+ q(0251) => q(AT),
+ q(0252) => q(FQ),
+ q(0253) => q(BS),
+ q(0254) => q(IP),
+ q(0255) => q(CR),
+ q(0256) => q(EU),
+ q(0257) => q(GZ),
+ q(0258) => q(GO),
+ q(0259) => q(HQ),
+ q(0260) => q(JN),
+ q(0261) => q(DQ),
+ q(0262) => q(JQ),
+ q(0263) => q(JU),
+ q(0264) => q(KQ),
+ q(0265) => q(MQ),
+ q(0266) => q(BQ),
+ q(0267) => q(NT),
+ q(0268) => q(LQ),
+ q(0269) => q(PF),
+ q(0270) => q(PG),
+ q(0271) => q(SV),
+ q(0272) => q(TE),
+ q(0273) => q(WQ),
+ q(0274) => q(WE),
+ q(0280) => q(KV),
+ },
+ q(num) => {
+ q(0001) => q(004),
+ q(0002) => q(248),
+ q(0003) => q(008),
+ q(0004) => q(012),
+ q(0005) => q(016),
+ q(0006) => q(020),
+ q(0007) => q(024),
+ q(0008) => q(660),
+ q(0009) => q(010),
+ q(0010) => q(028),
+ q(0011) => q(032),
+ q(0012) => q(051),
+ q(0013) => q(533),
+ q(0014) => q(036),
+ q(0015) => q(040),
+ q(0016) => q(031),
+ q(0017) => q(044),
+ q(0018) => q(048),
+ q(0019) => q(050),
+ q(0020) => q(052),
+ q(0021) => q(112),
+ q(0022) => q(056),
+ q(0023) => q(084),
+ q(0024) => q(204),
+ q(0025) => q(060),
+ q(0026) => q(064),
+ q(0027) => q(068),
+ q(0028) => q(535),
+ q(0029) => q(070),
+ q(0030) => q(072),
+ q(0031) => q(074),
+ q(0032) => q(076),
+ q(0033) => q(086),
+ q(0034) => q(096),
+ q(0035) => q(100),
+ q(0036) => q(854),
+ q(0037) => q(108),
+ q(0038) => q(116),
+ q(0039) => q(120),
+ q(0040) => q(124),
+ q(0041) => q(132),
+ q(0042) => q(136),
+ q(0043) => q(140),
+ q(0044) => q(148),
+ q(0045) => q(152),
+ q(0046) => q(156),
+ q(0047) => q(162),
+ q(0048) => q(166),
+ q(0049) => q(170),
+ q(0050) => q(174),
+ q(0051) => q(178),
+ q(0052) => q(180),
+ q(0053) => q(184),
+ q(0054) => q(188),
+ q(0055) => q(384),
+ q(0056) => q(191),
+ q(0057) => q(192),
+ q(0058) => q(531),
+ q(0059) => q(196),
+ q(0060) => q(203),
+ q(0061) => q(208),
+ q(0062) => q(262),
+ q(0063) => q(212),
+ q(0064) => q(214),
+ q(0065) => q(218),
+ q(0066) => q(818),
+ q(0067) => q(222),
+ q(0068) => q(226),
+ q(0069) => q(232),
+ q(0070) => q(233),
+ q(0071) => q(231),
+ q(0072) => q(238),
+ q(0073) => q(234),
+ q(0074) => q(242),
+ q(0075) => q(246),
+ q(0076) => q(250),
+ q(0077) => q(254),
+ q(0078) => q(258),
+ q(0079) => q(260),
+ q(0080) => q(266),
+ q(0081) => q(270),
+ q(0082) => q(268),
+ q(0083) => q(276),
+ q(0084) => q(288),
+ q(0085) => q(292),
+ q(0086) => q(300),
+ q(0087) => q(304),
+ q(0088) => q(308),
+ q(0089) => q(312),
+ q(0090) => q(316),
+ q(0091) => q(320),
+ q(0092) => q(831),
+ q(0093) => q(324),
+ q(0094) => q(624),
+ q(0095) => q(328),
+ q(0096) => q(332),
+ q(0097) => q(334),
+ q(0098) => q(336),
+ q(0099) => q(340),
+ q(0100) => q(344),
+ q(0101) => q(348),
+ q(0102) => q(352),
+ q(0103) => q(356),
+ q(0104) => q(360),
+ q(0105) => q(364),
+ q(0106) => q(368),
+ q(0107) => q(372),
+ q(0108) => q(833),
+ q(0109) => q(376),
+ q(0110) => q(380),
+ q(0111) => q(388),
+ q(0112) => q(392),
+ q(0113) => q(832),
+ q(0114) => q(400),
+ q(0115) => q(398),
+ q(0116) => q(404),
+ q(0117) => q(296),
+ q(0118) => q(408),
+ q(0119) => q(410),
+ q(0120) => q(414),
+ q(0121) => q(417),
+ q(0122) => q(418),
+ q(0123) => q(428),
+ q(0124) => q(422),
+ q(0125) => q(426),
+ q(0126) => q(430),
+ q(0127) => q(434),
+ q(0128) => q(438),
+ q(0129) => q(440),
+ q(0130) => q(442),
+ q(0131) => q(446),
+ q(0132) => q(807),
+ q(0133) => q(450),
+ q(0134) => q(454),
+ q(0135) => q(458),
+ q(0136) => q(462),
+ q(0137) => q(466),
+ q(0138) => q(470),
+ q(0139) => q(584),
+ q(0140) => q(474),
+ q(0141) => q(478),
+ q(0142) => q(480),
+ q(0143) => q(175),
+ q(0144) => q(484),
+ q(0145) => q(583),
+ q(0146) => q(498),
+ q(0147) => q(492),
+ q(0148) => q(496),
+ q(0149) => q(499),
+ q(0150) => q(500),
+ q(0151) => q(504),
+ q(0152) => q(508),
+ q(0153) => q(104),
+ q(0154) => q(516),
+ q(0155) => q(520),
+ q(0156) => q(524),
+ q(0157) => q(528),
+ q(0158) => q(540),
+ q(0159) => q(554),
+ q(0160) => q(558),
+ q(0161) => q(562),
+ q(0162) => q(566),
+ q(0163) => q(570),
+ q(0164) => q(574),
+ q(0165) => q(580),
+ q(0166) => q(578),
+ q(0167) => q(512),
+ q(0168) => q(586),
+ q(0169) => q(585),
+ q(0170) => q(275),
+ q(0171) => q(591),
+ q(0172) => q(598),
+ q(0173) => q(600),
+ q(0174) => q(604),
+ q(0175) => q(608),
+ q(0176) => q(612),
+ q(0177) => q(616),
+ q(0178) => q(620),
+ q(0179) => q(630),
+ q(0180) => q(634),
+ q(0181) => q(638),
+ q(0182) => q(642),
+ q(0183) => q(643),
+ q(0184) => q(646),
+ q(0185) => q(652),
+ q(0186) => q(654),
+ q(0187) => q(659),
+ q(0188) => q(662),
+ q(0189) => q(663),
+ q(0190) => q(666),
+ q(0191) => q(670),
+ q(0192) => q(882),
+ q(0193) => q(674),
+ q(0194) => q(678),
+ q(0195) => q(682),
+ q(0196) => q(686),
+ q(0197) => q(688),
+ q(0198) => q(690),
+ q(0199) => q(694),
+ q(0200) => q(702),
+ q(0201) => q(534),
+ q(0202) => q(703),
+ q(0203) => q(705),
+ q(0204) => q(090),
+ q(0205) => q(706),
+ q(0206) => q(710),
+ q(0208) => q(724),
+ q(0209) => q(144),
+ q(0210) => q(736),
+ q(0211) => q(740),
+ q(0212) => q(744),
+ q(0213) => q(748),
+ q(0214) => q(752),
+ q(0215) => q(756),
+ q(0216) => q(760),
+ q(0217) => q(158),
+ q(0218) => q(762),
+ q(0219) => q(834),
+ q(0220) => q(764),
+ q(0221) => q(626),
+ q(0222) => q(768),
+ q(0223) => q(772),
+ q(0224) => q(776),
+ q(0225) => q(780),
+ q(0226) => q(788),
+ q(0227) => q(792),
+ q(0228) => q(795),
+ q(0229) => q(796),
+ q(0230) => q(798),
+ q(0231) => q(800),
+ q(0232) => q(804),
+ q(0233) => q(784),
+ q(0234) => q(826),
+ q(0235) => q(840),
+ q(0236) => q(581),
+ q(0237) => q(858),
+ q(0238) => q(860),
+ q(0239) => q(548),
+ q(0240) => q(862),
+ q(0241) => q(704),
+ q(0242) => q(092),
+ q(0243) => q(850),
+ q(0244) => q(876),
+ q(0245) => q(732),
+ q(0246) => q(887),
+ q(0247) => q(894),
+ q(0248) => q(716),
+ q(0249) => q(830),
+ q(0267) => q(530),
+ q(0279) => q(249),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
new file mode 100644
index 00000000000..a2eb6cac9c0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
@@ -0,0 +1,2954 @@
+package Locale::Codes::Currency;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Tue Mar 1 14:45:12 EST 2011
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Currency - currency codes for the Locale::Currency module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Currency module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.16';
+
+$Locale::Codes::Data{'currency'}{'id'} = '0171';
+
+$Locale::Codes::Data{'currency'}{'id2names'} = {
+ q(0001) => [
+ q(Afghani),
+ ],
+ q(0002) => [
+ q(Euro),
+ ],
+ q(0003) => [
+ q(Lek),
+ ],
+ q(0004) => [
+ q(Algerian Dinar),
+ ],
+ q(0005) => [
+ q(US Dollar),
+ ],
+ q(0006) => [
+ q(Kwanza),
+ ],
+ q(0007) => [
+ q(East Caribbean Dollar),
+ ],
+ q(0008) => [
+ q(Argentine Peso),
+ ],
+ q(0009) => [
+ q(Armenian Dram),
+ ],
+ q(0010) => [
+ q(Aruban Guilder),
+ ],
+ q(0011) => [
+ q(Australian Dollar),
+ ],
+ q(0012) => [
+ q(Azerbaijanian Manat),
+ ],
+ q(0013) => [
+ q(Bahamian Dollar),
+ ],
+ q(0014) => [
+ q(Bahraini Dinar),
+ ],
+ q(0015) => [
+ q(Taka),
+ ],
+ q(0016) => [
+ q(Barbados Dollar),
+ ],
+ q(0017) => [
+ q(Belarussian Ruble),
+ ],
+ q(0018) => [
+ q(Belize Dollar),
+ ],
+ q(0019) => [
+ q(CFA Franc BCEAO),
+ ],
+ q(0020) => [
+ q(Bermudian Dollar),
+ ],
+ q(0021) => [
+ q(Ngultrum),
+ ],
+ q(0022) => [
+ q(Indian Rupee),
+ ],
+ q(0023) => [
+ q(Boliviano),
+ ],
+ q(0024) => [
+ q(Mvdol),
+ ],
+ q(0025) => [
+ q(Convertible Mark),
+ ],
+ q(0026) => [
+ q(Pula),
+ ],
+ q(0027) => [
+ q(Norwegian Krone),
+ ],
+ q(0028) => [
+ q(Brazilian Real),
+ ],
+ q(0029) => [
+ q(Brunei Dollar),
+ ],
+ q(0030) => [
+ q(Bulgarian Lev),
+ ],
+ q(0031) => [
+ q(Burundi Franc),
+ ],
+ q(0032) => [
+ q(Riel),
+ ],
+ q(0033) => [
+ q(CFA Franc BEAC),
+ ],
+ q(0034) => [
+ q(Canadian Dollar),
+ ],
+ q(0035) => [
+ q(Cape Verde Escudo),
+ ],
+ q(0036) => [
+ q(Cayman Islands Dollar),
+ ],
+ q(0037) => [
+ q(Unidades de fomento),
+ ],
+ q(0038) => [
+ q(Chilean Peso),
+ ],
+ q(0039) => [
+ q(Yuan Renminbi),
+ ],
+ q(0040) => [
+ q(Colombian Peso),
+ ],
+ q(0041) => [
+ q(Unidad de Valor Real),
+ ],
+ q(0042) => [
+ q(Comoro Franc),
+ ],
+ q(0043) => [
+ q(Congolese Franc),
+ ],
+ q(0044) => [
+ q(New Zealand Dollar),
+ ],
+ q(0045) => [
+ q(Costa Rican Colon),
+ ],
+ q(0046) => [
+ q(Croatian Kuna),
+ ],
+ q(0047) => [
+ q(Peso Convertible),
+ ],
+ q(0048) => [
+ q(Cuban Peso),
+ ],
+ q(0049) => [
+ q(Netherlands Antillean Guilder),
+ ],
+ q(0050) => [
+ q(Czech Koruna),
+ ],
+ q(0051) => [
+ q(Danish Krone),
+ ],
+ q(0052) => [
+ q(Djibouti Franc),
+ ],
+ q(0053) => [
+ q(Dominican Peso),
+ ],
+ q(0054) => [
+ q(Egyptian Pound),
+ ],
+ q(0055) => [
+ q(El Salvador Colon),
+ ],
+ q(0056) => [
+ q(Nakfa),
+ ],
+ q(0057) => [
+ q(Ethiopian Birr),
+ ],
+ q(0058) => [
+ q(Falkland Islands Pound),
+ ],
+ q(0059) => [
+ q(Fiji Dollar),
+ ],
+ q(0060) => [
+ q(CFP Franc),
+ ],
+ q(0061) => [
+ q(Dalasi),
+ ],
+ q(0062) => [
+ q(Lari),
+ ],
+ q(0063) => [
+ q(Cedi),
+ ],
+ q(0064) => [
+ q(Gibraltar Pound),
+ ],
+ q(0065) => [
+ q(Quetzal),
+ ],
+ q(0066) => [
+ q(Pound Sterling),
+ ],
+ q(0067) => [
+ q(Guinea Franc),
+ ],
+ q(0068) => [
+ q(Guyana Dollar),
+ ],
+ q(0069) => [
+ q(Gourde),
+ ],
+ q(0070) => [
+ q(Lempira),
+ ],
+ q(0071) => [
+ q(Hong Kong Dollar),
+ ],
+ q(0072) => [
+ q(Forint),
+ ],
+ q(0073) => [
+ q(Iceland Krona),
+ ],
+ q(0074) => [
+ q(Rupiah),
+ ],
+ q(0075) => [
+ q(Iranian Rial),
+ ],
+ q(0076) => [
+ q(Iraqi Dinar),
+ ],
+ q(0077) => [
+ q(New Israeli Sheqel),
+ ],
+ q(0078) => [
+ q(Jamaican Dollar),
+ ],
+ q(0079) => [
+ q(Yen),
+ ],
+ q(0080) => [
+ q(Jordanian Dinar),
+ ],
+ q(0081) => [
+ q(Tenge),
+ ],
+ q(0082) => [
+ q(Kenyan Shilling),
+ ],
+ q(0083) => [
+ q(North Korean Won),
+ ],
+ q(0084) => [
+ q(Won),
+ ],
+ q(0085) => [
+ q(Kuwaiti Dinar),
+ ],
+ q(0086) => [
+ q(Som),
+ ],
+ q(0087) => [
+ q(Kip),
+ ],
+ q(0088) => [
+ q(Latvian Lats),
+ ],
+ q(0089) => [
+ q(Lebanese Pound),
+ ],
+ q(0090) => [
+ q(Loti),
+ ],
+ q(0091) => [
+ q(Rand),
+ ],
+ q(0092) => [
+ q(Liberian Dollar),
+ ],
+ q(0093) => [
+ q(Libyan Dinar),
+ ],
+ q(0094) => [
+ q(Swiss Franc),
+ ],
+ q(0095) => [
+ q(Lithuanian Litas),
+ ],
+ q(0096) => [
+ q(Pataca),
+ ],
+ q(0097) => [
+ q(Denar),
+ ],
+ q(0098) => [
+ q(Malagasy Ariary),
+ ],
+ q(0099) => [
+ q(Kwacha),
+ ],
+ q(0100) => [
+ q(Malaysian Ringgit),
+ ],
+ q(0101) => [
+ q(Rufiyaa),
+ ],
+ q(0102) => [
+ q(Ouguiya),
+ ],
+ q(0103) => [
+ q(Mauritius Rupee),
+ ],
+ q(0104) => [
+ q(Mexican Peso),
+ ],
+ q(0105) => [
+ q(Mexican Unidad de Inversion (UDI)),
+ ],
+ q(0106) => [
+ q(Moldovan Leu),
+ ],
+ q(0107) => [
+ q(Tugrik),
+ ],
+ q(0108) => [
+ q(Moroccan Dirham),
+ ],
+ q(0109) => [
+ q(Metical),
+ ],
+ q(0110) => [
+ q(Kyat),
+ ],
+ q(0111) => [
+ q(Namibia Dollar),
+ ],
+ q(0112) => [
+ q(Nepalese Rupee),
+ ],
+ q(0113) => [
+ q(Cordoba Oro),
+ ],
+ q(0114) => [
+ q(Naira),
+ ],
+ q(0115) => [
+ q(Rial Omani),
+ ],
+ q(0116) => [
+ q(Pakistan Rupee),
+ ],
+ q(0117) => [
+ q(Balboa),
+ ],
+ q(0118) => [
+ q(Kina),
+ ],
+ q(0119) => [
+ q(Guarani),
+ ],
+ q(0120) => [
+ q(Nuevo Sol),
+ ],
+ q(0121) => [
+ q(Philippine Peso),
+ ],
+ q(0122) => [
+ q(Zloty),
+ ],
+ q(0123) => [
+ q(Qatari Rial),
+ ],
+ q(0124) => [
+ q(Leu),
+ ],
+ q(0125) => [
+ q(Russian Ruble),
+ ],
+ q(0126) => [
+ q(Rwanda Franc),
+ ],
+ q(0127) => [
+ q(Saint Helena Pound),
+ ],
+ q(0128) => [
+ q(Tala),
+ ],
+ q(0129) => [
+ q(Dobra),
+ ],
+ q(0130) => [
+ q(Saudi Riyal),
+ ],
+ q(0131) => [
+ q(Serbian Dinar),
+ ],
+ q(0132) => [
+ q(Seychelles Rupee),
+ ],
+ q(0133) => [
+ q(Leone),
+ ],
+ q(0134) => [
+ q(Singapore Dollar),
+ ],
+ q(0135) => [
+ q(Sucre),
+ ],
+ q(0136) => [
+ q(Solomon Islands Dollar),
+ ],
+ q(0137) => [
+ q(Somali Shilling),
+ ],
+ q(0138) => [
+ q(Sri Lanka Rupee),
+ ],
+ q(0139) => [
+ q(Sudanese Pound),
+ ],
+ q(0140) => [
+ q(Surinam Dollar),
+ ],
+ q(0141) => [
+ q(Lilangeni),
+ ],
+ q(0142) => [
+ q(Swedish Krona),
+ ],
+ q(0143) => [
+ q(WIR Euro),
+ ],
+ q(0144) => [
+ q(WIR Franc),
+ ],
+ q(0145) => [
+ q(Syrian Pound),
+ ],
+ q(0146) => [
+ q(New Taiwan Dollar),
+ ],
+ q(0147) => [
+ q(Somoni),
+ ],
+ q(0148) => [
+ q(Tanzanian Shilling),
+ ],
+ q(0149) => [
+ q(Baht),
+ ],
+ q(0150) => [
+ q(Pa'anga),
+ ],
+ q(0151) => [
+ q(Trinidad and Tobago Dollar),
+ ],
+ q(0152) => [
+ q(Tunisian Dinar),
+ ],
+ q(0153) => [
+ q(Turkish Lira),
+ ],
+ q(0154) => [
+ q(New Manat),
+ ],
+ q(0155) => [
+ q(Uganda Shilling),
+ ],
+ q(0156) => [
+ q(Hryvnia),
+ ],
+ q(0157) => [
+ q(UAE Dirham),
+ ],
+ q(0158) => [
+ q(US Dollar (Next day)),
+ ],
+ q(0159) => [
+ q(US Dollar (Same day)),
+ ],
+ q(0160) => [
+ q(Uruguay Peso en Unidades Indexadas (URUIURUI)),
+ ],
+ q(0161) => [
+ q(Peso Uruguayo),
+ ],
+ q(0162) => [
+ q(Uzbekistan Sum),
+ ],
+ q(0163) => [
+ q(Vatu),
+ ],
+ q(0164) => [
+ q(Bolivar Fuerte),
+ ],
+ q(0165) => [
+ q(Dong),
+ ],
+ q(0166) => [
+ q(Yemeni Rial),
+ ],
+ q(0167) => [
+ q(Zambian Kwacha),
+ ],
+ q(0168) => [
+ q(Zimbabwe Dollar),
+ ],
+ q(0169) => [
+ q(Gold),
+ ],
+ q(0170) => [
+ q(SDR (Special Drawing Right)),
+ ],
+};
+
+$Locale::Codes::Data{'currency'}{'alias2id'} = {
+ q(afghani) => [
+ q(0001),
+ q(0),
+ ],
+ q(algerian dinar) => [
+ q(0004),
+ q(0),
+ ],
+ q(argentine peso) => [
+ q(0008),
+ q(0),
+ ],
+ q(armenian dram) => [
+ q(0009),
+ q(0),
+ ],
+ q(aruban guilder) => [
+ q(0010),
+ q(0),
+ ],
+ q(australian dollar) => [
+ q(0011),
+ q(0),
+ ],
+ q(azerbaijanian manat) => [
+ q(0012),
+ q(0),
+ ],
+ q(bahamian dollar) => [
+ q(0013),
+ q(0),
+ ],
+ q(bahraini dinar) => [
+ q(0014),
+ q(0),
+ ],
+ q(baht) => [
+ q(0149),
+ q(0),
+ ],
+ q(balboa) => [
+ q(0117),
+ q(0),
+ ],
+ q(barbados dollar) => [
+ q(0016),
+ q(0),
+ ],
+ q(belarussian ruble) => [
+ q(0017),
+ q(0),
+ ],
+ q(belize dollar) => [
+ q(0018),
+ q(0),
+ ],
+ q(bermudian dollar) => [
+ q(0020),
+ q(0),
+ ],
+ q(bolivar fuerte) => [
+ q(0164),
+ q(0),
+ ],
+ q(boliviano) => [
+ q(0023),
+ q(0),
+ ],
+ q(brazilian real) => [
+ q(0028),
+ q(0),
+ ],
+ q(brunei dollar) => [
+ q(0029),
+ q(0),
+ ],
+ q(bulgarian lev) => [
+ q(0030),
+ q(0),
+ ],
+ q(burundi franc) => [
+ q(0031),
+ q(0),
+ ],
+ q(canadian dollar) => [
+ q(0034),
+ q(0),
+ ],
+ q(cape verde escudo) => [
+ q(0035),
+ q(0),
+ ],
+ q(cayman islands dollar) => [
+ q(0036),
+ q(0),
+ ],
+ q(cedi) => [
+ q(0063),
+ q(0),
+ ],
+ q(cfa franc bceao) => [
+ q(0019),
+ q(0),
+ ],
+ q(cfa franc beac) => [
+ q(0033),
+ q(0),
+ ],
+ q(cfp franc) => [
+ q(0060),
+ q(0),
+ ],
+ q(chilean peso) => [
+ q(0038),
+ q(0),
+ ],
+ q(colombian peso) => [
+ q(0040),
+ q(0),
+ ],
+ q(comoro franc) => [
+ q(0042),
+ q(0),
+ ],
+ q(congolese franc) => [
+ q(0043),
+ q(0),
+ ],
+ q(convertible mark) => [
+ q(0025),
+ q(0),
+ ],
+ q(cordoba oro) => [
+ q(0113),
+ q(0),
+ ],
+ q(costa rican colon) => [
+ q(0045),
+ q(0),
+ ],
+ q(croatian kuna) => [
+ q(0046),
+ q(0),
+ ],
+ q(cuban peso) => [
+ q(0048),
+ q(0),
+ ],
+ q(czech koruna) => [
+ q(0050),
+ q(0),
+ ],
+ q(dalasi) => [
+ q(0061),
+ q(0),
+ ],
+ q(danish krone) => [
+ q(0051),
+ q(0),
+ ],
+ q(denar) => [
+ q(0097),
+ q(0),
+ ],
+ q(djibouti franc) => [
+ q(0052),
+ q(0),
+ ],
+ q(dobra) => [
+ q(0129),
+ q(0),
+ ],
+ q(dominican peso) => [
+ q(0053),
+ q(0),
+ ],
+ q(dong) => [
+ q(0165),
+ q(0),
+ ],
+ q(east caribbean dollar) => [
+ q(0007),
+ q(0),
+ ],
+ q(egyptian pound) => [
+ q(0054),
+ q(0),
+ ],
+ q(el salvador colon) => [
+ q(0055),
+ q(0),
+ ],
+ q(ethiopian birr) => [
+ q(0057),
+ q(0),
+ ],
+ q(euro) => [
+ q(0002),
+ q(0),
+ ],
+ q(falkland islands pound) => [
+ q(0058),
+ q(0),
+ ],
+ q(fiji dollar) => [
+ q(0059),
+ q(0),
+ ],
+ q(forint) => [
+ q(0072),
+ q(0),
+ ],
+ q(gibraltar pound) => [
+ q(0064),
+ q(0),
+ ],
+ q(gold) => [
+ q(0169),
+ q(0),
+ ],
+ q(gourde) => [
+ q(0069),
+ q(0),
+ ],
+ q(guarani) => [
+ q(0119),
+ q(0),
+ ],
+ q(guinea franc) => [
+ q(0067),
+ q(0),
+ ],
+ q(guyana dollar) => [
+ q(0068),
+ q(0),
+ ],
+ q(hong kong dollar) => [
+ q(0071),
+ q(0),
+ ],
+ q(hryvnia) => [
+ q(0156),
+ q(0),
+ ],
+ q(iceland krona) => [
+ q(0073),
+ q(0),
+ ],
+ q(indian rupee) => [
+ q(0022),
+ q(0),
+ ],
+ q(iranian rial) => [
+ q(0075),
+ q(0),
+ ],
+ q(iraqi dinar) => [
+ q(0076),
+ q(0),
+ ],
+ q(jamaican dollar) => [
+ q(0078),
+ q(0),
+ ],
+ q(jordanian dinar) => [
+ q(0080),
+ q(0),
+ ],
+ q(kenyan shilling) => [
+ q(0082),
+ q(0),
+ ],
+ q(kina) => [
+ q(0118),
+ q(0),
+ ],
+ q(kip) => [
+ q(0087),
+ q(0),
+ ],
+ q(kuwaiti dinar) => [
+ q(0085),
+ q(0),
+ ],
+ q(kwacha) => [
+ q(0099),
+ q(0),
+ ],
+ q(kwanza) => [
+ q(0006),
+ q(0),
+ ],
+ q(kyat) => [
+ q(0110),
+ q(0),
+ ],
+ q(lari) => [
+ q(0062),
+ q(0),
+ ],
+ q(latvian lats) => [
+ q(0088),
+ q(0),
+ ],
+ q(lebanese pound) => [
+ q(0089),
+ q(0),
+ ],
+ q(lek) => [
+ q(0003),
+ q(0),
+ ],
+ q(lempira) => [
+ q(0070),
+ q(0),
+ ],
+ q(leone) => [
+ q(0133),
+ q(0),
+ ],
+ q(leu) => [
+ q(0124),
+ q(0),
+ ],
+ q(liberian dollar) => [
+ q(0092),
+ q(0),
+ ],
+ q(libyan dinar) => [
+ q(0093),
+ q(0),
+ ],
+ q(lilangeni) => [
+ q(0141),
+ q(0),
+ ],
+ q(lithuanian litas) => [
+ q(0095),
+ q(0),
+ ],
+ q(loti) => [
+ q(0090),
+ q(0),
+ ],
+ q(malagasy ariary) => [
+ q(0098),
+ q(0),
+ ],
+ q(malaysian ringgit) => [
+ q(0100),
+ q(0),
+ ],
+ q(mauritius rupee) => [
+ q(0103),
+ q(0),
+ ],
+ q(metical) => [
+ q(0109),
+ q(0),
+ ],
+ q(mexican peso) => [
+ q(0104),
+ q(0),
+ ],
+ q(mexican unidad de inversion (udi)) => [
+ q(0105),
+ q(0),
+ ],
+ q(moldovan leu) => [
+ q(0106),
+ q(0),
+ ],
+ q(moroccan dirham) => [
+ q(0108),
+ q(0),
+ ],
+ q(mvdol) => [
+ q(0024),
+ q(0),
+ ],
+ q(naira) => [
+ q(0114),
+ q(0),
+ ],
+ q(nakfa) => [
+ q(0056),
+ q(0),
+ ],
+ q(namibia dollar) => [
+ q(0111),
+ q(0),
+ ],
+ q(nepalese rupee) => [
+ q(0112),
+ q(0),
+ ],
+ q(netherlands antillean guilder) => [
+ q(0049),
+ q(0),
+ ],
+ q(new israeli sheqel) => [
+ q(0077),
+ q(0),
+ ],
+ q(new manat) => [
+ q(0154),
+ q(0),
+ ],
+ q(new taiwan dollar) => [
+ q(0146),
+ q(0),
+ ],
+ q(new zealand dollar) => [
+ q(0044),
+ q(0),
+ ],
+ q(ngultrum) => [
+ q(0021),
+ q(0),
+ ],
+ q(north korean won) => [
+ q(0083),
+ q(0),
+ ],
+ q(norwegian krone) => [
+ q(0027),
+ q(0),
+ ],
+ q(nuevo sol) => [
+ q(0120),
+ q(0),
+ ],
+ q(ouguiya) => [
+ q(0102),
+ q(0),
+ ],
+ q(pa'anga) => [
+ q(0150),
+ q(0),
+ ],
+ q(pakistan rupee) => [
+ q(0116),
+ q(0),
+ ],
+ q(pataca) => [
+ q(0096),
+ q(0),
+ ],
+ q(peso convertible) => [
+ q(0047),
+ q(0),
+ ],
+ q(peso uruguayo) => [
+ q(0161),
+ q(0),
+ ],
+ q(philippine peso) => [
+ q(0121),
+ q(0),
+ ],
+ q(pound sterling) => [
+ q(0066),
+ q(0),
+ ],
+ q(pula) => [
+ q(0026),
+ q(0),
+ ],
+ q(qatari rial) => [
+ q(0123),
+ q(0),
+ ],
+ q(quetzal) => [
+ q(0065),
+ q(0),
+ ],
+ q(rand) => [
+ q(0091),
+ q(0),
+ ],
+ q(rial omani) => [
+ q(0115),
+ q(0),
+ ],
+ q(riel) => [
+ q(0032),
+ q(0),
+ ],
+ q(rufiyaa) => [
+ q(0101),
+ q(0),
+ ],
+ q(rupiah) => [
+ q(0074),
+ q(0),
+ ],
+ q(russian ruble) => [
+ q(0125),
+ q(0),
+ ],
+ q(rwanda franc) => [
+ q(0126),
+ q(0),
+ ],
+ q(saint helena pound) => [
+ q(0127),
+ q(0),
+ ],
+ q(saudi riyal) => [
+ q(0130),
+ q(0),
+ ],
+ q(sdr (special drawing right)) => [
+ q(0170),
+ q(0),
+ ],
+ q(serbian dinar) => [
+ q(0131),
+ q(0),
+ ],
+ q(seychelles rupee) => [
+ q(0132),
+ q(0),
+ ],
+ q(singapore dollar) => [
+ q(0134),
+ q(0),
+ ],
+ q(solomon islands dollar) => [
+ q(0136),
+ q(0),
+ ],
+ q(som) => [
+ q(0086),
+ q(0),
+ ],
+ q(somali shilling) => [
+ q(0137),
+ q(0),
+ ],
+ q(somoni) => [
+ q(0147),
+ q(0),
+ ],
+ q(sri lanka rupee) => [
+ q(0138),
+ q(0),
+ ],
+ q(sucre) => [
+ q(0135),
+ q(0),
+ ],
+ q(sudanese pound) => [
+ q(0139),
+ q(0),
+ ],
+ q(surinam dollar) => [
+ q(0140),
+ q(0),
+ ],
+ q(swedish krona) => [
+ q(0142),
+ q(0),
+ ],
+ q(swiss franc) => [
+ q(0094),
+ q(0),
+ ],
+ q(syrian pound) => [
+ q(0145),
+ q(0),
+ ],
+ q(taka) => [
+ q(0015),
+ q(0),
+ ],
+ q(tala) => [
+ q(0128),
+ q(0),
+ ],
+ q(tanzanian shilling) => [
+ q(0148),
+ q(0),
+ ],
+ q(tenge) => [
+ q(0081),
+ q(0),
+ ],
+ q(trinidad and tobago dollar) => [
+ q(0151),
+ q(0),
+ ],
+ q(tugrik) => [
+ q(0107),
+ q(0),
+ ],
+ q(tunisian dinar) => [
+ q(0152),
+ q(0),
+ ],
+ q(turkish lira) => [
+ q(0153),
+ q(0),
+ ],
+ q(uae dirham) => [
+ q(0157),
+ q(0),
+ ],
+ q(uganda shilling) => [
+ q(0155),
+ q(0),
+ ],
+ q(unidad de valor real) => [
+ q(0041),
+ q(0),
+ ],
+ q(unidades de fomento) => [
+ q(0037),
+ q(0),
+ ],
+ q(uruguay peso en unidades indexadas (uruiurui)) => [
+ q(0160),
+ q(0),
+ ],
+ q(us dollar) => [
+ q(0005),
+ q(0),
+ ],
+ q(us dollar (next day)) => [
+ q(0158),
+ q(0),
+ ],
+ q(us dollar (same day)) => [
+ q(0159),
+ q(0),
+ ],
+ q(uzbekistan sum) => [
+ q(0162),
+ q(0),
+ ],
+ q(vatu) => [
+ q(0163),
+ q(0),
+ ],
+ q(wir euro) => [
+ q(0143),
+ q(0),
+ ],
+ q(wir franc) => [
+ q(0144),
+ q(0),
+ ],
+ q(won) => [
+ q(0084),
+ q(0),
+ ],
+ q(yemeni rial) => [
+ q(0166),
+ q(0),
+ ],
+ q(yen) => [
+ q(0079),
+ q(0),
+ ],
+ q(yuan renminbi) => [
+ q(0039),
+ q(0),
+ ],
+ q(zambian kwacha) => [
+ q(0167),
+ q(0),
+ ],
+ q(zimbabwe dollar) => [
+ q(0168),
+ q(0),
+ ],
+ q(zloty) => [
+ q(0122),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'currency'}{'code2id'} = {
+ q(alpha) => {
+ q(AED) => [
+ q(0157),
+ q(0),
+ ],
+ q(AFN) => [
+ q(0001),
+ q(0),
+ ],
+ q(ALL) => [
+ q(0003),
+ q(0),
+ ],
+ q(AMD) => [
+ q(0009),
+ q(0),
+ ],
+ q(ANG) => [
+ q(0049),
+ q(0),
+ ],
+ q(AOA) => [
+ q(0006),
+ q(0),
+ ],
+ q(ARS) => [
+ q(0008),
+ q(0),
+ ],
+ q(AUD) => [
+ q(0011),
+ q(0),
+ ],
+ q(AWG) => [
+ q(0010),
+ q(0),
+ ],
+ q(AZN) => [
+ q(0012),
+ q(0),
+ ],
+ q(BAM) => [
+ q(0025),
+ q(0),
+ ],
+ q(BBD) => [
+ q(0016),
+ q(0),
+ ],
+ q(BDT) => [
+ q(0015),
+ q(0),
+ ],
+ q(BGN) => [
+ q(0030),
+ q(0),
+ ],
+ q(BHD) => [
+ q(0014),
+ q(0),
+ ],
+ q(BIF) => [
+ q(0031),
+ q(0),
+ ],
+ q(BMD) => [
+ q(0020),
+ q(0),
+ ],
+ q(BND) => [
+ q(0029),
+ q(0),
+ ],
+ q(BOB) => [
+ q(0023),
+ q(0),
+ ],
+ q(BOV) => [
+ q(0024),
+ q(0),
+ ],
+ q(BRL) => [
+ q(0028),
+ q(0),
+ ],
+ q(BSD) => [
+ q(0013),
+ q(0),
+ ],
+ q(BTN) => [
+ q(0021),
+ q(0),
+ ],
+ q(BWP) => [
+ q(0026),
+ q(0),
+ ],
+ q(BYR) => [
+ q(0017),
+ q(0),
+ ],
+ q(BZD) => [
+ q(0018),
+ q(0),
+ ],
+ q(CAD) => [
+ q(0034),
+ q(0),
+ ],
+ q(CDF) => [
+ q(0043),
+ q(0),
+ ],
+ q(CHE) => [
+ q(0143),
+ q(0),
+ ],
+ q(CHF) => [
+ q(0094),
+ q(0),
+ ],
+ q(CHW) => [
+ q(0144),
+ q(0),
+ ],
+ q(CLF) => [
+ q(0037),
+ q(0),
+ ],
+ q(CLP) => [
+ q(0038),
+ q(0),
+ ],
+ q(CNY) => [
+ q(0039),
+ q(0),
+ ],
+ q(COP) => [
+ q(0040),
+ q(0),
+ ],
+ q(COU) => [
+ q(0041),
+ q(0),
+ ],
+ q(CRC) => [
+ q(0045),
+ q(0),
+ ],
+ q(CUC) => [
+ q(0047),
+ q(0),
+ ],
+ q(CUP) => [
+ q(0048),
+ q(0),
+ ],
+ q(CVE) => [
+ q(0035),
+ q(0),
+ ],
+ q(CZK) => [
+ q(0050),
+ q(0),
+ ],
+ q(DJF) => [
+ q(0052),
+ q(0),
+ ],
+ q(DKK) => [
+ q(0051),
+ q(0),
+ ],
+ q(DOP) => [
+ q(0053),
+ q(0),
+ ],
+ q(DZD) => [
+ q(0004),
+ q(0),
+ ],
+ q(EGP) => [
+ q(0054),
+ q(0),
+ ],
+ q(ERN) => [
+ q(0056),
+ q(0),
+ ],
+ q(ETB) => [
+ q(0057),
+ q(0),
+ ],
+ q(EUR) => [
+ q(0002),
+ q(0),
+ ],
+ q(FJD) => [
+ q(0059),
+ q(0),
+ ],
+ q(FKP) => [
+ q(0058),
+ q(0),
+ ],
+ q(GBP) => [
+ q(0066),
+ q(0),
+ ],
+ q(GEL) => [
+ q(0062),
+ q(0),
+ ],
+ q(GHS) => [
+ q(0063),
+ q(0),
+ ],
+ q(GIP) => [
+ q(0064),
+ q(0),
+ ],
+ q(GMD) => [
+ q(0061),
+ q(0),
+ ],
+ q(GNF) => [
+ q(0067),
+ q(0),
+ ],
+ q(GTQ) => [
+ q(0065),
+ q(0),
+ ],
+ q(GYD) => [
+ q(0068),
+ q(0),
+ ],
+ q(HKD) => [
+ q(0071),
+ q(0),
+ ],
+ q(HNL) => [
+ q(0070),
+ q(0),
+ ],
+ q(HRK) => [
+ q(0046),
+ q(0),
+ ],
+ q(HTG) => [
+ q(0069),
+ q(0),
+ ],
+ q(HUF) => [
+ q(0072),
+ q(0),
+ ],
+ q(IDR) => [
+ q(0074),
+ q(0),
+ ],
+ q(ILS) => [
+ q(0077),
+ q(0),
+ ],
+ q(INR) => [
+ q(0022),
+ q(0),
+ ],
+ q(IQD) => [
+ q(0076),
+ q(0),
+ ],
+ q(IRR) => [
+ q(0075),
+ q(0),
+ ],
+ q(ISK) => [
+ q(0073),
+ q(0),
+ ],
+ q(JMD) => [
+ q(0078),
+ q(0),
+ ],
+ q(JOD) => [
+ q(0080),
+ q(0),
+ ],
+ q(JPY) => [
+ q(0079),
+ q(0),
+ ],
+ q(KES) => [
+ q(0082),
+ q(0),
+ ],
+ q(KGS) => [
+ q(0086),
+ q(0),
+ ],
+ q(KHR) => [
+ q(0032),
+ q(0),
+ ],
+ q(KMF) => [
+ q(0042),
+ q(0),
+ ],
+ q(KPW) => [
+ q(0083),
+ q(0),
+ ],
+ q(KRW) => [
+ q(0084),
+ q(0),
+ ],
+ q(KWD) => [
+ q(0085),
+ q(0),
+ ],
+ q(KYD) => [
+ q(0036),
+ q(0),
+ ],
+ q(KZT) => [
+ q(0081),
+ q(0),
+ ],
+ q(LAK) => [
+ q(0087),
+ q(0),
+ ],
+ q(LBP) => [
+ q(0089),
+ q(0),
+ ],
+ q(LKR) => [
+ q(0138),
+ q(0),
+ ],
+ q(LRD) => [
+ q(0092),
+ q(0),
+ ],
+ q(LSL) => [
+ q(0090),
+ q(0),
+ ],
+ q(LTL) => [
+ q(0095),
+ q(0),
+ ],
+ q(LVL) => [
+ q(0088),
+ q(0),
+ ],
+ q(LYD) => [
+ q(0093),
+ q(0),
+ ],
+ q(MAD) => [
+ q(0108),
+ q(0),
+ ],
+ q(MDL) => [
+ q(0106),
+ q(0),
+ ],
+ q(MGA) => [
+ q(0098),
+ q(0),
+ ],
+ q(MKD) => [
+ q(0097),
+ q(0),
+ ],
+ q(MMK) => [
+ q(0110),
+ q(0),
+ ],
+ q(MNT) => [
+ q(0107),
+ q(0),
+ ],
+ q(MOP) => [
+ q(0096),
+ q(0),
+ ],
+ q(MRO) => [
+ q(0102),
+ q(0),
+ ],
+ q(MUR) => [
+ q(0103),
+ q(0),
+ ],
+ q(MVR) => [
+ q(0101),
+ q(0),
+ ],
+ q(MWK) => [
+ q(0099),
+ q(0),
+ ],
+ q(MXN) => [
+ q(0104),
+ q(0),
+ ],
+ q(MXV) => [
+ q(0105),
+ q(0),
+ ],
+ q(MYR) => [
+ q(0100),
+ q(0),
+ ],
+ q(MZN) => [
+ q(0109),
+ q(0),
+ ],
+ q(NAD) => [
+ q(0111),
+ q(0),
+ ],
+ q(NGN) => [
+ q(0114),
+ q(0),
+ ],
+ q(NIO) => [
+ q(0113),
+ q(0),
+ ],
+ q(NOK) => [
+ q(0027),
+ q(0),
+ ],
+ q(NPR) => [
+ q(0112),
+ q(0),
+ ],
+ q(NZD) => [
+ q(0044),
+ q(0),
+ ],
+ q(OMR) => [
+ q(0115),
+ q(0),
+ ],
+ q(PAB) => [
+ q(0117),
+ q(0),
+ ],
+ q(PEN) => [
+ q(0120),
+ q(0),
+ ],
+ q(PGK) => [
+ q(0118),
+ q(0),
+ ],
+ q(PHP) => [
+ q(0121),
+ q(0),
+ ],
+ q(PKR) => [
+ q(0116),
+ q(0),
+ ],
+ q(PLN) => [
+ q(0122),
+ q(0),
+ ],
+ q(PYG) => [
+ q(0119),
+ q(0),
+ ],
+ q(QAR) => [
+ q(0123),
+ q(0),
+ ],
+ q(RON) => [
+ q(0124),
+ q(0),
+ ],
+ q(RSD) => [
+ q(0131),
+ q(0),
+ ],
+ q(RUB) => [
+ q(0125),
+ q(0),
+ ],
+ q(RWF) => [
+ q(0126),
+ q(0),
+ ],
+ q(SAR) => [
+ q(0130),
+ q(0),
+ ],
+ q(SBD) => [
+ q(0136),
+ q(0),
+ ],
+ q(SCR) => [
+ q(0132),
+ q(0),
+ ],
+ q(SDG) => [
+ q(0139),
+ q(0),
+ ],
+ q(SEK) => [
+ q(0142),
+ q(0),
+ ],
+ q(SGD) => [
+ q(0134),
+ q(0),
+ ],
+ q(SHP) => [
+ q(0127),
+ q(0),
+ ],
+ q(SLL) => [
+ q(0133),
+ q(0),
+ ],
+ q(SOS) => [
+ q(0137),
+ q(0),
+ ],
+ q(SRD) => [
+ q(0140),
+ q(0),
+ ],
+ q(STD) => [
+ q(0129),
+ q(0),
+ ],
+ q(SVC) => [
+ q(0055),
+ q(0),
+ ],
+ q(SYP) => [
+ q(0145),
+ q(0),
+ ],
+ q(SZL) => [
+ q(0141),
+ q(0),
+ ],
+ q(THB) => [
+ q(0149),
+ q(0),
+ ],
+ q(TJS) => [
+ q(0147),
+ q(0),
+ ],
+ q(TMT) => [
+ q(0154),
+ q(0),
+ ],
+ q(TND) => [
+ q(0152),
+ q(0),
+ ],
+ q(TOP) => [
+ q(0150),
+ q(0),
+ ],
+ q(TRY) => [
+ q(0153),
+ q(0),
+ ],
+ q(TTD) => [
+ q(0151),
+ q(0),
+ ],
+ q(TWD) => [
+ q(0146),
+ q(0),
+ ],
+ q(TZS) => [
+ q(0148),
+ q(0),
+ ],
+ q(UAH) => [
+ q(0156),
+ q(0),
+ ],
+ q(UGX) => [
+ q(0155),
+ q(0),
+ ],
+ q(USD) => [
+ q(0005),
+ q(0),
+ ],
+ q(USN) => [
+ q(0158),
+ q(0),
+ ],
+ q(USS) => [
+ q(0159),
+ q(0),
+ ],
+ q(UYI) => [
+ q(0160),
+ q(0),
+ ],
+ q(UYU) => [
+ q(0161),
+ q(0),
+ ],
+ q(UZS) => [
+ q(0162),
+ q(0),
+ ],
+ q(VEF) => [
+ q(0164),
+ q(0),
+ ],
+ q(VND) => [
+ q(0165),
+ q(0),
+ ],
+ q(VUV) => [
+ q(0163),
+ q(0),
+ ],
+ q(WST) => [
+ q(0128),
+ q(0),
+ ],
+ q(XAF) => [
+ q(0033),
+ q(0),
+ ],
+ q(XAU) => [
+ q(0169),
+ q(0),
+ ],
+ q(XCD) => [
+ q(0007),
+ q(0),
+ ],
+ q(XDR) => [
+ q(0170),
+ q(0),
+ ],
+ q(XOF) => [
+ q(0019),
+ q(0),
+ ],
+ q(XPF) => [
+ q(0060),
+ q(0),
+ ],
+ q(XSU) => [
+ q(0135),
+ q(0),
+ ],
+ q(YER) => [
+ q(0166),
+ q(0),
+ ],
+ q(ZAR) => [
+ q(0091),
+ q(0),
+ ],
+ q(ZMK) => [
+ q(0167),
+ q(0),
+ ],
+ q(ZWL) => [
+ q(0168),
+ q(0),
+ ],
+ },
+ q(num) => {
+ q(008) => [
+ q(0003),
+ q(0),
+ ],
+ q(012) => [
+ q(0004),
+ q(0),
+ ],
+ q(032) => [
+ q(0008),
+ q(0),
+ ],
+ q(036) => [
+ q(0011),
+ q(0),
+ ],
+ q(044) => [
+ q(0013),
+ q(0),
+ ],
+ q(048) => [
+ q(0014),
+ q(0),
+ ],
+ q(050) => [
+ q(0015),
+ q(0),
+ ],
+ q(051) => [
+ q(0009),
+ q(0),
+ ],
+ q(052) => [
+ q(0016),
+ q(0),
+ ],
+ q(060) => [
+ q(0020),
+ q(0),
+ ],
+ q(064) => [
+ q(0021),
+ q(0),
+ ],
+ q(068) => [
+ q(0023),
+ q(0),
+ ],
+ q(072) => [
+ q(0026),
+ q(0),
+ ],
+ q(084) => [
+ q(0018),
+ q(0),
+ ],
+ q(090) => [
+ q(0136),
+ q(0),
+ ],
+ q(096) => [
+ q(0029),
+ q(0),
+ ],
+ q(104) => [
+ q(0110),
+ q(0),
+ ],
+ q(108) => [
+ q(0031),
+ q(0),
+ ],
+ q(116) => [
+ q(0032),
+ q(0),
+ ],
+ q(124) => [
+ q(0034),
+ q(0),
+ ],
+ q(132) => [
+ q(0035),
+ q(0),
+ ],
+ q(136) => [
+ q(0036),
+ q(0),
+ ],
+ q(144) => [
+ q(0138),
+ q(0),
+ ],
+ q(152) => [
+ q(0038),
+ q(0),
+ ],
+ q(156) => [
+ q(0039),
+ q(0),
+ ],
+ q(170) => [
+ q(0040),
+ q(0),
+ ],
+ q(174) => [
+ q(0042),
+ q(0),
+ ],
+ q(188) => [
+ q(0045),
+ q(0),
+ ],
+ q(191) => [
+ q(0046),
+ q(0),
+ ],
+ q(192) => [
+ q(0048),
+ q(0),
+ ],
+ q(203) => [
+ q(0050),
+ q(0),
+ ],
+ q(208) => [
+ q(0051),
+ q(0),
+ ],
+ q(214) => [
+ q(0053),
+ q(0),
+ ],
+ q(222) => [
+ q(0055),
+ q(0),
+ ],
+ q(230) => [
+ q(0057),
+ q(0),
+ ],
+ q(232) => [
+ q(0056),
+ q(0),
+ ],
+ q(238) => [
+ q(0058),
+ q(0),
+ ],
+ q(242) => [
+ q(0059),
+ q(0),
+ ],
+ q(262) => [
+ q(0052),
+ q(0),
+ ],
+ q(270) => [
+ q(0061),
+ q(0),
+ ],
+ q(292) => [
+ q(0064),
+ q(0),
+ ],
+ q(320) => [
+ q(0065),
+ q(0),
+ ],
+ q(324) => [
+ q(0067),
+ q(0),
+ ],
+ q(328) => [
+ q(0068),
+ q(0),
+ ],
+ q(332) => [
+ q(0069),
+ q(0),
+ ],
+ q(340) => [
+ q(0070),
+ q(0),
+ ],
+ q(344) => [
+ q(0071),
+ q(0),
+ ],
+ q(348) => [
+ q(0072),
+ q(0),
+ ],
+ q(352) => [
+ q(0073),
+ q(0),
+ ],
+ q(356) => [
+ q(0022),
+ q(0),
+ ],
+ q(360) => [
+ q(0074),
+ q(0),
+ ],
+ q(364) => [
+ q(0075),
+ q(0),
+ ],
+ q(368) => [
+ q(0076),
+ q(0),
+ ],
+ q(376) => [
+ q(0077),
+ q(0),
+ ],
+ q(388) => [
+ q(0078),
+ q(0),
+ ],
+ q(392) => [
+ q(0079),
+ q(0),
+ ],
+ q(398) => [
+ q(0081),
+ q(0),
+ ],
+ q(400) => [
+ q(0080),
+ q(0),
+ ],
+ q(404) => [
+ q(0082),
+ q(0),
+ ],
+ q(408) => [
+ q(0083),
+ q(0),
+ ],
+ q(410) => [
+ q(0084),
+ q(0),
+ ],
+ q(414) => [
+ q(0085),
+ q(0),
+ ],
+ q(417) => [
+ q(0086),
+ q(0),
+ ],
+ q(418) => [
+ q(0087),
+ q(0),
+ ],
+ q(422) => [
+ q(0089),
+ q(0),
+ ],
+ q(426) => [
+ q(0090),
+ q(0),
+ ],
+ q(428) => [
+ q(0088),
+ q(0),
+ ],
+ q(430) => [
+ q(0092),
+ q(0),
+ ],
+ q(434) => [
+ q(0093),
+ q(0),
+ ],
+ q(440) => [
+ q(0095),
+ q(0),
+ ],
+ q(446) => [
+ q(0096),
+ q(0),
+ ],
+ q(454) => [
+ q(0099),
+ q(0),
+ ],
+ q(458) => [
+ q(0100),
+ q(0),
+ ],
+ q(462) => [
+ q(0101),
+ q(0),
+ ],
+ q(478) => [
+ q(0102),
+ q(0),
+ ],
+ q(480) => [
+ q(0103),
+ q(0),
+ ],
+ q(484) => [
+ q(0104),
+ q(0),
+ ],
+ q(496) => [
+ q(0107),
+ q(0),
+ ],
+ q(498) => [
+ q(0106),
+ q(0),
+ ],
+ q(504) => [
+ q(0108),
+ q(0),
+ ],
+ q(512) => [
+ q(0115),
+ q(0),
+ ],
+ q(516) => [
+ q(0111),
+ q(0),
+ ],
+ q(524) => [
+ q(0112),
+ q(0),
+ ],
+ q(532) => [
+ q(0049),
+ q(0),
+ ],
+ q(533) => [
+ q(0010),
+ q(0),
+ ],
+ q(548) => [
+ q(0163),
+ q(0),
+ ],
+ q(554) => [
+ q(0044),
+ q(0),
+ ],
+ q(558) => [
+ q(0113),
+ q(0),
+ ],
+ q(566) => [
+ q(0114),
+ q(0),
+ ],
+ q(578) => [
+ q(0027),
+ q(0),
+ ],
+ q(586) => [
+ q(0116),
+ q(0),
+ ],
+ q(590) => [
+ q(0117),
+ q(0),
+ ],
+ q(598) => [
+ q(0118),
+ q(0),
+ ],
+ q(600) => [
+ q(0119),
+ q(0),
+ ],
+ q(604) => [
+ q(0120),
+ q(0),
+ ],
+ q(608) => [
+ q(0121),
+ q(0),
+ ],
+ q(634) => [
+ q(0123),
+ q(0),
+ ],
+ q(643) => [
+ q(0125),
+ q(0),
+ ],
+ q(646) => [
+ q(0126),
+ q(0),
+ ],
+ q(654) => [
+ q(0127),
+ q(0),
+ ],
+ q(678) => [
+ q(0129),
+ q(0),
+ ],
+ q(682) => [
+ q(0130),
+ q(0),
+ ],
+ q(690) => [
+ q(0132),
+ q(0),
+ ],
+ q(694) => [
+ q(0133),
+ q(0),
+ ],
+ q(702) => [
+ q(0134),
+ q(0),
+ ],
+ q(704) => [
+ q(0165),
+ q(0),
+ ],
+ q(706) => [
+ q(0137),
+ q(0),
+ ],
+ q(710) => [
+ q(0091),
+ q(0),
+ ],
+ q(748) => [
+ q(0141),
+ q(0),
+ ],
+ q(752) => [
+ q(0142),
+ q(0),
+ ],
+ q(756) => [
+ q(0094),
+ q(0),
+ ],
+ q(760) => [
+ q(0145),
+ q(0),
+ ],
+ q(764) => [
+ q(0149),
+ q(0),
+ ],
+ q(776) => [
+ q(0150),
+ q(0),
+ ],
+ q(780) => [
+ q(0151),
+ q(0),
+ ],
+ q(784) => [
+ q(0157),
+ q(0),
+ ],
+ q(788) => [
+ q(0152),
+ q(0),
+ ],
+ q(800) => [
+ q(0155),
+ q(0),
+ ],
+ q(807) => [
+ q(0097),
+ q(0),
+ ],
+ q(818) => [
+ q(0054),
+ q(0),
+ ],
+ q(826) => [
+ q(0066),
+ q(0),
+ ],
+ q(834) => [
+ q(0148),
+ q(0),
+ ],
+ q(840) => [
+ q(0005),
+ q(0),
+ ],
+ q(858) => [
+ q(0161),
+ q(0),
+ ],
+ q(860) => [
+ q(0162),
+ q(0),
+ ],
+ q(882) => [
+ q(0128),
+ q(0),
+ ],
+ q(886) => [
+ q(0166),
+ q(0),
+ ],
+ q(894) => [
+ q(0167),
+ q(0),
+ ],
+ q(901) => [
+ q(0146),
+ q(0),
+ ],
+ q(931) => [
+ q(0047),
+ q(0),
+ ],
+ q(932) => [
+ q(0168),
+ q(0),
+ ],
+ q(934) => [
+ q(0154),
+ q(0),
+ ],
+ q(936) => [
+ q(0063),
+ q(0),
+ ],
+ q(937) => [
+ q(0164),
+ q(0),
+ ],
+ q(938) => [
+ q(0139),
+ q(0),
+ ],
+ q(940) => [
+ q(0160),
+ q(0),
+ ],
+ q(941) => [
+ q(0131),
+ q(0),
+ ],
+ q(943) => [
+ q(0109),
+ q(0),
+ ],
+ q(944) => [
+ q(0012),
+ q(0),
+ ],
+ q(946) => [
+ q(0124),
+ q(0),
+ ],
+ q(947) => [
+ q(0143),
+ q(0),
+ ],
+ q(948) => [
+ q(0144),
+ q(0),
+ ],
+ q(949) => [
+ q(0153),
+ q(0),
+ ],
+ q(950) => [
+ q(0033),
+ q(0),
+ ],
+ q(951) => [
+ q(0007),
+ q(0),
+ ],
+ q(952) => [
+ q(0019),
+ q(0),
+ ],
+ q(953) => [
+ q(0060),
+ q(0),
+ ],
+ q(959) => [
+ q(0169),
+ q(0),
+ ],
+ q(960) => [
+ q(0170),
+ q(0),
+ ],
+ q(968) => [
+ q(0140),
+ q(0),
+ ],
+ q(969) => [
+ q(0098),
+ q(0),
+ ],
+ q(970) => [
+ q(0041),
+ q(0),
+ ],
+ q(971) => [
+ q(0001),
+ q(0),
+ ],
+ q(972) => [
+ q(0147),
+ q(0),
+ ],
+ q(973) => [
+ q(0006),
+ q(0),
+ ],
+ q(974) => [
+ q(0017),
+ q(0),
+ ],
+ q(975) => [
+ q(0030),
+ q(0),
+ ],
+ q(976) => [
+ q(0043),
+ q(0),
+ ],
+ q(977) => [
+ q(0025),
+ q(0),
+ ],
+ q(978) => [
+ q(0002),
+ q(0),
+ ],
+ q(979) => [
+ q(0105),
+ q(0),
+ ],
+ q(980) => [
+ q(0156),
+ q(0),
+ ],
+ q(981) => [
+ q(0062),
+ q(0),
+ ],
+ q(984) => [
+ q(0024),
+ q(0),
+ ],
+ q(985) => [
+ q(0122),
+ q(0),
+ ],
+ q(986) => [
+ q(0028),
+ q(0),
+ ],
+ q(990) => [
+ q(0037),
+ q(0),
+ ],
+ q(994) => [
+ q(0135),
+ q(0),
+ ],
+ q(997) => [
+ q(0158),
+ q(0),
+ ],
+ q(998) => [
+ q(0159),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'currency'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(AFN),
+ q(0002) => q(EUR),
+ q(0003) => q(ALL),
+ q(0004) => q(DZD),
+ q(0005) => q(USD),
+ q(0006) => q(AOA),
+ q(0007) => q(XCD),
+ q(0008) => q(ARS),
+ q(0009) => q(AMD),
+ q(0010) => q(AWG),
+ q(0011) => q(AUD),
+ q(0012) => q(AZN),
+ q(0013) => q(BSD),
+ q(0014) => q(BHD),
+ q(0015) => q(BDT),
+ q(0016) => q(BBD),
+ q(0017) => q(BYR),
+ q(0018) => q(BZD),
+ q(0019) => q(XOF),
+ q(0020) => q(BMD),
+ q(0021) => q(BTN),
+ q(0022) => q(INR),
+ q(0023) => q(BOB),
+ q(0024) => q(BOV),
+ q(0025) => q(BAM),
+ q(0026) => q(BWP),
+ q(0027) => q(NOK),
+ q(0028) => q(BRL),
+ q(0029) => q(BND),
+ q(0030) => q(BGN),
+ q(0031) => q(BIF),
+ q(0032) => q(KHR),
+ q(0033) => q(XAF),
+ q(0034) => q(CAD),
+ q(0035) => q(CVE),
+ q(0036) => q(KYD),
+ q(0037) => q(CLF),
+ q(0038) => q(CLP),
+ q(0039) => q(CNY),
+ q(0040) => q(COP),
+ q(0041) => q(COU),
+ q(0042) => q(KMF),
+ q(0043) => q(CDF),
+ q(0044) => q(NZD),
+ q(0045) => q(CRC),
+ q(0046) => q(HRK),
+ q(0047) => q(CUC),
+ q(0048) => q(CUP),
+ q(0049) => q(ANG),
+ q(0050) => q(CZK),
+ q(0051) => q(DKK),
+ q(0052) => q(DJF),
+ q(0053) => q(DOP),
+ q(0054) => q(EGP),
+ q(0055) => q(SVC),
+ q(0056) => q(ERN),
+ q(0057) => q(ETB),
+ q(0058) => q(FKP),
+ q(0059) => q(FJD),
+ q(0060) => q(XPF),
+ q(0061) => q(GMD),
+ q(0062) => q(GEL),
+ q(0063) => q(GHS),
+ q(0064) => q(GIP),
+ q(0065) => q(GTQ),
+ q(0066) => q(GBP),
+ q(0067) => q(GNF),
+ q(0068) => q(GYD),
+ q(0069) => q(HTG),
+ q(0070) => q(HNL),
+ q(0071) => q(HKD),
+ q(0072) => q(HUF),
+ q(0073) => q(ISK),
+ q(0074) => q(IDR),
+ q(0075) => q(IRR),
+ q(0076) => q(IQD),
+ q(0077) => q(ILS),
+ q(0078) => q(JMD),
+ q(0079) => q(JPY),
+ q(0080) => q(JOD),
+ q(0081) => q(KZT),
+ q(0082) => q(KES),
+ q(0083) => q(KPW),
+ q(0084) => q(KRW),
+ q(0085) => q(KWD),
+ q(0086) => q(KGS),
+ q(0087) => q(LAK),
+ q(0088) => q(LVL),
+ q(0089) => q(LBP),
+ q(0090) => q(LSL),
+ q(0091) => q(ZAR),
+ q(0092) => q(LRD),
+ q(0093) => q(LYD),
+ q(0094) => q(CHF),
+ q(0095) => q(LTL),
+ q(0096) => q(MOP),
+ q(0097) => q(MKD),
+ q(0098) => q(MGA),
+ q(0099) => q(MWK),
+ q(0100) => q(MYR),
+ q(0101) => q(MVR),
+ q(0102) => q(MRO),
+ q(0103) => q(MUR),
+ q(0104) => q(MXN),
+ q(0105) => q(MXV),
+ q(0106) => q(MDL),
+ q(0107) => q(MNT),
+ q(0108) => q(MAD),
+ q(0109) => q(MZN),
+ q(0110) => q(MMK),
+ q(0111) => q(NAD),
+ q(0112) => q(NPR),
+ q(0113) => q(NIO),
+ q(0114) => q(NGN),
+ q(0115) => q(OMR),
+ q(0116) => q(PKR),
+ q(0117) => q(PAB),
+ q(0118) => q(PGK),
+ q(0119) => q(PYG),
+ q(0120) => q(PEN),
+ q(0121) => q(PHP),
+ q(0122) => q(PLN),
+ q(0123) => q(QAR),
+ q(0124) => q(RON),
+ q(0125) => q(RUB),
+ q(0126) => q(RWF),
+ q(0127) => q(SHP),
+ q(0128) => q(WST),
+ q(0129) => q(STD),
+ q(0130) => q(SAR),
+ q(0131) => q(RSD),
+ q(0132) => q(SCR),
+ q(0133) => q(SLL),
+ q(0134) => q(SGD),
+ q(0135) => q(XSU),
+ q(0136) => q(SBD),
+ q(0137) => q(SOS),
+ q(0138) => q(LKR),
+ q(0139) => q(SDG),
+ q(0140) => q(SRD),
+ q(0141) => q(SZL),
+ q(0142) => q(SEK),
+ q(0143) => q(CHE),
+ q(0144) => q(CHW),
+ q(0145) => q(SYP),
+ q(0146) => q(TWD),
+ q(0147) => q(TJS),
+ q(0148) => q(TZS),
+ q(0149) => q(THB),
+ q(0150) => q(TOP),
+ q(0151) => q(TTD),
+ q(0152) => q(TND),
+ q(0153) => q(TRY),
+ q(0154) => q(TMT),
+ q(0155) => q(UGX),
+ q(0156) => q(UAH),
+ q(0157) => q(AED),
+ q(0158) => q(USN),
+ q(0159) => q(USS),
+ q(0160) => q(UYI),
+ q(0161) => q(UYU),
+ q(0162) => q(UZS),
+ q(0163) => q(VUV),
+ q(0164) => q(VEF),
+ q(0165) => q(VND),
+ q(0166) => q(YER),
+ q(0167) => q(ZMK),
+ q(0168) => q(ZWL),
+ q(0169) => q(XAU),
+ q(0170) => q(XDR),
+ },
+ q(num) => {
+ q(0001) => q(971),
+ q(0002) => q(978),
+ q(0003) => q(008),
+ q(0004) => q(012),
+ q(0005) => q(840),
+ q(0006) => q(973),
+ q(0007) => q(951),
+ q(0008) => q(032),
+ q(0009) => q(051),
+ q(0010) => q(533),
+ q(0011) => q(036),
+ q(0012) => q(944),
+ q(0013) => q(044),
+ q(0014) => q(048),
+ q(0015) => q(050),
+ q(0016) => q(052),
+ q(0017) => q(974),
+ q(0018) => q(084),
+ q(0019) => q(952),
+ q(0020) => q(060),
+ q(0021) => q(064),
+ q(0022) => q(356),
+ q(0023) => q(068),
+ q(0024) => q(984),
+ q(0025) => q(977),
+ q(0026) => q(072),
+ q(0027) => q(578),
+ q(0028) => q(986),
+ q(0029) => q(096),
+ q(0030) => q(975),
+ q(0031) => q(108),
+ q(0032) => q(116),
+ q(0033) => q(950),
+ q(0034) => q(124),
+ q(0035) => q(132),
+ q(0036) => q(136),
+ q(0037) => q(990),
+ q(0038) => q(152),
+ q(0039) => q(156),
+ q(0040) => q(170),
+ q(0041) => q(970),
+ q(0042) => q(174),
+ q(0043) => q(976),
+ q(0044) => q(554),
+ q(0045) => q(188),
+ q(0046) => q(191),
+ q(0047) => q(931),
+ q(0048) => q(192),
+ q(0049) => q(532),
+ q(0050) => q(203),
+ q(0051) => q(208),
+ q(0052) => q(262),
+ q(0053) => q(214),
+ q(0054) => q(818),
+ q(0055) => q(222),
+ q(0056) => q(232),
+ q(0057) => q(230),
+ q(0058) => q(238),
+ q(0059) => q(242),
+ q(0060) => q(953),
+ q(0061) => q(270),
+ q(0062) => q(981),
+ q(0063) => q(936),
+ q(0064) => q(292),
+ q(0065) => q(320),
+ q(0066) => q(826),
+ q(0067) => q(324),
+ q(0068) => q(328),
+ q(0069) => q(332),
+ q(0070) => q(340),
+ q(0071) => q(344),
+ q(0072) => q(348),
+ q(0073) => q(352),
+ q(0074) => q(360),
+ q(0075) => q(364),
+ q(0076) => q(368),
+ q(0077) => q(376),
+ q(0078) => q(388),
+ q(0079) => q(392),
+ q(0080) => q(400),
+ q(0081) => q(398),
+ q(0082) => q(404),
+ q(0083) => q(408),
+ q(0084) => q(410),
+ q(0085) => q(414),
+ q(0086) => q(417),
+ q(0087) => q(418),
+ q(0088) => q(428),
+ q(0089) => q(422),
+ q(0090) => q(426),
+ q(0091) => q(710),
+ q(0092) => q(430),
+ q(0093) => q(434),
+ q(0094) => q(756),
+ q(0095) => q(440),
+ q(0096) => q(446),
+ q(0097) => q(807),
+ q(0098) => q(969),
+ q(0099) => q(454),
+ q(0100) => q(458),
+ q(0101) => q(462),
+ q(0102) => q(478),
+ q(0103) => q(480),
+ q(0104) => q(484),
+ q(0105) => q(979),
+ q(0106) => q(498),
+ q(0107) => q(496),
+ q(0108) => q(504),
+ q(0109) => q(943),
+ q(0110) => q(104),
+ q(0111) => q(516),
+ q(0112) => q(524),
+ q(0113) => q(558),
+ q(0114) => q(566),
+ q(0115) => q(512),
+ q(0116) => q(586),
+ q(0117) => q(590),
+ q(0118) => q(598),
+ q(0119) => q(600),
+ q(0120) => q(604),
+ q(0121) => q(608),
+ q(0122) => q(985),
+ q(0123) => q(634),
+ q(0124) => q(946),
+ q(0125) => q(643),
+ q(0126) => q(646),
+ q(0127) => q(654),
+ q(0128) => q(882),
+ q(0129) => q(678),
+ q(0130) => q(682),
+ q(0131) => q(941),
+ q(0132) => q(690),
+ q(0133) => q(694),
+ q(0134) => q(702),
+ q(0135) => q(994),
+ q(0136) => q(090),
+ q(0137) => q(706),
+ q(0138) => q(144),
+ q(0139) => q(938),
+ q(0140) => q(968),
+ q(0141) => q(748),
+ q(0142) => q(752),
+ q(0143) => q(947),
+ q(0144) => q(948),
+ q(0145) => q(760),
+ q(0146) => q(901),
+ q(0147) => q(972),
+ q(0148) => q(834),
+ q(0149) => q(764),
+ q(0150) => q(776),
+ q(0151) => q(780),
+ q(0152) => q(788),
+ q(0153) => q(949),
+ q(0154) => q(934),
+ q(0155) => q(800),
+ q(0156) => q(980),
+ q(0157) => q(784),
+ q(0158) => q(997),
+ q(0159) => q(998),
+ q(0160) => q(940),
+ q(0161) => q(858),
+ q(0162) => q(860),
+ q(0163) => q(548),
+ q(0164) => q(937),
+ q(0165) => q(704),
+ q(0166) => q(886),
+ q(0167) => q(894),
+ q(0168) => q(932),
+ q(0169) => q(959),
+ q(0170) => q(960),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
new file mode 100644
index 00000000000..141d72297c9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
@@ -0,0 +1,7303 @@
+package Locale::Codes::Language;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Tue Mar 1 13:38:49 EST 2011
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Language - language codes for the Locale::Language module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Language module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.16';
+
+$Locale::Codes::Data{'language'}{'id'} = '0486';
+
+$Locale::Codes::Data{'language'}{'id2names'} = {
+ q(0001) => [
+ q(Afar),
+ ],
+ q(0002) => [
+ q(Abkhazian),
+ ],
+ q(0003) => [
+ q(Achinese),
+ ],
+ q(0004) => [
+ q(Acoli),
+ ],
+ q(0005) => [
+ q(Adangme),
+ ],
+ q(0006) => [
+ q(Adyghe),
+ q(Adygei),
+ ],
+ q(0007) => [
+ q(Afro-Asiatic languages),
+ ],
+ q(0008) => [
+ q(Afrihili),
+ ],
+ q(0009) => [
+ q(Afrikaans),
+ ],
+ q(0010) => [
+ q(Ainu),
+ ],
+ q(0011) => [
+ q(Akan),
+ ],
+ q(0012) => [
+ q(Akkadian),
+ ],
+ q(0013) => [
+ q(Albanian),
+ ],
+ q(0014) => [
+ q(Aleut),
+ ],
+ q(0015) => [
+ q(Algonquian languages),
+ ],
+ q(0016) => [
+ q(Southern Altai),
+ ],
+ q(0017) => [
+ q(Amharic),
+ ],
+ q(0018) => [
+ q(English, Old (ca.450-1100)),
+ ],
+ q(0019) => [
+ q(Angika),
+ ],
+ q(0020) => [
+ q(Apache languages),
+ ],
+ q(0021) => [
+ q(Arabic),
+ ],
+ q(0022) => [
+ q(Official Aramaic (700-300 BCE)),
+ q(Imperial Aramaic (700-300 BCE)),
+ ],
+ q(0023) => [
+ q(Aragonese),
+ ],
+ q(0024) => [
+ q(Armenian),
+ ],
+ q(0025) => [
+ q(Mapudungun),
+ q(Mapuche),
+ ],
+ q(0026) => [
+ q(Arapaho),
+ ],
+ q(0027) => [
+ q(Artificial languages),
+ ],
+ q(0028) => [
+ q(Arawak),
+ ],
+ q(0029) => [
+ q(Assamese),
+ ],
+ q(0030) => [
+ q(Asturian),
+ q(Bable),
+ q(Leonese),
+ q(Asturleonese),
+ ],
+ q(0031) => [
+ q(Athapascan languages),
+ ],
+ q(0032) => [
+ q(Australian languages),
+ ],
+ q(0033) => [
+ q(Avaric),
+ ],
+ q(0034) => [
+ q(Avestan),
+ ],
+ q(0035) => [
+ q(Awadhi),
+ ],
+ q(0036) => [
+ q(Aymara),
+ ],
+ q(0037) => [
+ q(Azerbaijani),
+ ],
+ q(0038) => [
+ q(Banda languages),
+ ],
+ q(0039) => [
+ q(Bamileke languages),
+ ],
+ q(0040) => [
+ q(Bashkir),
+ ],
+ q(0041) => [
+ q(Baluchi),
+ ],
+ q(0042) => [
+ q(Bambara),
+ ],
+ q(0043) => [
+ q(Balinese),
+ ],
+ q(0044) => [
+ q(Basque),
+ ],
+ q(0045) => [
+ q(Basa),
+ ],
+ q(0046) => [
+ q(Baltic languages),
+ ],
+ q(0047) => [
+ q(Beja),
+ q(Bedawiyet),
+ ],
+ q(0048) => [
+ q(Belarusian),
+ ],
+ q(0049) => [
+ q(Bemba),
+ ],
+ q(0050) => [
+ q(Bengali),
+ ],
+ q(0051) => [
+ q(Berber languages),
+ ],
+ q(0052) => [
+ q(Bhojpuri),
+ ],
+ q(0053) => [
+ q(Bihari languages),
+ ],
+ q(0054) => [
+ q(Bikol),
+ ],
+ q(0055) => [
+ q(Bini),
+ q(Edo),
+ ],
+ q(0056) => [
+ q(Bislama),
+ ],
+ q(0057) => [
+ q(Siksika),
+ ],
+ q(0058) => [
+ q(Bantu (Other)),
+ ],
+ q(0059) => [
+ q(Bosnian),
+ ],
+ q(0060) => [
+ q(Braj),
+ ],
+ q(0061) => [
+ q(Breton),
+ ],
+ q(0062) => [
+ q(Batak languages),
+ ],
+ q(0063) => [
+ q(Buriat),
+ ],
+ q(0064) => [
+ q(Buginese),
+ ],
+ q(0065) => [
+ q(Bulgarian),
+ ],
+ q(0066) => [
+ q(Burmese),
+ ],
+ q(0067) => [
+ q(Blin),
+ q(Bilin),
+ ],
+ q(0068) => [
+ q(Caddo),
+ ],
+ q(0069) => [
+ q(Central American Indian languages),
+ ],
+ q(0070) => [
+ q(Galibi Carib),
+ ],
+ q(0071) => [
+ q(Catalan),
+ q(Valencian),
+ ],
+ q(0072) => [
+ q(Caucasian languages),
+ ],
+ q(0073) => [
+ q(Cebuano),
+ ],
+ q(0074) => [
+ q(Celtic languages),
+ ],
+ q(0075) => [
+ q(Chamorro),
+ ],
+ q(0076) => [
+ q(Chibcha),
+ ],
+ q(0077) => [
+ q(Chechen),
+ ],
+ q(0078) => [
+ q(Chagatai),
+ ],
+ q(0079) => [
+ q(Chinese),
+ ],
+ q(0080) => [
+ q(Chuukese),
+ ],
+ q(0081) => [
+ q(Mari),
+ ],
+ q(0082) => [
+ q(Chinook jargon),
+ ],
+ q(0083) => [
+ q(Choctaw),
+ ],
+ q(0084) => [
+ q(Chipewyan),
+ q(Dene Suline),
+ ],
+ q(0085) => [
+ q(Cherokee),
+ ],
+ q(0086) => [
+ q(Church Slavic),
+ q(Old Slavonic),
+ q(Church Slavonic),
+ q(Old Bulgarian),
+ q(Old Church Slavonic),
+ ],
+ q(0087) => [
+ q(Chuvash),
+ ],
+ q(0088) => [
+ q(Cheyenne),
+ ],
+ q(0089) => [
+ q(Chamic languages),
+ ],
+ q(0090) => [
+ q(Coptic),
+ ],
+ q(0091) => [
+ q(Cornish),
+ ],
+ q(0092) => [
+ q(Corsican),
+ ],
+ q(0093) => [
+ q(Creoles and pidgins, English based),
+ ],
+ q(0094) => [
+ q(Creoles and pidgins, French-based ),
+ ],
+ q(0095) => [
+ q(Creoles and pidgins, Portuguese-based ),
+ ],
+ q(0096) => [
+ q(Cree),
+ ],
+ q(0097) => [
+ q(Crimean Tatar),
+ q(Crimean Turkish),
+ ],
+ q(0098) => [
+ q(Creoles and pidgins ),
+ ],
+ q(0099) => [
+ q(Kashubian),
+ ],
+ q(0100) => [
+ q(Cushitic languages),
+ ],
+ q(0101) => [
+ q(Czech),
+ ],
+ q(0102) => [
+ q(Dakota),
+ ],
+ q(0103) => [
+ q(Danish),
+ ],
+ q(0104) => [
+ q(Dargwa),
+ ],
+ q(0105) => [
+ q(Land Dayak languages),
+ ],
+ q(0106) => [
+ q(Delaware),
+ ],
+ q(0107) => [
+ q(Slave (Athapascan)),
+ ],
+ q(0108) => [
+ q(Dogrib),
+ ],
+ q(0109) => [
+ q(Dinka),
+ ],
+ q(0110) => [
+ q(Divehi),
+ q(Dhivehi),
+ q(Maldivian),
+ ],
+ q(0111) => [
+ q(Dogri),
+ ],
+ q(0112) => [
+ q(Dravidian languages),
+ ],
+ q(0113) => [
+ q(Lower Sorbian),
+ ],
+ q(0114) => [
+ q(Duala),
+ ],
+ q(0115) => [
+ q(Dutch, Middle (ca.1050-1350)),
+ ],
+ q(0116) => [
+ q(Dutch),
+ q(Flemish),
+ ],
+ q(0117) => [
+ q(Dyula),
+ ],
+ q(0118) => [
+ q(Dzongkha),
+ ],
+ q(0119) => [
+ q(Efik),
+ ],
+ q(0120) => [
+ q(Egyptian (Ancient)),
+ ],
+ q(0121) => [
+ q(Ekajuk),
+ ],
+ q(0122) => [
+ q(Elamite),
+ ],
+ q(0123) => [
+ q(English),
+ ],
+ q(0124) => [
+ q(English, Middle (1100-1500)),
+ ],
+ q(0125) => [
+ q(Esperanto),
+ ],
+ q(0126) => [
+ q(Estonian),
+ ],
+ q(0127) => [
+ q(Ewe),
+ ],
+ q(0128) => [
+ q(Ewondo),
+ ],
+ q(0129) => [
+ q(Fang),
+ ],
+ q(0130) => [
+ q(Faroese),
+ ],
+ q(0131) => [
+ q(Fanti),
+ ],
+ q(0132) => [
+ q(Fijian),
+ ],
+ q(0133) => [
+ q(Filipino),
+ q(Pilipino),
+ ],
+ q(0134) => [
+ q(Finnish),
+ ],
+ q(0135) => [
+ q(Finno-Ugrian languages),
+ ],
+ q(0136) => [
+ q(Fon),
+ ],
+ q(0137) => [
+ q(French),
+ ],
+ q(0138) => [
+ q(French, Middle (ca.1400-1600)),
+ ],
+ q(0139) => [
+ q(French, Old (842-ca.1400)),
+ ],
+ q(0140) => [
+ q(Northern Frisian),
+ ],
+ q(0141) => [
+ q(Eastern Frisian),
+ ],
+ q(0142) => [
+ q(Western Frisian),
+ ],
+ q(0143) => [
+ q(Fulah),
+ ],
+ q(0144) => [
+ q(Friulian),
+ ],
+ q(0145) => [
+ q(Ga),
+ ],
+ q(0146) => [
+ q(Gayo),
+ ],
+ q(0147) => [
+ q(Gbaya),
+ ],
+ q(0148) => [
+ q(Germanic languages),
+ ],
+ q(0149) => [
+ q(Georgian),
+ ],
+ q(0150) => [
+ q(German),
+ ],
+ q(0151) => [
+ q(Geez),
+ ],
+ q(0152) => [
+ q(Gilbertese),
+ ],
+ q(0153) => [
+ q(Gaelic),
+ q(Scottish Gaelic),
+ ],
+ q(0154) => [
+ q(Irish),
+ ],
+ q(0155) => [
+ q(Galician),
+ ],
+ q(0156) => [
+ q(Manx),
+ ],
+ q(0157) => [
+ q(German, Middle High (ca.1050-1500)),
+ ],
+ q(0158) => [
+ q(German, Old High (ca.750-1050)),
+ ],
+ q(0159) => [
+ q(Gondi),
+ ],
+ q(0160) => [
+ q(Gorontalo),
+ ],
+ q(0161) => [
+ q(Gothic),
+ ],
+ q(0162) => [
+ q(Grebo),
+ ],
+ q(0163) => [
+ q(Greek, Ancient (to 1453)),
+ ],
+ q(0164) => [
+ q(Greek, Modern (1453-)),
+ q(Greek),
+ ],
+ q(0165) => [
+ q(Guarani),
+ ],
+ q(0166) => [
+ q(Swiss German),
+ q(Alemannic),
+ q(Alsatian),
+ ],
+ q(0167) => [
+ q(Gujarati),
+ ],
+ q(0168) => [
+ q(Gwich'in),
+ ],
+ q(0169) => [
+ q(Haida),
+ ],
+ q(0170) => [
+ q(Haitian),
+ q(Haitian Creole),
+ ],
+ q(0171) => [
+ q(Hausa),
+ ],
+ q(0172) => [
+ q(Hawaiian),
+ ],
+ q(0173) => [
+ q(Hebrew),
+ ],
+ q(0174) => [
+ q(Herero),
+ ],
+ q(0175) => [
+ q(Hiligaynon),
+ ],
+ q(0176) => [
+ q(Himachali languages),
+ q(Western Pahari languages),
+ ],
+ q(0177) => [
+ q(Hindi),
+ ],
+ q(0178) => [
+ q(Hittite),
+ ],
+ q(0179) => [
+ q(Hmong),
+ q(Mong),
+ ],
+ q(0180) => [
+ q(Hiri Motu),
+ ],
+ q(0181) => [
+ q(Croatian),
+ ],
+ q(0182) => [
+ q(Upper Sorbian),
+ ],
+ q(0183) => [
+ q(Hungarian),
+ ],
+ q(0184) => [
+ q(Hupa),
+ ],
+ q(0185) => [
+ q(Iban),
+ ],
+ q(0186) => [
+ q(Igbo),
+ ],
+ q(0187) => [
+ q(Icelandic),
+ ],
+ q(0188) => [
+ q(Ido),
+ ],
+ q(0189) => [
+ q(Sichuan Yi),
+ q(Nuosu),
+ ],
+ q(0190) => [
+ q(Ijo languages),
+ ],
+ q(0191) => [
+ q(Inuktitut),
+ ],
+ q(0192) => [
+ q(Interlingue),
+ q(Occidental),
+ ],
+ q(0193) => [
+ q(Iloko),
+ ],
+ q(0194) => [
+ q(Interlingua (International Auxiliary Language Association)),
+ ],
+ q(0195) => [
+ q(Indic languages),
+ ],
+ q(0196) => [
+ q(Indonesian),
+ ],
+ q(0197) => [
+ q(Indo-European languages),
+ ],
+ q(0198) => [
+ q(Ingush),
+ ],
+ q(0199) => [
+ q(Inupiaq),
+ ],
+ q(0200) => [
+ q(Iranian languages),
+ ],
+ q(0201) => [
+ q(Iroquoian languages),
+ ],
+ q(0202) => [
+ q(Italian),
+ ],
+ q(0203) => [
+ q(Javanese),
+ ],
+ q(0204) => [
+ q(Lojban),
+ ],
+ q(0205) => [
+ q(Japanese),
+ ],
+ q(0206) => [
+ q(Judeo-Persian),
+ ],
+ q(0207) => [
+ q(Judeo-Arabic),
+ ],
+ q(0208) => [
+ q(Kara-Kalpak),
+ ],
+ q(0209) => [
+ q(Kabyle),
+ ],
+ q(0210) => [
+ q(Kachin),
+ q(Jingpho),
+ ],
+ q(0211) => [
+ q(Kalaallisut),
+ q(Greenlandic),
+ ],
+ q(0212) => [
+ q(Kamba),
+ ],
+ q(0213) => [
+ q(Kannada),
+ ],
+ q(0214) => [
+ q(Karen languages),
+ ],
+ q(0215) => [
+ q(Kashmiri),
+ ],
+ q(0216) => [
+ q(Kanuri),
+ ],
+ q(0217) => [
+ q(Kawi),
+ ],
+ q(0218) => [
+ q(Kazakh),
+ ],
+ q(0219) => [
+ q(Kabardian),
+ ],
+ q(0220) => [
+ q(Khasi),
+ ],
+ q(0221) => [
+ q(Khoisan languages),
+ ],
+ q(0222) => [
+ q(Central Khmer),
+ ],
+ q(0223) => [
+ q(Khotanese),
+ q(Sakan),
+ ],
+ q(0224) => [
+ q(Kikuyu),
+ q(Gikuyu),
+ ],
+ q(0225) => [
+ q(Kinyarwanda),
+ ],
+ q(0226) => [
+ q(Kirghiz),
+ q(Kyrgyz),
+ ],
+ q(0227) => [
+ q(Kimbundu),
+ ],
+ q(0228) => [
+ q(Konkani),
+ ],
+ q(0229) => [
+ q(Komi),
+ ],
+ q(0230) => [
+ q(Kongo),
+ ],
+ q(0231) => [
+ q(Korean),
+ ],
+ q(0232) => [
+ q(Kosraean),
+ ],
+ q(0233) => [
+ q(Kpelle),
+ ],
+ q(0234) => [
+ q(Karachay-Balkar),
+ ],
+ q(0235) => [
+ q(Karelian),
+ ],
+ q(0236) => [
+ q(Kru languages),
+ ],
+ q(0237) => [
+ q(Kurukh),
+ ],
+ q(0238) => [
+ q(Kuanyama),
+ q(Kwanyama),
+ ],
+ q(0239) => [
+ q(Kumyk),
+ ],
+ q(0240) => [
+ q(Kurdish),
+ ],
+ q(0241) => [
+ q(Kutenai),
+ ],
+ q(0242) => [
+ q(Ladino),
+ ],
+ q(0243) => [
+ q(Lahnda),
+ ],
+ q(0244) => [
+ q(Lamba),
+ ],
+ q(0245) => [
+ q(Lao),
+ ],
+ q(0246) => [
+ q(Latin),
+ ],
+ q(0247) => [
+ q(Latvian),
+ ],
+ q(0248) => [
+ q(Lezghian),
+ ],
+ q(0249) => [
+ q(Limburgan),
+ q(Limburger),
+ q(Limburgish),
+ ],
+ q(0250) => [
+ q(Lingala),
+ ],
+ q(0251) => [
+ q(Lithuanian),
+ ],
+ q(0252) => [
+ q(Mongo),
+ ],
+ q(0253) => [
+ q(Lozi),
+ ],
+ q(0254) => [
+ q(Luxembourgish),
+ q(Letzeburgesch),
+ ],
+ q(0255) => [
+ q(Luba-Lulua),
+ ],
+ q(0256) => [
+ q(Luba-Katanga),
+ ],
+ q(0257) => [
+ q(Ganda),
+ ],
+ q(0258) => [
+ q(Luiseno),
+ ],
+ q(0259) => [
+ q(Lunda),
+ ],
+ q(0260) => [
+ q(Luo (Kenya and Tanzania)),
+ ],
+ q(0261) => [
+ q(Lushai),
+ ],
+ q(0262) => [
+ q(Macedonian),
+ ],
+ q(0263) => [
+ q(Madurese),
+ ],
+ q(0264) => [
+ q(Magahi),
+ ],
+ q(0265) => [
+ q(Marshallese),
+ ],
+ q(0266) => [
+ q(Maithili),
+ ],
+ q(0267) => [
+ q(Makasar),
+ ],
+ q(0268) => [
+ q(Malayalam),
+ ],
+ q(0269) => [
+ q(Mandingo),
+ ],
+ q(0270) => [
+ q(Maori),
+ ],
+ q(0271) => [
+ q(Austronesian languages),
+ ],
+ q(0272) => [
+ q(Marathi),
+ ],
+ q(0273) => [
+ q(Masai),
+ ],
+ q(0274) => [
+ q(Malay),
+ ],
+ q(0275) => [
+ q(Moksha),
+ ],
+ q(0276) => [
+ q(Mandar),
+ ],
+ q(0277) => [
+ q(Mende),
+ ],
+ q(0278) => [
+ q(Irish, Middle (900-1200)),
+ ],
+ q(0279) => [
+ q(Mi'kmaq),
+ q(Micmac),
+ ],
+ q(0280) => [
+ q(Minangkabau),
+ ],
+ q(0281) => [
+ q(Uncoded languages),
+ ],
+ q(0282) => [
+ q(Mon-Khmer languages),
+ ],
+ q(0283) => [
+ q(Malagasy),
+ ],
+ q(0284) => [
+ q(Maltese),
+ ],
+ q(0285) => [
+ q(Manchu),
+ ],
+ q(0286) => [
+ q(Manipuri),
+ ],
+ q(0287) => [
+ q(Manobo languages),
+ ],
+ q(0288) => [
+ q(Mohawk),
+ ],
+ q(0289) => [
+ q(Mongolian),
+ ],
+ q(0290) => [
+ q(Mossi),
+ ],
+ q(0291) => [
+ q(Multiple languages),
+ ],
+ q(0292) => [
+ q(Munda languages),
+ ],
+ q(0293) => [
+ q(Creek),
+ ],
+ q(0294) => [
+ q(Mirandese),
+ ],
+ q(0295) => [
+ q(Marwari),
+ ],
+ q(0296) => [
+ q(Mayan languages),
+ ],
+ q(0297) => [
+ q(Erzya),
+ ],
+ q(0298) => [
+ q(Nahuatl languages),
+ ],
+ q(0299) => [
+ q(North American Indian languages),
+ ],
+ q(0300) => [
+ q(Neapolitan),
+ ],
+ q(0301) => [
+ q(Nauru),
+ ],
+ q(0302) => [
+ q(Navajo),
+ q(Navaho),
+ ],
+ q(0303) => [
+ q(Ndebele, South),
+ q(South Ndebele),
+ ],
+ q(0304) => [
+ q(Ndebele, North),
+ q(North Ndebele),
+ ],
+ q(0305) => [
+ q(Ndonga),
+ ],
+ q(0306) => [
+ q(Low German),
+ q(Low Saxon),
+ q(German, Low),
+ q(Saxon, Low),
+ ],
+ q(0307) => [
+ q(Nepali),
+ ],
+ q(0308) => [
+ q(Nepal Bhasa),
+ q(Newari),
+ ],
+ q(0309) => [
+ q(Nias),
+ ],
+ q(0310) => [
+ q(Niger-Kordofanian languages),
+ ],
+ q(0311) => [
+ q(Niuean),
+ ],
+ q(0312) => [
+ q(Norwegian Nynorsk),
+ q(Nynorsk, Norwegian),
+ ],
+ q(0313) => [
+ q(Bokmal, Norwegian),
+ q(Norwegian Bokmal),
+ ],
+ q(0314) => [
+ q(Nogai),
+ ],
+ q(0315) => [
+ q(Norse, Old),
+ ],
+ q(0316) => [
+ q(Norwegian),
+ ],
+ q(0317) => [
+ q(N'Ko),
+ ],
+ q(0318) => [
+ q(Pedi),
+ q(Sepedi),
+ q(Northern Sotho),
+ ],
+ q(0319) => [
+ q(Nubian languages),
+ ],
+ q(0320) => [
+ q(Classical Newari),
+ q(Old Newari),
+ q(Classical Nepal Bhasa),
+ ],
+ q(0321) => [
+ q(Chichewa),
+ q(Chewa),
+ q(Nyanja),
+ ],
+ q(0322) => [
+ q(Nyamwezi),
+ ],
+ q(0323) => [
+ q(Nyankole),
+ ],
+ q(0324) => [
+ q(Nyoro),
+ ],
+ q(0325) => [
+ q(Nzima),
+ ],
+ q(0326) => [
+ q(Occitan (post 1500)),
+ q(Provencal),
+ ],
+ q(0327) => [
+ q(Ojibwa),
+ ],
+ q(0328) => [
+ q(Oriya),
+ ],
+ q(0329) => [
+ q(Oromo),
+ ],
+ q(0330) => [
+ q(Osage),
+ ],
+ q(0331) => [
+ q(Ossetian),
+ q(Ossetic),
+ ],
+ q(0332) => [
+ q(Turkish, Ottoman (1500-1928)),
+ ],
+ q(0333) => [
+ q(Otomian languages),
+ ],
+ q(0334) => [
+ q(Papuan languages),
+ ],
+ q(0335) => [
+ q(Pangasinan),
+ ],
+ q(0336) => [
+ q(Pahlavi),
+ ],
+ q(0337) => [
+ q(Pampanga),
+ q(Kapampangan),
+ ],
+ q(0338) => [
+ q(Panjabi),
+ q(Punjabi),
+ ],
+ q(0339) => [
+ q(Papiamento),
+ ],
+ q(0340) => [
+ q(Palauan),
+ ],
+ q(0341) => [
+ q(Persian, Old (ca.600-400 B.C.)),
+ ],
+ q(0342) => [
+ q(Persian),
+ ],
+ q(0343) => [
+ q(Philippine languages),
+ ],
+ q(0344) => [
+ q(Phoenician),
+ ],
+ q(0345) => [
+ q(Pali),
+ ],
+ q(0346) => [
+ q(Polish),
+ ],
+ q(0347) => [
+ q(Pohnpeian),
+ ],
+ q(0348) => [
+ q(Portuguese),
+ ],
+ q(0349) => [
+ q(Prakrit languages),
+ ],
+ q(0350) => [
+ q(Provencal, Old (to 1500)),
+ ],
+ q(0351) => [
+ q(Pushto),
+ q(Pashto),
+ ],
+ q(0352) => [
+ q(Reserved for local use),
+ ],
+ q(0353) => [
+ q(Quechua),
+ ],
+ q(0354) => [
+ q(Rajasthani),
+ ],
+ q(0355) => [
+ q(Rapanui),
+ ],
+ q(0356) => [
+ q(Rarotongan),
+ q(Cook Islands Maori),
+ ],
+ q(0357) => [
+ q(Romance languages),
+ ],
+ q(0358) => [
+ q(Romansh),
+ ],
+ q(0359) => [
+ q(Romany),
+ ],
+ q(0360) => [
+ q(Romanian),
+ q(Moldavian),
+ q(Moldovan),
+ ],
+ q(0361) => [
+ q(Rundi),
+ ],
+ q(0362) => [
+ q(Aromanian),
+ q(Arumanian),
+ q(Macedo-Romanian),
+ ],
+ q(0363) => [
+ q(Russian),
+ ],
+ q(0364) => [
+ q(Sandawe),
+ ],
+ q(0365) => [
+ q(Sango),
+ ],
+ q(0366) => [
+ q(Yakut),
+ ],
+ q(0367) => [
+ q(South American Indian (Other)),
+ ],
+ q(0368) => [
+ q(Salishan languages),
+ ],
+ q(0369) => [
+ q(Samaritan Aramaic),
+ ],
+ q(0370) => [
+ q(Sanskrit),
+ ],
+ q(0371) => [
+ q(Sasak),
+ ],
+ q(0372) => [
+ q(Santali),
+ ],
+ q(0373) => [
+ q(Sicilian),
+ ],
+ q(0374) => [
+ q(Scots),
+ ],
+ q(0375) => [
+ q(Selkup),
+ ],
+ q(0376) => [
+ q(Semitic languages),
+ ],
+ q(0377) => [
+ q(Irish, Old (to 900)),
+ ],
+ q(0378) => [
+ q(Sign Languages),
+ ],
+ q(0379) => [
+ q(Shan),
+ ],
+ q(0380) => [
+ q(Sidamo),
+ ],
+ q(0381) => [
+ q(Sinhala),
+ q(Sinhalese),
+ ],
+ q(0382) => [
+ q(Siouan languages),
+ ],
+ q(0383) => [
+ q(Sino-Tibetan languages),
+ ],
+ q(0384) => [
+ q(Slavic languages),
+ ],
+ q(0385) => [
+ q(Slovak),
+ ],
+ q(0386) => [
+ q(Slovenian),
+ ],
+ q(0387) => [
+ q(Southern Sami),
+ ],
+ q(0388) => [
+ q(Northern Sami),
+ ],
+ q(0389) => [
+ q(Sami languages),
+ ],
+ q(0390) => [
+ q(Lule Sami),
+ ],
+ q(0391) => [
+ q(Inari Sami),
+ ],
+ q(0392) => [
+ q(Samoan),
+ ],
+ q(0393) => [
+ q(Skolt Sami),
+ ],
+ q(0394) => [
+ q(Shona),
+ ],
+ q(0395) => [
+ q(Sindhi),
+ ],
+ q(0396) => [
+ q(Soninke),
+ ],
+ q(0397) => [
+ q(Sogdian),
+ ],
+ q(0398) => [
+ q(Somali),
+ ],
+ q(0399) => [
+ q(Songhai languages),
+ ],
+ q(0400) => [
+ q(Sotho, Southern),
+ ],
+ q(0401) => [
+ q(Spanish),
+ q(Castilian),
+ ],
+ q(0402) => [
+ q(Sardinian),
+ ],
+ q(0403) => [
+ q(Sranan Tongo),
+ ],
+ q(0404) => [
+ q(Serbian),
+ ],
+ q(0405) => [
+ q(Serer),
+ ],
+ q(0406) => [
+ q(Nilo-Saharan languages),
+ ],
+ q(0407) => [
+ q(Swati),
+ ],
+ q(0408) => [
+ q(Sukuma),
+ ],
+ q(0409) => [
+ q(Sundanese),
+ ],
+ q(0410) => [
+ q(Susu),
+ ],
+ q(0411) => [
+ q(Sumerian),
+ ],
+ q(0412) => [
+ q(Swahili),
+ ],
+ q(0413) => [
+ q(Swedish),
+ ],
+ q(0414) => [
+ q(Classical Syriac),
+ ],
+ q(0415) => [
+ q(Syriac),
+ ],
+ q(0416) => [
+ q(Tahitian),
+ ],
+ q(0417) => [
+ q(Tai languages),
+ ],
+ q(0418) => [
+ q(Tamil),
+ ],
+ q(0419) => [
+ q(Tatar),
+ ],
+ q(0420) => [
+ q(Telugu),
+ ],
+ q(0421) => [
+ q(Timne),
+ ],
+ q(0422) => [
+ q(Tereno),
+ ],
+ q(0423) => [
+ q(Tetum),
+ ],
+ q(0424) => [
+ q(Tajik),
+ ],
+ q(0425) => [
+ q(Tagalog),
+ ],
+ q(0426) => [
+ q(Thai),
+ ],
+ q(0427) => [
+ q(Tibetan),
+ ],
+ q(0428) => [
+ q(Tigre),
+ ],
+ q(0429) => [
+ q(Tigrinya),
+ ],
+ q(0430) => [
+ q(Tiv),
+ ],
+ q(0431) => [
+ q(Tokelau),
+ ],
+ q(0432) => [
+ q(Klingon),
+ q(tlhIngan-Hol),
+ ],
+ q(0433) => [
+ q(Tlingit),
+ ],
+ q(0434) => [
+ q(Tamashek),
+ ],
+ q(0435) => [
+ q(Tonga (Nyasa)),
+ ],
+ q(0436) => [
+ q(Tonga (Tonga Islands)),
+ q(Tonga),
+ ],
+ q(0437) => [
+ q(Tok Pisin),
+ ],
+ q(0438) => [
+ q(Tsimshian),
+ ],
+ q(0439) => [
+ q(Tswana),
+ ],
+ q(0440) => [
+ q(Tsonga),
+ ],
+ q(0441) => [
+ q(Turkmen),
+ ],
+ q(0442) => [
+ q(Tumbuka),
+ ],
+ q(0443) => [
+ q(Tupi languages),
+ ],
+ q(0444) => [
+ q(Turkish),
+ ],
+ q(0445) => [
+ q(Altaic languages),
+ ],
+ q(0446) => [
+ q(Tuvalu),
+ ],
+ q(0447) => [
+ q(Twi),
+ ],
+ q(0448) => [
+ q(Tuvinian),
+ ],
+ q(0449) => [
+ q(Udmurt),
+ ],
+ q(0450) => [
+ q(Ugaritic),
+ ],
+ q(0451) => [
+ q(Uighur),
+ q(Uyghur),
+ ],
+ q(0452) => [
+ q(Ukrainian),
+ ],
+ q(0453) => [
+ q(Umbundu),
+ ],
+ q(0454) => [
+ q(Undetermined),
+ ],
+ q(0455) => [
+ q(Urdu),
+ ],
+ q(0456) => [
+ q(Uzbek),
+ ],
+ q(0457) => [
+ q(Vai),
+ ],
+ q(0458) => [
+ q(Venda),
+ ],
+ q(0459) => [
+ q(Vietnamese),
+ ],
+ q(0460) => [
+ q(Volapuk),
+ ],
+ q(0461) => [
+ q(Votic),
+ ],
+ q(0462) => [
+ q(Wakashan languages),
+ ],
+ q(0463) => [
+ q(Walamo),
+ ],
+ q(0464) => [
+ q(Waray),
+ ],
+ q(0465) => [
+ q(Washo),
+ ],
+ q(0466) => [
+ q(Welsh),
+ ],
+ q(0467) => [
+ q(Sorbian languages),
+ ],
+ q(0468) => [
+ q(Walloon),
+ ],
+ q(0469) => [
+ q(Wolof),
+ ],
+ q(0470) => [
+ q(Kalmyk),
+ q(Oirat),
+ ],
+ q(0471) => [
+ q(Xhosa),
+ ],
+ q(0472) => [
+ q(Yao),
+ ],
+ q(0473) => [
+ q(Yapese),
+ ],
+ q(0474) => [
+ q(Yiddish),
+ ],
+ q(0475) => [
+ q(Yoruba),
+ ],
+ q(0476) => [
+ q(Yupik languages),
+ ],
+ q(0477) => [
+ q(Zapotec),
+ ],
+ q(0478) => [
+ q(Blissymbols),
+ q(Blissymbolics),
+ q(Bliss),
+ ],
+ q(0479) => [
+ q(Zenaga),
+ ],
+ q(0480) => [
+ q(Zhuang),
+ q(Chuang),
+ ],
+ q(0481) => [
+ q(Zande languages),
+ ],
+ q(0482) => [
+ q(Zulu),
+ ],
+ q(0483) => [
+ q(Zuni),
+ ],
+ q(0484) => [
+ q(No linguistic content),
+ q(Not applicable),
+ ],
+ q(0485) => [
+ q(Zaza),
+ q(Dimili),
+ q(Dimli),
+ q(Kirdki),
+ q(Kirmanjki),
+ q(Zazaki),
+ ],
+};
+
+$Locale::Codes::Data{'language'}{'alias2id'} = {
+ q(abkhazian) => [
+ q(0002),
+ q(0),
+ ],
+ q(achinese) => [
+ q(0003),
+ q(0),
+ ],
+ q(acoli) => [
+ q(0004),
+ q(0),
+ ],
+ q(adangme) => [
+ q(0005),
+ q(0),
+ ],
+ q(adygei) => [
+ q(0006),
+ q(1),
+ ],
+ q(adyghe) => [
+ q(0006),
+ q(0),
+ ],
+ q(afar) => [
+ q(0001),
+ q(0),
+ ],
+ q(afrihili) => [
+ q(0008),
+ q(0),
+ ],
+ q(afrikaans) => [
+ q(0009),
+ q(0),
+ ],
+ q(afro-asiatic languages) => [
+ q(0007),
+ q(0),
+ ],
+ q(ainu) => [
+ q(0010),
+ q(0),
+ ],
+ q(akan) => [
+ q(0011),
+ q(0),
+ ],
+ q(akkadian) => [
+ q(0012),
+ q(0),
+ ],
+ q(albanian) => [
+ q(0013),
+ q(0),
+ ],
+ q(alemannic) => [
+ q(0166),
+ q(1),
+ ],
+ q(aleut) => [
+ q(0014),
+ q(0),
+ ],
+ q(algonquian languages) => [
+ q(0015),
+ q(0),
+ ],
+ q(alsatian) => [
+ q(0166),
+ q(2),
+ ],
+ q(altaic languages) => [
+ q(0445),
+ q(0),
+ ],
+ q(amharic) => [
+ q(0017),
+ q(0),
+ ],
+ q(angika) => [
+ q(0019),
+ q(0),
+ ],
+ q(apache languages) => [
+ q(0020),
+ q(0),
+ ],
+ q(arabic) => [
+ q(0021),
+ q(0),
+ ],
+ q(aragonese) => [
+ q(0023),
+ q(0),
+ ],
+ q(arapaho) => [
+ q(0026),
+ q(0),
+ ],
+ q(arawak) => [
+ q(0028),
+ q(0),
+ ],
+ q(armenian) => [
+ q(0024),
+ q(0),
+ ],
+ q(aromanian) => [
+ q(0362),
+ q(0),
+ ],
+ q(artificial languages) => [
+ q(0027),
+ q(0),
+ ],
+ q(arumanian) => [
+ q(0362),
+ q(1),
+ ],
+ q(assamese) => [
+ q(0029),
+ q(0),
+ ],
+ q(asturian) => [
+ q(0030),
+ q(0),
+ ],
+ q(asturleonese) => [
+ q(0030),
+ q(3),
+ ],
+ q(athapascan languages) => [
+ q(0031),
+ q(0),
+ ],
+ q(australian languages) => [
+ q(0032),
+ q(0),
+ ],
+ q(austronesian languages) => [
+ q(0271),
+ q(0),
+ ],
+ q(avaric) => [
+ q(0033),
+ q(0),
+ ],
+ q(avestan) => [
+ q(0034),
+ q(0),
+ ],
+ q(awadhi) => [
+ q(0035),
+ q(0),
+ ],
+ q(aymara) => [
+ q(0036),
+ q(0),
+ ],
+ q(azerbaijani) => [
+ q(0037),
+ q(0),
+ ],
+ q(bable) => [
+ q(0030),
+ q(1),
+ ],
+ q(balinese) => [
+ q(0043),
+ q(0),
+ ],
+ q(baltic languages) => [
+ q(0046),
+ q(0),
+ ],
+ q(baluchi) => [
+ q(0041),
+ q(0),
+ ],
+ q(bambara) => [
+ q(0042),
+ q(0),
+ ],
+ q(bamileke languages) => [
+ q(0039),
+ q(0),
+ ],
+ q(banda languages) => [
+ q(0038),
+ q(0),
+ ],
+ q(bantu (other)) => [
+ q(0058),
+ q(0),
+ ],
+ q(basa) => [
+ q(0045),
+ q(0),
+ ],
+ q(bashkir) => [
+ q(0040),
+ q(0),
+ ],
+ q(basque) => [
+ q(0044),
+ q(0),
+ ],
+ q(batak languages) => [
+ q(0062),
+ q(0),
+ ],
+ q(bedawiyet) => [
+ q(0047),
+ q(1),
+ ],
+ q(beja) => [
+ q(0047),
+ q(0),
+ ],
+ q(belarusian) => [
+ q(0048),
+ q(0),
+ ],
+ q(bemba) => [
+ q(0049),
+ q(0),
+ ],
+ q(bengali) => [
+ q(0050),
+ q(0),
+ ],
+ q(berber languages) => [
+ q(0051),
+ q(0),
+ ],
+ q(bhojpuri) => [
+ q(0052),
+ q(0),
+ ],
+ q(bihari languages) => [
+ q(0053),
+ q(0),
+ ],
+ q(bikol) => [
+ q(0054),
+ q(0),
+ ],
+ q(bilin) => [
+ q(0067),
+ q(1),
+ ],
+ q(bini) => [
+ q(0055),
+ q(0),
+ ],
+ q(bislama) => [
+ q(0056),
+ q(0),
+ ],
+ q(blin) => [
+ q(0067),
+ q(0),
+ ],
+ q(bliss) => [
+ q(0478),
+ q(2),
+ ],
+ q(blissymbolics) => [
+ q(0478),
+ q(1),
+ ],
+ q(blissymbols) => [
+ q(0478),
+ q(0),
+ ],
+ q(bokmal, norwegian) => [
+ q(0313),
+ q(0),
+ ],
+ q(bosnian) => [
+ q(0059),
+ q(0),
+ ],
+ q(braj) => [
+ q(0060),
+ q(0),
+ ],
+ q(breton) => [
+ q(0061),
+ q(0),
+ ],
+ q(buginese) => [
+ q(0064),
+ q(0),
+ ],
+ q(bulgarian) => [
+ q(0065),
+ q(0),
+ ],
+ q(buriat) => [
+ q(0063),
+ q(0),
+ ],
+ q(burmese) => [
+ q(0066),
+ q(0),
+ ],
+ q(caddo) => [
+ q(0068),
+ q(0),
+ ],
+ q(castilian) => [
+ q(0401),
+ q(1),
+ ],
+ q(catalan) => [
+ q(0071),
+ q(0),
+ ],
+ q(caucasian languages) => [
+ q(0072),
+ q(0),
+ ],
+ q(cebuano) => [
+ q(0073),
+ q(0),
+ ],
+ q(celtic languages) => [
+ q(0074),
+ q(0),
+ ],
+ q(central american indian languages) => [
+ q(0069),
+ q(0),
+ ],
+ q(central khmer) => [
+ q(0222),
+ q(0),
+ ],
+ q(chagatai) => [
+ q(0078),
+ q(0),
+ ],
+ q(chamic languages) => [
+ q(0089),
+ q(0),
+ ],
+ q(chamorro) => [
+ q(0075),
+ q(0),
+ ],
+ q(chechen) => [
+ q(0077),
+ q(0),
+ ],
+ q(cherokee) => [
+ q(0085),
+ q(0),
+ ],
+ q(chewa) => [
+ q(0321),
+ q(1),
+ ],
+ q(cheyenne) => [
+ q(0088),
+ q(0),
+ ],
+ q(chibcha) => [
+ q(0076),
+ q(0),
+ ],
+ q(chichewa) => [
+ q(0321),
+ q(0),
+ ],
+ q(chinese) => [
+ q(0079),
+ q(0),
+ ],
+ q(chinook jargon) => [
+ q(0082),
+ q(0),
+ ],
+ q(chipewyan) => [
+ q(0084),
+ q(0),
+ ],
+ q(choctaw) => [
+ q(0083),
+ q(0),
+ ],
+ q(chuang) => [
+ q(0480),
+ q(1),
+ ],
+ q(church slavic) => [
+ q(0086),
+ q(0),
+ ],
+ q(church slavonic) => [
+ q(0086),
+ q(2),
+ ],
+ q(chuukese) => [
+ q(0080),
+ q(0),
+ ],
+ q(chuvash) => [
+ q(0087),
+ q(0),
+ ],
+ q(classical nepal bhasa) => [
+ q(0320),
+ q(2),
+ ],
+ q(classical newari) => [
+ q(0320),
+ q(0),
+ ],
+ q(classical syriac) => [
+ q(0414),
+ q(0),
+ ],
+ q(cook islands maori) => [
+ q(0356),
+ q(1),
+ ],
+ q(coptic) => [
+ q(0090),
+ q(0),
+ ],
+ q(cornish) => [
+ q(0091),
+ q(0),
+ ],
+ q(corsican) => [
+ q(0092),
+ q(0),
+ ],
+ q(cree) => [
+ q(0096),
+ q(0),
+ ],
+ q(creek) => [
+ q(0293),
+ q(0),
+ ],
+ q(creoles and pidgins ) => [
+ q(0098),
+ q(0),
+ ],
+ q(creoles and pidgins, english based) => [
+ q(0093),
+ q(0),
+ ],
+ q(creoles and pidgins, french-based ) => [
+ q(0094),
+ q(0),
+ ],
+ q(creoles and pidgins, portuguese-based ) => [
+ q(0095),
+ q(0),
+ ],
+ q(crimean tatar) => [
+ q(0097),
+ q(0),
+ ],
+ q(crimean turkish) => [
+ q(0097),
+ q(1),
+ ],
+ q(croatian) => [
+ q(0181),
+ q(0),
+ ],
+ q(cushitic languages) => [
+ q(0100),
+ q(0),
+ ],
+ q(czech) => [
+ q(0101),
+ q(0),
+ ],
+ q(dakota) => [
+ q(0102),
+ q(0),
+ ],
+ q(danish) => [
+ q(0103),
+ q(0),
+ ],
+ q(dargwa) => [
+ q(0104),
+ q(0),
+ ],
+ q(delaware) => [
+ q(0106),
+ q(0),
+ ],
+ q(dene suline) => [
+ q(0084),
+ q(1),
+ ],
+ q(dhivehi) => [
+ q(0110),
+ q(1),
+ ],
+ q(dimili) => [
+ q(0485),
+ q(1),
+ ],
+ q(dimli) => [
+ q(0485),
+ q(2),
+ ],
+ q(dinka) => [
+ q(0109),
+ q(0),
+ ],
+ q(divehi) => [
+ q(0110),
+ q(0),
+ ],
+ q(dogri) => [
+ q(0111),
+ q(0),
+ ],
+ q(dogrib) => [
+ q(0108),
+ q(0),
+ ],
+ q(dravidian languages) => [
+ q(0112),
+ q(0),
+ ],
+ q(duala) => [
+ q(0114),
+ q(0),
+ ],
+ q(dutch) => [
+ q(0116),
+ q(0),
+ ],
+ q(dutch, middle (ca.1050-1350)) => [
+ q(0115),
+ q(0),
+ ],
+ q(dyula) => [
+ q(0117),
+ q(0),
+ ],
+ q(dzongkha) => [
+ q(0118),
+ q(0),
+ ],
+ q(eastern frisian) => [
+ q(0141),
+ q(0),
+ ],
+ q(edo) => [
+ q(0055),
+ q(1),
+ ],
+ q(efik) => [
+ q(0119),
+ q(0),
+ ],
+ q(egyptian (ancient)) => [
+ q(0120),
+ q(0),
+ ],
+ q(ekajuk) => [
+ q(0121),
+ q(0),
+ ],
+ q(elamite) => [
+ q(0122),
+ q(0),
+ ],
+ q(english) => [
+ q(0123),
+ q(0),
+ ],
+ q(english, middle (1100-1500)) => [
+ q(0124),
+ q(0),
+ ],
+ q(english, old (ca.450-1100)) => [
+ q(0018),
+ q(0),
+ ],
+ q(erzya) => [
+ q(0297),
+ q(0),
+ ],
+ q(esperanto) => [
+ q(0125),
+ q(0),
+ ],
+ q(estonian) => [
+ q(0126),
+ q(0),
+ ],
+ q(ewe) => [
+ q(0127),
+ q(0),
+ ],
+ q(ewondo) => [
+ q(0128),
+ q(0),
+ ],
+ q(fang) => [
+ q(0129),
+ q(0),
+ ],
+ q(fanti) => [
+ q(0131),
+ q(0),
+ ],
+ q(faroese) => [
+ q(0130),
+ q(0),
+ ],
+ q(fijian) => [
+ q(0132),
+ q(0),
+ ],
+ q(filipino) => [
+ q(0133),
+ q(0),
+ ],
+ q(finnish) => [
+ q(0134),
+ q(0),
+ ],
+ q(finno-ugrian languages) => [
+ q(0135),
+ q(0),
+ ],
+ q(flemish) => [
+ q(0116),
+ q(1),
+ ],
+ q(fon) => [
+ q(0136),
+ q(0),
+ ],
+ q(french) => [
+ q(0137),
+ q(0),
+ ],
+ q(french, middle (ca.1400-1600)) => [
+ q(0138),
+ q(0),
+ ],
+ q(french, old (842-ca.1400)) => [
+ q(0139),
+ q(0),
+ ],
+ q(friulian) => [
+ q(0144),
+ q(0),
+ ],
+ q(fulah) => [
+ q(0143),
+ q(0),
+ ],
+ q(ga) => [
+ q(0145),
+ q(0),
+ ],
+ q(gaelic) => [
+ q(0153),
+ q(0),
+ ],
+ q(galibi carib) => [
+ q(0070),
+ q(0),
+ ],
+ q(galician) => [
+ q(0155),
+ q(0),
+ ],
+ q(ganda) => [
+ q(0257),
+ q(0),
+ ],
+ q(gayo) => [
+ q(0146),
+ q(0),
+ ],
+ q(gbaya) => [
+ q(0147),
+ q(0),
+ ],
+ q(geez) => [
+ q(0151),
+ q(0),
+ ],
+ q(georgian) => [
+ q(0149),
+ q(0),
+ ],
+ q(german) => [
+ q(0150),
+ q(0),
+ ],
+ q(german, low) => [
+ q(0306),
+ q(2),
+ ],
+ q(german, middle high (ca.1050-1500)) => [
+ q(0157),
+ q(0),
+ ],
+ q(german, old high (ca.750-1050)) => [
+ q(0158),
+ q(0),
+ ],
+ q(germanic languages) => [
+ q(0148),
+ q(0),
+ ],
+ q(gikuyu) => [
+ q(0224),
+ q(1),
+ ],
+ q(gilbertese) => [
+ q(0152),
+ q(0),
+ ],
+ q(gondi) => [
+ q(0159),
+ q(0),
+ ],
+ q(gorontalo) => [
+ q(0160),
+ q(0),
+ ],
+ q(gothic) => [
+ q(0161),
+ q(0),
+ ],
+ q(grebo) => [
+ q(0162),
+ q(0),
+ ],
+ q(greek) => [
+ q(0164),
+ q(1),
+ ],
+ q(greek, ancient (to 1453)) => [
+ q(0163),
+ q(0),
+ ],
+ q(greek, modern (1453-)) => [
+ q(0164),
+ q(0),
+ ],
+ q(greenlandic) => [
+ q(0211),
+ q(1),
+ ],
+ q(guarani) => [
+ q(0165),
+ q(0),
+ ],
+ q(gujarati) => [
+ q(0167),
+ q(0),
+ ],
+ q(gwich'in) => [
+ q(0168),
+ q(0),
+ ],
+ q(haida) => [
+ q(0169),
+ q(0),
+ ],
+ q(haitian) => [
+ q(0170),
+ q(0),
+ ],
+ q(haitian creole) => [
+ q(0170),
+ q(1),
+ ],
+ q(hausa) => [
+ q(0171),
+ q(0),
+ ],
+ q(hawaiian) => [
+ q(0172),
+ q(0),
+ ],
+ q(hebrew) => [
+ q(0173),
+ q(0),
+ ],
+ q(herero) => [
+ q(0174),
+ q(0),
+ ],
+ q(hiligaynon) => [
+ q(0175),
+ q(0),
+ ],
+ q(himachali languages) => [
+ q(0176),
+ q(0),
+ ],
+ q(hindi) => [
+ q(0177),
+ q(0),
+ ],
+ q(hiri motu) => [
+ q(0180),
+ q(0),
+ ],
+ q(hittite) => [
+ q(0178),
+ q(0),
+ ],
+ q(hmong) => [
+ q(0179),
+ q(0),
+ ],
+ q(hungarian) => [
+ q(0183),
+ q(0),
+ ],
+ q(hupa) => [
+ q(0184),
+ q(0),
+ ],
+ q(iban) => [
+ q(0185),
+ q(0),
+ ],
+ q(icelandic) => [
+ q(0187),
+ q(0),
+ ],
+ q(ido) => [
+ q(0188),
+ q(0),
+ ],
+ q(igbo) => [
+ q(0186),
+ q(0),
+ ],
+ q(ijo languages) => [
+ q(0190),
+ q(0),
+ ],
+ q(iloko) => [
+ q(0193),
+ q(0),
+ ],
+ q(imperial aramaic (700-300 bce)) => [
+ q(0022),
+ q(1),
+ ],
+ q(inari sami) => [
+ q(0391),
+ q(0),
+ ],
+ q(indic languages) => [
+ q(0195),
+ q(0),
+ ],
+ q(indo-european languages) => [
+ q(0197),
+ q(0),
+ ],
+ q(indonesian) => [
+ q(0196),
+ q(0),
+ ],
+ q(ingush) => [
+ q(0198),
+ q(0),
+ ],
+ q(interlingua (international auxiliary language association)) => [
+ q(0194),
+ q(0),
+ ],
+ q(interlingue) => [
+ q(0192),
+ q(0),
+ ],
+ q(inuktitut) => [
+ q(0191),
+ q(0),
+ ],
+ q(inupiaq) => [
+ q(0199),
+ q(0),
+ ],
+ q(iranian languages) => [
+ q(0200),
+ q(0),
+ ],
+ q(irish) => [
+ q(0154),
+ q(0),
+ ],
+ q(irish, middle (900-1200)) => [
+ q(0278),
+ q(0),
+ ],
+ q(irish, old (to 900)) => [
+ q(0377),
+ q(0),
+ ],
+ q(iroquoian languages) => [
+ q(0201),
+ q(0),
+ ],
+ q(italian) => [
+ q(0202),
+ q(0),
+ ],
+ q(japanese) => [
+ q(0205),
+ q(0),
+ ],
+ q(javanese) => [
+ q(0203),
+ q(0),
+ ],
+ q(jingpho) => [
+ q(0210),
+ q(1),
+ ],
+ q(judeo-arabic) => [
+ q(0207),
+ q(0),
+ ],
+ q(judeo-persian) => [
+ q(0206),
+ q(0),
+ ],
+ q(kabardian) => [
+ q(0219),
+ q(0),
+ ],
+ q(kabyle) => [
+ q(0209),
+ q(0),
+ ],
+ q(kachin) => [
+ q(0210),
+ q(0),
+ ],
+ q(kalaallisut) => [
+ q(0211),
+ q(0),
+ ],
+ q(kalmyk) => [
+ q(0470),
+ q(0),
+ ],
+ q(kamba) => [
+ q(0212),
+ q(0),
+ ],
+ q(kannada) => [
+ q(0213),
+ q(0),
+ ],
+ q(kanuri) => [
+ q(0216),
+ q(0),
+ ],
+ q(kapampangan) => [
+ q(0337),
+ q(1),
+ ],
+ q(kara-kalpak) => [
+ q(0208),
+ q(0),
+ ],
+ q(karachay-balkar) => [
+ q(0234),
+ q(0),
+ ],
+ q(karelian) => [
+ q(0235),
+ q(0),
+ ],
+ q(karen languages) => [
+ q(0214),
+ q(0),
+ ],
+ q(kashmiri) => [
+ q(0215),
+ q(0),
+ ],
+ q(kashubian) => [
+ q(0099),
+ q(0),
+ ],
+ q(kawi) => [
+ q(0217),
+ q(0),
+ ],
+ q(kazakh) => [
+ q(0218),
+ q(0),
+ ],
+ q(khasi) => [
+ q(0220),
+ q(0),
+ ],
+ q(khoisan languages) => [
+ q(0221),
+ q(0),
+ ],
+ q(khotanese) => [
+ q(0223),
+ q(0),
+ ],
+ q(kikuyu) => [
+ q(0224),
+ q(0),
+ ],
+ q(kimbundu) => [
+ q(0227),
+ q(0),
+ ],
+ q(kinyarwanda) => [
+ q(0225),
+ q(0),
+ ],
+ q(kirdki) => [
+ q(0485),
+ q(3),
+ ],
+ q(kirghiz) => [
+ q(0226),
+ q(0),
+ ],
+ q(kirmanjki) => [
+ q(0485),
+ q(4),
+ ],
+ q(klingon) => [
+ q(0432),
+ q(0),
+ ],
+ q(komi) => [
+ q(0229),
+ q(0),
+ ],
+ q(kongo) => [
+ q(0230),
+ q(0),
+ ],
+ q(konkani) => [
+ q(0228),
+ q(0),
+ ],
+ q(korean) => [
+ q(0231),
+ q(0),
+ ],
+ q(kosraean) => [
+ q(0232),
+ q(0),
+ ],
+ q(kpelle) => [
+ q(0233),
+ q(0),
+ ],
+ q(kru languages) => [
+ q(0236),
+ q(0),
+ ],
+ q(kuanyama) => [
+ q(0238),
+ q(0),
+ ],
+ q(kumyk) => [
+ q(0239),
+ q(0),
+ ],
+ q(kurdish) => [
+ q(0240),
+ q(0),
+ ],
+ q(kurukh) => [
+ q(0237),
+ q(0),
+ ],
+ q(kutenai) => [
+ q(0241),
+ q(0),
+ ],
+ q(kwanyama) => [
+ q(0238),
+ q(1),
+ ],
+ q(kyrgyz) => [
+ q(0226),
+ q(1),
+ ],
+ q(ladino) => [
+ q(0242),
+ q(0),
+ ],
+ q(lahnda) => [
+ q(0243),
+ q(0),
+ ],
+ q(lamba) => [
+ q(0244),
+ q(0),
+ ],
+ q(land dayak languages) => [
+ q(0105),
+ q(0),
+ ],
+ q(lao) => [
+ q(0245),
+ q(0),
+ ],
+ q(latin) => [
+ q(0246),
+ q(0),
+ ],
+ q(latvian) => [
+ q(0247),
+ q(0),
+ ],
+ q(leonese) => [
+ q(0030),
+ q(2),
+ ],
+ q(letzeburgesch) => [
+ q(0254),
+ q(1),
+ ],
+ q(lezghian) => [
+ q(0248),
+ q(0),
+ ],
+ q(limburgan) => [
+ q(0249),
+ q(0),
+ ],
+ q(limburger) => [
+ q(0249),
+ q(1),
+ ],
+ q(limburgish) => [
+ q(0249),
+ q(2),
+ ],
+ q(lingala) => [
+ q(0250),
+ q(0),
+ ],
+ q(lithuanian) => [
+ q(0251),
+ q(0),
+ ],
+ q(lojban) => [
+ q(0204),
+ q(0),
+ ],
+ q(low german) => [
+ q(0306),
+ q(0),
+ ],
+ q(low saxon) => [
+ q(0306),
+ q(1),
+ ],
+ q(lower sorbian) => [
+ q(0113),
+ q(0),
+ ],
+ q(lozi) => [
+ q(0253),
+ q(0),
+ ],
+ q(luba-katanga) => [
+ q(0256),
+ q(0),
+ ],
+ q(luba-lulua) => [
+ q(0255),
+ q(0),
+ ],
+ q(luiseno) => [
+ q(0258),
+ q(0),
+ ],
+ q(lule sami) => [
+ q(0390),
+ q(0),
+ ],
+ q(lunda) => [
+ q(0259),
+ q(0),
+ ],
+ q(luo (kenya and tanzania)) => [
+ q(0260),
+ q(0),
+ ],
+ q(lushai) => [
+ q(0261),
+ q(0),
+ ],
+ q(luxembourgish) => [
+ q(0254),
+ q(0),
+ ],
+ q(macedo-romanian) => [
+ q(0362),
+ q(2),
+ ],
+ q(macedonian) => [
+ q(0262),
+ q(0),
+ ],
+ q(madurese) => [
+ q(0263),
+ q(0),
+ ],
+ q(magahi) => [
+ q(0264),
+ q(0),
+ ],
+ q(maithili) => [
+ q(0266),
+ q(0),
+ ],
+ q(makasar) => [
+ q(0267),
+ q(0),
+ ],
+ q(malagasy) => [
+ q(0283),
+ q(0),
+ ],
+ q(malay) => [
+ q(0274),
+ q(0),
+ ],
+ q(malayalam) => [
+ q(0268),
+ q(0),
+ ],
+ q(maldivian) => [
+ q(0110),
+ q(2),
+ ],
+ q(maltese) => [
+ q(0284),
+ q(0),
+ ],
+ q(manchu) => [
+ q(0285),
+ q(0),
+ ],
+ q(mandar) => [
+ q(0276),
+ q(0),
+ ],
+ q(mandingo) => [
+ q(0269),
+ q(0),
+ ],
+ q(manipuri) => [
+ q(0286),
+ q(0),
+ ],
+ q(manobo languages) => [
+ q(0287),
+ q(0),
+ ],
+ q(manx) => [
+ q(0156),
+ q(0),
+ ],
+ q(maori) => [
+ q(0270),
+ q(0),
+ ],
+ q(mapuche) => [
+ q(0025),
+ q(1),
+ ],
+ q(mapudungun) => [
+ q(0025),
+ q(0),
+ ],
+ q(marathi) => [
+ q(0272),
+ q(0),
+ ],
+ q(mari) => [
+ q(0081),
+ q(0),
+ ],
+ q(marshallese) => [
+ q(0265),
+ q(0),
+ ],
+ q(marwari) => [
+ q(0295),
+ q(0),
+ ],
+ q(masai) => [
+ q(0273),
+ q(0),
+ ],
+ q(mayan languages) => [
+ q(0296),
+ q(0),
+ ],
+ q(mende) => [
+ q(0277),
+ q(0),
+ ],
+ q(mi'kmaq) => [
+ q(0279),
+ q(0),
+ ],
+ q(micmac) => [
+ q(0279),
+ q(1),
+ ],
+ q(minangkabau) => [
+ q(0280),
+ q(0),
+ ],
+ q(mirandese) => [
+ q(0294),
+ q(0),
+ ],
+ q(mohawk) => [
+ q(0288),
+ q(0),
+ ],
+ q(moksha) => [
+ q(0275),
+ q(0),
+ ],
+ q(moldavian) => [
+ q(0360),
+ q(1),
+ ],
+ q(moldovan) => [
+ q(0360),
+ q(2),
+ ],
+ q(mon-khmer languages) => [
+ q(0282),
+ q(0),
+ ],
+ q(mong) => [
+ q(0179),
+ q(1),
+ ],
+ q(mongo) => [
+ q(0252),
+ q(0),
+ ],
+ q(mongolian) => [
+ q(0289),
+ q(0),
+ ],
+ q(mossi) => [
+ q(0290),
+ q(0),
+ ],
+ q(multiple languages) => [
+ q(0291),
+ q(0),
+ ],
+ q(munda languages) => [
+ q(0292),
+ q(0),
+ ],
+ q(n'ko) => [
+ q(0317),
+ q(0),
+ ],
+ q(nahuatl languages) => [
+ q(0298),
+ q(0),
+ ],
+ q(nauru) => [
+ q(0301),
+ q(0),
+ ],
+ q(navaho) => [
+ q(0302),
+ q(1),
+ ],
+ q(navajo) => [
+ q(0302),
+ q(0),
+ ],
+ q(ndebele, north) => [
+ q(0304),
+ q(0),
+ ],
+ q(ndebele, south) => [
+ q(0303),
+ q(0),
+ ],
+ q(ndonga) => [
+ q(0305),
+ q(0),
+ ],
+ q(neapolitan) => [
+ q(0300),
+ q(0),
+ ],
+ q(nepal bhasa) => [
+ q(0308),
+ q(0),
+ ],
+ q(nepali) => [
+ q(0307),
+ q(0),
+ ],
+ q(newari) => [
+ q(0308),
+ q(1),
+ ],
+ q(nias) => [
+ q(0309),
+ q(0),
+ ],
+ q(niger-kordofanian languages) => [
+ q(0310),
+ q(0),
+ ],
+ q(nilo-saharan languages) => [
+ q(0406),
+ q(0),
+ ],
+ q(niuean) => [
+ q(0311),
+ q(0),
+ ],
+ q(no linguistic content) => [
+ q(0484),
+ q(0),
+ ],
+ q(nogai) => [
+ q(0314),
+ q(0),
+ ],
+ q(norse, old) => [
+ q(0315),
+ q(0),
+ ],
+ q(north american indian languages) => [
+ q(0299),
+ q(0),
+ ],
+ q(north ndebele) => [
+ q(0304),
+ q(1),
+ ],
+ q(northern frisian) => [
+ q(0140),
+ q(0),
+ ],
+ q(northern sami) => [
+ q(0388),
+ q(0),
+ ],
+ q(northern sotho) => [
+ q(0318),
+ q(2),
+ ],
+ q(norwegian) => [
+ q(0316),
+ q(0),
+ ],
+ q(norwegian bokmal) => [
+ q(0313),
+ q(1),
+ ],
+ q(norwegian nynorsk) => [
+ q(0312),
+ q(0),
+ ],
+ q(not applicable) => [
+ q(0484),
+ q(1),
+ ],
+ q(nubian languages) => [
+ q(0319),
+ q(0),
+ ],
+ q(nuosu) => [
+ q(0189),
+ q(1),
+ ],
+ q(nyamwezi) => [
+ q(0322),
+ q(0),
+ ],
+ q(nyanja) => [
+ q(0321),
+ q(2),
+ ],
+ q(nyankole) => [
+ q(0323),
+ q(0),
+ ],
+ q(nynorsk, norwegian) => [
+ q(0312),
+ q(1),
+ ],
+ q(nyoro) => [
+ q(0324),
+ q(0),
+ ],
+ q(nzima) => [
+ q(0325),
+ q(0),
+ ],
+ q(occidental) => [
+ q(0192),
+ q(1),
+ ],
+ q(occitan (post 1500)) => [
+ q(0326),
+ q(0),
+ ],
+ q(official aramaic (700-300 bce)) => [
+ q(0022),
+ q(0),
+ ],
+ q(oirat) => [
+ q(0470),
+ q(1),
+ ],
+ q(ojibwa) => [
+ q(0327),
+ q(0),
+ ],
+ q(old bulgarian) => [
+ q(0086),
+ q(3),
+ ],
+ q(old church slavonic) => [
+ q(0086),
+ q(4),
+ ],
+ q(old newari) => [
+ q(0320),
+ q(1),
+ ],
+ q(old slavonic) => [
+ q(0086),
+ q(1),
+ ],
+ q(oriya) => [
+ q(0328),
+ q(0),
+ ],
+ q(oromo) => [
+ q(0329),
+ q(0),
+ ],
+ q(osage) => [
+ q(0330),
+ q(0),
+ ],
+ q(ossetian) => [
+ q(0331),
+ q(0),
+ ],
+ q(ossetic) => [
+ q(0331),
+ q(1),
+ ],
+ q(otomian languages) => [
+ q(0333),
+ q(0),
+ ],
+ q(pahlavi) => [
+ q(0336),
+ q(0),
+ ],
+ q(palauan) => [
+ q(0340),
+ q(0),
+ ],
+ q(pali) => [
+ q(0345),
+ q(0),
+ ],
+ q(pampanga) => [
+ q(0337),
+ q(0),
+ ],
+ q(pangasinan) => [
+ q(0335),
+ q(0),
+ ],
+ q(panjabi) => [
+ q(0338),
+ q(0),
+ ],
+ q(papiamento) => [
+ q(0339),
+ q(0),
+ ],
+ q(papuan languages) => [
+ q(0334),
+ q(0),
+ ],
+ q(pashto) => [
+ q(0351),
+ q(1),
+ ],
+ q(pedi) => [
+ q(0318),
+ q(0),
+ ],
+ q(persian) => [
+ q(0342),
+ q(0),
+ ],
+ q(persian, old (ca.600-400 b.c.)) => [
+ q(0341),
+ q(0),
+ ],
+ q(philippine languages) => [
+ q(0343),
+ q(0),
+ ],
+ q(phoenician) => [
+ q(0344),
+ q(0),
+ ],
+ q(pilipino) => [
+ q(0133),
+ q(1),
+ ],
+ q(pohnpeian) => [
+ q(0347),
+ q(0),
+ ],
+ q(polish) => [
+ q(0346),
+ q(0),
+ ],
+ q(portuguese) => [
+ q(0348),
+ q(0),
+ ],
+ q(prakrit languages) => [
+ q(0349),
+ q(0),
+ ],
+ q(provencal) => [
+ q(0326),
+ q(1),
+ ],
+ q(provencal, old (to 1500)) => [
+ q(0350),
+ q(0),
+ ],
+ q(punjabi) => [
+ q(0338),
+ q(1),
+ ],
+ q(pushto) => [
+ q(0351),
+ q(0),
+ ],
+ q(quechua) => [
+ q(0353),
+ q(0),
+ ],
+ q(rajasthani) => [
+ q(0354),
+ q(0),
+ ],
+ q(rapanui) => [
+ q(0355),
+ q(0),
+ ],
+ q(rarotongan) => [
+ q(0356),
+ q(0),
+ ],
+ q(reserved for local use) => [
+ q(0352),
+ q(0),
+ ],
+ q(romance languages) => [
+ q(0357),
+ q(0),
+ ],
+ q(romanian) => [
+ q(0360),
+ q(0),
+ ],
+ q(romansh) => [
+ q(0358),
+ q(0),
+ ],
+ q(romany) => [
+ q(0359),
+ q(0),
+ ],
+ q(rundi) => [
+ q(0361),
+ q(0),
+ ],
+ q(russian) => [
+ q(0363),
+ q(0),
+ ],
+ q(sakan) => [
+ q(0223),
+ q(1),
+ ],
+ q(salishan languages) => [
+ q(0368),
+ q(0),
+ ],
+ q(samaritan aramaic) => [
+ q(0369),
+ q(0),
+ ],
+ q(sami languages) => [
+ q(0389),
+ q(0),
+ ],
+ q(samoan) => [
+ q(0392),
+ q(0),
+ ],
+ q(sandawe) => [
+ q(0364),
+ q(0),
+ ],
+ q(sango) => [
+ q(0365),
+ q(0),
+ ],
+ q(sanskrit) => [
+ q(0370),
+ q(0),
+ ],
+ q(santali) => [
+ q(0372),
+ q(0),
+ ],
+ q(sardinian) => [
+ q(0402),
+ q(0),
+ ],
+ q(sasak) => [
+ q(0371),
+ q(0),
+ ],
+ q(saxon, low) => [
+ q(0306),
+ q(3),
+ ],
+ q(scots) => [
+ q(0374),
+ q(0),
+ ],
+ q(scottish gaelic) => [
+ q(0153),
+ q(1),
+ ],
+ q(selkup) => [
+ q(0375),
+ q(0),
+ ],
+ q(semitic languages) => [
+ q(0376),
+ q(0),
+ ],
+ q(sepedi) => [
+ q(0318),
+ q(1),
+ ],
+ q(serbian) => [
+ q(0404),
+ q(0),
+ ],
+ q(serer) => [
+ q(0405),
+ q(0),
+ ],
+ q(shan) => [
+ q(0379),
+ q(0),
+ ],
+ q(shona) => [
+ q(0394),
+ q(0),
+ ],
+ q(sichuan yi) => [
+ q(0189),
+ q(0),
+ ],
+ q(sicilian) => [
+ q(0373),
+ q(0),
+ ],
+ q(sidamo) => [
+ q(0380),
+ q(0),
+ ],
+ q(sign languages) => [
+ q(0378),
+ q(0),
+ ],
+ q(siksika) => [
+ q(0057),
+ q(0),
+ ],
+ q(sindhi) => [
+ q(0395),
+ q(0),
+ ],
+ q(sinhala) => [
+ q(0381),
+ q(0),
+ ],
+ q(sinhalese) => [
+ q(0381),
+ q(1),
+ ],
+ q(sino-tibetan languages) => [
+ q(0383),
+ q(0),
+ ],
+ q(siouan languages) => [
+ q(0382),
+ q(0),
+ ],
+ q(skolt sami) => [
+ q(0393),
+ q(0),
+ ],
+ q(slave (athapascan)) => [
+ q(0107),
+ q(0),
+ ],
+ q(slavic languages) => [
+ q(0384),
+ q(0),
+ ],
+ q(slovak) => [
+ q(0385),
+ q(0),
+ ],
+ q(slovenian) => [
+ q(0386),
+ q(0),
+ ],
+ q(sogdian) => [
+ q(0397),
+ q(0),
+ ],
+ q(somali) => [
+ q(0398),
+ q(0),
+ ],
+ q(songhai languages) => [
+ q(0399),
+ q(0),
+ ],
+ q(soninke) => [
+ q(0396),
+ q(0),
+ ],
+ q(sorbian languages) => [
+ q(0467),
+ q(0),
+ ],
+ q(sotho, southern) => [
+ q(0400),
+ q(0),
+ ],
+ q(south american indian (other)) => [
+ q(0367),
+ q(0),
+ ],
+ q(south ndebele) => [
+ q(0303),
+ q(1),
+ ],
+ q(southern altai) => [
+ q(0016),
+ q(0),
+ ],
+ q(southern sami) => [
+ q(0387),
+ q(0),
+ ],
+ q(spanish) => [
+ q(0401),
+ q(0),
+ ],
+ q(sranan tongo) => [
+ q(0403),
+ q(0),
+ ],
+ q(sukuma) => [
+ q(0408),
+ q(0),
+ ],
+ q(sumerian) => [
+ q(0411),
+ q(0),
+ ],
+ q(sundanese) => [
+ q(0409),
+ q(0),
+ ],
+ q(susu) => [
+ q(0410),
+ q(0),
+ ],
+ q(swahili) => [
+ q(0412),
+ q(0),
+ ],
+ q(swati) => [
+ q(0407),
+ q(0),
+ ],
+ q(swedish) => [
+ q(0413),
+ q(0),
+ ],
+ q(swiss german) => [
+ q(0166),
+ q(0),
+ ],
+ q(syriac) => [
+ q(0415),
+ q(0),
+ ],
+ q(tagalog) => [
+ q(0425),
+ q(0),
+ ],
+ q(tahitian) => [
+ q(0416),
+ q(0),
+ ],
+ q(tai languages) => [
+ q(0417),
+ q(0),
+ ],
+ q(tajik) => [
+ q(0424),
+ q(0),
+ ],
+ q(tamashek) => [
+ q(0434),
+ q(0),
+ ],
+ q(tamil) => [
+ q(0418),
+ q(0),
+ ],
+ q(tatar) => [
+ q(0419),
+ q(0),
+ ],
+ q(telugu) => [
+ q(0420),
+ q(0),
+ ],
+ q(tereno) => [
+ q(0422),
+ q(0),
+ ],
+ q(tetum) => [
+ q(0423),
+ q(0),
+ ],
+ q(thai) => [
+ q(0426),
+ q(0),
+ ],
+ q(tibetan) => [
+ q(0427),
+ q(0),
+ ],
+ q(tigre) => [
+ q(0428),
+ q(0),
+ ],
+ q(tigrinya) => [
+ q(0429),
+ q(0),
+ ],
+ q(timne) => [
+ q(0421),
+ q(0),
+ ],
+ q(tiv) => [
+ q(0430),
+ q(0),
+ ],
+ q(tlhingan-hol) => [
+ q(0432),
+ q(1),
+ ],
+ q(tlingit) => [
+ q(0433),
+ q(0),
+ ],
+ q(tok pisin) => [
+ q(0437),
+ q(0),
+ ],
+ q(tokelau) => [
+ q(0431),
+ q(0),
+ ],
+ q(tonga) => [
+ q(0436),
+ q(1),
+ ],
+ q(tonga (nyasa)) => [
+ q(0435),
+ q(0),
+ ],
+ q(tonga (tonga islands)) => [
+ q(0436),
+ q(0),
+ ],
+ q(tsimshian) => [
+ q(0438),
+ q(0),
+ ],
+ q(tsonga) => [
+ q(0440),
+ q(0),
+ ],
+ q(tswana) => [
+ q(0439),
+ q(0),
+ ],
+ q(tumbuka) => [
+ q(0442),
+ q(0),
+ ],
+ q(tupi languages) => [
+ q(0443),
+ q(0),
+ ],
+ q(turkish) => [
+ q(0444),
+ q(0),
+ ],
+ q(turkish, ottoman (1500-1928)) => [
+ q(0332),
+ q(0),
+ ],
+ q(turkmen) => [
+ q(0441),
+ q(0),
+ ],
+ q(tuvalu) => [
+ q(0446),
+ q(0),
+ ],
+ q(tuvinian) => [
+ q(0448),
+ q(0),
+ ],
+ q(twi) => [
+ q(0447),
+ q(0),
+ ],
+ q(udmurt) => [
+ q(0449),
+ q(0),
+ ],
+ q(ugaritic) => [
+ q(0450),
+ q(0),
+ ],
+ q(uighur) => [
+ q(0451),
+ q(0),
+ ],
+ q(ukrainian) => [
+ q(0452),
+ q(0),
+ ],
+ q(umbundu) => [
+ q(0453),
+ q(0),
+ ],
+ q(uncoded languages) => [
+ q(0281),
+ q(0),
+ ],
+ q(undetermined) => [
+ q(0454),
+ q(0),
+ ],
+ q(upper sorbian) => [
+ q(0182),
+ q(0),
+ ],
+ q(urdu) => [
+ q(0455),
+ q(0),
+ ],
+ q(uyghur) => [
+ q(0451),
+ q(1),
+ ],
+ q(uzbek) => [
+ q(0456),
+ q(0),
+ ],
+ q(vai) => [
+ q(0457),
+ q(0),
+ ],
+ q(valencian) => [
+ q(0071),
+ q(1),
+ ],
+ q(venda) => [
+ q(0458),
+ q(0),
+ ],
+ q(vietnamese) => [
+ q(0459),
+ q(0),
+ ],
+ q(volapuk) => [
+ q(0460),
+ q(0),
+ ],
+ q(votic) => [
+ q(0461),
+ q(0),
+ ],
+ q(wakashan languages) => [
+ q(0462),
+ q(0),
+ ],
+ q(walamo) => [
+ q(0463),
+ q(0),
+ ],
+ q(walloon) => [
+ q(0468),
+ q(0),
+ ],
+ q(waray) => [
+ q(0464),
+ q(0),
+ ],
+ q(washo) => [
+ q(0465),
+ q(0),
+ ],
+ q(welsh) => [
+ q(0466),
+ q(0),
+ ],
+ q(western frisian) => [
+ q(0142),
+ q(0),
+ ],
+ q(western pahari languages) => [
+ q(0176),
+ q(1),
+ ],
+ q(wolof) => [
+ q(0469),
+ q(0),
+ ],
+ q(xhosa) => [
+ q(0471),
+ q(0),
+ ],
+ q(yakut) => [
+ q(0366),
+ q(0),
+ ],
+ q(yao) => [
+ q(0472),
+ q(0),
+ ],
+ q(yapese) => [
+ q(0473),
+ q(0),
+ ],
+ q(yiddish) => [
+ q(0474),
+ q(0),
+ ],
+ q(yoruba) => [
+ q(0475),
+ q(0),
+ ],
+ q(yupik languages) => [
+ q(0476),
+ q(0),
+ ],
+ q(zande languages) => [
+ q(0481),
+ q(0),
+ ],
+ q(zapotec) => [
+ q(0477),
+ q(0),
+ ],
+ q(zaza) => [
+ q(0485),
+ q(0),
+ ],
+ q(zazaki) => [
+ q(0485),
+ q(5),
+ ],
+ q(zenaga) => [
+ q(0479),
+ q(0),
+ ],
+ q(zhuang) => [
+ q(0480),
+ q(0),
+ ],
+ q(zulu) => [
+ q(0482),
+ q(0),
+ ],
+ q(zuni) => [
+ q(0483),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'language'}{'code2id'} = {
+ q(alpha2) => {
+ q(aa) => [
+ q(0001),
+ q(0),
+ ],
+ q(ab) => [
+ q(0002),
+ q(0),
+ ],
+ q(ae) => [
+ q(0034),
+ q(0),
+ ],
+ q(af) => [
+ q(0009),
+ q(0),
+ ],
+ q(ak) => [
+ q(0011),
+ q(0),
+ ],
+ q(am) => [
+ q(0017),
+ q(0),
+ ],
+ q(an) => [
+ q(0023),
+ q(0),
+ ],
+ q(ar) => [
+ q(0021),
+ q(0),
+ ],
+ q(as) => [
+ q(0029),
+ q(0),
+ ],
+ q(av) => [
+ q(0033),
+ q(0),
+ ],
+ q(ay) => [
+ q(0036),
+ q(0),
+ ],
+ q(az) => [
+ q(0037),
+ q(0),
+ ],
+ q(ba) => [
+ q(0040),
+ q(0),
+ ],
+ q(be) => [
+ q(0048),
+ q(0),
+ ],
+ q(bg) => [
+ q(0065),
+ q(0),
+ ],
+ q(bh) => [
+ q(0053),
+ q(0),
+ ],
+ q(bi) => [
+ q(0056),
+ q(0),
+ ],
+ q(bm) => [
+ q(0042),
+ q(0),
+ ],
+ q(bn) => [
+ q(0050),
+ q(0),
+ ],
+ q(bo) => [
+ q(0427),
+ q(0),
+ ],
+ q(br) => [
+ q(0061),
+ q(0),
+ ],
+ q(bs) => [
+ q(0059),
+ q(0),
+ ],
+ q(ca) => [
+ q(0071),
+ q(0),
+ ],
+ q(ce) => [
+ q(0077),
+ q(0),
+ ],
+ q(ch) => [
+ q(0075),
+ q(0),
+ ],
+ q(co) => [
+ q(0092),
+ q(0),
+ ],
+ q(cr) => [
+ q(0096),
+ q(0),
+ ],
+ q(cs) => [
+ q(0101),
+ q(0),
+ ],
+ q(cu) => [
+ q(0086),
+ q(0),
+ ],
+ q(cv) => [
+ q(0087),
+ q(0),
+ ],
+ q(cy) => [
+ q(0466),
+ q(0),
+ ],
+ q(da) => [
+ q(0103),
+ q(0),
+ ],
+ q(de) => [
+ q(0150),
+ q(0),
+ ],
+ q(dv) => [
+ q(0110),
+ q(0),
+ ],
+ q(dz) => [
+ q(0118),
+ q(0),
+ ],
+ q(ee) => [
+ q(0127),
+ q(0),
+ ],
+ q(el) => [
+ q(0164),
+ q(0),
+ ],
+ q(en) => [
+ q(0123),
+ q(0),
+ ],
+ q(eo) => [
+ q(0125),
+ q(0),
+ ],
+ q(es) => [
+ q(0401),
+ q(0),
+ ],
+ q(et) => [
+ q(0126),
+ q(0),
+ ],
+ q(eu) => [
+ q(0044),
+ q(0),
+ ],
+ q(fa) => [
+ q(0342),
+ q(0),
+ ],
+ q(ff) => [
+ q(0143),
+ q(0),
+ ],
+ q(fi) => [
+ q(0134),
+ q(0),
+ ],
+ q(fj) => [
+ q(0132),
+ q(0),
+ ],
+ q(fo) => [
+ q(0130),
+ q(0),
+ ],
+ q(fr) => [
+ q(0137),
+ q(0),
+ ],
+ q(fy) => [
+ q(0142),
+ q(0),
+ ],
+ q(ga) => [
+ q(0154),
+ q(0),
+ ],
+ q(gd) => [
+ q(0153),
+ q(0),
+ ],
+ q(gl) => [
+ q(0155),
+ q(0),
+ ],
+ q(gn) => [
+ q(0165),
+ q(0),
+ ],
+ q(gu) => [
+ q(0167),
+ q(0),
+ ],
+ q(gv) => [
+ q(0156),
+ q(0),
+ ],
+ q(ha) => [
+ q(0171),
+ q(0),
+ ],
+ q(he) => [
+ q(0173),
+ q(0),
+ ],
+ q(hi) => [
+ q(0177),
+ q(0),
+ ],
+ q(ho) => [
+ q(0180),
+ q(0),
+ ],
+ q(hr) => [
+ q(0181),
+ q(0),
+ ],
+ q(ht) => [
+ q(0170),
+ q(0),
+ ],
+ q(hu) => [
+ q(0183),
+ q(0),
+ ],
+ q(hy) => [
+ q(0024),
+ q(0),
+ ],
+ q(hz) => [
+ q(0174),
+ q(0),
+ ],
+ q(ia) => [
+ q(0194),
+ q(0),
+ ],
+ q(id) => [
+ q(0196),
+ q(0),
+ ],
+ q(ie) => [
+ q(0192),
+ q(0),
+ ],
+ q(ig) => [
+ q(0186),
+ q(0),
+ ],
+ q(ii) => [
+ q(0189),
+ q(0),
+ ],
+ q(ik) => [
+ q(0199),
+ q(0),
+ ],
+ q(io) => [
+ q(0188),
+ q(0),
+ ],
+ q(is) => [
+ q(0187),
+ q(0),
+ ],
+ q(it) => [
+ q(0202),
+ q(0),
+ ],
+ q(iu) => [
+ q(0191),
+ q(0),
+ ],
+ q(ja) => [
+ q(0205),
+ q(0),
+ ],
+ q(jv) => [
+ q(0203),
+ q(0),
+ ],
+ q(ka) => [
+ q(0149),
+ q(0),
+ ],
+ q(kg) => [
+ q(0230),
+ q(0),
+ ],
+ q(ki) => [
+ q(0224),
+ q(0),
+ ],
+ q(kj) => [
+ q(0238),
+ q(0),
+ ],
+ q(kk) => [
+ q(0218),
+ q(0),
+ ],
+ q(kl) => [
+ q(0211),
+ q(0),
+ ],
+ q(km) => [
+ q(0222),
+ q(0),
+ ],
+ q(kn) => [
+ q(0213),
+ q(0),
+ ],
+ q(ko) => [
+ q(0231),
+ q(0),
+ ],
+ q(kr) => [
+ q(0216),
+ q(0),
+ ],
+ q(ks) => [
+ q(0215),
+ q(0),
+ ],
+ q(ku) => [
+ q(0240),
+ q(0),
+ ],
+ q(kv) => [
+ q(0229),
+ q(0),
+ ],
+ q(kw) => [
+ q(0091),
+ q(0),
+ ],
+ q(ky) => [
+ q(0226),
+ q(0),
+ ],
+ q(la) => [
+ q(0246),
+ q(0),
+ ],
+ q(lb) => [
+ q(0254),
+ q(0),
+ ],
+ q(lg) => [
+ q(0257),
+ q(0),
+ ],
+ q(li) => [
+ q(0249),
+ q(0),
+ ],
+ q(ln) => [
+ q(0250),
+ q(0),
+ ],
+ q(lo) => [
+ q(0245),
+ q(0),
+ ],
+ q(lt) => [
+ q(0251),
+ q(0),
+ ],
+ q(lu) => [
+ q(0256),
+ q(0),
+ ],
+ q(lv) => [
+ q(0247),
+ q(0),
+ ],
+ q(mg) => [
+ q(0283),
+ q(0),
+ ],
+ q(mh) => [
+ q(0265),
+ q(0),
+ ],
+ q(mi) => [
+ q(0270),
+ q(0),
+ ],
+ q(mk) => [
+ q(0262),
+ q(0),
+ ],
+ q(ml) => [
+ q(0268),
+ q(0),
+ ],
+ q(mn) => [
+ q(0289),
+ q(0),
+ ],
+ q(mr) => [
+ q(0272),
+ q(0),
+ ],
+ q(ms) => [
+ q(0274),
+ q(0),
+ ],
+ q(mt) => [
+ q(0284),
+ q(0),
+ ],
+ q(my) => [
+ q(0066),
+ q(0),
+ ],
+ q(na) => [
+ q(0301),
+ q(0),
+ ],
+ q(nb) => [
+ q(0313),
+ q(0),
+ ],
+ q(nd) => [
+ q(0304),
+ q(0),
+ ],
+ q(ne) => [
+ q(0307),
+ q(0),
+ ],
+ q(ng) => [
+ q(0305),
+ q(0),
+ ],
+ q(nl) => [
+ q(0116),
+ q(0),
+ ],
+ q(nn) => [
+ q(0312),
+ q(0),
+ ],
+ q(no) => [
+ q(0316),
+ q(0),
+ ],
+ q(nr) => [
+ q(0303),
+ q(0),
+ ],
+ q(nv) => [
+ q(0302),
+ q(0),
+ ],
+ q(ny) => [
+ q(0321),
+ q(0),
+ ],
+ q(oc) => [
+ q(0326),
+ q(0),
+ ],
+ q(oj) => [
+ q(0327),
+ q(0),
+ ],
+ q(om) => [
+ q(0329),
+ q(0),
+ ],
+ q(or) => [
+ q(0328),
+ q(0),
+ ],
+ q(os) => [
+ q(0331),
+ q(0),
+ ],
+ q(pa) => [
+ q(0338),
+ q(0),
+ ],
+ q(pi) => [
+ q(0345),
+ q(0),
+ ],
+ q(pl) => [
+ q(0346),
+ q(0),
+ ],
+ q(ps) => [
+ q(0351),
+ q(0),
+ ],
+ q(pt) => [
+ q(0348),
+ q(0),
+ ],
+ q(qu) => [
+ q(0353),
+ q(0),
+ ],
+ q(rm) => [
+ q(0358),
+ q(0),
+ ],
+ q(rn) => [
+ q(0361),
+ q(0),
+ ],
+ q(ro) => [
+ q(0360),
+ q(0),
+ ],
+ q(ru) => [
+ q(0363),
+ q(0),
+ ],
+ q(rw) => [
+ q(0225),
+ q(0),
+ ],
+ q(sa) => [
+ q(0370),
+ q(0),
+ ],
+ q(sc) => [
+ q(0402),
+ q(0),
+ ],
+ q(sd) => [
+ q(0395),
+ q(0),
+ ],
+ q(se) => [
+ q(0388),
+ q(0),
+ ],
+ q(sg) => [
+ q(0365),
+ q(0),
+ ],
+ q(si) => [
+ q(0381),
+ q(0),
+ ],
+ q(sk) => [
+ q(0385),
+ q(0),
+ ],
+ q(sl) => [
+ q(0386),
+ q(0),
+ ],
+ q(sm) => [
+ q(0392),
+ q(0),
+ ],
+ q(sn) => [
+ q(0394),
+ q(0),
+ ],
+ q(so) => [
+ q(0398),
+ q(0),
+ ],
+ q(sq) => [
+ q(0013),
+ q(0),
+ ],
+ q(sr) => [
+ q(0404),
+ q(0),
+ ],
+ q(ss) => [
+ q(0407),
+ q(0),
+ ],
+ q(st) => [
+ q(0400),
+ q(0),
+ ],
+ q(su) => [
+ q(0409),
+ q(0),
+ ],
+ q(sv) => [
+ q(0413),
+ q(0),
+ ],
+ q(sw) => [
+ q(0412),
+ q(0),
+ ],
+ q(ta) => [
+ q(0418),
+ q(0),
+ ],
+ q(te) => [
+ q(0420),
+ q(0),
+ ],
+ q(tg) => [
+ q(0424),
+ q(0),
+ ],
+ q(th) => [
+ q(0426),
+ q(0),
+ ],
+ q(ti) => [
+ q(0429),
+ q(0),
+ ],
+ q(tk) => [
+ q(0441),
+ q(0),
+ ],
+ q(tl) => [
+ q(0425),
+ q(0),
+ ],
+ q(tn) => [
+ q(0439),
+ q(0),
+ ],
+ q(to) => [
+ q(0436),
+ q(0),
+ ],
+ q(tr) => [
+ q(0444),
+ q(0),
+ ],
+ q(ts) => [
+ q(0440),
+ q(0),
+ ],
+ q(tt) => [
+ q(0419),
+ q(0),
+ ],
+ q(tw) => [
+ q(0447),
+ q(0),
+ ],
+ q(ty) => [
+ q(0416),
+ q(0),
+ ],
+ q(ug) => [
+ q(0451),
+ q(0),
+ ],
+ q(uk) => [
+ q(0452),
+ q(0),
+ ],
+ q(ur) => [
+ q(0455),
+ q(0),
+ ],
+ q(uz) => [
+ q(0456),
+ q(0),
+ ],
+ q(ve) => [
+ q(0458),
+ q(0),
+ ],
+ q(vi) => [
+ q(0459),
+ q(0),
+ ],
+ q(vo) => [
+ q(0460),
+ q(0),
+ ],
+ q(wa) => [
+ q(0468),
+ q(0),
+ ],
+ q(wo) => [
+ q(0469),
+ q(0),
+ ],
+ q(xh) => [
+ q(0471),
+ q(0),
+ ],
+ q(yi) => [
+ q(0474),
+ q(0),
+ ],
+ q(yo) => [
+ q(0475),
+ q(0),
+ ],
+ q(za) => [
+ q(0480),
+ q(0),
+ ],
+ q(zh) => [
+ q(0079),
+ q(0),
+ ],
+ q(zu) => [
+ q(0482),
+ q(0),
+ ],
+ },
+ q(alpha3) => {
+ q(aar) => [
+ q(0001),
+ q(0),
+ ],
+ q(abk) => [
+ q(0002),
+ q(0),
+ ],
+ q(ace) => [
+ q(0003),
+ q(0),
+ ],
+ q(ach) => [
+ q(0004),
+ q(0),
+ ],
+ q(ada) => [
+ q(0005),
+ q(0),
+ ],
+ q(ady) => [
+ q(0006),
+ q(0),
+ ],
+ q(afa) => [
+ q(0007),
+ q(0),
+ ],
+ q(afh) => [
+ q(0008),
+ q(0),
+ ],
+ q(afr) => [
+ q(0009),
+ q(0),
+ ],
+ q(ain) => [
+ q(0010),
+ q(0),
+ ],
+ q(aka) => [
+ q(0011),
+ q(0),
+ ],
+ q(akk) => [
+ q(0012),
+ q(0),
+ ],
+ q(alb) => [
+ q(0013),
+ q(0),
+ ],
+ q(ale) => [
+ q(0014),
+ q(0),
+ ],
+ q(alg) => [
+ q(0015),
+ q(0),
+ ],
+ q(alt) => [
+ q(0016),
+ q(0),
+ ],
+ q(amh) => [
+ q(0017),
+ q(0),
+ ],
+ q(ang) => [
+ q(0018),
+ q(0),
+ ],
+ q(anp) => [
+ q(0019),
+ q(0),
+ ],
+ q(apa) => [
+ q(0020),
+ q(0),
+ ],
+ q(ara) => [
+ q(0021),
+ q(0),
+ ],
+ q(arc) => [
+ q(0022),
+ q(0),
+ ],
+ q(arg) => [
+ q(0023),
+ q(0),
+ ],
+ q(arm) => [
+ q(0024),
+ q(0),
+ ],
+ q(arn) => [
+ q(0025),
+ q(0),
+ ],
+ q(arp) => [
+ q(0026),
+ q(0),
+ ],
+ q(art) => [
+ q(0027),
+ q(0),
+ ],
+ q(arw) => [
+ q(0028),
+ q(0),
+ ],
+ q(asm) => [
+ q(0029),
+ q(0),
+ ],
+ q(ast) => [
+ q(0030),
+ q(0),
+ ],
+ q(ath) => [
+ q(0031),
+ q(0),
+ ],
+ q(aus) => [
+ q(0032),
+ q(0),
+ ],
+ q(ava) => [
+ q(0033),
+ q(0),
+ ],
+ q(ave) => [
+ q(0034),
+ q(0),
+ ],
+ q(awa) => [
+ q(0035),
+ q(0),
+ ],
+ q(aym) => [
+ q(0036),
+ q(0),
+ ],
+ q(aze) => [
+ q(0037),
+ q(0),
+ ],
+ q(bad) => [
+ q(0038),
+ q(0),
+ ],
+ q(bai) => [
+ q(0039),
+ q(0),
+ ],
+ q(bak) => [
+ q(0040),
+ q(0),
+ ],
+ q(bal) => [
+ q(0041),
+ q(0),
+ ],
+ q(bam) => [
+ q(0042),
+ q(0),
+ ],
+ q(ban) => [
+ q(0043),
+ q(0),
+ ],
+ q(baq) => [
+ q(0044),
+ q(0),
+ ],
+ q(bas) => [
+ q(0045),
+ q(0),
+ ],
+ q(bat) => [
+ q(0046),
+ q(0),
+ ],
+ q(bej) => [
+ q(0047),
+ q(0),
+ ],
+ q(bel) => [
+ q(0048),
+ q(0),
+ ],
+ q(bem) => [
+ q(0049),
+ q(0),
+ ],
+ q(ben) => [
+ q(0050),
+ q(0),
+ ],
+ q(ber) => [
+ q(0051),
+ q(0),
+ ],
+ q(bho) => [
+ q(0052),
+ q(0),
+ ],
+ q(bih) => [
+ q(0053),
+ q(0),
+ ],
+ q(bik) => [
+ q(0054),
+ q(0),
+ ],
+ q(bin) => [
+ q(0055),
+ q(0),
+ ],
+ q(bis) => [
+ q(0056),
+ q(0),
+ ],
+ q(bla) => [
+ q(0057),
+ q(0),
+ ],
+ q(bnt) => [
+ q(0058),
+ q(0),
+ ],
+ q(bos) => [
+ q(0059),
+ q(0),
+ ],
+ q(bra) => [
+ q(0060),
+ q(0),
+ ],
+ q(bre) => [
+ q(0061),
+ q(0),
+ ],
+ q(btk) => [
+ q(0062),
+ q(0),
+ ],
+ q(bua) => [
+ q(0063),
+ q(0),
+ ],
+ q(bug) => [
+ q(0064),
+ q(0),
+ ],
+ q(bul) => [
+ q(0065),
+ q(0),
+ ],
+ q(bur) => [
+ q(0066),
+ q(0),
+ ],
+ q(byn) => [
+ q(0067),
+ q(0),
+ ],
+ q(cad) => [
+ q(0068),
+ q(0),
+ ],
+ q(cai) => [
+ q(0069),
+ q(0),
+ ],
+ q(car) => [
+ q(0070),
+ q(0),
+ ],
+ q(cat) => [
+ q(0071),
+ q(0),
+ ],
+ q(cau) => [
+ q(0072),
+ q(0),
+ ],
+ q(ceb) => [
+ q(0073),
+ q(0),
+ ],
+ q(cel) => [
+ q(0074),
+ q(0),
+ ],
+ q(cha) => [
+ q(0075),
+ q(0),
+ ],
+ q(chb) => [
+ q(0076),
+ q(0),
+ ],
+ q(che) => [
+ q(0077),
+ q(0),
+ ],
+ q(chg) => [
+ q(0078),
+ q(0),
+ ],
+ q(chi) => [
+ q(0079),
+ q(0),
+ ],
+ q(chk) => [
+ q(0080),
+ q(0),
+ ],
+ q(chm) => [
+ q(0081),
+ q(0),
+ ],
+ q(chn) => [
+ q(0082),
+ q(0),
+ ],
+ q(cho) => [
+ q(0083),
+ q(0),
+ ],
+ q(chp) => [
+ q(0084),
+ q(0),
+ ],
+ q(chr) => [
+ q(0085),
+ q(0),
+ ],
+ q(chu) => [
+ q(0086),
+ q(0),
+ ],
+ q(chv) => [
+ q(0087),
+ q(0),
+ ],
+ q(chy) => [
+ q(0088),
+ q(0),
+ ],
+ q(cmc) => [
+ q(0089),
+ q(0),
+ ],
+ q(cop) => [
+ q(0090),
+ q(0),
+ ],
+ q(cor) => [
+ q(0091),
+ q(0),
+ ],
+ q(cos) => [
+ q(0092),
+ q(0),
+ ],
+ q(cpe) => [
+ q(0093),
+ q(0),
+ ],
+ q(cpf) => [
+ q(0094),
+ q(0),
+ ],
+ q(cpp) => [
+ q(0095),
+ q(0),
+ ],
+ q(cre) => [
+ q(0096),
+ q(0),
+ ],
+ q(crh) => [
+ q(0097),
+ q(0),
+ ],
+ q(crp) => [
+ q(0098),
+ q(0),
+ ],
+ q(csb) => [
+ q(0099),
+ q(0),
+ ],
+ q(cus) => [
+ q(0100),
+ q(0),
+ ],
+ q(cze) => [
+ q(0101),
+ q(0),
+ ],
+ q(dak) => [
+ q(0102),
+ q(0),
+ ],
+ q(dan) => [
+ q(0103),
+ q(0),
+ ],
+ q(dar) => [
+ q(0104),
+ q(0),
+ ],
+ q(day) => [
+ q(0105),
+ q(0),
+ ],
+ q(del) => [
+ q(0106),
+ q(0),
+ ],
+ q(den) => [
+ q(0107),
+ q(0),
+ ],
+ q(dgr) => [
+ q(0108),
+ q(0),
+ ],
+ q(din) => [
+ q(0109),
+ q(0),
+ ],
+ q(div) => [
+ q(0110),
+ q(0),
+ ],
+ q(doi) => [
+ q(0111),
+ q(0),
+ ],
+ q(dra) => [
+ q(0112),
+ q(0),
+ ],
+ q(dsb) => [
+ q(0113),
+ q(0),
+ ],
+ q(dua) => [
+ q(0114),
+ q(0),
+ ],
+ q(dum) => [
+ q(0115),
+ q(0),
+ ],
+ q(dut) => [
+ q(0116),
+ q(0),
+ ],
+ q(dyu) => [
+ q(0117),
+ q(0),
+ ],
+ q(dzo) => [
+ q(0118),
+ q(0),
+ ],
+ q(efi) => [
+ q(0119),
+ q(0),
+ ],
+ q(egy) => [
+ q(0120),
+ q(0),
+ ],
+ q(eka) => [
+ q(0121),
+ q(0),
+ ],
+ q(elx) => [
+ q(0122),
+ q(0),
+ ],
+ q(eng) => [
+ q(0123),
+ q(0),
+ ],
+ q(enm) => [
+ q(0124),
+ q(0),
+ ],
+ q(epo) => [
+ q(0125),
+ q(0),
+ ],
+ q(est) => [
+ q(0126),
+ q(0),
+ ],
+ q(ewe) => [
+ q(0127),
+ q(0),
+ ],
+ q(ewo) => [
+ q(0128),
+ q(0),
+ ],
+ q(fan) => [
+ q(0129),
+ q(0),
+ ],
+ q(fao) => [
+ q(0130),
+ q(0),
+ ],
+ q(fat) => [
+ q(0131),
+ q(0),
+ ],
+ q(fij) => [
+ q(0132),
+ q(0),
+ ],
+ q(fil) => [
+ q(0133),
+ q(0),
+ ],
+ q(fin) => [
+ q(0134),
+ q(0),
+ ],
+ q(fiu) => [
+ q(0135),
+ q(0),
+ ],
+ q(fon) => [
+ q(0136),
+ q(0),
+ ],
+ q(fre) => [
+ q(0137),
+ q(0),
+ ],
+ q(frm) => [
+ q(0138),
+ q(0),
+ ],
+ q(fro) => [
+ q(0139),
+ q(0),
+ ],
+ q(frr) => [
+ q(0140),
+ q(0),
+ ],
+ q(frs) => [
+ q(0141),
+ q(0),
+ ],
+ q(fry) => [
+ q(0142),
+ q(0),
+ ],
+ q(ful) => [
+ q(0143),
+ q(0),
+ ],
+ q(fur) => [
+ q(0144),
+ q(0),
+ ],
+ q(gaa) => [
+ q(0145),
+ q(0),
+ ],
+ q(gay) => [
+ q(0146),
+ q(0),
+ ],
+ q(gba) => [
+ q(0147),
+ q(0),
+ ],
+ q(gem) => [
+ q(0148),
+ q(0),
+ ],
+ q(geo) => [
+ q(0149),
+ q(0),
+ ],
+ q(ger) => [
+ q(0150),
+ q(0),
+ ],
+ q(gez) => [
+ q(0151),
+ q(0),
+ ],
+ q(gil) => [
+ q(0152),
+ q(0),
+ ],
+ q(gla) => [
+ q(0153),
+ q(0),
+ ],
+ q(gle) => [
+ q(0154),
+ q(0),
+ ],
+ q(glg) => [
+ q(0155),
+ q(0),
+ ],
+ q(glv) => [
+ q(0156),
+ q(0),
+ ],
+ q(gmh) => [
+ q(0157),
+ q(0),
+ ],
+ q(goh) => [
+ q(0158),
+ q(0),
+ ],
+ q(gon) => [
+ q(0159),
+ q(0),
+ ],
+ q(gor) => [
+ q(0160),
+ q(0),
+ ],
+ q(got) => [
+ q(0161),
+ q(0),
+ ],
+ q(grb) => [
+ q(0162),
+ q(0),
+ ],
+ q(grc) => [
+ q(0163),
+ q(0),
+ ],
+ q(gre) => [
+ q(0164),
+ q(0),
+ ],
+ q(grn) => [
+ q(0165),
+ q(0),
+ ],
+ q(gsw) => [
+ q(0166),
+ q(0),
+ ],
+ q(guj) => [
+ q(0167),
+ q(0),
+ ],
+ q(gwi) => [
+ q(0168),
+ q(0),
+ ],
+ q(hai) => [
+ q(0169),
+ q(0),
+ ],
+ q(hat) => [
+ q(0170),
+ q(0),
+ ],
+ q(hau) => [
+ q(0171),
+ q(0),
+ ],
+ q(haw) => [
+ q(0172),
+ q(0),
+ ],
+ q(heb) => [
+ q(0173),
+ q(0),
+ ],
+ q(her) => [
+ q(0174),
+ q(0),
+ ],
+ q(hil) => [
+ q(0175),
+ q(0),
+ ],
+ q(him) => [
+ q(0176),
+ q(0),
+ ],
+ q(hin) => [
+ q(0177),
+ q(0),
+ ],
+ q(hit) => [
+ q(0178),
+ q(0),
+ ],
+ q(hmn) => [
+ q(0179),
+ q(0),
+ ],
+ q(hmo) => [
+ q(0180),
+ q(0),
+ ],
+ q(hrv) => [
+ q(0181),
+ q(0),
+ ],
+ q(hsb) => [
+ q(0182),
+ q(0),
+ ],
+ q(hun) => [
+ q(0183),
+ q(0),
+ ],
+ q(hup) => [
+ q(0184),
+ q(0),
+ ],
+ q(iba) => [
+ q(0185),
+ q(0),
+ ],
+ q(ibo) => [
+ q(0186),
+ q(0),
+ ],
+ q(ice) => [
+ q(0187),
+ q(0),
+ ],
+ q(ido) => [
+ q(0188),
+ q(0),
+ ],
+ q(iii) => [
+ q(0189),
+ q(0),
+ ],
+ q(ijo) => [
+ q(0190),
+ q(0),
+ ],
+ q(iku) => [
+ q(0191),
+ q(0),
+ ],
+ q(ile) => [
+ q(0192),
+ q(0),
+ ],
+ q(ilo) => [
+ q(0193),
+ q(0),
+ ],
+ q(ina) => [
+ q(0194),
+ q(0),
+ ],
+ q(inc) => [
+ q(0195),
+ q(0),
+ ],
+ q(ind) => [
+ q(0196),
+ q(0),
+ ],
+ q(ine) => [
+ q(0197),
+ q(0),
+ ],
+ q(inh) => [
+ q(0198),
+ q(0),
+ ],
+ q(ipk) => [
+ q(0199),
+ q(0),
+ ],
+ q(ira) => [
+ q(0200),
+ q(0),
+ ],
+ q(iro) => [
+ q(0201),
+ q(0),
+ ],
+ q(ita) => [
+ q(0202),
+ q(0),
+ ],
+ q(jav) => [
+ q(0203),
+ q(0),
+ ],
+ q(jbo) => [
+ q(0204),
+ q(0),
+ ],
+ q(jpn) => [
+ q(0205),
+ q(0),
+ ],
+ q(jpr) => [
+ q(0206),
+ q(0),
+ ],
+ q(jrb) => [
+ q(0207),
+ q(0),
+ ],
+ q(kaa) => [
+ q(0208),
+ q(0),
+ ],
+ q(kab) => [
+ q(0209),
+ q(0),
+ ],
+ q(kac) => [
+ q(0210),
+ q(0),
+ ],
+ q(kal) => [
+ q(0211),
+ q(0),
+ ],
+ q(kam) => [
+ q(0212),
+ q(0),
+ ],
+ q(kan) => [
+ q(0213),
+ q(0),
+ ],
+ q(kar) => [
+ q(0214),
+ q(0),
+ ],
+ q(kas) => [
+ q(0215),
+ q(0),
+ ],
+ q(kau) => [
+ q(0216),
+ q(0),
+ ],
+ q(kaw) => [
+ q(0217),
+ q(0),
+ ],
+ q(kaz) => [
+ q(0218),
+ q(0),
+ ],
+ q(kbd) => [
+ q(0219),
+ q(0),
+ ],
+ q(kha) => [
+ q(0220),
+ q(0),
+ ],
+ q(khi) => [
+ q(0221),
+ q(0),
+ ],
+ q(khm) => [
+ q(0222),
+ q(0),
+ ],
+ q(kho) => [
+ q(0223),
+ q(0),
+ ],
+ q(kik) => [
+ q(0224),
+ q(0),
+ ],
+ q(kin) => [
+ q(0225),
+ q(0),
+ ],
+ q(kir) => [
+ q(0226),
+ q(0),
+ ],
+ q(kmb) => [
+ q(0227),
+ q(0),
+ ],
+ q(kok) => [
+ q(0228),
+ q(0),
+ ],
+ q(kom) => [
+ q(0229),
+ q(0),
+ ],
+ q(kon) => [
+ q(0230),
+ q(0),
+ ],
+ q(kor) => [
+ q(0231),
+ q(0),
+ ],
+ q(kos) => [
+ q(0232),
+ q(0),
+ ],
+ q(kpe) => [
+ q(0233),
+ q(0),
+ ],
+ q(krc) => [
+ q(0234),
+ q(0),
+ ],
+ q(krl) => [
+ q(0235),
+ q(0),
+ ],
+ q(kro) => [
+ q(0236),
+ q(0),
+ ],
+ q(kru) => [
+ q(0237),
+ q(0),
+ ],
+ q(kua) => [
+ q(0238),
+ q(0),
+ ],
+ q(kum) => [
+ q(0239),
+ q(0),
+ ],
+ q(kur) => [
+ q(0240),
+ q(0),
+ ],
+ q(kut) => [
+ q(0241),
+ q(0),
+ ],
+ q(lad) => [
+ q(0242),
+ q(0),
+ ],
+ q(lah) => [
+ q(0243),
+ q(0),
+ ],
+ q(lam) => [
+ q(0244),
+ q(0),
+ ],
+ q(lao) => [
+ q(0245),
+ q(0),
+ ],
+ q(lat) => [
+ q(0246),
+ q(0),
+ ],
+ q(lav) => [
+ q(0247),
+ q(0),
+ ],
+ q(lez) => [
+ q(0248),
+ q(0),
+ ],
+ q(lim) => [
+ q(0249),
+ q(0),
+ ],
+ q(lin) => [
+ q(0250),
+ q(0),
+ ],
+ q(lit) => [
+ q(0251),
+ q(0),
+ ],
+ q(lol) => [
+ q(0252),
+ q(0),
+ ],
+ q(loz) => [
+ q(0253),
+ q(0),
+ ],
+ q(ltz) => [
+ q(0254),
+ q(0),
+ ],
+ q(lua) => [
+ q(0255),
+ q(0),
+ ],
+ q(lub) => [
+ q(0256),
+ q(0),
+ ],
+ q(lug) => [
+ q(0257),
+ q(0),
+ ],
+ q(lui) => [
+ q(0258),
+ q(0),
+ ],
+ q(lun) => [
+ q(0259),
+ q(0),
+ ],
+ q(luo) => [
+ q(0260),
+ q(0),
+ ],
+ q(lus) => [
+ q(0261),
+ q(0),
+ ],
+ q(mac) => [
+ q(0262),
+ q(0),
+ ],
+ q(mad) => [
+ q(0263),
+ q(0),
+ ],
+ q(mag) => [
+ q(0264),
+ q(0),
+ ],
+ q(mah) => [
+ q(0265),
+ q(0),
+ ],
+ q(mai) => [
+ q(0266),
+ q(0),
+ ],
+ q(mak) => [
+ q(0267),
+ q(0),
+ ],
+ q(mal) => [
+ q(0268),
+ q(0),
+ ],
+ q(man) => [
+ q(0269),
+ q(0),
+ ],
+ q(mao) => [
+ q(0270),
+ q(0),
+ ],
+ q(map) => [
+ q(0271),
+ q(0),
+ ],
+ q(mar) => [
+ q(0272),
+ q(0),
+ ],
+ q(mas) => [
+ q(0273),
+ q(0),
+ ],
+ q(may) => [
+ q(0274),
+ q(0),
+ ],
+ q(mdf) => [
+ q(0275),
+ q(0),
+ ],
+ q(mdr) => [
+ q(0276),
+ q(0),
+ ],
+ q(men) => [
+ q(0277),
+ q(0),
+ ],
+ q(mga) => [
+ q(0278),
+ q(0),
+ ],
+ q(mic) => [
+ q(0279),
+ q(0),
+ ],
+ q(min) => [
+ q(0280),
+ q(0),
+ ],
+ q(mis) => [
+ q(0281),
+ q(0),
+ ],
+ q(mkh) => [
+ q(0282),
+ q(0),
+ ],
+ q(mlg) => [
+ q(0283),
+ q(0),
+ ],
+ q(mlt) => [
+ q(0284),
+ q(0),
+ ],
+ q(mnc) => [
+ q(0285),
+ q(0),
+ ],
+ q(mni) => [
+ q(0286),
+ q(0),
+ ],
+ q(mno) => [
+ q(0287),
+ q(0),
+ ],
+ q(moh) => [
+ q(0288),
+ q(0),
+ ],
+ q(mon) => [
+ q(0289),
+ q(0),
+ ],
+ q(mos) => [
+ q(0290),
+ q(0),
+ ],
+ q(mul) => [
+ q(0291),
+ q(0),
+ ],
+ q(mun) => [
+ q(0292),
+ q(0),
+ ],
+ q(mus) => [
+ q(0293),
+ q(0),
+ ],
+ q(mwl) => [
+ q(0294),
+ q(0),
+ ],
+ q(mwr) => [
+ q(0295),
+ q(0),
+ ],
+ q(myn) => [
+ q(0296),
+ q(0),
+ ],
+ q(myv) => [
+ q(0297),
+ q(0),
+ ],
+ q(nah) => [
+ q(0298),
+ q(0),
+ ],
+ q(nai) => [
+ q(0299),
+ q(0),
+ ],
+ q(nap) => [
+ q(0300),
+ q(0),
+ ],
+ q(nau) => [
+ q(0301),
+ q(0),
+ ],
+ q(nav) => [
+ q(0302),
+ q(0),
+ ],
+ q(nbl) => [
+ q(0303),
+ q(0),
+ ],
+ q(nde) => [
+ q(0304),
+ q(0),
+ ],
+ q(ndo) => [
+ q(0305),
+ q(0),
+ ],
+ q(nds) => [
+ q(0306),
+ q(0),
+ ],
+ q(nep) => [
+ q(0307),
+ q(0),
+ ],
+ q(new) => [
+ q(0308),
+ q(0),
+ ],
+ q(nia) => [
+ q(0309),
+ q(0),
+ ],
+ q(nic) => [
+ q(0310),
+ q(0),
+ ],
+ q(niu) => [
+ q(0311),
+ q(0),
+ ],
+ q(nno) => [
+ q(0312),
+ q(0),
+ ],
+ q(nob) => [
+ q(0313),
+ q(0),
+ ],
+ q(nog) => [
+ q(0314),
+ q(0),
+ ],
+ q(non) => [
+ q(0315),
+ q(0),
+ ],
+ q(nor) => [
+ q(0316),
+ q(0),
+ ],
+ q(nqo) => [
+ q(0317),
+ q(0),
+ ],
+ q(nso) => [
+ q(0318),
+ q(0),
+ ],
+ q(nub) => [
+ q(0319),
+ q(0),
+ ],
+ q(nwc) => [
+ q(0320),
+ q(0),
+ ],
+ q(nya) => [
+ q(0321),
+ q(0),
+ ],
+ q(nym) => [
+ q(0322),
+ q(0),
+ ],
+ q(nyn) => [
+ q(0323),
+ q(0),
+ ],
+ q(nyo) => [
+ q(0324),
+ q(0),
+ ],
+ q(nzi) => [
+ q(0325),
+ q(0),
+ ],
+ q(oci) => [
+ q(0326),
+ q(0),
+ ],
+ q(oji) => [
+ q(0327),
+ q(0),
+ ],
+ q(ori) => [
+ q(0328),
+ q(0),
+ ],
+ q(orm) => [
+ q(0329),
+ q(0),
+ ],
+ q(osa) => [
+ q(0330),
+ q(0),
+ ],
+ q(oss) => [
+ q(0331),
+ q(0),
+ ],
+ q(ota) => [
+ q(0332),
+ q(0),
+ ],
+ q(oto) => [
+ q(0333),
+ q(0),
+ ],
+ q(paa) => [
+ q(0334),
+ q(0),
+ ],
+ q(pag) => [
+ q(0335),
+ q(0),
+ ],
+ q(pal) => [
+ q(0336),
+ q(0),
+ ],
+ q(pam) => [
+ q(0337),
+ q(0),
+ ],
+ q(pan) => [
+ q(0338),
+ q(0),
+ ],
+ q(pap) => [
+ q(0339),
+ q(0),
+ ],
+ q(pau) => [
+ q(0340),
+ q(0),
+ ],
+ q(peo) => [
+ q(0341),
+ q(0),
+ ],
+ q(per) => [
+ q(0342),
+ q(0),
+ ],
+ q(phi) => [
+ q(0343),
+ q(0),
+ ],
+ q(phn) => [
+ q(0344),
+ q(0),
+ ],
+ q(pli) => [
+ q(0345),
+ q(0),
+ ],
+ q(pol) => [
+ q(0346),
+ q(0),
+ ],
+ q(pon) => [
+ q(0347),
+ q(0),
+ ],
+ q(por) => [
+ q(0348),
+ q(0),
+ ],
+ q(pra) => [
+ q(0349),
+ q(0),
+ ],
+ q(pro) => [
+ q(0350),
+ q(0),
+ ],
+ q(pus) => [
+ q(0351),
+ q(0),
+ ],
+ q(qtz) => [
+ q(0352),
+ q(0),
+ ],
+ q(que) => [
+ q(0353),
+ q(0),
+ ],
+ q(raj) => [
+ q(0354),
+ q(0),
+ ],
+ q(rap) => [
+ q(0355),
+ q(0),
+ ],
+ q(rar) => [
+ q(0356),
+ q(0),
+ ],
+ q(roa) => [
+ q(0357),
+ q(0),
+ ],
+ q(roh) => [
+ q(0358),
+ q(0),
+ ],
+ q(rom) => [
+ q(0359),
+ q(0),
+ ],
+ q(rum) => [
+ q(0360),
+ q(0),
+ ],
+ q(run) => [
+ q(0361),
+ q(0),
+ ],
+ q(rup) => [
+ q(0362),
+ q(0),
+ ],
+ q(rus) => [
+ q(0363),
+ q(0),
+ ],
+ q(sad) => [
+ q(0364),
+ q(0),
+ ],
+ q(sag) => [
+ q(0365),
+ q(0),
+ ],
+ q(sah) => [
+ q(0366),
+ q(0),
+ ],
+ q(sai) => [
+ q(0367),
+ q(0),
+ ],
+ q(sal) => [
+ q(0368),
+ q(0),
+ ],
+ q(sam) => [
+ q(0369),
+ q(0),
+ ],
+ q(san) => [
+ q(0370),
+ q(0),
+ ],
+ q(sas) => [
+ q(0371),
+ q(0),
+ ],
+ q(sat) => [
+ q(0372),
+ q(0),
+ ],
+ q(scn) => [
+ q(0373),
+ q(0),
+ ],
+ q(sco) => [
+ q(0374),
+ q(0),
+ ],
+ q(sel) => [
+ q(0375),
+ q(0),
+ ],
+ q(sem) => [
+ q(0376),
+ q(0),
+ ],
+ q(sga) => [
+ q(0377),
+ q(0),
+ ],
+ q(sgn) => [
+ q(0378),
+ q(0),
+ ],
+ q(shn) => [
+ q(0379),
+ q(0),
+ ],
+ q(sid) => [
+ q(0380),
+ q(0),
+ ],
+ q(sin) => [
+ q(0381),
+ q(0),
+ ],
+ q(sio) => [
+ q(0382),
+ q(0),
+ ],
+ q(sit) => [
+ q(0383),
+ q(0),
+ ],
+ q(sla) => [
+ q(0384),
+ q(0),
+ ],
+ q(slo) => [
+ q(0385),
+ q(0),
+ ],
+ q(slv) => [
+ q(0386),
+ q(0),
+ ],
+ q(sma) => [
+ q(0387),
+ q(0),
+ ],
+ q(sme) => [
+ q(0388),
+ q(0),
+ ],
+ q(smi) => [
+ q(0389),
+ q(0),
+ ],
+ q(smj) => [
+ q(0390),
+ q(0),
+ ],
+ q(smn) => [
+ q(0391),
+ q(0),
+ ],
+ q(smo) => [
+ q(0392),
+ q(0),
+ ],
+ q(sms) => [
+ q(0393),
+ q(0),
+ ],
+ q(sna) => [
+ q(0394),
+ q(0),
+ ],
+ q(snd) => [
+ q(0395),
+ q(0),
+ ],
+ q(snk) => [
+ q(0396),
+ q(0),
+ ],
+ q(sog) => [
+ q(0397),
+ q(0),
+ ],
+ q(som) => [
+ q(0398),
+ q(0),
+ ],
+ q(son) => [
+ q(0399),
+ q(0),
+ ],
+ q(sot) => [
+ q(0400),
+ q(0),
+ ],
+ q(spa) => [
+ q(0401),
+ q(0),
+ ],
+ q(srd) => [
+ q(0402),
+ q(0),
+ ],
+ q(srn) => [
+ q(0403),
+ q(0),
+ ],
+ q(srp) => [
+ q(0404),
+ q(0),
+ ],
+ q(srr) => [
+ q(0405),
+ q(0),
+ ],
+ q(ssa) => [
+ q(0406),
+ q(0),
+ ],
+ q(ssw) => [
+ q(0407),
+ q(0),
+ ],
+ q(suk) => [
+ q(0408),
+ q(0),
+ ],
+ q(sun) => [
+ q(0409),
+ q(0),
+ ],
+ q(sus) => [
+ q(0410),
+ q(0),
+ ],
+ q(sux) => [
+ q(0411),
+ q(0),
+ ],
+ q(swa) => [
+ q(0412),
+ q(0),
+ ],
+ q(swe) => [
+ q(0413),
+ q(0),
+ ],
+ q(syc) => [
+ q(0414),
+ q(0),
+ ],
+ q(syr) => [
+ q(0415),
+ q(0),
+ ],
+ q(tah) => [
+ q(0416),
+ q(0),
+ ],
+ q(tai) => [
+ q(0417),
+ q(0),
+ ],
+ q(tam) => [
+ q(0418),
+ q(0),
+ ],
+ q(tat) => [
+ q(0419),
+ q(0),
+ ],
+ q(tel) => [
+ q(0420),
+ q(0),
+ ],
+ q(tem) => [
+ q(0421),
+ q(0),
+ ],
+ q(ter) => [
+ q(0422),
+ q(0),
+ ],
+ q(tet) => [
+ q(0423),
+ q(0),
+ ],
+ q(tgk) => [
+ q(0424),
+ q(0),
+ ],
+ q(tgl) => [
+ q(0425),
+ q(0),
+ ],
+ q(tha) => [
+ q(0426),
+ q(0),
+ ],
+ q(tib) => [
+ q(0427),
+ q(0),
+ ],
+ q(tig) => [
+ q(0428),
+ q(0),
+ ],
+ q(tir) => [
+ q(0429),
+ q(0),
+ ],
+ q(tiv) => [
+ q(0430),
+ q(0),
+ ],
+ q(tkl) => [
+ q(0431),
+ q(0),
+ ],
+ q(tlh) => [
+ q(0432),
+ q(0),
+ ],
+ q(tli) => [
+ q(0433),
+ q(0),
+ ],
+ q(tmh) => [
+ q(0434),
+ q(0),
+ ],
+ q(tog) => [
+ q(0435),
+ q(0),
+ ],
+ q(ton) => [
+ q(0436),
+ q(0),
+ ],
+ q(tpi) => [
+ q(0437),
+ q(0),
+ ],
+ q(tsi) => [
+ q(0438),
+ q(0),
+ ],
+ q(tsn) => [
+ q(0439),
+ q(0),
+ ],
+ q(tso) => [
+ q(0440),
+ q(0),
+ ],
+ q(tuk) => [
+ q(0441),
+ q(0),
+ ],
+ q(tum) => [
+ q(0442),
+ q(0),
+ ],
+ q(tup) => [
+ q(0443),
+ q(0),
+ ],
+ q(tur) => [
+ q(0444),
+ q(0),
+ ],
+ q(tut) => [
+ q(0445),
+ q(0),
+ ],
+ q(tvl) => [
+ q(0446),
+ q(0),
+ ],
+ q(twi) => [
+ q(0447),
+ q(0),
+ ],
+ q(tyv) => [
+ q(0448),
+ q(0),
+ ],
+ q(udm) => [
+ q(0449),
+ q(0),
+ ],
+ q(uga) => [
+ q(0450),
+ q(0),
+ ],
+ q(uig) => [
+ q(0451),
+ q(0),
+ ],
+ q(ukr) => [
+ q(0452),
+ q(0),
+ ],
+ q(umb) => [
+ q(0453),
+ q(0),
+ ],
+ q(und) => [
+ q(0454),
+ q(0),
+ ],
+ q(urd) => [
+ q(0455),
+ q(0),
+ ],
+ q(uzb) => [
+ q(0456),
+ q(0),
+ ],
+ q(vai) => [
+ q(0457),
+ q(0),
+ ],
+ q(ven) => [
+ q(0458),
+ q(0),
+ ],
+ q(vie) => [
+ q(0459),
+ q(0),
+ ],
+ q(vol) => [
+ q(0460),
+ q(0),
+ ],
+ q(vot) => [
+ q(0461),
+ q(0),
+ ],
+ q(wak) => [
+ q(0462),
+ q(0),
+ ],
+ q(wal) => [
+ q(0463),
+ q(0),
+ ],
+ q(war) => [
+ q(0464),
+ q(0),
+ ],
+ q(was) => [
+ q(0465),
+ q(0),
+ ],
+ q(wel) => [
+ q(0466),
+ q(0),
+ ],
+ q(wen) => [
+ q(0467),
+ q(0),
+ ],
+ q(wln) => [
+ q(0468),
+ q(0),
+ ],
+ q(wol) => [
+ q(0469),
+ q(0),
+ ],
+ q(xal) => [
+ q(0470),
+ q(0),
+ ],
+ q(xho) => [
+ q(0471),
+ q(0),
+ ],
+ q(yao) => [
+ q(0472),
+ q(0),
+ ],
+ q(yap) => [
+ q(0473),
+ q(0),
+ ],
+ q(yid) => [
+ q(0474),
+ q(0),
+ ],
+ q(yor) => [
+ q(0475),
+ q(0),
+ ],
+ q(ypk) => [
+ q(0476),
+ q(0),
+ ],
+ q(zap) => [
+ q(0477),
+ q(0),
+ ],
+ q(zbl) => [
+ q(0478),
+ q(0),
+ ],
+ q(zen) => [
+ q(0479),
+ q(0),
+ ],
+ q(zha) => [
+ q(0480),
+ q(0),
+ ],
+ q(znd) => [
+ q(0481),
+ q(0),
+ ],
+ q(zul) => [
+ q(0482),
+ q(0),
+ ],
+ q(zun) => [
+ q(0483),
+ q(0),
+ ],
+ q(zxx) => [
+ q(0484),
+ q(0),
+ ],
+ q(zza) => [
+ q(0485),
+ q(0),
+ ],
+ },
+ q(term) => {
+ q(bod) => [
+ q(0427),
+ q(0),
+ ],
+ q(ces) => [
+ q(0101),
+ q(0),
+ ],
+ q(cym) => [
+ q(0466),
+ q(0),
+ ],
+ q(deu) => [
+ q(0150),
+ q(0),
+ ],
+ q(ell) => [
+ q(0164),
+ q(0),
+ ],
+ q(eus) => [
+ q(0044),
+ q(0),
+ ],
+ q(fas) => [
+ q(0342),
+ q(0),
+ ],
+ q(fra) => [
+ q(0137),
+ q(0),
+ ],
+ q(hye) => [
+ q(0024),
+ q(0),
+ ],
+ q(isl) => [
+ q(0187),
+ q(0),
+ ],
+ q(kat) => [
+ q(0149),
+ q(0),
+ ],
+ q(mkd) => [
+ q(0262),
+ q(0),
+ ],
+ q(mri) => [
+ q(0270),
+ q(0),
+ ],
+ q(msa) => [
+ q(0274),
+ q(0),
+ ],
+ q(mya) => [
+ q(0066),
+ q(0),
+ ],
+ q(nld) => [
+ q(0116),
+ q(0),
+ ],
+ q(ron) => [
+ q(0360),
+ q(0),
+ ],
+ q(slk) => [
+ q(0385),
+ q(0),
+ ],
+ q(sqi) => [
+ q(0013),
+ q(0),
+ ],
+ q(zho) => [
+ q(0079),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'language'}{'id2code'} = {
+ q(alpha2) => {
+ q(0001) => q(aa),
+ q(0002) => q(ab),
+ q(0009) => q(af),
+ q(0011) => q(ak),
+ q(0013) => q(sq),
+ q(0017) => q(am),
+ q(0021) => q(ar),
+ q(0023) => q(an),
+ q(0024) => q(hy),
+ q(0029) => q(as),
+ q(0033) => q(av),
+ q(0034) => q(ae),
+ q(0036) => q(ay),
+ q(0037) => q(az),
+ q(0040) => q(ba),
+ q(0042) => q(bm),
+ q(0044) => q(eu),
+ q(0048) => q(be),
+ q(0050) => q(bn),
+ q(0053) => q(bh),
+ q(0056) => q(bi),
+ q(0059) => q(bs),
+ q(0061) => q(br),
+ q(0065) => q(bg),
+ q(0066) => q(my),
+ q(0071) => q(ca),
+ q(0075) => q(ch),
+ q(0077) => q(ce),
+ q(0079) => q(zh),
+ q(0086) => q(cu),
+ q(0087) => q(cv),
+ q(0091) => q(kw),
+ q(0092) => q(co),
+ q(0096) => q(cr),
+ q(0101) => q(cs),
+ q(0103) => q(da),
+ q(0110) => q(dv),
+ q(0116) => q(nl),
+ q(0118) => q(dz),
+ q(0123) => q(en),
+ q(0125) => q(eo),
+ q(0126) => q(et),
+ q(0127) => q(ee),
+ q(0130) => q(fo),
+ q(0132) => q(fj),
+ q(0134) => q(fi),
+ q(0137) => q(fr),
+ q(0142) => q(fy),
+ q(0143) => q(ff),
+ q(0149) => q(ka),
+ q(0150) => q(de),
+ q(0153) => q(gd),
+ q(0154) => q(ga),
+ q(0155) => q(gl),
+ q(0156) => q(gv),
+ q(0164) => q(el),
+ q(0165) => q(gn),
+ q(0167) => q(gu),
+ q(0170) => q(ht),
+ q(0171) => q(ha),
+ q(0173) => q(he),
+ q(0174) => q(hz),
+ q(0177) => q(hi),
+ q(0180) => q(ho),
+ q(0181) => q(hr),
+ q(0183) => q(hu),
+ q(0186) => q(ig),
+ q(0187) => q(is),
+ q(0188) => q(io),
+ q(0189) => q(ii),
+ q(0191) => q(iu),
+ q(0192) => q(ie),
+ q(0194) => q(ia),
+ q(0196) => q(id),
+ q(0199) => q(ik),
+ q(0202) => q(it),
+ q(0203) => q(jv),
+ q(0205) => q(ja),
+ q(0211) => q(kl),
+ q(0213) => q(kn),
+ q(0215) => q(ks),
+ q(0216) => q(kr),
+ q(0218) => q(kk),
+ q(0222) => q(km),
+ q(0224) => q(ki),
+ q(0225) => q(rw),
+ q(0226) => q(ky),
+ q(0229) => q(kv),
+ q(0230) => q(kg),
+ q(0231) => q(ko),
+ q(0238) => q(kj),
+ q(0240) => q(ku),
+ q(0245) => q(lo),
+ q(0246) => q(la),
+ q(0247) => q(lv),
+ q(0249) => q(li),
+ q(0250) => q(ln),
+ q(0251) => q(lt),
+ q(0254) => q(lb),
+ q(0256) => q(lu),
+ q(0257) => q(lg),
+ q(0262) => q(mk),
+ q(0265) => q(mh),
+ q(0268) => q(ml),
+ q(0270) => q(mi),
+ q(0272) => q(mr),
+ q(0274) => q(ms),
+ q(0283) => q(mg),
+ q(0284) => q(mt),
+ q(0289) => q(mn),
+ q(0301) => q(na),
+ q(0302) => q(nv),
+ q(0303) => q(nr),
+ q(0304) => q(nd),
+ q(0305) => q(ng),
+ q(0307) => q(ne),
+ q(0312) => q(nn),
+ q(0313) => q(nb),
+ q(0316) => q(no),
+ q(0321) => q(ny),
+ q(0326) => q(oc),
+ q(0327) => q(oj),
+ q(0328) => q(or),
+ q(0329) => q(om),
+ q(0331) => q(os),
+ q(0338) => q(pa),
+ q(0342) => q(fa),
+ q(0345) => q(pi),
+ q(0346) => q(pl),
+ q(0348) => q(pt),
+ q(0351) => q(ps),
+ q(0353) => q(qu),
+ q(0358) => q(rm),
+ q(0360) => q(ro),
+ q(0361) => q(rn),
+ q(0363) => q(ru),
+ q(0365) => q(sg),
+ q(0370) => q(sa),
+ q(0381) => q(si),
+ q(0385) => q(sk),
+ q(0386) => q(sl),
+ q(0388) => q(se),
+ q(0392) => q(sm),
+ q(0394) => q(sn),
+ q(0395) => q(sd),
+ q(0398) => q(so),
+ q(0400) => q(st),
+ q(0401) => q(es),
+ q(0402) => q(sc),
+ q(0404) => q(sr),
+ q(0407) => q(ss),
+ q(0409) => q(su),
+ q(0412) => q(sw),
+ q(0413) => q(sv),
+ q(0416) => q(ty),
+ q(0418) => q(ta),
+ q(0419) => q(tt),
+ q(0420) => q(te),
+ q(0424) => q(tg),
+ q(0425) => q(tl),
+ q(0426) => q(th),
+ q(0427) => q(bo),
+ q(0429) => q(ti),
+ q(0436) => q(to),
+ q(0439) => q(tn),
+ q(0440) => q(ts),
+ q(0441) => q(tk),
+ q(0444) => q(tr),
+ q(0447) => q(tw),
+ q(0451) => q(ug),
+ q(0452) => q(uk),
+ q(0455) => q(ur),
+ q(0456) => q(uz),
+ q(0458) => q(ve),
+ q(0459) => q(vi),
+ q(0460) => q(vo),
+ q(0466) => q(cy),
+ q(0468) => q(wa),
+ q(0469) => q(wo),
+ q(0471) => q(xh),
+ q(0474) => q(yi),
+ q(0475) => q(yo),
+ q(0480) => q(za),
+ q(0482) => q(zu),
+ },
+ q(alpha3) => {
+ q(0001) => q(aar),
+ q(0002) => q(abk),
+ q(0003) => q(ace),
+ q(0004) => q(ach),
+ q(0005) => q(ada),
+ q(0006) => q(ady),
+ q(0007) => q(afa),
+ q(0008) => q(afh),
+ q(0009) => q(afr),
+ q(0010) => q(ain),
+ q(0011) => q(aka),
+ q(0012) => q(akk),
+ q(0013) => q(alb),
+ q(0014) => q(ale),
+ q(0015) => q(alg),
+ q(0016) => q(alt),
+ q(0017) => q(amh),
+ q(0018) => q(ang),
+ q(0019) => q(anp),
+ q(0020) => q(apa),
+ q(0021) => q(ara),
+ q(0022) => q(arc),
+ q(0023) => q(arg),
+ q(0024) => q(arm),
+ q(0025) => q(arn),
+ q(0026) => q(arp),
+ q(0027) => q(art),
+ q(0028) => q(arw),
+ q(0029) => q(asm),
+ q(0030) => q(ast),
+ q(0031) => q(ath),
+ q(0032) => q(aus),
+ q(0033) => q(ava),
+ q(0034) => q(ave),
+ q(0035) => q(awa),
+ q(0036) => q(aym),
+ q(0037) => q(aze),
+ q(0038) => q(bad),
+ q(0039) => q(bai),
+ q(0040) => q(bak),
+ q(0041) => q(bal),
+ q(0042) => q(bam),
+ q(0043) => q(ban),
+ q(0044) => q(baq),
+ q(0045) => q(bas),
+ q(0046) => q(bat),
+ q(0047) => q(bej),
+ q(0048) => q(bel),
+ q(0049) => q(bem),
+ q(0050) => q(ben),
+ q(0051) => q(ber),
+ q(0052) => q(bho),
+ q(0053) => q(bih),
+ q(0054) => q(bik),
+ q(0055) => q(bin),
+ q(0056) => q(bis),
+ q(0057) => q(bla),
+ q(0058) => q(bnt),
+ q(0059) => q(bos),
+ q(0060) => q(bra),
+ q(0061) => q(bre),
+ q(0062) => q(btk),
+ q(0063) => q(bua),
+ q(0064) => q(bug),
+ q(0065) => q(bul),
+ q(0066) => q(bur),
+ q(0067) => q(byn),
+ q(0068) => q(cad),
+ q(0069) => q(cai),
+ q(0070) => q(car),
+ q(0071) => q(cat),
+ q(0072) => q(cau),
+ q(0073) => q(ceb),
+ q(0074) => q(cel),
+ q(0075) => q(cha),
+ q(0076) => q(chb),
+ q(0077) => q(che),
+ q(0078) => q(chg),
+ q(0079) => q(chi),
+ q(0080) => q(chk),
+ q(0081) => q(chm),
+ q(0082) => q(chn),
+ q(0083) => q(cho),
+ q(0084) => q(chp),
+ q(0085) => q(chr),
+ q(0086) => q(chu),
+ q(0087) => q(chv),
+ q(0088) => q(chy),
+ q(0089) => q(cmc),
+ q(0090) => q(cop),
+ q(0091) => q(cor),
+ q(0092) => q(cos),
+ q(0093) => q(cpe),
+ q(0094) => q(cpf),
+ q(0095) => q(cpp),
+ q(0096) => q(cre),
+ q(0097) => q(crh),
+ q(0098) => q(crp),
+ q(0099) => q(csb),
+ q(0100) => q(cus),
+ q(0101) => q(cze),
+ q(0102) => q(dak),
+ q(0103) => q(dan),
+ q(0104) => q(dar),
+ q(0105) => q(day),
+ q(0106) => q(del),
+ q(0107) => q(den),
+ q(0108) => q(dgr),
+ q(0109) => q(din),
+ q(0110) => q(div),
+ q(0111) => q(doi),
+ q(0112) => q(dra),
+ q(0113) => q(dsb),
+ q(0114) => q(dua),
+ q(0115) => q(dum),
+ q(0116) => q(dut),
+ q(0117) => q(dyu),
+ q(0118) => q(dzo),
+ q(0119) => q(efi),
+ q(0120) => q(egy),
+ q(0121) => q(eka),
+ q(0122) => q(elx),
+ q(0123) => q(eng),
+ q(0124) => q(enm),
+ q(0125) => q(epo),
+ q(0126) => q(est),
+ q(0127) => q(ewe),
+ q(0128) => q(ewo),
+ q(0129) => q(fan),
+ q(0130) => q(fao),
+ q(0131) => q(fat),
+ q(0132) => q(fij),
+ q(0133) => q(fil),
+ q(0134) => q(fin),
+ q(0135) => q(fiu),
+ q(0136) => q(fon),
+ q(0137) => q(fre),
+ q(0138) => q(frm),
+ q(0139) => q(fro),
+ q(0140) => q(frr),
+ q(0141) => q(frs),
+ q(0142) => q(fry),
+ q(0143) => q(ful),
+ q(0144) => q(fur),
+ q(0145) => q(gaa),
+ q(0146) => q(gay),
+ q(0147) => q(gba),
+ q(0148) => q(gem),
+ q(0149) => q(geo),
+ q(0150) => q(ger),
+ q(0151) => q(gez),
+ q(0152) => q(gil),
+ q(0153) => q(gla),
+ q(0154) => q(gle),
+ q(0155) => q(glg),
+ q(0156) => q(glv),
+ q(0157) => q(gmh),
+ q(0158) => q(goh),
+ q(0159) => q(gon),
+ q(0160) => q(gor),
+ q(0161) => q(got),
+ q(0162) => q(grb),
+ q(0163) => q(grc),
+ q(0164) => q(gre),
+ q(0165) => q(grn),
+ q(0166) => q(gsw),
+ q(0167) => q(guj),
+ q(0168) => q(gwi),
+ q(0169) => q(hai),
+ q(0170) => q(hat),
+ q(0171) => q(hau),
+ q(0172) => q(haw),
+ q(0173) => q(heb),
+ q(0174) => q(her),
+ q(0175) => q(hil),
+ q(0176) => q(him),
+ q(0177) => q(hin),
+ q(0178) => q(hit),
+ q(0179) => q(hmn),
+ q(0180) => q(hmo),
+ q(0181) => q(hrv),
+ q(0182) => q(hsb),
+ q(0183) => q(hun),
+ q(0184) => q(hup),
+ q(0185) => q(iba),
+ q(0186) => q(ibo),
+ q(0187) => q(ice),
+ q(0188) => q(ido),
+ q(0189) => q(iii),
+ q(0190) => q(ijo),
+ q(0191) => q(iku),
+ q(0192) => q(ile),
+ q(0193) => q(ilo),
+ q(0194) => q(ina),
+ q(0195) => q(inc),
+ q(0196) => q(ind),
+ q(0197) => q(ine),
+ q(0198) => q(inh),
+ q(0199) => q(ipk),
+ q(0200) => q(ira),
+ q(0201) => q(iro),
+ q(0202) => q(ita),
+ q(0203) => q(jav),
+ q(0204) => q(jbo),
+ q(0205) => q(jpn),
+ q(0206) => q(jpr),
+ q(0207) => q(jrb),
+ q(0208) => q(kaa),
+ q(0209) => q(kab),
+ q(0210) => q(kac),
+ q(0211) => q(kal),
+ q(0212) => q(kam),
+ q(0213) => q(kan),
+ q(0214) => q(kar),
+ q(0215) => q(kas),
+ q(0216) => q(kau),
+ q(0217) => q(kaw),
+ q(0218) => q(kaz),
+ q(0219) => q(kbd),
+ q(0220) => q(kha),
+ q(0221) => q(khi),
+ q(0222) => q(khm),
+ q(0223) => q(kho),
+ q(0224) => q(kik),
+ q(0225) => q(kin),
+ q(0226) => q(kir),
+ q(0227) => q(kmb),
+ q(0228) => q(kok),
+ q(0229) => q(kom),
+ q(0230) => q(kon),
+ q(0231) => q(kor),
+ q(0232) => q(kos),
+ q(0233) => q(kpe),
+ q(0234) => q(krc),
+ q(0235) => q(krl),
+ q(0236) => q(kro),
+ q(0237) => q(kru),
+ q(0238) => q(kua),
+ q(0239) => q(kum),
+ q(0240) => q(kur),
+ q(0241) => q(kut),
+ q(0242) => q(lad),
+ q(0243) => q(lah),
+ q(0244) => q(lam),
+ q(0245) => q(lao),
+ q(0246) => q(lat),
+ q(0247) => q(lav),
+ q(0248) => q(lez),
+ q(0249) => q(lim),
+ q(0250) => q(lin),
+ q(0251) => q(lit),
+ q(0252) => q(lol),
+ q(0253) => q(loz),
+ q(0254) => q(ltz),
+ q(0255) => q(lua),
+ q(0256) => q(lub),
+ q(0257) => q(lug),
+ q(0258) => q(lui),
+ q(0259) => q(lun),
+ q(0260) => q(luo),
+ q(0261) => q(lus),
+ q(0262) => q(mac),
+ q(0263) => q(mad),
+ q(0264) => q(mag),
+ q(0265) => q(mah),
+ q(0266) => q(mai),
+ q(0267) => q(mak),
+ q(0268) => q(mal),
+ q(0269) => q(man),
+ q(0270) => q(mao),
+ q(0271) => q(map),
+ q(0272) => q(mar),
+ q(0273) => q(mas),
+ q(0274) => q(may),
+ q(0275) => q(mdf),
+ q(0276) => q(mdr),
+ q(0277) => q(men),
+ q(0278) => q(mga),
+ q(0279) => q(mic),
+ q(0280) => q(min),
+ q(0281) => q(mis),
+ q(0282) => q(mkh),
+ q(0283) => q(mlg),
+ q(0284) => q(mlt),
+ q(0285) => q(mnc),
+ q(0286) => q(mni),
+ q(0287) => q(mno),
+ q(0288) => q(moh),
+ q(0289) => q(mon),
+ q(0290) => q(mos),
+ q(0291) => q(mul),
+ q(0292) => q(mun),
+ q(0293) => q(mus),
+ q(0294) => q(mwl),
+ q(0295) => q(mwr),
+ q(0296) => q(myn),
+ q(0297) => q(myv),
+ q(0298) => q(nah),
+ q(0299) => q(nai),
+ q(0300) => q(nap),
+ q(0301) => q(nau),
+ q(0302) => q(nav),
+ q(0303) => q(nbl),
+ q(0304) => q(nde),
+ q(0305) => q(ndo),
+ q(0306) => q(nds),
+ q(0307) => q(nep),
+ q(0308) => q(new),
+ q(0309) => q(nia),
+ q(0310) => q(nic),
+ q(0311) => q(niu),
+ q(0312) => q(nno),
+ q(0313) => q(nob),
+ q(0314) => q(nog),
+ q(0315) => q(non),
+ q(0316) => q(nor),
+ q(0317) => q(nqo),
+ q(0318) => q(nso),
+ q(0319) => q(nub),
+ q(0320) => q(nwc),
+ q(0321) => q(nya),
+ q(0322) => q(nym),
+ q(0323) => q(nyn),
+ q(0324) => q(nyo),
+ q(0325) => q(nzi),
+ q(0326) => q(oci),
+ q(0327) => q(oji),
+ q(0328) => q(ori),
+ q(0329) => q(orm),
+ q(0330) => q(osa),
+ q(0331) => q(oss),
+ q(0332) => q(ota),
+ q(0333) => q(oto),
+ q(0334) => q(paa),
+ q(0335) => q(pag),
+ q(0336) => q(pal),
+ q(0337) => q(pam),
+ q(0338) => q(pan),
+ q(0339) => q(pap),
+ q(0340) => q(pau),
+ q(0341) => q(peo),
+ q(0342) => q(per),
+ q(0343) => q(phi),
+ q(0344) => q(phn),
+ q(0345) => q(pli),
+ q(0346) => q(pol),
+ q(0347) => q(pon),
+ q(0348) => q(por),
+ q(0349) => q(pra),
+ q(0350) => q(pro),
+ q(0351) => q(pus),
+ q(0352) => q(qtz),
+ q(0353) => q(que),
+ q(0354) => q(raj),
+ q(0355) => q(rap),
+ q(0356) => q(rar),
+ q(0357) => q(roa),
+ q(0358) => q(roh),
+ q(0359) => q(rom),
+ q(0360) => q(rum),
+ q(0361) => q(run),
+ q(0362) => q(rup),
+ q(0363) => q(rus),
+ q(0364) => q(sad),
+ q(0365) => q(sag),
+ q(0366) => q(sah),
+ q(0367) => q(sai),
+ q(0368) => q(sal),
+ q(0369) => q(sam),
+ q(0370) => q(san),
+ q(0371) => q(sas),
+ q(0372) => q(sat),
+ q(0373) => q(scn),
+ q(0374) => q(sco),
+ q(0375) => q(sel),
+ q(0376) => q(sem),
+ q(0377) => q(sga),
+ q(0378) => q(sgn),
+ q(0379) => q(shn),
+ q(0380) => q(sid),
+ q(0381) => q(sin),
+ q(0382) => q(sio),
+ q(0383) => q(sit),
+ q(0384) => q(sla),
+ q(0385) => q(slo),
+ q(0386) => q(slv),
+ q(0387) => q(sma),
+ q(0388) => q(sme),
+ q(0389) => q(smi),
+ q(0390) => q(smj),
+ q(0391) => q(smn),
+ q(0392) => q(smo),
+ q(0393) => q(sms),
+ q(0394) => q(sna),
+ q(0395) => q(snd),
+ q(0396) => q(snk),
+ q(0397) => q(sog),
+ q(0398) => q(som),
+ q(0399) => q(son),
+ q(0400) => q(sot),
+ q(0401) => q(spa),
+ q(0402) => q(srd),
+ q(0403) => q(srn),
+ q(0404) => q(srp),
+ q(0405) => q(srr),
+ q(0406) => q(ssa),
+ q(0407) => q(ssw),
+ q(0408) => q(suk),
+ q(0409) => q(sun),
+ q(0410) => q(sus),
+ q(0411) => q(sux),
+ q(0412) => q(swa),
+ q(0413) => q(swe),
+ q(0414) => q(syc),
+ q(0415) => q(syr),
+ q(0416) => q(tah),
+ q(0417) => q(tai),
+ q(0418) => q(tam),
+ q(0419) => q(tat),
+ q(0420) => q(tel),
+ q(0421) => q(tem),
+ q(0422) => q(ter),
+ q(0423) => q(tet),
+ q(0424) => q(tgk),
+ q(0425) => q(tgl),
+ q(0426) => q(tha),
+ q(0427) => q(tib),
+ q(0428) => q(tig),
+ q(0429) => q(tir),
+ q(0430) => q(tiv),
+ q(0431) => q(tkl),
+ q(0432) => q(tlh),
+ q(0433) => q(tli),
+ q(0434) => q(tmh),
+ q(0435) => q(tog),
+ q(0436) => q(ton),
+ q(0437) => q(tpi),
+ q(0438) => q(tsi),
+ q(0439) => q(tsn),
+ q(0440) => q(tso),
+ q(0441) => q(tuk),
+ q(0442) => q(tum),
+ q(0443) => q(tup),
+ q(0444) => q(tur),
+ q(0445) => q(tut),
+ q(0446) => q(tvl),
+ q(0447) => q(twi),
+ q(0448) => q(tyv),
+ q(0449) => q(udm),
+ q(0450) => q(uga),
+ q(0451) => q(uig),
+ q(0452) => q(ukr),
+ q(0453) => q(umb),
+ q(0454) => q(und),
+ q(0455) => q(urd),
+ q(0456) => q(uzb),
+ q(0457) => q(vai),
+ q(0458) => q(ven),
+ q(0459) => q(vie),
+ q(0460) => q(vol),
+ q(0461) => q(vot),
+ q(0462) => q(wak),
+ q(0463) => q(wal),
+ q(0464) => q(war),
+ q(0465) => q(was),
+ q(0466) => q(wel),
+ q(0467) => q(wen),
+ q(0468) => q(wln),
+ q(0469) => q(wol),
+ q(0470) => q(xal),
+ q(0471) => q(xho),
+ q(0472) => q(yao),
+ q(0473) => q(yap),
+ q(0474) => q(yid),
+ q(0475) => q(yor),
+ q(0476) => q(ypk),
+ q(0477) => q(zap),
+ q(0478) => q(zbl),
+ q(0479) => q(zen),
+ q(0480) => q(zha),
+ q(0481) => q(znd),
+ q(0482) => q(zul),
+ q(0483) => q(zun),
+ q(0484) => q(zxx),
+ q(0485) => q(zza),
+ },
+ q(term) => {
+ q(0013) => q(sqi),
+ q(0024) => q(hye),
+ q(0044) => q(eus),
+ q(0066) => q(mya),
+ q(0079) => q(zho),
+ q(0101) => q(ces),
+ q(0116) => q(nld),
+ q(0137) => q(fra),
+ q(0149) => q(kat),
+ q(0150) => q(deu),
+ q(0164) => q(ell),
+ q(0187) => q(isl),
+ q(0262) => q(mkd),
+ q(0270) => q(mri),
+ q(0274) => q(msa),
+ q(0342) => q(fas),
+ q(0360) => q(ron),
+ q(0385) => q(slk),
+ q(0427) => q(bod),
+ q(0466) => q(cym),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
new file mode 100644
index 00000000000..1eb4bd537fb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
@@ -0,0 +1,2699 @@
+package Locale::Codes::Script;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Tue Mar 1 15:02:24 EST 2011
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Script - script codes for the Locale::Script module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Script module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.16';
+
+$Locale::Codes::Data{'script'}{'id'} = '0156';
+
+$Locale::Codes::Data{'script'}{'id2names'} = {
+ q(0001) => [
+ q(Afaka),
+ ],
+ q(0002) => [
+ q(Arabic),
+ ],
+ q(0003) => [
+ q(Imperial Aramaic),
+ ],
+ q(0004) => [
+ q(Armenian),
+ ],
+ q(0005) => [
+ q(Avestan),
+ ],
+ q(0006) => [
+ q(Balinese),
+ ],
+ q(0007) => [
+ q(Bamum),
+ ],
+ q(0008) => [
+ q(Bassa Vah),
+ ],
+ q(0009) => [
+ q(Batak),
+ ],
+ q(0010) => [
+ q(Bengali),
+ ],
+ q(0011) => [
+ q(Blissymbols),
+ ],
+ q(0012) => [
+ q(Bopomofo),
+ ],
+ q(0013) => [
+ q(Brahmi),
+ ],
+ q(0014) => [
+ q(Braille),
+ ],
+ q(0015) => [
+ q(Buginese),
+ ],
+ q(0016) => [
+ q(Buhid),
+ ],
+ q(0017) => [
+ q(Chakma),
+ ],
+ q(0018) => [
+ q(Unified Canadian Aboriginal Syllabics),
+ ],
+ q(0019) => [
+ q(Carian),
+ ],
+ q(0020) => [
+ q(Cham),
+ ],
+ q(0021) => [
+ q(Cherokee),
+ ],
+ q(0022) => [
+ q(Cirth),
+ ],
+ q(0023) => [
+ q(Coptic),
+ ],
+ q(0024) => [
+ q(Cypriot),
+ ],
+ q(0025) => [
+ q(Cyrillic),
+ ],
+ q(0026) => [
+ q(Cyrillic (Old Church Slavonic variant)),
+ ],
+ q(0027) => [
+ q(Devanagari (Nagari)),
+ ],
+ q(0028) => [
+ q(Deseret (Mormon)),
+ ],
+ q(0029) => [
+ q(Duployan shorthand, Duployan stenography),
+ ],
+ q(0030) => [
+ q(Egyptian demotic),
+ ],
+ q(0031) => [
+ q(Egyptian hieratic),
+ ],
+ q(0032) => [
+ q(Egyptian hieroglyphs),
+ ],
+ q(0033) => [
+ q(Elbasan),
+ ],
+ q(0034) => [
+ q(Ethiopic (Geez)),
+ ],
+ q(0035) => [
+ q(Georgian (Mkhedruli)),
+ ],
+ q(0036) => [
+ q(Khutsuri (Asomtavruli and Nuskhuri)),
+ ],
+ q(0037) => [
+ q(Glagolitic),
+ ],
+ q(0038) => [
+ q(Gothic),
+ ],
+ q(0039) => [
+ q(Grantha),
+ ],
+ q(0040) => [
+ q(Greek),
+ ],
+ q(0041) => [
+ q(Gujarati),
+ ],
+ q(0042) => [
+ q(Gurmukhi),
+ ],
+ q(0043) => [
+ q(Hangul (Hangul, Hangeul)),
+ ],
+ q(0044) => [
+ q(Han (Hanzi, Kanji, Hanja)),
+ ],
+ q(0045) => [
+ q(Hanunoo (Hanunoo)),
+ ],
+ q(0046) => [
+ q(Han (Simplified variant)),
+ ],
+ q(0047) => [
+ q(Han (Traditional variant)),
+ ],
+ q(0048) => [
+ q(Hebrew),
+ ],
+ q(0049) => [
+ q(Hiragana),
+ ],
+ q(0050) => [
+ q(Pahawh Hmong),
+ ],
+ q(0051) => [
+ q((alias for Hiragana + Katakana)),
+ ],
+ q(0052) => [
+ q(Old Hungarian),
+ ],
+ q(0053) => [
+ q(Indus (Harappan)),
+ ],
+ q(0054) => [
+ q(Old Italic (Etruscan, Oscan, etc.)),
+ ],
+ q(0055) => [
+ q(Javanese),
+ ],
+ q(0056) => [
+ q(Japanese (alias for Han + Hiragana + Katakana)),
+ ],
+ q(0057) => [
+ q(Jurchen),
+ ],
+ q(0058) => [
+ q(Kayah Li),
+ ],
+ q(0059) => [
+ q(Katakana),
+ ],
+ q(0060) => [
+ q(Kharoshthi),
+ ],
+ q(0061) => [
+ q(Khmer),
+ ],
+ q(0062) => [
+ q(Kannada),
+ ],
+ q(0063) => [
+ q(Korean (alias for Hangul + Han)),
+ ],
+ q(0064) => [
+ q(Kpelle),
+ ],
+ q(0065) => [
+ q(Kaithi),
+ ],
+ q(0066) => [
+ q(Tai Tham (Lanna)),
+ ],
+ q(0067) => [
+ q(Lao),
+ ],
+ q(0068) => [
+ q(Latin (Fraktur variant)),
+ ],
+ q(0069) => [
+ q(Latin (Gaelic variant)),
+ ],
+ q(0070) => [
+ q(Latin),
+ ],
+ q(0071) => [
+ q(Lepcha (Rong)),
+ ],
+ q(0072) => [
+ q(Limbu),
+ ],
+ q(0073) => [
+ q(Linear A),
+ ],
+ q(0074) => [
+ q(Linear B),
+ ],
+ q(0075) => [
+ q(Lisu (Fraser)),
+ ],
+ q(0076) => [
+ q(Loma),
+ ],
+ q(0077) => [
+ q(Lycian),
+ ],
+ q(0078) => [
+ q(Lydian),
+ ],
+ q(0079) => [
+ q(Mandaic, Mandaean),
+ ],
+ q(0080) => [
+ q(Manichaean),
+ ],
+ q(0081) => [
+ q(Mayan hieroglyphs),
+ ],
+ q(0082) => [
+ q(Mende),
+ ],
+ q(0083) => [
+ q(Meroitic Cursive),
+ ],
+ q(0084) => [
+ q(Meroitic Hieroglyphs),
+ ],
+ q(0085) => [
+ q(Malayalam),
+ ],
+ q(0086) => [
+ q(Moon (Moon code, Moon script, Moon type)),
+ ],
+ q(0087) => [
+ q(Mongolian),
+ ],
+ q(0088) => [
+ q(Mro, Mru),
+ ],
+ q(0089) => [
+ q(Meitei Mayek (Meithei, Meetei)),
+ ],
+ q(0090) => [
+ q(Myanmar (Burmese)),
+ ],
+ q(0091) => [
+ q(Old North Arabian (Ancient North Arabian)),
+ ],
+ q(0092) => [
+ q(Nabataean),
+ ],
+ q(0093) => [
+ q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
+ ],
+ q(0094) => [
+ q(N'Ko),
+ ],
+ q(0095) => [
+ q(Nushu),
+ ],
+ q(0096) => [
+ q(Ogham),
+ ],
+ q(0097) => [
+ q(Ol Chiki (Ol Cemet, Ol, Santali)),
+ ],
+ q(0098) => [
+ q(Old Turkic, Orkhon Runic),
+ ],
+ q(0099) => [
+ q(Oriya),
+ ],
+ q(0100) => [
+ q(Osmanya),
+ ],
+ q(0101) => [
+ q(Palmyrene),
+ ],
+ q(0102) => [
+ q(Old Permic),
+ ],
+ q(0103) => [
+ q(Phags-pa),
+ ],
+ q(0104) => [
+ q(Inscriptional Pahlavi),
+ ],
+ q(0105) => [
+ q(Psalter Pahlavi),
+ ],
+ q(0106) => [
+ q(Book Pahlavi),
+ ],
+ q(0107) => [
+ q(Phoenician),
+ ],
+ q(0108) => [
+ q(Miao (Pollard)),
+ ],
+ q(0109) => [
+ q(Inscriptional Parthian),
+ ],
+ q(0110) => [
+ q(Reserved for private use (start)),
+ ],
+ q(0111) => [
+ q(Reserved for private use (end)),
+ ],
+ q(0112) => [
+ q(Rejang (Redjang, Kaganga)),
+ ],
+ q(0113) => [
+ q(Rongorongo),
+ ],
+ q(0114) => [
+ q(Runic),
+ ],
+ q(0115) => [
+ q(Samaritan),
+ ],
+ q(0116) => [
+ q(Sarati),
+ ],
+ q(0117) => [
+ q(Old South Arabian),
+ ],
+ q(0118) => [
+ q(Saurashtra),
+ ],
+ q(0119) => [
+ q(SignWriting),
+ ],
+ q(0120) => [
+ q(Shavian (Shaw)),
+ ],
+ q(0121) => [
+ q(Sharada, Sarada),
+ ],
+ q(0122) => [
+ q(Khudawadi, Sindhi),
+ ],
+ q(0123) => [
+ q(Sinhala),
+ ],
+ q(0124) => [
+ q(Sora Sompeng),
+ ],
+ q(0125) => [
+ q(Sundanese),
+ ],
+ q(0126) => [
+ q(Syloti Nagri),
+ ],
+ q(0127) => [
+ q(Syriac),
+ ],
+ q(0128) => [
+ q(Syriac (Estrangelo variant)),
+ ],
+ q(0129) => [
+ q(Syriac (Western variant)),
+ ],
+ q(0130) => [
+ q(Syriac (Eastern variant)),
+ ],
+ q(0131) => [
+ q(Tagbanwa),
+ ],
+ q(0132) => [
+ q(Takri, Takri, Tankri),
+ ],
+ q(0133) => [
+ q(Tai Le),
+ ],
+ q(0134) => [
+ q(New Tai Lue),
+ ],
+ q(0135) => [
+ q(Tamil),
+ ],
+ q(0136) => [
+ q(Tangut),
+ ],
+ q(0137) => [
+ q(Tai Viet),
+ ],
+ q(0138) => [
+ q(Telugu),
+ ],
+ q(0139) => [
+ q(Tengwar),
+ ],
+ q(0140) => [
+ q(Tifinagh (Berber)),
+ ],
+ q(0141) => [
+ q(Tagalog (Baybayin, Alibata)),
+ ],
+ q(0142) => [
+ q(Thaana),
+ ],
+ q(0143) => [
+ q(Thai),
+ ],
+ q(0144) => [
+ q(Tibetan),
+ ],
+ q(0145) => [
+ q(Ugaritic),
+ ],
+ q(0146) => [
+ q(Vai),
+ ],
+ q(0147) => [
+ q(Visible Speech),
+ ],
+ q(0148) => [
+ q(Warang Citi (Varang Kshiti)),
+ ],
+ q(0149) => [
+ q(Woleai),
+ ],
+ q(0150) => [
+ q(Old Persian),
+ ],
+ q(0151) => [
+ q(Cuneiform, Sumero-Akkadian),
+ ],
+ q(0152) => [
+ q(Yi),
+ ],
+ q(0153) => [
+ q(Code for inherited script),
+ ],
+ q(0154) => [
+ q(Mathematical notation),
+ ],
+ q(0155) => [
+ q(Symbols),
+ ],
+};
+
+$Locale::Codes::Data{'script'}{'alias2id'} = {
+ q((alias for hiragana + katakana)) => [
+ q(0051),
+ q(0),
+ ],
+ q(afaka) => [
+ q(0001),
+ q(0),
+ ],
+ q(arabic) => [
+ q(0002),
+ q(0),
+ ],
+ q(armenian) => [
+ q(0004),
+ q(0),
+ ],
+ q(avestan) => [
+ q(0005),
+ q(0),
+ ],
+ q(balinese) => [
+ q(0006),
+ q(0),
+ ],
+ q(bamum) => [
+ q(0007),
+ q(0),
+ ],
+ q(bassa vah) => [
+ q(0008),
+ q(0),
+ ],
+ q(batak) => [
+ q(0009),
+ q(0),
+ ],
+ q(bengali) => [
+ q(0010),
+ q(0),
+ ],
+ q(blissymbols) => [
+ q(0011),
+ q(0),
+ ],
+ q(book pahlavi) => [
+ q(0106),
+ q(0),
+ ],
+ q(bopomofo) => [
+ q(0012),
+ q(0),
+ ],
+ q(brahmi) => [
+ q(0013),
+ q(0),
+ ],
+ q(braille) => [
+ q(0014),
+ q(0),
+ ],
+ q(buginese) => [
+ q(0015),
+ q(0),
+ ],
+ q(buhid) => [
+ q(0016),
+ q(0),
+ ],
+ q(carian) => [
+ q(0019),
+ q(0),
+ ],
+ q(chakma) => [
+ q(0017),
+ q(0),
+ ],
+ q(cham) => [
+ q(0020),
+ q(0),
+ ],
+ q(cherokee) => [
+ q(0021),
+ q(0),
+ ],
+ q(cirth) => [
+ q(0022),
+ q(0),
+ ],
+ q(code for inherited script) => [
+ q(0153),
+ q(0),
+ ],
+ q(coptic) => [
+ q(0023),
+ q(0),
+ ],
+ q(cuneiform, sumero-akkadian) => [
+ q(0151),
+ q(0),
+ ],
+ q(cypriot) => [
+ q(0024),
+ q(0),
+ ],
+ q(cyrillic) => [
+ q(0025),
+ q(0),
+ ],
+ q(cyrillic (old church slavonic variant)) => [
+ q(0026),
+ q(0),
+ ],
+ q(deseret (mormon)) => [
+ q(0028),
+ q(0),
+ ],
+ q(devanagari (nagari)) => [
+ q(0027),
+ q(0),
+ ],
+ q(duployan shorthand, duployan stenography) => [
+ q(0029),
+ q(0),
+ ],
+ q(egyptian demotic) => [
+ q(0030),
+ q(0),
+ ],
+ q(egyptian hieratic) => [
+ q(0031),
+ q(0),
+ ],
+ q(egyptian hieroglyphs) => [
+ q(0032),
+ q(0),
+ ],
+ q(elbasan) => [
+ q(0033),
+ q(0),
+ ],
+ q(ethiopic (geez)) => [
+ q(0034),
+ q(0),
+ ],
+ q(georgian (mkhedruli)) => [
+ q(0035),
+ q(0),
+ ],
+ q(glagolitic) => [
+ q(0037),
+ q(0),
+ ],
+ q(gothic) => [
+ q(0038),
+ q(0),
+ ],
+ q(grantha) => [
+ q(0039),
+ q(0),
+ ],
+ q(greek) => [
+ q(0040),
+ q(0),
+ ],
+ q(gujarati) => [
+ q(0041),
+ q(0),
+ ],
+ q(gurmukhi) => [
+ q(0042),
+ q(0),
+ ],
+ q(han (hanzi, kanji, hanja)) => [
+ q(0044),
+ q(0),
+ ],
+ q(han (simplified variant)) => [
+ q(0046),
+ q(0),
+ ],
+ q(han (traditional variant)) => [
+ q(0047),
+ q(0),
+ ],
+ q(hangul (hangul, hangeul)) => [
+ q(0043),
+ q(0),
+ ],
+ q(hanunoo (hanunoo)) => [
+ q(0045),
+ q(0),
+ ],
+ q(hebrew) => [
+ q(0048),
+ q(0),
+ ],
+ q(hiragana) => [
+ q(0049),
+ q(0),
+ ],
+ q(imperial aramaic) => [
+ q(0003),
+ q(0),
+ ],
+ q(indus (harappan)) => [
+ q(0053),
+ q(0),
+ ],
+ q(inscriptional pahlavi) => [
+ q(0104),
+ q(0),
+ ],
+ q(inscriptional parthian) => [
+ q(0109),
+ q(0),
+ ],
+ q(japanese (alias for han + hiragana + katakana)) => [
+ q(0056),
+ q(0),
+ ],
+ q(javanese) => [
+ q(0055),
+ q(0),
+ ],
+ q(jurchen) => [
+ q(0057),
+ q(0),
+ ],
+ q(kaithi) => [
+ q(0065),
+ q(0),
+ ],
+ q(kannada) => [
+ q(0062),
+ q(0),
+ ],
+ q(katakana) => [
+ q(0059),
+ q(0),
+ ],
+ q(kayah li) => [
+ q(0058),
+ q(0),
+ ],
+ q(kharoshthi) => [
+ q(0060),
+ q(0),
+ ],
+ q(khmer) => [
+ q(0061),
+ q(0),
+ ],
+ q(khudawadi, sindhi) => [
+ q(0122),
+ q(0),
+ ],
+ q(khutsuri (asomtavruli and nuskhuri)) => [
+ q(0036),
+ q(0),
+ ],
+ q(korean (alias for hangul + han)) => [
+ q(0063),
+ q(0),
+ ],
+ q(kpelle) => [
+ q(0064),
+ q(0),
+ ],
+ q(lao) => [
+ q(0067),
+ q(0),
+ ],
+ q(latin) => [
+ q(0070),
+ q(0),
+ ],
+ q(latin (fraktur variant)) => [
+ q(0068),
+ q(0),
+ ],
+ q(latin (gaelic variant)) => [
+ q(0069),
+ q(0),
+ ],
+ q(lepcha (rong)) => [
+ q(0071),
+ q(0),
+ ],
+ q(limbu) => [
+ q(0072),
+ q(0),
+ ],
+ q(linear a) => [
+ q(0073),
+ q(0),
+ ],
+ q(linear b) => [
+ q(0074),
+ q(0),
+ ],
+ q(lisu (fraser)) => [
+ q(0075),
+ q(0),
+ ],
+ q(loma) => [
+ q(0076),
+ q(0),
+ ],
+ q(lycian) => [
+ q(0077),
+ q(0),
+ ],
+ q(lydian) => [
+ q(0078),
+ q(0),
+ ],
+ q(malayalam) => [
+ q(0085),
+ q(0),
+ ],
+ q(mandaic, mandaean) => [
+ q(0079),
+ q(0),
+ ],
+ q(manichaean) => [
+ q(0080),
+ q(0),
+ ],
+ q(mathematical notation) => [
+ q(0154),
+ q(0),
+ ],
+ q(mayan hieroglyphs) => [
+ q(0081),
+ q(0),
+ ],
+ q(meitei mayek (meithei, meetei)) => [
+ q(0089),
+ q(0),
+ ],
+ q(mende) => [
+ q(0082),
+ q(0),
+ ],
+ q(meroitic cursive) => [
+ q(0083),
+ q(0),
+ ],
+ q(meroitic hieroglyphs) => [
+ q(0084),
+ q(0),
+ ],
+ q(miao (pollard)) => [
+ q(0108),
+ q(0),
+ ],
+ q(mongolian) => [
+ q(0087),
+ q(0),
+ ],
+ q(moon (moon code, moon script, moon type)) => [
+ q(0086),
+ q(0),
+ ],
+ q(mro, mru) => [
+ q(0088),
+ q(0),
+ ],
+ q(myanmar (burmese)) => [
+ q(0090),
+ q(0),
+ ],
+ q(n'ko) => [
+ q(0094),
+ q(0),
+ ],
+ q(nabataean) => [
+ q(0092),
+ q(0),
+ ],
+ q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
+ q(0093),
+ q(0),
+ ],
+ q(new tai lue) => [
+ q(0134),
+ q(0),
+ ],
+ q(nushu) => [
+ q(0095),
+ q(0),
+ ],
+ q(ogham) => [
+ q(0096),
+ q(0),
+ ],
+ q(ol chiki (ol cemet, ol, santali)) => [
+ q(0097),
+ q(0),
+ ],
+ q(old hungarian) => [
+ q(0052),
+ q(0),
+ ],
+ q(old italic (etruscan, oscan, etc.)) => [
+ q(0054),
+ q(0),
+ ],
+ q(old north arabian (ancient north arabian)) => [
+ q(0091),
+ q(0),
+ ],
+ q(old permic) => [
+ q(0102),
+ q(0),
+ ],
+ q(old persian) => [
+ q(0150),
+ q(0),
+ ],
+ q(old south arabian) => [
+ q(0117),
+ q(0),
+ ],
+ q(old turkic, orkhon runic) => [
+ q(0098),
+ q(0),
+ ],
+ q(oriya) => [
+ q(0099),
+ q(0),
+ ],
+ q(osmanya) => [
+ q(0100),
+ q(0),
+ ],
+ q(pahawh hmong) => [
+ q(0050),
+ q(0),
+ ],
+ q(palmyrene) => [
+ q(0101),
+ q(0),
+ ],
+ q(phags-pa) => [
+ q(0103),
+ q(0),
+ ],
+ q(phoenician) => [
+ q(0107),
+ q(0),
+ ],
+ q(psalter pahlavi) => [
+ q(0105),
+ q(0),
+ ],
+ q(rejang (redjang, kaganga)) => [
+ q(0112),
+ q(0),
+ ],
+ q(reserved for private use (end)) => [
+ q(0111),
+ q(0),
+ ],
+ q(reserved for private use (start)) => [
+ q(0110),
+ q(0),
+ ],
+ q(rongorongo) => [
+ q(0113),
+ q(0),
+ ],
+ q(runic) => [
+ q(0114),
+ q(0),
+ ],
+ q(samaritan) => [
+ q(0115),
+ q(0),
+ ],
+ q(sarati) => [
+ q(0116),
+ q(0),
+ ],
+ q(saurashtra) => [
+ q(0118),
+ q(0),
+ ],
+ q(sharada, sarada) => [
+ q(0121),
+ q(0),
+ ],
+ q(shavian (shaw)) => [
+ q(0120),
+ q(0),
+ ],
+ q(signwriting) => [
+ q(0119),
+ q(0),
+ ],
+ q(sinhala) => [
+ q(0123),
+ q(0),
+ ],
+ q(sora sompeng) => [
+ q(0124),
+ q(0),
+ ],
+ q(sundanese) => [
+ q(0125),
+ q(0),
+ ],
+ q(syloti nagri) => [
+ q(0126),
+ q(0),
+ ],
+ q(symbols) => [
+ q(0155),
+ q(0),
+ ],
+ q(syriac) => [
+ q(0127),
+ q(0),
+ ],
+ q(syriac (eastern variant)) => [
+ q(0130),
+ q(0),
+ ],
+ q(syriac (estrangelo variant)) => [
+ q(0128),
+ q(0),
+ ],
+ q(syriac (western variant)) => [
+ q(0129),
+ q(0),
+ ],
+ q(tagalog (baybayin, alibata)) => [
+ q(0141),
+ q(0),
+ ],
+ q(tagbanwa) => [
+ q(0131),
+ q(0),
+ ],
+ q(tai le) => [
+ q(0133),
+ q(0),
+ ],
+ q(tai tham (lanna)) => [
+ q(0066),
+ q(0),
+ ],
+ q(tai viet) => [
+ q(0137),
+ q(0),
+ ],
+ q(takri, takri, tankri) => [
+ q(0132),
+ q(0),
+ ],
+ q(tamil) => [
+ q(0135),
+ q(0),
+ ],
+ q(tangut) => [
+ q(0136),
+ q(0),
+ ],
+ q(telugu) => [
+ q(0138),
+ q(0),
+ ],
+ q(tengwar) => [
+ q(0139),
+ q(0),
+ ],
+ q(thaana) => [
+ q(0142),
+ q(0),
+ ],
+ q(thai) => [
+ q(0143),
+ q(0),
+ ],
+ q(tibetan) => [
+ q(0144),
+ q(0),
+ ],
+ q(tifinagh (berber)) => [
+ q(0140),
+ q(0),
+ ],
+ q(ugaritic) => [
+ q(0145),
+ q(0),
+ ],
+ q(unified canadian aboriginal syllabics) => [
+ q(0018),
+ q(0),
+ ],
+ q(vai) => [
+ q(0146),
+ q(0),
+ ],
+ q(visible speech) => [
+ q(0147),
+ q(0),
+ ],
+ q(warang citi (varang kshiti)) => [
+ q(0148),
+ q(0),
+ ],
+ q(woleai) => [
+ q(0149),
+ q(0),
+ ],
+ q(yi) => [
+ q(0152),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'script'}{'code2id'} = {
+ q(alpha) => {
+ q(Afak) => [
+ q(0001),
+ q(0),
+ ],
+ q(Arab) => [
+ q(0002),
+ q(0),
+ ],
+ q(Armi) => [
+ q(0003),
+ q(0),
+ ],
+ q(Armn) => [
+ q(0004),
+ q(0),
+ ],
+ q(Avst) => [
+ q(0005),
+ q(0),
+ ],
+ q(Bali) => [
+ q(0006),
+ q(0),
+ ],
+ q(Bamu) => [
+ q(0007),
+ q(0),
+ ],
+ q(Bass) => [
+ q(0008),
+ q(0),
+ ],
+ q(Batk) => [
+ q(0009),
+ q(0),
+ ],
+ q(Beng) => [
+ q(0010),
+ q(0),
+ ],
+ q(Blis) => [
+ q(0011),
+ q(0),
+ ],
+ q(Bopo) => [
+ q(0012),
+ q(0),
+ ],
+ q(Brah) => [
+ q(0013),
+ q(0),
+ ],
+ q(Brai) => [
+ q(0014),
+ q(0),
+ ],
+ q(Bugi) => [
+ q(0015),
+ q(0),
+ ],
+ q(Buhd) => [
+ q(0016),
+ q(0),
+ ],
+ q(Cakm) => [
+ q(0017),
+ q(0),
+ ],
+ q(Cans) => [
+ q(0018),
+ q(0),
+ ],
+ q(Cari) => [
+ q(0019),
+ q(0),
+ ],
+ q(Cham) => [
+ q(0020),
+ q(0),
+ ],
+ q(Cher) => [
+ q(0021),
+ q(0),
+ ],
+ q(Cirt) => [
+ q(0022),
+ q(0),
+ ],
+ q(Copt) => [
+ q(0023),
+ q(0),
+ ],
+ q(Cprt) => [
+ q(0024),
+ q(0),
+ ],
+ q(Cyrl) => [
+ q(0025),
+ q(0),
+ ],
+ q(Cyrs) => [
+ q(0026),
+ q(0),
+ ],
+ q(Deva) => [
+ q(0027),
+ q(0),
+ ],
+ q(Dsrt) => [
+ q(0028),
+ q(0),
+ ],
+ q(Dupl) => [
+ q(0029),
+ q(0),
+ ],
+ q(Egyd) => [
+ q(0030),
+ q(0),
+ ],
+ q(Egyh) => [
+ q(0031),
+ q(0),
+ ],
+ q(Egyp) => [
+ q(0032),
+ q(0),
+ ],
+ q(Elba) => [
+ q(0033),
+ q(0),
+ ],
+ q(Ethi) => [
+ q(0034),
+ q(0),
+ ],
+ q(Geok) => [
+ q(0036),
+ q(0),
+ ],
+ q(Geor) => [
+ q(0035),
+ q(0),
+ ],
+ q(Glag) => [
+ q(0037),
+ q(0),
+ ],
+ q(Goth) => [
+ q(0038),
+ q(0),
+ ],
+ q(Gran) => [
+ q(0039),
+ q(0),
+ ],
+ q(Grek) => [
+ q(0040),
+ q(0),
+ ],
+ q(Gujr) => [
+ q(0041),
+ q(0),
+ ],
+ q(Guru) => [
+ q(0042),
+ q(0),
+ ],
+ q(Hang) => [
+ q(0043),
+ q(0),
+ ],
+ q(Hani) => [
+ q(0044),
+ q(0),
+ ],
+ q(Hano) => [
+ q(0045),
+ q(0),
+ ],
+ q(Hans) => [
+ q(0046),
+ q(0),
+ ],
+ q(Hant) => [
+ q(0047),
+ q(0),
+ ],
+ q(Hebr) => [
+ q(0048),
+ q(0),
+ ],
+ q(Hira) => [
+ q(0049),
+ q(0),
+ ],
+ q(Hmng) => [
+ q(0050),
+ q(0),
+ ],
+ q(Hrkt) => [
+ q(0051),
+ q(0),
+ ],
+ q(Hung) => [
+ q(0052),
+ q(0),
+ ],
+ q(Inds) => [
+ q(0053),
+ q(0),
+ ],
+ q(Ital) => [
+ q(0054),
+ q(0),
+ ],
+ q(Java) => [
+ q(0055),
+ q(0),
+ ],
+ q(Jpan) => [
+ q(0056),
+ q(0),
+ ],
+ q(Jurc) => [
+ q(0057),
+ q(0),
+ ],
+ q(Kali) => [
+ q(0058),
+ q(0),
+ ],
+ q(Kana) => [
+ q(0059),
+ q(0),
+ ],
+ q(Khar) => [
+ q(0060),
+ q(0),
+ ],
+ q(Khmr) => [
+ q(0061),
+ q(0),
+ ],
+ q(Knda) => [
+ q(0062),
+ q(0),
+ ],
+ q(Kore) => [
+ q(0063),
+ q(0),
+ ],
+ q(Kpel) => [
+ q(0064),
+ q(0),
+ ],
+ q(Kthi) => [
+ q(0065),
+ q(0),
+ ],
+ q(Lana) => [
+ q(0066),
+ q(0),
+ ],
+ q(Laoo) => [
+ q(0067),
+ q(0),
+ ],
+ q(Latf) => [
+ q(0068),
+ q(0),
+ ],
+ q(Latg) => [
+ q(0069),
+ q(0),
+ ],
+ q(Latn) => [
+ q(0070),
+ q(0),
+ ],
+ q(Lepc) => [
+ q(0071),
+ q(0),
+ ],
+ q(Limb) => [
+ q(0072),
+ q(0),
+ ],
+ q(Lina) => [
+ q(0073),
+ q(0),
+ ],
+ q(Linb) => [
+ q(0074),
+ q(0),
+ ],
+ q(Lisu) => [
+ q(0075),
+ q(0),
+ ],
+ q(Loma) => [
+ q(0076),
+ q(0),
+ ],
+ q(Lyci) => [
+ q(0077),
+ q(0),
+ ],
+ q(Lydi) => [
+ q(0078),
+ q(0),
+ ],
+ q(Mand) => [
+ q(0079),
+ q(0),
+ ],
+ q(Mani) => [
+ q(0080),
+ q(0),
+ ],
+ q(Maya) => [
+ q(0081),
+ q(0),
+ ],
+ q(Mend) => [
+ q(0082),
+ q(0),
+ ],
+ q(Merc) => [
+ q(0083),
+ q(0),
+ ],
+ q(Mero) => [
+ q(0084),
+ q(0),
+ ],
+ q(Mlym) => [
+ q(0085),
+ q(0),
+ ],
+ q(Mong) => [
+ q(0087),
+ q(0),
+ ],
+ q(Moon) => [
+ q(0086),
+ q(0),
+ ],
+ q(Mroo) => [
+ q(0088),
+ q(0),
+ ],
+ q(Mtei) => [
+ q(0089),
+ q(0),
+ ],
+ q(Mymr) => [
+ q(0090),
+ q(0),
+ ],
+ q(Narb) => [
+ q(0091),
+ q(0),
+ ],
+ q(Nbat) => [
+ q(0092),
+ q(0),
+ ],
+ q(Nkgb) => [
+ q(0093),
+ q(0),
+ ],
+ q(Nkoo) => [
+ q(0094),
+ q(0),
+ ],
+ q(Nshu) => [
+ q(0095),
+ q(0),
+ ],
+ q(Ogam) => [
+ q(0096),
+ q(0),
+ ],
+ q(Olck) => [
+ q(0097),
+ q(0),
+ ],
+ q(Orkh) => [
+ q(0098),
+ q(0),
+ ],
+ q(Orya) => [
+ q(0099),
+ q(0),
+ ],
+ q(Osma) => [
+ q(0100),
+ q(0),
+ ],
+ q(Palm) => [
+ q(0101),
+ q(0),
+ ],
+ q(Perm) => [
+ q(0102),
+ q(0),
+ ],
+ q(Phag) => [
+ q(0103),
+ q(0),
+ ],
+ q(Phli) => [
+ q(0104),
+ q(0),
+ ],
+ q(Phlp) => [
+ q(0105),
+ q(0),
+ ],
+ q(Phlv) => [
+ q(0106),
+ q(0),
+ ],
+ q(Phnx) => [
+ q(0107),
+ q(0),
+ ],
+ q(Plrd) => [
+ q(0108),
+ q(0),
+ ],
+ q(Prti) => [
+ q(0109),
+ q(0),
+ ],
+ q(Qaaa) => [
+ q(0110),
+ q(0),
+ ],
+ q(Qabx) => [
+ q(0111),
+ q(0),
+ ],
+ q(Rjng) => [
+ q(0112),
+ q(0),
+ ],
+ q(Roro) => [
+ q(0113),
+ q(0),
+ ],
+ q(Runr) => [
+ q(0114),
+ q(0),
+ ],
+ q(Samr) => [
+ q(0115),
+ q(0),
+ ],
+ q(Sara) => [
+ q(0116),
+ q(0),
+ ],
+ q(Sarb) => [
+ q(0117),
+ q(0),
+ ],
+ q(Saur) => [
+ q(0118),
+ q(0),
+ ],
+ q(Sgnw) => [
+ q(0119),
+ q(0),
+ ],
+ q(Shaw) => [
+ q(0120),
+ q(0),
+ ],
+ q(Shrd) => [
+ q(0121),
+ q(0),
+ ],
+ q(Sind) => [
+ q(0122),
+ q(0),
+ ],
+ q(Sinh) => [
+ q(0123),
+ q(0),
+ ],
+ q(Sora) => [
+ q(0124),
+ q(0),
+ ],
+ q(Sund) => [
+ q(0125),
+ q(0),
+ ],
+ q(Sylo) => [
+ q(0126),
+ q(0),
+ ],
+ q(Syrc) => [
+ q(0127),
+ q(0),
+ ],
+ q(Syre) => [
+ q(0128),
+ q(0),
+ ],
+ q(Syrj) => [
+ q(0129),
+ q(0),
+ ],
+ q(Syrn) => [
+ q(0130),
+ q(0),
+ ],
+ q(Tagb) => [
+ q(0131),
+ q(0),
+ ],
+ q(Takr) => [
+ q(0132),
+ q(0),
+ ],
+ q(Tale) => [
+ q(0133),
+ q(0),
+ ],
+ q(Talu) => [
+ q(0134),
+ q(0),
+ ],
+ q(Taml) => [
+ q(0135),
+ q(0),
+ ],
+ q(Tang) => [
+ q(0136),
+ q(0),
+ ],
+ q(Tavt) => [
+ q(0137),
+ q(0),
+ ],
+ q(Telu) => [
+ q(0138),
+ q(0),
+ ],
+ q(Teng) => [
+ q(0139),
+ q(0),
+ ],
+ q(Tfng) => [
+ q(0140),
+ q(0),
+ ],
+ q(Tglg) => [
+ q(0141),
+ q(0),
+ ],
+ q(Thaa) => [
+ q(0142),
+ q(0),
+ ],
+ q(Thai) => [
+ q(0143),
+ q(0),
+ ],
+ q(Tibt) => [
+ q(0144),
+ q(0),
+ ],
+ q(Ugar) => [
+ q(0145),
+ q(0),
+ ],
+ q(Vaii) => [
+ q(0146),
+ q(0),
+ ],
+ q(Visp) => [
+ q(0147),
+ q(0),
+ ],
+ q(Wara) => [
+ q(0148),
+ q(0),
+ ],
+ q(Wole) => [
+ q(0149),
+ q(0),
+ ],
+ q(Xpeo) => [
+ q(0150),
+ q(0),
+ ],
+ q(Xsux) => [
+ q(0151),
+ q(0),
+ ],
+ q(Yiii) => [
+ q(0152),
+ q(0),
+ ],
+ q(Zinh) => [
+ q(0153),
+ q(0),
+ ],
+ q(Zmth) => [
+ q(0154),
+ q(0),
+ ],
+ q(Zsym) => [
+ q(0155),
+ q(0),
+ ],
+ },
+ q(num) => {
+ q(020) => [
+ q(0151),
+ q(0),
+ ],
+ q(030) => [
+ q(0150),
+ q(0),
+ ],
+ q(040) => [
+ q(0145),
+ q(0),
+ ],
+ q(050) => [
+ q(0032),
+ q(0),
+ ],
+ q(060) => [
+ q(0031),
+ q(0),
+ ],
+ q(070) => [
+ q(0030),
+ q(0),
+ ],
+ q(090) => [
+ q(0081),
+ q(0),
+ ],
+ q(095) => [
+ q(0119),
+ q(0),
+ ],
+ q(100) => [
+ q(0084),
+ q(0),
+ ],
+ q(101) => [
+ q(0083),
+ q(0),
+ ],
+ q(105) => [
+ q(0117),
+ q(0),
+ ],
+ q(106) => [
+ q(0091),
+ q(0),
+ ],
+ q(115) => [
+ q(0107),
+ q(0),
+ ],
+ q(116) => [
+ q(0078),
+ q(0),
+ ],
+ q(120) => [
+ q(0140),
+ q(0),
+ ],
+ q(123) => [
+ q(0115),
+ q(0),
+ ],
+ q(124) => [
+ q(0003),
+ q(0),
+ ],
+ q(125) => [
+ q(0048),
+ q(0),
+ ],
+ q(126) => [
+ q(0101),
+ q(0),
+ ],
+ q(130) => [
+ q(0109),
+ q(0),
+ ],
+ q(131) => [
+ q(0104),
+ q(0),
+ ],
+ q(132) => [
+ q(0105),
+ q(0),
+ ],
+ q(133) => [
+ q(0106),
+ q(0),
+ ],
+ q(134) => [
+ q(0005),
+ q(0),
+ ],
+ q(135) => [
+ q(0127),
+ q(0),
+ ],
+ q(136) => [
+ q(0130),
+ q(0),
+ ],
+ q(137) => [
+ q(0129),
+ q(0),
+ ],
+ q(138) => [
+ q(0128),
+ q(0),
+ ],
+ q(139) => [
+ q(0080),
+ q(0),
+ ],
+ q(140) => [
+ q(0079),
+ q(0),
+ ],
+ q(145) => [
+ q(0087),
+ q(0),
+ ],
+ q(159) => [
+ q(0092),
+ q(0),
+ ],
+ q(160) => [
+ q(0002),
+ q(0),
+ ],
+ q(165) => [
+ q(0094),
+ q(0),
+ ],
+ q(170) => [
+ q(0142),
+ q(0),
+ ],
+ q(175) => [
+ q(0098),
+ q(0),
+ ],
+ q(176) => [
+ q(0052),
+ q(0),
+ ],
+ q(199) => [
+ q(0088),
+ q(0),
+ ],
+ q(200) => [
+ q(0040),
+ q(0),
+ ],
+ q(201) => [
+ q(0019),
+ q(0),
+ ],
+ q(202) => [
+ q(0077),
+ q(0),
+ ],
+ q(204) => [
+ q(0023),
+ q(0),
+ ],
+ q(206) => [
+ q(0038),
+ q(0),
+ ],
+ q(210) => [
+ q(0054),
+ q(0),
+ ],
+ q(211) => [
+ q(0114),
+ q(0),
+ ],
+ q(212) => [
+ q(0096),
+ q(0),
+ ],
+ q(215) => [
+ q(0070),
+ q(0),
+ ],
+ q(216) => [
+ q(0069),
+ q(0),
+ ],
+ q(217) => [
+ q(0068),
+ q(0),
+ ],
+ q(218) => [
+ q(0086),
+ q(0),
+ ],
+ q(220) => [
+ q(0025),
+ q(0),
+ ],
+ q(221) => [
+ q(0026),
+ q(0),
+ ],
+ q(225) => [
+ q(0037),
+ q(0),
+ ],
+ q(226) => [
+ q(0033),
+ q(0),
+ ],
+ q(227) => [
+ q(0102),
+ q(0),
+ ],
+ q(230) => [
+ q(0004),
+ q(0),
+ ],
+ q(240) => [
+ q(0035),
+ q(0),
+ ],
+ q(241) => [
+ q(0036),
+ q(0),
+ ],
+ q(250) => [
+ q(0028),
+ q(0),
+ ],
+ q(259) => [
+ q(0008),
+ q(0),
+ ],
+ q(260) => [
+ q(0100),
+ q(0),
+ ],
+ q(261) => [
+ q(0097),
+ q(0),
+ ],
+ q(262) => [
+ q(0148),
+ q(0),
+ ],
+ q(280) => [
+ q(0147),
+ q(0),
+ ],
+ q(281) => [
+ q(0120),
+ q(0),
+ ],
+ q(282) => [
+ q(0108),
+ q(0),
+ ],
+ q(285) => [
+ q(0012),
+ q(0),
+ ],
+ q(286) => [
+ q(0043),
+ q(0),
+ ],
+ q(287) => [
+ q(0063),
+ q(0),
+ ],
+ q(290) => [
+ q(0139),
+ q(0),
+ ],
+ q(291) => [
+ q(0022),
+ q(0),
+ ],
+ q(292) => [
+ q(0116),
+ q(0),
+ ],
+ q(300) => [
+ q(0013),
+ q(0),
+ ],
+ q(305) => [
+ q(0060),
+ q(0),
+ ],
+ q(310) => [
+ q(0042),
+ q(0),
+ ],
+ q(315) => [
+ q(0027),
+ q(0),
+ ],
+ q(316) => [
+ q(0126),
+ q(0),
+ ],
+ q(317) => [
+ q(0065),
+ q(0),
+ ],
+ q(318) => [
+ q(0122),
+ q(0),
+ ],
+ q(319) => [
+ q(0121),
+ q(0),
+ ],
+ q(320) => [
+ q(0041),
+ q(0),
+ ],
+ q(321) => [
+ q(0132),
+ q(0),
+ ],
+ q(325) => [
+ q(0010),
+ q(0),
+ ],
+ q(327) => [
+ q(0099),
+ q(0),
+ ],
+ q(330) => [
+ q(0144),
+ q(0),
+ ],
+ q(331) => [
+ q(0103),
+ q(0),
+ ],
+ q(335) => [
+ q(0071),
+ q(0),
+ ],
+ q(336) => [
+ q(0072),
+ q(0),
+ ],
+ q(337) => [
+ q(0089),
+ q(0),
+ ],
+ q(340) => [
+ q(0138),
+ q(0),
+ ],
+ q(343) => [
+ q(0039),
+ q(0),
+ ],
+ q(344) => [
+ q(0118),
+ q(0),
+ ],
+ q(345) => [
+ q(0062),
+ q(0),
+ ],
+ q(346) => [
+ q(0135),
+ q(0),
+ ],
+ q(347) => [
+ q(0085),
+ q(0),
+ ],
+ q(348) => [
+ q(0123),
+ q(0),
+ ],
+ q(349) => [
+ q(0017),
+ q(0),
+ ],
+ q(350) => [
+ q(0090),
+ q(0),
+ ],
+ q(351) => [
+ q(0066),
+ q(0),
+ ],
+ q(352) => [
+ q(0143),
+ q(0),
+ ],
+ q(353) => [
+ q(0133),
+ q(0),
+ ],
+ q(354) => [
+ q(0134),
+ q(0),
+ ],
+ q(355) => [
+ q(0061),
+ q(0),
+ ],
+ q(356) => [
+ q(0067),
+ q(0),
+ ],
+ q(357) => [
+ q(0058),
+ q(0),
+ ],
+ q(358) => [
+ q(0020),
+ q(0),
+ ],
+ q(359) => [
+ q(0137),
+ q(0),
+ ],
+ q(360) => [
+ q(0006),
+ q(0),
+ ],
+ q(361) => [
+ q(0055),
+ q(0),
+ ],
+ q(362) => [
+ q(0125),
+ q(0),
+ ],
+ q(363) => [
+ q(0112),
+ q(0),
+ ],
+ q(365) => [
+ q(0009),
+ q(0),
+ ],
+ q(367) => [
+ q(0015),
+ q(0),
+ ],
+ q(370) => [
+ q(0141),
+ q(0),
+ ],
+ q(371) => [
+ q(0045),
+ q(0),
+ ],
+ q(372) => [
+ q(0016),
+ q(0),
+ ],
+ q(373) => [
+ q(0131),
+ q(0),
+ ],
+ q(398) => [
+ q(0124),
+ q(0),
+ ],
+ q(399) => [
+ q(0075),
+ q(0),
+ ],
+ q(400) => [
+ q(0073),
+ q(0),
+ ],
+ q(401) => [
+ q(0074),
+ q(0),
+ ],
+ q(403) => [
+ q(0024),
+ q(0),
+ ],
+ q(410) => [
+ q(0049),
+ q(0),
+ ],
+ q(411) => [
+ q(0059),
+ q(0),
+ ],
+ q(412) => [
+ q(0051),
+ q(0),
+ ],
+ q(413) => [
+ q(0056),
+ q(0),
+ ],
+ q(420) => [
+ q(0093),
+ q(0),
+ ],
+ q(430) => [
+ q(0034),
+ q(0),
+ ],
+ q(435) => [
+ q(0007),
+ q(0),
+ ],
+ q(436) => [
+ q(0064),
+ q(0),
+ ],
+ q(437) => [
+ q(0076),
+ q(0),
+ ],
+ q(438) => [
+ q(0082),
+ q(0),
+ ],
+ q(439) => [
+ q(0001),
+ q(0),
+ ],
+ q(440) => [
+ q(0018),
+ q(0),
+ ],
+ q(445) => [
+ q(0021),
+ q(0),
+ ],
+ q(450) => [
+ q(0050),
+ q(0),
+ ],
+ q(460) => [
+ q(0152),
+ q(0),
+ ],
+ q(470) => [
+ q(0146),
+ q(0),
+ ],
+ q(480) => [
+ q(0149),
+ q(0),
+ ],
+ q(499) => [
+ q(0095),
+ q(0),
+ ],
+ q(500) => [
+ q(0044),
+ q(0),
+ ],
+ q(501) => [
+ q(0046),
+ q(0),
+ ],
+ q(502) => [
+ q(0047),
+ q(0),
+ ],
+ q(510) => [
+ q(0057),
+ q(0),
+ ],
+ q(520) => [
+ q(0136),
+ q(0),
+ ],
+ q(550) => [
+ q(0011),
+ q(0),
+ ],
+ q(570) => [
+ q(0014),
+ q(0),
+ ],
+ q(610) => [
+ q(0053),
+ q(0),
+ ],
+ q(620) => [
+ q(0113),
+ q(0),
+ ],
+ q(755) => [
+ q(0029),
+ q(0),
+ ],
+ q(900) => [
+ q(0110),
+ q(0),
+ ],
+ q(949) => [
+ q(0111),
+ q(0),
+ ],
+ q(994) => [
+ q(0153),
+ q(0),
+ ],
+ q(995) => [
+ q(0154),
+ q(0),
+ ],
+ q(996) => [
+ q(0155),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'script'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(Afak),
+ q(0002) => q(Arab),
+ q(0003) => q(Armi),
+ q(0004) => q(Armn),
+ q(0005) => q(Avst),
+ q(0006) => q(Bali),
+ q(0007) => q(Bamu),
+ q(0008) => q(Bass),
+ q(0009) => q(Batk),
+ q(0010) => q(Beng),
+ q(0011) => q(Blis),
+ q(0012) => q(Bopo),
+ q(0013) => q(Brah),
+ q(0014) => q(Brai),
+ q(0015) => q(Bugi),
+ q(0016) => q(Buhd),
+ q(0017) => q(Cakm),
+ q(0018) => q(Cans),
+ q(0019) => q(Cari),
+ q(0020) => q(Cham),
+ q(0021) => q(Cher),
+ q(0022) => q(Cirt),
+ q(0023) => q(Copt),
+ q(0024) => q(Cprt),
+ q(0025) => q(Cyrl),
+ q(0026) => q(Cyrs),
+ q(0027) => q(Deva),
+ q(0028) => q(Dsrt),
+ q(0029) => q(Dupl),
+ q(0030) => q(Egyd),
+ q(0031) => q(Egyh),
+ q(0032) => q(Egyp),
+ q(0033) => q(Elba),
+ q(0034) => q(Ethi),
+ q(0035) => q(Geor),
+ q(0036) => q(Geok),
+ q(0037) => q(Glag),
+ q(0038) => q(Goth),
+ q(0039) => q(Gran),
+ q(0040) => q(Grek),
+ q(0041) => q(Gujr),
+ q(0042) => q(Guru),
+ q(0043) => q(Hang),
+ q(0044) => q(Hani),
+ q(0045) => q(Hano),
+ q(0046) => q(Hans),
+ q(0047) => q(Hant),
+ q(0048) => q(Hebr),
+ q(0049) => q(Hira),
+ q(0050) => q(Hmng),
+ q(0051) => q(Hrkt),
+ q(0052) => q(Hung),
+ q(0053) => q(Inds),
+ q(0054) => q(Ital),
+ q(0055) => q(Java),
+ q(0056) => q(Jpan),
+ q(0057) => q(Jurc),
+ q(0058) => q(Kali),
+ q(0059) => q(Kana),
+ q(0060) => q(Khar),
+ q(0061) => q(Khmr),
+ q(0062) => q(Knda),
+ q(0063) => q(Kore),
+ q(0064) => q(Kpel),
+ q(0065) => q(Kthi),
+ q(0066) => q(Lana),
+ q(0067) => q(Laoo),
+ q(0068) => q(Latf),
+ q(0069) => q(Latg),
+ q(0070) => q(Latn),
+ q(0071) => q(Lepc),
+ q(0072) => q(Limb),
+ q(0073) => q(Lina),
+ q(0074) => q(Linb),
+ q(0075) => q(Lisu),
+ q(0076) => q(Loma),
+ q(0077) => q(Lyci),
+ q(0078) => q(Lydi),
+ q(0079) => q(Mand),
+ q(0080) => q(Mani),
+ q(0081) => q(Maya),
+ q(0082) => q(Mend),
+ q(0083) => q(Merc),
+ q(0084) => q(Mero),
+ q(0085) => q(Mlym),
+ q(0086) => q(Moon),
+ q(0087) => q(Mong),
+ q(0088) => q(Mroo),
+ q(0089) => q(Mtei),
+ q(0090) => q(Mymr),
+ q(0091) => q(Narb),
+ q(0092) => q(Nbat),
+ q(0093) => q(Nkgb),
+ q(0094) => q(Nkoo),
+ q(0095) => q(Nshu),
+ q(0096) => q(Ogam),
+ q(0097) => q(Olck),
+ q(0098) => q(Orkh),
+ q(0099) => q(Orya),
+ q(0100) => q(Osma),
+ q(0101) => q(Palm),
+ q(0102) => q(Perm),
+ q(0103) => q(Phag),
+ q(0104) => q(Phli),
+ q(0105) => q(Phlp),
+ q(0106) => q(Phlv),
+ q(0107) => q(Phnx),
+ q(0108) => q(Plrd),
+ q(0109) => q(Prti),
+ q(0110) => q(Qaaa),
+ q(0111) => q(Qabx),
+ q(0112) => q(Rjng),
+ q(0113) => q(Roro),
+ q(0114) => q(Runr),
+ q(0115) => q(Samr),
+ q(0116) => q(Sara),
+ q(0117) => q(Sarb),
+ q(0118) => q(Saur),
+ q(0119) => q(Sgnw),
+ q(0120) => q(Shaw),
+ q(0121) => q(Shrd),
+ q(0122) => q(Sind),
+ q(0123) => q(Sinh),
+ q(0124) => q(Sora),
+ q(0125) => q(Sund),
+ q(0126) => q(Sylo),
+ q(0127) => q(Syrc),
+ q(0128) => q(Syre),
+ q(0129) => q(Syrj),
+ q(0130) => q(Syrn),
+ q(0131) => q(Tagb),
+ q(0132) => q(Takr),
+ q(0133) => q(Tale),
+ q(0134) => q(Talu),
+ q(0135) => q(Taml),
+ q(0136) => q(Tang),
+ q(0137) => q(Tavt),
+ q(0138) => q(Telu),
+ q(0139) => q(Teng),
+ q(0140) => q(Tfng),
+ q(0141) => q(Tglg),
+ q(0142) => q(Thaa),
+ q(0143) => q(Thai),
+ q(0144) => q(Tibt),
+ q(0145) => q(Ugar),
+ q(0146) => q(Vaii),
+ q(0147) => q(Visp),
+ q(0148) => q(Wara),
+ q(0149) => q(Wole),
+ q(0150) => q(Xpeo),
+ q(0151) => q(Xsux),
+ q(0152) => q(Yiii),
+ q(0153) => q(Zinh),
+ q(0154) => q(Zmth),
+ q(0155) => q(Zsym),
+ },
+ q(num) => {
+ q(0001) => q(439),
+ q(0002) => q(160),
+ q(0003) => q(124),
+ q(0004) => q(230),
+ q(0005) => q(134),
+ q(0006) => q(360),
+ q(0007) => q(435),
+ q(0008) => q(259),
+ q(0009) => q(365),
+ q(0010) => q(325),
+ q(0011) => q(550),
+ q(0012) => q(285),
+ q(0013) => q(300),
+ q(0014) => q(570),
+ q(0015) => q(367),
+ q(0016) => q(372),
+ q(0017) => q(349),
+ q(0018) => q(440),
+ q(0019) => q(201),
+ q(0020) => q(358),
+ q(0021) => q(445),
+ q(0022) => q(291),
+ q(0023) => q(204),
+ q(0024) => q(403),
+ q(0025) => q(220),
+ q(0026) => q(221),
+ q(0027) => q(315),
+ q(0028) => q(250),
+ q(0029) => q(755),
+ q(0030) => q(070),
+ q(0031) => q(060),
+ q(0032) => q(050),
+ q(0033) => q(226),
+ q(0034) => q(430),
+ q(0035) => q(240),
+ q(0036) => q(241),
+ q(0037) => q(225),
+ q(0038) => q(206),
+ q(0039) => q(343),
+ q(0040) => q(200),
+ q(0041) => q(320),
+ q(0042) => q(310),
+ q(0043) => q(286),
+ q(0044) => q(500),
+ q(0045) => q(371),
+ q(0046) => q(501),
+ q(0047) => q(502),
+ q(0048) => q(125),
+ q(0049) => q(410),
+ q(0050) => q(450),
+ q(0051) => q(412),
+ q(0052) => q(176),
+ q(0053) => q(610),
+ q(0054) => q(210),
+ q(0055) => q(361),
+ q(0056) => q(413),
+ q(0057) => q(510),
+ q(0058) => q(357),
+ q(0059) => q(411),
+ q(0060) => q(305),
+ q(0061) => q(355),
+ q(0062) => q(345),
+ q(0063) => q(287),
+ q(0064) => q(436),
+ q(0065) => q(317),
+ q(0066) => q(351),
+ q(0067) => q(356),
+ q(0068) => q(217),
+ q(0069) => q(216),
+ q(0070) => q(215),
+ q(0071) => q(335),
+ q(0072) => q(336),
+ q(0073) => q(400),
+ q(0074) => q(401),
+ q(0075) => q(399),
+ q(0076) => q(437),
+ q(0077) => q(202),
+ q(0078) => q(116),
+ q(0079) => q(140),
+ q(0080) => q(139),
+ q(0081) => q(090),
+ q(0082) => q(438),
+ q(0083) => q(101),
+ q(0084) => q(100),
+ q(0085) => q(347),
+ q(0086) => q(218),
+ q(0087) => q(145),
+ q(0088) => q(199),
+ q(0089) => q(337),
+ q(0090) => q(350),
+ q(0091) => q(106),
+ q(0092) => q(159),
+ q(0093) => q(420),
+ q(0094) => q(165),
+ q(0095) => q(499),
+ q(0096) => q(212),
+ q(0097) => q(261),
+ q(0098) => q(175),
+ q(0099) => q(327),
+ q(0100) => q(260),
+ q(0101) => q(126),
+ q(0102) => q(227),
+ q(0103) => q(331),
+ q(0104) => q(131),
+ q(0105) => q(132),
+ q(0106) => q(133),
+ q(0107) => q(115),
+ q(0108) => q(282),
+ q(0109) => q(130),
+ q(0110) => q(900),
+ q(0111) => q(949),
+ q(0112) => q(363),
+ q(0113) => q(620),
+ q(0114) => q(211),
+ q(0115) => q(123),
+ q(0116) => q(292),
+ q(0117) => q(105),
+ q(0118) => q(344),
+ q(0119) => q(095),
+ q(0120) => q(281),
+ q(0121) => q(319),
+ q(0122) => q(318),
+ q(0123) => q(348),
+ q(0124) => q(398),
+ q(0125) => q(362),
+ q(0126) => q(316),
+ q(0127) => q(135),
+ q(0128) => q(138),
+ q(0129) => q(137),
+ q(0130) => q(136),
+ q(0131) => q(373),
+ q(0132) => q(321),
+ q(0133) => q(353),
+ q(0134) => q(354),
+ q(0135) => q(346),
+ q(0136) => q(520),
+ q(0137) => q(359),
+ q(0138) => q(340),
+ q(0139) => q(290),
+ q(0140) => q(120),
+ q(0141) => q(370),
+ q(0142) => q(170),
+ q(0143) => q(352),
+ q(0144) => q(330),
+ q(0145) => q(040),
+ q(0146) => q(470),
+ q(0147) => q(280),
+ q(0148) => q(262),
+ q(0149) => q(480),
+ q(0150) => q(030),
+ q(0151) => q(020),
+ q(0152) => q(460),
+ q(0153) => q(994),
+ q(0154) => q(995),
+ q(0155) => q(996),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Constants.pm b/Master/tlpkg/tlperl/lib/Locale/Constants.pm
index d8ef8f7e21a..56cefe3dec5 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Constants.pm
@@ -1,31 +1,80 @@
-#
-# Locale::Constants - defined constants for identifying codesets
-#
-# $Id: Constants.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $
-#
-
package Locale::Constants;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2011 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
use strict;
+use warnings;
require Exporter;
#-----------------------------------------------------------------------
# Public Global Variables
#-----------------------------------------------------------------------
-use vars qw($VERSION @ISA @EXPORT);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\d+)\.(\d+)/);
-@ISA = qw(Exporter);
-@EXPORT = qw(LOCALE_CODE_ALPHA_2 LOCALE_CODE_ALPHA_3 LOCALE_CODE_NUMERIC
- LOCALE_CODE_DEFAULT);
+
+our($VERSION,@ISA,@EXPORT);
+
+$VERSION='3.16';
+@ISA = qw(Exporter);
+@EXPORT = qw(LOCALE_CODE_ALPHA_2
+ LOCALE_CODE_ALPHA_3
+ LOCALE_CODE_NUMERIC
+ LOCALE_CODE_FIPS
+ LOCALE_CODE_DOM
+ LOCALE_CODE_DEFAULT
+
+ LOCALE_LANG_ALPHA_2
+ LOCALE_LANG_ALPHA_3
+ LOCALE_LANG_TERM
+ LOCALE_LANG_DEFAULT
+
+ LOCALE_CURR_ALPHA
+ LOCALE_CURR_NUMERIC
+ LOCALE_CURR_DEFAULT
+
+ LOCALE_SCRIPT_ALPHA
+ LOCALE_SCRIPT_NUMERIC
+ LOCALE_SCRIPT_DEFAULT
+ );
#-----------------------------------------------------------------------
# Constants
#-----------------------------------------------------------------------
-use constant LOCALE_CODE_ALPHA_2 => 1;
-use constant LOCALE_CODE_ALPHA_3 => 2;
-use constant LOCALE_CODE_NUMERIC => 3;
-use constant LOCALE_CODE_DEFAULT => LOCALE_CODE_ALPHA_2;
+use constant LOCALE_CODE_ALPHA_2 => 1;
+use constant LOCALE_CODE_ALPHA_3 => 2;
+use constant LOCALE_CODE_NUMERIC => 3;
+use constant LOCALE_CODE_FIPS => 4;
+use constant LOCALE_CODE_DOM => 5;
-1;
+use constant LOCALE_CODE_DEFAULT => LOCALE_CODE_ALPHA_2;
+use constant LOCALE_LANG_ALPHA_2 => 1;
+use constant LOCALE_LANG_ALPHA_3 => 2;
+use constant LOCALE_LANG_TERM => 3;
+
+use constant LOCALE_LANG_DEFAULT => LOCALE_LANG_ALPHA_2;
+
+use constant LOCALE_CURR_ALPHA => 1;
+use constant LOCALE_CURR_NUMERIC => 2;
+
+use constant LOCALE_CURR_DEFAULT => LOCALE_CURR_ALPHA;
+
+use constant LOCALE_SCRIPT_ALPHA => 1;
+use constant LOCALE_SCRIPT_NUMERIC => 2;
+
+use constant LOCALE_SCRIPT_DEFAULT => LOCALE_SCRIPT_ALPHA;
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Constants.pod b/Master/tlpkg/tlperl/lib/Locale/Constants.pod
index ae42abbec97..53b4996a968 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Constants.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Constants.pod
@@ -1,73 +1,38 @@
+=pod
=head1 NAME
Locale::Constants - constants for Locale codes
-=head1 SYNOPSIS
-
- use Locale::Constants;
-
- $codeset = LOCALE_CODE_ALPHA_2;
-
=head1 DESCRIPTION
-B<Locale::Constants> defines symbols which are used in
-the four modules from the Locale-Codes distribution:
-
- Locale::Language
- Locale::Country
- Locale::Currency
- Locale::Script
-
-B<Note:> at the moment only Locale::Country and Locale::Script
-support more than one code set.
+B<Locale::Constants> defines symbols which are used in the other
+modules from the Locale-Codes distribution.
-The symbols defined are used to specify which codes you
-want to be used:
+You shouldn't have to C<use> this module directly yourself - it is
+used by the other Locale modules, which in turn export the symbols.
- LOCALE_CODE_ALPHA_2
- LOCALE_CODE_ALPHA_3
- LOCALE_CODE_NUMERIC
-
-You shouldn't have to C<use> this module directly yourself -
-it is used by the three Locale modules, which in turn export
-the symbols.
+The constants are documented in each of the Locale modules.
=head1 KNOWN BUGS AND LIMITATIONS
-None at the moment.
+None known.
=head1 SEE ALSO
-=over 4
-
-=item Locale::Language
-
-Codes for identification of languages.
-
-=item Locale::Country
-
-Codes for identification of countries.
-
-=item Locale::Script
-
-Codes for identification of scripts.
-
-=item Locale::Currency
-
-Codes for identification of currencies and funds.
-
-=back
+Locale::Codes
=head1 AUTHOR
-Neil Bowers E<lt>neil@bowers.comE<gt>
+See Locale::Codes for full author history.
-=head1 COPYRIGHT
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
-Copyright (C) 2002-2004, Neil Bowers.
+=head1 COPYRIGHT
-Copyright (C) 2001, Canon Research Centre Europe (CRE).
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Locale/Country.pm b/Master/tlpkg/tlperl/lib/Locale/Country.pm
index 2ecd1305c0d..85f33fc985d 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Country.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Country.pm
@@ -1,550 +1,310 @@
-#
-# Locale::Country - ISO codes for country identification (ISO 3166)
-#
-# $Id: Country.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $
-#
-
package Locale::Country;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2011 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
use strict;
+use warnings;
require 5.002;
require Exporter;
use Carp;
+use Locale::Codes;
use Locale::Constants;
+use Locale::Codes::Country;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-#-----------------------------------------------------------------------
-# Public Global Variables
-#-----------------------------------------------------------------------
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\d+)\.(\d+)/);
+$VERSION='3.16';
@ISA = qw(Exporter);
-@EXPORT = qw(code2country country2code
- all_country_codes all_country_names
- country_code2code
- LOCALE_CODE_ALPHA_2 LOCALE_CODE_ALPHA_3 LOCALE_CODE_NUMERIC);
+@EXPORT = qw(code2country
+ country2code
+ all_country_codes
+ all_country_names
+ country_code2code
+ LOCALE_CODE_ALPHA_2
+ LOCALE_CODE_ALPHA_3
+ LOCALE_CODE_NUMERIC
+ LOCALE_CODE_FIPS
+ LOCALE_CODE_DOM
+ );
+
+sub _code {
+ my($code,$codeset) = @_;
+ $code = "" if (! $code);
+
+ $codeset = LOCALE_CODE_DEFAULT if (! defined($codeset) || $codeset eq "");
+
+ if ($codeset =~ /^\d+$/) {
+ if ($codeset == LOCALE_CODE_ALPHA_2) {
+ $codeset = "alpha2";
+ } elsif ($codeset == LOCALE_CODE_ALPHA_3) {
+ $codeset = "alpha3";
+ } elsif ($codeset == LOCALE_CODE_NUMERIC) {
+ $codeset = "num";
+ } elsif ($codeset == LOCALE_CODE_FIPS) {
+ $codeset = "fips";
+ } elsif ($codeset == LOCALE_CODE_DOM) {
+ $codeset = "dom";
+ } else {
+ return (1);
+ }
+ }
+
+ if ($codeset eq "alpha2" ||
+ $codeset eq "alpha3") {
+ $code = lc($code);
+ } elsif ($codeset eq "num") {
+ if (defined($code) && $code ne "") {
+ return (1) unless ($code =~ /^\d+$/);
+ $code = sprintf("%.3d", $code);
+ }
+ } elsif ($codeset eq "fips" ||
+ $codeset eq "dom") {
+ $code = uc($code);
+ } else {
+ return (1);
+ }
+
+ return (0,$code,$codeset);
+}
-#-----------------------------------------------------------------------
-# Private Global Variables
-#-----------------------------------------------------------------------
-my $CODES = [];
-my $COUNTRIES = [];
+#=======================================================================
+#
+# code2country ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub code2country {
+ my($err,$code,$codeset) = _code(@_);
+ return undef if ($err ||
+ ! defined $code);
+ return Locale::Codes::_code2name("country",$code,$codeset);
+}
#=======================================================================
#
-# code2country ( CODE [, CODESET ] )
+# country2code ( COUNTRY [,CODESET] )
#
#=======================================================================
-sub code2country
-{
- my $code = shift;
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
-
-
- return undef unless defined $code;
-
- #-------------------------------------------------------------------
- # Make sure the code is in the right form before we use it
- # to look up the corresponding country.
- # We have to sprintf because the codes are given as 3-digits,
- # with leading 0's. Eg 052 for Barbados.
- #-------------------------------------------------------------------
- if ($codeset == LOCALE_CODE_NUMERIC)
- {
- return undef if ($code =~ /\D/);
- $code = sprintf("%.3d", $code);
- }
- else
- {
- $code = lc($code);
- }
-
- if (exists $CODES->[$codeset]->{$code})
- {
- return $CODES->[$codeset]->{$code};
- }
- else
- {
- #---------------------------------------------------------------
- # no such country code!
- #---------------------------------------------------------------
- return undef;
- }
-}
+sub country2code {
+ my($country,$codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err ||
+ ! defined $country);
+
+ return Locale::Codes::_name2code("country",$country,$codeset);
+}
#=======================================================================
#
-# country2code ( NAME [, CODESET ] )
+# country_code2code ( CODE,CODESET_IN,CODESET_OUT )
#
#=======================================================================
-sub country2code
-{
- my $country = shift;
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
-
-
- return undef unless defined $country;
- $country = lc($country);
- if (exists $COUNTRIES->[$codeset]->{$country})
- {
- return $COUNTRIES->[$codeset]->{$country};
- }
- else
- {
- #---------------------------------------------------------------
- # no such country!
- #---------------------------------------------------------------
- return undef;
- }
-}
+sub country_code2code {
+ (@_ == 3) or croak "country_code2code() takes 3 arguments!";
+ my($code,$inset,$outset) = @_;
+ my($err,$tmp);
+ ($err,$code,$inset) = _code($code,$inset);
+ return undef if ($err);
+ ($err,$tmp,$outset) = _code("",$outset);
+ return undef if ($err);
+
+ return Locale::Codes::_code2code("country",$code,$inset,$outset);
+}
#=======================================================================
#
-# country_code2code ( NAME [, CODESET ] )
+# all_country_codes ( [CODESET] )
#
#=======================================================================
-sub country_code2code
-{
- (@_ == 3) or croak "country_code2code() takes 3 arguments!";
-
- my $code = shift;
- my $inset = shift;
- my $outset = shift;
- my $outcode;
- my $country;
-
-
- return undef if $inset == $outset;
- $country = code2country($code, $inset);
- return undef if not defined $country;
- $outcode = country2code($country, $outset);
- return $outcode;
+
+sub all_country_codes {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_codes("country",$codeset);
}
#=======================================================================
#
-# all_country_codes ( [ CODESET ] )
+# all_country_names ( [CODESET] )
#
#=======================================================================
-sub all_country_codes
-{
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
- return keys %{ $CODES->[$codeset] };
-}
+sub all_country_names {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+ return Locale::Codes::_all_names("country",$codeset);
+}
#=======================================================================
#
-# all_country_names ( [ CODESET ] )
+# rename_country ( CODE,NAME [,CODESET] )
#
#=======================================================================
-sub all_country_names
-{
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
- return values %{ $CODES->[$codeset] };
-}
+sub rename_country {
+ my($code,$new_name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ return Locale::Codes::_rename("country",$code,$new_name,$codeset,$nowarn);
+}
#=======================================================================
#
-# alias_code ( ALIAS => CODE [ , CODESET ] )
+# add_country ( CODE,NAME [,CODESET] )
#
-# Add an alias for an existing code. If the CODESET isn't specified,
-# then we use the default (currently the alpha-2 codeset).
+#=======================================================================
+
+sub add_country {
+ my($code,$name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_add_code("country",$code,$name,$codeset,$nowarn);
+}
+
+#=======================================================================
#
-# Locale::Country::alias_code('uk' => 'gb');
+# delete_country ( CODE [,CODESET] )
#
#=======================================================================
-sub alias_code
-{
- my $alias = shift;
- my $real = shift;
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
- my $country;
+sub delete_country {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ return Locale::Codes::_delete_code("country",$code,$codeset,$nowarn);
+}
- if (not exists $CODES->[$codeset]->{$real})
- {
- carp "attempt to alias \"$alias\" to unknown country code \"$real\"\n";
- return undef;
- }
- $country = $CODES->[$codeset]->{$real};
- $CODES->[$codeset]->{$alias} = $country;
- $COUNTRIES->[$codeset]->{"\L$country"} = $alias;
+#=======================================================================
+#
+# add_country_alias ( NAME,NEW_NAME )
+#
+#=======================================================================
- return $alias;
+sub add_country_alias {
+ my($name,$new_name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_add_alias("country",$name,$new_name,$nowarn);
}
-# old name of function for backwards compatibility
-*_alias_code = *alias_code;
+#=======================================================================
+#
+# delete_country_alias ( NAME )
+#
+#=======================================================================
+
+sub delete_country_alias {
+ my($name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+ return Locale::Codes::_delete_alias("country",$name,$nowarn);
+}
#=======================================================================
#
-# rename_country
-#
-# change the official name for a country, eg:
-# gb => 'Great Britain'
-# rather than the standard 'United Kingdom'. The original is retained
-# as an alias, but the new name will be returned if you lookup the
-# name from code.
+# rename_country_code ( CODE,NEW_CODE [,CODESET] )
#
#=======================================================================
-sub rename_country
-{
- my $code = shift;
- my $new_name = shift;
- my $codeset = @_ > 0 ? shift : _code2codeset($code);
- my $country;
- my $c;
-
-
- if (not defined $codeset)
- {
- carp "rename_country(): unknown country code \"$code\"\n";
- return 0;
- }
-
- $country = $CODES->[$codeset]->{$code};
-
- foreach my $cset (LOCALE_CODE_ALPHA_2,
- LOCALE_CODE_ALPHA_3,
- LOCALE_CODE_NUMERIC)
- {
- if ($cset == $codeset)
- {
- $c = $code;
- }
- else
- {
- $c = country_code2code($code, $codeset, $cset);
- }
-
- $CODES->[$cset]->{$c} = $new_name;
- $COUNTRIES->[$cset]->{"\L$new_name"} = $c;
- }
-
- return 1;
-}
+sub rename_country_code {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
+
+ return Locale::Codes::_rename_code("country",$code,$new_code,$codeset,$nowarn);
+}
#=======================================================================
#
-# _code2codeset
-#
-# given a country code in an unknown codeset, return the codeset
-# it is from, or undef.
+# add_country_code_alias ( CODE,NEW_CODE [,CODESET] )
#
#=======================================================================
-sub _code2codeset
-{
- my $code = shift;
-
- foreach my $codeset (LOCALE_CODE_ALPHA_2, LOCALE_CODE_ALPHA_3,
- LOCALE_CODE_NUMERIC)
- {
- return $codeset if (exists $CODES->[$codeset]->{$code})
- }
+sub add_country_code_alias {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
- return undef;
+ return Locale::Codes::_add_code_alias("country",$code,$new_code,$codeset,$nowarn);
}
+#=======================================================================
+#
+# delete_country_code_alias ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_country_code_alias {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_delete_code_alias("country",$code,$codeset,$nowarn);
+}
#=======================================================================
#
-# initialisation code - stuff the DATA into the ALPHA2 hash
+# Old function for backward compatibility
#
#=======================================================================
-{
- my ($alpha2, $alpha3, $numeric);
- my ($country, @countries);
- local $_;
-
-
- while (<DATA>)
- {
- next unless /\S/;
- chop;
- ($alpha2, $alpha3, $numeric, @countries) = split(/:/, $_);
-
- $CODES->[LOCALE_CODE_ALPHA_2]->{$alpha2} = $countries[0];
- foreach $country (@countries)
- {
- $COUNTRIES->[LOCALE_CODE_ALPHA_2]->{"\L$country"} = $alpha2;
- }
-
- if ($alpha3)
- {
- $CODES->[LOCALE_CODE_ALPHA_3]->{$alpha3} = $countries[0];
- foreach $country (@countries)
- {
- $COUNTRIES->[LOCALE_CODE_ALPHA_3]->{"\L$country"} = $alpha3;
- }
- }
-
- if ($numeric)
- {
- $CODES->[LOCALE_CODE_NUMERIC]->{$numeric} = $countries[0];
- foreach $country (@countries)
- {
- $COUNTRIES->[LOCALE_CODE_NUMERIC]->{"\L$country"} = $numeric;
- }
- }
-
- }
-
- close(DATA);
+
+sub alias_code {
+ my($alias,$code,@args) = @_;
+ my $success = rename_country_code($code,$alias,@args);
+ return 0 if (! $success);
+ return $alias;
}
1;
-
-__DATA__
-ad:and:020:Andorra
-ae:are:784:United Arab Emirates
-af:afg:004:Afghanistan
-ag:atg:028:Antigua and Barbuda
-ai:aia:660:Anguilla
-al:alb:008:Albania
-am:arm:051:Armenia
-an:ant:530:Netherlands Antilles
-ao:ago:024:Angola
-aq:ata:010:Antarctica
-ar:arg:032:Argentina
-as:asm:016:American Samoa
-at:aut:040:Austria
-au:aus:036:Australia
-aw:abw:533:Aruba
-ax:ala:248:Aland Islands
-az:aze:031:Azerbaijan
-ba:bih:070:Bosnia and Herzegovina
-bb:brb:052:Barbados
-bd:bgd:050:Bangladesh
-be:bel:056:Belgium
-bf:bfa:854:Burkina Faso
-bg:bgr:100:Bulgaria
-bh:bhr:048:Bahrain
-bi:bdi:108:Burundi
-bj:ben:204:Benin
-bm:bmu:060:Bermuda
-bn:brn:096:Brunei Darussalam
-bo:bol:068:Bolivia
-br:bra:076:Brazil
-bs:bhs:044:Bahamas
-bt:btn:064:Bhutan
-bv:bvt:074:Bouvet Island
-bw:bwa:072:Botswana
-by:blr:112:Belarus
-bz:blz:084:Belize
-ca:can:124:Canada
-cc:cck:166:Cocos (Keeling) Islands
-cd:cod:180:Congo, The Democratic Republic of the:Zaire:Congo, Democratic Republic of the
-cf:caf:140:Central African Republic
-cg:cog:178:Congo:Congo, Republic of the
-ch:che:756:Switzerland
-ci:civ:384:Cote D'Ivoire
-ck:cok:184:Cook Islands
-cl:chl:152:Chile
-cm:cmr:120:Cameroon
-cn:chn:156:China
-co:col:170:Colombia
-cr:cri:188:Costa Rica
-cs:scg:891:Serbia and Montenegro:Yugoslavia
-cu:cub:192:Cuba
-cv:cpv:132:Cape Verde
-cx:cxr:162:Christmas Island
-cy:cyp:196:Cyprus
-cz:cze:203:Czech Republic
-de:deu:276:Germany
-dj:dji:262:Djibouti
-dk:dnk:208:Denmark
-dm:dma:212:Dominica
-do:dom:214:Dominican Republic
-dz:dza:012:Algeria
-ec:ecu:218:Ecuador
-ee:est:233:Estonia
-eg:egy:818:Egypt
-eh:esh:732:Western Sahara
-er:eri:232:Eritrea
-es:esp:724:Spain
-et:eth:231:Ethiopia
-fi:fin:246:Finland
-fj:fji:242:Fiji
-fk:flk:238:Falkland Islands (Malvinas):Falkland Islands (Islas Malvinas)
-fm:fsm:583:Micronesia, Federated States of
-fo:fro:234:Faroe Islands
-fr:fra:250:France
-fx:fxx:249:France, Metropolitan
-ga:gab:266:Gabon
-gb:gbr:826:United Kingdom:Great Britain
-gd:grd:308:Grenada
-ge:geo:268:Georgia
-gf:guf:254:French Guiana
-gh:gha:288:Ghana
-gi:gib:292:Gibraltar
-gl:grl:304:Greenland
-gm:gmb:270:Gambia
-gn:gin:324:Guinea
-gp:glp:312:Guadeloupe
-gq:gnq:226:Equatorial Guinea
-gr:grc:300:Greece
-gs:sgs:239:South Georgia and the South Sandwich Islands
-gt:gtm:320:Guatemala
-gu:gum:316:Guam
-gw:gnb:624:Guinea-Bissau
-gy:guy:328:Guyana
-hk:hkg:344:Hong Kong
-hm:hmd:334:Heard Island and McDonald Islands
-hn:hnd:340:Honduras
-hr:hrv:191:Croatia
-ht:hti:332:Haiti
-hu:hun:348:Hungary
-id:idn:360:Indonesia
-ie:irl:372:Ireland
-il:isr:376:Israel
-in:ind:356:India
-io:iot:086:British Indian Ocean Territory
-iq:irq:368:Iraq
-ir:irn:364:Iran, Islamic Republic of:Iran
-is:isl:352:Iceland
-it:ita:380:Italy
-jm:jam:388:Jamaica
-jo:jor:400:Jordan
-jp:jpn:392:Japan
-ke:ken:404:Kenya
-kg:kgz:417:Kyrgyzstan
-kh:khm:116:Cambodia
-ki:kir:296:Kiribati
-km:com:174:Comoros
-kn:kna:659:Saint Kitts and Nevis
-kp:prk:408:Korea, Democratic People's Republic of:Korea, North:North Korea
-kr:kor:410:Korea, Republic of:Korea, South:South Korea
-kw:kwt:414:Kuwait
-ky:cym:136:Cayman Islands
-kz:kaz:398:Kazakhstan:Kazakstan
-la:lao:418:Lao People's Democratic Republic
-lb:lbn:422:Lebanon
-lc:lca:662:Saint Lucia
-li:lie:438:Liechtenstein
-lk:lka:144:Sri Lanka
-lr:lbr:430:Liberia
-ls:lso:426:Lesotho
-lt:ltu:440:Lithuania
-lu:lux:442:Luxembourg
-lv:lva:428:Latvia
-ly:lby:434:Libyan Arab Jamahiriya:Libya
-ma:mar:504:Morocco
-mc:mco:492:Monaco
-md:mda:498:Moldova, Republic of:Moldova
-mg:mdg:450:Madagascar
-mh:mhl:584:Marshall Islands
-mk:mkd:807:Macedonia, the Former Yugoslav Republic of:Macedonia, Former Yugoslav Republic of:Macedonia
-ml:mli:466:Mali
-mm:mmr:104:Myanmar:Burma
-mn:mng:496:Mongolia
-mo:mac:446:Macao:Macau
-mp:mnp:580:Northern Mariana Islands
-mq:mtq:474:Martinique
-mr:mrt:478:Mauritania
-ms:msr:500:Montserrat
-mt:mlt:470:Malta
-mu:mus:480:Mauritius
-mv:mdv:462:Maldives
-mw:mwi:454:Malawi
-mx:mex:484:Mexico
-my:mys:458:Malaysia
-mz:moz:508:Mozambique
-na:nam:516:Namibia
-nc:ncl:540:New Caledonia
-ne:ner:562:Niger
-nf:nfk:574:Norfolk Island
-ng:nga:566:Nigeria
-ni:nic:558:Nicaragua
-nl:nld:528:Netherlands
-no:nor:578:Norway
-np:npl:524:Nepal
-nr:nru:520:Nauru
-nu:niu:570:Niue
-nz:nzl:554:New Zealand
-om:omn:512:Oman
-pa:pan:591:Panama
-pe:per:604:Peru
-pf:pyf:258:French Polynesia
-pg:png:598:Papua New Guinea
-ph:phl:608:Philippines
-pk:pak:586:Pakistan
-pl:pol:616:Poland
-pm:spm:666:Saint Pierre and Miquelon
-pn:pcn:612:Pitcairn:Pitcairn Island
-pr:pri:630:Puerto Rico
-ps:pse:275:Palestinian Territory, Occupied
-pt:prt:620:Portugal
-pw:plw:585:Palau
-py:pry:600:Paraguay
-qa:qat:634:Qatar
-re:reu:638:Reunion
-ro:rou:642:Romania
-ru:rus:643:Russian Federation:Russia
-rw:rwa:646:Rwanda
-sa:sau:682:Saudi Arabia
-sb:slb:090:Solomon Islands
-sc:syc:690:Seychelles
-sd:sdn:736:Sudan
-se:swe:752:Sweden
-sg:sgp:702:Singapore
-sh:shn:654:Saint Helena
-si:svn:705:Slovenia
-sj:sjm:744:Svalbard and Jan Mayen:Jan Mayen:Svalbard
-sk:svk:703:Slovakia
-sl:sle:694:Sierra Leone
-sm:smr:674:San Marino
-sn:sen:686:Senegal
-so:som:706:Somalia
-sr:sur:740:Suriname
-st:stp:678:Sao Tome and Principe
-sv:slv:222:El Salvador
-sy:syr:760:Syrian Arab Republic:Syria
-sz:swz:748:Swaziland
-tc:tca:796:Turks and Caicos Islands
-td:tcd:148:Chad
-tf:atf:260:French Southern Territories:French Southern and Antarctic Lands
-tg:tgo:768:Togo
-th:tha:764:Thailand
-tj:tjk:762:Tajikistan
-tk:tkl:772:Tokelau
-tm:tkm:795:Turkmenistan
-tn:tun:788:Tunisia
-to:ton:776:Tonga
-tl:tls:626:Timor-Leste:East Timor
-tr:tur:792:Turkey
-tt:tto:780:Trinidad and Tobago
-tv:tuv:798:Tuvalu
-tw:twn:158:Taiwan, Province of China:Taiwan
-tz:tza:834:Tanzania, United Republic of:Tanzania
-ua:ukr:804:Ukraine
-ug:uga:800:Uganda
-um:umi:581:United States Minor Outlying Islands
-us:usa:840:United States:USA:United States of America
-uy:ury:858:Uruguay
-uz:uzb:860:Uzbekistan
-va:vat:336:Holy See (Vatican City State):Holy See (Vatican City)
-vc:vct:670:Saint Vincent and the Grenadines
-ve:ven:862:Venezuela
-vg:vgb:092:Virgin Islands, British:British Virgin Islands
-vi:vir:850:Virgin Islands, U.S.
-vn:vnm:704:Vietnam
-vu:vut:548:Vanuatu
-wf:wlf:876:Wallis and Futuna
-ws:wsm:882:Samoa
-ye:yem:887:Yemen
-yt:myt:175:Mayotte
-za:zaf:710:South Africa
-zm:zmb:894:Zambia
-zw:zwe:716:Zimbabwe
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Country.pod b/Master/tlpkg/tlperl/lib/Locale/Country.pod
index b13cd22a4a7..509dff846d7 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Country.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Country.pod
@@ -1,306 +1,216 @@
+=pod
=head1 NAME
-Locale::Country - ISO codes for country identification (ISO 3166)
+Locale::Country - standard codes for country identification
=head1 SYNOPSIS
- use Locale::Country;
-
- $country = code2country('jp'); # $country gets 'Japan'
- $code = country2code('Norway'); # $code gets 'no'
-
- @codes = all_country_codes();
- @names = all_country_names();
-
- # semi-private routines
- Locale::Country::alias_code('uk' => 'gb');
- Locale::Country::rename_country('gb' => 'Great Britain');
+ use Locale::Country;
+ $country = code2country('jp' [,CODESET]); # $country gets 'Japan'
+ $code = country2code('Norway' [,CODESET]); # $code gets 'no'
-=head1 DESCRIPTION
-
-The C<Locale::Country> module provides access to the ISO
-codes for identifying countries, as defined in ISO 3166-1.
-You can either access the codes via the L<conversion routines>
-(described below), or with the two functions which return lists
-of all country codes or all country names.
-
-There are three different code sets you can use for identifying
-countries:
-
-=over 4
-
-=item B<alpha-2>
-
-Two letter codes, such as 'tv' for Tuvalu.
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_2>.
+ @codes = all_country_codes( [CODESET]);
+ @names = all_country_names();
-=item B<alpha-3>
+ # semi-private routines
+ Locale::Country::alias_code('uk' => 'gb');
+ Locale::Country::rename_country('gb' => 'Great Britain');
-Three letter codes, such as 'brb' for Barbados.
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_3>.
+=head1 DESCRIPTION
-=item B<numeric>
+The C<Locale::Country> module provides access to several code sets
+that can be used for identifying countries, such as those defined in
+ISO 3166-1.
-Numeric codes, such as 064 for Bhutan.
-This code set is identified with the symbol C<LOCALE_CODE_NUMERIC>.
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+3166-1 two-letter codes will be used.
-=back
+=head1 SUPPORTED CODE SETS
-All of the routines take an optional additional argument
-which specifies the code set to use.
-If not specified, it defaults to the two-letter codes.
-This is partly for backwards compatibility (previous versions
-of this module only supported the alpha-2 codes), and
-partly because they are the most widely used codes.
+There are several different code sets you can use for identifying
+countries. The ones currently supported are:
-The alpha-2 and alpha-3 codes are not case-dependent,
-so you can use 'BO', 'Bo', 'bO' or 'bo' for Bolivia.
-When a code is returned by one of the functions in
-this module, it will always be lower-case.
+=over 4
-As of version 2.00, Locale::Country supports variant
-names for countries. So, for example, the country code for "United States"
-is "us", so country2code('United States') returns 'us'.
-Now the following will also return 'us':
+=item B<alpha-2>
- country2code('United States of America')
- country2code('USA')
+This is the set of two-letter (lowercase) codes from ISO 3166-1, such
+as 'tv' for Tuvalu.
+This code set is identified with the symbol C<LOCALE_CODE_ALPHA_2>.
-=head1 CONVERSION ROUTINES
+This is the default code set.
-There are three conversion routines: C<code2country()>, C<country2code()>,
-and C<country_code2code()>.
+=item B<alpha-3>
-=over 4
+This is the set of three-letter (lowercase) codes from ISO 3166-1,
+such as 'brb' for Barbados. These codes are actually defined and
+maintained by the U.N. Statistics division.
-=item code2country( CODE, [ CODESET ] )
+This code set is identified with the symbol C<LOCALE_CODE_ALPHA_3>.
-This function takes a country code and returns a string
-which contains the name of the country identified.
-If the code is not a valid country code, as defined by ISO 3166,
-then C<undef> will be returned:
+=item B<numeric>
- $country = code2country('fi');
+This is the set of three-digit numeric codes from ISO 3166-1, such as
+064 for Bhutan. These codes are actually defined and maintained by the
+U.N. Statistics division.
-=item country2code( STRING, [ CODESET ] )
+If a 2-digit code is entered, it is converted to 3 digits by prepending
+a 0.
-This function takes a country name and returns the corresponding
-country code, if such exists.
-If the argument could not be identified as a country name,
-then C<undef> will be returned:
+This code set is identified with the symbol C<LOCALE_CODE_NUMERIC>.
- $code = country2code('Norway', LOCALE_CODE_ALPHA_3);
- # $code will now be 'nor'
+=item B<fips-10>
-The case of the country name is not important.
-See the section L<KNOWN BUGS AND LIMITATIONS> below.
+The FIPS 10 data are two-letter (uppercase) codes assigned by the
+National Geospatial-Intelligence Agency.
-=item country_code2code( CODE, CODESET, CODESET )
+This code set is identified with the symbol C<LOCALE_CODE_FIPS>.
-This function takes a country code from one code set,
-and returns the corresponding code from another code set.
+=item B<dom>
- $alpha2 = country_code2code('fin',
- LOCALE_CODE_ALPHA_3, LOCALE_CODE_ALPHA_2);
- # $alpha2 will now be 'fi'
+The IANA is responsible for assigning two-letter (uppercase) top-level
+domain names to each country.
-If the code passed is not a valid country code in
-the first code set, or if there isn't a code for the
-corresponding country in the second code set,
-then C<undef> will be returned.
+This code set is identified with the symbol C<LOCALE_CODE_DOM>.
=back
-
-=head1 QUERY ROUTINES
-
-There are two function which can be used to obtain a list of all codes,
-or all country names:
+=head1 ROUTINES
=over 4
-=item C<all_country_codes( [ CODESET ] )>
-
-Returns a list of all two-letter country codes.
-The codes are guaranteed to be all lower-case,
-and not in any particular order.
-
-=item C<all_country_names( [ CODESET ] )>
-
-Returns a list of all country names for which there is a corresponding
-country code in the specified code set.
-The names are capitalised, and not returned in any particular order.
-
-Not all countries have alpha-3 and numeric codes -
-some just have an alpha-2 code,
-so you'll get a different number of countries
-depending on which code set you specify.
-
-=back
+=item B<code2country ( CODE [,CODESET] )>
+=item B<country2code ( NAME [,CODESET] )>
-=head1 SEMI-PRIVATE ROUTINES
+=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
-Locale::Country provides two semi-private routines for modifying
-the internal data.
-Given their status, they aren't exported by default,
-and so need to be called by prefixing the function name with the
-package name.
+=item B<all_country_codes ( [CODESET] )>
-=head2 alias_code
+=item B<all_country_names ( [CODESET] )>
-Define a new code as an alias for an existing code:
+=item B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>
- Locale::Country::alias_code( ALIAS => CODE [, CODESET ] )
+=item B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>
-This feature was added as a mechanism for handling
-a "uk" code. The ISO standard says that the two-letter code for
-"United Kingdom" is "gb", whereas domain names are all .uk.
+=item B<Locale::Country::delete_country ( CODE [,CODESET] )>
-By default the module does not understand "uk", since it is implementing
-an ISO standard. If you would like 'uk' to work as the two-letter
-code for United Kingdom, use the following:
+=item B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>
- Locale::Country::alias_code('uk' => 'gb');
+=item B<Locale::Country::delete_country_alias ( NAME )>
-With this code, both "uk" and "gb" are valid codes for United Kingdom,
-with the reverse lookup returning "uk" rather than the usual "gb".
+=item B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>
-B<Note:> this function was previously called _alias_code,
-but the leading underscore has been dropped.
-The old name will be supported for all 2.X releases for
-backwards compatibility.
+=item B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>
-=head2 rename_country
+=item B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>
-If the official country name just isn't good enough for you,
-you can rename a country. For example, the official country
-name for code 'gb' is 'United Kingdom'.
-If you want to change that, you might call:
+These routines are all documented in the Locale::Codes man page.
- Locale::Country::rename_country('gb' => 'Great Britain');
+=item B<alias_code ( ALIAS, CODE [,CODESET] )>
-This means that calling code2country('gb') will now return
-'Great Britain' instead of 'United Kingdom'.
-The original country name is retained as an alias,
-so for the above example, country2code('United Kingdom')
-will still return 'gb'.
+Version 2.07 included 2 functions for modifying the internal data:
+rename_country and alias_code. Both of these could be used only to
+modify the internal data for country codes.
+As of 3.10, the internal data for all types of codes can be modified.
-=head1 EXAMPLES
+The alias_code function is preserved for backwards compatibility, but
+the following two are identical:
-The following example illustrates use of the C<code2country()> function.
-The user is prompted for a country code, and then told the corresponding
-country name:
+ alias_code(ALIAS,CODE [,CODESET]);
+ rename_country_code(CODE,ALIAS [,CODESET]);
- $| = 1; # turn off buffering
-
- print "Enter country code: ";
- chop($code = <STDIN>);
- $country = code2country($code, LOCALE_CODE_ALPHA_2);
- if (defined $country)
- {
- print "$code = $country\n";
- }
- else
- {
- print "'$code' is not a valid country code!\n";
- }
+and the latter should be used for consistency.
-=head1 DOMAIN NAMES
+The alias_code function is deprecated (though there is no currently no
+plan to remove it).
-Most top-level domain names are based on these codes,
-but there are certain codes which aren't.
-If you are using this module to identify country from hostname,
-your best bet is to preprocess the country code.
+B<Note:> this function was previously called _alias_code, but the
+leading underscore has been dropped. The old name was supported for
+all 2.X releases, but has been dropped as of 3.00.
-For example, B<edu>, B<com>, B<gov> and friends would map to B<us>;
-B<uk> would map to B<gb>. Any others?
+=back
-=head1 KNOWN BUGS AND LIMITATIONS
+=head1 SEE ALSO
=over 4
-=item *
+=item B<Locale::Codes>
-When using C<country2code()>, the country name must currently appear
-exactly as it does in the source of the module. The module now supports
-a small number of variants.
+=item B<Locale::Constants>
-Possible extensions to this are: an interface for getting at the
-list of variant names, and regular expression matches.
+The Locale-Codes distribution.
-=item *
+=item B<Locale::SubCountry>
-In the current implementation, all data is read in when the
-module is loaded, and then held in memory.
-A lazy implementation would be more memory friendly.
+ISO codes for country sub-divisions (states, counties, provinces,
+etc), as defined in ISO 3166-2. This module is not part of the
+Locale-Codes distribution, but is available from CPAN in
+CPAN/modules/by-module/Locale/
-=item *
-
-Support for country names in different languages.
-
-=back
+=item B<http://www.iso.org/iso/country_codes>
-=head1 SEE ALSO
-
-=over 4
-
-=item Locale::Language
+Official home page for the ISO 3166 maintenance agency.
-ISO two letter codes for identification of language (ISO 639).
+Unfortunately, they do not make the actual ISO available for free,
+so I cannot check the alpha-3 and numerical codes here.
-=item Locale::Script
+=item B<http://www.iso.org/iso/list-en1-semic-3.txt>
-ISO codes for identification of scripts (ISO 15924).
+The source of ISO 3166-1 two-letter codes used by this
+module.
-=item Locale::Currency
+=item B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
-ISO three letter codes for identification of currencies
-and funds (ISO 4217).
+The source of the official ISO 3166-1 three-letter codes and
+three-digit codes.
-=item Locale::SubCountry
+For some reason, this table is incomplete! Several countries are
+missing from it, and I cannot find them anywhere on the UN site. I
+get as much of the data from here as I can.
-ISO codes for country sub-divisions (states, counties, provinces, etc),
-as defined in ISO 3166-2.
-This module is not part of the Locale-Codes distribution,
-but is available from CPAN in CPAN/modules/by-module/Locale/
+=item B<http://earth-info.nga.mil/gns/html/digraphs.htm>
-=item ISO 3166-1
+The official list of the FIPS 10 codes.
-The ISO standard which defines these codes.
+=item B<http://www.iana.org/domains/>
-=item http://www.iso.org/iso/en/prods-services/iso3166ma/index.html
+Official source of the top-level domain names.
-Official home page for the ISO 3166 maintenance agency.
+=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
-=item http://www.egt.ie/standards/iso3166/iso3166-1-en.html
+Although not the official source of any of the data, the World
+Factbook maintained by the CIA is a great source of the data,
+especially since I can't get the official data from the ISO. Since
+it's maintained by the CIA, and since it's updated every two weeks, I
+use this as the source for some missing data.
-Another useful, but not official, home page.
+=item B<http://www.statoids.com/wab.html>
-=item http://www.cia.gov/cia/publications/factbook/docs/app-d-1.html
-
-An appendix in the CIA world fact book which lists country codes
-as defined by ISO 3166, FIPS 10-4, and internet domain names.
+Another unofficial source of data. Currently, it is not used to get
+data, but the notes and explanatory material were very useful for
+understanding discrepancies between the sources.
=back
-
=head1 AUTHOR
-Neil Bowers E<lt>neil@bowers.comE<gt>
+See Locale::Codes for full author history.
-=head1 COPYRIGHT
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
-Copyright (C) 2002-2004, Neil Bowers.
+=head1 COPYRIGHT
-Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Locale/Currency.pm b/Master/tlpkg/tlperl/lib/Locale/Currency.pm
index 13cd0482ba7..10828653218 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Currency.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Currency.pm
@@ -1,356 +1,284 @@
-#
-# Locale::Currency - ISO three letter codes for currency identification
-# (ISO 4217)
-#
-# $Id: Currency.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $
-#
-
package Locale::Currency;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2011 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
use strict;
+use warnings;
require 5.002;
require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Constants;
+use Locale::Codes::Currency;
-#-----------------------------------------------------------------------
-# Public Global Variables
-#-----------------------------------------------------------------------
-use vars qw($VERSION @ISA @EXPORT);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\d+)\.(\d+)/);
-@ISA = qw(Exporter);
-@EXPORT = qw(&code2currency &currency2code
- &all_currency_codes &all_currency_names );
+#=======================================================================
+# Public Global Variables
+#=======================================================================
-#-----------------------------------------------------------------------
-# Private Global Variables
-#-----------------------------------------------------------------------
-my %CODES = ();
-my %CURRENCIES = ();
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.16';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2currency
+ currency2code
+ all_currency_codes
+ all_currency_names
+ currency_code2code
+ LOCALE_CURR_ALPHA
+ LOCALE_CURR_NUMERIC
+ );
+
+sub _code {
+ my($code,$codeset) = @_;
+ $code = "" if (! $code);
+
+ $codeset = LOCALE_CURR_DEFAULT if (! defined($codeset) || $codeset eq "");
+
+ if ($codeset =~ /^\d+$/) {
+ if ($codeset == LOCALE_CURR_ALPHA) {
+ $codeset = "alpha";
+ } elsif ($codeset == LOCALE_CURR_NUMERIC) {
+ $codeset = "num";
+ } else {
+ return (1);
+ }
+ }
+
+ if ($codeset eq "alpha") {
+ $code = uc($code);
+ } elsif ($codeset eq "num") {
+ if (defined($code) && $code ne "") {
+ return (1) unless ($code =~ /^\d+$/);
+ $code = sprintf("%.3d", $code);
+ }
+ } else {
+ return (1);
+ }
+
+ return (0,$code,$codeset);
+}
+#=======================================================================
+#
+# code2currency ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub code2currency {
+ my($err,$code,$codeset) = _code(@_);
+ return undef if ($err ||
+ ! defined $code);
+
+ return Locale::Codes::_code2name("currency",$code,$codeset);
+}
#=======================================================================
#
-# code2currency( CODE )
+# currency2code ( CURRENCY [,CODESET] )
#
#=======================================================================
-sub code2currency
-{
- my $code = shift;
-
-
- return undef unless defined $code;
- $code = lc($code);
- if (exists $CODES{$code})
- {
- return $CODES{$code};
- }
- else
- {
- #---------------------------------------------------------------
- # no such currency code!
- #---------------------------------------------------------------
- return undef;
- }
+
+sub currency2code {
+ my($currency,$codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err ||
+ ! defined $currency);
+
+ return Locale::Codes::_name2code("currency",$currency,$codeset);
}
+#=======================================================================
+#
+# currency_code2code ( CODE,CODESET_IN,CODESET_OUT )
+#
+#=======================================================================
+
+sub currency_code2code {
+ (@_ == 3) or croak "currency_code2code() takes 3 arguments!";
+ my($code,$inset,$outset) = @_;
+ my($err,$tmp);
+ ($err,$code,$inset) = _code($code,$inset);
+ return undef if ($err);
+ ($err,$tmp,$outset) = _code("",$outset);
+ return undef if ($err);
+
+ return Locale::Codes::_code2code("currency",$code,$inset,$outset);
+}
#=======================================================================
#
-# currency2code ( CURRENCY )
+# all_currency_codes ( [CODESET] )
#
#=======================================================================
-sub currency2code
-{
- my $curr = shift;
-
-
- return undef unless defined $curr;
- $curr = lc($curr);
- if (exists $CURRENCIES{$curr})
- {
- return $CURRENCIES{$curr};
- }
- else
- {
- #---------------------------------------------------------------
- # no such currency!
- #---------------------------------------------------------------
- return undef;
- }
+
+sub all_currency_codes {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_codes("currency",$codeset);
}
#=======================================================================
#
-# all_currency_codes()
+# all_currency_names ( [CODESET] )
#
#=======================================================================
-sub all_currency_codes
-{
- return keys %CODES;
+
+sub all_currency_names {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_names("currency",$codeset);
}
+#=======================================================================
+#
+# rename_currency ( CODE,NAME [,CODESET] )
+#
+#=======================================================================
+
+sub rename_currency {
+ my($code,$new_name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_rename("currency",$code,$new_name,$codeset,$nowarn);
+}
#=======================================================================
#
-# all_currency_names()
+# add_currency ( CODE,NAME [,CODESET] )
#
#=======================================================================
-sub all_currency_names
-{
- return values %CODES;
+
+sub add_currency {
+ my($code,$name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_add_code("currency",$code,$name,$codeset,$nowarn);
}
+#=======================================================================
+#
+# delete_currency ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_currency {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_delete_code("currency",$code,$codeset,$nowarn);
+}
#=======================================================================
-# initialisation code - stuff the DATA into the CODES hash
+#
+# add_currency_alias ( NAME,NEW_NAME )
+#
#=======================================================================
-{
- my $code;
- my $currency;
- local $_;
-
-
- while (<DATA>)
- {
- next unless /\S/;
- chop;
- ($code, $currency) = split(/:/, $_, 2);
- $CODES{$code} = $currency;
- $CURRENCIES{"\L$currency"} = $code;
- }
-
- close(DATA);
+
+sub add_currency_alias {
+ my($name,$new_name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_add_alias("currency",$name,$new_name,$nowarn);
}
-1;
+#=======================================================================
+#
+# delete_currency_alias ( NAME )
+#
+#=======================================================================
+
+sub delete_currency_alias {
+ my($name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_delete_alias("currency",$name,$nowarn);
+}
+
+#=======================================================================
+#
+# rename_currency_code ( CODE,NEW_CODE [,CODESET] )
+#
+#=======================================================================
-__DATA__
-adp:Andorran Peseta
-aed:UAE Dirham
-afa:Afghani
-all:Lek
-amd:Armenian Dram
-ang:Netherlands Antillean Guilder
-aoa:Kwanza
-aon:New Kwanza
-aor:Kwanza Reajustado
-ars:Argentine Peso
-ats:Schilling
-aud:Australian Dollar
-awg:Aruban Guilder
-azm:Azerbaijanian Manat
-
-bam:Convertible Marks
-bbd:Barbados Dollar
-bdt:Taka
-bef:Belgian Franc
-bgl:Lev
-bgn:Bulgarian Lev
-bhd:Bahraini Dinar
-bhd:Dinar
-bif:Burundi Franc
-bmd:Bermudian Dollar
-bnd:Brunei Dollar
-bob:Boliviano
-bov:MVDol
-brl:Brazilian Real
-bsd:Bahamian Dollar
-btn:Ngultrum
-bwp:Pula
-byb:Belarussian Ruble
-byr:Belarussian Ruble
-bzd:Belize Dollar
-
-cad:Canadian Dollar
-cdf:Franc Congolais
-chf:Swiss Franc
-clf:Unidades de Formento
-clp:Chilean Peso
-cny:Yuan Renminbi
-cop:Colombian Peso
-crc:Costa Rican Colon
-cup:Cuban Peso
-cve:Cape Verde Escudo
-cyp:Cyprus Pound
-czk:Czech Koruna
-
-dem:German Mark
-djf:Djibouti Franc
-dkk:Danish Krone
-dop:Dominican Peso
-dzd:Algerian Dinar
-
-ecs:Sucre
-ecv:Unidad de Valor Constante (UVC)
-eek:Kroon
-egp:Egyptian Pound
-ern:Nakfa
-esp:Spanish Peseta
-etb:Ethiopian Birr
-eur:Euro
-
-fim:Markka
-fjd:Fiji Dollar
-fkp:Falkland Islands Pound
-frf:French Franc
-
-gbp:Pound Sterling
-gel:Lari
-ghc:Cedi
-gip:Gibraltar Pound
-gmd:Dalasi
-gnf:Guinea Franc
-grd:Drachma
-gtq:Quetzal
-gwp:Guinea-Bissau Peso
-gyd:Guyana Dollar
-
-hkd:Hong Kong Dollar
-hnl:Lempira
-hrk:Kuna
-htg:Gourde
-huf:Forint
-
-idr:Rupiah
-iep:Irish Pound
-ils:Shekel
-inr:Indian Rupee
-iqd:Iraqi Dinar
-irr:Iranian Rial
-isk:Iceland Krona
-itl:Italian Lira
-
-jmd:Jamaican Dollar
-jod:Jordanian Dinar
-jpy:Yen
-
-kes:Kenyan Shilling
-kgs:Som
-khr:Riel
-kmf:Comoro Franc
-kpw:North Korean Won
-krw:Won
-kwd:Kuwaiti Dinar
-kyd:Cayman Islands Dollar
-kzt:Tenge
-
-lak:Kip
-lbp:Lebanese Pound
-lkr:Sri Lanka Rupee
-lrd:Liberian Dollar
-lsl:Loti
-ltl:Lithuanian Litas
-luf:Luxembourg Franc
-lvl:Latvian Lats
-lyd:Libyan Dinar
-
-mad:Moroccan Dirham
-mdl:Moldovan Leu
-mgf:Malagasy Franc
-mkd:Denar
-mmk:Kyat
-mnt:Tugrik
-mop:Pataca
-mro:Ouguiya
-mtl:Maltese Lira
-mur:Mauritius Rupee
-mvr:Rufiyaa
-mwk:Kwacha
-mxn:Mexican Nuevo Peso
-myr:Malaysian Ringgit
-mzm:Metical
-
-nad:Namibia Dollar
-ngn:Naira
-nio:Cordoba Oro
-nlg:Netherlands Guilder
-nok:Norwegian Krone
-npr:Nepalese Rupee
-nzd:New Zealand Dollar
-
-omr:Rial Omani
-
-pab:Balboa
-pen:Nuevo Sol
-pgk:Kina
-php:Philippine Peso
-pkr:Pakistan Rupee
-pln:Zloty
-pte:Portuguese Escudo
-pyg:Guarani
-
-qar:Qatari Rial
-
-rol:Leu
-rub:Russian Ruble
-rur:Russian Ruble
-rwf:Rwanda Franc
-
-sar:Saudi Riyal
-sbd:Solomon Islands Dollar
-scr:Seychelles Rupee
-sdd:Sudanese Dinar
-sek:Swedish Krona
-sgd:Singapore Dollar
-shp:St. Helena Pound
-sit:Tolar
-skk:Slovak Koruna
-sll:Leone
-sos:Somali Shilling
-srg:Surinam Guilder
-std:Dobra
-svc:El Salvador Colon
-syp:Syrian Pound
-szl:Lilangeni
-
-thb:Baht
-tjr:Tajik Ruble
-tmm:Manat
-tnd:Tunisian Dollar
-top:Pa'anga
-tpe:Timor Escudo
-trl:Turkish Lira
-ttd:Trinidad and Tobago Dollar
-twd:New Taiwan Dollar
-tzs:Tanzanian Shilling
-
-uah:Hryvnia
-uak:Karbovanets
-ugx:Uganda Shilling
-usd:US Dollar
-usn:US Dollar (Next day)
-uss:US Dollar (Same day)
-uyu:Peso Uruguayo
-uzs:Uzbekistan Sum
-
-veb:Bolivar
-vnd:Dong
-vuv:Vatu
-
-wst:Tala
-
-xaf:CFA Franc BEAC
-xag:Silver
-xau:Gold
-xba:European Composite Unit
-xbb:European Monetary Unit
-xbc:European Unit of Account 9
-xb5:European Unit of Account 17
-xcd:East Caribbean Dollar
-xdr:SDR
-xeu:ECU (until 1998-12-31)
-xfu:UIC-Franc
-xfo:Gold-Franc
-xof:CFA Franc BCEAO
-xpd:Palladium
-xpf:CFP Franc
-xpt:Platinum
-
-yer:Yemeni Rial
-yum:New Dinar
-
-zal:Financial Rand
-zar:Rand
-zmk:Kwacha
-zrn:New Zaire
-zwd:Zimbabwe Dollar
+sub rename_currency_code {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
+
+ return Locale::Codes::_rename_code("currency",$code,$new_code,$codeset,$nowarn);
+}
+
+#=======================================================================
+#
+# add_currency_code_alias ( CODE,NEW_CODE [,CODESET] )
+#
+#=======================================================================
+
+sub add_currency_code_alias {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
+
+ return Locale::Codes::_add_code_alias("currency",$code,$new_code,$codeset,$nowarn);
+}
+
+#=======================================================================
+#
+# delete_currency_code_alias ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_currency_code_alias {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_delete_code_alias("currency",$code,$codeset,$nowarn);
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Currency.pod b/Master/tlpkg/tlperl/lib/Locale/Currency.pod
index dce32612949..25512b85603 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Currency.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Currency.pod
@@ -1,7 +1,8 @@
+=pod
=head1 NAME
-Locale::Currency - ISO three letter codes for currency identification (ISO 4217)
+Locale::Currency - standard codes for currency identification
=head1 SYNOPSIS
@@ -16,135 +17,72 @@ Locale::Currency - ISO three letter codes for currency identification (ISO 4217)
=head1 DESCRIPTION
-The C<Locale::Currency> module provides access to the ISO three-letter
-codes for identifying currencies and funds, as defined in ISO 4217.
-You can either access the codes via the L<conversion routines>
-(described below),
-or with the two functions which return lists of all currency codes or
-all currency names.
+The C<Locale::Currency> module provides access to standard codes used
+for identifying currencies and funds, such as those defined in ISO 4217.
-There are two special codes defined by the standard which aren't
-understood by this module:
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+4217 three-letter codes will be used.
-=over 4
-
-=item XTS
-
-Specifically reserved for testing purposes.
-
-=item XXX
-
-For transactions where no currency is involved.
-
-=back
+=head1 SUPPORTED CODE SETS
-
-=head1 CONVERSION ROUTINES
-
-There are two conversion routines: C<code2currency()> and C<currency2code()>.
+There are several different code sets you can use for identifying
+currencies. The ones currently supported are:
=over 4
-=item code2currency()
+=item B<alpha>
-This function takes a three letter currency code and returns a string
-which contains the name of the currency identified. If the code is
-not a valid currency code, as defined by ISO 4217, then C<undef>
-will be returned.
+This is a set of three-letter (uppercase) codes from ISO 4217 such
+as EUR for Euro.
- $curr = code2currency($code);
+Two of the codes specified by the standard (XTS which is reserved
+for testing purposes and XXX which is for transactions where no
+currency is involved) are omitted.
-=item currency2code()
+This code set is identified with the symbol C<LOCALE_CURR_ALPHA>.
-This function takes a currency name and returns the corresponding
-three letter currency code, if such exists.
-If the argument could not be identified as a currency name,
-then C<undef> will be returned.
+This is the default code set.
- $code = currency2code('French Franc');
+=item B<num>
-The case of the currency name is not important.
-See the section L<KNOWN BUGS AND LIMITATIONS> below.
-
-=back
+This is the set of three-digit numeric codes from ISO 4217.
+This code set is identified with the symbol C<LOCALE_CURR_NUMERIC>.
-=head1 QUERY ROUTINES
+=back
-There are two function which can be used to obtain a list of all
-currency codes, or all currency names:
+=head1 ROUTINES
=over 4
-=item C<all_currency_codes()>
+=item B<code2currency ( CODE [,CODESET] )>
-Returns a list of all three-letter currency codes.
-The codes are guaranteed to be all lower-case,
-and not in any particular order.
+=item B<currency2code ( NAME [,CODESET] )>
-=item C<all_currency_names()>
+=item B<currency_code2code ( CODE ,CODESET ,CODESET2 )>
-Returns a list of all currency names for which there is a corresponding
-three-letter currency code. The names are capitalised, and not returned
-in any particular order.
+=item B<all_currency_codes ( [CODESET] )>
-=back
+=item B<all_currency_names ( [CODESET] )>
+=item B<Locale::Currency::rename_currency ( CODE ,NEW_NAME [,CODESET] )>
-=head1 EXAMPLES
+=item B<Locale::Currency::add_currency ( CODE ,NAME [,CODESET] )>
-The following example illustrates use of the C<code2currency()> function.
-The user is prompted for a currency code, and then told the corresponding
-currency name:
+=item B<Locale::Currency::delete_currency ( CODE [,CODESET] )>
- $| = 1; # turn off buffering
+=item B<Locale::Currency::add_currency_alias ( NAME ,NEW_NAME )>
- print "Enter currency code: ";
- chop($code = <STDIN>);
- $curr = code2currency($code);
- if (defined $curr)
- {
- print "$code = $curr\n";
- }
- else
- {
- print "'$code' is not a valid currency code!\n";
- }
+=item B<Locale::Currency::delete_currency_alias ( NAME )>
-=head1 KNOWN BUGS AND LIMITATIONS
+=item B<Locale::Currency::rename_currency_code ( CODE ,NEW_CODE [,CODESET] )>
-=over 4
+=item B<Locale::Currency::add_currency_code_alias ( CODE ,NEW_CODE [,CODESET] )>
-=item *
+=item B<Locale::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
-In the current implementation, all data is read in when the
-module is loaded, and then held in memory.
-A lazy implementation would be more memory friendly.
-
-=item *
-
-This module also includes the special codes which are
-not for a currency, such as Gold, Platinum, etc.
-This might cause a problem if you're using this module
-to display a list of currencies.
-Let Neil know if this does cause a problem, and we can
-do something about it.
-
-=item *
-
-ISO 4217 also defines a numeric code for each currency.
-Currency codes are not currently supported by this module,
-in the same way Locale::Country supports multiple codesets.
-
-=item *
-
-There are three cases where there is more than one
-code for the same currency name.
-Kwacha has two codes: mwk for Malawi, and zmk for Zambia.
-The Russian Ruble has two codes: rub and rur.
-The Belarussian Ruble has two codes: byr and byb.
-The currency2code() function only returns one code, so
-you might not get back the code you expected.
+These routines are all documented in the Locale::Codes man page.
=back
@@ -152,40 +90,30 @@ you might not get back the code you expected.
=over 4
-=item Locale::Country
-
-ISO codes for identification of country (ISO 3166).
+=item B<Locale::Codes>
-=item Locale::Script
+=item B<Locale::Constants>
-ISO codes for identification of written scripts (ISO 15924).
+=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
-=item ISO 4217:1995
-
-Code for the representation of currencies and funds.
-
-=item http://www.bsi-global.com/iso4217currency
-
-Official web page for the ISO 4217 maintenance agency.
-This has the latest list of codes, in MS Word format. Boo.
+The ISO 4217 data.
=back
=head1 AUTHOR
-Michael Hennecke E<lt>hennecke@rz.uni-karlsruhe.deE<gt>
-and
-Neil Bowers E<lt>neil@bowers.comE<gt>
+See Locale::Codes for full author history.
-=head1 COPYRIGHT
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
-Copyright (C) 2002-2004, Neil Bowers.
+=head1 COPYRIGHT
-Copyright (c) 2001 Michael Hennecke and
-Canon Research Centre Europe (CRE).
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001 Michael Hennecke
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Locale/Language.pm b/Master/tlpkg/tlperl/lib/Locale/Language.pm
index e8454c39b4a..c30ff8840cf 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Language.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Language.pm
@@ -1,315 +1,284 @@
-#
-# Locale::Language - ISO two letter codes for language identification (ISO 639)
-#
-# $Id: Language.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $
-#
-
package Locale::Language;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2011 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
use strict;
+use warnings;
require 5.002;
require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Constants;
+use Locale::Codes::Language;
-#-----------------------------------------------------------------------
-# Public Global Variables
-#-----------------------------------------------------------------------
-use vars qw($VERSION @ISA @EXPORT);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\d+)\.(\d+)/);
-@ISA = qw(Exporter);
-@EXPORT = qw(&code2language &language2code
- &all_language_codes &all_language_names );
+#=======================================================================
+# Public Global Variables
+#=======================================================================
-#-----------------------------------------------------------------------
-# Private Global Variables
-#-----------------------------------------------------------------------
-my %CODES = ();
-my %LANGUAGES = ();
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.16';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2language
+ language2code
+ all_language_codes
+ all_language_names
+ language_code2code
+ LOCALE_LANG_ALPHA_2
+ LOCALE_LANG_ALPHA_3
+ LOCALE_LANG_TERM
+ );
+
+sub _code {
+ my($code,$codeset) = @_;
+ $code = "" if (! $code);
+
+ $codeset = LOCALE_LANG_DEFAULT if (! defined($codeset) || $codeset eq "");
+
+ if ($codeset =~ /^\d+$/) {
+ if ($codeset == LOCALE_LANG_ALPHA_2) {
+ $codeset = "alpha2";
+ } elsif ($codeset == LOCALE_LANG_ALPHA_3) {
+ $codeset = "alpha3";
+ } elsif ($codeset == LOCALE_LANG_TERM) {
+ $codeset = "term";
+ } else {
+ return (1);
+ }
+ }
+
+ if ($codeset eq "alpha2" ||
+ $codeset eq "alpha3" ||
+ $codeset eq "term") {
+ $code = lc($code);
+ } else {
+ return (1);
+ }
+
+ return (0,$code,$codeset);
+}
+#=======================================================================
+#
+# code2language ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub code2language {
+ my($err,$code,$codeset) = _code(@_);
+ return undef if ($err ||
+ ! defined $code);
+
+ return Locale::Codes::_code2name("language",$code,$codeset);
+}
#=======================================================================
#
-# code2language ( CODE )
+# language2code ( LANGUAGE [,CODESET] )
#
#=======================================================================
-sub code2language
-{
- my $code = shift;
-
-
- return undef unless defined $code;
- $code = lc($code);
- if (exists $CODES{$code})
- {
- return $CODES{$code};
- }
- else
- {
- #---------------------------------------------------------------
- # no such language code!
- #---------------------------------------------------------------
- return undef;
- }
+
+sub language2code {
+ my($language,$codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err ||
+ ! defined $language);
+
+ return Locale::Codes::_name2code("language",$language,$codeset);
}
+#=======================================================================
+#
+# language_code2code ( CODE,CODESET_IN,CODESET_OUT )
+#
+#=======================================================================
+
+sub language_code2code {
+ (@_ == 3) or croak "language_code2code() takes 3 arguments!";
+ my($code,$inset,$outset) = @_;
+ my($err,$tmp);
+ ($err,$code,$inset) = _code($code,$inset);
+ return undef if ($err);
+ ($err,$tmp,$outset) = _code("",$outset);
+ return undef if ($err);
+
+ return Locale::Codes::_code2code("language",$code,$inset,$outset);
+}
#=======================================================================
#
-# language2code ( LANGUAGE )
+# all_language_codes ( [CODESET] )
#
#=======================================================================
-sub language2code
-{
- my $lang = shift;
-
-
- return undef unless defined $lang;
- $lang = lc($lang);
- if (exists $LANGUAGES{$lang})
- {
- return $LANGUAGES{$lang};
- }
- else
- {
- #---------------------------------------------------------------
- # no such language!
- #---------------------------------------------------------------
- return undef;
- }
+
+sub all_language_codes {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_codes("language",$codeset);
}
#=======================================================================
#
-# all_language_codes()
+# all_language_names ( [CODESET] )
#
#=======================================================================
-sub all_language_codes
-{
- return keys %CODES;
+
+sub all_language_names {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_names("language",$codeset);
}
+#=======================================================================
+#
+# rename_language ( CODE,NAME [,CODESET] )
+#
+#=======================================================================
+
+sub rename_language {
+ my($code,$new_name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_rename("language",$code,$new_name,$codeset,$nowarn);
+}
#=======================================================================
#
-# all_language_names()
+# add_language ( CODE,NAME [,CODESET] )
#
#=======================================================================
-sub all_language_names
-{
- return values %CODES;
+
+sub add_language {
+ my($code,$name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_add_code("language",$code,$name,$codeset,$nowarn);
}
+#=======================================================================
+#
+# delete_language ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_language {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_delete_code("language",$code,$codeset,$nowarn);
+}
#=======================================================================
-# initialisation code - stuff the DATA into the CODES hash
+#
+# add_language_alias ( NAME,NEW_NAME )
+#
#=======================================================================
-{
- my $code;
- my $language;
- local $_;
-
-
- while (<DATA>)
- {
- next unless /\S/;
- chop;
- ($code, $language) = split(/:/, $_, 2);
- $CODES{$code} = $language;
- $LANGUAGES{"\L$language"} = $code;
- }
-
- close(DATA);
+
+sub add_language_alias {
+ my($name,$new_name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_add_alias("language",$name,$new_name,$nowarn);
}
-1;
+#=======================================================================
+#
+# delete_language_alias ( NAME )
+#
+#=======================================================================
+
+sub delete_language_alias {
+ my($name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_delete_alias("language",$name,$nowarn);
+}
+
+#=======================================================================
+#
+# rename_language_code ( CODE,NEW_CODE [,CODESET] )
+#
+#=======================================================================
-__DATA__
-aa:Afar
-ab:Abkhazian
-ae:Avestan
-af:Afrikaans
-am:Amharic
-ar:Arabic
-as:Assamese
-ay:Aymara
-az:Azerbaijani
-
-ba:Bashkir
-be:Belarusian
-bg:Bulgarian
-bh:Bihari
-bi:Bislama
-bn:Bengali
-bo:Tibetan
-br:Breton
-bs:Bosnian
-
-ca:Catalan
-ce:Chechen
-ch:Chamorro
-co:Corsican
-cs:Czech
-cu:Church Slavic
-cv:Chuvash
-cy:Welsh
-
-da:Danish
-de:German
-dz:Dzongkha
-
-el:Greek
-en:English
-eo:Esperanto
-es:Spanish
-et:Estonian
-eu:Basque
-
-fa:Persian
-fi:Finnish
-fj:Fijian
-fo:Faeroese
-fr:French
-fy:Frisian
-
-ga:Irish
-gd:Gaelic (Scots)
-gl:Gallegan
-gn:Guarani
-gu:Gujarati
-gv:Manx
-
-ha:Hausa
-he:Hebrew
-hi:Hindi
-ho:Hiri Motu
-hr:Croatian
-hu:Hungarian
-hy:Armenian
-hz:Herero
-
-ia:Interlingua
-id:Indonesian
-ie:Interlingue
-ik:Inupiaq
-is:Icelandic
-it:Italian
-iu:Inuktitut
-
-ja:Japanese
-jw:Javanese
-
-ka:Georgian
-ki:Kikuyu
-kj:Kuanyama
-kk:Kazakh
-kl:Kalaallisut
-km:Khmer
-kn:Kannada
-ko:Korean
-ks:Kashmiri
-ku:Kurdish
-kv:Komi
-kw:Cornish
-ky:Kirghiz
-
-la:Latin
-lb:Letzeburgesch
-ln:Lingala
-lo:Lao
-lt:Lithuanian
-lv:Latvian
-
-mg:Malagasy
-mh:Marshall
-mi:Maori
-mk:Macedonian
-ml:Malayalam
-mn:Mongolian
-mo:Moldavian
-mr:Marathi
-ms:Malay
-mt:Maltese
-my:Burmese
-
-na:Nauru
-nb:Norwegian Bokmal
-nd:Ndebele, North
-ne:Nepali
-ng:Ndonga
-nl:Dutch
-nn:Norwegian Nynorsk
-no:Norwegian
-nr:Ndebele, South
-nv:Navajo
-ny:Chichewa; Nyanja
-
-oc:Occitan (post 1500)
-om:Oromo
-or:Oriya
-os:Ossetian; Ossetic
-
-pa:Panjabi
-pi:Pali
-pl:Polish
-ps:Pushto
-pt:Portuguese
-
-qu:Quechua
-
-rm:Rhaeto-Romance
-rn:Rundi
-ro:Romanian
-ru:Russian
-rw:Kinyarwanda
-
-sa:Sanskrit
-sc:Sardinian
-sd:Sindhi
-se:Sami
-sg:Sango
-si:Sinhalese
-sk:Slovak
-sl:Slovenian
-sm:Samoan
-sn:Shona
-so:Somali
-sq:Albanian
-sr:Serbian
-ss:Swati
-st:Sotho
-su:Sundanese
-sv:Swedish
-sw:Swahili
-
-ta:Tamil
-te:Telugu
-tg:Tajik
-th:Thai
-ti:Tigrinya
-tk:Turkmen
-tl:Tagalog
-tn:Tswana
-to:Tonga
-tr:Turkish
-ts:Tsonga
-tt:Tatar
-tw:Twi
-
-ug:Uighur
-uk:Ukrainian
-ur:Urdu
-uz:Uzbek
-
-vi:Vietnamese
-vo:Volapuk
-
-wo:Wolof
-
-xh:Xhosa
-
-yi:Yiddish
-yo:Yoruba
-
-za:Zhuang
-zh:Chinese
-zu:Zulu
+sub rename_language_code {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
+
+ return Locale::Codes::_rename_code("language",$code,$new_code,$codeset,$nowarn);
+}
+
+#=======================================================================
+#
+# add_language_code_alias ( CODE,NEW_CODE [,CODESET] )
+#
+#=======================================================================
+
+sub add_language_code_alias {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
+
+ return Locale::Codes::_add_code_alias("language",$code,$new_code,$codeset,$nowarn);
+}
+
+#=======================================================================
+#
+# delete_language_code_alias ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_language_code_alias {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_delete_code_alias("language",$code,$codeset,$nowarn);
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Language.pod b/Master/tlpkg/tlperl/lib/Locale/Language.pod
index ce7b378e5d9..df9c1472fbd 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Language.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Language.pod
@@ -1,115 +1,91 @@
+=pod
=head1 NAME
-Locale::Language - ISO two letter codes for language identification (ISO 639)
+Locale::Language - standard codes for language identification
=head1 SYNOPSIS
- use Locale::Language;
-
- $lang = code2language('en'); # $lang gets 'English'
- $code = language2code('French'); # $code gets 'fr'
-
- @codes = all_language_codes();
- @names = all_language_names();
+ use Locale::Language;
+ $lang = code2language('en'); # $lang gets 'English'
+ $code = language2code('French'); # $code gets 'fr'
+
+ @codes = all_language_codes();
+ @names = all_language_names();
=head1 DESCRIPTION
-The C<Locale::Language> module provides access to the ISO two-letter
-codes for identifying languages, as defined in ISO 639. You can either
-access the codes via the L<conversion routines> (described below),
-or via the two functions which return lists of all language codes or
-all language names.
+The C<Locale::Language> module provides access to standard codes used
+for identifying languages, such as those as defined in ISO 639.
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+639 two-letter codes will be used.
-=head1 CONVERSION ROUTINES
+=head1 SUPPORTED CODE SETS
-There are two conversion routines: C<code2language()> and C<language2code()>.
+There are several different code sets you can use for identifying
+languages. The ones currently supported are:
=over 4
-=item code2language()
+=item B<alpha-2>
-This function takes a two letter language code and returns a string
-which contains the name of the language identified. If the code is
-not a valid language code, as defined by ISO 639, then C<undef>
-will be returned.
+This is the set of two-letter (lowercase) codes from ISO 639, such
+as 'he' for Hebrew.
- $lang = code2language($code);
+This code set is identified with the symbol C<LOCALE_LANG_ALPHA_2>.
-=item language2code()
+This is the default code set.
-This function takes a language name and returns the corresponding
-two letter language code, if such exists.
-If the argument could not be identified as a language name,
-then C<undef> will be returned.
+=item B<alpha-3>
- $code = language2code('French');
+This is the set of three-letter (lowercase) bibliographic codes from
+ISO 639, such as 'heb' for Hebrew.
-The case of the language name is not important.
-See the section L<KNOWN BUGS AND LIMITATIONS> below.
+This code set is identified with the symbol C<LOCALE_LANG_ALPHA_3>.
-=back
+=item B<term>
+This is the set of three-letter (lowercase) terminologic codes from
+ISO 639.
-=head1 QUERY ROUTINES
+This code set is identified with the symbol C<LOCALE_LANG_TERM>.
-There are two function which can be used to obtain a list of all
-language codes, or all language names:
+=back
+
+=head1 ROUTINES
=over 4
-=item C<all_language_codes()>
+=item B<code2language ( CODE [,CODESET] )>
-Returns a list of all two-letter language codes.
-The codes are guaranteed to be all lower-case,
-and not in any particular order.
+=item B<language2code ( NAME [,CODESET] )>
-=item C<all_language_names()>
+=item B<language_code2code ( CODE ,CODESET ,CODESET2 )>
-Returns a list of all language names for which there is a corresponding
-two-letter language code. The names are capitalised, and not returned
-in any particular order.
+=item B<all_language_codes ( [CODESET] )>
-=back
+=item B<all_language_names ( [CODESET] )>
+=item B<Locale::Language::rename_language ( CODE ,NEW_NAME [,CODESET] )>
-=head1 EXAMPLES
+=item B<Locale::Language::add_language ( CODE ,NAME [,CODESET] )>
-The following example illustrates use of the C<code2language()> function.
-The user is prompted for a language code, and then told the corresponding
-language name:
+=item B<Locale::Language::delete_language ( CODE [,CODESET] )>
- $| = 1; # turn off buffering
-
- print "Enter language code: ";
- chop($code = <STDIN>);
- $lang = code2language($code);
- if (defined $lang)
- {
- print "$code = $lang\n";
- }
- else
- {
- print "'$code' is not a valid language code!\n";
- }
+=item B<Locale::Language::add_language_alias ( NAME ,NEW_NAME )>
-=head1 KNOWN BUGS AND LIMITATIONS
+=item B<Locale::Language::delete_language_alias ( NAME )>
-=over 4
-
-=item *
+=item B<Locale::Language::rename_language_code ( CODE ,NEW_CODE [,CODESET] )>
-In the current implementation, all data is read in when the
-module is loaded, and then held in memory.
-A lazy implementation would be more memory friendly.
+=item B<Locale::Language::add_language_code_alias ( CODE ,NEW_CODE [,CODESET] )>
-=item *
+=item B<Locale::Language::delete_language_code_alias ( CODE [,CODESET] )>
-Currently just supports the two letter language codes -
-there are also three-letter codes, and numbers.
-Would these be of any use to anyone?
+These routines are all documented in the Locale::Codes man page.
=back
@@ -117,42 +93,29 @@ Would these be of any use to anyone?
=over 4
-=item Locale::Country
-
-ISO codes for identification of country (ISO 3166).
-Supports 2-letter, 3-letter, and numeric country codes.
-
-=item Locale::Script
+=item B<Locale::Codes>
-ISO codes for identification of written scripts (ISO 15924).
+=item B<Locale::Constants>
-=item Locale::Currency
+=item B<http://www.loc.gov/standards/iso639-2/>
-ISO three letter codes for identification of currencies and funds (ISO 4217).
-
-=item ISO 639:1988 (E/F)
-
-Code for the representation of names of languages.
-
-=item http://lcweb.loc.gov/standards/iso639-2/langhome.html
-
-Home page for ISO 639-2.
+Source of the ISO 639 codes.
=back
-
=head1 AUTHOR
-Neil Bowers E<lt>neil@bowers.comE<gt>
+See Locale::Codes for full author history.
-=head1 COPYRIGHT
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
-Copyright (C) 2002-2004, Neil Bowers.
+=head1 COPYRIGHT
-Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext.pm b/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
index 1bfbbc9bba4..af5d21a78a9 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
@@ -1,16 +1,33 @@
+
package Locale::Maketext;
use strict;
use vars qw( @ISA $VERSION $MATCH_SUPERS $USING_LANGUAGE_TAGS
$USE_LITERALS $MATCH_SUPERS_TIGHTLY);
use Carp ();
-use I18N::LangTags 0.30 ();
+use I18N::LangTags ();
+use I18N::LangTags::Detect ();
#--------------------------------------------------------------------------
BEGIN { unless(defined &DEBUG) { *DEBUG = sub () {0} } }
# define the constant 'DEBUG' at compile-time
-$VERSION = '1.14';
+# turn on utf8 if we have it (this is what GutsLoader.pm used to do essentially )
+# use if (exists $INC{'utf8.pm'} || eval 'use utf8'), 'utf8';
+BEGIN {
+
+ # if we have it || we can load it
+ if ( exists $INC{'utf8.pm'} || eval { local $SIG{'__DIE__'};require utf8; } ) {
+ utf8->import();
+ DEBUG and warn " utf8 on for _compile()\n";
+ }
+ else {
+ DEBUG and warn " utf8 not available for _compile() ($INC{'utf8.pm'})\n$@\n";
+ }
+}
+
+
+$VERSION = '1.19';
@ISA = ();
$MATCH_SUPERS = 1;
@@ -131,8 +148,7 @@ sub failure_handler_auto {
$handle->{'failure_lex'} ||= {};
my $lex = $handle->{'failure_lex'};
- my $value;
- $lex->{$phrase} ||= ($value = $handle->_compile($phrase));
+ my $value ||= ($lex->{$phrase} ||= $handle->_compile($phrase));
# Dumbly copied from sub maketext:
return ${$value} if ref($value) eq 'SCALAR';
@@ -144,12 +160,11 @@ sub failure_handler_auto {
# If we make it here, there was an exception thrown in the
# call to $value, and so scream:
if($@) {
- my $err = $@;
# pretty up the error message
- $err =~ s{\s+at\s+\(eval\s+\d+\)\s+line\s+(\d+)\.?\n?}
+ $@ =~ s{\s+at\s+\(eval\s+\d+\)\s+line\s+(\d+)\.?\n?}
{\n in bracket code [compiled line $1],}s;
#$err =~ s/\n?$/\n/s;
- Carp::croak "Error in maketexting \"$phrase\":\n$err as used";
+ Carp::croak "Error in maketexting \"$phrase\":\n$@ as used";
# Rather unexpected, but suppose that the sub tried calling
# a method that didn't exist.
}
@@ -179,34 +194,54 @@ sub maketext {
my($handle, $phrase) = splice(@_,0,2);
Carp::confess('No handle/phrase') unless (defined($handle) && defined($phrase));
+ # backup $@ in case it it's still being used in the calling code.
+ # If no failures, we'll re-set it back to what it was later.
+ my $at = $@;
- # Don't interefere with $@ in case that's being interpolated into the msg.
- local $@;
+ # Copy @_ case one of its elements is $@.
+ @_ = @_;
# Look up the value:
my $value;
- foreach my $h_r (
- @{ $isa_scan{ref($handle) || $handle} || $handle->_lex_refs }
- ) {
- DEBUG and warn "* Looking up \"$phrase\" in $h_r\n";
- if(exists $h_r->{$phrase}) {
- DEBUG and warn " Found \"$phrase\" in $h_r\n";
- unless(ref($value = $h_r->{$phrase})) {
- # Nonref means it's not yet compiled. Compile and replace.
- $value = $h_r->{$phrase} = $handle->_compile($value);
+ if (exists $handle->{'_external_lex_cache'}{$phrase}) {
+ DEBUG and warn "* Using external lex cache version of \"$phrase\"\n";
+ $value = $handle->{'_external_lex_cache'}{$phrase};
+ }
+ else {
+ foreach my $h_r (
+ @{ $isa_scan{ref($handle) || $handle} || $handle->_lex_refs }
+ ) {
+ DEBUG and warn "* Looking up \"$phrase\" in $h_r\n";
+ if(exists $h_r->{$phrase}) {
+ DEBUG and warn " Found \"$phrase\" in $h_r\n";
+ unless(ref($value = $h_r->{$phrase})) {
+ # Nonref means it's not yet compiled. Compile and replace.
+ if ($handle->{'use_external_lex_cache'}) {
+ $value = $handle->{'_external_lex_cache'}{$phrase} = $handle->_compile($value);
+ }
+ else {
+ $value = $h_r->{$phrase} = $handle->_compile($value);
+ }
+ }
+ last;
}
- last;
- }
- elsif($phrase !~ m/^_/s and $h_r->{'_AUTO'}) {
- # it's an auto lex, and this is an autoable key!
- DEBUG and warn " Automaking \"$phrase\" into $h_r\n";
-
- $value = $h_r->{$phrase} = $handle->_compile($phrase);
- last;
+ # extending packages need to be able to localize _AUTO and if readonly can't "local $h_r->{'_AUTO'} = 1;"
+ # but they can "local $handle->{'_external_lex_cache'}{'_AUTO'} = 1;"
+ elsif($phrase !~ m/^_/s and ($handle->{'use_external_lex_cache'} ? ( exists $handle->{'_external_lex_cache'}{'_AUTO'} ? $handle->{'_external_lex_cache'}{'_AUTO'} : $h_r->{'_AUTO'} ) : $h_r->{'_AUTO'})) {
+ # it's an auto lex, and this is an autoable key!
+ DEBUG and warn " Automaking \"$phrase\" into $h_r\n";
+ if ($handle->{'use_external_lex_cache'}) {
+ $value = $handle->{'_external_lex_cache'}{$phrase} = $handle->_compile($phrase);
+ }
+ else {
+ $value = $h_r->{$phrase} = $handle->_compile($phrase);
+ }
+ last;
+ }
+ DEBUG>1 and print " Not found in $h_r, nor automakable\n";
+ # else keep looking
}
- DEBUG>1 and print " Not found in $h_r, nor automakable\n";
- # else keep looking
}
unless(defined($value)) {
@@ -215,10 +250,12 @@ sub maketext {
DEBUG and warn "WARNING0: maketext fails looking for <$phrase>\n";
my $fail;
if(ref($fail = $handle->{'fail'}) eq 'CODE') { # it's a sub reference
+ $@ = $at; # Put $@ back in case we altered it along the way.
return &{$fail}($handle, $phrase, @_);
# If it ever returns, it should return a good value.
}
else { # It's a method name
+ $@ = $at; # Put $@ back in case we altered it along the way.
return $handle->$fail($phrase, @_);
# If it ever returns, it should return a good value.
}
@@ -229,8 +266,14 @@ sub maketext {
}
}
- return $$value if ref($value) eq 'SCALAR';
- return $value unless ref($value) eq 'CODE';
+ if(ref($value) eq 'SCALAR'){
+ $@ = $at; # Put $@ back in case we altered it along the way.
+ return $$value ;
+ }
+ if(ref($value) ne 'CODE'){
+ $@ = $at; # Put $@ back in case we altered it along the way.
+ return $value ;
+ }
{
local $SIG{'__DIE__'};
@@ -239,18 +282,19 @@ sub maketext {
# If we make it here, there was an exception thrown in the
# call to $value, and so scream:
if ($@) {
- my $err = $@;
# pretty up the error message
- $err =~ s{\s+at\s+\(eval\s+\d+\)\s+line\s+(\d+)\.?\n?}
+ $@ =~ s{\s+at\s+\(eval\s+\d+\)\s+line\s+(\d+)\.?\n?}
{\n in bracket code [compiled line $1],}s;
#$err =~ s/\n?$/\n/s;
- Carp::croak "Error in maketexting \"$phrase\":\n$err as used";
+ Carp::croak "Error in maketexting \"$phrase\":\n$@ as used";
# Rather unexpected, but suppose that the sub tried calling
# a method that didn't exist.
}
else {
+ $@ = $at; # Put $@ back in case we altered it along the way.
return $value;
}
+ $@ = $at; # Put $@ back in case we altered it along the way.
}
###########################################################################
@@ -347,7 +391,6 @@ sub _langtag_munging {
###########################################################################
sub _ambient_langprefs {
- require I18N::LangTags::Detect;
return I18N::LangTags::Detect::detect();
}
@@ -387,10 +430,6 @@ sub _add_supers {
#
###########################################################################
-use Locale::Maketext::GutsLoader;
-
-###########################################################################
-
my %tried = ();
# memoization of whether we've used this module, or found it unusable.
@@ -400,16 +439,18 @@ sub _try_use { # Basically a wrapper around "require Modulename"
my $module = $_[0]; # ASSUME sane module name!
{ no strict 'refs';
+ no warnings 'once';
return($tried{$module} = 1)
if %{$module . '::Lexicon'} or @{$module . '::ISA'};
# weird case: we never use'd it, but there it is!
}
DEBUG and warn " About to use $module ...\n";
- {
- local $SIG{'__DIE__'};
- eval "require $module"; # used to be "use $module", but no point in that.
- }
+
+ local $SIG{'__DIE__'};
+ local $@;
+ eval "require $module"; # used to be "use $module", but no point in that.
+
if($@) {
DEBUG and warn "Error using $module \: $@\n";
return $tried{$module} = 0;
@@ -453,4 +494,319 @@ sub _lex_refs { # report the lexicon references for this handle's class
sub clear_isa_scan { %isa_scan = (); return; } # end on a note of simplicity!
+#--------------------------------------------------------------------------
+
+sub _compile {
+ # This big scary routine compiles an entry.
+ # It returns either a coderef if there's brackety bits in this, or
+ # otherwise a ref to a scalar.
+
+ my $string_to_compile = $_[1]; # There are taint issues using regex on @_ - perlbug 60378,27344
+
+ # The while() regex is more expensive than this check on strings that don't need a compile.
+ # this op causes a ~2% speed hit for strings that need compile and a 250% speed improvement
+ # on strings that don't need compiling.
+ return \"$string_to_compile" if($string_to_compile !~ m/[\[~\]]/ms); # return a string ref if chars [~] are not in the string
+
+ my $target = ref($_[0]) || $_[0];
+
+ my(@code);
+ my(@c) = (''); # "chunks" -- scratch.
+ my $call_count = 0;
+ my $big_pile = '';
+ {
+ my $in_group = 0; # start out outside a group
+ my($m, @params); # scratch
+
+ while($string_to_compile =~ # Iterate over chunks.
+ m/(
+ [^\~\[\]]+ # non-~[] stuff (Capture everything else here)
+ |
+ ~. # ~[, ~], ~~, ~other
+ |
+ \[ # [ presumably opening a group
+ |
+ \] # ] presumably closing a group
+ |
+ ~ # terminal ~ ?
+ |
+ $
+ )/xgs
+ ) {
+ DEBUG>2 and warn qq{ "$1"\n};
+
+ if($1 eq '[' or $1 eq '') { # "[" or end
+ # Whether this is "[" or end, force processing of any
+ # preceding literal.
+ if($in_group) {
+ if($1 eq '') {
+ $target->_die_pointing($string_to_compile, 'Unterminated bracket group');
+ }
+ else {
+ $target->_die_pointing($string_to_compile, 'You can\'t nest bracket groups');
+ }
+ }
+ else {
+ if ($1 eq '') {
+ DEBUG>2 and warn " [end-string]\n";
+ }
+ else {
+ $in_group = 1;
+ }
+ die "How come \@c is empty?? in <$string_to_compile>" unless @c; # sanity
+ if(length $c[-1]) {
+ # Now actually processing the preceding literal
+ $big_pile .= $c[-1];
+ if($USE_LITERALS and (
+ (ord('A') == 65)
+ ? $c[-1] !~ m/[^\x20-\x7E]/s
+ # ASCII very safe chars
+ : $c[-1] !~ m/[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~\x07]/s
+ # EBCDIC very safe chars
+ )) {
+ # normal case -- all very safe chars
+ $c[-1] =~ s/'/\\'/g;
+ push @code, q{ '} . $c[-1] . "',\n";
+ $c[-1] = ''; # reuse this slot
+ }
+ else {
+ push @code, ' $c[' . $#c . "],\n";
+ push @c, ''; # new chunk
+ }
+ }
+ # else just ignore the empty string.
+ }
+
+ }
+ elsif($1 eq ']') { # "]"
+ # close group -- go back in-band
+ if($in_group) {
+ $in_group = 0;
+
+ DEBUG>2 and warn " --Closing group [$c[-1]]\n";
+
+ # And now process the group...
+
+ if(!length($c[-1]) or $c[-1] =~ m/^\s+$/s) {
+ DEBUG>2 and warn " -- (Ignoring)\n";
+ $c[-1] = ''; # reset out chink
+ next;
+ }
+
+ #$c[-1] =~ s/^\s+//s;
+ #$c[-1] =~ s/\s+$//s;
+ ($m,@params) = split(/,/, $c[-1], -1); # was /\s*,\s*/
+
+ # A bit of a hack -- we've turned "~,"'s into DELs, so turn
+ # 'em into real commas here.
+ if (ord('A') == 65) { # ASCII, etc
+ foreach($m, @params) { tr/\x7F/,/ }
+ }
+ else { # EBCDIC (1047, 0037, POSIX-BC)
+ # Thanks to Peter Prymmer for the EBCDIC handling
+ foreach($m, @params) { tr/\x07/,/ }
+ }
+
+ # Special-case handling of some method names:
+ if($m eq '_*' or $m =~ m/^_(-?\d+)$/s) {
+ # Treat [_1,...] as [,_1,...], etc.
+ unshift @params, $m;
+ $m = '';
+ }
+ elsif($m eq '*') {
+ $m = 'quant'; # "*" for "times": "4 cars" is 4 times "cars"
+ }
+ elsif($m eq '#') {
+ $m = 'numf'; # "#" for "number": [#,_1] for "the number _1"
+ }
+
+ # Most common case: a simple, legal-looking method name
+ if($m eq '') {
+ # 0-length method name means to just interpolate:
+ push @code, ' (';
+ }
+ elsif($m =~ /^\w+(?:\:\:\w+)*$/s
+ and $m !~ m/(?:^|\:)\d/s
+ # exclude starting a (sub)package or symbol with a digit
+ ) {
+ # Yes, it even supports the demented (and undocumented?)
+ # $obj->Foo::bar(...) syntax.
+ $target->_die_pointing(
+ $string_to_compile, q{Can't use "SUPER::" in a bracket-group method},
+ 2 + length($c[-1])
+ )
+ if $m =~ m/^SUPER::/s;
+ # Because for SUPER:: to work, we'd have to compile this into
+ # the right package, and that seems just not worth the bother,
+ # unless someone convinces me otherwise.
+
+ push @code, ' $_[0]->' . $m . '(';
+ }
+ else {
+ # TODO: implement something? or just too icky to consider?
+ $target->_die_pointing(
+ $string_to_compile,
+ "Can't use \"$m\" as a method name in bracket group",
+ 2 + length($c[-1])
+ );
+ }
+
+ pop @c; # we don't need that chunk anymore
+ ++$call_count;
+
+ foreach my $p (@params) {
+ if($p eq '_*') {
+ # Meaning: all parameters except $_[0]
+ $code[-1] .= ' @_[1 .. $#_], ';
+ # and yes, that does the right thing for all @_ < 3
+ }
+ elsif($p =~ m/^_(-?\d+)$/s) {
+ # _3 meaning $_[3]
+ $code[-1] .= '$_[' . (0 + $1) . '], ';
+ }
+ elsif($USE_LITERALS and (
+ (ord('A') == 65)
+ ? $p !~ m/[^\x20-\x7E]/s
+ # ASCII very safe chars
+ : $p !~ m/[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~\x07]/s
+ # EBCDIC very safe chars
+ )) {
+ # Normal case: a literal containing only safe characters
+ $p =~ s/'/\\'/g;
+ $code[-1] .= q{'} . $p . q{', };
+ }
+ else {
+ # Stow it on the chunk-stack, and just refer to that.
+ push @c, $p;
+ push @code, ' $c[' . $#c . '], ';
+ }
+ }
+ $code[-1] .= "),\n";
+
+ push @c, '';
+ }
+ else {
+ $target->_die_pointing($string_to_compile, q{Unbalanced ']'});
+ }
+
+ }
+ elsif(substr($1,0,1) ne '~') {
+ # it's stuff not containing "~" or "[" or "]"
+ # i.e., a literal blob
+ $c[-1] .= $1;
+
+ }
+ elsif($1 eq '~~') { # "~~"
+ $c[-1] .= '~';
+
+ }
+ elsif($1 eq '~[') { # "~["
+ $c[-1] .= '[';
+
+ }
+ elsif($1 eq '~]') { # "~]"
+ $c[-1] .= ']';
+
+ }
+ elsif($1 eq '~,') { # "~,"
+ if($in_group) {
+ # This is a hack, based on the assumption that no-one will actually
+ # want a DEL inside a bracket group. Let's hope that's it's true.
+ if (ord('A') == 65) { # ASCII etc
+ $c[-1] .= "\x7F";
+ }
+ else { # EBCDIC (cp 1047, 0037, POSIX-BC)
+ $c[-1] .= "\x07";
+ }
+ }
+ else {
+ $c[-1] .= '~,';
+ }
+
+ }
+ elsif($1 eq '~') { # possible only at string-end, it seems.
+ $c[-1] .= '~';
+
+ }
+ else {
+ # It's a "~X" where X is not a special character.
+ # Consider it a literal ~ and X.
+ $c[-1] .= $1;
+ }
+ }
+ }
+
+ if($call_count) {
+ undef $big_pile; # Well, nevermind that.
+ }
+ else {
+ # It's all literals! Ahwell, that can happen.
+ # So don't bother with the eval. Return a SCALAR reference.
+ return \$big_pile;
+ }
+
+ die q{Last chunk isn't null??} if @c and length $c[-1]; # sanity
+ DEBUG and warn scalar(@c), " chunks under closure\n";
+ if(@code == 0) { # not possible?
+ DEBUG and warn "Empty code\n";
+ return \'';
+ }
+ elsif(@code > 1) { # most cases, presumably!
+ unshift @code, "join '',\n";
+ }
+ unshift @code, "use strict; sub {\n";
+ push @code, "}\n";
+
+ DEBUG and warn @code;
+ my $sub = eval(join '', @code);
+ die "$@ while evalling" . join('', @code) if $@; # Should be impossible.
+ return $sub;
+}
+
+#--------------------------------------------------------------------------
+
+sub _die_pointing {
+ # This is used by _compile to throw a fatal error
+ my $target = shift; # class name
+ # ...leaving $_[0] the error-causing text, and $_[1] the error message
+
+ my $i = index($_[0], "\n");
+
+ my $pointy;
+ my $pos = pos($_[0]) - (defined($_[2]) ? $_[2] : 0) - 1;
+ if($pos < 1) {
+ $pointy = "^=== near there\n";
+ }
+ else { # we need to space over
+ my $first_tab = index($_[0], "\t");
+ if($pos > 2 and ( -1 == $first_tab or $first_tab > pos($_[0]))) {
+ # No tabs, or the first tab is harmlessly after where we will point to,
+ # AND we're far enough from the margin that we can draw a proper arrow.
+ $pointy = ('=' x $pos) . "^ near there\n";
+ }
+ else {
+ # tabs screw everything up!
+ $pointy = substr($_[0],0,$pos);
+ $pointy =~ tr/\t //cd;
+ # make everything into whitespace, but preserving tabs
+ $pointy .= "^=== near there\n";
+ }
+ }
+
+ my $errmsg = "$_[1], in\:\n$_[0]";
+
+ if($i == -1) {
+ # No newline.
+ $errmsg .= "\n" . $pointy;
+ }
+ elsif($i == (length($_[0]) - 1) ) {
+ # Already has a newline at end.
+ $errmsg .= $pointy;
+ }
+ else {
+ # don't bother with the pointy bit, I guess.
+ }
+ Carp::croak( "$errmsg via $target, as used" );
+}
+
1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
index 15533e4e870..14b47c884e8 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
@@ -937,6 +937,25 @@ lexicon keys be autoable, except for possibly a few, and I
arbitrarily decided to use a leading underscore as a signal
to distinguish those few.
+=head1 READONLY LEXICONS
+
+If your lexicon is a tied hash the simple act of caching the compiled value can be fatal.
+
+For example a L<GDBM_File> GDBM_READER tied hash will die with something like:
+
+ gdbm store returned -1, errno 2, key "..." at ...
+
+All you need to do is turn on caching outside of the lexicon hash itself like so:
+
+ sub init {
+ my ($lh) = @_;
+ ...
+ $lh->{'use_external_lex_cache'} = 1;
+ ...
+ }
+
+And then instead of storing the compiled value in the lexicon hash it will store it in $lh->{'_external_lex_cache'}
+
=head1 CONTROLLING LOOKUP FAILURE
If you call $lh->maketext(I<key>, ...parameters...),
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod
new file mode 100644
index 00000000000..3457f7ca12a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/Cookbook.pod
@@ -0,0 +1,150 @@
+# This document contains text in Perl "POD" format.
+# Use a POD viewer like perldoc or perlman to render it.
+
+=encoding utf-8
+
+=head1 NAME
+
+Locale::Maketext::Cookbook - recipes for using Locale::Maketext
+
+=head1 INTRODUCTION
+
+This is a work in progress. Not much progress by now :-)
+
+=head1 ONESIDED LEXICONS
+
+I<Adapted from a suggestion by Dan Muey>
+
+It may be common (for example at your main lexicon) that
+the hash keys and values coincide. Like that
+
+ q{Hello, tell me your name}
+ => q{Hello, tell me your name}
+
+It would be nice to just write:
+
+ q{Hello, tell me your name} => ''
+
+and have this magically inflated to the first form.
+Among the advantages of such representation, that would
+lead to
+smaller files, less prone to mistyping or mispasting,
+and handy to someone translating it which can simply
+copy the main lexicon and enter the translation
+instead of having to remove the value first.
+
+That can be achieved by overriding C<init>
+in your class and working on the main lexicon
+with code like that:
+
+ package My::I18N;
+ ...
+
+ sub init {
+ my $lh = shift; # a newborn handle
+ $lh->SUPER::init();
+ inflate_lexicon(\%My::I18N::en::Lexicon);
+ return;
+ }
+
+ sub inflate_lexicon {
+ my $lex = shift;
+ while (my ($k, $v) = each %$lex) {
+ $v = $k if !defined $v || $v eq '';
+ }
+ }
+
+Here we are assuming C<My::I18N::en> to own the
+main lexicon.
+
+There are some downsides here: the size economy
+will not stand at runtime after this C<init()>
+runs. But it should not be that critical, since
+if you don't have space for that, you won't have
+space for any other language besides the main one
+as well. You could do that too with ties,
+expanding the value at lookup time which
+should be more time expensive as an option.
+
+=head1 DECIMAL PLACES IN NUMBER FORMATTING
+
+I<After CPAN RT #36136 (https://rt.cpan.org/Ticket/Display.html?id=36136)>
+
+The documentation of L<Locale::Maketext> advises that
+the standard bracket method C<numf> is limited and that
+you must override that for better results. It even
+suggests the use of L<Number::Format>.
+
+One such defect of standard C<numf> is to not be
+able to use a certain decimal precision.
+For example,
+
+ $lh->maketext('pi is [numf,_1]', 355/113);
+
+outputs
+
+ pi is 3.14159292035398
+
+Since pi ≈ 355/116 is only accurate
+to 6 decimal places, you would want to say:
+
+ $lh->maketext('pi is [numf,_1,6]', 355/113);
+
+and get "pi is 3.141592".
+
+One solution for that could use C<Number::Format>
+like that:
+
+ package Wuu;
+
+ use base qw(Locale::Maketext);
+
+ use Number::Format;
+
+ # can be overridden according to language conventions
+ sub _numf_params {
+ return (
+ -thousands_sep => '.',
+ -decimal_point => ',',
+ -decimal_digits => 2,
+ );
+ }
+
+ # builds a Number::Format
+ sub _numf_formatter {
+ my ($lh, $scale) = @_;
+ my @params = $lh->_numf_params;
+ if ($scale) { # use explicit scale rather than default
+ push @params, (-decimal_digits => $scale);
+ }
+ return Number::Format->new(@params);
+ }
+
+ sub numf {
+ my ($lh, $n, $scale) = @_;
+ # get the (cached) formatter
+ my $nf = $lh->{__nf}{$scale} ||= $lh->_numf_formatter($scale);
+ # format the number itself
+ return $nf->format_number($n);
+ }
+
+ package Wuu::pt;
+
+ use base qw(Wuu);
+
+and then
+
+ my $lh = Wuu->get_handle('pt');
+ $lh->maketext('A [numf,_1,3] km de distância', 1550.2222);
+
+would return "A 1.550,222 km de distância".
+
+Notice that the standard utility methods of
+C<Locale::Maketext> are irremediably limited
+because they could not aim to do everything
+that could be expected from them in different languages,
+cultures and applications. So extending C<numf>,
+C<quant>, and C<sprintf> is natural as soon
+as your needs exceed what the standard ones do.
+
+
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm b/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm
index 9af292c61cc..75c993caee5 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm
@@ -1,328 +1,24 @@
package Locale::Maketext::Guts;
-$VERSION = '1.13';
+use Locale::Maketext;
-BEGIN {
- # Just so we're nice and define SOMETHING in "our" package.
- *zorp = sub { return scalar @_ } unless defined &zorp;
-}
+our $VERSION = '1.17';
-package Locale::Maketext;
-use strict;
-use vars qw($USE_LITERALS $GUTSPATH);
+=head1 NAME
-BEGIN {
- $GUTSPATH = __FILE__;
- *DEBUG = sub () {0} unless defined &DEBUG;
-}
+Locale::Maketext::Guts - Deprecated module to load Locale::Maketext utf8 code
-use utf8;
+=head1 SYNOPSIS
-sub _compile {
- # This big scary routine compiles an entry.
- # It returns either a coderef if there's brackety bits in this, or
- # otherwise a ref to a scalar.
+ # Do this instead please
+ use Locale::Maketext
- my $target = ref($_[0]) || $_[0];
+=head1 DESCRIPTION
- my(@code);
- my(@c) = (''); # "chunks" -- scratch.
- my $call_count = 0;
- my $big_pile = '';
- {
- my $in_group = 0; # start out outside a group
- my($m, @params); # scratch
+Previously Local::Maketext::GutsLoader performed some magic to load
+Locale::Maketext when utf8 was unavailable. The subs this module provided
+were merged back into Locale::Maketext
- while($_[1] =~ # Iterate over chunks.
- m/\G(
- [^\~\[\]]+ # non-~[] stuff
- |
- ~. # ~[, ~], ~~, ~other
- |
- \[ # [ presumably opening a group
- |
- \] # ] presumably closing a group
- |
- ~ # terminal ~ ?
- |
- $
- )/xgs
- ) {
- DEBUG>2 and print qq{ "$1"\n};
-
- if($1 eq '[' or $1 eq '') { # "[" or end
- # Whether this is "[" or end, force processing of any
- # preceding literal.
- if($in_group) {
- if($1 eq '') {
- $target->_die_pointing($_[1], 'Unterminated bracket group');
- }
- else {
- $target->_die_pointing($_[1], 'You can\'t nest bracket groups');
- }
- }
- else {
- if ($1 eq '') {
- DEBUG>2 and print " [end-string]\n";
- }
- else {
- $in_group = 1;
- }
- die "How come \@c is empty?? in <$_[1]>" unless @c; # sanity
- if(length $c[-1]) {
- # Now actually processing the preceding literal
- $big_pile .= $c[-1];
- if($USE_LITERALS and (
- (ord('A') == 65)
- ? $c[-1] !~ m/[^\x20-\x7E]/s
- # ASCII very safe chars
- : $c[-1] !~ m/[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~\x07]/s
- # EBCDIC very safe chars
- )) {
- # normal case -- all very safe chars
- $c[-1] =~ s/'/\\'/g;
- push @code, q{ '} . $c[-1] . "',\n";
- $c[-1] = ''; # reuse this slot
- }
- else {
- push @code, ' $c[' . $#c . "],\n";
- push @c, ''; # new chunk
- }
- }
- # else just ignore the empty string.
- }
-
- }
- elsif($1 eq ']') { # "]"
- # close group -- go back in-band
- if($in_group) {
- $in_group = 0;
-
- DEBUG>2 and print " --Closing group [$c[-1]]\n";
-
- # And now process the group...
-
- if(!length($c[-1]) or $c[-1] =~ m/^\s+$/s) {
- DEBUG > 2 and print " -- (Ignoring)\n";
- $c[-1] = ''; # reset out chink
- next;
- }
-
- #$c[-1] =~ s/^\s+//s;
- #$c[-1] =~ s/\s+$//s;
- ($m,@params) = split(/,/, $c[-1], -1); # was /\s*,\s*/
-
- # A bit of a hack -- we've turned "~,"'s into DELs, so turn
- # 'em into real commas here.
- if (ord('A') == 65) { # ASCII, etc
- foreach($m, @params) { tr/\x7F/,/ }
- }
- else { # EBCDIC (1047, 0037, POSIX-BC)
- # Thanks to Peter Prymmer for the EBCDIC handling
- foreach($m, @params) { tr/\x07/,/ }
- }
-
- # Special-case handling of some method names:
- if($m eq '_*' or $m =~ m/^_(-?\d+)$/s) {
- # Treat [_1,...] as [,_1,...], etc.
- unshift @params, $m;
- $m = '';
- }
- elsif($m eq '*') {
- $m = 'quant'; # "*" for "times": "4 cars" is 4 times "cars"
- }
- elsif($m eq '#') {
- $m = 'numf'; # "#" for "number": [#,_1] for "the number _1"
- }
-
- # Most common case: a simple, legal-looking method name
- if($m eq '') {
- # 0-length method name means to just interpolate:
- push @code, ' (';
- }
- elsif($m =~ /^\w+(?:\:\:\w+)*$/s
- and $m !~ m/(?:^|\:)\d/s
- # exclude starting a (sub)package or symbol with a digit
- ) {
- # Yes, it even supports the demented (and undocumented?)
- # $obj->Foo::bar(...) syntax.
- $target->_die_pointing(
- $_[1], q{Can't use "SUPER::" in a bracket-group method},
- 2 + length($c[-1])
- )
- if $m =~ m/^SUPER::/s;
- # Because for SUPER:: to work, we'd have to compile this into
- # the right package, and that seems just not worth the bother,
- # unless someone convinces me otherwise.
-
- push @code, ' $_[0]->' . $m . '(';
- }
- else {
- # TODO: implement something? or just too icky to consider?
- $target->_die_pointing(
- $_[1],
- "Can't use \"$m\" as a method name in bracket group",
- 2 + length($c[-1])
- );
- }
-
- pop @c; # we don't need that chunk anymore
- ++$call_count;
-
- foreach my $p (@params) {
- if($p eq '_*') {
- # Meaning: all parameters except $_[0]
- $code[-1] .= ' @_[1 .. $#_], ';
- # and yes, that does the right thing for all @_ < 3
- }
- elsif($p =~ m/^_(-?\d+)$/s) {
- # _3 meaning $_[3]
- $code[-1] .= '$_[' . (0 + $1) . '], ';
- }
- elsif($USE_LITERALS and (
- (ord('A') == 65)
- ? $p !~ m/[^\x20-\x7E]/s
- # ASCII very safe chars
- : $p !~ m/[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~\x07]/s
- # EBCDIC very safe chars
- )) {
- # Normal case: a literal containing only safe characters
- $p =~ s/'/\\'/g;
- $code[-1] .= q{'} . $p . q{', };
- }
- else {
- # Stow it on the chunk-stack, and just refer to that.
- push @c, $p;
- push @code, ' $c[' . $#c . '], ';
- }
- }
- $code[-1] .= "),\n";
-
- push @c, '';
- }
- else {
- $target->_die_pointing($_[1], q{Unbalanced ']'});
- }
-
- }
- elsif(substr($1,0,1) ne '~') {
- # it's stuff not containing "~" or "[" or "]"
- # i.e., a literal blob
- $c[-1] .= $1;
-
- }
- elsif($1 eq '~~') { # "~~"
- $c[-1] .= '~';
-
- }
- elsif($1 eq '~[') { # "~["
- $c[-1] .= '[';
-
- }
- elsif($1 eq '~]') { # "~]"
- $c[-1] .= ']';
-
- }
- elsif($1 eq '~,') { # "~,"
- if($in_group) {
- # This is a hack, based on the assumption that no-one will actually
- # want a DEL inside a bracket group. Let's hope that's it's true.
- if (ord('A') == 65) { # ASCII etc
- $c[-1] .= "\x7F";
- }
- else { # EBCDIC (cp 1047, 0037, POSIX-BC)
- $c[-1] .= "\x07";
- }
- }
- else {
- $c[-1] .= '~,';
- }
-
- }
- elsif($1 eq '~') { # possible only at string-end, it seems.
- $c[-1] .= '~';
-
- }
- else {
- # It's a "~X" where X is not a special character.
- # Consider it a literal ~ and X.
- $c[-1] .= $1;
- }
- }
- }
-
- if($call_count) {
- undef $big_pile; # Well, nevermind that.
- }
- else {
- # It's all literals! Ahwell, that can happen.
- # So don't bother with the eval. Return a SCALAR reference.
- return \$big_pile;
- }
-
- die q{Last chunk isn't null??} if @c and length $c[-1]; # sanity
- DEBUG and warn scalar(@c), " chunks under closure\n";
- if(@code == 0) { # not possible?
- DEBUG and warn "Empty code\n";
- return \'';
- }
- elsif(@code > 1) { # most cases, presumably!
- unshift @code, "join '',\n";
- }
- unshift @code, "use strict; sub {\n";
- push @code, "}\n";
-
- DEBUG and warn @code;
- my $sub = eval(join '', @code);
- die "$@ while evalling" . join('', @code) if $@; # Should be impossible.
- return $sub;
-}
-
-# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-sub _die_pointing {
- # This is used by _compile to throw a fatal error
- my $target = shift; # class name
- # ...leaving $_[0] the error-causing text, and $_[1] the error message
-
- my $i = index($_[0], "\n");
-
- my $pointy;
- my $pos = pos($_[0]) - (defined($_[2]) ? $_[2] : 0) - 1;
- if($pos < 1) {
- $pointy = "^=== near there\n";
- }
- else { # we need to space over
- my $first_tab = index($_[0], "\t");
- if($pos > 2 and ( -1 == $first_tab or $first_tab > pos($_[0]))) {
- # No tabs, or the first tab is harmlessly after where we will point to,
- # AND we're far enough from the margin that we can draw a proper arrow.
- $pointy = ('=' x $pos) . "^ near there\n";
- }
- else {
- # tabs screw everything up!
- $pointy = substr($_[0],0,$pos);
- $pointy =~ tr/\t //cd;
- # make everything into whitespace, but preseving tabs
- $pointy .= "^=== near there\n";
- }
- }
-
- my $errmsg = "$_[1], in\:\n$_[0]";
-
- if($i == -1) {
- # No newline.
- $errmsg .= "\n" . $pointy;
- }
- elsif($i == (length($_[0]) - 1) ) {
- # Already has a newline at end.
- $errmsg .= $pointy;
- }
- else {
- # don't bother with the pointy bit, I guess.
- }
- Carp::croak( "$errmsg via $target, as used" );
-}
+=cut
1;
-
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm b/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm
index daa9840260a..858fcf7663a 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm
@@ -1,49 +1,26 @@
package Locale::Maketext::GutsLoader;
-$VERSION = '1.13';
+use Locale::Maketext;
+
+our $VERSION = '1.17';
-use strict;
sub zorp { return scalar @_ }
-BEGIN {
- $Locale::Maketext::GutsLoader::GUTSPATH = __FILE__;
- *Locale::Maketext::DEBUG = sub () {0}
- unless defined &Locale::Maketext::DEBUG;
-}
-
-#
-# This whole drama is so that we can load the utf8'd code
-# in Locale::Maketext::Guts, but if that fails, snip the
-# utf8 and then try THAT.
-#
-
-$Locale::Maketext::GUTSPATH = '';
-Locale::Maketext::DEBUG and warn "Requiring Locale::Maketext::Guts...\n";
-eval 'require Locale::Maketext::Guts';
-
-if ($@) {
- my $path = $Locale::Maketext::GUTSPATH;
-
- die "Can't load Locale::Maketext::Guts\nAborting" unless $path;
-
- die "No readable file $Locale::Maketext::GutsLoader::GUTSPATH\nAborting"
- unless -e $path and -f _ and -r _;
-
- open(IN, $path) or die "Can't read-open $path\nAborting";
-
- my $source;
- { local $/; $source = <IN>; }
- close(IN);
- unless( $source =~ s/\b(use utf8)/# $1/ ) {
- Locale::Maketext::DEBUG and
- print "I didn't see 'use utf8' in $path\n";
- }
- eval $source;
- die "Can't compile $path\n...The error I got was:\n$@\nAborting" if $@;
- Locale::Maketext::DEBUG and warn "Non-utf8'd Locale::Maketext::Guts fine\n";
-}
-else {
- Locale::Maketext::DEBUG and warn "Loaded Locale::Maketext::Guts fine\n";
-}
+=head1 NAME
+
+Locale::Maketext::GutsLoader - Deprecated module to load Locale::Maketext utf8 code
+
+=head1 SYNOPSIS
+
+ # Do this instead please
+ use Locale::Maketext
+
+=head1 DESCRIPTION
+
+Previously Locale::Maketext::Guts performed some magic to load
+Locale::Maketext when utf8 was unavailable. The subs this module provided
+were merged back into Locale::Maketext.
+
+=cut
1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
index b5e2c0b972b..0bbe6e33d22 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
@@ -181,7 +181,7 @@ for "I I<didn't> scan I<any> directories.". And ditto for "I didn't
match any files in any directories", although he says the last part
about "in any directories" should probably just be left off.
-You wonder how you'll get gettext to handle this; to accomodate the
+You wonder how you'll get gettext to handle this; to accommodate the
ways Arabic, Chinese, and Italian deal with numbers in just these few
very simple phrases, you need to write code that will ask gettext for
different queries depending on whether the numerical values in
@@ -277,7 +277,7 @@ another language -- for example, strictly speaking, in Arabic, the
depending on whether the user is male or female; so the Arabic
translation "your[feminine] query" is applicable in fewer cases than
the corresponding English phrase, which doesn't distinguish the user's
-gender. (In practice, it's not feasable to have a program know the
+gender. (In practice, it's not feasible to have a program know the
user's gender, so the masculine "you" in Arabic is usually used, by
default.)
@@ -450,7 +450,7 @@ possibly minor rewording. In that case, you should be able to put in
the UK English localization module I<only> those phrases that are
UK-specific, and for all the rest, I<inherit> from the American
English module. (And I expect this same situation would apply with
-Brazilian and Continental Portugese, possbily with some I<very>
+Brazilian and Continental Portugese, possibly with some I<very>
closely related languages like Czech and Slovak, and possibly with the
slightly different "versions" of written Mandarin Chinese, as I hear exist in
Taiwan and mainland China.)
@@ -458,7 +458,7 @@ Taiwan and mainland China.)
As to sharing of auxiliary functions, consider the problem of Russian
numbers from the beginning of this article; obviously, you'd want to
write only once the hairy code that, given a numeric value, would
-return some specification of which case and number a given quanitified
+return some specification of which case and number a given quantified
noun should use. But suppose that you discover, while localizing an
interface for, say, Ukranian (a Slavic language related to Russian,
spoken by several million people, many of whom would be relieved to
@@ -470,7 +470,7 @@ Ukranian, you could still choose to have the Ukranian module inherit
from the Russian module, just for the sake of inheriting all the
various grammatical methods. Or, probably better organizationally,
you could move those functions to a module called C<_E_Slavic> or
-something, which Russian and Ukranian could inherit useful functions
+something, which Russian and Ukrainian could inherit useful functions
from, but which would (presumably) provide no lexicon.
=head2 Buzzword: Concision
@@ -589,7 +589,7 @@ A string with no brackety calls, like this:
"Your search expression was malformed."
-is somewhat of a degerate case, and just gets turned into:
+is somewhat of a degenerate case, and just gets turned into:
sub { return "Your search expression was malformed." }
@@ -696,7 +696,7 @@ maintaining individual language modules.
That is all covered in the documentation for Locale::Maketext and the
modules that come with it, available in CPAN. After having read this
article, which covers the why's of Maketext, the documentation,
-which covers the how's of it, should be quite straightfoward.
+which covers the how's of it, should be quite straightforward.
=head2 The Proof in the Pudding: Localizing Web Sites
diff --git a/Master/tlpkg/tlperl/lib/Locale/Script.pm b/Master/tlpkg/tlperl/lib/Locale/Script.pm
index f5fdbab05c9..e83ad23c059 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Script.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Script.pm
@@ -1,294 +1,284 @@
-#
-# Locale::Script - ISO codes for script identification (ISO 15924)
-#
-# $Id: Script.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $
-#
-
package Locale::Script;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2011 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
use strict;
+use warnings;
require 5.002;
require Exporter;
use Carp;
+use Locale::Codes;
use Locale::Constants;
+use Locale::Codes::Script;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
-#-----------------------------------------------------------------------
-# Public Global Variables
-#-----------------------------------------------------------------------
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\d+)\.(\d+)/);
+$VERSION='3.16';
@ISA = qw(Exporter);
-@EXPORT = qw(code2script script2code
- all_script_codes all_script_names
- script_code2code
- LOCALE_CODE_ALPHA_2 LOCALE_CODE_ALPHA_3 LOCALE_CODE_NUMERIC);
+@EXPORT = qw(code2script
+ script2code
+ all_script_codes
+ all_script_names
+ script_code2code
+ LOCALE_SCRIPT_ALPHA
+ LOCALE_SCRIPT_NUMERIC
+ );
+
+sub _code {
+ my($code,$codeset) = @_;
+ $code = "" if (! $code);
+
+ $codeset = LOCALE_SCRIPT_DEFAULT if (! defined($codeset) || $codeset eq "");
+
+ if ($codeset =~ /^\d+$/) {
+ if ($codeset == LOCALE_SCRIPT_ALPHA) {
+ $codeset = "alpha";
+ } elsif ($codeset == LOCALE_SCRIPT_NUMERIC) {
+ $codeset = "num";
+ } else {
+ return (1);
+ }
+ }
+
+ if ($codeset eq "alpha") {
+ $code = ucfirst(lc($code));
+ } elsif ($codeset eq "num") {
+ if (defined($code) && $code ne "") {
+ return (1) unless ($code =~ /^\d+$/);
+ $code = sprintf("%.3d", $code);
+ }
+ } else {
+ return (1);
+ }
+
+ return (0,$code,$codeset);
+}
+
+#=======================================================================
+#
+# code2script ( CODE [,CODESET] )
+#
+#=======================================================================
-#-----------------------------------------------------------------------
-# Private Global Variables
-#-----------------------------------------------------------------------
-my $CODES = [];
-my $COUNTRIES = [];
+sub code2script {
+ my($err,$code,$codeset) = _code(@_);
+ return undef if ($err ||
+ ! defined $code);
+ return Locale::Codes::_code2name("script",$code,$codeset);
+}
#=======================================================================
#
-# code2script ( CODE [, CODESET ] )
+# script2code ( SCRIPT [,CODESET] )
#
#=======================================================================
-sub code2script
-{
- my $code = shift;
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
-
-
- return undef unless defined $code;
-
- #-------------------------------------------------------------------
- # Make sure the code is in the right form before we use it
- # to look up the corresponding script.
- # We have to sprintf because the codes are given as 3-digits,
- # with leading 0's. Eg 070 for Egyptian demotic.
- #-------------------------------------------------------------------
- if ($codeset == LOCALE_CODE_NUMERIC)
- {
- return undef if ($code =~ /\D/);
- $code = sprintf("%.3d", $code);
- }
- else
- {
- $code = lc($code);
- }
-
- if (exists $CODES->[$codeset]->{$code})
- {
- return $CODES->[$codeset]->{$code};
- }
- else
- {
- #---------------------------------------------------------------
- # no such script code!
- #---------------------------------------------------------------
- return undef;
- }
+
+sub script2code {
+ my($script,$codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err ||
+ ! defined $script);
+
+ return Locale::Codes::_name2code("script",$script,$codeset);
}
+#=======================================================================
+#
+# script_code2code ( CODE,CODESET_IN,CODESET_OUT )
+#
+#=======================================================================
+
+sub script_code2code {
+ (@_ == 3) or croak "script_code2code() takes 3 arguments!";
+ my($code,$inset,$outset) = @_;
+ my($err,$tmp);
+ ($err,$code,$inset) = _code($code,$inset);
+ return undef if ($err);
+ ($err,$tmp,$outset) = _code("",$outset);
+ return undef if ($err);
+
+ return Locale::Codes::_code2code("script",$code,$inset,$outset);
+}
#=======================================================================
#
-# script2code ( SCRIPT [, CODESET ] )
+# all_script_codes ( [CODESET] )
#
#=======================================================================
-sub script2code
-{
- my $script = shift;
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
-
-
- return undef unless defined $script;
- $script = lc($script);
- if (exists $COUNTRIES->[$codeset]->{$script})
- {
- return $COUNTRIES->[$codeset]->{$script};
- }
- else
- {
- #---------------------------------------------------------------
- # no such script!
- #---------------------------------------------------------------
- return undef;
- }
+
+sub all_script_codes {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_codes("script",$codeset);
}
#=======================================================================
#
-# script_code2code ( CODE, IN-CODESET, OUT-CODESET )
+# all_script_names ( [CODESET] )
#
#=======================================================================
-sub script_code2code
-{
- (@_ == 3) or croak "script_code2code() takes 3 arguments!";
-
- my $code = shift;
- my $inset = shift;
- my $outset = shift;
- my $outcode;
- my $script;
-
-
- return undef if $inset == $outset;
- $script = code2script($code, $inset);
- return undef if not defined $script;
- $outcode = script2code($script, $outset);
- return $outcode;
+
+sub all_script_names {
+ my($codeset) = @_;
+ my($err,$tmp);
+ ($err,$tmp,$codeset) = _code("",$codeset);
+ return undef if ($err);
+
+ return Locale::Codes::_all_names("script",$codeset);
}
+#=======================================================================
+#
+# rename_script ( CODE,NAME [,CODESET] )
+#
+#=======================================================================
+
+sub rename_script {
+ my($code,$new_name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_rename("script",$code,$new_name,$codeset,$nowarn);
+}
#=======================================================================
#
-# all_script_codes()
+# add_script ( CODE,NAME [,CODESET] )
#
#=======================================================================
-sub all_script_codes
-{
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
- return keys %{ $CODES->[$codeset] };
+sub add_script {
+ my($code,$name,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_add_code("script",$code,$name,$codeset,$nowarn);
}
+#=======================================================================
+#
+# delete_script ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_script {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+
+ return Locale::Codes::_delete_code("script",$code,$codeset,$nowarn);
+}
#=======================================================================
#
-# all_script_names()
+# add_script_alias ( NAME,NEW_NAME )
#
#=======================================================================
-sub all_script_names
-{
- my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
- return values %{ $CODES->[$codeset] };
+sub add_script_alias {
+ my($name,$new_name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_add_alias("script",$name,$new_name,$nowarn);
}
+#=======================================================================
+#
+# delete_script_alias ( NAME )
+#
+#=======================================================================
+
+sub delete_script_alias {
+ my($name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
+ return Locale::Codes::_delete_alias("script",$name,$nowarn);
+}
#=======================================================================
#
-# initialisation code - stuff the DATA into the ALPHA2 hash
+# rename_script_code ( CODE,NEW_CODE [,CODESET] )
#
#=======================================================================
-{
- my ($alpha2, $alpha3, $numeric);
- my $script;
- local $_;
+sub rename_script_code {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
- while (<DATA>)
- {
- next unless /\S/;
- chop;
- ($alpha2, $alpha3, $numeric, $script) = split(/:/, $_, 4);
+ return Locale::Codes::_rename_code("script",$code,$new_code,$codeset,$nowarn);
+}
- $CODES->[LOCALE_CODE_ALPHA_2]->{$alpha2} = $script;
- $COUNTRIES->[LOCALE_CODE_ALPHA_2]->{"\L$script"} = $alpha2;
+#=======================================================================
+#
+# add_script_code_alias ( CODE,NEW_CODE [,CODESET] )
+#
+#=======================================================================
- if ($alpha3)
- {
- $CODES->[LOCALE_CODE_ALPHA_3]->{$alpha3} = $script;
- $COUNTRIES->[LOCALE_CODE_ALPHA_3]->{"\L$script"} = $alpha3;
- }
+sub add_script_code_alias {
+ my($code,$new_code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
+ ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
- if ($numeric)
- {
- $CODES->[LOCALE_CODE_NUMERIC]->{$numeric} = $script;
- $COUNTRIES->[LOCALE_CODE_NUMERIC]->{"\L$script"} = $numeric;
- }
+ return Locale::Codes::_add_code_alias("script",$code,$new_code,$codeset,$nowarn);
+}
- }
+#=======================================================================
+#
+# delete_script_code_alias ( CODE [,CODESET] )
+#
+#=======================================================================
+
+sub delete_script_code_alias {
+ my($code,@args) = @_;
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($code,$codeset);
- close(DATA);
+ return Locale::Codes::_delete_code_alias("script",$code,$codeset,$nowarn);
}
1;
-
-__DATA__
-am:ama:130:Aramaic
-ar:ara:160:Arabic
-av:ave:151:Avestan
-bh:bhm:300:Brahmi (Ashoka)
-bi:bid:372:Buhid
-bn:ben:325:Bengali
-bo:bod:330:Tibetan
-bp:bpm:285:Bopomofo
-br:brl:570:Braille
-bt:btk:365:Batak
-bu:bug:367:Buginese (Makassar)
-by:bys:550:Blissymbols
-ca:cam:358:Cham
-ch:chu:221:Old Church Slavonic
-ci:cir:291:Cirth
-cm:cmn:402:Cypro-Minoan
-co:cop:205:Coptic
-cp:cpr:403:Cypriote syllabary
-cy:cyr:220:Cyrillic
-ds:dsr:250:Deserel (Mormon)
-dv:dvn:315:Devanagari (Nagari)
-ed:egd:070:Egyptian demotic
-eg:egy:050:Egyptian hieroglyphs
-eh:egh:060:Egyptian hieratic
-el:ell:200:Greek
-eo:eos:210:Etruscan and Oscan
-et:eth:430:Ethiopic
-gl:glg:225:Glagolitic
-gm:gmu:310:Gurmukhi
-gt:gth:206:Gothic
-gu:guj:320:Gujarati
-ha:han:500:Han ideographs
-he:heb:125:Hebrew
-hg:hgl:420:Hangul
-hm:hmo:450:Pahawh Hmong
-ho:hoo:371:Hanunoo
-hr:hrg:410:Hiragana
-hu:hun:176:Old Hungarian runic
-hv:hvn:175:Kok Turki runic
-hy:hye:230:Armenian
-iv:ivl:610:Indus Valley
-ja:jap:930:(alias for Han + Hiragana + Katakana)
-jl:jlg:445:Cherokee syllabary
-jw:jwi:360:Javanese
-ka:kam:241:Georgian (Mxedruli)
-kh:khn:931:(alias for Hangul + Han)
-kk:kkn:411:Katakana
-km:khm:354:Khmer
-kn:kan:345:Kannada
-kr:krn:357:Karenni (Kayah Li)
-ks:kst:305:Kharoshthi
-kx:kax:240:Georgian (Xucuri)
-la:lat:217:Latin
-lf:laf:215:Latin (Fraktur variant)
-lg:lag:216:Latin (Gaelic variant)
-lo:lao:356:Lao
-lp:lpc:335:Lepcha (Rong)
-md:mda:140:Mandaean
-me:mer:100:Meroitic
-mh:may:090:Mayan hieroglyphs
-ml:mlm:347:Malayalam
-mn:mon:145:Mongolian
-my:mya:350:Burmese
-na:naa:400:Linear A
-nb:nbb:401:Linear B
-og:ogm:212:Ogham
-or:ory:327:Oriya
-os:osm:260:Osmanya
-ph:phx:115:Phoenician
-ph:pah:150:Pahlavi
-pl:pld:282:Pollard Phonetic
-pq:pqd:295:Klingon plQaD
-pr:prm:227:Old Permic
-ps:pst:600:Phaistos Disk
-rn:rnr:211:Runic (Germanic)
-rr:rro:620:Rongo-rongo
-sa:sar:110:South Arabian
-si:sin:348:Sinhala
-sj:syj:137:Syriac (Jacobite variant)
-sl:slb:440:Unified Canadian Aboriginal Syllabics
-sn:syn:136:Syriac (Nestorian variant)
-sw:sww:281:Shavian (Shaw)
-sy:syr:135:Syriac (Estrangelo)
-ta:tam:346:Tamil
-tb:tbw:373:Tagbanwa
-te:tel:340:Telugu
-tf:tfn:120:Tifnagh
-tg:tag:370:Tagalog
-th:tha:352:Thai
-tn:tna:170:Thaana
-tw:twr:290:Tengwar
-va:vai:470:Vai
-vs:vsp:280:Visible Speech
-xa:xas:000:Cuneiform, Sumero-Akkadian
-xf:xfa:105:Cuneiform, Old Persian
-xk:xkn:412:(alias for Hiragana + Katakana)
-xu:xug:106:Cuneiform, Ugaritic
-yi:yii:460:Yi
-zx:zxx:997:Unwritten language
-zy:zyy:998:Undetermined script
-zz:zzz:999:Uncoded script
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Script.pod b/Master/tlpkg/tlperl/lib/Locale/Script.pod
index 93ff88245ea..c4c9d745bfe 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Script.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Script.pod
@@ -1,211 +1,88 @@
+=pod
=head1 NAME
-Locale::Script - ISO codes for script identification (ISO 15924)
+Locale::Script - standard codes for script identification
=head1 SYNOPSIS
- use Locale::Script;
- use Locale::Constants;
-
- $script = code2script('ph'); # 'Phoenician'
- $code = script2code('Tibetan'); # 'bo'
- $code3 = script2code('Tibetan',
- LOCALE_CODE_ALPHA_3); # 'bod'
- $codeN = script2code('Tibetan',
- LOCALE_CODE_ALPHA_NUMERIC); # 330
-
- @codes = all_script_codes();
- @scripts = all_script_names();
-
+ use Locale::Script;
-=head1 DESCRIPTION
-
-The C<Locale::Script> module provides access to the ISO
-codes for identifying scripts, as defined in ISO 15924.
-For example, Egyptian hieroglyphs are denoted by the two-letter
-code 'eg', the three-letter code 'egy', and the numeric code 050.
-
-You can either access the codes via the conversion routines
-(described below), or with the two functions which return lists
-of all script codes or all script names.
-
-There are three different code sets you can use for identifying
-scripts:
-
-=over 4
-
-=item B<alpha-2>
-
-Two letter codes, such as 'bo' for Tibetan.
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_2>.
-
-=item B<alpha-3>
-
-Three letter codes, such as 'ell' for Greek.
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_3>.
-
-=item B<numeric>
-
-Numeric codes, such as 410 for Hiragana.
-This code set is identified with the symbol C<LOCALE_CODE_NUMERIC>.
-
-=back
-
-All of the routines take an optional additional argument
-which specifies the code set to use.
-If not specified, it defaults to the two-letter codes.
-This is partly for backwards compatibility (previous versions
-of Locale modules only supported the alpha-2 codes), and
-partly because they are the most widely used codes.
-
-The alpha-2 and alpha-3 codes are not case-dependent,
-so you can use 'BO', 'Bo', 'bO' or 'bo' for Tibetan.
-When a code is returned by one of the functions in
-this module, it will always be lower-case.
-
-=head2 SPECIAL CODES
-
-The standard defines various special codes.
-
-=over 4
-
-=item *
-
-The standard reserves codes in the ranges B<qa> - B<qt>,
-B<qaa> - B<qat>, and B<900> - B<919>, for private use.
-
-=item *
-
-B<zx>, B<zxx>, and B<997>, are the codes for unwritten languages.
-
-=item *
-
-B<zy>, B<zyy>, and B<998>, are the codes for an undetermined script.
+ $script = code2script('phnx'); # 'Phoenician'
+ $code = script2code('Phoenician'); # 'Phnx'
+ $code = script2code('Phoenician',
+ LOCALE_CODE_NUMERIC); # 115
-=item *
+ @codes = all_script_codes();
+ @scripts = all_script_names();
-B<zz>, B<zzz>, and B<999>, are the codes for an uncoded script.
-
-=back
+=head1 DESCRIPTION
-The private codes are not recognised by Locale::Script,
-but the others are.
+The C<Locale::Script> module provides access to standards codes used
+for identifying scripts, such as those defined in ISO 15924.
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+15924 four-letter codes will be used.
-=head1 CONVERSION ROUTINES
+=head1 SUPPORTED CODE SETS
-There are three conversion routines: C<code2script()>, C<script2code()>,
-and C<script_code2code()>.
+There are several different code sets you can use for identifying
+scripts. The ones currently supported are:
=over 4
-=item code2script( CODE, [ CODESET ] )
-
-This function takes a script code and returns a string
-which contains the name of the script identified.
-If the code is not a valid script code, as defined by ISO 15924,
-then C<undef> will be returned:
+=item B<alpha>
- $script = code2script('cy'); # Cyrillic
+This is a set of four-letter (capitalized) codes from ISO 15924
+such as 'Phnx' for Phoenician.
-=item script2code( STRING, [ CODESET ] )
+This code set is identified with the symbol C<LOCALE_SCRIPT_ALPHA>.
-This function takes a script name and returns the corresponding
-script code, if such exists.
-If the argument could not be identified as a script name,
-then C<undef> will be returned:
+The Zxxx, Zyyy, and Zzzz codes are not used.
- $code = script2code('Gothic', LOCALE_CODE_ALPHA_3);
- # $code will now be 'gth'
+This is the default code set.
-The case of the script name is not important.
-See the section L<KNOWN BUGS AND LIMITATIONS> below.
-
-=item script_code2code( CODE, CODESET, CODESET )
-
-This function takes a script code from one code set,
-and returns the corresponding code from another code set.
+=item B<numeric>
- $alpha2 = script_code2code('jwi',
- LOCALE_CODE_ALPHA_3 => LOCALE_CODE_ALPHA_2);
- # $alpha2 will now be 'jw' (Javanese)
+This is a set of three-digit numeric codes from ISO 15924 such as 115
+for Phoenician.
-If the code passed is not a valid script code in
-the first code set, or if there isn't a code for the
-corresponding script in the second code set,
-then C<undef> will be returned.
+This code set is identified with the symbol C<LOCALE_SCRIPT_NUMERIC>.
=back
-
-=head1 QUERY ROUTINES
-
-There are two function which can be used to obtain a list of all codes,
-or all script names:
+=head1 ROUTINES
=over 4
-=item C<all_script_codes ( [ CODESET ] )>
+=item B<code2script ( CODE [,CODESET] )>
-Returns a list of all two-letter script codes.
-The codes are guaranteed to be all lower-case,
-and not in any particular order.
+=item B<script2code ( NAME [,CODESET] )>
-=item C<all_script_names ( [ CODESET ] )>
+=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
-Returns a list of all script names for which there is a corresponding
-script code in the specified code set.
-The names are capitalised, and not returned in any particular order.
-
-=back
+=item B<all_script_codes ( [CODESET] )>
+=item B<all_script_names ( [CODESET] )>
-=head1 EXAMPLES
+=item B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>
-The following example illustrates use of the C<code2script()> function.
-The user is prompted for a script code, and then told the corresponding
-script name:
+=item B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>
- $| = 1; # turn off buffering
-
- print "Enter script code: ";
- chop($code = <STDIN>);
- $script = code2script($code, LOCALE_CODE_ALPHA_2);
- if (defined $script)
- {
- print "$code = $script\n";
- }
- else
- {
- print "'$code' is not a valid script code!\n";
- }
+=item B<Locale::Script::delete_script ( CODE [,CODESET] )>
+=item B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>
-=head1 KNOWN BUGS AND LIMITATIONS
-
-=over 4
-
-=item *
+=item B<Locale::Script::delete_script_alias ( NAME )>
-When using C<script2code()>, the script name must currently appear
-exactly as it does in the source of the module. For example,
+=item B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>
- script2code('Egyptian hieroglyphs')
+=item B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>
-will return B<eg>, as expected. But the following will all return C<undef>:
+=item B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
- script2code('hieroglyphs')
- script2code('Egyptian Hieroglypics')
-
-If there's need for it, a future version could have variants
-for script names.
-
-=item *
-
-In the current implementation, all data is read in when the
-module is loaded, and then held in memory.
-A lazy implementation would be more memory friendly.
+These routines are all documented in the Locale::Codes man page.
=back
@@ -213,41 +90,29 @@ A lazy implementation would be more memory friendly.
=over 4
-=item Locale::Language
-
-ISO two letter codes for identification of language (ISO 639).
-
-=item Locale::Currency
-
-ISO three letter codes for identification of currencies
-and funds (ISO 4217).
-
-=item Locale::Country
+=item B<Locale::Codes>
-ISO three letter codes for identification of countries (ISO 3166)
+=item B<Locale::Constants>
-=item ISO 15924
-
-The ISO standard which defines these codes.
-
-=item http://www.evertype.com/standards/iso15924/
+=item B<http://www.unicode.org/iso15924/>
Home page for ISO 15924.
-
=back
-
=head1 AUTHOR
-Neil Bowers E<lt>neil@bowers.comE<gt>
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
=head1 COPYRIGHT
-Copyright (c) 2002-2004 Neil Bowers.
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2011 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Log/Message.pm b/Master/tlpkg/tlperl/lib/Log/Message.pm
index 3b2f43e57da..96ab34a2645 100644
--- a/Master/tlpkg/tlperl/lib/Log/Message.pm
+++ b/Master/tlpkg/tlperl/lib/Log/Message.pm
@@ -12,7 +12,7 @@ local $Params::Check::VERBOSE = 1;
BEGIN {
use vars qw[$VERSION @ISA $STACK $CONFIG];
- $VERSION = 0.02;
+ $VERSION = 0.04;
$STACK = [];
}
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Config.pm b/Master/tlpkg/tlperl/lib/Log/Message/Config.pm
index 9769119ed32..fff771bbb8a 100644
--- a/Master/tlpkg/tlperl/lib/Log/Message/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Log/Message/Config.pm
@@ -8,7 +8,7 @@ use Locale::Maketext::Simple Style => 'gettext';
BEGIN {
use vars qw[$VERSION $AUTOLOAD];
- $VERSION = 0.01;
+ $VERSION = 0.04;
}
sub new {
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm b/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm
index c7c35c6e389..366c03ad018 100644
--- a/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm
+++ b/Master/tlpkg/tlperl/lib/Log/Message/Handlers.pm
@@ -1,5 +1,8 @@
package Log::Message::Handlers;
use strict;
+use vars qw[$VERSION];
+
+$VERSION = '0.04';
=pod
@@ -111,7 +114,7 @@ sub warn { warn shift->message; }
=head2 trace
Will provide a traceback of this error item back to the first one that
-occurrent, clucking with every item as it comes across it.
+occurred, clucking with every item as it comes across it.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Item.pm b/Master/tlpkg/tlperl/lib/Log/Message/Item.pm
index 85ae6fc6003..918a366e8c6 100644
--- a/Master/tlpkg/tlperl/lib/Log/Message/Item.pm
+++ b/Master/tlpkg/tlperl/lib/Log/Message/Item.pm
@@ -1,6 +1,7 @@
package Log::Message::Item;
use strict;
+use vars qw[$VERSION];
use Params::Check qw[check];
use Log::Message::Handlers;
@@ -10,7 +11,7 @@ use Carp ();
BEGIN {
use vars qw[$AUTOLOAD $VERSION];
- $VERSION = $Log::Message::VERSION;
+ $VERSION = '0.04';
}
### create a new item.
@@ -88,7 +89,7 @@ Log::Message::Item - Message objects for Log::Message
$item->remove; # delete the item from the stack it was on
# Besides these methods, you can also call the handlers on
- # the object specificallly.
+ # the object specifically.
# See the Log::Message::Handlers manpage for documentation on what
# handlers are available by default and how to add your own
diff --git a/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm b/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm
index 18790365fdf..efceae5b676 100644
--- a/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Log/Message/Simple.pm
@@ -5,7 +5,7 @@ use Log::Message private => 0;;
BEGIN {
use vars qw[$VERSION];
- $VERSION = 0.06;
+ $VERSION = 0.08;
}
@@ -269,6 +269,8 @@ If this option is set to C<true>, every call to C<error()> will
generate a stacktrace using C<Carp::shortmess()>.
Defaults to C<false>
+=back
+
=cut
BEGIN {
diff --git a/Master/tlpkg/tlperl/lib/MIME/Base64.pm b/Master/tlpkg/tlperl/lib/MIME/Base64.pm
index 6c076d1b7c4..2ce412d1059 100644
--- a/Master/tlpkg/tlperl/lib/MIME/Base64.pm
+++ b/Master/tlpkg/tlperl/lib/MIME/Base64.pm
@@ -1,13 +1,14 @@
package MIME::Base64;
use strict;
-use vars qw(@ISA @EXPORT $VERSION);
+use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(encode_base64 decode_base64);
+@EXPORT_OK = qw(encode_base64url decode_base64url encoded_base64_length decoded_base64_length);
-$VERSION = '3.08';
+$VERSION = '3.13';
require XSLoader;
XSLoader::load('MIME::Base64', $VERSION);
@@ -15,6 +16,20 @@ XSLoader::load('MIME::Base64', $VERSION);
*encode = \&encode_base64;
*decode = \&decode_base64;
+sub encode_base64url {
+ my $e = encode_base64(shift, "");
+ $e =~ s/=+\z//;
+ $e =~ tr[+/][-_];
+ return $e;
+}
+
+sub decode_base64url {
+ my $s = shift;
+ $s =~ tr[-_][+/];
+ $s .= '=' while length($s) % 4;
+ return decode_base64($s);
+}
+
1;
__END__
@@ -39,23 +54,28 @@ arbitrary sequences of octets in a form that need not be humanly
readable. A 65-character subset ([A-Za-z0-9+/=]) of US-ASCII is used,
enabling 6 bits to be represented per printable character.
-The following functions are provided:
+The following primary functions are provided:
=over 4
-=item encode_base64($str)
+=item encode_base64( $bytes )
-=item encode_base64($str, $eol);
+=item encode_base64( $bytes, $eol );
Encode data by calling the encode_base64() function. The first
-argument is the string to encode. The second argument is the
+argument is the byte string to encode. The second argument is the
line-ending sequence to use. It is optional and defaults to "\n". The
returned encoded string is broken into lines of no more than 76
characters each and it will end with $eol unless it is empty. Pass an
empty string as second argument if you do not want the encoded string
to be broken into lines.
-=item decode_base64($str)
+The function will croak with "Wide character in subroutine entry" if $bytes
+contains characters with code above 255. The base64 encoding is only defined
+for single-byte characters. Use the Encode module to select the byte encoding
+you want.
+
+=item decode_base64( $str )
Decode a base64 string by calling the decode_base64() function. This
function takes a single argument which is the string to decode and
@@ -65,10 +85,6 @@ Any character not part of the 65-character base64 subset is
silently ignored. Characters occurring after a '=' padding character
are never decoded.
-If the length of the string to decode, after ignoring
-non-base64 chars, is not a multiple of 4 or if padding occurs too early,
-then a warning is generated if perl is running under C<-w>.
-
=back
If you prefer not to import these routines into your namespace, you can
@@ -78,37 +94,32 @@ call them as:
$encoded = MIME::Base64::encode($decoded);
$decoded = MIME::Base64::decode($encoded);
-=head1 DIAGNOSTICS
-
-The following warnings can be generated if perl is invoked with the
-C<-w> switch:
+Additional functions not exported by default:
=over 4
-=item Premature end of base64 data
+=item encode_base64url( $bytes )
-The number of characters to decode is not a multiple of 4. Legal
-base64 data should be padded with one or two "=" characters to make
-its length a multiple of 4. The decoded result will be the same
-whether the padding is present or not.
+=item decode_base64url( $str )
-=item Premature padding of base64 data
+Encode and decode according to the base64 scheme for "URL applications" [1].
+This is a variant of the base64 encoding which does not use padding, does not
+break the string into multiple lines and use the characters "-" and "_" instead
+of "+" and "/" to avoid using reserved URL characters.
-The '=' padding character occurs as the first or second character
-in a base64 quartet.
+=item encoded_base64_length( $bytes )
-=back
-
-The following exception can be raised:
+=item encoded_base64_length( $bytes, $eol )
-=over 4
+Returns the length that the encoded string would have without actually
+encoding it. This will return the same value as C<< length(encode_base64($bytes)) >>,
+but should be more efficient.
-=item Wide character in subroutine entry
+=item decoded_base64_length( $str )
-The string passed to encode_base64() contains characters with code
-above 255. The base64 encoding is only defined for single-byte
-characters. Use the Encode module to select the byte encoding you
-want.
+Returns the length that the decoded string would have without actually
+decoding it. This will return the same value as C<< length(decode_base64($str)) >>,
+but should be more efficient.
=back
@@ -155,7 +166,7 @@ example:
=head1 COPYRIGHT
-Copyright 1995-1999, 2001-2004 Gisle Aas.
+Copyright 1995-1999, 2001-2004, 2010 Gisle Aas.
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
@@ -172,4 +183,6 @@ Communications Research, Inc. (Bellcore)
L<MIME::QuotedPrint>
+[1] L<http://en.wikipedia.org/wiki/Base64#URL_applications>
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/MIME/QuotedPrint.pm b/Master/tlpkg/tlperl/lib/MIME/QuotedPrint.pm
index aee13d6256b..d0c71d10439 100644
--- a/Master/tlpkg/tlperl/lib/MIME/QuotedPrint.pm
+++ b/Master/tlpkg/tlperl/lib/MIME/QuotedPrint.pm
@@ -7,7 +7,7 @@ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(encode_qp decode_qp);
-$VERSION = "3.08";
+$VERSION = "3.13";
use MIME::Base64; # will load XS version of {en,de}code_qp()
@@ -44,11 +44,11 @@ The following functions are provided:
=over 4
-=item encode_qp($str)
+=item encode_qp( $str)
-=item encode_qp($str, $eol)
+=item encode_qp( $str, $eol)
-=item encode_qp($str, $eol, $binmode)
+=item encode_qp( $str, $eol, $binmode )
This function returns an encoded version of the string ($str) given as
argument.
@@ -72,7 +72,7 @@ An $eol of "" (the empty string) is special. In this case, no "soft
line breaks" are introduced and binary mode is effectively enabled so
that any "\n" in the original data is encoded as well.
-=item decode_qp($str);
+=item decode_qp( $str )
This function returns the plain text version of the string given
as argument. The lines of the result are "\n" terminated, even if
diff --git a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
index 27d60b3143c..06a6e48417c 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
@@ -12,8 +12,8 @@ package Math::BigFloat;
# _a : accuracy
# _p : precision
-$VERSION = '1.60';
-require 5.006;
+$VERSION = '1.993';
+require 5.006002;
require Exporter;
@ISA = qw/Math::BigInt/;
@@ -60,7 +60,7 @@ $upgrade = undef;
$downgrade = undef;
# the package we are using for our private parts, defaults to:
# Math::BigInt->config()->{lib}
-my $MBI = 'Math::BigInt::FastCalc';
+my $MBI = 'Math::BigInt::Calc';
# are NaNs ok? (otherwise it dies when encountering an NaN) set w/ config()
$_trap_nan = 0;
@@ -149,7 +149,7 @@ sub new
$self->{sign} = $wanted->sign();
return $self->bnorm();
}
- # else: got a string or something maskerading as number (with overload)
+ # else: got a string or something masquerading as number (with overload)
# handle '+inf', '-inf' first
if ($wanted =~ /^[+-]?inf\z/)
@@ -353,7 +353,7 @@ sub config
}
##############################################################################
-# string conversation
+# string conversion
sub bstr
{
@@ -473,6 +473,7 @@ sub bcmp
# set up parameters
my ($self,$x,$y) = (ref($_[0]),@_);
+
# objectify is costly, so avoid it
if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1])))
{
@@ -482,58 +483,150 @@ sub bcmp
return $upgrade->bcmp($x,$y) if defined $upgrade &&
((!$x->isa($self)) || (!$y->isa($self)));
- if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/))
- {
- # handle +-inf and NaN
- return undef if (($x->{sign} eq $nan) || ($y->{sign} eq $nan));
- return 0 if ($x->{sign} eq $y->{sign}) && ($x->{sign} =~ /^[+-]inf$/);
- return +1 if $x->{sign} eq '+inf';
- return -1 if $x->{sign} eq '-inf';
- return -1 if $y->{sign} eq '+inf';
- return +1;
- }
+ # Handle all 'nan' cases.
- # check sign for speed first
- return 1 if $x->{sign} eq '+' && $y->{sign} eq '-'; # does also 0 <=> -y
- return -1 if $x->{sign} eq '-' && $y->{sign} eq '+'; # does also -x <=> 0
+ return undef if ($x->{sign} eq $nan) || ($y->{sign} eq $nan);
+
+ # Handle all '+inf' and '-inf' cases.
+
+ return 0 if ($x->{sign} eq '+inf' && $y->{sign} eq '+inf' ||
+ $x->{sign} eq '-inf' && $y->{sign} eq '-inf');
+ return +1 if $x->{sign} eq '+inf'; # x = +inf and y < +inf
+ return -1 if $x->{sign} eq '-inf'; # x = -inf and y > -inf
+ return -1 if $y->{sign} eq '+inf'; # x < +inf and y = +inf
+ return +1 if $y->{sign} eq '-inf'; # x > -inf and y = -inf
+
+ # Handle all cases with opposite signs.
+
+ return +1 if $x->{sign} eq '+' && $y->{sign} eq '-'; # also does 0 <=> -y
+ return -1 if $x->{sign} eq '-' && $y->{sign} eq '+'; # also does -x <=> 0
+
+ # Handle all remaining zero cases.
- # shortcut
my $xz = $x->is_zero();
my $yz = $y->is_zero();
- return 0 if $xz && $yz; # 0 <=> 0
- return -1 if $xz && $y->{sign} eq '+'; # 0 <=> +y
- return 1 if $yz && $x->{sign} eq '+'; # +x <=> 0
+ return 0 if $xz && $yz; # 0 <=> 0
+ return -1 if $xz && $y->{sign} eq '+'; # 0 <=> +y
+ return +1 if $yz && $x->{sign} eq '+'; # +x <=> 0
+
+ # Both arguments are now finite, non-zero numbers with the same sign.
+
+ my $cmp;
+
+ # The next step is to compare the exponents, but since each mantissa is an
+ # integer of arbitrary value, the exponents must be normalized by the length
+ # of the mantissas before we can compare them.
+
+ my $mxl = $MBI->_len($x->{_m});
+ my $myl = $MBI->_len($y->{_m});
+
+ # If the mantissas have the same length, there is no point in normalizing the
+ # exponents by the length of the mantissas, so treat that as a special case.
+
+ if ($mxl == $myl) {
+
+ # First handle the two cases where the exponents have different signs.
+
+ if ($x->{_es} eq '+' && $y->{_es} eq '-') {
+ $cmp = +1;
+ }
+
+ elsif ($x->{_es} eq '-' && $y->{_es} eq '+') {
+ $cmp = -1;
+ }
+
+ # Then handle the case where the exponents have the same sign.
+
+ else {
+ $cmp = $MBI->_acmp($x->{_e}, $y->{_e});
+ $cmp = -$cmp if $x->{_es} eq '-';
+ }
+
+ # Adjust for the sign, which is the same for x and y, and bail out if
+ # we're done.
+
+ $cmp = -$cmp if $x->{sign} eq '-'; # 124 > 123, but -124 < -123
+ return $cmp if $cmp;
+
+ }
+
+ # We must normalize each exponent by the length of the corresponding
+ # mantissa. Life is a lot easier if we first make both exponents
+ # non-negative. We do this by adding the same positive value to both
+ # exponent. This is safe, because when comparing the exponents, only the
+ # relative difference is important.
+
+ my $ex;
+ my $ey;
+
+ if ($x->{_es} eq '+') {
+
+ # If the exponent of x is >= 0 and the exponent of y is >= 0, there is no
+ # need to do anything special.
+
+ if ($y->{_es} eq '+') {
+ $ex = $MBI->_copy($x->{_e});
+ $ey = $MBI->_copy($y->{_e});
+ }
+
+ # If the exponent of x is >= 0 and the exponent of y is < 0, add the
+ # absolute value of the exponent of y to both.
+
+ else {
+ $ex = $MBI->_copy($x->{_e});
+ $ex = $MBI->_add($ex, $y->{_e}); # ex + |ey|
+ $ey = $MBI->_zero(); # -ex + |ey| = 0
+ }
+
+ } else {
+
+ # If the exponent of x is < 0 and the exponent of y is >= 0, add the
+ # absolute value of the exponent of x to both.
+
+ if ($y->{_es} eq '+') {
+ $ex = $MBI->_zero(); # -ex + |ex| = 0
+ $ey = $MBI->_copy($y->{_e});
+ $ey = $MBI->_add($ey, $x->{_e}); # ey + |ex|
+ }
+
+ # If the exponent of x is < 0 and the exponent of y is < 0, add the
+ # absolute values of both exponents to both exponents.
+
+ else {
+ $ex = $MBI->_copy($y->{_e}); # -ex + |ey| + |ex| = |ey|
+ $ey = $MBI->_copy($x->{_e}); # -ey + |ex| + |ey| = |ex|
+ }
+
+ }
+
+ # Now we can normalize the exponents by adding lengths of the mantissas.
+
+ $MBI->_add($ex, $MBI->_new($mxl));
+ $MBI->_add($ey, $MBI->_new($myl));
+
+ # We're done if the exponents are different.
+
+ $cmp = $MBI->_acmp($ex, $ey);
+ $cmp = -$cmp if $x->{sign} eq '-'; # 124 > 123, but -124 < -123
+ return $cmp if $cmp;
+
+ # Compare the mantissas, but first normalize them by padding the shorter
+ # mantissa with zeros (shift left) until it has the same length as the longer
+ # mantissa.
+
+ my $mx = $x->{_m};
+ my $my = $y->{_m};
+
+ if ($mxl > $myl) {
+ $my = $MBI->_lsft($MBI->_copy($my), $MBI->_new($mxl - $myl), 10);
+ } elsif ($mxl < $myl) {
+ $mx = $MBI->_lsft($MBI->_copy($mx), $MBI->_new($myl - $mxl), 10);
+ }
+
+ $cmp = $MBI->_acmp($mx, $my);
+ $cmp = -$cmp if $x->{sign} eq '-'; # 124 > 123, but -124 < -123
+ return $cmp;
- # adjust so that exponents are equal
- my $lxm = $MBI->_len($x->{_m});
- my $lym = $MBI->_len($y->{_m});
- # the numify somewhat limits our length, but makes it much faster
- my ($xes,$yes) = (1,1);
- $xes = -1 if $x->{_es} ne '+';
- $yes = -1 if $y->{_es} ne '+';
- my $lx = $lxm + $xes * $MBI->_num($x->{_e});
- my $ly = $lym + $yes * $MBI->_num($y->{_e});
- my $l = $lx - $ly; $l = -$l if $x->{sign} eq '-';
- return $l <=> 0 if $l != 0;
-
- # lengths (corrected by exponent) are equal
- # so make mantissa equal length by padding with zero (shift left)
- my $diff = $lxm - $lym;
- my $xm = $x->{_m}; # not yet copy it
- my $ym = $y->{_m};
- if ($diff > 0)
- {
- $ym = $MBI->_copy($y->{_m});
- $ym = $MBI->_lsft($ym, $MBI->_new($diff), 10);
- }
- elsif ($diff < 0)
- {
- $xm = $MBI->_copy($x->{_m});
- $xm = $MBI->_lsft($xm, $MBI->_new(-$diff), 10);
- }
- my $rc = $MBI->_acmp($xm,$ym);
- $rc = -$rc if $x->{sign} eq '-'; # -124 < -123
- $rc <=> 0;
}
sub bacmp
@@ -1141,7 +1234,7 @@ sub _log
# in case of $x == 1, result is 0
return $x->bzero() if $x->is_one();
- # XXX TODO: rewrite this in a similiar manner to bexp()
+ # XXX TODO: rewrite this in a similar manner to bexp()
# http://www.efunda.com/math/taylor_series/logarithmic.cfm?search_string=log
@@ -1604,12 +1697,7 @@ sub bmuladd
# multiply two numbers and add the third to the result
# set up parameters
- my ($self,$x,$y,$z,@r) = (ref($_[0]),@_);
- # objectify is costly, so avoid it
- if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1])))
- {
- ($self,$x,$y,$z,@r) = objectify(3,@_);
- }
+ my ($self,$x,$y,$z,@r) = objectify(3,@_);
return $x if $x->modify('bmuladd');
@@ -1759,7 +1847,7 @@ sub bdiv
$y->{sign} =~ tr/+-/-+/;
# continue with normal div code:
- # make copy of $x in case of list context for later reminder calculation
+ # make copy of $x in case of list context for later remainder calculation
if (wantarray && $y_not_one)
{
$rem = $x->copy();
@@ -1821,7 +1909,7 @@ sub bdiv
sub bmod
{
- # (dividend: BFLOAT or num_str, divisor: BFLOAT or num_str) return reminder
+ # (dividend: BFLOAT or num_str, divisor: BFLOAT or num_str) return remainder
# set up parameters
my ($self,$x,$y,$a,$p,$r) = (ref($_[0]),@_);
@@ -2128,7 +2216,7 @@ sub bsqrt
}
# sqrt(2) = 1.4 because sqrt(2*100) = 1.4*10; so we can increase the accuracy
- # of the result by multipyling the input by 100 and then divide the integer
+ # of the result by multiplying the input by 100 and then divide the integer
# result of sqrt(input) by 10. Rounding afterwards returns the real result.
# The following steps will transform 123.456 (in $x) into 123456 (in $y1)
@@ -2408,7 +2496,7 @@ sub bpow
sub bmodpow
{
# takes a very large number to a very large exponent in a given very
- # large modulus, quickly, thanks to binary exponentation. Supports
+ # large modulus, quickly, thanks to binary exponentiation. Supports
# negative exponents.
my ($self,$num,$exp,$mod,@r) = objectify(3,@_);
@@ -3372,7 +3460,7 @@ sub brsft
# negative amount?
return $x->blsft($y->copy()->babs(),$n) if $y->{sign} =~ /^-/;
- # the following call to bdiv() will return either quo or (quo,reminder):
+ # the following call to bdiv() will return either quo or (quo,remainder):
$x->bdiv($n->bpow($y),$a,$p,$r,$y);
}
@@ -3684,6 +3772,9 @@ sub as_number
$x = $x->can('as_float') ? $x->as_float() : $self->new(0+"$x");
}
+ return Math::BigInt->binf($x->sign()) if $x->is_inf();
+ return Math::BigInt->bnan() if $x->is_nan();
+
my $z = $MBI->_copy($x->{_m});
if ($x->{_es} eq '-') # < 0
{
@@ -3693,7 +3784,7 @@ sub as_number
{
$MBI->_lsft( $z, $x->{_e},10);
}
- $z = Math::BigInt->new( $x->{sign} . $MBI->_num($z));
+ $z = Math::BigInt->new( $x->{sign} . $MBI->_str($z));
$z;
}
@@ -3768,7 +3859,7 @@ Math::BigFloat - Arbitrary size floating point math package
# The following all modify their first argument. If you want to preserve
# $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for why this is
# necessary when mixing $a = $b assignments with non-overloaded math.
-
+
# set
$x->bzero(); # set $i to 0
$x->bnan(); # set $i to NaN
@@ -3783,7 +3874,7 @@ Math::BigFloat - Arbitrary size floating point math package
$x->bnot(); # two's complement (bit wise not)
$x->binc(); # increment x by 1
$x->bdec(); # decrement x by 1
-
+
$x->badd($y); # addition (add $y to $x)
$x->bsub($y); # subtraction (subtract $y from $x)
$x->bmul($y); # multiplication (multiply $x by $y)
@@ -3792,24 +3883,24 @@ Math::BigFloat - Arbitrary size floating point math package
$x->bmod($y); # modulus ($x % $y)
$x->bpow($y); # power of arguments ($x ** $y)
- $x->bmodpow($exp,$mod); # modular exponentation (($num**$exp) % $mod))
+ $x->bmodpow($exp,$mod); # modular exponentiation (($num**$exp) % $mod))
$x->blsft($y, $n); # left shift by $y places in base $n
$x->brsft($y, $n); # right shift by $y places in base $n
# returns (quo,rem) or quo if in scalar context
-
+
$x->blog(); # logarithm of $x to base e (Euler's number)
$x->blog($base); # logarithm of $x to base $base (f.i. 2)
$x->bexp(); # calculate e ** $x where e is Euler's number
-
+
$x->band($y); # bit-wise and
$x->bior($y); # bit-wise inclusive or
$x->bxor($y); # bit-wise exclusive or
$x->bnot(); # bit-wise not (two's complement)
-
+
$x->bsqrt(); # calculate square-root
$x->broot($y); # $y'th root of $x (e.g. $y == 3 => cubic root)
$x->bfac(); # factorial of $x (1*2*3*4*..$x)
-
+
$x->bround($N); # accuracy: preserve $N digits
$x->bfround($N); # precision: round to the $Nth digit
@@ -3820,7 +3911,7 @@ Math::BigFloat - Arbitrary size floating point math package
bgcd(@values); # greatest common divisor
blcm(@values); # lowest common multiplicator
-
+
$x->bstr(); # return string
$x->bsstr(); # return string in scientific notation
@@ -3830,7 +3921,7 @@ Math::BigFloat - Arbitrary size floating point math package
$x->parts(); # return (mantissa,exponent) as BigInt
$x->length(); # number of digits (w/o sign and '.')
- ($l,$f) = $x->length(); # number of digits, and length of fraction
+ ($l,$f) = $x->length(); # number of digits, and length of fraction
$x->precision(); # return P of $x (or global, if P of $x undef)
$x->precision($n); # set P of $x to $n
@@ -3905,7 +3996,7 @@ Some routines (C<is_odd()>, C<is_even()>, C<is_zero()>, C<is_one()>,
C<is_nan()>) return true or false, while others (C<bcmp()>, C<bacmp()>)
return either undef, <0, 0 or >0 and are suited for sort.
-Actual math is done by using the class defined with C<with => Class;> (which
+Actual math is done by using the class defined with C<< with => Class; >> (which
defaults to BigInts) to represent the mantissa and exponent.
The sign C</^[+-]$/> is stored separately. The string 'NaN' is used to
@@ -3943,7 +4034,7 @@ Since things like C<sqrt(2)> or C<1 / 3> must presented with a limited
accuracy lest a operation consumes all resources, each operation produces
no more than the requested number of digits.
-If there is no gloabl precision or accuracy set, B<and> the operation in
+If there is no global precision or accuracy set, B<and> the operation in
question was not called with a requested precision or accuracy, B<and> the
input $x has no accuracy or precision set, then a fallback parameter will
be used. For historical reasons, it is called C<div_scale> and can be accessed
@@ -3975,14 +4066,14 @@ It is less confusing to either calculate the result fully, and afterwards
round it explicitly, or use the additional parameters to the math
functions like so:
- use Math::BigFloat;
+ use Math::BigFloat;
$x = Math::BigFloat->new(2);
$y = $x->copy()->bdiv(3);
print $y->bround(5),"\n"; # will give 0.66667
or
- use Math::BigFloat;
+ use Math::BigFloat;
$x = Math::BigFloat->new(2);
$y = $x->copy()->bdiv(3,5); # will give 0.66667
print "$y\n";
@@ -4156,7 +4247,7 @@ This method was added in v1.87 of Math::BigInt (June 2007).
=head2 bmuladd()
- $x->bmuladd($y,$z);
+ $x->bmuladd($y,$z);
Multiply $x by $y, and then add $z to the result.
@@ -4241,7 +4332,7 @@ request a different storage class for use with Math::BigFloat:
use Math::BigFloat with => 'Math::BigInt::Lite';
However, this request is ignored, as the current code now uses the low-level
-math libary for directly storing the number parts.
+math library for directly storing the number parts.
=head1 EXPORTS
@@ -4284,9 +4375,9 @@ The following will probably not print what you expect:
print $c->bdiv(123.456),"\n";
-It prints both quotient and reminder since print works in list context. Also,
+It prints both quotient and remainder since print works in list context. Also,
bdiv() will modify $c, so be careful. You probably want to use
-
+
print $c / 123.456,"\n";
print scalar $c->bdiv(123.456),"\n"; # or if you want to modify $c
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt.pm b/Master/tlpkg/tlperl/lib/Math/BigInt.pm
index f97e4380798..62c021ecf71 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt.pm
@@ -6,7 +6,7 @@ package Math::BigInt;
#
# The following hash values are used:
-# value: unsigned int with actual value (as a Math::BigInt::Calc or similiar)
+# value: unsigned int with actual value (as a Math::BigInt::Calc or similar)
# sign : +,-,NaN,+inf,-inf
# _a : accuracy
# _p : precision
@@ -16,9 +16,9 @@ package Math::BigInt;
# underlying lib might change the reference!
my $class = "Math::BigInt";
-use 5.006;
+use 5.006002;
-$VERSION = '1.89_01';
+$VERSION = '1.994';
@ISA = qw(Exporter);
@EXPORT_OK = qw(objectify bgcd blcm);
@@ -30,7 +30,7 @@ use vars qw/$round_mode $accuracy $precision $div_scale $rnd_mode
use strict;
# Inside overload, the first arg is always an object. If the original code had
-# it reversed (like $x = 2 * $y), then the third paramater is true.
+# it reversed (like $x = 2 * $y), then the third parameter is true.
# In some cases (like add, $x = $x + 2 is the same as $x = 2 + $x) this makes
# no difference, but in some cases it does.
@@ -172,8 +172,8 @@ $_trap_nan = 0; # are NaNs ok? set w/ config()
$_trap_inf = 0; # are infs ok? set w/ config()
my $nan = 'NaN'; # constants for easier life
-my $CALC = 'Math::BigInt::FastCalc'; # module to do the low level math
- # default is FastCalc.pm
+my $CALC = 'Math::BigInt::Calc'; # module to do the low level math
+ # default is Calc.pm
my $IMPORT = 0; # was import() called yet?
# used to make require work
my %WARN; # warn only once for low-level libs
@@ -799,7 +799,7 @@ sub bone
}
##############################################################################
-# string conversation
+# string conversion
sub bsstr
{
@@ -931,7 +931,7 @@ sub round
# Round $self according to given parameters, or given second argument's
# parameters or global defaults
- # for speed reasons, _find_round_parameters is embeded here:
+ # for speed reasons, _find_round_parameters is embedded here:
my ($self,$a,$p,$r,@args) = @_;
# $a accuracy, if given by caller
@@ -989,7 +989,7 @@ sub round
{
$self->bfround(int($p),$r) if !defined $self->{_p} || $self->{_p} <= $p;
}
- # bround() or bfround() already callled bnorm() if nec.
+ # bround() or bfround() already called bnorm() if nec.
$self;
}
@@ -1260,7 +1260,7 @@ sub blog
# objectify is costly, so avoid it
if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1])))
{
- ($self,$x,$base,@r) = objectify(1,ref($x),@_);
+ ($self,$x,$base,@r) = objectify(2,@_);
}
return $x if $x->modify('blog');
@@ -1320,18 +1320,17 @@ sub bnok
}
else
{
- # ( 7 ) 7! 7*6*5 * 4*3*2*1 7 * 6 * 5
- # ( - ) = --------- = --------------- = ---------
- # ( 3 ) 3! (7-3)! 3*2*1 * 4*3*2*1 3 * 2 * 1
+ # ( 7 ) 7! 1*2*3*4 * 5*6*7 5 * 6 * 7 6 7
+ # ( - ) = --------- = --------------- = --------- = 5 * - * -
+ # ( 3 ) (7-3)! 3! 1*2*3*4 * 1*2*3 1 * 2 * 3 2 3
- # compute n - k + 2 (so we start with 5 in the example above)
- my $z = $x - $y;
- if (!$z->is_one())
+ if (!$y->is_zero())
{
+ my $z = $x - $y;
$z->binc();
my $r = $z->copy(); $z->binc();
my $d = $self->new(2);
- while ($z->bacmp($x) <= 0) # f < x ?
+ while ($z->bacmp($x) <= 0) # f <= x ?
{
$r->bmul($z); $r->bdiv($d);
$z->binc(); $d->binc();
@@ -1375,11 +1374,11 @@ sub bexp
else { $x = $u; }
}
-sub blcm
- {
+sub blcm
+ {
# (BINT or num_str, BINT or num_str) return BINT
# does not modify arguments, but returns new object
- # Lowest Common Multiplicator
+ # Lowest Common Multiple
my $y = shift; my ($x);
if (ref($y))
@@ -1403,7 +1402,7 @@ sub bgcd
{
# (BINT or num_str, BINT or num_str) return BINT
# does not modify arguments, but returns new object
- # GCD -- Euclids algorithm, variant C (Knuth Vol 3, pg 341 ff)
+ # GCD -- Euclid's algorithm, variant C (Knuth Vol 3, pg 341 ff)
my $y = shift;
$y = $class->new($y) if !ref($y);
@@ -1498,13 +1497,13 @@ sub is_even
sub is_positive
{
- # return true when arg (BINT or num_str) is positive (>= 0)
+ # return true when arg (BINT or num_str) is positive (> 0)
my ($self,$x) = ref($_[0]) ? (undef,$_[0]) : objectify(1,@_);
return 1 if $x->{sign} eq '+inf'; # +inf is positive
-
+
# 0+ is neither positive nor negative
- ($x->{sign} eq '+' && !$x->is_zero()) ? 1 : 0;
+ ($x->{sign} eq '+' && !$x->is_zero()) ? 1 : 0;
}
sub is_negative
@@ -1574,12 +1573,7 @@ sub bmuladd
# (BINT or num_str, BINT or num_str, BINT or num_str) return BINT
# set up parameters
- my ($self,$x,$y,$z,@r) = (ref($_[0]),@_);
- # objectify is costly, so avoid it
- if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1])))
- {
- ($self,$x,$y,$z,@r) = objectify(3,@_);
- }
+ my ($self,$x,$y,$z,@r) = objectify(3,@_);
return $x if $x->modify('bmuladd');
@@ -1654,7 +1648,7 @@ sub _div_inf
if (($x->is_nan() || $y->is_nan()) ||
($x->is_zero() && $y->is_zero()));
- # +-inf / +-inf == NaN, reminder also NaN
+ # +-inf / +-inf == NaN, remainder also NaN
if (($x->{sign} =~ /^[+-]inf$/) && ($y->{sign} =~ /^[+-]inf$/))
{
return wantarray ? ($x->bnan(),$self->bnan()) : $x->bnan();
@@ -1786,10 +1780,12 @@ sub bmod
sub bmodinv
{
- # Modular inverse. given a number which is (hopefully) relatively
- # prime to the modulus, calculate its inverse using Euclid's
- # alogrithm. If the number is not relatively prime to the modulus
- # (i.e. their gcd is not one) then NaN is returned.
+ # Return modular multiplicative inverse: z is the modular inverse of x (mod
+ # y) if and only if x*z (mod y) = 1 (mod y). If the modulus y is larger than
+ # one, x and z are relative primes (i.e., their greatest common divisor is
+ # one).
+ #
+ # If no modular multiplicative inverse exists, NaN is returned.
# set up parameters
my ($self,$x,$y,@r) = (undef,@_);
@@ -1801,52 +1797,153 @@ sub bmodinv
return $x if $x->modify('bmodinv');
- return $x->bnan()
- if ($y->{sign} ne '+' # -, NaN, +inf, -inf
- || $x->is_zero() # or num == 0
- || $x->{sign} !~ /^[+-]$/ # or num NaN, inf, -inf
- );
-
- # put least residue into $x if $x was negative, and thus make it positive
- $x->bmod($y) if $x->{sign} eq '-';
-
- my $sign;
- ($x->{value},$sign) = $CALC->_modinv($x->{value},$y->{value});
- return $x->bnan() if !defined $x->{value}; # in case no GCD found
- return $x if !defined $sign; # already real result
- $x->{sign} = $sign; # flip/flop see below
- $x->bmod($y); # calc real result
- $x;
+ # Return NaN if one or both arguments is +inf, -inf, or nan.
+
+ return $x->bnan() if ($y->{sign} !~ /^[+-]$/ ||
+ $x->{sign} !~ /^[+-]$/);
+
+ # Return NaN if $y is zero; 1 % 0 makes no sense.
+
+ return $x->bnan() if $y->is_zero();
+
+ # Return 0 in the trivial case. $x % 1 or $x % -1 is zero for all finite
+ # integers $x.
+
+ return $x->bzero() if ($y->is_one() ||
+ $y->is_one('-'));
+
+ # Return NaN if $x = 0, or $x modulo $y is zero. The only valid case when
+ # $x = 0 is when $y = 1 or $y = -1, but that was covered above.
+ #
+ # Note that computing $x modulo $y here affects the value we'll feed to
+ # $CALC->_modinv() below when $x and $y have opposite signs. E.g., if $x =
+ # 5 and $y = 7, those two values are fed to _modinv(), but if $x = -5 and
+ # $y = 7, the values fed to _modinv() are $x = 2 (= -5 % 7) and $y = 7.
+ # The value if $x is affected only when $x and $y have opposite signs.
+
+ $x->bmod($y);
+ return $x->bnan() if $x->is_zero();
+
+ # Compute the modular multiplicative inverse of the absolute values. We'll
+ # correct for the signs of $x and $y later. Return NaN if no GCD is found.
+
+ ($x->{value}, $x->{sign}) = $CALC->_modinv($x->{value}, $y->{value});
+ return $x->bnan() if !defined $x->{value};
+
+ # Library inconsistency workaround: _modinv() in Math::BigInt::GMP versions
+ # <= 1.32 return undef rather than a "+" for the sign.
+
+ $x->{sign} = '+' unless defined $x->{sign};
+
+ # When one or both arguments are negative, we have the following
+ # relations. If x and y are positive:
+ #
+ # modinv(-x, -y) = -modinv(x, y)
+ # modinv(-x, y) = y - modinv(x, y) = -modinv(x, y) (mod y)
+ # modinv( x, -y) = modinv(x, y) - y = modinv(x, y) (mod -y)
+
+ # We must swap the sign of the result if the original $x is negative.
+ # However, we must compensate for ignoring the signs when computing the
+ # inverse modulo. The net effect is that we must swap the sign of the
+ # result if $y is negative.
+
+ $x -> bneg() if $y->{sign} eq '-';
+
+ # Compute $x modulo $y again after correcting the sign.
+
+ $x -> bmod($y) if $x->{sign} ne $y->{sign};
+
+ return $x;
}
sub bmodpow
{
- # takes a very large number to a very large exponent in a given very
- # large modulus, quickly, thanks to binary exponentation. Supports
- # negative exponents.
+ # Modular exponentiation. Raises a very large number to a very large exponent
+ # in a given very large modulus quickly, thanks to binary exponentiation.
+ # Supports negative exponents.
my ($self,$num,$exp,$mod,@r) = objectify(3,@_);
return $num if $num->modify('bmodpow');
- # check modulus for valid values
- return $num->bnan() if ($mod->{sign} ne '+' # NaN, - , -inf, +inf
- || $mod->is_zero());
+ # When the exponent 'e' is negative, use the following relation, which is
+ # based on finding the multiplicative inverse 'd' of 'b' modulo 'm':
+ #
+ # b^(-e) (mod m) = d^e (mod m) where b*d = 1 (mod m)
- # check exponent for valid values
- if ($exp->{sign} =~ /\w/)
- {
- # i.e., if it's NaN, +inf, or -inf...
- return $num->bnan();
- }
+ $num->bmodinv($mod) if ($exp->{sign} eq '-');
- $num->bmodinv ($mod) if ($exp->{sign} eq '-');
+ # Check for valid input. All operands must be finite, and the modulus must be
+ # non-zero.
- # check num for valid values (also NaN if there was no inverse but $exp < 0)
- return $num->bnan() if $num->{sign} !~ /^[+-]$/;
+ return $num->bnan() if ($num->{sign} =~ /NaN|inf/ || # NaN, -inf, +inf
+ $exp->{sign} =~ /NaN|inf/ || # NaN, -inf, +inf
+ $mod->{sign} =~ /NaN|inf/ || # NaN, -inf, +inf
+ $mod->is_zero());
+
+ # Compute 'a (mod m)', ignoring the signs on 'a' and 'm'. If the resulting
+ # value is zero, the output is also zero, regardless of the signs on 'a' and
+ # 'm'.
+
+ my $value = $CALC->_modpow($num->{value}, $exp->{value}, $mod->{value});
+ my $sign = '+';
+
+ # If the resulting value is non-zero, we have four special cases, depending
+ # on the signs on 'a' and 'm'.
+
+ unless ($CALC->_is_zero($value)) {
+
+ # There is a negative sign on 'a' (= $num**$exp) only if the number we
+ # are exponentiating ($num) is negative and the exponent ($exp) is odd.
+
+ if ($num->{sign} eq '-' && $exp->is_odd()) {
+
+ # When both the number 'a' and the modulus 'm' have a negative sign,
+ # use this relation:
+ #
+ # -a (mod -m) = -(a (mod m))
+
+ if ($mod->{sign} eq '-') {
+ $sign = '-';
+ }
+
+ # When only the number 'a' has a negative sign, use this relation:
+ #
+ # -a (mod m) = m - (a (mod m))
+
+ else {
+ # Use copy of $mod since _sub() modifies the first argument.
+ my $mod = $CALC->_copy($mod->{value});
+ $value = $CALC->_sub($mod, $value);
+ $sign = '+';
+ }
+
+ } else {
+
+ # When only the modulus 'm' has a negative sign, use this relation:
+ #
+ # a (mod -m) = (a (mod m)) - m
+ # = -(m - (a (mod m)))
+
+ if ($mod->{sign} eq '-') {
+ # Use copy of $mod since _sub() modifies the first argument.
+ my $mod = $CALC->_copy($mod->{value});
+ $value = $CALC->_sub($mod, $value);
+ $sign = '-';
+ }
+
+ # When neither the number 'a' nor the modulus 'm' have a negative
+ # sign, directly return the already computed value.
+ #
+ # (a (mod m))
+
+ }
- # $mod is positive, sign on $exp is ignored, result also positive
- $num->{value} = $CALC->_modpow($num->{value},$exp->{value},$mod->{value});
- $num;
+ }
+
+ $num->{value} = $value;
+ $num->{sign} = $sign;
+
+ return $num;
}
###############################################################################
@@ -2560,7 +2657,7 @@ sub objectify
{
$k = $a[0]->new($k);
}
- elsif (!defined $up && ref($k) ne $a[0])
+ elsif (ref($k) ne $a[0] and !defined $up || ref $k ne $up)
{
# foreign object, try to convert to integer
$k->can('as_number') ? $k = $k->as_number() : $k = $a[0]->new($k);
@@ -2640,7 +2737,7 @@ sub import
{
$_ =~ tr/a-zA-Z0-9://cd; # limit to sane characters
}
- push @c, \'FastCalc', \'Calc' # if all fail, try these
+ push @c, \'Calc' # if all fail, try these
if $warn_or_die < 2; # but not for "only"
$CALC = ''; # signal error
foreach my $l (@c)
@@ -2752,93 +2849,145 @@ sub import
# import done
}
-sub from_hex
- {
- # create a bigint from a hexadecimal string
- my ($self, $hs) = @_;
+sub from_hex {
+ # Create a bigint from a hexadecimal string.
+
+ my ($self, $str) = @_;
- my $rc = __from_hex($hs);
+ if ($str =~ s/
+ ^
+ ( [+-]? )
+ (0?x)?
+ (
+ [0-9a-fA-F]*
+ ( _ [0-9a-fA-F]+ )*
+ )
+ $
+ //x)
+ {
+ # Get a "clean" version of the string, i.e., non-emtpy and with no
+ # underscores or invalid characters.
- return $self->bnan() unless defined $rc;
+ my $sign = $1;
+ my $chrs = $3;
+ $chrs =~ tr/_//d;
+ $chrs = '0' unless CORE::length $chrs;
- $rc;
- }
+ # Initialize output.
-sub from_bin
- {
- # create a bigint from a hexadecimal string
- my ($self, $bs) = @_;
+ my $x = Math::BigInt->bzero();
- my $rc = __from_bin($bs);
+ # The library method requires a prefix.
- return $self->bnan() unless defined $rc;
+ $x->{value} = $CALC->_from_hex('0x' . $chrs);
- $rc;
- }
+ # Place the sign.
-sub from_oct
- {
- # create a bigint from a hexadecimal string
- my ($self, $os) = @_;
+ if ($sign eq '-' && ! $CALC->_is_zero($x->{value})) {
+ $x->{sign} = '-';
+ }
- my $x = $self->bzero();
-
- # strip underscores
- $os =~ s/([0-7])_([0-7])/$1$2/g;
- $os =~ s/([0-7])_([0-7])/$1$2/g;
-
- return $x->bnan() if $os !~ /^[\-\+]?0[0-7]+\z/;
+ return $x;
+ }
- my $sign = '+'; $sign = '-' if $os =~ /^-/;
+ # CORE::hex() parses as much as it can, and ignores any trailing garbage.
+ # For backwards compatibility, we return NaN.
- $os =~ s/^[+-]//; # strip sign
- $x->{value} = $CALC->_from_oct($os);
- $x->{sign} = $sign unless $CALC->_is_zero($x->{value}); # no '-0'
- $x;
- }
+ return $self->bnan();
+}
-sub __from_hex
- {
- # internal
- # convert a (ref to) big hex string to BigInt, return undef for error
- my $hs = shift;
+sub from_oct {
+ # Create a bigint from an octal string.
- my $x = Math::BigInt->bzero();
-
- # strip underscores
- $hs =~ s/([0-9a-fA-F])_([0-9a-fA-F])/$1$2/g;
- $hs =~ s/([0-9a-fA-F])_([0-9a-fA-F])/$1$2/g;
-
- return $x->bnan() if $hs !~ /^[\-\+]?0x[0-9A-Fa-f]+$/;
+ my ($self, $str) = @_;
- my $sign = '+'; $sign = '-' if $hs =~ /^-/;
+ if ($str =~ s/
+ ^
+ ( [+-]? )
+ (
+ [0-7]*
+ ( _ [0-7]+ )*
+ )
+ $
+ //x)
+ {
+ # Get a "clean" version of the string, i.e., non-emtpy and with no
+ # underscores or invalid characters.
- $hs =~ s/^[+-]//; # strip sign
- $x->{value} = $CALC->_from_hex($hs);
- $x->{sign} = $sign unless $CALC->_is_zero($x->{value}); # no '-0'
- $x;
- }
+ my $sign = $1;
+ my $chrs = $2;
+ $chrs =~ tr/_//d;
+ $chrs = '0' unless CORE::length $chrs;
-sub __from_bin
- {
- # internal
- # convert a (ref to) big binary string to BigInt, return undef for error
- my $bs = shift;
+ # Initialize output.
- my $x = Math::BigInt->bzero();
+ my $x = Math::BigInt->bzero();
- # strip underscores
- $bs =~ s/([01])_([01])/$1$2/g;
- $bs =~ s/([01])_([01])/$1$2/g;
- return $x->bnan() if $bs !~ /^[+-]?0b[01]+$/;
+ # The library method requires a prefix.
- my $sign = '+'; $sign = '-' if $bs =~ /^\-/;
- $bs =~ s/^[+-]//; # strip sign
+ $x->{value} = $CALC->_from_oct('0' . $chrs);
- $x->{value} = $CALC->_from_bin($bs);
- $x->{sign} = $sign unless $CALC->_is_zero($x->{value}); # no '-0'
- $x;
- }
+ # Place the sign.
+
+ if ($sign eq '-' && ! $CALC->_is_zero($x->{value})) {
+ $x->{sign} = '-';
+ }
+
+ return $x;
+ }
+
+ # CORE::oct() parses as much as it can, and ignores any trailing garbage.
+ # For backwards compatibility, we return NaN.
+
+ return $self->bnan();
+}
+
+sub from_bin {
+ # Create a bigint from a binary string.
+
+ my ($self, $str) = @_;
+
+ if ($str =~ s/
+ ^
+ ( [+-]? )
+ (0?b)?
+ (
+ [01]*
+ ( _ [01]+ )*
+ )
+ $
+ //x)
+ {
+ # Get a "clean" version of the string, i.e., non-emtpy and with no
+ # underscores or invalid characters.
+
+ my $sign = $1;
+ my $chrs = $3;
+ $chrs =~ tr/_//d;
+ $chrs = '0' unless CORE::length $chrs;
+
+ # Initialize output.
+
+ my $x = Math::BigInt->bzero();
+
+ # The library method requires a prefix.
+
+ $x->{value} = $CALC->_from_bin('0b' . $chrs);
+
+ # Place the sign.
+
+ if ($sign eq '-' && ! $CALC->_is_zero($x->{value})) {
+ $x->{sign} = '-';
+ }
+
+ return $x;
+ }
+
+ # For consistency with from_hex() and from_oct(), we return NaN when the
+ # input is invalid.
+
+ return $self->bnan();
+}
sub _split
{
@@ -2849,7 +2998,7 @@ sub _split
# invalid input.
my $x = shift;
- # strip white space at front, also extranous leading zeros
+ # strip white space at front, also extraneous leading zeros
$x =~ s/^\s*([-]?)0*([0-9])/$1$2/g; # will not strip ' .2'
$x =~ s/^\s+//; # but this will
$x =~ s/\s+$//g; # strip white space at end
@@ -2864,9 +3013,9 @@ sub _split
# invalid starting char?
return if $x !~ /^[+-]?(\.?[0-9]|0b[0-1]|0x[0-9a-fA-F])/;
- return __from_hex($x) if $x =~ /^[\-\+]?0x/; # hex string
- return __from_bin($x) if $x =~ /^[\-\+]?0b/; # binary string
-
+ return Math::BigInt->from_hex($x) if $x =~ /^[+-]?0x/; # hex string
+ return Math::BigInt->from_bin($x) if $x =~ /^[+-]?0b/; # binary string
+
# strip underscores between digits
$x =~ s/([0-9])_([0-9])/$1$2/g;
$x =~ s/([0-9])_([0-9])/$1$2/g; # do twice for 1_2_3
@@ -3100,7 +3249,7 @@ Math::BigInt - Arbitrary size integer/float math package
# will warn if Math::BigInt::GMP cannot be found
use Math::BigInt lib => 'GMP';
- # to supress the warning use this:
+ # to suppress the warning use this:
# use Math::BigInt try => 'GMP';
# dies if GMP cannot be loaded:
@@ -3136,8 +3285,8 @@ Math::BigInt - Arbitrary size integer/float math package
$x->is_one('-'); # if $x is -1
$x->is_odd(); # if $x is odd
$x->is_even(); # if $x is even
- $x->is_pos(); # if $x >= 0
- $x->is_neg(); # if $x < 0
+ $x->is_pos(); # if $x > 0
+ $x->is_neg(); # if $x < 0
$x->is_inf($sign); # if $x is +inf, or -inf (sign is default '+')
$x->is_int(); # if $x is an integer (not a float)
@@ -3165,7 +3314,7 @@ Math::BigInt - Arbitrary size integer/float math package
$x->bnot(); # two's complement (bit wise not)
$x->binc(); # increment $x by 1
$x->bdec(); # decrement $x by 1
-
+
$x->badd($y); # addition (add $y to $x)
$x->bsub($y); # subtraction (subtract $y from $x)
$x->bmul($y); # multiplication (multiply $x by $y)
@@ -3175,9 +3324,8 @@ Math::BigInt - Arbitrary size integer/float math package
$x->bmuladd($y,$z); # $x = $x * $y + $z
$x->bmod($y); # modulus (x % y)
- $x->bmodpow($exp,$mod); # modular exponentation (($num**$exp) % $mod))
- $x->bmodinv($mod); # the inverse of $x in the given modulus $mod
-
+ $x->bmodpow($y,$mod); # modular exponentiation (($x ** $y) % $mod)
+ $x->bmodinv($mod); # modular multiplicative inverse
$x->bpow($y); # power of arguments (x ** y)
$x->blsft($y); # left shift in base 2
$x->brsft($y); # right shift in base 2
@@ -3185,7 +3333,7 @@ Math::BigInt - Arbitrary size integer/float math package
$x->blsft($y,$n); # left shift by $y places in base $n
$x->brsft($y,$n); # right shift by $y places in base $n
# returns (quo,rem) or quo if in scalar context
-
+
$x->band($y); # bitwise and
$x->bior($y); # bitwise inclusive or
$x->bxor($y); # bitwise exclusive or
@@ -3200,7 +3348,7 @@ Math::BigInt - Arbitrary size integer/float math package
$x->blog(); # logarithm of $x to base e (Euler's number)
$x->blog($base); # logarithm of $x to base $base (f.i. 2)
$x->bexp(); # calculate e ** $x where e is Euler's number
-
+
$x->round($A,$P,$mode); # round to accuracy or precision using mode $mode
$x->bround($n); # accuracy: preserve $n digits
$x->bfround($n); # $n > 0: round $nth digits,
@@ -3212,14 +3360,14 @@ Math::BigInt - Arbitrary size integer/float math package
$x->bfloor(); # return integer less or equal than $x
$x->bceil(); # return integer greater or equal than $x
-
+
# The following do not modify their arguments:
# greatest common divisor (no OO style)
my $gcd = Math::BigInt::bgcd(@values);
- # lowest common multiplicator (no OO style)
- my $lcm = Math::BigInt::blcm(@values);
-
+ # lowest common multiple (no OO style)
+ my $lcm = Math::BigInt::blcm(@values);
+
$x->length(); # return number of digits in number
($xl,$f) = $x->length(); # length of number and length of fraction part,
# latter is always 0 digits long for BigInts
@@ -3230,8 +3378,8 @@ Math::BigInt - Arbitrary size integer/float math package
$x->copy(); # make a true copy of $x (unlike $y = $x;)
$x->as_int(); # return as BigInt (in BigInt: same as copy())
$x->numify(); # return as scalar (might overflow!)
-
- # conversation to string (do not modify their argument)
+
+ # conversion to string (do not modify their argument)
$x->bstr(); # normalized string (e.g. '3')
$x->bsstr(); # norm. string in scientific notation (e.g. '3E0')
$x->as_hex(); # as signed hexadecimal string with prefixed 0x
@@ -3270,7 +3418,7 @@ Input values to these routines may be any string, that looks like a number
and results in an integer, including hexadecimal and binary numbers.
Scalars holding numbers may also be passed, but note that non-integer numbers
-may already have lost precision due to the conversation to float. Quote
+may already have lost precision due to the conversion to float. Quote
your input if you want BigInt to see all the digits:
$x = Math::BigInt->new(12345678890123456789); # bad
@@ -3286,7 +3434,7 @@ are accepted, too. Please note that octal numbers are not recognized
by new(), so the following will print "123":
perl -MMath::BigInt -le 'print Math::BigInt->new("0123")'
-
+
To convert an octal number, use from_oct();
perl -MMath::BigInt -le 'print Math::BigInt->from_oct("0123")'
@@ -3295,8 +3443,8 @@ Currently, Math::BigInt::new() defaults to 0, while Math::BigInt::new('')
results in 'NaN'. This might change in the future, so use always the following
explicit forms to get a zero or NaN:
- $zero = Math::BigInt->bzero();
- $nan = Math::BigInt->bnan();
+ $zero = Math::BigInt->bzero();
+ $nan = Math::BigInt->bnan();
C<bnorm()> on a BigInt object is now effectively a no-op, since the numbers
are always stored in normalized form. If passed a string, creates a BigInt
@@ -3365,7 +3513,7 @@ The following values can be set by passing C<config()> a reference to a hash:
upgrade downgrade precision accuracy round_mode div_scale
Example:
-
+
$new_cfg = Math::BigInt->config( { trap_inf => 1, precision => 5 } );
=head2 accuracy()
@@ -3382,7 +3530,7 @@ results have. If you set a global accuracy, then this also applies to new()!
Warning! The accuracy I<sticks>, e.g. once you created a number under the
influence of C<< CLASS->accuracy($A) >>, all results from math operations with
-that number will also be rounded.
+that number will also be rounded.
In most cases, you should probably round the results explicitly using one of
L<round()>, L<bround()> or L<bfround()> or by passing the desired accuracy
@@ -3393,15 +3541,15 @@ to the math operation as additional parameter:
print scalar $x->copy()->bdiv($y, 2); # print 4300
print scalar $x->copy()->bdiv($y)->bround(2); # print 4300
-Please see the section about L<ACCURACY AND PRECISION> for further details.
+Please see the section about L<ACCURACY and PRECISION> for further details.
Value must be greater than zero. Pass an undef value to disable it:
$x->accuracy(undef);
Math::BigInt->accuracy(undef);
-Returns the current accuracy. For C<$x->accuracy()> it will return either the
-local accuracy, or if not defined, the global. This means the return value
+Returns the current accuracy. For C<< $x->accuracy() >> it will return either
+the local accuracy, or if not defined, the global. This means the return value
represents the accuracy that will be in effect for $x:
$y = Math::BigInt->new(1234567); # unrounded
@@ -3428,7 +3576,7 @@ Math::BigInt.
# This also applies to new()!
CLASS->precision(-5); # ditto
- $P = CLASS->precision(); # read out global precision
+ $P = CLASS->precision(); # read out global precision
$P = $x->precision(); # read out precision that affects $x
Note: You probably want to use L<accuracy()> instead. With L<accuracy> you
@@ -3443,15 +3591,15 @@ In Math::BigInt, passing a negative number precision has no effect since no
numbers have digits after the dot. In L<Math::BigFloat>, it will round all
results to P digits after the dot.
-Please see the section about L<ACCURACY AND PRECISION> for further details.
+Please see the section about L<ACCURACY and PRECISION> for further details.
Pass an undef value to disable it:
$x->precision(undef);
Math::BigInt->precision(undef);
-Returns the current precision. For C<$x->precision()> it will return either the
-local precision of $x, or if not defined, the global. This means the return
+Returns the current precision. For C<< $x->precision() >> it will return either
+the local precision of $x, or if not defined, the global. This means the return
value represents the prevision that will be in effect for $x:
$y = Math::BigInt->new(1234567); # unrounded
@@ -3466,7 +3614,7 @@ Math::BigInt.
=head2 brsft()
- $x->brsft($y,$n);
+ $x->brsft($y,$n);
Shifts $x right by $y in base $n. Default is base 2, used are usually 10 and
2, but others work, too.
@@ -3503,13 +3651,26 @@ See L<Input> for more info on accepted input formats.
$x = Math::BigInt->from_oct("0775"); # input is octal
+Interpret the input as an octal string and return the corresponding value. A
+"0" (zero) prefix is optional. A single underscore character may be placed
+right after the prefix, if present, or between any two digits. If the input is
+invalid, a NaN is returned.
+
=head2 from_hex()
$x = Math::BigInt->from_hex("0xcafe"); # input is hexadecimal
+Interpret input as a hexadecimal string. A "0x" or "x" prefix is optional. A
+single underscore character may be placed right after the prefix, if present,
+or between any two digits. If the input is invalid, a NaN is returned.
+
=head2 from_bin()
- $x = Math::BigInt->from_oct("0x10011"); # input is binary
+ $x = Math::BigInt->from_bin("0b10011"); # input is binary
+
+Interpret the input as a binary string. A "0b" or "b" prefix is optional. A
+single underscore character may be placed right after the prefix, if present,
+or between any two digits. If the input is invalid, a NaN is returned.
=head2 bnan()
@@ -3553,7 +3714,6 @@ If used on an object, it will set it to one:
=head2 is_one()/is_zero()/is_nan()/is_inf()
-
$x->is_zero(); # true if arg is +0
$x->is_nan(); # true if arg is NaN
$x->is_one(); # true if arg is +1
@@ -3568,7 +3728,7 @@ like:
if ($x == 0)
=head2 is_pos()/is_neg()/is_positive()/is_negative()
-
+
$x->is_pos(); # true if > 0
$x->is_neg(); # true if < 0
@@ -3605,7 +3765,7 @@ Returns -1, 0, 1 or undef.
$x->bacmp($y);
-Compares $x with $y while ignoring their. Returns -1, 0, 1 or undef.
+Compares $x with $y while ignoring their sign. Returns -1, 0, 1 or undef.
=head2 sign()
@@ -3648,7 +3808,7 @@ numbers.
=head2 bnot()
- $x->bnot();
+ $x->bnot();
Two's complement (bitwise not). This is equivalent to
@@ -3695,19 +3855,28 @@ This method was added in v1.87 of Math::BigInt (June 2007).
=head2 bmodinv()
- num->bmodinv($mod); # modular inverse
+ $x->bmodinv($mod); # modular multiplicative inverse
+
+Returns the multiplicative inverse of C<$x> modulo C<$mod>. If
+
+ $y = $x -> copy() -> bmodinv($mod)
+
+then C<$y> is the number closest to zero, and with the same sign as C<$mod>,
+satisfying
+
+ ($x * $y) % $mod = 1 % $mod
-Returns the inverse of C<$num> in the given modulus C<$mod>. 'C<NaN>' is
-returned unless C<$num> is relatively prime to C<$mod>, i.e. unless
-C<bgcd($num, $mod)==1>.
+If C<$x> and C<$y> are non-zero, they must be relative primes, i.e.,
+C<bgcd($y, $mod)==1>. 'C<NaN>' is returned when no modular multiplicative
+inverse exists.
=head2 bmodpow()
- $num->bmodpow($exp,$mod); # modular exponentation
+ $num->bmodpow($exp,$mod); # modular exponentiation
# ($num**$exp % $mod)
Returns the value of C<$num> taken to the power C<$exp> in the modulus
-C<$mod> using binary exponentation. C<bmodpow> is far superior to
+C<$mod> using binary exponentiation. C<bmodpow> is far superior to
writing
$num ** $exp % $mod
@@ -3867,7 +4036,7 @@ Calculates the N'th root of C<$x>.
=head2 round()
$x->round($A,$P,$round_mode);
-
+
Round $x to accuracy C<$A> or precision C<$P> using the round mode
C<$round_mode>.
@@ -3894,7 +4063,7 @@ Examples:
=head2 bfloor()
- $x->bfloor();
+ $x->bfloor();
Set $x to the integer less or equal than $x. This is a no-op in BigInt, but
does change $x in BigFloat.
@@ -3912,8 +4081,8 @@ does change $x in BigFloat.
=head2 blcm()
- blcm(@values); # lowest common multiplicator (no OO style)
-
+ blcm(@values); # lowest common multiple (no OO style)
+
head2 length()
$x->length();
@@ -3945,14 +4114,14 @@ Return the signed mantissa of $x as BigInt.
=head2 as_int()/as_number()
- $x->as_int();
+ $x->as_int();
Returns $x as a BigInt (truncated towards zero). In BigInt this is the same as
-C<copy()>.
+C<copy()>.
C<as_number()> is an alias to this method. C<as_number> was introduced in
v1.22, while C<as_int()> was only introduced in v1.68.
-
+
=head2 bstr()
$x->bstr();
@@ -3989,7 +4158,7 @@ This loses precision, to avoid this use L<as_int()> instead.
$x->modify('bpowd');
This method returns 0 if the object can be modified with the given
-peration, or 1 if not.
+operation, or 1 if not.
This is used for instance by L<Math::BigInt::Constant>.
@@ -4039,12 +4208,12 @@ the decimal point. For example, 123.45 has a precision of -2. 0 means an
integer like 123 (or 120). A precision of 2 means two digits to the left
of the decimal point are zero, so 123 with P = 1 becomes 120. Note that
numbers with zeros before the decimal point may have different precisions,
-because 1200 can have p = 0, 1 or 2 (depending on what the inital value
+because 1200 can have p = 0, 1 or 2 (depending on what the initial value
was). It could also have p < 0, when the digits after the decimal point
are zero.
The string output (of floating point numbers) will be padded with zeros:
-
+
Initial value P A Result String
------------------------------------------------------------
1234.01 -3 1000 1000
@@ -4161,7 +4330,7 @@ versions <= 5.7.2) is like this:
=item Accuracy (significant digits)
* fround($a) rounds to $a significant digits
- * only fdiv() and fsqrt() take A as (optional) paramater
+ * only fdiv() and fsqrt() take A as (optional) parameter
+ other operations simply create the same number (fneg etc), or more (fmul)
of digits
+ rounding/truncating is only done when explicitly calling one of fround
@@ -4186,7 +4355,7 @@ versions <= 5.7.2) is like this:
assumption that 124 has 3 significant digits, while 120/7 will get you
'17', not '17.1' since 120 is thought to have 2 significant digits.
The rounding after the division then uses the remainder and $y to determine
- wether it must round up or down.
+ whether it must round up or down.
? I have no idea which is the right way. That's why I used a slightly more
? simple scheme and tweaked the few failing testcases to match it.
@@ -4239,7 +4408,7 @@ This is how it works now:
Math::BigInt->accuracy(2);
Math::BigInt::SomeSubClass->accuracy(3);
- $x = Math::BigInt::SomeSubClass->new(1234);
+ $x = Math::BigInt::SomeSubClass->new(1234);
$x is now 1230, and not 1200. A subclass might choose to implement
this otherwise, e.g. falling back to the parent's A and P.
@@ -4301,7 +4470,7 @@ This is how it works now:
and P to -2, globally.
?Maybe an extra option that forbids local A & P settings would be in order,
- ?so that intermediate rounding does not 'poison' further math?
+ ?so that intermediate rounding does not 'poison' further math?
=item Overriding globals
@@ -4414,12 +4583,12 @@ have real numbers as results, the result is NaN.
=item exp(), cos(), sin(), atan2()
These all might have problems handling infinity right.
-
+
=back
=head1 INTERNALS
-The actual numbers are stored as unsigned big integers (with seperate sign).
+The actual numbers are stored as unsigned big integers (with separate sign).
You should neither care about nor depend on the internal representation; it
might change without notice. Use B<ONLY> method calls like C<< $x->sign(); >>
@@ -4466,7 +4635,7 @@ small numbers (less than about 20 digits) and when converting very large
numbers to decimal (for instance for printing, rounding, calculating their
length in decimal etc).
-So please select carefully what libary you want to use.
+So please select carefully what library you want to use.
Different low-level libraries use different formats to store the numbers.
However, you should B<NOT> depend on the number having a specific format
@@ -4506,7 +4675,7 @@ C<$e> and C<$m> will stay always the same, though their real values might
change.
=head1 EXAMPLES
-
+
use Math::BigInt;
sub bint { Math::BigInt->new(shift); }
@@ -4654,8 +4823,8 @@ directly.
=item *
-The private object hash keys like C<$x->{sign}> may not be changed, but
-additional keys can be added, like C<$x->{_custom}>.
+The private object hash keys like C<< $x->{sign} >> may not be changed, but
+additional keys can be added, like C<< $x->{_custom} >>.
=item *
@@ -4716,7 +4885,7 @@ As a shortcut, you can use the module C<bignum>:
use bignum;
-Also good for oneliners:
+Also good for one-liners:
perl -Mbignum -le 'print 2 ** 255'
@@ -4793,7 +4962,7 @@ So, the following examples will now work all as expected:
print "$x eq 9" if $x eq 3*3;
Additionally, the following still works:
-
+
print "$x == 9" if $x == $y;
print "$x == 9" if $x == 9;
print "$x == 9" if $x == 3*3;
@@ -4858,8 +5027,8 @@ The following will probably not do what you expect:
It prints both the number of digits in the number and in the fraction part
since print calls C<length()> in list context. Use something like:
-
- print scalar $c->length(),"\n"; # prints 3
+
+ print scalar $c->length(),"\n"; # prints 3
=item bdiv
@@ -4870,7 +5039,7 @@ The following will probably not do what you expect:
It prints both quotient and remainder since print calls C<bdiv()> in list
context. Also, C<bdiv()> will modify $c, so be careful. You probably want
to use
-
+
print $c / 10000,"\n";
print scalar $c->bdiv(10000),"\n"; # or if you want to modify $c
@@ -4878,7 +5047,7 @@ instead.
The quotient is always the greatest integer less than or equal to the
real-valued quotient of the two operands, and the remainder (when it is
-nonzero) always has the same sign as the second operand; so, for
+non-zero) always has the same sign as the second operand; so, for
example,
1 / 4 => ( 0, 1)
@@ -4934,8 +5103,8 @@ clearly the reasoning:
-inf/-inf = 1, 0 1 * -inf + 0 = -inf
inf/-inf = -1, 0 -1 * -inf + 0 = inf
-inf/ inf = -1, 0 1 * -inf + 0 = -inf
- 8/ 0 = inf, 8 inf * 0 + 8 = 8
- inf/ 0 = inf, inf inf * 0 + inf = inf
+ 8/ 0 = inf, 8 inf * 0 + 8 = 8
+ inf/ 0 = inf, inf inf * 0 + inf = inf
0/ 0 = NaN
These cases below violate the "remainder has the sign of the second of the two
@@ -4943,8 +5112,8 @@ arguments", since they wouldn't match up otherwise.
A / B = C, R so that C * B + R = A
========================================================
- -inf/ 0 = -inf, -inf -inf * 0 + inf = -inf
- -8/ 0 = -inf, -8 -inf * 0 + 8 = -8
+ -inf/ 0 = -inf, -inf -inf * 0 + inf = -inf
+ -8/ 0 = -inf, -8 -inf * 0 + 8 = -8
=item Modifying and =
@@ -4983,7 +5152,7 @@ modify $x, the last one won't:
print bpow($x,$i),"\n"; # modify $x
print $x->bpow($i),"\n"; # ditto
print $x **= $i,"\n"; # the same
- print $x ** $i,"\n"; # leave $x alone
+ print $x ** $i,"\n"; # leave $x alone
The form C<$x **= $y> is faster than C<$x = $x ** $y;>, though.
@@ -5033,7 +5202,7 @@ the result should be a Math::BigFloat or the second operant is one.
To get a Math::BigFloat you either need to call the operation manually,
make sure the operands are already of the proper type or casted to that type
via Math::BigFloat->new():
-
+
$float = Math::BigFloat->new($mbi2) / $mbi; # = 2.5
Beware of simple "casting" the entire expression, this would only convert
@@ -5050,7 +5219,7 @@ If in doubt, break the expression into simpler terms, or cast all operands
to the desired resulting type.
Scalar values are a bit different, since:
-
+
$float = 2 + $mbf;
$float = $mbf + 2;
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
index 52e33d232ae..25f9a3b99d9 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
@@ -1,10 +1,10 @@
package Math::BigInt::Calc;
-use 5.006;
+use 5.006002;
use strict;
# use warnings; # dont use warnings for older Perls
-our $VERSION = '0.52';
+our $VERSION = '1.993';
# Package to store unsigned big integers in decimal and do math with them
@@ -60,7 +60,7 @@ sub _base_len
$BASE = int("1e".$BASE_LEN);
$MAX_VAL = $BASE-1;
return $BASE_LEN unless wantarray;
- return ($BASE_LEN, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN, $MAX_VAL, $BASE);
+ return ($BASE_LEN, $BASE, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN, $MAX_VAL,);
}
# find whether we can use mul or div in mul()/div()
@@ -95,7 +95,7 @@ sub _base_len
}
}
return $BASE_LEN unless wantarray;
- return ($BASE_LEN, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN, $MAX_VAL, $BASE);
+ return ($BASE_LEN, $BASE, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN, $MAX_VAL);
}
sub _new
@@ -189,7 +189,7 @@ BEGIN
$XOR_MASK = __PACKAGE__->_new( ( 2 ** $XOR_BITS ));
$OR_MASK = __PACKAGE__->_new( ( 2 ** $OR_BITS ));
- # We can compute the approximate lenght no faster than the real length:
+ # We can compute the approximate length no faster than the real length:
*_alen = \&_len;
}
@@ -272,17 +272,22 @@ sub _str
sub _num
{
- # Make a number (scalar int/float) from a BigInt object
- my $x = $_[1];
+ # Make a Perl scalar number (int/float) from a BigInt object.
+ my $x = $_[1];
- return 0+$x->[0] if scalar @$x == 1; # below $BASE
- my $fac = 1;
- my $num = 0;
- foreach (@$x)
- {
- $num += $fac*$_; $fac *= $BASE;
+ return 0 + $x->[0] if scalar @$x == 1; # below $BASE
+
+ # Start with the most significant element and work towards the least
+ # significant element. Avoid multiplying "inf" (which happens if the number
+ # overflows) with "0" (if there are zero elements in $x) since this gives
+ # "nan" which propagates to the output.
+
+ my $num = 0;
+ for (my $i = $#$x ; $i >= 0 ; --$i) {
+ $num *= $BASE;
+ $num += $x -> [$i];
}
- $num;
+ return $num;
}
##############################################################################
@@ -294,7 +299,7 @@ sub _add
# routine to add two base 1eX numbers
# stolen from Knuth Vol 2 Algorithm A pg 231
# there are separate routines to add and sub as per Knuth pg 233
- # This routine clobbers up array x, but not y.
+ # This routine modifies array x, but not y.
my ($c,$x,$y) = @_;
@@ -595,7 +600,7 @@ sub _div_use_mul
my ($c,$x,$yorg) = @_;
- # the general div algorithmn here is about O(N*N) and thus quite slow, so
+ # the general div algorithm here is about O(N*N) and thus quite slow, so
# we first check for some special cases and use shortcuts to handle them.
# This works, because we store the numbers in a chunked format where each
@@ -785,7 +790,7 @@ sub _div_use_div_64
my ($c,$x,$yorg) = @_;
use integer;
- # the general div algorithmn here is about O(N*N) and thus quite slow, so
+ # the general div algorithm here is about O(N*N) and thus quite slow, so
# we first check for some special cases and use shortcuts to handle them.
# This works, because we store the numbers in a chunked format where each
@@ -976,7 +981,7 @@ sub _div_use_div
# in list context
my ($c,$x,$yorg) = @_;
- # the general div algorithmn here is about O(N*N) and thus quite slow, so
+ # the general div algorithm here is about O(N*N) and thus quite slow, so
# we first check for some special cases and use shortcuts to handle them.
# This works, because we store the numbers in a chunked format where each
@@ -1206,20 +1211,18 @@ sub _len
sub _digit
{
- # return the nth digit, negative values count backward
- # zero is rightmost, so _digit(123,0) will give 3
+ # Return the nth digit. Zero is rightmost, so _digit(123,0) gives 3.
+ # Negative values count from the left, so _digit(123, -1) gives 1.
my ($c,$x,$n) = @_;
my $len = _len('',$x);
- $n = $len+$n if $n < 0; # -1 last, -2 second-to-last
- $n = abs($n); # if negative was too big
- $len--; $n = $len if $n > $len; # n to big?
-
- my $elem = int($n / $BASE_LEN); # which array element
- my $digit = $n % $BASE_LEN; # which digit in this element
- $elem = '0' x $BASE_LEN . @$x[$elem]; # get element padded with 0's
- substr($elem,-$digit-1,1);
+ $n += $len if $n < 0; # -1 last, -2 second-to-last
+ return "0" if $n < 0 || $n >= $len; # return 0 for digits out of range
+
+ my $elem = int($n / $BASE_LEN); # which array element
+ my $digit = $n % $BASE_LEN; # which digit in this element
+ substr("$x->[$elem]", -$digit-1, 1);
}
sub _zeros
@@ -1264,8 +1267,8 @@ sub _is_even
sub _is_odd
{
- # return true if arg is even
- (($_[1]->[0] & 1)) <=> 0;
+ # return true if arg is odd
+ (($_[1]->[0] & 1)) <=> 0;
}
sub _is_one
@@ -1352,22 +1355,24 @@ sub _mod
# if possible, use mod shortcut
my ($c,$x,$yo) = @_;
- # slow way since $y to big
+ # slow way since $y too big
if (scalar @$yo > 1)
{
my ($xo,$rem) = _div($c,$x,$yo);
- return $rem;
+ @$x = @$rem;
+ return $x;
}
my $y = $yo->[0];
- # both are single element arrays
+
+ # if both are single element arrays
if (scalar @$x == 1)
{
$x->[0] %= $y;
return $x;
}
- # @y is a single element, but @x has more than one element
+ # if @$x has more than one element, but @$y is a single element
my $b = $BASE % $y;
if ($b == 0)
{
@@ -1378,7 +1383,8 @@ sub _mod
}
elsif ($b == 1)
{
- # else need to go through all elements: O(N), but loop is a bit simplified
+ # else need to go through all elements in @$x: O(N), but loop is a bit
+ # simplified
my $r = 0;
foreach (@$x)
{
@@ -1390,8 +1396,9 @@ sub _mod
}
else
{
- # else need to go through all elements: O(N)
- my $r = 0; my $bm = 1;
+ # else need to go through all elements in @$x: O(N)
+ my $r = 0;
+ my $bm = 1;
foreach (@$x)
{
$r = ($_ * $bm + $r) % $y;
@@ -1405,8 +1412,8 @@ sub _mod
$r = 0 if $r == $y;
$x->[0] = $r;
}
- splice (@$x,1); # keep one element of $x
- $x;
+ @$x = $x->[0]; # keep one element of @$x
+ return $x;
}
##############################################################################
@@ -1489,7 +1496,7 @@ sub _lsft
}
# set lowest parts to 0
while ($dst >= 0) { $x->[$dst--] = 0; }
- # fix spurios last zero element
+ # fix spurious last zero element
splice @$x,-1 if $x->[-1] == 0;
$x;
}
@@ -1530,40 +1537,68 @@ sub _pow
$cx;
}
-sub _nok
- {
- # n over k
- # ref to array, return ref to array
- my ($c,$n,$k) = @_;
+sub _nok {
+ # Return binomial coefficient (n over k).
+ # Given refs to arrays, return ref to array.
+ # First input argument is modified.
- # ( 7 ) 7! 7*6*5 * 4*3*2*1 7 * 6 * 5
- # ( - ) = --------- = --------------- = ---------
- # ( 3 ) 3! (7-3)! 3*2*1 * 4*3*2*1 3 * 2 * 1
+ my ($c, $n, $k) = @_;
- # compute n - k + 2 (so we start with 5 in the example above)
- my $x = _copy($c,$n);
+ # If k > n/2, or, equivalently, 2*k > n, compute nok(n, k) as
+ # nok(n, n-k), to minimize the number if iterations in the loop.
- _sub($c,$n,$k);
- if (!_is_one($c,$n))
{
- _inc($c,$n);
- my $f = _copy($c,$n); _inc($c,$f); # n = 5, f = 6, d = 2
- my $d = _two($c);
- while (_acmp($c,$f,$x) <= 0) # f < n ?
- {
- # n = (n * f / d) == 5 * 6 / 2 => n == 3
- $n = _mul($c,$n,$f); $n = _div($c,$n,$d);
- # f = 7, d = 3
- _inc($c,$f); _inc($c,$d);
- }
+ my $twok = _mul($c, _two($c), _copy($c, $k)); # 2 * k
+ if (_acmp($c, $twok, $n) > 0) { # if 2*k > n
+ $k = _sub($c, _copy($c, $n), $k); # k = n - k
+ }
}
- else
- {
- # keep ref to $n and set it to 1
- splice (@$n,1); $n->[0] = 1;
+
+ # Example:
+ #
+ # / 7 \ 7! 1*2*3*4 * 5*6*7 5 * 6 * 7 6 7
+ # | | = --------- = --------------- = --------- = 5 * - * -
+ # \ 3 / (7-3)! 3! 1*2*3*4 * 1*2*3 1 * 2 * 3 2 3
+
+ if (_is_zero($c, $k)) {
+ @$n = 1;
}
- $n;
- }
+
+ else {
+
+ # Make a copy of the original n, since we'll be modifing n in-place.
+
+ my $n_orig = _copy($c, $n);
+
+ # n = 5, f = 6, d = 2 (cf. example above)
+
+ _sub($c, $n, $k);
+ _inc($c, $n);
+
+ my $f = _copy($c, $n);
+ _inc($c, $f);
+
+ my $d = _two($c);
+
+ # while f <= n (the original n, that is) ...
+
+ while (_acmp($c, $f, $n_orig) <= 0) {
+
+ # n = (n * f / d) == 5 * 6 / 2 (cf. example above)
+
+ _mul($c, $n, $f);
+ _div($c, $n, $d);
+
+ # f = 7, d = 3 (cf. example above)
+
+ _inc($c, $f);
+ _inc($c, $d);
+ }
+
+ }
+
+ return $n;
+}
my @factorials = (
1,
@@ -2030,7 +2065,7 @@ sub _root
# reset step to 2
$step = _two();
# add two, because $trial cannot be exactly the result (otherwise we would
- # alrady have found it)
+ # already have found it)
_add($c, $trial, $step);
# and now add more and more (2,4,6,8,10 etc)
@@ -2348,32 +2383,45 @@ sub _from_bin
sub _modinv
{
- # modular inverse
+ # modular multiplicative inverse
my ($c,$x,$y) = @_;
- my $u = _zero($c); my $u1 = _one($c);
- my $a = _copy($c,$y); my $b = _copy($c,$x);
+ # modulo zero
+ if (_is_zero($c, $y)) {
+ return (undef, undef);
+ }
+
+ # modulo one
+ if (_is_one($c, $y)) {
+ return (_zero($c), '+');
+ }
+
+ my $u = _zero($c);
+ my $v = _one($c);
+ my $a = _copy($c,$y);
+ my $b = _copy($c,$x);
- # Euclid's Algorithm for bgcd(), only that we calc bgcd() ($a) and the
- # result ($u) at the same time. See comments in BigInt for why this works.
+ # Euclid's Algorithm for bgcd(), only that we calc bgcd() ($a) and the result
+ # ($u) at the same time. See comments in BigInt for why this works.
my $q;
- ($a, $q, $b) = ($b, _div($c,$a,$b)); # step 1
my $sign = 1;
- while (!_is_zero($c,$b))
- {
- my $t = _add($c, # step 2:
- _mul($c,_copy($c,$u1), $q) , # t = u1 * q
- $u ); # + u
- $u = $u1; # u = u1, u1 = t
- $u1 = $t;
- $sign = -$sign;
- ($a, $q, $b) = ($b, _div($c,$a,$b)); # step 1
- }
+ {
+ ($a, $q, $b) = ($b, _div($c, $a, $b)); # step 1
+ last if _is_zero($c, $b);
+
+ my $t = _add($c, # step 2:
+ _mul($c, _copy($c, $v), $q) , # t = v * q
+ $u ); # + u
+ $u = $v; # u = v
+ $v = $t; # v = t
+ $sign = -$sign;
+ redo;
+ }
# if the gcd is not 1, then return NaN
- return (undef,undef) unless _is_one($c,$a);
-
- ($u1, $sign == 1 ? '+' : '-');
+ return (undef, undef) unless _is_one($c, $a);
+
+ ($v, $sign == 1 ? '+' : '-');
}
sub _modpow
@@ -2381,18 +2429,24 @@ sub _modpow
# modulus of power ($x ** $y) % $z
my ($c,$num,$exp,$mod) = @_;
- # in the trivial case,
+ # a^b (mod 1) = 0 for all a and b
if (_is_one($c,$mod))
{
- splice @$num,0,1; $num->[0] = 0;
- return $num;
- }
- if ((scalar @$num == 1) && (($num->[0] == 0) || ($num->[0] == 1)))
- {
- $num->[0] = 1;
- return $num;
+ @$num = 0;
+ return $num;
}
+ # 0^a (mod m) = 0 if m != 0, a != 0
+ # 0^0 (mod m) = 1 if m != 0
+ if (_is_zero($c, $num)) {
+ if (_is_zero($c, $exp)) {
+ @$num = 1;
+ } else {
+ @$num = 0;
+ }
+ return $num;
+ }
+
# $num = _mod($c,$num,$mod); # this does not make it faster
my $acc = _copy($c,$num); my $t = _one();
@@ -2413,19 +2467,40 @@ sub _modpow
$num;
}
-sub _gcd
- {
- # greatest common divisor
- my ($c,$x,$y) = @_;
+sub _gcd {
+ # Greatest common divisor.
- while ( (scalar @$y != 1) || ($y->[0] != 0) ) # while ($y != 0)
- {
- my $t = _copy($c,$y);
- $y = _mod($c, $x, $y);
- $x = $t;
+ my ($c, $x, $y) = @_;
+
+ # gcd(0,0) = 0
+ # gcd(0,a) = a, if a != 0
+
+ if (@$x == 1 && $x->[0] == 0) {
+ if (@$y == 1 && $y->[0] == 0) {
+ @$x = 0;
+ } else {
+ @$x = @$y;
+ }
+ return $x;
}
- $x;
- }
+
+ # Until $y is zero ...
+
+ until (@$y == 1 && $y->[0] == 0) {
+
+ # Compute remainder.
+
+ _mod($c, $x, $y);
+
+ # Swap $x and $y.
+
+ my $tmp = [ @$x ];
+ @$x = @$y;
+ $y = $tmp; # no deref here; that would modify input $y
+ }
+
+ return $x;
+}
##############################################################################
##############################################################################
@@ -2433,148 +2508,415 @@ sub _gcd
1;
__END__
+=pod
+
=head1 NAME
Math::BigInt::Calc - Pure Perl module to support Math::BigInt
=head1 SYNOPSIS
-Provides support for big integer calculations. Not intended to be used by other
-modules. Other modules which sport the same functions can also be used to support
-Math::BigInt, like Math::BigInt::GMP or Math::BigInt::Pari.
+This library provides support for big integer calculations. It is not
+intended to be used by other modules. Other modules which support the same
+API (see below) can also be used to support Math::BigInt, like
+Math::BigInt::GMP and Math::BigInt::Pari.
=head1 DESCRIPTION
+In this library, the numbers are represented in base B = 10**N, where N is
+the largest possible value that does not cause overflow in the intermediate
+computations. The base B elements are stored in an array, with the least
+significant element stored in array element zero. There are no leading zero
+elements, except a single zero element when the number is zero.
+
+For instance, if B = 10000, the number 1234567890 is represented internally
+as [3456, 7890, 12].
+
+=head1 THE Math::BigInt API
+
In order to allow for multiple big integer libraries, Math::BigInt was
-rewritten to use library modules for core math routines. Any module which
-follows the same API as this can be used instead by using the following:
+rewritten to use a plug-in library for core math routines. Any module which
+conforms to the API can be used by Math::BigInt by using this in your program:
use Math::BigInt lib => 'libname';
-'libname' is either the long name ('Math::BigInt::Pari'), or only the short
-version like 'Pari'.
-
-=head1 STORAGE
-
-=head1 METHODS
-
-The following functions MUST be defined in order to support the use by
-Math::BigInt v1.70 or later:
-
- api_version() return API version, 1 for v1.70, 2 for v1.83
- _new(string) return ref to new object from ref to decimal string
- _zero() return a new object with value 0
- _one() return a new object with value 1
- _two() return a new object with value 2
- _ten() return a new object with value 10
-
- _str(obj) return ref to a string representing the object
- _num(obj) returns a Perl integer/floating point number
- NOTE: because of Perl numeric notation defaults,
- the _num'ified obj may lose accuracy due to
- machine-dependent floating point size limitations
-
- _add(obj,obj) Simple addition of two objects
- _mul(obj,obj) Multiplication of two objects
- _div(obj,obj) Division of the 1st object by the 2nd
- In list context, returns (result,remainder).
- NOTE: this is integer math, so no
- fractional part will be returned.
- The second operand will be not be 0, so no need to
- check for that.
- _sub(obj,obj) Simple subtraction of 1 object from another
- a third, optional parameter indicates that the params
- are swapped. In this case, the first param needs to
- be preserved, while you can destroy the second.
- sub (x,y,1) => return x - y and keep x intact!
- _dec(obj) decrement object by one (input is guaranteed to be > 0)
- _inc(obj) increment object by one
-
-
- _acmp(obj,obj) <=> operator for objects (return -1, 0 or 1)
-
- _len(obj) returns count of the decimal digits of the object
- _digit(obj,n) returns the n'th decimal digit of object
-
- _is_one(obj) return true if argument is 1
- _is_two(obj) return true if argument is 2
- _is_ten(obj) return true if argument is 10
- _is_zero(obj) return true if argument is 0
- _is_even(obj) return true if argument is even (0,2,4,6..)
- _is_odd(obj) return true if argument is odd (1,3,5,7..)
-
- _copy return a ref to a true copy of the object
-
- _check(obj) check whether internal representation is still intact
- return 0 for ok, otherwise error message as string
-
- _from_hex(str) return new object from a hexadecimal string
- _from_bin(str) return new object from a binary string
- _from_oct(str) return new object from an octal string
-
- _as_hex(str) return string containing the value as
- unsigned hex string, with the '0x' prepended.
- Leading zeros must be stripped.
- _as_bin(str) Like as_hex, only as binary string containing only
- zeros and ones. Leading zeros must be stripped and a
- '0b' must be prepended.
-
- _rsft(obj,N,B) shift object in base B by N 'digits' right
- _lsft(obj,N,B) shift object in base B by N 'digits' left
-
- _xor(obj1,obj2) XOR (bit-wise) object 1 with object 2
- Note: XOR, AND and OR pad with zeros if size mismatches
- _and(obj1,obj2) AND (bit-wise) object 1 with object 2
- _or(obj1,obj2) OR (bit-wise) object 1 with object 2
-
- _mod(obj1,obj2) Return remainder of div of the 1st by the 2nd object
- _sqrt(obj) return the square root of object (truncated to int)
- _root(obj) return the n'th (n >= 3) root of obj (truncated to int)
- _fac(obj) return factorial of object 1 (1*2*3*4..)
- _pow(obj1,obj2) return object 1 to the power of object 2
- return undef for NaN
- _zeros(obj) return number of trailing decimal zeros
- _modinv return inverse modulus
- _modpow return modulus of power ($x ** $y) % $z
- _log_int(X,N) calculate integer log() of X in base N
- X >= 0, N >= 0 (return undef for NaN)
- returns (RESULT, EXACT) where EXACT is:
- 1 : result is exactly RESULT
- 0 : result was truncated to RESULT
- undef : unknown whether result is exactly RESULT
- _gcd(obj,obj) return Greatest Common Divisor of two objects
-
-The following functions are REQUIRED for an api_version of 2 or greater:
-
- _1ex($x) create the number 1Ex where x >= 0
- _alen(obj) returns approximate count of the decimal digits of the
- object. This estimate MUST always be greater or equal
- to what _len() returns.
- _nok(n,k) calculate n over k (binomial coefficient)
-
-The following functions are optional, and can be defined if the underlying lib
+'libname' is either the long name, like 'Math::BigInt::Pari', or only the short
+version, like 'Pari'.
+
+=head2 General Notes
+
+A library only needs to deal with unsigned big integers. Testing of input
+parameter validity is done by the caller, so there is no need to worry about
+underflow (e.g., in C<_sub()> and C<_dec()>) nor about division by zero (e.g.,
+in C<_div()>) or similar cases.
+
+For some methods, the first parameter can be modified. That includes the
+possibility that you return a reference to a completely different object
+instead. Although keeping the reference and just changing its contents is
+preferred over creating and returning a different reference.
+
+Return values are always objects, strings, Perl scalars, or true/false for
+comparison routines.
+
+=head2 API version 1
+
+The following methods must be defined in order to support the use by
+Math::BigInt v1.70 or later.
+
+=head3 API version
+
+=over 4
+
+=item I<api_version()>
+
+Return API version as a Perl scalar, 1 for Math::BigInt v1.70, 2 for
+Math::BigInt v1.83.
+
+=back
+
+=head3 Constructors
+
+=over 4
+
+=item I<_new(STR)>
+
+Convert a string representing an unsigned decimal number to an object
+representing the same number. The input is normalize, i.e., it matches
+C<^(0|[1-9]\d*)$>.
+
+=item I<_zero()>
+
+Return an object representing the number zero.
+
+=item I<_one()>
+
+Return an object representing the number one.
+
+=item I<_two()>
+
+Return an object representing the number two.
+
+=item I<_ten()>
+
+Return an object representing the number ten.
+
+=item I<_from_bin(STR)>
+
+Return an object given a string representing a binary number. The input has a
+'0b' prefix and matches the regular expression C<^0[bB](0|1[01]*)$>.
+
+=item I<_from_oct(STR)>
+
+Return an object given a string representing an octal number. The input has a
+'0' prefix and matches the regular expression C<^0[1-7]*$>.
+
+=item I<_from_hex(STR)>
+
+Return an object given a string representing a hexadecimal number. The input
+has a '0x' prefix and matches the regular expression
+C<^0x(0|[1-9a-fA-F][\da-fA-F]*)$>.
+
+=back
+
+=head3 Mathematical functions
+
+Each of these methods may modify the first input argument, except I<_bgcd()>,
+which shall not modify any input argument, and I<_sub()> which may modify the
+second input argument.
+
+=over 4
+
+=item I<_add(OBJ1, OBJ2)>
+
+Returns the result of adding OBJ2 to OBJ1.
+
+=item I<_mul(OBJ1, OBJ2)>
+
+Returns the result of multiplying OBJ2 and OBJ1.
+
+=item I<_div(OBJ1, OBJ2)>
+
+Returns the result of dividing OBJ1 by OBJ2 and truncating the result to an
+integer.
+
+=item I<_sub(OBJ1, OBJ2, FLAG)>
+
+=item I<_sub(OBJ1, OBJ2)>
+
+Returns the result of subtracting OBJ2 by OBJ1. If C<flag> is false or omitted,
+OBJ1 might be modified. If C<flag> is true, OBJ2 might be modified.
+
+=item I<_dec(OBJ)>
+
+Decrement OBJ by one.
+
+=item I<_inc(OBJ)>
+
+Increment OBJ by one.
+
+=item I<_mod(OBJ1, OBJ2)>
+
+Return OBJ1 modulo OBJ2, i.e., the remainder after dividing OBJ1 by OBJ2.
+
+=item I<_sqrt(OBJ)>
+
+Return the square root of the object, truncated to integer.
+
+=item I<_root(OBJ, N)>
+
+Return Nth root of the object, truncated to int. N is E<gt>= 3.
+
+=item I<_fac(OBJ)>
+
+Return factorial of object (1*2*3*4*...).
+
+=item I<_pow(OBJ1, OBJ2)>
+
+Return OBJ1 to the power of OBJ2. By convention, 0**0 = 1.
+
+=item I<_modinv(OBJ1, OBJ2)>
+
+Return modular multiplicative inverse, i.e., return OBJ3 so that
+
+ (OBJ3 * OBJ1) % OBJ2 = 1 % OBJ2
+
+The result is returned as two arguments. If the modular multiplicative
+inverse does not exist, both arguments are undefined. Otherwise, the
+arguments are a number (object) and its sign ("+" or "-").
+
+The output value, with its sign, must either be a positive value in the
+range 1,2,...,OBJ2-1 or the same value subtracted OBJ2. For instance, if the
+input arguments are objects representing the numbers 7 and 5, the method
+must either return an object representing the number 3 and a "+" sign, since
+(3*7) % 5 = 1 % 5, or an object representing the number 2 and "-" sign,
+since (-2*7) % 5 = 1 % 5.
+
+=item I<_modpow(OBJ1, OBJ2, OBJ3)>
+
+Return modular exponentiation, (OBJ1 ** OBJ2) % OBJ3.
+
+=item I<_rsft(OBJ, N, B)>
+
+Shift object N digits right in base B and return the resulting object. This is
+equivalent to performing integer division by B**N and discarding the remainder,
+except that it might be much faster, depending on how the number is represented
+internally.
+
+For instance, if the object $obj represents the hexadecimal number 0xabcde,
+then C<_rsft($obj, 2, 16)> returns an object representing the number 0xabc. The
+"remainer", 0xde, is discarded and not returned.
+
+=item I<_lsft(OBJ, N, B)>
+
+Shift the object N digits left in base B. This is equivalent to multiplying by
+B**N, except that it might be much faster, depending on how the number is
+represented internally.
+
+=item I<_log_int(OBJ, B)>
+
+Return integer log of OBJ to base BASE. This method has two output arguments,
+the OBJECT and a STATUS. The STATUS is Perl scalar; it is 1 if OBJ is the exact
+result, 0 if the result was truncted to give OBJ, and undef if it is unknown
+whether OBJ is the exact result.
+
+=item I<_gcd(OBJ1, OBJ2)>
+
+Return the greatest common divisor of OBJ1 and OBJ2.
+
+=back
+
+=head3 Bitwise operators
+
+Each of these methods may modify the first input argument.
+
+=over 4
+
+=item I<_and(OBJ1, OBJ2)>
+
+Return bitwise and. If necessary, the smallest number is padded with leading
+zeros.
+
+=item I<_or(OBJ1, OBJ2)>
+
+Return bitwise or. If necessary, the smallest number is padded with leading
+zeros.
+
+=item I<_xor(OBJ1, OBJ2)>
+
+Return bitwise exclusive or. If necessary, the smallest number is padded
+with leading zeros.
+
+=back
+
+=head3 Boolean operators
+
+=over 4
+
+=item I<_is_zero(OBJ)>
+
+Returns a true value if OBJ is zero, and false value otherwise.
+
+=item I<_is_one(OBJ)>
+
+Returns a true value if OBJ is one, and false value otherwise.
+
+=item I<_is_two(OBJ)>
+
+Returns a true value if OBJ is two, and false value otherwise.
+
+=item I<_is_ten(OBJ)>
+
+Returns a true value if OBJ is ten, and false value otherwise.
+
+=item I<_is_even(OBJ)>
+
+Return a true value if OBJ is an even integer, and a false value otherwise.
+
+=item I<_is_odd(OBJ)>
+
+Return a true value if OBJ is an even integer, and a false value otherwise.
+
+=item I<_acmp(OBJ1, OBJ2)>
+
+Compare OBJ1 and OBJ2 and return -1, 0, or 1, if OBJ1 is less than, equal
+to, or larger than OBJ2, respectively.
+
+=back
+
+=head3 String conversion
+
+=over 4
+
+=item I<_str(OBJ)>
+
+Return a string representing the object. The returned string should have no
+leading zeros, i.e., it should match C<^(0|[1-9]\d*)$>.
+
+=item I<_as_bin(OBJ)>
+
+Return the binary string representation of the number. The string must have a
+'0b' prefix.
+
+=item I<_as_oct(OBJ)>
+
+Return the octal string representation of the number. The string must have
+a '0x' prefix.
+
+Note: This method was required from Math::BigInt version 1.78, but the required
+API version number was not incremented, so there are older libraries that
+support API version 1, but do not support C<_as_oct()>.
+
+=item I<_as_hex(OBJ)>
+
+Return the hexadecimal string representation of the number. The string must
+have a '0x' prefix.
+
+=back
+
+=head3 Numeric conversion
+
+=over 4
+
+=item I<_num(OBJ)>
+
+Given an object, return a Perl scalar number (int/float) representing this
+number.
+
+=back
+
+=head3 Miscellaneous
+
+=over 4
+
+=item I<_copy(OBJ)>
+
+Return a true copy of the object.
+
+=item I<_len(OBJ)>
+
+Returns the number of the decimal digits in the number. The output is a
+Perl scalar.
+
+=item I<_zeros(OBJ)>
+
+Return the number of trailing decimal zeros. The output is a Perl scalar.
+
+=item I<_digit(OBJ, N)>
+
+Return the Nth digit as a Perl scalar. N is a Perl scalar, where zero refers to
+the rightmost (least significant) digit, and negative values count from the
+left (most significant digit). If $obj represents the number 123, then
+I<_digit($obj, 0)> is 3 and I<_digit(123, -1)> is 1.
+
+=item I<_check(OBJ)>
+
+Return a true value if the object is OK, and a false value otherwise. This is a
+check routine to test the internal state of the object for corruption.
+
+=back
+
+=head2 API version 2
+
+The following methods are required for an API version of 2 or greater.
+
+=head3 Constructors
+
+=over 4
+
+=item I<_1ex(N)>
+
+Return an object representing the number 10**N where N E<gt>= 0 is a Perl
+scalar.
+
+=back
+
+=head3 Mathematical functions
+
+=over 4
+
+=item I<_nok(OBJ1, OBJ2)>
+
+Return the binomial coefficient OBJ1 over OBJ1.
+
+=back
+
+=head3 Miscellaneous
+
+=over 4
+
+=item I<_alen(OBJ)>
+
+Return the approximate number of decimal digits of the object. The
+output is one Perl scalar. This estimate must be greater than or equal
+to what C<_len()> returns.
+
+=back
+
+=head2 API optional methods
+
+The following methods are optional, and can be defined if the underlying lib
has a fast way to do them. If undefined, Math::BigInt will use pure Perl (hence
slow) fallback routines to emulate these:
-
- _signed_or
- _signed_and
- _signed_xor
-Input strings come in as unsigned but with prefix (i.e. as '123', '0xabc'
-or '0b1101').
+=head3 Signed bitwise operators.
-So the library needs only to deal with unsigned big integers. Testing of input
-parameter validity is done by the caller, so you need not worry about
-underflow (f.i. in C<_sub()>, C<_dec()>) nor about division by zero or similar
-cases.
+Each of these methods may modify the first input argument.
-The first parameter can be modified, that includes the possibility that you
-return a reference to a completely different object instead. Although keeping
-the reference and just changing its contents is preferred over creating and
-returning a different reference.
+=over 4
-Return values are always references to objects, strings, or true/false for
-comparison routines.
+=item I<_signed_or(OBJ1, OBJ2, SIGN1, SIGN2)>
+
+Return the signed bitwise or.
+
+=item I<_signed_and(OBJ1, OBJ2, SIGN1, SIGN2)>
+
+Return the signed bitwise and.
+
+=item I<_signed_xor(OBJ1, OBJ2, SIGN1, SIGN2)>
+
+Return the signed bitwise exclusive or.
+
+=back
=head1 WRAP YOUR OWN
@@ -2592,18 +2934,34 @@ by this:
This way you ensure that your library really works 100% within Math::BigInt.
=head1 LICENSE
-
+
This program is free software; you may redistribute it and/or modify it under
the same terms as Perl itself.
=head1 AUTHORS
+=over 4
+
+=item *
+
Original math code by Mark Biggar, rewritten by Tels L<http://bloodgate.com/>
in late 2000.
-Seperated from BigInt and shaped API with the help of John Peacock.
+
+=item *
+
+Separated from BigInt and shaped API with the help of John Peacock.
+
+=item *
Fixed, speed-up, streamlined and enhanced by Tels 2001 - 2007.
+=item *
+
+API documentation corrected and extended by Peter John Acklam,
+E<lt>pjacklam@online.noE<gt>
+
+=back
+
=head1 SEE ALSO
L<Math::BigInt>, L<Math::BigFloat>,
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
index 5810f5db9f7..ee0b677c53f 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
@@ -5,7 +5,7 @@ use strict;
# use warnings; # dont use warnings for older Perls
use vars qw/$VERSION/;
-$VERSION = '0.05';
+$VERSION = '1.993';
package Math::BigInt;
@@ -300,7 +300,7 @@ optional routines the low-level math package does not provide on its own.
Will be loaded on demand and called automatically by BigInt.
Stuff here is really low-priority to optimize, since it is far better to
-implement the operation in the low-level math libary directly, possible even
+implement the operation in the low-level math library directly, possible even
using a call to the native lib.
=head1 METHODS
@@ -312,7 +312,7 @@ using a call to the native lib.
=head2 __emu_bior
=head1 LICENSE
-
+
This program is free software; you may redistribute it and/or modify it under
the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
index 2b4aea58dc2..9abb12091f1 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
@@ -2,31 +2,24 @@ package Math::BigInt::FastCalc;
use 5.006;
use strict;
-# use warnings; # dont use warnings for older Perls
+use warnings;
-use DynaLoader;
-use Math::BigInt::Calc;
+use Math::BigInt::Calc 1.993;
-use vars qw/@ISA $VERSION $BASE $BASE_LEN/;
+use vars '$VERSION';
-@ISA = qw(DynaLoader);
-
-$VERSION = '0.19';
-
-bootstrap Math::BigInt::FastCalc $VERSION;
+$VERSION = '0.28';
##############################################################################
# global constants, flags and accessory
-# announce that we are compatible with MBI v1.70 and up
-sub api_version () { 1; }
-
-BEGIN
- {
- # use Calc to override the methods that we do not provide in XS
+# announce that we are compatible with MBI v1.83 and up
+sub api_version () { 2; }
- for my $method (qw/
- str
+# use Calc to override the methods that we do not provide in XS
+
+for my $method (qw/
+ str num
add sub mul div
rsft lsft
mod modpow modinv
@@ -42,18 +35,9 @@ BEGIN
no strict 'refs';
*{'Math::BigInt::FastCalc::_' . $method} = \&{'Math::BigInt::Calc::_' . $method};
}
- my ($AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN_SMALL, $MAX_VAL);
-
- # store BASE_LEN and BASE to later pass it to XS code
- ($BASE_LEN, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN_SMALL, $MAX_VAL, $BASE) =
- Math::BigInt::Calc::_base_len();
-
- }
-sub import
- {
- _set_XS_BASE($BASE, $BASE_LEN);
- }
+require XSLoader;
+XSLoader::load(__PACKAGE__, $VERSION, Math::BigInt::Calc::_base_len());
##############################################################################
##############################################################################
@@ -100,23 +84,26 @@ The following functions are now implemented in FastCalc.xs:
_is_odd _is_even _is_one _is_zero
_is_two _is_ten
_zero _one _two _ten
- _acmp _len _num
+ _acmp _len
_inc _dec
__strip_zeros _copy
=head1 LICENSE
-
+
This program is free software; you may redistribute it and/or modify it under
-the same terms as Perl itself.
+the same terms as Perl itself.
=head1 AUTHORS
Original math code by Mark Biggar, rewritten by Tels L<http://bloodgate.com/>
in late 2000.
-Seperated from BigInt and shaped API with the help of John Peacock.
+Separated from BigInt and shaped API with the help of John Peacock.
+
Fixed, sped-up and enhanced by Tels http://bloodgate.com 2001-2003.
Further streamlining (api_version 1 etc.) by Tels 2004-2007.
+Bug-fixing by Peter John Acklam E<lt>pjacklam@online.noE<gt> 2010-2011.
+
=head1 SEE ALSO
L<Math::BigInt>, L<Math::BigFloat>,
diff --git a/Master/tlpkg/tlperl/lib/Math/BigRat.pm b/Master/tlpkg/tlperl/lib/Math/BigRat.pm
index 2460d1c7d4e..135645fc43a 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigRat.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigRat.pm
@@ -6,16 +6,17 @@
# The following hash values are used:
# sign : +,-,NaN,+inf,-inf
# _d : denominator
-# _n : numeraotr (value = _n/_d)
+# _n : numerator (value = _n/_d)
# _a : accuracy
# _p : precision
# You should not look at the innards of a BigRat - use the methods for this.
package Math::BigRat;
-# anythig older is untested, and unlikely to work
+# anything older is untested, and unlikely to work
use 5.006;
use strict;
+use Carp ();
use Math::BigFloat;
use vars qw($VERSION @ISA $upgrade $downgrade
@@ -23,13 +24,22 @@ use vars qw($VERSION @ISA $upgrade $downgrade
@ISA = qw(Math::BigFloat);
-$VERSION = '0.24';
+$VERSION = '0.26_02';
$VERSION = eval $VERSION;
-use overload; # inherit overload from Math::BigFloat
+# inherit overload from Math::BigFloat, but disable the bitwise ops that don't
+# make much sense for rationals unless they're truncated or something first
+
+use overload
+ map {
+ my $op = $_;
+ ($op => sub {
+ Carp::croak("bitwise operation $op not supported in Math::BigRat");
+ });
+ } qw(& | ^ ~ << >> &= |= ^= <<= >>=);
BEGIN
- {
+ {
*objectify = \&Math::BigInt::objectify; # inherit this from BigInt
*AUTOLOAD = \&Math::BigFloat::AUTOLOAD; # can't inherit AUTOLOAD
# we inherit these from BigFloat because currently it is not possible
@@ -86,14 +96,14 @@ sub _new_from_float
{
# something like Math::BigRat->new('0.1');
# 1 / 1 => 1/10
- $MBI->_lsft ( $self->{_d}, $f->{_e} ,10);
+ $MBI->_lsft ( $self->{_d}, $f->{_e} ,10);
}
else
{
# something like Math::BigRat->new('10');
# 1 / 1 => 10/1
- $MBI->_lsft ( $self->{_n}, $f->{_e} ,10) unless
- $MBI->_is_zero($f->{_e});
+ $MBI->_lsft ( $self->{_n}, $f->{_e} ,10) unless
+ $MBI->_is_zero($f->{_e});
}
$self;
}
@@ -106,7 +116,7 @@ sub new
my ($n,$d) = @_;
my $self = { }; bless $self,$class;
-
+
# input like (BigInt) or (BigFloat):
if ((!defined $d) && (ref $n) && (!$n->isa('Math::BigRat')))
{
@@ -197,7 +207,7 @@ sub new
local $Math::BigFloat::accuracy = undef;
local $Math::BigFloat::precision = undef;
- # one of them looks like a float
+ # one of them looks like a float
my $nf = Math::BigFloat->new($n,undef,undef);
$self->{sign} = '+';
return $self->bnan() if $nf->is_nan();
@@ -247,7 +257,7 @@ sub new
$n = Math::BigInt->new($n,undef,undef) unless ref $n;
if ($n->{sign} =~ /^[+-]$/ && $d->{sign} =~ /^[+-]$/)
- {
+ {
# both parts are ok as integers (wierd things like ' 1e0'
$self->{_n} = $MBI->_copy($n->{value});
$self->{_d} = $MBI->_copy($d->{value});
@@ -380,7 +390,7 @@ sub bsstr
my $s = $x->{sign}; $s =~ s/^\+//; # +inf => inf
return $s;
}
-
+
my $s = ''; $s = $x->{sign} if $x->{sign} ne '+'; # +3 vs 3
$s . $MBI->_str($x->{_n}) . '/' . $MBI->_str($x->{_d});
}
@@ -416,7 +426,7 @@ sub bnorm
# reduce other numbers
my $gcd = $MBI->_copy($x->{_n});
$gcd = $MBI->_gcd($gcd,$x->{_d});
-
+
if (!$MBI->_is_one($gcd))
{
$x->{_n} = $MBI->_div($x->{_n},$gcd);
@@ -521,14 +531,14 @@ sub badd
return $x->bnan() if ($x->{sign} !~ /^[+-]$/ || $y->{sign} !~ /^[+-]$/);
# 1 1 gcd(3,4) = 1 1*3 + 1*4 7
- # - + - = --------- = --
+ # - + - = --------- = --
# 4 3 4*3 12
# we do not compute the gcd() here, but simple do:
# 5 7 5*3 + 7*4 43
- # - + - = --------- = --
+ # - + - = --------- = --
# 4 3 4*3 12
-
+
# and bnorm() will then take care of the rest
# 5 * 3
@@ -563,7 +573,7 @@ sub bsub
$x->{sign} =~ tr/+-/-+/
unless $x->{sign} eq '+' && $MBI->_is_zero($x->{_n}); # not -0
$x->badd($y,@r); # does norm and round
- $x->{sign} =~ tr/+-/-+/
+ $x->{sign} =~ tr/+-/-+/
unless $x->{sign} eq '+' && $MBI->_is_zero($x->{_n}); # not -0
$x;
}
@@ -571,7 +581,7 @@ sub bsub
sub bmul
{
# multiply two rational numbers
-
+
# set up parameters
my ($self,$x,$y,@r) = (ref($_[0]),@_);
# objectify is costly, so avoid it
@@ -604,7 +614,7 @@ sub bmul
# 1 2 1 * 2 2 1
# - * - = ----- = - = -
# 4 3 4 * 3 12 6
-
+
$x->{_n} = $MBI->_mul( $x->{_n}, $y->{_n});
$x->{_d} = $MBI->_mul( $x->{_d}, $y->{_d});
@@ -640,11 +650,11 @@ sub bdiv
# 1 1 1 3
# - / - == - * -
# 4 3 4 1
-
+
$x->{_n} = $MBI->_mul( $x->{_n}, $y->{_d});
$x->{_d} = $MBI->_mul( $x->{_d}, $y->{_n});
- # compute new sign
+ # compute new sign
$x->{sign} = $x->{sign} eq $y->{sign} ? '+' : '-';
$x->bnorm()->round(@r);
@@ -674,14 +684,14 @@ sub bmod
my $u = bless { sign => '+' }, $self;
$u->{_n} = $MBI->_mul( $MBI->_copy($x->{_n}), $y->{_d} );
$u->{_d} = $MBI->_mul( $MBI->_copy($x->{_d}), $y->{_n} );
-
+
# compute floor(u)
if (! $MBI->_is_one($u->{_d}))
{
$u->{_n} = $MBI->_div($u->{_n},$u->{_d}); # 22/7 => 3/1 w/ truncate
# no need to set $u->{_d} to 1, since below we set it to $y->{_d} anyway
}
-
+
# now compute $y * $u
$u->{_d} = $MBI->_copy($y->{_d}); # 1 * $y->{_d}, see floor above
$u->{_n} = $MBI->_mul($u->{_n},$y->{_n});
@@ -728,7 +738,7 @@ sub binc
{
# increment value (add 1)
my ($self,$x,@r) = ref($_[0]) ? (ref($_[0]),@_) : objectify(1,@_);
-
+
return $x if $x->{sign} !~ /^[+-]$/; # NaN, inf, -inf
if ($x->{sign} eq '-')
@@ -827,7 +837,7 @@ sub denominator
return Math::BigInt->new($x->{sign}) if $x->{sign} eq 'NaN';
# inf, -inf
return Math::BigInt->bone() if $x->{sign} !~ /^[+-]$/;
-
+
Math::BigInt->new($MBI->_str($x->{_d}));
}
@@ -961,7 +971,7 @@ sub bpow
if ($x->{sign} eq '-')
{
# - * - => +, - * - * - => -
- $x->{sign} = '+' if $MBI->_is_even($y->{_n});
+ $x->{sign} = '+' if $MBI->_is_even($y->{_n});
}
return $x->round(@r);
}
@@ -977,7 +987,7 @@ sub bpow
if ($x->{sign} eq '-')
{
# - * - => +, - * - * - => -
- $x->{sign} = '+' if $MBI->_is_even($y->{_n});
+ $x->{sign} = '+' if $MBI->_is_even($y->{_n});
}
return $x->round(@r);
}
@@ -1230,7 +1240,7 @@ sub bmodinv
}
# $x or $y are NaN or +-inf => NaN
- return $x->bnan()
+ return $x->bnan()
if $x->{sign} !~ /^[+-]$/ || $y->{sign} !~ /^[+-]$/;
if ($x->is_int() && $y->is_int())
@@ -1276,7 +1286,7 @@ sub bsqrt
$x->{_n} = $MBI->_copy( $x->{_n}->{_m} ); # 710/45.1 => 710/451
}
- # convert parts to $MBI again
+ # convert parts to $MBI again
$x->{_n} = $MBI->_lsft( $MBI->_copy( $x->{_n}->{_m} ), $x->{_n}->{_e}, 10)
if ref($x->{_n}) ne $MBI && ref($x->{_n}) ne 'ARRAY';
$x->{_d} = $MBI->_lsft( $MBI->_copy( $x->{_d}->{_m} ), $x->{_d}->{_e}, 10)
@@ -1288,7 +1298,7 @@ sub bsqrt
sub blsft
{
my ($self,$x,$y,$b,@r) = objectify(3,@_);
-
+
$b = 2 unless defined $b;
$b = $self->new($b) unless ref ($b);
$x->bmul( $b->copy()->bpow($y), @r);
@@ -1328,8 +1338,8 @@ sub bfround
sub bcmp
{
- # compare two signed numbers
-
+ # compare two signed numbers
+
# set up parameters
my ($self,$x,$y) = (ref($_[0]),@_);
# objectify is costly, so avoid it
@@ -1358,7 +1368,7 @@ sub bcmp
return 0 if $xz && $yz; # 0 <=> 0
return -1 if $xz && $y->{sign} eq '+'; # 0 <=> +y
return 1 if $yz && $x->{sign} eq '+'; # +x <=> 0
-
+
my $t = $MBI->_mul( $MBI->_copy($x->{_n}), $y->{_d});
my $u = $MBI->_mul( $MBI->_copy($y->{_n}), $x->{_d});
@@ -1370,7 +1380,7 @@ sub bcmp
sub bacmp
{
# compare two numbers (as unsigned)
-
+
# set up parameters
my ($self,$x,$y) = (ref($_[0]),@_);
# objectify is costly, so avoid it
@@ -1400,7 +1410,7 @@ sub numify
{
# convert 17/8 => float (aka 2.125)
my ($self,$x) = ref($_[0]) ? (undef,$_[0]) : objectify(1,@_);
-
+
return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, NaN, etc
# N/1 => N
@@ -1416,7 +1426,7 @@ sub as_number
# NaN, inf etc
return Math::BigInt->new($x->{sign}) if $x->{sign} !~ /^[+-]$/;
-
+
my $u = Math::BigInt->bzero();
$u->{sign} = $x->{sign};
$u->{value} = $MBI->_div( $MBI->_copy($x->{_n}), $x->{_d}); # 22/7 => 3
@@ -1434,7 +1444,7 @@ sub as_float
# NaN, inf etc
return Math::BigFloat->new($x->{sign}) if $x->{sign} !~ /^[+-]$/;
-
+
my $u = Math::BigFloat->bzero();
$u->{sign} = $x->{sign};
# n
@@ -1571,7 +1581,7 @@ sub import
# register us with MBI to get notified of future lib changes
Math::BigInt::_register_callback( $self, sub { $MBI = $_[0]; } );
-
+
# any non :constant stuff is handled by our parent, Exporter (loaded
# by Math::BigFloat, even if @_ is empty, to give it a chance
$self->SUPER::import(@a); # for subclasses
@@ -1593,7 +1603,7 @@ Math::BigRat - Arbitrary big rational numbers
my $x = Math::BigRat->new('3/7'); $x += '5/9';
print $x->bstr(),"\n";
- print $x ** 2,"\n";
+ print $x ** 2,"\n";
my $y = Math::BigRat->new('inf');
print "$y ", ($y->is_inf ? 'is' : 'is not') , " infinity\n";
@@ -1664,7 +1674,7 @@ Create a new Math::BigRat object. Input can come in various forms:
Returns a copy of the numerator (the part above the line) as signed BigInt.
=head2 denominator()
-
+
$d = $x->denominator();
Returns a copy of the denominator (the part under the line) as positive BigInt.
@@ -1717,21 +1727,21 @@ This method was added in v0.22 of Math::BigRat (April 2008).
$x = Math::BigRat->new('13');
print $x->as_hex(),"\n"; # '0xd'
-Returns the BigRat as hexadecimal string. Works only for integers.
+Returns the BigRat as hexadecimal string. Works only for integers.
=head2 as_bin()
$x = Math::BigRat->new('13');
print $x->as_bin(),"\n"; # '0x1101'
-Returns the BigRat as binary string. Works only for integers.
+Returns the BigRat as binary string. Works only for integers.
=head2 as_oct()
$x = Math::BigRat->new('13');
print $x->as_oct(),"\n"; # '015'
-Returns the BigRat as octal string. Works only for integers.
+Returns the BigRat as octal string. Works only for integers.
=head2 from_hex()/from_bin()/from_oct()
@@ -1746,7 +1756,7 @@ in string form.
$len = $x->length();
-Return the length of $x in digitis for integer values.
+Return the length of $x in digits for integer values.
=head2 digit()
@@ -1849,19 +1859,19 @@ Set $x to the next bigger integer value (e.g. truncate the number to integer
and then increment it by one).
=head2 bfloor()
-
+
$x->bfloor();
Truncate $x to an integer value.
=head2 bsqrt()
-
+
$x->bsqrt();
Calculate the square root of $x.
=head2 broot()
-
+
$x->broot($n);
Calculate the N'th root of $x.
@@ -1884,7 +1894,7 @@ Please see the documentation in L<Math::BigInt> for further details.
print $x->bstr(),"\n"; # prints 1/2
print $x->bsstr(),"\n"; # prints 1/2
-Return a string representating this object.
+Return a string representing this object.
=head2 bacmp()/bcmp()
diff --git a/Master/tlpkg/tlperl/lib/Memoize.pm b/Master/tlpkg/tlperl/lib/Memoize.pm
index 0cecbcab0a6..1ebc1741398 100644
--- a/Master/tlpkg/tlperl/lib/Memoize.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize.pm
@@ -7,11 +7,9 @@
# You may copy and distribute this program under the
# same terms as Perl itself. If in doubt,
# write to mjd-perl-memoize+@plover.com for a license.
-#
-# Version 1.01 $Revision: 1.18 $ $Date: 2001/06/24 17:16:47 $
package Memoize;
-$VERSION = '1.01_03';
+$VERSION = '1.02';
# Compile-time constants
sub SCALAR () { 0 }
@@ -266,9 +264,9 @@ sub _memoizer {
# Otherwise, we cached an array containing the returned list:
return @$val;
} else {
- my @q = &{$info->{U}}(@_);
- $cache->{$argstr} = $info->{O}{LIST_CACHE} eq 'MERGE' ? $q [0] : \@q;
- @q;
+ my @q = &{$info->{U}}(@_);
+ $cache->{$argstr} = $info->{O}{LIST_CACHE} eq 'MERGE' ? $q [0] : \@q;
+ @q;
}
} else {
croak "Internal error \#42; context was neither LIST nor SCALAR\n";
@@ -362,7 +360,7 @@ Memoize - Make functions faster by trading space for time
=head1 SYNOPSIS
- # This is the documentation for Memoize 1.01
+ # This is the documentation for Memoize 1.02
use Memoize;
memoize('slow_function');
slow_function(arguments); # Is faster than it was before
diff --git a/Master/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm b/Master/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
index 91f960962f9..078f69e011d 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
@@ -11,7 +11,7 @@ See L<Memoize>.
=cut
use vars qw(@ISA $VERSION);
-$VERSION = 0.65;
+$VERSION = '1.02';
@ISA = qw(DB_File GDBM_File Memoize::NDBM_File Memoize::SDBM_File ODBM_File) unless @ISA;
my $verbose = 1;
diff --git a/Master/tlpkg/tlperl/lib/Memoize/Expire.pm b/Master/tlpkg/tlperl/lib/Memoize/Expire.pm
index 97e1aa44208..3d6d3e439ca 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/Expire.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/Expire.pm
@@ -3,7 +3,7 @@ package Memoize::Expire;
# require 5.00556;
use Carp;
$DEBUG = 0;
-$VERSION = '1.00';
+$VERSION = '1.02';
# This package will implement expiration by prepending a fixed-length header
# to the font of the cached data. The format of the header will be:
@@ -311,6 +311,11 @@ the underlying cache so that the user can specify that the cache is
also persistent or that it has some other interesting semantics. The
example above demonstrates how to do this, as does C<Memoize::Expire>.
+Another sample module, L<Memoize::Saves>, is available in a separate
+distribution on CPAN. It implements a policy that allows you to
+specify that certain function values would always be looked up afresh.
+See the documentation for details.
+
=head1 ALTERNATIVES
Brent Powers has a C<Memoize::ExpireLRU> module that was designed to
diff --git a/Master/tlpkg/tlperl/lib/Memoize/ExpireFile.pm b/Master/tlpkg/tlperl/lib/Memoize/ExpireFile.pm
index e52c09a3bf3..e3123b83408 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/ExpireFile.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/ExpireFile.pm
@@ -10,7 +10,7 @@ See L<Memoize::Expire>.
=cut
-$VERSION = 1.01;
+$VERSION = '1.02';
use Carp;
my $Zero = pack("N", 0);
diff --git a/Master/tlpkg/tlperl/lib/Memoize/ExpireTest.pm b/Master/tlpkg/tlperl/lib/Memoize/ExpireTest.pm
index 729f6b98506..3c69e56c9f9 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/ExpireTest.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/ExpireTest.pm
@@ -18,7 +18,7 @@ to mjd-perl-memoize+@plover.com.
=cut
-$VERSION = 0.65;
+$VERSION = '1.02';
my %cache;
sub TIEHASH {
diff --git a/Master/tlpkg/tlperl/lib/Memoize/NDBM_File.pm b/Master/tlpkg/tlperl/lib/Memoize/NDBM_File.pm
index 96eabfbb7c8..07b8950a60b 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/NDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/NDBM_File.pm
@@ -12,7 +12,7 @@ See L<Memoize>.
use NDBM_File;
@ISA = qw(NDBM_File);
-$VERSION = 0.65;
+$VERSION = '1.02';
$Verbose = 0;
diff --git a/Master/tlpkg/tlperl/lib/Memoize/SDBM_File.pm b/Master/tlpkg/tlperl/lib/Memoize/SDBM_File.pm
index f66273f2747..6cb11af7329 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/SDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/SDBM_File.pm
@@ -12,7 +12,7 @@ See L<Memoize>.
use SDBM_File;
@ISA = qw(SDBM_File);
-$VERSION = 0.65;
+$VERSION = '1.02';
$Verbose = 0;
diff --git a/Master/tlpkg/tlperl/lib/Memoize/Storable.pm b/Master/tlpkg/tlperl/lib/Memoize/Storable.pm
index 4c29dd7eb8f..33e35b485e1 100644
--- a/Master/tlpkg/tlperl/lib/Memoize/Storable.pm
+++ b/Master/tlpkg/tlperl/lib/Memoize/Storable.pm
@@ -11,7 +11,7 @@ See L<Memoize>.
=cut
use Storable ();
-$VERSION = 0.65;
+$VERSION = '1.02';
$Verbose = 0;
sub TIEHASH {
diff --git a/Master/tlpkg/tlperl/lib/Module/Build.pm b/Master/tlpkg/tlperl/lib/Module/Build.pm
index 356fd42a14a..14db9269fd8 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build.pm
@@ -10,67 +10,15 @@ use strict;
use File::Spec ();
use File::Path ();
use File::Basename ();
+use Perl::OSType ();
use Module::Build::Base;
use vars qw($VERSION @ISA);
@ISA = qw(Module::Build::Base);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
-# Okay, this is the brute-force method of finding out what kind of
-# platform we're on. I don't know of a systematic way. These values
-# came from the latest (bleadperl) perlport.pod.
-
-my %OSTYPES = qw(
- aix Unix
- bsdos Unix
- dgux Unix
- dragonfly Unix
- dynixptx Unix
- freebsd Unix
- linux Unix
- haiku Unix
- hpux Unix
- irix Unix
- darwin Unix
- machten Unix
- midnightbsd Unix
- mirbsd Unix
- next Unix
- openbsd Unix
- netbsd Unix
- dec_osf Unix
- nto Unix
- svr4 Unix
- svr5 Unix
- sco_sv Unix
- unicos Unix
- unicosmk Unix
- solaris Unix
- sunos Unix
- cygwin Unix
- os2 Unix
- interix Unix
- gnu Unix
- gnukfreebsd Unix
- nto Unix
-
- dos Windows
- MSWin32 Windows
-
- os390 EBCDIC
- os400 EBCDIC
- posix-bc EBCDIC
- vmesa EBCDIC
-
- MacOS MacOS
- VMS VMS
- VOS VOS
- riscos RiscOS
- amigaos Amiga
- mpeix MPEiX
- );
# Inserts the given module into the @ISA hierarchy between
# Module::Build and its immediate parent
@@ -93,18 +41,18 @@ sub _interpose_module {
if (grep {-e File::Spec->catfile($_, qw(Module Build Platform), $^O) . '.pm'} @INC) {
__PACKAGE__->_interpose_module("Module::Build::Platform::$^O");
-} elsif (exists $OSTYPES{$^O}) {
- __PACKAGE__->_interpose_module("Module::Build::Platform::$OSTYPES{$^O}");
+} elsif ( my $ostype = os_type() ) {
+ __PACKAGE__->_interpose_module("Module::Build::Platform::$ostype");
} else {
warn "Unknown OS type '$^O' - using default settings\n";
}
-sub os_type { $OSTYPES{$^O} }
+sub os_type { return Perl::OSType::os_type() }
-sub is_vmsish { return ((os_type() || '') eq 'VMS') }
-sub is_windowsish { return ((os_type() || '') eq 'Windows') }
-sub is_unixish { return ((os_type() || '') eq 'Unix') }
+sub is_vmsish { return Perl::OSType::is_os_type('VMS') }
+sub is_windowsish { return Perl::OSType::is_os_type('Windows') }
+sub is_unixish { return Perl::OSType::is_os_type('Unix') }
1;
@@ -120,7 +68,6 @@ testall testcover testdb testpod testpodcoverage versioninstall
Module::Build - Build and install Perl modules
-
=head1 SYNOPSIS
Standard process for building & installing modules:
@@ -167,7 +114,25 @@ This illustrates initial configuration and the running of three
'actions'. In this case the actions run are 'build' (the default
action), 'test', and 'install'. Other actions defined so far include:
-<action_list>
+ build manifest
+ clean manifest_skip
+ code manpages
+ config_data pardist
+ diff ppd
+ dist ppmdist
+ distcheck prereq_data
+ distclean prereq_report
+ distdir pure_install
+ distinstall realclean
+ distmeta retest
+ distsign skipcheck
+ disttest test
+ docs testall
+ fakeinstall testcover
+ help testdb
+ html testpod
+ install testpodcoverage
+ installdeps versioninstall
You can run the 'help' action for a complete list of actions.
@@ -327,6 +292,15 @@ Creates a "distribution directory" named C<$dist_name-$dist_version>
copies all the files listed in the F<MANIFEST> file to that directory.
This directory is what the distribution tarball is created from.
+=item distinstall
+
+[version 0.37]
+
+Performs the 'distdir' action, then switches into that directory and runs a
+C<perl Build.PL>, followed by the 'build' and 'install' actions in that
+directory. Use PERL_MB_OPT or F<.modulebuildrc> to set options that should be
+applied during subprocesses
+
=item distmeta
[version 0.21]
@@ -336,17 +310,13 @@ Creates the F<META.yml> file that describes the distribution.
F<META.yml> is a file containing various bits of I<metadata> about the
distribution. The metadata includes the distribution name, version,
abstract, prerequisites, license, and various other data about the
-distribution. This file is created as F<META.yml> in YAML format.
-It is recommended that the C<YAML::Tiny> module be installed to create it.
-If the C<YAML::Tiny> module is not installed, an internal module supplied
-with Module::Build will be used to write the META.yml file, and this
-will most likely be fine.
+distribution. This file is created as F<META.yml> in a simplified YAML format.
F<META.yml> file must also be listed in F<MANIFEST> - if it's not, a
warning will be issued.
-The current version of the F<META.yml> specification can be found at
-L<http://module-build.sourceforge.net/META-spec-current.html>
+The current version of the F<META.yml> specification can be found
+on CPAN as L<CPAN::Meta::Spec>.
=item distsign
@@ -360,9 +330,11 @@ MANIFEST.
[version 0.05]
-Performs the 'distdir' action, then switches into that directory and
-runs a C<perl Build.PL>, followed by the 'build' and 'test' actions in
-that directory.
+Performs the 'distdir' action, then switches into that directory and runs a
+C<perl Build.PL>, followed by the 'build' and 'test' actions in that directory.
+Use PERL_MB_OPT or F<.modulebuildrc> to set options that should be applied
+during subprocesses
+
=item docs
@@ -472,6 +444,14 @@ add your own stuff to it:
See the L<distcheck> and L<skipcheck> actions if you want to find out
what the C<manifest> action would do, without actually doing anything.
+=item manifest_skip
+
+[version 0.3608]
+
+This is an action intended for use by module authors, not people
+installing modules. It will generate a boilerplate MANIFEST.SKIP file
+if one does not already exist.
+
=item manpages
[version 0.28]
@@ -699,7 +679,7 @@ specify the C<versionlib> parameter when you run the C<Build.PL> script:
perl Build.PL --versionlib /my/version/place/
To override which version the module is installed as, specify the
-C<versionlib> parameter when you run the C<Build.PL> script:
+C<version> parameter when you run the C<Build.PL> script:
perl Build.PL --version 0.50
@@ -733,7 +713,8 @@ Suppress informative messages on output.
=item verbose
-Display extra information about the Build on output.
+Display extra information about the Build on output. C<verbose> will
+turn off C<quiet>
=item cpan_client
@@ -874,7 +855,7 @@ This is the same as C<bindoc> above, but applies to HTML documents.
=item libhtml
-This is the same as C<bindoc> above, but applies to HTML documents.
+This is the same as C<libdoc> above, but applies to HTML documents.
=back
@@ -1101,8 +1082,8 @@ Module-Build mailing list at <module-build@perl.org>.
Bug reports are also welcome at
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Build>.
-The latest development version is available from the Subversion
-repository at <https://svn.perl.org/modules/Module-Build/trunk/>
+The latest development version is available from the Git
+repository at <https://github.com/dagolden/module-build/>
=head1 COPYRIGHT
@@ -1116,10 +1097,10 @@ modify it under the same terms as Perl itself.
=head1 SEE ALSO
perl(1), L<Module::Build::Cookbook>, L<Module::Build::Authoring>,
-L<Module::Build::API>, L<ExtUtils::MakeMaker>, L<YAML::Tiny>
+L<Module::Build::API>, L<ExtUtils::MakeMaker>
F<META.yml> Specification:
-L<http://module-build.sourceforge.net/META-spec-current.html>
+L<CPAN::Meta::Spec>
L<http://www.dsmit.com/cons/>
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/API.pod b/Master/tlpkg/tlperl/lib/Module/Build/API.pod
index 146d28ec2b9..29d2f359c8e 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/API.pod
+++ b/Master/tlpkg/tlperl/lib/Module/Build/API.pod
@@ -181,6 +181,11 @@ files in the directory will be compiled to object files. The
directory will be added to the search path during the compilation and
linking phases of any C or XS files.
+[version 0.3604]
+
+A list of directories can be supplied using an anonymous array
+reference of strings.
+
=item conflicts
[version 0.07]
@@ -261,6 +266,25 @@ a reasonable default. However, some agglomerative distributions like
C<libwww-perl> or C<bioperl> have names that don't correspond directly
to a module name, so C<dist_name> can be set independently.
+=item dist_suffix
+
+[version 0.37]
+
+Specifies an optional suffix to include after the version number
+in the distribution directory (and tarball) name. The only suffix
+currently recognized by PAUSE is 'TRIAL', which indicates that the
+distribution should not be indexed. For example:
+
+ Foo-Bar-1.23-TRIAL.tar.gz
+
+This will automatically do the "right thing" depending on C<dist_version> and
+C<release_status>. When C<dist_version> does not have an underscore and
+C<release_status> is not 'stable', then C<dist_suffix> will default to 'TRIAL'.
+Otherwise it will default to the empty string, disabling the suffix.
+
+In general, authors should only set this if they B<must> override the default
+behavior for some particular purpose.
+
=item dist_version
[version 0.11]
@@ -447,8 +471,12 @@ L<Module::Build/"INSTALL PATHS">
[version 0.07]
-Specifies the licensing terms of your distribution. Valid options include:
+Specifies the licensing terms of your distribution.
+
+As of Module::Build version 0.36_14, you may use a L<Software::License>
+subclass name (e.g. 'Apache_2_0') instead of one of the keys below.
+The legacy list of valid license values include:
=over 4
@@ -525,9 +553,9 @@ restrictions.
=back
-
Note that you must still include the terms of your license in your
-documentation - this field only lets automated tools figure out your
+code and documentation - this field only sets the information that is included
+in distribution metadata to let automated tools figure out your
licensing restrictions. Humans still need something to read. If you
choose to provide this field, you should make sure that you keep it in
sync with your written documentation if you ever change your licensing
@@ -536,13 +564,7 @@ terms.
You may also use a license type of C<unknown> if you don't wish to
specify your terms in the metadata.
-It is a fatal error to use a license other than the ones mentioned
-above. This is not because I wish to impose licensing terms on you -
-please let me know if you would like another license option to be
-added to the list. I just started out with a small set of licenses to
-keep things simple, figuring I'd let people with actual working
-knowledge in this area tell me what to do. So if that's you, drop me
-a line.
+Also see the C<create_license> parameter.
=item meta_add
@@ -711,6 +733,22 @@ Normally, C<Module::Build> does not search subdirectories when looking
for tests to run. When this options is set it will search recursively
in all subdirectories of the standard 't' test directory.
+=item release_status
+
+[version 0.37]
+
+The CPAN Meta Spec version 2 adds C<release_status> to allow authors
+to specify how a distribution should be indexed. Consistent with the
+spec, this parameter can only have one three values: 'stable',
+'testing' or 'unstable'.
+
+Unless explicitly set by the author, C<release_status> will default
+to 'stable' unless C<dist_version> contains an underscore, in which
+case it will default to 'testing'.
+
+It is an error to specify a C<release_status> of 'stable' when
+C<dist_version> contains an underscore character.
+
=item requires
[version 0.07]
@@ -1588,11 +1626,24 @@ of F<META.yml>. E.g.
return $data;
}
-The only valid argument is C<fatal>, which indicates whether missing required
+Valid arguments include:
+
+=over
+
+=item *
+
+C<fatal> -- indicates whether missing required
metadata fields should be a fatal error or not. For META creation, it
generally should, but for MYMETA creation for end-users, it should not be
fatal.
+=item *
+
+C<auto> -- indicates whether any necessary configure_requires should be
+automatically added. This is used in META creation.
+
+=back
+
This method is a wrapper around the old prepare_metadata API now that we
no longer use YAML::Node to hold metadata.
@@ -1667,8 +1718,8 @@ Examples:
[version 0.32]
Returns a reference to a hash describing all prerequisites. The keys of the
-hash will the various prerequisite types ('requires', 'build_requires',
-'configure_requires', 'recommends', or 'conflicts') and the values will
+hash will be the various prerequisite types ('requires', 'build_requires',
+'configure_requires', 'recommends', or 'conflicts') and the values will be
references to hashes of module names and version numbers. Only prerequisites
types that are defined will be included. The C<prereq_data> action is just a
thin wrapper around the C<prereq_data()> method and dumps the hash as a string
@@ -1827,18 +1878,144 @@ accessor methods for the following properties:
=over 4
-<autogenerated_accessors>
+=item PL_files()
-=back
+=item allow_mb_mismatch()
+
+=item auto_configure_requires()
+
+=item autosplit()
+
+=item base_dir()
+
+=item bindoc_dirs()
+
+=item blib()
+
+=item build_bat()
+
+=item build_class()
+
+=item build_elements()
+
+=item build_requires()
+
+=item build_script()
+
+=item bundle_inc()
+
+=item bundle_inc_preload()
+
+=item c_source()
+
+=item config_dir()
+
+=item configure_requires()
+
+=item conflicts()
+
+=item cpan_client()
+
+=item create_license()
+
+=item create_makefile_pl()
+
+=item create_packlist()
+
+=item create_readme()
+=item debug()
+
+=item debugger()
+
+=item destdir()
+
+=item dynamic_config()
+
+=item get_options()
+
+=item html_css()
+
+=item include_dirs()
+
+=item install_base()
+
+=item installdirs()
+
+=item libdoc_dirs()
+
+=item license()
+
+=item magic_number()
+
+=item mb_version()
+
+=item meta_add()
+
+=item meta_merge()
+
+=item metafile()
+
+=item metafile2()
+
+=item module_name()
+
+=item mymetafile()
+
+=item mymetafile2()
+
+=item needs_compiler()
+
+=item orig_dir()
+
+=item perl()
+
+=item pm_files()
+
+=item pod_files()
+
+=item pollute()
+
+=item prefix()
+
+=item prereq_action_types()
+
+=item program_name()
+
+=item quiet()
+
+=item recommends()
+
+=item recurse_into()
+
+=item recursive_test_files()
+
+=item requires()
+
+=item scripts()
+
+=item sign()
+
+=item tap_harness_args()
+
+=item test_file_exts()
+
+=item use_rcfile()
+
+=item use_tap_harness()
+
+=item verbose()
+
+=item xs_files()
+
+=back
=head1 MODULE METADATA
If you would like to add other useful metadata, C<Module::Build>
supports this with the C<meta_add> and C<meta_merge> arguments to
-L</new>. The authoritative list of supported metadata can be found at
-L<http://module-build.sourceforge.net/META-spec-current.html>, but for
-convenience - here are a few of the more useful ones:
+L</new()>. The authoritative list of supported metadata can be found at
+L<CPAN::META::Spec> but for convenience - here are a few of the more useful ones:
=over 4
@@ -1847,17 +2024,13 @@ convenience - here are a few of the more useful ones:
For describing the distribution using keyword (or "tags") in order to
make CPAN.org indexing and search more efficient and useful.
-See L<http://module-build.sourceforge.net/META-spec-current.html#keywords>.
-
=item resources
A list of additional resources available for users of the
distribution. This can include links to a homepage on the web, a
-bug tracker, the repository location, a even subscription page for the
+bug tracker, the repository location, and even a subscription page for the
distribution mailing list.
-See L<http://module-build.sourceforge.net/META-spec-current.html#resources>.
-
=back
@@ -1877,9 +2050,9 @@ modify it under the same terms as Perl itself.
=head1 SEE ALSO
perl(1), L<Module::Build>(3), L<Module::Build::Authoring>(3),
-L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3), L<YAML::Tiny>(3)
+L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3)
F<META.yml> Specification:
-L<http://module-build.sourceforge.net/META-spec-current.html>
+L<CPAN::META::Spec>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod b/Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod
index 38fb3f089a6..92164df9211 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Authoring.pod
@@ -2,7 +2,6 @@
Module::Build::Authoring - Authoring Module::Build modules
-
=head1 DESCRIPTION
When creating a C<Build.PL> script for a module, something like the
@@ -104,7 +103,7 @@ C<@INC> (including the C</nonstandard/library/path>) is propagated to
the Build script, so that My::Builder can be found when running build
actions. If you find that you need to C<chdir> into a different directories
in your subclass methods or actions, be sure to always return to the original
-directory (available via the C<base_dir()> method before returning control
+directory (available via the C<base_dir()> method) before returning control
to the parent class. This is important to avoid data serialization problems.
For very small additions, Module::Build provides a C<subclass()>
@@ -304,8 +303,8 @@ Module-Build mailing list at <module-build@perl.org>.
Bug reports are also welcome at
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Build>.
-The latest development version is available from the Subversion
-repository at <https://svn.perl.org/modules/Module-Build/trunk/>
+The latest development version is available from the Git
+repository at <https://github.com/dagolden/module-build/>
=head1 SEE ALSO
@@ -314,7 +313,7 @@ perl(1), L<Module::Build>(3), L<Module::Build::API>(3),
L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3), L<YAML>(3)
F<META.yml> Specification:
-L<http://module-build.sourceforge.net/META-spec-current.html>
+L<CPAN::META::Spec>
L<http://www.dsmit.com/cons/>
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
index 5bd8ec72a55..fba916ad267 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
@@ -4,7 +4,7 @@ package Module::Build::Base;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
BEGIN { require 5.00503 }
@@ -62,6 +62,7 @@ EOF
$self->dist_name;
$self->dist_version;
+ $self->release_status;
$self->_guess_module_name unless $self->module_name;
$self->_find_nested_builds;
@@ -95,8 +96,12 @@ sub resume {
unless ($self->_perl_is_same($self->{properties}{perl})) {
my $perl = $self->find_perl_interpreter;
- $self->log_warn(" * WARNING: Configuration was initially created with '$self->{properties}{perl}',\n".
- " but we are now using '$perl'.\n");
+ die(<<"DIEFATAL");
+* FATAL ERROR: Perl interpreter mismatch. Configuration was initially
+ created with '$self->{properties}{perl}'
+ but we are now using '$perl'. You must
+ run 'Build realclean' or 'make realclean' and re-configure.
+DIEFATAL
}
$self->cull_args(@ARGV);
@@ -105,7 +110,7 @@ sub resume {
my $mb_version = $Module::Build::VERSION;
if ( $mb_version ne $self->{properties}{mb_version} ) {
$self->log_warn(<<"MISMATCH");
-* WARNING: Configuration was initially created with Module::Build
+* WARNING: Configuration was initially created with Module::Build
version '$self->{properties}{mb_version}' but we are now using version '$mb_version'.
If errors occur, you must re-run the Build.PL or Makefile.PL script.
MISMATCH
@@ -201,15 +206,15 @@ sub _construct {
sub log_info {
my $self = shift;
- print @_ unless(ref($self) and $self->quiet);
+ print @_ if ref($self) && ( $self->verbose || ! $self->quiet );
}
sub log_verbose {
my $self = shift;
- $self->log_info(@_) if(ref($self) and $self->verbose);
+ print @_ if ref($self) && $self->verbose;
}
sub log_debug {
my $self = shift;
- print @_ if ref $self && $self->debug;
+ print @_ if ref($self) && $self->debug;
}
sub log_warn {
@@ -897,10 +902,13 @@ __PACKAGE__->add_property(build_bat => 0);
__PACKAGE__->add_property(bundle_inc => []);
__PACKAGE__->add_property(bundle_inc_preload => []);
__PACKAGE__->add_property(config_dir => '_build');
+__PACKAGE__->add_property(dynamic_config => 1);
__PACKAGE__->add_property(include_dirs => []);
__PACKAGE__->add_property(license => 'unknown');
__PACKAGE__->add_property(metafile => 'META.yml');
__PACKAGE__->add_property(mymetafile => 'MYMETA.yml');
+__PACKAGE__->add_property(metafile2 => 'META.json');
+__PACKAGE__->add_property(mymetafile2 => 'MYMETA.json');
__PACKAGE__->add_property(recurse_into => []);
__PACKAGE__->add_property(use_rcfile => 1);
__PACKAGE__->add_property(create_packlist => 1);
@@ -926,8 +934,7 @@ __PACKAGE__->add_property(
);
{
- my $Is_ActivePerl = eval {require ActivePerl::DocTools};
- __PACKAGE__->add_property(html_css => $Is_ActivePerl ? 'Active.css' : '');
+ __PACKAGE__->add_property(html_css => '');
}
{
@@ -964,6 +971,7 @@ __PACKAGE__->add_property($_) for qw(
dist_abstract
dist_author
dist_name
+ dist_suffix
dist_version
dist_version_from
extra_compiler_flags
@@ -984,6 +992,7 @@ __PACKAGE__->add_property($_) for qw(
program_name
quiet
recursive_test_files
+ release_status
script_files
scripts
share_dir
@@ -1124,6 +1133,41 @@ sub dist_name {
return $p->{dist_name};
}
+sub release_status {
+ my ($self) = @_;
+ my $p = $self->{properties};
+
+ if ( ! defined $p->{release_status} ) {
+ $p->{release_status} = $self->_is_dev_version ? 'testing' : 'stable';
+ }
+
+ unless ( $p->{release_status} =~ qr/\A(?:stable|testing|unstable)\z/ ) {
+ die "Illegal value '$p->{release_status}' for release_status\n";
+ }
+
+ if ( $p->{release_status} eq 'stable' && $self->_is_dev_version ) {
+ my $version = $self->dist_version;
+ die "Illegal value '$p->{release_status}' with version '$version'\n";
+ }
+ return $p->{release_status};
+}
+
+sub dist_suffix {
+ my ($self) = @_;
+ my $p = $self->{properties};
+ return $p->{dist_suffix} if defined $p->{dist_suffix};
+
+ if ( $self->release_status eq 'stable' ) {
+ $p->{dist_suffix} = "";
+ }
+ else {
+ # non-stable release but non-dev version number needs '-TRIAL' appended
+ $p->{dist_suffix} = $self->_is_dev_version ? "" : "TRIAL" ;
+ }
+
+ return $p->{dist_suffix};
+}
+
sub dist_version_from {
my ($self) = @_;
my $p = $self->{properties};
@@ -1144,7 +1188,11 @@ sub dist_version {
my $version_from = File::Spec->catfile( split( qr{/}, $dist_version_from ) );
my $pm_info = Module::Build::ModuleInfo->new_from_file( $version_from )
or die "Can't find file $version_from to determine version";
+ #$p->{dist_version} is undef here
$p->{dist_version} = $self->normalize_version( $pm_info->version() );
+ unless (defined $p->{dist_version}) {
+ die "Can't determine distribution version from $version_from";
+ }
}
die ("Can't determine distribution version, must supply either 'dist_version',\n".
@@ -1154,6 +1202,16 @@ sub dist_version {
return $p->{dist_version};
}
+sub _is_dev_version {
+ my ($self) = @_;
+ my $dist_version = $self->dist_version;
+ my $version_obj = eval { Module::Build::Version->new( $dist_version ) };
+ # assume it's normal if the version string is fatal -- in this case
+ # the author might be doing something weird so should play along and
+ # assume they'll specify all necessary behavior
+ return $@ ? 0 : $version_obj->is_alpha;
+}
+
sub dist_author { shift->_pod_parse('author') }
sub dist_abstract { shift->_pod_parse('abstract') }
@@ -1182,6 +1240,26 @@ sub find_module_by_name { # Method provided for backwards compatibility
return Module::Build::ModuleInfo->find_module_by_name(@_[1,2]);
}
+{
+ # $unlink_list_for_pid{$$} = [ ... ]
+ my %unlink_list_for_pid;
+
+ sub _unlink_on_exit {
+ my $self = shift;
+ for my $f ( @_ ) {
+ push @{$unlink_list_for_pid{$$}}, $f if -f $f;
+ }
+ return 1;
+ }
+
+ END {
+ for my $f ( map glob($_), @{ $unlink_list_for_pid{$$} || [] } ) {
+ next unless -e $f;
+ File::Path::rmtree($f, 0, 0);
+ }
+ }
+}
+
sub add_to_cleanup {
my $self = shift;
my %files = map {$self->localize_file_path($_), 1} @_;
@@ -1389,8 +1467,8 @@ sub _feature_deps_msg {
return $log_text;
}
-# Automatically detect and add prerequisites based on configuration
-sub auto_require {
+# Automatically detect configure_requires prereqs
+sub auto_config_requires {
my ($self) = @_;
my $p = $self->{properties};
@@ -1401,6 +1479,10 @@ sub auto_require {
&& ! exists $p->{configure_requires}{'Module::Build'}
) {
(my $ver = $VERSION) =~ s/^(\d+\.\d\d).*$/$1/; # last major release only
+ $self->log_warn(<<EOM);
+Module::Build was not found in configure_requires! Adding it now
+automatically as: configure_requires => { 'Module::Build' => $ver }
+EOM
$self->_add_prereq('configure_requires', 'Module::Build', $ver);
}
@@ -1415,6 +1497,14 @@ sub auto_require {
}
}
+ return;
+}
+
+# Automatically detect and add prerequisites based on configuration
+sub auto_require {
+ my ($self) = @_;
+ my $p = $self->{properties};
+
# If needs_compiler is not explictly set, automatically set it
# If set, we need ExtUtils::CBuilder (and a compiler)
my $xs_files = $self->find_xs_files;
@@ -1555,6 +1645,24 @@ sub _parse_conditions {
}
}
+sub try_require {
+ my ($self, $modname, $spec) = @_;
+ my $status = $self->check_installed_status($modname, defined($spec) ? $spec : 0);
+ return unless $status->{ok};
+ my $path = $modname;
+ $path =~ s{::}{/}g;
+ $path .= ".pm";
+ if ( defined $INC{$path} ) {
+ return 1;
+ }
+ elsif ( exists $INC{$path} ) { # failed before, don't try again
+ return;
+ }
+ else {
+ return eval "require $modname";
+ }
+}
+
sub check_installed_status {
my ($self, $modname, $spec) = @_;
my %status = (need => $spec);
@@ -1572,7 +1680,7 @@ sub check_installed_status {
return \%status;
}
- $status{have} = $pm_info->version();
+ $status{have} = eval { $pm_info->version() };
if ($spec and !defined($status{have})) {
@status{ qw(have message) } = (undef, "Couldn't find a \$VERSION in prerequisite $modname");
return \%status;
@@ -1684,11 +1792,15 @@ sub print_build_script {
my $closedata="";
+ my $config_requires;
+ if ( -f $self->metafile ) {
+ my $meta = eval { $self->read_metafile( $self->metafile ) };
+ $config_requires = $meta && $meta->{configure_requires}{'Module::Build'};
+ }
+ $config_requires ||= 0;
+
my %q = map {$_, $self->$_()} qw(config_dir base_dir);
- my $case_tolerant = 0+(File::Spec->can('case_tolerant')
- && File::Spec->case_tolerant);
- $q{base_dir} = uc $q{base_dir} if $case_tolerant;
$q{base_dir} = Win32::GetShortPathName($q{base_dir}) if $self->is_windowsish;
$q{magic_numfile} = $self->config_file('magicnum');
@@ -1744,6 +1856,7 @@ $quoted_INC
close(*DATA) unless eof(*DATA); # ensure no open handles to this script
use $build_package;
+Module::Build->VERSION(q{$config_requires});
# Some platforms have problems setting \$^X in shebang contexts, fix it up here
\$^X = Module::Build->find_perl_interpreter;
@@ -1766,38 +1879,72 @@ EOF
sub create_mymeta {
my ($self) = @_;
- my $mymetafile = $self->mymetafile;
- my $metafile = $self->metafile;
- # cleanup
- if ( $self->delete_filetree($mymetafile) ) {
- $self->log_verbose("Removed previous '$mymetafile'\n");
+ my ($meta_obj, $mymeta);
+ my @metafiles = ( $self->metafile, $self->metafile2 );
+ my @mymetafiles = ( $self->mymetafile, $self->mymetafile2 );
+
+ # cleanup old MYMETA
+ for my $f ( @mymetafiles ) {
+ if ( $self->delete_filetree($f) ) {
+ $self->log_verbose("Removed previous '$f'\n");
+ }
}
- $self->log_info("Creating new '$mymetafile' with configuration results\n");
- # use old meta and update prereqs, if possible
- my $mymeta;
- if ( -f $metafile ) {
- $mymeta = eval { $self->read_metafile( $self->metafile ) };
+ # Try loading META.json or META.yml
+ if ( $self->try_require("CPAN::Meta", "2.110420") ) {
+ for my $file ( @metafiles ) {
+ next unless -f $file;
+ $meta_obj = eval { CPAN::Meta->load_file($file) };
+ last if $meta_obj;
+ }
}
- # if we read META OK, just update it
+
+ # maybe get a copy in spec v2 format (regardless of original source)
+ $mymeta = $meta_obj->as_struct
+ if $meta_obj;
+
+ # if we have metadata, just update it
if ( defined $mymeta ) {
my $prereqs = $self->_normalize_prereqs;
- for my $t ( keys %$prereqs ) {
- $mymeta->{$t} = $prereqs->{$t};
+ # XXX refactor this mapping somewhere
+ $mymeta->{prereqs}{runtime}{requires} = $prereqs->{requires};
+ $mymeta->{prereqs}{build}{requires} = $prereqs->{build_requires};
+ $mymeta->{prereqs}{runtime}{recommends} = $prereqs->{recommends};
+ $mymeta->{prereqs}{runtime}{conflicts} = $prereqs->{conflicts};
+ # delete empty entries
+ for my $phase ( keys %{$mymeta->{prereqs}} ) {
+ if ( ref $mymeta->{prereqs}{$phase} eq 'HASH' ) {
+ for my $type ( keys %{$mymeta->{prereqs}{$phase}} ) {
+ if ( ! defined $mymeta->{prereqs}{$phase}{$type}
+ || ! keys %{$mymeta->{prereqs}{$phase}{$type}}
+ ) {
+ delete $mymeta->{prereqs}{$phase}{$type};
+ }
+ }
+ }
+ if ( ! defined $mymeta->{prereqs}{$phase}
+ || ! keys %{$mymeta->{prereqs}{$phase}}
+ ) {
+ delete $mymeta->{prereqs}{$phase};
+ }
}
+ $mymeta->{dynamic_config} = 0;
+ $mymeta->{generated_by} = "Module::Build version $Module::Build::VERSION";
+ eval { $meta_obj = CPAN::Meta->new( $mymeta, { lazy_validation => 1 } ) }
}
- # but generate from scratch, ignoring errors if META doesn't exist
+ # or generate from scratch, ignoring errors if META doesn't exist
else {
- $mymeta = $self->get_metadata( fatal => 0 );
+ $meta_obj = $self->_get_meta_object(
+ quiet => 0, dynamic => 0, fatal => 0, auto => 0
+ );
}
- # MYMETA is always static
- $mymeta->{dynamic_config} = 0;
- # Note which M::B created it
- $mymeta->{generated_by} = "Module::Build version $Module::Build::VERSION";
+ my @created = $self->_write_meta_files( $meta_obj, 'MYMETA' );
+
+ $self->log_warn("Could not create MYMETA files\n")
+ unless @created;
- $self->write_metafile( $mymetafile, $mymeta );
return 1;
}
@@ -1958,7 +2105,6 @@ sub _translate_option {
create_readme
extra_compiler_flags
extra_linker_flags
- html_css
install_base
install_path
meta_add
@@ -2068,7 +2214,7 @@ sub read_args {
$args{$_} ||= [];
$args{$_} = [ $args{$_} ] unless ref $args{$_};
foreach my $arg ( @{$args{$_}} ) {
- $arg =~ /(\w+)=(.*)/
+ $arg =~ /($opt_re)=(.*)/
or die "Malformed '$_' argument: '$arg' should be something like 'foo=bar'";
$hash{$1} = $2;
}
@@ -2208,6 +2354,11 @@ sub read_modulebuildrc {
my ($global_opts) =
$self->read_args( $self->split_like_shell( $options{'*'} || '' ) );
+
+ # let fakeinstall act like install if not provided
+ if ( $action eq 'fakeinstall' && ! exists $options{fakeinstall} ) {
+ $action = 'install';
+ }
my ($action_opts) =
$self->read_args( $self->split_like_shell( $options{$action} || '' ) );
@@ -2552,6 +2703,8 @@ sub do_tests {
my $tests = $self->find_test_files;
+ local $ENV{PERL_DL_NONLAZY} = 1;
+
if(@$tests) {
my $args = $self->tap_harness_args;
if($self->use_tap_harness or ($args and %$args)) {
@@ -2667,7 +2820,7 @@ sub ACTION_testcover {
# testcover was run. If so, start over.
if (-e 'cover_db') {
my $pm_files = $self->rscan_dir
- (File::Spec->catdir($self->blib, 'lib'), file_qr('\.pm$') );
+ (File::Spec->catdir($self->blib, 'lib'), $self->file_qr('\.pm$') );
my $cover_files = $self->rscan_dir('cover_db', sub {-f $_ and not /\.html$/});
$self->do_system(qw(cover -delete))
@@ -2728,11 +2881,19 @@ sub process_support_files {
my $p = $self->{properties};
return unless $p->{c_source};
- push @{$p->{include_dirs}}, $p->{c_source};
+ my $files;
+ if (ref($p->{c_source}) eq "ARRAY") {
+ push @{$p->{include_dirs}}, @{$p->{c_source}};
+ for my $path (@{$p->{c_source}}) {
+ push @$files, @{ $self->rscan_dir($path, $self->file_qr('\.c(c|p|pp|xx|\+\+)?$')) };
+ }
+ } else {
+ push @{$p->{include_dirs}}, $p->{c_source};
+ $files = $self->rscan_dir($p->{c_source}, $self->file_qr('\.c(c|p|pp|xx|\+\+)?$'));
+ }
- my $files = $self->rscan_dir($p->{c_source}, file_qr('\.c(c|p|pp|xx|\+\+)?$'));
foreach my $file (@$files) {
- push @{$p->{objects}}, $self->compile_c($file);
+ push @{$p->{objects}}, $self->compile_c($file);
}
}
@@ -2852,8 +3013,10 @@ sub find_PL_files {
}
return unless -d 'lib';
- return { map {$_, [/^(.*)\.PL$/i ]} @{ $self->rscan_dir('lib',
- file_qr('\.PL$')) } };
+ return {
+ map {$_, [/^(.*)\.PL$/i ]}
+ @{ $self->rscan_dir('lib', $self->file_qr('\.PL$')) }
+ };
}
sub find_pm_files { shift->_find_file_by_type('pm', 'lib') }
@@ -2906,7 +3069,7 @@ sub _find_file_by_type {
return { map {$_, $_}
map $self->localize_file_path($_),
grep !/\.\#/,
- @{ $self->rscan_dir($dir, file_qr("\\.$type\$")) } };
+ @{ $self->rscan_dir($dir, $self->file_qr("\\.$type\$")) } };
}
sub localize_file_path {
@@ -2934,7 +3097,7 @@ sub fix_shebang_line { # Adapted from fixin() in ExtUtils::MM_Unix 1.35
next unless $cmd =~ /perl/i;
my $interpreter = $self->{properties}{perl};
- $self->log_verbose("Changing sharpbang in $file to $interpreter");
+ $self->log_verbose("Changing sharpbang in $file to $interpreter\n");
my $shb = '';
$shb .= $c->get('sharpbang')."$interpreter $arg\n" if $does_shbang;
@@ -2979,7 +3142,7 @@ sub ACTION_testpod {
my @files = sort keys %{$self->_find_pods($self->libdoc_dirs)},
keys %{$self->_find_pods
($self->bindoc_dirs,
- exclude => [ file_qr('\.bat$') ])}
+ exclude => [ $self->file_qr('\.bat$') ])}
or die "Couldn't find any POD files to test\n";
{ package # hide from PAUSE
@@ -3033,6 +3196,24 @@ sub _is_default_installable {
) ? 1 : 0;
}
+sub _is_ActivePerl {
+# return 0;
+ my $self = shift;
+ unless (exists($self->{_is_ActivePerl})) {
+ $self->{_is_ActivePerl} = (eval { require ActivePerl::DocTools; } || 0);
+ }
+ return $self->{_is_ActivePerl};
+}
+
+sub _is_ActivePPM {
+# return 0;
+ my $self = shift;
+ unless (exists($self->{_is_ActivePPM})) {
+ $self->{_is_ActivePPM} = (eval { require ActivePerl::PPM; } || 0);
+ }
+ return $self->{_is_ActivePPM};
+}
+
sub ACTION_manpages {
my $self = shift;
@@ -3041,27 +3222,21 @@ sub ACTION_manpages {
$self->depends_on('code');
foreach my $type ( qw(bin lib) ) {
+ next unless ( $self->invoked_action eq 'manpages' || $self->_is_default_installable("${type}doc"));
my $files = $self->_find_pods( $self->{properties}{"${type}doc_dirs"},
- exclude => [ file_qr('\.bat$') ] );
+ exclude => [ $self->file_qr('\.bat$') ] );
next unless %$files;
my $sub = $self->can("manify_${type}_pods");
- next unless defined( $sub );
-
- if ( $self->invoked_action eq 'manpages' ) {
- $self->$sub();
- } elsif ( $self->_is_default_installable("${type}doc") ) {
- $self->$sub();
- }
+ $self->$sub() if defined( $sub );
}
-
}
sub manify_bin_pods {
my $self = shift;
my $files = $self->_find_pods( $self->{properties}{bindoc_dirs},
- exclude => [ file_qr('\.bat$') ] );
+ exclude => [ $self->file_qr('\.bat$') ] );
return unless keys %$files;
my $mandir = File::Spec->catdir( $self->blib, 'bindoc' );
@@ -3145,21 +3320,11 @@ sub ACTION_html {
$self->depends_on('code');
foreach my $type ( qw(bin lib) ) {
- my $files = $self->_find_pods( $self->{properties}{"${type}doc_dirs"},
- exclude =>
- [ file_qr('\.(?:bat|com|html)$') ] );
- next unless %$files;
-
- if ( $self->invoked_action eq 'html' ) {
- $self->htmlify_pods( $type );
- } elsif ( $self->_is_default_installable("${type}html") ) {
- $self->htmlify_pods( $type );
- }
+ next unless ( $self->invoked_action eq 'html' || $self->_is_default_installable("${type}html"));
+ $self->htmlify_pods( $type );
}
-
}
-
# 1) If it's an ActiveState perl install, we need to run
# ActivePerl::DocTools->UpdateTOC;
# 2) Links to other modules are not being generated
@@ -3168,13 +3333,10 @@ sub htmlify_pods {
my $type = shift;
my $htmldir = shift || File::Spec->catdir($self->blib, "${type}html");
- require Module::Build::PodParser;
- require Pod::Html;
-
$self->add_to_cleanup('pod2htm*');
my $pods = $self->_find_pods( $self->{properties}{"${type}doc_dirs"},
- exclude => [ file_qr('\.(?:bat|com|html)$') ] );
+ exclude => [ $self->file_qr('\.(?:bat|com|html)$') ] );
return unless %$pods; # nothing to do
unless ( -d $htmldir ) {
@@ -3184,21 +3346,54 @@ sub htmlify_pods {
my @rootdirs = ($type eq 'bin') ? qw(bin) :
$self->installdirs eq 'core' ? qw(lib) : qw(site lib);
+ my $podroot = $ENV{PERL_CORE}
+ ? File::Basename::dirname($ENV{PERL_CORE})
+ : $self->original_prefix('core');
+
+ my $htmlroot = $self->install_sets('core')->{libhtml};
+ my @podpath = (map { File::Spec->abs2rel($_ ,$podroot) } grep { -d }
+ ( $self->install_sets('core', 'lib'), # lib
+ $self->install_sets('core', 'bin'), # bin
+ $self->install_sets('site', 'lib'), # site/lib
+ ) ), File::Spec->rel2abs($self->blib);
+
+ my $podpath = $ENV{PERL_CORE}
+ ? File::Spec->catdir($podroot, 'lib')
+ : join(":", map { tr,:\\,|/,; $_ } @podpath);
+
+ my $blibdir = join('/', File::Spec->splitdir(
+ (File::Spec->splitpath(File::Spec->rel2abs($htmldir),1))[1]),''
+ );
- my $podpath = join ':',
- map $_->[1],
- grep -e $_->[0],
- map [File::Spec->catdir($self->blib, $_), $_],
- qw( script lib );
+ my ($with_ActiveState, $htmltool);
+ if ( $with_ActiveState = $self->_is_ActivePerl
+ && eval { require ActivePerl::DocTools::Pod; 1 }
+ ) {
+ my $tool_v = ActiveState::DocTools::Pod->VERSION;
+ $htmltool = "ActiveState::DocTools::Pod";
+ $htmltool .= " $tool_v" if $tool_v && length $tool_v;
+ }
+ else {
+ require Module::Build::PodParser;
+ require Pod::Html;
+ $htmltool = "Pod::Html " . Pod::Html->VERSION;
+ }
+ $self->log_verbose("Converting Pod to HTML with $htmltool\n");
+
+ my $errors = 0;
+
+ POD:
foreach my $pod ( keys %$pods ) {
my ($name, $path) = File::Basename::fileparse($pods->{$pod},
- file_qr('\.(?:pm|plx?|pod)$'));
+ $self->file_qr('\.(?:pm|plx?|pod)$')
+ );
my @dirs = File::Spec->splitdir( File::Spec->canonpath( $path ) );
pop( @dirs ) if scalar(@dirs) && $dirs[-1] eq File::Spec->curdir;
- my $fulldir = File::Spec->catfile($htmldir, @rootdirs, @dirs);
+ my $fulldir = File::Spec->catdir($htmldir, @rootdirs, @dirs);
+ my $tmpfile = File::Spec->catfile($fulldir, "${name}.tmp");
my $outfile = File::Spec->catfile($fulldir, "${name}.html");
my $infile = File::Spec->abs2rel($pod);
@@ -3209,38 +3404,82 @@ sub htmlify_pods {
or die "Couldn't mkdir $fulldir: $!";
}
- my $path2root = join( '/', ('..') x (@rootdirs+@dirs) );
- my $htmlroot = join( '/',
- ($path2root,
- $self->installdirs eq 'core' ? () : qw(site) ) );
-
- my $fh = IO::File->new($infile) or die "Can't read $infile: $!";
- my $abstract = Module::Build::PodParser->new(fh => $fh)->get_abstract();
-
- my $title = join( '::', (@dirs, $name) );
- $title .= " - $abstract" if $abstract;
-
- my @opts = (
- '--flush',
- "--title=$title",
- "--podpath=$podpath",
- "--infile=$infile",
- "--outfile=$outfile",
- '--podroot=' . $self->blib,
- "--htmlroot=$htmlroot",
- );
-
- if ( eval{Pod::Html->VERSION(1.03)} ) {
- push( @opts, ('--header', '--backlink=Back to Top') );
- push( @opts, "--css=$path2root/" . $self->html_css) if $self->html_css;
+ $self->log_verbose("HTMLifying $infile -> $outfile\n");
+ if ( $with_ActiveState ) {
+ my $depth = @rootdirs + @dirs;
+ my %opts = ( infile => $infile,
+ outfile => $tmpfile,
+ podpath => $podpath,
+ podroot => $podroot,
+ index => 1,
+ depth => $depth,
+ );
+ eval {
+ ActivePerl::DocTools::Pod::pod2html(%opts);
+ 1;
+ } or $self->log_warn("[$htmltool] pod2html (" .
+ join(", ", map { "q{$_} => q{$opts{$_}}" } (keys %opts)) . ") failed: $@");
+ } else {
+ my $path2root = join( '/', ('..') x (@rootdirs+@dirs) );
+ my $fh = IO::File->new($infile) or die "Can't read $infile: $!";
+ my $abstract = Module::Build::PodParser->new(fh => $fh)->get_abstract();
+
+ my $title = join( '::', (@dirs, $name) );
+ $title .= " - $abstract" if $abstract;
+
+ my @opts = (
+ '--flush',
+ "--title=$title",
+ "--podpath=$podpath",
+ "--infile=$infile",
+ "--outfile=$tmpfile",
+ "--podroot=$podroot",
+ "--htmlroot=$path2root",
+ );
+
+ if ( eval{Pod::Html->VERSION(1.03)} ) {
+ push( @opts, ('--header', '--backlink=Back to Top') );
+ }
+
+ $self->log_verbose("P::H::pod2html @opts\n");
+ {
+ my $orig = Cwd::getcwd();
+ eval { Pod::Html::pod2html(@opts); 1 }
+ or $self->log_warn("[$htmltool] pod2html( " .
+ join(", ", map { "q{$_}" } @opts) . ") failed: $@");
+ chdir($orig);
+ }
+ }
+ # We now have to cleanup the resulting html file
+ if ( ! -r $tmpfile ) {
+ $errors++;
+ next POD;
}
+ my $fh = IO::File->new($tmpfile) or die "Can't read $tmpfile: $!";
+ my $html = join('',<$fh>);
+ $fh->close;
+ if (!$self->_is_ActivePerl) {
+ # These fixups are already done by AP::DT:P:pod2html
+ # The output from pod2html is NOT XHTML!
+ # IE6+ will display content that is not valid for DOCTYPE
+ $html =~ s#^<!DOCTYPE .*?>#<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">#im;
+ $html =~ s#<html xmlns="http://www.w3.org/1999/xhtml">#<html>#i;
+
+ # IE6+ will not display local HTML files with strict
+ # security without this comment
+ $html =~ s#<head>#<head>\n<!-- saved from url=(0017)http://localhost/ -->#i;
+ }
+ # Fixup links that point to our temp blib
+ $html =~ s/\Q$blibdir\E//g;
- $self->log_verbose("HTMLifying $infile -> $outfile\n");
- $self->log_verbose("pod2html @opts\n");
- eval { Pod::Html::pod2html(@opts); 1 }
- or $self->log_warn("pod2html @opts failed: $@");
+ $fh = IO::File->new(">$outfile") or die "Can't write $outfile: $!";
+ print $fh $html;
+ $fh->close;
+ unlink($tmpfile);
}
+ return ! $errors;
+
}
# Adapted from ExtUtils::MM_Unix
@@ -3285,7 +3524,7 @@ sub ACTION_diff {
delete $installmap->{read};
delete $installmap->{write};
- my $text_suffix = file_qr('\.(pm|pod)$');
+ my $text_suffix = $self->file_qr('\.(pm|pod)$');
while (my $localdir = each %$installmap) {
my @localparts = File::Spec->splitdir($localdir);
@@ -3323,7 +3562,35 @@ sub ACTION_install {
my ($self) = @_;
require ExtUtils::Install;
$self->depends_on('build');
- ExtUtils::Install::install($self->install_map, $self->verbose, 0, $self->{args}{uninst}||0);
+ # RT#63003 suggest that odd cirmstances that we might wind up
+ # in a different directory than we started, so wrap with _do_in_dir to
+ # ensure we get back to where we started; hope this fixes it!
+ $self->_do_in_dir( ".", sub {
+ ExtUtils::Install::install(
+ $self->install_map, $self->verbose, 0, $self->{args}{uninst}||0
+ );
+ });
+ if ($self->_is_ActivePerl && $self->{_completed_actions}{html}) {
+ $self->log_info("Building ActivePerl Table of Contents\n");
+ eval { ActivePerl::DocTools::WriteTOC(verbose => $self->verbose ? 1 : 0); 1; }
+ or $self->log_warn("AP::DT:: WriteTOC() failed: $@");
+ }
+ if ($self->_is_ActivePPM) {
+ # We touch 'lib/perllocal.pod'. There is an existing logic in subroutine _init_db()
+ # of 'ActivePerl/PPM/InstallArea.pm' that says that if 'lib/perllocal.pod' has a 'date-last-touched'
+ # greater than that of the PPM SQLite databases ('etc/ppm-perl-area.db' and/or
+ # 'site/etc/ppm-site-area.db') then the PPM SQLite databases are rebuilt from scratch.
+
+ # in the following line, 'perllocal.pod' this is *always* 'lib/perllocal.pod', never 'site/lib/perllocal.pod'
+ my $F_perllocal = File::Spec->catfile($self->install_sets('core', 'lib'), 'perllocal.pod');
+ my $dt_stamp = time;
+
+ $self->log_info("For ActivePerl's PPM: touch '$F_perllocal'\n");
+
+ open my $perllocal, ">>", $F_perllocal;
+ close $perllocal;
+ utime($dt_stamp, $dt_stamp, $F_perllocal);
+ }
}
sub ACTION_fakeinstall {
@@ -3390,8 +3657,13 @@ sub ACTION_installdeps {
# relative command should be relative to our active Perl
# so we need to locate that command
if ( ! File::Spec->file_name_is_absolute( $command ) ) {
+ # prefer site to vendor to core
+ my @loc = ( 'site', 'vendor', '' );
my @bindirs = File::Basename::dirname($self->perl);
- push @bindirs, map {$self->config->{"install${_}bin"}} '','site','vendor';
+ push @bindirs,
+ map {
+ ($self->config->{"install${_}bin"}, $self->config->{"install${_}script"})
+ } @loc;
for my $d ( @bindirs ) {
my $abs_cmd = $self->find_command(File::Spec->catfile( $d, $command ));
if ( defined $abs_cmd ) {
@@ -3421,7 +3693,7 @@ sub ACTION_realclean {
$self->depends_on('clean');
$self->log_info("Cleaning up configuration files\n");
$self->delete_filetree(
- $self->config_dir, $self->mymetafile, $self->build_script
+ $self->config_dir, $self->mymetafile, $self->mymetafile2, $self->build_script
);
}
@@ -3476,7 +3748,6 @@ sub ACTION_ppmdist {
}
foreach my $type ( qw(bin lib) ) {
- local $self->{properties}{html_css} = 'Active.css';
$self->htmlify_pods( $type, File::Spec->catdir($ppm, 'blib', 'html') );
}
@@ -3513,7 +3784,8 @@ sub ACTION_pardist {
sub ACTION_dist {
my ($self) = @_;
- $self->depends_on('distdir');
+ # MUST dispatch() and not depends_ok() so we generate a clean distdir
+ $self->dispatch('distdir');
my $dist_dir = $self->dist_dir;
@@ -3553,9 +3825,12 @@ sub _check_mymeta_skip {
my $mymetafile = $self->mymetafile;
# we can't check it, just add it anyway to be safe
- unless ( $skip_factory && $skip_factory->($maniskip)->($mymetafile) ) {
- $self->log_warn("File '$maniskip' does not include '$mymetafile'. Adding it now.\n");
- $self->_append_maniskip("^$mymetafile\$", $maniskip);
+ for my $file ( $self->mymetafile, $self->mymetafile2 ) {
+ unless ( $skip_factory && $skip_factory->($maniskip)->($file) ) {
+ $self->log_warn("File '$maniskip' does not include '$file'. Adding it now.\n");
+ my $safe = quotemeta($file);
+ $self->_append_maniskip("^$safe\$", $maniskip);
+ }
}
}
@@ -3609,7 +3884,7 @@ sub _sign_dir {
sub _do_in_dir {
my ($self, $dir, $do) = @_;
- my $start_dir = $self->cwd;
+ my $start_dir = File::Spec->rel2abs($self->cwd);
chdir $dir or die "Can't chdir() to $dir: $!";
eval {$do->()};
my @err = $@ ? ($@) : ();
@@ -3645,7 +3920,11 @@ sub do_create_makefile_pl {
my $self = shift;
require Module::Build::Compat;
$self->log_info("Creating Makefile.PL\n");
- Module::Build::Compat->create_makefile_pl($self->create_makefile_pl, $self, @_);
+ eval { Module::Build::Compat->create_makefile_pl($self->create_makefile_pl, $self, @_) };
+ if ( $@ ) {
+ 1 while unlink 'Makefile.PL';
+ die "$@\n";
+ }
$self->_add_to_manifest('MANIFEST', 'Makefile.PL');
}
@@ -3659,19 +3938,16 @@ sub do_create_license {
}
my $l = $self->license
- or die "No license specified";
-
- my $key = $self->valid_licenses->{$l}
- or die "'$l' isn't a license key we know about";
- my $class = "Software::License::$key";
+ or die "Can't create LICENSE file: No license specified\n";
- eval "use $class; 1"
- or die "Can't load Software::License::$key to create LICENSE file: $@";
+ my $license = $self->_software_license_object
+ or die << "HERE";
+Can't create LICENSE file: '$l' is not a valid license key
+or Software::License subclass;
+HERE
$self->delete_filetree('LICENSE');
- my $author = join " & ", @{ $self->dist_author };
- my $license = $class->new({holder => $author});
my $fh = IO::File->new('> LICENSE')
or die "Can't write LICENSE file: $!";
print $fh $license->fulltext;
@@ -3770,9 +4046,6 @@ sub ACTION_distdir {
$self->depends_on('distmeta');
- # Must not include MYMETA
- $self->_check_mymeta_skip('MANIFEST.SKIP');
-
my $dist_files = $self->_read_manifest('MANIFEST')
or die "Can't create distdir without a MANIFEST file - run 'manifest' action first.\n";
delete $dist_files->{SIGNATURE}; # Don't copy, create a fresh one
@@ -3788,6 +4061,7 @@ sub ACTION_distdir {
$self->add_to_cleanup($dist_dir);
foreach my $file (keys %$dist_files) {
+ next if $file =~ m{^MYMETA\.}; # Double check that we skip MYMETA.*
my $new = $self->copy_if_modified(from => $file, to_dir => $dist_dir, verbose => 0);
}
@@ -3815,6 +4089,22 @@ sub ACTION_disttest {
});
}
+sub ACTION_distinstall {
+ my ($self, @args) = @_;
+
+ $self->depends_on('distdir');
+
+ $self->_do_in_dir ( $self->dist_dir,
+ sub {
+ $self->run_perl_script('Build.PL')
+ or die "Error executing 'Build.PL' in dist directory: $!";
+ $self->run_perl_script('Build')
+ or die "Error executing 'Build' in dist directory: $!";
+ $self->run_perl_script('Build', [], ['install'])
+ or die "Error executing 'Build install' in dist directory";
+ }
+ );
+}
=begin private
@@ -3873,12 +4163,33 @@ Reads $file and returns the $content.
sub _slurp {
my $self = shift;
my $file = shift;
- open my $fh, "<", $file or croak "Can't open $file: $!";
+ my $mode = shift || "";
+ open my $fh, "<$mode", $file or croak "Can't open $file for reading: $!";
local $/;
return <$fh>;
}
+sub _spew {
+ my $self = shift;
+ my $file = shift;
+ my $content = shift || "";
+ my $mode = shift || "";
+ open my $fh, ">$mode", $file or croak "Can't open $file for writing: $!";
+ print {$fh} $content;
+ close $fh;
+}
+sub _case_tolerant {
+ my $self = shift;
+ if ( ref $self ) {
+ $self->{_case_tolerant} = File::Spec->case_tolerant
+ unless defined($self->{_case_tolerant});
+ return $self->{_case_tolerant};
+ }
+ else {
+ return File::Spec->case_tolerant;
+ }
+}
sub _append_maniskip {
my $self = shift;
@@ -3933,7 +4244,7 @@ sub _check_manifest_skip {
if ( ! -e $maniskip ) {
$self->log_warn("File '$maniskip' does not exist: Creating a temporary '$maniskip'\n");
$self->_write_default_maniskip($maniskip);
- $self->add_to_cleanup($maniskip);
+ $self->_unlink_on_exit($maniskip);
}
else {
# MYMETA must not be added to MANIFEST, so always confirm the skip
@@ -3953,14 +4264,28 @@ sub ACTION_manifest {
ExtUtils::Manifest::mkmanifest();
}
+sub ACTION_manifest_skip {
+ my ($self) = @_;
+
+ if ( -e 'MANIFEST.SKIP' ) {
+ $self->log_warn("MANIFEST.SKIP already exists.\n");
+ return 0;
+ }
+ $self->log_info("Creating a new MANIFEST.SKIP file\n");
+ return $self->_write_default_maniskip;
+ return -e 'MANIFEST.SKIP'
+}
+
# Case insensitive regex for files
sub file_qr {
- return File::Spec->case_tolerant ? qr($_[0])i : qr($_[0]);
+ return shift->{_case_tolerant} ? qr($_[0])i : qr($_[0]);
}
sub dist_dir {
my ($self) = @_;
- return join "-", $self->dist_name, $self->dist_version;
+ my $dir = join "-", $self->dist_name, $self->dist_version;
+ $dir .= "-" . $self->dist_suffix if $self->dist_suffix;
+ return $dir;
}
sub ppm_name {
@@ -4058,13 +4383,13 @@ sub script_files {
}
my %pl_files = map {
- File::Spec->canonpath( File::Spec->case_tolerant ? uc $_ : $_ ) => 1
+ File::Spec->canonpath( $_ ) => 1
} keys %{ $self->PL_files || {} };
my @bin_files = $self->_files_in('bin');
my %bin_map = map {
- $_ => File::Spec->canonpath( File::Spec->case_tolerant ? uc $_ : $_ )
+ $_ => File::Spec->canonpath( $_ )
} @bin_files;
return $_ = { map {$_ => 1} grep !$pl_files{$bin_map{$_}}, @bin_files };
@@ -4123,6 +4448,32 @@ BEGIN { *scripts = \&script_files; }
}
}
+# use mapping or license name directly
+sub _software_license_object {
+ my ($self) = @_;
+ return unless defined( my $license = $self->license );
+
+ my $class;
+ LICENSE: for my $l ( $self->valid_licenses->{ $license }, $license ) {
+ next unless defined $l;
+ my $trial = "Software::License::" . $l;
+ if ( eval "require Software::License; Software::License->VERSION(0.014); require $trial; 1" ) {
+ $class = $trial;
+ last LICENSE;
+ }
+ }
+ return unless defined $class;
+
+ # Software::License requires a 'holder' argument
+ my $author = join( " & ", @{ $self->dist_author }) || 'unknown';
+ my $sl = eval { $class->new({holder=>$author}) };
+ if ( $@ ) {
+ $self->log_warn( "Error getting '$class' object: $@" );
+ }
+
+ return $sl;
+}
+
sub _hash_merge {
my ($self, $h, $k, $v) = @_;
if (ref $h->{$k} eq 'ARRAY') {
@@ -4136,7 +4487,6 @@ sub _hash_merge {
sub ACTION_distmeta {
my ($self) = @_;
-
$self->do_create_makefile_pl if $self->create_makefile_pl;
$self->do_create_readme if $self->create_readme;
$self->do_create_license if $self->create_license;
@@ -4148,19 +4498,15 @@ sub do_create_metafile {
return if $self->{wrote_metadata};
my $p = $self->{properties};
- my $metafile = $self->metafile;
unless ($p->{license}) {
$self->log_warn("No license specified, setting license = 'unknown'\n");
$p->{license} = 'unknown';
}
- unless (exists $self->valid_licenses->{ $p->{license} }) {
- die "Unknown license type '$p->{license}'";
- }
+ my @metafiles = ( $self->metafile, $self->metafile2 );
# If we're in the distdir, the metafile may exist and be non-writable.
- $self->delete_filetree($metafile);
- $self->log_info("Creating $metafile\n");
+ $self->delete_filetree($_) for @metafiles;
# Since we're building ourself, we have to do some special stuff
# here: the ConfigData module is found in blib/lib.
@@ -4170,49 +4516,85 @@ sub do_create_metafile {
push @INC, File::Spec->catdir($self->blib, 'lib');
}
- if ($self->write_metafile($self->metafile,$self->get_metadata(fatal=>1))){
+ my $meta_obj = $self->_get_meta_object(
+ quiet => 1, fatal => 1, auto => 1
+ );
+ my @created = $self->_write_meta_files( $meta_obj, 'META' );
+ if ( @created ) {
$self->{wrote_metadata} = 1;
- $self->_add_to_manifest('MANIFEST', $metafile);
+ $self->_add_to_manifest('MANIFEST', $_) for @created;
}
-
return 1;
}
-sub read_metafile {
+sub _write_meta_files {
my $self = shift;
- my ($metafile) = @_;
- my $yaml;
+ my ($meta, $file) = @_;
+ $file =~ s{\.(?:yml|json)$}{};
+
+ my @created;
+ push @created, "$file\.yml"
+ if $meta && $meta->save( "$file\.yml", {version => "1.4"} );
+ push @created, "$file\.json"
+ if $meta && $meta->save( "$file\.json" );
+
+ if ( @created ) {
+ $self->log_info("Created " . join(" and ", @created) . "\n");
+ }
+ return @created;
+}
+
+sub _get_meta_object {
+ my $self = shift;
+ my %args = @_;
+ return unless $self->try_require("CPAN::Meta", "2.110420");
+
+ my $meta;
+ eval {
+ my $data = $self->get_metadata(
+ fatal => $args{fatal},
+ auto => $args{auto},
+ );
+ $data->{dynamic_config} = $args{dynamic} if defined $args{dynamic};
+ $meta = CPAN::Meta->create( $data );
+ };
+ if ($@ && ! $args{quiet}) {
+ $self->log_warn(
+ "Could not get valid metadata. Error is: $@\n"
+ );
+ }
- my $class = $self->_mb_feature('YAML_support')
- ? 'YAML::Tiny' : 'Module::Build::YAML' ;
+ return $meta;
+}
- eval "require $class; 1" or die $@;
- my $meta = $class->read($metafile)
- or $self->log_warn( "Error reading '$metafile': " . $class->errstr . "\n");
+# We return a version 1.4 structure for backwards compatibility
+sub read_metafile {
+ my $self = shift;
+ my ($metafile) = @_;
- return $meta->[0] || {};
+ return unless $self->try_require("CPAN::Meta", "2.110420");
+ my $meta = CPAN::Meta->load_file($metafile);
+ return $meta->as_struct( {version => "1.4"} );
}
+# For legacy compatibility, we upconvert a 1.4 data structure, ensuring
+# validity, and then downconvert it back to save it.
+#
+# generally, this code should no longer be used
sub write_metafile {
my $self = shift;
- my ($metafile, $node) = @_;
- my $yaml;
+ my ($metafile, $struct) = @_;
- if ($self->_mb_feature('YAML_support')) {
- # XXX this is probably redundant, but stick with it
- require YAML::Tiny;
- $yaml = YAML::Tiny->new($node);
- } else {
- require Module::Build::YAML;
- $yaml = Module::Build::YAML->new($node);
- }
- my $result = $yaml->write($metafile)
- or $self->log_warn( "Error writing '$metafile': " . $yaml->errstr . "\n");
- return $result;
+ return unless $self->try_require("CPAN::Meta", "2.110420");
+
+ my $meta = CPAN::Meta->new( $struct );
+ return $meta->save( $metafile, { version => "1.4" } );
}
sub normalize_version {
my ($self, $version) = @_;
+ $version = 0 unless defined $version and length $version;
+
if ( $version =~ /[=<>!,]/ ) { # logic, not just version
# take as is without modification
}
@@ -4247,7 +4629,6 @@ sub _normalize_prereqs {
return \%prereq_types;
}
-
# wrapper around old prepare_metadata API;
sub get_metadata {
my ($self, %args) = @_;
@@ -4270,6 +4651,8 @@ sub prepare_metadata {
my $fatal = $args->{fatal} || 0;
my $p = $self->{properties};
+ $self->auto_config_requires if $args->{auto};
+
# A little helper sub
my $add_node = sub {
my ($name, $val) = @_;
@@ -4277,11 +4660,11 @@ sub prepare_metadata {
push @$keys, $name if $keys;
};
- foreach (qw(dist_name dist_version dist_author dist_abstract license)) {
- (my $name = $_) =~ s/^dist_//;
- $add_node->($name, $self->$_());
- unless ( defined($node->{$name}) && length($node->{$name}) ) {
- my $err = "ERROR: Missing required field '$_' for metafile\n";
+ # validate required fields
+ foreach my $f (qw(dist_name dist_version dist_author dist_abstract license)) {
+ my $field = $self->$f();
+ unless ( defined $field and length $field ) {
+ my $err = "ERROR: Missing required field '$f' for metafile\n";
if ( $fatal ) {
die $err;
}
@@ -4290,33 +4673,46 @@ sub prepare_metadata {
}
}
}
+
+
+ # add dist_* fields
+ foreach my $f (qw(dist_name dist_version dist_author dist_abstract)) {
+ (my $name = $f) =~ s/^dist_//;
+ $add_node->($name, $self->$f());
+ }
+
+ # normalize version
$node->{version} = $self->normalize_version($node->{version});
- if (defined( my $l = $self->license )) {
- unless ( exists $self->valid_licenses->{ $l } ) {
- my $err = "Unknown license string '$l'";
- if ( $fatal ) {
- die $err;
- }
- else {
- $self->log_warn($err);
- }
- }
+ # validate license information
+ my $license = $self->license;
+ my ($meta_license, $meta_license_url);
- if (my $key = $self->valid_licenses->{ $l }) {
- my $class = "Software::License::$key";
- if (eval "require Software::License; require $class; 1") {
- # S::L requires a 'holder' key
- $node->{resources}{license} = $class->new({holder=>"nobody"})->url;
- }
- else {
- $node->{resources}{license} = $self->_license_url($l);
- }
- }
- # XXX we are silently omitting the url for any unknown license
+ # XXX this is still meta spec version 1 stuff
+
+ # if Software::License::* exists, then we can use it to get normalized name
+ # for META files
+
+ if ( my $sl = $self->_software_license_object ) {
+ $meta_license = $sl->meta_name;
+ $meta_license_url = $sl->url;
+ }
+ elsif ( exists $self->valid_licenses()->{$license} ) {
+ $meta_license = $license;
+ $meta_license_url = $self->_license_url( $license );
+ }
+ else {
+ # if we didn't find a license from a Software::License class,
+ # then treat it as unknown
+ $self->log_warn( "Can not determine license type for '" . $self->license
+ . "'\nSetting META license field to 'unknown'.\n");
+ $meta_license = 'unknown';
}
+ $node->{license} = $meta_license;
+ $node->{resources}{license} = $meta_license_url if defined $meta_license_url;
+ # add prerequisite data
my $prereqs = $self->_normalize_prereqs;
for my $t ( keys %$prereqs ) {
$add_node->($t, $prereqs->{$t});
@@ -4385,6 +4781,8 @@ sub find_dist_packages {
return $self->find_packages_in_files(\@pm_files, \%dist_files);
}
+# XXX Do not document this function; mst wrote it and now says the API is
+# stupid and needs to be fixed and it shouldn't become a public API until then
sub find_packages_in_files {
my ($self, $file_list, $filename_map) = @_;
@@ -4791,6 +5189,13 @@ sub install_map {
my $localdir = File::Spec->catdir( $blib, $type );
next unless -e $localdir;
+ # the line "...next if (($type eq 'bindoc'..." was one of many changes introduced for
+ # improving HTML generation on ActivePerl, see https://rt.cpan.org/Public/Bug/Display.html?id=53478
+ # Most changes were ok, but this particular line caused test failures in t/manifypods.t on windows,
+ # therefore it is commented out.
+
+ # ********* next if (($type eq 'bindoc' || $type eq 'libdoc') && not $self->is_unixish);
+
if (my $dest = $self->install_destination($type)) {
$map{$localdir} = $dest;
} else {
@@ -5234,7 +5639,7 @@ sub dir_contains {
return 0 if @second_dirs < @first_dirs;
- my $is_same = ( File::Spec->case_tolerant
+ my $is_same = ( $self->_case_tolerant
? sub {lc(shift()) eq lc(shift())}
: sub {shift() eq shift()} );
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
index 95d695f6f56..1863b55ab75 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
@@ -2,7 +2,7 @@ package Module::Build::Compat;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
use File::Basename ();
use File::Spec;
@@ -65,10 +65,6 @@ my %macro_to_build = %makefile_to_build;
# "LIB=foo make" is not the same as "perl Makefile.PL LIB=foo"
delete $macro_to_build{LIB};
-sub _simple_prereq {
- return $_[0] =~ /^[0-9_]+\.?[0-9_]*$/; # crudly, a decimal literal
-}
-
sub _merge_prereq {
my ($req, $breq) = @_;
$req ||= {};
@@ -78,8 +74,18 @@ sub _merge_prereq {
for my $p ( $req, $breq ) {
for my $k (keys %$p) {
next if $k eq 'perl';
- die "Prereq '$p->{$k}' for '$k' is not supported by Module::Build::Compat\n"
- unless _simple_prereq($p->{$k});
+
+ my $v_obj = eval { Module::Build::Version->new($p->{$k}) };
+ if ( ! defined $v_obj ) {
+ die "A prereq of the form '$p->{$k}' for '$k' is not supported by Module::Build::Compat ( use a simpler version like '0.05' or 'v1.4.25' )\n";
+ }
+
+ # It seems like a lot of people trip over "0.1.2" stuff, so we help them here...
+ if ( $v_obj->is_qv ) {
+ my $proper_ver = $v_obj->numify;
+ warn "Dotted-decimal prereq '$p->{$k}' for '$k' is not portable - converting it to '$proper_ver'\n";
+ $p->{$k} = $proper_ver;
+ }
}
}
# merge
@@ -201,7 +207,7 @@ EOF
} elsif ($type eq 'traditional') {
my (%MM_Args, %prereq);
- if (eval "use Tie::IxHash; 1") {
+ if (eval "use Tie::IxHash 1.2; 1") {
tie %MM_Args, 'Tie::IxHash'; # Don't care if it fails here
tie %prereq, 'Tie::IxHash'; # Don't care if it fails here
}
@@ -444,7 +450,6 @@ __END__
Module::Build::Compat - Compatibility with ExtUtils::MakeMaker
-
=head1 SYNOPSIS
# In a Build.PL :
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
index 997960073fd..b36e76798fe 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
@@ -2,7 +2,7 @@ package Module::Build::Config;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm b/Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm
index 15114ee072b..85fa28d869b 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/ConfigData.pm
@@ -181,12 +181,6 @@ do{ my $x = [
},
'description' => 'Bundle Module::Build in inc/'
},
- 'YAML_support' => {
- 'requires' => {
- 'YAML::Tiny' => '1.38'
- },
- 'description' => 'Use YAML::Tiny to write META.yml files'
- },
'manpage_support' => {
'requires' => {
'Pod::Man' => 0
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
index a68dca540ab..9ead1653a50 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
@@ -1,7 +1,7 @@
package Module::Build::Cookbook;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
index 2a9bad1b637..df459859985 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
@@ -1,7 +1,7 @@
package Module::Build::Dumper;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
# This is just a split-out of a wrapper function to do Data::Dumper
# stuff "the right way". See:
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
index 053ae18d523..e15c010166b 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
@@ -2,390 +2,13 @@
# vim:ts=8:sw=2:et:sta:sts=2
package Module::Build::ModuleInfo;
-# This module provides routines to gather information about
-# perl modules (assuming this may be expanded in the distant
-# parrot future to look at other types of modules).
-
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
-use File::Spec;
-use IO::File;
-use Module::Build::Version;
-
-my $V_NUM_REGEXP = qr{v?[0-9._]+}; # crudely, a v-string or decimal
-
-my $PKG_REGEXP = qr{ # match a package declaration
- ^[\s\{;]* # intro chars on a line
- package # the word 'package'
- \s+ # whitespace
- ([\w:]+) # a package name
- \s* # optional whitespace
- ($V_NUM_REGEXP)? # optional version number
- \s* # optional whitesapce
- ; # semicolon line terminator
-}x;
-
-my $VARNAME_REGEXP = qr{ # match fully-qualified VERSION name
- ([\$*]) # sigil - $ or *
- (
- ( # optional leading package name
- (?:::|\')? # possibly starting like just :: (Ì la $::VERSION)
- (?:\w+(?:::|\'))* # Foo::Bar:: ...
- )?
- VERSION
- )\b
-}x;
-
-my $VERS_REGEXP = qr{ # match a VERSION definition
- (?:
- \(\s*$VARNAME_REGEXP\s*\) # with parens
- |
- $VARNAME_REGEXP # without parens
- )
- \s*
- =[^=~] # = but not ==, nor =~
-}x;
-
-
-sub new_from_file {
- my $class = shift;
- my $filename = File::Spec->rel2abs( shift );
-
- return undef unless defined( $filename ) && -f $filename;
- return $class->_init(undef, $filename, @_);
-}
-
-sub new_from_module {
- my $class = shift;
- my $module = shift;
- my %props = @_;
-
- $props{inc} ||= \@INC;
- my $filename = $class->find_module_by_name( $module, $props{inc} );
- return undef unless defined( $filename ) && -f $filename;
- return $class->_init($module, $filename, %props);
-}
-
-sub _init {
- my $class = shift;
- my $module = shift;
- my $filename = shift;
- my %props = @_;
-
- my( %valid_props, @valid_props );
- @valid_props = qw( collect_pod inc );
- @valid_props{@valid_props} = delete( @props{@valid_props} );
- warn "Unknown properties: @{[keys %props]}\n" if scalar( %props );
-
- my %data = (
- module => $module,
- filename => $filename,
- version => undef,
- packages => [],
- versions => {},
- pod => {},
- pod_headings => [],
- collect_pod => 0,
-
- %valid_props,
- );
-
- my $self = bless(\%data, $class);
-
- $self->_parse_file();
-
- unless($self->{module} and length($self->{module})) {
- my ($v, $d, $f) = File::Spec->splitpath($self->{filename});
- if($f =~ /\.pm$/) {
- $f =~ s/\..+$//;
- my @candidates = grep /$f$/, @{$self->{packages}};
- $self->{module} = shift(@candidates); # punt
- }
- else {
- if(grep /main/, @{$self->{packages}}) {
- $self->{module} = 'main';
- }
- else {
- $self->{module} = $self->{packages}[0] || '';
- }
- }
- }
-
- $self->{version} = $self->{versions}{$self->{module}}
- if defined( $self->{module} );
-
- return $self;
-}
-
-# class method
-sub _do_find_module {
- my $class = shift;
- my $module = shift || die 'find_module_by_name() requires a package name';
- my $dirs = shift || \@INC;
-
- my $file = File::Spec->catfile(split( /::/, $module));
- foreach my $dir ( @$dirs ) {
- my $testfile = File::Spec->catfile($dir, $file);
- return [ File::Spec->rel2abs( $testfile ), $dir ]
- if -e $testfile and !-d _; # For stuff like ExtUtils::xsubpp
- return [ File::Spec->rel2abs( "$testfile.pm" ), $dir ]
- if -e "$testfile.pm";
- }
- return;
-}
-
-# class method
-sub find_module_by_name {
- my $found = shift()->_do_find_module(@_) or return;
- return $found->[0];
-}
-
-# class method
-sub find_module_dir_by_name {
- my $found = shift()->_do_find_module(@_) or return;
- return $found->[1];
-}
-
-
-# given a line of perl code, attempt to parse it if it looks like a
-# $VERSION assignment, returning sigil, full name, & package name
-sub _parse_version_expression {
- my $self = shift;
- my $line = shift;
-
- my( $sig, $var, $pkg );
- if ( $line =~ $VERS_REGEXP ) {
- ( $sig, $var, $pkg ) = $2 ? ( $1, $2, $3 ) : ( $4, $5, $6 );
- if ( $pkg ) {
- $pkg = ($pkg eq '::') ? 'main' : $pkg;
- $pkg =~ s/::$//;
- }
- }
-
- return ( $sig, $var, $pkg );
-}
-
-sub _parse_file {
- my $self = shift;
-
- my $filename = $self->{filename};
- my $fh = IO::File->new( $filename )
- or die( "Can't open '$filename': $!" );
-
- $self->_parse_fh($fh);
-}
-
-sub _parse_fh {
- my ($self, $fh) = @_;
-
- my( $in_pod, $seen_end, $need_vers ) = ( 0, 0, 0 );
- my( @pkgs, %vers, %pod, @pod );
- my $pkg = 'main';
- my $pod_sect = '';
- my $pod_data = '';
-
- while (defined( my $line = <$fh> )) {
- my $line_num = $.;
-
- chomp( $line );
- next if $line =~ /^\s*#/;
-
- $in_pod = ($line =~ /^=(?!cut)/) ? 1 : ($line =~ /^=cut/) ? 0 : $in_pod;
-
- # Would be nice if we could also check $in_string or something too
- last if !$in_pod && $line =~ /^__(?:DATA|END)__$/;
-
- if ( $in_pod || $line =~ /^=cut/ ) {
-
- if ( $line =~ /^=head\d\s+(.+)\s*$/ ) {
- push( @pod, $1 );
- if ( $self->{collect_pod} && length( $pod_data ) ) {
- $pod{$pod_sect} = $pod_data;
- $pod_data = '';
- }
- $pod_sect = $1;
-
-
- } elsif ( $self->{collect_pod} ) {
- $pod_data .= "$line\n";
-
- }
-
- } else {
-
- $pod_sect = '';
- $pod_data = '';
-
- # parse $line to see if it's a $VERSION declaration
- my( $vers_sig, $vers_fullname, $vers_pkg ) =
- $self->_parse_version_expression( $line );
-
- if ( $line =~ $PKG_REGEXP ) {
- $pkg = $1;
- push( @pkgs, $pkg ) unless grep( $pkg eq $_, @pkgs );
- $vers{$pkg} = (defined $2 ? $2 : undef) unless exists( $vers{$pkg} );
- $need_vers = defined $2 ? 0 : 1;
-
- # VERSION defined with full package spec, i.e. $Module::VERSION
- } elsif ( $vers_fullname && $vers_pkg ) {
- push( @pkgs, $vers_pkg ) unless grep( $vers_pkg eq $_, @pkgs );
- $need_vers = 0 if $vers_pkg eq $pkg;
-
- unless ( defined $vers{$vers_pkg} && length $vers{$vers_pkg} ) {
- $vers{$vers_pkg} =
- $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
- } else {
- # Warn unless the user is using the "$VERSION = eval
- # $VERSION" idiom (though there are probably other idioms
- # that we should watch out for...)
- warn <<"EOM" unless $line =~ /=\s*eval/;
-Package '$vers_pkg' already declared with version '$vers{$vers_pkg}',
-ignoring subsequent declaration on line $line_num.
-EOM
- }
-
- # first non-comment line in undeclared package main is VERSION
- } elsif ( !exists($vers{main}) && $pkg eq 'main' && $vers_fullname ) {
- $need_vers = 0;
- my $v =
- $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
- $vers{$pkg} = $v;
- push( @pkgs, 'main' );
-
- # first non-comment line in undeclared package defines package main
- } elsif ( !exists($vers{main}) && $pkg eq 'main' && $line =~ /\w+/ ) {
- $need_vers = 1;
- $vers{main} = '';
- push( @pkgs, 'main' );
-
- # only keep if this is the first $VERSION seen
- } elsif ( $vers_fullname && $need_vers ) {
- $need_vers = 0;
- my $v =
- $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
-
-
- unless ( defined $vers{$pkg} && length $vers{$pkg} ) {
- $vers{$pkg} = $v;
- } else {
- warn <<"EOM";
-Package '$pkg' already declared with version '$vers{$pkg}'
-ignoring new version '$v' on line $line_num.
-EOM
- }
-
- }
-
- }
-
- }
-
- if ( $self->{collect_pod} && length($pod_data) ) {
- $pod{$pod_sect} = $pod_data;
- }
-
- $self->{versions} = \%vers;
- $self->{packages} = \@pkgs;
- $self->{pod} = \%pod;
- $self->{pod_headings} = \@pod;
-}
-
-{
-my $pn = 0;
-sub _evaluate_version_line {
- my $self = shift;
- my( $sigil, $var, $line ) = @_;
-
- # Some of this code came from the ExtUtils:: hierarchy.
-
- # We compile into $vsub because 'use version' would cause
- # compiletime/runtime issues with local()
- my $vsub;
- $pn++; # everybody gets their own package
- my $eval = qq{BEGIN { q# Hide from _packages_inside()
- #; package Module::Build::ModuleInfo::_version::p$pn;
- use Module::Build::Version;
- no strict;
-
- local $sigil$var;
- \$$var=undef;
- \$vsub = sub {
- $line;
- \$$var
- };
- }};
-
- local $^W;
- # Try to get the $VERSION
- eval $eval;
- # some modules say $VERSION = $Foo::Bar::VERSION, but Foo::Bar isn't
- # installed, so we need to hunt in ./lib for it
- if ( $@ =~ /Can't locate/ && -d 'lib' ) {
- local @INC = ('lib',@INC);
- eval $eval;
- }
- warn "Error evaling version line '$eval' in $self->{filename}: $@\n"
- if $@;
- (ref($vsub) eq 'CODE') or
- die "failed to build version sub for $self->{filename}";
- my $result = eval { $vsub->() };
- die "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
- if $@;
-
- # Activestate apparently creates custom versions like '1.23_45_01', which
- # cause M::B::Version to think it's an invalid alpha. So check for that
- # and strip them
- my $num_dots = () = $result =~ m{\.}g;
- my $num_unders = () = $result =~ m{_}g;
- if ( substr($result,0,1) ne 'v' && $num_dots < 2 && $num_unders > 1 ) {
- $result =~ s{_}{}g;
- }
-
- # Bless it into our own version class
- eval { $result = Module::Build::Version->new($result) };
- die "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
- if $@;
-
- return $result;
-}
-}
-
-
-############################################################
-
-# accessors
-sub name { $_[0]->{module} }
-
-sub filename { $_[0]->{filename} }
-sub packages_inside { @{$_[0]->{packages}} }
-sub pod_inside { @{$_[0]->{pod_headings}} }
-sub contains_pod { $#{$_[0]->{pod_headings}} }
-
-sub version {
- my $self = shift;
- my $mod = shift || $self->{module};
- my $vers;
- if ( defined( $mod ) && length( $mod ) &&
- exists( $self->{versions}{$mod} ) ) {
- return $self->{versions}{$mod};
- } else {
- return undef;
- }
-}
-
-sub pod {
- my $self = shift;
- my $sect = shift;
- if ( defined( $sect ) && length( $sect ) &&
- exists( $self->{pod}{$sect} ) ) {
- return $self->{pod}{$sect};
- } else {
- return undef;
- }
-}
+require Module::Metadata;
+our @ISA = qw/Module::Metadata/;
1;
@@ -395,97 +18,17 @@ __END__
=head1 NAME
-ModuleInfo - Gather package and POD information from a perl module file
-
+Module::Build::ModuleInfo - DEPRECATED
=head1 DESCRIPTION
-=over 4
-
-=item new_from_file($filename, collect_pod => 1)
-
-Construct a C<ModuleInfo> object given the path to a file. Takes an optional
-argument C<collect_pod> which is a boolean that determines whether
-POD data is collected and stored for reference. POD data is not
-collected by default. POD headings are always collected.
-
-=item new_from_module($module, collect_pod => 1, inc => \@dirs)
-
-Construct a C<ModuleInfo> object given a module or package name. In addition
-to accepting the C<collect_pod> argument as described above, this
-method accepts a C<inc> argument which is a reference to an array of
-of directories to search for the module. If none are given, the
-default is @INC.
-
-=item name()
-
-Returns the name of the package represented by this module. If there
-are more than one packages, it makes a best guess based on the
-filename. If it's a script (i.e. not a *.pm) the package name is
-'main'.
-
-=item version($package)
-
-Returns the version as defined by the $VERSION variable for the
-package as returned by the C<name> method if no arguments are
-given. If given the name of a package it will attempt to return the
-version of that package if it is specified in the file.
-
-=item filename()
-
-Returns the absolute path to the file.
-
-=item packages_inside()
-
-Returns a list of packages.
-
-=item pod_inside()
-
-Returns a list of POD sections.
-
-=item contains_pod()
-
-Returns true if there is any POD in the file.
-
-=item pod($section)
-
-Returns the POD data in the given section.
-
-=item find_module_by_name($module, \@dirs)
-
-Returns the path to a module given the module or package name. A list
-of directories can be passed in as an optional parameter, otherwise
-@INC is searched.
-
-Can be called as either an object or a class method.
-
-=item find_module_dir_by_name($module, \@dirs)
-
-Returns the entry in C<@dirs> (or C<@INC> by default) that contains
-the module C<$module>. A list of directories can be passed in as an
-optional parameter, otherwise @INC is searched.
-
-Can be called as either an object or a class method.
-
-=back
-
-
-=head1 AUTHOR
-
-Ken Williams <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>
-
-
-=head1 COPYRIGHT
-
-Copyright (c) 2001-2006 Ken Williams. All rights reserved.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
+This module has been extracted into a separate distribution and renamed
+L<Module::Metadata>. This module is kept as a subclass wrapper for
+compatibility.
=head1 SEE ALSO
-perl(1), L<Module::Build>(3)
+perl(1), L<Module::Build>, L<Module::Metadata>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
index cf85d4ee3d3..1165799da41 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
@@ -4,7 +4,7 @@ package Module::Build::Notes;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Data::Dumper;
use IO::File;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
index 977b4370d91..20f0b61ccdf 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
@@ -5,7 +5,7 @@ use Config;
use vars qw($VERSION);
use IO::File;
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
# This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
@@ -154,7 +154,6 @@ __END__
Module::Build::PPMMaker - Perl Package Manager file creation
-
=head1 SYNOPSIS
On the command line, builds a .ppd file:
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
index 9356325c9f4..a4b95414f84 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Amiga;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
index 8d46fc47d56..b4d2ca2f4a4 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Default;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
index 140e27872aa..a030ba9573b 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::EBCDIC;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
index 66bbdc95da6..33fae1c5a7f 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::MPEiX;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
index b80781bd955..fc205d3610d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::MacOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
use vars qw(@ISA);
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
index 95e31515876..94f84580e1d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::RiscOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
index 0be5fc7df07..956c64e4e7a 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
index f406b7afb6f..bf2118b23b2 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::VMS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
use Config;
@@ -77,10 +77,29 @@ Prefixify taking into account VMS' filepath syntax.
=cut
# Translated from ExtUtils::MM_VMS::prefixify()
+
+sub _catprefix {
+ my($self, $rprefix, $default) = @_;
+
+ my($rvol, $rdirs) = File::Spec->splitpath($rprefix);
+ if( $rvol ) {
+ return File::Spec->catpath($rvol,
+ File::Spec->catdir($rdirs, $default),
+ ''
+ )
+ }
+ else {
+ return File::Spec->catdir($rdirs, $default);
+ }
+}
+
+
sub _prefixify {
my($self, $path, $sprefix, $type) = @_;
my $rprefix = $self->prefix;
+ return '' unless defined $path;
+
$self->log_verbose(" prefixify $path from $sprefix to $rprefix\n");
# Translate $(PERLPREFIX) to a real path.
@@ -90,7 +109,7 @@ sub _prefixify {
$self->log_verbose(" rprefix translated to $rprefix\n".
" sprefix translated to $sprefix\n");
- if( length $path == 0 ) {
+ if( length($path) == 0 ) {
$self->log_verbose(" no path to prefixify.\n")
}
elsif( !File::Spec->file_name_is_absolute($path) ) {
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
index 001a9507d44..fd809c0163b 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::VOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
index 1e248a75c5f..2924f9d0007 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Windows;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
index dab064805d3..59eec0d36d0 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::aix;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
index eb45b62f0e6..7b7680488c9 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::cygwin;
use strict;
use vars qw($VERSION);
-$VERSION = '0.360301'; # patched in bleadperl
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
@@ -14,9 +14,9 @@ sub manpage_separator {
}
# Copied from ExtUtils::MM_Cygwin::maybe_command()
-# If our path begins with F</cygdrive/> then we use M::B::Platform::Windows
+# If our path begins with F</cygdrive/> then we use the Windows version
# to determine if it may be a command. Otherwise we use the tests
-# from M::B::Platform::Unix.
+# from C<ExtUtils::MM_Unix>.
sub _maybe_command {
my ($self, $file) = @_;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
index c2f3126c440..5c9a1770bb4 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::darwin;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
index be164ae980b..b78d153ee04 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::os2;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm b/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
index 225450c6b98..5bba10aae38 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
@@ -2,7 +2,7 @@ package Module::Build::PodParser;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use vars qw(@ISA);
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Version.pm b/Master/tlpkg/tlperl/lib/Module/Build/Version.pm
index 21abe00cbe0..e659712ddb1 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Version.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Version.pm
@@ -1,684 +1,21 @@
package Module::Build::Version;
use strict;
-
use vars qw($VERSION);
-$VERSION = 0.77;
-
-eval "use version $VERSION";
-if ($@) { # can't locate version files, use our own
-
- # Avoid redefined warnings if an old version.pm was available
- delete $version::{$_} foreach keys %version::;
-
- # first we get the stub version module
- my $version;
- while (<DATA>) {
- s/(\$VERSION)\s=\s\d+/\$VERSION = 0/;
- $version .= $_ if $_;
- last if /^1;$/;
- }
-
- # and now get the current version::vpp code
- my $vpp;
- while (<DATA>) {
- s/(\$VERSION)\s=\s\d+/\$VERSION = 0/;
- $vpp .= $_ if $_;
- last if /^1;$/;
- }
-
- # but we eval them in reverse order since version depends on
- # version::vpp to already exist
- eval $vpp; die $@ if $@;
- $INC{'version/vpp.pm'} = 'inside Module::Build::Version';
- eval $version; die $@ if $@;
- $INC{'version.pm'} = 'inside Module::Build::Version';
-}
-
-# now we can safely subclass version, installed or not
-use vars qw(@ISA);
-@ISA = qw(version);
-
-1;
-__DATA__
-# stub version module to make everything else happy
-package version;
-
-use 5.005_04;
-use strict;
-
-use vars qw(@ISA $VERSION $CLASS *declare *qv);
-
-$VERSION = 0.77;
-
-$CLASS = 'version';
-
-push @ISA, "version::vpp";
-local $^W;
-*version::qv = \&version::vpp::qv;
-*version::declare = \&version::vpp::declare;
-*version::_VERSION = \&version::vpp::_VERSION;
-if ($] > 5.009001 && $] <= 5.010000) {
- no strict 'refs';
- *{'version::stringify'} = \*version::vpp::stringify;
- *{'version::(""'} = \*version::vpp::stringify;
- *{'version::new'} = \*version::vpp::new;
-}
-
-# Preloaded methods go here.
-sub import {
- no strict 'refs';
- my ($class) = shift;
-
- # Set up any derived class
- unless ($class eq 'version') {
- local $^W;
- *{$class.'::declare'} = \&version::declare;
- *{$class.'::qv'} = \&version::qv;
- }
-
- my %args;
- if (@_) { # any remaining terms are arguments
- map { $args{$_} = 1 } @_
- }
- else { # no parameters at all on use line
- %args =
- (
- qv => 1,
- 'UNIVERSAL::VERSION' => 1,
- );
- }
-
- my $callpkg = caller();
-
- if (exists($args{declare})) {
- *{$callpkg."::declare"} =
- sub {return $class->declare(shift) }
- unless defined(&{$callpkg.'::declare'});
- }
-
- if (exists($args{qv})) {
- *{$callpkg."::qv"} =
- sub {return $class->qv(shift) }
- unless defined(&{"$callpkg\::qv"});
- }
-
- if (exists($args{'UNIVERSAL::VERSION'})) {
- local $^W;
- *UNIVERSAL::VERSION = \&version::_VERSION;
- }
+$VERSION = '0.87'; ### XXX sync with version of version.pm below
- if (exists($args{'VERSION'})) {
- *{$callpkg."::VERSION"} = \&version::_VERSION;
- }
-}
+use version 0.87;
+our @ISA = qw(version);
1;
-# replace everything from here to the end with the current version/vpp.pm
-package version::vpp;
-use strict;
-
-use POSIX qw/locale_h/;
-use locale;
-use vars qw ($VERSION @ISA @REGEXS);
-$VERSION = '0.77';
-$VERSION = eval $VERSION;
-
-push @REGEXS, qr/
- ^v? # optional leading 'v'
- (\d*) # major revision not required
- \. # requires at least one decimal
- (?:(\d+)\.?){1,}
- /x;
-
-use overload (
- '""' => \&stringify,
- '0+' => \&numify,
- 'cmp' => \&vcmp,
- '<=>' => \&vcmp,
- 'bool' => \&vbool,
- 'nomethod' => \&vnoop,
-);
-
-my $VERSION_MAX = 0x7FFFFFFF;
-
-eval "use warnings";
-if ($@) {
- eval '
- package warnings;
- sub enabled {return $^W;}
- 1;
- ';
-}
-
-sub new
-{
- my ($class, $value) = @_;
- my $self = bless ({}, ref ($class) || $class);
-
- if ( ref($value) && eval('$value->isa("version")') ) {
- # Can copy the elements directly
- $self->{version} = [ @{$value->{version} } ];
- $self->{qv} = 1 if $value->{qv};
- $self->{alpha} = 1 if $value->{alpha};
- $self->{original} = ''.$value->{original};
- return $self;
- }
-
- my $currlocale = setlocale(LC_ALL);
-
- # if the current locale uses commas for decimal points, we
- # just replace commas with decimal places, rather than changing
- # locales
- if ( localeconv()->{decimal_point} eq ',' ) {
- $value =~ tr/,/./;
- }
-
- if ( not defined $value or $value =~ /^undef$/ ) {
- # RT #19517 - special case for undef comparison
- # or someone forgot to pass a value
- push @{$self->{version}}, 0;
- $self->{original} = "0";
- return ($self);
- }
-
- if ( $#_ == 2 ) { # must be CVS-style
- $value = 'v'.$_[2];
- }
-
- $value = _un_vstring($value);
-
- # exponential notation
- if ( $value =~ /\d+.?\d*e[-+]?\d+/ ) {
- $value = sprintf("%.9f",$value);
- $value =~ s/(0+)$//; # trim trailing zeros
- }
-
- # This is not very efficient, but it is morally equivalent
- # to the XS code (as that is the reference implementation).
- # See vutil/vutil.c for details
- my $qv = 0;
- my $alpha = 0;
- my $width = 3;
- my $saw_period = 0;
- my $vinf = 0;
- my ($start, $last, $pos, $s);
- $s = 0;
-
- while ( substr($value,$s,1) =~ /\s/ ) { # leading whitespace is OK
- $s++;
- }
-
- if (substr($value,$s,1) eq 'v') {
- $s++; # get past 'v'
- $qv = 1; # force quoted version processing
- }
-
- $start = $last = $pos = $s;
-
- # pre-scan the input string to check for decimals/underbars
- while ( substr($value,$pos,1) =~ /[._\d,]/ ) {
- if ( substr($value,$pos,1) eq '.' ) {
- if ($alpha) {
- Carp::croak("Invalid version format ".
- "(underscores before decimal)");
- }
- $saw_period++;
- $last = $pos;
- }
- elsif ( substr($value,$pos,1) eq '_' ) {
- if ($alpha) {
- require Carp;
- Carp::croak("Invalid version format ".
- "(multiple underscores)");
- }
- $alpha = 1;
- $width = $pos - $last - 1; # natural width of sub-version
- }
- elsif ( substr($value,$pos,1) eq ','
- and substr($value,$pos+1,1) =~ /[0-9]/ ) {
- # looks like an unhandled locale
- $saw_period++;
- $last = $pos;
- }
- $pos++;
- }
-
- if ( $alpha && !$saw_period ) {
- require Carp;
- Carp::croak("Invalid version format ".
- "(alpha without decimal)");
- }
-
- if ( $alpha && $saw_period && $width == 0 ) {
- require Carp;
- Carp::croak("Invalid version format ".
- "(misplaced _ in number)");
- }
-
- if ( $saw_period > 1 ) {
- $qv = 1; # force quoted version processing
- }
-
- $last = $pos;
- $pos = $s;
-
- if ( $qv ) {
- $self->{qv} = 1;
- }
-
- if ( $alpha ) {
- $self->{alpha} = 1;
- }
-
- if ( !$qv && $width < 3 ) {
- $self->{width} = $width;
- }
-
- while ( substr($value,$pos,1) =~ /\d/ ) {
- $pos++;
- }
-
- if ( substr($value,$pos,1) !~ /[a-z]/ ) { ### FIX THIS ###
- my $rev;
-
- while (1) {
- $rev = 0;
- {
-
- # this is atoi() that delimits on underscores
- my $end = $pos;
- my $mult = 1;
- my $orev;
-
- # the following if() will only be true after the decimal
- # point of a version originally created with a bare
- # floating point number, i.e. not quoted in any way
- if ( !$qv && $s > $start && $saw_period == 1 ) {
- $mult *= 100;
- while ( $s < $end ) {
- $orev = $rev;
- $rev += substr($value,$s,1) * $mult;
- $mult /= 10;
- if ( abs($orev) > abs($rev)
- || abs($rev) > abs($VERSION_MAX) ) {
- if ( warnings::enabled("overflow") ) {
- require Carp;
- Carp::carp("Integer overflow in version");
- }
- $s = $end - 1;
- $rev = $VERSION_MAX;
- }
- $s++;
- if ( substr($value,$s,1) eq '_' ) {
- $s++;
- }
- }
- }
- else {
- while (--$end >= $s) {
- $orev = $rev;
- $rev += substr($value,$end,1) * $mult;
- $mult *= 10;
- if ( abs($orev) > abs($rev)
- || abs($rev) > abs($VERSION_MAX) ) {
- if ( warnings::enabled("overflow") ) {
- require Carp;
- Carp::carp("Integer overflow in version");
- }
- $end = $s - 1;
- $rev = $VERSION_MAX;
- }
- }
- }
- }
-
- # Append revision
- push @{$self->{version}}, $rev;
- if ( substr($value,$pos,1) eq '.'
- && substr($value,$pos+1,1) =~ /\d/ ) {
- $s = ++$pos;
- }
- elsif ( substr($value,$pos,1) eq '_'
- && substr($value,$pos+1,1) =~ /\d/ ) {
- $s = ++$pos;
- }
- elsif ( substr($value,$pos,1) eq ','
- && substr($value,$pos+1,1) =~ /\d/ ) {
- $s = ++$pos;
- }
- elsif ( substr($value,$pos,1) =~ /\d/ ) {
- $s = $pos;
- }
- else {
- $s = $pos;
- last;
- }
- if ( $qv ) {
- while ( substr($value,$pos,1) =~ /\d/ ) {
- $pos++;
- }
- }
- else {
- my $digits = 0;
- while (substr($value,$pos,1) =~ /[\d_]/ && $digits < 3) {
- if ( substr($value,$pos,1) ne '_' ) {
- $digits++;
- }
- $pos++;
- }
- }
- }
- }
- if ( $qv ) { # quoted versions always get at least three terms
- my $len = scalar @{$self->{version}};
- $len = 3 - $len;
- while ($len-- > 0) {
- push @{$self->{version}}, 0;
- }
- }
-
- if ( substr($value,$pos) ) { # any remaining text
- if ( warnings::enabled("misc") ) {
- require Carp;
- Carp::carp("Version string '$value' contains invalid data; ".
- "ignoring: '".substr($value,$pos)."'");
- }
- }
-
- # cache the original value for use when stringification
- if ( $vinf ) {
- $self->{vinf} = 1;
- $self->{original} = 'v.Inf';
- }
- else {
- $self->{original} = substr($value,0,$pos);
- }
-
- return ($self);
-}
-
-*parse = \&new;
-
-sub numify
-{
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $width = $self->{width} || 3;
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("%d.", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- if ( $width < 3 ) {
- my $denom = 10**(3-$width);
- my $quot = int($digit/$denom);
- my $rem = $digit - ($quot * $denom);
- $string .= sprintf("%0".$width."d_%d", $quot, $rem);
- }
- else {
- $string .= sprintf("%03d", $digit);
- }
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha && $width == 3 ) {
- $string .= "_";
- }
- $string .= sprintf("%0".$width."d", $digit);
- }
- else # $len = 0
- {
- $string .= sprintf("000");
- }
-
- return $string;
-}
-
-sub normal
-{
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("v%d", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- $string .= sprintf(".%d", $digit);
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha ) {
- $string .= sprintf("_%0d", $digit);
- }
- else {
- $string .= sprintf(".%0d", $digit);
- }
- }
-
- if ( $len <= 2 ) {
- for ( $len = 2 - $len; $len != 0; $len-- ) {
- $string .= sprintf(".%0d", 0);
- }
- }
-
- return $string;
-}
-
-sub stringify
-{
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- return exists $self->{original}
- ? $self->{original}
- : exists $self->{qv}
- ? $self->normal
- : $self->numify;
-}
-
-sub vcmp
-{
- require UNIVERSAL;
- my ($left,$right,$swap) = @_;
- my $class = ref($left);
- unless ( UNIVERSAL::isa($right, $class) ) {
- $right = $class->new($right);
- }
-
- if ( $swap ) {
- ($left, $right) = ($right, $left);
- }
- unless (_verify($left)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- unless (_verify($right)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $l = $#{$left->{version}};
- my $r = $#{$right->{version}};
- my $m = $l < $r ? $l : $r;
- my $lalpha = $left->is_alpha;
- my $ralpha = $right->is_alpha;
- my $retval = 0;
- my $i = 0;
- while ( $i <= $m && $retval == 0 ) {
- $retval = $left->{version}[$i] <=> $right->{version}[$i];
- $i++;
- }
-
- # tiebreaker for alpha with identical terms
- if ( $retval == 0
- && $l == $r
- && $left->{version}[$m] == $right->{version}[$m]
- && ( $lalpha || $ralpha ) ) {
-
- if ( $lalpha && !$ralpha ) {
- $retval = -1;
- }
- elsif ( $ralpha && !$lalpha) {
- $retval = +1;
- }
- }
-
- # possible match except for trailing 0's
- if ( $retval == 0 && $l != $r ) {
- if ( $l < $r ) {
- while ( $i <= $r && $retval == 0 ) {
- if ( $right->{version}[$i] != 0 ) {
- $retval = -1; # not a match after all
- }
- $i++;
- }
- }
- else {
- while ( $i <= $l && $retval == 0 ) {
- if ( $left->{version}[$i] != 0 ) {
- $retval = +1; # not a match after all
- }
- $i++;
- }
- }
- }
-
- return $retval;
-}
-
-sub vbool {
- my ($self) = @_;
- return vcmp($self,$self->new("0"),1);
-}
-
-sub vnoop {
- require Carp;
- Carp::croak("operation not supported with version object");
-}
-
-sub is_alpha {
- my ($self) = @_;
- return (exists $self->{alpha});
-}
-
-sub qv {
- my $value = shift;
- my $class = 'version';
- if (@_) {
- $class = ref($value) || $value;
- $value = shift;
- }
-
- $value = _un_vstring($value);
- $value = 'v'.$value unless $value =~ /(^v|\d+\.\d+\.\d)/;
- my $version = $class->new($value);
- return $version;
-}
-
-*declare = \&qv;
-
-sub is_qv {
- my ($self) = @_;
- return (exists $self->{qv});
-}
-
-
-sub _verify {
- my ($self) = @_;
- if ( ref($self)
- && eval { exists $self->{version} }
- && ref($self->{version}) eq 'ARRAY'
- ) {
- return 1;
- }
- else {
- return 0;
- }
-}
-
-sub _un_vstring {
- my $value = shift;
- # may be a v-string
- if ( $] >= 5.006_000 && length($value) >= 3 && $value !~ /[._]/ ) {
- my $tvalue = sprintf("v%vd",$value);
- if ( $tvalue =~ /^v\d+\.\d+\.\d+$/ ) {
- # must be a v-string
- $value = $tvalue;
- }
- }
- return $value;
-}
-
-sub _VERSION {
- my ($obj, $req) = @_;
- my $class = ref($obj) || $obj;
-
- no strict 'refs';
- if ( exists $INC{"$class.pm"} and not %{"$class\::"} and $] >= 5.008) {
- # file but no package
- require Carp;
- Carp::croak( "$class defines neither package nor VERSION"
- ."--version check failed");
- }
-
- my $version = eval "\$$class\::VERSION";
- if ( defined $version ) {
- local $^W if $] <= 5.008;
- $version = version::vpp->new($version);
- }
-
- if ( defined $req ) {
- unless ( defined $version ) {
- require Carp;
- my $msg = $] < 5.006
- ? "$class version $req required--this is only version "
- : "$class does not define \$$class\::VERSION"
- ."--version check failed";
+=head1 NAME
- if ( $ENV{VERSION_DEBUG} ) {
- Carp::confess($msg);
- }
- else {
- Carp::croak($msg);
- }
- }
+Module::Build::Version - DEPRECATED
- $req = version::vpp->new($req);
+=head1 DESCRIPTION
- if ( $req > $version ) {
- require Carp;
- if ( $req->is_qv ) {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->normal, $version->normal)
- );
- }
- else {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->stringify, $version->stringify)
- );
- }
- }
- }
+Module::Build now lists L<version> as a C<configure_requires> dependency
+and no longer installs a copy.
- return defined $version ? $version->stringify : undef;
-}
+=cut
-1; #this line is important and will help the module return a true value
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/YAML.pm b/Master/tlpkg/tlperl/lib/Module/Build/YAML.pm
index 2da91f22563..133dee54274 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/YAML.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/YAML.pm
@@ -1,600 +1,19 @@
-# Adapted from YAML::Tiny 1.40
package Module::Build::YAML;
-
use strict;
-use Carp 'croak';
-
-# UTF Support?
-sub HAVE_UTF8 () { $] >= 5.007003 }
-BEGIN {
- if ( HAVE_UTF8 ) {
- # The string eval helps hide this from Test::MinimumVersion
- eval "require utf8;";
- die "Failed to load UTF-8 support" if $@;
- }
-
- # Class structure
- require 5.004;
-
- $Module::Build::YAML::VERSION = '1.40';
-
- # Error storage
- $Module::Build::YAML::errstr = '';
-}
-
-# The character class of all characters we need to escape
-# NOTE: Inlined, since it's only used once
-# my $RE_ESCAPE = '[\\x00-\\x08\\x0b-\\x0d\\x0e-\\x1f\"\n]';
-
-# Printed form of the unprintable characters in the lowest range
-# of ASCII characters, listed by ASCII ordinal position.
-my @UNPRINTABLE = qw(
- z x01 x02 x03 x04 x05 x06 a
- x08 t n v f r x0e x0f
- x10 x11 x12 x13 x14 x15 x16 x17
- x18 x19 x1a e x1c x1d x1e x1f
-);
-
-# Printable characters for escapes
-my %UNESCAPES = (
- z => "\x00", a => "\x07", t => "\x09",
- n => "\x0a", v => "\x0b", f => "\x0c",
- r => "\x0d", e => "\x1b", '\\' => '\\',
-);
-
-# Special magic boolean words
-my %QUOTE = map { $_ => 1 } qw{
- null Null NULL
- y Y yes Yes YES n N no No NO
- true True TRUE false False FALSE
- on On ON off Off OFF
-};
-
-#####################################################################
-# Implementation
-
-# Create an empty Module::Build::YAML object
-sub new {
- my $class = shift;
- bless [ @_ ], $class;
-}
-
-# Create an object from a file
-sub read {
- my $class = ref $_[0] ? ref shift : shift;
-
- # Check the file
- my $file = shift or return $class->_error( 'You did not specify a file name' );
- return $class->_error( "File '$file' does not exist" ) unless -e $file;
- return $class->_error( "'$file' is a directory, not a file" ) unless -f _;
- return $class->_error( "Insufficient permissions to read '$file'" ) unless -r _;
-
- # Slurp in the file
- local $/ = undef;
- local *CFG;
- unless ( open(CFG, $file) ) {
- return $class->_error("Failed to open file '$file': $!");
- }
- my $contents = <CFG>;
- unless ( close(CFG) ) {
- return $class->_error("Failed to close file '$file': $!");
- }
-
- $class->read_string( $contents );
-}
-
-# Create an object from a string
-sub read_string {
- my $class = ref $_[0] ? ref shift : shift;
- my $self = bless [], $class;
- my $string = $_[0];
- unless ( defined $string ) {
- return $self->_error("Did not provide a string to load");
- }
-
- # Byte order marks
- # NOTE: Keeping this here to educate maintainers
- # my %BOM = (
- # "\357\273\277" => 'UTF-8',
- # "\376\377" => 'UTF-16BE',
- # "\377\376" => 'UTF-16LE',
- # "\377\376\0\0" => 'UTF-32LE'
- # "\0\0\376\377" => 'UTF-32BE',
- # );
- if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
- return $self->_error("Stream has a non UTF-8 BOM");
- } else {
- # Strip UTF-8 bom if found, we'll just ignore it
- $string =~ s/^\357\273\277//;
- }
-
- # Try to decode as utf8
- utf8::decode($string) if HAVE_UTF8;
-
- # Check for some special cases
- return $self unless length $string;
- unless ( $string =~ /[\012\015]+\z/ ) {
- return $self->_error("Stream does not end with newline character");
- }
-
- # Split the file into lines
- my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
- split /(?:\015{1,2}\012|\015|\012)/, $string;
-
- # Strip the initial YAML header
- @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
-
- # A nibbling parser
- while ( @lines ) {
- # Do we have a document header?
- if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
- # Handle scalar documents
- shift @lines;
- if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
- push @$self, $self->_read_scalar( "$1", [ undef ], \@lines );
- next;
- }
- }
-
- if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
- # A naked document
- push @$self, undef;
- while ( @lines and $lines[0] !~ /^---/ ) {
- shift @lines;
- }
-
- } elsif ( $lines[0] =~ /^\s*\-/ ) {
- # An array at the root
- my $document = [ ];
- push @$self, $document;
- $self->_read_array( $document, [ 0 ], \@lines );
-
- } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
- # A hash at the root
- my $document = { };
- push @$self, $document;
- $self->_read_hash( $document, [ length($1) ], \@lines );
-
- } else {
- croak("Module::Build::YAML failed to classify the line '$lines[0]'");
- }
- }
-
- $self;
-}
-
-# Deparse a scalar string to the actual scalar
-sub _read_scalar {
- my ($self, $string, $indent, $lines) = @_;
-
- # Trim trailing whitespace
- $string =~ s/\s*\z//;
-
- # Explitic null/undef
- return undef if $string eq '~';
-
- # Quotes
- if ( $string =~ /^\'(.*?)\'\z/ ) {
- return '' unless defined $1;
- $string = $1;
- $string =~ s/\'\'/\'/g;
- return $string;
- }
- if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
- # Reusing the variable is a little ugly,
- # but avoids a new variable and a string copy.
- $string = $1;
- $string =~ s/\\"/"/g;
- $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
- return $string;
- }
-
- # Special cases
- if ( $string =~ /^[\'\"!&]/ ) {
- croak("Module::Build::YAML does not support a feature in line '$lines->[0]'");
- }
- return {} if $string eq '{}';
- return [] if $string eq '[]';
-
- # Regular unquoted string
- return $string unless $string =~ /^[>|]/;
-
- # Error
- croak("Module::Build::YAML failed to find multi-line scalar content") unless @$lines;
-
- # Check the indent depth
- $lines->[0] =~ /^(\s*)/;
- $indent->[-1] = length("$1");
- if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
- croak("Module::Build::YAML found bad indenting in line '$lines->[0]'");
- }
-
- # Pull the lines
- my @multiline = ();
- while ( @$lines ) {
- $lines->[0] =~ /^(\s*)/;
- last unless length($1) >= $indent->[-1];
- push @multiline, substr(shift(@$lines), length($1));
- }
-
- my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
- my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
- return join( $j, @multiline ) . $t;
-}
-
-# Parse an array
-sub _read_array {
- my ($self, $array, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("Module::Build::YAML found bad indenting in line '$lines->[0]'");
- }
-
- if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
- # Inline nested hash
- my $indent2 = length("$1");
- $lines->[0] =~ s/-/ /;
- push @$array, { };
- $self->_read_hash( $array->[-1], [ @$indent, $indent2 ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
- # Array entry with a value
- shift @$lines;
- push @$array, $self->_read_scalar( "$2", [ @$indent, undef ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
- shift @$lines;
- unless ( @$lines ) {
- push @$array, undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)\-/ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] == $indent2 ) {
- # Null array entry
- push @$array, undef;
- } else {
- # Naked indenter
- push @$array, [ ];
- $self->_read_array( $array->[-1], [ @$indent, $indent2 ], $lines );
- }
-
- } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
- push @$array, { };
- $self->_read_hash( $array->[-1], [ @$indent, length("$1") ], $lines );
-
- } else {
- croak("Module::Build::YAML failed to classify line '$lines->[0]'");
- }
-
- } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
- # This is probably a structure like the following...
- # ---
- # foo:
- # - list
- # bar: value
- #
- # ... so lets return and let the hash parser handle it
- return 1;
-
- } else {
- croak("Module::Build::YAML failed to classify line '$lines->[0]'");
- }
- }
-
- return 1;
-}
-
-# Parse an array
-sub _read_hash {
- my ($self, $hash, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("Module::Build::YAML found bad indenting in line '$lines->[0]'");
- }
-
- # Get the key
- unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+|$)// ) {
- if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
- croak("Module::Build::YAML does not support a feature in line '$lines->[0]'");
- }
- croak("Module::Build::YAML failed to classify line '$lines->[0]'");
- }
- my $key = $1;
-
- # Do we have a value?
- if ( length $lines->[0] ) {
- # Yes
- $hash->{$key} = $self->_read_scalar( shift(@$lines), [ @$indent, undef ], $lines );
- } else {
- # An indent
- shift @$lines;
- unless ( @$lines ) {
- $hash->{$key} = undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)-/ ) {
- $hash->{$key} = [];
- $self->_read_array( $hash->{$key}, [ @$indent, length($1) ], $lines );
- } elsif ( $lines->[0] =~ /^(\s*)./ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] >= $indent2 ) {
- # Null hash entry
- $hash->{$key} = undef;
- } else {
- $hash->{$key} = {};
- $self->_read_hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
- }
- }
- }
- }
-
- return 1;
-}
-
-# Save an object to a file
-sub write {
- my $self = shift;
- my $file = shift or return $self->_error('No file name provided');
-
- # Write it to the file
- open( CFG, '>' . $file ) or return $self->_error(
- "Failed to open file '$file' for writing: $!"
- );
- print CFG $self->write_string;
- close CFG;
-
- return 1;
-}
-
-# Save an object to a string
-sub write_string {
- my $self = shift;
- return '' unless @$self;
-
- # Iterate over the documents
- my $indent = 0;
- my @lines = ();
- foreach my $cursor ( @$self ) {
- push @lines, '---';
-
- # An empty document
- if ( ! defined $cursor ) {
- # Do nothing
-
- # A scalar document
- } elsif ( ! ref $cursor ) {
- $lines[-1] .= ' ' . $self->_write_scalar( $cursor, $indent );
-
- # A list at the root
- } elsif ( ref $cursor eq 'ARRAY' ) {
- unless ( @$cursor ) {
- $lines[-1] .= ' []';
- next;
- }
- push @lines, $self->_write_array( $cursor, $indent, {} );
-
- # A hash at the root
- } elsif ( ref $cursor eq 'HASH' ) {
- unless ( %$cursor ) {
- $lines[-1] .= ' {}';
- next;
- }
- push @lines, $self->_write_hash( $cursor, $indent, {} );
-
- } else {
- croak("Cannot serialize " . ref($cursor));
- }
- }
-
- join '', map { "$_\n" } @lines;
-}
-
-sub _write_scalar {
- my $string = $_[1];
- return '~' unless defined $string;
- return "''" unless length $string;
- if ( $string =~ /[\x00-\x08\x0b-\x0d\x0e-\x1f\"\'\n]/ ) {
- $string =~ s/\\/\\\\/g;
- $string =~ s/"/\\"/g;
- $string =~ s/\n/\\n/g;
- $string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
- return qq|"$string"|;
- }
- if ( $string =~ /(?:^\W|\s)/ or $QUOTE{$string} ) {
- return "'$string'";
- }
- return $string;
-}
-
-sub _write_array {
- my ($self, $array, $indent, $seen) = @_;
- if ( $seen->{refaddr($array)}++ ) {
- die "Module::Build::YAML does not support circular references";
- }
- my @lines = ();
- foreach my $el ( @$array ) {
- my $line = (' ' x $indent) . '-';
- my $type = ref $el;
- if ( ! $type ) {
- $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
- push @lines, $line;
-
- } elsif ( $type eq 'ARRAY' ) {
- if ( @$el ) {
- push @lines, $line;
- push @lines, $self->_write_array( $el, $indent + 1, $seen );
- } else {
- $line .= ' []';
- push @lines, $line;
- }
-
- } elsif ( $type eq 'HASH' ) {
- if ( keys %$el ) {
- push @lines, $line;
- push @lines, $self->_write_hash( $el, $indent + 1, $seen );
- } else {
- $line .= ' {}';
- push @lines, $line;
- }
-
- } else {
- die "Module::Build::YAML does not support $type references";
- }
- }
-
- @lines;
-}
-
-sub _write_hash {
- my ($self, $hash, $indent, $seen) = @_;
- if ( $seen->{refaddr($hash)}++ ) {
- die "Module::Build::YAML does not support circular references";
- }
- my @lines = ();
- foreach my $name ( sort keys %$hash ) {
- my $el = $hash->{$name};
- my $line = (' ' x $indent) . "$name:";
- my $type = ref $el;
- if ( ! $type ) {
- $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
- push @lines, $line;
-
- } elsif ( $type eq 'ARRAY' ) {
- if ( @$el ) {
- push @lines, $line;
- push @lines, $self->_write_array( $el, $indent + 1, $seen );
- } else {
- $line .= ' []';
- push @lines, $line;
- }
-
- } elsif ( $type eq 'HASH' ) {
- if ( keys %$el ) {
- push @lines, $line;
- push @lines, $self->_write_hash( $el, $indent + 1, $seen );
- } else {
- $line .= ' {}';
- push @lines, $line;
- }
-
- } else {
- die "Module::Build::YAML does not support $type references";
- }
- }
-
- @lines;
-}
-
-# Set error
-sub _error {
- $Module::Build::YAML::errstr = $_[1];
- undef;
-}
-
-# Retrieve error
-sub errstr {
- $Module::Build::YAML::errstr;
-}
-
-#####################################################################
-# YAML Compatibility
-
-sub Dump {
- Module::Build::YAML->new(@_)->write_string;
-}
-
-sub Load {
- my $self = Module::Build::YAML->read_string(@_);
- unless ( $self ) {
- croak("Failed to load YAML document from string");
- }
- if ( wantarray ) {
- return @$self;
- } else {
- # To match YAML.pm, return the last document
- return $self->[-1];
- }
-}
-
-BEGIN {
- *freeze = *Dump;
- *thaw = *Load;
-}
-
-sub DumpFile {
- my $file = shift;
- Module::Build::YAML->new(@_)->write($file);
-}
+use CPAN::Meta::YAML 0.002 ();
+our @ISA = qw(CPAN::Meta::YAML);
+our $VERSION = '1.41';
+1;
-sub LoadFile {
- my $self = Module::Build::YAML->read($_[0]);
- unless ( $self ) {
- croak("Failed to load YAML document from '" . ($_[0] || '') . "'");
- }
- if ( wantarray ) {
- return @$self;
- } else {
- # Return only the last document to match YAML.pm,
- return $self->[-1];
- }
-}
+=head1 NAME
-#####################################################################
-# Use Scalar::Util if possible, otherwise emulate it
+Module::Build::YAML - DEPRECATED
-BEGIN {
- eval {
- require Scalar::Util;
- };
- if ( $@ ) {
- # Failed to load Scalar::Util
- eval <<'END_PERL';
-sub refaddr {
- my $pkg = ref($_[0]) or return undef;
- if (!!UNIVERSAL::can($_[0], 'can')) {
- bless $_[0], 'Scalar::Util::Fake';
- } else {
- $pkg = undef;
- }
- "$_[0]" =~ /0x(\w+)/;
- my $i = do { local $^W; hex $1 };
- bless $_[0], $pkg if defined $pkg;
- $i;
-}
-END_PERL
- } else {
- Scalar::Util->import('refaddr');
- }
-}
+=head1 DESCRIPTION
-1;
+This module was originally an inline copy of L<YAML::Tiny>. It has been
+deprecated in favor of using L<CPAN::Meta::YAML> directly. This module is kept
+as a subclass wrapper for compatibility.
-__END__
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pm b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
index d507e88828c..86a7169f316 100644
--- a/Master/tlpkg/tlperl/lib/Module/CoreList.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
@@ -2,7 +2,7 @@ package Module::CoreList;
use strict;
use vars qw/$VERSION %released %version %families %upstream
%bug_tracker %deprecated/;
-$VERSION = '2.43';
+$VERSION = '2.49_02';
=head1 NAME
@@ -57,12 +57,14 @@ These are the functions that are available, they may either be called as functio
Behaviour since version 2.11
Requires a MODULE name as an argument, returns the perl version when that module first
-appeared in core as ordered by perl version number or undef if that module is not in core.
+appeared in core as ordered by perl version number or undef ( in scalar context )
+or an empty list ( in list context ) if that module is not in core.
=item C<first_release_by_date( MODULE )>
Requires a MODULE name as an argument, returns the perl version when that module first
-appeared in core as ordered by release date or undef if that module is not in core.
+appeared in core as ordered by release date or undef ( in scalar context )
+or an empty list ( in list context ) if that module is not in core.
=item C<find_modules( REGEX, [ LIST OF PERLS ] )>
@@ -168,8 +170,8 @@ Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07,
5.8.0, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 5.8.5, 5.8.6, 5.8.7, 5.8.8, 5.8.9,
5.9.0, 5.9.1, 5.9.2, 5.9.3, 5.9.4, 5.9.5, 5.10.0, 5.10.1, 5.11.0, 5.11.1,
5.11.2, 5.11.3, 5.11.4, 5.11.5, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.13.0,
-5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.6, 5.13.7 and 5.13.8
-releases of perl.
+5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.6, 5.13.7, 5.13.8, 5.13.9,
+5.13.10, 5.13.11, 5.14.0, 5.14.1 and 5.14.2 releases of perl.
=head1 HISTORY
@@ -211,7 +213,7 @@ END {
sub first_release_raw {
my $module = shift;
- $module = shift if $module->isa(__PACKAGE__)
+ $module = shift if eval { $module->isa(__PACKAGE__) }
and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
my $version = shift;
@@ -237,7 +239,7 @@ sub first_release {
sub find_modules {
my $regex = shift;
- $regex = shift if $regex->isa(__PACKAGE__);
+ $regex = shift if eval { $regex->isa(__PACKAGE__) };
my @perls = @_;
@perls = keys %version unless @perls;
@@ -252,14 +254,14 @@ sub find_modules {
sub find_version {
my $v = shift;
- $v = shift if $v->isa(__PACKAGE__);
+ $v = shift if eval { $v->isa(__PACKAGE__) };
return $version{$v} if defined $version{$v};
return undef;
}
sub is_deprecated {
my $module = shift;
- $module = shift if $module->isa(__PACKAGE__)
+ $module = shift if eval { $module->isa(__PACKAGE__) }
and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
my $perl_version = shift;
$perl_version ||= $];
@@ -279,7 +281,7 @@ sub removed_from_by_date {
sub removed_raw {
my $mod = shift;
- $mod = shift if $mod->isa(__PACKAGE__)
+ $mod = shift if eval { $mod->isa(__PACKAGE__) }
and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
return unless my @perls = sort { $a cmp $b } first_release_raw($mod);
my $last = pop @perls;
@@ -341,7 +343,13 @@ sub removed_raw {
5.013006 => '2010-10-20',
5.013007 => '2010-11-20',
5.013008 => '2010-12-20',
- 5.012003 => '2011-01-15',
+ 5.012003 => '2011-01-21',
+ 5.013009 => '2011-01-20',
+ 5.013010 => '2011-02-20',
+ 5.013011 => '2011-03-20',
+ 5.014000 => '2011-05-14',
+ 5.014001 => '2011-06-16',
+ 5.014002 => '2011-09-26',
);
for my $version ( sort { $a <=> $b } keys %released ) {
@@ -21489,7 +21497,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Build::PodParser'=> '0.3603',
'Module::Build::Version'=> '0.77',
'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.38',
+ 'Module::CoreList' => '2.43',
'Module::Load' => '0.16',
'Module::Load::Conditional'=> '0.38',
'Module::Loaded' => '0.06',
@@ -21748,6 +21756,3922 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'warnings' => '1.09',
'warnings::register' => '1.01',
},
+ 5.013009 => {
+ 'AnyDBM_File' => '1.00',
+ 'App::Cpan' => '1.5701',
+ 'App::Prove' => '3.22',
+ 'App::Prove::State' => '3.22',
+ 'App::Prove::State::Result'=> '3.22',
+ 'App::Prove::State::Result::Test'=> '3.22',
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'Attribute::Handlers' => '0.88',
+ 'AutoLoader' => '5.71',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.27',
+ 'B::Concise' => '0.83',
+ 'B::Debug' => '1.16',
+ 'B::Deparse' => '1.03',
+ 'B::Lint' => '1.13',
+ 'B::Lint::Debug' => '1.12',
+ 'B::Showlex' => '1.02',
+ 'B::Terse' => '1.05',
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.51',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Fast' => '1.08',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Push' => '1.05',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.94_63',
+ 'CPAN::Author' => '5.5',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.9600',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.0',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::FTP::netrc' => '1.00',
+ 'CPAN::FirstTime' => '5.5301',
+ 'CPAN::HTTP::Client' => '1.94',
+ 'CPAN::HTTP::Credentials'=> '1.94',
+ 'CPAN::HandleConfig' => '5.5001',
+ 'CPAN::Index' => '1.94',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.94',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPAN::Mirrors' => '1.77',
+ 'CPAN::Module' => '5.5',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Shell' => '5.5001',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPAN::URL' => '5.5',
+ 'CPAN::Version' => '5.5001',
+ 'CPANPLUS' => '0.9011',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.52',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.52',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.9011',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.9011',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => '1.19',
+ 'Carp::Heavy' => '1.19',
+ 'Class::Struct' => '0.63',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Config' => undef,
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.36',
+ 'DB' => '1.03',
+ 'DBM_Filter' => '0.04',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.821',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::DProf' => '20080331.00',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.07',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.51',
+ 'Digest::SHA' => '5.50',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'DynaLoader' => '1.12',
+ 'Encode' => '2.42',
+ 'Encode::Alias' => '2.13',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.03',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.04',
+ 'Encode::JP' => '2.04',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.13',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'English' => '1.04',
+ 'Env' => '1.02',
+ 'Errno' => '1.13',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.280201',
+ 'ExtUtils::CBuilder::Base'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
+ 'ExtUtils::Command' => '1.16',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.2209',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::Basename' => '2.80',
+ 'File::CheckTree' => '4.41',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.21',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Glob' => '1.11',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.34',
+ 'File::Spec::Win32' => '3.33',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.05',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.85',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.13',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'HTTP::Tiny' => '0.009',
+ 'Hash::Util' => '0.10',
+ 'Hash::Util::FieldHash' => '1.08',
+ 'I18N::Collate' => '1.02',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::Detect'=> '1.04',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'I18N::Langinfo' => '0.07',
+ 'IO' => '1.25_03',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Dir' => '1.07',
+ 'IO::File' => '1.14',
+ 'IO::Handle' => '1.29',
+ 'IO::Pipe' => '1.13',
+ 'IO::Poll' => '0.07',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.17',
+ 'IO::Socket' => '1.32',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.68',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.09',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'JSON::PP' => '2.27103',
+ 'JSON::PP::Boolean' => undef,
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.15',
+ 'Locale::Codes::Country'=> '3.15',
+ 'Locale::Codes::Currency'=> '3.15',
+ 'Locale::Codes::Language'=> '3.15',
+ 'Locale::Codes::Script' => '3.15',
+ 'Locale::Constants' => '3.15',
+ 'Locale::Country' => '3.15',
+ 'Locale::Currency' => '3.15',
+ 'Locale::Language' => '3.15',
+ 'Locale::Maketext' => '1.18',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Locale::Script' => '3.15',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.99_03',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.99_03',
+ 'Math::BigInt::Calc' => '1.99_03',
+ 'Math::BigInt::CalcEmu' => '1.99_02',
+ 'Math::BigInt::FastCalc'=> '0.24_02',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.26_02',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::Build' => '0.3607',
+ 'Module::Build::Base' => '0.3607',
+ 'Module::Build::Compat' => '0.3607',
+ 'Module::Build::Config' => '0.3607',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> '0.3607',
+ 'Module::Build::Dumper' => '0.3607',
+ 'Module::Build::ModuleInfo'=> '0.3607',
+ 'Module::Build::Notes' => '0.3607',
+ 'Module::Build::PPMMaker'=> '0.3607',
+ 'Module::Build::Platform::Amiga'=> '0.3607',
+ 'Module::Build::Platform::Default'=> '0.3607',
+ 'Module::Build::Platform::EBCDIC'=> '0.3607',
+ 'Module::Build::Platform::MPEiX'=> '0.3607',
+ 'Module::Build::Platform::MacOS'=> '0.3607',
+ 'Module::Build::Platform::RiscOS'=> '0.3607',
+ 'Module::Build::Platform::Unix'=> '0.3607',
+ 'Module::Build::Platform::VMS'=> '0.3607',
+ 'Module::Build::Platform::VOS'=> '0.3607',
+ 'Module::Build::Platform::Windows'=> '0.3607',
+ 'Module::Build::Platform::aix'=> '0.3607',
+ 'Module::Build::Platform::cygwin'=> '0.3607',
+ 'Module::Build::Platform::darwin'=> '0.3607',
+ 'Module::Build::Platform::os2'=> '0.3607',
+ 'Module::Build::PodParser'=> '0.3607',
+ 'Module::Build::Version'=> '0.77',
+ 'Module::Build::YAML' => '1.40',
+ 'Module::CoreList' => '2.42_01',
+ 'Module::Load' => '0.18',
+ 'Module::Load::Conditional'=> '0.40',
+ 'Module::Loaded' => '0.06',
+ 'Module::Metadata' => '1.000003',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'Moped::Msg' => '0.01',
+ 'NDBM_File' => '1.11',
+ 'NEXT' => '0.65',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::NNTP' => '2.24',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.38',
+ 'Net::SMTP' => '2.31',
+ 'Net::Time' => '2.10',
+ 'Net::hostent' => '1.01',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.01',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.10',
+ 'Object::Accessor' => '0.38',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.24',
+ 'Package::Constants' => '0.02',
+ 'Params::Check' => '0.28',
+ 'Parse::CPAN::Meta' => '1.40',
+ 'Perl::OSType' => '1.002',
+ 'PerlIO' => '1.06',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11',
+ 'PerlIO::via' => '0.11',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Find' => '1.35',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Html' => '1.09',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Man' => '2.25',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.15_03',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.15',
+ 'Pod::Simple::BlackBox' => '3.15',
+ 'Pod::Simple::Checker' => '3.15',
+ 'Pod::Simple::Debug' => '3.15',
+ 'Pod::Simple::DumpAsText'=> '3.15',
+ 'Pod::Simple::DumpAsXML'=> '3.15',
+ 'Pod::Simple::HTML' => '3.15',
+ 'Pod::Simple::HTMLBatch'=> '3.15',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> '3.15',
+ 'Pod::Simple::Methody' => '3.15',
+ 'Pod::Simple::Progress' => '3.15',
+ 'Pod::Simple::PullParser'=> '3.15',
+ 'Pod::Simple::PullParserEndToken'=> '3.15',
+ 'Pod::Simple::PullParserStartToken'=> '3.15',
+ 'Pod::Simple::PullParserTextToken'=> '3.15',
+ 'Pod::Simple::PullParserToken'=> '3.15',
+ 'Pod::Simple::RTF' => '3.15',
+ 'Pod::Simple::Search' => '3.15',
+ 'Pod::Simple::SimpleTree'=> '3.15',
+ 'Pod::Simple::Text' => '3.15',
+ 'Pod::Simple::TextContent'=> '3.15',
+ 'Pod::Simple::TiedOutFH'=> '3.15',
+ 'Pod::Simple::Transcode'=> '3.15',
+ 'Pod::Simple::TranscodeDumb'=> '3.15',
+ 'Pod::Simple::TranscodeSmart'=> '3.15',
+ 'Pod::Simple::XHTML' => '3.15',
+ 'Pod::Simple::XMLOutStream'=> '3.15',
+ 'Pod::Text' => '3.15',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Pod::Usage' => '1.36',
+ 'SDBM_File' => '1.09',
+ 'Safe' => '2.29',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Search::Dict' => '1.03',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.18',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.93',
+ 'Storable' => '2.26',
+ 'Symbol' => '1.07',
+ 'Sys::Hostname' => '1.15',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'TAP::Base' => '3.22',
+ 'TAP::Formatter::Base' => '3.22',
+ 'TAP::Formatter::Color' => '3.22',
+ 'TAP::Formatter::Console'=> '3.22',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.22',
+ 'TAP::Formatter::Console::Session'=> '3.22',
+ 'TAP::Formatter::File' => '3.22',
+ 'TAP::Formatter::File::Session'=> '3.22',
+ 'TAP::Formatter::Session'=> '3.22',
+ 'TAP::Harness' => '3.22',
+ 'TAP::Object' => '3.22',
+ 'TAP::Parser' => '3.22',
+ 'TAP::Parser::Aggregator'=> '3.22',
+ 'TAP::Parser::Grammar' => '3.22',
+ 'TAP::Parser::Iterator' => '3.22',
+ 'TAP::Parser::Iterator::Array'=> '3.22',
+ 'TAP::Parser::Iterator::Process'=> '3.22',
+ 'TAP::Parser::Iterator::Stream'=> '3.22',
+ 'TAP::Parser::IteratorFactory'=> '3.22',
+ 'TAP::Parser::Multiplexer'=> '3.22',
+ 'TAP::Parser::Result' => '3.22',
+ 'TAP::Parser::Result::Bailout'=> '3.22',
+ 'TAP::Parser::Result::Comment'=> '3.22',
+ 'TAP::Parser::Result::Plan'=> '3.22',
+ 'TAP::Parser::Result::Pragma'=> '3.22',
+ 'TAP::Parser::Result::Test'=> '3.22',
+ 'TAP::Parser::Result::Unknown'=> '3.22',
+ 'TAP::Parser::Result::Version'=> '3.22',
+ 'TAP::Parser::Result::YAML'=> '3.22',
+ 'TAP::Parser::ResultFactory'=> '3.22',
+ 'TAP::Parser::Scheduler'=> '3.22',
+ 'TAP::Parser::Scheduler::Job'=> '3.22',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.22',
+ 'TAP::Parser::Source' => '3.22',
+ 'TAP::Parser::SourceHandler'=> '3.22',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.22',
+ 'TAP::Parser::SourceHandler::File'=> '3.22',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.22',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.22',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
+ 'TAP::Parser::Utils' => '3.22',
+ 'TAP::Parser::YAMLish::Reader'=> '3.22',
+ 'TAP::Parser::YAMLish::Writer'=> '3.22',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::Cap' => '1.12',
+ 'Term::Complete' => '1.402',
+ 'Term::ReadLine' => '1.07',
+ 'Term::UI' => '0.24',
+ 'Term::UI::History' => undef,
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.97_01',
+ 'Test::Builder::Module' => '0.97_01',
+ 'Test::Builder::Tester' => '1.21_01',
+ 'Test::Builder::Tester::Color'=> '1.21_01',
+ 'Test::Harness' => '3.22',
+ 'Test::More' => '0.97_01',
+ 'Test::Simple' => '0.97_01',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '2.02',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03_01',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread' => '3.02',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Tie::Array' => '1.04',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.04',
+ 'Tie::Hash::NamedCapture'=> '0.07',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.38',
+ 'Tie::Scalar' => '1.02',
+ 'Tie::StdHandle' => '4.2',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.9721_01',
+ 'Time::Local' => '1.2000',
+ 'Time::Piece' => '1.20_01',
+ 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
+ 'Time::gmtime' => '1.03',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.6801',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.68',
+ 'Unicode::Normalize' => '1.10',
+ 'Unicode::UCD' => '0.30',
+ 'User::grent' => '1.01',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.04',
+ 'VMS::Filespec' => '1.12',
+ 'VMS::Stdio' => '2.4',
+ 'Win32' => '0.44',
+ 'Win32API::File' => '0.1101',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.27',
+ 'XS::Typemap' => '0.04',
+ 'XSLoader' => '0.13',
+ 'XSLoader::XSLoader' => '0.13',
+ 'attributes' => '0.13',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'autouse' => '1.06',
+ 'base' => '2.15',
+ 'bigint' => '0.26',
+ 'bignum' => '0.26',
+ 'bigrat' => '0.26',
+ 'blib' => '1.06',
+ 'bytes' => '1.04',
+ 'charnames' => '1.18',
+ 'constant' => '1.20',
+ 'deprecate' => '0.01',
+ 'diagnostics' => '1.21',
+ 'encoding' => '2.6_01',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.19',
+ 'fields' => '2.15',
+ 'filetest' => '1.02',
+ 'if' => '0.0601',
+ 'inc::latest' => '0.3607',
+ 'integer' => '1.00',
+ 'less' => '0.03',
+ 'lib' => '0.63',
+ 'locale' => '1.00',
+ 'mro' => '1.06',
+ 'open' => '1.08',
+ 'ops' => '1.02',
+ 'overload' => '1.12',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.224',
+ 're' => '0.16',
+ 'sigtrap' => '1.05',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'subs' => '1.00',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.36',
+ 'utf8' => '1.08',
+ 'vars' => '1.02',
+ 'version' => '0.88',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.11',
+ 'warnings::register' => '1.02',
+ },
+ 5.013010 => {
+ 'AnyDBM_File' => '1.00',
+ 'App::Cpan' => '1.5701',
+ 'App::Prove' => '3.22',
+ 'App::Prove::State' => '3.22',
+ 'App::Prove::State::Result'=> '3.22',
+ 'App::Prove::State::Result::Test'=> '3.22',
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'Attribute::Handlers' => '0.89',
+ 'AutoLoader' => '5.71',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.28',
+ 'B::Concise' => '0.83',
+ 'B::Debug' => '1.16',
+ 'B::Deparse' => '1.03',
+ 'B::Lint' => '1.13',
+ 'B::Lint::Debug' => '1.12',
+ 'B::Showlex' => '1.03',
+ 'B::Terse' => '1.05',
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.52',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Fast' => '1.08',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Push' => '1.05',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.94_65',
+ 'CPAN::Author' => '5.5',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.9601',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.0',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::FTP::netrc' => '1.01',
+ 'CPAN::FirstTime' => '5.5303',
+ 'CPAN::HTTP::Client' => '1.94',
+ 'CPAN::HTTP::Credentials'=> '1.94',
+ 'CPAN::HandleConfig' => '5.5003',
+ 'CPAN::Index' => '1.94',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.94',
+ 'CPAN::Meta' => '2.110440',
+ 'CPAN::Meta::Converter' => '2.110440',
+ 'CPAN::Meta::Feature' => '2.110440',
+ 'CPAN::Meta::History' => '2.110440',
+ 'CPAN::Meta::Prereqs' => '2.110440',
+ 'CPAN::Meta::Spec' => '2.110440',
+ 'CPAN::Meta::Validator' => '2.110440',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPAN::Mirrors' => '1.77',
+ 'CPAN::Module' => '5.5',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Shell' => '5.5002',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPAN::URL' => '5.5',
+ 'CPAN::Version' => '5.5001',
+ 'CPANPLUS' => '0.9101',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.52',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.52',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.9101',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.9101',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => '1.20',
+ 'Carp::Heavy' => '1.20',
+ 'Class::Struct' => '0.63',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Config' => undef,
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.37',
+ 'DB' => '1.03',
+ 'DBM_Filter' => '0.04',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.821',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::DProf' => '20110217.00',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.07',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.51',
+ 'Digest::SHA' => '5.50',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'DynaLoader' => '1.13',
+ 'Encode' => '2.42',
+ 'Encode::Alias' => '2.13',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.03',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.04',
+ 'Encode::JP' => '2.04',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.13',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'English' => '1.04',
+ 'Env' => '1.02',
+ 'Errno' => '1.13',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.280202',
+ 'ExtUtils::CBuilder::Base'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
+ 'ExtUtils::Command' => '1.16',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.2209',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::Basename' => '2.80',
+ 'File::CheckTree' => '4.41',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.22',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Glob' => '1.11',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.34',
+ 'File::Spec::Win32' => '3.33',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.05',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.86',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.13',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'HTTP::Tiny' => '0.010',
+ 'Hash::Util' => '0.10',
+ 'Hash::Util::FieldHash' => '1.08',
+ 'I18N::Collate' => '1.02',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::Detect'=> '1.05',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'I18N::Langinfo' => '0.07',
+ 'IO' => '1.25_03',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Dir' => '1.07',
+ 'IO::File' => '1.14',
+ 'IO::Handle' => '1.29',
+ 'IO::Pipe' => '1.13',
+ 'IO::Poll' => '0.07',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.18',
+ 'IO::Socket' => '1.32',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.70',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.09',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'JSON::PP' => '2.27103',
+ 'JSON::PP::Boolean' => undef,
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.15',
+ 'Locale::Codes::Country'=> '3.15',
+ 'Locale::Codes::Currency'=> '3.15',
+ 'Locale::Codes::Language'=> '3.15',
+ 'Locale::Codes::Script' => '3.15',
+ 'Locale::Constants' => '3.15',
+ 'Locale::Country' => '3.15',
+ 'Locale::Currency' => '3.15',
+ 'Locale::Language' => '3.15',
+ 'Locale::Maketext' => '1.19',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Locale::Script' => '3.15',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.992',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.992',
+ 'Math::BigInt::Calc' => '1.992',
+ 'Math::BigInt::CalcEmu' => '1.992',
+ 'Math::BigInt::FastCalc'=> '0.24_02',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.26_02',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::Build' => '0.37_05',
+ 'Module::Build::Base' => '0.37_05',
+ 'Module::Build::Compat' => '0.37_05',
+ 'Module::Build::Config' => '0.37_05',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> '0.37_05',
+ 'Module::Build::Dumper' => '0.37_05',
+ 'Module::Build::ModuleInfo'=> '0.37_05',
+ 'Module::Build::Notes' => '0.37_05',
+ 'Module::Build::PPMMaker'=> '0.37_05',
+ 'Module::Build::Platform::Amiga'=> '0.37_05',
+ 'Module::Build::Platform::Default'=> '0.37_05',
+ 'Module::Build::Platform::EBCDIC'=> '0.37_05',
+ 'Module::Build::Platform::MPEiX'=> '0.37_05',
+ 'Module::Build::Platform::MacOS'=> '0.37_05',
+ 'Module::Build::Platform::RiscOS'=> '0.37_05',
+ 'Module::Build::Platform::Unix'=> '0.37_05',
+ 'Module::Build::Platform::VMS'=> '0.37_05',
+ 'Module::Build::Platform::VOS'=> '0.37_05',
+ 'Module::Build::Platform::Windows'=> '0.37_05',
+ 'Module::Build::Platform::aix'=> '0.37_05',
+ 'Module::Build::Platform::cygwin'=> '0.37_05',
+ 'Module::Build::Platform::darwin'=> '0.37_05',
+ 'Module::Build::Platform::os2'=> '0.37_05',
+ 'Module::Build::PodParser'=> '0.37_05',
+ 'Module::Build::Version'=> '0.87',
+ 'Module::Build::YAML' => '1.41',
+ 'Module::CoreList' => '2.45',
+ 'Module::Load' => '0.18',
+ 'Module::Load::Conditional'=> '0.44',
+ 'Module::Loaded' => '0.06',
+ 'Module::Metadata' => '1.000004',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'Moped::Msg' => '0.01',
+ 'NDBM_File' => '1.11',
+ 'NEXT' => '0.65',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::NNTP' => '2.24',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.38',
+ 'Net::SMTP' => '2.31',
+ 'Net::Time' => '2.10',
+ 'Net::hostent' => '1.01',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.01',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.10',
+ 'Object::Accessor' => '0.38',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.24',
+ 'Package::Constants' => '0.02',
+ 'Params::Check' => '0.28',
+ 'Parse::CPAN::Meta' => '1.4401',
+ 'Perl::OSType' => '1.002',
+ 'PerlIO' => '1.06',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11',
+ 'PerlIO::via' => '0.11',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Find' => '1.35',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Html' => '1.1',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Man' => '2.25',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.15_03',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.15',
+ 'Pod::Simple::BlackBox' => '3.15',
+ 'Pod::Simple::Checker' => '3.15',
+ 'Pod::Simple::Debug' => '3.15',
+ 'Pod::Simple::DumpAsText'=> '3.15',
+ 'Pod::Simple::DumpAsXML'=> '3.15',
+ 'Pod::Simple::HTML' => '3.15',
+ 'Pod::Simple::HTMLBatch'=> '3.15',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> '3.15',
+ 'Pod::Simple::Methody' => '3.15',
+ 'Pod::Simple::Progress' => '3.15',
+ 'Pod::Simple::PullParser'=> '3.15',
+ 'Pod::Simple::PullParserEndToken'=> '3.15',
+ 'Pod::Simple::PullParserStartToken'=> '3.15',
+ 'Pod::Simple::PullParserTextToken'=> '3.15',
+ 'Pod::Simple::PullParserToken'=> '3.15',
+ 'Pod::Simple::RTF' => '3.15',
+ 'Pod::Simple::Search' => '3.15',
+ 'Pod::Simple::SimpleTree'=> '3.15',
+ 'Pod::Simple::Text' => '3.15',
+ 'Pod::Simple::TextContent'=> '3.15',
+ 'Pod::Simple::TiedOutFH'=> '3.15',
+ 'Pod::Simple::Transcode'=> '3.15',
+ 'Pod::Simple::TranscodeDumb'=> '3.15',
+ 'Pod::Simple::TranscodeSmart'=> '3.15',
+ 'Pod::Simple::XHTML' => '3.15',
+ 'Pod::Simple::XMLOutStream'=> '3.15',
+ 'Pod::Text' => '3.15',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Pod::Usage' => '1.36',
+ 'SDBM_File' => '1.09',
+ 'Safe' => '2.29',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Search::Dict' => '1.03',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.18',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.94',
+ 'Storable' => '2.26',
+ 'Symbol' => '1.07',
+ 'Sys::Hostname' => '1.15',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'TAP::Base' => '3.22',
+ 'TAP::Formatter::Base' => '3.22',
+ 'TAP::Formatter::Color' => '3.22',
+ 'TAP::Formatter::Console'=> '3.22',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.22',
+ 'TAP::Formatter::Console::Session'=> '3.22',
+ 'TAP::Formatter::File' => '3.22',
+ 'TAP::Formatter::File::Session'=> '3.22',
+ 'TAP::Formatter::Session'=> '3.22',
+ 'TAP::Harness' => '3.22',
+ 'TAP::Object' => '3.22',
+ 'TAP::Parser' => '3.22',
+ 'TAP::Parser::Aggregator'=> '3.22',
+ 'TAP::Parser::Grammar' => '3.22',
+ 'TAP::Parser::Iterator' => '3.22',
+ 'TAP::Parser::Iterator::Array'=> '3.22',
+ 'TAP::Parser::Iterator::Process'=> '3.22',
+ 'TAP::Parser::Iterator::Stream'=> '3.22',
+ 'TAP::Parser::IteratorFactory'=> '3.22',
+ 'TAP::Parser::Multiplexer'=> '3.22',
+ 'TAP::Parser::Result' => '3.22',
+ 'TAP::Parser::Result::Bailout'=> '3.22',
+ 'TAP::Parser::Result::Comment'=> '3.22',
+ 'TAP::Parser::Result::Plan'=> '3.22',
+ 'TAP::Parser::Result::Pragma'=> '3.22',
+ 'TAP::Parser::Result::Test'=> '3.22',
+ 'TAP::Parser::Result::Unknown'=> '3.22',
+ 'TAP::Parser::Result::Version'=> '3.22',
+ 'TAP::Parser::Result::YAML'=> '3.22',
+ 'TAP::Parser::ResultFactory'=> '3.22',
+ 'TAP::Parser::Scheduler'=> '3.22',
+ 'TAP::Parser::Scheduler::Job'=> '3.22',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.22',
+ 'TAP::Parser::Source' => '3.22',
+ 'TAP::Parser::SourceHandler'=> '3.22',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.22',
+ 'TAP::Parser::SourceHandler::File'=> '3.22',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.22',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.22',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
+ 'TAP::Parser::Utils' => '3.22',
+ 'TAP::Parser::YAMLish::Reader'=> '3.22',
+ 'TAP::Parser::YAMLish::Writer'=> '3.22',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::Cap' => '1.12',
+ 'Term::Complete' => '1.402',
+ 'Term::ReadLine' => '1.07',
+ 'Term::UI' => '0.26',
+ 'Term::UI::History' => undef,
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.97_01',
+ 'Test::Builder::Module' => '0.97_01',
+ 'Test::Builder::Tester' => '1.21_01',
+ 'Test::Builder::Tester::Color'=> '1.21_01',
+ 'Test::Harness' => '3.22',
+ 'Test::More' => '0.97_01',
+ 'Test::Simple' => '0.97_01',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '2.02',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03_01',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread' => '3.02',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Tie::Array' => '1.04',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.04',
+ 'Tie::Hash::NamedCapture'=> '0.07',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.38',
+ 'Tie::Scalar' => '1.02',
+ 'Tie::StdHandle' => '4.2',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.9721_01',
+ 'Time::Local' => '1.2000',
+ 'Time::Piece' => '1.20_01',
+ 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
+ 'Time::gmtime' => '1.03',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.72',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.71',
+ 'Unicode::Normalize' => '1.10',
+ 'Unicode::UCD' => '0.31',
+ 'User::grent' => '1.01',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.05',
+ 'VMS::Filespec' => '1.12',
+ 'VMS::Stdio' => '2.4',
+ 'Version::Requirements' => '0.101020',
+ 'Win32' => '0.44',
+ 'Win32API::File' => '0.1101',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.27',
+ 'XS::Typemap' => '0.04',
+ 'XSLoader' => '0.13',
+ 'XSLoader::XSLoader' => '0.13',
+ 'attributes' => '0.13',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'autouse' => '1.06',
+ 'base' => '2.15',
+ 'bigint' => '0.26',
+ 'bignum' => '0.26',
+ 'bigrat' => '0.27',
+ 'blib' => '1.06',
+ 'bytes' => '1.04',
+ 'charnames' => '1.18',
+ 'constant' => '1.20',
+ 'deprecate' => '0.02',
+ 'diagnostics' => '1.22',
+ 'encoding' => '2.6_01',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.19',
+ 'fields' => '2.15',
+ 'filetest' => '1.02',
+ 'if' => '0.0601',
+ 'inc::latest' => '0.37_05',
+ 'integer' => '1.00',
+ 'less' => '0.03',
+ 'lib' => '0.63',
+ 'locale' => '1.00',
+ 'mro' => '1.06',
+ 'open' => '1.08',
+ 'ops' => '1.02',
+ 'overload' => '1.13',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.224',
+ 're' => '0.17',
+ 'sigtrap' => '1.05',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'subs' => '1.00',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.36',
+ 'utf8' => '1.09',
+ 'vars' => '1.02',
+ 'version' => '0.88',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.12',
+ 'warnings::register' => '1.02',
+ },
+ 5.013011 => {
+ 'AnyDBM_File' => '1.00',
+ 'App::Cpan' => '1.5701',
+ 'App::Prove' => '3.23',
+ 'App::Prove::State' => '3.23',
+ 'App::Prove::State::Result'=> '3.23',
+ 'App::Prove::State::Result::Test'=> '3.23',
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'Attribute::Handlers' => '0.89',
+ 'AutoLoader' => '5.71',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.29',
+ 'B::Concise' => '0.83',
+ 'B::Debug' => '1.16',
+ 'B::Deparse' => '1.03',
+ 'B::Lint' => '1.13',
+ 'B::Lint::Debug' => '1.12',
+ 'B::Showlex' => '1.03',
+ 'B::Terse' => '1.05',
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.52',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Fast' => '1.08',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Push' => '1.05',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.9600',
+ 'CPAN::Author' => '5.5001',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5001',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.9602',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.001',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::FTP::netrc' => '1.01',
+ 'CPAN::FirstTime' => '5.5303',
+ 'CPAN::HTTP::Client' => '1.9600',
+ 'CPAN::HTTP::Credentials'=> '1.9600',
+ 'CPAN::HandleConfig' => '5.5003',
+ 'CPAN::Index' => '1.9600',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.9600',
+ 'CPAN::Meta' => '2.110440',
+ 'CPAN::Meta::Converter' => '2.110440',
+ 'CPAN::Meta::Feature' => '2.110440',
+ 'CPAN::Meta::History' => '2.110440',
+ 'CPAN::Meta::Prereqs' => '2.110440',
+ 'CPAN::Meta::Spec' => '2.110440',
+ 'CPAN::Meta::Validator' => '2.110440',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPAN::Mirrors' => '1.9600',
+ 'CPAN::Module' => '5.5001',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Shell' => '5.5002',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPAN::URL' => '5.5',
+ 'CPAN::Version' => '5.5001',
+ 'CPANPLUS' => '0.9103',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.54',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.54',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.9103',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.9103',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => '1.20',
+ 'Carp::Heavy' => '1.20',
+ 'Class::Struct' => '0.63',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Config' => undef,
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.36',
+ 'DB' => '1.03',
+ 'DBM_Filter' => '0.04',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.821',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::DProf' => '20110228.00',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.07',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.51',
+ 'Digest::SHA' => '5.61',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'DynaLoader' => '1.13',
+ 'Encode' => '2.42',
+ 'Encode::Alias' => '2.13',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.03',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.04',
+ 'Encode::JP' => '2.04',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.13',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'English' => '1.04',
+ 'Env' => '1.02',
+ 'Errno' => '1.13',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.280202',
+ 'ExtUtils::CBuilder::Base'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
+ 'ExtUtils::Command' => '1.17',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.2209',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::Basename' => '2.81',
+ 'File::CheckTree' => '4.41',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.21',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Glob' => '1.12',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.34',
+ 'File::Spec::Win32' => '3.33',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.05',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.86',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.14',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'HTTP::Tiny' => '0.011',
+ 'Hash::Util' => '0.11',
+ 'Hash::Util::FieldHash' => '1.09',
+ 'I18N::Collate' => '1.02',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::Detect'=> '1.05',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'I18N::Langinfo' => '0.08',
+ 'IO' => '1.25_04',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Dir' => '1.08',
+ 'IO::File' => '1.15',
+ 'IO::Handle' => '1.30',
+ 'IO::Pipe' => '1.14',
+ 'IO::Poll' => '0.08',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.20',
+ 'IO::Socket' => '1.32',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.70',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.09',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'JSON::PP' => '2.27105',
+ 'JSON::PP::Boolean' => undef,
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.16',
+ 'Locale::Codes::Country'=> '3.16',
+ 'Locale::Codes::Currency'=> '3.16',
+ 'Locale::Codes::Language'=> '3.16',
+ 'Locale::Codes::Script' => '3.16',
+ 'Locale::Constants' => '3.16',
+ 'Locale::Country' => '3.16',
+ 'Locale::Currency' => '3.16',
+ 'Locale::Language' => '3.16',
+ 'Locale::Maketext' => '1.19',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Locale::Script' => '3.16',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.993',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.994',
+ 'Math::BigInt::Calc' => '1.993',
+ 'Math::BigInt::CalcEmu' => '1.993',
+ 'Math::BigInt::FastCalc'=> '0.28',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.26_02',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::Build' => '0.3800',
+ 'Module::Build::Base' => '0.3800',
+ 'Module::Build::Compat' => '0.3800',
+ 'Module::Build::Config' => '0.3800',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> '0.3800',
+ 'Module::Build::Dumper' => '0.3800',
+ 'Module::Build::ModuleInfo'=> '0.3800',
+ 'Module::Build::Notes' => '0.3800',
+ 'Module::Build::PPMMaker'=> '0.3800',
+ 'Module::Build::Platform::Amiga'=> '0.3800',
+ 'Module::Build::Platform::Default'=> '0.3800',
+ 'Module::Build::Platform::EBCDIC'=> '0.3800',
+ 'Module::Build::Platform::MPEiX'=> '0.3800',
+ 'Module::Build::Platform::MacOS'=> '0.3800',
+ 'Module::Build::Platform::RiscOS'=> '0.3800',
+ 'Module::Build::Platform::Unix'=> '0.3800',
+ 'Module::Build::Platform::VMS'=> '0.3800',
+ 'Module::Build::Platform::VOS'=> '0.3800',
+ 'Module::Build::Platform::Windows'=> '0.3800',
+ 'Module::Build::Platform::aix'=> '0.3800',
+ 'Module::Build::Platform::cygwin'=> '0.3800',
+ 'Module::Build::Platform::darwin'=> '0.3800',
+ 'Module::Build::Platform::os2'=> '0.3800',
+ 'Module::Build::PodParser'=> '0.3800',
+ 'Module::Build::Version'=> '0.87',
+ 'Module::Build::YAML' => '1.41',
+ 'Module::CoreList' => '2.46',
+ 'Module::Load' => '0.18',
+ 'Module::Load::Conditional'=> '0.44',
+ 'Module::Loaded' => '0.06',
+ 'Module::Metadata' => '1.000004',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'Moped::Msg' => '0.01',
+ 'NDBM_File' => '1.12',
+ 'NEXT' => '0.65',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::NNTP' => '2.24',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.38',
+ 'Net::SMTP' => '2.31',
+ 'Net::Time' => '2.10',
+ 'Net::hostent' => '1.01',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.01',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.10',
+ 'Object::Accessor' => '0.38',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.24',
+ 'Package::Constants' => '0.02',
+ 'Params::Check' => '0.28',
+ 'Parse::CPAN::Meta' => '1.4401',
+ 'Perl::OSType' => '1.002',
+ 'PerlIO' => '1.06',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11',
+ 'PerlIO::via' => '0.11',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Find' => '1.35',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Html' => '1.1',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Man' => '2.25',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.15_03',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.16',
+ 'Pod::Simple::BlackBox' => '3.16',
+ 'Pod::Simple::Checker' => '3.16',
+ 'Pod::Simple::Debug' => '3.16',
+ 'Pod::Simple::DumpAsText'=> '3.16',
+ 'Pod::Simple::DumpAsXML'=> '3.16',
+ 'Pod::Simple::HTML' => '3.16',
+ 'Pod::Simple::HTMLBatch'=> '3.16',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> '3.16',
+ 'Pod::Simple::Methody' => '3.16',
+ 'Pod::Simple::Progress' => '3.16',
+ 'Pod::Simple::PullParser'=> '3.16',
+ 'Pod::Simple::PullParserEndToken'=> '3.16',
+ 'Pod::Simple::PullParserStartToken'=> '3.16',
+ 'Pod::Simple::PullParserTextToken'=> '3.16',
+ 'Pod::Simple::PullParserToken'=> '3.16',
+ 'Pod::Simple::RTF' => '3.16',
+ 'Pod::Simple::Search' => '3.16',
+ 'Pod::Simple::SimpleTree'=> '3.16',
+ 'Pod::Simple::Text' => '3.16',
+ 'Pod::Simple::TextContent'=> '3.16',
+ 'Pod::Simple::TiedOutFH'=> '3.16',
+ 'Pod::Simple::Transcode'=> '3.16',
+ 'Pod::Simple::TranscodeDumb'=> '3.16',
+ 'Pod::Simple::TranscodeSmart'=> '3.16',
+ 'Pod::Simple::XHTML' => '3.16',
+ 'Pod::Simple::XMLOutStream'=> '3.16',
+ 'Pod::Text' => '3.15',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Pod::Usage' => '1.36',
+ 'SDBM_File' => '1.09',
+ 'Safe' => '2.29',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Search::Dict' => '1.03',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.18',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.94',
+ 'Storable' => '2.27',
+ 'Symbol' => '1.07',
+ 'Sys::Hostname' => '1.16',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'TAP::Base' => '3.23',
+ 'TAP::Formatter::Base' => '3.23',
+ 'TAP::Formatter::Color' => '3.23',
+ 'TAP::Formatter::Console'=> '3.23',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.23',
+ 'TAP::Formatter::Console::Session'=> '3.23',
+ 'TAP::Formatter::File' => '3.23',
+ 'TAP::Formatter::File::Session'=> '3.23',
+ 'TAP::Formatter::Session'=> '3.23',
+ 'TAP::Harness' => '3.23',
+ 'TAP::Object' => '3.23',
+ 'TAP::Parser' => '3.23',
+ 'TAP::Parser::Aggregator'=> '3.23',
+ 'TAP::Parser::Grammar' => '3.23',
+ 'TAP::Parser::Iterator' => '3.23',
+ 'TAP::Parser::Iterator::Array'=> '3.23',
+ 'TAP::Parser::Iterator::Process'=> '3.23',
+ 'TAP::Parser::Iterator::Stream'=> '3.23',
+ 'TAP::Parser::IteratorFactory'=> '3.23',
+ 'TAP::Parser::Multiplexer'=> '3.23',
+ 'TAP::Parser::Result' => '3.23',
+ 'TAP::Parser::Result::Bailout'=> '3.23',
+ 'TAP::Parser::Result::Comment'=> '3.23',
+ 'TAP::Parser::Result::Plan'=> '3.23',
+ 'TAP::Parser::Result::Pragma'=> '3.23',
+ 'TAP::Parser::Result::Test'=> '3.23',
+ 'TAP::Parser::Result::Unknown'=> '3.23',
+ 'TAP::Parser::Result::Version'=> '3.23',
+ 'TAP::Parser::Result::YAML'=> '3.23',
+ 'TAP::Parser::ResultFactory'=> '3.23',
+ 'TAP::Parser::Scheduler'=> '3.23',
+ 'TAP::Parser::Scheduler::Job'=> '3.23',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.23',
+ 'TAP::Parser::Source' => '3.23',
+ 'TAP::Parser::SourceHandler'=> '3.23',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.23',
+ 'TAP::Parser::SourceHandler::File'=> '3.23',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.23',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.23',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
+ 'TAP::Parser::Utils' => '3.23',
+ 'TAP::Parser::YAMLish::Reader'=> '3.23',
+ 'TAP::Parser::YAMLish::Writer'=> '3.23',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::Cap' => '1.12',
+ 'Term::Complete' => '1.402',
+ 'Term::ReadLine' => '1.07',
+ 'Term::UI' => '0.26',
+ 'Term::UI::History' => undef,
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.98',
+ 'Test::Builder::Module' => '0.98',
+ 'Test::Builder::Tester' => '1.22',
+ 'Test::Builder::Tester::Color'=> '1.22',
+ 'Test::Harness' => '3.23',
+ 'Test::More' => '0.98',
+ 'Test::Simple' => '0.98',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '2.02',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03_01',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread' => '3.02',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Tie::Array' => '1.04',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.04',
+ 'Tie::Hash::NamedCapture'=> '0.08',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.39',
+ 'Tie::Scalar' => '1.02',
+ 'Tie::StdHandle' => '4.2',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.9721_01',
+ 'Time::Local' => '1.2000',
+ 'Time::Piece' => '1.20_01',
+ 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
+ 'Time::gmtime' => '1.03',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.73',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.73',
+ 'Unicode::Normalize' => '1.10',
+ 'Unicode::UCD' => '0.32',
+ 'User::grent' => '1.01',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.05',
+ 'VMS::Filespec' => '1.12',
+ 'VMS::Stdio' => '2.4',
+ 'Version::Requirements' => '0.101020',
+ 'Win32' => '0.44',
+ 'Win32API::File' => '0.1101',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.27',
+ 'XS::Typemap' => '0.05',
+ 'XSLoader' => '0.13',
+ 'XSLoader::XSLoader' => '0.13',
+ 'attributes' => '0.14',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'autouse' => '1.06',
+ 'base' => '2.16',
+ 'bigint' => '0.26',
+ 'bignum' => '0.26',
+ 'bigrat' => '0.27',
+ 'blib' => '1.06',
+ 'bytes' => '1.04',
+ 'charnames' => '1.18',
+ 'constant' => '1.20',
+ 'deprecate' => '0.02',
+ 'diagnostics' => '1.22',
+ 'encoding' => '2.6_01',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.19',
+ 'fields' => '2.15',
+ 'filetest' => '1.02',
+ 'if' => '0.0601',
+ 'inc::latest' => '0.3800',
+ 'integer' => '1.00',
+ 'less' => '0.03',
+ 'lib' => '0.63',
+ 'locale' => '1.00',
+ 'mro' => '1.07',
+ 'open' => '1.08',
+ 'ops' => '1.02',
+ 'overload' => '1.13',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.225',
+ 're' => '0.17',
+ 'sigtrap' => '1.05',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'subs' => '1.00',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.36',
+ 'utf8' => '1.09',
+ 'vars' => '1.02',
+ 'version' => '0.88',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.12',
+ 'warnings::register' => '1.02',
+ },
+ 5.014000 => {
+ 'AnyDBM_File' => '1.00',
+ 'App::Cpan' => '1.5701',
+ 'App::Prove' => '3.23',
+ 'App::Prove::State' => '3.23',
+ 'App::Prove::State::Result'=> '3.23',
+ 'App::Prove::State::Result::Test'=> '3.23',
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'Attribute::Handlers' => '0.89',
+ 'AutoLoader' => '5.71',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.29',
+ 'B::Concise' => '0.83',
+ 'B::Debug' => '1.16',
+ 'B::Deparse' => '1.03',
+ 'B::Lint' => '1.13',
+ 'B::Lint::Debug' => '1.12',
+ 'B::Showlex' => '1.03',
+ 'B::Terse' => '1.05',
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.52',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Fast' => '1.08',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Push' => '1.05',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.9600',
+ 'CPAN::Author' => '5.5001',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5001',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.9602',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.001',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::FTP::netrc' => '1.01',
+ 'CPAN::FirstTime' => '5.5303',
+ 'CPAN::HTTP::Client' => '1.9600',
+ 'CPAN::HTTP::Credentials'=> '1.9600',
+ 'CPAN::HandleConfig' => '5.5003',
+ 'CPAN::Index' => '1.9600',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.9600',
+ 'CPAN::Meta' => '2.110440',
+ 'CPAN::Meta::Converter' => '2.110440',
+ 'CPAN::Meta::Feature' => '2.110440',
+ 'CPAN::Meta::History' => '2.110440',
+ 'CPAN::Meta::Prereqs' => '2.110440',
+ 'CPAN::Meta::Spec' => '2.110440',
+ 'CPAN::Meta::Validator' => '2.110440',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPAN::Mirrors' => '1.9600',
+ 'CPAN::Module' => '5.5001',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Shell' => '5.5002',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPAN::URL' => '5.5',
+ 'CPAN::Version' => '5.5001',
+ 'CPANPLUS' => '0.9103',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.54',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.54',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.9103',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.9103',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => '1.20',
+ 'Carp::Heavy' => '1.20',
+ 'Class::Struct' => '0.63',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Config' => undef,
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.36',
+ 'DB' => '1.03',
+ 'DBM_Filter' => '0.04',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.821',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::DProf' => '20110228.00',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.07',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.51',
+ 'Digest::SHA' => '5.61',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'DynaLoader' => '1.13',
+ 'Encode' => '2.42',
+ 'Encode::Alias' => '2.13',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.03',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.04',
+ 'Encode::JP' => '2.04',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.13',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'English' => '1.04',
+ 'Env' => '1.02',
+ 'Errno' => '1.13',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.280203',
+ 'ExtUtils::CBuilder::Base'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
+ 'ExtUtils::Command' => '1.17',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.2210',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::Basename' => '2.82',
+ 'File::CheckTree' => '4.41',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.21',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Glob' => '1.12',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.34',
+ 'File::Spec::Win32' => '3.33',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.05',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.86',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.14',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'HTTP::Tiny' => '0.012',
+ 'Hash::Util' => '0.11',
+ 'Hash::Util::FieldHash' => '1.09',
+ 'I18N::Collate' => '1.02',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::Detect'=> '1.05',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'I18N::Langinfo' => '0.08',
+ 'IO' => '1.25_04',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Dir' => '1.08',
+ 'IO::File' => '1.15',
+ 'IO::Handle' => '1.31',
+ 'IO::Pipe' => '1.14',
+ 'IO::Poll' => '0.08',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.20',
+ 'IO::Socket' => '1.32',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.70',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.09',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'JSON::PP' => '2.27105',
+ 'JSON::PP::Boolean' => undef,
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.16',
+ 'Locale::Codes::Country'=> '3.16',
+ 'Locale::Codes::Currency'=> '3.16',
+ 'Locale::Codes::Language'=> '3.16',
+ 'Locale::Codes::Script' => '3.16',
+ 'Locale::Constants' => '3.16',
+ 'Locale::Country' => '3.16',
+ 'Locale::Currency' => '3.16',
+ 'Locale::Language' => '3.16',
+ 'Locale::Maketext' => '1.19',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Locale::Script' => '3.16',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.993',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.994',
+ 'Math::BigInt::Calc' => '1.993',
+ 'Math::BigInt::CalcEmu' => '1.993',
+ 'Math::BigInt::FastCalc'=> '0.28',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.26_02',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::Build' => '0.3800',
+ 'Module::Build::Base' => '0.3800',
+ 'Module::Build::Compat' => '0.3800',
+ 'Module::Build::Config' => '0.3800',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> '0.3800',
+ 'Module::Build::Dumper' => '0.3800',
+ 'Module::Build::ModuleInfo'=> '0.3800',
+ 'Module::Build::Notes' => '0.3800',
+ 'Module::Build::PPMMaker'=> '0.3800',
+ 'Module::Build::Platform::Amiga'=> '0.3800',
+ 'Module::Build::Platform::Default'=> '0.3800',
+ 'Module::Build::Platform::EBCDIC'=> '0.3800',
+ 'Module::Build::Platform::MPEiX'=> '0.3800',
+ 'Module::Build::Platform::MacOS'=> '0.3800',
+ 'Module::Build::Platform::RiscOS'=> '0.3800',
+ 'Module::Build::Platform::Unix'=> '0.3800',
+ 'Module::Build::Platform::VMS'=> '0.3800',
+ 'Module::Build::Platform::VOS'=> '0.3800',
+ 'Module::Build::Platform::Windows'=> '0.3800',
+ 'Module::Build::Platform::aix'=> '0.3800',
+ 'Module::Build::Platform::cygwin'=> '0.3800',
+ 'Module::Build::Platform::darwin'=> '0.3800',
+ 'Module::Build::Platform::os2'=> '0.3800',
+ 'Module::Build::PodParser'=> '0.3800',
+ 'Module::Build::Version'=> '0.87',
+ 'Module::Build::YAML' => '1.41',
+ 'Module::CoreList' => '2.49',
+ 'Module::Load' => '0.18',
+ 'Module::Load::Conditional'=> '0.44',
+ 'Module::Loaded' => '0.06',
+ 'Module::Metadata' => '1.000004',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'Moped::Msg' => '0.01',
+ 'NDBM_File' => '1.12',
+ 'NEXT' => '0.65',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::NNTP' => '2.24',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.38',
+ 'Net::SMTP' => '2.31',
+ 'Net::Time' => '2.10',
+ 'Net::hostent' => '1.01',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.01',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.10',
+ 'Object::Accessor' => '0.38',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.24',
+ 'Package::Constants' => '0.02',
+ 'Params::Check' => '0.28',
+ 'Parse::CPAN::Meta' => '1.4401',
+ 'Perl::OSType' => '1.002',
+ 'PerlIO' => '1.07',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11',
+ 'PerlIO::via' => '0.11',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Find' => '1.35',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Html' => '1.11',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Man' => '2.25',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.15_03',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.16',
+ 'Pod::Simple::BlackBox' => '3.16',
+ 'Pod::Simple::Checker' => '3.16',
+ 'Pod::Simple::Debug' => '3.16',
+ 'Pod::Simple::DumpAsText'=> '3.16',
+ 'Pod::Simple::DumpAsXML'=> '3.16',
+ 'Pod::Simple::HTML' => '3.16',
+ 'Pod::Simple::HTMLBatch'=> '3.16',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> '3.16',
+ 'Pod::Simple::Methody' => '3.16',
+ 'Pod::Simple::Progress' => '3.16',
+ 'Pod::Simple::PullParser'=> '3.16',
+ 'Pod::Simple::PullParserEndToken'=> '3.16',
+ 'Pod::Simple::PullParserStartToken'=> '3.16',
+ 'Pod::Simple::PullParserTextToken'=> '3.16',
+ 'Pod::Simple::PullParserToken'=> '3.16',
+ 'Pod::Simple::RTF' => '3.16',
+ 'Pod::Simple::Search' => '3.16',
+ 'Pod::Simple::SimpleTree'=> '3.16',
+ 'Pod::Simple::Text' => '3.16',
+ 'Pod::Simple::TextContent'=> '3.16',
+ 'Pod::Simple::TiedOutFH'=> '3.16',
+ 'Pod::Simple::Transcode'=> '3.16',
+ 'Pod::Simple::TranscodeDumb'=> '3.16',
+ 'Pod::Simple::TranscodeSmart'=> '3.16',
+ 'Pod::Simple::XHTML' => '3.16',
+ 'Pod::Simple::XMLOutStream'=> '3.16',
+ 'Pod::Text' => '3.15',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Pod::Usage' => '1.36',
+ 'SDBM_File' => '1.09',
+ 'Safe' => '2.29',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Search::Dict' => '1.03',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.18',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.94',
+ 'Storable' => '2.27',
+ 'Symbol' => '1.07',
+ 'Sys::Hostname' => '1.16',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'TAP::Base' => '3.23',
+ 'TAP::Formatter::Base' => '3.23',
+ 'TAP::Formatter::Color' => '3.23',
+ 'TAP::Formatter::Console'=> '3.23',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.23',
+ 'TAP::Formatter::Console::Session'=> '3.23',
+ 'TAP::Formatter::File' => '3.23',
+ 'TAP::Formatter::File::Session'=> '3.23',
+ 'TAP::Formatter::Session'=> '3.23',
+ 'TAP::Harness' => '3.23',
+ 'TAP::Object' => '3.23',
+ 'TAP::Parser' => '3.23',
+ 'TAP::Parser::Aggregator'=> '3.23',
+ 'TAP::Parser::Grammar' => '3.23',
+ 'TAP::Parser::Iterator' => '3.23',
+ 'TAP::Parser::Iterator::Array'=> '3.23',
+ 'TAP::Parser::Iterator::Process'=> '3.23',
+ 'TAP::Parser::Iterator::Stream'=> '3.23',
+ 'TAP::Parser::IteratorFactory'=> '3.23',
+ 'TAP::Parser::Multiplexer'=> '3.23',
+ 'TAP::Parser::Result' => '3.23',
+ 'TAP::Parser::Result::Bailout'=> '3.23',
+ 'TAP::Parser::Result::Comment'=> '3.23',
+ 'TAP::Parser::Result::Plan'=> '3.23',
+ 'TAP::Parser::Result::Pragma'=> '3.23',
+ 'TAP::Parser::Result::Test'=> '3.23',
+ 'TAP::Parser::Result::Unknown'=> '3.23',
+ 'TAP::Parser::Result::Version'=> '3.23',
+ 'TAP::Parser::Result::YAML'=> '3.23',
+ 'TAP::Parser::ResultFactory'=> '3.23',
+ 'TAP::Parser::Scheduler'=> '3.23',
+ 'TAP::Parser::Scheduler::Job'=> '3.23',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.23',
+ 'TAP::Parser::Source' => '3.23',
+ 'TAP::Parser::SourceHandler'=> '3.23',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.23',
+ 'TAP::Parser::SourceHandler::File'=> '3.23',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.23',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.23',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
+ 'TAP::Parser::Utils' => '3.23',
+ 'TAP::Parser::YAMLish::Reader'=> '3.23',
+ 'TAP::Parser::YAMLish::Writer'=> '3.23',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::Cap' => '1.12',
+ 'Term::Complete' => '1.402',
+ 'Term::ReadLine' => '1.07',
+ 'Term::UI' => '0.26',
+ 'Term::UI::History' => undef,
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.98',
+ 'Test::Builder::Module' => '0.98',
+ 'Test::Builder::Tester' => '1.22',
+ 'Test::Builder::Tester::Color'=> '1.22',
+ 'Test::Harness' => '3.23',
+ 'Test::More' => '0.98',
+ 'Test::Simple' => '0.98',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '2.02',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03_01',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread' => '3.02',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Tie::Array' => '1.04',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.04',
+ 'Tie::Hash::NamedCapture'=> '0.08',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.39',
+ 'Tie::Scalar' => '1.02',
+ 'Tie::StdHandle' => '4.2',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.9721_01',
+ 'Time::Local' => '1.2000',
+ 'Time::Piece' => '1.20_01',
+ 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
+ 'Time::gmtime' => '1.03',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.73',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.73',
+ 'Unicode::Normalize' => '1.10',
+ 'Unicode::UCD' => '0.32',
+ 'User::grent' => '1.01',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.05',
+ 'VMS::Filespec' => '1.12',
+ 'VMS::Stdio' => '2.4',
+ 'Version::Requirements' => '0.101020',
+ 'Win32' => '0.44',
+ 'Win32API::File' => '0.1101',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.28',
+ 'XS::Typemap' => '0.05',
+ 'XSLoader' => '0.13',
+ 'XSLoader::XSLoader' => '0.13',
+ 'attributes' => '0.14',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'autouse' => '1.06',
+ 'base' => '2.16',
+ 'bigint' => '0.27',
+ 'bignum' => '0.27',
+ 'bigrat' => '0.28',
+ 'blib' => '1.06',
+ 'bytes' => '1.04',
+ 'charnames' => '1.18',
+ 'constant' => '1.21',
+ 'deprecate' => '0.02',
+ 'diagnostics' => '1.22',
+ 'encoding' => '2.6_01',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.20',
+ 'fields' => '2.15',
+ 'filetest' => '1.02',
+ 'if' => '0.0601',
+ 'inc::latest' => '0.3800',
+ 'integer' => '1.00',
+ 'less' => '0.03',
+ 'lib' => '0.63',
+ 'locale' => '1.00',
+ 'mro' => '1.07',
+ 'open' => '1.08',
+ 'ops' => '1.02',
+ 'overload' => '1.13',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.225',
+ 're' => '0.18',
+ 'sigtrap' => '1.05',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'subs' => '1.00',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.37',
+ 'utf8' => '1.09',
+ 'vars' => '1.02',
+ 'version' => '0.88',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.12',
+ 'warnings::register' => '1.02',
+ },
+ 5.014001 => {
+ 'AnyDBM_File' => '1.00',
+ 'App::Cpan' => '1.5701',
+ 'App::Prove' => '3.23',
+ 'App::Prove::State' => '3.23',
+ 'App::Prove::State::Result'=> '3.23',
+ 'App::Prove::State::Result::Test'=> '3.23',
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'Attribute::Handlers' => '0.89',
+ 'AutoLoader' => '5.71',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.29',
+ 'B::Concise' => '0.83',
+ 'B::Debug' => '1.16',
+ 'B::Deparse' => '1.04',
+ 'B::Lint' => '1.13',
+ 'B::Lint::Debug' => '1.12',
+ 'B::Showlex' => '1.03',
+ 'B::Terse' => '1.05',
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.52',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Fast' => '1.08',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Push' => '1.05',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.9600',
+ 'CPAN::Author' => '5.5001',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5001',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.9602',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.001',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::FTP::netrc' => '1.01',
+ 'CPAN::FirstTime' => '5.5303',
+ 'CPAN::HTTP::Client' => '1.9600',
+ 'CPAN::HTTP::Credentials'=> '1.9600',
+ 'CPAN::HandleConfig' => '5.5003',
+ 'CPAN::Index' => '1.9600',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.9600',
+ 'CPAN::Meta' => '2.110440',
+ 'CPAN::Meta::Converter' => '2.110440',
+ 'CPAN::Meta::Feature' => '2.110440',
+ 'CPAN::Meta::History' => '2.110440',
+ 'CPAN::Meta::Prereqs' => '2.110440',
+ 'CPAN::Meta::Spec' => '2.110440',
+ 'CPAN::Meta::Validator' => '2.110440',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPAN::Mirrors' => '1.9600',
+ 'CPAN::Module' => '5.5001',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Shell' => '5.5002',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPAN::URL' => '5.5',
+ 'CPAN::Version' => '5.5001',
+ 'CPANPLUS' => '0.9103',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.54',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.54',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.9103',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.9103',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => '1.20',
+ 'Carp::Heavy' => '1.20',
+ 'Class::Struct' => '0.63',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Config' => undef,
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.36',
+ 'DB' => '1.03',
+ 'DBM_Filter' => '0.04',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.821',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::DProf' => '20110228.00',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.07',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.51',
+ 'Digest::SHA' => '5.61',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'DynaLoader' => '1.13',
+ 'Encode' => '2.42',
+ 'Encode::Alias' => '2.13',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.03',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.04',
+ 'Encode::JP' => '2.04',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.13',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'English' => '1.04',
+ 'Env' => '1.02',
+ 'Errno' => '1.13',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.280203',
+ 'ExtUtils::CBuilder::Base'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
+ 'ExtUtils::Command' => '1.17',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.2210',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::Basename' => '2.82',
+ 'File::CheckTree' => '4.41',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.21',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Glob' => '1.12',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.34',
+ 'File::Spec::Win32' => '3.33',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.05',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.86',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.14',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'HTTP::Tiny' => '0.012',
+ 'Hash::Util' => '0.11',
+ 'Hash::Util::FieldHash' => '1.09',
+ 'I18N::Collate' => '1.02',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::Detect'=> '1.05',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'I18N::Langinfo' => '0.08',
+ 'IO' => '1.25_04',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Dir' => '1.08',
+ 'IO::File' => '1.15',
+ 'IO::Handle' => '1.31',
+ 'IO::Pipe' => '1.14',
+ 'IO::Poll' => '0.08',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.20',
+ 'IO::Socket' => '1.32',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.70',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.09',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'JSON::PP' => '2.27105',
+ 'JSON::PP::Boolean' => undef,
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.16',
+ 'Locale::Codes::Country'=> '3.16',
+ 'Locale::Codes::Currency'=> '3.16',
+ 'Locale::Codes::Language'=> '3.16',
+ 'Locale::Codes::Script' => '3.16',
+ 'Locale::Constants' => '3.16',
+ 'Locale::Country' => '3.16',
+ 'Locale::Currency' => '3.16',
+ 'Locale::Language' => '3.16',
+ 'Locale::Maketext' => '1.19',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Locale::Script' => '3.16',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.993',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.994',
+ 'Math::BigInt::Calc' => '1.993',
+ 'Math::BigInt::CalcEmu' => '1.993',
+ 'Math::BigInt::FastCalc'=> '0.28',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.26_02',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::Build' => '0.3800',
+ 'Module::Build::Base' => '0.3800',
+ 'Module::Build::Compat' => '0.3800',
+ 'Module::Build::Config' => '0.3800',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> '0.3800',
+ 'Module::Build::Dumper' => '0.3800',
+ 'Module::Build::ModuleInfo'=> '0.3800',
+ 'Module::Build::Notes' => '0.3800',
+ 'Module::Build::PPMMaker'=> '0.3800',
+ 'Module::Build::Platform::Amiga'=> '0.3800',
+ 'Module::Build::Platform::Default'=> '0.3800',
+ 'Module::Build::Platform::EBCDIC'=> '0.3800',
+ 'Module::Build::Platform::MPEiX'=> '0.3800',
+ 'Module::Build::Platform::MacOS'=> '0.3800',
+ 'Module::Build::Platform::RiscOS'=> '0.3800',
+ 'Module::Build::Platform::Unix'=> '0.3800',
+ 'Module::Build::Platform::VMS'=> '0.3800',
+ 'Module::Build::Platform::VOS'=> '0.3800',
+ 'Module::Build::Platform::Windows'=> '0.3800',
+ 'Module::Build::Platform::aix'=> '0.3800',
+ 'Module::Build::Platform::cygwin'=> '0.3800',
+ 'Module::Build::Platform::darwin'=> '0.3800',
+ 'Module::Build::Platform::os2'=> '0.3800',
+ 'Module::Build::PodParser'=> '0.3800',
+ 'Module::Build::Version'=> '0.87',
+ 'Module::Build::YAML' => '1.41',
+ 'Module::CoreList' => '2.49_01',
+ 'Module::Load' => '0.18',
+ 'Module::Load::Conditional'=> '0.44',
+ 'Module::Loaded' => '0.06',
+ 'Module::Metadata' => '1.000004',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'Moped::Msg' => '0.01',
+ 'NDBM_File' => '1.12',
+ 'NEXT' => '0.65',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::NNTP' => '2.24',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.38',
+ 'Net::SMTP' => '2.31',
+ 'Net::Time' => '2.10',
+ 'Net::hostent' => '1.01',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.01',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.10',
+ 'Object::Accessor' => '0.38',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.24',
+ 'Package::Constants' => '0.02',
+ 'Params::Check' => '0.28',
+ 'Parse::CPAN::Meta' => '1.4401',
+ 'Perl::OSType' => '1.002',
+ 'PerlIO' => '1.07',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11',
+ 'PerlIO::via' => '0.11',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Find' => '1.35',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Html' => '1.11',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Man' => '2.25',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.15_04',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.16',
+ 'Pod::Simple::BlackBox' => '3.16',
+ 'Pod::Simple::Checker' => '3.16',
+ 'Pod::Simple::Debug' => '3.16',
+ 'Pod::Simple::DumpAsText'=> '3.16',
+ 'Pod::Simple::DumpAsXML'=> '3.16',
+ 'Pod::Simple::HTML' => '3.16',
+ 'Pod::Simple::HTMLBatch'=> '3.16',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> '3.16',
+ 'Pod::Simple::Methody' => '3.16',
+ 'Pod::Simple::Progress' => '3.16',
+ 'Pod::Simple::PullParser'=> '3.16',
+ 'Pod::Simple::PullParserEndToken'=> '3.16',
+ 'Pod::Simple::PullParserStartToken'=> '3.16',
+ 'Pod::Simple::PullParserTextToken'=> '3.16',
+ 'Pod::Simple::PullParserToken'=> '3.16',
+ 'Pod::Simple::RTF' => '3.16',
+ 'Pod::Simple::Search' => '3.16',
+ 'Pod::Simple::SimpleTree'=> '3.16',
+ 'Pod::Simple::Text' => '3.16',
+ 'Pod::Simple::TextContent'=> '3.16',
+ 'Pod::Simple::TiedOutFH'=> '3.16',
+ 'Pod::Simple::Transcode'=> '3.16',
+ 'Pod::Simple::TranscodeDumb'=> '3.16',
+ 'Pod::Simple::TranscodeSmart'=> '3.16',
+ 'Pod::Simple::XHTML' => '3.16',
+ 'Pod::Simple::XMLOutStream'=> '3.16',
+ 'Pod::Text' => '3.15',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Pod::Usage' => '1.36',
+ 'SDBM_File' => '1.09',
+ 'Safe' => '2.29',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Search::Dict' => '1.03',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.18',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.94',
+ 'Storable' => '2.27',
+ 'Symbol' => '1.07',
+ 'Sys::Hostname' => '1.16',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'TAP::Base' => '3.23',
+ 'TAP::Formatter::Base' => '3.23',
+ 'TAP::Formatter::Color' => '3.23',
+ 'TAP::Formatter::Console'=> '3.23',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.23',
+ 'TAP::Formatter::Console::Session'=> '3.23',
+ 'TAP::Formatter::File' => '3.23',
+ 'TAP::Formatter::File::Session'=> '3.23',
+ 'TAP::Formatter::Session'=> '3.23',
+ 'TAP::Harness' => '3.23',
+ 'TAP::Object' => '3.23',
+ 'TAP::Parser' => '3.23',
+ 'TAP::Parser::Aggregator'=> '3.23',
+ 'TAP::Parser::Grammar' => '3.23',
+ 'TAP::Parser::Iterator' => '3.23',
+ 'TAP::Parser::Iterator::Array'=> '3.23',
+ 'TAP::Parser::Iterator::Process'=> '3.23',
+ 'TAP::Parser::Iterator::Stream'=> '3.23',
+ 'TAP::Parser::IteratorFactory'=> '3.23',
+ 'TAP::Parser::Multiplexer'=> '3.23',
+ 'TAP::Parser::Result' => '3.23',
+ 'TAP::Parser::Result::Bailout'=> '3.23',
+ 'TAP::Parser::Result::Comment'=> '3.23',
+ 'TAP::Parser::Result::Plan'=> '3.23',
+ 'TAP::Parser::Result::Pragma'=> '3.23',
+ 'TAP::Parser::Result::Test'=> '3.23',
+ 'TAP::Parser::Result::Unknown'=> '3.23',
+ 'TAP::Parser::Result::Version'=> '3.23',
+ 'TAP::Parser::Result::YAML'=> '3.23',
+ 'TAP::Parser::ResultFactory'=> '3.23',
+ 'TAP::Parser::Scheduler'=> '3.23',
+ 'TAP::Parser::Scheduler::Job'=> '3.23',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.23',
+ 'TAP::Parser::Source' => '3.23',
+ 'TAP::Parser::SourceHandler'=> '3.23',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.23',
+ 'TAP::Parser::SourceHandler::File'=> '3.23',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.23',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.23',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
+ 'TAP::Parser::Utils' => '3.23',
+ 'TAP::Parser::YAMLish::Reader'=> '3.23',
+ 'TAP::Parser::YAMLish::Writer'=> '3.23',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::Cap' => '1.12',
+ 'Term::Complete' => '1.402',
+ 'Term::ReadLine' => '1.07',
+ 'Term::UI' => '0.26',
+ 'Term::UI::History' => undef,
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.98',
+ 'Test::Builder::Module' => '0.98',
+ 'Test::Builder::Tester' => '1.22',
+ 'Test::Builder::Tester::Color'=> '1.22',
+ 'Test::Harness' => '3.23',
+ 'Test::More' => '0.98',
+ 'Test::Simple' => '0.98',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '2.02',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03_01',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread' => '3.02',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Tie::Array' => '1.04',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.04',
+ 'Tie::Hash::NamedCapture'=> '0.08',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.39',
+ 'Tie::Scalar' => '1.02',
+ 'Tie::StdHandle' => '4.2',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.9721_01',
+ 'Time::Local' => '1.2000',
+ 'Time::Piece' => '1.20_01',
+ 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
+ 'Time::gmtime' => '1.03',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.73',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.73',
+ 'Unicode::Normalize' => '1.10',
+ 'Unicode::UCD' => '0.32',
+ 'User::grent' => '1.01',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.05',
+ 'VMS::Filespec' => '1.12',
+ 'VMS::Stdio' => '2.4',
+ 'Version::Requirements' => '0.101020',
+ 'Win32' => '0.44',
+ 'Win32API::File' => '0.1101',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.28',
+ 'XS::Typemap' => '0.05',
+ 'XSLoader' => '0.13',
+ 'XSLoader::XSLoader' => '0.13',
+ 'attributes' => '0.14',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'autouse' => '1.06',
+ 'base' => '2.16',
+ 'bigint' => '0.27',
+ 'bignum' => '0.27',
+ 'bigrat' => '0.28',
+ 'blib' => '1.06',
+ 'bytes' => '1.04',
+ 'charnames' => '1.18',
+ 'constant' => '1.21',
+ 'deprecate' => '0.02',
+ 'diagnostics' => '1.22',
+ 'encoding' => '2.6_01',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.20',
+ 'fields' => '2.15',
+ 'filetest' => '1.02',
+ 'if' => '0.0601',
+ 'inc::latest' => '0.3800',
+ 'integer' => '1.00',
+ 'less' => '0.03',
+ 'lib' => '0.63',
+ 'locale' => '1.00',
+ 'mro' => '1.07',
+ 'open' => '1.08',
+ 'ops' => '1.02',
+ 'overload' => '1.13',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.225',
+ 're' => '0.18',
+ 'sigtrap' => '1.05',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'subs' => '1.00',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.37',
+ 'utf8' => '1.09',
+ 'vars' => '1.02',
+ 'version' => '0.88',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.12',
+ 'warnings::register' => '1.02',
+ },
+ 5.014002 => {
+ 'AnyDBM_File' => '1.00',
+ 'App::Cpan' => '1.5701',
+ 'App::Prove' => '3.23',
+ 'App::Prove::State' => '3.23',
+ 'App::Prove::State::Result'=> '3.23',
+ 'App::Prove::State::Result::Test'=> '3.23',
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'Attribute::Handlers' => '0.89',
+ 'AutoLoader' => '5.71',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.29',
+ 'B::Concise' => '0.83',
+ 'B::Debug' => '1.16',
+ 'B::Deparse' => '1.04',
+ 'B::Lint' => '1.13',
+ 'B::Lint::Debug' => '1.12',
+ 'B::Showlex' => '1.03',
+ 'B::Terse' => '1.05',
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.52',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Fast' => '1.08',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Push' => '1.05',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.9600_01',
+ 'CPAN::Author' => '5.5001',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5001',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.9602_01',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.001',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::FTP::netrc' => '1.01',
+ 'CPAN::FirstTime' => '5.5303',
+ 'CPAN::HTTP::Client' => '1.9600',
+ 'CPAN::HTTP::Credentials'=> '1.9600',
+ 'CPAN::HandleConfig' => '5.5003',
+ 'CPAN::Index' => '1.9600',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.9600',
+ 'CPAN::Meta' => '2.110440',
+ 'CPAN::Meta::Converter' => '2.110440',
+ 'CPAN::Meta::Feature' => '2.110440',
+ 'CPAN::Meta::History' => '2.110440',
+ 'CPAN::Meta::Prereqs' => '2.110440',
+ 'CPAN::Meta::Spec' => '2.110440',
+ 'CPAN::Meta::Validator' => '2.110440',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPAN::Mirrors' => '1.9600',
+ 'CPAN::Module' => '5.5001',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Shell' => '5.5002',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPAN::URL' => '5.5',
+ 'CPAN::Version' => '5.5001',
+ 'CPANPLUS' => '0.9103',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.54',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.54',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.9103',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.9103',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => '1.20',
+ 'Carp::Heavy' => '1.20',
+ 'Class::Struct' => '0.63',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Config' => undef,
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.36',
+ 'DB' => '1.03',
+ 'DBM_Filter' => '0.04',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.821',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::DProf' => '20110228.00',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.07',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.51',
+ 'Digest::SHA' => '5.61',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'DynaLoader' => '1.13',
+ 'Encode' => '2.42_01',
+ 'Encode::Alias' => '2.13',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.03',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.04',
+ 'Encode::JP' => '2.04',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.13',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'English' => '1.04',
+ 'Env' => '1.02',
+ 'Errno' => '1.13',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.280203',
+ 'ExtUtils::CBuilder::Base'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
+ 'ExtUtils::Command' => '1.17',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.2210',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::Basename' => '2.82',
+ 'File::CheckTree' => '4.41',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.21',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Glob' => '1.13',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.34',
+ 'File::Spec::Win32' => '3.33',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.05',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.86',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.14',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'HTTP::Tiny' => '0.012',
+ 'Hash::Util' => '0.11',
+ 'Hash::Util::FieldHash' => '1.09',
+ 'I18N::Collate' => '1.02',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::Detect'=> '1.05',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'I18N::Langinfo' => '0.08',
+ 'IO' => '1.25_04',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Dir' => '1.08',
+ 'IO::File' => '1.15',
+ 'IO::Handle' => '1.31',
+ 'IO::Pipe' => '1.14',
+ 'IO::Poll' => '0.08',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.20',
+ 'IO::Socket' => '1.32',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.70',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.09',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'JSON::PP' => '2.27105',
+ 'JSON::PP::Boolean' => undef,
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.16',
+ 'Locale::Codes::Country'=> '3.16',
+ 'Locale::Codes::Currency'=> '3.16',
+ 'Locale::Codes::Language'=> '3.16',
+ 'Locale::Codes::Script' => '3.16',
+ 'Locale::Constants' => '3.16',
+ 'Locale::Country' => '3.16',
+ 'Locale::Currency' => '3.16',
+ 'Locale::Language' => '3.16',
+ 'Locale::Maketext' => '1.19',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Locale::Script' => '3.16',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.993',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.994',
+ 'Math::BigInt::Calc' => '1.993',
+ 'Math::BigInt::CalcEmu' => '1.993',
+ 'Math::BigInt::FastCalc'=> '0.28',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.26_02',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::Build' => '0.3800',
+ 'Module::Build::Base' => '0.3800',
+ 'Module::Build::Compat' => '0.3800',
+ 'Module::Build::Config' => '0.3800',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> '0.3800',
+ 'Module::Build::Dumper' => '0.3800',
+ 'Module::Build::ModuleInfo'=> '0.3800',
+ 'Module::Build::Notes' => '0.3800',
+ 'Module::Build::PPMMaker'=> '0.3800',
+ 'Module::Build::Platform::Amiga'=> '0.3800',
+ 'Module::Build::Platform::Default'=> '0.3800',
+ 'Module::Build::Platform::EBCDIC'=> '0.3800',
+ 'Module::Build::Platform::MPEiX'=> '0.3800',
+ 'Module::Build::Platform::MacOS'=> '0.3800',
+ 'Module::Build::Platform::RiscOS'=> '0.3800',
+ 'Module::Build::Platform::Unix'=> '0.3800',
+ 'Module::Build::Platform::VMS'=> '0.3800',
+ 'Module::Build::Platform::VOS'=> '0.3800',
+ 'Module::Build::Platform::Windows'=> '0.3800',
+ 'Module::Build::Platform::aix'=> '0.3800',
+ 'Module::Build::Platform::cygwin'=> '0.3800',
+ 'Module::Build::Platform::darwin'=> '0.3800',
+ 'Module::Build::Platform::os2'=> '0.3800',
+ 'Module::Build::PodParser'=> '0.3800',
+ 'Module::Build::Version'=> '0.87',
+ 'Module::Build::YAML' => '1.41',
+ 'Module::CoreList' => '2.49_02',
+ 'Module::Load' => '0.18',
+ 'Module::Load::Conditional'=> '0.44',
+ 'Module::Loaded' => '0.06',
+ 'Module::Metadata' => '1.000004',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'Moped::Msg' => '0.01',
+ 'NDBM_File' => '1.12',
+ 'NEXT' => '0.65',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::NNTP' => '2.24',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.38',
+ 'Net::SMTP' => '2.31',
+ 'Net::Time' => '2.10',
+ 'Net::hostent' => '1.01',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.01',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.10',
+ 'Object::Accessor' => '0.38',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.24',
+ 'Package::Constants' => '0.02',
+ 'Params::Check' => '0.28',
+ 'Parse::CPAN::Meta' => '1.4401',
+ 'Perl::OSType' => '1.002',
+ 'PerlIO' => '1.07',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11_01',
+ 'PerlIO::via' => '0.11',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Find' => '1.35',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Html' => '1.11',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Man' => '2.25',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.15_04',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.16',
+ 'Pod::Simple::BlackBox' => '3.16',
+ 'Pod::Simple::Checker' => '3.16',
+ 'Pod::Simple::Debug' => '3.16',
+ 'Pod::Simple::DumpAsText'=> '3.16',
+ 'Pod::Simple::DumpAsXML'=> '3.16',
+ 'Pod::Simple::HTML' => '3.16',
+ 'Pod::Simple::HTMLBatch'=> '3.16',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> '3.16',
+ 'Pod::Simple::Methody' => '3.16',
+ 'Pod::Simple::Progress' => '3.16',
+ 'Pod::Simple::PullParser'=> '3.16',
+ 'Pod::Simple::PullParserEndToken'=> '3.16',
+ 'Pod::Simple::PullParserStartToken'=> '3.16',
+ 'Pod::Simple::PullParserTextToken'=> '3.16',
+ 'Pod::Simple::PullParserToken'=> '3.16',
+ 'Pod::Simple::RTF' => '3.16',
+ 'Pod::Simple::Search' => '3.16',
+ 'Pod::Simple::SimpleTree'=> '3.16',
+ 'Pod::Simple::Text' => '3.16',
+ 'Pod::Simple::TextContent'=> '3.16',
+ 'Pod::Simple::TiedOutFH'=> '3.16',
+ 'Pod::Simple::Transcode'=> '3.16',
+ 'Pod::Simple::TranscodeDumb'=> '3.16',
+ 'Pod::Simple::TranscodeSmart'=> '3.16',
+ 'Pod::Simple::XHTML' => '3.16',
+ 'Pod::Simple::XMLOutStream'=> '3.16',
+ 'Pod::Text' => '3.15',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Pod::Usage' => '1.36',
+ 'SDBM_File' => '1.09',
+ 'Safe' => '2.29',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Search::Dict' => '1.03',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.18',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.94',
+ 'Storable' => '2.27',
+ 'Symbol' => '1.07',
+ 'Sys::Hostname' => '1.16',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'TAP::Base' => '3.23',
+ 'TAP::Formatter::Base' => '3.23',
+ 'TAP::Formatter::Color' => '3.23',
+ 'TAP::Formatter::Console'=> '3.23',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.23',
+ 'TAP::Formatter::Console::Session'=> '3.23',
+ 'TAP::Formatter::File' => '3.23',
+ 'TAP::Formatter::File::Session'=> '3.23',
+ 'TAP::Formatter::Session'=> '3.23',
+ 'TAP::Harness' => '3.23',
+ 'TAP::Object' => '3.23',
+ 'TAP::Parser' => '3.23',
+ 'TAP::Parser::Aggregator'=> '3.23',
+ 'TAP::Parser::Grammar' => '3.23',
+ 'TAP::Parser::Iterator' => '3.23',
+ 'TAP::Parser::Iterator::Array'=> '3.23',
+ 'TAP::Parser::Iterator::Process'=> '3.23',
+ 'TAP::Parser::Iterator::Stream'=> '3.23',
+ 'TAP::Parser::IteratorFactory'=> '3.23',
+ 'TAP::Parser::Multiplexer'=> '3.23',
+ 'TAP::Parser::Result' => '3.23',
+ 'TAP::Parser::Result::Bailout'=> '3.23',
+ 'TAP::Parser::Result::Comment'=> '3.23',
+ 'TAP::Parser::Result::Plan'=> '3.23',
+ 'TAP::Parser::Result::Pragma'=> '3.23',
+ 'TAP::Parser::Result::Test'=> '3.23',
+ 'TAP::Parser::Result::Unknown'=> '3.23',
+ 'TAP::Parser::Result::Version'=> '3.23',
+ 'TAP::Parser::Result::YAML'=> '3.23',
+ 'TAP::Parser::ResultFactory'=> '3.23',
+ 'TAP::Parser::Scheduler'=> '3.23',
+ 'TAP::Parser::Scheduler::Job'=> '3.23',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.23',
+ 'TAP::Parser::Source' => '3.23',
+ 'TAP::Parser::SourceHandler'=> '3.23',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.23',
+ 'TAP::Parser::SourceHandler::File'=> '3.23',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.23',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.23',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
+ 'TAP::Parser::Utils' => '3.23',
+ 'TAP::Parser::YAMLish::Reader'=> '3.23',
+ 'TAP::Parser::YAMLish::Writer'=> '3.23',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::Cap' => '1.12',
+ 'Term::Complete' => '1.402',
+ 'Term::ReadLine' => '1.07',
+ 'Term::UI' => '0.26',
+ 'Term::UI::History' => undef,
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.98',
+ 'Test::Builder::Module' => '0.98',
+ 'Test::Builder::Tester' => '1.22',
+ 'Test::Builder::Tester::Color'=> '1.22',
+ 'Test::Harness' => '3.23',
+ 'Test::More' => '0.98',
+ 'Test::Simple' => '0.98',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '2.02',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03_01',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread' => '3.02',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Tie::Array' => '1.04',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.04',
+ 'Tie::Hash::NamedCapture'=> '0.08',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.39',
+ 'Tie::Scalar' => '1.02',
+ 'Tie::StdHandle' => '4.2',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.9721_01',
+ 'Time::Local' => '1.2000',
+ 'Time::Piece' => '1.20_01',
+ 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
+ 'Time::gmtime' => '1.03',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.73',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.73',
+ 'Unicode::Normalize' => '1.10',
+ 'Unicode::UCD' => '0.32',
+ 'User::grent' => '1.01',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.05',
+ 'VMS::Filespec' => '1.12',
+ 'VMS::Stdio' => '2.4',
+ 'Version::Requirements' => '0.101020',
+ 'Win32' => '0.44',
+ 'Win32API::File' => '0.1101',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.28',
+ 'XS::Typemap' => '0.05',
+ 'XSLoader' => '0.13',
+ 'XSLoader::XSLoader' => '0.13',
+ 'attributes' => '0.14',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'autouse' => '1.06',
+ 'base' => '2.16',
+ 'bigint' => '0.27',
+ 'bignum' => '0.27',
+ 'bigrat' => '0.28',
+ 'blib' => '1.06',
+ 'bytes' => '1.04',
+ 'charnames' => '1.18',
+ 'constant' => '1.21',
+ 'deprecate' => '0.02',
+ 'diagnostics' => '1.22',
+ 'encoding' => '2.6_01',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.20',
+ 'fields' => '2.15',
+ 'filetest' => '1.02',
+ 'if' => '0.0601',
+ 'inc::latest' => '0.3800',
+ 'integer' => '1.00',
+ 'less' => '0.03',
+ 'lib' => '0.63',
+ 'locale' => '1.00',
+ 'mro' => '1.07',
+ 'open' => '1.08',
+ 'ops' => '1.02',
+ 'overload' => '1.13',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.225',
+ 're' => '0.18',
+ 'sigtrap' => '1.05',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'subs' => '1.00',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.37',
+ 'utf8' => '1.09',
+ 'vars' => '1.02',
+ 'version' => '0.88',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.12',
+ 'warnings::register' => '1.02',
+ },
);
%deprecated = (
@@ -21841,9 +25765,28 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Shell' => '1',
'Switch' => '1',
},
+ 5.013009 => {
+ 'Shell' => '1',
+ },
+ 5.013010 => {
+ 'Shell' => '1',
+ },
+ 5.013011 => {
+ 'Shell' => '1',
+ },
+ 5.014000 => {
+ 'Shell' => '1',
+ },
+ 5.014001 => {
+ 'Shell' => '1',
+ },
+ 5.014002 => {
+ 'Shell' => '1',
+ },
);
%upstream = (
+ 'AnyDBM_File' => 'blead',
'App::Cpan' => 'cpan',
'App::Prove' => 'cpan',
'App::Prove::State' => 'cpan',
@@ -21886,11 +25829,21 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPAN::FTP' => 'cpan',
'CPAN::FTP::netrc' => 'cpan',
'CPAN::FirstTime' => 'cpan',
+ 'CPAN::HTTP::Client' => 'cpan',
+ 'CPAN::HTTP::Credentials'=> 'cpan',
'CPAN::HandleConfig' => 'cpan',
'CPAN::Index' => 'cpan',
'CPAN::InfoObj' => 'cpan',
'CPAN::Kwalify' => 'cpan',
'CPAN::LWP::UserAgent' => 'cpan',
+ 'CPAN::Meta' => 'cpan',
+ 'CPAN::Meta::Converter' => 'cpan',
+ 'CPAN::Meta::Feature' => 'cpan',
+ 'CPAN::Meta::History' => 'cpan',
+ 'CPAN::Meta::Prereqs' => 'cpan',
+ 'CPAN::Meta::Spec' => 'cpan',
+ 'CPAN::Meta::Validator' => 'cpan',
+ 'CPAN::Meta::YAML' => 'cpan',
'CPAN::Mirrors' => 'cpan',
'CPAN::Module' => 'cpan',
'CPAN::Nox' => 'cpan',
@@ -21945,6 +25898,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Compress::Zlib' => 'cpan',
'Cwd' => 'blead',
'DB_File' => undef,
+ 'Devel::DProf' => 'cpan',
+ 'Devel::DProf::dprof::V'=> 'cpan',
'Devel::InnerPackage' => 'cpan',
'Devel::PPPort' => 'cpan',
'Digest' => 'cpan',
@@ -22044,6 +25999,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Filter::Simple' => 'blead',
'Filter::Util::Call' => undef,
'Getopt::Long' => 'cpan',
+ 'HTTP::Tiny' => 'cpan',
'IO::Compress::Adapter::Bzip2'=> 'cpan',
'IO::Compress::Adapter::Deflate'=> 'cpan',
'IO::Compress::Adapter::Identity'=> 'cpan',
@@ -22075,9 +26031,11 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'IPC::Semaphore' => 'cpan',
'IPC::SharedMem' => 'cpan',
'IPC::SysV' => 'cpan',
- 'List::Util' => undef,
- 'List::Util::PP' => undef,
- 'List::Util::XS' => undef,
+ 'JSON::PP' => 'cpan',
+ 'JSON::PP::Boolean' => 'cpan',
+ 'List::Util' => 'cpan',
+ 'List::Util::PP' => 'cpan',
+ 'List::Util::XS' => 'cpan',
'Locale::Codes' => 'cpan',
'Locale::Codes::Country'=> 'cpan',
'Locale::Codes::Currency'=> 'cpan',
@@ -22148,6 +26106,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Load' => 'cpan',
'Module::Load::Conditional'=> 'cpan',
'Module::Loaded' => 'cpan',
+ 'Module::Metadata' => 'cpan',
'Module::Pluggable' => 'cpan',
'Module::Pluggable::Object'=> 'cpan',
'NEXT' => 'cpan',
@@ -22170,6 +26129,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Package::Constants' => 'cpan',
'Params::Check' => 'cpan',
'Parse::CPAN::Meta' => 'cpan',
+ 'Perl::OSType' => 'cpan',
'PerlIO::via::QuotedPrint'=> undef,
'Pod::Checker' => undef,
'Pod::Escapes' => undef,
@@ -22227,8 +26187,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Pod::Text::Termcap' => 'cpan',
'Pod::Usage' => undef,
'Safe' => 'blead',
- 'Scalar::Util' => undef,
- 'Scalar::Util::PP' => undef,
+ 'Scalar::Util' => 'cpan',
+ 'Scalar::Util::PP' => 'cpan',
'SelfLoader' => 'blead',
'Shell' => undef,
'Storable' => 'blead',
@@ -22299,7 +26259,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Tie::File' => 'first-come',
'Tie::RefHash' => 'cpan',
'Time::HiRes' => undef,
- 'Time::Local' => 'blead',
+ 'Time::Local' => 'cpan',
'Time::Piece' => undef,
'Time::Piece::Seconds' => undef,
'Unicode::Collate' => 'first-come',
@@ -22311,9 +26271,11 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Unicode::Collate::CJK::Stroke'=> 'first-come',
'Unicode::Collate::Locale'=> 'first-come',
'Unicode::Normalize' => 'first-come',
+ 'Unicode::UCD' => 'blead',
'VMS::DCLsym' => undef,
'VMS::Filespec' => undef,
'VMS::Stdio' => undef,
+ 'Version::Requirements' => 'cpan',
'Win32' => 'cpan',
'Win32API::File' => 'cpan',
'Win32API::File::ExtUtils::Myconst2perl'=> 'cpan',
@@ -22344,6 +26306,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
);
%bug_tracker = (
+ 'AnyDBM_File' => undef,
'App::Cpan' => undef,
'App::Prove' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'App::Prove::State' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -22383,11 +26346,21 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPAN::FTP' => undef,
'CPAN::FTP::netrc' => undef,
'CPAN::FirstTime' => undef,
+ 'CPAN::HTTP::Client' => undef,
+ 'CPAN::HTTP::Credentials'=> undef,
'CPAN::HandleConfig' => undef,
'CPAN::Index' => undef,
'CPAN::InfoObj' => undef,
'CPAN::Kwalify' => undef,
'CPAN::LWP::UserAgent' => undef,
+ 'CPAN::Meta' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::Converter' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::Feature' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::History' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::Prereqs' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::Spec' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::Validator' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::YAML' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML',
'CPAN::Mirrors' => undef,
'CPAN::Module' => undef,
'CPAN::Nox' => undef,
@@ -22442,6 +26415,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Compress::Zlib' => undef,
'Cwd' => undef,
'DB_File' => undef,
+ 'Devel::DProf' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Devel-DProf',
+ 'Devel::DProf::dprof::V'=> undef,
'Devel::InnerPackage' => undef,
'Devel::PPPort' => undef,
'Digest' => undef,
@@ -22541,6 +26516,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Filter::Simple' => undef,
'Filter::Util::Call' => undef,
'Getopt::Long' => undef,
+ 'HTTP::Tiny' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny',
'IO::Compress::Adapter::Bzip2'=> undef,
'IO::Compress::Adapter::Deflate'=> undef,
'IO::Compress::Adapter::Identity'=> undef,
@@ -22572,6 +26548,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'IPC::Semaphore' => undef,
'IPC::SharedMem' => undef,
'IPC::SysV' => undef,
+ 'JSON::PP' => undef,
+ 'JSON::PP::Boolean' => undef,
'List::Util' => undef,
'List::Util::PP' => undef,
'List::Util::XS' => undef,
@@ -22644,6 +26622,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Load' => undef,
'Module::Load::Conditional'=> undef,
'Module::Loaded' => undef,
+ 'Module::Metadata' => undef,
'Module::Pluggable' => undef,
'Module::Pluggable::Object'=> undef,
'NEXT' => undef,
@@ -22666,6 +26645,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Package::Constants' => undef,
'Params::Check' => undef,
'Parse::CPAN::Meta' => undef,
+ 'Perl::OSType' => undef,
'PerlIO::via::QuotedPrint'=> undef,
'Pod::Checker' => undef,
'Pod::Escapes' => undef,
@@ -22807,6 +26787,8 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Unicode::Collate::CJK::Stroke'=> undef,
'Unicode::Collate::Locale'=> undef,
'Unicode::Normalize' => undef,
+ 'Unicode::UCD' => undef,
+ 'Version::Requirements' => undef,
'Win32' => undef,
'Win32API::File' => undef,
'Win32API::File::ExtUtils::Myconst2perl'=> undef,
@@ -22840,16 +26822,19 @@ $released{'5.010000'} = $released{5.01};
$released{'5.011000'} = $released{5.011};
$released{'5.012000'} = $released{5.012};
$released{'5.013000'} = $released{5.013};
+$released{'5.014000'} = $released{5.014};
$version{'5.000'} = $version{5};
$version{'5.010000'} = $version{5.01};
$version{'5.011000'} = $version{5.011};
$version{'5.012000'} = $version{5.012};
$version{'5.013000'} = $version{5.013};
+$version{'5.014000'} = $version{5.014};
$deprecated{'5.011000'} = $deprecated{5.011};
$deprecated{'5.012000'} = $deprecated{5.012};
$deprecated{'5.013000'} = $deprecated{5.013};
+$deprecated{'5.014000'} = $deprecated{5.014};
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/Module/Load.pm b/Master/tlpkg/tlperl/lib/Module/Load.pm
index 08f64b2b2c0..d1269da72c4 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load.pm
@@ -1,6 +1,6 @@
package Module::Load;
-$VERSION = '0.16';
+$VERSION = '0.18';
use strict;
use File::Spec ();
@@ -141,9 +141,9 @@ If the argument matches only C<[\w:']>, it must be a module
=item *
If the argument matches only C<\w>, it could either be a module or a
-file. We will try to find C<file> first in C<@INC> and if that fails,
-we will try to find C<file.pm> in @INC.
-If both fail, we die with the respective error messages.
+file. We will try to find C<file.pm> first in C<@INC> and if that
+fails, we will try to find C<file> in @INC. If both fail, we die with
+the respective error messages.
=back
diff --git a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
index 1bceb4432d7..be8984e8ba8 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
@@ -18,7 +18,7 @@ BEGIN {
$FIND_VERSION $ERROR $CHECK_INC_HASH];
use Exporter;
@ISA = qw[Exporter];
- $VERSION = '0.38';
+ $VERSION = '0.44';
$VERBOSE = 0;
$DEPRECATED = 0;
$FIND_VERSION = 1;
@@ -85,7 +85,7 @@ and so forth.
=head1 Methods
-=head1 $href = check_install( module => NAME [, version => VERSION, verbose => BOOL ] );
+=head2 $href = check_install( module => NAME [, version => VERSION, verbose => BOOL ] );
C<check_install> allows you to verify if a certain module is installed
or not. You may call it with the following arguments:
@@ -204,6 +204,8 @@ sub check_install {
if ( ref $dir ) {
### @INC hook -- we invoke it and get the filehandle back
### this is actually documented behaviour as of 5.8 ;)
+
+ my $existed_in_inc = $INC{$file_inc};
if (UNIVERSAL::isa($dir, 'CODE')) {
($fh) = $dir->($dir, $file);
@@ -222,6 +224,8 @@ sub check_install {
}
$filename = $INC{$file_inc} || $file;
+
+ delete $INC{$file_inc} if not $existed_in_inc;
} else {
$filename = File::Spec->catfile($dir, $file);
@@ -339,7 +343,7 @@ sub _parse_version {
### the following regexp & eval statement comes from the
### ExtUtils::MakeMaker source (EU::MM_Unix->parse_version)
### Following #18892, which tells us the original
- ### regex breaks under -T, we must modifiy it so
+ ### regex breaks under -T, we must modify it so
### it captures the entire expression, and eval /that/
### rather than $_, which is insecure.
my $taint_safe_str = do { $str =~ /(^.*$)/sm; $1 };
@@ -607,7 +611,7 @@ The default is 1;
This controls whether C<Module::Load::Conditional> checks your
C<%INC> hash to see if a module is available. By default, only
C<@INC> is scanned to see if a module is physically on your
-filesystem, or avialable via an C<@INC-hook>. Setting this variable
+filesystem, or available via an C<@INC-hook>. Setting this variable
to C<true> will trust any entries in C<%INC> and return them for
you.
diff --git a/Master/tlpkg/tlperl/lib/Module/Metadata.pm b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
new file mode 100644
index 00000000000..9d602261d5d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
@@ -0,0 +1,756 @@
+# -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*-
+# vim:ts=8:sw=2:et:sta:sts=2
+package Module::Metadata;
+
+# Adapted from Perl-licensed code originally distributed with
+# Module-Build by Ken Williams
+
+# This module provides routines to gather information about
+# perl modules (assuming this may be expanded in the distant
+# parrot future to look at other types of modules).
+
+use strict;
+use vars qw($VERSION);
+$VERSION = '1.000004';
+$VERSION = eval $VERSION;
+
+use File::Spec;
+use IO::File;
+use version 0.87;
+BEGIN {
+ if ($INC{'Log/Contextual.pm'}) {
+ Log::Contextual->import('log_info');
+ } else {
+ *log_info = sub (&) { warn $_[0]->() };
+ }
+}
+use File::Find qw(find);
+
+my $V_NUM_REGEXP = qr{v?[0-9._]+}; # crudely, a v-string or decimal
+
+my $PKG_REGEXP = qr{ # match a package declaration
+ ^[\s\{;]* # intro chars on a line
+ package # the word 'package'
+ \s+ # whitespace
+ ([\w:]+) # a package name
+ \s* # optional whitespace
+ ($V_NUM_REGEXP)? # optional version number
+ \s* # optional whitesapce
+ ; # semicolon line terminator
+}x;
+
+my $VARNAME_REGEXP = qr{ # match fully-qualified VERSION name
+ ([\$*]) # sigil - $ or *
+ (
+ ( # optional leading package name
+ (?:::|\')? # possibly starting like just :: (Ì la $::VERSION)
+ (?:\w+(?:::|\'))* # Foo::Bar:: ...
+ )?
+ VERSION
+ )\b
+}x;
+
+my $VERS_REGEXP = qr{ # match a VERSION definition
+ (?:
+ \(\s*$VARNAME_REGEXP\s*\) # with parens
+ |
+ $VARNAME_REGEXP # without parens
+ )
+ \s*
+ =[^=~] # = but not ==, nor =~
+}x;
+
+
+sub new_from_file {
+ my $class = shift;
+ my $filename = File::Spec->rel2abs( shift );
+
+ return undef unless defined( $filename ) && -f $filename;
+ return $class->_init(undef, $filename, @_);
+}
+
+sub new_from_module {
+ my $class = shift;
+ my $module = shift;
+ my %props = @_;
+
+ $props{inc} ||= \@INC;
+ my $filename = $class->find_module_by_name( $module, $props{inc} );
+ return undef unless defined( $filename ) && -f $filename;
+ return $class->_init($module, $filename, %props);
+}
+
+{
+
+ my $compare_versions = sub {
+ my ($v1, $op, $v2) = @_;
+ $v1 = version->new($v1)
+ unless UNIVERSAL::isa($v1,'version');
+
+ my $eval_str = "\$v1 $op \$v2";
+ my $result = eval $eval_str;
+ log_info { "error comparing versions: '$eval_str' $@" } if $@;
+
+ return $result;
+ };
+
+ my $normalize_version = sub {
+ my ($version) = @_;
+ if ( $version =~ /[=<>!,]/ ) { # logic, not just version
+ # take as is without modification
+ }
+ elsif ( ref $version eq 'version' ) { # version objects
+ $version = $version->is_qv ? $version->normal : $version->stringify;
+ }
+ elsif ( $version =~ /^[^v][^.]*\.[^.]+\./ ) { # no leading v, multiple dots
+ # normalize string tuples without "v": "1.2.3" -> "v1.2.3"
+ $version = "v$version";
+ }
+ else {
+ # leave alone
+ }
+ return $version;
+ };
+
+ # separate out some of the conflict resolution logic
+
+ my $resolve_module_versions = sub {
+ my $packages = shift;
+
+ my( $file, $version );
+ my $err = '';
+ foreach my $p ( @$packages ) {
+ if ( defined( $p->{version} ) ) {
+ if ( defined( $version ) ) {
+ if ( $compare_versions->( $version, '!=', $p->{version} ) ) {
+ $err .= " $p->{file} ($p->{version})\n";
+ } else {
+ # same version declared multiple times, ignore
+ }
+ } else {
+ $file = $p->{file};
+ $version = $p->{version};
+ }
+ }
+ $file ||= $p->{file} if defined( $p->{file} );
+ }
+
+ if ( $err ) {
+ $err = " $file ($version)\n" . $err;
+ }
+
+ my %result = (
+ file => $file,
+ version => $version,
+ err => $err
+ );
+
+ return \%result;
+ };
+
+ sub package_versions_from_directory {
+ my ( $class, $dir, $files ) = @_;
+
+ my @files;
+
+ if ( $files ) {
+ @files = @$files;
+ } else {
+ find( {
+ wanted => sub {
+ push @files, $_ if -f $_ && /\.pm$/;
+ },
+ no_chdir => 1,
+ }, $dir );
+ }
+
+ # First, we enumerate all packages & versions,
+ # separating into primary & alternative candidates
+ my( %prime, %alt );
+ foreach my $file (@files) {
+ my $mapped_filename = File::Spec->abs2rel( $file, $dir );
+ my @path = split( /\//, $mapped_filename );
+ (my $prime_package = join( '::', @path )) =~ s/\.pm$//;
+
+ my $pm_info = $class->new_from_file( $file );
+
+ foreach my $package ( $pm_info->packages_inside ) {
+ next if $package eq 'main'; # main can appear numerous times, ignore
+ next if $package eq 'DB'; # special debugging package, ignore
+ next if grep /^_/, split( /::/, $package ); # private package, ignore
+
+ my $version = $pm_info->version( $package );
+
+ if ( $package eq $prime_package ) {
+ if ( exists( $prime{$package} ) ) {
+ # M::B::ModuleInfo will handle this conflict
+ die "Unexpected conflict in '$package'; multiple versions found.\n";
+ } else {
+ $prime{$package}{file} = $mapped_filename;
+ $prime{$package}{version} = $version if defined( $version );
+ }
+ } else {
+ push( @{$alt{$package}}, {
+ file => $mapped_filename,
+ version => $version,
+ } );
+ }
+ }
+ }
+
+ # Then we iterate over all the packages found above, identifying conflicts
+ # and selecting the "best" candidate for recording the file & version
+ # for each package.
+ foreach my $package ( keys( %alt ) ) {
+ my $result = $resolve_module_versions->( $alt{$package} );
+
+ if ( exists( $prime{$package} ) ) { # primary package selected
+
+ if ( $result->{err} ) {
+ # Use the selected primary package, but there are conflicting
+ # errors among multiple alternative packages that need to be
+ # reported
+ log_info {
+ "Found conflicting versions for package '$package'\n" .
+ " $prime{$package}{file} ($prime{$package}{version})\n" .
+ $result->{err}
+ };
+
+ } elsif ( defined( $result->{version} ) ) {
+ # There is a primary package selected, and exactly one
+ # alternative package
+
+ if ( exists( $prime{$package}{version} ) &&
+ defined( $prime{$package}{version} ) ) {
+ # Unless the version of the primary package agrees with the
+ # version of the alternative package, report a conflict
+ if ( $compare_versions->(
+ $prime{$package}{version}, '!=', $result->{version}
+ )
+ ) {
+
+ log_info {
+ "Found conflicting versions for package '$package'\n" .
+ " $prime{$package}{file} ($prime{$package}{version})\n" .
+ " $result->{file} ($result->{version})\n"
+ };
+ }
+
+ } else {
+ # The prime package selected has no version so, we choose to
+ # use any alternative package that does have a version
+ $prime{$package}{file} = $result->{file};
+ $prime{$package}{version} = $result->{version};
+ }
+
+ } else {
+ # no alt package found with a version, but we have a prime
+ # package so we use it whether it has a version or not
+ }
+
+ } else { # No primary package was selected, use the best alternative
+
+ if ( $result->{err} ) {
+ log_info {
+ "Found conflicting versions for package '$package'\n" .
+ $result->{err}
+ };
+ }
+
+ # Despite possible conflicting versions, we choose to record
+ # something rather than nothing
+ $prime{$package}{file} = $result->{file};
+ $prime{$package}{version} = $result->{version}
+ if defined( $result->{version} );
+ }
+ }
+
+ # Normalize versions. Can't use exists() here because of bug in YAML::Node.
+ # XXX "bug in YAML::Node" comment seems irrelvant -- dagolden, 2009-05-18
+ for (grep defined $_->{version}, values %prime) {
+ $_->{version} = $normalize_version->( $_->{version} );
+ }
+
+ return \%prime;
+ }
+}
+
+
+sub _init {
+ my $class = shift;
+ my $module = shift;
+ my $filename = shift;
+ my %props = @_;
+
+ my( %valid_props, @valid_props );
+ @valid_props = qw( collect_pod inc );
+ @valid_props{@valid_props} = delete( @props{@valid_props} );
+ warn "Unknown properties: @{[keys %props]}\n" if scalar( %props );
+
+ my %data = (
+ module => $module,
+ filename => $filename,
+ version => undef,
+ packages => [],
+ versions => {},
+ pod => {},
+ pod_headings => [],
+ collect_pod => 0,
+
+ %valid_props,
+ );
+
+ my $self = bless(\%data, $class);
+
+ $self->_parse_file();
+
+ unless($self->{module} and length($self->{module})) {
+ my ($v, $d, $f) = File::Spec->splitpath($self->{filename});
+ if($f =~ /\.pm$/) {
+ $f =~ s/\..+$//;
+ my @candidates = grep /$f$/, @{$self->{packages}};
+ $self->{module} = shift(@candidates); # punt
+ }
+ else {
+ if(grep /main/, @{$self->{packages}}) {
+ $self->{module} = 'main';
+ }
+ else {
+ $self->{module} = $self->{packages}[0] || '';
+ }
+ }
+ }
+
+ $self->{version} = $self->{versions}{$self->{module}}
+ if defined( $self->{module} );
+
+ return $self;
+}
+
+# class method
+sub _do_find_module {
+ my $class = shift;
+ my $module = shift || die 'find_module_by_name() requires a package name';
+ my $dirs = shift || \@INC;
+
+ my $file = File::Spec->catfile(split( /::/, $module));
+ foreach my $dir ( @$dirs ) {
+ my $testfile = File::Spec->catfile($dir, $file);
+ return [ File::Spec->rel2abs( $testfile ), $dir ]
+ if -e $testfile and !-d _; # For stuff like ExtUtils::xsubpp
+ return [ File::Spec->rel2abs( "$testfile.pm" ), $dir ]
+ if -e "$testfile.pm";
+ }
+ return;
+}
+
+# class method
+sub find_module_by_name {
+ my $found = shift()->_do_find_module(@_) or return;
+ return $found->[0];
+}
+
+# class method
+sub find_module_dir_by_name {
+ my $found = shift()->_do_find_module(@_) or return;
+ return $found->[1];
+}
+
+
+# given a line of perl code, attempt to parse it if it looks like a
+# $VERSION assignment, returning sigil, full name, & package name
+sub _parse_version_expression {
+ my $self = shift;
+ my $line = shift;
+
+ my( $sig, $var, $pkg );
+ if ( $line =~ $VERS_REGEXP ) {
+ ( $sig, $var, $pkg ) = $2 ? ( $1, $2, $3 ) : ( $4, $5, $6 );
+ if ( $pkg ) {
+ $pkg = ($pkg eq '::') ? 'main' : $pkg;
+ $pkg =~ s/::$//;
+ }
+ }
+
+ return ( $sig, $var, $pkg );
+}
+
+sub _parse_file {
+ my $self = shift;
+
+ my $filename = $self->{filename};
+ my $fh = IO::File->new( $filename )
+ or die( "Can't open '$filename': $!" );
+
+ $self->_parse_fh($fh);
+}
+
+sub _parse_fh {
+ my ($self, $fh) = @_;
+
+ my( $in_pod, $seen_end, $need_vers ) = ( 0, 0, 0 );
+ my( @pkgs, %vers, %pod, @pod );
+ my $pkg = 'main';
+ my $pod_sect = '';
+ my $pod_data = '';
+
+ while (defined( my $line = <$fh> )) {
+ my $line_num = $.;
+
+ chomp( $line );
+ next if $line =~ /^\s*#/;
+
+ $in_pod = ($line =~ /^=(?!cut)/) ? 1 : ($line =~ /^=cut/) ? 0 : $in_pod;
+
+ # Would be nice if we could also check $in_string or something too
+ last if !$in_pod && $line =~ /^__(?:DATA|END)__$/;
+
+ if ( $in_pod || $line =~ /^=cut/ ) {
+
+ if ( $line =~ /^=head\d\s+(.+)\s*$/ ) {
+ push( @pod, $1 );
+ if ( $self->{collect_pod} && length( $pod_data ) ) {
+ $pod{$pod_sect} = $pod_data;
+ $pod_data = '';
+ }
+ $pod_sect = $1;
+
+
+ } elsif ( $self->{collect_pod} ) {
+ $pod_data .= "$line\n";
+
+ }
+
+ } else {
+
+ $pod_sect = '';
+ $pod_data = '';
+
+ # parse $line to see if it's a $VERSION declaration
+ my( $vers_sig, $vers_fullname, $vers_pkg ) =
+ $self->_parse_version_expression( $line );
+
+ if ( $line =~ $PKG_REGEXP ) {
+ $pkg = $1;
+ push( @pkgs, $pkg ) unless grep( $pkg eq $_, @pkgs );
+ $vers{$pkg} = (defined $2 ? $2 : undef) unless exists( $vers{$pkg} );
+ $need_vers = defined $2 ? 0 : 1;
+
+ # VERSION defined with full package spec, i.e. $Module::VERSION
+ } elsif ( $vers_fullname && $vers_pkg ) {
+ push( @pkgs, $vers_pkg ) unless grep( $vers_pkg eq $_, @pkgs );
+ $need_vers = 0 if $vers_pkg eq $pkg;
+
+ unless ( defined $vers{$vers_pkg} && length $vers{$vers_pkg} ) {
+ $vers{$vers_pkg} =
+ $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
+ } else {
+ # Warn unless the user is using the "$VERSION = eval
+ # $VERSION" idiom (though there are probably other idioms
+ # that we should watch out for...)
+ warn <<"EOM" unless $line =~ /=\s*eval/;
+Package '$vers_pkg' already declared with version '$vers{$vers_pkg}',
+ignoring subsequent declaration on line $line_num.
+EOM
+ }
+
+ # first non-comment line in undeclared package main is VERSION
+ } elsif ( !exists($vers{main}) && $pkg eq 'main' && $vers_fullname ) {
+ $need_vers = 0;
+ my $v =
+ $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
+ $vers{$pkg} = $v;
+ push( @pkgs, 'main' );
+
+ # first non-comment line in undeclared package defines package main
+ } elsif ( !exists($vers{main}) && $pkg eq 'main' && $line =~ /\w+/ ) {
+ $need_vers = 1;
+ $vers{main} = '';
+ push( @pkgs, 'main' );
+
+ # only keep if this is the first $VERSION seen
+ } elsif ( $vers_fullname && $need_vers ) {
+ $need_vers = 0;
+ my $v =
+ $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
+
+
+ unless ( defined $vers{$pkg} && length $vers{$pkg} ) {
+ $vers{$pkg} = $v;
+ } else {
+ warn <<"EOM";
+Package '$pkg' already declared with version '$vers{$pkg}'
+ignoring new version '$v' on line $line_num.
+EOM
+ }
+
+ }
+
+ }
+
+ }
+
+ if ( $self->{collect_pod} && length($pod_data) ) {
+ $pod{$pod_sect} = $pod_data;
+ }
+
+ $self->{versions} = \%vers;
+ $self->{packages} = \@pkgs;
+ $self->{pod} = \%pod;
+ $self->{pod_headings} = \@pod;
+}
+
+{
+my $pn = 0;
+sub _evaluate_version_line {
+ my $self = shift;
+ my( $sigil, $var, $line ) = @_;
+
+ # Some of this code came from the ExtUtils:: hierarchy.
+
+ # We compile into $vsub because 'use version' would cause
+ # compiletime/runtime issues with local()
+ my $vsub;
+ $pn++; # everybody gets their own package
+ my $eval = qq{BEGIN { q# Hide from _packages_inside()
+ #; package Module::Metadata::_version::p$pn;
+ use version;
+ no strict;
+
+ local $sigil$var;
+ \$$var=undef;
+ \$vsub = sub {
+ $line;
+ \$$var
+ };
+ }};
+
+ local $^W;
+ # Try to get the $VERSION
+ eval $eval;
+ # some modules say $VERSION = $Foo::Bar::VERSION, but Foo::Bar isn't
+ # installed, so we need to hunt in ./lib for it
+ if ( $@ =~ /Can't locate/ && -d 'lib' ) {
+ local @INC = ('lib',@INC);
+ eval $eval;
+ }
+ warn "Error evaling version line '$eval' in $self->{filename}: $@\n"
+ if $@;
+ (ref($vsub) eq 'CODE') or
+ die "failed to build version sub for $self->{filename}";
+ my $result = eval { $vsub->() };
+ die "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
+ if $@;
+
+ # Upgrade it into a version object
+ my $version = eval { _dwim_version($result) };
+
+ die "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
+ unless defined $version; # "0" is OK!
+
+ return $version;
+}
+}
+
+# Try to DWIM when things fail the lax version test in obvious ways
+{
+ my @version_prep = (
+ # Best case, it just works
+ sub { return shift },
+
+ # If we still don't have a version, try stripping any
+ # trailing junk that is prohibited by lax rules
+ sub {
+ my $v = shift;
+ $v =~ s{([0-9])[a-z-].*$}{$1}i; # 1.23-alpha or 1.23b
+ return $v;
+ },
+
+ # Activestate apparently creates custom versions like '1.23_45_01', which
+ # cause version.pm to think it's an invalid alpha. So check for that
+ # and strip them
+ sub {
+ my $v = shift;
+ my $num_dots = () = $v =~ m{(\.)}g;
+ my $num_unders = () = $v =~ m{(_)}g;
+ my $leading_v = substr($v,0,1) eq 'v';
+ if ( ! $leading_v && $num_dots < 2 && $num_unders > 1 ) {
+ $v =~ s{_}{}g;
+ $num_unders = () = $v =~ m{(_)}g;
+ }
+ return $v;
+ },
+
+ # Worst case, try numifying it like we would have before version objects
+ sub {
+ my $v = shift;
+ no warnings 'numeric';
+ return 0 + $v;
+ },
+
+ );
+
+ sub _dwim_version {
+ my ($result) = shift;
+
+ return $result if ref($result) eq 'version';
+
+ my ($version, $error);
+ for my $f (@version_prep) {
+ $result = $f->($result);
+ $version = eval { version->new($result) };
+ $error ||= $@ if $@; # capture first failure
+ last if defined $version;
+ }
+
+ die $error unless defined $version;
+
+ return $version;
+ }
+}
+
+############################################################
+
+# accessors
+sub name { $_[0]->{module} }
+
+sub filename { $_[0]->{filename} }
+sub packages_inside { @{$_[0]->{packages}} }
+sub pod_inside { @{$_[0]->{pod_headings}} }
+sub contains_pod { $#{$_[0]->{pod_headings}} }
+
+sub version {
+ my $self = shift;
+ my $mod = shift || $self->{module};
+ my $vers;
+ if ( defined( $mod ) && length( $mod ) &&
+ exists( $self->{versions}{$mod} ) ) {
+ return $self->{versions}{$mod};
+ } else {
+ return undef;
+ }
+}
+
+sub pod {
+ my $self = shift;
+ my $sect = shift;
+ if ( defined( $sect ) && length( $sect ) &&
+ exists( $self->{pod}{$sect} ) ) {
+ return $self->{pod}{$sect};
+ } else {
+ return undef;
+ }
+}
+
+1;
+
+=head1 NAME
+
+Module::Metadata - Gather package and POD information from perl module files
+
+=head1 DESCRIPTION
+
+=over 4
+
+=item new_from_file($filename, collect_pod => 1)
+
+Construct a C<ModuleInfo> object given the path to a file. Takes an optional
+argument C<collect_pod> which is a boolean that determines whether
+POD data is collected and stored for reference. POD data is not
+collected by default. POD headings are always collected.
+
+=item new_from_module($module, collect_pod => 1, inc => \@dirs)
+
+Construct a C<ModuleInfo> object given a module or package name. In addition
+to accepting the C<collect_pod> argument as described above, this
+method accepts a C<inc> argument which is a reference to an array of
+of directories to search for the module. If none are given, the
+default is @INC.
+
+=item name()
+
+Returns the name of the package represented by this module. If there
+are more than one packages, it makes a best guess based on the
+filename. If it's a script (i.e. not a *.pm) the package name is
+'main'.
+
+=item version($package)
+
+Returns the version as defined by the $VERSION variable for the
+package as returned by the C<name> method if no arguments are
+given. If given the name of a package it will attempt to return the
+version of that package if it is specified in the file.
+
+=item filename()
+
+Returns the absolute path to the file.
+
+=item packages_inside()
+
+Returns a list of packages.
+
+=item pod_inside()
+
+Returns a list of POD sections.
+
+=item contains_pod()
+
+Returns true if there is any POD in the file.
+
+=item pod($section)
+
+Returns the POD data in the given section.
+
+=item find_module_by_name($module, \@dirs)
+
+Returns the path to a module given the module or package name. A list
+of directories can be passed in as an optional parameter, otherwise
+@INC is searched.
+
+Can be called as either an object or a class method.
+
+=item find_module_dir_by_name($module, \@dirs)
+
+Returns the entry in C<@dirs> (or C<@INC> by default) that contains
+the module C<$module>. A list of directories can be passed in as an
+optional parameter, otherwise @INC is searched.
+
+Can be called as either an object or a class method.
+
+=item package_versions_from_directory($dir, \@files?)
+
+Scans C<$dir> for .pm files (unless C<@files> is given, in which case looks
+for those files in C<$dir> - and reads each file for packages and versions,
+returning a hashref of the form:
+
+ {
+ 'Package::Name' => {
+ version => '0.123',
+ file => 'Package/Name.pm'
+ },
+ 'OtherPackage::Name' => ...
+ }
+
+=item log_info (internal)
+
+Used internally to perform logging; imported from Log::Contextual if
+Log::Contextual has already been loaded, otherwise simply calls warn.
+
+=back
+
+=head1 AUTHOR
+
+Ken Williams <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>
+
+Released as Module::Metadata by Matt S Trout (mst) <mst@shadowcat.co.uk> with
+assistance from David Golden (xdg) <dagolden@cpan.org>
+
+=head1 COPYRIGHT
+
+Copyright (c) 2001-2011 Ken Williams. All rights reserved.
+
+This library is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/NEXT.pm b/Master/tlpkg/tlperl/lib/NEXT.pm
index 1e59280241e..a77bb387433 100644
--- a/Master/tlpkg/tlperl/lib/NEXT.pm
+++ b/Master/tlpkg/tlperl/lib/NEXT.pm
@@ -1,5 +1,5 @@
package NEXT;
-$VERSION = '0.64';
+$VERSION = '0.65';
use Carp;
use strict;
use overload ();
diff --git a/Master/tlpkg/tlperl/lib/Net/HTTP.pm b/Master/tlpkg/tlperl/lib/Net/HTTP.pm
index 120de285f71..1ee6db82a30 100644
--- a/Master/tlpkg/tlperl/lib/Net/HTTP.pm
+++ b/Master/tlpkg/tlperl/lib/Net/HTTP.pm
@@ -3,7 +3,7 @@ package Net::HTTP;
use strict;
use vars qw($VERSION @ISA $SOCKET_CLASS);
-$VERSION = "5.834";
+$VERSION = "6.03";
unless ($SOCKET_CLASS) {
eval { require IO::Socket::INET } || require IO::Socket;
$SOCKET_CLASS = "IO::Socket::INET";
diff --git a/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm b/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm
index 22cc272b47e..738e95f3347 100644
--- a/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm
+++ b/Master/tlpkg/tlperl/lib/Net/HTTP/Methods.pm
@@ -5,7 +5,7 @@ require 5.005; # 4-arg substr
use strict;
use vars qw($VERSION);
-$VERSION = "5.834";
+$VERSION = "6.00";
my $CRLF = "\015\012"; # "\r\n" is not portable
diff --git a/Master/tlpkg/tlperl/lib/Net/HTTP/NB.pm b/Master/tlpkg/tlperl/lib/Net/HTTP/NB.pm
index e4145116f6a..78871116338 100644
--- a/Master/tlpkg/tlperl/lib/Net/HTTP/NB.pm
+++ b/Master/tlpkg/tlperl/lib/Net/HTTP/NB.pm
@@ -3,7 +3,7 @@ package Net::HTTP::NB;
use strict;
use vars qw($VERSION @ISA);
-$VERSION = "5.810";
+$VERSION = "6.00";
require Net::HTTP;
@ISA=qw(Net::HTTP);
diff --git a/Master/tlpkg/tlperl/lib/Net/HTTPS.pm b/Master/tlpkg/tlperl/lib/Net/HTTPS.pm
index bfed714870c..5ab56a7d43e 100644
--- a/Master/tlpkg/tlperl/lib/Net/HTTPS.pm
+++ b/Master/tlpkg/tlperl/lib/Net/HTTPS.pm
@@ -3,33 +3,40 @@ package Net::HTTPS;
use strict;
use vars qw($VERSION $SSL_SOCKET_CLASS @ISA);
-$VERSION = "5.819";
+$VERSION = "6.02";
# Figure out which SSL implementation to use
if ($SSL_SOCKET_CLASS) {
# somebody already set it
}
-elsif ($Net::SSL::VERSION) {
- $SSL_SOCKET_CLASS = "Net::SSL";
+elsif ($SSL_SOCKET_CLASS = $ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS}) {
+ unless ($SSL_SOCKET_CLASS =~ /^(IO::Socket::SSL|Net::SSL)\z/) {
+ die "Bad socket class [$SSL_SOCKET_CLASS]";
+ }
+ eval "require $SSL_SOCKET_CLASS";
+ die $@ if $@;
}
elsif ($IO::Socket::SSL::VERSION) {
$SSL_SOCKET_CLASS = "IO::Socket::SSL"; # it was already loaded
}
+elsif ($Net::SSL::VERSION) {
+ $SSL_SOCKET_CLASS = "Net::SSL";
+}
else {
- eval { require Net::SSL; }; # from Crypt-SSLeay
+ eval { require IO::Socket::SSL; };
if ($@) {
my $old_errsv = $@;
eval {
- require IO::Socket::SSL;
+ require Net::SSL; # from Crypt-SSLeay
};
if ($@) {
$old_errsv =~ s/\s\(\@INC contains:.*\)/)/g;
die $old_errsv . $@;
}
- $SSL_SOCKET_CLASS = "IO::Socket::SSL";
+ $SSL_SOCKET_CLASS = "Net::SSL";
}
else {
- $SSL_SOCKET_CLASS = "Net::SSL";
+ $SSL_SOCKET_CLASS = "IO::Socket::SSL";
}
}
@@ -44,6 +51,20 @@ sub configure {
sub http_connect {
my($self, $cnf) = @_;
+ if ($self->isa("Net::SSL")) {
+ if ($cnf->{SSL_verify_mode}) {
+ if (my $f = $cnf->{SSL_ca_file}) {
+ $ENV{HTTPS_CA_FILE} = $f;
+ }
+ if (my $f = $cnf->{SSL_ca_path}) {
+ $ENV{HTTPS_CA_DIR} = $f;
+ }
+ }
+ if ($cnf->{SSL_verifycn_scheme}) {
+ $@ = "Net::SSL from Crypt-SSLeay can't verify hostnames; either install IO::Socket::SSL or turn off verification by setting the PERL_LWP_SSL_VERIFY_HOSTNAME environment variable to 0";
+ return undef;
+ }
+ }
$self->SUPER::configure($cnf);
}
@@ -51,9 +72,39 @@ sub http_default_port {
443;
}
-# The underlying SSLeay classes fails to work if the socket is
-# placed in non-blocking mode. This override of the blocking
-# method makes sure it stays the way it was created.
-sub blocking { } # noop
+if ($SSL_SOCKET_CLASS eq "Net::SSL") {
+ # The underlying SSLeay classes fails to work if the socket is
+ # placed in non-blocking mode. This override of the blocking
+ # method makes sure it stays the way it was created.
+ *blocking = sub { };
+}
1;
+
+=head1 NAME
+
+Net::HTTPS - Low-level HTTP over SSL/TLS connection (client)
+
+=head1 DESCRIPTION
+
+The C<Net::HTTPS> is a low-level HTTP over SSL/TLS client. The interface is the same
+as the interface for C<Net::HTTP>, but the constructor method take additional parameters
+as accepted by L<IO::Socket::SSL>. The C<Net::HTTPS> object isa C<IO::Socket::SSL>
+too, which make it inherit additional methods from that base class.
+
+For historical reasons this module also supports using C<Net::SSL> (from the
+Crypt-SSLeay distribution) as its SSL driver and base class. This base is
+automatically selected if available and C<IO::Socket::SSL> isn't. You might
+also force which implementation to use by setting $Net::HTTPS::SSL_SOCKET_CLASS
+before loading this module. If not set this variable is initialized from the
+C<PERL_NET_HTTPS_SSL_SOCKET_CLASS> environment variable.
+
+=head1 ENVIRONMENT
+
+You might set the C<PERL_NET_HTTPS_SSL_SOCKET_CLASS> environment variable to the name
+of the base SSL implementation (and Net::HTTPS base class) to use. The default
+is C<IO::Socket::SSL>. Currently the only other supported value is C<Net::SSL>.
+
+=head1 SEE ALSO
+
+L<Net::HTTP>, L<IO::Socket::SSL>
diff --git a/Master/tlpkg/tlperl/lib/Net/Ping.pm b/Master/tlpkg/tlperl/lib/Net/Ping.pm
index e9fff93eeaa..a7adf21bedf 100644
--- a/Master/tlpkg/tlperl/lib/Net/Ping.pm
+++ b/Master/tlpkg/tlperl/lib/Net/Ping.pm
@@ -16,7 +16,7 @@ use Carp;
@ISA = qw(Exporter);
@EXPORT = qw(pingecho);
-$VERSION = "2.36";
+$VERSION = "2.38";
sub SOL_IP { 0; };
sub IP_TOS { 1; };
@@ -1545,7 +1545,7 @@ be 1 if the host is reachable and 0 if it is not. For most practical
purposes, undef and 0 and can be treated as the same case. In array
context, the elapsed time as well as the string form of the ip the
host resolved to are also returned. The elapsed time value will
-be a float, as retuned by the Time::HiRes::time() function, if hires()
+be a float, as returned by the Time::HiRes::time() function, if hires()
has been previously called, otherwise it is returned as an integer.
=item $p->source_verify( { 0 | 1 } );
@@ -1772,6 +1772,4 @@ Copyright (c) 2001, Colin McMillen. All rights reserved.
This program is free software; you may redistribute it and/or
modify it under the same terms as Perl itself.
-$Id: Ping.pm,v 1.86 2003/06/27 21:31:07 rob Exp $
-
=cut
diff --git a/Master/tlpkg/tlperl/lib/Object/Accessor.pm b/Master/tlpkg/tlperl/lib/Object/Accessor.pm
index 7166200af19..c7933ec8666 100644
--- a/Master/tlpkg/tlperl/lib/Object/Accessor.pm
+++ b/Master/tlpkg/tlperl/lib/Object/Accessor.pm
@@ -10,7 +10,7 @@ use Data::Dumper;
### disable string overloading for callbacks
require overload;
-$VERSION = '0.36';
+$VERSION = '0.38';
$FATAL = 0;
$DEBUG = 0;
@@ -59,7 +59,7 @@ Object::Accessor - interface to create per object accessors
$obj = My::Class->new; # create base object
$bool = $obj->mk_accessors('foo'); # create accessors, etc...
- ### make all attempted access to non-existant accessors fatal
+ ### make all attempted access to non-existent accessors fatal
### (defaults to false)
$Object::Accessor::FATAL = 1;
@@ -118,7 +118,7 @@ Any arguments given to C<new> are passed straight to C<mk_accessors>.
If you want to be able to assign to your accessors as if they
were C<lvalue>s, you should create your object in the
-C<Object::Acccessor::Lvalue> namespace instead. See the section
+C<Object::Accessor::Lvalue> namespace instead. See the section
on C<LVALUE ACCESSORS> below.
=cut
@@ -546,7 +546,7 @@ sub ___autoload {
=head2 $val = $self->___get( METHOD_NAME );
Method to directly access the value of the given accessor in the
-object. It circumvents all calls to allow checks, callbakcs, etc.
+object. It circumvents all calls to allow checks, callbacks, etc.
Use only if you C<Know What You Are Doing>! General usage for
this functionality would be in your own custom callbacks.
@@ -564,7 +564,7 @@ sub ___get {
=head2 $bool = $self->___set( METHOD_NAME => VALUE );
Method to directly set the value of the given accessor in the
-object. It circumvents all calls to allow checks, callbakcs, etc.
+object. It circumvents all calls to allow checks, callbacks, etc.
Use only if you C<Know What You Are Doing>! General usage for
this functionality would be in your own custom callbacks.
@@ -674,7 +674,7 @@ C<perl 5.8.x> feature. See perldoc L<perl58delta> for details.
=item * Allow handlers
Due to the nature of C<lvalue subs>, we never get access to the
-value you are assigning, so we can not check it againt your allow
+value you are assigning, so we can not check it against your allow
handler. Allow handlers are therefor unsupported under C<lvalue>
conditions.
@@ -772,7 +772,7 @@ See C<perldoc perlsub> for details.
=head2 $Object::Accessor::FATAL
-Set this variable to true to make all attempted access to non-existant
+Set this variable to true to make all attempted access to non-existent
accessors be fatal.
This defaults to C<false>.
diff --git a/Master/tlpkg/tlperl/lib/Opcode.pm b/Master/tlpkg/tlperl/lib/Opcode.pm
index 9dbbce0b5de..21d90797997 100644
--- a/Master/tlpkg/tlperl/lib/Opcode.pm
+++ b/Master/tlpkg/tlperl/lib/Opcode.pm
@@ -6,11 +6,11 @@ use strict;
our($VERSION, @ISA, @EXPORT_OK);
-$VERSION = "1.15";
+$VERSION = "1.18";
use Carp;
use Exporter ();
-use XSLoader ();
+use XSLoader;
BEGIN {
@ISA = qw(Exporter);
@@ -28,7 +28,7 @@ sub opset_to_hex ($);
sub opdump (;$);
use subs @EXPORT_OK;
-XSLoader::load 'Opcode', $VERSION;
+XSLoader::load();
_init_optags();
@@ -311,7 +311,7 @@ invert_opset function.
rv2av aassign aelem aelemfast aslice av2arylen
rv2hv helem hslice each values keys exists delete aeach akeys avalues
- boolkeys
+ boolkeys reach rvalues rkeys
preinc i_preinc predec i_predec postinc i_postinc postdec i_postdec
int hex oct abs pow multiply i_multiply divide i_divide
@@ -325,7 +325,7 @@ invert_opset function.
substr vec stringify study pos length index rindex ord chr
- ucfirst lcfirst uc lc quotemeta trans chop schop chomp schomp
+ ucfirst lcfirst uc lc quotemeta trans transr chop schop chomp schomp
match split qr
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pm b/Master/tlpkg/tlperl/lib/POSIX.pm
index ffbd9de0a29..990b73baaf0 100644
--- a/Master/tlpkg/tlperl/lib/POSIX.pm
+++ b/Master/tlpkg/tlperl/lib/POSIX.pm
@@ -4,11 +4,11 @@ use warnings;
our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
-our $VERSION = "1.19";
+our $VERSION = "1.24";
use AutoLoader;
-use XSLoader ();
+require XSLoader;
use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
@@ -33,24 +33,18 @@ sub croak { require Carp; goto &Carp::croak }
# declare usage to assist AutoLoad
sub usage;
-XSLoader::load 'POSIX', $VERSION;
+XSLoader::load();
sub AUTOLOAD {
- no strict;
no warnings 'uninitialized';
if ($AUTOLOAD =~ /::(_?[a-z])/) {
# require AutoLoader;
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD
}
- local $! = 0;
my $constname = $AUTOLOAD;
$constname =~ s/.*:://;
- my ($error, $val) = constant($constname);
- croak $error if $error;
- *$AUTOLOAD = sub { $val };
-
- goto &$AUTOLOAD;
+ constant($constname);
}
package POSIX::SigAction;
@@ -829,7 +823,8 @@ sub load_imports {
SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
+ SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIGBUS
+ SIGPOLL SIGPROF SIGSYS SIGTRAP SIGURG SIGVTALRM SIGXCPU SIGXFSZ
SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
raise sigaction signal sigpending sigprocmask sigsuspend)],
@@ -912,7 +907,7 @@ sub load_imports {
my %export;
@export{map {@$_} values %EXPORT_TAGS} = ();
# Doing the de-dup with a temporary hash has the advantage that the SVs in
- # @EXPORT are actually shared hash key sacalars, which will save some memory.
+ # @EXPORT are actually shared hash key scalars, which will save some memory.
push @EXPORT, keys %export;
}
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pod b/Master/tlpkg/tlperl/lib/POSIX.pod
index 64852e94b6b..f7bd0f3a3c2 100644
--- a/Master/tlpkg/tlperl/lib/POSIX.pod
+++ b/Master/tlpkg/tlperl/lib/POSIX.pod
@@ -1196,6 +1196,10 @@ Synopsis:
Returns C<undef> on failure.
+Note that you can't reliably block or unblock a signal from its own signal
+handler if you're using safe signals. Other signals can be blocked or unblocked
+reliably.
+
=item sigsetjmp
C<sigsetjmp()> is C-specific: use C<eval {}> instead,
@@ -2184,33 +2188,37 @@ WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG
=item WIFEXITED
-WIFEXITED($?) returns true if the child process exited normally
-(C<exit()> or by falling off the end of C<main()>)
+WIFEXITED(${^CHILD_ERROR_NATIVE}) returns true if the child process
+exited normally (C<exit()> or by falling off the end of C<main()>)
=item WEXITSTATUS
-WEXITSTATUS($?) returns the normal exit status of the child process
-(only meaningful if WIFEXITED($?) is true)
+WEXITSTATUS(${^CHILD_ERROR_NATIVE}) returns the normal exit status of
+the child process (only meaningful if WIFEXITED(${^CHILD_ERROR_NATIVE})
+is true)
=item WIFSIGNALED
-WIFSIGNALED($?) returns true if the child process terminated because
-of a signal
+WIFSIGNALED(${^CHILD_ERROR_NATIVE}) returns true if the child process
+terminated because of a signal
=item WTERMSIG
-WTERMSIG($?) returns the signal the child process terminated for
-(only meaningful if WIFSIGNALED($?) is true)
+WTERMSIG(${^CHILD_ERROR_NATIVE}) returns the signal the child process
+terminated for (only meaningful if WIFSIGNALED(${^CHILD_ERROR_NATIVE})
+is true)
=item WIFSTOPPED
-WIFSTOPPED($?) returns true if the child process is currently stopped
-(can happen only if you specified the WUNTRACED flag to waitpid())
+WIFSTOPPED(${^CHILD_ERROR_NATIVE}) returns true if the child process is
+currently stopped (can happen only if you specified the WUNTRACED flag
+to waitpid())
=item WSTOPSIG
-WSTOPSIG($?) returns the signal the child process was stopped for
-(only meaningful if WIFSTOPPED($?) is true)
+WSTOPSIG(${^CHILD_ERROR_NATIVE}) returns the signal the child process
+was stopped for (only meaningful if WIFSTOPPED(${^CHILD_ERROR_NATIVE})
+is true)
=back
diff --git a/Master/tlpkg/tlperl/lib/Params/Check.pm b/Master/tlpkg/tlperl/lib/Params/Check.pm
index 7348cbc0d7f..9b2643dd0c0 100644
--- a/Master/tlpkg/tlperl/lib/Params/Check.pm
+++ b/Master/tlpkg/tlperl/lib/Params/Check.pm
@@ -18,7 +18,7 @@ BEGIN {
@ISA = qw[ Exporter ];
@EXPORT_OK = qw[check allow last_error];
- $VERSION = '0.26';
+ $VERSION = '0.28';
$VERBOSE = $^W ? 1 : 0;
$NO_DUPLICATES = 0;
$STRIP_LEADING_DASHES = 0;
@@ -359,7 +359,7 @@ sub check {
### we have the fatal flag toggled.
croak(__PACKAGE__->last_error) if ($wrong || $warned) && $WARNINGS_FATAL;
- ### done with our loop... if $wrong is set, somethign went wrong
+ ### done with our loop... if $wrong is set, something went wrong
### and the user is already informed, just return...
return if $wrong;
@@ -435,7 +435,7 @@ sub allow {
### loop over the elements, see if one of them says the
### value is OK
- ### also, short-cicruit when possible
+ ### also, short-circuit when possible
for ( @{$_[1]} ) {
return 1 if allow( $_[0], $_ );
}
@@ -629,7 +629,7 @@ the user input to lowercase, but instead expect them to be in the
case the template provided. This is useful when you want to use
similar keys with different casing in your templates.
-Understand that this removes the case-insensitivy feature of this
+Understand that this removes the case-insensitivity feature of this
module.
Default is 0;
@@ -683,24 +683,23 @@ Example wrapper function, using a custom stacktrace:
Default is 0;
-=head1 AUTHOR
-
-This module by
-Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
=head1 Acknowledgements
Thanks to Richard Soderberg for his performance improvements.
+=head1 BUG REPORTS
+
+Please report bugs or other issues to E<lt>bug-params-check@rt.cpan.orgE<gt>.
+
+=head1 AUTHOR
+
+This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
+
=head1 COPYRIGHT
-This module is
-copyright (c) 2003,2004 Jos Boumans E<lt>kane@cpan.orgE<gt>.
-All rights reserved.
+This library is free software; you may redistribute and/or modify it
+under the same terms as Perl itself.
-This library is free software;
-you may redistribute and/or modify it under the same
-terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm b/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
index e7d585170b1..f7d717cdb1d 100644
--- a/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
+++ b/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
@@ -5,6 +5,8 @@ use Carp 'croak';
# UTF Support?
sub HAVE_UTF8 () { $] >= 5.007003 }
+sub IO_LAYER () { $] >= 5.008001 ? ":utf8" : "" }
+
BEGIN {
if ( HAVE_UTF8 ) {
# The string eval helps hide this from Test::MinimumVersion
@@ -15,400 +17,242 @@ BEGIN {
# Class structure
require 5.004;
require Exporter;
- $Parse::CPAN::Meta::VERSION = '1.40';
+ $Parse::CPAN::Meta::VERSION = '1.4401';
@Parse::CPAN::Meta::ISA = qw{ Exporter };
@Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile };
}
-# Prototypes
-sub LoadFile ($);
-sub Load ($);
-sub _scalar ($$$);
-sub _array ($$$);
-sub _hash ($$$);
+sub load_file {
+ my ($class, $filename) = @_;
-# Printable characters for escapes
-my %UNESCAPES = (
- z => "\x00", a => "\x07", t => "\x09",
- n => "\x0a", v => "\x0b", f => "\x0c",
- r => "\x0d", e => "\x1b", '\\' => '\\',
-);
+ if ($filename =~ /\.ya?ml$/) {
+ return $class->load_yaml_string(_slurp($filename));
+ }
+ if ($filename =~ /\.json$/) {
+ return $class->load_json_string(_slurp($filename));
+ }
+ croak("file type cannot be determined by filename");
+}
+sub load_yaml_string {
+ my ($class, $string) = @_;
+ my $backend = $class->yaml_backend();
+ my $data = eval { no strict 'refs'; &{"$backend\::Load"}($string) };
+ if ( $@ ) {
+ croak $backend->can('errstr') ? $backend->errstr : $@
+ }
+ return $data || {}; # in case document was valid but empty
+}
+
+sub load_json_string {
+ my ($class, $string) = @_;
+ return $class->json_backend()->new->decode($string);
+}
+
+sub yaml_backend {
+ local $Module::Load::Conditional::CHECK_INC_HASH = 1;
+ if (! defined $ENV{PERL_YAML_BACKEND} ) {
+ _can_load( 'CPAN::Meta::YAML', 0.002 )
+ or croak "CPAN::Meta::YAML 0.002 is not available\n";
+ return "CPAN::Meta::YAML";
+ }
+ else {
+ my $backend = $ENV{PERL_YAML_BACKEND};
+ _can_load( $backend )
+ or croak "Could not load PERL_YAML_BACKEND '$backend'\n";
+ $backend->can("Load")
+ or croak "PERL_YAML_BACKEND '$backend' does not implement Load()\n";
+ return $backend;
+ }
+}
+
+sub json_backend {
+ local $Module::Load::Conditional::CHECK_INC_HASH = 1;
+ if (! $ENV{PERL_JSON_BACKEND} or $ENV{PERL_JSON_BACKEND} eq 'JSON::PP') {
+ _can_load( 'JSON::PP' => 2.27103 )
+ or croak "JSON::PP 2.27103 is not available\n";
+ return 'JSON::PP';
+ }
+ else {
+ _can_load( 'JSON' => 2.5 )
+ or croak "JSON 2.5 is required for " .
+ "\$ENV{PERL_JSON_BACKEND} = '$ENV{PERL_JSON_BACKEND}'\n";
+ return "JSON";
+ }
+}
+sub _slurp {
+ open my $fh, "<" . IO_LAYER, "$_[0]"
+ or die "can't open $_[0] for reading: $!";
+ return do { local $/; <$fh> };
+}
-#####################################################################
-# Implementation
+sub _can_load {
+ my ($module, $version) = @_;
+ (my $file = $module) =~ s{::}{/}g;
+ $file .= ".pm";
+ return 1 if $INC{$file};
+ return 0 if exists $INC{$file}; # prior load failed
+ eval { require $file; 1 }
+ or return 0;
+ if ( defined $version ) {
+ eval { $module->VERSION($version); 1 }
+ or return 0;
+ }
+ return 1;
+}
+# Kept for backwards compatibility only
# Create an object from a file
sub LoadFile ($) {
- # Check the file
- my $file = shift;
- croak('You did not specify a file name') unless $file;
- croak( "File '$file' does not exist" ) unless -e $file;
- croak( "'$file' is a directory, not a file" ) unless -f _;
- croak( "Insufficient permissions to read '$file'" ) unless -r _;
-
- # Slurp in the file
- local $/ = undef;
- local *CFG;
- unless ( open( CFG, $file ) ) {
- croak("Failed to open file '$file': $!");
- }
- my $yaml = <CFG>;
- unless ( close(CFG) ) {
- croak("Failed to close file '$file': $!");
- }
-
- # Hand off to the actual parser
- Load( $yaml );
+ require CPAN::Meta::YAML;
+ return CPAN::Meta::YAML::LoadFile(shift)
+ or die CPAN::Meta::YAML->errstr;
}
# Parse a document from a string.
-# Doing checks on $_[0] prevents us having to do a string copy.
sub Load ($) {
- my $string = $_[0];
- unless ( defined $string ) {
- croak("Did not provide a string to load");
- }
+ require CPAN::Meta::YAML;
+ return CPAN::Meta::YAML::Load(shift)
+ or die CPAN::Meta::YAML->errstr;
+}
- # Byte order marks
- if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
- croak("Stream has a non UTF-8 Unicode Byte Order Mark");
- } else {
- # Strip UTF-8 bom if found, we'll just ignore it
- $string =~ s/^\357\273\277//;
- }
+1;
- # Try to decode as utf8
- utf8::decode($string) if HAVE_UTF8;
+__END__
- # Check for some special cases
- return () unless length $string;
- unless ( $string =~ /[\012\015]+\z/ ) {
- croak("Stream does not end with newline character");
- }
+=pod
- # Split the file into lines
- my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
- split /(?:\015{1,2}\012|\015|\012)/, $string;
-
- # Strip the initial YAML header
- @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
-
- # A nibbling parser
- my @documents = ();
- while ( @lines ) {
- # Do we have a document header?
- if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
- # Handle scalar documents
- shift @lines;
- if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
- push @documents, _scalar( "$1", [ undef ], \@lines );
- next;
- }
- }
-
- if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
- # A naked document
- push @documents, undef;
- while ( @lines and $lines[0] !~ /^---/ ) {
- shift @lines;
- }
-
- } elsif ( $lines[0] =~ /^\s*\-/ ) {
- # An array at the root
- my $document = [ ];
- push @documents, $document;
- _array( $document, [ 0 ], \@lines );
-
- } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
- # A hash at the root
- my $document = { };
- push @documents, $document;
- _hash( $document, [ length($1) ], \@lines );
-
- } else {
- croak("Parse::CPAN::Meta failed to classify line '$lines[0]'");
- }
- }
+=head1 NAME
- if ( wantarray ) {
- return @documents;
- } else {
- return $documents[-1];
- }
-}
+Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
-# Deparse a scalar string to the actual scalar
-sub _scalar ($$$) {
- my ($string, $indent, $lines) = @_;
+=head1 SYNOPSIS
- # Trim trailing whitespace
- $string =~ s/\s*\z//;
+ #############################################
+ # In your file
- # Explitic null/undef
- return undef if $string eq '~';
+ ---
+ name: My-Distribution
+ version: 1.23
+ resources:
+ homepage: "http://example.com/dist/My-Distribution"
- # Quotes
- if ( $string =~ /^\'(.*?)\'\z/ ) {
- return '' unless defined $1;
- $string = $1;
- $string =~ s/\'\'/\'/g;
- return $string;
- }
- if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
- # Reusing the variable is a little ugly,
- # but avoids a new variable and a string copy.
- $string = $1;
- $string =~ s/\\"/"/g;
- $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
- return $string;
- }
- # Special cases
- if ( $string =~ /^[\'\"!&]/ ) {
- croak("Parse::CPAN::Meta does not support a feature in line '$lines->[0]'");
- }
- return {} if $string eq '{}';
- return [] if $string eq '[]';
+ #############################################
+ # In your program
- # Regular unquoted string
- return $string unless $string =~ /^[>|]/;
+ use Parse::CPAN::Meta;
- # Error
- croak("Parse::CPAN::Meta failed to find multi-line scalar content") unless @$lines;
+ my $distmeta = Parse::CPAN::Meta->load_file('META.yml');
- # Check the indent depth
- $lines->[0] =~ /^(\s*)/;
- $indent->[-1] = length("$1");
- if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
- croak("Parse::CPAN::Meta found bad indenting in line '$lines->[0]'");
- }
+ # Reading properties
+ my $name = $distmeta->{name};
+ my $version = $distmeta->{version};
+ my $homepage = $distmeta->{resources}{homepage};
- # Pull the lines
- my @multiline = ();
- while ( @$lines ) {
- $lines->[0] =~ /^(\s*)/;
- last unless length($1) >= $indent->[-1];
- push @multiline, substr(shift(@$lines), length($1));
- }
+=head1 DESCRIPTION
- my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
- my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
- return join( $j, @multiline ) . $t;
-}
+B<Parse::CPAN::Meta> is a parser for F<META.json> and F<META.yml> files, using
+L<JSON::PP> and/or L<CPAN::Meta::YAML>.
-# Parse an array
-sub _array ($$$) {
- my ($array, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("Parse::CPAN::Meta found bad indenting in line '$lines->[0]'");
- }
-
- if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
- # Inline nested hash
- my $indent2 = length("$1");
- $lines->[0] =~ s/-/ /;
- push @$array, { };
- _hash( $array->[-1], [ @$indent, $indent2 ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
- # Array entry with a value
- shift @$lines;
- push @$array, _scalar( "$2", [ @$indent, undef ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
- shift @$lines;
- unless ( @$lines ) {
- push @$array, undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)\-/ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] == $indent2 ) {
- # Null array entry
- push @$array, undef;
- } else {
- # Naked indenter
- push @$array, [ ];
- _array( $array->[-1], [ @$indent, $indent2 ], $lines );
- }
-
- } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
- push @$array, { };
- _hash( $array->[-1], [ @$indent, length("$1") ], $lines );
-
- } else {
- croak("Parse::CPAN::Meta failed to classify line '$lines->[0]'");
- }
-
- } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
- # This is probably a structure like the following...
- # ---
- # foo:
- # - list
- # bar: value
- #
- # ... so lets return and let the hash parser handle it
- return 1;
-
- } else {
- croak("Parse::CPAN::Meta failed to classify line '$lines->[0]'");
- }
- }
+B<Parse::CPAN::Meta> provides three methods: C<load_file>, C<load_json_string>,
+and C<load_yaml_string>. These will read and deserialize CPAN metafiles, and
+are described below in detail.
- return 1;
-}
+B<Parse::CPAN::Meta> provides a legacy API of only two functions,
+based on the YAML functions of the same name. Wherever possible,
+identical calling semantics are used. These may only be used with YAML sources.
-# Parse an array
-sub _hash ($$$) {
- my ($hash, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("Parse::CPAN::Meta found bad indenting in line '$lines->[0]'");
- }
-
- # Get the key
- unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+|$)// ) {
- if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
- croak("Parse::CPAN::Meta does not support a feature in line '$lines->[0]'");
- }
- croak("Parse::CPAN::Meta failed to classify line '$lines->[0]'");
- }
- my $key = $1;
-
- # Do we have a value?
- if ( length $lines->[0] ) {
- # Yes
- $hash->{$key} = _scalar( shift(@$lines), [ @$indent, undef ], $lines );
- } else {
- # An indent
- shift @$lines;
- unless ( @$lines ) {
- $hash->{$key} = undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)-/ ) {
- $hash->{$key} = [];
- _array( $hash->{$key}, [ @$indent, length($1) ], $lines );
- } elsif ( $lines->[0] =~ /^(\s*)./ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] >= $indent2 ) {
- # Null hash entry
- $hash->{$key} = undef;
- } else {
- $hash->{$key} = {};
- _hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
- }
- }
- }
- }
+All error reporting is done with exceptions (die'ing).
- return 1;
-}
+Note that META files are expected to be in UTF-8 encoding, only. When
+converted string data, it must first be decoded from UTF-8.
-1;
+=head1 METHODS
-__END__
+=head2 load_file
-=pod
+ my $metadata_structure = Parse::CPAN::Meta->load_file('META.json');
-=head1 NAME
+ my $metadata_structure = Parse::CPAN::Meta->load_file('META.yml');
-Parse::CPAN::Meta - Parse META.yml and other similar CPAN metadata files
+This method will read the named file and deserialize it to a data structure,
+determining whether it should be JSON or YAML based on the filename. On
+Perl 5.8.1 or later, the file will be read using the ":utf8" IO layer.
-=head1 SYNOPSIS
+=head2 load_yaml_string
- #############################################
- # In your file
-
- ---
- rootproperty: blah
- section:
- one: two
- three: four
- Foo: Bar
- empty: ~
-
-
-
- #############################################
- # In your program
-
- use Parse::CPAN::Meta;
-
- # Create a YAML file
- my @yaml = Parse::CPAN::Meta::LoadFile( 'Meta.yml' );
-
- # Reading properties
- my $root = $yaml[0]->{rootproperty};
- my $one = $yaml[0]->{section}->{one};
- my $Foo = $yaml[0]->{section}->{Foo};
+ my $metadata_structure = Parse::CPAN::Meta->load_yaml_string($yaml_string);
-=head1 DESCRIPTION
+This method deserializes the given string of YAML and returns the first
+document in it. (CPAN metadata files should always have only one document.)
+If the source was UTF-8 encoded, the string must be decoded before calling
+C<load_yaml_string>.
-B<Parse::CPAN::Meta> is a parser for F<META.yml> files, based on the
-parser half of L<YAML::Tiny>.
+=head2 load_json_string
-It supports a basic subset of the full YAML specification, enough to
-implement parsing of typical F<META.yml> files, and other similarly simple
-YAML files.
+ my $metadata_structure = Parse::CPAN::Meta->load_json_string($json_string);
-If you need something with more power, move up to a full YAML parser such
-as L<YAML>, L<YAML::Syck> or L<YAML::LibYAML>.
+This method deserializes the given string of JSON and the result.
+If the source was UTF-8 encoded, the string must be decoded before calling
+C<load_json_string>.
-B<Parse::CPAN::Meta> provides a very simply API of only two functions,
-based on the YAML functions of the same name. Wherever possible,
-identical calling semantics are used.
+=head2 yaml_backend
-All error reporting is done with exceptions (die'ing).
+ my $backend = Parse::CPAN::Meta->yaml_backend;
+
+Returns the module name of the YAML serializer. See L</ENVIRONMENT>
+for details.
+
+=head2 json_backend
+
+ my $backend = Parse::CPAN::Meta->json_backend;
+
+Returns the module name of the JSON serializer. This will either
+be L<JSON::PP> or L<JSON>. Even if C<PERL_JSON_BACKEND> is set,
+this will return L<JSON> as further delegation is handled by
+the L<JSON> module. See L</ENVIRONMENT> for details.
=head1 FUNCTIONS
-For maintenance clarity, no functions are exported.
+For maintenance clarity, no functions are exported. These functions are
+available for backwards compatibility only and are best avoided in favor of
+C<load_file>.
=head2 Load
- my @yaml = Load( $string );
+ my @yaml = Parse::CPAN::Meta::Load( $string );
Parses a string containing a valid YAML stream into a list of Perl data
structures.
=head2 LoadFile
- my @yaml = LoadFile( 'META.yml' );
+ my @yaml = Parse::CPAN::Meta::LoadFile( 'META.yml' );
Reads the YAML stream from a file instead of a string.
+=head1 ENVIRONMENT
+
+=head2 PERL_JSON_BACKEND
+
+By default, L<JSON::PP> will be used for deserializing JSON data. If the
+C<PERL_JSON_BACKEND> environment variable exists, is true and is not
+"JSON::PP", then the L<JSON> module (version 2.5 or greater) will be loaded and
+used to interpret C<PERL_JSON_BACKEND>. If L<JSON> is not installed or is too
+old, an exception will be thrown.
+
+=head2 PERL_YAML_BACKEND
+
+By default, L<CPAN::Meta::YAML> will be used for deserializing YAML data. If
+the C<PERL_YAML_BACKEND> environment variable is defined, then it is intepreted
+as a module to use for deserialization. The given module must be installed,
+must load correctly and must implement the C<Load()> function or an exception
+will be thrown.
+
=head1 SUPPORT
Bugs should be reported via the CPAN bug tracker at
@@ -419,14 +263,9 @@ L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Parse-CPAN-Meta>
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
-=head1 SEE ALSO
-
-L<YAML>, L<YAML::Syck>, L<Config::Tiny>, L<CSS::Tiny>,
-L<http://use.perl.org/~Alias/journal/29427>, L<http://ali.as/>
-
=head1 COPYRIGHT
-Copyright 2006 - 2009 Adam Kennedy.
+Copyright 2006 - 2010 Adam Kennedy.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Perl/OSType.pm b/Master/tlpkg/tlperl/lib/Perl/OSType.pm
new file mode 100644
index 00000000000..6c2cf127e99
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Perl/OSType.pm
@@ -0,0 +1,174 @@
+#
+# This file is part of Perl-OSType
+#
+# This software is copyright (c) 2010 by David Golden.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+use strict;
+use warnings;
+package Perl::OSType;
+BEGIN {
+ $Perl::OSType::VERSION = '1.002';
+}
+# ABSTRACT: Map Perl operating system names to generic types
+
+require Exporter;
+our @ISA = qw(Exporter);
+
+our %EXPORT_TAGS = (
+ all => [ qw( os_type is_os_type ) ]
+);
+
+our @EXPORT_OK = @{ $EXPORT_TAGS{all} };
+
+# originally taken from Module::Build by Ken Williams et al.
+my %OSTYPES = qw(
+ aix Unix
+ bsdos Unix
+ beos Unix
+ dgux Unix
+ dragonfly Unix
+ dynixptx Unix
+ freebsd Unix
+ linux Unix
+ haiku Unix
+ hpux Unix
+ iphoneos Unix
+ irix Unix
+ darwin Unix
+ machten Unix
+ midnightbsd Unix
+ mirbsd Unix
+ next Unix
+ openbsd Unix
+ netbsd Unix
+ dec_osf Unix
+ nto Unix
+ svr4 Unix
+ svr5 Unix
+ sco_sv Unix
+ unicos Unix
+ unicosmk Unix
+ solaris Unix
+ sunos Unix
+ cygwin Unix
+ os2 Unix
+ interix Unix
+ gnu Unix
+ gnukfreebsd Unix
+ nto Unix
+ qnx Unix
+
+ dos Windows
+ MSWin32 Windows
+
+ os390 EBCDIC
+ os400 EBCDIC
+ posix-bc EBCDIC
+ vmesa EBCDIC
+
+ MacOS MacOS
+ VMS VMS
+ VOS VOS
+ riscos RiscOS
+ amigaos Amiga
+ mpeix MPEiX
+);
+
+sub os_type {
+ my ($os) = @_;
+ $os = $^O unless defined $os;
+ return $OSTYPES{ $os } || q{};
+}
+
+sub is_os_type {
+ my ($type, $os) = @_;
+ return unless $type;
+ $os = $^O unless defined $os;
+ return os_type($os) eq $type;
+}
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+Perl::OSType - Map Perl operating system names to generic types
+
+=head1 VERSION
+
+version 1.002
+
+=head1 SYNOPSIS
+
+ use Perl::OSType ':all';
+
+ $current_type = os_type();
+ $other_type = os_type('dragonfly'); # gives 'Unix'
+
+=head1 DESCRIPTION
+
+Modules that provide OS-specific behaviors often need to know if
+the current operating system matches a more generic type of
+operating systems. For example, 'linux' is a type of 'Unix' operating system
+and so is 'freebsd'.
+
+This module provides a mapping between an operating system name as given by
+C<$^O> and a more generic type. The initial version is based on the OS type
+mappings provided in L<Module::Build> and L<ExtUtils::CBuilder>. (Thus,
+Microsoft operating systems are given the type 'Windows' rather than 'Win32'.)
+
+=head1 USAGE
+
+No functions are exported by default. The export tag ":all" will export
+all functions listed below.
+
+=head2 os_type()
+
+ $os_type = os_type();
+ $os_type = os_type('MSWin32');
+
+Returns a single, generic OS type for a given operating system name. With no
+arguments, returns the OS type for the current value of C<$^O>. If the
+operating system is not recognized, the function will return the empty string.
+
+=head2 is_os_type()
+
+ $is_windows = is_os_type('Windows');
+ $is_unix = is_os_type('Unix', 'dragonfly');
+
+Given an OS type and OS name, returns true or false if the OS name is of the
+given type. As with C<os_type>, it will use the current operating system as a
+default if no OS name is provided.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item *
+
+L<Devel::CheckOS>
+
+=back
+
+=head1 AUTHOR
+
+David Golden <dagolden@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
+
+__END__
+
+
diff --git a/Master/tlpkg/tlperl/lib/PerlIO.pm b/Master/tlpkg/tlperl/lib/PerlIO.pm
index f4a01974b65..46e6e444ef3 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO.pm
@@ -1,6 +1,6 @@
package PerlIO;
-our $VERSION = '1.06';
+our $VERSION = '1.07';
# Map layer name to package that defines it
our %alias;
@@ -85,24 +85,12 @@ C<:perlio> will insert a C<:unix> layer below itself to do low level IO.
A layer that implements DOS/Windows like CRLF line endings. On read
converts pairs of CR,LF to a single "\n" newline character. On write
-converts each "\n" to a CR,LF pair. Note that this layer likes to be
-one of its kind: it silently ignores attempts to be pushed into the
-layer stack more than once.
+converts each "\n" to a CR,LF pair. Note that this layer will silently
+refuse to be pushed on top of itself.
It currently does I<not> mimic MS-DOS as far as treating of Control-Z
as being an end-of-file marker.
-(Gory details follow) To be more exact what happens is this: after
-pushing itself to the stack, the C<:crlf> layer checks all the layers
-below itself to find the first layer that is capable of being a CRLF
-layer but is not yet enabled to be a CRLF layer. If it finds such a
-layer, it enables the CRLFness of that other deeper layer, and then
-pops itself off the stack. If not, fine, use the one we just pushed.
-
-The end result is that a C<:crlf> means "please enable the first CRLF
-layer you can find, and if you can't find one, here would be a good
-spot to place a new one."
-
Based on the C<:perlio> layer.
=item :mmap
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
index 4b446703229..f7f3f2e3127 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
@@ -1,7 +1,7 @@
package PerlIO::encoding;
use strict;
-our $VERSION = '0.12';
+our $VERSION = '0.14';
our $DEBUG = 0;
$DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
@@ -10,8 +10,8 @@ $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
#
# use Encode ();
-use XSLoader ();
-XSLoader::load(__PACKAGE__, $VERSION);
+require XSLoader;
+XSLoader::load();
our $fallback =
Encode::PERLQQ()|Encode::WARN_ON_ERR()|Encode::STOP_AT_PARTIAL();
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm b/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
index f9e4368d7e5..a6da9631cfb 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
@@ -1,7 +1,7 @@
package PerlIO::scalar;
-our $VERSION = '0.08';
-use XSLoader ();
-XSLoader::load 'PerlIO::scalar';
+our $VERSION = '0.11_01';
+require XSLoader;
+XSLoader::load();
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/via.pm b/Master/tlpkg/tlperl/lib/PerlIO/via.pm
index 077f0d17f90..2907762aa47 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/via.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/via.pm
@@ -1,7 +1,7 @@
package PerlIO::via;
-our $VERSION = '0.09';
-use XSLoader ();
-XSLoader::load 'PerlIO::via';
+our $VERSION = '0.11';
+require XSLoader;
+XSLoader::load();
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/Pod/Html.pm b/Master/tlpkg/tlperl/lib/Pod/Html.pm
index 6174dd74576..2c5c4414cf2 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Html.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Html.pm
@@ -3,7 +3,7 @@ use strict;
require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = 1.09;
+$VERSION = 1.11;
@ISA = qw(Exporter);
@EXPORT = qw(pod2html htmlify);
@EXPORT_OK = qw(anchorify);
@@ -360,14 +360,17 @@ sub pod2html {
$Backlink = html_escape($Backlink) if defined $Backlink;
# set some variables to their default values if necessary
- local *POD;
+ my $pod;
unless (@ARGV && $ARGV[0]) {
- $Podfile = "-" unless $Podfile; # stdin
- open(POD, "<$Podfile")
- || die "$0: cannot open $Podfile file for input: $!\n";
+ if ($Podfile and $Podfile ne '-') {
+ open $pod, '<', $Podfile
+ or die "$0: cannot open $Podfile file for input: $!\n";
+ } else {
+ open $pod, '-';
+ }
} else {
$Podfile = $ARGV[0]; # XXX: might be more filenames
- *POD = *ARGV;
+ $pod = *ARGV;
}
$Htmlfile = "-" unless $Htmlfile; # stdout
$Htmlroot = "" if $Htmlroot eq "/"; # so we don't get a //
@@ -388,8 +391,8 @@ sub pod2html {
# read the pod a paragraph at a time
warn "Scanning for sections in input file(s)\n" if $Verbose;
$/ = "";
- my @poddata = <POD>;
- close(POD);
+ my @poddata = <$pod>;
+ close $pod;
# be eol agnostic
for (@poddata) {
@@ -419,8 +422,13 @@ sub pod2html {
}
# open the output file
- open(HTML, ">$Htmlfile")
- || die "$0: cannot open $Htmlfile file for output: $!\n";
+ my $html;
+ if($Htmlfile and $Htmlfile ne '-') {
+ open $html, ">", $Htmlfile
+ or die "$0: cannot open $Htmlfile file for output: $!\n";
+ } else {
+ open $html, ">-";
+ }
# put a title in the HTML file if one wasn't specified
if ($Title eq '') {
@@ -474,7 +482,7 @@ sub pod2html {
</table>
END_OF_BLOCK
- print HTML <<END_OF_HEAD;
+ print $html <<END_OF_HEAD;
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
@@ -506,7 +514,7 @@ END_OF_HEAD
$index = qq(<!--\n$index\n-->\n);
}
- print HTML << "END_OF_INDEX";
+ print $html <<"END_OF_INDEX";
<!-- INDEX BEGIN -->
<div name="index">
@@ -529,7 +537,7 @@ END_OF_INDEX
$after_item = 0;
$_ = $1;
if (/^=begin\s+(\S+)\s*(.*)/si) {# =begin
- process_begin($1, $2);
+ process_begin($html, $1, $2);
} elsif (/^=end\s+(\S+)\s*(.*)/si) {# =end
process_end($1, $2);
} elsif (/^=cut/) { # =cut
@@ -540,16 +548,16 @@ END_OF_INDEX
next if @Begin_Stack && $Begin_Stack[-1] ne 'html';
if (/^=(head[1-6])\s+(.*\S)/s) { # =head[1-6] heading
- process_head( $1, $2, $Doindex && $index );
+ process_head( $html, $1, $2, $Doindex && $index );
} elsif (/^=item\s*(.*\S)?/sm) { # =item text
- process_item( $1 );
+ process_item( $html, $1 );
$after_item = 1;
} elsif (/^=over\s*(.*)/) { # =over N
process_over();
} elsif (/^=back/) { # =back
- process_back();
+ process_back( $html );
} elsif (/^=for\s+(\S+)\s*(.*)/si) {# =for
- process_for($1,$2);
+ process_for( $html, $1, $2 );
} else {
/^=(\S*)\s*/;
warn "$0: $Podfile: unknown pod directive '$1' in "
@@ -560,19 +568,21 @@ END_OF_INDEX
}
else {
next if $Ignore;
- next if @Begin_Stack && $Begin_Stack[-1] ne 'html';
- print HTML and next if @Begin_Stack && $Begin_Stack[-1] eq 'html';
+ if (@Begin_Stack) {
+ print $html $_ if $Begin_Stack[-1] eq 'html';
+ next;
+ }
my $text = $_;
# Open tag for definition list as we have something to put in it
if( $ListNewTerm ){
- print HTML "<dd>\n";
+ print $html "<dd>\n";
$ListNewTerm = 0;
}
if( $text =~ /\A\s+/ ){
process_pre( \$text );
- print HTML "<pre>\n$text</pre>\n";
+ print $html "<pre>\n$text</pre>\n";
} else {
process_text( \$text );
@@ -599,20 +609,20 @@ END_OF_INDEX
}
## end of experimental
- print HTML "<p>$text</p>\n";
+ print $html "<p>$text</p>\n";
}
$after_item = 0;
}
}
# finish off any pending directives
- finish_list();
+ finish_list( $html );
# link to page index
- print HTML "<p><a href=\"#__index__\"><small>$Backlink</small></a></p>\n"
+ print $html "<p><a href=\"#__index__\"><small>$Backlink</small></a></p>\n"
if $Doindex and $index and $Backlink;
- print HTML <<END_OF_TAIL;
+ print $html <<END_OF_TAIL;
$block
</body>
@@ -620,7 +630,7 @@ $block
END_OF_TAIL
# close the html file
- close(HTML);
+ close $html or die "Failed to close $Htmlfile: $!";
warn "Finished\n" if $Verbose;
}
@@ -885,10 +895,10 @@ sub scan_podpath {
# scan each .pod and .pm file for =item directives
foreach $pod (@files) {
- open(POD, "<$dirname/$pod") ||
- die "$0: error opening $dirname/$pod for input: $!\n";
- @poddata = <POD>;
- close(POD);
+ open my $fh, '<', "$dirname/$pod"
+ or die "$0: error opening $dirname/$pod for input: $!\n";
+ @poddata = <$fh>;
+ close $fh;
clean_data( \@poddata );
scan_items( \%Items, "$dirname/$pod", @poddata);
@@ -904,10 +914,10 @@ sub scan_podpath {
$Pages{$libpod} =~ /([^:]*\.pm):/) {
# scan the .pod or .pm file for =item directives
$pod = $1;
- open(POD, "<$pod") ||
- die "$0: error opening $pod for input: $!\n";
- @poddata = <POD>;
- close(POD);
+ open my $fh, '<', $pod
+ or die "$0: error opening $pod for input: $!\n";
+ @poddata = <$fh>;
+ close $fh;
clean_data( \@poddata );
scan_items( \%Items, "$pod", @poddata);
@@ -922,27 +932,27 @@ sub scan_podpath {
# cache the item list for later use
warn "caching items for later use\n" if $Verbose;
- open(CACHE, ">$Itemcache") ||
- die "$0: error open $Itemcache for writing: $!\n";
+ open my $cache, '>', $Itemcache
+ or die "$0: error open $Itemcache for writing: $!\n";
- print CACHE join(":", @Podpath) . "\n$podroot\n";
+ print $cache join(":", @Podpath) . "\n$podroot\n";
foreach my $key (keys %Items) {
- print CACHE "$key $Items{$key}\n";
+ print $cache "$key $Items{$key}\n";
}
- close(CACHE);
+ close $cache or die "error closing $Itemcache: $!";
# cache the directory list for later use
warn "caching directories for later use\n" if $Verbose;
- open(CACHE, ">$Dircache") ||
- die "$0: error open $Dircache for writing: $!\n";
+ open $cache, '>', $Dircache
+ or die "$0: error open $Dircache for writing: $!\n";
- print CACHE join(":", @Podpath) . "\n$podroot\n";
+ print $cache join(":", @Podpath) . "\n$podroot\n";
foreach my $key (keys %Pages) {
- print CACHE "$key $Pages{$key}\n";
+ print $cache "$key $Pages{$key}\n";
}
- close(CACHE);
+ close $cache or die "error closing $Dircache: $!";
}
#
@@ -1094,26 +1104,26 @@ sub scan_items {
# process_head - convert a pod head[1-6] tag and convert it to HTML format.
#
sub process_head {
- my($tag, $heading, $hasindex) = @_;
+ my($fh, $tag, $heading, $hasindex) = @_;
# figure out the level of the =head
$tag =~ /head([1-6])/;
my $level = $1;
- finish_list();
+ finish_list( $fh );
- print HTML "<p>\n";
+ print $fh "<p>\n";
if( $level == 1 && ! $Top ){
- print HTML "<a href=\"#__index__\"><small>$Backlink</small></a>\n"
+ print $fh "<a href=\"#__index__\"><small>$Backlink</small></a>\n"
if $hasindex and $Backlink;
- print HTML "</p>\n<hr />\n"
+ print $fh "</p>\n<hr />\n"
} else {
- print HTML "</p>\n";
+ print $fh "</p>\n";
}
my $name = anchorify( depod( $heading ) );
my $convert = process_text( \$heading );
- print HTML "<h$level><a name=\"$name\">$convert</a></h$level>\n";
+ print $fh "<h$level><a name=\"$name\">$convert</a></h$level>\n";
}
@@ -1123,55 +1133,55 @@ sub process_head {
#
my $EmittedItem;
-sub emit_item_tag($$$){
- my( $otext, $text, $compact ) = @_;
+sub emit_item_tag {
+ my( $fh, $otext, $text, $compact ) = @_;
my $item = fragment_id( depod($text) , -generate);
Carp::confess("Undefined fragment '$text' (".depod($text).") from fragment_id() in emit_item_tag() in $Podfile")
if !defined $item;
$EmittedItem = $item;
### print STDERR "emit_item_tag=$item ($text)\n";
- print HTML '<strong>';
+ print $fh '<strong>';
if ($Items_Named{$item}++) {
- print HTML process_text( \$otext );
+ print $fh process_text( \$otext );
} else {
my $name = $item;
$name = anchorify($name);
- print HTML qq{<a name="$name" class="item">}, process_text( \$otext ), '</a>';
+ print $fh qq{<a name="$name" class="item">}, process_text( \$otext ), '</a>';
}
- print HTML "</strong>";
+ print $fh "</strong>";
undef( $EmittedItem );
}
sub new_listitem {
- my( $tag ) = @_;
+ my ($fh, $tag) = @_;
# Open tag for definition list as we have something to put in it
if( ($tag ne 'dl') && ($ListNewTerm) ){
- print HTML "<dd>\n";
+ print $fh "<dd>\n";
$ListNewTerm = 0;
}
if( $Items_Seen[$Listlevel]++ == 0 ){
# start of new list
push( @Listtype, "$tag" );
- print HTML "<$tag>\n";
+ print $fh "<$tag>\n";
} else {
# if this is not the first item, close the previous one
if ( $tag eq 'dl' ){
- print HTML "</dd>\n" unless $ListNewTerm;
+ print $fh "</dd>\n" unless $ListNewTerm;
} else {
- print HTML "</li>\n";
+ print $fh "</li>\n";
}
}
my $opentag = $tag eq 'dl' ? 'dt' : 'li';
- print HTML "<$opentag>";
+ print $fh "<$opentag>";
}
#
# process_item - convert a pod item tag and convert it to HTML format.
#
sub process_item {
- my( $otext ) = @_;
+ my ($fh, $otext) = @_;
# lots of documents start a list without doing an =over. this is
# bad! but, the proper thing to do seems to be to just assume
@@ -1186,36 +1196,36 @@ sub process_item {
# all the list variants:
if( $text =~ /\A\*/ ){ # bullet
- new_listitem( 'ul' );
+ new_listitem( $fh, 'ul' );
if ($text =~ /\A\*\s+(\S.*)\Z/s ) { # with additional text
my $tag = $1;
$otext =~ s/\A\*\s+//;
- emit_item_tag( $otext, $tag, 1 );
- print HTML "\n";
+ emit_item_tag( $fh, $otext, $tag, 1 );
+ print $fh "\n";
}
} elsif( $text =~ /\A\d+/ ){ # numbered list
- new_listitem( 'ol' );
+ new_listitem( $fh, 'ol' );
if ($text =~ /\A(?>\d+\.?)\s*(\S.*)\Z/s ) { # with additional text
my $tag = $1;
$otext =~ s/\A\d+\.?\s*//;
- emit_item_tag( $otext, $tag, 1 );
- print HTML "\n";
+ emit_item_tag( $fh, $otext, $tag, 1 );
+ print $fh "\n";
}
} else { # definition list
# new_listitem takes care of opening the <dt> tag
- new_listitem( 'dl' );
+ new_listitem( $fh, 'dl' );
if ($text =~ /\A(.+)\Z/s ){ # should have text
- emit_item_tag( $otext, $text, 1 );
+ emit_item_tag( $fh, $otext, $text, 1 );
# write the definition term and close <dt> tag
- print HTML "</dt>\n";
+ print $fh "</dt>\n";
}
# trigger opening a <dd> tag for the actual definition; will not
# happen if next paragraph is also a definition term (=item)
$ListNewTerm = 1;
}
- print HTML "\n";
+ print $fh "\n";
}
#
@@ -1231,6 +1241,7 @@ sub process_over {
# process_back - process a pod back tag and convert it to HTML format.
#
sub process_back {
+ my $fh = shift;
if( $Listlevel == 0 ){
warn "$0: $Podfile: unexpected =back directive in paragraph $Paragraph. ignoring.\n" unless $Quiet;
return;
@@ -1242,11 +1253,11 @@ sub process_back {
$Listlevel--;
if( defined $Listtype[$Listlevel] ){
if ( $Listtype[$Listlevel] eq 'dl' ){
- print HTML "</dd>\n" unless $ListNewTerm;
+ print $fh "</dd>\n" unless $ListNewTerm;
} else {
- print HTML "</li>\n";
+ print $fh "</li>\n";
}
- print HTML "</$Listtype[$Listlevel]>\n";
+ print $fh "</$Listtype[$Listlevel]>\n";
pop( @Listtype );
$ListNewTerm = 0;
}
@@ -1275,15 +1286,15 @@ sub process_pod {
# it out verbatim, if illustration, center it, otherwise ignore it.
#
sub process_for {
- my($whom, $text) = @_;
+ my ($fh, $whom, $text) = @_;
if ( $whom =~ /^(pod2)?html$/i) {
- print HTML $text;
+ print $fh $text;
} elsif ($whom =~ /^illustration$/i) {
1 while chomp $text;
for my $ext (qw[.png .gif .jpeg .jpg .tga .pcl .bmp]) {
$text .= $ext, last if -r "$text$ext";
}
- print HTML qq{<p align="center"><img src="$text" alt="$text illustration" /></p>};
+ print $fh qq{<p align="center"><img src="$text" alt="$text illustration" /></p>};
}
}
@@ -1293,11 +1304,11 @@ sub process_for {
# begin stack, we only print if it us.
#
sub process_begin {
- my($whom, $text) = @_;
+ my ($fh, $whom, $text) = @_;
$whom = lc($whom);
push (@Begin_Stack, $whom);
if ( $whom =~ /^(pod2)?html$/) {
- print HTML $text if $text;
+ print $fh $text if $text;
}
}
@@ -2034,10 +2045,11 @@ sub relative_url {
# after the entire pod file has been read and converted.
#
sub finish_list {
+ my $fh = shift;
if( $Listlevel ){
warn "$0: $Podfile: unterminated list(s) at =head in paragraph $Paragraph. ignoring.\n" unless $Quiet;
while( $Listlevel ){
- process_back();
+ process_back( $fh );
}
}
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm b/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
index 9d3a905258f..6404b27f578 100644
--- a/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
@@ -33,7 +33,7 @@ use Carp;
use vars qw/ $VERSION %HTML_Escapes @LatexSections /;
-$VERSION = '0.58';
+$VERSION = '0.59';
# Definitions of =headN -> latex mapping
@LatexSections = (qw/
@@ -494,7 +494,7 @@ If used in conjunction with C<AddPostamble> a full latex document will
be written that could be immediately processed by C<latex>.
For some pod escapes it may be necessary to include the amsmath
-package. This is not yet added to the preamble automaatically.
+package. This is not yet added to the preamble automatically.
=cut
@@ -1839,7 +1839,7 @@ Some HTML escapes are missing and many have not been tested.
=head1 SEE ALSO
-L<Pod::Parser>, L<Pod::Select>, L<pod2latex>
+L<Pod::Parser>, L<Pod::Select>, L<pod2latex>, L<Pod::Simple>.
=head1 AUTHORS
@@ -1852,12 +1852,13 @@ E<lt>marcel@codewerk.comE<gt>, Hugh S Myers
E<lt>hsmyers@sdragons.comE<gt>, Peter J Acklam
E<lt>jacklam@math.uio.noE<gt>, Sudhi Herle E<lt>sudhi@herle.netE<gt>,
Ariel Scolnicov E<lt>ariels@compugen.co.ilE<gt>,
-Adriano Rodrigues Ferreira E<lt>ferreira@triang.com.brE<gt> and
-R. de Vries E<lt>r.de.vries@dutchspace.nlE<gt>.
-
+Adriano Rodrigues Ferreira E<lt>ferreira@triang.com.brE<gt>,
+R. de Vries E<lt>r.de.vries@dutchspace.nlE<gt> and
+Dave Mitchell E<lt>davem@iabyn.comE<gt>.
=head1 COPYRIGHT
+Copyright (C) 2011 Tim Jenness.
Copyright (C) 2000-2004 Tim Jenness. All Rights Reserved.
This program is free software; you can redistribute it and/or modify
@@ -1867,7 +1868,7 @@ it under the same terms as Perl itself.
=head1 REVISION
-$Id: LaTeX.pm,v 1.19 2004/12/30 01:40:44 timj Exp $
+$Id$
=end __PRIVATE__
diff --git a/Master/tlpkg/tlperl/lib/Pod/Man.pm b/Master/tlpkg/tlperl/lib/Pod/Man.pm
index 9339f835bbc..96f3fccee72 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Man.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Man.pm
@@ -1,7 +1,7 @@
# Pod::Man -- Convert POD data to formatted *roff input.
#
-# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Russ Allbery <rra@stanford.edu>
+# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+# 2010 Russ Allbery <rra@stanford.edu>
# Substantial contributions by Sean Burke <sburke@cpan.org>
#
# This program is free software; you may redistribute it and/or modify it
@@ -31,11 +31,12 @@ use subs qw(makespace);
use vars qw(@ISA %ESCAPES $PREAMBLE $VERSION);
use Carp qw(croak);
+use Encode qw(encode);
use Pod::Simple ();
@ISA = qw(Pod::Simple);
-$VERSION = '2.23';
+$VERSION = '2.25';
# Set the debugging level. If someone has inserted a debug function into this
# class already, use that. Otherwise, use any Pod::Simple debug function
@@ -723,7 +724,11 @@ sub outindex {
# Output some text, without any additional changes.
sub output {
my ($self, @text) = @_;
- print { $$self{output_fh} } @text;
+ if ($$self{ENCODE}) {
+ print { $$self{output_fh} } encode ('UTF-8', join ('', @text));
+ } else {
+ print { $$self{output_fh} } @text;
+ }
}
##############################################################################
@@ -740,17 +745,19 @@ sub start_document {
return;
}
- # If we were given the utf8 option, set an output encoding on our file
- # handle. Wrap in an eval in case we're using a version of Perl too old
- # to understand this.
- #
- # This is evil because it changes the global state of a file handle that
- # we may not own. However, we can't just blindly encode all output, since
- # there may be a pre-applied output encoding (such as from PERL_UNICODE)
- # and then we would double-encode. This seems to be the least bad
- # approach.
+ # When UTF-8 output is set, check whether our output file handle already
+ # has a PerlIO encoding layer set. If it does not, we'll need to encode
+ # our output before printing it (handled in the output() sub). Wrap the
+ # check in an eval to handle versions of Perl without PerlIO.
+ $$self{ENCODE} = 0;
if ($$self{utf8}) {
- eval { binmode ($$self{output_fh}, ':encoding(UTF-8)') };
+ $$self{ENCODE} = 1;
+ eval {
+ my @layers = PerlIO::get_layers ($$self{output_fh});
+ if (grep { $_ eq 'utf8' } @layers) {
+ $$self{ENCODE} = 0;
+ }
+ }
}
# Determine information for the preamble and then output it.
@@ -949,8 +956,9 @@ sub cmd_para {
if defined ($line) && DEBUG && !$$self{IN_NAME};
# Force exactly one newline at the end and strip unwanted trailing
- # whitespace at the end.
- $text =~ s/\s*$/\n/;
+ # whitespace at the end, but leave "\ " backslashed space from an S< >
+ # at the end of a line.
+ $text =~ s/((?:\\ )*)\s*$/$1\n/;
# Output the paragraph.
$self->output ($self->protect ($self->textmapfonts ($text)));
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
index 654785a1f70..083a6e907e1 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
@@ -12,7 +12,7 @@ use File::Spec::Functions qw(catfile catdir splitdir);
use vars qw($VERSION @Pagers $Bindir $Pod2man
$Temp_Files_Created $Temp_File_Lifetime
);
-$VERSION = '3.15_02';
+$VERSION = '3.15_04';
#..........................................................................
BEGIN { # Make a DEBUG constant very first thing...
@@ -499,7 +499,7 @@ sub find_good_formatter_class {
} else {
$^W = 0;
# The average user just has no reason to be seeing
- # $^W-suppressable warnings from the the require!
+ # $^W-suppressible warnings from the the require!
}
eval "require $c";
@@ -746,7 +746,7 @@ sub grand_search_init {
for ($i = 0; $trn = $ENV{'DCL$PATH;'.$i}; $i++) {
push(@searchdirs,$trn);
}
- push(@searchdirs,'perl_root:[lib.pod]') # installed pods
+ push(@searchdirs,'perl_root:[lib.pods]') # installed pods
}
else {
push(@searchdirs, grep(-d, split($Config{path_sep},
@@ -1128,7 +1128,7 @@ sub render_findings {
} else {
$^W = 0;
# The average user just has no reason to be seeing
- # $^W-suppressable warnings from the formatting!
+ # $^W-suppressible warnings from the formatting!
}
eval { $formatter->parse_from_file( $file, $out_fh ) };
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
index 1562ec8bb3f..5b29fd996e5 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
@@ -21,7 +21,7 @@ use Pod::Perldoc ();
use File::Spec::Functions qw(catfile);
use Tk;
-die join '', __PACKAGE__, " doesn't work nice with Tk.pm verison $Tk::VERSION"
+die join '', __PACKAGE__, " doesn't work nice with Tk.pm version $Tk::VERSION"
if $Tk::VERSION eq '800.003';
BEGIN { eval { require Tk::FcyEntry; }; };
diff --git a/Master/tlpkg/tlperl/lib/Pod/Plainer.pm b/Master/tlpkg/tlperl/lib/Pod/Plainer.pm
deleted file mode 100644
index d9e57bee1e6..00000000000
--- a/Master/tlpkg/tlperl/lib/Pod/Plainer.pm
+++ /dev/null
@@ -1,100 +0,0 @@
-package Pod::Plainer;
-use 5.006;
-use strict;
-use warnings;
-use if $] >= 5.011, 'deprecate';
-use Pod::Parser;
-our @ISA = qw(Pod::Parser);
-our $VERSION = '1.02';
-
-our %E = qw( < lt > gt );
-
-sub escape_ltgt {
- (undef, my $text) = @_;
- $text =~ s/([<>])/E<$E{$1}>/g;
- $text
-}
-
-sub simple_delimiters {
- (undef, my $seq) = @_;
- $seq -> left_delimiter( '<' );
- $seq -> right_delimiter( '>' );
- $seq;
-}
-
-sub textblock {
- my($parser,$text,$line) = @_;
- print {$parser->output_handle()}
- $parser->parse_text(
- { -expand_text => q(escape_ltgt),
- -expand_seq => q(simple_delimiters) },
- $text, $line ) -> raw_text();
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Pod::Plainer - Perl extension for converting Pod to old-style Pod.
-
-=head1 SYNOPSIS
-
- use Pod::Plainer;
-
- my $parser = Pod::Plainer -> new ();
- $parser -> parse_from_filehandle(\*STDIN);
-
-=head1 DESCRIPTION
-
-Pod::Plainer uses Pod::Parser which takes Pod with the (new)
-'CE<lt>E<lt> .. E<gt>E<gt>' constructs
-and returns the old(er) style with just 'CE<lt>E<gt>';
-'<' and '>' are replaced by 'EE<lt>ltE<gt>' and 'EE<lt>gtE<gt>'.
-
-This can be used to pre-process Pod before using tools which do not
-recognise the new style Pods.
-
-=head2 METHODS
-
-=over
-
-=item escape_ltgt
-
-Replace '<' and '>' by 'EE<lt>ltE<gt>' and 'EE<lt>gtE<gt>'.
-
-=item simple_delimiters
-
-Replace delimiters by 'E<lt>' and 'E<gt>'.
-
-=item textblock
-
-Redefine C<textblock> from L<Pod::Parser> to use C<escape_ltgt>
-and C<simple_delimiters>.
-
-=back
-
-=head2 EXPORT
-
-None by default.
-
-=head1 AUTHOR
-
-Robin Barker, rmbarker@cpan.org
-
-=head1 SEE ALSO
-
-See L<Pod::Parser>.
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2009 by Robin Barker
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself, either Perl version 5.10.1 or,
-at your option, any later version of Perl 5 you may have available.
-
-=cut
-
-$Id: Plainer.pm 253 2010-02-11 16:28:10Z rmb1 $
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple.pm b/Master/tlpkg/tlperl/lib/Pod/Simple.pm
index 51f9a698019..909a2ec8341 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple.pm
@@ -18,7 +18,7 @@ use vars qw(
);
@ISA = ('Pod::Simple::BlackBox');
-$VERSION = '3.14';
+$VERSION = '3.16';
@Known_formatting_codes = qw(I B C L E F S X Z);
%Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
@@ -474,7 +474,7 @@ sub whine {
return $self->_complain_errata(@_);
}
-sub scream { # like whine, but not suppressable
+sub scream { # like whine, but not suppressible
#my($self,$line,$complaint) = @_;
my $self = shift(@_);
++$self->{'errors_seen'};
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm
index 9917898cff7..4765744d82c 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm
@@ -23,7 +23,7 @@ use integer; # vroom!
use strict;
use Carp ();
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
#use constant DEBUG => 7;
BEGIN {
require Pod::Simple;
@@ -88,8 +88,8 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines)
DEBUG > 2 and print "First line: [$source_line]\n";
if( ($line = $source_line) =~ s/^\xEF\xBB\xBF//s ) {
- DEBUG and print "UTF-8 BOM seen. Faking a '=encode utf8'.\n";
- $self->_handle_encoding_line( "=encode utf8" );
+ DEBUG and print "UTF-8 BOM seen. Faking a '=encoding utf8'.\n";
+ $self->_handle_encoding_line( "=encoding utf8" );
$line =~ tr/\n\r//d;
} elsif( $line =~ s/^\xFE\xFF//s ) {
@@ -519,7 +519,7 @@ sub _ponder_paragraph_buffer {
# don't require any lookahead, but all others (bullets
# and numbers) do.
-# TODO: winge about many kinds of directives in non-resolving =for regions?
+# TODO: whinge about many kinds of directives in non-resolving =for regions?
# TODO: many? like what? =head1 etc?
$para = shift @$paras;
@@ -1911,7 +1911,7 @@ sub pretty { # adopted from Class::Classless
# A rather unsubtle method of blowing away all the state information
# from a parser object so it can be reused. Provided as a utility for
-# backward compatibilty in Pod::Man, etc. but not recommended for
+# backward compatibility in Pod::Man, etc. but not recommended for
# general use.
sub reinit {
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm
index 26a60237236..6aca3894191 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm
@@ -9,7 +9,7 @@ use Carp ();
use Pod::Simple::Methody ();
use Pod::Simple ();
use vars qw( @ISA $VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
@ISA = ('Pod::Simple::Methody');
BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
? \&Pod::Simple::DEBUG
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm
index 1349be32cb6..b3de557af3f 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm
@@ -3,7 +3,7 @@ require 5;
package Pod::Simple::Debug;
use strict;
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
sub import {
my($value,$variable);
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm
index 91554341e35..5609c71e342 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::DumpAsText;
-$VERSION = '3.14';
+$VERSION = '3.16';
use Pod::Simple ();
BEGIN {@ISA = ('Pod::Simple')}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm
index d83f8d33f55..beef7caad8a 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::DumpAsXML;
-$VERSION = '3.14';
+$VERSION = '3.16';
use Pod::Simple ();
BEGIN {@ISA = ('Pod::Simple')}
@@ -114,7 +114,7 @@ L<Pod::Simple>.
L<Pod::Simple::XMLOutStream> is rather like this class.
Pod::Simple::XMLOutStream's output is space-padded in a way
that's better for sending to an XML processor (that is, it has
-no ignoreable whitespace). But
+no ignorable whitespace). But
Pod::Simple::DumpAsXML's output is much more human-readable, being
(more-or-less) one token per line, with line-wrapping.
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm
index b1a75cb4e39..9d7d069645a 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm
@@ -10,7 +10,7 @@ use vars qw(
$Doctype_decl $Content_decl
);
@ISA = ('Pod::Simple::PullParser');
-$VERSION = '3.14';
+$VERSION = '3.16';
BEGIN {
if(defined &DEBUG) { } # no-op
@@ -81,7 +81,7 @@ __PACKAGE__->_accessorize(
# out of apparently longstanding habit)
'html_css', # URL of CSS file to point to
- 'html_javascript', # URL of CSS file to point to
+ 'html_javascript', # URL of Javascript file to point to
'force_title', # should already be &-escaped
'default_title', # should already be &-escaped
@@ -685,6 +685,8 @@ sub section_escape {
sub section_name_tidy {
my($self, $section) = @_;
+ $section =~ s/^\s+//;
+ $section =~ s/\s+$//;
$section =~ tr/ /_/;
$section =~ tr/\x00-\x1F\x80-\x9F//d if 'A' eq chr(65); # drop crazy characters
$section = $self->unicode_escape_url($section);
@@ -897,25 +899,176 @@ TODO
=head1 CALLING FROM PERL
-TODO make a new object, set any options, and use parse_from_file
+=head2 Minimal code
+ use Pod::Simple::HTML;
+ my $p = Pod::Simple::HTML->new;
+ $p->output_string(\my $html);
+ $p->parse_file('path/to/Module/Name.pm');
+ open my $out, '>', 'out.html' or die "Cannot open 'out.html': $!\n";
+ print $out $html;
+
+=head2 More detailed example
+
+ use Pod::Simple::HTML;
+
+Set the content type:
+
+ $Pod::Simple::HTML::Content_decl = q{<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >};
+
+ my $p = Pod::Simple::HTML->new;
+
+Include a single javascript source:
+
+ $p->html_javascript('http://abc.com/a.js');
+
+Or insert multiple javascript source in the header
+(or for that matter include anything, thought this is not recommended)
+
+ $p->html_javascript('
+ <script type="text/javascript" src="http://abc.com/b.js"></script>
+ <script type="text/javascript" src="http://abc.com/c.js"></script>');
+
+Include a single css source in the header:
+
+ $p->html_css('/style.css');
+
+or insert multiple css sources:
+
+ $p->html_css('
+ <link rel="stylesheet" type="text/css" title="pod_stylesheet" href="http://remote.server.com/jquery.css">
+ <link rel="stylesheet" type="text/css" title="pod_stylesheet" href="/style.css">');
+
+Tell the parser where should the output go. In this case it will be placed in the $html variable:
+
+ my $html;
+ $p->output_string(\$html);
+
+Parse and process a file with pod in it:
+
+ $p->parse_file('path/to/Module/Name.pm');
=head1 METHODS
TODO
all (most?) accessorized methods
+The following variables need to be set B<before> the call to the ->new constructor.
+
+Set the string that is included before the opening <html> tag:
+
+ $Pod::Simple::HTML::Doctype_decl = qq{<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">\n};
+
+Set the content-type in the HTML head: (defaults to ISO-8859-1)
+
+ $Pod::Simple::HTML::Content_decl = q{<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >};
+
+Set the value that will be ebedded in the opening tags of F, C tags and verbatim text.
+F maps to <em>, C maps to <code>, Verbatim text maps to <pre> (Computerese defaults to "")
+
+ $Pod::Simple::HTML::Computerese = ' class="some_class_name';
+
+=head2 html_css
+
+=head2 html_javascript
+
+=head2 title_prefix
+
+=head2 title_postfix
+
+=head2 html_header_before_title
+
+This includes everything before the <title> opening tag including the Document type
+and including the opening <title> tag. The following call will set it to be a simple HTML
+file:
+
+ $p->html_header_before_title('<html><head><title>');
+
+=head2 html_h_level
+
+Normally =head1 will become <h1>, =head2 will become <h2> etc.
+Using the html_h_level method will change these levels setting the h level
+of =head1 tags:
+
+ $p->html_h_level(3);
+
+Will make sure that =head1 will become <h3> and =head2 will become <h4> etc...
+
+
+=head2 index
+
+Set it to some true value if you want to have an index (in reality a table of contents)
+to be added at the top of the generated HTML.
+
+ $p->index(1);
+
+=head2 html_header_after_title
+
+Includes the closing tag of </title> and through the rest of the head
+till the opening of the body
+
+ $p->html_header_after_title('</title>...</head><body id="my_id">');
+
+=head2 html_footer
+
+The very end of the document:
+
+ $p->html_footer( qq[\n<!-- end doc -->\n\n</body></html>\n] );
=head1 SUBCLASSING
-TODO
+Can use any of the methods described above but for further customization
+one needs to override some of the methods:
+
+ package My::Pod;
+ use strict;
+ use warnings;
+
+ use base 'Pod::Simple::HTML';
+
+ # needs to return a URL string such
+ # http://some.other.com/page.html
+ # #anchor_in_the_same_file
+ # /internal/ref.html
+ sub do_pod_link {
+ # My::Pod object and Pod::Simple::PullParserStartToken object
+ my ($self, $link) = @_;
+
+ say $link->tagname; # will be L for links
+ say $link->attr('to'); #
+ say $link->attr('type'); # will be 'pod' always
+ say $link->attr('section');
+
+ # Links local to our web site
+ if ($link->tagname eq 'L' and $link->attr('type') eq 'pod') {
+ my $to = $link->attr('to');
+ if ($to =~ /^Padre::/) {
+ $to =~ s{::}{/}g;
+ return "/docs/Padre/$to.html";
+ }
+ }
- can just set any of: html_css html_javascript title_prefix
- 'html_header_before_title',
- 'html_header_after_title',
- 'html_footer',
+ # all other links are generated by the parent class
+ my $ret = $self->SUPER::do_pod_link($link);
+ return $ret;
+ }
-maybe override do_pod_link
+ 1;
+
+Meanwhile in script.pl:
+
+ use My::Pod;
+
+ my $p = My::Pod->new;
+
+ my $html;
+ $p->output_string(\$html);
+ $p->parse_file('path/to/Module/Name.pm');
+ open my $out, '>', 'out.html' or die;
+ print $out $html;
+
+TODO
maybe override do_beginning do_end
@@ -952,7 +1105,7 @@ merchantability or fitness for a particular purpose.
=head1 ACKNOWLEDGEMENTS
-Thanks to L<Hurricane Electrict|http://he.net/> for permission to use its
+Thanks to L<Hurricane Electric|http://he.net/> for permission to use its
L<Linux man pages online|http://man.he.net/> site for man page links.
Thanks to L<search.cpan.org|http://search.cpan.org/> for permission to use the
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm
index 227c23b7f9f..7686cd41477 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm
@@ -5,7 +5,7 @@ use strict;
use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION
$CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA
);
-$VERSION = '3.14';
+$VERSION = '3.16';
@ISA = (); # Yup, we're NOT a subclass of Pod::Simple::HTML!
# TODO: nocontents stylesheets. Strike some of the color variations?
@@ -726,7 +726,7 @@ sub _gen_css_wad {
'whtgrng', # white_with_green_on_grey
'grygrnw', # grey_with_green_on_white
) {
- my $outname = "$variation\_";
+ my $outname = $variation;
my $this_css = join "\n",
"/* This file is autogenerated. Do not edit. $outname */\n",
"\@import url(\"./_$variation.css\");",
@@ -735,7 +735,7 @@ sub _gen_css_wad {
;
my $name = $outname;
$name =~ tr/-_/ /;
- $self->add_css( "$outname.css", 0, $name, 0, 0, \$this_css);
+ $self->add_css( "_$outname.css", 0, $name, 0, 0, \$this_css);
}
return;
@@ -1141,7 +1141,7 @@ directory:
=item $batchconv->batch_convert( 'somedir:someother:also' , ...);
-This specifies that you want the dirs "somedir", "somother", and "also"
+This specifies that you want the dirs "somedir", "someother", and "also"
scanned, just as if you'd passed the arrayref
C<[qw( somedir someother also)]>. Note that a ":"-separator is normal
under Unix, but Under MSWin, you'll need C<'somedir;someother;also'>
@@ -1226,7 +1226,7 @@ If you set this to a false value, no contents file will be written.
This specifies what string should be put at the beginning of
the contents page.
The default is a string more or less like this:
-
+
<html>
<head><title>Perl Documentation</title></head>
<body class='contentspage'>
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm
index e426b2c547f..7d77ebb1f82 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm
@@ -3,12 +3,12 @@ require 5;
package Pod::Simple::LinkSection;
# Based somewhat dimly on Array::Autojoin
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
use strict;
use Pod::Simple::BlackBox;
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
use overload( # So it'll stringify nice
'""' => \&Pod::Simple::BlackBox::stringify_lol,
@@ -114,7 +114,7 @@ Output:
], 'Pod::Simple::LinkSection' ),
'baz'
], 'Pod::Simple::LinkSection' );
-
+
But stringify it and you get just the text content:
% perl -MData::Dumper -e
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm
index bed3e8662b2..0d69b7a1d99 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm
@@ -4,7 +4,7 @@ package Pod::Simple::Methody;
use strict;
use Pod::Simple ();
use vars qw(@ISA $VERSION);
-$VERSION = '3.14';
+$VERSION = '3.16';
@ISA = ('Pod::Simple');
# Yes, we could use named variables, but I want this to be impose
@@ -51,12 +51,12 @@ Pod::Simple::Methody -- turn Pod::Simple events into method calls
use strict;
package SomePodFormatter;
use base qw(Pod::Simple::Methody);
-
+
sub handle_text {
my($self, $text) = @_;
...
}
-
+
sub start_head1 {
my($self, $attrs) = @_;
...
@@ -65,7 +65,7 @@ Pod::Simple::Methody -- turn Pod::Simple events into method calls
my($self) = @_;
...
}
-
+
...and start_/end_ methods for whatever other events you want to catch.
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm
index 7de46d5696b..622909bb2b1 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::Progress;
-$VERSION = '3.14';
+$VERSION = '3.16';
use strict;
# Objects of this class are used for noting progress of an
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm
index c27d0cbeb0e..4033213e825 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::PullParser;
-$VERSION = '3.14';
+$VERSION = '3.16';
use Pod::Simple ();
BEGIN {@ISA = ('Pod::Simple')}
@@ -453,7 +453,7 @@ sub _get_titled_section {
$self->unget_token(@to_unget);
if(DEBUG) {
- if(defined $title) { print " Returing title <$title>\n" }
+ if(defined $title) { print " Returning title <$title>\n" }
else { print "Returning title <>\n" }
}
@@ -532,7 +532,7 @@ And elsewhere:
package SomePodProcessor;
use strict;
use base qw(Pod::Simple::PullParser);
-
+
sub run {
my $self = shift;
Token:
@@ -623,14 +623,14 @@ process the token-stream from the beginning.
For example, suppose you have a document that starts out:
=head1 NAME
-
+
Hoo::Boy::Wowza -- Stuff B<wow> yeah!
$parser->get_title on that document will return "Hoo::Boy::Wowza --
Stuff wow yeah!". If the document starts with:
=head1 Name
-
+
Hoo::Boy::W00t -- Stuff B<w00t> yeah!
Then you'll need to pass the C<nocase> option in order to recognize "Name":
@@ -648,7 +648,7 @@ the title seems to be of the form "SomeModuleName -- description".
For example, suppose you have a document that starts out:
=head1 NAME
-
+
Hoo::Boy::Wowza -- Stuff B<wow> yeah!
then $parser->get_short_title on that document will return
@@ -657,14 +657,14 @@ then $parser->get_short_title on that document will return
But if the document starts out:
=head1 NAME
-
+
Hooboy, stuff B<wow> yeah!
then $parser->get_short_title on that document will return "Hooboy,
stuff wow yeah!". If the document starts with:
=head1 Name
-
+
Hoo::Boy::W00t -- Stuff B<w00t> yeah!
Then you'll need to pass the C<nocase> option in order to recognize "Name":
@@ -769,6 +769,7 @@ Pod::Simple is maintained by:
=back
=cut
+
JUNK:
sub _old_get_title { # some witchery in here
@@ -833,7 +834,7 @@ sub _old_get_title { # some witchery in here
$self->unget_token(@to_unget);
if(DEBUG) {
- if(defined $title) { print " Returing title <$title>\n" }
+ if(defined $title) { print " Returning title <$title>\n" }
else { print "Returning title <>\n" }
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm
index 67a625d8877..8b12e646dcc 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
use strict;
use vars qw(@ISA $VERSION);
@ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.14';
+$VERSION = '3.16';
sub new { # Class->new(tagname);
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm
index 37d68ef6196..232ef235f38 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
use strict;
use vars qw(@ISA $VERSION);
@ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.14';
+$VERSION = '3.16';
sub new { # Class->new(tagname, optional_attrhash);
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm
index ed6340d598a..a7fcb0fbb16 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
use strict;
use vars qw(@ISA $VERSION);
@ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.14';
+$VERSION = '3.16';
sub new { # Class->new(text);
my $class = shift;
@@ -61,14 +61,14 @@ as calling $token->text would do.
Or, if you want to alter the value, you can even do things like this:
for ( ${ $token->text_r } ) { # Aliases it with $_ !!
-
+
s/ The / the /g; # just for example
-
+
if( 'A' eq chr(65) ) { # (if in an ASCII world)
tr/\xA0/ /;
tr/\xAD//d;
}
-
+
...or however you want to alter the value...
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm
index 2234ccf7ade..ad6ebf38b44 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm
@@ -3,7 +3,7 @@ require 5;
package Pod::Simple::PullParserToken;
# Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token
@ISA = ();
-$VERSION = '3.14';
+$VERSION = '3.16';
use strict;
sub new { # Class->new('type', stuff...); ## Overridden in derived classes anyway
@@ -56,10 +56,10 @@ Given a $parser that's an object of class Pod::Simple::PullParser
} elsif($token->is_text) {
...access $token->text, $token->text_r, etc...
-
+
} elsif($token->is_end) {
...access $token->tagname...
-
+
}
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm
index f476d37b249..7dbc643de52 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm
@@ -8,7 +8,7 @@ package Pod::Simple::RTF;
use strict;
use vars qw($VERSION @ISA %Escape $WRAP %Tagmap);
-$VERSION = '3.14';
+$VERSION = '3.16';
use Pod::Simple::PullParser ();
BEGIN {@ISA = ('Pod::Simple::PullParser')}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm
index 762701aa9cc..b7d209b1031 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm
@@ -4,7 +4,7 @@ package Pod::Simple::Search;
use strict;
use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY);
-$VERSION = '3.14'; ## Current version of this package
+$VERSION = '3.16'; ## Current version of this package
BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; } # set DEBUG level
use Carp ();
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm
index 32db4b6a51d..fc8b7a2a12a 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm
@@ -6,7 +6,7 @@ use strict;
use Carp ();
use Pod::Simple ();
use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.14';
+$VERSION = '3.16';
BEGIN {
@ISA = ('Pod::Simple');
*DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
@@ -67,15 +67,15 @@ Pod::Simple::SimpleTree -- parse Pod into a simple parse tree
=head1 SYNOPSIS
% cat ptest.pod
-
+
=head1 PIE
-
+
I like B<pie>!
-
+
% perl -MPod::Simple::SimpleTree -MData::Dumper -e \
"print Dumper(Pod::Simple::SimpleTree->new->parse_file(shift)->root)" \
ptest.pod
-
+
$VAR1 = [
'Document',
{ 'start_line' => 1 },
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod b/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
index f2011d5a5ce..f5363183155 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
@@ -275,7 +275,7 @@ some link text.)
For example, this Pod source:
L<hell itself!|crontab(5)>
-
+
will produce this event structure:
<L to="crontab(5)" type="man">
@@ -425,7 +425,7 @@ names in the event structure.
=item events with an element_name of over-bullet
When an "=over ... Z<>=back" block is parsed where the items are
-a bulletted list, it will produce this event structure:
+a bulleted list, it will produce this event structure:
<over-bullet indent="4" start_line="543">
<item-bullet start_line="545">
@@ -509,15 +509,15 @@ The I<indent> attribute is as with the other over-* events.
For example, this Pod source:
=over
-
+
=item Foo
-
+
Stuff
-
+
=item Bar I<baz>!
-
+
Quux
-
+
=back
produces this event structure:
@@ -559,18 +559,18 @@ The I<indent> attribute is as with the other over-* events.
For example, this Pod source:
=over
-
+
For cutting off our trade with all parts of the world
-
+
For transporting us beyond seas to be tried for pretended offenses
-
+
He is at this time transporting large armies of foreign mercenaries to
complete the works of death, desolation and tyranny, already begun with
circumstances of cruelty and perfidy scarcely paralleled in the most
barbarous ages, and totally unworthy the head of a civilized nation.
-
+
=cut
-
+
will produce this event structure:
<over-block indent="4" start_line="2">
@@ -615,7 +615,7 @@ Pod::Simple provides a lot of methods that aren't generally interesting
to the end user of an existing Pod formatter, but some of which you
might find useful in writing a Pod formatter. They are listed below. The
first several methods (the accept_* methods) are for declaring the
-capabilites of your parser, notably what C<=for I<targetname>> sections
+capabilities of your parser, notably what C<=for I<targetname>> sections
it's interested in, what extra NE<lt>...E<gt> codes it accepts beyond
the ones described in the I<perlpod>.
@@ -793,7 +793,7 @@ C<complain_stderr>.
=item C<< $parser->scream( I<linenumber>, I<complaint string> ) >>
This notes an error like C<whine> does, except that it is not
-suppressable with C<no_whining>. This should be used only for very
+suppressible with C<no_whining>. This should be used only for very
serious errors.
@@ -806,7 +806,7 @@ C<die>!
=item C<< $parser->hide_line_numbers( I<SOMEVALUE> ) >>
-Some subclasses that indescriminately dump event attributes (well,
+Some subclasses that indiscriminately dump event attributes (well,
except for ones beginning with "~") can use this object attribute for
refraining to dump the "start_line" attribute.
@@ -887,6 +887,8 @@ L<Pod::Simple::Text> -- a simple plaintext formatter for Pod
L<Pod::Simple::TextContent> -- like Pod::Simple::Text, but
makes no effort for indent or wrap the text being formatted
+L<Pod::Simple::HTML> -- a simple HTML formatter for Pod
+
L<perlpod|perlpod>
L<perlpodspec|perlpodspec>
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm
index 81fde4e7a70..55dae9a6dbe 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm
@@ -6,7 +6,7 @@ use Carp ();
use Pod::Simple::Methody ();
use Pod::Simple ();
use vars qw( @ISA $VERSION $FREAKYMODE);
-$VERSION = '3.14';
+$VERSION = '3.16';
@ISA = ('Pod::Simple::Methody');
BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
? \&Pod::Simple::DEBUG
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm
index 914c7fd166c..36a4988cf12 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm
@@ -6,7 +6,7 @@ use strict;
use Carp ();
use Pod::Simple ();
use vars qw( @ISA $VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
@ISA = ('Pod::Simple');
sub new {
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm
index c5d4483b283..e6e5a4a058f 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm
@@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH;
use Symbol ('gensym');
use Carp ();
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm
index 258d0d76760..dec3b967b39 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm
@@ -2,7 +2,7 @@
require 5;
package Pod::Simple::Transcode;
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
BEGIN {
if(defined &DEBUG) {;} # Okay
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm
index d1c320d5d1a..647447503ed 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm
@@ -5,7 +5,7 @@ require 5;
package Pod::Simple::TranscodeDumb;
use strict;
use vars qw($VERSION %Supported);
-$VERSION = '3.14';
+$VERSION = '3.16';
# This module basically pretends it knows how to transcode, except
# only for null-transcodings! We use this when Encode isn't
# available.
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm
index bab59fc8972..5c10f02ced2 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm
@@ -9,7 +9,7 @@ use strict;
use Pod::Simple;
require Encode;
use vars qw($VERSION );
-$VERSION = '3.14';
+$VERSION = '3.16';
sub is_dumb {0}
sub is_smart {1}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm
index 6a8fb7e97e4..ef05ddb6ea5 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm
@@ -23,13 +23,29 @@ This is a subclass of L<Pod::Simple::Methody> and inherits all its
methods. The implementation is entirely different than
L<Pod::Simple::HTML>, but it largely preserves the same interface.
+=head2 Minimal code
+
+ use Pod::Simple::XHTML;
+ my $psx = Pod::Simple::XHTML->new;
+ $psx->output_string(\my $html);
+ $psx->parse_file('path/to/Module/Name.pm');
+ open my $out, '>', 'out.html' or die "Cannot open 'out.html': $!\n";
+ print $out $html;
+
+You can also control the character encoding and entities. For example, if
+you're sure that the POD is properly encoded (using the C<=encoding> command),
+you can prevent high-bit characters from being encoded as HTML entities and
+declare the output character set as UTF-8 before parsing, like so:
+
+ $psx->html_charset('UTF-8');
+ $psx->html_encode_chars('&<>">');
+
=cut
package Pod::Simple::XHTML;
use strict;
use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES );
-$VERSION = '3.14';
-use Carp ();
+$VERSION = '3.16';
use Pod::Simple::Methody ();
@ISA = ('Pod::Simple::Methody');
@@ -46,10 +62,17 @@ my %entities = (
);
sub encode_entities {
- return HTML::Entities::encode_entities( $_[0] ) if $HAS_HTML_ENTITIES;
+ my $self = shift;
+ my $ents = $self->html_encode_chars;
+ return HTML::Entities::encode_entities( $_[0], $ents ) if $HAS_HTML_ENTITIES;
+ if (defined $ents) {
+ $ents =~ s,(?<!\\)([]/]),\\$1,g;
+ $ents =~ s,(?<!\\)\\\z,\\\\,;
+ } else {
+ $ents = join '', keys %entities;
+ }
my $str = $_[0];
- my $ents = join '', keys %entities;
- $str =~ s/([$ents])/'&' . $entities{$1} . ';'/ge;
+ $str =~ s/([$ents])/'&' . ($entities{$1} || sprintf '#x%X', ord $1) . ';'/ge;
return $str;
}
@@ -107,6 +130,12 @@ not set by default.
A document type tag for the file. This option is not set by default.
+=head2 html_charset
+
+The charater set to declare in the Content-Type meta tag created by default
+for C<html_header_tags>. Note that this option will be ignored if the value of
+C<html_header_tags> is changed. Defaults to "ISO-8859-1".
+
=head2 html_header_tags
Additional arbitrary HTML tags for the header of the document. The
@@ -117,6 +146,15 @@ default value is just a content type header tag:
Add additional meta tags here, or blocks of inline CSS or JavaScript
(wrapped in the appropriate tags).
+=head3 html_encode_chars
+
+A string containing all characters that should be encoded as HTML entities,
+specified using the regular expression character class syntax (what you find
+within brackets in regular expressions). This value will be passed as the
+second argument to the C<encode_entities> fuction of L<HTML::Entities>. IF
+L<HTML::Entities> is not installed, then any characters other than C<&<>"'>
+will be encoded numerically.
+
=head2 html_h_level
This is the level of HTML "Hn" element to which a Pod "head1" corresponds. For
@@ -165,10 +203,11 @@ __PACKAGE__->_accessorize(
'man_url_prefix',
'man_url_postfix',
'title_prefix', 'title_postfix',
- 'html_css',
+ 'html_css',
'html_javascript',
'html_doctype',
- 'html_header_tags',
+ 'html_charset',
+ 'html_encode_chars',
'html_h_level',
'title', # Used internally for the title extracted from the content
'default_title',
@@ -198,7 +237,7 @@ sub new {
$new->{'output_fh'} ||= *STDOUT{IO};
$new->perldoc_url_prefix('http://search.cpan.org/perldoc?');
$new->man_url_prefix('http://man.he.net/man');
- $new->html_header_tags('<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />');
+ $new->html_charset('ISO-8859-1');
$new->nix_X_codes(1);
$new->codes_in_verbatim(1);
$new->{'scratch'} = '';
@@ -206,6 +245,7 @@ sub new {
$new->{'output'} = [];
$new->{'saved'} = [];
$new->{'ids'} = {};
+ $new->{'in_li'} = [];
$new->{'__region_targets'} = [];
$new->{'__literal_targets'} = {};
@@ -214,6 +254,14 @@ sub new {
return $new;
}
+sub html_header_tags {
+ my $self = shift;
+ return $self->{html_header_tags} = shift if @_;
+ return $self->{html_header_tags}
+ ||= '<meta http-equiv="Content-Type" content="text/html; charset='
+ . $self->html_charset . '" />';
+}
+
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=head2 handle_text
@@ -270,7 +318,7 @@ sub handle_text {
# escape special characters in HTML (<, >, &, etc)
$_[0]{'scratch'} .= $_[0]->__in_literal_xhtml_region
? $_[1]
- : encode_entities( $_[1] );
+ : $_[0]->encode_entities( $_[1] );
}
sub start_Para { $_[0]{'scratch'} = '<p>' }
@@ -282,15 +330,15 @@ sub start_head3 { $_[0]{'in_head'} = 3 }
sub start_head4 { $_[0]{'in_head'} = 4 }
sub start_item_number {
- $_[0]{'scratch'} = "</li>\n" if $_[0]{'in_li'};
+ $_[0]{'scratch'} = "</li>\n" if ($_[0]{'in_li'}->[-1] && pop @{$_[0]{'in_li'}});
$_[0]{'scratch'} .= '<li><p>';
- $_[0]{'in_li'} = 1
+ push @{$_[0]{'in_li'}}, 1;
}
sub start_item_bullet {
- $_[0]{'scratch'} = "</li>\n" if $_[0]{'in_li'};
+ $_[0]{'scratch'} = "</li>\n" if ($_[0]{'in_li'}->[-1] && pop @{$_[0]{'in_li'}});
$_[0]{'scratch'} .= '<li><p>';
- $_[0]{'in_li'} = 1
+ push @{$_[0]{'in_li'}}, 1;
}
sub start_item_text {
@@ -301,9 +349,9 @@ sub start_item_text {
$_[0]{'scratch'} .= '<dt>';
}
-sub start_over_bullet { $_[0]{'scratch'} = '<ul>'; $_[0]->emit }
+sub start_over_bullet { $_[0]{'scratch'} = '<ul>'; push @{$_[0]{'in_li'}}, 0; $_[0]->emit }
sub start_over_block { $_[0]{'scratch'} = '<ul>'; $_[0]->emit }
-sub start_over_number { $_[0]{'scratch'} = '<ol>'; $_[0]->emit }
+sub start_over_number { $_[0]{'scratch'} = '<ol>'; push @{$_[0]{'in_li'}}, 0; $_[0]->emit }
sub start_over_text {
$_[0]{'scratch'} = '<dl>';
$_[0]{'dl_level'}++;
@@ -314,14 +362,16 @@ sub start_over_text {
sub end_over_block { $_[0]{'scratch'} .= '</ul>'; $_[0]->emit }
sub end_over_number {
- $_[0]{'scratch'} = "</li>\n" if delete $_[0]{'in_li'};
+ $_[0]{'scratch'} = "</li>\n" if ( pop @{$_[0]{'in_li'}} );
$_[0]{'scratch'} .= '</ol>';
+ pop @{$_[0]{'in_li'}};
$_[0]->emit;
}
sub end_over_bullet {
- $_[0]{'scratch'} = "</li>\n" if delete $_[0]{'in_li'};
+ $_[0]{'scratch'} = "</li>\n" if ( pop @{$_[0]{'in_li'}} );
$_[0]{'scratch'} .= '</ul>';
+ pop @{$_[0]{'in_li'}};
$_[0]->emit;
}
@@ -372,7 +422,7 @@ sub end_item_text {
}
# This handles =begin and =for blocks of all kinds.
-sub start_for {
+sub start_for {
my ($self, $flags) = @_;
push @{ $self->{__region_targets} }, $flags->{target_matching};
@@ -386,7 +436,7 @@ sub start_for {
$self->emit;
}
-sub end_for {
+sub end_for {
my ($self) = @_;
$self->{'scratch'} .= '</div>' unless $self->__in_literal_xhtml_region;
@@ -395,7 +445,7 @@ sub end_for {
$self->emit;
}
-sub start_Document {
+sub start_Document {
my ($self) = @_;
if (defined $self->html_header) {
$self->{'scratch'} .= $self->html_header;
@@ -407,7 +457,7 @@ sub start_Document {
$metatags = $self->html_header_tags || '';
if ($self->html_css) {
$metatags .= "\n<link rel='stylesheet' href='" .
- $self->html_css . "' type='text/css'>";
+ $self->html_css . "' type='text/css' />";
}
if ($self->html_javascript) {
$metatags .= "\n<script type='text/javascript' src='" .
@@ -500,10 +550,12 @@ sub end_I { $_[0]{'scratch'} .= '</i>' }
sub start_L {
my ($self, $flags) = @_;
my ($type, $to, $section) = @{$flags}{'type', 'to', 'section'};
- my $url = $type eq 'url' ? $to
+ my $url = $self->encode_entities(
+ $type eq 'url' ? $to
: $type eq 'pod' ? $self->resolve_pod_page_link($to, $section)
: $type eq 'man' ? $self->resolve_man_page_link($to, $section)
- : undef;
+ : undef
+ );
# If it's an unknown type, use an attribute-less <a> like HTML.pm.
$self->{'scratch'} .= '<a' . ($url ? ' href="'. $url . '">' : '>');
@@ -511,8 +563,8 @@ sub start_L {
sub end_L { $_[0]{'scratch'} .= '</a>' }
-sub start_S { $_[0]{'scratch'} .= '<nobr>' }
-sub end_S { $_[0]{'scratch'} .= '</nobr>' }
+sub start_S { $_[0]{'scratch'} .= '<span style="white-space: nowrap;">' }
+sub end_S { $_[0]{'scratch'} .= '</span>' }
sub emit {
my($self) = @_;
@@ -554,7 +606,7 @@ sub resolve_pod_page_link {
}
return ($self->perldoc_url_prefix || '')
- . encode_entities($to) . $section
+ . $self->encode_entities($to) . $section
. ($self->perldoc_url_postfix || '');
}
@@ -583,7 +635,7 @@ sub resolve_man_page_link {
my ($page, $part) = $to =~ /^([^(]+)(?:[(](\d+)[)])?$/;
return undef unless $page;
return ($self->man_url_prefix || '')
- . ($part || 1) . "/" . encode_entities($page)
+ . ($part || 1) . "/" . $self->encode_entities($page)
. ($self->man_url_postfix || '');
}
@@ -627,6 +679,7 @@ sub idify {
for ($t) {
s/<[^>]+>//g; # Strip HTML.
s/&[^;]+;//g; # Strip entities.
+ s/^\s+//; s/\s+$//; # Strip white space.
s/^([^a-zA-Z]+)$/pod$1/; # Prepend "pod" if no valid chars.
s/^[^a-zA-Z]+//; # First char must be a letter.
s/[^-a-zA-Z0-9_:.]+/-/g; # All other chars must be valid.
@@ -689,7 +742,7 @@ merchantability or fitness for a particular purpose.
=head1 ACKNOWLEDGEMENTS
-Thanks to L<Hurricane Electrict|http://he.net/> for permission to use its
+Thanks to L<Hurricane Electric|http://he.net/> for permission to use its
L<Linux man pages online|http://man.he.net/> site for man page links.
Thanks to L<search.cpan.org|http://search.cpan.org/> for permission to use the
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm
index 2e6b42834e0..69b992d01ec 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm
@@ -5,7 +5,7 @@ use strict;
use Carp ();
use Pod::Simple ();
use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.14';
+$VERSION = '3.16';
BEGIN {
@ISA = ('Pod::Simple');
*DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Text.pm b/Master/tlpkg/tlperl/lib/Pod/Text.pm
index c68313c3898..cc028206606 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Text.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Text.pm
@@ -29,6 +29,7 @@ use strict;
use vars qw(@ISA @EXPORT %ESCAPES $VERSION);
use Carp qw(carp croak);
+use Encode qw(encode);
use Exporter ();
use Pod::Simple ();
@@ -37,7 +38,7 @@ use Pod::Simple ();
# We have to export pod2text for backward compatibility.
@EXPORT = qw(pod2text);
-$VERSION = '3.14';
+$VERSION = '3.15';
##############################################################################
# Initialization
@@ -250,7 +251,8 @@ sub reformat {
# necessary to match the input encoding unless UTF-8 output is forced. This
# preserves the traditional pass-through behavior of Pod::Text.
sub output {
- my ($self, $text) = @_;
+ my ($self, @text) = @_;
+ my $text = join ('', @text);
$text =~ tr/\240\255/ /d;
unless ($$self{opt_utf8} || $$self{CHECKED_ENCODING}) {
my $encoding = $$self{encoding} || '';
@@ -259,7 +261,11 @@ sub output {
}
$$self{CHECKED_ENCODING} = 1;
}
- print { $$self{output_fh} } $text;
+ if ($$self{ENCODE}) {
+ print { $$self{output_fh} } encode ('UTF-8', $text);
+ } else {
+ print { $$self{output_fh} } $text;
+ }
}
# Output a block of code (something that isn't part of the POD text). Called
@@ -284,17 +290,19 @@ sub start_document {
# We have to redo encoding handling for each document.
delete $$self{CHECKED_ENCODING};
- # If we were given the utf8 option, set an output encoding on our file
- # handle. Wrap in an eval in case we're using a version of Perl too old
- # to understand this.
- #
- # This is evil because it changes the global state of a file handle that
- # we may not own. However, we can't just blindly encode all output, since
- # there may be a pre-applied output encoding (such as from PERL_UNICODE)
- # and then we would double-encode. This seems to be the least bad
- # approach.
+ # When UTF-8 output is set, check whether our output file handle already
+ # has a PerlIO encoding layer set. If it does not, we'll need to encode
+ # our output before printing it (handled in the output() sub). Wrap the
+ # check in an eval to handle versions of Perl without PerlIO.
+ $$self{ENCODE} = 0;
if ($$self{opt_utf8}) {
- eval { binmode ($$self{output_fh}, ':encoding(UTF-8)') };
+ $$self{ENCODE} = 1;
+ eval {
+ my @layers = PerlIO::get_layers ($$self{output_fh});
+ if (grep { $_ eq 'utf8' } @layers) {
+ $$self{ENCODE} = 0;
+ }
+ };
}
return '';
diff --git a/Master/tlpkg/tlperl/lib/SDBM_File.pm b/Master/tlpkg/tlperl/lib/SDBM_File.pm
index d1209e0158b..c989ceb6f4e 100644
--- a/Master/tlpkg/tlperl/lib/SDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/SDBM_File.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
require Tie::Hash;
-use XSLoader ();
+require XSLoader;
our @ISA = qw(Tie::Hash);
-our $VERSION = "1.06";
+our $VERSION = "1.09";
-XSLoader::load 'SDBM_File', $VERSION;
+XSLoader::load();
1;
diff --git a/Master/tlpkg/tlperl/lib/Safe.pm b/Master/tlpkg/tlperl/lib/Safe.pm
index bca4dfe8e6b..70549c5f4e8 100644
--- a/Master/tlpkg/tlperl/lib/Safe.pm
+++ b/Master/tlpkg/tlperl/lib/Safe.pm
@@ -2,9 +2,9 @@ package Safe;
use 5.003_11;
use strict;
-use Scalar::Util qw(reftype);
+use Scalar::Util qw(reftype refaddr);
-$Safe::VERSION = "2.27";
+$Safe::VERSION = "2.29";
# *** Don't declare any lexicals above this point ***
#
@@ -134,6 +134,7 @@ my $default_share = [qw[
&version::vxs::stringify
&version::vxs::new
&version::vxs::parse
+ &version::vxs::VCMP
]), ($] >= 5.011 && qw[
&re::regexp_pattern
])];
@@ -362,10 +363,12 @@ sub reval {
return (wantarray) ? @subret : $subret[0];
}
+my %OID;
sub wrap_code_refs_within {
my $obj = shift;
+ %OID = ();
$obj->_find_code_refs('wrap_code_ref', @_);
}
@@ -377,6 +380,10 @@ sub _find_code_refs {
for my $item (@_) {
my $reftype = $item && reftype $item
or next;
+
+ # skip references already seen
+ next if ++$OID{refaddr $item} > 1;
+
if ($reftype eq 'ARRAY') {
$obj->_find_code_refs($visitor, @$item);
}
diff --git a/Master/tlpkg/tlperl/lib/Scalar/Util.pm b/Master/tlpkg/tlperl/lib/Scalar/Util.pm
index 24f146f2b3f..24138ca4d85 100644
--- a/Master/tlpkg/tlperl/lib/Scalar/Util.pm
+++ b/Master/tlpkg/tlperl/lib/Scalar/Util.pm
@@ -13,7 +13,7 @@ require List::Util; # List::Util loads the XS
@ISA = qw(Exporter);
@EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
-$VERSION = "1.22";
+$VERSION = "1.23";
$VERSION = eval $VERSION;
unless (defined &dualvar) {
diff --git a/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm b/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm
index e94fe86f21c..7850e1b812d 100644
--- a/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm
+++ b/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm
@@ -16,7 +16,7 @@ use B qw(svref_2object);
@ISA = qw(Exporter);
@EXPORT = qw(blessed reftype tainted readonly refaddr looks_like_number);
-$VERSION = "1.22";
+$VERSION = "1.23";
$VERSION = eval $VERSION;
sub blessed ($) {
@@ -41,20 +41,19 @@ sub refaddr($) {
$addr =~ /0x(\w+)/;
local $^W;
+ no warnings 'portable';
hex($1);
}
{
my %tmap = qw(
- B::HV HASH
- B::AV ARRAY
- B::CV CODE
- B::IO IO
- B::NULL SCALAR
- B::NV SCALAR
- B::PV SCALAR
- B::GV GLOB
- B::RV REF
+ B::NULL SCALAR
+
+ B::HV HASH
+ B::AV ARRAY
+ B::CV CODE
+ B::IO IO
+ B::GV GLOB
B::REGEXP REGEXP
);
diff --git a/Master/tlpkg/tlperl/lib/Search/Dict.pm b/Master/tlpkg/tlperl/lib/Search/Dict.pm
index 5cdd2f42c7a..cbbaf99a50a 100644
--- a/Master/tlpkg/tlperl/lib/Search/Dict.pm
+++ b/Master/tlpkg/tlperl/lib/Search/Dict.pm
@@ -4,7 +4,7 @@ require Exporter;
use strict;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
our @ISA = qw(Exporter);
our @EXPORT = qw(look);
diff --git a/Master/tlpkg/tlperl/lib/SelfLoader.pm b/Master/tlpkg/tlperl/lib/SelfLoader.pm
index 047f7768e89..20e02cccdca 100644
--- a/Master/tlpkg/tlperl/lib/SelfLoader.pm
+++ b/Master/tlpkg/tlperl/lib/SelfLoader.pm
@@ -1,7 +1,8 @@
package SelfLoader;
use 5.008;
use strict;
-our $VERSION = "1.17";
+use IO::Handle;
+our $VERSION = "1.18";
# The following bit of eval-magic is necessary to make this work on
# perls < 5.009005.
@@ -102,6 +103,7 @@ sub _load_stubs {
close $fh or die "close: $!"; # autocloses, but be paranoid
open $fh, '<&', $nfh or croak "reopen2: $!"; # dup() the fd "back"
close $nfh or die "close after reopen: $!"; # autocloses, but be paranoid
+ $fh->untaint;
}
$Cache{"${currpack}::<DATA"} = 1; # indicate package is cached
diff --git a/Master/tlpkg/tlperl/lib/Shell.pm b/Master/tlpkg/tlperl/lib/Shell.pm
index 72c7ec21376..66a0c6b0e11 100644
--- a/Master/tlpkg/tlperl/lib/Shell.pm
+++ b/Master/tlpkg/tlperl/lib/Shell.pm
@@ -9,6 +9,8 @@ our($capture_stderr, $raw, $VERSION, $AUTOLOAD);
$VERSION = '0.72_01';
$VERSION = eval $VERSION;
+use if $] >= 5.011, 'deprecate';
+
sub new { bless \my $foo, shift }
sub DESTROY { }
diff --git a/Master/tlpkg/tlperl/lib/Socket.pm b/Master/tlpkg/tlperl/lib/Socket.pm
index 51bf28a333c..aa3fe3fff80 100644
--- a/Master/tlpkg/tlperl/lib/Socket.pm
+++ b/Master/tlpkg/tlperl/lib/Socket.pm
@@ -1,7 +1,9 @@
package Socket;
+use strict;
+
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = "1.87_01";
+$VERSION = "1.94";
=head1 NAME
@@ -112,6 +114,16 @@ Note - does not return a number.
Returns the 4-byte 'invalid' ip address. Normally equivalent
to inet_aton('255.255.255.255').
+=item IN6ADDR_ANY
+
+Returns the 16-byte wildcard IPv6 address. Normally equivalent
+to inet_pton(AF_INET6, "::")
+
+=item IN6ADDR_LOOPBACK
+
+Returns the 16-byte loopback IPv6 address. Normally equivalent
+to inet_pton(AF_INET6, "::1")
+
=item sockaddr_family SOCKADDR
Takes a sockaddr structure (as returned by pack_sockaddr_in(),
@@ -147,6 +159,29 @@ representing the IP address (you can use inet_ntoa() to convert the
address to the four-dotted numeric format). Will croak if the
structure does not have AF_INET in the right place.
+=item sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID, [ FLOWINFO ] ]
+
+=item sockaddr_in6 SOCKADDR_IN6
+
+In list context, unpacks its SOCKADDR_IN6 argument according to
+unpack_sockaddr_in6(). In scalar context, packs its arguments according to
+pack_sockaddr_in6().
+
+=item pack_sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID, [ FLOWINFO ] ]
+
+Takes two to four arguments, a port number, an opaque string (as returned by
+inet_pton()), optionally a scope ID number, and optionally a flow label
+number. Returns the sockaddr_in6 structure with those arguments packed in
+with AF_INET6 filled in. IPv6 equivalent of pack_sockaddr_in().
+
+=item unpack_sockaddr_in6 SOCKADDR_IN6
+
+Takes a sockaddr_in6 structure (as returned by pack_sockaddr_in6()) and
+returns an array of four elements: the port number, an opaque string
+representing the IPv6 address, the scope ID, and the flow label. (You can
+use inet_ntop() to convert the address to the usual string format). Will
+croak if the structure does not have AF_INET6 in the right place.
+
=item sockaddr_un PATHNAME
=item sockaddr_un SOCKADDR_UN
@@ -178,7 +213,7 @@ the name of a host, and translates that to an opaque string
(if programming in C, struct in_addr or struct in6_addr depending on the
address family passed in). The host string may be a string hostname, such
as 'www.perl.org', or an IP address. If using an IP address, the type of
-IP address must be consistant with the address family passed into the function.
+IP address must be consistent with the address family passed into the function.
This function is not exported by default.
@@ -190,6 +225,84 @@ translates it to an IPv4 or IPv6 address string.
This function is not exported by default.
+=item getaddrinfo HOST, SERVICE, [ HINTS ]
+
+Given at least one of a hostname and a service name, returns a list of address
+structures to listen on or connect to. HOST and SERVICE should be plain
+strings (or a numerical port number for SERVICE). If present, HINTS should be
+a reference to a HASH, where the following keys are recognised:
+
+=over 8
+
+=item flags => INT
+
+A bitfield containing C<AI_*> constants
+
+=item family => INT
+
+Restrict to only generating addresses in this address family
+
+=item socktype => INT
+
+Restrict to only generating addresses of this socket type
+
+=item protocol => INT
+
+Restrict to only generating addresses for this protocol
+
+=back
+
+The return value will be a list; the first value being an error indication,
+followed by a list of address structures (if no error occured).
+
+ my ( $err, @results ) = getaddrinfo( ... );
+
+The error value will be a dualvar; comparable to the C<EI_*> error constants,
+or printable as a human-readable error message string. Each value in the
+results list will be a HASH reference containing the following fields:
+
+=over 8
+
+=item family => INT
+
+The address family (e.g. AF_INET)
+
+=item socktype => INT
+
+The socket type (e.g. SOCK_STREAM)
+
+=item protocol => INT
+
+The protocol (e.g. IPPROTO_TCP)
+
+=item addr => STRING
+
+The address in a packed string (such as would be returned by pack_sockaddr_in)
+
+=item canonname => STRING
+
+The canonical name for the host if the C<AI_CANONNAME> flag was provided, or
+C<undef> otherwise. This field will only be present on the first returned
+address.
+
+=back
+
+=item getnameinfo ADDR, FLAGS
+
+Given a packed socket address (such as from C<getsockname>, C<getpeername>, or
+returned by C<getaddrinfo> in a C<addr> field), returns the hostname and
+symbolic service name it represents. FLAGS may be a bitmask of C<NI_*>
+constants, or defaults to 0 if unspecified.
+
+The return value will be a list; the first value being an error condition,
+followed by the hostname and service name.
+
+ my ( $err, $host, $service ) = getnameinfo( ... );
+
+The error value will be a dualvar; comparable to the C<EI_*> error constants,
+or printable as a human-readable error message string. The host and service
+names will be plain strings.
+
=back
=cut
@@ -198,14 +311,18 @@ use Carp;
use warnings::register;
require Exporter;
-use XSLoader ();
+require XSLoader;
@ISA = qw(Exporter);
+
+# <@Nicholas> you can't change @EXPORT without breaking the implicit API
+# Please put any new constants in @EXPORT_OK!
@EXPORT = qw(
inet_aton inet_ntoa
sockaddr_family
pack_sockaddr_in unpack_sockaddr_in
pack_sockaddr_un unpack_sockaddr_un
- sockaddr_in sockaddr_un
+ pack_sockaddr_in6 unpack_sockaddr_in6
+ sockaddr_in sockaddr_in6 sockaddr_un
INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK INADDR_NONE
AF_802
AF_AAL
@@ -366,6 +483,26 @@ use XSLoader ();
inet_pton
inet_ntop
+ getaddrinfo
+ getnameinfo
+
+ IN6ADDR_ANY IN6ADDR_LOOPBACK
+
+ AI_CANONNAME
+ AI_NUMERICHOST
+ AI_NUMERICSERV
+ AI_PASSIVE
+
+ EAI_ADDRFAMILY
+ EAI_AGAIN
+ EAI_BADFLAGS
+ EAI_FAIL
+ EAI_FAMILY
+ EAI_NODATA
+ EAI_NONAME
+ EAI_SERVICE
+ EAI_SOCKTYPE
+
IPPROTO_IP
IPPROTO_IPV6
IPPROTO_RAW
@@ -373,11 +510,28 @@ use XSLoader ();
IPPROTO_TCP
IPPROTO_UDP
+ NI_DGRAM
+ NI_NAMEREQD
+ NI_NUMERICHOST
+ NI_NUMERICSERV
+
TCP_KEEPALIVE
TCP_MAXRT
TCP_MAXSEG
TCP_NODELAY
- TCP_STDURG);
+ TCP_STDURG
+ TCP_CORK
+ TCP_KEEPIDLE
+ TCP_KEEPINTVL
+ TCP_KEEPCNT
+ TCP_SYNCNT
+ TCP_LINGER2
+ TCP_DEFER_ACCEPT
+ TCP_WINDOW_CLAMP
+ TCP_INFO
+ TCP_QUICKACK
+ TCP_CONGESTION
+ TCP_MD5SIG);
%EXPORT_TAGS = (
crlf => [qw(CR LF CRLF $CR $LF $CRLF)],
@@ -409,6 +563,17 @@ sub sockaddr_in {
}
}
+sub sockaddr_in6 {
+ if (wantarray) {
+ croak "usage: (port,in6addr,scope_id,flowinfo) = sockaddr_in6(sin6_sv)" unless @_ == 1;
+ unpack_sockaddr_in6(@_);
+ }
+ else {
+ croak "usage: sin6_sv = sockaddr_in6(port,in6addr,[scope_id,[flowinfo]])" unless @_ >= 2 and @_ <= 4;
+ pack_sockaddr_in6(@_);
+ }
+}
+
sub sockaddr_un {
if (wantarray) {
croak "usage: (filename) = sockaddr_un(sun_sv)" unless @_ == 1;
@@ -419,18 +584,221 @@ sub sockaddr_un {
}
}
-sub AUTOLOAD {
- my($constname);
- ($constname = $AUTOLOAD) =~ s/.*:://;
- croak "&Socket::constant not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- if ($error) {
- croak $error;
+XSLoader::load();
+
+my %errstr;
+
+if( defined &getaddrinfo ) {
+ # These are not part of the API, nothing uses them, and deleting them
+ # reduces the size of %Socket:: by about 12K
+ delete $Socket::{fake_getaddrinfo};
+ delete $Socket::{fake_getnameinfo};
+} else {
+ require Scalar::Util;
+
+ *getaddrinfo = \&fake_getaddrinfo;
+ *getnameinfo = \&fake_getnameinfo;
+
+ # These numbers borrowed from GNU libc's implementation, but since
+ # they're only used by our emulation, it doesn't matter if the real
+ # platform's values differ
+ my %constants = (
+ AI_PASSIVE => 1,
+ AI_CANONNAME => 2,
+ AI_NUMERICHOST => 4,
+ # RFC 2553 doesn't define this but Linux does - lets be nice and
+ # provide it since we can
+ AI_NUMERICSERV => 1024,
+
+ EAI_BADFLAGS => -1,
+ EAI_NONAME => -2,
+ EAI_NODATA => -5,
+ EAI_FAMILY => -6,
+ EAI_SERVICE => -8,
+
+ NI_NUMERICHOST => 1,
+ NI_NUMERICSERV => 2,
+ NI_NAMEREQD => 8,
+ NI_DGRAM => 16,
+ );
+
+ foreach my $name ( keys %constants ) {
+ my $value = $constants{$name};
+
+ no strict 'refs';
+ defined &$name or *$name = sub () { $value };
}
- *$AUTOLOAD = sub { $val };
- goto &$AUTOLOAD;
+
+ %errstr = (
+ # These strings from RFC 2553
+ EAI_BADFLAGS() => "invalid value for ai_flags",
+ EAI_NONAME() => "nodename nor servname provided, or not known",
+ EAI_NODATA() => "no address associated with nodename",
+ EAI_FAMILY() => "ai_family not supported",
+ EAI_SERVICE() => "servname not supported for ai_socktype",
+ );
}
-XSLoader::load 'Socket', $VERSION;
+# The following functions are used if the system does not have a
+# getaddrinfo(3) function in libc; and are used to emulate it for the AF_INET
+# family
+
+# Borrowed from Regexp::Common::net
+my $REGEXP_IPv4_DECIMAL = qr/25[0-5]|2[0-4][0-9]|1?[0-9][0-9]{1,2}/;
+my $REGEXP_IPv4_DOTTEDQUAD = qr/$REGEXP_IPv4_DECIMAL\.$REGEXP_IPv4_DECIMAL\.$REGEXP_IPv4_DECIMAL\.$REGEXP_IPv4_DECIMAL/;
+
+sub fake_makeerr
+{
+ my ( $errno ) = @_;
+ my $errstr = $errno == 0 ? "" : ( $errstr{$errno} || $errno );
+ return Scalar::Util::dualvar( $errno, $errstr );
+}
+
+sub fake_getaddrinfo
+{
+ my ( $node, $service, $hints ) = @_;
+
+ $node = "" unless defined $node;
+
+ $service = "" unless defined $service;
+
+ my ( $family, $socktype, $protocol, $flags ) = @$hints{qw( family socktype protocol flags )};
+
+ $family ||= Socket::AF_INET(); # 0 == AF_UNSPEC, which we want too
+ $family == Socket::AF_INET() or return fake_makeerr( EAI_FAMILY() );
+
+ $socktype ||= 0;
+
+ $protocol ||= 0;
+
+ $flags ||= 0;
+
+ my $flag_passive = $flags & AI_PASSIVE(); $flags &= ~AI_PASSIVE();
+ my $flag_canonname = $flags & AI_CANONNAME(); $flags &= ~AI_CANONNAME();
+ my $flag_numerichost = $flags & AI_NUMERICHOST(); $flags &= ~AI_NUMERICHOST();
+ my $flag_numericserv = $flags & AI_NUMERICSERV(); $flags &= ~AI_NUMERICSERV();
+
+ $flags == 0 or return fake_makeerr( EAI_BADFLAGS() );
+
+ $node eq "" and $service eq "" and return fake_makeerr( EAI_NONAME() );
+
+ my $canonname;
+ my @addrs;
+ if( $node ne "" ) {
+ return fake_makeerr( EAI_NONAME() ) if( $flag_numerichost and $node !~ m/^$REGEXP_IPv4_DOTTEDQUAD$/ );
+ ( $canonname, undef, undef, undef, @addrs ) = gethostbyname( $node );
+ defined $canonname or return fake_makeerr( EAI_NONAME() );
+
+ undef $canonname unless $flag_canonname;
+ }
+ else {
+ $addrs[0] = $flag_passive ? Socket::inet_aton( "0.0.0.0" )
+ : Socket::inet_aton( "127.0.0.1" );
+ }
+
+ my @ports; # Actually ARRAYrefs of [ socktype, protocol, port ]
+ my $protname = "";
+ if( $protocol ) {
+ $protname = getprotobynumber( $protocol );
+ }
+
+ if( $service ne "" and $service !~ m/^\d+$/ ) {
+ return fake_makeerr( EAI_NONAME() ) if( $flag_numericserv );
+ getservbyname( $service, $protname ) or return fake_makeerr( EAI_SERVICE() );
+ }
+
+ foreach my $this_socktype ( Socket::SOCK_STREAM(), Socket::SOCK_DGRAM(), Socket::SOCK_RAW() ) {
+ next if $socktype and $this_socktype != $socktype;
+
+ my $this_protname = "raw";
+ $this_socktype == Socket::SOCK_STREAM() and $this_protname = "tcp";
+ $this_socktype == Socket::SOCK_DGRAM() and $this_protname = "udp";
+
+ next if $protname and $this_protname ne $protname;
+
+ my $port;
+ if( $service ne "" ) {
+ if( $service =~ m/^\d+$/ ) {
+ $port = "$service";
+ }
+ else {
+ ( undef, undef, $port, $this_protname ) = getservbyname( $service, $this_protname );
+ next unless defined $port;
+ }
+ }
+ else {
+ $port = 0;
+ }
+
+ push @ports, [ $this_socktype, scalar getprotobyname( $this_protname ) || 0, $port ];
+ }
+
+ my @ret;
+ foreach my $addr ( @addrs ) {
+ foreach my $portspec ( @ports ) {
+ my ( $socktype, $protocol, $port ) = @$portspec;
+ push @ret, {
+ family => $family,
+ socktype => $socktype,
+ protocol => $protocol,
+ addr => Socket::pack_sockaddr_in( $port, $addr ),
+ canonname => undef,
+ };
+ }
+ }
+
+ # Only supply canonname for the first result
+ if( defined $canonname ) {
+ $ret[0]->{canonname} = $canonname;
+ }
+
+ return ( fake_makeerr( 0 ), @ret );
+}
+
+sub fake_getnameinfo
+{
+ my ( $addr, $flags ) = @_;
+
+ my ( $port, $inetaddr );
+ eval { ( $port, $inetaddr ) = Socket::unpack_sockaddr_in( $addr ) }
+ or return fake_makeerr( EAI_FAMILY() );
+
+ my $family = Socket::AF_INET();
+
+ $flags ||= 0;
+
+ my $flag_numerichost = $flags & NI_NUMERICHOST(); $flags &= ~NI_NUMERICHOST();
+ my $flag_numericserv = $flags & NI_NUMERICSERV(); $flags &= ~NI_NUMERICSERV();
+ my $flag_namereqd = $flags & NI_NAMEREQD(); $flags &= ~NI_NAMEREQD();
+ my $flag_dgram = $flags & NI_DGRAM() ; $flags &= ~NI_DGRAM();
+
+ $flags == 0 or return fake_makeerr( EAI_BADFLAGS() );
+
+ my $node;
+ if( $flag_numerichost ) {
+ $node = Socket::inet_ntoa( $inetaddr );
+ }
+ else {
+ $node = gethostbyaddr( $inetaddr, $family );
+ if( !defined $node ) {
+ return fake_makeerr( EAI_NONAME() ) if $flag_namereqd;
+ $node = Socket::inet_ntoa( $inetaddr );
+ }
+ }
+
+ my $service;
+ if( $flag_numericserv ) {
+ $service = "$port";
+ }
+ else {
+ my $protname = $flag_dgram ? "udp" : "";
+ $service = getservbyport( $port, $protname );
+ if( !defined $service ) {
+ $service = "$port";
+ }
+ }
+
+ return ( fake_makeerr( 0 ), $node, $service );
+}
1;
diff --git a/Master/tlpkg/tlperl/lib/Storable.pm b/Master/tlpkg/tlperl/lib/Storable.pm
index 7627943b55d..44b85db2e41 100644
--- a/Master/tlpkg/tlperl/lib/Storable.pm
+++ b/Master/tlpkg/tlperl/lib/Storable.pm
@@ -5,9 +5,9 @@
# in the README file that comes with the distribution.
#
-require DynaLoader;
+require XSLoader;
require Exporter;
-package Storable; @ISA = qw(Exporter DynaLoader);
+package Storable; @ISA = qw(Exporter);
@EXPORT = qw(store retrieve);
@EXPORT_OK = qw(
@@ -19,23 +19,30 @@ package Storable; @ISA = qw(Exporter DynaLoader);
file_magic read_magic
);
-use AutoLoader;
-use FileHandle;
use vars qw($canonical $forgive_me $VERSION);
-$VERSION = '2.22';
-*AUTOLOAD = \&AutoLoader::AUTOLOAD; # Grrr...
+$VERSION = '2.27';
-#
-# Use of Log::Agent is optional
-#
+BEGIN {
+ if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
+ Log::Agent->import;
+ }
+ #
+ # Use of Log::Agent is optional. If it hasn't imported these subs then
+ # provide a fallback implementation.
+ #
+ else {
+ require Carp;
-{
- local $SIG{__DIE__};
- eval "use Log::Agent";
-}
+ *logcroak = sub {
+ Carp::croak(@_);
+ };
-require Carp;
+ *logcarp = sub {
+ Carp::carp(@_);
+ };
+ }
+}
#
# They might miss :flock in Fcntl
@@ -57,28 +64,12 @@ sub CLONE {
Storable::init_perinterp();
}
-# Can't Autoload cleanly as this clashes 8.3 with &retrieve
-sub retrieve_fd { &fd_retrieve } # Backward compatibility
-
# By default restricted hashes are downgraded on earlier perls.
$Storable::downgrade_restricted = 1;
$Storable::accept_future_minor = 1;
-bootstrap Storable;
-1;
-__END__
-#
-# Use of Log::Agent is optional. If it hasn't imported these subs then
-# Autoloader will kindly supply our fallback implementation.
-#
-
-sub logcroak {
- Carp::croak(@_);
-}
-sub logcarp {
- Carp::carp(@_);
-}
+XSLoader::load 'Storable', $Storable::VERSION;
#
# Determine whether locking is possible, but only when needed.
@@ -116,8 +107,10 @@ EOM
}
sub file_magic {
+ require IO::File;
+
my $file = shift;
- my $fh = new FileHandle;
+ my $fh = IO::File->new;
open($fh, "<". $file) || die "Can't open '$file': $!";
binmode($fh);
defined(sysread($fh, my $buf, 32)) || die "Can't read from '$file': $!";
@@ -151,14 +144,14 @@ sub read_magic {
$net_order = 0;
}
else {
- $net_order = ord(substr($buf, 0, 1, ""));
- my $major = $net_order >> 1;
+ $buf =~ s/(.)//s;
+ my $major = (ord $1) >> 1;
return undef if $major > 4; # sanity (assuming we never go that high)
$info{major} = $major;
- $net_order &= 0x01;
+ $net_order = (ord $1) & 0x01;
if ($major > 1) {
- return undef unless length($buf);
- my $minor = ord(substr($buf, 0, 1, ""));
+ return undef unless $buf =~ s/(.)//s;
+ my $minor = ord $1;
$info{minor} = $minor;
$info{version} = "$major.$minor";
$info{version_nv} = sprintf "%d.%03d", $major, $minor;
@@ -171,17 +164,16 @@ sub read_magic {
$info{netorder} = $net_order;
unless ($net_order) {
- return undef unless length($buf);
- my $len = ord(substr($buf, 0, 1, ""));
+ return undef unless $buf =~ s/(.)//s;
+ my $len = ord $1;
return undef unless length($buf) >= $len;
return undef unless $len == 4 || $len == 8; # sanity
- $info{byteorder} = substr($buf, 0, $len, "");
- $info{intsize} = ord(substr($buf, 0, 1, ""));
- $info{longsize} = ord(substr($buf, 0, 1, ""));
- $info{ptrsize} = ord(substr($buf, 0, 1, ""));
+ @info{qw(byteorder intsize longsize ptrsize)}
+ = unpack "a${len}CCC", $buf;
+ (substr $buf, 0, $len + 3) = '';
if ($info{version_nv} >= 2.002) {
- return undef unless length($buf);
- $info{nvsize} = ord(substr($buf, 0, 1, ""));
+ return undef unless $buf =~ s/(.)//s;
+ $info{nvsize} = ord $1;
}
}
$info{hdrsize} = $buflen - length($buf);
@@ -262,11 +254,18 @@ sub _store {
my $ret;
# Call C routine nstore or pstore, depending on network order
eval { $ret = &$xsptr(*FILE, $self) };
- close(FILE) or $ret = undef;
- unlink($file) or warn "Can't unlink $file: $!\n" if $@ || !defined $ret;
+ # close will return true on success, so the or short-circuits, the ()
+ # expression is true, and for that case the block will only be entered
+ # if $@ is true (ie eval failed)
+ # if close fails, it returns false, $ret is altered, *that* is (also)
+ # false, so the () expression is false, !() is true, and the block is
+ # entered.
+ if (!(close(FILE) or undef $ret) || $@) {
+ unlink($file) or warn "Can't unlink $file: $!\n";
+ }
logcroak $@ if $@ =~ s/\.?\n$/,/;
$@ = $da;
- return $ret ? $ret : undef;
+ return $ret;
}
#
@@ -305,7 +304,7 @@ sub _store_fd {
logcroak $@ if $@ =~ s/\.?\n$/,/;
local $\; print $file ''; # Autoflush the file if wanted
$@ = $da;
- return $ret ? $ret : undef;
+ return $ret;
}
#
@@ -401,6 +400,8 @@ sub fd_retrieve {
return $self;
}
+sub retrieve_fd { &fd_retrieve } # Backward compatibility
+
#
# thaw
#
@@ -908,7 +909,7 @@ version of Storable fully support (but see discussion of
C<$Storable::accept_future_minor> above). The constant
C<Storable::BIN_WRITE_VERSION_NV> function returns what file version
is written and might be less than C<Storable::BIN_VERSION_NV> in some
-configuations.
+configurations.
=item C<major>, C<minor>
@@ -1147,7 +1148,7 @@ Thank you to (in chronological order):
Jarkko Hietaniemi <jhi@iki.fi>
Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
- Benjamin A. Holzman <bah@ecnvantage.com>
+ Benjamin A. Holzman <bholzman@earthlink.net>
Andrew Ford <A.Ford@ford-mason.co.uk>
Gisle Aas <gisle@aas.no>
Jeff Gresham <gresham_jeffrey@jpmorgan.com>
@@ -1158,6 +1159,7 @@ Thank you to (in chronological order):
Salvador Ortiz Garcia <sog@msg.com.mx>
Dominic Dunlop <domo@computer.org>
Erik Haugan <erik@solbors.no>
+ Benjamin A. Holzman <ben.holzman@grantstreet.com>
for their bug reports, suggestions and contributions.
@@ -1169,7 +1171,9 @@ simply counting the objects instead of tagging them (leading to
a binary incompatibility for the Storable image starting at version
0.6--older images are, of course, still properly understood).
Murray Nesbitt made Storable thread-safe. Marc Lehmann added overloading
-and references to tied items support.
+and references to tied items support. Benjamin Holzman added a performance
+improvement for overloaded classes; thanks to Grant Street Group for footing
+the bill.
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/Switch.pm b/Master/tlpkg/tlperl/lib/Switch.pm
deleted file mode 100644
index 2189ae06c6b..00000000000
--- a/Master/tlpkg/tlperl/lib/Switch.pm
+++ /dev/null
@@ -1,875 +0,0 @@
-package Switch;
-
-use strict;
-use vars qw($VERSION);
-use Carp;
-
-use if $] >= 5.011, 'deprecate';
-
-$VERSION = '2.16';
-
-
-# LOAD FILTERING MODULE...
-use Filter::Util::Call;
-
-sub __();
-
-# CATCH ATTEMPTS TO CALL case OUTSIDE THE SCOPE OF ANY switch
-
-$::_S_W_I_T_C_H = sub { croak "case/when statement not in switch/given block" };
-
-my $offset;
-my $fallthrough;
-my ($Perl5, $Perl6) = (0,0);
-
-sub import
-{
- $fallthrough = grep /\bfallthrough\b/, @_;
- $offset = (caller)[2]+1;
- filter_add({}) unless @_>1 && $_[1] eq 'noimport';
- my $pkg = caller;
- no strict 'refs';
- for ( qw( on_defined on_exists ) )
- {
- *{"${pkg}::$_"} = \&$_;
- }
- *{"${pkg}::__"} = \&__ if grep /__/, @_;
- $Perl6 = 1 if grep(/Perl\s*6/i, @_);
- $Perl5 = 1 if grep(/Perl\s*5/i, @_) || !grep(/Perl\s*6/i, @_);
- 1;
-}
-
-sub unimport
-{
- filter_del()
-}
-
-sub filter
-{
- my($self) = @_ ;
- local $Switch::file = (caller)[1];
-
- my $status = 1;
- $status = filter_read(1_000_000);
- return $status if $status<0;
- $_ = filter_blocks($_,$offset);
- $_ = "# line $offset\n" . $_ if $offset; undef $offset;
- return $status;
-}
-
-use Text::Balanced ':ALL';
-
-sub line
-{
- my ($pretext,$offset) = @_;
- ($pretext=~tr/\n/\n/)+($offset||0);
-}
-
-sub is_block
-{
- local $SIG{__WARN__}=sub{die$@};
- local $^W=1;
- my $ishash = defined eval 'my $hr='.$_[0];
- undef $@;
- return !$ishash;
-}
-
-my $pod_or_DATA = qr/ ^=[A-Za-z] .*? ^=cut (?![A-Za-z]) .*? $
- | ^__(DATA|END)__\n.*
- /smx;
-
-my $casecounter = 1;
-sub filter_blocks
-{
- my ($source, $line) = @_;
- return $source unless $Perl5 && $source =~ /case|switch/
- || $Perl6 && $source =~ /when|given|default/;
- pos $source = 0;
- my $text = "";
- component: while (pos $source < length $source)
- {
- if ($source =~ m/(\G\s*use\s+Switch\b)/gc)
- {
- $text .= q{use Switch 'noimport'};
- next component;
- }
- my @pos = Text::Balanced::_match_quotelike(\$source,qr/\s*/,1,0);
- if (defined $pos[0])
- {
- my $pre = substr($source,$pos[0],$pos[1]); # matched prefix
- my $iEol;
- if( substr($source,$pos[4],$pos[5]) eq '/' && # 1st delimiter
- substr($source,$pos[2],$pos[3]) eq '' && # no op like 'm'
- index( substr($source,$pos[16],$pos[17]), 'x' ) == -1 && # no //x
- ($iEol = index( $source, "\n", $pos[4] )) > 0 &&
- $iEol < $pos[8] ){ # embedded newlines
- # If this is a pattern, it isn't compatible with Switch. Backup past 1st '/'.
- pos( $source ) = $pos[6];
- $text .= $pre . substr($source,$pos[2],$pos[6]-$pos[2]);
- } else {
- $text .= $pre . substr($source,$pos[2],$pos[18]-$pos[2]);
- }
- next component;
- }
- if ($source =~ m/(\G\s*$pod_or_DATA)/gc) {
- $text .= $1;
- next component;
- }
- @pos = Text::Balanced::_match_variable(\$source,qr/\s*/);
- if (defined $pos[0])
- {
- $text .= " " if $pos[0] < $pos[2];
- $text .= substr($source,$pos[0],$pos[4]-$pos[0]);
- next component;
- }
-
- if ($Perl5 && $source =~ m/\G(\n*)(\s*)(switch)\b(?=\s*[(])/gc
- || $Perl6 && $source =~ m/\G(\n*)(\s*)(given)\b(?=\s*[(])/gc
- || $Perl6 && $source =~ m/\G(\n*)(\s*)(given)\b(.*)(?=\{)/gc)
- {
- my $keyword = $3;
- my $arg = $4;
- $text .= $1.$2.'S_W_I_T_C_H: while (1) ';
- unless ($arg) {
- @pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/\(/,qr/\)/,qr/[[{(<]/,qr/[]})>]/,undef)
- or do {
- die "Bad $keyword statement (problem in the parentheses?) near $Switch::file line ", line(substr($source,0,pos $source),$line), "\n";
- };
- $arg = filter_blocks(substr($source,$pos[0],$pos[4]-$pos[0]),line(substr($source,0,$pos[0]),$line));
- }
- $arg =~ s {^\s*[(]\s*%} { ( \\\%} ||
- $arg =~ s {^\s*[(]\s*m\b} { ( qr} ||
- $arg =~ s {^\s*[(]\s*/} { ( qr/} ||
- $arg =~ s {^\s*[(]\s*qw} { ( \\qw};
- @pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/\{/,qr/\}/,qr/\{/,qr/\}/,undef)
- or do {
- die "Bad $keyword statement (problem in the code block?) near $Switch::file line ", line(substr($source,0, pos $source), $line), "\n";
- };
- my $code = filter_blocks(substr($source,$pos[0],$pos[4]-$pos[0]),line(substr($source,0,$pos[0]),$line));
- $code =~ s/{/{ local \$::_S_W_I_T_C_H; Switch::switch $arg;/;
- $text .= $code . 'continue {last}';
- next component;
- }
- elsif ($Perl5 && $source =~ m/\G(\s*)(case\b)(?!\s*=>)/gc
- || $Perl6 && $source =~ m/\G(\s*)(when\b)(?!\s*=>)/gc
- || $Perl6 && $source =~ m/\G(\s*)(default\b)(?=\s*\{)/gc)
- {
- my $keyword = $2;
- $text .= $1 . ($keyword eq "default"
- ? "if (1)"
- : "if (Switch::case");
-
- if ($keyword eq "default") {
- # Nothing to do
- }
- elsif (@pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/\{/,qr/\}/,qr/\{/,qr/\}/,undef)) {
- my $code = substr($source,$pos[0],$pos[4]-$pos[0]);
- $text .= " " if $pos[0] < $pos[2];
- $text .= "sub " if is_block $code;
- $text .= filter_blocks($code,line(substr($source,0,$pos[0]),$line)) . ")";
- }
- elsif (@pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/[[(]/,qr/[])]/,qr/[[({]/,qr/[])}]/,undef)) {
- my $code = filter_blocks(substr($source,$pos[0],$pos[4]-$pos[0]),line(substr($source,0,$pos[0]),$line));
- $code =~ s {^\s*[(]\s*%} { ( \\\%} ||
- $code =~ s {^\s*[(]\s*m\b} { ( qr} ||
- $code =~ s {^\s*[(]\s*/} { ( qr/} ||
- $code =~ s {^\s*[(]\s*qw} { ( \\qw};
- $text .= " " if $pos[0] < $pos[2];
- $text .= "$code)";
- }
- elsif ($Perl6 && do{@pos = Text::Balanced::_match_variable(\$source,qr/\s*/)}) {
- my $code = filter_blocks(substr($source,$pos[0],$pos[4]-$pos[0]),line(substr($source,0,$pos[0]),$line));
- $code =~ s {^\s*%} { \%} ||
- $code =~ s {^\s*@} { \@};
- $text .= " " if $pos[0] < $pos[2];
- $text .= "$code)";
- }
- elsif ( @pos = Text::Balanced::_match_quotelike(\$source,qr/\s*/,1,0)) {
- my $code = substr($source,$pos[2],$pos[18]-$pos[2]);
- $code = filter_blocks($code,line(substr($source,0,$pos[2]),$line));
- $code =~ s {^\s*m} { qr} ||
- $code =~ s {^\s*/} { qr/} ||
- $code =~ s {^\s*qw} { \\qw};
- $text .= " " if $pos[0] < $pos[2];
- $text .= "$code)";
- }
- elsif ($Perl5 && $source =~ m/\G\s*(([^\$\@{])[^\$\@{]*)(?=\s*{)/gc
- || $Perl6 && $source =~ m/\G\s*([^;{]*)()/gc) {
- my $code = filter_blocks($1,line(substr($source,0,pos $source),$line));
- $text .= ' \\' if $2 eq '%';
- $text .= " $code)";
- }
- else {
- die "Bad $keyword statement (invalid $keyword value?) near $Switch::file line ", line(substr($source,0,pos $source), $line), "\n";
- }
-
- die "Missing opening brace or semi-colon after 'when' value near $Switch::file line ", line(substr($source,0,pos $source), $line), "\n"
- unless !$Perl6 || $source =~ m/\G(\s*)(?=;|\{)/gc;
-
- do{@pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/\{/,qr/\}/,qr/\{/,qr/\}/,undef)}
- or do {
- if ($source =~ m/\G\s*(?=([};]|\Z))/gc) {
- $casecounter++;
- next component;
- }
- die "Bad $keyword statement (problem in the code block?) near $Switch::file line ", line(substr($source,0,pos $source),$line), "\n";
- };
- my $code = filter_blocks(substr($source,$pos[0],$pos[4]-$pos[0]),line(substr($source,0,$pos[0]),$line));
- $code =~ s/}(?=\s*\Z)/;last S_W_I_T_C_H }/
- unless $fallthrough;
- $text .= "{ while (1) $code continue { goto C_A_S_E_$casecounter } last S_W_I_T_C_H; C_A_S_E_$casecounter: }";
- $casecounter++;
- next component;
- }
-
- $source =~ m/\G(\s*(-[sm]\s+|\w+|#.*\n|\W))/gc;
- $text .= $1;
- }
- $text;
-}
-
-
-
-sub in
-{
- my ($x,$y) = @_;
- my @numy;
- for my $nextx ( @$x )
- {
- my $numx = ref($nextx) || defined $nextx && (~$nextx&$nextx) eq 0;
- for my $j ( 0..$#$y )
- {
- my $nexty = $y->[$j];
- push @numy, ref($nexty) || defined $nexty && (~$nexty&$nexty) eq 0
- if @numy <= $j;
- return 1 if $numx && $numy[$j] && $nextx==$nexty
- || $nextx eq $nexty;
-
- }
- }
- return "";
-}
-
-sub on_exists
-{
- my $ref = @_==1 && ref($_[0]) eq 'HASH' ? $_[0] : { @_ };
- [ keys %$ref ]
-}
-
-sub on_defined
-{
- my $ref = @_==1 && ref($_[0]) eq 'HASH' ? $_[0] : { @_ };
- [ grep { defined $ref->{$_} } keys %$ref ]
-}
-
-sub switch(;$)
-{
- my ($s_val) = @_ ? $_[0] : $_;
- my $s_ref = ref $s_val;
-
- if ($s_ref eq 'CODE')
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- return $s_val == $c_val if ref $c_val eq 'CODE';
- return $s_val->(@$c_val) if ref $c_val eq 'ARRAY';
- return $s_val->($c_val);
- };
- }
- elsif ($s_ref eq "" && defined $s_val && (~$s_val&$s_val) eq 0) # NUMERIC SCALAR
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- my $c_ref = ref $c_val;
- return $s_val == $c_val if $c_ref eq ""
- && defined $c_val
- && (~$c_val&$c_val) eq 0;
- return $s_val eq $c_val if $c_ref eq "";
- return in([$s_val],$c_val) if $c_ref eq 'ARRAY';
- return $c_val->($s_val) if $c_ref eq 'CODE';
- return $c_val->call($s_val) if $c_ref eq 'Switch';
- return scalar $s_val=~/$c_val/
- if $c_ref eq 'Regexp';
- return scalar $c_val->{$s_val}
- if $c_ref eq 'HASH';
- return;
- };
- }
- elsif ($s_ref eq "") # STRING SCALAR
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- my $c_ref = ref $c_val;
- return $s_val eq $c_val if $c_ref eq "";
- return in([$s_val],$c_val) if $c_ref eq 'ARRAY';
- return $c_val->($s_val) if $c_ref eq 'CODE';
- return $c_val->call($s_val) if $c_ref eq 'Switch';
- return scalar $s_val=~/$c_val/
- if $c_ref eq 'Regexp';
- return scalar $c_val->{$s_val}
- if $c_ref eq 'HASH';
- return;
- };
- }
- elsif ($s_ref eq 'ARRAY')
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- my $c_ref = ref $c_val;
- return in($s_val,[$c_val]) if $c_ref eq "";
- return in($s_val,$c_val) if $c_ref eq 'ARRAY';
- return $c_val->(@$s_val) if $c_ref eq 'CODE';
- return $c_val->call(@$s_val)
- if $c_ref eq 'Switch';
- return scalar grep {$_=~/$c_val/} @$s_val
- if $c_ref eq 'Regexp';
- return scalar grep {$c_val->{$_}} @$s_val
- if $c_ref eq 'HASH';
- return;
- };
- }
- elsif ($s_ref eq 'Regexp')
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- my $c_ref = ref $c_val;
- return $c_val=~/s_val/ if $c_ref eq "";
- return scalar grep {$_=~/s_val/} @$c_val
- if $c_ref eq 'ARRAY';
- return $c_val->($s_val) if $c_ref eq 'CODE';
- return $c_val->call($s_val) if $c_ref eq 'Switch';
- return $s_val eq $c_val if $c_ref eq 'Regexp';
- return grep {$_=~/$s_val/ && $c_val->{$_}} keys %$c_val
- if $c_ref eq 'HASH';
- return;
- };
- }
- elsif ($s_ref eq 'HASH')
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- my $c_ref = ref $c_val;
- return $s_val->{$c_val} if $c_ref eq "";
- return scalar grep {$s_val->{$_}} @$c_val
- if $c_ref eq 'ARRAY';
- return $c_val->($s_val) if $c_ref eq 'CODE';
- return $c_val->call($s_val) if $c_ref eq 'Switch';
- return grep {$_=~/$c_val/ && $s_val->{"$_"}} keys %$s_val
- if $c_ref eq 'Regexp';
- return $s_val==$c_val if $c_ref eq 'HASH';
- return;
- };
- }
- elsif ($s_ref eq 'Switch')
- {
- $::_S_W_I_T_C_H =
- sub { my $c_val = $_[0];
- return $s_val == $c_val if ref $c_val eq 'Switch';
- return $s_val->call(@$c_val)
- if ref $c_val eq 'ARRAY';
- return $s_val->call($c_val);
- };
- }
- else
- {
- croak "Cannot switch on $s_ref";
- }
- return 1;
-}
-
-sub case($) { local $SIG{__WARN__} = \&carp;
- $::_S_W_I_T_C_H->(@_); }
-
-# IMPLEMENT __
-
-my $placeholder = bless { arity=>1, impl=>sub{$_[1+$_[0]]} };
-
-sub __() { $placeholder }
-
-sub __arg($)
-{
- my $index = $_[0]+1;
- bless { arity=>0, impl=>sub{$_[$index]} };
-}
-
-sub hosub(&@)
-{
- # WRITE THIS
-}
-
-sub call
-{
- my ($self,@args) = @_;
- return $self->{impl}->(0,@args);
-}
-
-sub meta_bop(&)
-{
- my ($op) = @_;
- sub
- {
- my ($left, $right, $reversed) = @_;
- ($right,$left) = @_ if $reversed;
-
- my $rop = ref $right eq 'Switch'
- ? $right
- : bless { arity=>0, impl=>sub{$right} };
-
- my $lop = ref $left eq 'Switch'
- ? $left
- : bless { arity=>0, impl=>sub{$left} };
-
- my $arity = $lop->{arity} + $rop->{arity};
-
- return bless {
- arity => $arity,
- impl => sub { my $start = shift;
- return $op->($lop->{impl}->($start,@_),
- $rop->{impl}->($start+$lop->{arity},@_));
- }
- };
- };
-}
-
-sub meta_uop(&)
-{
- my ($op) = @_;
- sub
- {
- my ($left) = @_;
-
- my $lop = ref $left eq 'Switch'
- ? $left
- : bless { arity=>0, impl=>sub{$left} };
-
- my $arity = $lop->{arity};
-
- return bless {
- arity => $arity,
- impl => sub { $op->($lop->{impl}->(@_)) }
- };
- };
-}
-
-
-use overload
- "+" => meta_bop {$_[0] + $_[1]},
- "-" => meta_bop {$_[0] - $_[1]},
- "*" => meta_bop {$_[0] * $_[1]},
- "/" => meta_bop {$_[0] / $_[1]},
- "%" => meta_bop {$_[0] % $_[1]},
- "**" => meta_bop {$_[0] ** $_[1]},
- "<<" => meta_bop {$_[0] << $_[1]},
- ">>" => meta_bop {$_[0] >> $_[1]},
- "x" => meta_bop {$_[0] x $_[1]},
- "." => meta_bop {$_[0] . $_[1]},
- "<" => meta_bop {$_[0] < $_[1]},
- "<=" => meta_bop {$_[0] <= $_[1]},
- ">" => meta_bop {$_[0] > $_[1]},
- ">=" => meta_bop {$_[0] >= $_[1]},
- "==" => meta_bop {$_[0] == $_[1]},
- "!=" => meta_bop {$_[0] != $_[1]},
- "<=>" => meta_bop {$_[0] <=> $_[1]},
- "lt" => meta_bop {$_[0] lt $_[1]},
- "le" => meta_bop {$_[0] le $_[1]},
- "gt" => meta_bop {$_[0] gt $_[1]},
- "ge" => meta_bop {$_[0] ge $_[1]},
- "eq" => meta_bop {$_[0] eq $_[1]},
- "ne" => meta_bop {$_[0] ne $_[1]},
- "cmp" => meta_bop {$_[0] cmp $_[1]},
- "\&" => meta_bop {$_[0] & $_[1]},
- "^" => meta_bop {$_[0] ^ $_[1]},
- "|" => meta_bop {$_[0] | $_[1]},
- "atan2" => meta_bop {atan2 $_[0], $_[1]},
-
- "neg" => meta_uop {-$_[0]},
- "!" => meta_uop {!$_[0]},
- "~" => meta_uop {~$_[0]},
- "cos" => meta_uop {cos $_[0]},
- "sin" => meta_uop {sin $_[0]},
- "exp" => meta_uop {exp $_[0]},
- "abs" => meta_uop {abs $_[0]},
- "log" => meta_uop {log $_[0]},
- "sqrt" => meta_uop {sqrt $_[0]},
- "bool" => sub { croak "Can't use && or || in expression containing __" },
-
- # "&()" => sub { $_[0]->{impl} },
-
- # "||" => meta_bop {$_[0] || $_[1]},
- # "&&" => meta_bop {$_[0] && $_[1]},
- # fallback => 1,
- ;
-1;
-
-__END__
-
-
-=head1 NAME
-
-Switch - A switch statement for Perl
-
-=head1 SYNOPSIS
-
- use Switch;
-
- switch ($val) {
- case 1 { print "number 1" }
- case "a" { print "string a" }
- case [1..10,42] { print "number in list" }
- case (\@array) { print "number in list" }
- case /\w+/ { print "pattern" }
- case qr/\w+/ { print "pattern" }
- case (\%hash) { print "entry in hash" }
- case (\&sub) { print "arg to subroutine" }
- else { print "previous case not true" }
- }
-
-=head1 BACKGROUND
-
-[Skip ahead to L<"DESCRIPTION"> if you don't care about the whys
-and wherefores of this control structure]
-
-In seeking to devise a "Swiss Army" case mechanism suitable for Perl,
-it is useful to generalize this notion of distributed conditional
-testing as far as possible. Specifically, the concept of "matching"
-between the switch value and the various case values need not be
-restricted to numeric (or string or referential) equality, as it is in other
-languages. Indeed, as Table 1 illustrates, Perl
-offers at least eighteen different ways in which two values could
-generate a match.
-
- Table 1: Matching a switch value ($s) with a case value ($c)
-
- Switch Case Type of Match Implied Matching Code
- Value Value
- ====== ===== ===================== =============
-
- number same numeric or referential match if $s == $c;
- or ref equality
-
- object method result of method call match if $s->$c();
- ref name match if defined $s->$c();
- or ref
-
- other other string equality match if $s eq $c;
- non-ref non-ref
- scalar scalar
-
- string regexp pattern match match if $s =~ /$c/;
-
- array scalar array entry existence match if 0<=$c && $c<@$s;
- ref array entry definition match if defined $s->[$c];
- array entry truth match if $s->[$c];
-
- array array array intersection match if intersects(@$s, @$c);
- ref ref (apply this table to
- all pairs of elements
- $s->[$i] and
- $c->[$j])
-
- array regexp array grep match if grep /$c/, @$s;
- ref
-
- hash scalar hash entry existence match if exists $s->{$c};
- ref hash entry definition match if defined $s->{$c};
- hash entry truth match if $s->{$c};
-
- hash regexp hash grep match if grep /$c/, keys %$s;
- ref
-
- sub scalar return value defn match if defined $s->($c);
- ref return value truth match if $s->($c);
-
- sub array return value defn match if defined $s->(@$c);
- ref ref return value truth match if $s->(@$c);
-
-
-In reality, Table 1 covers 31 alternatives, because only the equality and
-intersection tests are commutative; in all other cases, the roles of
-the C<$s> and C<$c> variables could be reversed to produce a
-different test. For example, instead of testing a single hash for
-the existence of a series of keys (C<match if exists $s-E<gt>{$c}>),
-one could test for the existence of a single key in a series of hashes
-(C<match if exists $c-E<gt>{$s}>).
-
-=head1 DESCRIPTION
-
-The Switch.pm module implements a generalized case mechanism that covers
-most (but not all) of the numerous possible combinations of switch and case
-values described above.
-
-The module augments the standard Perl syntax with two new control
-statements: C<switch> and C<case>. The C<switch> statement takes a
-single scalar argument of any type, specified in parentheses.
-C<switch> stores this value as the
-current switch value in a (localized) control variable.
-The value is followed by a block which may contain one or more
-Perl statements (including the C<case> statement described below).
-The block is unconditionally executed once the switch value has
-been cached.
-
-A C<case> statement takes a single scalar argument (in mandatory
-parentheses if it's a variable; otherwise the parens are optional) and
-selects the appropriate type of matching between that argument and the
-current switch value. The type of matching used is determined by the
-respective types of the switch value and the C<case> argument, as
-specified in Table 1. If the match is successful, the mandatory
-block associated with the C<case> statement is executed.
-
-In most other respects, the C<case> statement is semantically identical
-to an C<if> statement. For example, it can be followed by an C<else>
-clause, and can be used as a postfix statement qualifier.
-
-However, when a C<case> block has been executed control is automatically
-transferred to the statement after the immediately enclosing C<switch>
-block, rather than to the next statement within the block. In other
-words, the success of any C<case> statement prevents other cases in the
-same scope from executing. But see L<"Allowing fall-through"> below.
-
-Together these two new statements provide a fully generalized case
-mechanism:
-
- use Switch;
-
- # AND LATER...
-
- %special = ( woohoo => 1, d'oh => 1 );
-
- while (<>) {
- chomp;
- switch ($_) {
- case (%special) { print "homer\n"; } # if $special{$_}
- case /[a-z]/i { print "alpha\n"; } # if $_ =~ /a-z/i
- case [1..9] { print "small num\n"; } # if $_ in [1..9]
- case { $_[0] >= 10 } { print "big num\n"; } # if $_ >= 10
- print "must be punctuation\n" case /\W/; # if $_ ~= /\W/
- }
- }
-
-Note that C<switch>es can be nested within C<case> (or any other) blocks,
-and a series of C<case> statements can try different types of matches
--- hash membership, pattern match, array intersection, simple equality,
-etc. -- against the same switch value.
-
-The use of intersection tests against an array reference is particularly
-useful for aggregating integral cases:
-
- sub classify_digit
- {
- switch ($_[0]) { case 0 { return 'zero' }
- case [2,4,6,8] { return 'even' }
- case [1,3,5,7,9] { return 'odd' }
- case /[A-F]/i { return 'hex' }
- }
- }
-
-
-=head2 Allowing fall-through
-
-Fall-though (trying another case after one has already succeeded)
-is usually a Bad Idea in a switch statement. However, this
-is Perl, not a police state, so there I<is> a way to do it, if you must.
-
-If a C<case> block executes an untargeted C<next>, control is
-immediately transferred to the statement I<after> the C<case> statement
-(i.e. usually another case), rather than out of the surrounding
-C<switch> block.
-
-For example:
-
- switch ($val) {
- case 1 { handle_num_1(); next } # and try next case...
- case "1" { handle_str_1(); next } # and try next case...
- case [0..9] { handle_num_any(); } # and we're done
- case /\d/ { handle_dig_any(); next } # and try next case...
- case /.*/ { handle_str_any(); next } # and try next case...
- }
-
-If $val held the number C<1>, the above C<switch> block would call the
-first three C<handle_...> subroutines, jumping to the next case test
-each time it encountered a C<next>. After the third C<case> block
-was executed, control would jump to the end of the enclosing
-C<switch> block.
-
-On the other hand, if $val held C<10>, then only the last two C<handle_...>
-subroutines would be called.
-
-Note that this mechanism allows the notion of I<conditional fall-through>.
-For example:
-
- switch ($val) {
- case [0..9] { handle_num_any(); next if $val < 7; }
- case /\d/ { handle_dig_any(); }
- }
-
-If an untargeted C<last> statement is executed in a case block, this
-immediately transfers control out of the enclosing C<switch> block
-(in other words, there is an implicit C<last> at the end of each
-normal C<case> block). Thus the previous example could also have been
-written:
-
- switch ($val) {
- case [0..9] { handle_num_any(); last if $val >= 7; next; }
- case /\d/ { handle_dig_any(); }
- }
-
-
-=head2 Automating fall-through
-
-In situations where case fall-through should be the norm, rather than an
-exception, an endless succession of terminal C<next>s is tedious and ugly.
-Hence, it is possible to reverse the default behaviour by specifying
-the string "fallthrough" when importing the module. For example, the
-following code is equivalent to the first example in L<"Allowing fall-through">:
-
- use Switch 'fallthrough';
-
- switch ($val) {
- case 1 { handle_num_1(); }
- case "1" { handle_str_1(); }
- case [0..9] { handle_num_any(); last }
- case /\d/ { handle_dig_any(); }
- case /.*/ { handle_str_any(); }
- }
-
-Note the explicit use of a C<last> to preserve the non-fall-through
-behaviour of the third case.
-
-
-
-=head2 Alternative syntax
-
-Perl 6 will provide a built-in switch statement with essentially the
-same semantics as those offered by Switch.pm, but with a different
-pair of keywords. In Perl 6 C<switch> will be spelled C<given>, and
-C<case> will be pronounced C<when>. In addition, the C<when> statement
-will not require switch or case values to be parenthesized.
-
-This future syntax is also (largely) available via the Switch.pm module, by
-importing it with the argument C<"Perl6">. For example:
-
- use Switch 'Perl6';
-
- given ($val) {
- when 1 { handle_num_1(); }
- when ($str1) { handle_str_1(); }
- when [0..9] { handle_num_any(); last }
- when /\d/ { handle_dig_any(); }
- when /.*/ { handle_str_any(); }
- default { handle anything else; }
- }
-
-Note that scalars still need to be parenthesized, since they would be
-ambiguous in Perl 5.
-
-Note too that you can mix and match both syntaxes by importing the module
-with:
-
- use Switch 'Perl5', 'Perl6';
-
-
-=head2 Higher-order Operations
-
-One situation in which C<switch> and C<case> do not provide a good
-substitute for a cascaded C<if>, is where a switch value needs to
-be tested against a series of conditions. For example:
-
- sub beverage {
- switch (shift) {
- case { $_[0] < 10 } { return 'milk' }
- case { $_[0] < 20 } { return 'coke' }
- case { $_[0] < 30 } { return 'beer' }
- case { $_[0] < 40 } { return 'wine' }
- case { $_[0] < 50 } { return 'malt' }
- case { $_[0] < 60 } { return 'Moet' }
- else { return 'milk' }
- }
- }
-
-(This is equivalent to writing C<case (sub { $_[0] < 10 })>, etc.; C<$_[0]>
-is the argument to the anonymous subroutine.)
-
-The need to specify each condition as a subroutine block is tiresome. To
-overcome this, when importing Switch.pm, a special "placeholder"
-subroutine named C<__> [sic] may also be imported. This subroutine
-converts (almost) any expression in which it appears to a reference to a
-higher-order function. That is, the expression:
-
- use Switch '__';
-
- __ < 2
-
-is equivalent to:
-
- sub { $_[0] < 2 }
-
-With C<__>, the previous ugly case statements can be rewritten:
-
- case __ < 10 { return 'milk' }
- case __ < 20 { return 'coke' }
- case __ < 30 { return 'beer' }
- case __ < 40 { return 'wine' }
- case __ < 50 { return 'malt' }
- case __ < 60 { return 'Moet' }
- else { return 'milk' }
-
-The C<__> subroutine makes extensive use of operator overloading to
-perform its magic. All operations involving __ are overloaded to
-produce an anonymous subroutine that implements a lazy version
-of the original operation.
-
-The only problem is that operator overloading does not allow the
-boolean operators C<&&> and C<||> to be overloaded. So a case statement
-like this:
-
- case 0 <= __ && __ < 10 { return 'digit' }
-
-doesn't act as expected, because when it is
-executed, it constructs two higher order subroutines
-and then treats the two resulting references as arguments to C<&&>:
-
- sub { 0 <= $_[0] } && sub { $_[0] < 10 }
-
-This boolean expression is inevitably true, since both references are
-non-false. Fortunately, the overloaded C<'bool'> operator catches this
-situation and flags it as an error.
-
-=head1 DEPENDENCIES
-
-The module is implemented using Filter::Util::Call and Text::Balanced
-and requires both these modules to be installed.
-
-=head1 AUTHOR
-
-Damian Conway (damian@conway.org). This module is now maintained by Rafael
-Garcia-Suarez (rgarciasuarez@gmail.com) and more generally by the Perl 5
-Porters (perl5-porters@perl.org), as part of the Perl core.
-
-=head1 BUGS
-
-There are undoubtedly serious bugs lurking somewhere in code this funky :-)
-Bug reports and other feedback are most welcome.
-
-=head1 LIMITATIONS
-
-Due to the heuristic nature of Switch.pm's source parsing, the presence of
-regexes with embedded newlines that are specified with raw C</.../>
-delimiters and don't have a modifier C<//x> are indistinguishable from
-code chunks beginning with the division operator C</>. As a workaround
-you must use C<m/.../> or C<m?...?> for such patterns. Also, the presence
-of regexes specified with raw C<?...?> delimiters may cause mysterious
-errors. The workaround is to use C<m?...?> instead.
-
-Due to the way source filters work in Perl, you can't use Switch inside
-an string C<eval>.
-
-If your source file is longer then 1 million characters and you have a
-switch statement that crosses the 1 million (or 2 million, etc.)
-character boundary you will get mysterious errors. The workaround is to
-use smaller source files.
-
-=head1 COPYRIGHT
-
- Copyright (c) 1997-2008, Damian Conway. All Rights Reserved.
- This module is free software. It may be used, redistributed
- and/or modified under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Sys/Hostname.pm b/Master/tlpkg/tlperl/lib/Sys/Hostname.pm
index 415f9517fa4..cdc1231ad54 100644
--- a/Master/tlpkg/tlperl/lib/Sys/Hostname.pm
+++ b/Master/tlpkg/tlperl/lib/Sys/Hostname.pm
@@ -5,9 +5,8 @@ use strict;
use Carp;
require Exporter;
-require AutoLoader;
-our @ISA = qw/ Exporter AutoLoader /;
+our @ISA = qw/ Exporter /;
our @EXPORT = qw/ hostname /;
our $VERSION;
@@ -15,12 +14,12 @@ our $VERSION;
our $host;
BEGIN {
- $VERSION = '1.11';
+ $VERSION = '1.16';
{
local $SIG{__DIE__};
eval {
require XSLoader;
- XSLoader::load('Sys::Hostname', $VERSION);
+ XSLoader::load();
};
warn $@ if $@;
}
@@ -114,13 +113,6 @@ sub hostname {
$host = `uname -n 2>/dev/null`; ## sysVish
}
- # method 6 - Apollo pre-SR10
- || eval {
- local $SIG{__DIE__};
- my($a,$b,$c,$d);
- ($host,$a,$b,$c,$d)=split(/[:\. ]/,`/com/host`,6);
- }
-
# bummer
|| croak "Cannot get host name of local machine";
diff --git a/Master/tlpkg/tlperl/lib/TAP/Base.pm b/Master/tlpkg/tlperl/lib/TAP/Base.pm
index f88ad11134c..9f91cad0663 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Base.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Base.pm
@@ -14,11 +14,11 @@ and L<TAP::Harness>
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
use constant GOT_TIME_HIRES => do {
eval 'use Time::HiRes qw(time);';
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm
index f2b54a9ba3e..678ea2f0e3d 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Base.pm
@@ -43,15 +43,15 @@ BEGIN {
=head1 NAME
-TAP::Formatter::Console - Harness output delegate for default console output
+TAP::Formatter::Base - Base class for harness output delegates
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -206,7 +206,7 @@ sub prepare {
my $longest = 0;
- foreach my $test (@tests) {
+ for my $test (@tests) {
$longest = length $test if length $test > $longest;
}
@@ -257,13 +257,15 @@ sub _output_success {
$harness->summary( $aggregate );
-C<summary> prints the summary report after all tests are run. The argument is
-an aggregate.
+C<summary> prints the summary report after all tests are run. The first
+argument is an aggregate to summarise. An optional second argument may
+be set to a true value to indicate that the summary is being output as a
+result of an interrupted test run.
=cut
sub summary {
- my ( $self, $aggregate ) = @_;
+ my ( $self, $aggregate, $interrupted ) = @_;
return if $self->silent;
@@ -279,6 +281,9 @@ sub summary {
$self->_output( $self->_format_now(), "\n" );
}
+ $self->_failure_output("Test run interrupted!\n")
+ if $interrupted;
+
# TODO: Check this condition still works when all subtests pass but
# the exit status is nonzero
@@ -290,7 +295,7 @@ sub summary {
if ( $total != $passed or $aggregate->has_problems ) {
$self->_output("\nTest Summary Report");
$self->_output("\n-------------------\n");
- foreach my $test (@$tests) {
+ for my $test (@$tests) {
$self->_printed_summary_header(0);
my ($parser) = $aggregate->parsers($test);
$self->_output_summary_failure(
@@ -330,7 +335,7 @@ sub summary {
sprintf " Parse errors: %s\n",
shift @errors
);
- foreach my $error (@errors) {
+ for my $error (@errors) {
my $spaces = ' ' x 16;
$self->_failure_output("$spaces$error\n");
}
@@ -422,7 +427,7 @@ sub _range {
@numbers = sort { $a <=> $b } @numbers;
my ( $min, @range );
- foreach my $i ( 0 .. $#numbers ) {
+ for my $i ( 0 .. $#numbers ) {
my $num = $numbers[$i];
my $next = $numbers[ $i + 1 ];
if ( defined $next && $next == $num + 1 ) {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm
index 349d3b84bf4..abf885b0f93 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Color.pm
@@ -71,11 +71,11 @@ TAP::Formatter::Color - Run Perl test scripts with color
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm
index aeca2f2b0d5..8925e864736 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console.pm
@@ -14,11 +14,11 @@ TAP::Formatter::Console - Harness output delegate for default console output
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -31,7 +31,7 @@ This provides console orientated output formatting for TAP::Harness.
=head2 C<< open_test >>
-See L<TAP::Formatter::base>
+See L<TAP::Formatter::Base>
=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm
index b6b5134cda1..1997564ade1 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/ParallelSession.pm
@@ -42,11 +42,11 @@ TAP::Formatter::Console::ParallelSession - Harness output delegate for parallel
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -94,7 +94,7 @@ sub _output_ruler {
my $ruler = sprintf '===( %7d;%d ', $context->{tests}, $now - $start;
- foreach my $active ( @{ $context->{active} } ) {
+ for my $active ( @{ $context->{active} } ) {
my $parser = $active->parser;
my $tests = $parser->tests_run;
my $planned = $parser->tests_planned || '?';
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm
index 675512c71d0..b9cdc08eb00 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Console/Session.pm
@@ -28,11 +28,11 @@ TAP::Formatter::Console::Session - Harness output delegate for default console o
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm
index 8514bc068bb..aaad61b06b3 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/File.pm
@@ -15,11 +15,11 @@ TAP::Formatter::File - Harness output delegate for file output
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm
index c6abfd63bcc..e7d576ef904 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/File/Session.pm
@@ -13,11 +13,11 @@ TAP::Formatter::File::Session - Harness output delegate for file output
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm b/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm
index 21767e5eba7..5c0f57cca21 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Formatter/Session.pm
@@ -25,11 +25,11 @@ TAP::Formatter::Session - Abstract base class for harness output delegate
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 METHODS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Harness.pm b/Master/tlpkg/tlperl/lib/TAP/Harness.pm
index 749e7af4166..2c663ae0204 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Harness.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Harness.pm
@@ -19,11 +19,11 @@ TAP::Harness - Run test scripts with statistics
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
$ENV{HARNESS_ACTIVE} = 1;
$ENV{HARNESS_VERSION} = $VERSION;
@@ -84,6 +84,9 @@ BEGIN {
test_args => sub { shift; shift },
ignore_exit => sub { shift; shift },
rules => sub { shift; shift },
+ sources => sub { shift; shift },
+ version => sub { shift; shift },
+ trap => sub { shift; shift },
);
for my $method ( sort keys %VALIDATION_FOR ) {
@@ -192,6 +195,16 @@ only makes sense in the context of tests written in Perl.
A reference to an C<@INC> style array of arguments to be passed to each
test program.
+ test_args => ['foo', 'bar'],
+
+if you want to pass different arguments to each test then you should
+pass a hash of arrays, keyed by the alias for each test:
+
+ test_args => {
+ my_test => ['foo', 'bar'],
+ other_test => ['baz'],
+ }
+
=item * C<color>
Attempt to produce color output.
@@ -229,11 +242,41 @@ will be interpreted as raw TAP or as a TAP stream, respectively.
If C<merge> is true the harness will create parsers that merge STDOUT
and STDERR together for any processes they start.
+=item * C<sources>
+
+I<NEW to 3.18>.
+
+If set, C<sources> must be a hashref containing the names of the
+L<TAP::Parser::SourceHandler>s to load and/or configure. The values are a
+hash of configuration that will be accessible to to the source handlers via
+L<TAP::Parser::Source/config_for>.
+
+For example:
+
+ sources => {
+ Perl => { exec => '/path/to/custom/perl' },
+ File => { extensions => [ '.tap', '.txt' ] },
+ MyCustom => { some => 'config' },
+ }
+
+The C<sources> parameter affects how C<source>, C<tap> and C<exec> parameters
+are handled.
+
+For more details, see the C<sources> parameter in L<TAP::Parser/new>,
+L<TAP::Parser::Source>, and L<TAP::Parser::IteratorFactory>.
+
=item * C<aggregator_class>
The name of the class to use to aggregate test results. The default is
L<TAP::Parser::Aggregator>.
+=item * C<version>
+
+I<NEW to 3.22>.
+
+Assume this TAP version for L<TAP::Parser> instead of default TAP
+version 12.
+
=item * C<formatter_class>
The name of the class to use to format output. The default is
@@ -306,6 +349,11 @@ interface may change.
A filehandle for catching standard output.
+=item * C<trap>
+
+Attempt to print summary information if run is interrupted by
+SIGINT (Ctrl-C).
+
=back
Any keys for which the value is C<undef> will be ignored.
@@ -393,7 +441,7 @@ Any keys for which the value is C<undef> will be ignored.
$harness->runtests(@tests);
-Accepts and array of C<@tests> to be run. This should generally be the
+Accepts an array of C<@tests> to be run. This should generally be the
names of test files, but this is not required. Each element in C<@tests>
will be passed to C<TAP::Parser::new()> as a C<source>. See
L<TAP::Parser> for more information.
@@ -427,23 +475,43 @@ sub runtests {
$self->_make_callback( 'before_runtests', $aggregate );
$aggregate->start;
- $self->aggregate_tests( $aggregate, @tests );
- $aggregate->stop;
- $self->summary($aggregate);
- $self->_make_callback( 'after_runtests', $aggregate );
+ my $finish = sub {
+ my $interrupted = shift;
+ $aggregate->stop;
+ $self->summary( $aggregate, $interrupted );
+ $self->_make_callback( 'after_runtests', $aggregate );
+ };
+ my $run = sub {
+ $self->aggregate_tests( $aggregate, @tests );
+ $finish->();
+ };
+
+ if ( $self->trap ) {
+ local $SIG{INT} = sub {
+ print "\n";
+ $finish->(1);
+ exit;
+ };
+ $run->();
+ }
+ else {
+ $run->();
+ }
return $aggregate;
}
=head3 C<summary>
-Output the summary for a TAP::Parser::Aggregator.
+ $harness->summary( $aggregator );
+
+Output the summary for a L<TAP::Parser::Aggregator>.
=cut
sub summary {
- my ( $self, $aggregate ) = @_;
- $self->formatter->summary($aggregate);
+ my ( $self, @args ) = @_;
+ $self->formatter->summary(@args);
}
sub _after_test {
@@ -533,7 +601,7 @@ sub _aggregate_single {
$harness->aggregate_tests( $aggregate, @tests );
Run the named tests and display a summary of result. Tests will be run
-in the order found.
+in the order found.
Test results will be added to the supplied L<TAP::Parser::Aggregator>.
C<aggregate_tests> may be called multiple times to run several sets of
@@ -561,20 +629,23 @@ are unsuitable for parallel execution.
Note that for simpler testing requirements it will often be possible to
replace the above code with a single call to C<runtests>.
-Each elements of the @tests array is either
+Each element of the C<@tests> array is either:
=over
-=item * the file name of a test script to run
+=item * the source name of a test to run
-=item * a reference to a [ file name, display name ] array
+=item * a reference to a [ source name, display name ] array
=back
+In the case of a perl test suite, typically I<source names> are simply the file
+names of the test scripts to run.
+
When you supply a separate display name it becomes possible to run a
test more than once; the display name is effectively the alias by which
the test is known inside the harness. The harness doesn't care if it
-runs the same script more than once when each invocation uses a
+runs the same test more than once when each invocation uses a
different name.
=cut
@@ -639,59 +710,13 @@ should be set higher.
##############################################################################
-=head1 SUBCLASSING
-
-C<TAP::Harness> is designed to be (mostly) easy to subclass. If you
-don't like how a particular feature functions, just override the
-desired methods.
-
-=head2 Methods
-
-TODO: This is out of date
-
-The following methods are ones you may wish to override if you want to
-subclass C<TAP::Harness>.
-
-=head3 C<summary>
-
- $harness->summary( \%args );
-
-C<summary> prints the summary report after all tests are run. The
-argument is a hashref with the following keys:
-
-=over 4
-
-=item * C<start>
-
-This is created with C<< Benchmark->new >> and it the time the tests
-started. You can print a useful summary time, if desired, with:
-
- $self->output(
- timestr( timediff( Benchmark->new, $start_time ), 'nop' ) );
-
-=item * C<tests>
-
-This is an array reference of all test names. To get the L<TAP::Parser>
-object for individual tests:
-
- my $aggregate = $args->{aggregate};
- my $tests = $args->{tests};
-
- for my $name ( @$tests ) {
- my ($parser) = $aggregate->parsers($test);
- ... do something with $parser
- }
-
-This is a bit clunky and will be cleaned up in a later release.
-
-=back
-
-=cut
-
sub _get_parser_args {
my ( $self, $job ) = @_;
my $test_prog = $job->filename;
my %args = ();
+
+ $args{sources} = $self->sources if $self->sources;
+
my @switches;
@switches = $self->lib if $self->lib;
push @switches => $self->switches if $self->switches;
@@ -699,6 +724,7 @@ sub _get_parser_args {
$args{spool} = $self->_open_spool($test_prog);
$args{merge} = $self->merge;
$args{ignore_exit} = $self->ignore_exit;
+ $args{version} = $self->version if $self->version;
if ( my $exec = $self->exec ) {
$args{exec}
@@ -717,6 +743,19 @@ sub _get_parser_args {
}
if ( defined( my $test_args = $self->test_args ) ) {
+
+ if ( ref($test_args) eq 'HASH' ) {
+
+ # different args for each test
+ if ( exists( $test_args->{ $job->description } ) ) {
+ $test_args = $test_args->{ $job->description };
+ }
+ else {
+ $self->_croak( "TAP::Harness Can't find test_args for "
+ . $job->description );
+ }
+ }
+
$args{test_args} = $test_args;
}
@@ -807,6 +846,120 @@ sub _croak {
return;
}
+1;
+
+__END__
+
+##############################################################################
+
+=head1 CONFIGURING
+
+C<TAP::Harness> is designed to be easy to configure.
+
+=head2 Plugins
+
+C<TAP::Parser> plugins let you change the way TAP is I<input> to and I<output>
+from the parser.
+
+L<TAP::Parser::SourceHandler>s handle TAP I<input>. You can configure them
+and load custom handlers using the C<sources> parameter to L</new>.
+
+L<TAP::Formatter>s handle TAP I<output>. You can load custom formatters by
+using the C<formatter_class> parameter to L</new>. To configure a formatter,
+you currently need to instantiate it outside of L<TAP::Harness> and pass it in
+with the C<formatter> parameter to L</new>. This I<may> be addressed by adding
+a I<formatters> parameter to L</new> in the future.
+
+=head2 C<Module::Build>
+
+L<Module::Build> version C<0.30> supports C<TAP::Harness>.
+
+To load C<TAP::Harness> plugins, you'll need to use the C<tap_harness_args>
+parameter to C<new>, typically from your C<Build.PL>. For example:
+
+ Module::Build->new(
+ module_name => 'MyApp',
+ test_file_exts => [qw(.t .tap .txt)],
+ use_tap_harness => 1,
+ tap_harness_args => {
+ sources => {
+ MyCustom => {},
+ File => {
+ extensions => ['.tap', '.txt'],
+ },
+ },
+ formatter => 'TAP::Formatter::HTML',
+ },
+ build_requires => {
+ 'Module::Build' => '0.30',
+ 'TAP::Harness' => '3.18',
+ },
+ )->create_build_script;
+
+See L</new>
+
+=head2 C<ExtUtils::MakeMaker>
+
+L<ExtUtils::MakeMaker> does not support L<TAP::Harness> out-of-the-box.
+
+=head2 C<prove>
+
+L<prove> supports C<TAP::Harness> plugins, and has a plugin system of its
+own. See L<prove/FORMATTERS>, L<prove/SOURCE HANDLERS> and L<App::Prove>
+for more details.
+
+=head1 WRITING PLUGINS
+
+If you can't configure C<TAP::Harness> to do what you want, and you can't find
+an existing plugin, consider writing one.
+
+The two primary use cases supported by L<TAP::Harness> for plugins are I<input>
+and I<output>:
+
+=over 2
+
+=item Customize how TAP gets into the parser
+
+To do this, you can either extend an existing L<TAP::Parser::SourceHandler>,
+or write your own. It's a pretty simple API, and they can be loaded and
+configured using the C<sources> parameter to L</new>.
+
+=item Customize how TAP results are output from the parser
+
+To do this, you can either extend an existing L<TAP::Formatter>, or write your
+own. Writing formatters are a bit more involved than writing a
+I<SourceHandler>, as you'll need to understand the L<TAP::Parser> API. A
+good place to start is by understanding how L</aggregate_tests> works.
+
+Custom formatters can be loaded configured using the C<formatter_class>
+parameter to L</new>.
+
+=back
+
+=head1 SUBCLASSING
+
+If you can't configure C<TAP::Harness> to do exactly what you want, and writing
+a plugin isn't an option, consider extending it. It is designed to be (mostly)
+easy to subclass, though the cases when sub-classing is necessary should be few
+and far between.
+
+=head2 Methods
+
+The following methods are ones you may wish to override if you want to
+subclass C<TAP::Harness>.
+
+=over 4
+
+=item L</new>
+
+=item L</runtests>
+
+=item L</summary>
+
+=back
+
+=cut
+
=head1 REPLACING
If you like the C<prove> utility and L<TAP::Parser> but you want your
@@ -825,6 +978,4 @@ L<Test::Harness>
=cut
-1;
-
# vim:ts=4:sw=4:et:sta
diff --git a/Master/tlpkg/tlperl/lib/TAP/Harness/Beyond.pod b/Master/tlpkg/tlperl/lib/TAP/Harness/Beyond.pod
new file mode 100644
index 00000000000..ed77e13c253
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Harness/Beyond.pod
@@ -0,0 +1,417 @@
+=head1 Beyond make test
+
+Test::Harness is responsible for running test scripts, analysing
+their output and reporting success or failure. When I type
+F<make test> (or F<./Build test>) for a module, Test::Harness is usually
+used to run the tests (not all modules use Test::Harness but the
+majority do).
+
+To start exploring some of the features of Test::Harness I need to
+switch from F<make test> to the F<prove> command (which ships with
+Test::Harness). For the following examples I'll also need a recent
+version of Test::Harness installed; 3.14 is current as I write.
+
+For the examples I'm going to assume that we're working with a
+'normal' Perl module distribution. Specifically I'll assume that
+typing F<make> or F<./Build> causes the built, ready-to-install module
+code to be available below ./blib/lib and ./blib/arch and that
+there's a directory called 't' that contains our tests. Test::Harness
+isn't hardwired to that configuration but it saves me from explaining
+which files live where for each example.
+
+Back to F<prove>; like F<make test> it runs a test suite - but it
+provides far more control over which tests are executed, in what
+order and how their results are reported. Typically F<make test>
+runs all the test scripts below the 't' directory. To do the same
+thing with prove I type:
+
+ prove -rb t
+
+The switches here are -r to recurse into any directories below 't'
+and -b which adds ./blib/lib and ./blib/arch to Perl's include path
+so that the tests can find the code they will be testing. If I'm
+testing a module of which an earlier version is already installed
+I need to be careful about the include path to make sure I'm not
+running my tests against the installed version rather than the new
+one that I'm working on.
+
+Unlike F<make test>, typing F<prove> doesn't automatically rebuild
+my module. If I forget to make before prove I will be testing against
+older versions of those files - which inevitably leads to confusion.
+I either get into the habit of typing
+
+ make && prove -rb t
+
+or - if I have no XS code that needs to be built I use the modules
+below F<lib> instead
+
+ prove -Ilib -r t
+
+So far I've shown you nothing that F<make test> doesn't do. Let's
+fix that.
+
+=head2 Saved State
+
+If I have failing tests in a test suite that consists of more than
+a handful of scripts and takes more than a few seconds to run it
+rapidly becomes tedious to run the whole test suite repeatedly as
+I track down the problems.
+
+I can tell prove just to run the tests that are failing like this:
+
+ prove -b t/this_fails.t t/so_does_this.t
+
+That speeds things up but I have to make a note of which tests are
+failing and make sure that I run those tests. Instead I can use
+prove's --state switch and have it keep track of failing tests for
+me. First I do a complete run of the test suite and tell prove to
+save the results:
+
+ prove -rb --state=save t
+
+That stores a machine readable summary of the test run in a file
+called '.prove' in the current directory. If I have failures I can
+then run just the failing scripts like this:
+
+ prove -b --state=failed
+
+I can also tell prove to save the results again so that it updates
+its idea of which tests failed:
+
+ prove -b --state=failed,save
+
+As soon as one of my failing tests passes it will be removed from
+the list of failed tests. Eventually I fix them all and prove can
+find no failing tests to run:
+
+ Files=0, Tests=0, 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
+ Result: NOTESTS
+
+As I work on a particular part of my module it's most likely that
+the tests that cover that code will fail. I'd like to run the whole
+test suite but have it prioritize these 'hot' tests. I can tell
+prove to do this:
+
+ prove -rb --state=hot,save t
+
+All the tests will run but those that failed most recently will be
+run first. If no tests have failed since I started saving state all
+tests will run in their normal order. This combines full test
+coverage with early notification of failures.
+
+The --state switch supports a number of options; for example to run
+failed tests first followed by all remaining tests ordered by the
+timestamps of the test scripts - and save the results - I can use
+
+ prove -rb --state=failed,new,save t
+
+See the prove documentation (type prove --man) for the full list
+of state options.
+
+When I tell prove to save state it writes a file called '.prove'
+('_prove' on Windows) in the current directory. It's a YAML document
+so it's quite easy to write tools of your own that work on the saved
+test state - but the format isn't officially documented so it might
+change without (much) warning in the future.
+
+=head2 Parallel Testing
+
+If my tests take too long to run I may be able to speed them up by
+running multiple test scripts in parallel. This is particularly
+effective if the tests are I/O bound or if I have multiple CPU
+cores. I tell prove to run my tests in parallel like this:
+
+ prove -rb -j 9 t
+
+The -j switch enables parallel testing; the number that follows it
+is the maximum number of tests to run in parallel. Sometimes tests
+that pass when run sequentially will fail when run in parallel. For
+example if two different test scripts use the same temporary file
+or attempt to listen on the same socket I'll have problems running
+them in parallel. If I see unexpected failures I need to check my
+tests to work out which of them are trampling on the same resource
+and rename temporary files or add locks as appropriate.
+
+To get the most performance benefit I want to have the test scripts
+that take the longest to run start first - otherwise I'll be waiting
+for the one test that takes nearly a minute to complete after all
+the others are done. I can use the --state switch to run the tests
+in slowest to fastest order:
+
+ prove -rb -j 9 --state=slow,save t
+
+=head2 Non-Perl Tests
+
+The Test Anything Protocol (http://testanything.org/) isn't just
+for Perl. Just about any language can be used to write tests that
+output TAP. There are TAP based testing libraries for C, C++, PHP,
+Python and many others. If I can't find a TAP library for my language
+of choice it's easy to generate valid TAP. It looks like this:
+
+ 1..3
+ ok 1 - init OK
+ ok 2 - opened file
+ not ok 3 - appended to file
+
+The first line is the plan - it specifies the number of tests I'm
+going to run so that it's easy to check that the test script didn't
+exit before running all the expected tests. The following lines are
+the test results - 'ok' for pass, 'not ok' for fail. Each test has
+a number and, optionally, a description. And that's it. Any language
+that can produce output like that on STDOUT can be used to write
+tests.
+
+Recently I've been rekindling a two-decades-old interest in Forth.
+Evidently I have a masochistic streak that even Perl can't satisfy.
+I want to write tests in Forth and run them using prove (you can
+find my gforth TAP experiments at
+https://svn.hexten.net/andy/Forth/Testing/). I can use the --exec
+switch to tell prove to run the tests using gforth like this:
+
+ prove -r --exec gforth t
+
+Alternately, if the language used to write my tests allows a shebang
+line I can use that to specify the interpreter. Here's a test written
+in PHP:
+
+ #!/usr/bin/php
+ <?php
+ print "1..2\n";
+ print "ok 1\n";
+ print "not ok 2\n";
+ ?>
+
+If I save that as t/phptest.t the shebang line will ensure that it
+runs correctly along with all my other tests.
+
+=head2 Mixing it up
+
+Subtle interdependencies between test programs can mask problems -
+for example an earlier test may neglect to remove a temporary file
+that affects the behaviour of a later test. To find this kind of
+problem I use the --shuffle and --reverse options to run my tests
+in random or reversed order.
+
+=head2 Rolling My Own
+
+If I need a feature that prove doesn't provide I can easily write my own.
+
+Typically you'll want to change how TAP gets I<input> into and I<output>
+from the parser. L<App::Prove> supports arbitrary plugins, and L<TAP::Harness>
+supports custom I<formatters> and I<source handlers> that you can load using
+either L<prove> or L<Module::Build>; there are many examples to base mine on.
+For more details see L<App::Prove>, L<TAP::Parser::SourceHandler>, and
+L<TAP::Formatter::Base>.
+
+If writing a plugin is not enough, you can write your own test harness; one of
+the motives for the 3.00 rewrite of Test::Harness was to make it easier to
+subclass and extend.
+
+The Test::Harness module is a compatibility wrapper around TAP::Harness.
+For new applications I should use TAP::Harness directly. As we'll
+see, prove uses TAP::Harness.
+
+When I run prove it processes its arguments, figures out which test
+scripts to run and then passes control to TAP::Harness to run the
+tests, parse, analyse and present the results. By subclassing
+TAP::Harness I can customise many aspects of the test run.
+
+I want to log my test results in a database so I can track them
+over time. To do this I override the summary method in TAP::Harness.
+I start with a simple prototype that dumps the results as a YAML
+document:
+
+ package My::TAP::Harness;
+
+ use base qw( TAP::Harness ); use YAML;
+
+ sub summary {
+ my ( $self, $aggregate ) = @_;
+ print Dump( $aggregate );
+ $self->SUPER::summary( $aggregate );
+ }
+
+ 1;
+
+I need to tell prove to use my My::TAP::Harness. If My::TAP::Harness
+is on Perl's @INC include path I can
+
+ prove --harness=My::TAP::Harness -rb t
+
+If I don't have My::TAP::Harness installed on @INC I need to provide
+the correct path to perl when I run prove:
+
+ perl -Ilib `which prove` --harness=My::TAP::Harness -rb t
+
+I can incorporate these options into my own version of prove. It's
+pretty simple. Most of the work of prove is handled by App::Prove.
+The important code in prove is just:
+
+ use App::Prove;
+
+ my $app = App::Prove->new;
+ $app->process_args(@ARGV);
+ exit( $app->run ? 0 : 1 );
+
+If I write a subclass of App::Prove I can customise any aspect of
+the test runner while inheriting all of prove's behaviour. Here's
+myprove:
+
+ #!/usr/bin/env perl use lib qw( lib ); # Add ./lib to @INC
+ use App::Prove;
+
+ my $app = App::Prove->new;
+
+ # Use custom TAP::Harness subclass
+ $app->harness( 'My::TAP::Harness' );
+
+ $app->process_args( @ARGV ); exit( $app->run ? 0 : 1 );
+
+Now I can run my tests like this
+
+ ./myprove -rb t
+
+=head2 Deeper Customisation
+
+Now that I know how to subclass and replace TAP::Harness I can
+replace any other part of the harness. To do that I need to know
+which classes are responsible for which functionality. Here's a
+brief guided tour; the default class for each component is shown
+in parentheses. Normally any replacements I write will be subclasses
+of these default classes.
+
+When I run my tests TAP::Harness creates a scheduler
+(TAP::Parser::Scheduler) to work out the running order for the
+tests, an aggregator (TAP::Parser::Aggregator) to collect and analyse
+the test results and a formatter (TAP::Formatter::Console) to display
+those results.
+
+If I'm running my tests in parallel there may also be a multiplexer
+(TAP::Parser::Multiplexer) - the component that allows multiple
+tests to run simultaneously.
+
+Once it has created those helpers TAP::Harness starts running the
+tests. For each test it creates a new parser (TAP::Parser) which
+is responsible for running the test script and parsing its output.
+
+To replace any of these components I call one of these harness
+methods with the name of the replacement class:
+
+ aggregator_class
+ formatter_class
+ multiplexer_class
+ parser_class
+ scheduler_class
+
+For example, to replace the aggregator I would
+
+ $harness->aggregator_class( 'My::Aggregator' );
+
+Alternately I can supply the names of my substitute classes to the
+TAP::Harness constructor:
+
+ my $harness = TAP::Harness->new(
+ { aggregator_class => 'My::Aggregator' }
+ );
+
+If I need to reach even deeper into the internals of the harness I
+can replace the classes that TAP::Parser uses to execute test scripts
+and tokenise their output. Before running a test script TAP::Parser
+creates a grammar (TAP::Parser::Grammar) to decode the raw TAP into
+tokens, a result factory (TAP::Parser::ResultFactory) to turn the
+decoded TAP results into objects and, depending on whether it's
+running a test script or reading TAP from a file, scalar or array
+a source or an iterator (TAP::Parser::IteratorFactory).
+
+Each of these objects may be replaced by calling one of these parser
+methods:
+
+ source_class
+ perl_source_class
+ grammar_class
+ iterator_factory_class
+ result_factory_class
+
+=head2 Callbacks
+
+As an alternative to subclassing the components I need to change I
+can attach callbacks to the default classes. TAP::Harness exposes
+these callbacks:
+
+ parser_args Tweak the parameters used to create the parser
+ made_parser Just made a new parser
+ before_runtests About to run tests
+ after_runtests Have run all tests
+ after_test Have run an individual test script
+
+TAP::Parser also supports callbacks; bailout, comment, plan, test,
+unknown, version and yaml are called for the corresponding TAP
+result types, ALL is called for all results, ELSE is called for all
+results for which a named callback is not installed and EOF is
+called once at the end of each TAP stream.
+
+To install a callback I pass the name of the callback and a subroutine
+reference to TAP::Harness or TAP::Parser's callback method:
+
+ $harness->callback( after_test => sub {
+ my ( $script, $desc, $parser ) = @_;
+ } );
+
+I can also pass callbacks to the constructor:
+
+ my $harness = TAP::Harness->new({
+ callbacks => {
+ after_test => sub {
+ my ( $script, $desc, $parser ) = @_;
+ # Do something interesting here
+ }
+ }
+ });
+
+When it comes to altering the behaviour of the test harness there's
+more than one way to do it. Which way is best depends on my
+requirements. In general if I only want to observe test execution
+without changing the harness' behaviour (for example to log test
+results to a database) I choose callbacks. If I want to make the
+harness behave differently subclassing gives me more control.
+
+=head2 Parsing TAP
+
+Perhaps I don't need a complete test harness. If I already have a
+TAP test log that I need to parse all I need is TAP::Parser and the
+various classes it depends upon. Here's the code I need to run a
+test and parse its TAP output
+
+ use TAP::Parser;
+
+ my $parser = TAP::Parser->new( { source => 't/simple.t' } );
+ while ( my $result = $parser->next ) {
+ print $result->as_string, "\n";
+ }
+
+Alternately I can pass an open filehandle as source and have the
+parser read from that rather than attempting to run a test script:
+
+ open my $tap, '<', 'tests.tap'
+ or die "Can't read TAP transcript ($!)\n";
+ my $parser = TAP::Parser->new( { source => $tap } );
+ while ( my $result = $parser->next ) {
+ print $result->as_string, "\n";
+ }
+
+This approach is useful if I need to convert my TAP based test
+results into some other representation. See TAP::Convert::TET
+(http://search.cpan.org/dist/TAP-Convert-TET/) for an example of
+this approach.
+
+=head2 Getting Support
+
+The Test::Harness developers hang out on the tapx-dev mailing
+list[1]. For discussion of general, language independent TAP issues
+there's the tap-l[2] list. Finally there's a wiki dedicated to the
+Test Anything Protocol[3]. Contributions to the wiki, patches and
+suggestions are all welcome.
+
+[1] L<http://www.hexten.net/mailman/listinfo/tapx-dev>
+[2] L<http://testanything.org/mailman/listinfo/tap-l>
+[3] L<http://testanything.org/>
diff --git a/Master/tlpkg/tlperl/lib/TAP/Object.pm b/Master/tlpkg/tlperl/lib/TAP/Object.pm
index 498bb805c91..e933179c916 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Object.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Object.pm
@@ -9,11 +9,11 @@ TAP::Object - Base class that provides common functionality to all C<TAP::*> mod
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
@@ -93,6 +93,25 @@ sub _croak {
return;
}
+=head3 C<_confess>
+
+Raise an exception using C<confess> from L<Carp>, eg:
+
+ $self->_confess( 'why me?', 'aaarrgh!' );
+
+May also be called as a I<class> method.
+
+ $class->_confess( 'this works too' );
+
+=cut
+
+sub _confess {
+ my $proto = shift;
+ require Carp;
+ Carp::confess(@_);
+ return;
+}
+
=head3 C<_construct>
Create a new instance of the specified class.
@@ -124,7 +143,7 @@ Create simple getter/setters.
sub mk_methods {
my ( $class, @methods ) = @_;
- foreach my $method_name (@methods) {
+ for my $method_name (@methods) {
my $method = "${class}::$method_name";
no strict 'refs';
*$method = sub {
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser.pm b/Master/tlpkg/tlperl/lib/TAP/Parser.pm
index ea3acd907ff..55edb0dbd87 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser.pm
@@ -3,14 +3,18 @@ package TAP::Parser;
use strict;
use vars qw($VERSION @ISA);
-use TAP::Base ();
-use TAP::Parser::Grammar ();
-use TAP::Parser::Result ();
-use TAP::Parser::ResultFactory ();
-use TAP::Parser::Source ();
-use TAP::Parser::Source::Perl ();
-use TAP::Parser::Iterator ();
-use TAP::Parser::IteratorFactory ();
+use TAP::Base ();
+use TAP::Parser::Grammar ();
+use TAP::Parser::Result ();
+use TAP::Parser::ResultFactory ();
+use TAP::Parser::Source ();
+use TAP::Parser::Iterator ();
+use TAP::Parser::IteratorFactory ();
+use TAP::Parser::SourceHandler::Executable ();
+use TAP::Parser::SourceHandler::Perl ();
+use TAP::Parser::SourceHandler::File ();
+use TAP::Parser::SourceHandler::RawTAP ();
+use TAP::Parser::SourceHandler::Handle ();
use Carp qw( confess );
@@ -20,11 +24,11 @@ TAP::Parser - Parse L<TAP|Test::Harness::TAP> output
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
my $DEFAULT_TAP_VERSION = 12;
my $MAX_TAP_VERSION = 13;
@@ -42,7 +46,7 @@ BEGIN { # making accessors
__PACKAGE__->mk_methods(
qw(
- _stream
+ _iterator
_spool
exec
exit
@@ -56,13 +60,16 @@ BEGIN { # making accessors
start_time
end_time
skip_all
- source_class
- perl_source_class
grammar_class
- iterator_factory_class
result_factory_class
+ iterator_factory_class
)
);
+
+ sub _stream { # deprecated
+ my $self = shift;
+ $self->_iterator(@_);
+ }
} # done making accessors
=head1 SYNOPSIS
@@ -105,39 +112,55 @@ The arguments should be a hashref with I<one> of the following keys:
=item * C<source>
-This is the preferred method of passing arguments to the constructor. To
-determine how to handle the source, the following steps are taken.
+I<CHANGED in 3.18>
-If the source contains a newline, it's assumed to be a string of raw TAP
-output.
+This is the preferred method of passing input to the constructor.
-If the source is a reference, it's assumed to be something to pass to
-the L<TAP::Parser::Iterator::Stream> constructor. This is used
-internally and you should not use it.
+The C<source> is used to create a L<TAP::Parser::Source> that is passed to the
+L</iterator_factory_class> which in turn figures out how to handle the source and
+creates a <TAP::Parser::Iterator> for it. The iterator is used by the parser to
+read in the TAP stream.
-Otherwise, the parser does a C<-e> check to see if the source exists. If so,
-it attempts to execute the source and read the output as a stream. This is by
-far the preferred method of using the parser.
+To configure the I<IteratorFactory> use the C<sources> parameter below.
- foreach my $file ( @test_files ) {
- my $parser = TAP::Parser->new( { source => $file } );
- # do stuff with the parser
- }
+Note that C<source>, C<tap> and C<exec> are I<mutually exclusive>.
=item * C<tap>
+I<CHANGED in 3.18>
+
The value should be the complete TAP output.
+The I<tap> is used to create a L<TAP::Parser::Source> that is passed to the
+L</iterator_factory_class> which in turn figures out how to handle the source and
+creates a <TAP::Parser::Iterator> for it. The iterator is used by the parser to
+read in the TAP stream.
+
+To configure the I<IteratorFactory> use the C<sources> parameter below.
+
+Note that C<source>, C<tap> and C<exec> are I<mutually exclusive>.
+
=item * C<exec>
-If passed an array reference, will attempt to create the iterator by
-passing a L<TAP::Parser::Source> object to
-L<TAP::Parser::Iterator::Source>, using the array reference strings as
-the command arguments to L<IPC::Open3::open3|IPC::Open3>:
+Must be passed an array reference.
+
+The I<exec> array ref is used to create a L<TAP::Parser::Source> that is passed
+to the L</iterator_factory_class> which in turn figures out how to handle the
+source and creates a <TAP::Parser::Iterator> for it. The iterator is used by
+the parser to read in the TAP stream.
+
+By default the L<TAP::Parser::SourceHandler::Executable> class will create a
+L<TAP::Parser::Iterator::Process> object to handle the source. This passes the
+array reference strings as command arguments to L<IPC::Open3::open3|IPC::Open3>:
exec => [ '/usr/bin/ruby', 't/my_test.rb' ]
-Note that C<source> and C<exec> are mutually exclusive.
+If any C<test_args> are given they will be appended to the end of the command
+argument list.
+
+To configure the I<IteratorFactory> use the C<sources> parameter below.
+
+Note that C<source>, C<tap> and C<exec> are I<mutually exclusive>.
=back
@@ -145,6 +168,34 @@ The following keys are optional.
=over 4
+=item * C<sources>
+
+I<NEW to 3.18>.
+
+If set, C<sources> must be a hashref containing the names of the
+L<TAP::Parser::SourceHandler>s to load and/or configure. The values are a
+hash of configuration that will be accessible to to the source handlers via
+L<TAP::Parser::Source/config_for>.
+
+For example:
+
+ sources => {
+ Perl => { exec => '/path/to/custom/perl' },
+ File => { extensions => [ '.tap', '.txt' ] },
+ MyCustom => { some => 'config' },
+ }
+
+This will cause C<TAP::Parser> to pass custom configuration to two of the built-
+in source handlers - L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::File> - and attempt to load the C<MyCustom>
+class. See L<TAP::Parser::IteratorFactory/load_handlers> for more detail.
+
+The C<sources> parameter affects how C<source>, C<tap> and C<exec> parameters
+are handled.
+
+See L<TAP::Parser::IteratorFactory>, L<TAP::Parser::SourceHandler> and subclasses for
+more details.
+
=item * C<callback>
If present, each callback corresponding to a given result type will be called
@@ -159,7 +210,7 @@ with the result as the argument if the C<run> method is used:
);
my $aggregator = TAP::Parser::Aggregator->new;
- foreach my $file ( @test_files ) {
+ for my $file ( @test_files ) {
my $parser = TAP::Parser->new(
{
source => $file,
@@ -177,13 +228,13 @@ be used when invoking the perl executable.
my $parser = TAP::Parser->new( {
source => $test_file,
- switches => '-Ilib',
+ switches => [ '-Ilib' ],
} );
=item * C<test_args>
-Used in conjunction with the C<source> option to supply a reference to
-an C<@ARGV> style array of arguments to pass to the test program.
+Used in conjunction with the C<source> and C<exec> option to supply a reference
+to an C<@ARGV> style array of arguments to pass to the test program.
=item * C<spool>
@@ -201,20 +252,6 @@ allow exact synchronization.
Subtleties of this behavior may be platform-dependent and may change in
the future.
-=item * C<source_class>
-
-This option was introduced to let you easily customize which I<source> class
-the parser should use. It defaults to L<TAP::Parser::Source>.
-
-See also L</make_source>.
-
-=item * C<perl_source_class>
-
-This option was introduced to let you easily customize which I<perl source>
-class the parser should use. It defaults to L<TAP::Parser::Source::Perl>.
-
-See also L</make_perl_source>.
-
=item * C<grammar_class>
This option was introduced to let you easily customize which I<grammar> class
@@ -222,14 +259,6 @@ the parser should use. It defaults to L<TAP::Parser::Grammar>.
See also L</make_grammar>.
-=item * C<iterator_factory_class>
-
-This option was introduced to let you easily customize which I<iterator>
-factory class the parser should use. It defaults to
-L<TAP::Parser::IteratorFactory>.
-
-See also L</make_iterator>.
-
=item * C<result_factory_class>
This option was introduced to let you easily customize which I<result>
@@ -238,6 +267,14 @@ L<TAP::Parser::ResultFactory>.
See also L</make_result>.
+=item * C<iterator_factory_class>
+
+I<CHANGED in 3.18>
+
+This option was introduced to let you easily customize which I<iterator>
+factory class the parser should use. It defaults to
+L<TAP::Parser::IteratorFactory>.
+
=back
=cut
@@ -245,11 +282,9 @@ See also L</make_result>.
# new() implementation supplied by TAP::Base
# This should make overriding behaviour of the Parser in subclasses easier:
-sub _default_source_class {'TAP::Parser::Source'}
-sub _default_perl_source_class {'TAP::Parser::Source::Perl'}
sub _default_grammar_class {'TAP::Parser::Grammar'}
-sub _default_iterator_factory_class {'TAP::Parser::IteratorFactory'}
sub _default_result_factory_class {'TAP::Parser::ResultFactory'}
+sub _default_iterator_factory_class {'TAP::Parser::IteratorFactory'}
##############################################################################
@@ -297,20 +332,6 @@ sub run {
##############################################################################
-=head3 C<make_source>
-
-Make a new L<TAP::Parser::Source> object and return it. Passes through any
-arguments given.
-
-The C<source_class> can be customized, as described in L</new>.
-
-=head3 C<make_perl_source>
-
-Make a new L<TAP::Parser::Source::Perl> object and return it. Passes through
-any arguments given.
-
-The C<perl_source_class> can be customized, as described in L</new>.
-
=head3 C<make_grammar>
Make a new L<TAP::Parser::Grammar> object and return it. Passes through any
@@ -318,14 +339,6 @@ arguments given.
The C<grammar_class> can be customized, as described in L</new>.
-=head3 C<make_iterator>
-
-Make a new L<TAP::Parser::Iterator> object using the parser's
-L<TAP::Parser::IteratorFactory>, and return it. Passes through any arguments
-given.
-
-The C<iterator_factory_class> can be customized, as described in L</new>.
-
=head3 C<make_result>
Make a new L<TAP::Parser::Result> object using the parser's
@@ -334,28 +347,21 @@ given.
The C<result_factory_class> can be customized, as described in L</new>.
+=head3 C<make_iterator_factory>
+
+I<NEW to 3.18>.
+
+Make a new L<TAP::Parser::IteratorFactory> object and return it. Passes through
+any arguments given.
+
+C<iterator_factory_class> can be customized, as described in L</new>.
+
=cut
# This should make overriding behaviour of the Parser in subclasses easier:
-sub make_source { shift->source_class->new(@_); }
-sub make_perl_source { shift->perl_source_class->new(@_); }
-sub make_grammar { shift->grammar_class->new(@_); }
-sub make_iterator { shift->iterator_factory_class->make_iterator(@_); }
-sub make_result { shift->result_factory_class->make_result(@_); }
-
-sub _iterator_for_source {
- my ( $self, $source ) = @_;
-
- # If the source has a get_stream method then use it. This makes it
- # possible to pass a pre-existing source object to the parser's
- # constructor.
- if ( UNIVERSAL::can( $source, 'can' ) && $source->can('get_stream') ) {
- return $source->get_stream($self);
- }
- else {
- return $self->iterator_factory_class->make_iterator($source);
- }
-}
+sub make_iterator_factory { shift->iterator_factory_class->new(@_); }
+sub make_grammar { shift->grammar_class->new(@_); }
+sub make_result { shift->result_factory_class->make_result(@_); }
{
@@ -364,9 +370,7 @@ sub _iterator_for_source {
my %initialize = (
version => $DEFAULT_TAP_VERSION,
plan => '', # the test plan (e.g., 1..3)
- tap => '', # the TAP
tests_run => 0, # actual current test numbers
- results => [], # TAP parser results
skipped => [], #
todo => [], #
passed => [], #
@@ -393,18 +397,16 @@ sub _iterator_for_source {
);
my @class_overrides = qw(
- source_class
- perl_source_class
grammar_class
- iterator_factory_class
result_factory_class
+ iterator_factory_class
);
sub _initialize {
my ( $self, $arg_for ) = @_;
# everything here is basically designed to convert any TAP source to a
- # stream.
+ # TAP::Parser::Iterator.
# Shallow copy
my %args = %{ $arg_for || {} };
@@ -418,19 +420,22 @@ sub _iterator_for_source {
$self->$key($val);
}
- my $stream = delete $args{stream};
+ my $iterator = delete $args{iterator};
+ $iterator ||= delete $args{stream}; # deprecated
my $tap = delete $args{tap};
- my $source = delete $args{source};
+ my $version = delete $args{version};
+ my $raw_source = delete $args{source};
+ my $sources = delete $args{sources};
my $exec = delete $args{exec};
my $merge = delete $args{merge};
my $spool = delete $args{spool};
my $switches = delete $args{switches};
my $ignore_exit = delete $args{ignore_exit};
- my @test_args = @{ delete $args{test_args} || [] };
+ my $test_args = delete $args{test_args} || [];
- if ( 1 < grep {defined} $stream, $tap, $source, $exec ) {
+ if ( 1 < grep {defined} $iterator, $tap, $raw_source, $exec ) {
$self->_croak(
- "You may only choose one of 'exec', 'stream', 'tap' or 'source'"
+ "You may only choose one of 'exec', 'tap', 'source' or 'iterator'"
);
}
@@ -438,47 +443,43 @@ sub _iterator_for_source {
$self->_croak("Unknown options: @excess");
}
+ # convert $tap & $exec to $raw_source equiv.
+ my $type = '';
+ my $source = TAP::Parser::Source->new;
if ($tap) {
- $stream = $self->_iterator_for_source( [ split "\n" => $tap ] );
+ $type = 'raw TAP';
+ $source->raw( \$tap );
}
elsif ($exec) {
- my $source = $self->make_source;
- $source->source( [ @$exec, @test_args ] );
- $source->merge($merge); # XXX should just be arguments?
- $stream = $source->get_stream($self);
+ $type = 'exec ' . $exec->[0];
+ $source->raw( { exec => $exec } );
+ }
+ elsif ($raw_source) {
+ $type = 'source ' . ref($raw_source) || $raw_source;
+ $source->raw( ref($raw_source) ? $raw_source : \$raw_source );
+ }
+ elsif ($iterator) {
+ $type = 'iterator ' . ref($iterator);
}
- elsif ($source) {
- if ( $source =~ /\n/ ) {
- $stream
- = $self->_iterator_for_source( [ split "\n" => $source ] );
- }
- elsif ( ref $source ) {
- $stream = $self->_iterator_for_source($source);
- }
- elsif ( -e $source ) {
- my $perl = $self->make_perl_source;
-
- $perl->switches($switches)
- if $switches;
- $perl->merge($merge); # XXX args to new()?
- $perl->source( [ $source, @test_args ] );
- $stream = $perl->get_stream($self);
- }
- else {
- $self->_croak("Cannot determine source for $source");
- }
+ if ( $source->raw ) {
+ my $src_factory = $self->make_iterator_factory($sources);
+ $source->merge($merge)->switches($switches)
+ ->test_args($test_args);
+ $iterator = $src_factory->make_iterator($source);
}
- unless ($stream) {
- $self->_croak('PANIC: could not determine stream');
+ unless ($iterator) {
+ $self->_croak(
+ "PANIC: could not determine iterator for input $type");
}
while ( my ( $k, $v ) = each %initialize ) {
$self->{$k} = 'ARRAY' eq ref $v ? [] : $v;
}
- $self->_stream($stream);
+ $self->version($version) if $version;
+ $self->_iterator($iterator);
$self->_spool($spool);
$self->ignore_exit($ignore_exit);
@@ -638,7 +639,7 @@ C<$result> object.
Returns a list of pragmas each of which is a + or - followed by the
pragma name.
-=head2 C<commment> methods
+=head2 C<comment> methods
if ( $result->is_comment ) { ... }
@@ -715,7 +716,7 @@ line.
my $explanation = $result->explanation;
If a test had either a C<TODO> or C<SKIP> directive, this method will return
-the accompanying explantion, if present.
+the accompanying explanation, if present.
not ok 17 - 'Pigs can fly' # TODO not enough acid
@@ -1043,7 +1044,7 @@ an executable, it returns the exit status of the executable.
Once the parser is done, this will return the wait status. If the parser ran
an executable, it returns the wait status of the executable. Otherwise, this
-mererely returns the C<exit> status.
+merely returns the C<exit> status.
=head2 C<ignore_exit>
@@ -1308,7 +1309,7 @@ sub _make_state_table {
UNPLANNED_AFTER_TEST => {
test => { act => sub { }, continue => 'UNPLANNED' },
plan => { act => sub { }, continue => 'UNPLANNED' },
- yaml => { goto => 'PLANNED' },
+ yaml => { goto => 'UNPLANNED' },
},
);
@@ -1341,23 +1342,23 @@ determine the readiness of this parser.
=cut
-sub get_select_handles { shift->_stream->get_select_handles }
+sub get_select_handles { shift->_iterator->get_select_handles }
sub _grammar {
my $self = shift;
return $self->{_grammar} = shift if @_;
return $self->{_grammar} ||= $self->make_grammar(
- { stream => $self->_stream,
- parser => $self,
- version => $self->version
+ { iterator => $self->_iterator,
+ parser => $self,
+ version => $self->version
}
);
}
sub _iter {
my $self = shift;
- my $stream = $self->_stream;
+ my $iterator = $self->_iterator;
my $grammar = $self->_grammar;
my $spool = $self->_spool;
my $state = 'INIT';
@@ -1394,8 +1395,8 @@ sub _iter {
# Handle end of stream - which means either pop a block or finish
my $end_handler = sub {
- $self->exit( $stream->exit );
- $self->wait( $stream->wait );
+ $self->exit( $iterator->exit );
+ $self->wait( $iterator->wait );
$self->_finish;
return;
};
@@ -1458,7 +1459,7 @@ sub _finish {
$self->end_time( $self->get_time );
# Avoid leaks
- $self->_stream(undef);
+ $self->_iterator(undef);
$self->_grammar(undef);
# If we just delete the iter we won't get a fault if it's recreated.
@@ -1532,7 +1533,7 @@ result as its argument.
);
my $aggregator = TAP::Parser::Aggregator->new;
- foreach my $file ( @test_files ) {
+ for my $file ( @test_files ) {
my $parser = TAP::Parser->new(
{
source => $file,
@@ -1635,9 +1636,9 @@ passed instead.
If you're looking for an EBNF grammar, see L<TAP::Parser::Grammar>.
-=head1 BACKWARDS COMPATABILITY
+=head1 BACKWARDS COMPATIBILITY
-The Perl-QA list attempted to ensure backwards compatability with
+The Perl-QA list attempted to ensure backwards compatibility with
L<Test::Harness>. However, there are some minor differences.
=head2 Differences
@@ -1685,7 +1686,7 @@ never run. They're reported as parse failures (tests out of sequence).
If you find you need to provide custom functionality (as you would have using
L<Test::Harness::Straps>), you're in luck: C<TAP::Parser> and friends are
-designed to be easily subclassed.
+designed to be easily plugged-into and/or subclassed.
Before you start, it's important to know a few things:
@@ -1697,23 +1698,26 @@ All C<TAP::*> objects inherit from L<TAP::Object>.
=item 2
-Most C<TAP::*> classes have a I<SUBCLASSING> section to guide you.
+Many C<TAP::*> classes have a I<SUBCLASSING> section to guide you.
=item 3
-Note that C<TAP::Parser> is designed to be the central 'maker' - ie: it is
-responsible for creating new objects in the C<TAP::Parser::*> namespace.
+Note that C<TAP::Parser> is designed to be the central "maker" - ie: it is
+responsible for creating most new objects in the C<TAP::Parser::*> namespace.
This makes it possible for you to have a single point of configuring what
-subclasses should be used, which in turn means that in many cases you'll find
+subclasses should be used, which means that in many cases you'll find
you only need to sub-class one of the parser's components.
+The exception to this rule are I<SourceHandlers> & I<Iterators>, but those are
+both created with customizable I<IteratorFactory>.
+
=item 4
By subclassing, you may end up overriding undocumented methods. That's not
a bad thing per se, but be forewarned that undocumented methods may change
without warning from one release to the next - we cannot guarantee backwards
-compatability. If any I<documented> method needs changing, it will be
+compatibility. If any I<documented> method needs changing, it will be
deprecated first, and changed in a later release.
=back
@@ -1722,28 +1726,41 @@ deprecated first, and changed in a later release.
=head3 Sources
-A TAP parser consumes input from a I<source>. There are currently two types
-of sources: L<TAP::Parser::Source> for general non-perl commands, and
-L<TAP::Parser::Source::Perl>. You can subclass both of them. You'll need to
-customize your parser by setting the C<source_class> & C<perl_source_class>
-parameters. See L</new> for more details.
+A TAP parser consumes input from a single I<raw source> of TAP, which could come
+from anywhere (a file, an executable, a database, an IO handle, a URI, etc..).
+The source gets bundled up in a L<TAP::Parser::Source> object which gathers some
+meta data about it. The parser then uses a L<TAP::Parser::IteratorFactory> to
+determine which L<TAP::Parser::SourceHandler> to use to turn the raw source
+into a stream of TAP by way of L</Iterators>.
-If you need to customize the objects on creation, subclass L<TAP::Parser> and
-override L</make_source> or L</make_perl_source>.
+If you simply want C<TAP::Parser> to handle a new source of TAP you probably
+don't need to subclass C<TAP::Parser> itself. Rather, you'll need to create a
+new L<TAP::Parser::SourceHandler> class, and just plug it into the parser using
+the I<sources> param to L</new>. Before you start writing one, read through
+L<TAP::Parser::IteratorFactory> to get a feel for how the system works first.
+
+If you find you really need to use your own iterator factory you can still do
+so without sub-classing C<TAP::Parser> by setting L</iterator_factory_class>.
+
+If you just need to customize the objects on creation, subclass L<TAP::Parser>
+and override L</make_iterator_factory>.
+
+Note that L</make_source> & L</make_perl_source> have been I<DEPRECATED> and
+are now removed.
=head3 Iterators
-A TAP parser uses I<iterators> to loop through the I<stream> provided by the
-parser's I<source>. There are quite a few types of Iterators available.
-Choosing which class to use is the responsibility of the I<iterator factory>.
+A TAP parser uses I<iterators> to loop through the I<stream> of TAP read in
+from the I<source> it was given. There are a few types of Iterators available
+by default, all sub-classes of L<TAP::Parser::Iterator>. Choosing which
+iterator to use is the responsibility of the I<iterator factory>, though it
+simply delegates to the I<Source Handler> it uses.
-To create your own iterators you'll have to subclass
-L<TAP::Parser::IteratorFactory> and L<TAP::Parser::Iterator>. Then you'll
-need to customize the class used by your parser by setting the
-C<iterator_factory_class> parameter. See L</new> for more details.
+If you're writing your own L<TAP::Parser::SourceHandler>, you may need to
+create your own iterators too. If so you'll need to subclass
+L<TAP::Parser::Iterator>.
-If you need to customize the objects on creation, subclass L<TAP::Parser> and
-override L</make_iterator>.
+Note that L</make_iterator> has been I<DEPRECATED> and is now removed.
=head3 Results
@@ -1774,7 +1791,7 @@ override L</make_result>.
=head3 Grammar
-L<TAP::Parser::Grammar> is the heart of the parser - it tokenizes the TAP
+L<TAP::Parser::Grammar> is the heart of the parser. It tokenizes the TAP
input I<stream> and produces results. If you need to customize its behaviour
you should probably familiarize yourself with the source first. Enough
lecturing.
@@ -1785,7 +1802,7 @@ C<grammar_class> parameter. See L</new> for more details.
If you need to customize the objects on creation, subclass L<TAP::Parser> and
override L</make_grammar>
-=head1 ACKNOWLEDGEMENTS
+=head1 ACKNOWLEDGMENTS
All of the following have helped. Bug reports, patches, (im)moral
support, or just words of encouragement have all been forthcoming.
@@ -1830,6 +1847,10 @@ support, or just words of encouragement have all been forthcoming.
=item * Alex Vandiver
+=item * Cosimo Streppone
+
+=item * Ville Skyttä
+
=back
=head1 AUTHORS
@@ -1848,6 +1869,10 @@ Steve Purkis <spurkis@cpan.org>
Nicholas Clark <nick@ccl4.org>
+Lee Johnson <notfadeaway at btinternet dot com>
+
+Philippe Bruhat <book@cpan.org>
+
=head1 BUGS
Please report any bugs or feature requests to
@@ -1859,7 +1884,7 @@ progress on your bug as we make changes.
Obviously, bugs which include patches are best. If you prefer, you can
patch against bleed by via anonymous checkout of the latest version:
- svn checkout http://svn.hexten.net/tapx
+ git clone git://github.com/AndyA/Test-Harness.git
=head1 COPYRIGHT & LICENSE
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm
index 10b37ef72a3..822b0d7109e 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Aggregator.pm
@@ -14,11 +14,11 @@ TAP::Parser::Aggregator - Aggregate TAP::Parser results
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
@@ -74,7 +74,7 @@ BEGIN { # install summary methods
$SUMMARY_METHOD_FOR{total} = 'tests_run';
$SUMMARY_METHOD_FOR{planned} = 'tests_planned';
- foreach my $method ( keys %SUMMARY_METHOD_FOR ) {
+ for my $method ( keys %SUMMARY_METHOD_FOR ) {
next if 'total' eq $method;
no strict 'refs';
*$method = sub {
@@ -90,7 +90,7 @@ sub _initialize {
my ($self) = @_;
$self->{parser_for} = {};
$self->{parse_order} = [];
- foreach my $summary ( keys %SUMMARY_METHOD_FOR ) {
+ for my $summary ( keys %SUMMARY_METHOD_FOR ) {
$self->{$summary} = 0;
next if 'total' eq $summary;
$self->{"descriptions_for_$summary"} = [];
@@ -175,7 +175,7 @@ sub parsers {
sub _get_parsers {
my ( $self, @descriptions ) = @_;
my @parsers;
- foreach my $description (@descriptions) {
+ for my $description (@descriptions) {
$self->_croak("A parser for ($description) could not be found")
unless exists $self->{parser_for}{$description};
push @parsers => $self->{parser_for}{$description};
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm
index 44f28a0491e..0646d15d292 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Grammar.pm
@@ -15,27 +15,27 @@ TAP::Parser::Grammar - A grammar for the Test Anything Protocol.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
use TAP::Parser::Grammar;
my $grammar = $self->make_grammar({
- stream => $tap_parser_stream,
- parser => $tap_parser,
- version => 12,
+ iterator => $tap_parser_iterator,
+ parser => $tap_parser,
+ version => 12,
});
my $result = $grammar->tokenize;
=head1 DESCRIPTION
-C<TAP::Parser::Grammar> tokenizes lines from a TAP stream and constructs
-L<TAP::Parser::Result> subclasses to represent the tokens.
+C<TAP::Parser::Grammar> tokenizes lines from a L<TAP::Parser::Iterator> and
+constructs L<TAP::Parser::Result> subclasses to represent the tokens.
Do not attempt to use this class directly. It won't make sense. It's mainly
here to ensure that we will be able to have pluggable grammars when TAP is
@@ -49,22 +49,24 @@ parser).
=head3 C<new>
my $grammar = TAP::Parser::Grammar->new({
- stream => $stream,
- parser => $parser,
- version => $version,
+ iterator => $iterator,
+ parser => $parser,
+ version => $version,
});
-Returns L<TAP::Parser> grammar object that will parse the specified stream.
-Both C<stream> and C<parser> are required arguments. If C<version> is not set
-it defaults to C<12> (see L</set_version> for more details).
+Returns L<TAP::Parser> grammar object that will parse the TAP stream from the
+specified iterator. Both C<iterator> and C<parser> are required arguments.
+If C<version> is not set it defaults to C<12> (see L</set_version> for more
+details).
=cut
# new() implementation supplied by TAP::Object
sub _initialize {
my ( $self, $args ) = @_;
- $self->{stream} = $args->{stream}; # TODO: accessor
- $self->{parser} = $args->{parser}; # TODO: accessor
+ $self->{iterator} = $args->{iterator}; # TODO: accessor
+ $self->{iterator} ||= $args->{stream}; # deprecated
+ $self->{parser} = $args->{parser}; # TODO: accessor
$self->set_version( $args->{version} || 12 );
return $self;
}
@@ -162,7 +164,7 @@ my %language_for;
},
},
bailout => {
- syntax => qr/^Bail out!\s*(.*)/,
+ syntax => qr/^\s*Bail out!\s*(.*)/,
handler => sub {
my ( $self, $line ) = @_;
my $explanation = $1;
@@ -218,7 +220,7 @@ my %language_for;
'13' => {
tokens => \%v13,
setup => sub {
- shift->{stream}->handle_unicode;
+ shift->{iterator}->handle_unicode;
},
},
);
@@ -284,7 +286,7 @@ current line of TAP.
sub tokenize {
my $self = shift;
- my $line = $self->{stream}->next;
+ my $line = $self->{iterator}->next;
unless ( defined $line ) {
delete $self->{parser}; # break circular ref
return;
@@ -292,7 +294,7 @@ sub tokenize {
my $token;
- foreach my $token_data ( @{ $self->{ordered_tokens} } ) {
+ for my $token_data ( @{ $self->{ordered_tokens} } ) {
if ( $line =~ $token_data->{syntax} ) {
my $handler = $token_data->{handler};
$token = $self->$handler($line);
@@ -351,7 +353,7 @@ TAP parsing loop looks similar to the following:
my @tokens;
my $grammar = TAP::Grammar->new;
LINE: while ( defined( my $line = $parser->_next_chunk_of_tap ) ) {
- foreach my $type ( $grammar->token_types ) {
+ for my $type ( $grammar->token_types ) {
my $syntax = $grammar->syntax_for($type);
if ( $line =~ $syntax ) {
my $handler = $grammar->handler_for($type);
@@ -443,7 +445,7 @@ sub _make_yaml_token {
my $yaml = TAP::Parser::YAMLish::Reader->new;
- my $stream = $self->{stream};
+ my $iterator = $self->{iterator};
# Construct a reader that reads from our input stripping leading
# spaces from each line.
@@ -452,7 +454,7 @@ sub _make_yaml_token {
my @extra = ($marker);
my $reader = sub {
return shift @extra if @extra;
- my $line = $stream->next;
+ my $line = $iterator->next;
return $2 if $line =~ $strip;
return;
};
@@ -502,7 +504,7 @@ stream-based protocol. In fact, it's quite legal to have an infinite stream.
For the same reason that we don't apply regexes to streams, we're not using a
formal grammar here. Instead, we parse the TAP in lines.
-For purposes for forward compatability, any result which does not match the
+For purposes for forward compatibility, any result which does not match the
following grammar is currently referred to as
L<TAP::Parser::Result::Unknown>. It is I<not> a parse error.
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm
index 09d40bebccb..dd831995dcc 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator.pm
@@ -9,20 +9,18 @@ use TAP::Object ();
=head1 NAME
-TAP::Parser::Iterator - Internal base class for TAP::Parser Iterators
+TAP::Parser::Iterator - Base class for TAP source iterators
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
- # see TAP::Parser::IteratorFactory for general usage
-
# to subclass:
use vars qw(@ISA);
use TAP::Parser::Iterator ();
@@ -31,11 +29,14 @@ $VERSION = '3.17';
# see TAP::Object...
}
+ sub next_raw { ... }
+ sub wait { ... }
+ sub exit { ... }
+
=head1 DESCRIPTION
This is a simple iterator base class that defines L<TAP::Parser>'s iterator
-API. See C<TAP::Parser::IteratorFactory> for the preferred way of creating
-iterators.
+API. Iterators are typically created from L<TAP::Parser::SourceHandler>s.
=head1 METHODS
@@ -156,7 +157,6 @@ There's not much point repeating it here.
L<TAP::Object>,
L<TAP::Parser>,
-L<TAP::Parser::IteratorFactory>,
L<TAP::Parser::Iterator::Array>,
L<TAP::Parser::Iterator::Stream>,
L<TAP::Parser::Iterator::Process>,
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm
index 1513d5b9945..4a195849bc9 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Array.pm
@@ -9,21 +9,18 @@ use TAP::Parser::Iterator ();
=head1 NAME
-TAP::Parser::Iterator::Array - Internal TAP::Parser array Iterator
+TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
- # see TAP::Parser::IteratorFactory for preferred usage
-
- # to use directly:
use TAP::Parser::Iterator::Array;
my @data = ('foo', 'bar', baz');
my $it = TAP::Parser::Iterator::Array->new(\@data);
@@ -32,8 +29,8 @@ $VERSION = '3.17';
=head1 DESCRIPTION
This is a simple iterator wrapper for arrays of scalar content, used by
-L<TAP::Parser>. Unless you're subclassing, you probably won't need to use
-this module directly.
+L<TAP::Parser>. Unless you're writing a plugin or subclassing, you probably
+won't need to use this module directly.
=head1 METHODS
@@ -100,7 +97,6 @@ Originally ripped off from L<Test::Harness>.
L<TAP::Object>,
L<TAP::Parser>,
L<TAP::Parser::Iterator>,
-L<TAP::Parser::IteratorFactory>,
=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm
index a0a5a8ed32e..f4332c94503 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Process.pm
@@ -13,21 +13,18 @@ my $IS_WIN32 = ( $^O =~ /^(MS)?Win32$/ );
=head1 NAME
-TAP::Parser::Iterator::Process - Internal TAP::Parser Iterator
+TAP::Parser::Iterator::Process - Iterator for process-based TAP sources
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
- # see TAP::Parser::IteratorFactory for preferred usage
-
- # to use directly:
use TAP::Parser::Iterator::Process;
my %args = (
command => ['python', 'setup.py', 'test'],
@@ -41,8 +38,8 @@ $VERSION = '3.17';
=head1 DESCRIPTION
This is a simple iterator wrapper for executing external processes, used by
-L<TAP::Parser>. Unless you're subclassing, you probably won't need to use
-this module directly.
+L<TAP::Parser>. Unless you're writing a plugin or subclassing, you probably
+won't need to use this module directly.
=head1 METHODS
@@ -80,12 +77,18 @@ Get the exit status for this iterator's process.
=cut
-eval { require POSIX; &POSIX::WEXITSTATUS(0) };
-if ($@) {
- *_wait2exit = sub { $_[1] >> 8 };
-}
-else {
- *_wait2exit = sub { POSIX::WEXITSTATUS( $_[1] ) }
+{
+
+ local $^W; # no warnings
+ # get around a catch22 in the test suite that causes failures on Win32:
+ local $SIG{__DIE__} = undef;
+ eval { require POSIX; &POSIX::WEXITSTATUS(0) };
+ if ($@) {
+ *_wait2exit = sub { $_[1] >> 8 };
+ }
+ else {
+ *_wait2exit = sub { POSIX::WEXITSTATUS( $_[1] ) }
+ }
}
sub _use_open3 {
@@ -117,6 +120,8 @@ sub _initialize {
my @command = @{ delete $args->{command} || [] }
or die "Must supply a command to execute";
+ $self->{command} = [@command];
+
# Private. Used to frig with chunk size during testing.
my $chunk_size = delete $args->{_chunk_size} || 65536;
@@ -371,7 +376,6 @@ Originally ripped off from L<Test::Harness>.
L<TAP::Object>,
L<TAP::Parser>,
L<TAP::Parser::Iterator>,
-L<TAP::Parser::IteratorFactory>,
=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm
index c92cbabe089..27d87fb9961 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Iterator/Stream.pm
@@ -9,21 +9,18 @@ use TAP::Parser::Iterator ();
=head1 NAME
-TAP::Parser::Iterator::Stream - Internal TAP::Parser Iterator
+TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
- # see TAP::Parser::IteratorFactory for preferred usage
-
- # to use directly:
use TAP::Parser::Iterator::Stream;
open( TEST, 'test.tap' );
my $it = TAP::Parser::Iterator::Stream->new(\*TEST);
@@ -32,8 +29,8 @@ $VERSION = '3.17';
=head1 DESCRIPTION
This is a simple iterator wrapper for reading from filehandles, used by
-L<TAP::Parser>. Unless you're subclassing, you probably won't need to use
-this module directly.
+L<TAP::Parser>. Unless you're writing a plugin or subclassing, you probably
+won't need to use this module directly.
=head1 METHODS
@@ -106,7 +103,6 @@ Originally ripped off from L<Test::Harness>.
L<TAP::Object>,
L<TAP::Parser>,
L<TAP::Parser::Iterator>,
-L<TAP::Parser::IteratorFactory>,
=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm
index 064d7beb167..a45f08550cb 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/IteratorFactory.pm
@@ -3,40 +3,40 @@ package TAP::Parser::IteratorFactory;
use strict;
use vars qw($VERSION @ISA);
-use TAP::Object ();
-use TAP::Parser::Iterator::Array ();
-use TAP::Parser::Iterator::Stream ();
-use TAP::Parser::Iterator::Process ();
+use TAP::Object ();
+
+use Carp qw( confess );
+use File::Basename qw( fileparse );
@ISA = qw(TAP::Object);
+use constant handlers => [];
+
=head1 NAME
-TAP::Parser::IteratorFactory - Internal TAP::Parser Iterator
+TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to use for a given Source
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
use TAP::Parser::IteratorFactory;
- my $factory = TAP::Parser::IteratorFactory->new;
- my $iter = $factory->make_iterator(\*TEST);
- my $iter = $factory->make_iterator(\@array);
- my $iter = $factory->make_iterator(\%hash);
-
- my $line = $iter->next;
+ my $factory = TAP::Parser::IteratorFactory->new({ %config });
+ my $iterator = $factory->make_iterator( $filename );
=head1 DESCRIPTION
-This is a factory class for simple iterator wrappers for arrays, filehandles,
-and hashes. Unless you're subclassing, you probably won't need to use this
-module directly.
+This is a factory class that takes a L<TAP::Parser::Source> and runs it through all the
+registered L<TAP::Parser::SourceHandler>s to see which one should handle the source.
+
+If you're a plugin author, you'll be interested in how to L</register_handler>s,
+how L</detect_source> works.
=head1 METHODS
@@ -44,128 +44,299 @@ module directly.
=head3 C<new>
-Creates a new factory class.
-I<Note:> You currently don't need to instantiate a factory in order to use it.
+Creates a new factory class:
-=head3 C<make_iterator>
+ my $sf = TAP::Parser::IteratorFactory->new( $config );
-Create an iterator. The type of iterator created depends on the arguments to
-the constructor:
+C<$config> is optional. If given, sets L</config> and calls L</load_handlers>.
- my $iter = TAP::Parser::Iterator->make_iterator( $filehandle );
+=cut
+
+sub _initialize {
+ my ( $self, $config ) = @_;
+ $self->config( $config || {} )->load_handlers;
+ return $self;
+}
-Creates a I<stream> iterator (see L</make_stream_iterator>).
+=head3 C<register_handler>
- my $iter = TAP::Parser::Iterator->make_iterator( $array_reference );
+Registers a new L<TAP::Parser::SourceHandler> with this factory.
-Creates an I<array> iterator (see L</make_array_iterator>).
+ __PACKAGE__->register_handler( $handler_class );
- my $iter = TAP::Parser::Iterator->make_iterator( $hash_reference );
+=head3 C<handlers>
-Creates a I<process> iterator (see L</make_process_iterator>).
+List of handlers that have been registered.
=cut
-sub make_iterator {
- my ( $proto, $thing ) = @_;
+sub register_handler {
+ my ( $class, $dclass ) = @_;
- my $ref = ref $thing;
- if ( $ref eq 'GLOB' || $ref eq 'IO::Handle' ) {
- return $proto->make_stream_iterator($thing);
- }
- elsif ( $ref eq 'ARRAY' ) {
- return $proto->make_array_iterator($thing);
- }
- elsif ( $ref eq 'HASH' ) {
- return $proto->make_process_iterator($thing);
- }
- else {
- die "Can't iterate with a $ref";
+ confess("$dclass must implement can_handle & make_iterator methods!")
+ unless UNIVERSAL::can( $dclass, 'can_handle' )
+ && UNIVERSAL::can( $dclass, 'make_iterator' );
+
+ my $handlers = $class->handlers;
+ push @{$handlers}, $dclass
+ unless grep { $_ eq $dclass } @{$handlers};
+
+ return $class;
+}
+
+##############################################################################
+
+=head2 Instance Methods
+
+=head3 C<config>
+
+ my $cfg = $sf->config;
+ $sf->config({ Perl => { %config } });
+
+Chaining getter/setter for the configuration of the available source handlers.
+This is a hashref keyed on handler class whose values contain config to be passed
+onto the handlers during detection & creation. Class names may be fully qualified
+or abbreviated, eg:
+
+ # these are equivalent
+ $sf->config({ 'TAP::Parser::SourceHandler::Perl' => { %config } });
+ $sf->config({ 'Perl' => { %config } });
+
+=cut
+
+sub config {
+ my $self = shift;
+ return $self->{config} unless @_;
+ unless ( 'HASH' eq ref $_[0] ) {
+ $self->_croak('Argument to &config must be a hash reference');
}
+ $self->{config} = shift;
+ return $self;
+}
+
+sub _last_handler {
+ my $self = shift;
+ return $self->{last_handler} unless @_;
+ $self->{last_handler} = shift;
+ return $self;
+}
+
+sub _testing {
+ my $self = shift;
+ return $self->{testing} unless @_;
+ $self->{testing} = shift;
+ return $self;
}
-=head3 C<make_stream_iterator>
+##############################################################################
+
+=head3 C<load_handlers>
+
+ $sf->load_handlers;
-Make a new stream iterator and return it. Passes through any arguments given.
-Defaults to a L<TAP::Parser::Iterator::Stream>.
+Loads the handler classes defined in L</config>. For example, given a config:
-=head3 C<make_array_iterator>
+ $sf->config({
+ MySourceHandler => { some => 'config' },
+ });
-Make a new array iterator and return it. Passes through any arguments given.
-Defaults to a L<TAP::Parser::Iterator::Array>.
+C<load_handlers> will attempt to load the C<MySourceHandler> class by looking in
+C<@INC> for it in this order:
-=head3 C<make_process_iterator>
+ TAP::Parser::SourceHandler::MySourceHandler
+ MySourceHandler
-Make a new process iterator and return it. Passes through any arguments given.
-Defaults to a L<TAP::Parser::Iterator::Process>.
+C<croak>s on error.
=cut
-sub make_stream_iterator {
- my $proto = shift;
- TAP::Parser::Iterator::Stream->new(@_);
+sub load_handlers {
+ my ($self) = @_;
+ for my $handler ( keys %{ $self->config } ) {
+ my $sclass = $self->_load_handler($handler);
+
+ # TODO: store which class we loaded anywhere?
+ }
+ return $self;
}
-sub make_array_iterator {
- my $proto = shift;
- TAP::Parser::Iterator::Array->new(@_);
+sub _load_handler {
+ my ( $self, $handler ) = @_;
+
+ my @errors;
+ for my $dclass ( "TAP::Parser::SourceHandler::$handler", $handler ) {
+ return $dclass
+ if UNIVERSAL::can( $dclass, 'can_handle' )
+ && UNIVERSAL::can( $dclass, 'make_iterator' );
+
+ eval "use $dclass";
+ if ( my $e = $@ ) {
+ push @errors, $e;
+ next;
+ }
+
+ return $dclass
+ if UNIVERSAL::can( $dclass, 'can_handle' )
+ && UNIVERSAL::can( $dclass, 'make_iterator' );
+ push @errors,
+ "handler '$dclass' does not implement can_handle & make_iterator";
+ }
+
+ $self->_croak(
+ "Cannot load handler '$handler': " . join( "\n", @errors ) );
}
-sub make_process_iterator {
- my $proto = shift;
- TAP::Parser::Iterator::Process->new(@_);
+##############################################################################
+
+=head3 C<make_iterator>
+
+ my $iterator = $src_factory->make_iterator( $source );
+
+Given a L<TAP::Parser::Source>, finds the most suitable L<TAP::Parser::SourceHandler>
+to use to create a L<TAP::Parser::Iterator> (see L</detect_source>). Dies on error.
+
+=cut
+
+sub make_iterator {
+ my ( $self, $source ) = @_;
+
+ $self->_croak('no raw source defined!') unless defined $source->raw;
+
+ $source->config( $self->config )->assemble_meta;
+
+ # is the raw source already an object?
+ return $source->raw
+ if ( $source->meta->{is_object}
+ && UNIVERSAL::isa( $source->raw, 'TAP::Parser::SourceHandler' ) );
+
+ # figure out what kind of source it is
+ my $sd_class = $self->detect_source($source);
+ $self->_last_handler($sd_class);
+
+ return if $self->_testing;
+
+ # create it
+ my $iterator = $sd_class->make_iterator($source);
+
+ return $iterator;
}
-1;
+=head3 C<detect_source>
-=head1 SUBCLASSING
+Given a L<TAP::Parser::Source>, detects what kind of source it is and
+returns I<one> L<TAP::Parser::SourceHandler> (the most confident one). Dies
+on error.
-Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+The detection algorithm works something like this:
+
+ for (@registered_handlers) {
+ # ask them how confident they are about handling this source
+ $confidence{$handler} = $handler->can_handle( $source )
+ }
+ # choose the most confident handler
+
+Ties are handled by choosing the first handler.
+
+=cut
+
+sub detect_source {
+ my ( $self, $source ) = @_;
-There are a few things to bear in mind when creating your own
-C<ResultFactory>:
+ confess('no raw source ref defined!') unless defined $source->raw;
-=over 4
+ # find a list of handlers that can handle this source:
+ my %handlers;
+ for my $dclass ( @{ $self->handlers } ) {
+ my $confidence = $dclass->can_handle($source);
-=item 1
+ # warn "handler: $dclass: $confidence\n";
+ $handlers{$dclass} = $confidence if $confidence;
+ }
+
+ if ( !%handlers ) {
+
+ # use Data::Dump qw( pp );
+ # warn pp( $meta );
+
+ # error: can't detect source
+ my $raw_source_short = substr( ${ $source->raw }, 0, 50 );
+ confess("Cannot detect source of '$raw_source_short'!");
+ return;
+ }
-The factory itself is never instantiated (this I<may> change in the future).
-This means that C<_initialize> is never called.
+ # if multiple handlers can handle it, choose the most confident one
+ my @handlers = (
+ map {$_}
+ sort { $handlers{$a} cmp $handlers{$b} }
+ keys %handlers
+ );
+
+ # this is really useful for debugging handlers:
+ if ( $ENV{TAP_HARNESS_SOURCE_FACTORY_VOTES} ) {
+ warn(
+ "votes: ",
+ join( ', ', map {"$_: $handlers{$_}"} @handlers ),
+ "\n"
+ );
+ }
+
+ # return 1st
+ return pop @handlers;
+}
+
+1;
-=back
+__END__
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
=head2 Example
+If we've done things right, you'll probably want to write a new source,
+rather than sub-classing this (see L<TAP::Parser::SourceHandler> for that).
+
+But in case you find the need to...
+
package MyIteratorFactory;
use strict;
use vars '@ISA';
- use MyStreamIterator;
use TAP::Parser::IteratorFactory;
@ISA = qw( TAP::Parser::IteratorFactory );
- # override stream iterator
- sub make_stream_iterator {
- my $proto = shift;
- MyStreamIterator->new(@_);
+ # override source detection algorithm
+ sub detect_source {
+ my ($self, $raw_source_ref, $meta) = @_;
+ # do detective work, using $meta and whatever else...
}
1;
+=head1 AUTHORS
+
+Steve Purkis
+
=head1 ATTRIBUTION
Originally ripped off from L<Test::Harness>.
+Moved out of L<TAP::Parser> & converted to a factory class to support
+extensible TAP source detective work by Steve Purkis.
+
=head1 SEE ALSO
L<TAP::Object>,
L<TAP::Parser>,
-L<TAP::Parser::Iterator>,
-L<TAP::Parser::Iterator::Array>,
-L<TAP::Parser::Iterator::Stream>,
-L<TAP::Parser::Iterator::Process>,
+L<TAP::Parser::SourceHandler>,
+L<TAP::Parser::SourceHandler::File>,
+L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::RawTAP>,
+L<TAP::Parser::SourceHandler::Handle>,
+L<TAP::Parser::SourceHandler::Executable>
=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm
index 2e5d9296888..934933cae39 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Multiplexer.pm
@@ -18,11 +18,11 @@ TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm
index b01e95c5d9a..c8120302f34 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result.pm
@@ -26,15 +26,15 @@ TAP::Parser::Result - Base class for TAP::Parser output objects
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
- # abstract class - not meany to be used directly
+ # abstract class - not meant to be used directly
# see TAP::Parser::ResultFactory for preferred usage
# directly:
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm
index 3e42f4110fd..e85d2a9a951 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Bailout.pm
@@ -12,11 +12,11 @@ TAP::Parser::Result::Bailout - Bailout result token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm
index 1e9ba13c5f2..239a3eb22be 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Comment.pm
@@ -12,11 +12,11 @@ TAP::Parser::Result::Comment - Comment result token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm
index 67c01df200d..56ac06ac4ec 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Plan.pm
@@ -12,11 +12,11 @@ TAP::Parser::Result::Plan - Plan result token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm
index 3eb62b3322b..b2a9709c337 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Pragma.pm
@@ -12,11 +12,11 @@ TAP::Parser::Result::Pragma - TAP pragma token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm
index 11cf302de6a..dd1ecd2edfa 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Test.pm
@@ -14,11 +14,11 @@ TAP::Parser::Result::Test - Test result token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
@@ -101,7 +101,7 @@ sub directive { shift->{directive} }
my $explanation = $result->explanation;
If a test had either a C<TODO> or C<SKIP> directive, this method will return
-the accompanying explantion, if present.
+the accompanying explanation, if present.
not ok 17 - 'Pigs can fly' # TODO not enough acid
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm
index 52e19585d9a..861de5e29fa 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Unknown.pm
@@ -14,11 +14,11 @@ TAP::Parser::Result::Unknown - Unknown result token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm
index b97681eb065..f20c7a1d0a8 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/Version.pm
@@ -12,11 +12,11 @@ TAP::Parser::Result::Version - TAP syntax version token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm
index ada3ae445bb..28aae77a10e 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Result/YAML.pm
@@ -12,11 +12,11 @@ TAP::Parser::Result::YAML - YAML result token.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm
index 46d0df29dbd..37ec96b201b 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/ResultFactory.pm
@@ -30,11 +30,11 @@ TAP::Parser::ResultFactory - Factory for creating TAP::Parser output objects
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head2 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm
index f1817093af0..522194182b8 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler.pm
@@ -12,11 +12,11 @@ TAP::Parser::Scheduler - Schedule tests during parallel testing
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
@@ -231,7 +231,7 @@ sub get_job {
sub _not_empty {
my $ar = shift;
return 1 unless 'ARRAY' eq ref $ar;
- foreach (@$ar) {
+ for (@$ar) {
return 1 if _not_empty($_);
}
return;
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm
index 7ab68f9f673..18c1026a9dd 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Job.pm
@@ -10,11 +10,11 @@ TAP::Parser::Scheduler::Job - A single testing job.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm
index 10af5e33697..eb88b444011 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Scheduler/Spinner.pm
@@ -10,11 +10,11 @@ TAP::Parser::Scheduler::Spinner - A no-op job.
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm
index 9263e9e5442..a33fe6fdb62 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Source.pm
@@ -3,35 +3,49 @@ package TAP::Parser::Source;
use strict;
use vars qw($VERSION @ISA);
-use TAP::Object ();
-use TAP::Parser::IteratorFactory ();
+use TAP::Object ();
+use File::Basename qw( fileparse );
@ISA = qw(TAP::Object);
-# Causes problem on MacOS and shouldn't be necessary anyway
-#$SIG{CHLD} = sub { wait };
-
=head1 NAME
-TAP::Parser::Source - Stream output from some source
+TAP::Parser::Source - a TAP source & meta data about it
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
use TAP::Parser::Source;
my $source = TAP::Parser::Source->new;
- my $stream = $source->source(['/usr/bin/ruby', 'mytest.rb'])->get_stream;
+ $source->raw( \'reference to raw TAP source' )
+ ->config( \%config )
+ ->merge( $boolean )
+ ->switches( \@switches )
+ ->test_args( \@args )
+ ->assemble_meta;
+
+ do { ... } if $source->meta->{is_file};
+ # see assemble_meta for a full list of data available
=head1 DESCRIPTION
-Takes a command and hopefully returns a stream from it.
+A TAP I<source> is something that produces a stream of TAP for the parser to
+consume, such as an executable file, a text file, an archive, an IO handle, a
+database, etc. C<TAP::Parser::Source>s encapsulate these I<raw> sources, and
+provide some useful meta data about them. They are used by
+L<TAP::Parser::SourceHandler>s, which do whatever is required to produce &
+capture a stream of TAP from the I<raw> source, and package it up in a
+L<TAP::Parser::Iterator> for the parser to consume.
+
+Unless you're writing a new L<TAP::Parser::SourceHandler>, a plugin or
+subclassing L<TAP::Parser>, you probably won't need to use this module directly.
=head1 METHODS
@@ -48,10 +62,9 @@ Returns a new C<TAP::Parser::Source> object.
# new() implementation supplied by TAP::Object
sub _initialize {
- my ( $self, $args ) = @_;
- $self->{switches} = [];
- _autoflush( \*STDOUT );
- _autoflush( \*STDERR );
+ my ($self) = @_;
+ $self->meta( {} );
+ $self->config( {} );
return $self;
}
@@ -59,69 +72,86 @@ sub _initialize {
=head2 Instance Methods
-=head3 C<source>
+=head3 C<raw>
- my $source = $source->source;
- $source->source(['./some_prog some_test_file']);
+ my $raw = $source->raw;
+ $source->raw( $some_value );
- # or
- $source->source(['/usr/bin/ruby', 't/ruby_test.rb']);
+Chaining getter/setter for the raw TAP source. This is a reference, as it may
+contain large amounts of data (eg: raw TAP).
-Getter/setter for the source. The source should generally consist of an array
-reference of strings which, when executed via L<&IPC::Open3::open3|IPC::Open3>,
-should return a filehandle which returns successive rows of TAP. C<croaks> if
-it doesn't get an arrayref.
+=head3 C<meta>
-=cut
+ my $meta = $source->meta;
+ $source->meta({ %some_value });
-sub source {
- my $self = shift;
- return $self->{source} unless @_;
- unless ( 'ARRAY' eq ref $_[0] ) {
- $self->_croak('Argument to &source must be an array reference');
- }
- $self->{source} = shift;
- return $self;
-}
+Chaining getter/setter for meta data about the source. This defaults to an
+empty hashref. See L</assemble_meta> for more info.
-##############################################################################
+=head3 C<has_meta>
-=head3 C<get_stream>
+True if the source has meta data.
- my $stream = $source->get_stream;
+=head3 C<config>
-Returns a L<TAP::Parser::Iterator> stream of the output generated by executing
-C<source>. C<croak>s if there was no command found.
+ my $config = $source->config;
+ $source->config({ %some_value });
-Must be passed an object that implements a C<make_iterator> method.
-Typically this is a TAP::Parser instance.
+Chaining getter/setter for the source's configuration, if any has been provided
+by the user. How it's used is up to you. This defaults to an empty hashref.
+See L</config_for> for more info.
-=cut
+=head3 C<merge>
-sub get_stream {
- my ( $self, $factory ) = @_;
- my @command = $self->_get_command
- or $self->_croak('No command found!');
+ my $merge = $source->merge;
+ $source->config( $bool );
- return $factory->make_iterator(
- { command => \@command,
- merge => $self->merge
- }
- );
-}
+Chaining getter/setter for the flag that dictates whether STDOUT and STDERR
+should be merged (where appropriate). Defaults to undef.
-sub _get_command { return @{ shift->source || [] } }
+=head3 C<switches>
-##############################################################################
+ my $switches = $source->switches;
+ $source->config([ @switches ]);
-=head3 C<merge>
+Chaining getter/setter for the list of command-line switches that should be
+passed to the source (where appropriate). Defaults to undef.
- my $merge = $source->merge;
+=head3 C<test_args>
+
+ my $test_args = $source->test_args;
+ $source->config([ @test_args ]);
-Sets or returns the flag that dictates whether STDOUT and STDERR are merged.
+Chaining getter/setter for the list of command-line arguments that should be
+passed to the source (where appropriate). Defaults to undef.
=cut
+sub raw {
+ my $self = shift;
+ return $self->{raw} unless @_;
+ $self->{raw} = shift;
+ return $self;
+}
+
+sub meta {
+ my $self = shift;
+ return $self->{meta} unless @_;
+ $self->{meta} = shift;
+ return $self;
+}
+
+sub has_meta {
+ return scalar %{ shift->meta } ? 1 : 0;
+}
+
+sub config {
+ my $self = shift;
+ return $self->{config} unless @_;
+ $self->{config} = shift;
+ return $self;
+}
+
sub merge {
my $self = shift;
return $self->{merge} unless @_;
@@ -129,45 +159,227 @@ sub merge {
return $self;
}
-# Turns on autoflush for the handle passed
-sub _autoflush {
- my $flushed = shift;
- my $old_fh = select $flushed;
- $| = 1;
- select $old_fh;
+sub switches {
+ my $self = shift;
+ return $self->{switches} unless @_;
+ $self->{switches} = shift;
+ return $self;
}
-1;
+sub test_args {
+ my $self = shift;
+ return $self->{test_args} unless @_;
+ $self->{test_args} = shift;
+ return $self;
+}
+
+=head3 C<assemble_meta>
+
+ my $meta = $source->assemble_meta;
+
+Gathers meta data about the L</raw> source, stashes it in L</meta> and returns
+it as a hashref. This is done so that the L<TAP::Parser::SourceHandler>s don't
+have to repeat common checks. Currently this includes:
+
+ is_scalar => $bool,
+ is_hash => $bool,
+ is_array => $bool,
+
+ # for scalars:
+ length => $n
+ has_newlines => $bool
+
+ # only done if the scalar looks like a filename
+ is_file => $bool,
+ is_dir => $bool,
+ is_symlink => $bool,
+ file => {
+ # only done if the scalar looks like a filename
+ basename => $string, # including ext
+ dir => $string,
+ ext => $string,
+ lc_ext => $string,
+ # system checks
+ exists => $bool,
+ stat => [ ... ], # perldoc -f stat
+ empty => $bool,
+ size => $n,
+ text => $bool,
+ binary => $bool,
+ read => $bool,
+ write => $bool,
+ execute => $bool,
+ setuid => $bool,
+ setgid => $bool,
+ sticky => $bool,
+ is_file => $bool,
+ is_dir => $bool,
+ is_symlink => $bool,
+ # only done if the file's a symlink
+ lstat => [ ... ], # perldoc -f lstat
+ # only done if the file's a readable text file
+ shebang => $first_line,
+ }
-=head1 SUBCLASSING
+ # for arrays:
+ size => $n,
-Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+=cut
-=head2 Example
+sub assemble_meta {
+ my ($self) = @_;
- package MyRubySource;
+ return $self->meta if $self->has_meta;
- use strict;
- use vars '@ISA';
+ my $meta = $self->meta;
+ my $raw = $self->raw;
- use Carp qw( croak );
- use TAP::Parser::Source;
+ # rudimentary is object test - if it's blessed it'll
+ # inherit from UNIVERSAL
+ $meta->{is_object} = UNIVERSAL::isa( $raw, 'UNIVERSAL' ) ? 1 : 0;
+
+ if ( $meta->{is_object} ) {
+ $meta->{class} = ref($raw);
+ }
+ else {
+ my $ref = lc( ref($raw) );
+ $meta->{"is_$ref"} = 1;
+ }
+
+ if ( $meta->{is_scalar} ) {
+ my $source = $$raw;
+ $meta->{length} = length($$raw);
+ $meta->{has_newlines} = $$raw =~ /\n/ ? 1 : 0;
+
+ # only do file checks if it looks like a filename
+ if ( !$meta->{has_newlines} and $meta->{length} < 1024 ) {
+ my $file = {};
+ $file->{exists} = -e $source ? 1 : 0;
+ if ( $file->{exists} ) {
+ $meta->{file} = $file;
+
+ # avoid extra system calls (see `perldoc -f -X`)
+ $file->{stat} = [ stat(_) ];
+ $file->{empty} = -z _ ? 1 : 0;
+ $file->{size} = -s _;
+ $file->{text} = -T _ ? 1 : 0;
+ $file->{binary} = -B _ ? 1 : 0;
+ $file->{read} = -r _ ? 1 : 0;
+ $file->{write} = -w _ ? 1 : 0;
+ $file->{execute} = -x _ ? 1 : 0;
+ $file->{setuid} = -u _ ? 1 : 0;
+ $file->{setgid} = -g _ ? 1 : 0;
+ $file->{sticky} = -k _ ? 1 : 0;
+
+ $meta->{is_file} = $file->{is_file} = -f _ ? 1 : 0;
+ $meta->{is_dir} = $file->{is_dir} = -d _ ? 1 : 0;
+
+ # symlink check requires another system call
+ $meta->{is_symlink} = $file->{is_symlink}
+ = -l $source ? 1 : 0;
+ if ( $file->{is_symlink} ) {
+ $file->{lstat} = [ lstat(_) ];
+ }
+
+ # put together some common info about the file
+ ( $file->{basename}, $file->{dir}, $file->{ext} )
+ = map { defined $_ ? $_ : '' }
+ fileparse( $source, qr/\.[^.]*/ );
+ $file->{lc_ext} = lc( $file->{ext} );
+ $file->{basename} .= $file->{ext} if $file->{ext};
+
+ if ( $file->{text} and $file->{read} ) {
+ eval { $file->{shebang} = $self->_read_shebang($$raw); };
+ if ( my $e = $@ ) {
+ warn $e;
+ }
+ }
+ }
+ }
+ }
+ elsif ( $meta->{is_array} ) {
+ $meta->{size} = $#$raw + 1;
+ }
+ elsif ( $meta->{is_hash} ) {
+ ; # do nothing
+ }
+
+ return $meta;
+}
+
+=head3 C<shebang>
+
+Get the shebang line for a script file.
+
+ my $shebang = TAP::Parser::Source->shebang( $some_script );
+
+May be called as a class method
+
+=cut
+
+{
+
+ # Global shebang cache.
+ my %shebang_for;
- @ISA = qw( TAP::Parser::Source );
+ sub _read_shebang {
+ my ( $self, $file ) = @_;
+ my $shebang;
+ local *TEST;
+ if ( open( TEST, $file ) ) {
+ $shebang = <TEST>;
+ chomp $shebang;
+ close(TEST) or die "Can't close $file. $!\n";
+ }
+ else {
+ die "Can't open $file. $!\n";
+ }
+ return $shebang;
+ }
+
+ sub shebang {
+ my ( $class, $file ) = @_;
+ $shebang_for{$file} = $class->_read_shebang($file)
+ unless exists $shebang_for{$file};
+ return $shebang_for{$file};
+ }
+}
+
+=head3 C<config_for>
+
+ my $config = $source->config_for( $class );
+
+Returns L</config> for the $class given. Class names may be fully qualified
+or abbreviated, eg:
+
+ # these are equivalent
+ $source->config_for( 'Perl' );
+ $source->config_for( 'TAP::Parser::SourceHandler::Perl' );
- # expect $source->(['mytest.rb', 'cmdline', 'args']);
- sub source {
- my ($self, $args) = @_;
- my ($rb_file) = @$args;
- croak("error: Ruby file '$rb_file' not found!") unless (-f $rb_file);
- return $self->SUPER::source(['/usr/bin/ruby', @$args]);
- }
+If a fully qualified $class is given, its abbreviated version is checked first.
+
+=cut
+
+sub config_for {
+ my ( $self, $class ) = @_;
+ my ($abbrv_class) = ( $class =~ /(?:\:\:)?(\w+)$/ );
+ my $config = $self->config->{$abbrv_class} || $self->config->{$class};
+ return $config;
+}
+
+1;
+
+__END__
+
+=head1 AUTHORS
+
+Steve Purkis.
=head1 SEE ALSO
L<TAP::Object>,
L<TAP::Parser>,
-L<TAP::Parser::Source::Perl>,
+L<TAP::Parser::IteratorFactory>,
+L<TAP::Parser::SourceHandler>
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Source/Perl.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Source/Perl.pm
deleted file mode 100644
index 1f4f2e1428c..00000000000
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Source/Perl.pm
+++ /dev/null
@@ -1,326 +0,0 @@
-package TAP::Parser::Source::Perl;
-
-use strict;
-use Config;
-use vars qw($VERSION @ISA);
-
-use constant IS_WIN32 => ( $^O =~ /^(MS)?Win32$/ );
-use constant IS_VMS => ( $^O eq 'VMS' );
-
-use TAP::Parser::Source;
-use TAP::Parser::Utils qw( split_shell );
-
-@ISA = 'TAP::Parser::Source';
-
-=head1 NAME
-
-TAP::Parser::Source::Perl - Stream Perl output
-
-=head1 VERSION
-
-Version 3.17
-
-=cut
-
-$VERSION = '3.17';
-
-=head1 SYNOPSIS
-
- use TAP::Parser::Source::Perl;
- my $perl = TAP::Parser::Source::Perl->new;
- my $stream = $perl->source( [ $filename, @args ] )->get_stream;
-
-=head1 DESCRIPTION
-
-Takes a filename and hopefully returns a stream from it. The filename should
-be the name of a Perl program.
-
-Note that this is a subclass of L<TAP::Parser::Source>. See that module for
-more methods.
-
-=head1 METHODS
-
-=head2 Class Methods
-
-=head3 C<new>
-
- my $perl = TAP::Parser::Source::Perl->new;
-
-Returns a new C<TAP::Parser::Source::Perl> object.
-
-=head2 Instance Methods
-
-=head3 C<source>
-
-Getter/setter the name of the test program and any arguments it requires.
-
- my ($filename, @args) = @{ $perl->source };
- $perl->source( [ $filename, @args ] );
-
-C<croak>s if C<$filename> could not be found.
-
-=cut
-
-sub source {
- my $self = shift;
- $self->_croak("Cannot find ($_[0][0])")
- if @_ && !-f $_[0][0];
- return $self->SUPER::source(@_);
-}
-
-=head3 C<switches>
-
- my $switches = $perl->switches;
- my @switches = $perl->switches;
- $perl->switches( \@switches );
-
-Getter/setter for the additional switches to pass to the perl executable. One
-common switch would be to set an include directory:
-
- $perl->switches( ['-Ilib'] );
-
-=cut
-
-sub switches {
- my $self = shift;
- unless (@_) {
- return wantarray ? @{ $self->{switches} } : $self->{switches};
- }
- my $switches = shift;
- $self->{switches} = [@$switches]; # force a copy
- return $self;
-}
-
-##############################################################################
-
-=head3 C<get_stream>
-
- my $stream = $source->get_stream($parser);
-
-Returns a stream of the output generated by executing C<source>. Must be
-passed an object that implements a C<make_iterator> method. Typically
-this is a TAP::Parser instance.
-
-=cut
-
-sub get_stream {
- my ( $self, $factory ) = @_;
-
- my @switches = $self->_switches;
- my $path_sep = $Config{path_sep};
- my $path_pat = qr{$path_sep};
-
- # Filter out any -I switches to be handled as libs later.
- #
- # Nasty kludge. It might be nicer if we got the libs separately
- # although at least this way we find any -I switches that were
- # supplied other then as explicit libs.
- #
- # We filter out any names containing colons because they will break
- # PERL5LIB
- my @libs;
- my @filtered_switches;
- for (@switches) {
- if ( !/$path_pat/ && / ^ ['"]? -I ['"]? (.*?) ['"]? $ /x ) {
- push @libs, $1;
- }
- else {
- push @filtered_switches, $_;
- }
- }
- @switches = @filtered_switches;
-
- my $setup = sub {
- if (@libs) {
- $ENV{PERL5LIB}
- = join( $path_sep, grep {defined} @libs, $ENV{PERL5LIB} );
- }
- };
-
- # Cargo culted from comments seen elsewhere about VMS / environment
- # variables. I don't know if this is actually necessary.
- my $previous = $ENV{PERL5LIB};
- my $teardown = sub {
- if ( defined $previous ) {
- $ENV{PERL5LIB} = $previous;
- }
- else {
- delete $ENV{PERL5LIB};
- }
- };
-
- # Taint mode ignores environment variables so we must retranslate
- # PERL5LIB as -I switches and place PERL5OPT on the command line
- # in order that it be seen.
- if ( grep { $_ eq "-T" || $_ eq "-t" } @switches ) {
- push @switches, $self->_libs2switches(@libs);
- push @switches, split_shell( $ENV{PERL5OPT} );
- }
-
- my @command = $self->_get_command_for_switches(@switches)
- or $self->_croak("No command found!");
-
- return $factory->make_iterator(
- { command => \@command,
- merge => $self->merge,
- setup => $setup,
- teardown => $teardown,
- }
- );
-}
-
-sub _get_command_for_switches {
- my $self = shift;
- my @switches = @_;
- my ( $file, @args ) = @{ $self->source };
- my $command = $self->_get_perl;
-
-# XXX we never need to quote if we treat the parts as atoms (except maybe vms)
-#$file = qq["$file"] if ( $file =~ /\s/ ) && ( $file !~ /^".*"$/ );
- my @command = ( $command, @switches, $file, @args );
- return @command;
-}
-
-sub _get_command {
- my $self = shift;
- return $self->_get_command_for_switches( $self->_switches );
-}
-
-sub _libs2switches {
- my $self = shift;
- return map {"-I$_"} grep {$_} @_;
-}
-
-=head3 C<shebang>
-
-Get the shebang line for a script file.
-
- my $shebang = TAP::Parser::Source::Perl->shebang( $some_script );
-
-May be called as a class method
-
-=cut
-
-{
-
- # Global shebang cache.
- my %shebang_for;
-
- sub _read_shebang {
- my $file = shift;
- local *TEST;
- my $shebang;
- if ( open( TEST, $file ) ) {
- $shebang = <TEST>;
- close(TEST) or print "Can't close $file. $!\n";
- }
- else {
- print "Can't open $file. $!\n";
- }
- return $shebang;
- }
-
- sub shebang {
- my ( $class, $file ) = @_;
- unless ( exists $shebang_for{$file} ) {
- $shebang_for{$file} = _read_shebang($file);
- }
- return $shebang_for{$file};
- }
-}
-
-=head3 C<get_taint>
-
-Decode any taint switches from a Perl shebang line.
-
- # $taint will be 't'
- my $taint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl -t' );
-
- # $untaint will be undefined
- my $untaint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl' );
-
-=cut
-
-sub get_taint {
- my ( $class, $shebang ) = @_;
- return
- unless defined $shebang
- && $shebang =~ /^#!.*\bperl.*\s-\w*([Tt]+)/;
- return $1;
-}
-
-sub _switches {
- my $self = shift;
- my ( $file, @args ) = @{ $self->source };
- my @switches = (
- $self->switches,
- );
-
- my $shebang = $self->shebang($file);
- return unless defined $shebang;
-
- my $taint = $self->get_taint($shebang);
- push @switches, "-$taint" if defined $taint;
-
- # Quote the argument if we're VMS, since VMS will downcase anything
- # not quoted.
- if (IS_VMS) {
- for (@switches) {
- $_ = qq["$_"];
- }
- }
-
- return @switches;
-}
-
-sub _get_perl {
- my $self = shift;
- return $ENV{HARNESS_PERL} if defined $ENV{HARNESS_PERL};
- return Win32::GetShortPathName($^X) if IS_WIN32;
- return $^X;
-}
-
-1;
-
-=head1 SUBCLASSING
-
-Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
-
-=head2 Example
-
- package MyPerlSource;
-
- use strict;
- use vars '@ISA';
-
- use Carp qw( croak );
- use TAP::Parser::Source::Perl;
-
- @ISA = qw( TAP::Parser::Source::Perl );
-
- sub source {
- my ($self, $args) = @_;
- if ($args) {
- $self->{file} = $args->[0];
- return $self->SUPER::source($args);
- }
- return $self->SUPER::source;
- }
-
- # use the version of perl from the shebang line in the test file
- sub _get_perl {
- my $self = shift;
- if (my $shebang = $self->shebang( $self->{file} )) {
- $shebang =~ /^#!(.*\bperl.*?)(?:(?:\s)|(?:$))/;
- return $1 if $1;
- }
- return $self->SUPER::_get_perl(@_);
- }
-
-=head1 SEE ALSO
-
-L<TAP::Object>,
-L<TAP::Parser>,
-L<TAP::Parser::Source>,
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm
new file mode 100644
index 00000000000..acacb0b417e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler.pm
@@ -0,0 +1,194 @@
+package TAP::Parser::SourceHandler;
+
+use strict;
+use vars qw($VERSION @ISA);
+
+use TAP::Object ();
+use TAP::Parser::Iterator ();
+
+@ISA = qw(TAP::Object);
+
+=head1 NAME
+
+TAP::Parser::SourceHandler - Base class for different TAP source handlers
+
+=head1 VERSION
+
+Version 3.23
+
+=cut
+
+$VERSION = '3.23';
+
+=head1 SYNOPSIS
+
+ # abstract class - don't use directly!
+ # see TAP::Parser::IteratorFactory for general usage
+
+ # must be sub-classed for use
+ package MySourceHandler;
+ use base qw( TAP::Parser::SourceHandler );
+ sub can_handle { return $confidence_level }
+ sub make_iterator { return $iterator }
+
+ # see example below for more details
+
+=head1 DESCRIPTION
+
+This is an abstract base class for L<TAP::Parser::Source> handlers / handlers.
+
+A C<TAP::Parser::SourceHandler> does whatever is necessary to produce & capture
+a stream of TAP from the I<raw> source, and package it up in a
+L<TAP::Parser::Iterator> for the parser to consume.
+
+C<SourceHandlers> must implement the I<source detection & handling> interface
+used by L<TAP::Parser::IteratorFactory>. At 2 methods, the interface is pretty
+simple: L</can_handle> and L</make_source>.
+
+Unless you're writing a new L<TAP::Parser::SourceHandler>, a plugin, or
+subclassing L<TAP::Parser>, you probably won't need to use this module directly.
+
+=head1 METHODS
+
+=head2 Class Methods
+
+=head3 C<can_handle>
+
+I<Abstract method>.
+
+ my $vote = $class->can_handle( $source );
+
+C<$source> is a L<TAP::Parser::Source>.
+
+Returns a number between C<0> & C<1> reflecting how confidently the raw source
+can be handled. For example, C<0> means the source cannot handle it, C<0.5>
+means it may be able to, and C<1> means it definitely can. See
+L<TAP::Parser::IteratorFactory/detect_source> for details on how this is used.
+
+=cut
+
+sub can_handle {
+ my ( $class, $args ) = @_;
+ $class->_croak(
+ "Abstract method 'can_handle' not implemented for $class!");
+ return;
+}
+
+=head3 C<make_iterator>
+
+I<Abstract method>.
+
+ my $iterator = $class->make_iterator( $source );
+
+C<$source> is a L<TAP::Parser::Source>.
+
+Returns a new L<TAP::Parser::Iterator> object for use by the L<TAP::Parser>.
+C<croak>s on error.
+
+=cut
+
+sub make_iterator {
+ my ( $class, $args ) = @_;
+ $class->_croak(
+ "Abstract method 'make_iterator' not implemented for $class!");
+ return;
+}
+1;
+
+__END__
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview, and any
+of the subclasses that ship with this module as an example. What follows is
+a quick overview.
+
+Start by familiarizing yourself with L<TAP::Parser::Source> and
+L<TAP::Parser::IteratorFactory>. L<TAP::Parser::SourceHandler::RawTAP> is
+the easiest sub-class to use an an example.
+
+It's important to point out that if you want your subclass to be automatically
+used by L<TAP::Parser> you'll have to and make sure it gets loaded somehow.
+If you're using L<prove> you can write an L<App::Prove> plugin. If you're
+using L<TAP::Parser> or L<TAP::Harness> directly (e.g. through a custom script,
+L<ExtUtils::MakeMaker>, or L<Module::Build>) you can use the C<config> option
+which will cause L<TAP::Parser::IteratorFactory/load_sources> to load your
+subclass).
+
+Don't forget to register your class with
+L<TAP::Parser::IteratorFactory/register_handler>.
+
+=head2 Example
+
+ package MySourceHandler;
+
+ use strict;
+ use vars '@ISA'; # compat with older perls
+
+ use MySourceHandler; # see TAP::Parser::SourceHandler
+ use TAP::Parser::IteratorFactory;
+
+ @ISA = qw( TAP::Parser::SourceHandler );
+
+ TAP::Parser::IteratorFactory->register_handler( __PACKAGE__ );
+
+ sub can_handle {
+ my ( $class, $src ) = @_;
+ my $meta = $src->meta;
+ my $config = $src->config_for( $class );
+
+ if ($config->{accept_all}) {
+ return 1.0;
+ } elsif (my $file = $meta->{file}) {
+ return 0.0 unless $file->{exists};
+ return 1.0 if $file->{lc_ext} eq '.tap';
+ return 0.9 if $file->{shebang} && $file->{shebang} =~ /^#!.+tap/;
+ return 0.5 if $file->{text};
+ return 0.1 if $file->{binary};
+ } elsif ($meta->{scalar}) {
+ return 0.8 if $$raw_source_ref =~ /\d\.\.\d/;
+ return 0.6 if $meta->{has_newlines};
+ } elsif ($meta->{array}) {
+ return 0.8 if $meta->{size} < 5;
+ return 0.6 if $raw_source_ref->[0] =~ /foo/;
+ return 0.5;
+ } elsif ($meta->{hash}) {
+ return 0.6 if $raw_source_ref->{foo};
+ return 0.2;
+ }
+
+ return 0;
+ }
+
+ sub make_iterator {
+ my ($class, $source) = @_;
+ # this is where you manipulate the source and
+ # capture the stream of TAP in an iterator
+ # either pick a TAP::Parser::Iterator::* or write your own...
+ my $iterator = TAP::Parser::Iterator::Array->new([ 'foo', 'bar' ]);
+ return $iterator;
+ }
+
+ 1;
+
+=head1 AUTHORS
+
+TAPx Developers.
+
+Source detection stuff added by Steve Purkis
+
+=head1 SEE ALSO
+
+L<TAP::Object>,
+L<TAP::Parser>,
+L<TAP::Parser::Source>,
+L<TAP::Parser::Iterator>,
+L<TAP::Parser::IteratorFactory>,
+L<TAP::Parser::SourceHandler::Executable>,
+L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::File>,
+L<TAP::Parser::SourceHandler::Handle>,
+L<TAP::Parser::SourceHandler::RawTAP>
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm
new file mode 100644
index 00000000000..8537ba18bf5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Executable.pm
@@ -0,0 +1,186 @@
+package TAP::Parser::SourceHandler::Executable;
+
+use strict;
+use vars qw($VERSION @ISA);
+
+use TAP::Parser::SourceHandler ();
+use TAP::Parser::IteratorFactory ();
+use TAP::Parser::Iterator::Process ();
+
+@ISA = qw(TAP::Parser::SourceHandler);
+
+TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
+
+=head1 NAME
+
+TAP::Parser::SourceHandler::Executable - Stream output from an executable TAP source
+
+=head1 VERSION
+
+Version 3.23
+
+=cut
+
+$VERSION = '3.23';
+
+=head1 SYNOPSIS
+
+ use TAP::Parser::Source;
+ use TAP::Parser::SourceHandler::Executable;
+
+ my $source = TAP::Parser::Source->new->raw(['/usr/bin/ruby', 'mytest.rb']);
+ $source->assemble_meta;
+
+ my $class = 'TAP::Parser::SourceHandler::Executable';
+ my $vote = $class->can_handle( $source );
+ my $iter = $class->make_iterator( $source );
+
+=head1 DESCRIPTION
+
+This is an I<executable> L<TAP::Parser::SourceHandler> - it has 2 jobs:
+
+1. Figure out if the L<TAP::Parser::Source> it's given is an executable
+ command (L</can_handle>).
+
+2. Creates an iterator for executable commands (L</make_iterator>).
+
+Unless you're writing a plugin or subclassing L<TAP::Parser>, you
+probably won't need to use this module directly.
+
+=head1 METHODS
+
+=head2 Class Methods
+
+=head3 C<can_handle>
+
+ my $vote = $class->can_handle( $source );
+
+Only votes if $source looks like an executable file. Casts the
+following votes:
+
+ 0.9 if it's a hash with an 'exec' key
+ 0.8 if it's a .bat file
+ 0.75 if it's got an execute bit set
+
+=cut
+
+sub can_handle {
+ my ( $class, $src ) = @_;
+ my $meta = $src->meta;
+
+ if ( $meta->{is_file} ) {
+ my $file = $meta->{file};
+
+ return 0.85 if $file->{execute} && $file->{binary};
+ return 0.8 if $file->{lc_ext} eq '.bat';
+ return 0.25 if $file->{execute};
+ }
+ elsif ( $meta->{is_hash} ) {
+ return 0.9 if $src->raw->{exec};
+ }
+
+ return 0;
+}
+
+=head3 C<make_iterator>
+
+ my $iterator = $class->make_iterator( $source );
+
+Returns a new L<TAP::Parser::Iterator::Process> for the source.
+C<$source-E<gt>raw> must be in one of the following forms:
+
+ { exec => [ @exec ] }
+
+ [ @exec ]
+
+ $file
+
+C<croak>s on error.
+
+=cut
+
+sub make_iterator {
+ my ( $class, $source ) = @_;
+ my $meta = $source->meta;
+
+ my @command;
+ if ( $meta->{is_hash} ) {
+ @command = @{ $source->raw->{exec} || [] };
+ }
+ elsif ( $meta->{is_scalar} ) {
+ @command = ${ $source->raw };
+ }
+ elsif ( $meta->{is_array} ) {
+ @command = @{ $source->raw };
+ }
+
+ $class->_croak('No command found in $source->raw!') unless @command;
+
+ $class->_autoflush( \*STDOUT );
+ $class->_autoflush( \*STDERR );
+
+ push @command, @{ $source->test_args || [] };
+
+ return $class->iterator_class->new(
+ { command => \@command,
+ merge => $source->merge
+ }
+ );
+}
+
+=head3 C<iterator_class>
+
+The class of iterator to use, override if you're sub-classing. Defaults
+to L<TAP::Parser::Iterator::Process>.
+
+=cut
+
+use constant iterator_class => 'TAP::Parser::Iterator::Process';
+
+# Turns on autoflush for the handle passed
+sub _autoflush {
+ my ( $class, $flushed ) = @_;
+ my $old_fh = select $flushed;
+ $| = 1;
+ select $old_fh;
+}
+
+1;
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+
+=head2 Example
+
+ package MyRubySourceHandler;
+
+ use strict;
+ use vars '@ISA';
+
+ use Carp qw( croak );
+ use TAP::Parser::SourceHandler::Executable;
+
+ @ISA = qw( TAP::Parser::SourceHandler::Executable );
+
+ # expect $handler->(['mytest.rb', 'cmdline', 'args']);
+ sub make_iterator {
+ my ($self, $source) = @_;
+ my @test_args = @{ $source->test_args };
+ my $rb_file = $test_args[0];
+ croak("error: Ruby file '$rb_file' not found!") unless (-f $rb_file);
+ return $self->SUPER::raw_source(['/usr/bin/ruby', @test_args]);
+ }
+
+=head1 SEE ALSO
+
+L<TAP::Object>,
+L<TAP::Parser>,
+L<TAP::Parser::IteratorFactory>,
+L<TAP::Parser::SourceHandler>,
+L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::File>,
+L<TAP::Parser::SourceHandler::Handle>,
+L<TAP::Parser::SourceHandler::RawTAP>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm
new file mode 100644
index 00000000000..ab08eb2922f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/File.pm
@@ -0,0 +1,136 @@
+package TAP::Parser::SourceHandler::File;
+
+use strict;
+use vars qw($VERSION @ISA);
+
+use TAP::Parser::SourceHandler ();
+use TAP::Parser::IteratorFactory ();
+use TAP::Parser::Iterator::Stream ();
+
+@ISA = qw(TAP::Parser::SourceHandler);
+
+TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
+
+=head1 NAME
+
+TAP::Parser::SourceHandler::File - Stream TAP from a text file.
+
+=head1 VERSION
+
+Version 3.23
+
+=cut
+
+$VERSION = '3.23';
+
+=head1 SYNOPSIS
+
+ use TAP::Parser::Source;
+ use TAP::Parser::SourceHandler::File;
+
+ my $source = TAP::Parser::Source->new->raw( \'file.tap' );
+ $source->assemble_meta;
+
+ my $class = 'TAP::Parser::SourceHandler::File';
+ my $vote = $class->can_handle( $source );
+ my $iter = $class->make_iterator( $source );
+
+=head1 DESCRIPTION
+
+This is a I<raw TAP stored in a file> L<TAP::Parser::SourceHandler> - it has 2 jobs:
+
+1. Figure out if the I<raw> source it's given is a file containing raw TAP
+output. See L<TAP::Parser::IteratorFactory> for more details.
+
+2. Takes raw TAP from the text file given, and converts into an iterator.
+
+Unless you're writing a plugin or subclassing L<TAP::Parser>, you probably
+won't need to use this module directly.
+
+=head1 METHODS
+
+=head2 Class Methods
+
+=head3 C<can_handle>
+
+ my $vote = $class->can_handle( $source );
+
+Only votes if $source looks like a regular file. Casts the following votes:
+
+ 0.9 if it's a .tap file
+ 0.9 if it has an extension matching any given in user config.
+
+=cut
+
+sub can_handle {
+ my ( $class, $src ) = @_;
+ my $meta = $src->meta;
+ my $config = $src->config_for($class);
+
+ return 0 unless $meta->{is_file};
+ my $file = $meta->{file};
+ return 0.9 if $file->{lc_ext} eq '.tap';
+
+ if ( my $exts = $config->{extensions} ) {
+ return 0.9 if grep { lc($_) eq $file->{lc_ext} } @$exts;
+ }
+
+ return 0;
+}
+
+=head3 C<make_iterator>
+
+ my $iterator = $class->make_iterator( $source );
+
+Returns a new L<TAP::Parser::Iterator::Stream> for the source. C<croak>s
+on error.
+
+=cut
+
+sub make_iterator {
+ my ( $class, $source ) = @_;
+
+ $class->_croak('$source->raw must be a scalar ref')
+ unless $source->meta->{is_scalar};
+
+ my $file = ${ $source->raw };
+ my $fh;
+ open( $fh, '<', $file )
+ or $class->_croak("error opening TAP source file '$file': $!");
+ return $class->iterator_class->new($fh);
+}
+
+=head3 C<iterator_class>
+
+The class of iterator to use, override if you're sub-classing. Defaults
+to L<TAP::Parser::Iterator::Stream>.
+
+=cut
+
+use constant iterator_class => 'TAP::Parser::Iterator::Stream';
+
+1;
+
+__END__
+
+=head1 CONFIGURATION
+
+ {
+ extensions => [ @case_insensitive_exts_to_match ]
+ }
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+
+=head1 SEE ALSO
+
+L<TAP::Object>,
+L<TAP::Parser>,
+L<TAP::Parser::SourceHandler>,
+L<TAP::Parser::SourceHandler::Executable>,
+L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::Handle>,
+L<TAP::Parser::SourceHandler::RawTAP>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm
new file mode 100644
index 00000000000..fc2e65461ca
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Handle.pm
@@ -0,0 +1,125 @@
+package TAP::Parser::SourceHandler::Handle;
+
+use strict;
+use vars qw($VERSION @ISA);
+
+use TAP::Parser::SourceHandler ();
+use TAP::Parser::IteratorFactory ();
+use TAP::Parser::Iterator::Stream ();
+
+@ISA = qw(TAP::Parser::SourceHandler);
+
+TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
+
+=head1 NAME
+
+TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a GLOB.
+
+=head1 VERSION
+
+Version 3.23
+
+=cut
+
+$VERSION = '3.23';
+
+=head1 SYNOPSIS
+
+ use TAP::Parser::Source;
+ use TAP::Parser::SourceHandler::Executable;
+
+ my $source = TAP::Parser::Source->new->raw( \*TAP_FILE );
+ $source->assemble_meta;
+
+ my $class = 'TAP::Parser::SourceHandler::Handle';
+ my $vote = $class->can_handle( $source );
+ my $iter = $class->make_iterator( $source );
+
+=head1 DESCRIPTION
+
+This is a I<raw TAP stored in an IO Handle> L<TAP::Parser::SourceHandler> class. It
+has 2 jobs:
+
+1. Figure out if the L<TAP::Parser::Source> it's given is an L<IO::Handle> or
+GLOB containing raw TAP output (L</can_handle>).
+
+2. Creates an iterator for IO::Handle's & globs (L</make_iterator>).
+
+Unless you're writing a plugin or subclassing L<TAP::Parser>, you probably
+won't need to use this module directly.
+
+=head1 METHODS
+
+=head2 Class Methods
+
+=head3 C<can_handle>
+
+ my $vote = $class->can_handle( $source );
+
+Casts the following votes:
+
+ 0.9 if $source is an IO::Handle
+ 0.8 if $source is a glob
+
+=cut
+
+sub can_handle {
+ my ( $class, $src ) = @_;
+ my $meta = $src->meta;
+
+ return 0.9
+ if $meta->{is_object}
+ && UNIVERSAL::isa( $src->raw, 'IO::Handle' );
+
+ return 0.8 if $meta->{is_glob};
+
+ return 0;
+}
+
+=head3 C<make_iterator>
+
+ my $iterator = $class->make_iterator( $source );
+
+Returns a new L<TAP::Parser::Iterator::Stream> for the source.
+
+=cut
+
+sub make_iterator {
+ my ( $class, $source ) = @_;
+
+ $class->_croak('$source->raw must be a glob ref or an IO::Handle')
+ unless $source->meta->{is_glob}
+ || UNIVERSAL::isa( $source->raw, 'IO::Handle' );
+
+ return $class->iterator_class->new( $source->raw );
+}
+
+=head3 C<iterator_class>
+
+The class of iterator to use, override if you're sub-classing. Defaults
+to L<TAP::Parser::Iterator::Stream>.
+
+=cut
+
+use constant iterator_class => 'TAP::Parser::Iterator::Stream';
+
+1;
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+
+=head1 SEE ALSO
+
+L<TAP::Object>,
+L<TAP::Parser>,
+L<TAP::Parser::Iterator>,
+L<TAP::Parser::Iterator::Stream>,
+L<TAP::Parser::IteratorFactory>,
+L<TAP::Parser::SourceHandler>,
+L<TAP::Parser::SourceHandler::Executable>,
+L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::File>,
+L<TAP::Parser::SourceHandler::RawTAP>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm
new file mode 100644
index 00000000000..9721acf9f11
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/Perl.pm
@@ -0,0 +1,362 @@
+package TAP::Parser::SourceHandler::Perl;
+
+use strict;
+use Config;
+use vars qw($VERSION @ISA);
+
+use constant IS_WIN32 => ( $^O =~ /^(MS)?Win32$/ );
+use constant IS_VMS => ( $^O eq 'VMS' );
+
+use TAP::Parser::SourceHandler::Executable ();
+use TAP::Parser::IteratorFactory ();
+use TAP::Parser::Iterator::Process ();
+use TAP::Parser::Utils qw( split_shell );
+
+@ISA = 'TAP::Parser::SourceHandler::Executable';
+
+TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
+
+=head1 NAME
+
+TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
+
+=head1 VERSION
+
+Version 3.23
+
+=cut
+
+$VERSION = '3.23';
+
+=head1 SYNOPSIS
+
+ use TAP::Parser::Source;
+ use TAP::Parser::SourceHandler::Perl;
+
+ my $source = TAP::Parser::Source->new->raw( \'script.pl' );
+ $source->assemble_meta;
+
+ my $class = 'TAP::Parser::SourceHandler::Perl';
+ my $vote = $class->can_handle( $source );
+ my $iter = $class->make_iterator( $source );
+
+=head1 DESCRIPTION
+
+This is a I<Perl> L<TAP::Parser::SourceHandler> - it has 2 jobs:
+
+1. Figure out if the L<TAP::Parser::Source> it's given is actually a Perl
+script (L</can_handle>).
+
+2. Creates an iterator for Perl sources (L</make_iterator>).
+
+Unless you're writing a plugin or subclassing L<TAP::Parser>, you probably
+won't need to use this module directly.
+
+=head1 METHODS
+
+=head2 Class Methods
+
+=head3 C<can_handle>
+
+ my $vote = $class->can_handle( $source );
+
+Only votes if $source looks like a file. Casts the following votes:
+
+ 0.9 if it has a shebang ala "#!...perl"
+ 0.75 if it has any shebang
+ 0.8 if it's a .t file
+ 0.9 if it's a .pl file
+ 0.75 if it's in a 't' directory
+ 0.25 by default (backwards compat)
+
+=cut
+
+sub can_handle {
+ my ( $class, $source ) = @_;
+ my $meta = $source->meta;
+
+ return 0 unless $meta->{is_file};
+ my $file = $meta->{file};
+
+ if ( my $shebang = $file->{shebang} ) {
+ return 0.9 if $shebang =~ /^#!.*\bperl/;
+ # We favour Perl as the interpreter for any shebang to preserve
+ # previous semantics: we used to execute everything via Perl and
+ # relied on it to pass the shebang off to the appropriate
+ # interpreter.
+ return 0.3;
+ }
+
+ return 0.8 if $file->{lc_ext} eq '.t'; # vote higher than Executable
+ return 0.9 if $file->{lc_ext} eq '.pl';
+
+ return 0.75 if $file->{dir} =~ /^t\b/; # vote higher than Executable
+
+ # backwards compat, always vote:
+ return 0.25;
+}
+
+=head3 C<make_iterator>
+
+ my $iterator = $class->make_iterator( $source );
+
+Constructs & returns a new L<TAP::Parser::Iterator::Process> for the source.
+Assumes C<$source-E<gt>raw> contains a reference to the perl script. C<croak>s
+if the file could not be found.
+
+The command to run is built as follows:
+
+ $perl @switches $perl_script @test_args
+
+The perl command to use is determined by L</get_perl>. The command generated
+is guaranteed to preserve:
+
+ PERL5LIB
+ PERL5OPT
+ Taint Mode, if set in the script's shebang
+
+I<Note:> the command generated will I<not> respect any shebang line defined in
+your Perl script. This is only a problem if you have compiled a custom version
+of Perl or if you want to use a specific version of Perl for one test and a
+different version for another, for example:
+
+ #!/path/to/a/custom_perl --some --args
+ #!/usr/local/perl-5.6/bin/perl -w
+
+Currently you need to write a plugin to get around this.
+
+=cut
+
+sub _autoflush_stdhandles {
+ my ($class) = @_;
+
+ $class->_autoflush( \*STDOUT );
+ $class->_autoflush( \*STDERR );
+}
+
+sub make_iterator {
+ my ( $class, $source ) = @_;
+ my $meta = $source->meta;
+ my $perl_script = ${ $source->raw };
+
+ $class->_croak("Cannot find ($perl_script)") unless $meta->{is_file};
+
+ # TODO: does this really need to be done here?
+ $class->_autoflush_stdhandles;
+
+ my ( $libs, $switches )
+ = $class->_mangle_switches(
+ $class->_filter_libs( $class->_switches($source) ) );
+
+ $class->_run( $source, $libs, $switches );
+}
+
+sub _mangle_switches {
+ my ( $class, $libs, $switches ) = @_;
+
+ # Taint mode ignores environment variables so we must retranslate
+ # PERL5LIB as -I switches and place PERL5OPT on the command line
+ # in order that it be seen.
+ if ( grep { $_ eq "-T" || $_ eq "-t" } @{$switches} ) {
+ return (
+ $libs,
+ [ @{$switches},
+ $class->_libs2switches($libs),
+ split_shell( $ENV{PERL5OPT} )
+ ],
+ );
+ }
+
+ return ( $libs, $switches );
+}
+
+sub _filter_libs {
+ my ( $class, @switches ) = @_;
+
+ my $path_sep = $Config{path_sep};
+ my $path_re = qr{$path_sep};
+
+ # Filter out any -I switches to be handled as libs later.
+ #
+ # Nasty kludge. It might be nicer if we got the libs separately
+ # although at least this way we find any -I switches that were
+ # supplied other then as explicit libs.
+ #
+ # We filter out any names containing colons because they will break
+ # PERL5LIB
+ my @libs;
+ my @filtered_switches;
+ for (@switches) {
+ if ( !/$path_re/ && m/ ^ ['"]? -I ['"]? (.*?) ['"]? $ /x ) {
+ push @libs, $1;
+ }
+ else {
+ push @filtered_switches, $_;
+ }
+ }
+
+ return \@libs, \@filtered_switches;
+}
+
+sub _iterator_hooks {
+ my ( $class, $source, $libs ) = @_;
+
+ my $setup = sub {
+ if ( @{$libs} ) {
+ $ENV{PERL5LIB} = join(
+ $Config{path_sep}, grep {defined} @{$libs},
+ $ENV{PERL5LIB}
+ );
+ }
+ };
+
+ # Cargo culted from comments seen elsewhere about VMS / environment
+ # variables. I don't know if this is actually necessary.
+ my $previous = $ENV{PERL5LIB};
+ my $teardown = sub {
+ if ( defined $previous ) {
+ $ENV{PERL5LIB} = $previous;
+ }
+ else {
+ delete $ENV{PERL5LIB};
+ }
+ };
+
+ return ( $setup, $teardown );
+}
+
+sub _run {
+ my ( $class, $source, $libs, $switches ) = @_;
+
+ my @command = $class->_get_command_for_switches( $source, $switches )
+ or $class->_croak("No command found!");
+
+ my ( $setup, $teardown ) = $class->_iterator_hooks( $source, $libs );
+
+ return $class->_create_iterator( $source, \@command, $setup, $teardown );
+}
+
+sub _create_iterator {
+ my ( $class, $source, $command, $setup, $teardown ) = @_;
+
+ return TAP::Parser::Iterator::Process->new(
+ { command => $command,
+ merge => $source->merge,
+ setup => $setup,
+ teardown => $teardown,
+ }
+ );
+}
+
+sub _get_command_for_switches {
+ my ( $class, $source, $switches ) = @_;
+ my $file = ${ $source->raw };
+ my @args = @{ $source->test_args || [] };
+ my $command = $class->get_perl;
+
+ # XXX don't need to quote if we treat the parts as atoms (except maybe vms)
+ #$file = qq["$file"] if ( $file =~ /\s/ ) && ( $file !~ /^".*"$/ );
+ my @command = ( $command, @{$switches}, $file, @args );
+ return @command;
+}
+
+sub _libs2switches {
+ my $class = shift;
+ return map {"-I$_"} grep {$_} @{ $_[0] };
+}
+
+=head3 C<get_taint>
+
+Decode any taint switches from a Perl shebang line.
+
+ # $taint will be 't'
+ my $taint = TAP::Parser::SourceHandler::Perl->get_taint( '#!/usr/bin/perl -t' );
+
+ # $untaint will be undefined
+ my $untaint = TAP::Parser::SourceHandler::Perl->get_taint( '#!/usr/bin/perl' );
+
+=cut
+
+sub get_taint {
+ my ( $class, $shebang ) = @_;
+ return
+ unless defined $shebang
+ && $shebang =~ /^#!.*\bperl.*\s-\w*([Tt]+)/;
+ return $1;
+}
+
+sub _switches {
+ my ( $class, $source ) = @_;
+ my $file = ${ $source->raw };
+ my @switches = @{ $source->switches || [] };
+ my $shebang = $source->meta->{file}->{shebang};
+ return unless defined $shebang;
+
+ my $taint = $class->get_taint($shebang);
+ push @switches, "-$taint" if defined $taint;
+
+ # Quote the argument if we're VMS, since VMS will downcase anything
+ # not quoted.
+ if (IS_VMS) {
+ for (@switches) {
+ $_ = qq["$_"];
+ }
+ }
+
+ return @switches;
+}
+
+=head3 C<get_perl>
+
+Gets the version of Perl currently running the test suite.
+
+=cut
+
+sub get_perl {
+ my $class = shift;
+ return $ENV{HARNESS_PERL} if defined $ENV{HARNESS_PERL};
+ return Win32::GetShortPathName($^X) if IS_WIN32;
+ return $^X;
+}
+
+1;
+
+__END__
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+
+=head2 Example
+
+ package MyPerlSourceHandler;
+
+ use strict;
+ use vars '@ISA';
+
+ use TAP::Parser::SourceHandler::Perl;
+
+ @ISA = qw( TAP::Parser::SourceHandler::Perl );
+
+ # use the version of perl from the shebang line in the test file
+ sub get_perl {
+ my $self = shift;
+ if (my $shebang = $self->shebang( $self->{file} )) {
+ $shebang =~ /^#!(.*\bperl.*?)(?:(?:\s)|(?:$))/;
+ return $1 if $1;
+ }
+ return $self->SUPER::get_perl(@_);
+ }
+
+=head1 SEE ALSO
+
+L<TAP::Object>,
+L<TAP::Parser>,
+L<TAP::Parser::IteratorFactory>,
+L<TAP::Parser::SourceHandler>,
+L<TAP::Parser::SourceHandler::Executable>,
+L<TAP::Parser::SourceHandler::File>,
+L<TAP::Parser::SourceHandler::Handle>,
+L<TAP::Parser::SourceHandler::RawTAP>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm
new file mode 100644
index 00000000000..0d7a4851ee8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/SourceHandler/RawTAP.pm
@@ -0,0 +1,131 @@
+package TAP::Parser::SourceHandler::RawTAP;
+
+use strict;
+use vars qw($VERSION @ISA);
+
+use TAP::Parser::SourceHandler ();
+use TAP::Parser::IteratorFactory ();
+use TAP::Parser::Iterator::Array ();
+
+@ISA = qw(TAP::Parser::SourceHandler);
+
+TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
+
+=head1 NAME
+
+TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a scalar/array ref.
+
+=head1 VERSION
+
+Version 3.23
+
+=cut
+
+$VERSION = '3.23';
+
+=head1 SYNOPSIS
+
+ use TAP::Parser::Source;
+ use TAP::Parser::SourceHandler::RawTAP;
+
+ my $source = TAP::Parser::Source->new->raw( \"1..1\nok 1\n" );
+ $source->assemble_meta;
+
+ my $class = 'TAP::Parser::SourceHandler::RawTAP';
+ my $vote = $class->can_handle( $source );
+ my $iter = $class->make_iterator( $source );
+
+=head1 DESCRIPTION
+
+This is a I<raw TAP output> L<TAP::Parser::SourceHandler> - it has 2 jobs:
+
+1. Figure out if the L<TAP::Parser::Source> it's given is raw TAP output
+(L</can_handle>).
+
+2. Creates an iterator for raw TAP output (L</make_iterator>).
+
+Unless you're writing a plugin or subclassing L<TAP::Parser>, you probably
+won't need to use this module directly.
+
+=head1 METHODS
+
+=head2 Class Methods
+
+=head3 C<can_handle>
+
+ my $vote = $class->can_handle( $source );
+
+Only votes if $source is an array, or a scalar with newlines. Casts the
+following votes:
+
+ 0.9 if it's a scalar with '..' in it
+ 0.7 if it's a scalar with 'ok' in it
+ 0.3 if it's just a scalar with newlines
+ 0.5 if it's an array
+
+=cut
+
+sub can_handle {
+ my ( $class, $src ) = @_;
+ my $meta = $src->meta;
+
+ return 0 if $meta->{file};
+ if ( $meta->{is_scalar} ) {
+ return 0 unless $meta->{has_newlines};
+ return 0.9 if ${ $src->raw } =~ /\d\.\.\d/;
+ return 0.7 if ${ $src->raw } =~ /ok/;
+ return 0.3;
+ }
+ elsif ( $meta->{is_array} ) {
+ return 0.5;
+ }
+ return 0;
+}
+
+=head3 C<make_iterator>
+
+ my $iterator = $class->make_iterator( $source );
+
+Returns a new L<TAP::Parser::Iterator::Array> for the source.
+C<$source-E<gt>raw> must be an array ref, or a scalar ref.
+
+C<croak>s on error.
+
+=cut
+
+sub make_iterator {
+ my ( $class, $src ) = @_;
+ my $meta = $src->meta;
+
+ my $tap_array;
+ if ( $meta->{is_scalar} ) {
+ $tap_array = [ split "\n" => ${ $src->raw } ];
+ }
+ elsif ( $meta->{is_array} ) {
+ $tap_array = $src->raw;
+ }
+
+ $class->_croak('No raw TAP found in $source->raw')
+ unless scalar $tap_array;
+
+ return TAP::Parser::Iterator::Array->new($tap_array);
+}
+
+1;
+
+=head1 SUBCLASSING
+
+Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview.
+
+=head1 SEE ALSO
+
+L<TAP::Object>,
+L<TAP::Parser>,
+L<TAP::Parser::IteratorFactory>,
+L<TAP::Parser::SourceHandler>,
+L<TAP::Parser::SourceHandler::Executable>,
+L<TAP::Parser::SourceHandler::Perl>,
+L<TAP::Parser::SourceHandler::File>,
+L<TAP::Parser::SourceHandler::Handle>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm
index a3d2dd1ea98..49a457a3783 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/Utils.pm
@@ -13,11 +13,11 @@ TAP::Parser::Utils - Internal TAP::Parser utilities
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm
index 524d7dca8df..82968b42b1d 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Reader.pm
@@ -6,7 +6,7 @@ use vars qw($VERSION @ISA);
use TAP::Object ();
@ISA = 'TAP::Object';
-$VERSION = '3.17';
+$VERSION = '3.23';
# TODO:
# Handle blessed object syntax
@@ -270,7 +270,7 @@ TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator
=head1 VERSION
-Version 3.17
+Version 3.23
=head1 SYNOPSIS
@@ -294,7 +294,7 @@ C<TAP::Parser::YAMLish::Reader> object.
=head3 C<read>
- my $got = $reader->read($stream);
+ my $got = $reader->read($iterator);
Read YAMLish from a L<TAP::Parser::Iterator> and return the data structure it
represents.
@@ -319,7 +319,7 @@ L<http://use.perl.org/~Alias/journal/29427>
=head1 COPYRIGHT
-Copyright 2007-2008 Andy Armstrong.
+Copyright 2007-2011 Andy Armstrong.
Portions copyright 2006-2008 Adam Kennedy.
diff --git a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm
index ed81f6d8191..dda5f1873eb 100644
--- a/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm
+++ b/Master/tlpkg/tlperl/lib/TAP/Parser/YAMLish/Writer.pm
@@ -6,7 +6,7 @@ use vars qw($VERSION @ISA);
use TAP::Object ();
@ISA = 'TAP::Object';
-$VERSION = '3.17';
+$VERSION = '3.23';
my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x;
my $ESCAPE_KEY = qr{ (?: ^\W ) | $ESCAPE_CHAR }x;
@@ -147,7 +147,7 @@ TAP::Parser::YAMLish::Writer - Write YAMLish data
=head1 VERSION
-Version 3.17
+Version 3.23
=head1 SYNOPSIS
@@ -243,7 +243,7 @@ L<http://use.perl.org/~Alias/journal/29427>
=head1 COPYRIGHT
-Copyright 2007-2008 Andy Armstrong.
+Copyright 2007-2011 Andy Armstrong.
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm b/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm
index 1ee7a1ef7ad..72b941f6211 100644
--- a/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm
+++ b/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm
@@ -1,6 +1,6 @@
# Term::ANSIColor -- Color screen output using ANSI escape sequences.
#
-# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009
+# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010
# Russ Allbery <rra@stanford.edu> and Zenin
# PUSH/POP support submitted 2007 by openmethods.com voice solutions
#
@@ -17,7 +17,7 @@
package Term::ANSIColor;
require 5.001;
-$VERSION = '2.02';
+$VERSION = '3.00';
use strict;
use vars qw($AUTOLOAD $AUTOLOCAL $AUTORESET @COLORLIST @COLORSTACK $EACHLINE
@@ -26,10 +26,21 @@ use vars qw($AUTOLOAD $AUTOLOCAL $AUTORESET @COLORLIST @COLORSTACK $EACHLINE
use Exporter ();
BEGIN {
- @COLORLIST = qw(CLEAR RESET BOLD DARK FAINT UNDERLINE UNDERSCORE BLINK
- REVERSE CONCEALED BLACK RED GREEN YELLOW BLUE MAGENTA
- CYAN WHITE ON_BLACK ON_RED ON_GREEN ON_YELLOW ON_BLUE
- ON_MAGENTA ON_CYAN ON_WHITE);
+ @COLORLIST = qw(
+ CLEAR RESET BOLD DARK
+ FAINT UNDERLINE UNDERSCORE BLINK
+ REVERSE CONCEALED
+
+ BLACK RED GREEN YELLOW
+ BLUE MAGENTA CYAN WHITE
+ ON_BLACK ON_RED ON_GREEN ON_YELLOW
+ ON_BLUE ON_MAGENTA ON_CYAN ON_WHITE
+
+ BRIGHT_BLACK BRIGHT_RED BRIGHT_GREEN BRIGHT_YELLOW
+ BRIGHT_BLUE BRIGHT_MAGENTA BRIGHT_CYAN BRIGHT_WHITE
+ ON_BRIGHT_BLACK ON_BRIGHT_RED ON_BRIGHT_GREEN ON_BRIGHT_YELLOW
+ ON_BRIGHT_BLUE ON_BRIGHT_MAGENTA ON_BRIGHT_CYAN ON_BRIGHT_WHITE
+ );
@ISA = qw(Exporter);
@EXPORT = qw(color colored);
@EXPORT_OK = qw(uncolor colorstrip colorvalid);
@@ -43,25 +54,35 @@ BEGIN {
# Internal data structures
##############################################################################
-%ATTRIBUTES = ('clear' => 0,
- 'reset' => 0,
- 'bold' => 1,
- 'dark' => 2,
- 'faint' => 2,
- 'underline' => 4,
- 'underscore' => 4,
- 'blink' => 5,
- 'reverse' => 7,
- 'concealed' => 8,
-
- 'black' => 30, 'on_black' => 40,
- 'red' => 31, 'on_red' => 41,
- 'green' => 32, 'on_green' => 42,
- 'yellow' => 33, 'on_yellow' => 43,
- 'blue' => 34, 'on_blue' => 44,
- 'magenta' => 35, 'on_magenta' => 45,
- 'cyan' => 36, 'on_cyan' => 46,
- 'white' => 37, 'on_white' => 47);
+%ATTRIBUTES = ('clear' => 0,
+ 'reset' => 0,
+ 'bold' => 1,
+ 'dark' => 2,
+ 'faint' => 2,
+ 'underline' => 4,
+ 'underscore' => 4,
+ 'blink' => 5,
+ 'reverse' => 7,
+ 'concealed' => 8,
+
+ 'black' => 30, 'on_black' => 40,
+ 'red' => 31, 'on_red' => 41,
+ 'green' => 32, 'on_green' => 42,
+ 'yellow' => 33, 'on_yellow' => 43,
+ 'blue' => 34, 'on_blue' => 44,
+ 'magenta' => 35, 'on_magenta' => 45,
+ 'cyan' => 36, 'on_cyan' => 46,
+ 'white' => 37, 'on_white' => 47,
+
+ 'bright_black' => 90, 'on_bright_black' => 100,
+ 'bright_red' => 91, 'on_bright_red' => 101,
+ 'bright_green' => 92, 'on_bright_green' => 102,
+ 'bright_yellow' => 93, 'on_bright_yellow' => 103,
+ 'bright_blue' => 94, 'on_bright_blue' => 104,
+ 'bright_magenta' => 95, 'on_bright_magenta' => 105,
+ 'bright_cyan' => 96, 'on_bright_cyan' => 106,
+ 'bright_white' => 97, 'on_bright_white' => 107,
+ );
# Reverse lookup. Alphabetically first name for a sequence is preferred.
for (reverse sort keys %ATTRIBUTES) {
@@ -184,13 +205,13 @@ sub uncolor {
push (@nums, split (/;/, $1));
}
for (@nums) {
- $_ += 0; # Strip leading zeroes
- my $name = $ATTRIBUTES_R{$_};
- if (!defined $name) {
- require Carp;
- Carp::croak ("No name for escape sequence $_" );
- }
- push (@result, $name);
+ $_ += 0; # Strip leading zeroes
+ my $name = $ATTRIBUTES_R{$_};
+ if (!defined $name) {
+ require Carp;
+ Carp::croak ("No name for escape sequence $_" );
+ }
+ push (@result, $name);
}
return @result;
}
@@ -263,6 +284,7 @@ Term::ANSIColor - Color screen output using ANSI escape sequences
cyan colorize namespace runtime TMTOWTDI cmd.exe 4nt.exe command.com NT
ESC Delvare SSH OpenSSH aixterm ECMA-048 Fraktur overlining Zenin
reimplemented Allbery PUSHCOLOR POPCOLOR LOCALCOLOR openmethods.com
+grey ATTR
=head1 SYNOPSIS
@@ -273,7 +295,9 @@ reimplemented Allbery PUSHCOLOR POPCOLOR LOCALCOLOR openmethods.com
print "This text is normal.\n";
print colored ("Yellow on magenta.", 'yellow on_magenta'), "\n";
print "This text is normal.\n";
- print colored ['yellow on_magenta'], 'Yellow on magenta.';
+ print colored ['yellow on_magenta'], 'Yellow on magenta.', "\n";
+ print colored ['red on_bright_yellow'] 'Red on bright yellow.', "\n";
+ print colored ['bright_red on_black], 'Bright red on black.', "\n";
print "\n";
use Term::ANSIColor qw(uncolor);
@@ -298,8 +322,8 @@ reimplemented Allbery PUSHCOLOR POPCOLOR LOCALCOLOR openmethods.com
use Term::ANSIColor qw(:pushpop);
print PUSHCOLOR RED ON_GREEN "This text is red on green.\n";
- print PUSHCOLOR BLUE "This text is blue on green.\n";
- print RESET BLUE "This text is just blue.\n";
+ print PUSHCOLOR BRIGHT_BLUE "This text is bright blue on green.\n";
+ print RESET BRIGHT_BLUE "This text is just bright blue.\n";
print POPCOLOR "Back to red on green.\n";
print LOCALCOLOR GREEN ON_BLUE "This text is green on blue.\n";
print "This text is red on green.\n";
@@ -317,46 +341,105 @@ other through constants. It also offers the utility functions uncolor(),
colorstrip(), and colorvalid(), which have to be explicitly imported to be
used (see L</SYNOPSIS>).
+=head2 Supported Colors
+
+Terminal emulators that support color divide into two types: ones that
+support only eight colors, and ones that support sixteen. This module
+provides both the ANSI escape codes for the "normal" colors, supported by
+both types, as well as the additional colors supported by sixteen-color
+emulators. These colors are referred to as ANSI colors 0 through 7
+(normal) and 8 through 15.
+
+Unfortunately, interpretation of colors 0 through 7 often depends on
+whether the emulator supports eight colors or sixteen colors. Emulators
+that only support eight colors (such as the Linux console) will display
+colors 0 through 7 with normal brightness and ignore colors 8 through 15,
+treating them the same as white. Emulators that support 16 colors, such
+as gnome-terminal, normally display colors 0 through 7 as dim or darker
+versions and colors 8 through 15 as normal brightness. On such emulators,
+the "normal" white (color 7) usually is shown as pale grey, requiring
+bright white (15) to be used to get a real white color. Bright black
+usually is a dark grey color, although some terminals display it as pure
+black. Some sixteen-color terminal emulators also treat normal yellow
+(color 3) as orange or brown, and bright yellow (color 11) as yellow.
+
+Following the normal convention of sixteen-color emulators, this module
+provides a pair of attributes for each color. For every normal color (0
+through 7), the corresponding bright color (8 through 15) is obtained by
+prepending the string C<bright_> to the normal color name. For example,
+C<red> is color 1 and C<bright_red> is color 9. The same applies for
+background colors: C<on_red> is the normal color and C<on_bright_red> is
+the bright color. Capitalize these strings for the constant interface.
+
+There is unfortunately no way to know whether the current emulator
+supports sixteen colors or not, which makes the choice of colors
+difficult. The most conservative choice is to use only the regular
+colors, which are at least displayed on all emulators. However, they will
+appear dark in sixteen-color terminal emulators, including most common
+emulators in UNIX X environments. If you know the display is one of those
+emulators, you may wish to use the bright variants instead. Even better,
+offer the user a way to configure the colors for a given application to
+fit their terminal emulator.
+
+Support for colors 8 through 15 (the C<bright_> variants) was added in
+Term::ANSIColor 3.0.
+
=head2 Function Interface
-color() takes any number of strings as arguments and considers them to be
-space-separated lists of attributes. It then forms and returns the escape
-sequence to set those attributes. It doesn't print it out, just returns
-it, so you'll have to print it yourself if you want to (this is so that
-you can save it as a string, pass it to something else, send it to a file
-handle, or do anything else with it that you might care to). color()
-throws an exception if given an invalid attribute, so you can also use it
-to check attribute names for validity (see L</EXAMPLES>).
+The function interface uses attribute strings to describe the colors and
+text attributes to assign to text. The recognized non-color attributes
+are clear, reset, bold, dark, faint, underline, underscore, blink,
+reverse, and concealed. Clear and reset (reset to default attributes),
+dark and faint (dim and saturated), and underline and underscore are
+equivalent, so use whichever is the most intuitive to you.
-uncolor() performs the opposite translation, turning escape sequences
-into a list of strings.
+Note that not all attributes are supported by all terminal types, and some
+terminals may not support any of these sequences. Dark and faint, blink,
+and concealed in particular are frequently not implemented.
-colorstrip() removes all color escape sequences from the provided strings,
-returning the modified strings separately in array context or joined
-together in scalar context. Its arguments are not modified.
+The recognized normal foreground color attributes (colors 0 to 7) are:
-colorvalid() takes attribute strings the same as color() and returns true
-if all attributes are known and false otherwise.
+ black red green yellow blue magenta cyan white
-The recognized non-color attributes are clear, reset, bold, dark, faint,
-underline, underscore, blink, reverse, and concealed. Clear and reset
-(reset to default attributes), dark and faint (dim and saturated), and
-underline and underscore are equivalent, so use whichever is the most
-intuitive to you. The recognized foreground color attributes are black,
-red, green, yellow, blue, magenta, cyan, and white. The recognized
-background color attributes are on_black, on_red, on_green, on_yellow,
-on_blue, on_magenta, on_cyan, and on_white. Case is not significant.
+The corresponding bright foreground color attributes (colors 8 to 15) are:
-Note that not all attributes are supported by all terminal types, and some
-terminals may not support any of these sequences. Dark and faint, blink,
-and concealed in particular are frequently not implemented.
+ bright_black bright_red bright_green bright_yellow
+ bright_blue bright_magenta bright_cyan bright_white
+
+The recognized normal background color attributes (colors 0 to 7) are:
-Attributes, once set, last until they are unset (by sending the attribute
+ on_black on_red on_green on yellow
+ on_blue on_magenta on_cyan on_white
+
+The recognized bright background color attributes (colors 8 to 15) are:
+
+ on_bright_black on_bright_red on_bright_green on_bright_yellow
+ on_bright_blue on_bright_magenta on_bright_cyan on_bright_white
+
+For any of the above listed attributes, case is not significant.
+
+Attributes, once set, last until they are unset (by printing the attribute
C<clear> or C<reset>). Be careful to do this, or otherwise your attribute
will last after your script is done running, and people get very annoyed
at having their prompt and typing changed to weird colors.
-As an aid to help with this, colored() takes a scalar as the first
+=over 4
+
+=item color(ATTR[, ATTR ...])
+
+color() takes any number of strings as arguments and considers them to be
+space-separated lists of attributes. It then forms and returns the escape
+sequence to set those attributes. It doesn't print it out, just returns
+it, so you'll have to print it yourself if you want to. This is so that
+you can save it as a string, pass it to something else, send it to a file
+handle, or do anything else with it that you might care to. color()
+throws an exception if given an invalid attribute.
+
+=item colored(STRING, ATTRIBUTES)
+
+=item colored(ATTR-REF, STRING[, STRING...])
+
+As an aid in resetting colors, colored() takes a scalar as the first
argument and any number of attribute strings as the second argument and
returns the scalar wrapped in escape codes so that the attributes will be
set as requested before the string and reset to normal after the string.
@@ -375,14 +458,46 @@ default background color for the next line. Programs like pagers can also
be confused by attributes that span lines. Normally you'll want to set
$Term::ANSIColor::EACHLINE to C<"\n"> to use this feature.
+=item uncolor(ESCAPE)
+
+uncolor() performs the opposite translation as color(), turning escape
+sequences into a list of strings corresponding to the attributes being set
+by those sequences.
+
+=item colorstrip(STRING[, STRING ...])
+
+colorstrip() removes all color escape sequences from the provided strings,
+returning the modified strings separately in array context or joined
+together in scalar context. Its arguments are not modified.
+
+=item colorvalid(ATTR[, ATTR ...])
+
+colorvalid() takes attribute strings the same as color() and returns true
+if all attributes are known and false otherwise.
+
+=back
+
=head2 Constant Interface
-Alternately, if you import C<:constants>, you can use the constants CLEAR,
-RESET, BOLD, DARK, FAINT, UNDERLINE, UNDERSCORE, BLINK, REVERSE,
-CONCEALED, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE,
-ON_BLACK, ON_RED, ON_GREEN, ON_YELLOW, ON_BLUE, ON_MAGENTA, ON_CYAN, and
-ON_WHITE directly. These are the same as color('attribute') and can be
-used if you prefer typing:
+Alternately, if you import C<:constants>, you can use the following
+constants directly:
+
+ CLEAR RESET BOLD DARK
+ FAINT UNDERLINE UNDERSCORE BLINK
+ REVERSE CONCEALED
+
+ BLACK RED GREEN YELLOW
+ BLUE MAGENTA CYAN WHITE
+ BRIGHT_BLACK BRIGHT_RED BRIGHT_GREEN BRIGHT_YELLOW
+ BRIGHT_BLUE BRIGHT_MAGENTA BRIGHT_CYAN BRIGHT_WHITE
+
+ ON_BLACK ON_RED ON_GREEN ON_YELLOW
+ ON_BLUE ON_MAGENTA ON_CYAN ON_WHITE
+ ON_BRIGHT_BLACK ON_BRIGHT_RED ON_BRIGHT_GREEN ON_BRIGHT_YELLOW
+ ON_BRIGHT_BLUE ON_BRIGHT_MAGENTA ON_BRIGHT_CYAN ON_BRIGHT_WHITE
+
+These are the same as color('attribute') and can be used if you prefer
+typing:
print BOLD BLUE ON_WHITE "Text", RESET, "\n";
@@ -411,7 +526,7 @@ terminal.
The subroutine interface has the advantage over the constants interface in
that only two subroutines are exported into your namespace, versus
-twenty-two in the constants interface. On the flip side, the constants
+thirty-eight in the constants interface. On the flip side, the constants
interface has the advantage of better compile time error checking, since
misspelled names of colors or attributes in calls to color() and colored()
won't be caught until runtime whereas misspelled names of constants will
@@ -599,9 +714,10 @@ Russ with input from Zenin. Russ Allbery now maintains this module.
=head1 COPYRIGHT AND LICENSE
-Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009 Russ
-Allbery <rra@stanford.edu> and Zenin. This program is free software; you
-may redistribute it and/or modify it under the same terms as Perl itself.
+Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010
+Russ Allbery <rra@stanford.edu> and Zenin. This program is free software;
+you may redistribute it and/or modify it under the same terms as Perl
+itself.
PUSHCOLOR, POPCOLOR, and LOCALCOLOR were contributed by openmethods.com
voice solutions.
diff --git a/Master/tlpkg/tlperl/lib/Term/ReadLine.pm b/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
index 29acb849015..0121cdfd065 100644
--- a/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
+++ b/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
@@ -156,22 +156,6 @@ empty, the best available package is loaded.
(Note that processing of C<PERL_RL> for ornaments is in the discretion of the
particular used C<Term::ReadLine::*> package).
-=head1 CAVEATS
-
-It seems that using Term::ReadLine from Emacs minibuffer doesn't work
-quite right and one will get an error message like
-
- Cannot open /dev/tty for read at ...
-
-One possible workaround for this is to explicitly open /dev/tty like this
-
- open (FH, "/dev/tty" )
- or eval 'sub Term::ReadLine::findConsole { ("&STDIN", "&STDERR") }';
- die $@ if $@;
- close (FH);
-
-or you can try using the 4-argument form of Term::ReadLine->new().
-
=cut
use strict;
@@ -196,7 +180,6 @@ sub readline {
and defined &Tk::DoOneEvent;
#$str = scalar <$in>;
$str = $self->get_line;
- $str =~ s/^\s*\Q$prompt\E// if ($^O eq 'MacOS');
utf8::upgrade($str)
if (${^UNICODE} & PERL_UNICODE_STDIN || defined ${^ENCODING}) &&
utf8::valid($str);
@@ -211,9 +194,7 @@ sub findConsole {
my $console;
my $consoleOUT;
- if ($^O eq 'MacOS') {
- $console = "Dev:Console";
- } elsif (-e "/dev/tty") {
+ if (-e "/dev/tty") {
$console = "/dev/tty";
} elsif (-e "con" or $^O eq 'MSWin32') {
$console = 'CONIN$';
@@ -235,6 +216,10 @@ sub findConsole {
$consoleOUT = $console unless defined $consoleOUT;
$console = "&STDIN" unless defined $console;
+ if ($console eq "/dev/tty" && !open(my $fh, "<", $console)) {
+ $console = "&STDIN";
+ undef($consoleOUT);
+ }
if (!defined $consoleOUT) {
$consoleOUT = defined fileno(STDERR) && $^O ne 'MSWin32' ? "&STDERR" : "&STDOUT";
}
@@ -303,7 +288,7 @@ sub get_line {
package Term::ReadLine; # So late to allow the above code be defined?
-our $VERSION = '1.05';
+our $VERSION = '1.07';
my ($which) = exists $ENV{PERL_RL} ? split /\s+/, $ENV{PERL_RL} : undef;
if ($which) {
diff --git a/Master/tlpkg/tlperl/lib/Term/UI.pm b/Master/tlpkg/tlperl/lib/Term/UI.pm
index 136f75bb6ad..ba7a30421ba 100644
--- a/Master/tlpkg/tlperl/lib/Term/UI.pm
+++ b/Master/tlpkg/tlperl/lib/Term/UI.pm
@@ -11,7 +11,7 @@ use strict;
BEGIN {
use vars qw[$VERSION $AUTOREPLY $VERBOSE $INVALID];
$VERBOSE = 1;
- $VERSION = '0.20';
+ $VERSION = '0.26';
$INVALID = loc('Invalid selection, please try again: ');
}
@@ -137,7 +137,7 @@ sub get_reply {
my $prompt_add;
### if you supplied several choices to pick from,
- ### we'll print them seperately before the prompt
+ ### we'll print them separately before the prompt
if( @{$args->{choices}} ) {
my $i;
@@ -483,7 +483,7 @@ This defaults to C<*STDOUT>.
### ask a user (with an open question) for their favourite colour
$reply = $term->get_reply( prompt => 'Your favourite colour? );
-
+
which would look like:
Your favourite colour?
@@ -496,7 +496,7 @@ and C<$reply> would hold the text the user typed.
$reply = $term->get_reply(
prompt => 'Your favourite colour?',
choices => [qw|red green blue|] );
-
+
which would look like:
1> red
@@ -504,7 +504,7 @@ which would look like:
3> blue
Your favourite colour?
-
+
C<$reply> will hold one of the choices presented. C<Term::UI> will repose
the question if the user attempts to enter an answer that's not in the
list of choices. The string presented is held in the C<$Term::UI::INVALID>
@@ -559,7 +559,7 @@ An answer of C<3 2 1> would fill C<@reply> with C<blue green red>
$reply = $term->get_reply(
prompt => "What is the magic number?",
allow => 42 );
-
+
Unless the user now enters C<42>, the question will be reposed over
and over again. You can use more sophisticated C<allow> handlers (even
subroutines can be used). The C<allow> handler is implemented using
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder.pm b/Master/tlpkg/tlperl/lib/Test/Builder.pm
index 26ffea41ff4..cb4335f5ceb 100644
--- a/Master/tlpkg/tlperl/lib/Test/Builder.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Builder.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '0.94';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
BEGIN {
@@ -23,7 +23,7 @@ BEGIN {
require threads::shared;
# Hack around YET ANOTHER threads::shared bug. It would
- # occassionally forget the contents of the variable when sharing it.
+ # occasionally forget the contents of the variable when sharing it.
# So we first copy the data, then share, then put our copy back.
*share = sub (\[$@%]) {
my $type = ref $_[0];
@@ -90,7 +90,7 @@ Test::Builder - Backend for building test libraries
=head1 DESCRIPTION
Test::Simple and Test::More have proven to be popular testing modules,
-but they're not always flexible enough. Test::Builder provides the a
+but they're not always flexible enough. Test::Builder provides a
building block upon which to write your own test libraries I<which can
work together>.
@@ -156,7 +156,7 @@ sub create {
$child->finalize;
Returns a new instance of C<Test::Builder>. Any output from this child will
-indented four spaces more than the parent's indentation. When done, the
+be indented four spaces more than the parent's indentation. When done, the
C<finalize> method I<must> be called explicitly.
Trying to create a new child with a previous child still active (i.e.,
@@ -174,18 +174,28 @@ sub child {
$self->croak("You already have a child named ($self->{Child_Name}) running");
}
+ my $parent_in_todo = $self->in_todo;
+
+ # Clear $TODO for the child.
+ my $orig_TODO = $self->find_TODO(undef, 1, undef);
+
my $child = bless {}, ref $self;
$child->reset;
# Add to our indentation
$child->_indent( $self->_indent . ' ' );
+
$child->{$_} = $self->{$_} foreach qw{Out_FH Todo_FH Fail_FH};
+ if ($parent_in_todo) {
+ $child->{Fail_FH} = $self->{Todo_FH};
+ }
# This will be reset in finalize. We do this here lest one child failure
# cause all children to fail.
$child->{Child_Error} = $?;
$? = 0;
$child->{Parent} = $self;
+ $child->{Parent_TODO} = $orig_TODO;
$child->{Name} = $name || "Child of " . $self->name;
$self->{Child_Name} = $child->name;
return $child;
@@ -210,25 +220,71 @@ sub subtest {
# Turn the child into the parent so anyone who has stored a copy of
# the Test::Builder singleton will get the child.
- my $child = $self->child($name);
- my %parent = %$self;
- %$self = %$child;
+ my($error, $child, %parent);
+ {
+ # child() calls reset() which sets $Level to 1, so we localize
+ # $Level first to limit the scope of the reset to the subtest.
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
- my $error;
- if( !eval { $subtests->(); 1 } ) {
- $error = $@;
+ $child = $self->child($name);
+ %parent = %$self;
+ %$self = %$child;
+
+ my $run_the_subtests = sub {
+ $subtests->();
+ $self->done_testing unless $self->_plan_handled;
+ 1;
+ };
+
+ if( !eval { $run_the_subtests->() } ) {
+ $error = $@;
+ }
}
# Restore the parent and the copied child.
%$child = %$self;
%$self = %parent;
+ # Restore the parent's $TODO
+ $self->find_TODO(undef, 1, $child->{Parent_TODO});
+
# Die *after* we restore the parent.
die $error if $error and !eval { $error->isa('Test::Builder::Exception') };
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
return $child->finalize;
}
+=begin _private
+
+=item B<_plan_handled>
+
+ if ( $Test->_plan_handled ) { ... }
+
+Returns true if the developer has explicitly handled the plan via:
+
+=over 4
+
+=item * Explicitly setting the number of tests
+
+=item * Setting 'no_plan'
+
+=item * Set 'skip_all'.
+
+=back
+
+This is currently used in subtests when we implicitly call C<< $Test->done_testing >>
+if the developer has not set a plan.
+
+=end _private
+
+=cut
+
+sub _plan_handled {
+ my $self = shift;
+ return $self->{Have_Plan} || $self->{No_Plan} || $self->{Skip_All};
+}
+
=item B<finalize>
@@ -256,11 +312,14 @@ sub finalize {
if( $self->{Child_Name} ) {
$self->croak("Can't call finalize() with child ($self->{Child_Name}) active");
}
+
+ local $? = 0; # don't fail if $subtests happened to set $? nonzero
$self->_ending;
# XXX This will only be necessary for TAP envelopes (we think)
#$self->_print( $self->is_passing ? "PASS\n" : "FAIL\n" );
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
my $ok = 1;
$self->parent->{Child_Name} = undef;
if ( $self->{Skip_All} ) {
@@ -315,7 +374,7 @@ sub name { shift->{Name} }
sub DESTROY {
my $self = shift;
- if ( $self->parent ) {
+ if ( $self->parent and $$ == $self->{Original_Pid} ) {
my $name = $self->name;
$self->diag(<<"FAIL");
Child ($name) exited without calling finalize()
@@ -350,6 +409,7 @@ sub reset { ## no critic (Subroutines::ProhibitBuiltinHomonyms)
$self->{Have_Plan} = 0;
$self->{No_Plan} = 0;
$self->{Have_Output_Plan} = 0;
+ $self->{Done_Testing} = 0;
$self->{Original_Pid} = $$;
$self->{Child_Name} = undef;
@@ -458,7 +518,6 @@ sub _plan_tests {
return;
}
-
=item B<expected_tests>
my $max = $Test->expected_tests;
@@ -504,7 +563,6 @@ sub no_plan {
return 1;
}
-
=begin private
=item B<_output_plan>
@@ -543,6 +601,7 @@ sub _output_plan {
return;
}
+
=item B<done_testing>
$Test->done_testing();
@@ -866,6 +925,8 @@ sub _is_dualvar {
Like Test::More's C<is()>. Checks if C<$got eq $expected>. This is the
string version.
+C<undef> only ever matches another C<undef>.
+
=item B<is_num>
$Test->is_num($got, $expected, $name);
@@ -873,14 +934,14 @@ string version.
Like Test::More's C<is()>. Checks if C<$got == $expected>. This is the
numeric version.
+C<undef> only ever matches another C<undef>.
+
=cut
sub is_eq {
my( $self, $got, $expect, $name ) = @_;
local $Level = $Level + 1;
- $self->_unoverload_str( \$got, \$expect );
-
if( !defined $got || !defined $expect ) {
# undef only matches undef and nothing else
my $test = !defined $got && !defined $expect;
@@ -897,8 +958,6 @@ sub is_num {
my( $self, $got, $expect, $name ) = @_;
local $Level = $Level + 1;
- $self->_unoverload_num( \$got, \$expect );
-
if( !defined $got || !defined $expect ) {
# undef only matches undef and nothing else
my $test = !defined $got && !defined $expect;
@@ -1059,8 +1118,9 @@ sub cmp_ok {
my($pack, $file, $line) = $self->caller();
+ # This is so that warnings come out at the caller's level
$test = eval qq[
-#line 1 "cmp_ok [from $file line $line]"
+#line $line "(eval in cmp_ok) $file"
\$got $type \$expect;
];
$error = $@;
@@ -1685,17 +1745,18 @@ sub _print_to_fh {
return if $^C;
my $msg = join '', @msgs;
+ my $indent = $self->_indent;
local( $\, $", $, ) = ( undef, ' ', '' );
# Escape each line after the first with a # so we don't
# confuse Test::Harness.
- $msg =~ s{\n(?!\z)}{\n# }sg;
+ $msg =~ s{\n(?!\z)}{\n$indent# }sg;
# Stick a newline on the end if it needs it.
$msg .= "\n" unless $msg =~ /\n\z/;
- return print $fh $self->_indent, $msg;
+ return print $fh $indent, $msg;
}
=item B<output>
@@ -1825,8 +1886,8 @@ sub _open_testhandles {
open( $Testout, ">&STDOUT" ) or die "Can't dup STDOUT: $!";
open( $Testerr, ">&STDERR" ) or die "Can't dup STDERR: $!";
- # $self->_copy_io_layers( \*STDOUT, $Testout );
- # $self->_copy_io_layers( \*STDERR, $Testerr );
+ $self->_copy_io_layers( \*STDOUT, $Testout );
+ $self->_copy_io_layers( \*STDERR, $Testerr );
$self->{Opened_Testhandles} = 1;
@@ -1841,13 +1902,21 @@ sub _copy_io_layers {
require PerlIO;
my @src_layers = PerlIO::get_layers($src);
- binmode $dst, join " ", map ":$_", @src_layers if @src_layers;
+ _apply_layers($dst, @src_layers) if @src_layers;
}
);
return;
}
+sub _apply_layers {
+ my ($fh, @layers) = @_;
+ my %seen;
+ my @unique = grep { $_ ne 'unix' and !$seen{$_}++ } @layers;
+ binmode($fh, join(":", "", "raw", @unique));
+}
+
+
=item reset_outputs
$tb->reset_outputs;
@@ -2091,21 +2160,28 @@ sub todo {
=item B<find_TODO>
my $todo_reason = $Test->find_TODO();
- my $todo_reason = $Test->find_TODO($pack):
+ my $todo_reason = $Test->find_TODO($pack);
Like C<todo()> but only returns the value of C<$TODO> ignoring
C<todo_start()>.
+Can also be used to set C<$TODO> to a new value while returning the
+old value:
+
+ my $old_reason = $Test->find_TODO($pack, 1, $new_reason);
+
=cut
sub find_TODO {
- my( $self, $pack ) = @_;
+ my( $self, $pack, $set, $new_value ) = @_;
$pack = $pack || $self->caller(1) || $self->exported_to;
return unless $pack;
no strict 'refs'; ## no critic
- return ${ $pack . '::TODO' };
+ my $old_value = ${ $pack . '::TODO' };
+ $set and ${ $pack . '::TODO' } = $new_value;
+ return $old_value;
}
=item B<in_todo>
@@ -2458,7 +2534,7 @@ Test::Builder.
=head1 MEMORY
-An informative hash, accessable via C<<details()>>, is stored for each
+An informative hash, accessible via C<<details()>>, is stored for each
test you perform. So memory usage will scale linearly with each test
run. Although this is not a problem for most test suites, it can
become an issue if you do large (hundred thousands to million)
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm b/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm
index 4f7d1aa7db7..12a1e61bc2e 100644
--- a/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Builder/Module.pm
@@ -7,7 +7,7 @@ use Test::Builder;
require Exporter;
our @ISA = qw(Exporter);
-our $VERSION = '0.94';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
@@ -52,13 +52,13 @@ for you.
=head3 import
Test::Builder::Module provides an import() method which acts in the
-same basic way as Test::More's, setting the plan and controling
+same basic way as Test::More's, setting the plan and controlling
exporting of functions and variables. This allows your module to set
the plan independent of Test::More.
All arguments passed to import() are passed onto
C<< Your::Module->builder->plan() >> with the exception of
-C<import =>[qw(things to import)]>.
+C<< import =>[qw(things to import)] >>.
use Your::Module import => [qw(this that)], tests => 23;
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm b/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm
index 7bea6f99da6..793139f795f 100644
--- a/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Builder/Tester.pm
@@ -1,7 +1,7 @@
package Test::Builder::Tester;
use strict;
-our $VERSION = "1.18";
+our $VERSION = "1.22";
use Test::Builder;
use Symbol;
@@ -124,13 +124,13 @@ sub _start_testing {
# switch out to our own handles
$t->output($output_handle);
$t->failure_output($error_handle);
- $t->todo_output($error_handle);
+ $t->todo_output($output_handle);
# clear the expected list
$out->reset();
$err->reset();
- # remeber that we're testing
+ # remember that we're testing
$testing = 1;
$testing_num = $t->current_test;
$t->current_test(0);
@@ -165,8 +165,8 @@ which is even the same as
test_out("ok 2");
Once C<test_out> or C<test_err> (or C<test_fail> or C<test_diag>) have
-been called once all further output from B<Test::Builder> will be
-captured by B<Test::Builder::Tester>. This means that your will not
+been called, all further output from B<Test::Builder> will be
+captured by B<Test::Builder::Tester>. This means that you will not
be able perform further tests to the normal output in the normal way
until you call C<test_test> (well, unless you manually meddle with the
output filehandles)
@@ -191,7 +191,7 @@ sub test_err {
Because the standard failure message that B<Test::Builder> produces
whenever a test fails will be a common occurrence in your test error
-output, and because has changed between Test::Builder versions, rather
+output, and because it has changed between Test::Builder versions, rather
than forcing you to call C<test_err> with the string all the time like
so
@@ -229,7 +229,7 @@ sub test_fail {
As most of the remaining expected output to the error stream will be
created by Test::Builder's C<diag> function, B<Test::Builder::Tester>
-provides a convience function C<test_diag> that you can use instead of
+provides a convenience function C<test_diag> that you can use instead of
C<test_err>.
The C<test_diag> function prepends comment hashes and spacing to the
@@ -293,7 +293,7 @@ declared with C<test_err>.
=back
-As a convience, if only one argument is passed then this argument
+As a convenience, if only one argument is passed then this argument
is assumed to be the name of the test (as in the above examples.)
Once C<test_test> has been run test output will be redirected back to
@@ -304,7 +304,7 @@ will function normally and cause success/errors for B<Test::Harness>.
=cut
sub test_test {
- # decode the arguements as described in the pod
+ # decode the arguments as described in the pod
my $mess;
my %args;
if( @_ == 1 ) {
@@ -370,7 +370,7 @@ sub line_num {
=back
-In addition to the six exported functions there there exists one
+In addition to the six exported functions there exists one
function that can only be accessed with a fully qualified function
call.
@@ -389,7 +389,7 @@ fail even though the output looks similar.
To assist you C<test_test> can colour the background of the debug
information to disambiguate the different types of output. The debug
-output will have it's background coloured green and red. The green
+output will have its background coloured green and red. The green
part represents the text which is the same between the executed and
actual output, the red shows which part differs.
diff --git a/Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm b/Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm
index 264fddbfd86..9fb6cf15a8d 100644
--- a/Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Builder/Tester/Color.pm
@@ -1,7 +1,7 @@
package Test::Builder::Tester::Color;
use strict;
-our $VERSION = "1.18";
+our $VERSION = "1.22";
require Test::Builder::Tester;
diff --git a/Master/tlpkg/tlperl/lib/Test/Harness.pm b/Master/tlpkg/tlperl/lib/Test/Harness.pm
index eba3c5efc4a..53bc92a741c 100644
--- a/Master/tlpkg/tlperl/lib/Test/Harness.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Harness.pm
@@ -7,9 +7,10 @@ use strict;
use constant IS_WIN32 => ( $^O =~ /^(MS)?Win32$/ );
use constant IS_VMS => ( $^O eq 'VMS' );
-use TAP::Harness ();
-use TAP::Parser::Aggregator ();
-use TAP::Parser::Source::Perl ();
+use TAP::Harness ();
+use TAP::Parser::Aggregator ();
+use TAP::Parser::Source ();
+use TAP::Parser::SourceHandler::Perl ();
use TAP::Parser::Utils qw( split_shell );
@@ -27,6 +28,7 @@ use vars qw(
$Directives
$Timer
$Strap
+ $HarnessSubclass
$has_time_hires
$IgnoreExit
);
@@ -44,11 +46,11 @@ Test::Harness - Run Perl standard test scripts with statistics
=head1 VERSION
-Version 3.17
+Version 3.23
=cut
-$VERSION = '3.17';
+$VERSION = '3.23';
# Backwards compatibility for exportable variable names.
*verbose = *Verbose;
@@ -118,8 +120,8 @@ one of the messages in the DIAGNOSTICS section.
sub _has_taint {
my $test = shift;
- return TAP::Parser::Source::Perl->get_taint(
- TAP::Parser::Source::Perl->shebang($test) );
+ return TAP::Parser::SourceHandler::Perl->get_taint(
+ TAP::Parser::Source->shebang($test) );
}
sub _aggregate {
@@ -132,7 +134,7 @@ sub _aggregate {
_aggregate_tests( $harness, $aggregate, @tests );
}
-# Make sure the child seens all the extra junk in @INC
+# Make sure the child sees all the extra junk in @INC
sub _apply_extra_INC {
my $harness = shift;
@@ -250,7 +252,8 @@ sub _new_harness {
}
}
- return TAP::Harness->new($args);
+ my $class = $ENV{HARNESS_SUBCLASS} || 'TAP::Harness';
+ return TAP::Harness->_construct( $class, $args );
}
# Get the parts of @INC which are changed from the stock list AND
@@ -268,7 +271,7 @@ sub _filtered_inc {
elsif (IS_WIN32) {
# Lose any trailing backslashes in the Win32 paths
- s/[\\\/]+$// foreach @inc;
+ s/[\\\/]+$// for @inc;
}
my @default_inc = _default_inc();
@@ -305,7 +308,7 @@ sub _filtered_inc {
my $perl = $ENV{HARNESS_PERL} || $^X;
# Avoid using -l for the benefit of Perl 6
- chomp( @inc = `$perl -e "print join qq[\\n], \@INC, q[]"` );
+ chomp( @inc = `"$perl" -e "print join qq[\\n], \@INC, q[]"` );
return @inc;
}
}
@@ -528,15 +531,19 @@ Provide additional options to the harness. Currently supported options are:
Run <n> (default 9) parallel jobs.
-=item C<< f >>
+=item C<< c >>
-Use forked parallelism.
+Try to color output. See L<TAP::Formatter::Base/"new">.
=back
Multiple options may be separated by colons:
- HARNESS_OPTIONS=j9:f make test
+ HARNESS_OPTIONS=j9:c make test
+
+=item C<HARNESS_SUBCLASS>
+
+Specifies a TAP::Harness subclass to be used in place of TAP::Harness.
=back
@@ -546,10 +553,9 @@ Normally when a Perl program is run in taint mode the contents of the
C<PERL5LIB> environment variable do not appear in C<@INC>.
Because C<PERL5LIB> is often used during testing to add build
-directories to C<@INC> C<Test::Harness> (actually
-L<TAP::Parser::Source::Perl>) passes the names of any directories found
-in C<PERL5LIB> as -I switches. The net effect of this is that
-C<PERL5LIB> is honoured even in taint mode.
+directories to C<@INC> C<Test::Harness> passes the names of any
+directories found in C<PERL5LIB> as -I switches. The net effect of this
+is that C<PERL5LIB> is honoured even in taint mode.
=head1 SEE ALSO
@@ -578,7 +584,7 @@ module is based) has this attribution:
=head1 LICENCE AND COPYRIGHT
-Copyright (c) 2007-2008, Andy Armstrong C<< <andy@hexten.net> >>. All rights reserved.
+Copyright (c) 2007-2011, Andy Armstrong C<< <andy@hexten.net> >>. All rights reserved.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself. See L<perlartistic>.
diff --git a/Master/tlpkg/tlperl/lib/Test/More.pm b/Master/tlpkg/tlperl/lib/Test/More.pm
index 67284874698..c1f5bf1d151 100644
--- a/Master/tlpkg/tlperl/lib/Test/More.pm
+++ b/Master/tlpkg/tlperl/lib/Test/More.pm
@@ -17,7 +17,7 @@ sub _carp {
return warn @_, " at $file line $line\n";
}
-our $VERSION = '0.94';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
use Test::Builder::Module;
@@ -317,6 +317,11 @@ are similar to these:
ok( ultimate_answer() eq 42, "Meaning of Life" );
ok( $foo ne '', "Got some foo" );
+C<undef> will only ever match C<undef>. So you can test a value
+agains C<undef> like this:
+
+ is($not_defined, undef, "undefined as expected");
+
(Mnemonic: "This is that." "This isn't that.")
So why use these? They produce better diagnostics on failure. ok()
@@ -716,9 +721,26 @@ considered a skip.
Returns true if the subtest passed, false otherwise.
+Due to how subtests work, you may omit a plan if you desire. This adds an
+implicit C<done_testing()> to the end of your subtest. The following two
+subtests are equivalent:
+
+ subtest 'subtest with implicit done_testing()', sub {
+ ok 1, 'subtests with an implicit done testing should work';
+ ok 1, '... and support more than one test';
+ ok 1, '... no matter how many tests are run';
+ };
+
+ subtest 'subtest with explicit done_testing()', sub {
+ ok 1, 'subtests with an explicit done testing should work';
+ ok 1, '... and support more than one test';
+ ok 1, '... no matter how many tests are run';
+ done_testing();
+ };
+
=cut
-sub subtest($&) {
+sub subtest {
my ($name, $subtests) = @_;
my $tb = Test::More->builder;
@@ -802,6 +824,11 @@ because the notion of "compile-time" is relative. Instead, you want:
BEGIN { use_ok('Some::Module') }
BEGIN { ...some code that depends on the use... }
+If you want the equivalent of C<use Foo ()>, use a module but not
+import anything, use C<require_ok>.
+
+ BEGIN { require_ok "Foo" }
+
=cut
@@ -880,7 +907,7 @@ sub require_ok ($) {
my $pack = caller;
- # Try to deterine if we've been given a module name or file.
+ # Try to determine if we've been given a module name or file.
# Module names must be barewords, files not.
$module = qq['$module'] unless _is_module_name($module);
@@ -1049,7 +1076,7 @@ sub _type {
return '' if !ref $thing;
- for my $type (qw(ARRAY HASH REF SCALAR GLOB CODE Regexp)) {
+ for my $type (qw(Regexp ARRAY HASH REF SCALAR GLOB CODE)) {
return $type if UNIVERSAL::isa( $thing, $type );
}
@@ -1330,7 +1357,7 @@ but want to put tests in your testing script (always a good idea).
BAIL_OUT($reason);
Indicates to the harness that things are going so badly all testing
-should terminate. This includes the running any additional test scripts.
+should terminate. This includes the running of any additional test scripts.
This is typically used when testing cannot continue such as a critical
module failing to compile or a necessary external utility not being
@@ -1403,6 +1430,8 @@ sub _eq_array {
my $e1 = $_ > $#$a1 ? $DNE : $a1->[$_];
my $e2 = $_ > $#$a2 ? $DNE : $a2->[$_];
+ next if _equal_nonrefs($e1, $e2);
+
push @Data_Stack, { type => 'ARRAY', idx => $_, vals => [ $e1, $e2 ] };
$ok = _deep_check( $e1, $e2 );
pop @Data_Stack if $ok;
@@ -1413,6 +1442,21 @@ sub _eq_array {
return $ok;
}
+sub _equal_nonrefs {
+ my( $e1, $e2 ) = @_;
+
+ return if ref $e1 or ref $e2;
+
+ if ( defined $e1 ) {
+ return 1 if defined $e2 and $e1 eq $e2;
+ }
+ else {
+ return 1 if !defined $e2;
+ }
+
+ return;
+}
+
sub _deep_check {
my( $e1, $e2 ) = @_;
my $tb = Test::More->builder;
@@ -1425,9 +1469,6 @@ sub _deep_check {
local %Refs_Seen = %Refs_Seen;
{
- # Quiet uninitialized value warnings when comparing undefs.
- no warnings 'uninitialized';
-
$tb->_unoverload_str( \$e1, \$e2 );
# Either they're both references or both not.
@@ -1438,7 +1479,7 @@ sub _deep_check {
$ok = 0;
}
elsif( !defined $e1 and !defined $e2 ) {
- # Shortcut if they're both defined.
+ # Shortcut if they're both undefined.
$ok = 1;
}
elsif( _dne($e1) xor _dne($e2) ) {
@@ -1535,6 +1576,8 @@ sub _eq_hash {
my $e1 = exists $a1->{$k} ? $a1->{$k} : $DNE;
my $e2 = exists $a2->{$k} ? $a2->{$k} : $DNE;
+ next if _equal_nonrefs($e1, $e2);
+
push @Data_Stack, { type => 'HASH', idx => $k, vals => [ $e1, $e2 ] };
$ok = _deep_check( $e1, $e2 );
pop @Data_Stack if $ok;
diff --git a/Master/tlpkg/tlperl/lib/Test/Simple.pm b/Master/tlpkg/tlperl/lib/Test/Simple.pm
index 9c8716759a4..1a85d36e3e7 100644
--- a/Master/tlpkg/tlperl/lib/Test/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Test/Simple.pm
@@ -4,7 +4,7 @@ use 5.006;
use strict;
-our $VERSION = '0.94';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
use Test::Builder::Module;
@@ -121,7 +121,7 @@ Here's an example of a simple .t file for the fictional Film module.
Rating => 'R',
NumExplodingSheep => 1
});
- ok( defined($btaste) && ref $btaste eq 'Film, 'new() works' );
+ ok( defined($btaste) && ref $btaste eq 'Film', 'new() works' );
ok( $btaste->Title eq 'Bad Taste', 'Title() get' );
ok( $btaste->Director eq 'Peter Jackson', 'Director() get' );
diff --git a/Master/tlpkg/tlperl/lib/Thread/Queue.pm b/Master/tlpkg/tlperl/lib/Thread/Queue.pm
index 631edf126a6..8588ed58458 100644
--- a/Master/tlpkg/tlperl/lib/Thread/Queue.pm
+++ b/Master/tlpkg/tlperl/lib/Thread/Queue.pm
@@ -3,7 +3,8 @@ package Thread::Queue;
use strict;
use warnings;
-our $VERSION = '2.11';
+our $VERSION = '2.12';
+$VERSION = eval $VERSION;
use threads::shared 1.21;
use Scalar::Util 1.10 qw(looks_like_number blessed reftype refaddr);
@@ -209,7 +210,7 @@ Thread::Queue - Thread-safe queues
=head1 VERSION
-This document describes Thread::Queue version 2.11
+This document describes Thread::Queue version 2.12
=head1 SYNOPSIS
@@ -461,12 +462,6 @@ Passing array/hash refs that contain objects may not work for Perl prior to
Thread::Queue Discussion Forum on CPAN:
L<http://www.cpanforum.com/dist/Thread-Queue>
-Annotated POD for Thread::Queue:
-L<http://annocpan.org/~JDHEDDEN/Thread-Queue-2.11/lib/Thread/Queue.pm>
-
-Source repository:
-L<http://code.google.com/p/thread-queue/>
-
L<threads>, L<threads::shared>
=head1 MAINTAINER
diff --git a/Master/tlpkg/tlperl/lib/Thread/Semaphore.pm b/Master/tlpkg/tlperl/lib/Thread/Semaphore.pm
index 67cb30e66a6..d940d031bf4 100644
--- a/Master/tlpkg/tlperl/lib/Thread/Semaphore.pm
+++ b/Master/tlpkg/tlperl/lib/Thread/Semaphore.pm
@@ -3,60 +3,96 @@ package Thread::Semaphore;
use strict;
use warnings;
-our $VERSION = '2.09';
+our $VERSION = '2.12';
+$VERSION = eval $VERSION;
use threads::shared;
use Scalar::Util 1.10 qw(looks_like_number);
+# Predeclarations for internal functions
+my ($validate_arg);
+
# Create a new semaphore optionally with specified count (count defaults to 1)
sub new {
my $class = shift;
- my $val :shared = @_ ? shift : 1;
- if (!defined($val) ||
- ! looks_like_number($val) ||
- (int($val) != $val))
- {
- require Carp;
- $val = 'undef' if (! defined($val));
- Carp::croak("Semaphore initializer is not an integer: $val");
+
+ my $val :shared = 1;
+ if (@_) {
+ $val = shift;
+ if (! defined($val) ||
+ ! looks_like_number($val) ||
+ (int($val) != $val))
+ {
+ require Carp;
+ $val = 'undef' if (! defined($val));
+ Carp::croak("Semaphore initializer is not an integer: $val");
+ }
}
+
return bless(\$val, $class);
}
# Decrement a semaphore's count (decrement amount defaults to 1)
sub down {
my $sema = shift;
+ my $dec = @_ ? $validate_arg->(shift) : 1;
+
lock($$sema);
- my $dec = @_ ? shift : 1;
- if (! defined($dec) ||
- ! looks_like_number($dec) ||
- (int($dec) != $dec) ||
- ($dec < 1))
- {
- require Carp;
- $dec = 'undef' if (! defined($dec));
- Carp::croak("Semaphore decrement is not a positive integer: $dec");
- }
cond_wait($$sema) until ($$sema >= $dec);
$$sema -= $dec;
}
+# Decrement a semaphore's count only if count >= decrement value
+# (decrement amount defaults to 1)
+sub down_nb {
+ my $sema = shift;
+ my $dec = @_ ? $validate_arg->(shift) : 1;
+
+ lock($$sema);
+ my $ok = ($$sema >= $dec);
+ $$sema -= $dec if $ok;
+ return $ok;
+}
+
+# Decrement a semaphore's count even if the count goes below 0
+# (decrement amount defaults to 1)
+sub down_force {
+ my $sema = shift;
+ my $dec = @_ ? $validate_arg->(shift) : 1;
+
+ lock($$sema);
+ $$sema -= $dec;
+}
+
# Increment a semaphore's count (increment amount defaults to 1)
sub up {
my $sema = shift;
+ my $inc = @_ ? $validate_arg->(shift) : 1;
+
lock($$sema);
- my $inc = @_ ? shift : 1;
- if (! defined($inc) ||
- ! looks_like_number($inc) ||
- (int($inc) != $inc) ||
- ($inc < 1))
+ ($$sema += $inc) > 0 and cond_broadcast($$sema);
+}
+
+### Internal Functions ###
+
+# Validate method argument
+$validate_arg = sub {
+ my $arg = shift;
+
+ if (! defined($arg) ||
+ ! looks_like_number($arg) ||
+ (int($arg) != $arg) ||
+ ($arg < 1))
{
require Carp;
- $inc = 'undef' if (! defined($inc));
- Carp::croak("Semaphore increment is not a positive integer: $inc");
+ my ($method) = (caller(1))[3];
+ $method =~ s/Thread::Semaphore:://;
+ $arg = 'undef' if (! defined($arg));
+ Carp::croak("Argument to semaphore method '$method' is not a positive integer: $arg");
}
- ($$sema += $inc) > 0 and cond_broadcast($$sema);
-}
+
+ return $arg;
+};
1;
@@ -66,7 +102,7 @@ Thread::Semaphore - Thread-safe semaphores
=head1 VERSION
-This document describes Thread::Semaphore version 2.09
+This document describes Thread::Semaphore version 2.12
=head1 SYNOPSIS
@@ -76,10 +112,24 @@ This document describes Thread::Semaphore version 2.09
# The guarded section is here
$s->up(); # Also known as the semaphore V operation.
- # The default semaphore value is 1
- my $s = Thread::Semaphore-new($initial_value);
+ # Decrement the semaphore only if it would immediately succeed.
+ if ($s->down_nb()) {
+ # The guarded section is here
+ $s->up();
+ }
+
+ # Forcefully decrement the semaphore even if its count goes below 0.
+ $s->down_force();
+
+ # The default value for semaphore operations is 1
+ my $s = Thread::Semaphore->new($initial_value);
$s->down($down_value);
$s->up($up_value);
+ if ($s->down_nb($down_value)) {
+ ...
+ $s->up($up_value);
+ }
+ $s->down_force($down_value);
=head1 DESCRIPTION
@@ -119,6 +169,27 @@ This is the semaphore "P operation" (the name derives from the Dutch
word "pak", which means "capture" -- the semaphore operations were
named by the late Dijkstra, who was Dutch).
+=item ->down_nb()
+
+=item ->down_nb(NUMBER)
+
+The C<down_nb> method attempts to decrease the semaphore's count by the
+specified number (which must be an integer >= 1), or by one if no number
+is specified.
+
+If the semaphore's count would drop below zero, this method will return
+I<false>, and the semaphore's count remains unchanged. Otherwise, the
+semaphore's count is decremented and this method returns I<true>.
+
+=item ->down_force()
+
+=item ->down_force(NUMBER)
+
+The C<down_force> method decreases the semaphore's count by the specified
+number (which must be an integer >= 1), or by one if no number is specified.
+This method does not block, and may cause the semaphore's count to drop
+below zero.
+
=item ->up()
=item ->up(NUMBER)
@@ -150,12 +221,6 @@ environment.
Thread::Semaphore Discussion Forum on CPAN:
L<http://www.cpanforum.com/dist/Thread-Semaphore>
-Annotated POD for Thread::Semaphore:
-L<http://annocpan.org/~JDHEDDEN/Thread-Semaphore-2.09/lib/Thread/Semaphore.pm>
-
-Source repository:
-L<http://code.google.com/p/thread-semaphore/>
-
L<threads>, L<threads::shared>
=head1 MAINTAINER
diff --git a/Master/tlpkg/tlperl/lib/Tie/Array.pm b/Master/tlpkg/tlperl/lib/Tie/Array.pm
index af8f51e9f51..4e980a81fce 100644
--- a/Master/tlpkg/tlperl/lib/Tie/Array.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/Array.pm
@@ -3,7 +3,7 @@ package Tie::Array;
use 5.006_001;
use strict;
use Carp;
-our $VERSION = '1.03';
+our $VERSION = '1.04';
# Pod documentation after __END__ below.
@@ -152,9 +152,9 @@ Tie::Array - base class for tied arrays
package main;
- $object = tie @somearray,Tie::NewArray;
- $object = tie @somearray,Tie::StdArray;
- $object = tie @somearray,Tie::NewStdArray;
+ $object = tie @somearray,'Tie::NewArray';
+ $object = tie @somearray,'Tie::StdArray';
+ $object = tie @somearray,'Tie::NewStdArray';
diff --git a/Master/tlpkg/tlperl/lib/Tie/Hash.pm b/Master/tlpkg/tlperl/lib/Tie/Hash.pm
index 1ca8887e7e3..1acd829c347 100644
--- a/Master/tlpkg/tlperl/lib/Tie/Hash.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/Hash.pm
@@ -1,6 +1,6 @@
package Tie::Hash;
-our $VERSION = '1.03';
+our $VERSION = '1.04';
=head1 NAME
@@ -197,9 +197,20 @@ sub new {
sub TIEHASH {
my $pkg = shift;
- if (defined &{"${pkg}::new"}) {
- warnings::warnif("WARNING: calling ${pkg}->new since ${pkg}->TIEHASH is missing");
- $pkg->new(@_);
+ my $pkg_new = $pkg -> can ('new');
+
+ if ($pkg_new and $pkg ne __PACKAGE__) {
+ my $my_new = __PACKAGE__ -> can ('new');
+ if ($pkg_new == $my_new) {
+ #
+ # Prevent recursion
+ #
+ croak "$pkg must define either a TIEHASH() or a new() method";
+ }
+
+ warnings::warnif ("WARNING: calling ${pkg}->new since " .
+ "${pkg}->TIEHASH is missing");
+ $pkg -> new (@_);
}
else {
croak "$pkg doesn't define a TIEHASH method";
diff --git a/Master/tlpkg/tlperl/lib/Tie/Hash/NamedCapture.pm b/Master/tlpkg/tlperl/lib/Tie/Hash/NamedCapture.pm
index 58ae743d874..932e4404d17 100644
--- a/Master/tlpkg/tlperl/lib/Tie/Hash/NamedCapture.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/Hash/NamedCapture.pm
@@ -1,23 +1,10 @@
+use strict;
package Tie::Hash::NamedCapture;
-our $VERSION = "0.06";
+our $VERSION = "0.08";
-# The real meat implemented in XS in universal.c in the core, but this
-# method was left behind because gv.c expects a Purl-Perl method in
-# this package when it loads the tie magic for %+ and %-
-
-my ($one, $all) = Tie::Hash::NamedCapture::flags();
-
-sub TIEHASH {
- my ($pkg, %arg) = @_;
- my $flag = $arg{all} ? $all : $one;
- bless \$flag => $pkg;
-}
-
-tie %+, __PACKAGE__;
-tie %-, __PACKAGE__, all => 1;
-
-1;
+require XSLoader;
+XSLoader::load(); # This returns true, which makes require happy.
__END__
diff --git a/Master/tlpkg/tlperl/lib/Tie/RefHash.pm b/Master/tlpkg/tlperl/lib/Tie/RefHash.pm
index f95bf41efdf..ed72abc90ed 100644
--- a/Master/tlpkg/tlperl/lib/Tie/RefHash.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/RefHash.pm
@@ -2,7 +2,7 @@ package Tie::RefHash;
use vars qw/$VERSION/;
-$VERSION = "1.38";
+$VERSION = "1.39";
use 5.005;
@@ -71,6 +71,11 @@ cloning of tied refhashes.
This version of Tie::RefHash seems to no longer work with 5.004. This has not
been throughly investigated. Patches welcome ;-)
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under
+the same terms as Perl itself
+
=head1 MAINTAINER
Yuval Kogman E<lt>nothingmuch@woobling.orgE<gt>
@@ -159,7 +164,7 @@ my $storable_format_version = join("/", __PACKAGE__, "0.01");
sub STORABLE_freeze {
my ( $self, $is_cloning ) = @_;
my ( $refs, $reg ) = @$self;
- return ( $storable_format_version, [ values %$refs ], $reg );
+ return ( $storable_format_version, [ values %$refs ], $reg || {} );
}
sub STORABLE_thaw {
diff --git a/Master/tlpkg/tlperl/lib/Time/HiRes.pm b/Master/tlpkg/tlperl/lib/Time/HiRes.pm
index da4d45a96e8..8f2ec21331b 100644
--- a/Master/tlpkg/tlperl/lib/Time/HiRes.pm
+++ b/Master/tlpkg/tlperl/lib/Time/HiRes.pm
@@ -23,7 +23,7 @@ require DynaLoader;
stat
);
-$VERSION = '1.9719';
+$VERSION = '1.9721_01';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
diff --git a/Master/tlpkg/tlperl/lib/Time/Local.pm b/Master/tlpkg/tlperl/lib/Time/Local.pm
index 96a688d92c4..0e9c4ac467c 100644
--- a/Master/tlpkg/tlperl/lib/Time/Local.pm
+++ b/Master/tlpkg/tlperl/lib/Time/Local.pm
@@ -6,7 +6,7 @@ use Config;
use strict;
use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK );
-$VERSION = '1.1901_01';
+$VERSION = '1.2000';
@ISA = qw( Exporter );
@EXPORT = qw( timegm timelocal );
@@ -28,8 +28,23 @@ use constant SECS_PER_MINUTE => 60;
use constant SECS_PER_HOUR => 3600;
use constant SECS_PER_DAY => 86400;
-# localtime()'s limit is the year 2**31
-my $MaxDay = 365 * (2**31);
+my $MaxDay;
+if ($] < 5.012000) {
+ my $MaxInt;
+ if ( $^O eq 'MacOS' ) {
+ # time_t is unsigned...
+ $MaxInt = ( 1 << ( 8 * $Config{ivsize} ) ) - 1;
+ }
+ else {
+ $MaxInt = ( ( 1 << ( 8 * $Config{ivsize} - 2 ) ) - 1 ) * 2 + 1;
+ }
+
+ $MaxDay = int( ( $MaxInt - ( SECS_PER_DAY / 2 ) ) / SECS_PER_DAY ) - 1;
+}
+else {
+ # recent localtime()'s limit is the year 2**31
+ $MaxDay = 365 * (2**31);
+}
# Determine the EPOC day for this machine
my $Epoc = 0;
@@ -266,6 +281,21 @@ absolute four digit year instead.
The scheme above allows interpretation of a wide range of dates,
particularly if 4-digit years are used.
+=head2 Limits of time_t
+
+On perl versions older than 5.12.0, the range of dates that can be
+actually be handled depends on the size of C<time_t> (usually a signed
+integer) on the given platform. Currently, this is 32 bits for most
+systems, yielding an approximate range from Dec 1901 to Jan 2038.
+
+Both C<timelocal()> and C<timegm()> croak if given dates outside the
+supported range.
+
+As of version 5.12.0, perl has stopped using the underlying time
+library of the operating system it's running on and has its own
+implementation of those routines with a safe range of at least
++/ 2**52 (about 142 million years).
+
=head2 Ambiguous Local Times (DST)
Because of DST changes, there are many time zones where the same local
@@ -288,6 +318,19 @@ for the "Europe/Paris" time zone, the local clock jumped from
If the C<timelocal()> function is given a non-existent local time, it
will simply return an epoch value for the time one hour later.
+=head2 Negative Epoch Values
+
+On perl version 5.12.0 and newer, negative epoch values are fully
+supported.
+
+On older versions of perl, negative epoch (C<time_t>) values, which
+are not officially supported by the POSIX standards, are known not to
+work on some systems. These include MacOS (pre-OSX) and Win32.
+
+On systems which do support negative epoch values, this module should
+be able to cope with dates before the start of the epoch, down the
+minimum value of time_t for the system.
+
=head1 IMPLEMENTATION
These routines are quite efficient and yet are always guaranteed to
diff --git a/Master/tlpkg/tlperl/lib/Time/Piece.pm b/Master/tlpkg/tlperl/lib/Time/Piece.pm
index a7a602fa2ca..a3f7fb660b0 100644
--- a/Master/tlpkg/tlperl/lib/Time/Piece.pm
+++ b/Master/tlpkg/tlperl/lib/Time/Piece.pm
@@ -1,5 +1,3 @@
-# $Id: Piece.pm 82 2009-06-27 13:20:23Z matt $
-
package Time::Piece;
use strict;
@@ -9,7 +7,6 @@ require DynaLoader;
use Time::Seconds;
use Carp;
use Time::Local;
-#use UNIVERSAL qw(isa); # Commented out for Perl 5.12.0 by JRV to avoid a deprecation warning
our @ISA = qw(Exporter DynaLoader);
@@ -22,7 +19,7 @@ our %EXPORT_TAGS = (
':override' => 'internal',
);
-our $VERSION = '1.15_01';
+our $VERSION = '1.20_01';
bootstrap Time::Piece $VERSION;
@@ -78,7 +75,7 @@ sub new {
$self = $class->localtime();
}
- return bless $self, $class;
+ return bless $self, ref($class) || $class;
}
sub parse {
@@ -102,7 +99,7 @@ sub _mktime {
: $class;
if (ref($time)) {
$time->[c_epoch] = undef;
- return wantarray ? @$time : bless [@$time, $islocal], $class;
+ return wantarray ? @$time : bless [@$time[0..9], $islocal], $class;
}
_tzset();
my @time = $islocal ?
@@ -297,7 +294,9 @@ sub tzoffset {
# Compute floating offset in hours.
#
- my $delta = 24 * (&$j(CORE::localtime $epoch) - &$j(CORE::gmtime $epoch));
+ # Note use of crt methods so the tz is properly set...
+ # See: http://perlmonks.org/?node_id=820347
+ my $delta = 24 * ($j->(_crt_localtime($epoch)) - $j->(_crt_gmtime($epoch)));
# Return value in seconds rounded to nearest minute.
return Time::Seconds->new( int($delta * 60 + ($delta >= 0 ? 0.5 : -0.5)) * 60 );
@@ -601,7 +600,12 @@ sub add_months {
if ($final_month > 11 || $final_month < 0) {
# these two ops required because we have no POSIX::floor and don't
# want to load POSIX.pm
- $num_years = int($final_month / 12);
+ if ($final_month < 0 && $final_month % 12 == 0) {
+ $num_years = int($final_month / 12) + 1;
+ }
+ else {
+ $num_years = int($final_month / 12);
+ }
$num_years-- if ($final_month < 0);
$final_month = $final_month % 12;
@@ -609,7 +613,7 @@ sub add_months {
my @vals = _mini_mktime($time->sec, $time->min, $time->hour,
$time->mday, $final_month, $time->year - 1900 + $num_years);
-# warn(sprintf("got vals: %d-%d-%d %d:%d:%d\n", reverse(@vals)));
+ # warn(sprintf("got %d vals: %d-%d-%d %d:%d:%d [%d]\n", scalar(@vals), reverse(@vals), $time->[c_islocal]));
return scalar $time->_mktime(\@vals, $time->[c_islocal]);
}
@@ -780,10 +784,10 @@ Date comparisons are also possible, using the full suite of "<", ">",
=head2 Date Parsing
-Time::Piece links to your C library's strptime() function, allowing
+Time::Piece has a built-in strptime() function (from FreeBSD), allowing
you incredibly flexible date parsing routines. For example:
- my $t = Time::Piece->strptime("Sun 3rd Nov, 1943",
+ my $t = Time::Piece->strptime("Sunday 3rd Nov, 1943",
"%A %drd %b, %Y");
print $t->strftime("%a, %d %b %Y");
@@ -797,6 +801,8 @@ Outputs:
For more information see "man strptime", which should be on all unix
systems.
+Alternatively look here: http://www.unix.com/man-page/FreeBSD/3/strftime/
+
=head2 YYYY-MM-DDThh:mm:ss
The ISO 8601 standard defines the date format to be YYYY-MM-DD, and
@@ -838,6 +844,17 @@ also call _tzset() in the main thread to register the environment change).
Furthermore, remember that this caveat also applies to fork(), which is
emulated by threads on Win32.
+=head2 Use of epoch seconds
+
+This module internally uses the epoch seconds system that is provided via
+the perl C<time()> function and supported by C<gmtime()> and C<localtime()>.
+
+If your perl does not support times larger than C<2^31> seconds then this
+module is likely to fail at processing dates beyond the year 2038. There are
+moves afoot to fix that in perl. Alternatively use 64 bit perl. Or if none
+of those are options, use the L<DateTime> module which has support for years
+well into the future and past.
+
=head1 AUTHOR
Matt Sergeant, matt@sergeant.org
diff --git a/Master/tlpkg/tlperl/lib/Time/Seconds.pm b/Master/tlpkg/tlperl/lib/Time/Seconds.pm
index 4aac9881cb1..1ecefa16abb 100644
--- a/Master/tlpkg/tlperl/lib/Time/Seconds.pm
+++ b/Master/tlpkg/tlperl/lib/Time/Seconds.pm
@@ -1,25 +1,22 @@
-# $Id: Seconds.pm 44 2002-09-08 20:51:38Z matt $
-
package Time::Seconds;
use strict;
use vars qw/@EXPORT @EXPORT_OK @ISA/;
-# use UNIVERSAL qw(isa); # Commented out for Perl 5.12.0 by JRV to avoid a deprecation warning.
@ISA = 'Exporter';
@EXPORT = qw(
- ONE_MINUTE
- ONE_HOUR
- ONE_DAY
- ONE_WEEK
- ONE_MONTH
- ONE_REAL_MONTH
- ONE_YEAR
- ONE_REAL_YEAR
- ONE_FINANCIAL_MONTH
- LEAP_YEAR
- NON_LEAP_YEAR
- );
+ ONE_MINUTE
+ ONE_HOUR
+ ONE_DAY
+ ONE_WEEK
+ ONE_MONTH
+ ONE_REAL_MONTH
+ ONE_YEAR
+ ONE_REAL_YEAR
+ ONE_FINANCIAL_MONTH
+ LEAP_YEAR
+ NON_LEAP_YEAR
+);
@EXPORT_OK = qw(cs_sec cs_mon);
@@ -41,10 +38,10 @@ use constant cs_mon => 1;
use overload
'fallback' => 'undef',
- '0+' => \&seconds,
- '""' => \&seconds,
- '<=>' => \&compare,
- '+' => \&add,
+ '0+' => \&seconds,
+ '""' => \&seconds,
+ '<=>' => \&compare,
+ '+' => \&add,
'-' => \&subtract,
'-=' => \&subtract_from,
'+=' => \&add_to,
@@ -150,6 +147,32 @@ sub years {
$s->days / 365.24225;
}
+sub pretty {
+ my $s = shift;
+ my $str = "";
+ if ($s < 0) {
+ $s = -$s;
+ $str = "minus ";
+ }
+ if ($s >= ONE_MINUTE) {
+ if ($s >= ONE_HOUR) {
+ if ($s >= ONE_DAY) {
+ my $days = sprintf("%d", $s->days); # does a "floor"
+ $str = $days . " days, ";
+ $s -= ($days * ONE_DAY);
+ }
+ my $hours = sprintf("%d", $s->hours);
+ $str .= $hours . " hours, ";
+ $s -= ($hours * ONE_HOUR);
+ }
+ my $mins = sprintf("%d", $s->minutes);
+ $str .= $mins . " minutes, ";
+ $s -= ($mins * ONE_MINUTE);
+ }
+ $str .= $s->seconds . " seconds";
+ return $str;
+}
+
1;
__END__
@@ -183,9 +206,9 @@ Time::Seconds also exports the following constants:
ONE_WEEK
ONE_HOUR
ONE_MINUTE
- ONE_MONTH
- ONE_YEAR
- ONE_FINANCIAL_MONTH
+ ONE_MONTH
+ ONE_YEAR
+ ONE_FINANCIAL_MONTH
LEAP_YEAR
NON_LEAP_YEAR
@@ -205,6 +228,9 @@ The following methods are available:
$val->months;
$val->financial_months; # 30 days
$val->years;
+ $val->pretty; # gives English representation of the delta
+
+The usual arithmetic (+,-,+=,-=) is also available on the objects.
The methods make the assumption that there are 24 hours in a day, 7 days in
a week, 365.24225 days in a year and 12 months in a year.
diff --git a/Master/tlpkg/tlperl/lib/Tk.pm b/Master/tlpkg/tlperl/lib/Tk.pm
index 494db746d2a..ef31f733a55 100644
--- a/Master/tlpkg/tlperl/lib/Tk.pm
+++ b/Master/tlpkg/tlperl/lib/Tk.pm
@@ -64,13 +64,14 @@ use Carp;
# Record author's perforce depot record
#$Tk::CHANGE = q$Change: 3279 $;
-$Tk::CHANGE = 'sfsvn-' . q$Change: 27 $;
+#$Tk::CHANGE = 'sfsvn-' . q$Change: 27 $;
+$Tk::CHANGE = 'git-controlled';
# $tk_version and $tk_patchLevel are reset by pTk when a mainwindow
# is created, $VERSION is checked by bootstrap
$Tk::version = '8.4';
$Tk::patchLevel = '8.4';
-$Tk::VERSION = '804.029';
+$Tk::VERSION = '804.030';
$Tk::VERSION = eval $Tk::VERSION;
$Tk::XS_VERSION = $Tk::VERSION;
$Tk::strictMotif = 0;
diff --git a/Master/tlpkg/tlperl/lib/Tk/Balloon.pod b/Master/tlpkg/tlperl/lib/Tk/Balloon.pod
index c5afb91e089..9188a9e25a4 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Balloon.pod
+++ b/Master/tlpkg/tlperl/lib/Tk/Balloon.pod
@@ -70,6 +70,17 @@ assumed that the balloon is to be attached to the B<Canvas> as a whole.
You can have separate status and balloon messages just like normal
balloons.
+=head2 Balloons and HLists
+
+If the balloon is attached to a B<HList> widget and the message
+arguments are hash references, then each hash key should correspond to
+a HList path and the associated value will correspond to the message
+for that HList item. The balloon message will then be shown for the
+current item (the one at the position of the mouse). Otherwise it is
+assumed that the balloon is to be attached to the B<HList> as a whole.
+You can have separate status and balloon messages just like normal
+balloons.
+
=head2 Balloon Position
By default, the balloon pops up at the lower right side of the client.
diff --git a/Master/tlpkg/tlperl/lib/Tk/Config.pm b/Master/tlpkg/tlperl/lib/Tk/Config.pm
index 7dc7f199f3b..8d4f62868cc 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Config.pm
@@ -2,7 +2,7 @@
package Tk::Config;
require Exporter;
use base qw(Exporter);
-$VERSION = '804.029';
+$VERSION = '804.03';
$inc = '-I$(TKDIR) -I$(TKDIR)/pTk/mTk/xlib';
$define = '';
$xlib = '';
diff --git a/Master/tlpkg/tlperl/lib/Tk/Event.pm b/Master/tlpkg/tlperl/lib/Tk/Event.pm
index d8c3bc7ba92..dec4aaad3d7 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Event.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Event.pm
@@ -2,7 +2,7 @@ package Tk::Event;
use vars qw($VERSION $XS_VERSION @EXPORT_OK);
END { CleanupGlue() }
$VERSION = '4.024'; # was: sprintf '4.%03d', q$Revision: #15 $ =~ /\D(\d+)\s*$/;
-$XS_VERSION = '804.029';
+$XS_VERSION = '804.030';
$XS_VERSION = eval $XS_VERSION;
use base qw(Exporter);
use XSLoader;
diff --git a/Master/tlpkg/tlperl/lib/Tk/FBox.pm b/Master/tlpkg/tlperl/lib/Tk/FBox.pm
index 3aa025fbe2c..ef867a7e097 100644
--- a/Master/tlpkg/tlperl/lib/Tk/FBox.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/FBox.pm
@@ -559,7 +559,7 @@ sub ResolveFile {
# If the file has no extension, append the default. Be careful not
# to do this for directories, otherwise typing a dirname in the box
# will give back "dirname.extension" instead of trying to change dir.
- if (!-d $path && $path !~ /\..+$/s && defined $defaultext) {
+ if (!-d $path && $text !~ /\..+$/s && defined $defaultext) {
$path = "$path$defaultext";
}
# Cannot just test for existance here as non-existing files are
diff --git a/Master/tlpkg/tlperl/lib/Tk/HList.pm b/Master/tlpkg/tlperl/lib/Tk/HList.pm
index d259ca9ce24..7761f097373 100644
--- a/Master/tlpkg/tlperl/lib/Tk/HList.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/HList.pm
@@ -680,6 +680,29 @@ sub children
@info;
}
-1;
-
+sub BalloonInfo
+{
+ my ($listbox,$balloon,$X,$Y,@opt) = @_;
+ my $e = $listbox->XEvent;
+ return if !$e;
+ my $path = $listbox->GetNearest($e->y, 1);
+ $path = '' unless defined($path);
+ foreach my $opt (@opt)
+ {
+ my $info = $balloon->GetOption($opt,$listbox);
+ if ($opt =~ /^-(statusmsg|balloonmsg)$/
+ && UNIVERSAL::isa($info,'HASH'))
+ {
+ $balloon->Subclient($path);
+ if (defined $info->{$path})
+ {
+ return $info->{$path};
+ }
+ return '';
+ }
+ return $info if (defined $info);
+ }
+ return '';
+}
+1;
diff --git a/Master/tlpkg/tlperl/lib/Tk/Image.pm b/Master/tlpkg/tlperl/lib/Tk/Image.pm
index 0f41c387fc2..2c47a13d749 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Image.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Image.pm
@@ -38,7 +38,7 @@ sub ClassInit
require Tk::Submethods;
-Direct Tk::Submethods ('image' => [qw(delete width height type)]);
+Direct Tk::Submethods ('image' => [qw(delete width height inuse type)]);
sub Tk::Widget::imageNames
{
diff --git a/Master/tlpkg/tlperl/lib/Tk/Image.pod b/Master/tlpkg/tlperl/lib/Tk/Image.pod
index 9a9b6b6b646..797ecc23cbf 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Image.pod
+++ b/Master/tlpkg/tlperl/lib/Tk/Image.pod
@@ -65,10 +65,10 @@ the existing instances will use the new image.
Returns a decimal string giving the height of image I<name>
in pixels.
-=item I<$widget>-E<gt>B<imageInuse>( 'name' );
+=item I<$image>-E<gt>B<inuse>
-Returns a boolean value indicating whether or not the image
-given by I<name> is in use by any widgets.
+Returns a boolean value indicating whether or not the image is in use
+by any widgets.
=item I<$widget>-E<gt>B<imageNames>
diff --git a/Master/tlpkg/tlperl/lib/Tk/MainWindow.pm b/Master/tlpkg/tlperl/lib/Tk/MainWindow.pm
index 5dc08d027d7..207b0d1fbb5 100644
--- a/Master/tlpkg/tlperl/lib/Tk/MainWindow.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/MainWindow.pm
@@ -8,7 +8,7 @@ BEGIN { @MainWindow::ISA = 'Tk::MainWindow' }
use strict;
use vars qw($VERSION);
-$VERSION = '4.014'; # was: sprintf '4.%03d', q$Revision: #12 $ =~ /\D(\d+)\s*$/;
+$VERSION = '4.015'; # was: sprintf '4.%03d', q$Revision: #12 $ =~ /\D(\d+)\s*$/;
use Tk::CmdLine;
use Tk qw(catch);
@@ -18,8 +18,6 @@ use Carp;
$| = 1;
-my $pid = $$;
-
my %Windows = ();
sub CreateArgs
diff --git a/Master/tlpkg/tlperl/lib/Tk/Pane.pm b/Master/tlpkg/tlperl/lib/Tk/Pane.pm
index 36c5203a42d..fa63b1a64f9 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Pane.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Pane.pm
@@ -409,7 +409,7 @@ Tk::Pane - A window panner
use Tk::Pane;
- $pane = $mw->Scrolled(Pane, Name => 'fred',
+ $pane = $mw->Scrolled("Pane", Name => 'fred',
-scrollbars => 'soe',
-sticky => 'we',
-gridded => 'y'
diff --git a/Master/tlpkg/tlperl/lib/Tk/ProgressBar.pm b/Master/tlpkg/tlperl/lib/Tk/ProgressBar.pm
index f41abff6fdc..33d97fb3b94 100644
--- a/Master/tlpkg/tlperl/lib/Tk/ProgressBar.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/ProgressBar.pm
@@ -1,7 +1,7 @@
package Tk::ProgressBar;
use vars qw($VERSION);
-$VERSION = '4.014'; # was: sprintf '4.%03d', q$Revision: #10 $ =~ /\D(\d+)\s*$/;
+$VERSION = '4.015'; # was: sprintf '4.%03d', q$Revision: #10 $ =~ /\D(\d+)\s*$/;
use Tk;
use Tk::Canvas;
@@ -21,6 +21,10 @@ sub ClassInit {
$mw->bind($class,'<Configure>', ['_layoutRequest',1]);
}
+my $LAYOUT_REQUEST_NONE = 0;
+my $LAYOUT_REQUEST_COLORS = 1;
+my $LAYOUT_REQUEST_VALUE = 2;
+my $LAYOUT_REQUEST_GEOM = 4;
sub Populate {
my($c,$args) = @_;
@@ -46,10 +50,26 @@ sub Populate {
-troughcolor
=> [PASSIVE => 'troughColor', 'Background', 'grey55'],
);
- _layoutRequest($c,1);
+ $c->_layoutRequest($LAYOUT_REQUEST_COLORS);
$c->OnDestroy(['Destroyed' => $c]);
}
+sub ConfigChanged {
+ my($c, $changed) = @_;
+ for my $k (qw(from to blocks padx pady gap colors resolution troughcolor)) {
+ if (exists $changed->{"-$k"}) {
+ $c->_layoutRequest($LAYOUT_REQUEST_COLORS);
+ last;
+ }
+ }
+ for my $k (qw(borderwidth length width)) {
+ if (exists $changed->{"-$k"}) {
+ $c->_layoutRequest($LAYOUT_REQUEST_GEOM);
+ last;
+ }
+ }
+}
+
sub anchor {
my $c = shift;
my $var = \$c->{Configure}{'-anchor'};
@@ -91,7 +111,7 @@ sub _arrange {
my($minv,$maxv) = $from < $to ? ($from,$to) : ($to,$from);
- if($w == 1 && $h == 1) {
+ if(($w == 1 && $h == 1) || ($why & $LAYOUT_REQUEST_GEOM)) {
my $bw = $c->cget('-borderwidth');
my $defw = 10 + $y*2 + $bw *2;
my $defl = ($maxv - $minv) + $x*2 + $bw*2;
@@ -101,7 +121,6 @@ sub _arrange {
($w,$h) = ($h,$w) if $horz;
$c->GeometryRequest($w,$h);
- $c->parent->update;
$c->update;
$w = $c->Width;
@@ -128,7 +147,7 @@ sub _arrange {
$gap = 0;
}
- if($why & 1) {
+ if($why & $LAYOUT_REQUEST_COLORS) {
my $colors = $c->{Configure}{'-colors'} || [];
my $bdir = $from < $to ? $dir : 0 - $dir;
@@ -289,7 +308,7 @@ sub value {
if(@_) {
my $value = shift;
$$val = defined($value) ? $value : $c->{Configure}{'-from'};
- _layoutRequest($c,2);
+ $c->_layoutRequest($LAYOUT_REQUEST_VALUE);
}
$old;
@@ -308,7 +327,7 @@ sub variable {
$c->{'-variable'} = $varref;
$c->traceVariable($varref, 'w', sub { $c->value($_[1]) });
$$varref = $oldval;
- _layoutRequest($c,2);
+ $c->_layoutRequest($LAYOUT_REQUEST_VALUE);
}
$oldval;
}
diff --git a/Master/tlpkg/tlperl/lib/Tk/Text.pod b/Master/tlpkg/tlperl/lib/Tk/Text.pod
index 3f266979ed3..200cda9b033 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Text.pod
+++ b/Master/tlpkg/tlperl/lib/Tk/Text.pod
@@ -14,7 +14,7 @@ Tk::Text - Create and manipulate Text widgets
=head1 SYNOPSIS
-B<text> $text ?I<options>?
+I<$text> = I<$parent>-E<gt>B<Text>(?I<options>?);
B<-background> B<-highlightbackground> B<-insertontime> B<-selectborderwidth>
B<-borderwidth> B<-highlightcolor> B<-insertwidth> B<-selectforeground>
diff --git a/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod b/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod
index 23aa4468bfa..93484db0076 100644
--- a/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod
+++ b/Master/tlpkg/tlperl/lib/Tk/TixGrid.pod
@@ -181,15 +181,15 @@ following.
=over 8
-=item B<x_region>
+=item B<x_margin>
The horizontal margin.
-=item B<y_region>
+=item B<y_margin>
The vertical margin.
-=item B<s_region>
+=item B<s_margin>
The area in the top left corner where the horizontal and vertical margins
are joined.
diff --git a/Master/tlpkg/tlperl/lib/Tk/Widget.pm b/Master/tlpkg/tlperl/lib/Tk/Widget.pm
index 4d20f96066a..96cd136b245 100644
--- a/Master/tlpkg/tlperl/lib/Tk/Widget.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/Widget.pm
@@ -63,7 +63,7 @@ sub False { 0 }
use Tk::Submethods( 'grab' => [qw(current status release -global)],
'focus' => [qw(-force -lastfor)],
'pack' => [qw(configure forget info propagate slaves)],
- 'grid' => [qw(bbox columnconfigure configure forget info location propagate rowconfigure size slaves)],
+ 'grid' => [qw(bbox columnconfigure configure forget info location propagate remove rowconfigure size slaves)],
'form' => [qw(check configure forget grid info slaves)],
'event' => [qw(add delete generate info)],
'place' => [qw(configure forget info slaves)],
@@ -1225,7 +1225,7 @@ sub grid
{
local $SIG{'__DIE__'} = \&Carp::croak;
my $w = shift;
- if (@_ && $_[0] =~ /^(?:bbox|columnconfigure|configure|forget|info|location|propagate|rowconfigure|size|slaves)$/x)
+ if (@_ && $_[0] =~ /^(?:bbox|columnconfigure|configure|forget|info|location|propagate|remove|rowconfigure|size|slaves)$/x)
{
my $opt = shift;
Tk::grid($opt,$w,@_);
diff --git a/Master/tlpkg/tlperl/lib/Tk/X11/X.h b/Master/tlpkg/tlperl/lib/Tk/X11/X.h
index 95db07f903f..a1cf10c8a90 100644
--- a/Master/tlpkg/tlperl/lib/Tk/X11/X.h
+++ b/Master/tlpkg/tlperl/lib/Tk/X11/X.h
@@ -40,7 +40,7 @@ SOFTWARE.
/* Resources */
-#ifdef _WIN64
+#if defined(_WIN64) && defined(_MSC_VER)
typedef __int64 XID;
#else
typedef unsigned long XID;
diff --git a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Ball.pm b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Ball.pm
index c05605e4aaa..0f85f121091 100644
--- a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Ball.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Ball.pm
@@ -1,5 +1,6 @@
-package Ball;
+package # hide from CPAN indexer
+ Ball;
# Ball.pm, a class module that allows concurrent simulation (canvas) instances.
#
@@ -18,7 +19,7 @@ package Ball;
# Tidied up by SOL.
use vars qw/$VERSION/;
-$VERSION = '4.004'; # $Id: //depot/Tkutf8/demos/demos/widget_lib/Ball.pm#4 $
+$VERSION = '4.005'; # $Id: //depot/Tkutf8/demos/demos/widget_lib/Ball.pm#4 $
use Tk::Canvas;
use Tk::Widget;
diff --git a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Plot.pm b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Plot.pm
index c5416b0e535..25ace4a805b 100644
--- a/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Plot.pm
+++ b/Master/tlpkg/tlperl/lib/Tk/demos/widget_lib/Plot.pm
@@ -1,5 +1,6 @@
-package Plot;
+package # hide from CPAN indexer
+ Plot;
# Class "Plot": constructor, methods, destructor, global class data,
# etcetera.
@@ -12,7 +13,7 @@ package Plot;
require 5.005_03;
use vars qw/$VERSION @ISA/;
-$VERSION = '4.008'; # sprintf '4.%03d', q$Revision: #7 $ =~ /\D(\d+)\s*$/;
+$VERSION = '4.009'; # sprintf '4.%03d', q$Revision: #7 $ =~ /\D(\d+)\s*$/;
use Tk::Frame;
use base qw/Tk::Frame/;
diff --git a/Master/tlpkg/tlperl/lib/Tk/demos/widtrib/all.pl b/Master/tlpkg/tlperl/lib/Tk/demos/widtrib/all.pl
index 2152465c462..482bb46ea5b 100644
--- a/Master/tlpkg/tlperl/lib/Tk/demos/widtrib/all.pl
+++ b/Master/tlpkg/tlperl/lib/Tk/demos/widtrib/all.pl
@@ -27,7 +27,7 @@ All Tk widgets at a glance in one Toplevel.
The left column contains the class name, the middle column a sample representation of this widget, and the right column a button to the widget's Pod (requires Tk::Pod from CPAN).
-There are two sections: core Tk modules which come with stock Tk $Tk::VERSION and a sample of non-standard Tk modules from CPAN. The non-standard modules are only displayed if installed, otherwise they are skipped.
+There are three sections: core Tk modules and Tix modules which come with stock Tk $Tk::VERSION and a sample of non-standard Tk modules from CPAN. The non-standard modules are only displayed if installed, otherwise they are skipped.
EOF
-geometry_manager => 'pack',
-title => 'All widgets',
@@ -74,6 +74,7 @@ EOF
-width => rand(4)+1,
);
}
+ $w->configure(-scrollregion => [$w->bbox("all")]);
},
},
{class => 'Checkbutton', w_args => [-text => 'This is a checkbutton']},
@@ -113,7 +114,22 @@ EOF
{class => 'TextList', w_args => [@txt_geom], action => $insert_lb, scrolled => 'oe'},
{class => 'TextUndo', w_args => [@txt_geom], action => $insert_txt, scrolled => 'oe'},
# XXX Toplevel
- qw(FloatEntry HList IconList InputO
+
+ {separator => 'Tix modules'},
+
+ 'FloatEntry',
+ {class => 'HList', action => sub {
+ my $w = shift;
+ my $b = $w->Balloon;
+ my %binfo;
+ for my $path ('1', '1.1', '1.2', '2', '2.1') {
+ $w->add($path, -text => $path);
+ $binfo{$path} = "BalloonInfo: $path";
+ }
+ $b->attach($w, -balloonposition => "mouse", -msg => \%binfo);
+ },
+ },
+ qw(IconList InputO
LabEntry LabFrame LabRadio NBFrame Optionmenu
Panedwindow ProgressBar TList Table
Tiler TixGrid Tree
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/Lang.t b/Master/tlpkg/tlperl/lib/Tk/pTk/Lang.t
index b9a1f287c25..030a20c1174 100644
--- a/Master/tlpkg/tlperl/lib/Tk/pTk/Lang.t
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk/Lang.t
@@ -1,217 +1,217 @@
-#ifdef _LANG
-VVAR(Tcl_ObjCmdProc *,LangOptionCommand,V_LangOptionCommand)
-#if !defined(TCL_EVENT_IMPLEMENT) || defined(Var)
-VVAR(Tcl_ObjType,tclIntType,V_tclIntType)
-#endif /* #if !defined(TCL_EVENT_IMPLEMENT) || defined(Var) */
-#ifndef LangCmpArg
-VFUNC(int,LangCmpArg,V_LangCmpArg,_ANSI_ARGS_((CONST Tcl_Obj *,CONST Tcl_Obj *)))
-#endif /* #ifndef LangCmpArg */
-
-#ifndef LangCmpOpt
-VFUNC(int,LangCmpOpt,V_LangCmpOpt,_ANSI_ARGS_((CONST char *opt,CONST char *arg,size_t length)))
-#endif /* #ifndef LangCmpOpt */
-
-#ifndef LangConfigObj
-VFUNC(int,LangConfigObj,V_LangConfigObj,_ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj **save,
- Tcl_Obj *obj, int type)))
-#endif /* #ifndef LangConfigObj */
-
-#ifndef LangCopyArg
-VFUNC(Tcl_Obj *,LangCopyArg,V_LangCopyArg,_ANSI_ARGS_((Tcl_Obj *)))
-#endif /* #ifndef LangCopyArg */
-
-#ifndef LangDoCallback
-VFUNC(int,LangDoCallback,V_LangDoCallback,_ANSI_ARGS_((Tcl_Interp *,LangCallback *,int result,int argc,...)))
-#endif /* #ifndef LangDoCallback */
-
-#ifndef LangDumpVec
-VFUNC(void,LangDumpVec,V_LangDumpVec,_ANSI_ARGS_((CONST char *tag, int argc, Tcl_Obj **vec)))
-#endif /* #ifndef LangDumpVec */
-
-#ifndef LangEventHook
-VFUNC(int,LangEventHook,V_LangEventHook,_ANSI_ARGS_((int flags)))
-#endif /* #ifndef LangEventHook */
-
-#ifndef LangFontRank
-VFUNC(unsigned int,LangFontRank,V_LangFontRank,_ANSI_ARGS_((unsigned int suggested,
- int ch, CONST char *gotName,
- CONST char *wantFoundary,
- CONST struct TkFontAttributes *wantAttrib,
- CONST char *wantEncoding,
- CONST char *gotFoundary,
- CONST struct TkFontAttributes *gotAttrib,
- CONST char *gotEncoding)))
-#endif /* #ifndef LangFontRank */
-
-#ifndef LangFreeArg
-VFUNC(void,LangFreeArg,V_LangFreeArg,_ANSI_ARGS_((Tcl_Obj *,Tcl_FreeProc *freeProc)))
-#endif /* #ifndef LangFreeArg */
-
-#ifndef LangFreeVar
-VFUNC(void,LangFreeVar,V_LangFreeVar,_ANSI_ARGS_((Var)))
-#endif /* #ifndef LangFreeVar */
-
-#ifndef LangLibraryDir
-VFUNC(char *,LangLibraryDir,V_LangLibraryDir,_ANSI_ARGS_((void)))
-#endif /* #ifndef LangLibraryDir */
-
-#ifndef LangMethodCall
-VFUNC(int,LangMethodCall,V_LangMethodCall,_ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,char *,int result,int argc,...)))
-#endif /* #ifndef LangMethodCall */
-
-#ifndef LangNull
-VFUNC(int,LangNull,V_LangNull,_ANSI_ARGS_((Tcl_Obj *)))
-#endif /* #ifndef LangNull */
-
-#ifndef LangSaveVar
-VFUNC(int,LangSaveVar,V_LangSaveVar,_ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,Var *,int type)))
-#endif /* #ifndef LangSaveVar */
-
-#ifndef LangSetDefault
-VFUNC(void,LangSetDefault,V_LangSetDefault,_ANSI_ARGS_((Tcl_Obj **,CONST char *)))
-#endif /* #ifndef LangSetDefault */
-
-#ifndef LangSetDouble
-VFUNC(void,LangSetDouble,V_LangSetDouble,_ANSI_ARGS_((Tcl_Obj **,double)))
-#endif /* #ifndef LangSetDouble */
-
-#ifndef LangSetInt
-VFUNC(void,LangSetInt,V_LangSetInt,_ANSI_ARGS_((Tcl_Obj **,int)))
-#endif /* #ifndef LangSetInt */
-
-#ifndef LangSetObj
-VFUNC(void,LangSetObj,V_LangSetObj,_ANSI_ARGS_((Tcl_Obj **,Tcl_Obj *)))
-#endif /* #ifndef LangSetObj */
-
-#ifndef LangSetString
-VFUNC(void,LangSetString,V_LangSetString,_ANSI_ARGS_((Tcl_Obj **,CONST char *)))
-#endif /* #ifndef LangSetString */
-
-#ifndef LangSetVar
-VFUNC(void,LangSetVar,V_LangSetVar,_ANSI_ARGS_((Tcl_Obj **,Var)))
-#endif /* #ifndef LangSetVar */
-
-#ifndef Lang_BuildInImages
-VFUNC(void,Lang_BuildInImages,V_Lang_BuildInImages,_ANSI_ARGS_((void)))
-#endif /* #ifndef Lang_BuildInImages */
-
-#ifndef Lang_CallWithArgs
-VFUNC(int,Lang_CallWithArgs,V_Lang_CallWithArgs,_ANSI_ARGS_((Tcl_Interp *interp,
- char *sub, int argc, Tcl_Obj *CONST *argv)))
-#endif /* #ifndef Lang_CallWithArgs */
-
-#ifndef Lang_CreateEncoding
-VFUNC(Tcl_Encoding,Lang_CreateEncoding,V_Lang_CreateEncoding,_ANSI_ARGS_((
- CONST char *encodingName,
- Tcl_EncodingConvertProc *toUtfProc,
- Tcl_EncodingConvertProc *fromUtfProc,
- Tcl_EncodingFreeProc *freeProc,
- ClientData clientData,
- int nullSize)))
-#endif /* #ifndef Lang_CreateEncoding */
-
-#ifndef Lang_CreateObject
-VFUNC(Tcl_Command,Lang_CreateObject,V_Lang_CreateObject,_ANSI_ARGS_((Tcl_Interp *interp,
- char *cmdName, Tcl_ObjCmdProc *proc,
- ClientData clientData,
- Tcl_CmdDeleteProc *deleteProc)))
-#endif /* #ifndef Lang_CreateObject */
-
-#ifndef Lang_DeleteObject
-VFUNC(void,Lang_DeleteObject,V_Lang_DeleteObject,_ANSI_ARGS_((Tcl_Interp *,Tcl_Command)))
-#endif /* #ifndef Lang_DeleteObject */
-
-#ifndef Lang_FreeRegExp
-VFUNC(void,Lang_FreeRegExp,V_Lang_FreeRegExp,_ANSI_ARGS_((Tcl_RegExp re)))
-#endif /* #ifndef Lang_FreeRegExp */
-
-#ifndef Lang_GetErrorCode
-VFUNC(char *,Lang_GetErrorCode,V_Lang_GetErrorCode,_ANSI_ARGS_((Tcl_Interp *interp)))
-#endif /* #ifndef Lang_GetErrorCode */
-
-#ifndef Lang_GetErrorInfo
-VFUNC(char *,Lang_GetErrorInfo,V_Lang_GetErrorInfo,_ANSI_ARGS_((Tcl_Interp *interp)))
-#endif /* #ifndef Lang_GetErrorInfo */
-
-#ifndef Lang_SetBinaryResult
-VFUNC(void,Lang_SetBinaryResult,V_Lang_SetBinaryResult,_ANSI_ARGS_((Tcl_Interp *interp,
- char *string, int len, Tcl_FreeProc *freeProc)))
-#endif /* #ifndef Lang_SetBinaryResult */
-
-#ifndef Lang_SetErrorCode
-VFUNC(void,Lang_SetErrorCode,V_Lang_SetErrorCode,_ANSI_ARGS_((Tcl_Interp *interp,char *code)))
-#endif /* #ifndef Lang_SetErrorCode */
-
-#ifndef Lang_TraceVar
-VFUNC(int,Lang_TraceVar,V_Lang_TraceVar,_ANSI_ARGS_((Tcl_Interp * interp,
- Tcl_Obj *varRef, int flags,
- Lang_VarTraceProc * proc,
- ClientData clientData)))
-#endif /* #ifndef Lang_TraceVar */
-
-#ifndef Lang_UntraceVar
-VFUNC(void,Lang_UntraceVar,V_Lang_UntraceVar,_ANSI_ARGS_((Tcl_Interp * interp,
- Tcl_Obj * varRef, int flags,
- Lang_VarTraceProc * proc,
- ClientData clientData)))
-#endif /* #ifndef Lang_UntraceVar */
-
-#ifndef TclObjGetType
-VFUNC(Tcl_ObjType *,TclObjGetType,V_TclObjGetType,_ANSI_ARGS_((Tcl_Obj *objPtr)))
-#endif /* #ifndef TclObjGetType */
-
-#ifndef TclObjInternal
-VFUNC(Tcl_InternalRep *,TclObjInternal,V_TclObjInternal,_ANSI_ARGS_((Tcl_Obj *objPtr)))
-#endif /* #ifndef TclObjInternal */
-
-#ifndef TclObjLength
-VFUNC(int,TclObjLength,V_TclObjLength,_ANSI_ARGS_((Tcl_Obj *objPtr)))
-#endif /* #ifndef TclObjLength */
-
-#ifndef TclObjSetType
-VFUNC(void,TclObjSetType,V_TclObjSetType,_ANSI_ARGS_((Tcl_Obj *objPtr,Tcl_ObjType *newType)))
-#endif /* #ifndef TclObjSetType */
-
-#ifndef Tcl_AfterObjCmd
-VFUNC(int,Tcl_AfterObjCmd,V_Tcl_AfterObjCmd,_ANSI_ARGS_((ClientData clientData,
- Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])))
-#endif /* #ifndef Tcl_AfterObjCmd */
-
-#ifndef Tcl_DStringLength
-VFUNC(int,Tcl_DStringLength,V_Tcl_DStringLength,_ANSI_ARGS_((Tcl_DString *dString)))
-#endif /* #ifndef Tcl_DStringLength */
-
-#ifndef Tcl_DStringValue
-VFUNC(char *,Tcl_DStringValue,V_Tcl_DStringValue,_ANSI_ARGS_((Tcl_DString *dString)))
-#endif /* #ifndef Tcl_DStringValue */
-
-#ifndef Tcl_DecrRefCount
-VFUNC(void,Tcl_DecrRefCount,V_Tcl_DecrRefCount,_ANSI_ARGS_((Tcl_Obj *objPtr)))
-#endif /* #ifndef Tcl_DecrRefCount */
-
-#ifndef Tcl_DoubleResults
-VFUNC(void,Tcl_DoubleResults,V_Tcl_DoubleResults,_ANSI_ARGS_((Tcl_Interp *interp,int,int,...)))
-#endif /* #ifndef Tcl_DoubleResults */
-
-#ifndef Tcl_IncrRefCount
-VFUNC(void,Tcl_IncrRefCount,V_Tcl_IncrRefCount,_ANSI_ARGS_((Tcl_Obj *objPtr)))
-#endif /* #ifndef Tcl_IncrRefCount */
-
-#ifndef Tcl_IntResults
-VFUNC(void,Tcl_IntResults,V_Tcl_IntResults,_ANSI_ARGS_((Tcl_Interp *interp,int,int,...)))
-#endif /* #ifndef Tcl_IntResults */
-
-#ifndef Tcl_IsShared
-VFUNC(int,Tcl_IsShared,V_Tcl_IsShared,_ANSI_ARGS_((Tcl_Obj *objPtr)))
-#endif /* #ifndef Tcl_IsShared */
-
-#ifndef Tcl_SprintfResult
-VFUNC(void,Tcl_SprintfResult,V_Tcl_SprintfResult,_ANSI_ARGS_((Tcl_Interp *,char *,...)))
-#endif /* #ifndef Tcl_SprintfResult */
-
-#ifndef Tk_PropertyCmd
-VFUNC(int,Tk_PropertyCmd,V_Tk_PropertyCmd,_ANSI_ARGS_((ClientData clientData,
- Tcl_Interp *interp, int argc, Tcl_Obj **objv)))
-#endif /* #ifndef Tk_PropertyCmd */
-
-#endif /* _LANG */
+#ifdef _LANG
+VVAR(Tcl_ObjCmdProc *,LangOptionCommand,V_LangOptionCommand)
+#if !defined(TCL_EVENT_IMPLEMENT) || defined(Var)
+VVAR(Tcl_ObjType,tclIntType,V_tclIntType)
+#endif /* #if !defined(TCL_EVENT_IMPLEMENT) || defined(Var) */
+#ifndef LangCmpArg
+VFUNC(int,LangCmpArg,V_LangCmpArg,_ANSI_ARGS_((CONST Tcl_Obj *,CONST Tcl_Obj *)))
+#endif /* #ifndef LangCmpArg */
+
+#ifndef LangCmpOpt
+VFUNC(int,LangCmpOpt,V_LangCmpOpt,_ANSI_ARGS_((CONST char *opt,CONST char *arg,size_t length)))
+#endif /* #ifndef LangCmpOpt */
+
+#ifndef LangConfigObj
+VFUNC(int,LangConfigObj,V_LangConfigObj,_ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj **save,
+ Tcl_Obj *obj, int type)))
+#endif /* #ifndef LangConfigObj */
+
+#ifndef LangCopyArg
+VFUNC(Tcl_Obj *,LangCopyArg,V_LangCopyArg,_ANSI_ARGS_((Tcl_Obj *)))
+#endif /* #ifndef LangCopyArg */
+
+#ifndef LangDoCallback
+VFUNC(int,LangDoCallback,V_LangDoCallback,_ANSI_ARGS_((Tcl_Interp *,LangCallback *,int result,int argc,...)))
+#endif /* #ifndef LangDoCallback */
+
+#ifndef LangDumpVec
+VFUNC(void,LangDumpVec,V_LangDumpVec,_ANSI_ARGS_((CONST char *tag, int argc, Tcl_Obj **vec)))
+#endif /* #ifndef LangDumpVec */
+
+#ifndef LangEventHook
+VFUNC(int,LangEventHook,V_LangEventHook,_ANSI_ARGS_((int flags)))
+#endif /* #ifndef LangEventHook */
+
+#ifndef LangFontRank
+VFUNC(unsigned int,LangFontRank,V_LangFontRank,_ANSI_ARGS_((unsigned int suggested,
+ int ch, CONST char *gotName,
+ CONST char *wantFoundary,
+ CONST struct TkFontAttributes *wantAttrib,
+ CONST char *wantEncoding,
+ CONST char *gotFoundary,
+ CONST struct TkFontAttributes *gotAttrib,
+ CONST char *gotEncoding)))
+#endif /* #ifndef LangFontRank */
+
+#ifndef LangFreeArg
+VFUNC(void,LangFreeArg,V_LangFreeArg,_ANSI_ARGS_((Tcl_Obj *,Tcl_FreeProc *freeProc)))
+#endif /* #ifndef LangFreeArg */
+
+#ifndef LangFreeVar
+VFUNC(void,LangFreeVar,V_LangFreeVar,_ANSI_ARGS_((Var)))
+#endif /* #ifndef LangFreeVar */
+
+#ifndef LangLibraryDir
+VFUNC(char *,LangLibraryDir,V_LangLibraryDir,_ANSI_ARGS_((void)))
+#endif /* #ifndef LangLibraryDir */
+
+#ifndef LangMethodCall
+VFUNC(int,LangMethodCall,V_LangMethodCall,_ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,char *,int result,int argc,...)))
+#endif /* #ifndef LangMethodCall */
+
+#ifndef LangNull
+VFUNC(int,LangNull,V_LangNull,_ANSI_ARGS_((Tcl_Obj *)))
+#endif /* #ifndef LangNull */
+
+#ifndef LangSaveVar
+VFUNC(int,LangSaveVar,V_LangSaveVar,_ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,Var *,int type)))
+#endif /* #ifndef LangSaveVar */
+
+#ifndef LangSetDefault
+VFUNC(void,LangSetDefault,V_LangSetDefault,_ANSI_ARGS_((Tcl_Obj **,CONST char *)))
+#endif /* #ifndef LangSetDefault */
+
+#ifndef LangSetDouble
+VFUNC(void,LangSetDouble,V_LangSetDouble,_ANSI_ARGS_((Tcl_Obj **,double)))
+#endif /* #ifndef LangSetDouble */
+
+#ifndef LangSetInt
+VFUNC(void,LangSetInt,V_LangSetInt,_ANSI_ARGS_((Tcl_Obj **,int)))
+#endif /* #ifndef LangSetInt */
+
+#ifndef LangSetObj
+VFUNC(void,LangSetObj,V_LangSetObj,_ANSI_ARGS_((Tcl_Obj **,Tcl_Obj *)))
+#endif /* #ifndef LangSetObj */
+
+#ifndef LangSetString
+VFUNC(void,LangSetString,V_LangSetString,_ANSI_ARGS_((Tcl_Obj **,CONST char *)))
+#endif /* #ifndef LangSetString */
+
+#ifndef LangSetVar
+VFUNC(void,LangSetVar,V_LangSetVar,_ANSI_ARGS_((Tcl_Obj **,Var)))
+#endif /* #ifndef LangSetVar */
+
+#ifndef Lang_BuildInImages
+VFUNC(void,Lang_BuildInImages,V_Lang_BuildInImages,_ANSI_ARGS_((void)))
+#endif /* #ifndef Lang_BuildInImages */
+
+#ifndef Lang_CallWithArgs
+VFUNC(int,Lang_CallWithArgs,V_Lang_CallWithArgs,_ANSI_ARGS_((Tcl_Interp *interp,
+ char *sub, int argc, Tcl_Obj *CONST *argv)))
+#endif /* #ifndef Lang_CallWithArgs */
+
+#ifndef Lang_CreateEncoding
+VFUNC(Tcl_Encoding,Lang_CreateEncoding,V_Lang_CreateEncoding,_ANSI_ARGS_((
+ CONST char *encodingName,
+ Tcl_EncodingConvertProc *toUtfProc,
+ Tcl_EncodingConvertProc *fromUtfProc,
+ Tcl_EncodingFreeProc *freeProc,
+ ClientData clientData,
+ int nullSize)))
+#endif /* #ifndef Lang_CreateEncoding */
+
+#ifndef Lang_CreateObject
+VFUNC(Tcl_Command,Lang_CreateObject,V_Lang_CreateObject,_ANSI_ARGS_((Tcl_Interp *interp,
+ char *cmdName, Tcl_ObjCmdProc *proc,
+ ClientData clientData,
+ Tcl_CmdDeleteProc *deleteProc)))
+#endif /* #ifndef Lang_CreateObject */
+
+#ifndef Lang_DeleteObject
+VFUNC(void,Lang_DeleteObject,V_Lang_DeleteObject,_ANSI_ARGS_((Tcl_Interp *,Tcl_Command)))
+#endif /* #ifndef Lang_DeleteObject */
+
+#ifndef Lang_FreeRegExp
+VFUNC(void,Lang_FreeRegExp,V_Lang_FreeRegExp,_ANSI_ARGS_((Tcl_RegExp re)))
+#endif /* #ifndef Lang_FreeRegExp */
+
+#ifndef Lang_GetErrorCode
+VFUNC(char *,Lang_GetErrorCode,V_Lang_GetErrorCode,_ANSI_ARGS_((Tcl_Interp *interp)))
+#endif /* #ifndef Lang_GetErrorCode */
+
+#ifndef Lang_GetErrorInfo
+VFUNC(char *,Lang_GetErrorInfo,V_Lang_GetErrorInfo,_ANSI_ARGS_((Tcl_Interp *interp)))
+#endif /* #ifndef Lang_GetErrorInfo */
+
+#ifndef Lang_SetBinaryResult
+VFUNC(void,Lang_SetBinaryResult,V_Lang_SetBinaryResult,_ANSI_ARGS_((Tcl_Interp *interp,
+ char *string, int len, Tcl_FreeProc *freeProc)))
+#endif /* #ifndef Lang_SetBinaryResult */
+
+#ifndef Lang_SetErrorCode
+VFUNC(void,Lang_SetErrorCode,V_Lang_SetErrorCode,_ANSI_ARGS_((Tcl_Interp *interp,char *code)))
+#endif /* #ifndef Lang_SetErrorCode */
+
+#ifndef Lang_TraceVar
+VFUNC(int,Lang_TraceVar,V_Lang_TraceVar,_ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj *varRef, int flags,
+ Lang_VarTraceProc * proc,
+ ClientData clientData)))
+#endif /* #ifndef Lang_TraceVar */
+
+#ifndef Lang_UntraceVar
+VFUNC(void,Lang_UntraceVar,V_Lang_UntraceVar,_ANSI_ARGS_((Tcl_Interp * interp,
+ Tcl_Obj * varRef, int flags,
+ Lang_VarTraceProc * proc,
+ ClientData clientData)))
+#endif /* #ifndef Lang_UntraceVar */
+
+#ifndef TclObjGetType
+VFUNC(Tcl_ObjType *,TclObjGetType,V_TclObjGetType,_ANSI_ARGS_((Tcl_Obj *objPtr)))
+#endif /* #ifndef TclObjGetType */
+
+#ifndef TclObjInternal
+VFUNC(Tcl_InternalRep *,TclObjInternal,V_TclObjInternal,_ANSI_ARGS_((Tcl_Obj *objPtr)))
+#endif /* #ifndef TclObjInternal */
+
+#ifndef TclObjLength
+VFUNC(int,TclObjLength,V_TclObjLength,_ANSI_ARGS_((Tcl_Obj *objPtr)))
+#endif /* #ifndef TclObjLength */
+
+#ifndef TclObjSetType
+VFUNC(void,TclObjSetType,V_TclObjSetType,_ANSI_ARGS_((Tcl_Obj *objPtr,Tcl_ObjType *newType)))
+#endif /* #ifndef TclObjSetType */
+
+#ifndef Tcl_AfterObjCmd
+VFUNC(int,Tcl_AfterObjCmd,V_Tcl_AfterObjCmd,_ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])))
+#endif /* #ifndef Tcl_AfterObjCmd */
+
+#ifndef Tcl_DStringLength
+VFUNC(int,Tcl_DStringLength,V_Tcl_DStringLength,_ANSI_ARGS_((Tcl_DString *dString)))
+#endif /* #ifndef Tcl_DStringLength */
+
+#ifndef Tcl_DStringValue
+VFUNC(char *,Tcl_DStringValue,V_Tcl_DStringValue,_ANSI_ARGS_((Tcl_DString *dString)))
+#endif /* #ifndef Tcl_DStringValue */
+
+#ifndef Tcl_DecrRefCount
+VFUNC(void,Tcl_DecrRefCount,V_Tcl_DecrRefCount,_ANSI_ARGS_((Tcl_Obj *objPtr)))
+#endif /* #ifndef Tcl_DecrRefCount */
+
+#ifndef Tcl_DoubleResults
+VFUNC(void,Tcl_DoubleResults,V_Tcl_DoubleResults,_ANSI_ARGS_((Tcl_Interp *interp,int,int,...)))
+#endif /* #ifndef Tcl_DoubleResults */
+
+#ifndef Tcl_IncrRefCount
+VFUNC(void,Tcl_IncrRefCount,V_Tcl_IncrRefCount,_ANSI_ARGS_((Tcl_Obj *objPtr)))
+#endif /* #ifndef Tcl_IncrRefCount */
+
+#ifndef Tcl_IntResults
+VFUNC(void,Tcl_IntResults,V_Tcl_IntResults,_ANSI_ARGS_((Tcl_Interp *interp,int,int,...)))
+#endif /* #ifndef Tcl_IntResults */
+
+#ifndef Tcl_IsShared
+VFUNC(int,Tcl_IsShared,V_Tcl_IsShared,_ANSI_ARGS_((Tcl_Obj *objPtr)))
+#endif /* #ifndef Tcl_IsShared */
+
+#ifndef Tcl_SprintfResult
+VFUNC(void,Tcl_SprintfResult,V_Tcl_SprintfResult,_ANSI_ARGS_((Tcl_Interp *,char *,...)))
+#endif /* #ifndef Tcl_SprintfResult */
+
+#ifndef Tk_PropertyCmd
+VFUNC(int,Tk_PropertyCmd,V_Tk_PropertyCmd,_ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp *interp, int argc, Tcl_Obj **objv)))
+#endif /* #ifndef Tk_PropertyCmd */
+
+#endif /* _LANG */
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/Tcl-pTk b/Master/tlpkg/tlperl/lib/Tk/pTk/Tcl-pTk
index cc72e16b6c5..424d69e5ec2 100644
--- a/Master/tlpkg/tlperl/lib/Tk/pTk/Tcl-pTk
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk/Tcl-pTk
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl -w
use open IO => ':bytes'; # Avoid UTF-8 issues with some perl5.8.0 (RedHat)
use Carp;
my $verbose = 0;
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.h b/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.h
index 1cfc929fc71..6645407459b 100644
--- a/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.h
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.h
@@ -1,6 +1,7 @@
#ifndef _XLIB
#define _XLIB
#ifndef _XLIB_H_
+#ifndef _X11_XLIB_H_
extern XFontStruct *XLoadQueryFont _ANSI_ARGS_((Display *, const char *));
extern XModifierKeymap *XGetModifierMapping _ANSI_ARGS_((Display *));
extern XImage *XCreateImage _ANSI_ARGS_((Display *, Visual *, unsigned int, int, int, char *, unsigned int, unsigned int, int, int));
@@ -143,6 +144,7 @@ extern int XFreeFontNames _ANSI_ARGS_((char **));
extern Window XGetSelectionOwner _ANSI_ARGS_((Display *, Atom));
extern int XRectInRegion _ANSI_ARGS_((Region,int,int,unsigned,unsigned));
extern int XSubtractRegion _ANSI_ARGS_((Region, Region, Region));
+#endif /* _X11_XLIB_H_ */
#endif /* _XLIB_H_ */
extern int _XInitImageFuncPtrs _ANSI_ARGS_((XImage *image));
#endif /* _XLIB */
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.t b/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.t
index 324678aa634..a193fc5e3ee 100644
--- a/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.t
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk/Xlib.t
@@ -1,657 +1,657 @@
-#ifdef _XLIB
-#if (defined(__WIN32__) || defined(__PM__)) && !defined(DO_X_EXCLUDE)
-# define DO_X_EXCLUDE
-#endif
-#ifndef DO_X_EXCLUDE
-#ifndef XAllocClassHint
-VFUNC(XClassHint *,XAllocClassHint,V_XAllocClassHint,_ANSI_ARGS_((void)))
-#endif /* #ifndef XAllocClassHint */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XAllocColor
-VFUNC(int,XAllocColor,V_XAllocColor,_ANSI_ARGS_((Display *, Colormap, XColor *)))
-#endif /* #ifndef XAllocColor */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XAllocNamedColor
-VFUNC(int,XAllocNamedColor,V_XAllocNamedColor,_ANSI_ARGS_((Display *, Colormap, const char *, XColor *, XColor *)))
-#endif /* #ifndef XAllocNamedColor */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XAllocSizeHints
-VFUNC(XSizeHints *,XAllocSizeHints,V_XAllocSizeHints,_ANSI_ARGS_((void)))
-#endif /* #ifndef XAllocSizeHints */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XBell
-VFUNC(int,XBell,V_XBell,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XBell */
-
-#ifndef XChangeGC
-VFUNC(int,XChangeGC,V_XChangeGC,_ANSI_ARGS_(( Display*, GC, unsigned long, XGCValues *)))
-#endif /* #ifndef XChangeGC */
-
-#ifndef XChangeProperty
-VFUNC(int,XChangeProperty,V_XChangeProperty,_ANSI_ARGS_((Display *, Window, Atom, Atom, int, int, const unsigned char *, int)))
-#endif /* #ifndef XChangeProperty */
-
-#ifndef XChangeWindowAttributes
-VFUNC(int,XChangeWindowAttributes,V_XChangeWindowAttributes,_ANSI_ARGS_((Display *, Window, long unsigned int, XSetWindowAttributes *)))
-#endif /* #ifndef XChangeWindowAttributes */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XCheckIfEvent
-VFUNC(int,XCheckIfEvent,V_XCheckIfEvent,_ANSI_ARGS_((Display *, XEvent *, int (*) (Display *, XEvent *, char *), char *)))
-#endif /* #ifndef XCheckIfEvent */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XCheckWindowEvent
-VFUNC(int,XCheckWindowEvent,V_XCheckWindowEvent,_ANSI_ARGS_((Display *, Window, long int, XEvent *)))
-#endif /* #ifndef XCheckWindowEvent */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XClearWindow
-VFUNC(int,XClearWindow,V_XClearWindow,_ANSI_ARGS_((Display *, Window)))
-#endif /* #ifndef XClearWindow */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XClipBox
-VFUNC(int,XClipBox,V_XClipBox,_ANSI_ARGS_((Region, XRectangle *)))
-#endif /* #ifndef XClipBox */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XConfigureWindow
-VFUNC(int,XConfigureWindow,V_XConfigureWindow,_ANSI_ARGS_((Display *, Window, unsigned int, XWindowChanges *)))
-#endif /* #ifndef XConfigureWindow */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XConvertSelection
-VFUNC(int,XConvertSelection,V_XConvertSelection,_ANSI_ARGS_((Display *, Atom, Atom, Atom, Window, Time)))
-#endif /* #ifndef XConvertSelection */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XCopyArea
-VFUNC(int,XCopyArea,V_XCopyArea,_ANSI_ARGS_((Display *, Drawable, Drawable, GC, int, int, unsigned int, unsigned int, int, int)))
-#endif /* #ifndef XCopyArea */
-
-#ifndef XCopyPlane
-VFUNC(int,XCopyPlane,V_XCopyPlane,_ANSI_ARGS_((Display *, Drawable, Drawable, GC, int, int, unsigned int, unsigned int, int, int, long unsigned int)))
-#endif /* #ifndef XCopyPlane */
-
-#ifndef XCreateBitmapFromData
-VFUNC(Pixmap,XCreateBitmapFromData,V_XCreateBitmapFromData,_ANSI_ARGS_((Display *, Drawable, const char *, unsigned int, unsigned int)))
-#endif /* #ifndef XCreateBitmapFromData */
-
-#ifndef XCreateColormap
-VFUNC(Colormap,XCreateColormap,V_XCreateColormap,_ANSI_ARGS_((Display *, Window, Visual *, int)))
-#endif /* #ifndef XCreateColormap */
-
-#ifndef XCreateGC
-VFUNC(GC,XCreateGC,V_XCreateGC,_ANSI_ARGS_((Display *, Drawable, long unsigned int, XGCValues *)))
-#endif /* #ifndef XCreateGC */
-
-#ifndef XCreateGlyphCursor
-VFUNC(Cursor,XCreateGlyphCursor,V_XCreateGlyphCursor,_ANSI_ARGS_((Display *, Font, Font, unsigned int, unsigned int, XColor const *, XColor const *)))
-#endif /* #ifndef XCreateGlyphCursor */
-
-#ifndef XCreateImage
-VFUNC(XImage *,XCreateImage,V_XCreateImage,_ANSI_ARGS_((Display *, Visual *, unsigned int, int, int, char *, unsigned int, unsigned int, int, int)))
-#endif /* #ifndef XCreateImage */
-
-#ifndef XCreatePixmapCursor
-VFUNC(Cursor,XCreatePixmapCursor,V_XCreatePixmapCursor,_ANSI_ARGS_((Display *, Pixmap, Pixmap, XColor *, XColor *, unsigned int, unsigned int)))
-#endif /* #ifndef XCreatePixmapCursor */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XCreateRegion
-VFUNC(Region,XCreateRegion,V_XCreateRegion,_ANSI_ARGS_((void)))
-#endif /* #ifndef XCreateRegion */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XCreateWindow
-VFUNC(Window,XCreateWindow,V_XCreateWindow,_ANSI_ARGS_((Display *, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual *, long unsigned int, XSetWindowAttributes *)))
-#endif /* #ifndef XCreateWindow */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDefaultColormap
-VFUNC(Colormap,XDefaultColormap,V_XDefaultColormap,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XDefaultColormap */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDefaultDepth
-VFUNC(int,XDefaultDepth,V_XDefaultDepth,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XDefaultDepth */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDefaultScreen
-VFUNC(int,XDefaultScreen,V_XDefaultScreen,_ANSI_ARGS_((Display *)))
-#endif /* #ifndef XDefaultScreen */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDefaultVisual
-VFUNC(Visual *,XDefaultVisual,V_XDefaultVisual,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XDefaultVisual */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XDefineCursor
-VFUNC(int,XDefineCursor,V_XDefineCursor,_ANSI_ARGS_((Display *, Window, Cursor)))
-#endif /* #ifndef XDefineCursor */
-
-#ifndef XDeleteProperty
-VFUNC(int,XDeleteProperty,V_XDeleteProperty,_ANSI_ARGS_((Display *, Window, Atom)))
-#endif /* #ifndef XDeleteProperty */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDestroyRegion
-VFUNC(int,XDestroyRegion,V_XDestroyRegion,_ANSI_ARGS_((Region)))
-#endif /* #ifndef XDestroyRegion */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XDestroyWindow
-VFUNC(int,XDestroyWindow,V_XDestroyWindow,_ANSI_ARGS_((Display *, Window)))
-#endif /* #ifndef XDestroyWindow */
-
-#ifndef XDrawArc
-VFUNC(int,XDrawArc,V_XDrawArc,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int, int, int)))
-#endif /* #ifndef XDrawArc */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDrawImageString
-VFUNC(int,XDrawImageString,V_XDrawImageString,_ANSI_ARGS_((Display *, Drawable, GC, int, int, const char *, int)))
-#endif /* #ifndef XDrawImageString */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XDrawLine
-VFUNC(int,XDrawLine,V_XDrawLine,_ANSI_ARGS_((Display *, Drawable, GC, int, int, int, int)))
-#endif /* #ifndef XDrawLine */
-
-#ifndef XDrawLines
-VFUNC(int,XDrawLines,V_XDrawLines,_ANSI_ARGS_((Display *, Drawable, GC, XPoint *, int, int)))
-#endif /* #ifndef XDrawLines */
-
-#ifndef XDrawPoints
-VFUNC(int,XDrawPoints,V_XDrawPoints,_ANSI_ARGS_(( Display*, Drawable, GC, XPoint*, int, int)))
-#endif /* #ifndef XDrawPoints */
-
-#ifndef XDrawRectangle
-VFUNC(int,XDrawRectangle,V_XDrawRectangle,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int)))
-#endif /* #ifndef XDrawRectangle */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XDrawString
-VFUNC(int,XDrawString,V_XDrawString,_ANSI_ARGS_((Display *, Drawable, GC, int, int, const char *, int)))
-#endif /* #ifndef XDrawString */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XEventsQueued
-VFUNC(int,XEventsQueued,V_XEventsQueued,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XEventsQueued */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XFillArc
-VFUNC(int,XFillArc,V_XFillArc,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int, int, int)))
-#endif /* #ifndef XFillArc */
-
-#ifndef XFillPolygon
-VFUNC(int,XFillPolygon,V_XFillPolygon,_ANSI_ARGS_((Display *, Drawable, GC, XPoint *, int, int, int)))
-#endif /* #ifndef XFillPolygon */
-
-#ifndef XFillRectangle
-VFUNC(int,XFillRectangle,V_XFillRectangle,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int)))
-#endif /* #ifndef XFillRectangle */
-
-#ifndef XFillRectangles
-VFUNC(int,XFillRectangles,V_XFillRectangles,_ANSI_ARGS_((Display *, Drawable, GC, XRectangle *, int)))
-#endif /* #ifndef XFillRectangles */
-
-#ifndef XFlush
-VFUNC(int,XFlush,V_XFlush,_ANSI_ARGS_((Display *)))
-#endif /* #ifndef XFlush */
-
-#ifndef XFree
-VFUNC(int,XFree,V_XFree,_ANSI_ARGS_((XFree_arg_t *)))
-#endif /* #ifndef XFree */
-
-#ifndef XFreeColormap
-VFUNC(int,XFreeColormap,V_XFreeColormap,_ANSI_ARGS_((Display *, Colormap)))
-#endif /* #ifndef XFreeColormap */
-
-#ifndef XFreeColors
-VFUNC(int,XFreeColors,V_XFreeColors,_ANSI_ARGS_((Display *, Colormap, long unsigned int *, int, long unsigned int)))
-#endif /* #ifndef XFreeColors */
-
-#ifndef XFreeCursor
-VFUNC(int,XFreeCursor,V_XFreeCursor,_ANSI_ARGS_((Display *, Cursor)))
-#endif /* #ifndef XFreeCursor */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XFreeFont
-VFUNC(int,XFreeFont,V_XFreeFont,_ANSI_ARGS_((Display *, XFontStruct *)))
-#endif /* #ifndef XFreeFont */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XFreeFontNames
-VFUNC(int,XFreeFontNames,V_XFreeFontNames,_ANSI_ARGS_((char **)))
-#endif /* #ifndef XFreeFontNames */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XFreeGC
-VFUNC(int,XFreeGC,V_XFreeGC,_ANSI_ARGS_((Display *, GC)))
-#endif /* #ifndef XFreeGC */
-
-#ifndef XFreeModifiermap
-VFUNC(int,XFreeModifiermap,V_XFreeModifiermap,_ANSI_ARGS_((XModifierKeymap *)))
-#endif /* #ifndef XFreeModifiermap */
-
-#ifndef XGContextFromGC
-VFUNC(GContext,XGContextFromGC,V_XGContextFromGC,_ANSI_ARGS_((GC)))
-#endif /* #ifndef XGContextFromGC */
-
-#ifndef XGetAtomName
-VFUNC(char *,XGetAtomName,V_XGetAtomName,_ANSI_ARGS_((Display *, Atom)))
-#endif /* #ifndef XGetAtomName */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XGetFontProperty
-VFUNC(int,XGetFontProperty,V_XGetFontProperty,_ANSI_ARGS_((XFontStruct *, Atom, long unsigned int *)))
-#endif /* #ifndef XGetFontProperty */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XGetGeometry
-VFUNC(int,XGetGeometry,V_XGetGeometry,_ANSI_ARGS_((Display *, Drawable, Window *, int *, int *, unsigned int *, unsigned int *, unsigned int *, unsigned int *)))
-#endif /* #ifndef XGetGeometry */
-
-#ifndef XGetImage
-VFUNC(XImage *,XGetImage,V_XGetImage,_ANSI_ARGS_((Display *, Drawable, int, int, unsigned int, unsigned int, long unsigned int, int)))
-#endif /* #ifndef XGetImage */
-
-#ifndef XGetInputFocus
-VFUNC(int,XGetInputFocus,V_XGetInputFocus,_ANSI_ARGS_((Display *, Window *, int *)))
-#endif /* #ifndef XGetInputFocus */
-
-#ifndef XGetModifierMapping
-VFUNC(XModifierKeymap *,XGetModifierMapping,V_XGetModifierMapping,_ANSI_ARGS_((Display *)))
-#endif /* #ifndef XGetModifierMapping */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XGetSelectionOwner
-VFUNC(Window,XGetSelectionOwner,V_XGetSelectionOwner,_ANSI_ARGS_((Display *, Atom)))
-#endif /* #ifndef XGetSelectionOwner */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XGetVisualInfo
-VFUNC(XVisualInfo *,XGetVisualInfo,V_XGetVisualInfo,_ANSI_ARGS_((Display *, long int, XVisualInfo *, int *)))
-#endif /* #ifndef XGetVisualInfo */
-
-#ifndef XGetWMColormapWindows
-VFUNC(int,XGetWMColormapWindows,V_XGetWMColormapWindows,_ANSI_ARGS_((Display *, Window, Window **, int *)))
-#endif /* #ifndef XGetWMColormapWindows */
-
-#ifndef XGetWindowAttributes
-VFUNC(int,XGetWindowAttributes,V_XGetWindowAttributes,_ANSI_ARGS_((Display *, Window, XWindowAttributes *)))
-#endif /* #ifndef XGetWindowAttributes */
-
-#ifndef XGetWindowProperty
-VFUNC(int,XGetWindowProperty,V_XGetWindowProperty,_ANSI_ARGS_((Display *, Window, Atom, long int, long int, int, Atom, Atom *, int *, long unsigned int *, long unsigned int *, unsigned char **)))
-#endif /* #ifndef XGetWindowProperty */
-
-#ifndef XGrabKeyboard
-VFUNC(int,XGrabKeyboard,V_XGrabKeyboard,_ANSI_ARGS_((Display *, Window, int, int, int, Time)))
-#endif /* #ifndef XGrabKeyboard */
-
-#ifndef XGrabPointer
-VFUNC(int,XGrabPointer,V_XGrabPointer,_ANSI_ARGS_((Display *, Window, int, unsigned int, int, int, Window, Cursor, Time)))
-#endif /* #ifndef XGrabPointer */
-
-#ifndef XGrabServer
-VFUNC(int,XGrabServer,V_XGrabServer,_ANSI_ARGS_((Display *)))
-#endif /* #ifndef XGrabServer */
-
-#ifndef XIconifyWindow
-VFUNC(int,XIconifyWindow,V_XIconifyWindow,_ANSI_ARGS_((Display *, Window, int)))
-#endif /* #ifndef XIconifyWindow */
-
-#ifndef XInternAtom
-VFUNC(Atom,XInternAtom,V_XInternAtom,_ANSI_ARGS_((Display *, const char *, int)))
-#endif /* #ifndef XInternAtom */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XIntersectRegion
-VFUNC(int,XIntersectRegion,V_XIntersectRegion,_ANSI_ARGS_((Region, Region, Region)))
-#endif /* #ifndef XIntersectRegion */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XKeycodeToKeysym
-VFUNC(KeySym,XKeycodeToKeysym,V_XKeycodeToKeysym,_ANSI_ARGS_((Display *, unsigned int, int)))
-#endif /* #ifndef XKeycodeToKeysym */
-
-#ifndef XKeysymToString
-VFUNC(char *,XKeysymToString,V_XKeysymToString,_ANSI_ARGS_((KeySym)))
-#endif /* #ifndef XKeysymToString */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XListFonts
-VFUNC(char **,XListFonts,V_XListFonts,_ANSI_ARGS_(( Display*, const char *, int, int *)))
-#endif /* #ifndef XListFonts */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XListHosts
-VFUNC(XHostAddress *,XListHosts,V_XListHosts,_ANSI_ARGS_((Display *, int *, int *)))
-#endif /* #ifndef XListHosts */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XListProperties
-VFUNC(Atom *,XListProperties,V_XListProperties,_ANSI_ARGS_((Display *, Window, int *)))
-#endif /* #ifndef XListProperties */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XLoadFont
-VFUNC(Font,XLoadFont,V_XLoadFont,_ANSI_ARGS_((Display *, const char *)))
-#endif /* #ifndef XLoadFont */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XLoadQueryFont
-VFUNC(XFontStruct *,XLoadQueryFont,V_XLoadQueryFont,_ANSI_ARGS_((Display *, const char *)))
-#endif /* #ifndef XLoadQueryFont */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XLookupColor
-VFUNC(int,XLookupColor,V_XLookupColor,_ANSI_ARGS_((Display *, Colormap, const char *, XColor *, XColor *)))
-#endif /* #ifndef XLookupColor */
-
-#ifndef XLookupString
-VFUNC(int,XLookupString,V_XLookupString,_ANSI_ARGS_((XKeyEvent *, char *, int, KeySym *, XComposeStatus *)))
-#endif /* #ifndef XLookupString */
-
-#ifndef XLowerWindow
-VFUNC(int,XLowerWindow,V_XLowerWindow,_ANSI_ARGS_((Display *, Window)))
-#endif /* #ifndef XLowerWindow */
-
-#ifndef XMapWindow
-VFUNC(int,XMapWindow,V_XMapWindow,_ANSI_ARGS_((Display *, Window)))
-#endif /* #ifndef XMapWindow */
-
-#ifndef XMoveResizeWindow
-VFUNC(int,XMoveResizeWindow,V_XMoveResizeWindow,_ANSI_ARGS_((Display *, Window, int, int, unsigned int, unsigned int)))
-#endif /* #ifndef XMoveResizeWindow */
-
-#ifndef XMoveWindow
-VFUNC(int,XMoveWindow,V_XMoveWindow,_ANSI_ARGS_((Display *, Window, int, int)))
-#endif /* #ifndef XMoveWindow */
-
-#ifndef XNextEvent
-VFUNC(int,XNextEvent,V_XNextEvent,_ANSI_ARGS_((Display *, XEvent *)))
-#endif /* #ifndef XNextEvent */
-
-#ifndef XNoOp
-VFUNC(int,XNoOp,V_XNoOp,_ANSI_ARGS_((Display *)))
-#endif /* #ifndef XNoOp */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XOpenDisplay
-VFUNC(Display *,XOpenDisplay,V_XOpenDisplay,_ANSI_ARGS_((const char *)))
-#endif /* #ifndef XOpenDisplay */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XParseColor
-VFUNC(int,XParseColor,V_XParseColor,_ANSI_ARGS_((Display *, Colormap, const char *, XColor *)))
-#endif /* #ifndef XParseColor */
-
-#ifndef XPutBackEvent
-VFUNC(int,XPutBackEvent,V_XPutBackEvent,_ANSI_ARGS_((Display *, XEvent *)))
-#endif /* #ifndef XPutBackEvent */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XPutImage
-VFUNC(int,XPutImage,V_XPutImage,_ANSI_ARGS_((Display *, Drawable, GC, XImage *, int, int, int, int, unsigned int, unsigned int)))
-#endif /* #ifndef XPutImage */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XQueryColors
-VFUNC(int,XQueryColors,V_XQueryColors,_ANSI_ARGS_((Display *, Colormap, XColor *, int)))
-#endif /* #ifndef XQueryColors */
-
-#ifndef XQueryPointer
-VFUNC(int,XQueryPointer,V_XQueryPointer,_ANSI_ARGS_((Display *, Window, Window *, Window *, int *, int *, int *, int *, unsigned int *)))
-#endif /* #ifndef XQueryPointer */
-
-#ifndef XQueryTree
-VFUNC(int,XQueryTree,V_XQueryTree,_ANSI_ARGS_((Display *, Window, Window *, Window *, Window **, unsigned int *)))
-#endif /* #ifndef XQueryTree */
-
-#ifndef XRaiseWindow
-VFUNC(int,XRaiseWindow,V_XRaiseWindow,_ANSI_ARGS_((Display *, Window)))
-#endif /* #ifndef XRaiseWindow */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XReadBitmapFile
-VFUNC(int,XReadBitmapFile,V_XReadBitmapFile,_ANSI_ARGS_((Display *, Drawable, const char *, unsigned int *, unsigned int *, Pixmap *, int *, int *)))
-#endif /* #ifndef XReadBitmapFile */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XRectInRegion
-VFUNC(int,XRectInRegion,V_XRectInRegion,_ANSI_ARGS_((Region,int,int,unsigned,unsigned)))
-#endif /* #ifndef XRectInRegion */
-
-#ifndef XRefreshKeyboardMapping
-VFUNC(int,XRefreshKeyboardMapping,V_XRefreshKeyboardMapping,_ANSI_ARGS_((XMappingEvent *)))
-#endif /* #ifndef XRefreshKeyboardMapping */
-
-#ifndef XResizeWindow
-VFUNC(int,XResizeWindow,V_XResizeWindow,_ANSI_ARGS_((Display *, Window, unsigned int, unsigned int)))
-#endif /* #ifndef XResizeWindow */
-
-#ifndef XRootWindow
-VFUNC(Window,XRootWindow,V_XRootWindow,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XRootWindow */
-
-#ifndef XSelectInput
-VFUNC(int,XSelectInput,V_XSelectInput,_ANSI_ARGS_((Display *, Window, long int)))
-#endif /* #ifndef XSelectInput */
-
-#ifndef XSendEvent
-VFUNC(int,XSendEvent,V_XSendEvent,_ANSI_ARGS_((Display *, Window, int, long int, XEvent *)))
-#endif /* #ifndef XSendEvent */
-
-#ifndef XSetBackground
-VFUNC(int,XSetBackground,V_XSetBackground,_ANSI_ARGS_((Display *, GC, unsigned long)))
-#endif /* #ifndef XSetBackground */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetClassHint
-VFUNC(int,XSetClassHint,V_XSetClassHint,_ANSI_ARGS_((Display *, Window, XClassHint *)))
-#endif /* #ifndef XSetClassHint */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XSetClipMask
-VFUNC(int,XSetClipMask,V_XSetClipMask,_ANSI_ARGS_((Display *, GC, Pixmap)))
-#endif /* #ifndef XSetClipMask */
-
-#ifndef XSetClipOrigin
-VFUNC(int,XSetClipOrigin,V_XSetClipOrigin,_ANSI_ARGS_((Display *, GC, int, int)))
-#endif /* #ifndef XSetClipOrigin */
-
-#ifndef XSetCommand
-VFUNC(int,XSetCommand,V_XSetCommand,_ANSI_ARGS_((Display *, Window, char **, int)))
-#endif /* #ifndef XSetCommand */
-
-#ifndef XSetDashes
-VFUNC(int,XSetDashes,V_XSetDashes,_ANSI_ARGS_((Display *, GC, int, const char *, int)))
-#endif /* #ifndef XSetDashes */
-
-#ifndef XSetErrorHandler
-VFUNC(XErrorHandler,XSetErrorHandler,V_XSetErrorHandler,_ANSI_ARGS_((XErrorHandler)))
-#endif /* #ifndef XSetErrorHandler */
-
-#ifndef XSetForeground
-VFUNC(int,XSetForeground,V_XSetForeground,_ANSI_ARGS_((Display *, GC, long unsigned int)))
-#endif /* #ifndef XSetForeground */
-
-#ifndef XSetIconName
-VFUNC(int,XSetIconName,V_XSetIconName,_ANSI_ARGS_((Display *, Window, const char *)))
-#endif /* #ifndef XSetIconName */
-
-#ifndef XSetInputFocus
-VFUNC(int,XSetInputFocus,V_XSetInputFocus,_ANSI_ARGS_((Display *, Window, int, Time)))
-#endif /* #ifndef XSetInputFocus */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetRegion
-VFUNC(int,XSetRegion,V_XSetRegion,_ANSI_ARGS_((Display *, GC, Region)))
-#endif /* #ifndef XSetRegion */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XSetSelectionOwner
-VFUNC(int,XSetSelectionOwner,V_XSetSelectionOwner,_ANSI_ARGS_((Display *, Atom, Window, Time)))
-#endif /* #ifndef XSetSelectionOwner */
-
-#ifndef XSetTSOrigin
-VFUNC(int,XSetTSOrigin,V_XSetTSOrigin,_ANSI_ARGS_((Display *, GC, int, int)))
-#endif /* #ifndef XSetTSOrigin */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetTransientForHint
-VFUNC(int,XSetTransientForHint,V_XSetTransientForHint,_ANSI_ARGS_((Display *, Window, Window)))
-#endif /* #ifndef XSetTransientForHint */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XSetWMClientMachine
-VFUNC(void,XSetWMClientMachine,V_XSetWMClientMachine,_ANSI_ARGS_((Display *, Window, XTextProperty *)))
-#endif /* #ifndef XSetWMClientMachine */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetWMColormapWindows
-VFUNC(int,XSetWMColormapWindows,V_XSetWMColormapWindows,_ANSI_ARGS_((Display *, Window, Window *, int)))
-#endif /* #ifndef XSetWMColormapWindows */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetWMHints
-VFUNC(int,XSetWMHints,V_XSetWMHints,_ANSI_ARGS_((Display *, Window, XWMHints *)))
-#endif /* #ifndef XSetWMHints */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetWMName
-VFUNC(void,XSetWMName,V_XSetWMName,_ANSI_ARGS_((Display *, Window, XTextProperty *)))
-#endif /* #ifndef XSetWMName */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XSetWMNormalHints
-VFUNC(void,XSetWMNormalHints,V_XSetWMNormalHints,_ANSI_ARGS_((Display *, Window, XSizeHints *)))
-#endif /* #ifndef XSetWMNormalHints */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XSetWindowBackground
-VFUNC(int,XSetWindowBackground,V_XSetWindowBackground,_ANSI_ARGS_((Display *, Window, long unsigned int)))
-#endif /* #ifndef XSetWindowBackground */
-
-#ifndef XSetWindowBackgroundPixmap
-VFUNC(int,XSetWindowBackgroundPixmap,V_XSetWindowBackgroundPixmap,_ANSI_ARGS_((Display *, Window, Pixmap)))
-#endif /* #ifndef XSetWindowBackgroundPixmap */
-
-#ifndef XSetWindowBorder
-VFUNC(int,XSetWindowBorder,V_XSetWindowBorder,_ANSI_ARGS_((Display *, Window, long unsigned int)))
-#endif /* #ifndef XSetWindowBorder */
-
-#ifndef XSetWindowBorderPixmap
-VFUNC(int,XSetWindowBorderPixmap,V_XSetWindowBorderPixmap,_ANSI_ARGS_((Display *, Window, Pixmap)))
-#endif /* #ifndef XSetWindowBorderPixmap */
-
-#ifndef XSetWindowBorderWidth
-VFUNC(int,XSetWindowBorderWidth,V_XSetWindowBorderWidth,_ANSI_ARGS_((Display *, Window, unsigned int)))
-#endif /* #ifndef XSetWindowBorderWidth */
-
-#ifndef XSetWindowColormap
-VFUNC(int,XSetWindowColormap,V_XSetWindowColormap,_ANSI_ARGS_((Display *, Window, Colormap)))
-#endif /* #ifndef XSetWindowColormap */
-
-#ifndef XStringListToTextProperty
-VFUNC(int,XStringListToTextProperty,V_XStringListToTextProperty,_ANSI_ARGS_((char **, int, XTextProperty *)))
-#endif /* #ifndef XStringListToTextProperty */
-
-#ifndef XStringToKeysym
-VFUNC(KeySym,XStringToKeysym,V_XStringToKeysym,_ANSI_ARGS_((const char *)))
-#endif /* #ifndef XStringToKeysym */
-
-#ifndef XSubtractRegion
-VFUNC(int,XSubtractRegion,V_XSubtractRegion,_ANSI_ARGS_((Region, Region, Region)))
-#endif /* #ifndef XSubtractRegion */
-
-#ifndef XSync
-VFUNC(int,XSync,V_XSync,_ANSI_ARGS_((Display *, int)))
-#endif /* #ifndef XSync */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XTextExtents
-VFUNC(int,XTextExtents,V_XTextExtents,_ANSI_ARGS_((XFontStruct *, const char *, int, int *, int *, int *, XCharStruct *)))
-#endif /* #ifndef XTextExtents */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XTextWidth
-VFUNC(int,XTextWidth,V_XTextWidth,_ANSI_ARGS_((XFontStruct *, const char *, int)))
-#endif /* #ifndef XTextWidth */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XTranslateCoordinates
-VFUNC(int,XTranslateCoordinates,V_XTranslateCoordinates,_ANSI_ARGS_((Display *, Window, Window, int, int, int *, int *, Window *)))
-#endif /* #ifndef XTranslateCoordinates */
-
-#ifndef XUngrabKeyboard
-VFUNC(int,XUngrabKeyboard,V_XUngrabKeyboard,_ANSI_ARGS_((Display *, Time)))
-#endif /* #ifndef XUngrabKeyboard */
-
-#ifndef XUngrabPointer
-VFUNC(int,XUngrabPointer,V_XUngrabPointer,_ANSI_ARGS_((Display *, Time)))
-#endif /* #ifndef XUngrabPointer */
-
-#ifndef XUngrabServer
-VFUNC(int,XUngrabServer,V_XUngrabServer,_ANSI_ARGS_((Display *)))
-#endif /* #ifndef XUngrabServer */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XUnionRectWithRegion
-VFUNC(int,XUnionRectWithRegion,V_XUnionRectWithRegion,_ANSI_ARGS_((XRectangle *, Region, Region)))
-#endif /* #ifndef XUnionRectWithRegion */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XUnmapWindow
-VFUNC(int,XUnmapWindow,V_XUnmapWindow,_ANSI_ARGS_((Display *, Window)))
-#endif /* #ifndef XUnmapWindow */
-
-#ifndef XVisualIDFromVisual
-VFUNC(VisualID,XVisualIDFromVisual,V_XVisualIDFromVisual,_ANSI_ARGS_((Visual *)))
-#endif /* #ifndef XVisualIDFromVisual */
-
-#ifndef DO_X_EXCLUDE
-#ifndef XWarpPointer
-VFUNC(int,XWarpPointer,V_XWarpPointer,_ANSI_ARGS_(( Display *, Window, Window, int, int, unsigned int, unsigned int, int, int )))
-#endif /* #ifndef XWarpPointer */
-#endif /* !DO_X_EXCLUDE */
-
-#ifndef XWindowEvent
-VFUNC(int,XWindowEvent,V_XWindowEvent,_ANSI_ARGS_((Display *, Window, long int, XEvent *)))
-#endif /* #ifndef XWindowEvent */
-
-#ifndef XWithdrawWindow
-VFUNC(int,XWithdrawWindow,V_XWithdrawWindow,_ANSI_ARGS_((Display *, Window, int)))
-#endif /* #ifndef XWithdrawWindow */
-
-#ifndef _XInitImageFuncPtrs
-VFUNC(int,_XInitImageFuncPtrs,V__XInitImageFuncPtrs,_ANSI_ARGS_((XImage *image)))
-#endif /* #ifndef _XInitImageFuncPtrs */
-
-#endif /* _XLIB */
+#ifdef _XLIB
+#if (defined(__WIN32__) || defined(__PM__)) && !defined(DO_X_EXCLUDE)
+# define DO_X_EXCLUDE
+#endif
+#ifndef DO_X_EXCLUDE
+#ifndef XAllocClassHint
+VFUNC(XClassHint *,XAllocClassHint,V_XAllocClassHint,_ANSI_ARGS_((void)))
+#endif /* #ifndef XAllocClassHint */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XAllocColor
+VFUNC(int,XAllocColor,V_XAllocColor,_ANSI_ARGS_((Display *, Colormap, XColor *)))
+#endif /* #ifndef XAllocColor */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XAllocNamedColor
+VFUNC(int,XAllocNamedColor,V_XAllocNamedColor,_ANSI_ARGS_((Display *, Colormap, const char *, XColor *, XColor *)))
+#endif /* #ifndef XAllocNamedColor */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XAllocSizeHints
+VFUNC(XSizeHints *,XAllocSizeHints,V_XAllocSizeHints,_ANSI_ARGS_((void)))
+#endif /* #ifndef XAllocSizeHints */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XBell
+VFUNC(int,XBell,V_XBell,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XBell */
+
+#ifndef XChangeGC
+VFUNC(int,XChangeGC,V_XChangeGC,_ANSI_ARGS_(( Display*, GC, unsigned long, XGCValues *)))
+#endif /* #ifndef XChangeGC */
+
+#ifndef XChangeProperty
+VFUNC(int,XChangeProperty,V_XChangeProperty,_ANSI_ARGS_((Display *, Window, Atom, Atom, int, int, const unsigned char *, int)))
+#endif /* #ifndef XChangeProperty */
+
+#ifndef XChangeWindowAttributes
+VFUNC(int,XChangeWindowAttributes,V_XChangeWindowAttributes,_ANSI_ARGS_((Display *, Window, long unsigned int, XSetWindowAttributes *)))
+#endif /* #ifndef XChangeWindowAttributes */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XCheckIfEvent
+VFUNC(int,XCheckIfEvent,V_XCheckIfEvent,_ANSI_ARGS_((Display *, XEvent *, int (*) (Display *, XEvent *, char *), char *)))
+#endif /* #ifndef XCheckIfEvent */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XCheckWindowEvent
+VFUNC(int,XCheckWindowEvent,V_XCheckWindowEvent,_ANSI_ARGS_((Display *, Window, long int, XEvent *)))
+#endif /* #ifndef XCheckWindowEvent */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XClearWindow
+VFUNC(int,XClearWindow,V_XClearWindow,_ANSI_ARGS_((Display *, Window)))
+#endif /* #ifndef XClearWindow */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XClipBox
+VFUNC(int,XClipBox,V_XClipBox,_ANSI_ARGS_((Region, XRectangle *)))
+#endif /* #ifndef XClipBox */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XConfigureWindow
+VFUNC(int,XConfigureWindow,V_XConfigureWindow,_ANSI_ARGS_((Display *, Window, unsigned int, XWindowChanges *)))
+#endif /* #ifndef XConfigureWindow */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XConvertSelection
+VFUNC(int,XConvertSelection,V_XConvertSelection,_ANSI_ARGS_((Display *, Atom, Atom, Atom, Window, Time)))
+#endif /* #ifndef XConvertSelection */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XCopyArea
+VFUNC(int,XCopyArea,V_XCopyArea,_ANSI_ARGS_((Display *, Drawable, Drawable, GC, int, int, unsigned int, unsigned int, int, int)))
+#endif /* #ifndef XCopyArea */
+
+#ifndef XCopyPlane
+VFUNC(int,XCopyPlane,V_XCopyPlane,_ANSI_ARGS_((Display *, Drawable, Drawable, GC, int, int, unsigned int, unsigned int, int, int, long unsigned int)))
+#endif /* #ifndef XCopyPlane */
+
+#ifndef XCreateBitmapFromData
+VFUNC(Pixmap,XCreateBitmapFromData,V_XCreateBitmapFromData,_ANSI_ARGS_((Display *, Drawable, const char *, unsigned int, unsigned int)))
+#endif /* #ifndef XCreateBitmapFromData */
+
+#ifndef XCreateColormap
+VFUNC(Colormap,XCreateColormap,V_XCreateColormap,_ANSI_ARGS_((Display *, Window, Visual *, int)))
+#endif /* #ifndef XCreateColormap */
+
+#ifndef XCreateGC
+VFUNC(GC,XCreateGC,V_XCreateGC,_ANSI_ARGS_((Display *, Drawable, long unsigned int, XGCValues *)))
+#endif /* #ifndef XCreateGC */
+
+#ifndef XCreateGlyphCursor
+VFUNC(Cursor,XCreateGlyphCursor,V_XCreateGlyphCursor,_ANSI_ARGS_((Display *, Font, Font, unsigned int, unsigned int, XColor const *, XColor const *)))
+#endif /* #ifndef XCreateGlyphCursor */
+
+#ifndef XCreateImage
+VFUNC(XImage *,XCreateImage,V_XCreateImage,_ANSI_ARGS_((Display *, Visual *, unsigned int, int, int, char *, unsigned int, unsigned int, int, int)))
+#endif /* #ifndef XCreateImage */
+
+#ifndef XCreatePixmapCursor
+VFUNC(Cursor,XCreatePixmapCursor,V_XCreatePixmapCursor,_ANSI_ARGS_((Display *, Pixmap, Pixmap, XColor *, XColor *, unsigned int, unsigned int)))
+#endif /* #ifndef XCreatePixmapCursor */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XCreateRegion
+VFUNC(Region,XCreateRegion,V_XCreateRegion,_ANSI_ARGS_((void)))
+#endif /* #ifndef XCreateRegion */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XCreateWindow
+VFUNC(Window,XCreateWindow,V_XCreateWindow,_ANSI_ARGS_((Display *, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual *, long unsigned int, XSetWindowAttributes *)))
+#endif /* #ifndef XCreateWindow */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDefaultColormap
+VFUNC(Colormap,XDefaultColormap,V_XDefaultColormap,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XDefaultColormap */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDefaultDepth
+VFUNC(int,XDefaultDepth,V_XDefaultDepth,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XDefaultDepth */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDefaultScreen
+VFUNC(int,XDefaultScreen,V_XDefaultScreen,_ANSI_ARGS_((Display *)))
+#endif /* #ifndef XDefaultScreen */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDefaultVisual
+VFUNC(Visual *,XDefaultVisual,V_XDefaultVisual,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XDefaultVisual */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XDefineCursor
+VFUNC(int,XDefineCursor,V_XDefineCursor,_ANSI_ARGS_((Display *, Window, Cursor)))
+#endif /* #ifndef XDefineCursor */
+
+#ifndef XDeleteProperty
+VFUNC(int,XDeleteProperty,V_XDeleteProperty,_ANSI_ARGS_((Display *, Window, Atom)))
+#endif /* #ifndef XDeleteProperty */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDestroyRegion
+VFUNC(int,XDestroyRegion,V_XDestroyRegion,_ANSI_ARGS_((Region)))
+#endif /* #ifndef XDestroyRegion */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XDestroyWindow
+VFUNC(int,XDestroyWindow,V_XDestroyWindow,_ANSI_ARGS_((Display *, Window)))
+#endif /* #ifndef XDestroyWindow */
+
+#ifndef XDrawArc
+VFUNC(int,XDrawArc,V_XDrawArc,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int, int, int)))
+#endif /* #ifndef XDrawArc */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDrawImageString
+VFUNC(int,XDrawImageString,V_XDrawImageString,_ANSI_ARGS_((Display *, Drawable, GC, int, int, const char *, int)))
+#endif /* #ifndef XDrawImageString */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XDrawLine
+VFUNC(int,XDrawLine,V_XDrawLine,_ANSI_ARGS_((Display *, Drawable, GC, int, int, int, int)))
+#endif /* #ifndef XDrawLine */
+
+#ifndef XDrawLines
+VFUNC(int,XDrawLines,V_XDrawLines,_ANSI_ARGS_((Display *, Drawable, GC, XPoint *, int, int)))
+#endif /* #ifndef XDrawLines */
+
+#ifndef XDrawPoints
+VFUNC(int,XDrawPoints,V_XDrawPoints,_ANSI_ARGS_(( Display*, Drawable, GC, XPoint*, int, int)))
+#endif /* #ifndef XDrawPoints */
+
+#ifndef XDrawRectangle
+VFUNC(int,XDrawRectangle,V_XDrawRectangle,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int)))
+#endif /* #ifndef XDrawRectangle */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XDrawString
+VFUNC(int,XDrawString,V_XDrawString,_ANSI_ARGS_((Display *, Drawable, GC, int, int, const char *, int)))
+#endif /* #ifndef XDrawString */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XEventsQueued
+VFUNC(int,XEventsQueued,V_XEventsQueued,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XEventsQueued */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XFillArc
+VFUNC(int,XFillArc,V_XFillArc,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int, int, int)))
+#endif /* #ifndef XFillArc */
+
+#ifndef XFillPolygon
+VFUNC(int,XFillPolygon,V_XFillPolygon,_ANSI_ARGS_((Display *, Drawable, GC, XPoint *, int, int, int)))
+#endif /* #ifndef XFillPolygon */
+
+#ifndef XFillRectangle
+VFUNC(int,XFillRectangle,V_XFillRectangle,_ANSI_ARGS_((Display *, Drawable, GC, int, int, unsigned int, unsigned int)))
+#endif /* #ifndef XFillRectangle */
+
+#ifndef XFillRectangles
+VFUNC(int,XFillRectangles,V_XFillRectangles,_ANSI_ARGS_((Display *, Drawable, GC, XRectangle *, int)))
+#endif /* #ifndef XFillRectangles */
+
+#ifndef XFlush
+VFUNC(int,XFlush,V_XFlush,_ANSI_ARGS_((Display *)))
+#endif /* #ifndef XFlush */
+
+#ifndef XFree
+VFUNC(int,XFree,V_XFree,_ANSI_ARGS_((XFree_arg_t *)))
+#endif /* #ifndef XFree */
+
+#ifndef XFreeColormap
+VFUNC(int,XFreeColormap,V_XFreeColormap,_ANSI_ARGS_((Display *, Colormap)))
+#endif /* #ifndef XFreeColormap */
+
+#ifndef XFreeColors
+VFUNC(int,XFreeColors,V_XFreeColors,_ANSI_ARGS_((Display *, Colormap, long unsigned int *, int, long unsigned int)))
+#endif /* #ifndef XFreeColors */
+
+#ifndef XFreeCursor
+VFUNC(int,XFreeCursor,V_XFreeCursor,_ANSI_ARGS_((Display *, Cursor)))
+#endif /* #ifndef XFreeCursor */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XFreeFont
+VFUNC(int,XFreeFont,V_XFreeFont,_ANSI_ARGS_((Display *, XFontStruct *)))
+#endif /* #ifndef XFreeFont */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XFreeFontNames
+VFUNC(int,XFreeFontNames,V_XFreeFontNames,_ANSI_ARGS_((char **)))
+#endif /* #ifndef XFreeFontNames */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XFreeGC
+VFUNC(int,XFreeGC,V_XFreeGC,_ANSI_ARGS_((Display *, GC)))
+#endif /* #ifndef XFreeGC */
+
+#ifndef XFreeModifiermap
+VFUNC(int,XFreeModifiermap,V_XFreeModifiermap,_ANSI_ARGS_((XModifierKeymap *)))
+#endif /* #ifndef XFreeModifiermap */
+
+#ifndef XGContextFromGC
+VFUNC(GContext,XGContextFromGC,V_XGContextFromGC,_ANSI_ARGS_((GC)))
+#endif /* #ifndef XGContextFromGC */
+
+#ifndef XGetAtomName
+VFUNC(char *,XGetAtomName,V_XGetAtomName,_ANSI_ARGS_((Display *, Atom)))
+#endif /* #ifndef XGetAtomName */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XGetFontProperty
+VFUNC(int,XGetFontProperty,V_XGetFontProperty,_ANSI_ARGS_((XFontStruct *, Atom, long unsigned int *)))
+#endif /* #ifndef XGetFontProperty */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XGetGeometry
+VFUNC(int,XGetGeometry,V_XGetGeometry,_ANSI_ARGS_((Display *, Drawable, Window *, int *, int *, unsigned int *, unsigned int *, unsigned int *, unsigned int *)))
+#endif /* #ifndef XGetGeometry */
+
+#ifndef XGetImage
+VFUNC(XImage *,XGetImage,V_XGetImage,_ANSI_ARGS_((Display *, Drawable, int, int, unsigned int, unsigned int, long unsigned int, int)))
+#endif /* #ifndef XGetImage */
+
+#ifndef XGetInputFocus
+VFUNC(int,XGetInputFocus,V_XGetInputFocus,_ANSI_ARGS_((Display *, Window *, int *)))
+#endif /* #ifndef XGetInputFocus */
+
+#ifndef XGetModifierMapping
+VFUNC(XModifierKeymap *,XGetModifierMapping,V_XGetModifierMapping,_ANSI_ARGS_((Display *)))
+#endif /* #ifndef XGetModifierMapping */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XGetSelectionOwner
+VFUNC(Window,XGetSelectionOwner,V_XGetSelectionOwner,_ANSI_ARGS_((Display *, Atom)))
+#endif /* #ifndef XGetSelectionOwner */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XGetVisualInfo
+VFUNC(XVisualInfo *,XGetVisualInfo,V_XGetVisualInfo,_ANSI_ARGS_((Display *, long int, XVisualInfo *, int *)))
+#endif /* #ifndef XGetVisualInfo */
+
+#ifndef XGetWMColormapWindows
+VFUNC(int,XGetWMColormapWindows,V_XGetWMColormapWindows,_ANSI_ARGS_((Display *, Window, Window **, int *)))
+#endif /* #ifndef XGetWMColormapWindows */
+
+#ifndef XGetWindowAttributes
+VFUNC(int,XGetWindowAttributes,V_XGetWindowAttributes,_ANSI_ARGS_((Display *, Window, XWindowAttributes *)))
+#endif /* #ifndef XGetWindowAttributes */
+
+#ifndef XGetWindowProperty
+VFUNC(int,XGetWindowProperty,V_XGetWindowProperty,_ANSI_ARGS_((Display *, Window, Atom, long int, long int, int, Atom, Atom *, int *, long unsigned int *, long unsigned int *, unsigned char **)))
+#endif /* #ifndef XGetWindowProperty */
+
+#ifndef XGrabKeyboard
+VFUNC(int,XGrabKeyboard,V_XGrabKeyboard,_ANSI_ARGS_((Display *, Window, int, int, int, Time)))
+#endif /* #ifndef XGrabKeyboard */
+
+#ifndef XGrabPointer
+VFUNC(int,XGrabPointer,V_XGrabPointer,_ANSI_ARGS_((Display *, Window, int, unsigned int, int, int, Window, Cursor, Time)))
+#endif /* #ifndef XGrabPointer */
+
+#ifndef XGrabServer
+VFUNC(int,XGrabServer,V_XGrabServer,_ANSI_ARGS_((Display *)))
+#endif /* #ifndef XGrabServer */
+
+#ifndef XIconifyWindow
+VFUNC(int,XIconifyWindow,V_XIconifyWindow,_ANSI_ARGS_((Display *, Window, int)))
+#endif /* #ifndef XIconifyWindow */
+
+#ifndef XInternAtom
+VFUNC(Atom,XInternAtom,V_XInternAtom,_ANSI_ARGS_((Display *, const char *, int)))
+#endif /* #ifndef XInternAtom */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XIntersectRegion
+VFUNC(int,XIntersectRegion,V_XIntersectRegion,_ANSI_ARGS_((Region, Region, Region)))
+#endif /* #ifndef XIntersectRegion */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XKeycodeToKeysym
+VFUNC(KeySym,XKeycodeToKeysym,V_XKeycodeToKeysym,_ANSI_ARGS_((Display *, unsigned int, int)))
+#endif /* #ifndef XKeycodeToKeysym */
+
+#ifndef XKeysymToString
+VFUNC(char *,XKeysymToString,V_XKeysymToString,_ANSI_ARGS_((KeySym)))
+#endif /* #ifndef XKeysymToString */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XListFonts
+VFUNC(char **,XListFonts,V_XListFonts,_ANSI_ARGS_(( Display*, const char *, int, int *)))
+#endif /* #ifndef XListFonts */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XListHosts
+VFUNC(XHostAddress *,XListHosts,V_XListHosts,_ANSI_ARGS_((Display *, int *, int *)))
+#endif /* #ifndef XListHosts */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XListProperties
+VFUNC(Atom *,XListProperties,V_XListProperties,_ANSI_ARGS_((Display *, Window, int *)))
+#endif /* #ifndef XListProperties */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XLoadFont
+VFUNC(Font,XLoadFont,V_XLoadFont,_ANSI_ARGS_((Display *, const char *)))
+#endif /* #ifndef XLoadFont */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XLoadQueryFont
+VFUNC(XFontStruct *,XLoadQueryFont,V_XLoadQueryFont,_ANSI_ARGS_((Display *, const char *)))
+#endif /* #ifndef XLoadQueryFont */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XLookupColor
+VFUNC(int,XLookupColor,V_XLookupColor,_ANSI_ARGS_((Display *, Colormap, const char *, XColor *, XColor *)))
+#endif /* #ifndef XLookupColor */
+
+#ifndef XLookupString
+VFUNC(int,XLookupString,V_XLookupString,_ANSI_ARGS_((XKeyEvent *, char *, int, KeySym *, XComposeStatus *)))
+#endif /* #ifndef XLookupString */
+
+#ifndef XLowerWindow
+VFUNC(int,XLowerWindow,V_XLowerWindow,_ANSI_ARGS_((Display *, Window)))
+#endif /* #ifndef XLowerWindow */
+
+#ifndef XMapWindow
+VFUNC(int,XMapWindow,V_XMapWindow,_ANSI_ARGS_((Display *, Window)))
+#endif /* #ifndef XMapWindow */
+
+#ifndef XMoveResizeWindow
+VFUNC(int,XMoveResizeWindow,V_XMoveResizeWindow,_ANSI_ARGS_((Display *, Window, int, int, unsigned int, unsigned int)))
+#endif /* #ifndef XMoveResizeWindow */
+
+#ifndef XMoveWindow
+VFUNC(int,XMoveWindow,V_XMoveWindow,_ANSI_ARGS_((Display *, Window, int, int)))
+#endif /* #ifndef XMoveWindow */
+
+#ifndef XNextEvent
+VFUNC(int,XNextEvent,V_XNextEvent,_ANSI_ARGS_((Display *, XEvent *)))
+#endif /* #ifndef XNextEvent */
+
+#ifndef XNoOp
+VFUNC(int,XNoOp,V_XNoOp,_ANSI_ARGS_((Display *)))
+#endif /* #ifndef XNoOp */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XOpenDisplay
+VFUNC(Display *,XOpenDisplay,V_XOpenDisplay,_ANSI_ARGS_((const char *)))
+#endif /* #ifndef XOpenDisplay */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XParseColor
+VFUNC(int,XParseColor,V_XParseColor,_ANSI_ARGS_((Display *, Colormap, const char *, XColor *)))
+#endif /* #ifndef XParseColor */
+
+#ifndef XPutBackEvent
+VFUNC(int,XPutBackEvent,V_XPutBackEvent,_ANSI_ARGS_((Display *, XEvent *)))
+#endif /* #ifndef XPutBackEvent */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XPutImage
+VFUNC(int,XPutImage,V_XPutImage,_ANSI_ARGS_((Display *, Drawable, GC, XImage *, int, int, int, int, unsigned int, unsigned int)))
+#endif /* #ifndef XPutImage */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XQueryColors
+VFUNC(int,XQueryColors,V_XQueryColors,_ANSI_ARGS_((Display *, Colormap, XColor *, int)))
+#endif /* #ifndef XQueryColors */
+
+#ifndef XQueryPointer
+VFUNC(int,XQueryPointer,V_XQueryPointer,_ANSI_ARGS_((Display *, Window, Window *, Window *, int *, int *, int *, int *, unsigned int *)))
+#endif /* #ifndef XQueryPointer */
+
+#ifndef XQueryTree
+VFUNC(int,XQueryTree,V_XQueryTree,_ANSI_ARGS_((Display *, Window, Window *, Window *, Window **, unsigned int *)))
+#endif /* #ifndef XQueryTree */
+
+#ifndef XRaiseWindow
+VFUNC(int,XRaiseWindow,V_XRaiseWindow,_ANSI_ARGS_((Display *, Window)))
+#endif /* #ifndef XRaiseWindow */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XReadBitmapFile
+VFUNC(int,XReadBitmapFile,V_XReadBitmapFile,_ANSI_ARGS_((Display *, Drawable, const char *, unsigned int *, unsigned int *, Pixmap *, int *, int *)))
+#endif /* #ifndef XReadBitmapFile */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XRectInRegion
+VFUNC(int,XRectInRegion,V_XRectInRegion,_ANSI_ARGS_((Region,int,int,unsigned,unsigned)))
+#endif /* #ifndef XRectInRegion */
+
+#ifndef XRefreshKeyboardMapping
+VFUNC(int,XRefreshKeyboardMapping,V_XRefreshKeyboardMapping,_ANSI_ARGS_((XMappingEvent *)))
+#endif /* #ifndef XRefreshKeyboardMapping */
+
+#ifndef XResizeWindow
+VFUNC(int,XResizeWindow,V_XResizeWindow,_ANSI_ARGS_((Display *, Window, unsigned int, unsigned int)))
+#endif /* #ifndef XResizeWindow */
+
+#ifndef XRootWindow
+VFUNC(Window,XRootWindow,V_XRootWindow,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XRootWindow */
+
+#ifndef XSelectInput
+VFUNC(int,XSelectInput,V_XSelectInput,_ANSI_ARGS_((Display *, Window, long int)))
+#endif /* #ifndef XSelectInput */
+
+#ifndef XSendEvent
+VFUNC(int,XSendEvent,V_XSendEvent,_ANSI_ARGS_((Display *, Window, int, long int, XEvent *)))
+#endif /* #ifndef XSendEvent */
+
+#ifndef XSetBackground
+VFUNC(int,XSetBackground,V_XSetBackground,_ANSI_ARGS_((Display *, GC, unsigned long)))
+#endif /* #ifndef XSetBackground */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetClassHint
+VFUNC(int,XSetClassHint,V_XSetClassHint,_ANSI_ARGS_((Display *, Window, XClassHint *)))
+#endif /* #ifndef XSetClassHint */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XSetClipMask
+VFUNC(int,XSetClipMask,V_XSetClipMask,_ANSI_ARGS_((Display *, GC, Pixmap)))
+#endif /* #ifndef XSetClipMask */
+
+#ifndef XSetClipOrigin
+VFUNC(int,XSetClipOrigin,V_XSetClipOrigin,_ANSI_ARGS_((Display *, GC, int, int)))
+#endif /* #ifndef XSetClipOrigin */
+
+#ifndef XSetCommand
+VFUNC(int,XSetCommand,V_XSetCommand,_ANSI_ARGS_((Display *, Window, char **, int)))
+#endif /* #ifndef XSetCommand */
+
+#ifndef XSetDashes
+VFUNC(int,XSetDashes,V_XSetDashes,_ANSI_ARGS_((Display *, GC, int, const char *, int)))
+#endif /* #ifndef XSetDashes */
+
+#ifndef XSetErrorHandler
+VFUNC(XErrorHandler,XSetErrorHandler,V_XSetErrorHandler,_ANSI_ARGS_((XErrorHandler)))
+#endif /* #ifndef XSetErrorHandler */
+
+#ifndef XSetForeground
+VFUNC(int,XSetForeground,V_XSetForeground,_ANSI_ARGS_((Display *, GC, long unsigned int)))
+#endif /* #ifndef XSetForeground */
+
+#ifndef XSetIconName
+VFUNC(int,XSetIconName,V_XSetIconName,_ANSI_ARGS_((Display *, Window, const char *)))
+#endif /* #ifndef XSetIconName */
+
+#ifndef XSetInputFocus
+VFUNC(int,XSetInputFocus,V_XSetInputFocus,_ANSI_ARGS_((Display *, Window, int, Time)))
+#endif /* #ifndef XSetInputFocus */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetRegion
+VFUNC(int,XSetRegion,V_XSetRegion,_ANSI_ARGS_((Display *, GC, Region)))
+#endif /* #ifndef XSetRegion */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XSetSelectionOwner
+VFUNC(int,XSetSelectionOwner,V_XSetSelectionOwner,_ANSI_ARGS_((Display *, Atom, Window, Time)))
+#endif /* #ifndef XSetSelectionOwner */
+
+#ifndef XSetTSOrigin
+VFUNC(int,XSetTSOrigin,V_XSetTSOrigin,_ANSI_ARGS_((Display *, GC, int, int)))
+#endif /* #ifndef XSetTSOrigin */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetTransientForHint
+VFUNC(int,XSetTransientForHint,V_XSetTransientForHint,_ANSI_ARGS_((Display *, Window, Window)))
+#endif /* #ifndef XSetTransientForHint */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XSetWMClientMachine
+VFUNC(void,XSetWMClientMachine,V_XSetWMClientMachine,_ANSI_ARGS_((Display *, Window, XTextProperty *)))
+#endif /* #ifndef XSetWMClientMachine */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetWMColormapWindows
+VFUNC(int,XSetWMColormapWindows,V_XSetWMColormapWindows,_ANSI_ARGS_((Display *, Window, Window *, int)))
+#endif /* #ifndef XSetWMColormapWindows */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetWMHints
+VFUNC(int,XSetWMHints,V_XSetWMHints,_ANSI_ARGS_((Display *, Window, XWMHints *)))
+#endif /* #ifndef XSetWMHints */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetWMName
+VFUNC(void,XSetWMName,V_XSetWMName,_ANSI_ARGS_((Display *, Window, XTextProperty *)))
+#endif /* #ifndef XSetWMName */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XSetWMNormalHints
+VFUNC(void,XSetWMNormalHints,V_XSetWMNormalHints,_ANSI_ARGS_((Display *, Window, XSizeHints *)))
+#endif /* #ifndef XSetWMNormalHints */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XSetWindowBackground
+VFUNC(int,XSetWindowBackground,V_XSetWindowBackground,_ANSI_ARGS_((Display *, Window, long unsigned int)))
+#endif /* #ifndef XSetWindowBackground */
+
+#ifndef XSetWindowBackgroundPixmap
+VFUNC(int,XSetWindowBackgroundPixmap,V_XSetWindowBackgroundPixmap,_ANSI_ARGS_((Display *, Window, Pixmap)))
+#endif /* #ifndef XSetWindowBackgroundPixmap */
+
+#ifndef XSetWindowBorder
+VFUNC(int,XSetWindowBorder,V_XSetWindowBorder,_ANSI_ARGS_((Display *, Window, long unsigned int)))
+#endif /* #ifndef XSetWindowBorder */
+
+#ifndef XSetWindowBorderPixmap
+VFUNC(int,XSetWindowBorderPixmap,V_XSetWindowBorderPixmap,_ANSI_ARGS_((Display *, Window, Pixmap)))
+#endif /* #ifndef XSetWindowBorderPixmap */
+
+#ifndef XSetWindowBorderWidth
+VFUNC(int,XSetWindowBorderWidth,V_XSetWindowBorderWidth,_ANSI_ARGS_((Display *, Window, unsigned int)))
+#endif /* #ifndef XSetWindowBorderWidth */
+
+#ifndef XSetWindowColormap
+VFUNC(int,XSetWindowColormap,V_XSetWindowColormap,_ANSI_ARGS_((Display *, Window, Colormap)))
+#endif /* #ifndef XSetWindowColormap */
+
+#ifndef XStringListToTextProperty
+VFUNC(int,XStringListToTextProperty,V_XStringListToTextProperty,_ANSI_ARGS_((char **, int, XTextProperty *)))
+#endif /* #ifndef XStringListToTextProperty */
+
+#ifndef XStringToKeysym
+VFUNC(KeySym,XStringToKeysym,V_XStringToKeysym,_ANSI_ARGS_((const char *)))
+#endif /* #ifndef XStringToKeysym */
+
+#ifndef XSubtractRegion
+VFUNC(int,XSubtractRegion,V_XSubtractRegion,_ANSI_ARGS_((Region, Region, Region)))
+#endif /* #ifndef XSubtractRegion */
+
+#ifndef XSync
+VFUNC(int,XSync,V_XSync,_ANSI_ARGS_((Display *, int)))
+#endif /* #ifndef XSync */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XTextExtents
+VFUNC(int,XTextExtents,V_XTextExtents,_ANSI_ARGS_((XFontStruct *, const char *, int, int *, int *, int *, XCharStruct *)))
+#endif /* #ifndef XTextExtents */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XTextWidth
+VFUNC(int,XTextWidth,V_XTextWidth,_ANSI_ARGS_((XFontStruct *, const char *, int)))
+#endif /* #ifndef XTextWidth */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XTranslateCoordinates
+VFUNC(int,XTranslateCoordinates,V_XTranslateCoordinates,_ANSI_ARGS_((Display *, Window, Window, int, int, int *, int *, Window *)))
+#endif /* #ifndef XTranslateCoordinates */
+
+#ifndef XUngrabKeyboard
+VFUNC(int,XUngrabKeyboard,V_XUngrabKeyboard,_ANSI_ARGS_((Display *, Time)))
+#endif /* #ifndef XUngrabKeyboard */
+
+#ifndef XUngrabPointer
+VFUNC(int,XUngrabPointer,V_XUngrabPointer,_ANSI_ARGS_((Display *, Time)))
+#endif /* #ifndef XUngrabPointer */
+
+#ifndef XUngrabServer
+VFUNC(int,XUngrabServer,V_XUngrabServer,_ANSI_ARGS_((Display *)))
+#endif /* #ifndef XUngrabServer */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XUnionRectWithRegion
+VFUNC(int,XUnionRectWithRegion,V_XUnionRectWithRegion,_ANSI_ARGS_((XRectangle *, Region, Region)))
+#endif /* #ifndef XUnionRectWithRegion */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XUnmapWindow
+VFUNC(int,XUnmapWindow,V_XUnmapWindow,_ANSI_ARGS_((Display *, Window)))
+#endif /* #ifndef XUnmapWindow */
+
+#ifndef XVisualIDFromVisual
+VFUNC(VisualID,XVisualIDFromVisual,V_XVisualIDFromVisual,_ANSI_ARGS_((Visual *)))
+#endif /* #ifndef XVisualIDFromVisual */
+
+#ifndef DO_X_EXCLUDE
+#ifndef XWarpPointer
+VFUNC(int,XWarpPointer,V_XWarpPointer,_ANSI_ARGS_(( Display *, Window, Window, int, int, unsigned int, unsigned int, int, int )))
+#endif /* #ifndef XWarpPointer */
+#endif /* !DO_X_EXCLUDE */
+
+#ifndef XWindowEvent
+VFUNC(int,XWindowEvent,V_XWindowEvent,_ANSI_ARGS_((Display *, Window, long int, XEvent *)))
+#endif /* #ifndef XWindowEvent */
+
+#ifndef XWithdrawWindow
+VFUNC(int,XWithdrawWindow,V_XWithdrawWindow,_ANSI_ARGS_((Display *, Window, int)))
+#endif /* #ifndef XWithdrawWindow */
+
+#ifndef _XInitImageFuncPtrs
+VFUNC(int,_XInitImageFuncPtrs,V__XInitImageFuncPtrs,_ANSI_ARGS_((XImage *image)))
+#endif /* #ifndef _XInitImageFuncPtrs */
+
+#endif /* _XLIB */
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/mkVFunc b/Master/tlpkg/tlperl/lib/Tk/pTk/mkVFunc
index 09ffc80a560..e10a458858a 100644
--- a/Master/tlpkg/tlperl/lib/Tk/pTk/mkVFunc
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk/mkVFunc
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl -w
use strict;
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/tkImgPhoto.t b/Master/tlpkg/tlperl/lib/Tk/pTk/tkImgPhoto.t
index 9e3d2175db0..02bd1b3807e 100644
--- a/Master/tlpkg/tlperl/lib/Tk/pTk/tkImgPhoto.t
+++ b/Master/tlpkg/tlperl/lib/Tk/pTk/tkImgPhoto.t
@@ -1,66 +1,66 @@
-#ifdef _TKIMGPHOTO
-VVAR(Tk_PhotoImageFormat,tkImgFmtPPM,V_tkImgFmtPPM)
-#ifndef Tk_CreateOldPhotoImageFormat
-VFUNC(void,Tk_CreateOldPhotoImageFormat,V_Tk_CreateOldPhotoImageFormat,_ANSI_ARGS_((
- Tk_PhotoImageFormat *formatPtr)))
-#endif /* #ifndef Tk_CreateOldPhotoImageFormat */
-
-#ifndef Tk_CreatePhotoImageFormat
-VFUNC(void,Tk_CreatePhotoImageFormat,V_Tk_CreatePhotoImageFormat,_ANSI_ARGS_((
- Tk_PhotoImageFormat *formatPtr)))
-#endif /* #ifndef Tk_CreatePhotoImageFormat */
-
-#ifndef Tk_DitherPhoto
-VFUNC(void,Tk_DitherPhoto,V_Tk_DitherPhoto,_ANSI_ARGS_((Tk_PhotoHandle handle,
- int x, int y, int width, int height)))
-#endif /* #ifndef Tk_DitherPhoto */
-
-#ifndef Tk_FindPhoto
-VFUNC(Tk_PhotoHandle,Tk_FindPhoto,V_Tk_FindPhoto,_ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *imageName)))
-#endif /* #ifndef Tk_FindPhoto */
-
-#ifndef Tk_PhotoBlank
-VFUNC(void,Tk_PhotoBlank,V_Tk_PhotoBlank,_ANSI_ARGS_((Tk_PhotoHandle handle)))
-#endif /* #ifndef Tk_PhotoBlank */
-
-#ifndef Tk_PhotoExpand
-VFUNC(void,Tk_PhotoExpand,V_Tk_PhotoExpand,_ANSI_ARGS_((Tk_PhotoHandle handle,
- int width, int height )))
-#endif /* #ifndef Tk_PhotoExpand */
-
-#ifndef Tk_PhotoFormatName
-VFUNC(char *,Tk_PhotoFormatName,V_Tk_PhotoFormatName,_ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_Obj *formatString)))
-#endif /* #ifndef Tk_PhotoFormatName */
-
-#ifndef Tk_PhotoGetImage
-VFUNC(int,Tk_PhotoGetImage,V_Tk_PhotoGetImage,_ANSI_ARGS_((Tk_PhotoHandle handle,
- Tk_PhotoImageBlock *blockPtr)))
-#endif /* #ifndef Tk_PhotoGetImage */
-
-#ifndef Tk_PhotoGetSize
-VFUNC(void,Tk_PhotoGetSize,V_Tk_PhotoGetSize,_ANSI_ARGS_((Tk_PhotoHandle handle,
- int *widthPtr, int *heightPtr)))
-#endif /* #ifndef Tk_PhotoGetSize */
-
-#ifndef Tk_PhotoPutBlock
-VFUNC(void,Tk_PhotoPutBlock,V_Tk_PhotoPutBlock,_ANSI_ARGS_((Tk_PhotoHandle handle,
- Tk_PhotoImageBlock *blockPtr, int x, int y,
- int width, int height, int compRule)))
-#endif /* #ifndef Tk_PhotoPutBlock */
-
-#ifndef Tk_PhotoPutZoomedBlock
-VFUNC(void,Tk_PhotoPutZoomedBlock,V_Tk_PhotoPutZoomedBlock,_ANSI_ARGS_((
- Tk_PhotoHandle handle,
- Tk_PhotoImageBlock *blockPtr, int x, int y,
- int width, int height, int zoomX, int zoomY,
- int subsampleX, int subsampleY, int compRule)))
-#endif /* #ifndef Tk_PhotoPutZoomedBlock */
-
-#ifndef Tk_PhotoSetSize
-VFUNC(void,Tk_PhotoSetSize,V_Tk_PhotoSetSize,_ANSI_ARGS_((Tk_PhotoHandle handle,
- int width, int height)))
-#endif /* #ifndef Tk_PhotoSetSize */
-
-#endif /* _TKIMGPHOTO */
+#ifdef _TKIMGPHOTO
+VVAR(Tk_PhotoImageFormat,tkImgFmtPPM,V_tkImgFmtPPM)
+#ifndef Tk_CreateOldPhotoImageFormat
+VFUNC(void,Tk_CreateOldPhotoImageFormat,V_Tk_CreateOldPhotoImageFormat,_ANSI_ARGS_((
+ Tk_PhotoImageFormat *formatPtr)))
+#endif /* #ifndef Tk_CreateOldPhotoImageFormat */
+
+#ifndef Tk_CreatePhotoImageFormat
+VFUNC(void,Tk_CreatePhotoImageFormat,V_Tk_CreatePhotoImageFormat,_ANSI_ARGS_((
+ Tk_PhotoImageFormat *formatPtr)))
+#endif /* #ifndef Tk_CreatePhotoImageFormat */
+
+#ifndef Tk_DitherPhoto
+VFUNC(void,Tk_DitherPhoto,V_Tk_DitherPhoto,_ANSI_ARGS_((Tk_PhotoHandle handle,
+ int x, int y, int width, int height)))
+#endif /* #ifndef Tk_DitherPhoto */
+
+#ifndef Tk_FindPhoto
+VFUNC(Tk_PhotoHandle,Tk_FindPhoto,V_Tk_FindPhoto,_ANSI_ARGS_((Tcl_Interp *interp,
+ CONST char *imageName)))
+#endif /* #ifndef Tk_FindPhoto */
+
+#ifndef Tk_PhotoBlank
+VFUNC(void,Tk_PhotoBlank,V_Tk_PhotoBlank,_ANSI_ARGS_((Tk_PhotoHandle handle)))
+#endif /* #ifndef Tk_PhotoBlank */
+
+#ifndef Tk_PhotoExpand
+VFUNC(void,Tk_PhotoExpand,V_Tk_PhotoExpand,_ANSI_ARGS_((Tk_PhotoHandle handle,
+ int width, int height )))
+#endif /* #ifndef Tk_PhotoExpand */
+
+#ifndef Tk_PhotoFormatName
+VFUNC(char *,Tk_PhotoFormatName,V_Tk_PhotoFormatName,_ANSI_ARGS_((Tcl_Interp *interp,
+ Tcl_Obj *formatString)))
+#endif /* #ifndef Tk_PhotoFormatName */
+
+#ifndef Tk_PhotoGetImage
+VFUNC(int,Tk_PhotoGetImage,V_Tk_PhotoGetImage,_ANSI_ARGS_((Tk_PhotoHandle handle,
+ Tk_PhotoImageBlock *blockPtr)))
+#endif /* #ifndef Tk_PhotoGetImage */
+
+#ifndef Tk_PhotoGetSize
+VFUNC(void,Tk_PhotoGetSize,V_Tk_PhotoGetSize,_ANSI_ARGS_((Tk_PhotoHandle handle,
+ int *widthPtr, int *heightPtr)))
+#endif /* #ifndef Tk_PhotoGetSize */
+
+#ifndef Tk_PhotoPutBlock
+VFUNC(void,Tk_PhotoPutBlock,V_Tk_PhotoPutBlock,_ANSI_ARGS_((Tk_PhotoHandle handle,
+ Tk_PhotoImageBlock *blockPtr, int x, int y,
+ int width, int height, int compRule)))
+#endif /* #ifndef Tk_PhotoPutBlock */
+
+#ifndef Tk_PhotoPutZoomedBlock
+VFUNC(void,Tk_PhotoPutZoomedBlock,V_Tk_PhotoPutZoomedBlock,_ANSI_ARGS_((
+ Tk_PhotoHandle handle,
+ Tk_PhotoImageBlock *blockPtr, int x, int y,
+ int width, int height, int zoomX, int zoomY,
+ int subsampleX, int subsampleY, int compRule)))
+#endif /* #ifndef Tk_PhotoPutZoomedBlock */
+
+#ifndef Tk_PhotoSetSize
+VFUNC(void,Tk_PhotoSetSize,V_Tk_PhotoSetSize,_ANSI_ARGS_((Tk_PhotoHandle handle,
+ int width, int height)))
+#endif /* #ifndef Tk_PhotoSetSize */
+
+#endif /* _TKIMGPHOTO */
diff --git a/Master/tlpkg/tlperl/lib/Tk/tkGlue.t b/Master/tlpkg/tlperl/lib/Tk/tkGlue.t
index e59d658287f..ff689ff5539 100644
--- a/Master/tlpkg/tlperl/lib/Tk/tkGlue.t
+++ b/Master/tlpkg/tlperl/lib/Tk/tkGlue.t
@@ -1,70 +1,70 @@
-#ifdef _TKGLUE
-#ifndef Call_Tk
-VFUNC(int,Call_Tk,V_Call_Tk,_ANSI_ARGS_((Lang_CmdInfo *info,int argc, SV **args)))
-#endif /* #ifndef Call_Tk */
-
-#ifndef EnterWidgetMethods
-VFUNC(void,EnterWidgetMethods,V_EnterWidgetMethods,_ANSI_ARGS_((char *package, ...)))
-#endif /* #ifndef EnterWidgetMethods */
-
-#ifndef FindTkVarName
-VFUNC(SV *,FindTkVarName,V_FindTkVarName,_ANSI_ARGS_((CONST char *varName,int flags)))
-#endif /* #ifndef FindTkVarName */
-
-#ifndef InterpHv
-VFUNC(HV *,InterpHv,V_InterpHv,_ANSI_ARGS_((Tcl_Interp *interp,int fatal)))
-#endif /* #ifndef InterpHv */
-
-#ifndef Lang_TkCommand
-VFUNC(void,Lang_TkCommand,V_Lang_TkCommand,_ANSI_ARGS_((char *name, Tcl_ObjCmdProc *proc)))
-#endif /* #ifndef Lang_TkCommand */
-
-#ifndef Lang_TkSubCommand
-VFUNC(void,Lang_TkSubCommand,V_Lang_TkSubCommand,_ANSI_ARGS_((char *name, Tcl_ObjCmdProc *proc)))
-#endif /* #ifndef Lang_TkSubCommand */
-
-#ifndef MakeReference
-VFUNC(SV *,MakeReference,V_MakeReference,_ANSI_ARGS_((SV * sv)))
-#endif /* #ifndef MakeReference */
-
-#ifndef ObjectRef
-VFUNC(SV *,ObjectRef,V_ObjectRef,_ANSI_ARGS_((Tcl_Interp *interp, char *path)))
-#endif /* #ifndef ObjectRef */
-
-#ifndef SVtoFont
-VFUNC(Tk_Font,SVtoFont,V_SVtoFont,_ANSI_ARGS_((SV *win)))
-#endif /* #ifndef SVtoFont */
-
-#ifndef SVtoHWND
-VFUNC(HWND,SVtoHWND,V_SVtoHWND,_ANSI_ARGS_((SV *win)))
-#endif /* #ifndef SVtoHWND */
-
-#ifndef SVtoWindow
-VFUNC(Tk_Window,SVtoWindow,V_SVtoWindow,_ANSI_ARGS_((SV *win)))
-#endif /* #ifndef SVtoWindow */
-
-#ifndef TkToMainWindow
-VFUNC(Tk_Window,TkToMainWindow,V_TkToMainWindow,_ANSI_ARGS_((Tk_Window tkwin)))
-#endif /* #ifndef TkToMainWindow */
-
-#ifndef TkToWidget
-VFUNC(SV *,TkToWidget,V_TkToWidget,_ANSI_ARGS_((Tk_Window tkwin,Tcl_Interp **pinterp)))
-#endif /* #ifndef TkToWidget */
-
-#ifndef WidgetRef
-VFUNC(SV *,WidgetRef,V_WidgetRef,_ANSI_ARGS_((Tcl_Interp *interp, char *path)))
-#endif /* #ifndef WidgetRef */
-
-#ifndef WindowCommand
-VFUNC(Lang_CmdInfo *,WindowCommand,V_WindowCommand,_ANSI_ARGS_((SV *win,HV **hptr, int moan)))
-#endif /* #ifndef WindowCommand */
-
-#ifndef XSTkCommand
-VFUNC(int,XSTkCommand,V_XSTkCommand,_ANSI_ARGS_((CV *cv, int mwcd, Tcl_ObjCmdProc *proc, int items, SV **args)))
-#endif /* #ifndef XSTkCommand */
-
-#ifndef install_vtab
-VFUNC(void,install_vtab,V_install_vtab,_ANSI_ARGS_((char *name, void *table, size_t size)))
-#endif /* #ifndef install_vtab */
-
-#endif /* _TKGLUE */
+#ifdef _TKGLUE
+#ifndef Call_Tk
+VFUNC(int,Call_Tk,V_Call_Tk,_ANSI_ARGS_((Lang_CmdInfo *info,int argc, SV **args)))
+#endif /* #ifndef Call_Tk */
+
+#ifndef EnterWidgetMethods
+VFUNC(void,EnterWidgetMethods,V_EnterWidgetMethods,_ANSI_ARGS_((char *package, ...)))
+#endif /* #ifndef EnterWidgetMethods */
+
+#ifndef FindTkVarName
+VFUNC(SV *,FindTkVarName,V_FindTkVarName,_ANSI_ARGS_((CONST char *varName,int flags)))
+#endif /* #ifndef FindTkVarName */
+
+#ifndef InterpHv
+VFUNC(HV *,InterpHv,V_InterpHv,_ANSI_ARGS_((Tcl_Interp *interp,int fatal)))
+#endif /* #ifndef InterpHv */
+
+#ifndef Lang_TkCommand
+VFUNC(void,Lang_TkCommand,V_Lang_TkCommand,_ANSI_ARGS_((char *name, Tcl_ObjCmdProc *proc)))
+#endif /* #ifndef Lang_TkCommand */
+
+#ifndef Lang_TkSubCommand
+VFUNC(void,Lang_TkSubCommand,V_Lang_TkSubCommand,_ANSI_ARGS_((char *name, Tcl_ObjCmdProc *proc)))
+#endif /* #ifndef Lang_TkSubCommand */
+
+#ifndef MakeReference
+VFUNC(SV *,MakeReference,V_MakeReference,_ANSI_ARGS_((SV * sv)))
+#endif /* #ifndef MakeReference */
+
+#ifndef ObjectRef
+VFUNC(SV *,ObjectRef,V_ObjectRef,_ANSI_ARGS_((Tcl_Interp *interp, char *path)))
+#endif /* #ifndef ObjectRef */
+
+#ifndef SVtoFont
+VFUNC(Tk_Font,SVtoFont,V_SVtoFont,_ANSI_ARGS_((SV *win)))
+#endif /* #ifndef SVtoFont */
+
+#ifndef SVtoHWND
+VFUNC(HWND,SVtoHWND,V_SVtoHWND,_ANSI_ARGS_((SV *win)))
+#endif /* #ifndef SVtoHWND */
+
+#ifndef SVtoWindow
+VFUNC(Tk_Window,SVtoWindow,V_SVtoWindow,_ANSI_ARGS_((SV *win)))
+#endif /* #ifndef SVtoWindow */
+
+#ifndef TkToMainWindow
+VFUNC(Tk_Window,TkToMainWindow,V_TkToMainWindow,_ANSI_ARGS_((Tk_Window tkwin)))
+#endif /* #ifndef TkToMainWindow */
+
+#ifndef TkToWidget
+VFUNC(SV *,TkToWidget,V_TkToWidget,_ANSI_ARGS_((Tk_Window tkwin,Tcl_Interp **pinterp)))
+#endif /* #ifndef TkToWidget */
+
+#ifndef WidgetRef
+VFUNC(SV *,WidgetRef,V_WidgetRef,_ANSI_ARGS_((Tcl_Interp *interp, char *path)))
+#endif /* #ifndef WidgetRef */
+
+#ifndef WindowCommand
+VFUNC(Lang_CmdInfo *,WindowCommand,V_WindowCommand,_ANSI_ARGS_((SV *win,HV **hptr, int moan)))
+#endif /* #ifndef WindowCommand */
+
+#ifndef XSTkCommand
+VFUNC(int,XSTkCommand,V_XSTkCommand,_ANSI_ARGS_((CV *cv, int mwcd, Tcl_ObjCmdProc *proc, int items, SV **args)))
+#endif /* #ifndef XSTkCommand */
+
+#ifndef install_vtab
+VFUNC(void,install_vtab,V_install_vtab,_ANSI_ARGS_((char *name, void *table, size_t size)))
+#endif /* #ifndef install_vtab */
+
+#endif /* _TKGLUE */
diff --git a/Master/tlpkg/tlperl/lib/UNIVERSAL.pm b/Master/tlpkg/tlperl/lib/UNIVERSAL.pm
index e30f5a7eda0..d66d4c5598c 100644
--- a/Master/tlpkg/tlperl/lib/UNIVERSAL.pm
+++ b/Master/tlpkg/tlperl/lib/UNIVERSAL.pm
@@ -1,6 +1,6 @@
package UNIVERSAL;
-our $VERSION = '1.06';
+our $VERSION = '1.08';
# UNIVERSAL should not contain any extra subs/methods beyond those
# that it exists to define. The use of Exporter below is a historical
@@ -99,7 +99,7 @@ If you're not sure what you have (the C<VAL> case), wrap the method call in an
C<eval> block to catch the exception if C<VAL> is undefined.
If you want to be sure that you're calling C<isa> as a method, not a class,
-check the invocant with C<blessed> from L<Scalar::Util> first:
+check the invocand with C<blessed> from L<Scalar::Util> first:
use Scalar::Util 'blessed';
@@ -119,7 +119,7 @@ itself. For example, logging or serialization may be roles.
C<DOES> and C<isa> are similar, in that if either is true, you know that the
object or class on which you call the method can perform specific behavior.
However, C<DOES> is different from C<isa> in that it does not care I<how> the
-invocant performs the operations, merely that it does. (C<isa> of course
+invocand performs the operations, merely that it does. (C<isa> of course
mandates an inheritance relationship. Other relationships include aggregation,
delegation, and mocking.)
@@ -157,7 +157,7 @@ calling the coderef will cause an error.
You may call C<can> as a class (static) method or an object method.
-Again, the same rule about having a valid invocant applies -- use an C<eval>
+Again, the same rule about having a valid invocand applies -- use an C<eval>
block or C<blessed> if you need to be extra paranoid.
=item C<VERSION ( [ REQUIRE ] )>
diff --git a/Master/tlpkg/tlperl/lib/URI.pm b/Master/tlpkg/tlperl/lib/URI.pm
index c0285a7097c..eb1970eab99 100644
--- a/Master/tlpkg/tlperl/lib/URI.pm
+++ b/Master/tlpkg/tlperl/lib/URI.pm
@@ -2,7 +2,7 @@ package URI;
use strict;
use vars qw($VERSION);
-$VERSION = "1.58";
+$VERSION = "1.60";
use vars qw($ABS_REMOTE_LEADING_DOTS $ABS_ALLOW_RELATIVE_SCHEME $DEFAULT_QUERY_FORM_DELIMITER);
@@ -90,6 +90,7 @@ sub _uric_escape
{
my($class, $str) = @_;
$str =~ s*([^$uric\#])* URI::Escape::escape_char($1) *ego;
+ utf8::downgrade($str);
return $str;
}
@@ -218,6 +219,7 @@ sub opaque
my $new_opaque = shift;
$new_opaque = "" unless defined $new_opaque;
$new_opaque =~ s/([^$uric])/ URI::Escape::escape_char($1)/ego;
+ utf8::downgrade($new_opaque);
$$self = defined($old_scheme) ? $old_scheme : "";
$$self .= $new_opaque;
@@ -243,6 +245,7 @@ sub fragment
my $new_frag = shift;
if (defined $new_frag) {
$new_frag =~ s/([^$uric])/ URI::Escape::escape_char($1) /ego;
+ utf8::downgrade($new_frag);
$$self .= "#$new_frag";
}
$old;
@@ -470,7 +473,7 @@ argument, it updates the corresponding component in addition to
returning the old value of the component. Passing an undefined
argument removes the component (if possible). The description of
each accessor method indicates whether the component is passed as
-an escaped or an unescaped string. A component that can be further
+an escaped (percent-encoded) or an unescaped string. A component that can be further
divided into sub-parts are usually passed escaped, as unescaping might
change its semantics.
@@ -1050,7 +1053,13 @@ delimited by ";" instead of "&" which is the default.
=head1 BUGS
-Using regexp variables like $1 directly as arguments to the URI methods
+There are some things that are not quite right:
+
+=over
+
+=item *
+
+Using regexp variables like $1 directly as arguments to the URI accessor methods
does not work too well with current perl implementations. I would argue
that this is actually a bug in perl. The workaround is to quote
them. Example:
@@ -1058,6 +1067,19 @@ them. Example:
/(...)/ || die;
$u->query("$1");
+
+=item *
+
+The escaping (percent encoding) of chars in the 128 .. 255 range passed to the
+URI constructor or when setting URI parts using the accessor methods depend on
+the state of the internal UTF8 flag (see utf8::is_utf8) of the string passed.
+If the UTF8 flag is set the UTF-8 encoded version of the character is percent
+encoded. If the UTF8 flag isn't set the Latin-1 version (byte) of the
+character is percent encoded. This basically exposes the internal encoding of
+Perl strings.
+
+=back
+
=head1 PARSING URIs WITH REGEXP
As an alternative to this module, the following (official) regular
diff --git a/Master/tlpkg/tlperl/lib/URI/Escape.pm b/Master/tlpkg/tlperl/lib/URI/Escape.pm
index 32855e37576..e09d76acc48 100644
--- a/Master/tlpkg/tlperl/lib/URI/Escape.pm
+++ b/Master/tlpkg/tlperl/lib/URI/Escape.pm
@@ -140,7 +140,7 @@ our @ISA = qw(Exporter);
our %escapes;
our @EXPORT = qw(uri_escape uri_unescape uri_escape_utf8);
our @EXPORT_OK = qw(%escapes);
-our $VERSION = "3.30";
+our $VERSION = "3.31";
use Carp ();
diff --git a/Master/tlpkg/tlperl/lib/URI/Heuristic.pm b/Master/tlpkg/tlperl/lib/URI/Heuristic.pm
index f02fe376a44..71ad8dab8ff 100644
--- a/Master/tlpkg/tlperl/lib/URI/Heuristic.pm
+++ b/Master/tlpkg/tlperl/lib/URI/Heuristic.pm
@@ -93,7 +93,7 @@ use vars qw(@EXPORT_OK $VERSION $MY_COUNTRY %LOCAL_GUESSING $DEBUG);
require Exporter;
*import = \&Exporter::import;
@EXPORT_OK = qw(uf_uri uf_uristr uf_url uf_urlstr);
-$VERSION = "4.19";
+$VERSION = "4.20";
sub MY_COUNTRY() {
for ($MY_COUNTRY) {
diff --git a/Master/tlpkg/tlperl/lib/URI/QueryParam.pm b/Master/tlpkg/tlperl/lib/URI/QueryParam.pm
index 3f634b12b77..c202feabfab 100644
--- a/Master/tlpkg/tlperl/lib/URI/QueryParam.pm
+++ b/Master/tlpkg/tlperl/lib/URI/QueryParam.pm
@@ -8,38 +8,30 @@ sub URI::_query::query_param {
if (@_ == 0) {
# get keys
- my %seen;
- my @keys;
- for (my $i = 0; $i < @old; $i += 2) {
- push(@keys, $old[$i]) unless $seen{$old[$i]}++;
- }
- return @keys;
+ my (%seen, $i);
+ return grep !($i++ % 2 || $seen{$_}++), @old;
}
my $key = shift;
- my @i;
-
- for (my $i = 0; $i < @old; $i += 2) {
- push(@i, $i) if $old[$i] eq $key;
- }
+ my @i = grep $_ % 2 == 0 && $old[$_] eq $key, 0 .. $#old;
if (@_) {
my @new = @old;
my @new_i = @i;
my @vals = map { ref($_) eq 'ARRAY' ? @$_ : $_ } @_;
- #print "VALS:@vals [@i]\n";
+
while (@new_i > @vals) {
- #print "REMOVE $new_i[-1]\n";
- splice(@new, pop(@new_i), 2);
+ splice @new, pop @new_i, 2;
}
- while (@vals > @new_i) {
+ if (@vals > @new_i) {
my $i = @new_i ? $new_i[-1] + 2 : @new;
- #print "SPLICE $i\n";
- splice(@new, $i, 0, $key => pop(@vals));
+ my @splice = splice @vals, @new_i, @vals - @new_i;
+
+ splice @new, $i, 0, map { $key => $_ } @splice;
}
- for (@vals) {
+ if (@vals) {
#print "SET $new_i[0]\n";
- $new[shift(@new_i)+1] = $_;
+ @new[ map $_ + 1, @new_i ] = @vals;
}
$self->query_form(\@new);
@@ -51,7 +43,8 @@ sub URI::_query::query_param {
sub URI::_query::query_param_append {
my $self = shift;
my $key = shift;
- $self->query_form($self->query_form, $key => \@_); # XXX
+ my @vals = map { ref $_ eq 'ARRAY' ? @$_ : $_ } @_;
+ $self->query_form($self->query_form, $key => \@vals); # XXX
return;
}
diff --git a/Master/tlpkg/tlperl/lib/URI/URL.pm b/Master/tlpkg/tlperl/lib/URI/URL.pm
index 77354488c86..81bf47d3af1 100644
--- a/Master/tlpkg/tlperl/lib/URI/URL.pm
+++ b/Master/tlpkg/tlperl/lib/URI/URL.pm
@@ -6,7 +6,7 @@ require URI::WithBase;
use strict;
use vars qw(@EXPORT $VERSION);
-$VERSION = "5.03";
+$VERSION = "5.04";
# Provide as much as possible of the old URI::URL interface for backwards
# compatibility...
diff --git a/Master/tlpkg/tlperl/lib/URI/WithBase.pm b/Master/tlpkg/tlperl/lib/URI/WithBase.pm
index 0337c6b6450..4300a2a60ae 100644
--- a/Master/tlpkg/tlperl/lib/URI/WithBase.pm
+++ b/Master/tlpkg/tlperl/lib/URI/WithBase.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw($AUTOLOAD $VERSION);
use URI;
-$VERSION = "2.19";
+$VERSION = "2.20";
use overload '""' => "as_string", fallback => 1;
diff --git a/Master/tlpkg/tlperl/lib/URI/_generic.pm b/Master/tlpkg/tlperl/lib/URI/_generic.pm
index 9bf2e5d0781..979087b6301 100644
--- a/Master/tlpkg/tlperl/lib/URI/_generic.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_generic.pm
@@ -23,6 +23,7 @@ sub authority
my $rest = $3;
if (defined $auth) {
$auth =~ s/([^$ACHAR])/ URI::Escape::escape_char($1)/ego;
+ utf8::downgrade($auth);
$$self .= "//$auth";
}
_check_path($rest, $$self);
@@ -42,6 +43,7 @@ sub path
my $new_path = shift;
$new_path = "" unless defined $new_path;
$new_path =~ s/([^$PCHAR])/ URI::Escape::escape_char($1)/ego;
+ utf8::downgrade($new_path);
_check_path($new_path, $$self);
$$self .= $new_path . $rest;
}
@@ -59,6 +61,7 @@ sub path_query
my $new_path = shift;
$new_path = "" unless defined $new_path;
$new_path =~ s/([^$URI::uric])/ URI::Escape::escape_char($1)/ego;
+ utf8::downgrade($new_path);
_check_path($new_path, $$self);
$$self .= $new_path . $rest;
}
diff --git a/Master/tlpkg/tlperl/lib/URI/_idna.pm b/Master/tlpkg/tlperl/lib/URI/_idna.pm
index 39366e5b831..8b9eab7cb11 100644
--- a/Master/tlpkg/tlperl/lib/URI/_idna.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_idna.pm
@@ -7,6 +7,13 @@ use strict;
use URI::_punycode qw(encode_punycode decode_punycode);
use Carp qw(croak);
+BEGIN {
+ *URI::_idna::_ENV_::JOIN_LEAKS_UTF8_FLAGS = $] < 5.008_003
+ ? sub () { 1 }
+ : sub () { 0 }
+ ;
+}
+
my $ASCII = qr/^[\x00-\x7F]*\z/;
sub encode {
@@ -17,6 +24,8 @@ sub encode {
for (@labels) {
$_ = ToASCII($_);
}
+
+ return eval 'join(".", @labels, @last_empty)' if URI::_idna::_ENV_::JOIN_LEAKS_UTF8_FLAGS;
return join(".", @labels, @last_empty);
}
diff --git a/Master/tlpkg/tlperl/lib/URI/_ldap.pm b/Master/tlpkg/tlperl/lib/URI/_ldap.pm
index c9132e2aff7..d76736471d4 100644
--- a/Master/tlpkg/tlperl/lib/URI/_ldap.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_ldap.pm
@@ -7,7 +7,7 @@ package URI::_ldap;
use strict;
use vars qw($VERSION);
-$VERSION = "1.11";
+$VERSION = "1.12";
use URI::Escape qw(uri_unescape);
diff --git a/Master/tlpkg/tlperl/lib/URI/_punycode.pm b/Master/tlpkg/tlperl/lib/URI/_punycode.pm
index 828f176c3a8..db400914268 100644
--- a/Master/tlpkg/tlperl/lib/URI/_punycode.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_punycode.pm
@@ -1,7 +1,7 @@
package URI::_punycode;
use strict;
-our $VERSION = "0.03";
+our $VERSION = "0.04";
require Exporter;
our @ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/URI/_query.pm b/Master/tlpkg/tlperl/lib/URI/_query.pm
index 0c6aa285e42..a6038a3717a 100644
--- a/Master/tlpkg/tlperl/lib/URI/_query.pm
+++ b/Master/tlpkg/tlperl/lib/URI/_query.pm
@@ -14,6 +14,7 @@ sub query
$$self = $1;
if (defined $q) {
$q =~ s/([^$URI::uric])/ URI::Escape::escape_char($1)/ego;
+ utf8::downgrade($q);
$$self .= "?$q";
}
$$self .= $3;
diff --git a/Master/tlpkg/tlperl/lib/URI/file.pm b/Master/tlpkg/tlperl/lib/URI/file.pm
index 59650607ea3..5a1e2b530be 100644
--- a/Master/tlpkg/tlperl/lib/URI/file.pm
+++ b/Master/tlpkg/tlperl/lib/URI/file.pm
@@ -5,7 +5,7 @@ use vars qw(@ISA $VERSION $DEFAULT_AUTHORITY %OS_CLASS);
require URI::_generic;
@ISA = qw(URI::_generic);
-$VERSION = "4.20";
+$VERSION = "4.21";
use URI::Escape qw(uri_unescape);
@@ -227,12 +227,12 @@ usually many URIs that map to any given file name. For instance, an
authority of "localhost" maps the same as a URI with a missing or empty
authority.
-Example 1: The Mac uses ":" as path separator, but not in the same way
-as a generic URI. ":foo" is a relative name. "foo:bar" is an absolute
-name. Also, path segments can contain the "/" character as well as the
-literal "." or "..". So the mapping looks like this:
+Example 1: The Mac classic (Mac OS 9 and earlier) used ":" as path separator,
+but not in the same way as a generic URI. ":foo" was a relative name. "foo:bar"
+was an absolute name. Also, path segments could contain the "/" character as well
+as the literal "." or "..". So the mapping looks like this:
- Mac URI
+ Mac classic URI
---------- -------------------
:foo:bar <==> foo/bar
: <==> ./
diff --git a/Master/tlpkg/tlperl/lib/URI/ldap.pm b/Master/tlpkg/tlperl/lib/URI/ldap.pm
index 50acab4d1f5..378a9421440 100644
--- a/Master/tlpkg/tlperl/lib/URI/ldap.pm
+++ b/Master/tlpkg/tlperl/lib/URI/ldap.pm
@@ -7,7 +7,7 @@ package URI::ldap;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = "1.11";
+$VERSION = "1.12";
require URI::_server;
require URI::_ldap;
diff --git a/Master/tlpkg/tlperl/lib/URI/sip.pm b/Master/tlpkg/tlperl/lib/URI/sip.pm
index 1ace52c4f58..97bf8630a3d 100644
--- a/Master/tlpkg/tlperl/lib/URI/sip.pm
+++ b/Master/tlpkg/tlperl/lib/URI/sip.pm
@@ -15,7 +15,7 @@ use strict;
use vars qw(@ISA $VERSION);
use URI::Escape qw(uri_unescape);
-$VERSION = "0.10";
+$VERSION = "0.11";
sub default_port { 5060 }
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
index 2e989d6bb54..0c9646f77a9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
@@ -14,9 +14,13 @@ use File::Spec;
no warnings 'utf8';
-our $VERSION = '0.52_01';
+our $VERSION = '0.73';
our $PACKAGE = __PACKAGE__;
+require DynaLoader;
+our @ISA = qw(DynaLoader);
+bootstrap Unicode::Collate $VERSION;
+
my @Path = qw(Unicode Collate);
my $KeyFile = "allkeys.txt";
@@ -71,36 +75,15 @@ use constant NON_VAR => 0; # Non-Variable character
use constant VAR => 1; # Variable character
# specific code points
-use constant Hangul_LBase => 0x1100;
-use constant Hangul_LIni => 0x1100;
-use constant Hangul_LFin => 0x1159;
-use constant Hangul_LFill => 0x115F;
-use constant Hangul_VBase => 0x1161;
-use constant Hangul_VIni => 0x1160; # from Vowel Filler
-use constant Hangul_VFin => 0x11A2;
-use constant Hangul_TBase => 0x11A7; # from "no-final" codepoint
-use constant Hangul_TIni => 0x11A8;
-use constant Hangul_TFin => 0x11F9;
-use constant Hangul_TCount => 28;
-use constant Hangul_NCount => 588;
-use constant Hangul_SBase => 0xAC00;
use constant Hangul_SIni => 0xAC00;
use constant Hangul_SFin => 0xD7A3;
-use constant CJK_UidIni => 0x4E00;
-use constant CJK_UidFin => 0x9FA5;
-use constant CJK_UidF41 => 0x9FBB;
-use constant CJK_ExtAIni => 0x3400;
-use constant CJK_ExtAFin => 0x4DB5;
-use constant CJK_ExtBIni => 0x20000;
-use constant CJK_ExtBFin => 0x2A6D6;
-use constant BMP_Max => 0xFFFF;
# Logical_Order_Exception in PropList.txt
my $DefaultRearrange = [ 0x0E40..0x0E44, 0x0EC0..0x0EC4 ];
-sub UCA_Version { "14" }
+sub UCA_Version { "22" }
-sub Base_Unicode_Version { "4.1.0" }
+sub Base_Unicode_Version { "6.0.0" }
######
@@ -108,10 +91,6 @@ sub pack_U {
return pack('U*', @_);
}
-sub unpack_U {
- return unpack('U*', shift(@_).pack('U*'));
-}
-
######
my (%VariableOK);
@@ -127,11 +106,12 @@ our @ChangeOK = qw/
/;
our @ChangeNG = qw/
- entry mapping table maxlength
+ entry mapping table maxlength contraction
ignoreChar ignoreName undefChar undefName variableTable
versionTable alternateTable backwardsTable forwardsTable rearrangeTable
- derivCode normCode rearrangeHash
- backwardsFlag
+ derivCode normCode rearrangeHash backwardsFlag
+ suppress suppressHash
+ __useXS
/;
# The hash key 'ignored' is deleted at v 0.21.
# The hash key 'isShift' is deleted at v 0.23.
@@ -188,6 +168,10 @@ my %DerivCode = (
9 => \&_derivCE_9,
11 => \&_derivCE_9, # 11 == 9
14 => \&_derivCE_14,
+ 16 => \&_derivCE_14, # 16 == 14
+ 18 => \&_derivCE_18,
+ 20 => \&_derivCE_20,
+ 22 => \&_derivCE_22,
);
sub checkCollator {
@@ -261,6 +245,17 @@ sub new
my $class = shift;
my $self = bless { @_ }, $class;
+ if (! exists $self->{table} &&
+ !defined $self->{undefName} && !defined $self->{ignoreName} &&
+ !defined $self->{undefChar} && !defined $self->{ignoreChar}) {
+ $self->{__useXS} = \&_fetch_simple;
+ } # XS only
+
+ # keys of $self->{suppressHash} are $self->{suppress}.
+ if ($self->{suppress} && @{ $self->{suppress} }) {
+ @{ $self->{suppressHash} }{ @{ $self->{suppress} } } = ();
+ } # before read_table()
+
# If undef is passed explicitly, no file is read.
$self->{table} = $KeyFile if ! exists $self->{table};
$self->read_table() if defined $self->{table};
@@ -291,9 +286,47 @@ sub new
return $self;
}
+sub parseAtmark {
+ my $self = shift;
+ my $line = shift; # after s/^\s*\@//
+
+ if ($line =~ /^version\s*(\S*)/) {
+ $self->{versionTable} ||= $1;
+ }
+ elsif ($line =~ /^variable\s+(\S*)/) { # since UTS #10-9
+ $self->{variableTable} ||= $1;
+ }
+ elsif ($line =~ /^alternate\s+(\S*)/) { # till UTS #10-8
+ $self->{alternateTable} ||= $1;
+ }
+ elsif ($line =~ /^backwards\s+(\S*)/) {
+ push @{ $self->{backwardsTable} }, $1;
+ }
+ elsif ($line =~ /^forwards\s+(\S*)/) { # parhaps no use
+ push @{ $self->{forwardsTable} }, $1;
+ }
+ elsif ($line =~ /^rearrange\s+(.*)/) { # (\S*) is NG
+ push @{ $self->{rearrangeTable} }, _getHexArray($1);
+ }
+}
+
sub read_table {
my $self = shift;
+ if ($self->{__useXS}) {
+ my @rest = _fetch_rest(); # complex matter need to parse
+ for my $line (@rest) {
+ next if $line =~ /^\s*#/;
+
+ if ($line =~ s/^\s*\@//) {
+ $self->parseAtmark($line);
+ } else {
+ $self->parseEntry($line);
+ }
+ }
+ return;
+ }
+
my($f, $fh);
foreach my $d (@INC) {
$f = File::Spec->catfile($d, @Path, $self->{table});
@@ -307,29 +340,11 @@ sub read_table {
while (my $line = <$fh>) {
next if $line =~ /^\s*#/;
- unless ($line =~ s/^\s*\@//) {
- $self->parseEntry($line);
- next;
- }
- # matched ^\s*\@
- if ($line =~ /^version\s*(\S*)/) {
- $self->{versionTable} ||= $1;
- }
- elsif ($line =~ /^variable\s+(\S*)/) { # since UTS #10-9
- $self->{variableTable} ||= $1;
- }
- elsif ($line =~ /^alternate\s+(\S*)/) { # till UTS #10-8
- $self->{alternateTable} ||= $1;
- }
- elsif ($line =~ /^backwards\s+(\S*)/) {
- push @{ $self->{backwardsTable} }, $1;
- }
- elsif ($line =~ /^forwards\s+(\S*)/) { # parhaps no use
- push @{ $self->{forwardsTable} }, $1;
- }
- elsif ($line =~ /^rearrange\s+(.*)/) { # (\S*) is NG
- push @{ $self->{rearrangeTable} }, _getHexArray($1);
+ if ($line =~ s/^\s*\@//) {
+ $self->parseAtmark($line);
+ } else {
+ $self->parseEntry($line);
}
}
close $fh;
@@ -359,7 +374,8 @@ sub parseEntry
@uv = _getHexArray($e);
return if !@uv;
-
+ return if @uv > 1 && $self->{suppressHash} &&
+ exists $self->{suppressHash}{$uv[0]};
$entry = join(CODE_SEP, @uv); # in JCPS
if (defined $self->{undefChar} || defined $self->{ignoreChar}) {
@@ -395,56 +411,26 @@ sub parseEntry
$self->{mapping}{$entry} = $is_L3_ignorable ? [] : \@key;
if (@uv > 1) {
- (!$self->{maxlength}{$uv[0]} || $self->{maxlength}{$uv[0]} < @uv)
- and $self->{maxlength}{$uv[0]} = @uv;
- }
-}
-
-
-##
-## VCE = _varCE(variable term, VCE)
-##
-sub _varCE
-{
- my $vbl = shift;
- my $vce = shift;
- if ($vbl eq 'non-ignorable') {
- return $vce;
- }
- my ($var, @wt) = unpack VCE_TEMPLATE, $vce;
-
- if ($var) {
- return pack(VCE_TEMPLATE, $var, 0, 0, 0,
- $vbl eq 'blanked' ? $wt[3] : $wt[0]);
- }
- elsif ($vbl eq 'blanked') {
- return $vce;
+ if (!$self->{maxlength}{$uv[0]} || $self->{maxlength}{$uv[0]} < @uv) {
+ $self->{maxlength}{$uv[0]} = @uv;
+ }
}
- else {
- return pack(VCE_TEMPLATE, $var, @wt[0..2],
- $vbl eq 'shifted' && $wt[0]+$wt[1]+$wt[2] ? Shift4Wt : 0);
+ if (@uv > 2) {
+ while (@uv) {
+ pop @uv;
+ my $fake_entry = join(CODE_SEP, @uv); # in JCPS
+ $self->{contraction}{$fake_entry} = 1;
+ }
}
}
+
sub viewSortKey
{
my $self = shift;
$self->visualizeSortKey($self->getSortKey(@_));
}
-sub visualizeSortKey
-{
- my $self = shift;
- my $view = join " ", map sprintf("%04X", $_), unpack(KEY_TEMPLATE, shift);
-
- if ($self->{UCA_Version} <= 8) {
- $view =~ s/ ?0000 ?/|/g;
- } else {
- $view =~ s/\b0000\b/|/g;
- }
- return "[$view]";
-}
-
##
## arrayref of JCPS = splitEnt(string to be collated)
@@ -460,7 +446,9 @@ sub splitEnt
my $map = $self->{mapping};
my $max = $self->{maxlength};
my $reH = $self->{rearrangeHash};
- my $ver9 = $self->{UCA_Version} >= 9 && $self->{UCA_Version} <= 11;
+ my $vers = $self->{UCA_Version};
+ my $ver9 = $vers >= 9 && $vers <= 11;
+ my $uXS = $self->{__useXS};
my ($str, @buf);
@@ -494,9 +482,15 @@ sub splitEnt
# remove a code point marked as a completely ignorable.
for (my $i = 0; $i < @src; $i++) {
- $src[$i] = undef
- if _isIllegal($src[$i]) || ($ver9 &&
- $map->{ $src[$i] } && @{ $map->{ $src[$i] } } == 0);
+ if (_isIllegal($src[$i]) || $vers <= 20 && _isNonchar($src[$i])) {
+ $src[$i] = undef;
+ } elsif ($ver9) {
+ $src[$i] = undef if $map->{ $src[$i] } &&
+ @{ $map->{ $src[$i] } } == 0;
+ if ($uXS) {
+ $src[$i] = undef if _ignorable_simple($src[$i]);
+ }
+ }
}
for (my $i = 0; $i < @src; $i++) {
@@ -528,36 +522,55 @@ sub splitEnt
}
}
- # not-contiguous contraction with Combining Char (cf. UTS#10, S2.1).
+ # discontiguous contraction with Combining Char (cf. UTS#10, S2.1).
# This process requires Unicode::Normalize.
# If "normalization" is undef, here should be skipped *always*
# (in spite of bool value of $CVgetCombinClass),
# since canonical ordering cannot be expected.
# Blocked combining character should not be contracted.
- if ($self->{normalization})
# $self->{normCode} is false in the case of "prenormalized".
- {
+ if ($self->{normalization}) {
+ my $cont = $self->{contraction};
my $preCC = 0;
- my $curCC = 0;
+ my $preCC_uc = 0;
+ my $jcps_uc = $jcps;
+ my(@out, @out_uc);
for (my $p = $i + 1; $p < @src; $p++) {
next if ! defined $src[$p];
- $curCC = $CVgetCombinClass->($src[$p]);
+ my $curCC = $CVgetCombinClass->($src[$p]);
last unless $curCC;
my $tail = CODE_SEP . $src[$p];
+
+ if ($preCC_uc != $curCC && ($map->{$jcps_uc.$tail} ||
+ $cont->{$jcps_uc.$tail})) {
+ $jcps_uc .= $tail;
+ push @out_uc, $p;
+ } else {
+ $preCC_uc = $curCC;
+ }
+
if ($preCC != $curCC && $map->{$jcps.$tail}) {
$jcps .= $tail;
- $src[$p] = undef;
+ push @out, $p;
} else {
$preCC = $curCC;
}
}
+
+ if ($map->{$jcps_uc}) {
+ $jcps = $jcps_uc;
+ $src[$_] = undef for @out_uc;
+ } else {
+ $src[$_] = undef for @out;
+ }
}
}
# skip completely ignorable
- if ($map->{$jcps} && @{ $map->{$jcps} } == 0) {
+ if ($uXS && $jcps =~ /^[0-9]+\z/ && _ignorable_simple($jcps) ||
+ $map->{$jcps} && @{ $map->{$jcps} } == 0) {
if ($wLen && @buf) {
$buf[-1][2] = $i + 1;
}
@@ -569,6 +582,22 @@ sub splitEnt
return \@buf;
}
+##
+## VCE = _pack_override(input, codepoint, derivCode)
+##
+sub _pack_override ($$$) {
+ my $r = shift;
+ my $u = shift;
+ my $der = shift;
+
+ if (ref $r) {
+ return pack(VCE_TEMPLATE, NON_VAR, @$r);
+ } elsif (defined $r) {
+ return pack(VCE_TEMPLATE, NON_VAR, $r, Min2Wt, Min3Wt, $u);
+ } else {
+ return $der->($u);
+ }
+}
##
## list of VCE = getWt(JCPS)
@@ -580,22 +609,23 @@ sub getWt
my $vbl = $self->{variable};
my $map = $self->{mapping};
my $der = $self->{derivCode};
+ my $uXS = $self->{__useXS};
return if !defined $u;
return map(_varCE($vbl, $_), @{ $map->{$u} })
if $map->{$u};
+ return map(_varCE($vbl, $_), _fetch_simple($u))
+ if $uXS && _exists_simple($u);
# JCPS must not be a contraction, then it's a code point.
if (Hangul_SIni <= $u && $u <= Hangul_SFin) {
my $hang = $self->{overrideHangul};
my @hangulCE;
if ($hang) {
- @hangulCE = map(pack(VCE_TEMPLATE, NON_VAR, @$_), &$hang($u));
- }
- elsif (!defined $hang) {
+ @hangulCE = map _pack_override($_, $u, $der), $hang->($u);
+ } elsif (!defined $hang) {
@hangulCE = $der->($u);
- }
- else {
+ } else {
my $max = $self->{maxlength};
my @decH = _decompHangul($u);
@@ -612,7 +642,7 @@ sub getWt
$map->{$contract} and @decH = ($contract, $decH[2]);
}
# even if V's ignorable, LT contraction is not supported.
- # If such a situatution were required, NFD should be used.
+ # If such a situation were required, NFD should be used.
}
if (@decH == 3 && $max->{$decH[1]}) {
my $contract = join(CODE_SEP, @decH[1,2]);
@@ -621,21 +651,22 @@ sub getWt
}
@hangulCE = map({
- $map->{$_} ? @{ $map->{$_} } : $der->($_);
+ $map->{$_} ? @{ $map->{$_} } :
+ $uXS && _exists_simple($_) ? _fetch_simple($_) :
+ $der->($_);
} @decH);
}
return map _varCE($vbl, $_), @hangulCE;
- }
- elsif (_isUIdeo($u, $self->{UCA_Version})) {
+ } else {
my $cjk = $self->{overrideCJK};
- return map _varCE($vbl, $_),
- $cjk
- ? map(pack(VCE_TEMPLATE, NON_VAR, @$_), &$cjk($u))
- : defined $cjk && $self->{UCA_Version} <= 8 && $u < 0x10000
- ? _uideoCE_8($u)
- : $der->($u);
- }
- else {
+ my $vers = $self->{UCA_Version};
+ if ($cjk && _isUIdeo($u, $vers)) {
+ my @cjkCE = map _pack_override($_, $u, $der), $cjk->($u);
+ return map _varCE($vbl, $_), @cjkCE;
+ }
+ if ($vers == 8 && defined $cjk && _isUIdeo($u, 0)) {
+ return map _varCE($vbl, $_), _uideoCE_8($u);
+ }
return map _varCE($vbl, $_), $der->($u);
}
}
@@ -647,89 +678,35 @@ sub getWt
sub getSortKey
{
my $self = shift;
- my $lev = $self->{level};
my $rEnt = $self->splitEnt(shift); # get an arrayref of JCPS
- my $v2i = $self->{UCA_Version} >= 9 &&
- $self->{variable} ne 'non-ignorable';
+ my $vers = $self->{UCA_Version};
+ my $vbl = $self->{variable};
+ my $term = $self->{hangul_terminator};
my @buf; # weight arrays
- if ($self->{hangul_terminator}) {
+ if ($term) {
my $preHST = '';
+ my $termCE = _varCE($vbl, pack(VCE_TEMPLATE, NON_VAR, $term, 0,0,0));
foreach my $jcps (@$rEnt) {
# weird things like VL, TL-contraction are not considered!
- my $curHST = '';
- foreach my $u (split /;/, $jcps) {
- $curHST .= getHST($u);
- }
+ my $curHST = join '', map getHST($_, $vers), split /;/, $jcps;
if ($preHST && !$curHST || # hangul before non-hangul
$preHST =~ /L\z/ && $curHST =~ /^T/ ||
$preHST =~ /V\z/ && $curHST =~ /^L/ ||
$preHST =~ /T\z/ && $curHST =~ /^[LV]/) {
-
- push @buf, $self->getWtHangulTerm();
+ push @buf, $termCE;
}
$preHST = $curHST;
-
push @buf, $self->getWt($jcps);
}
- $preHST # end at hangul
- and push @buf, $self->getWtHangulTerm();
- }
- else {
+ push @buf, $termCE if $preHST; # end at hangul
+ } else {
foreach my $jcps (@$rEnt) {
push @buf, $self->getWt($jcps);
}
}
- # make sort key
- my @ret = ([],[],[],[]);
- my $last_is_variable;
-
- foreach my $vwt (@buf) {
- my($var, @wt) = unpack(VCE_TEMPLATE, $vwt);
-
- # "Ignorable (L1, L2) after Variable" since track. v. 9
- if ($v2i) {
- if ($var) {
- $last_is_variable = TRUE;
- }
- elsif (!$wt[0]) { # ignorable
- next if $last_is_variable;
- }
- else {
- $last_is_variable = FALSE;
- }
- }
- foreach my $v (0..$lev-1) {
- 0 < $wt[$v] and push @{ $ret[$v] }, $wt[$v];
- }
- }
-
- # modification of tertiary weights
- if ($self->{upper_before_lower}) {
- foreach my $w (@{ $ret[2] }) {
- if (0x8 <= $w && $w <= 0xC) { $w -= 6 } # lower
- elsif (0x2 <= $w && $w <= 0x6) { $w += 6 } # upper
- elsif ($w == 0x1C) { $w += 1 } # square upper
- elsif ($w == 0x1D) { $w -= 1 } # square lower
- }
- }
- if ($self->{katakana_before_hiragana}) {
- foreach my $w (@{ $ret[2] }) {
- if (0x0F <= $w && $w <= 0x13) { $w -= 2 } # katakana
- elsif (0x0D <= $w && $w <= 0x0E) { $w += 5 } # hiragana
- }
- }
-
- if ($self->{backwardsFlag}) {
- for (my $v = MinLevel; $v <= MaxLevel; $v++) {
- if ($self->{backwardsFlag} & (1 << $v)) {
- @{ $ret[$v-1] } = reverse @{ $ret[$v-1] };
- }
- }
- }
-
- join LEVEL_SEP, map pack(KEY_TEMPLATE, @$_), @ret;
+ return $self->mk_SortKey(\@buf);
}
@@ -756,118 +733,6 @@ sub sort {
}
-sub _derivCE_14 {
- my $u = shift;
- my $base =
- (CJK_UidIni <= $u && $u <= CJK_UidF41)
- ? 0xFB40 : # CJK
- (CJK_ExtAIni <= $u && $u <= CJK_ExtAFin ||
- CJK_ExtBIni <= $u && $u <= CJK_ExtBFin)
- ? 0xFB80 # CJK ext.
- : 0xFBC0; # others
-
- my $aaaa = $base + ($u >> 15);
- my $bbbb = ($u & 0x7FFF) | 0x8000;
- return
- pack(VCE_TEMPLATE, NON_VAR, $aaaa, Min2Wt, Min3Wt, $u),
- pack(VCE_TEMPLATE, NON_VAR, $bbbb, 0, 0, $u);
-}
-
-sub _derivCE_9 {
- my $u = shift;
- my $base =
- (CJK_UidIni <= $u && $u <= CJK_UidFin)
- ? 0xFB40 : # CJK
- (CJK_ExtAIni <= $u && $u <= CJK_ExtAFin ||
- CJK_ExtBIni <= $u && $u <= CJK_ExtBFin)
- ? 0xFB80 # CJK ext.
- : 0xFBC0; # others
-
- my $aaaa = $base + ($u >> 15);
- my $bbbb = ($u & 0x7FFF) | 0x8000;
- return
- pack(VCE_TEMPLATE, NON_VAR, $aaaa, Min2Wt, Min3Wt, $u),
- pack(VCE_TEMPLATE, NON_VAR, $bbbb, 0, 0, $u);
-}
-
-sub _derivCE_8 {
- my $code = shift;
- my $aaaa = 0xFF80 + ($code >> 15);
- my $bbbb = ($code & 0x7FFF) | 0x8000;
- return
- pack(VCE_TEMPLATE, NON_VAR, $aaaa, 2, 1, $code),
- pack(VCE_TEMPLATE, NON_VAR, $bbbb, 0, 0, $code);
-}
-
-sub _uideoCE_8 {
- my $u = shift;
- return pack(VCE_TEMPLATE, NON_VAR, $u, Min2Wt, Min3Wt, $u);
-}
-
-sub _isUIdeo {
- my ($u, $uca_vers) = @_;
- return(
- (CJK_UidIni <= $u &&
- ($uca_vers >= 14 ? ( $u <= CJK_UidF41) : ($u <= CJK_UidFin)))
- ||
- (CJK_ExtAIni <= $u && $u <= CJK_ExtAFin)
- ||
- (CJK_ExtBIni <= $u && $u <= CJK_ExtBFin)
- );
-}
-
-
-sub getWtHangulTerm {
- my $self = shift;
- return _varCE($self->{variable},
- pack(VCE_TEMPLATE, NON_VAR, $self->{hangul_terminator}, 0,0,0));
-}
-
-
-##
-## "hhhh hhhh hhhh" to (dddd, dddd, dddd)
-##
-sub _getHexArray { map hex, $_[0] =~ /([0-9a-fA-F]+)/g }
-
-#
-# $code *must* be in Hangul syllable.
-# Check it before you enter here.
-#
-sub _decompHangul {
- my $code = shift;
- my $si = $code - Hangul_SBase;
- my $li = int( $si / Hangul_NCount);
- my $vi = int(($si % Hangul_NCount) / Hangul_TCount);
- my $ti = $si % Hangul_TCount;
- return (
- Hangul_LBase + $li,
- Hangul_VBase + $vi,
- $ti ? (Hangul_TBase + $ti) : (),
- );
-}
-
-sub _isIllegal {
- my $code = shift;
- return ! defined $code # removed
- || ($code < 0 || 0x10FFFF < $code) # out of range
- || (($code & 0xFFFE) == 0xFFFE) # ??FFF[EF] (cf. utf8.c)
- || (0xD800 <= $code && $code <= 0xDFFF) # unpaired surrogates
- || (0xFDD0 <= $code && $code <= 0xFDEF) # other non-characters
- ;
-}
-
-# Hangul Syllable Type
-sub getHST {
- my $u = shift;
- return
- Hangul_LIni <= $u && $u <= Hangul_LFin || $u == Hangul_LFill ? "L" :
- Hangul_VIni <= $u && $u <= Hangul_VFin ? "V" :
- Hangul_TIni <= $u && $u <= Hangul_TFin ? "T" :
- Hangul_SIni <= $u && $u <= Hangul_SFin ?
- ($u - Hangul_SBase) % Hangul_TCount ? "LVT" : "LV" : "";
-}
-
-
##
## bool _nonIgnorAtLevel(arrayref weights, int level)
##
@@ -894,7 +759,7 @@ sub _eqArray($$$)
my $lev = shift;
for my $g (0..@$substr-1){
- # Do the $g'th graphemes have the same number of AV weigths?
+ # Do the $g'th graphemes have the same number of AV weights?
return if @{ $source->[$g] } != @{ $substr->[$g] };
for my $w (0..@{ $substr->[$g] }-1) {
@@ -961,9 +826,10 @@ sub index
if (@subWt && !$var && !$wt[0]) {
push @{ $subWt[-1] }, \@wt if $to_be_pushed;
- } else {
+ } elsif ($to_be_pushed) {
push @subWt, [ \@wt ];
}
+ # else ===> skipped
}
my $count = 0;
@@ -1130,8 +996,10 @@ Unicode::Collate - Unicode Collation Algorithm
#compare
$result = $Collator->cmp($a, $b); # returns 1, 0, or -1.
- # If %tailoring is false (i.e. empty),
- # $Collator should do the default collation.
+B<Note:> Strings in C<@not_sorted>, C<$a> and C<$b> are interpreted
+according to Perl's Unicode support. See L<perlunicode>,
+L<perluniintro>, L<perlunitut>, L<perlunifaq>, L<utf8>.
+Otherwise you can use C<preprocess> or should decode them before.
=head1 DESCRIPTION
@@ -1140,11 +1008,12 @@ This module is an implementation of Unicode Technical Standard #10
=head2 Constructor and Tailoring
-The C<new> method returns a collator object.
+The C<new> method returns a collator object. If new() is called
+with no parameters, the collator should do the default collation.
$Collator = Unicode::Collate->new(
UCA_Version => $UCA_Version,
- alternate => $alternate, # deprecated: use of 'variable' is recommended.
+ alternate => $alternate, # alias for 'variable'
backwards => $levelNumber, # or \@levelNumbers
entry => $element,
hangul_terminator => $term_primary_weight,
@@ -1157,6 +1026,7 @@ The C<new> method returns a collator object.
overrideHangul => \&overrideHangul,
preprocess => \&preprocess,
rearrange => \@charList,
+ suppress => \@charList,
table => $filename,
undefName => qr/$undefName/,
undefChar => qr/$undefChar/,
@@ -1168,21 +1038,37 @@ The C<new> method returns a collator object.
=item UCA_Version
-If the tracking version number of UCA is given,
-behavior of that tracking version is emulated on collating.
+If the revision (previously "tracking version") number of UCA is given,
+behavior of that revision is emulated on collating.
If omitted, the return value of C<UCA_Version()> is used.
-C<UCA_Version()> should return the latest tracking version supported.
-The supported tracking version: 8, 9, 11, or 14.
+The following revisions are supported. The default is 22.
UCA Unicode Standard DUCET (@version)
- ---------------------------------------------------
+ -------------------------------------------------------
8 3.1 3.0.1 (3.0.1d9)
9 3.1 with Corrigendum 3 3.1.1 (3.1.1)
11 4.0 4.0.0 (4.0.0)
14 4.1.0 4.1.0 (4.1.0)
+ 16 5.0 5.0.0 (5.0.0)
+ 18 5.1.0 5.1.0 (5.1.0)
+ 20 5.2.0 5.2.0 (5.2.0)
+ 22 6.0.0 6.0.0 (6.0.0)
+
+* Noncharacters (e.g. U+FFFF) are not ignored, and can be overridden
+since C<UCA_Version> 22.
+
+* Fully ignorable characters were ignored, and would not interrupt
+contractions with C<UCA_Version> 9 and 11.
+
+* Treatment of ignorables after variables and some behaviors
+were changed at C<UCA_Version> 9.
-Note: Recent UTS #10 renames "Tracking Version" to "Revision."
+* Characters regarded as CJK unified ideographs (cf. C<overrideCJK>)
+depend on C<UCA_Version>.
+
+* Many hangul jamo are assigned at C<UCA_Version> 20, that will affect
+C<hangul_terminator>.
=item alternate
@@ -1198,7 +1084,8 @@ as an alias for C<variable>.
backwards => $levelNumber or \@levelNumbers
Weights in reverse order; ex. level 2 (diacritic ordering) in French.
-If omitted, forwards at all the levels.
+If omitted (or C<$levelNumber> is C<undef> or C<\@levelNumbers> is C<[]>),
+forwards at all the levels.
=item entry
@@ -1206,7 +1093,7 @@ If omitted, forwards at all the levels.
If the same character (or a sequence of characters) exists
in the collation element table through C<table>,
-mapping to collation elements is overrided.
+mapping to collation elements is overridden.
If it does not exist, the mapping is defined additionally.
entry => <<'ENTRY', # for DUCET v4.0.0 (allkeys-4.0.0.txt)
@@ -1353,7 +1240,7 @@ B<is not> equivalent to C<(normalization =E<gt> 'NFD')>.
In the case of C<(normalization =E<gt> "prenormalized")>,
any normalization is not performed, but
-non-contiguous contractions with combining characters are performed.
+discontiguous contractions with combining characters are performed.
Therefore
C<(normalization =E<gt> 'prenormalized', preprocess =E<gt> sub { NFD(shift) })>
B<is> equivalent to C<(normalization =E<gt> 'NFD')>.
@@ -1367,15 +1254,25 @@ B<Unicode::Normalize> is required (see also B<CAVEAT>).
-- see 7.1 Derived Collation Elements, UTS #10.
-By default, CJK Unified Ideographs are ordered in Unicode codepoint order
-but C<CJK Unified Ideographs> (if C<UCA_Version> is 8 to 11, its range is
-C<U+4E00..U+9FA5>; if C<UCA_Version> is 14, its range is C<U+4E00..U+9FBB>)
-are lesser than C<CJK Unified Ideographs Extension> (its range is
-C<U+3400..U+4DB5> and C<U+20000..U+2A6D6>).
+By default, CJK unified ideographs are ordered in Unicode codepoint
+order, but those in the CJK Unified Ideographs block are lesser than
+those in the CJK Unified Ideographs Extension A etc.
+
+ In the CJK Unified Ideographs block:
+ U+4E00..U+9FA5 if UCA_Version is 8 to 11.
+ U+4E00..U+9FBB if UCA_Version is 14 to 16.
+ U+4E00..U+9FC3 if UCA_Version is 18.
+ U+4E00..U+9FCB if UCA_Version is 20 or greater.
+
+ In the CJK Unified Ideographs Extension blocks:
+ Ext.A (U+3400..U+4DB5) and Ext.B (U+20000..U+2A6D6) in any UCA_Version.
+ Ext.C (U+2A700..U+2B734) if UCA_Version is 20 or greater.
+ Ext.D (U+2B740..U+2B81D) if UCA_Version is 22 or greater.
-Through C<overrideCJK>, ordering of CJK Unified Ideographs can be overrided.
+Through C<overrideCJK>, ordering of CJK unified ideographs (including
+extensions) can be overridden.
-ex. CJK Unified Ideographs in the JIS code point order.
+ex. CJK unified ideographs in the JIS code point order.
overrideCJK => sub {
my $u = shift; # get a Unicode codepoint
@@ -1385,37 +1282,61 @@ ex. CJK Unified Ideographs in the JIS code point order.
[ $n, 0x20, 0x2, $u ]; # return the collation element
},
-ex. ignores all CJK Unified Ideographs.
+The return value may be an arrayref of 1st to 4th weights as shown
+above. The return value may be an integer as the primary weight
+as shown below. If C<undef> is returned, the default derived
+collation element will be used.
+
+ overrideCJK => sub {
+ my $u = shift; # get a Unicode codepoint
+ my $b = pack('n', $u); # to UTF-16BE
+ my $s = your_unicode_to_sjis_converter($b); # convert
+ my $n = unpack('n', $s); # convert sjis to short
+ return $n; # return the primary weight
+ },
+
+The return value may be a list containing zero or more of
+an arrayref, an integer, or C<undef>.
+
+ex. ignores all CJK unified ideographs.
overrideCJK => sub {()}, # CODEREF returning empty list
# where ->eq("Pe\x{4E00}rl", "Perl") is true
- # as U+4E00 is a CJK Unified Ideograph and to be ignorable.
+ # as U+4E00 is a CJK unified ideograph and to be ignorable.
If C<undef> is passed explicitly as the value for this key,
-weights for CJK Unified Ideographs are treated as undefined.
-But assignment of weight for CJK Unified Ideographs
-in table or C<entry> is still valid.
+weights for CJK unified ideographs are treated as undefined.
+But assignment of weight for CJK unified ideographs
+in C<table> or C<entry> is still valid.
+
+B<Note:> In addition to them, 12 CJK compatibility ideographs (C<U+FA0E>,
+C<U+FA0F>, C<U+FA11>, C<U+FA13>, C<U+FA14>, C<U+FA1F>, C<U+FA21>, C<U+FA23>,
+C<U+FA24>, C<U+FA27>, C<U+FA28>, C<U+FA29>) are also treated as CJK unified
+ideographs. But they can't be overridden via C<overrideCJK> when you use
+DUCET, as the table includes weights for them. C<table> or C<entry> has
+priority over C<overrideCJK>.
=item overrideHangul
-- see 7.1 Derived Collation Elements, UTS #10.
-By default, Hangul Syllables are decomposed into Hangul Jamo,
+By default, Hangul syllables are decomposed into Hangul Jamo,
even if C<(normalization =E<gt> undef)>.
-But the mapping of Hangul Syllables may be overrided.
+But the mapping of Hangul syllables may be overridden.
This parameter works like C<overrideCJK>, so see there for examples.
-If you want to override the mapping of Hangul Syllables,
-NFD, NFKD, and FCD are not appropriate,
-since they will decompose Hangul Syllables before overriding.
+If you want to override the mapping of Hangul syllables,
+NFD and NFKD are not appropriate, since NFD and NFKD will decompose
+Hangul syllables before overriding. FCD may decompose Hangul syllables
+as the case may be.
If C<undef> is passed explicitly as the value for this key,
-weight for Hangul Syllables is treated as undefined
+weight for Hangul syllables is treated as undefined
without decomposition into Hangul Jamo.
-But definition of weight for Hangul Syllables
-in table or C<entry> is still valid.
+But definition of weight for Hangul syllables
+in C<table> or C<entry> is still valid.
=item preprocess
@@ -1435,6 +1356,17 @@ Then, "the pen" is before "a pencil".
C<preprocess> is performed before C<normalization> (if defined).
+ex. decoding strings in a legacy encoding such as shift-jis:
+
+ $sjis_collator = Unicode::Collate->new(
+ preprocess => \&your_shiftjis_to_unicode_decoder,
+ );
+ @result = $sjis_collator->sort(@shiftjis_strings);
+
+B<Note:> Strings returned from the coderef will be interpreted
+according to Perl's Unicode support. See L<perlunicode>,
+L<perluniintro>, L<perlunitut>, L<perlunifaq>, L<utf8>.
+
=item rearrange
-- see 3.1.3 Rearrangement, UTS #10.
@@ -1447,11 +1379,26 @@ If C<UCA_Version> is equal to or lesser than 11, default is:
If you want to disallow any rearrangement, pass C<undef> or C<[]>
(a reference to empty list) as the value for this key.
-If C<UCA_Version> is equal to 14, default is C<[]> (i.e. no rearrangement).
+If C<UCA_Version> is equal to or greater than 14, default is C<[]>
+(i.e. no rearrangement).
B<According to the version 9 of UCA, this parameter shall not be used;
but it is not warned at present.>
+=item suppress
+
+-- see suppress contractions in 5.14.11 Special-Purpose Commands,
+UTS #35 (LDML).
+
+Contractions beginning with the specified characters are suppressed,
+even if those contractions are defined in C<table> or C<entry>.
+
+An example for Russian and some languages using the Cyrillic script:
+
+ suppress => [0x0400..0x0417, 0x041A..0x0437, 0x043A..0x045F],
+
+where 0x0400 stands for C<U+0400>, CYRILLIC CAPITAL LETTER IE WITH GRAVE.
+
=item table
-- see 3.2 Default Unicode Collation Element Table, UTS #10.
@@ -1466,6 +1413,12 @@ By default, F<allkeys.txt> (as the filename of DUCET) is used.
If you will prepare your own table file, any name other than F<allkeys.txt>
may be better to avoid namespace conflict.
+B<NOTE>: When XSUB is used, the DUCET is compiled on building this
+module, and it may save time at the run time.
+Explicit saying C<table =E<gt> 'allkeys.txt'> (or using another table),
+or using C<ignoreChar>, C<ignoreName>, C<undefChar>, or C<undefName>
+will prevent this module from using the compiled DUCET.
+
If C<undef> is passed explicitly as the value for this key,
no file is read (but you can define collation elements via C<entry>).
@@ -1493,7 +1446,7 @@ specified as a comment (following C<#>) on each line.
-- see 6.3.4 Reducing the Repertoire, UTS #10.
-Undefines the collation element as if it were unassigned in the table.
+Undefines the collation element as if it were unassigned in the C<table>.
This reduces the size of the table.
If an unassigned character appears in the string to be collated,
the sort key is made from its codepoint
@@ -1531,7 +1484,7 @@ this parameter doesn't work validly.
This key allows to variable weighting for variable collation elements,
which are marked with an ASTERISK in the table
-(NOTE: Many punction marks and symbols are variable in F<allkeys.txt>).
+(NOTE: Many punctuation marks and symbols are variable in F<allkeys.txt>).
variable => 'blanked', 'non-ignorable', 'shifted', or 'shift-trimmed'.
@@ -1737,6 +1690,8 @@ e.g.
=item C<%old_tailoring = $Collator-E<gt>change(%new_tailoring)>
+=item C<$modified_collator = $Collator-E<gt>change(%new_tailoring)>
+
Change the value of specified keys and returns the changed part.
$Collator = Unicode::Collate->new(level => 4);
@@ -1772,11 +1727,13 @@ returns C<"unknown">.
=item C<UCA_Version()>
-Returns the tracking version number of UTS #10 this module consults.
+Returns the revision number of UTS #10 this module consults,
+that should correspond with the DUCET incorporated.
=item C<Base_Unicode_Version()>
-Returns the version number of UTS #10 this module consults.
+Returns the version number of UTS #10 this module consults,
+that should correspond with the DUCET incorporated.
=back
@@ -1835,15 +1792,15 @@ B<Unicode::Normalize is required to try The Conformance Test.>
=head1 AUTHOR, COPYRIGHT AND LICENSE
The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
-<SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2005,
+<SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2011,
SADAHIRO Tomoyuki. Japan. All rights reserved.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
-The file Unicode/Collate/allkeys.txt was copied directly
-from L<http://www.unicode.org/Public/UCA/4.1.0/allkeys.txt>.
-This file is Copyright (c) 1991-2005 Unicode, Inc. All rights reserved.
+The file Unicode/Collate/allkeys.txt was copied verbatim
+from L<http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt>.
+This file is Copyright (c) 1991-2010 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in L<http://www.unicode.org/copyright.html>.
=head1 SEE ALSO
@@ -1872,6 +1829,10 @@ L<http://www.unicode.org/Public/UNIDATA/HangulSyllableType.txt>
L<http://www.unicode.org/reports/tr15/>
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
=back
=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Big5.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Big5.pm
new file mode 100644
index 00000000000..2d133fd8b1f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Big5.pm
@@ -0,0 +1,1375 @@
+package Unicode::Collate::CJK::Big5;
+
+use 5.006;
+use strict;
+
+our $VERSION = '0.65';
+
+my %u2p;
+my $wt = 0x8000;
+
+while (<DATA>) {
+ last if /^__END__/;
+ my @c = split;
+ for my $c (@c) {
+ next if !$c;
+ $u2p{hex($c)} = $wt;
+ $wt++;
+ }
+}
+
+sub weightBig5 {
+ my $u = shift;
+ return exists $u2p{$u} ? $u2p{$u} : undef;
+}
+
+1;
+__DATA__
+5159 515B 515E 515D 5161 5163 55E7 74E9 7CCE 4E00
+4E59 4E01 4E03 4E43 4E5D 4E86 4E8C 4EBA 513F 5165
+516B 51E0 5200 5201 529B 5315 5341 535C 53C8 4E09
+4E0B 4E08 4E0A 4E2B 4E38 51E1 4E45 4E48 4E5F 4E5E
+4E8E 4EA1 5140 5203 52FA 5343 53C9 53E3 571F 58EB
+5915 5927 5973 5B50 5B51 5B53 5BF8 5C0F 5C22 5C38
+5C71 5DDD 5DE5 5DF1 5DF2 5DF3 5DFE 5E72 5EFE 5F0B
+5F13 624D 4E11 4E10 4E0D 4E2D 4E30 4E39 4E4B 5C39
+4E88 4E91 4E95 4E92 4E94 4EA2 4EC1 4EC0 4EC3 4EC6
+4EC7 4ECD 4ECA 4ECB 4EC4 5143 5141 5167 516D 516E
+516C 5197 51F6 5206 5207 5208 52FB 52FE 52FF 5316
+5339 5348 5347 5345 535E 5384 53CB 53CA 53CD 58EC
+5929 592B 592A 592D 5B54 5C11 5C24 5C3A 5C6F 5DF4
+5E7B 5EFF 5F14 5F15 5FC3 6208 6236 624B 624E 652F
+6587 6597 65A4 65B9 65E5 66F0 6708 6728 6B20 6B62
+6B79 6BCB 6BD4 6BDB 6C0F 6C34 706B 722A 7236 723B
+7247 7259 725B 72AC 738B 4E19 4E16 4E15 4E14 4E18
+4E3B 4E4D 4E4F 4E4E 4EE5 4ED8 4ED4 4ED5 4ED6 4ED7
+4EE3 4EE4 4ED9 4EDE 5145 5144 5189 518A 51AC 51F9
+51FA 51F8 520A 52A0 529F 5305 5306 5317 531D 4EDF
+534A 5349 5361 5360 536F 536E 53BB 53EF 53E4 53F3
+53EC 53EE 53E9 53E8 53FC 53F8 53F5 53EB 53E6 53EA
+53F2 53F1 53F0 53E5 53ED 53FB 56DB 56DA 5916 592E
+5931 5974 5976 5B55 5B83 5C3C 5DE8 5DE7 5DE6 5E02
+5E03 5E73 5E7C 5F01 5F18 5F17 5FC5 620A 6253 6254
+6252 6251 65A5 65E6 672E 672C 672A 672B 672D 6B63
+6BCD 6C11 6C10 6C38 6C41 6C40 6C3E 72AF 7384 7389
+74DC 74E6 7518 751F 7528 7529 7530 7531 7532 7533
+758B 767D 76AE 76BF 76EE 77DB 77E2 77F3 793A 79BE
+7A74 7ACB 4E1E 4E1F 4E52 4E53 4E69 4E99 4EA4 4EA6
+4EA5 4EFF 4F09 4F19 4F0A 4F15 4F0D 4F10 4F11 4F0F
+4EF2 4EF6 4EFB 4EF0 4EF3 4EFD 4F01 4F0B 5149 5147
+5146 5148 5168 5171 518D 51B0 5217 5211 5212 520E
+5216 52A3 5308 5321 5320 5370 5371 5409 540F 540C
+540A 5410 5401 540B 5404 5411 540D 5408 5403 540E
+5406 5412 56E0 56DE 56DD 5733 5730 5728 572D 572C
+572F 5729 5919 591A 5937 5938 5984 5978 5983 597D
+5979 5982 5981 5B57 5B58 5B87 5B88 5B85 5B89 5BFA
+5C16 5C79 5DDE 5E06 5E76 5E74 5F0F 5F1B 5FD9 5FD6
+620E 620C 620D 6210 6263 625B 6258 6536 65E9 65E8
+65EC 65ED 66F2 66F3 6709 673D 6734 6731 6735 6B21
+6B64 6B7B 6C16 6C5D 6C57 6C59 6C5F 6C60 6C50 6C55
+6C61 6C5B 6C4D 6C4E 7070 725F 725D 767E 7AF9 7C73
+7CF8 7F36 7F8A 7FBD 8001 8003 800C 8012 8033 807F
+8089 808B 808C 81E3 81EA 81F3 81FC 820C 821B 821F
+826E 8272 827E 866B 8840 884C 8863 897F 9621 4E32
+4EA8 4F4D 4F4F 4F47 4F57 4F5E 4F34 4F5B 4F55 4F30
+4F50 4F51 4F3D 4F3A 4F38 4F43 4F54 4F3C 4F46 4F63
+4F5C 4F60 4F2F 4F4E 4F36 4F59 4F5D 4F48 4F5A 514C
+514B 514D 5175 51B6 51B7 5225 5224 5229 522A 5228
+52AB 52A9 52AA 52AC 5323 5373 5375 541D 542D 541E
+543E 5426 544E 5427 5446 5443 5433 5448 5442 541B
+5429 544A 5439 543B 5438 542E 5435 5436 5420 543C
+5440 5431 542B 541F 542C 56EA 56F0 56E4 56EB 574A
+5751 5740 574D 5747 574E 573E 5750 574F 573B 58EF
+593E 599D 5992 59A8 599E 59A3 5999 5996 598D 59A4
+5993 598A 59A5 5B5D 5B5C 5B5A 5B5B 5B8C 5B8B 5B8F
+5C2C 5C40 5C41 5C3F 5C3E 5C90 5C91 5C94 5C8C 5DEB
+5E0C 5E8F 5E87 5E8A 5EF7 5F04 5F1F 5F64 5F62 5F77
+5F79 5FD8 5FCC 5FD7 5FCD 5FF1 5FEB 5FF8 5FEA 6212
+6211 6284 6297 6296 6280 6276 6289 626D 628A 627C
+627E 6279 6273 6292 626F 6298 626E 6295 6293 6291
+6286 6539 653B 6538 65F1 66F4 675F 674E 674F 6750
+6751 675C 6756 675E 6749 6746 6760 6753 6757 6B65
+6BCF 6C42 6C5E 6C99 6C81 6C88 6C89 6C85 6C9B 6C6A
+6C7A 6C90 6C70 6C8C 6C68 6C96 6C92 6C7D 6C83 6C72
+6C7E 6C74 6C86 6C76 6C8D 6C94 6C98 6C82 7076 707C
+707D 7078 7262 7261 7260 72C4 72C2 7396 752C 752B
+7537 7538 7682 76EF 77E3 79C1 79C0 79BF 7A76 7CFB
+7F55 8096 8093 809D 8098 809B 809A 80B2 826F 8292
+828B 828D 898B 89D2 8A00 8C37 8C46 8C55 8C9D 8D64
+8D70 8DB3 8EAB 8ECA 8F9B 8FB0 8FC2 8FC6 8FC5 8FC4
+5DE1 9091 90A2 90AA 90A6 90A3 9149 91C6 91CC 9632
+962E 9631 962A 962C 4E26 4E56 4E73 4E8B 4E9B 4E9E
+4EAB 4EAC 4F6F 4F9D 4F8D 4F73 4F7F 4F6C 4F9B 4F8B
+4F86 4F83 4F70 4F75 4F88 4F69 4F7B 4F96 4F7E 4F8F
+4F91 4F7A 5154 5152 5155 5169 5177 5176 5178 51BD
+51FD 523B 5238 5237 523A 5230 522E 5236 5241 52BE
+52BB 5352 5354 5353 5351 5366 5377 5378 5379 53D6
+53D4 53D7 5473 5475 5496 5478 5495 5480 547B 5477
+5484 5492 5486 547C 5490 5471 5476 548C 549A 5462
+5468 548B 547D 548E 56FA 5783 5777 576A 5769 5761
+5766 5764 577C 591C 5949 5947 5948 5944 5954 59BE
+59BB 59D4 59B9 59AE 59D1 59C6 59D0 59CD 59CB 59D3
+59CA 59AF 59B3 59D2 59C5 5B5F 5B64 5B63 5B97 5B9A
+5B98 5B9C 5B99 5B9B 5C1A 5C48 5C45 5C46 5CB7 5CA1
+5CB8 5CA9 5CAB 5CB1 5CB3 5E18 5E1A 5E16 5E15 5E1B
+5E11 5E78 5E9A 5E97 5E9C 5E95 5E96 5EF6 5F26 5F27
+5F29 5F80 5F81 5F7F 5F7C 5FDD 5FE0 5FFD 5FF5 5FFF
+600F 6014 602F 6035 6016 602A 6015 6021 6027 6029
+602B 601B 6216 6215 623F 623E 6240 627F 62C9 62CC
+62C4 62BF 62C2 62B9 62D2 62DB 62AB 62D3 62D4 62CB
+62C8 62A8 62BD 62BC 62D0 62D9 62C7 62CD 62B5 62DA
+62B1 62D8 62D6 62D7 62C6 62AC 62CE 653E 65A7 65BC
+65FA 6614 6613 660C 6606 6602 660E 6600 660F 6615
+660A 6607 670D 670B 676D 678B 6795 6771 679C 6773
+6777 6787 679D 6797 676F 6770 677F 6789 677E 6790
+6775 679A 6793 677C 676A 6772 6B23 6B66 6B67 6B7F
+6C13 6C1B 6CE3 6CE8 6CF3 6CB1 6CCC 6CE5 6CB3 6CBD
+6CBE 6CBC 6CE2 6CAB 6CD5 6CD3 6CB8 6CC4 6CB9 6CC1
+6CAE 6CD7 6CC5 6CF1 6CBF 6CBB 6CE1 6CDB 6CCA 6CAC
+6CEF 6CDC 6CD6 6CE0 7095 708E 7092 708A 7099 722C
+722D 7238 7248 7267 7269 72C0 72CE 72D9 72D7 72D0
+73A9 73A8 739F 73AB 73A5 753D 759D 7599 759A 7684
+76C2 76F2 76F4 77E5 77FD 793E 7940 7941 79C9 79C8
+7A7A 7A79 7AFA 7CFE 7F54 7F8C 7F8B 8005 80BA 80A5
+80A2 80B1 80A1 80AB 80A9 80B4 80AA 80AF 81E5 81FE
+820D 82B3 829D 8299 82AD 82BD 829F 82B9 82B1 82AC
+82A5 82AF 82B8 82A3 82B0 82BE 82B7 864E 8671 521D
+8868 8ECB 8FCE 8FD4 8FD1 90B5 90B8 90B1 90B6 91C7
+91D1 9577 9580 961C 9640 963F 963B 9644 9642 96B9
+96E8 9752 975E 4E9F 4EAD 4EAE 4FE1 4FB5 4FAF 4FBF
+4FE0 4FD1 4FCF 4FDD 4FC3 4FB6 4FD8 4FDF 4FCA 4FD7
+4FAE 4FD0 4FC4 4FC2 4FDA 4FCE 4FDE 4FB7 5157 5192
+5191 51A0 524E 5243 524A 524D 524C 524B 5247 52C7
+52C9 52C3 52C1 530D 5357 537B 539A 53DB 54AC 54C0
+54A8 54CE 54C9 54B8 54A6 54B3 54C7 54C2 54BD 54AA
+54C1 54C4 54C8 54AF 54AB 54B1 54BB 54A9 54A7 54BF
+56FF 5782 578B 57A0 57A3 57A2 57CE 57AE 5793 5955
+5951 594F 594E 5950 59DC 59D8 59FF 59E3 59E8 5A03
+59E5 59EA 59DA 59E6 5A01 59FB 5B69 5BA3 5BA6 5BA4
+5BA2 5BA5 5C01 5C4E 5C4F 5C4D 5C4B 5CD9 5CD2 5DF7
+5E1D 5E25 5E1F 5E7D 5EA0 5EA6 5EFA 5F08 5F2D 5F65
+5F88 5F85 5F8A 5F8B 5F87 5F8C 5F89 6012 601D 6020
+6025 600E 6028 604D 6070 6068 6062 6046 6043 606C
+606B 606A 6064 6241 62DC 6316 6309 62FC 62ED 6301
+62EE 62FD 6307 62F1 62F7 62EF 62EC 62FE 62F4 6311
+6302 653F 6545 65AB 65BD 65E2 6625 662D 6620 6627
+662F 661F 6628 6631 6624 66F7 67FF 67D3 67F1 67D4
+67D0 67EC 67B6 67AF 67F5 67E9 67EF 67C4 67D1 67B4
+67DA 67E5 67B8 67CF 67DE 67F3 67B0 67D9 67E2 67DD
+67D2 6B6A 6B83 6B86 6BB5 6BD2 6BD7 6C1F 6CC9 6D0B
+6D32 6D2A 6D41 6D25 6D0C 6D31 6D1E 6D17 6D3B 6D3D
+6D3E 6D36 6D1B 6CF5 6D39 6D27 6D38 6D29 6D2E 6D35
+6D0E 6D2B 70AB 70BA 70B3 70AC 70AF 70AD 70B8 70AE
+70A4 7230 7272 726F 7274 72E9 72E0 72E1 73B7 73CA
+73BB 73B2 73CD 73C0 73B3 751A 752D 754F 754C 754E
+754B 75AB 75A4 75A5 75A2 75A3 7678 7686 7687 7688
+76C8 76C6 76C3 76C5 7701 76F9 76F8 7709 770B 76FE
+76FC 7707 77DC 7802 7814 780C 780D 7946 7949 7948
+7947 79B9 79BA 79D1 79D2 79CB 7A7F 7A81 7AFF 7AFD
+7C7D 7D02 7D05 7D00 7D09 7D07 7D04 7D06 7F38 7F8E
+7FBF 8004 8010 800D 8011 8036 80D6 80E5 80DA 80C3
+80C4 80CC 80E1 80DB 80CE 80DE 80E4 80DD 81F4 8222
+82E7 8303 8305 82E3 82DB 82E6 8304 82E5 8302 8309
+82D2 82D7 82F1 8301 82DC 82D4 82D1 82DE 82D3 82DF
+82EF 8306 8650 8679 867B 867A 884D 886B 8981 89D4
+8A08 8A02 8A03 8C9E 8CA0 8D74 8D73 8DB4 8ECD 8ECC
+8FF0 8FE6 8FE2 8FEA 8FE5 8FED 8FEB 8FE4 8FE8 90CA
+90CE 90C1 90C3 914B 914A 91CD 9582 9650 964B 964C
+964D 9762 9769 97CB 97ED 97F3 9801 98A8 98DB 98DF
+9996 9999 4E58 4EB3 500C 500D 5023 4FEF 5026 5025
+4FF8 5029 5016 5006 503C 501F 501A 5012 5011 4FFA
+5000 5014 5028 4FF1 5021 500B 5019 5018 4FF3 4FEE
+502D 502A 4FFE 502B 5009 517C 51A4 51A5 51A2 51CD
+51CC 51C6 51CB 5256 525C 5254 525B 525D 532A 537F
+539F 539D 53DF 54E8 5510 5501 5537 54FC 54E5 54F2
+5506 54FA 5514 54E9 54ED 54E1 5509 54EE 54EA 54E6
+5527 5507 54FD 550F 5703 5704 57C2 57D4 57CB 57C3
+5809 590F 5957 5958 595A 5A11 5A18 5A1C 5A1F 5A1B
+5A13 59EC 5A20 5A23 5A29 5A25 5A0C 5A09 5B6B 5C58
+5BB0 5BB3 5BB6 5BB4 5BAE 5BB5 5BB9 5BB8 5C04 5C51
+5C55 5C50 5CED 5CFD 5CFB 5CEA 5CE8 5CF0 5CF6 5D01
+5CF4 5DEE 5E2D 5E2B 5EAB 5EAD 5EA7 5F31 5F92 5F91
+5F90 6059 6063 6065 6050 6055 606D 6069 606F 6084
+609F 609A 608D 6094 608C 6085 6096 6247 62F3 6308
+62FF 634E 633E 632F 6355 6342 6346 634F 6349 633A
+6350 633D 632A 632B 6328 634D 634C 6548 6549 6599
+65C1 65C5 6642 6649 664F 6643 6652 664C 6645 6641
+66F8 6714 6715 6717 6821 6838 6848 6846 6853 6839
+6842 6854 6829 68B3 6817 684C 6851 683D 67F4 6850
+6840 683C 6843 682A 6845 6813 6818 6841 6B8A 6B89
+6BB7 6C23 6C27 6C28 6C26 6C24 6CF0 6D6A 6D95 6D88
+6D87 6D66 6D78 6D77 6D59 6D93 6D6C 6D89 6D6E 6D5A
+6D74 6D69 6D8C 6D8A 6D79 6D85 6D65 6D94 70CA 70D8
+70E4 70D9 70C8 70CF 7239 7279 72FC 72F9 72FD 72F8
+72F7 7386 73ED 7409 73EE 73E0 73EA 73DE 7554 755D
+755C 755A 7559 75BE 75C5 75C7 75B2 75B3 75BD 75BC
+75B9 75C2 75B8 768B 76B0 76CA 76CD 76CE 7729 771F
+7720 7728 77E9 7830 7827 7838 781D 7834 7837 7825
+782D 7820 781F 7832 7955 7950 7960 795F 7956 795E
+795D 7957 795A 79E4 79E3 79E7 79DF 79E6 79E9 79D8
+7A84 7A88 7AD9 7B06 7B11 7C89 7D21 7D17 7D0B 7D0A
+7D20 7D22 7D14 7D10 7D15 7D1A 7D1C 7D0D 7D19 7D1B
+7F3A 7F5F 7F94 7FC5 7FC1 8006 8018 8015 8019 8017
+803D 803F 80F1 8102 80F0 8105 80ED 80F4 8106 80F8
+80F3 8108 80FD 810A 80FC 80EF 81ED 81EC 8200 8210
+822A 822B 8228 822C 82BB 832B 8352 8354 834A 8338
+8350 8349 8335 8334 834F 8332 8339 8336 8317 8340
+8331 8328 8343 8654 868A 86AA 8693 86A4 86A9 868C
+86A3 869C 8870 8877 8881 8882 887D 8879 8A18 8A10
+8A0E 8A0C 8A15 8A0A 8A17 8A13 8A16 8A0F 8A11 8C48
+8C7A 8C79 8CA1 8CA2 8D77 8EAC 8ED2 8ED4 8ECF 8FB1
+9001 9006 8FF7 9000 8FFA 8FF4 9003 8FFD 9005 8FF8
+9095 90E1 90DD 90E2 9152 914D 914C 91D8 91DD 91D7
+91DC 91D9 9583 9662 9663 9661 965B 965D 9664 9658
+965E 96BB 98E2 99AC 9AA8 9AD8 9B25 9B32 9B3C 4E7E
+507A 507D 505C 5047 5043 504C 505A 5049 5065 5076
+504E 5055 5075 5074 5077 504F 500F 506F 506D 515C
+5195 51F0 526A 526F 52D2 52D9 52D8 52D5 5310 530F
+5319 533F 5340 533E 53C3 66FC 5546 556A 5566 5544
+555E 5561 5543 554A 5531 5556 554F 5555 552F 5564
+5538 552E 555C 552C 5563 5533 5541 5557 5708 570B
+5709 57DF 5805 580A 5806 57E0 57E4 57FA 5802 5835
+57F7 57F9 5920 5962 5A36 5A41 5A49 5A66 5A6A 5A40
+5A3C 5A62 5A5A 5A46 5A4A 5B70 5BC7 5BC5 5BC4 5BC2
+5BBF 5BC6 5C09 5C08 5C07 5C60 5C5C 5C5D 5D07 5D06
+5D0E 5D1B 5D16 5D22 5D11 5D29 5D14 5D19 5D24 5D27
+5D17 5DE2 5E38 5E36 5E33 5E37 5EB7 5EB8 5EB6 5EB5
+5EBE 5F35 5F37 5F57 5F6C 5F69 5F6B 5F97 5F99 5F9E
+5F98 5FA1 5FA0 5F9C 607F 60A3 6089 60A0 60A8 60CB
+60B4 60E6 60BD 60C5 60BB 60B5 60DC 60BC 60D8 60D5
+60C6 60DF 60B8 60DA 60C7 621A 621B 6248 63A0 63A7
+6372 6396 63A2 63A5 6377 6367 6398 63AA 6371 63A9
+6389 6383 639B 636B 63A8 6384 6388 6399 63A1 63AC
+6392 638F 6380 637B 6369 6368 637A 655D 6556 6551
+6559 6557 555F 654F 6558 6555 6554 659C 659B 65AC
+65CF 65CB 65CC 65CE 665D 665A 6664 6668 6666 665E
+66F9 52D7 671B 6881 68AF 68A2 6893 68B5 687F 6876
+68B1 68A7 6897 68B0 6883 68C4 68AD 6886 6885 6894
+689D 68A8 689F 68A1 6882 6B32 6BBA 6BEB 6BEC 6C2B
+6D8E 6DBC 6DF3 6DD9 6DB2 6DE1 6DCC 6DE4 6DFB 6DFA
+6E05 6DC7 6DCB 6DAF 6DD1 6DAE 6DDE 6DF9 6DB8 6DF7
+6DF5 6DC5 6DD2 6E1A 6DB5 6DDA 6DEB 6DD8 6DEA 6DF1
+6DEE 6DE8 6DC6 6DC4 6DAA 6DEC 6DBF 6DE6 70F9 7109
+710A 70FD 70EF 723D 727D 7281 731C 731B 7316 7313
+7319 7387 7405 740A 7403 7406 73FE 740D 74E0 74F6
+74F7 751C 7522 7565 7566 7562 7570 758F 75D4 75D5
+75B5 75CA 75CD 768E 76D4 76D2 76DB 7737 773E 773C
+7736 7738 773A 786B 7843 784E 7965 7968 796D 79FB
+7A92 7A95 7B20 7B28 7B1B 7B2C 7B26 7B19 7B1E 7B2E
+7C92 7C97 7C95 7D46 7D43 7D71 7D2E 7D39 7D3C 7D40
+7D30 7D33 7D44 7D2F 7D42 7D32 7D31 7F3D 7F9E 7F9A
+7FCC 7FCE 7FD2 801C 804A 8046 812F 8116 8123 812B
+8129 8130 8124 8202 8235 8237 8236 8239 838E 839E
+8398 8378 83A2 8396 83BD 83AB 8392 838A 8393 8389
+83A0 8377 837B 837C 8386 83A7 8655 5F6A 86C7 86C0
+86B6 86C4 86B5 86C6 86CB 86B1 86AF 86C9 8853 889E
+8888 88AB 8892 8896 888D 888B 8993 898F 8A2A 8A1D
+8A23 8A25 8A31 8A2D 8A1F 8A1B 8A22 8C49 8C5A 8CA9
+8CAC 8CAB 8CA8 8CAA 8CA7 8D67 8D66 8DBE 8DBA 8EDB
+8EDF 9019 900D 901A 9017 9023 901F 901D 9010 9015
+901E 9020 900F 9022 9016 901B 9014 90E8 90ED 90FD
+9157 91CE 91F5 91E6 91E3 91E7 91ED 91E9 9589 966A
+9675 9673 9678 9670 9674 9676 9677 966C 96C0 96EA
+96E9 7AE0 7ADF 9802 9803 9B5A 9CE5 9E75 9E7F 9EA5
+9EBB 50A2 508D 5085 5099 5091 5080 5096 5098 509A
+6700 51F1 5272 5274 5275 5269 52DE 52DD 52DB 535A
+53A5 557B 5580 55A7 557C 558A 559D 5598 5582 559C
+55AA 5594 5587 558B 5583 55B3 55AE 559F 553E 55B2
+559A 55BB 55AC 55B1 557E 5589 55AB 5599 570D 582F
+582A 5834 5824 5830 5831 5821 581D 5820 58F9 58FA
+5960 5A77 5A9A 5A7F 5A92 5A9B 5AA7 5B73 5B71 5BD2
+5BCC 5BD3 5BD0 5C0A 5C0B 5C31 5D4C 5D50 5D34 5D47
+5DFD 5E45 5E3D 5E40 5E43 5E7E 5ECA 5EC1 5EC2 5EC4
+5F3C 5F6D 5FA9 5FAA 5FA8 60D1 60E1 60B2 60B6 60E0
+611C 6123 60FA 6115 60F0 60FB 60F4 6168 60F1 610E
+60F6 6109 6100 6112 621F 6249 63A3 638C 63CF 63C0
+63E9 63C9 63C6 63CD 63D2 63E3 63D0 63E1 63D6 63ED
+63EE 6376 63F4 63EA 63DB 6452 63DA 63F9 655E 6566
+6562 6563 6591 6590 65AF 666E 6670 6674 6676 666F
+6691 667A 667E 6677 66FE 66FF 671F 671D 68FA 68D5
+68E0 68D8 68D7 6905 68DF 68F5 68EE 68E7 68F9 68D2
+68F2 68E3 68CB 68CD 690D 6912 690E 68C9 68DA 696E
+68FB 6B3E 6B3A 6B3D 6B98 6B96 6BBC 6BEF 6C2E 6C2F
+6C2C 6E2F 6E38 6E54 6E21 6E32 6E67 6E4A 6E20 6E25
+6E23 6E1B 6E5B 6E58 6E24 6E56 6E6E 6E2D 6E26 6E6F
+6E34 6E4D 6E3A 6E2C 6E43 6E1D 6E3E 6ECB 6E89 6E19
+6E4E 6E63 6E44 6E72 6E69 6E5F 7119 711A 7126 7130
+7121 7136 716E 711C 724C 7284 7280 7336 7325 7334
+7329 743A 742A 7433 7422 7425 7435 7436 7434 742F
+741B 7426 7428 7525 7526 756B 756A 75E2 75DB 75E3
+75D9 75D8 75DE 75E0 767B 767C 7696 7693 76B4 76DC
+774F 77ED 785D 786C 786F 7A0D 7A08 7A0B 7A05 7A00
+7A98 7A97 7A96 7AE5 7AE3 7B49 7B56 7B46 7B50 7B52
+7B54 7B4D 7B4B 7B4F 7B51 7C9F 7CA5 7D5E 7D50 7D68
+7D55 7D2B 7D6E 7D72 7D61 7D66 7D62 7D70 7D73 5584
+7FD4 7FD5 800B 8052 8085 8155 8154 814B 8151 814E
+8139 8146 813E 814C 8153 8174 8212 821C 83E9 8403
+83F8 840D 83E0 83C5 840B 83C1 83EF 83F1 83F4 8457
+840A 83F0 840C 83CC 83FD 83F2 83CA 8438 840E 8404
+83DC 8407 83D4 83DF 865B 86DF 86D9 86ED 86D4 86DB
+86E4 86D0 86DE 8857 88C1 88C2 88B1 8983 8996 8A3B
+8A60 8A55 8A5E 8A3C 8A41 8A54 8A5B 8A50 8A46 8A34
+8A3A 8A36 8A56 8C61 8C82 8CAF 8CBC 8CB3 8CBD 8CC1
+8CBB 8CC0 8CB4 8CB7 8CB6 8CBF 8CB8 8D8A 8D85 8D81
+8DCE 8DDD 8DCB 8DDA 8DD1 8DCC 8DDB 8DC6 8EFB 8EF8
+8EFC 8F9C 902E 9035 9031 9038 9032 9036 9102 90F5
+9109 90FE 9163 9165 91CF 9214 9215 9223 9209 921E
+920D 9210 9207 9211 9594 958F 958B 9591 9593 9592
+958E 968A 968E 968B 967D 9685 9686 968D 9672 9684
+96C1 96C5 96C4 96C6 96C7 96EF 96F2 97CC 9805 9806
+9808 98E7 98EA 98EF 98E9 98F2 98ED 99AE 99AD 9EC3
+9ECD 9ED1 4E82 50AD 50B5 50B2 50B3 50C5 50BE 50AC
+50B7 50BB 50AF 50C7 527F 5277 527D 52DF 52E6 52E4
+52E2 52E3 532F 55DF 55E8 55D3 55E6 55CE 55DC 55C7
+55D1 55E3 55E4 55EF 55DA 55E1 55C5 55C6 55E5 55C9
+5712 5713 585E 5851 5858 5857 585A 5854 586B 584C
+586D 584A 5862 5852 584B 5967 5AC1 5AC9 5ACC 5ABE
+5ABD 5ABC 5AB3 5AC2 5AB2 5D69 5D6F 5E4C 5E79 5EC9
+5EC8 5F12 5F59 5FAC 5FAE 611A 610F 6148 611F 60F3
+611B 60F9 6101 6108 614E 614C 6144 614D 613E 6134
+6127 610D 6106 6137 6221 6222 6413 643E 641E 642A
+642D 643D 642C 640F 641C 6414 640D 6436 6416 6417
+6406 656C 659F 65B0 6697 6689 6687 6688 6696 6684
+6698 668D 6703 6994 696D 695A 6977 6960 6954 6975
+6930 6982 694A 6968 696B 695E 6953 6979 6986 695D
+6963 695B 6B47 6B72 6BC0 6BBF 6BD3 6BFD 6EA2 6EAF
+6ED3 6EB6 6EC2 6E90 6E9D 6EC7 6EC5 6EA5 6E98 6EBC
+6EBA 6EAB 6ED1 6E96 6E9C 6EC4 6ED4 6EAA 6EA7 6EB4
+714E 7159 7169 7164 7149 7167 715C 716C 7166 714C
+7165 715E 7146 7168 7156 723A 7252 7337 7345 733F
+733E 746F 745A 7455 745F 745E 7441 743F 7459 745B
+745C 7576 7578 7600 75F0 7601 75F2 75F1 75FA 75FF
+75F4 75F3 76DE 76DF 775B 776B 7766 775E 7763 7779
+776A 776C 775C 7765 7768 7762 77EE 788E 78B0 7897
+7898 788C 7889 787C 7891 7893 787F 797A 797F 7981
+842C 79BD 7A1C 7A1A 7A20 7A14 7A1F 7A1E 7A9F 7AA0
+7B77 7BC0 7B60 7B6E 7B67 7CB1 7CB3 7CB5 7D93 7D79
+7D91 7D81 7D8F 7D5B 7F6E 7F69 7F6A 7F72 7FA9 7FA8
+7FA4 8056 8058 8086 8084 8171 8170 8178 8165 816E
+8173 816B 8179 817A 8166 8205 8247 8482 8477 843D
+8431 8475 8466 846B 8449 846C 845B 843C 8435 8461
+8463 8469 846D 8446 865E 865C 865F 86F9 8713 8708
+8707 8700 86FE 86FB 8702 8703 8706 870A 8859 88DF
+88D4 88D9 88DC 88D8 88DD 88E1 88CA 88D5 88D2 899C
+89E3 8A6B 8A72 8A73 8A66 8A69 8A70 8A87 8A7C 8A63
+8AA0 8A71 8A85 8A6D 8A62 8A6E 8A6C 8A79 8A7B 8A3E
+8A68 8C62 8C8A 8C89 8CCA 8CC7 8CC8 8CC4 8CB2 8CC3
+8CC2 8CC5 8DE1 8DDF 8DE8 8DEF 8DF3 8DFA 8DEA 8DE4
+8DE6 8EB2 8F03 8F09 8EFE 8F0A 8F9F 8FB2 904B 904A
+9053 9042 9054 903C 9055 9050 9047 904F 904E 904D
+9051 903E 9041 9112 9117 916C 916A 9169 91C9 9237
+9257 9238 923D 9240 923E 925B 924B 9264 9251 9234
+9249 924D 9245 9239 923F 925A 9598 9698 9694 9695
+96CD 96CB 96C9 96CA 96F7 96FB 96F9 96F6 9756 9774
+9776 9810 9811 9813 980A 9812 980C 98FC 98F4 98FD
+98FE 99B3 99B1 99B4 9AE1 9CE9 9E82 9F0E 9F13 9F20
+50E7 50EE 50E5 50D6 50ED 50DA 50D5 50CF 50D1 50F1
+50CE 50E9 5162 51F3 5283 5282 5331 53AD 55FE 5600
+561B 5617 55FD 5614 5606 5609 560D 560E 55F7 5616
+561F 5608 5610 55F6 5718 5716 5875 587E 5883 5893
+588A 5879 5885 587D 58FD 5925 5922 5924 596A 5969
+5AE1 5AE6 5AE9 5AD7 5AD6 5AD8 5AE3 5B75 5BDE 5BE7
+5BE1 5BE5 5BE6 5BE8 5BE2 5BE4 5BDF 5C0D 5C62 5D84
+5D87 5E5B 5E63 5E55 5E57 5E54 5ED3 5ED6 5F0A 5F46
+5F70 5FB9 6147 613F 614B 6177 6162 6163 615F 615A
+6158 6175 622A 6487 6458 6454 64A4 6478 645F 647A
+6451 6467 6434 646D 647B 6572 65A1 65D7 65D6 66A2
+66A8 669D 699C 69A8 6995 69C1 69AE 69D3 69CB 699B
+69B7 69BB 69AB 69B4 69D0 69CD 69AD 69CC 69A6 69C3
+69A3 6B49 6B4C 6C33 6F33 6F14 6EFE 6F13 6EF4 6F29
+6F3E 6F20 6F2C 6F0F 6F02 6F22 6EFF 6EEF 6F06 6F31
+6F38 6F32 6F23 6F15 6F2B 6F2F 6F88 6F2A 6EEC 6F01
+6EF2 6ECC 6EF7 7194 7199 717D 718A 7184 7192 723E
+7292 7296 7344 7350 7464 7463 746A 7470 746D 7504
+7591 7627 760D 760B 7609 7613 76E1 76E3 7784 777D
+777F 7761 78C1 789F 78A7 78B3 78A9 78A3 798E 798F
+798D 7A2E 7A31 7AAA 7AA9 7AED 7AEF 7BA1 7B95 7B8B
+7B75 7B97 7B9D 7B94 7B8F 7BB8 7B87 7B84 7CB9 7CBD
+7CBE 7DBB 7DB0 7D9C 7DBD 7DBE 7DA0 7DCA 7DB4 7DB2
+7DB1 7DBA 7DA2 7DBF 7DB5 7DB8 7DAD 7DD2 7DC7 7DAC
+7F70 7FE0 7FE1 7FDF 805E 805A 8087 8150 8180 818F
+8188 818A 817F 8182 81E7 81FA 8207 8214 821E 824B
+84C9 84BF 84C6 84C4 8499 849E 84B2 849C 84CB 84B8
+84C0 84D3 8490 84BC 84D1 84CA 873F 871C 873B 8722
+8725 8734 8718 8755 8737 8729 88F3 8902 88F4 88F9
+88F8 88FD 88E8 891A 88EF 8AA6 8A8C 8A9E 8AA3 8A8D
+8AA1 8A93 8AA4 8AAA 8AA5 8AA8 8A98 8A91 8A9A 8AA7
+8C6A 8C8D 8C8C 8CD3 8CD1 8CD2 8D6B 8D99 8D95 8DFC
+8F14 8F12 8F15 8F13 8FA3 9060 9058 905C 9063 9059
+905E 9062 905D 905B 9119 9118 911E 9175 9178 9177
+9174 9278 9280 9285 9298 9296 927B 9293 929C 92A8
+927C 9291 95A1 95A8 95A9 95A3 95A5 95A4 9699 969C
+969B 96CC 96D2 9700 977C 9785 97F6 9817 9818 98AF
+98B1 9903 9905 990C 9909 99C1 9AAF 9AB0 9AE6 9B41
+9B42 9CF4 9CF6 9CF3 9EBC 9F3B 9F4A 5104 5100 50FB
+50F5 50F9 5102 5108 5109 5105 51DC 5287 5288 5289
+528D 528A 52F0 53B2 562E 563B 5639 5632 563F 5634
+5629 5653 564E 5657 5674 5636 562F 5630 5880 589F
+589E 58B3 589C 58AE 58A9 58A6 596D 5B09 5AFB 5B0B
+5AF5 5B0C 5B08 5BEE 5BEC 5BE9 5BEB 5C64 5C65 5D9D
+5D94 5E62 5E5F 5E61 5EE2 5EDA 5EDF 5EDD 5EE3 5EE0
+5F48 5F71 5FB7 5FB5 6176 6167 616E 615D 6155 6182
+617C 6170 616B 617E 61A7 6190 61AB 618E 61AC 619A
+61A4 6194 61AE 622E 6469 646F 6479 649E 64B2 6488
+6490 64B0 64A5 6493 6495 64A9 6492 64AE 64AD 64AB
+649A 64AC 6499 64A2 64B3 6575 6577 6578 66AE 66AB
+66B4 66B1 6A23 6A1F 69E8 6A01 6A1E 6A19 69FD 6A21
+6A13 6A0A 69F3 6A02 6A05 69ED 6A11 6B50 6B4E 6BA4
+6BC5 6BC6 6F3F 6F7C 6F84 6F51 6F66 6F54 6F86 6F6D
+6F5B 6F78 6F6E 6F8E 6F7A 6F70 6F64 6F97 6F58 6ED5
+6F6F 6F60 6F5F 719F 71AC 71B1 71A8 7256 729B 734E
+7357 7469 748B 7483 747E 7480 757F 7620 7629 761F
+7624 7626 7621 7622 769A 76BA 76E4 778E 7787 778C
+7791 778B 78CB 78C5 78BA 78CA 78BE 78D5 78BC 78D0
+7A3F 7A3C 7A40 7A3D 7A37 7A3B 7AAF 7AAE 7BAD 7BB1
+7BC4 7BB4 7BC6 7BC7 7BC1 7BA0 7BCC 7CCA 7DE0 7DF4
+7DEF 7DFB 7DD8 7DEC 7DDD 7DE8 7DE3 7DDA 7DDE 7DE9
+7D9E 7DD9 7DF2 7DF9 7F75 7F77 7FAF 7FE9 8026 819B
+819C 819D 81A0 819A 8198 8517 853D 851A 84EE 852C
+852D 8513 8511 8523 8521 8514 84EC 8525 84FF 8506
+8782 8774 8776 8760 8766 8778 8768 8759 8757 874C
+8753 885B 885D 8910 8907 8912 8913 8915 890A 8ABC
+8AD2 8AC7 8AC4 8A95 8ACB 8AF8 8AB2 8AC9 8AC2 8ABF
+8AB0 8AD6 8ACD 8AB6 8AB9 8ADB 8C4C 8C4E 8C6C 8CE0
+8CDE 8CE6 8CE4 8CEC 8CED 8CE2 8CE3 8CDC 8CEA 8CE1
+8D6D 8D9F 8DA3 8E2B 8E10 8E1D 8E22 8E0F 8E29 8E1F
+8E21 8E1E 8EBA 8F1D 8F1B 8F1F 8F29 8F26 8F2A 8F1C
+8F1E 8F25 9069 906E 9068 906D 9077 9130 912D 9127
+9131 9187 9189 918B 9183 92C5 92BB 92B7 92EA 92AC
+92E4 92C1 92B3 92BC 92D2 92C7 92F0 92B2 95AD 95B1
+9704 9706 9707 9709 9760 978D 978B 978F 9821 982B
+981C 98B3 990A 9913 9912 9918 99DD 99D0 99DF 99DB
+99D1 99D5 99D2 99D9 9AB7 9AEE 9AEF 9B27 9B45 9B44
+9B77 9B6F 9D06 9D09 9D03 9EA9 9EBE 9ECE 58A8 9F52
+5112 5118 5114 5110 5115 5180 51AA 51DD 5291 5293
+52F3 5659 566B 5679 5669 5664 5678 566A 5668 5665
+5671 566F 566C 5662 5676 58C1 58BE 58C7 58C5 596E
+5B1D 5B34 5B78 5BF0 5C0E 5F4A 61B2 6191 61A9 618A
+61CD 61B6 61BE 61CA 61C8 6230 64C5 64C1 64CB 64BB
+64BC 64DA 64C4 64C7 64C2 64CD 64BF 64D2 64D4 64BE
+6574 66C6 66C9 66B9 66C4 66C7 66B8 6A3D 6A38 6A3A
+6A59 6A6B 6A58 6A39 6A44 6A62 6A61 6A4B 6A47 6A35
+6A5F 6A48 6B59 6B77 6C05 6FC2 6FB1 6FA1 6FC3 6FA4
+6FC1 6FA7 6FB3 6FC0 6FB9 6FB6 6FA6 6FA0 6FB4 71BE
+71C9 71D0 71D2 71C8 71D5 71B9 71CE 71D9 71DC 71C3
+71C4 7368 749C 74A3 7498 749F 749E 74E2 750C 750D
+7634 7638 763A 76E7 76E5 77A0 779E 779F 77A5 78E8
+78DA 78EC 78E7 79A6 7A4D 7A4E 7A46 7A4C 7A4B 7ABA
+7BD9 7C11 7BC9 7BE4 7BDB 7BE1 7BE9 7BE6 7CD5 7CD6
+7E0A 7E11 7E08 7E1B 7E23 7E1E 7E1D 7E09 7E10 7F79
+7FB2 7FF0 7FF1 7FEE 8028 81B3 81A9 81A8 81FB 8208
+8258 8259 854A 8559 8548 8568 8569 8543 8549 856D
+856A 855E 8783 879F 879E 87A2 878D 8861 892A 8932
+8925 892B 8921 89AA 89A6 8AE6 8AFA 8AEB 8AF1 8B00
+8ADC 8AE7 8AEE 8AFE 8B01 8B02 8AF7 8AED 8AF3 8AF6
+8AFC 8C6B 8C6D 8C93 8CF4 8E44 8E31 8E34 8E42 8E39
+8E35 8F3B 8F2F 8F38 8F33 8FA8 8FA6 9075 9074 9078
+9072 907C 907A 9134 9192 9320 9336 92F8 9333 932F
+9322 92FC 932B 9304 931A 9310 9326 9321 9315 932E
+9319 95BB 96A7 96A8 96AA 96D5 970E 9711 9716 970D
+9713 970F 975B 975C 9766 9798 9830 9838 983B 9837
+982D 9839 9824 9910 9928 991E 991B 9921 991A 99ED
+99E2 99F1 9AB8 9ABC 9AFB 9AED 9B28 9B91 9D15 9D23
+9D26 9D28 9D12 9D1B 9ED8 9ED4 9F8D 9F9C 512A 511F
+5121 5132 52F5 568E 5680 5690 5685 5687 568F 58D5
+58D3 58D1 58CE 5B30 5B2A 5B24 5B7A 5C37 5C68 5DBC
+5DBA 5DBD 5DB8 5E6B 5F4C 5FBD 61C9 61C2 61C7 61E6
+61CB 6232 6234 64CE 64CA 64D8 64E0 64F0 64E6 64EC
+64F1 64E2 64ED 6582 6583 66D9 66D6 6A80 6A94 6A84
+6AA2 6A9C 6ADB 6AA3 6A7E 6A97 6A90 6AA0 6B5C 6BAE
+6BDA 6C08 6FD8 6FF1 6FDF 6FE0 6FDB 6FE4 6FEB 6FEF
+6F80 6FEC 6FE1 6FE9 6FD5 6FEE 6FF0 71E7 71DF 71EE
+71E6 71E5 71ED 71EC 71F4 71E0 7235 7246 7370 7372
+74A9 74B0 74A6 74A8 7646 7642 764C 76EA 77B3 77AA
+77B0 77AC 77A7 77AD 77EF 78F7 78FA 78F4 78EF 7901
+79A7 79AA 7A57 7ABF 7C07 7C0D 7BFE 7BF7 7C0C 7BE0
+7CE0 7CDC 7CDE 7CE2 7CDF 7CD9 7CDD 7E2E 7E3E 7E46
+7E37 7E32 7E43 7E2B 7E3D 7E31 7E45 7E41 7E34 7E39
+7E48 7E35 7E3F 7E2F 7F44 7FF3 7FFC 8071 8072 8070
+806F 8073 81C6 81C3 81BA 81C2 81C0 81BF 81BD 81C9
+81BE 81E8 8209 8271 85AA 8584 857E 859C 8591 8594
+85AF 859B 8587 85A8 858A 8667 87C0 87D1 87B3 87D2
+87C6 87AB 87BB 87BA 87C8 87CB 893B 8936 8944 8938
+893D 89AC 8B0E 8B17 8B19 8B1B 8B0A 8B20 8B1D 8B04
+8B10 8C41 8C3F 8C73 8CFA 8CFD 8CFC 8CF8 8CFB 8DA8
+8E49 8E4B 8E48 8E4A 8F44 8F3E 8F42 8F45 8F3F 907F
+907D 9084 9081 9082 9080 9139 91A3 919E 919C 934D
+9382 9328 9375 934A 9365 934B 9318 937E 936C 935B
+9370 935A 9354 95CA 95CB 95CC 95C8 95C6 96B1 96B8
+96D6 971C 971E 97A0 97D3 9846 98B6 9935 9A01 99FF
+9BAE 9BAB 9BAA 9BAD 9D3B 9D3F 9E8B 9ECF 9EDE 9EDC
+9EDD 9EDB 9F3E 9F4B 53E2 5695 56AE 58D9 58D8 5B38
+5F5D 61E3 6233 64F4 64F2 64FE 6506 64FA 64FB 64F7
+65B7 66DC 6726 6AB3 6AAC 6AC3 6ABB 6AB8 6AC2 6AAE
+6AAF 6B5F 6B78 6BAF 7009 700B 6FFE 7006 6FFA 7011
+700F 71FB 71FC 71FE 71F8 7377 7375 74A7 74BF 7515
+7656 7658 7652 77BD 77BF 77BB 77BC 790E 79AE 7A61
+7A62 7A60 7AC4 7AC5 7C2B 7C27 7C2A 7C1E 7C23 7C21
+7CE7 7E54 7E55 7E5E 7E5A 7E61 7E52 7E59 7F48 7FF9
+7FFB 8077 8076 81CD 81CF 820A 85CF 85A9 85CD 85D0
+85C9 85B0 85BA 85B9 85A6 87EF 87EC 87F2 87E0 8986
+89B2 89F4 8B28 8B39 8B2C 8B2B 8C50 8D05 8E59 8E63
+8E66 8E64 8E5F 8E55 8EC0 8F49 8F4D 9087 9083 9088
+91AB 91AC 91D0 9394 938A 9396 93A2 93B3 93AE 93AC
+93B0 9398 939A 9397 95D4 95D6 95D0 95D5 96E2 96DC
+96D9 96DB 96DE 9724 97A3 97A6 97AD 97F9 984D 984F
+984C 984E 9853 98BA 993E 993F 993D 992E 99A5 9A0E
+9AC1 9B03 9B06 9B4F 9B4E 9B4D 9BCA 9BC9 9BFD 9BC8
+9BC0 9D51 9D5D 9D60 9EE0 9F15 9F2C 5133 56A5 58DE
+58DF 58E2 5BF5 9F90 5EEC 61F2 61F7 61F6 61F5 6500
+650F 66E0 66DD 6AE5 6ADD 6ADA 6AD3 701B 701F 7028
+701A 701D 7015 7018 7206 720D 7258 72A2 7378 737A
+74BD 74CA 74E3 7587 7586 765F 7661 77C7 7919 79B1
+7A6B 7A69 7C3E 7C3F 7C38 7C3D 7C37 7C40 7E6B 7E6D
+7E79 7E69 7E6A 7F85 7E73 7FB6 7FB9 7FB8 81D8 85E9
+85DD 85EA 85D5 85E4 85E5 85F7 87FB 8805 880D 87F9
+87FE 8960 895F 8956 895E 8B41 8B5C 8B58 8B49 8B5A
+8B4E 8B4F 8B46 8B59 8D08 8D0A 8E7C 8E72 8E87 8E76
+8E6C 8E7A 8E74 8F54 8F4E 8FAD 908A 908B 91B1 91AE
+93E1 93D1 93DF 93C3 93C8 93DC 93DD 93D6 93E2 93CD
+93D8 93E4 93D7 93E8 95DC 96B4 96E3 972A 9727 9761
+97DC 97FB 985E 9858 985B 98BC 9945 9949 9A16 9A19
+9B0D 9BE8 9BE7 9BD6 9BDB 9D89 9D61 9D72 9D6A 9D6C
+9E92 9E97 9E93 9EB4 52F8 56A8 56B7 56B6 56B4 56BC
+58E4 5B40 5B43 5B7D 5BF6 5DC9 61F8 61FA 6518 6514
+6519 66E6 6727 6AEC 703E 7030 7032 7210 737B 74CF
+7662 7665 7926 792A 792C 792B 7AC7 7AF6 7C4C 7C43
+7C4D 7CEF 7CF0 8FAE 7E7D 7E7C 7E82 7F4C 8000 81DA
+8266 85FB 85F9 8611 85FA 8606 860B 8607 860A 8814
+8815 8964 89BA 89F8 8B70 8B6C 8B66 8B6F 8B5F 8B6B
+8D0F 8D0D 8E89 8E81 8E85 8E82 91B4 91CB 9418 9403
+93FD 95E1 9730 98C4 9952 9951 99A8 9A2B 9A30 9A37
+9A35 9C13 9C0D 9E79 9EB5 9EE8 9F2F 9F5F 9F63 9F61
+5137 5138 56C1 56C0 56C2 5914 5C6C 5DCD 61FC 61FE
+651D 651C 6595 66E9 6AFB 6B04 6AFA 6BB2 704C 721B
+72A7 74D6 74D4 7669 77D3 7C50 7E8F 7E8C 7FBC 8617
+862D 861A 8823 8822 8821 881F 896A 896C 89BD 8B74
+8B77 8B7D 8D13 8E8A 8E8D 8E8B 8F5F 8FAF 91BA 942E
+9433 9435 943A 9438 9432 942B 95E2 9738 9739 9732
+97FF 9867 9865 9957 9A45 9A43 9A40 9A3E 9ACF 9B54
+9B51 9C2D 9C25 9DAF 9DB4 9DC2 9DB8 9E9D 9EEF 9F19
+9F5C 9F66 9F67 513C 513B 56C8 56CA 56C9 5B7F 5DD4
+5DD2 5F4E 61FF 6524 6B0A 6B61 7051 7058 7380 74E4
+758A 766E 766C 79B3 7C60 7C5F 807E 807D 81DF 8972
+896F 89FC 8B80 8D16 8D17 8E91 8E93 8F61 9148 9444
+9451 9452 973D 973E 97C3 97C1 986B 9955 9A55 9A4D
+9AD2 9B1A 9C49 9C31 9C3E 9C3B 9DD3 9DD7 9F34 9F6C
+9F6A 9F94 56CC 5DD6 6200 6523 652B 652A 66EC 6B10
+74DA 7ACA 7C64 7C63 7C65 7E93 7E96 7E94 81E2 8638
+863F 8831 8B8A 9090 908F 9463 9460 9464 9768 986F
+995C 9A5A 9A5B 9A57 9AD3 9AD4 9AD1 9C54 9C57 9C56
+9DE5 9E9F 9EF4 56D1 58E9 652C 705E 7671 7672 77D7
+7F50 7F88 8836 8839 8862 8B93 8B92 8B96 8277 8D1B
+91C0 946A 9742 9748 9744 97C6 9870 9A5F 9B22 9B58
+9C5F 9DF9 9DFA 9E7C 9E7D 9F07 9F77 9F72 5EF3 6B16
+7063 7C6C 7C6E 883B 89C0 8EA1 91C1 9472 9470 9871
+995E 9AD6 9B23 9ECC 7064 77DA 8B9A 9477 97C9 9A62
+9A65 7E9C 8B9C 8EAA 91C5 947D 947E 947C 9C77 9C78
+9EF7 8C54 947F 9E1A 7228 9A6A 9B31 9E1B 9E1E 7C72
+4E42 4E5C 51F5 531A 5382 4E07 4E0C 4E47 4E8D 56D7
+5C6E 5F73 4E0F 5187 4E0E 4E2E 4E93 4EC2 4EC9 4EC8
+5198 52FC 536C 53B9 5720 5903 592C 5C10 5DFF 65E1
+6BB3 6BCC 6C14 723F 4E31 4E3C 4EE8 4EDC 4EE9 4EE1
+4EDD 4EDA 520C 531C 534C 5722 5723 5917 592F 5B81
+5B84 5C12 5C3B 5C74 5C73 5E04 5E80 5E82 5FC9 6209
+6250 6C15 6C36 6C43 6C3F 6C3B 72AE 72B0 738A 79B8
+808A 961E 4F0E 4F18 4F2C 4EF5 4F14 4EF1 4F00 4EF7
+4F08 4F1D 4F02 4F05 4F22 4F13 4F04 4EF4 4F12 51B1
+5213 5209 5210 52A6 5322 531F 534D 538A 5407 56E1
+56DF 572E 572A 5734 593C 5980 597C 5985 597B 597E
+5977 597F 5B56 5C15 5C25 5C7C 5C7A 5C7B 5C7E 5DDF
+5E75 5E84 5F02 5F1A 5F74 5FD5 5FD4 5FCF 625C 625E
+6264 6261 6266 6262 6259 6260 625A 6265 65EF 65EE
+673E 6739 6738 673B 673A 673F 673C 6733 6C18 6C46
+6C52 6C5C 6C4F 6C4A 6C54 6C4B 6C4C 7071 725E 72B4
+72B5 738E 752A 767F 7A75 7F51 8278 827C 8280 827D
+827F 864D 897E 9099 9097 9098 909B 9094 9622 9624
+9620 9623 4F56 4F3B 4F62 4F49 4F53 4F64 4F3E 4F67
+4F52 4F5F 4F41 4F58 4F2D 4F33 4F3F 4F61 518F 51B9
+521C 521E 5221 52AD 52AE 5309 5363 5372 538E 538F
+5430 5437 542A 5454 5445 5419 541C 5425 5418 543D
+544F 5441 5428 5424 5447 56EE 56E7 56E5 5741 5745
+574C 5749 574B 5752 5906 5940 59A6 5998 59A0 5997
+598E 59A2 5990 598F 59A7 59A1 5B8E 5B92 5C28 5C2A
+5C8D 5C8F 5C88 5C8B 5C89 5C92 5C8A 5C86 5C93 5C95
+5DE0 5E0A 5E0E 5E8B 5E89 5E8C 5E88 5E8D 5F05 5F1D
+5F78 5F76 5FD2 5FD1 5FD0 5FED 5FE8 5FEE 5FF3 5FE1
+5FE4 5FE3 5FFA 5FEF 5FF7 5FFB 6000 5FF4 623A 6283
+628C 628E 628F 6294 6287 6271 627B 627A 6270 6281
+6288 6277 627D 6272 6274 6537 65F0 65F4 65F3 65F2
+65F5 6745 6747 6759 6755 674C 6748 675D 674D 675A
+674B 6BD0 6C19 6C1A 6C78 6C67 6C6B 6C84 6C8B 6C8F
+6C71 6C6F 6C69 6C9A 6C6D 6C87 6C95 6C9C 6C66 6C73
+6C65 6C7B 6C8E 7074 707A 7263 72BF 72BD 72C3 72C6
+72C1 72BA 72C5 7395 7397 7393 7394 7392 753A 7539
+7594 7595 7681 793D 8034 8095 8099 8090 8092 809C
+8290 828F 8285 828E 8291 8293 828A 8283 8284 8C78
+8FC9 8FBF 909F 90A1 90A5 909E 90A7 90A0 9630 9628
+962F 962D 4E33 4F98 4F7C 4F85 4F7D 4F80 4F87 4F76
+4F74 4F89 4F84 4F77 4F4C 4F97 4F6A 4F9A 4F79 4F81
+4F78 4F90 4F9C 4F94 4F9E 4F92 4F82 4F95 4F6B 4F6E
+519E 51BC 51BE 5235 5232 5233 5246 5231 52BC 530A
+530B 533C 5392 5394 5487 547F 5481 5491 5482 5488
+546B 547A 547E 5465 546C 5474 5466 548D 546F 5461
+5460 5498 5463 5467 5464 56F7 56F9 576F 5772 576D
+576B 5771 5770 5776 5780 5775 577B 5773 5774 5762
+5768 577D 590C 5945 59B5 59BA 59CF 59CE 59B2 59CC
+59C1 59B6 59BC 59C3 59D6 59B1 59BD 59C0 59C8 59B4
+59C7 5B62 5B65 5B93 5B95 5C44 5C47 5CAE 5CA4 5CA0
+5CB5 5CAF 5CA8 5CAC 5C9F 5CA3 5CAD 5CA2 5CAA 5CA7
+5C9D 5CA5 5CB6 5CB0 5CA6 5E17 5E14 5E19 5F28 5F22
+5F23 5F24 5F54 5F82 5F7E 5F7D 5FDE 5FE5 602D 6026
+6019 6032 600B 6034 600A 6017 6033 601A 601E 602C
+6022 600D 6010 602E 6013 6011 600C 6009 601C 6214
+623D 62AD 62B4 62D1 62BE 62AA 62B6 62CA 62AE 62B3
+62AF 62BB 62A9 62B0 62B8 653D 65A8 65BB 6609 65FC
+6604 6612 6608 65FB 6603 660B 660D 6605 65FD 6611
+6610 66F6 670A 6785 676C 678E 6792 6776 677B 6798
+6786 6784 6774 678D 678C 677A 679F 6791 6799 6783
+677D 6781 6778 6779 6794 6B25 6B80 6B7E 6BDE 6C1D
+6C93 6CEC 6CEB 6CEE 6CD9 6CB6 6CD4 6CAD 6CE7 6CB7
+6CD0 6CC2 6CBA 6CC3 6CC6 6CED 6CF2 6CD2 6CDD 6CB4
+6C8A 6C9D 6C80 6CDE 6CC0 6D30 6CCD 6CC7 6CB0 6CF9
+6CCF 6CE9 6CD1 7094 7098 7085 7093 7086 7084 7091
+7096 7082 709A 7083 726A 72D6 72CB 72D8 72C9 72DC
+72D2 72D4 72DA 72CC 72D1 73A4 73A1 73AD 73A6 73A2
+73A0 73AC 739D 74DD 74E8 753F 7540 753E 758C 7598
+76AF 76F3 76F1 76F0 76F5 77F8 77FC 77F9 77FB 77FA
+77F7 7942 793F 79C5 7A78 7A7B 7AFB 7C75 7CFD 8035
+808F 80AE 80A3 80B8 80B5 80AD 8220 82A0 82C0 82AB
+829A 8298 829B 82B5 82A7 82AE 82BC 829E 82BA 82B4
+82A8 82A1 82A9 82C2 82A4 82C3 82B6 82A2 8670 866F
+866D 866E 8C56 8FD2 8FCB 8FD3 8FCD 8FD6 8FD5 8FD7
+90B2 90B4 90AF 90B3 90B0 9639 963D 963C 963A 9643
+4FCD 4FC5 4FD3 4FB2 4FC9 4FCB 4FC1 4FD4 4FDC 4FD9
+4FBB 4FB3 4FDB 4FC7 4FD6 4FBA 4FC0 4FB9 4FEC 5244
+5249 52C0 52C2 533D 537C 5397 5396 5399 5398 54BA
+54A1 54AD 54A5 54CF 54C3 830D 54B7 54AE 54D6 54B6
+54C5 54C6 54A0 5470 54BC 54A2 54BE 5472 54DE 54B0
+57B5 579E 579F 57A4 578C 5797 579D 579B 5794 5798
+578F 5799 57A5 579A 5795 58F4 590D 5953 59E1 59DE
+59EE 5A00 59F1 59DD 59FA 59FD 59FC 59F6 59E4 59F2
+59F7 59DB 59E9 59F3 59F5 59E0 59FE 59F4 59ED 5BA8
+5C4C 5CD0 5CD8 5CCC 5CD7 5CCB 5CDB 5CDE 5CDA 5CC9
+5CC7 5CCA 5CD6 5CD3 5CD4 5CCF 5CC8 5CC6 5CCE 5CDF
+5CF8 5DF9 5E21 5E22 5E23 5E20 5E24 5EB0 5EA4 5EA2
+5E9B 5EA3 5EA5 5F07 5F2E 5F56 5F86 6037 6039 6054
+6072 605E 6045 6053 6047 6049 605B 604C 6040 6042
+605F 6024 6044 6058 6066 606E 6242 6243 62CF 630D
+630B 62F5 630E 6303 62EB 62F9 630F 630C 62F8 62F6
+6300 6313 6314 62FA 6315 62FB 62F0 6541 6543 65AA
+65BF 6636 6621 6632 6635 661C 6626 6622 6633 662B
+663A 661D 6634 6639 662E 670F 6710 67C1 67F2 67C8
+67BA 67DC 67BB 67F8 67D8 67C0 67B7 67C5 67EB 67E4
+67DF 67B5 67CD 67B3 67F7 67F6 67EE 67E3 67C2 67B9
+67CE 67E7 67F0 67B2 67FC 67C6 67ED 67CC 67AE 67E6
+67DB 67FA 67C9 67CA 67C3 67EA 67CB 6B28 6B82 6B84
+6BB6 6BD6 6BD8 6BE0 6C20 6C21 6D28 6D34 6D2D 6D1F
+6D3C 6D3F 6D12 6D0A 6CDA 6D33 6D04 6D19 6D3A 6D1A
+6D11 6D00 6D1D 6D42 6D01 6D18 6D37 6D03 6D0F 6D40
+6D07 6D20 6D2C 6D08 6D22 6D09 6D10 70B7 709F 70BE
+70B1 70B0 70A1 70B4 70B5 70A9 7241 7249 724A 726C
+7270 7273 726E 72CA 72E4 72E8 72EB 72DF 72EA 72E6
+72E3 7385 73CC 73C2 73C8 73C5 73B9 73B6 73B5 73B4
+73EB 73BF 73C7 73BE 73C3 73C6 73B8 73CB 74EC 74EE
+752E 7547 7548 75A7 75AA 7679 76C4 7708 7703 7704
+7705 770A 76F7 76FB 76FA 77E7 77E8 7806 7811 7812
+7805 7810 780F 780E 7809 7803 7813 794A 794C 794B
+7945 7944 79D5 79CD 79CF 79D6 79CE 7A80 7A7E 7AD1
+7B00 7B01 7C7A 7C78 7C79 7C7F 7C80 7C81 7D03 7D08
+7D01 7F58 7F91 7F8D 7FBE 8007 800E 800F 8014 8037
+80D8 80C7 80E0 80D1 80C8 80C2 80D0 80C5 80E3 80D9
+80DC 80CA 80D5 80C9 80CF 80D7 80E6 80CD 81FF 8221
+8294 82D9 82FE 82F9 8307 82E8 8300 82D5 833A 82EB
+82D6 82F4 82EC 82E1 82F2 82F5 830C 82FB 82F6 82F0
+82EA 82E4 82E0 82FA 82F3 82ED 8677 8674 867C 8673
+8841 884E 8867 886A 8869 89D3 8A04 8A07 8D72 8FE3
+8FE1 8FEE 8FE0 90F1 90BD 90BF 90D5 90C5 90BE 90C7
+90CB 90C8 91D4 91D3 9654 964F 9651 9653 964A 964E
+501E 5005 5007 5013 5022 5030 501B 4FF5 4FF4 5033
+5037 502C 4FF6 4FF7 5017 501C 5020 5027 5035 502F
+5031 500E 515A 5194 5193 51CA 51C4 51C5 51C8 51CE
+5261 525A 5252 525E 525F 5255 5262 52CD 530E 539E
+5526 54E2 5517 5512 54E7 54F3 54E4 551A 54FF 5504
+5508 54EB 5511 5505 54F1 550A 54FB 54F7 54F8 54E0
+550E 5503 550B 5701 5702 57CC 5832 57D5 57D2 57BA
+57C6 57BD 57BC 57B8 57B6 57BF 57C7 57D0 57B9 57C1
+590E 594A 5A19 5A16 5A2D 5A2E 5A15 5A0F 5A17 5A0A
+5A1E 5A33 5B6C 5BA7 5BAD 5BAC 5C03 5C56 5C54 5CEC
+5CFF 5CEE 5CF1 5CF7 5D00 5CF9 5E29 5E28 5EA8 5EAE
+5EAA 5EAC 5F33 5F30 5F67 605D 605A 6067 6041 60A2
+6088 6080 6092 6081 609D 6083 6095 609B 6097 6087
+609C 608E 6219 6246 62F2 6310 6356 632C 6344 6345
+6336 6343 63E4 6339 634B 634A 633C 6329 6341 6334
+6358 6354 6359 632D 6347 6333 635A 6351 6338 6357
+6340 6348 654A 6546 65C6 65C3 65C4 65C2 664A 665F
+6647 6651 6712 6713 681F 681A 6849 6832 6833 683B
+684B 684F 6816 6831 681C 6835 682B 682D 682F 684E
+6844 6834 681D 6812 6814 6826 6828 682E 684D 683A
+6825 6820 6B2C 6B2F 6B2D 6B31 6B34 6B6D 8082 6B88
+6BE6 6BE4 6BE8 6BE3 6BE2 6BE7 6C25 6D7A 6D63 6D64
+6D76 6D0D 6D61 6D92 6D58 6D62 6D6D 6D6F 6D91 6D8D
+6DEF 6D7F 6D86 6D5E 6D67 6D60 6D97 6D70 6D7C 6D5F
+6D82 6D98 6D2F 6D68 6D8B 6D7E 6D80 6D84 6D16 6D83
+6D7B 6D7D 6D75 6D90 70DC 70D3 70D1 70DD 70CB 7F39
+70E2 70D7 70D2 70DE 70E0 70D4 70CD 70C5 70C6 70C7
+70DA 70CE 70E1 7242 7278 7277 7276 7300 72FA 72F4
+72FE 72F6 72F3 72FB 7301 73D3 73D9 73E5 73D6 73BC
+73E7 73E3 73E9 73DC 73D2 73DB 73D4 73DD 73DA 73D7
+73D8 73E8 74DE 74DF 74F4 74F5 7521 755B 755F 75B0
+75C1 75BB 75C4 75C0 75BF 75B6 75BA 768A 76C9 771D
+771B 7710 7713 7712 7723 7711 7715 7719 771A 7722
+7727 7823 782C 7822 7835 782F 7828 782E 782B 7821
+7829 7833 782A 7831 7954 795B 794F 795C 7953 7952
+7951 79EB 79EC 79E0 79EE 79ED 79EA 79DC 79DE 79DD
+7A86 7A89 7A85 7A8B 7A8C 7A8A 7A87 7AD8 7B10 7B04
+7B13 7B05 7B0F 7B08 7B0A 7B0E 7B09 7B12 7C84 7C91
+7C8A 7C8C 7C88 7C8D 7C85 7D1E 7D1D 7D11 7D0E 7D18
+7D16 7D13 7D1F 7D12 7D0F 7D0C 7F5C 7F61 7F5E 7F60
+7F5D 7F5B 7F96 7F92 7FC3 7FC2 7FC0 8016 803E 8039
+80FA 80F2 80F9 80F5 8101 80FB 8100 8201 822F 8225
+8333 832D 8344 8319 8351 8325 8356 833F 8341 8326
+831C 8322 8342 834E 831B 832A 8308 833C 834D 8316
+8324 8320 8337 832F 8329 8347 8345 834C 8353 831E
+832C 834B 8327 8348 8653 8652 86A2 86A8 8696 868D
+8691 869E 8687 8697 8686 868B 869A 8685 86A5 8699
+86A1 86A7 8695 8698 868E 869D 8690 8694 8843 8844
+886D 8875 8876 8872 8880 8871 887F 886F 8883 887E
+8874 887C 8A12 8C47 8C57 8C7B 8CA4 8CA3 8D76 8D78
+8DB5 8DB7 8DB6 8ED1 8ED3 8FFE 8FF5 9002 8FFF 8FFB
+9004 8FFC 8FF6 90D6 90E0 90D9 90DA 90E3 90DF 90E5
+90D8 90DB 90D7 90DC 90E4 9150 914E 914F 91D5 91E2
+91DA 965C 965F 96BC 98E3 9ADF 9B2F 4E7F 5070 506A
+5061 505E 5060 5053 504B 505D 5072 5048 504D 5041
+505B 504A 5062 5015 5045 505F 5069 506B 5063 5064
+5046 5040 506E 5073 5057 5051 51D0 526B 526D 526C
+526E 52D6 52D3 532D 539C 5575 5576 553C 554D 5550
+5534 552A 5551 5562 5536 5535 5530 5552 5545 550C
+5532 5565 554E 5539 5548 552D 553B 5540 554B 570A
+5707 57FB 5814 57E2 57F6 57DC 57F4 5800 57ED 57FD
+5808 57F8 580B 57F3 57CF 5807 57EE 57E3 57F2 57E5
+57EC 57E1 580E 57FC 5810 57E7 5801 580C 57F1 57E9
+57F0 580D 5804 595C 5A60 5A58 5A55 5A67 5A5E 5A38
+5A35 5A6D 5A50 5A5F 5A65 5A6C 5A53 5A64 5A57 5A43
+5A5D 5A52 5A44 5A5B 5A48 5A8E 5A3E 5A4D 5A39 5A4C
+5A70 5A69 5A47 5A51 5A56 5A42 5A5C 5B72 5B6E 5BC1
+5BC0 5C59 5D1E 5D0B 5D1D 5D1A 5D20 5D0C 5D28 5D0D
+5D26 5D25 5D0F 5D30 5D12 5D23 5D1F 5D2E 5E3E 5E34
+5EB1 5EB4 5EB9 5EB2 5EB3 5F36 5F38 5F9B 5F96 5F9F
+608A 6090 6086 60BE 60B0 60BA 60D3 60D4 60CF 60E4
+60D9 60DD 60C8 60B1 60DB 60B7 60CA 60BF 60C3 60CD
+60C0 6332 6365 638A 6382 637D 63BD 639E 63AD 639D
+6397 63AB 638E 636F 6387 6390 636E 63AF 6375 639C
+636D 63AE 637C 63A4 633B 639F 6378 6385 6381 6391
+638D 6370 6553 65CD 6665 6661 665B 6659 665C 6662
+6718 6879 6887 6890 689C 686D 686E 68AE 68AB 6956
+686F 68A3 68AC 68A9 6875 6874 68B2 688F 6877 6892
+687C 686B 6872 68AA 6880 6871 687E 689B 6896 688B
+68A0 6889 68A4 6878 687B 6891 688C 688A 687D 6B36
+6B33 6B37 6B38 6B91 6B8F 6B8D 6B8E 6B8C 6C2A 6DC0
+6DAB 6DB4 6DB3 6E74 6DAC 6DE9 6DE2 6DB7 6DF6 6DD4
+6E00 6DC8 6DE0 6DDF 6DD6 6DBE 6DE5 6DDC 6DDD 6DDB
+6DF4 6DCA 6DBD 6DED 6DF0 6DBA 6DD5 6DC2 6DCF 6DC9
+6DD0 6DF2 6DD3 6DFD 6DD7 6DCD 6DE3 6DBB 70FA 710D
+70F7 7117 70F4 710C 70F0 7104 70F3 7110 70FC 70FF
+7106 7113 7100 70F8 70F6 710B 7102 710E 727E 727B
+727C 727F 731D 7317 7307 7311 7318 730A 7308 72FF
+730F 731E 7388 73F6 73F8 73F5 7404 7401 73FD 7407
+7400 73FA 73FC 73FF 740C 740B 73F4 7408 7564 7563
+75CE 75D2 75CF 75CB 75CC 75D1 75D0 768F 7689 76D3
+7739 772F 772D 7731 7732 7734 7733 773D 7725 773B
+7735 7848 7852 7849 784D 784A 784C 7826 7845 7850
+7964 7967 7969 796A 7963 796B 7961 79BB 79FA 79F8
+79F6 79F7 7A8F 7A94 7A90 7B35 7B47 7B34 7B25 7B30
+7B22 7B24 7B33 7B18 7B2A 7B1D 7B31 7B2B 7B2D 7B2F
+7B32 7B38 7B1A 7B23 7C94 7C98 7C96 7CA3 7D35 7D3D
+7D38 7D36 7D3A 7D45 7D2C 7D29 7D41 7D47 7D3E 7D3F
+7D4A 7D3B 7D28 7F63 7F95 7F9C 7F9D 7F9B 7FCA 7FCB
+7FCD 7FD0 7FD1 7FC7 7FCF 7FC9 801F 801E 801B 8047
+8043 8048 8118 8125 8119 811B 812D 811F 812C 811E
+8121 8115 8127 811D 8122 8211 8238 8233 823A 8234
+8232 8274 8390 83A3 83A8 838D 837A 8373 83A4 8374
+838F 8381 8395 8399 8375 8394 83A9 837D 8383 838C
+839D 839B 83AA 838B 837E 83A5 83AF 8388 8397 83B0
+837F 83A6 8387 83AE 8376 839A 8659 8656 86BF 86B7
+86C2 86C1 86C5 86BA 86B0 86C8 86B9 86B3 86B8 86CC
+86B4 86BB 86BC 86C3 86BD 86BE 8852 8889 8895 88A8
+88A2 88AA 889A 8891 88A1 889F 8898 88A7 8899 889B
+8897 88A4 88AC 888C 8893 888E 8982 89D6 89D9 89D5
+8A30 8A27 8A2C 8A1E 8C39 8C3B 8C5C 8C5D 8C7D 8CA5
+8D7D 8D7B 8D79 8DBC 8DC2 8DB9 8DBF 8DC1 8ED8 8EDE
+8EDD 8EDC 8ED7 8EE0 8EE1 9024 900B 9011 901C 900C
+9021 90EF 90EA 90F0 90F4 90F2 90F3 90D4 90EB 90EC
+90E9 9156 9158 915A 9153 9155 91EC 91F4 91F1 91F3
+91F8 91E4 91F9 91EA 91EB 91F7 91E8 91EE 957A 9586
+9588 967C 966D 966B 9671 966F 96BF 976A 9804 98E5
+9997 509B 5095 5094 509E 508B 50A3 5083 508C 508E
+509D 5068 509C 5092 5082 5087 515F 51D4 5312 5311
+53A4 53A7 5591 55A8 55A5 55AD 5577 5645 55A2 5593
+5588 558F 55B5 5581 55A3 5592 55A4 557D 558C 55A6
+557F 5595 55A1 558E 570C 5829 5837 5819 581E 5827
+5823 5828 57F5 5848 5825 581C 581B 5833 583F 5836
+582E 5839 5838 582D 582C 583B 5961 5AAF 5A94 5A9F
+5A7A 5AA2 5A9E 5A78 5AA6 5A7C 5AA5 5AAC 5A95 5AAE
+5A37 5A84 5A8A 5A97 5A83 5A8B 5AA9 5A7B 5A7D 5A8C
+5A9C 5A8F 5A93 5A9D 5BEA 5BCD 5BCB 5BD4 5BD1 5BCA
+5BCE 5C0C 5C30 5D37 5D43 5D6B 5D41 5D4B 5D3F 5D35
+5D51 5D4E 5D55 5D33 5D3A 5D52 5D3D 5D31 5D59 5D42
+5D39 5D49 5D38 5D3C 5D32 5D36 5D40 5D45 5E44 5E41
+5F58 5FA6 5FA5 5FAB 60C9 60B9 60CC 60E2 60CE 60C4
+6114 60F2 610A 6116 6105 60F5 6113 60F8 60FC 60FE
+60C1 6103 6118 611D 6110 60FF 6104 610B 624A 6394
+63B1 63B0 63CE 63E5 63E8 63EF 63C3 649D 63F3 63CA
+63E0 63F6 63D5 63F2 63F5 6461 63DF 63BE 63DD 63DC
+63C4 63D8 63D3 63C2 63C7 63CC 63CB 63C8 63F0 63D7
+63D9 6532 6567 656A 6564 655C 6568 6565 658C 659D
+659E 65AE 65D0 65D2 667C 666C 667B 6680 6671 6679
+666A 6672 6701 690C 68D3 6904 68DC 692A 68EC 68EA
+68F1 690F 68D6 68F7 68EB 68E4 68F6 6913 6910 68F3
+68E1 6907 68CC 6908 6970 68B4 6911 68EF 68C6 6914
+68F8 68D0 68FD 68FC 68E8 690B 690A 6917 68CE 68C8
+68DD 68DE 68E6 68F4 68D1 6906 68D4 68E9 6915 6925
+68C7 6B39 6B3B 6B3F 6B3C 6B94 6B97 6B99 6B95 6BBD
+6BF0 6BF2 6BF3 6C30 6DFC 6E46 6E47 6E1F 6E49 6E88
+6E3C 6E3D 6E45 6E62 6E2B 6E3F 6E41 6E5D 6E73 6E1C
+6E33 6E4B 6E40 6E51 6E3B 6E03 6E2E 6E5E 6E68 6E5C
+6E61 6E31 6E28 6E60 6E71 6E6B 6E39 6E22 6E30 6E53
+6E65 6E27 6E78 6E64 6E77 6E55 6E79 6E52 6E66 6E35
+6E36 6E5A 7120 711E 712F 70FB 712E 7131 7123 7125
+7122 7132 711F 7128 713A 711B 724B 725A 7288 7289
+7286 7285 728B 7312 730B 7330 7322 7331 7333 7327
+7332 732D 7326 7323 7335 730C 742E 742C 7430 742B
+7416 741A 7421 742D 7431 7424 7423 741D 7429 7420
+7432 74FB 752F 756F 756C 75E7 75DA 75E1 75E6 75DD
+75DF 75E4 75D7 7695 7692 76DA 7746 7747 7744 774D
+7745 774A 774E 774B 774C 77DE 77EC 7860 7864 7865
+785C 786D 7871 786A 786E 7870 7869 7868 785E 7862
+7974 7973 7972 7970 7A02 7A0A 7A03 7A0C 7A04 7A99
+7AE6 7AE4 7B4A 7B3B 7B44 7B48 7B4C 7B4E 7B40 7B58
+7B45 7CA2 7C9E 7CA8 7CA1 7D58 7D6F 7D63 7D53 7D56
+7D67 7D6A 7D4F 7D6D 7D5C 7D6B 7D52 7D54 7D69 7D51
+7D5F 7D4E 7F3E 7F3F 7F65 7F66 7FA2 7FA0 7FA1 7FD7
+8051 804F 8050 80FE 80D4 8143 814A 8152 814F 8147
+813D 814D 813A 81E6 81EE 81F7 81F8 81F9 8204 823C
+823D 823F 8275 833B 83CF 83F9 8423 83C0 83E8 8412
+83E7 83E4 83FC 83F6 8410 83C6 83C8 83EB 83E3 83BF
+8401 83DD 83E5 83D8 83FF 83E1 83CB 83CE 83D6 83F5
+83C9 8409 840F 83DE 8411 8406 83C2 83F3 83D5 83FA
+83C7 83D1 83EA 8413 83C3 83EC 83EE 83C4 83FB 83D7
+83E2 841B 83DB 83FE 86D8 86E2 86E6 86D3 86E3 86DA
+86EA 86DD 86EB 86DC 86EC 86E9 86D7 86E8 86D1 8848
+8856 8855 88BA 88D7 88B9 88B8 88C0 88BE 88B6 88BC
+88B7 88BD 88B2 8901 88C9 8995 8998 8997 89DD 89DA
+89DB 8A4E 8A4D 8A39 8A59 8A40 8A57 8A58 8A44 8A45
+8A52 8A48 8A51 8A4A 8A4C 8A4F 8C5F 8C81 8C80 8CBA
+8CBE 8CB0 8CB9 8CB5 8D84 8D80 8D89 8DD8 8DD3 8DCD
+8DC7 8DD6 8DDC 8DCF 8DD5 8DD9 8DC8 8DD7 8DC5 8EEF
+8EF7 8EFA 8EF9 8EE6 8EEE 8EE5 8EF5 8EE7 8EE8 8EF6
+8EEB 8EF1 8EEC 8EF4 8EE9 902D 9034 902F 9106 912C
+9104 90FF 90FC 9108 90F9 90FB 9101 9100 9107 9105
+9103 9161 9164 915F 9162 9160 9201 920A 9225 9203
+921A 9226 920F 920C 9200 9212 91FF 91FD 9206 9204
+9227 9202 921C 9224 9219 9217 9205 9216 957B 958D
+958C 9590 9687 967E 9688 9689 9683 9680 96C2 96C8
+96C3 96F1 96F0 976C 9770 976E 9807 98A9 98EB 9CE6
+9EF9 4E83 4E84 4EB6 50BD 50BF 50C6 50AE 50C4 50CA
+50B4 50C8 50C2 50B0 50C1 50BA 50B1 50CB 50C9 50B6
+50B8 51D7 527A 5278 527B 527C 55C3 55DB 55CC 55D0
+55CB 55CA 55DD 55C0 55D4 55C4 55E9 55BF 55D2 558D
+55CF 55D5 55E2 55D6 55C8 55F2 55CD 55D9 55C2 5714
+5853 5868 5864 584F 584D 5849 586F 5855 584E 585D
+5859 5865 585B 583D 5863 5871 58FC 5AC7 5AC4 5ACB
+5ABA 5AB8 5AB1 5AB5 5AB0 5ABF 5AC8 5ABB 5AC6 5AB7
+5AC0 5ACA 5AB4 5AB6 5ACD 5AB9 5A90 5BD6 5BD8 5BD9
+5C1F 5C33 5D71 5D63 5D4A 5D65 5D72 5D6C 5D5E 5D68
+5D67 5D62 5DF0 5E4F 5E4E 5E4A 5E4D 5E4B 5EC5 5ECC
+5EC6 5ECB 5EC7 5F40 5FAF 5FAD 60F7 6149 614A 612B
+6145 6136 6132 612E 6146 612F 614F 6129 6140 6220
+9168 6223 6225 6224 63C5 63F1 63EB 6410 6412 6409
+6420 6424 6433 6443 641F 6415 6418 6439 6437 6422
+6423 640C 6426 6430 6428 6441 6435 642F 640A 641A
+6440 6425 6427 640B 63E7 641B 642E 6421 640E 656F
+6592 65D3 6686 668C 6695 6690 668B 668A 6699 6694
+6678 6720 6966 695F 6938 694E 6962 6971 693F 6945
+696A 6939 6942 6957 6959 697A 6948 6949 6935 696C
+6933 693D 6965 68F0 6978 6934 6969 6940 696F 6944
+6976 6958 6941 6974 694C 693B 694B 6937 695C 694F
+6951 6932 6952 692F 697B 693C 6B46 6B45 6B43 6B42
+6B48 6B41 6B9B 6BFB 6BFC 6BF9 6BF7 6BF8 6E9B 6ED6
+6EC8 6E8F 6EC0 6E9F 6E93 6E94 6EA0 6EB1 6EB9 6EC6
+6ED2 6EBD 6EC1 6E9E 6EC9 6EB7 6EB0 6ECD 6EA6 6ECF
+6EB2 6EBE 6EC3 6EDC 6ED8 6E99 6E92 6E8E 6E8D 6EA4
+6EA1 6EBF 6EB3 6ED0 6ECA 6E97 6EAE 6EA3 7147 7154
+7152 7163 7160 7141 715D 7162 7172 7178 716A 7161
+7142 7158 7143 714B 7170 715F 7150 7153 7144 714D
+715A 724F 728D 728C 7291 7290 728E 733C 7342 733B
+733A 7340 734A 7349 7444 744A 744B 7452 7451 7457
+7440 744F 7450 744E 7442 7446 744D 7454 74E1 74FF
+74FE 74FD 751D 7579 7577 6983 75EF 760F 7603 75F7
+75FE 75FC 75F9 75F8 7610 75FB 75F6 75ED 75F5 75FD
+7699 76B5 76DD 7755 775F 7760 7752 7756 775A 7769
+7767 7754 7759 776D 77E0 7887 789A 7894 788F 7884
+7895 7885 7886 78A1 7883 7879 7899 7880 7896 787B
+797C 7982 797D 7979 7A11 7A18 7A19 7A12 7A17 7A15
+7A22 7A13 7A1B 7A10 7AA3 7AA2 7A9E 7AEB 7B66 7B64
+7B6D 7B74 7B69 7B72 7B65 7B73 7B71 7B70 7B61 7B78
+7B76 7B63 7CB2 7CB4 7CAF 7D88 7D86 7D80 7D8D 7D7F
+7D85 7D7A 7D8E 7D7B 7D83 7D7C 7D8C 7D94 7D84 7D7D
+7D92 7F6D 7F6B 7F67 7F68 7F6C 7FA6 7FA5 7FA7 7FDB
+7FDC 8021 8164 8160 8177 815C 8169 815B 8162 8172
+6721 815E 8176 8167 816F 8144 8161 821D 8249 8244
+8240 8242 8245 84F1 843F 8456 8476 8479 848F 848D
+8465 8451 8440 8486 8467 8430 844D 847D 845A 8459
+8474 8473 845D 8507 845E 8437 843A 8434 847A 8443
+8478 8432 8445 8429 83D9 844B 842F 8442 842D 845F
+8470 8439 844E 844C 8452 846F 84C5 848E 843B 8447
+8436 8433 8468 847E 8444 842B 8460 8454 846E 8450
+870B 8704 86F7 870C 86FA 86D6 86F5 874D 86F8 870E
+8709 8701 86F6 870D 8705 88D6 88CB 88CD 88CE 88DE
+88DB 88DA 88CC 88D0 8985 899B 89DF 89E5 89E4 89E1
+89E0 89E2 89DC 89E6 8A76 8A86 8A7F 8A61 8A3F 8A77
+8A82 8A84 8A75 8A83 8A81 8A74 8A7A 8C3C 8C4B 8C4A
+8C65 8C64 8C66 8C86 8C84 8C85 8CCC 8D68 8D69 8D91
+8D8C 8D8E 8D8F 8D8D 8D93 8D94 8D90 8D92 8DF0 8DE0
+8DEC 8DF1 8DEE 8DD0 8DE9 8DE3 8DE2 8DE7 8DF2 8DEB
+8DF4 8F06 8EFF 8F01 8F00 8F05 8F07 8F08 8F02 8F0B
+9052 903F 9044 9049 903D 9110 910D 910F 9111 9116
+9114 910B 910E 916E 916F 9248 9252 9230 923A 9266
+9233 9265 925E 9283 922E 924A 9246 926D 926C 924F
+9260 9267 926F 9236 9261 9270 9231 9254 9263 9250
+9272 924E 9253 924C 9256 9232 959F 959C 959E 959B
+9692 9693 9691 9697 96CE 96FA 96FD 96F8 96F5 9773
+9777 9778 9772 980F 980D 980E 98AC 98F6 98F9 99AF
+99B2 99B0 99B5 9AAD 9AAB 9B5B 9CEA 9CED 9CE7 9E80
+9EFD 50E6 50D4 50D7 50E8 50F3 50DB 50EA 50DD 50E4
+50D3 50EC 50F0 50EF 50E3 50E0 51D8 5280 5281 52E9
+52EB 5330 53AC 5627 5615 560C 5612 55FC 560F 561C
+5601 5613 5602 55FA 561D 5604 55FF 55F9 5889 587C
+5890 5898 5886 5881 587F 5874 588B 587A 5887 5891
+588E 5876 5882 5888 587B 5894 588F 58FE 596B 5ADC
+5AEE 5AE5 5AD5 5AEA 5ADA 5AED 5AEB 5AF3 5AE2 5AE0
+5ADB 5AEC 5ADE 5ADD 5AD9 5AE8 5ADF 5B77 5BE0 5BE3
+5C63 5D82 5D80 5D7D 5D86 5D7A 5D81 5D77 5D8A 5D89
+5D88 5D7E 5D7C 5D8D 5D79 5D7F 5E58 5E59 5E53 5ED8
+5ED1 5ED7 5ECE 5EDC 5ED5 5ED9 5ED2 5ED4 5F44 5F43
+5F6F 5FB6 612C 6128 6141 615E 6171 6173 6152 6153
+6172 616C 6180 6174 6154 617A 615B 6165 613B 616A
+6161 6156 6229 6227 622B 642B 644D 645B 645D 6474
+6476 6472 6473 647D 6475 6466 64A6 644E 6482 645E
+645C 644B 6453 6460 6450 647F 643F 646C 646B 6459
+6465 6477 6573 65A0 66A1 66A0 669F 6705 6704 6722
+69B1 69B6 69C9 69A0 69CE 6996 69B0 69AC 69BC 6991
+6999 698E 69A7 698D 69A9 69BE 69AF 69BF 69C4 69BD
+69A4 69D4 69B9 69CA 699A 69CF 69B3 6993 69AA 69A1
+699E 69D9 6997 6990 69C2 69B5 69A5 69C6 6B4A 6B4D
+6B4B 6B9E 6B9F 6BA0 6BC3 6BC4 6BFE 6ECE 6EF5 6EF1
+6F03 6F25 6EF8 6F37 6EFB 6F2E 6F09 6F4E 6F19 6F1A
+6F27 6F18 6F3B 6F12 6EED 6F0A 6F36 6F73 6EF9 6EEE
+6F2D 6F40 6F30 6F3C 6F35 6EEB 6F07 6F0E 6F43 6F05
+6EFD 6EF6 6F39 6F1C 6EFC 6F3A 6F1F 6F0D 6F1E 6F08
+6F21 7187 7190 7189 7180 7185 7182 718F 717B 7186
+7181 7197 7244 7253 7297 7295 7293 7343 734D 7351
+734C 7462 7473 7471 7475 7472 7467 746E 7500 7502
+7503 757D 7590 7616 7608 760C 7615 7611 760A 7614
+76B8 7781 777C 7785 7782 776E 7780 776F 777E 7783
+78B2 78AA 78B4 78AD 78A8 787E 78AB 789E 78A5 78A0
+78AC 78A2 78A4 7998 798A 798B 7996 7995 7994 7993
+7997 7988 7992 7990 7A2B 7A4A 7A30 7A2F 7A28 7A26
+7AA8 7AAB 7AAC 7AEE 7B88 7B9C 7B8A 7B91 7B90 7B96
+7B8D 7B8C 7B9B 7B8E 7B85 7B98 5284 7B99 7BA4 7B82
+7CBB 7CBF 7CBC 7CBA 7DA7 7DB7 7DC2 7DA3 7DAA 7DC1
+7DC0 7DC5 7D9D 7DCE 7DC4 7DC6 7DCB 7DCC 7DAF 7DB9
+7D96 7DBC 7D9F 7DA6 7DAE 7DA9 7DA1 7DC9 7F73 7FE2
+7FE3 7FE5 7FDE 8024 805D 805C 8189 8186 8183 8187
+818D 818C 818B 8215 8497 84A4 84A1 849F 84BA 84CE
+84C2 84AC 84AE 84AB 84B9 84B4 84C1 84CD 84AA 849A
+84B1 84D0 849D 84A7 84BB 84A2 8494 84C7 84CC 849B
+84A9 84AF 84A8 84D6 8498 84B6 84CF 84A0 84D7 84D4
+84D2 84DB 84B0 8491 8661 8733 8723 8728 876B 8740
+872E 871E 8721 8719 871B 8743 872C 8741 873E 8746
+8720 8732 872A 872D 873C 8712 873A 8731 8735 8742
+8726 8727 8738 8724 871A 8730 8711 88F7 88E7 88F1
+88F2 88FA 88FE 88EE 88FC 88F6 88FB 88F0 88EC 88EB
+899D 89A1 899F 899E 89E9 89EB 89E8 8AAB 8A99 8A8B
+8A92 8A8F 8A96 8C3D 8C68 8C69 8CD5 8CCF 8CD7 8D96
+8E09 8E02 8DFF 8E0D 8DFD 8E0A 8E03 8E07 8E06 8E05
+8DFE 8E00 8E04 8F10 8F11 8F0E 8F0D 9123 911C 9120
+9122 911F 911D 911A 9124 9121 911B 917A 9172 9179
+9173 92A5 92A4 9276 929B 927A 92A0 9294 92AA 928D
+92A6 929A 92AB 9279 9297 927F 92A3 92EE 928E 9282
+9295 92A2 927D 9288 92A1 928A 9286 928C 9299 92A7
+927E 9287 92A9 929D 928B 922D 969E 96A1 96FF 9758
+977D 977A 977E 9783 9780 9782 977B 9784 9781 977F
+97CE 97CD 9816 98AD 98AE 9902 9900 9907 999D 999C
+99C3 99B9 99BB 99BA 99C2 99BD 99C7 9AB1 9AE3 9AE7
+9B3E 9B3F 9B60 9B61 9B5F 9CF1 9CF2 9CF5 9EA7 50FF
+5103 5130 50F8 5106 5107 50F6 50FE 510B 510C 50FD
+510A 528B 528C 52F1 52EF 5648 5642 564C 5635 5641
+564A 5649 5646 5658 565A 5640 5633 563D 562C 563E
+5638 562A 563A 571A 58AB 589D 58B1 58A0 58A3 58AF
+58AC 58A5 58A1 58FF 5AFF 5AF4 5AFD 5AF7 5AF6 5B03
+5AF8 5B02 5AF9 5B01 5B07 5B05 5B0F 5C67 5D99 5D97
+5D9F 5D92 5DA2 5D93 5D95 5DA0 5D9C 5DA1 5D9A 5D9E
+5E69 5E5D 5E60 5E5C 7DF3 5EDB 5EDE 5EE1 5F49 5FB2
+618B 6183 6179 61B1 61B0 61A2 6189 619B 6193 61AF
+61AD 619F 6192 61AA 61A1 618D 6166 61B3 622D 646E
+6470 6496 64A0 6485 6497 649C 648F 648B 648A 648C
+64A3 649F 6468 64B1 6498 6576 657A 6579 657B 65B2
+65B3 66B5 66B0 66A9 66B2 66B7 66AA 66AF 6A00 6A06
+6A17 69E5 69F8 6A15 69F1 69E4 6A20 69FF 69EC 69E2
+6A1B 6A1D 69FE 6A27 69F2 69EE 6A14 69F7 69E7 6A40
+6A08 69E6 69FB 6A0D 69FC 69EB 6A09 6A04 6A18 6A25
+6A0F 69F6 6A26 6A07 69F4 6A16 6B51 6BA5 6BA3 6BA2
+6BA6 6C01 6C00 6BFF 6C02 6F41 6F26 6F7E 6F87 6FC6
+6F92 6F8D 6F89 6F8C 6F62 6F4F 6F85 6F5A 6F96 6F76
+6F6C 6F82 6F55 6F72 6F52 6F50 6F57 6F94 6F93 6F5D
+6F00 6F61 6F6B 6F7D 6F67 6F90 6F53 6F8B 6F69 6F7F
+6F95 6F63 6F77 6F6A 6F7B 71B2 71AF 719B 71B0 71A0
+719A 71A9 71B5 719D 71A5 719E 71A4 71A1 71AA 719C
+71A7 71B3 7298 729A 7358 7352 735E 735F 7360 735D
+735B 7361 735A 7359 7362 7487 7489 748A 7486 7481
+747D 7485 7488 747C 7479 7508 7507 757E 7625 761E
+7619 761D 761C 7623 761A 7628 761B 769C 769D 769E
+769B 778D 778F 7789 7788 78CD 78BB 78CF 78CC 78D1
+78CE 78D4 78C8 78C3 78C4 78C9 799A 79A1 79A0 799C
+79A2 799B 6B76 7A39 7AB2 7AB4 7AB3 7BB7 7BCB 7BBE
+7BAC 7BCE 7BAF 7BB9 7BCA 7BB5 7CC5 7CC8 7CCC 7CCB
+7DF7 7DDB 7DEA 7DE7 7DD7 7DE1 7E03 7DFA 7DE6 7DF6
+7DF1 7DF0 7DEE 7DDF 7F76 7FAC 7FB0 7FAD 7FED 7FEB
+7FEA 7FEC 7FE6 7FE8 8064 8067 81A3 819F 819E 8195
+81A2 8199 8197 8216 824F 8253 8252 8250 824E 8251
+8524 853B 850F 8500 8529 850E 8509 850D 851F 850A
+8527 851C 84FB 852B 84FA 8508 850C 84F4 852A 84F2
+8515 84F7 84EB 84F3 84FC 8512 84EA 84E9 8516 84FE
+8528 851D 852E 8502 84FD 851E 84F6 8531 8526 84E7
+84E8 84F0 84EF 84F9 8518 8520 8530 850B 8519 852F
+8662 8756 8763 8764 8777 87E1 8773 8758 8754 875B
+8752 8761 875A 8751 875E 876D 876A 8750 874E 875F
+875D 876F 876C 877A 876E 875C 8765 874F 877B 8775
+8762 8767 8769 885A 8905 890C 8914 890B 8917 8918
+8919 8906 8916 8911 890E 8909 89A2 89A4 89A3 89ED
+89F0 89EC 8ACF 8AC6 8AB8 8AD3 8AD1 8AD4 8AD5 8ABB
+8AD7 8ABE 8AC0 8AC5 8AD8 8AC3 8ABA 8ABD 8AD9 8C3E
+8C4D 8C8F 8CE5 8CDF 8CD9 8CE8 8CDA 8CDD 8CE7 8DA0
+8D9C 8DA1 8D9B 8E20 8E23 8E25 8E24 8E2E 8E15 8E1B
+8E16 8E11 8E19 8E26 8E27 8E14 8E12 8E18 8E13 8E1C
+8E17 8E1A 8F2C 8F24 8F18 8F1A 8F20 8F23 8F16 8F17
+9073 9070 906F 9067 906B 912F 912B 9129 912A 9132
+9126 912E 9185 9186 918A 9181 9182 9184 9180 92D0
+92C3 92C4 92C0 92D9 92B6 92CF 92F1 92DF 92D8 92E9
+92D7 92DD 92CC 92EF 92C2 92E8 92CA 92C8 92CE 92E6
+92CD 92D5 92C9 92E0 92DE 92E7 92D1 92D3 92B5 92E1
+92C6 92B4 957C 95AC 95AB 95AE 95B0 96A4 96A2 96D3
+9705 9708 9702 975A 978A 978E 9788 97D0 97CF 981E
+981D 9826 9829 9828 9820 981B 9827 98B2 9908 98FA
+9911 9914 9916 9917 9915 99DC 99CD 99CF 99D3 99D4
+99CE 99C9 99D6 99D8 99CB 99D7 99CC 9AB3 9AEC 9AEB
+9AF3 9AF2 9AF1 9B46 9B43 9B67 9B74 9B71 9B66 9B76
+9B75 9B70 9B68 9B64 9B6C 9CFC 9CFA 9CFD 9CFF 9CF7
+9D07 9D00 9CF9 9CFB 9D08 9D05 9D04 9E83 9ED3 9F0F
+9F10 511C 5113 5117 511A 5111 51DE 5334 53E1 5670
+5660 566E 5673 5666 5663 566D 5672 565E 5677 571C
+571B 58C8 58BD 58C9 58BF 58BA 58C2 58BC 58C6 5B17
+5B19 5B1B 5B21 5B14 5B13 5B10 5B16 5B28 5B1A 5B20
+5B1E 5BEF 5DAC 5DB1 5DA9 5DA7 5DB5 5DB0 5DAE 5DAA
+5DA8 5DB2 5DAD 5DAF 5DB4 5E67 5E68 5E66 5E6F 5EE9
+5EE7 5EE6 5EE8 5EE5 5F4B 5FBC 619D 61A8 6196 61C5
+61B4 61C6 61C1 61CC 61BA 61BF 61B8 618C 64D7 64D6
+64D0 64CF 64C9 64BD 6489 64C3 64DB 64F3 64D9 6533
+657F 657C 65A2 66C8 66BE 66C0 66CA 66CB 66CF 66BD
+66BB 66BA 66CC 6723 6A34 6A66 6A49 6A67 6A32 6A68
+6A3E 6A5D 6A6D 6A76 6A5B 6A51 6A28 6A5A 6A3B 6A3F
+6A41 6A6A 6A64 6A50 6A4F 6A54 6A6F 6A69 6A60 6A3C
+6A5E 6A56 6A55 6A4D 6A4E 6A46 6B55 6B54 6B56 6BA7
+6BAA 6BAB 6BC8 6BC7 6C04 6C03 6C06 6FAD 6FCB 6FA3
+6FC7 6FBC 6FCE 6FC8 6F5E 6FC4 6FBD 6F9E 6FCA 6FA8
+7004 6FA5 6FAE 6FBA 6FAC 6FAA 6FCF 6FBF 6FB8 6FA2
+6FC9 6FAB 6FCD 6FAF 6FB2 6FB0 71C5 71C2 71BF 71B8
+71D6 71C0 71C1 71CB 71D4 71CA 71C7 71CF 71BD 71D8
+71BC 71C6 71DA 71DB 729D 729E 7369 7366 7367 736C
+7365 736B 736A 747F 749A 74A0 7494 7492 7495 74A1
+750B 7580 762F 762D 7631 763D 7633 763C 7635 7632
+7630 76BB 76E6 779A 779D 77A1 779C 779B 77A2 77A3
+7795 7799 7797 78DD 78E9 78E5 78EA 78DE 78E3 78DB
+78E1 78E2 78ED 78DF 78E0 79A4 7A44 7A48 7A47 7AB6
+7AB8 7AB5 7AB1 7AB7 7BDE 7BE3 7BE7 7BDD 7BD5 7BE5
+7BDA 7BE8 7BF9 7BD4 7BEA 7BE2 7BDC 7BEB 7BD8 7BDF
+7CD2 7CD4 7CD7 7CD0 7CD1 7E12 7E21 7E17 7E0C 7E1F
+7E20 7E13 7E0E 7E1C 7E15 7E1A 7E22 7E0B 7E0F 7E16
+7E0D 7E14 7E25 7E24 7F43 7F7B 7F7C 7F7A 7FB1 7FEF
+802A 8029 806C 81B1 81A6 81AE 81B9 81B5 81AB 81B0
+81AC 81B4 81B2 81B7 81A7 81F2 8255 8256 8257 8556
+8545 856B 854D 8553 8561 8558 8540 8546 8564 8541
+8562 8544 8551 8547 8563 853E 855B 8571 854E 856E
+8575 8555 8567 8560 858C 8566 855D 8554 8565 856C
+8663 8665 8664 879B 878F 8797 8793 8792 8788 8781
+8796 8798 8779 8787 87A3 8785 8790 8791 879D 8784
+8794 879C 879A 8789 891E 8926 8930 892D 892E 8927
+8931 8922 8929 8923 892F 892C 891F 89F1 8AE0 8AE2
+8AF2 8AF4 8AF5 8ADD 8B14 8AE4 8ADF 8AF0 8AC8 8ADE
+8AE1 8AE8 8AFF 8AEF 8AFB 8C91 8C92 8C90 8CF5 8CEE
+8CF1 8CF0 8CF3 8D6C 8D6E 8DA5 8DA7 8E33 8E3E 8E38
+8E40 8E45 8E36 8E3C 8E3D 8E41 8E30 8E3F 8EBD 8F36
+8F2E 8F35 8F32 8F39 8F37 8F34 9076 9079 907B 9086
+90FA 9133 9135 9136 9193 9190 9191 918D 918F 9327
+931E 9308 931F 9306 930F 937A 9338 933C 931B 9323
+9312 9301 9346 932D 930E 930D 92CB 931D 92FA 9325
+9313 92F9 92F7 9334 9302 9324 92FF 9329 9339 9335
+932A 9314 930C 930B 92FE 9309 9300 92FB 9316 95BC
+95CD 95BE 95B9 95BA 95B6 95BF 95B5 95BD 96A9 96D4
+970B 9712 9710 9799 9797 9794 97F0 97F8 9835 982F
+9832 9924 991F 9927 9929 999E 99EE 99EC 99E5 99E4
+99F0 99E3 99EA 99E9 99E7 9AB9 9ABF 9AB4 9ABB 9AF6
+9AFA 9AF9 9AF7 9B33 9B80 9B85 9B87 9B7C 9B7E 9B7B
+9B82 9B93 9B92 9B90 9B7A 9B95 9B7D 9B88 9D25 9D17
+9D20 9D1E 9D14 9D29 9D1D 9D18 9D22 9D10 9D19 9D1F
+9E88 9E86 9E87 9EAE 9EAD 9ED5 9ED6 9EFA 9F12 9F3D
+5126 5125 5122 5124 5120 5129 52F4 5693 568C 568D
+5686 5684 5683 567E 5682 567F 5681 58D6 58D4 58CF
+58D2 5B2D 5B25 5B32 5B23 5B2C 5B27 5B26 5B2F 5B2E
+5B7B 5BF1 5BF2 5DB7 5E6C 5E6A 5FBE 5FBB 61C3 61B5
+61BC 61E7 61E0 61E5 61E4 61E8 61DE 64EF 64E9 64E3
+64EB 64E4 64E8 6581 6580 65B6 65DA 66D2 6A8D 6A96
+6A81 6AA5 6A89 6A9F 6A9B 6AA1 6A9E 6A87 6A93 6A8E
+6A95 6A83 6AA8 6AA4 6A91 6A7F 6AA6 6A9A 6A85 6A8C
+6A92 6B5B 6BAD 6C09 6FCC 6FA9 6FF4 6FD4 6FE3 6FDC
+6FED 6FE7 6FE6 6FDE 6FF2 6FDD 6FE2 6FE8 71E1 71F1
+71E8 71F2 71E4 71F0 71E2 7373 736E 736F 7497 74B2
+74AB 7490 74AA 74AD 74B1 74A5 74AF 7510 7511 7512
+750F 7584 7643 7648 7649 7647 76A4 76E9 77B5 77AB
+77B2 77B7 77B6 77B4 77B1 77A8 77F0 78F3 78FD 7902
+78FB 78FC 78F2 7905 78F9 78FE 7904 79AB 79A8 7A5C
+7A5B 7A56 7A58 7A54 7A5A 7ABE 7AC0 7AC1 7C05 7C0F
+7BF2 7C00 7BFF 7BFB 7C0E 7BF4 7C0B 7BF3 7C02 7C09
+7C03 7C01 7BF8 7BFD 7C06 7BF0 7BF1 7C10 7C0A 7CE8
+7E2D 7E3C 7E42 7E33 9848 7E38 7E2A 7E49 7E40 7E47
+7E29 7E4C 7E30 7E3B 7E36 7E44 7E3A 7F45 7F7F 7F7E
+7F7D 7FF4 7FF2 802C 81BB 81C4 81CC 81CA 81C5 81C7
+81BC 81E9 825B 825A 825C 8583 8580 858F 85A7 8595
+85A0 858B 85A3 857B 85A4 859A 859E 8577 857C 8589
+85A1 857A 8578 8557 858E 8596 8586 858D 8599 859D
+8581 85A2 8582 8588 8585 8579 8576 8598 8590 859F
+8668 87BE 87AA 87AD 87C5 87B0 87AC 87B9 87B5 87BC
+87AE 87C9 87C3 87C2 87CC 87B7 87AF 87C4 87CA 87B4
+87B6 87BF 87B8 87BD 87DE 87B2 8935 8933 893C 893E
+8941 8952 8937 8942 89AD 89AF 89AE 89F2 89F3 8B1E
+8B18 8B16 8B11 8B05 8B0B 8B22 8B0F 8B12 8B15 8B07
+8B0D 8B08 8B06 8B1C 8B13 8B1A 8C4F 8C70 8C72 8C71
+8C6F 8C95 8C94 8CF9 8D6F 8E4E 8E4D 8E53 8E50 8E4C
+8E47 8F43 8F40 9085 907E 9138 919A 91A2 919B 9199
+919F 91A1 919D 91A0 93A1 9383 93AF 9364 9356 9347
+937C 9358 935C 9376 9349 9350 9351 9360 936D 938F
+934C 936A 9379 9357 9355 9352 934F 9371 9377 937B
+9361 935E 9363 9367 9380 934E 9359 95C7 95C0 95C9
+95C3 95C5 95B7 96AE 96B0 96AC 9720 971F 9718 971D
+9719 979A 97A1 979C 979E 979D 97D5 97D4 97F1 9841
+9844 984A 9849 9845 9843 9925 992B 992C 992A 9933
+9932 992F 992D 9931 9930 9998 99A3 99A1 9A02 99FA
+99F4 99F7 99F9 99F8 99F6 99FB 99FD 99FE 99FC 9A03
+9ABE 9AFE 9AFD 9B01 9AFC 9B48 9B9A 9BA8 9B9E 9B9B
+9BA6 9BA1 9BA5 9BA4 9B86 9BA2 9BA0 9BAF 9D33 9D41
+9D67 9D36 9D2E 9D2F 9D31 9D38 9D30 9D45 9D42 9D43
+9D3E 9D37 9D40 9D3D 7FF5 9D2D 9E8A 9E89 9E8D 9EB0
+9EC8 9EDA 9EFB 9EFF 9F24 9F23 9F22 9F54 9FA0 5131
+512D 512E 5698 569C 5697 569A 569D 5699 5970 5B3C
+5C69 5C6A 5DC0 5E6D 5E6E 61D8 61DF 61ED 61EE 61F1
+61EA 61F0 61EB 61D6 61E9 64FF 6504 64FD 64F8 6501
+6503 64FC 6594 65DB 66DA 66DB 66D8 6AC5 6AB9 6ABD
+6AE1 6AC6 6ABA 6AB6 6AB7 6AC7 6AB4 6AAD 6B5E 6BC9
+6C0B 7007 700C 700D 7001 7005 7014 700E 6FFF 7000
+6FFB 7026 6FFC 6FF7 700A 7201 71FF 71F9 7203 71FD
+7376 74B8 74C0 74B5 74C1 74BE 74B6 74BB 74C2 7514
+7513 765C 7664 7659 7650 7653 7657 765A 76A6 76BD
+76EC 77C2 77BA 78FF 790C 7913 7914 7909 7910 7912
+7911 79AD 79AC 7A5F 7C1C 7C29 7C19 7C20 7C1F 7C2D
+7C1D 7C26 7C28 7C22 7C25 7C30 7E5C 7E50 7E56 7E63
+7E58 7E62 7E5F 7E51 7E60 7E57 7E53 7FB5 7FB3 7FF7
+7FF8 8075 81D1 81D2 81D0 825F 825E 85B4 85C6 85C0
+85C3 85C2 85B3 85B5 85BD 85C7 85C4 85BF 85CB 85CE
+85C8 85C5 85B1 85B6 85D2 8624 85B8 85B7 85BE 8669
+87E7 87E6 87E2 87DB 87EB 87EA 87E5 87DF 87F3 87E4
+87D4 87DC 87D3 87ED 87D8 87E3 87A4 87D7 87D9 8801
+87F4 87E8 87DD 8953 894B 894F 894C 8946 8950 8951
+8949 8B2A 8B27 8B23 8B33 8B30 8B35 8B47 8B2F 8B3C
+8B3E 8B31 8B25 8B37 8B26 8B36 8B2E 8B24 8B3B 8B3D
+8B3A 8C42 8C75 8C99 8C98 8C97 8CFE 8D04 8D02 8D00
+8E5C 8E62 8E60 8E57 8E56 8E5E 8E65 8E67 8E5B 8E5A
+8E61 8E5D 8E69 8E54 8F46 8F47 8F48 8F4B 9128 913A
+913B 913E 91A8 91A5 91A7 91AF 91AA 93B5 938C 9392
+93B7 939B 939D 9389 93A7 938E 93AA 939E 93A6 9395
+9388 9399 939F 938D 93B1 9391 93B2 93A4 93A8 93B4
+93A3 93A5 95D2 95D3 95D1 96B3 96D7 96DA 5DC2 96DF
+96D8 96DD 9723 9722 9725 97AC 97AE 97A8 97AB 97A4
+97AA 97A2 97A5 97D7 97D9 97D6 97D8 97FA 9850 9851
+9852 98B8 9941 993C 993A 9A0F 9A0B 9A09 9A0D 9A04
+9A11 9A0A 9A05 9A07 9A06 9AC0 9ADC 9B08 9B04 9B05
+9B29 9B35 9B4A 9B4C 9B4B 9BC7 9BC6 9BC3 9BBF 9BC1
+9BB5 9BB8 9BD3 9BB6 9BC4 9BB9 9BBD 9D5C 9D53 9D4F
+9D4A 9D5B 9D4B 9D59 9D56 9D4C 9D57 9D52 9D54 9D5F
+9D58 9D5A 9E8E 9E8C 9EDF 9F01 9F00 9F16 9F25 9F2B
+9F2A 9F29 9F28 9F4C 9F55 5134 5135 5296 52F7 53B4
+56AB 56AD 56A6 56A7 56AA 56AC 58DA 58DD 58DB 5912
+5B3D 5B3E 5B3F 5DC3 5E70 5FBF 61FB 6507 6510 650D
+6509 650C 650E 6584 65DE 65DD 66DE 6AE7 6AE0 6ACC
+6AD1 6AD9 6ACB 6ADF 6ADC 6AD0 6AEB 6ACF 6ACD 6ADE
+6B60 6BB0 6C0C 7019 7027 7020 7016 702B 7021 7022
+7023 7029 7017 7024 701C 702A 720C 720A 7207 7202
+7205 72A5 72A6 72A4 72A3 72A1 74CB 74C5 74B7 74C3
+7516 7660 77C9 77CA 77C4 77F1 791D 791B 7921 791C
+7917 791E 79B0 7A67 7A68 7C33 7C3C 7C39 7C2C 7C3B
+7CEC 7CEA 7E76 7E75 7E78 7E70 7E77 7E6F 7E7A 7E72
+7E74 7E68 7F4B 7F4A 7F83 7F86 7FB7 7FFD 7FFE 8078
+81D7 81D5 8264 8261 8263 85EB 85F1 85ED 85D9 85E1
+85E8 85DA 85D7 85EC 85F2 85F8 85D8 85DF 85E3 85DC
+85D1 85F0 85E6 85EF 85DE 85E2 8800 87FA 8803 87F6
+87F7 8809 880C 880B 8806 87FC 8808 87FF 880A 8802
+8962 895A 895B 8957 8961 895C 8958 895D 8959 8988
+89B7 89B6 89F6 8B50 8B48 8B4A 8B40 8B53 8B56 8B54
+8B4B 8B55 8B51 8B42 8B52 8B57 8C43 8C77 8C76 8C9A
+8D06 8D07 8D09 8DAC 8DAA 8DAD 8DAB 8E6D 8E78 8E73
+8E6A 8E6F 8E7B 8EC2 8F52 8F51 8F4F 8F50 8F53 8FB4
+9140 913F 91B0 91AD 93DE 93C7 93CF 93C2 93DA 93D0
+93F9 93EC 93CC 93D9 93A9 93E6 93CA 93D4 93EE 93E3
+93D5 93C4 93CE 93C0 93D2 93E7 957D 95DA 95DB 96E1
+9729 972B 972C 9728 9726 97B3 97B7 97B6 97DD 97DE
+97DF 985C 9859 985D 9857 98BF 98BD 98BB 98BE 9948
+9947 9943 99A6 99A7 9A1A 9A15 9A25 9A1D 9A24 9A1B
+9A22 9A20 9A27 9A23 9A1E 9A1C 9A14 9AC2 9B0B 9B0A
+9B0E 9B0C 9B37 9BEA 9BEB 9BE0 9BDE 9BE4 9BE6 9BE2
+9BF0 9BD4 9BD7 9BEC 9BDC 9BD9 9BE5 9BD5 9BE1 9BDA
+9D77 9D81 9D8A 9D84 9D88 9D71 9D80 9D78 9D86 9D8B
+9D8C 9D7D 9D6B 9D74 9D75 9D70 9D69 9D85 9D73 9D7B
+9D82 9D6F 9D79 9D7F 9D87 9D68 9E94 9E91 9EC0 9EFC
+9F2D 9F40 9F41 9F4D 9F56 9F57 9F58 5337 56B2 56B5
+56B3 58E3 5B45 5DC6 5DC7 5EEE 5EEF 5FC0 5FC1 61F9
+6517 6516 6515 6513 65DF 66E8 66E3 66E4 6AF3 6AF0
+6AEA 6AE8 6AF9 6AF1 6AEE 6AEF 703C 7035 702F 7037
+7034 7031 7042 7038 703F 703A 7039 7040 703B 7033
+7041 7213 7214 72A8 737D 737C 74BA 76AB 76AA 76BE
+76ED 77CC 77CE 77CF 77CD 77F2 7925 7923 7927 7928
+7924 7929 79B2 7A6E 7A6C 7A6D 7AF7 7C49 7C48 7C4A
+7C47 7C45 7CEE 7E7B 7E7E 7E81 7E80 7FBA 7FFF 8079
+81DB 81D9 820B 8268 8269 8622 85FF 8601 85FE 861B
+8600 85F6 8604 8609 8605 860C 85FD 8819 8810 8811
+8817 8813 8816 8963 8966 89B9 89F7 8B60 8B6A 8B5D
+8B68 8B63 8B65 8B67 8B6D 8DAE 8E86 8E88 8E84 8F59
+8F56 8F57 8F55 8F58 8F5A 908D 9143 9141 91B7 91B5
+91B2 91B3 940B 9413 93FB 9420 940F 9414 93FE 9415
+9410 9428 9419 940D 93F5 9400 93F7 9407 940E 9416
+9412 93FA 9409 93F8 940A 93FF 93FC 940C 93F6 9411
+9406 95DE 95E0 95DF 972E 972F 97B9 97BB 97FD 97FE
+9860 9862 9863 985F 98C1 98C2 9950 994E 9959 994C
+994B 9953 9A32 9A34 9A31 9A2C 9A2A 9A36 9A29 9A2E
+9A38 9A2D 9AC7 9ACA 9AC6 9B10 9B12 9B11 9C0B 9C08
+9BF7 9C05 9C12 9BF8 9C40 9C07 9C0E 9C06 9C17 9C14
+9C09 9D9F 9D99 9DA4 9D9D 9D92 9D98 9D90 9D9B 9DA0
+9D94 9D9C 9DAA 9D97 9DA1 9D9A 9DA2 9DA8 9D9E 9DA3
+9DBF 9DA9 9D96 9DA6 9DA7 9E99 9E9B 9E9A 9EE5 9EE4
+9EE7 9EE6 9F30 9F2E 9F5B 9F60 9F5E 9F5D 9F59 9F91
+513A 5139 5298 5297 56C3 56BD 56BE 5B48 5B47 5DCB
+5DCF 5EF1 61FD 651B 6B02 6AFC 6B03 6AF8 6B00 7043
+7044 704A 7048 7049 7045 7046 721D 721A 7219 737E
+7517 766A 77D0 792D 7931 792F 7C54 7C53 7CF2 7E8A
+7E87 7E88 7E8B 7E86 7E8D 7F4D 7FBB 8030 81DD 8618
+862A 8626 861F 8623 861C 8619 8627 862E 8621 8620
+8629 861E 8625 8829 881D 881B 8820 8824 881C 882B
+884A 896D 8969 896E 896B 89FA 8B79 8B78 8B45 8B7A
+8B7B 8D10 8D14 8DAF 8E8E 8E8C 8F5E 8F5B 8F5D 9146
+9144 9145 91B9 943F 943B 9436 9429 943D 943C 9430
+9439 942A 9437 942C 9440 9431 95E5 95E4 95E3 9735
+973A 97BF 97E1 9864 98C9 98C6 98C0 9958 9956 9A39
+9A3D 9A46 9A44 9A42 9A41 9A3A 9A3F 9ACD 9B15 9B17
+9B18 9B16 9B3A 9B52 9C2B 9C1D 9C1C 9C2C 9C23 9C28
+9C29 9C24 9C21 9DB7 9DB6 9DBC 9DC1 9DC7 9DCA 9DCF
+9DBE 9DC5 9DC3 9DBB 9DB5 9DCE 9DB9 9DBA 9DAC 9DC8
+9DB1 9DAD 9DCC 9DB3 9DCD 9DB2 9E7A 9E9C 9EEB 9EEE
+9EED 9F1B 9F18 9F1A 9F31 9F4E 9F65 9F64 9F92 4EB9
+56C6 56C5 56CB 5971 5B4B 5B4C 5DD5 5DD1 5EF2 6521
+6520 6526 6522 6B0B 6B08 6B09 6C0D 7055 7056 7057
+7052 721E 721F 72A9 737F 74D8 74D5 74D9 74D7 766D
+76AD 7935 79B4 7A70 7A71 7C57 7C5C 7C59 7C5B 7C5A
+7CF4 7CF1 7E91 7F4F 7F87 81DE 826B 8634 8635 8633
+862C 8632 8636 882C 8828 8826 882A 8825 8971 89BF
+89BE 89FB 8B7E 8B84 8B82 8B86 8B85 8B7F 8D15 8E95
+8E94 8E9A 8E92 8E90 8E96 8E97 8F60 8F62 9147 944C
+9450 944A 944B 944F 9447 9445 9448 9449 9446 973F
+97E3 986A 9869 98CB 9954 995B 9A4E 9A53 9A54 9A4C
+9A4F 9A48 9A4A 9A49 9A52 9A50 9AD0 9B19 9B2B 9B3B
+9B56 9B55 9C46 9C48 9C3F 9C44 9C39 9C33 9C41 9C3C
+9C37 9C34 9C32 9C3D 9C36 9DDB 9DD2 9DDE 9DDA 9DCB
+9DD0 9DDC 9DD1 9DDF 9DE9 9DD9 9DD8 9DD6 9DF5 9DD5
+9DDD 9EB6 9EF0 9F35 9F33 9F32 9F42 9F6B 9F95 9FA2
+513D 5299 58E8 58E7 5972 5B4D 5DD8 882F 5F4F 6201
+6203 6204 6529 6525 6596 66EB 6B11 6B12 6B0F 6BCA
+705B 705A 7222 7382 7381 7383 7670 77D4 7C67 7C66
+7E95 826C 863A 8640 8639 863C 8631 863B 863E 8830
+8832 882E 8833 8976 8974 8973 89FE 8B8C 8B8E 8B8B
+8B88 8C45 8D19 8E98 8F64 8F63 91BC 9462 9455 945D
+9457 945E 97C4 97C5 9800 9A56 9A59 9B1E 9B1F 9B20
+9C52 9C58 9C50 9C4A 9C4D 9C4B 9C55 9C59 9C4C 9C4E
+9DFB 9DF7 9DEF 9DE3 9DEB 9DF8 9DE4 9DF6 9DE1 9DEE
+9DE6 9DF2 9DF0 9DE2 9DEC 9DF4 9DF3 9DE8 9DED 9EC2
+9ED0 9EF2 9EF3 9F06 9F1C 9F38 9F37 9F36 9F43 9F4F
+9F71 9F70 9F6E 9F6F 56D3 56CD 5B4E 5C6D 652D 66ED
+66EE 6B13 705F 7061 705D 7060 7223 74DB 74E5 77D5
+7938 79B7 79B6 7C6A 7E97 7F89 826D 8643 8838 8837
+8835 884B 8B94 8B95 8E9E 8E9F 8EA0 8E9D 91BE 91BD
+91C2 946B 9468 9469 96E5 9746 9743 9747 97C7 97E5
+9A5E 9AD5 9B59 9C63 9C67 9C66 9C62 9C5E 9C60 9E02
+9DFE 9E07 9E03 9E06 9E05 9E00 9E01 9E09 9DFF 9DFD
+9E04 9EA0 9F1E 9F46 9F74 9F75 9F76 56D4 652E 65B8
+6B18 6B19 6B17 6B1A 7062 7226 72AA 77D8 77D9 7939
+7C69 7C6B 7CF6 7E9A 7E98 7E9B 7E99 81E0 81E1 8646
+8647 8648 8979 897A 897C 897B 89FF 8B98 8B99 8EA5
+8EA4 8EA3 946E 946D 946F 9471 9473 9749 9872 995F
+9C68 9C6E 9C6D 9E0B 9E0D 9E10 9E0F 9E12 9E11 9EA1
+9EF5 9F09 9F47 9F78 9F7B 9F7A 9F79 571E 7066 7C6F
+883C 8DB2 8EA6 91C3 9474 9478 9476 9475 9A60 9C74
+9C73 9C71 9C75 9E14 9E13 9EF6 9F0A 9FA4 7068 7065
+7CF7 866A 883E 883D 883F 8B9E 8C9C 8EA9 8EC9 974B
+9873 9874 98CC 9961 99AB 9A64 9A66 9A67 9B24 9E15
+9E17 9F48 6207 6B1E 7227 864C 8EA8 9482 9480 9481
+9A69 9A68 9B2E 9E19 7229 864B 8B9F 9483 9C79 9EB7
+7675 9A6B 9C7A 9E1D 7069 706A 9EA4 9F7E 9F49 9F98
+__END__
+
+=head1 NAME
+
+Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate;
+ use Unicode::Collate::CJK::Big5;
+
+ my $collator = Unicode::Collate->new(
+ overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5
+ );
+
+=head1 DESCRIPTION
+
+C<Unicode::Collate::CJK::Big5> provides C<weightBig5()>,
+that is adequate for C<overrideCJK> of C<Unicode::Collate>
+and makes tailoring of CJK Unified Ideographs in the order
+of CLDR's big5han ordering.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item CLDR - Unicode Common Locale Data Repository
+
+L<http://cldr.unicode.org/>
+
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Collate::Locale>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/GB2312.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/GB2312.pm
new file mode 100644
index 00000000000..18b4cdeff80
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/GB2312.pm
@@ -0,0 +1,752 @@
+package Unicode::Collate::CJK::GB2312;
+
+use 5.006;
+use strict;
+
+our $VERSION = '0.65';
+
+my %u2p;
+my $wt = 0x8000;
+
+while (<DATA>) {
+ last if /^__END__/;
+ my @c = split;
+ for my $c (@c) {
+ next if !$c;
+ $u2p{hex($c)} = $wt;
+ $wt++;
+ }
+}
+
+sub weightGB2312 {
+ my $u = shift;
+ return exists $u2p{$u} ? $u2p{$u} : undef;
+}
+
+1;
+__DATA__
+554A 963F 57C3 6328 54CE 5509 54C0 7691 764C 853C
+77EE 827E 788D 7231 9698 978D 6C28 5B89 4FFA 6309
+6697 5CB8 80FA 6848 80AE 6602 76CE 51F9 6556 71AC
+7FF1 8884 50B2 5965 61CA 6FB3 82AD 634C 6252 53ED
+5427 7B06 516B 75A4 5DF4 62D4 8DCB 9776 628A 8019
+575D 9738 7F62 7238 767D 67CF 767E 6446 4F70 8D25
+62DC 7A17 6591 73ED 642C 6273 822C 9881 677F 7248
+626E 62CC 4F34 74E3 534A 529E 7ECA 90A6 5E2E 6886
+699C 8180 7ED1 68D2 78C5 868C 9551 508D 8C24 82DE
+80DE 5305 8912 5265 8584 96F9 4FDD 5821 9971 5B9D
+62B1 62A5 66B4 8C79 9C8D 7206 676F 7891 60B2 5351
+5317 8F88 80CC 8D1D 94A1 500D 72C8 5907 60EB 7119
+88AB 5954 82EF 672C 7B28 5D29 7EF7 752D 6CF5 8E66
+8FF8 903C 9F3B 6BD4 9119 7B14 5F7C 78A7 84D6 853D
+6BD5 6BD9 6BD6 5E01 5E87 75F9 95ED 655D 5F0A 5FC5
+8F9F 58C1 81C2 907F 965B 97AD 8FB9 7F16 8D2C 6241
+4FBF 53D8 535E 8FA8 8FA9 8FAB 904D 6807 5F6A 8198
+8868 9CD6 618B 522B 762A 5F6C 658C 6FD2 6EE8 5BBE
+6448 5175 51B0 67C4 4E19 79C9 997C 70B3 75C5 5E76
+73BB 83E0 64AD 62E8 94B5 6CE2 535A 52C3 640F 94C2
+7B94 4F2F 5E1B 8236 8116 818A 6E24 6CCA 9A73 6355
+535C 54FA 8865 57E0 4E0D 5E03 6B65 7C3F 90E8 6016
+64E6 731C 88C1 6750 624D 8D22 776C 8E29 91C7 5F69
+83DC 8521 9910 53C2 8695 6B8B 60ED 60E8 707F 82CD
+8231 4ED3 6CA7 85CF 64CD 7CD9 69FD 66F9 8349 5395
+7B56 4FA7 518C 6D4B 5C42 8E6D 63D2 53C9 832C 8336
+67E5 78B4 643D 5BDF 5C94 5DEE 8BE7 62C6 67F4 8C7A
+6400 63BA 8749 998B 8C17 7F20 94F2 4EA7 9610 98A4
+660C 7316 573A 5C1D 5E38 957F 507F 80A0 5382 655E
+7545 5531 5021 8D85 6284 949E 671D 5632 6F6E 5DE2
+5435 7092 8F66 626F 64A4 63A3 5F7B 6F88 90F4 81E3
+8FB0 5C18 6668 5FF1 6C89 9648 8D81 886C 6491 79F0
+57CE 6A59 6210 5448 4E58 7A0B 60E9 6F84 8BDA 627F
+901E 9A8B 79E4 5403 75F4 6301 5319 6C60 8FDF 5F1B
+9A70 803B 9F7F 4F88 5C3A 8D64 7FC5 65A5 70BD 5145
+51B2 866B 5D07 5BA0 62BD 916C 7574 8E0C 7A20 6101
+7B79 4EC7 7EF8 7785 4E11 81ED 521D 51FA 6A71 53A8
+8E87 9504 96CF 6EC1 9664 695A 7840 50A8 77D7 6410
+89E6 5904 63E3 5DDD 7A7F 693D 4F20 8239 5598 4E32
+75AE 7A97 5E62 5E8A 95EF 521B 5439 708A 6376 9524
+5782 6625 693F 9187 5507 6DF3 7EAF 8822 6233 7EF0
+75B5 8328 78C1 96CC 8F9E 6148 74F7 8BCD 6B64 523A
+8D50 6B21 806A 8471 56F1 5306 4ECE 4E1B 51D1 7C97
+918B 7C07 4FC3 8E7F 7BE1 7A9C 6467 5D14 50AC 8106
+7601 7CB9 6DEC 7FE0 6751 5B58 5BF8 78CB 64AE 6413
+63AA 632B 9519 642D 8FBE 7B54 7629 6253 5927 5446
+6B79 50A3 6234 5E26 6B86 4EE3 8D37 888B 5F85 902E
+6020 803D 62C5 4E39 5355 90F8 63B8 80C6 65E6 6C2E
+4F46 60EE 6DE1 8BDE 5F39 86CB 5F53 6321 515A 8361
+6863 5200 6363 8E48 5012 5C9B 7977 5BFC 5230 7A3B
+60BC 9053 76D7 5FB7 5F97 7684 8E6C 706F 767B 7B49
+77AA 51F3 9093 5824 4F4E 6EF4 8FEA 654C 7B1B 72C4
+6DA4 7FDF 5AE1 62B5 5E95 5730 8482 7B2C 5E1D 5F1F
+9012 7F14 98A0 6382 6EC7 7898 70B9 5178 975B 57AB
+7535 4F43 7538 5E97 60E6 5960 6DC0 6BBF 7889 53FC
+96D5 51CB 5201 6389 540A 9493 8C03 8DCC 7239 789F
+8776 8FED 8C0D 53E0 4E01 76EF 53EE 9489 9876 9F0E
+952D 5B9A 8BA2 4E22 4E1C 51AC 8463 61C2 52A8 680B
+4F97 606B 51BB 6D1E 515C 6296 6597 9661 8C46 9017
+75D8 90FD 7763 6BD2 728A 72EC 8BFB 5835 7779 8D4C
+675C 9540 809A 5EA6 6E21 5992 7AEF 77ED 953B 6BB5
+65AD 7F0E 5806 5151 961F 5BF9 58A9 5428 8E72 6566
+987F 56E4 949D 76FE 9041 6387 54C6 591A 593A 579B
+8EB2 6735 8DFA 8235 5241 60F0 5815 86FE 5CE8 9E45
+4FC4 989D 8BB9 5A25 6076 5384 627C 904F 9102 997F
+6069 800C 513F 8033 5C14 9975 6D31 4E8C 8D30 53D1
+7F5A 7B4F 4F10 4E4F 9600 6CD5 73D0 85E9 5E06 756A
+7FFB 6A0A 77FE 9492 7E41 51E1 70E6 53CD 8FD4 8303
+8D29 72AF 996D 6CDB 574A 82B3 65B9 80AA 623F 9632
+59A8 4EFF 8BBF 7EBA 653E 83F2 975E 5561 98DE 80A5
+532A 8BFD 5420 80BA 5E9F 6CB8 8D39 82AC 915A 5429
+6C1B 5206 7EB7 575F 711A 6C7E 7C89 594B 4EFD 5FFF
+6124 7CAA 4E30 5C01 67AB 8702 5CF0 950B 98CE 75AF
+70FD 9022 51AF 7F1D 8BBD 5949 51E4 4F5B 5426 592B
+6577 80A4 5B75 6276 62C2 8F90 5E45 6C1F 7B26 4F0F
+4FD8 670D 6D6E 6DAA 798F 88B1 5F17 752B 629A 8F85
+4FEF 91DC 65A7 812F 8151 5E9C 8150 8D74 526F 8986
+8D4B 590D 5085 4ED8 961C 7236 8179 8D1F 5BCC 8BA3
+9644 5987 7F1A 5490 5676 560E 8BE5 6539 6982 9499
+76D6 6E89 5E72 7518 6746 67D1 7AFF 809D 8D76 611F
+79C6 6562 8D63 5188 521A 94A2 7F38 809B 7EB2 5C97
+6E2F 6760 7BD9 768B 9AD8 818F 7F94 7CD5 641E 9550
+7A3F 544A 54E5 6B4C 6401 6208 9E3D 80F3 7599 5272
+9769 845B 683C 86E4 9601 9694 94EC 4E2A 5404 7ED9
+6839 8DDF 8015 66F4 5E9A 7FB9 57C2 803F 6897 5DE5
+653B 529F 606D 9F9A 4F9B 8EAC 516C 5BAB 5F13 5DE9
+6C5E 62F1 8D21 5171 94A9 52FE 6C9F 82DF 72D7 57A2
+6784 8D2D 591F 8F9C 83C7 5495 7B8D 4F30 6CBD 5B64
+59D1 9F13 53E4 86CA 9AA8 8C37 80A1 6545 987E 56FA
+96C7 522E 74DC 5250 5BE1 6302 8902 4E56 62D0 602A
+68FA 5173 5B98 51A0 89C2 7BA1 9986 7F50 60EF 704C
+8D2F 5149 5E7F 901B 7470 89C4 572D 7845 5F52 9F9F
+95FA 8F68 9B3C 8BE1 7678 6842 67DC 8DEA 8D35 523D
+8F8A 6EDA 68CD 9505 90ED 56FD 679C 88F9 8FC7 54C8
+9AB8 5B69 6D77 6C26 4EA5 5BB3 9A87 9163 61A8 90AF
+97E9 542B 6DB5 5BD2 51FD 558A 7F55 7FF0 64BC 634D
+65F1 61BE 608D 710A 6C57 6C49 592F 676D 822A 58D5
+568E 8C6A 6BEB 90DD 597D 8017 53F7 6D69 5475 559D
+8377 83CF 6838 79BE 548C 4F55 5408 76D2 8C89 9602
+6CB3 6DB8 8D6B 8910 9E64 8D3A 563F 9ED1 75D5 5F88
+72E0 6068 54FC 4EA8 6A2A 8861 6052 8F70 54C4 70D8
+8679 9E3F 6D2A 5B8F 5F18 7EA2 5589 4FAF 7334 543C
+539A 5019 540E 547C 4E4E 5FFD 745A 58F6 846B 80E1
+8774 72D0 7CCA 6E56 5F27 864E 552C 62A4 4E92 6CAA
+6237 82B1 54D7 534E 733E 6ED1 753B 5212 5316 8BDD
+69D0 5F8A 6000 6DEE 574F 6B22 73AF 6853 8FD8 7F13
+6362 60A3 5524 75EA 8C62 7115 6DA3 5BA6 5E7B 8352
+614C 9EC4 78FA 8757 7C27 7687 51F0 60F6 714C 6643
+5E4C 604D 8C0E 7070 6325 8F89 5FBD 6062 86D4 56DE
+6BC1 6094 6167 5349 60E0 6666 8D3F 79FD 4F1A 70E9
+6C47 8BB3 8BF2 7ED8 8364 660F 5A5A 9B42 6D51 6DF7
+8C41 6D3B 4F19 706B 83B7 6216 60D1 970D 8D27 7978
+51FB 573E 57FA 673A 7578 7A3D 79EF 7B95 808C 9965
+8FF9 6FC0 8BA5 9E21 59EC 7EE9 7F09 5409 6781 68D8
+8F91 7C4D 96C6 53CA 6025 75BE 6C72 5373 5AC9 7EA7
+6324 51E0 810A 5DF1 84DF 6280 5180 5B63 4F0E 796D
+5242 60B8 6D4E 5BC4 5BC2 8BA1 8BB0 65E2 5FCC 9645
+5993 7EE7 7EAA 5609 67B7 5939 4F73 5BB6 52A0 835A
+988A 8D3E 7532 94BE 5047 7A3C 4EF7 67B6 9A7E 5AC1
+6B7C 76D1 575A 5C16 7B3A 95F4 714E 517C 80A9 8270
+5978 7F04 8327 68C0 67EC 78B1 7877 62E3 6361 7B80
+4FED 526A 51CF 8350 69DB 9274 8DF5 8D31 89C1 952E
+7BAD 4EF6 5065 8230 5251 996F 6E10 6E85 6DA7 5EFA
+50F5 59DC 5C06 6D46 6C5F 7586 848B 6868 5956 8BB2
+5320 9171 964D 8549 6912 7901 7126 80F6 4EA4 90CA
+6D47 9A84 5A07 56BC 6405 94F0 77EB 4FA5 811A 72E1
+89D2 997A 7F34 7EDE 527F 6559 9175 8F7F 8F83 53EB
+7A96 63ED 63A5 7686 79F8 8857 9636 622A 52AB 8282
+6854 6770 6377 776B 7AED 6D01 7ED3 89E3 59D0 6212
+85C9 82A5 754C 501F 4ECB 75A5 8BEB 5C4A 5DFE 7B4B
+65A4 91D1 4ECA 6D25 895F 7D27 9526 4EC5 8C28 8FDB
+9773 664B 7981 8FD1 70EC 6D78 5C3D 52B2 8346 5162
+830E 775B 6676 9CB8 4EAC 60CA 7CBE 7CB3 7ECF 4E95
+8B66 666F 9888 9759 5883 656C 955C 5F84 75C9 9756
+7ADF 7ADE 51C0 70AF 7A98 63EA 7A76 7EA0 7396 97ED
+4E45 7078 4E5D 9152 53A9 6551 65E7 81FC 8205 548E
+5C31 759A 97A0 62D8 72D9 75BD 5C45 9A79 83CA 5C40
+5480 77E9 4E3E 6CAE 805A 62D2 636E 5DE8 5177 8DDD
+8E1E 952F 4FF1 53E5 60E7 70AC 5267 6350 9E43 5A1F
+5026 7737 5377 7EE2 6485 652B 6289 6398 5014 7235
+89C9 51B3 8BC0 7EDD 5747 83CC 94A7 519B 541B 5CFB
+4FCA 7AE3 6D5A 90E1 9A8F 5580 5496 5361 54AF 5F00
+63E9 6977 51EF 6168 520A 582A 52D8 574E 780D 770B
+5EB7 6177 7CE0 625B 6297 4EA2 7095 8003 62F7 70E4
+9760 5777 82DB 67EF 68F5 78D5 9897 79D1 58F3 54B3
+53EF 6E34 514B 523B 5BA2 8BFE 80AF 5543 57A6 6073
+5751 542D 7A7A 6050 5B54 63A7 62A0 53E3 6263 5BC7
+67AF 54ED 7A9F 82E6 9177 5E93 88E4 5938 57AE 630E
+8DE8 80EF 5757 7B77 4FA9 5FEB 5BBD 6B3E 5321 7B50
+72C2 6846 77FF 7736 65F7 51B5 4E8F 76D4 5CBF 7AA5
+8475 594E 9B41 5080 9988 6127 6E83 5764 6606 6346
+56F0 62EC 6269 5ED3 9614 5783 62C9 5587 8721 814A
+8FA3 5566 83B1 6765 8D56 84DD 5A6A 680F 62E6 7BEE
+9611 5170 6F9C 8C30 63FD 89C8 61D2 7F06 70C2 6EE5
+7405 6994 72FC 5ECA 90CE 6717 6D6A 635E 52B3 7262
+8001 4F6C 59E5 916A 70D9 6D9D 52D2 4E50 96F7 956D
+857E 78CA 7D2F 5121 5792 64C2 808B 7C7B 6CEA 68F1
+695E 51B7 5398 68A8 7281 9ECE 7BF1 72F8 79BB 6F13
+7406 674E 91CC 9CA4 793C 8389 8354 540F 6817 4E3D
+5389 52B1 783E 5386 5229 5088 4F8B 4FD0 75E2 7ACB
+7C92 6CA5 96B6 529B 7483 54E9 4FE9 8054 83B2 8FDE
+9570 5EC9 601C 6D9F 5E18 655B 8138 94FE 604B 70BC
+7EC3 7CAE 51C9 6881 7CB1 826F 4E24 8F86 91CF 667E
+4EAE 8C05 64A9 804A 50DA 7597 71CE 5BE5 8FBD 6F66
+4E86 6482 9563 5ED6 6599 5217 88C2 70C8 52A3 730E
+7433 6797 78F7 9716 4E34 90BB 9CDE 6DCB 51DB 8D41
+541D 62CE 73B2 83F1 96F6 9F84 94C3 4F36 7F9A 51CC
+7075 9675 5CAD 9886 53E6 4EE4 6E9C 7409 69B4 786B
+998F 7559 5218 7624 6D41 67F3 516D 9F99 804B 5499
+7B3C 7ABF 9686 5784 62E2 9647 697C 5A04 6402 7BD3
+6F0F 964B 82A6 5362 9885 5E90 7089 63B3 5364 864F
+9C81 9E93 788C 9732 8DEF 8D42 9E7F 6F5E 7984 5F55
+9646 622E 9A74 5415 94DD 4FA3 65C5 5C65 5C61 7F15
+8651 6C2F 5F8B 7387 6EE4 7EFF 5CE6 631B 5B6A 6EE6
+5375 4E71 63A0 7565 62A1 8F6E 4F26 4ED1 6CA6 7EB6
+8BBA 841D 87BA 7F57 903B 9523 7BA9 9AA1 88F8 843D
+6D1B 9A86 7EDC 5988 9EBB 739B 7801 8682 9A6C 9A82
+561B 5417 57CB 4E70 9EA6 5356 8FC8 8109 7792 9992
+86EE 6EE1 8513 66FC 6162 6F2B 8C29 8292 832B 76F2
+6C13 5FD9 83BD 732B 8305 951A 6BDB 77DB 94C6 536F
+8302 5192 5E3D 8C8C 8D38 4E48 73AB 679A 6885 9176
+9709 7164 6CA1 7709 5A92 9541 6BCF 7F8E 6627 5BD0
+59B9 5A9A 95E8 95F7 4EEC 840C 8499 6AAC 76DF 9530
+731B 68A6 5B5F 772F 919A 9761 7CDC 8FF7 8C1C 5F25
+7C73 79D8 89C5 6CCC 871C 5BC6 5E42 68C9 7720 7EF5
+5195 514D 52C9 5A29 7F05 9762 82D7 63CF 7784 85D0
+79D2 6E3A 5E99 5999 8511 706D 6C11 62BF 76BF 654F
+60AF 95FD 660E 879F 9E23 94ED 540D 547D 8C2C 6478
+6479 8611 6A21 819C 78E8 6469 9B54 62B9 672B 83AB
+58A8 9ED8 6CAB 6F20 5BDE 964C 8C0B 725F 67D0 62C7
+7261 4EA9 59C6 6BCD 5893 66AE 5E55 52DF 6155 6728
+76EE 7766 7267 7A46 62FF 54EA 5450 94A0 90A3 5A1C
+7EB3 6C16 4E43 5976 8010 5948 5357 7537 96BE 56CA
+6320 8111 607C 95F9 6DD6 5462 9981 5185 5AE9 80FD
+59AE 9713 502A 6CE5 5C3C 62DF 4F60 533F 817B 9006
+6EBA 852B 62C8 5E74 78BE 64B5 637B 5FF5 5A18 917F
+9E1F 5C3F 634F 8042 5B7D 556E 954A 954D 6D85 60A8
+67E0 72DE 51DD 5B81 62E7 6CDE 725B 626D 94AE 7EBD
+8113 6D53 519C 5F04 5974 52AA 6012 5973 6696 8650
+759F 632A 61E6 7CEF 8BFA 54E6 6B27 9E25 6BB4 85D5
+5455 5076 6CA4 556A 8DB4 722C 5E15 6015 7436 62CD
+6392 724C 5F98 6E43 6D3E 6500 6F58 76D8 78D0 76FC
+7554 5224 53DB 4E53 5E9E 65C1 802A 80D6 629B 5486
+5228 70AE 888D 8DD1 6CE1 5478 80DA 57F9 88F4 8D54
+966A 914D 4F69 6C9B 55B7 76C6 7830 62A8 70F9 6F8E
+5F6D 84EC 68DA 787C 7BF7 81A8 670B 9E4F 6367 78B0
+576F 7812 9739 6279 62AB 5288 7435 6BD7 5564 813E
+75B2 76AE 5339 75DE 50FB 5C41 8B6C 7BC7 504F 7247
+9A97 98D8 6F02 74E2 7968 6487 77A5 62FC 9891 8D2B
+54C1 8058 4E52 576A 82F9 840D 5E73 51ED 74F6 8BC4
+5C4F 5761 6CFC 9887 5A46 7834 9B44 8FEB 7C95 5256
+6251 94FA 4EC6 8386 8461 83E9 84B2 57D4 6734 5703
+666E 6D66 8C31 66DD 7011 671F 6B3A 6816 621A 59BB
+4E03 51C4 6F06 67D2 6C8F 5176 68CB 5947 6B67 7566
+5D0E 8110 9F50 65D7 7948 7941 9A91 8D77 5C82 4E5E
+4F01 542F 5951 780C 5668 6C14 8FC4 5F03 6C7D 6CE3
+8BAB 6390 6070 6D3D 7275 6266 948E 94C5 5343 8FC1
+7B7E 4EDF 8C26 4E7E 9ED4 94B1 94B3 524D 6F5C 9063
+6D45 8C34 5811 5D4C 6B20 6B49 67AA 545B 8154 7F8C
+5899 8537 5F3A 62A2 6A47 9539 6572 6084 6865 77A7
+4E54 4FA8 5DE7 9798 64AC 7FD8 5CED 4FCF 7A8D 5207
+8304 4E14 602F 7A83 94A6 4FB5 4EB2 79E6 7434 52E4
+82B9 64D2 79BD 5BDD 6C81 9752 8F7B 6C22 503E 537F
+6E05 64CE 6674 6C30 60C5 9877 8BF7 5E86 743C 7A77
+79CB 4E18 90B1 7403 6C42 56DA 914B 6CC5 8D8B 533A
+86C6 66F2 8EAF 5C48 9A71 6E20 53D6 5A36 9F8B 8DA3
+53BB 5708 98A7 6743 919B 6CC9 5168 75CA 62F3 72AC
+5238 529D 7F3A 7094 7638 5374 9E4A 69B7 786E 96C0
+88D9 7FA4 7136 71C3 5189 67D3 74E4 58E4 6518 56B7
+8BA9 9976 6270 7ED5 60F9 70ED 58EC 4EC1 4EBA 5FCD
+97E7 4EFB 8BA4 5203 598A 7EAB 6254 4ECD 65E5 620E
+8338 84C9 8363 878D 7194 6EB6 5BB9 7ED2 5197 63C9
+67D4 8089 8339 8815 5112 5B7A 5982 8FB1 4E73 6C5D
+5165 8925 8F6F 962E 854A 745E 9510 95F0 6DA6 82E5
+5F31 6492 6D12 8428 816E 9CC3 585E 8D5B 4E09 53C1
+4F1E 6563 6851 55D3 4E27 6414 9A9A 626B 5AC2 745F
+8272 6DA9 68EE 50E7 838E 7802 6740 5239 6C99 7EB1
+50BB 5565 715E 7B5B 6652 73CA 82EB 6749 5C71 5220
+717D 886B 95EA 9655 64C5 8D61 81B3 5584 6C55 6247
+7F2E 5892 4F24 5546 8D4F 664C 4E0A 5C1A 88F3 68A2
+634E 7A0D 70E7 828D 52FA 97F6 5C11 54E8 90B5 7ECD
+5962 8D4A 86C7 820C 820D 8D66 6444 5C04 6151 6D89
+793E 8BBE 7837 7533 547B 4F38 8EAB 6DF1 5A20 7EC5
+795E 6C88 5BA1 5A76 751A 80BE 614E 6E17 58F0 751F
+7525 7272 5347 7EF3 7701 76DB 5269 80DC 5723 5E08
+5931 72EE 65BD 6E7F 8BD7 5C38 8671 5341 77F3 62FE
+65F6 4EC0 98DF 8680 5B9E 8BC6 53F2 77E2 4F7F 5C4E
+9A76 59CB 5F0F 793A 58EB 4E16 67FF 4E8B 62ED 8A93
+901D 52BF 662F 55DC 566C 9002 4ED5 4F8D 91CA 9970
+6C0F 5E02 6043 5BA4 89C6 8BD5 6536 624B 9996 5B88
+5BFF 6388 552E 53D7 7626 517D 852C 67A2 68B3 6B8A
+6292 8F93 53D4 8212 6DD1 758F 4E66 8D4E 5B70 719F
+85AF 6691 66D9 7F72 8700 9ECD 9F20 5C5E 672F 8FF0
+6811 675F 620D 7AD6 5885 5EB6 6570 6F31 6055 5237
+800D 6454 8870 7529 5E05 6813 62F4 971C 53CC 723D
+8C01 6C34 7761 7A0E 542E 77AC 987A 821C 8BF4 7855
+6714 70C1 65AF 6495 5636 601D 79C1 53F8 4E1D 6B7B
+8086 5BFA 55E3 56DB 4F3A 4F3C 9972 5DF3 677E 8038
+6002 9882 9001 5B8B 8BBC 8BF5 641C 8258 64DE 55FD
+82CF 9165 4FD7 7D20 901F 7C9F 50F3 5851 6EAF 5BBF
+8BC9 8083 9178 849C 7B97 867D 968B 968F 7EE5 9AD3
+788E 5C81 7A57 9042 96A7 795F 5B59 635F 7B0B 84D1
+68AD 5506 7F29 7410 7D22 9501 6240 584C 4ED6 5B83
+5979 5854 736D 631E 8E4B 8E0F 80CE 82D4 62AC 53F0
+6CF0 915E 592A 6001 6C70 574D 644A 8D2A 762B 6EE9
+575B 6A80 75F0 6F6D 8C2D 8C08 5766 6BEF 8892 78B3
+63A2 53F9 70AD 6C64 5858 642A 5802 68E0 819B 5510
+7CD6 5018 8EBA 6DCC 8D9F 70EB 638F 6D9B 6ED4 7EE6
+8404 6843 9003 6DD8 9676 8BA8 5957 7279 85E4 817E
+75BC 8A8A 68AF 5254 8E22 9511 63D0 9898 8E44 557C
+4F53 66FF 568F 60D5 6D95 5243 5C49 5929 6DFB 586B
+7530 751C 606C 8214 8146 6311 6761 8FE2 773A 8DF3
+8D34 94C1 5E16 5385 542C 70C3 6C40 5EF7 505C 4EAD
+5EAD 633A 8247 901A 6850 916E 77B3 540C 94DC 5F64
+7AE5 6876 6345 7B52 7EDF 75DB 5077 6295 5934 900F
+51F8 79C3 7A81 56FE 5F92 9014 6D82 5C60 571F 5410
+5154 6E4D 56E2 63A8 9893 817F 8715 892A 9000 541E
+5C6F 81C0 62D6 6258 8131 9E35 9640 9A6E 9A7C 692D
+59A5 62D3 553E 6316 54C7 86D9 6D3C 5A03 74E6 889C
+6B6A 5916 8C4C 5F2F 6E7E 73A9 987D 4E38 70F7 5B8C
+7897 633D 665A 7696 60CB 5B9B 5A49 4E07 8155 6C6A
+738B 4EA1 6789 7F51 5F80 65FA 671B 5FD8 5984 5A01
+5DCD 5FAE 5371 97E6 8FDD 6845 56F4 552F 60DF 4E3A
+6F4D 7EF4 82C7 840E 59D4 4F1F 4F2A 5C3E 7EAC 672A
+851A 5473 754F 80C3 5582 9B4F 4F4D 6E2D 8C13 5C09
+6170 536B 761F 6E29 868A 6587 95FB 7EB9 543B 7A33
+7D0A 95EE 55E1 7FC1 74EE 631D 8717 6DA1 7A9D 6211
+65A1 5367 63E1 6C83 5DEB 545C 94A8 4E4C 6C61 8BEC
+5C4B 65E0 829C 68A7 543E 5434 6BCB 6B66 4E94 6342
+5348 821E 4F0D 4FAE 575E 620A 96FE 6664 7269 52FF
+52A1 609F 8BEF 6614 7199 6790 897F 7852 77FD 6670
+563B 5438 9521 727A 7A00 606F 5E0C 6089 819D 5915
+60DC 7184 70EF 6EAA 6C50 7280 6A84 88AD 5E2D 4E60
+5AB3 559C 94E3 6D17 7CFB 9699 620F 7EC6 778E 867E
+5323 971E 8F96 6687 5CE1 4FA0 72ED 4E0B 53A6 590F
+5413 6380 9528 5148 4ED9 9C9C 7EA4 54B8 8D24 8854
+8237 95F2 6D8E 5F26 5ACC 663E 9669 73B0 732E 53BF
+817A 9985 7FA1 5BAA 9677 9650 7EBF 76F8 53A2 9576
+9999 7BB1 8944 6E58 4E61 7FD4 7965 8BE6 60F3 54CD
+4EAB 9879 5DF7 6A61 50CF 5411 8C61 8427 785D 9704
+524A 54EE 56A3 9500 6D88 5BB5 6DC6 6653 5C0F 5B5D
+6821 8096 5578 7B11 6548 6954 4E9B 6B47 874E 978B
+534F 631F 643A 90AA 659C 80C1 8C10 5199 68B0 5378
+87F9 61C8 6CC4 6CFB 8C22 5C51 85AA 82AF 950C 6B23
+8F9B 65B0 5FFB 5FC3 4FE1 8845 661F 8165 7329 60FA
+5174 5211 578B 5F62 90A2 884C 9192 5E78 674F 6027
+59D3 5144 51F6 80F8 5308 6C79 96C4 718A 4F11 4FEE
+7F9E 673D 55C5 9508 79C0 8896 7EE3 589F 620C 9700
+865A 5618 987B 5F90 8BB8 84C4 9157 53D9 65ED 5E8F
+755C 6064 7D6E 5A7F 7EEA 7EED 8F69 55A7 5BA3 60AC
+65CB 7384 9009 7663 7729 7EDA 9774 859B 5B66 7A74
+96EA 8840 52CB 718F 5FAA 65EC 8BE2 5BFB 9A6F 5DE1
+6B89 6C5B 8BAD 8BAF 900A 8FC5 538B 62BC 9E26 9E2D
+5440 4E2B 82BD 7259 869C 5D16 8859 6DAF 96C5 54D1
+4E9A 8BB6 7109 54BD 9609 70DF 6DF9 76D0 4E25 7814
+8712 5CA9 5EF6 8A00 989C 960E 708E 6CBF 5944 63A9
+773C 884D 6F14 8273 5830 71D5 538C 781A 96C1 5501
+5F66 7130 5BB4 8C1A 9A8C 6B83 592E 9E2F 79E7 6768
+626C 4F6F 75A1 7F8A 6D0B 9633 6C27 4EF0 75D2 517B
+6837 6F3E 9080 8170 5996 7476 6447 5C27 9065 7A91
+8C23 59DA 54AC 8200 836F 8981 8000 6930 564E 8036
+7237 91CE 51B6 4E5F 9875 6396 4E1A 53F6 66F3 814B
+591C 6DB2 4E00 58F9 533B 63D6 94F1 4F9D 4F0A 8863
+9890 5937 9057 79FB 4EEA 80F0 7591 6C82 5B9C 59E8
+5F5D 6905 8681 501A 5DF2 4E59 77E3 4EE5 827A 6291
+6613 9091 5C79 4EBF 5F79 81C6 9038 8084 75AB 4EA6
+88D4 610F 6BC5 5FC6 4E49 76CA 6EA2 8BE3 8BAE 8C0A
+8BD1 5F02 7FFC 7FCC 7ECE 8335 836B 56E0 6BB7 97F3
+9634 59FB 541F 94F6 6DEB 5BC5 996E 5C39 5F15 9690
+5370 82F1 6A31 5A74 9E70 5E94 7F28 83B9 8424 8425
+8367 8747 8FCE 8D62 76C8 5F71 9896 786C 6620 54DF
+62E5 4F63 81C3 75C8 5EB8 96CD 8E0A 86F9 548F 6CF3
+6D8C 6C38 607F 52C7 7528 5E7D 4F18 60A0 5FE7 5C24
+7531 90AE 94C0 72B9 6CB9 6E38 9149 6709 53CB 53F3
+4F51 91C9 8BF1 53C8 5E7C 8FC2 6DE4 4E8E 76C2 6986
+865E 611A 8206 4F59 4FDE 903E 9C7C 6109 6E1D 6E14
+9685 4E88 5A31 96E8 4E0E 5C7F 79B9 5B87 8BED 7FBD
+7389 57DF 828B 90C1 5401 9047 55BB 5CEA 5FA1 6108
+6B32 72F1 80B2 8A89 6D74 5BD3 88D5 9884 8C6B 9A6D
+9E33 6E0A 51A4 5143 57A3 8881 539F 63F4 8F95 56ED
+5458 5706 733F 6E90 7F18 8FDC 82D1 613F 6028 9662
+66F0 7EA6 8D8A 8DC3 94A5 5CB3 7CA4 6708 60A6 9605
+8018 4E91 90E7 5300 9668 5141 8FD0 8574 915D 6655
+97F5 5B55 531D 7838 6742 683D 54C9 707E 5BB0 8F7D
+518D 5728 54B1 6512 6682 8D5E 8D43 810F 846C 906D
+7CDF 51FF 85FB 67A3 65E9 6FA1 86A4 8E81 566A 9020
+7682 7076 71E5 8D23 62E9 5219 6CFD 8D3C 600E 589E
+618E 66FE 8D60 624E 55B3 6E23 672D 8F67 94E1 95F8
+7728 6805 69A8 548B 4E4D 70B8 8BC8 6458 658B 5B85
+7A84 503A 5BE8 77BB 6BE1 8A79 7C98 6CBE 76CF 65A9
+8F97 5D2D 5C55 8638 6808 5360 6218 7AD9 6E5B 7EFD
+6A1F 7AE0 5F70 6F33 5F20 638C 6DA8 6756 4E08 5E10
+8D26 4ED7 80C0 7634 969C 62DB 662D 627E 6CBC 8D75
+7167 7F69 5146 8087 53EC 906E 6298 54F2 86F0 8F99
+8005 9517 8517 8FD9 6D59 73CD 659F 771F 7504 7827
+81FB 8D1E 9488 4FA6 6795 75B9 8BCA 9707 632F 9547
+9635 84B8 6323 7741 5F81 72F0 4E89 6014 6574 62EF
+6B63 653F 5E27 75C7 90D1 8BC1 829D 679D 652F 5431
+8718 77E5 80A2 8102 6C41 4E4B 7EC7 804C 76F4 690D
+6B96 6267 503C 4F84 5740 6307 6B62 8DBE 53EA 65E8
+7EB8 5FD7 631A 63B7 81F3 81F4 7F6E 5E1C 5CD9 5236
+667A 79E9 7A1A 8D28 7099 75D4 6EDE 6CBB 7A92 4E2D
+76C5 5FE0 949F 8877 7EC8 79CD 80BF 91CD 4EF2 4F17
+821F 5468 5DDE 6D32 8BCC 7CA5 8F74 8098 5E1A 5492
+76B1 5B99 663C 9AA4 73E0 682A 86DB 6731 732A 8BF8
+8BDB 9010 7AF9 70DB 716E 62C4 77A9 5631 4E3B 8457
+67F1 52A9 86C0 8D2E 94F8 7B51 4F4F 6CE8 795D 9A7B
+6293 722A 62FD 4E13 7816 8F6C 64B0 8D5A 7BC6 6869
+5E84 88C5 5986 649E 58EE 72B6 690E 9525 8FFD 8D58
+5760 7F00 8C06 51C6 6349 62D9 5353 684C 7422 8301
+914C 5544 7740 707C 6D4A 5179 54A8 8D44 59FF 6ECB
+6DC4 5B5C 7D2B 4ED4 7C7D 6ED3 5B50 81EA 6E0D 5B57
+9B03 68D5 8E2A 5B97 7EFC 603B 7EB5 90B9 8D70 594F
+63CD 79DF 8DB3 5352 65CF 7956 8BC5 963B 7EC4 94BB
+7E82 5634 9189 6700 7F6A 5C0A 9075 6628 5DE6 4F50
+67DE 505A 4F5C 5750 5EA7 E2D8 E2D9 E2DA E2DB E2DC
+4E8D 4E0C 5140 4E10 5EFF 5345 4E15 4E98 4E1E 9B32
+5B6C 5669 4E28 79BA 4E3F 5315 4E47 592D 723B 536E
+6C10 56DF 80E4 9997 6BD3 777E 9F17 4E36 4E9F 9F10
+4E5C 4E69 4E93 8288 5B5B 556C 560F 4EC4 538D 539D
+53A3 53A5 53AE 9765 8D5D 531A 53F5 5326 532E 533E
+8D5C 5366 5363 5202 5208 520E 522D 5233 523F 5240
+524C 525E 5261 525C 84AF 527D 5282 5281 5290 5293
+5182 7F54 4EBB 4EC3 4EC9 4EC2 4EE8 4EE1 4EEB 4EDE
+4F1B 4EF3 4F22 4F64 4EF5 4F25 4F27 4F09 4F2B 4F5E
+4F67 6538 4F5A 4F5D 4F5F 4F57 4F32 4F3D 4F76 4F74
+4F91 4F89 4F83 4F8F 4F7E 4F7B 4FAA 4F7C 4FAC 4F94
+4FE6 4FE8 4FEA 4FC5 4FDA 4FE3 4FDC 4FD1 4FDF 4FF8
+5029 504C 4FF3 502C 500F 502E 502D 4FFE 501C 500C
+5025 5028 507E 5043 5055 5048 504E 506C 507B 50A5
+50A7 50A9 50BA 50D6 5106 50ED 50EC 50E6 50EE 5107
+510B 4EDD 6C3D 4F58 4F65 4FCE 9FA0 6C46 7C74 516E
+5DFD 9EC9 9998 5181 5914 52F9 530D 8A07 5310 51EB
+5919 5155 4EA0 5156 4EB3 886E 88A4 4EB5 8114 88D2
+7980 5B34 8803 7FB8 51AB 51B1 51BD 51BC 51C7 5196
+51A2 51A5 8BA0 8BA6 8BA7 8BAA 8BB4 8BB5 8BB7 8BC2
+8BC3 8BCB 8BCF 8BCE 8BD2 8BD3 8BD4 8BD6 8BD8 8BD9
+8BDC 8BDF 8BE0 8BE4 8BE8 8BE9 8BEE 8BF0 8BF3 8BF6
+8BF9 8BFC 8BFF 8C00 8C02 8C04 8C07 8C0C 8C0F 8C11
+8C12 8C14 8C15 8C16 8C19 8C1B 8C18 8C1D 8C1F 8C20
+8C21 8C25 8C27 8C2A 8C2B 8C2E 8C2F 8C32 8C33 8C35
+8C36 5369 537A 961D 9622 9621 9631 962A 963D 963C
+9642 9649 9654 965F 9667 966C 9672 9674 9688 968D
+9697 96B0 9097 909B 909D 9099 90AC 90A1 90B4 90B3
+90B6 90BA 90B8 90B0 90CF 90C5 90BE 90D0 90C4 90C7
+90D3 90E6 90E2 90DC 90D7 90DB 90EB 90EF 90FE 9104
+9122 911E 9123 9131 912F 9139 9143 9146 520D 5942
+52A2 52AC 52AD 52BE 54FF 52D0 52D6 52F0 53DF 71EE
+77CD 5EF4 51F5 51FC 9B2F 53B6 5F01 755A 5DEF 574C
+57A9 57A1 587E 58BC 58C5 58D1 5729 572C 572A 5733
+5739 572E 572F 575C 573B 5742 5769 5785 576B 5786
+577C 577B 5768 576D 5776 5773 57AD 57A4 578C 57B2
+57CF 57A7 57B4 5793 57A0 57D5 57D8 57DA 57D9 57D2
+57B8 57F4 57EF 57F8 57E4 57DD 580B 580D 57FD 57ED
+5800 581E 5819 5844 5820 5865 586C 5881 5889 589A
+5880 99A8 9F19 61FF 8279 827D 827F 828F 828A 82A8
+8284 828E 8291 8297 8299 82AB 82B8 82BE 82B0 82C8
+82CA 82E3 8298 82B7 82AE 82CB 82CC 82C1 82A9 82B4
+82A1 82AA 829F 82C4 82CE 82A4 82E1 8309 82F7 82E4
+830F 8307 82DC 82F4 82D2 82D8 830C 82FB 82D3 8311
+831A 8306 8314 8315 82E0 82D5 831C 8351 835B 835C
+8308 8392 833C 8334 8331 839B 835E 832F 834F 8347
+8343 835F 8340 8317 8360 832D 833A 8333 8366 8365
+8368 831B 8369 836C 836A 836D 836E 83B0 8378 83B3
+83B4 83A0 83AA 8393 839C 8385 837C 83B6 83A9 837D
+83B8 837B 8398 839E 83A8 83BA 83BC 83C1 8401 83E5
+83D8 5807 8418 840B 83DD 83FD 83D6 841C 8438 8411
+8406 83D4 83DF 840F 8403 83F8 83F9 83EA 83C5 83C0
+8426 83F0 83E1 845C 8451 845A 8459 8473 8487 8488
+847A 8489 8478 843C 8446 8469 8476 848C 848E 8431
+846D 84C1 84CD 84D0 84E6 84BD 84D3 84CA 84BF 84BA
+84E0 84A1 84B9 84B4 8497 84E5 84E3 850C 750D 8538
+84F0 8539 851F 853A 8556 853B 84FF 84FC 8559 8548
+8568 8564 855E 857A 77A2 8543 8572 857B 85A4 85A8
+8587 858F 8579 85AE 859C 8585 85B9 85B7 85B0 85D3
+85C1 85DC 85FF 8627 8605 8629 8616 863C 5EFE 5F08
+593C 5941 8037 5955 595A 5958 530F 5C22 5C25 5C2C
+5C34 624C 626A 629F 62BB 62CA 62DA 62D7 62EE 6322
+62F6 6339 634B 6343 63AD 63F6 6371 637A 638E 63B4
+636D 63AC 638A 6369 63AE 63BC 63F2 63F8 63E0 63FF
+63C4 63DE 63CE 6452 63C6 63BE 6445 6441 640B 641B
+6420 640C 6426 6421 645E 6484 646D 6496 647A 64B7
+64B8 6499 64BA 64C0 64D0 64D7 64E4 64E2 6509 6525
+652E 5F0B 5FD2 7519 5F11 535F 53F1 53FD 53E9 53E8
+53FB 5412 5416 5406 544B 5452 5453 5454 5456 5443
+5421 5457 5459 5423 5432 5482 5494 5477 5471 5464
+549A 549B 5484 5476 5466 549D 54D0 54AD 54C2 54B4
+54D2 54A7 54A6 54D3 54D4 5472 54A3 54D5 54BB 54BF
+54CC 54D9 54DA 54DC 54A9 54AA 54A4 54DD 54CF 54DE
+551B 54E7 5520 54FD 5514 54F3 5522 5523 550F 5511
+5527 552A 5567 558F 55B5 5549 556D 5541 5555 553F
+5550 553C 5537 5556 5575 5576 5577 5533 5530 555C
+558B 55D2 5583 55B1 55B9 5588 5581 559F 557E 55D6
+5591 557B 55DF 55BD 55BE 5594 5599 55EA 55F7 55C9
+561F 55D1 55EB 55EC 55D4 55E6 55DD 55C4 55EF 55E5
+55F2 55F3 55CC 55CD 55E8 55F5 55E4 8F94 561E 5608
+560C 5601 5624 5623 55FE 5600 5627 562D 5658 5639
+5657 562C 564D 5662 5659 565C 564C 5654 5686 5664
+5671 566B 567B 567C 5685 5693 56AF 56D4 56D7 56DD
+56E1 56F5 56EB 56F9 56FF 5704 570A 5709 571C 5E0F
+5E19 5E14 5E11 5E31 5E3B 5E3C 5E37 5E44 5E54 5E5B
+5E5E 5E61 5C8C 5C7A 5C8D 5C90 5C96 5C88 5C98 5C99
+5C91 5C9A 5C9C 5CB5 5CA2 5CBD 5CAC 5CAB 5CB1 5CA3
+5CC1 5CB7 5CC4 5CD2 5CE4 5CCB 5CE5 5D02 5D03 5D27
+5D26 5D2E 5D24 5D1E 5D06 5D1B 5D58 5D3E 5D34 5D3D
+5D6C 5D5B 5D6F 5D5D 5D6B 5D4B 5D4A 5D69 5D74 5D82
+5D99 5D9D 8C73 5DB7 5DC5 5F73 5F77 5F82 5F87 5F89
+5F8C 5F95 5F99 5F9C 5FA8 5FAD 5FB5 5FBC 8862 5F61
+72AD 72B0 72B4 72B7 72B8 72C3 72C1 72CE 72CD 72D2
+72E8 72EF 72E9 72F2 72F4 72F7 7301 72F3 7303 72FA
+72FB 7317 7313 7321 730A 731E 731D 7315 7322 7339
+7325 732C 7338 7331 7350 734D 7357 7360 736C 736F
+737E 821B 5925 98E7 5924 5902 9963 9967 9968 9969
+996A 996B 996C 9974 9977 997D 9980 9984 9987 998A
+998D 9990 9991 9993 9994 9995 5E80 5E91 5E8B 5E96
+5EA5 5EA0 5EB9 5EB5 5EBE 5EB3 8D53 5ED2 5ED1 5EDB
+5EE8 5EEA 81BA 5FC4 5FC9 5FD6 5FCF 6003 5FEE 6004
+5FE1 5FE4 5FFE 6005 6006 5FEA 5FED 5FF8 6019 6035
+6026 601B 600F 600D 6029 602B 600A 603F 6021 6078
+6079 607B 607A 6042 606A 607D 6096 609A 60AD 609D
+6083 6092 608C 609B 60EC 60BB 60B1 60DD 60D8 60C6
+60DA 60B4 6120 6126 6115 6123 60F4 6100 610E 612B
+614A 6175 61AC 6194 61A7 61B7 61D4 61F5 5FDD 96B3
+95E9 95EB 95F1 95F3 95F5 95F6 95FC 95FE 9603 9604
+9606 9608 960A 960B 960C 960D 960F 9612 9615 9616
+9617 9619 961A 4E2C 723F 6215 6C35 6C54 6C5C 6C4A
+6CA3 6C85 6C90 6C94 6C8C 6C68 6C69 6C74 6C76 6C86
+6CA9 6CD0 6CD4 6CAD 6CF7 6CF8 6CF1 6CD7 6CB2 6CE0
+6CD6 6CFA 6CEB 6CEE 6CB1 6CD3 6CEF 6CFE 6D39 6D27
+6D0C 6D43 6D48 6D07 6D04 6D19 6D0E 6D2B 6D4D 6D2E
+6D35 6D1A 6D4F 6D52 6D54 6D33 6D91 6D6F 6D9E 6DA0
+6D5E 6D93 6D94 6D5C 6D60 6D7C 6D63 6E1A 6DC7 6DC5
+6DDE 6E0E 6DBF 6DE0 6E11 6DE6 6DDD 6DD9 6E16 6DAB
+6E0C 6DAE 6E2B 6E6E 6E4E 6E6B 6EB2 6E5F 6E86 6E53
+6E54 6E32 6E25 6E44 6EDF 6EB1 6E98 6EE0 6F2D 6EE2
+6EA5 6EA7 6EBD 6EBB 6EB7 6ED7 6EB4 6ECF 6E8F 6EC2
+6E9F 6F62 6F46 6F47 6F24 6F15 6EF9 6F2F 6F36 6F4B
+6F74 6F2A 6F09 6F29 6F89 6F8D 6F8C 6F78 6F72 6F7C
+6F7A 6FD1 6FC9 6FA7 6FB9 6FB6 6FC2 6FE1 6FEE 6FDE
+6FE0 6FEF 701A 7023 701B 7039 7035 704F 705E 5B80
+5B84 5B95 5B93 5BA5 5BB8 752F 9A9E 6434 5BE4 5BEE
+8930 5BF0 8E47 8B07 8FB6 8FD3 8FD5 8FE5 8FEE 8FE4
+8FE9 8FE6 8FF3 8FE8 9005 9004 900B 9026 9011 900D
+9016 9021 9035 9036 902D 902F 9044 9051 9052 9050
+9068 9058 9062 905B 66B9 9074 907D 9082 9088 9083
+908B 5F50 5F57 5F56 5F58 5C3B 54AB 5C50 5C59 5B71
+5C63 5C66 7FBC 5F2A 5F29 5F2D 8274 5F3C 9B3B 5C6E
+5981 5983 598D 59A9 59AA 59A3 5997 59CA 59AB 599E
+59A4 59D2 59B2 59AF 59D7 59BE 5A05 5A06 59DD 5A08
+59E3 59D8 59F9 5A0C 5A09 5A32 5A34 5A11 5A23 5A13
+5A40 5A67 5A4A 5A55 5A3C 5A62 5A75 80EC 5AAA 5A9B
+5A77 5A7A 5ABE 5AEB 5AB2 5AD2 5AD4 5AB8 5AE0 5AE3
+5AF1 5AD6 5AE6 5AD8 5ADC 5B09 5B17 5B16 5B32 5B37
+5B40 5C15 5C1C 5B5A 5B65 5B73 5B51 5B53 5B62 9A75
+9A77 9A78 9A7A 9A7F 9A7D 9A80 9A81 9A85 9A88 9A8A
+9A90 9A92 9A93 9A96 9A98 9A9B 9A9C 9A9D 9A9F 9AA0
+9AA2 9AA3 9AA5 9AA7 7E9F 7EA1 7EA3 7EA5 7EA8 7EA9
+7EAD 7EB0 7EBE 7EC0 7EC1 7EC2 7EC9 7ECB 7ECC 7ED0
+7ED4 7ED7 7EDB 7EE0 7EE1 7EE8 7EEB 7EEE 7EEF 7EF1
+7EF2 7F0D 7EF6 7EFA 7EFB 7EFE 7F01 7F02 7F03 7F07
+7F08 7F0B 7F0C 7F0F 7F11 7F12 7F17 7F19 7F1C 7F1B
+7F1F 7F21 7F22 7F23 7F24 7F25 7F26 7F27 7F2A 7F2B
+7F2C 7F2D 7F2F 7F30 7F31 7F32 7F33 7F35 5E7A 757F
+5DDB 753E 9095 738E 7391 73AE 73A2 739F 73CF 73C2
+73D1 73B7 73B3 73C0 73C9 73C8 73E5 73D9 987C 740A
+73E9 73E7 73DE 73BA 73F2 740F 742A 745B 7426 7425
+7428 7430 742E 742C 741B 741A 7441 745C 7457 7455
+7459 7477 746D 747E 749C 748E 7480 7481 7487 748B
+749E 74A8 74A9 7490 74A7 74D2 74BA 97EA 97EB 97EC
+674C 6753 675E 6748 6769 67A5 6787 676A 6773 6798
+67A7 6775 67A8 679E 67AD 678B 6777 677C 67F0 6809
+67D8 680A 67E9 67B0 680C 67D9 67B5 67DA 67B3 67DD
+6800 67C3 67B8 67E2 680E 67C1 67FD 6832 6833 6860
+6861 684E 6862 6844 6864 6883 681D 6855 6866 6841
+6867 6840 683E 684A 6849 6829 68B5 688F 6874 6877
+6893 686B 68C2 696E 68FC 691F 6920 68F9 6924 68F0
+690B 6901 6957 68E3 6910 6971 6939 6960 6942 695D
+6984 696B 6980 6998 6978 6934 69CC 6987 6988 69CE
+6989 6966 6963 6979 699B 69A7 69BB 69AB 69AD 69D4
+69B1 69C1 69CA 69DF 6995 69E0 698D 69FF 6A2F 69ED
+6A17 6A18 6A65 69F2 6A44 6A3E 6AA0 6A50 6A5B 6A35
+6A8E 6A79 6A3D 6A28 6A58 6A7C 6A91 6A90 6AA9 6A97
+6AAB 7337 7352 6B81 6B82 6B87 6B84 6B92 6B93 6B8D
+6B9A 6B9B 6BA1 6BAA 8F6B 8F6D 8F71 8F72 8F73 8F75
+8F76 8F78 8F77 8F79 8F7A 8F7C 8F7E 8F81 8F82 8F84
+8F87 8F8B 8F8D 8F8E 8F8F 8F98 8F9A 8ECE 620B 6217
+621B 621F 6222 6221 6225 6224 622C 81E7 74EF 74F4
+74FF 750F 7511 7513 6534 65EE 65EF 65F0 660A 6619
+6772 6603 6615 6600 7085 66F7 661D 6634 6631 6636
+6635 8006 665F 6654 6641 664F 6656 6661 6657 6677
+6684 668C 66A7 669D 66BE 66DB 66DC 66E6 66E9 8D32
+8D33 8D36 8D3B 8D3D 8D40 8D45 8D46 8D48 8D49 8D47
+8D4D 8D55 8D59 89C7 89CA 89CB 89CC 89CE 89CF 89D0
+89D1 726E 729F 725D 7266 726F 727E 727F 7284 728B
+728D 728F 7292 6308 6332 63B0 643F 64D8 8004 6BEA
+6BF3 6BFD 6BF5 6BF9 6C05 6C07 6C06 6C0D 6C15 6C18
+6C19 6C1A 6C21 6C29 6C24 6C2A 6C32 6535 6555 656B
+724D 7252 7256 7230 8662 5216 809F 809C 8093 80BC
+670A 80BD 80B1 80AB 80AD 80B4 80B7 80E7 80E8 80E9
+80EA 80DB 80C2 80C4 80D9 80CD 80D7 6710 80DD 80EB
+80F1 80F4 80ED 810D 810E 80F2 80FC 6715 8112 8C5A
+8136 811E 812C 8118 8132 8148 814C 8153 8174 8159
+815A 8171 8160 8169 817C 817D 816D 8167 584D 5AB5
+8188 8182 8191 6ED5 81A3 81AA 81CC 6726 81CA 81BB
+81C1 81A6 6B24 6B37 6B39 6B43 6B46 6B59 98D1 98D2
+98D3 98D5 98D9 98DA 6BB3 5F40 6BC2 89F3 6590 9F51
+6593 65BC 65C6 65C4 65C3 65CC 65CE 65D2 65D6 7080
+709C 7096 709D 70BB 70C0 70B7 70AB 70B1 70E8 70CA
+7110 7113 7116 712F 7131 7173 715C 7168 7145 7172
+714A 7178 717A 7198 71B3 71B5 71A8 71A0 71E0 71D4
+71E7 71F9 721D 7228 706C 7118 7166 71B9 623E 623D
+6243 6248 6249 793B 7940 7946 7949 795B 795C 7953
+795A 7962 7957 7960 796F 7967 797A 7985 798A 799A
+79A7 79B3 5FD1 5FD0 603C 605D 605A 6067 6041 6059
+6063 60AB 6106 610D 615D 61A9 619D 61CB 61D1 6206
+8080 807F 6C93 6CF6 6DFC 77F6 77F8 7800 7809 7817
+7818 7811 65AB 782D 781C 781D 7839 783A 783B 781F
+783C 7825 782C 7823 7829 784E 786D 7856 7857 7826
+7850 7847 784C 786A 789B 7893 789A 7887 789C 78A1
+78A3 78B2 78B9 78A5 78D4 78D9 78C9 78EC 78F2 7905
+78F4 7913 7924 791E 7934 9F9B 9EF9 9EFB 9EFC 76F1
+7704 770D 76F9 7707 7708 771A 7722 7719 772D 7726
+7735 7738 7750 7751 7747 7743 775A 7768 7762 7765
+777F 778D 777D 7780 778C 7791 779F 77A0 77B0 77B5
+77BD 753A 7540 754E 754B 7548 755B 7572 7579 7583
+7F58 7F61 7F5F 8A48 7F68 7F74 7F71 7F79 7F81 7F7E
+76CD 76E5 8832 9485 9486 9487 948B 948A 948C 948D
+948F 9490 9494 9497 9495 949A 949B 949C 94A3 94A4
+94AB 94AA 94AD 94AC 94AF 94B0 94B2 94B4 94B6 94B7
+94B8 94B9 94BA 94BC 94BD 94BF 94C4 94C8 94C9 94CA
+94CB 94CC 94CD 94CE 94D0 94D1 94D2 94D5 94D6 94D7
+94D9 94D8 94DB 94DE 94DF 94E0 94E2 94E4 94E5 94E7
+94E8 94EA 94E9 94EB 94EE 94EF 94F3 94F4 94F5 94F7
+94F9 94FC 94FD 94FF 9503 9502 9506 9507 9509 950A
+950D 950E 950F 9512 9513 9514 9515 9516 9518 951B
+951D 951E 951F 9522 952A 952B 9529 952C 9531 9532
+9534 9536 9537 9538 953C 953E 953F 9542 9535 9544
+9545 9546 9549 954C 954E 954F 9552 9553 9554 9556
+9557 9558 9559 955B 955E 955F 955D 9561 9562 9564
+9565 9566 9567 9568 9569 956A 956B 956C 956F 9571
+9572 9573 953A 77E7 77EC 96C9 79D5 79ED 79E3 79EB
+7A06 5D47 7A03 7A02 7A1E 7A14 7A39 7A37 7A51 9ECF
+99A5 7A70 7688 768E 7693 7699 76A4 74DE 74E0 752C
+9E20 9E22 9E28 9E29 9E2A 9E2B 9E2C 9E32 9E31 9E36
+9E38 9E37 9E39 9E3A 9E3E 9E41 9E42 9E44 9E46 9E47
+9E48 9E49 9E4B 9E4C 9E4E 9E51 9E55 9E57 9E5A 9E5B
+9E5C 9E5E 9E63 9E66 9E67 9E68 9E69 9E6A 9E6B 9E6C
+9E71 9E6D 9E73 7592 7594 7596 75A0 759D 75AC 75A3
+75B3 75B4 75B8 75C4 75B1 75B0 75C3 75C2 75D6 75CD
+75E3 75E8 75E6 75E4 75EB 75E7 7603 75F1 75FC 75FF
+7610 7600 7605 760C 7617 760A 7625 7618 7615 7619
+761B 763C 7622 7620 7640 762D 7630 763F 7635 7643
+763E 7633 764D 765E 7654 765C 7656 766B 766F 7FCA
+7AE6 7A78 7A79 7A80 7A86 7A88 7A95 7AA6 7AA0 7AAC
+7AA8 7AAD 7AB3 8864 8869 8872 887D 887F 8882 88A2
+88C6 88B7 88BC 88C9 88E2 88CE 88E3 88E5 88F1 891A
+88FC 88E8 88FE 88F0 8921 8919 8913 891B 890A 8934
+892B 8936 8941 8966 897B 758B 80E5 76B2 76B4 77DC
+8012 8014 8016 801C 8020 8022 8025 8026 8027 8029
+8028 8031 800B 8035 8043 8046 804D 8052 8069 8071
+8983 9878 9880 9883 9889 988C 988D 988F 9894 989A
+989B 989E 989F 98A1 98A2 98A5 98A6 864D 8654 866C
+866E 867F 867A 867C 867B 86A8 868D 868B 86AC 869D
+86A7 86A3 86AA 8693 86A9 86B6 86C4 86B5 86CE 86B0
+86BA 86B1 86AF 86C9 86CF 86B4 86E9 86F1 86F2 86ED
+86F3 86D0 8713 86DE 86F4 86DF 86D8 86D1 8703 8707
+86F8 8708 870A 870D 8709 8723 873B 871E 8725 872E
+871A 873E 8748 8734 8731 8729 8737 873F 8782 8722
+877D 877E 877B 8760 8770 874C 876E 878B 8753 8763
+877C 8764 8759 8765 8793 87AF 87A8 87D2 87C6 8788
+8785 87AD 8797 8783 87AB 87E5 87AC 87B5 87B3 87CB
+87D3 87BD 87D1 87C0 87CA 87DB 87EA 87E0 87EE 8816
+8813 87FE 880A 881B 8821 8839 883C 7F36 7F42 7F44
+7F45 8210 7AFA 7AFD 7B08 7B03 7B04 7B15 7B0A 7B2B
+7B0F 7B47 7B38 7B2A 7B19 7B2E 7B31 7B20 7B25 7B24
+7B33 7B3E 7B1E 7B58 7B5A 7B45 7B75 7B4C 7B5D 7B60
+7B6E 7B7B 7B62 7B72 7B71 7B90 7BA6 7BA7 7BB8 7BAC
+7B9D 7BA8 7B85 7BAA 7B9C 7BA2 7BAB 7BB4 7BD1 7BC1
+7BCC 7BDD 7BDA 7BE5 7BE6 7BEA 7C0C 7BFE 7BFC 7C0F
+7C16 7C0B 7C1F 7C2A 7C26 7C38 7C41 7C40 81FE 8201
+8202 8204 81EC 8844 8221 8222 8223 822D 822F 8228
+822B 8238 823B 8233 8234 823E 8244 8249 824B 824F
+825A 825F 8268 887E 8885 8888 88D8 88DF 895E 7F9D
+7F9F 7FA7 7FAF 7FB0 7FB2 7C7C 6549 7C91 7C9D 7C9C
+7C9E 7CA2 7CB2 7CBC 7CBD 7CC1 7CC7 7CCC 7CCD 7CC8
+7CC5 7CD7 7CE8 826E 66A8 7FBF 7FCE 7FD5 7FE5 7FE1
+7FE6 7FE9 7FEE 7FF3 7CF8 7D77 7DA6 7DAE 7E47 7E9B
+9EB8 9EB4 8D73 8D84 8D94 8D91 8DB1 8D67 8D6D 8C47
+8C49 914A 9150 914E 914F 9164 9162 9161 9170 9169
+916F 917D 917E 9172 9174 9179 918C 9185 9190 918D
+9191 91A2 91A3 91AA 91AD 91AE 91AF 91B5 91B4 91BA
+8C55 9E7E 8DB8 8DEB 8E05 8E59 8E69 8DB5 8DBF 8DBC
+8DBA 8DC4 8DD6 8DD7 8DDA 8DDE 8DCE 8DCF 8DDB 8DC6
+8DEC 8DF7 8DF8 8DE3 8DF9 8DFB 8DE4 8E09 8DFD 8E14
+8E1D 8E1F 8E2C 8E2E 8E23 8E2F 8E3A 8E40 8E39 8E35
+8E3D 8E31 8E49 8E41 8E42 8E51 8E52 8E4A 8E70 8E76
+8E7C 8E6F 8E74 8E85 8E8F 8E94 8E90 8E9C 8E9E 8C78
+8C82 8C8A 8C85 8C98 8C94 659B 89D6 89DE 89DA 89DC
+89E5 89EB 89EF 8A3E 8B26 9753 96E9 96F3 96EF 9706
+9701 9708 970F 970E 972A 972D 9730 973E 9F80 9F83
+9F85 9F86 9F87 9F88 9F89 9F8A 9F8C 9EFE 9F0B 9F0D
+96B9 96BC 96BD 96CE 96D2 77BF 96E0 928E 92AE 92C8
+933E 936A 93CA 938F 943E 946B 9C7F 9C82 9C85 9C86
+9C87 9C88 7A23 9C8B 9C8E 9C90 9C91 9C92 9C94 9C95
+9C9A 9C9B 9C9E 9C9F 9CA0 9CA1 9CA2 9CA3 9CA5 9CA6
+9CA7 9CA8 9CA9 9CAB 9CAD 9CAE 9CB0 9CB1 9CB2 9CB3
+9CB4 9CB5 9CB6 9CB7 9CBA 9CBB 9CBC 9CBD 9CC4 9CC5
+9CC6 9CC7 9CCA 9CCB 9CCC 9CCD 9CCE 9CCF 9CD0 9CD3
+9CD4 9CD5 9CD7 9CD8 9CD9 9CDC 9CDD 9CDF 9CE2 977C
+9785 9791 9792 9794 97AF 97AB 97A3 97B2 97B4 9AB1
+9AB0 9AB7 9E58 9AB6 9ABA 9ABC 9AC1 9AC0 9AC5 9AC2
+9ACB 9ACC 9AD1 9B45 9B43 9B47 9B49 9B48 9B4D 9B51
+98E8 990D 992E 9955 9954 9ADF 9AE1 9AE6 9AEF 9AEB
+9AFB 9AED 9AF9 9B08 9B0F 9B13 9B1F 9B23 9EBD 9EBE
+7E3B 9E82 9E87 9E88 9E8B 9E92 93D6 9E9D 9E9F 9EDB
+9EDC 9EDD 9EE0 9EDF 9EE2 9EE9 9EE7 9EE5 9EEA 9EEF
+9F22 9F2C 9F2F 9F39 9F37 9F3D 9F3E 9F44
+__END__
+
+=head1 NAME
+
+Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate;
+ use Unicode::Collate::CJK::GB2312;
+
+ my $collator = Unicode::Collate->new(
+ overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312
+ );
+
+=head1 DESCRIPTION
+
+C<Unicode::Collate::CJK::GB2312> provides C<weightGB2312()>,
+that is adequate for C<overrideCJK> of C<Unicode::Collate>
+and makes tailoring of CJK Unified Ideographs in the order
+of CLDR's gb2312han ordering.
+
+=head1 CAVEAT
+
+The gb2312han ordering includes 5 code points in private use area
+(E2D8..E2DC), that can't utilize C<weightGB2312()> for collation.
+For them, use C<entry> instead.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item CLDR - Unicode Common Locale Data Repository
+
+L<http://cldr.unicode.org/>
+
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Collate::Locale>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/JISX0208.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/JISX0208.pm
new file mode 100644
index 00000000000..240466ab54c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/JISX0208.pm
@@ -0,0 +1,696 @@
+package Unicode::Collate::CJK::JISX0208;
+
+use 5.006;
+use strict;
+
+our $VERSION = '0.64';
+
+my %u2p;
+my $wt = 0x8000;
+
+while (<DATA>) {
+ last if /^__END__/;
+ my @c = split;
+ for my $c (@c) {
+ next if !$c;
+ $u2p{hex($c)} = $wt;
+ $wt++;
+ }
+}
+
+sub weightJISX0208 {
+ my $u = shift;
+ return exists $u2p{$u} ? $u2p{$u} : undef;
+}
+
+1;
+__DATA__
+4E9C 5516 5A03 963F 54C0 611B 6328 59F6 9022 8475
+831C 7A50 60AA 63E1 6E25 65ED 8466 82A6 9BF5 6893
+5727 65A1 6271 5B9B 59D0 867B 98F4 7D62 7DBE 9B8E
+6216 7C9F 88B7 5B89 5EB5 6309 6697 6848 95C7 978D
+674F 4EE5 4F0A 4F4D 4F9D 5049 56F2 5937 59D4 5A01
+5C09 60DF 610F 6170 6613 6905 70BA 754F 7570 79FB
+7DAD 7DEF 80C3 840E 8863 8B02 9055 907A 533B 4E95
+4EA5 57DF 80B2 90C1 78EF 4E00 58F1 6EA2 9038 7A32
+8328 828B 9C2F 5141 5370 54BD 54E1 56E0 59FB 5F15
+98F2 6DEB 80E4 852D 9662 9670 96A0 97FB 540B 53F3
+5B87 70CF 7FBD 8FC2 96E8 536F 9D5C 7ABA 4E11 7893
+81FC 6E26 5618 5504 6B1D 851A 9C3B 59E5 53A9 6D66
+74DC 958F 5642 4E91 904B 96F2 834F 990C 53E1 55B6
+5B30 5F71 6620 66F3 6804 6C38 6CF3 6D29 745B 76C8
+7A4E 9834 82F1 885B 8A60 92ED 6DB2 75AB 76CA 99C5
+60A6 8B01 8D8A 95B2 698E 53AD 5186 5712 5830 5944
+5BB4 5EF6 6028 63A9 63F4 6CBF 6F14 708E 7114 7159
+71D5 733F 7E01 8276 82D1 8597 9060 925B 9D1B 5869
+65BC 6C5A 7525 51F9 592E 5965 5F80 5FDC 62BC 65FA
+6A2A 6B27 6BB4 738B 7FC1 8956 9D2C 9D0E 9EC4 5CA1
+6C96 837B 5104 5C4B 61B6 81C6 6876 7261 4E59 4FFA
+5378 6069 6E29 7A4F 97F3 4E0B 5316 4EEE 4F55 4F3D
+4FA1 4F73 52A0 53EF 5609 590F 5AC1 5BB6 5BE1 79D1
+6687 679C 67B6 6B4C 6CB3 706B 73C2 798D 79BE 7A3C
+7B87 82B1 82DB 8304 8377 83EF 83D3 8766 8AB2 5629
+8CA8 8FE6 904E 971E 868A 4FC4 5CE8 6211 7259 753B
+81E5 82BD 86FE 8CC0 96C5 9913 99D5 4ECB 4F1A 89E3
+56DE 584A 58CA 5EFB 5FEB 602A 6094 6062 61D0 6212
+62D0 6539 9B41 6666 68B0 6D77 7070 754C 7686 7D75
+82A5 87F9 958B 968E 8C9D 51F1 52BE 5916 54B3 5BB3
+5D16 6168 6982 6DAF 788D 84CB 8857 8A72 93A7 9AB8
+6D6C 99A8 86D9 57A3 67FF 86CE 920E 5283 5687 5404
+5ED3 62E1 64B9 683C 6838 6BBB 7372 78BA 7A6B 899A
+89D2 8D6B 8F03 90ED 95A3 9694 9769 5B66 5CB3 697D
+984D 984E 639B 7B20 6A2B 6A7F 68B6 9C0D 6F5F 5272
+559D 6070 62EC 6D3B 6E07 6ED1 845B 8910 8F44 4E14
+9C39 53F6 691B 6A3A 9784 682A 515C 7AC3 84B2 91DC
+938C 565B 9D28 6822 8305 8431 7CA5 5208 82C5 74E6
+4E7E 4F83 51A0 5BD2 520A 52D8 52E7 5DFB 559A 582A
+59E6 5B8C 5B98 5BDB 5E72 5E79 60A3 611F 6163 61BE
+63DB 6562 67D1 6853 68FA 6B3E 6B53 6C57 6F22 6F97
+6F45 74B0 7518 76E3 770B 7AFF 7BA1 7C21 7DE9 7F36
+7FF0 809D 8266 839E 89B3 8ACC 8CAB 9084 9451 9593
+9591 95A2 9665 97D3 9928 8218 4E38 542B 5CB8 5DCC
+73A9 764C 773C 5CA9 7FEB 8D0B 96C1 9811 9854 9858
+4F01 4F0E 5371 559C 5668 57FA 5947 5B09 5BC4 5C90
+5E0C 5E7E 5FCC 63EE 673A 65D7 65E2 671F 68CB 68C4
+6A5F 5E30 6BC5 6C17 6C7D 757F 7948 5B63 7A00 7D00
+5FBD 898F 8A18 8CB4 8D77 8ECC 8F1D 98E2 9A0E 9B3C
+4E80 507D 5100 5993 5B9C 622F 6280 64EC 6B3A 72A0
+7591 7947 7FA9 87FB 8ABC 8B70 63AC 83CA 97A0 5409
+5403 55AB 6854 6A58 8A70 7827 6775 9ECD 5374 5BA2
+811A 8650 9006 4E18 4E45 4EC7 4F11 53CA 5438 5BAE
+5F13 6025 6551 673D 6C42 6C72 6CE3 7078 7403 7A76
+7AAE 7B08 7D1A 7CFE 7D66 65E7 725B 53BB 5C45 5DE8
+62D2 62E0 6319 6E20 865A 8A31 8DDD 92F8 6F01 79A6
+9B5A 4EA8 4EAB 4EAC 4F9B 4FA0 50D1 5147 7AF6 5171
+51F6 5354 5321 537F 53EB 55AC 5883 5CE1 5F37 5F4A
+602F 6050 606D 631F 6559 6A4B 6CC1 72C2 72ED 77EF
+80F8 8105 8208 854E 90F7 93E1 97FF 9957 9A5A 4EF0
+51DD 5C2D 6681 696D 5C40 66F2 6975 7389 6850 7C81
+50C5 52E4 5747 5DFE 9326 65A4 6B23 6B3D 7434 7981
+79BD 7B4B 7DCA 82B9 83CC 887F 895F 8B39 8FD1 91D1
+541F 9280 4E5D 5036 53E5 533A 72D7 7396 77E9 82E6
+8EAF 99C6 99C8 99D2 5177 611A 865E 55B0 7A7A 5076
+5BD3 9047 9685 4E32 6ADB 91E7 5C51 5C48 6398 7A9F
+6C93 9774 8F61 7AAA 718A 9688 7C82 6817 7E70 6851
+936C 52F2 541B 85AB 8A13 7FA4 8ECD 90E1 5366 8888
+7941 4FC2 50BE 5211 5144 5553 572D 73EA 578B 5951
+5F62 5F84 6075 6176 6167 61A9 63B2 643A 656C 666F
+6842 6E13 7566 7A3D 7CFB 7D4C 7D99 7E4B 7F6B 830E
+834A 86CD 8A08 8A63 8B66 8EFD 981A 9D8F 82B8 8FCE
+9BE8 5287 621F 6483 6FC0 9699 6841 5091 6B20 6C7A
+6F54 7A74 7D50 8840 8A23 6708 4EF6 5039 5026 5065
+517C 5238 5263 55A7 570F 5805 5ACC 5EFA 61B2 61F8
+62F3 6372 691C 6A29 727D 72AC 732E 7814 786F 7D79
+770C 80A9 898B 8B19 8CE2 8ED2 9063 9375 967A 9855
+9A13 9E78 5143 539F 53B3 5E7B 5F26 6E1B 6E90 7384
+73FE 7D43 8237 8A00 8AFA 9650 4E4E 500B 53E4 547C
+56FA 59D1 5B64 5DF1 5EAB 5F27 6238 6545 67AF 6E56
+72D0 7CCA 88B4 80A1 80E1 83F0 864E 8A87 8DE8 9237
+96C7 9867 9F13 4E94 4E92 4F0D 5348 5449 543E 5A2F
+5F8C 5FA1 609F 68A7 6A8E 745A 7881 8A9E 8AA4 8B77
+9190 4E5E 9BC9 4EA4 4F7C 4FAF 5019 5016 5149 516C
+529F 52B9 52FE 539A 53E3 5411 540E 5589 5751 57A2
+597D 5B54 5B5D 5B8F 5DE5 5DE7 5DF7 5E78 5E83 5E9A
+5EB7 5F18 6052 614C 6297 62D8 63A7 653B 6602 6643
+66F4 676D 6821 6897 69CB 6C5F 6D2A 6D69 6E2F 6E9D
+7532 7687 786C 7A3F 7CE0 7D05 7D18 7D5E 7DB1 8015
+8003 80AF 80B1 8154 818F 822A 8352 884C 8861 8B1B
+8CA2 8CFC 90CA 9175 9271 783F 92FC 95A4 964D 9805
+9999 9AD8 9D3B 525B 52AB 53F7 5408 58D5 62F7 6FE0
+8C6A 8F5F 9EB9 514B 523B 544A 56FD 7A40 9177 9D60
+9ED2 7344 6F09 8170 7511 5FFD 60DA 9AA8 72DB 8FBC
+6B64 9803 4ECA 56F0 5764 58BE 5A5A 6068 61C7 660F
+6606 6839 68B1 6DF7 75D5 7D3A 826E 9B42 4E9B 4F50
+53C9 5506 5D6F 5DE6 5DEE 67FB 6C99 7473 7802 8A50
+9396 88DF 5750 5EA7 632B 50B5 50AC 518D 6700 54C9
+585E 59BB 5BB0 5F69 624D 63A1 683D 6B73 6E08 707D
+91C7 7280 7815 7826 796D 658E 7D30 83DC 88C1 8F09
+969B 5264 5728 6750 7F6A 8CA1 51B4 5742 962A 583A
+698A 80B4 54B2 5D0E 57FC 7895 9DFA 4F5C 524A 548B
+643E 6628 6714 67F5 7A84 7B56 7D22 932F 685C 9BAD
+7B39 5319 518A 5237 5BDF 62F6 64AE 64E6 672D 6BBA
+85A9 96D1 7690 9BD6 634C 9306 9BAB 76BF 6652 4E09
+5098 53C2 5C71 60E8 6492 6563 685F 71E6 73CA 7523
+7B97 7E82 8695 8B83 8CDB 9178 9910 65AC 66AB 6B8B
+4ED5 4ED4 4F3A 4F7F 523A 53F8 53F2 55E3 56DB 58EB
+59CB 59C9 59FF 5B50 5C4D 5E02 5E2B 5FD7 601D 6307
+652F 5B5C 65AF 65BD 65E8 679D 6B62 6B7B 6C0F 7345
+7949 79C1 7CF8 7D19 7D2B 80A2 8102 81F3 8996 8A5E
+8A69 8A66 8A8C 8AEE 8CC7 8CDC 96CC 98FC 6B6F 4E8B
+4F3C 4F8D 5150 5B57 5BFA 6148 6301 6642 6B21 6ECB
+6CBB 723E 74BD 75D4 78C1 793A 800C 8033 81EA 8494
+8F9E 6C50 9E7F 5F0F 8B58 9D2B 7AFA 8EF8 5B8D 96EB
+4E03 53F1 57F7 5931 5AC9 5BA4 6089 6E7F 6F06 75BE
+8CEA 5B9F 8500 7BE0 5072 67F4 829D 5C61 854A 7E1E
+820E 5199 5C04 6368 8D66 659C 716E 793E 7D17 8005
+8B1D 8ECA 906E 86C7 90AA 501F 52FA 5C3A 6753 707C
+7235 914C 91C8 932B 82E5 5BC2 5F31 60F9 4E3B 53D6
+5B88 624B 6731 6B8A 72E9 73E0 7A2E 816B 8DA3 9152
+9996 5112 53D7 546A 5BFF 6388 6A39 7DAC 9700 56DA
+53CE 5468 5B97 5C31 5DDE 4FEE 6101 62FE 6D32 79C0
+79CB 7D42 7E4D 7FD2 81ED 821F 8490 8846 8972 8B90
+8E74 8F2F 9031 914B 916C 96C6 919C 4EC0 4F4F 5145
+5341 5F93 620E 67D4 6C41 6E0B 7363 7E26 91CD 9283
+53D4 5919 5BBF 6DD1 795D 7E2E 7C9B 587E 719F 51FA
+8853 8FF0 4FCA 5CFB 6625 77AC 7AE3 821C 99FF 51C6
+5FAA 65EC 696F 6B89 6DF3 6E96 6F64 76FE 7D14 5DE1
+9075 9187 9806 51E6 521D 6240 6691 66D9 6E1A 5EB6
+7DD2 7F72 66F8 85AF 85F7 8AF8 52A9 53D9 5973 5E8F
+5F90 6055 92E4 9664 50B7 511F 52DD 5320 5347 53EC
+54E8 5546 5531 5617 5968 59BE 5A3C 5BB5 5C06 5C0F
+5C11 5C1A 5E84 5E8A 5EE0 5F70 627F 6284 62DB 638C
+6377 6607 660C 662D 6676 677E 68A2 6A1F 6A35 6CBC
+6D88 6E09 6E58 713C 7126 7167 75C7 7701 785D 7901
+7965 79F0 7AE0 7B11 7CA7 7D39 8096 83D6 848B 8549
+885D 88F3 8A1F 8A3C 8A54 8A73 8C61 8CDE 91A4 9266
+937E 9418 969C 9798 4E0A 4E08 4E1E 4E57 5197 5270
+57CE 5834 58CC 5B22 5E38 60C5 64FE 6761 6756 6D44
+72B6 7573 7A63 84B8 8B72 91B8 9320 5631 57F4 98FE
+62ED 690D 6B96 71ED 7E54 8077 8272 89E6 98DF 8755
+8FB1 5C3B 4F38 4FE1 4FB5 5507 5A20 5BDD 5BE9 5FC3
+614E 632F 65B0 664B 68EE 699B 6D78 6DF1 7533 75B9
+771F 795E 79E6 7D33 81E3 82AF 85AA 89AA 8A3A 8EAB
+8F9B 9032 91DD 9707 4EBA 4EC1 5203 5875 58EC 5C0B
+751A 5C3D 814E 8A0A 8FC5 9663 976D 7B25 8ACF 9808
+9162 56F3 53A8 9017 5439 5782 5E25 63A8 6C34 708A
+7761 7C8B 7FE0 8870 9042 9154 9310 9318 968F 745E
+9AC4 5D07 5D69 6570 67A2 8DA8 96DB 636E 6749 6919
+83C5 9817 96C0 88FE 6F84 647A 5BF8 4E16 702C 755D
+662F 51C4 5236 52E2 59D3 5F81 6027 6210 653F 6574
+661F 6674 68F2 6816 6B63 6E05 7272 751F 76DB 7CBE
+8056 58F0 88FD 897F 8AA0 8A93 8ACB 901D 9192 9752
+9759 6589 7A0E 8106 96BB 5E2D 60DC 621A 65A5 6614
+6790 77F3 7A4D 7C4D 7E3E 810A 8CAC 8D64 8DE1 8E5F
+78A9 5207 62D9 63A5 6442 6298 8A2D 7A83 7BC0 8AAC
+96EA 7D76 820C 8749 4ED9 5148 5343 5360 5BA3 5C02
+5C16 5DDD 6226 6247 64B0 6813 6834 6CC9 6D45 6D17
+67D3 6F5C 714E 717D 65CB 7A7F 7BAD 7DDA 7E4A 7FA8
+817A 821B 8239 85A6 8A6E 8CCE 8DF5 9078 9077 92AD
+9291 9583 9BAE 524D 5584 6F38 7136 5168 7985 7E55
+81B3 7CCE 564C 5851 5CA8 63AA 66FE 66FD 695A 72D9
+758F 758E 790E 7956 79DF 7C97 7D20 7D44 8607 8A34
+963B 9061 9F20 50E7 5275 53CC 53E2 5009 55AA 58EE
+594F 723D 5B8B 5C64 531D 60E3 60F3 635C 6383 633F
+63BB 64CD 65E9 66F9 5DE3 69CD 69FD 6F15 71E5 4E89
+75E9 76F8 7A93 7CDF 7DCF 7D9C 8061 8349 8358 846C
+84BC 85FB 88C5 8D70 9001 906D 9397 971C 9A12 50CF
+5897 618E 81D3 8535 8D08 9020 4FC3 5074 5247 5373
+606F 6349 675F 6E2C 8DB3 901F 4FD7 5C5E 8CCA 65CF
+7D9A 5352 8896 5176 63C3 5B58 5B6B 5C0A 640D 6751
+905C 4ED6 591A 592A 6C70 8A51 553E 5815 59A5 60F0
+6253 67C1 8235 6955 9640 99C4 9A28 4F53 5806 5BFE
+8010 5CB1 5E2F 5F85 6020 614B 6234 66FF 6CF0 6EDE
+80CE 817F 82D4 888B 8CB8 9000 902E 968A 9EDB 9BDB
+4EE3 53F0 5927 7B2C 918D 984C 9DF9 6EDD 7027 5353
+5544 5B85 6258 629E 62D3 6CA2 6FEF 7422 8A17 9438
+6FC1 8AFE 8338 51E7 86F8 53EA 53E9 4F46 9054 8FB0
+596A 8131 5DFD 7AEA 8FBF 68DA 8C37 72F8 9C48 6A3D
+8AB0 4E39 5358 5606 5766 62C5 63A2 65E6 6B4E 6DE1
+6E5B 70AD 77ED 7AEF 7BAA 7DBB 803D 80C6 86CB 8A95
+935B 56E3 58C7 5F3E 65AD 6696 6A80 6BB5 7537 8AC7
+5024 77E5 5730 5F1B 6065 667A 6C60 75F4 7A1A 7F6E
+81F4 8718 9045 99B3 7BC9 755C 7AF9 7B51 84C4 9010
+79E9 7A92 8336 5AE1 7740 4E2D 4EF2 5B99 5FE0 62BD
+663C 67F1 6CE8 866B 8877 8A3B 914E 92F3 99D0 6A17
+7026 732A 82E7 8457 8CAF 4E01 5146 51CB 558B 5BF5
+5E16 5E33 5E81 5F14 5F35 5F6B 5FB4 61F2 6311 66A2
+671D 6F6E 7252 753A 773A 8074 8139 8178 8776 8ABF
+8ADC 8D85 8DF3 929A 9577 9802 9CE5 52C5 6357 76F4
+6715 6C88 73CD 8CC3 93AE 9673 6D25 589C 690E 69CC
+8FFD 939A 75DB 901A 585A 6802 63B4 69FB 4F43 6F2C
+67D8 8FBB 8526 7DB4 9354 693F 6F70 576A 58F7 5B2C
+7D2C 722A 540A 91E3 9DB4 4EAD 4F4E 505C 5075 5243
+8C9E 5448 5824 5B9A 5E1D 5E95 5EAD 5EF7 5F1F 608C
+62B5 633A 63D0 68AF 6C40 7887 798E 7A0B 7DE0 8247
+8A02 8AE6 8E44 9013 90B8 912D 91D8 9F0E 6CE5 6458
+64E2 6575 6EF4 7684 7B1B 9069 93D1 6EBA 54F2 5FB9
+64A4 8F4D 8FED 9244 5178 586B 5929 5C55 5E97 6DFB
+7E8F 751C 8CBC 8EE2 985B 70B9 4F1D 6BBF 6FB1 7530
+96FB 514E 5410 5835 5857 59AC 5C60 5F92 6597 675C
+6E21 767B 83DF 8CED 9014 90FD 934D 7825 783A 52AA
+5EA6 571F 5974 6012 5012 515A 51AC 51CD 5200 5510
+5854 5858 5957 5B95 5CF6 5D8B 60BC 6295 642D 6771
+6843 68BC 68DF 76D7 6DD8 6E6F 6D9B 706F 71C8 5F53
+75D8 7977 7B49 7B54 7B52 7CD6 7D71 5230 8463 8569
+85E4 8A0E 8B04 8C46 8E0F 9003 900F 9419 9676 982D
+9A30 95D8 50CD 52D5 540C 5802 5C0E 61A7 649E 6D1E
+77B3 7AE5 80F4 8404 9053 9285 5CE0 9D07 533F 5F97
+5FB3 6D9C 7279 7763 79BF 7BE4 6BD2 72EC 8AAD 6803
+6A61 51F8 7A81 6934 5C4A 9CF6 82EB 5BC5 9149 701E
+5678 5C6F 60C7 6566 6C8C 8C5A 9041 9813 5451 66C7
+920D 5948 90A3 5185 4E4D 51EA 8599 8B0E 7058 637A
+934B 6962 99B4 7E04 7577 5357 6960 8EDF 96E3 6C5D
+4E8C 5C3C 5F10 8FE9 5302 8CD1 8089 8679 5EFF 65E5
+4E73 5165 5982 5C3F 97EE 4EFB 598A 5FCD 8A8D 6FE1
+79B0 7962 5BE7 8471 732B 71B1 5E74 5FF5 637B 649A
+71C3 7C98 4E43 5EFC 4E4B 57DC 56A2 60A9 6FC3 7D0D
+80FD 8133 81BF 8FB2 8997 86A4 5DF4 628A 64AD 8987
+6777 6CE2 6D3E 7436 7834 5A46 7F75 82AD 99AC 4FF3
+5EC3 62DD 6392 6557 676F 76C3 724C 80CC 80BA 8F29
+914D 500D 57F9 5A92 6885 6973 7164 72FD 8CB7 58F2
+8CE0 966A 9019 877F 79E4 77E7 8429 4F2F 5265 535A
+62CD 67CF 6CCA 767D 7B94 7C95 8236 8584 8FEB 66DD
+6F20 7206 7E1B 83AB 99C1 9EA6 51FD 7BB1 7872 7BB8
+8087 7B48 6AE8 5E61 808C 7551 7560 516B 9262 6E8C
+767A 9197 9AEA 4F10 7F70 629C 7B4F 95A5 9CE9 567A
+5859 86E4 96BC 4F34 5224 534A 53CD 53DB 5E06 642C
+6591 677F 6C3E 6C4E 7248 72AF 73ED 7554 7E41 822C
+85E9 8CA9 7BC4 91C6 7169 9812 98EF 633D 6669 756A
+76E4 78D0 8543 86EE 532A 5351 5426 5983 5E87 5F7C
+60B2 6249 6279 62AB 6590 6BD4 6CCC 75B2 76AE 7891
+79D8 7DCB 7F77 80A5 88AB 8AB9 8CBB 907F 975E 98DB
+6A0B 7C38 5099 5C3E 5FAE 6787 6BD8 7435 7709 7F8E
+9F3B 67CA 7A17 5339 758B 9AED 5F66 819D 83F1 8098
+5F3C 5FC5 7562 7B46 903C 6867 59EB 5A9B 7D10 767E
+8B2C 4FF5 5F6A 6A19 6C37 6F02 74E2 7968 8868 8A55
+8C79 5EDF 63CF 75C5 79D2 82D7 9328 92F2 849C 86ED
+9C2D 54C1 5F6C 658C 6D5C 7015 8CA7 8CD3 983B 654F
+74F6 4E0D 4ED8 57E0 592B 5A66 5BCC 51A8 5E03 5E9C
+6016 6276 6577 65A7 666E 6D6E 7236 7B26 8150 819A
+8299 8B5C 8CA0 8CE6 8D74 961C 9644 4FAE 64AB 6B66
+821E 8461 856A 90E8 5C01 6953 98A8 847A 8557 4F0F
+526F 5FA9 5E45 670D 798F 8179 8907 8986 6DF5 5F17
+6255 6CB8 4ECF 7269 9B92 5206 543B 5674 58B3 61A4
+626E 711A 596E 7C89 7CDE 7D1B 96F0 6587 805E 4E19
+4F75 5175 5840 5E63 5E73 5F0A 67C4 4E26 853D 9589
+965B 7C73 9801 50FB 58C1 7656 78A7 5225 77A5 8511
+7B86 504F 5909 7247 7BC7 7DE8 8FBA 8FD4 904D 4FBF
+52C9 5A29 5F01 97AD 4FDD 8217 92EA 5703 6355 6B69
+752B 88DC 8F14 7A42 52DF 5893 6155 620A 66AE 6BCD
+7C3F 83E9 5023 4FF8 5305 5446 5831 5949 5B9D 5CF0
+5CEF 5D29 5E96 62B1 6367 653E 65B9 670B 6CD5 6CE1
+70F9 7832 7E2B 80DE 82B3 840C 84EC 8702 8912 8A2A
+8C4A 90A6 92D2 98FD 9CF3 9D6C 4E4F 4EA1 508D 5256
+574A 59A8 5E3D 5FD8 5FD9 623F 66B4 671B 67D0 68D2
+5192 7D21 80AA 81A8 8B00 8C8C 8CBF 927E 9632 5420
+982C 5317 50D5 535C 58A8 64B2 6734 7267 7766 7A46
+91E6 52C3 6CA1 6B86 5800 5E4C 5954 672C 7FFB 51E1
+76C6 6469 78E8 9B54 9EBB 57CB 59B9 6627 679A 6BCE
+54E9 69D9 5E55 819C 6795 9BAA 67FE 9C52 685D 4EA6
+4FE3 53C8 62B9 672B 6CAB 8FC4 4FAD 7E6D 9EBF 4E07
+6162 6E80 6F2B 8513 5473 672A 9B45 5DF3 7B95 5CAC
+5BC6 871C 6E4A 84D1 7A14 8108 5999 7C8D 6C11 7720
+52D9 5922 7121 725F 77DB 9727 9D61 690B 5A7F 5A18
+51A5 540D 547D 660E 76DF 8FF7 9298 9CF4 59EA 725D
+6EC5 514D 68C9 7DBF 7DEC 9762 9EBA 6478 6A21 8302
+5984 5B5F 6BDB 731B 76F2 7DB2 8017 8499 5132 6728
+9ED9 76EE 6762 52FF 9905 5C24 623B 7C7E 8CB0 554F
+60B6 7D0B 9580 5301 4E5F 51B6 591C 723A 8036 91CE
+5F25 77E2 5384 5F79 7D04 85AC 8A33 8E8D 9756 67F3
+85AE 9453 6109 6108 6CB9 7652 8AED 8F38 552F 4F51
+512A 52C7 53CB 5BA5 5E7D 60A0 6182 63D6 6709 67DA
+6E67 6D8C 7336 7337 7531 7950 88D5 8A98 904A 9091
+90F5 96C4 878D 5915 4E88 4F59 4E0E 8A89 8F3F 9810
+50AD 5E7C 5996 5BB9 5EB8 63DA 63FA 64C1 66DC 694A
+69D8 6D0B 6EB6 7194 7528 7AAF 7F8A 8000 8449 84C9
+8981 8B21 8E0A 9065 967D 990A 617E 6291 6B32 6C83
+6D74 7FCC 7FFC 6DC0 7F85 87BA 88F8 6765 83B1 983C
+96F7 6D1B 7D61 843D 916A 4E71 5375 5D50 6B04 6FEB
+85CD 862D 89A7 5229 540F 5C65 674E 68A8 7406 7483
+75E2 88CF 88E1 91CC 96E2 9678 5F8B 7387 7ACB 844E
+63A0 7565 5289 6D41 6E9C 7409 7559 786B 7C92 9686
+7ADC 9F8D 4FB6 616E 65C5 865C 4E86 4EAE 50DA 4E21
+51CC 5BEE 6599 6881 6DBC 731F 7642 77AD 7A1C 7CE7
+826F 8AD2 907C 91CF 9675 9818 529B 7DD1 502B 5398
+6797 6DCB 71D0 7433 81E8 8F2A 96A3 9C57 9E9F 7460
+5841 6D99 7D2F 985E 4EE4 4F36 4F8B 51B7 52B1 5DBA
+601C 73B2 793C 82D3 9234 96B7 96F6 970A 9E97 9F62
+66A6 6B74 5217 52A3 70C8 88C2 5EC9 604B 6190 6F23
+7149 7C3E 7DF4 806F 84EE 9023 932C 5442 9B6F 6AD3
+7089 8CC2 8DEF 9732 52B4 5A41 5ECA 5F04 6717 697C
+6994 6D6A 6F0F 7262 72FC 7BED 8001 807E 874B 90CE
+516D 9E93 7984 808B 9332 8AD6 502D 548C 8A71 6B6A
+8CC4 8107 60D1 67A0 9DF2 4E99 4E98 9C10 8A6B 85C1
+8568 6900 6E7E 7897 8155 5F0C 4E10 4E15 4E2A 4E31
+4E36 4E3C 4E3F 4E42 4E56 4E58 4E82 4E85 8C6B 4E8A
+8212 5F0D 4E8E 4E9E 4E9F 4EA0 4EA2 4EB0 4EB3 4EB6
+4ECE 4ECD 4EC4 4EC6 4EC2 4ED7 4EDE 4EED 4EDF 4EF7
+4F09 4F5A 4F30 4F5B 4F5D 4F57 4F47 4F76 4F88 4F8F
+4F98 4F7B 4F69 4F70 4F91 4F6F 4F86 4F96 5118 4FD4
+4FDF 4FCE 4FD8 4FDB 4FD1 4FDA 4FD0 4FE4 4FE5 501A
+5028 5014 502A 5025 5005 4F1C 4FF6 5021 5029 502C
+4FFE 4FEF 5011 5006 5043 5047 6703 5055 5050 5048
+505A 5056 506C 5078 5080 509A 5085 50B4 50B2 50C9
+50CA 50B3 50C2 50D6 50DE 50E5 50ED 50E3 50EE 50F9
+50F5 5109 5101 5102 5116 5115 5114 511A 5121 513A
+5137 513C 513B 513F 5140 5152 514C 5154 5162 7AF8
+5169 516A 516E 5180 5182 56D8 518C 5189 518F 5191
+5193 5195 5196 51A4 51A6 51A2 51A9 51AA 51AB 51B3
+51B1 51B2 51B0 51B5 51BD 51C5 51C9 51DB 51E0 8655
+51E9 51ED 51F0 51F5 51FE 5204 520B 5214 520E 5227
+522A 522E 5233 5239 524F 5244 524B 524C 525E 5254
+526A 5274 5269 5273 527F 527D 528D 5294 5292 5271
+5288 5291 8FA8 8FA7 52AC 52AD 52BC 52B5 52C1 52CD
+52D7 52DE 52E3 52E6 98ED 52E0 52F3 52F5 52F8 52F9
+5306 5308 7538 530D 5310 530F 5315 531A 5323 532F
+5331 5333 5338 5340 5346 5345 4E17 5349 534D 51D6
+535E 5369 536E 5918 537B 5377 5382 5396 53A0 53A6
+53A5 53AE 53B0 53B6 53C3 7C12 96D9 53DF 66FC 71EE
+53EE 53E8 53ED 53FA 5401 543D 5440 542C 542D 543C
+542E 5436 5429 541D 544E 548F 5475 548E 545F 5471
+5477 5470 5492 547B 5480 5476 5484 5490 5486 54C7
+54A2 54B8 54A5 54AC 54C4 54C8 54A8 54AB 54C2 54A4
+54BE 54BC 54D8 54E5 54E6 550F 5514 54FD 54EE 54ED
+54FA 54E2 5539 5540 5563 554C 552E 555C 5545 5556
+5557 5538 5533 555D 5599 5580 54AF 558A 559F 557B
+557E 5598 559E 55AE 557C 5583 55A9 5587 55A8 55DA
+55C5 55DF 55C4 55DC 55E4 55D4 5614 55F7 5616 55FE
+55FD 561B 55F9 564E 5650 71DF 5634 5636 5632 5638
+566B 5664 562F 566C 566A 5686 5680 568A 56A0 5694
+568F 56A5 56AE 56B6 56B4 56C2 56BC 56C1 56C3 56C0
+56C8 56CE 56D1 56D3 56D7 56EE 56F9 5700 56FF 5704
+5709 5708 570B 570D 5713 5718 5716 55C7 571C 5726
+5737 5738 574E 573B 5740 574F 5769 57C0 5788 5761
+577F 5789 5793 57A0 57B3 57A4 57AA 57B0 57C3 57C6
+57D4 57D2 57D3 580A 57D6 57E3 580B 5819 581D 5872
+5821 5862 584B 5870 6BC0 5852 583D 5879 5885 58B9
+589F 58AB 58BA 58DE 58BB 58B8 58AE 58C5 58D3 58D1
+58D7 58D9 58D8 58E5 58DC 58E4 58DF 58EF 58FA 58F9
+58FB 58FC 58FD 5902 590A 5910 591B 68A6 5925 592C
+592D 5932 5938 593E 7AD2 5955 5950 594E 595A 5958
+5962 5960 5967 596C 5969 5978 5981 599D 4F5E 4FAB
+59A3 59B2 59C6 59E8 59DC 598D 59D9 59DA 5A25 5A1F
+5A11 5A1C 5A09 5A1A 5A40 5A6C 5A49 5A35 5A36 5A62
+5A6A 5A9A 5ABC 5ABE 5ACB 5AC2 5ABD 5AE3 5AD7 5AE6
+5AE9 5AD6 5AFA 5AFB 5B0C 5B0B 5B16 5B32 5AD0 5B2A
+5B36 5B3E 5B43 5B45 5B40 5B51 5B55 5B5A 5B5B 5B65
+5B69 5B70 5B73 5B75 5B78 6588 5B7A 5B80 5B83 5BA6
+5BB8 5BC3 5BC7 5BC9 5BD4 5BD0 5BE4 5BE6 5BE2 5BDE
+5BE5 5BEB 5BF0 5BF6 5BF3 5C05 5C07 5C08 5C0D 5C13
+5C20 5C22 5C28 5C38 5C39 5C41 5C46 5C4E 5C53 5C50
+5C4F 5B71 5C6C 5C6E 4E62 5C76 5C79 5C8C 5C91 5C94
+599B 5CAB 5CBB 5CB6 5CBC 5CB7 5CC5 5CBE 5CC7 5CD9
+5CE9 5CFD 5CFA 5CED 5D8C 5CEA 5D0B 5D15 5D17 5D5C
+5D1F 5D1B 5D11 5D14 5D22 5D1A 5D19 5D18 5D4C 5D52
+5D4E 5D4B 5D6C 5D73 5D76 5D87 5D84 5D82 5DA2 5D9D
+5DAC 5DAE 5DBD 5D90 5DB7 5DBC 5DC9 5DCD 5DD3 5DD2
+5DD6 5DDB 5DEB 5DF2 5DF5 5E0B 5E1A 5E19 5E11 5E1B
+5E36 5E37 5E44 5E43 5E40 5E4E 5E57 5E54 5E5F 5E62
+5E64 5E47 5E75 5E76 5E7A 9EBC 5E7F 5EA0 5EC1 5EC2
+5EC8 5ED0 5ECF 5ED6 5EE3 5EDD 5EDA 5EDB 5EE2 5EE1
+5EE8 5EE9 5EEC 5EF1 5EF3 5EF0 5EF4 5EF8 5EFE 5F03
+5F09 5F5D 5F5C 5F0B 5F11 5F16 5F29 5F2D 5F38 5F41
+5F48 5F4C 5F4E 5F2F 5F51 5F56 5F57 5F59 5F61 5F6D
+5F73 5F77 5F83 5F82 5F7F 5F8A 5F88 5F91 5F87 5F9E
+5F99 5F98 5FA0 5FA8 5FAD 5FBC 5FD6 5FFB 5FE4 5FF8
+5FF1 5FDD 60B3 5FFF 6021 6060 6019 6010 6029 600E
+6031 601B 6015 602B 6026 600F 603A 605A 6041 606A
+6077 605F 604A 6046 604D 6063 6043 6064 6042 606C
+606B 6059 6081 608D 60E7 6083 609A 6084 609B 6096
+6097 6092 60A7 608B 60E1 60B8 60E0 60D3 60B4 5FF0
+60BD 60C6 60B5 60D8 614D 6115 6106 60F6 60F7 6100
+60F4 60FA 6103 6121 60FB 60F1 610D 610E 6147 613E
+6128 6127 614A 613F 613C 612C 6134 613D 6142 6144
+6173 6177 6158 6159 615A 616B 6174 616F 6165 6171
+615F 615D 6153 6175 6199 6196 6187 61AC 6194 619A
+618A 6191 61AB 61AE 61CC 61CA 61C9 61F7 61C8 61C3
+61C6 61BA 61CB 7F79 61CD 61E6 61E3 61F6 61FA 61F4
+61FF 61FD 61FC 61FE 6200 6208 6209 620D 620C 6214
+621B 621E 6221 622A 622E 6230 6232 6233 6241 624E
+625E 6263 625B 6260 6268 627C 6282 6289 627E 6292
+6293 6296 62D4 6283 6294 62D7 62D1 62BB 62CF 62FF
+62C6 64D4 62C8 62DC 62CC 62CA 62C2 62C7 629B 62C9
+630C 62EE 62F1 6327 6302 6308 62EF 62F5 6350 633E
+634D 641C 634F 6396 638E 6380 63AB 6376 63A3 638F
+6389 639F 63B5 636B 6369 63BE 63E9 63C0 63C6 63E3
+63C9 63D2 63F6 63C4 6416 6434 6406 6413 6426 6436
+651D 6417 6428 640F 6467 646F 6476 644E 652A 6495
+6493 64A5 64A9 6488 64BC 64DA 64D2 64C5 64C7 64BB
+64D8 64C2 64F1 64E7 8209 64E0 64E1 62AC 64E3 64EF
+652C 64F6 64F4 64F2 64FA 6500 64FD 6518 651C 6505
+6524 6523 652B 6534 6535 6537 6536 6538 754B 6548
+6556 6555 654D 6558 655E 655D 6572 6578 6582 6583
+8B8A 659B 659F 65AB 65B7 65C3 65C6 65C1 65C4 65CC
+65D2 65DB 65D9 65E0 65E1 65F1 6772 660A 6603 65FB
+6773 6635 6636 6634 661C 664F 6644 6649 6641 665E
+665D 6664 6667 6668 665F 6662 6670 6683 6688 668E
+6689 6684 6698 669D 66C1 66B9 66C9 66BE 66BC 66C4
+66B8 66D6 66DA 66E0 663F 66E6 66E9 66F0 66F5 66F7
+670F 6716 671E 6726 6727 9738 672E 673F 6736 6741
+6738 6737 6746 675E 6760 6759 6763 6764 6789 6770
+67A9 677C 676A 678C 678B 67A6 67A1 6785 67B7 67EF
+67B4 67EC 67B3 67E9 67B8 67E4 67DE 67DD 67E2 67EE
+67B9 67CE 67C6 67E7 6A9C 681E 6846 6829 6840 684D
+6832 684E 68B3 682B 6859 6863 6877 687F 689F 688F
+68AD 6894 689D 689B 6883 6AAE 68B9 6874 68B5 68A0
+68BA 690F 688D 687E 6901 68CA 6908 68D8 6922 6926
+68E1 690C 68CD 68D4 68E7 68D5 6936 6912 6904 68D7
+68E3 6925 68F9 68E0 68EF 6928 692A 691A 6923 6921
+68C6 6979 6977 695C 6978 696B 6954 697E 696E 6939
+6974 693D 6959 6930 6961 695E 695D 6981 696A 69B2
+69AE 69D0 69BF 69C1 69D3 69BE 69CE 5BE8 69CA 69DD
+69BB 69C3 69A7 6A2E 6991 69A0 699C 6995 69B4 69DE
+69E8 6A02 6A1B 69FF 6B0A 69F9 69F2 69E7 6A05 69B1
+6A1E 69ED 6A14 69EB 6A0A 6A12 6AC1 6A23 6A13 6A44
+6A0C 6A72 6A36 6A78 6A47 6A62 6A59 6A66 6A48 6A38
+6A22 6A90 6A8D 6AA0 6A84 6AA2 6AA3 6A97 8617 6ABB
+6AC3 6AC2 6AB8 6AB3 6AAC 6ADE 6AD1 6ADF 6AAA 6ADA
+6AEA 6AFB 6B05 8616 6AFA 6B12 6B16 9B31 6B1F 6B38
+6B37 76DC 6B39 98EE 6B47 6B43 6B49 6B50 6B59 6B54
+6B5B 6B5F 6B61 6B78 6B79 6B7F 6B80 6B84 6B83 6B8D
+6B98 6B95 6B9E 6BA4 6BAA 6BAB 6BAF 6BB2 6BB1 6BB3
+6BB7 6BBC 6BC6 6BCB 6BD3 6BDF 6BEC 6BEB 6BF3 6BEF
+9EBE 6C08 6C13 6C14 6C1B 6C24 6C23 6C5E 6C55 6C62
+6C6A 6C82 6C8D 6C9A 6C81 6C9B 6C7E 6C68 6C73 6C92
+6C90 6CC4 6CF1 6CD3 6CBD 6CD7 6CC5 6CDD 6CAE 6CB1
+6CBE 6CBA 6CDB 6CEF 6CD9 6CEA 6D1F 884D 6D36 6D2B
+6D3D 6D38 6D19 6D35 6D33 6D12 6D0C 6D63 6D93 6D64
+6D5A 6D79 6D59 6D8E 6D95 6FE4 6D85 6DF9 6E15 6E0A
+6DB5 6DC7 6DE6 6DB8 6DC6 6DEC 6DDE 6DCC 6DE8 6DD2
+6DC5 6DFA 6DD9 6DE4 6DD5 6DEA 6DEE 6E2D 6E6E 6E2E
+6E19 6E72 6E5F 6E3E 6E23 6E6B 6E2B 6E76 6E4D 6E1F
+6E43 6E3A 6E4E 6E24 6EFF 6E1D 6E38 6E82 6EAA 6E98
+6EC9 6EB7 6ED3 6EBD 6EAF 6EC4 6EB2 6ED4 6ED5 6E8F
+6EA5 6EC2 6E9F 6F41 6F11 704C 6EEC 6EF8 6EFE 6F3F
+6EF2 6F31 6EEF 6F32 6ECC 6F3E 6F13 6EF7 6F86 6F7A
+6F78 6F81 6F80 6F6F 6F5B 6FF3 6F6D 6F82 6F7C 6F58
+6F8E 6F91 6FC2 6F66 6FB3 6FA3 6FA1 6FA4 6FB9 6FC6
+6FAA 6FDF 6FD5 6FEC 6FD4 6FD8 6FF1 6FEE 6FDB 7009
+700B 6FFA 7011 7001 700F 6FFE 701B 701A 6F74 701D
+7018 701F 7030 703E 7032 7051 7063 7099 7092 70AF
+70F1 70AC 70B8 70B3 70AE 70DF 70CB 70DD 70D9 7109
+70FD 711C 7119 7165 7155 7188 7166 7162 714C 7156
+716C 718F 71FB 7184 7195 71A8 71AC 71D7 71B9 71BE
+71D2 71C9 71D4 71CE 71E0 71EC 71E7 71F5 71FC 71F9
+71FF 720D 7210 721B 7228 722D 722C 7230 7232 723B
+723C 723F 7240 7246 724B 7258 7274 727E 7282 7281
+7287 7292 7296 72A2 72A7 72B9 72B2 72C3 72C6 72C4
+72CE 72D2 72E2 72E0 72E1 72F9 72F7 500F 7317 730A
+731C 7316 731D 7334 732F 7329 7325 733E 734E 734F
+9ED8 7357 736A 7368 7370 7378 7375 737B 737A 73C8
+73B3 73CE 73BB 73C0 73E5 73EE 73DE 74A2 7405 746F
+7425 73F8 7432 743A 7455 743F 745F 7459 7441 745C
+7469 7470 7463 746A 7476 747E 748B 749E 74A7 74CA
+74CF 74D4 73F1 74E0 74E3 74E7 74E9 74EE 74F2 74F0
+74F1 74F8 74F7 7504 7503 7505 750C 750E 750D 7515
+7513 751E 7526 752C 753C 7544 754D 754A 7549 755B
+7546 755A 7569 7564 7567 756B 756D 7578 7576 7586
+7587 7574 758A 7589 7582 7594 759A 759D 75A5 75A3
+75C2 75B3 75C3 75B5 75BD 75B8 75BC 75B1 75CD 75CA
+75D2 75D9 75E3 75DE 75FE 75FF 75FC 7601 75F0 75FA
+75F2 75F3 760B 760D 7609 761F 7627 7620 7621 7622
+7624 7634 7630 763B 7647 7648 7646 765C 7658 7661
+7662 7668 7669 766A 7667 766C 7670 7672 7676 7678
+767C 7680 7683 7688 768B 768E 7696 7693 7699 769A
+76B0 76B4 76B8 76B9 76BA 76C2 76CD 76D6 76D2 76DE
+76E1 76E5 76E7 76EA 862F 76FB 7708 7707 7704 7729
+7724 771E 7725 7726 771B 7737 7738 7747 775A 7768
+776B 775B 7765 777F 777E 7779 778E 778B 7791 77A0
+779E 77B0 77B6 77B9 77BF 77BC 77BD 77BB 77C7 77CD
+77D7 77DA 77DC 77E3 77EE 77FC 780C 7812 7926 7820
+792A 7845 788E 7874 7886 787C 789A 788C 78A3 78B5
+78AA 78AF 78D1 78C6 78CB 78D4 78BE 78BC 78C5 78CA
+78EC 78E7 78DA 78FD 78F4 7907 7912 7911 7919 792C
+792B 7940 7960 7957 795F 795A 7955 7953 797A 797F
+798A 799D 79A7 9F4B 79AA 79AE 79B3 79B9 79BA 79C9
+79D5 79E7 79EC 79E1 79E3 7A08 7A0D 7A18 7A19 7A20
+7A1F 7980 7A31 7A3B 7A3E 7A37 7A43 7A57 7A49 7A61
+7A62 7A69 9F9D 7A70 7A79 7A7D 7A88 7A97 7A95 7A98
+7A96 7AA9 7AC8 7AB0 7AB6 7AC5 7AC4 7ABF 9083 7AC7
+7ACA 7ACD 7ACF 7AD5 7AD3 7AD9 7ADA 7ADD 7AE1 7AE2
+7AE6 7AED 7AF0 7B02 7B0F 7B0A 7B06 7B33 7B18 7B19
+7B1E 7B35 7B28 7B36 7B50 7B7A 7B04 7B4D 7B0B 7B4C
+7B45 7B75 7B65 7B74 7B67 7B70 7B71 7B6C 7B6E 7B9D
+7B98 7B9F 7B8D 7B9C 7B9A 7B8B 7B92 7B8F 7B5D 7B99
+7BCB 7BC1 7BCC 7BCF 7BB4 7BC6 7BDD 7BE9 7C11 7C14
+7BE6 7BE5 7C60 7C00 7C07 7C13 7BF3 7BF7 7C17 7C0D
+7BF6 7C23 7C27 7C2A 7C1F 7C37 7C2B 7C3D 7C4C 7C43
+7C54 7C4F 7C40 7C50 7C58 7C5F 7C64 7C56 7C65 7C6C
+7C75 7C83 7C90 7CA4 7CAD 7CA2 7CAB 7CA1 7CA8 7CB3
+7CB2 7CB1 7CAE 7CB9 7CBD 7CC0 7CC5 7CC2 7CD8 7CD2
+7CDC 7CE2 9B3B 7CEF 7CF2 7CF4 7CF6 7CFA 7D06 7D02
+7D1C 7D15 7D0A 7D45 7D4B 7D2E 7D32 7D3F 7D35 7D46
+7D73 7D56 7D4E 7D72 7D68 7D6E 7D4F 7D63 7D93 7D89
+7D5B 7D8F 7D7D 7D9B 7DBA 7DAE 7DA3 7DB5 7DC7 7DBD
+7DAB 7E3D 7DA2 7DAF 7DDC 7DB8 7D9F 7DB0 7DD8 7DDD
+7DE4 7DDE 7DFB 7DF2 7DE1 7E05 7E0A 7E23 7E21 7E12
+7E31 7E1F 7E09 7E0B 7E22 7E46 7E66 7E3B 7E35 7E39
+7E43 7E37 7E32 7E3A 7E67 7E5D 7E56 7E5E 7E59 7E5A
+7E79 7E6A 7E69 7E7C 7E7B 7E83 7DD5 7E7D 8FAE 7E7F
+7E88 7E89 7E8C 7E92 7E90 7E93 7E94 7E96 7E8E 7E9B
+7E9C 7F38 7F3A 7F45 7F4C 7F4D 7F4E 7F50 7F51 7F55
+7F54 7F58 7F5F 7F60 7F68 7F69 7F67 7F78 7F82 7F86
+7F83 7F88 7F87 7F8C 7F94 7F9E 7F9D 7F9A 7FA3 7FAF
+7FB2 7FB9 7FAE 7FB6 7FB8 8B71 7FC5 7FC6 7FCA 7FD5
+7FD4 7FE1 7FE6 7FE9 7FF3 7FF9 98DC 8006 8004 800B
+8012 8018 8019 801C 8021 8028 803F 803B 804A 8046
+8052 8058 805A 805F 8062 8068 8073 8072 8070 8076
+8079 807D 807F 8084 8086 8085 809B 8093 809A 80AD
+5190 80AC 80DB 80E5 80D9 80DD 80C4 80DA 80D6 8109
+80EF 80F1 811B 8129 8123 812F 814B 968B 8146 813E
+8153 8151 80FC 8171 816E 8165 8166 8174 8183 8188
+818A 8180 8182 81A0 8195 81A4 81A3 815F 8193 81A9
+81B0 81B5 81BE 81B8 81BD 81C0 81C2 81BA 81C9 81CD
+81D1 81D9 81D8 81C8 81DA 81DF 81E0 81E7 81FA 81FB
+81FE 8201 8202 8205 8207 820A 820D 8210 8216 8229
+822B 8238 8233 8240 8259 8258 825D 825A 825F 8264
+8262 8268 826A 826B 822E 8271 8277 8278 827E 828D
+8292 82AB 829F 82BB 82AC 82E1 82E3 82DF 82D2 82F4
+82F3 82FA 8393 8303 82FB 82F9 82DE 8306 82DC 8309
+82D9 8335 8334 8316 8332 8331 8340 8339 8350 8345
+832F 832B 8317 8318 8385 839A 83AA 839F 83A2 8396
+8323 838E 8387 838A 837C 83B5 8373 8375 83A0 8389
+83A8 83F4 8413 83EB 83CE 83FD 8403 83D8 840B 83C1
+83F7 8407 83E0 83F2 840D 8422 8420 83BD 8438 8506
+83FB 846D 842A 843C 855A 8484 8477 846B 84AD 846E
+8482 8469 8446 842C 846F 8479 8435 84CA 8462 84B9
+84BF 849F 84D9 84CD 84BB 84DA 84D0 84C1 84C6 84D6
+84A1 8521 84FF 84F4 8517 8518 852C 851F 8515 8514
+84FC 8540 8563 8558 8548 8541 8602 854B 8555 8580
+85A4 8588 8591 858A 85A8 856D 8594 859B 85EA 8587
+859C 8577 857E 8590 85C9 85BA 85CF 85B9 85D0 85D5
+85DD 85E5 85DC 85F9 860A 8613 860B 85FE 85FA 8606
+8622 861A 8630 863F 864D 4E55 8654 865F 8667 8671
+8693 86A3 86A9 86AA 868B 868C 86B6 86AF 86C4 86C6
+86B0 86C9 8823 86AB 86D4 86DE 86E9 86EC 86DF 86DB
+86EF 8712 8706 8708 8700 8703 86FB 8711 8709 870D
+86F9 870A 8734 873F 8737 873B 8725 8729 871A 8760
+875F 8778 874C 874E 8774 8757 8768 876E 8759 8753
+8763 876A 8805 87A2 879F 8782 87AF 87CB 87BD 87C0
+87D0 96D6 87AB 87C4 87B3 87C7 87C6 87BB 87EF 87F2
+87E0 880F 880D 87FE 87F6 87F7 880E 87D2 8811 8816
+8815 8822 8821 8831 8836 8839 8827 883B 8844 8842
+8852 8859 885E 8862 886B 8881 887E 889E 8875 887D
+88B5 8872 8882 8897 8892 88AE 8899 88A2 888D 88A4
+88B0 88BF 88B1 88C3 88C4 88D4 88D8 88D9 88DD 88F9
+8902 88FC 88F4 88E8 88F2 8904 890C 890A 8913 8943
+891E 8925 892A 892B 8941 8944 893B 8936 8938 894C
+891D 8960 895E 8966 8964 896D 896A 896F 8974 8977
+897E 8983 8988 898A 8993 8998 89A1 89A9 89A6 89AC
+89AF 89B2 89BA 89BD 89BF 89C0 89DA 89DC 89DD 89E7
+89F4 89F8 8A03 8A16 8A10 8A0C 8A1B 8A1D 8A25 8A36
+8A41 8A5B 8A52 8A46 8A48 8A7C 8A6D 8A6C 8A62 8A85
+8A82 8A84 8AA8 8AA1 8A91 8AA5 8AA6 8A9A 8AA3 8AC4
+8ACD 8AC2 8ADA 8AEB 8AF3 8AE7 8AE4 8AF1 8B14 8AE0
+8AE2 8AF7 8ADE 8ADB 8B0C 8B07 8B1A 8AE1 8B16 8B10
+8B17 8B20 8B33 97AB 8B26 8B2B 8B3E 8B28 8B41 8B4C
+8B4F 8B4E 8B49 8B56 8B5B 8B5A 8B6B 8B5F 8B6C 8B6F
+8B74 8B7D 8B80 8B8C 8B8E 8B92 8B93 8B96 8B99 8B9A
+8C3A 8C41 8C3F 8C48 8C4C 8C4E 8C50 8C55 8C62 8C6C
+8C78 8C7A 8C82 8C89 8C85 8C8A 8C8D 8C8E 8C94 8C7C
+8C98 621D 8CAD 8CAA 8CBD 8CB2 8CB3 8CAE 8CB6 8CC8
+8CC1 8CE4 8CE3 8CDA 8CFD 8CFA 8CFB 8D04 8D05 8D0A
+8D07 8D0F 8D0D 8D10 9F4E 8D13 8CCD 8D14 8D16 8D67
+8D6D 8D71 8D73 8D81 8D99 8DC2 8DBE 8DBA 8DCF 8DDA
+8DD6 8DCC 8DDB 8DCB 8DEA 8DEB 8DDF 8DE3 8DFC 8E08
+8E09 8DFF 8E1D 8E1E 8E10 8E1F 8E42 8E35 8E30 8E34
+8E4A 8E47 8E49 8E4C 8E50 8E48 8E59 8E64 8E60 8E2A
+8E63 8E55 8E76 8E72 8E7C 8E81 8E87 8E85 8E84 8E8B
+8E8A 8E93 8E91 8E94 8E99 8EAA 8EA1 8EAC 8EB0 8EC6
+8EB1 8EBE 8EC5 8EC8 8ECB 8EDB 8EE3 8EFC 8EFB 8EEB
+8EFE 8F0A 8F05 8F15 8F12 8F19 8F13 8F1C 8F1F 8F1B
+8F0C 8F26 8F33 8F3B 8F39 8F45 8F42 8F3E 8F4C 8F49
+8F46 8F4E 8F57 8F5C 8F62 8F63 8F64 8F9C 8F9F 8FA3
+8FAD 8FAF 8FB7 8FDA 8FE5 8FE2 8FEA 8FEF 9087 8FF4
+9005 8FF9 8FFA 9011 9015 9021 900D 901E 9016 900B
+9027 9036 9035 9039 8FF8 904F 9050 9051 9052 900E
+9049 903E 9056 9058 905E 9068 906F 9076 96A8 9072
+9082 907D 9081 9080 908A 9089 908F 90A8 90AF 90B1
+90B5 90E2 90E4 6248 90DB 9102 9112 9119 9132 9130
+914A 9156 9158 9163 9165 9169 9173 9172 918B 9189
+9182 91A2 91AB 91AF 91AA 91B5 91B4 91BA 91C0 91C1
+91C9 91CB 91D0 91D6 91DF 91E1 91DB 91FC 91F5 91F6
+921E 91FF 9214 922C 9215 9211 925E 9257 9245 9249
+9264 9248 9295 923F 924B 9250 929C 9296 9293 929B
+925A 92CF 92B9 92B7 92E9 930F 92FA 9344 932E 9319
+9322 931A 9323 933A 9335 933B 935C 9360 937C 936E
+9356 93B0 93AC 93AD 9394 93B9 93D6 93D7 93E8 93E5
+93D8 93C3 93DD 93D0 93C8 93E4 941A 9414 9413 9403
+9407 9410 9436 942B 9435 9421 943A 9441 9452 9444
+945B 9460 9462 945E 946A 9229 9470 9475 9477 947D
+945A 947C 947E 9481 947F 9582 9587 958A 9594 9596
+9598 9599 95A0 95A8 95A7 95AD 95BC 95BB 95B9 95BE
+95CA 6FF6 95C3 95CD 95CC 95D5 95D4 95D6 95DC 95E1
+95E5 95E2 9621 9628 962E 962F 9642 964C 964F 964B
+9677 965C 965E 965D 965F 9666 9672 966C 968D 9698
+9695 9697 96AA 96A7 96B1 96B2 96B0 96B4 96B6 96B8
+96B9 96CE 96CB 96C9 96CD 894D 96DC 970D 96D5 96F9
+9704 9706 9708 9713 970E 9711 970F 9716 9719 9724
+972A 9730 9739 973D 973E 9744 9746 9748 9742 9749
+975C 9760 9764 9766 9768 52D2 976B 9771 9779 9785
+977C 9781 977A 9786 978B 978F 9790 979C 97A8 97A6
+97A3 97B3 97B4 97C3 97C6 97C8 97CB 97DC 97ED 9F4F
+97F2 7ADF 97F6 97F5 980F 980C 9838 9824 9821 9837
+983D 9846 984F 984B 986B 986F 9870 9871 9874 9873
+98AA 98AF 98B1 98B6 98C4 98C3 98C6 98E9 98EB 9903
+9909 9912 9914 9918 9921 991D 991E 9924 9920 992C
+992E 993D 993E 9942 9949 9945 9950 994B 9951 9952
+994C 9955 9997 9998 99A5 99AD 99AE 99BC 99DF 99DB
+99DD 99D8 99D1 99ED 99EE 99F1 99F2 99FB 99F8 9A01
+9A0F 9A05 99E2 9A19 9A2B 9A37 9A45 9A42 9A40 9A43
+9A3E 9A55 9A4D 9A5B 9A57 9A5F 9A62 9A65 9A64 9A69
+9A6B 9A6A 9AAD 9AB0 9ABC 9AC0 9ACF 9AD1 9AD3 9AD4
+9ADE 9ADF 9AE2 9AE3 9AE6 9AEF 9AEB 9AEE 9AF4 9AF1
+9AF7 9AFB 9B06 9B18 9B1A 9B1F 9B22 9B23 9B25 9B27
+9B28 9B29 9B2A 9B2E 9B2F 9B32 9B44 9B43 9B4F 9B4D
+9B4E 9B51 9B58 9B74 9B93 9B83 9B91 9B96 9B97 9B9F
+9BA0 9BA8 9BB4 9BC0 9BCA 9BB9 9BC6 9BCF 9BD1 9BD2
+9BE3 9BE2 9BE4 9BD4 9BE1 9C3A 9BF2 9BF1 9BF0 9C15
+9C14 9C09 9C13 9C0C 9C06 9C08 9C12 9C0A 9C04 9C2E
+9C1B 9C25 9C24 9C21 9C30 9C47 9C32 9C46 9C3E 9C5A
+9C60 9C67 9C76 9C78 9CE7 9CEC 9CF0 9D09 9D08 9CEB
+9D03 9D06 9D2A 9D26 9DAF 9D23 9D1F 9D44 9D15 9D12
+9D41 9D3F 9D3E 9D46 9D48 9D5D 9D5E 9D64 9D51 9D50
+9D59 9D72 9D89 9D87 9DAB 9D6F 9D7A 9D9A 9DA4 9DA9
+9DB2 9DC4 9DC1 9DBB 9DB8 9DBA 9DC6 9DCF 9DC2 9DD9
+9DD3 9DF8 9DE6 9DED 9DEF 9DFD 9E1A 9E1B 9E1E 9E75
+9E79 9E7D 9E81 9E88 9E8B 9E8C 9E92 9E95 9E91 9E9D
+9EA5 9EA9 9EB8 9EAA 9EAD 9761 9ECC 9ECE 9ECF 9ED0
+9ED4 9EDC 9EDE 9EDD 9EE0 9EE5 9EE8 9EEF 9EF4 9EF6
+9EF7 9EF9 9EFB 9EFC 9EFD 9F07 9F08 76B7 9F15 9F21
+9F2C 9F3E 9F4A 9F52 9F54 9F63 9F5F 9F60 9F61 9F66
+9F67 9F6C 9F6A 9F77 9F72 9F76 9F95 9F9C 9FA0 582F
+69C7 9059 7464 51DC 7199
+__END__
+
+=head1 NAME
+
+Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate;
+ use Unicode::Collate::CJK::JISX0208;
+
+ my $collator = Unicode::Collate->new(
+ overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208
+ );
+
+=head1 DESCRIPTION
+
+C<Unicode::Collate::CJK::JISX0208> provides C<weightJISX0208()>,
+that is adequate for C<overrideCJK> of C<Unicode::Collate>
+and makes tailoring of 6355 kanji (CJK Unified Ideographs)
+in the JIS X 0208 order.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Collate::Locale>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
new file mode 100644
index 00000000000..2b9c5747db7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
@@ -0,0 +1,1556 @@
+package Unicode::Collate::CJK::Korean;
+
+use 5.006;
+use strict;
+use Unicode::Collate;
+
+our $VERSION = '0.66';
+
+my %jamo2prim = (
+ 0x1100, 0x3031, 0x1101, 0x3032, 0x1102, 0x3033, 0x1103, 0x3034,
+ 0x1105, 0x3036, 0x1106, 0x3037, 0x1107, 0x3038, 0x1109, 0x303A,
+ 0x110A, 0x303B, 0x110B, 0x303C, 0x110C, 0x303D, 0x110E, 0x303F,
+ 0x110F, 0x3040, 0x1110, 0x3041, 0x1111, 0x3042, 0x1112, 0x3043,
+ 0x1161, 0x30AF, 0x1162, 0x30B0, 0x1163, 0x30B1, 0x1165, 0x30B3,
+ 0x1166, 0x30B4, 0x1167, 0x30B5, 0x1168, 0x30B6, 0x1169, 0x30B7,
+ 0x116A, 0x30B8, 0x116B, 0x30B9, 0x116C, 0x30BA, 0x116D, 0x30BB,
+ 0x116E, 0x30BC, 0x116F, 0x30BD, 0x1170, 0x30BE, 0x1171, 0x30BF,
+ 0x1172, 0x30C0, 0x1173, 0x30C1, 0x1174, 0x30C2, 0x1175, 0x30C3,
+ 0x11A8, 0x310D, 0x11AB, 0x3110, 0x11AF, 0x3114, 0x11B7, 0x311C,
+ 0x11B8, 0x311D, 0x11BC, 0x3121, 0x11BD, 0x3122,
+); # for DUCET v6.0.0
+
+my(%u2e, $prim, $wt);
+while (<DATA>) {
+ last if /^__END__/;
+ my @c = split;
+ if (@c == 1 && $c[0] =~ /^[A-D]/) {
+ my $u = hex $c[0];
+ my @h = Unicode::Collate::_decompHangul($u);
+ $prim = [ map $jamo2prim{$_}, @h ];
+ $wt = 0x20;
+ } else {
+ for my $c (@c) {
+ next if !$c;
+ $wt++;
+ $u2e{hex($c)} = [ $wt, @$prim ];
+ }
+ }
+}
+
+sub weightKorean {
+ my $u = shift;
+ return undef if !exists $u2e{$u};
+ my @a = @{ $u2e{$u} };
+ my $s = shift @a;
+ my $p = shift @a;
+ return([ $p, $s, 0x2, $u ], @a);
+}
+
+1;
+__DATA__
+AC00
+4F3D 4F73 5047 50F9 52A0 53EF 5475 54E5 5609 5AC1
+5BB6 6687 67B6 67B7 67EF 6B4C 73C2 75C2 7A3C 82DB
+8304 8857 8888 8A36 8CC8 8DCF 8EFB 8FE6 99D5 4EEE
+50A2 5496 54FF 5777 5B8A 659D 698E 6A9F 73C8 7B33
+801E 8238 846D 8B0C
+AC01
+523B 5374 5404 606A 6164 6BBC 73CF 811A 89BA 89D2
+95A3 537B 54AF 57C6 6409 64F1 6877
+AC04
+4F83 520A 58BE 5978 59E6 5E72 5E79 61C7 63C0 6746
+67EC 687F 6F97 764E 770B 78F5 7A08 7AFF 7C21 809D
+826E 8271 8AEB 9593 5058 6173 681E 69A6 7395 79C6
+831B 884E 8D76 8FC0 9F66
+AC08
+4E6B 559D 66F7 6E34 78A3 7AED 845B 8910 874E 97A8
+5676 696C 79F8 7FAF 880D 9DA1
+AC10
+52D8 574E 582A 5D4C 611F 61BE 6221 6562 67D1 6A44
+6E1B 7518 75B3 76E3 77B0 7D3A 90AF 9451 9452 9F95
+5769 57F3 5D41 5F07 61A8 64BC 6B3F 6B5B 6CD4 6DE6
+6F89 77D9 8F57 9163 9E7B
+AC11
+5323 5CAC 7532 80DB 9240 9598 97D0
+AC15
+525B 5808 59DC 5CA1 5D17 5EB7 5F3A 5F4A 6177 6C5F
+757A 7586 7CE0 7D73 7DB1 7F8C 8154 8221 8591 8941
+8B1B 92FC 964D 9C47 508B 50F5 58C3 5FFC 625B 6760
+6A7F 6BAD 77FC 7A45 7E48 7F61 7F97 7FAB 8333 8C47
+97C1
+AC1C
+4ECB 4EF7 500B 51F1 584F 6137 613E 6168 6539 69EA
+6F11 75A5 7686 76D6 7B87 82A5 84CB 93A7 958B 5274
+5303 63E9 69E9 73A0 78D5 95D3
+AC1D
+5580 5BA2
+AC31
+5751 7CB3 7FB9 785C 8CE1 93D7
+AC39
+91B5
+AC70
+5028 53BB 5C45 5DE8 62D2 636E 64DA 64E7 6E20 70AC
+795B 8DDD 8E1E 907D 9245 92F8 547F 661B 79EC 7B65
+7C67 80E0 8152 82E3 8392 8556 8627 88AA 88FE 99CF
+AC74
+4E7E 4EF6 5065 5DFE 5EFA 6106 6957 8171 8654 8E47
+9375 9A2B 63F5 728D 7777 8930 8B07 97AC
+AC78
+4E5E 5091 6770 6840 4E6C 6705 69A4
+AC80
+5109 528D 5292 6AA2 77BC 9210 9ED4 64BF 82A1
+AC81
+52AB 602F 8FF2 5226 5227
+AC8C
+5048 61A9 63ED
+ACA9
+64CA 683C 6A84 6FC0 8188 89A1 9694 630C 6BC4 95C3
+9ABC 9B32 9D03
+ACAC
+5805 727D 72AC 7504 7D79 7E6D 80A9 898B 8B74 9063
+9D51 6A2B 72F7 754E 7B67 7E33 7E7E 7F82 8832 9C39
+ACB0
+6289 6C7A 6F54 7D50 7F3A 8A23 73A6 89D6 95CB
+ACB8
+517C 614A 7B9D 8B19 9257 938C 5094 55DB 5C92 62D1
+6B49 7E11 84B9 9EDA 9F38
+ACBD
+4EAC 4FD3 501E 50BE 5106 52C1 52CD 537F 5770 5883
+5E9A 5F91 6176 61AC 64CE 656C 666F 66BB 66F4 6897
+6D87 7085 70F1 749F 74A5 74CA 75D9 786C 78EC 7ADF
+7AF6 7D45 7D93 8015 803F 811B 8396 8B66 8F15 9015
+93E1 9803 9838 9A5A 9BE8 518F 5244 54FD 60F8 61BC
+6243 6AA0 7162 712D 71B2 754A 7AF8 7D86 9848 7F44
+8927 8B26 99C9 9BC1 9EE5
+ACC4
+4FC2 5553 583A 5951 5B63 5C46 60B8 6212 6842 68B0
+68E8 6EAA 754C 7678 78CE 7A3D 7CFB 7E6B 7E7C 8A08
+8AA1 8C3F 968E 9DC4 5826 70D3 7608 798A 7B53 7DAE
+7E18 7F7D 846A 858A 96DE 9AFB
+ACE0
+53E4 53E9 544A 5471 56FA 59D1 5B64 5C3B 5EAB 62F7
+6537 6545 6572 66A0 67AF 69C1 6CBD 75FC 7690 777E
+7A3F 7F94 8003 80A1 818F 82E6 82FD 83F0 85C1 8831
+88B4 8AA5 8F9C 932E 96C7 9867 9AD8 9F13 4F30 51C5
+5233 5859 6772 6832 69C0 69F9 6ADC 726F 768B 76EC
+77BD 7A01 7B8D 7BD9 7CD5 7F5F 7F96 7FFA 80EF 89DA
+8A41 90DC 9164 9237 9760 9D23 9DF1
+ACE1
+54ED 659B 66F2 688F 7A40 8C37 9D60 56B3 69F2 7E20
+89F3 8F42
+ACE4
+56F0 5764 5D11 6606 68B1 68CD 6EFE 7428 889E 9BE4
+5803 5D10 6083 6346 7DC4 886E 88CD 890C 9315 95AB
+9AE1 9D7E 9DA4 9F6B
+ACE8
+6C68 9AA8 6430 69BE 77FB 9DBB
+ACF5
+4F9B 516C 5171 529F 5B54 5DE5 6050 606D 62F1 63A7
+653B 73D9 7A7A 86A3 8CA2 978F 5025 5D06 60BE 6831
+69D3 7B9C 86E9 86EC 8D1B 8DEB 91ED 9F94
+ACF6
+4E32
+ACFC
+5BE1 6208 679C 74DC 79D1 83D3 8A87 8AB2 8DE8 904E
+934B 9846 4F89 581D 5925 5938 64BE 7313 7A1E 7AA0
+874C 88F9 8E1D 9299 9A0D
+ACFD
+5ED3 69E8 85FF 90ED 6901 7668 8EA9 970D 97B9
+AD00
+51A0 5B98 5BEC 6163 68FA 6B3E 704C 742F 74D8 7BA1
+7F50 83C5 89C0 8CAB 95DC 9928 4E31 6DAB 721F 76E5
+797C 7ABE 7B66 7DB0 8F28 9327 9475 96DA 9874 9AD6
+9E1B
+AD04
+522E 605D 62EC 9002 4F78 681D 7B48 8052 9AFA 9D30
+AD11
+4F8A 5149 5321 58D9 5EE3 66E0 6D38 709A 72C2 73D6
+7B50 80F1 945B 6047 6844 6846 720C 7377 78FA 7D56
+7E8A 832A 8A86 8A91
+AD18
+5366 639B 7F6B 54BC 6302 7F63 8A7F
+AD34
+4E56 5080 584A 58DE 602A 6127 62D0 69D0 9B41 5ABF
+5EE5 6060 7470 749D 84AF 8958
+AD35
+9998
+AD49
+5B8F 7D18 80B1 8F5F 6D64 89E5 8A07 958E
+AD50
+4EA4 50D1 54AC 55AC 5B0C 5DA0 5DE7 652A 654E 6821
+6A4B 72E1 768E 77EF 7D5E 7FF9 81A0 854E 86DF 8F03
+8F4E 90CA 9903 9A55 9BAB 4F7C 5604 5610 566D 5699
+59E3 618D 649F 6648 669E 69B7 78FD 7A96 8DAB 8E7B
+9278 9AB9 9D41 9F69
+AD6C
+4E18 4E45 4E5D 4EC7 4FF1 5177 52FE 5340 53E3 53E5
+548E 5614 5775 57A2 5BC7 5D87 5ED0 61FC 62D8 6551
+67B8 67E9 69CB 6B50 6BC6 6BEC 6C42 6E9D 7078 72D7
+7396 7403 77BF 77E9 7A76 7D7F 8009 81FC 8205 820A
+82DF 8862 8B33 8CFC 8EC0 9011 90B1 9264 92B6 99D2
+9A45 9CE9 9DD7 9F9C 4F49 4F5D 4FC5 50B4 5193 52AC
+5336 53B9 53F4 5778 59E4 5ABE 5AD7 5C68 5CA3 5F40
+6235 6263 6344 6406 6473 662B 6998 6F1A 7486 750C
+759A 75C0 766F 7A9B 7AB6 7BDD 7CD7 80CA 849F 86AF
+88D8 89AF 8A6C 9058 91E6 97DD 97ED 97EE 98B6 99C8
+9B2E 9DC7 9E1C
+AD6D
+570B 5C40 83CA 97A0 97AB 9EB4 530A 63AC 8DFC 9EAF
+AD70
+541B 7A98 7FA4 88D9 8ECD 90E1 6343 687E 76B8
+AD74
+5800 5C48 6398 7A9F 5014 5D1B 6DC8 8A58
+AD81
+5BAE 5F13 7A79 7AAE 828E 8EAC 8EB3
+AD8C
+5026 5238 52F8 5377 5708 62F3 6372 6B0A 6DC3 7737
+52CC 60D3 68EC 7760 7DA3 8737
+AD90
+53A5 7357 8568 8E76 95D5
+ADA4
+673A 6AC3 6F70 8A6D 8ECC 994B 4F79 51E0 5282 5331
+6192 6485 6A3B 6C3F 7C0B 7E62 8DEA 95E0 993D 9E82
+ADC0
+6677 6B78 8CB4 9B3C
+ADDC
+53EB 572D 594E 63C6 69FB 73EA 7845 7ABA 7AC5 7CFE
+8475 898F 8D73 9035 95A8 5232 5AE2 5B00 5DCB 668C
+694F 6A1B 6F59 777D 7CFA 866C 866F 8DEC 90BD 95DA
+980D 9997
+ADE0
+52FB 5747 7547 7B60 83CC 921E 56F7 9E8F
+ADE4
+6A58
+ADF9
+514B 524B 5287 621F 68D8 6975 9699 4E9F 5C05 5C50
+90C4
+ADFC
+50C5 52A4 52E4 61C3 65A4 6839 69FF 747E 7B4B 82B9
+83EB 89B2 8B39 8FD1 9949 537A 53AA 5890 5DF9 5ED1
+6F0C 89D4 8DDF 91FF 9773
+AE08
+4ECA 5997 64D2 6611 6A8E 7434 7981 79BD 82A9 887E
+887F 895F 9326 552B 5664 5D94 7B12 9EC5
+AE09
+4F0B 53CA 6025 6271 6C72 7D1A 7D66 573E 5C8C 7680
+790F 7B08 82A8
+AE0D
+4E98 5162 77DC 80AF 4E99 6B91
+AE30
+4F01 4F0E 5176 5180 55DC 5668 573B 57FA 57FC 5914
+5947 5993 5BC4 5C90 5D0E 5DF1 5E7E 5FCC 6280 65D7
+65E3 671E 671F 675E 68CB 68C4 6A5F 6B3A 6C23 6C7D
+6C82 6DC7 7398 7426 742A 7482 74A3 7578 757F 7881
+78EF 7941 7947 7948 797A 7B95 7D00 7DBA 7F88 8006
+802D 808C 8A18 8B4F 8C48 8D77 9321 9324 98E2 9951
+9A0E 9A0F 9A65 9E92 50DB 525E 588D 5C7A 5E8B 5F03
+5FEE 612D 638E 6532 65C2 66A3 66C1 68CA 6B67 7081
+7309 79A8 7DA5 7DA6 7F87 80B5 82AA 82B0 8604 8641
+871D 87E3 8989 89AC 8DC2 9691 980E 9B10 9C2D 9ED6
+AE34
+7DCA
+AE38
+4F76 5409 62EE 6854 59DE 86E3
+AE40
+91D1
+B07D
+55AB
+B098
+513A 5A1C 61E6 62CF 62FF 90A3 6310 632A 689B 7CE5
+7CEF
+B099
+8AFE
+B09C
+6696 7156 96E3 5044 7157 8D67 992A
+B0A0
+634F 637A
+B0A8
+5357 678F 6960 6E73 7537 5583 67DF
+B0A9
+7D0D 8872
+B0AD
+56CA 5A18 66E9
+B0B4
+4E43 5167 5948 67F0 8010 5302 5976 5B2D 8FFA 9F10
+B140
+5973
+B141
+60C4
+B144
+5E74 649A 79CA 78BE
+B150
+5FF5 606C 62C8 637B
+B155
+5BE7 5BD7 4F5E 511C 5680 6FD8
+B178
+52AA 5974 5F29 6012 7459 99D1 5476 5B65 5CF1 7331
+7B2F 81D1
+B18D
+6FC3 81BF 8FB2 5102 5665 7A60 91B2
+B1CC
+60F1 8166 9912
+B1E8
+5C3F 5ACB 5B32 6DD6 78E0 88CA 9403
+B204
+5542 8028
+B208
+5AE9
+B20C
+8A25 5436 80AD
+B274
+677B 7D10 5FF8 9775
+B275
+8844
+B2A5
+80FD
+B2C8
+5C3C 6CE5 5462 6029 67C5 7962 79B0 81A9
+B2C9
+533F 6EBA 6635 66B1
+B2E4
+591A 8336 7239
+B2E8
+4E39 4EB6 4F46 55AE 5718 58C7 5F56 65B7 65E6 6A80
+6BB5 6E4D 77ED 7AEF 7C1E 7DDE 86CB 8892 9132 935B
+6171 62C5 6934 6F19 7649 8011 80C6 8176 8711
+B2EC
+64BB 6FBE 737A 75B8 9054 59B2 601B 95E5 977C 97C3
+B2F4
+5556 574D 61BA 64D4 66C7 6DE1 6E5B 6F6D 6FB9 75F0
+8043 81BD 8541 8983 8AC7 8B5A 931F 510B 5557 5649
+58B0 58DC 6BEF 79AB 7F4E 859D 90EF 9EEE 9EF5
+B2F5
+6C93 7553 7B54 8E0F 905D
+B2F9
+5510 5802 5858 5E62 6207 649E 68E0 7576 7CD6 87B3
+9EE8 5018 513B 515A 642A 6A94 6E8F 746D 74AB 77A0
+7911 87F7 8960 8B9C 93DC 943A 9933 9939
+B300
+4EE3 5788 576E 5927 5C0D 5CB1 5E36 5F85 6234 64E1
+73B3 81FA 888B 8CB8 968A 9EDB 5113 61DF 65F2 6C4F
+7893 9413
+B301
+5B85
+B355
+5FB7 60B3
+B3C4
+5012 5200 5230 5716 5835 5857 5C0E 5C60 5CF6 5D8B
+5EA6 5F92 60BC 6311 6389 6417 6843 68F9 6AC2 6DD8
+6E21 6ED4 6FE4 71FE 76DC 7779 79B1 7A3B 8404 89A9
+8CED 8DF3 8E48 9003 9014 9053 90FD 934D 9676 97DC
+53E8 58D4 5F22 5FC9 6146 638F 642F 64E3 6AAE 6D2E
+6D82 7A0C 83DF 9174 95CD 9780 97B1 9955 9F17
+B3C5
+6BD2 7006 7258 72A2 7368 7763 79BF 7BE4 7E9B 8B80
+6ADD 9EF7
+B3C8
+58A9 60C7 6566 65FD 66BE 6C8C 711E 71C9 8C5A 9813
+5F34 6F61 8E89
+B3CC
+4E6D 7A81 5484 5817
+B3D9
+4EDD 51AC 51CD 52D5 540C 61A7 6771 6850 68DF 6D1E
+6F7C 75BC 77B3 7AE5 80F4 8463 9285 4F97 50EE 54C3
+578C 5CD2 5F64 6723 6A66 6DB7 825F 82F3 833C 856B
+8740 932C 9B97
+B450
+515C 6597 675C 6793 75D8 7AC7 8373 8C46 9017 982D
+6296 6581 809A 8130 86AA 8839 9661
+B454
+5C6F 81C0 829A 9041 906F 920D 7A80 8FCD
+B458
+4E67
+B4DD
+5F97
+B4F1
+5D9D 6A59 71C8 767B 7B49 85E4 8B04 9127 9A30 51F3
+58B1 6ED5 78F4 7C50 7E22 87A3 9419
+B77C
+5587 61F6 7669 7F85 863F 87BA 88F8 908F 502E 56C9
+66EA 7630 7822 81DD 947C 9A3E 9A58
+B77D
+6D1B 70D9 73DE 7D61 843D 916A 99F1 55E0 7296
+B780
+4E82 5375 6B04 6B12 703E 721B 862D 9E1E 5B3E 5E71
+6514 7053 8974 947E 95CC
+B784
+524C 8FA3 57D2 8FA2
+B78C
+5D50 64E5 652C 6B16 6FEB 7C43 7E9C 85CD 8964 89BD
+5A6A 60CF
+B78D
+62C9 81D8 881F 945E
+B791
+5ECA 6717 6D6A 72FC 7405 746F 8782 90DE 6994 7860
+7A02 83A8 870B 95AC
+B798
+4F86 5D0D 5FA0 840A 6DF6 9A0B
+B7AD
+51B7
+B7B5
+63A0 7565 7567
+B7C9
+4EAE 5006 5169 51C9 6881 6A11 7CAE 7CB1 7CE7 826F
+8AD2 8F1B 91CF 55A8 60A2 690B 6DBC 8E09 9B4E
+B824
+4FB6 5137 52F5 5442 5EEC 616E 623E 65C5 6ADA 6FFE
+792A 85DC 8823 95AD 9A62 9A6A 9E97 9ECE 5122 53B2
+5533 68A0 7658 7CF2 8182 81DA 8821 908C 9462
+B825
+529B 66C6 6B77 701D 792B 8F62 9742 650A 6ADF 6AEA
+7667 8F63 9148
+B828
+6190 6200 6523 6F23 7149 7489 7DF4 806F 84EE 8F26
+9023 934A 5B4C 695D 6E45 81E0 93C8 9C0A 9C31
+B82C
+51BD 5217 52A3 6D0C 70C8 88C2 6312 6369 98B2
+B834
+5EC9 6582 6BAE 6FC2 7C3E 5969 7032 78CF
+B835
+7375 8E90 9B23
+B839
+4EE4 4F36 56F9 5CBA 5DBA 601C 73B2 7B2D 7F9A 7FCE
+8046 901E 9234 96F6 9748 9818 9F61 53E6 5464 59C8
+5CAD 6624 6B1E 6CE0 79E2 82D3 86C9 8EE8 9D12 9E77
+B840
+4F8B 6FA7 79AE 91B4 96B7 96B8 9C67
+B85C
+52DE 6488 64C4 6AD3 6F5E 7018 7210 76E7 8001 8606
+865C 8DEF 8F05 9732 9B6F 9DFA 9E75 58DA 6EF7 7388
+7646 7A82 826A 826B 8F64 942A 946A 9871 9AD7 9C78
+9E15
+B85D
+788C 797F 7DA0 83C9 9304 9E7F 9E93 5725 5F54 6DE5
+6F09 7C0F 8F46 9A04
+B860
+8AD6
+B871
+58DF 5F04 6727 7027 74CF 7C60 807E 5131 650F 66E8
+7931 8622 96B4 9F8E
+B8B0
+5121 7028 7262 78CA 8CC2 8CDA 8CF4 96F7 6502 790C
+7927 7C5F 7E87 7F4D 8012 857E 8A84 9179 9842
+B8CC
+4E86 50DA 5BEE 5ED6 6599 71CE 7642 77AD 804A 84FC
+907C 9B27 5639 5AFD 64A9 66B8 6F66 7360 7E5A 818B
+91AA 9410 98C2 98C9
+B8E1
+9F8D 9F92
+B8E8
+58D8 5A41 5C62 6A13 6DDA 6F0F 763B 7D2F 7E37 851E
+8938 93E4 964B 50C2 560D 5D81 617A 802C 87BB 9ACF
+B958
+5289 65D2 67F3 69B4 6D41 6E9C 700F 7409 7460 7559
+7624 786B 8B2C 985E 6A4A 7E32 7E8D 905B 9DB9
+B959
+516D 622E 9678 52E0
+B95C
+4F96 502B 5D19 6DEA 7DB8 8F2A 6384
+B960
+5F8B 6144 6817 5D42 6EA7
+B96D
+9686 7643 7ABF
+B975
+52D2 808B 6CD0
+B984
+51DC 51DB 5EE9 6F9F
+B989
+51CC 695E 7A1C 7DBE 83F1 9675 5030 8506
+B9AC
+4FDA 5229 5398 540F 550E 5C65 60A7 674E 68A8 6D6C
+7281 72F8 7406 7483 75E2 7C6C 7F79 7FB8 8389 88CF
+88E1 91CC 91D0 96E2 9BC9 4FD0 527A 54E9 5AE0 6D96
+6F13 79BB 8385 870A 87AD 8C8D 9090 9B51 9ED0
+B9B0
+541D 6F7E 71D0 7498 85FA 8EAA 96A3 9C57 9E9F 5D99
+608B 735C 78F7 7CA6 7CBC 7E57 8E99 8F54 9130 93FB
+9A4E
+B9BC
+6797 6DCB 7433 81E8 9716 75F3
+B9BD
+782C 7ACB 7B20 7C92 5CA6
+B9C8
+6469 746A 75F2 78BC 78E8 99AC 9B54 9EBB 5298 5ABD
+879E 87C7 9EBD 9EBF
+B9C9
+5BDE 5E55 6F20 819C 83AB 9088 7799 93CC
+B9CC
+4E07 534D 5A29 5DD2 5F4E 6162 633D 6669 66FC 6EFF
+6F2B 7063 779E 842C 8513 883B 8F13 9945 9C3B 5881
+5ADA 5E54 7E35 8B3E 8E63 93CB 93DD 9B18
+B9D0
+551C 62B9 672B 6CAB 8309 896A 977A 5E15 79E3
+B9DD
+4EA1 5984 5FD8 5FD9 671B 7DB2 7F54 8292 832B 83BD
+8F1E 9099 60D8 6C52 6F2D 83BE 87D2 9B4D
+B9E4
+57CB 59B9 5A92 5BD0 6627 679A 6885 6BCF 7164 7F75
+8CB7 8CE3 9081 9B45 5446 6973 6CAC 73AB 771B 82FA
+8393 9176 9709
+B9E5
+8108 8C8A 964C 9A40 9EA5 8109 8C83 8C98
+B9F9
+5B5F 6C13 731B 76F2 76DF 840C 511A 750D 753F 867B
+BA71
+51AA 8993 5E4E 7CF8
+BA74
+514D 5195 52C9 68C9 6C94 7704 7720 7DBF 7DEC 9762
+9EB5 4FDB 6E4E 7CC6 7DDC 9EAA
+BA78
+6EC5 8511 7BFE 884A
+BA85
+51A5 540D 547D 660E 669D 6927 6E9F 76BF 7791 8317
+84C2 879F 9169 9298 9CF4 6D3A
+BA8C
+8882
+BAA8
+4FAE 5192 52DF 59C6 5E3D 6155 6478 6479 66AE 67D0
+6A21 6BCD 6BDB 725F 7261 7441 7738 77DB 8017 82BC
+8305 8B00 8B28 8C8C 4F94 59E5 5AA2 5AEB 6048 65C4
+7683 770A 7C8D 7CE2 8004 8765 87CA 927E 9AE6
+BAA9
+6728 6C90 7267 76EE 7766 7A46 9DA9 51E9 82DC
+BAB0
+6B7F 6C92
+BABD
+5922 6726 8499 5E6A 61DE 66DA 6E95 6FDB 77A2 77C7
+8268 96FA 9E0F
+BB18
+536F 5893 5999 5EDF 63CF 6634 6773 6E3A 732B 7AD7
+82D7 9328 6DFC 7707 85D0 8C93
+BB34
+52D9 5DEB 61AE 61CB 620A 62C7 64AB 65E0 6959 6B66
+6BCB 7121 73F7 755D 7E46 821E 8302 856A 8AA3 8CBF
+9727 9D61 511B 5638 5EE1 81B4 9A16
+BB35
+58A8 9ED8 563F
+BB38
+5011 520E 543B 554F 6587 6C76 7D0A 7D0B 805E 868A
+9580 96EF 5301 6097 61E3 6286 636B 7086 748A
+BB3C
+52FF 6C95 7269
+BBF8
+5473 5A9A 5C3E 5D4B 5F4C 5FAE 672A 68B6 6963 6E3C
+6E44 7709 7C73 7F8E 8587 8B0E 8FF7 9761 9EF4 4EB9
+5A13 5A84 5ABA 5F25 5F2D 6549 7030 737C 7CDC 7E3B
+82FF 863C 9E8B
+BBFC
+5CB7 60B6 610D 61AB 654F 65FB 65FC 6C11 6CEF 739F
+73C9 7DE1 9594 5FDE 5FDF 668B 6E63 7DCD 7F60 82E0
+95A9 9C35 9EFD
+BC00
+5BC6 871C 8B10 6A12 6EF5
+BC15
+525D 535A 62CD 640F 64B2 6734 6A38 6CCA 73C0 749E
+7B94 7C95 7E1B 818A 8236 8584 8FEB 96F9 99C1 4EB3
+6B02 7254 939B 99EE 9AC6
+BC18
+4F34 534A 53CD 53DB 62CC 642C 6500 6591 69C3 6CEE
+6F58 73ED 7554 7622 76E4 76FC 78D0 78FB 792C 7D46
+822C 87E0 8FD4 9812 98EF 5ABB 6273 642B 653D 670C
+80D6 878C 9816
+BC1C
+52C3 62D4 64A5 6E24 6F51 767C 8DCB 91B1 9262 9AEE
+9B43 54F1 6D61 8116 9238 9D53
+BC29
+5023 508D 574A 59A8 5C28 5E47 5F77 623F 653E 65B9
+65C1 6609 678B 699C 6EC2 78C5 7D21 80AA 8180 822B
+82B3 84A1 868C 8A2A 8B17 90A6 9632 9F90 4EFF 5396
+5E6B 5FAC 6412 65CA 6886 7253 823D 8783 938A 9AE3
+9B74
+BC30
+500D 4FF3 57F9 5F98 62DC 6392 676F 6E43 7119 76C3
+80CC 80DA 88F4 88F5 8919 8CE0 8F29 914D 966A 574F
+576F 6252 7432 84D3
+BC31
+4F2F 4F70 5E1B 67CF 6822 767D 767E 9B44 7CA8
+BC88
+5E61 6A0A 7169 71D4 756A 7E41 8543 85E9 98DC 7E59
+7FFB 81B0 8629 88A2
+BC8C
+4F10 7B4F 7F70 95A5 6A43 7F78
+BC94
+51E1 5E06 68B5 6C3E 6C4E 6CDB 72AF 7BC4 8303 7B35
+8A09 98BF
+BC95
+6CD5 743A
+BCBD
+50FB 5288 58C1 64D8 6A97 74A7 7656 78A7 8617 95E2
+9739 64D7 7513 7588 895E 9DFF 9F0A
+BCC0
+535E 5F01 8B8A 8FA8 8FAF 908A 5FED 6283 7C69 8FAE
+8141 8CC6 99E2 9ABF 9D18
+BCC4
+5225 77A5 9C49 9F08 5F46 9DE9
+BCD1
+4E19 5002 5175 5C5B 5E77 661E 663A 67C4 68C5 70B3
+7501 75C5 79C9 7ADD 8F27 9920 9A08 4E26 5840 7D63
+7F3E 8FF8 9235 92F2 927C
+BCF4
+4FDD 5821 5831 5BF6 666E 6B65 6D11 6E7A 6F7D 73E4
+752B 83E9 88DC 8913 8B5C 8F14 4FCC 76D9 7C20 8446
+974C 9D07 9EFC
+BCF5
+4F0F 50D5 5310 535C 5B93 5FA9 670D 798F 8179 832F
+8514 8907 8986 8F39 8F3B 99A5 9C12 58A3 5E5E 6251
+6FEE 7B99 83D4 8760 876E 9D69
+BCF8
+672C
+BCFC
+4E76
+BD09
+4FF8 5949 5C01 5CEF 5CF0 6367 68D2 70FD 71A2 742B
+7E2B 84EC 8702 9022 92D2 9CF3 4E30 5906 7BF7 7D98
+83F6 9D0C
+BD80
+4E0D 4ED8 4FEF 5085 5256 526F 5426 5490 57E0 592B
+5A66 5B5A 5B75 5BCC 5E9C 6276 6577 65A7 6D6E 6EA5
+7236 7B26 7C3F 7F36 8150 8151 819A 8240 8299 83A9
+8A03 8CA0 8CE6 8CFB 8D74 8DBA 90E8 91DC 961C 9644
+99D9 9CE7 4EC6 4FD8 5A8D 6294 62CA 638A 6874 6991
+6DAA 739E 7954 7B5F 7F58 7F66 80D5 82A3 82FB 8500
+86A8 8709 889D 88D2 8DD7 9207 982B 9B92 9EA9
+BD81
+5317
+BD84
+5206 5429 5674 58B3 5954 596E 5FFF 61A4 626E 6610
+6C7E 711A 76C6 7C89 7CDE 7D1B 82AC 8CC1 96F0 4F53
+574C 5E09 678C 68FB 68FC 6C1B 6E53 6FC6 7287 755A
+780F 7B28 80A6 81B9 8561 8F52 9EFA 9F22
+BD88
+4F5B 5F17 5F7F 62C2 5CAA 7953 7D31 8274 8300 97CD
+9AF4 9EFB
+BD95
+5D29 670B 68DA 787C 7E43 9D6C 580B 6F30 9B05
+BE44
+4E15 5099 5315 532A 5351 5983 5A62 5E87 60B2 618A
+6249 6279 6590 6787 69A7 6BD4 6BD6 6BD7 6BD8 6CB8
+7435 75FA 7812 7891 79D5 79D8 7C83 7DCB 7FE1 80A5
+813E 81C2 83F2 871A 88E8 8AB9 8B6C 8CBB 9119 975E
+98DB 9F3B 4EF3 4FFE 5255 572E 57E4 59A3 5C41 5EB3
+60B1 68D0 6911 6C98 6DDD 6DE0 6FDE 72C9 72D2 75DE
+75F9 7765 7955 7BE6 7D15 7F86 8153 8298 82BE 8406
+84D6 868D 8C94 8D14 8F61 90B3 90EB 959F 9674 970F
+97B4 9A11 9A1B 9AC0 9F19
+BE48
+56AC 5B2A 5F6C 658C 6AB3 6BAF 6D5C 6FF1 7015 725D
+73AD 8CA7 8CD3 983B 5110 64EF 77C9 7E7D 81CF 860B
+8C73 90A0 944C 9726 9870 9B02 9B22
+BE59
+6191 6C37 8058 9A01 51B0 51ED 51F4 5A09
+C0AC
+4E4D 4E8B 4E9B 4ED5 4F3A 4F3C 4F7F 4FDF 50FF 53F2
+53F8 5506 55E3 56DB 58EB 5962 5A11 5BEB 5BFA 5C04
+5DF3 5E2B 5F99 601D 6368 659C 65AF 67F6 67FB 68AD
+6B7B 6C99 6CD7 6E23 7009 7345 7802 793E 7940 7960
+79C1 7BE9 7D17 7D72 8086 820D 838E 84D1 86C7 88DF
+8A50 8A5E 8B1D 8CDC 8D66 8FAD 90AA 98FC 99DF 9E9D
+509E 525A 5378 548B 59D2 6942 69AD 6C5C 75E7 76B6
+7AE2 7B25 7F37 8721 8997 99DB 9B66 9BCA 9C24
+C0AD
+524A 6714 69CA 720D 84B4 9460
+C0B0
+5098 522A 5C71 6563 6C55 73CA 7523 759D 7B97 849C
+9178 9730 5277 59CD 5B7F 6A75 6F78 6F98 72FB 7E56
+8A15 93DF 958A 6BFF
+C0B4
+4E77 6492 6BBA 715E 85A9
+C0BC
+4E09 6749 68EE 6E17 829F 8518 886B 7CDD 91E4 9B16
+C0BD
+63F7 6F81 9212 98AF 5345 553C 6B43 7FE3 9364 9705
+970E
+C0C1
+4E0A 50B7 50CF 511F 5546 55AA 5617 5B40 5C19 5CE0
+5E38 5E8A 5EA0 5EC2 60F3 6851 6A61 6E58 723D 7240
+72C0 76F8 7965 7BB1 7FD4 88F3 89F4 8A73 8C61 8CDE
+971C 587D 5F9C 664C 6BA4 751E 7DD7 939F 9859 9B3A
+C0C8
+585E 74BD 8CFD 9C13
+C0C9
+55C7 7A61 7D22 8272 69ED 6FC7 7012
+C0DD
+7272 751F 7525 7B19 771A 924E
+C11C
+5885 58FB 5DBC 5E8F 5EB6 5F90 6055 6292 637F 654D
+6691 66D9 66F8 6816 68F2 7280 745E 7B6E 7D6E 7DD6
+7F72 80E5 8212 85AF 897F 8A93 901D 92E4 9ECD 9F20
+566C 5A7F 63DF 6495 6E51 6FA8 7D13 8021 82A7 924F
+C11D
+5915 596D 5E2D 60DC 6614 6673 6790 6C50 6DC5 6F5F
+77F3 78A9 84C6 91CB 932B 6670 77FD 814A 8203 8725
+9250 9F2B
+C120
+4ED9 50CA 5148 5584 5B0B 5BA3 6247 657E 65CB 6E32
+717D 7401 7444 7487 74BF 766C 79AA 7DDA 7E55 7FA8
+817A 81B3 8239 861A 87EC 8A75 8DE3 9078 9291 9425
+994D 9BAE 58A1 5AD9 5C1F 5C20 5C73 6103 6B5A 71AF
+7B45 7DAB 8B54 8B71 93C7 9A38 9C53 9C7B
+C124
+5368 5C51 6954 6CC4 6D29 6E2B 820C 859B 893B 8A2D
+8AAA 96EA 9F67 5070 5A9F 63F2 66AC 7207 789F 7A27
+7D32
+C12C
+5261 66B9 6BB2 7E96 87FE 8D0D 9583 965D 5B45 61B8
+647B 7752 8B6B 929B 97F1
+C12D
+651D 6D89 71EE 56C1 61FE 7044 8076 8EA1 9477 9873
+C131
+57CE 59D3 5BAC 6027 60FA 6210 661F 665F 7329 73F9
+76DB 7701 7B6C 8056 8072 8165 8AA0 9192 7446 9A02
+C138
+4E16 52E2 6B72 6D17 7A05 7B39 7D30 8CB0 5E28 6D12
+7E50 86FB
+C18C
+53EC 562F 5851 5BB5 5C0F 5C11 5DE2 6240 6383 6414
+662D 68B3 6CBC 6D88 6EAF 701F 70A4 71D2 7526 758F
+758E 7619 7B11 7BE0 7C2B 7D20 7D39 852C 856D 8607
+8A34 900D 9061 90B5 92B7 97F6 9A37 4F4B 4FCF 5372
+55C9 57FD 5850 612C 634E 6A14 6CDD 7B71 7BBE 7E45
+7FDB 8186 8258 86F8 8E08 9165 9704 9B48 9BB9 9C3A
+C18D
+4FD7 5C6C 675F 6D91 7C9F 7E8C 8B16 8D16 901F 6D2C
+906C
+C190
+5B6B 5DFD 640D 84C0 905C 98E1 98E7 98F1
+C194
+7387 7AA3 87C0
+C1A1
+5B8B 609A 677E 6DDE 8A1F 8AA6 9001 980C 67D7 7AE6
+9B06
+C1C4
+5237 7051 788E 9396 60E2 66EC 7463
+C1E0
+8870 91D7
+C218
+4FEE 53D7 55FD 56DA 5782 58FD 5AC2 5B88 5CAB 5CC0
+5E25 6101 620D 624B 6388 641C 6536 6578 6A39 6B8A
+6C34 6D19 6F31 71E7 72E9 7378 7407 74B2 7626 7761
+79C0 7A57 7AEA 7CB9 7D8F 7DAC 7E61 7F9E 8129 8331
+8490 84DA 85EA 8896 8AB0 8B90 8F38 9042 9083 916C
+9296 92B9 968B 96A7 96A8 96D6 9700 9808 9996 9AD3
+9B1A 53DF 552E 5ECB 666C 6BB3 6CC5 6EB2 6FC9 775F
+7762 778D 795F 7C54 813A 8184 81B8 8B8E 8C4E 9672
+98BC 9948
+C219
+53D4 587E 5919 5B70 5BBF 6DD1 6F5A 719F 7421 74B9
+8085 83FD 4FF6 500F 5135 5A4C 6A5A 9A4C 9DEB
+C21C
+5DE1 5F87 5FAA 6042 65EC 6812 696F 6A53 6B89 6D35
+6DF3 73E3 76FE 77AC 7B4D 7D14 8123 821C 8340 84F4
+8563 8A62 8AC4 9187 931E 9806 99B4 4F9A 72E5 76F9
+7734 7D03 80AB 99E8 9B0A 9D89
+C220
+620C 8853 8FF0 9265 7D49
+C22D
+5D07 5D27 5D69 83D8
+C26C
+5005 6DEC 7120
+C2AC
+745F 819D 8768 8671
+C2B5
+6FD5 62FE 7FD2 8936 8972 6174 71A0 96B0
+C2B9
+4E1E 4E58 50E7 52DD 5347 627F 6607 7E69 8805 965E
+584D 9B19
+C2DC
+4F8D 5319 5636 59CB 5AA4 5C38 5C4E 5C4D 5E02 5F11
+6043 65BD 662F 6642 67BE 67F4 731C 77E2 793A 7FC5
+8494 84CD 8996 8A66 8A69 8AE1 8C55 8C7A 5072 5155
+53AE 557B 5852 5EDD 67B2 67F9 6F8C 7DE6 7FE4 8ADF
+8AF0 8C49 91C3 9349 984B
+C2DD
+57F4 5BD4 5F0F 606F 62ED 690D 6B96 6E5C 7184 7BD2
+8755 8B58 8EFE 98DF 98FE 55B0 5AB3 683B
+C2E0
+4F38 4F81 4FE1 547B 5A20 5BB8 613C 65B0 6668 71FC
+7533 795E 7D33 814E 81E3 8398 85AA 85CE 8703 8A0A
+8EAB 8F9B 8FC5 54C2 567A 56DF 59FA 6C5B 77E7 8124
+8D10 9823 99EA
+C2E4
+5931 5BA4 5BE6 6089 87CB 98CB
+C2EC
+5BE9 5C0B 5FC3 6C81 6DF1 700B 751A 82AF 8AF6 68A3
+6F6F 71D6 845A 9414 9C4F
+C2ED
+4EC0 5341 8FBB
+C30D
+96D9
+C528
+6C0F
+C544
+4E9E 4FC4 5152 555E 5A25 5CE8 6211 7259 82BD 83AA
+86FE 8859 8A1D 963F 96C5 9913 9D09 9D5D 4E2B 54E6
+5A3F 5A40 5CE9 75B4 7811 7B0C 8FD3 930F 9D5E
+C545
+580A 5CB3 5DBD 5E44 60E1 6115 63E1 6A02 6E25 9102
+9354 984E 9C10 9F77 5053 537E 54A2 5594 5669 816D
+843C 89A8 8AE4 9D9A 9F76
+C548
+5B89 5CB8 6309 664F 6848 773C 96C1 978D 9854 9B9F
+6849 72B4 8D0B 9D08
+C54C
+65A1 8B01 8ECB 95BC 560E 621E 63E0 7A75 8A10 904F
+981E 9D36
+C554
+5535 5CA9 5DD6 5EB5 6697 764C 83F4 95C7 557D 5A95
+5D53 667B 8164 844A 84ED 8AF3 9837 99A3 9EEF
+C555
+58D3 62BC 72CE 9D28
+C559
+4EF0 592E 600F 663B 6B83 79E7 9D26 536C 5771 6CF1
+76CE 9785
+C560
+5393 54C0 57C3 5D16 611B 66D6 6DAF 788D 827E 9698
+9744 50FE 5509 5540 566F 5A2D 5D15 6328 6371 6B38
+6F04 7343 769A 775A 77B9 78D1 7919 8586 85F9 9749
+9A03
+C561
+5384 627C 6396 6DB2 7E0A 814B 984D 545D 6239 6424
+9628
+C575
+6AFB 7F4C 9DAF 9E1A 56B6 5AC8 7F43 9DEA
+C57C
+4E5F 503B 51B6 591C 60F9 63F6 6930 723A 8036 91CE
+57DC
+C57D
+5F31 7D04 82E5 846F 84BB 85E5 8E8D 721A 79B4 7BDB
+7C65 9470 9C2F 9DB8 9FA0
+C591
+4F6F 58E4 5B43 6059 63DA 6518 656D 6698 694A 6A23
+6D0B 7001 716C 75D2 760D 79B3 7A70 7F8A 8944 8B93
+91C0 967D 990A 5F89 6F3E 703C 70CA 7662 773B 8618
+8F30 9472 98BA 9A64
+C5B4
+5704 5FA1 65BC 6F01 7600 79A6 8A9E 99AD 9B5A 9F6C
+5709 6554 6DE4 98EB
+C5B5
+5104 61B6 6291 6A8D 81C6 7E76
+C5B8
+5043 5830 5F66 7109 8A00 8AFA 50BF 533D 5AE3 8B9E
+9122 9F34 9F39
+C5BC
+5B7C 8616 81EC
+C5C4
+4FFA 513C 56B4 5944 63A9 6DF9 5D26 5E7F 66EE 7F68
+9183 95B9
+C5C5
+5DAA 696D 5DAB 9134
+C5D0
+605A 66C0
+C5D4
+5186
+C5EC
+4E88 4F59 5982 6B5F 6C5D 74B5 7916 8207 8245 8339
+8F3F 8F5D 9918 8201
+C5ED
+4EA6 57DF 5F79 6613 75AB 7E79 8B6F 9006 9A5B 5DA7
+61CC 6DE2 95BE
+C5F0
+56A5 5827 59F8 5A1F 5BB4 5EF6 6350 633B 693D 6C87
+6CBF 6D8E 6D93 6DF5 6F14 70DF 7136 7159 71C3 71D5
+784F 786F 7B75 7DE3 7E2F 884D 8EDF 925B 9CF6 5157
+56E6 57CF 5B3F 6081 63BE 66E3 6ADE 6E37 81D9 839A
+8735 8815 8B8C 9DF0
+C5F4
+6085 6D85 71B1 95B1 564E
+C5FC
+53AD 67D3 708E 7130 7430 8276 82D2 95BB 9AE5 9E7D
+5189 5869 61D5 624A 6ABF 6AB6 704E 7069 91C5 995C
+9B58 9EF6
+C5FD
+66C4 71C1 8449 66C5 7180 7217 9768
+C601
+584B 5DB8 5F71 6620 668E 6979 69AE 6C38 6CF3 6E36
+6F41 6FDA 701B 702F 7150 71DF 7370 745B 74D4 76C8
+7A4E 7E93 82F1 8A60 8FCE 9348 9719 548F 5B34 5B30
+6D67 6FF4 766D 78A4 7E08 8811 8D0F 90E2 97FA
+C608
+4E42 502A 5208 53E1 66F3 6C6D 6FCA 730A 777F 7A62
+82AE 85DD 8602 88D4 8A63 8B7D 8C6B 92B3 9713 9810
+56C8 5ADB 62FD 639C 6798 7369 7768 7796 7E44 7FF3
+82C5 854A 854B 8589 868B 873A 9BE2 9DD6 9E91
+C624
+4E94 4F0D 4FC9 50B2 5348 543E 5433 55DA 5862 58BA
+5967 5A1B 5BE4 609F 61CA 6556 65FF 6664 68A7 6C5A
+6FB3 70CF 71AC 7352 7B7D 8708 8AA4 9C32 9F07 4EF5
+4FE3 5514 55F7 5641 572C 5AAA 5AEF 5FE4 6160 6342
+6C59 7AB9 8071 8323 8956 8B37 8FC3 8FD5 9068 93CA
+93D6 96A9 9A41 9F2F
+C625
+5C4B 6C83 7344 7389 923A
+C628
+6EAB 7465 761F 7A69 7E15 860A 5ABC 614D 6637 6C33
+7185 8580 8F40 919E 97DE 9942 9C2E
+C62C
+5140 55E2 8183
+C639
+58C5 64C1 74EE 7515 7670 7FC1 9095 96CD 9954 5581
+5EF1 6EC3 7655 79BA 7F4B 84CA 96DD 9852
+C640
+6E26 74E6 7AA9 7AAA 81E5 86D9 8778 8A1B 54C7 56EE
+5A50 6799 6D3C 7327 7A8A 8435 8B4C
+C644
+5A49 5B8C 5B9B 68A1 6900 6D63 73A9 7413 742C 7897
+7DE9 7FEB 8118 8155 839E 8C4C 962E 9811 5213 57B8
+59A7 5C8F 5FE8 60CB 6DB4 76CC
+C648
+66F0
+C655
+5F80 65FA 6789 6C6A 738B 5C2B 7007 8FEC
+C65C
+502D 5A03 6B6A 77EE 5AA7
+C678
+5916 5D6C 5DCD 7325 754F 504E 5D34 5D54 6E28 7168
+78A8 78C8 8075 9697
+C694
+50E5 51F9 582F 592D 5996 59DA 5BE5 5DA2 62D7 6416
+6493 64FE 66DC 6A48 71FF 7464 7A88 7AAF 7E47 7E5E
+8000 8170 87EF 8981 8B20 9059 9080 9952 5060 5593
+5773 589D 5B08 5E7A 5FAD 5FBC 6B80 6F86 7945 7A7E
+7A85 8558 9076 9DC2
+C695
+617E 6B32 6D74 7E1F 8925 8FB1 6EBD 84D0
+C6A9
+4FD1 50AD 5197 52C7 57C7 5889 5BB9 5EB8 6142 6995
+6D8C 6E67 6EB6 7194 7462 7528 752C 8073 8338 84C9
+8E0A 9394 93DE 509B 5B82 5D71 6175 6183 69E6 7867
+8202 86F9 8E34
+C6B0
+4E8E 4F51 5076 512A 53C8 53CB 53F3 5B87 5BD3 5C24
+611A 6182 65F4 725B 7397 7440 76C2 7950 7991 79B9
+7D06 7FBD 828B 85D5 865E 8FC2 9047 90F5 91EA 9685
+96E8 96E9 4E8F 4EB4 4FC1 504A 5401 5823 5D4E 5EBD
+6745 75A3 76F1 7AFD 8026 8030 8B23 8E3D 935D 9E80
+9E8C 9F72
+C6B1
+52D6 5F67 65ED 6631 682F 715C 7A36 90C1 980A 71E0
+C6B4
+4E91 6A52 6B9E 6F90 7189 8018 82B8 8553 904B 9695
+96F2 97FB 60F2 6C84 7BD4 7D1C 9723 97F5
+C6B8
+851A 9B31 4E90
+C6C5
+718A 96C4
+C6D0
+5143 539F 54E1 5713 5712 57A3 5A9B 5AC4 5BC3 6028
+613F 63F4 6C85 6D39 6E72 6E90 7230 733F 7457 82D1
+8881 8F45 9060 9662 9858 9D1B 51A4 571C 676C 6965
+7328 7DA9 82AB 8597 873F 8B1C 92FA 9A35 9D77 9EFF
+C6D4
+6708 8D8A 925E 5216 7CA4
+C704
+4F4D 5049 50DE 5371 570D 59D4 5A01 5C09 6170 6690
+6E2D 7232 744B 7DEF 80C3 840E 8466 853F 875F 885B
+8918 8B02 9055 97CB 9B4F 559F 5E43 7152 71A8 75FF
+8473 885E 8AC9 9036 95C8 97D9 97E1 9927 9AAA
+C720
+4E73 4F91 5112 516A 552F 55A9 5B7A 5BA5 5E7C 5E7D
+5EBE 60A0 60DF 6108 6109 63C4 6538 6709 67D4 67DA
+6961 6962 6CB9 6D27 6E38 6FE1 7336 7337 745C 7531
+7652 7DAD 81FE 8438 88D5 8A98 8ADB 8AED 8E30 8E42
+904A 903E 907A 9149 91C9 936E 5198 5466 56FF 58DD
+5E37 63C9 65BF 6CD1 7256 7609 7610 7AAC 7AB3 7C72
+7CC5 7DCC 8174 83A0 8555 8564 86B0 86B4 8764 8915
+8B89 900C 97A3 9BAA 9EDD 9F2C 9FA5
+C721
+5809 6BD3 8089 80B2 5125
+C724
+5141 596B 5C39 6F64 73A7 80E4 8D07 9217 958F 6600
+92C6
+C728
+807F 6F4F 77DE
+C735
+620E 701C 7D68 878D 72E8
+C740
+57A0 6069 6147 6BB7 8ABE 9280 96B1 542C 569A 5701
+57BD 6196 6ABC 6EB5 72FA 73E2 766E 8A14 911E 9F57
+C744
+4E59 9CE6
+C74C
+541F 6DEB 852D 9670 97F3 98EE 5591 5D1F 5ED5 6114
+972A
+C74D
+63D6 6CE3 9091 6092 6339 6D65
+C751
+51DD 61C9 81BA 9DF9
+C758
+4F9D 501A 5100 5B9C 610F 61FF 64EC 6905 6BC5 7591
+77E3 7FA9 8264 858F 87FB 8863 8ABC 8B70 91AB 5117
+51D2 5293 5DB7 6B39 6F2A 7317 7912 8798 9950
+C774
+4E8C 4EE5 4F0A 5937 59E8 5DF2 5F1B 5F5B 6021 723E
+73E5 7570 75CD 79FB 800C 8033 8084 82E1 8351 8CBD
+8CB3 9087 98F4 990C 54BF 5768 5C14 5F5D 682E 6D1F
+73C6 8A11 8A51 8FE4 96B6
+C775
+7037 76CA 7FCA 7FCC 7FFC 8B1A 5F0B 71A4 9DC1
+C778
+4EBA 4EC1 5203 5370 54BD 56E0 59FB 5BC5 5F15 5FCD
+6E6E 7D6A 8335 8693 8A8D 976D 9777 4EDE 5819 5924
+5A63 6268 6C24 6D07 798B 7C7E 82A2 88C0
+C77C
+4E00 4F5A 4F7E 58F9 65E5 6EA2 9038 93B0 99B9 6CC6
+8EFC
+C784
+4EFB 58EC 598A 59D9 6041 7A14 834F 8CC3 7D4D 887D
+928B 98EA
+C785
+5165 5344 5EFF
+C789
+4ECD 5269 5B55 82BF 5AB5
+C790
+4ED4 523A 54A8 59C9 59FF 5B50 5B57 5B5C 6063 6148
+6ECB 7099 716E 7386 74F7 75B5 78C1 7D2B 8005 81EA
+8328 8517 85C9 8AEE 8CC7 96CC 5470 5B28 5B56 5B76
+67D8 6CDA 7278 7725 7726 7CA2 8014 80FE 8308 8332
+83BF 8678 89DC 8A3E 8CB2 8D6D 93A1 983F 9AED 9B93
+9DBF 9DD3
+C791
+4F5C 52FA 56BC 65AB 6628 707C 70B8 7235 7DBD 828D
+914C 96C0 9D72 5C9D 600D 65B1 67DE 6C4B 712F 72B3
+788F
+C794
+5B71 68E7 6B98 6F7A 76DE 5257 6214 9A4F
+C7A0
+5C91 66AB 6F5B 7BB4 7C2A 8836 6D94 6F5C 6FF3
+C7A1
+96DC 5361 56C3 7728 78FC 894D
+C7A5
+4E08 4ED7 5320 5834 58BB 58EF 596C 5C07 5E33 5E84
+5F35 638C 66B2 6756 6A1F 6AA3 6B0C 6F3F 7246 7350
+748B 7AE0 7CA7 8178 81DF 81E7 838A 846C 8523 8594
+85CF 88DD 8D13 91AC 9577 969C 50BD 5958 599D 5B19
+5D82 5EE7 6215 6F33 7242 7634 7CDA 7F98 8407 88C5
+8CEC 9123 93D8 9926 9E9E
+C7AC
+518D 54C9 5728 5BB0 624D 6750 683D 6893 6E3D 6ED3
+707D 7E21 88C1 8CA1 8F09 9F4B 9F4E 5908 5D3D 6257
+699F 707E 7E94
+C7C1
+722D 7B8F 8ACD 931A 5D22 7319 7424 9397
+C800
+4F47 4F4E 5132 5480 59D0 5E95 62B5 6775 696E 6A17
+6CAE 6E1A 72D9 732A 75BD 7BB8 7D35 82E7 83F9 8457
+85F7 8A5B 8CAF 8E87 9019 90B8 96CE 9F5F 5B81 5CA8
+677C 67E2 6C10 6F74 7026 7274 7F5D 7F9D 82F4 86C6
+889B 891A 89DD 8A46 8C6C 967C
+C801
+52E3 540A 5AE1 5BC2 6458 6575 6EF4 72C4 7684 7A4D
+7B1B 7C4D 7E3E 7FDF 837B 8B2B 8CCA 8D64 8DE1 8E5F
+8FEA 8FF9 9069 93D1 6A00 78E7 7CF4 83C2 89BF 9016
+99B0
+C804
+4F43 4F7A 50B3 5168 5178 524D 526A 5861 587C 5960
+5C08 5C55 5EDB 609B 6230 6813 6BBF 6C08 6FB1 714E
+7420 7530 7538 7551 7672 7B4C 7B8B 7BAD 7BC6 7E8F
+8A6E 8F3E 8F49 923F 9293 9322 942B 96FB 985A 986B
+991E 542E 56C0 5AE5 5C47 5DD3 6229 63C3 65C3 6834
+69C7 6E54 6FB6 724B 7471 750E 754B 7560 75CA 765C
+78DA 7C5B 7FB6 7FE6 8146 819E 8343 8E94 8F07 9085
+913D 92D1 932A 975B 9766 9853 98E6 9930 9B0B 9C63
+9E07
+C808
+5207 622A 6298 6D59 7664 7ACA 7BC0 7D76 5C8A 6662
+7A83
+C810
+5360 5CBE 5E97 6F38 70B9 7C98 9711 9B8E 9EDE 4F54
+588A 73B7 7B18 7C1F 82EB 852A 86C5 8998 98AD 9ECF
+C811
+63A5 647A 8776 6904 696A 8728 8DD5 8E40 9C08
+C815
+4E01 4E95 4EAD 505C 5075 5448 59C3 5B9A 5E40 5EAD
+5EF7 5F81 60C5 633A 653F 6574 65CC 6676 6678 67FE
+6968 6A89 6B63 6C40 6DC0 6DE8 6E1F 6E5E 701E 70A1
+738E 73FD 753A 775B 7887 798E 7A0B 7A7D 7CBE 7D8E
+8247 8A02 8AEA 8C9E 912D 914A 91D8 9266 92CC 9320
+9706 9756 975C 9802 9F0E 4F42 53EE 5A67 5A77 6014
+639F 686F 6883 68D6 706F 73F5 7594 7B73 839B 8A3C
+9049 9172 92E5 975A
+C81C
+5236 5291 557C 5824 5E1D 5F1F 608C 63D0 68AF 6FDF
+796D 7B2C 81CD 85BA 88FD 8AF8 8E44 918D 9664 969B
+973D 984C 9F4A 5115 5A23 64E0 7318 7445 7747 7994
+7A0A 7DF9 8E36 8E4F 8E8B 9357 9684 97F2 9BA7 9BF7
+C870
+4FCE 5146 51CB 52A9 5632 5F14 5F6B 63AA 64CD 65E9
+6641 66FA 66F9 671D 689D 68D7 69FD 6F15 6F6E 7167
+71E5 722A 74AA 773A 7956 795A 79DF 7A20 7A95 7C97
+7CDF 7D44 7E70 8087 85FB 86A4 8A54 8ABF 8D99 8E81
+9020 906D 91E3 963B 96D5 9CE5 4F7B 50AE 5201 539D
+5608 566A 5B25 5F82 61C6 627E 6B82 6FA1 7431 7681
+7967 7AC8 7B0A 7CD9 7CF6 7D69 7D5B 80D9 81CA 825A
+8526 8729 8A82 8B5F 921F 929A 92FD 9BDB 9D70 9F02
+C871
+65CF 7C07 8DB3 93C3 762F
+C874
+5B58 5C0A 62F5
+C878
+5352 62D9 731D
+C885
+5027 5B97 5F9E 60B0 616B 68D5 6DD9 742E 7A2E 7D42
+7D9C 7E31 816B 8E2A 8E35 937E 9418 4F00 6152 67CA
+6936 6A05 747D 7607 7CBD 87BD 8E64
+C88C
+4F50 5750 5DE6 5EA7 632B 5249 75E4 839D 9AFD
+C8C4
+7F6A
+C8FC
+4E3B 4F4F 4F8F 505A 59DD 80C4 546A 5468 55FE 594F
+5B99 5DDE 5EDA 665D 6731 67F1 682A 6CE8 6D32 6E4A
+6F8D 70B7 73E0 7587 7C4C 7D02 7D2C 7DA2 821F 86DB
+8A3B 8A85 8D70 8E8A 8F33 9031 914E 9152 9444 99D0
+4E1F 4F9C 5114 5C0C 5E6C 62C4 7843 7C52 8098 8160
+851F 86C0 88EF 8A4B 8CD9 8D8E 8F08 9052 9252 970C
+9714 9F04
+C8FD
+7AF9 7CA5
+C900
+4FCA 5101 51C6 57C8 5BEF 5CFB 6659 6A3D 6D5A 6E96
+6FEC 710C 756F 7AE3 8822 9021 9075 96CB 99FF 5642
+57FB 58AB 60F7 6499 76B4 7DA7 7F47 8E06 8E72 940F
+96BC 9915 9C52 9D54
+C904
+8301 4E7C
+C911
+4E2D 4EF2 8846 91CD 773E
+C989
+537D 5373 559E
+C990
+6ADB 9A2D
+C999
+696B 6C41 847A 6A9D 857A
+C99D
+589E 618E 66FE 62EF 70DD 7511 75C7 7E52 84B8 8B49
+8D08 5D92 77F0 7F7E
+C9C0
+4E4B 53EA 54AB 5730 5740 5FD7 6301 6307 646F 652F
+65E8 667A 679D 67B3 6B62 6C60 6C9A 6F2C 77E5 7825
+7949 7957 7D19 80A2 8102 81F3 829D 82B7 8718 8A8C
+8D04 8DBE 9072 577B 5880 627A 69B0 6CDC 75E3 79EA
+7BEA 8210 8E1F 8E93 8EF9 962F 9BA8 9DD9
+C9C1
+76F4 7A19 7A37 7E54 8077 799D
+C9C4
+5507 55D4 5875 632F 6422 6649 664B 686D 699B 6B84
+6D25 6EB1 73CD 7468 74A1 755B 75B9 76E1 771E 778B
+79E6 7E09 7E1D 81FB 852F 8897 8A3A 8CD1 8EEB 8FB0
+9032 93AD 9663 9673 9707 4FB2 5118 73D2 7A39 84C1
+87B4 8D81 9241 9B12
+C9C8
+4F84 53F1 59EA 5AC9 5E19 684E 74C6 75BE 79E9 7A92
+81A3 86ED 8CEA 8DCC 8FED 57A4 7D70 84BA 90C5 9455
+C9D0
+659F 6715 9D06
+C9D1
+57F7 6F57 7DDD 8F2F 93F6 96C6 54A0 6222
+C9D5
+5FB5 61F2 6F84 6F82 7013 7665 77AA
+CC28
+4E14 4F98 501F 53C9 55DF 5D6F 5DEE 6B21 6B64 78CB
+7B9A 8E49 8ECA 906E 4F7D 5056 5953 5C94 5FA3 69CE
+7473 7868
+CC29
+6349 643E 7740 7A84 932F 947F 9F6A 6233 64C9 65B2
+CC2C
+64B0 6FAF 71E6 74A8 74DA 7AC4 7C12 7E82 7CB2 7E98
+8B9A 8D0A 947D 9910 994C 5127 5139 5297 5DD1 6522
+6B11 7228 8DB2
+CC30
+5239 5BDF 64E6 672D 7D2E 624E 62F6
+CC38
+50ED 53C3 5879 6158 6159 61FA 65AC 7AD9 8B92 8B96
+5133 53C5 5D84 5DC9 615A 61AF 6519 69E7 6B03 6BDA
+8B56 93E8 9471 995E 9A42 9EF2
+CC3D
+5009 5021 5275 5531 5A3C 5EE0 5F70 6134 655E 660C
+6636 66A2 69CD 6EC4 6F32 7316 7621 7A93 8139 8259
+83D6 84BC 5000 5096 51D4 5231 60B5 60DD 6227 6436
+6919 6C05 7472 7A97 7ABB 8E4C 92F9 9306 95B6 9B2F
+9DAC
+CC44
+50B5 57F0 5BC0 5BE8 5F69 63A1 7826 7DB5 83DC 8521
+91C7 91F5 68CC 831D
+CC45
+518A 67F5 7B56 8CAC 5616 5E58 78D4 7B27 7C00 86B1
+CC98
+51C4 59BB 60BD 8655 6DD2 840B 8904 89B7 90EA
+CC99
+501C 5254 5C3A 617D 621A 62D3 64F2 65A5 6ECC 7620
+810A 8E60 965F 96BB 544E 5767 5849 60D5 6357 646D
+8734 8DD6 8E91
+CC9C
+4EDF 5343 5598 5929 5DDD 64C5 6CC9 6DFA 7394 7A7F
+821B 85A6 8CE4 8E10 9077 91E7 95E1 9621 97C6 4FF4
+5029 50E2 5103 6D0A 6FFA 74E9 7946 7C81 81F6 828A
+831C 8350 84A8 8546 8695 8FBF 975D
+CCA0
+51F8 54F2 5586 5FB9 64A4 6F88 7DB4 8F1F 8F4D 9435
+525F 555C 57D1 60D9 6387 6B60 9295 9323 98FB 992E
+CCA8
+50C9 5C16 6CBE 6DFB 751B 77BB 7C3D 7C64 8A79 8AC2
+5E68 5FDD 60C9 6A90 6AFC 7038 7C37 895C
+CCA9
+581E 59BE 5E16 6377 7252 758A 776B 8ADC 8CBC 8F12
+5022 546B 558B 6017 893A
+CCAD
+5EF3 6674 6DF8 807D 83C1 8ACB 9751 9BD6 51CA 570A
+873B 9D84
+CCB4
+5243 66FF 6D95 6EEF 7DE0 8AE6 902E 905E 9AD4 568F
+5F58 68E3 6BA2 780C 8482 8515 855E 8EC6 9746 9AF0
+CD08
+521D 527F 54E8 6194 6284 62DB 68A2 6912 695A 6A35
+7092 7126 785D 7901 790E 79D2 7A0D 8096 8278 82D5
+8349 8549 8C82 8D85 9162 918B 91AE 5062 50EC 52AD
+52E6 564D 5AF6 5CA7 5CED 5D95 600A 6084 6100 676A
+71CB 7D83 8016 8A9A 8B59 8DA0 8EFA 8FE2 9214 936B
+936C 9798 9866 9AEB 9DE6 9F60
+CD09
+4FC3 56D1 71ED 77D7 8700 89F8 66EF 7225 77DA 85A5
+8E85 9AD1
+CD0C
+5BF8 5FD6 6751 90A8 540B
+CD1D
+53E2 585A 5BF5 60A4 6181 6460 7E3D 8070 8525 9283
+8471 84EF 93E6 9A18 9A44
+CD2C
+64AE
+CD5C
+50AC 5D14 6700 562C 6467 69B1 6F3C 7480 78EA 7E17
+8127
+CD94
+589C 62BD 63A8 690E 6978 6A1E 6E6B 76BA 79CB 82BB
+8429 8ACF 8DA8 8FFD 9112 914B 919C 9310 9318 939A
+96DB 9A36 9C0D 50E6 557E 5A35 5E1A 60C6 6376 63EB
+6425 7503 7633 9F9D 7B92 7BA0 7C09 7E0B 7E10 84AD
+966C 96B9 97A6 9A05 9B4B 9C0C 9D7B 9D96 9DB5 9E84
+9EA4
+CD95
+4E11 755C 795D 7AFA 7B51 7BC9 7E2E 84C4 8E59 8E74
+8EF8 9010 59AF 8233 8C56 8E5C 9F00
+CD98
+6625 693F 7443
+CD9C
+51FA 672E 9EDC 79EB
+CDA9
+5145 5FE0 6C96 87F2 885D 8877 51B2 5FE1 73EB
+CDCC
+60B4 81B5 8403 8D05 60F4 63E3 75A9 7601 9847
+CDE8
+53D6 5439 5634 5A36 5C31 708A 7FE0 805A 8106 81ED
+8DA3 9189 9A5F 9DF2 51A3 6A47 6BF3
+CE21
+5074 4EC4 53A0 60FB 6E2C 5EC1 6603
+CE35
+5C64
+CE58
+4F88 5024 55E4 5CD9 5E5F 6065 6894 6CBB 6DC4 71BE
+75D4 75F4 7661 7A1A 7A49 7DC7 7DFB 7F6E 81F4 86A9
+8F1C 96C9 99B3 9F52 536E 54C6 5BD8 5DF5 7564 75D3
+7D7A 83D1 8599 892B 8C78 8DF1 9319 9624 9BD4 9D19
+9D1F 9D44
+CE59
+5247 52C5 98ED 6555
+CE5C
+89AA 6AEC 85FD 896F 9F54
+CE60
+4E03 67D2 6F06
+CE68
+4FB5 5BE2 6795 6C88 6D78 741B 7827 91DD 937C 5BD6
+5FF1 6939 6C89 90F4 92DF 99F8
+CE69
+87C4
+CE6D
+79E4 7A31
+CF8C
+5FEB 5672 592C
+D0C0
+4ED6 54A4 553E 58AE 59A5 60F0 6253 62D6 6736 6955
+8235 9640 99B1 99DD 4F57 579E 62D5 67C1 6A62 6CB1
+8A6B 8DCE 8EB1 99DE 9B80 9D15 9F09
+D0C1
+502C 5353 5544 577C 6258 64E2 666B 67DD 6FC1 6FEF
+7422 7438 8A17 9438 62C6 6A50 6CB0 6DBF 77FA 7C5C
+8600 8E14 9034
+D0C4
+5451 5606 5766 5F48 619A 6B4E 7058 70AD 7DBB 8A95
+61BB 6524 6BAB 7671 9A52
+D0C8
+596A 812B 4FBB
+D0D0
+63A2 7708 803D 8CAA 55FF 5FD0 9156
+D0D1
+5854 642D 69BB 509D 584C 6428
+D0D5
+5B95 5E11 6E6F 8569 71D9 76EA 78AD 862F
+D0DC
+514C 53F0 592A 6020 614B 6B86 6C70 6CF0 7B1E 80CE
+82D4 8DC6 90B0 98B1 57ED 5A27 5B61 62AC 8FE8 99C4
+99D8
+D0DD
+64C7 6FA4
+D0F1
+6491 6490 725A
+D130
+6504
+D1A0
+514E 5410 571F 8A0E
+D1A4
+564B 5678 74F2
+D1B5
+615F 6876 75DB 7B52 7D71 901A 606B 6A0B 7B69
+D1F4
+5806 69CC 817F 892A 9000 9839 96A4
+D22C
+5078 5957 59AC 6295 900F 9B2A 5992 6E1D 9AB0
+D241
+4F5F
+D2B9
+615D 7279 5FD2
+D2C8
+95D6
+D30C
+5761 5A46 5DF4 628A 64AD 64FA 6777 6CE2 6D3E 722C
+7436 7834 7F77 82AD 8DDB 9817 53F5 5991 5CA5 6015
+705E 7238 73BB 76A4 7B06 7C38 8019 83E0 8469 9131
+D310
+5224 5742 677F 7248 74E3 8CA9 8FA6 9211 962A 6C74
+D314
+516B 53ED 634C 6733 6C43
+D328
+4F69 5504 6096 6557 6C9B 6D7F 724C 72FD 7A17 8987
+8C9D 5B5B 65C6 73EE 9708 9738
+D33D
+5F6D 6F8E 70F9 81A8 7830 794A 87DA 87DB
+D345
+610E
+D3B8
+4FBF 504F 6241 7247 7BC7 7DE8 7FE9 904D 97AD 9A19
+533E 5FA7 60FC 7DF6 8251 8439 8759 890A 8ADE
+D3C4
+8CB6 782D 7A86
+D3C9
+576A 5E73 67B0 840D 8A55 6026 62A8 6CD9 82F9 84F1
+9B83
+D3D0
+5420 5B16 5E63 5EE2 5F0A 6583 80BA 853D 9589 965B
+655D 72F4 7358 7648
+D3EC
+4F48 5305 530D 530F 5486 54FA 5703 5E03 6016 629B
+62B1 6355 6CE1 6D66 75B1 7832 80DE 812F 82DE 8461
+84B2 888D 8912 900B 92EA 98FD 9B91 5124 5E96 6661
+66D3 70AE 70B0 8216 8AA7 924B 9784 9914 9BC6
+D3ED
+5E45 66B4 66DD 7011 7206
+D45C
+4FF5 527D 5F6A 6153 6753 6A19 6F02 74E2 7968 8868
+8C79 98C7 98C4 9A43 50C4 52E1 560C 5AD6 647D 6B8D
+719B 7E39 88F1 93E2 9463 9ADF 9C3E
+D488
+54C1 7A1F 7980
+D48D
+6953 8AF7 8C4A 98A8 99AE 760B 8451
+D53C
+5F7C 62AB 75B2 76AE 88AB 907F 9642 8A56 8F9F 9781
+9AF2
+D53D
+8177
+D544
+5339 5F3C 5FC5 6CCC 73CC 7562 758B 7B46 82FE 999D
+4F56 5487 6EED 7BF3 7F7C 84FD 89F1 8E55 97B8 97E0
+99DC 9D6F
+D54D
+4E4F 903C 506A
+D558
+4E0B 4F55 53A6 590F 5EC8 6630 6CB3 7455 8377 8766
+8CC0 9050 971E 9C15 5440 5687 5C88 61D7 7146 7615
+7F45 935C
+D559
+58D1 5B78 8650 8B14 9DB4 72E2 7627 76AC 786E 90DD
+9DFD
+D55C
+5BD2 6068 608D 65F1 6C57 6F22 6FA3 701A 7F55 7FF0
+9591 9592 9650 97D3 50E9 5AFA 5AFB 634D 66B5 9588
+99FB 9DF3 9F3E
+D560
+5272 8F44 778E
+D568
+51FD 542B 54B8 5563 558A 6ABB 6DB5 7DD8 8266 929C
+9677 9E79 839F 83E1 8AF4 8F5E 95DE
+D569
+5408 54C8 76D2 86E4 95A4 95D4 965C 530C 55D1 67D9
+69BC 6E98 76CD 90C3
+D56D
+4EA2 4F09 59EE 5AE6 5DF7 6052 6297 676D 6841 6C86
+6E2F 7F38 809B 822A 9805 592F 6046 7095 7F3F 980F
+D574
+4EA5 5055 54B3 5793 595A 5B69 5BB3 61C8 6977 6D77
+7023 87F9 89E3 8A72 8AE7 9082 99ED 9AB8 548D 5DB0
+5EE8 6B2C 736C 744E 75CE 85A4 91A2 9826 9BAD
+D575
+52BE 6838 7FEE 8988
+D589
+5016 5E78 674F 8347 884C 60BB
+D5A5
+4EAB 5411 56AE 73E6 9115 97FF 9909 9957 9999 858C
+D5C8
+5653 589F 865B 8A31 6B54
+D5CC
+61B2 6AF6 737B 8ED2 5DDA 5E70 6507
+D5D0
+6B47
+D5D8
+96AA 9A57 5DAE 736B 7381
+D601
+5955 7200 8D6B 9769 5F08 6D2B 7131 9B29
+D604
+4FD4 5CF4 5F26 61F8 665B 6CEB 70AB 7384 73B9 73FE
+7729 774D 7D43 7D62 7E23 8237 8852 8CE2 9249 986F
+5107 5B1B 6621 7404 75C3 770C 7E6F 7FFE 8706 8AA2
+92D7 99FD
+D608
+5B51 7A74 8840 9801 7D5C 8D90
+D610
+5ACC
+D611
+4FE0 5354 593E 5CFD 633E 6D79 72F9 8105 8107 83A2
+92CF 9830 5327 53F6 57C9 604A 608F 611C 7BCB
+D615
+4EA8 5144 5211 578B 5F62 6CC2 6ECE 7005 7050 70AF
+7192 73E9 7469 834A 87A2 8861 9008 90A2 93A3 99A8
+5910 5A19 8A57 8FE5 9658
+D61C
+516E 5F57 60E0 6167 66B3 8559 8E4A 91AF 978B 5092
+5612 5BED 5FAF 69E5 76FB 8B11 8B7F
+D638
+4E4E 4E92 547C 58D5 58FA 597D 5CB5 5F27 6236 6248
+660A 6667 6BEB 6D69 6DCF 6E56 6EF8 6F94 6FE0 6FE9
+705D 72D0 7425 745A 74E0 7693 795C 7CCA 7E1E 80E1
+82A6 846B 84BF 864E 865F 8774 8B77 8C6A 93AC 9800
+9865 512B 51B1 5637 5AED 5AEE 6019 6C8D 6EC8 6EEC
+7292 7322 769C 769E 7B8E 8055 9190 992C 9B0D
+D639
+60D1 6216 9177
+D63C
+5A5A 660F 6DF7 6E3E 743F 9B42 5702 60DB 6EB7 711C
+95BD
+D640
+5FFD 60DA 7B0F 56EB
+D64D
+54C4 5F18 6C5E 6CD3 6D2A 70D8 7D05 8679 8A0C 9D3B
+664E 6F92 7BCA 9277 9B28
+D654
+5316 548C 5B05 6A3A 706B 7575 798D 79BE 82B1 83EF
+8A71 8B41 8CA8 9774 4FF0 5629 5A72 64ED 756B 9A4A
+9FA2
+D655
+64F4 652B 78BA 78BB 7A6B 77CD 77E1 792D 944A
+D658
+4E38 559A 5950 5BA6 5E7B 60A3 63DB 6B61 6665 6853
+6E19 7165 74B0 7D08 9084 9A69 9C25 5BF0 61FD 64D0
+74DB 7696 7746 7D59 8C62 8F58 9370 9436 9B1F
+D65C
+6D3B 6ED1 733E 8C41 95CA 86DE
+D669
+51F0 5E4C 5FA8 604D 60F6 6130 614C 6643 6644 69A5
+6CC1 6E5F 6EC9 6F62 714C 749C 7687 7BC1 7C27 8352
+8757 9051 968D 9EC3 55A4 5A93 6033 745D 8093 8CBA
+93A4
+D68C
+532F 56DE 5EFB 5F8A 6062 6094 61F7 6666 6703 6A9C
+6DEE 6FAE 7070 736A 7E6A 81BE 8334 86D4 8AA8 8CC4
+4F6A 6803 6D04 6ED9 76D4 8A7C 8FF4 982E 9C60
+D68D
+5283 7372 5684
+D6A1
+5B96 6A6B 9404 6F8B 921C 9ECC
+D6A8
+54EE 5686 5B5D 6548 6585 66C9 689F 6D8D 6DC6 723B
+80B4 9175 9A4D 509A 56C2 5D24 6BBD 7187 769B 8653
+991A
+D6C4
+4FAF 5019 539A 540E 543C 5589 55C5 5E3F 5F8C 673D
+7166 73DD 9005 543D 55A3 5795 5820 6DB8 7334 7BCC
+8A61 8B43 9157 9931
+D6C8
+52DB 52F3 5864 58CE 7104 718F 71FB 85B0 8A13 6688
+66DB 720B 736F 7E81 8477 9442
+D6CC
+6B3B
+D6D9
+85A8
+D6E4
+55A7 6684 714A 8431 70DC 8AE0 8AFC
+D6FC
+5349 5599 6BC1 71EC 8294 866B 867A
+D718
+5F59 5FBD 63EE 6689 7147 8AF1 8F1D 9EBE 649D 7FEC
+D734
+4F11 643A 70CB 7566 8667 54BB 64D5 96B3 9AF9 9D42
+D73C
+6064 8B4E 9DF8 5379
+D749
+5147 51F6 5308 6D36 80F8 605F 80F7
+D751
+9ED1
+D754
+6615 6B23 7098 75D5 5F88 5FFB 6380 712E 8A22 91C1
+D758
+5403 5C79 7D07 8A16 4EE1 6C54 7599 8FC4 9F55
+D760
+6B20 6B3D 6B46 5EDE
+D761
+5438 6070 6D3D 7FD5 564F 6B59 6F5D 7FD6
+D765
+8208
+D76C
+50D6 51DE 559C 566B 56CD 59EC 5B09 5E0C 6199 6198
+6231 665E 66E6 7199 71B9 71BA 72A7 79A7 7A00 7FB2
+54A5 550F 563B 6095 6232 66BF 6B37 71F9 7214 8C68
+993C
+D790
+8A70 72B5 7E88 896D 9821 9EE0
+__END__
+
+=head1 NAME
+
+Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate;
+ use Unicode::Collate::CJK::Korean;
+
+ my $collator = Unicode::Collate->new(
+ overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean
+ );
+
+=head1 DESCRIPTION
+
+C<Unicode::Collate::CJK::Korean> provides C<weightKorean()>,
+that is adequate for C<overrideCJK> of C<Unicode::Collate>
+and makes tailoring of CJK Unified Ideographs in the order
+of CLDR's Korean ordering.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item CLDR - Unicode Common Locale Data Repository
+
+L<http://cldr.unicode.org/>
+
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Collate::Locale>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm
new file mode 100644
index 00000000000..6288d31fa9c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm
@@ -0,0 +1,2175 @@
+package Unicode::Collate::CJK::Pinyin;
+
+use 5.006;
+use strict;
+
+our $VERSION = '0.65';
+
+my %u2p;
+my $wt = 0x8000;
+
+while (<DATA>) {
+ last if /^__END__/;
+ my @c = split;
+ for my $c (@c) {
+ next if !$c;
+ $u2p{hex($c)} = $wt;
+ $wt++;
+ }
+}
+
+sub weightPinyin {
+ my $u = shift;
+ return exists $u2p{$u} ? $u2p{$u} : undef;
+}
+
+1;
+__DATA__
+3105 3106 3107 3108 3109 310A 310B 310C 310D 310E
+310F 3110 3111 3112 3113 3114 3115 3116 3117 3118
+3119 311A 311B 311C 311D 311E 311F 3120 3121 3122
+3123 3124 3125 3126 3127 3128 3129 5416 963F 554A
+9515 9312 55C4 5391 54CE 54C0 5509 57C3 6328 6B38
+6EBE 953F 9384 5540 6371 7691 51D2 5D66 6EB0 560A
+6571 6573 769A 764C 6BD0 6639 5A3E 55F3 77EE 853C
+8EB7 566F 6FED FA1F 85F9 8B6A 972D 9744 827E 4F0C
+7231 7839 784B 9698 55CC 5867 5AD2 611B 788D 53C6
+66A7 7477 50FE 58D2 5B21 61D3 8586 61DD 66D6 74A6
+8CF9 9932 9D31 76A7 77B9 99A4 7919 8B7A 9440 9C6B
+9749 5B89 4F92 5CD6 6849 6C28 5EB5 83F4 8C19 5A95
+843B 844A 75F7 8164 9E4C 84ED 8A9D 978C 978D 76E6
+8AF3 95C7 99A3 9B9F 76EB 9D6A 97FD 9D95 73B5 557D
+96F8 57B5 4FFA 5535 57EF 94F5 968C 63DE 667B 7F6F
+92A8 72B4 5CB8 6309 6D1D 834C 6848 80FA 8C7B 5813
+5A69 6697 8C8B 5111 930C 9EEF 80AE 9AAF 5C87 6602
+663B 678A 76CE 91A0 51F9 5773 5787 67EA 8EEA 720A
+6556 53AB 969E 55F7 55F8 5D85 5ED2 6EF6 7352 7353
+9068 646E 71AC 7488 851C 78DD 7FF1 8071 87AF 7FF6
+8B37 7FFA 9CCC 93D6 9C32 9DD4 9F07 629D 82BA 62D7
+8884 5AAA 957A 5ABC 8956 5C99 6277 5CB0 50B2 5961
+5965 5AEF 6160 9A9C 5967 6F9A 58BA 5DB4 6FB3 61CA
+64D9 8B38 93CA 9A41 516B 4EC8 5DF4 53ED 6252 6733
+7390 5427 593F 5C9C 82AD 75A4 54F5 634C 7B06 7C91
+7D26 7F93 8686 91DF 8C5D 9C83 9B5E 53D0 72AE 629C
+577A 59AD 62D4 8307 70A6 7679 80C8 91DB 83DD 8A59
+8DCB 8EF7 98B0 9B43 58A2 9F25 628A 94AF 9200 9776
+575D 5F1D 7238 57BB 7F62 E83D 8DC1 9C85 7F77 E83C
+9B81 8987 77F2 9738 58E9 705E 6B1B 6300 63B0 767D
+767E 4F70 67CF 6822 636D 7AE1 7CA8 7D54 6446 64FA
+896C 5457 5E8D 62DD 8D25 62DC 5504 6557 7308 7A17
+7CBA 9781 85AD 8D01 97DB 5161 74F8 6273 653D 670C
+73ED 822C 9881 6591 642C 6592 9812 7622 8781 878C
+8929 764D 8FAC 962A 5742 5C85 6604 677F 7248 74EA
+94A3 7C84 8228 9211 8742 9B6C 95C6 529E 534A 4F34
+626E 59C5 6011 62CC 7ECA 79DA 6E74 7D46 9261 977D
+8FA6 74E3 90A6 5CC0 57B9 5E2E 6360 6886 6D5C 90AB
+5E47 5E5A 7E0D 5E6B 97A4 7ED1 7D81 699C 7253 8180
+73A4 868C 508D 68D2 68D3 7865 8C24 585D 5FAC 7A16
+84A1 872F 78C5 9551 8255 8B17 938A 52F9 5305 4F68
+5B62 82DE 80DE 525D 7B23 7172 9F85 8554 8912 95C1
+8943 9F59 7A87 5AD1 96F9 5B9D 6009 9971 4FDD 9E28
+73E4 5821 5822 5AAC 8446 5BDA 98F9 98FD 8913 99C2
+9CF5 7DE5 9D07 8CF2 85F5 5BF3 5BF6 974C 52FD 62A5
+62B1 8C79 8DB5 94C7 83E2 888C 5831 924B 9C8D 9764
+9AB2 66B4 9AF1 8663 9B91 5124 66D3 7206 5FC1 9464
+8421 9642 5351 676F 76C3 686E 60B2 63F9 7891 9E4E
+85E3 9D6F 55BA 5317 9273 8D1D 72C8 8C9D 90B6 5907
+6601 726C 82DD 80CC 94A1 4FFB 500D 6096 72FD 88AB
+505D 5079 6896 73FC 9101 5099 50C3 60EB 7119 7432
+8EF0 8F88 6102 789A 7999 84D3 86FD 7295 8919 8A96
+9AB3 8F29 92C7 618A 7CD2 97B4 943E 5954 6CCD 8D32
+5034 6E00 9029 7287 8CC1 951B 931B 672C 82EF 5959
+755A 694D 574C 6379 6873 7B28 64AA 7356 8F3D 4F3B
+794A 595F 5D29 7EF7 7D63 958D 5D6D 75ED 5623 7DB3
+7E43 752D 57C4 57F2 83F6 7423 742B 979B 6CF5 8FF8
+902C 8DF0 5874 750F 955A 8E66 93F0 7680 5C44 506A
+6BF4 903C 8C4D 8795 9CBE 939E 9D56 9C0F 67F2 8378
+9F3B 5B36 5315 6BD4 5936 673C 4F4A 5421 59A3 6C98
+7595 5F7C 67C0 79D5 4FFE 7B14 7C83 7C8A 822D 555A
+7B46 9119 805B 8C8F 5302 5E01 5FC5 6BD5 95ED 4F56
+5752 5E87 8BD0 90B2 59BC 602D 6788 7540 7541 82FE
+54D4 6BD6 73CC 75AA 80C7 835C 965B 6BD9 72F4 7562
+8890 94CB 5A62 5EB3 655D 6890 8406 841E 9587 9589
+581B 5F3B 5F3C 610A 610E 6E62 7695 7986 7B5A 8A56
+8CB1 8D51 55F6 5F43 6945 6ED7 6EED 714F 75F9 75FA
+8177 84D6 84FD 870C 88E8 8DF8 8F9F 924D 959F 98F6
+5E63 5F0A 719A 7359 78A7 7A2B 7B85 7B86 7DBC 853D
+912A 999D 5E64 6F77 7358 7F7C 8945 99DC 9AF2 58C1
+5B16 5EE6 7BE6 7BF3 7E2A 859C 89F1 907F 9B85 6583
+6FDE 81C2 8E55 979E 9AC0 5970 74A7 9128 9946 7E74
+895E 8963 93CE 97B8 97E0 8E83 8E84 9B53 8D14 9434
+9A46 9DDD 9DE9 9F0A 8FB9 782D 7B3E 7335 7F16 8439
+7178 7251 7502 7BAF 7DE8 8759 7371 9089 937D 9CCA
+908A 97AD 9BFE 9BFF 7C69 709E 8D2C 6241 7A86 533E
+8CB6 60FC 78A5 7A28 890A 7CC4 9D18 85CA 535E 5F01
+5FED 6283 6C73 6C74 82C4 91C6 5CC5 62DA 4FBF 53D8
+5909 662A 898D 5FA7 63D9 7F0F 904D 959E 8FA1 7DF6
+8251 9828 8FA7 8FA8 8FA9 8FAA 8FAB 8FAE 8FAF 8B8A
+706C 6753 5F6A 6807 98D1 9A89 9ADF 6DF2 730B 813F
+5882 5E56 6EEE 8508 98AE 9AA0 6A19 719B 8198 9E83
+762D 9556 98D9 98DA 5126 98B7 700C 85E8 8B24 7202
+81D5 8D06 93E2 7A6E 9573 98C6 98C7 98C8 98CA 9A43
+9463 9A6B 8868 5A4A 88F1 8AD8 893E 9336 6AA6 4FF5
+647D 9CD4 9C3E 618B 9CD6 9C49 9F08 864C 9F9E 5225
+522B 5487 8382 86C2 5FB6 8952 87DE 8E69 762A 765F
+5F46 6C43 90A0 780F 5BBE 5F6C 50A7 658C 6915 6EE8
+7F24 69DF 7478 8C69 8CD3 8CD4 9554 5110 6FD2 6FF1
+6FF5 8668 8C73 74B8 7015 9726 7E7D 8819 944C 986E
+6C1E 6448 6BA1 8191 9AE9 64EF 9B02 6BAF 81CF 9ACC
+9B13 9AD5 9B22 51AB 4ECC 6C37 51B0 5175 681F 63A4
+68B9 92F2 6AB3 4E19 90B4 9643 6032 62A6 79C9 82EA
+661E 663A 67C4 70B3 997C 772A 7A89 86C3 68C5 7980
+9235 927C 9786 9905 9920 71F7 5E76 4E26 4F75 5E77
+57AA 5EB0 5002 6824 75C5 7ADD 504B 50A1 5BCE 6452
+8A81 9BA9 9750 7676 62E8 6CE2 7677 73BB 5265 76CB
+7835 889A 88AF 94B5 997D 5575 7D34 7F3D 8116 83E0
+88B0 7886 9262 50E0 5D93 64A5 64AD 9911 78FB 8E73
+9A4B 9C4D 4EE2 4F2F 5B5B 72BB 9A73 5E1B 6CCA 72DB
+74DD 82E9 4FBC 52C3 67ED 80C9 90E3 4EB3 632C 6D61
+74DF 79E1 94B9 E84B 94C2 6872 6DFF 8236 535A 6E24
+6E50 8467 9E41 613D 640F 733C 9238 9251 998E 9C8C
+50F0 717F 7254 7B94 818A 824A 999B 99C1 8E23 92CD
+9548 58C6 8584 999E 99EE 9B8A 894F 8C70 5697 61EA
+7921 7C19 939B 993A 9D53 72A6 9AC6 9AC9 6B02 896E
+7934 946E 86BE 8DDB 7BA5 7C38 5B79 64D8 6A97 7CEA
+8B52 8617 8514 5CEC 5EAF 900B 94B8 6661 923D 8AA7
+9914 8F50 91AD 535C 535F 8865 54FA 6355 88DC 9CEA
+735B 9D4F 9E14 4E0D 5E03 4F48 5425 6B65 5498 6016
+6B68 6B69 949A 52CF 57D7 6091 6357 8379 90E8 57E0
+74FF 9208 5ECD 8500 8E04 90F6 7BF0 9922 7C3F 5693
+64E6 6503 7924 7938 906A 56C3 5072 731C 624D 6750
+8D22 8CA1 621D 88C1 7E94 91C7 5038 57F0 5A47 5BC0
+5F69 63A1 776C 8DF4 7DB5 8E29 83DC 68CC 8521 7E29
+4E72 53C2 53C3 53C4 98E1 9A96 53C5 55B0 6E4C 50AA
+5B20 9910 9A42 6B8B 8695 60ED 6B98 615A 8745 6159
+8836 883A 60E8 6701 6158 5646 61AF E835 7A47 9EEA
+9EF2 707F 7CB2 510F 6FAF 8592 71E6 74A8 8B32 7218
+4ED3 4EFA 4F27 6CA7 82CD 9E27 5009 8231 5096 51D4
+5D62 6EC4 734A 84BC 6FF8 8259 87A5 7F49 9DAC 5328
+8535 85CF 6B0C 9476 8CF6 64A1 64CD 7CD9 66FA 66F9
+5608 5D86 6F15 84F8 69FD 893F 825A 87AC 93EA 8279
+8278 8349 613A 61C6 9A32 808F 9135 8959 9F1C 518A
+518C 4FA7 5395 607B 62FA 6D4B 835D 6547 755F 5074
+53A0 7B27 7CA3 8417 5EC1 60FB 6E2C 7B56 8434 7B5E
+7B74 84DB 5884 7BA3 61A1 7C0E 5D7E 81A5 5C91 68A3
+6D94 7B12 564C 5C42 5C64 5D92 7AF2 9A53 8E6D 785B
+7873 5CBE 7320 4E7D 53C9 6260 6271 8286 6748 809E
+81FF 633F 8A0D 505B 55CF 63D2 63F7 9987 929F 9538
+8256 7580 9364 9388 9937 79C5 579E 67E5 67FB 832C
+8336 5D56 643D 7339 976B 69CE 8A67 5BDF 78B4 8928
+6AAB 8869 8E45 9572 9454 597C 6C4A 5C94 4F98 8BE7
+524E 59F9 5DEE 7D01 8A6B 62C6 9497 91F5 72B2 4FAA
+67F4 7961 8C7A 558D 5115 831D 867F 52D1 8883 7625
+8806 56C6 8FBF 89C7 68B4 63BA 6400 8998 88E7 647B
+92D3 5E68 895C 6519 5A75 8C17 5B71 68CE 6E79 7985
+998B 5B0B 7158 7F20 50DD 7351 8749 874A 8A97 92CB
+5103 5EDB 6F79 6F7A 7DFE 78DB 79AA 6BDA 913D 9561
+700D 87EC 5133 5296 7E75 87FE 9141 56B5 58E5 5DC9
+703A 6B03 7E8F 7E92 8E94 9575 826C 8B92 9471 995E
+4EA7 522C 65F5 4E33 6D50 5257 8C04 7522 7523 94F2
+9610 8487 5277 5D7C 644C 6EFB 5E5D 8546 8AC2 95B3
+71C0 7C05 5181 7E5F 91A6 8B42 93DF 95E1 56C5 705B
+8B87 5FCF 785F 6472 61F4 98A4 61FA 7FBC 97C2 986B
+4F25 660C 5000 5A3C 6DD0 7316 83D6 960A 667F 6919
+7429 88EE 9520 9329 95B6 9CB3 9BE7 9F1A 957F 4EE7
+514F 80A0 82CC 9577 9578 5C1D 507F 5E38 5F9C 74FA
+8407 751E 8178 5617 5872 5AE6 747A 8193 92FF 511F
+5690 87D0 9CBF 93DB 9C68 5382 573A 6636 60DD 5834
+655E 50D8 53B0 5EE0 6C05 92F9 6005 739A 7545 5021
+9B2F 5531 60B5 7452 66A2 757C 8AAF 97D4 6284 5F28
+600A 6B29 949E 8A2C 712F 8D85 9214 7E5B 724A 6641
+5DE2 5DE3 671D 911B 9F0C 6F05 5632 6A14 6F6E 7AB2
+7F7A 8F48 9F02 8B3F 5435 7092 7727 717C 9EA8 5DD0
+4EE6 4EEF 8016 89D8 8F66 4F21 8ECA 4FE5 7817 5513
+8397 7868 86FC 626F 5056 64A6 5972 5C6E 5F7B 577C
+8FE0 70E2 70F2 8045 63A3 7869 9819 5FB9 64A4 6F88
+52F6 77AE 7221 62BB 90F4 68FD 741B 55D4 7D9D 778B
+8AC3 8CDD 8B13 5C18 81E3 5FF1 6C89 8FB0 9648 8FE7
+831E 5BB8 70E5 8380 8390 9673 6550 6668 8A26 8C0C
+8ED9 6116 63E8 9202 7141 852F 5875 6A04 760E 9703
+87B4 8AF6 85BC 9E8E 66DF 9DD0 8DBB 7876 789C 588B
+5926 78E3 8E38 8D02 95EF 886C 75A2 79F0 9F80 8D81
+8D82 6987 7A31 9F53 9F54 512D 56AB 8C36 6AEC 896F
+8B96 9637 6CDF 8670 67FD 722F 68E6 6D7E 5041 86CF
+94DB 725A 7424 8D6A 6186 645A 9757 6490 6491 7DFD
+6A55 77A0 8D6C 9833 6A89 7AC0 7A6A 87F6 93F3 93FF
+9953 943A 4E1E 6210 673E 5448 627F 67A8 8BDA 90D5
+4E57 57CE 5A0D 5BAC 5CF8 6D06 837F 4E58 57D5 6330
+73F9 8100 6381 73F5 7A9A 812D 94D6 5818 60E9 68D6
+6909 7A0B 7B6C 7D7E 88CE 584D 5856 6E97 7880 8AA0
+757B 9172 92EE 6195 6F82 6F84 6A59 6A99 9BCE 7013
+61F2 9A2C 4FB1 5F8E 609C 901E 9A8B 5EB1 7748 9A01
+79E4 5403 599B 6758 4F99 54E7 5F68 80F5 86A9 9E31
+74FB 7735 7B1E 7C9A 55AB 8A35 55E4 5AB8 645B 75F4
+7D7A 5644 779D 8ABA 87AD 9D1F 9D44 7661 9B51 9F5D
+6521 9EB6 5F72 9ED0 5F1B 6C60 9A70 5758 8FDF 5CBB
+6CDC 830C 6301 7AFE 834E 4FFF 6B6D 5319 6DD4 801B
+86B3 8D7F 7B42 8CBE 9045 8D8D 905F 99B3 5880 6F26
+8E1F 9072 7BEA 8B18 5C3A 53FA 544E 8094 4F88 5376
+9F7F 5791 62F8 80E3 6065 803B 8687 88B3 8C49 6B3C
+6B6F 88B2 88ED 9279 892B 9F52 5F73 53F1 65A5 707B
+8D64 996C 62B6 8FE3 52C5 605C 70BD 7FC4 7FC5 6555
+70FE 75D3 557B 6E41 98ED 50BA 75F8 815F 8DEE 9253
+96F4 618F 7FE4 906B 9290 6157 761B 7FE8 71BE 61D8
+7CE6 8DA9 994E 9D92 9DD8 5145 51B2 5FE1 6C96 833A
+6D7A 73EB 7FC0 8202 5603 644F 5FB8 6183 61A7 885D
+7F7F 825F 8E56 866B 5D07 5D08 9680 6F34 8908 7DDF
+8769 87F2 721E 5BA0 57EB 5BF5 94F3 63F0 9283 62BD
+E837 7D2C 640A 7633 7BD8 72A8 72AB 4EC7 4FE6 5E31
+6826 60C6 7EF8 83D7 6906 7574 7D52 6101 7697 7A20
+7B79 88EF 8A76 9167 916C 7DA2 8E0C 5114 96D4 5B26
+5E6C 61E4 85B5 71FD 96E0 7587 7C4C 8E8A 91BB 8B8E
+8B90 4E11 4E12 541C 677D 4FB4 5062 7785 919C 77C1
+9B57 81ED 81F0 905A 6BA0 51FA 5C80 521D 6474 6A17
+8C99 9F63 520D 9664 82BB 53A8 6EC1 84A2 8C60 9504
+698B 8021 84AD 870D 8D8E 924F 96CF 7293 854F 5EDA
+7BE8 92E4 6A71 61E8 5E6E 6AC9 87F5 8E87 96DB 6AE5
+8E70 9DB5 8E95 6775 7840 6918 50A8 696E 7987 695A
+891A 6FCB 5132 6A9A 74B4 790E 9F6D 9F7C 4E8D 51E6
+5904 7ACC 6035 62C0 7ECC 8C56 6B2A 7AD0 4FF6 654A
+57F1 73FF 7D40 8655 5097 7421 9110 6410 6EC0 89E6
+8E00 95A6 510A 563C 8AD4 61B7 6A7B 65B6 6B5C 81C5
+9EDC 89F8 77D7 640B 8197 63E3 E852 E850 555C 562C
+8E39 5DDB 5DDD 6C1A 7A7F 5276 744F 4F20 8221 8229
+8239 570C 732D 9044 50B3 693D 6B42 66B7 7BC5 8F32
+821B 8348 5598 50E2 6C4C 4E32 7394 948F 91E7 8CD7
+9DA8 5205 56F1 75AE 7A93 7A97 724E 6450 7255 7621
+7ABB 5E8A 7240 5647 50B8 6F3A 78E2 95D6 521B 6006
+5231 524F 5259 5275 6134 5439 708A 9FA1 5782 5015
+57C0 6858 9672 6376 83D9 6425 68F0 8144 69CC 9524
+7BA0 9318 939A 9840 65FE 6776 6625 8405 583E 5A8B
+6699 693F 69C6 7443 7BBA 877D 6A41 8F34 6AC4 E858
+9C06 9D9E 7EAF 9659 5507 6D71 7D14 83BC 6DF3 8123
+6E7B 7289 6EE3 8493 9E51 6F18 84F4 9187 9195 931E
+9BD9 9D89 5046 8436 60F7 7776 8CF0 8E33 8822 8E14
+6233 8FB6 8FB5 5A15 5A16 60D9 6DB0 7EF0 9034 814F
+8F8D 916B 7DBD 8DA0 8F1F 9F8A 64C9 78ED 6B60 56BD
+9F6A 9461 9F71 5472 73BC 75B5 8D80 5068 7E12 9AB4
+8BCD 73C1 5790 67CC 7960 8308 8328 5832 74F7 8A5E
+8F9D 6148 7506 8F9E 9236 78C1 96CC 9E5A 7CCD 8FA4
+98FA 9908 5B28 6FE8 858B 9D1C 7920 8800 8FAD 9DBF
+9DC0 6B64 4F4C 6CDA 7689 8DD0 673F 6B21 4F7D 523A
+523E 5E9B 8326 6828 83BF 7D58 86D3 8D50 8786 8CDC
+55ED 4ECE 5306 56EA 82C1 5FE9 679E 8310 6031 5F9E
+60A4 68C7 7127 8471 6964 6F17 8061 84EF 8525 9AA2
+66B0 6A05 6A2C 719C 747D 7481 7DEB 8066 806A 779B
+7BF5 8070 87CC 7E71 93E6 9A18 9A44 4E1B 5F93 5A43
+5B6E 5F96 60B0 6DD9 742E 6152 6F0E 6F40 6F48 6F68
+8AB4 8CE8 8CE9 6A37 85C2 53E2 7047 6B09 721C 6181
+8B25 51D1 6E4A 6971 8160 8F8F 8F33 7C97 89D5 9E81
+9E84 9EA4 5F82 6B82 4FC3 731D 5AA8 9162 7604 851F
+8A8E 8D97 5648 61B1 8E27 918B 762F 7C07 7E2C 8E59
+9F00 8E74 8E75 9863 6C46 64BA 9569 8E7F 651B 8EA5
+9479 6505 6AD5 5DD1 6B11 7A73 7A9C 71B6 7BE1 6BA9
+7BF9 7C12 7AC4 7228 5D14 50AC 51D7 7F1E 5894 5D89
+615B 6467 69B1 69EF 7355 78EA 7E17 93D9 4E7C 6F3C
+7480 8DA1 76A0 4F1C 5FF0 75A9 5005 7D23 7FC6 8103
+8106 5550 555B 60B4 6DEC 8403 6BF3 7120 7601 7CB9
+7DB7 7FE0 81B5 81AC 7AC1 894A 9847 81CE 90A8 6751
+76B4 58AB 6F8A 7AF4 5B58 62F5 8E06 520C 5FD6 5BF8
+540B 7C7F 6413 7473 9073 78CB 64AE 8E49 919D 9ACA
+8658 5D6F 5D73 75E4 7749 77EC 84AB 8516 9E7E 9E7A
+9F79 811E 5249 5252 539D 590E 632B 839D 83A1 63AA
+902A 68E4 9509 84CC 9519 92BC 932F 5491 54D2 8037
+7563 642D 55D2 8921 5660 58B6 6498 939D 8FBE 8FCF
+8FD6 547E 59B2 601B 6C93 57AF 709F 7F8D 8345 8359
+5273 5312 7B2A 9039 6E9A 7B54 8A5A 9054 8DF6 7629
+977C 8598 9791 71F5 7E68 87FD 9389 8E82 943D 97C3
+9F96 9F98 6253 5927 4EA3 7714 6A7D 5446 5454 7343
+61DB 6B79 50A3 4EE3 6C4F 8F6A 4FA2 5788 5CB1 5E12
+7519 7ED0 8FE8 5E26 5F85 6020 67CB 6B86 73B3 8D37
+5E2F 8ED1 57ED 5E36 7D3F 86AE 888B 8EDA 902E 8CB8
+8EE9 7447 5ED7 53C7 66C3 7DFF 9B98 9D0F 6234 825C
+9EDB 7C24 8E5B 703B 9734 8976 9EF1 9746 4E39 5989
+5355 62C5 5358 7708 7803 803C 803D 90F8 8043 8EAD
+9156 55AE 5A85 6B9A 7605 5330 7BAA 891D 9132 9815
+510B 52EF 64D4 6BAB 7649 894C 7C1E 8078 4F14 5210
+72DA 73AC 74ED 80C6 8874 75B8 7D1E 63B8 4EB6 99BE
+64A3 6FB8 9ED5 81BD 65E6 4F46 5E0E 6C8A 6CF9 8BDE
+67E6 758D 8A11 5556 5557 5F39 60EE 6DE1 840F 86CB
+557F 6C2E 8145 8711 89DB 7A9E 8A95 50E4 5649 9AE7
+563E 5F48 619A 61BA 6FB9 79AB 9924 99F3 9D20 7514
+765A 56AA 8D09 972E 994F 5F53 73F0 88C6 7B5C 7576
+5105 5679 6FA2 74AB 8960 7C39 8261 87F7 6321 515A
+8C20 64CB 8B61 9EE8 6529 7059 6B13 8B9C 6C39 51FC
+5735 5B95 7800 57B1 8361 6863 83EA 5A78 74FD 903F
+96FC 6F52 78AD 778A 8569 8DA4 58CB 6A94 7497 76EA
+7911 7C1C 862F 95E3 5200 5202 53E8 5C76 5FC9 6737
+6C18 8220 91D6 9C7D 9B5B 636F 5BFC 5C9B 9666 5012
+5BB2 5CF6 6363 7977 7982 6417 969D 5D8B 5D8C 69DD
+5C0E 96AF 58D4 5DB9 64E3 8E48 79B1 5230 60BC 7118
+76D7 83FF 6921 76DC 9053 7A32 7FE2 5675 7A3B 885C
+6AA4 885F 71FE 7FFF 8EC7 74D9 7E9B 6074 5F97 6DC2
+60B3 60EA 951D 561A 5FB3 5FB7 9340 7684 63FC 6265
+627D 706F 767B 8C4B 5654 5B01 71C8 7492 7AF3 7C26
+8260 89B4 8E6C 7B49 6225 9093 50DC 51F3 9127 96A5
+58B1 5D9D 77AA 78F4 956B 6AC8 9419 4EFE 4F4E 5943
+5F7D 889B 5572 57DE 7F9D 9684 5824 8D86 5600 6EF4
+955D 78FE 9349 97AE 93D1 5EF8 72C4 8091 7C74 82D6
+8FEA 5519 654C 6DA4 837B 6891 7B1B 89CC 976E 6ECC
+9AE2 5AE1 850B 8510 9814 9B61 6575 7BF4 5681 85E1
+8C74 7CF4 89BF 9E10 6C10 538E 8BCB 90B8 963A 5467
+577B 5E95 5F24 62B5 62DE 67E2 7274 7825 638B 83E7
+89DD 8A46 8EE7 805C 9AB6 9BF3 5730 5F1A 5754 5F1F
+65F3 6755 7393 601F 67A4 82D0 4FE4 5E1D 57CA 5A23
+9012 9013 5059 5547 688A 710D 7731 7976 7B2C 83C2
+8C1B 91F1 5A82 68E3 7747 7F14 8482 50C0 7998 8163
+905E 926A 99B0 5891 58AC 6455 78B2 8515 8743 9070
+6178 750B 7DE0 5DB3 8AE6 8E36 87AE 55F2 6541 6382
+508E 53A7 5D6E 6EC7 69D9 7628 98A0 8E4E 5DC5 985A
+985B 766B 5DD3 5DD4 6527 7672 9F7B 5178 594C 70B9
+5A70 655F 6923 7898 84A7 8547 8E2E 9EDE 7535 4F43
+7538 963D 576B 5E97 57AB 6242 73B7 94BF 5538 5A5D
+60E6 6DC0 5960 7414 6BBF 8714 923F 96FB 588A 58C2
+6A42 6FB1 975B 78F9 765C 7C1F 9A54 5201 53FC 6C48
+521F 866D 51CB 595D 5F34 5F6B 86C1 7431 8C82 7889
+9CED 6BA6 7797 96D5 9B89 9CB7 7C13 9F26 9BDB 9D70
+625A 5C4C 5F14 4F04 540A 9493 7A8E 8A0B 8C03 6389
+91E3 94DE 921F 7AE8 84E7 92B1 96FF 8ABF 7639 7AB5
+92FD 85CB 9443 7239 8DCC 893A 82F5 8FED 57A4 5CCC
+604E 6315 7ED6 80C5 74DE 7723 800A 5551 621C 8C0D
+558B 581E 5E49 60F5 63F2 7573 7D70 800B 81F7 8A44
+8D83 53E0 6B9C 7243 7252 957B 5D7D 789F 8728 890B
+8253 8776 7582 8ADC 8E40 9CBD 66E1 66E2 9C08 7589
+758A 6C0E 54CB 6633 7730 56B8 4E01 4EC3 53EE 5E04
+738E 753C 7594 76EF 9489 8035 914A 91D8 976A 5975
+9876 9802 9F0E 5D7F 9F11 85A1 9424 8BA2 5FCA 9964
+77F4 5B9A 8A02 98E3 5576 8423 6917 815A 7887 952D
+78A0 8062 8063 9320 78F8 9841 4E1F 4E22 94E5 98A9
+92A9 4E1C 51AC 549A 5CBD 6771 82F3 6638 6C21 5032
+9E2B 57EC 5A3B 5D2C 6DB7 7B17 83C4 6C2D 8740 9B97
+9F15 9BDF 9D87 9DAB 8463 58A5 5B1E 61C2 7BBD 856B
+8ACC 52A8 51BB 4F97 578C 59DB 5CD2 5CDD 606B 630F
+680B 6D1E 80E8 8FF5 51CD 6219 80F4 52D5 5D20 7850
+68DF 6E69 8156 50CD 8A77 99E7 9718 543A 5245 5517
+90FD 515C 5160 8538 6A77 7BFC 8254 6597 4E67 9627
+6296 6793 94AD 9661 86AA 9204 8C46 90D6 6D62 8373
+9017 997E 9B25 68AA 6BED 8130 9158 75D8 9597 7AA6
+9B26 92C0 9916 65A3 95D8 7AC7 9B2A 9B2C 9B2D 5262
+9607 561F 7763 918F 95CD 6BD2 6D9C 8BFB 6E0E 691F
+724D 728A 88FB 8AAD 8773 7368 9316 51DF 5335 5B3B
+7006 6ADD 6BB0 7258 72A2 74C4 76BE 9A33 9EE9 8B80
+8C44 8D15 97E3 9AD1 945F 97C7 97E5 9EF7 8B9F 53BE
+72EC 7B03 5835 5E3E 743D 8D4C 7779 89A9 8CED 7BE4
+828F 5992 675C 809A 59AC 5EA6 8370 79FA 6E21 976F
+9540 8799 6BAC 934D 8827 8839 8011 5073 5A8F 7AEF
+890D 9374 77ED 6BB5 65AD 5845 7F0E 846E 6934 7145
+7456 8176 78AB 953B 7DDE 6BC8 7C16 935B 65B7 8E96
+7C6A 53FE 5796 5806 5860 5D5F 75FD 78D3 9827 9D2D
+941C 961F 5BF9 514A 514C 5151 5BFE 794B 603C 966E
+968A 7893 7D90 5C0D 619D 6FE7 85B1 9566 61DF 7029
+8B48 9413 8B75 5428 60C7 6566 8733 58A9 58AA 58FF
+64B4 7364 5678 6489 6A54 729C 7905 8E72 8E7E 9A50
+76F9 8DB8 8E89 4F05 56E4 5E89 6C8C 7096 76FE 7818
+9007 949D 987F 9041 920D 815E 9813 78B7 906F 619E
+6F61 71C9 8E32 591A 591B 5484 54C6 8324 525F 5D1C
+6560 6BF2 88F0 5689 4EDB 593A 94CE 526B 6387 6553
+655A 55A5 656A 75E5 922C 596A 51D9 8E31 9BB5 9438
+6735 6736 54DA 579B 6305 6306 57F5 7F0D 692F 8D93
+8EB1 8EB2 7D9E 4EB8 8EC3 9B0C 56B2 5234 5241 6CB2
+964A 964F 9973 579C 5C2E 67EE 6857 5815 8235 60F0
+8DE2 8DE5 8DFA 98FF 58AE 5D9E 619C 58AF 9D7D 59B8
+59BF 5A3F 5C59 8BB9 542A 56EE 8FD7 4FC4 5A25 5CE8
+5CE9 6D90 83AA 73F4 8A1B 7692 774B 920B 9507 9E45
+86FE 78C0 8A90 92E8 981F 989D 9B64 984D 9D5D 9D5E
+8B4C 6799 7808 5A40 60E1 5641 9A00 9D48 5384 6B7A
+5C75 6239 5C8B 9628 5443 627C 82CA 9638 545D 7810
+8F6D 54A2 54B9 57A9 59F6 5CC9 530E 6076 7828 8685
+997F 5054 537E 580A 60AA 7846 8C14 8EDB 9102 960F
+582E 5D3F 6115 6E42 843C 8C5F 8EF6 904C 904F 5EC5
+6424 6439 7427 816D 8A7B 50EB 8741 9537 9E57 855A
+907B 981E 989A 9913 5669 64DC 89A8 8AE4 95BC 9929
+9354 9CC4 6B5E 984E 6AEE 9C10 9D9A 8B8D 9469 9F76
+9C77 5940 6069 84BD 717E 5CCE 6441 97A5 4ED2 4E7B
+65D5 513F 800C 5150 4F95 5152 9651 5CCF 6D0F 800F
+834B 682D 80F9 5532 88BB 9E38 7CAB 804F 8F00 9C95
+96AD 9AF5 9B9E 9D2F 8F5C 5C12 5C13 5C14 8033 8FE9
+6D31 9975 682E 6BE6 73E5 94D2 723E 927A 990C 99EC
+85BE 9087 8DB0 4E8C 5F0D 5F10 4F74 5235 54A1 8D30
+8CAE 8848 8CB3 8A80 6A32 53D1 6CB7 767A 767C 5F42
+9AEA 6A43 9197 4E4F 4F10 59C2 57A1 75BA 7F5A 8337
+9600 6830 50A0 7B4F 7782 7F70 95A5 7F78 85C5 4F71
+6CD5 781D 9345 704B 73D0 743A 9AEE 5E06 5FDB 72BF
+756A 52EB 5643 58A6 5B0F 5E61 61A3 65D9 65DB 7FFB
+85E9 8F53 98BF 7C53 98DC 9C55 51E1 51E2 51E3 5325
+674B 67C9 77FE 7C75 9492 8224 70E6 8227 7B32 91E9
+68E5 7169 7DD0 6A0A 8543 6A4E 71D4 74A0 81B0 85A0
+7E41 894E 7E59 7FB3 8E6F 703F 792C 8629 9407 881C
+9DED 53CD 4EEE 6255 8FBA 8FD4 6C3E 72AF 597F 6C4E
+6CDB 996D 8303 8D29 7548 8A09 8ED3 68B5 76D5 7B35
+8CA9 8EEC 98EF 98F0 6EFC 5B0E 7BC4 5B14 702A 531A
+65B9 90A1 574A 82B3 678B 7265 94AB 6DD3 8684 580F
+8DBD 9201 933A 9D0B 9632 59A8 623F 80AA 57C5 9C82
+9B74 4EFF 8BBF 5F77 7EBA 6609 6618 74EC 7706 5023
+65CA 7D21 822B 8A2A 9AE3 9DAD 653E 98DE 5983 975E
+98DB 5561 5A53 5A54 6E04 7EEF 83F2 6249 7306 975F
+88F6 7DCB 871A 970F 9CB1 9925 99A1 9A11 9A1B 9BE1
+98DD 80A5 6DDD 6683 8153 8730 87E6 670F 80D0 532A
+8BFD 595C 60B1 6590 68D0 69A7 7FE1 855C 8AB9 7BDA
+5420 5E9F 676E 6CB8 72D2 80BA 6632 8D39 4FF7 5255
+539E 75BF 5C5D 8409 5EC3 8CBB 75F1 9544 5EE2 855F
+66CA 7648 9F23 6FF7 6AE0 9428 9745 5206 5429 5E09
+7EB7 82AC 6610 6C1B 73A2 7AD5 886F 7D1B 7FC2 68FB
+8A1C 8EAE 915A 9216 96F0 6706 9934 9959 5746 575F
+59A2 5C8E 6C7E 678C 7083 80A6 68A4 7F92 86A0 86A1
+68FC 711A 84B6 999A 96AB 58B3 5E69 8561 9B75 9CFB
+6A68 71CC 71D3 8C6E 9F22 7FB5 9F16 8C76 8F52 943C
+99A9 9EC2 7C89 7793 9EFA 4EFD 574B 5F05 594B 5FFF
+79CE 507E 6124 7CAA 50E8 61A4 596E 81B9 7CDE 9CBC
+7035 9C5D 4E30 98CE 4EF9 51E8 51EC 59A6 6CA3 6CA8
+51EE 67AB 5C01 75AF 76FD 781C 98A8 5CEF 5CF0 5051
+687B 70FD 7412 5D36 6E22 6E84 7326 8451 950B 6953
+728E 8702 760B 78B8 50FC 7BC8 9137 92D2 6A92 8C50
+93BD 93E0 9146 5BF7 7043 8634 974A 98CC 9EB7 51AF
+5906 6340 6D72 9022 5838 99AE 6453 7D98 7F1D 8242
+7E2B 8BBD 8982 552A 8AF7 51E4 5949 752E 4FF8 6E57
+7128 7148 8D57 9CEF 9CF3 9D0C 8CF5 8615 74F0 8985
+4ECF 4F5B 5772 68BB 57BA 7D11 7F36 5426 599A 7F39
+7F3B 96EC 9D00 592B 4F15 909E 544B 598B 59C7 678E
+739E 80A4 6024 67CE 7806 80D5 8342 886D 5A10 5C03
+8374 65C9 7D28 8DBA 915C 9EB8 7A03 8DD7 9207 7B5F
+7D92 911C 5B75 8C67 6577 819A 9CFA 9EA9 7CD0 9EAC
+9EB1 61EF 4E40 5DFF 5F17 4F0F 51EB 7536 51B9 521C
+5B5A 6276 8299 82A3 82BE 5488 5CAA 5E17 5F7F 602B
+62C2 670D 6CED 7EC2 7ECB 82FB 8300 4FD8 5798 67B9
+67EB 6C1F 6D11 70A5 73B8 7549 7550 7953 7F58 832F
+90DB 97E8 9CEC 54F9 683F 6D6E 7557 7829 83A9 86A8
+5310 6874 6DAA 70F0 7408 7B26 7B30 7D31 7D3C 7FC7
+8274 83D4 8659 88B1 5E45 68F4 7D65 7F66 844D 798F
+7CB0 7D8D 8240 8709 8F90 9258 925C 98AB 9CE7 6991
+7A2A 7B99 8907 97CD 5E5E 6F93 8760 9AF4 9D14 8AE8
+8E3E 8F3B 9B84 7641 8946 9BB2 9EFB 8965 9D69 9D9D
+5452 629A 752B 5E9C 5F23 62CA 65A7 4FCC 90D9 4FEF
+91DC 91E1 636C 812F 8F85 6928 7124 76D9 8151 6ECF
+8705 8150 8F14 64AB 9B34 7C20 9EFC 961D 7236 8BA3
+4ED8 5987 8D1F 9644 5490 577F 7ACE 961C 9A78 590D
+5CCA 7954 8A03 8CA0 8D74 86A5 889D 965A 5069 51A8
+526F 5A4F 5A66 86B9 5085 5A8D 5BCC 5FA9 79FF 842F
+86D7 8984 8A42 8D4B 6931 7F1A 8179 9C8B 79A3 8914
+8D59 7DEE 8567 875C 876E 8CE6 99D9 7E1B 8F39 9B92
+8CFB 9351 9362 9CC6 8986 99A5 9C12 7324 65EE 4F3D
+5620 9486 5C1C 91D3 560E 5676 9337 5C15 738D 5C2C
+9B40 4F85 8BE5 90C2 9654 5793 59DF 5CD0 8344 6650
+8D45 7561 7974 7D6F 9691 8A72 8C65 8CC5 8CCC 5FCB
+6539 7D60 9385 4E10 4E62 5303 5304 675A 9499 76D6
+6461 6E89 8462 9223 6224 6982 84CB 69E9 69EA 6F11
+74C2 5E72 7518 5FD3 8289 8FC0 653C 6746 7395 809D
+5769 6CD4 82F7 67D1 7AFF 75B3 9150 7C93 4E81 51F2
+5C32 5C34 7B78 6F27 9CF1 5C36 5C37 9B50 4EE0 76AF
+79C6 8866 8D76 6562 687F 7B34 7A08 611F 6F89 8D95
+6A44 64C0 7C33 9CE1 9C64 65F0 6C75 76F0 77F8 7EC0
+501D 51CE 6DE6 7D3A 8A4C 9AAD 5E79 69A6 6A8A 8D63
+8D1B 7068 5188 7F53 51AE 521A 962C 5C97 7EB2 809B
+5CA1 7268 7598 77FC 7F38 94A2 525B 7F61 E827 E82D
+5808 6386 91ED 68E1 7285 583D 7DB1 7F41 92FC 93A0
+5D17 6E2F 6760 7135 7B7B 69D3 6206 6207 768B 7F94
+7F99 9AD8 7690 9AD9 81EF 6EDC 776A 69D4 777E 818F
+69F9 6A70 7BD9 7CD5 993B 6ADC 97DF 9DCE 9F1B 9DF1
+5930 6772 83D2 7A01 641E 7F1F 69C0 69C1 7354 7A3E
+7A3F 9550 7E1E 85C1 6ABA 85F3 93AC 543F 544A 52C2
+8BF0 90DC 5CFC 796E 7970 9506 7B76 66A0 799E 8AA5
+92EF 6208 572A 72B5 7EA5 6213 8090 726B 7599 7271
+7D07 54E5 80F3 88BC 9E3D 5272 6401 5F41 6B4C 6ED2
+6228 95A4 9D10 9D1A 64F1 8B0C 9D3F 93B6 5444 4F6E
+530C 630C 8316 9601 9769 654B 683C 9B32 6105 81F5
+845B 86D2 86E4 88D3 9694 55DD 5865 6EC6 89E1 643F
+69C5 8188 95A3 9549 9788 97D0 9ABC 8AFD 8F35 9BAF
+6ACA 9398 97DA 8F55 97B7 9A14 9C2A 54FF 8238 4E2A
+5404 867C 500B 784C 94EC 7B87 927B 7366 7ED9 7D66
+6839 8DDF 54CF 4E98 826E 831B 63EF 6404 66F4 522F
+5E9A 754A 6D6D 8015 63B6 83EE 6929 713F 7D5A 8D53
+9E52 7DEA 7E06 7FAE 8CE1 7FB9 9D8A 90E0 54FD 57C2
+5CFA 632D 7EE0 803F 8384 6897 7D86 9CA0 9ABE 9BC1
+4E99 5829 5579 55BC 55F0 5DE5 5F13 516C 53B7 529F
+653B 675B 4F9B 7CFC 80B1 5BAB 5BAE 606D 86A3 8EAC
+9F9A 5311 5868 5E4A 6129 89E5 8EB3 5314 78BD 7BE2
+9AF8 89F5 9F8F 9F94 5EFE 5DE9 6C5E 62F1 551D 62F2
+6831 73D9 8F01 978F 5171 8D21 7FBE 8CA2 6150 7195
+8D11 515D 5163 52FE 4F5D 6C9F 94A9 88A7 7F11 920E
+6E9D 9264 7DF1 8920 7BDD 7C3C 97B2 97DD 5CA3 72D7
+82DF 67B8 73BD 8007 8009 7B31 8008 86BC 8C7F 5778
+6784 8BDF 8D2D 57A2 59E4 8329 5193 591F 5920 8A3D
+5ABE 5F40 6406 8A6C 9058 96CA 69CB 7179 89CF 6480
+89AF 8CFC 4F30 5495 59D1 5B64 6CBD 6CD2 67E7 8F71
+5502 5503 7F5B 9E2A 7B1F 83C7 83F0 86C4 84C7 89DA
+8EF1 8EF2 8F9C 9164 6BC2 9232 7B8D 7B9B 5AF4 7BD0
+6A6D 9B95 9D23 8F42 9E58 9DBB 53E4 5903 6262 6C69
+8BC2 8C37 80A1 5CE0 726F 9AA8 7F5F 7F96 9027 94B4
+50A6 5552 6DC8 8135 86CA 86CC 5C33 6132 7138 7872
+8A41 9989 9E44 69BE 9237 9F13 9F14 560F 6996 76B7
+7A40 7E0E 7CD3 85A3 6FF2 81CC 9936 7014 76EC 77BD
+9D60 8831 56FA 6018 6545 51C5 987E 580C 5D13 5D2E
+688F 727F 68DD 797B 96C7 75FC 7A12 9522 980B 50F1
+932E 9CB4 9BDD 9867 74DC 522E 82FD 80CD 9E39 6B44
+713B 7171 98AA 8D8F 5280 7DFA 92BD 98B3 9D30 9A27
+518E 53E7 5471 5250 526E 5569 5BE1 5366 576C 8BD6
+6302 639B 7F63 7D53 7F6B 8902 8A7F 4E56 62D0 67B4
+67FA 7B89 592C 53CF 602A 6060 5173 89C2 5B98 51A0
+898C 500C 8416 68FA 8484 7AA4 95A2 761D 764F 89B3
+95D7 9CCF 95DC 9C25 89C0 9C5E 9986 742F 75EF 7B66
+7BA1 8F28 8218 9327 9928 8E80 9CE4 535D 6BCC 4E31
+8D2F 6CF4 60BA 60EF 63BC 6DAB 8CAB 60B9 797C 6163
+645C 6F45 9066 6A0C 76E5 7F46 96DA 93C6 704C 721F
+74D8 77D4 7936 9E73 7F50 9475 9E1B 9C79 5149 706E
+4F8A 7097 709A 709B 54A3 5799 59EF 6D38 832A 6844
+70E1 73D6 80F1 7844 50D9 8F04 92A7 9EC6 6B1F 5E7F
+5E83 72B7 5EE3 7377 81E9 4FC7 901B 81E6 6497 5F52
+572D 59AB 9F9F 89C4 90BD 7688 8325 95FA 5E30 73EA
+80FF 4E80 7845 7A90 88BF 898F 5AAF 691D 7470 90CC
+5AE2 646B 95A8 9C91 5B00 5DB2 69FB 69FC 749D 77A1
+81AD 9BAD 9F9C 5DC2 6B78 9B36 9A29 74CC 9B39 6AF7
+5B84 6C3F 8F68 5E8B 4F79 5326 8BE1 9652 579D 59FD
+6051 7678 8ECC 9B3C 5EAA 796A 532D 6677 6E40 86EB
+89E4 8A6D 53AC 7C0B 87E1 523D 523F 6530 660B 67DC
+7085 6531 8D35 6842 6922 7B40 8CB4 6E8E 84D5 8DEA
+7786 528A 528C 648C 69F6 77B6 79AC 7C02 6AC3 8958
+9CDC 97BC 9C56 9C65 4E28 886E 60C3 7EF2 889E 8F8A
+6EDA 84D8 88F7 6EFE 7DC4 8509 78D9 7DF7 8F25 9CA7
+9B8C 9BC0 68CD 68DE 7754 7774 74AD 8B34 5459 54BC
+57DA 90ED 556F 581D 5D1E 6947 8052 921B 9505 588E
+7611 5613 5F49 6FC4 8748 934B 5F4D 87C8 56EF 56F6
+56FB 56FD 5700 570B 5E3C 63B4 8158 5E57 6156 6451
+6F0D 805D 852E 8195 8662 9998 679C 60C8 6DC9 7313
+83D3 9983 6901 8901 69E8 7CBF 7DB6 873E 88F9 8F20
+991C 9439 8FC7 904E 8142 598E 94EA 927F 4E37 54C8
+548D 55E8 5B69 9AB8 6D77 80F2 70F8 5870 917C 91A2
+4EA5 9A87 5BB3 6C26 55D0 9900 99ED 99F4 56A1 995A
+4E64 516F 4F44 9878 54FB 86B6 9163 9807 5AE8 8C3D
+61A8 99A0 9B7D 9F3E 9097 542B 90AF 51FD 5481 80A3
+51FE 8677 5505 5705 5A22 6D5B 5D21 6657 6892 6DB5
+7113 5BD2 5D45 97E9 751D 7B68 7233 872C 6F8F 92E1
+97D3 5388 7F55 6D6B 558A 850A 8C43 9B2B 6C49 5C7D
+625E 6C57 95EC 65F1 57BE 608D 634D 6658 6D86 7302
+839F 6665 6DCA 710A 7400 83E1 91EC 9588 7694 7745
+50BC 86FF 9894 99AF 6496 6F22 872D 66B5 71AF 92B2
+92CE 61BE 64BC 7FF0 8792 9837 9844 99FB 8B40 E821
+E820 96D7 701A 862B 9DBE 592F 9B67 5994 82C0 8FD2
+65BB 676D 57B3 7ED7 7B10 822A 86A2 9883 8CA5 7B55
+7D4E 980F 6C86 8320 84BF 5686 8585 85A7 7AD3 869D
+6BEB 6903 55E5 7346 5651 8C6A 5637 734B 512B 66CD
+568E 58D5 6FE0 7C47 8814 8B79 597D 90DD 53F7 660A
+6626 79CF 54E0 604F 608E 6D69 8017 6667 6DCF 5090
+7693 6EC8 8055 865F 66A4 66AD 6F94 769C 769E 76A1
+8583 76A5 98A2 704F 9865 9C1D 705D 515E 8BC3 5475
+62B2 6B31 559D 8A36 55EC 881A 79BE 5408 4F55 52BE
+548A 548C 59C0 6CB3 90C3 5CC6 66F7 67C7 72E2 76C7
+7C7A 9602 9978 54EC 6546 6838 76C9 76CD 8377 555D
+6DB8 6E2E 76D2 79F4 83CF 8402 86B5 9F81 60D2 7CAD
+8A38 988C 6941 6BFC 8A65 8C88 8C89 924C 9616 9C84
+7186 95A1 9E56 9EA7 6F95 981C 7BD5 7FEE 879B 9B7A
+7909 95D4 97A8 9F55 8988 9DA1 76AC 9449 9FA2 4F6B
+578E 8D3A 8894 96BA 5BC9 7103 6E7C 8CC0 55C3 7142
+788B 7187 8910 8D6B 9E64 7FEF 58D1 764B 71FA 7200
+9DB4 9F43 974D 974E 9E16 974F 9ED2 9ED1 563F 6F76
+5B12 62EB 75D5 978E 4F77 5F88 72E0 8A6A 6068 4EA8
+54FC 6099 6DA5 811D 59EE 6046 6052 6841 70C6 73E9
+80FB 9E3B 6A2A 6A6B 8861 9D34 9D46 8605 9445 5548
+583C 56CD 4E4A 4E65 53FF 7074 8F70 54C4 8A07 70D8
+8EE3 63C8 6E39 7122 7861 8C3E 85A8 8F37 569D 9367
+8F5F 4EDC 5F18 5985 7EA2 5430 5B8F 6C6F 7392 7EAE
+95F3 5B96 6CD3 739C 82F0 57AC 5A02 6D2A 7AD1 7D05
+836D 8679 6D64 7D18 7FC3 803E 7854 7D2D 8C39 9E3F
+6E31 7AE4 7CA0 8452 8453 921C 958E 7D8B 7FDD 8C3C
+6F42 9277 9783 9B5F 7BCA 92D0 5F4B 857B 9710 9EC9
+971F 9D3B 9ECC 664E 55CA 8BA7 8A0C 95A7 6494 6F8B
+6F92 92BE 95C0 95C2 9B28 9F41 4FAF 77E6 5589 5E3F
+7334 8454 760A 777A 9297 7BCC 7CC7 7FED 9ABA 936D
+9931 9BF8 543C 543D 72BC 540E 90C8 539A 5795 5F8C
+6D09 9005 5019 9107 5820 8C5E 9C8E 9C98 9B9C 9C5F
+4E4E 5322 864D 547C 5780 5FFD 6612 66F6 6CD8 82F8
+6057 70C0 8F77 532B 553F 60DA 6DF4 8656 8EE4 96FD
+5611 5BE3 6EF9 96D0 5E60 6B51 81B4 8B3C 56EB 6287
+5F27 72D0 74F3 80E1 58F6 58F7 659B 7100 5596 58FA
+5AA9 6430 6E56 7322 7D57 846B 695C 7173 745A 561D
+851B 9E55 69F2 7BB6 7CCA 8774 885A 9B71 7E20 879C
+9190 9836 89F3 9378 992C 702B 9B0D 9C17 9D98 9DA6
+9DAE 4E55 6C7B 864E 6D52 552C 8400 7425 865D 6EF8
+7B8E 933F 9BF1 4E92 5F16 6236 6237 6238 51B1 51B4
+8290 5E0D 62A4 6C8D 6CAA 5CB5 6019 623D 6608 6791
+795C 7B0F 7C90 5A5F 6248 74E0 7D94 9120 5AED 5AEE
+6462 6EEC 8530 69F4 71A9 9CF8 7C04 9359 569B 9E71
+8B77 9CE0 97C4 9800 9C6F 9E0C 82B1 82B2 57D6 5A72
+691B 7874 7CC0 8AAE 9335 8624 534E 54D7 59E1 9A85
+83EF 94E7 6ED1 733E 5629 64B6 748D 78C6 8550 8796
+92D8 8B41 93F5 9A4A 9DE8 5316 5212 6779 753B 8BDD
+5D0B 6866 5A73 756B 5B05 7575 89DF 8A71 5283 6466
+69EC 6A3A 5AFF 6F85 8AD9 8AE3 9ECA 7E63 8219 8633
+6000 5F8A 6DEE 69D0 8922 8E1D 61D0 8931 61F7 7024
+6AF0 8032 8639 574F 54B6 58CA 58DE 863E 6B22 6B25
+6B53 9D05 61C1 9D4D 9144 56BE 61FD 737E 6B61 8C9B
+8B99 9A69 8FD8 73AF 90C7 5CD8 6D39 72DF 8341 6853
+8408 8411 581A 5BCF 7D59 96C8 7D84 7FA6 8C86 953E
+961B 5BF0 6FB4 7F33 9084 74B0 8C72 9370 956E 9E6E
+7CEB 7E6F 8F58 95E4 9436 9B1F 74DB 7746 7F13 8F10
+7DE9 650C 5E7B 5942 8092 5950 5BA6 5524 6362 6D63
+6DA3 70C9 60A3 6899 7115 902D 559A 559B 5D48 610C
+63DB 6E19 75EA 7165 744D 8C62 6F36 7613 69F5 9CA9
+64D0 6FA3 77A3 85E7 9BC7 9BF6 9C00 5DDF 8093 8352
+8841 671A 5843 614C 7687 505F 51F0 968D 9EC3 9EC4
+55A4 582D 5A93 5D32 5FA8 60F6 63D8 6E5F 845F 9051
+697B 714C 745D 58B4 6F62 735A 953D 71BF 749C 7BC1
+824E 8757 7640 78FA 7A54 8AFB 7C27 87E5 9360 992D
+9CC7 8DAA 97F9 9404 9A1C 9C09 9C51 9DEC 6033 604D
+70BE 5BBA 6643 6644 595B 8C0E 5E4C 6130 8A64 7180
+7E28 8B0A 6ACE 76A9 5164 6EC9 69A5 66C2 769D 93A4
+7070 7073 8BD9 54B4 6062 62FB 6325 6D03 867A 8886
+6656 70E3 73F2 8C57 5A4E 5A88 63EE 7FDA 8F89 9693
+6689 694E 7147 743F 7988 8A7C 5E51 7773 8918 5645
+5655 649D 7FEC 8F1D 9EBE 5FBD 96B3 7008 9C34 56D8
+56DE 56EC 4F6A 5EFB 5EFD 605B 6D04 8334 8FF4 70E0
+8698 9025 75D0 86D4 86D5 8716 9BB0 6094 879D 6BC7
+6A93 71EC 8B6D 5349 5C77 6C47 4F1A 8BB3 6CCB 54D5
+6D4D 7ED8 8294 835F 8BF2 605A 6075 6867 70E9 70EA
+8D3F 5F57 6666 79FD 5599 60E0 6E4F 7D75 7F0B 7FD9
+9613 532F 5F59 5F5A 6703 6BC0 6BC1 6ED9 8A6F 8CC4
+50E1 5612 7623 8527 8AA8 571A 5BED 6167 6193 66B3
+69E5 6F53 8559 5666 5FBB 6A5E 6FAE 7369 74A4 8588
+8589 8AF1 982E 6A85 6A9C 71F4 74AF 7BF2 85F1 992F
+5696 61F3 77BA 7A62 7E62 87EA 6AD8 7E6A 7FFD 8B53
+5136 8B6E 93F8 95E0 5B48 942C 9767 97E2 8B7F 986A
+660F 662C 8364 5A5A 60DB 6DBD 960D 60FD 68D4 6B99
+8477 7767 776F 95BD 5FF6 6D51 9984 6E3E 9B42 991B
+7E49 8F4B 9F32 8BE8 4FD2 5031 5702 638D 6DF7 711D
+6EB7 6141 89E8 8AE2 5419 8020 952A 5290 9343 8C41
+6509 9A1E 4F78 6D3B 79EE 79F3 706B 4F19 90A9 94AC
+9225 6F37 5925 6C8E 6216 8D27 549F 4FF0 6347 7713
+83B7 9584 5268 639D 7978 8CA8 60D1 65E4 6E71 798D
+55C0 84A6 5684 596F 64ED 6FE9 7372 970D 6AB4 8B0B
+96D8 77C6 7A6B 956C 56AF 7016 802F 8267 85FF 8816
+56BF 66E4 81DB 7668 77D0 944A 9743 593B 4E0C 8BA5
+51FB 5209 53FD 9965 4E69 520F 573E 673A 7391 808C
+82A8 77F6 9E21 6785 54AD 8FF9 525E 5527 59EC 5C50
+79EF 7B04 98E2 57FA 7EE9 559E 5D46 5D47 6532 6567
+7284 7B53 7F09 8D4D 52E3 55D8 7578 7A18 8DFB 9CEE
+50DF 6BC4 7B95 9288 5630 6483 69E3 6A2D 757F 7A3D
+7DDD 89ED 8CEB 8EB8 9F51 58BC 61BF 6A5F 6FC0 74A3
+79A8 7A4D 9324 96AE 64CA 78EF 7C0A 7E3E 7F81 8CF7
+913F 6AC5 802D 96DE 8B4F 97F2 9D8F 8B64 9416 9951
+766A 8E8B 97BF 9DC4 9F4E 7F87 8640 9447 8989 9459
+9F4F 7F88 9E04 898A 4EBC 53CA 4F0B 5409 5C8C 5F76
+5FE3 6C72 7EA7 5373 6781 4E9F 4F76 90C6 537D 53DD
+59DE 6025 72E4 768D 7B08 7D1A 63E4 75BE 89D9 506E
+5359 5EB4 6956 710F 8128 8C3B 6222 68D8 6975 6B9B
+6E52 96C6 5849 5AC9 6131 696B 84BA 874D 8D8C 8F91
+69C9 8024 818C 92A1 5DAF 6F57 7620 7BBF 8540 857A
+8E16 978A 9E61 6A76 6A9D 6FC8 878F 8F2F 894B 8E50
+9353 8265 7C4D 8F5A 93F6 9735 9DBA 9DD1 8EA4 96E6
+96E7 51E0 5DF1 4E2E 5980 72B1 6CF2 866E 6324 810A
+638E 9C7E 5E7E 621F 5D74 9E82 9B62 64A0 64E0 7A56
+87E3 5F50 5F51 65E1 8BA1 8BB0 4F0E 7EAA 5756 5993
+5FCC 6280 82B0 82B6 9645 5242 5B63 54DC 578D 5CDC
+65E2 6D0E 6D4E 7D00 830D 8A08 5264 7D12 7EE7 89CA
+8A18 5048 5BC2 5BC4 5F9B 60B8 65E3 689E 6E08 796D
+8415 60CE 81EE 846A 8507 517E 75F5 7D99 84DF 88DA
+8DE1 969B 588D 66A8 6F03 6F08 799D 7A29 7A4A 8A8B
+8DFD 9701 9C9A 66A9 7A37 8AC5 9CAB 5180 5291 66C1
+7A44 7E18 858A 8940 9AFB 568C 6A95 6FDF 7E4B 7F7D
+89AC 9B86 6AB5 74BE 8E5F 9BFD 9D4B 9F4C 5EED 61FB
+7660 7A67 7CED 7E6B 860E 9AA5 9BDA 7031 7E7C 862E
+9C40 863B 973D 9C36 9C3F 9C6D 9A65 52A0 5939 593E
+5B8A 62B8 4F73 62C1 6CC7 8FE6 67B7 6BE0 6D43 73C8
+57C9 5BB6 6D79 75C2 689C 7B33 801E 8888 88B7 50A2
+7333 846D 88CC 8DCF 728C 8175 926B 5609 9553 7CD8
+8C6D 8C91 93B5 9E9A 573F 6274 5CAC 90CF 835A 90DF
+550A 605D 83A2 621B 8125 94D7 621E 86F1 988A 86FA
+8DF2 9904 92CF 982C 9830 9D36 9D4A 7532 53DA 73BE
+80DB 659A 8D3E 94BE 5A7D 5FA6 659D 6935 8CC8 9240
+698E 69DA 7615 6A9F 4EF7 9A7E 67B6 5047 5AC1 5E4F
+69A2 50F9 7A3C 99D5 55E7 620B 5978 5C16 5E75 575A
+6B7C 95F4 51BF 6214 73AA 80A9 8270 59E6 59E7 517C
+76D1 5805 60E4 730F 7B3A 83C5 83FA 8C5C 6E54 724B
+728D 7F04 844C 844F 9593 976C 641B 6937 693E 714E
+744A 7777 788A 7F23 84B9 8C63 76E3 7B8B 6A2B 719E
+7DD8 8551 8573 9CA3 9CFD 9E63 71B8 7BEF 7E11 92FB
+8271 97AC 9930 99A2 9E89 7010 97AF 9CD2 6BB1 791B
+89B8 9D73 7038 9C14 6AFC 6BB2 8B7C 9C1C 9DBC 7C5B
+97C0 9C39 56CF 8643 946F 97C9 56DD 62E3 67A7 4FED
+67EC 8327 5039 6338 6361 7B15 51CF 526A 5E34 6898
+68C0 6E55 8DBC 63C0 63C3 691C 6E1B 7751 7877 88E5
+8A43 950F 5F3F 6695 7450 7B67 7B80 7D78 8C2B 5F45
+6229 622C 78B1 5109 7FE6 64BF 6AA2 85C6 8947 8949
+8B07 8E47 77BC 7906 7C21 7E6D 8B2D 9B0B 9C0E 9E78
+703D 8812 9417 9427 9E7B 8B7E 897A 9E7C 89C1 4EF6
+898B 4F9F 5EFA 996F 5251 6D0A 726E 8350 8D31 4FF4
+5065 5263 682B 6DA7 73D4 8230 5271 5FA4 6E10 88B8
+8C0F 91FC 5BCB 65D4 6957 6BFD 6E85 8171 81F6 8465
+8DC8 8DF5 9592 8CCE 9274 952E 50ED 6997 69DB 6F38
+528D 528E 58B9 6F97 7BAD 7CCB 8AD3 8CE4 8D9D 8E10
+8E3A 5292 5294 6A7A 85A6 8AEB 9375 991E 77AF 77B7
+78F5 7900 87B9 9373 64F6 6ABB 6FFA 7E5D 7033 89B5
+93E9 807B 8266 8F5E 9451 9452 946C 9473 6C5F 59DC
+5C06 8333 6D46 7555 8C47 8441 646A 7FDE 50F5 6F3F
+8780 58C3 5F4A 7F30 8591 6A7F 6BAD 87BF 9CC9 7585
+7913 7586 7E6E 97C1 9C42 8BB2 5956 6868 508B 848B
+52E5 5968 596C 8523 69F3 734E 8029 8199 8B1B 985C
+531E 5320 5905 5F1C 6762 964D 6D1A 7EDB 5C07 5F36
+88B6 7D73 757A 9171 647E 6EF0 5D79 729F 7CE1 91A4
+7CE8 91AC 6AE4 8B3D 827D 8281 4EA4 90CA 59E3 5A07
+5CE7 6D47 832D 832E 9A84 80F6 6912 7126 7133 86DF
+8DE4 50EC 5604 8660 9C9B 5B0C 5D95 5DA3 618D 6F86
+81A0 8549 71CB 81B2 7901 7A5A 9BAB E85D 9D41 9E6A
+7C25 87ED 8F47 940E 9A55 9DE6 9DEE 6AF5 81EB 89D2
+4F7C 4FA5 6322 72E1 7EDE 997A 6341 6648 70C4 7B05
+768E 77EB 811A 94F0 6405 6E6B 7B4A 7D5E 527F 52E6
+656B 6E6C 714D 8173 8CCB 50E5 6477 669E 8E0B 9278
+9903 510C 528B 649F 64B9 5FBC 657D 657F 7F34 66D2
+74AC 77EF 76A6 87DC 9D64 7E73 8B51 5B42 7E90 652A
+705A 9C4E 53EB 544C 5CE4 630D 8A06 73D3 7A8C 8F7F
+8F83 654E 6559 7A96 6ED8 8F03 5602 5626 65A0 6F16
+9175 564D 5DA0 6F50 566D 5B13 7365 85E0 8DAD 8F4E
+91AE 8B65 76AD 91C2 9636 7596 7686 63A5 63B2 75CE
+79F8 83E8 968E 5588 55DF 5826 5A98 5AC5 63ED 6904
+6E5D 813B 8857 716F 7A2D 9782 8754 64D1 7664 9D9B
+5369 536A 5B51 5C10 8282 8BA6 5226 5227 52AB 5C8A
+6605 523C 52BC 6770 758C 8871 8BD8 62EE 6D01 7ED3
+8FFC 5022 6840 685D 83AD 8A10 507C 5A55 5D28 6377
+88BA 5091 5AAB 7D50 86E3 9889 5D65 696C 6976 6ED0
+776B 7BC0 8710 8A70 9263 9B5D 622A 69A4 78A3 7AED
+84F5 9C92 6F54 7FAF 8AB1 8E15 9821 5E6F 64F3 5DBB
+64EE 790D 937B 9B9A 5DC0 6AED 881E 8818 883D 5979
+59D0 6BD1 5A8E 89E3 89E7 98F7 6A9E 4E2F 4ECB 5424
+5C95 5E8E 5FE6 6212 82A5 5C46 5C4A 65BA 73A0 754C
+754D 75A5 780E 8878 8BEB 501F 6088 86A7 5FA3 583A
+6950 743E 86F6 9AB1 7297 8AA1 892F 9B6A 85C9 7E72
+5DFE 4ECA 65A4 9485 5153 91D1 91D2 6D25 77DC 781B
+8355 887F 89D4 57D0 73D2 7D1F 60CD 740E 583B 743B
+7B4B 5D9C 74A1 9E76 9EC5 895F 4EC5 537A 5DF9 7D27
+5807 83EB 50C5 53AA 8C28 9526 5AE4 5ED1 6F0C 76E1
+7DCA 84F3 9991 69FF 747E 9326 8B39 9949 4F12 52A4
+5C3D 52B2 5997 8FD1 8FDB 4FAD 6783 52C1 6D55 8369
+6649 664B 6D78 70EC 8D46 7972 9032 7161 7F19 5BD6
+6422 6E8D 7981 9773 5890 616C 7468 50F8 51DA 6B4F
+6BA3 89D0 5118 5664 6FC5 7E09 8CEE 568D 58D7 5B27
+6FDC 85CE 71FC 74B6 89B2 8D10 9F7D 5755 5759 5DE0
+4EAC 6CFE 7ECF 830E 4EB0 79D4 8346 834A 6D87 8396
+5A5B 60CA 65CC 65CD 7304 7D4C 83C1 6676 7A09 8148
+775B 7CB3 7D93 5162 7CBE 8059 6A78 9CB8 9D5B 9BE8
+9D81 E85F 9D84 9E96 9F31 9A5A 9EA0 4E95 4E3C 9631
+522D 5753 5B91 6C6B 6C6C 80BC 5244 7A7D 9888 666F
+5106 5E5C 61AC 7484 61BC 66BB 71DD 71DE 749F 74A5
+9838 87FC 8B66 598C 51C0 5F2A 5F84 8FF3 4FD3 6D44
+80EB 501E 51C8 5F33 5F91 75C9 7ADE 9015 5A59 5A67
+6871 68B7 6DE8 7ADF 7AEB 811B 656C 75D9 7AE7 9753
+50B9 9756 5883 734D 8AA9 8E01 9759 981A 975A 66D4
+955C 975C 701E 93E1 7AF6 7AF8 5182 518B 5770 6243
+57DB 7D45 99C9 99EB 860F 518F 56E7 6CC2 8FE5 4FB0
+70AF 9008 6D7B 70F1 715A 7A98 988E 7D97 50D2 715B
+71B2 6F83 71D1 71DB 8927 9848 8614 4E29 52FC 7EA0
+673B 725E 7A76 7CFA 9E20 7CFE 8D73 9604 841B 557E
+63C2 63EA 63EB 9CE9 644E 6A1B 9B0F 9B2E 4E5D 4E45
+4E46 4E63 597A 6C63 6766 7078 7396 820F 97ED 7D24
+9152 9579 97EE 531B 65E7 81FC 548E 7542 759A 67E9
+67FE 5003 6855 53A9 6551 5C31 5EC4 5313 8205 50E6
+5ECF 5ED0 6166 6BA7 820A 9E6B 9BE6 9E94 5336 9F68
+9DF2 6B0D 51E5 5727 6285 530A 5C45 62D8 6CC3 72D9
+82F4 9A79 5036 6336 6344 75BD 75C0 7717 7820 7F5D
+9671 5A35 5A45 5A6E 5D0C 63AC 68AE 6DBA 6910 741A
+8152 8D84 8DD4 9514 88FE 96CE 824D 871B 8ACA 8E18
+92E6 99D2 9B88 9D21 97A0 97AB 9D8B 5C40 6CE6 4FB7
+72CA 6854 6BE9 6DD7 7117 83CA 90F9 6908 6BF1 6E68
+7291 8F02 50EA 7CB7 84FB 8DFC 8D9C 8EB9 95B0 6A58
+6A8B 99F6 9D59 8E6B 9D74 5DC8 861C E860 9DAA 9F30
+9F33 9A67 5480 5F06 6CAE 4E3E 77E9 8392 6319 6907
+7B65 6989 6998 849F 9F83 8065 8209 8E3D 64E7 6AF8
+9F5F 6B05 8977 53E5 5DE8 8BB5 59D6 5CA0 6007 62D2
+6D30 82E3 90AD 5177 601A 62E0 661B 6B6B 70AC 79EC
+949C 4FF1 5028 51A3 5267 7C94 801F 86B7 8893 57E7
+57FE 60E7 636E 8A4E 8DDD 7123 728B 8DD9 9245 98D3
+8661 8C66 952F 5BE0 6133 7AAD 805A 99CF 5287 52EE
+5C66 8E1E 9B94 58C9 61C5 64DA 6FBD 7AB6 907D 92F8
+5C68 98B6 77BF 8C97 7C34 8E86 91B5 61FC 943B 7220
+59E2 5A1F 6350 6D93 8127 88D0 9E43 52EC 92D1 92D7
+954C 93B8 9D51 942B 8832 5377 545F 5E23 57CD 6372
+83E4 9529 81C7 9308 5946 52B5 5F2E 5026 52CC 684A
+72F7 7EE2 96BD 6DC3 74F9 7737 9104 774A 7D6D 7F65
+96CB 7760 7D79 98EC 617B 8528 990B 7367 7F82 5658
+6485 64A7 5C69 5C6B 4E85 5B52 5B53 51B3 5214 6C12
+8BC0 599C 6289 6C7A 82B5 6CEC 73A6 73A8 6317 73CF
+7804 7EDD 8673 89C9 5014 6354 6B2E 8697 5D1B 6398
+658D 6877 6B8C 7106 8990 89D6 8A23 8D7D 8DB9 902B
+5095 53A5 7D55 7D76 899A 8D89 920C 5282 52EA 7474
+8C32 99C3 5DA1 5DA5 61B0 6F4F 71A6 7234 7357 761A
+855D 8568 9D02 9D03 5671 61A0 6A5B 6A5C 957C 7235
+81C4 9562 87E8 87E9 7211 8B4E 8E76 8E77 9D8C 56BC
+77CD 89BA 940D 941D 704D 721D 89FC 5F4F 6204 652B
+7383 9DE2 6B14 77E1 9FA3 8C9C 8EA9 E84F 9481 519B
+541B 5747 6C6E 59F0 8880 8ECD 94A7 8399 8690 687E
+76B2 83CC 921E 7885 7B60 76B8 76B9 89A0 9281 929E
+9CAA 9E87 9355 9BB6 9E8F 9E95 5441 4FCA 90E1 9656
+57C8 5CFB 6343 6659 6D5A 9982 9A8F 710C 73FA 756F
+7AE3 7B98 7B9F 8720 5101 5BEF 61CF 9915 71C7 6FEC
+99FF 9D54 9D55 9D58 6508 5494 5496 5580 5361 4F67
+57B0 80E9 88C3 9272 5F00 5952 63E9 8849 950E 958B
+9426 51EF 5240 57B2 607A 95FF 94E0 51F1 5274 6168
+8488 584F 6137 6977 8F06 669F 9534 9347 93A7 95D3
+98BD 5FFE 708C 708F 6B2C 70D7 52D3 5605 613E 938E
+4E6B 520A 681E 52D8 9F9B 582A 5D41 6221 9F95 519A
+574E 4F83 780D 83B0 5058 57F3 60C2 583F 6B3F 586A
+6B41 8F21 8F41 9851 7AF7 8F57 770B 884E 5D01 5888
+961A 77B0 78E1 95DE 77D9 5FFC 780A 7C87 5EB7 5ADD
+5D7B 6177 6F2E 69FA 7A45 7CE0 8EBF 93EE 9C47 625B
+6443 4EA2 4F09 531F 909F 56E5 6297 72BA 95F6 7095
+94AA 9227 958C 5C3B 9ADB 4E02 6537 8003 62F7 6D18
+6832 70E4 94D0 7292 92AC 9C93 9760 9BB3 9BCC 533C
+5777 82DB 67EF 7241 73C2 79D1 80E2 8F72 75B4 8DB7
+94B6 5D59 68F5 75FE 842A 8EFB 988F 6415 7290 7A1E
+7AA0 9233 69BC 8596 9897 6A16 778C 78D5 874C 9826
+9198 9846 9AC1 791A 58F3 54B3 6BBB 63E2 7FD7 5DB1
+53EF 5CA2 70A3 6E07 5D51 6564 6E34 514B 523B 524B
+52C0 52CA 5BA2 5CC7 606A 5A14 5C05 8BFE 5801 6C2A
+9A92 7F02 55D1 6119 6E98 951E 78A6 7DD9 8AB2 9301
+790A 9A0D 808E 80AF 80BB 57A6 6073 5543 8C64 8C87
+58BE 9339 61C7 63AF 88C9 8903 52A5 542D 5748 5751
+6333 7841 727C 785C 94FF 787B 8A99 92B5 935E 93D7
+5DEA 4E6C 551F 53BC 603E 7A7A 5025 57EA 5D06 60BE
+6DB3 787F 7B9C 8EBB 8EBC 9313 9D7C 5B54 6050 63A7
+979A 5EE4 62A0 82A4 770D 527E 5F44 6473 7798 53E3
+52B6 53E9 6263 6010 6542 51A6 5BBC 5BC7 91E6 7A9B
+7B58 6EF1 8532 853B 7789 7C06 9DC7 625D 5233 77FB
+90C0 67AF 54ED 684D 5800 5D2B 5710 8DCD 7A9F 9AB7
+9BAC 72DC 82E6 695B 5E93 4FC8 7ED4 5EAB 79D9 7105
+88B4 55BE 7D5D 88E4 7614 9177 8932 56B3 5938 59F1
+6647 823F 8A87 4F89 54B5 57AE 9299 630E 80EF 8DE8
+9ABB 84AF 64D3 5DDC 51F7 5726 5757 5FEB 4FA9 90D0
+54D9 72EF 810D 584A 7B77 E828 9C99 5108 58A4 9136
+5672 5EE5 736A 81BE 65DD 7CE9 9C60 5BBD 5BDB 5BEC
+9ACB 9467 9AD6 68A1 6B35 6B3E 6B40 7ABD 7ABE 5321
+52BB 8BD3 90BC 5329 54D0 6047 6D2D 7B50 7B7A 8A86
+8EED 6282 72C2 72C5 8BF3 8ED6 8EE0 8A91 9D5F 593C
+5123 61ED 909D 5739 7EA9 51B5 65F7 5CB2 6CC1 77FF
+663F 8D36 6846 7716 783F 7736 7D4B 7D56 8CBA 8EE6
+9271 92DB 913A 58D9 9ECB 61EC 66E0 720C 77CC 7926
+7A6C 7E8A 945B 4E8F 5232 5CBF 609D 76D4 7AA5 8067
+7ABA 8667 95DA 985D 5DCB 862C 594E 6646 9035 9108
+9804 9997 55B9 63C6 8475 9A99 6223 668C 694F 6951
+9B41 777D 8770 982F 6AC6 85C8 9368 9377 9A24 5914
+8637 8641 5DD9 8EA8 537C 5080 7143 8DEC 980D 78C8
+8E5E 5C2F 532E 6B33 559F 5ABF 6126 6127 6E83 8489
+848A 9988 5331 5633 E82E 5B07 6192 6F70 7BD1 8069
+E842 806D 8562 6A3B 6BA8 8B09 993D 7C23 E841 8075
+7C44 9400 994B 944E 5764 6606 665C 5803 5812 5A6B
+5D10 5D11 7311 83CE 88C8 711C 7428 9AE0 88E9 951F
+9AE1 9E4D 5C21 6F49 872B 890C 9AE8 71B4 747B 918C
+9315 9CB2 81D7 9A09 9BE4 9D7E 9DA4 6083 6346 9603
+58F8 68B1 7975 7871 7A07 88CD 58FC 7A1B 7D91 95AB
+95B8 56F0 6D83 774F 6269 62E1 62EC 6304 681D 6870
+7B48 843F 8440 86DE 9614 5ED3 564B 9822 9AFA 64F4
+6FF6 95CA 979F 97D5 61D6 9729 97B9 9B20 7A52 5783
+62C9 67C6 5566 7FCB 83C8 641A 908B 65EF 782C 63E6
+78D6 5587 85DE 56B9 524C 6E82 814A 63E7 694B 760C
+8721 874B 8FA2 8FA3 8772 81C8 650B 7209 81D8 9B0E
+6AF4 74CE 9574 9BFB 881F 945E 97A1 6765 4F86 4FEB
+5008 5D03 5F95 6D9E 83B1 90F2 5A61 5D0D 5EB2 5FA0
+68BE 6DF6 730D 840A 9028 68F6 741C 7B59 94FC 7B82
+9338 9A0B 9BE0 9D86 9EB3 553B 8D49 7750 775E 8D56
+8CDA 6FD1 8CF4 983C 9842 765E 9D63 7028 702C 7C41
+85FE 7669 8970 7C5F 5170 5C9A 62E6 680F 5A6A 5D50
+847B 9611 84DD 84DE 8C30 53B1 6F9C 8934 5116 6593
+7BEE 61E2 71E3 85CD 8955 9567 95CC 74BC 8964 8B4B
+5E71 6514 703E 7046 7C43 7E7F 862D 6595 6B04 7937
+8974 56D2 7061 7C63 6B17 8B95 8E9D 897D 946D 9484
+97CA 89C8 6D68 63FD 7F06 6984 6F24 7F71 9182 58C8
+61D2 89A7 64E5 5B3E 61F6 5B44 89BD 5B4F 652C 6B16
+7226 7E9C 70C2 6EE5 71D7 5682 58CF 6FEB 7201 721B
+7224 74D3 7060 7CF7 5577 52C6 90CE 90DE 6B34 72FC
+83A8 5ACF 5ECA 6879 7405 84C8 6994 746F 7860 7A02
+9512 7B64 8246 870B 90D2 8782 8EB4 92C3 93AF 99FA
+60A2 6717 9606 6716 70FA 5871 84E2 6A03 8A8F 95AC
+6724 57CC 5D00 6D6A 8497 5525 635E 7CA9 6488 52B3
+52B4 7262 72EB 7A82 54F0 5520 5D02 6D76 52DE 75E8
+94F9 50D7 562E 5D97 61A5 6725 7646 78F1 7C29 87E7
+91AA 9412 985F 9ADD 8002 8001 4F6C 54BE 59E5 6045
+8356 6833 73EF 7853 94D1 86EF 92A0 6F66 6A51 9BB1
+8F51 6D9D 70D9 55E0 8022 916A 5AEA 61A6 6F87 6A6F
+802E 8EC2 4EC2 961E 4E50 53FB 5FC7 6250 6C3B 827B
+738F 6CD0 7AFB 7833 52D2 697D 97F7 6A02 7C15 9CD3
+9C33 9979 990E 96F7 5AD8 7F27 8502 6A0F 757E 6A91
+7E32 956D 6AD1 74C3 7FB8 7927 7E8D 7F4D 8632 9433
+8F60 58E8 9458 9741 8646 9C69 6B19 7E9D 9F3A 53BD
+8012 8BD4 5792 5841 7D6B 50AB 8A84 78CA 854C 78E5
+857E 5121 58D8 7657 85DF 6AD0 77CB 7928 7045 881D
+863D 8B84 513D 9478 9E13 808B 6CEA 6D21 7C7B 6D99
+6DDA 7D2F 9179 9287 981B 982A 64C2 9311 6502 790C
+98A3 985E 7E87 8631 79B7 561E 8137 5844 68F1 695E
+7890 7A1C 8E1C 8590 51B7 5030 580E 6123 7756 550E
+5215 5398 5253 68A8 72F8 79BB 8372 8389 9A8A 60A1
+68B8 7281 83DE 55B1 68C3 7282 9E42 527A 6F13 775D
+7B63 7F21 8243 84E0 870A 5AE0 5B77 6A06 7483 76E0
+7AF0 8C8D 6C02 729B 7CCE 853E 8935 92EB 9CA1 9ECE
+7BF1 7E2D 7F79 9305 87CD 8B27 91A8 569F 85DC 908C
+91D0 96E2 9BCF 6584 93EB 9BEC 9D79 9EE7 56C4 7055
+863A 8821 882B 5B4B 5EF2 5299 9457 7A72 7C6C 9A6A
+9C7A 9E1D 793C 674E 91CC 4FDA 5CDB 54E9 5A0C 5CF2
+6D6C 9026 7406 88E1 9502 7CB4 88CF 8C4A 92F0 9CA4
+6FA7 79AE 9BC9 87F8 91B4 9CE2 9090 9C67 6B1A 529B
+5386 5389 5C74 7ACB 540F 6738 4E3D 5229 52B1 5456
+575C 6CA5 82C8 4F8B 5CA6 623E 67A5 6CB4 75A0 82D9
+96B6 4FD0 4FEA 6803 680E 75AC 7805 8318 8354 8D72
+8F79 90E6 5A33 60A7 6817 681B 6835 6D96 7301 73D5
+783A 783E 79DD 8385 5533 5A6F 60B7 740D 7B20 7C92
+7C9D 86B8 86CE 5088 51D3 53A4 68D9 75E2 86E0 8A48
+8DDE 96F3 585B 6144 642E 6EA7 849A 849E 925D 9CE8
+53AF 53B2 66A6 6B74 746E 7D9F 8727 52F5 66C6 6B77
+7BE5 96B7 9D17 5DC1 6AAA 6FFF 7658 78FF 96B8 9B01
+512E 66DE 6AD4 7204 72A1 79B2 8807 56A6 58E2 650A
+6ADF 701D 74C5 792A 85F6 9E97 6AEA 720F 74D1 76AA
+76ED 792B 7CF2 8823 5137 7667 7930 9148 9DC5 9E9C
+56C7 6526 8E92 8F62 6B10 8B88 8F63 652D 74E5 9742
+9C71 974B 74C8 4FE9 5006 5AFE 5941 8FDE 5E18 601C
+6D9F 83B2 9023 68BF 8054 88E2 4EB7 55F9 5EC9 6169
+6E93 6F23 84EE 5332 5969 7191 899D 5286 5333 5652
+6190 78CF 8068 806B 8933 9CA2 6FC2 6FD3 7E3A 7FF4
+806E 8595 878A 6AE3 71EB 806F 81C1 8E65 8B30 938C
+9570 7C3E 880A 8B67 9B11 942E 9C31 7C62 7C68 655B
+740F 8138 88E3 6459 69E4 7489 8539 5B1A 6582 6B5B
+81C9 913B 895D 7FB7 861D 861E 7EC3 5A08 70BC 604B
+6D70 6B93 581C 5AA1 6E45 8430 94FE 50C6 695D 7149
+7453 6F4B 7A34 7DF4 6FB0 932C 6BAE 934A 93C8 7032
+9C0A 6200 7E9E 7C17 826F 4FCD 51C9 6881 6DBC 690B
+8F8C 7CAE 7CB1 589A 7DA1 8E09 6A11 8F2C 7CE7 4E21
+4E24 5169 5521 5562 639A 813C 88F2 7DC9 873D 9B49
+9B4E 4EAE 54F4 8C05 8F86 55A8 667E 6E78 91CF 7177
+8F0C 8AD2 8F1B 9344 8E7D 8FBD 7597 804A 50DA 5BE5
+5D7A 5ED6 6180 6F3B 818B 5639 5AFD 5BEE 5D9A 5D9B
+61AD 64A9 6579 7360 7F2D 907C 66B8 71CE 7499 7AB7
+81AB 7642 7AC2 9563 9E69 5C6A 5EEB 7C1D 7E5A 87DF
+8C42 8CFF 8E58 720E 9410 9ACE 98C9 9DEF 948C 91D5
+911D 84FC 7212 957D 4E86 5C25 5C26 7093 6599 5C1E
+6482 77AD 54A7 6BDF 6318 57D3 5217 52A3 51BD 52BD
+59F4 5CE2 6312 6D0C 8322 8FFE 57D2 6D56 70C8 70EE
+6369 730E 731F 811F 86DA 88C2 716D 7759 8057 8D94
+5DE4 98B2 5120 9BA4 E85E 9D37 64F8 7375 72A3 8E90
+9B1B 9B23 9C72 53B8 90BB 6797 4E34 5549 5D0A 60CF
+6DCB 667D 7433 7CA6 75F3 7884 7B96 7CBC 9130 96A3
+5D99 6F7E 735C 9074 65B4 66BD 71D0 7498 8F9A 9716
+77B5 78F7 81E8 7E57 7FF7 9E90 8F54 58E3 7036 93FB
+9CDE 9A4E 9E9F 9C57 83FB 4E83 7A1F 50EF 51DB 51DC
+649B 5EE9 5EEA 61CD 61D4 6F9F 6A81 6AA9 765B 765D
+9872 541D 6061 608B 8D41 711B 8CC3 853A 6A49 7510
+81A6 95B5 7584 85FA 8E78 8E8F 8E99 8EAA 8F65 62CE
+4F36 5222 7075 56F9 577D 590C 59C8 5CAD 5CBA 5F7E
+6CE0 72D1 82D3 6624 670E 67C3 73B2 74F4 51CC 768A
+7831 79E2 7ADB 94C3 9675 9E30 5A48 5D1A 6395 68C2
+6DE9 740C 7B2D 7D37 7EEB 7F9A 7FCE 8046 8232 83F1
+86C9 8851 797E 8A45 8DC9 8EE8 84E4 88EC 9234 959D
+96F6 9F84 7DBE 8506 8F18 970A 99D6 6FAA 8576 9302
+9717 9B7F 9CAE 9D12 9E77 71EF 971B 971D 9F62 702E
+9143 9BEA 5B41 8626 9F61 6AFA 91BD 9748 6B1E 7227
+9EA2 9F97 963E 888A 9886 9818 5DBA 4EE4 53E6 5464
+70A9 6E9C 7198 5218 6CA0 7544 6D4F 6D41 7559 65C8
+7409 7571 786B 88D7 5AB9 5D67 65D2 84A5 84C5 905B
+998F 9A9D 69B4 7460 98D7 5289 746C 7624 78C2 954F
+99E0 9E60 6A4A 74A2 7581 9560 7645 87C9 99F5 56A0
+61F0 700F 85F0 938F 93A6 993E 9E8D 93D0 98C0 9402
+9A2E 98C5 9C21 9DB9 9A51 67F3 6801 685E 73CB 687A
+7EFA 950D 7DB9 71AE 7F76 92F6 6A6E 7F80 5B3C 516D
+7FCF 586F 5EC7 6F91 78DF 9E68 8E53 9724 96E1 98C2
+9B38 9DDA 74FC 7505 56D6 54AF 9F99 5C78 5499 6CF7
+830F 663D 680A 73D1 80E7 772C 783B 7ADC 7B3C 804B
+9686 6E70 5D90 69DE 6F0B 856F 7643 7ABF 7BED 9F8D
+56A8 5DC3 5DC4 7027 8622 93E7 9733 66E8 6727 6AF3
+7216 74CF 77D3 7931 7932 8971 9F92 7C60 807E 882A
+882C 9F93 8C45 8E98 9468 9747 9A61 9E17 9647 5784
+5785 62E2 5131 96B4 58DF 58E0 650F 7AC9 54E2 6887
+7866 8856 5FBF 8D1A 5A04 507B 5A41 55BD 6E87 848C
+50C2 697C 560D 5ED4 617A 851E 9071 6A13 71A1 8027
+877C 779C 802C 825B 87BB 8B31 8EC1 9AC5 97BB 9ACF
+5D5D 6402 587F 5D81 645F 6F0A 750A 7BD3 7C0D 964B
+5C5A 6F0F 7618 9542 E834 763A 763B 93E4 9732 565C
+64B8 5695 64FC 5362 5E90 82A6 5786 67A6 6CF8 7089
+680C 80EA 8F73 822E 9E2C 7388 823B 9885 9229 9C88
+9B72 76E7 56A7 58DA 5EEC 650E 7018 7379 74B7 8606
+6AE8 7210 74D0 81DA 77D1 7C5A 7E91 7F4F 826B 8826
+8F64 946A 9871 9AD7 9C78 9E15 9EF8 5364 864F 6314
+635B 63B3 9E75 7875 9C81 865C 5877 6EF7 84FE 6A10
+6F9B 9B6F 64C4 6A79 78E0 9565 7002 6AD3 6C0C 8263
+93C0 826A 942A 9465 5725 752A 9646 4F93 5774 5F54
+5F55 5CCD 52CE 8D42 8F82 9678 5A3D 6DD5 6DE5 6E0C
+7849 83C9 902F 9E7F 6902 742D 797F 7984 50C7 5279
+52E0 6EE4 76DD 7769 788C 7A11 8CC2 8DEF 8F05 5876
+5ED8 645D 6F09 7B93 7CB6 850D 622E 6A1A 719D 8194
+819F 89EE 8DA2 8E1B 8F98 9181 6F5E 7A4B 8557 9304
+9332 9334 7490 7C0F 87B0 9D3C 6FFE 7C36 8E57 8F46
+9A04 9E6D 7C2C 7C35 93D5 9BE5 9D66 9D71 9E93 93F4
+9A3C 7C59 89FB 8642 9DFA 6C07 9A74 95FE 6988 95AD
+99BF 6C00 81A2 6ADA 85D8 66E5 9DDC 9A62 5415 5442
+4FA3 90D8 4FB6 65C5 68A0 7112 7963 7A06 94DD 5C61
+7D7D 7F15 5C62 8182 8190 891B 92C1 5C65 8938 5122
+7A5E 7E37 7A6D 5BFD 578F 5F8B 54F7 8651 7387 7EFF
+5D42 6C2F 844E 7DA0 7DD1 616E 7BBB 52F4 7E42 6AD6
+7208 9462 5B6A 5CE6 631B 683E 9E3E 8114 6EE6 92AE
+9D49 571D 5971 5B4C 5B7F 5DD2 6523 66EB 6B12 7053
+7F89 81E0 571E 7064 864A 947E 7674 7675 9E1E 5375
+4E71 91E0 4E82 63A0 7565 7567 950A 7A24 7A25 5719
+92DD 92E2 64FD 62A1 6384 4ED1 4F26 56F5 6CA6 7EB6
+4F96 8F6E 502B 966F 5707 5A68 5D18 5D19 60C0 6DEA
+83D5 68C6 8140 7896 7DB8 8726 8E1A 8F2A 78EE 9300
+9BE9 7A10 8023 8BBA 57E8 6EA3 8AD6 634B 9831 56C9
+7F57 5570 7321 8136 841D 903B 6924 8161 9523 7BA9
+9AA1 9559 87BA 7F85 89B6 93CD 5138 89BC 9A3E 7380
+863F 908F 6B0F 9E01 7C6E 947C 9960 9A58 5246 502E
+7822 84CF 88F8 8EB6 7630 8803 81DD 651E 66EA 7673
+6CFA 5CC8 6D1B 7EDC 8366 9A86 6D1C 73DE 7B3F 7D61
+843D 645E 6F2F 7296 96D2 99F1 9BA5 9D45 6FFC 7E99
+9C73 5638 5463 5988 5ABD 5B24 5B37 9EBB 75F2 5AF2
+8534 7298 87C6 87C7 9A6C 72B8 739B 7801 8682 99AC
+6EA4 7341 9064 746A 78BC 879E 93B7 9DCC 9C22 4E87
+6769 7943 9581 9A82 551B 508C 7770 561C 69AA 79A1
+7F75 99E1 7923 9B15 5417 55CE 561B 57CB 85B6 973E
+4E70 836C 8CB7 562A 8552 9DF6 52A2 8FC8 4F45 58F2
+9EA6 5356 8109 8108 9EA5 8847 52F1 8CE3 9081 9721
+9722 989F 9862 59CF 6097 86EE 6172 6471 9992 69FE
+6A20 7792 779E 9794 9945 9CD7 9B17 9B18 9C3B 883B
+5C58 6E80 774C 6EE1 6EFF 87A8 8954 87CE 93CB 77D5
+66FC 50C8 8C29 9124 5881 5ADA 5E54 6162 6F2B 734C
+7F26 8504 8513 71B3 6FAB 6FB7 9558 7E35 87C3 8B3E
+93DD 8630 7264 9099 5402 5FD9 6C52 8292 5C28 6757
+6767 76F2 5396 607E 7B00 832B 54E4 5A0F 6D5D 72F5
+727B 786D 91EF 94D3 75DD 86D6 92E9 99F9 8609 83BD
+83BE 833B 58FE 6F2D 87D2 880E 5301 732B 8C93 6BDB
+77DB 6BDC 6BDD 6786 7266 8305 65C4 6E35 8EDE 9155
+5825 86D1 951A 7DE2 9AE6 8765 9AF3 9328 87CA 9D9C
+5187 536F 5918 623C 5CC1 6CD6 8306 6634 94C6 7B37
+84E9 925A 5183 7683 82BC 5190 8302 5192 770A 8D38
+8004 88A4 8992 5AA2 5E3D 8CBF 911A 6117 6693 6959
+6BF7 7441 7780 8C8C 912E 8750 61CB 551C 5E85 5692
+6FF9 56B0 4E48 7666 5445 6C92 6CA1 679A 73AB 82FA
+6802 7709 8104 8393 6885 73FB 8122 90FF 5833 5A92
+5D4B 6E44 6E48 7338 7742 847F 6963 6973 7164 7442
+7996 815C 587A 69D1 9176 9545 9E5B 92C2 9709 5FBE
+9387 77C0 6517 862A 9DA5 651F 9EF4 6BCE 6BCF 51C2
+7F8E 6334 6D7C 5A84 5D44 6E3C 5ABA 9541 5B0D 71D8
+8EBE 9382 9EE3 59B9 62BA 6CAC 6627 7959 8882 771B
+5A9A 5BD0 75D7 8DCA 9B3D 715D 7778 97CE 9B45 7BC3
+875E 569C 691A 95E8 626A 73A3 9494 9580 9585 636B
+83DB 748A 7A48 9346 864B 95F7 7116 60B6 66AA 71DC
+61D1 61E3 4EEC 5011 63B9 64DD 6C13 753F 867B 51A1
+5EAC 7F5E 8394 840C 8420 5922 6E95 76DF 96FA 750D
+511A 6A57 77A2 8544 8771 9133 9138 5E6A 61DE 6FDB
+7374 66DA 6726 6AAC 6C0B 77C7 791E 9BCD 8268 9E72
+77D2 9740 995B 986D 9E0F 52D0 731B 74FE 8499 9530
+824B 8722 9333 61F5 8813 9BED 9F06 5B5F 68A6 5923
+61DC 9725 973F 8E0E 54AA 7787 519E 5F25 7962 8FF7
+88AE 7315 8C1C 84BE 8A78 8B0E 919A 5F4C 64DF 7CDC
+7E3B 9E8A 9E8B 79B0 9761 737C 9E9B 7222 6202 6520
+74D5 863C 957E 91BE 91BF 9E0D 91C4 7C73 7F8B 8288
+4F8E 6CB5 5F2D 6D23 6549 772B 7C8E 8112 772F 6E33
+845E 8746 851D 92A4 6FD4 7030 5B4A 7056 5196 7CF8
+6C68 6C95 5B93 6CCC 89C5 5CDA 7955 5BBB 79D8 5BC6
+6DE7 8993 8994 5E42 8C27 5853 5E4E 899B 5627 6993
+6EF5 6F1E 7190 8524 871C 9F0F 51AA 6A12 5E66 6FD7
+85CC 8B10 6AC1 7C1A 7F83 5B80 8287 7720 5A42 7EF5
+5A94 68C9 7DBF 7DDC 81F1 8752 5B35 6AB0 6ACB 77C8
+77CA 77CF 4E0F 6C45 514D 6C94 9EFE 4FDB 52C9 7704
+5A29 506D 5195 52D4 5595 6110 6E4E 7F05 8442 817C
+7DEC 9BB8 9763 9762 7CC6 9EAA 9EAB 9EBA 9EB5 55B5
+82D7 5A8C 63CF 7784 9E4B 5AF9 9D93 9C59 676A 7707
+79D2 6DFC 6E3A 7F08 7BCE 7DF2 85D0 9088 5999 5E99
+7385 7AD7 5EBF 5EDF 4E5C 5400 54A9 54F6 5B6D 706D
+8995 6423 6EC5 8511 858E 9D13 5E6D 61F1 700E 7BFE
+6AD7 881B 884A 9456 9C74 74F1 6C11 578A 59C4 5CB7
+5FDE 600B 65FB 65FC 739F 82E0 73C9 76FF 51A7 7F60
+5D0F 636A 7418 741D 7F17 668B 7449 75FB 7888 9231
+7DCD 7DE1 8CEF 9309 9D16 9372 76BF 51BA 5221 95F5
+62BF 6CEF 52C4 6543 95FD 60AF 654F 7B22 7B3D 6E63
+9594 610D 656F 9EFD 95A9 50F6 615C 61AB 6F63 7C22
+9CD8 8820 9C35 540D 660E 9E23 6D3A 7700 8317 51A5
+6719 7733 94ED 910D 5AC7 6E9F 733D 84C2 669D 69A0
+9298 9CF4 7791 879F 89AD 4F72 59F3 51D5 614F 9169
+547D 63B5 8A7A 8C2C 7F2A 7E46 8B2C 6478 56A4 5C1B
+8C1F 5AEB 998D 6479 6A21 819C 9EBC 9EBD 6469 9B79
+6A45 78E8 7CE2 8B28 8B29 64F5 9943 56A9 8611 8B55
+9ACD 9B54 5298 995D 62B9 61E1 9EBF 672B 52B0 573D
+59BA 5E13 603D 6B7E 6B7F 6B81 6CAB 8309 964C 5E1E
+6629 67BA 768C 771C 773F 781E 79E3 8388 83AB 773D
+7C96 7D48 88B9 86E8 8C83 55FC 587B 5BDE 6F20 84E6
+8C8A 9286 977A 58A8 5AFC 66AF 763C 7790 7799 9546
+9B69 9ED9 7E38 9ED8 8C98 85E6 87D4 93CC 7205 9A40
+7933 7E86 8031 4E6E 54DE 725F 4F94 52BA 6048 6D20
+6859 7738 8C0B 927E 8B00 77B4 936A 9D3E 9EB0 87F1
+67D0 6BCD 6BEA 734F 58B2 6C01 4EA9 7261 59C6 62C7
+5CD4 7273 7546 7552 80DF 5A12 755D 755E 782A 756E
+9267 8E07 6728 4EEB 76EE 51E9 6C90 72C7 5776 7091
+7267 82DC 6BE3 83AF 869E 94BC 52DF 843A 96EE 5893
+5E55 5E59 6154 6958 7766 926C 6155 66AE 6A22 8252
+9702 7A46 97AA 65C0 4E06 6927 62CF 62FF 6310 8ABD
+954E 93BF 4E78 54EA 96EB 5185 90A3 5436 59A0 7EB3
+80AD 5A1C 8872 94A0 7D0D 88A6 637A 7B1D 8C7D 8EDC
+8C80 9209 55F1 84B3 9779 9B76 8149 718B 6468 5B7B
+4E43 5976 827F 6C16 7593 59B3 5EFC 8FFA 5037 91E2
+5B2D 5948 67F0 8010 8418 6E3F 9F10 8926 879A 933C
+56E1 7537 62A9 678F 67AC 4FBD 5357 67DF 5A1A 7558
+83AE 96BE 5583 9056 6694 6960 7175 8AF5 96E3 8D67
+63C7 6E73 8433 8169 877B 6201 5A7B 56D4 4E6A 56A2
+56CA 8830 9B1E 9995 6B1C 9962 64C3 66E9 652E 7062
+513E 9F49 5B6C 6A82 5476 6013 6320 5CF1 7847 94D9
+7331 86F2 8A49 7899 6493 5DA9 7376 87EF 5912 8B4A
+9403 5DCE 737F 57B4 607C 60A9 8111 5318 8133 5816
+60F1 5AD0 7459 8166 78AF 95F9 5A65 6DD6 9599 9B27
+81D1 7592 8BB7 5450 6290 7732 8A25 5462 5A1E 9981
+8147 9912 9BBE 9BD8 5167 6C1D 713E 5AE9 80FD 83BB
+55EF 922A 92B0 5571 59AE 5C3C 576D 6029 6CE5 7C7E
+502A 5C54 79DC 90F3 94CC 57FF 5A57 6DE3 730A 86AD
+68FF 8DDC 922E 873A 89EC 8C8E 8F17 9713 9CB5 9BE2
+9E91 9F6F 81E1 4F31 4F32 4F60 62DF 62B3 72D4 82E8
+67C5 639C 65CE 6672 5B74 9268 999C 5117 511E 96AC
+64EC 85BF 6AB7 9448 5C70 6C3C 8FE1 6635 80D2 9006
+533F 75C6 7724 5804 60C4 5ADF 6135 6EBA 7768 817B
+66B1 7E0C 81A9 5B3A 62C8 5E74 79CA 54D6 79E5 9C87
+9B8E 9CB6 9D47 9ECF 9BF0 6D8A 637B 6DF0 8F87 649A
+64B5 78BE 8F26 7C10 6506 8E68 8E8E 5344 5EFF 5FF5
+59E9 57DD 824C 5A18 5B22 5B43 917F 91B8 91C0 9E1F
+8311 8312 8885 9CE5 5ACB 88CA 8526 5B1D 892D 5B32
+5C3F 8132 634F 63D1 8080 5E07 573C 82F6 67BF 9667
+6D85 8042 81EC 556E 60D7 83CD 9689 55A6 655C 55EB
+5D72 9269 8E02 565B 6470 69F7 8E17 8E19 954A 954D
+5DAD 7BDE 81F2 931C 989E 8E51 5699 8076 93B3 95D1
+5B7C 5B7D 6AF1 7C4B 8616 56C1 9F67 5DD5 7CF1 7CF5
+8825 56D3 8B98 8EA1 9477 9873 9480 810C 56DC 60A8
+62F0 5B81 549B 62E7 72DE 67E0 804D 5BCD 5BD5 5BDC
+5BE7 511C 51DD 5680 5B23 64F0 7370 85B4 6AB8 8079
+944F 9B21 9E0B 6A63 77C3 4F5E 4FAB 6CDE 752F 5BD7
+6F9D 6FD8 599E 725B 725C 6C7C 5FF8 626D 6C91 72C3
+7EBD 677B 7084 94AE 7D10 83A5 9215 9775 519C 4FAC
+54DD 6D53 8113 79FE 8FB2 5102 8FB3 5665 61B9 6FC3
+857D 79AF 81BF 7A60 895B 91B2 6B01 7E77 5F04 630A
+6335 7651 9F48 7FBA 8B68 5542 69C8 8028 7373 6ABD
+9392 941E 8B73 5974 4F16 5B65 9A7D 7B2F 99D1 4F2E
+52AA 5F29 782E 80EC 6012 5089 6419 5973 9495 7C79
+91F9 8842 6067 6712 8844 759F 8650 7627 597B 6E1C
+6696 7156 7157 992A 7878 9EC1 71F6 90CD 632A 689B
+50A9 643B 513A 6A60 8BFA 558F 63BF 903D 6426 9518
+6992 7A2C 8AFE 8E43 7CD1 9369 61E6 61E7 7CE5 7A64
+7CEF 685B 5662 54E6 7B7D 6BEE 591E 4E6F 97B0 8BB4
+6B27 6BB4 74EF 9E25 5878 6B50 6BC6 71B0 750C 8192
+9D0E 6AD9 85F2 8B33 93C2 9DD7 9F75 5418 5455 5076
+8162 5614 8026 8545 85D5 6004 6CA4 616A 6F1A 5991
+7685 8DB4 8225 556A 8469 6777 722C 8019 63B1 7436
+7B62 6F56 5E0A 5E15 6015 8899 62CD 4FF3 5F98 6392
+7305 68D1 724C 7B84 8F2B 7C30 72A4 54CC 6D3E 6E43
+848E 9383 78D7 7705 7568 6F58 6500 723F 67C8 76D8
+8DD8 5ABB 5E4B 84B0 642B 69C3 76E4 78D0 7E0F 8E52
+700A 87E0 8E63 939C 97B6 5762 51B8 5224 6C9C 6CEE
+708D 53DB 7249 76FC 7554 88A2 8A4A 6EBF 9816 92EC
+9D65 897B 947B 4E53 6C78 6C97 80A8 80EE 96F1 6EC2
+8196 9736 5390 5E9E 9004 65C1 823D 5ACE 7BE3 8783
+9CD1 9F8E 9F90 9C1F 882D 55D9 802A 89AB 9AC8 7090
+80D6 629B 62CB 812C 5228 5486 5789 5E96 72CD 70AE
+70B0 722E 888D 530F 86AB 8EF3 9784 891C 9E85 8DD1
+5945 6CE1 75B1 76B0 7832 8422 9EAD 791F 792E 5478
+600C 80A7 67F8 80DA 8843 9185 962B 966A 966B 57F9
+6BF0 8D54 952B 88F4 88F5 8CE0 9307 4FD6 4F02 6C9B
+4F69 5E14 59F5 65BE 65C6 6D7F 73EE 914D 7B29 84DC
+8F94 99B7 5D8F 9708 8F61 55B7 5674 6FC6 6B55 74EB
+76C6 6E53 8450 5460 7FC9 7FF8 55AF 5309 6026 62A8
+6CD9 6072 80D3 7830 6888 70F9 7851 8EEF 959B 6F30
+562D 99CD 78DE 8283 670B 6337 7AFC 5017 8391 580B
+5F38 5F6D 68DA 6916 50B0 585C 5873 6412 6F28 787C
+7A1D 84EC 9E4F 69F0 6A25 71A2 6189 6F8E 8F23 7BF7
+81A8 930B 97F8 9AFC 87DA 87DB 9B05 7E84 97FC 9D6C
+9A2F 9B14 945D 6367 6DCE 768F 527B 63BD 692A 78B0
+8E2B 6D4C 5DFC 95CF 4E76 55B8 4E15 4F13 4F3E 6279
+7EB0 90B3 576F 6036 62AB 62B7 708B 72C9 72D3 7812
+6082 79DB 79E0 7D15 94CD 65C7 7FCD 801A 8C7E 91FD
+921A 9239 925F 9294 5288 78C7 99D3 9AEC 567C 9303
+930D 9B7E 61B5 7914 7915 95E2 9739 76AE 9630 8298
+5CAF 6787 6BDE 80B6 6BD7 6BD8 75B2 7B13 868D 90EB
+9674 5564 57E4 5D25 86BD 8C7C 6911 7137 7435 813E
+8157 698C 9C8F 7F74 818D 8731 96A6 9B6E 58C0 9B8D
+7BFA 87B7 8C94 7C32 7F86 9D67 6707 9F19 882F 5339
+5E80 4EF3 572E 82C9 8134 75DE 92A2 8AC0 9D04 64D7
+567D 7656 56AD 5C41 6DE0 6E12 63CA 5AB2 5AD3 7764
+7765 6F4E 50FB 6FBC 568A 7513 7588 8B6C 9DFF E862
+9E0A 7247 56E8 504F 5AA5 728F 7BC7 7FE9 9DA3 9A88
+80FC 8141 6944 6969 8CC6 8ADA 9ABF 8E41 99E2 9A08
+8991 8C1D 8CB5 8ADE 9A97 9B78 9A17 9A19 527D 5F6F
+6F02 7F25 98D8 78E6 65DA 7E39 7FF2 87B5 72A5 98C3
+98C4 9B52 74E2 85B8 95DD 6B8D 779F 7BFB 91A5 76AB
+9860 7968 50C4 52E1 560C 5AD6 5FB1 6153 6C15 6487
+6486 66BC 77A5 4E3F 82E4 9405 5AF3 59D8 62FC 7917
+7A66 99AA 9A5E 73AD 8D2B 8CA7 7415 5AD4 9891 983B
+5B2A 85B2 56AC 77C9 98A6 9870 54C1 6980 6729 725D
+6C56 5A09 8058 4E52 7539 4FDC 6D84 782F 8275 7AEE
+9829 5E73 8BC4 51ED 546F 576A 5CBC 82F9 90F1 5C4F
+5E21 67B0 6D34 73B6 8353 5A26 74F6 5C5B 5E32 6DDC
+840D 86B2 5840 5E48 7129 7501 7F3E 8060 84F1 86E2
+8A55 8EFF 9C86 51F4 617F 7BB3 8F27 6191 9B83 6A98
+7C08 860B 948B 5761 5CA5 6CFC 5A1D 91D9 9887 6E8C
+9166 6F51 91B1 93FA 5A46 5619 8522 9131 76A4 8B08
+6AC7 53F5 5C00 94B7 7B38 9255 99CA 5EF9 5CB6 8FEB
+6540 6622 6D26 73C0 54F1 70DE 7834 7836 7C95 5964
+84AA 9817 9B44 5256 9892 6294 6299 634A 638A 88D2
+7B81 5485 54E3 5A44 5837 7283 517A 54DB 4EC6 6534
+6535 6251 62AA 7087 5DEC 5DED 67E8 9660 75E1 94FA
+99C7 5657 64B2 92EA 64C8 9BC6 5724 530D 8386 83E9
+83D0 8461 84B1 84B2 50D5 917A 58A3 749E 6FEE 77A8
+7A59 9564 8D0C 7E80 93F7 6734 5703 57D4 6D66 70F3
+666E 5711 6EA5 669C 8C31 6F7D 6A38 6C06 8AE9 6A8F
+9568 8B5C 8E7C 9420 8216 8217 7011 66DD 4E03 8FC9
+6C8F 59BB 6053 67D2 501B 51C4 6816 6864 7F3C 90EA
+5A38 60BD 621A 637F 687C 6DD2 840B 671E 671F 68F2
+6B3A 7D2A 8904 50DB 5601 617D 69BF 69ED 6F06 7DC0
+617C 78CE 8AC6 8E26 8AFF 970B 8E4A 9B4C 93DA 9D88
+4E93 7941 9F50 573B 5C90 5C93 5FEF 82AA 4E9D 5176
+5947 6589 6B67 7947 7948 80B5 75A7 7AD2 5258 658A
+65C2 8006 8110 8691 8694 869A 9880 57FC 5D0E 5E3A
+6391 6DC7 6E0F 7309 7566 8401 8DC2 8EDD 91EE 9A90
+9A91 5D5C 68CA 68CB 7426 742A 797A 86F4 612D 7881
+7895 8900 951C 980E 9B3E 9B3F 65D7 7CB8 7DA5 7DA6
+7DA8 7DD5 871D 871E 9F4A 7482 79A5 8572 8E11 87A7
+9321 9CAF 61E0 6FDD 85C4 6AB1 6AC0 7C31 81CD 9A0E
+9A0F 9CCD 8604 9BD5 9D78 9D80 9E92 7C4F 7E83 8269
+8810 9B10 9A39 9B55 9C2D 7382 9EA1 4E5E 9094 4F01
+5C7A 5C82 8291 542F 5447 675E 7398 76C0 5518 8C48
+8D77 5553 5554 555F 5A4D 7EEE 6675 68E8 88FF 7DAE
+7DBA 8AEC 7C2F 95D9 6C14 8BAB 6C17 6C54 8FC4 5F03
+6C7D 77F5 829E 546E 6CE3 7081 76F5 54A0 5951 780C
+8360 6814 6C23 8A16 552D 6B2B 5921 6112 68C4 6E46
+6E47 847A 789B 6456 66A3 7508 78B6 5650 6187 5668
+61A9 78DC 78E7 78E9 85BA 7918 7F4A 87FF 6390 845C
+62E4 8DD2 9160 9790 5736 51BE 5E22 6070 6D3D 6B8E
+7848 6118 9AC2 5343 4EDF 9621 5731 5732 5977 6266
+6C58 828A 8FC1 4F65 5C8D 6744 6C67 833E 6B26 7ACF
+81E4 948E 62EA 7275 7C81 60AD 8688 8C38 94C5 5A5C
+5B6F 727D 91FA 6394 8C26 9206 96C3 50C9 6106 7B7E
+925B 9A9E 9E50 6173 6434 647C 6481 7B9E 8AD0 9077
+8930 8B19 9845 6AB6 6510 6511 6ACF 7C3D 93F2 9D6E
+6513 9A2B 9431 9B1C 9B1D 7C64 97C6 4EF1 5C92 5FF4
+6272 62D1 4E79 524D 8368 94A4 6B6C 8654 94B1 94B3
+4E7E 5042 63AE 63F5 8EE1 5A8A 9210 9246 9257 5898
+69A9 7B9D 92AD 6F5C 7FAC 8541 6A6C 9322 9ED4 9386
+9EDA 9A1D 6FF3 9A1A 704A 7C56 9C2C 51F5 6D45 80B7
+6DFA 5D70 614A 9063 69CF 8181 8738 6F5B 8C34 7F31
+7E7E 8B74 9453 6B20 520B 4F23 82A1 4FD4 831C 5029
+6093 5811 5094 5D4C 68C8 6920 55DB 7698 84A8 5879
+6B49 7DAA 8533 5119 69E7 7BCF 8F24 7BDF 58CD 5B31
+7E34 545B 7F8C 6215 6217 65A8 67AA 73B1 7F97 7310
+7437 8DC4 55F4 690C 7347 8154 55C6 6EAC 8723 9516
+5D88 6227 69CD 7244 7472 7FAB 9535 7BEC 9306 8E4C
+956A 8E61 9397 93D8 93F9 5F37 5F3A 5899 5AF1 8537
+6A2F 6F12 8503 58BB 5B19 5EE7 8594 6AA3 7246 8B12
+8262 8620 62A2 7F9F 6436 7FA5 588F 6464 7E48 8941
+7E66 709D 5534 7197 7FBB 515B 74E9 6084 7857 90FB
+9117 5D6A 8DF7 9121 9125 5281 6572 8E0D 9539 589D
+78BB 981D 9AB9 58BD 5E67 6A47 71C6 7F32 78FD 936B
+936C 7E51 7E70 8DAC 8E7A 8E7B 9430 4E54 4FA8 834D
+835E 6865 785A 83EC 55AC 7744 50D1 69D7 8C2F 563A
+5AF6 6194 854E 9792 6A35 6A4B 729E 7644 77A7 7904
+85EE 8B59 8DAB 9408 97BD 9866 5DE7 91E5 6100 9ADC
+4FCF 8BEE 9657 5CED 5E29 7A8D 6BBC 7FD8 8A9A 9ADA
+50FA 64AC 64BD 9798 97D2 7AC5 7FF9 97A9 8E88 5207
+82C6 767F 8304 807A 4E14 5392 59BE 602F 5327 7A83
+503F 608F 6308 6D2F 60EC 6DC1 7B21 611C 86EA 6705
+7BA7 7DC1 9532 9B65 7BCB 8E25 7A55 85D2 9365 9BDC
+9411 7ACA 7C61 4EB2 4FB5 94A6 887E 9A8E 83F3 5A87
+5D5A 7D85 8A9B 5D94 89AA 9849 99F8 9BBC 5BF4 5E88
+82A9 82B9 57C1 73E1 77DD 79E6 8039 83E6 8699 6366
+7434 7439 79BD 9219 96C2 52E4 55EA 5AC0 6EB1 9772
+5659 64D2 65B3 9CF9 61C4 6A8E 6FBF 763D 8793 61C3
+8804 5745 6611 7B09 68AB 8D7A 8D7E 5BD1 9513 5BDD
+5BE2 92DF 87BC 5422 5423 628B 6C81 551A 83E3 63FF
+6B3D 6407 64B3 7019 85FD 9751 9752 6C22 8F7B 503E
+537F 90EC 570A 57E5 6C2B 6DF8 6E05 8EFD 50BE 5ECE
+873B 8F15 9CAD 9BD6 944B 591D 7520 5260 52CD 60C5
+6B91 7858 6674 E847 68FE 6C30 845D 6692 64CF 6A08
+64CE 6AA0 9EE5 82D8 9877 8BF7 5EBC 9803 6F00 8ACB
+E846 6ABE 8B26 5E86 51CA 6385 6BB8 7883 7B90 9758
+6176 78EC 512C 6FEA 7F44 6AE6 5B86 8DEB 928E 536D
+909B 7A77 E840 7A79 8315 684F 7B3B 7B47 8D79 60F8
+712A 712D 743C 823C 86E9 86EC 7162 718D 7758 778F
+7AAE 511D 618C 6A69 749A 85D1 74CA 7AC6 85ED 74D7
+4E18 4E20 90B1 5775 6058 79CB 79CC 5BC8 86AF 5A9D
+8429 6978 84F2 9E59 7BCD 7DE7 8775 7A50 8DA5 9CC5
+87D7 97A6 97A7 8612 E859 9C0C 9C0D 9D96 9C43 9F9D
+53F4 56DA 624F 72B0 738C 6739 6C53 808D 6C42 866C
+6CC5 866F 4FC5 89D3 8A04 8A05 914B 5512 6D57 7D0C
+838D 900E 9011 91DA 6882 6B8F 6BEC 7403 8D47 91FB
+5D37 5DEF 6E1E 6E6D 76B3 76DA 9052 716A 7D7F 86F7
+88D8 5DF0 89E9 8CD5 7486 8764 92B6 9194 9B82 9F3D
+9BC4 9D6D 8824 9C3D 641D 7CD7 533A 66F2 4F39 4F49
+5324 5C96 8BCE 9639 9A71 5765 5C48 5CA8 5CB4 62BE
+6D40 795B 80E0 88AA 5340 86C6 8EAF 7B41 7CAC 86D0
+8A58 8D8B 5D87 99C6 6188 657A 8AB3 99C8 9EB9 9AF7
+9B7C 8DA8 9EAF 8EC0 9EB4 9EE2 9A45 9C38 9C4B 4F62
+52AC 65AA 6710 6711 80CA 83C3 8850 9E32 6DED 6E20
+7D47 7FD1 844B 8EE5 8556 7496 78F2 87B6 9D1D 74A9
+7FF5 87DD 9F29 8627 5337 5FC2 7048 6235 6B0B 6C0D
+7C67 81DE 766F 8837 8862 8EA3 883C 947A 9E1C 53D6
+7AD8 5A36 7D36 8A53 7AEC 877A 9F8B 9F72 53BA 53BB
+521E 547F 8FF2 90E5 801D 9612 89D1 8DA3 95B4 9EAE
+95C3 89B0 89B7 9F01 89BB 5CD1 606E 609B 5708 570F
+68EC 99E9 9A21 9409 5168 6743 4F7A 8BE0 59FE 6CC9
+6D24 8343 62F3 7277 8F81 5573 57E2 5A58 60D3 75CA
+7842 94E8 6E76 7288 7B4C 7D5F 8143 8472 643C 697E
+7454 89E0 8A6E 8DE7 8F07 8737 9293 6A29 8E21 7E13
+919B 95CE 9CC8 9B08 5B49 5DCF 9C01 6B0A 9F64 8838
+98A7 9874 72AD 72AC 6C71 753D 754E 70C7 7EFB 7DA3
+8647 529D 5238 5DFB 7276 6926 52E7 97CF 52F8 7094
+7F3A 849B 7638 5374 537B 57C6 5D05 60AB 96C0 785E
+786E 8203 9615 5859 6409 76B5 788F 9619 9E4A 6128
+69B7 58A7 6164 6BC3 78BA 8D9E 71E9 95CB 7910 95D5
+9D72 792D 590B 56F7 5CEE 9021 8F11 5BAD 5E2C 88D9
+7FA3 7FA4 88E0 4EBD 7F56 56D5 5465 80B0 887B 8887
+86A6 88A1 86BA 7136 9AE5 562B 9AEF 71C3 7E4E 5184
+5189 59CC 82D2 67D3 73C3 5AA3 8485 6A6A 7A63 5134
+52F7 703C 737D 8618 79B3 74E4 7A70 8E9F 9B24 58CC
+56B7 58E4 6518 7219 7E95 8BA9 61F9 8B72 8B93 835B
+9976 6861 8558 6A48 8953 9952 72AA 6270 5A06 96A2
+5B08 64FE 7ED5 9076 7E5E 60F9 70ED 71B1 4EBA 4EBB
+4EC1 58EC 5FC8 6732 5FCE 79C2 82A2 9213 9B5C 928B
+9D40 5FCD 834F 6820 6823 8375 79F9 68EF 7A14 7D9B
+8EB5 5203 5204 8BA4 4EDE 4EED 8BB1 4EFB 5C7B 6268
+7EAB 598A 6752 7263 7EB4 8095 8F6B 97E7 996A 59D9
+7D09 887D 6041 7D1D 8A12 8ED4 6895 88B5 7D4D 814D
+845A 976D 9771 97CC 98EA 8A8D 9901 6254 4ECD 8FB8
+793D 82BF 967E 65E5 9A72 56F8 91F0 9224 99B9 620E
+809C 6804 72E8 7ED2 8319 8338 8363 5BB9 5CF5 6BE7
+70FF 5AB6 5D58 7D68 7FA2 5AC6 5D64 6408 6411 6449
+69B5 6EB6 84C9 6995 69AE 7194 7462 7A41 877E 8923
+9555 6C04 7E19 878D 878E 99E5 9AF6 5B2B 5DB8 7203
+9394 701C 66E7 8811 5197 5B82 5087 8EF5 7A43 53B9
+79B8 67D4 7C88 5A83 63C9 6E18 8447 7448 816C 7CC5
+875A 8E42 8F2E 9352 97A3 74C7 9A25 9C07 9D94 697A
+7163 97D6 8089 5B8D 5DBF 909A 5982 4F9E 5E24 8339
+6847 88BD 94F7 6E2A 7B4E 8498 92A3 8560 5112 9D11
+5685 5B2C 5B7A 6FE1 85B7 9D3D 66D8 71F8 8966 7E7B
+8815 98A5 91B9 986C 9C6C 6C5D 8097 4E73 8FB1 910F
+5165 6256 8FBC 6741 6D33 55D5 5AB7 6EBD 7F1B 84D0
+9CF0 8925 7E1F 64E9 5827 648B 58D6 962E 670A 8F6F
+800E 5044 8EDF 5A86 611E 744C 815D 5AF0 789D 7DDB
+8761 8F2D 74C0 791D 6875 7524 7DCC 8564 854A 854B
+6A64 7E60 8602 8603 6C6D 82AE 6798 868B 9510 745E
+8739 777F 92B3 92ED 53E1 58E1 95F0 6DA6 958F 95A0
+6F64 6A4D 633C 637C 53D2 82E5 504C 5F31 9100 5A7C
+6E03 712B 6949 5D76 84BB 7BAC 7BDB 7207 9C19 9C2F
+9DB8 4EE8 686C 6492 6D12 8A2F 9778 6F75 7051 5345
+9491 98D2 810E 8428 9212 644B 96A1 99BA 98AF 85A9
+6AD2 680D 6BE2 6122 63CC 585E 6BF8 816E 5625 567B
+9CC3 984B 9C13 55EE 8D5B 50FF 8CFD 7C3A 8644 4E09
+5F0E 53C1 6BF5 6BF6 5381 6BFF 7299 9B16 58ED 4F1E
+5098 6563 7CC1 7CC2 9993 6A75 7CDD 7CE3 7CE4 7E56
+93D2 994A 4FD5 9590 6852 6851 69E1 55D3 6421 78C9
+892C 98A1 939F 9859 4E27 55AA 63BB 6145 6414 6E9E
+9A9A 7F2B 7E45 81CA 9CCB 98BE 9A12 9A37 9C20 9C62
+626B 6383 5AC2 57FD 7619 6C09 77C2 9ADE 8272 6D13
+681C 6DA9 556C 6E0B 94EF 96ED 6B6E 7417 55C7 745F
+6B70 92AB 6F81 61CE 64CC 6FC7 6FCF 7637 7A51 6F80
+74B1 7012 7A61 7E6C 7A6F 8F56 93FC 8B45 98CB 88C7
+8053 68EE 69EE 8942 7BF8 50E7 9B19 95AA 7E07 6740
+6C99 7EB1 4E77 5239 7802 5526 6331 6BBA 7300 7C86
+7D17 838E 94E9 75E7 7870 8531 88DF 699D 6A27 9B66
+9CA8 95B7 93A9 9BCA 9BCB 7E7A 50BB 510D 7E4C 503D
+553C 5565 5E39 8410 55A2 6B43 715E 7FDC 7B91 7FE3
+95AF 970E 7B5B 7BE9 7C01 7C1B 6652 66EC 5C71 5F61
+9096 5738 5220 522A 6749 6763 829F 59CD 59D7 886B
+9490 57CF 633B 72E6 73CA 8222 70FB 75C1 8120 8ED5
+7B18 91E4 958A 8DDA 527C 6427 5607 5E53 717D 852A
+6F78 6F98 66D1 6A86 7E3F 81BB 9BC5 7FB4 7FB6 95EA
+9655 70B6 965D 9583 6671 7154 7752 718C 89A2 8BAA
+6C55 759D 82EB 5261 6247 8A15 8D78 5093 5584 692B
+928F 9A9F 50D0 912F 58A0 58A1 7F2E 5B17 64C5 657E
+6A3F 81B3 78F0 8B06 E84C E849 8D61 7E55 87EE 87FA
+8B71 8D0D E84E 9425 994D 9A38 9CDD 7057 9C53 9C54
+4F24 6B87 5546 6113 89DE 50B7 5892 616F 6EF3 6F21
+850F 6BA4 71B5 87AA 89F4 8B2A 9B3A 88F3 57A7 6244
+664C 8D4F 8CDE 945C 4E04 4E0A 4EE9 5C19 5C1A 6066
+7EF1 7DD4 5F30 634E 68A2 70E7 83A6 713C 713D 7A0D
+65D3 7B72 8244 86F8 8F0E 8571 71D2 98B5 9AFE 9BB9
+52FA 828D 82D5 67D6 73BF 8414 97F6 5C11 52AD 5372
+90B5 7ECD 54E8 5A0B 8891 7D39 7DA4 6F72 5962 731E
+8D4A 7572 8F0B 8CD2 8CD6 6AA8 820C 4F58 8675 86C7
+86E5 820D 6368 538D 8BBE 793E 820E 5399 5C04 6D89
+6DBB 6E09 8A2D 8D66 5F3D 6151 6442 6444 6EE0 6174
+6475 850E 8802 97D8 9A07 61FE 651D 7044 9E9D 6B07
+7533 5C7E 625F 4F38 8EAB 4F81 547B 59BD 7C76 7EC5
+7F59 8BDC 59FA 67DB 6C20 73C5 7A7C 7C78 5A20 5CF7
+7521 7712 7837 5814 6DF1 7D33 515F 692E 8460 88D1
+8A37 7F67 84E1 8A75 7527 8518 71CA 8593 99EA 9CB9
+9BD3 9D62 9BF5 9C3A 795E 698A 926E 9C30 90A5 5F1E
+628C 6C88 5BA1 77E4 54C2 77E7 5BB7 8C02 8C09 5A76
+6E16 8A20 5BE9 8AD7 9823 9B6B 66CB 77AB 5B38 700B
+89BE 8B85 80BE 4FBA 661A 751A 80C2 6D81 7718 6E17
+7973 8124 814E 613C 614E 6939 7606 8703 6EF2 92E0
+762E 5347 751F 9629 544F 58F0 6598 6607 67A1 6CE9
+82FC 6B85 7272 73C4 7AD4 80DC 965E 66FB 9679 7B19
+6E66 713A 7525 924E 8072 935F 9F2A 9D7F 6E11 7EF3
+7E04 61B4 6FA0 7E69 8B5D 9C66 7701 771A 5057 6E3B
+5723 665F 6660 5270 76DB 5269 52DD 741E 8CB9 5D4A
+8056 58AD 69BA 8542 6A73 8CF8 5C38 5931 5E08 545E
+8671 8672 8BD7 90BF 9E24 5C4D 65BD 6D49 72EE 5E2B
+7D41 91F6 6E64 6E7F 8479 6EAE 6EBC 7345 8492 84CD
+8A69 9247 7461 917E 9CF2 7BB7 8768 E85C 9CFE 8937
+9CBA 6FD5 9366 9BF4 9C24 9DB3 8979 7C6D 91C3 5341
+9963 4EC0 77F3 8FBB 4F66 65F6 7ACD 8BC6 5B9E 5B9F
+65F9 98E0 59FC 5CD5 62FE 70BB 794F 8680 98DF 57D8
+6642 83B3 5BD4 6E5C 9048 5852 5D75 6EA1 8494 9250
+5BE6 69AF 8755 927D 7BD2 9CA5 9B96 9F2B 8B58 9F2D
+9C23 53F2 77E2 4E68 8C55 4F7F 59CB 9A76 5158 5BA9
+5C4E 7B36 6981 9242 99DB 58EB 6C0F 793B 4E16 4E17
+4ED5 5E02 793A 534B 5F0F 5FD5 4E8A 53D3 623A 4E8B
+4F8D 52BF 5469 67F9 89C6 8BD5 9970 519F 5BA4 6040
+6043 62ED 662F 6630 67BE 67FF 7702 8D33 9002 683B
+70D2 770E 7721 8210 8F7C 901D 94C8 7B39 8996 91C8
+5D3C 5F11 5FA5 63D3 8C25 8CB0 91CA 52E2 55DC 5F12
+7176 7757 7B6E 89E2 8A66 8EFE 9230 9243 98FE 8213
+8906 8A93 9069 596D 92B4 566C 5B15 6FA8 8ADF 8AE1
+907E 991D 6AA1 87AB 8B1A 7C2D 7C42 896B 91CB 9C18
+9F5B 5159 74E7 53CE 6536 624B 624C 5B88 57A8 9996
+824F 5BFF 53D7 72E9 517D 552E 6388 6DAD 7EF6 75E9
+8184 58FD 7626 7DAC 5900 7363 7378 93C9 4E66 6BB3
+6292 7EBE 53D4 6778 67A2 964E 59DD 67D5 500F 5010
+66F8 6B8A 7D13 6393 68B3 6DD1 7102 83FD 8ED7 9103
+758E 758F 8212 6445 6BF9 6BFA 7D80 8F93 7479 8DFE
+8E08 6A1E 852C 8F38 6A7E 9B9B 5135 6504 702D 9D68
+5C17 79EB 5A4C 5B70 8D4E 587E 719F 74B9 8D16 668F
+6691 9ECD 7F72 9F20 5C5E 9F21 8700 6F7B 85A5 85AF
+66D9 7659 85F7 8961 7CEC 8969 7C54 8834 9C6A 9E00
+9C70 672E 672F 620D 675F 6CAD 8FF0 4FB8 54B0 6037
+6811 7AD6 8357 6055 5EB6 5EBB 7D49 8481 8853 5C0C
+88CB 6570 7AEA 8167 9265 5885 6F31 6F44 6578 6F8D
+8C4E 6A39 6FD6 9330 93E3 9D90 9D91 866A 5237 5530
+800D 8A9C 8870 6454 7529 5E05 5E25 87C0 535B 95E9
+62F4 9582 6813 6DAE 8168 53CC 6EDD 971C 96D9 5B40
+9AA6 5B47 9A3B 6B06 7935 9DDE 9E74 826D 9A66 9E18
+723D 587D 6161 6A09 7E14 93EF 7040 8C01 813D 8AB0
+6C35 6C34 6C3A 9596 5E28 6D97 6D9A 7971 7A05 7A0E
+88DE 7761 542E 696F 987A 821C 9806 8563 6A53 779A
+77A4 77AC 9B0A 8BF4 54FE 8AAA 8AAC 5981 70C1 6714
+94C4 6B36 7855 77DF 55CD 6420 84B4 55FD 69CA 78A9
+7361 7BBE 9399 720D 9460 53B6 7E9F 4E1D 53F8 7CF9
+79C1 549D 6CC0 4FEC 601D 6056 8652 9E36 5AA4 65AF
+7D72 7F0C 86F3 6952 7997 9270 98D4 51D8 53AE 69B9
+79A0 7F73 8724 92AF 9536 5636 565D 5EDD 6495 6F8C
+78C3 7DE6 856C 92D6 71CD 8784 9376 87D6 87F4 98B8
+9A26 9401 9DE5 9F36 6B7B 5DF3 4E96 56DB 7F52 5BFA
+6C5C 4F3A 4F3C 4F40 5155 59D2 6CE4 7940 4FA1 5B60
+6CD7 9972 9A77 4FDF 5A30 67B1 67F6 726D 68A9 6D0D
+6D98 8082 98E4 7B25 801C 91F2 7AE2 8997 55E3 8086
+8C84 923B 98FC 79A9 99DF 857C 5129 9A03 7003 87A6
+4E7A 5FEA 677E 6780 67A9 5A00 67D7 502F 51C7 68A5
+5D27 5EBA 6DDE 83D8 5D69 7879 8719 61BD 6AA7 6FCD
+9B06 6002 609A 6352 8038 7AE6 50B1 612F 5D77 616B
+8073 99F7 8BBC 5B8B E82A 8BF5 9001 9882 8A1F 980C
+8AA6 9938 93B9 E829 51C1 635C 910B 55D6 5EC0 5ECB
+641C 6EB2 7340 8490 84C3 998A 98D5 6457 953C 8258
+878B 9199 93AA 993F 98BC 9A2A 53DC 53DF 5081 55FE
+778D 64DE 85AE 64FB 85EA 6AE2 7636 82CF 7526 9165
+7A23 7AA3 7A4C 9BC2 8607 8613 6AEF 56CC 4FD7 738A
+5919 8BC9 6CDD 8083 6D2C 6D91 73DF 7D20 901F 5BBF
+6880 6B90 7C9B 9A95 5083 7C9F 8A34 8C21 55C9 5850
+5851 5ACA 612B 6EAF 6EB8 8085 9061 9E54 50F3 612C
+69A1 8186 850C 89EB 8D9A 906C 619F 6A0E 6A15 6F65
+78BF 92C9 9917 6F5A 7E24 6A5A 749B 7C0C 85D7 8B16
+8E5C 9A4C 9C50 9DEB 72FB 75E0 9178 5334 7958 7B07
+7B6D 849C 7B97 590A 8295 867D 5020 54F8 6D7D 837D
+837E 772D 8470 6ED6 7762 71A3 6FC9 9796 96D6 7EE5
+968B 968F 9040 7D8F 96A8 74CD 81B8 7021 9AC4 9AD3
+4E97 5C81 7815 795F 7C8B 8C07 57E3 5D57 813A 9042
+6B72 6B73 716B 775F 788E 96A7 5B18 6FBB 7A42 8AB6
+8CE5 6A96 71E7 74B2 79AD 7A57 7A5F 7E40 895A 9083
+65DE 7E50 7E78 9406 8B62 9429 5B59 72F2 836A 5B6B
+98E7 640E 733B 84C0 98F1 69C2 8575 859E 7543 635F
+7B0B 96BC 7B4D 640D 69AB 7BB0 7C28 93A8 9DBD 5DFA
+6F60 5506 5A11 838F 509E 6332 686B 68AD 7743 55E6
+7FA7 84D1 644D 7F29 8D96 7C11 7C14 7E2E 9AFF 9BBB
+6240 5522 7D22 7410 7411 60E2 9501 55E9 669B 6E91
+7463 938D 9396 93BB 93BC 93C1 9024 6EB9 8736 4ED6
+5B83 7260 7942 549C 8DBF 94CA 584C 6999 6EBB 9248
+891F 8E79 4FA4 5854 5896 736D 9B99 9CCE 737A 9C28
+E82F 631E 72E7 95FC 5D09 6DBE 6428 905D 9062 9618
+69BB 6BFE 79A2 64BB 6FBE 8ABB 8E0F 5683 9314 56BA
+6FCC 8E4B 979C 95D2 97B3 95E5 8B76 8EA2 8968 56FC
+5B61 9A80 73C6 80CE 99D8 53F0 65F2 90B0 576E 62AC
+82D4 70B1 70B2 83ED 8DC6 9C90 7B88 81FA 98B1 5113
+9B90 5B2F 64E1 85B9 6AAF 7C49 592A 51AD 5933 5FF2
+6C70 6001 80BD 949B 6CF0 7C8F 8226 915E 9226 6E99
+614B 71E4 574D 8D2A 6039 5574 75D1 8211 8CAA 644A
+6EE9 563D 6F6C 762B 64F9 6524 7058 7671 575B 6619
+5013 8C08 90EF 5A52 60D4 5F3E 8983 6983 75F0 952C
+8C2D 58B0 58B5 619B 6F6D 8AC7 9188 58C7 66C7 6A5D
+931F 6A80 9843 7F48 85EB 58DC 8B5A 8C9A 91B0 8B60
+7F4E 9DE4 5FD0 5766 8892 94BD 83FC 6BEF 926D 55FF
+61B3 61BB 66BA 9193 74AE 8962 53F9 70AD 57EE 63A2
+509D 6E60 8D55 50CB 5606 78B3 8215 64A2 6B4E 8CE7
+6C64 94F4 6E6F 5621 528F 7FB0 876A 859A 9557 8E5A
+93DC 940B 97BA 9F1E 9967 5763 5510 5802 508F 557A
+68E0 910C 5858 5D63 642A 6E8F 84CE 969A 69B6 6F1F
+717B 746D 799F 8185 6A18 78C4 7CC3 819B 6A56 7BD6
+7CD6 8797 8E3C 7CDB 87B3 8D6F 91A3 9933 9395 9939
+95DB 9944 9DB6 5E11 5018 5052 6DCC 50A5 8025 8EBA
+954B 93B2 513B 6203 66ED 7223 77D8 9482 70EB 6465
+8D9F 71D9 4ED0 5932 5F22 6D9B 7EE6 638F 7D5B 8A5C
+5ACD 5E4D 6146 642F 6ED4 69C4 746B 97EC 98F8 7E1A
+7E27 6FE4 8B1F 97B1 97DC 9955 530B 8FEF 54B7 6D2E
+9003 6843 9676 5555 68BC 6DD8 7EF9 8404 7979 88EA
+7DAF 872A 9780 9184 9789 92FE 932D 99E3 6AAE 9940
+9A0A 9F17 8BA8 5957 8A0E 7553 5FD1 5FD2 7279 8CA3
+8126 7286 94FD 615D 92F1 87D8 81AF 9F1F 75BC 75CB
+5E50 817E 8A8A 6F1B 6ED5 9086 7E22 87A3 99E6 8B04
+512F 85E4 9A30 7C50 E85B 9C27 7C58 8645 9A63 972F
+551E 6730 5254 68AF 9511 8E22 92BB 9DC8 E861 9DC9
+5397 7EE8 504D 73F6 557C 5A9E 5D39 60FF 63D0 6E27
+7A0A 7F07 7F64 9046 9E48 55C1 7445 7D88 78AE 5FB2
+6F3D 7DF9 855B 876D 9898 8DA7 8E44 918D 8B15 8E4F
+9357 9CC0 9D3A 984C 9BB7 9D5C 9A20 9BF7 9D97 9D99
+4F53 632E 8EB0 9AB5 8EC6 9AD4 623B 5C49 5243 6D1F
+501C 608C 6D95 9016 5C5C 6090 60D5 63A6 9037 60D6
+63E5 66FF 6974 88FC 8905 6B52 6BA2 9AF0 8599 568F
+9B00 5694 74CB 9B04 7C4A 941F 8DAF 5929 5172 5A56
+6DFB 915F 9754 9EC7 975D 7530 5C47 6CBA 606C 754B
+7551 76F7 80CB 7560 751B 751C 83FE 6E49 5861 586B
+6437 9617 78B5 7DC2 78CC 7AB4 9D2B 74B3 95D0 9DC6
+9DCF 5FDD 6B84 500E 553A 60BF 6375 6DDF 666A 7420
+8146 89CD 75F6 7753 8214 9902 89A5 8CDF 932A 9766
+63AD 7471 777C 821A 65EB 4F7B 5EA3 604C 6311 7967
+804E 8280 6761 5CA7 5CB9 8FE2 7952 689D 7B24 84DA
+84E8 9F86 6A24 8729 92DA 9797 9AEB 9CA6 87A9 9BC8
+93A5 9F60 9C37 5BA8 6640 6713 8101 7A95 8A82 7AB1
+5B25 773A 7C9C 94EB 7D69 899C 8D92 8DF3 982B 7CF6
+6017 8D34 841C 8051 8CBC 8DD5 94C1 86C8 9244 50E3
+9295 9D29 9421 9422 9435 9A56 546B 5E16 98FB 992E
+5385 5E81 6C40 827C 542C 753A 8013 539B 70C3 686F
+70F4 7D8E 9793 8074 807C 5EF0 807D 5EF3 9092 5EF7
+4EAD 5EAD 839B 505C 5A77 5D49 6E1F 7B73 8476 8713
+695F 69B3 95AE 9706 8064 874F 8AEA 9F2E 5722 4FB9
+5A17 633A 6D8F 6883 70F6 73FD 8121 94E4 8247 988B
+8248 8A94 92CC 9832 6FCE 4E6D 56F2 70B5 901A 75CC
+55F5 84EA 6A0B 71A5 4EDD 540C 4F5F 5F64 5CC2 5E9D
+54C3 72EA 833C 664D 6850 6D75 70D4 783C 8692 772E
+79F1 94DC 7AE5 7CA1 7D67 8855 8D68 916E 9256 50EE
+52ED 9275 9285 9907 9C96 6F7C 735E 66C8 6723 6A66
+6C03 729D 81A7 77B3 7A5C 9BA6 7EDF 6345 6876 7B52
+7D71 7B69 7D82 6078 75DB 615F 6185 5077 5078 5A7E
+5AAE 936E 4EA0 5934 6295 9AB0 7DF0 982D 59B5 7D0F
+6568 6B95 65A2 9EC8 8623 900F 51F8 79BF 79C3 6022
+7A81 550B 6D8B 6378 5817 6E65 75DC 8456 5D80 92F5
+9D5A 9F35 56F3 56FE 51C3 5CF9 5EA9 5F92 6087 6348
+6D82 837C 9014 5C60 688C 63EC 7A0C 5857 5D5E 760F
+7B61 816F 84A4 922F 5716 5717 5EDC 6F73 8DFF 9174
+999F 934E 99FC 9D4C 9D9F 9DCB 9DF5 571F 5721 5410
+6C62 948D 91F7 514E 8FCC 5154 83B5 580D 83DF 9D75
+6E4D 732F 7153 8C92 56E2 56E3 629F 526C 5278 5718
+587C 6171 6476 69EB 6F19 7BFF 6AB2 93C4 7CF0 9DD2
+9DFB 5715 7583 5F56 6E6A 8916 63A8 84F7 85EC 9893
+96A4 5C35 9839 983A 983D 9B4B 7A68 8608 8E6A 4FC0
+812E 817F 50D3 8E46 9ABD 9000 5A27 717A 86FB 8715
+892A 99FE 541E 5451 65FD 6D92 554D 671C 711E 66BE
+9ED7 5C6F 5FF3 829A 9968 8C58 8C5A 8ED8 98E9 9C80
+9B68 9715 81C0 81CB 6C3D 757D 5749 4E47 8BAC 6258
+6261 6C51 9966 6754 4F82 5483 62D5 62D6 6CB0 4FBB
+6329 635D 838C 88A5 8A17 6DB6 812B 8131 98E5 99B2
+9B60 9A5D 9A6E 4F57 9640 9641 5768 5CAE 6CB1 72CF
+8FF1 9A7C 67C1 7823 7824 8889 9E35 7D3D 5836 8A51
+8DCE 9161 78A2 99B1 69D6 99C4 8E3B 99DD 99DE 6A50
+9B80 9D15 9F27 9A28 9F0D 9A52 9F09 5F75 59A5 6BE4
+5EB9 5AA0 692D 6955 5AF7 64B1 6A62 9D4E 9C16 62D3
+67DD 553E 841A 8DC5 6BFB 7BA8 8600 7C5C 5C72 52B8
+54C7 5A03 5F8D 6316 6D3C 5A32 7556 7A8A 5558 5AA7
+55D7 86D9 6432 6E9B 6F25 7AAA 9F03 6528 74E6 4F64
+90B7 5493 74F2 7819 889C 8049 55E2 817D 8183 896A
+97C8 97E4 6B6A E81F 558E 7AF5 5D34 5916 9861 4E5B
+5F2F 525C 5A60 5E35 5846 6E7E 7755 873F 6F6B 8C4C
+5F4E 58EA 7063 4E38 5213 6C4D 7EA8 8284 5B8C 5C8F
+5FE8 628F 73A9 7B02 7D08 6356 987D 70F7 7413 8CA6
+9811 909C 5B9B 5007 550D 633D 665A 76CC 839E 57E6
+5A49 60CB 6669 689A 6DB4 7EFE 8118 83C0 667C 6900
+742C 7696 7579 7897 7DA9 7DB0 8F13 8E20 92D4 9350
+4E07 534D 5350 59A7 6764 6365 8155 842C 7FEB 92C4
+858D 933D 8D03 93AB 8D0E 5C23 5C29 5C2A 5C2B 6C6A
+4EA1 4EBE 5166 738B 4EFC 5F7A 83A3 869F 7F51 5FF9
+5F80 5F83 6789 7F54 60D8 83F5 6680 68E2 7139 86E7
+8F8B 7DB2 8744 8AB7 8F1E 7007 9B4D 5984 5FD8 8FCB
+65FA 76F3 671B 6722 5371 5A01 70D3 504E 9036 9687
+9688 55B4 5A81 5A99 6104 63CB 63FB 6E28 7140 8468
+8473 5FAE 6933 6972 6EA6 7168 8A74 7E05 875B 89A3
+5DB6 8587 71F0 9CC2 7650 5DCD 9C03 9C04 56D7 4E3A
+97E6 5729 56F4 5E0F 6CA9 8FDD 95F1 5CD7 5CDE 6D08
+70BA 97CB 6845 6DA0 552F 5E37 60DF 7EF4 55A1 570D
+5D6C 5E43 6E4B 6E88 7232 741F 9055 6F4D 7DAD 84F6
+912C 6F59 6F7F 9180 6FF0 934F 95C8 9BA0 7653 89B9
+72A9 973A 973B 5383 4F1F 4F2A 5C3E 7EAC 829B 82C7
+59D4 709C 73AE 6D27 5A13 6364 6D58 8371 8BFF 5049
+507D 5D23 68B6 75CF 784A 840E 9697 9AA9 5D54 5EC6
+5FAB 6107 7325 8466 848D 9AAA 9AAB 6690 6932 7152
+744B 75FF 8172 8249 97EA 50DE 78A8 8732 873C 9C94
+5BEA 7DEF 853F 8AC9 8E13 97D1 9820 85B3 5130 6FFB
+9361 9BAA 58DD 97D9 98B9 7022 97E1 4EB9 6596 536B
+672A 4F4D 5473 82FF 754F 80C3 53DE 8ECE 5C09 7859
+83CB 8C13 5582 5AA6 6E2D 732C 715F 589B 851A 6170
+71AD 729A 78D1 7DED 875F 885B 61C0 6FCA 748F 7F7B
+885E 8B02 9317 9927 9B87 87B1 893D 9935 9B4F 85EF
+8F4A 93CF 9728 9CDA 8636 9956 8B86 8E97 8B8F 8E9B
+6637 586D 6E29 6985 6B9F 6EAB 7465 8F92 69B2 761F
+8C71 8F3C 8F40 9CC1 93BE 9942 9C1B 9C2E 6587 5F63
+7EB9 82A0 7086 7807 95FB 7D0B 8689 868A 73F3 960C
+922B 96EF 7612 805E 99BC 9B70 9CFC 9D0D 87A1 95BA
+95BF 87C1 95C5 9F24 95E6 95E7 520E 543B 545A 5FDF
+6286 5461 80B3 7D0A 687D 8117 7A33 7A4F 7A69 95EE
+598F 6C76 83AC 554F 6E02 8115 63FE 6435 7D7B 9850
+74BA 7FC1 55E1 9E5F 8789 9393 9DB2 52DC 5963 5855
+5D61 6EC3 84CA 66A1 7788 806C 74EE 8579 7515 7F4B
+9F46 631D 502D 6DA1 83B4 5529 6DB9 6E26 7327 8435
+5594 7A9D 7AA9 8717 64BE 8778 8E12 6211 5A50 5A51
+6370 4EF4 6C83 809F 5367 81E5 5053 637E 5A89 5E44
+63E1 6E25 7125 786A 6943 815B 65A1 7783 6FE3 74C1
+81D2 9F8C 9F77 4E4C 572C 5F19 6C59 6C5A 6C61 90AC
+545C 6747 5DEB 5C4B 6D3F 8BEC 94A8 70CF 8DB6 526D
+7A8F 91EB 9114 55DA 8A88 6B4D 8AA3 7BBC 8790 9D2E
+93A2 9C1E 65E0 6BCB 5433 5434 543E 5449 829C 90DA
+5514 5A2A 68A7 6D16 6D6F 8323 8381 73F8 7966 9E40
+7121 7991 8708 856A 7491 9D50 9BC3 9F2F 9DE1 4E44
+4E94 5348 4EF5 4F0D 575E 59A9 5E91 5FE4 6003 8FD5
+65FF 6B66 739D 4FAE 4FC9 5035 6342 554E 5A2C 727E
+73F7 5862 6440 7193 7894 9E49 7466 821E 5AF5 5EE1
+61AE 6F55 933B 511B 6A46 7512 9D61 8E8C 5140 52FF
+52A1 620A 9622 4F06 5C7C 6264 5C89 674C 82B4 5FE2
+7269 77F9 6544 8BEF 52D9 609E 609F 60AE 7C85 901C
+6664 7110 7111 5A7A 5D4D 75E6 9696 9770 9A9B 5966
+5D68 6EA9 96FE 5BE4 7183 8AA4 9E5C 92C8 7AB9 971A
+9F3F 9727 9F40 8601 9A16 9DA9 5915 516E 5FDA 6C50
+897F 8980 5438 5E0C 6278 5365 6614 6790 77FD 7A78
+80B8 80B9 4FD9 5F86 6038 8BF6 90D7 997B 550F 595A
+5A2D 5C56 5C57 606F 6095 665E 6C25 6D60 727A 72F6
+8383 553D 6089 60DC 6878 6B37 6DC5 6E13 70EF 7101
+7108 740B 7852 83E5 8D65 91F8 5092 60C1 6670 6673
+711F 712C 7280 774E 7A00 7C9E 7FD5 7FD6 823E 910E
+5380 5D60 5FAF 6EAA 7155 7699 84A0 9521 50D6 69BD
+7184 7188 7199 7DC6 8725 8A92 8C68 990F 563B 564F
+5B06 5B09 761C 819D 9919 51DE 6A28 6A40 6B59 6B5A
+71B9 71BA 71BB 7AB8 7FB2 8785 8787 932B 71E8 72A0
+77A6 7902 87CB 8C3F 8C40 8C6F 8C95 7E65 96DF 9BD1
+9D57 89F9 8B46 91AF 93ED 96B5 5DC7 66E6 7214 72A7
+9145 89FD 9F37 8835 9E02 89FF 9474 4E60 90CB 5E2D
+7FD2 88AD 89CB 5AB3 693A 84B5 84C6 5D8D 6F1D 89A1
+8D98 69E2 8777 8582 96B0 6A84 8B35 93B4 972B 9CDB
+98C1 9A31 9A3D 8972 9C3C 9A68 676B 67B2 6D17 73BA
+5F99 94E3 559C 5F9A 8448 8478 9222 5C63 6F07 84F0
+9291 6198 6199 66BF 6A72 6B56 79A7 8AF0 58D0 7E30
+8B11 87E2 8E5D 74BD 9C5A 77D6 7E9A 8EA7 5338 534C
+620F 5C43 7CFB 9969 546C 5FE5 602C 7EC6 90C4 4FC2
+54A5 6044 76FB 90E4 6B2F 7EE4 7D30 91F3 960B 5848
+691E 8204 8D87 9699 6140 6ECA 798A 7D8C 8D69 969F
+7182 7294 7A27 622F 6F5D 6F5F 6F99 856E 89A4 6231
+9ED6 6232 78F6 8669 993C 9B29 56B1 95DF 973C 884B
+5477 75A8 867E 8C3A 5084 9595 656E 7146 98AC 778E
+8766 9C15 5323 4FA0 72CE 4FE0 5CE1 67D9 70A0 72ED
+965C 5CFD 70DA 72F9 73E8 796B 7856 7B1A 7FC8 823A
+967F 6E8A 7864 9050 6433 6687 7455 7B6A 78AC 821D
+8F96 78CD 7E00 8578 7E16 8D6E 9B7B 8F44 935C 971E
+938B 9EE0 9A22 9DB7 959C 4E05 4E0B 5413 5737 759C
+590F 68BA 53A6 5EC8 7771 8AD5 5687 61D7 7F45 5913
+93EC 4ED9 4EDA 5C73 5148 597E 7EA4 4F61 5FFA 6C19
+6774 7946 79C8 82EE 67AE 7C7C 73D7 83B6 6380 94E6
+8DF9 9170 9528 50CA 50F2 5615 929B 9C9C 66B9 97EF
+5B10 61B8 859F 9341 9342 7E4A 893C 97F1 9BAE 99A6
+8E6E 5B45 5EEF 6515 8B63 7E8E 9DB1 8973 8E9A 7E96
+9C7B 4F2D 549E 95F2 59B6 5F26 8D24 54B8 550C 6326
+6D8E 80D8 5A34 5A39 5A71 7D43 8237 86BF 8854 5563
+6E7A 75EB 86DD 9591 9E47 5ACC 8858 7509 929C 5AFA
+5AFB 61AA 648F 6F96 8AB8 8CE2 8AF4 8F31 918E 7647
+764E 85D6 9E79 7925 8D12 9466 9DF3 9DF4 9DFC 51BC
+72DD 663E 9669 5D04 6BE8 70CD 7303 86AC 967A 8D7B
+7B45 5C1F 5C20 641F 7992 8706 8DE3 7BB2 85D4 96AA
+5DAE 736B 736E 85D3 934C 71F9 9855 5E70 6507 6AF6
+861A 7381 97C5 986F 7066 53BF 5C98 82CB 73B0 7EBF
+81FD 9650 59ED 5BAA 770C 9665 54EF 57B7 5A0A 5A28
+5CF4 665B 6D80 83A7 9677 73FE 784D 9985 774D 7D64
+7F10 7FA1 732E 7CAF 7FA8 817A 50E9 50F4 7DAB 8AA2
+648A 7DDA 92E7 61B2 6A4C 7E23 930E 9921 8C4F 9EB2
+7017 81D4 737B 7CEE 93FE 9730 9F38 4E61 8297 76F8
+9999 90F7 53A2 554C 9109 910A 5EC2 6E58 7F03 8459
+9115 697F 858C 7BB1 7DD7 81B7 8944 5FC0 9AA7 9E98
+6B00 74D6 9576 9C5C 9472 9A64 74E8 4F6D 8BE6 5EA0
+6819 7965 7D74 7FD4 8A73 8DED 4EAB 4EAF 54CD 8683
+9977 6651 98E8 60F3 9284 9909 9C9E 56AE 8801 9B9D
+9BD7 97FF 9957 995F 9C76 5411 59E0 5DF7 9879 73E6
+8C61 7F3F 842B 9805 50CF 52E8 5D91 66CF 6A61 8950
+87D3 940C 9C4C 7071 7072 547A 67AD 4FBE 524A 54D3
+67B5 9A81 5BAF 5BB5 5EA8 6077 6D88 7EE1 8653 900D
+9E2E 554B 5A4B 689F 7107 7307 8427 75DA 75DF 785D
+7863 7A99 7FDB 8437 9500 63F1 7D83 5610 6B4A 6F47
+7BAB 8E03 5635 61A2 64A8 7362 92B7 9704 5F47 81AE
+856D 9B48 9D1E 7A58 7C18 85C3 87C2 87CF 8B1E 9D35
+56A3 701F 7C2B 87F0 9AC7 56BB 56C2 6AF9 9AD0 9DCD
+8828 9A4D 6BCA 8648 6D28 90E9 5D24 6DC6 8A24 8AB5
+5C0F 6653 6681 7B71 7B7F 769B 66C9 7BE0 8B0F 76A2
+5B5D 8096 52B9 54B2 6054 4FF2 54EE 6548 6821 6D8D
+7B11 5578 509A 6569 6EE7 8A68 560B 5628 8A9F 562F
+6B57 71BD 6585 6586 4E9B 6954 6B47 874E 880D 52A6
+534F 65EA 90AA 5354 80C1 57A5 594A 5CEB 604A 62F9
+631F 633E 8105 8107 810B 887A 5055 659C 8C10 7332
+7D5C 7FD3 55CB 6136 643A 744E 7D8A 7181 818E 52F0
+64B7 64D5 7DF3 7F2C 8762 978B 8AE7 71F2 64F7 97B5
+896D 9437 651C 7E88 8B97 9FA4 5199 51A9 5BEB 85DB
+4F33 707A 6CC4 6CFB 7944 7EC1 7F37 5378 6D29 70A7
+70A8 5368 5A0E 5C51 5C53 5070 5FA2 68B0 710E 79BC
+7D32 4EB5 5A9F 5C5F 63F3 6E2B 7D4F 7D6C 8C22 50C1
+586E 698D 69AD 8909 5667 5C67 66AC 7DE4 97F0 5DB0
+5EE8 61C8 6FA5 736C 7CCF 85A2 85A4 9082 71EE 893B
+8B1D 5911 7009 97A2 7023 7215 87F9 880F 9F58 9F65
+9F42 8EA0 5C6D 8E9E 5FC4 5FC3 90A4 59A1 5FFB E844
+82AF 8F9B 6615 677A 6B23 76FA 4FFD 8398 60DE 8A22
+920A 950C 65B0 6B46 5EDE 92C5 5677 567A 5B1C 85AA
+99A8 946B 99AB 6794 9B35 9414 4F08 6F43 9620 4F29
+56DF 5B5E 7098 4FE1 8ED0 812A 8845 8A2B 712E 99B8
+820B 9856 91C1 5174 72CC 661F 57B6 9A8D 60FA 7329
+714B 7446 8165 86F5 89EA 7BB5 7BC2 8208 8B03 9B8F
+66D0 89F2 9A02 76A8 9BF9 5211 884C 90A2 5F62 9649
+4F80 90C9 54D8 578B 6D10 9498 9658 5A19 784E 88C4
+94CF 9203 9276 9292 92DE 7772 9192 64E4 674F 59D3
+5E78 6027 8347 5016 8395 5A5E 60BB 6DAC 5842 7DC8
+5B39 81D6 51F6 5144 5147 5308 828E 8BBB 5FF7 6C79
+54C5 605F 6D36 80F7 80F8 8A29 8A7E 96C4 718A 8BC7
+8A57 5910 657B 4F11 4FE2 4FEE 54BB 5EA5 70CB 70CC
+7F9E 8129 8119 9E3A 81F9 8C85 9990 6A07 929D 9AE4
+9AF9 9380 9BB4 9D42 9948 93C5 98CD 82EC 673D 7D87
+6EEB 7CD4 79C0 5CAB 73DB 7EE3 8896 7407 9508 6EB4
+7D89 7493 88E6 890E 890F 92B9 8791 7E4D 7E61 93E5
+93FD 9F45 620C 65F4 759E 76F1 6B28 7809 80E5 987B
+8A0F 987C 8657 865A 8C1E 5AAD 5E41 63DF 6B3B 865B
+9808 6948 7AA2 980A 5618 7A30 9700 9B46 5653 589F
+5B03 6B54 7E03 8566 8751 6B58 8ADD 8B43 9B56 9A49
+9450 9B1A 4FC6 5F90 84A3 8BB8 5474 59C1 8BE9 5194
+6829 73DD 5066 8A31 6E51 668A 8A61 9126 7CC8 9191
+76E8 65ED 4F35 5E8F 6C7F 4F90 5379 6C80 53D9 6064
+662B 6D2B 57BF 6B30 6B88 70C5 73EC 755C 52D6 52D7
+654D 6558 70FC 7EEA 7EED 9157 55A3 58FB 5A7F 6702
+6E86 7D6E 8A39 55C5 6149 7166 7D9A 84C4 8CC9 69D2
+6F35 6F4A 76E2 7781 7DD2 805F 928A 735D 7A38 7DD6
+85C7 77B2 85DA 7E8C 9C6E 84FF 5405 8F69 660D 54BA
+5BA3 6645 8ED2 688B 8C16 55A7 5847 5A97 6103 610B
+63CE 8431 8432 6684 714A 7444 84D2 777B 5107 79A4
+7BAE 7FE7 8756 5B1B 857F 8AE0 8AFC 9379 99FD 77CE
+7FFE 85FC 8610 8809 8B5E 9C1A 8B82 7384 73B9 75C3
+60AC 65CB 7401 8701 5AD9 6F29 66B6 7487 6A88 74BF
+61F8 9009 70DC 6685 9078 7663 766C 6030 6CEB 6621
+70AB 7EDA 7729 88A8 94C9 7404 7734 8852 6E32 7D62
+6965 6966 9249 78B9 8519 955F 9799 98B4 7E3C 7E4F
+93C7 8D19 75B6 8486 9774 859B 8FA5 97BE 7A74 6588
+4E74 5779 5B66 5CA4 5CC3 8313 6CF6 8895 9E34 8E05
+5B78 5DA8 6FA9 71E2 89F7 96E4 9DFD 96EA 6A30 81A4
+825D 8F4C 9CD5 9C48 8840 5437 6034 6CE7 72D8 75A6
+6856 70D5 8C11 8D90 8B14 7025 5743 52CB 57D9 7104
+52DB 5864 718F 7AA8 8512 52F2 52F3 85AB 99E8 5691
+58CE 736F 85B0 66DB 71FB 81D0 77C4 860D 58E6 720B
+7E81 91BA 5EF5 5BFB 5DE1 65EC 9A6F 674A 8BE2 5CCB
+6042 6D35 6D54 7D03 8340 6812 686A 6BE5 73E3 5071
+5C0B 5FAA 63D7 8A62 99B4 9129 9C9F 565A 6F6F 6533
+6A33 71C2 71C5 71D6 7495 8951 87F3 9C4F 9C58 7065
+5342 8BAD 8BAF 4F28 6C5B 8FC5 4F9A 5F87 72E5 8FFF
+900A 6B89 8A0A 8A13 8A19 595E 5DFD 6BBE 905C 613B
+8CD0 5640 8548 9868 9442 4E2B 538B 5440 5E98 62BC
+9E26 6860 9E2D 5B72 94D4 690F 9D09 930F 9D28 58D3
+9D76 941A 7259 4F22 5C88 82BD 5393 6792 740A 7B0C
+869C 5810 5D15 5D16 6DAF 731A 7458 775A 8859 6F04
+9F56 758B 538A 5E8C 54D1 5516 555E 75D6 96C5 7602
+8565 529C 5720 4E9A 7A75 897E 8BB6 4E9C 72BD 8FD3
+4E9E 73A1 57AD 5A05 631C 7811 4FF9 6C29 57E1 5A6D
+6397 8A1D 63E0 6C2C 7330 8050 5714 7A0F 7AAB 9F7E
+54BD 6079 5266 70DF 73DA 80ED 5063 5D26 6DF9 7109
+83F8 9609 6E6E 814C 50BF 7159 9122 5AE3 6F39 852B
+5D96 6A2E 9183 95B9 5B2E 7BF6 61D5 81D9 9EEB 8BA0
+5186 5EF6 95EB 4E25 598D 82AB 8A00 8A01 5CA9 6616
+6CBF 708E 90D4 59F8 5A2B 72FF 7814 839A 5A2E 76D0
+7402 784F 8A2E 9586 960E 5D52 5D53 E863 7B75 7D96
+8712 5869 63C5 694C 8A7D 789E 8505 989C 8664 95BB
+53B3 6A90 984F 9854 56B4 58DB 5DCC 7C37 6AE9 9E99
+58E7 5B4D 5DD6 5DD7 5DDA 6B15 7939 9E7D 9EA3 5935
+6281 6C87 4E75 5156 5944 4FE8 5157 533D 5F07 884D
+5043 53A3 63A9 773C 8412 90FE 9153 5D43 611D 624A
+63DC 68EA 6E30 6E37 7430 9043 9692 693C 787D 7F68
+88FA 6F14 8917 622D 8758 9B47 565E 8EBD 7E2F 6ABF
+9EE1 53B4 7517 9C0B 9DA0 9EE4 9F5E 9F91 513C 9EEC
+9EED 9869 9F34 5DD8 66EE 9B58 9F39 9F74 9EF6 538C
+599F 89C3 726A 59F2 5F65 5F66 781A 5501 5BB4 664F
+8273 898E 9A8C 5050 639E 7114 8C1A 9681 55AD 5830
+6565 7130 7131 7312 786F 8455 96C1 693B 6EDF 9CEB
+53AD 5895 66A5 7196 917D 5B0A 8C33 990D 9D08 71C4
+71D5 8AFA 8D5D 9B33 66D5 9D33 9140 9A10 9A13 56A5
+E845 5B3F 8276 8D0B 8EC5 7213 91B6 9A34 9DC3 7054
+8D17 8D18 89FE 8B8C 91BC 995C 9A57 9DF0 8277 704E
+91C5 9A60 7067 8B9E 8C53 8C54 7069 592E 5489 59CE
+62B0 6CF1 6B83 80E6 770F 79E7 9E2F 9260 96F5 9785
+9348 9D26 626C 7F8A 9626 9633 65F8 6768 7080 4F6F
+52B7 6C1C 75A1 9496 98CF 579F 5F89 661C 6D0B 7F8F
+70CA 73DC 773B 967D 5D35 5D38 63DA 86D8 656D 6698
+694A 716C 7993 760D 8AF9 8F30 935A 9D39 98BA 940A
+9C11 9737 9E09 536C 4EF0 4F52 5771 594D 5C9F 517B
+70B4 6C27 75D2 7D3B 509F 6967 8EEE 6143 6C31 7FAA
+990A 99DA 61E9 6501 7001 7662 7922 600F 67CD 6059
+6837 7F95 8A47 69D8 6F3E 6A23 5E7A 592D 5406 5996
+6796 7945 8A1E 5593 847D 6946 8170 9D01 9080 723B
+5C27 5C2D 80B4 579A 59DA 5CE3 8F7A 5004 70D1 73E7
+7A91 509C 582F 63FA 6BBD 8C23 8EFA 55C2 5AB1 5FAD
+612E 6416 6447 733A 9059 9065 647F 669A 69A3 7464
+7476 929A 98D6 9906 5DA2 5DA4 5FBA 78D8 7AAF 7AB0
+991A 7E47 8B20 8B21 9390 9CD0 98BB 8628 9864 9C29
+4EF8 5B8E 5C86 62AD 6773 6B80 72D5 82ED 54AC 67FC
+7711 7A85 7A88 8200 5060 5A79 5D3E 6E94 84D4 699A
+9D22 95C4 9A15 9F69 9DD5 7A7E 836F 8981 888E 7A94
+7B44 846F 8A4F 718E 899E 977F 735F 9E5E 85AC 9F3C
+66DC 71FF 825E 85E5 77C5 66E3 8000 7E85 9DC2 8B91
+9470 503B 6930 668D 564E 6F71 882E 7237 8036 6353
+63F6 94D8 723A E84A 91FE 92E3 9381 64E8 4E5F 5414
+4EAA 51B6 57DC 91CE 5622 6F1C 58C4 4E1A 53F6 66F3
+9875 90BA 591C 62B4 4EB1 67BC 6D02 9801 6359 6654
+67BD 70E8 505E 6396 6DB2 8C12 5828 6B97 814B 8449
+9113 58B7 696A 696D 998C 50F7 66C4 66C5 6B4B 71C1
+64D6 64DB 76A3 77B1 9134 9765 5DAA 5DAB 6FB2 8B01
+9923 5688 64EB 66D7 77B8 9371 64EA 7217 790F 9391
+9941 9D7A 9768 9A5C 9E08 81B6 5C83 4E00 5F0C 8FB7
+8864 4F0A 8863 533B 541A 58F1 4F9D 794E 54BF 6D22
+7317 7569 90FC 94F1 58F9 63D6 6B39 86DC 7995 5ADB
+6F2A 7A26 92A5 5B04 566B 5901 747F 9E65 7E44 6AB9
+6BC9 91AB 9EDF 8B69 9DD6 9EF3 4E41 4EEA 531C 572F
+5937 519D 5B90 675D 6C82 8BD2 4F87 5B9C 6021 6CB6
+72CB 886A 8FE4 9974 54A6 59E8 5CD3 5F2C 605E 67C2
+74F5 8351 8D3B 8FFB 5BA7 5DF8 6245 6818 684B 7719
+80F0 8898 914F 75CD 79FB 8413 5A90 692C 7FA0 86E6
+8A52 8CBD 9057 6686 6938 8A83 8DE0 9809 9890 98F4
+7591 5100 71AA 907A 5DAC 5F5B 5F5C 8794 9824 9825
+5BF2 5DB7 7C03 984A 9BA7 5F5D 5F5E 8B3B 93D4 7C4E
+89FA 8B89 9E03 4E59 5DF2 4EE5 8FC6 9487 4F41 653A
+77E3 82E1 82E2 5EA1 8223 8681 91D4 501A 6246 7B16
+9018 506F 5D3A 65D1 6905 9218 926F 9CE6 65D6 8F22
+657C 8798 6AA5 7912 8264 87FB 9857 8F59 9F6E 4E42
+4E49 4EBF 5F0B 5208 5FC6 827A 4EE1 5307 808A 8BAE
+9623 4EA6 4F07 5C79 5F02 5FD4 8285 4F3F 4F5A 52AE
+5453 5744 5F79 6291 66F5 6759 8034 82C5 8BD1 9091
+4F7E 546D 5479 59B7 5CC4 6008 603F 6613 678D 6CC6
+7088 79C7 7ECE 8BE3 9A7F 4FCB 5955 5E1F 5E20 5F08
+67BB 6D42 73B4 75AB 7FBF 8875 8F76 5508 57BC 6092
+6339 6827 683A 6B2D 6D65 6D73 76CA 88A3 8C0A 8CA4
+966D 52DA 57F6 57F8 6098 60A5 6BB9 7570 7F9B 7FCA
+7FCC 841F 8A32 8A33 8C59 8C5B 9038 91F4 96BF 5E46
+6561 6679 68ED 6B94 6E59 7132 86E1 8A4D 8DC7 8EFC
+9220 9AAE 4E84 517F 610F 6EA2 7348 75EC 7AE9 7F22
+7FA9 8084 88D4 88DB 8A63 52E9 5AD5 5ED9 698F 6F69
+7617 8189 84FA 8734 977E 99C5 5104 648E 69F8 6BC5
+71A0 71A4 71BC 761E 8ABC 9552 9E5D 9E62 9ED3 5293
+571B 58BF 5B11 5B1F 5DA7 61B6 61CC 66C0 6BAA 6FBA
+71DA 7631 7796 7A53 7E0A 8257 858F 87A0 8939 5BF1
+6581 66CE 6A8D 6B5D 71E1 71F1 7FF3 7FFC 81C6 8C96
+9BA8 7654 85D9 85DD 8D00 93B0 9571 7E76 7E79 8C77
+972C 9BE3 9D82 9D83 9D8D 7037 8619 8B6F 8B70 91B3
+91B7 9950 56C8 943F 9DC1 9DCA 61FF 897C 9A5B 9DE7
+8649 9DFE 8B9B 9F78 4E5A 56D9 56E0 9625 9634 4F8C
+5794 59FB 6D07 8335 836B 97F3 9A83 6836 6BB7 6C24
+9670 51D0 79F5 88C0 94DF 967B 9682 5591 5819 5A63
+6114 7B43 7D6A 6B45 6EB5 798B 8491 852D 6147 7616
+92A6 78E4 7DF8 9787 8AF2 9712 99F0 567E 6FE6 95C9
+9720 97FE 5198 4E51 541F 72BE 82C2 65A6 57A0 6CFF
+5701 5CFE 70CE 72FA 73E2 7C8C 8376 8A14 552B 5A6C
+5BC5 5D1F 5D2F 6DEB 8A21 94F6 921D 9F82 6EDB 7892
+911E 5924 8529 8A1A 8ABE 9280 9F88 5656 6BA5 748C
+569A 6AAD 87EB 972A 9F57 9F66 9DE3 5EF4 5C39 5F15
+5432 996E 8693 9690 6DFE 91FF 920F 98F2 96A0 9777
+98EE 6704 8D9B 6A83 763E 96B1 5DBE 6FE5 87BE 861F
+6AFD 766E 8B94 5370 831A 6D15 80E4 57BD 6E5A 730C
+5ED5 9173 616D 764A 6196 6197 E857 9BA3 61DA 6ABC
+5E94 5FDC 82F1 5040 685C 73F1 83BA 5568 5A74 5A96
+6125 6E36 7EEC 6720 7150 745B 5AC8 78A4 9533 5624
+6484 6ECE 7507 7DD3 7F28 7F42 8767 8CCF 6A31 748E
+565F 7F43 892E 9719 9D2C 9E66 5B30 61C9 81BA 97FA
+7516 93A3 9E70 9DA7 56B6 5B46 5B7E 6516 7034 7F4C
+8621 6AFB 74D4 792F 8B7B 9DAF 944D 7E93 8833 9DEA
+8EC8 9DF9 9E0E 9E1A 76C1 8FCE 8314 76C8 8365 8367
+83B9 8424 8425 8426 86CD 55B6 6E81 6E8B 843E 50CC
+584B 6979 6EE2 84E5 6F46 7192 8747 7469 877F 5B34
+71DF 7E08 87A2 6FD9 6FDA 6FF4 85C0 89AE 8B0D 8D62
+5DC6 650D 651A 701B 7020 702F 8805 6AFF 7050 7C5D
+705C 8D0F 7C6F 77E8 90E2 6D67 68AC 988D 9895 9896
+646C 5F71 6F41 763F 7A4E 9834 5DCA 5EEE 941B 766D
+6620 668E 786C 5AB5 81A1 9795 7005 8B4D 54DF 5537
+55B2 4F63 62E5 75C8 9095 5EB8 50AD 55C8 9118 96CD
+5889 5ADE 6175 6EFD 69E6 7245 92BF 5670 58C5 64C1
+6FAD 90FA 955B 81C3 7655 96DD 93DE 9CD9 5EF1 7049
+9954 9C45 9DDB 7670 5581 9899 9852 9C2B 6C38 752C
+548F 603A 6CF3 4FD1 52C7 52C8 6810 57C7 6080 67E1
+6D8C 607F 509B 60E5 6111 6E67 7867 8A60 584E 5D71
+5F6E 6139 86F9 6142 8E0A 799C 9CAC 8E34 9BD2 7528
+82DA 783D 919F 4F18 5FE7 6538 5466 602E 6CD1 5E7D
+60A0 9E80 6EFA 6182 512A 913E 5698 61EE 7000 6ACC
+7E8B 8030 5C22 5C24 7531 6C8B 72B9 90AE 601E 6CB9
+80AC 6023 65BF 67DA 75A3 5CF3 6D5F 79DE 839C 83A4
+83B8 900C 90F5 94C0 5064 86B0 8A27 9030 6E38 7336
+904A 9C7F 6962 7337 923E 9C89 8F0F 99C0 8555 8763
+9B77 8F36 9B8B 6AFE 908E 53CB 6709 4E23 5363 82C3
+9149 7F91 5EAE 7F90 83A0 6884 8048 811C 94D5 6E75
+848F 7989 870F 92AA 69F1 7256 7257 9EDD 53C8 53F3
+5E7C 4F51 4F91 5B67 72D6 7CFF 54CA 56FF 59F7 5BA5
+5CDF 7270 7950 8BF1 8FF6 5500 688E 86B4 4EB4 8C81
+91C9 916D 8A98 9F2C 625C 7EA1 8FC2 8FC3 7A7B 9653
+7D06 8676 5539 6DE4 76D3 6E1D 7600 7B8A 4E8E 4E90
+4E88 9098 4F03 4F59 59A4 6275 6745 6B24 7397 7399
+65BC 76C2 81FE 8867 9C7C 4FDE 516A 79BA 7AFD 8201
+8330 8362 5A1B 5A2F 5A31 72F3 8C00 9151 9980 6E14
+8438 91EA 9683 9685 96E9 9B5A 5823 582C 5D33 5D4E
+5D5B 6109 63C4 6970 6E61 756C 756D 7862 8174 903E
+9AAC 611A 6961 6986 6B48 724F 745C 8245 865E 89CE
+6F01 E856 E85A 776E 7AAC 8206 8915 6B76 7FAD 854D
+8753 8ADB 96D3 9918 9B63 5B29 61D9 6F9E 89A6 8E30
+6B5F 74B5 87B8 8F3F 935D 7916 8B23 9AC3 9BBD 65DF
+7C45 9A1F 9BF2 9C05 9DE0 9E06 4E0E 4F1B 5B87 5C7F
+7FBD 96E8 4FC1 4FE3 6327 79B9 8BED 5704 5CFF 7964
+504A 532C 5709 5EBE 6554 9105 842D 842E 94FB 50B4
+5BD9 659E 6940 7440 7610 8207 8A9E 7AB3 92D9 9F89
+5673 5DBC 8C90 6594 9E8C 860C 9F6C 7389 9A6D 5401
+572B 807F 828B 828C 59AA 5FEC 996B 80B2 90C1 5F67
+6631 72F1 79D7 831F 4FFC 5CEA 682F 6D74 7821 94B0
+9884 5590 57DF 5809 6086 60D0 6B32 6DE2 6DEF 88AC
+8C15 9033 9608 5585 55A9 55BB 5A80 5BD3 5EBD 5FA1
+68DB 68DC 68EB 7134 7419 77DE 88D5 9047 98EB 99AD
+9E46 6108 6EEA 715C 7A22 7F6D 84AE 84E3 8A89 923A
+9810 5AD7 5D8E 622B 6BD3 7344 7609 7DCE 871F 872E
+8F0D 9289 96A9 564A 617E 7A36 84F9 8581 8C6B 9079
+92CA 9CFF 6FA6 71CF 71E0 8577 8AED 9325 95BE 9D25
+9D27 9D2A 5125 7907 79A6 9B4A 9E6C 7652 791C 7A65
+7BFD 7E58 91A7 9D52 6AF2 9947 861B 8B7D 8F5D 942D
+9731 6B0E 9A48 9B3B 7C5E 9C4A 9DF8 9E12 6B1D 8EC9
+9B30 9B31 706A 7C72 7229 56E6 9E22 5248 51A4 5F32
+6081 7722 9E33 5BC3 6E01 6E06 6E0A 6E15 60CC 6DF5
+847E 68E9 84AC 870E 9E53 7BA2 9CF6 8735 99CC 92FA
+9D1B 5B3D 9D77 7041 9F18 9F1D 5143 8D20 90A7 5458
+56ED 6C85 676C 57A3 7230 8C9F 539F 54E1 5706 7B0E
+8696 8881 53A1 915B 570E 63F4 6E72 7328 7F18 9228
+9F0B 5712 5713 586C 5AB4 5AC4 6E90 6E92 733F 7342
+849D 699E 69AC 8F95 7DE3 7E01 875D 876F 9B6D 571C
+6A7C 7FB1 8597 8788 8B1C 8F45 9EFF 93B1 6ADE 908D
+9A35 9DA2 9DB0 53B5 8FDC 76F6 903A 9060 5917 8099
+59B4 82D1 6028 9662 57B8 884F 5086 5A9B 63BE 7457
+7990 613F 88EB 8911 8924 566E 9858 66F0 66F1 7EA6
+7D04 7BB9 77F1 5F5F 5F60 6708 6209 5216 6C4B 5C84
+6288 793F 5CB3 6782 73A5 6071 94A5 6085 60A6 868E
+868F 8ECF 94BA 9605 6373 8DC0 8DC3 7CA4 8D8A 9205
+7CB5 925E 95B1 95B2 5B33 6A3E 7BD7 5DBD 9FA0 7C46
+7039 8625 9EE6 721A 79B4 8E8D 7C65 9E11 7C70 9FA5
+9E19 8480 7174 8495 7185 596B 8779 8D5F 9835 99A7
+8D07 4E91 52FB 5300 4F1D 544D 56E9 5998 62A3 6C84
+7EAD 82B8 6600 7547 7703 79D0 90E7 6DA2 7D1C 8018
+803A 9116 96F2 612A 6C32 6EB3 7B7C 84B7 6C33 7189
+6F90 8553 92C6 6A52 7BD4 7E1C 7E67 5141 962D 593D
+628E 72C1 73A7 9668 837A 6B92 5597 9217 9695 6B9E
+891E 99BB 78D2 9723 9F6B 9F73 5B55 8FD0 679F 90D3
+607D 6655 9106 915D 508A 60F2 6120 7F0A 904B 614D
+6688 816A 97EB 97F5 71A8 7DFC 8570 8574 7E15 8580
+8CF1 9196 919E 992B 85F4 97D7 97DE 860A 97FB 5E00
+531D 6C9E 5482 62F6 6CAF 685A 7D25 7D2E 9254 9B73
+81DC 81E2 6742 7838 97F4 96D1 78FC 894D 96DC 56D0
+96E5 707D 707E 753E 54C9 683D 70D6 83D1 6E3D 6EA8
+7775 8CF3 5BB0 8F7D 5D3D 8F09 518D 5728 6257 6D05
+50A4 9168 510E 7E21 5142 7CCC 7C2A 7C2E 9415 54B1
+507A 5592 661D 5BC1 648D 5127 6512 5139 6522 8DB1
+8DB2 6682 66AB 8CDB 8D5E 933E 913C 6FFD 8E54 9142
+74C9 8D0A 93E8 74D2 9147 56CB 7052 8B83 74DA 79B6
+8978 8B9A 9961 7242 7F98 8D43 8CCD 81E7 8CD8 8D13
+9AD2 8D1C 9A75 99D4 5958 5F09 810F 585F 846C 92BA
+81D3 81DF 50AE 906D 7CDF 8E67 91A9 51FF 947F 65E9
+67A3 6806 86A4 68D7 7485 6FA1 74AA 85BB 85FB 7076
+7681 7682 5515 5523 9020 688D 55BF 6165 7170 8241
+566A 7C09 71E5 7AC3 8B5F 8DAE 8E81 7AC8 556B 4F2C
+5219 629E 6CA2 62E9 6CCE 6CFD 8D23 8FEE 5247 5536
+5567 5E3B 7B2E 8234 8CAC 6EAD 77E0 5616 5AE7 5E58
+7BA6 8536 6A0D 6B75 8ACE 8D5C 64C7 6FA4 769F 7794
+7C00 802B 790B 8957 8B2E 8CFE 880C 9F5A 9F70 9E05
+4EC4 5928 5E82 6C44 6603 6617 6351 5D31 7A04 8D3C
+8CCA 9C97 8808 9C02 9C61 600E 8C2E 8B56 8B5B 56CE
+66FD 66FE 5897 912B 589E 618E 7F2F 6A67 71B7 7494
+77F0 78F3 7F7E 7E52 8B44 9C5B 9503 92E5 7511 8D60
+8D08 5412 8FCA 548B 62AF 6313 67E4 54F3 5067 55B3
+63F8 6E23 6EA0 6942 5284 76B6 7B9A 6A1D 89F0 76BB
+76BC 8B47 9F44 9F47 624E 672D 7534 8F67 8ECB 95F8
+86BB 94E1 7160 7250 9598 9705 9358 8B57 538F 82F2
+7728 781F 6429 9C8A 9C9D 8E37 9B93 9BBA 4E4D 7079
+8BC8 54A4 5953 67F5 6805 70B8 5BB1 75C4 86B1 8A50
+643E 6463 69A8 81AA 91A1 5908 7C82 635A 658B 658E
+658F 6458 69B8 9F4B 5B85 7FDF 7A84 9259 503A 7826
+50B5 5BE8 7635 6CBE 6BE1 65C3 6834 7C98 86C5 98E6
+60C9 8A40 8D88 8A79 959A 8C35 5661 5DA6 6FB6 859D
+9085 9711 6C08 6C0A 77BB 9E6F 65DC 8B6B 9958 9CE3
+9A59 9B59 9C63 9E07 8B9D 62C3 65A9 98D0 5C55 76CF
+5D2D 65AC 7416 640C 76DE 5D83 5D84 6990 8F97 98AD
+5AF8 9186 6A4F 8E4D 8F3E 76BD 9EF5 5360 4F54 6218
+6808 685F 7AD9 5061 7EFD 83DA 68E7 6E5B 6226 7DBB
+5D98 8F1A 9AA3 6230 8665 8666 89B1 8F4F 8638 9A4F
+5F20 5F21 5F35 7AE0 50BD 9123 5ADC 5F70 615E 6F33
+7350 7CBB 8501 9067 66B2 6A1F 748B 9926 87D1 93F1
+9A3F 9C46 9E9E 4EC9 6DA8 6DB1 638C 6F32 5E65 7903
+979D 9423 4E08 4ED7 6259 5E10 6756 80C0 8D26 7C80
+5E33 8139 75EE 969C 5887 5D82 5E5B 8CEC 762C 7634
+7795 4F4B 948A 59B1 5DF6 62DB 662D 70A4 76C4 91D7
+5541 924A 99CB 7ABC 9363 722B 627E 6CBC 7475 53EC
+5146 8BCF 679B 5797 72E3 8D75 7B0A 8081 65D0 68F9
+7F40 8A54 7167 7F69 7B8C 8087 8088 8D99 66CC 71F3
+9BA1 6AC2 77BE 7F84 8707 5AEC 906E 5387 6298 6B7D
+77FA 7813 7C77 8674 54F2 57D1 7C8D 88A9 5560 608A
+6662 6663 8F84 5586 68CF 86F0 8A5F 8C2A 647A 8F12
+6A00 78D4 8F19 92B8 8F99 87C4 569E 8B2B 8B3A 9BBF
+8F4D 8B81 8975 8B8B 8005 9517 8D6D 8936 937A 8FD9
+67D8 6D59 9019 6DDB 55FB 8517 6A1C 9E67 87C5 9DD3
+8D1E 9488 4FA6 6D48 73CD 73CE 8C9E 5E2A 6815 6862
+771E 771F 7827 796F 91DD 5075 6552 686D 9159 5BCA
+6E5E 8474 9049 6438 659F 6968 7349 7504 798E 8496
+84C1 9241 9755 699B 69C7 6B9D 7467 78AA 799B 6F67
+7BB4 6A3C 6FB5 81FB 85BD 9331 8F43 9356 937C 7C48
+9C75 5C52 8BCA 62AE 6795 59EB 5F2B 6623 80D7 8F78
+755B 75B9 7715 8897 7D3E 8044 8419 88D6 8999 8A3A
+8EEB 5AC3 7F1C 7A39 99D7 7E1D 7E25 8FB4 9B12 9EF0
+5733 9635 7EBC 4FB2 630B 9663 9E29 632F 6715 681A
+7D16 7739 8D48 5866 63D5 7D7C 8704 6576 8AAB 8CD1
+92F4 9547 9707 9D06 93AD 93AE 9EEE 51E7 4E89 4F42
+59C3 5F81 6014 722D 5CE5 6323 70A1 72F0 E853 70DD
+7710 94B2 57E9 5D1D 5D22 6399 7319 7741 8047 94EE
+5A9C 63C1 7B5D 5FB0 775C 84B8 9266 5FB4 7B8F 5FB5
+E851 8E2D 7BDC 931A 9B07 7665 6C36 628D 7CFD 62EF
+639F 5863 6678 6138 649C 6574 6B63 32A3 8BC1 8BE4
+90D1 5E27 653F 75C7 5E40 8A3C 912D 8ACD 9D0A 8B49
+4E4B 652F 536E 6C41 829D 5431 5DF5 6C65 679D 77E5
+7EC7 80A2 5F94 6800 7957 79D3 79D6 80D1 80DD 8879
+887C 5001 75B7 796C 79EA 8102 96BB 6894 6220 6925
+81F8 6418 7994 7D95 69B0 8718 99B6 9CF7 8B22 9D32
+7E54 8635 9F05 79B5 6267 4F84 5767 76F4 59EA 5024
+503C 8040 8041 91DE 57F4 57F7 804C 690D 6B96 7983
+7D77 8DD6 74E1 588C 646D 99BD 5B02 6179 6F10 8E2F
+6A34 81B1 7E36 8077 87D9 8E60 8E62 8EC4 8E91 5902
+6B62 53EA 51EA 52A7 65E8 962F 5740 5741 5E0B 627A
+6C66 6C9A 7EB8 82B7 62A7 7949 830B 54AB 6049 6307
+67B3 6D14 780B 8F75 6DFD 75BB 7D19 8A28 8DBE 8EF9
+9EF9 916F 85E2 8967 9624 81F3 8296 5FD7 5FEE 627B
+8C78 5236 5394 5781 5E19 5E1C 6CBB 7099 8D28 90C5
+4FE7 5CD9 5EA2 5EA4 6303 67E3 6809 6D37 7951 965F
+5A21 5F8F 631A 664A 684E 72FE 79E9 81F4 889F 8D3D
+8F7E 4E7F 506B 5F9D 63B7 68BD 7318 7564 75D4 79F2
+79F7 7A92 7D29 7FD0 88A0 89D7 8CAD 94DA 9E37 5082
+5D3B 5F58 667A 6EDE 75E3 86ED 9A98 5BD8 5ECC 6431
+6ECD 7A19 7A1A 7B6B 7F6E 8DF1 8F0A 9527 96C9 5886
+69DC 6EEF 6F4C 7590 7608 88FD 899F 8A8C 928D 5E5F
+6184 646F 6F6A 71AB 7A3A 81A3 89EF 8CEA 8E2C 92D5
+65D8 7004 7DFB 96B2 99E4 9D19 5128 5295 61E5 64F2
+64FF 6ADB 7A49 87B2 61EB 8D04 6ACD 74C6 89F6 9A2D
+9BEF 7929 8C51 9A3A 9A47 8E93 9DD9 9455 8C52 4E2D
+4F00 6C77 5223 5990 5F78 8FDA 5FE0 6CC8 7082 7EC8
+67CA 76C5 8873 949F 822F 8877 7D42 9221 5E52 8520
+953A 87A4 9D24 87BD 937E 9F28 8E71 9418 7C66 80BF
+79CD 51A2 55A0 5C30 585A 6B71 7144 816B 7607 7A2E
+8E35 4EF2 4F17 5995 72C6 794C 794D 833D 8876 91CD
+869B 5045 773E 5839 5A91 7B57 8846 8AE5 5DDE 821F
+8BCC E81B E81A 4F9C 5468 6D00 6D32 70BF 8BEA 70D0
+73D8 8F80 90EE 5A64 5F9F 6DCD 77EA 9031 9E3C 558C
+7CA5 8D52 8F08 9282 8CD9 8F16 970C 99F2 568B 76E9
+8B05 9D43 9A06 8B78 59AF 8F74 8EF8 78A1 8098 5E1A
+759B 83F7 666D 776D 7B92 9BDE 7EA3 4F37 546A 5492
+5B99 7EC9 E825 E824 5191 54AE 663C 7D02 80C4 836E
+665D 76B1 914E 7C99 8464 8A4B 7503 50FD 76BA 99CE
+5663 7E10 9AA4 7C40 7C55 7C52 9A5F 6731 52AF 4F8F
+8BDB 90BE 6D19 8331 682A 3231 73E0 8BF8 732A 7843
+88BE 94E2 7D51 86DB 8A85 8DE6 69E0 6F74 876B 9296
+6A65 8AF8 8C6C 99EF 9BA2 9D38 7026 85F8 6AE7 6AEB
+9F04 9BFA 8829 7AF9 6CCF 7AFA 70A2 7B01 833F 70DB
+7A8B 9010 7B1C 8233 7603 84EB 71ED 880B 8E85 9C41
+529A 5B4E 705F 65B8 66EF 6B18 7225 883E 9483 4E36
+4E3B 5B94 62C4 782B 7F5C 967C 6E1A 7151 716E 8A5D
+5631 6FD0 9E88 77A9 5C6C 56D1 77DA 4F2B 4F47 4F4F
+52A9 7EBB 82A7 82CE 577E 677C 6CE8 82E7 8D2E 8FEC
+9A7B 58F4 67F1 67F7 6BB6 70B7 795D 75B0 771D 7969
+7ADA 8387 79FC 7D35 7D38 7F9C 8457 86C0 5D40 7B51
+8A3B 8CAF 8DD3 8EF4 94F8 7B6F 9252 98F3 99B5 58B8
+7BB8 7FE5 6A26 92F3 99D0 7BC9 7BEB 9714 9E86 9444
+6293 6A9B 81BC 7C3B 9AFD 722A 62FD 8DE9 4E13 53C0
+5C02 7816 5C08 911F 5AE5 747C 750E 819E 989B 78DA
+8AEF 87E4 9853 9C44 8F6C E83F 5B68 8EE2 7AF1 8F49
+7077 556D 581F 8483 7451 50CE 8D5A 64B0 7BC6 9994
+7E33 8948 8CFA 8B54 994C 56C0 7C51 5986 5E84 599D
+5E92 8358 5A24 6869 838A 6E77 7CA7 88C5 88DD 6A01
+7CDA 4E2C 58EE 58EF 72B6 72C0 58F5 6889 710B 5E62
+649E 6205 96B9 8FFD 9A93 690E 9525 9310 9A05 9D7B
+6C9D 5760 7B0D 5A37 7F00 60F4 7500 7F12 7577 787E
+8187 589C 7DB4 8D58 7E0B 8AC8 918A 9323 991F 7908
+8D05 8F5B 9446 5B92 8FCD 80AB 7A80 8C06 8AC4 8860
+51C6 57FB 51D6 6E96 7DA7 8A30 7A15 5353 62D9 70AA
+502C 6349 684C 68C1 6DBF 68F3 7438 7AA7 69D5 7A5B
+7A71 883F 5734 5F74 72B3 707C 53D5 59B0 8301 65AB
+6D4A 4E35 6D5E 70F5 8BFC 914C 5544 5545 5A3A 68B2
+7740 65AE 666B 6913 7422 65B1 787A 7AA1 7F6C 64AF
+64C6 65B2 799A 5285 8AC1 8AD1 92DC 6FC1 7BE7 64E2
+6580 65B5 6FEF 6AE1 8B36 956F E84D 942F 9D6B 7042
+8817 9432 7C57 9DDF 7C71 4ED4 5B56 5B5C 830A 5179
+54A8 59D5 59FF 8332 6825 7386 7D0E 8D40 8D44 5D30
+6DC4 79F6 7F01 8C18 8D7C 55DE 5B73 5D6B 6914 6E7D
+6ECB 7CA2 8458 8F8E 9111 5B76 798C 89DC 8CB2 8CC7
+8D91 9531 7A35 7DC7 922D 9543 9F87 8F1C 9F12 6FAC
+8AEE 8DA6 8F3A 9319 9AED 9CBB 937F 93A1 983E 983F
+9BD4 9D85 9F4D 9C26 9F5C 7C7D 5B50 5407 59C9 59CA
+674D 77F7 79C4 80CF 5470 79ED 8014 8678 7B2B 6893
+91E8 5559 7D2B 6ED3 8A3E 8A3F 699F 6A74 5B57 81EA
+8293 8321 5033 525A 6063 7278 6E0D 7725 7726 80D4
+80FE 6F2C 5528 5B97 5027 7EFC 9A94 582B 5D4F 5D55
+60FE 68D5 7323 8159 847C 6721 6936 5D78 7A2F 7D9C
+7DC3 71A7 7DF5 7FEA 8250 876C 8E28 8E2A 78EB 8C75
+8E64 9A0C 9B03 9A23 9B09 9B37 9BEE 9BFC 9441 603B
+506C 6374 60E3 6121 63D4 6403 50AF 84D7 6460 7DCF
+7E02 71EA 7E3D 936F 93D3 7EB5 662E 75AD 500A 7314
+7882 7CBD 7CC9 7632 7E26 931D 7E31 90B9 9A7A 8BF9
+90F0 966C 63AB 83C6 68F7 68F8 9112 7B83 7DC5 8ACF
+9139 9CB0 9BEB 9EC0 9A36 9F7A 8D71 8D70 9BD0 594F
+63CD 5AB0 79DF 83F9 8445 84A9 5346 8DB3 5352 54EB
+5D12 5D2A 65CF 50B6 7A21 7BA4 8E24 8E3F 955E 93C3
+8BC5 963B 7EC4 4FCE 723C 73C7 7956 7D44 8A5B 977B
+93BA 8B2F 5297 8E9C 945A 8EA6 947D 7E64 7F35 7E82
+7E89 7C6B 7E98 94BB 63DD 6525 539C 6718 55FA 6A36
+87D5 7E97 5D8A 5634 567F 6FE2 74BB 67A0 682C 7D4A
+9154 666C 6700 797D 7F6A 8FA0 917B 855E 9189 5DB5
+6A87 92F7 930A 6A8C 7A5D 6B08 5C0A 5D9F 9075 6A3D
+7E5C 7F47 9D8E 940F 9CDF 9C52 9DF7 50D4 5642 6499
+8B50 6358 928C 6628 79E8 838B 637D 690A 8443 7A13
+7B70 923C 5DE6 4F50 7E53 4F5C 5750 963C 5C9D 5C9E
+600D 4FB3 67DE 795A 80D9 5511 5EA7 888F 505A 8444
+84D9 98F5 7CF3 5497
+__END__
+
+=head1 NAME
+
+Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate;
+ use Unicode::Collate::CJK::Pinyin;
+
+ my $collator = Unicode::Collate->new(
+ overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin
+ );
+
+=head1 DESCRIPTION
+
+C<Unicode::Collate::CJK::Pinyin> provides C<weightPinyin()>,
+that is adequate for C<overrideCJK> of C<Unicode::Collate>
+and makes tailoring of CJK Unified Ideographs in the order
+of CLDR's pinyin ordering.
+
+=head1 CAVEAT
+
+The pinyin ordering includes some characters that are not
+CJK Unified Ideographs and can't utilize C<weightPinyin()>
+for collation. For them, use C<entry> instead.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item CLDR - Unicode Common Locale Data Repository
+
+L<http://cldr.unicode.org/>
+
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Collate::Locale>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm
new file mode 100644
index 00000000000..d5b207dc632
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm
@@ -0,0 +1,1375 @@
+package Unicode::Collate::CJK::Stroke;
+
+use 5.006;
+use strict;
+
+our $VERSION = '0.65';
+
+my %u2p;
+my $wt = 0x8000;
+
+while (<DATA>) {
+ last if /^__END__/;
+ my @c = split;
+ for my $c (@c) {
+ next if !$c;
+ $u2p{hex($c)} = $wt;
+ $wt++;
+ }
+}
+
+sub weightStroke {
+ my $u = shift;
+ return exists $u2p{$u} ? $u2p{$u} : undef;
+}
+
+1;
+__DATA__
+4E00 4E59 4E01 4E03 4E43 4E5D 4E86 4E8C 4EBA 513F
+5165 516B 51E0 5200 5201 529B 5315 5341 535C 53C8
+4E42 4E5C 51F5 531A 5382 4E09 4E0B 4E08 4E0A 4E2B
+4E38 51E1 4E45 4E48 4E5F 4E5E 4E8E 4EA1 5140 5203
+52FA 5343 53C9 53E3 571F 58EB 5915 5927 5973 5B50
+5B51 5B53 5BF8 5C0F 5C22 5C38 5C71 5DDD 5DE5 5DF1
+5DF2 5DF3 5DFE 5E72 5EFE 5F0B 5F13 624D 4E07 4E0C
+4E47 4E8D 56D7 5C6E 5F73 4E11 4E10 4E0D 4E2D 4E30
+4E39 4E4B 5C39 4E88 4E91 4E95 4E92 4E94 4EA2 4EC1
+4EC0 4EC3 4EC6 4EC7 4ECD 4ECA 4ECB 4EC4 5143 5141
+5167 516D 516E 516C 5197 51F6 5206 5207 5208 52FB
+52FE 52FF 5316 5339 5348 5347 5345 535E 5384 53CB
+53CA 53CD 58EC 5929 592B 592A 592D 5B54 5C11 5C24
+5C3A 5C6F 5DF4 5E7B 5EFF 5F14 5F15 5FC3 6208 6236
+624B 624E 652F 6587 6597 65A4 65B9 65E5 66F0 6708
+6728 6B20 6B62 6B79 6BCB 6BD4 6BDB 6C0F 6C34 706B
+722A 7236 723B 7247 7259 725B 72AC 738B 4E0F 5187
+4E0E 4E2E 4E93 4EC2 4EC9 4EC8 5198 52FC 536C 53B9
+5720 5903 592C 5C10 5DFF 65E1 6BB3 6BCC 6C14 723F
+4E19 4E16 4E15 4E14 4E18 4E3B 4E4D 4E4F 4E4E 4EE5
+4ED8 4ED4 4ED5 4ED6 4ED7 4EE3 4EE4 4ED9 4EDE 5145
+5144 5189 518A 51AC 51F9 51FA 51F8 520A 52A0 529F
+5305 5306 5317 531D 4EDF 534A 5349 5361 5360 536F
+536E 53BB 53EF 53E4 53F3 53EC 53EE 53E9 53E8 53FC
+53F8 53F5 53EB 53E6 53EA 53F2 53F1 53F0 53E5 53ED
+53FB 56DB 56DA 5916 592E 5931 5974 5976 5B55 5B83
+5C3C 5DE8 5DE7 5DE6 5E02 5E03 5E73 5E7C 5F01 5F18
+5F17 5FC5 620A 6253 6254 6252 6251 65A5 65E6 672E
+672C 672A 672B 672D 6B63 6BCD 6C11 6C10 6C38 6C41
+6C40 6C3E 72AF 7384 7389 74DC 74E6 7518 751F 7528
+7529 7530 7531 7532 7533 758B 767D 76AE 76BF 76EE
+77DB 77E2 77F3 793A 79BE 7A74 7ACB 4E31 4E3C 4EE8
+4EDC 4EE9 4EE1 4EDD 4EDA 520C 531C 534C 5722 5723
+5917 592F 5B81 5B84 5C12 5C3B 5C74 5C73 5E04 5E80
+5E82 5FC9 6209 6250 6C15 6C36 6C43 6C3F 6C3B 72AE
+72B0 738A 79B8 808A 961E 4E1E 4E1F 4E52 4E53 4E69
+4E99 4EA4 4EA6 4EA5 4EFF 4F09 4F19 4F0A 4F15 4F0D
+4F10 4F11 4F0F 4EF2 4EF6 4EFB 4EF0 4EF3 4EFD 4F01
+4F0B 5149 5147 5146 5148 5168 5171 518D 51B0 5217
+5211 5212 520E 5216 52A3 5308 5321 5320 5370 5371
+5409 540F 540C 540A 5410 540B 5404 5411 540D 5408
+5403 540E 5406 5412 56E0 56DE 56DD 5733 5730 5728
+572D 572C 572F 5729 5919 591A 5937 5938 5984 5978
+5983 597D 5979 5982 5981 5B57 5B58 5B87 5B88 5B85
+5B89 5BFA 5C16 5C79 5DDE 5E06 5E76 5E74 5F0F 5F1B
+5FD9 5FD6 620E 620C 620D 6210 6263 625B 6258 6536
+65E9 65E8 65EC 65ED 66F2 66F3 6709 673D 6734 6731
+6735 6B21 6B64 6B7B 6C16 6C5D 6C57 6C59 6C5F 6C60
+6C50 6C55 6C61 6C5B 6C4D 6C4E 7070 725F 725D 767E
+7AF9 7C73 7CF8 7F36 7F8A 7FBD 8001 8003 800C 8012
+8033 807F 8089 808B 808C 81E3 81EA 81F3 81FC 820C
+821B 821F 826E 8272 827E 866B 8840 884C 8863 897F
+9621 4F0E 4F18 4F2C 4EF5 4F14 4EF1 4F00 4EF7 4F08
+4F1D 4F02 4F05 4F22 4F13 4F04 4EF4 4F12 51B1 5213
+5209 5210 52A6 5322 531F 534D 538A 5407 56E1 56DF
+572E 572A 5734 593C 5980 597C 5985 597B 597E 5977
+597F 5B56 5C15 5C25 5C7C 5C7A 5C7B 5C7E 5DDF 5E75
+5E84 5F02 5F1A 5F74 5FD5 5FD4 5FCF 625C 625E 6264
+6261 6266 6262 6259 6260 625A 6265 65EF 65EE 673E
+6739 6738 673B 673A 673F 673C 6733 6C18 6C46 6C52
+6C5C 6C4F 6C4A 6C54 6C4B 6C4C 7071 725E 72B4 72B5
+738E 752A 767F 7A75 7F51 8278 827C 8280 827D 827F
+864D 897E 9099 9097 9098 909B 9094 9622 9624 9620
+9623 4E32 4EA8 4F4D 4F4F 4F47 4F57 4F5E 4F34 4F5B
+4F55 4F30 4F50 4F51 4F3D 4F3A 4F38 4F43 4F54 4F3C
+4F46 4F63 4F5C 4F60 4F2F 4F4E 4F36 4F59 4F5D 4F48
+4F5A 514C 514B 514D 5175 51B6 51B7 5225 5224 5229
+522A 5228 52AB 52A9 52AA 52AC 5323 5373 5375 541D
+542D 541E 543E 5426 544E 5427 5446 5443 5433 5448
+5442 541B 5429 544A 5439 543B 5438 542E 5435 5436
+5420 543C 5440 5431 542B 541F 542C 56EA 56F0 56E4
+56EB 574A 5751 5740 574D 5747 574E 573E 5750 574F
+573B 58EF 593E 599D 5992 59A8 599E 59A3 5999 5996
+598D 59A4 5993 598A 59A5 5B5D 5B5C 5B5A 5B5B 5B8C
+5B8B 5B8F 5C2C 5C40 5C41 5C3F 5C3E 5C90 5C91 5C94
+5C8C 5DEB 5E0C 5E8F 5E87 5E8A 5EF7 5F04 5F1F 5F64
+5F62 5F77 5F79 5FD8 5FCC 5FD7 5FCD 5FF1 5FEB 5FF8
+5FEA 6212 6211 6284 6297 6296 6280 6276 6289 626D
+628A 627C 627E 6279 6273 6292 626F 6298 626E 6295
+6293 6291 6286 6539 653B 6538 65F1 66F4 675F 674E
+674F 6750 6751 675C 6756 675E 6749 6746 6760 6753
+6757 6B65 6BCF 6C42 6C5E 6C99 6C81 6C88 6C89 6C85
+6C9B 6C6A 6C7A 6C90 6C70 6C8C 6C68 6C96 6C92 6C7D
+6C83 6C72 6C7E 6C74 6C86 6C76 6C8D 6C94 6C98 6C82
+7076 707C 707D 7078 7262 7261 7260 72C4 72C2 7396
+752C 752B 7537 7538 7682 76EF 77E3 79C1 79C0 79BF
+7A76 7CFB 7F55 8096 8093 809D 8098 809B 809A 80B2
+826F 8292 828B 828D 898B 89D2 8A00 8C37 8C46 8C55
+8C9D 8D64 8D70 8DB3 8EAB 8ECA 8F9B 8FB0 8FC2 8FC6
+8FC5 8FC4 5DE1 9091 90A2 90AA 90A6 90A3 9149 91C6
+91CC 9632 962E 9631 962A 962C 4F56 4F3B 4F62 4F49
+4F53 4F64 4F3E 4F67 4F52 4F5F 4F41 4F58 4F2D 4F33
+4F3F 4F61 518F 51B9 521C 521E 5221 52AD 52AE 5309
+5363 5372 538E 538F 5430 5437 542A 5454 5445 5419
+541C 5425 5418 543D 544F 5441 5428 5424 5447 56EE
+56E7 56E5 5741 5745 574C 5749 574B 5752 5906 5940
+59A6 5998 59A0 5997 598E 59A2 5990 598F 59A7 59A1
+5B8E 5B92 5C28 5C2A 5C8D 5C8F 5C88 5C8B 5C89 5C92
+5C8A 5C86 5C93 5C95 5DE0 5E0A 5E0E 5E8B 5E89 5E8C
+5E88 5E8D 5F05 5F1D 5F78 5F76 5FD2 5FD1 5FD0 5FED
+5FE8 5FEE 5FF3 5FE1 5FE4 5FE3 5FFA 5FEF 5FF7 5FFB
+6000 5FF4 623A 6283 628C 628E 628F 6294 6287 6271
+627B 627A 6270 6281 6288 6277 627D 6272 6274 6537
+65F0 65F4 65F3 65F2 65F5 6745 6747 6759 6755 674C
+6748 675D 674D 675A 674B 6BD0 6C19 6C1A 6C78 6C67
+6C6B 6C84 6C8B 6C8F 6C71 6C6F 6C69 6C9A 6C6D 6C87
+6C95 6C9C 6C66 6C73 6C65 6C7B 6C8E 7074 707A 7263
+72BF 72BD 72C3 72C6 72C1 72BA 72C5 7395 7397 7393
+7394 7392 753A 7539 7594 7595 7681 793D 8034 8095
+8099 8090 8092 809C 8290 828F 8285 828E 8291 8293
+828A 8283 8284 8C78 8FC9 8FBF 909F 90A1 90A5 909E
+90A7 90A0 9630 9628 962F 962D 4E26 4E56 4E73 4E8B
+4E9B 4E9E 4EAB 4EAC 4F6F 4F9D 4F8D 4F73 4F7F 4F6C
+4F9B 4F8B 4F86 4F83 4F70 4F75 4F88 4F69 4F7B 4F96
+4F7E 4F8F 4F91 4F7A 5154 5152 5155 5169 5177 5176
+5178 51BD 51FD 523B 5238 5237 523A 5230 522E 5236
+5241 52BE 52BB 5352 5354 5353 5351 5366 5377 5378
+5379 53D6 53D4 53D7 5473 5475 5496 5478 5495 5480
+547B 5477 5484 5492 5486 547C 5490 5471 5476 548C
+549A 5462 5468 548B 547D 548E 56FA 5783 5777 576A
+5769 5761 5766 5764 577C 591C 5949 5947 5948 5944
+5954 59BE 59BB 59D4 59B9 59AE 59D1 59C6 59D0 59CD
+59CB 59D3 59CA 59AF 59B3 59D2 59C5 5B5F 5B64 5B63
+5B97 5B9A 5B98 5B9C 5B99 5B9B 5C1A 5C48 5C45 5C46
+5CB7 5CA1 5CB8 5CA9 5CAB 5CB1 5CB3 5E18 5E1A 5E16
+5E15 5E1B 5E11 5E78 5E9A 5E97 5E9C 5E95 5E96 5EF6
+5F26 5F27 5F29 5F80 5F81 5F7F 5F7C 5FDD 5FE0 5FFD
+5FF5 5FFF 600F 6014 602F 6035 6016 602A 6015 6021
+6027 6029 602B 601B 6216 6215 623F 623E 6240 627F
+62C9 62CC 62C4 62BF 62C2 62B9 62D2 62DB 62AB 62D3
+62D4 62CB 62C8 62A8 62BD 62BC 62D0 62D9 62C7 62CD
+62B5 62DA 62B1 62D8 62D6 62D7 62C6 62AC 62CE 653E
+65A7 65BC 65FA 6614 6613 660C 6606 6602 660E 6600
+660F 6615 660A 6607 670D 670B 676D 678B 6795 6771
+679C 6773 6777 6787 679D 6797 676F 6770 677F 6789
+677E 6790 6775 679A 6793 677C 676A 6772 6B23 6B66
+6B67 6B7F 6C13 6C1B 6CE3 6CE8 6CF3 6CB1 6CCC 6CE5
+6CB3 6CBD 6CBE 6CBC 6CE2 6CAB 6CD5 6CD3 6CB8 6CC4
+6CB9 6CC1 6CAE 6CD7 6CC5 6CF1 6CBF 6CBB 6CE1 6CDB
+6CCA 6CAC 6CEF 6CDC 6CD6 6CE0 7095 708E 7092 708A
+7099 722C 722D 7238 7248 7267 7269 72C0 72CE 72D9
+72D7 72D0 73A9 73A8 739F 73AB 73A5 753D 759D 7599
+759A 7684 76C2 76F2 76F4 77E5 77FD 793E 7940 7941
+79C9 79C8 7A7A 7A79 7AFA 7CFE 7F54 7F8C 7F8B 8005
+80BA 80A5 80A2 80B1 80A1 80AB 80A9 80B4 80AA 80AF
+81E5 81FE 820D 82B3 829D 8299 82AD 82BD 829F 82B9
+82B1 82AC 82A5 82AF 82B8 82A3 82B0 82BE 82B7 864E
+8671 521D 8868 8ECB 8FCE 8FD4 8FD1 90B5 90B8 90B1
+90B6 91C7 91D1 9577 9580 961C 9640 963F 963B 9644
+9642 96B9 96E8 9752 975E 4E33 4F98 4F7C 4F85 4F7D
+4F80 4F87 4F76 4F74 4F89 4F84 4F77 4F4C 4F97 4F6A
+4F9A 4F79 4F81 4F78 4F90 4F9C 4F94 4F9E 4F92 4F82
+4F95 4F6B 4F6E 519E 51BC 51BE 5235 5232 5233 5246
+5231 52BC 530A 530B 533C 5392 5394 5487 547F 5481
+5491 5482 5488 546B 547A 547E 5465 546C 5474 5466
+548D 546F 5461 5460 5498 5463 5467 5464 56F7 56F9
+576F 5772 576D 576B 5771 5770 5776 5780 5775 577B
+5773 5774 5762 5768 577D 590C 5945 59B5 59BA 59CF
+59CE 59B2 59CC 59C1 59B6 59BC 59C3 59D6 59B1 59BD
+59C0 59C8 59B4 59C7 5B62 5B65 5B93 5B95 5C44 5C47
+5CAE 5CA4 5CA0 5CB5 5CAF 5CA8 5CAC 5C9F 5CA3 5CAD
+5CA2 5CAA 5CA7 5C9D 5CA5 5CB6 5CB0 5CA6 5E17 5E14
+5E19 5F28 5F22 5F23 5F24 5F54 5F82 5F7E 5F7D 5FDE
+5FE5 602D 6026 6019 6032 600B 6034 600A 6017 6033
+601A 601E 602C 6022 600D 6010 602E 6013 6011 600C
+6009 601C 6214 623D 62AD 62B4 62D1 62BE 62AA 62B6
+62CA 62AE 62B3 62AF 62BB 62A9 62B0 62B8 653D 65A8
+65BB 6609 65FC 6604 6612 6608 65FB 6603 660B 660D
+6605 65FD 6611 6610 66F6 670A 6785 676C 678E 6792
+6776 677B 6798 6786 6784 6774 678D 678C 677A 679F
+6791 6799 6783 677D 6781 6778 6779 6794 6B25 6B80
+6B7E 6BDE 6C1D 6C93 6CEC 6CEB 6CEE 6CD9 6CB6 6CD4
+6CAD 6CE7 6CB7 6CD0 6CC2 6CBA 6CC3 6CC6 6CED 6CF2
+6CD2 6CDD 6CB4 6C8A 6C9D 6C80 6CDE 6CC0 6D30 6CCD
+6CC7 6CB0 6CF9 6CCF 6CE9 6CD1 7094 7098 7085 7093
+7086 7084 7091 7096 7082 709A 7083 726A 72D6 72CB
+72D8 72C9 72DC 72D2 72D4 72DA 72CC 72D1 73A4 73A1
+73AD 73A6 73A2 73A0 73AC 739D 74DD 74E8 753F 7540
+753E 758C 7598 76AF 76F3 76F1 76F0 76F5 77F8 77FC
+77F9 77FB 77FA 77F7 7942 793F 79C5 7A78 7A7B 7AFB
+7C75 7CFD 8035 808F 80AE 80A3 80B8 80B5 80AD 8220
+82A0 82C0 82AB 829A 8298 829B 82B5 82A7 82AE 82BC
+829E 82BA 82B4 82A8 82A1 82A9 82C2 82A4 82C3 82B6
+82A2 8670 866F 866D 866E 8C56 8FD2 8FCB 8FD3 8FCD
+8FD6 8FD5 8FD7 90B2 90B4 90AF 90B3 90B0 9639 963D
+963C 963A 9643 4E9F 4EAD 4EAE 4FE1 4FB5 4FAF 4FBF
+4FE0 4FD1 4FCF 4FDD 4FC3 4FB6 4FD8 4FDF 4FCA 4FD7
+4FAE 4FD0 4FC4 4FC2 4FDA 4FCE 4FDE 4FB7 5157 5192
+5191 51A0 524E 5243 524A 524D 524C 524B 5247 52C7
+52C9 52C3 52C1 530D 5357 537B 539A 53DB 54AC 54C0
+54A8 54CE 54C9 54B8 54A6 54B3 54C7 54C2 54BD 54AA
+54C1 54C4 54C8 54AF 54AB 54B1 54BB 54A9 54A7 54BF
+56FF 5782 578B 57A0 57A3 57A2 57CE 57AE 5793 5955
+5951 594F 594E 5950 59DC 59D8 59FF 59E3 59E8 5A03
+59E5 59EA 59DA 59E6 5A01 59FB 5B69 5BA3 5BA6 5BA4
+5BA2 5BA5 5C01 5C4E 5C4F 5C4D 5C4B 5CD9 5CD2 5DF7
+5E1D 5E25 5E1F 5E7D 5EA0 5EA6 5EFA 5F08 5F2D 5F65
+5F88 5F85 5F8A 5F8B 5F87 5F8C 5F89 6012 601D 6020
+6025 600E 6028 604D 6070 6068 6062 6046 6043 606C
+606B 606A 6064 6241 62DC 6316 6309 62FC 62ED 6301
+62EE 62FD 6307 62F1 62F7 62EF 62EC 62FE 62F4 6311
+6302 653F 6545 65AB 65BD 65E2 6625 662D 6620 6627
+662F 661F 6628 6631 6624 66F7 67FF 67D3 67F1 67D4
+67D0 67EC 67B6 67AF 67F5 67E9 67EF 67C4 67D1 67B4
+67DA 67E5 67B8 67CF 67DE 67F3 67B0 67D9 67E2 67DD
+67D2 6B6A 6B83 6B86 6BB5 6BD2 6BD7 6C1F 6CC9 6D0B
+6D32 6D2A 6D41 6D25 6D0C 6D31 6D1E 6D17 6D3B 6D3D
+6D3E 6D36 6D1B 6CF5 6D39 6D27 6D38 6D29 6D2E 6D35
+6D0E 6D2B 70AB 70BA 70B3 70AC 70AF 70AD 70B8 70AE
+70A4 7230 7272 726F 7274 72E9 72E0 72E1 73B7 73CA
+73BB 73B2 73CD 73C0 73B3 751A 752D 754F 754C 754E
+754B 75AB 75A4 75A5 75A2 75A3 7678 7686 7687 7688
+76C8 76C6 76C3 76C5 7701 76F9 76F8 7709 770B 76FE
+76FC 7707 77DC 7802 7814 780C 780D 7946 7949 7948
+7947 79B9 79BA 79D1 79D2 79CB 7A7F 7A81 7AFF 7AFD
+7C7D 7D02 7D05 7D00 7D09 7D07 7D04 7D06 7F38 7F8E
+7FBF 8004 8010 800D 8011 8036 80D6 80E5 80DA 80C3
+80C4 80CC 80E1 80DB 80CE 80DE 80E4 80DD 81F4 8222
+82E7 8303 8305 82E3 82DB 82E6 8304 82E5 8302 8309
+82D2 82D7 82F1 8301 82DC 82D4 82D1 82DE 82D3 82DF
+82EF 8306 8650 8679 867B 867A 884D 886B 8981 89D4
+8A08 8A02 8A03 8C9E 8CA0 8D74 8D73 8DB4 8ECD 8ECC
+8FF0 8FE6 8FE2 8FEA 8FE5 8FED 8FEB 8FE4 8FE8 90CA
+90CE 90C1 90C3 914B 914A 91CD 9582 9650 964B 964C
+964D 9762 9769 97CB 97ED 97F3 9801 98A8 98DB 98DF
+9996 9999 4FCD 4FC5 4FD3 4FB2 4FC9 4FCB 4FC1 4FD4
+4FDC 4FD9 4FBB 4FB3 4FDB 4FC7 4FD6 4FBA 4FC0 4FB9
+4FEC 5244 5249 52C0 52C2 533D 537C 5397 5396 5399
+5398 54BA 54A1 54AD 54A5 54CF 54C3 830D 54B7 54AE
+54D6 54B6 54C5 54C6 54A0 5470 54BC 54A2 54BE 5472
+54DE 54B0 57B5 579E 579F 57A4 578C 5797 579D 579B
+5794 5798 578F 5799 57A5 579A 5795 58F4 590D 5953
+59E1 59DE 59EE 5A00 59F1 59DD 59FA 59FD 59FC 59F6
+59E4 59F2 59F7 59DB 59E9 59F3 59F5 59E0 59FE 59F4
+59ED 5BA8 5C4C 5CD0 5CD8 5CCC 5CD7 5CCB 5CDB 5CDE
+5CDA 5CC9 5CC7 5CCA 5CD6 5CD3 5CD4 5CCF 5CC8 5CC6
+5CCE 5CDF 5CF8 5DF9 5E21 5E22 5E23 5E20 5E24 5EB0
+5EA4 5EA2 5E9B 5EA3 5EA5 5F07 5F2E 5F56 5F86 6037
+6039 6054 6072 605E 6045 6053 6047 6049 605B 604C
+6040 6042 605F 6024 6044 6058 6066 606E 6242 6243
+62CF 630D 630B 62F5 630E 6303 62EB 62F9 630F 630C
+62F8 62F6 6300 6313 6314 62FA 6315 62FB 62F0 6541
+6543 65AA 65BF 6636 6621 6632 6635 661C 6626 6622
+6633 662B 663A 661D 6634 6639 662E 670F 6710 67C1
+67F2 67C8 67BA 67DC 67BB 67F8 67D8 67C0 67B7 67C5
+67EB 67E4 67DF 67B5 67CD 67B3 67F7 67F6 67EE 67E3
+67C2 67B9 67CE 67E7 67F0 67B2 67FC 67C6 67ED 67CC
+67AE 67E6 67DB 67FA 67C9 67CA 67C3 67EA 67CB 6B28
+6B82 6B84 6BB6 6BD6 6BD8 6BE0 6C20 6C21 6D28 6D34
+6D2D 6D1F 6D3C 6D3F 6D12 6D0A 6CDA 6D33 6D04 6D19
+6D3A 6D1A 6D11 6D00 6D1D 6D42 6D01 6D18 6D37 6D03
+6D0F 6D40 6D07 6D20 6D2C 6D08 6D22 6D09 6D10 70B7
+709F 70BE 70B1 70B0 70A1 70B4 70B5 70A9 7241 7249
+724A 726C 7270 7273 726E 72CA 72E4 72E8 72EB 72DF
+72EA 72E6 72E3 7385 73CC 73C2 73C8 73C5 73B9 73B6
+73B5 73B4 73EB 73BF 73C7 73BE 73C3 73C6 73B8 73CB
+74EC 74EE 752E 7547 7548 75A7 75AA 7679 76C4 7708
+7703 7704 7705 770A 76F7 76FB 76FA 77E7 77E8 7806
+7811 7812 7805 7810 780F 780E 7809 7803 7813 794A
+794C 794B 7945 7944 79D5 79CD 79CF 79D6 79CE 7A80
+7A7E 7AD1 7B00 7B01 7C7A 7C78 7C79 7C7F 7C80 7C81
+7D03 7D08 7D01 7F58 7F91 7F8D 7FBE 8007 800E 800F
+8014 8037 80D8 80C7 80E0 80D1 80C8 80C2 80D0 80C5
+80E3 80D9 80DC 80CA 80D5 80C9 80CF 80D7 80E6 80CD
+81FF 8221 8294 82D9 82FE 82F9 8307 82E8 8300 82D5
+833A 82EB 82D6 82F4 82EC 82E1 82F2 82F5 830C 82FB
+82F6 82F0 82EA 82E4 82E0 82FA 82F3 82ED 8677 8674
+867C 8673 8841 884E 8867 886A 8869 89D3 8A04 8A07
+8D72 8FE3 8FE1 8FEE 8FE0 90F1 90BD 90BF 90D5 90C5
+90BE 90C7 90CB 90C8 91D4 91D3 9654 964F 9651 9653
+964A 964E 6052 4E58 4EB3 500C 500D 5023 4FEF 5026
+5025 4FF8 5029 5016 5006 503C 501F 501A 5012 5011
+4FFA 5000 5014 5028 4FF1 5021 500B 5019 5018 4FF3
+4FEE 502D 502A 4FFE 502B 5009 517C 51A4 51A5 51A2
+51CD 51CC 51C6 51CB 5256 525C 5254 525B 525D 532A
+537F 539F 539D 53DF 54E8 5510 5501 5537 54FC 54E5
+54F2 5506 54FA 5514 54E9 54ED 54E1 5509 54EE 54EA
+54E6 5527 5507 54FD 550F 5703 5704 57C2 57D4 57CB
+57C3 5809 590F 5957 5958 595A 5A11 5A18 5A1C 5A1F
+5A1B 5A13 59EC 5A20 5A23 5A29 5A25 5A0C 5A09 5B6B
+5C58 5BB0 5BB3 5BB6 5BB4 5BAE 5BB5 5BB9 5BB8 5C04
+5C51 5C55 5C50 5CED 5CFD 5CFB 5CEA 5CE8 5CF0 5CF6
+5D01 5CF4 5DEE 5E2D 5E2B 5EAB 5EAD 5EA7 5F31 5F92
+5F91 5F90 6059 6063 6065 6050 6055 606D 6069 606F
+6084 609F 609A 608D 6094 608C 6085 6096 6247 62F3
+6308 62FF 634E 633E 632F 6355 6342 6346 634F 6349
+633A 6350 633D 632A 632B 6328 634D 634C 6548 6549
+6599 65C1 65C5 6642 6649 664F 6643 6652 664C 6645
+6641 66F8 6714 6715 6717 6821 6838 6848 6846 6853
+6839 6842 6854 6829 68B3 6817 684C 6851 683D 67F4
+6850 6840 683C 6843 682A 6845 6813 6818 6841 6B8A
+6B89 6BB7 6C23 6C27 6C28 6C26 6C24 6CF0 6D6A 6D95
+6D88 6D87 6D66 6D78 6D77 6D59 6D93 6D6C 6D89 6D6E
+6D5A 6D74 6D69 6D8C 6D8A 6D79 6D85 6D65 6D94 70CA
+70D8 70E4 70D9 70C8 70CF 7239 7279 72FC 72F9 72FD
+72F8 72F7 7386 73ED 7409 73EE 73E0 73EA 73DE 7554
+755D 755C 755A 7559 75BE 75C5 75C7 75B2 75B3 75BD
+75BC 75B9 75C2 75B8 768B 76B0 76CA 76CD 76CE 7729
+771F 7720 7728 77E9 7830 7827 7838 781D 7834 7837
+7825 782D 7820 781F 7832 7955 7950 7960 795F 7956
+795E 795D 7957 795A 79E4 79E3 79E7 79DF 79E6 79E9
+79D8 7A84 7A88 7AD9 7B06 7B11 7C89 7D21 7D17 7D0B
+7D0A 7D20 7D22 7D14 7D10 7D15 7D1A 7D1C 7D0D 7D19
+7D1B 7F3A 7F5F 7F94 7FC5 7FC1 8006 8018 8015 8019
+8017 803D 803F 80F1 8102 80F0 8105 80ED 80F4 8106
+80F8 80F3 8108 80FD 810A 80FC 80EF 81ED 81EC 8200
+8210 822A 822B 8228 822C 82BB 832B 8352 8354 834A
+8338 8350 8349 8335 8334 834F 8332 8339 8336 8317
+8340 8331 8328 8343 8654 868A 86AA 8693 86A4 86A9
+868C 86A3 869C 8870 8877 8881 8882 887D 8879 8A18
+8A10 8A0E 8A0C 8A15 8A0A 8A17 8A13 8A16 8A0F 8A11
+8C48 8C7A 8C79 8CA1 8CA2 8D77 8EAC 8ED2 8ED4 8ECF
+8FB1 9001 9006 8FF7 9000 8FFA 8FF4 9003 8FFD 9005
+8FF8 9095 90E1 90DD 90E2 9152 914D 914C 91D8 91DD
+91D7 91DC 91D9 9583 9662 9663 9661 965B 965D 9664
+9658 965E 96BB 98E2 99AC 9AA8 9AD8 9B25 9B32 9B3C
+501E 5005 5007 5013 5022 5030 501B 4FF5 4FF4 5033
+5037 502C 4FF6 4FF7 5017 501C 5020 5027 5035 502F
+5031 500E 515A 5194 5193 51CA 51C4 51C5 51C8 51CE
+5261 525A 5252 525E 525F 5255 5262 52CD 530E 539E
+5526 54E2 5517 5512 54E7 54F3 54E4 551A 54FF 5504
+5508 54EB 5511 5505 54F1 550A 54FB 54F7 54F8 54E0
+550E 5503 550B 5701 5702 57CC 5832 57D5 57D2 57BA
+57C6 57BD 57BC 57B8 57B6 57BF 57C7 57D0 57B9 57C1
+590E 594A 5A19 5A16 5A2D 5A2E 5A15 5A0F 5A17 5A0A
+5A1E 5A33 5B6C 5BA7 5BAD 5BAC 5C03 5C56 5C54 5CEC
+5CFF 5CEE 5CF1 5CF7 5D00 5CF9 5E29 5E28 5EA8 5EAE
+5EAA 5EAC 5F33 5F30 5F67 605D 605A 6067 6041 60A2
+6088 6080 6092 6081 609D 6083 6095 609B 6097 6087
+609C 608E 6219 6246 62F2 6310 6356 632C 6344 6345
+6336 6343 63E4 6339 634B 634A 633C 6329 6341 6334
+6358 6354 6359 632D 6347 6333 635A 6351 6338 6357
+6340 6348 654A 6546 65C6 65C3 65C4 65C2 664A 665F
+6647 6651 6712 6713 681F 681A 6849 6832 6833 683B
+684B 684F 6816 6831 681C 6835 682B 682D 682F 684E
+6844 6834 681D 6812 6814 6826 6828 682E 684D 683A
+6825 6820 6B2C 6B2F 6B2D 6B31 6B34 6B6D 8082 6B88
+6BE6 6BE4 6BE8 6BE3 6BE2 6BE7 6C25 6D7A 6D63 6D64
+6D76 6D0D 6D61 6D92 6D58 6D62 6D6D 6D6F 6D91 6D8D
+6DEF 6D7F 6D86 6D5E 6D67 6D60 6D97 6D70 6D7C 6D5F
+6D82 6D98 6D2F 6D68 6D8B 6D7E 6D80 6D84 6D16 6D83
+6D7B 6D7D 6D75 6D90 70DC 70D3 70D1 70DD 70CB 7F39
+70E2 70D7 70D2 70DE 70E0 70D4 70CD 70C5 70C6 70C7
+70DA 70CE 70E1 7242 7278 7277 7276 7300 72FA 72F4
+72FE 72F6 72F3 72FB 7301 73D3 73D9 73E5 73D6 73BC
+73E7 73E3 73E9 73DC 73D2 73DB 73D4 73DD 73DA 73D7
+73D8 73E8 74DE 74DF 74F4 74F5 7521 755B 755F 75B0
+75C1 75BB 75C4 75C0 75BF 75B6 75BA 768A 76C9 771D
+771B 7710 7713 7712 7723 7711 7715 7719 771A 7722
+7727 7823 782C 7822 7835 782F 7828 782E 782B 7821
+7829 7833 782A 7831 7954 795B 794F 795C 7953 7952
+7951 79EB 79EC 79E0 79EE 79ED 79EA 79DC 79DE 79DD
+7A86 7A89 7A85 7A8B 7A8C 7A8A 7A87 7AD8 7B10 7B04
+7B13 7B05 7B0F 7B08 7B0A 7B0E 7B09 7B12 7C84 7C91
+7C8A 7C8C 7C88 7C8D 7C85 7D1E 7D1D 7D11 7D0E 7D18
+7D16 7D13 7D1F 7D12 7D0F 7D0C 7F5C 7F61 7F5E 7F60
+7F5D 7F5B 7F96 7F92 7FC3 7FC2 7FC0 8016 803E 8039
+80FA 80F2 80F9 80F5 8101 80FB 8100 8201 822F 8225
+8333 832D 8344 8319 8351 8325 8356 833F 8341 8326
+831C 8322 8342 834E 831B 832A 8308 833C 834D 8316
+8324 8320 8337 832F 8329 8347 8345 834C 8353 831E
+832C 834B 8327 8348 8653 8652 86A2 86A8 8696 868D
+8691 869E 8687 8697 8686 868B 869A 8685 86A5 8699
+86A1 86A7 8695 8698 868E 869D 8690 8694 8843 8844
+886D 8875 8876 8872 8880 8871 887F 886F 8883 887E
+8874 887C 8A12 8C47 8C57 8C7B 8CA4 8CA3 8D76 8D78
+8DB5 8DB7 8DB6 8ED1 8ED3 8FFE 8FF5 9002 8FFF 8FFB
+9004 8FFC 8FF6 90D6 90E0 90D9 90DA 90E3 90DF 90E5
+90D8 90DB 90D7 90DC 90E4 9150 914E 914F 91D5 91E2
+91DA 965C 965F 96BC 98E3 9ADF 9B2F 4E7E 507A 507D
+505C 5047 5043 504C 505A 5049 5065 5076 504E 5055
+5075 5074 5077 504F 500F 506F 506D 515C 5195 51F0
+526A 526F 52D2 52D9 52D8 52D5 5310 530F 5319 533F
+5340 533E 53C3 66FC 5546 556A 5566 5544 555E 5561
+5543 554A 5531 5556 554F 5555 552F 5564 5538 552E
+555C 552C 5563 5533 5541 5557 5708 570B 5709 57DF
+5805 580A 5806 57E0 57E4 57FA 5802 5835 57F7 57F9
+5920 5962 5A36 5A41 5A49 5A66 5A6A 5A40 5A3C 5A62
+5A5A 5A46 5A4A 5B70 5BC7 5BC5 5BC4 5BC2 5BBF 5BC6
+5C09 5C08 5C07 5C60 5C5C 5C5D 5D07 5D06 5D0E 5D1B
+5D16 5D22 5D11 5D29 5D14 5D19 5D24 5D27 5D17 5DE2
+5E38 5E36 5E33 5E37 5EB7 5EB8 5EB6 5EB5 5EBE 5F35
+5F37 5F57 5F6C 5F69 5F6B 5F97 5F99 5F9E 5F98 5FA1
+5FA0 5F9C 607F 60A3 6089 60A0 60A8 60CB 60B4 60E6
+60BD 60C5 60BB 60B5 60DC 60BC 60D8 60D5 60C6 60DF
+60B8 60DA 60C7 621A 621B 6248 63A0 63A7 6372 6396
+63A2 63A5 6377 6367 6398 63AA 6371 63A9 6389 6383
+639B 636B 63A8 6384 6388 6399 63A1 63AC 6392 638F
+6380 637B 6369 6368 637A 655D 6556 6551 6559 6557
+555F 654F 6558 6555 6554 659C 659B 65AC 65CF 65CB
+65CC 65CE 665D 665A 6664 6668 6666 665E 66F9 52D7
+671B 6881 68AF 68A2 6893 68B5 687F 6876 68B1 68A7
+6897 68B0 6883 68C4 68AD 6886 6885 6894 689D 68A8
+689F 68A1 6882 6B32 6BBA 6BEB 6BEC 6C2B 6D8E 6DBC
+6DF3 6DD9 6DB2 6DE1 6DCC 6DE4 6DFB 6DFA 6E05 6DC7
+6DCB 6DAF 6DD1 6DAE 6DDE 6DF9 6DB8 6DF7 6DF5 6DC5
+6DD2 6E1A 6DB5 6DDA 6DEB 6DD8 6DEA 6DF1 6DEE 6DE8
+6DC6 6DC4 6DAA 6DEC 6DBF 6DE6 70F9 7109 710A 70FD
+70EF 723D 727D 7281 731C 731B 7316 7313 7319 7387
+7405 740A 7403 7406 73FE 740D 74E0 74F6 74F7 751C
+7522 7565 7566 7562 7570 758F 75D4 75D5 75B5 75CA
+75CD 768E 76D4 76D2 76DB 7737 773E 773C 7736 7738
+773A 786B 7843 784E 7965 7968 796D 79FB 7A92 7A95
+7B20 7B28 7B1B 7B2C 7B26 7B19 7B1E 7B2E 7C92 7C97
+7C95 7D46 7D43 7D71 7D2E 7D39 7D3C 7D40 7D30 7D33
+7D44 7D2F 7D42 7D32 7D31 7F3D 7F9E 7F9A 7FCC 7FCE
+7FD2 801C 804A 8046 812F 8116 8123 812B 8129 8130
+8124 8202 8235 8237 8236 8239 838E 839E 8398 8378
+83A2 8396 83BD 83AB 8392 838A 8393 8389 83A0 8377
+837B 837C 8386 83A7 8655 5F6A 86C7 86C0 86B6 86C4
+86B5 86C6 86CB 86B1 86AF 86C9 8853 889E 8888 88AB
+8892 8896 888D 888B 8993 898F 8A2A 8A1D 8A23 8A25
+8A31 8A2D 8A1F 8A1B 8A22 8C49 8C5A 8CA9 8CAC 8CAB
+8CA8 8CAA 8CA7 8D67 8D66 8DBE 8DBA 8EDB 8EDF 9019
+900D 901A 9017 9023 901F 901D 9010 9015 901E 9020
+900F 9022 9016 901B 9014 90E8 90ED 90FD 9157 91CE
+91F5 91E6 91E3 91E7 91ED 91E9 9589 966A 9675 9673
+9678 9670 9674 9676 9677 966C 96C0 96EA 96E9 7AE0
+7ADF 9802 9803 9B5A 9CE5 9E75 9E7F 9EA5 9EBB 4E7F
+5070 506A 5061 505E 5060 5053 504B 505D 5072 5048
+504D 5041 505B 504A 5062 5015 5045 505F 5069 506B
+5063 5064 5046 5040 506E 5073 5057 5051 51D0 526B
+526D 526C 526E 52D6 52D3 532D 539C 5575 5576 553C
+554D 5550 5534 552A 5551 5562 5536 5535 5530 5552
+5545 550C 5532 5565 554E 5539 5548 552D 553B 5540
+554B 570A 5707 57FB 5814 57E2 57F6 57DC 57F4 5800
+57ED 57FD 5808 57F8 580B 57F3 57CF 5807 57EE 57E3
+57F2 57E5 57EC 57E1 580E 57FC 5810 57E7 5801 580C
+57F1 57E9 57F0 580D 5804 595C 5A60 5A58 5A55 5A67
+5A5E 5A38 5A35 5A6D 5A50 5A5F 5A65 5A6C 5A53 5A64
+5A57 5A43 5A5D 5A52 5A44 5A5B 5A48 5A8E 5A3E 5A4D
+5A39 5A4C 5A70 5A69 5A47 5A51 5A56 5A42 5A5C 5B72
+5B6E 5BC1 5BC0 5C59 5D1E 5D0B 5D1D 5D1A 5D20 5D0C
+5D28 5D0D 5D26 5D25 5D0F 5D30 5D12 5D23 5D1F 5D2E
+5E3E 5E34 5EB1 5EB4 5EB9 5EB2 5EB3 5F36 5F38 5F9B
+5F96 5F9F 608A 6090 6086 60BE 60B0 60BA 60D3 60D4
+60CF 60E4 60D9 60DD 60C8 60B1 60DB 60B7 60CA 60BF
+60C3 60CD 60C0 6332 6365 638A 6382 637D 63BD 639E
+63AD 639D 6397 63AB 638E 636F 6387 6390 636E 63AF
+6375 639C 636D 63AE 637C 63A4 633B 639F 6378 6385
+6381 6391 638D 6370 6553 65CD 6665 6661 665B 6659
+665C 6662 6718 6879 6887 6890 689C 686D 686E 68AE
+68AB 6956 686F 68A3 68AC 68A9 6875 6874 68B2 688F
+6877 6892 687C 686B 6872 68AA 6880 6871 687E 689B
+6896 688B 68A0 6889 68A4 6878 687B 6891 688C 688A
+687D 6B36 6B33 6B37 6B38 6B91 6B8F 6B8D 6B8E 6B8C
+6C2A 6DC0 6DAB 6DB4 6DB3 6E74 6DAC 6DE9 6DE2 6DB7
+6DF6 6DD4 6E00 6DC8 6DE0 6DDF 6DD6 6DBE 6DE5 6DDC
+6DDD 6DDB 6DF4 6DCA 6DBD 6DED 6DF0 6DBA 6DD5 6DC2
+6DCF 6DC9 6DD0 6DF2 6DD3 6DFD 6DD7 6DCD 6DE3 6DBB
+70FA 710D 70F7 7117 70F4 710C 70F0 7104 70F3 7110
+70FC 70FF 7106 7113 7100 70F8 70F6 710B 7102 710E
+727E 727B 727C 727F 731D 7317 7307 7311 7318 730A
+7308 72FF 730F 731E 7388 73F6 73F8 73F5 7404 7401
+73FD 7407 7400 73FA 73FC 73FF 740C 740B 73F4 7408
+7564 7563 75CE 75D2 75CF 75CB 75CC 75D1 75D0 768F
+7689 76D3 7739 772F 772D 7731 7732 7734 7733 773D
+7725 773B 7735 7848 7852 7849 784D 784A 784C 7826
+7845 7850 7964 7967 7969 796A 7963 796B 7961 79BB
+79FA 79F8 79F6 79F7 7A8F 7A94 7A90 7B35 7B47 7B34
+7B25 7B30 7B22 7B24 7B33 7B18 7B2A 7B1D 7B31 7B2B
+7B2D 7B2F 7B32 7B38 7B1A 7B23 7C94 7C98 7C96 7CA3
+7D35 7D3D 7D38 7D36 7D3A 7D45 7D2C 7D29 7D41 7D47
+7D3E 7D3F 7D4A 7D3B 7D28 7F63 7F95 7F9C 7F9D 7F9B
+7FCA 7FCB 7FCD 7FD0 7FD1 7FC7 7FCF 7FC9 801F 801E
+801B 8047 8043 8048 8118 8125 8119 811B 812D 811F
+812C 811E 8121 8115 8127 811D 8122 8211 8238 8233
+823A 8234 8232 8274 8390 83A3 83A8 838D 837A 8373
+83A4 8374 838F 8381 8395 8399 8375 8394 83A9 837D
+8383 838C 839D 839B 83AA 838B 837E 83A5 83AF 8388
+8397 83B0 837F 83A6 8387 83AE 8376 8659 8656 86BF
+86B7 86C2 86C1 86C5 86BA 86B0 86C8 86B9 86B3 86B8
+86CC 86B4 86BB 86BC 86C3 86BD 86BE 8852 8889 8895
+88A8 88A2 88AA 889A 8891 88A1 889F 8898 88A7 8899
+889B 8897 88A4 88AC 888C 8893 888E 8982 89D6 89D9
+89D5 8A30 8A27 8A2C 8A1E 8C39 8C3B 8C5C 8C5D 8C7D
+8CA5 8D7D 8D7B 8D79 8DBC 8DC2 8DB9 8DBF 8DC1 8ED8
+8EDE 8EDD 8EDC 8ED7 8EE0 8EE1 9024 900B 9011 901C
+900C 9021 90EF 90EA 90F0 90F4 90F2 90F3 90D4 90EB
+90EC 90E9 9156 9158 915A 9153 9155 91EC 91F4 91F1
+91F3 91F8 91E4 91F9 91EA 91EB 91F7 91E8 91EE 957A
+9586 9588 967C 966D 966B 9671 966F 96BF 976A 9804
+98E5 9997 50A2 508D 5085 5099 5091 5080 5096 5098
+509A 6700 51F1 5272 5274 5275 5269 52DE 52DD 52DB
+535A 53A5 557B 5580 55A7 557C 558A 559D 5598 5582
+559C 55AA 5594 5587 558B 5583 55B3 55AE 559F 553E
+55B2 559A 55BB 55AC 55B1 557E 5589 55AB 5599 570D
+582F 582A 5834 5824 5830 5831 5821 581D 5820 58F9
+58FA 5960 5A77 5A9A 5A7F 5A92 5A9B 5AA7 5B73 5B71
+5BD2 5BCC 5BD3 5BD0 5C0A 5C0B 5C31 5D4C 5D50 5D34
+5D47 5DFD 5E45 5E3D 5E40 5E43 5E7E 5ECA 5EC1 5EC2
+5EC4 5F3C 5F6D 5FA9 5FAA 5FA8 60D1 60E1 60B2 60B6
+60E0 611C 6123 60FA 6115 60F0 60FB 60F4 6168 60F1
+610E 60F6 6109 6100 6112 621F 6249 63A3 638C 63CF
+63C0 63E9 63C9 63C6 63CD 63D2 63E3 63D0 63E1 63D6
+63ED 63EE 6376 63F4 63EA 63DB 6452 63DA 63F9 655E
+6566 6562 6563 6591 6590 65AF 666E 6670 6674 6676
+666F 6691 667A 667E 6677 66FE 66FF 671F 671D 68FA
+68D5 68E0 68D8 68D7 6905 68DF 68F5 68EE 68E7 68F9
+68D2 68F2 68E3 68CB 68CD 690D 6912 690E 68C9 68DA
+696E 68FB 6B3E 6B3A 6B3D 6B98 6B96 6BBC 6BEF 6C2E
+6C2F 6C2C 6E2F 6E38 6E54 6E21 6E32 6E67 6E4A 6E20
+6E25 6E23 6E1B 6E5B 6E58 6E24 6E56 6E6E 6E2D 6E26
+6E6F 6E34 6E4D 6E3A 6E2C 6E43 6E1D 6E3E 6ECB 6E89
+6E19 6E4E 6E63 6E44 6E72 6E69 6E5F 7119 711A 7126
+7130 7121 7136 716E 711C 724C 7284 7280 7336 7325
+7334 7329 743A 742A 7433 7422 7425 7435 7436 7434
+742F 741B 7426 7428 7525 7526 756B 756A 75E2 75DB
+75E3 75D9 75D8 75DE 75E0 767B 767C 7696 7693 76B4
+76DC 774F 77ED 785D 786C 786F 7A0D 7A08 7A0B 7A05
+7A00 7A98 7A97 7A96 7AE5 7AE3 7B49 7B56 7B46 7B50
+7B52 7B54 7B4D 7B4B 7B4F 7B51 7C9F 7CA5 7D5E 7D50
+7D68 7D55 7D2B 7D6E 7D72 7D61 7D66 7D62 7D70 7D73
+5584 7FD4 7FD5 800B 8052 8085 8155 8154 814B 8151
+814E 8139 8146 813E 814C 8153 8174 8212 821C 83E9
+8403 83F8 840D 83E0 83C5 840B 83C1 83EF 83F1 83F4
+8457 840A 83F0 840C 83CC 83FD 83F2 83CA 8438 840E
+8404 83DC 8407 83D4 83DF 865B 86DF 86D9 86ED 86D4
+86DB 86E4 86D0 86DE 8857 88C1 88C2 88B1 8983 8996
+8A3B 8A60 8A55 8A5E 8A3C 8A41 8A54 8A5B 8A50 8A46
+8A34 8A3A 8A36 8A56 8C61 8C82 8CAF 8CBC 8CB3 8CBD
+8CC1 8CBB 8CC0 8CB4 8CB7 8CB6 8CBF 8CB8 8D8A 8D85
+8D81 8DCE 8DDD 8DCB 8DDA 8DD1 8DCC 8DDB 8DC6 8EFB
+8EF8 8EFC 8F9C 902E 9035 9031 9038 9032 9036 9102
+90F5 9109 90FE 9163 9165 91CF 9214 9215 9223 9209
+921E 920D 9210 9207 9211 9594 958F 958B 9591 9593
+9592 958E 968A 968E 968B 967D 9685 9686 968D 9672
+9684 96C1 96C5 96C4 96C6 96C7 96EF 96F2 97CC 9805
+9806 9808 98E7 98EA 98EF 98E9 98F2 98ED 99AE 99AD
+9EC3 9ECD 9ED1 839A 509B 5095 5094 509E 508B 50A3
+5083 508C 508E 509D 5068 509C 5092 5082 5087 515F
+51D4 5312 5311 53A4 53A7 5591 55A8 55A5 55AD 5577
+5645 55A2 5593 5588 558F 55B5 5581 55A3 5592 55A4
+557D 558C 55A6 557F 5595 55A1 558E 570C 5829 5837
+5819 581E 5827 5823 5828 57F5 5848 5825 581C 581B
+5833 583F 5836 582E 5839 5838 582D 582C 583B 5961
+5AAF 5A94 5A9F 5A7A 5AA2 5A9E 5A78 5AA6 5A7C 5AA5
+5AAC 5A95 5AAE 5A37 5A84 5A8A 5A97 5A83 5A8B 5AA9
+5A7B 5A7D 5A8C 5A9C 5A8F 5A93 5A9D 5BEA 5BCD 5BCB
+5BD4 5BD1 5BCA 5BCE 5C0C 5C30 5D37 5D43 5D6B 5D41
+5D4B 5D3F 5D35 5D51 5D4E 5D55 5D33 5D3A 5D52 5D3D
+5D31 5D59 5D42 5D39 5D49 5D38 5D3C 5D32 5D36 5D40
+5D45 5E44 5E41 5F58 5FA6 5FA5 5FAB 60C9 60B9 60CC
+60E2 60CE 60C4 6114 60F2 610A 6116 6105 60F5 6113
+60F8 60FC 60FE 60C1 6103 6118 611D 6110 60FF 6104
+610B 624A 6394 63B1 63B0 63CE 63E5 63E8 63EF 63C3
+649D 63F3 63CA 63E0 63F6 63D5 63F2 63F5 6461 63DF
+63BE 63DD 63DC 63C4 63D8 63D3 63C2 63C7 63CC 63CB
+63C8 63F0 63D7 63D9 6532 6567 656A 6564 655C 6568
+6565 658C 659D 659E 65AE 65D0 65D2 667C 666C 667B
+6680 6671 6679 666A 6672 6701 690C 68D3 6904 68DC
+692A 68EC 68EA 68F1 690F 68D6 68F7 68EB 68E4 68F6
+6913 6910 68F3 68E1 6907 68CC 6908 6970 68B4 6911
+68EF 68C6 6914 68F8 68D0 68FD 68FC 68E8 690B 690A
+6917 68CE 68C8 68DD 68DE 68E6 68F4 68D1 6906 68D4
+68E9 6915 6925 68C7 6B39 6B3B 6B3F 6B3C 6B94 6B97
+6B99 6B95 6BBD 6BF0 6BF2 6BF3 6C30 6DFC 6E46 6E47
+6E1F 6E49 6E88 6E3C 6E3D 6E45 6E62 6E2B 6E3F 6E41
+6E5D 6E73 6E1C 6E33 6E4B 6E40 6E51 6E3B 6E03 6E2E
+6E5E 6E68 6E5C 6E61 6E31 6E28 6E60 6E71 6E6B 6E39
+6E22 6E30 6E53 6E65 6E27 6E78 6E64 6E77 6E55 6E79
+6E52 6E66 6E35 6E36 6E5A 7120 711E 712F 70FB 712E
+7131 7123 7125 7122 7132 711F 7128 713A 711B 724B
+725A 7288 7289 7286 7285 728B 7312 730B 7330 7322
+7331 7333 7327 7332 732D 7326 7323 7335 730C 742E
+742C 7430 742B 7416 741A 7421 742D 7431 7424 7423
+741D 7429 7420 7432 74FB 752F 756F 756C 75E7 75DA
+75E1 75E6 75DD 75DF 75E4 75D7 7695 7692 76DA 7746
+7747 7744 774D 7745 774A 774E 774B 774C 77DE 77EC
+7860 7864 7865 785C 786D 7871 786A 786E 7870 7869
+7868 785E 7862 7974 7973 7972 7970 7A02 7A0A 7A03
+7A0C 7A04 7A99 7AE6 7AE4 7B4A 7B3B 7B44 7B48 7B4C
+7B4E 7B40 7B58 7B45 7CA2 7C9E 7CA8 7CA1 7D58 7D6F
+7D63 7D53 7D56 7D67 7D6A 7D4F 7D6D 7D5C 7D6B 7D52
+7D54 7D69 7D51 7D5F 7D4E 7F3E 7F3F 7F65 7F66 7FA2
+7FA0 7FA1 7FD7 8051 804F 8050 80FE 80D4 8143 814A
+8152 814F 8147 813D 814D 813A 81E6 81EE 81F7 81F8
+81F9 8204 823C 823D 823F 8275 833B 83CF 83F9 8423
+83C0 83E8 8412 83E7 83E4 83FC 83F6 8410 83C6 83C8
+83EB 83E3 83BF 8401 83DD 83E5 83D8 83FF 83E1 83CB
+83CE 83D6 83F5 83C9 8409 840F 83DE 8411 8406 83C2
+83F3 83D5 83FA 83C7 83D1 83EA 8413 83C3 83EC 83EE
+83C4 83FB 83D7 83E2 841B 83DB 83FE 86D8 86E2 86E6
+86D3 86E3 86DA 86EA 86DD 86EB 86DC 86EC 86E9 86D7
+86E8 86D1 8848 8856 8855 88BA 88D7 88B9 88B8 88C0
+88BE 88B6 88BC 88B7 88BD 88B2 8901 88C9 8995 8998
+8997 89DD 89DA 89DB 8A4E 8A4D 8A39 8A59 8A40 8A57
+8A58 8A44 8A45 8A52 8A48 8A51 8A4A 8A4C 8A4F 8C5F
+8C81 8C80 8CBA 8CBE 8CB0 8CB9 8CB5 8D84 8D80 8D89
+8DD8 8DD3 8DCD 8DC7 8DD6 8DDC 8DCF 8DD5 8DD9 8DC8
+8DD7 8DC5 8EEF 8EF7 8EFA 8EF9 8EE6 8EEE 8EE5 8EF5
+8EE7 8EE8 8EF6 8EEB 8EF1 8EEC 8EF4 8EE9 902D 9034
+902F 9106 912C 9104 90FF 90FC 9108 90F9 90FB 9101
+9100 9107 9105 9103 9161 9164 915F 9162 9160 9201
+920A 9225 9203 921A 9226 920F 920C 9200 9212 91FF
+91FD 9206 9204 9227 9202 921C 9224 9219 9217 9205
+9216 957B 958D 958C 9590 9687 967E 9688 9689 9683
+9680 96C2 96C8 96C3 96F1 96F0 976C 9770 976E 9807
+98A9 98EB 9CE6 9EF9 4E82 7CA7 50AD 50B5 50B2 50B3
+50C5 50BE 50AC 50B7 50BB 50AF 50C7 527F 5277 527D
+52DF 52E6 52E4 52E2 52E3 532F 55DF 55E8 55D3 55E6
+55CE 55DC 55C7 55D1 55E3 55E4 55EF 55DA 55E1 55C5
+55C6 55E5 55C9 5712 5713 585E 5851 5858 5857 585A
+5854 586B 584C 586D 584A 5862 5852 584B 5967 5AC1
+5AC9 5ACC 5ABE 5ABD 5ABC 5AB3 5AC2 5AB2 5D69 5D6F
+5E4C 5E79 5EC9 5EC8 5F12 5F59 5FAC 5FAE 611A 610F
+6148 611F 60F3 611B 60F9 6101 6108 614E 614C 6144
+614D 613E 6134 6127 610D 6106 6137 6221 6222 6413
+643E 641E 642A 642D 643D 642C 640F 641C 6414 640D
+6436 6416 6417 6406 656C 659F 65B0 6697 6689 6687
+6688 6696 6684 6698 668D 6703 6994 696D 695A 6977
+6960 6954 6975 6930 6982 694A 6968 696B 695E 6953
+6979 6986 695D 6963 695B 6B47 6B72 6BC0 6BBF 6BD3
+6BFD 6EA2 6EAF 6ED3 6EB6 6EC2 6E90 6E9D 6EC7 6EC5
+6EA5 6E98 6EBC 6EBA 6EAB 6ED1 6E96 6E9C 6EC4 6ED4
+6EAA 6EA7 6EB4 714E 7159 7169 7164 7149 7167 715C
+716C 7166 714C 7165 715E 7146 7168 7156 723A 7252
+7337 7345 733F 733E 746F 745A 7455 745F 745E 7441
+743F 7459 745B 745C 7576 7578 7600 75F0 7601 75F2
+75F1 75FA 75FF 75F4 75F3 76DE 76DF 775B 776B 7766
+775E 7763 7779 776A 776C 775C 7765 7768 7762 77EE
+788E 78B0 7897 7898 788C 7889 787C 7891 7893 787F
+797A 797F 7981 842C 79BD 7A1C 7A1A 7A20 7A14 7A1F
+7A1E 7A9F 7AA0 7B77 7BC0 7B60 7B6E 7B67 7CB1 7CB3
+7CB5 7D93 7D79 7D91 7D81 7D8F 7D5B 7F6E 7F69 7F6A
+7F72 7FA9 7FA8 7FA4 8056 8058 8086 8084 8171 8170
+8178 8165 816E 8173 816B 8179 817A 8166 8205 8247
+8482 8477 843D 8431 8475 8466 846B 8449 846C 845B
+843C 8435 8461 8463 8469 846D 8446 865E 865C 865F
+86F9 8713 8708 8707 8700 86FE 86FB 8702 8703 8706
+870A 8859 88DF 88D4 88D9 88DC 88D8 88DD 88E1 88CA
+88D5 88D2 899C 89E3 8A6B 8A72 8A73 8A66 8A69 8A70
+8A87 8A7C 8A63 8AA0 8A71 8A85 8A6D 8A62 8A6E 8A6C
+8A79 8A7B 8A3E 8A68 8C62 8C8A 8C89 8CCA 8CC7 8CC8
+8CC4 8CB2 8CC3 8CC2 8CC5 8DE1 8DDF 8DE8 8DEF 8DF3
+8DFA 8DEA 8DE4 8DE6 8EB2 8F03 8F09 8EFE 8F0A 8F9F
+8FB2 904B 904A 9053 9042 9054 903C 9055 9050 9047
+904F 904E 904D 9051 903E 9041 9112 9117 916C 916A
+9169 91C9 9237 9257 9238 923D 9240 923E 925B 924B
+9264 9251 9234 9249 924D 9245 9239 923F 925A 9598
+9698 9694 9695 96CD 96CB 96C9 96CA 96F7 96FB 96F9
+96F6 9756 9774 9776 9810 9811 9813 980A 9812 980C
+98FC 98F4 98FD 98FE 99B3 99B1 99B4 9AE1 9CE9 9E82
+9F0E 9F13 9F20 4E83 4E84 4EB6 50BD 50BF 50C6 50AE
+50C4 50CA 50B4 50C8 50C2 50B0 50C1 50BA 50B1 50CB
+50C9 50B6 50B8 51D7 527A 5278 527B 527C 55C3 55DB
+55CC 55D0 55CB 55CA 55DD 55C0 55D4 55C4 55E9 55BF
+55D2 558D 55CF 55D5 55E2 55D6 55C8 55F2 55CD 55D9
+55C2 5714 5853 5868 5864 584F 584D 5849 586F 5855
+584E 585D 5859 5865 585B 583D 5863 5871 58FC 5AC7
+5AC4 5ACB 5ABA 5AB8 5AB1 5AB5 5AB0 5ABF 5AC8 5ABB
+5AC6 5AB7 5AC0 5ACA 5AB4 5AB6 5ACD 5AB9 5A90 5BD6
+5BD8 5BD9 5C1F 5C33 5D71 5D63 5D4A 5D65 5D72 5D6C
+5D5E 5D68 5D67 5D62 5DF0 5E4F 5E4E 5E4A 5E4D 5E4B
+5EC5 5ECC 5EC6 5ECB 5EC7 5F40 5FAF 5FAD 60F7 6149
+614A 612B 6145 6136 6132 612E 6146 612F 614F 6129
+6140 6220 9168 6223 6225 6224 63C5 63F1 63EB 6410
+6412 6409 6420 6424 6433 6443 641F 6415 6418 6439
+6437 6422 6423 640C 6426 6430 6428 6441 6435 642F
+640A 641A 6440 6425 6427 640B 63E7 641B 642E 6421
+640E 656F 6592 65D3 6686 668C 6695 6690 668B 668A
+6699 6694 6678 6720 6966 695F 6938 694E 6962 6971
+693F 6945 696A 6939 6942 6957 6959 697A 6948 6949
+6935 696C 6933 693D 6965 68F0 6978 6934 6969 6940
+696F 6944 6976 6958 6941 6974 694C 693B 694B 6937
+695C 694F 6951 6932 6952 692F 697B 693C 6B46 6B45
+6B43 6B42 6B48 6B41 6B9B 6BFB 6BFC 6BF9 6BF7 6BF8
+6E9B 6ED6 6EC8 6E8F 6EC0 6E9F 6E93 6E94 6EA0 6EB1
+6EB9 6EC6 6ED2 6EBD 6EC1 6E9E 6EC9 6EB7 6EB0 6ECD
+6EA6 6ECF 6EB2 6EBE 6EC3 6EDC 6ED8 6E99 6E92 6E8E
+6E8D 6EA4 6EA1 6EBF 6EB3 6ED0 6ECA 6E97 6EAE 6EA3
+7147 7154 7152 7163 7160 7141 715D 7162 7172 7178
+716A 7161 7142 7158 7143 714B 7170 715F 7150 7153
+7144 714D 715A 724F 728D 728C 7291 7290 728E 733C
+7342 733B 733A 7340 734A 7349 7444 744A 744B 7452
+7451 7457 7440 744F 7450 744E 7442 7446 744D 7454
+74E1 74FF 74FE 74FD 751D 7579 7577 6983 75EF 760F
+7603 75F7 75FE 75FC 75F9 75F8 7610 75FB 75F6 75ED
+75F5 75FD 7699 76B5 76DD 7755 775F 7760 7752 7756
+775A 7769 7767 7754 7759 776D 77E0 7887 789A 7894
+788F 7884 7895 7885 7886 78A1 7883 7879 7899 7880
+7896 787B 797C 7982 797D 7979 7A11 7A18 7A19 7A12
+7A17 7A15 7A22 7A13 7A1B 7A10 7AA3 7AA2 7A9E 7AEB
+7B66 7B64 7B6D 7B74 7B69 7B72 7B65 7B73 7B71 7B70
+7B61 7B78 7B76 7B63 7CB2 7CB4 7CAF 7D88 7D86 7D80
+7D8D 7D7F 7D85 7D7A 7D8E 7D7B 7D83 7D7C 7D8C 7D94
+7D84 7D7D 7D92 7F6D 7F6B 7F67 7F68 7F6C 7FA6 7FA5
+7FA7 7FDB 7FDC 8021 8164 8160 8177 815C 8169 815B
+8162 8172 6721 815E 8176 8167 816F 8144 8161 821D
+8249 8244 8240 8242 8245 84F1 843F 8456 8476 8479
+848F 848D 8465 8451 8440 8486 8467 8430 844D 847D
+845A 8459 8474 8473 845D 8507 845E 8437 843A 8434
+847A 8443 8478 8432 8445 8429 83D9 844B 842F 8442
+842D 845F 8470 8439 844E 844C 8452 846F 84C5 848E
+843B 8447 8436 8433 8468 847E 8444 842B 8460 8454
+846E 8450 870B 8704 86F7 870C 86FA 86D6 86F5 874D
+86F8 870E 8709 8701 86F6 870D 8705 88D6 88CB 88CD
+88CE 88DE 88DB 88DA 88CC 88D0 8985 899B 89DF 89E5
+89E4 89E1 89E0 89E2 89DC 89E6 8A76 8A86 8A7F 8A61
+8A3F 8A77 8A82 8A84 8A75 8A83 8A81 8A74 8A7A 8C3C
+8C4B 8C4A 8C65 8C64 8C66 8C86 8C84 8C85 8CCC 8D68
+8D69 8D91 8D8C 8D8E 8D8F 8D8D 8D93 8D94 8D90 8D92
+8DF0 8DE0 8DEC 8DF1 8DEE 8DD0 8DE9 8DE3 8DE2 8DE7
+8DF2 8DEB 8DF4 8F06 8EFF 8F01 8F00 8F05 8F07 8F08
+8F02 8F0B 9052 903F 9044 9049 903D 9110 910D 910F
+9111 9116 9114 910B 910E 916E 916F 9248 9252 9230
+923A 9266 9233 9265 925E 9283 922E 924A 9246 926D
+926C 924F 9260 9267 926F 9236 9261 9270 9231 9254
+9263 9250 9272 924E 9253 924C 9256 9232 959F 959C
+959E 959B 9692 9693 9691 9697 96CE 96FA 96FD 96F8
+96F5 9773 9777 9778 9772 980F 980D 980E 98AC 98F6
+98F9 99AF 99B2 99B0 99B5 9AAD 9AAB 9B5B 9CEA 9CED
+9CE7 9E80 9EFD 7881 88CF 50E7 50EE 50E5 50D6 50ED
+50DA 50D5 50CF 50D1 50F1 50CE 50E9 5162 51F3 5283
+5282 5331 53AD 55FE 5600 561B 5617 55FD 5614 5606
+5609 560D 560E 55F7 5616 561F 5608 5610 55F6 5718
+5716 5875 587E 5883 5893 588A 5879 5885 587D 58FD
+5925 5922 5924 596A 5969 5AE1 5AE6 5AE9 5AD7 5AD6
+5AD8 5AE3 5B75 5BDE 5BE7 5BE1 5BE5 5BE6 5BE8 5BE2
+5BE4 5BDF 5C0D 5C62 5D84 5D87 5E5B 5E63 5E55 5E57
+5E54 5ED3 5ED6 5F0A 5F46 5F70 5FB9 6147 613F 614B
+6177 6162 6163 615F 615A 6158 6175 622A 6487 6458
+6454 64A4 6478 645F 647A 6451 6467 6434 646D 647B
+6572 65A1 65D7 65D6 66A2 66A8 669D 699C 69A8 6995
+69C1 69AE 69D3 69CB 699B 69B7 69BB 69AB 69B4 69D0
+69CD 69AD 69CC 69A6 69C3 69A3 6B49 6B4C 6C33 6F33
+6F14 6EFE 6F13 6EF4 6F29 6F3E 6F20 6F2C 6F0F 6F02
+6F22 6EFF 6EEF 6F06 6F31 6F38 6F32 6F23 6F15 6F2B
+6F2F 6F88 6F2A 6EEC 6F01 6EF2 6ECC 6EF7 7194 7199
+717D 718A 7184 7192 723E 7292 7296 7344 7350 7464
+7463 746A 7470 746D 7504 7591 7627 760D 760B 7609
+7613 76E1 76E3 7784 777D 777F 7761 78C1 789F 78A7
+78B3 78A9 78A3 798E 798F 798D 7A2E 7A31 7AAA 7AA9
+7AED 7AEF 7BA1 7B95 7B8B 7B75 7B97 7B9D 7B94 7B8F
+7BB8 7B87 7B84 7CB9 7CBD 7CBE 7DBB 7DB0 7D9C 7DBD
+7DBE 7DA0 7DCA 7DB4 7DB2 7DB1 7DBA 7DA2 7DBF 7DB5
+7DB8 7DAD 7DD2 7DC7 7DAC 7F70 7FE0 7FE1 7FDF 805E
+805A 8087 8150 8180 818F 8188 818A 817F 8182 81E7
+81FA 8207 8214 821E 824B 84C9 84BF 84C6 84C4 8499
+849E 84B2 849C 84CB 84B8 84C0 84D3 8490 84BC 84D1
+84CA 873F 871C 873B 8722 8725 8734 8718 8755 8737
+8729 88F3 8902 88F4 88F9 88F8 88FD 88E8 891A 88EF
+8AA6 8A8C 8A9E 8AA3 8A8D 8AA1 8A93 8AA4 8AAA 8AA5
+8AA8 8A98 8A91 8A9A 8AA7 8C6A 8C8D 8C8C 8CD3 8CD1
+8CD2 8D6B 8D99 8D95 8DFC 8F14 8F12 8F15 8F13 8FA3
+9060 9058 905C 9063 9059 905E 9062 905D 905B 9119
+9118 911E 9175 9178 9177 9174 9278 9280 9285 9298
+9296 927B 9293 929C 92A8 927C 9291 95A1 95A8 95A9
+95A3 95A5 95A4 9699 969C 969B 96CC 96D2 9700 977C
+9785 97F6 9817 9818 98AF 98B1 9903 9905 990C 9909
+99C1 9AAF 9AB0 9AE6 9B41 9B42 9CF4 9CF6 9CF3 9EBC
+9F3B 9F4A 50E6 50D4 50D7 50E8 50F3 50DB 50EA 50DD
+50E4 50D3 50EC 50F0 50EF 50E3 50E0 51D8 5280 5281
+52E9 52EB 5330 53AC 5627 5615 560C 5612 55FC 560F
+561C 5601 5613 5602 55FA 561D 5604 55FF 55F9 5889
+587C 5890 5898 5886 5881 587F 5874 588B 587A 5887
+5891 588E 5876 5882 5888 587B 5894 588F 58FE 596B
+5ADC 5AEE 5AE5 5AD5 5AEA 5ADA 5AED 5AEB 5AF3 5AE2
+5AE0 5ADB 5AEC 5ADE 5ADD 5AD9 5AE8 5ADF 5B77 5BE0
+5BE3 5C63 5D82 5D80 5D7D 5D86 5D7A 5D81 5D77 5D8A
+5D89 5D88 5D7E 5D7C 5D8D 5D79 5D7F 5E58 5E59 5E53
+5ED8 5ED1 5ED7 5ECE 5EDC 5ED5 5ED9 5ED2 5ED4 5F44
+5F43 5F6F 5FB6 612C 6128 6141 615E 6171 6173 6152
+6153 6172 616C 6180 6174 6154 617A 615B 6165 613B
+616A 6161 6156 6229 6227 622B 642B 644D 645B 645D
+6474 6476 6472 6473 647D 6475 6466 64A6 644E 6482
+645E 645C 644B 6453 6460 6450 647F 643F 646C 646B
+6459 6465 6477 6573 65A0 66A1 66A0 669F 6705 6704
+6722 69B1 69B6 69C9 69A0 69CE 6996 69B0 69AC 69BC
+6991 6999 698E 69A7 698D 69A9 69BE 69AF 69BF 69C4
+69BD 69A4 69D4 69B9 69CA 699A 69CF 69B3 6993 69AA
+69A1 699E 69D9 6997 6990 69C2 69B5 69A5 69C6 6B4A
+6B4D 6B4B 6B9E 6B9F 6BA0 6BC3 6BC4 6BFE 6ECE 6EF5
+6EF1 6F03 6F25 6EF8 6F37 6EFB 6F2E 6F09 6F4E 6F19
+6F1A 6F27 6F18 6F3B 6F12 6EED 6F0A 6F36 6F73 6EF9
+6EEE 6F2D 6F40 6F30 6F3C 6F35 6EEB 6F07 6F0E 6F43
+6F05 6EFD 6EF6 6F39 6F1C 6EFC 6F3A 6F1F 6F0D 6F1E
+6F08 6F21 7187 7190 7189 7180 7185 7182 718F 717B
+7186 7181 7197 7244 7253 7297 7295 7293 7343 734D
+7351 734C 7462 7473 7471 7475 7472 7467 746E 7500
+7502 7503 757D 7590 7616 7608 760C 7615 7611 760A
+7614 76B8 7781 777C 7785 7782 776E 7780 776F 777E
+7783 78B2 78AA 78B4 78AD 78A8 787E 78AB 789E 78A5
+78A0 78AC 78A2 78A4 7998 798A 798B 7996 7995 7994
+7993 7997 7988 7992 7990 7A2B 7A4A 7A30 7A2F 7A28
+7A26 7AA8 7AAB 7AAC 7AEE 7B88 7B9C 7B8A 7B91 7B90
+7B96 7B8D 7B8C 7B9B 7B8E 7B85 7B98 5284 7B99 7BA4
+7B82 7CBB 7CBF 7CBC 7CBA 7DA7 7DB7 7DC2 7DA3 7DAA
+7DC1 7DC0 7DC5 7D9D 7DCE 7DC4 7DC6 7DCB 7DCC 7DAF
+7DB9 7D96 7DBC 7D9F 7DA6 7DAE 7DA9 7DA1 7DC9 7F73
+7FE2 7FE3 7FE5 7FDE 8024 805D 805C 8189 8186 8183
+8187 818D 818C 818B 8215 8497 84A4 84A1 849F 84BA
+84CE 84C2 84AC 84AE 84AB 84B9 84B4 84C1 84CD 84AA
+849A 84B1 84D0 849D 84A7 84BB 84A2 8494 84C7 84CC
+849B 84A9 84AF 84A8 84D6 8498 84B6 84CF 84A0 84D7
+84D4 84D2 84DB 84B0 8491 8661 8733 8723 8728 876B
+8740 872E 871E 8721 8719 871B 8743 872C 8741 873E
+8746 8720 8732 872A 872D 873C 8712 873A 8731 8735
+8742 8726 8727 8738 8724 871A 8730 8711 88F7 88E7
+88F1 88F2 88FA 88FE 88EE 88FC 88F6 88FB 88F0 88EC
+88EB 899D 89A1 899F 899E 89E9 89EB 89E8 8AAB 8A99
+8A8B 8A92 8A8F 8A96 8C3D 8C68 8C69 8CD5 8CCF 8CD7
+8D96 8E09 8E02 8DFF 8E0D 8DFD 8E0A 8E03 8E07 8E06
+8E05 8DFE 8E00 8E04 8F10 8F11 8F0E 8F0D 9123 911C
+9120 9122 911F 911D 911A 9124 9121 911B 917A 9172
+9179 9173 92A5 92A4 9276 929B 927A 92A0 9294 92AA
+928D 92A6 929A 92AB 9279 9297 927F 92A3 92EE 928E
+9282 9295 92A2 927D 9288 92A1 928A 9286 928C 9299
+92A7 927E 9287 92A9 929D 928B 922D 969E 96A1 96FF
+9758 977D 977A 977E 9783 9780 9782 977B 9784 9781
+977F 97CE 97CD 9816 98AD 98AE 9902 9900 9907 999D
+999C 99C3 99B9 99BB 99BA 99C2 99BD 99C7 9AB1 9AE3
+9AE7 9B3E 9B3F 9B60 9B61 9B5F 9CF1 9CF2 9CF5 9EA7
+50FF 5103 5130 50F8 5106 5107 50F6 50FE 510B 510C
+50FD 510A 528B 528C 52F1 52EF 5104 5100 50FB 50F5
+50F9 5102 5108 5109 5105 51DC 5287 5288 5289 528D
+528A 52F0 53B2 562E 563B 5639 5632 563F 5634 5629
+5653 564E 5657 5674 5636 562F 5630 5880 589F 589E
+58B3 589C 58AE 58A9 58A6 596D 5B09 5AFB 5B0B 5AF5
+5B0C 5B08 5BEE 5BEC 5BE9 5BEB 5C64 5C65 5D9D 5D94
+5E62 5E5F 5E61 5EE2 5EDA 5EDF 5EDD 5EE3 5EE0 5F48
+5F71 5FB7 5FB5 6176 6167 616E 615D 6155 6182 617C
+6170 616B 617E 61A7 6190 61AB 618E 61AC 619A 61A4
+6194 61AE 622E 6469 646F 6479 649E 64B2 6488 6490
+64B0 64A5 6493 6495 64A9 6492 64AE 64AD 64AB 649A
+64AC 6499 64A2 64B3 6575 6577 6578 66AE 66AB 66B4
+66B1 6A23 6A1F 69E8 6A01 6A1E 6A19 69FD 6A21 6A13
+6A0A 69F3 6A02 6A05 69ED 6A11 6B50 6B4E 6BA4 6BC5
+6BC6 6F3F 6F7C 6F84 6F51 6F66 6F54 6F86 6F6D 6F5B
+6F78 6F6E 6F8E 6F7A 6F70 6F64 6F97 6F58 6ED5 6F6F
+6F60 6F5F 719F 71AC 71B1 71A8 7256 729B 734E 7357
+7469 748B 7483 747E 7480 757F 7620 7629 761F 7624
+7626 7621 7622 769A 76BA 76E4 778E 7787 778C 7791
+778B 78CB 78C5 78BA 78CA 78BE 78D5 78BC 78D0 7A3F
+7A3C 7A40 7A3D 7A37 7A3B 7AAF 7AAE 7BAD 7BB1 7BC4
+7BB4 7BC6 7BC7 7BC1 7BA0 7BCC 7CCA 7DE0 7DF4 7DEF
+7DFB 7DD8 7DEC 7DDD 7DE8 7DE3 7DDA 7DDE 7DE9 7D9E
+7DD9 7DF2 7DF9 7F75 7F77 7FAF 7FE9 8026 819B 819C
+819D 81A0 819A 8198 8517 853D 851A 84EE 852C 852D
+8513 8511 8523 8521 8514 84EC 8525 84FF 8506 8782
+8774 8776 8760 8766 8778 8768 8759 8757 874C 8753
+885B 885D 8910 8907 8912 8913 8915 890A 8ABC 8AD2
+8AC7 8AC4 8A95 8ACB 8AF8 8AB2 8AC9 8AC2 8ABF 8AB0
+8AD6 8ACD 8AB6 8AB9 8ADB 8C4C 8C4E 8C6C 8CE0 8CDE
+8CE6 8CE4 8CEC 8CED 8CE2 8CE3 8CDC 8CEA 8CE1 8D6D
+8D9F 8DA3 8E2B 8E10 8E1D 8E22 8E0F 8E29 8E1F 8E21
+8E1E 8EBA 8F1D 8F1B 8F1F 8F29 8F26 8F2A 8F1C 8F1E
+8F25 9069 906E 9068 906D 9077 9130 912D 9127 9131
+9187 9189 918B 9183 92C5 92BB 92B7 92EA 92AC 92E4
+92C1 92B3 92BC 92D2 92C7 92F0 92B2 95AD 95B1 9704
+9706 9707 9709 9760 978D 978B 978F 9821 982B 981C
+98B3 990A 9913 9912 9918 99DD 99D0 99DF 99DB 99D1
+99D5 99D2 99D9 9AB7 9AEE 9AEF 9B27 9B45 9B44 9B77
+9B6F 9D06 9D09 9D03 9EA9 9EBE 9ECE 58A8 9F52 5648
+5642 564C 5635 5641 564A 5649 5646 5658 565A 5640
+5633 563D 562C 563E 5638 562A 563A 571A 58AB 589D
+58B1 58A0 58A3 58AF 58AC 58A5 58A1 58FF 5AFF 5AF4
+5AFD 5AF7 5AF6 5B03 5AF8 5B02 5AF9 5B01 5B07 5B05
+5B0F 5C67 5D99 5D97 5D9F 5D92 5DA2 5D93 5D95 5DA0
+5D9C 5DA1 5D9A 5D9E 5E69 5E5D 5E60 5E5C 7DF3 5EDB
+5EDE 5EE1 5F49 5FB2 618B 6183 6179 61B1 61B0 61A2
+6189 619B 6193 61AF 61AD 619F 6192 61AA 61A1 618D
+6166 61B3 622D 646E 6470 6496 64A0 6485 6497 649C
+648F 648B 648A 648C 64A3 649F 6468 64B1 6498 6576
+657A 6579 657B 65B2 65B3 66B5 66B0 66A9 66B2 66B7
+66AA 66AF 6A00 6A06 6A17 69E5 69F8 6A15 69F1 69E4
+6A20 69FF 69EC 69E2 6A1B 6A1D 69FE 6A27 69F2 69EE
+6A14 69F7 69E7 6A40 6A08 69E6 69FB 6A0D 69FC 69EB
+6A09 6A04 6A18 6A25 6A0F 69F6 6A26 6A07 69F4 6A16
+6B51 6BA5 6BA3 6BA2 6BA6 6C01 6C00 6BFF 6C02 6F41
+6F26 6F7E 6F87 6FC6 6F92 6F8D 6F89 6F8C 6F62 6F4F
+6F85 6F5A 6F96 6F76 6F6C 6F82 6F55 6F72 6F52 6F50
+6F57 6F94 6F93 6F5D 6F00 6F61 6F6B 6F7D 6F67 6F90
+6F53 6F8B 6F69 6F7F 6F95 6F63 6F77 6F6A 6F7B 71B2
+71AF 719B 71B0 71A0 719A 71A9 71B5 719D 71A5 719E
+71A4 71A1 71AA 719C 71A7 71B3 7298 729A 7358 7352
+735E 735F 7360 735D 735B 7361 735A 7359 7362 7487
+7489 748A 7486 7481 747D 7485 7488 747C 7479 7508
+7507 757E 7625 761E 7619 761D 761C 7623 761A 7628
+761B 769C 769D 769E 769B 778D 778F 7789 7788 78CD
+78BB 78CF 78CC 78D1 78CE 78D4 78C8 78C3 78C4 78C9
+799A 79A1 79A0 799C 79A2 799B 6B76 7A39 7AB2 7AB4
+7AB3 7BB7 7BCB 7BBE 7BAC 7BCE 7BAF 7BB9 7BCA 7BB5
+7CC5 7CC8 7CCC 7CCB 7DF7 7DDB 7DEA 7DE7 7DD7 7DE1
+7E03 7DFA 7DE6 7DF6 7DF1 7DF0 7DEE 7DDF 7F76 7FAC
+7FB0 7FAD 7FED 7FEB 7FEA 7FEC 7FE6 7FE8 8064 8067
+81A3 819F 819E 8195 81A2 8199 8197 8216 824F 8253
+8252 8250 824E 8251 8524 853B 850F 8500 8529 850E
+8509 850D 851F 850A 8527 851C 84FB 852B 84FA 8508
+850C 84F4 852A 84F2 8515 84F7 84EB 84F3 84FC 8512
+84EA 84E9 8516 84FE 8528 851D 852E 8502 84FD 851E
+84F6 8531 8526 84E7 84E8 84F0 84EF 84F9 8518 8520
+8530 850B 8519 852F 8662 8756 8763 8764 8777 87E1
+8773 8758 8754 875B 8752 8761 875A 8751 875E 876D
+876A 8750 874E 875F 875D 876F 876C 877A 876E 875C
+8765 874F 877B 8775 8762 8767 8769 885A 8905 890C
+8914 890B 8917 8918 8919 8906 8916 8911 890E 8909
+89A2 89A4 89A3 89ED 89F0 89EC 8ACF 8AC6 8AB8 8AD3
+8AD1 8AD4 8AD5 8ABB 8AD7 8ABE 8AC0 8AC5 8AD8 8AC3
+8ABA 8ABD 8AD9 8C3E 8C4D 8C8F 8CE5 8CDF 8CD9 8CE8
+8CDA 8CDD 8CE7 8DA0 8D9C 8DA1 8D9B 8E20 8E23 8E25
+8E24 8E2E 8E15 8E1B 8E16 8E11 8E19 8E26 8E27 8E14
+8E12 8E18 8E13 8E1C 8E17 8E1A 8F2C 8F24 8F18 8F1A
+8F20 8F23 8F16 8F17 9073 9070 906F 9067 906B 912F
+912B 9129 912A 9132 9126 912E 9185 9186 918A 9181
+9182 9184 9180 92D0 92C3 92C4 92C0 92D9 92B6 92CF
+92F1 92DF 92D8 92E9 92D7 92DD 92CC 92EF 92C2 92E8
+92CA 92C8 92CE 92E6 92CD 92D5 92C9 92E0 92DE 92E7
+92D1 92D3 92B5 92E1 92C6 92B4 957C 95AC 95AB 95AE
+95B0 96A4 96A2 96D3 9705 9708 9702 975A 978A 978E
+9788 97D0 97CF 981E 981D 9826 9829 9828 9820 981B
+9827 98B2 9908 98FA 9911 9914 9916 9917 9915 99DC
+99CD 99CF 99D3 99D4 99CE 99C9 99D6 99D8 99CB 99D7
+99CC 9AB3 9AEC 9AEB 9AF3 9AF2 9AF1 9B46 9B43 9B67
+9B74 9B71 9B66 9B76 9B75 9B70 9B68 9B64 9B6C 9CFC
+9CFA 9CFD 9CFF 9CF7 9D07 9D00 9CF9 9CFB 9D08 9D05
+9D04 9E83 9ED3 9F0F 9F10 92B9 5AFA 5112 5118 5114
+5110 5115 5180 51AA 51DD 5291 5293 52F3 5659 566B
+5679 5669 5664 5678 566A 5668 5665 5671 566F 566C
+5662 5676 58C1 58BE 58C7 58C5 596E 5B1D 5B34 5B78
+5BF0 5C0E 5F4A 61B2 6191 61A9 618A 61CD 61B6 61BE
+61CA 61C8 6230 64C5 64C1 64CB 64BB 64BC 64DA 64C4
+64C7 64C2 64CD 64BF 64D2 64D4 64BE 6574 66C6 66C9
+66B9 66C4 66C7 66B8 6A3D 6A38 6A3A 6A59 6A6B 6A58
+6A39 6A44 6A62 6A61 6A4B 6A47 6A35 6A5F 6A48 6B59
+6B77 6C05 6FC2 6FB1 6FA1 6FC3 6FA4 6FC1 6FA7 6FB3
+6FC0 6FB9 6FB6 6FA6 6FA0 6FB4 71BE 71C9 71D0 71D2
+71C8 71D5 71B9 71CE 71D9 71DC 71C3 71C4 7368 749C
+74A3 7498 749F 749E 74E2 750C 750D 7634 7638 763A
+76E7 76E5 77A0 779E 779F 77A5 78E8 78DA 78EC 78E7
+79A6 7A4D 7A4E 7A46 7A4C 7A4B 7ABA 7BD9 7C11 7BC9
+7BE4 7BDB 7BE1 7BE9 7BE6 7CD5 7CD6 7E0A 7E11 7E08
+7E1B 7E23 7E1E 7E1D 7E09 7E10 7F79 7FB2 7FF0 7FF1
+7FEE 8028 81B3 81A9 81A8 81FB 8208 8258 8259 854A
+8559 8548 8568 8569 8543 8549 856D 856A 855E 8783
+879F 879E 87A2 878D 8861 892A 8932 8925 892B 8921
+89AA 89A6 8AE6 8AFA 8AEB 8AF1 8B00 8ADC 8AE7 8AEE
+8AFE 8B01 8B02 8AF7 8AED 8AF3 8AF6 8AFC 8C6B 8C6D
+8C93 8CF4 8E44 8E31 8E34 8E42 8E39 8E35 8F3B 8F2F
+8F38 8F33 8FA8 8FA6 9075 9074 9078 9072 907C 907A
+9134 9192 9320 9336 92F8 9333 932F 9322 92FC 932B
+9304 931A 9310 9326 9321 9315 932E 9319 95BB 96A7
+96A8 96AA 96D5 970E 9711 9716 970D 9713 970F 975B
+975C 9766 9798 9830 9838 983B 9837 982D 9839 9824
+9910 9928 991E 991B 9921 991A 99ED 99E2 99F1 9AB8
+9ABC 9AFB 9AED 9B28 9B91 9D15 9D23 9D26 9D28 9D12
+9D1B 9ED8 9ED4 9F8D 9F9C 511C 5113 5117 511A 5111
+51DE 5334 53E1 5670 5660 566E 5673 5666 5663 566D
+5672 565E 5677 571C 571B 58C8 58BD 58C9 58BF 58BA
+58C2 58BC 58C6 5B17 5B19 5B1B 5B21 5B14 5B13 5B10
+5B16 5B28 5B1A 5B20 5B1E 5BEF 5DAC 5DB1 5DA9 5DA7
+5DB5 5DB0 5DAE 5DAA 5DA8 5DB2 5DAD 5DAF 5DB4 5E67
+5E68 5E66 5E6F 5EE9 5EE7 5EE6 5EE8 5EE5 5F4B 5FBC
+619D 61A8 6196 61C5 61B4 61C6 61C1 61CC 61BA 61BF
+61B8 618C 64D7 64D6 64D0 64CF 64C9 64BD 6489 64C3
+64DB 64F3 64D9 6533 657F 657C 65A2 66C8 66BE 66C0
+66CA 66CB 66CF 66BD 66BB 66BA 66CC 6723 6A34 6A66
+6A49 6A67 6A32 6A68 6A3E 6A5D 6A6D 6A76 6A5B 6A51
+6A28 6A5A 6A3B 6A3F 6A41 6A6A 6A64 6A50 6A4F 6A54
+6A6F 6A69 6A60 6A3C 6A5E 6A56 6A55 6A4D 6A4E 6A46
+6B55 6B54 6B56 6BA7 6BAA 6BAB 6BC8 6BC7 6C04 6C03
+6C06 6FAD 6FCB 6FA3 6FC7 6FBC 6FCE 6FC8 6F5E 6FC4
+6FBD 6F9E 6FCA 6FA8 7004 6FA5 6FAE 6FBA 6FAC 6FAA
+6FCF 6FBF 6FB8 6FA2 6FC9 6FAB 6FCD 6FAF 6FB2 6FB0
+71C5 71C2 71BF 71B8 71D6 71C0 71C1 71CB 71D4 71CA
+71C7 71CF 71BD 71D8 71BC 71C6 71DA 71DB 729D 729E
+7369 7366 7367 736C 7365 736B 736A 747F 749A 74A0
+7494 7492 7495 74A1 750B 7580 762F 762D 7631 763D
+7633 763C 7635 7632 7630 76BB 76E6 779A 779D 77A1
+779C 779B 77A2 77A3 7795 7799 7797 78DD 78E9 78E5
+78EA 78DE 78E3 78DB 78E1 78E2 78ED 78DF 78E0 79A4
+7A44 7A48 7A47 7AB6 7AB8 7AB5 7AB1 7AB7 7BDE 7BE3
+7BE7 7BDD 7BD5 7BE5 7BDA 7BE8 7BF9 7BD4 7BEA 7BE2
+7BDC 7BEB 7BD8 7BDF 7CD2 7CD4 7CD7 7CD0 7CD1 7E12
+7E21 7E17 7E0C 7E1F 7E20 7E13 7E0E 7E1C 7E15 7E1A
+7E22 7E0B 7E0F 7E16 7E0D 7E14 7E25 7E24 7F43 7F7B
+7F7C 7F7A 7FB1 7FEF 802A 8029 806C 81B1 81A6 81AE
+81B9 81B5 81AB 81B0 81AC 81B4 81B2 81B7 81A7 81F2
+8255 8256 8257 8556 8545 856B 854D 8553 8561 8558
+8540 8546 8564 8541 8562 8544 8551 8547 8563 853E
+855B 8571 854E 856E 8575 8555 8567 8560 858C 8566
+855D 8554 8565 856C 8663 8665 8664 879B 878F 8797
+8793 8792 8788 8781 8796 8798 8779 8787 87A3 8785
+8790 8791 879D 8784 8794 879C 879A 8789 891E 8926
+8930 892D 892E 8927 8931 8922 8929 8923 892F 892C
+891F 89F1 8AE0 8AE2 8AF2 8AF4 8AF5 8ADD 8B14 8AE4
+8ADF 8AF0 8AC8 8ADE 8AE1 8AE8 8AFF 8AEF 8AFB 8C91
+8C92 8C90 8CF5 8CEE 8CF1 8CF0 8CF3 8D6C 8D6E 8DA5
+8DA7 8E33 8E3E 8E38 8E40 8E45 8E36 8E3C 8E3D 8E41
+8E30 8E3F 8EBD 8F36 8F2E 8F35 8F32 8F39 8F37 8F34
+9076 9079 907B 9086 90FA 9133 9135 9136 9193 9190
+9191 918D 918F 9327 931E 9308 931F 9306 930F 937A
+9338 933C 931B 9323 9312 9301 9346 932D 930E 930D
+92CB 931D 92FA 9325 9313 92F9 92F7 9334 9302 9324
+92FF 9329 9339 9335 932A 9314 930C 930B 92FE 9309
+9300 92FB 9316 95BC 95CD 95BE 95B9 95BA 95B6 95BF
+95B5 95BD 96A9 96D4 970B 9712 9710 9799 9797 9794
+97F0 97F8 9835 982F 9832 9924 991F 9927 9929 999E
+99EE 99EC 99E5 99E4 99F0 99E3 99EA 99E9 99E7 9AB9
+9ABF 9AB4 9ABB 9AF6 9AFA 9AF9 9AF7 9B33 9B80 9B85
+9B87 9B7C 9B7E 9B7B 9B82 9B93 9B92 9B90 9B7A 9B95
+9B7D 9B88 9D25 9D17 9D20 9D1E 9D14 9D29 9D1D 9D18
+9D22 9D10 9D19 9D1F 9E88 9E86 9E87 9EAE 9EAD 9ED5
+9ED6 9EFA 9F12 9F3D 87A4 58BB 512A 511F 5121 5132
+52F5 568E 5680 5690 5685 5687 568F 58D5 58D3 58D1
+58CE 5B30 5B2A 5B24 5B7A 5C37 5C68 5DBC 5DBA 5DBD
+5DB8 5E6B 5F4C 5FBD 61C9 61C2 61C7 61E6 61CB 6232
+6234 64CE 64CA 64D8 64E0 64F0 64E6 64EC 64F1 64E2
+64ED 6582 6583 66D9 66D6 6A80 6A94 6A84 6AA2 6A9C
+6ADB 6AA3 6A7E 6A97 6A90 6AA0 6B5C 6BAE 6BDA 6C08
+6FD8 6FF1 6FDF 6FE0 6FDB 6FE4 6FEB 6FEF 6F80 6FEC
+6FE1 6FE9 6FD5 6FEE 6FF0 71E7 71DF 71EE 71E6 71E5
+71ED 71EC 71F4 71E0 7235 7246 7370 7372 74A9 74B0
+74A6 74A8 7646 7642 764C 76EA 77B3 77AA 77B0 77AC
+77A7 77AD 77EF 78F7 78FA 78F4 78EF 7901 79A7 79AA
+7A57 7ABF 7C07 7C0D 7BFE 7BF7 7C0C 7BE0 7CE0 7CDC
+7CDE 7CE2 7CDF 7CD9 7CDD 7E2E 7E3E 7E46 7E37 7E32
+7E43 7E2B 7E3D 7E31 7E45 7E41 7E34 7E39 7E48 7E35
+7E3F 7E2F 7F44 7FF3 7FFC 8071 8072 8070 806F 8073
+81C6 81C3 81BA 81C2 81C0 81BF 81BD 81C9 81BE 81E8
+8209 8271 85AA 8584 857E 859C 8591 8594 85AF 859B
+8587 85A8 858A 8667 87C0 87D1 87B3 87D2 87C6 87AB
+87BB 87BA 87C8 87CB 893B 8936 8944 8938 893D 89AC
+8B0E 8B17 8B19 8B1B 8B0A 8B20 8B1D 8B04 8B10 8C41
+8C3F 8C73 8CFA 8CFD 8CFC 8CF8 8CFB 8DA8 8E49 8E4B
+8E48 8E4A 8F44 8F3E 8F42 8F45 8F3F 907F 907D 9084
+9081 9082 9080 9139 91A3 919E 919C 934D 9382 9328
+9375 934A 9365 934B 9318 937E 936C 935B 9370 935A
+9354 95CA 95CB 95CC 95C8 95C6 96B1 96B8 96D6 971C
+971E 97A0 97D3 9846 98B6 9935 9A01 99FF 9BAE 9BAB
+9BAA 9BAD 9D3B 9D3F 9E8B 9ECF 9EDE 9EDC 9EDD 9EDB
+9F3E 9F4B 5126 5125 5122 5124 5120 5129 52F4 5693
+568C 568D 5686 5684 5683 567E 5682 567F 5681 58D6
+58D4 58CF 58D2 5B2D 5B25 5B32 5B23 5B2C 5B27 5B26
+5B2F 5B2E 5B7B 5BF1 5BF2 5DB7 5E6C 5E6A 5FBE 5FBB
+61C3 61B5 61BC 61E7 61E0 61E5 61E4 61E8 61DE 64EF
+64E9 64E3 64EB 64E4 64E8 6581 6580 65B6 65DA 66D2
+6A8D 6A96 6A81 6AA5 6A89 6A9F 6A9B 6AA1 6A9E 6A87
+6A93 6A8E 6A95 6A83 6AA8 6AA4 6A91 6A7F 6AA6 6A9A
+6A85 6A8C 6A92 6B5B 6BAD 6C09 6FCC 6FA9 6FF4 6FD4
+6FE3 6FDC 6FED 6FE7 6FE6 6FDE 6FF2 6FDD 6FE2 6FE8
+71E1 71F1 71E8 71F2 71E4 71F0 71E2 7373 736E 736F
+7497 74B2 74AB 7490 74AA 74AD 74B1 74A5 74AF 7510
+7511 7512 750F 7584 7643 7648 7649 7647 76A4 76E9
+77B5 77AB 77B2 77B7 77B6 77B4 77B1 77A8 77F0 78F3
+78FD 7902 78FB 78FC 78F2 7905 78F9 78FE 7904 79AB
+79A8 7A5C 7A5B 7A56 7A58 7A54 7A5A 7ABE 7AC0 7AC1
+7C05 7C0F 7BF2 7C00 7BFF 7BFB 7C0E 7BF4 7C0B 7BF3
+7C02 7C09 7C03 7C01 7BF8 7BFD 7C06 7BF0 7BF1 7C10
+7C0A 7CE8 7E2D 7E3C 7E42 7E33 9848 7E38 7E2A 7E49
+7E40 7E47 7E29 7E4C 7E30 7E3B 7E36 7E44 7E3A 7F45
+7F7F 7F7E 7F7D 7FF4 7FF2 802C 81BB 81C4 81CC 81CA
+81C5 81C7 81BC 81E9 825B 825A 825C 8583 8580 858F
+85A7 8595 85A0 858B 85A3 857B 85A4 859A 859E 8577
+857C 8589 85A1 857A 8578 8557 858E 8596 8586 858D
+8599 859D 8581 85A2 8582 8588 8585 8579 8576 8598
+8590 859F 8668 87BE 87AA 87AD 87C5 87B0 87AC 87B9
+87B5 87BC 87AE 87C9 87C3 87C2 87CC 87B7 87AF 87C4
+87CA 87B4 87B6 87BF 87B8 87BD 87DE 87B2 8935 8933
+893C 893E 8941 8952 8937 8942 89AD 89AF 89AE 89F2
+89F3 8B1E 8B18 8B16 8B11 8B05 8B0B 8B22 8B0F 8B12
+8B15 8B07 8B0D 8B08 8B06 8B1C 8B13 8B1A 8C4F 8C70
+8C72 8C71 8C6F 8C95 8C94 8CF9 8D6F 8E4E 8E4D 8E53
+8E50 8E4C 8E47 8F43 8F40 9085 907E 9138 919A 91A2
+919B 9199 919F 91A1 919D 91A0 93A1 9383 93AF 9364
+9356 9347 937C 9358 935C 9376 9349 9350 9351 9360
+936D 938F 934C 936A 9379 9357 9355 9352 934F 9371
+9377 937B 9361 935E 9363 9367 934E 9359 95C7 95C0
+95C9 95C3 95C5 95B7 96AE 96B0 96AC 9720 971F 9718
+971D 9719 979A 97A1 979C 979E 979D 97D5 97D4 97F1
+9841 9844 984A 9849 9845 9843 9925 992B 992C 992A
+9933 9932 992F 992D 9931 9930 9998 99A3 99A1 9A02
+99FA 99F4 99F7 99F9 99F8 99F6 99FB 99FD 99FE 99FC
+9A03 9ABE 9AFE 9AFD 9B01 9AFC 9B48 9B9A 9BA8 9B9E
+9B9B 9BA6 9BA1 9BA5 9BA4 9B86 9BA2 9BA0 9BAF 9D33
+9D41 9D67 9D36 9D2E 9D2F 9D31 9D38 9D30 9D45 9D42
+9D43 9D3E 9D37 9D40 9D3D 7FF5 9D2D 9E8A 9E89 9E8D
+9EB0 9EC8 9EDA 9EFB 9EFF 9F24 9F23 9F22 9F54 9FA0
+78FF 53E2 5695 56AE 58D9 58D8 5B38 5F5D 61E3 6233
+64F4 64F2 64FE 6506 64FA 64FB 64F7 65B7 66DC 6726
+6AB3 6AAC 6AC3 6ABB 6AB8 6AC2 6AAE 6AAF 6B5F 6B78
+6BAF 7009 700B 6FFE 7006 6FFA 7011 700F 71FB 71FC
+71FE 71F8 7377 7375 74A7 74BF 7515 7656 7658 7652
+77BD 77BF 77BB 77BC 790E 79AE 7A61 7A62 7A60 7AC4
+7AC5 7C2B 7C27 7C2A 7C1E 7C23 7C21 7CE7 7E54 7E55
+7E5E 7E5A 7E61 7E52 7E59 7F48 7FF9 7FFB 8077 8076
+81CD 81CF 820A 85CF 85A9 85CD 85D0 85C9 85B0 85BA
+85B9 85A6 87EF 87EC 87F2 87E0 8986 89B2 89F4 8B28
+8B39 8B2C 8B2B 8C50 8D05 8E59 8E63 8E66 8E64 8E5F
+8E55 8EC0 8F49 8F4D 9087 9083 9088 91AB 91AC 91D0
+9394 938A 9396 93A2 93B3 93AE 93AC 93B0 9398 939A
+9397 95D4 95D6 95D0 95D5 96E2 96DC 96D9 96DB 96DE
+9724 97A3 97A6 97AD 97F9 984D 984F 984C 984E 9853
+98BA 993E 993F 993D 992E 99A5 9A0E 9AC1 9B03 9B06
+9B4F 9B4E 9B4D 9BCA 9BC9 9BFD 9BC8 9BC0 9D51 9D5D
+9D60 9EE0 9F15 9F2C 9380 5131 512D 512E 5698 569C
+5697 569A 569D 5699 5970 5B3C 5C69 5C6A 5DC0 5E6D
+5E6E 61D8 61DF 61ED 61EE 61F1 61EA 61F0 61EB 61D6
+61E9 64FF 6504 64FD 64F8 6501 6503 64FC 6594 65DB
+66DA 66DB 66D8 6AC5 6AB9 6ABD 6AE1 6AC6 6ABA 6AB6
+6AB7 6AC7 6AB4 6AAD 6B5E 6BC9 6C0B 7007 700C 700D
+7001 7005 7014 700E 6FFF 7000 6FFB 7026 6FFC 6FF7
+700A 7201 71FF 71F9 7203 71FD 7376 74B8 74C0 74B5
+74C1 74BE 74B6 74BB 74C2 7514 7513 765C 7664 7659
+7650 7653 7657 765A 76A6 76BD 76EC 77C2 77BA 790C
+7913 7914 7909 7910 7912 7911 79AD 79AC 7A5F 7C1C
+7C29 7C19 7C20 7C1F 7C2D 7C1D 7C26 7C28 7C22 7C25
+7C30 7E5C 7E50 7E56 7E63 7E58 7E62 7E5F 7E51 7E60
+7E57 7E53 7FB5 7FB3 7FF7 7FF8 8075 81D1 81D2 81D0
+825F 825E 85B4 85C6 85C0 85C3 85C2 85B3 85B5 85BD
+85C7 85C4 85BF 85CB 85CE 85C8 85C5 85B1 85B6 85D2
+8624 85B8 85B7 85BE 8669 87E7 87E6 87E2 87DB 87EB
+87EA 87E5 87DF 87F3 87E4 87D4 87DC 87D3 87ED 87D8
+87E3 87D7 87D9 8801 87F4 87E8 87DD 8953 894B 894F
+894C 8946 8950 8951 8949 8B2A 8B27 8B23 8B33 8B30
+8B35 8B47 8B2F 8B3C 8B3E 8B31 8B25 8B37 8B26 8B36
+8B2E 8B24 8B3B 8B3D 8B3A 8C42 8C75 8C99 8C98 8C97
+8CFE 8D04 8D02 8D00 8E5C 8E62 8E60 8E57 8E56 8E5E
+8E65 8E67 8E5B 8E5A 8E61 8E5D 8E69 8E54 8F46 8F47
+8F48 8F4B 9128 913A 913B 913E 91A8 91A5 91A7 91AF
+91AA 93B5 938C 9392 93B7 939B 939D 9389 93A7 938E
+93AA 939E 93A6 9395 9388 9399 939F 938D 93B1 9391
+93B2 93A4 93A8 93B4 93A3 93A5 95D2 95D3 95D1 96B3
+96D7 96DA 5DC2 96DF 96D8 96DD 9723 9722 9725 97AC
+97AE 97A8 97AB 97A4 97AA 97A2 97A5 97D7 97D9 97D6
+97D8 97FA 9850 9851 9852 98B8 9941 993C 993A 9A0F
+9A0B 9A09 9A0D 9A04 9A11 9A0A 9A05 9A07 9A06 9AC0
+9ADC 9B08 9B04 9B05 9B29 9B35 9B4A 9B4C 9B4B 9BC7
+9BC6 9BC3 9BBF 9BC1 9BB5 9BB8 9BD3 9BB6 9BC4 9BB9
+9BBD 9D5C 9D53 9D4F 9D4A 9D5B 9D4B 9D59 9D56 9D4C
+9D57 9D52 9D54 9D5F 9D58 9D5A 9E8E 9E8C 9EDF 9F01
+9F00 9F16 9F25 9F2B 9F2A 9F29 9F28 9F4C 9F55 5133
+56A5 58DE 58DF 58E2 5BF5 9F90 5EEC 61F2 61F7 61F6
+61F5 6500 650F 66E0 66DD 6AE5 6ADD 6ADA 6AD3 701B
+701F 7028 701A 701D 7015 7018 7206 720D 7258 72A2
+7378 737A 74BD 74CA 74E3 7587 7586 765F 7661 77C7
+7919 79B1 7A6B 7A69 7C3E 7C3F 7C38 7C3D 7C37 7C40
+7E6B 7E6D 7E79 7E69 7E6A 7F85 7E73 7FB6 7FB9 7FB8
+81D8 85E9 85DD 85EA 85D5 85E4 85E5 85F7 87FB 8805
+880D 87F9 87FE 8960 895F 8956 895E 8B41 8B5C 8B58
+8B49 8B5A 8B4E 8B4F 8B46 8B59 8D08 8D0A 8E7C 8E72
+8E87 8E76 8E6C 8E7A 8E74 8F54 8F4E 8FAD 908A 908B
+91B1 91AE 93E1 93D1 93DF 93C3 93C8 93DC 93DD 93D6
+93E2 93CD 93D8 93E4 93D7 93E8 95DC 96B4 96E3 972A
+9727 9761 97DC 97FB 985E 9858 985B 98BC 9945 9949
+9A16 9A19 9B0D 9BE8 9BE7 9BD6 9BDB 9D89 9D61 9D72
+9D6A 9D6C 9E92 9E97 9E93 9EB4 56A8 5134 5135 5296
+52F7 53B4 56AB 56AD 56A6 56A7 56AA 56AC 58DA 58DD
+58DB 5912 5B3D 5B3E 5B3F 5DC3 5E70 5FBF 61FB 6507
+6510 650D 6509 650C 650E 6584 65DE 65DD 66DE 6AE7
+6AE0 6ACC 6AD1 6AD9 6ACB 6ADF 6ADC 6AD0 6AEB 6ACF
+6ACD 6ADE 6B60 6BB0 6C0C 7019 7027 7020 7016 702B
+7021 7022 7023 7029 7017 7024 701C 702A 720C 720A
+7207 7202 7205 72A5 72A6 72A4 72A3 72A1 74CB 74C5
+74B7 74C3 7516 7660 77C9 77CA 77C4 77F1 791D 791B
+7921 791C 7917 791E 79B0 7A67 7A68 7C33 7C3C 7C39
+7C2C 7C3B 7CEC 7CEA 7E76 7E75 7E78 7E70 7E77 7E6F
+7E7A 7E72 7E74 7E68 7F4B 7F4A 7F83 7F86 7FB7 7FFD
+7FFE 8078 81D7 81D5 8264 8261 8263 85EB 85F1 85ED
+85D9 85E1 85E8 85DA 85D7 85EC 85F2 85F8 85D8 85DF
+85E3 85DC 85D1 85F0 85E6 85EF 85DE 85E2 8800 87FA
+8803 87F6 87F7 8809 880C 880B 8806 87FC 8808 87FF
+880A 8802 8962 895A 895B 8957 8961 895C 8958 895D
+8959 8988 89B7 89B6 89F6 8B50 8B48 8B4A 8B40 8B53
+8B56 8B54 8B4B 8B55 8B51 8B42 8B52 8B57 8C43 8C77
+8C76 8C9A 8D06 8D07 8D09 8DAC 8DAA 8DAD 8DAB 8E6D
+8E78 8E73 8E6A 8E6F 8E7B 8EC2 8F52 8F51 8F4F 8F50
+8F53 8FB4 9140 913F 91B0 91AD 93DE 93C7 93CF 93C2
+93DA 93D0 93F9 93EC 93CC 93D9 93A9 93E6 93CA 93D4
+93EE 93E3 93D5 93C4 93CE 93C0 93D2 93E7 957D 95DA
+95DB 96E1 9729 972B 972C 9728 9726 97B3 97B7 97B6
+97DD 97DE 97DF 985C 9859 985D 9857 98BF 98BD 98BB
+98BE 9948 9947 9943 99A6 99A7 9A1A 9A15 9A25 9A1D
+9A24 9A1B 9A22 9A20 9A27 9A23 9A1E 9A1C 9A14 9AC2
+9B0B 9B0A 9B0E 9B0C 9B37 9BEA 9BEB 9BE0 9BDE 9BE4
+9BE6 9BE2 9BF0 9BD4 9BD7 9BEC 9BDC 9BD9 9BE5 9BD5
+9BE1 9BDA 9D77 9D81 9D8A 9D84 9D88 9D71 9D80 9D78
+9D86 9D8B 9D8C 9D7D 9D6B 9D74 9D75 9D70 9D69 9D85
+9D73 9D7B 9D82 9D6F 9D79 9D7F 9D87 9D68 9E94 9E91
+9EC0 9EFC 9F2D 9F40 9F41 9F4D 9F56 9F57 9F58 52F8
+56B7 56B6 56B4 56BC 58E4 5B40 5B43 5B7D 5BF6 5DC9
+61F8 61FA 6518 6514 6519 66E6 6727 6AEC 703E 7030
+7032 7210 737B 74CF 7662 7665 7926 792A 792C 792B
+7AC7 7AF6 7C4C 7C43 7C4D 7CEF 7CF0 8FAE 7E7D 7E7C
+7E82 7F4C 8000 81DA 8266 85FB 85F9 8611 85FA 8606
+860B 8607 860A 8814 8815 8964 89BA 89F8 8B70 8B6C
+8B66 8B6F 8B5F 8B6B 8D0F 8D0D 8E89 8E81 8E85 8E82
+91B4 91CB 9418 9403 93FD 95E1 9730 98C4 9952 9951
+99A8 9A2B 9A30 9A37 9A35 9C13 9C0D 9E79 9EB5 9EE8
+9F2F 9F5F 9F63 9F61 5337 56B2 56B5 56B3 58E3 5B45
+5DC6 5DC7 5EEE 5EEF 5FC0 5FC1 61F9 6517 6516 6515
+6513 65DF 66E8 66E3 66E4 6AF3 6AF0 6AEA 6AE8 6AF9
+6AF1 6AEE 6AEF 703C 7035 702F 7037 7034 7031 7042
+7038 703F 703A 7039 7040 703B 7033 7041 7213 7214
+72A8 737D 737C 74BA 76AB 76AA 76BE 76ED 77CC 77CE
+77CF 77CD 77F2 7925 7923 7927 7928 7924 7929 79B2
+7A6E 7A6C 7A6D 7AF7 7C49 7C48 7C4A 7C47 7C45 7CEE
+7E7B 7E7E 7E81 7E80 7FBA 7FFF 8079 81DB 81D9 820B
+8268 8269 8622 85FF 8601 85FE 861B 8600 85F6 8604
+8609 8605 860C 85FD 8819 8810 8811 8817 8813 8816
+8963 8966 89B9 89F7 8B60 8B6A 8B5D 8B68 8B63 8B65
+8B67 8B6D 8DAE 8E86 8E88 8E84 8F59 8F56 8F57 8F55
+8F58 8F5A 908D 9143 9141 91B7 91B5 91B2 91B3 940B
+9413 93FB 9420 940F 9414 93FE 9415 9410 9428 9419
+940D 93F5 9400 93F7 9407 940E 9416 9412 93FA 9409
+93F8 940A 93FF 93FC 940C 93F6 9411 9406 95DE 95E0
+95DF 972E 972F 97B9 97BB 97FD 97FE 9860 9862 9863
+985F 98C1 98C2 9950 994E 9959 994C 994B 9953 9A32
+9A34 9A31 9A2C 9A2A 9A36 9A29 9A2E 9A38 9A2D 9AC7
+9ACA 9AC6 9B10 9B12 9B11 9C0B 9C08 9BF7 9C05 9C12
+9BF8 9C40 9C07 9C0E 9C06 9C17 9C14 9C09 9D9F 9D99
+9DA4 9D9D 9D92 9D98 9D90 9D9B 9DA0 9D94 9D9C 9DAA
+9D97 9DA1 9D9A 9DA2 9DA8 9D9E 9DA3 9DBF 9DA9 9D96
+9DA6 9DA7 9E99 9E9B 9E9A 9EE5 9EE4 9EE7 9EE6 9F30
+9F2E 9F5B 9F60 9F5E 9F5D 9F59 9F91 5137 5138 56C1
+56C0 56C2 5914 5C6C 5DCD 61FC 61FE 651D 651C 6595
+66E9 6AFB 6B04 6AFA 6BB2 704C 721B 72A7 74D6 74D4
+7669 77D3 7C50 7E8F 7E8C 7FBC 8617 862D 861A 8823
+8822 8821 881F 896A 896C 89BD 8B74 8B77 8B7D 8D13
+8E8A 8E8D 8E8B 8F5F 8FAF 91BA 942E 9433 9435 943A
+9438 9432 942B 95E2 9738 9739 9732 97FF 9867 9865
+9957 9A45 9A43 9A40 9A3E 9ACF 9B54 9B51 9C2D 9C25
+9DAF 9DB4 9DC2 9DB8 9E9D 9EEF 9F19 9F5C 9F66 9F67
+513A 5139 5298 5297 56C3 56BD 56BE 5B48 5B47 5DCB
+5DCF 5EF1 61FD 651B 6B02 6AFC 6B03 6AF8 6B00 7043
+7044 704A 7048 7049 7045 7046 721D 721A 7219 737E
+7517 766A 77D0 792D 7931 792F 7C54 7C53 7CF2 7E8A
+7E87 7E88 7E8B 7E86 7E8D 7F4D 7FBB 8030 81DD 8618
+862A 8626 861F 8623 861C 8619 8627 862E 8621 8620
+8629 861E 8625 8829 881D 881B 8820 8824 881C 882B
+884A 896D 8969 896E 896B 89FA 8B79 8B78 8B45 8B7A
+8B7B 8D10 8D14 8DAF 8E8E 8E8C 8F5E 8F5B 8F5D 9146
+9144 9145 91B9 943F 943B 9436 9429 943D 943C 9430
+9439 942A 9437 942C 9440 9431 95E5 95E4 95E3 9735
+973A 97BF 97E1 9864 98C9 98C6 98C0 9958 9956 9A39
+9A3D 9A46 9A44 9A42 9A41 9A3A 9A3F 9ACD 9B15 9B17
+9B18 9B16 9B3A 9B52 9C2B 9C1D 9C1C 9C2C 9C23 9C28
+9C29 9C24 9C21 9DB7 9DB6 9DBC 9DC1 9DC7 9DCA 9DCF
+9DBE 9DC5 9DC3 9DBB 9DB5 9DCE 9DB9 9DBA 9DAC 9DC8
+9DB1 9DAD 9DCC 9DB3 9DCD 9DB2 9E7A 9E9C 9EEB 9EEE
+9EED 9F1B 9F18 9F1A 9F31 9F4E 9F65 9F64 9F92 513C
+513B 56C8 56CA 56C9 5B7F 5DD4 5DD2 5F4E 61FF 6524
+6B0A 6B61 7051 7058 7380 74E4 758A 766E 766C 79B3
+7C60 7C5F 807E 807D 81DF 8972 896F 89FC 8B80 8D16
+8D17 8E91 8E93 8F61 9148 9444 9451 9452 973D 973E
+97C3 97C1 986B 9955 9A55 9A4D 9AD2 9B1A 9C49 9C31
+9C3E 9C3B 9DD3 9DD7 9F34 9F6C 9F6A 9F94 4EB9 56C6
+56C5 56CB 5971 5B4B 5B4C 5DD5 5DD1 5EF2 6521 6520
+6526 6522 6B0B 6B08 6B09 6C0D 7055 7056 7057 7052
+721E 721F 72A9 737F 74D8 74D5 74D9 74D7 766D 76AD
+7935 79B4 7A70 7A71 7C57 7C5C 7C59 7C5B 7C5A 7CF4
+7CF1 7E91 7F4F 7F87 81DE 826B 8634 8635 8633 862C
+8632 8636 882C 8828 8826 882A 8825 8971 89BF 89BE
+89FB 8B7E 8B84 8B82 8B86 8B85 8B7F 8D15 8E95 8E94
+8E9A 8E92 8E90 8E96 8E97 8F60 8F62 9147 944C 9450
+944A 944B 944F 9447 9445 9448 9449 9446 973F 97E3
+986A 9869 98CB 9954 995B 9A4E 9A53 9A54 9A4C 9A4F
+9A48 9A4A 9A49 9A52 9A50 9AD0 9B19 9B2B 9B3B 9B56
+9B55 9C46 9C48 9C3F 9C44 9C39 9C33 9C41 9C3C 9C37
+9C34 9C32 9C3D 9C36 9DDB 9DD2 9DDE 9DDA 9DCB 9DD0
+9DDC 9DD1 9DDF 9DE9 9DD9 9DD8 9DD6 9DF5 9DD5 9DDD
+9EB6 9EF0 9F35 9F33 9F32 9F42 9F6B 9F95 9FA2 56CC
+5DD6 6200 6523 652B 652A 66EC 6B10 74DA 7ACA 7C64
+7C63 7C65 7E93 7E96 7E94 81E2 8638 863F 8831 8B8A
+9090 908F 9463 9460 9464 9768 986F 995C 9A5A 9A5B
+9A57 9AD3 9AD4 9AD1 9C54 9C57 9C56 9DE5 9E9F 9EF4
+513D 5299 58E8 58E7 5972 5B4D 5DD8 882F 5F4F 6201
+6203 6204 6529 6525 6596 66EB 6B11 6B12 6B0F 6BCA
+705B 705A 7222 7382 7381 7383 7670 77D4 7C67 7C66
+7E95 826C 863A 8640 8639 863C 8631 863B 863E 8830
+8832 882E 8833 8976 8974 8973 89FE 8B8C 8B8E 8B8B
+8B88 8C45 8D19 8E98 8F64 8F63 91BC 9462 9455 945D
+9457 945E 97C4 97C5 9800 9A56 9A59 9B1E 9B1F 9B20
+9C52 9C58 9C50 9C4A 9C4D 9C4B 9C55 9C59 9C4C 9C4E
+9DFB 9DF7 9DEF 9DE3 9DEB 9DF8 9DE4 9DF6 9DE1 9DEE
+9DE6 9DF2 9DF0 9DE2 9DEC 9DF4 9DF3 9DE8 9DED 9EC2
+9ED0 9EF2 9EF3 9F06 9F1C 9F38 9F37 9F36 9F43 9F4F
+9F71 9F70 9F6E 9F6F 56D1 58E9 652C 705E 7671 7672
+77D7 7F50 7F88 8836 8839 8862 8B93 8B92 8B96 8277
+8D1B 91C0 946A 9742 9748 9744 97C6 9870 9A5F 9B22
+9B58 9C5F 9DF9 9DFA 9E7C 9E7D 9F07 9F77 9F72 56D3
+56CD 5B4E 5C6D 652D 66ED 66EE 6B13 705F 7061 705D
+7060 7223 74DB 74E5 77D5 7938 79B7 79B6 7C6A 7E97
+7F89 826D 8643 8838 8837 8835 884B 8B94 8B95 8E9E
+8E9F 8EA0 8E9D 91BE 91BD 91C2 946B 9468 9469 96E5
+9746 9743 9747 97C7 97E5 9A5E 9AD5 9B59 9C63 9C67
+9C66 9C62 9C5E 9C60 9E02 9DFE 9E07 9E03 9E06 9E05
+9E00 9E01 9E09 9DFF 9DFD 9E04 9EA0 9F1E 9F46 9F74
+9F75 9F76 5EF3 6B16 7063 7C6C 7C6E 883B 89C0 8EA1
+91C1 9472 9470 9871 995E 9AD6 9B23 9ECC 56D4 652E
+65B8 6B18 6B19 6B17 6B1A 7062 7226 72AA 77D8 77D9
+7939 7C69 7C6B 7CF6 7E9A 7E98 7E9B 7E99 81E0 81E1
+8646 8647 8648 8979 897A 897C 897B 89FF 8B98 8B99
+8EA5 8EA4 8EA3 946E 946D 946F 9471 9473 9749 9872
+995F 9C68 9C6E 9C6D 9E0B 9E0D 9E10 9E0F 9E12 9E11
+9EA1 9EF5 9F09 9F47 9F78 9F7B 9F7A 9F79 7064 77DA
+8B9A 9477 97C9 9A62 9A65 571E 7066 7C6F 883C 8DB2
+8EA6 91C3 9474 9478 9476 9475 9A60 9C74 9C73 9C71
+9C75 9E14 9E13 9EF6 9F0A 9FA4 9B2E 7E9C 8B9C 8EAA
+91C5 947D 947E 947C 9C77 9C78 9EF7 7068 7065 7CF7
+866A 883E 883D 883F 8B9E 8C9C 8EA9 8EC9 974B 9873
+9874 98CC 9961 99AB 9A64 9A66 9A67 9B24 9E15 9E17
+9F48 8C54 947F 9E1A 6207 6B1E 7227 864C 8EA8 9482
+9480 9481 9A69 9A68 9E19 7228 9A6A 9B31 9E1B 9E1E
+864B 8B9F 9483 9C79 9EB7 7675 9A6B 9C7A 9E1D 7069
+7C72 706A 7229 9EA4 9F7E 9F49 9F98
+__END__
+
+=head1 NAME
+
+Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate;
+ use Unicode::Collate::CJK::Stroke;
+
+ my $collator = Unicode::Collate->new(
+ overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke
+ );
+
+=head1 DESCRIPTION
+
+C<Unicode::Collate::CJK::Stroke> provides C<weightStroke()>,
+that is adequate for C<overrideCJK> of C<Unicode::Collate>
+and makes tailoring of CJK Unified Ideographs in the order
+of CLDR's stroke ordering.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item CLDR - Unicode Common Locale Data Repository
+
+L<http://cldr.unicode.org/>
+
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Collate::Locale>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
new file mode 100644
index 00000000000..b26db00f371
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
@@ -0,0 +1,338 @@
+package Unicode::Collate::Locale;
+
+use strict;
+use Carp;
+use base qw(Unicode::Collate);
+
+our $VERSION = '0.73';
+
+use File::Spec;
+
+(my $ModPath = $INC{'Unicode/Collate/Locale.pm'}) =~ s/\.pm$//;
+my $PL_EXT = '.pl';
+
+my %LocaleFile = map { ($_, $_) } qw(
+ af ar az ca cs cy da eo es et fi fil fo fr ha haw
+ hr hu hy ig is ja kk kl ko lt lv mt nb nn nso om pl ro ru
+ se sk sl sq sv sw tn to tr uk vi wo yo zh
+);
+ $LocaleFile{'default'} = '';
+ $LocaleFile{'de__phonebook'} = 'de_phone';
+ $LocaleFile{'es__traditional'} = 'es_trad';
+ $LocaleFile{'be'} = 'ru';
+ $LocaleFile{'bg'} = 'ru';
+ $LocaleFile{'mk'} = 'ru';
+ $LocaleFile{'sr'} = 'ru';
+ $LocaleFile{'zh__big5han'} = 'zh_big5';
+ $LocaleFile{'zh__gb2312han'} = 'zh_gb';
+ $LocaleFile{'zh__pinyin'} = 'zh_pin';
+ $LocaleFile{'zh__stroke'} = 'zh_strk';
+
+sub _locale {
+ my $locale = shift;
+ if ($locale) {
+ $locale = lc $locale;
+ $locale =~ tr/\-\ \./_/;
+ $locale =~ s/_phone(?:bk)?\z/_phonebook/;
+ $locale =~ s/_trad\z/_traditional/;
+ $locale =~ s/_big5\z/_big5han/;
+ $locale =~ s/_gb2312\z/_gb2312han/;
+ $LocaleFile{$locale} and return $locale;
+
+ my ($l,$t,$v) = split(/_/, $locale.'__');
+ for my $loc ("${l}_${t}_$v", "${l}_$t", "${l}__$v", "${l}__$t", $l) {
+ $LocaleFile{$loc} and return $loc;
+ }
+ }
+ return 'default';
+}
+
+sub getlocale {
+ return shift->{accepted_locale};
+}
+
+sub _fetchpl {
+ my $accepted = shift;
+ my $f = $LocaleFile{$accepted};
+ return if !$f;
+ $f .= $PL_EXT;
+ my $path = File::Spec->catfile($ModPath, $f);
+ my $h = do $path;
+ croak "Unicode/Collate/Locale/$f can't be found" if !$h;
+ return $h;
+}
+
+sub new {
+ my $class = shift;
+ my %hash = @_;
+ $hash{accepted_locale} = _locale($hash{locale});
+
+ if (exists $hash{table}) {
+ croak "your table can't be used with Unicode::Collate::Locale";
+ }
+
+ my $href = _fetchpl($hash{accepted_locale});
+ while (my($k,$v) = each %$href) {
+ if (exists $hash{$k}) {
+ croak "$k is reserved by $hash{locale}, can't be overwritten";
+ }
+ $hash{$k} = $v;
+ }
+ return $class->SUPER::new(%hash);
+}
+
+1;
+__END__
+
+=head1 NAME
+
+Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate
+
+=head1 SYNOPSIS
+
+ use Unicode::Collate::Locale;
+
+ #construct
+ $Collator = Unicode::Collate::Locale->
+ new(locale => $locale_name, %tailoring);
+
+ #sort
+ @sorted = $Collator->sort(@not_sorted);
+
+ #compare
+ $result = $Collator->cmp($a, $b); # returns 1, 0, or -1.
+
+B<Note:> Strings in C<@not_sorted>, C<$a> and C<$b> are interpreted
+according to Perl's Unicode support. See L<perlunicode>,
+L<perluniintro>, L<perlunitut>, L<perlunifaq>, L<utf8>.
+Otherwise you can use C<preprocess> (cf. C<Unicode::Collate>)
+or should decode them before.
+
+=head1 DESCRIPTION
+
+This module provides linguistic tailoring for it
+taking advantage of C<Unicode::Collate>.
+
+=head2 Constructor
+
+The C<new> method returns a collator object.
+
+A parameter list for the constructor is a hash, which can include
+a special key C<locale> and its value (case-insensitive) standing
+for a two-letter language code (ISO-639) like C<'en'> for English.
+For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'FR')>
+returns a collator tailored for French.
+
+C<$locale_name> may be suffixed with a territory(country)
+code or a variant code, which are separated with C<'_'>.
+E.g. C<en_US> for English in USA,
+C<es_ES_traditional> for Spanish in Spain (Traditional),
+
+If C<$localename> is not defined,
+fallback is selected in the following order:
+
+ 1. language_territory_variant
+ 2. language_territory
+ 3. language__variant
+ 4. language
+ 5. default
+
+Tailoring tags provided by C<Unicode::Collate> are allowed as long as
+they are not used for C<locale> support. Esp. the C<table> tag
+is always untailorable since it is reserved for DUCET.
+
+E.g. a collator for French, which ignores diacritics and case difference
+(i.e. level 1), with reversed case ordering and no normalization.
+
+ Unicode::Collate::Locale->new(
+ level => 1,
+ locale => 'fr',
+ upper_before_lower => 1,
+ normalization => undef
+ )
+
+Overriding a behavior already tailored by C<locale> is disallowed
+if such a tailoring is passed to C<new()>.
+
+ Unicode::Collate::Locale->new(
+ locale => 'da',
+ upper_before_lower => 0, # causes error as reserved by 'da'
+ )
+
+However C<change()> inherited from C<Unicode::Collate> allows
+such a tailoring that is reserved by C<locale>. Examples:
+
+ new(locale => 'ca')->change(backwards => undef)
+ new(locale => 'da')->change(upper_before_lower => 0)
+ new(locale => 'ja')->change(overrideCJK => undef)
+
+=head2 Methods
+
+C<Unicode::Collate::Locale> is a subclass of C<Unicode::Collate>
+and methods other than C<new> are inherited from C<Unicode::Collate>.
+
+Here is a list of additional methods:
+
+=over 4
+
+=item C<$Collator-E<gt>getlocale>
+
+Returns a language code accepted and used actually on collation.
+If linguistic tailoring is not provided for a language code you passed
+(intensionally for some languages, or due to the incomplete implementation),
+this method returns a string C<'default'> meaning no special tailoring.
+
+=back
+
+=head2 A list of tailorable locales
+
+ locale name description
+ ----------------------------------------------------------
+ af Afrikaans
+ ar Arabic
+ az Azerbaijani (Azeri)
+ be Belarusian
+ bg Bulgarian
+ ca Catalan
+ cs Czech
+ cy Welsh
+ da Danish
+ de__phonebook German (umlaut as 'ae', 'oe', 'ue')
+ eo Esperanto
+ es Spanish
+ es__traditional Spanish ('ch' and 'll' as a grapheme)
+ et Estonian
+ fi Finnish
+ fil Filipino
+ fo Faroese
+ fr French
+ ha Hausa
+ haw Hawaiian
+ hr Croatian
+ hu Hungarian
+ hy Armenian
+ ig Igbo
+ is Icelandic
+ ja Japanese [1]
+ kk Kazakh
+ kl Kalaallisut
+ ko Korean [2]
+ lt Lithuanian
+ lv Latvian
+ mk Macedonian
+ mt Maltese
+ nb Norwegian Bokmal
+ nn Norwegian Nynorsk
+ nso Northern Sotho
+ om Oromo
+ pl Polish
+ ro Romanian
+ ru Russian
+ se Northern Sami
+ sk Slovak
+ sl Slovenian
+ sq Albanian
+ sr Serbian
+ sv Swedish
+ sw Swahili
+ tn Tswana
+ to Tonga
+ tr Turkish
+ uk Ukrainian
+ vi Vietnamese
+ wo Wolof
+ yo Yoruba
+ zh Chinese
+ zh__big5han Chinese (ideographs: big5 order)
+ zh__gb2312han Chinese (ideographs: GB-2312 order)
+ zh__pinyin Chinese (ideographs: pinyin order)
+ zh__stroke Chinese (ideographs: stroke order)
+ ----------------------------------------------------------
+
+Locales according to the default UCA rules include
+de (German),
+en (English),
+ga (Irish),
+id (Indonesian),
+it (Italian),
+ka (Georgian),
+ln (Lingala),
+ms (Malay),
+nl (Dutch),
+pt (Portuguese),
+st (Southern Sotho),
+xh (Xhosa),
+zu (Zulu).
+
+B<Note>
+
+[1] ja: Ideographs are sorted in JIS X 0208 order.
+Fullwidth and halfwidth forms are identical to their normal form.
+The difference between hiragana and katakana is at the 4th level,
+the comparison also requires C<(variable =E<gt> 'Non-ignorable')>,
+and then C<katakana_before_hiragana> has no effect.
+
+[2] ko: Plenty of ideographs are sorted by their reading. Such
+an ideograph is primary (level 1) equal to, and secondary (level 2)
+greater than, the corresponding hangul syllable.
+
+=head1 INSTALL
+
+Installation of C<Unicode::Collate::Locale> requires F<Collate/Locale.pm>,
+F<Collate/Locale/*.pm>, F<Collate/CJK/*.pm> and F<Collate/allkeys.txt>.
+On building, C<Unicode::Collate::Locale> doesn't require any of F<data/*.txt>,
+F<gendata/*>, and F<mklocale>.
+Tests for C<Unicode::Collate::Locale> are named F<t/loc_*.t>.
+
+=head1 CAVEAT
+
+=over 4
+
+=item tailoring is not maximum
+
+Even if a certain letter is tailored, its equivalent would not always
+tailored as well as it. For example, even though W is tailored,
+fullwidth W (C<U+FF37>), W with acute (C<U+1E82>), etc. are not
+tailored. The result may depend on whether source strings are
+normalized or not, and whether decomposed or composed.
+Thus C<(normalization =E<gt> undef)> is less preferred.
+
+=back
+
+=head1 AUTHOR
+
+The Unicode::Collate::Locale module for perl was written
+by SADAHIRO Tomoyuki, <SADAHIRO@cpan.org>.
+This module is Copyright(C) 2004-2011, SADAHIRO Tomoyuki. Japan.
+All rights reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item Unicode Collation Algorithm - UTS #10
+
+L<http://www.unicode.org/reports/tr10/>
+
+=item The Default Unicode Collation Element Table (DUCET)
+
+L<http://www.unicode.org/Public/UCA/latest/allkeys.txt>
+
+=item Unicode Locale Data Markup Language (LDML) - UTS #35
+
+L<http://www.unicode.org/reports/tr35/>
+
+=item CLDR - Unicode Common Locale Data Repository
+
+L<http://cldr.unicode.org/>
+
+=item L<Unicode::Collate>
+
+=item L<Unicode::Normalize>
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
new file mode 100644
index 00000000000..68a7659f3ce
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
@@ -0,0 +1,5 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0149 ; [.1702.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
new file mode 100644
index 00000000000..516e02dfd2c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
@@ -0,0 +1,7 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0629 ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA
+FE93 ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+FE94 ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA FINAL FORM
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
new file mode 100644
index 00000000000..615cdb60658
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
@@ -0,0 +1,50 @@
++{
+# schwa doesn't require tailoring
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E7 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.167F.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.167F.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC ; [.167F.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.167F.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.167F.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.167F.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.167F.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.167F.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.167F.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071 ; [.16B3.0020.0002.0071] # LATIN SMALL LETTER Q
+0051 ; [.16B3.0020.0008.0051] # LATIN CAPITAL LETTER Q
+0078 ; [.1668.0020.0002.0078] # LATIN SMALL LETTER X
+0058 ; [.1668.0020.0008.0058] # LATIN CAPITAL LETTER X
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
new file mode 100644
index 00000000000..6c5f5d4704a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
@@ -0,0 +1,17 @@
++{
+ backwards => 2,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.16C5.0020.0002.006C][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 00B7 006C ; [.16C5.0020.0002.006C][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+006C 004C ; [.16C5.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+006C 00B7 004C ; [.16C5.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+004C 006C ; [.16C5.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 00B7 006C ; [.16C5.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+004C 004C ; [.16C5.0020.0008.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+004C 00B7 004C ; [.16C5.0020.0008.004C][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
new file mode 100644
index 00000000000..fe6697a7579
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
@@ -0,0 +1,24 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.1668.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1668.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1668.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1668.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0159 ; [.1771.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.1771.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.1771.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.1771.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
new file mode 100644
index 00000000000..c8295d2b839
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
@@ -0,0 +1,28 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0064 ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
+0044 0064 ; [.15E5.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
+0044 0044 ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
+0066 0066 ; [.1638.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
+0046 0066 ; [.1638.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
+0046 0046 ; [.1638.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
+006E 0067 ; [.1645.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1645.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1645.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+006C 006C ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.16C5.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+0070 0068 ; [.174A.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.174A.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.174A.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0072 0068 ; [.1771.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
+0052 0068 ; [.1771.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
+0052 0048 ; [.1771.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
+0074 0068 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0054 0068 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
new file mode 100644
index 00000000000..20b50345f46
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
@@ -0,0 +1,75 @@
++{
+ upper_before_lower => 1,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1847.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1847.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # ANGSTROM SIGN
+01FB ; [.1847.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1847.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1847.0020.0002.0061][.0000.0000.0007.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1847.0020.0007.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1847.0020.0007.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0041 ; [.1847.0020.0008.0041][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
new file mode 100644
index 00000000000..4f90ce5027c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
@@ -0,0 +1,28 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E4 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
new file mode 100644
index 00000000000..248e3d05ca0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
@@ -0,0 +1,28 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0109 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0063 0302 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108 ; [.15D2.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0043 0302 ; [.15D2.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+011D ; [.1645.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0067 0302 ; [.1645.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C ; [.1645.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0047 0302 ; [.1645.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0125 ; [.1668.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0068 0302 ; [.1668.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124 ; [.1668.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0048 0302 ; [.1668.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0135 ; [.169A.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+006A 0302 ; [.169A.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134 ; [.169A.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+004A 0302 ; [.169A.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+015D ; [.17A7.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0073 0302 ; [.17A7.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C ; [.17A7.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0053 0302 ; [.17A7.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+016D ; [.17EA.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+0075 0306 ; [.17EA.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.17EA.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+0055 0306 ; [.17EA.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
new file mode 100644
index 00000000000..3f955bbb30d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
@@ -0,0 +1,8 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
new file mode 100644
index 00000000000..33896603904
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
@@ -0,0 +1,14 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.16C5.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
new file mode 100644
index 00000000000..8ce7d265abd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
@@ -0,0 +1,52 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0161 ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17C6.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17C6.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+007A ; [.17C7.0020.0002.007A] # LATIN SMALL LETTER Z
+005A ; [.17C7.0020.0008.005A] # LATIN CAPITAL LETTER Z
+017E ; [.17C8.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.17C8.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.17C8.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.17C8.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+0077 ; [.1812.0021.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.1812.0021.0008.0057] # LATIN CAPITAL LETTER W
+00F5 ; [.182A.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.182A.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.182A.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.182A.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.182A.0020.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.182A.0020.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.182A.0020.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.182A.0020.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.182A.0020.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.182A.0020.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.182A.0020.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.182A.0020.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00E4 ; [.182B.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.182B.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.182B.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.182B.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.182B.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.182B.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.182C.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.182C.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.182C.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.182C.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.182C.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.182C.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.182D.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.182D.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.182D.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.182D.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.182D.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.182D.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.182D.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.182D.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.182D.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.182D.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.182D.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.182D.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
new file mode 100644
index 00000000000..433d59caa7c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
@@ -0,0 +1,63 @@
++{
+# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
+01E5 ; [.1644.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.1644.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
+014B ; [.1702.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
+014A ; [.1702.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
+0167 ; [.17C9.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.17C9.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
+0077 ; [.1812.0021.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.1812.0021.0008.0057] # LATIN CAPITAL LETTER W
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292 ; [.1844.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
+01B7 ; [.1844.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
+01EF ; [.1844.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.1844.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5 ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1845.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1845.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1845.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1846.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1846.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.1846.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1846.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1846.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1846.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1846.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1846.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1846.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1847.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1847.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1847.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1847.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
new file mode 100644
index 00000000000..2e645ec32b3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
@@ -0,0 +1,11 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
new file mode 100644
index 00000000000..3f0506d5919
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
@@ -0,0 +1,74 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1847.0020.001C.0061][.0000.0000.0002.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1847.0020.001C.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0061 ; [.1847.0020.001D.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1847.0020.001D.0041][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl
new file mode 100644
index 00000000000..d7e8355abdf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl
@@ -0,0 +1,3 @@
++{
+ backwards => 2,
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
new file mode 100644
index 00000000000..644716a5516
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
@@ -0,0 +1,13 @@
++{
+# b-hook, d-hook, k-hook, y-hook don't require tailoring
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0073 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+0027 0079 ; [.183F.0020.0002.01B4] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.183F.0020.0008.01B3] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
new file mode 100644
index 00000000000..4c53b23e2b5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
@@ -0,0 +1,35 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0065 ; [.15A4.0020.0002.0065] # LATIN SMALL LETTER E
+0045 ; [.15A4.0020.0008.0045] # LATIN CAPITAL LETTER E
+0069 ; [.15A5.0020.0002.0069] # LATIN SMALL LETTER I
+0049 ; [.15A5.0020.0008.0049] # LATIN CAPITAL LETTER I
+006F ; [.15A6.0020.0002.006F] # LATIN SMALL LETTER O
+004F ; [.15A6.0020.0008.004F] # LATIN CAPITAL LETTER O
+0075 ; [.15A7.0020.0002.0075] # LATIN SMALL LETTER U
+0055 ; [.15A7.0020.0008.0055] # LATIN CAPITAL LETTER U
+0068 ; [.15A8.0020.0002.0068] # LATIN SMALL LETTER H
+0048 ; [.15A8.0020.0008.0048] # LATIN CAPITAL LETTER H
+006B ; [.15A9.0020.0002.006B] # LATIN SMALL LETTER K
+004B ; [.15A9.0020.0008.004B] # LATIN CAPITAL LETTER K
+006C ; [.15AA.0020.0002.006C] # LATIN SMALL LETTER L
+004C ; [.15AA.0020.0008.004C] # LATIN CAPITAL LETTER L
+006D ; [.15AB.0020.0002.006D] # LATIN SMALL LETTER M
+004D ; [.15AB.0020.0008.004D] # LATIN CAPITAL LETTER M
+006E ; [.15AC.0020.0002.006E] # LATIN SMALL LETTER N
+004E ; [.15AC.0020.0008.004E] # LATIN CAPITAL LETTER N
+0070 ; [.15AD.0020.0002.0070] # LATIN SMALL LETTER P
+0050 ; [.15AD.0020.0008.0050] # LATIN CAPITAL LETTER P
+0077 ; [.15AE.0020.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.15AE.0020.0008.0057] # LATIN CAPITAL LETTER W
+02BB ; [.15AF.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+0113 ; [.15A4.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15A4.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
+012B ; [.15A5.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.15A5.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+014D ; [.15A6.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.15A6.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
+016B ; [.15A7.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.15A7.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
new file mode 100644
index 00000000000..b83305ca3f2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
@@ -0,0 +1,51 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0107 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+01C6 ; [.15E5.0020.0002.01C6] # LATIN SMALL LETTER DZ WITH CARON
+0064 017D ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
+01C5 ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01C4 ; [.15E5.0020.0008.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
+0064 017E ; [.15E5.0020.0002.01C6] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+0044 017E ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+0044 017D ; [.15E5.0020.0008.01C4] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
+0064 007A 030C ; [.15E5.0020.0002.01C6] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0064 005A 030C ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
+0044 007A 030C ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 005A 030C ; [.15E5.0020.0008.01C4] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
+0111 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+01C9 ; [.16C5.0020.0002.01C9] # LATIN SMALL LETTER LJ
+006C 006A ; [.16C5.0020.0002.01C9] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
+006C 004A ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER J>
+01C8 ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+004C 006A ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
+01C7 ; [.16C5.0020.0008.01C7] # LATIN CAPITAL LETTER LJ
+004C 004A ; [.16C5.0020.0008.01C7] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
+01CC ; [.1703.0020.0002.01CC] # LATIN SMALL LETTER NJ
+006E 006A ; [.1703.0020.0002.01CC] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+006E 004A ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
+01CB ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+004E 006A ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+01CA ; [.1703.0020.0008.01CA] # LATIN CAPITAL LETTER NJ
+004E 004A ; [.1703.0020.0008.01CA] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
new file mode 100644
index 00000000000..508f45356f9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
@@ -0,0 +1,150 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0073 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0053 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0073 ; [.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0053 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 007A ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 005A ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 007A ; [.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 007A 0073 ; [.15E6.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 007A 0053 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 005A 0073 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 005A 0053 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 007A 0073 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 007A 0053 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 005A 0073 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 005A 0053 ; [.15E6.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0079 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0059 ; [.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0079 ; [.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0059 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 0079 ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 0059 ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 0079 ; [.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 0059 ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 0079 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 0059 ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 0079 ; [.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 007A ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 005A ; [.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 007A ; [.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 005A ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0079 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0059 ; [.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0079 ; [.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0059 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 0073 ; [.1845.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 0053 ; [.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 0073 ; [.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 0053 ; [.1845.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+00F6 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1725.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1725.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1725.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1725.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00FC ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.17EA.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.17EA.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.17EA.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.17EA.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0063 0063 0073 ; [.15D2.0020.0002.0063][.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0063 0053 ; [.15D2.0020.0002.0063][.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0063 0043 0073 ; [.15D2.0020.0002.0063][.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0063 0043 0053 ; [.15D2.0020.0002.0063][.15D2.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0043 0063 0073 ; [.15D2.0020.0008.0043][.15D2.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0043 0063 0053 ; [.15D2.0020.0008.0043][.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0043 0073 ; [.15D2.0020.0008.0043][.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0043 0053 ; [.15D2.0020.0008.0043][.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 0064 007A ; [.15E5.0020.0002.0064][.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 0064 005A ; [.15E5.0020.0002.0064][.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0044 007A ; [.15E5.0020.0002.0064][.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0064 0044 005A ; [.15E5.0020.0002.0064][.15E5.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0064 007A ; [.15E5.0020.0008.0044][.15E5.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 0064 005A ; [.15E5.0020.0008.0044][.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0044 007A ; [.15E5.0020.0008.0044][.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 0044 005A ; [.15E5.0020.0008.0044][.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0064 007A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 007A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0064 005A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 005A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 007A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 007A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 005A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 005A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 007A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 007A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 005A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 005A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 007A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 007A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 005A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 005A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0067 0079 ; [.1645.0020.0002.0067][.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0067 0059 ; [.1645.0020.0002.0067][.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0067 0047 0079 ; [.1645.0020.0002.0067][.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0067 0047 0059 ; [.1645.0020.0002.0067][.1645.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0067 0079 ; [.1645.0020.0008.0047][.1645.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0047 0067 0059 ; [.1645.0020.0008.0047][.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0047 0079 ; [.1645.0020.0008.0047][.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0047 0059 ; [.1645.0020.0008.0047][.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 006C 0079 ; [.16C5.0020.0002.006C][.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 006C 0059 ; [.16C5.0020.0002.006C][.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+006C 004C 0079 ; [.16C5.0020.0002.006C][.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+006C 004C 0059 ; [.16C5.0020.0002.006C][.16C5.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+004C 006C 0079 ; [.16C5.0020.0008.004C][.16C5.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+004C 006C 0059 ; [.16C5.0020.0008.004C][.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 004C 0079 ; [.16C5.0020.0008.004C][.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 004C 0059 ; [.16C5.0020.0008.004C][.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 006E 0079 ; [.1703.0020.0002.006E][.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 006E 0059 ; [.1703.0020.0002.006E][.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+006E 004E 0079 ; [.1703.0020.0002.006E][.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+006E 004E 0059 ; [.1703.0020.0002.006E][.1703.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+004E 006E 0079 ; [.1703.0020.0008.004E][.1703.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 006E 0059 ; [.1703.0020.0008.004E][.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 004E 0079 ; [.1703.0020.0008.004E][.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 004E 0059 ; [.1703.0020.0008.004E][.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0073 007A ; [.17A7.0020.0002.0073][.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 0073 005A ; [.17A7.0020.0002.0073][.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0073 0053 007A ; [.17A7.0020.0002.0073][.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0073 0053 005A ; [.17A7.0020.0002.0073][.17A7.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0073 007A ; [.17A7.0020.0008.0053][.17A7.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0053 0073 005A ; [.17A7.0020.0008.0053][.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0053 007A ; [.17A7.0020.0008.0053][.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 0053 005A ; [.17A7.0020.0008.0053][.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0074 0079 ; [.17CA.0020.0002.0074][.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0074 0059 ; [.17CA.0020.0002.0074][.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0074 0054 0079 ; [.17CA.0020.0002.0074][.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0074 0054 0059 ; [.17CA.0020.0002.0074][.17CA.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0074 0079 ; [.17CA.0020.0008.0054][.17CA.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0054 0074 0059 ; [.17CA.0020.0008.0054][.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0054 0079 ; [.17CA.0020.0008.0054][.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0054 0059 ; [.17CA.0020.0008.0054][.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 007A 0073 ; [.1845.0020.0002.007A][.1845.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 007A 0053 ; [.1845.0020.0002.007A][.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+007A 005A 0073 ; [.1845.0020.0002.007A][.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+007A 005A 0053 ; [.1845.0020.0002.007A][.1845.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+005A 007A 0073 ; [.1845.0020.0008.005A][.1845.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+005A 007A 0053 ; [.1845.0020.0008.005A][.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 005A 0073 ; [.1845.0020.0008.005A][.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 005A 0053 ; [.1845.0020.0008.005A][.1845.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
new file mode 100644
index 00000000000..e67f3609f96
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
@@ -0,0 +1,6 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0587 ; [.1BF1.0020.0002.0584][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
+0535 0582 ; [.1BF1.0020.0008.0554][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
new file mode 100644
index 00000000000..6f1ed06541f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
@@ -0,0 +1,53 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0068 ; [.15BA.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.15BA.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.15BA.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0067 0062 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0067 0068 ; [.1646.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
+0047 0068 ; [.1646.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
+0047 0048 ; [.1646.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
+0067 0077 ; [.1647.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
+0047 0077 ; [.1647.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
+0047 0057 ; [.1647.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
+1ECB ; [.1681.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
+0069 0323 ; [.1681.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.1681.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
+0049 0323 ; [.1681.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
+006B 0070 ; [.16B3.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.16B3.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.16B3.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006B 0077 ; [.16B4.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
+004B 0077 ; [.16B4.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
+004B 0057 ; [.16B4.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
+1E45 ; [.1703.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
+006E 0307 ; [.1703.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44 ; [.1703.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+004E 0307 ; [.1703.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+006E 0077 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
+004E 0077 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
+004E 0057 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
+006E 0079 ; [.1705.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1705.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1705.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+1ECD ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.1725.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1725.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3 ; [.1725.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1725.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+1EE5 ; [.17EA.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
+0075 0323 ; [.17EA.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.17EA.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
+0055 0323 ; [.17EA.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF1 ; [.17EA.0020.0002.1EE5][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.17EA.0020.0008.1EE4][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
new file mode 100644
index 00000000000..75b1efddbc0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
@@ -0,0 +1,78 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E1 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E5.0020.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E5.0020.0008.00D0] # LATIN CAPITAL LETTER ETH
+00E9 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0301 ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0341 ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0301 ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0341 ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E6 ; [.18B9.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18B9.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18B9.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18B9.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18B9.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18B9.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18B9.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18B9.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18B9.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18B9.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18B9.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18B9.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18B9.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.18BA.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18BA.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18BA.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18BA.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18BA.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18BA.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.18BA.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18BA.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18BA.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18BA.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18BA.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18BA.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00E5 ; [.18BB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18BB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18BB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18BB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18BB.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18BB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18BB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
new file mode 100644
index 00000000000..0b49c178848
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
@@ -0,0 +1,1241 @@
+use Unicode::Collate::CJK::JISX0208;
++{
+ overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+3041 ; [.3196.0020.000F.3041] # HIRAGANA LETTER SMALL A
+3042 ; [.3196.0020.0011.3042] # HIRAGANA LETTER A
+3043 ; [.3197.0020.000F.3043] # HIRAGANA LETTER SMALL I
+3044 ; [.3197.0020.0011.3044] # HIRAGANA LETTER I
+3045 ; [.3198.0020.000F.3045] # HIRAGANA LETTER SMALL U
+3046 ; [.3198.0020.0011.3046] # HIRAGANA LETTER U
+3047 ; [.319A.0020.000F.3047] # HIRAGANA LETTER SMALL E
+3048 ; [.319A.0020.0011.3048] # HIRAGANA LETTER E
+3049 ; [.319B.0020.000F.3049] # HIRAGANA LETTER SMALL O
+304A ; [.319B.0020.0011.304A] # HIRAGANA LETTER O
+304B ; [.319C.0020.0011.304B] # HIRAGANA LETTER KA
+304C ; [.319C.0020.0011.304B][.0000.014E.0002.3099] # HIRAGANA LETTER GA
+304D ; [.319D.0020.0011.304D] # HIRAGANA LETTER KI
+304E ; [.319D.0020.0011.304D][.0000.014E.0002.3099] # HIRAGANA LETTER GI
+304F ; [.319E.0020.0011.304F] # HIRAGANA LETTER KU
+3050 ; [.319E.0020.0011.304F][.0000.014E.0002.3099] # HIRAGANA LETTER GU
+3051 ; [.319F.0020.0011.3051] # HIRAGANA LETTER KE
+3052 ; [.319F.0020.0011.3051][.0000.014E.0002.3099] # HIRAGANA LETTER GE
+3053 ; [.31A0.0020.0011.3053] # HIRAGANA LETTER KO
+3054 ; [.31A0.0020.0011.3053][.0000.014E.0002.3099] # HIRAGANA LETTER GO
+3055 ; [.31A1.0020.0011.3055] # HIRAGANA LETTER SA
+3056 ; [.31A1.0020.0011.3055][.0000.014E.0002.3099] # HIRAGANA LETTER ZA
+3057 ; [.31A2.0020.0011.3057] # HIRAGANA LETTER SI
+3058 ; [.31A2.0020.0011.3057][.0000.014E.0002.3099] # HIRAGANA LETTER ZI
+3059 ; [.31A3.0020.0011.3059] # HIRAGANA LETTER SU
+305A ; [.31A3.0020.0011.3059][.0000.014E.0002.3099] # HIRAGANA LETTER ZU
+305B ; [.31A4.0020.0011.305B] # HIRAGANA LETTER SE
+305C ; [.31A4.0020.0011.305B][.0000.014E.0002.3099] # HIRAGANA LETTER ZE
+305D ; [.31A5.0020.0011.305D] # HIRAGANA LETTER SO
+305E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099] # HIRAGANA LETTER ZO
+305F ; [.31A6.0020.0011.305F] # HIRAGANA LETTER TA
+3060 ; [.31A6.0020.0011.305F][.0000.014E.0002.3099] # HIRAGANA LETTER DA
+3061 ; [.31A7.0020.0011.3061] # HIRAGANA LETTER TI
+3062 ; [.31A7.0020.0011.3061][.0000.014E.0002.3099] # HIRAGANA LETTER DI
+3063 ; [.31A8.0020.000F.3063] # HIRAGANA LETTER SMALL TU
+3064 ; [.31A8.0020.0011.3064] # HIRAGANA LETTER TU
+3065 ; [.31A8.0020.0011.3064][.0000.014E.0002.3099] # HIRAGANA LETTER DU
+3066 ; [.31A9.0020.0011.3066] # HIRAGANA LETTER TE
+3067 ; [.31A9.0020.0011.3066][.0000.014E.0002.3099] # HIRAGANA LETTER DE
+3068 ; [.31AA.0020.0011.3068] # HIRAGANA LETTER TO
+3069 ; [.31AA.0020.0011.3068][.0000.014E.0002.3099] # HIRAGANA LETTER DO
+306A ; [.31AB.0020.0011.306A] # HIRAGANA LETTER NA
+306B ; [.31AC.0020.0011.306B] # HIRAGANA LETTER NI
+306C ; [.31AD.0020.0011.306C] # HIRAGANA LETTER NU
+306D ; [.31AE.0020.0011.306D] # HIRAGANA LETTER NE
+306E ; [.31AF.0020.0011.306E] # HIRAGANA LETTER NO
+306F ; [.31B0.0020.0011.306F] # HIRAGANA LETTER HA
+3070 ; [.31B0.0020.0011.306F][.0000.014E.0002.3099] # HIRAGANA LETTER BA
+3071 ; [.31B0.0020.0011.306F][.0000.014F.0002.309A] # HIRAGANA LETTER PA
+3072 ; [.31B1.0020.0011.3072] # HIRAGANA LETTER HI
+3073 ; [.31B1.0020.0011.3072][.0000.014E.0002.3099] # HIRAGANA LETTER BI
+3074 ; [.31B1.0020.0011.3072][.0000.014F.0002.309A] # HIRAGANA LETTER PI
+3075 ; [.31B2.0020.0011.3075] # HIRAGANA LETTER HU
+3076 ; [.31B2.0020.0011.3075][.0000.014E.0002.3099] # HIRAGANA LETTER BU
+3077 ; [.31B2.0020.0011.3075][.0000.014F.0002.309A] # HIRAGANA LETTER PU
+3078 ; [.31B3.0020.0011.3078] # HIRAGANA LETTER HE
+3079 ; [.31B3.0020.0011.3078][.0000.014E.0002.3099] # HIRAGANA LETTER BE
+307A ; [.31B3.0020.0011.3078][.0000.014F.0002.309A] # HIRAGANA LETTER PE
+307B ; [.31B4.0020.0011.307B] # HIRAGANA LETTER HO
+307C ; [.31B4.0020.0011.307B][.0000.014E.0002.3099] # HIRAGANA LETTER BO
+307D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A] # HIRAGANA LETTER PO
+307E ; [.31B5.0020.0011.307E] # HIRAGANA LETTER MA
+307F ; [.31B6.0020.0011.307F] # HIRAGANA LETTER MI
+3080 ; [.31B7.0020.0011.3080] # HIRAGANA LETTER MU
+3081 ; [.31B8.0020.0011.3081] # HIRAGANA LETTER ME
+3082 ; [.31B9.0020.0011.3082] # HIRAGANA LETTER MO
+3083 ; [.31BA.0020.000F.3083] # HIRAGANA LETTER SMALL YA
+3084 ; [.31BA.0020.0011.3084] # HIRAGANA LETTER YA
+3085 ; [.31BB.0020.000F.3085] # HIRAGANA LETTER SMALL YU
+3086 ; [.31BB.0020.0011.3086] # HIRAGANA LETTER YU
+3087 ; [.31BD.0020.000F.3087] # HIRAGANA LETTER SMALL YO
+3088 ; [.31BD.0020.0011.3088] # HIRAGANA LETTER YO
+3089 ; [.31BE.0020.0011.3089] # HIRAGANA LETTER RA
+308A ; [.31BF.0020.0011.308A] # HIRAGANA LETTER RI
+308B ; [.31C0.0020.0011.308B] # HIRAGANA LETTER RU
+308C ; [.31C1.0020.0011.308C] # HIRAGANA LETTER RE
+308D ; [.31C2.0020.0011.308D] # HIRAGANA LETTER RO
+308E ; [.31C3.0020.000F.308E] # HIRAGANA LETTER SMALL WA
+308F ; [.31C3.0020.0011.308F] # HIRAGANA LETTER WA
+3090 ; [.31C4.0020.0011.3090] # HIRAGANA LETTER WI
+3091 ; [.31C5.0020.0011.3091] # HIRAGANA LETTER WE
+3092 ; [.31C6.0020.0011.3092] # HIRAGANA LETTER WO
+3093 ; [.31C7.0020.0011.3093] # HIRAGANA LETTER N
+3094 ; [.3198.0020.0011.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU
+3095 ; [.319C.0020.000F.3095] # HIRAGANA LETTER SMALL KA
+3096 ; [.319F.0020.000F.3096] # HIRAGANA LETTER SMALL KE
+3000 ; [*020A.0020.0002.0020] # IDEOGRAPHIC SPACE
+FF01 ; [*027B.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK
+FF02 ; [*0304.0020.0002.0022] # FULLWIDTH QUOTATION MARK
+FF03 ; [*0371.0020.0002.0023] # FULLWIDTH NUMBER SIGN
+FF04 ; [.1574.0020.0002.0024] # FULLWIDTH DOLLAR SIGN
+FF05 ; [*0372.0020.0002.0025] # FULLWIDTH PERCENT SIGN
+FF06 ; [*036E.0020.0002.0026] # FULLWIDTH AMPERSAND
+FF07 ; [*02FD.0020.0002.0027] # FULLWIDTH APOSTROPHE
+FF08 ; [*030E.0020.0002.0028] # FULLWIDTH LEFT PARENTHESIS
+FF09 ; [*030F.0020.0002.0029] # FULLWIDTH RIGHT PARENTHESIS
+FF0A ; [*0366.0020.0002.002A] # FULLWIDTH ASTERISK
+FF0B ; [*056A.0020.0002.002B] # FULLWIDTH PLUS SIGN
+FF0C ; [*0241.0020.0002.002C] # FULLWIDTH COMMA
+FF0D ; [*0230.0020.0002.002D] # FULLWIDTH HYPHEN-MINUS
+FF0E ; [*028E.0020.0002.002E] # FULLWIDTH FULL STOP
+FF0F ; [*036B.0020.0002.002F] # FULLWIDTH SOLIDUS
+FF10 ; [.1599.0020.0002.0030] # FULLWIDTH DIGIT ZERO
+FF11 ; [.159A.0020.0002.0031] # FULLWIDTH DIGIT ONE
+FF12 ; [.159B.0020.0002.0032] # FULLWIDTH DIGIT TWO
+FF13 ; [.159C.0020.0002.0033] # FULLWIDTH DIGIT THREE
+FF14 ; [.159D.0020.0002.0034] # FULLWIDTH DIGIT FOUR
+FF15 ; [.159E.0020.0002.0035] # FULLWIDTH DIGIT FIVE
+FF16 ; [.159F.0020.0002.0036] # FULLWIDTH DIGIT SIX
+FF17 ; [.15A0.0020.0002.0037] # FULLWIDTH DIGIT SEVEN
+FF18 ; [.15A1.0020.0002.0038] # FULLWIDTH DIGIT EIGHT
+FF19 ; [.15A2.0020.0002.0039] # FULLWIDTH DIGIT NINE
+FF1A ; [*0254.0020.0002.003A] # FULLWIDTH COLON
+FF1B ; [*0250.0020.0002.003B] # FULLWIDTH SEMICOLON
+FF1C ; [*056E.0020.0002.003C] # FULLWIDTH LESS-THAN SIGN
+FF1D ; [*056F.0020.0002.003D] # FULLWIDTH EQUALS SIGN
+FF1E ; [*0570.0020.0002.003E] # FULLWIDTH GREATER-THAN SIGN
+FF1F ; [*0280.0020.0002.003F] # FULLWIDTH QUESTION MARK
+FF20 ; [*0365.0020.0002.0040] # FULLWIDTH COMMERCIAL AT
+FF21 ; [.15A3.0020.0008.0041] # FULLWIDTH LATIN CAPITAL LETTER A
+FF22 ; [.15B9.0020.0008.0042] # FULLWIDTH LATIN CAPITAL LETTER B
+FF23 ; [.15D1.0020.0008.0043] # FULLWIDTH LATIN CAPITAL LETTER C
+FF24 ; [.15E4.0020.0008.0044] # FULLWIDTH LATIN CAPITAL LETTER D
+FF25 ; [.15FF.0020.0008.0045] # FULLWIDTH LATIN CAPITAL LETTER E
+FF26 ; [.1637.0020.0008.0046] # FULLWIDTH LATIN CAPITAL LETTER F
+FF27 ; [.1644.0020.0008.0047] # FULLWIDTH LATIN CAPITAL LETTER G
+FF28 ; [.1667.0020.0008.0048] # FULLWIDTH LATIN CAPITAL LETTER H
+FF29 ; [.1680.0020.0008.0049] # FULLWIDTH LATIN CAPITAL LETTER I
+FF2A ; [.1699.0020.0008.004A] # FULLWIDTH LATIN CAPITAL LETTER J
+FF2B ; [.16B2.0020.0008.004B] # FULLWIDTH LATIN CAPITAL LETTER K
+FF2C ; [.16C4.0020.0008.004C] # FULLWIDTH LATIN CAPITAL LETTER L
+FF2D ; [.16F4.0020.0008.004D] # FULLWIDTH LATIN CAPITAL LETTER M
+FF2E ; [.1702.0020.0008.004E] # FULLWIDTH LATIN CAPITAL LETTER N
+FF2F ; [.1724.0020.0008.004F] # FULLWIDTH LATIN CAPITAL LETTER O
+FF30 ; [.1749.0020.0008.0050] # FULLWIDTH LATIN CAPITAL LETTER P
+FF31 ; [.175E.0020.0008.0051] # FULLWIDTH LATIN CAPITAL LETTER Q
+FF32 ; [.1770.0020.0008.0052] # FULLWIDTH LATIN CAPITAL LETTER R
+FF33 ; [.17A6.0020.0008.0053] # FULLWIDTH LATIN CAPITAL LETTER S
+FF34 ; [.17C9.0020.0008.0054] # FULLWIDTH LATIN CAPITAL LETTER T
+FF35 ; [.17E9.0020.0008.0055] # FULLWIDTH LATIN CAPITAL LETTER U
+FF36 ; [.1812.0020.0008.0056] # FULLWIDTH LATIN CAPITAL LETTER V
+FF37 ; [.1824.0020.0008.0057] # FULLWIDTH LATIN CAPITAL LETTER W
+FF38 ; [.182E.0020.0008.0058] # FULLWIDTH LATIN CAPITAL LETTER X
+FF39 ; [.1833.0020.0008.0059] # FULLWIDTH LATIN CAPITAL LETTER Y
+FF3A ; [.1844.0020.0008.005A] # FULLWIDTH LATIN CAPITAL LETTER Z
+FF3B ; [*0310.0020.0002.005B] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C ; [*02FD.0020.0002.0027] # FULLWIDTH REVERSE SOLIDUS
+FF3D ; [*0311.0020.0002.005D] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E ; [*020F.0020.0002.005E] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F ; [*021B.0020.0002.005F] # FULLWIDTH LOW LINE
+FF40 ; [*020C.0020.0002.0060] # FULLWIDTH GRAVE ACCENT
+FF41 ; [.15A3.0020.0002.0061] # FULLWIDTH LATIN SMALL LETTER A
+FF42 ; [.15B9.0020.0002.0062] # FULLWIDTH LATIN SMALL LETTER B
+FF43 ; [.15D1.0020.0002.0063] # FULLWIDTH LATIN SMALL LETTER C
+FF44 ; [.15E4.0020.0002.0064] # FULLWIDTH LATIN SMALL LETTER D
+FF45 ; [.15FF.0020.0002.0065] # FULLWIDTH LATIN SMALL LETTER E
+FF46 ; [.1637.0020.0002.0066] # FULLWIDTH LATIN SMALL LETTER F
+FF47 ; [.1644.0020.0002.0067] # FULLWIDTH LATIN SMALL LETTER G
+FF48 ; [.1667.0020.0002.0068] # FULLWIDTH LATIN SMALL LETTER H
+FF49 ; [.1680.0020.0002.0069] # FULLWIDTH LATIN SMALL LETTER I
+FF4A ; [.1699.0020.0002.006A] # FULLWIDTH LATIN SMALL LETTER J
+FF4B ; [.16B2.0020.0002.006B] # FULLWIDTH LATIN SMALL LETTER K
+FF4C ; [.16C4.0020.0002.006C] # FULLWIDTH LATIN SMALL LETTER L
+FF4D ; [.16F4.0020.0002.006D] # FULLWIDTH LATIN SMALL LETTER M
+FF4E ; [.1702.0020.0002.006E] # FULLWIDTH LATIN SMALL LETTER N
+FF4F ; [.1724.0020.0002.006F] # FULLWIDTH LATIN SMALL LETTER O
+FF50 ; [.1749.0020.0002.0070] # FULLWIDTH LATIN SMALL LETTER P
+FF51 ; [.175E.0020.0002.0071] # FULLWIDTH LATIN SMALL LETTER Q
+FF52 ; [.1770.0020.0002.0072] # FULLWIDTH LATIN SMALL LETTER R
+FF53 ; [.17A6.0020.0002.0073] # FULLWIDTH LATIN SMALL LETTER S
+FF54 ; [.17C9.0020.0002.0074] # FULLWIDTH LATIN SMALL LETTER T
+FF55 ; [.17E9.0020.0002.0075] # FULLWIDTH LATIN SMALL LETTER U
+FF56 ; [.1812.0020.0002.0076] # FULLWIDTH LATIN SMALL LETTER V
+FF57 ; [.1824.0020.0002.0077] # FULLWIDTH LATIN SMALL LETTER W
+FF58 ; [.182E.0020.0002.0078] # FULLWIDTH LATIN SMALL LETTER X
+FF59 ; [.1833.0020.0002.0079] # FULLWIDTH LATIN SMALL LETTER Y
+FF5A ; [.1844.0020.0002.007A] # FULLWIDTH LATIN SMALL LETTER Z
+FF5B ; [*0312.0020.0002.007B] # FULLWIDTH LEFT CURLY BRACKET
+FF5C ; [*0572.0020.0002.007C] # FULLWIDTH VERTICAL LINE
+FF5D ; [*0313.0020.0002.007D] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E ; [*0575.0020.0002.007E] # FULLWIDTH TILDE
+FF5F ; [*0320.0020.0002.2985] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60 ; [*0321.0020.0002.2986] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61 ; [*029E.0020.0002.3002] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62 ; [*0350.0020.0002.300C] # HALFWIDTH LEFT CORNER BRACKET
+FF63 ; [*0351.0020.0002.300D] # HALFWIDTH RIGHT CORNER BRACKET
+FF64 ; [*024D.0020.0002.3001] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65 ; [*0240.0020.0002.30FB] # HALFWIDTH KATAKANA MIDDLE DOT
+FF66 ; [.31C6.0020.0011.30F2] # HALFWIDTH KATAKANA LETTER WO
+FF67 ; [.3196.0020.000F.30A1] # HALFWIDTH KATAKANA LETTER SMALL A
+FF68 ; [.3197.0020.000F.30A3] # HALFWIDTH KATAKANA LETTER SMALL I
+FF69 ; [.3198.0020.000F.30A5] # HALFWIDTH KATAKANA LETTER SMALL U
+FF6A ; [.319A.0020.000F.30A7] # HALFWIDTH KATAKANA LETTER SMALL E
+FF6B ; [.319B.0020.000F.30A9] # HALFWIDTH KATAKANA LETTER SMALL O
+FF6C ; [.31BA.0020.000F.30E3] # HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D ; [.31BB.0020.000F.30E5] # HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E ; [.31BD.0020.000F.30E7] # HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F ; [.31A8.0020.000F.30C3] # HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 ; [.1570.0020.0002.30FC] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71 ; [.3196.0020.0011.30A2] # HALFWIDTH KATAKANA LETTER A
+FF72 ; [.3197.0020.0011.30A4] # HALFWIDTH KATAKANA LETTER I
+FF73 ; [.3198.0020.0011.30A6] # HALFWIDTH KATAKANA LETTER U
+FF74 ; [.319A.0020.0011.30A8] # HALFWIDTH KATAKANA LETTER E
+FF75 ; [.319B.0020.0011.30AA] # HALFWIDTH KATAKANA LETTER O
+FF76 ; [.319C.0020.0011.30AB] # HALFWIDTH KATAKANA LETTER KA
+FF77 ; [.319D.0020.0011.30AD] # HALFWIDTH KATAKANA LETTER KI
+FF78 ; [.319E.0020.0011.30AF] # HALFWIDTH KATAKANA LETTER KU
+FF79 ; [.319F.0020.0011.30B1] # HALFWIDTH KATAKANA LETTER KE
+FF7A ; [.31A0.0020.0011.30B3] # HALFWIDTH KATAKANA LETTER KO
+FF7B ; [.31A1.0020.0011.30B5] # HALFWIDTH KATAKANA LETTER SA
+FF7C ; [.31A2.0020.0011.30B7] # HALFWIDTH KATAKANA LETTER SI
+FF7D ; [.31A3.0020.0011.30B9] # HALFWIDTH KATAKANA LETTER SU
+FF7E ; [.31A4.0020.0011.30BB] # HALFWIDTH KATAKANA LETTER SE
+FF7F ; [.31A5.0020.0011.30BD] # HALFWIDTH KATAKANA LETTER SO
+FF80 ; [.31A6.0020.0011.30BF] # HALFWIDTH KATAKANA LETTER TA
+FF81 ; [.31A7.0020.0011.30C1] # HALFWIDTH KATAKANA LETTER TI
+FF82 ; [.31A8.0020.0011.30C4] # HALFWIDTH KATAKANA LETTER TU
+FF83 ; [.31A9.0020.0011.30C6] # HALFWIDTH KATAKANA LETTER TE
+FF84 ; [.31AA.0020.0011.30C8] # HALFWIDTH KATAKANA LETTER TO
+FF85 ; [.31AB.0020.0011.30CA] # HALFWIDTH KATAKANA LETTER NA
+FF86 ; [.31AC.0020.0011.30CB] # HALFWIDTH KATAKANA LETTER NI
+FF87 ; [.31AD.0020.0011.30CC] # HALFWIDTH KATAKANA LETTER NU
+FF88 ; [.31AE.0020.0011.30CD] # HALFWIDTH KATAKANA LETTER NE
+FF89 ; [.31AF.0020.0011.30CE] # HALFWIDTH KATAKANA LETTER NO
+FF8A ; [.31B0.0020.0011.30CF] # HALFWIDTH KATAKANA LETTER HA
+FF8B ; [.31B1.0020.0011.30D2] # HALFWIDTH KATAKANA LETTER HI
+FF8C ; [.31B2.0020.0011.30D5] # HALFWIDTH KATAKANA LETTER HU
+FF8D ; [.31B3.0020.0011.30D8] # HALFWIDTH KATAKANA LETTER HE
+FF8E ; [.31B4.0020.0011.30DB] # HALFWIDTH KATAKANA LETTER HO
+FF8F ; [.31B5.0020.0011.30DE] # HALFWIDTH KATAKANA LETTER MA
+FF90 ; [.31B6.0020.0011.30DF] # HALFWIDTH KATAKANA LETTER MI
+FF91 ; [.31B7.0020.0011.30E0] # HALFWIDTH KATAKANA LETTER MU
+FF92 ; [.31B8.0020.0011.30E1] # HALFWIDTH KATAKANA LETTER ME
+FF93 ; [.31B9.0020.0011.30E2] # HALFWIDTH KATAKANA LETTER MO
+FF94 ; [.31BA.0020.0011.30E4] # HALFWIDTH KATAKANA LETTER YA
+FF95 ; [.31BB.0020.0011.30E6] # HALFWIDTH KATAKANA LETTER YU
+FF96 ; [.31BD.0020.0011.30E8] # HALFWIDTH KATAKANA LETTER YO
+FF97 ; [.31BE.0020.0011.30E9] # HALFWIDTH KATAKANA LETTER RA
+FF98 ; [.31BF.0020.0011.30EA] # HALFWIDTH KATAKANA LETTER RI
+FF99 ; [.31C0.0020.0011.30EB] # HALFWIDTH KATAKANA LETTER RU
+FF9A ; [.31C1.0020.0011.30EC] # HALFWIDTH KATAKANA LETTER RE
+FF9B ; [.31C2.0020.0011.30ED] # HALFWIDTH KATAKANA LETTER RO
+FF9C ; [.31C3.0020.0011.30EF] # HALFWIDTH KATAKANA LETTER WA
+FF9D ; [.31C7.0020.0011.30F3] # HALFWIDTH KATAKANA LETTER N
+FF9E ; [.0000.014E.0002.3099] # HALFWIDTH KATAKANA VOICED SOUND MARK
+FF9F ; [.0000.014F.0002.309A] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFE0 ; [.1573.0020.0002.00A2] # FULLWIDTH CENT SIGN
+FFE1 ; [.1575.0020.0002.00A3] # FULLWIDTH POUND SIGN
+FFE2 ; [*0571.0020.0002.00AC] # FULLWIDTH NOT SIGN
+FFE3 ; [*020A.0020.0002.0020] # FULLWIDTH MACRON
+FFE4 ; [*0573.0020.0002.00A6] # FULLWIDTH BROKEN BAR
+FFE5 ; [.1576.0020.0002.00A5] # FULLWIDTH YEN SIGN
+FFE6 ; [.1588.0020.0002.20A9] # FULLWIDTH WON SIGN
+FFE8 ; [*0765.0020.0002.2502] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9 ; [*04F0.0020.0002.2190] # HALFWIDTH LEFTWARDS ARROW
+FFEA ; [*04F2.0020.0002.2191] # HALFWIDTH UPWARDS ARROW
+FFEB ; [*04F1.0020.0002.2192] # HALFWIDTH RIGHTWARDS ARROW
+FFEC ; [*04F3.0020.0002.2193] # HALFWIDTH DOWNWARDS ARROW
+FFED ; [*0803.0020.0002.25A0] # HALFWIDTH BLACK SQUARE
+FFEE ; [*082E.0020.0002.25CB] # HALFWIDTH WHITE CIRCLE
+30A1 30FC ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 30FC ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 FF70 ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3041 30FC ; [.3196.0020.000F.3041][.3196.0020.0007.3041] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A2 30FC ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 30FC ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 FF70 ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3042 30FC ; [.3196.0020.0011.3042][.3196.0020.0007.3042] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 30FC ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 30FC ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF70 ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 30FC ; [.319C.0020.0011.304B][.3196.0020.0007.304B] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AC 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 3099 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E FF70 ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304C 30FC ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.3196.0020.0007.304C] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 3099 30FC ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.3196.0020.0007.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 30FC ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B 30FC ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF70 ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 30FC ; [.31A1.0020.0011.3055][.3196.0020.0007.3055] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B6 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 3099 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E FF70 ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3056 30FC ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.3196.0020.0007.3056] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 3099 30FC ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.3196.0020.0007.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 30FC ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 30FC ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF70 ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 30FC ; [.31A6.0020.0011.305F][.3196.0020.0007.305F] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C0 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 3099 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E FF70 ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3060 30FC ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.3196.0020.0007.3060] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 3099 30FC ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.3196.0020.0007.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CA 30FC ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 30FC ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 FF70 ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306A 30FC ; [.31AB.0020.0011.306A][.3196.0020.0007.306A] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 30FC ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A 30FC ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF70 ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 30FC ; [.31B0.0020.0011.306F][.3196.0020.0007.306F] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D0 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 3099 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E FF70 ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3070 30FC ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.3196.0020.0007.3070] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 3099 30FC ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.3196.0020.0007.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D1 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 309A 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F FF70 ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3071 30FC ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.3196.0020.0007.3071] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 309A 30FC ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.3196.0020.0007.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DE 30FC ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F 30FC ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F FF70 ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307E 30FC ; [.31B5.0020.0011.307E][.3196.0020.0007.307E] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E3 30FC ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C 30FC ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C FF70 ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3083 30FC ; [.31BA.0020.000F.3083][.3196.0020.0007.3083] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E4 30FC ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 30FC ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 FF70 ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3084 30FC ; [.31BA.0020.0011.3084][.3196.0020.0007.3084] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E9 30FC ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 30FC ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 FF70 ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3089 30FC ; [.31BE.0020.0011.3089][.3196.0020.0007.3089] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EE 30FC ; [.31C3.0020.000F.30EE][.3196.0020.0007.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308E 30FC ; [.31C3.0020.000F.308E][.3196.0020.0007.308E] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 30FC ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C 30FC ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF70 ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308F 30FC ; [.31C3.0020.0011.308F][.3196.0020.0007.308F] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F7 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 3099 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E FF70 ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F5 30FC ; [.319C.0020.000F.30F5][.3196.0020.0007.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3095 30FC ; [.319C.0020.000F.3095][.3196.0020.0007.3095] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F5 30FC ; [.31B0.0020.000F.31F5][.3196.0020.0007.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FB 30FC ; [.31BE.0020.000F.31FB][.3196.0020.0007.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A3 30FC ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 30FC ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 FF70 ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3043 30FC ; [.3197.0020.000F.3043][.3197.0020.0007.3043] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A4 30FC ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 30FC ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 FF70 ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3044 30FC ; [.3197.0020.0011.3044][.3197.0020.0007.3044] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 30FC ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 30FC ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF70 ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 30FC ; [.319D.0020.0011.304D][.3197.0020.0007.304D] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AE 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 3099 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E FF70 ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304E 30FC ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.3197.0020.0007.304E] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 3099 30FC ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.3197.0020.0007.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 30FC ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C 30FC ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF70 ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 30FC ; [.31A2.0020.0011.3057][.3197.0020.0007.3057] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B8 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 3099 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E FF70 ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3058 30FC ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.3197.0020.0007.3058] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 3099 30FC ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.3197.0020.0007.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 30FC ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 30FC ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF70 ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 30FC ; [.31A7.0020.0011.3061][.3197.0020.0007.3061] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C2 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 3099 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E FF70 ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3062 30FC ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.3197.0020.0007.3062] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 3099 30FC ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.3197.0020.0007.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CB 30FC ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 30FC ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 FF70 ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306B 30FC ; [.31AC.0020.0011.306B][.3197.0020.0007.306B] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 30FC ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B 30FC ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF70 ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 30FC ; [.31B1.0020.0011.3072][.3197.0020.0007.3072] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D3 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 3099 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E FF70 ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3073 30FC ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.3197.0020.0007.3073] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 3099 30FC ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.3197.0020.0007.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D4 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 309A 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F FF70 ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3074 30FC ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.3197.0020.0007.3074] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 309A 30FC ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.3197.0020.0007.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DF 30FC ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 30FC ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 FF70 ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307F 30FC ; [.31B6.0020.0011.307F][.3197.0020.0007.307F] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EA 30FC ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 30FC ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 FF70 ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308A 30FC ; [.31BF.0020.0011.308A][.3197.0020.0007.308A] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 30FC ; [.31C4.0020.0011.30F0][.3197.0020.0007.30F0] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3090 30FC ; [.31C4.0020.0011.3090][.3197.0020.0007.3090] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F8 30FC ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.3197.0020.0007.30F8] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 3099 30FC ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.3197.0020.0007.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F1 30FC ; [.31A2.0020.000F.31F1][.3197.0020.0007.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F6 30FC ; [.31B1.0020.000F.31F6][.3197.0020.0007.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FC 30FC ; [.31BF.0020.000F.31FC][.3197.0020.0007.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A5 30FC ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 30FC ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 FF70 ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3045 30FC ; [.3198.0020.000F.3045][.3198.0020.0007.3045] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 30FC ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 30FC ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF70 ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 30FC ; [.3198.0020.0011.3046][.3198.0020.0007.3046] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 30FC ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 30FC ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF70 ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 30FC ; [.319E.0020.0011.304F][.3198.0020.0007.304F] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B0 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 3099 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E FF70 ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3050 30FC ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.3198.0020.0007.3050] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 3099 30FC ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.3198.0020.0007.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 30FC ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D 30FC ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF70 ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 30FC ; [.31A3.0020.0011.3059][.3198.0020.0007.3059] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BA 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 3099 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E FF70 ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305A 30FC ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.3198.0020.0007.305A] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 3099 30FC ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.3198.0020.0007.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C3 30FC ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F 30FC ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F FF70 ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3063 30FC ; [.31A8.0020.000F.3063][.3198.0020.0007.3063] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 30FC ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 30FC ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF70 ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 30FC ; [.31A8.0020.0011.3064][.3198.0020.0007.3064] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C5 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 3099 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E FF70 ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3065 30FC ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.3198.0020.0007.3065] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 3099 30FC ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.3198.0020.0007.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CC 30FC ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 30FC ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 FF70 ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306C 30FC ; [.31AD.0020.0011.306C][.3198.0020.0007.306C] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 30FC ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C 30FC ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF70 ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 30FC ; [.31B2.0020.0011.3075][.3198.0020.0007.3075] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D6 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 3099 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E FF70 ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3076 30FC ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.3198.0020.0007.3076] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 3099 30FC ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.3198.0020.0007.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D7 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 309A 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F FF70 ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3077 30FC ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.3198.0020.0007.3077] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 309A 30FC ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.3198.0020.0007.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E0 30FC ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 30FC ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 FF70 ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3080 30FC ; [.31B7.0020.0011.3080][.3198.0020.0007.3080] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E5 30FC ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D 30FC ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D FF70 ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3085 30FC ; [.31BB.0020.000F.3085][.3198.0020.0007.3085] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E6 30FC ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 30FC ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 FF70 ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3086 30FC ; [.31BB.0020.0011.3086][.3198.0020.0007.3086] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EB 30FC ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 30FC ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 FF70 ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308B 30FC ; [.31C0.0020.0011.308B][.3198.0020.0007.308B] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F4 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 3099 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E FF70 ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3094 30FC ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0007.3094] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 3099 30FC ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0007.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F0 30FC ; [.319E.0020.000F.31F0][.3198.0020.0007.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F2 30FC ; [.31A3.0020.000F.31F2][.3198.0020.0007.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F4 30FC ; [.31AD.0020.000F.31F4][.3198.0020.0007.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F7 30FC ; [.31B2.0020.000F.31F7][.3198.0020.0007.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FA 30FC ; [.31B7.0020.000F.31FA][.3198.0020.0007.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FD 30FC ; [.31C0.0020.000F.31FD][.3198.0020.0007.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A7 30FC ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A 30FC ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A FF70 ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3047 30FC ; [.319A.0020.000F.3047][.319A.0020.0007.3047] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A8 30FC ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 30FC ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 FF70 ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3048 30FC ; [.319A.0020.0011.3048][.319A.0020.0007.3048] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 30FC ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 30FC ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF70 ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 30FC ; [.319F.0020.0011.3051][.319A.0020.0007.3051] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B2 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 3099 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E FF70 ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3052 30FC ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319A.0020.0007.3052] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 3099 30FC ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319A.0020.0007.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 30FC ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E 30FC ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF70 ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 30FC ; [.31A4.0020.0011.305B][.319A.0020.0007.305B] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BC 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 3099 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E FF70 ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305C 30FC ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.319A.0020.0007.305C] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 3099 30FC ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.319A.0020.0007.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 30FC ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 30FC ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF70 ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 30FC ; [.31A9.0020.0011.3066][.319A.0020.0007.3066] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C7 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 3099 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E FF70 ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3067 30FC ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.319A.0020.0007.3067] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 3099 30FC ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.319A.0020.0007.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CD 30FC ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 30FC ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 FF70 ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306D 30FC ; [.31AE.0020.0011.306D][.319A.0020.0007.306D] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 30FC ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D 30FC ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF70 ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 30FC ; [.31B3.0020.0011.3078][.319A.0020.0007.3078] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D9 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 3099 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E FF70 ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3079 30FC ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.319A.0020.0007.3079] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 3099 30FC ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.319A.0020.0007.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DA 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 309A 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F FF70 ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307A 30FC ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.319A.0020.0007.307A] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 309A 30FC ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.319A.0020.0007.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E1 30FC ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 30FC ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 FF70 ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3081 30FC ; [.31B8.0020.0011.3081][.319A.0020.0007.3081] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EC 30FC ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A 30FC ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A FF70 ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308C 30FC ; [.31C1.0020.0011.308C][.319A.0020.0007.308C] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 30FC ; [.31C5.0020.0011.30F1][.319A.0020.0007.30F1] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3091 30FC ; [.31C5.0020.0011.3091][.319A.0020.0007.3091] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F9 30FC ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.319A.0020.0007.30F9] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 3099 30FC ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.319A.0020.0007.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F6 30FC ; [.319F.0020.000F.30F6][.319A.0020.0007.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3096 30FC ; [.319F.0020.000F.3096][.319A.0020.0007.3096] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F8 30FC ; [.31B3.0020.000F.31F8][.319A.0020.0007.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FE 30FC ; [.31C1.0020.000F.31FE][.319A.0020.0007.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A9 30FC ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B 30FC ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B FF70 ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3049 30FC ; [.319B.0020.000F.3049][.319B.0020.0007.3049] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AA 30FC ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 30FC ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 FF70 ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304A 30FC ; [.319B.0020.0011.304A][.319B.0020.0007.304A] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 30FC ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A 30FC ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF70 ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 30FC ; [.31A0.0020.0011.3053][.319B.0020.0007.3053] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B4 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 3099 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E FF70 ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3054 30FC ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.319B.0020.0007.3054] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 3099 30FC ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.319B.0020.0007.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 30FC ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F 30FC ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF70 ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 30FC ; [.31A5.0020.0011.305D][.319B.0020.0007.305D] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BE 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 3099 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E FF70 ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305E 30FC ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.319B.0020.0007.305E] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 3099 30FC ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.319B.0020.0007.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 30FC ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 30FC ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF70 ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 30FC ; [.31AA.0020.0011.3068][.319B.0020.0007.3068] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C9 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 3099 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E FF70 ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3069 30FC ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.319B.0020.0007.3069] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 3099 30FC ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.319B.0020.0007.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CE 30FC ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 30FC ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 FF70 ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306E 30FC ; [.31AF.0020.0011.306E][.319B.0020.0007.306E] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 30FC ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E 30FC ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF70 ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 30FC ; [.31B4.0020.0011.307B][.319B.0020.0007.307B] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DC 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 3099 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E FF70 ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307C 30FC ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.319B.0020.0007.307C] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 3099 30FC ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.319B.0020.0007.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DD 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 309A 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F FF70 ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307D 30FC ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.319B.0020.0007.307D] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 309A 30FC ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.319B.0020.0007.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E2 30FC ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 30FC ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 FF70 ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3082 30FC ; [.31B9.0020.0011.3082][.319B.0020.0007.3082] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E7 30FC ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E 30FC ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E FF70 ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3087 30FC ; [.31BD.0020.000F.3087][.319B.0020.0007.3087] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E8 30FC ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 30FC ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 FF70 ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3088 30FC ; [.31BD.0020.0011.3088][.319B.0020.0007.3088] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30ED 30FC ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B 30FC ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B FF70 ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308D 30FC ; [.31C2.0020.0011.308D][.319B.0020.0007.308D] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 30FC ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 30FC ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF70 ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3092 30FC ; [.31C6.0020.0011.3092][.319B.0020.0007.3092] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30FA 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 3099 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E FF70 ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F3 30FC ; [.31AA.0020.000F.31F3][.319B.0020.0007.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F9 30FC ; [.31B4.0020.000F.31F9][.319B.0020.0007.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FF 30FC ; [.31C2.0020.000F.31FF][.319B.0020.0007.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A1 30FD ; [.3196.0020.000F.30A1][.3196.0020.0010.30A1] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+FF67 30FD ; [.3196.0020.000F.30A1][.3196.0020.0010.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+3041 309D ; [.3196.0020.000F.3041][.3196.0020.0010.3041] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
+30A2 30FD ; [.3196.0020.0011.30A2][.3196.0020.0010.30A2] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
+FF71 30FD ; [.3196.0020.0011.30A2][.3196.0020.0010.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
+3042 309D ; [.3196.0020.0011.3042][.3196.0020.0010.3042] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
+30A3 30FD ; [.3197.0020.000F.30A3][.3197.0020.0010.30A3] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+FF68 30FD ; [.3197.0020.000F.30A3][.3197.0020.0010.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+3043 309D ; [.3197.0020.000F.3043][.3197.0020.0010.3043] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
+30A4 30FD ; [.3197.0020.0011.30A4][.3197.0020.0010.30A4] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
+FF72 30FD ; [.3197.0020.0011.30A4][.3197.0020.0010.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
+3044 309D ; [.3197.0020.0011.3044][.3197.0020.0010.3044] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
+30A5 30FD ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+FF69 30FD ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+3045 309D ; [.3198.0020.000F.3045][.3198.0020.0010.3045] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
+30A5 30FE ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+FF69 30FE ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+3045 309E ; [.3198.0020.000F.3045][.3198.0020.0010.3045][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
+30A6 30FD ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
+FF73 30FD ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
+3046 309D ; [.3198.0020.0011.3046][.3198.0020.0010.3046] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
+30A6 30FE ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6][.0000.014E.0002.3099] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+FF73 30FE ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+3046 309E ; [.3198.0020.0011.3046][.3198.0020.0010.3046][.0000.014E.0002.3099] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
+30A7 30FD ; [.319A.0020.000F.30A7][.319A.0020.0010.30A7] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+FF6A 30FD ; [.319A.0020.000F.30A7][.319A.0020.0010.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+3047 309D ; [.319A.0020.000F.3047][.319A.0020.0010.3047] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
+30A8 30FD ; [.319A.0020.0011.30A8][.319A.0020.0010.30A8] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
+FF74 30FD ; [.319A.0020.0011.30A8][.319A.0020.0010.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
+3048 309D ; [.319A.0020.0011.3048][.319A.0020.0010.3048] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
+30A9 30FD ; [.319B.0020.000F.30A9][.319B.0020.0010.30A9] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+FF6B 30FD ; [.319B.0020.000F.30A9][.319B.0020.0010.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+3049 309D ; [.319B.0020.000F.3049][.319B.0020.0010.3049] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
+30AA 30FD ; [.319B.0020.0011.30AA][.319B.0020.0010.30AA] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
+FF75 30FD ; [.319B.0020.0011.30AA][.319B.0020.0010.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
+304A 309D ; [.319B.0020.0011.304A][.319B.0020.0010.304A] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
+30AB 30FD ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+FF76 30FD ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+304B 309D ; [.319C.0020.0011.304B][.319C.0020.0010.304B] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
+30AB 30FE ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB][.0000.014E.0002.3099] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+FF76 30FE ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+304B 309E ; [.319C.0020.0011.304B][.319C.0020.0010.304B][.0000.014E.0002.3099] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
+30AC 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
+30AB 3099 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF76 FF9E 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304C 309D ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
+304B 3099 309D ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AC 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
+30AB 3099 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF76 FF9E 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304C 309E ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C][.0000.014E.0002.3099] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
+304B 3099 309E ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C][.0000.014E.0002.3099] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AD 30FD ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+FF77 30FD ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+304D 309D ; [.319D.0020.0011.304D][.319D.0020.0010.304D] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
+30AD 30FE ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD][.0000.014E.0002.3099] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+FF77 30FE ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+304D 309E ; [.319D.0020.0011.304D][.319D.0020.0010.304D][.0000.014E.0002.3099] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
+30AE 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
+30AD 3099 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF77 FF9E 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304E 309D ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
+304D 3099 309D ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AE 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
+30AD 3099 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF77 FF9E 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304E 309E ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E][.0000.014E.0002.3099] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
+304D 3099 309E ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E][.0000.014E.0002.3099] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AF 30FD ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+FF78 30FD ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+304F 309D ; [.319E.0020.0011.304F][.319E.0020.0010.304F] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
+30AF 30FE ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF][.0000.014E.0002.3099] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+FF78 30FE ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+304F 309E ; [.319E.0020.0011.304F][.319E.0020.0010.304F][.0000.014E.0002.3099] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
+30B0 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
+30AF 3099 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF78 FF9E 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3050 309D ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
+304F 3099 309D ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B0 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
+30AF 3099 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF78 FF9E 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3050 309E ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050][.0000.014E.0002.3099] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
+304F 3099 309E ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050][.0000.014E.0002.3099] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B1 30FD ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+FF79 30FD ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+3051 309D ; [.319F.0020.0011.3051][.319F.0020.0010.3051] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
+30B1 30FE ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1][.0000.014E.0002.3099] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+FF79 30FE ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+3051 309E ; [.319F.0020.0011.3051][.319F.0020.0010.3051][.0000.014E.0002.3099] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
+30B2 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
+30B1 3099 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF79 FF9E 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3052 309D ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
+3051 3099 309D ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B2 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
+30B1 3099 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF79 FF9E 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3052 309E ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052][.0000.014E.0002.3099] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
+3051 3099 309E ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052][.0000.014E.0002.3099] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B3 30FD ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+FF7A 30FD ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+3053 309D ; [.31A0.0020.0011.3053][.31A0.0020.0010.3053] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
+30B3 30FE ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3][.0000.014E.0002.3099] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+FF7A 30FE ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+3053 309E ; [.31A0.0020.0011.3053][.31A0.0020.0010.3053][.0000.014E.0002.3099] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
+30B4 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
+30B3 3099 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7A FF9E 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3054 309D ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
+3053 3099 309D ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B4 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
+30B3 3099 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7A FF9E 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3054 309E ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054][.0000.014E.0002.3099] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
+3053 3099 309E ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054][.0000.014E.0002.3099] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B5 30FD ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+FF7B 30FD ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+3055 309D ; [.31A1.0020.0011.3055][.31A1.0020.0010.3055] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
+30B5 30FE ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5][.0000.014E.0002.3099] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+FF7B 30FE ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+3055 309E ; [.31A1.0020.0011.3055][.31A1.0020.0010.3055][.0000.014E.0002.3099] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
+30B6 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
+30B5 3099 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7B FF9E 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3056 309D ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
+3055 3099 309D ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B6 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
+30B5 3099 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7B FF9E 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3056 309E ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056][.0000.014E.0002.3099] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
+3055 3099 309E ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056][.0000.014E.0002.3099] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B7 30FD ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+FF7C 30FD ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+3057 309D ; [.31A2.0020.0011.3057][.31A2.0020.0010.3057] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
+30B7 30FE ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7][.0000.014E.0002.3099] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+FF7C 30FE ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+3057 309E ; [.31A2.0020.0011.3057][.31A2.0020.0010.3057][.0000.014E.0002.3099] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
+30B8 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
+30B7 3099 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7C FF9E 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3058 309D ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
+3057 3099 309D ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B8 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
+30B7 3099 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7C FF9E 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3058 309E ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058][.0000.014E.0002.3099] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
+3057 3099 309E ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058][.0000.014E.0002.3099] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B9 30FD ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+FF7D 30FD ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+3059 309D ; [.31A3.0020.0011.3059][.31A3.0020.0010.3059] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
+30B9 30FE ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9][.0000.014E.0002.3099] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+FF7D 30FE ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+3059 309E ; [.31A3.0020.0011.3059][.31A3.0020.0010.3059][.0000.014E.0002.3099] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
+30BA 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
+30B9 3099 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7D FF9E 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305A 309D ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
+3059 3099 309D ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BA 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
+30B9 3099 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7D FF9E 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305A 309E ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A][.0000.014E.0002.3099] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
+3059 3099 309E ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A][.0000.014E.0002.3099] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BB 30FD ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+FF7E 30FD ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+305B 309D ; [.31A4.0020.0011.305B][.31A4.0020.0010.305B] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
+30BB 30FE ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB][.0000.014E.0002.3099] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+FF7E 30FE ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+305B 309E ; [.31A4.0020.0011.305B][.31A4.0020.0010.305B][.0000.014E.0002.3099] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
+30BC 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
+30BB 3099 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7E FF9E 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305C 309D ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
+305B 3099 309D ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BC 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
+30BB 3099 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7E FF9E 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305C 309E ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C][.0000.014E.0002.3099] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
+305B 3099 309E ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C][.0000.014E.0002.3099] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BD 30FD ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+FF7F 30FD ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+305D 309D ; [.31A5.0020.0011.305D][.31A5.0020.0010.305D] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
+30BD 30FE ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD][.0000.014E.0002.3099] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+FF7F 30FE ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+305D 309E ; [.31A5.0020.0011.305D][.31A5.0020.0010.305D][.0000.014E.0002.3099] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
+30BE 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
+30BD 3099 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7F FF9E 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305E 309D ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
+305D 3099 309D ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BE 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
+30BD 3099 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7F FF9E 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305E 309E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E][.0000.014E.0002.3099] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
+305D 3099 309E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E][.0000.014E.0002.3099] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BF 30FD ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+FF80 30FD ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+305F 309D ; [.31A6.0020.0011.305F][.31A6.0020.0010.305F] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
+30BF 30FE ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF][.0000.014E.0002.3099] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+FF80 30FE ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+305F 309E ; [.31A6.0020.0011.305F][.31A6.0020.0010.305F][.0000.014E.0002.3099] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
+30C0 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
+30BF 3099 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF80 FF9E 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3060 309D ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
+305F 3099 309D ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C0 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
+30BF 3099 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF80 FF9E 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3060 309E ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060][.0000.014E.0002.3099] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
+305F 3099 309E ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060][.0000.014E.0002.3099] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C1 30FD ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+FF81 30FD ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+3061 309D ; [.31A7.0020.0011.3061][.31A7.0020.0010.3061] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
+30C1 30FE ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1][.0000.014E.0002.3099] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+FF81 30FE ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+3061 309E ; [.31A7.0020.0011.3061][.31A7.0020.0010.3061][.0000.014E.0002.3099] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
+30C2 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
+30C1 3099 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF81 FF9E 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3062 309D ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
+3061 3099 309D ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C2 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
+30C1 3099 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF81 FF9E 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3062 309E ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062][.0000.014E.0002.3099] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
+3061 3099 309E ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062][.0000.014E.0002.3099] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C3 30FD ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+FF6F 30FD ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+3063 309D ; [.31A8.0020.000F.3063][.31A8.0020.0010.3063] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
+30C3 30FE ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+FF6F 30FE ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+3063 309E ; [.31A8.0020.000F.3063][.31A8.0020.0010.3063][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
+30C4 30FD ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+FF82 30FD ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+3064 309D ; [.31A8.0020.0011.3064][.31A8.0020.0010.3064] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
+30C4 30FE ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4][.0000.014E.0002.3099] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+FF82 30FE ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+3064 309E ; [.31A8.0020.0011.3064][.31A8.0020.0010.3064][.0000.014E.0002.3099] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
+30C5 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
+30C4 3099 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF82 FF9E 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3065 309D ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
+3064 3099 309D ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C5 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
+30C4 3099 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF82 FF9E 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3065 309E ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065][.0000.014E.0002.3099] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
+3064 3099 309E ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065][.0000.014E.0002.3099] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C6 30FD ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+FF83 30FD ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+3066 309D ; [.31A9.0020.0011.3066][.31A9.0020.0010.3066] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
+30C6 30FE ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6][.0000.014E.0002.3099] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+FF83 30FE ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+3066 309E ; [.31A9.0020.0011.3066][.31A9.0020.0010.3066][.0000.014E.0002.3099] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
+30C7 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
+30C6 3099 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF83 FF9E 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3067 309D ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
+3066 3099 309D ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C7 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
+30C6 3099 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF83 FF9E 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3067 309E ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067][.0000.014E.0002.3099] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
+3066 3099 309E ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067][.0000.014E.0002.3099] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C8 30FD ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+FF84 30FD ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+3068 309D ; [.31AA.0020.0011.3068][.31AA.0020.0010.3068] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
+30C8 30FE ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8][.0000.014E.0002.3099] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+FF84 30FE ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+3068 309E ; [.31AA.0020.0011.3068][.31AA.0020.0010.3068][.0000.014E.0002.3099] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
+30C9 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
+30C8 3099 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF84 FF9E 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3069 309D ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
+3068 3099 309D ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C9 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
+30C8 3099 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF84 FF9E 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3069 309E ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069][.0000.014E.0002.3099] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
+3068 3099 309E ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069][.0000.014E.0002.3099] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30CA 30FD ; [.31AB.0020.0011.30CA][.31AB.0020.0010.30CA] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+FF85 30FD ; [.31AB.0020.0011.30CA][.31AB.0020.0010.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+306A 309D ; [.31AB.0020.0011.306A][.31AB.0020.0010.306A] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
+30CB 30FD ; [.31AC.0020.0011.30CB][.31AC.0020.0010.30CB] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+FF86 30FD ; [.31AC.0020.0011.30CB][.31AC.0020.0010.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+306B 309D ; [.31AC.0020.0011.306B][.31AC.0020.0010.306B] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
+30CC 30FD ; [.31AD.0020.0011.30CC][.31AD.0020.0010.30CC] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+FF87 30FD ; [.31AD.0020.0011.30CC][.31AD.0020.0010.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+306C 309D ; [.31AD.0020.0011.306C][.31AD.0020.0010.306C] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
+30CD 30FD ; [.31AE.0020.0011.30CD][.31AE.0020.0010.30CD] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+FF88 30FD ; [.31AE.0020.0011.30CD][.31AE.0020.0010.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+306D 309D ; [.31AE.0020.0011.306D][.31AE.0020.0010.306D] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
+30CE 30FD ; [.31AF.0020.0011.30CE][.31AF.0020.0010.30CE] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+FF89 30FD ; [.31AF.0020.0011.30CE][.31AF.0020.0010.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+306E 309D ; [.31AF.0020.0011.306E][.31AF.0020.0010.306E] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
+30CF 30FD ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+FF8A 30FD ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+306F 309D ; [.31B0.0020.0011.306F][.31B0.0020.0010.306F] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
+30CF 30FE ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF][.0000.014E.0002.3099] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+FF8A 30FE ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+306F 309E ; [.31B0.0020.0011.306F][.31B0.0020.0010.306F][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
+30D0 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
+30CF 3099 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9E 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3070 309D ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
+306F 3099 309D ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D0 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
+30CF 3099 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9E 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3070 309E ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070][.0000.014E.0002.3099] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
+306F 3099 309E ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D1 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
+30CF 309A 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9F 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3071 309D ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
+306F 309A 309D ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D1 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
+30CF 309A 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9F 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3071 309E ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071][.0000.014E.0002.3099] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
+306F 309A 309E ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D2 30FD ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+FF8B 30FD ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+3072 309D ; [.31B1.0020.0011.3072][.31B1.0020.0010.3072] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
+30D2 30FE ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2][.0000.014E.0002.3099] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+FF8B 30FE ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+3072 309E ; [.31B1.0020.0011.3072][.31B1.0020.0010.3072][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
+30D3 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
+30D2 3099 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9E 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3073 309D ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
+3072 3099 309D ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D3 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
+30D2 3099 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9E 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3073 309E ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073][.0000.014E.0002.3099] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
+3072 3099 309E ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D4 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
+30D2 309A 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9F 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3074 309D ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
+3072 309A 309D ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D4 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
+30D2 309A 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9F 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3074 309E ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074][.0000.014E.0002.3099] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
+3072 309A 309E ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D5 30FD ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+FF8C 30FD ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+3075 309D ; [.31B2.0020.0011.3075][.31B2.0020.0010.3075] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
+30D5 30FE ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5][.0000.014E.0002.3099] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+FF8C 30FE ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+3075 309E ; [.31B2.0020.0011.3075][.31B2.0020.0010.3075][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
+30D6 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
+30D5 3099 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9E 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3076 309D ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
+3075 3099 309D ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D6 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
+30D5 3099 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9E 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3076 309E ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076][.0000.014E.0002.3099] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
+3075 3099 309E ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D7 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
+30D5 309A 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9F 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3077 309D ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
+3075 309A 309D ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D7 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
+30D5 309A 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9F 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3077 309E ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077][.0000.014E.0002.3099] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
+3075 309A 309E ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D8 30FD ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+FF8D 30FD ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+3078 309D ; [.31B3.0020.0011.3078][.31B3.0020.0010.3078] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
+30D8 30FE ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8][.0000.014E.0002.3099] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+FF8D 30FE ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+3078 309E ; [.31B3.0020.0011.3078][.31B3.0020.0010.3078][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
+30D9 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
+30D8 3099 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9E 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3079 309D ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
+3078 3099 309D ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D9 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
+30D8 3099 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9E 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3079 309E ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079][.0000.014E.0002.3099] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
+3078 3099 309E ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DA 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
+30D8 309A 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9F 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307A 309D ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
+3078 309A 309D ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DA 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
+30D8 309A 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9F 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307A 309E ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A][.0000.014E.0002.3099] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
+3078 309A 309E ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DB 30FD ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+FF8E 30FD ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+307B 309D ; [.31B4.0020.0011.307B][.31B4.0020.0010.307B] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
+30DB 30FE ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB][.0000.014E.0002.3099] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+FF8E 30FE ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+307B 309E ; [.31B4.0020.0011.307B][.31B4.0020.0010.307B][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
+30DC 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
+30DB 3099 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9E 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307C 309D ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
+307B 3099 309D ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DC 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
+30DB 3099 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9E 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307C 309E ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C][.0000.014E.0002.3099] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
+307B 3099 309E ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DD 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
+30DB 309A 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9F 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307D 309D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
+307B 309A 309D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DD 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
+30DB 309A 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9F 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307D 309E ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D][.0000.014E.0002.3099] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
+307B 309A 309E ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DE 30FD ; [.31B5.0020.0011.30DE][.31B5.0020.0010.30DE] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+FF8F 30FD ; [.31B5.0020.0011.30DE][.31B5.0020.0010.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+307E 309D ; [.31B5.0020.0011.307E][.31B5.0020.0010.307E] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
+30DF 30FD ; [.31B6.0020.0011.30DF][.31B6.0020.0010.30DF] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+FF90 30FD ; [.31B6.0020.0011.30DF][.31B6.0020.0010.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+307F 309D ; [.31B6.0020.0011.307F][.31B6.0020.0010.307F] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
+30E0 30FD ; [.31B7.0020.0011.30E0][.31B7.0020.0010.30E0] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+FF91 30FD ; [.31B7.0020.0011.30E0][.31B7.0020.0010.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+3080 309D ; [.31B7.0020.0011.3080][.31B7.0020.0010.3080] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
+30E1 30FD ; [.31B8.0020.0011.30E1][.31B8.0020.0010.30E1] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+FF92 30FD ; [.31B8.0020.0011.30E1][.31B8.0020.0010.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+3081 309D ; [.31B8.0020.0011.3081][.31B8.0020.0010.3081] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
+30E2 30FD ; [.31B9.0020.0011.30E2][.31B9.0020.0010.30E2] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+FF93 30FD ; [.31B9.0020.0011.30E2][.31B9.0020.0010.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+3082 309D ; [.31B9.0020.0011.3082][.31B9.0020.0010.3082] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
+30E3 30FD ; [.31BA.0020.000F.30E3][.31BA.0020.0010.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+FF6C 30FD ; [.31BA.0020.000F.30E3][.31BA.0020.0010.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+3083 309D ; [.31BA.0020.000F.3083][.31BA.0020.0010.3083] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
+30E4 30FD ; [.31BA.0020.0011.30E4][.31BA.0020.0010.30E4] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+FF94 30FD ; [.31BA.0020.0011.30E4][.31BA.0020.0010.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+3084 309D ; [.31BA.0020.0011.3084][.31BA.0020.0010.3084] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
+30E5 30FD ; [.31BB.0020.000F.30E5][.31BB.0020.0010.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+FF6D 30FD ; [.31BB.0020.000F.30E5][.31BB.0020.0010.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+3085 309D ; [.31BB.0020.000F.3085][.31BB.0020.0010.3085] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
+30E6 30FD ; [.31BB.0020.0011.30E6][.31BB.0020.0010.30E6] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+FF95 30FD ; [.31BB.0020.0011.30E6][.31BB.0020.0010.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+3086 309D ; [.31BB.0020.0011.3086][.31BB.0020.0010.3086] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
+30E7 30FD ; [.31BD.0020.000F.30E7][.31BD.0020.0010.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+FF6E 30FD ; [.31BD.0020.000F.30E7][.31BD.0020.0010.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+3087 309D ; [.31BD.0020.000F.3087][.31BD.0020.0010.3087] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
+30E8 30FD ; [.31BD.0020.0011.30E8][.31BD.0020.0010.30E8] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+FF96 30FD ; [.31BD.0020.0011.30E8][.31BD.0020.0010.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+3088 309D ; [.31BD.0020.0011.3088][.31BD.0020.0010.3088] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
+30E9 30FD ; [.31BE.0020.0011.30E9][.31BE.0020.0010.30E9] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+FF97 30FD ; [.31BE.0020.0011.30E9][.31BE.0020.0010.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+3089 309D ; [.31BE.0020.0011.3089][.31BE.0020.0010.3089] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
+30EA 30FD ; [.31BF.0020.0011.30EA][.31BF.0020.0010.30EA] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+FF98 30FD ; [.31BF.0020.0011.30EA][.31BF.0020.0010.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+308A 309D ; [.31BF.0020.0011.308A][.31BF.0020.0010.308A] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
+30EB 30FD ; [.31C0.0020.0011.30EB][.31C0.0020.0010.30EB] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+FF99 30FD ; [.31C0.0020.0011.30EB][.31C0.0020.0010.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+308B 309D ; [.31C0.0020.0011.308B][.31C0.0020.0010.308B] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
+30EC 30FD ; [.31C1.0020.0011.30EC][.31C1.0020.0010.30EC] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+FF9A 30FD ; [.31C1.0020.0011.30EC][.31C1.0020.0010.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+308C 309D ; [.31C1.0020.0011.308C][.31C1.0020.0010.308C] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
+30ED 30FD ; [.31C2.0020.0011.30ED][.31C2.0020.0010.30ED] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+FF9B 30FD ; [.31C2.0020.0011.30ED][.31C2.0020.0010.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+308D 309D ; [.31C2.0020.0011.308D][.31C2.0020.0010.308D] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
+30EE 30FD ; [.31C3.0020.000F.30EE][.31C3.0020.0010.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
+308E 309D ; [.31C3.0020.000F.308E][.31C3.0020.0010.308E] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
+30EE 30FE ; [.31C3.0020.000F.30EE][.31C3.0020.0010.30EE][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
+308E 309E ; [.31C3.0020.000F.308E][.31C3.0020.0010.308E][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
+30EF 30FD ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+FF9C 30FD ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+308F 309D ; [.31C3.0020.0011.308F][.31C3.0020.0010.308F] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
+30EF 30FE ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF][.0000.014E.0002.3099] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+FF9C 30FE ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+308F 309E ; [.31C3.0020.0011.308F][.31C3.0020.0010.308F][.0000.014E.0002.3099] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
+30F0 30FD ; [.31C4.0020.0011.30F0][.31C4.0020.0010.30F0] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
+3090 309D ; [.31C4.0020.0011.3090][.31C4.0020.0010.3090] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
+30F0 30FE ; [.31C4.0020.0011.30F0][.31C4.0020.0010.30F0][.0000.014E.0002.3099] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
+3090 309E ; [.31C4.0020.0011.3090][.31C4.0020.0010.3090][.0000.014E.0002.3099] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
+30F1 30FD ; [.31C5.0020.0011.30F1][.31C5.0020.0010.30F1] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
+3091 309D ; [.31C5.0020.0011.3091][.31C5.0020.0010.3091] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
+30F1 30FE ; [.31C5.0020.0011.30F1][.31C5.0020.0010.30F1][.0000.014E.0002.3099] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
+3091 309E ; [.31C5.0020.0011.3091][.31C5.0020.0010.3091][.0000.014E.0002.3099] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
+30F2 30FD ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+FF66 30FD ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+3092 309D ; [.31C6.0020.0011.3092][.31C6.0020.0010.3092] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
+30F2 30FE ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2][.0000.014E.0002.3099] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+FF66 30FE ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+3092 309E ; [.31C6.0020.0011.3092][.31C6.0020.0010.3092][.0000.014E.0002.3099] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
+30F3 30FD ; [.31C7.0020.0011.30F3][.31C7.0020.0010.30F3] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
+FF9D 30FD ; [.31C7.0020.0011.30F3][.31C7.0020.0010.30F3] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
+3093 309D ; [.31C7.0020.0011.3093][.31C7.0020.0010.3093] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
+30F4 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
+30A6 3099 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF73 FF9E 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3094 309D ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
+3046 3099 309D ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30F4 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
+30A6 3099 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF73 FF9E 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3094 309E ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094][.0000.014E.0002.3099] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
+3046 3099 309E ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094][.0000.014E.0002.3099] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30F5 30FD ; [.319C.0020.000F.30F5][.319C.0020.0010.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
+3095 309D ; [.319C.0020.000F.3095][.319C.0020.0010.3095] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
+30F5 30FE ; [.319C.0020.000F.30F5][.319C.0020.0010.30F5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
+3095 309E ; [.319C.0020.000F.3095][.319C.0020.0010.3095][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
+30F6 30FD ; [.319F.0020.000F.30F6][.319F.0020.0010.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
+3096 309D ; [.319F.0020.000F.3096][.319F.0020.0010.3096] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
+30F6 30FE ; [.319F.0020.000F.30F6][.319F.0020.0010.30F6][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
+3096 309E ; [.319F.0020.000F.3096][.319F.0020.0010.3096][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
+30F7 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
+30EF 3099 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF9C FF9E 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F7 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
+30EF 3099 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF9C FF9E 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F8 30FD ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
+30F0 3099 30FD ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F8 30FE ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8][.0000.014E.0002.3099] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
+30F0 3099 30FE ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8][.0000.014E.0002.3099] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F9 30FD ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
+30F1 3099 30FD ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F9 30FE ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9][.0000.014E.0002.3099] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
+30F1 3099 30FE ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9][.0000.014E.0002.3099] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30FA 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
+30F2 3099 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF66 FF9E 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30FA 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
+30F2 3099 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF66 FF9E 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+31F0 30FD ; [.319E.0020.000F.31F0][.319E.0020.0010.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
+31F0 30FE ; [.319E.0020.000F.31F0][.319E.0020.0010.31F0][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
+31F1 30FD ; [.31A2.0020.000F.31F1][.31A2.0020.0010.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
+31F1 30FE ; [.31A2.0020.000F.31F1][.31A2.0020.0010.31F1][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
+31F2 30FD ; [.31A3.0020.000F.31F2][.31A3.0020.0010.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
+31F2 30FE ; [.31A3.0020.000F.31F2][.31A3.0020.0010.31F2][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
+31F3 30FD ; [.31AA.0020.000F.31F3][.31AA.0020.0010.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
+31F3 30FE ; [.31AA.0020.000F.31F3][.31AA.0020.0010.31F3][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
+31F4 30FD ; [.31AD.0020.000F.31F4][.31AD.0020.0010.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
+31F5 30FD ; [.31B0.0020.000F.31F5][.31B0.0020.0010.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
+31F5 30FE ; [.31B0.0020.000F.31F5][.31B0.0020.0010.31F5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
+31F6 30FD ; [.31B1.0020.000F.31F6][.31B1.0020.0010.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
+31F6 30FE ; [.31B1.0020.000F.31F6][.31B1.0020.0010.31F6][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
+31F7 30FD ; [.31B2.0020.000F.31F7][.31B2.0020.0010.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
+31F7 30FE ; [.31B2.0020.000F.31F7][.31B2.0020.0010.31F7][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
+31F8 30FD ; [.31B3.0020.000F.31F8][.31B3.0020.0010.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
+31F8 30FE ; [.31B3.0020.000F.31F8][.31B3.0020.0010.31F8][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
+31F9 30FD ; [.31B4.0020.000F.31F9][.31B4.0020.0010.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
+31F9 30FE ; [.31B4.0020.000F.31F9][.31B4.0020.0010.31F9][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
+31FA 30FD ; [.31B7.0020.000F.31FA][.31B7.0020.0010.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
+31FB 30FD ; [.31BE.0020.000F.31FB][.31BE.0020.0010.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
+31FC 30FD ; [.31BF.0020.000F.31FC][.31BF.0020.0010.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
+31FD 30FD ; [.31C0.0020.000F.31FD][.31C0.0020.0010.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
+31FE 30FD ; [.31C1.0020.000F.31FE][.31C1.0020.0010.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
+31FF 30FD ; [.31C2.0020.000F.31FF][.31C2.0020.0010.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
new file mode 100644
index 00000000000..bc36ebdc734
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
@@ -0,0 +1,44 @@
++{
+# barred-o doesn't require tailoring
+ suppress => [0x0400..0x045F],
+ entry => <<'ENTRY', # for DUCET v6.0.0
+04B1 ; [.1A7A.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B0 ; [.1A7A.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+0456 ; [.1AF8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406 ; [.1AF8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+0453 ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E5 ; [.19BC.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.19BC.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0457 ; [.1AF8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.1AF8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.19BC.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.19BC.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
+04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+045C ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
new file mode 100644
index 00000000000..10a73344044
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
@@ -0,0 +1,72 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+0138 ; [.175E.0021.0002.0138] # LATIN SMALL LETTER KRA
+004B 0027 ; [.175E.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE>
+00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
new file mode 100644
index 00000000000..a5d91e267e9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
@@ -0,0 +1,4 @@
+use Unicode::Collate::CJK::Korean;
++{
+ overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
new file mode 100644
index 00000000000..bf6a034d847
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
@@ -0,0 +1,22 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0307 ; [.0000.005A.0002.0307] # COMBINING DOT ABOVE
+010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0079 ; [.1680.0021.0002.0079] # LATIN SMALL LETTER Y
+0059 ; [.1680.0021.0008.0059] # LATIN CAPITAL LETTER Y
+0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+0117 ; [.15FF.0020.0002.0065][.0000.005A.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116 ; [.15FF.0020.0008.0045][.0000.005A.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0130 ; [.1680.0020.0008.0049][.0000.005A.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
new file mode 100644
index 00000000000..7397f0c2297
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
@@ -0,0 +1,37 @@
++{
+# ignored: Y < J
+ entry => <<'ENTRY', # for DUCET v6.0.0
+010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0123 ; [.1666.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
+0067 0327 ; [.1666.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
+0122 ; [.1666.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
+0047 0327 ; [.1666.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
+0137 ; [.16C3.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
+006B 0327 ; [.16C3.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
+0136 ; [.16C3.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
+004B 0327 ; [.16C3.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
+013C ; [.16F3.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
+006C 0327 ; [.16F3.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
+013B ; [.16F3.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
+004C 0327 ; [.16F3.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
+0146 ; [.1723.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
+006E 0327 ; [.1723.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
+0145 ; [.1723.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
+004E 0327 ; [.1723.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
+0157 ; [.17A5.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
+0072 0327 ; [.17A5.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
+0156 ; [.17A5.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
+0052 0327 ; [.17A5.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
+0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
new file mode 100644
index 00000000000..2066428c7a2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
@@ -0,0 +1,29 @@
++{
+ upper_before_lower => 1,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+010B ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120 ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127 ; [.167F.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.167F.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0126 ; [.167F.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.167F.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+017C ; [.1843.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1843.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1843.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1843.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
new file mode 100644
index 00000000000..0968d8b25b3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
@@ -0,0 +1,70 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
new file mode 100644
index 00000000000..0968d8b25b3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
@@ -0,0 +1,70 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
new file mode 100644
index 00000000000..e21752e9c0a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
@@ -0,0 +1,36 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1600.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1600.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1600.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1600.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1600.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1600.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1600.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1600.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
new file mode 100644
index 00000000000..dc9499bd35d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
@@ -0,0 +1,21 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0068 ; [.1845.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1845.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1845.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0068 ; [.1846.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0044 0068 ; [.1846.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1846.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+006B 0068 ; [.1847.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
+004B 0068 ; [.1847.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
+004B 0048 ; [.1847.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
+006E 0079 ; [.1848.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1848.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1848.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0070 0068 ; [.1849.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.1849.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.1849.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0073 0068 ; [.184A.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.184A.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
new file mode 100644
index 00000000000..20f66d7967e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
@@ -0,0 +1,50 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0105 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15A4.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15A4.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0107 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0119 ; [.1600.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1600.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1600.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1600.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0142 ; [.16C5.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
+006C 0335 ; [.16C5.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
+0141 ; [.16C5.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
+004C 0335 ; [.16C5.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
+0144 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F3 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+015B ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+0073 0301 ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+0073 0341 ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+015A ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0301 ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0341 ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+017A ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0301 ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0341 ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+0179 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0301 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0341 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+017C ; [.1846.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1846.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1846.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1846.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
new file mode 100644
index 00000000000..6c484248580
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
@@ -0,0 +1,60 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0103 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1 ; [.15A4.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15A4.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF ; [.15A4.0020.0002.0103][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15A4.0020.0008.0102][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5 ; [.15A4.0020.0002.0103][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15A4.0020.0008.0102][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15A4.0020.0002.0103][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15A4.0020.0008.0102][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7 ; [.15A4.0020.0002.0103][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15A4.0020.0008.0102][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7 ; [.15A5.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15A5.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5 ; [.15A5.0020.0002.00E2][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15A5.0020.0008.00C2][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB ; [.15A5.0020.0002.00E2][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15A5.0020.0008.00C2][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15A5.0020.0002.00E2][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15A5.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD ; [.15A5.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15A5.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0111 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00EE ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0069 0302 ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0049 0302 ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+015F ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0219 ; [.17A7.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+0073 0326 ; [.17A7.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+015E ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0218 ; [.17A7.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0053 0326 ; [.17A7.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0163 ; [.17CA.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+0074 0327 ; [.17CA.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+021B ; [.17CA.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0074 0326 ; [.17CA.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0162 ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+0054 0327 ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+021A ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0054 0326 ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+017C ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
new file mode 100644
index 00000000000..54bccaddd14
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
@@ -0,0 +1,35 @@
++{
+ suppress => [0x0400..0x0417, 0x041A..0x0437, 0x043A..0x045F],
+ entry => <<'ENTRY', # for DUCET v6.0.0
+04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+0453 ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.19C8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19C8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+045C ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
new file mode 100644
index 00000000000..536a4241b34
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
@@ -0,0 +1,147 @@
++{
+# eng, g-stroke, t-stroke don't require tailoring
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E1 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+010D ; [.15E1.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15E1.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15E1.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15E1.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0292 ; [.15E2.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7 ; [.15E2.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+01EF ; [.15E3.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+0292 030C ; [.15E3.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.15E3.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+01B7 030C ; [.15E3.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+0111 ; [.15FE.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15FE.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15FE.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15FE.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15FE.0021.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15FE.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
+01E7 ; [.164F.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.164F.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+01E6 ; [.164F.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.164F.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+01E9 ; [.16C3.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+006B 030C ; [.16C3.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+01E8 ; [.16C3.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+004B 030C ; [.16C3.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+0144 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F1 ; [.1720.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1720.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1720.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1720.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+00FE ; [.17CE.0021.0002.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17CE.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+017E ; [.18B5.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.18B5.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.18B5.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.18B5.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+00F8 ; [.18B6.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18B6.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18B6.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18B6.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18B6.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18B6.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0153 ; [.18B6.0021.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18B6.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E6 ; [.18B7.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18B7.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18B7.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18B7.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18B7.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18B7.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18B7.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E5 ; [.18B9.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18B9.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18B9.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18B9.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18B9.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18B9.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18B9.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0227 ; [.18B9.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0061 0307 ; [.18B9.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226 ; [.18B9.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0041 0307 ; [.18B9.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+00E4 ; [.18BA.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18BA.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18BA.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18BA.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18BA.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18BA.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3 ; [.18BA.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+0061 0303 ; [.18BA.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.18BA.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+0041 0303 ; [.18BA.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+00F6 ; [.18BB.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18BB.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18BB.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18BB.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18BB.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18BB.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18BB.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18BB.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18BB.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18BB.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5 ; [.18BB.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.18BB.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.18BB.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.18BB.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.18BB.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.18BB.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.18BB.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.18BB.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.18BB.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.18BB.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.18BB.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.18BB.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00F4 ; [.18BB.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.18BB.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.18BB.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.18BB.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.18BB.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.18BB.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.18BB.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.18BB.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.18BB.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.18BB.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.18BB.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.18BB.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.18BB.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.18BB.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EB ; [.18BB.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+006F 0328 ; [.18BB.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+01EA ; [.18BB.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+004F 0328 ; [.18BB.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
new file mode 100644
index 00000000000..b9b27ad3ee7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
@@ -0,0 +1,40 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E4 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15A4.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15A4.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15A4.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15A4.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.1668.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1668.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1668.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1668.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
new file mode 100644
index 00000000000..d1281feffe5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
@@ -0,0 +1,17 @@
++{
+# c-acute not included
+ entry => <<'ENTRY', # for DUCET v6.0.0
+010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
new file mode 100644
index 00000000000..b98cb0c4a20
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
@@ -0,0 +1,48 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E7 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.15E3.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.15E3.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0064 0068 ; [.15FE.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0064 0048 ; [.15FE.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
+0044 0068 ; [.15FE.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.15FE.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+00EB ; [.1636.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1636.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.1636.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1636.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0067 006A ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
+0067 004A ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
+0047 006A ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
+0047 004A ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
+006C 006C ; [.16F3.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 004C ; [.16F3.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+004C 006C ; [.16F3.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.16F3.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+006E 006A ; [.1723.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+006E 004A ; [.1723.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
+004E 006A ; [.1723.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+004E 004A ; [.1723.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+0072 0072 ; [.17A5.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
+0072 0052 ; [.17A5.0020.0007.0072][.0000.0000.0002.0000] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
+0052 0072 ; [.17A5.0020.0007.0052][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
+0052 0052 ; [.17A5.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
+0073 0068 ; [.17C8.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0073 0048 ; [.17C8.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
+0053 0068 ; [.17C8.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17C8.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0068 ; [.17E8.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0074 0048 ; [.17E8.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
+0054 0068 ; [.17E8.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.17E8.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+0078 0068 ; [.1832.0020.0002.0078] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
+0078 0048 ; [.1832.0020.0007.0078][.0000.0000.0002.0000] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
+0058 0068 ; [.1832.0020.0007.0058][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
+0058 0048 ; [.1832.0020.0008.0058] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
+007A 0068 ; [.1860.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
+007A 0048 ; [.1860.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
+005A 0068 ; [.1860.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
+005A 0048 ; [.1860.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
new file mode 100644
index 00000000000..c7f0ee74fe7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
@@ -0,0 +1,86 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+0077 ; [.1812.0020.0003.0077] # LATIN SMALL LETTER W
+0057 ; [.1812.0020.0009.0057] # LATIN CAPITAL LETTER W
+00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5 ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.1845.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.1845.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.1845.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.1846.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.1846.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.1846.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.1846.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.1846.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.1846.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.1846.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.1846.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.1846.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+0119 ; [.1846.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1846.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1846.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1846.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1847.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1847.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1847.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1847.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151 ; [.1847.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1847.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1847.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1847.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.1847.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1847.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00F4 ; [.1847.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1847.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1847.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1847.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1847.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1847.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1847.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1847.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1847.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1847.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1847.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1847.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1847.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1847.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl
new file mode 100644
index 00000000000..32ac3af5dd5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl
@@ -0,0 +1,28 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0063 0068 ; [.15BA.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.15BA.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.15BA.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0068 ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0044 0068 ; [.15E5.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+0067 0068 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
+0047 0068 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
+0047 0048 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
+006B 0068 ; [.16B3.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
+004B 0068 ; [.16B3.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
+004B 0048 ; [.16B3.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
+006E 0067 0027 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G, APOSTROPHE>
+004E 0067 0027 ; [.1703.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G, APOSTROPHE>
+004E 0047 0027 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G, APOSTROPHE>
+006E 0079 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0068 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0054 0068 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
new file mode 100644
index 00000000000..e21752e9c0a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
@@ -0,0 +1,36 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1600.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1600.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1600.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1600.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1600.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1600.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1600.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1600.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
new file mode 100644
index 00000000000..54e4fbbdabf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
@@ -0,0 +1,61 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+006E 0067 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1703.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+014B ; [.1703.0020.001C.014B] # LATIN SMALL LETTER ENG
+014A ; [.1703.0020.001D.014A] # LATIN CAPITAL LETTER ENG
+02BB ; [.1845.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD ; [.1845.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
+0101 ; [.15A3.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15A3.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+00E1 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0100 ; [.15A3.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15A3.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00C1 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0113 ; [.15FF.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.15FF.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+00E9 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0112 ; [.15FF.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.15FF.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00C9 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+012B ; [.1680.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1680.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+00ED ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+012A ; [.1680.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1680.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00CD ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+014D ; [.1724.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1724.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+00F3 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+014C ; [.1724.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1724.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00D3 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+016B ; [.17E9.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.17E9.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+00FA ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+016A ; [.17E9.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.17E9.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00DA ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
new file mode 100644
index 00000000000..4d2aa64611a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
@@ -0,0 +1,45 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E7 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.167F.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.167F.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC ; [.167F.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.167F.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.167F.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.167F.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.167F.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.167F.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.167F.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
new file mode 100644
index 00000000000..9f24b3250e6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
@@ -0,0 +1,6 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0491 ; [.1964.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490 ; [.1964.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
new file mode 100644
index 00000000000..d03985eaea8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
@@ -0,0 +1,219 @@
++{
+# 0306 is not a Vietnamese tone, just to avoid \x{303} eq \x{306}.
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0309 ; [.0000.0036.0002.0309] # COMBINING HOOK ABOVE
+1EA3 ; [.15A3.0020.0002.0061][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2 ; [.15A3.0020.0008.0041][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EBB ; [.15FF.0020.0002.0065][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA ; [.15FF.0020.0008.0045][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EC9 ; [.1680.0020.0002.0069][.0000.0036.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8 ; [.1680.0020.0008.0049][.0000.0036.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECF ; [.1724.0020.0002.006F][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE ; [.1724.0020.0008.004F][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1EE7 ; [.17E9.0020.0002.0075][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6 ; [.17E9.0020.0008.0055][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EF7 ; [.1833.0020.0002.0079][.0000.0036.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6 ; [.1833.0020.0008.0059][.0000.0036.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+0303 ; [.0000.0037.0002.0303] # COMBINING TILDE
+00E3 ; [.15A3.0020.0002.0061][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.15A3.0020.0008.0041][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
+1EBD ; [.15FF.0020.0002.0065][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH TILDE
+1EBC ; [.15FF.0020.0008.0045][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
+0129 ; [.1680.0020.0002.0069][.0000.0037.0002.0303] # LATIN SMALL LETTER I WITH TILDE
+0128 ; [.1680.0020.0008.0049][.0000.0037.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
+00F5 ; [.1724.0020.0002.006F][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.1724.0020.0008.004F][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
+0169 ; [.17E9.0020.0002.0075][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH TILDE
+0168 ; [.17E9.0020.0008.0055][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
+1EF9 ; [.1833.0020.0002.0079][.0000.0037.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
+1EF8 ; [.1833.0020.0008.0059][.0000.0037.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
+0301 ; [.0000.0038.0002.0301] # COMBINING ACUTE ACCENT
+00E1 ; [.15A3.0020.0002.0061][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15A3.0020.0008.0041][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
+00E9 ; [.15FF.0020.0002.0065][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.15FF.0020.0008.0045][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED ; [.1680.0020.0002.0069][.0000.0038.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1680.0020.0008.0049][.0000.0038.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3 ; [.1724.0020.0002.006F][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1724.0020.0008.004F][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA ; [.17E9.0020.0002.0075][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.17E9.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD ; [.1833.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.1833.0020.0008.0059][.0000.0038.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
+0341 ; [.0000.0038.0002.0341] # COMBINING ACUTE TONE MARK
+0323 ; [.0000.0039.0002.0323] # COMBINING DOT BELOW
+1EA1 ; [.15A3.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0 ; [.15A3.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB9 ; [.15FF.0020.0002.0065][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.15FF.0020.0008.0045][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1ECB ; [.1680.0020.0002.0069][.0000.0039.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.1680.0020.0008.0049][.0000.0039.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECD ; [.1724.0020.0002.006F][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1724.0020.0008.004F][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1EE5 ; [.17E9.0020.0002.0075][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.17E9.0020.0008.0055][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF5 ; [.1833.0020.0002.0079][.0000.0039.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4 ; [.1833.0020.0008.0059][.0000.0039.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+0306 ; [.0000.003A.0002.0306] # COMBINING BREVE
+0115 ; [.15FF.0020.0002.0065][.0000.003A.0002.0306] # LATIN SMALL LETTER E WITH BREVE
+0114 ; [.15FF.0020.0008.0045][.0000.003A.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
+012D ; [.1680.0020.0002.0069][.0000.003A.0002.0306] # LATIN SMALL LETTER I WITH BREVE
+012C ; [.1680.0020.0008.0049][.0000.003A.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+014F ; [.1724.0020.0002.006F][.0000.003A.0002.0306] # LATIN SMALL LETTER O WITH BREVE
+014E ; [.1724.0020.0008.004F][.0000.003A.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
+016D ; [.17E9.0020.0002.0075][.0000.003A.0002.0306] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.17E9.0020.0008.0055][.0000.003A.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
+0103 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1 ; [.15A4.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15A4.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF ; [.15A4.0020.0002.0103][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15A4.0020.0008.0102][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5 ; [.15A4.0020.0002.0103][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15A4.0020.0008.0102][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15A4.0020.0002.0103][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15A4.0020.0008.0102][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7 ; [.15A5.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15A5.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5 ; [.15A5.0020.0002.00E2][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15A5.0020.0008.00C2][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB ; [.15A5.0020.0002.00E2][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15A5.0020.0008.00C2][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15A5.0020.0002.00E2][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15A5.0020.0008.00C2][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0111 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1600.0020.0002.00EA][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1600.0020.0008.00CA][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1600.0020.0002.00EA][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1600.0020.0008.00CA][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1600.0020.0002.00EA][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1600.0020.0008.00CA][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1725.0020.0002.00F4][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1725.0020.0008.00D4][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1725.0020.0002.00F4][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1725.0020.0008.00D4][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1725.0020.0002.00F4][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1725.0020.0008.00D4][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01A1 ; [.1726.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
+006F 031B ; [.1726.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
+01A0 ; [.1726.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
+004F 031B ; [.1726.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
+1EDD ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDB ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EE1 ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3 ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+01B0 ; [.17EA.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
+0075 031B ; [.17EA.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
+01AF ; [.17EA.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
+0055 031B ; [.17EA.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
+1EEB ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EE9 ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8 ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEF ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1 ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EA1 0306 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA0 0306 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA1 0302 ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EA0 0302 ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB9 0302 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB8 0302 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECD 0302 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECC 0302 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+00F2 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
+1ECF 031B ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00F5 031B ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
+00F3 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
+1ECD 031B ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
+00D2 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
+1ECE 031B ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00D5 031B ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
+00D3 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
+1ECC 031B ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
+00F9 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
+1EE7 031B ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0169 031B ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
+00FA 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
+1EE5 031B ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
+00D9 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
+1EE6 031B ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0168 031B ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
+00DA 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
+1EE4 031B ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
+0061 0323 0306 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0041 0323 0306 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0061 0323 0302 ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0041 0323 0302 ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0065 0323 0302 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0045 0323 0302 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0323 0302 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+004F 0323 0302 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0300 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+006F 0340 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+006F 0309 031B ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+006F 0303 031B ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
+006F 0301 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+006F 0341 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+006F 0323 031B ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+004F 0300 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+004F 0340 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+004F 0309 031B ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+004F 0303 031B ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
+004F 0301 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+004F 0341 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+004F 0323 031B ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+0075 0300 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0075 0340 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0075 0309 031B ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0075 0303 031B ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
+0075 0301 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0075 0341 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0075 0323 031B ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0055 0300 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0055 0340 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0055 0309 031B ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0055 0303 031B ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
+0055 0301 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0055 0341 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0055 0323 031B ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
new file mode 100644
index 00000000000..2d42aac7356
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
@@ -0,0 +1,31 @@
++{
+# eng doesn't require tailoring
+ entry => <<'ENTRY', # for DUCET v6.0.0
+00E0 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB ; [.1601.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1601.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.1601.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1601.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+00F3 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
new file mode 100644
index 00000000000..e0182c01ad3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
@@ -0,0 +1,25 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+1EB9 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1600.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.1600.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7 ; [.1600.0020.0002.1EB9][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1600.0020.0008.1EB8][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0067 0062 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.1725.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1725.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3 ; [.1725.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1725.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1E63 ; [.17A7.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.17A7.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62 ; [.17A7.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.17A7.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
new file mode 100644
index 00000000000..b58cbe80d41
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
@@ -0,0 +1,210 @@
++{
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
new file mode 100644
index 00000000000..6d8384c35fa
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
@@ -0,0 +1,212 @@
+use Unicode::Collate::CJK::Big5;
++{
+ overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
new file mode 100644
index 00000000000..450250071ad
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
@@ -0,0 +1,217 @@
+use Unicode::Collate::CJK::GB2312;
++{
+ overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+E2D8 ; [.8EAB.0020.0002.E2D8] # <unknown>
+E2D9 ; [.8EAC.0020.0002.E2D9] # <unknown>
+E2DA ; [.8EAD.0020.0002.E2DA] # <unknown>
+E2DB ; [.8EAE.0020.0002.E2DB] # <unknown>
+E2DC ; [.8EAF.0020.0002.E2DC] # <unknown>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
new file mode 100644
index 00000000000..a3dd01d9365
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
@@ -0,0 +1,304 @@
+use Unicode::Collate::CJK::Pinyin;
++{
+ overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+3105 ; [.8000.0020.0002.3105] # BOPOMOFO LETTER B
+3106 ; [.8001.0020.0002.3106] # BOPOMOFO LETTER P
+3107 ; [.8002.0020.0002.3107] # BOPOMOFO LETTER M
+3108 ; [.8003.0020.0002.3108] # BOPOMOFO LETTER F
+3109 ; [.8004.0020.0002.3109] # BOPOMOFO LETTER D
+310A ; [.8005.0020.0002.310A] # BOPOMOFO LETTER T
+310B ; [.8006.0020.0002.310B] # BOPOMOFO LETTER N
+310C ; [.8007.0020.0002.310C] # BOPOMOFO LETTER L
+310D ; [.8008.0020.0002.310D] # BOPOMOFO LETTER G
+310E ; [.8009.0020.0002.310E] # BOPOMOFO LETTER K
+310F ; [.800A.0020.0002.310F] # BOPOMOFO LETTER H
+3110 ; [.800B.0020.0002.3110] # BOPOMOFO LETTER J
+3111 ; [.800C.0020.0002.3111] # BOPOMOFO LETTER Q
+3112 ; [.800D.0020.0002.3112] # BOPOMOFO LETTER X
+3113 ; [.800E.0020.0002.3113] # BOPOMOFO LETTER ZH
+3114 ; [.800F.0020.0002.3114] # BOPOMOFO LETTER CH
+3115 ; [.8010.0020.0002.3115] # BOPOMOFO LETTER SH
+3116 ; [.8011.0020.0002.3116] # BOPOMOFO LETTER R
+3117 ; [.8012.0020.0002.3117] # BOPOMOFO LETTER Z
+3118 ; [.8013.0020.0002.3118] # BOPOMOFO LETTER C
+3119 ; [.8014.0020.0002.3119] # BOPOMOFO LETTER S
+311A ; [.8015.0020.0002.311A] # BOPOMOFO LETTER A
+311B ; [.8016.0020.0002.311B] # BOPOMOFO LETTER O
+311C ; [.8017.0020.0002.311C] # BOPOMOFO LETTER E
+311D ; [.8018.0020.0002.311D] # BOPOMOFO LETTER EH
+311E ; [.8019.0020.0002.311E] # BOPOMOFO LETTER AI
+311F ; [.801A.0020.0002.311F] # BOPOMOFO LETTER EI
+3120 ; [.801B.0020.0002.3120] # BOPOMOFO LETTER AU
+3121 ; [.801C.0020.0002.3121] # BOPOMOFO LETTER OU
+3122 ; [.801D.0020.0002.3122] # BOPOMOFO LETTER AN
+3123 ; [.801E.0020.0002.3123] # BOPOMOFO LETTER EN
+3124 ; [.801F.0020.0002.3124] # BOPOMOFO LETTER ANG
+3125 ; [.8020.0020.0002.3125] # BOPOMOFO LETTER ENG
+3126 ; [.8021.0020.0002.3126] # BOPOMOFO LETTER ER
+3127 ; [.8022.0020.0002.3127] # BOPOMOFO LETTER I
+3128 ; [.8023.0020.0002.3128] # BOPOMOFO LETTER U
+3129 ; [.8024.0020.0002.3129] # BOPOMOFO LETTER IU
+FA1F ; [.8049.0020.0002.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
+E83D ; [.811D.0020.0002.E83D] # <unknown>
+E83C ; [.8121.0020.0002.E83C] # <unknown>
+E84B ; [.83F5.0020.0002.E84B] # <unknown>
+E835 ; [.8499.0020.0002.E835] # <unknown>
+E837 ; [.876C.0020.0002.E837] # <unknown>
+E852 ; [.87FE.0020.0002.E852] # <unknown>
+E850 ; [.87FF.0020.0002.E850] # <unknown>
+E858 ; [.885B.0020.0002.E858] # <unknown>
+E827 ; [.9106.0020.0002.E827] # <unknown>
+E82D ; [.9107.0020.0002.E82D] # <unknown>
+E821 ; [.943B.0020.0002.E821] # <unknown>
+E820 ; [.943C.0020.0002.E820] # <unknown>
+E85D ; [.9AAB.0020.0002.E85D] # <unknown>
+E85F ; [.9C17.0020.0002.E85F] # <unknown>
+E860 ; [.9D0D.0020.0002.E860] # <unknown>
+E84F ; [.9DFD.0020.0002.E84F] # <unknown>
+E828 ; [.9F81.0020.0002.E828] # <unknown>
+E82E ; [.A00C.0020.0002.E82E] # <unknown>
+E842 ; [.A012.0020.0002.E842] # <unknown>
+E841 ; [.A01A.0020.0002.E841] # <unknown>
+E85E ; [.A3AE.0020.0002.E85E] # <unknown>
+E834 ; [.A520.0020.0002.E834] # <unknown>
+E862 ; [.AD1D.0020.0002.E862] # <unknown>
+E847 ; [.B0AF.0020.0002.E847] # <unknown>
+E846 ; [.B0C0.0020.0002.E846] # <unknown>
+E840 ; [.B0D6.0020.0002.E840] # <unknown>
+E859 ; [.B10A.0020.0002.E859] # <unknown>
+E84C ; [.B47A.0020.0002.E84C] # <unknown>
+E849 ; [.B47B.0020.0002.E849] # <unknown>
+E84E ; [.B482.0020.0002.E84E] # <unknown>
+E85C ; [.B5A9.0020.0002.E85C] # <unknown>
+E82A ; [.B7A4.0020.0002.E82A] # <unknown>
+E829 ; [.B7AD.0020.0002.E829] # <unknown>
+E82F ; [.B8AE.0020.0002.E82F] # <unknown>
+E85B ; [.B9DE.0020.0002.E85B] # <unknown>
+E861 ; [.B9EC.0020.0002.E861] # <unknown>
+E81F ; [.BC3F.0020.0002.E81F] # <unknown>
+E844 ; [.C1BD.0020.0002.E844] # <unknown>
+E863 ; [.C43B.0020.0002.E863] # <unknown>
+E845 ; [.C4CA.0020.0002.E845] # <unknown>
+E84A ; [.C5BD.0020.0002.E84A] # <unknown>
+E857 ; [.C7F0.0020.0002.E857] # <unknown>
+E856 ; [.C985.0020.0002.E856] # <unknown>
+E85A ; [.C986.0020.0002.E85A] # <unknown>
+E853 ; [.CDE2.0020.0002.E853] # <unknown>
+E851 ; [.CDF8.0020.0002.E851] # <unknown>
+32A3 ; [.CE09.0020.0002.32A3] # CIRCLED IDEOGRAPH CORRECT
+E81B ; [.CF43.0020.0002.E81B] # <unknown>
+E81A ; [.CF44.0020.0002.E81A] # <unknown>
+E825 ; [.CF76.0020.0002.E825] # <unknown>
+E824 ; [.CF77.0020.0002.E824] # <unknown>
+3231 ; [.CF97.0020.0002.3231] # PARENTHESIZED IDEOGRAPH STOCK
+E83F ; [.D02D.0020.0002.E83F] # <unknown>
+E84D ; [.D0C4.0020.0002.E84D] # <unknown>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
new file mode 100644
index 00000000000..37342dffef6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
@@ -0,0 +1,212 @@
+use Unicode::Collate::CJK::Stroke;
++{
+ overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
+ entry => <<'ENTRY', # for DUCET v6.0.0
+0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt b/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
index f4c63f890c1..264ef55df5a 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
@@ -1,22 +1,22 @@
-# allkeys-5.0.0.txt
-# Date: 2006-06-09, 15:29:02 PDT [KW]
+# unidata-6.0.0.txt
+# Date: 2010-08-26, 13:40:04 PDT [KW]
#
# This file defines the Default Unicode Collation Element Table
# (DUCET) for the Unicode Collation Algorithm
#
-# Copyright (c) 2001-2006 Unicode, Inc.
+# Copyright (c) 2001-2010 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# See UTS #10, Unicode Collation Algorithm, for more information.
#
# Diagnostic weight ranges
-# Primary weight range: 0200..2D56 (11095)
-# Secondary weight range: 0020..01BF (416)
-# Variant secondaries: 0199..019E (6)
-# Digit secondaries: 019F..01BF (33)
+# Primary weight range: 0200..4150 (16209)
+# Secondary weight range: 0020..0199 (378)
+# Variant secondaries: 015F..0164 (6)
+# Digit secondaries: 0165..0199 (53)
# Tertiary weight range: 0002..001F (30)
#
-@version 5.0.0
+@version 6.0.0
0000 ; [.0000.0000.0000.0000] # [0000] NULL (in 6429)
0001 ; [.0000.0000.0000.0000] # [0001] START OF HEADING (in 6429)
@@ -77,11 +77,11 @@
009D ; [.0000.0000.0000.0000] # [009D] OPERATING SYSTEM COMMAND (in 6429)
009E ; [.0000.0000.0000.0000] # [009E] PRIVACY MESSAGE (in 6429)
009F ; [.0000.0000.0000.0000] # [009F] APPLICATION PROGRAM COMMAND (in 6429)
+00AD ; [.0000.0000.0000.0000] # [00AD] SOFT HYPHEN
070F ; [.0000.0000.0000.0000] # [070F] SYRIAC ABBREVIATION MARK
180B ; [.0000.0000.0000.0000] # [180B] MONGOLIAN FREE VARIATION SELECTOR ONE
180C ; [.0000.0000.0000.0000] # [180C] MONGOLIAN FREE VARIATION SELECTOR TWO
180D ; [.0000.0000.0000.0000] # [180D] MONGOLIAN FREE VARIATION SELECTOR THREE
-180E ; [.0000.0000.0000.0000] # [180E] MONGOLIAN VOWEL SEPARATOR
200B ; [.0000.0000.0000.0000] # [200B] ZERO WIDTH SPACE
200C ; [.0000.0000.0000.0000] # [200C] ZERO WIDTH NON-JOINER
200D ; [.0000.0000.0000.0000] # [200D] ZERO WIDTH JOINER
@@ -469,135 +469,134 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
000B ; [*0203.0020.0002.000B] # VERTICAL TABULATION (in 6429)
000C ; [*0204.0020.0002.000C] # FORM FEED (in 6429)
000D ; [*0205.0020.0002.000D] # CARRIAGE RETURN (in 6429)
-0020 ; [*0209.0020.0002.0020] # SPACE
-0021 ; [*0257.0020.0002.0021] # EXCLAMATION MARK
-0022 ; [*02A7.0020.0002.0022] # QUOTATION MARK
-0023 ; [*0305.0020.0002.0023] # NUMBER SIGN
-0025 ; [*0306.0020.0002.0025] # PERCENT SIGN
-0026 ; [*0302.0020.0002.0026] # AMPERSAND
-0027 ; [*02A0.0020.0002.0027] # APOSTROPHE
-0028 ; [*02B1.0020.0002.0028] # LEFT PARENTHESIS
-0029 ; [*02B2.0020.0002.0029] # RIGHT PARENTHESIS
-002A ; [*02FB.0020.0002.002A] # ASTERISK
-002B ; [*04B8.0020.0002.002B] # PLUS SIGN
-002C ; [*0232.0020.0002.002C] # COMMA
-002D ; [*0222.0020.0002.002D] # HYPHEN-MINUS
-002E ; [*0266.0020.0002.002E] # FULL STOP
-002F ; [*02FF.0020.0002.002F] # SOLIDUS
-003A ; [*0241.0020.0002.003A] # COLON
-003B ; [*023E.0020.0002.003B] # SEMICOLON
-003C ; [*04BC.0020.0002.003C] # LESS-THAN SIGN
-003D ; [*04BD.0020.0002.003D] # EQUALS SIGN
-003E ; [*04BE.0020.0002.003E] # GREATER-THAN SIGN
-003F ; [*025C.0020.0002.003F] # QUESTION MARK
-0040 ; [*02FA.0020.0002.0040] # COMMERCIAL AT
-005B ; [*02B3.0020.0002.005B] # LEFT SQUARE BRACKET
-005C ; [*0301.0020.0002.005C] # REVERSE SOLIDUS
-005D ; [*02B4.0020.0002.005D] # RIGHT SQUARE BRACKET
-005E ; [*0210.0020.0002.005E] # CIRCUMFLEX ACCENT
-005F ; [*021C.0020.0002.005F] # LOW LINE
-0060 ; [*020D.0020.0002.0060] # GRAVE ACCENT
-007B ; [*02B5.0020.0002.007B] # LEFT CURLY BRACKET
-007C ; [*04C0.0020.0002.007C] # VERTICAL LINE
-007D ; [*02B6.0020.0002.007D] # RIGHT CURLY BRACKET
-007E ; [*04C3.0020.0002.007E] # TILDE
+0020 ; [*020A.0020.0002.0020] # SPACE
+0021 ; [*027B.0020.0002.0021] # EXCLAMATION MARK
+0022 ; [*0304.0020.0002.0022] # QUOTATION MARK
+0023 ; [*0371.0020.0002.0023] # NUMBER SIGN
+0025 ; [*0372.0020.0002.0025] # PERCENT SIGN
+0026 ; [*036E.0020.0002.0026] # AMPERSAND
+0027 ; [*02FD.0020.0002.0027] # APOSTROPHE
+0028 ; [*030E.0020.0002.0028] # LEFT PARENTHESIS
+0029 ; [*030F.0020.0002.0029] # RIGHT PARENTHESIS
+002A ; [*0366.0020.0002.002A] # ASTERISK
+002B ; [*056A.0020.0002.002B] # PLUS SIGN
+002C ; [*0241.0020.0002.002C] # COMMA
+002D ; [*0230.0020.0002.002D] # HYPHEN-MINUS
+002E ; [*028E.0020.0002.002E] # FULL STOP
+002F ; [*036B.0020.0002.002F] # SOLIDUS
+003A ; [*0254.0020.0002.003A] # COLON
+003B ; [*0250.0020.0002.003B] # SEMICOLON
+003C ; [*056E.0020.0002.003C] # LESS-THAN SIGN
+003D ; [*056F.0020.0002.003D] # EQUALS SIGN
+003E ; [*0570.0020.0002.003E] # GREATER-THAN SIGN
+003F ; [*0280.0020.0002.003F] # QUESTION MARK
+0040 ; [*0365.0020.0002.0040] # COMMERCIAL AT
+005B ; [*0310.0020.0002.005B] # LEFT SQUARE BRACKET
+005C ; [*036D.0020.0002.005C] # REVERSE SOLIDUS
+005D ; [*0311.0020.0002.005D] # RIGHT SQUARE BRACKET
+005E ; [*020F.0020.0002.005E] # CIRCUMFLEX ACCENT
+005F ; [*021B.0020.0002.005F] # LOW LINE
+0060 ; [*020C.0020.0002.0060] # GRAVE ACCENT
+007B ; [*0312.0020.0002.007B] # LEFT CURLY BRACKET
+007C ; [*0572.0020.0002.007C] # VERTICAL LINE
+007D ; [*0313.0020.0002.007D] # RIGHT CURLY BRACKET
+007E ; [*0575.0020.0002.007E] # TILDE
0085 ; [*0206.0020.0002.0085] # NEXT LINE (in 6429)
-00A0 ; [*0209.0020.001B.00A0] # NO-BREAK SPACE; QQK
-00A1 ; [*0258.0020.0002.00A1] # INVERTED EXCLAMATION MARK
-00A6 ; [*04C1.0020.0002.00A6] # BROKEN BAR
-00A7 ; [*02F5.0020.0002.00A7] # SECTION SIGN
-00A8 ; [*0215.0020.0002.00A8] # DIAERESIS
-00A9 ; [*02F8.0020.0002.00A9] # COPYRIGHT SIGN
-00AB ; [*02AF.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; [*04BF.0020.0002.00AC] # NOT SIGN
-00AD ; [*0221.0020.0002.00AD] # SOFT HYPHEN
-00AE ; [*02F9.0020.0002.00AE] # REGISTERED SIGN
-00AF ; [*0211.0020.0002.00AF] # MACRON
-00B0 ; [*03BF.0020.0002.00B0] # DEGREE SIGN
-00B1 ; [*04B9.0020.0002.00B1] # PLUS-MINUS SIGN
-00B4 ; [*020E.0020.0002.00B4] # ACUTE ACCENT
-00B6 ; [*02F6.0020.0002.00B6] # PILCROW SIGN
-00B7 ; [*0273.0020.0002.00B7] # MIDDLE DOT
-00B8 ; [*021A.0020.0002.00B8] # CEDILLA
-00BB ; [*02B0.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BF ; [*025D.0020.0002.00BF] # INVERTED QUESTION MARK
-00D7 ; [*04BB.0020.0002.00D7] # MULTIPLICATION SIGN
-00F7 ; [*04BA.0020.0002.00F7] # DIVISION SIGN
-02B9 ; [*0365.0020.0002.02B9] # MODIFIER LETTER PRIME
-02BA ; [*0367.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
-02C2 ; [*0368.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
-02C3 ; [*0369.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
-02C4 ; [*036A.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
-02C5 ; [*036B.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
-02C6 ; [*036C.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7 ; [*036D.0020.0002.02C7] # CARON
-02C8 ; [*036E.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
-02C9 ; [*036F.0020.0002.02C9] # MODIFIER LETTER MACRON
-02CA ; [*0370.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
-02CB ; [*0371.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
-02CC ; [*0372.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
-02CD ; [*0373.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
-02CE ; [*0374.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
-02CF ; [*0375.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
-02D2 ; [*0376.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3 ; [*0377.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4 ; [*0378.0020.0002.02D4] # MODIFIER LETTER UP TACK
-02D5 ; [*0379.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
-02D6 ; [*037A.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
-02D7 ; [*037B.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
-02D8 ; [*0213.0020.0002.02D8] # BREVE
-02D9 ; [*0214.0020.0002.02D9] # DOT ABOVE
-02DA ; [*0216.0020.0002.02DA] # RING ABOVE
-02DB ; [*021B.0020.0002.02DB] # OGONEK
-02DC ; [*020F.0020.0002.02DC] # SMALL TILDE
-02DD ; [*0217.0020.0002.02DD] # DOUBLE ACUTE ACCENT
-02DE ; [*037C.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
-02DF ; [*037D.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
-02E5 ; [*037E.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6 ; [*037F.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
-02E7 ; [*0380.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
-02E8 ; [*0381.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
-02E9 ; [*0382.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA ; [*0383.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB ; [*0384.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; [*0385.0020.0002.02EC] # MODIFIER LETTER VOICING
-02ED ; [*0386.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
-02EF ; [*0387.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0 ; [*0388.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
-02F1 ; [*0389.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2 ; [*038A.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3 ; [*038B.0020.0002.02F3] # MODIFIER LETTER LOW RING
-02F4 ; [*038C.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5 ; [*038D.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6 ; [*038E.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7 ; [*038F.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
-02F8 ; [*0390.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
-02F9 ; [*0391.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
-02FA ; [*0392.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
-02FB ; [*0393.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
-02FC ; [*0394.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
-02FD ; [*0395.0020.0002.02FD] # MODIFIER LETTER SHELF
-02FE ; [*0396.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
-02FF ; [*0397.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
+00A0 ; [*020A.0020.001B.00A0] # NO-BREAK SPACE; QQK
+00A1 ; [*027C.0020.0002.00A1] # INVERTED EXCLAMATION MARK
+00A6 ; [*0573.0020.0002.00A6] # BROKEN BAR
+00A7 ; [*0360.0020.0002.00A7] # SECTION SIGN
+00A8 ; [*0214.0020.0002.00A8] # DIAERESIS
+00A9 ; [*0363.0020.0002.00A9] # COPYRIGHT SIGN
+00AB ; [*030C.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AC ; [*0571.0020.0002.00AC] # NOT SIGN
+00AE ; [*0364.0020.0002.00AE] # REGISTERED SIGN
+00AF ; [*0210.0020.0002.00AF] # MACRON
+00B0 ; [*0466.0020.0002.00B0] # DEGREE SIGN
+00B1 ; [*056B.0020.0002.00B1] # PLUS-MINUS SIGN
+00B4 ; [*020D.0020.0002.00B4] # ACUTE ACCENT
+00B6 ; [*0361.0020.0002.00B6] # PILCROW SIGN
+00B7 ; [*029F.0020.0002.00B7] # MIDDLE DOT
+00B8 ; [*0219.0020.0002.00B8] # CEDILLA
+00BB ; [*030D.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00BF ; [*0281.0020.0002.00BF] # INVERTED QUESTION MARK
+00D7 ; [*056D.0020.0002.00D7] # MULTIPLICATION SIGN
+00F7 ; [*056C.0020.0002.00F7] # DIVISION SIGN
+02B9 ; [*0404.0020.0002.02B9] # MODIFIER LETTER PRIME
+02BA ; [*0406.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
+02C2 ; [*0407.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
+02C3 ; [*0408.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
+02C4 ; [*0409.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
+02C5 ; [*040A.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
+02C6 ; [*040B.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
+02C7 ; [*040C.0020.0002.02C7] # CARON
+02C8 ; [*040D.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
+02C9 ; [*040E.0020.0002.02C9] # MODIFIER LETTER MACRON
+02CA ; [*040F.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
+02CB ; [*0410.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
+02CC ; [*0411.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
+02CD ; [*0412.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
+02CE ; [*0413.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
+02CF ; [*0414.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
+02D2 ; [*0415.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
+02D3 ; [*0416.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
+02D4 ; [*0417.0020.0002.02D4] # MODIFIER LETTER UP TACK
+02D5 ; [*0418.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
+02D6 ; [*0419.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
+02D7 ; [*041A.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
+02D8 ; [*0212.0020.0002.02D8] # BREVE
+02D9 ; [*0213.0020.0002.02D9] # DOT ABOVE
+02DA ; [*0215.0020.0002.02DA] # RING ABOVE
+02DB ; [*021A.0020.0002.02DB] # OGONEK
+02DC ; [*020E.0020.0002.02DC] # SMALL TILDE
+02DD ; [*0216.0020.0002.02DD] # DOUBLE ACUTE ACCENT
+02DE ; [*041B.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
+02DF ; [*041C.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
+02E5 ; [*041D.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
+02E6 ; [*041E.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
+02E7 ; [*041F.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
+02E8 ; [*0420.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
+02E9 ; [*0421.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
+02EA ; [*0422.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB ; [*0423.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC ; [*0424.0020.0002.02EC] # MODIFIER LETTER VOICING
+02ED ; [*0425.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
+02EF ; [*0426.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
+02F0 ; [*0427.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
+02F1 ; [*0428.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
+02F2 ; [*0429.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
+02F3 ; [*042A.0020.0002.02F3] # MODIFIER LETTER LOW RING
+02F4 ; [*042B.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
+02F5 ; [*042C.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+02F6 ; [*042D.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+02F7 ; [*042E.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
+02F8 ; [*042F.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
+02F9 ; [*0430.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
+02FA ; [*0431.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
+02FB ; [*0432.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
+02FC ; [*0433.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
+02FD ; [*0434.0020.0002.02FD] # MODIFIER LETTER SHELF
+02FE ; [*0435.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
+02FF ; [*0436.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
034F ; [.0000.0000.0000.034F] # COMBINING GRAPHEME JOINER
-0374 ; [*0365.0020.0002.0374] # GREEK NUMERAL SIGN; QQC
-0375 ; [*0366.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
-037E ; [*023E.0020.0002.037E] # GREEK QUESTION MARK; QQC
-0384 ; [*020E.0020.0002.0384] # GREEK TONOS; QQC
-0385 ; [*0215.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS; QQCM
-0387 ; [*0273.0020.0002.0387] # GREEK ANO TELEIA; QQC
-03F6 ; [*04B3.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
-0482 ; [*03C0.0020.0002.0482] # CYRILLIC THOUSANDS SIGN
+0374 ; [*0404.0020.0002.0374] # GREEK NUMERAL SIGN; QQC
+0375 ; [*0405.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
+037E ; [*0250.0020.0002.037E] # GREEK QUESTION MARK; QQC
+0384 ; [*020D.0020.0002.0384] # GREEK TONOS; QQC
+0385 ; [*0214.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS; QQCM
+0387 ; [*029F.0020.0002.0387] # GREEK ANO TELEIA; QQC
+03F6 ; [*0565.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
+0482 ; [*0467.0020.0002.0482] # CYRILLIC THOUSANDS SIGN
0488 ; [.0000.0000.0000.0488] # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
0489 ; [.0000.0000.0000.0489] # COMBINING CYRILLIC MILLIONS SIGN
-055A ; [*032E.0020.0002.055A] # ARMENIAN APOSTROPHE
-055B ; [*032F.0020.0002.055B] # ARMENIAN EMPHASIS MARK
-055C ; [*0259.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
-055D ; [*0233.0020.0002.055D] # ARMENIAN COMMA
-055E ; [*025E.0020.0002.055E] # ARMENIAN QUESTION MARK
-055F ; [*0330.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
-0589 ; [*0242.0020.0002.0589] # ARMENIAN FULL STOP
-058A ; [*0223.0020.0002.058A] # ARMENIAN HYPHEN
+055A ; [*03A1.0020.0002.055A] # ARMENIAN APOSTROPHE
+055B ; [*03A2.0020.0002.055B] # ARMENIAN EMPHASIS MARK
+055C ; [*027D.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
+055D ; [*0242.0020.0002.055D] # ARMENIAN COMMA
+055E ; [*0283.0020.0002.055E] # ARMENIAN QUESTION MARK
+055F ; [*03A3.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
+0589 ; [*0255.0020.0002.0589] # ARMENIAN FULL STOP
+058A ; [*0231.0020.0002.058A] # ARMENIAN HYPHEN
0591 ; [.0000.0000.0000.0591] # HEBREW ACCENT ETNAHTA
0592 ; [.0000.0000.0000.0592] # HEBREW ACCENT SEGOL
0593 ; [.0000.0000.0000.0593] # HEBREW ACCENT SHALSHELET
@@ -630,37 +629,47 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
05AE ; [.0000.0000.0000.05AE] # HEBREW ACCENT ZINOR
05AF ; [.0000.0000.0000.05AF] # HEBREW MARK MASORA CIRCLE
05BD ; [.0000.0000.0000.05BD] # HEBREW POINT METEG
-05BE ; [*0331.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
-05C0 ; [*0332.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
-05C3 ; [*0333.0020.0002.05C3] # HEBREW PUNCTUATION SOF PASUQ
+05BE ; [*03A4.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
+05C0 ; [*03A5.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
+05C3 ; [*03A6.0020.0002.05C3] # HEBREW PUNCTUATION SOF PASUQ
05C4 ; [.0000.0000.0000.05C4] # HEBREW MARK UPPER DOT
05C5 ; [.0000.0000.0000.05C5] # HEBREW MARK LOWER DOT
-05C6 ; [*0334.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
-05F3 ; [*0335.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
-05F4 ; [*0336.0020.0002.05F4] # HEBREW PUNCTUATION GERSHAYIM
+05C6 ; [*03A7.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
+05F3 ; [*03A8.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
+05F4 ; [*03A9.0020.0002.05F4] # HEBREW PUNCTUATION GERSHAYIM
0600 ; [.0000.0000.0000.0600] # ARABIC NUMBER SIGN
0601 ; [.0000.0000.0000.0601] # ARABIC SIGN SANAH
0602 ; [.0000.0000.0000.0602] # ARABIC FOOTNOTE MARKER
0603 ; [.0000.0000.0000.0603] # ARABIC SIGN SAFHA
-060C ; [*0234.0020.0002.060C] # ARABIC COMMA
-060D ; [*0235.0020.0002.060D] # ARABIC DATE SEPARATOR
-060E ; [*03C1.0020.0002.060E] # ARABIC POETIC VERSE SIGN
-060F ; [*03C2.0020.0002.060F] # ARABIC SIGN MISRA
+0606 ; [*0580.0020.0002.0606] # ARABIC-INDIC CUBE ROOT
+0607 ; [*0582.0020.0002.0607] # ARABIC-INDIC FOURTH ROOT
+0608 ; [*0468.0020.0002.0608] # ARABIC RAY
+0609 ; [*0375.0020.0002.0609] # ARABIC-INDIC PER MILLE SIGN
+060A ; [*0377.0020.0002.060A] # ARABIC-INDIC PER TEN THOUSAND SIGN
+060C ; [*0243.0020.0002.060C] # ARABIC COMMA
+060D ; [*0244.0020.0002.060D] # ARABIC DATE SEPARATOR
+060E ; [*0469.0020.0002.060E] # ARABIC POETIC VERSE SIGN
+060F ; [*046A.0020.0002.060F] # ARABIC SIGN MISRA
0610 ; [.0000.0000.0000.0610] # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
0611 ; [.0000.0000.0000.0611] # ARABIC SIGN ALAYHE ASSALLAM
0612 ; [.0000.0000.0000.0612] # ARABIC SIGN RAHMATULLAH ALAYHE
0613 ; [.0000.0000.0000.0613] # ARABIC SIGN RADI ALLAHOU ANHU
0614 ; [.0000.0000.0000.0614] # ARABIC SIGN TAKHALLUS
0615 ; [.0000.0000.0000.0615] # ARABIC SMALL HIGH TAH
-061B ; [*023F.0020.0002.061B] # ARABIC SEMICOLON
-061E ; [*0243.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F ; [*025F.0020.0002.061F] # ARABIC QUESTION MARK
-0640 ; [*020B.0020.0002.0640] # ARABIC TATWEEL
-066A ; [*0307.0020.0002.066A] # ARABIC PERCENT SIGN
-066B ; [*0236.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
-066C ; [*0237.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
-066D ; [*02FE.0020.0002.066D] # ARABIC FIVE POINTED STAR
-06D4 ; [*0268.0020.0002.06D4] # ARABIC FULL STOP
+0616 ; [.0000.0000.0000.0616] # ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
+0617 ; [.0000.0000.0000.0617] # ARABIC SMALL HIGH ZAIN
+0618 ; [.0000.0000.0000.0618] # ARABIC SMALL FATHA
+0619 ; [.0000.0000.0000.0619] # ARABIC SMALL DAMMA
+061A ; [.0000.0000.0000.061A] # ARABIC SMALL KASRA
+061B ; [*0251.0020.0002.061B] # ARABIC SEMICOLON
+061E ; [*0256.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
+061F ; [*0284.0020.0002.061F] # ARABIC QUESTION MARK
+0640 ; [.0000.0000.0000.0640] # ARABIC TATWEEL
+066A ; [*0373.0020.0002.066A] # ARABIC PERCENT SIGN
+066B ; [*0245.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
+066C ; [*0246.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
+066D ; [*0369.0020.0002.066D] # ARABIC FIVE POINTED STAR
+06D4 ; [*0290.0020.0002.06D4] # ARABIC FULL STOP
06D6 ; [.0000.0000.0000.06D6] # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
06D7 ; [.0000.0000.0000.06D7] # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
06D8 ; [.0000.0000.0000.06D8] # ARABIC SMALL HIGH MEEM INITIAL FORM
@@ -669,7 +678,7 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
06DB ; [.0000.0000.0000.06DB] # ARABIC SMALL HIGH THREE DOTS
06DC ; [.0000.0000.0000.06DC] # ARABIC SMALL HIGH SEEN
06DD ; [.0000.0000.0000.06DD] # ARABIC END OF AYAH
-06DE ; [.0000.0000.0000.06DE] # ARABIC START OF RUB EL HIZB
+06DE ; [*046B.0020.0002.06DE] # ARABIC START OF RUB EL HIZB
06DF ; [.0000.0000.0000.06DF] # ARABIC SMALL HIGH ROUNDED ZERO
06E0 ; [.0000.0000.0000.06E0] # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
06E1 ; [.0000.0000.0000.06E1] # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
@@ -678,237 +687,307 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
06E4 ; [.0000.0000.0000.06E4] # ARABIC SMALL HIGH MADDA
06E7 ; [.0000.0000.0000.06E7] # ARABIC SMALL HIGH YEH
06E8 ; [.0000.0000.0000.06E8] # ARABIC SMALL HIGH NOON
-06E9 ; [*03C3.0020.0002.06E9] # ARABIC PLACE OF SAJDAH
+06E9 ; [*046C.0020.0002.06E9] # ARABIC PLACE OF SAJDAH
06EA ; [.0000.0000.0000.06EA] # ARABIC EMPTY CENTRE LOW STOP
06EB ; [.0000.0000.0000.06EB] # ARABIC EMPTY CENTRE HIGH STOP
06EC ; [.0000.0000.0000.06EC] # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
06ED ; [.0000.0000.0000.06ED] # ARABIC SMALL LOW MEEM
-0700 ; [*0282.0020.0002.0700] # SYRIAC END OF PARAGRAPH
-0701 ; [*0269.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
-0702 ; [*026A.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
-0703 ; [*0244.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
-0704 ; [*0245.0020.0002.0704] # SYRIAC SUBLINEAR COLON
-0705 ; [*0246.0020.0002.0705] # SYRIAC HORIZONTAL COLON
-0706 ; [*0247.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
-0707 ; [*0248.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
-0708 ; [*0249.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709 ; [*0260.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A ; [*0337.0020.0002.070A] # SYRIAC CONTRACTION
-070B ; [*0338.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
-070C ; [*0339.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
-070D ; [*033A.0020.0002.070D] # SYRIAC HARKLEAN ASTERISCUS
-07F6 ; [*03C5.0020.0002.07F6] # NKO SYMBOL OO DENNEN
-07F7 ; [*0283.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
-07F8 ; [*0238.0020.0002.07F8] # NKO COMMA
-07F9 ; [*025A.0020.0002.07F9] # NKO EXCLAMATION MARK
-07FA ; [*020C.0020.0002.07FA] # NKO LAJANYALAN
-0964 ; [*0274.0020.0002.0964] # DEVANAGARI DANDA
-0965 ; [*0275.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
-0970 ; [*033D.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
-09F8 ; [*0F13.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9 ; [*0F14.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; [*03C6.0020.0002.09FA] # BENGALI ISSHAR
-0B70 ; [*03C7.0020.0002.0B70] # ORIYA ISSHAR
-0BF0 ; [*0F15.0020.0002.0BF0] # TAMIL NUMBER TEN
-0BF1 ; [*0F16.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
-0BF2 ; [*0F17.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
-0BF3 ; [*03C8.0020.0002.0BF3] # TAMIL DAY SIGN
-0BF4 ; [*03C9.0020.0002.0BF4] # TAMIL MONTH SIGN
-0BF5 ; [*03CA.0020.0002.0BF5] # TAMIL YEAR SIGN
-0BF6 ; [*03CB.0020.0002.0BF6] # TAMIL DEBIT SIGN
-0BF7 ; [*03CC.0020.0002.0BF7] # TAMIL CREDIT SIGN
-0BF8 ; [*03CD.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
-0BFA ; [*03CE.0020.0002.0BFA] # TAMIL NUMBER SIGN
-0CF1 ; [*03CF.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
-0CF2 ; [*03D0.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
-0DF4 ; [*033E.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
-0E4F ; [*03D5.0020.0002.0E4F] # THAI CHARACTER FONGMAN
-0E5A ; [*033F.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
-0E5B ; [*0340.0020.0002.0E5B] # THAI CHARACTER KHOMUT
-0F01 ; [*03D6.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02 ; [*03D7.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03 ; [*03D8.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04 ; [*0341.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05 ; [*0342.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06 ; [*0343.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07 ; [*0344.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08 ; [*0345.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
-0F09 ; [*0346.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
-0F0A ; [*0347.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B ; [*034A.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C ; [*034A.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR; QQK
-0F0D ; [*034B.0020.0002.0F0D] # TIBETAN MARK SHAD
-0F0E ; [*034C.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
-0F0F ; [*034D.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
-0F10 ; [*034E.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
-0F11 ; [*034F.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12 ; [*0350.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
-0F13 ; [*03D9.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14 ; [*0251.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
-0F15 ; [*03DA.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16 ; [*03DB.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17 ; [*03DC.0020.0002.0F17] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0700 ; [*02C4.0020.0002.0700] # SYRIAC END OF PARAGRAPH
+0701 ; [*0291.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
+0702 ; [*0292.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
+0703 ; [*0257.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
+0704 ; [*0258.0020.0002.0704] # SYRIAC SUBLINEAR COLON
+0705 ; [*0259.0020.0002.0705] # SYRIAC HORIZONTAL COLON
+0706 ; [*025A.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
+0707 ; [*025B.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
+0708 ; [*025C.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
+0709 ; [*0285.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
+070A ; [*03AA.0020.0002.070A] # SYRIAC CONTRACTION
+070B ; [*03AB.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
+070C ; [*03AC.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
+070D ; [*03AD.0020.0002.070D] # SYRIAC HARKLEAN ASTERISCUS
+0740 ; [.0000.0000.0000.0740] # SYRIAC FEMININE DOT
+0743 ; [.0000.0000.0000.0743] # SYRIAC TWO VERTICAL DOTS ABOVE
+0744 ; [.0000.0000.0000.0744] # SYRIAC TWO VERTICAL DOTS BELOW
+0747 ; [.0000.0000.0000.0747] # SYRIAC OBLIQUE LINE ABOVE
+0748 ; [.0000.0000.0000.0748] # SYRIAC OBLIQUE LINE BELOW
+0749 ; [.0000.0000.0000.0749] # SYRIAC MUSIC
+074A ; [.0000.0000.0000.074A] # SYRIAC BARREKH
+07F6 ; [*046E.0020.0002.07F6] # NKO SYMBOL OO DENNEN
+07F7 ; [*02C5.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
+07F8 ; [*0247.0020.0002.07F8] # NKO COMMA
+07F9 ; [*027E.0020.0002.07F9] # NKO EXCLAMATION MARK
+07FA ; [.0000.0000.0000.07FA] # NKO LAJANYALAN
+0830 ; [*025D.0020.0002.0830] # SAMARITAN PUNCTUATION NEQUDAA
+0831 ; [*025E.0020.0002.0831] # SAMARITAN PUNCTUATION AFSAAQ
+0832 ; [*025F.0020.0002.0832] # SAMARITAN PUNCTUATION ANGED
+0833 ; [*0260.0020.0002.0833] # SAMARITAN PUNCTUATION BAU
+0834 ; [*0261.0020.0002.0834] # SAMARITAN PUNCTUATION ATMAAU
+0835 ; [*0262.0020.0002.0835] # SAMARITAN PUNCTUATION SHIYYAALAA
+0836 ; [*0263.0020.0002.0836] # SAMARITAN ABBREVIATION MARK
+0837 ; [*0264.0020.0002.0837] # SAMARITAN PUNCTUATION MELODIC QITSA
+0838 ; [*0265.0020.0002.0838] # SAMARITAN PUNCTUATION ZIQAA
+0839 ; [*0266.0020.0002.0839] # SAMARITAN PUNCTUATION QITSA
+083A ; [*0267.0020.0002.083A] # SAMARITAN PUNCTUATION ZAEF
+083B ; [*0268.0020.0002.083B] # SAMARITAN PUNCTUATION TURU
+083C ; [*0269.0020.0002.083C] # SAMARITAN PUNCTUATION ARKAANU
+083D ; [*026A.0020.0002.083D] # SAMARITAN PUNCTUATION SOF MASHFAAT
+083E ; [*026B.0020.0002.083E] # SAMARITAN PUNCTUATION ANNAAU
+085E ; [*03AE.0020.0002.085E] # MANDAIC PUNCTUATION
+0951 ; [.0000.0000.0000.0951] # DEVANAGARI STRESS SIGN UDATTA
+0952 ; [.0000.0000.0000.0952] # DEVANAGARI STRESS SIGN ANUDATTA
+0964 ; [*02A1.0020.0002.0964] # DEVANAGARI DANDA
+0965 ; [*02A2.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
+0970 ; [*03B0.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
+09F4 ; [*1492.0020.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
+09F5 ; [*1493.0020.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
+09F6 ; [*1494.0020.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
+09F7 ; [*1495.0020.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
+09F8 ; [*1496.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09F9 ; [*1497.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA ; [*046F.0020.0002.09FA] # BENGALI ISSHAR
+0B70 ; [*0470.0020.0002.0B70] # ORIYA ISSHAR
+0B72 ; [*1498.0020.0002.0B72] # ORIYA FRACTION ONE QUARTER
+0B73 ; [*1499.0020.0002.0B73] # ORIYA FRACTION ONE HALF
+0B74 ; [*149A.0020.0002.0B74] # ORIYA FRACTION THREE QUARTERS
+0B75 ; [*149B.0020.0002.0B75] # ORIYA FRACTION ONE SIXTEENTH
+0B76 ; [*149C.0020.0002.0B76] # ORIYA FRACTION ONE EIGHTH
+0B77 ; [*149D.0020.0002.0B77] # ORIYA FRACTION THREE SIXTEENTHS
+0BF0 ; [*14A4.0020.0002.0BF0] # TAMIL NUMBER TEN
+0BF1 ; [*14A5.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
+0BF2 ; [*14A6.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
+0BF3 ; [*0471.0020.0002.0BF3] # TAMIL DAY SIGN
+0BF4 ; [*0472.0020.0002.0BF4] # TAMIL MONTH SIGN
+0BF5 ; [*0473.0020.0002.0BF5] # TAMIL YEAR SIGN
+0BF6 ; [*0474.0020.0002.0BF6] # TAMIL DEBIT SIGN
+0BF7 ; [*0475.0020.0002.0BF7] # TAMIL CREDIT SIGN
+0BF8 ; [*0476.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
+0BFA ; [*0477.0020.0002.0BFA] # TAMIL NUMBER SIGN
+0C7F ; [*0478.0020.0002.0C7F] # TELUGU SIGN TUUMU
+0D70 ; [*14A7.0020.0002.0D70] # MALAYALAM NUMBER TEN
+0D71 ; [*14A8.0020.0002.0D71] # MALAYALAM NUMBER ONE HUNDRED
+0D72 ; [*14A9.0020.0002.0D72] # MALAYALAM NUMBER ONE THOUSAND
+0D73 ; [*14AA.0020.0002.0D73] # MALAYALAM FRACTION ONE QUARTER
+0D74 ; [*14AB.0020.0002.0D74] # MALAYALAM FRACTION ONE HALF
+0D75 ; [*14AC.0020.0002.0D75] # MALAYALAM FRACTION THREE QUARTERS
+0D79 ; [*0479.0020.0002.0D79] # MALAYALAM DATE MARK
+0DF4 ; [*03B4.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
+0E4F ; [*0481.0020.0002.0E4F] # THAI CHARACTER FONGMAN
+0E5A ; [*03B5.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
+0E5B ; [*03B6.0020.0002.0E5B] # THAI CHARACTER KHOMUT
+0F01 ; [*0482.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
+0F02 ; [*0483.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+0F03 ; [*0484.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0F04 ; [*03B9.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
+0F05 ; [*03BA.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
+0F06 ; [*03BB.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+0F07 ; [*03BC.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
+0F08 ; [*03BD.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
+0F09 ; [*03BE.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
+0F0A ; [*03BF.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
+0F0B ; [*03C2.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
+0F0C ; [*03C2.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR; QQK
+0F0D ; [*03C3.0020.0002.0F0D] # TIBETAN MARK SHAD
+0F0E ; [*03C4.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
+0F0F ; [*03C5.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
+0F10 ; [*03C6.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
+0F11 ; [*03C7.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
+0F12 ; [*03C8.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
+0F13 ; [*0485.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14 ; [*0273.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
+0F15 ; [*0486.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
+0F16 ; [*0487.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
+0F17 ; [*0488.0020.0002.0F17] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
0F18 ; [.0000.0000.0000.0F18] # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
0F19 ; [.0000.0000.0000.0F19] # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A ; [*03DD.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
-0F1B ; [*03DE.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C ; [*03DF.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
-0F1D ; [*03E0.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
-0F1E ; [*03E1.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
-0F1F ; [*03E2.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F34 ; [*03E3.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
+0F1A ; [*0489.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
+0F1B ; [*048A.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
+0F1C ; [*048B.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
+0F1D ; [*048C.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
+0F1E ; [*048D.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
+0F1F ; [*048E.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
+0F34 ; [*048F.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
0F35 ; [.0000.0000.0000.0F35] # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36 ; [*03E4.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0F36 ; [*0490.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
0F37 ; [.0000.0000.0000.0F37] # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38 ; [*03E5.0020.0002.0F38] # TIBETAN MARK CHE MGO
-0F3A ; [*02B7.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
-0F3B ; [*02B8.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
-0F3C ; [*02B9.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
-0F3D ; [*02BA.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
-0F3E ; [*03E6.0020.0002.0F3E] # TIBETAN SIGN YAR TSHES
-0F3F ; [*03E7.0020.0002.0F3F] # TIBETAN SIGN MAR TSHES
+0F38 ; [*0491.0020.0002.0F38] # TIBETAN MARK CHE MGO
+0F3A ; [*0314.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
+0F3B ; [*0315.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
+0F3C ; [*0316.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
+0F3D ; [*0317.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
+0F3E ; [*0492.0020.0002.0F3E] # TIBETAN SIGN YAR TSHES
+0F3F ; [*0493.0020.0002.0F3F] # TIBETAN SIGN MAR TSHES
0F82 ; [.0000.0000.0000.0F82] # TIBETAN SIGN NYI ZLA NAA DA
0F83 ; [.0000.0000.0000.0F83] # TIBETAN SIGN SNA LDAN
-0F85 ; [*0351.0020.0002.0F85] # TIBETAN MARK PALUTA
+0F85 ; [*03C9.0020.0002.0F85] # TIBETAN MARK PALUTA
0F86 ; [.0000.0000.0000.0F86] # TIBETAN SIGN LCI RTAGS
0F87 ; [.0000.0000.0000.0F87] # TIBETAN SIGN YANG RTAGS
-0FBE ; [*03E8.0020.0002.0FBE] # TIBETAN KU RU KHA
-0FBF ; [*03E9.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0 ; [*03EA.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1 ; [*03EB.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2 ; [*03EC.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3 ; [*03ED.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4 ; [*03EE.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
-0FC5 ; [*03EF.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
+0FBE ; [*0494.0020.0002.0FBE] # TIBETAN KU RU KHA
+0FBF ; [*0495.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
+0FC0 ; [*0496.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
+0FC1 ; [*0497.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
+0FC2 ; [*0498.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
+0FC3 ; [*0499.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
+0FC4 ; [*049A.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
+0FC5 ; [*049B.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
0FC6 ; [.0000.0000.0000.0FC6] # TIBETAN SYMBOL PADMA GDAN
-0FC7 ; [*03F0.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8 ; [*03F1.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
-0FC9 ; [*03F2.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
-0FCA ; [*03F3.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB ; [*03F4.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC ; [*03F5.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCF ; [*03F6.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
-0FD0 ; [*0348.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1 ; [*0349.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-104A ; [*027A.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
-104B ; [*027B.0020.0002.104B] # MYANMAR SIGN SECTION
-104C ; [*0353.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
-104D ; [*0354.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
-104E ; [*0355.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
-104F ; [*0356.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
-10FB ; [*0284.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
-1360 ; [*0285.0020.0002.1360] # ETHIOPIC SECTION MARK
-1361 ; [*024A.0020.0002.1361] # ETHIOPIC WORDSPACE
-1362 ; [*026B.0020.0002.1362] # ETHIOPIC FULL STOP
-1363 ; [*024B.0020.0002.1363] # ETHIOPIC COMMA
-1364 ; [*024C.0020.0002.1364] # ETHIOPIC SEMICOLON
-1365 ; [*024D.0020.0002.1365] # ETHIOPIC COLON
-1366 ; [*024E.0020.0002.1366] # ETHIOPIC PREFACE COLON
-1367 ; [*0261.0020.0002.1367] # ETHIOPIC QUESTION MARK
-1368 ; [*0286.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
-1372 ; [*0F18.0020.0002.1372] # ETHIOPIC NUMBER TEN
-1373 ; [*0F19.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
-1374 ; [*0F1A.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
-1375 ; [*0F1B.0020.0002.1375] # ETHIOPIC NUMBER FORTY
-1376 ; [*0F1C.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
-1377 ; [*0F1D.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
-1378 ; [*0F1E.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
-1379 ; [*0F1F.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
-137A ; [*0F20.0020.0002.137A] # ETHIOPIC NUMBER NINETY
-137B ; [*0F21.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
-137C ; [*0F22.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
-1390 ; [*0398.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
-1391 ; [*0399.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
-1392 ; [*039A.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
-1393 ; [*039B.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394 ; [*039C.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
-1395 ; [*039D.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
-1396 ; [*039E.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
-1397 ; [*039F.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
-1398 ; [*03A0.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
-1399 ; [*03A1.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
-166D ; [*035B.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
-166E ; [*026E.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
-1680 ; [*020A.0020.0002.1680] # OGHAM SPACE MARK
-169B ; [*02BB.0020.0002.169B] # OGHAM FEATHER MARK
-169C ; [*02BC.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
-16EB ; [*0254.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
-16EC ; [*0255.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
-16ED ; [*0256.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
-1735 ; [*0278.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
-1736 ; [*0279.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
-17D4 ; [*027C.0020.0002.17D4] # KHMER SIGN KHAN
-17D5 ; [*027D.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
-17D6 ; [*0252.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
-17D7 ; [*0357.0020.0002.17D7] # KHMER SIGN LEK TOO
-17D8 ; [*0358.0020.0002.17D8] # KHMER SIGN BEYYAL
-17D9 ; [*0359.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
-17DA ; [*035A.0020.0002.17DA] # KHMER SIGN KOOMUUT
-1800 ; [*033B.0020.0002.1800] # MONGOLIAN BIRGA
-1801 ; [*0267.0020.0002.1801] # MONGOLIAN ELLIPSIS
-1802 ; [*0239.0020.0002.1802] # MONGOLIAN COMMA
-1803 ; [*026C.0020.0002.1803] # MONGOLIAN FULL STOP
-1804 ; [*024F.0020.0002.1804] # MONGOLIAN COLON
-1805 ; [*0250.0020.0002.1805] # MONGOLIAN FOUR DOTS
-1806 ; [*0225.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
-1807 ; [*0226.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808 ; [*023A.0020.0002.1808] # MONGOLIAN MANCHU COMMA
-1809 ; [*026D.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
-180A ; [*033C.0020.0002.180A] # MONGOLIAN NIRUGU
-1940 ; [*0352.0020.0002.1940] # LIMBU SIGN LOO
-1944 ; [*025B.0020.0002.1944] # LIMBU EXCLAMATION MARK
-1945 ; [*0262.0020.0002.1945] # LIMBU QUESTION MARK
-19E0 ; [*03F7.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
-19E1 ; [*03F8.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
-19E2 ; [*03F9.0020.0002.19E2] # KHMER SYMBOL PII KOET
-19E3 ; [*03FA.0020.0002.19E3] # KHMER SYMBOL BEI KOET
-19E4 ; [*03FB.0020.0002.19E4] # KHMER SYMBOL BUON KOET
-19E5 ; [*03FC.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
-19E6 ; [*03FD.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
-19E7 ; [*03FE.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
-19E8 ; [*03FF.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
-19E9 ; [*0400.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
-19EA ; [*0401.0020.0002.19EA] # KHMER SYMBOL DAP KOET
-19EB ; [*0402.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
-19EC ; [*0403.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
-19ED ; [*0404.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
-19EE ; [*0405.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
-19EF ; [*0406.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
-19F0 ; [*0407.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
-19F1 ; [*0408.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
-19F2 ; [*0409.0020.0002.19F2] # KHMER SYMBOL PII ROC
-19F3 ; [*040A.0020.0002.19F3] # KHMER SYMBOL BEI ROC
-19F4 ; [*040B.0020.0002.19F4] # KHMER SYMBOL BUON ROC
-19F5 ; [*040C.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
-19F6 ; [*040D.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
-19F7 ; [*040E.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
-19F8 ; [*040F.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
-19F9 ; [*0410.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
-19FA ; [*0411.0020.0002.19FA] # KHMER SYMBOL DAP ROC
-19FB ; [*0412.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
-19FC ; [*0413.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
-19FD ; [*0414.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
-19FE ; [*0415.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
-19FF ; [*0416.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
-1A1E ; [*0287.0020.0002.1A1E] # BUGINESE PALLAWA
-1A1F ; [*0288.0020.0002.1A1F] # BUGINESE END OF SECTION
-1B5A ; [*0289.0020.0002.1B5A] # BALINESE PANTI
-1B5B ; [*028A.0020.0002.1B5B] # BALINESE PAMADA
-1B5C ; [*026F.0020.0002.1B5C] # BALINESE WINDU
-1B5D ; [*0253.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
-1B5E ; [*027E.0020.0002.1B5E] # BALINESE CARIK SIKI
-1B5F ; [*027F.0020.0002.1B5F] # BALINESE CARIK PAREREN
-1B60 ; [*0224.0020.0002.1B60] # BALINESE PAMENENG
-1B61 ; [*0417.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
-1B62 ; [*0418.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
-1B63 ; [*0419.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
-1B64 ; [*041A.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
-1B65 ; [*041B.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66 ; [*041C.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
-1B67 ; [*041D.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
-1B68 ; [*041E.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
-1B69 ; [*041F.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
-1B6A ; [*0420.0020.0002.1B6A] # BALINESE MUSICAL SYMBOL DANG GEDE
+0FC7 ; [*049C.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
+0FC8 ; [*049D.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
+0FC9 ; [*049E.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
+0FCA ; [*049F.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
+0FCB ; [*04A0.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
+0FCC ; [*04A1.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0FCE ; [*04A2.0020.0002.0FCE] # TIBETAN SIGN RDEL NAG RDEL DKAR
+0FCF ; [*04A3.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
+0FD0 ; [*03C0.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
+0FD1 ; [*03C1.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
+0FD2 ; [*03CA.0020.0002.0FD2] # TIBETAN MARK NYIS TSHEG
+0FD3 ; [*03CB.0020.0002.0FD3] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+0FD4 ; [*03CC.0020.0002.0FD4] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+0FD5 ; [*04A4.0020.0002.0FD5] # RIGHT-FACING SVASTI SIGN
+0FD6 ; [*04A5.0020.0002.0FD6] # LEFT-FACING SVASTI SIGN
+0FD7 ; [*04A6.0020.0002.0FD7] # RIGHT-FACING SVASTI SIGN WITH DOTS
+0FD8 ; [*04A7.0020.0002.0FD8] # LEFT-FACING SVASTI SIGN WITH DOTS
+0FD9 ; [*03CD.0020.0002.0FD9] # TIBETAN MARK LEADING MCHAN RTAGS
+0FDA ; [*03CE.0020.0002.0FDA] # TIBETAN MARK TRAILING MCHAN RTAGS
+104A ; [*02AC.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
+104B ; [*02AD.0020.0002.104B] # MYANMAR SIGN SECTION
+104C ; [*03D3.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
+104D ; [*03D4.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
+104E ; [*03D5.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
+104F ; [*03D6.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
+109E ; [*03D7.0020.0002.109E] # MYANMAR SYMBOL SHAN ONE
+109F ; [*03D8.0020.0002.109F] # MYANMAR SYMBOL SHAN EXCLAMATION
+10FB ; [*02C6.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
+1360 ; [*02C7.0020.0002.1360] # ETHIOPIC SECTION MARK
+1361 ; [*026C.0020.0002.1361] # ETHIOPIC WORDSPACE
+1362 ; [*0293.0020.0002.1362] # ETHIOPIC FULL STOP
+1363 ; [*026D.0020.0002.1363] # ETHIOPIC COMMA
+1364 ; [*026E.0020.0002.1364] # ETHIOPIC SEMICOLON
+1365 ; [*026F.0020.0002.1365] # ETHIOPIC COLON
+1366 ; [*0270.0020.0002.1366] # ETHIOPIC PREFACE COLON
+1367 ; [*0286.0020.0002.1367] # ETHIOPIC QUESTION MARK
+1368 ; [*02C8.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
+1372 ; [*14AD.0020.0002.1372] # ETHIOPIC NUMBER TEN
+1373 ; [*14AE.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
+1374 ; [*14AF.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
+1375 ; [*14B0.0020.0002.1375] # ETHIOPIC NUMBER FORTY
+1376 ; [*14B1.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
+1377 ; [*14B2.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
+1378 ; [*14B3.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
+1379 ; [*14B4.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
+137A ; [*14B5.0020.0002.137A] # ETHIOPIC NUMBER NINETY
+137B ; [*14B6.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
+137C ; [*14B7.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
+1390 ; [*0437.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
+1391 ; [*0438.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
+1392 ; [*0439.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
+1393 ; [*043A.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
+1394 ; [*043B.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
+1395 ; [*043C.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
+1396 ; [*043D.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
+1397 ; [*043E.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
+1398 ; [*043F.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
+1399 ; [*0440.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
+1400 ; [*0232.0020.0002.1400] # CANADIAN SYLLABICS HYPHEN
+166D ; [*03E9.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
+166E ; [*0296.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
+1680 ; [*020B.0020.0002.1680] # OGHAM SPACE MARK
+169B ; [*0318.0020.0002.169B] # OGHAM FEATHER MARK
+169C ; [*0319.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
+16EB ; [*0277.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
+16EC ; [*0278.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
+16ED ; [*0279.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
+1735 ; [*02A9.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
+1736 ; [*02AA.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
+17D3 ; [.0000.0000.0000.17D3] # KHMER SIGN BATHAMASAT
+17D4 ; [*02AE.0020.0002.17D4] # KHMER SIGN KHAN
+17D5 ; [*02AF.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
+17D6 ; [*0274.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
+17D7 ; [*03DC.0020.0002.17D7] # KHMER SIGN LEK TOO
+17D8 ; [*03DD.0020.0002.17D8] # KHMER SIGN BEYYAL
+17D9 ; [*03DE.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
+17DA ; [*03DF.0020.0002.17DA] # KHMER SIGN KOOMUUT
+1800 ; [*03AF.0020.0002.1800] # MONGOLIAN BIRGA
+1801 ; [*028F.0020.0002.1801] # MONGOLIAN ELLIPSIS
+1802 ; [*0248.0020.0002.1802] # MONGOLIAN COMMA
+1803 ; [*0294.0020.0002.1803] # MONGOLIAN FULL STOP
+1804 ; [*0271.0020.0002.1804] # MONGOLIAN COLON
+1805 ; [*0272.0020.0002.1805] # MONGOLIAN FOUR DOTS
+1806 ; [*0234.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
+1807 ; [*0235.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+1808 ; [*0249.0020.0002.1808] # MONGOLIAN MANCHU COMMA
+1809 ; [*0295.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
+180A ; [.0000.0000.0000.180A] # MONGOLIAN NIRUGU
+180E ; [*0207.0020.0002.180E] # MONGOLIAN VOWEL SEPARATOR
+1940 ; [*03D2.0020.0002.1940] # LIMBU SIGN LOO
+1944 ; [*027F.0020.0002.1944] # LIMBU EXCLAMATION MARK
+1945 ; [*0287.0020.0002.1945] # LIMBU QUESTION MARK
+19E0 ; [*04A8.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
+19E1 ; [*04A9.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
+19E2 ; [*04AA.0020.0002.19E2] # KHMER SYMBOL PII KOET
+19E3 ; [*04AB.0020.0002.19E3] # KHMER SYMBOL BEI KOET
+19E4 ; [*04AC.0020.0002.19E4] # KHMER SYMBOL BUON KOET
+19E5 ; [*04AD.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
+19E6 ; [*04AE.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
+19E7 ; [*04AF.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
+19E8 ; [*04B0.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
+19E9 ; [*04B1.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
+19EA ; [*04B2.0020.0002.19EA] # KHMER SYMBOL DAP KOET
+19EB ; [*04B3.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
+19EC ; [*04B4.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
+19ED ; [*04B5.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
+19EE ; [*04B6.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
+19EF ; [*04B7.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
+19F0 ; [*04B8.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
+19F1 ; [*04B9.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
+19F2 ; [*04BA.0020.0002.19F2] # KHMER SYMBOL PII ROC
+19F3 ; [*04BB.0020.0002.19F3] # KHMER SYMBOL BEI ROC
+19F4 ; [*04BC.0020.0002.19F4] # KHMER SYMBOL BUON ROC
+19F5 ; [*04BD.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
+19F6 ; [*04BE.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
+19F7 ; [*04BF.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
+19F8 ; [*04C0.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
+19F9 ; [*04C1.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
+19FA ; [*04C2.0020.0002.19FA] # KHMER SYMBOL DAP ROC
+19FB ; [*04C3.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
+19FC ; [*04C4.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
+19FD ; [*04C5.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
+19FE ; [*04C6.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
+19FF ; [*04C7.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
+1A1E ; [*02C9.0020.0002.1A1E] # BUGINESE PALLAWA
+1A1F ; [*02CA.0020.0002.1A1F] # BUGINESE END OF SECTION
+1A7F ; [.0000.0000.0000.1A7F] # TAI THAM COMBINING CRYPTOGRAMMIC DOT
+1AA0 ; [*03E0.0020.0002.1AA0] # TAI THAM SIGN WIANG
+1AA1 ; [*03E1.0020.0002.1AA1] # TAI THAM SIGN WIANGWAAK
+1AA2 ; [*03E2.0020.0002.1AA2] # TAI THAM SIGN SAWAN
+1AA3 ; [*03E3.0020.0002.1AA3] # TAI THAM SIGN KEOW
+1AA4 ; [*03E4.0020.0002.1AA4] # TAI THAM SIGN HOY
+1AA5 ; [*03E5.0020.0002.1AA5] # TAI THAM SIGN DOKMAI
+1AA6 ; [*03E6.0020.0002.1AA6] # TAI THAM SIGN REVERSED ROTATED RANA
+1AA8 ; [*02B0.0020.0002.1AA8] # TAI THAM SIGN KAAN
+1AA9 ; [*02B1.0020.0002.1AA9] # TAI THAM SIGN KAANKUU
+1AAA ; [*02B2.0020.0002.1AAA] # TAI THAM SIGN SATKAAN
+1AAB ; [*02B3.0020.0002.1AAB] # TAI THAM SIGN SATKAANKUU
+1AAC ; [*03E7.0020.0002.1AAC] # TAI THAM SIGN HANG
+1AAD ; [*03E8.0020.0002.1AAD] # TAI THAM SIGN CAANG
+1B5A ; [*02CB.0020.0002.1B5A] # BALINESE PANTI
+1B5B ; [*02CC.0020.0002.1B5B] # BALINESE PAMADA
+1B5C ; [*0297.0020.0002.1B5C] # BALINESE WINDU
+1B5D ; [*0275.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
+1B5E ; [*02B4.0020.0002.1B5E] # BALINESE CARIK SIKI
+1B5F ; [*02B5.0020.0002.1B5F] # BALINESE CARIK PAREREN
+1B60 ; [*0233.0020.0002.1B60] # BALINESE PAMENENG
+1B61 ; [*04C8.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
+1B62 ; [*04C9.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
+1B63 ; [*04CA.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
+1B64 ; [*04CB.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
+1B65 ; [*04CC.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
+1B66 ; [*04CD.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
+1B67 ; [*04CE.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
+1B68 ; [*04CF.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
+1B69 ; [*04D0.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
+1B6A ; [*04D1.0020.0002.1B6A] # BALINESE MUSICAL SYMBOL DANG GEDE
1B6B ; [.0000.0000.0000.1B6B] # BALINESE MUSICAL SYMBOL COMBINING TEGEH
1B6C ; [.0000.0000.0000.1B6C] # BALINESE MUSICAL SYMBOL COMBINING ENDEP
1B6D ; [.0000.0000.0000.1B6D] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
@@ -918,3126 +997,3616 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
1B71 ; [.0000.0000.0000.1B71] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
1B72 ; [.0000.0000.0000.1B72] # BALINESE MUSICAL SYMBOL COMBINING BENDE
1B73 ; [.0000.0000.0000.1B73] # BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74 ; [*0421.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75 ; [*0422.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76 ; [*0423.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77 ; [*0424.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78 ; [*0425.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79 ; [*0426.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A ; [*0427.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B ; [*0428.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C ; [*0429.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1FBD ; [*0218.0020.0002.1FBD] # GREEK KORONIS; QQC
-1FBF ; [*0218.0020.0002.1FBF] # GREEK PSILI
-1FC0 ; [*021E.0020.0002.1FC0] # GREEK PERISPOMENI
-1FC1 ; [*0215.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI; QQCM
-1FCD ; [*0218.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA; QQCM
-1FCE ; [*0218.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA; QQCM
-1FCF ; [*0218.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI; QQCM
-1FDD ; [*0219.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA; QQCM
-1FDE ; [*0219.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA; QQCM
-1FDF ; [*0219.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI; QQCM
-1FED ; [*0215.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA; QQCM
-1FEE ; [*0215.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA; QQCM
-1FEF ; [*020D.0020.0002.1FEF] # GREEK VARIA; QQC
-1FFD ; [*020E.0020.0002.1FFD] # GREEK OXIA; QQC
-1FFE ; [*0219.0020.0002.1FFE] # GREEK DASIA
-2000 ; [*0209.0020.0004.2000] # EN QUAD; QQK
-2001 ; [*0209.0020.0004.2001] # EM QUAD; QQK
-2002 ; [*0209.0020.0004.2002] # EN SPACE; QQK
-2003 ; [*0209.0020.0004.2003] # EM SPACE; QQK
-2004 ; [*0209.0020.0004.2004] # THREE-PER-EM SPACE; QQK
-2005 ; [*0209.0020.0004.2005] # FOUR-PER-EM SPACE; QQK
-2006 ; [*0209.0020.0004.2006] # SIX-PER-EM SPACE; QQK
-2007 ; [*0209.0020.001B.2007] # FIGURE SPACE; QQK
-2008 ; [*0209.0020.0004.2008] # PUNCTUATION SPACE; QQK
-2009 ; [*0209.0020.0004.2009] # THIN SPACE; QQK
-200A ; [*0209.0020.0004.200A] # HAIR SPACE; QQK
-2010 ; [*0227.0020.0002.2010] # HYPHEN
-2011 ; [*0227.0020.001B.2011] # NON-BREAKING HYPHEN; QQK
-2012 ; [*0228.0020.0002.2012] # FIGURE DASH
-2013 ; [*0229.0020.0002.2013] # EN DASH
-2014 ; [*022A.0020.0002.2014] # EM DASH
-2015 ; [*022B.0020.0002.2015] # HORIZONTAL BAR
-2016 ; [*04C2.0020.0002.2016] # DOUBLE VERTICAL LINE
-2017 ; [*021D.0020.0002.2017] # DOUBLE LOW LINE
-2018 ; [*02A1.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
-2019 ; [*02A2.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
-201A ; [*02A3.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
-201B ; [*02A4.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C ; [*02A8.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
-201D ; [*02A9.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
-201E ; [*02AA.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
-201F ; [*02AB.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020 ; [*030B.0020.0002.2020] # DAGGER
-2021 ; [*030C.0020.0002.2021] # DOUBLE DAGGER
-2022 ; [*030D.0020.0002.2022] # BULLET
-2023 ; [*030E.0020.0002.2023] # TRIANGULAR BULLET
-2024 ; [*0266.0020.0004.2024] # ONE DOT LEADER; QQK
-2025 ; [*0266.0020.0004.2025][*0266.0020.0004.2025] # TWO DOT LEADER; QQKN
-2026 ; [*0266.0020.0004.2026][*0266.0020.0004.2026][*0266.0020.001F.2026] # HORIZONTAL ELLIPSIS; QQKN
-2027 ; [*030F.0020.0002.2027] # HYPHENATION POINT
-2028 ; [*0207.0020.0002.2028] # LINE SEPARATOR
-2029 ; [*0208.0020.0002.2029] # PARAGRAPH SEPARATOR
-202F ; [*0209.0020.001B.202F] # NARROW NO-BREAK SPACE; QQK
-2030 ; [*0308.0020.0002.2030] # PER MILLE SIGN
-2031 ; [*0309.0020.0002.2031] # PER TEN THOUSAND SIGN
-2032 ; [*0313.0020.0002.2032] # PRIME
-2033 ; [*0313.0020.0004.2033][*0313.0020.0004.2033] # DOUBLE PRIME; QQKN
-2034 ; [*0313.0020.0004.2034][*0313.0020.0004.2034][*0313.0020.001F.2034] # TRIPLE PRIME; QQKN
-2035 ; [*0314.0020.0002.2035] # REVERSED PRIME
-2036 ; [*0314.0020.0004.2036][*0314.0020.0004.2036] # REVERSED DOUBLE PRIME; QQKN
-2037 ; [*0314.0020.0004.2037][*0314.0020.0004.2037][*0314.0020.001F.2037] # REVERSED TRIPLE PRIME; QQKN
-2038 ; [*0317.0020.0002.2038] # CARET
-2039 ; [*02A5.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; [*02A6.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B ; [*0318.0020.0002.203B] # REFERENCE MARK
-203C ; [*0257.0020.0004.203C][*0257.0020.0004.203C] # DOUBLE EXCLAMATION MARK; QQKN
-203D ; [*0265.0020.0002.203D] # INTERROBANG
-203E ; [*0212.0020.0002.203E] # OVERLINE
-203F ; [*0319.0020.0002.203F] # UNDERTIE
-2040 ; [*031B.0020.0002.2040] # CHARACTER TIE
-2041 ; [*031D.0020.0002.2041] # CARET INSERTION POINT
-2042 ; [*031E.0020.0002.2042] # ASTERISM
-2043 ; [*0310.0020.0002.2043] # HYPHEN BULLET
-2044 ; [*0300.0020.0002.2044] # FRACTION SLASH
-2045 ; [*02BD.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
-2046 ; [*02BE.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
-2047 ; [*025C.0020.0004.2047][*025C.0020.0004.2047] # DOUBLE QUESTION MARK; QQKN
-2048 ; [*025C.0020.0004.2048][*0257.0020.0004.2048] # QUESTION EXCLAMATION MARK; QQKN
-2049 ; [*0257.0020.0004.2049][*025C.0020.0004.2049] # EXCLAMATION QUESTION MARK; QQKN
-204A ; [*0304.0020.0002.204A] # TIRONIAN SIGN ET
-204B ; [*02F7.0020.0002.204B] # REVERSED PILCROW SIGN
-204C ; [*0311.0020.0002.204C] # BLACK LEFTWARDS BULLET
-204D ; [*0312.0020.0002.204D] # BLACK RIGHTWARDS BULLET
-204E ; [*02FC.0020.0002.204E] # LOW ASTERISK
-204F ; [*0240.0020.0002.204F] # REVERSED SEMICOLON
-2050 ; [*031C.0020.0002.2050] # CLOSE UP
-2051 ; [*02FD.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; [*030A.0020.0002.2052] # COMMERCIAL MINUS SIGN
-2053 ; [*022C.0020.0002.2053] # SWUNG DASH
-2054 ; [*031A.0020.0002.2054] # INVERTED UNDERTIE
-2055 ; [*028B.0020.0002.2055] # FLOWER PUNCTUATION MARK
-2056 ; [*028C.0020.0002.2056] # THREE DOT PUNCTUATION
-2057 ; [*0313.0020.0004.2057][*0313.0020.0004.2057][*0313.0020.001F.2057][*0313.0020.001F.2057] # QUADRUPLE PRIME; QQKN
-2058 ; [*028D.0020.0002.2058] # FOUR DOT PUNCTUATION
-2059 ; [*028E.0020.0002.2059] # FIVE DOT PUNCTUATION
-205A ; [*028F.0020.0002.205A] # TWO DOT PUNCTUATION
-205B ; [*0290.0020.0002.205B] # FOUR DOT MARK
-205C ; [*0291.0020.0002.205C] # DOTTED CROSS
-205D ; [*0292.0020.0002.205D] # TRICOLON
-205E ; [*0293.0020.0002.205E] # VERTICAL FOUR DOTS
-205F ; [*0209.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE; QQK
+1B74 ; [*04D2.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
+1B75 ; [*04D3.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
+1B76 ; [*04D4.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
+1B77 ; [*04D5.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
+1B78 ; [*04D6.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
+1B79 ; [*04D7.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
+1B7A ; [*04D8.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
+1B7B ; [*04D9.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
+1B7C ; [*04DA.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+1BFC ; [*03ED.0020.0002.1BFC] # BATAK SYMBOL BINDU NA METEK
+1BFD ; [*03EE.0020.0002.1BFD] # BATAK SYMBOL BINDU PINARBORAS
+1BFE ; [*03EF.0020.0002.1BFE] # BATAK SYMBOL BINDU JUDUL
+1BFF ; [*03F0.0020.0002.1BFF] # BATAK SYMBOL BINDU PANGOLAT
+1C3B ; [*02A5.0020.0002.1C3B] # LEPCHA PUNCTUATION TA-ROL
+1C3C ; [*02A6.0020.0002.1C3C] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
+1C3D ; [*03CF.0020.0002.1C3D] # LEPCHA PUNCTUATION CER-WA
+1C3E ; [*03D0.0020.0002.1C3E] # LEPCHA PUNCTUATION TSHOOK CER-WA
+1C3F ; [*03D1.0020.0002.1C3F] # LEPCHA PUNCTUATION TSHOOK
+1C7E ; [*02C2.0020.0002.1C7E] # OL CHIKI PUNCTUATION MUCAAD
+1C7F ; [*02C3.0020.0002.1C7F] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CD0 ; [.0000.0000.0000.1CD0] # VEDIC TONE KARSHANA
+1CD1 ; [.0000.0000.0000.1CD1] # VEDIC TONE SHARA
+1CD2 ; [.0000.0000.0000.1CD2] # VEDIC TONE PRENKHA
+1CD3 ; [.0000.0000.0000.1CD3] # VEDIC SIGN NIHSHVASA
+1CD4 ; [.0000.0000.0000.1CD4] # VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
+1CD5 ; [.0000.0000.0000.1CD5] # VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
+1CD6 ; [.0000.0000.0000.1CD6] # VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
+1CD7 ; [.0000.0000.0000.1CD7] # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
+1CD8 ; [.0000.0000.0000.1CD8] # VEDIC TONE CANDRA BELOW
+1CD9 ; [.0000.0000.0000.1CD9] # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
+1CDA ; [.0000.0000.0000.1CDA] # VEDIC TONE DOUBLE SVARITA
+1CDB ; [.0000.0000.0000.1CDB] # VEDIC TONE TRIPLE SVARITA
+1CDC ; [.0000.0000.0000.1CDC] # VEDIC TONE KATHAKA ANUDATTA
+1CDD ; [.0000.0000.0000.1CDD] # VEDIC TONE DOT BELOW
+1CDE ; [.0000.0000.0000.1CDE] # VEDIC TONE TWO DOTS BELOW
+1CDF ; [.0000.0000.0000.1CDF] # VEDIC TONE THREE DOTS BELOW
+1CE0 ; [.0000.0000.0000.1CE0] # VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CE1 ; [.0000.0000.0000.1CE1] # VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
+1CE2 ; [.0000.0000.0000.1CE2] # VEDIC SIGN VISARGA SVARITA
+1CE3 ; [.0000.0000.0000.1CE3] # VEDIC SIGN VISARGA UDATTA
+1CE4 ; [.0000.0000.0000.1CE4] # VEDIC SIGN REVERSED VISARGA UDATTA
+1CE5 ; [.0000.0000.0000.1CE5] # VEDIC SIGN VISARGA ANUDATTA
+1CE6 ; [.0000.0000.0000.1CE6] # VEDIC SIGN REVERSED VISARGA ANUDATTA
+1CE7 ; [.0000.0000.0000.1CE7] # VEDIC SIGN VISARGA UDATTA WITH TAIL
+1CE8 ; [.0000.0000.0000.1CE8] # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
+1FBD ; [*0217.0020.0002.1FBD] # GREEK KORONIS; QQC
+1FBF ; [*0217.0020.0002.1FBF] # GREEK PSILI
+1FC0 ; [*021D.0020.0002.1FC0] # GREEK PERISPOMENI
+1FC1 ; [*0214.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI; QQCM
+1FCD ; [*0217.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA; QQCM
+1FCE ; [*0217.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA; QQCM
+1FCF ; [*0217.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI; QQCM
+1FDD ; [*0218.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA; QQCM
+1FDE ; [*0218.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA; QQCM
+1FDF ; [*0218.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI; QQCM
+1FED ; [*0214.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA; QQCM
+1FEE ; [*0214.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA; QQCM
+1FEF ; [*020C.0020.0002.1FEF] # GREEK VARIA; QQC
+1FFD ; [*020D.0020.0002.1FFD] # GREEK OXIA; QQC
+1FFE ; [*0218.0020.0002.1FFE] # GREEK DASIA
+2000 ; [*020A.0020.0004.2000] # EN QUAD; QQK
+2001 ; [*020A.0020.0004.2001] # EM QUAD; QQK
+2002 ; [*020A.0020.0004.2002] # EN SPACE; QQK
+2003 ; [*020A.0020.0004.2003] # EM SPACE; QQK
+2004 ; [*020A.0020.0004.2004] # THREE-PER-EM SPACE; QQK
+2005 ; [*020A.0020.0004.2005] # FOUR-PER-EM SPACE; QQK
+2006 ; [*020A.0020.0004.2006] # SIX-PER-EM SPACE; QQK
+2007 ; [*020A.0020.001B.2007] # FIGURE SPACE; QQK
+2008 ; [*020A.0020.0004.2008] # PUNCTUATION SPACE; QQK
+2009 ; [*020A.0020.0004.2009] # THIN SPACE; QQK
+200A ; [*020A.0020.0004.200A] # HAIR SPACE; QQK
+2010 ; [*0236.0020.0002.2010] # HYPHEN
+2011 ; [*0236.0020.001B.2011] # NON-BREAKING HYPHEN; QQK
+2012 ; [*0237.0020.0002.2012] # FIGURE DASH
+2013 ; [*0238.0020.0002.2013] # EN DASH
+2014 ; [*0239.0020.0002.2014] # EM DASH
+2015 ; [*023A.0020.0002.2015] # HORIZONTAL BAR
+2016 ; [*0574.0020.0002.2016] # DOUBLE VERTICAL LINE
+2017 ; [*021C.0020.0002.2017] # DOUBLE LOW LINE
+2018 ; [*02FE.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
+2019 ; [*02FF.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
+201A ; [*0300.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
+201B ; [*0301.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
+201C ; [*0305.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
+201D ; [*0306.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
+201E ; [*0307.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
+201F ; [*0308.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020 ; [*0379.0020.0002.2020] # DAGGER
+2021 ; [*037A.0020.0002.2021] # DOUBLE DAGGER
+2022 ; [*037B.0020.0002.2022] # BULLET
+2023 ; [*037C.0020.0002.2023] # TRIANGULAR BULLET
+2024 ; [*028E.0020.0004.2024] # ONE DOT LEADER; QQK
+2025 ; [*028E.0020.0004.2025][*028E.0020.0004.2025] # TWO DOT LEADER; QQKN
+2026 ; [*028E.0020.0004.2026][*028E.0020.0004.2026][*028E.0020.001F.2026] # HORIZONTAL ELLIPSIS; QQKN
+2027 ; [*037D.0020.0002.2027] # HYPHENATION POINT
+2028 ; [*0208.0020.0002.2028] # LINE SEPARATOR
+2029 ; [*0209.0020.0002.2029] # PARAGRAPH SEPARATOR
+202F ; [*020A.0020.001B.202F] # NARROW NO-BREAK SPACE; QQK
+2030 ; [*0374.0020.0002.2030] # PER MILLE SIGN
+2031 ; [*0376.0020.0002.2031] # PER TEN THOUSAND SIGN
+2032 ; [*0381.0020.0002.2032] # PRIME
+2033 ; [*0381.0020.0004.2033][*0381.0020.0004.2033] # DOUBLE PRIME; QQKN
+2034 ; [*0381.0020.0004.2034][*0381.0020.0004.2034][*0381.0020.001F.2034] # TRIPLE PRIME; QQKN
+2035 ; [*0382.0020.0002.2035] # REVERSED PRIME
+2036 ; [*0382.0020.0004.2036][*0382.0020.0004.2036] # REVERSED DOUBLE PRIME; QQKN
+2037 ; [*0382.0020.0004.2037][*0382.0020.0004.2037][*0382.0020.001F.2037] # REVERSED TRIPLE PRIME; QQKN
+2038 ; [*0385.0020.0002.2038] # CARET
+2039 ; [*0302.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203A ; [*0303.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203B ; [*0386.0020.0002.203B] # REFERENCE MARK
+203C ; [*027B.0020.0004.203C][*027B.0020.0004.203C] # DOUBLE EXCLAMATION MARK; QQKN
+203D ; [*028C.0020.0002.203D] # INTERROBANG
+203E ; [*0211.0020.0002.203E] # OVERLINE
+203F ; [*0387.0020.0002.203F] # UNDERTIE
+2040 ; [*0389.0020.0002.2040] # CHARACTER TIE
+2041 ; [*038B.0020.0002.2041] # CARET INSERTION POINT
+2042 ; [*038C.0020.0002.2042] # ASTERISM
+2043 ; [*037E.0020.0002.2043] # HYPHEN BULLET
+2044 ; [*036C.0020.0002.2044] # FRACTION SLASH
+2045 ; [*031A.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
+2046 ; [*031B.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
+2047 ; [*0280.0020.0004.2047][*0280.0020.0004.2047] # DOUBLE QUESTION MARK; QQKN
+2048 ; [*0280.0020.0004.2048][*027B.0020.0004.2048] # QUESTION EXCLAMATION MARK; QQKN
+2049 ; [*027B.0020.0004.2049][*0280.0020.0004.2049] # EXCLAMATION QUESTION MARK; QQKN
+204A ; [*0370.0020.0002.204A] # TIRONIAN SIGN ET
+204B ; [*0362.0020.0002.204B] # REVERSED PILCROW SIGN
+204C ; [*037F.0020.0002.204C] # BLACK LEFTWARDS BULLET
+204D ; [*0380.0020.0002.204D] # BLACK RIGHTWARDS BULLET
+204E ; [*0367.0020.0002.204E] # LOW ASTERISK
+204F ; [*0252.0020.0002.204F] # REVERSED SEMICOLON
+2050 ; [*038A.0020.0002.2050] # CLOSE UP
+2051 ; [*0368.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
+2052 ; [*0378.0020.0002.2052] # COMMERCIAL MINUS SIGN
+2053 ; [*023B.0020.0002.2053] # SWUNG DASH
+2054 ; [*0388.0020.0002.2054] # INVERTED UNDERTIE
+2055 ; [*02E2.0020.0002.2055] # FLOWER PUNCTUATION MARK
+2056 ; [*02E3.0020.0002.2056] # THREE DOT PUNCTUATION
+2057 ; [*0381.0020.0004.2057][*0381.0020.0004.2057][*0381.0020.001F.2057][*0381.0020.001F.2057] # QUADRUPLE PRIME; QQKN
+2058 ; [*02E4.0020.0002.2058] # FOUR DOT PUNCTUATION
+2059 ; [*02E5.0020.0002.2059] # FIVE DOT PUNCTUATION
+205A ; [*02E6.0020.0002.205A] # TWO DOT PUNCTUATION
+205B ; [*02E7.0020.0002.205B] # FOUR DOT MARK
+205C ; [*02E8.0020.0002.205C] # DOTTED CROSS
+205D ; [*02E9.0020.0002.205D] # TRICOLON
+205E ; [*02EA.0020.0002.205E] # VERTICAL FOUR DOTS
+205F ; [*020A.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE; QQK
2061 ; [.0000.0000.0000.2061] # FUNCTION APPLICATION
2062 ; [.0000.0000.0000.2062] # INVISIBLE TIMES
2063 ; [.0000.0000.0000.2063] # INVISIBLE SEPARATOR
-207A ; [*04B8.0020.0014.207A] # SUPERSCRIPT PLUS SIGN; QQK
-207B ; [*04C4.0020.0014.207B] # SUPERSCRIPT MINUS; QQK
-207C ; [*04BD.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN; QQK
-207D ; [*02B1.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS; QQK
-207E ; [*02B2.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS; QQK
-208A ; [*04B8.0020.0015.208A] # SUBSCRIPT PLUS SIGN; QQK
-208B ; [*04C4.0020.0015.208B] # SUBSCRIPT MINUS; QQK
-208C ; [*04BD.0020.0015.208C] # SUBSCRIPT EQUALS SIGN; QQK
-208D ; [*02B1.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS; QQK
-208E ; [*02B2.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS; QQK
-2104 ; [*042A.0020.0002.2104] # CENTRE LINE SYMBOL
-2108 ; [*042B.0020.0002.2108] # SCRUPLE
-2114 ; [*042C.0020.0002.2114] # L B BAR SYMBOL
-2117 ; [*042D.0020.0002.2117] # SOUND RECORDING COPYRIGHT
-2118 ; [*042E.0020.0002.2118] # SCRIPT CAPITAL P
-211E ; [*042F.0020.0002.211E] # PRESCRIPTION TAKE
-211F ; [*0430.0020.0002.211F] # RESPONSE
-2123 ; [*0431.0020.0002.2123] # VERSICLE
-2125 ; [*0432.0020.0002.2125] # OUNCE SIGN
-2127 ; [*0433.0020.0002.2127] # INVERTED OHM SIGN
-2129 ; [*0434.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
-212E ; [*0435.0020.0002.212E] # ESTIMATED SYMBOL
-213A ; [*0436.0020.0002.213A] # ROTATED CAPITAL Q
-2140 ; [*04B7.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION; QQK
-2141 ; [*0437.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
-2142 ; [*0438.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
-2143 ; [*0439.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
-2144 ; [*043A.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
-214A ; [*043B.0020.0002.214A] # PROPERTY LINE
-214B ; [*0303.0020.0002.214B] # TURNED AMPERSAND
-214C ; [*043C.0020.0002.214C] # PER SIGN
-214D ; [*043D.0020.0002.214D] # AKTIESELSKAB
-2180 ; [*0F23.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
-2181 ; [*0F24.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
-2182 ; [*0F25.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
-2190 ; [*043E.0020.0002.2190] # LEFTWARDS ARROW
-2191 ; [*0440.0020.0002.2191] # UPWARDS ARROW
-2192 ; [*043F.0020.0002.2192] # RIGHTWARDS ARROW
-2193 ; [*0441.0020.0002.2193] # DOWNWARDS ARROW
-2194 ; [*0442.0020.0002.2194] # LEFT RIGHT ARROW
-2195 ; [*0443.0020.0002.2195] # UP DOWN ARROW
-2196 ; [*0444.0020.0002.2196] # NORTH WEST ARROW
-2197 ; [*0445.0020.0002.2197] # NORTH EAST ARROW
-2198 ; [*0446.0020.0002.2198] # SOUTH EAST ARROW
-2199 ; [*0447.0020.0002.2199] # SOUTH WEST ARROW
-219A ; [*043E.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE; QQCM
-219B ; [*043F.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE; QQCM
-219C ; [*0448.0020.0002.219C] # LEFTWARDS WAVE ARROW
-219D ; [*0449.0020.0002.219D] # RIGHTWARDS WAVE ARROW
-219E ; [*044A.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
-219F ; [*044B.0020.0002.219F] # UPWARDS TWO HEADED ARROW
-21A0 ; [*044C.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
-21A1 ; [*044D.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
-21A2 ; [*044E.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
-21A3 ; [*044F.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
-21A4 ; [*0450.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
-21A5 ; [*0451.0020.0002.21A5] # UPWARDS ARROW FROM BAR
-21A6 ; [*0452.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
-21A7 ; [*0453.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
-21A8 ; [*0454.0020.0002.21A8] # UP DOWN ARROW WITH BASE
-21A9 ; [*0455.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
-21AA ; [*0456.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
-21AB ; [*0457.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
-21AC ; [*0458.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
-21AD ; [*0459.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
-21AE ; [*0442.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE; QQCM
-21AF ; [*045A.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
-21B0 ; [*045B.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1 ; [*045C.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2 ; [*045D.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3 ; [*045E.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4 ; [*045F.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5 ; [*0460.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6 ; [*0461.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7 ; [*0462.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8 ; [*0463.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
-21B9 ; [*0464.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA ; [*0465.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB ; [*0466.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
-21BC ; [*0467.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD ; [*0468.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE ; [*0469.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF ; [*046A.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0 ; [*046B.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1 ; [*046C.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2 ; [*046D.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3 ; [*046E.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4 ; [*046F.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5 ; [*0470.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6 ; [*0471.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7 ; [*0472.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
-21C8 ; [*0473.0020.0002.21C8] # UPWARDS PAIRED ARROWS
-21C9 ; [*0474.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
-21CA ; [*0475.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
-21CB ; [*0476.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC ; [*0477.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD ; [*0478.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE; QQCM
-21CE ; [*047C.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE; QQCM
-21CF ; [*047A.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE; QQCM
-21D0 ; [*0478.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
-21D1 ; [*0479.0020.0002.21D1] # UPWARDS DOUBLE ARROW
-21D2 ; [*047A.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
-21D3 ; [*047B.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
-21D4 ; [*047C.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
-21D5 ; [*047D.0020.0002.21D5] # UP DOWN DOUBLE ARROW
-21D6 ; [*047E.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
-21D7 ; [*047F.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
-21D8 ; [*0480.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
-21D9 ; [*0481.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
-21DA ; [*0482.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
-21DB ; [*0483.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
-21DC ; [*0484.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
-21DD ; [*0485.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
-21DE ; [*0486.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
-21DF ; [*0487.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0 ; [*0488.0020.0002.21E0] # LEFTWARDS DASHED ARROW
-21E1 ; [*0489.0020.0002.21E1] # UPWARDS DASHED ARROW
-21E2 ; [*048A.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
-21E3 ; [*048B.0020.0002.21E3] # DOWNWARDS DASHED ARROW
-21E4 ; [*048C.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
-21E5 ; [*048D.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
-21E6 ; [*048E.0020.0002.21E6] # LEFTWARDS WHITE ARROW
-21E7 ; [*048F.0020.0002.21E7] # UPWARDS WHITE ARROW
-21E8 ; [*0490.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
-21E9 ; [*0491.0020.0002.21E9] # DOWNWARDS WHITE ARROW
-21EA ; [*0492.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
-21EB ; [*0493.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
-21EC ; [*0494.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED ; [*0495.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE ; [*0496.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
-21EF ; [*0497.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0 ; [*0498.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
-21F1 ; [*0499.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
-21F2 ; [*049A.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
-21F3 ; [*049B.0020.0002.21F3] # UP DOWN WHITE ARROW
-21F4 ; [*049C.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
-21F5 ; [*049D.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6 ; [*049E.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
-21F7 ; [*049F.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8 ; [*04A0.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9 ; [*04A1.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA ; [*04A2.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB ; [*04A3.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC ; [*04A4.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD ; [*04A5.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
-21FE ; [*04A6.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
-21FF ; [*04A7.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
-2200 ; [*04A8.0020.0002.2200] # FOR ALL
-2201 ; [*04A9.0020.0002.2201] # COMPLEMENT
-2202 ; [*04AA.0020.0002.2202] # PARTIAL DIFFERENTIAL
-2203 ; [*04AB.0020.0002.2203] # THERE EXISTS
-2204 ; [*04AB.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST; QQCM
-2205 ; [*04AC.0020.0002.2205] # EMPTY SET
-2206 ; [*04AD.0020.0002.2206] # INCREMENT
-2207 ; [*04AE.0020.0002.2207] # NABLA
-2208 ; [*04AF.0020.0002.2208] # ELEMENT OF
-2209 ; [*04AF.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF; QQCM
-220A ; [*04B0.0020.0002.220A] # SMALL ELEMENT OF
-220B ; [*04B1.0020.0002.220B] # CONTAINS AS MEMBER
-220C ; [*04B1.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER; QQCM
-220D ; [*04B2.0020.0002.220D] # SMALL CONTAINS AS MEMBER
-220E ; [*04B4.0020.0002.220E] # END OF PROOF
-220F ; [*04B5.0020.0002.220F] # N-ARY PRODUCT
-2210 ; [*04B6.0020.0002.2210] # N-ARY COPRODUCT
-2211 ; [*04B7.0020.0002.2211] # N-ARY SUMMATION
-2212 ; [*04C4.0020.0002.2212] # MINUS SIGN
-2213 ; [*04C5.0020.0002.2213] # MINUS-OR-PLUS SIGN
-2214 ; [*04C6.0020.0002.2214] # DOT PLUS
-2215 ; [*04C7.0020.0002.2215] # DIVISION SLASH
-2216 ; [*04C8.0020.0002.2216] # SET MINUS
-2217 ; [*04C9.0020.0002.2217] # ASTERISK OPERATOR
-2218 ; [*04CA.0020.0002.2218] # RING OPERATOR
-2219 ; [*04CB.0020.0002.2219] # BULLET OPERATOR
-221A ; [*04CC.0020.0002.221A] # SQUARE ROOT
-221B ; [*04CD.0020.0002.221B] # CUBE ROOT
-221C ; [*04CE.0020.0002.221C] # FOURTH ROOT
-221D ; [*04CF.0020.0002.221D] # PROPORTIONAL TO
-221E ; [*04D0.0020.0002.221E] # INFINITY
-221F ; [*04D1.0020.0002.221F] # RIGHT ANGLE
-2220 ; [*04D2.0020.0002.2220] # ANGLE
-2221 ; [*04D3.0020.0002.2221] # MEASURED ANGLE
-2222 ; [*04D4.0020.0002.2222] # SPHERICAL ANGLE
-2223 ; [*04D5.0020.0002.2223] # DIVIDES
-2224 ; [*04D5.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE; QQCM
-2225 ; [*04D6.0020.0002.2225] # PARALLEL TO
-2226 ; [*04D6.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO; QQCM
-2227 ; [*04D7.0020.0002.2227] # LOGICAL AND
-2228 ; [*04D8.0020.0002.2228] # LOGICAL OR
-2229 ; [*04D9.0020.0002.2229] # INTERSECTION
-222A ; [*04DA.0020.0002.222A] # UNION
-222B ; [*04DB.0020.0002.222B] # INTEGRAL
-222C ; [*04DB.0020.0004.222C][*04DB.0020.0004.222C] # DOUBLE INTEGRAL; QQKN
-222D ; [*04DB.0020.0004.222D][*04DB.0020.0004.222D][*04DB.0020.001F.222D] # TRIPLE INTEGRAL; QQKN
-222E ; [*04DC.0020.0002.222E] # CONTOUR INTEGRAL
-222F ; [*04DC.0020.0004.222F][*04DC.0020.0004.222F] # SURFACE INTEGRAL; QQKN
-2230 ; [*04DC.0020.0004.2230][*04DC.0020.0004.2230][*04DC.0020.001F.2230] # VOLUME INTEGRAL; QQKN
-2231 ; [*04DD.0020.0002.2231] # CLOCKWISE INTEGRAL
-2232 ; [*04DE.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
-2233 ; [*04DF.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
-2234 ; [*04E0.0020.0002.2234] # THEREFORE
-2235 ; [*04E1.0020.0002.2235] # BECAUSE
-2236 ; [*04E2.0020.0002.2236] # RATIO
-2237 ; [*04E3.0020.0002.2237] # PROPORTION
-2238 ; [*04E4.0020.0002.2238] # DOT MINUS
-2239 ; [*04E5.0020.0002.2239] # EXCESS
-223A ; [*04E6.0020.0002.223A] # GEOMETRIC PROPORTION
-223B ; [*04E7.0020.0002.223B] # HOMOTHETIC
-223C ; [*04E8.0020.0002.223C] # TILDE OPERATOR
-223D ; [*04E9.0020.0002.223D] # REVERSED TILDE
-223E ; [*04EA.0020.0002.223E] # INVERTED LAZY S
-223F ; [*04EB.0020.0002.223F] # SINE WAVE
-2240 ; [*04EC.0020.0002.2240] # WREATH PRODUCT
-2241 ; [*04E8.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE; QQCM
-2242 ; [*04ED.0020.0002.2242] # MINUS TILDE
-2243 ; [*04EE.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
-2244 ; [*04EE.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO; QQCM
-2245 ; [*04EF.0020.0002.2245] # APPROXIMATELY EQUAL TO
-2246 ; [*04F0.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247 ; [*04EF.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO; QQCM
-2248 ; [*04F1.0020.0002.2248] # ALMOST EQUAL TO
-2249 ; [*04F1.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO; QQCM
-224A ; [*04F2.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
-224B ; [*04F3.0020.0002.224B] # TRIPLE TILDE
-224C ; [*04F4.0020.0002.224C] # ALL EQUAL TO
-224D ; [*04F5.0020.0002.224D] # EQUIVALENT TO
-224E ; [*04F6.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
-224F ; [*04F7.0020.0002.224F] # DIFFERENCE BETWEEN
-2250 ; [*04F8.0020.0002.2250] # APPROACHES THE LIMIT
-2251 ; [*04F9.0020.0002.2251] # GEOMETRICALLY EQUAL TO
-2252 ; [*04FA.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253 ; [*04FB.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254 ; [*04FC.0020.0002.2254] # COLON EQUALS
-2255 ; [*04FD.0020.0002.2255] # EQUALS COLON
-2256 ; [*04FE.0020.0002.2256] # RING IN EQUAL TO
-2257 ; [*04FF.0020.0002.2257] # RING EQUAL TO
-2258 ; [*0500.0020.0002.2258] # CORRESPONDS TO
-2259 ; [*0501.0020.0002.2259] # ESTIMATES
-225A ; [*0502.0020.0002.225A] # EQUIANGULAR TO
-225B ; [*0503.0020.0002.225B] # STAR EQUALS
-225C ; [*0504.0020.0002.225C] # DELTA EQUAL TO
-225D ; [*0505.0020.0002.225D] # EQUAL TO BY DEFINITION
-225E ; [*0506.0020.0002.225E] # MEASURED BY
-225F ; [*0507.0020.0002.225F] # QUESTIONED EQUAL TO
-2260 ; [*04BD.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO; QQCM
-2261 ; [*0508.0020.0002.2261] # IDENTICAL TO
-2262 ; [*0508.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO; QQCM
-2263 ; [*0509.0020.0002.2263] # STRICTLY EQUIVALENT TO
-2264 ; [*050A.0020.0002.2264] # LESS-THAN OR EQUAL TO
-2265 ; [*050B.0020.0002.2265] # GREATER-THAN OR EQUAL TO
-2266 ; [*050C.0020.0002.2266] # LESS-THAN OVER EQUAL TO
-2267 ; [*050D.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
-2268 ; [*050E.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
-2269 ; [*050F.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
-226A ; [*0510.0020.0002.226A] # MUCH LESS-THAN
-226B ; [*0511.0020.0002.226B] # MUCH GREATER-THAN
-226C ; [*0512.0020.0002.226C] # BETWEEN
-226D ; [*04F5.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO; QQCM
-226E ; [*04BC.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN; QQCM
-226F ; [*04BE.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN; QQCM
-2270 ; [*050A.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO; QQCM
-2271 ; [*050B.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO; QQCM
-2272 ; [*0513.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
-2273 ; [*0514.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
-2274 ; [*0513.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO; QQCM
-2275 ; [*0514.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO; QQCM
-2276 ; [*0515.0020.0002.2276] # LESS-THAN OR GREATER-THAN
-2277 ; [*0516.0020.0002.2277] # GREATER-THAN OR LESS-THAN
-2278 ; [*0515.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN; QQCM
-2279 ; [*0516.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN; QQCM
-227A ; [*0517.0020.0002.227A] # PRECEDES
-227B ; [*0518.0020.0002.227B] # SUCCEEDS
-227C ; [*0519.0020.0002.227C] # PRECEDES OR EQUAL TO
-227D ; [*051A.0020.0002.227D] # SUCCEEDS OR EQUAL TO
-227E ; [*051B.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
-227F ; [*051C.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
-2280 ; [*0517.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE; QQCM
-2281 ; [*0518.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED; QQCM
-2282 ; [*051D.0020.0002.2282] # SUBSET OF
-2283 ; [*051E.0020.0002.2283] # SUPERSET OF
-2284 ; [*051D.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF; QQCM
-2285 ; [*051E.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF; QQCM
-2286 ; [*051F.0020.0002.2286] # SUBSET OF OR EQUAL TO
-2287 ; [*0520.0020.0002.2287] # SUPERSET OF OR EQUAL TO
-2288 ; [*051F.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO; QQCM
-2289 ; [*0520.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO; QQCM
-228A ; [*0521.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
-228B ; [*0522.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
-228C ; [*0523.0020.0002.228C] # MULTISET
-228D ; [*0524.0020.0002.228D] # MULTISET MULTIPLICATION
-228E ; [*0525.0020.0002.228E] # MULTISET UNION
-228F ; [*0526.0020.0002.228F] # SQUARE IMAGE OF
-2290 ; [*0527.0020.0002.2290] # SQUARE ORIGINAL OF
-2291 ; [*0528.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
-2292 ; [*0529.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
-2293 ; [*052A.0020.0002.2293] # SQUARE CAP
-2294 ; [*052B.0020.0002.2294] # SQUARE CUP
-2295 ; [*052C.0020.0002.2295] # CIRCLED PLUS
-2296 ; [*052D.0020.0002.2296] # CIRCLED MINUS
-2297 ; [*052E.0020.0002.2297] # CIRCLED TIMES
-2298 ; [*052F.0020.0002.2298] # CIRCLED DIVISION SLASH
-2299 ; [*0530.0020.0002.2299] # CIRCLED DOT OPERATOR
-229A ; [*0531.0020.0002.229A] # CIRCLED RING OPERATOR
-229B ; [*0532.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
-229C ; [*0533.0020.0002.229C] # CIRCLED EQUALS
-229D ; [*0534.0020.0002.229D] # CIRCLED DASH
-229E ; [*0535.0020.0002.229E] # SQUARED PLUS
-229F ; [*0536.0020.0002.229F] # SQUARED MINUS
-22A0 ; [*0537.0020.0002.22A0] # SQUARED TIMES
-22A1 ; [*0538.0020.0002.22A1] # SQUARED DOT OPERATOR
-22A2 ; [*0539.0020.0002.22A2] # RIGHT TACK
-22A3 ; [*053A.0020.0002.22A3] # LEFT TACK
-22A4 ; [*053B.0020.0002.22A4] # DOWN TACK
-22A5 ; [*053C.0020.0002.22A5] # UP TACK
-22A6 ; [*053D.0020.0002.22A6] # ASSERTION
-22A7 ; [*053E.0020.0002.22A7] # MODELS
-22A8 ; [*053F.0020.0002.22A8] # TRUE
-22A9 ; [*0540.0020.0002.22A9] # FORCES
-22AA ; [*0541.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB ; [*0542.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC ; [*0539.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE; QQCM
-22AD ; [*053F.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE; QQCM
-22AE ; [*0540.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE; QQCM
-22AF ; [*0542.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE; QQCM
-22B0 ; [*0543.0020.0002.22B0] # PRECEDES UNDER RELATION
-22B1 ; [*0544.0020.0002.22B1] # SUCCEEDS UNDER RELATION
-22B2 ; [*0545.0020.0002.22B2] # NORMAL SUBGROUP OF
-22B3 ; [*0546.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
-22B4 ; [*0547.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
-22B5 ; [*0548.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6 ; [*0549.0020.0002.22B6] # ORIGINAL OF
-22B7 ; [*054A.0020.0002.22B7] # IMAGE OF
-22B8 ; [*054B.0020.0002.22B8] # MULTIMAP
-22B9 ; [*054C.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
-22BA ; [*054D.0020.0002.22BA] # INTERCALATE
-22BB ; [*054E.0020.0002.22BB] # XOR
-22BC ; [*054F.0020.0002.22BC] # NAND
-22BD ; [*0550.0020.0002.22BD] # NOR
-22BE ; [*0551.0020.0002.22BE] # RIGHT ANGLE WITH ARC
-22BF ; [*0552.0020.0002.22BF] # RIGHT TRIANGLE
-22C0 ; [*0553.0020.0002.22C0] # N-ARY LOGICAL AND
-22C1 ; [*0554.0020.0002.22C1] # N-ARY LOGICAL OR
-22C2 ; [*0555.0020.0002.22C2] # N-ARY INTERSECTION
-22C3 ; [*0556.0020.0002.22C3] # N-ARY UNION
-22C4 ; [*0557.0020.0002.22C4] # DIAMOND OPERATOR
-22C5 ; [*0558.0020.0002.22C5] # DOT OPERATOR
-22C6 ; [*0559.0020.0002.22C6] # STAR OPERATOR
-22C7 ; [*055A.0020.0002.22C7] # DIVISION TIMES
-22C8 ; [*055B.0020.0002.22C8] # BOWTIE
-22C9 ; [*055C.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA ; [*055D.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB ; [*055E.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
-22CC ; [*055F.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
-22CD ; [*0560.0020.0002.22CD] # REVERSED TILDE EQUALS
-22CE ; [*0561.0020.0002.22CE] # CURLY LOGICAL OR
-22CF ; [*0562.0020.0002.22CF] # CURLY LOGICAL AND
-22D0 ; [*0563.0020.0002.22D0] # DOUBLE SUBSET
-22D1 ; [*0564.0020.0002.22D1] # DOUBLE SUPERSET
-22D2 ; [*0565.0020.0002.22D2] # DOUBLE INTERSECTION
-22D3 ; [*0566.0020.0002.22D3] # DOUBLE UNION
-22D4 ; [*0567.0020.0002.22D4] # PITCHFORK
-22D5 ; [*0568.0020.0002.22D5] # EQUAL AND PARALLEL TO
-22D6 ; [*0569.0020.0002.22D6] # LESS-THAN WITH DOT
-22D7 ; [*056A.0020.0002.22D7] # GREATER-THAN WITH DOT
-22D8 ; [*056B.0020.0002.22D8] # VERY MUCH LESS-THAN
-22D9 ; [*056C.0020.0002.22D9] # VERY MUCH GREATER-THAN
-22DA ; [*056D.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB ; [*056E.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC ; [*056F.0020.0002.22DC] # EQUAL TO OR LESS-THAN
-22DD ; [*0570.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
-22DE ; [*0571.0020.0002.22DE] # EQUAL TO OR PRECEDES
-22DF ; [*0572.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
-22E0 ; [*0519.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL; QQCM
-22E1 ; [*051A.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL; QQCM
-22E2 ; [*0528.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO; QQCM
-22E3 ; [*0529.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO; QQCM
-22E4 ; [*0573.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5 ; [*0574.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6 ; [*0575.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
-22E7 ; [*0576.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8 ; [*0577.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
-22E9 ; [*0578.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA ; [*0545.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF; QQCM
-22EB ; [*0546.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP; QQCM
-22EC ; [*0547.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO; QQCM
-22ED ; [*0548.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL; QQCM
-22EE ; [*0579.0020.0002.22EE] # VERTICAL ELLIPSIS
-22EF ; [*057A.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
-22F0 ; [*057B.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
-22F1 ; [*057C.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2 ; [*057D.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3 ; [*057E.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4 ; [*057F.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5 ; [*0580.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
-22F6 ; [*0581.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
-22F7 ; [*0582.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
-22F8 ; [*0583.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
-22F9 ; [*0584.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA ; [*0585.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB ; [*0586.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC ; [*0587.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD ; [*0588.0020.0002.22FD] # CONTAINS WITH OVERBAR
-22FE ; [*0589.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
-22FF ; [*058A.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
-2300 ; [*058B.0020.0002.2300] # DIAMETER SIGN
-2301 ; [*058C.0020.0002.2301] # ELECTRIC ARROW
-2302 ; [*058D.0020.0002.2302] # HOUSE
-2303 ; [*058E.0020.0002.2303] # UP ARROWHEAD
-2304 ; [*058F.0020.0002.2304] # DOWN ARROWHEAD
-2305 ; [*0590.0020.0002.2305] # PROJECTIVE
-2306 ; [*0591.0020.0002.2306] # PERSPECTIVE
-2307 ; [*0592.0020.0002.2307] # WAVY LINE
-2308 ; [*0593.0020.0002.2308] # LEFT CEILING
-2309 ; [*0594.0020.0002.2309] # RIGHT CEILING
-230A ; [*0595.0020.0002.230A] # LEFT FLOOR
-230B ; [*0596.0020.0002.230B] # RIGHT FLOOR
-230C ; [*0597.0020.0002.230C] # BOTTOM RIGHT CROP
-230D ; [*0598.0020.0002.230D] # BOTTOM LEFT CROP
-230E ; [*0599.0020.0002.230E] # TOP RIGHT CROP
-230F ; [*059A.0020.0002.230F] # TOP LEFT CROP
-2310 ; [*059B.0020.0002.2310] # REVERSED NOT SIGN
-2311 ; [*059C.0020.0002.2311] # SQUARE LOZENGE
-2312 ; [*059D.0020.0002.2312] # ARC
-2313 ; [*059E.0020.0002.2313] # SEGMENT
-2314 ; [*059F.0020.0002.2314] # SECTOR
-2315 ; [*05A0.0020.0002.2315] # TELEPHONE RECORDER
-2316 ; [*05A1.0020.0002.2316] # POSITION INDICATOR
-2317 ; [*05A2.0020.0002.2317] # VIEWDATA SQUARE
-2318 ; [*05A3.0020.0002.2318] # PLACE OF INTEREST SIGN
-2319 ; [*05A4.0020.0002.2319] # TURNED NOT SIGN
-231A ; [*05A5.0020.0002.231A] # WATCH
-231B ; [*05A6.0020.0002.231B] # HOURGLASS
-231C ; [*05A7.0020.0002.231C] # TOP LEFT CORNER
-231D ; [*05A8.0020.0002.231D] # TOP RIGHT CORNER
-231E ; [*05A9.0020.0002.231E] # BOTTOM LEFT CORNER
-231F ; [*05AA.0020.0002.231F] # BOTTOM RIGHT CORNER
-2320 ; [*05AB.0020.0002.2320] # TOP HALF INTEGRAL
-2321 ; [*05AC.0020.0002.2321] # BOTTOM HALF INTEGRAL
-2322 ; [*05AD.0020.0002.2322] # FROWN
-2323 ; [*05AE.0020.0002.2323] # SMILE
-2324 ; [*05AF.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325 ; [*05B0.0020.0002.2325] # OPTION KEY
-2326 ; [*05B1.0020.0002.2326] # ERASE TO THE RIGHT
-2327 ; [*05B2.0020.0002.2327] # X IN A RECTANGLE BOX
-2328 ; [*05B3.0020.0002.2328] # KEYBOARD
-2329 ; [*02E1.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET; QQC
-232A ; [*02E2.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET; QQC
-232B ; [*05B4.0020.0002.232B] # ERASE TO THE LEFT
-232C ; [*05B5.0020.0002.232C] # BENZENE RING
-232D ; [*05B6.0020.0002.232D] # CYLINDRICITY
-232E ; [*05B7.0020.0002.232E] # ALL AROUND-PROFILE
-232F ; [*05B8.0020.0002.232F] # SYMMETRY
-2330 ; [*05B9.0020.0002.2330] # TOTAL RUNOUT
-2331 ; [*05BA.0020.0002.2331] # DIMENSION ORIGIN
-2332 ; [*05BB.0020.0002.2332] # CONICAL TAPER
-2333 ; [*05BC.0020.0002.2333] # SLOPE
-2334 ; [*05BD.0020.0002.2334] # COUNTERBORE
-2335 ; [*05BE.0020.0002.2335] # COUNTERSINK
-2336 ; [*05BF.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
-2337 ; [*05C0.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338 ; [*05C1.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339 ; [*05C2.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A ; [*05C3.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B ; [*05C4.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
-233C ; [*05C5.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D ; [*05C6.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E ; [*05C7.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F ; [*05C8.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
-2340 ; [*05C9.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341 ; [*05CA.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342 ; [*05CB.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343 ; [*05CC.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344 ; [*05CD.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345 ; [*05CE.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346 ; [*05CF.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347 ; [*05D0.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348 ; [*05D1.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349 ; [*05D2.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A ; [*05D3.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B ; [*05D4.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
-234C ; [*05D5.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D ; [*05D6.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E ; [*05D7.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F ; [*05D8.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350 ; [*05D9.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351 ; [*05DA.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352 ; [*05DB.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
-2353 ; [*05DC.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354 ; [*05DD.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
-2355 ; [*05DE.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356 ; [*05DF.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357 ; [*05E0.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358 ; [*05E1.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359 ; [*05E2.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A ; [*05E3.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B ; [*05E4.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C ; [*05E5.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D ; [*05E6.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E ; [*05E7.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F ; [*05E8.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360 ; [*05E9.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
-2361 ; [*05EA.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362 ; [*05EB.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363 ; [*05EC.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364 ; [*05ED.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365 ; [*05EE.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366 ; [*05EF.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367 ; [*05F0.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368 ; [*05F1.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369 ; [*05F2.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A ; [*05F3.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
-236B ; [*05F4.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
-236C ; [*05F5.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
-236D ; [*05F6.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
-236E ; [*05F7.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F ; [*05F8.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370 ; [*05F9.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371 ; [*05FA.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372 ; [*05FB.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373 ; [*05FC.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
-2374 ; [*05FD.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
-2375 ; [*05FE.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
-2376 ; [*05FF.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377 ; [*0600.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378 ; [*0601.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379 ; [*0602.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A ; [*0603.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
-237B ; [*0604.0020.0002.237B] # NOT CHECK MARK
-237C ; [*0605.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D ; [*0606.0020.0002.237D] # SHOULDERED OPEN BOX
-237E ; [*0607.0020.0002.237E] # BELL SYMBOL
-237F ; [*0608.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
-2380 ; [*0609.0020.0002.2380] # INSERTION SYMBOL
-2381 ; [*060A.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
-2382 ; [*060B.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
-2383 ; [*060C.0020.0002.2383] # EMPHASIS SYMBOL
-2384 ; [*060D.0020.0002.2384] # COMPOSITION SYMBOL
-2385 ; [*060E.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386 ; [*060F.0020.0002.2386] # ENTER SYMBOL
-2387 ; [*0610.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
-2388 ; [*0611.0020.0002.2388] # HELM SYMBOL
-2389 ; [*0612.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A ; [*0613.0020.0002.238A] # CIRCLED TRIANGLE DOWN
-238B ; [*0614.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C ; [*0615.0020.0002.238C] # UNDO SYMBOL
-238D ; [*0616.0020.0002.238D] # MONOSTABLE SYMBOL
-238E ; [*0617.0020.0002.238E] # HYSTERESIS SYMBOL
-238F ; [*0618.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390 ; [*0619.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391 ; [*061A.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392 ; [*061B.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393 ; [*061C.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
-2394 ; [*061D.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
-2395 ; [*061E.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
-2396 ; [*061F.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
-2397 ; [*0620.0020.0002.2397] # PREVIOUS PAGE
-2398 ; [*0621.0020.0002.2398] # NEXT PAGE
-2399 ; [*0622.0020.0002.2399] # PRINT SCREEN SYMBOL
-239A ; [*0623.0020.0002.239A] # CLEAR SCREEN SYMBOL
-239B ; [*0624.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
-239C ; [*0625.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
-239D ; [*0626.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
-239E ; [*0627.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
-239F ; [*0628.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
-23A0 ; [*0629.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
-23A1 ; [*062A.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
-23A2 ; [*062B.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
-23A3 ; [*062C.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
-23A4 ; [*062D.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
-23A5 ; [*062E.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
-23A6 ; [*062F.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
-23A7 ; [*0630.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
-23A8 ; [*0631.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
-23A9 ; [*0632.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
-23AA ; [*0633.0020.0002.23AA] # CURLY BRACKET EXTENSION
-23AB ; [*0634.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
-23AC ; [*0635.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD ; [*0636.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
-23AE ; [*0637.0020.0002.23AE] # INTEGRAL EXTENSION
-23AF ; [*0638.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
-23B0 ; [*0639.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1 ; [*063A.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2 ; [*063B.0020.0002.23B2] # SUMMATION TOP
-23B3 ; [*063C.0020.0002.23B3] # SUMMATION BOTTOM
-23B4 ; [*063D.0020.0002.23B4] # TOP SQUARE BRACKET
-23B5 ; [*063E.0020.0002.23B5] # BOTTOM SQUARE BRACKET
-23B6 ; [*063F.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7 ; [*0640.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
-23B8 ; [*0641.0020.0002.23B8] # LEFT VERTICAL BOX LINE
-23B9 ; [*0642.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
-23BA ; [*0643.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
-23BB ; [*0644.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
-23BC ; [*0645.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
-23BD ; [*0646.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
-23BE ; [*0647.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF ; [*0648.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0 ; [*0649.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1 ; [*064A.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2 ; [*064B.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3 ; [*064C.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4 ; [*064D.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5 ; [*064E.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6 ; [*064F.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7 ; [*0650.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8 ; [*0651.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9 ; [*0652.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA ; [*0653.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB ; [*0654.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC ; [*0655.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD ; [*0656.0020.0002.23CD] # SQUARE FOOT
-23CE ; [*0657.0020.0002.23CE] # RETURN SYMBOL
-23CF ; [*0658.0020.0002.23CF] # EJECT SYMBOL
-23D0 ; [*0659.0020.0002.23D0] # VERTICAL LINE EXTENSION
-23D1 ; [*065A.0020.0002.23D1] # METRICAL BREVE
-23D2 ; [*065B.0020.0002.23D2] # METRICAL LONG OVER SHORT
-23D3 ; [*065C.0020.0002.23D3] # METRICAL SHORT OVER LONG
-23D4 ; [*065D.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
-23D5 ; [*065E.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
-23D6 ; [*065F.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
-23D7 ; [*0660.0020.0002.23D7] # METRICAL TRISEME
-23D8 ; [*0661.0020.0002.23D8] # METRICAL TETRASEME
-23D9 ; [*0662.0020.0002.23D9] # METRICAL PENTASEME
-23DA ; [*0663.0020.0002.23DA] # EARTH GROUND
-23DB ; [*0664.0020.0002.23DB] # FUSE
-23DC ; [*0665.0020.0002.23DC] # TOP PARENTHESIS
-23DD ; [*0666.0020.0002.23DD] # BOTTOM PARENTHESIS
-23DE ; [*0667.0020.0002.23DE] # TOP CURLY BRACKET
-23DF ; [*0668.0020.0002.23DF] # BOTTOM CURLY BRACKET
-23E0 ; [*0669.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
-23E1 ; [*066A.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
-23E2 ; [*066B.0020.0002.23E2] # WHITE TRAPEZIUM
-23E3 ; [*066C.0020.0002.23E3] # BENZENE RING WITH CIRCLE
-23E4 ; [*066D.0020.0002.23E4] # STRAIGHTNESS
-23E5 ; [*066E.0020.0002.23E5] # FLATNESS
-23E6 ; [*066F.0020.0002.23E6] # AC CURRENT
-23E7 ; [*0670.0020.0002.23E7] # ELECTRICAL INTERSECTION
-2400 ; [*0671.0020.0002.2400] # SYMBOL FOR NULL
-2401 ; [*0672.0020.0002.2401] # SYMBOL FOR START OF HEADING
-2402 ; [*0673.0020.0002.2402] # SYMBOL FOR START OF TEXT
-2403 ; [*0674.0020.0002.2403] # SYMBOL FOR END OF TEXT
-2404 ; [*0675.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
-2405 ; [*0676.0020.0002.2405] # SYMBOL FOR ENQUIRY
-2406 ; [*0677.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
-2407 ; [*0678.0020.0002.2407] # SYMBOL FOR BELL
-2408 ; [*0679.0020.0002.2408] # SYMBOL FOR BACKSPACE
-2409 ; [*067A.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
-240A ; [*067B.0020.0002.240A] # SYMBOL FOR LINE FEED
-240B ; [*067C.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
-240C ; [*067D.0020.0002.240C] # SYMBOL FOR FORM FEED
-240D ; [*067E.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
-240E ; [*067F.0020.0002.240E] # SYMBOL FOR SHIFT OUT
-240F ; [*0680.0020.0002.240F] # SYMBOL FOR SHIFT IN
-2410 ; [*0681.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
-2411 ; [*0682.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
-2412 ; [*0683.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
-2413 ; [*0684.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
-2414 ; [*0685.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
-2415 ; [*0686.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416 ; [*0687.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
-2417 ; [*0688.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418 ; [*0689.0020.0002.2418] # SYMBOL FOR CANCEL
-2419 ; [*068A.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
-241A ; [*068B.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
-241B ; [*068C.0020.0002.241B] # SYMBOL FOR ESCAPE
-241C ; [*068D.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
-241D ; [*068E.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
-241E ; [*068F.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
-241F ; [*0690.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
-2420 ; [*0691.0020.0002.2420] # SYMBOL FOR SPACE
-2421 ; [*0692.0020.0002.2421] # SYMBOL FOR DELETE
-2422 ; [*0693.0020.0002.2422] # BLANK SYMBOL
-2423 ; [*0694.0020.0002.2423] # OPEN BOX
-2424 ; [*0695.0020.0002.2424] # SYMBOL FOR NEWLINE
-2425 ; [*0696.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
-2426 ; [*0697.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
-2440 ; [*0698.0020.0002.2440] # OCR HOOK
-2441 ; [*0699.0020.0002.2441] # OCR CHAIR
-2442 ; [*069A.0020.0002.2442] # OCR FORK
-2443 ; [*069B.0020.0002.2443] # OCR INVERTED FORK
-2444 ; [*069C.0020.0002.2444] # OCR BELT BUCKLE
-2445 ; [*069D.0020.0002.2445] # OCR BOW TIE
-2446 ; [*069E.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
-2447 ; [*069F.0020.0002.2447] # OCR AMOUNT OF CHECK
-2448 ; [*06A0.0020.0002.2448] # OCR DASH
-2449 ; [*06A1.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
-244A ; [*06A2.0020.0002.244A] # OCR DOUBLE BACKSLASH
-2500 ; [*06A3.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
-2501 ; [*06A4.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
-2502 ; [*06A5.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
-2503 ; [*06A6.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
-2504 ; [*06A7.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505 ; [*06A8.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506 ; [*06A9.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507 ; [*06AA.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508 ; [*06AB.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509 ; [*06AC.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A ; [*06AD.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B ; [*06AE.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C ; [*06AF.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D ; [*06B0.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E ; [*06B1.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F ; [*06B2.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510 ; [*06B3.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511 ; [*06B4.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512 ; [*06B5.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513 ; [*06B6.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514 ; [*06B7.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
-2515 ; [*06B8.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516 ; [*06B9.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517 ; [*06BA.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
-2518 ; [*06BB.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
-2519 ; [*06BC.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A ; [*06BD.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B ; [*06BE.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
-251C ; [*06BF.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D ; [*06C0.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E ; [*06C1.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F ; [*06C2.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520 ; [*06C3.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521 ; [*06C4.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522 ; [*06C5.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523 ; [*06C6.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524 ; [*06C7.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525 ; [*06C8.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526 ; [*06C9.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527 ; [*06CA.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528 ; [*06CB.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529 ; [*06CC.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A ; [*06CD.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B ; [*06CE.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C ; [*06CF.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D ; [*06D0.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E ; [*06D1.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F ; [*06D2.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530 ; [*06D3.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531 ; [*06D4.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532 ; [*06D5.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533 ; [*06D6.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534 ; [*06D7.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535 ; [*06D8.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536 ; [*06D9.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537 ; [*06DA.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538 ; [*06DB.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539 ; [*06DC.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A ; [*06DD.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B ; [*06DE.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C ; [*06DF.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D ; [*06E0.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E ; [*06E1.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F ; [*06E2.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540 ; [*06E3.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541 ; [*06E4.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542 ; [*06E5.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543 ; [*06E6.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544 ; [*06E7.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545 ; [*06E8.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546 ; [*06E9.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547 ; [*06EA.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548 ; [*06EB.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549 ; [*06EC.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A ; [*06ED.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B ; [*06EE.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C ; [*06EF.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D ; [*06F0.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E ; [*06F1.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F ; [*06F2.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550 ; [*06F3.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
-2551 ; [*06F4.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
-2552 ; [*06F5.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553 ; [*06F6.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554 ; [*06F7.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555 ; [*06F8.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556 ; [*06F9.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557 ; [*06FA.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558 ; [*06FB.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559 ; [*06FC.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A ; [*06FD.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B ; [*06FE.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C ; [*06FF.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D ; [*0700.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
-255E ; [*0701.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F ; [*0702.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560 ; [*0703.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561 ; [*0704.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562 ; [*0705.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563 ; [*0706.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564 ; [*0707.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565 ; [*0708.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566 ; [*0709.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567 ; [*070A.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568 ; [*070B.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569 ; [*070C.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A ; [*070D.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B ; [*070E.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C ; [*070F.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D ; [*0710.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E ; [*0711.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F ; [*0712.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570 ; [*0713.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571 ; [*0714.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572 ; [*0715.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573 ; [*0716.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574 ; [*0717.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
-2575 ; [*0718.0020.0002.2575] # BOX DRAWINGS LIGHT UP
-2576 ; [*0719.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
-2577 ; [*071A.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
-2578 ; [*071B.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
-2579 ; [*071C.0020.0002.2579] # BOX DRAWINGS HEAVY UP
-257A ; [*071D.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
-257B ; [*071E.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
-257C ; [*071F.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D ; [*0720.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E ; [*0721.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F ; [*0722.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580 ; [*0723.0020.0002.2580] # UPPER HALF BLOCK
-2581 ; [*0724.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
-2582 ; [*0725.0020.0002.2582] # LOWER ONE QUARTER BLOCK
-2583 ; [*0726.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
-2584 ; [*0727.0020.0002.2584] # LOWER HALF BLOCK
-2585 ; [*0728.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
-2586 ; [*0729.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
-2587 ; [*072A.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
-2588 ; [*072B.0020.0002.2588] # FULL BLOCK
-2589 ; [*072C.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
-258A ; [*072D.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
-258B ; [*072E.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
-258C ; [*072F.0020.0002.258C] # LEFT HALF BLOCK
-258D ; [*0730.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
-258E ; [*0731.0020.0002.258E] # LEFT ONE QUARTER BLOCK
-258F ; [*0732.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
-2590 ; [*0733.0020.0002.2590] # RIGHT HALF BLOCK
-2591 ; [*0734.0020.0002.2591] # LIGHT SHADE
-2592 ; [*0735.0020.0002.2592] # MEDIUM SHADE
-2593 ; [*0736.0020.0002.2593] # DARK SHADE
-2594 ; [*0737.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
-2595 ; [*0738.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
-2596 ; [*0739.0020.0002.2596] # QUADRANT LOWER LEFT
-2597 ; [*073A.0020.0002.2597] # QUADRANT LOWER RIGHT
-2598 ; [*073B.0020.0002.2598] # QUADRANT UPPER LEFT
-2599 ; [*073C.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A ; [*073D.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B ; [*073E.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C ; [*073F.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D ; [*0740.0020.0002.259D] # QUADRANT UPPER RIGHT
-259E ; [*0741.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F ; [*0742.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0 ; [*0743.0020.0002.25A0] # BLACK SQUARE
-25A1 ; [*0744.0020.0002.25A1] # WHITE SQUARE
-25A2 ; [*0745.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
-25A3 ; [*0746.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4 ; [*0747.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
-25A5 ; [*0748.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
-25A6 ; [*0749.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7 ; [*074A.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8 ; [*074B.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9 ; [*074C.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA ; [*074D.0020.0002.25AA] # BLACK SMALL SQUARE
-25AB ; [*074E.0020.0002.25AB] # WHITE SMALL SQUARE
-25AC ; [*074F.0020.0002.25AC] # BLACK RECTANGLE
-25AD ; [*0750.0020.0002.25AD] # WHITE RECTANGLE
-25AE ; [*0751.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
-25AF ; [*0752.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
-25B0 ; [*0753.0020.0002.25B0] # BLACK PARALLELOGRAM
-25B1 ; [*0754.0020.0002.25B1] # WHITE PARALLELOGRAM
-25B2 ; [*0755.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
-25B3 ; [*0756.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
-25B4 ; [*0757.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
-25B5 ; [*0758.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
-25B6 ; [*0759.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
-25B7 ; [*075A.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
-25B8 ; [*075B.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9 ; [*075C.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA ; [*075D.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
-25BB ; [*075E.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
-25BC ; [*075F.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
-25BD ; [*0760.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
-25BE ; [*0761.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF ; [*0762.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0 ; [*0763.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
-25C1 ; [*0764.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
-25C2 ; [*0765.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3 ; [*0766.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4 ; [*0767.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
-25C5 ; [*0768.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
-25C6 ; [*0769.0020.0002.25C6] # BLACK DIAMOND
-25C7 ; [*076A.0020.0002.25C7] # WHITE DIAMOND
-25C8 ; [*076B.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9 ; [*076C.0020.0002.25C9] # FISHEYE
-25CA ; [*076D.0020.0002.25CA] # LOZENGE
-25CB ; [*076E.0020.0002.25CB] # WHITE CIRCLE
-25CC ; [*076F.0020.0002.25CC] # DOTTED CIRCLE
-25CD ; [*0770.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
-25CE ; [*0771.0020.0002.25CE] # BULLSEYE
-25CF ; [*0772.0020.0002.25CF] # BLACK CIRCLE
-25D0 ; [*0773.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
-25D1 ; [*0774.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
-25D2 ; [*0775.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
-25D3 ; [*0776.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
-25D4 ; [*0777.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5 ; [*0778.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6 ; [*0779.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
-25D7 ; [*077A.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
-25D8 ; [*077B.0020.0002.25D8] # INVERSE BULLET
-25D9 ; [*077C.0020.0002.25D9] # INVERSE WHITE CIRCLE
-25DA ; [*077D.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
-25DB ; [*077E.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
-25DC ; [*077F.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD ; [*0780.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE ; [*0781.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF ; [*0782.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0 ; [*0783.0020.0002.25E0] # UPPER HALF CIRCLE
-25E1 ; [*0784.0020.0002.25E1] # LOWER HALF CIRCLE
-25E2 ; [*0785.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
-25E3 ; [*0786.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
-25E4 ; [*0787.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
-25E5 ; [*0788.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
-25E6 ; [*0789.0020.0002.25E6] # WHITE BULLET
-25E7 ; [*078A.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
-25E8 ; [*078B.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
-25E9 ; [*078C.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA ; [*078D.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB ; [*078E.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC ; [*078F.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED ; [*0790.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE ; [*0791.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF ; [*0792.0020.0002.25EF] # LARGE CIRCLE
-25F0 ; [*0793.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1 ; [*0794.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2 ; [*0795.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3 ; [*0796.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4 ; [*0797.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5 ; [*0798.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6 ; [*0799.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7 ; [*079A.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8 ; [*079B.0020.0002.25F8] # UPPER LEFT TRIANGLE
-25F9 ; [*079C.0020.0002.25F9] # UPPER RIGHT TRIANGLE
-25FA ; [*079D.0020.0002.25FA] # LOWER LEFT TRIANGLE
-25FB ; [*079E.0020.0002.25FB] # WHITE MEDIUM SQUARE
-25FC ; [*079F.0020.0002.25FC] # BLACK MEDIUM SQUARE
-25FD ; [*07A0.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
-25FE ; [*07A1.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
-25FF ; [*07A2.0020.0002.25FF] # LOWER RIGHT TRIANGLE
-2600 ; [*07A3.0020.0002.2600] # BLACK SUN WITH RAYS
-2601 ; [*07A4.0020.0002.2601] # CLOUD
-2602 ; [*07A5.0020.0002.2602] # UMBRELLA
-2603 ; [*07A6.0020.0002.2603] # SNOWMAN
-2604 ; [*07A7.0020.0002.2604] # COMET
-2605 ; [*07A8.0020.0002.2605] # BLACK STAR
-2606 ; [*07A9.0020.0002.2606] # WHITE STAR
-2607 ; [*07AA.0020.0002.2607] # LIGHTNING
-2608 ; [*07AB.0020.0002.2608] # THUNDERSTORM
-2609 ; [*07AC.0020.0002.2609] # SUN
-260A ; [*07AD.0020.0002.260A] # ASCENDING NODE
-260B ; [*07AE.0020.0002.260B] # DESCENDING NODE
-260C ; [*07AF.0020.0002.260C] # CONJUNCTION
-260D ; [*07B0.0020.0002.260D] # OPPOSITION
-260E ; [*07B1.0020.0002.260E] # BLACK TELEPHONE
-260F ; [*07B2.0020.0002.260F] # WHITE TELEPHONE
-2610 ; [*07B3.0020.0002.2610] # BALLOT BOX
-2611 ; [*07B4.0020.0002.2611] # BALLOT BOX WITH CHECK
-2612 ; [*07B5.0020.0002.2612] # BALLOT BOX WITH X
-2613 ; [*07B6.0020.0002.2613] # SALTIRE
-2614 ; [*07B7.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
-2615 ; [*07B8.0020.0002.2615] # HOT BEVERAGE
-2616 ; [*07B9.0020.0002.2616] # WHITE SHOGI PIECE
-2617 ; [*07BA.0020.0002.2617] # BLACK SHOGI PIECE
-2618 ; [*07BB.0020.0002.2618] # SHAMROCK
-2619 ; [*07BC.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
-261A ; [*07BD.0020.0002.261A] # BLACK LEFT POINTING INDEX
-261B ; [*07BE.0020.0002.261B] # BLACK RIGHT POINTING INDEX
-261C ; [*07BF.0020.0002.261C] # WHITE LEFT POINTING INDEX
-261D ; [*07C0.0020.0002.261D] # WHITE UP POINTING INDEX
-261E ; [*07C1.0020.0002.261E] # WHITE RIGHT POINTING INDEX
-261F ; [*07C2.0020.0002.261F] # WHITE DOWN POINTING INDEX
-2620 ; [*07C3.0020.0002.2620] # SKULL AND CROSSBONES
-2621 ; [*07C4.0020.0002.2621] # CAUTION SIGN
-2622 ; [*07C5.0020.0002.2622] # RADIOACTIVE SIGN
-2623 ; [*07C6.0020.0002.2623] # BIOHAZARD SIGN
-2624 ; [*07C7.0020.0002.2624] # CADUCEUS
-2625 ; [*07C8.0020.0002.2625] # ANKH
-2626 ; [*07C9.0020.0002.2626] # ORTHODOX CROSS
-2627 ; [*07CA.0020.0002.2627] # CHI RHO
-2628 ; [*07CB.0020.0002.2628] # CROSS OF LORRAINE
-2629 ; [*07CC.0020.0002.2629] # CROSS OF JERUSALEM
-262A ; [*07CD.0020.0002.262A] # STAR AND CRESCENT
-262B ; [*07CE.0020.0002.262B] # FARSI SYMBOL
-262C ; [*07CF.0020.0002.262C] # ADI SHAKTI
-262D ; [*07D0.0020.0002.262D] # HAMMER AND SICKLE
-262E ; [*07D1.0020.0002.262E] # PEACE SYMBOL
-262F ; [*07D2.0020.0002.262F] # YIN YANG
-2630 ; [*0C17.0020.0002.2630] # TRIGRAM FOR HEAVEN
-2631 ; [*0C18.0020.0002.2631] # TRIGRAM FOR LAKE
-2632 ; [*0C19.0020.0002.2632] # TRIGRAM FOR FIRE
-2633 ; [*0C1A.0020.0002.2633] # TRIGRAM FOR THUNDER
-2634 ; [*0C1B.0020.0002.2634] # TRIGRAM FOR WIND
-2635 ; [*0C1C.0020.0002.2635] # TRIGRAM FOR WATER
-2636 ; [*0C1D.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
-2637 ; [*0C1E.0020.0002.2637] # TRIGRAM FOR EARTH
-2638 ; [*07D3.0020.0002.2638] # WHEEL OF DHARMA
-2639 ; [*07D4.0020.0002.2639] # WHITE FROWNING FACE
-263A ; [*07D5.0020.0002.263A] # WHITE SMILING FACE
-263B ; [*07D6.0020.0002.263B] # BLACK SMILING FACE
-263C ; [*07D7.0020.0002.263C] # WHITE SUN WITH RAYS
-263D ; [*07D8.0020.0002.263D] # FIRST QUARTER MOON
-263E ; [*07D9.0020.0002.263E] # LAST QUARTER MOON
-263F ; [*07DA.0020.0002.263F] # MERCURY
-2640 ; [*07DB.0020.0002.2640] # FEMALE SIGN
-2641 ; [*07DC.0020.0002.2641] # EARTH
-2642 ; [*07DD.0020.0002.2642] # MALE SIGN
-2643 ; [*07DE.0020.0002.2643] # JUPITER
-2644 ; [*07DF.0020.0002.2644] # SATURN
-2645 ; [*07E0.0020.0002.2645] # URANUS
-2646 ; [*07E1.0020.0002.2646] # NEPTUNE
-2647 ; [*07E2.0020.0002.2647] # PLUTO
-2648 ; [*07E3.0020.0002.2648] # ARIES
-2649 ; [*07E4.0020.0002.2649] # TAURUS
-264A ; [*07E5.0020.0002.264A] # GEMINI
-264B ; [*07E6.0020.0002.264B] # CANCER
-264C ; [*07E7.0020.0002.264C] # LEO
-264D ; [*07E8.0020.0002.264D] # VIRGO
-264E ; [*07E9.0020.0002.264E] # LIBRA
-264F ; [*07EA.0020.0002.264F] # SCORPIUS
-2650 ; [*07EB.0020.0002.2650] # SAGITTARIUS
-2651 ; [*07EC.0020.0002.2651] # CAPRICORN
-2652 ; [*07ED.0020.0002.2652] # AQUARIUS
-2653 ; [*07EE.0020.0002.2653] # PISCES
-2654 ; [*07EF.0020.0002.2654] # WHITE CHESS KING
-2655 ; [*07F0.0020.0002.2655] # WHITE CHESS QUEEN
-2656 ; [*07F1.0020.0002.2656] # WHITE CHESS ROOK
-2657 ; [*07F2.0020.0002.2657] # WHITE CHESS BISHOP
-2658 ; [*07F3.0020.0002.2658] # WHITE CHESS KNIGHT
-2659 ; [*07F4.0020.0002.2659] # WHITE CHESS PAWN
-265A ; [*07F5.0020.0002.265A] # BLACK CHESS KING
-265B ; [*07F6.0020.0002.265B] # BLACK CHESS QUEEN
-265C ; [*07F7.0020.0002.265C] # BLACK CHESS ROOK
-265D ; [*07F8.0020.0002.265D] # BLACK CHESS BISHOP
-265E ; [*07F9.0020.0002.265E] # BLACK CHESS KNIGHT
-265F ; [*07FA.0020.0002.265F] # BLACK CHESS PAWN
-2660 ; [*07FB.0020.0002.2660] # BLACK SPADE SUIT
-2661 ; [*07FC.0020.0002.2661] # WHITE HEART SUIT
-2662 ; [*07FD.0020.0002.2662] # WHITE DIAMOND SUIT
-2663 ; [*07FE.0020.0002.2663] # BLACK CLUB SUIT
-2664 ; [*07FF.0020.0002.2664] # WHITE SPADE SUIT
-2665 ; [*0800.0020.0002.2665] # BLACK HEART SUIT
-2666 ; [*0801.0020.0002.2666] # BLACK DIAMOND SUIT
-2667 ; [*0802.0020.0002.2667] # WHITE CLUB SUIT
-2668 ; [*0803.0020.0002.2668] # HOT SPRINGS
-2669 ; [*0804.0020.0002.2669] # QUARTER NOTE
-266A ; [*0805.0020.0002.266A] # EIGHTH NOTE
-266B ; [*0806.0020.0002.266B] # BEAMED EIGHTH NOTES
-266C ; [*0807.0020.0002.266C] # BEAMED SIXTEENTH NOTES
-266D ; [*0E24.0020.0002.266D] # MUSIC FLAT SIGN
-266E ; [*0E25.0020.0002.266E] # MUSIC NATURAL SIGN
-266F ; [*0E26.0020.0002.266F] # MUSIC SHARP SIGN
-2670 ; [*0808.0020.0002.2670] # WEST SYRIAC CROSS
-2671 ; [*0809.0020.0002.2671] # EAST SYRIAC CROSS
-2672 ; [*080A.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
-2673 ; [*080B.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674 ; [*080C.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675 ; [*080D.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676 ; [*080E.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677 ; [*080F.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678 ; [*0810.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679 ; [*0811.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A ; [*0812.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B ; [*0813.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
-267C ; [*0814.0020.0002.267C] # RECYCLED PAPER SYMBOL
-267D ; [*0815.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
-267E ; [*0816.0020.0002.267E] # PERMANENT PAPER SIGN
-267F ; [*0817.0020.0002.267F] # WHEELCHAIR SYMBOL
-2680 ; [*0818.0020.0002.2680] # DIE FACE-1
-2681 ; [*0819.0020.0002.2681] # DIE FACE-2
-2682 ; [*081A.0020.0002.2682] # DIE FACE-3
-2683 ; [*081B.0020.0002.2683] # DIE FACE-4
-2684 ; [*081C.0020.0002.2684] # DIE FACE-5
-2685 ; [*081D.0020.0002.2685] # DIE FACE-6
-2686 ; [*081E.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
-2687 ; [*081F.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
-2688 ; [*0820.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689 ; [*0821.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
-268A ; [*0C11.0020.0002.268A] # MONOGRAM FOR YANG
-268B ; [*0C12.0020.0002.268B] # MONOGRAM FOR YIN
-268C ; [*0C13.0020.0002.268C] # DIGRAM FOR GREATER YANG
-268D ; [*0C14.0020.0002.268D] # DIGRAM FOR LESSER YIN
-268E ; [*0C15.0020.0002.268E] # DIGRAM FOR LESSER YANG
-268F ; [*0C16.0020.0002.268F] # DIGRAM FOR GREATER YIN
-2690 ; [*0822.0020.0002.2690] # WHITE FLAG
-2691 ; [*0823.0020.0002.2691] # BLACK FLAG
-2692 ; [*0824.0020.0002.2692] # HAMMER AND PICK
-2693 ; [*0825.0020.0002.2693] # ANCHOR
-2694 ; [*0826.0020.0002.2694] # CROSSED SWORDS
-2695 ; [*0827.0020.0002.2695] # STAFF OF AESCULAPIUS
-2696 ; [*0828.0020.0002.2696] # SCALES
-2697 ; [*0829.0020.0002.2697] # ALEMBIC
-2698 ; [*082A.0020.0002.2698] # FLOWER
-2699 ; [*082B.0020.0002.2699] # GEAR
-269A ; [*082C.0020.0002.269A] # STAFF OF HERMES
-269B ; [*082D.0020.0002.269B] # ATOM SYMBOL
-269C ; [*082E.0020.0002.269C] # FLEUR-DE-LIS
-26A0 ; [*082F.0020.0002.26A0] # WARNING SIGN
-26A1 ; [*0830.0020.0002.26A1] # HIGH VOLTAGE SIGN
-26A2 ; [*0831.0020.0002.26A2] # DOUBLED FEMALE SIGN
-26A3 ; [*0832.0020.0002.26A3] # DOUBLED MALE SIGN
-26A4 ; [*0833.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
-26A5 ; [*0834.0020.0002.26A5] # MALE AND FEMALE SIGN
-26A6 ; [*0835.0020.0002.26A6] # MALE WITH STROKE SIGN
-26A7 ; [*0836.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8 ; [*0837.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
-26A9 ; [*0838.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
-26AA ; [*0839.0020.0002.26AA] # MEDIUM WHITE CIRCLE
-26AB ; [*083A.0020.0002.26AB] # MEDIUM BLACK CIRCLE
-26AC ; [*083B.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
-26AD ; [*083C.0020.0002.26AD] # MARRIAGE SYMBOL
-26AE ; [*083D.0020.0002.26AE] # DIVORCE SYMBOL
-26AF ; [*083E.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
-26B0 ; [*083F.0020.0002.26B0] # COFFIN
-26B1 ; [*0840.0020.0002.26B1] # FUNERAL URN
-26B2 ; [*0841.0020.0002.26B2] # NEUTER
-2701 ; [*0842.0020.0002.2701] # UPPER BLADE SCISSORS
-2702 ; [*0843.0020.0002.2702] # BLACK SCISSORS
-2703 ; [*0844.0020.0002.2703] # LOWER BLADE SCISSORS
-2704 ; [*0845.0020.0002.2704] # WHITE SCISSORS
-2706 ; [*0846.0020.0002.2706] # TELEPHONE LOCATION SIGN
-2707 ; [*0847.0020.0002.2707] # TAPE DRIVE
-2708 ; [*0848.0020.0002.2708] # AIRPLANE
-2709 ; [*0849.0020.0002.2709] # ENVELOPE
-270C ; [*084A.0020.0002.270C] # VICTORY HAND
-270D ; [*084B.0020.0002.270D] # WRITING HAND
-270E ; [*084C.0020.0002.270E] # LOWER RIGHT PENCIL
-270F ; [*084D.0020.0002.270F] # PENCIL
-2710 ; [*084E.0020.0002.2710] # UPPER RIGHT PENCIL
-2711 ; [*084F.0020.0002.2711] # WHITE NIB
-2712 ; [*0850.0020.0002.2712] # BLACK NIB
-2713 ; [*0851.0020.0002.2713] # CHECK MARK
-2714 ; [*0852.0020.0002.2714] # HEAVY CHECK MARK
-2715 ; [*0853.0020.0002.2715] # MULTIPLICATION X
-2716 ; [*0854.0020.0002.2716] # HEAVY MULTIPLICATION X
-2717 ; [*0855.0020.0002.2717] # BALLOT X
-2718 ; [*0856.0020.0002.2718] # HEAVY BALLOT X
-2719 ; [*0857.0020.0002.2719] # OUTLINED GREEK CROSS
-271A ; [*0858.0020.0002.271A] # HEAVY GREEK CROSS
-271B ; [*0859.0020.0002.271B] # OPEN CENTRE CROSS
-271C ; [*085A.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
-271D ; [*085B.0020.0002.271D] # LATIN CROSS
-271E ; [*085C.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
-271F ; [*085D.0020.0002.271F] # OUTLINED LATIN CROSS
-2720 ; [*085E.0020.0002.2720] # MALTESE CROSS
-2721 ; [*085F.0020.0002.2721] # STAR OF DAVID
-2722 ; [*0860.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
-2723 ; [*0861.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
-2724 ; [*0862.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725 ; [*0863.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
-2726 ; [*0864.0020.0002.2726] # BLACK FOUR POINTED STAR
-2727 ; [*0865.0020.0002.2727] # WHITE FOUR POINTED STAR
-2729 ; [*0866.0020.0002.2729] # STRESS OUTLINED WHITE STAR
-272A ; [*0867.0020.0002.272A] # CIRCLED WHITE STAR
-272B ; [*0868.0020.0002.272B] # OPEN CENTRE BLACK STAR
-272C ; [*0869.0020.0002.272C] # BLACK CENTRE WHITE STAR
-272D ; [*086A.0020.0002.272D] # OUTLINED BLACK STAR
-272E ; [*086B.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
-272F ; [*086C.0020.0002.272F] # PINWHEEL STAR
-2730 ; [*086D.0020.0002.2730] # SHADOWED WHITE STAR
-2731 ; [*086E.0020.0002.2731] # HEAVY ASTERISK
-2732 ; [*086F.0020.0002.2732] # OPEN CENTRE ASTERISK
-2733 ; [*0870.0020.0002.2733] # EIGHT SPOKED ASTERISK
-2734 ; [*0871.0020.0002.2734] # EIGHT POINTED BLACK STAR
-2735 ; [*0872.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
-2736 ; [*0873.0020.0002.2736] # SIX POINTED BLACK STAR
-2737 ; [*0874.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
-2738 ; [*0875.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739 ; [*0876.0020.0002.2739] # TWELVE POINTED BLACK STAR
-273A ; [*0877.0020.0002.273A] # SIXTEEN POINTED ASTERISK
-273B ; [*0878.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
-273C ; [*0879.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D ; [*087A.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
-273E ; [*087B.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
-273F ; [*087C.0020.0002.273F] # BLACK FLORETTE
-2740 ; [*087D.0020.0002.2740] # WHITE FLORETTE
-2741 ; [*087E.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742 ; [*087F.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743 ; [*0880.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744 ; [*0881.0020.0002.2744] # SNOWFLAKE
-2745 ; [*0882.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
-2746 ; [*0883.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
-2747 ; [*0884.0020.0002.2747] # SPARKLE
-2748 ; [*0885.0020.0002.2748] # HEAVY SPARKLE
-2749 ; [*0886.0020.0002.2749] # BALLOON-SPOKED ASTERISK
-274A ; [*0887.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B ; [*0888.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; [*0889.0020.0002.274D] # SHADOWED WHITE CIRCLE
-274F ; [*088A.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750 ; [*088B.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751 ; [*088C.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
-2752 ; [*088D.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
-2756 ; [*088E.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
-2758 ; [*088F.0020.0002.2758] # LIGHT VERTICAL BAR
-2759 ; [*0890.0020.0002.2759] # MEDIUM VERTICAL BAR
-275A ; [*0891.0020.0002.275A] # HEAVY VERTICAL BAR
-275B ; [*0892.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C ; [*0893.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D ; [*0894.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E ; [*0895.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761 ; [*0896.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762 ; [*0897.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
-2763 ; [*0898.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764 ; [*0899.0020.0002.2764] # HEAVY BLACK HEART
-2765 ; [*089A.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
-2766 ; [*089B.0020.0002.2766] # FLORAL HEART
-2767 ; [*089C.0020.0002.2767] # ROTATED FLORAL HEART BULLET
-2768 ; [*089D.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; [*089E.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; [*089F.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; [*08A0.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; [*08A1.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; [*08A2.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; [*08A3.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; [*08A4.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; [*08A5.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; [*08A6.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; [*08A7.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; [*08A8.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; [*08A9.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; [*08AA.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2794 ; [*08AB.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798 ; [*08AC.0020.0002.2798] # HEAVY SOUTH EAST ARROW
-2799 ; [*08AD.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
-279A ; [*08AE.0020.0002.279A] # HEAVY NORTH EAST ARROW
-279B ; [*08AF.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
-279C ; [*08B0.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D ; [*08B1.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E ; [*08B2.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F ; [*08B3.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0 ; [*08B4.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1 ; [*08B5.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
-27A2 ; [*08B6.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3 ; [*08B7.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4 ; [*08B8.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
-27A5 ; [*08B9.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6 ; [*08BA.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7 ; [*08BB.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
-27A8 ; [*08BC.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9 ; [*08BD.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA ; [*08BE.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB ; [*08BF.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC ; [*08C0.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD ; [*08C1.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE ; [*08C2.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF ; [*08C3.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1 ; [*08C4.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2 ; [*08C5.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3 ; [*08C6.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4 ; [*08C7.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
-27B5 ; [*08C8.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6 ; [*08C9.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
-27B7 ; [*08CA.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8 ; [*08CB.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9 ; [*08CC.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA ; [*08CD.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB ; [*08CE.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC ; [*08CF.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
-27BD ; [*08D0.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE ; [*08D1.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
-27C0 ; [*08D2.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
-27C1 ; [*08D3.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2 ; [*08D4.0020.0002.27C2] # PERPENDICULAR
-27C3 ; [*08D5.0020.0002.27C3] # OPEN SUBSET
-27C4 ; [*08D6.0020.0002.27C4] # OPEN SUPERSET
-27C5 ; [*08D7.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
-27C6 ; [*08D8.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
-27C7 ; [*08D9.0020.0002.27C7] # OR WITH DOT INSIDE
-27C8 ; [*08DA.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
-27C9 ; [*08DB.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
-27CA ; [*08DC.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
-27D0 ; [*08DD.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
-27D1 ; [*08DE.0020.0002.27D1] # AND WITH DOT
-27D2 ; [*08DF.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
-27D3 ; [*08E0.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
-27D4 ; [*08E1.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
-27D5 ; [*08E2.0020.0002.27D5] # LEFT OUTER JOIN
-27D6 ; [*08E3.0020.0002.27D6] # RIGHT OUTER JOIN
-27D7 ; [*08E4.0020.0002.27D7] # FULL OUTER JOIN
-27D8 ; [*08E5.0020.0002.27D8] # LARGE UP TACK
-27D9 ; [*08E6.0020.0002.27D9] # LARGE DOWN TACK
-27DA ; [*08E7.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB ; [*08E8.0020.0002.27DB] # LEFT AND RIGHT TACK
-27DC ; [*08E9.0020.0002.27DC] # LEFT MULTIMAP
-27DD ; [*08EA.0020.0002.27DD] # LONG RIGHT TACK
-27DE ; [*08EB.0020.0002.27DE] # LONG LEFT TACK
-27DF ; [*08EC.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
-27E0 ; [*08ED.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1 ; [*08EE.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
-27E2 ; [*08EF.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3 ; [*08F0.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4 ; [*08F1.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
-27E5 ; [*08F2.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; [*08F3.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; [*08F4.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; [*08F5.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; [*08F6.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; [*08F7.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; [*08F8.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27F0 ; [*08F9.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
-27F1 ; [*08FA.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
-27F2 ; [*08FB.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3 ; [*08FC.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
-27F4 ; [*08FD.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
-27F5 ; [*08FE.0020.0002.27F5] # LONG LEFTWARDS ARROW
-27F6 ; [*08FF.0020.0002.27F6] # LONG RIGHTWARDS ARROW
-27F7 ; [*0900.0020.0002.27F7] # LONG LEFT RIGHT ARROW
-27F8 ; [*0901.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
-27F9 ; [*0902.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
-27FA ; [*0903.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
-27FB ; [*0904.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
-27FC ; [*0905.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
-27FD ; [*0906.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE ; [*0907.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF ; [*0908.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
-2800 ; [*0B11.0020.0002.2800] # BRAILLE PATTERN BLANK
-2801 ; [*0B12.0020.0002.2801] # BRAILLE PATTERN DOTS-1
-2802 ; [*0B13.0020.0002.2802] # BRAILLE PATTERN DOTS-2
-2803 ; [*0B14.0020.0002.2803] # BRAILLE PATTERN DOTS-12
-2804 ; [*0B15.0020.0002.2804] # BRAILLE PATTERN DOTS-3
-2805 ; [*0B16.0020.0002.2805] # BRAILLE PATTERN DOTS-13
-2806 ; [*0B17.0020.0002.2806] # BRAILLE PATTERN DOTS-23
-2807 ; [*0B18.0020.0002.2807] # BRAILLE PATTERN DOTS-123
-2808 ; [*0B19.0020.0002.2808] # BRAILLE PATTERN DOTS-4
-2809 ; [*0B1A.0020.0002.2809] # BRAILLE PATTERN DOTS-14
-280A ; [*0B1B.0020.0002.280A] # BRAILLE PATTERN DOTS-24
-280B ; [*0B1C.0020.0002.280B] # BRAILLE PATTERN DOTS-124
-280C ; [*0B1D.0020.0002.280C] # BRAILLE PATTERN DOTS-34
-280D ; [*0B1E.0020.0002.280D] # BRAILLE PATTERN DOTS-134
-280E ; [*0B1F.0020.0002.280E] # BRAILLE PATTERN DOTS-234
-280F ; [*0B20.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
-2810 ; [*0B21.0020.0002.2810] # BRAILLE PATTERN DOTS-5
-2811 ; [*0B22.0020.0002.2811] # BRAILLE PATTERN DOTS-15
-2812 ; [*0B23.0020.0002.2812] # BRAILLE PATTERN DOTS-25
-2813 ; [*0B24.0020.0002.2813] # BRAILLE PATTERN DOTS-125
-2814 ; [*0B25.0020.0002.2814] # BRAILLE PATTERN DOTS-35
-2815 ; [*0B26.0020.0002.2815] # BRAILLE PATTERN DOTS-135
-2816 ; [*0B27.0020.0002.2816] # BRAILLE PATTERN DOTS-235
-2817 ; [*0B28.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
-2818 ; [*0B29.0020.0002.2818] # BRAILLE PATTERN DOTS-45
-2819 ; [*0B2A.0020.0002.2819] # BRAILLE PATTERN DOTS-145
-281A ; [*0B2B.0020.0002.281A] # BRAILLE PATTERN DOTS-245
-281B ; [*0B2C.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
-281C ; [*0B2D.0020.0002.281C] # BRAILLE PATTERN DOTS-345
-281D ; [*0B2E.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
-281E ; [*0B2F.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
-281F ; [*0B30.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
-2820 ; [*0B31.0020.0002.2820] # BRAILLE PATTERN DOTS-6
-2821 ; [*0B32.0020.0002.2821] # BRAILLE PATTERN DOTS-16
-2822 ; [*0B33.0020.0002.2822] # BRAILLE PATTERN DOTS-26
-2823 ; [*0B34.0020.0002.2823] # BRAILLE PATTERN DOTS-126
-2824 ; [*0B35.0020.0002.2824] # BRAILLE PATTERN DOTS-36
-2825 ; [*0B36.0020.0002.2825] # BRAILLE PATTERN DOTS-136
-2826 ; [*0B37.0020.0002.2826] # BRAILLE PATTERN DOTS-236
-2827 ; [*0B38.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
-2828 ; [*0B39.0020.0002.2828] # BRAILLE PATTERN DOTS-46
-2829 ; [*0B3A.0020.0002.2829] # BRAILLE PATTERN DOTS-146
-282A ; [*0B3B.0020.0002.282A] # BRAILLE PATTERN DOTS-246
-282B ; [*0B3C.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
-282C ; [*0B3D.0020.0002.282C] # BRAILLE PATTERN DOTS-346
-282D ; [*0B3E.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
-282E ; [*0B3F.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
-282F ; [*0B40.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
-2830 ; [*0B41.0020.0002.2830] # BRAILLE PATTERN DOTS-56
-2831 ; [*0B42.0020.0002.2831] # BRAILLE PATTERN DOTS-156
-2832 ; [*0B43.0020.0002.2832] # BRAILLE PATTERN DOTS-256
-2833 ; [*0B44.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
-2834 ; [*0B45.0020.0002.2834] # BRAILLE PATTERN DOTS-356
-2835 ; [*0B46.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
-2836 ; [*0B47.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
-2837 ; [*0B48.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
-2838 ; [*0B49.0020.0002.2838] # BRAILLE PATTERN DOTS-456
-2839 ; [*0B4A.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
-283A ; [*0B4B.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
-283B ; [*0B4C.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
-283C ; [*0B4D.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
-283D ; [*0B4E.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
-283E ; [*0B4F.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
-283F ; [*0B50.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
-2840 ; [*0B51.0020.0002.2840] # BRAILLE PATTERN DOTS-7
-2841 ; [*0B52.0020.0002.2841] # BRAILLE PATTERN DOTS-17
-2842 ; [*0B53.0020.0002.2842] # BRAILLE PATTERN DOTS-27
-2843 ; [*0B54.0020.0002.2843] # BRAILLE PATTERN DOTS-127
-2844 ; [*0B55.0020.0002.2844] # BRAILLE PATTERN DOTS-37
-2845 ; [*0B56.0020.0002.2845] # BRAILLE PATTERN DOTS-137
-2846 ; [*0B57.0020.0002.2846] # BRAILLE PATTERN DOTS-237
-2847 ; [*0B58.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
-2848 ; [*0B59.0020.0002.2848] # BRAILLE PATTERN DOTS-47
-2849 ; [*0B5A.0020.0002.2849] # BRAILLE PATTERN DOTS-147
-284A ; [*0B5B.0020.0002.284A] # BRAILLE PATTERN DOTS-247
-284B ; [*0B5C.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
-284C ; [*0B5D.0020.0002.284C] # BRAILLE PATTERN DOTS-347
-284D ; [*0B5E.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
-284E ; [*0B5F.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
-284F ; [*0B60.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
-2850 ; [*0B61.0020.0002.2850] # BRAILLE PATTERN DOTS-57
-2851 ; [*0B62.0020.0002.2851] # BRAILLE PATTERN DOTS-157
-2852 ; [*0B63.0020.0002.2852] # BRAILLE PATTERN DOTS-257
-2853 ; [*0B64.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
-2854 ; [*0B65.0020.0002.2854] # BRAILLE PATTERN DOTS-357
-2855 ; [*0B66.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
-2856 ; [*0B67.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
-2857 ; [*0B68.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
-2858 ; [*0B69.0020.0002.2858] # BRAILLE PATTERN DOTS-457
-2859 ; [*0B6A.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
-285A ; [*0B6B.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
-285B ; [*0B6C.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
-285C ; [*0B6D.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
-285D ; [*0B6E.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
-285E ; [*0B6F.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
-285F ; [*0B70.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
-2860 ; [*0B71.0020.0002.2860] # BRAILLE PATTERN DOTS-67
-2861 ; [*0B72.0020.0002.2861] # BRAILLE PATTERN DOTS-167
-2862 ; [*0B73.0020.0002.2862] # BRAILLE PATTERN DOTS-267
-2863 ; [*0B74.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
-2864 ; [*0B75.0020.0002.2864] # BRAILLE PATTERN DOTS-367
-2865 ; [*0B76.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
-2866 ; [*0B77.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
-2867 ; [*0B78.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
-2868 ; [*0B79.0020.0002.2868] # BRAILLE PATTERN DOTS-467
-2869 ; [*0B7A.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
-286A ; [*0B7B.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
-286B ; [*0B7C.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
-286C ; [*0B7D.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
-286D ; [*0B7E.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
-286E ; [*0B7F.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
-286F ; [*0B80.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
-2870 ; [*0B81.0020.0002.2870] # BRAILLE PATTERN DOTS-567
-2871 ; [*0B82.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
-2872 ; [*0B83.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
-2873 ; [*0B84.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
-2874 ; [*0B85.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
-2875 ; [*0B86.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
-2876 ; [*0B87.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
-2877 ; [*0B88.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
-2878 ; [*0B89.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
-2879 ; [*0B8A.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
-287A ; [*0B8B.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
-287B ; [*0B8C.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
-287C ; [*0B8D.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
-287D ; [*0B8E.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
-287E ; [*0B8F.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
-287F ; [*0B90.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
-2880 ; [*0B91.0020.0002.2880] # BRAILLE PATTERN DOTS-8
-2881 ; [*0B92.0020.0002.2881] # BRAILLE PATTERN DOTS-18
-2882 ; [*0B93.0020.0002.2882] # BRAILLE PATTERN DOTS-28
-2883 ; [*0B94.0020.0002.2883] # BRAILLE PATTERN DOTS-128
-2884 ; [*0B95.0020.0002.2884] # BRAILLE PATTERN DOTS-38
-2885 ; [*0B96.0020.0002.2885] # BRAILLE PATTERN DOTS-138
-2886 ; [*0B97.0020.0002.2886] # BRAILLE PATTERN DOTS-238
-2887 ; [*0B98.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
-2888 ; [*0B99.0020.0002.2888] # BRAILLE PATTERN DOTS-48
-2889 ; [*0B9A.0020.0002.2889] # BRAILLE PATTERN DOTS-148
-288A ; [*0B9B.0020.0002.288A] # BRAILLE PATTERN DOTS-248
-288B ; [*0B9C.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
-288C ; [*0B9D.0020.0002.288C] # BRAILLE PATTERN DOTS-348
-288D ; [*0B9E.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
-288E ; [*0B9F.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
-288F ; [*0BA0.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
-2890 ; [*0BA1.0020.0002.2890] # BRAILLE PATTERN DOTS-58
-2891 ; [*0BA2.0020.0002.2891] # BRAILLE PATTERN DOTS-158
-2892 ; [*0BA3.0020.0002.2892] # BRAILLE PATTERN DOTS-258
-2893 ; [*0BA4.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
-2894 ; [*0BA5.0020.0002.2894] # BRAILLE PATTERN DOTS-358
-2895 ; [*0BA6.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
-2896 ; [*0BA7.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
-2897 ; [*0BA8.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
-2898 ; [*0BA9.0020.0002.2898] # BRAILLE PATTERN DOTS-458
-2899 ; [*0BAA.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
-289A ; [*0BAB.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
-289B ; [*0BAC.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
-289C ; [*0BAD.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
-289D ; [*0BAE.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
-289E ; [*0BAF.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
-289F ; [*0BB0.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
-28A0 ; [*0BB1.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
-28A1 ; [*0BB2.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
-28A2 ; [*0BB3.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
-28A3 ; [*0BB4.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
-28A4 ; [*0BB5.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
-28A5 ; [*0BB6.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
-28A6 ; [*0BB7.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
-28A7 ; [*0BB8.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
-28A8 ; [*0BB9.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
-28A9 ; [*0BBA.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
-28AA ; [*0BBB.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
-28AB ; [*0BBC.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
-28AC ; [*0BBD.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
-28AD ; [*0BBE.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
-28AE ; [*0BBF.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
-28AF ; [*0BC0.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
-28B0 ; [*0BC1.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
-28B1 ; [*0BC2.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
-28B2 ; [*0BC3.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
-28B3 ; [*0BC4.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
-28B4 ; [*0BC5.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
-28B5 ; [*0BC6.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
-28B6 ; [*0BC7.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
-28B7 ; [*0BC8.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
-28B8 ; [*0BC9.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
-28B9 ; [*0BCA.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
-28BA ; [*0BCB.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
-28BB ; [*0BCC.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
-28BC ; [*0BCD.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
-28BD ; [*0BCE.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
-28BE ; [*0BCF.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
-28BF ; [*0BD0.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
-28C0 ; [*0BD1.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
-28C1 ; [*0BD2.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
-28C2 ; [*0BD3.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
-28C3 ; [*0BD4.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
-28C4 ; [*0BD5.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
-28C5 ; [*0BD6.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
-28C6 ; [*0BD7.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
-28C7 ; [*0BD8.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
-28C8 ; [*0BD9.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
-28C9 ; [*0BDA.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
-28CA ; [*0BDB.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
-28CB ; [*0BDC.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
-28CC ; [*0BDD.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
-28CD ; [*0BDE.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
-28CE ; [*0BDF.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
-28CF ; [*0BE0.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
-28D0 ; [*0BE1.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
-28D1 ; [*0BE2.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
-28D2 ; [*0BE3.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
-28D3 ; [*0BE4.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
-28D4 ; [*0BE5.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
-28D5 ; [*0BE6.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
-28D6 ; [*0BE7.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
-28D7 ; [*0BE8.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
-28D8 ; [*0BE9.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
-28D9 ; [*0BEA.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
-28DA ; [*0BEB.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
-28DB ; [*0BEC.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
-28DC ; [*0BED.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
-28DD ; [*0BEE.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
-28DE ; [*0BEF.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
-28DF ; [*0BF0.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
-28E0 ; [*0BF1.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
-28E1 ; [*0BF2.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
-28E2 ; [*0BF3.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
-28E3 ; [*0BF4.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
-28E4 ; [*0BF5.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
-28E5 ; [*0BF6.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
-28E6 ; [*0BF7.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
-28E7 ; [*0BF8.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
-28E8 ; [*0BF9.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
-28E9 ; [*0BFA.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
-28EA ; [*0BFB.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
-28EB ; [*0BFC.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
-28EC ; [*0BFD.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
-28ED ; [*0BFE.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
-28EE ; [*0BFF.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
-28EF ; [*0C00.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
-28F0 ; [*0C01.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
-28F1 ; [*0C02.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
-28F2 ; [*0C03.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
-28F3 ; [*0C04.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
-28F4 ; [*0C05.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
-28F5 ; [*0C06.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
-28F6 ; [*0C07.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
-28F7 ; [*0C08.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
-28F8 ; [*0C09.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
-28F9 ; [*0C0A.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
-28FA ; [*0C0B.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
-28FB ; [*0C0C.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
-28FC ; [*0C0D.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
-28FD ; [*0C0E.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
-28FE ; [*0C0F.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
-28FF ; [*0C10.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
-2900 ; [*0909.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901 ; [*090A.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902 ; [*090B.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903 ; [*090C.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904 ; [*090D.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905 ; [*090E.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906 ; [*090F.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
-2907 ; [*0910.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908 ; [*0911.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909 ; [*0912.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A ; [*0913.0020.0002.290A] # UPWARDS TRIPLE ARROW
-290B ; [*0914.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
-290C ; [*0915.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
-290D ; [*0916.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
-290E ; [*0917.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
-290F ; [*0918.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
-2910 ; [*0919.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911 ; [*091A.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
-2912 ; [*091B.0020.0002.2912] # UPWARDS ARROW TO BAR
-2913 ; [*091C.0020.0002.2913] # DOWNWARDS ARROW TO BAR
-2914 ; [*091D.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915 ; [*091E.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916 ; [*091F.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917 ; [*0920.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918 ; [*0921.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919 ; [*0922.0020.0002.2919] # LEFTWARDS ARROW-TAIL
-291A ; [*0923.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
-291B ; [*0924.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
-291C ; [*0925.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
-291D ; [*0926.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
-291E ; [*0927.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F ; [*0928.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920 ; [*0929.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921 ; [*092A.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
-2922 ; [*092B.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
-2923 ; [*092C.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
-2924 ; [*092D.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
-2925 ; [*092E.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
-2926 ; [*092F.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
-2927 ; [*0930.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
-2928 ; [*0931.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929 ; [*0932.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A ; [*0933.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B ; [*0934.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C ; [*0935.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D ; [*0936.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E ; [*0937.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F ; [*0938.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930 ; [*0939.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931 ; [*093A.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932 ; [*093B.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933 ; [*093C.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
-2934 ; [*093D.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935 ; [*093E.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936 ; [*093F.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937 ; [*0940.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938 ; [*0941.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939 ; [*0942.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A ; [*0943.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
-293B ; [*0944.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
-293C ; [*0945.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D ; [*0946.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E ; [*0947.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F ; [*0948.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940 ; [*0949.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941 ; [*094A.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
-2942 ; [*094B.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943 ; [*094C.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944 ; [*094D.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945 ; [*094E.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
-2946 ; [*094F.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
-2947 ; [*0950.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
-2948 ; [*0951.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949 ; [*0952.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A ; [*0953.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B ; [*0954.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C ; [*0955.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D ; [*0956.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E ; [*0957.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
-294F ; [*0958.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950 ; [*0959.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951 ; [*095A.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952 ; [*095B.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953 ; [*095C.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954 ; [*095D.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955 ; [*095E.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956 ; [*095F.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957 ; [*0960.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958 ; [*0961.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959 ; [*0962.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A ; [*0963.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B ; [*0964.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C ; [*0965.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D ; [*0966.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E ; [*0967.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F ; [*0968.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960 ; [*0969.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961 ; [*096A.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962 ; [*096B.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963 ; [*096C.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964 ; [*096D.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965 ; [*096E.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966 ; [*096F.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967 ; [*0970.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968 ; [*0971.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969 ; [*0972.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A ; [*0973.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B ; [*0974.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C ; [*0975.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D ; [*0976.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E ; [*0977.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F ; [*0978.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970 ; [*0979.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971 ; [*097A.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972 ; [*097B.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973 ; [*097C.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974 ; [*097D.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975 ; [*097E.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976 ; [*097F.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
-2977 ; [*0980.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
-2978 ; [*0981.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979 ; [*0982.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
-297A ; [*0983.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
-297B ; [*0984.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
-297C ; [*0985.0020.0002.297C] # LEFT FISH TAIL
-297D ; [*0986.0020.0002.297D] # RIGHT FISH TAIL
-297E ; [*0987.0020.0002.297E] # UP FISH TAIL
-297F ; [*0988.0020.0002.297F] # DOWN FISH TAIL
-2980 ; [*0989.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
-2981 ; [*098A.0020.0002.2981] # Z NOTATION SPOT
-2982 ; [*098B.0020.0002.2982] # Z NOTATION TYPE COLON
-2983 ; [*02C1.0020.0002.2983] # LEFT WHITE CURLY BRACKET
-2984 ; [*02C2.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
-2985 ; [*02C3.0020.0002.2985] # LEFT WHITE PARENTHESIS
-2986 ; [*02C4.0020.0002.2986] # RIGHT WHITE PARENTHESIS
-2987 ; [*02C5.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
-2988 ; [*02C6.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
-2989 ; [*02C7.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
-298A ; [*02C8.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
-298B ; [*02C9.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; [*02CA.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; [*02CB.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; [*02CC.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; [*02CD.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; [*02CE.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; [*02CF.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
-2992 ; [*02D0.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
-2993 ; [*02D1.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
-2994 ; [*02D2.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
-2995 ; [*02D3.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; [*02D4.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; [*02D5.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; [*02D6.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
-2999 ; [*098C.0020.0002.2999] # DOTTED FENCE
-299A ; [*098D.0020.0002.299A] # VERTICAL ZIGZAG LINE
-299B ; [*098E.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
-299C ; [*098F.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
-299D ; [*0990.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
-299E ; [*0991.0020.0002.299E] # ANGLE WITH S INSIDE
-299F ; [*0992.0020.0002.299F] # ACUTE ANGLE
-29A0 ; [*0993.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
-29A1 ; [*0994.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
-29A2 ; [*0995.0020.0002.29A2] # TURNED ANGLE
-29A3 ; [*0996.0020.0002.29A3] # REVERSED ANGLE
-29A4 ; [*0997.0020.0002.29A4] # ANGLE WITH UNDERBAR
-29A5 ; [*0998.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
-29A6 ; [*0999.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
-29A7 ; [*099A.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
-29A8 ; [*099B.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9 ; [*099C.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA ; [*099D.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB ; [*099E.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC ; [*099F.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD ; [*09A0.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE ; [*09A1.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF ; [*09A2.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0 ; [*09A3.0020.0002.29B0] # REVERSED EMPTY SET
-29B1 ; [*09A4.0020.0002.29B1] # EMPTY SET WITH OVERBAR
-29B2 ; [*09A5.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3 ; [*09A6.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4 ; [*09A7.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
-29B5 ; [*09A8.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
-29B6 ; [*09A9.0020.0002.29B6] # CIRCLED VERTICAL BAR
-29B7 ; [*09AA.0020.0002.29B7] # CIRCLED PARALLEL
-29B8 ; [*09AB.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
-29B9 ; [*09AC.0020.0002.29B9] # CIRCLED PERPENDICULAR
-29BA ; [*09AD.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB ; [*09AE.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
-29BC ; [*09AF.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD ; [*09B0.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
-29BE ; [*09B1.0020.0002.29BE] # CIRCLED WHITE BULLET
-29BF ; [*09B2.0020.0002.29BF] # CIRCLED BULLET
-29C0 ; [*09B3.0020.0002.29C0] # CIRCLED LESS-THAN
-29C1 ; [*09B4.0020.0002.29C1] # CIRCLED GREATER-THAN
-29C2 ; [*09B5.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3 ; [*09B6.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4 ; [*09B7.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
-29C5 ; [*09B8.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
-29C6 ; [*09B9.0020.0002.29C6] # SQUARED ASTERISK
-29C7 ; [*09BA.0020.0002.29C7] # SQUARED SMALL CIRCLE
-29C8 ; [*09BB.0020.0002.29C8] # SQUARED SQUARE
-29C9 ; [*09BC.0020.0002.29C9] # TWO JOINED SQUARES
-29CA ; [*09BD.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
-29CB ; [*09BE.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
-29CC ; [*09BF.0020.0002.29CC] # S IN TRIANGLE
-29CD ; [*09C0.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
-29CE ; [*09C1.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF ; [*09C2.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0 ; [*09C3.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1 ; [*09C4.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
-29D2 ; [*09C5.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
-29D3 ; [*09C6.0020.0002.29D3] # BLACK BOWTIE
-29D4 ; [*09C7.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
-29D5 ; [*09C8.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
-29D6 ; [*09C9.0020.0002.29D6] # WHITE HOURGLASS
-29D7 ; [*09CA.0020.0002.29D7] # BLACK HOURGLASS
-29D8 ; [*09CB.0020.0002.29D8] # LEFT WIGGLY FENCE
-29D9 ; [*09CC.0020.0002.29D9] # RIGHT WIGGLY FENCE
-29DA ; [*09CD.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
-29DB ; [*09CE.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
-29DC ; [*09CF.0020.0002.29DC] # INCOMPLETE INFINITY
-29DD ; [*09D0.0020.0002.29DD] # TIE OVER INFINITY
-29DE ; [*09D1.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
-29DF ; [*09D2.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
-29E0 ; [*09D3.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
-29E1 ; [*09D4.0020.0002.29E1] # INCREASES AS
-29E2 ; [*09D5.0020.0002.29E2] # SHUFFLE PRODUCT
-29E3 ; [*09D6.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
-29E4 ; [*09D7.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5 ; [*09D8.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
-29E6 ; [*09D9.0020.0002.29E6] # GLEICH STARK
-29E7 ; [*09DA.0020.0002.29E7] # THERMODYNAMIC
-29E8 ; [*09DB.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9 ; [*09DC.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA ; [*09DD.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
-29EB ; [*09DE.0020.0002.29EB] # BLACK LOZENGE
-29EC ; [*09DF.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
-29ED ; [*09E0.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
-29EE ; [*09E1.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
-29EF ; [*09E2.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
-29F0 ; [*09E3.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
-29F1 ; [*09E4.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
-29F2 ; [*09E5.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
-29F3 ; [*09E6.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
-29F4 ; [*09E7.0020.0002.29F4] # RULE-DELAYED
-29F5 ; [*09E8.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
-29F6 ; [*09E9.0020.0002.29F6] # SOLIDUS WITH OVERBAR
-29F7 ; [*09EA.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8 ; [*09EB.0020.0002.29F8] # BIG SOLIDUS
-29F9 ; [*09EC.0020.0002.29F9] # BIG REVERSE SOLIDUS
-29FA ; [*09ED.0020.0002.29FA] # DOUBLE PLUS
-29FB ; [*09EE.0020.0002.29FB] # TRIPLE PLUS
-29FC ; [*02BF.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; [*02C0.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE ; [*09EF.0020.0002.29FE] # TINY
-29FF ; [*09F0.0020.0002.29FF] # MINY
-2A00 ; [*09F1.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
-2A01 ; [*09F2.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
-2A02 ; [*09F3.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
-2A03 ; [*09F4.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
-2A04 ; [*09F5.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
-2A05 ; [*09F6.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
-2A06 ; [*09F7.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
-2A07 ; [*09F8.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
-2A08 ; [*09F9.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
-2A09 ; [*09FA.0020.0002.2A09] # N-ARY TIMES OPERATOR
-2A0A ; [*09FB.0020.0002.2A0A] # MODULO TWO SUM
-2A0B ; [*09FC.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
-2A0C ; [*04DB.0020.0004.2A0C][*04DB.0020.0004.2A0C][*04DB.0020.001F.2A0C][*04DB.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR; QQKN
-2A0D ; [*09FD.0020.0002.2A0D] # FINITE PART INTEGRAL
-2A0E ; [*09FE.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
-2A0F ; [*09FF.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
-2A10 ; [*0A00.0020.0002.2A10] # CIRCULATION FUNCTION
-2A11 ; [*0A01.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
-2A12 ; [*0A02.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13 ; [*0A03.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14 ; [*0A04.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15 ; [*0A05.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
-2A16 ; [*0A06.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
-2A17 ; [*0A07.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18 ; [*0A08.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
-2A19 ; [*0A09.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
-2A1A ; [*0A0A.0020.0002.2A1A] # INTEGRAL WITH UNION
-2A1B ; [*0A0B.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
-2A1C ; [*0A0C.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
-2A1D ; [*0A0D.0020.0002.2A1D] # JOIN
-2A1E ; [*0A0E.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
-2A1F ; [*0A0F.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
-2A20 ; [*0A10.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
-2A21 ; [*0A11.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
-2A22 ; [*0A12.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23 ; [*0A13.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24 ; [*0A14.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
-2A25 ; [*0A15.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
-2A26 ; [*0A16.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
-2A27 ; [*0A17.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
-2A28 ; [*0A18.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
-2A29 ; [*0A19.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
-2A2A ; [*0A1A.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
-2A2B ; [*0A1B.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
-2A2C ; [*0A1C.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
-2A2D ; [*0A1D.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E ; [*0A1E.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F ; [*0A1F.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
-2A30 ; [*0A20.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31 ; [*0A21.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
-2A32 ; [*0A22.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33 ; [*0A23.0020.0002.2A33] # SMASH PRODUCT
-2A34 ; [*0A24.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35 ; [*0A25.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36 ; [*0A26.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37 ; [*0A27.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38 ; [*0A28.0020.0002.2A38] # CIRCLED DIVISION SIGN
-2A39 ; [*0A29.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
-2A3A ; [*0A2A.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
-2A3B ; [*0A2B.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
-2A3C ; [*0A2C.0020.0002.2A3C] # INTERIOR PRODUCT
-2A3D ; [*0A2D.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
-2A3E ; [*0A2E.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
-2A3F ; [*0A2F.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
-2A40 ; [*0A30.0020.0002.2A40] # INTERSECTION WITH DOT
-2A41 ; [*0A31.0020.0002.2A41] # UNION WITH MINUS SIGN
-2A42 ; [*0A32.0020.0002.2A42] # UNION WITH OVERBAR
-2A43 ; [*0A33.0020.0002.2A43] # INTERSECTION WITH OVERBAR
-2A44 ; [*0A34.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
-2A45 ; [*0A35.0020.0002.2A45] # UNION WITH LOGICAL OR
-2A46 ; [*0A36.0020.0002.2A46] # UNION ABOVE INTERSECTION
-2A47 ; [*0A37.0020.0002.2A47] # INTERSECTION ABOVE UNION
-2A48 ; [*0A38.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
-2A49 ; [*0A39.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A ; [*0A3A.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
-2A4B ; [*0A3B.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C ; [*0A3C.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
-2A4D ; [*0A3D.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
-2A4E ; [*0A3E.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
-2A4F ; [*0A3F.0020.0002.2A4F] # DOUBLE SQUARE UNION
-2A50 ; [*0A40.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51 ; [*0A41.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
-2A52 ; [*0A42.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
-2A53 ; [*0A43.0020.0002.2A53] # DOUBLE LOGICAL AND
-2A54 ; [*0A44.0020.0002.2A54] # DOUBLE LOGICAL OR
-2A55 ; [*0A45.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
-2A56 ; [*0A46.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
-2A57 ; [*0A47.0020.0002.2A57] # SLOPING LARGE OR
-2A58 ; [*0A48.0020.0002.2A58] # SLOPING LARGE AND
-2A59 ; [*0A49.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A ; [*0A4A.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
-2A5B ; [*0A4B.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
-2A5C ; [*0A4C.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
-2A5D ; [*0A4D.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
-2A5E ; [*0A4E.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F ; [*0A4F.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
-2A60 ; [*0A50.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61 ; [*0A51.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
-2A62 ; [*0A52.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
-2A63 ; [*0A53.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64 ; [*0A54.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65 ; [*0A55.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
-2A66 ; [*0A56.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
-2A67 ; [*0A57.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
-2A68 ; [*0A58.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69 ; [*0A59.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A ; [*0A5A.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
-2A6B ; [*0A5B.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
-2A6C ; [*0A5C.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
-2A6D ; [*0A5D.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
-2A6E ; [*0A5E.0020.0002.2A6E] # EQUALS WITH ASTERISK
-2A6F ; [*0A5F.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70 ; [*0A60.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
-2A71 ; [*0A61.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
-2A72 ; [*0A62.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
-2A73 ; [*0A63.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74 ; [*0241.0020.0004.2A74][*0241.0020.0004.2A74][*04BD.0020.001F.2A74] # DOUBLE COLON EQUAL; QQKN
-2A75 ; [*04BD.0020.0004.2A75][*04BD.0020.0004.2A75] # TWO CONSECUTIVE EQUALS SIGNS; QQKN
-2A76 ; [*04BD.0020.0004.2A76][*04BD.0020.0004.2A76][*04BD.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS; QQKN
-2A77 ; [*0A64.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78 ; [*0A65.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79 ; [*0A66.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
-2A7A ; [*0A67.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
-2A7B ; [*0A68.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C ; [*0A69.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D ; [*0A6A.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
-2A7E ; [*0A6B.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
-2A7F ; [*0A6C.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80 ; [*0A6D.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81 ; [*0A6E.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82 ; [*0A6F.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83 ; [*0A70.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84 ; [*0A71.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85 ; [*0A72.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
-2A86 ; [*0A73.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
-2A87 ; [*0A74.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88 ; [*0A75.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89 ; [*0A76.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
-2A8A ; [*0A77.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
-2A8B ; [*0A78.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C ; [*0A79.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D ; [*0A7A.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E ; [*0A7B.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F ; [*0A7C.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90 ; [*0A7D.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91 ; [*0A7E.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92 ; [*0A7F.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93 ; [*0A80.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94 ; [*0A81.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95 ; [*0A82.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
-2A96 ; [*0A83.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
-2A97 ; [*0A84.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98 ; [*0A85.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99 ; [*0A86.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A ; [*0A87.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B ; [*0A88.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C ; [*0A89.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D ; [*0A8A.0020.0002.2A9D] # SIMILAR OR LESS-THAN
-2A9E ; [*0A8B.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
-2A9F ; [*0A8C.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0 ; [*0A8D.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1 ; [*0A8E.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
-2AA2 ; [*0A8F.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
-2AA3 ; [*0A90.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4 ; [*0A91.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5 ; [*0A92.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
-2AA6 ; [*0A93.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
-2AA7 ; [*0A94.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
-2AA8 ; [*0A95.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9 ; [*0A96.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA ; [*0A97.0020.0002.2AAA] # SMALLER THAN
-2AAB ; [*0A98.0020.0002.2AAB] # LARGER THAN
-2AAC ; [*0A99.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
-2AAD ; [*0A9A.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
-2AAE ; [*0A9B.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
-2AAF ; [*0A9C.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0 ; [*0A9D.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1 ; [*0A9E.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2 ; [*0A9F.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3 ; [*0AA0.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
-2AB4 ; [*0AA1.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
-2AB5 ; [*0AA2.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
-2AB6 ; [*0AA3.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7 ; [*0AA4.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8 ; [*0AA5.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9 ; [*0AA6.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA ; [*0AA7.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB ; [*0AA8.0020.0002.2ABB] # DOUBLE PRECEDES
-2ABC ; [*0AA9.0020.0002.2ABC] # DOUBLE SUCCEEDS
-2ABD ; [*0AAA.0020.0002.2ABD] # SUBSET WITH DOT
-2ABE ; [*0AAB.0020.0002.2ABE] # SUPERSET WITH DOT
-2ABF ; [*0AAC.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
-2AC0 ; [*0AAD.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
-2AC1 ; [*0AAE.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2 ; [*0AAF.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3 ; [*0AB0.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4 ; [*0AB1.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5 ; [*0AB2.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
-2AC6 ; [*0AB3.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
-2AC7 ; [*0AB4.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
-2AC8 ; [*0AB5.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9 ; [*0AB6.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA ; [*0AB7.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB ; [*0AB8.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
-2ACC ; [*0AB9.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD ; [*0ABA.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
-2ACE ; [*0ABB.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF ; [*0ABC.0020.0002.2ACF] # CLOSED SUBSET
-2AD0 ; [*0ABD.0020.0002.2AD0] # CLOSED SUPERSET
-2AD1 ; [*0ABE.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
-2AD2 ; [*0ABF.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
-2AD3 ; [*0AC0.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
-2AD4 ; [*0AC1.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
-2AD5 ; [*0AC2.0020.0002.2AD5] # SUBSET ABOVE SUBSET
-2AD6 ; [*0AC3.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
-2AD7 ; [*0AC4.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
-2AD8 ; [*0AC5.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9 ; [*0AC6.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
-2ADA ; [*0AC7.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
-2ADB ; [*0AC8.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
-2ADC ; [*0AC9.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING; QQCM
-2ADD ; [*0AC9.0020.0002.2ADD] # NONFORKING
-2ADE ; [*0ACA.0020.0002.2ADE] # SHORT LEFT TACK
-2ADF ; [*0ACB.0020.0002.2ADF] # SHORT DOWN TACK
-2AE0 ; [*0ACC.0020.0002.2AE0] # SHORT UP TACK
-2AE1 ; [*0ACD.0020.0002.2AE1] # PERPENDICULAR WITH S
-2AE2 ; [*0ACE.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3 ; [*0ACF.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4 ; [*0AD0.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5 ; [*0AD1.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6 ; [*0AD2.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7 ; [*0AD3.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
-2AE8 ; [*0AD4.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
-2AE9 ; [*0AD5.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA ; [*0AD6.0020.0002.2AEA] # DOUBLE DOWN TACK
-2AEB ; [*0AD7.0020.0002.2AEB] # DOUBLE UP TACK
-2AEC ; [*0AD8.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
-2AED ; [*0AD9.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
-2AEE ; [*0ADA.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF ; [*0ADB.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0 ; [*0ADC.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
-2AF1 ; [*0ADD.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
-2AF2 ; [*0ADE.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
-2AF3 ; [*0ADF.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
-2AF4 ; [*0AE0.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5 ; [*0AE1.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6 ; [*0AE2.0020.0002.2AF6] # TRIPLE COLON OPERATOR
-2AF7 ; [*0AE3.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
-2AF8 ; [*0AE4.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
-2AF9 ; [*0AE5.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA ; [*0AE6.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB ; [*0AE7.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
-2AFC ; [*0AE8.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD ; [*0AE9.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
-2AFE ; [*0AEA.0020.0002.2AFE] # WHITE VERTICAL BAR
-2AFF ; [*0AEB.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
-2B00 ; [*0AEC.0020.0002.2B00] # NORTH EAST WHITE ARROW
-2B01 ; [*0AED.0020.0002.2B01] # NORTH WEST WHITE ARROW
-2B02 ; [*0AEE.0020.0002.2B02] # SOUTH EAST WHITE ARROW
-2B03 ; [*0AEF.0020.0002.2B03] # SOUTH WEST WHITE ARROW
-2B04 ; [*0AF0.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
-2B05 ; [*0AF1.0020.0002.2B05] # LEFTWARDS BLACK ARROW
-2B06 ; [*0AF2.0020.0002.2B06] # UPWARDS BLACK ARROW
-2B07 ; [*0AF3.0020.0002.2B07] # DOWNWARDS BLACK ARROW
-2B08 ; [*0AF4.0020.0002.2B08] # NORTH EAST BLACK ARROW
-2B09 ; [*0AF5.0020.0002.2B09] # NORTH WEST BLACK ARROW
-2B0A ; [*0AF6.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
-2B0B ; [*0AF7.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
-2B0C ; [*0AF8.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
-2B0D ; [*0AF9.0020.0002.2B0D] # UP DOWN BLACK ARROW
-2B0E ; [*0AFA.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F ; [*0AFB.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10 ; [*0AFC.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11 ; [*0AFD.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12 ; [*0AFE.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
-2B13 ; [*0AFF.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
-2B14 ; [*0B00.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15 ; [*0B01.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16 ; [*0B02.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
-2B17 ; [*0B03.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
-2B18 ; [*0B04.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
-2B19 ; [*0B05.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
-2B1A ; [*0B06.0020.0002.2B1A] # DOTTED SQUARE
-2B20 ; [*0B07.0020.0002.2B20] # WHITE PENTAGON
-2B21 ; [*0B08.0020.0002.2B21] # WHITE HEXAGON
-2B22 ; [*0B09.0020.0002.2B22] # BLACK HEXAGON
-2B23 ; [*0B0A.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
-2CE5 ; [*0B0B.0020.0002.2CE5] # COPTIC SYMBOL MI RO
-2CE6 ; [*0B0C.0020.0002.2CE6] # COPTIC SYMBOL PI RO
-2CE7 ; [*0B0D.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
-2CE8 ; [*0B0E.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
-2CE9 ; [*0B0F.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
-2CEA ; [*0B10.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
-2CF9 ; [*0270.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
-2CFA ; [*0263.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB ; [*0264.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC ; [*0294.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; [*0F26.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
-2CFE ; [*0271.0020.0002.2CFE] # COPTIC FULL STOP
-2CFF ; [*0295.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
-2E00 ; [*031F.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
-2E01 ; [*0320.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; [*02D7.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
-2E03 ; [*02D8.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
-2E04 ; [*02D9.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; [*02DA.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06 ; [*0321.0020.0002.2E06] # RAISED INTERPOLATION MARKER
-2E07 ; [*0322.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
-2E08 ; [*0323.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
-2E09 ; [*02DB.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
-2E0A ; [*02DC.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
-2E0B ; [*0324.0020.0002.2E0B] # RAISED SQUARE
-2E0C ; [*02DD.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
-2E0D ; [*02DE.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
-2E0E ; [*0325.0020.0002.2E0E] # EDITORIAL CORONIS
-2E0F ; [*0326.0020.0002.2E0F] # PARAGRAPHOS
-2E10 ; [*0327.0020.0002.2E10] # FORKED PARAGRAPHOS
-2E11 ; [*0328.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
-2E12 ; [*0329.0020.0002.2E12] # HYPODIASTOLE
-2E13 ; [*032A.0020.0002.2E13] # DOTTED OBELOS
-2E14 ; [*032B.0020.0002.2E14] # DOWNWARDS ANCORA
-2E15 ; [*032C.0020.0002.2E15] # UPWARDS ANCORA
-2E16 ; [*032D.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
-2E17 ; [*022D.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
-2E1C ; [*02DF.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
-2E1D ; [*02E0.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
-2FF0 ; [*0EEB.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1 ; [*0EEC.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2 ; [*0EED.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3 ; [*0EEE.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4 ; [*0EEF.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5 ; [*0EF0.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6 ; [*0EF1.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7 ; [*0EF2.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8 ; [*0EF3.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9 ; [*0EF4.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA ; [*0EF5.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB ; [*0EF6.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; [*0209.0020.0003.3000] # IDEOGRAPHIC SPACE; QQK
-3001 ; [*023B.0020.0002.3001] # IDEOGRAPHIC COMMA
-3002 ; [*0272.0020.0002.3002] # IDEOGRAPHIC FULL STOP
-3003 ; [*0315.0020.0002.3003] # DITTO MARK
-3004 ; [*0F07.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3008 ; [*02E1.0020.0002.3008] # LEFT ANGLE BRACKET
-3009 ; [*02E2.0020.0002.3009] # RIGHT ANGLE BRACKET
-300A ; [*02E3.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
-300B ; [*02E4.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
-300C ; [*02E5.0020.0002.300C] # LEFT CORNER BRACKET
-300D ; [*02E6.0020.0002.300D] # RIGHT CORNER BRACKET
-300E ; [*02E7.0020.0002.300E] # LEFT WHITE CORNER BRACKET
-300F ; [*02E8.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
-3010 ; [*02E9.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
-3011 ; [*02EA.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
-3012 ; [*0F08.0020.0002.3012] # POSTAL MARK
-3013 ; [*0F09.0020.0002.3013] # GETA MARK
-3014 ; [*02EB.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
-3015 ; [*02EC.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
-3016 ; [*02ED.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
-3017 ; [*02EE.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
-3018 ; [*02EF.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; [*02F0.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; [*02F1.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
-301B ; [*02F2.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
-301C ; [*022E.0020.0002.301C] # WAVE DASH
-301D ; [*02AC.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
-301E ; [*02AD.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
-301F ; [*02AE.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
-3020 ; [*0F0A.0020.0002.3020] # POSTAL MARK FACE
-3030 ; [*022F.0020.0002.3030] # WAVY DASH
-3036 ; [*0F08.0020.0004.3036] # CIRCLED POSTAL MARK; QQK
-3037 ; [*0F0B.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303D ; [*0316.0020.0002.303D] # PART ALTERNATION MARK
-303E ; [*0F0C.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
-303F ; [*0F0D.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
-309B ; [*021F.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C ; [*0220.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0 ; [*0230.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB ; [*0231.0020.0002.30FB] # KATAKANA MIDDLE DOT
-3190 ; [*0F0E.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191 ; [*0F0F.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
-31C0 ; [*0EF7.0020.0002.31C0] # CJK STROKE T
-31C1 ; [*0EF8.0020.0002.31C1] # CJK STROKE WG
-31C2 ; [*0EF9.0020.0002.31C2] # CJK STROKE XG
-31C3 ; [*0EFA.0020.0002.31C3] # CJK STROKE BXG
-31C4 ; [*0EFB.0020.0002.31C4] # CJK STROKE SW
-31C5 ; [*0EFC.0020.0002.31C5] # CJK STROKE HZZ
-31C6 ; [*0EFD.0020.0002.31C6] # CJK STROKE HZG
-31C7 ; [*0EFE.0020.0002.31C7] # CJK STROKE HP
-31C8 ; [*0EFF.0020.0002.31C8] # CJK STROKE HZWG
-31C9 ; [*0F00.0020.0002.31C9] # CJK STROKE SZWG
-31CA ; [*0F01.0020.0002.31CA] # CJK STROKE HZT
-31CB ; [*0F02.0020.0002.31CB] # CJK STROKE HZZP
-31CC ; [*0F03.0020.0002.31CC] # CJK STROKE HPWG
-31CD ; [*0F04.0020.0002.31CD] # CJK STROKE HZW
-31CE ; [*0F05.0020.0002.31CE] # CJK STROKE HZZZ
-31CF ; [*0F06.0020.0002.31CF] # CJK STROKE N
-327F ; [*0F10.0020.0002.327F] # KOREAN STANDARD SYMBOL
-4DC0 ; [*0C1F.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1 ; [*0C20.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2 ; [*0C21.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3 ; [*0C22.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4 ; [*0C23.0020.0002.4DC4] # HEXAGRAM FOR WAITING
-4DC5 ; [*0C24.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
-4DC6 ; [*0C25.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
-4DC7 ; [*0C26.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
-4DC8 ; [*0C27.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
-4DC9 ; [*0C28.0020.0002.4DC9] # HEXAGRAM FOR TREADING
-4DCA ; [*0C29.0020.0002.4DCA] # HEXAGRAM FOR PEACE
-4DCB ; [*0C2A.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
-4DCC ; [*0C2B.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
-4DCD ; [*0C2C.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
-4DCE ; [*0C2D.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
-4DCF ; [*0C2E.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
-4DD0 ; [*0C2F.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
-4DD1 ; [*0C30.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2 ; [*0C31.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
-4DD3 ; [*0C32.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
-4DD4 ; [*0C33.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
-4DD5 ; [*0C34.0020.0002.4DD5] # HEXAGRAM FOR GRACE
-4DD6 ; [*0C35.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
-4DD7 ; [*0C36.0020.0002.4DD7] # HEXAGRAM FOR RETURN
-4DD8 ; [*0C37.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
-4DD9 ; [*0C38.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
-4DDA ; [*0C39.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
-4DDB ; [*0C3A.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC ; [*0C3B.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD ; [*0C3C.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
-4DDE ; [*0C3D.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
-4DDF ; [*0C3E.0020.0002.4DDF] # HEXAGRAM FOR DURATION
-4DE0 ; [*0C3F.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
-4DE1 ; [*0C40.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
-4DE2 ; [*0C41.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
-4DE3 ; [*0C42.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4 ; [*0C43.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
-4DE5 ; [*0C44.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
-4DE6 ; [*0C45.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
-4DE7 ; [*0C46.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
-4DE8 ; [*0C47.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
-4DE9 ; [*0C48.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
-4DEA ; [*0C49.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
-4DEB ; [*0C4A.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
-4DEC ; [*0C4B.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
-4DED ; [*0C4C.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
-4DEE ; [*0C4D.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
-4DEF ; [*0C4E.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
-4DF0 ; [*0C4F.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
-4DF1 ; [*0C50.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
-4DF2 ; [*0C51.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3 ; [*0C52.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4 ; [*0C53.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
-4DF5 ; [*0C54.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6 ; [*0C55.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
-4DF7 ; [*0C56.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
-4DF8 ; [*0C57.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
-4DF9 ; [*0C58.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA ; [*0C59.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
-4DFB ; [*0C5A.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
-4DFC ; [*0C5B.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
-4DFD ; [*0C5C.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE ; [*0C5D.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
-4DFF ; [*0C5E.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
-A490 ; [*0CB6.0020.0002.A490] # YI RADICAL QOT
-A491 ; [*0CB7.0020.0002.A491] # YI RADICAL LI
-A492 ; [*0CB8.0020.0002.A492] # YI RADICAL KIT
-A493 ; [*0CB9.0020.0002.A493] # YI RADICAL NYIP
-A494 ; [*0CBA.0020.0002.A494] # YI RADICAL CYP
-A495 ; [*0CBB.0020.0002.A495] # YI RADICAL SSI
-A496 ; [*0CBC.0020.0002.A496] # YI RADICAL GGOP
-A497 ; [*0CBD.0020.0002.A497] # YI RADICAL GEP
-A498 ; [*0CBE.0020.0002.A498] # YI RADICAL MI
-A499 ; [*0CBF.0020.0002.A499] # YI RADICAL HXIT
-A49A ; [*0CC0.0020.0002.A49A] # YI RADICAL LYR
-A49B ; [*0CC1.0020.0002.A49B] # YI RADICAL BBUT
-A49C ; [*0CC2.0020.0002.A49C] # YI RADICAL MOP
-A49D ; [*0CC3.0020.0002.A49D] # YI RADICAL YO
-A49E ; [*0CC4.0020.0002.A49E] # YI RADICAL PUT
-A49F ; [*0CC5.0020.0002.A49F] # YI RADICAL HXUO
-A4A0 ; [*0CC6.0020.0002.A4A0] # YI RADICAL TAT
-A4A1 ; [*0CC7.0020.0002.A4A1] # YI RADICAL GA
-A4A2 ; [*0CC8.0020.0002.A4A2] # YI RADICAL ZUP
-A4A3 ; [*0CC9.0020.0002.A4A3] # YI RADICAL CYT
-A4A4 ; [*0CCA.0020.0002.A4A4] # YI RADICAL DDUR
-A4A5 ; [*0CCB.0020.0002.A4A5] # YI RADICAL BUR
-A4A6 ; [*0CCC.0020.0002.A4A6] # YI RADICAL GGUO
-A4A7 ; [*0CCD.0020.0002.A4A7] # YI RADICAL NYOP
-A4A8 ; [*0CCE.0020.0002.A4A8] # YI RADICAL TU
-A4A9 ; [*0CCF.0020.0002.A4A9] # YI RADICAL OP
-A4AA ; [*0CD0.0020.0002.A4AA] # YI RADICAL JJUT
-A4AB ; [*0CD1.0020.0002.A4AB] # YI RADICAL ZOT
-A4AC ; [*0CD2.0020.0002.A4AC] # YI RADICAL PYT
-A4AD ; [*0CD3.0020.0002.A4AD] # YI RADICAL HMO
-A4AE ; [*0CD4.0020.0002.A4AE] # YI RADICAL YIT
-A4AF ; [*0CD5.0020.0002.A4AF] # YI RADICAL VUR
-A4B0 ; [*0CD6.0020.0002.A4B0] # YI RADICAL SHY
-A4B1 ; [*0CD7.0020.0002.A4B1] # YI RADICAL VEP
-A4B2 ; [*0CD8.0020.0002.A4B2] # YI RADICAL ZA
-A4B3 ; [*0CD9.0020.0002.A4B3] # YI RADICAL JO
-A4B4 ; [*0CDA.0020.0002.A4B4] # YI RADICAL NZUP
-A4B5 ; [*0CDB.0020.0002.A4B5] # YI RADICAL JJY
-A4B6 ; [*0CDC.0020.0002.A4B6] # YI RADICAL GOT
-A4B7 ; [*0CDD.0020.0002.A4B7] # YI RADICAL JJIE
-A4B8 ; [*0CDE.0020.0002.A4B8] # YI RADICAL WO
-A4B9 ; [*0CDF.0020.0002.A4B9] # YI RADICAL DU
-A4BA ; [*0CE0.0020.0002.A4BA] # YI RADICAL SHUR
-A4BB ; [*0CE1.0020.0002.A4BB] # YI RADICAL LIE
-A4BC ; [*0CE2.0020.0002.A4BC] # YI RADICAL CY
-A4BD ; [*0CE3.0020.0002.A4BD] # YI RADICAL CUOP
-A4BE ; [*0CE4.0020.0002.A4BE] # YI RADICAL CIP
-A4BF ; [*0CE5.0020.0002.A4BF] # YI RADICAL HXOP
-A4C0 ; [*0CE6.0020.0002.A4C0] # YI RADICAL SHAT
-A4C1 ; [*0CE7.0020.0002.A4C1] # YI RADICAL ZUR
-A4C2 ; [*0CE8.0020.0002.A4C2] # YI RADICAL SHOP
-A4C3 ; [*0CE9.0020.0002.A4C3] # YI RADICAL CHE
-A4C4 ; [*0CEA.0020.0002.A4C4] # YI RADICAL ZZIET
-A4C5 ; [*0CEB.0020.0002.A4C5] # YI RADICAL NBIE
-A4C6 ; [*0CEC.0020.0002.A4C6] # YI RADICAL KE
-A700 ; [*03A2.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
-A701 ; [*03A3.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
-A702 ; [*03A4.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703 ; [*03A5.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704 ; [*03A6.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
-A705 ; [*03A7.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
-A706 ; [*03A8.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
-A707 ; [*03A9.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
-A708 ; [*03AA.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709 ; [*03AB.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A ; [*03AC.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
-A70B ; [*03AD.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C ; [*03AE.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D ; [*03AF.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E ; [*03B0.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F ; [*03B1.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710 ; [*03B2.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711 ; [*03B3.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712 ; [*03B4.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713 ; [*03B5.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714 ; [*03B6.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715 ; [*03B7.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716 ; [*03B8.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717 ; [*03B9.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
-A718 ; [*03BA.0020.0002.A718] # MODIFIER LETTER DOT SLASH
-A719 ; [*03BB.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A ; [*03BC.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A720 ; [*03BD.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
-A721 ; [*03BE.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
-A828 ; [*03D1.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
-A829 ; [*03D2.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
-A82A ; [*03D3.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
-A82B ; [*03D4.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
-A874 ; [*035C.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
-A875 ; [*035D.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
-A876 ; [*0276.0020.0002.A876] # PHAGS-PA MARK SHAD
-A877 ; [*0277.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
-FB29 ; [*04B8.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN; QQK
-FD3E ; [*02F3.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
-FD3F ; [*02F4.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
-FDFD ; [*03C4.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10 ; [*0232.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA; QQK
-FE11 ; [*023B.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA; QQK
-FE12 ; [*0272.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP; QQK
-FE13 ; [*0241.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON; QQK
-FE14 ; [*023E.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON; QQK
-FE15 ; [*0257.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK; QQK
-FE16 ; [*025C.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK; QQK
-FE17 ; [*02ED.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET; QQK
-FE18 ; [*02EE.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET; QQK
-FE19 ; [*0266.0020.0016.FE19][*0266.0020.0016.FE19][*0266.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS; QQKN
+2064 ; [.0000.0000.0000.2064] # INVISIBLE PLUS
+207A ; [*056A.0020.0014.207A] # SUPERSCRIPT PLUS SIGN; QQK
+207B ; [*0576.0020.0014.207B] # SUPERSCRIPT MINUS; QQK
+207C ; [*056F.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN; QQK
+207D ; [*030E.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS; QQK
+207E ; [*030F.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS; QQK
+208A ; [*056A.0020.0015.208A] # SUBSCRIPT PLUS SIGN; QQK
+208B ; [*0576.0020.0015.208B] # SUBSCRIPT MINUS; QQK
+208C ; [*056F.0020.0015.208C] # SUBSCRIPT EQUALS SIGN; QQK
+208D ; [*030E.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS; QQK
+208E ; [*030F.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS; QQK
+2104 ; [*04DB.0020.0002.2104] # CENTRE LINE SYMBOL
+2108 ; [*04DC.0020.0002.2108] # SCRUPLE
+2114 ; [*04DD.0020.0002.2114] # L B BAR SYMBOL
+2117 ; [*04DE.0020.0002.2117] # SOUND RECORDING COPYRIGHT
+2118 ; [*04DF.0020.0002.2118] # SCRIPT CAPITAL P
+211E ; [*04E0.0020.0002.211E] # PRESCRIPTION TAKE
+211F ; [*04E1.0020.0002.211F] # RESPONSE
+2123 ; [*04E2.0020.0002.2123] # VERSICLE
+2125 ; [*04E3.0020.0002.2125] # OUNCE SIGN
+2127 ; [*04E4.0020.0002.2127] # INVERTED OHM SIGN
+2129 ; [*04E5.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
+212E ; [*04E6.0020.0002.212E] # ESTIMATED SYMBOL
+213A ; [*04E7.0020.0002.213A] # ROTATED CAPITAL Q
+2140 ; [*0569.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION; QQK
+2141 ; [*04E8.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
+2142 ; [*04E9.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
+2143 ; [*04EA.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
+2144 ; [*04EB.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
+214A ; [*04EC.0020.0002.214A] # PROPERTY LINE
+214B ; [*036F.0020.0002.214B] # TURNED AMPERSAND
+214C ; [*04ED.0020.0002.214C] # PER SIGN
+214D ; [*04EE.0020.0002.214D] # AKTIESELSKAB
+214F ; [*04EF.0020.0002.214F] # SYMBOL FOR SAMARITAN SOURCE
+2180 ; [*14B8.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
+2181 ; [*14B9.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
+2182 ; [*14BA.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
+2186 ; [*14BB.0020.0002.2186] # ROMAN NUMERAL FIFTY EARLY FORM
+2187 ; [*14BC.0020.0002.2187] # ROMAN NUMERAL FIFTY THOUSAND
+2188 ; [*14BD.0020.0002.2188] # ROMAN NUMERAL ONE HUNDRED THOUSAND
+2190 ; [*04F0.0020.0002.2190] # LEFTWARDS ARROW
+2191 ; [*04F2.0020.0002.2191] # UPWARDS ARROW
+2192 ; [*04F1.0020.0002.2192] # RIGHTWARDS ARROW
+2193 ; [*04F3.0020.0002.2193] # DOWNWARDS ARROW
+2194 ; [*04F4.0020.0002.2194] # LEFT RIGHT ARROW
+2195 ; [*04F5.0020.0002.2195] # UP DOWN ARROW
+2196 ; [*04F6.0020.0002.2196] # NORTH WEST ARROW
+2197 ; [*04F7.0020.0002.2197] # NORTH EAST ARROW
+2198 ; [*04F8.0020.0002.2198] # SOUTH EAST ARROW
+2199 ; [*04F9.0020.0002.2199] # SOUTH WEST ARROW
+219A ; [*04F0.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE; QQCM
+219B ; [*04F1.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE; QQCM
+219C ; [*04FA.0020.0002.219C] # LEFTWARDS WAVE ARROW
+219D ; [*04FB.0020.0002.219D] # RIGHTWARDS WAVE ARROW
+219E ; [*04FC.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
+219F ; [*04FD.0020.0002.219F] # UPWARDS TWO HEADED ARROW
+21A0 ; [*04FE.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
+21A1 ; [*04FF.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
+21A2 ; [*0500.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
+21A3 ; [*0501.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
+21A4 ; [*0502.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
+21A5 ; [*0503.0020.0002.21A5] # UPWARDS ARROW FROM BAR
+21A6 ; [*0504.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
+21A7 ; [*0505.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
+21A8 ; [*0506.0020.0002.21A8] # UP DOWN ARROW WITH BASE
+21A9 ; [*0507.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
+21AA ; [*0508.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
+21AB ; [*0509.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
+21AC ; [*050A.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
+21AD ; [*050B.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
+21AE ; [*04F4.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE; QQCM
+21AF ; [*050C.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
+21B0 ; [*050D.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
+21B1 ; [*050E.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
+21B2 ; [*050F.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
+21B3 ; [*0510.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21B4 ; [*0511.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+21B5 ; [*0512.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+21B6 ; [*0513.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21B7 ; [*0514.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
+21B8 ; [*0515.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
+21B9 ; [*0516.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+21BA ; [*0517.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
+21BB ; [*0518.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
+21BC ; [*0519.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
+21BD ; [*051A.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21BE ; [*051B.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
+21BF ; [*051C.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
+21C0 ; [*051D.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
+21C1 ; [*051E.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21C2 ; [*051F.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21C3 ; [*0520.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21C4 ; [*0521.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21C5 ; [*0522.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21C6 ; [*0523.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21C7 ; [*0524.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
+21C8 ; [*0525.0020.0002.21C8] # UPWARDS PAIRED ARROWS
+21C9 ; [*0526.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
+21CA ; [*0527.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
+21CB ; [*0528.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21CC ; [*0529.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21CD ; [*052A.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE; QQCM
+21CE ; [*052E.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE; QQCM
+21CF ; [*052C.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE; QQCM
+21D0 ; [*052A.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
+21D1 ; [*052B.0020.0002.21D1] # UPWARDS DOUBLE ARROW
+21D2 ; [*052C.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
+21D3 ; [*052D.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
+21D4 ; [*052E.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
+21D5 ; [*052F.0020.0002.21D5] # UP DOWN DOUBLE ARROW
+21D6 ; [*0530.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
+21D7 ; [*0531.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
+21D8 ; [*0532.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
+21D9 ; [*0533.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
+21DA ; [*0534.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
+21DB ; [*0535.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
+21DC ; [*0536.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
+21DD ; [*0537.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
+21DE ; [*0538.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
+21DF ; [*0539.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
+21E0 ; [*053A.0020.0002.21E0] # LEFTWARDS DASHED ARROW
+21E1 ; [*053B.0020.0002.21E1] # UPWARDS DASHED ARROW
+21E2 ; [*053C.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
+21E3 ; [*053D.0020.0002.21E3] # DOWNWARDS DASHED ARROW
+21E4 ; [*053E.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
+21E5 ; [*053F.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
+21E6 ; [*0540.0020.0002.21E6] # LEFTWARDS WHITE ARROW
+21E7 ; [*0541.0020.0002.21E7] # UPWARDS WHITE ARROW
+21E8 ; [*0542.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
+21E9 ; [*0543.0020.0002.21E9] # DOWNWARDS WHITE ARROW
+21EA ; [*0544.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
+21EB ; [*0545.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
+21EC ; [*0546.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+21ED ; [*0547.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+21EE ; [*0548.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
+21EF ; [*0549.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+21F0 ; [*054A.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
+21F1 ; [*054B.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
+21F2 ; [*054C.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
+21F3 ; [*054D.0020.0002.21F3] # UP DOWN WHITE ARROW
+21F4 ; [*054E.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
+21F5 ; [*054F.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+21F6 ; [*0550.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
+21F7 ; [*0551.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
+21F8 ; [*0552.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
+21F9 ; [*0553.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
+21FA ; [*0554.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FB ; [*0555.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FC ; [*0556.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
+21FD ; [*0557.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
+21FE ; [*0558.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
+21FF ; [*0559.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
+2200 ; [*055A.0020.0002.2200] # FOR ALL
+2201 ; [*055B.0020.0002.2201] # COMPLEMENT
+2202 ; [*055C.0020.0002.2202] # PARTIAL DIFFERENTIAL
+2203 ; [*055D.0020.0002.2203] # THERE EXISTS
+2204 ; [*055D.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST; QQCM
+2205 ; [*055E.0020.0002.2205] # EMPTY SET
+2206 ; [*055F.0020.0002.2206] # INCREMENT
+2207 ; [*0560.0020.0002.2207] # NABLA
+2208 ; [*0561.0020.0002.2208] # ELEMENT OF
+2209 ; [*0561.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF; QQCM
+220A ; [*0562.0020.0002.220A] # SMALL ELEMENT OF
+220B ; [*0563.0020.0002.220B] # CONTAINS AS MEMBER
+220C ; [*0563.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER; QQCM
+220D ; [*0564.0020.0002.220D] # SMALL CONTAINS AS MEMBER
+220E ; [*0566.0020.0002.220E] # END OF PROOF
+220F ; [*0567.0020.0002.220F] # N-ARY PRODUCT
+2210 ; [*0568.0020.0002.2210] # N-ARY COPRODUCT
+2211 ; [*0569.0020.0002.2211] # N-ARY SUMMATION
+2212 ; [*0576.0020.0002.2212] # MINUS SIGN
+2213 ; [*0577.0020.0002.2213] # MINUS-OR-PLUS SIGN
+2214 ; [*0578.0020.0002.2214] # DOT PLUS
+2215 ; [*0579.0020.0002.2215] # DIVISION SLASH
+2216 ; [*057A.0020.0002.2216] # SET MINUS
+2217 ; [*057B.0020.0002.2217] # ASTERISK OPERATOR
+2218 ; [*057C.0020.0002.2218] # RING OPERATOR
+2219 ; [*057D.0020.0002.2219] # BULLET OPERATOR
+221A ; [*057E.0020.0002.221A] # SQUARE ROOT
+221B ; [*057F.0020.0002.221B] # CUBE ROOT
+221C ; [*0581.0020.0002.221C] # FOURTH ROOT
+221D ; [*0583.0020.0002.221D] # PROPORTIONAL TO
+221E ; [*0584.0020.0002.221E] # INFINITY
+221F ; [*0585.0020.0002.221F] # RIGHT ANGLE
+2220 ; [*0586.0020.0002.2220] # ANGLE
+2221 ; [*0587.0020.0002.2221] # MEASURED ANGLE
+2222 ; [*0588.0020.0002.2222] # SPHERICAL ANGLE
+2223 ; [*0589.0020.0002.2223] # DIVIDES
+2224 ; [*0589.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE; QQCM
+2225 ; [*058A.0020.0002.2225] # PARALLEL TO
+2226 ; [*058A.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO; QQCM
+2227 ; [*058B.0020.0002.2227] # LOGICAL AND
+2228 ; [*058C.0020.0002.2228] # LOGICAL OR
+2229 ; [*058D.0020.0002.2229] # INTERSECTION
+222A ; [*058E.0020.0002.222A] # UNION
+222B ; [*058F.0020.0002.222B] # INTEGRAL
+222C ; [*058F.0020.0004.222C][*058F.0020.0004.222C] # DOUBLE INTEGRAL; QQKN
+222D ; [*058F.0020.0004.222D][*058F.0020.0004.222D][*058F.0020.001F.222D] # TRIPLE INTEGRAL; QQKN
+222E ; [*0590.0020.0002.222E] # CONTOUR INTEGRAL
+222F ; [*0590.0020.0004.222F][*0590.0020.0004.222F] # SURFACE INTEGRAL; QQKN
+2230 ; [*0590.0020.0004.2230][*0590.0020.0004.2230][*0590.0020.001F.2230] # VOLUME INTEGRAL; QQKN
+2231 ; [*0591.0020.0002.2231] # CLOCKWISE INTEGRAL
+2232 ; [*0592.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
+2233 ; [*0593.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
+2234 ; [*0594.0020.0002.2234] # THEREFORE
+2235 ; [*0595.0020.0002.2235] # BECAUSE
+2236 ; [*0596.0020.0002.2236] # RATIO
+2237 ; [*0597.0020.0002.2237] # PROPORTION
+2238 ; [*0598.0020.0002.2238] # DOT MINUS
+2239 ; [*0599.0020.0002.2239] # EXCESS
+223A ; [*059A.0020.0002.223A] # GEOMETRIC PROPORTION
+223B ; [*059B.0020.0002.223B] # HOMOTHETIC
+223C ; [*059C.0020.0002.223C] # TILDE OPERATOR
+223D ; [*059D.0020.0002.223D] # REVERSED TILDE
+223E ; [*059E.0020.0002.223E] # INVERTED LAZY S
+223F ; [*059F.0020.0002.223F] # SINE WAVE
+2240 ; [*05A0.0020.0002.2240] # WREATH PRODUCT
+2241 ; [*059C.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE; QQCM
+2242 ; [*05A1.0020.0002.2242] # MINUS TILDE
+2243 ; [*05A2.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
+2244 ; [*05A2.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO; QQCM
+2245 ; [*05A3.0020.0002.2245] # APPROXIMATELY EQUAL TO
+2246 ; [*05A4.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247 ; [*05A3.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO; QQCM
+2248 ; [*05A5.0020.0002.2248] # ALMOST EQUAL TO
+2249 ; [*05A5.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO; QQCM
+224A ; [*05A6.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
+224B ; [*05A7.0020.0002.224B] # TRIPLE TILDE
+224C ; [*05A8.0020.0002.224C] # ALL EQUAL TO
+224D ; [*05A9.0020.0002.224D] # EQUIVALENT TO
+224E ; [*05AA.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
+224F ; [*05AB.0020.0002.224F] # DIFFERENCE BETWEEN
+2250 ; [*05AC.0020.0002.2250] # APPROACHES THE LIMIT
+2251 ; [*05AD.0020.0002.2251] # GEOMETRICALLY EQUAL TO
+2252 ; [*05AE.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
+2253 ; [*05AF.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
+2254 ; [*05B0.0020.0002.2254] # COLON EQUALS
+2255 ; [*05B1.0020.0002.2255] # EQUALS COLON
+2256 ; [*05B2.0020.0002.2256] # RING IN EQUAL TO
+2257 ; [*05B3.0020.0002.2257] # RING EQUAL TO
+2258 ; [*05B4.0020.0002.2258] # CORRESPONDS TO
+2259 ; [*05B5.0020.0002.2259] # ESTIMATES
+225A ; [*05B6.0020.0002.225A] # EQUIANGULAR TO
+225B ; [*05B7.0020.0002.225B] # STAR EQUALS
+225C ; [*05B8.0020.0002.225C] # DELTA EQUAL TO
+225D ; [*05B9.0020.0002.225D] # EQUAL TO BY DEFINITION
+225E ; [*05BA.0020.0002.225E] # MEASURED BY
+225F ; [*05BB.0020.0002.225F] # QUESTIONED EQUAL TO
+2260 ; [*056F.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO; QQCM
+2261 ; [*05BC.0020.0002.2261] # IDENTICAL TO
+2262 ; [*05BC.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO; QQCM
+2263 ; [*05BD.0020.0002.2263] # STRICTLY EQUIVALENT TO
+2264 ; [*05BE.0020.0002.2264] # LESS-THAN OR EQUAL TO
+2265 ; [*05BF.0020.0002.2265] # GREATER-THAN OR EQUAL TO
+2266 ; [*05C0.0020.0002.2266] # LESS-THAN OVER EQUAL TO
+2267 ; [*05C1.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
+2268 ; [*05C2.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
+2269 ; [*05C3.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
+226A ; [*05C4.0020.0002.226A] # MUCH LESS-THAN
+226B ; [*05C5.0020.0002.226B] # MUCH GREATER-THAN
+226C ; [*05C6.0020.0002.226C] # BETWEEN
+226D ; [*05A9.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO; QQCM
+226E ; [*056E.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN; QQCM
+226F ; [*0570.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN; QQCM
+2270 ; [*05BE.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO; QQCM
+2271 ; [*05BF.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO; QQCM
+2272 ; [*05C7.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
+2273 ; [*05C8.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
+2274 ; [*05C7.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO; QQCM
+2275 ; [*05C8.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO; QQCM
+2276 ; [*05C9.0020.0002.2276] # LESS-THAN OR GREATER-THAN
+2277 ; [*05CA.0020.0002.2277] # GREATER-THAN OR LESS-THAN
+2278 ; [*05C9.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN; QQCM
+2279 ; [*05CA.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN; QQCM
+227A ; [*05CB.0020.0002.227A] # PRECEDES
+227B ; [*05CC.0020.0002.227B] # SUCCEEDS
+227C ; [*05CD.0020.0002.227C] # PRECEDES OR EQUAL TO
+227D ; [*05CE.0020.0002.227D] # SUCCEEDS OR EQUAL TO
+227E ; [*05CF.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
+227F ; [*05D0.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
+2280 ; [*05CB.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE; QQCM
+2281 ; [*05CC.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED; QQCM
+2282 ; [*05D1.0020.0002.2282] # SUBSET OF
+2283 ; [*05D2.0020.0002.2283] # SUPERSET OF
+2284 ; [*05D1.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF; QQCM
+2285 ; [*05D2.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF; QQCM
+2286 ; [*05D3.0020.0002.2286] # SUBSET OF OR EQUAL TO
+2287 ; [*05D4.0020.0002.2287] # SUPERSET OF OR EQUAL TO
+2288 ; [*05D3.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO; QQCM
+2289 ; [*05D4.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO; QQCM
+228A ; [*05D5.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
+228B ; [*05D6.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
+228C ; [*05D7.0020.0002.228C] # MULTISET
+228D ; [*05D8.0020.0002.228D] # MULTISET MULTIPLICATION
+228E ; [*05D9.0020.0002.228E] # MULTISET UNION
+228F ; [*05DA.0020.0002.228F] # SQUARE IMAGE OF
+2290 ; [*05DB.0020.0002.2290] # SQUARE ORIGINAL OF
+2291 ; [*05DC.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
+2292 ; [*05DD.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
+2293 ; [*05DE.0020.0002.2293] # SQUARE CAP
+2294 ; [*05DF.0020.0002.2294] # SQUARE CUP
+2295 ; [*05E0.0020.0002.2295] # CIRCLED PLUS
+2296 ; [*05E1.0020.0002.2296] # CIRCLED MINUS
+2297 ; [*05E2.0020.0002.2297] # CIRCLED TIMES
+2298 ; [*05E3.0020.0002.2298] # CIRCLED DIVISION SLASH
+2299 ; [*05E4.0020.0002.2299] # CIRCLED DOT OPERATOR
+229A ; [*05E5.0020.0002.229A] # CIRCLED RING OPERATOR
+229B ; [*05E6.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
+229C ; [*05E7.0020.0002.229C] # CIRCLED EQUALS
+229D ; [*05E8.0020.0002.229D] # CIRCLED DASH
+229E ; [*05E9.0020.0002.229E] # SQUARED PLUS
+229F ; [*05EA.0020.0002.229F] # SQUARED MINUS
+22A0 ; [*05EB.0020.0002.22A0] # SQUARED TIMES
+22A1 ; [*05EC.0020.0002.22A1] # SQUARED DOT OPERATOR
+22A2 ; [*05ED.0020.0002.22A2] # RIGHT TACK
+22A3 ; [*05EE.0020.0002.22A3] # LEFT TACK
+22A4 ; [*05EF.0020.0002.22A4] # DOWN TACK
+22A5 ; [*05F0.0020.0002.22A5] # UP TACK
+22A6 ; [*05F1.0020.0002.22A6] # ASSERTION
+22A7 ; [*05F2.0020.0002.22A7] # MODELS
+22A8 ; [*05F3.0020.0002.22A8] # TRUE
+22A9 ; [*05F4.0020.0002.22A9] # FORCES
+22AA ; [*05F5.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22AB ; [*05F6.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22AC ; [*05ED.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE; QQCM
+22AD ; [*05F3.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE; QQCM
+22AE ; [*05F4.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE; QQCM
+22AF ; [*05F6.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE; QQCM
+22B0 ; [*05F7.0020.0002.22B0] # PRECEDES UNDER RELATION
+22B1 ; [*05F8.0020.0002.22B1] # SUCCEEDS UNDER RELATION
+22B2 ; [*05F9.0020.0002.22B2] # NORMAL SUBGROUP OF
+22B3 ; [*05FA.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
+22B4 ; [*05FB.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
+22B5 ; [*05FC.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22B6 ; [*05FD.0020.0002.22B6] # ORIGINAL OF
+22B7 ; [*05FE.0020.0002.22B7] # IMAGE OF
+22B8 ; [*05FF.0020.0002.22B8] # MULTIMAP
+22B9 ; [*0600.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
+22BA ; [*0601.0020.0002.22BA] # INTERCALATE
+22BB ; [*0602.0020.0002.22BB] # XOR
+22BC ; [*0603.0020.0002.22BC] # NAND
+22BD ; [*0604.0020.0002.22BD] # NOR
+22BE ; [*0605.0020.0002.22BE] # RIGHT ANGLE WITH ARC
+22BF ; [*0606.0020.0002.22BF] # RIGHT TRIANGLE
+22C0 ; [*0607.0020.0002.22C0] # N-ARY LOGICAL AND
+22C1 ; [*0608.0020.0002.22C1] # N-ARY LOGICAL OR
+22C2 ; [*0609.0020.0002.22C2] # N-ARY INTERSECTION
+22C3 ; [*060A.0020.0002.22C3] # N-ARY UNION
+22C4 ; [*060B.0020.0002.22C4] # DIAMOND OPERATOR
+22C5 ; [*060C.0020.0002.22C5] # DOT OPERATOR
+22C6 ; [*060D.0020.0002.22C6] # STAR OPERATOR
+22C7 ; [*060E.0020.0002.22C7] # DIVISION TIMES
+22C8 ; [*060F.0020.0002.22C8] # BOWTIE
+22C9 ; [*0610.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CA ; [*0611.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CB ; [*0612.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
+22CC ; [*0613.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
+22CD ; [*0614.0020.0002.22CD] # REVERSED TILDE EQUALS
+22CE ; [*0615.0020.0002.22CE] # CURLY LOGICAL OR
+22CF ; [*0616.0020.0002.22CF] # CURLY LOGICAL AND
+22D0 ; [*0617.0020.0002.22D0] # DOUBLE SUBSET
+22D1 ; [*0618.0020.0002.22D1] # DOUBLE SUPERSET
+22D2 ; [*0619.0020.0002.22D2] # DOUBLE INTERSECTION
+22D3 ; [*061A.0020.0002.22D3] # DOUBLE UNION
+22D4 ; [*061B.0020.0002.22D4] # PITCHFORK
+22D5 ; [*061C.0020.0002.22D5] # EQUAL AND PARALLEL TO
+22D6 ; [*061D.0020.0002.22D6] # LESS-THAN WITH DOT
+22D7 ; [*061E.0020.0002.22D7] # GREATER-THAN WITH DOT
+22D8 ; [*061F.0020.0002.22D8] # VERY MUCH LESS-THAN
+22D9 ; [*0620.0020.0002.22D9] # VERY MUCH GREATER-THAN
+22DA ; [*0621.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
+22DB ; [*0622.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
+22DC ; [*0623.0020.0002.22DC] # EQUAL TO OR LESS-THAN
+22DD ; [*0624.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
+22DE ; [*0625.0020.0002.22DE] # EQUAL TO OR PRECEDES
+22DF ; [*0626.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
+22E0 ; [*05CD.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL; QQCM
+22E1 ; [*05CE.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL; QQCM
+22E2 ; [*05DC.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO; QQCM
+22E3 ; [*05DD.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO; QQCM
+22E4 ; [*0627.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
+22E5 ; [*0628.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
+22E6 ; [*0629.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
+22E7 ; [*062A.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
+22E8 ; [*062B.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
+22E9 ; [*062C.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
+22EA ; [*05F9.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF; QQCM
+22EB ; [*05FA.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP; QQCM
+22EC ; [*05FB.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO; QQCM
+22ED ; [*05FC.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL; QQCM
+22EE ; [*062D.0020.0002.22EE] # VERTICAL ELLIPSIS
+22EF ; [*062E.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
+22F0 ; [*062F.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
+22F1 ; [*0630.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
+22F2 ; [*0631.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
+22F3 ; [*0632.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F4 ; [*0633.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F5 ; [*0634.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
+22F6 ; [*0635.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
+22F7 ; [*0636.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
+22F8 ; [*0637.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
+22F9 ; [*0638.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
+22FA ; [*0639.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
+22FB ; [*063A.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FC ; [*063B.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FD ; [*063C.0020.0002.22FD] # CONTAINS WITH OVERBAR
+22FE ; [*063D.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
+22FF ; [*063E.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
+2300 ; [*063F.0020.0002.2300] # DIAMETER SIGN
+2301 ; [*0640.0020.0002.2301] # ELECTRIC ARROW
+2302 ; [*0641.0020.0002.2302] # HOUSE
+2303 ; [*0642.0020.0002.2303] # UP ARROWHEAD
+2304 ; [*0643.0020.0002.2304] # DOWN ARROWHEAD
+2305 ; [*0644.0020.0002.2305] # PROJECTIVE
+2306 ; [*0645.0020.0002.2306] # PERSPECTIVE
+2307 ; [*0646.0020.0002.2307] # WAVY LINE
+2308 ; [*0647.0020.0002.2308] # LEFT CEILING
+2309 ; [*0648.0020.0002.2309] # RIGHT CEILING
+230A ; [*0649.0020.0002.230A] # LEFT FLOOR
+230B ; [*064A.0020.0002.230B] # RIGHT FLOOR
+230C ; [*064B.0020.0002.230C] # BOTTOM RIGHT CROP
+230D ; [*064C.0020.0002.230D] # BOTTOM LEFT CROP
+230E ; [*064D.0020.0002.230E] # TOP RIGHT CROP
+230F ; [*064E.0020.0002.230F] # TOP LEFT CROP
+2310 ; [*064F.0020.0002.2310] # REVERSED NOT SIGN
+2311 ; [*0650.0020.0002.2311] # SQUARE LOZENGE
+2312 ; [*0651.0020.0002.2312] # ARC
+2313 ; [*0652.0020.0002.2313] # SEGMENT
+2314 ; [*0653.0020.0002.2314] # SECTOR
+2315 ; [*0654.0020.0002.2315] # TELEPHONE RECORDER
+2316 ; [*0655.0020.0002.2316] # POSITION INDICATOR
+2317 ; [*0656.0020.0002.2317] # VIEWDATA SQUARE
+2318 ; [*0657.0020.0002.2318] # PLACE OF INTEREST SIGN
+2319 ; [*0658.0020.0002.2319] # TURNED NOT SIGN
+231A ; [*0659.0020.0002.231A] # WATCH
+231B ; [*065A.0020.0002.231B] # HOURGLASS
+231C ; [*065B.0020.0002.231C] # TOP LEFT CORNER
+231D ; [*065C.0020.0002.231D] # TOP RIGHT CORNER
+231E ; [*065D.0020.0002.231E] # BOTTOM LEFT CORNER
+231F ; [*065E.0020.0002.231F] # BOTTOM RIGHT CORNER
+2320 ; [*065F.0020.0002.2320] # TOP HALF INTEGRAL
+2321 ; [*0660.0020.0002.2321] # BOTTOM HALF INTEGRAL
+2322 ; [*0661.0020.0002.2322] # FROWN
+2323 ; [*0662.0020.0002.2323] # SMILE
+2324 ; [*0663.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+2325 ; [*0664.0020.0002.2325] # OPTION KEY
+2326 ; [*0665.0020.0002.2326] # ERASE TO THE RIGHT
+2327 ; [*0666.0020.0002.2327] # X IN A RECTANGLE BOX
+2328 ; [*0667.0020.0002.2328] # KEYBOARD
+2329 ; [*034C.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET; QQC
+232A ; [*034D.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET; QQC
+232B ; [*0668.0020.0002.232B] # ERASE TO THE LEFT
+232C ; [*0669.0020.0002.232C] # BENZENE RING
+232D ; [*066A.0020.0002.232D] # CYLINDRICITY
+232E ; [*066B.0020.0002.232E] # ALL AROUND-PROFILE
+232F ; [*066C.0020.0002.232F] # SYMMETRY
+2330 ; [*066D.0020.0002.2330] # TOTAL RUNOUT
+2331 ; [*066E.0020.0002.2331] # DIMENSION ORIGIN
+2332 ; [*066F.0020.0002.2332] # CONICAL TAPER
+2333 ; [*0670.0020.0002.2333] # SLOPE
+2334 ; [*0671.0020.0002.2334] # COUNTERBORE
+2335 ; [*0672.0020.0002.2335] # COUNTERSINK
+2336 ; [*0673.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
+2337 ; [*0674.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338 ; [*0675.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339 ; [*0676.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233A ; [*0677.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233B ; [*0678.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
+233C ; [*0679.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233D ; [*067A.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
+233E ; [*067B.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
+233F ; [*067C.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
+2340 ; [*067D.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341 ; [*067E.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
+2342 ; [*067F.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343 ; [*0680.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344 ; [*0681.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345 ; [*0682.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346 ; [*0683.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347 ; [*0684.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348 ; [*0685.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349 ; [*0686.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234A ; [*0687.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234B ; [*0688.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
+234C ; [*0689.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234D ; [*068A.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
+234E ; [*068B.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234F ; [*068C.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350 ; [*068D.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351 ; [*068E.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352 ; [*068F.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
+2353 ; [*0690.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354 ; [*0691.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
+2355 ; [*0692.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
+2356 ; [*0693.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357 ; [*0694.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358 ; [*0695.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359 ; [*0696.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235A ; [*0697.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235B ; [*0698.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235C ; [*0699.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235D ; [*069A.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
+235E ; [*069B.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
+235F ; [*069C.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360 ; [*069D.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
+2361 ; [*069E.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362 ; [*069F.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363 ; [*06A0.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364 ; [*06A1.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365 ; [*06A2.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366 ; [*06A3.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367 ; [*06A4.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368 ; [*06A5.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369 ; [*06A6.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236A ; [*06A7.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
+236B ; [*06A8.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
+236C ; [*06A9.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
+236D ; [*06AA.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
+236E ; [*06AB.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236F ; [*06AC.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370 ; [*06AD.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371 ; [*06AE.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372 ; [*06AF.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373 ; [*06B0.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
+2374 ; [*06B1.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
+2375 ; [*06B2.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
+2376 ; [*06B3.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377 ; [*06B4.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378 ; [*06B5.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379 ; [*06B6.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237A ; [*06B7.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
+237B ; [*06B8.0020.0002.237B] # NOT CHECK MARK
+237C ; [*06B9.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+237D ; [*06BA.0020.0002.237D] # SHOULDERED OPEN BOX
+237E ; [*06BB.0020.0002.237E] # BELL SYMBOL
+237F ; [*06BC.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
+2380 ; [*06BD.0020.0002.2380] # INSERTION SYMBOL
+2381 ; [*06BE.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
+2382 ; [*06BF.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
+2383 ; [*06C0.0020.0002.2383] # EMPHASIS SYMBOL
+2384 ; [*06C1.0020.0002.2384] # COMPOSITION SYMBOL
+2385 ; [*06C2.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
+2386 ; [*06C3.0020.0002.2386] # ENTER SYMBOL
+2387 ; [*06C4.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
+2388 ; [*06C5.0020.0002.2388] # HELM SYMBOL
+2389 ; [*06C6.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
+238A ; [*06C7.0020.0002.238A] # CIRCLED TRIANGLE DOWN
+238B ; [*06C8.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
+238C ; [*06C9.0020.0002.238C] # UNDO SYMBOL
+238D ; [*06CA.0020.0002.238D] # MONOSTABLE SYMBOL
+238E ; [*06CB.0020.0002.238E] # HYSTERESIS SYMBOL
+238F ; [*06CC.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+2390 ; [*06CD.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+2391 ; [*06CE.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+2392 ; [*06CF.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
+2393 ; [*06D0.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
+2394 ; [*06D1.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
+2395 ; [*06D2.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
+2396 ; [*06D3.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
+2397 ; [*06D4.0020.0002.2397] # PREVIOUS PAGE
+2398 ; [*06D5.0020.0002.2398] # NEXT PAGE
+2399 ; [*06D6.0020.0002.2399] # PRINT SCREEN SYMBOL
+239A ; [*06D7.0020.0002.239A] # CLEAR SCREEN SYMBOL
+239B ; [*06D8.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
+239C ; [*06D9.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
+239D ; [*06DA.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
+239E ; [*06DB.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
+239F ; [*06DC.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
+23A0 ; [*06DD.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
+23A1 ; [*06DE.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
+23A2 ; [*06DF.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
+23A3 ; [*06E0.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
+23A4 ; [*06E1.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
+23A5 ; [*06E2.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
+23A6 ; [*06E3.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
+23A7 ; [*06E4.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
+23A8 ; [*06E5.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
+23A9 ; [*06E6.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
+23AA ; [*06E7.0020.0002.23AA] # CURLY BRACKET EXTENSION
+23AB ; [*06E8.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
+23AC ; [*06E9.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
+23AD ; [*06EA.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
+23AE ; [*06EB.0020.0002.23AE] # INTEGRAL EXTENSION
+23AF ; [*06EC.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
+23B0 ; [*06ED.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+23B1 ; [*06EE.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+23B2 ; [*06EF.0020.0002.23B2] # SUMMATION TOP
+23B3 ; [*06F0.0020.0002.23B3] # SUMMATION BOTTOM
+23B4 ; [*06F1.0020.0002.23B4] # TOP SQUARE BRACKET
+23B5 ; [*06F2.0020.0002.23B5] # BOTTOM SQUARE BRACKET
+23B6 ; [*06F3.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+23B7 ; [*06F4.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
+23B8 ; [*06F5.0020.0002.23B8] # LEFT VERTICAL BOX LINE
+23B9 ; [*06F6.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
+23BA ; [*06F7.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
+23BB ; [*06F8.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
+23BC ; [*06F9.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
+23BD ; [*06FA.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
+23BE ; [*06FB.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+23BF ; [*06FC.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+23C0 ; [*06FD.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+23C1 ; [*06FE.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+23C2 ; [*06FF.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+23C3 ; [*0700.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+23C4 ; [*0701.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+23C5 ; [*0702.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+23C6 ; [*0703.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+23C7 ; [*0704.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+23C8 ; [*0705.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+23C9 ; [*0706.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+23CA ; [*0707.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+23CB ; [*0708.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+23CC ; [*0709.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+23CD ; [*070A.0020.0002.23CD] # SQUARE FOOT
+23CE ; [*070B.0020.0002.23CE] # RETURN SYMBOL
+23CF ; [*070C.0020.0002.23CF] # EJECT SYMBOL
+23D0 ; [*070D.0020.0002.23D0] # VERTICAL LINE EXTENSION
+23D1 ; [*070E.0020.0002.23D1] # METRICAL BREVE
+23D2 ; [*070F.0020.0002.23D2] # METRICAL LONG OVER SHORT
+23D3 ; [*0710.0020.0002.23D3] # METRICAL SHORT OVER LONG
+23D4 ; [*0711.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
+23D5 ; [*0712.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
+23D6 ; [*0713.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
+23D7 ; [*0714.0020.0002.23D7] # METRICAL TRISEME
+23D8 ; [*0715.0020.0002.23D8] # METRICAL TETRASEME
+23D9 ; [*0716.0020.0002.23D9] # METRICAL PENTASEME
+23DA ; [*0717.0020.0002.23DA] # EARTH GROUND
+23DB ; [*0718.0020.0002.23DB] # FUSE
+23DC ; [*0719.0020.0002.23DC] # TOP PARENTHESIS
+23DD ; [*071A.0020.0002.23DD] # BOTTOM PARENTHESIS
+23DE ; [*071B.0020.0002.23DE] # TOP CURLY BRACKET
+23DF ; [*071C.0020.0002.23DF] # BOTTOM CURLY BRACKET
+23E0 ; [*071D.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
+23E1 ; [*071E.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
+23E2 ; [*071F.0020.0002.23E2] # WHITE TRAPEZIUM
+23E3 ; [*0720.0020.0002.23E3] # BENZENE RING WITH CIRCLE
+23E4 ; [*0721.0020.0002.23E4] # STRAIGHTNESS
+23E5 ; [*0722.0020.0002.23E5] # FLATNESS
+23E6 ; [*0723.0020.0002.23E6] # AC CURRENT
+23E7 ; [*0724.0020.0002.23E7] # ELECTRICAL INTERSECTION
+23E8 ; [*0725.0020.0002.23E8] # DECIMAL EXPONENT SYMBOL
+23E9 ; [*0726.0020.0002.23E9] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA ; [*0727.0020.0002.23EA] # BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EB ; [*0728.0020.0002.23EB] # BLACK UP-POINTING DOUBLE TRIANGLE
+23EC ; [*0729.0020.0002.23EC] # BLACK DOWN-POINTING DOUBLE TRIANGLE
+23ED ; [*072A.0020.0002.23ED] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE ; [*072B.0020.0002.23EE] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EF ; [*072C.0020.0002.23EF] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23F0 ; [*072D.0020.0002.23F0] # ALARM CLOCK
+23F1 ; [*072E.0020.0002.23F1] # STOPWATCH
+23F2 ; [*072F.0020.0002.23F2] # TIMER CLOCK
+23F3 ; [*0730.0020.0002.23F3] # HOURGLASS WITH FLOWING SAND
+2400 ; [*0731.0020.0002.2400] # SYMBOL FOR NULL
+2401 ; [*0732.0020.0002.2401] # SYMBOL FOR START OF HEADING
+2402 ; [*0733.0020.0002.2402] # SYMBOL FOR START OF TEXT
+2403 ; [*0734.0020.0002.2403] # SYMBOL FOR END OF TEXT
+2404 ; [*0735.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
+2405 ; [*0736.0020.0002.2405] # SYMBOL FOR ENQUIRY
+2406 ; [*0737.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
+2407 ; [*0738.0020.0002.2407] # SYMBOL FOR BELL
+2408 ; [*0739.0020.0002.2408] # SYMBOL FOR BACKSPACE
+2409 ; [*073A.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
+240A ; [*073B.0020.0002.240A] # SYMBOL FOR LINE FEED
+240B ; [*073C.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
+240C ; [*073D.0020.0002.240C] # SYMBOL FOR FORM FEED
+240D ; [*073E.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
+240E ; [*073F.0020.0002.240E] # SYMBOL FOR SHIFT OUT
+240F ; [*0740.0020.0002.240F] # SYMBOL FOR SHIFT IN
+2410 ; [*0741.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
+2411 ; [*0742.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
+2412 ; [*0743.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
+2413 ; [*0744.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
+2414 ; [*0745.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
+2415 ; [*0746.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416 ; [*0747.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
+2417 ; [*0748.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
+2418 ; [*0749.0020.0002.2418] # SYMBOL FOR CANCEL
+2419 ; [*074A.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
+241A ; [*074B.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
+241B ; [*074C.0020.0002.241B] # SYMBOL FOR ESCAPE
+241C ; [*074D.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
+241D ; [*074E.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
+241E ; [*074F.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
+241F ; [*0750.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
+2420 ; [*0751.0020.0002.2420] # SYMBOL FOR SPACE
+2421 ; [*0752.0020.0002.2421] # SYMBOL FOR DELETE
+2422 ; [*0753.0020.0002.2422] # BLANK SYMBOL
+2423 ; [*0754.0020.0002.2423] # OPEN BOX
+2424 ; [*0755.0020.0002.2424] # SYMBOL FOR NEWLINE
+2425 ; [*0756.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
+2426 ; [*0757.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
+2440 ; [*0758.0020.0002.2440] # OCR HOOK
+2441 ; [*0759.0020.0002.2441] # OCR CHAIR
+2442 ; [*075A.0020.0002.2442] # OCR FORK
+2443 ; [*075B.0020.0002.2443] # OCR INVERTED FORK
+2444 ; [*075C.0020.0002.2444] # OCR BELT BUCKLE
+2445 ; [*075D.0020.0002.2445] # OCR BOW TIE
+2446 ; [*075E.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
+2447 ; [*075F.0020.0002.2447] # OCR AMOUNT OF CHECK
+2448 ; [*0760.0020.0002.2448] # OCR DASH
+2449 ; [*0761.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
+244A ; [*0762.0020.0002.244A] # OCR DOUBLE BACKSLASH
+2500 ; [*0763.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
+2501 ; [*0764.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
+2502 ; [*0765.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
+2503 ; [*0766.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
+2504 ; [*0767.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505 ; [*0768.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506 ; [*0769.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507 ; [*076A.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508 ; [*076B.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509 ; [*076C.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250A ; [*076D.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250B ; [*076E.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250C ; [*076F.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
+250D ; [*0770.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250E ; [*0771.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250F ; [*0772.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510 ; [*0773.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
+2511 ; [*0774.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512 ; [*0775.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513 ; [*0776.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
+2514 ; [*0777.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
+2515 ; [*0778.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516 ; [*0779.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517 ; [*077A.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
+2518 ; [*077B.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
+2519 ; [*077C.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251A ; [*077D.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251B ; [*077E.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
+251C ; [*077F.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+251D ; [*0780.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+251E ; [*0781.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251F ; [*0782.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520 ; [*0783.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521 ; [*0784.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522 ; [*0785.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523 ; [*0786.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524 ; [*0787.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+2525 ; [*0788.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+2526 ; [*0789.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527 ; [*078A.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528 ; [*078B.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529 ; [*078C.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252A ; [*078D.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252B ; [*078E.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252C ; [*078F.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+252D ; [*0790.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E ; [*0791.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F ; [*0792.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+2530 ; [*0793.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531 ; [*0794.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532 ; [*0795.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533 ; [*0796.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534 ; [*0797.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+2535 ; [*0798.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536 ; [*0799.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537 ; [*079A.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+2538 ; [*079B.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539 ; [*079C.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253A ; [*079D.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253B ; [*079E.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253C ; [*079F.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+253D ; [*07A0.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E ; [*07A1.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F ; [*07A2.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540 ; [*07A3.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541 ; [*07A4.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542 ; [*07A5.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543 ; [*07A6.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544 ; [*07A7.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545 ; [*07A8.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546 ; [*07A9.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547 ; [*07AA.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548 ; [*07AB.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549 ; [*07AC.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A ; [*07AD.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B ; [*07AE.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254C ; [*07AF.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254D ; [*07B0.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254E ; [*07B1.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254F ; [*07B2.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550 ; [*07B3.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
+2551 ; [*07B4.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
+2552 ; [*07B5.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553 ; [*07B6.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554 ; [*07B7.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555 ; [*07B8.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556 ; [*07B9.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557 ; [*07BA.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558 ; [*07BB.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559 ; [*07BC.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255A ; [*07BD.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
+255B ; [*07BE.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255C ; [*07BF.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255D ; [*07C0.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
+255E ; [*07C1.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255F ; [*07C2.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560 ; [*07C3.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561 ; [*07C4.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562 ; [*07C5.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563 ; [*07C6.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564 ; [*07C7.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565 ; [*07C8.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566 ; [*07C9.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567 ; [*07CA.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568 ; [*07CB.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569 ; [*07CC.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256A ; [*07CD.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B ; [*07CE.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C ; [*07CF.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256D ; [*07D0.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256E ; [*07D1.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256F ; [*07D2.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570 ; [*07D3.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571 ; [*07D4.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572 ; [*07D5.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573 ; [*07D6.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574 ; [*07D7.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
+2575 ; [*07D8.0020.0002.2575] # BOX DRAWINGS LIGHT UP
+2576 ; [*07D9.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
+2577 ; [*07DA.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
+2578 ; [*07DB.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
+2579 ; [*07DC.0020.0002.2579] # BOX DRAWINGS HEAVY UP
+257A ; [*07DD.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
+257B ; [*07DE.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
+257C ; [*07DF.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257D ; [*07E0.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257E ; [*07E1.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257F ; [*07E2.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580 ; [*07E3.0020.0002.2580] # UPPER HALF BLOCK
+2581 ; [*07E4.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
+2582 ; [*07E5.0020.0002.2582] # LOWER ONE QUARTER BLOCK
+2583 ; [*07E6.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
+2584 ; [*07E7.0020.0002.2584] # LOWER HALF BLOCK
+2585 ; [*07E8.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
+2586 ; [*07E9.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
+2587 ; [*07EA.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
+2588 ; [*07EB.0020.0002.2588] # FULL BLOCK
+2589 ; [*07EC.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
+258A ; [*07ED.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
+258B ; [*07EE.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
+258C ; [*07EF.0020.0002.258C] # LEFT HALF BLOCK
+258D ; [*07F0.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
+258E ; [*07F1.0020.0002.258E] # LEFT ONE QUARTER BLOCK
+258F ; [*07F2.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
+2590 ; [*07F3.0020.0002.2590] # RIGHT HALF BLOCK
+2591 ; [*07F4.0020.0002.2591] # LIGHT SHADE
+2592 ; [*07F5.0020.0002.2592] # MEDIUM SHADE
+2593 ; [*07F6.0020.0002.2593] # DARK SHADE
+2594 ; [*07F7.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
+2595 ; [*07F8.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
+2596 ; [*07F9.0020.0002.2596] # QUADRANT LOWER LEFT
+2597 ; [*07FA.0020.0002.2597] # QUADRANT LOWER RIGHT
+2598 ; [*07FB.0020.0002.2598] # QUADRANT UPPER LEFT
+2599 ; [*07FC.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
+259A ; [*07FD.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
+259B ; [*07FE.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
+259C ; [*07FF.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
+259D ; [*0800.0020.0002.259D] # QUADRANT UPPER RIGHT
+259E ; [*0801.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
+259F ; [*0802.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+25A0 ; [*0803.0020.0002.25A0] # BLACK SQUARE
+25A1 ; [*0804.0020.0002.25A1] # WHITE SQUARE
+25A2 ; [*0805.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
+25A3 ; [*0806.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25A4 ; [*0807.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
+25A5 ; [*0808.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
+25A6 ; [*0809.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25A7 ; [*080A.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25A8 ; [*080B.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25A9 ; [*080C.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
+25AA ; [*080D.0020.0002.25AA] # BLACK SMALL SQUARE
+25AB ; [*080E.0020.0002.25AB] # WHITE SMALL SQUARE
+25AC ; [*080F.0020.0002.25AC] # BLACK RECTANGLE
+25AD ; [*0810.0020.0002.25AD] # WHITE RECTANGLE
+25AE ; [*0811.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
+25AF ; [*0812.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
+25B0 ; [*0813.0020.0002.25B0] # BLACK PARALLELOGRAM
+25B1 ; [*0814.0020.0002.25B1] # WHITE PARALLELOGRAM
+25B2 ; [*0815.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
+25B3 ; [*0816.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
+25B4 ; [*0817.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
+25B5 ; [*0818.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
+25B6 ; [*0819.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
+25B7 ; [*081A.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
+25B8 ; [*081B.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
+25B9 ; [*081C.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
+25BA ; [*081D.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
+25BB ; [*081E.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
+25BC ; [*081F.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
+25BD ; [*0820.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
+25BE ; [*0821.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
+25BF ; [*0822.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
+25C0 ; [*0823.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
+25C1 ; [*0824.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
+25C2 ; [*0825.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
+25C3 ; [*0826.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
+25C4 ; [*0827.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
+25C5 ; [*0828.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
+25C6 ; [*0829.0020.0002.25C6] # BLACK DIAMOND
+25C7 ; [*082A.0020.0002.25C7] # WHITE DIAMOND
+25C8 ; [*082B.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25C9 ; [*082C.0020.0002.25C9] # FISHEYE
+25CA ; [*082D.0020.0002.25CA] # LOZENGE
+25CB ; [*082E.0020.0002.25CB] # WHITE CIRCLE
+25CC ; [*082F.0020.0002.25CC] # DOTTED CIRCLE
+25CD ; [*0830.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
+25CE ; [*0831.0020.0002.25CE] # BULLSEYE
+25CF ; [*0832.0020.0002.25CF] # BLACK CIRCLE
+25D0 ; [*0833.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
+25D1 ; [*0834.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
+25D2 ; [*0835.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
+25D3 ; [*0836.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
+25D4 ; [*0837.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25D5 ; [*0838.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25D6 ; [*0839.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
+25D7 ; [*083A.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
+25D8 ; [*083B.0020.0002.25D8] # INVERSE BULLET
+25D9 ; [*083C.0020.0002.25D9] # INVERSE WHITE CIRCLE
+25DA ; [*083D.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
+25DB ; [*083E.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
+25DC ; [*083F.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
+25DD ; [*0840.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
+25DE ; [*0841.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
+25DF ; [*0842.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
+25E0 ; [*0843.0020.0002.25E0] # UPPER HALF CIRCLE
+25E1 ; [*0844.0020.0002.25E1] # LOWER HALF CIRCLE
+25E2 ; [*0845.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
+25E3 ; [*0846.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
+25E4 ; [*0847.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
+25E5 ; [*0848.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
+25E6 ; [*0849.0020.0002.25E6] # WHITE BULLET
+25E7 ; [*084A.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
+25E8 ; [*084B.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
+25E9 ; [*084C.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25EA ; [*084D.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25EB ; [*084E.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
+25EC ; [*084F.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
+25ED ; [*0850.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE ; [*0851.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25EF ; [*0852.0020.0002.25EF] # LARGE CIRCLE
+25F0 ; [*0853.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
+25F1 ; [*0854.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
+25F2 ; [*0855.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
+25F3 ; [*0856.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
+25F4 ; [*0857.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
+25F5 ; [*0858.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
+25F6 ; [*0859.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+25F7 ; [*085A.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+25F8 ; [*085B.0020.0002.25F8] # UPPER LEFT TRIANGLE
+25F9 ; [*085C.0020.0002.25F9] # UPPER RIGHT TRIANGLE
+25FA ; [*085D.0020.0002.25FA] # LOWER LEFT TRIANGLE
+25FB ; [*085E.0020.0002.25FB] # WHITE MEDIUM SQUARE
+25FC ; [*085F.0020.0002.25FC] # BLACK MEDIUM SQUARE
+25FD ; [*0860.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
+25FE ; [*0861.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
+25FF ; [*0862.0020.0002.25FF] # LOWER RIGHT TRIANGLE
+2600 ; [*0863.0020.0002.2600] # BLACK SUN WITH RAYS
+2601 ; [*0864.0020.0002.2601] # CLOUD
+2602 ; [*0865.0020.0002.2602] # UMBRELLA
+2603 ; [*0866.0020.0002.2603] # SNOWMAN
+2604 ; [*0867.0020.0002.2604] # COMET
+2605 ; [*0868.0020.0002.2605] # BLACK STAR
+2606 ; [*0869.0020.0002.2606] # WHITE STAR
+2607 ; [*086A.0020.0002.2607] # LIGHTNING
+2608 ; [*086B.0020.0002.2608] # THUNDERSTORM
+2609 ; [*086C.0020.0002.2609] # SUN
+260A ; [*086D.0020.0002.260A] # ASCENDING NODE
+260B ; [*086E.0020.0002.260B] # DESCENDING NODE
+260C ; [*086F.0020.0002.260C] # CONJUNCTION
+260D ; [*0870.0020.0002.260D] # OPPOSITION
+260E ; [*0871.0020.0002.260E] # BLACK TELEPHONE
+260F ; [*0872.0020.0002.260F] # WHITE TELEPHONE
+2610 ; [*0873.0020.0002.2610] # BALLOT BOX
+2611 ; [*0874.0020.0002.2611] # BALLOT BOX WITH CHECK
+2612 ; [*0875.0020.0002.2612] # BALLOT BOX WITH X
+2613 ; [*0876.0020.0002.2613] # SALTIRE
+2614 ; [*0877.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
+2615 ; [*0878.0020.0002.2615] # HOT BEVERAGE
+2616 ; [*0879.0020.0002.2616] # WHITE SHOGI PIECE
+2617 ; [*087A.0020.0002.2617] # BLACK SHOGI PIECE
+2618 ; [*087B.0020.0002.2618] # SHAMROCK
+2619 ; [*087C.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
+261A ; [*087D.0020.0002.261A] # BLACK LEFT POINTING INDEX
+261B ; [*087E.0020.0002.261B] # BLACK RIGHT POINTING INDEX
+261C ; [*087F.0020.0002.261C] # WHITE LEFT POINTING INDEX
+261D ; [*0880.0020.0002.261D] # WHITE UP POINTING INDEX
+261E ; [*0881.0020.0002.261E] # WHITE RIGHT POINTING INDEX
+261F ; [*0882.0020.0002.261F] # WHITE DOWN POINTING INDEX
+2620 ; [*0883.0020.0002.2620] # SKULL AND CROSSBONES
+2621 ; [*0884.0020.0002.2621] # CAUTION SIGN
+2622 ; [*0885.0020.0002.2622] # RADIOACTIVE SIGN
+2623 ; [*0886.0020.0002.2623] # BIOHAZARD SIGN
+2624 ; [*0887.0020.0002.2624] # CADUCEUS
+2625 ; [*0888.0020.0002.2625] # ANKH
+2626 ; [*0889.0020.0002.2626] # ORTHODOX CROSS
+2627 ; [*088A.0020.0002.2627] # CHI RHO
+2628 ; [*088B.0020.0002.2628] # CROSS OF LORRAINE
+2629 ; [*088C.0020.0002.2629] # CROSS OF JERUSALEM
+262A ; [*088D.0020.0002.262A] # STAR AND CRESCENT
+262B ; [*088E.0020.0002.262B] # FARSI SYMBOL
+262C ; [*088F.0020.0002.262C] # ADI SHAKTI
+262D ; [*0890.0020.0002.262D] # HAMMER AND SICKLE
+262E ; [*0891.0020.0002.262E] # PEACE SYMBOL
+262F ; [*0892.0020.0002.262F] # YIN YANG
+2630 ; [*0D73.0020.0002.2630] # TRIGRAM FOR HEAVEN
+2631 ; [*0D74.0020.0002.2631] # TRIGRAM FOR LAKE
+2632 ; [*0D75.0020.0002.2632] # TRIGRAM FOR FIRE
+2633 ; [*0D76.0020.0002.2633] # TRIGRAM FOR THUNDER
+2634 ; [*0D77.0020.0002.2634] # TRIGRAM FOR WIND
+2635 ; [*0D78.0020.0002.2635] # TRIGRAM FOR WATER
+2636 ; [*0D79.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
+2637 ; [*0D7A.0020.0002.2637] # TRIGRAM FOR EARTH
+2638 ; [*0893.0020.0002.2638] # WHEEL OF DHARMA
+2639 ; [*0894.0020.0002.2639] # WHITE FROWNING FACE
+263A ; [*0895.0020.0002.263A] # WHITE SMILING FACE
+263B ; [*0896.0020.0002.263B] # BLACK SMILING FACE
+263C ; [*0897.0020.0002.263C] # WHITE SUN WITH RAYS
+263D ; [*0898.0020.0002.263D] # FIRST QUARTER MOON
+263E ; [*0899.0020.0002.263E] # LAST QUARTER MOON
+263F ; [*089A.0020.0002.263F] # MERCURY
+2640 ; [*089B.0020.0002.2640] # FEMALE SIGN
+2641 ; [*089C.0020.0002.2641] # EARTH
+2642 ; [*089D.0020.0002.2642] # MALE SIGN
+2643 ; [*089E.0020.0002.2643] # JUPITER
+2644 ; [*089F.0020.0002.2644] # SATURN
+2645 ; [*08A0.0020.0002.2645] # URANUS
+2646 ; [*08A1.0020.0002.2646] # NEPTUNE
+2647 ; [*08A2.0020.0002.2647] # PLUTO
+2648 ; [*08A3.0020.0002.2648] # ARIES
+2649 ; [*08A4.0020.0002.2649] # TAURUS
+264A ; [*08A5.0020.0002.264A] # GEMINI
+264B ; [*08A6.0020.0002.264B] # CANCER
+264C ; [*08A7.0020.0002.264C] # LEO
+264D ; [*08A8.0020.0002.264D] # VIRGO
+264E ; [*08A9.0020.0002.264E] # LIBRA
+264F ; [*08AA.0020.0002.264F] # SCORPIUS
+2650 ; [*08AB.0020.0002.2650] # SAGITTARIUS
+2651 ; [*08AC.0020.0002.2651] # CAPRICORN
+2652 ; [*08AD.0020.0002.2652] # AQUARIUS
+2653 ; [*08AE.0020.0002.2653] # PISCES
+2654 ; [*08AF.0020.0002.2654] # WHITE CHESS KING
+2655 ; [*08B0.0020.0002.2655] # WHITE CHESS QUEEN
+2656 ; [*08B1.0020.0002.2656] # WHITE CHESS ROOK
+2657 ; [*08B2.0020.0002.2657] # WHITE CHESS BISHOP
+2658 ; [*08B3.0020.0002.2658] # WHITE CHESS KNIGHT
+2659 ; [*08B4.0020.0002.2659] # WHITE CHESS PAWN
+265A ; [*08B5.0020.0002.265A] # BLACK CHESS KING
+265B ; [*08B6.0020.0002.265B] # BLACK CHESS QUEEN
+265C ; [*08B7.0020.0002.265C] # BLACK CHESS ROOK
+265D ; [*08B8.0020.0002.265D] # BLACK CHESS BISHOP
+265E ; [*08B9.0020.0002.265E] # BLACK CHESS KNIGHT
+265F ; [*08BA.0020.0002.265F] # BLACK CHESS PAWN
+2660 ; [*08BB.0020.0002.2660] # BLACK SPADE SUIT
+2661 ; [*08BC.0020.0002.2661] # WHITE HEART SUIT
+2662 ; [*08BD.0020.0002.2662] # WHITE DIAMOND SUIT
+2663 ; [*08BE.0020.0002.2663] # BLACK CLUB SUIT
+2664 ; [*08BF.0020.0002.2664] # WHITE SPADE SUIT
+2665 ; [*08C0.0020.0002.2665] # BLACK HEART SUIT
+2666 ; [*08C1.0020.0002.2666] # BLACK DIAMOND SUIT
+2667 ; [*08C2.0020.0002.2667] # WHITE CLUB SUIT
+2668 ; [*08C3.0020.0002.2668] # HOT SPRINGS
+2669 ; [*08C4.0020.0002.2669] # QUARTER NOTE
+266A ; [*08C5.0020.0002.266A] # EIGHTH NOTE
+266B ; [*08C6.0020.0002.266B] # BEAMED EIGHTH NOTES
+266C ; [*08C7.0020.0002.266C] # BEAMED SIXTEENTH NOTES
+266D ; [*0FB9.0020.0002.266D] # MUSIC FLAT SIGN
+266E ; [*0FBA.0020.0002.266E] # MUSIC NATURAL SIGN
+266F ; [*0FBB.0020.0002.266F] # MUSIC SHARP SIGN
+2670 ; [*08C8.0020.0002.2670] # WEST SYRIAC CROSS
+2671 ; [*08C9.0020.0002.2671] # EAST SYRIAC CROSS
+2672 ; [*08CA.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
+2673 ; [*08CB.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+2674 ; [*08CC.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+2675 ; [*08CD.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+2676 ; [*08CE.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+2677 ; [*08CF.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+2678 ; [*08D0.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+2679 ; [*08D1.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+267A ; [*08D2.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
+267B ; [*08D3.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
+267C ; [*08D4.0020.0002.267C] # RECYCLED PAPER SYMBOL
+267D ; [*08D5.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
+267E ; [*08D6.0020.0002.267E] # PERMANENT PAPER SIGN
+267F ; [*08D7.0020.0002.267F] # WHEELCHAIR SYMBOL
+2680 ; [*08D8.0020.0002.2680] # DIE FACE-1
+2681 ; [*08D9.0020.0002.2681] # DIE FACE-2
+2682 ; [*08DA.0020.0002.2682] # DIE FACE-3
+2683 ; [*08DB.0020.0002.2683] # DIE FACE-4
+2684 ; [*08DC.0020.0002.2684] # DIE FACE-5
+2685 ; [*08DD.0020.0002.2685] # DIE FACE-6
+2686 ; [*08DE.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
+2687 ; [*08DF.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
+2688 ; [*08E0.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
+2689 ; [*08E1.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
+268A ; [*0D6D.0020.0002.268A] # MONOGRAM FOR YANG
+268B ; [*0D6E.0020.0002.268B] # MONOGRAM FOR YIN
+268C ; [*0D6F.0020.0002.268C] # DIGRAM FOR GREATER YANG
+268D ; [*0D70.0020.0002.268D] # DIGRAM FOR LESSER YIN
+268E ; [*0D71.0020.0002.268E] # DIGRAM FOR LESSER YANG
+268F ; [*0D72.0020.0002.268F] # DIGRAM FOR GREATER YIN
+2690 ; [*08E2.0020.0002.2690] # WHITE FLAG
+2691 ; [*08E3.0020.0002.2691] # BLACK FLAG
+2692 ; [*08E4.0020.0002.2692] # HAMMER AND PICK
+2693 ; [*08E5.0020.0002.2693] # ANCHOR
+2694 ; [*08E6.0020.0002.2694] # CROSSED SWORDS
+2695 ; [*08E7.0020.0002.2695] # STAFF OF AESCULAPIUS
+2696 ; [*08E8.0020.0002.2696] # SCALES
+2697 ; [*08E9.0020.0002.2697] # ALEMBIC
+2698 ; [*08EA.0020.0002.2698] # FLOWER
+2699 ; [*08EB.0020.0002.2699] # GEAR
+269A ; [*08EC.0020.0002.269A] # STAFF OF HERMES
+269B ; [*08ED.0020.0002.269B] # ATOM SYMBOL
+269C ; [*08EE.0020.0002.269C] # FLEUR-DE-LIS
+269D ; [*08EF.0020.0002.269D] # OUTLINED WHITE STAR
+269E ; [*08F0.0020.0002.269E] # THREE LINES CONVERGING RIGHT
+269F ; [*08F1.0020.0002.269F] # THREE LINES CONVERGING LEFT
+26A0 ; [*08F2.0020.0002.26A0] # WARNING SIGN
+26A1 ; [*08F3.0020.0002.26A1] # HIGH VOLTAGE SIGN
+26A2 ; [*08F4.0020.0002.26A2] # DOUBLED FEMALE SIGN
+26A3 ; [*08F5.0020.0002.26A3] # DOUBLED MALE SIGN
+26A4 ; [*08F6.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
+26A5 ; [*08F7.0020.0002.26A5] # MALE AND FEMALE SIGN
+26A6 ; [*08F8.0020.0002.26A6] # MALE WITH STROKE SIGN
+26A7 ; [*08F9.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A8 ; [*08FA.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
+26A9 ; [*08FB.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
+26AA ; [*08FC.0020.0002.26AA] # MEDIUM WHITE CIRCLE
+26AB ; [*08FD.0020.0002.26AB] # MEDIUM BLACK CIRCLE
+26AC ; [*08FE.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
+26AD ; [*08FF.0020.0002.26AD] # MARRIAGE SYMBOL
+26AE ; [*0900.0020.0002.26AE] # DIVORCE SYMBOL
+26AF ; [*0901.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
+26B0 ; [*0902.0020.0002.26B0] # COFFIN
+26B1 ; [*0903.0020.0002.26B1] # FUNERAL URN
+26B2 ; [*0904.0020.0002.26B2] # NEUTER
+26B3 ; [*0905.0020.0002.26B3] # CERES
+26B4 ; [*0906.0020.0002.26B4] # PALLAS
+26B5 ; [*0907.0020.0002.26B5] # JUNO
+26B6 ; [*0908.0020.0002.26B6] # VESTA
+26B7 ; [*0909.0020.0002.26B7] # CHIRON
+26B8 ; [*090A.0020.0002.26B8] # BLACK MOON LILITH
+26B9 ; [*090B.0020.0002.26B9] # SEXTILE
+26BA ; [*090C.0020.0002.26BA] # SEMISEXTILE
+26BB ; [*090D.0020.0002.26BB] # QUINCUNX
+26BC ; [*090E.0020.0002.26BC] # SESQUIQUADRATE
+26BD ; [*090F.0020.0002.26BD] # SOCCER BALL
+26BE ; [*0910.0020.0002.26BE] # BASEBALL
+26BF ; [*0911.0020.0002.26BF] # SQUARED KEY
+26C0 ; [*0912.0020.0002.26C0] # WHITE DRAUGHTS MAN
+26C1 ; [*0913.0020.0002.26C1] # WHITE DRAUGHTS KING
+26C2 ; [*0914.0020.0002.26C2] # BLACK DRAUGHTS MAN
+26C3 ; [*0915.0020.0002.26C3] # BLACK DRAUGHTS KING
+26C4 ; [*0916.0020.0002.26C4] # SNOWMAN WITHOUT SNOW
+26C5 ; [*0917.0020.0002.26C5] # SUN BEHIND CLOUD
+26C6 ; [*0918.0020.0002.26C6] # RAIN
+26C7 ; [*0919.0020.0002.26C7] # BLACK SNOWMAN
+26C8 ; [*091A.0020.0002.26C8] # THUNDER CLOUD AND RAIN
+26C9 ; [*091B.0020.0002.26C9] # TURNED WHITE SHOGI PIECE
+26CA ; [*091C.0020.0002.26CA] # TURNED BLACK SHOGI PIECE
+26CB ; [*091D.0020.0002.26CB] # WHITE DIAMOND IN SQUARE
+26CC ; [*091E.0020.0002.26CC] # CROSSING LANES
+26CD ; [*091F.0020.0002.26CD] # DISABLED CAR
+26CE ; [*0920.0020.0002.26CE] # OPHIUCHUS
+26CF ; [*0921.0020.0002.26CF] # PICK
+26D0 ; [*0922.0020.0002.26D0] # CAR SLIDING
+26D1 ; [*0923.0020.0002.26D1] # HELMET WITH WHITE CROSS
+26D2 ; [*0924.0020.0002.26D2] # CIRCLED CROSSING LANES
+26D3 ; [*0925.0020.0002.26D3] # CHAINS
+26D4 ; [*0926.0020.0002.26D4] # NO ENTRY
+26D5 ; [*0927.0020.0002.26D5] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+26D6 ; [*0928.0020.0002.26D6] # BLACK TWO-WAY LEFT WAY TRAFFIC
+26D7 ; [*0929.0020.0002.26D7] # WHITE TWO-WAY LEFT WAY TRAFFIC
+26D8 ; [*092A.0020.0002.26D8] # BLACK LEFT LANE MERGE
+26D9 ; [*092B.0020.0002.26D9] # WHITE LEFT LANE MERGE
+26DA ; [*092C.0020.0002.26DA] # DRIVE SLOW SIGN
+26DB ; [*092D.0020.0002.26DB] # HEAVY WHITE DOWN-POINTING TRIANGLE
+26DC ; [*092E.0020.0002.26DC] # LEFT CLOSED ENTRY
+26DD ; [*092F.0020.0002.26DD] # SQUARED SALTIRE
+26DE ; [*0930.0020.0002.26DE] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+26DF ; [*0931.0020.0002.26DF] # BLACK TRUCK
+26E0 ; [*0932.0020.0002.26E0] # RESTRICTED LEFT ENTRY-1
+26E1 ; [*0933.0020.0002.26E1] # RESTRICTED LEFT ENTRY-2
+26E2 ; [*0934.0020.0002.26E2] # ASTRONOMICAL SYMBOL FOR URANUS
+26E3 ; [*0935.0020.0002.26E3] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+26E4 ; [*0936.0020.0002.26E4] # PENTAGRAM
+26E5 ; [*0937.0020.0002.26E5] # RIGHT-HANDED INTERLACED PENTAGRAM
+26E6 ; [*0938.0020.0002.26E6] # LEFT-HANDED INTERLACED PENTAGRAM
+26E7 ; [*0939.0020.0002.26E7] # INVERTED PENTAGRAM
+26E8 ; [*093A.0020.0002.26E8] # BLACK CROSS ON SHIELD
+26E9 ; [*093B.0020.0002.26E9] # SHINTO SHRINE
+26EA ; [*093C.0020.0002.26EA] # CHURCH
+26EB ; [*093D.0020.0002.26EB] # CASTLE
+26EC ; [*093E.0020.0002.26EC] # HISTORIC SITE
+26ED ; [*093F.0020.0002.26ED] # GEAR WITHOUT HUB
+26EE ; [*0940.0020.0002.26EE] # GEAR WITH HANDLES
+26EF ; [*0941.0020.0002.26EF] # MAP SYMBOL FOR LIGHTHOUSE
+26F0 ; [*0942.0020.0002.26F0] # MOUNTAIN
+26F1 ; [*0943.0020.0002.26F1] # UMBRELLA ON GROUND
+26F2 ; [*0944.0020.0002.26F2] # FOUNTAIN
+26F3 ; [*0945.0020.0002.26F3] # FLAG IN HOLE
+26F4 ; [*0946.0020.0002.26F4] # FERRY
+26F5 ; [*0947.0020.0002.26F5] # SAILBOAT
+26F6 ; [*0948.0020.0002.26F6] # SQUARE FOUR CORNERS
+26F7 ; [*0949.0020.0002.26F7] # SKIER
+26F8 ; [*094A.0020.0002.26F8] # ICE SKATE
+26F9 ; [*094B.0020.0002.26F9] # PERSON WITH BALL
+26FA ; [*094C.0020.0002.26FA] # TENT
+26FB ; [*094D.0020.0002.26FB] # JAPANESE BANK SYMBOL
+26FC ; [*094E.0020.0002.26FC] # HEADSTONE GRAVEYARD SYMBOL
+26FD ; [*094F.0020.0002.26FD] # FUEL PUMP
+26FE ; [*0950.0020.0002.26FE] # CUP ON BLACK SQUARE
+26FF ; [*0951.0020.0002.26FF] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2701 ; [*0952.0020.0002.2701] # UPPER BLADE SCISSORS
+2702 ; [*0953.0020.0002.2702] # BLACK SCISSORS
+2703 ; [*0954.0020.0002.2703] # LOWER BLADE SCISSORS
+2704 ; [*0955.0020.0002.2704] # WHITE SCISSORS
+2705 ; [*0956.0020.0002.2705] # WHITE HEAVY CHECK MARK
+2706 ; [*0957.0020.0002.2706] # TELEPHONE LOCATION SIGN
+2707 ; [*0958.0020.0002.2707] # TAPE DRIVE
+2708 ; [*0959.0020.0002.2708] # AIRPLANE
+2709 ; [*095A.0020.0002.2709] # ENVELOPE
+270A ; [*095B.0020.0002.270A] # RAISED FIST
+270B ; [*095C.0020.0002.270B] # RAISED HAND
+270C ; [*095D.0020.0002.270C] # VICTORY HAND
+270D ; [*095E.0020.0002.270D] # WRITING HAND
+270E ; [*095F.0020.0002.270E] # LOWER RIGHT PENCIL
+270F ; [*0960.0020.0002.270F] # PENCIL
+2710 ; [*0961.0020.0002.2710] # UPPER RIGHT PENCIL
+2711 ; [*0962.0020.0002.2711] # WHITE NIB
+2712 ; [*0963.0020.0002.2712] # BLACK NIB
+2713 ; [*0964.0020.0002.2713] # CHECK MARK
+2714 ; [*0965.0020.0002.2714] # HEAVY CHECK MARK
+2715 ; [*0966.0020.0002.2715] # MULTIPLICATION X
+2716 ; [*0967.0020.0002.2716] # HEAVY MULTIPLICATION X
+2717 ; [*0968.0020.0002.2717] # BALLOT X
+2718 ; [*0969.0020.0002.2718] # HEAVY BALLOT X
+2719 ; [*096A.0020.0002.2719] # OUTLINED GREEK CROSS
+271A ; [*096B.0020.0002.271A] # HEAVY GREEK CROSS
+271B ; [*096C.0020.0002.271B] # OPEN CENTRE CROSS
+271C ; [*096D.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
+271D ; [*096E.0020.0002.271D] # LATIN CROSS
+271E ; [*096F.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
+271F ; [*0970.0020.0002.271F] # OUTLINED LATIN CROSS
+2720 ; [*0971.0020.0002.2720] # MALTESE CROSS
+2721 ; [*0972.0020.0002.2721] # STAR OF DAVID
+2722 ; [*0973.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
+2723 ; [*0974.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
+2724 ; [*0975.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725 ; [*0976.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
+2726 ; [*0977.0020.0002.2726] # BLACK FOUR POINTED STAR
+2727 ; [*0978.0020.0002.2727] # WHITE FOUR POINTED STAR
+2728 ; [*0979.0020.0002.2728] # SPARKLES
+2729 ; [*097A.0020.0002.2729] # STRESS OUTLINED WHITE STAR
+272A ; [*097B.0020.0002.272A] # CIRCLED WHITE STAR
+272B ; [*097C.0020.0002.272B] # OPEN CENTRE BLACK STAR
+272C ; [*097D.0020.0002.272C] # BLACK CENTRE WHITE STAR
+272D ; [*097E.0020.0002.272D] # OUTLINED BLACK STAR
+272E ; [*097F.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
+272F ; [*0980.0020.0002.272F] # PINWHEEL STAR
+2730 ; [*0981.0020.0002.2730] # SHADOWED WHITE STAR
+2731 ; [*0982.0020.0002.2731] # HEAVY ASTERISK
+2732 ; [*0983.0020.0002.2732] # OPEN CENTRE ASTERISK
+2733 ; [*0984.0020.0002.2733] # EIGHT SPOKED ASTERISK
+2734 ; [*0985.0020.0002.2734] # EIGHT POINTED BLACK STAR
+2735 ; [*0986.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
+2736 ; [*0987.0020.0002.2736] # SIX POINTED BLACK STAR
+2737 ; [*0988.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
+2738 ; [*0989.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739 ; [*098A.0020.0002.2739] # TWELVE POINTED BLACK STAR
+273A ; [*098B.0020.0002.273A] # SIXTEEN POINTED ASTERISK
+273B ; [*098C.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
+273C ; [*098D.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273D ; [*098E.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
+273E ; [*098F.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
+273F ; [*0990.0020.0002.273F] # BLACK FLORETTE
+2740 ; [*0991.0020.0002.2740] # WHITE FLORETTE
+2741 ; [*0992.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742 ; [*0993.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743 ; [*0994.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744 ; [*0995.0020.0002.2744] # SNOWFLAKE
+2745 ; [*0996.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
+2746 ; [*0997.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
+2747 ; [*0998.0020.0002.2747] # SPARKLE
+2748 ; [*0999.0020.0002.2748] # HEAVY SPARKLE
+2749 ; [*099A.0020.0002.2749] # BALLOON-SPOKED ASTERISK
+274A ; [*099B.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274B ; [*099C.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274C ; [*099D.0020.0002.274C] # CROSS MARK
+274D ; [*099E.0020.0002.274D] # SHADOWED WHITE CIRCLE
+274E ; [*099F.0020.0002.274E] # NEGATIVE SQUARED CROSS MARK
+274F ; [*09A0.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750 ; [*09A1.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751 ; [*09A2.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
+2752 ; [*09A3.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
+2753 ; [*09A4.0020.0002.2753] # BLACK QUESTION MARK ORNAMENT
+2754 ; [*09A5.0020.0002.2754] # WHITE QUESTION MARK ORNAMENT
+2755 ; [*09A6.0020.0002.2755] # WHITE EXCLAMATION MARK ORNAMENT
+2756 ; [*09A7.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
+2757 ; [*09A8.0020.0002.2757] # HEAVY EXCLAMATION MARK SYMBOL
+2758 ; [*09A9.0020.0002.2758] # LIGHT VERTICAL BAR
+2759 ; [*09AA.0020.0002.2759] # MEDIUM VERTICAL BAR
+275A ; [*09AB.0020.0002.275A] # HEAVY VERTICAL BAR
+275B ; [*09AC.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+275C ; [*09AD.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+275D ; [*09AE.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+275E ; [*09AF.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+275F ; [*09B0.0020.0002.275F] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+2760 ; [*09B1.0020.0002.2760] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+2761 ; [*09B2.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
+2762 ; [*09B3.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
+2763 ; [*09B4.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 ; [*09B5.0020.0002.2764] # HEAVY BLACK HEART
+2765 ; [*09B6.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
+2766 ; [*09B7.0020.0002.2766] # FLORAL HEART
+2767 ; [*09B8.0020.0002.2767] # ROTATED FLORAL HEART BULLET
+2768 ; [*09B9.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
+2769 ; [*09BA.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
+276A ; [*09BB.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+276B ; [*09BC.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+276C ; [*09BD.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+276D ; [*09BE.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+276E ; [*09BF.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+276F ; [*09C0.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+2770 ; [*09C1.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+2771 ; [*09C2.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+2772 ; [*09C3.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+2773 ; [*09C4.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+2774 ; [*09C5.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
+2775 ; [*09C6.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
+2794 ; [*09C7.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2795 ; [*09C8.0020.0002.2795] # HEAVY PLUS SIGN
+2796 ; [*09C9.0020.0002.2796] # HEAVY MINUS SIGN
+2797 ; [*09CA.0020.0002.2797] # HEAVY DIVISION SIGN
+2798 ; [*09CB.0020.0002.2798] # HEAVY SOUTH EAST ARROW
+2799 ; [*09CC.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
+279A ; [*09CD.0020.0002.279A] # HEAVY NORTH EAST ARROW
+279B ; [*09CE.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
+279C ; [*09CF.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279D ; [*09D0.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
+279E ; [*09D1.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279F ; [*09D2.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A0 ; [*09D3.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A1 ; [*09D4.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
+27A2 ; [*09D5.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27A3 ; [*09D6.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27A4 ; [*09D7.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
+27A5 ; [*09D8.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27A6 ; [*09D9.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27A7 ; [*09DA.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
+27A8 ; [*09DB.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27A9 ; [*09DC.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27AA ; [*09DD.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
+27AB ; [*09DE.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AC ; [*09DF.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AD ; [*09E0.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AE ; [*09E1.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AF ; [*09E2.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B0 ; [*09E3.0020.0002.27B0] # CURLY LOOP
+27B1 ; [*09E4.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B2 ; [*09E5.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27B3 ; [*09E6.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
+27B4 ; [*09E7.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
+27B5 ; [*09E8.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
+27B6 ; [*09E9.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
+27B7 ; [*09EA.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27B8 ; [*09EB.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27B9 ; [*09EC.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27BA ; [*09ED.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
+27BB ; [*09EE.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27BC ; [*09EF.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
+27BD ; [*09F0.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27BE ; [*09F1.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
+27BF ; [*09F2.0020.0002.27BF] # DOUBLE CURLY LOOP
+27C0 ; [*09F3.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
+27C1 ; [*09F4.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+27C2 ; [*09F5.0020.0002.27C2] # PERPENDICULAR
+27C3 ; [*09F6.0020.0002.27C3] # OPEN SUBSET
+27C4 ; [*09F7.0020.0002.27C4] # OPEN SUPERSET
+27C5 ; [*09F8.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
+27C6 ; [*09F9.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
+27C7 ; [*09FA.0020.0002.27C7] # OR WITH DOT INSIDE
+27C8 ; [*09FB.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
+27C9 ; [*09FC.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
+27CA ; [*09FD.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
+27CC ; [*09FE.0020.0002.27CC] # LONG DIVISION
+27CE ; [*09FF.0020.0002.27CE] # SQUARED LOGICAL AND
+27CF ; [*0A00.0020.0002.27CF] # SQUARED LOGICAL OR
+27D0 ; [*0A01.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
+27D1 ; [*0A02.0020.0002.27D1] # AND WITH DOT
+27D2 ; [*0A03.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
+27D3 ; [*0A04.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
+27D4 ; [*0A05.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
+27D5 ; [*0A06.0020.0002.27D5] # LEFT OUTER JOIN
+27D6 ; [*0A07.0020.0002.27D6] # RIGHT OUTER JOIN
+27D7 ; [*0A08.0020.0002.27D7] # FULL OUTER JOIN
+27D8 ; [*0A09.0020.0002.27D8] # LARGE UP TACK
+27D9 ; [*0A0A.0020.0002.27D9] # LARGE DOWN TACK
+27DA ; [*0A0B.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
+27DB ; [*0A0C.0020.0002.27DB] # LEFT AND RIGHT TACK
+27DC ; [*0A0D.0020.0002.27DC] # LEFT MULTIMAP
+27DD ; [*0A0E.0020.0002.27DD] # LONG RIGHT TACK
+27DE ; [*0A0F.0020.0002.27DE] # LONG LEFT TACK
+27DF ; [*0A10.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
+27E0 ; [*0A11.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
+27E1 ; [*0A12.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
+27E2 ; [*0A13.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+27E3 ; [*0A14.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+27E4 ; [*0A15.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
+27E5 ; [*0A16.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
+27E6 ; [*0A17.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7 ; [*0A18.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8 ; [*0A19.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
+27E9 ; [*0A1A.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
+27EA ; [*0A1B.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB ; [*0A1C.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC ; [*0334.0020.0002.27EC] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED ; [*0335.0020.0002.27ED] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE ; [*0336.0020.0002.27EE] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF ; [*0337.0020.0002.27EF] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0 ; [*0A1D.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
+27F1 ; [*0A1E.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
+27F2 ; [*0A1F.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
+27F3 ; [*0A20.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
+27F4 ; [*0A21.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
+27F5 ; [*0A22.0020.0002.27F5] # LONG LEFTWARDS ARROW
+27F6 ; [*0A23.0020.0002.27F6] # LONG RIGHTWARDS ARROW
+27F7 ; [*0A24.0020.0002.27F7] # LONG LEFT RIGHT ARROW
+27F8 ; [*0A25.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
+27F9 ; [*0A26.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
+27FA ; [*0A27.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
+27FB ; [*0A28.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
+27FC ; [*0A29.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
+27FD ; [*0A2A.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
+27FE ; [*0A2B.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
+27FF ; [*0A2C.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
+2800 ; [*0C6D.0020.0002.2800] # BRAILLE PATTERN BLANK
+2801 ; [*0C6E.0020.0002.2801] # BRAILLE PATTERN DOTS-1
+2802 ; [*0C6F.0020.0002.2802] # BRAILLE PATTERN DOTS-2
+2803 ; [*0C70.0020.0002.2803] # BRAILLE PATTERN DOTS-12
+2804 ; [*0C71.0020.0002.2804] # BRAILLE PATTERN DOTS-3
+2805 ; [*0C72.0020.0002.2805] # BRAILLE PATTERN DOTS-13
+2806 ; [*0C73.0020.0002.2806] # BRAILLE PATTERN DOTS-23
+2807 ; [*0C74.0020.0002.2807] # BRAILLE PATTERN DOTS-123
+2808 ; [*0C75.0020.0002.2808] # BRAILLE PATTERN DOTS-4
+2809 ; [*0C76.0020.0002.2809] # BRAILLE PATTERN DOTS-14
+280A ; [*0C77.0020.0002.280A] # BRAILLE PATTERN DOTS-24
+280B ; [*0C78.0020.0002.280B] # BRAILLE PATTERN DOTS-124
+280C ; [*0C79.0020.0002.280C] # BRAILLE PATTERN DOTS-34
+280D ; [*0C7A.0020.0002.280D] # BRAILLE PATTERN DOTS-134
+280E ; [*0C7B.0020.0002.280E] # BRAILLE PATTERN DOTS-234
+280F ; [*0C7C.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
+2810 ; [*0C7D.0020.0002.2810] # BRAILLE PATTERN DOTS-5
+2811 ; [*0C7E.0020.0002.2811] # BRAILLE PATTERN DOTS-15
+2812 ; [*0C7F.0020.0002.2812] # BRAILLE PATTERN DOTS-25
+2813 ; [*0C80.0020.0002.2813] # BRAILLE PATTERN DOTS-125
+2814 ; [*0C81.0020.0002.2814] # BRAILLE PATTERN DOTS-35
+2815 ; [*0C82.0020.0002.2815] # BRAILLE PATTERN DOTS-135
+2816 ; [*0C83.0020.0002.2816] # BRAILLE PATTERN DOTS-235
+2817 ; [*0C84.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
+2818 ; [*0C85.0020.0002.2818] # BRAILLE PATTERN DOTS-45
+2819 ; [*0C86.0020.0002.2819] # BRAILLE PATTERN DOTS-145
+281A ; [*0C87.0020.0002.281A] # BRAILLE PATTERN DOTS-245
+281B ; [*0C88.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
+281C ; [*0C89.0020.0002.281C] # BRAILLE PATTERN DOTS-345
+281D ; [*0C8A.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
+281E ; [*0C8B.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
+281F ; [*0C8C.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
+2820 ; [*0C8D.0020.0002.2820] # BRAILLE PATTERN DOTS-6
+2821 ; [*0C8E.0020.0002.2821] # BRAILLE PATTERN DOTS-16
+2822 ; [*0C8F.0020.0002.2822] # BRAILLE PATTERN DOTS-26
+2823 ; [*0C90.0020.0002.2823] # BRAILLE PATTERN DOTS-126
+2824 ; [*0C91.0020.0002.2824] # BRAILLE PATTERN DOTS-36
+2825 ; [*0C92.0020.0002.2825] # BRAILLE PATTERN DOTS-136
+2826 ; [*0C93.0020.0002.2826] # BRAILLE PATTERN DOTS-236
+2827 ; [*0C94.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
+2828 ; [*0C95.0020.0002.2828] # BRAILLE PATTERN DOTS-46
+2829 ; [*0C96.0020.0002.2829] # BRAILLE PATTERN DOTS-146
+282A ; [*0C97.0020.0002.282A] # BRAILLE PATTERN DOTS-246
+282B ; [*0C98.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
+282C ; [*0C99.0020.0002.282C] # BRAILLE PATTERN DOTS-346
+282D ; [*0C9A.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
+282E ; [*0C9B.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
+282F ; [*0C9C.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
+2830 ; [*0C9D.0020.0002.2830] # BRAILLE PATTERN DOTS-56
+2831 ; [*0C9E.0020.0002.2831] # BRAILLE PATTERN DOTS-156
+2832 ; [*0C9F.0020.0002.2832] # BRAILLE PATTERN DOTS-256
+2833 ; [*0CA0.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
+2834 ; [*0CA1.0020.0002.2834] # BRAILLE PATTERN DOTS-356
+2835 ; [*0CA2.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
+2836 ; [*0CA3.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
+2837 ; [*0CA4.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
+2838 ; [*0CA5.0020.0002.2838] # BRAILLE PATTERN DOTS-456
+2839 ; [*0CA6.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
+283A ; [*0CA7.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
+283B ; [*0CA8.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
+283C ; [*0CA9.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
+283D ; [*0CAA.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
+283E ; [*0CAB.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
+283F ; [*0CAC.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
+2840 ; [*0CAD.0020.0002.2840] # BRAILLE PATTERN DOTS-7
+2841 ; [*0CAE.0020.0002.2841] # BRAILLE PATTERN DOTS-17
+2842 ; [*0CAF.0020.0002.2842] # BRAILLE PATTERN DOTS-27
+2843 ; [*0CB0.0020.0002.2843] # BRAILLE PATTERN DOTS-127
+2844 ; [*0CB1.0020.0002.2844] # BRAILLE PATTERN DOTS-37
+2845 ; [*0CB2.0020.0002.2845] # BRAILLE PATTERN DOTS-137
+2846 ; [*0CB3.0020.0002.2846] # BRAILLE PATTERN DOTS-237
+2847 ; [*0CB4.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
+2848 ; [*0CB5.0020.0002.2848] # BRAILLE PATTERN DOTS-47
+2849 ; [*0CB6.0020.0002.2849] # BRAILLE PATTERN DOTS-147
+284A ; [*0CB7.0020.0002.284A] # BRAILLE PATTERN DOTS-247
+284B ; [*0CB8.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
+284C ; [*0CB9.0020.0002.284C] # BRAILLE PATTERN DOTS-347
+284D ; [*0CBA.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
+284E ; [*0CBB.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
+284F ; [*0CBC.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
+2850 ; [*0CBD.0020.0002.2850] # BRAILLE PATTERN DOTS-57
+2851 ; [*0CBE.0020.0002.2851] # BRAILLE PATTERN DOTS-157
+2852 ; [*0CBF.0020.0002.2852] # BRAILLE PATTERN DOTS-257
+2853 ; [*0CC0.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
+2854 ; [*0CC1.0020.0002.2854] # BRAILLE PATTERN DOTS-357
+2855 ; [*0CC2.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
+2856 ; [*0CC3.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
+2857 ; [*0CC4.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
+2858 ; [*0CC5.0020.0002.2858] # BRAILLE PATTERN DOTS-457
+2859 ; [*0CC6.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
+285A ; [*0CC7.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
+285B ; [*0CC8.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
+285C ; [*0CC9.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
+285D ; [*0CCA.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
+285E ; [*0CCB.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
+285F ; [*0CCC.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
+2860 ; [*0CCD.0020.0002.2860] # BRAILLE PATTERN DOTS-67
+2861 ; [*0CCE.0020.0002.2861] # BRAILLE PATTERN DOTS-167
+2862 ; [*0CCF.0020.0002.2862] # BRAILLE PATTERN DOTS-267
+2863 ; [*0CD0.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
+2864 ; [*0CD1.0020.0002.2864] # BRAILLE PATTERN DOTS-367
+2865 ; [*0CD2.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
+2866 ; [*0CD3.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
+2867 ; [*0CD4.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
+2868 ; [*0CD5.0020.0002.2868] # BRAILLE PATTERN DOTS-467
+2869 ; [*0CD6.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
+286A ; [*0CD7.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
+286B ; [*0CD8.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
+286C ; [*0CD9.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
+286D ; [*0CDA.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
+286E ; [*0CDB.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
+286F ; [*0CDC.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
+2870 ; [*0CDD.0020.0002.2870] # BRAILLE PATTERN DOTS-567
+2871 ; [*0CDE.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
+2872 ; [*0CDF.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
+2873 ; [*0CE0.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
+2874 ; [*0CE1.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
+2875 ; [*0CE2.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
+2876 ; [*0CE3.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
+2877 ; [*0CE4.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
+2878 ; [*0CE5.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
+2879 ; [*0CE6.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
+287A ; [*0CE7.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
+287B ; [*0CE8.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
+287C ; [*0CE9.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
+287D ; [*0CEA.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
+287E ; [*0CEB.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
+287F ; [*0CEC.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
+2880 ; [*0CED.0020.0002.2880] # BRAILLE PATTERN DOTS-8
+2881 ; [*0CEE.0020.0002.2881] # BRAILLE PATTERN DOTS-18
+2882 ; [*0CEF.0020.0002.2882] # BRAILLE PATTERN DOTS-28
+2883 ; [*0CF0.0020.0002.2883] # BRAILLE PATTERN DOTS-128
+2884 ; [*0CF1.0020.0002.2884] # BRAILLE PATTERN DOTS-38
+2885 ; [*0CF2.0020.0002.2885] # BRAILLE PATTERN DOTS-138
+2886 ; [*0CF3.0020.0002.2886] # BRAILLE PATTERN DOTS-238
+2887 ; [*0CF4.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
+2888 ; [*0CF5.0020.0002.2888] # BRAILLE PATTERN DOTS-48
+2889 ; [*0CF6.0020.0002.2889] # BRAILLE PATTERN DOTS-148
+288A ; [*0CF7.0020.0002.288A] # BRAILLE PATTERN DOTS-248
+288B ; [*0CF8.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
+288C ; [*0CF9.0020.0002.288C] # BRAILLE PATTERN DOTS-348
+288D ; [*0CFA.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
+288E ; [*0CFB.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
+288F ; [*0CFC.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
+2890 ; [*0CFD.0020.0002.2890] # BRAILLE PATTERN DOTS-58
+2891 ; [*0CFE.0020.0002.2891] # BRAILLE PATTERN DOTS-158
+2892 ; [*0CFF.0020.0002.2892] # BRAILLE PATTERN DOTS-258
+2893 ; [*0D00.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
+2894 ; [*0D01.0020.0002.2894] # BRAILLE PATTERN DOTS-358
+2895 ; [*0D02.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
+2896 ; [*0D03.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
+2897 ; [*0D04.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
+2898 ; [*0D05.0020.0002.2898] # BRAILLE PATTERN DOTS-458
+2899 ; [*0D06.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
+289A ; [*0D07.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
+289B ; [*0D08.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
+289C ; [*0D09.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
+289D ; [*0D0A.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
+289E ; [*0D0B.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
+289F ; [*0D0C.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
+28A0 ; [*0D0D.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
+28A1 ; [*0D0E.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
+28A2 ; [*0D0F.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
+28A3 ; [*0D10.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
+28A4 ; [*0D11.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
+28A5 ; [*0D12.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
+28A6 ; [*0D13.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
+28A7 ; [*0D14.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
+28A8 ; [*0D15.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
+28A9 ; [*0D16.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
+28AA ; [*0D17.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
+28AB ; [*0D18.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
+28AC ; [*0D19.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
+28AD ; [*0D1A.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
+28AE ; [*0D1B.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
+28AF ; [*0D1C.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
+28B0 ; [*0D1D.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
+28B1 ; [*0D1E.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
+28B2 ; [*0D1F.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
+28B3 ; [*0D20.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
+28B4 ; [*0D21.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
+28B5 ; [*0D22.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
+28B6 ; [*0D23.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
+28B7 ; [*0D24.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
+28B8 ; [*0D25.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
+28B9 ; [*0D26.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
+28BA ; [*0D27.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
+28BB ; [*0D28.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
+28BC ; [*0D29.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
+28BD ; [*0D2A.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
+28BE ; [*0D2B.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
+28BF ; [*0D2C.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
+28C0 ; [*0D2D.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
+28C1 ; [*0D2E.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
+28C2 ; [*0D2F.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
+28C3 ; [*0D30.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
+28C4 ; [*0D31.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
+28C5 ; [*0D32.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
+28C6 ; [*0D33.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
+28C7 ; [*0D34.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
+28C8 ; [*0D35.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
+28C9 ; [*0D36.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
+28CA ; [*0D37.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
+28CB ; [*0D38.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
+28CC ; [*0D39.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
+28CD ; [*0D3A.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
+28CE ; [*0D3B.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
+28CF ; [*0D3C.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
+28D0 ; [*0D3D.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
+28D1 ; [*0D3E.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
+28D2 ; [*0D3F.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
+28D3 ; [*0D40.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
+28D4 ; [*0D41.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
+28D5 ; [*0D42.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
+28D6 ; [*0D43.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
+28D7 ; [*0D44.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
+28D8 ; [*0D45.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
+28D9 ; [*0D46.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
+28DA ; [*0D47.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
+28DB ; [*0D48.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
+28DC ; [*0D49.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
+28DD ; [*0D4A.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
+28DE ; [*0D4B.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
+28DF ; [*0D4C.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
+28E0 ; [*0D4D.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
+28E1 ; [*0D4E.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
+28E2 ; [*0D4F.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
+28E3 ; [*0D50.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
+28E4 ; [*0D51.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
+28E5 ; [*0D52.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
+28E6 ; [*0D53.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
+28E7 ; [*0D54.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
+28E8 ; [*0D55.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
+28E9 ; [*0D56.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
+28EA ; [*0D57.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
+28EB ; [*0D58.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
+28EC ; [*0D59.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
+28ED ; [*0D5A.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
+28EE ; [*0D5B.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
+28EF ; [*0D5C.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
+28F0 ; [*0D5D.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
+28F1 ; [*0D5E.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
+28F2 ; [*0D5F.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
+28F3 ; [*0D60.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
+28F4 ; [*0D61.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
+28F5 ; [*0D62.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
+28F6 ; [*0D63.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
+28F7 ; [*0D64.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
+28F8 ; [*0D65.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
+28F9 ; [*0D66.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
+28FA ; [*0D67.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
+28FB ; [*0D68.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
+28FC ; [*0D69.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
+28FD ; [*0D6A.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
+28FE ; [*0D6B.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
+28FF ; [*0D6C.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
+2900 ; [*0A2D.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2901 ; [*0A2E.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2902 ; [*0A2F.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2903 ; [*0A30.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2904 ; [*0A31.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+2905 ; [*0A32.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
+2906 ; [*0A33.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
+2907 ; [*0A34.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
+2908 ; [*0A35.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
+2909 ; [*0A36.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
+290A ; [*0A37.0020.0002.290A] # UPWARDS TRIPLE ARROW
+290B ; [*0A38.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
+290C ; [*0A39.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
+290D ; [*0A3A.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
+290E ; [*0A3B.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
+290F ; [*0A3C.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
+2910 ; [*0A3D.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+2911 ; [*0A3E.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
+2912 ; [*0A3F.0020.0002.2912] # UPWARDS ARROW TO BAR
+2913 ; [*0A40.0020.0002.2913] # DOWNWARDS ARROW TO BAR
+2914 ; [*0A41.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2915 ; [*0A42.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2916 ; [*0A43.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+2917 ; [*0A44.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2918 ; [*0A45.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2919 ; [*0A46.0020.0002.2919] # LEFTWARDS ARROW-TAIL
+291A ; [*0A47.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
+291B ; [*0A48.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
+291C ; [*0A49.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
+291D ; [*0A4A.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
+291E ; [*0A4B.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
+291F ; [*0A4C.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2920 ; [*0A4D.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2921 ; [*0A4E.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
+2922 ; [*0A4F.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
+2923 ; [*0A50.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
+2924 ; [*0A51.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
+2925 ; [*0A52.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
+2926 ; [*0A53.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
+2927 ; [*0A54.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
+2928 ; [*0A55.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
+2929 ; [*0A56.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
+292A ; [*0A57.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
+292B ; [*0A58.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
+292C ; [*0A59.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
+292D ; [*0A5A.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+292E ; [*0A5B.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+292F ; [*0A5C.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
+2930 ; [*0A5D.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
+2931 ; [*0A5E.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
+2932 ; [*0A5F.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
+2933 ; [*0A60.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
+2934 ; [*0A61.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935 ; [*0A62.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2936 ; [*0A63.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+2937 ; [*0A64.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+2938 ; [*0A65.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
+2939 ; [*0A66.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
+293A ; [*0A67.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
+293B ; [*0A68.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
+293C ; [*0A69.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
+293D ; [*0A6A.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+293E ; [*0A6B.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
+293F ; [*0A6C.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
+2940 ; [*0A6D.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
+2941 ; [*0A6E.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
+2942 ; [*0A6F.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+2943 ; [*0A70.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+2944 ; [*0A71.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+2945 ; [*0A72.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
+2946 ; [*0A73.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
+2947 ; [*0A74.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
+2948 ; [*0A75.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+2949 ; [*0A76.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+294A ; [*0A77.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
+294B ; [*0A78.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
+294C ; [*0A79.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
+294D ; [*0A7A.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
+294E ; [*0A7B.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
+294F ; [*0A7C.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
+2950 ; [*0A7D.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+2951 ; [*0A7E.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
+2952 ; [*0A7F.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
+2953 ; [*0A80.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
+2954 ; [*0A81.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
+2955 ; [*0A82.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+2956 ; [*0A83.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+2957 ; [*0A84.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+2958 ; [*0A85.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
+2959 ; [*0A86.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+295A ; [*0A87.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
+295B ; [*0A88.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+295C ; [*0A89.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+295D ; [*0A8A.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+295E ; [*0A8B.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+295F ; [*0A8C.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+2960 ; [*0A8D.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
+2961 ; [*0A8E.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+2962 ; [*0A8F.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+2963 ; [*0A90.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2964 ; [*0A91.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2965 ; [*0A92.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+2966 ; [*0A93.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+2967 ; [*0A94.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2968 ; [*0A95.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+2969 ; [*0A96.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+296A ; [*0A97.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296B ; [*0A98.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296C ; [*0A99.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296D ; [*0A9A.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296E ; [*0A9B.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+296F ; [*0A9C.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2970 ; [*0A9D.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+2971 ; [*0A9E.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
+2972 ; [*0A9F.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2973 ; [*0AA0.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
+2974 ; [*0AA1.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+2975 ; [*0AA2.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+2976 ; [*0AA3.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
+2977 ; [*0AA4.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
+2978 ; [*0AA5.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
+2979 ; [*0AA6.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
+297A ; [*0AA7.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
+297B ; [*0AA8.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
+297C ; [*0AA9.0020.0002.297C] # LEFT FISH TAIL
+297D ; [*0AAA.0020.0002.297D] # RIGHT FISH TAIL
+297E ; [*0AAB.0020.0002.297E] # UP FISH TAIL
+297F ; [*0AAC.0020.0002.297F] # DOWN FISH TAIL
+2980 ; [*0AAD.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
+2981 ; [*0AAE.0020.0002.2981] # Z NOTATION SPOT
+2982 ; [*0AAF.0020.0002.2982] # Z NOTATION TYPE COLON
+2983 ; [*031E.0020.0002.2983] # LEFT WHITE CURLY BRACKET
+2984 ; [*031F.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
+2985 ; [*0320.0020.0002.2985] # LEFT WHITE PARENTHESIS
+2986 ; [*0321.0020.0002.2986] # RIGHT WHITE PARENTHESIS
+2987 ; [*0322.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
+2988 ; [*0323.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
+2989 ; [*0324.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
+298A ; [*0325.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
+298B ; [*0326.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
+298C ; [*0327.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
+298D ; [*0328.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E ; [*0329.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F ; [*032A.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990 ; [*032B.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991 ; [*032C.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
+2992 ; [*032D.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
+2993 ; [*032E.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
+2994 ; [*032F.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
+2995 ; [*0330.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996 ; [*0331.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997 ; [*0332.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
+2998 ; [*0333.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
+2999 ; [*0AB0.0020.0002.2999] # DOTTED FENCE
+299A ; [*0AB1.0020.0002.299A] # VERTICAL ZIGZAG LINE
+299B ; [*0AB2.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
+299C ; [*0AB3.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
+299D ; [*0AB4.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
+299E ; [*0AB5.0020.0002.299E] # ANGLE WITH S INSIDE
+299F ; [*0AB6.0020.0002.299F] # ACUTE ANGLE
+29A0 ; [*0AB7.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
+29A1 ; [*0AB8.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
+29A2 ; [*0AB9.0020.0002.29A2] # TURNED ANGLE
+29A3 ; [*0ABA.0020.0002.29A3] # REVERSED ANGLE
+29A4 ; [*0ABB.0020.0002.29A4] # ANGLE WITH UNDERBAR
+29A5 ; [*0ABC.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
+29A6 ; [*0ABD.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
+29A7 ; [*0ABE.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
+29A8 ; [*0ABF.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+29A9 ; [*0AC0.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+29AA ; [*0AC1.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+29AB ; [*0AC2.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+29AC ; [*0AC3.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+29AD ; [*0AC4.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+29AE ; [*0AC5.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+29AF ; [*0AC6.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+29B0 ; [*0AC7.0020.0002.29B0] # REVERSED EMPTY SET
+29B1 ; [*0AC8.0020.0002.29B1] # EMPTY SET WITH OVERBAR
+29B2 ; [*0AC9.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
+29B3 ; [*0ACA.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
+29B4 ; [*0ACB.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
+29B5 ; [*0ACC.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
+29B6 ; [*0ACD.0020.0002.29B6] # CIRCLED VERTICAL BAR
+29B7 ; [*0ACE.0020.0002.29B7] # CIRCLED PARALLEL
+29B8 ; [*0ACF.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
+29B9 ; [*0AD0.0020.0002.29B9] # CIRCLED PERPENDICULAR
+29BA ; [*0AD1.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
+29BB ; [*0AD2.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
+29BC ; [*0AD3.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+29BD ; [*0AD4.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
+29BE ; [*0AD5.0020.0002.29BE] # CIRCLED WHITE BULLET
+29BF ; [*0AD6.0020.0002.29BF] # CIRCLED BULLET
+29C0 ; [*0AD7.0020.0002.29C0] # CIRCLED LESS-THAN
+29C1 ; [*0AD8.0020.0002.29C1] # CIRCLED GREATER-THAN
+29C2 ; [*0AD9.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+29C3 ; [*0ADA.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+29C4 ; [*0ADB.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
+29C5 ; [*0ADC.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
+29C6 ; [*0ADD.0020.0002.29C6] # SQUARED ASTERISK
+29C7 ; [*0ADE.0020.0002.29C7] # SQUARED SMALL CIRCLE
+29C8 ; [*0ADF.0020.0002.29C8] # SQUARED SQUARE
+29C9 ; [*0AE0.0020.0002.29C9] # TWO JOINED SQUARES
+29CA ; [*0AE1.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
+29CB ; [*0AE2.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
+29CC ; [*0AE3.0020.0002.29CC] # S IN TRIANGLE
+29CD ; [*0AE4.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
+29CE ; [*0AE5.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+29CF ; [*0AE6.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
+29D0 ; [*0AE7.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
+29D1 ; [*0AE8.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
+29D2 ; [*0AE9.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
+29D3 ; [*0AEA.0020.0002.29D3] # BLACK BOWTIE
+29D4 ; [*0AEB.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
+29D5 ; [*0AEC.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
+29D6 ; [*0AED.0020.0002.29D6] # WHITE HOURGLASS
+29D7 ; [*0AEE.0020.0002.29D7] # BLACK HOURGLASS
+29D8 ; [*0AEF.0020.0002.29D8] # LEFT WIGGLY FENCE
+29D9 ; [*0AF0.0020.0002.29D9] # RIGHT WIGGLY FENCE
+29DA ; [*0AF1.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
+29DB ; [*0AF2.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
+29DC ; [*0AF3.0020.0002.29DC] # INCOMPLETE INFINITY
+29DD ; [*0AF4.0020.0002.29DD] # TIE OVER INFINITY
+29DE ; [*0AF5.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
+29DF ; [*0AF6.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
+29E0 ; [*0AF7.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
+29E1 ; [*0AF8.0020.0002.29E1] # INCREASES AS
+29E2 ; [*0AF9.0020.0002.29E2] # SHUFFLE PRODUCT
+29E3 ; [*0AFA.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
+29E4 ; [*0AFB.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+29E5 ; [*0AFC.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
+29E6 ; [*0AFD.0020.0002.29E6] # GLEICH STARK
+29E7 ; [*0AFE.0020.0002.29E7] # THERMODYNAMIC
+29E8 ; [*0AFF.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+29E9 ; [*0B00.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+29EA ; [*0B01.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
+29EB ; [*0B02.0020.0002.29EB] # BLACK LOZENGE
+29EC ; [*0B03.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
+29ED ; [*0B04.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
+29EE ; [*0B05.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
+29EF ; [*0B06.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
+29F0 ; [*0B07.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
+29F1 ; [*0B08.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
+29F2 ; [*0B09.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
+29F3 ; [*0B0A.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
+29F4 ; [*0B0B.0020.0002.29F4] # RULE-DELAYED
+29F5 ; [*0B0C.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
+29F6 ; [*0B0D.0020.0002.29F6] # SOLIDUS WITH OVERBAR
+29F7 ; [*0B0E.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
+29F8 ; [*0B0F.0020.0002.29F8] # BIG SOLIDUS
+29F9 ; [*0B10.0020.0002.29F9] # BIG REVERSE SOLIDUS
+29FA ; [*0B11.0020.0002.29FA] # DOUBLE PLUS
+29FB ; [*0B12.0020.0002.29FB] # TRIPLE PLUS
+29FC ; [*031C.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
+29FD ; [*031D.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
+29FE ; [*0B13.0020.0002.29FE] # TINY
+29FF ; [*0B14.0020.0002.29FF] # MINY
+2A00 ; [*0B15.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
+2A01 ; [*0B16.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
+2A02 ; [*0B17.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
+2A03 ; [*0B18.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
+2A04 ; [*0B19.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
+2A05 ; [*0B1A.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
+2A06 ; [*0B1B.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
+2A07 ; [*0B1C.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
+2A08 ; [*0B1D.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
+2A09 ; [*0B1E.0020.0002.2A09] # N-ARY TIMES OPERATOR
+2A0A ; [*0B1F.0020.0002.2A0A] # MODULO TWO SUM
+2A0B ; [*0B20.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
+2A0C ; [*058F.0020.0004.2A0C][*058F.0020.0004.2A0C][*058F.0020.001F.2A0C][*058F.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR; QQKN
+2A0D ; [*0B21.0020.0002.2A0D] # FINITE PART INTEGRAL
+2A0E ; [*0B22.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
+2A0F ; [*0B23.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
+2A10 ; [*0B24.0020.0002.2A10] # CIRCULATION FUNCTION
+2A11 ; [*0B25.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
+2A12 ; [*0B26.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+2A13 ; [*0B27.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+2A14 ; [*0B28.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
+2A15 ; [*0B29.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
+2A16 ; [*0B2A.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
+2A17 ; [*0B2B.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+2A18 ; [*0B2C.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
+2A19 ; [*0B2D.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
+2A1A ; [*0B2E.0020.0002.2A1A] # INTEGRAL WITH UNION
+2A1B ; [*0B2F.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
+2A1C ; [*0B30.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
+2A1D ; [*0B31.0020.0002.2A1D] # JOIN
+2A1E ; [*0B32.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
+2A1F ; [*0B33.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
+2A20 ; [*0B34.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
+2A21 ; [*0B35.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
+2A22 ; [*0B36.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
+2A23 ; [*0B37.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+2A24 ; [*0B38.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
+2A25 ; [*0B39.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
+2A26 ; [*0B3A.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
+2A27 ; [*0B3B.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
+2A28 ; [*0B3C.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
+2A29 ; [*0B3D.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
+2A2A ; [*0B3E.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
+2A2B ; [*0B3F.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
+2A2C ; [*0B40.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
+2A2D ; [*0B41.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
+2A2E ; [*0B42.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
+2A2F ; [*0B43.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
+2A30 ; [*0B44.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
+2A31 ; [*0B45.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
+2A32 ; [*0B46.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+2A33 ; [*0B47.0020.0002.2A33] # SMASH PRODUCT
+2A34 ; [*0B48.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+2A35 ; [*0B49.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+2A36 ; [*0B4A.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+2A37 ; [*0B4B.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
+2A38 ; [*0B4C.0020.0002.2A38] # CIRCLED DIVISION SIGN
+2A39 ; [*0B4D.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
+2A3A ; [*0B4E.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
+2A3B ; [*0B4F.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
+2A3C ; [*0B50.0020.0002.2A3C] # INTERIOR PRODUCT
+2A3D ; [*0B51.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
+2A3E ; [*0B52.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
+2A3F ; [*0B53.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
+2A40 ; [*0B54.0020.0002.2A40] # INTERSECTION WITH DOT
+2A41 ; [*0B55.0020.0002.2A41] # UNION WITH MINUS SIGN
+2A42 ; [*0B56.0020.0002.2A42] # UNION WITH OVERBAR
+2A43 ; [*0B57.0020.0002.2A43] # INTERSECTION WITH OVERBAR
+2A44 ; [*0B58.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
+2A45 ; [*0B59.0020.0002.2A45] # UNION WITH LOGICAL OR
+2A46 ; [*0B5A.0020.0002.2A46] # UNION ABOVE INTERSECTION
+2A47 ; [*0B5B.0020.0002.2A47] # INTERSECTION ABOVE UNION
+2A48 ; [*0B5C.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
+2A49 ; [*0B5D.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
+2A4A ; [*0B5E.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
+2A4B ; [*0B5F.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+2A4C ; [*0B60.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
+2A4D ; [*0B61.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
+2A4E ; [*0B62.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
+2A4F ; [*0B63.0020.0002.2A4F] # DOUBLE SQUARE UNION
+2A50 ; [*0B64.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+2A51 ; [*0B65.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
+2A52 ; [*0B66.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
+2A53 ; [*0B67.0020.0002.2A53] # DOUBLE LOGICAL AND
+2A54 ; [*0B68.0020.0002.2A54] # DOUBLE LOGICAL OR
+2A55 ; [*0B69.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
+2A56 ; [*0B6A.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
+2A57 ; [*0B6B.0020.0002.2A57] # SLOPING LARGE OR
+2A58 ; [*0B6C.0020.0002.2A58] # SLOPING LARGE AND
+2A59 ; [*0B6D.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
+2A5A ; [*0B6E.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
+2A5B ; [*0B6F.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
+2A5C ; [*0B70.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
+2A5D ; [*0B71.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
+2A5E ; [*0B72.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
+2A5F ; [*0B73.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
+2A60 ; [*0B74.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
+2A61 ; [*0B75.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
+2A62 ; [*0B76.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
+2A63 ; [*0B77.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
+2A64 ; [*0B78.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
+2A65 ; [*0B79.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
+2A66 ; [*0B7A.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
+2A67 ; [*0B7B.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
+2A68 ; [*0B7C.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
+2A69 ; [*0B7D.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
+2A6A ; [*0B7E.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
+2A6B ; [*0B7F.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
+2A6C ; [*0B80.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
+2A6D ; [*0B81.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
+2A6E ; [*0B82.0020.0002.2A6E] # EQUALS WITH ASTERISK
+2A6F ; [*0B83.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+2A70 ; [*0B84.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
+2A71 ; [*0B85.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
+2A72 ; [*0B86.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
+2A73 ; [*0B87.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
+2A74 ; [*0254.0020.0004.2A74][*0254.0020.0004.2A74][*056F.0020.001F.2A74] # DOUBLE COLON EQUAL; QQKN
+2A75 ; [*056F.0020.0004.2A75][*056F.0020.0004.2A75] # TWO CONSECUTIVE EQUALS SIGNS; QQKN
+2A76 ; [*056F.0020.0004.2A76][*056F.0020.0004.2A76][*056F.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS; QQKN
+2A77 ; [*0B88.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+2A78 ; [*0B89.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
+2A79 ; [*0B8A.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
+2A7A ; [*0B8B.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
+2A7B ; [*0B8C.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
+2A7C ; [*0B8D.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
+2A7D ; [*0B8E.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
+2A7E ; [*0B8F.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
+2A7F ; [*0B90.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A80 ; [*0B91.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A81 ; [*0B92.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A82 ; [*0B93.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A83 ; [*0B94.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+2A84 ; [*0B95.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+2A85 ; [*0B96.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
+2A86 ; [*0B97.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
+2A87 ; [*0B98.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+2A88 ; [*0B99.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+2A89 ; [*0B9A.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
+2A8A ; [*0B9B.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
+2A8B ; [*0B9C.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+2A8C ; [*0B9D.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+2A8D ; [*0B9E.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
+2A8E ; [*0B9F.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
+2A8F ; [*0BA0.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+2A90 ; [*0BA1.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+2A91 ; [*0BA2.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+2A92 ; [*0BA3.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+2A93 ; [*0BA4.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+2A94 ; [*0BA5.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+2A95 ; [*0BA6.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
+2A96 ; [*0BA7.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
+2A97 ; [*0BA8.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+2A98 ; [*0BA9.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+2A99 ; [*0BAA.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
+2A9A ; [*0BAB.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
+2A9B ; [*0BAC.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+2A9C ; [*0BAD.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+2A9D ; [*0BAE.0020.0002.2A9D] # SIMILAR OR LESS-THAN
+2A9E ; [*0BAF.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
+2A9F ; [*0BB0.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+2AA0 ; [*0BB1.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+2AA1 ; [*0BB2.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
+2AA2 ; [*0BB3.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
+2AA3 ; [*0BB4.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
+2AA4 ; [*0BB5.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
+2AA5 ; [*0BB6.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
+2AA6 ; [*0BB7.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
+2AA7 ; [*0BB8.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
+2AA8 ; [*0BB9.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AA9 ; [*0BBA.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AAA ; [*0BBB.0020.0002.2AAA] # SMALLER THAN
+2AAB ; [*0BBC.0020.0002.2AAB] # LARGER THAN
+2AAC ; [*0BBD.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
+2AAD ; [*0BBE.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
+2AAE ; [*0BBF.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
+2AAF ; [*0BC0.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+2AB0 ; [*0BC1.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+2AB1 ; [*0BC2.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+2AB2 ; [*0BC3.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
+2AB3 ; [*0BC4.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
+2AB4 ; [*0BC5.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
+2AB5 ; [*0BC6.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
+2AB6 ; [*0BC7.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
+2AB7 ; [*0BC8.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
+2AB8 ; [*0BC9.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
+2AB9 ; [*0BCA.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
+2ABA ; [*0BCB.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+2ABB ; [*0BCC.0020.0002.2ABB] # DOUBLE PRECEDES
+2ABC ; [*0BCD.0020.0002.2ABC] # DOUBLE SUCCEEDS
+2ABD ; [*0BCE.0020.0002.2ABD] # SUBSET WITH DOT
+2ABE ; [*0BCF.0020.0002.2ABE] # SUPERSET WITH DOT
+2ABF ; [*0BD0.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
+2AC0 ; [*0BD1.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
+2AC1 ; [*0BD2.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
+2AC2 ; [*0BD3.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
+2AC3 ; [*0BD4.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
+2AC4 ; [*0BD5.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+2AC5 ; [*0BD6.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
+2AC6 ; [*0BD7.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
+2AC7 ; [*0BD8.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
+2AC8 ; [*0BD9.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
+2AC9 ; [*0BDA.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
+2ACA ; [*0BDB.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
+2ACB ; [*0BDC.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
+2ACC ; [*0BDD.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
+2ACD ; [*0BDE.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
+2ACE ; [*0BDF.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
+2ACF ; [*0BE0.0020.0002.2ACF] # CLOSED SUBSET
+2AD0 ; [*0BE1.0020.0002.2AD0] # CLOSED SUPERSET
+2AD1 ; [*0BE2.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
+2AD2 ; [*0BE3.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
+2AD3 ; [*0BE4.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
+2AD4 ; [*0BE5.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
+2AD5 ; [*0BE6.0020.0002.2AD5] # SUBSET ABOVE SUBSET
+2AD6 ; [*0BE7.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
+2AD7 ; [*0BE8.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
+2AD8 ; [*0BE9.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+2AD9 ; [*0BEA.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
+2ADA ; [*0BEB.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
+2ADB ; [*0BEC.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
+2ADC ; [*0BED.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING; QQCM
+2ADD ; [*0BED.0020.0002.2ADD] # NONFORKING
+2ADE ; [*0BEE.0020.0002.2ADE] # SHORT LEFT TACK
+2ADF ; [*0BEF.0020.0002.2ADF] # SHORT DOWN TACK
+2AE0 ; [*0BF0.0020.0002.2AE0] # SHORT UP TACK
+2AE1 ; [*0BF1.0020.0002.2AE1] # PERPENDICULAR WITH S
+2AE2 ; [*0BF2.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
+2AE3 ; [*0BF3.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
+2AE4 ; [*0BF4.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE5 ; [*0BF5.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE6 ; [*0BF6.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+2AE7 ; [*0BF7.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
+2AE8 ; [*0BF8.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
+2AE9 ; [*0BF9.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
+2AEA ; [*0BFA.0020.0002.2AEA] # DOUBLE DOWN TACK
+2AEB ; [*0BFB.0020.0002.2AEB] # DOUBLE UP TACK
+2AEC ; [*0BFC.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
+2AED ; [*0BFD.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
+2AEE ; [*0BFE.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+2AEF ; [*0BFF.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
+2AF0 ; [*0C00.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
+2AF1 ; [*0C01.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
+2AF2 ; [*0C02.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
+2AF3 ; [*0C03.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
+2AF4 ; [*0C04.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
+2AF5 ; [*0C05.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
+2AF6 ; [*0C06.0020.0002.2AF6] # TRIPLE COLON OPERATOR
+2AF7 ; [*0C07.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
+2AF8 ; [*0C08.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
+2AF9 ; [*0C09.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+2AFA ; [*0C0A.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+2AFB ; [*0C0B.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
+2AFC ; [*0C0C.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
+2AFD ; [*0C0D.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
+2AFE ; [*0C0E.0020.0002.2AFE] # WHITE VERTICAL BAR
+2AFF ; [*0C0F.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
+2B00 ; [*0C10.0020.0002.2B00] # NORTH EAST WHITE ARROW
+2B01 ; [*0C11.0020.0002.2B01] # NORTH WEST WHITE ARROW
+2B02 ; [*0C12.0020.0002.2B02] # SOUTH EAST WHITE ARROW
+2B03 ; [*0C13.0020.0002.2B03] # SOUTH WEST WHITE ARROW
+2B04 ; [*0C14.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
+2B05 ; [*0C15.0020.0002.2B05] # LEFTWARDS BLACK ARROW
+2B06 ; [*0C16.0020.0002.2B06] # UPWARDS BLACK ARROW
+2B07 ; [*0C17.0020.0002.2B07] # DOWNWARDS BLACK ARROW
+2B08 ; [*0C18.0020.0002.2B08] # NORTH EAST BLACK ARROW
+2B09 ; [*0C19.0020.0002.2B09] # NORTH WEST BLACK ARROW
+2B0A ; [*0C1A.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
+2B0B ; [*0C1B.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
+2B0C ; [*0C1C.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
+2B0D ; [*0C1D.0020.0002.2B0D] # UP DOWN BLACK ARROW
+2B0E ; [*0C1E.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
+2B0F ; [*0C1F.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
+2B10 ; [*0C20.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
+2B11 ; [*0C21.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
+2B12 ; [*0C22.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
+2B13 ; [*0C23.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
+2B14 ; [*0C24.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
+2B15 ; [*0C25.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
+2B16 ; [*0C26.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
+2B17 ; [*0C27.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
+2B18 ; [*0C28.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
+2B19 ; [*0C29.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
+2B1A ; [*0C2A.0020.0002.2B1A] # DOTTED SQUARE
+2B1B ; [*0C2B.0020.0002.2B1B] # BLACK LARGE SQUARE
+2B1C ; [*0C2C.0020.0002.2B1C] # WHITE LARGE SQUARE
+2B1D ; [*0C2D.0020.0002.2B1D] # BLACK VERY SMALL SQUARE
+2B1E ; [*0C2E.0020.0002.2B1E] # WHITE VERY SMALL SQUARE
+2B1F ; [*0C2F.0020.0002.2B1F] # BLACK PENTAGON
+2B20 ; [*0C30.0020.0002.2B20] # WHITE PENTAGON
+2B21 ; [*0C31.0020.0002.2B21] # WHITE HEXAGON
+2B22 ; [*0C32.0020.0002.2B22] # BLACK HEXAGON
+2B23 ; [*0C33.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
+2B24 ; [*0C34.0020.0002.2B24] # BLACK LARGE CIRCLE
+2B25 ; [*0C35.0020.0002.2B25] # BLACK MEDIUM DIAMOND
+2B26 ; [*0C36.0020.0002.2B26] # WHITE MEDIUM DIAMOND
+2B27 ; [*0C37.0020.0002.2B27] # BLACK MEDIUM LOZENGE
+2B28 ; [*0C38.0020.0002.2B28] # WHITE MEDIUM LOZENGE
+2B29 ; [*0C39.0020.0002.2B29] # BLACK SMALL DIAMOND
+2B2A ; [*0C3A.0020.0002.2B2A] # BLACK SMALL LOZENGE
+2B2B ; [*0C3B.0020.0002.2B2B] # WHITE SMALL LOZENGE
+2B2C ; [*0C3C.0020.0002.2B2C] # BLACK HORIZONTAL ELLIPSE
+2B2D ; [*0C3D.0020.0002.2B2D] # WHITE HORIZONTAL ELLIPSE
+2B2E ; [*0C3E.0020.0002.2B2E] # BLACK VERTICAL ELLIPSE
+2B2F ; [*0C3F.0020.0002.2B2F] # WHITE VERTICAL ELLIPSE
+2B30 ; [*0C40.0020.0002.2B30] # LEFT ARROW WITH SMALL CIRCLE
+2B31 ; [*0C41.0020.0002.2B31] # THREE LEFTWARDS ARROWS
+2B32 ; [*0C42.0020.0002.2B32] # LEFT ARROW WITH CIRCLED PLUS
+2B33 ; [*0C43.0020.0002.2B33] # LONG LEFTWARDS SQUIGGLE ARROW
+2B34 ; [*0C44.0020.0002.2B34] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2B35 ; [*0C45.0020.0002.2B35] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2B36 ; [*0C46.0020.0002.2B36] # LEFTWARDS TWO-HEADED ARROW FROM BAR
+2B37 ; [*0C47.0020.0002.2B37] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
+2B38 ; [*0C48.0020.0002.2B38] # LEFTWARDS ARROW WITH DOTTED STEM
+2B39 ; [*0C49.0020.0002.2B39] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2B3A ; [*0C4A.0020.0002.2B3A] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3B ; [*0C4B.0020.0002.2B3B] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
+2B3C ; [*0C4C.0020.0002.2B3C] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2B3D ; [*0C4D.0020.0002.2B3D] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3E ; [*0C4E.0020.0002.2B3E] # LEFTWARDS ARROW THROUGH X
+2B3F ; [*0C4F.0020.0002.2B3F] # WAVE ARROW POINTING DIRECTLY LEFT
+2B40 ; [*0C50.0020.0002.2B40] # EQUALS SIGN ABOVE LEFTWARDS ARROW
+2B41 ; [*0C51.0020.0002.2B41] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B42 ; [*0C52.0020.0002.2B42] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B43 ; [*0C53.0020.0002.2B43] # RIGHTWARDS ARROW THROUGH GREATER-THAN
+2B44 ; [*0C54.0020.0002.2B44] # RIGHTWARDS ARROW THROUGH SUPERSET
+2B45 ; [*0C55.0020.0002.2B45] # LEFTWARDS QUADRUPLE ARROW
+2B46 ; [*0C56.0020.0002.2B46] # RIGHTWARDS QUADRUPLE ARROW
+2B47 ; [*0C57.0020.0002.2B47] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2B48 ; [*0C58.0020.0002.2B48] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B49 ; [*0C59.0020.0002.2B49] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B4A ; [*0C5A.0020.0002.2B4A] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
+2B4B ; [*0C5B.0020.0002.2B4B] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4C ; [*0C5C.0020.0002.2B4C] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B50 ; [*0C5D.0020.0002.2B50] # WHITE MEDIUM STAR
+2B51 ; [*0C5E.0020.0002.2B51] # BLACK SMALL STAR
+2B52 ; [*0C5F.0020.0002.2B52] # WHITE SMALL STAR
+2B53 ; [*0C60.0020.0002.2B53] # BLACK RIGHT-POINTING PENTAGON
+2B54 ; [*0C61.0020.0002.2B54] # WHITE RIGHT-POINTING PENTAGON
+2B55 ; [*0C62.0020.0002.2B55] # HEAVY LARGE CIRCLE
+2B56 ; [*0C63.0020.0002.2B56] # HEAVY OVAL WITH OVAL INSIDE
+2B57 ; [*0C64.0020.0002.2B57] # HEAVY CIRCLE WITH CIRCLE INSIDE
+2B58 ; [*0C65.0020.0002.2B58] # HEAVY CIRCLE
+2B59 ; [*0C66.0020.0002.2B59] # HEAVY CIRCLED SALTIRE
+2CE5 ; [*0C67.0020.0002.2CE5] # COPTIC SYMBOL MI RO
+2CE6 ; [*0C68.0020.0002.2CE6] # COPTIC SYMBOL PI RO
+2CE7 ; [*0C69.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
+2CE8 ; [*0C6A.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
+2CE9 ; [*0C6B.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
+2CEA ; [*0C6C.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
+2CF9 ; [*0298.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
+2CFA ; [*0288.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
+2CFB ; [*0289.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+2CFC ; [*02EF.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
+2CFD ; [*14D4.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
+2CFE ; [*0299.0020.0002.2CFE] # COPTIC FULL STOP
+2CFF ; [*02F0.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
+2D70 ; [*03EA.0020.0002.2D70] # TIFINAGH SEPARATOR MARK
+2D7F ; [.0000.0000.0000.2D7F] # TIFINAGH CONSONANT JOINER
+2E00 ; [*038D.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
+2E01 ; [*038E.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+2E02 ; [*0338.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
+2E03 ; [*0339.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
+2E04 ; [*033A.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
+2E05 ; [*033B.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
+2E06 ; [*038F.0020.0002.2E06] # RAISED INTERPOLATION MARKER
+2E07 ; [*0390.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
+2E08 ; [*0391.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
+2E09 ; [*033C.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
+2E0A ; [*033D.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
+2E0B ; [*0392.0020.0002.2E0B] # RAISED SQUARE
+2E0C ; [*033E.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
+2E0D ; [*033F.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
+2E0E ; [*0393.0020.0002.2E0E] # EDITORIAL CORONIS
+2E0F ; [*0394.0020.0002.2E0F] # PARAGRAPHOS
+2E10 ; [*0395.0020.0002.2E10] # FORKED PARAGRAPHOS
+2E11 ; [*0396.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
+2E12 ; [*0397.0020.0002.2E12] # HYPODIASTOLE
+2E13 ; [*0398.0020.0002.2E13] # DOTTED OBELOS
+2E14 ; [*0399.0020.0002.2E14] # DOWNWARDS ANCORA
+2E15 ; [*039A.0020.0002.2E15] # UPWARDS ANCORA
+2E16 ; [*039B.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
+2E17 ; [*023C.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
+2E18 ; [*028D.0020.0002.2E18] # INVERTED INTERROBANG
+2E19 ; [*02F1.0020.0002.2E19] # PALM BRANCH
+2E1A ; [*039C.0020.0002.2E1A] # HYPHEN WITH DIAERESIS
+2E1B ; [*039D.0020.0002.2E1B] # TILDE WITH RING ABOVE
+2E1C ; [*0340.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
+2E1D ; [*0341.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
+2E1E ; [*039E.0020.0002.2E1E] # TILDE WITH DOT ABOVE
+2E1F ; [*039F.0020.0002.2E1F] # TILDE WITH DOT BELOW
+2E20 ; [*0342.0020.0002.2E20] # LEFT VERTICAL BAR WITH QUILL
+2E21 ; [*0343.0020.0002.2E21] # RIGHT VERTICAL BAR WITH QUILL
+2E22 ; [*0344.0020.0002.2E22] # TOP LEFT HALF BRACKET
+2E23 ; [*0345.0020.0002.2E23] # TOP RIGHT HALF BRACKET
+2E24 ; [*0346.0020.0002.2E24] # BOTTOM LEFT HALF BRACKET
+2E25 ; [*0347.0020.0002.2E25] # BOTTOM RIGHT HALF BRACKET
+2E26 ; [*0348.0020.0002.2E26] # LEFT SIDEWAYS U BRACKET
+2E27 ; [*0349.0020.0002.2E27] # RIGHT SIDEWAYS U BRACKET
+2E28 ; [*034A.0020.0002.2E28] # LEFT DOUBLE PARENTHESIS
+2E29 ; [*034B.0020.0002.2E29] # RIGHT DOUBLE PARENTHESIS
+2E2A ; [*02EB.0020.0002.2E2A] # TWO DOTS OVER ONE DOT PUNCTUATION
+2E2B ; [*02EC.0020.0002.2E2B] # ONE DOT OVER TWO DOTS PUNCTUATION
+2E2C ; [*02ED.0020.0002.2E2C] # SQUARED FOUR DOT PUNCTUATION
+2E2D ; [*02EE.0020.0002.2E2D] # FIVE DOT MARK
+2E2E ; [*0282.0020.0002.2E2E] # REVERSED QUESTION MARK
+2E30 ; [*029A.0020.0002.2E30] # RING POINT
+2E31 ; [*02A0.0020.0002.2E31] # WORD SEPARATOR MIDDLE DOT
+2FF0 ; [*1456.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+2FF1 ; [*1457.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+2FF2 ; [*1458.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+2FF3 ; [*1459.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+2FF4 ; [*145A.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+2FF5 ; [*145B.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+2FF6 ; [*145C.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+2FF7 ; [*145D.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+2FF8 ; [*145E.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+2FF9 ; [*145F.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+2FFA ; [*1460.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+2FFB ; [*1461.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+3000 ; [*020A.0020.0003.3000] # IDEOGRAPHIC SPACE; QQK
+3001 ; [*024D.0020.0002.3001] # IDEOGRAPHIC COMMA
+3002 ; [*029E.0020.0002.3002] # IDEOGRAPHIC FULL STOP
+3003 ; [*0383.0020.0002.3003] # DITTO MARK
+3004 ; [*1486.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
+3008 ; [*034C.0020.0002.3008] # LEFT ANGLE BRACKET
+3009 ; [*034D.0020.0002.3009] # RIGHT ANGLE BRACKET
+300A ; [*034E.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
+300B ; [*034F.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
+300C ; [*0350.0020.0002.300C] # LEFT CORNER BRACKET
+300D ; [*0351.0020.0002.300D] # RIGHT CORNER BRACKET
+300E ; [*0352.0020.0002.300E] # LEFT WHITE CORNER BRACKET
+300F ; [*0353.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
+3010 ; [*0354.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
+3011 ; [*0355.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
+3012 ; [*1487.0020.0002.3012] # POSTAL MARK
+3013 ; [*1488.0020.0002.3013] # GETA MARK
+3014 ; [*0356.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
+3015 ; [*0357.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
+3016 ; [*0358.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
+3017 ; [*0359.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
+3018 ; [*035A.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
+3019 ; [*035B.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
+301A ; [*035C.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
+301B ; [*035D.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
+301C ; [*023D.0020.0002.301C] # WAVE DASH
+301D ; [*0309.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
+301E ; [*030A.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
+301F ; [*030B.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
+3020 ; [*1489.0020.0002.3020] # POSTAL MARK FACE
+3030 ; [*023E.0020.0002.3030] # WAVY DASH
+3036 ; [*1487.0020.0004.3036] # CIRCLED POSTAL MARK; QQK
+3037 ; [*148A.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+303D ; [*0384.0020.0002.303D] # PART ALTERNATION MARK
+303E ; [*148B.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
+303F ; [*148C.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
+309B ; [*022E.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
+309C ; [*022F.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+30A0 ; [*023F.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
+30FB ; [*0240.0020.0002.30FB] # KATAKANA MIDDLE DOT
+3190 ; [*148D.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
+3191 ; [*148E.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
+31C0 ; [*1462.0020.0002.31C0] # CJK STROKE T
+31C1 ; [*1463.0020.0002.31C1] # CJK STROKE WG
+31C2 ; [*1464.0020.0002.31C2] # CJK STROKE XG
+31C3 ; [*1465.0020.0002.31C3] # CJK STROKE BXG
+31C4 ; [*1466.0020.0002.31C4] # CJK STROKE SW
+31C5 ; [*1467.0020.0002.31C5] # CJK STROKE HZZ
+31C6 ; [*1468.0020.0002.31C6] # CJK STROKE HZG
+31C7 ; [*1469.0020.0002.31C7] # CJK STROKE HP
+31C8 ; [*146A.0020.0002.31C8] # CJK STROKE HZWG
+31C9 ; [*146B.0020.0002.31C9] # CJK STROKE SZWG
+31CA ; [*146C.0020.0002.31CA] # CJK STROKE HZT
+31CB ; [*146D.0020.0002.31CB] # CJK STROKE HZZP
+31CC ; [*146E.0020.0002.31CC] # CJK STROKE HPWG
+31CD ; [*146F.0020.0002.31CD] # CJK STROKE HZW
+31CE ; [*1470.0020.0002.31CE] # CJK STROKE HZZZ
+31CF ; [*1471.0020.0002.31CF] # CJK STROKE N
+31D0 ; [*1472.0020.0002.31D0] # CJK STROKE H
+31D1 ; [*1473.0020.0002.31D1] # CJK STROKE S
+31D2 ; [*1474.0020.0002.31D2] # CJK STROKE P
+31D3 ; [*1475.0020.0002.31D3] # CJK STROKE SP
+31D4 ; [*1476.0020.0002.31D4] # CJK STROKE D
+31D5 ; [*1477.0020.0002.31D5] # CJK STROKE HZ
+31D6 ; [*1478.0020.0002.31D6] # CJK STROKE HG
+31D7 ; [*1479.0020.0002.31D7] # CJK STROKE SZ
+31D8 ; [*147A.0020.0002.31D8] # CJK STROKE SWZ
+31D9 ; [*147B.0020.0002.31D9] # CJK STROKE ST
+31DA ; [*147C.0020.0002.31DA] # CJK STROKE SG
+31DB ; [*147D.0020.0002.31DB] # CJK STROKE PD
+31DC ; [*147E.0020.0002.31DC] # CJK STROKE PZ
+31DD ; [*147F.0020.0002.31DD] # CJK STROKE TN
+31DE ; [*1480.0020.0002.31DE] # CJK STROKE SZZ
+31DF ; [*1481.0020.0002.31DF] # CJK STROKE SWG
+31E0 ; [*1482.0020.0002.31E0] # CJK STROKE HXWG
+31E1 ; [*1483.0020.0002.31E1] # CJK STROKE HZZZG
+31E2 ; [*1484.0020.0002.31E2] # CJK STROKE PG
+31E3 ; [*1485.0020.0002.31E3] # CJK STROKE Q
+327F ; [*148F.0020.0002.327F] # KOREAN STANDARD SYMBOL
+4DC0 ; [*0D7B.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
+4DC1 ; [*0D7C.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
+4DC2 ; [*0D7D.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
+4DC3 ; [*0D7E.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
+4DC4 ; [*0D7F.0020.0002.4DC4] # HEXAGRAM FOR WAITING
+4DC5 ; [*0D80.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
+4DC6 ; [*0D81.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
+4DC7 ; [*0D82.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
+4DC8 ; [*0D83.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
+4DC9 ; [*0D84.0020.0002.4DC9] # HEXAGRAM FOR TREADING
+4DCA ; [*0D85.0020.0002.4DCA] # HEXAGRAM FOR PEACE
+4DCB ; [*0D86.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
+4DCC ; [*0D87.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
+4DCD ; [*0D88.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
+4DCE ; [*0D89.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
+4DCF ; [*0D8A.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
+4DD0 ; [*0D8B.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
+4DD1 ; [*0D8C.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
+4DD2 ; [*0D8D.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
+4DD3 ; [*0D8E.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
+4DD4 ; [*0D8F.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
+4DD5 ; [*0D90.0020.0002.4DD5] # HEXAGRAM FOR GRACE
+4DD6 ; [*0D91.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
+4DD7 ; [*0D92.0020.0002.4DD7] # HEXAGRAM FOR RETURN
+4DD8 ; [*0D93.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
+4DD9 ; [*0D94.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
+4DDA ; [*0D95.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
+4DDB ; [*0D96.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
+4DDC ; [*0D97.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
+4DDD ; [*0D98.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
+4DDE ; [*0D99.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
+4DDF ; [*0D9A.0020.0002.4DDF] # HEXAGRAM FOR DURATION
+4DE0 ; [*0D9B.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
+4DE1 ; [*0D9C.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
+4DE2 ; [*0D9D.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
+4DE3 ; [*0D9E.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
+4DE4 ; [*0D9F.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
+4DE5 ; [*0DA0.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
+4DE6 ; [*0DA1.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
+4DE7 ; [*0DA2.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
+4DE8 ; [*0DA3.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
+4DE9 ; [*0DA4.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
+4DEA ; [*0DA5.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
+4DEB ; [*0DA6.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
+4DEC ; [*0DA7.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
+4DED ; [*0DA8.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
+4DEE ; [*0DA9.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
+4DEF ; [*0DAA.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
+4DF0 ; [*0DAB.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
+4DF1 ; [*0DAC.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
+4DF2 ; [*0DAD.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
+4DF3 ; [*0DAE.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
+4DF4 ; [*0DAF.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
+4DF5 ; [*0DB0.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
+4DF6 ; [*0DB1.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
+4DF7 ; [*0DB2.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
+4DF8 ; [*0DB3.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
+4DF9 ; [*0DB4.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
+4DFA ; [*0DB5.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
+4DFB ; [*0DB6.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
+4DFC ; [*0DB7.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
+4DFD ; [*0DB8.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
+4DFE ; [*0DB9.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
+4DFF ; [*0DBA.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
+A490 ; [*0E12.0020.0002.A490] # YI RADICAL QOT
+A491 ; [*0E13.0020.0002.A491] # YI RADICAL LI
+A492 ; [*0E14.0020.0002.A492] # YI RADICAL KIT
+A493 ; [*0E15.0020.0002.A493] # YI RADICAL NYIP
+A494 ; [*0E16.0020.0002.A494] # YI RADICAL CYP
+A495 ; [*0E17.0020.0002.A495] # YI RADICAL SSI
+A496 ; [*0E18.0020.0002.A496] # YI RADICAL GGOP
+A497 ; [*0E19.0020.0002.A497] # YI RADICAL GEP
+A498 ; [*0E1A.0020.0002.A498] # YI RADICAL MI
+A499 ; [*0E1B.0020.0002.A499] # YI RADICAL HXIT
+A49A ; [*0E1C.0020.0002.A49A] # YI RADICAL LYR
+A49B ; [*0E1D.0020.0002.A49B] # YI RADICAL BBUT
+A49C ; [*0E1E.0020.0002.A49C] # YI RADICAL MOP
+A49D ; [*0E1F.0020.0002.A49D] # YI RADICAL YO
+A49E ; [*0E20.0020.0002.A49E] # YI RADICAL PUT
+A49F ; [*0E21.0020.0002.A49F] # YI RADICAL HXUO
+A4A0 ; [*0E22.0020.0002.A4A0] # YI RADICAL TAT
+A4A1 ; [*0E23.0020.0002.A4A1] # YI RADICAL GA
+A4A2 ; [*0E24.0020.0002.A4A2] # YI RADICAL ZUP
+A4A3 ; [*0E25.0020.0002.A4A3] # YI RADICAL CYT
+A4A4 ; [*0E26.0020.0002.A4A4] # YI RADICAL DDUR
+A4A5 ; [*0E27.0020.0002.A4A5] # YI RADICAL BUR
+A4A6 ; [*0E28.0020.0002.A4A6] # YI RADICAL GGUO
+A4A7 ; [*0E29.0020.0002.A4A7] # YI RADICAL NYOP
+A4A8 ; [*0E2A.0020.0002.A4A8] # YI RADICAL TU
+A4A9 ; [*0E2B.0020.0002.A4A9] # YI RADICAL OP
+A4AA ; [*0E2C.0020.0002.A4AA] # YI RADICAL JJUT
+A4AB ; [*0E2D.0020.0002.A4AB] # YI RADICAL ZOT
+A4AC ; [*0E2E.0020.0002.A4AC] # YI RADICAL PYT
+A4AD ; [*0E2F.0020.0002.A4AD] # YI RADICAL HMO
+A4AE ; [*0E30.0020.0002.A4AE] # YI RADICAL YIT
+A4AF ; [*0E31.0020.0002.A4AF] # YI RADICAL VUR
+A4B0 ; [*0E32.0020.0002.A4B0] # YI RADICAL SHY
+A4B1 ; [*0E33.0020.0002.A4B1] # YI RADICAL VEP
+A4B2 ; [*0E34.0020.0002.A4B2] # YI RADICAL ZA
+A4B3 ; [*0E35.0020.0002.A4B3] # YI RADICAL JO
+A4B4 ; [*0E36.0020.0002.A4B4] # YI RADICAL NZUP
+A4B5 ; [*0E37.0020.0002.A4B5] # YI RADICAL JJY
+A4B6 ; [*0E38.0020.0002.A4B6] # YI RADICAL GOT
+A4B7 ; [*0E39.0020.0002.A4B7] # YI RADICAL JJIE
+A4B8 ; [*0E3A.0020.0002.A4B8] # YI RADICAL WO
+A4B9 ; [*0E3B.0020.0002.A4B9] # YI RADICAL DU
+A4BA ; [*0E3C.0020.0002.A4BA] # YI RADICAL SHUR
+A4BB ; [*0E3D.0020.0002.A4BB] # YI RADICAL LIE
+A4BC ; [*0E3E.0020.0002.A4BC] # YI RADICAL CY
+A4BD ; [*0E3F.0020.0002.A4BD] # YI RADICAL CUOP
+A4BE ; [*0E40.0020.0002.A4BE] # YI RADICAL CIP
+A4BF ; [*0E41.0020.0002.A4BF] # YI RADICAL HXOP
+A4C0 ; [*0E42.0020.0002.A4C0] # YI RADICAL SHAT
+A4C1 ; [*0E43.0020.0002.A4C1] # YI RADICAL ZUR
+A4C2 ; [*0E44.0020.0002.A4C2] # YI RADICAL SHOP
+A4C3 ; [*0E45.0020.0002.A4C3] # YI RADICAL CHE
+A4C4 ; [*0E46.0020.0002.A4C4] # YI RADICAL ZZIET
+A4C5 ; [*0E47.0020.0002.A4C5] # YI RADICAL NBIE
+A4C6 ; [*0E48.0020.0002.A4C6] # YI RADICAL KE
+A4FE ; [*024A.0020.0002.A4FE] # LISU PUNCTUATION COMMA
+A4FF ; [*029B.0020.0002.A4FF] # LISU PUNCTUATION FULL STOP
+A60D ; [*024B.0020.0002.A60D] # VAI COMMA
+A60E ; [*029C.0020.0002.A60E] # VAI FULL STOP
+A60F ; [*028A.0020.0002.A60F] # VAI QUESTION MARK
+A670 ; [.0000.0000.0000.A670] # COMBINING CYRILLIC TEN MILLIONS SIGN
+A671 ; [.0000.0000.0000.A671] # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
+A672 ; [.0000.0000.0000.A672] # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
+A673 ; [*036A.0020.0002.A673] # SLAVONIC ASTERISK
+A67E ; [*03A0.0020.0002.A67E] # CYRILLIC KAVYKA
+A6F2 ; [*02D7.0020.0002.A6F2] # BAMUM NJAEMLI
+A6F3 ; [*029D.0020.0002.A6F3] # BAMUM FULL STOP
+A6F4 ; [*027A.0020.0002.A6F4] # BAMUM COLON
+A6F5 ; [*024C.0020.0002.A6F5] # BAMUM COMMA
+A6F6 ; [*0253.0020.0002.A6F6] # BAMUM SEMICOLON
+A6F7 ; [*028B.0020.0002.A6F7] # BAMUM QUESTION MARK
+A700 ; [*0441.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
+A701 ; [*0442.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
+A702 ; [*0443.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
+A703 ; [*0444.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
+A704 ; [*0445.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
+A705 ; [*0446.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
+A706 ; [*0447.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
+A707 ; [*0448.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
+A708 ; [*0449.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
+A709 ; [*044A.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
+A70A ; [*044B.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
+A70B ; [*044C.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
+A70C ; [*044D.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
+A70D ; [*044E.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
+A70E ; [*044F.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
+A70F ; [*0450.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
+A710 ; [*0451.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
+A711 ; [*0452.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
+A712 ; [*0453.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
+A713 ; [*0454.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
+A714 ; [*0455.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
+A715 ; [*0456.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
+A716 ; [*0457.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717 ; [*0458.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
+A718 ; [*0459.0020.0002.A718] # MODIFIER LETTER DOT SLASH
+A719 ; [*045A.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
+A71A ; [*045B.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
+A71B ; [*045C.0020.0002.A71B] # MODIFIER LETTER RAISED UP ARROW
+A71C ; [*045D.0020.0002.A71C] # MODIFIER LETTER RAISED DOWN ARROW
+A71D ; [*045E.0020.0002.A71D] # MODIFIER LETTER RAISED EXCLAMATION MARK
+A71E ; [*045F.0020.0002.A71E] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
+A71F ; [*0460.0020.0002.A71F] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720 ; [*0461.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
+A721 ; [*0462.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
+A788 ; [*0463.0020.0002.A788] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789 ; [*0464.0020.0002.A789] # MODIFIER LETTER COLON
+A78A ; [*0465.0020.0002.A78A] # MODIFIER LETTER SHORT EQUALS SIGN
+A828 ; [*047A.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
+A829 ; [*047B.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
+A82A ; [*047C.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
+A82B ; [*047D.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
+A830 ; [*149E.0020.0002.A830] # NORTH INDIC FRACTION ONE QUARTER
+A831 ; [*149F.0020.0002.A831] # NORTH INDIC FRACTION ONE HALF
+A832 ; [*14A0.0020.0002.A832] # NORTH INDIC FRACTION THREE QUARTERS
+A833 ; [*14A1.0020.0002.A833] # NORTH INDIC FRACTION ONE SIXTEENTH
+A834 ; [*14A2.0020.0002.A834] # NORTH INDIC FRACTION ONE EIGHTH
+A835 ; [*14A3.0020.0002.A835] # NORTH INDIC FRACTION THREE SIXTEENTHS
+A836 ; [*047E.0020.0002.A836] # NORTH INDIC QUARTER MARK
+A837 ; [*047F.0020.0002.A837] # NORTH INDIC PLACEHOLDER MARK
+A839 ; [*0480.0020.0002.A839] # NORTH INDIC QUANTITY MARK
+A874 ; [*03EB.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
+A875 ; [*03EC.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
+A876 ; [*02A7.0020.0002.A876] # PHAGS-PA MARK SHAD
+A877 ; [*02A8.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
+A8CE ; [*02A3.0020.0002.A8CE] # SAURASHTRA DANDA
+A8CF ; [*02A4.0020.0002.A8CF] # SAURASHTRA DOUBLE DANDA
+A8E0 ; [.0000.0000.0000.A8E0] # COMBINING DEVANAGARI DIGIT ZERO
+A8E1 ; [.0000.0000.0000.A8E1] # COMBINING DEVANAGARI DIGIT ONE
+A8E2 ; [.0000.0000.0000.A8E2] # COMBINING DEVANAGARI DIGIT TWO
+A8E3 ; [.0000.0000.0000.A8E3] # COMBINING DEVANAGARI DIGIT THREE
+A8E4 ; [.0000.0000.0000.A8E4] # COMBINING DEVANAGARI DIGIT FOUR
+A8E5 ; [.0000.0000.0000.A8E5] # COMBINING DEVANAGARI DIGIT FIVE
+A8E6 ; [.0000.0000.0000.A8E6] # COMBINING DEVANAGARI DIGIT SIX
+A8E7 ; [.0000.0000.0000.A8E7] # COMBINING DEVANAGARI DIGIT SEVEN
+A8E8 ; [.0000.0000.0000.A8E8] # COMBINING DEVANAGARI DIGIT EIGHT
+A8E9 ; [.0000.0000.0000.A8E9] # COMBINING DEVANAGARI DIGIT NINE
+A8EA ; [.0000.0000.0000.A8EA] # COMBINING DEVANAGARI LETTER A
+A8EB ; [.0000.0000.0000.A8EB] # COMBINING DEVANAGARI LETTER U
+A8EC ; [.0000.0000.0000.A8EC] # COMBINING DEVANAGARI LETTER KA
+A8ED ; [.0000.0000.0000.A8ED] # COMBINING DEVANAGARI LETTER NA
+A8EE ; [.0000.0000.0000.A8EE] # COMBINING DEVANAGARI LETTER PA
+A8EF ; [.0000.0000.0000.A8EF] # COMBINING DEVANAGARI LETTER RA
+A8F0 ; [.0000.0000.0000.A8F0] # COMBINING DEVANAGARI LETTER VI
+A8F1 ; [.0000.0000.0000.A8F1] # COMBINING DEVANAGARI SIGN AVAGRAHA
+A8F8 ; [*03B1.0020.0002.A8F8] # DEVANAGARI SIGN PUSHPIKA
+A8F9 ; [*03B2.0020.0002.A8F9] # DEVANAGARI GAP FILLER
+A8FA ; [*03B3.0020.0002.A8FA] # DEVANAGARI CARET
+A92E ; [*03F1.0020.0002.A92E] # KAYAH LI SIGN CWI
+A92F ; [*02AB.0020.0002.A92F] # KAYAH LI SIGN SHYA
+A95F ; [*02D8.0020.0002.A95F] # REJANG SECTION MARK
+A9C1 ; [*02CD.0020.0002.A9C1] # JAVANESE LEFT RERENGGAN
+A9C2 ; [*02CE.0020.0002.A9C2] # JAVANESE RIGHT RERENGGAN
+A9C3 ; [*02CF.0020.0002.A9C3] # JAVANESE PADA ANDAP
+A9C4 ; [*02D0.0020.0002.A9C4] # JAVANESE PADA MADYA
+A9C5 ; [*02D1.0020.0002.A9C5] # JAVANESE PADA LUHUR
+A9C6 ; [*02D2.0020.0002.A9C6] # JAVANESE PADA WINDU
+A9C7 ; [*0276.0020.0002.A9C7] # JAVANESE PADA PANGKAT
+A9C8 ; [*02B6.0020.0002.A9C8] # JAVANESE PADA LINGSA
+A9C9 ; [*02B7.0020.0002.A9C9] # JAVANESE PADA LUNGSI
+A9CA ; [*02D3.0020.0002.A9CA] # JAVANESE PADA ADEG
+A9CB ; [*02D4.0020.0002.A9CB] # JAVANESE PADA ADEG ADEG
+A9CC ; [*02D5.0020.0002.A9CC] # JAVANESE PADA PISELEH
+A9CD ; [*02D6.0020.0002.A9CD] # JAVANESE TURNED PADA PISELEH
+A9DE ; [*03F2.0020.0002.A9DE] # JAVANESE PADA TIRTA TUMETES
+A9DF ; [*03F3.0020.0002.A9DF] # JAVANESE PADA ISEN-ISEN
+AA5C ; [*03F4.0020.0002.AA5C] # CHAM PUNCTUATION SPIRAL
+AA5D ; [*02B8.0020.0002.AA5D] # CHAM PUNCTUATION DANDA
+AA5E ; [*02B9.0020.0002.AA5E] # CHAM PUNCTUATION DOUBLE DANDA
+AA5F ; [*02BA.0020.0002.AA5F] # CHAM PUNCTUATION TRIPLE DANDA
+AA77 ; [*03D9.0020.0002.AA77] # MYANMAR SYMBOL AITON EXCLAMATION
+AA78 ; [*03DA.0020.0002.AA78] # MYANMAR SYMBOL AITON ONE
+AA79 ; [*03DB.0020.0002.AA79] # MYANMAR SYMBOL AITON TWO
+AADE ; [*03B7.0020.0002.AADE] # TAI VIET SYMBOL HO HOI
+AADF ; [*03B8.0020.0002.AADF] # TAI VIET SYMBOL KOI KOI
+ABEB ; [*02BB.0020.0002.ABEB] # MEETEI MAYEK CHEIKHEI
+FB29 ; [*056A.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN; QQK
+FBB2 ; [*021E.0020.0002.FBB2] # ARABIC SYMBOL DOT ABOVE
+FBB3 ; [*021F.0020.0002.FBB3] # ARABIC SYMBOL DOT BELOW
+FBB4 ; [*0220.0020.0002.FBB4] # ARABIC SYMBOL TWO DOTS ABOVE
+FBB5 ; [*0221.0020.0002.FBB5] # ARABIC SYMBOL TWO DOTS BELOW
+FBB6 ; [*0222.0020.0002.FBB6] # ARABIC SYMBOL THREE DOTS ABOVE
+FBB7 ; [*0223.0020.0002.FBB7] # ARABIC SYMBOL THREE DOTS BELOW
+FBB8 ; [*0224.0020.0002.FBB8] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
+FBB9 ; [*0225.0020.0002.FBB9] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
+FBBA ; [*0226.0020.0002.FBBA] # ARABIC SYMBOL FOUR DOTS ABOVE
+FBBB ; [*0227.0020.0002.FBBB] # ARABIC SYMBOL FOUR DOTS BELOW
+FBBC ; [*0228.0020.0002.FBBC] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
+FBBD ; [*0229.0020.0002.FBBD] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
+FBBE ; [*022A.0020.0002.FBBE] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
+FBBF ; [*022B.0020.0002.FBBF] # ARABIC SYMBOL RING
+FBC0 ; [*022C.0020.0002.FBC0] # ARABIC SYMBOL SMALL TAH ABOVE
+FBC1 ; [*022D.0020.0002.FBC1] # ARABIC SYMBOL SMALL TAH BELOW
+FD3E ; [*035E.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
+FD3F ; [*035F.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
+FDFD ; [*046D.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+FE10 ; [*0241.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA; QQK
+FE11 ; [*024D.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA; QQK
+FE12 ; [*029E.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP; QQK
+FE13 ; [*0254.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON; QQK
+FE14 ; [*0250.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON; QQK
+FE15 ; [*027B.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK; QQK
+FE16 ; [*0280.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK; QQK
+FE17 ; [*0358.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET; QQK
+FE18 ; [*0359.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET; QQK
+FE19 ; [*028E.0020.0016.FE19][*028E.0020.0016.FE19][*028E.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS; QQKN
FE21 ; [.0000.0000.0000.FE21] # COMBINING LIGATURE RIGHT HALF
FE23 ; [.0000.0000.0000.FE23] # COMBINING DOUBLE TILDE RIGHT HALF
-FE30 ; [*0266.0020.0016.FE30][*0266.0020.0016.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER; QQKN
-FE31 ; [*022A.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH; QQK
-FE32 ; [*0229.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH; QQK
-FE33 ; [*021C.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE; QQK
-FE34 ; [*021C.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE; QQK
-FE35 ; [*02B1.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS; QQK
-FE36 ; [*02B2.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS; QQK
-FE37 ; [*02B5.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET; QQK
-FE38 ; [*02B6.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET; QQK
-FE39 ; [*02EB.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET; QQK
-FE3A ; [*02EC.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET; QQK
-FE3B ; [*02E9.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET; QQK
-FE3C ; [*02EA.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET; QQK
-FE3D ; [*02E3.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET; QQK
-FE3E ; [*02E4.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET; QQK
-FE3F ; [*02E1.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET; QQK
-FE40 ; [*02E2.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET; QQK
-FE41 ; [*02E5.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET; QQK
-FE42 ; [*02E6.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET; QQK
-FE43 ; [*02E7.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET; QQK
-FE44 ; [*02E8.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET; QQK
-FE45 ; [*023C.0020.0002.FE45] # SESAME DOT
-FE46 ; [*023D.0020.0002.FE46] # WHITE SESAME DOT
-FE47 ; [*02B3.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET; QQK
-FE48 ; [*02B4.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET; QQK
-FE49 ; [*0212.0020.0004.FE49] # DASHED OVERLINE; QQK
-FE4A ; [*0212.0020.0004.FE4A] # CENTRELINE OVERLINE; QQK
-FE4B ; [*0212.0020.0004.FE4B] # WAVY OVERLINE; QQK
-FE4C ; [*0212.0020.0004.FE4C] # DOUBLE WAVY OVERLINE; QQK
-FE4D ; [*021C.0020.0004.FE4D] # DASHED LOW LINE; QQK
-FE4E ; [*021C.0020.0004.FE4E] # CENTRELINE LOW LINE; QQK
-FE4F ; [*021C.0020.0004.FE4F] # WAVY LOW LINE; QQK
-FE50 ; [*0232.0020.000F.FE50] # SMALL COMMA; QQK
-FE51 ; [*023B.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA; QQK
-FE52 ; [*0266.0020.000F.FE52] # SMALL FULL STOP; QQK
-FE54 ; [*023E.0020.000F.FE54] # SMALL SEMICOLON; QQK
-FE55 ; [*0241.0020.000F.FE55] # SMALL COLON; QQK
-FE56 ; [*025C.0020.000F.FE56] # SMALL QUESTION MARK; QQK
-FE57 ; [*0257.0020.000F.FE57] # SMALL EXCLAMATION MARK; QQK
-FE58 ; [*022A.0020.000F.FE58] # SMALL EM DASH; QQK
-FE59 ; [*02B1.0020.000F.FE59] # SMALL LEFT PARENTHESIS; QQK
-FE5A ; [*02B2.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS; QQK
-FE5B ; [*02B5.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET; QQK
-FE5C ; [*02B6.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET; QQK
-FE5D ; [*02EB.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET; QQK
-FE5E ; [*02EC.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET; QQK
-FE5F ; [*0305.0020.000F.FE5F] # SMALL NUMBER SIGN; QQK
-FE60 ; [*0302.0020.000F.FE60] # SMALL AMPERSAND; QQK
-FE61 ; [*02FB.0020.000F.FE61] # SMALL ASTERISK; QQK
-FE62 ; [*04B8.0020.000F.FE62] # SMALL PLUS SIGN; QQK
-FE63 ; [*0222.0020.000F.FE63] # SMALL HYPHEN-MINUS; QQK
-FE64 ; [*04BC.0020.000F.FE64] # SMALL LESS-THAN SIGN; QQK
-FE65 ; [*04BE.0020.000F.FE65] # SMALL GREATER-THAN SIGN; QQK
-FE66 ; [*04BD.0020.000F.FE66] # SMALL EQUALS SIGN; QQK
-FE68 ; [*0301.0020.000F.FE68] # SMALL REVERSE SOLIDUS; QQK
-FE6A ; [*0306.0020.000F.FE6A] # SMALL PERCENT SIGN; QQK
-FE6B ; [*02FA.0020.000F.FE6B] # SMALL COMMERCIAL AT; QQK
+FE24 ; [.0000.0000.0000.FE24] # COMBINING MACRON LEFT HALF
+FE25 ; [.0000.0000.0000.FE25] # COMBINING MACRON RIGHT HALF
+FE26 ; [.0000.0000.0000.FE26] # COMBINING CONJOINING MACRON
+FE30 ; [*028E.0020.0016.FE30][*028E.0020.0016.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER; QQKN
+FE31 ; [*0239.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH; QQK
+FE32 ; [*0238.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH; QQK
+FE33 ; [*021B.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE; QQK
+FE34 ; [*021B.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE; QQK
+FE35 ; [*030E.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS; QQK
+FE36 ; [*030F.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS; QQK
+FE37 ; [*0312.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET; QQK
+FE38 ; [*0313.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET; QQK
+FE39 ; [*0356.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET; QQK
+FE3A ; [*0357.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET; QQK
+FE3B ; [*0354.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET; QQK
+FE3C ; [*0355.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET; QQK
+FE3D ; [*034E.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET; QQK
+FE3E ; [*034F.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET; QQK
+FE3F ; [*034C.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET; QQK
+FE40 ; [*034D.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET; QQK
+FE41 ; [*0350.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET; QQK
+FE42 ; [*0351.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET; QQK
+FE43 ; [*0352.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET; QQK
+FE44 ; [*0353.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET; QQK
+FE45 ; [*024E.0020.0002.FE45] # SESAME DOT
+FE46 ; [*024F.0020.0002.FE46] # WHITE SESAME DOT
+FE47 ; [*0310.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET; QQK
+FE48 ; [*0311.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET; QQK
+FE49 ; [*0211.0020.0004.FE49] # DASHED OVERLINE; QQK
+FE4A ; [*0211.0020.0004.FE4A] # CENTRELINE OVERLINE; QQK
+FE4B ; [*0211.0020.0004.FE4B] # WAVY OVERLINE; QQK
+FE4C ; [*0211.0020.0004.FE4C] # DOUBLE WAVY OVERLINE; QQK
+FE4D ; [*021B.0020.0004.FE4D] # DASHED LOW LINE; QQK
+FE4E ; [*021B.0020.0004.FE4E] # CENTRELINE LOW LINE; QQK
+FE4F ; [*021B.0020.0004.FE4F] # WAVY LOW LINE; QQK
+FE50 ; [*0241.0020.000F.FE50] # SMALL COMMA; QQK
+FE51 ; [*024D.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA; QQK
+FE52 ; [*028E.0020.000F.FE52] # SMALL FULL STOP; QQK
+FE54 ; [*0250.0020.000F.FE54] # SMALL SEMICOLON; QQK
+FE55 ; [*0254.0020.000F.FE55] # SMALL COLON; QQK
+FE56 ; [*0280.0020.000F.FE56] # SMALL QUESTION MARK; QQK
+FE57 ; [*027B.0020.000F.FE57] # SMALL EXCLAMATION MARK; QQK
+FE58 ; [*0239.0020.000F.FE58] # SMALL EM DASH; QQK
+FE59 ; [*030E.0020.000F.FE59] # SMALL LEFT PARENTHESIS; QQK
+FE5A ; [*030F.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS; QQK
+FE5B ; [*0312.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET; QQK
+FE5C ; [*0313.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET; QQK
+FE5D ; [*0356.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET; QQK
+FE5E ; [*0357.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET; QQK
+FE5F ; [*0371.0020.000F.FE5F] # SMALL NUMBER SIGN; QQK
+FE60 ; [*036E.0020.000F.FE60] # SMALL AMPERSAND; QQK
+FE61 ; [*0366.0020.000F.FE61] # SMALL ASTERISK; QQK
+FE62 ; [*056A.0020.000F.FE62] # SMALL PLUS SIGN; QQK
+FE63 ; [*0230.0020.000F.FE63] # SMALL HYPHEN-MINUS; QQK
+FE64 ; [*056E.0020.000F.FE64] # SMALL LESS-THAN SIGN; QQK
+FE65 ; [*0570.0020.000F.FE65] # SMALL GREATER-THAN SIGN; QQK
+FE66 ; [*056F.0020.000F.FE66] # SMALL EQUALS SIGN; QQK
+FE68 ; [*036D.0020.000F.FE68] # SMALL REVERSE SOLIDUS; QQK
+FE6A ; [*0372.0020.000F.FE6A] # SMALL PERCENT SIGN; QQK
+FE6B ; [*0365.0020.000F.FE6B] # SMALL COMMERCIAL AT; QQK
FE73 ; [.0000.0000.0000.FE73] # ARABIC TAIL FRAGMENT
-FF01 ; [*0257.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK; QQK
-FF02 ; [*02A7.0020.0003.FF02] # FULLWIDTH QUOTATION MARK; QQK
-FF03 ; [*0305.0020.0003.FF03] # FULLWIDTH NUMBER SIGN; QQK
-FF05 ; [*0306.0020.0003.FF05] # FULLWIDTH PERCENT SIGN; QQK
-FF06 ; [*0302.0020.0003.FF06] # FULLWIDTH AMPERSAND; QQK
-FF07 ; [*02A0.0020.0003.FF07] # FULLWIDTH APOSTROPHE; QQK
-FF08 ; [*02B1.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS; QQK
-FF09 ; [*02B2.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS; QQK
-FF0A ; [*02FB.0020.0003.FF0A] # FULLWIDTH ASTERISK; QQK
-FF0B ; [*04B8.0020.0003.FF0B] # FULLWIDTH PLUS SIGN; QQK
-FF0C ; [*0232.0020.0003.FF0C] # FULLWIDTH COMMA; QQK
-FF0D ; [*0222.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS; QQK
-FF0E ; [*0266.0020.0003.FF0E] # FULLWIDTH FULL STOP; QQK
-FF0F ; [*02FF.0020.0003.FF0F] # FULLWIDTH SOLIDUS; QQK
-FF1A ; [*0241.0020.0003.FF1A] # FULLWIDTH COLON; QQK
-FF1B ; [*023E.0020.0003.FF1B] # FULLWIDTH SEMICOLON; QQK
-FF1C ; [*04BC.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN; QQK
-FF1D ; [*04BD.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN; QQK
-FF1E ; [*04BE.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN; QQK
-FF1F ; [*025C.0020.0003.FF1F] # FULLWIDTH QUESTION MARK; QQK
-FF20 ; [*02FA.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT; QQK
-FF3B ; [*02B3.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET; QQK
-FF3C ; [*0301.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS; QQK
-FF3D ; [*02B4.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET; QQK
-FF3E ; [*0210.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT; QQK
-FF3F ; [*021C.0020.0003.FF3F] # FULLWIDTH LOW LINE; QQK
-FF40 ; [*020D.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT; QQK
-FF5B ; [*02B5.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET; QQK
-FF5C ; [*04C0.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE; QQK
-FF5D ; [*02B6.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET; QQK
-FF5E ; [*04C3.0020.0003.FF5E] # FULLWIDTH TILDE; QQK
-FF5F ; [*02C3.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS; QQK
-FF60 ; [*02C4.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS; QQK
-FF61 ; [*0272.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP; QQK
-FF62 ; [*02E5.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET; QQK
-FF63 ; [*02E6.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET; QQK
-FF64 ; [*023B.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA; QQK
-FF65 ; [*0231.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT; QQK
-FFE2 ; [*04BF.0020.0003.FFE2] # FULLWIDTH NOT SIGN; QQK
-FFE3 ; [*0211.0020.0003.FFE3] # FULLWIDTH MACRON; QQK
-FFE4 ; [*04C1.0020.0003.FFE4] # FULLWIDTH BROKEN BAR; QQK
-FFE8 ; [*06A5.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL; QQK
-FFE9 ; [*043E.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW; QQK
-FFEA ; [*0440.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW; QQK
-FFEB ; [*043F.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW; QQK
-FFEC ; [*0441.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW; QQK
-FFED ; [*0743.0020.0012.FFED] # HALFWIDTH BLACK SQUARE; QQK
-FFEE ; [*076E.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE; QQK
-FFFC ; [*0F11.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
-FFFD ; [*0F12.0020.0002.FFFD] # REPLACEMENT CHARACTER
-10100 ; [*0296.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
-10101 ; [*0297.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
-10102 ; [*0298.0020.0002.10102] # AEGEAN CHECK MARK
-10110 ; [*0F29.0020.0002.10110] # AEGEAN NUMBER TEN
-10111 ; [*0F2A.0020.0002.10111] # AEGEAN NUMBER TWENTY
-10112 ; [*0F2B.0020.0002.10112] # AEGEAN NUMBER THIRTY
-10113 ; [*0F2C.0020.0002.10113] # AEGEAN NUMBER FORTY
-10114 ; [*0F2D.0020.0002.10114] # AEGEAN NUMBER FIFTY
-10115 ; [*0F2E.0020.0002.10115] # AEGEAN NUMBER SIXTY
-10116 ; [*0F2F.0020.0002.10116] # AEGEAN NUMBER SEVENTY
-10117 ; [*0F30.0020.0002.10117] # AEGEAN NUMBER EIGHTY
-10118 ; [*0F31.0020.0002.10118] # AEGEAN NUMBER NINETY
-10119 ; [*0F32.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
-1011A ; [*0F33.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
-1011B ; [*0F34.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
-1011C ; [*0F35.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
-1011D ; [*0F36.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
-1011E ; [*0F37.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
-1011F ; [*0F38.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
-10120 ; [*0F39.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
-10121 ; [*0F3A.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
-10122 ; [*0F3B.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
-10123 ; [*0F3C.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
-10124 ; [*0F3D.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
-10125 ; [*0F3E.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
-10126 ; [*0F3F.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
-10127 ; [*0F40.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
-10128 ; [*0F41.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
-10129 ; [*0F42.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
-1012A ; [*0F43.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
-1012B ; [*0F44.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
-1012C ; [*0F45.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
-1012D ; [*0F46.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
-1012E ; [*0F47.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
-1012F ; [*0F48.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
-10130 ; [*0F49.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
-10131 ; [*0F4A.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
-10132 ; [*0F4B.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
-10133 ; [*0F4C.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
-10137 ; [*0CED.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
-10138 ; [*0CEE.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
-10139 ; [*0CEF.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
-1013A ; [*0CF0.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
-1013B ; [*0CF1.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C ; [*0CF2.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D ; [*0CF3.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E ; [*0CF4.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
-1013F ; [*0CF5.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
-10140 ; [*0F4D.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 ; [*0F4E.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
-10144 ; [*0F4F.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
-10145 ; [*0F50.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 ; [*0F51.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 ; [*0F52.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10149 ; [*0F53.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A ; [*0F54.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B ; [*0F55.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C ; [*0F56.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D ; [*0F57.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E ; [*0F58.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-10150 ; [*0F59.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
-10151 ; [*0F5A.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 ; [*0F5B.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 ; [*0F5C.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 ; [*0F5D.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 ; [*0F5E.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 ; [*0F5F.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 ; [*0F60.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
-10160 ; [*0F61.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
-10161 ; [*0F62.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 ; [*0F63.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
-10163 ; [*0F64.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
-10164 ; [*0F65.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
-10165 ; [*0F66.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
-10166 ; [*0F67.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 ; [*0F68.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 ; [*0F69.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 ; [*0F6A.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
-1016A ; [*0F6B.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B ; [*0F6C.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C ; [*0F6D.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D ; [*0F6E.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E ; [*0F6F.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F ; [*0F70.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 ; [*0F71.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 ; [*0F72.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 ; [*0F73.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10174 ; [*0F74.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175 ; [*0F75.0020.0002.10175] # GREEK ONE HALF SIGN
-10176 ; [*0F76.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
-10177 ; [*0F77.0020.0002.10177] # GREEK TWO THIRDS SIGN
-10178 ; [*0F78.0020.0002.10178] # GREEK THREE QUARTERS SIGN
-10179 ; [*0CF6.0020.0002.10179] # GREEK YEAR SIGN
-1017A ; [*0CF7.0020.0002.1017A] # GREEK TALENT SIGN
-1017B ; [*0CF8.0020.0002.1017B] # GREEK DRACHMA SIGN
-1017C ; [*0CF9.0020.0002.1017C] # GREEK OBOL SIGN
-1017D ; [*0CFA.0020.0002.1017D] # GREEK TWO OBOLS SIGN
-1017E ; [*0CFB.0020.0002.1017E] # GREEK THREE OBOLS SIGN
-1017F ; [*0CFC.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
-10180 ; [*0CFD.0020.0002.10180] # GREEK FIVE OBOLS SIGN
-10181 ; [*0CFE.0020.0002.10181] # GREEK METRETES SIGN
-10182 ; [*0CFF.0020.0002.10182] # GREEK KYATHOS BASE SIGN
-10183 ; [*0D00.0020.0002.10183] # GREEK LITRA SIGN
-10184 ; [*0D01.0020.0002.10184] # GREEK OUNKIA SIGN
-10185 ; [*0D02.0020.0002.10185] # GREEK XESTES SIGN
-10186 ; [*0D03.0020.0002.10186] # GREEK ARTABE SIGN
-10187 ; [*0D04.0020.0002.10187] # GREEK AROURA SIGN
-10188 ; [*0D05.0020.0002.10188] # GREEK GRAMMA SIGN
-10189 ; [*0D06.0020.0002.10189] # GREEK TRYBLION BASE SIGN
-10322 ; [*0F27.0020.0002.10322] # OLD ITALIC NUMERAL TEN
-10323 ; [*0F28.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
-1039F ; [*0299.0020.0002.1039F] # UGARITIC WORD DIVIDER
-103D0 ; [*029A.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
-103D3 ; [*0F79.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
-103D4 ; [*0F7A.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
-103D5 ; [*0F7B.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
-10917 ; [*0F7C.0020.0002.10917] # PHOENICIAN NUMBER TEN
-10918 ; [*0F7D.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
-10919 ; [*0F7E.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
-1091F ; [*029B.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
-10A44 ; [*0F7F.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
-10A45 ; [*0F80.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
-10A46 ; [*0F81.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
-10A47 ; [*0F82.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
-10A50 ; [*035E.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
-10A51 ; [*035F.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 ; [*0360.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
-10A53 ; [*0361.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 ; [*0362.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
-10A55 ; [*0363.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
-10A56 ; [*0280.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
-10A57 ; [*0281.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 ; [*0364.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
-12432 ; [*0F83.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 ; [*0F84.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12456 ; [*0F85.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457 ; [*0F86.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
-1245A ; [*0F87.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B ; [*0F88.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C ; [*0F89.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D ; [*0F8A.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E ; [*0F8B.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F ; [*0F8C.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 ; [*0F8D.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 ; [*0F8E.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 ; [*0F8F.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470 ; [*029C.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471 ; [*029D.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 ; [*029E.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 ; [*029F.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-1D000 ; [*0D07.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
-1D001 ; [*0D08.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 ; [*0D09.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003 ; [*0D0A.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 ; [*0D0B.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 ; [*0D0C.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 ; [*0D0D.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 ; [*0D0E.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 ; [*0D0F.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 ; [*0D10.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A ; [*0D11.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B ; [*0D12.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C ; [*0D13.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D ; [*0D14.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E ; [*0D15.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F ; [*0D16.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 ; [*0D17.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 ; [*0D18.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 ; [*0D19.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 ; [*0D1A.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 ; [*0D1B.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
-1D015 ; [*0D1C.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 ; [*0D1D.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 ; [*0D1E.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
-1D018 ; [*0D1F.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 ; [*0D20.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A ; [*0D21.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B ; [*0D22.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C ; [*0D23.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D ; [*0D24.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E ; [*0D25.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F ; [*0D26.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 ; [*0D27.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 ; [*0D28.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 ; [*0D29.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 ; [*0D2A.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 ; [*0D2B.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 ; [*0D2C.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
-1D026 ; [*0D2D.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 ; [*0D2E.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 ; [*0D2F.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 ; [*0D30.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A ; [*0D31.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B ; [*0D32.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C ; [*0D33.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D ; [*0D34.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E ; [*0D35.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F ; [*0D36.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
-1D030 ; [*0D37.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
-1D031 ; [*0D38.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 ; [*0D39.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 ; [*0D3A.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 ; [*0D3B.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 ; [*0D3C.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 ; [*0D3D.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 ; [*0D3E.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 ; [*0D3F.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 ; [*0D40.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A ; [*0D41.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B ; [*0D42.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C ; [*0D43.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D ; [*0D44.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E ; [*0D45.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F ; [*0D46.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 ; [*0D47.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
-1D041 ; [*0D48.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 ; [*0D49.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 ; [*0D4A.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 ; [*0D4B.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 ; [*0D4C.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046 ; [*0D4D.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 ; [*0D4E.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 ; [*0D4F.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 ; [*0D50.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A ; [*0D51.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B ; [*0D52.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C ; [*0D53.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D ; [*0D54.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E ; [*0D55.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F ; [*0D56.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 ; [*0D57.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 ; [*0D58.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 ; [*0D59.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 ; [*0D5A.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 ; [*0D5B.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 ; [*0D5C.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 ; [*0D5D.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057 ; [*0D5E.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 ; [*0D5F.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 ; [*0D60.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A ; [*0D61.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B ; [*0D62.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C ; [*0D63.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D ; [*0D64.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E ; [*0D65.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F ; [*0D66.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 ; [*0D67.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 ; [*0D68.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 ; [*0D69.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 ; [*0D6A.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 ; [*0D6B.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 ; [*0D6C.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 ; [*0D6D.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 ; [*0D6E.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 ; [*0D6F.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 ; [*0D70.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A ; [*0D71.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B ; [*0D72.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C ; [*0D73.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D ; [*0D74.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E ; [*0D75.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F ; [*0D76.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 ; [*0D77.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 ; [*0D78.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 ; [*0D79.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 ; [*0D7A.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 ; [*0D7B.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 ; [*0D7C.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 ; [*0D7D.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 ; [*0D7E.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 ; [*0D7F.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 ; [*0D80.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A ; [*0D81.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B ; [*0D82.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C ; [*0D83.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D ; [*0D84.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E ; [*0D85.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F ; [*0D86.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 ; [*0D87.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 ; [*0D88.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 ; [*0D89.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 ; [*0D8A.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 ; [*0D8B.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 ; [*0D8C.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
-1D086 ; [*0D8D.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 ; [*0D8E.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 ; [*0D8F.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 ; [*0D90.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A ; [*0D91.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B ; [*0D92.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C ; [*0D93.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D ; [*0D94.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E ; [*0D95.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F ; [*0D96.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 ; [*0D97.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 ; [*0D98.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 ; [*0D99.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 ; [*0D9A.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 ; [*0D9B.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 ; [*0D9C.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 ; [*0D9D.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 ; [*0D9E.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
-1D098 ; [*0D9F.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099 ; [*0DA0.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A ; [*0DA1.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B ; [*0DA2.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C ; [*0DA3.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D ; [*0DA4.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E ; [*0DA5.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F ; [*0DA6.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 ; [*0DA7.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 ; [*0DA8.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2 ; [*0DA9.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 ; [*0DAA.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 ; [*0DAB.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 ; [*0DAC.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 ; [*0DAD.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 ; [*0DAE.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 ; [*0DAF.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 ; [*0DB0.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA ; [*0DB1.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB ; [*0DB2.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC ; [*0DB3.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD ; [*0DB4.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE ; [*0DB5.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF ; [*0DB6.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 ; [*0DB7.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 ; [*0DB8.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 ; [*0DB9.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 ; [*0DBA.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 ; [*0DBB.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5 ; [*0DBC.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6 ; [*0DBD.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 ; [*0DBE.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 ; [*0DBF.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 ; [*0DC0.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA ; [*0DC1.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB ; [*0DC2.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC ; [*0DC3.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD ; [*0DC4.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE ; [*0DC5.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF ; [*0DC6.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 ; [*0DC7.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 ; [*0DC8.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 ; [*0DC9.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 ; [*0DCA.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 ; [*0DCB.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 ; [*0DCC.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6 ; [*0DCD.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 ; [*0DCE.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 ; [*0DCF.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 ; [*0DD0.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA ; [*0DD1.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB ; [*0DD2.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC ; [*0DD3.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD ; [*0DD4.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE ; [*0DD5.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF ; [*0DD6.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 ; [*0DD7.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 ; [*0DD8.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 ; [*0DD9.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 ; [*0DDA.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 ; [*0DDB.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 ; [*0DDC.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 ; [*0DDD.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 ; [*0DDE.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 ; [*0DDF.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 ; [*0DE0.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA ; [*0DE1.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB ; [*0DE2.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC ; [*0DE3.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD ; [*0DE4.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE ; [*0DE5.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF ; [*0DE6.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 ; [*0DE7.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 ; [*0DE8.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 ; [*0DE9.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 ; [*0DEA.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 ; [*0DEB.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 ; [*0DEC.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6 ; [*0DED.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 ; [*0DEE.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8 ; [*0DEF.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9 ; [*0DF0.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA ; [*0DF1.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB ; [*0DF2.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC ; [*0DF3.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED ; [*0DF4.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE ; [*0DF5.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF ; [*0DF6.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0 ; [*0DF7.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 ; [*0DF8.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 ; [*0DF9.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 ; [*0DFA.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 ; [*0DFB.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 ; [*0DFC.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100 ; [*0DFD.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
-1D101 ; [*0DFE.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
-1D102 ; [*0DFF.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
-1D103 ; [*0E00.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 ; [*0E01.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
-1D105 ; [*0E02.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
-1D106 ; [*0E03.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 ; [*0E04.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 ; [*0E05.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
-1D109 ; [*0E06.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
-1D10A ; [*0E07.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
-1D10B ; [*0E08.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
-1D10C ; [*0E09.0020.0002.1D10C] # MUSICAL SYMBOL CODA
-1D10D ; [*0E0A.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E ; [*0E0B.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F ; [*0E0C.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110 ; [*0E0D.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
-1D111 ; [*0E0E.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
-1D112 ; [*0E0F.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
-1D113 ; [*0E10.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
-1D114 ; [*0E11.0020.0002.1D114] # MUSICAL SYMBOL BRACE
-1D115 ; [*0E12.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
-1D116 ; [*0E13.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
-1D117 ; [*0E14.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
-1D118 ; [*0E15.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
-1D119 ; [*0E16.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A ; [*0E17.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B ; [*0E18.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C ; [*0E19.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D ; [*0E1A.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E ; [*0E1B.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
-1D11F ; [*0E1C.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 ; [*0E1D.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 ; [*0E1E.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
-1D122 ; [*0E1F.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
-1D123 ; [*0E20.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 ; [*0E21.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 ; [*0E22.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
-1D126 ; [*0E23.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
-1D12A ; [*0E27.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
-1D12B ; [*0E28.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
-1D12C ; [*0E29.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
-1D12D ; [*0E2A.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
-1D12E ; [*0E2B.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
-1D12F ; [*0E2C.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
-1D130 ; [*0E2D.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
-1D131 ; [*0E2E.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
-1D132 ; [*0E2F.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 ; [*0E30.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134 ; [*0E31.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
-1D135 ; [*0E32.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
-1D136 ; [*0E33.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
-1D137 ; [*0E34.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
-1D138 ; [*0E35.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 ; [*0E36.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A ; [*0E37.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
-1D13B ; [*0E38.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
-1D13C ; [*0E39.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
-1D13D ; [*0E3A.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
-1D13E ; [*0E3B.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
-1D13F ; [*0E3C.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
-1D140 ; [*0E3D.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 ; [*0E3E.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 ; [*0E3F.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143 ; [*0E40.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
-1D144 ; [*0E41.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 ; [*0E42.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 ; [*0E43.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 ; [*0E44.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 ; [*0E45.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 ; [*0E46.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A ; [*0E47.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B ; [*0E48.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C ; [*0E49.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D ; [*0E4A.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E ; [*0E4B.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F ; [*0E4C.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 ; [*0E4D.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 ; [*0E4E.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 ; [*0E4F.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 ; [*0E50.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 ; [*0E51.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 ; [*0E52.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 ; [*0E53.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 ; [*0E54.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
-1D158 ; [*0E55.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 ; [*0E56.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A ; [*0E57.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B ; [*0E58.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C ; [*0E59.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
-1D15D ; [*0E5A.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
-1D15E ; [*0E54.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE; QQCN
-1D15F ; [*0E55.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE; QQCN
-1D160 ; [*0E55.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE; QQCN
-1D161 ; [*0E55.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE; QQCN
-1D162 ; [*0E55.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE; QQCN
-1D163 ; [*0E55.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE; QQCN
-1D164 ; [*0E55.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE; QQCN
+FF01 ; [*027B.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK; QQK
+FF02 ; [*0304.0020.0003.FF02] # FULLWIDTH QUOTATION MARK; QQK
+FF03 ; [*0371.0020.0003.FF03] # FULLWIDTH NUMBER SIGN; QQK
+FF05 ; [*0372.0020.0003.FF05] # FULLWIDTH PERCENT SIGN; QQK
+FF06 ; [*036E.0020.0003.FF06] # FULLWIDTH AMPERSAND; QQK
+FF07 ; [*02FD.0020.0003.FF07] # FULLWIDTH APOSTROPHE; QQK
+FF08 ; [*030E.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS; QQK
+FF09 ; [*030F.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS; QQK
+FF0A ; [*0366.0020.0003.FF0A] # FULLWIDTH ASTERISK; QQK
+FF0B ; [*056A.0020.0003.FF0B] # FULLWIDTH PLUS SIGN; QQK
+FF0C ; [*0241.0020.0003.FF0C] # FULLWIDTH COMMA; QQK
+FF0D ; [*0230.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS; QQK
+FF0E ; [*028E.0020.0003.FF0E] # FULLWIDTH FULL STOP; QQK
+FF0F ; [*036B.0020.0003.FF0F] # FULLWIDTH SOLIDUS; QQK
+FF1A ; [*0254.0020.0003.FF1A] # FULLWIDTH COLON; QQK
+FF1B ; [*0250.0020.0003.FF1B] # FULLWIDTH SEMICOLON; QQK
+FF1C ; [*056E.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN; QQK
+FF1D ; [*056F.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN; QQK
+FF1E ; [*0570.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN; QQK
+FF1F ; [*0280.0020.0003.FF1F] # FULLWIDTH QUESTION MARK; QQK
+FF20 ; [*0365.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT; QQK
+FF3B ; [*0310.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET; QQK
+FF3C ; [*036D.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS; QQK
+FF3D ; [*0311.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET; QQK
+FF3E ; [*020F.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT; QQK
+FF3F ; [*021B.0020.0003.FF3F] # FULLWIDTH LOW LINE; QQK
+FF40 ; [*020C.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT; QQK
+FF5B ; [*0312.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET; QQK
+FF5C ; [*0572.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE; QQK
+FF5D ; [*0313.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET; QQK
+FF5E ; [*0575.0020.0003.FF5E] # FULLWIDTH TILDE; QQK
+FF5F ; [*0320.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS; QQK
+FF60 ; [*0321.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS; QQK
+FF61 ; [*029E.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP; QQK
+FF62 ; [*0350.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET; QQK
+FF63 ; [*0351.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET; QQK
+FF64 ; [*024D.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA; QQK
+FF65 ; [*0240.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT; QQK
+FFE2 ; [*0571.0020.0003.FFE2] # FULLWIDTH NOT SIGN; QQK
+FFE3 ; [*0210.0020.0003.FFE3] # FULLWIDTH MACRON; QQK
+FFE4 ; [*0573.0020.0003.FFE4] # FULLWIDTH BROKEN BAR; QQK
+FFE8 ; [*0765.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL; QQK
+FFE9 ; [*04F0.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW; QQK
+FFEA ; [*04F2.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW; QQK
+FFEB ; [*04F1.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW; QQK
+FFEC ; [*04F3.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW; QQK
+FFED ; [*0803.0020.0012.FFED] # HALFWIDTH BLACK SQUARE; QQK
+FFEE ; [*082E.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE; QQK
+FFFC ; [*1490.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
+FFFD ; [*1491.0020.0002.FFFD] # REPLACEMENT CHARACTER
+10100 ; [*02F3.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
+10101 ; [*02F4.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
+10102 ; [*02F5.0020.0002.10102] # AEGEAN CHECK MARK
+10110 ; [*14D7.0020.0002.10110] # AEGEAN NUMBER TEN
+10111 ; [*14D8.0020.0002.10111] # AEGEAN NUMBER TWENTY
+10112 ; [*14D9.0020.0002.10112] # AEGEAN NUMBER THIRTY
+10113 ; [*14DA.0020.0002.10113] # AEGEAN NUMBER FORTY
+10114 ; [*14DB.0020.0002.10114] # AEGEAN NUMBER FIFTY
+10115 ; [*14DC.0020.0002.10115] # AEGEAN NUMBER SIXTY
+10116 ; [*14DD.0020.0002.10116] # AEGEAN NUMBER SEVENTY
+10117 ; [*14DE.0020.0002.10117] # AEGEAN NUMBER EIGHTY
+10118 ; [*14DF.0020.0002.10118] # AEGEAN NUMBER NINETY
+10119 ; [*14E0.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
+1011A ; [*14E1.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
+1011B ; [*14E2.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
+1011C ; [*14E3.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
+1011D ; [*14E4.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
+1011E ; [*14E5.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
+1011F ; [*14E6.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
+10120 ; [*14E7.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
+10121 ; [*14E8.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
+10122 ; [*14E9.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
+10123 ; [*14EA.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
+10124 ; [*14EB.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
+10125 ; [*14EC.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
+10126 ; [*14ED.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
+10127 ; [*14EE.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
+10128 ; [*14EF.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
+10129 ; [*14F0.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
+1012A ; [*14F1.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
+1012B ; [*14F2.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
+1012C ; [*14F3.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
+1012D ; [*14F4.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
+1012E ; [*14F5.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
+1012F ; [*14F6.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
+10130 ; [*14F7.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
+10131 ; [*14F8.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
+10132 ; [*14F9.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
+10133 ; [*14FA.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
+10137 ; [*0E49.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
+10138 ; [*0E4A.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
+10139 ; [*0E4B.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
+1013A ; [*0E4C.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
+1013B ; [*0E4D.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
+1013C ; [*0E4E.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
+1013D ; [*0E4F.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
+1013E ; [*0E50.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
+1013F ; [*0E51.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
+10140 ; [*14FB.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
+10141 ; [*14FC.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
+10144 ; [*14FD.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
+10145 ; [*14FE.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
+10146 ; [*14FF.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
+10147 ; [*1500.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+10149 ; [*1501.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
+1014A ; [*1502.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
+1014B ; [*1503.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
+1014C ; [*1504.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
+1014D ; [*1505.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
+1014E ; [*1506.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
+10150 ; [*1507.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
+10151 ; [*1508.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
+10152 ; [*1509.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
+10153 ; [*150A.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
+10154 ; [*150B.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
+10155 ; [*150C.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
+10156 ; [*150D.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+10157 ; [*150E.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
+10160 ; [*150F.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
+10161 ; [*1510.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
+10162 ; [*1511.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
+10163 ; [*1512.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
+10164 ; [*1513.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
+10165 ; [*1514.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
+10166 ; [*1515.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
+10167 ; [*1516.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
+10168 ; [*1517.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
+10169 ; [*1518.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
+1016A ; [*1519.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
+1016B ; [*151A.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
+1016C ; [*151B.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
+1016D ; [*151C.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
+1016E ; [*151D.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
+1016F ; [*151E.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
+10170 ; [*151F.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
+10171 ; [*1520.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
+10172 ; [*1521.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+10174 ; [*1522.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175 ; [*1523.0020.0002.10175] # GREEK ONE HALF SIGN
+10176 ; [*1524.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
+10177 ; [*1525.0020.0002.10177] # GREEK TWO THIRDS SIGN
+10178 ; [*1526.0020.0002.10178] # GREEK THREE QUARTERS SIGN
+10179 ; [*0E52.0020.0002.10179] # GREEK YEAR SIGN
+1017A ; [*0E53.0020.0002.1017A] # GREEK TALENT SIGN
+1017B ; [*0E54.0020.0002.1017B] # GREEK DRACHMA SIGN
+1017C ; [*0E55.0020.0002.1017C] # GREEK OBOL SIGN
+1017D ; [*0E56.0020.0002.1017D] # GREEK TWO OBOLS SIGN
+1017E ; [*0E57.0020.0002.1017E] # GREEK THREE OBOLS SIGN
+1017F ; [*0E58.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
+10180 ; [*0E59.0020.0002.10180] # GREEK FIVE OBOLS SIGN
+10181 ; [*0E5A.0020.0002.10181] # GREEK METRETES SIGN
+10182 ; [*0E5B.0020.0002.10182] # GREEK KYATHOS BASE SIGN
+10183 ; [*0E5C.0020.0002.10183] # GREEK LITRA SIGN
+10184 ; [*0E5D.0020.0002.10184] # GREEK OUNKIA SIGN
+10185 ; [*0E5E.0020.0002.10185] # GREEK XESTES SIGN
+10186 ; [*0E5F.0020.0002.10186] # GREEK ARTABE SIGN
+10187 ; [*0E60.0020.0002.10187] # GREEK AROURA SIGN
+10188 ; [*0E61.0020.0002.10188] # GREEK GRAMMA SIGN
+10189 ; [*0E62.0020.0002.10189] # GREEK TRYBLION BASE SIGN
+10190 ; [*0E63.0020.0002.10190] # ROMAN SEXTANS SIGN
+10191 ; [*0E64.0020.0002.10191] # ROMAN UNCIA SIGN
+10192 ; [*0E65.0020.0002.10192] # ROMAN SEMUNCIA SIGN
+10193 ; [*0E66.0020.0002.10193] # ROMAN SEXTULA SIGN
+10194 ; [*0E67.0020.0002.10194] # ROMAN DIMIDIA SEXTULA SIGN
+10195 ; [*0E68.0020.0002.10195] # ROMAN SILIQUA SIGN
+10196 ; [*0E69.0020.0002.10196] # ROMAN DENARIUS SIGN
+10197 ; [*0E6A.0020.0002.10197] # ROMAN QUINARIUS SIGN
+10198 ; [*0E6B.0020.0002.10198] # ROMAN SESTERTIUS SIGN
+10199 ; [*0E6C.0020.0002.10199] # ROMAN DUPONDIUS SIGN
+1019A ; [*0E6D.0020.0002.1019A] # ROMAN AS SIGN
+1019B ; [*0E6E.0020.0002.1019B] # ROMAN CENTURIAL SIGN
+101D0 ; [*0E6F.0020.0002.101D0] # PHAISTOS DISC SIGN PEDESTRIAN
+101D1 ; [*0E70.0020.0002.101D1] # PHAISTOS DISC SIGN PLUMED HEAD
+101D2 ; [*0E71.0020.0002.101D2] # PHAISTOS DISC SIGN TATTOOED HEAD
+101D3 ; [*0E72.0020.0002.101D3] # PHAISTOS DISC SIGN CAPTIVE
+101D4 ; [*0E73.0020.0002.101D4] # PHAISTOS DISC SIGN CHILD
+101D5 ; [*0E74.0020.0002.101D5] # PHAISTOS DISC SIGN WOMAN
+101D6 ; [*0E75.0020.0002.101D6] # PHAISTOS DISC SIGN HELMET
+101D7 ; [*0E76.0020.0002.101D7] # PHAISTOS DISC SIGN GAUNTLET
+101D8 ; [*0E77.0020.0002.101D8] # PHAISTOS DISC SIGN TIARA
+101D9 ; [*0E78.0020.0002.101D9] # PHAISTOS DISC SIGN ARROW
+101DA ; [*0E79.0020.0002.101DA] # PHAISTOS DISC SIGN BOW
+101DB ; [*0E7A.0020.0002.101DB] # PHAISTOS DISC SIGN SHIELD
+101DC ; [*0E7B.0020.0002.101DC] # PHAISTOS DISC SIGN CLUB
+101DD ; [*0E7C.0020.0002.101DD] # PHAISTOS DISC SIGN MANACLES
+101DE ; [*0E7D.0020.0002.101DE] # PHAISTOS DISC SIGN MATTOCK
+101DF ; [*0E7E.0020.0002.101DF] # PHAISTOS DISC SIGN SAW
+101E0 ; [*0E7F.0020.0002.101E0] # PHAISTOS DISC SIGN LID
+101E1 ; [*0E80.0020.0002.101E1] # PHAISTOS DISC SIGN BOOMERANG
+101E2 ; [*0E81.0020.0002.101E2] # PHAISTOS DISC SIGN CARPENTRY PLANE
+101E3 ; [*0E82.0020.0002.101E3] # PHAISTOS DISC SIGN DOLIUM
+101E4 ; [*0E83.0020.0002.101E4] # PHAISTOS DISC SIGN COMB
+101E5 ; [*0E84.0020.0002.101E5] # PHAISTOS DISC SIGN SLING
+101E6 ; [*0E85.0020.0002.101E6] # PHAISTOS DISC SIGN COLUMN
+101E7 ; [*0E86.0020.0002.101E7] # PHAISTOS DISC SIGN BEEHIVE
+101E8 ; [*0E87.0020.0002.101E8] # PHAISTOS DISC SIGN SHIP
+101E9 ; [*0E88.0020.0002.101E9] # PHAISTOS DISC SIGN HORN
+101EA ; [*0E89.0020.0002.101EA] # PHAISTOS DISC SIGN HIDE
+101EB ; [*0E8A.0020.0002.101EB] # PHAISTOS DISC SIGN BULLS LEG
+101EC ; [*0E8B.0020.0002.101EC] # PHAISTOS DISC SIGN CAT
+101ED ; [*0E8C.0020.0002.101ED] # PHAISTOS DISC SIGN RAM
+101EE ; [*0E8D.0020.0002.101EE] # PHAISTOS DISC SIGN EAGLE
+101EF ; [*0E8E.0020.0002.101EF] # PHAISTOS DISC SIGN DOVE
+101F0 ; [*0E8F.0020.0002.101F0] # PHAISTOS DISC SIGN TUNNY
+101F1 ; [*0E90.0020.0002.101F1] # PHAISTOS DISC SIGN BEE
+101F2 ; [*0E91.0020.0002.101F2] # PHAISTOS DISC SIGN PLANE TREE
+101F3 ; [*0E92.0020.0002.101F3] # PHAISTOS DISC SIGN VINE
+101F4 ; [*0E93.0020.0002.101F4] # PHAISTOS DISC SIGN PAPYRUS
+101F5 ; [*0E94.0020.0002.101F5] # PHAISTOS DISC SIGN ROSETTE
+101F6 ; [*0E95.0020.0002.101F6] # PHAISTOS DISC SIGN LILY
+101F7 ; [*0E96.0020.0002.101F7] # PHAISTOS DISC SIGN OX BACK
+101F8 ; [*0E97.0020.0002.101F8] # PHAISTOS DISC SIGN FLUTE
+101F9 ; [*0E98.0020.0002.101F9] # PHAISTOS DISC SIGN GRATER
+101FA ; [*0E99.0020.0002.101FA] # PHAISTOS DISC SIGN STRAINER
+101FB ; [*0E9A.0020.0002.101FB] # PHAISTOS DISC SIGN SMALL AXE
+101FC ; [*0E9B.0020.0002.101FC] # PHAISTOS DISC SIGN WAVY BAND
+10322 ; [*14D5.0020.0002.10322] # OLD ITALIC NUMERAL TEN
+10323 ; [*14D6.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
+1039F ; [*02F6.0020.0002.1039F] # UGARITIC WORD DIVIDER
+103D0 ; [*02F7.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
+103D3 ; [*1527.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
+103D4 ; [*1528.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
+103D5 ; [*1529.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
+10857 ; [*02D9.0020.0002.10857] # IMPERIAL ARAMAIC SECTION SIGN
+1085B ; [*152F.0020.0002.1085B] # IMPERIAL ARAMAIC NUMBER TEN
+1085C ; [*1530.0020.0002.1085C] # IMPERIAL ARAMAIC NUMBER TWENTY
+1085D ; [*1531.0020.0002.1085D] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
+1085E ; [*1532.0020.0002.1085E] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+1085F ; [*1533.0020.0002.1085F] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10917 ; [*152C.0020.0002.10917] # PHOENICIAN NUMBER TEN
+10918 ; [*152D.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
+10919 ; [*152E.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
+1091F ; [*02F8.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
+1093F ; [*02F2.0020.0002.1093F] # LYDIAN TRIANGULAR MARK
+10A44 ; [*1547.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
+10A45 ; [*1548.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
+10A46 ; [*1549.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
+10A47 ; [*154A.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
+10A50 ; [*03FA.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
+10A51 ; [*03FB.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
+10A52 ; [*03FC.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
+10A53 ; [*03FD.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
+10A54 ; [*03FE.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
+10A55 ; [*03FF.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
+10A56 ; [*02BC.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
+10A57 ; [*02BD.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
+10A58 ; [*0400.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
+10A7E ; [*152A.0020.0002.10A7E] # OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F ; [*152B.0020.0002.10A7F] # OLD SOUTH ARABIAN NUMERIC INDICATOR
+10B39 ; [*0401.0020.0002.10B39] # AVESTAN ABBREVIATION MARK
+10B3A ; [*02DA.0020.0002.10B3A] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
+10B3B ; [*02DB.0020.0002.10B3B] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
+10B3C ; [*02DC.0020.0002.10B3C] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
+10B3D ; [*02DD.0020.0002.10B3D] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
+10B3E ; [*02DE.0020.0002.10B3E] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
+10B3F ; [*02DF.0020.0002.10B3F] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B5C ; [*1534.0020.0002.10B5C] # INSCRIPTIONAL PARTHIAN NUMBER TEN
+10B5D ; [*1535.0020.0002.10B5D] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
+10B5E ; [*1536.0020.0002.10B5E] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
+10B5F ; [*1537.0020.0002.10B5F] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B7C ; [*1538.0020.0002.10B7C] # INSCRIPTIONAL PAHLAVI NUMBER TEN
+10B7D ; [*1539.0020.0002.10B7D] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
+10B7E ; [*153A.0020.0002.10B7E] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
+10B7F ; [*153B.0020.0002.10B7F] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10E69 ; [*14BE.0020.0002.10E69] # RUMI NUMBER TEN
+10E6A ; [*14BF.0020.0002.10E6A] # RUMI NUMBER TWENTY
+10E6B ; [*14C0.0020.0002.10E6B] # RUMI NUMBER THIRTY
+10E6C ; [*14C1.0020.0002.10E6C] # RUMI NUMBER FORTY
+10E6D ; [*14C2.0020.0002.10E6D] # RUMI NUMBER FIFTY
+10E6E ; [*14C3.0020.0002.10E6E] # RUMI NUMBER SIXTY
+10E6F ; [*14C4.0020.0002.10E6F] # RUMI NUMBER SEVENTY
+10E70 ; [*14C5.0020.0002.10E70] # RUMI NUMBER EIGHTY
+10E71 ; [*14C6.0020.0002.10E71] # RUMI NUMBER NINETY
+10E72 ; [*14C7.0020.0002.10E72] # RUMI NUMBER ONE HUNDRED
+10E73 ; [*14C8.0020.0002.10E73] # RUMI NUMBER TWO HUNDRED
+10E74 ; [*14C9.0020.0002.10E74] # RUMI NUMBER THREE HUNDRED
+10E75 ; [*14CA.0020.0002.10E75] # RUMI NUMBER FOUR HUNDRED
+10E76 ; [*14CB.0020.0002.10E76] # RUMI NUMBER FIVE HUNDRED
+10E77 ; [*14CC.0020.0002.10E77] # RUMI NUMBER SIX HUNDRED
+10E78 ; [*14CD.0020.0002.10E78] # RUMI NUMBER SEVEN HUNDRED
+10E79 ; [*14CE.0020.0002.10E79] # RUMI NUMBER EIGHT HUNDRED
+10E7A ; [*14CF.0020.0002.10E7A] # RUMI NUMBER NINE HUNDRED
+10E7B ; [*14D0.0020.0002.10E7B] # RUMI FRACTION ONE HALF
+10E7C ; [*14D1.0020.0002.10E7C] # RUMI FRACTION ONE QUARTER
+10E7D ; [*14D2.0020.0002.10E7D] # RUMI FRACTION ONE THIRD
+10E7E ; [*14D3.0020.0002.10E7E] # RUMI FRACTION TWO THIRDS
+11047 ; [*02BE.0020.0002.11047] # BRAHMI DANDA
+11048 ; [*02BF.0020.0002.11048] # BRAHMI DOUBLE DANDA
+11049 ; [*03F5.0020.0002.11049] # BRAHMI PUNCTUATION DOT
+1104A ; [*03F6.0020.0002.1104A] # BRAHMI PUNCTUATION DOUBLE DOT
+1104B ; [*03F7.0020.0002.1104B] # BRAHMI PUNCTUATION LINE
+1104C ; [*03F8.0020.0002.1104C] # BRAHMI PUNCTUATION CRESCENT BAR
+1104D ; [*03F9.0020.0002.1104D] # BRAHMI PUNCTUATION LOTUS
+1105B ; [*153C.0020.0002.1105B] # BRAHMI NUMBER TEN
+1105C ; [*153D.0020.0002.1105C] # BRAHMI NUMBER TWENTY
+1105D ; [*153E.0020.0002.1105D] # BRAHMI NUMBER THIRTY
+1105E ; [*153F.0020.0002.1105E] # BRAHMI NUMBER FORTY
+1105F ; [*1540.0020.0002.1105F] # BRAHMI NUMBER FIFTY
+11060 ; [*1541.0020.0002.11060] # BRAHMI NUMBER SIXTY
+11061 ; [*1542.0020.0002.11061] # BRAHMI NUMBER SEVENTY
+11062 ; [*1543.0020.0002.11062] # BRAHMI NUMBER EIGHTY
+11063 ; [*1544.0020.0002.11063] # BRAHMI NUMBER NINETY
+11064 ; [*1545.0020.0002.11064] # BRAHMI NUMBER ONE HUNDRED
+11065 ; [*1546.0020.0002.11065] # BRAHMI NUMBER ONE THOUSAND
+110BB ; [*0402.0020.0002.110BB] # KAITHI ABBREVIATION SIGN
+110BC ; [*0403.0020.0002.110BC] # KAITHI ENUMERATION SIGN
+110BD ; [.0000.0000.0000.110BD] # KAITHI NUMBER SIGN
+110BE ; [*02E0.0020.0002.110BE] # KAITHI SECTION MARK
+110BF ; [*02E1.0020.0002.110BF] # KAITHI DOUBLE SECTION MARK
+110C0 ; [*02C0.0020.0002.110C0] # KAITHI DANDA
+110C1 ; [*02C1.0020.0002.110C1] # KAITHI DOUBLE DANDA
+12432 ; [*154B.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+12433 ; [*154C.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+12456 ; [*154D.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
+12457 ; [*154E.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
+1245A ; [*154F.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
+1245B ; [*1550.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
+1245C ; [*1551.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
+1245D ; [*1552.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
+1245E ; [*1553.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
+1245F ; [*1554.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
+12460 ; [*1555.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
+12461 ; [*1556.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
+12462 ; [*1557.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12470 ; [*02F9.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
+12471 ; [*02FA.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+12472 ; [*02FB.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+12473 ; [*02FC.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
+1D000 ; [*0E9C.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
+1D001 ; [*0E9D.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
+1D002 ; [*0E9E.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
+1D003 ; [*0E9F.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
+1D004 ; [*0EA0.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
+1D005 ; [*0EA1.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
+1D006 ; [*0EA2.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
+1D007 ; [*0EA3.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
+1D008 ; [*0EA4.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
+1D009 ; [*0EA5.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
+1D00A ; [*0EA6.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
+1D00B ; [*0EA7.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
+1D00C ; [*0EA8.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
+1D00D ; [*0EA9.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
+1D00E ; [*0EAA.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
+1D00F ; [*0EAB.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
+1D010 ; [*0EAC.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
+1D011 ; [*0EAD.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
+1D012 ; [*0EAE.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
+1D013 ; [*0EAF.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
+1D014 ; [*0EB0.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
+1D015 ; [*0EB1.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
+1D016 ; [*0EB2.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
+1D017 ; [*0EB3.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
+1D018 ; [*0EB4.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
+1D019 ; [*0EB5.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
+1D01A ; [*0EB6.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
+1D01B ; [*0EB7.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
+1D01C ; [*0EB8.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
+1D01D ; [*0EB9.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
+1D01E ; [*0EBA.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
+1D01F ; [*0EBB.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
+1D020 ; [*0EBC.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
+1D021 ; [*0EBD.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
+1D022 ; [*0EBE.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
+1D023 ; [*0EBF.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
+1D024 ; [*0EC0.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
+1D025 ; [*0EC1.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
+1D026 ; [*0EC2.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
+1D027 ; [*0EC3.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
+1D028 ; [*0EC4.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
+1D029 ; [*0EC5.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
+1D02A ; [*0EC6.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
+1D02B ; [*0EC7.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
+1D02C ; [*0EC8.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
+1D02D ; [*0EC9.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
+1D02E ; [*0ECA.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
+1D02F ; [*0ECB.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
+1D030 ; [*0ECC.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
+1D031 ; [*0ECD.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
+1D032 ; [*0ECE.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
+1D033 ; [*0ECF.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
+1D034 ; [*0ED0.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
+1D035 ; [*0ED1.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
+1D036 ; [*0ED2.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
+1D037 ; [*0ED3.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
+1D038 ; [*0ED4.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
+1D039 ; [*0ED5.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
+1D03A ; [*0ED6.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
+1D03B ; [*0ED7.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
+1D03C ; [*0ED8.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
+1D03D ; [*0ED9.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
+1D03E ; [*0EDA.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
+1D03F ; [*0EDB.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
+1D040 ; [*0EDC.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
+1D041 ; [*0EDD.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
+1D042 ; [*0EDE.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
+1D043 ; [*0EDF.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
+1D044 ; [*0EE0.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
+1D045 ; [*0EE1.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
+1D046 ; [*0EE2.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
+1D047 ; [*0EE3.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
+1D048 ; [*0EE4.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
+1D049 ; [*0EE5.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
+1D04A ; [*0EE6.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
+1D04B ; [*0EE7.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
+1D04C ; [*0EE8.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
+1D04D ; [*0EE9.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
+1D04E ; [*0EEA.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
+1D04F ; [*0EEB.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
+1D050 ; [*0EEC.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
+1D051 ; [*0EED.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
+1D052 ; [*0EEE.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
+1D053 ; [*0EEF.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
+1D054 ; [*0EF0.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
+1D055 ; [*0EF1.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
+1D056 ; [*0EF2.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
+1D057 ; [*0EF3.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
+1D058 ; [*0EF4.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
+1D059 ; [*0EF5.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
+1D05A ; [*0EF6.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
+1D05B ; [*0EF7.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
+1D05C ; [*0EF8.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
+1D05D ; [*0EF9.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
+1D05E ; [*0EFA.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
+1D05F ; [*0EFB.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
+1D060 ; [*0EFC.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
+1D061 ; [*0EFD.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
+1D062 ; [*0EFE.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
+1D063 ; [*0EFF.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
+1D064 ; [*0F00.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
+1D065 ; [*0F01.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
+1D066 ; [*0F02.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
+1D067 ; [*0F03.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
+1D068 ; [*0F04.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
+1D069 ; [*0F05.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
+1D06A ; [*0F06.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
+1D06B ; [*0F07.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
+1D06C ; [*0F08.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
+1D06D ; [*0F09.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
+1D06E ; [*0F0A.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
+1D06F ; [*0F0B.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
+1D070 ; [*0F0C.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
+1D071 ; [*0F0D.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
+1D072 ; [*0F0E.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
+1D073 ; [*0F0F.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
+1D074 ; [*0F10.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
+1D075 ; [*0F11.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
+1D076 ; [*0F12.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
+1D077 ; [*0F13.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
+1D078 ; [*0F14.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
+1D079 ; [*0F15.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
+1D07A ; [*0F16.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
+1D07B ; [*0F17.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
+1D07C ; [*0F18.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
+1D07D ; [*0F19.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
+1D07E ; [*0F1A.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
+1D07F ; [*0F1B.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
+1D080 ; [*0F1C.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
+1D081 ; [*0F1D.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
+1D082 ; [*0F1E.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
+1D083 ; [*0F1F.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
+1D084 ; [*0F20.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
+1D085 ; [*0F21.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
+1D086 ; [*0F22.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
+1D087 ; [*0F23.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
+1D088 ; [*0F24.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
+1D089 ; [*0F25.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
+1D08A ; [*0F26.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
+1D08B ; [*0F27.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
+1D08C ; [*0F28.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
+1D08D ; [*0F29.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
+1D08E ; [*0F2A.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
+1D08F ; [*0F2B.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
+1D090 ; [*0F2C.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
+1D091 ; [*0F2D.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
+1D092 ; [*0F2E.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
+1D093 ; [*0F2F.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
+1D094 ; [*0F30.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
+1D095 ; [*0F31.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
+1D096 ; [*0F32.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
+1D097 ; [*0F33.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
+1D098 ; [*0F34.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
+1D099 ; [*0F35.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
+1D09A ; [*0F36.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
+1D09B ; [*0F37.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
+1D09C ; [*0F38.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
+1D09D ; [*0F39.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
+1D09E ; [*0F3A.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
+1D09F ; [*0F3B.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
+1D0A0 ; [*0F3C.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
+1D0A1 ; [*0F3D.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
+1D0A2 ; [*0F3E.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
+1D0A3 ; [*0F3F.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
+1D0A4 ; [*0F40.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
+1D0A5 ; [*0F41.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
+1D0A6 ; [*0F42.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
+1D0A7 ; [*0F43.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
+1D0A8 ; [*0F44.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
+1D0A9 ; [*0F45.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
+1D0AA ; [*0F46.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
+1D0AB ; [*0F47.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
+1D0AC ; [*0F48.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
+1D0AD ; [*0F49.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
+1D0AE ; [*0F4A.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
+1D0AF ; [*0F4B.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
+1D0B0 ; [*0F4C.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
+1D0B1 ; [*0F4D.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
+1D0B2 ; [*0F4E.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
+1D0B3 ; [*0F4F.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
+1D0B4 ; [*0F50.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
+1D0B5 ; [*0F51.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
+1D0B6 ; [*0F52.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
+1D0B7 ; [*0F53.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
+1D0B8 ; [*0F54.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
+1D0B9 ; [*0F55.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
+1D0BA ; [*0F56.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
+1D0BB ; [*0F57.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
+1D0BC ; [*0F58.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
+1D0BD ; [*0F59.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
+1D0BE ; [*0F5A.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
+1D0BF ; [*0F5B.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
+1D0C0 ; [*0F5C.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
+1D0C1 ; [*0F5D.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
+1D0C2 ; [*0F5E.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
+1D0C3 ; [*0F5F.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
+1D0C4 ; [*0F60.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
+1D0C5 ; [*0F61.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
+1D0C6 ; [*0F62.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
+1D0C7 ; [*0F63.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
+1D0C8 ; [*0F64.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
+1D0C9 ; [*0F65.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
+1D0CA ; [*0F66.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
+1D0CB ; [*0F67.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
+1D0CC ; [*0F68.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
+1D0CD ; [*0F69.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
+1D0CE ; [*0F6A.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
+1D0CF ; [*0F6B.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
+1D0D0 ; [*0F6C.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
+1D0D1 ; [*0F6D.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D2 ; [*0F6E.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
+1D0D3 ; [*0F6F.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
+1D0D4 ; [*0F70.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
+1D0D5 ; [*0F71.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D6 ; [*0F72.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
+1D0D7 ; [*0F73.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
+1D0D8 ; [*0F74.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
+1D0D9 ; [*0F75.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
+1D0DA ; [*0F76.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
+1D0DB ; [*0F77.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
+1D0DC ; [*0F78.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
+1D0DD ; [*0F79.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
+1D0DE ; [*0F7A.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
+1D0DF ; [*0F7B.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
+1D0E0 ; [*0F7C.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
+1D0E1 ; [*0F7D.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
+1D0E2 ; [*0F7E.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
+1D0E3 ; [*0F7F.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
+1D0E4 ; [*0F80.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
+1D0E5 ; [*0F81.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
+1D0E6 ; [*0F82.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
+1D0E7 ; [*0F83.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
+1D0E8 ; [*0F84.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
+1D0E9 ; [*0F85.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
+1D0EA ; [*0F86.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
+1D0EB ; [*0F87.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
+1D0EC ; [*0F88.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
+1D0ED ; [*0F89.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
+1D0EE ; [*0F8A.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
+1D0EF ; [*0F8B.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
+1D0F0 ; [*0F8C.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
+1D0F1 ; [*0F8D.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
+1D0F2 ; [*0F8E.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
+1D0F3 ; [*0F8F.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
+1D0F4 ; [*0F90.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
+1D0F5 ; [*0F91.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D100 ; [*0F92.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
+1D101 ; [*0F93.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
+1D102 ; [*0F94.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
+1D103 ; [*0F95.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
+1D104 ; [*0F96.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
+1D105 ; [*0F97.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
+1D106 ; [*0F98.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
+1D107 ; [*0F99.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
+1D108 ; [*0F9A.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
+1D109 ; [*0F9B.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
+1D10A ; [*0F9C.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
+1D10B ; [*0F9D.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
+1D10C ; [*0F9E.0020.0002.1D10C] # MUSICAL SYMBOL CODA
+1D10D ; [*0F9F.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
+1D10E ; [*0FA0.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
+1D10F ; [*0FA1.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
+1D110 ; [*0FA2.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
+1D111 ; [*0FA3.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
+1D112 ; [*0FA4.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
+1D113 ; [*0FA5.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
+1D114 ; [*0FA6.0020.0002.1D114] # MUSICAL SYMBOL BRACE
+1D115 ; [*0FA7.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
+1D116 ; [*0FA8.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
+1D117 ; [*0FA9.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
+1D118 ; [*0FAA.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
+1D119 ; [*0FAB.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
+1D11A ; [*0FAC.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
+1D11B ; [*0FAD.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
+1D11C ; [*0FAE.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
+1D11D ; [*0FAF.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
+1D11E ; [*0FB0.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
+1D11F ; [*0FB1.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
+1D120 ; [*0FB2.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
+1D121 ; [*0FB3.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
+1D122 ; [*0FB4.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
+1D123 ; [*0FB5.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
+1D124 ; [*0FB6.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
+1D125 ; [*0FB7.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
+1D126 ; [*0FB8.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
+1D129 ; [*0FCC.0020.0002.1D129] # MUSICAL SYMBOL MULTIPLE MEASURE REST
+1D12A ; [*0FBC.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
+1D12B ; [*0FBD.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
+1D12C ; [*0FBE.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
+1D12D ; [*0FBF.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
+1D12E ; [*0FC0.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
+1D12F ; [*0FC1.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
+1D130 ; [*0FC2.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
+1D131 ; [*0FC3.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
+1D132 ; [*0FC4.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
+1D133 ; [*0FC5.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
+1D134 ; [*0FC6.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
+1D135 ; [*0FC7.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
+1D136 ; [*0FC8.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
+1D137 ; [*0FC9.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
+1D138 ; [*0FCA.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
+1D139 ; [*0FCB.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
+1D13A ; [*0FCD.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
+1D13B ; [*0FCE.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
+1D13C ; [*0FCF.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
+1D13D ; [*0FD0.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
+1D13E ; [*0FD1.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
+1D13F ; [*0FD2.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
+1D140 ; [*0FD3.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
+1D141 ; [*0FD4.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
+1D142 ; [*0FD5.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
+1D143 ; [*0FD6.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
+1D144 ; [*0FD7.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
+1D145 ; [*0FD8.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
+1D146 ; [*0FD9.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
+1D147 ; [*0FDA.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
+1D148 ; [*0FDB.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
+1D149 ; [*0FDC.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
+1D14A ; [*0FDD.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
+1D14B ; [*0FDE.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
+1D14C ; [*0FDF.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
+1D14D ; [*0FE0.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
+1D14E ; [*0FE1.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
+1D14F ; [*0FE2.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
+1D150 ; [*0FE3.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
+1D151 ; [*0FE4.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
+1D152 ; [*0FE5.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
+1D153 ; [*0FE6.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
+1D154 ; [*0FE7.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
+1D155 ; [*0FE8.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
+1D156 ; [*0FE9.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
+1D157 ; [*0FEA.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
+1D158 ; [*0FEB.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
+1D159 ; [*0FEC.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
+1D15A ; [*0FED.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
+1D15B ; [*0FEE.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
+1D15C ; [*0FEF.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
+1D15D ; [*0FF0.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
+1D15E ; [*0FEA.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE; QQCN
+1D15F ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE; QQCN
+1D160 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE; QQCN
+1D161 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE; QQCN
+1D162 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE; QQCN
+1D163 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE; QQCN
+1D164 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE; QQCN
1D165 ; [.0000.0000.0000.1D165] # MUSICAL SYMBOL COMBINING STEM
1D166 ; [.0000.0000.0000.1D166] # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
1D167 ; [.0000.0000.0000.1D167] # MUSICAL SYMBOL COMBINING TREMOLO-1
1D168 ; [.0000.0000.0000.1D168] # MUSICAL SYMBOL COMBINING TREMOLO-2
1D169 ; [.0000.0000.0000.1D169] # MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A ; [*0E5B.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B ; [*0E5C.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C ; [*0E5D.0020.0002.1D16C] # MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16A ; [*0FF1.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
+1D16B ; [*0FF2.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
+1D16C ; [*0FF3.0020.0002.1D16C] # MUSICAL SYMBOL FINGERED TREMOLO-3
1D16D ; [.0000.0000.0000.1D16D] # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
1D16E ; [.0000.0000.0000.1D16E] # MUSICAL SYMBOL COMBINING FLAG-1
1D16F ; [.0000.0000.0000.1D16F] # MUSICAL SYMBOL COMBINING FLAG-2
@@ -4052,8 +4621,8 @@ FFFD ; [*0F12.0020.0002.FFFD] # REPLACEMENT CHARACTER
1D180 ; [.0000.0000.0000.1D180] # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
1D181 ; [.0000.0000.0000.1D181] # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
1D182 ; [.0000.0000.0000.1D182] # MUSICAL SYMBOL COMBINING LOURE
-1D183 ; [*0E5E.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
-1D184 ; [*0E5F.0020.0002.1D184] # MUSICAL SYMBOL ARPEGGIATO DOWN
+1D183 ; [*0FF4.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
+1D184 ; [*0FF5.0020.0002.1D184] # MUSICAL SYMBOL ARPEGGIATO DOWN
1D185 ; [.0000.0000.0000.1D185] # MUSICAL SYMBOL COMBINING DOIT
1D186 ; [.0000.0000.0000.1D186] # MUSICAL SYMBOL COMBINING RIP
1D187 ; [.0000.0000.0000.1D187] # MUSICAL SYMBOL COMBINING FLIP
@@ -4061,272 +4630,1259 @@ FFFD ; [*0F12.0020.0002.FFFD] # REPLACEMENT CHARACTER
1D189 ; [.0000.0000.0000.1D189] # MUSICAL SYMBOL COMBINING BEND
1D18A ; [.0000.0000.0000.1D18A] # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
1D18B ; [.0000.0000.0000.1D18B] # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C ; [*0E60.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
-1D18D ; [*0E61.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
-1D18E ; [*0E62.0020.0002.1D18E] # MUSICAL SYMBOL Z
-1D18F ; [*0E63.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
-1D190 ; [*0E64.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
-1D191 ; [*0E65.0020.0002.1D191] # MUSICAL SYMBOL FORTE
-1D192 ; [*0E66.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
-1D193 ; [*0E67.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
-1D194 ; [*0E68.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 ; [*0E69.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 ; [*0E6A.0020.0002.1D196] # MUSICAL SYMBOL TR
-1D197 ; [*0E6B.0020.0002.1D197] # MUSICAL SYMBOL TURN
-1D198 ; [*0E6C.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
-1D199 ; [*0E6D.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
-1D19A ; [*0E6E.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
-1D19B ; [*0E6F.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C ; [*0E70.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D ; [*0E71.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E ; [*0E72.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F ; [*0E73.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 ; [*0E74.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 ; [*0E75.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 ; [*0E76.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 ; [*0E77.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 ; [*0E78.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 ; [*0E79.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6 ; [*0E7A.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 ; [*0E7B.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
-1D1A8 ; [*0E7C.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
-1D1A9 ; [*0E7D.0020.0002.1D1A9] # MUSICAL SYMBOL DEGREE SLASH
+1D18C ; [*0FF6.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
+1D18D ; [*0FF7.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
+1D18E ; [*0FF8.0020.0002.1D18E] # MUSICAL SYMBOL Z
+1D18F ; [*0FF9.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
+1D190 ; [*0FFA.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
+1D191 ; [*0FFB.0020.0002.1D191] # MUSICAL SYMBOL FORTE
+1D192 ; [*0FFC.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
+1D193 ; [*0FFD.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
+1D194 ; [*0FFE.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
+1D195 ; [*0FFF.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
+1D196 ; [*1000.0020.0002.1D196] # MUSICAL SYMBOL TR
+1D197 ; [*1001.0020.0002.1D197] # MUSICAL SYMBOL TURN
+1D198 ; [*1002.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
+1D199 ; [*1003.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
+1D19A ; [*1004.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
+1D19B ; [*1005.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
+1D19C ; [*1006.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
+1D19D ; [*1007.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
+1D19E ; [*1008.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
+1D19F ; [*1009.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
+1D1A0 ; [*100A.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
+1D1A1 ; [*100B.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
+1D1A2 ; [*100C.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
+1D1A3 ; [*100D.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
+1D1A4 ; [*100E.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
+1D1A5 ; [*100F.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
+1D1A6 ; [*1010.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
+1D1A7 ; [*1011.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
+1D1A8 ; [*1012.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
+1D1A9 ; [*1013.0020.0002.1D1A9] # MUSICAL SYMBOL DEGREE SLASH
1D1AA ; [.0000.0000.0000.1D1AA] # MUSICAL SYMBOL COMBINING DOWN BOW
1D1AB ; [.0000.0000.0000.1D1AB] # MUSICAL SYMBOL COMBINING UP BOW
1D1AC ; [.0000.0000.0000.1D1AC] # MUSICAL SYMBOL COMBINING HARMONIC
1D1AD ; [.0000.0000.0000.1D1AD] # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE ; [*0E7E.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
-1D1AF ; [*0E7F.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 ; [*0E80.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1 ; [*0E81.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
-1D1B2 ; [*0E82.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 ; [*0E83.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 ; [*0E84.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
-1D1B5 ; [*0E85.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
-1D1B6 ; [*0E86.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
-1D1B7 ; [*0E87.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
-1D1B8 ; [*0E88.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
-1D1B9 ; [*0E89.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA ; [*0E8A.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB ; [*0E89.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA; QQCN
-1D1BC ; [*0E8A.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK; QQCN
-1D1BD ; [*0E89.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE; QQCN
-1D1BE ; [*0E8A.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK; QQCN
-1D1BF ; [*0E89.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE; QQCN
-1D1C0 ; [*0E8A.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK; QQCN
-1D1C1 ; [*0E8B.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 ; [*0E8C.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 ; [*0E8D.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
-1D1C4 ; [*0E8E.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 ; [*0E8F.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
-1D1C6 ; [*0E90.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7 ; [*0E91.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 ; [*0E92.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 ; [*0E93.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA ; [*0E94.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB ; [*0E95.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC ; [*0E96.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD ; [*0E97.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE ; [*0E98.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF ; [*0E99.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
-1D1D0 ; [*0E9A.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 ; [*0E9B.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 ; [*0E9C.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
-1D1D3 ; [*0E9D.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
-1D1D4 ; [*0E9E.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
-1D1D5 ; [*0E9F.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
-1D1D6 ; [*0EA0.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
-1D1D7 ; [*0EA1.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
-1D1D8 ; [*0EA2.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
-1D1D9 ; [*0EA3.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
-1D1DA ; [*0EA4.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB ; [*0EA5.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC ; [*0EA6.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD ; [*0EA7.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
-1D200 ; [*0EA8.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
-1D201 ; [*0EA9.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
-1D202 ; [*0EAA.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
-1D203 ; [*0EAB.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
-1D204 ; [*0EAC.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
-1D205 ; [*0EAD.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
-1D206 ; [*0EAE.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
-1D207 ; [*0EAF.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
-1D208 ; [*0EB0.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
-1D209 ; [*0EB1.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
-1D20A ; [*0EB2.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
-1D20B ; [*0EB3.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
-1D20C ; [*0EB4.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
-1D20D ; [*0EB5.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
-1D20E ; [*0EB6.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
-1D20F ; [*0EB7.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
-1D210 ; [*0EB8.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
-1D211 ; [*0EB9.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
-1D212 ; [*0EBA.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
-1D213 ; [*0EBB.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
-1D214 ; [*0EBC.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
-1D215 ; [*0EBD.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
-1D216 ; [*0EBE.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
-1D217 ; [*0EBF.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
-1D218 ; [*0EC0.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
-1D219 ; [*0EC1.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
-1D21A ; [*0EC2.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
-1D21B ; [*0EC3.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
-1D21C ; [*0EC4.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
-1D21D ; [*0EC5.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E ; [*0EC6.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F ; [*0EC7.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220 ; [*0EC8.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221 ; [*0EC9.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222 ; [*0ECA.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223 ; [*0ECB.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224 ; [*0ECC.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225 ; [*0ECD.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226 ; [*0ECE.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227 ; [*0ECF.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228 ; [*0ED0.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229 ; [*0ED1.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A ; [*0ED2.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B ; [*0ED3.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C ; [*0ED4.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D ; [*0ED5.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E ; [*0ED6.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F ; [*0ED7.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230 ; [*0ED8.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231 ; [*0ED9.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232 ; [*0EDA.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233 ; [*0EDB.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234 ; [*0EDC.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235 ; [*0EDD.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236 ; [*0EDE.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237 ; [*0EDF.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238 ; [*0EE0.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239 ; [*0EE1.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A ; [*0EE2.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B ; [*0EE3.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C ; [*0EE4.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D ; [*0EE5.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E ; [*0EE6.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F ; [*0EE7.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240 ; [*0EE8.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241 ; [*0EE9.0020.0002.1D241] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D1AE ; [*1014.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
+1D1AF ; [*1015.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
+1D1B0 ; [*1016.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
+1D1B1 ; [*1017.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
+1D1B2 ; [*1018.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
+1D1B3 ; [*1019.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
+1D1B4 ; [*101A.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
+1D1B5 ; [*101B.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
+1D1B6 ; [*101C.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
+1D1B7 ; [*101D.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
+1D1B8 ; [*101E.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
+1D1B9 ; [*101F.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
+1D1BA ; [*1020.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
+1D1BB ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA; QQCN
+1D1BC ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK; QQCN
+1D1BD ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE; QQCN
+1D1BE ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK; QQCN
+1D1BF ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE; QQCN
+1D1C0 ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK; QQCN
+1D1C1 ; [*1021.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
+1D1C2 ; [*1022.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
+1D1C3 ; [*1023.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
+1D1C4 ; [*1024.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
+1D1C5 ; [*1025.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
+1D1C6 ; [*1026.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
+1D1C7 ; [*1027.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
+1D1C8 ; [*1028.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
+1D1C9 ; [*1029.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
+1D1CA ; [*102A.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
+1D1CB ; [*102B.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
+1D1CC ; [*102C.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
+1D1CD ; [*102D.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
+1D1CE ; [*102E.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
+1D1CF ; [*102F.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
+1D1D0 ; [*1030.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
+1D1D1 ; [*1031.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
+1D1D2 ; [*1032.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
+1D1D3 ; [*1033.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
+1D1D4 ; [*1034.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
+1D1D5 ; [*1035.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
+1D1D6 ; [*1036.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
+1D1D7 ; [*1037.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
+1D1D8 ; [*1038.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
+1D1D9 ; [*1039.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
+1D1DA ; [*103A.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
+1D1DB ; [*103B.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
+1D1DC ; [*103C.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
+1D1DD ; [*103D.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
+1D200 ; [*103E.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
+1D201 ; [*103F.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
+1D202 ; [*1040.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
+1D203 ; [*1041.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
+1D204 ; [*1042.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
+1D205 ; [*1043.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
+1D206 ; [*1044.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
+1D207 ; [*1045.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
+1D208 ; [*1046.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
+1D209 ; [*1047.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
+1D20A ; [*1048.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
+1D20B ; [*1049.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
+1D20C ; [*104A.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
+1D20D ; [*104B.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
+1D20E ; [*104C.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
+1D20F ; [*104D.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
+1D210 ; [*104E.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
+1D211 ; [*104F.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
+1D212 ; [*1050.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
+1D213 ; [*1051.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
+1D214 ; [*1052.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
+1D215 ; [*1053.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
+1D216 ; [*1054.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
+1D217 ; [*1055.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
+1D218 ; [*1056.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
+1D219 ; [*1057.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
+1D21A ; [*1058.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
+1D21B ; [*1059.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
+1D21C ; [*105A.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
+1D21D ; [*105B.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
+1D21E ; [*105C.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
+1D21F ; [*105D.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
+1D220 ; [*105E.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
+1D221 ; [*105F.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
+1D222 ; [*1060.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
+1D223 ; [*1061.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
+1D224 ; [*1062.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
+1D225 ; [*1063.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
+1D226 ; [*1064.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
+1D227 ; [*1065.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
+1D228 ; [*1066.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
+1D229 ; [*1067.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
+1D22A ; [*1068.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
+1D22B ; [*1069.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
+1D22C ; [*106A.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
+1D22D ; [*106B.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
+1D22E ; [*106C.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
+1D22F ; [*106D.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
+1D230 ; [*106E.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
+1D231 ; [*106F.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
+1D232 ; [*1070.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
+1D233 ; [*1071.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
+1D234 ; [*1072.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
+1D235 ; [*1073.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
+1D236 ; [*1074.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
+1D237 ; [*1075.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
+1D238 ; [*1076.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
+1D239 ; [*1077.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
+1D23A ; [*1078.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
+1D23B ; [*1079.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
+1D23C ; [*107A.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
+1D23D ; [*107B.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
+1D23E ; [*107C.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
+1D23F ; [*107D.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
+1D240 ; [*107E.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
+1D241 ; [*107F.0020.0002.1D241] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
1D242 ; [.0000.0000.0000.1D242] # COMBINING GREEK MUSICAL TRISEME
1D243 ; [.0000.0000.0000.1D243] # COMBINING GREEK MUSICAL TETRASEME
1D244 ; [.0000.0000.0000.1D244] # COMBINING GREEK MUSICAL PENTASEME
-1D245 ; [*0EEA.0020.0002.1D245] # GREEK MUSICAL LEIMMA
-1D300 ; [*0C5F.0020.0002.1D300] # MONOGRAM FOR EARTH
-1D301 ; [*0C60.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
-1D302 ; [*0C61.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
-1D303 ; [*0C62.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
-1D304 ; [*0C63.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
-1D305 ; [*0C64.0020.0002.1D305] # DIGRAM FOR EARTH
-1D306 ; [*0C65.0020.0002.1D306] # TETRAGRAM FOR CENTRE
-1D307 ; [*0C66.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
-1D308 ; [*0C67.0020.0002.1D308] # TETRAGRAM FOR MIRED
-1D309 ; [*0C68.0020.0002.1D309] # TETRAGRAM FOR BARRIER
-1D30A ; [*0C69.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
-1D30B ; [*0C6A.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
-1D30C ; [*0C6B.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
-1D30D ; [*0C6C.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
-1D30E ; [*0C6D.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
-1D30F ; [*0C6E.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 ; [*0C6F.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
-1D311 ; [*0C70.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
-1D312 ; [*0C71.0020.0002.1D312] # TETRAGRAM FOR INCREASE
-1D313 ; [*0C72.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
-1D314 ; [*0C73.0020.0002.1D314] # TETRAGRAM FOR REACH
-1D315 ; [*0C74.0020.0002.1D315] # TETRAGRAM FOR CONTACT
-1D316 ; [*0C75.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
-1D317 ; [*0C76.0020.0002.1D317] # TETRAGRAM FOR WAITING
-1D318 ; [*0C77.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
-1D319 ; [*0C78.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
-1D31A ; [*0C79.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
-1D31B ; [*0C7A.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
-1D31C ; [*0C7B.0020.0002.1D31C] # TETRAGRAM FOR EASE
-1D31D ; [*0C7C.0020.0002.1D31D] # TETRAGRAM FOR JOY
-1D31E ; [*0C7D.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
-1D31F ; [*0C7E.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
-1D320 ; [*0C7F.0020.0002.1D320] # TETRAGRAM FOR DUTIES
-1D321 ; [*0C80.0020.0002.1D321] # TETRAGRAM FOR CHANGE
-1D322 ; [*0C81.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
-1D323 ; [*0C82.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
-1D324 ; [*0C83.0020.0002.1D324] # TETRAGRAM FOR PACKING
-1D325 ; [*0C84.0020.0002.1D325] # TETRAGRAM FOR LEGION
-1D326 ; [*0C85.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
-1D327 ; [*0C86.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
-1D328 ; [*0C87.0020.0002.1D328] # TETRAGRAM FOR GATHERING
-1D329 ; [*0C88.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
-1D32A ; [*0C89.0020.0002.1D32A] # TETRAGRAM FOR PURITY
-1D32B ; [*0C8A.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
-1D32C ; [*0C8B.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
-1D32D ; [*0C8C.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
-1D32E ; [*0C8D.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
-1D32F ; [*0C8E.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
-1D330 ; [*0C8F.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
-1D331 ; [*0C90.0020.0002.1D331] # TETRAGRAM FOR STOVE
-1D332 ; [*0C91.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
-1D333 ; [*0C92.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
-1D334 ; [*0C93.0020.0002.1D334] # TETRAGRAM FOR PATTERN
-1D335 ; [*0C94.0020.0002.1D335] # TETRAGRAM FOR RITUAL
-1D336 ; [*0C95.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
-1D337 ; [*0C96.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
-1D338 ; [*0C97.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
-1D339 ; [*0C98.0020.0002.1D339] # TETRAGRAM FOR MEASURE
-1D33A ; [*0C99.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
-1D33B ; [*0C9A.0020.0002.1D33B] # TETRAGRAM FOR UNITY
-1D33C ; [*0C9B.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
-1D33D ; [*0C9C.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
-1D33E ; [*0C9D.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
-1D33F ; [*0C9E.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
-1D340 ; [*0C9F.0020.0002.1D340] # TETRAGRAM FOR MASSING
-1D341 ; [*0CA0.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
-1D342 ; [*0CA1.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
-1D343 ; [*0CA2.0020.0002.1D343] # TETRAGRAM FOR DOUBT
-1D344 ; [*0CA3.0020.0002.1D344] # TETRAGRAM FOR WATCH
-1D345 ; [*0CA4.0020.0002.1D345] # TETRAGRAM FOR SINKING
-1D346 ; [*0CA5.0020.0002.1D346] # TETRAGRAM FOR INNER
-1D347 ; [*0CA6.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
-1D348 ; [*0CA7.0020.0002.1D348] # TETRAGRAM FOR DARKENING
-1D349 ; [*0CA8.0020.0002.1D349] # TETRAGRAM FOR DIMMING
-1D34A ; [*0CA9.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
-1D34B ; [*0CAA.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
-1D34C ; [*0CAB.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
-1D34D ; [*0CAC.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
-1D34E ; [*0CAD.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
-1D34F ; [*0CAE.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
-1D350 ; [*0CAF.0020.0002.1D350] # TETRAGRAM FOR FAILURE
-1D351 ; [*0CB0.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
-1D352 ; [*0CB1.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
-1D353 ; [*0CB2.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
-1D354 ; [*0CB3.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
-1D355 ; [*0CB4.0020.0002.1D355] # TETRAGRAM FOR LABOURING
-1D356 ; [*0CB5.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
-1D369 ; [*0F90.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
-1D36A ; [*0F91.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
-1D36B ; [*0F92.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
-1D36C ; [*0F93.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
-1D36D ; [*0F94.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
-1D36E ; [*0F95.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
-1D36F ; [*0F96.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
-1D370 ; [*0F97.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
-1D371 ; [*0F98.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
-1D6C1 ; [*04AE.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA; QQK
-1D6DB ; [*04AA.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL; QQK
-1D6FB ; [*04AE.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA; QQK
-1D715 ; [*04AA.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL; QQK
-1D735 ; [*04AE.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA; QQK
-1D74F ; [*04AA.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
-1D76F ; [*04AE.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA; QQK
-1D789 ; [*04AA.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL; QQK
-1D7A9 ; [*04AE.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA; QQK
-1D7C3 ; [*04AA.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
+1D245 ; [*1080.0020.0002.1D245] # GREEK MUSICAL LEIMMA
+1D300 ; [*0DBB.0020.0002.1D300] # MONOGRAM FOR EARTH
+1D301 ; [*0DBC.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
+1D302 ; [*0DBD.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
+1D303 ; [*0DBE.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
+1D304 ; [*0DBF.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
+1D305 ; [*0DC0.0020.0002.1D305] # DIGRAM FOR EARTH
+1D306 ; [*0DC1.0020.0002.1D306] # TETRAGRAM FOR CENTRE
+1D307 ; [*0DC2.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
+1D308 ; [*0DC3.0020.0002.1D308] # TETRAGRAM FOR MIRED
+1D309 ; [*0DC4.0020.0002.1D309] # TETRAGRAM FOR BARRIER
+1D30A ; [*0DC5.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
+1D30B ; [*0DC6.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
+1D30C ; [*0DC7.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
+1D30D ; [*0DC8.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
+1D30E ; [*0DC9.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
+1D30F ; [*0DCA.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
+1D310 ; [*0DCB.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
+1D311 ; [*0DCC.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
+1D312 ; [*0DCD.0020.0002.1D312] # TETRAGRAM FOR INCREASE
+1D313 ; [*0DCE.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
+1D314 ; [*0DCF.0020.0002.1D314] # TETRAGRAM FOR REACH
+1D315 ; [*0DD0.0020.0002.1D315] # TETRAGRAM FOR CONTACT
+1D316 ; [*0DD1.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
+1D317 ; [*0DD2.0020.0002.1D317] # TETRAGRAM FOR WAITING
+1D318 ; [*0DD3.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
+1D319 ; [*0DD4.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
+1D31A ; [*0DD5.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
+1D31B ; [*0DD6.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
+1D31C ; [*0DD7.0020.0002.1D31C] # TETRAGRAM FOR EASE
+1D31D ; [*0DD8.0020.0002.1D31D] # TETRAGRAM FOR JOY
+1D31E ; [*0DD9.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
+1D31F ; [*0DDA.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
+1D320 ; [*0DDB.0020.0002.1D320] # TETRAGRAM FOR DUTIES
+1D321 ; [*0DDC.0020.0002.1D321] # TETRAGRAM FOR CHANGE
+1D322 ; [*0DDD.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
+1D323 ; [*0DDE.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
+1D324 ; [*0DDF.0020.0002.1D324] # TETRAGRAM FOR PACKING
+1D325 ; [*0DE0.0020.0002.1D325] # TETRAGRAM FOR LEGION
+1D326 ; [*0DE1.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
+1D327 ; [*0DE2.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
+1D328 ; [*0DE3.0020.0002.1D328] # TETRAGRAM FOR GATHERING
+1D329 ; [*0DE4.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
+1D32A ; [*0DE5.0020.0002.1D32A] # TETRAGRAM FOR PURITY
+1D32B ; [*0DE6.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
+1D32C ; [*0DE7.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
+1D32D ; [*0DE8.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
+1D32E ; [*0DE9.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
+1D32F ; [*0DEA.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
+1D330 ; [*0DEB.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
+1D331 ; [*0DEC.0020.0002.1D331] # TETRAGRAM FOR STOVE
+1D332 ; [*0DED.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
+1D333 ; [*0DEE.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
+1D334 ; [*0DEF.0020.0002.1D334] # TETRAGRAM FOR PATTERN
+1D335 ; [*0DF0.0020.0002.1D335] # TETRAGRAM FOR RITUAL
+1D336 ; [*0DF1.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
+1D337 ; [*0DF2.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
+1D338 ; [*0DF3.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
+1D339 ; [*0DF4.0020.0002.1D339] # TETRAGRAM FOR MEASURE
+1D33A ; [*0DF5.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
+1D33B ; [*0DF6.0020.0002.1D33B] # TETRAGRAM FOR UNITY
+1D33C ; [*0DF7.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
+1D33D ; [*0DF8.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
+1D33E ; [*0DF9.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
+1D33F ; [*0DFA.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
+1D340 ; [*0DFB.0020.0002.1D340] # TETRAGRAM FOR MASSING
+1D341 ; [*0DFC.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
+1D342 ; [*0DFD.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
+1D343 ; [*0DFE.0020.0002.1D343] # TETRAGRAM FOR DOUBT
+1D344 ; [*0DFF.0020.0002.1D344] # TETRAGRAM FOR WATCH
+1D345 ; [*0E00.0020.0002.1D345] # TETRAGRAM FOR SINKING
+1D346 ; [*0E01.0020.0002.1D346] # TETRAGRAM FOR INNER
+1D347 ; [*0E02.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
+1D348 ; [*0E03.0020.0002.1D348] # TETRAGRAM FOR DARKENING
+1D349 ; [*0E04.0020.0002.1D349] # TETRAGRAM FOR DIMMING
+1D34A ; [*0E05.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
+1D34B ; [*0E06.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
+1D34C ; [*0E07.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
+1D34D ; [*0E08.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
+1D34E ; [*0E09.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
+1D34F ; [*0E0A.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
+1D350 ; [*0E0B.0020.0002.1D350] # TETRAGRAM FOR FAILURE
+1D351 ; [*0E0C.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
+1D352 ; [*0E0D.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
+1D353 ; [*0E0E.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
+1D354 ; [*0E0F.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
+1D355 ; [*0E10.0020.0002.1D355] # TETRAGRAM FOR LABOURING
+1D356 ; [*0E11.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
+1D369 ; [*1558.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
+1D36A ; [*1559.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
+1D36B ; [*155A.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
+1D36C ; [*155B.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
+1D36D ; [*155C.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
+1D36E ; [*155D.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
+1D36F ; [*155E.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
+1D370 ; [*155F.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
+1D371 ; [*1560.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
+1D6C1 ; [*0560.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA; QQK
+1D6DB ; [*055C.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL; QQK
+1D6FB ; [*0560.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA; QQK
+1D715 ; [*055C.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL; QQK
+1D735 ; [*0560.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA; QQK
+1D74F ; [*055C.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
+1D76F ; [*0560.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA; QQK
+1D789 ; [*055C.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL; QQK
+1D7A9 ; [*0560.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA; QQK
+1D7C3 ; [*055C.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
+1F000 ; [*1081.0020.0002.1F000] # MAHJONG TILE EAST WIND
+1F001 ; [*1082.0020.0002.1F001] # MAHJONG TILE SOUTH WIND
+1F002 ; [*1083.0020.0002.1F002] # MAHJONG TILE WEST WIND
+1F003 ; [*1084.0020.0002.1F003] # MAHJONG TILE NORTH WIND
+1F004 ; [*1085.0020.0002.1F004] # MAHJONG TILE RED DRAGON
+1F005 ; [*1086.0020.0002.1F005] # MAHJONG TILE GREEN DRAGON
+1F006 ; [*1087.0020.0002.1F006] # MAHJONG TILE WHITE DRAGON
+1F007 ; [*1088.0020.0002.1F007] # MAHJONG TILE ONE OF CHARACTERS
+1F008 ; [*1089.0020.0002.1F008] # MAHJONG TILE TWO OF CHARACTERS
+1F009 ; [*108A.0020.0002.1F009] # MAHJONG TILE THREE OF CHARACTERS
+1F00A ; [*108B.0020.0002.1F00A] # MAHJONG TILE FOUR OF CHARACTERS
+1F00B ; [*108C.0020.0002.1F00B] # MAHJONG TILE FIVE OF CHARACTERS
+1F00C ; [*108D.0020.0002.1F00C] # MAHJONG TILE SIX OF CHARACTERS
+1F00D ; [*108E.0020.0002.1F00D] # MAHJONG TILE SEVEN OF CHARACTERS
+1F00E ; [*108F.0020.0002.1F00E] # MAHJONG TILE EIGHT OF CHARACTERS
+1F00F ; [*1090.0020.0002.1F00F] # MAHJONG TILE NINE OF CHARACTERS
+1F010 ; [*1091.0020.0002.1F010] # MAHJONG TILE ONE OF BAMBOOS
+1F011 ; [*1092.0020.0002.1F011] # MAHJONG TILE TWO OF BAMBOOS
+1F012 ; [*1093.0020.0002.1F012] # MAHJONG TILE THREE OF BAMBOOS
+1F013 ; [*1094.0020.0002.1F013] # MAHJONG TILE FOUR OF BAMBOOS
+1F014 ; [*1095.0020.0002.1F014] # MAHJONG TILE FIVE OF BAMBOOS
+1F015 ; [*1096.0020.0002.1F015] # MAHJONG TILE SIX OF BAMBOOS
+1F016 ; [*1097.0020.0002.1F016] # MAHJONG TILE SEVEN OF BAMBOOS
+1F017 ; [*1098.0020.0002.1F017] # MAHJONG TILE EIGHT OF BAMBOOS
+1F018 ; [*1099.0020.0002.1F018] # MAHJONG TILE NINE OF BAMBOOS
+1F019 ; [*109A.0020.0002.1F019] # MAHJONG TILE ONE OF CIRCLES
+1F01A ; [*109B.0020.0002.1F01A] # MAHJONG TILE TWO OF CIRCLES
+1F01B ; [*109C.0020.0002.1F01B] # MAHJONG TILE THREE OF CIRCLES
+1F01C ; [*109D.0020.0002.1F01C] # MAHJONG TILE FOUR OF CIRCLES
+1F01D ; [*109E.0020.0002.1F01D] # MAHJONG TILE FIVE OF CIRCLES
+1F01E ; [*109F.0020.0002.1F01E] # MAHJONG TILE SIX OF CIRCLES
+1F01F ; [*10A0.0020.0002.1F01F] # MAHJONG TILE SEVEN OF CIRCLES
+1F020 ; [*10A1.0020.0002.1F020] # MAHJONG TILE EIGHT OF CIRCLES
+1F021 ; [*10A2.0020.0002.1F021] # MAHJONG TILE NINE OF CIRCLES
+1F022 ; [*10A3.0020.0002.1F022] # MAHJONG TILE PLUM
+1F023 ; [*10A4.0020.0002.1F023] # MAHJONG TILE ORCHID
+1F024 ; [*10A5.0020.0002.1F024] # MAHJONG TILE BAMBOO
+1F025 ; [*10A6.0020.0002.1F025] # MAHJONG TILE CHRYSANTHEMUM
+1F026 ; [*10A7.0020.0002.1F026] # MAHJONG TILE SPRING
+1F027 ; [*10A8.0020.0002.1F027] # MAHJONG TILE SUMMER
+1F028 ; [*10A9.0020.0002.1F028] # MAHJONG TILE AUTUMN
+1F029 ; [*10AA.0020.0002.1F029] # MAHJONG TILE WINTER
+1F02A ; [*10AB.0020.0002.1F02A] # MAHJONG TILE JOKER
+1F02B ; [*10AC.0020.0002.1F02B] # MAHJONG TILE BACK
+1F030 ; [*10AD.0020.0002.1F030] # DOMINO TILE HORIZONTAL BACK
+1F031 ; [*10AE.0020.0002.1F031] # DOMINO TILE HORIZONTAL-00-00
+1F032 ; [*10AF.0020.0002.1F032] # DOMINO TILE HORIZONTAL-00-01
+1F033 ; [*10B0.0020.0002.1F033] # DOMINO TILE HORIZONTAL-00-02
+1F034 ; [*10B1.0020.0002.1F034] # DOMINO TILE HORIZONTAL-00-03
+1F035 ; [*10B2.0020.0002.1F035] # DOMINO TILE HORIZONTAL-00-04
+1F036 ; [*10B3.0020.0002.1F036] # DOMINO TILE HORIZONTAL-00-05
+1F037 ; [*10B4.0020.0002.1F037] # DOMINO TILE HORIZONTAL-00-06
+1F038 ; [*10B5.0020.0002.1F038] # DOMINO TILE HORIZONTAL-01-00
+1F039 ; [*10B6.0020.0002.1F039] # DOMINO TILE HORIZONTAL-01-01
+1F03A ; [*10B7.0020.0002.1F03A] # DOMINO TILE HORIZONTAL-01-02
+1F03B ; [*10B8.0020.0002.1F03B] # DOMINO TILE HORIZONTAL-01-03
+1F03C ; [*10B9.0020.0002.1F03C] # DOMINO TILE HORIZONTAL-01-04
+1F03D ; [*10BA.0020.0002.1F03D] # DOMINO TILE HORIZONTAL-01-05
+1F03E ; [*10BB.0020.0002.1F03E] # DOMINO TILE HORIZONTAL-01-06
+1F03F ; [*10BC.0020.0002.1F03F] # DOMINO TILE HORIZONTAL-02-00
+1F040 ; [*10BD.0020.0002.1F040] # DOMINO TILE HORIZONTAL-02-01
+1F041 ; [*10BE.0020.0002.1F041] # DOMINO TILE HORIZONTAL-02-02
+1F042 ; [*10BF.0020.0002.1F042] # DOMINO TILE HORIZONTAL-02-03
+1F043 ; [*10C0.0020.0002.1F043] # DOMINO TILE HORIZONTAL-02-04
+1F044 ; [*10C1.0020.0002.1F044] # DOMINO TILE HORIZONTAL-02-05
+1F045 ; [*10C2.0020.0002.1F045] # DOMINO TILE HORIZONTAL-02-06
+1F046 ; [*10C3.0020.0002.1F046] # DOMINO TILE HORIZONTAL-03-00
+1F047 ; [*10C4.0020.0002.1F047] # DOMINO TILE HORIZONTAL-03-01
+1F048 ; [*10C5.0020.0002.1F048] # DOMINO TILE HORIZONTAL-03-02
+1F049 ; [*10C6.0020.0002.1F049] # DOMINO TILE HORIZONTAL-03-03
+1F04A ; [*10C7.0020.0002.1F04A] # DOMINO TILE HORIZONTAL-03-04
+1F04B ; [*10C8.0020.0002.1F04B] # DOMINO TILE HORIZONTAL-03-05
+1F04C ; [*10C9.0020.0002.1F04C] # DOMINO TILE HORIZONTAL-03-06
+1F04D ; [*10CA.0020.0002.1F04D] # DOMINO TILE HORIZONTAL-04-00
+1F04E ; [*10CB.0020.0002.1F04E] # DOMINO TILE HORIZONTAL-04-01
+1F04F ; [*10CC.0020.0002.1F04F] # DOMINO TILE HORIZONTAL-04-02
+1F050 ; [*10CD.0020.0002.1F050] # DOMINO TILE HORIZONTAL-04-03
+1F051 ; [*10CE.0020.0002.1F051] # DOMINO TILE HORIZONTAL-04-04
+1F052 ; [*10CF.0020.0002.1F052] # DOMINO TILE HORIZONTAL-04-05
+1F053 ; [*10D0.0020.0002.1F053] # DOMINO TILE HORIZONTAL-04-06
+1F054 ; [*10D1.0020.0002.1F054] # DOMINO TILE HORIZONTAL-05-00
+1F055 ; [*10D2.0020.0002.1F055] # DOMINO TILE HORIZONTAL-05-01
+1F056 ; [*10D3.0020.0002.1F056] # DOMINO TILE HORIZONTAL-05-02
+1F057 ; [*10D4.0020.0002.1F057] # DOMINO TILE HORIZONTAL-05-03
+1F058 ; [*10D5.0020.0002.1F058] # DOMINO TILE HORIZONTAL-05-04
+1F059 ; [*10D6.0020.0002.1F059] # DOMINO TILE HORIZONTAL-05-05
+1F05A ; [*10D7.0020.0002.1F05A] # DOMINO TILE HORIZONTAL-05-06
+1F05B ; [*10D8.0020.0002.1F05B] # DOMINO TILE HORIZONTAL-06-00
+1F05C ; [*10D9.0020.0002.1F05C] # DOMINO TILE HORIZONTAL-06-01
+1F05D ; [*10DA.0020.0002.1F05D] # DOMINO TILE HORIZONTAL-06-02
+1F05E ; [*10DB.0020.0002.1F05E] # DOMINO TILE HORIZONTAL-06-03
+1F05F ; [*10DC.0020.0002.1F05F] # DOMINO TILE HORIZONTAL-06-04
+1F060 ; [*10DD.0020.0002.1F060] # DOMINO TILE HORIZONTAL-06-05
+1F061 ; [*10DE.0020.0002.1F061] # DOMINO TILE HORIZONTAL-06-06
+1F062 ; [*10DF.0020.0002.1F062] # DOMINO TILE VERTICAL BACK
+1F063 ; [*10E0.0020.0002.1F063] # DOMINO TILE VERTICAL-00-00
+1F064 ; [*10E1.0020.0002.1F064] # DOMINO TILE VERTICAL-00-01
+1F065 ; [*10E2.0020.0002.1F065] # DOMINO TILE VERTICAL-00-02
+1F066 ; [*10E3.0020.0002.1F066] # DOMINO TILE VERTICAL-00-03
+1F067 ; [*10E4.0020.0002.1F067] # DOMINO TILE VERTICAL-00-04
+1F068 ; [*10E5.0020.0002.1F068] # DOMINO TILE VERTICAL-00-05
+1F069 ; [*10E6.0020.0002.1F069] # DOMINO TILE VERTICAL-00-06
+1F06A ; [*10E7.0020.0002.1F06A] # DOMINO TILE VERTICAL-01-00
+1F06B ; [*10E8.0020.0002.1F06B] # DOMINO TILE VERTICAL-01-01
+1F06C ; [*10E9.0020.0002.1F06C] # DOMINO TILE VERTICAL-01-02
+1F06D ; [*10EA.0020.0002.1F06D] # DOMINO TILE VERTICAL-01-03
+1F06E ; [*10EB.0020.0002.1F06E] # DOMINO TILE VERTICAL-01-04
+1F06F ; [*10EC.0020.0002.1F06F] # DOMINO TILE VERTICAL-01-05
+1F070 ; [*10ED.0020.0002.1F070] # DOMINO TILE VERTICAL-01-06
+1F071 ; [*10EE.0020.0002.1F071] # DOMINO TILE VERTICAL-02-00
+1F072 ; [*10EF.0020.0002.1F072] # DOMINO TILE VERTICAL-02-01
+1F073 ; [*10F0.0020.0002.1F073] # DOMINO TILE VERTICAL-02-02
+1F074 ; [*10F1.0020.0002.1F074] # DOMINO TILE VERTICAL-02-03
+1F075 ; [*10F2.0020.0002.1F075] # DOMINO TILE VERTICAL-02-04
+1F076 ; [*10F3.0020.0002.1F076] # DOMINO TILE VERTICAL-02-05
+1F077 ; [*10F4.0020.0002.1F077] # DOMINO TILE VERTICAL-02-06
+1F078 ; [*10F5.0020.0002.1F078] # DOMINO TILE VERTICAL-03-00
+1F079 ; [*10F6.0020.0002.1F079] # DOMINO TILE VERTICAL-03-01
+1F07A ; [*10F7.0020.0002.1F07A] # DOMINO TILE VERTICAL-03-02
+1F07B ; [*10F8.0020.0002.1F07B] # DOMINO TILE VERTICAL-03-03
+1F07C ; [*10F9.0020.0002.1F07C] # DOMINO TILE VERTICAL-03-04
+1F07D ; [*10FA.0020.0002.1F07D] # DOMINO TILE VERTICAL-03-05
+1F07E ; [*10FB.0020.0002.1F07E] # DOMINO TILE VERTICAL-03-06
+1F07F ; [*10FC.0020.0002.1F07F] # DOMINO TILE VERTICAL-04-00
+1F080 ; [*10FD.0020.0002.1F080] # DOMINO TILE VERTICAL-04-01
+1F081 ; [*10FE.0020.0002.1F081] # DOMINO TILE VERTICAL-04-02
+1F082 ; [*10FF.0020.0002.1F082] # DOMINO TILE VERTICAL-04-03
+1F083 ; [*1100.0020.0002.1F083] # DOMINO TILE VERTICAL-04-04
+1F084 ; [*1101.0020.0002.1F084] # DOMINO TILE VERTICAL-04-05
+1F085 ; [*1102.0020.0002.1F085] # DOMINO TILE VERTICAL-04-06
+1F086 ; [*1103.0020.0002.1F086] # DOMINO TILE VERTICAL-05-00
+1F087 ; [*1104.0020.0002.1F087] # DOMINO TILE VERTICAL-05-01
+1F088 ; [*1105.0020.0002.1F088] # DOMINO TILE VERTICAL-05-02
+1F089 ; [*1106.0020.0002.1F089] # DOMINO TILE VERTICAL-05-03
+1F08A ; [*1107.0020.0002.1F08A] # DOMINO TILE VERTICAL-05-04
+1F08B ; [*1108.0020.0002.1F08B] # DOMINO TILE VERTICAL-05-05
+1F08C ; [*1109.0020.0002.1F08C] # DOMINO TILE VERTICAL-05-06
+1F08D ; [*110A.0020.0002.1F08D] # DOMINO TILE VERTICAL-06-00
+1F08E ; [*110B.0020.0002.1F08E] # DOMINO TILE VERTICAL-06-01
+1F08F ; [*110C.0020.0002.1F08F] # DOMINO TILE VERTICAL-06-02
+1F090 ; [*110D.0020.0002.1F090] # DOMINO TILE VERTICAL-06-03
+1F091 ; [*110E.0020.0002.1F091] # DOMINO TILE VERTICAL-06-04
+1F092 ; [*110F.0020.0002.1F092] # DOMINO TILE VERTICAL-06-05
+1F093 ; [*1110.0020.0002.1F093] # DOMINO TILE VERTICAL-06-06
+1F0A0 ; [*1111.0020.0002.1F0A0] # PLAYING CARD BACK
+1F0A1 ; [*1112.0020.0002.1F0A1] # PLAYING CARD ACE OF SPADES
+1F0A2 ; [*1113.0020.0002.1F0A2] # PLAYING CARD TWO OF SPADES
+1F0A3 ; [*1114.0020.0002.1F0A3] # PLAYING CARD THREE OF SPADES
+1F0A4 ; [*1115.0020.0002.1F0A4] # PLAYING CARD FOUR OF SPADES
+1F0A5 ; [*1116.0020.0002.1F0A5] # PLAYING CARD FIVE OF SPADES
+1F0A6 ; [*1117.0020.0002.1F0A6] # PLAYING CARD SIX OF SPADES
+1F0A7 ; [*1118.0020.0002.1F0A7] # PLAYING CARD SEVEN OF SPADES
+1F0A8 ; [*1119.0020.0002.1F0A8] # PLAYING CARD EIGHT OF SPADES
+1F0A9 ; [*111A.0020.0002.1F0A9] # PLAYING CARD NINE OF SPADES
+1F0AA ; [*111B.0020.0002.1F0AA] # PLAYING CARD TEN OF SPADES
+1F0AB ; [*111C.0020.0002.1F0AB] # PLAYING CARD JACK OF SPADES
+1F0AC ; [*111D.0020.0002.1F0AC] # PLAYING CARD KNIGHT OF SPADES
+1F0AD ; [*111E.0020.0002.1F0AD] # PLAYING CARD QUEEN OF SPADES
+1F0AE ; [*111F.0020.0002.1F0AE] # PLAYING CARD KING OF SPADES
+1F0B1 ; [*1120.0020.0002.1F0B1] # PLAYING CARD ACE OF HEARTS
+1F0B2 ; [*1121.0020.0002.1F0B2] # PLAYING CARD TWO OF HEARTS
+1F0B3 ; [*1122.0020.0002.1F0B3] # PLAYING CARD THREE OF HEARTS
+1F0B4 ; [*1123.0020.0002.1F0B4] # PLAYING CARD FOUR OF HEARTS
+1F0B5 ; [*1124.0020.0002.1F0B5] # PLAYING CARD FIVE OF HEARTS
+1F0B6 ; [*1125.0020.0002.1F0B6] # PLAYING CARD SIX OF HEARTS
+1F0B7 ; [*1126.0020.0002.1F0B7] # PLAYING CARD SEVEN OF HEARTS
+1F0B8 ; [*1127.0020.0002.1F0B8] # PLAYING CARD EIGHT OF HEARTS
+1F0B9 ; [*1128.0020.0002.1F0B9] # PLAYING CARD NINE OF HEARTS
+1F0BA ; [*1129.0020.0002.1F0BA] # PLAYING CARD TEN OF HEARTS
+1F0BB ; [*112A.0020.0002.1F0BB] # PLAYING CARD JACK OF HEARTS
+1F0BC ; [*112B.0020.0002.1F0BC] # PLAYING CARD KNIGHT OF HEARTS
+1F0BD ; [*112C.0020.0002.1F0BD] # PLAYING CARD QUEEN OF HEARTS
+1F0BE ; [*112D.0020.0002.1F0BE] # PLAYING CARD KING OF HEARTS
+1F0C1 ; [*112E.0020.0002.1F0C1] # PLAYING CARD ACE OF DIAMONDS
+1F0C2 ; [*112F.0020.0002.1F0C2] # PLAYING CARD TWO OF DIAMONDS
+1F0C3 ; [*1130.0020.0002.1F0C3] # PLAYING CARD THREE OF DIAMONDS
+1F0C4 ; [*1131.0020.0002.1F0C4] # PLAYING CARD FOUR OF DIAMONDS
+1F0C5 ; [*1132.0020.0002.1F0C5] # PLAYING CARD FIVE OF DIAMONDS
+1F0C6 ; [*1133.0020.0002.1F0C6] # PLAYING CARD SIX OF DIAMONDS
+1F0C7 ; [*1134.0020.0002.1F0C7] # PLAYING CARD SEVEN OF DIAMONDS
+1F0C8 ; [*1135.0020.0002.1F0C8] # PLAYING CARD EIGHT OF DIAMONDS
+1F0C9 ; [*1136.0020.0002.1F0C9] # PLAYING CARD NINE OF DIAMONDS
+1F0CA ; [*1137.0020.0002.1F0CA] # PLAYING CARD TEN OF DIAMONDS
+1F0CB ; [*1138.0020.0002.1F0CB] # PLAYING CARD JACK OF DIAMONDS
+1F0CC ; [*1139.0020.0002.1F0CC] # PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD ; [*113A.0020.0002.1F0CD] # PLAYING CARD QUEEN OF DIAMONDS
+1F0CE ; [*113B.0020.0002.1F0CE] # PLAYING CARD KING OF DIAMONDS
+1F0CF ; [*113C.0020.0002.1F0CF] # PLAYING CARD BLACK JOKER
+1F0D1 ; [*113D.0020.0002.1F0D1] # PLAYING CARD ACE OF CLUBS
+1F0D2 ; [*113E.0020.0002.1F0D2] # PLAYING CARD TWO OF CLUBS
+1F0D3 ; [*113F.0020.0002.1F0D3] # PLAYING CARD THREE OF CLUBS
+1F0D4 ; [*1140.0020.0002.1F0D4] # PLAYING CARD FOUR OF CLUBS
+1F0D5 ; [*1141.0020.0002.1F0D5] # PLAYING CARD FIVE OF CLUBS
+1F0D6 ; [*1142.0020.0002.1F0D6] # PLAYING CARD SIX OF CLUBS
+1F0D7 ; [*1143.0020.0002.1F0D7] # PLAYING CARD SEVEN OF CLUBS
+1F0D8 ; [*1144.0020.0002.1F0D8] # PLAYING CARD EIGHT OF CLUBS
+1F0D9 ; [*1145.0020.0002.1F0D9] # PLAYING CARD NINE OF CLUBS
+1F0DA ; [*1146.0020.0002.1F0DA] # PLAYING CARD TEN OF CLUBS
+1F0DB ; [*1147.0020.0002.1F0DB] # PLAYING CARD JACK OF CLUBS
+1F0DC ; [*1148.0020.0002.1F0DC] # PLAYING CARD KNIGHT OF CLUBS
+1F0DD ; [*1149.0020.0002.1F0DD] # PLAYING CARD QUEEN OF CLUBS
+1F0DE ; [*114A.0020.0002.1F0DE] # PLAYING CARD KING OF CLUBS
+1F0DF ; [*114B.0020.0002.1F0DF] # PLAYING CARD WHITE JOKER
+1F300 ; [*114C.0020.0002.1F300] # CYCLONE
+1F301 ; [*114D.0020.0002.1F301] # FOGGY
+1F302 ; [*114E.0020.0002.1F302] # CLOSED UMBRELLA
+1F303 ; [*114F.0020.0002.1F303] # NIGHT WITH STARS
+1F304 ; [*1150.0020.0002.1F304] # SUNRISE OVER MOUNTAINS
+1F305 ; [*1151.0020.0002.1F305] # SUNRISE
+1F306 ; [*1152.0020.0002.1F306] # CITYSCAPE AT DUSK
+1F307 ; [*1153.0020.0002.1F307] # SUNSET OVER BUILDINGS
+1F308 ; [*1154.0020.0002.1F308] # RAINBOW
+1F309 ; [*1155.0020.0002.1F309] # BRIDGE AT NIGHT
+1F30A ; [*1156.0020.0002.1F30A] # WATER WAVE
+1F30B ; [*1157.0020.0002.1F30B] # VOLCANO
+1F30C ; [*1158.0020.0002.1F30C] # MILKY WAY
+1F30D ; [*1159.0020.0002.1F30D] # EARTH GLOBE EUROPE-AFRICA
+1F30E ; [*115A.0020.0002.1F30E] # EARTH GLOBE AMERICAS
+1F30F ; [*115B.0020.0002.1F30F] # EARTH GLOBE ASIA-AUSTRALIA
+1F310 ; [*115C.0020.0002.1F310] # GLOBE WITH MERIDIANS
+1F311 ; [*115D.0020.0002.1F311] # NEW MOON SYMBOL
+1F312 ; [*115E.0020.0002.1F312] # WAXING CRESCENT MOON SYMBOL
+1F313 ; [*115F.0020.0002.1F313] # FIRST QUARTER MOON SYMBOL
+1F314 ; [*1160.0020.0002.1F314] # WAXING GIBBOUS MOON SYMBOL
+1F315 ; [*1161.0020.0002.1F315] # FULL MOON SYMBOL
+1F316 ; [*1162.0020.0002.1F316] # WANING GIBBOUS MOON SYMBOL
+1F317 ; [*1163.0020.0002.1F317] # LAST QUARTER MOON SYMBOL
+1F318 ; [*1164.0020.0002.1F318] # WANING CRESCENT MOON SYMBOL
+1F319 ; [*1165.0020.0002.1F319] # CRESCENT MOON
+1F31A ; [*1166.0020.0002.1F31A] # NEW MOON WITH FACE
+1F31B ; [*1167.0020.0002.1F31B] # FIRST QUARTER MOON WITH FACE
+1F31C ; [*1168.0020.0002.1F31C] # LAST QUARTER MOON WITH FACE
+1F31D ; [*1169.0020.0002.1F31D] # FULL MOON WITH FACE
+1F31E ; [*116A.0020.0002.1F31E] # SUN WITH FACE
+1F31F ; [*116B.0020.0002.1F31F] # GLOWING STAR
+1F320 ; [*116C.0020.0002.1F320] # SHOOTING STAR
+1F330 ; [*116D.0020.0002.1F330] # CHESTNUT
+1F331 ; [*116E.0020.0002.1F331] # SEEDLING
+1F332 ; [*116F.0020.0002.1F332] # EVERGREEN TREE
+1F333 ; [*1170.0020.0002.1F333] # DECIDUOUS TREE
+1F334 ; [*1171.0020.0002.1F334] # PALM TREE
+1F335 ; [*1172.0020.0002.1F335] # CACTUS
+1F337 ; [*1173.0020.0002.1F337] # TULIP
+1F338 ; [*1174.0020.0002.1F338] # CHERRY BLOSSOM
+1F339 ; [*1175.0020.0002.1F339] # ROSE
+1F33A ; [*1176.0020.0002.1F33A] # HIBISCUS
+1F33B ; [*1177.0020.0002.1F33B] # SUNFLOWER
+1F33C ; [*1178.0020.0002.1F33C] # BLOSSOM
+1F33D ; [*1179.0020.0002.1F33D] # EAR OF MAIZE
+1F33E ; [*117A.0020.0002.1F33E] # EAR OF RICE
+1F33F ; [*117B.0020.0002.1F33F] # HERB
+1F340 ; [*117C.0020.0002.1F340] # FOUR LEAF CLOVER
+1F341 ; [*117D.0020.0002.1F341] # MAPLE LEAF
+1F342 ; [*117E.0020.0002.1F342] # FALLEN LEAF
+1F343 ; [*117F.0020.0002.1F343] # LEAF FLUTTERING IN WIND
+1F344 ; [*1180.0020.0002.1F344] # MUSHROOM
+1F345 ; [*1181.0020.0002.1F345] # TOMATO
+1F346 ; [*1182.0020.0002.1F346] # AUBERGINE
+1F347 ; [*1183.0020.0002.1F347] # GRAPES
+1F348 ; [*1184.0020.0002.1F348] # MELON
+1F349 ; [*1185.0020.0002.1F349] # WATERMELON
+1F34A ; [*1186.0020.0002.1F34A] # TANGERINE
+1F34B ; [*1187.0020.0002.1F34B] # LEMON
+1F34C ; [*1188.0020.0002.1F34C] # BANANA
+1F34D ; [*1189.0020.0002.1F34D] # PINEAPPLE
+1F34E ; [*118A.0020.0002.1F34E] # RED APPLE
+1F34F ; [*118B.0020.0002.1F34F] # GREEN APPLE
+1F350 ; [*118C.0020.0002.1F350] # PEAR
+1F351 ; [*118D.0020.0002.1F351] # PEACH
+1F352 ; [*118E.0020.0002.1F352] # CHERRIES
+1F353 ; [*118F.0020.0002.1F353] # STRAWBERRY
+1F354 ; [*1190.0020.0002.1F354] # HAMBURGER
+1F355 ; [*1191.0020.0002.1F355] # SLICE OF PIZZA
+1F356 ; [*1192.0020.0002.1F356] # MEAT ON BONE
+1F357 ; [*1193.0020.0002.1F357] # POULTRY LEG
+1F358 ; [*1194.0020.0002.1F358] # RICE CRACKER
+1F359 ; [*1195.0020.0002.1F359] # RICE BALL
+1F35A ; [*1196.0020.0002.1F35A] # COOKED RICE
+1F35B ; [*1197.0020.0002.1F35B] # CURRY AND RICE
+1F35C ; [*1198.0020.0002.1F35C] # STEAMING BOWL
+1F35D ; [*1199.0020.0002.1F35D] # SPAGHETTI
+1F35E ; [*119A.0020.0002.1F35E] # BREAD
+1F35F ; [*119B.0020.0002.1F35F] # FRENCH FRIES
+1F360 ; [*119C.0020.0002.1F360] # ROASTED SWEET POTATO
+1F361 ; [*119D.0020.0002.1F361] # DANGO
+1F362 ; [*119E.0020.0002.1F362] # ODEN
+1F363 ; [*119F.0020.0002.1F363] # SUSHI
+1F364 ; [*11A0.0020.0002.1F364] # FRIED SHRIMP
+1F365 ; [*11A1.0020.0002.1F365] # FISH CAKE WITH SWIRL DESIGN
+1F366 ; [*11A2.0020.0002.1F366] # SOFT ICE CREAM
+1F367 ; [*11A3.0020.0002.1F367] # SHAVED ICE
+1F368 ; [*11A4.0020.0002.1F368] # ICE CREAM
+1F369 ; [*11A5.0020.0002.1F369] # DOUGHNUT
+1F36A ; [*11A6.0020.0002.1F36A] # COOKIE
+1F36B ; [*11A7.0020.0002.1F36B] # CHOCOLATE BAR
+1F36C ; [*11A8.0020.0002.1F36C] # CANDY
+1F36D ; [*11A9.0020.0002.1F36D] # LOLLIPOP
+1F36E ; [*11AA.0020.0002.1F36E] # CUSTARD
+1F36F ; [*11AB.0020.0002.1F36F] # HONEY POT
+1F370 ; [*11AC.0020.0002.1F370] # SHORTCAKE
+1F371 ; [*11AD.0020.0002.1F371] # BENTO BOX
+1F372 ; [*11AE.0020.0002.1F372] # POT OF FOOD
+1F373 ; [*11AF.0020.0002.1F373] # COOKING
+1F374 ; [*11B0.0020.0002.1F374] # FORK AND KNIFE
+1F375 ; [*11B1.0020.0002.1F375] # TEACUP WITHOUT HANDLE
+1F376 ; [*11B2.0020.0002.1F376] # SAKE BOTTLE AND CUP
+1F377 ; [*11B3.0020.0002.1F377] # WINE GLASS
+1F378 ; [*11B4.0020.0002.1F378] # COCKTAIL GLASS
+1F379 ; [*11B5.0020.0002.1F379] # TROPICAL DRINK
+1F37A ; [*11B6.0020.0002.1F37A] # BEER MUG
+1F37B ; [*11B7.0020.0002.1F37B] # CLINKING BEER MUGS
+1F37C ; [*11B8.0020.0002.1F37C] # BABY BOTTLE
+1F380 ; [*11B9.0020.0002.1F380] # RIBBON
+1F381 ; [*11BA.0020.0002.1F381] # WRAPPED PRESENT
+1F382 ; [*11BB.0020.0002.1F382] # BIRTHDAY CAKE
+1F383 ; [*11BC.0020.0002.1F383] # JACK-O-LANTERN
+1F384 ; [*11BD.0020.0002.1F384] # CHRISTMAS TREE
+1F385 ; [*11BE.0020.0002.1F385] # FATHER CHRISTMAS
+1F386 ; [*11BF.0020.0002.1F386] # FIREWORKS
+1F387 ; [*11C0.0020.0002.1F387] # FIREWORK SPARKLER
+1F388 ; [*11C1.0020.0002.1F388] # BALLOON
+1F389 ; [*11C2.0020.0002.1F389] # PARTY POPPER
+1F38A ; [*11C3.0020.0002.1F38A] # CONFETTI BALL
+1F38B ; [*11C4.0020.0002.1F38B] # TANABATA TREE
+1F38C ; [*11C5.0020.0002.1F38C] # CROSSED FLAGS
+1F38D ; [*11C6.0020.0002.1F38D] # PINE DECORATION
+1F38E ; [*11C7.0020.0002.1F38E] # JAPANESE DOLLS
+1F38F ; [*11C8.0020.0002.1F38F] # CARP STREAMER
+1F390 ; [*11C9.0020.0002.1F390] # WIND CHIME
+1F391 ; [*11CA.0020.0002.1F391] # MOON VIEWING CEREMONY
+1F392 ; [*11CB.0020.0002.1F392] # SCHOOL SATCHEL
+1F393 ; [*11CC.0020.0002.1F393] # GRADUATION CAP
+1F3A0 ; [*11CD.0020.0002.1F3A0] # CAROUSEL HORSE
+1F3A1 ; [*11CE.0020.0002.1F3A1] # FERRIS WHEEL
+1F3A2 ; [*11CF.0020.0002.1F3A2] # ROLLER COASTER
+1F3A3 ; [*11D0.0020.0002.1F3A3] # FISHING POLE AND FISH
+1F3A4 ; [*11D1.0020.0002.1F3A4] # MICROPHONE
+1F3A5 ; [*11D2.0020.0002.1F3A5] # MOVIE CAMERA
+1F3A6 ; [*11D3.0020.0002.1F3A6] # CINEMA
+1F3A7 ; [*11D4.0020.0002.1F3A7] # HEADPHONE
+1F3A8 ; [*11D5.0020.0002.1F3A8] # ARTIST PALETTE
+1F3A9 ; [*11D6.0020.0002.1F3A9] # TOP HAT
+1F3AA ; [*11D7.0020.0002.1F3AA] # CIRCUS TENT
+1F3AB ; [*11D8.0020.0002.1F3AB] # TICKET
+1F3AC ; [*11D9.0020.0002.1F3AC] # CLAPPER BOARD
+1F3AD ; [*11DA.0020.0002.1F3AD] # PERFORMING ARTS
+1F3AE ; [*11DB.0020.0002.1F3AE] # VIDEO GAME
+1F3AF ; [*11DC.0020.0002.1F3AF] # DIRECT HIT
+1F3B0 ; [*11DD.0020.0002.1F3B0] # SLOT MACHINE
+1F3B1 ; [*11DE.0020.0002.1F3B1] # BILLIARDS
+1F3B2 ; [*11DF.0020.0002.1F3B2] # GAME DIE
+1F3B3 ; [*11E0.0020.0002.1F3B3] # BOWLING
+1F3B4 ; [*11E1.0020.0002.1F3B4] # FLOWER PLAYING CARDS
+1F3B5 ; [*11E2.0020.0002.1F3B5] # MUSICAL NOTE
+1F3B6 ; [*11E3.0020.0002.1F3B6] # MULTIPLE MUSICAL NOTES
+1F3B7 ; [*11E4.0020.0002.1F3B7] # SAXOPHONE
+1F3B8 ; [*11E5.0020.0002.1F3B8] # GUITAR
+1F3B9 ; [*11E6.0020.0002.1F3B9] # MUSICAL KEYBOARD
+1F3BA ; [*11E7.0020.0002.1F3BA] # TRUMPET
+1F3BB ; [*11E8.0020.0002.1F3BB] # VIOLIN
+1F3BC ; [*11E9.0020.0002.1F3BC] # MUSICAL SCORE
+1F3BD ; [*11EA.0020.0002.1F3BD] # RUNNING SHIRT WITH SASH
+1F3BE ; [*11EB.0020.0002.1F3BE] # TENNIS RACQUET AND BALL
+1F3BF ; [*11EC.0020.0002.1F3BF] # SKI AND SKI BOOT
+1F3C0 ; [*11ED.0020.0002.1F3C0] # BASKETBALL AND HOOP
+1F3C1 ; [*11EE.0020.0002.1F3C1] # CHEQUERED FLAG
+1F3C2 ; [*11EF.0020.0002.1F3C2] # SNOWBOARDER
+1F3C3 ; [*11F0.0020.0002.1F3C3] # RUNNER
+1F3C4 ; [*11F1.0020.0002.1F3C4] # SURFER
+1F3C6 ; [*11F2.0020.0002.1F3C6] # TROPHY
+1F3C7 ; [*11F3.0020.0002.1F3C7] # HORSE RACING
+1F3C8 ; [*11F4.0020.0002.1F3C8] # AMERICAN FOOTBALL
+1F3C9 ; [*11F5.0020.0002.1F3C9] # RUGBY FOOTBALL
+1F3CA ; [*11F6.0020.0002.1F3CA] # SWIMMER
+1F3E0 ; [*11F7.0020.0002.1F3E0] # HOUSE BUILDING
+1F3E1 ; [*11F8.0020.0002.1F3E1] # HOUSE WITH GARDEN
+1F3E2 ; [*11F9.0020.0002.1F3E2] # OFFICE BUILDING
+1F3E3 ; [*11FA.0020.0002.1F3E3] # JAPANESE POST OFFICE
+1F3E4 ; [*11FB.0020.0002.1F3E4] # EUROPEAN POST OFFICE
+1F3E5 ; [*11FC.0020.0002.1F3E5] # HOSPITAL
+1F3E6 ; [*11FD.0020.0002.1F3E6] # BANK
+1F3E7 ; [*11FE.0020.0002.1F3E7] # AUTOMATED TELLER MACHINE
+1F3E8 ; [*11FF.0020.0002.1F3E8] # HOTEL
+1F3E9 ; [*1200.0020.0002.1F3E9] # LOVE HOTEL
+1F3EA ; [*1201.0020.0002.1F3EA] # CONVENIENCE STORE
+1F3EB ; [*1202.0020.0002.1F3EB] # SCHOOL
+1F3EC ; [*1203.0020.0002.1F3EC] # DEPARTMENT STORE
+1F3ED ; [*1204.0020.0002.1F3ED] # FACTORY
+1F3EE ; [*1205.0020.0002.1F3EE] # IZAKAYA LANTERN
+1F3EF ; [*1206.0020.0002.1F3EF] # JAPANESE CASTLE
+1F3F0 ; [*1207.0020.0002.1F3F0] # EUROPEAN CASTLE
+1F400 ; [*1208.0020.0002.1F400] # RAT
+1F401 ; [*1209.0020.0002.1F401] # MOUSE
+1F402 ; [*120A.0020.0002.1F402] # OX
+1F403 ; [*120B.0020.0002.1F403] # WATER BUFFALO
+1F404 ; [*120C.0020.0002.1F404] # COW
+1F405 ; [*120D.0020.0002.1F405] # TIGER
+1F406 ; [*120E.0020.0002.1F406] # LEOPARD
+1F407 ; [*120F.0020.0002.1F407] # RABBIT
+1F408 ; [*1210.0020.0002.1F408] # CAT
+1F409 ; [*1211.0020.0002.1F409] # DRAGON
+1F40A ; [*1212.0020.0002.1F40A] # CROCODILE
+1F40B ; [*1213.0020.0002.1F40B] # WHALE
+1F40C ; [*1214.0020.0002.1F40C] # SNAIL
+1F40D ; [*1215.0020.0002.1F40D] # SNAKE
+1F40E ; [*1216.0020.0002.1F40E] # HORSE
+1F40F ; [*1217.0020.0002.1F40F] # RAM
+1F410 ; [*1218.0020.0002.1F410] # GOAT
+1F411 ; [*1219.0020.0002.1F411] # SHEEP
+1F412 ; [*121A.0020.0002.1F412] # MONKEY
+1F413 ; [*121B.0020.0002.1F413] # ROOSTER
+1F414 ; [*121C.0020.0002.1F414] # CHICKEN
+1F415 ; [*121D.0020.0002.1F415] # DOG
+1F416 ; [*121E.0020.0002.1F416] # PIG
+1F417 ; [*121F.0020.0002.1F417] # BOAR
+1F418 ; [*1220.0020.0002.1F418] # ELEPHANT
+1F419 ; [*1221.0020.0002.1F419] # OCTOPUS
+1F41A ; [*1222.0020.0002.1F41A] # SPIRAL SHELL
+1F41B ; [*1223.0020.0002.1F41B] # BUG
+1F41C ; [*1224.0020.0002.1F41C] # ANT
+1F41D ; [*1225.0020.0002.1F41D] # HONEYBEE
+1F41E ; [*1226.0020.0002.1F41E] # LADY BEETLE
+1F41F ; [*1227.0020.0002.1F41F] # FISH
+1F420 ; [*1228.0020.0002.1F420] # TROPICAL FISH
+1F421 ; [*1229.0020.0002.1F421] # BLOWFISH
+1F422 ; [*122A.0020.0002.1F422] # TURTLE
+1F423 ; [*122B.0020.0002.1F423] # HATCHING CHICK
+1F424 ; [*122C.0020.0002.1F424] # BABY CHICK
+1F425 ; [*122D.0020.0002.1F425] # FRONT-FACING BABY CHICK
+1F426 ; [*122E.0020.0002.1F426] # BIRD
+1F427 ; [*122F.0020.0002.1F427] # PENGUIN
+1F428 ; [*1230.0020.0002.1F428] # KOALA
+1F429 ; [*1231.0020.0002.1F429] # POODLE
+1F42A ; [*1232.0020.0002.1F42A] # DROMEDARY CAMEL
+1F42B ; [*1233.0020.0002.1F42B] # BACTRIAN CAMEL
+1F42C ; [*1234.0020.0002.1F42C] # DOLPHIN
+1F42D ; [*1235.0020.0002.1F42D] # MOUSE FACE
+1F42E ; [*1236.0020.0002.1F42E] # COW FACE
+1F42F ; [*1237.0020.0002.1F42F] # TIGER FACE
+1F430 ; [*1238.0020.0002.1F430] # RABBIT FACE
+1F431 ; [*1239.0020.0002.1F431] # CAT FACE
+1F432 ; [*123A.0020.0002.1F432] # DRAGON FACE
+1F433 ; [*123B.0020.0002.1F433] # SPOUTING WHALE
+1F434 ; [*123C.0020.0002.1F434] # HORSE FACE
+1F435 ; [*123D.0020.0002.1F435] # MONKEY FACE
+1F436 ; [*123E.0020.0002.1F436] # DOG FACE
+1F437 ; [*123F.0020.0002.1F437] # PIG FACE
+1F438 ; [*1240.0020.0002.1F438] # FROG FACE
+1F439 ; [*1241.0020.0002.1F439] # HAMSTER FACE
+1F43A ; [*1242.0020.0002.1F43A] # WOLF FACE
+1F43B ; [*1243.0020.0002.1F43B] # BEAR FACE
+1F43C ; [*1244.0020.0002.1F43C] # PANDA FACE
+1F43D ; [*1245.0020.0002.1F43D] # PIG NOSE
+1F43E ; [*1246.0020.0002.1F43E] # PAW PRINTS
+1F440 ; [*1247.0020.0002.1F440] # EYES
+1F442 ; [*1248.0020.0002.1F442] # EAR
+1F443 ; [*1249.0020.0002.1F443] # NOSE
+1F444 ; [*124A.0020.0002.1F444] # MOUTH
+1F445 ; [*124B.0020.0002.1F445] # TONGUE
+1F446 ; [*124C.0020.0002.1F446] # WHITE UP POINTING BACKHAND INDEX
+1F447 ; [*124D.0020.0002.1F447] # WHITE DOWN POINTING BACKHAND INDEX
+1F448 ; [*124E.0020.0002.1F448] # WHITE LEFT POINTING BACKHAND INDEX
+1F449 ; [*124F.0020.0002.1F449] # WHITE RIGHT POINTING BACKHAND INDEX
+1F44A ; [*1250.0020.0002.1F44A] # FISTED HAND SIGN
+1F44B ; [*1251.0020.0002.1F44B] # WAVING HAND SIGN
+1F44C ; [*1252.0020.0002.1F44C] # OK HAND SIGN
+1F44D ; [*1253.0020.0002.1F44D] # THUMBS UP SIGN
+1F44E ; [*1254.0020.0002.1F44E] # THUMBS DOWN SIGN
+1F44F ; [*1255.0020.0002.1F44F] # CLAPPING HANDS SIGN
+1F450 ; [*1256.0020.0002.1F450] # OPEN HANDS SIGN
+1F451 ; [*1257.0020.0002.1F451] # CROWN
+1F452 ; [*1258.0020.0002.1F452] # WOMANS HAT
+1F453 ; [*1259.0020.0002.1F453] # EYEGLASSES
+1F454 ; [*125A.0020.0002.1F454] # NECKTIE
+1F455 ; [*125B.0020.0002.1F455] # T-SHIRT
+1F456 ; [*125C.0020.0002.1F456] # JEANS
+1F457 ; [*125D.0020.0002.1F457] # DRESS
+1F458 ; [*125E.0020.0002.1F458] # KIMONO
+1F459 ; [*125F.0020.0002.1F459] # BIKINI
+1F45A ; [*1260.0020.0002.1F45A] # WOMANS CLOTHES
+1F45B ; [*1261.0020.0002.1F45B] # PURSE
+1F45C ; [*1262.0020.0002.1F45C] # HANDBAG
+1F45D ; [*1263.0020.0002.1F45D] # POUCH
+1F45E ; [*1264.0020.0002.1F45E] # MANS SHOE
+1F45F ; [*1265.0020.0002.1F45F] # ATHLETIC SHOE
+1F460 ; [*1266.0020.0002.1F460] # HIGH-HEELED SHOE
+1F461 ; [*1267.0020.0002.1F461] # WOMANS SANDAL
+1F462 ; [*1268.0020.0002.1F462] # WOMANS BOOTS
+1F463 ; [*1269.0020.0002.1F463] # FOOTPRINTS
+1F464 ; [*126A.0020.0002.1F464] # BUST IN SILHOUETTE
+1F465 ; [*126B.0020.0002.1F465] # BUSTS IN SILHOUETTE
+1F466 ; [*126C.0020.0002.1F466] # BOY
+1F467 ; [*126D.0020.0002.1F467] # GIRL
+1F468 ; [*126E.0020.0002.1F468] # MAN
+1F469 ; [*126F.0020.0002.1F469] # WOMAN
+1F46A ; [*1270.0020.0002.1F46A] # FAMILY
+1F46B ; [*1271.0020.0002.1F46B] # MAN AND WOMAN HOLDING HANDS
+1F46C ; [*1272.0020.0002.1F46C] # TWO MEN HOLDING HANDS
+1F46D ; [*1273.0020.0002.1F46D] # TWO WOMEN HOLDING HANDS
+1F46E ; [*1274.0020.0002.1F46E] # POLICE OFFICER
+1F46F ; [*1275.0020.0002.1F46F] # WOMAN WITH BUNNY EARS
+1F470 ; [*1276.0020.0002.1F470] # BRIDE WITH VEIL
+1F471 ; [*1277.0020.0002.1F471] # PERSON WITH BLOND HAIR
+1F472 ; [*1278.0020.0002.1F472] # MAN WITH GUA PI MAO
+1F473 ; [*1279.0020.0002.1F473] # MAN WITH TURBAN
+1F474 ; [*127A.0020.0002.1F474] # OLDER MAN
+1F475 ; [*127B.0020.0002.1F475] # OLDER WOMAN
+1F476 ; [*127C.0020.0002.1F476] # BABY
+1F477 ; [*127D.0020.0002.1F477] # CONSTRUCTION WORKER
+1F478 ; [*127E.0020.0002.1F478] # PRINCESS
+1F479 ; [*127F.0020.0002.1F479] # JAPANESE OGRE
+1F47A ; [*1280.0020.0002.1F47A] # JAPANESE GOBLIN
+1F47B ; [*1281.0020.0002.1F47B] # GHOST
+1F47C ; [*1282.0020.0002.1F47C] # BABY ANGEL
+1F47D ; [*1283.0020.0002.1F47D] # EXTRATERRESTRIAL ALIEN
+1F47E ; [*1284.0020.0002.1F47E] # ALIEN MONSTER
+1F47F ; [*1285.0020.0002.1F47F] # IMP
+1F480 ; [*1286.0020.0002.1F480] # SKULL
+1F481 ; [*1287.0020.0002.1F481] # INFORMATION DESK PERSON
+1F482 ; [*1288.0020.0002.1F482] # GUARDSMAN
+1F483 ; [*1289.0020.0002.1F483] # DANCER
+1F484 ; [*128A.0020.0002.1F484] # LIPSTICK
+1F485 ; [*128B.0020.0002.1F485] # NAIL POLISH
+1F486 ; [*128C.0020.0002.1F486] # FACE MASSAGE
+1F487 ; [*128D.0020.0002.1F487] # HAIRCUT
+1F488 ; [*128E.0020.0002.1F488] # BARBER POLE
+1F489 ; [*128F.0020.0002.1F489] # SYRINGE
+1F48A ; [*1290.0020.0002.1F48A] # PILL
+1F48B ; [*1291.0020.0002.1F48B] # KISS MARK
+1F48C ; [*1292.0020.0002.1F48C] # LOVE LETTER
+1F48D ; [*1293.0020.0002.1F48D] # RING
+1F48E ; [*1294.0020.0002.1F48E] # GEM STONE
+1F48F ; [*1295.0020.0002.1F48F] # KISS
+1F490 ; [*1296.0020.0002.1F490] # BOUQUET
+1F491 ; [*1297.0020.0002.1F491] # COUPLE WITH HEART
+1F492 ; [*1298.0020.0002.1F492] # WEDDING
+1F493 ; [*1299.0020.0002.1F493] # BEATING HEART
+1F494 ; [*129A.0020.0002.1F494] # BROKEN HEART
+1F495 ; [*129B.0020.0002.1F495] # TWO HEARTS
+1F496 ; [*129C.0020.0002.1F496] # SPARKLING HEART
+1F497 ; [*129D.0020.0002.1F497] # GROWING HEART
+1F498 ; [*129E.0020.0002.1F498] # HEART WITH ARROW
+1F499 ; [*129F.0020.0002.1F499] # BLUE HEART
+1F49A ; [*12A0.0020.0002.1F49A] # GREEN HEART
+1F49B ; [*12A1.0020.0002.1F49B] # YELLOW HEART
+1F49C ; [*12A2.0020.0002.1F49C] # PURPLE HEART
+1F49D ; [*12A3.0020.0002.1F49D] # HEART WITH RIBBON
+1F49E ; [*12A4.0020.0002.1F49E] # REVOLVING HEARTS
+1F49F ; [*12A5.0020.0002.1F49F] # HEART DECORATION
+1F4A0 ; [*12A6.0020.0002.1F4A0] # DIAMOND SHAPE WITH A DOT INSIDE
+1F4A1 ; [*12A7.0020.0002.1F4A1] # ELECTRIC LIGHT BULB
+1F4A2 ; [*12A8.0020.0002.1F4A2] # ANGER SYMBOL
+1F4A3 ; [*12A9.0020.0002.1F4A3] # BOMB
+1F4A4 ; [*12AA.0020.0002.1F4A4] # SLEEPING SYMBOL
+1F4A5 ; [*12AB.0020.0002.1F4A5] # COLLISION SYMBOL
+1F4A6 ; [*12AC.0020.0002.1F4A6] # SPLASHING SWEAT SYMBOL
+1F4A7 ; [*12AD.0020.0002.1F4A7] # DROPLET
+1F4A8 ; [*12AE.0020.0002.1F4A8] # DASH SYMBOL
+1F4A9 ; [*12AF.0020.0002.1F4A9] # PILE OF POO
+1F4AA ; [*12B0.0020.0002.1F4AA] # FLEXED BICEPS
+1F4AB ; [*12B1.0020.0002.1F4AB] # DIZZY SYMBOL
+1F4AC ; [*12B2.0020.0002.1F4AC] # SPEECH BALLOON
+1F4AD ; [*12B3.0020.0002.1F4AD] # THOUGHT BALLOON
+1F4AE ; [*12B4.0020.0002.1F4AE] # WHITE FLOWER
+1F4AF ; [*12B5.0020.0002.1F4AF] # HUNDRED POINTS SYMBOL
+1F4B0 ; [*12B6.0020.0002.1F4B0] # MONEY BAG
+1F4B1 ; [*12B7.0020.0002.1F4B1] # CURRENCY EXCHANGE
+1F4B2 ; [*12B8.0020.0002.1F4B2] # HEAVY DOLLAR SIGN
+1F4B3 ; [*12B9.0020.0002.1F4B3] # CREDIT CARD
+1F4B4 ; [*12BA.0020.0002.1F4B4] # BANKNOTE WITH YEN SIGN
+1F4B5 ; [*12BB.0020.0002.1F4B5] # BANKNOTE WITH DOLLAR SIGN
+1F4B6 ; [*12BC.0020.0002.1F4B6] # BANKNOTE WITH EURO SIGN
+1F4B7 ; [*12BD.0020.0002.1F4B7] # BANKNOTE WITH POUND SIGN
+1F4B8 ; [*12BE.0020.0002.1F4B8] # MONEY WITH WINGS
+1F4B9 ; [*12BF.0020.0002.1F4B9] # CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA ; [*12C0.0020.0002.1F4BA] # SEAT
+1F4BB ; [*12C1.0020.0002.1F4BB] # PERSONAL COMPUTER
+1F4BC ; [*12C2.0020.0002.1F4BC] # BRIEFCASE
+1F4BD ; [*12C3.0020.0002.1F4BD] # MINIDISC
+1F4BE ; [*12C4.0020.0002.1F4BE] # FLOPPY DISK
+1F4BF ; [*12C5.0020.0002.1F4BF] # OPTICAL DISC
+1F4C0 ; [*12C6.0020.0002.1F4C0] # DVD
+1F4C1 ; [*12C7.0020.0002.1F4C1] # FILE FOLDER
+1F4C2 ; [*12C8.0020.0002.1F4C2] # OPEN FILE FOLDER
+1F4C3 ; [*12C9.0020.0002.1F4C3] # PAGE WITH CURL
+1F4C4 ; [*12CA.0020.0002.1F4C4] # PAGE FACING UP
+1F4C5 ; [*12CB.0020.0002.1F4C5] # CALENDAR
+1F4C6 ; [*12CC.0020.0002.1F4C6] # TEAR-OFF CALENDAR
+1F4C7 ; [*12CD.0020.0002.1F4C7] # CARD INDEX
+1F4C8 ; [*12CE.0020.0002.1F4C8] # CHART WITH UPWARDS TREND
+1F4C9 ; [*12CF.0020.0002.1F4C9] # CHART WITH DOWNWARDS TREND
+1F4CA ; [*12D0.0020.0002.1F4CA] # BAR CHART
+1F4CB ; [*12D1.0020.0002.1F4CB] # CLIPBOARD
+1F4CC ; [*12D2.0020.0002.1F4CC] # PUSHPIN
+1F4CD ; [*12D3.0020.0002.1F4CD] # ROUND PUSHPIN
+1F4CE ; [*12D4.0020.0002.1F4CE] # PAPERCLIP
+1F4CF ; [*12D5.0020.0002.1F4CF] # STRAIGHT RULER
+1F4D0 ; [*12D6.0020.0002.1F4D0] # TRIANGULAR RULER
+1F4D1 ; [*12D7.0020.0002.1F4D1] # BOOKMARK TABS
+1F4D2 ; [*12D8.0020.0002.1F4D2] # LEDGER
+1F4D3 ; [*12D9.0020.0002.1F4D3] # NOTEBOOK
+1F4D4 ; [*12DA.0020.0002.1F4D4] # NOTEBOOK WITH DECORATIVE COVER
+1F4D5 ; [*12DB.0020.0002.1F4D5] # CLOSED BOOK
+1F4D6 ; [*12DC.0020.0002.1F4D6] # OPEN BOOK
+1F4D7 ; [*12DD.0020.0002.1F4D7] # GREEN BOOK
+1F4D8 ; [*12DE.0020.0002.1F4D8] # BLUE BOOK
+1F4D9 ; [*12DF.0020.0002.1F4D9] # ORANGE BOOK
+1F4DA ; [*12E0.0020.0002.1F4DA] # BOOKS
+1F4DB ; [*12E1.0020.0002.1F4DB] # NAME BADGE
+1F4DC ; [*12E2.0020.0002.1F4DC] # SCROLL
+1F4DD ; [*12E3.0020.0002.1F4DD] # MEMO
+1F4DE ; [*12E4.0020.0002.1F4DE] # TELEPHONE RECEIVER
+1F4DF ; [*12E5.0020.0002.1F4DF] # PAGER
+1F4E0 ; [*12E6.0020.0002.1F4E0] # FAX MACHINE
+1F4E1 ; [*12E7.0020.0002.1F4E1] # SATELLITE ANTENNA
+1F4E2 ; [*12E8.0020.0002.1F4E2] # PUBLIC ADDRESS LOUDSPEAKER
+1F4E3 ; [*12E9.0020.0002.1F4E3] # CHEERING MEGAPHONE
+1F4E4 ; [*12EA.0020.0002.1F4E4] # OUTBOX TRAY
+1F4E5 ; [*12EB.0020.0002.1F4E5] # INBOX TRAY
+1F4E6 ; [*12EC.0020.0002.1F4E6] # PACKAGE
+1F4E7 ; [*12ED.0020.0002.1F4E7] # E-MAIL SYMBOL
+1F4E8 ; [*12EE.0020.0002.1F4E8] # INCOMING ENVELOPE
+1F4E9 ; [*12EF.0020.0002.1F4E9] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA ; [*12F0.0020.0002.1F4EA] # CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB ; [*12F1.0020.0002.1F4EB] # CLOSED MAILBOX WITH RAISED FLAG
+1F4EC ; [*12F2.0020.0002.1F4EC] # OPEN MAILBOX WITH RAISED FLAG
+1F4ED ; [*12F3.0020.0002.1F4ED] # OPEN MAILBOX WITH LOWERED FLAG
+1F4EE ; [*12F4.0020.0002.1F4EE] # POSTBOX
+1F4EF ; [*12F5.0020.0002.1F4EF] # POSTAL HORN
+1F4F0 ; [*12F6.0020.0002.1F4F0] # NEWSPAPER
+1F4F1 ; [*12F7.0020.0002.1F4F1] # MOBILE PHONE
+1F4F2 ; [*12F8.0020.0002.1F4F2] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3 ; [*12F9.0020.0002.1F4F3] # VIBRATION MODE
+1F4F4 ; [*12FA.0020.0002.1F4F4] # MOBILE PHONE OFF
+1F4F5 ; [*12FB.0020.0002.1F4F5] # NO MOBILE PHONES
+1F4F6 ; [*12FC.0020.0002.1F4F6] # ANTENNA WITH BARS
+1F4F7 ; [*12FD.0020.0002.1F4F7] # CAMERA
+1F4F9 ; [*12FE.0020.0002.1F4F9] # VIDEO CAMERA
+1F4FA ; [*12FF.0020.0002.1F4FA] # TELEVISION
+1F4FB ; [*1300.0020.0002.1F4FB] # RADIO
+1F4FC ; [*1301.0020.0002.1F4FC] # VIDEOCASSETTE
+1F500 ; [*1302.0020.0002.1F500] # TWISTED RIGHTWARDS ARROWS
+1F501 ; [*1303.0020.0002.1F501] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
+1F502 ; [*1304.0020.0002.1F502] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
+1F503 ; [*1305.0020.0002.1F503] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F504 ; [*1306.0020.0002.1F504] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F505 ; [*1307.0020.0002.1F505] # LOW BRIGHTNESS SYMBOL
+1F506 ; [*1308.0020.0002.1F506] # HIGH BRIGHTNESS SYMBOL
+1F507 ; [*1309.0020.0002.1F507] # SPEAKER WITH CANCELLATION STROKE
+1F508 ; [*130A.0020.0002.1F508] # SPEAKER
+1F509 ; [*130B.0020.0002.1F509] # SPEAKER WITH ONE SOUND WAVE
+1F50A ; [*130C.0020.0002.1F50A] # SPEAKER WITH THREE SOUND WAVES
+1F50B ; [*130D.0020.0002.1F50B] # BATTERY
+1F50C ; [*130E.0020.0002.1F50C] # ELECTRIC PLUG
+1F50D ; [*130F.0020.0002.1F50D] # LEFT-POINTING MAGNIFYING GLASS
+1F50E ; [*1310.0020.0002.1F50E] # RIGHT-POINTING MAGNIFYING GLASS
+1F50F ; [*1311.0020.0002.1F50F] # LOCK WITH INK PEN
+1F510 ; [*1312.0020.0002.1F510] # CLOSED LOCK WITH KEY
+1F511 ; [*1313.0020.0002.1F511] # KEY
+1F512 ; [*1314.0020.0002.1F512] # LOCK
+1F513 ; [*1315.0020.0002.1F513] # OPEN LOCK
+1F514 ; [*1316.0020.0002.1F514] # BELL
+1F515 ; [*1317.0020.0002.1F515] # BELL WITH CANCELLATION STROKE
+1F516 ; [*1318.0020.0002.1F516] # BOOKMARK
+1F517 ; [*1319.0020.0002.1F517] # LINK SYMBOL
+1F518 ; [*131A.0020.0002.1F518] # RADIO BUTTON
+1F519 ; [*131B.0020.0002.1F519] # BACK WITH LEFTWARDS ARROW ABOVE
+1F51A ; [*131C.0020.0002.1F51A] # END WITH LEFTWARDS ARROW ABOVE
+1F51B ; [*131D.0020.0002.1F51B] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+1F51C ; [*131E.0020.0002.1F51C] # SOON WITH RIGHTWARDS ARROW ABOVE
+1F51D ; [*131F.0020.0002.1F51D] # TOP WITH UPWARDS ARROW ABOVE
+1F51E ; [*1320.0020.0002.1F51E] # NO ONE UNDER EIGHTEEN SYMBOL
+1F51F ; [*1321.0020.0002.1F51F] # KEYCAP TEN
+1F520 ; [*1322.0020.0002.1F520] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+1F521 ; [*1323.0020.0002.1F521] # INPUT SYMBOL FOR LATIN SMALL LETTERS
+1F522 ; [*1324.0020.0002.1F522] # INPUT SYMBOL FOR NUMBERS
+1F523 ; [*1325.0020.0002.1F523] # INPUT SYMBOL FOR SYMBOLS
+1F524 ; [*1326.0020.0002.1F524] # INPUT SYMBOL FOR LATIN LETTERS
+1F525 ; [*1327.0020.0002.1F525] # FIRE
+1F526 ; [*1328.0020.0002.1F526] # ELECTRIC TORCH
+1F527 ; [*1329.0020.0002.1F527] # WRENCH
+1F528 ; [*132A.0020.0002.1F528] # HAMMER
+1F529 ; [*132B.0020.0002.1F529] # NUT AND BOLT
+1F52A ; [*132C.0020.0002.1F52A] # HOCHO
+1F52B ; [*132D.0020.0002.1F52B] # PISTOL
+1F52C ; [*132E.0020.0002.1F52C] # MICROSCOPE
+1F52D ; [*132F.0020.0002.1F52D] # TELESCOPE
+1F52E ; [*1330.0020.0002.1F52E] # CRYSTAL BALL
+1F52F ; [*1331.0020.0002.1F52F] # SIX POINTED STAR WITH MIDDLE DOT
+1F530 ; [*1332.0020.0002.1F530] # JAPANESE SYMBOL FOR BEGINNER
+1F531 ; [*1333.0020.0002.1F531] # TRIDENT EMBLEM
+1F532 ; [*1334.0020.0002.1F532] # BLACK SQUARE BUTTON
+1F533 ; [*1335.0020.0002.1F533] # WHITE SQUARE BUTTON
+1F534 ; [*1336.0020.0002.1F534] # LARGE RED CIRCLE
+1F535 ; [*1337.0020.0002.1F535] # LARGE BLUE CIRCLE
+1F536 ; [*1338.0020.0002.1F536] # LARGE ORANGE DIAMOND
+1F537 ; [*1339.0020.0002.1F537] # LARGE BLUE DIAMOND
+1F538 ; [*133A.0020.0002.1F538] # SMALL ORANGE DIAMOND
+1F539 ; [*133B.0020.0002.1F539] # SMALL BLUE DIAMOND
+1F53A ; [*133C.0020.0002.1F53A] # UP-POINTING RED TRIANGLE
+1F53B ; [*133D.0020.0002.1F53B] # DOWN-POINTING RED TRIANGLE
+1F53C ; [*133E.0020.0002.1F53C] # UP-POINTING SMALL RED TRIANGLE
+1F53D ; [*133F.0020.0002.1F53D] # DOWN-POINTING SMALL RED TRIANGLE
+1F550 ; [*1340.0020.0002.1F550] # CLOCK FACE ONE OCLOCK
+1F551 ; [*1341.0020.0002.1F551] # CLOCK FACE TWO OCLOCK
+1F552 ; [*1342.0020.0002.1F552] # CLOCK FACE THREE OCLOCK
+1F553 ; [*1343.0020.0002.1F553] # CLOCK FACE FOUR OCLOCK
+1F554 ; [*1344.0020.0002.1F554] # CLOCK FACE FIVE OCLOCK
+1F555 ; [*1345.0020.0002.1F555] # CLOCK FACE SIX OCLOCK
+1F556 ; [*1346.0020.0002.1F556] # CLOCK FACE SEVEN OCLOCK
+1F557 ; [*1347.0020.0002.1F557] # CLOCK FACE EIGHT OCLOCK
+1F558 ; [*1348.0020.0002.1F558] # CLOCK FACE NINE OCLOCK
+1F559 ; [*1349.0020.0002.1F559] # CLOCK FACE TEN OCLOCK
+1F55A ; [*134A.0020.0002.1F55A] # CLOCK FACE ELEVEN OCLOCK
+1F55B ; [*134B.0020.0002.1F55B] # CLOCK FACE TWELVE OCLOCK
+1F55C ; [*134C.0020.0002.1F55C] # CLOCK FACE ONE-THIRTY
+1F55D ; [*134D.0020.0002.1F55D] # CLOCK FACE TWO-THIRTY
+1F55E ; [*134E.0020.0002.1F55E] # CLOCK FACE THREE-THIRTY
+1F55F ; [*134F.0020.0002.1F55F] # CLOCK FACE FOUR-THIRTY
+1F560 ; [*1350.0020.0002.1F560] # CLOCK FACE FIVE-THIRTY
+1F561 ; [*1351.0020.0002.1F561] # CLOCK FACE SIX-THIRTY
+1F562 ; [*1352.0020.0002.1F562] # CLOCK FACE SEVEN-THIRTY
+1F563 ; [*1353.0020.0002.1F563] # CLOCK FACE EIGHT-THIRTY
+1F564 ; [*1354.0020.0002.1F564] # CLOCK FACE NINE-THIRTY
+1F565 ; [*1355.0020.0002.1F565] # CLOCK FACE TEN-THIRTY
+1F566 ; [*1356.0020.0002.1F566] # CLOCK FACE ELEVEN-THIRTY
+1F567 ; [*1357.0020.0002.1F567] # CLOCK FACE TWELVE-THIRTY
+1F5FB ; [*1358.0020.0002.1F5FB] # MOUNT FUJI
+1F5FC ; [*1359.0020.0002.1F5FC] # TOKYO TOWER
+1F5FD ; [*135A.0020.0002.1F5FD] # STATUE OF LIBERTY
+1F5FE ; [*135B.0020.0002.1F5FE] # SILHOUETTE OF JAPAN
+1F5FF ; [*135C.0020.0002.1F5FF] # MOYAI
+1F601 ; [*135D.0020.0002.1F601] # GRINNING FACE WITH SMILING EYES
+1F602 ; [*135E.0020.0002.1F602] # FACE WITH TEARS OF JOY
+1F603 ; [*135F.0020.0002.1F603] # SMILING FACE WITH OPEN MOUTH
+1F604 ; [*1360.0020.0002.1F604] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605 ; [*1361.0020.0002.1F605] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606 ; [*1362.0020.0002.1F606] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607 ; [*1363.0020.0002.1F607] # SMILING FACE WITH HALO
+1F608 ; [*1364.0020.0002.1F608] # SMILING FACE WITH HORNS
+1F609 ; [*1365.0020.0002.1F609] # WINKING FACE
+1F60A ; [*1366.0020.0002.1F60A] # SMILING FACE WITH SMILING EYES
+1F60B ; [*1367.0020.0002.1F60B] # FACE SAVOURING DELICIOUS FOOD
+1F60C ; [*1368.0020.0002.1F60C] # RELIEVED FACE
+1F60D ; [*1369.0020.0002.1F60D] # SMILING FACE WITH HEART-SHAPED EYES
+1F60E ; [*136A.0020.0002.1F60E] # SMILING FACE WITH SUNGLASSES
+1F60F ; [*136B.0020.0002.1F60F] # SMIRKING FACE
+1F610 ; [*136C.0020.0002.1F610] # NEUTRAL FACE
+1F612 ; [*136D.0020.0002.1F612] # UNAMUSED FACE
+1F613 ; [*136E.0020.0002.1F613] # FACE WITH COLD SWEAT
+1F614 ; [*136F.0020.0002.1F614] # PENSIVE FACE
+1F616 ; [*1370.0020.0002.1F616] # CONFOUNDED FACE
+1F618 ; [*1371.0020.0002.1F618] # FACE THROWING A KISS
+1F61A ; [*1372.0020.0002.1F61A] # KISSING FACE WITH CLOSED EYES
+1F61C ; [*1373.0020.0002.1F61C] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D ; [*1374.0020.0002.1F61D] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E ; [*1375.0020.0002.1F61E] # DISAPPOINTED FACE
+1F620 ; [*1376.0020.0002.1F620] # ANGRY FACE
+1F621 ; [*1377.0020.0002.1F621] # POUTING FACE
+1F622 ; [*1378.0020.0002.1F622] # CRYING FACE
+1F623 ; [*1379.0020.0002.1F623] # PERSEVERING FACE
+1F624 ; [*137A.0020.0002.1F624] # FACE WITH LOOK OF TRIUMPH
+1F625 ; [*137B.0020.0002.1F625] # DISAPPOINTED BUT RELIEVED FACE
+1F628 ; [*137C.0020.0002.1F628] # FEARFUL FACE
+1F629 ; [*137D.0020.0002.1F629] # WEARY FACE
+1F62A ; [*137E.0020.0002.1F62A] # SLEEPY FACE
+1F62B ; [*137F.0020.0002.1F62B] # TIRED FACE
+1F62D ; [*1380.0020.0002.1F62D] # LOUDLY CRYING FACE
+1F630 ; [*1381.0020.0002.1F630] # FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631 ; [*1382.0020.0002.1F631] # FACE SCREAMING IN FEAR
+1F632 ; [*1383.0020.0002.1F632] # ASTONISHED FACE
+1F633 ; [*1384.0020.0002.1F633] # FLUSHED FACE
+1F635 ; [*1385.0020.0002.1F635] # DIZZY FACE
+1F636 ; [*1386.0020.0002.1F636] # FACE WITHOUT MOUTH
+1F637 ; [*1387.0020.0002.1F637] # FACE WITH MEDICAL MASK
+1F638 ; [*1388.0020.0002.1F638] # GRINNING CAT FACE WITH SMILING EYES
+1F639 ; [*1389.0020.0002.1F639] # CAT FACE WITH TEARS OF JOY
+1F63A ; [*138A.0020.0002.1F63A] # SMILING CAT FACE WITH OPEN MOUTH
+1F63B ; [*138B.0020.0002.1F63B] # SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C ; [*138C.0020.0002.1F63C] # CAT FACE WITH WRY SMILE
+1F63D ; [*138D.0020.0002.1F63D] # KISSING CAT FACE WITH CLOSED EYES
+1F63E ; [*138E.0020.0002.1F63E] # POUTING CAT FACE
+1F63F ; [*138F.0020.0002.1F63F] # CRYING CAT FACE
+1F640 ; [*1390.0020.0002.1F640] # WEARY CAT FACE
+1F645 ; [*1391.0020.0002.1F645] # FACE WITH NO GOOD GESTURE
+1F646 ; [*1392.0020.0002.1F646] # FACE WITH OK GESTURE
+1F647 ; [*1393.0020.0002.1F647] # PERSON BOWING DEEPLY
+1F648 ; [*1394.0020.0002.1F648] # SEE-NO-EVIL MONKEY
+1F649 ; [*1395.0020.0002.1F649] # HEAR-NO-EVIL MONKEY
+1F64A ; [*1396.0020.0002.1F64A] # SPEAK-NO-EVIL MONKEY
+1F64B ; [*1397.0020.0002.1F64B] # HAPPY PERSON RAISING ONE HAND
+1F64C ; [*1398.0020.0002.1F64C] # PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D ; [*1399.0020.0002.1F64D] # PERSON FROWNING
+1F64E ; [*139A.0020.0002.1F64E] # PERSON WITH POUTING FACE
+1F64F ; [*139B.0020.0002.1F64F] # PERSON WITH FOLDED HANDS
+1F680 ; [*139C.0020.0002.1F680] # ROCKET
+1F681 ; [*139D.0020.0002.1F681] # HELICOPTER
+1F682 ; [*139E.0020.0002.1F682] # STEAM LOCOMOTIVE
+1F683 ; [*139F.0020.0002.1F683] # RAILWAY CAR
+1F684 ; [*13A0.0020.0002.1F684] # HIGH-SPEED TRAIN
+1F685 ; [*13A1.0020.0002.1F685] # HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686 ; [*13A2.0020.0002.1F686] # TRAIN
+1F687 ; [*13A3.0020.0002.1F687] # METRO
+1F688 ; [*13A4.0020.0002.1F688] # LIGHT RAIL
+1F689 ; [*13A5.0020.0002.1F689] # STATION
+1F68A ; [*13A6.0020.0002.1F68A] # TRAM
+1F68B ; [*13A7.0020.0002.1F68B] # TRAM CAR
+1F68C ; [*13A8.0020.0002.1F68C] # BUS
+1F68D ; [*13A9.0020.0002.1F68D] # ONCOMING BUS
+1F68E ; [*13AA.0020.0002.1F68E] # TROLLEYBUS
+1F68F ; [*13AB.0020.0002.1F68F] # BUS STOP
+1F690 ; [*13AC.0020.0002.1F690] # MINIBUS
+1F691 ; [*13AD.0020.0002.1F691] # AMBULANCE
+1F692 ; [*13AE.0020.0002.1F692] # FIRE ENGINE
+1F693 ; [*13AF.0020.0002.1F693] # POLICE CAR
+1F694 ; [*13B0.0020.0002.1F694] # ONCOMING POLICE CAR
+1F695 ; [*13B1.0020.0002.1F695] # TAXI
+1F696 ; [*13B2.0020.0002.1F696] # ONCOMING TAXI
+1F697 ; [*13B3.0020.0002.1F697] # AUTOMOBILE
+1F698 ; [*13B4.0020.0002.1F698] # ONCOMING AUTOMOBILE
+1F699 ; [*13B5.0020.0002.1F699] # RECREATIONAL VEHICLE
+1F69A ; [*13B6.0020.0002.1F69A] # DELIVERY TRUCK
+1F69B ; [*13B7.0020.0002.1F69B] # ARTICULATED LORRY
+1F69C ; [*13B8.0020.0002.1F69C] # TRACTOR
+1F69D ; [*13B9.0020.0002.1F69D] # MONORAIL
+1F69E ; [*13BA.0020.0002.1F69E] # MOUNTAIN RAILWAY
+1F69F ; [*13BB.0020.0002.1F69F] # SUSPENSION RAILWAY
+1F6A0 ; [*13BC.0020.0002.1F6A0] # MOUNTAIN CABLEWAY
+1F6A1 ; [*13BD.0020.0002.1F6A1] # AERIAL TRAMWAY
+1F6A2 ; [*13BE.0020.0002.1F6A2] # SHIP
+1F6A3 ; [*13BF.0020.0002.1F6A3] # ROWBOAT
+1F6A4 ; [*13C0.0020.0002.1F6A4] # SPEEDBOAT
+1F6A5 ; [*13C1.0020.0002.1F6A5] # HORIZONTAL TRAFFIC LIGHT
+1F6A6 ; [*13C2.0020.0002.1F6A6] # VERTICAL TRAFFIC LIGHT
+1F6A7 ; [*13C3.0020.0002.1F6A7] # CONSTRUCTION SIGN
+1F6A8 ; [*13C4.0020.0002.1F6A8] # POLICE CARS REVOLVING LIGHT
+1F6A9 ; [*13C5.0020.0002.1F6A9] # TRIANGULAR FLAG ON POST
+1F6AA ; [*13C6.0020.0002.1F6AA] # DOOR
+1F6AB ; [*13C7.0020.0002.1F6AB] # NO ENTRY SIGN
+1F6AC ; [*13C8.0020.0002.1F6AC] # SMOKING SYMBOL
+1F6AD ; [*13C9.0020.0002.1F6AD] # NO SMOKING SYMBOL
+1F6AE ; [*13CA.0020.0002.1F6AE] # PUT LITTER IN ITS PLACE SYMBOL
+1F6AF ; [*13CB.0020.0002.1F6AF] # DO NOT LITTER SYMBOL
+1F6B0 ; [*13CC.0020.0002.1F6B0] # POTABLE WATER SYMBOL
+1F6B1 ; [*13CD.0020.0002.1F6B1] # NON-POTABLE WATER SYMBOL
+1F6B2 ; [*13CE.0020.0002.1F6B2] # BICYCLE
+1F6B3 ; [*13CF.0020.0002.1F6B3] # NO BICYCLES
+1F6B4 ; [*13D0.0020.0002.1F6B4] # BICYCLIST
+1F6B5 ; [*13D1.0020.0002.1F6B5] # MOUNTAIN BICYCLIST
+1F6B6 ; [*13D2.0020.0002.1F6B6] # PEDESTRIAN
+1F6B7 ; [*13D3.0020.0002.1F6B7] # NO PEDESTRIANS
+1F6B8 ; [*13D4.0020.0002.1F6B8] # CHILDREN CROSSING
+1F6B9 ; [*13D5.0020.0002.1F6B9] # MENS SYMBOL
+1F6BA ; [*13D6.0020.0002.1F6BA] # WOMENS SYMBOL
+1F6BB ; [*13D7.0020.0002.1F6BB] # RESTROOM
+1F6BC ; [*13D8.0020.0002.1F6BC] # BABY SYMBOL
+1F6BD ; [*13D9.0020.0002.1F6BD] # TOILET
+1F6BE ; [*13DA.0020.0002.1F6BE] # WATER CLOSET
+1F6BF ; [*13DB.0020.0002.1F6BF] # SHOWER
+1F6C0 ; [*13DC.0020.0002.1F6C0] # BATH
+1F6C1 ; [*13DD.0020.0002.1F6C1] # BATHTUB
+1F6C2 ; [*13DE.0020.0002.1F6C2] # PASSPORT CONTROL
+1F6C3 ; [*13DF.0020.0002.1F6C3] # CUSTOMS
+1F6C4 ; [*13E0.0020.0002.1F6C4] # BAGGAGE CLAIM
+1F6C5 ; [*13E1.0020.0002.1F6C5] # LEFT LUGGAGE
+1F700 ; [*13E2.0020.0002.1F700] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
+1F701 ; [*13E3.0020.0002.1F701] # ALCHEMICAL SYMBOL FOR AIR
+1F702 ; [*13E4.0020.0002.1F702] # ALCHEMICAL SYMBOL FOR FIRE
+1F703 ; [*13E5.0020.0002.1F703] # ALCHEMICAL SYMBOL FOR EARTH
+1F704 ; [*13E6.0020.0002.1F704] # ALCHEMICAL SYMBOL FOR WATER
+1F705 ; [*13E7.0020.0002.1F705] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
+1F706 ; [*13E8.0020.0002.1F706] # ALCHEMICAL SYMBOL FOR AQUA REGIA
+1F707 ; [*13E9.0020.0002.1F707] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
+1F708 ; [*13EA.0020.0002.1F708] # ALCHEMICAL SYMBOL FOR AQUA VITAE
+1F709 ; [*13EB.0020.0002.1F709] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
+1F70A ; [*13EC.0020.0002.1F70A] # ALCHEMICAL SYMBOL FOR VINEGAR
+1F70B ; [*13ED.0020.0002.1F70B] # ALCHEMICAL SYMBOL FOR VINEGAR-2
+1F70C ; [*13EE.0020.0002.1F70C] # ALCHEMICAL SYMBOL FOR VINEGAR-3
+1F70D ; [*13EF.0020.0002.1F70D] # ALCHEMICAL SYMBOL FOR SULFUR
+1F70E ; [*13F0.0020.0002.1F70E] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
+1F70F ; [*13F1.0020.0002.1F70F] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
+1F710 ; [*13F2.0020.0002.1F710] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
+1F711 ; [*13F3.0020.0002.1F711] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
+1F712 ; [*13F4.0020.0002.1F712] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
+1F713 ; [*13F5.0020.0002.1F713] # ALCHEMICAL SYMBOL FOR CINNABAR
+1F714 ; [*13F6.0020.0002.1F714] # ALCHEMICAL SYMBOL FOR SALT
+1F715 ; [*13F7.0020.0002.1F715] # ALCHEMICAL SYMBOL FOR NITRE
+1F716 ; [*13F8.0020.0002.1F716] # ALCHEMICAL SYMBOL FOR VITRIOL
+1F717 ; [*13F9.0020.0002.1F717] # ALCHEMICAL SYMBOL FOR VITRIOL-2
+1F718 ; [*13FA.0020.0002.1F718] # ALCHEMICAL SYMBOL FOR ROCK SALT
+1F719 ; [*13FB.0020.0002.1F719] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
+1F71A ; [*13FC.0020.0002.1F71A] # ALCHEMICAL SYMBOL FOR GOLD
+1F71B ; [*13FD.0020.0002.1F71B] # ALCHEMICAL SYMBOL FOR SILVER
+1F71C ; [*13FE.0020.0002.1F71C] # ALCHEMICAL SYMBOL FOR IRON ORE
+1F71D ; [*13FF.0020.0002.1F71D] # ALCHEMICAL SYMBOL FOR IRON ORE-2
+1F71E ; [*1400.0020.0002.1F71E] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
+1F71F ; [*1401.0020.0002.1F71F] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
+1F720 ; [*1402.0020.0002.1F720] # ALCHEMICAL SYMBOL FOR COPPER ORE
+1F721 ; [*1403.0020.0002.1F721] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
+1F722 ; [*1404.0020.0002.1F722] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
+1F723 ; [*1405.0020.0002.1F723] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
+1F724 ; [*1406.0020.0002.1F724] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
+1F725 ; [*1407.0020.0002.1F725] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
+1F726 ; [*1408.0020.0002.1F726] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
+1F727 ; [*1409.0020.0002.1F727] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
+1F728 ; [*140A.0020.0002.1F728] # ALCHEMICAL SYMBOL FOR VERDIGRIS
+1F729 ; [*140B.0020.0002.1F729] # ALCHEMICAL SYMBOL FOR TIN ORE
+1F72A ; [*140C.0020.0002.1F72A] # ALCHEMICAL SYMBOL FOR LEAD ORE
+1F72B ; [*140D.0020.0002.1F72B] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
+1F72C ; [*140E.0020.0002.1F72C] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
+1F72D ; [*140F.0020.0002.1F72D] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
+1F72E ; [*1410.0020.0002.1F72E] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
+1F72F ; [*1411.0020.0002.1F72F] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
+1F730 ; [*1412.0020.0002.1F730] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
+1F731 ; [*1413.0020.0002.1F731] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
+1F732 ; [*1414.0020.0002.1F732] # ALCHEMICAL SYMBOL FOR REGULUS
+1F733 ; [*1415.0020.0002.1F733] # ALCHEMICAL SYMBOL FOR REGULUS-2
+1F734 ; [*1416.0020.0002.1F734] # ALCHEMICAL SYMBOL FOR REGULUS-3
+1F735 ; [*1417.0020.0002.1F735] # ALCHEMICAL SYMBOL FOR REGULUS-4
+1F736 ; [*1418.0020.0002.1F736] # ALCHEMICAL SYMBOL FOR ALKALI
+1F737 ; [*1419.0020.0002.1F737] # ALCHEMICAL SYMBOL FOR ALKALI-2
+1F738 ; [*141A.0020.0002.1F738] # ALCHEMICAL SYMBOL FOR MARCASITE
+1F739 ; [*141B.0020.0002.1F739] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
+1F73A ; [*141C.0020.0002.1F73A] # ALCHEMICAL SYMBOL FOR ARSENIC
+1F73B ; [*141D.0020.0002.1F73B] # ALCHEMICAL SYMBOL FOR REALGAR
+1F73C ; [*141E.0020.0002.1F73C] # ALCHEMICAL SYMBOL FOR REALGAR-2
+1F73D ; [*141F.0020.0002.1F73D] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
+1F73E ; [*1420.0020.0002.1F73E] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
+1F73F ; [*1421.0020.0002.1F73F] # ALCHEMICAL SYMBOL FOR TARTAR
+1F740 ; [*1422.0020.0002.1F740] # ALCHEMICAL SYMBOL FOR TARTAR-2
+1F741 ; [*1423.0020.0002.1F741] # ALCHEMICAL SYMBOL FOR QUICK LIME
+1F742 ; [*1424.0020.0002.1F742] # ALCHEMICAL SYMBOL FOR BORAX
+1F743 ; [*1425.0020.0002.1F743] # ALCHEMICAL SYMBOL FOR BORAX-2
+1F744 ; [*1426.0020.0002.1F744] # ALCHEMICAL SYMBOL FOR BORAX-3
+1F745 ; [*1427.0020.0002.1F745] # ALCHEMICAL SYMBOL FOR ALUM
+1F746 ; [*1428.0020.0002.1F746] # ALCHEMICAL SYMBOL FOR OIL
+1F747 ; [*1429.0020.0002.1F747] # ALCHEMICAL SYMBOL FOR SPIRIT
+1F748 ; [*142A.0020.0002.1F748] # ALCHEMICAL SYMBOL FOR TINCTURE
+1F749 ; [*142B.0020.0002.1F749] # ALCHEMICAL SYMBOL FOR GUM
+1F74A ; [*142C.0020.0002.1F74A] # ALCHEMICAL SYMBOL FOR WAX
+1F74B ; [*142D.0020.0002.1F74B] # ALCHEMICAL SYMBOL FOR POWDER
+1F74C ; [*142E.0020.0002.1F74C] # ALCHEMICAL SYMBOL FOR CALX
+1F74D ; [*142F.0020.0002.1F74D] # ALCHEMICAL SYMBOL FOR TUTTY
+1F74E ; [*1430.0020.0002.1F74E] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
+1F74F ; [*1431.0020.0002.1F74F] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
+1F750 ; [*1432.0020.0002.1F750] # ALCHEMICAL SYMBOL FOR CADUCEUS
+1F751 ; [*1433.0020.0002.1F751] # ALCHEMICAL SYMBOL FOR TRIDENT
+1F752 ; [*1434.0020.0002.1F752] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
+1F753 ; [*1435.0020.0002.1F753] # ALCHEMICAL SYMBOL FOR LODESTONE
+1F754 ; [*1436.0020.0002.1F754] # ALCHEMICAL SYMBOL FOR SOAP
+1F755 ; [*1437.0020.0002.1F755] # ALCHEMICAL SYMBOL FOR URINE
+1F756 ; [*1438.0020.0002.1F756] # ALCHEMICAL SYMBOL FOR HORSE DUNG
+1F757 ; [*1439.0020.0002.1F757] # ALCHEMICAL SYMBOL FOR ASHES
+1F758 ; [*143A.0020.0002.1F758] # ALCHEMICAL SYMBOL FOR POT ASHES
+1F759 ; [*143B.0020.0002.1F759] # ALCHEMICAL SYMBOL FOR BRICK
+1F75A ; [*143C.0020.0002.1F75A] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
+1F75B ; [*143D.0020.0002.1F75B] # ALCHEMICAL SYMBOL FOR AMALGAM
+1F75C ; [*143E.0020.0002.1F75C] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
+1F75D ; [*143F.0020.0002.1F75D] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
+1F75E ; [*1440.0020.0002.1F75E] # ALCHEMICAL SYMBOL FOR SUBLIMATION
+1F75F ; [*1441.0020.0002.1F75F] # ALCHEMICAL SYMBOL FOR PRECIPITATE
+1F760 ; [*1442.0020.0002.1F760] # ALCHEMICAL SYMBOL FOR DISTILL
+1F761 ; [*1443.0020.0002.1F761] # ALCHEMICAL SYMBOL FOR DISSOLVE
+1F762 ; [*1444.0020.0002.1F762] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
+1F763 ; [*1445.0020.0002.1F763] # ALCHEMICAL SYMBOL FOR PURIFY
+1F764 ; [*1446.0020.0002.1F764] # ALCHEMICAL SYMBOL FOR PUTREFACTION
+1F765 ; [*1447.0020.0002.1F765] # ALCHEMICAL SYMBOL FOR CRUCIBLE
+1F766 ; [*1448.0020.0002.1F766] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
+1F767 ; [*1449.0020.0002.1F767] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
+1F768 ; [*144A.0020.0002.1F768] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
+1F769 ; [*144B.0020.0002.1F769] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
+1F76A ; [*144C.0020.0002.1F76A] # ALCHEMICAL SYMBOL FOR ALEMBIC
+1F76B ; [*144D.0020.0002.1F76B] # ALCHEMICAL SYMBOL FOR BATH OF MARY
+1F76C ; [*144E.0020.0002.1F76C] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
+1F76D ; [*144F.0020.0002.1F76D] # ALCHEMICAL SYMBOL FOR RETORT
+1F76E ; [*1450.0020.0002.1F76E] # ALCHEMICAL SYMBOL FOR HOUR
+1F76F ; [*1451.0020.0002.1F76F] # ALCHEMICAL SYMBOL FOR NIGHT
+1F770 ; [*1452.0020.0002.1F770] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
+1F771 ; [*1453.0020.0002.1F771] # ALCHEMICAL SYMBOL FOR MONTH
+1F772 ; [*1454.0020.0002.1F772] # ALCHEMICAL SYMBOL FOR HALF DRAM
+1F773 ; [*1455.0020.0002.1F773] # ALCHEMICAL SYMBOL FOR HALF OUNCE
0332 ; [.0000.0021.0002.0332] # COMBINING LOW LINE
0313 ; [.0000.0022.0002.0313] # COMBINING COMMA ABOVE
0343 ; [.0000.0022.0002.0343] # COMBINING GREEK KORONIS; QQC
+0486 ; [.0000.0022.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA; QQC
+2CF1 ; [.0000.0022.0002.2CF1] # COPTIC COMBINING SPIRITUS LENIS; QQC
0314 ; [.0000.002A.0002.0314] # COMBINING REVERSED COMMA ABOVE
+0485 ; [.0000.002A.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA; QQC
+2CF0 ; [.0000.002A.0002.2CF0] # COPTIC COMBINING SPIRITUS ASPER; QQC
0301 ; [.0000.0032.0002.0301] # COMBINING ACUTE ACCENT
0341 ; [.0000.0032.0002.0341] # COMBINING ACUTE TONE MARK; QQC
+0954 ; [.0000.0032.0002.0954] # DEVANAGARI ACUTE ACCENT; QQC
0300 ; [.0000.0035.0002.0300] # COMBINING GRAVE ACCENT
0340 ; [.0000.0035.0002.0340] # COMBINING GRAVE TONE MARK; QQC
+0953 ; [.0000.0035.0002.0953] # DEVANAGARI GRAVE ACCENT; QQC
0306 ; [.0000.0037.0002.0306] # COMBINING BREVE
0302 ; [.0000.003C.0002.0302] # COMBINING CIRCUMFLEX ACCENT
030C ; [.0000.0041.0002.030C] # COMBINING CARON
@@ -4341,12419 +5897,17023 @@ FFFD ; [*0F12.0020.0002.FFFD] # REPLACEMENT CHARACTER
0327 ; [.0000.0056.0002.0327] # COMBINING CEDILLA
0328 ; [.0000.0059.0002.0328] # COMBINING OGONEK
0304 ; [.0000.005B.0002.0304] # COMBINING MACRON
-0305 ; [.0000.005F.0002.0305] # COMBINING OVERLINE
-0309 ; [.0000.0060.0002.0309] # COMBINING HOOK ABOVE
-030D ; [.0000.0061.0002.030D] # COMBINING VERTICAL LINE ABOVE
-030E ; [.0000.0062.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE
-030F ; [.0000.0063.0002.030F] # COMBINING DOUBLE GRAVE ACCENT
-0310 ; [.0000.0064.0002.0310] # COMBINING CANDRABINDU
-0311 ; [.0000.0065.0002.0311] # COMBINING INVERTED BREVE
-0312 ; [.0000.0066.0002.0312] # COMBINING TURNED COMMA ABOVE
-0315 ; [.0000.0067.0002.0315] # COMBINING COMMA ABOVE RIGHT
-0316 ; [.0000.0068.0002.0316] # COMBINING GRAVE ACCENT BELOW
-0317 ; [.0000.0069.0002.0317] # COMBINING ACUTE ACCENT BELOW
-0318 ; [.0000.006A.0002.0318] # COMBINING LEFT TACK BELOW
-0319 ; [.0000.006B.0002.0319] # COMBINING RIGHT TACK BELOW
-031A ; [.0000.006C.0002.031A] # COMBINING LEFT ANGLE ABOVE
-031B ; [.0000.006D.0002.031B] # COMBINING HORN
-031C ; [.0000.0073.0002.031C] # COMBINING LEFT HALF RING BELOW
-031D ; [.0000.0074.0002.031D] # COMBINING UP TACK BELOW
-031E ; [.0000.0075.0002.031E] # COMBINING DOWN TACK BELOW
-031F ; [.0000.0076.0002.031F] # COMBINING PLUS SIGN BELOW
-0320 ; [.0000.0077.0002.0320] # COMBINING MINUS SIGN BELOW
-0321 ; [.0000.0078.0002.0321] # COMBINING PALATALIZED HOOK BELOW
-0322 ; [.0000.0079.0002.0322] # COMBINING RETROFLEX HOOK BELOW
-0323 ; [.0000.007A.0002.0323] # COMBINING DOT BELOW
-0324 ; [.0000.007F.0002.0324] # COMBINING DIAERESIS BELOW
-0325 ; [.0000.0080.0002.0325] # COMBINING RING BELOW
-0326 ; [.0000.0081.0002.0326] # COMBINING COMMA BELOW
-0329 ; [.0000.0082.0002.0329] # COMBINING VERTICAL LINE BELOW
-032A ; [.0000.0083.0002.032A] # COMBINING BRIDGE BELOW
-032B ; [.0000.0084.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW
-032C ; [.0000.0085.0002.032C] # COMBINING CARON BELOW
-032D ; [.0000.0086.0002.032D] # COMBINING CIRCUMFLEX ACCENT BELOW
-032E ; [.0000.0087.0002.032E] # COMBINING BREVE BELOW
-032F ; [.0000.0088.0002.032F] # COMBINING INVERTED BREVE BELOW
-0330 ; [.0000.0089.0002.0330] # COMBINING TILDE BELOW
-0331 ; [.0000.008A.0002.0331] # COMBINING MACRON BELOW
-0333 ; [.0000.008B.0002.0333] # COMBINING DOUBLE LOW LINE
-0334 ; [.0000.008C.0002.0334] # COMBINING TILDE OVERLAY
-0335 ; [.0000.008D.0002.0335] # COMBINING SHORT STROKE OVERLAY
-0336 ; [.0000.008E.0002.0336] # COMBINING LONG STROKE OVERLAY
-0337 ; [.0000.008F.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY
-0339 ; [.0000.0090.0002.0339] # COMBINING RIGHT HALF RING BELOW
-033A ; [.0000.0091.0002.033A] # COMBINING INVERTED BRIDGE BELOW
-033B ; [.0000.0092.0002.033B] # COMBINING SQUARE BELOW
-033C ; [.0000.0093.0002.033C] # COMBINING SEAGULL BELOW
-033D ; [.0000.0094.0002.033D] # COMBINING X ABOVE
-033E ; [.0000.0095.0002.033E] # COMBINING VERTICAL TILDE
-033F ; [.0000.0096.0002.033F] # COMBINING DOUBLE OVERLINE
-0345 ; [.0000.0097.0002.0345] # COMBINING GREEK YPOGEGRAMMENI
-0346 ; [.0000.0098.0002.0346] # COMBINING BRIDGE ABOVE
-0347 ; [.0000.0099.0002.0347] # COMBINING EQUALS SIGN BELOW
-0348 ; [.0000.009A.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW
-0349 ; [.0000.009B.0002.0349] # COMBINING LEFT ANGLE BELOW
-034A ; [.0000.009C.0002.034A] # COMBINING NOT TILDE ABOVE
-034B ; [.0000.009D.0002.034B] # COMBINING HOMOTHETIC ABOVE
-034C ; [.0000.009E.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE
-034D ; [.0000.009F.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW
-034E ; [.0000.00A0.0002.034E] # COMBINING UPWARDS ARROW BELOW
-0350 ; [.0000.00A1.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE
-0351 ; [.0000.00A2.0002.0351] # COMBINING LEFT HALF RING ABOVE
-0352 ; [.0000.00A3.0002.0352] # COMBINING FERMATA
-0353 ; [.0000.00A4.0002.0353] # COMBINING X BELOW
-0354 ; [.0000.00A5.0002.0354] # COMBINING LEFT ARROWHEAD BELOW
-0355 ; [.0000.00A6.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW
-0356 ; [.0000.00A7.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0357 ; [.0000.00A8.0002.0357] # COMBINING RIGHT HALF RING ABOVE
-0358 ; [.0000.00A9.0002.0358] # COMBINING DOT ABOVE RIGHT
-0359 ; [.0000.00AA.0002.0359] # COMBINING ASTERISK BELOW
-035A ; [.0000.00AB.0002.035A] # COMBINING DOUBLE RING BELOW
-035B ; [.0000.00AC.0002.035B] # COMBINING ZIGZAG ABOVE
-035C ; [.0000.00AD.0002.035C] # COMBINING DOUBLE BREVE BELOW
-035D ; [.0000.00AE.0002.035D] # COMBINING DOUBLE BREVE
-035E ; [.0000.00AF.0002.035E] # COMBINING DOUBLE MACRON
-035F ; [.0000.00B0.0002.035F] # COMBINING DOUBLE MACRON BELOW
-0360 ; [.0000.00B1.0002.0360] # COMBINING DOUBLE TILDE
-FE22 ; [.0000.00B1.0002.FE22] # COMBINING DOUBLE TILDE LEFT HALF; QQC
-0361 ; [.0000.00B2.0002.0361] # COMBINING DOUBLE INVERTED BREVE
-FE20 ; [.0000.00B2.0002.FE20] # COMBINING LIGATURE LEFT HALF; QQC
-0362 ; [.0000.00B3.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-1DC0 ; [.0000.00B4.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT
-1DC1 ; [.0000.00B5.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT
-1DC2 ; [.0000.00B6.0002.1DC2] # COMBINING SNAKE BELOW
-1DC3 ; [.0000.00B7.0002.1DC3] # COMBINING SUSPENSION MARK
-1DC4 ; [.0000.00B8.0002.1DC4] # COMBINING MACRON-ACUTE
-1DC5 ; [.0000.00B9.0002.1DC5] # COMBINING GRAVE-MACRON
-1DC6 ; [.0000.00BA.0002.1DC6] # COMBINING MACRON-GRAVE
-1DC7 ; [.0000.00BB.0002.1DC7] # COMBINING ACUTE-MACRON
-1DC8 ; [.0000.00BC.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE
-1DC9 ; [.0000.00BD.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE
-1DCA ; [.0000.00BE.0002.1DCA] # COMBINING LATIN SMALL LETTER R BELOW
-1DFE ; [.0000.00BF.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE
-1DFF ; [.0000.00C0.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-0483 ; [.0000.00C1.0002.0483] # COMBINING CYRILLIC TITLO
-0484 ; [.0000.00C2.0002.0484] # COMBINING CYRILLIC PALATALIZATION
-0485 ; [.0000.00C3.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA
-0486 ; [.0000.00C4.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA
-05B0 ; [.0000.00C5.0002.05B0] # HEBREW POINT SHEVA
-05B1 ; [.0000.00C6.0002.05B1] # HEBREW POINT HATAF SEGOL
-05B2 ; [.0000.00C7.0002.05B2] # HEBREW POINT HATAF PATAH
-05B3 ; [.0000.00C8.0002.05B3] # HEBREW POINT HATAF QAMATS
-05B4 ; [.0000.00C9.0002.05B4] # HEBREW POINT HIRIQ
-05B5 ; [.0000.00CA.0002.05B5] # HEBREW POINT TSERE
-05B6 ; [.0000.00CB.0002.05B6] # HEBREW POINT SEGOL
-05B7 ; [.0000.00CC.0002.05B7] # HEBREW POINT PATAH
-05B8 ; [.0000.00CD.0002.05B8] # HEBREW POINT QAMATS
-05C7 ; [.0000.00CE.0002.05C7] # HEBREW POINT QAMATS QATAN
-05B9 ; [.0000.00CF.0002.05B9] # HEBREW POINT HOLAM
-05BA ; [.0000.00D0.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV
-05BB ; [.0000.00D1.0002.05BB] # HEBREW POINT QUBUTS
-05C2 ; [.0000.00D2.0002.05C2] # HEBREW POINT SIN DOT
-05C1 ; [.0000.00D3.0002.05C1] # HEBREW POINT SHIN DOT
-05BC ; [.0000.00D4.0002.05BC] # HEBREW POINT DAGESH OR MAPIQ
-05BF ; [.0000.00D7.0002.05BF] # HEBREW POINT RAFE
-FB1E ; [.0000.00D8.0002.FB1E] # HEBREW POINT JUDEO-SPANISH VARIKA
-064B ; [.0000.00D9.0002.064B] # ARABIC FATHATAN
-FE71 ; [.0000.00D9.0018.FE71] # ARABIC TATWEEL WITH FATHATAN ABOVE; QQK
-FE70 ; [.0000.00D9.001A.FE70] # ARABIC FATHATAN ISOLATED FORM; QQK
-064C ; [.0000.00DA.0002.064C] # ARABIC DAMMATAN
-FE72 ; [.0000.00DA.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM; QQK
-064D ; [.0000.00DC.0002.064D] # ARABIC KASRATAN
-FE74 ; [.0000.00DC.001A.FE74] # ARABIC KASRATAN ISOLATED FORM; QQK
-064E ; [.0000.00DE.0002.064E] # ARABIC FATHA
-FE77 ; [.0000.00DE.0018.FE77] # ARABIC FATHA MEDIAL FORM; QQK
-FE76 ; [.0000.00DE.001A.FE76] # ARABIC FATHA ISOLATED FORM; QQK
-064F ; [.0000.00E0.0002.064F] # ARABIC DAMMA
-FE79 ; [.0000.00E0.0018.FE79] # ARABIC DAMMA MEDIAL FORM; QQK
-FE78 ; [.0000.00E0.001A.FE78] # ARABIC DAMMA ISOLATED FORM; QQK
-0650 ; [.0000.00E2.0002.0650] # ARABIC KASRA
-FE7B ; [.0000.00E2.0018.FE7B] # ARABIC KASRA MEDIAL FORM; QQK
-FE7A ; [.0000.00E2.001A.FE7A] # ARABIC KASRA ISOLATED FORM; QQK
-0651 ; [.0000.00E4.0002.0651] # ARABIC SHADDA
-FCF2 ; [.0000.00E4.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM; QQKM
-FCF3 ; [.0000.00E4.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM; QQKM
-FCF4 ; [.0000.00E4.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM; QQKM
-FE7D ; [.0000.00E4.0018.FE7D] # ARABIC SHADDA MEDIAL FORM; QQK
-FC5E ; [.0000.00E4.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM; QQKM
-FC5F ; [.0000.00E4.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM; QQKM
-FC60 ; [.0000.00E4.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM; QQKM
-FC61 ; [.0000.00E4.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM; QQKM
-FC62 ; [.0000.00E4.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM; QQKM
-FE7C ; [.0000.00E4.001A.FE7C] # ARABIC SHADDA ISOLATED FORM; QQK
-FC63 ; [.0000.00E4.001A.FC63][.0000.00F3.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-0652 ; [.0000.00E6.0002.0652] # ARABIC SUKUN
-FE7F ; [.0000.00E6.0018.FE7F] # ARABIC SUKUN MEDIAL FORM; QQK
-FE7E ; [.0000.00E6.001A.FE7E] # ARABIC SUKUN ISOLATED FORM; QQK
-0653 ; [.0000.00E7.0002.0653] # ARABIC MADDAH ABOVE
-0654 ; [.0000.00E8.0002.0654] # ARABIC HAMZA ABOVE
-0655 ; [.0000.00E9.0002.0655] # ARABIC HAMZA BELOW
-0656 ; [.0000.00EA.0002.0656] # ARABIC SUBSCRIPT ALEF
-0657 ; [.0000.00EB.0002.0657] # ARABIC INVERTED DAMMA
-0658 ; [.0000.00EC.0002.0658] # ARABIC MARK NOON GHUNNA
-0659 ; [.0000.00ED.0002.0659] # ARABIC ZWARAKAY
-065A ; [.0000.00EE.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
-065B ; [.0000.00EF.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C ; [.0000.00F0.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
-065D ; [.0000.00F1.0002.065D] # ARABIC REVERSED DAMMA
-065E ; [.0000.00F2.0002.065E] # ARABIC FATHA WITH TWO DOTS
-0670 ; [.0000.00F3.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
-0711 ; [.0000.00F4.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
-0730 ; [.0000.00F5.0002.0730] # SYRIAC PTHAHA ABOVE
-0731 ; [.0000.00F6.0002.0731] # SYRIAC PTHAHA BELOW
-0732 ; [.0000.00F7.0002.0732] # SYRIAC PTHAHA DOTTED
-0733 ; [.0000.00F8.0002.0733] # SYRIAC ZQAPHA ABOVE
-0734 ; [.0000.00F9.0002.0734] # SYRIAC ZQAPHA BELOW
-0735 ; [.0000.00FA.0002.0735] # SYRIAC ZQAPHA DOTTED
-0736 ; [.0000.00FB.0002.0736] # SYRIAC RBASA ABOVE
-0737 ; [.0000.00FC.0002.0737] # SYRIAC RBASA BELOW
-0738 ; [.0000.00FD.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
-0739 ; [.0000.00FE.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
-073A ; [.0000.00FF.0002.073A] # SYRIAC HBASA ABOVE
-073B ; [.0000.0100.0002.073B] # SYRIAC HBASA BELOW
-073C ; [.0000.0101.0002.073C] # SYRIAC HBASA-ESASA DOTTED
-073D ; [.0000.0102.0002.073D] # SYRIAC ESASA ABOVE
-073E ; [.0000.0103.0002.073E] # SYRIAC ESASA BELOW
-073F ; [.0000.0104.0002.073F] # SYRIAC RWAHA
-0740 ; [.0000.0105.0002.0740] # SYRIAC FEMININE DOT
-0741 ; [.0000.0106.0002.0741] # SYRIAC QUSHSHAYA
-0742 ; [.0000.0107.0002.0742] # SYRIAC RUKKAKHA
-0743 ; [.0000.0108.0002.0743] # SYRIAC TWO VERTICAL DOTS ABOVE
-0744 ; [.0000.0109.0002.0744] # SYRIAC TWO VERTICAL DOTS BELOW
-0745 ; [.0000.010A.0002.0745] # SYRIAC THREE DOTS ABOVE
-0746 ; [.0000.010B.0002.0746] # SYRIAC THREE DOTS BELOW
-0747 ; [.0000.010C.0002.0747] # SYRIAC OBLIQUE LINE ABOVE
-0748 ; [.0000.010D.0002.0748] # SYRIAC OBLIQUE LINE BELOW
-0749 ; [.0000.010E.0002.0749] # SYRIAC MUSIC
-074A ; [.0000.010F.0002.074A] # SYRIAC BARREKH
-07EB ; [.0000.0110.0002.07EB] # NKO COMBINING SHORT HIGH TONE
-07EC ; [.0000.0111.0002.07EC] # NKO COMBINING SHORT LOW TONE
-07ED ; [.0000.0112.0002.07ED] # NKO COMBINING SHORT RISING TONE
-07EE ; [.0000.0113.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
-07EF ; [.0000.0114.0002.07EF] # NKO COMBINING LONG HIGH TONE
-07F0 ; [.0000.0115.0002.07F0] # NKO COMBINING LONG LOW TONE
-07F1 ; [.0000.0116.0002.07F1] # NKO COMBINING LONG RISING TONE
-07F2 ; [.0000.0117.0002.07F2] # NKO COMBINING NASALIZATION MARK
-07F3 ; [.0000.0118.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
-093C ; [.0000.0119.0002.093C] # DEVANAGARI SIGN NUKTA
-0901 ; [.0000.011A.0002.0901] # DEVANAGARI SIGN CANDRABINDU
-0902 ; [.0000.011B.0002.0902] # DEVANAGARI SIGN ANUSVARA
-0903 ; [.0000.011C.0002.0903] # DEVANAGARI SIGN VISARGA
-0951 ; [.0000.011D.0002.0951] # DEVANAGARI STRESS SIGN UDATTA
-0952 ; [.0000.011E.0002.0952] # DEVANAGARI STRESS SIGN ANUDATTA
-0953 ; [.0000.011F.0002.0953] # DEVANAGARI GRAVE ACCENT
-0954 ; [.0000.0120.0002.0954] # DEVANAGARI ACUTE ACCENT
-09BC ; [.0000.0121.0002.09BC] # BENGALI SIGN NUKTA
-0981 ; [.0000.0122.0002.0981] # BENGALI SIGN CANDRABINDU
-0982 ; [.0000.0123.0002.0982] # BENGALI SIGN ANUSVARA
-0983 ; [.0000.0124.0002.0983] # BENGALI SIGN VISARGA
-0A3C ; [.0000.0125.0002.0A3C] # GURMUKHI SIGN NUKTA
-0A01 ; [.0000.0126.0002.0A01] # GURMUKHI SIGN ADAK BINDI
-0A02 ; [.0000.0127.0002.0A02] # GURMUKHI SIGN BINDI
-0A03 ; [.0000.0128.0002.0A03] # GURMUKHI SIGN VISARGA
-0A70 ; [.0000.0129.0002.0A70] # GURMUKHI TIPPI
-0A71 ; [.0000.012A.0002.0A71] # GURMUKHI ADDAK
-0ABC ; [.0000.012B.0002.0ABC] # GUJARATI SIGN NUKTA
-0A81 ; [.0000.012C.0002.0A81] # GUJARATI SIGN CANDRABINDU
-0A82 ; [.0000.012D.0002.0A82] # GUJARATI SIGN ANUSVARA
-0A83 ; [.0000.012E.0002.0A83] # GUJARATI SIGN VISARGA
-0B3C ; [.0000.012F.0002.0B3C] # ORIYA SIGN NUKTA
-0B01 ; [.0000.0130.0002.0B01] # ORIYA SIGN CANDRABINDU
-0B02 ; [.0000.0131.0002.0B02] # ORIYA SIGN ANUSVARA
-0B03 ; [.0000.0132.0002.0B03] # ORIYA SIGN VISARGA
-0B82 ; [.0000.0133.0002.0B82] # TAMIL SIGN ANUSVARA
-0C01 ; [.0000.0134.0002.0C01] # TELUGU SIGN CANDRABINDU
-0C02 ; [.0000.0135.0002.0C02] # TELUGU SIGN ANUSVARA
-0C03 ; [.0000.0136.0002.0C03] # TELUGU SIGN VISARGA
-0CBC ; [.0000.0137.0002.0CBC] # KANNADA SIGN NUKTA
-0C82 ; [.0000.0138.0002.0C82] # KANNADA SIGN ANUSVARA
-0C83 ; [.0000.0139.0002.0C83] # KANNADA SIGN VISARGA
-0D02 ; [.0000.013A.0002.0D02] # MALAYALAM SIGN ANUSVARA
-0D03 ; [.0000.013B.0002.0D03] # MALAYALAM SIGN VISARGA
-0D82 ; [.0000.013C.0002.0D82] # SINHALA SIGN ANUSVARAYA
-0D83 ; [.0000.013D.0002.0D83] # SINHALA SIGN VISARGAYA
-1B34 ; [.0000.013E.0002.1B34] # BALINESE SIGN REREKAN
-1B00 ; [.0000.013F.0002.1B00] # BALINESE SIGN ULU RICEM
-1B01 ; [.0000.0140.0002.1B01] # BALINESE SIGN ULU CANDRA
-1B02 ; [.0000.0141.0002.1B02] # BALINESE SIGN CECEK
-1B03 ; [.0000.0142.0002.1B03] # BALINESE SIGN SURANG
-1B04 ; [.0000.0143.0002.1B04] # BALINESE SIGN BISAH
-A80B ; [.0000.0144.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
-10A0D ; [.0000.0145.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW
-10A0E ; [.0000.0146.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
-10A0F ; [.0000.0147.0002.10A0F] # KHAROSHTHI SIGN VISARGA
-10A38 ; [.0000.0148.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
-10A39 ; [.0000.0149.0002.10A39] # KHAROSHTHI SIGN CAUDA
-10A3A ; [.0000.014A.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
-0E4E ; [.0000.014B.0002.0E4E] # THAI CHARACTER YAMAKKAN
-0E47 ; [.0000.014C.0002.0E47] # THAI CHARACTER MAITAIKHU
-0E48 ; [.0000.014D.0002.0E48] # THAI CHARACTER MAI EK
-0E49 ; [.0000.014E.0002.0E49] # THAI CHARACTER MAI THO
-0E4A ; [.0000.014F.0002.0E4A] # THAI CHARACTER MAI TRI
-0E4B ; [.0000.0150.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
-0E4C ; [.0000.0151.0002.0E4C] # THAI CHARACTER THANTHAKHAT
-0E4D ; [.0000.0152.0002.0E4D] # THAI CHARACTER NIKHAHIT
-0EC8 ; [.0000.0153.0002.0EC8] # LAO TONE MAI EK
-0EC9 ; [.0000.0154.0002.0EC9] # LAO TONE MAI THO
-0ECA ; [.0000.0155.0002.0ECA] # LAO TONE MAI TI
-0ECB ; [.0000.0156.0002.0ECB] # LAO TONE MAI CATAWA
-0ECC ; [.0000.0157.0002.0ECC] # LAO CANCELLATION MARK
-0ECD ; [.0000.0158.0002.0ECD] # LAO NIGGAHITA
-0F39 ; [.0000.0159.0002.0F39] # TIBETAN MARK TSA -PHRU
-0F7E ; [.0000.015A.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
-0F7F ; [.0000.015B.0002.0F7F] # TIBETAN SIGN RNAM BCAD
-1036 ; [.0000.015C.0002.1036] # MYANMAR SIGN ANUSVARA
-1037 ; [.0000.015D.0002.1037] # MYANMAR SIGN DOT BELOW
-1038 ; [.0000.015E.0002.1038] # MYANMAR SIGN VISARGA
-135F ; [.0000.015F.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
-17C6 ; [.0000.0160.0002.17C6] # KHMER SIGN NIKAHIT
-17C7 ; [.0000.0161.0002.17C7] # KHMER SIGN REAHMUK
-17C8 ; [.0000.0162.0002.17C8] # KHMER SIGN YUUKALEAPINTU
-17C9 ; [.0000.0163.0002.17C9] # KHMER SIGN MUUSIKATOAN
-17CA ; [.0000.0164.0002.17CA] # KHMER SIGN TRIISAP
-17CB ; [.0000.0165.0002.17CB] # KHMER SIGN BANTOC
-17CC ; [.0000.0166.0002.17CC] # KHMER SIGN ROBAT
-17CD ; [.0000.0167.0002.17CD] # KHMER SIGN TOANDAKHIAT
-17CE ; [.0000.0168.0002.17CE] # KHMER SIGN KAKABAT
-17CF ; [.0000.0169.0002.17CF] # KHMER SIGN AHSDA
-17D0 ; [.0000.016A.0002.17D0] # KHMER SIGN SAMYOK SANNYA
-17D1 ; [.0000.016B.0002.17D1] # KHMER SIGN VIRIAM
-17D3 ; [.0000.016C.0002.17D3] # KHMER SIGN BATHAMASAT
-17DD ; [.0000.016D.0002.17DD] # KHMER SIGN ATTHACAN
-1939 ; [.0000.016E.0002.1939] # LIMBU SIGN MUKPHRENG
-193A ; [.0000.016F.0002.193A] # LIMBU SIGN KEMPHRENG
-193B ; [.0000.0170.0002.193B] # LIMBU SIGN SA-I
-302A ; [.0000.0171.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
-302B ; [.0000.0172.0002.302B] # IDEOGRAPHIC RISING TONE MARK
-302C ; [.0000.0173.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
-302D ; [.0000.0174.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
-302E ; [.0000.0175.0002.302E] # HANGUL SINGLE DOT TONE MARK
-302F ; [.0000.0176.0002.302F] # HANGUL DOUBLE DOT TONE MARK
-3099 ; [.0000.0177.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-FF9E ; [.0000.0177.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK; QQK
-309A ; [.0000.0178.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-FF9F ; [.0000.0178.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK; QQK
-20D0 ; [.0000.0179.0002.20D0] # COMBINING LEFT HARPOON ABOVE
-20D1 ; [.0000.017A.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
-20D2 ; [.0000.017B.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
-20D3 ; [.0000.017C.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY
-20D4 ; [.0000.017D.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5 ; [.0000.017E.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
-20D6 ; [.0000.017F.0002.20D6] # COMBINING LEFT ARROW ABOVE
-20D7 ; [.0000.0180.0002.20D7] # COMBINING RIGHT ARROW ABOVE
-20D8 ; [.0000.0181.0002.20D8] # COMBINING RING OVERLAY
-20D9 ; [.0000.0182.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY
-20DA ; [.0000.0183.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY
-20DB ; [.0000.0184.0002.20DB] # COMBINING THREE DOTS ABOVE
-20DC ; [.0000.0185.0002.20DC] # COMBINING FOUR DOTS ABOVE
-20DD ; [.0000.0186.0002.20DD] # COMBINING ENCLOSING CIRCLE
-20DE ; [.0000.0187.0002.20DE] # COMBINING ENCLOSING SQUARE
-20DF ; [.0000.0188.0002.20DF] # COMBINING ENCLOSING DIAMOND
-20E0 ; [.0000.0189.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; [.0000.018A.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
-20E2 ; [.0000.018B.0002.20E2] # COMBINING ENCLOSING SCREEN
-20E3 ; [.0000.018C.0002.20E3] # COMBINING ENCLOSING KEYCAP
-20E4 ; [.0000.018D.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5 ; [.0000.018E.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY
-20E6 ; [.0000.018F.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7 ; [.0000.0190.0002.20E7] # COMBINING ANNUITY SYMBOL
-20E8 ; [.0000.0191.0002.20E8] # COMBINING TRIPLE UNDERDOT
-20E9 ; [.0000.0192.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
-20EA ; [.0000.0193.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY
-20EB ; [.0000.0194.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY
-20EC ; [.0000.0195.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-20ED ; [.0000.0196.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
-20EE ; [.0000.0197.0002.20EE] # COMBINING LEFT ARROW BELOW
-20EF ; [.0000.0198.0002.20EF] # COMBINING RIGHT ARROW BELOW
-02D0 ; [.0F99.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
-02D1 ; [.0F9A.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
-0E46 ; [.0F9B.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
-0EC6 ; [.0F9C.0020.0002.0EC6] # LAO KO LA
-3005 ; [.0F9D.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
-303B ; [.0F9E.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
-3031 ; [.0F9F.0020.0002.3031] # VERTICAL KANA REPEAT MARK
-3032 ; [.0F9F.0020.0002.3031][.0000.0177.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK; QQCM
-3033 ; [.0FA0.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
-3034 ; [.0FA0.0020.0002.3033][.0000.0177.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF; QQCM
-3035 ; [.0FA1.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
-309D ; [.0FA2.0020.0002.309D] # HIRAGANA ITERATION MARK
-309E ; [.0FA2.0020.0002.309D][.0000.0177.0002.3099] # HIRAGANA VOICED ITERATION MARK; QQCM
-30FC ; [.0FA3.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF70 ; [.0FA3.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK; QQK
-30FD ; [.0FA4.0020.0002.30FD] # KATAKANA ITERATION MARK
-30FE ; [.0FA4.0020.0002.30FD][.0000.0177.0002.3099] # KATAKANA VOICED ITERATION MARK; QQCM
-00A4 ; [.0FA5.0020.0002.00A4] # CURRENCY SIGN
-00A2 ; [.0FA6.0020.0002.00A2] # CENT SIGN
-FFE0 ; [.0FA6.0020.0003.FFE0] # FULLWIDTH CENT SIGN; QQK
-0024 ; [.0FA7.0020.0002.0024] # DOLLAR SIGN
-FF04 ; [.0FA7.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN; QQK
-FE69 ; [.0FA7.0020.000F.FE69] # SMALL DOLLAR SIGN; QQK
-00A3 ; [.0FA8.0020.0002.00A3] # POUND SIGN
-FFE1 ; [.0FA8.0020.0003.FFE1] # FULLWIDTH POUND SIGN; QQK
-00A5 ; [.0FA9.0020.0002.00A5] # YEN SIGN
-FFE5 ; [.0FA9.0020.0003.FFE5] # FULLWIDTH YEN SIGN; QQK
-060B ; [.0FAA.0020.0002.060B] # AFGHANI SIGN
-09F2 ; [.0FAB.0020.0002.09F2] # BENGALI RUPEE MARK
-09F3 ; [.0FAC.0020.0002.09F3] # BENGALI RUPEE SIGN
-0AF1 ; [.0FAD.0020.0002.0AF1] # GUJARATI RUPEE SIGN
-0BF9 ; [.0FAE.0020.0002.0BF9] # TAMIL RUPEE SIGN
-0E3F ; [.0FAF.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
-17DB ; [.0FB0.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
-20A0 ; [.0FB1.0020.0002.20A0] # EURO-CURRENCY SIGN
-20A1 ; [.0FB2.0020.0002.20A1] # COLON SIGN
-20A2 ; [.0FB3.0020.0002.20A2] # CRUZEIRO SIGN
-20A3 ; [.0FB4.0020.0002.20A3] # FRENCH FRANC SIGN
-20A4 ; [.0FB5.0020.0002.20A4] # LIRA SIGN
-20A5 ; [.0FB6.0020.0002.20A5] # MILL SIGN
-20A6 ; [.0FB7.0020.0002.20A6] # NAIRA SIGN
-20A7 ; [.0FB8.0020.0002.20A7] # PESETA SIGN
-20A9 ; [.0FB9.0020.0002.20A9] # WON SIGN
-FFE6 ; [.0FB9.0020.0003.FFE6] # FULLWIDTH WON SIGN; QQK
-20AA ; [.0FBA.0020.0002.20AA] # NEW SHEQEL SIGN
-20AB ; [.0FBB.0020.0002.20AB] # DONG SIGN
-20AC ; [.0FBC.0020.0002.20AC] # EURO SIGN
-20AD ; [.0FBD.0020.0002.20AD] # KIP SIGN
-20AE ; [.0FBE.0020.0002.20AE] # TUGRIK SIGN
-20AF ; [.0FBF.0020.0002.20AF] # DRACHMA SIGN
-20B0 ; [.0FC0.0020.0002.20B0] # GERMAN PENNY SIGN
-20B1 ; [.0FC1.0020.0002.20B1] # PESO SIGN
-20B2 ; [.0FC2.0020.0002.20B2] # GUARANI SIGN
-20B3 ; [.0FC3.0020.0002.20B3] # AUSTRAL SIGN
-20B4 ; [.0FC4.0020.0002.20B4] # HRYVNIA SIGN
-20B5 ; [.0FC5.0020.0002.20B5] # CEDI SIGN
-0030 ; [.0FC6.0020.0002.0030] # DIGIT ZERO
-FF10 ; [.0FC6.0020.0003.FF10] # FULLWIDTH DIGIT ZERO; QQK
-1D7CE ; [.0FC6.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO; QQK
-1D7D8 ; [.0FC6.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO; QQK
-1D7E2 ; [.0FC6.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO; QQK
-1D7EC ; [.0FC6.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO; QQK
-1D7F6 ; [.0FC6.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO; QQK
-24EA ; [.0FC6.0020.0006.24EA] # CIRCLED DIGIT ZERO; QQK
-24FF ; [.0FC6.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO; QQK
-2070 ; [.0FC6.0020.0014.2070] # SUPERSCRIPT ZERO; QQK
-2080 ; [.0FC6.0020.0015.2080] # SUBSCRIPT ZERO; QQK
-0660 ; [.0FC6.0020.0002.0660][.0000.019F.0002.0660] # ARABIC-INDIC DIGIT ZERO
-06F0 ; [.0FC6.0020.0002.06F0][.0000.01A0.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
-07C0 ; [.0FC6.0020.0002.07C0][.0000.01A1.0002.07C0] # NKO DIGIT ZERO
-104A0 ; [.0FC6.0020.0002.104A0][.0000.01A3.0002.104A0] # OSMANYA DIGIT ZERO
-0966 ; [.0FC6.0020.0002.0966][.0000.01A4.0002.0966] # DEVANAGARI DIGIT ZERO
-09E6 ; [.0FC6.0020.0002.09E6][.0000.01A5.0002.09E6] # BENGALI DIGIT ZERO
-0A66 ; [.0FC6.0020.0002.0A66][.0000.01A6.0002.0A66] # GURMUKHI DIGIT ZERO
-0AE6 ; [.0FC6.0020.0002.0AE6][.0000.01A7.0002.0AE6] # GUJARATI DIGIT ZERO
-0B66 ; [.0FC6.0020.0002.0B66][.0000.01A8.0002.0B66] # ORIYA DIGIT ZERO
-0BE6 ; [.0FC6.0020.0002.0BE6][.0000.01A9.0002.0BE6] # TAMIL DIGIT ZERO
-0C66 ; [.0FC6.0020.0002.0C66][.0000.01AA.0002.0C66] # TELUGU DIGIT ZERO
-0CE6 ; [.0FC6.0020.0002.0CE6][.0000.01AB.0002.0CE6] # KANNADA DIGIT ZERO
-0D66 ; [.0FC6.0020.0002.0D66][.0000.01AC.0002.0D66] # MALAYALAM DIGIT ZERO
-1946 ; [.0FC6.0020.0002.1946][.0000.01AD.0002.1946] # LIMBU DIGIT ZERO
-19D0 ; [.0FC6.0020.0002.19D0][.0000.01AE.0002.19D0] # NEW TAI LUE DIGIT ZERO
-0E50 ; [.0FC6.0020.0002.0E50][.0000.01AF.0002.0E50] # THAI DIGIT ZERO
-0ED0 ; [.0FC6.0020.0002.0ED0][.0000.01B0.0002.0ED0] # LAO DIGIT ZERO
-0F20 ; [.0FC6.0020.0002.0F20][.0000.01B1.0002.0F20] # TIBETAN DIGIT ZERO
-0F33 ; [.0FC6.0020.0004.0F33][.0000.01B1.0004.0F33] # TIBETAN DIGIT HALF ZERO; QQK
-1040 ; [.0FC6.0020.0002.1040][.0000.01B2.0002.1040] # MYANMAR DIGIT ZERO
-17E0 ; [.0FC6.0020.0002.17E0][.0000.01B3.0002.17E0] # KHMER DIGIT ZERO
-17F0 ; [.0FC6.0020.0002.17F0][.0000.01B4.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
-1B50 ; [.0FC6.0020.0002.1B50][.0000.01B5.0002.1B50] # BALINESE DIGIT ZERO
-1810 ; [.0FC6.0020.0002.1810][.0000.01B6.0002.1810] # MONGOLIAN DIGIT ZERO
-3007 ; [.0FC6.0020.0002.3007][.0000.01B7.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-1018A ; [.0FC6.0020.0002.1018A][.0000.01B9.0002.1018A] # GREEK ZERO SIGN
-3358 ; [.0FC6.0020.0004.3358][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO; QQKN
-0031 ; [.0FC7.0020.0002.0031] # DIGIT ONE
-FF11 ; [.0FC7.0020.0003.FF11] # FULLWIDTH DIGIT ONE; QQK
-2474 ; [*02B1.0020.0004.2474][.0FC7.0020.0004.2474][*02B2.0020.001F.2474] # PARENTHESIZED DIGIT ONE; QQKN
-2488 ; [.0FC7.0020.0004.2488][*0266.0020.0004.2488] # DIGIT ONE FULL STOP; QQKN
-1D7CF ; [.0FC7.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE; QQK
-1D7D9 ; [.0FC7.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE; QQK
-1D7E3 ; [.0FC7.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE; QQK
-1D7ED ; [.0FC7.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE; QQK
-1D7F7 ; [.0FC7.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE; QQK
-2460 ; [.0FC7.0020.0006.2460] # CIRCLED DIGIT ONE; QQK
-24F5 ; [.0FC7.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE; QQK
-2776 ; [.0FC7.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE; QQK
-2780 ; [.0FC7.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE; QQK
-278A ; [.0FC7.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE; QQK
-00B9 ; [.0FC7.0020.0014.00B9] # SUPERSCRIPT ONE; QQK
-2081 ; [.0FC7.0020.0015.2081] # SUBSCRIPT ONE; QQK
-215F ; [.0FC7.0020.001E.215F][*0300.0020.001E.215F] # FRACTION NUMERATOR ONE; QQKN
-0661 ; [.0FC7.0020.0002.0661][.0000.019F.0002.0661] # ARABIC-INDIC DIGIT ONE
-06F1 ; [.0FC7.0020.0002.06F1][.0000.01A0.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
-07C1 ; [.0FC7.0020.0002.07C1][.0000.01A1.0002.07C1] # NKO DIGIT ONE
-1369 ; [.0FC7.0020.0002.1369][.0000.01A2.0002.1369] # ETHIOPIC DIGIT ONE
-104A1 ; [.0FC7.0020.0002.104A1][.0000.01A3.0002.104A1] # OSMANYA DIGIT ONE
-0967 ; [.0FC7.0020.0002.0967][.0000.01A4.0002.0967] # DEVANAGARI DIGIT ONE
-09E7 ; [.0FC7.0020.0002.09E7][.0000.01A5.0002.09E7] # BENGALI DIGIT ONE
-09F4 ; [.0FC7.0020.0002.09F4][.0000.01A5.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
-0A67 ; [.0FC7.0020.0002.0A67][.0000.01A6.0002.0A67] # GURMUKHI DIGIT ONE
-0AE7 ; [.0FC7.0020.0002.0AE7][.0000.01A7.0002.0AE7] # GUJARATI DIGIT ONE
-0B67 ; [.0FC7.0020.0002.0B67][.0000.01A8.0002.0B67] # ORIYA DIGIT ONE
-0BE7 ; [.0FC7.0020.0002.0BE7][.0000.01A9.0002.0BE7] # TAMIL DIGIT ONE
-0C67 ; [.0FC7.0020.0002.0C67][.0000.01AA.0002.0C67] # TELUGU DIGIT ONE
-0CE7 ; [.0FC7.0020.0002.0CE7][.0000.01AB.0002.0CE7] # KANNADA DIGIT ONE
-0D67 ; [.0FC7.0020.0002.0D67][.0000.01AC.0002.0D67] # MALAYALAM DIGIT ONE
-1947 ; [.0FC7.0020.0002.1947][.0000.01AD.0002.1947] # LIMBU DIGIT ONE
-19D1 ; [.0FC7.0020.0002.19D1][.0000.01AE.0002.19D1] # NEW TAI LUE DIGIT ONE
-0E51 ; [.0FC7.0020.0002.0E51][.0000.01AF.0002.0E51] # THAI DIGIT ONE
-0ED1 ; [.0FC7.0020.0002.0ED1][.0000.01B0.0002.0ED1] # LAO DIGIT ONE
-0F21 ; [.0FC7.0020.0002.0F21][.0000.01B1.0002.0F21] # TIBETAN DIGIT ONE
-0F2A ; [.0FC7.0020.0004.0F2A][.0000.01B1.0004.0F2A] # TIBETAN DIGIT HALF ONE; QQK
-1041 ; [.0FC7.0020.0002.1041][.0000.01B2.0002.1041] # MYANMAR DIGIT ONE
-17E1 ; [.0FC7.0020.0002.17E1][.0000.01B3.0002.17E1] # KHMER DIGIT ONE
-17F1 ; [.0FC7.0020.0002.17F1][.0000.01B4.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
-1B51 ; [.0FC7.0020.0002.1B51][.0000.01B5.0002.1B51] # BALINESE DIGIT ONE
-1811 ; [.0FC7.0020.0002.1811][.0000.01B6.0002.1811] # MONGOLIAN DIGIT ONE
-3021 ; [.0FC7.0020.0002.3021][.0000.01B7.0002.3021] # HANGZHOU NUMERAL ONE
-10107 ; [.0FC7.0020.0002.10107][.0000.01B8.0002.10107] # AEGEAN NUMBER ONE
-10142 ; [.0FC7.0020.0002.10142][.0000.01B9.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10158 ; [.0FC7.0020.0002.10158][.0000.01B9.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 ; [.0FC7.0020.0002.10159][.0000.01B9.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
-1015A ; [.0FC7.0020.0002.1015A][.0000.01B9.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
-10320 ; [.0FC7.0020.0002.10320][.0000.01BA.0002.10320] # OLD ITALIC NUMERAL ONE
-103D1 ; [.0FC7.0020.0002.103D1][.0000.01BB.0002.103D1] # OLD PERSIAN NUMBER ONE
-12415 ; [.0FC7.0020.0002.12415][.0000.01BC.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
-1241E ; [.0FC7.0020.0002.1241E][.0000.01BC.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
-1242C ; [.0FC7.0020.0002.1242C][.0000.01BC.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
-12434 ; [.0FC7.0020.0002.12434][.0000.01BC.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
-1244F ; [.0FC7.0020.0002.1244F][.0000.01BC.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
-12458 ; [.0FC7.0020.0002.12458][.0000.01BC.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
-10916 ; [.0FC7.0020.0002.10916][.0000.01BD.0002.10916] # PHOENICIAN NUMBER ONE
-10A40 ; [.0FC7.0020.0002.10A40][.0000.01BE.0002.10A40] # KHAROSHTHI DIGIT ONE
-1D360 ; [.0FC7.0020.0002.1D360][.0000.01BF.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
-2491 ; [.0FC7.0020.0004.2491][.0FC6.0020.0004.2491][*0266.0020.001F.2491] # NUMBER TEN FULL STOP; QQKN
-247D ; [*02B1.0020.0004.247D][.0FC7.0020.0004.247D][.0FC6.0020.001F.247D][*02B2.0020.001F.247D] # PARENTHESIZED NUMBER TEN; QQKN
-2469 ; [.0FC7.0020.0006.2469][.0FC6.0020.0006.2469] # CIRCLED NUMBER TEN; QQKN
-24FE ; [.0FC7.0020.0006.24FE][.0FC6.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN; QQKN
-277F ; [.0FC7.0020.0006.277F][.0FC6.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN; QQKN
-2789 ; [.0FC7.0020.0006.2789][.0FC6.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN; QQKN
-2793 ; [.0FC7.0020.0006.2793][.0FC6.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN; QQKN
-33E9 ; [.0FC7.0020.0004.33E9][.0FC6.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN; QQKN
-32C9 ; [.0FC7.0020.0004.32C9][.0FC6.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER; QQKN
-3362 ; [.0FC7.0020.0004.3362][.0FC6.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN; QQKN
-2492 ; [.0FC7.0020.0004.2492][.0FC7.0020.0004.2492][*0266.0020.001F.2492] # NUMBER ELEVEN FULL STOP; QQKN
-247E ; [*02B1.0020.0004.247E][.0FC7.0020.0004.247E][.0FC7.0020.001F.247E][*02B2.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN; QQKN
-246A ; [.0FC7.0020.0006.246A][.0FC7.0020.0006.246A] # CIRCLED NUMBER ELEVEN; QQKN
-24EB ; [.0FC7.0020.0006.24EB][.0FC7.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN; QQKN
-33EA ; [.0FC7.0020.0004.33EA][.0FC7.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN; QQKN
-32CA ; [.0FC7.0020.0004.32CA][.0FC7.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER; QQKN
-3363 ; [.0FC7.0020.0004.3363][.0FC7.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN; QQKN
-2493 ; [.0FC7.0020.0004.2493][.0FC8.0020.0004.2493][*0266.0020.001F.2493] # NUMBER TWELVE FULL STOP; QQKN
-247F ; [*02B1.0020.0004.247F][.0FC7.0020.0004.247F][.0FC8.0020.001F.247F][*02B2.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE; QQKN
-246B ; [.0FC7.0020.0006.246B][.0FC8.0020.0006.246B] # CIRCLED NUMBER TWELVE; QQKN
-24EC ; [.0FC7.0020.0006.24EC][.0FC8.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE; QQKN
-00BD ; [.0FC7.0020.001E.00BD][*0300.0020.001E.00BD][.0FC8.0020.001F.00BD] # VULGAR FRACTION ONE HALF; QQKN
-33EB ; [.0FC7.0020.0004.33EB][.0FC8.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE; QQKN
-32CB ; [.0FC7.0020.0004.32CB][.0FC8.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER; QQKN
-3364 ; [.0FC7.0020.0004.3364][.0FC8.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE; QQKN
-2494 ; [.0FC7.0020.0004.2494][.0FC9.0020.0004.2494][*0266.0020.001F.2494] # NUMBER THIRTEEN FULL STOP; QQKN
-2480 ; [*02B1.0020.0004.2480][.0FC7.0020.0004.2480][.0FC9.0020.001F.2480][*02B2.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN; QQKN
-246C ; [.0FC7.0020.0006.246C][.0FC9.0020.0006.246C] # CIRCLED NUMBER THIRTEEN; QQKN
-24ED ; [.0FC7.0020.0006.24ED][.0FC9.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN; QQKN
-2153 ; [.0FC7.0020.001E.2153][*0300.0020.001E.2153][.0FC9.0020.001F.2153] # VULGAR FRACTION ONE THIRD; QQKN
-33EC ; [.0FC7.0020.0004.33EC][.0FC9.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN; QQKN
-3365 ; [.0FC7.0020.0004.3365][.0FC9.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN; QQKN
-2495 ; [.0FC7.0020.0004.2495][.0FCA.0020.0004.2495][*0266.0020.001F.2495] # NUMBER FOURTEEN FULL STOP; QQKN
-2481 ; [*02B1.0020.0004.2481][.0FC7.0020.0004.2481][.0FCA.0020.001F.2481][*02B2.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN; QQKN
-246D ; [.0FC7.0020.0006.246D][.0FCA.0020.0006.246D] # CIRCLED NUMBER FOURTEEN; QQKN
-24EE ; [.0FC7.0020.0006.24EE][.0FCA.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN; QQKN
-00BC ; [.0FC7.0020.001E.00BC][*0300.0020.001E.00BC][.0FCA.0020.001F.00BC] # VULGAR FRACTION ONE QUARTER; QQKN
-33ED ; [.0FC7.0020.0004.33ED][.0FCA.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN; QQKN
-3366 ; [.0FC7.0020.0004.3366][.0FCA.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN; QQKN
-2496 ; [.0FC7.0020.0004.2496][.0FCB.0020.0004.2496][*0266.0020.001F.2496] # NUMBER FIFTEEN FULL STOP; QQKN
-2482 ; [*02B1.0020.0004.2482][.0FC7.0020.0004.2482][.0FCB.0020.001F.2482][*02B2.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN; QQKN
-246E ; [.0FC7.0020.0006.246E][.0FCB.0020.0006.246E] # CIRCLED NUMBER FIFTEEN; QQKN
-24EF ; [.0FC7.0020.0006.24EF][.0FCB.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN; QQKN
-2155 ; [.0FC7.0020.001E.2155][*0300.0020.001E.2155][.0FCB.0020.001F.2155] # VULGAR FRACTION ONE FIFTH; QQKN
-33EE ; [.0FC7.0020.0004.33EE][.0FCB.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN; QQKN
-3367 ; [.0FC7.0020.0004.3367][.0FCB.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN; QQKN
-2497 ; [.0FC7.0020.0004.2497][.0FCC.0020.0004.2497][*0266.0020.001F.2497] # NUMBER SIXTEEN FULL STOP; QQKN
-2483 ; [*02B1.0020.0004.2483][.0FC7.0020.0004.2483][.0FCC.0020.001F.2483][*02B2.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN; QQKN
-246F ; [.0FC7.0020.0006.246F][.0FCC.0020.0006.246F] # CIRCLED NUMBER SIXTEEN; QQKN
-24F0 ; [.0FC7.0020.0006.24F0][.0FCC.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN; QQKN
-2159 ; [.0FC7.0020.001E.2159][*0300.0020.001E.2159][.0FCC.0020.001F.2159] # VULGAR FRACTION ONE SIXTH; QQKN
-33EF ; [.0FC7.0020.0004.33EF][.0FCC.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN; QQKN
-3368 ; [.0FC7.0020.0004.3368][.0FCC.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN; QQKN
-2498 ; [.0FC7.0020.0004.2498][.0FCD.0020.0004.2498][*0266.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP; QQKN
-2484 ; [*02B1.0020.0004.2484][.0FC7.0020.0004.2484][.0FCD.0020.001F.2484][*02B2.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN; QQKN
-2470 ; [.0FC7.0020.0006.2470][.0FCD.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN; QQKN
-24F1 ; [.0FC7.0020.0006.24F1][.0FCD.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN; QQKN
-33F0 ; [.0FC7.0020.0004.33F0][.0FCD.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN; QQKN
-3369 ; [.0FC7.0020.0004.3369][.0FCD.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN; QQKN
-2499 ; [.0FC7.0020.0004.2499][.0FCE.0020.0004.2499][*0266.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP; QQKN
-2485 ; [*02B1.0020.0004.2485][.0FC7.0020.0004.2485][.0FCE.0020.001F.2485][*02B2.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN; QQKN
-2471 ; [.0FC7.0020.0006.2471][.0FCE.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN; QQKN
-24F2 ; [.0FC7.0020.0006.24F2][.0FCE.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN; QQKN
-215B ; [.0FC7.0020.001E.215B][*0300.0020.001E.215B][.0FCE.0020.001F.215B] # VULGAR FRACTION ONE EIGHTH; QQKN
-33F1 ; [.0FC7.0020.0004.33F1][.0FCE.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN; QQKN
-336A ; [.0FC7.0020.0004.336A][.0FCE.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN; QQKN
-249A ; [.0FC7.0020.0004.249A][.0FCF.0020.0004.249A][*0266.0020.001F.249A] # NUMBER NINETEEN FULL STOP; QQKN
-2486 ; [*02B1.0020.0004.2486][.0FC7.0020.0004.2486][.0FCF.0020.001F.2486][*02B2.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN; QQKN
-2472 ; [.0FC7.0020.0006.2472][.0FCF.0020.0006.2472] # CIRCLED NUMBER NINETEEN; QQKN
-24F3 ; [.0FC7.0020.0006.24F3][.0FCF.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN; QQKN
-33F2 ; [.0FC7.0020.0004.33F2][.0FCF.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN; QQKN
-336B ; [.0FC7.0020.0004.336B][.0FCF.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN; QQKN
-33E0 ; [.0FC7.0020.0004.33E0][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE; QQKN
-32C0 ; [.0FC7.0020.0004.32C0][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY; QQKN
-3359 ; [.0FC7.0020.0004.3359][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE; QQKN
-0032 ; [.0FC8.0020.0002.0032] # DIGIT TWO
-FF12 ; [.0FC8.0020.0003.FF12] # FULLWIDTH DIGIT TWO; QQK
-2475 ; [*02B1.0020.0004.2475][.0FC8.0020.0004.2475][*02B2.0020.001F.2475] # PARENTHESIZED DIGIT TWO; QQKN
-2489 ; [.0FC8.0020.0004.2489][*0266.0020.0004.2489] # DIGIT TWO FULL STOP; QQKN
-1D7D0 ; [.0FC8.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO; QQK
-1D7DA ; [.0FC8.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO; QQK
-1D7E4 ; [.0FC8.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO; QQK
-1D7EE ; [.0FC8.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO; QQK
-1D7F8 ; [.0FC8.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO; QQK
-2461 ; [.0FC8.0020.0006.2461] # CIRCLED DIGIT TWO; QQK
-24F6 ; [.0FC8.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO; QQK
-2777 ; [.0FC8.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO; QQK
-2781 ; [.0FC8.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO; QQK
-278B ; [.0FC8.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO; QQK
-00B2 ; [.0FC8.0020.0014.00B2] # SUPERSCRIPT TWO; QQK
-2082 ; [.0FC8.0020.0015.2082] # SUBSCRIPT TWO; QQK
-0662 ; [.0FC8.0020.0002.0662][.0000.019F.0002.0662] # ARABIC-INDIC DIGIT TWO
-06F2 ; [.0FC8.0020.0002.06F2][.0000.01A0.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
-07C2 ; [.0FC8.0020.0002.07C2][.0000.01A1.0002.07C2] # NKO DIGIT TWO
-136A ; [.0FC8.0020.0002.136A][.0000.01A2.0002.136A] # ETHIOPIC DIGIT TWO
-104A2 ; [.0FC8.0020.0002.104A2][.0000.01A3.0002.104A2] # OSMANYA DIGIT TWO
-0968 ; [.0FC8.0020.0002.0968][.0000.01A4.0002.0968] # DEVANAGARI DIGIT TWO
-09E8 ; [.0FC8.0020.0002.09E8][.0000.01A5.0002.09E8] # BENGALI DIGIT TWO
-09F5 ; [.0FC8.0020.0002.09F5][.0000.01A5.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
-0A68 ; [.0FC8.0020.0002.0A68][.0000.01A6.0002.0A68] # GURMUKHI DIGIT TWO
-0AE8 ; [.0FC8.0020.0002.0AE8][.0000.01A7.0002.0AE8] # GUJARATI DIGIT TWO
-0B68 ; [.0FC8.0020.0002.0B68][.0000.01A8.0002.0B68] # ORIYA DIGIT TWO
-0BE8 ; [.0FC8.0020.0002.0BE8][.0000.01A9.0002.0BE8] # TAMIL DIGIT TWO
-0C68 ; [.0FC8.0020.0002.0C68][.0000.01AA.0002.0C68] # TELUGU DIGIT TWO
-0CE8 ; [.0FC8.0020.0002.0CE8][.0000.01AB.0002.0CE8] # KANNADA DIGIT TWO
-0D68 ; [.0FC8.0020.0002.0D68][.0000.01AC.0002.0D68] # MALAYALAM DIGIT TWO
-1948 ; [.0FC8.0020.0002.1948][.0000.01AD.0002.1948] # LIMBU DIGIT TWO
-19D2 ; [.0FC8.0020.0002.19D2][.0000.01AE.0002.19D2] # NEW TAI LUE DIGIT TWO
-0E52 ; [.0FC8.0020.0002.0E52][.0000.01AF.0002.0E52] # THAI DIGIT TWO
-0ED2 ; [.0FC8.0020.0002.0ED2][.0000.01B0.0002.0ED2] # LAO DIGIT TWO
-0F22 ; [.0FC8.0020.0002.0F22][.0000.01B1.0002.0F22] # TIBETAN DIGIT TWO
-0F2B ; [.0FC8.0020.0004.0F2B][.0000.01B1.0004.0F2B] # TIBETAN DIGIT HALF TWO; QQK
-1042 ; [.0FC8.0020.0002.1042][.0000.01B2.0002.1042] # MYANMAR DIGIT TWO
-17E2 ; [.0FC8.0020.0002.17E2][.0000.01B3.0002.17E2] # KHMER DIGIT TWO
-17F2 ; [.0FC8.0020.0002.17F2][.0000.01B4.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
-1B52 ; [.0FC8.0020.0002.1B52][.0000.01B5.0002.1B52] # BALINESE DIGIT TWO
-1812 ; [.0FC8.0020.0002.1812][.0000.01B6.0002.1812] # MONGOLIAN DIGIT TWO
-3022 ; [.0FC8.0020.0002.3022][.0000.01B7.0002.3022] # HANGZHOU NUMERAL TWO
-10108 ; [.0FC8.0020.0002.10108][.0000.01B8.0002.10108] # AEGEAN NUMBER TWO
-1015B ; [.0FC8.0020.0002.1015B][.0000.01B9.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C ; [.0FC8.0020.0002.1015C][.0000.01B9.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
-1015D ; [.0FC8.0020.0002.1015D][.0000.01B9.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E ; [.0FC8.0020.0002.1015E][.0000.01B9.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-103D2 ; [.0FC8.0020.0002.103D2][.0000.01BB.0002.103D2] # OLD PERSIAN NUMBER TWO
-12400 ; [.0FC8.0020.0002.12400][.0000.01BC.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
-12416 ; [.0FC8.0020.0002.12416][.0000.01BC.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
-1241F ; [.0FC8.0020.0002.1241F][.0000.01BC.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
-12423 ; [.0FC8.0020.0002.12423][.0000.01BC.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
-1242D ; [.0FC8.0020.0002.1242D][.0000.01BC.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
-12435 ; [.0FC8.0020.0002.12435][.0000.01BC.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
-1244A ; [.0FC8.0020.0002.1244A][.0000.01BC.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-12450 ; [.0FC8.0020.0002.12450][.0000.01BC.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
-12459 ; [.0FC8.0020.0002.12459][.0000.01BC.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
-10A41 ; [.0FC8.0020.0002.10A41][.0000.01BE.0002.10A41] # KHAROSHTHI DIGIT TWO
-1D361 ; [.0FC8.0020.0002.1D361][.0000.01BF.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
-249B ; [.0FC8.0020.0004.249B][.0FC6.0020.0004.249B][*0266.0020.001F.249B] # NUMBER TWENTY FULL STOP; QQKN
-2487 ; [*02B1.0020.0004.2487][.0FC8.0020.0004.2487][.0FC6.0020.001F.2487][*02B2.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY; QQKN
-2473 ; [.0FC8.0020.0006.2473][.0FC6.0020.0006.2473] # CIRCLED NUMBER TWENTY; QQKN
-24F4 ; [.0FC8.0020.0006.24F4][.0FC6.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY; QQKN
-33F3 ; [.0FC8.0020.0004.33F3][.0FC6.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY; QQKN
-336C ; [.0FC8.0020.0004.336C][.0FC6.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY; QQKN
-3251 ; [.0FC8.0020.0006.3251][.0FC7.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE; QQKN
-33F4 ; [.0FC8.0020.0004.33F4][.0FC7.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE; QQKN
-336D ; [.0FC8.0020.0004.336D][.0FC7.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE; QQKN
-3252 ; [.0FC8.0020.0006.3252][.0FC8.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO; QQKN
-33F5 ; [.0FC8.0020.0004.33F5][.0FC8.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO; QQKN
-336E ; [.0FC8.0020.0004.336E][.0FC8.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO; QQKN
-3253 ; [.0FC8.0020.0006.3253][.0FC9.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE; QQKN
-2154 ; [.0FC8.0020.001E.2154][*0300.0020.001E.2154][.0FC9.0020.001F.2154] # VULGAR FRACTION TWO THIRDS; QQKN
-33F6 ; [.0FC8.0020.0004.33F6][.0FC9.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE; QQKN
-336F ; [.0FC8.0020.0004.336F][.0FC9.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE; QQKN
-3254 ; [.0FC8.0020.0006.3254][.0FCA.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR; QQKN
-33F7 ; [.0FC8.0020.0004.33F7][.0FCA.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR; QQKN
-3370 ; [.0FC8.0020.0004.3370][.0FCA.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR; QQKN
-3255 ; [.0FC8.0020.0006.3255][.0FCB.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE; QQKN
-2156 ; [.0FC8.0020.001E.2156][*0300.0020.001E.2156][.0FCB.0020.001F.2156] # VULGAR FRACTION TWO FIFTHS; QQKN
-33F8 ; [.0FC8.0020.0004.33F8][.0FCB.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE; QQKN
-3256 ; [.0FC8.0020.0006.3256][.0FCC.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX; QQKN
-33F9 ; [.0FC8.0020.0004.33F9][.0FCC.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX; QQKN
-3257 ; [.0FC8.0020.0006.3257][.0FCD.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN; QQKN
-33FA ; [.0FC8.0020.0004.33FA][.0FCD.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN; QQKN
-3258 ; [.0FC8.0020.0006.3258][.0FCE.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT; QQKN
-33FB ; [.0FC8.0020.0004.33FB][.0FCE.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT; QQKN
-3259 ; [.0FC8.0020.0006.3259][.0FCF.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE; QQKN
-33FC ; [.0FC8.0020.0004.33FC][.0FCF.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE; QQKN
-33E1 ; [.0FC8.0020.0004.33E1][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO; QQKN
-32C1 ; [.0FC8.0020.0004.32C1][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY; QQKN
-335A ; [.0FC8.0020.0004.335A][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO; QQKN
-0033 ; [.0FC9.0020.0002.0033] # DIGIT THREE
-FF13 ; [.0FC9.0020.0003.FF13] # FULLWIDTH DIGIT THREE; QQK
-2476 ; [*02B1.0020.0004.2476][.0FC9.0020.0004.2476][*02B2.0020.001F.2476] # PARENTHESIZED DIGIT THREE; QQKN
-248A ; [.0FC9.0020.0004.248A][*0266.0020.0004.248A] # DIGIT THREE FULL STOP; QQKN
-1D7D1 ; [.0FC9.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE; QQK
-1D7DB ; [.0FC9.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE; QQK
-1D7E5 ; [.0FC9.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE; QQK
-1D7EF ; [.0FC9.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE; QQK
-1D7F9 ; [.0FC9.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE; QQK
-2462 ; [.0FC9.0020.0006.2462] # CIRCLED DIGIT THREE; QQK
-24F7 ; [.0FC9.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE; QQK
-2778 ; [.0FC9.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE; QQK
-2782 ; [.0FC9.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE; QQK
-278C ; [.0FC9.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE; QQK
-00B3 ; [.0FC9.0020.0014.00B3] # SUPERSCRIPT THREE; QQK
-2083 ; [.0FC9.0020.0015.2083] # SUBSCRIPT THREE; QQK
-0663 ; [.0FC9.0020.0002.0663][.0000.019F.0002.0663] # ARABIC-INDIC DIGIT THREE
-06F3 ; [.0FC9.0020.0002.06F3][.0000.01A0.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
-07C3 ; [.0FC9.0020.0002.07C3][.0000.01A1.0002.07C3] # NKO DIGIT THREE
-136B ; [.0FC9.0020.0002.136B][.0000.01A2.0002.136B] # ETHIOPIC DIGIT THREE
-104A3 ; [.0FC9.0020.0002.104A3][.0000.01A3.0002.104A3] # OSMANYA DIGIT THREE
-0969 ; [.0FC9.0020.0002.0969][.0000.01A4.0002.0969] # DEVANAGARI DIGIT THREE
-09E9 ; [.0FC9.0020.0002.09E9][.0000.01A5.0002.09E9] # BENGALI DIGIT THREE
-09F6 ; [.0FC9.0020.0002.09F6][.0000.01A5.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
-0A69 ; [.0FC9.0020.0002.0A69][.0000.01A6.0002.0A69] # GURMUKHI DIGIT THREE
-0AE9 ; [.0FC9.0020.0002.0AE9][.0000.01A7.0002.0AE9] # GUJARATI DIGIT THREE
-0B69 ; [.0FC9.0020.0002.0B69][.0000.01A8.0002.0B69] # ORIYA DIGIT THREE
-0BE9 ; [.0FC9.0020.0002.0BE9][.0000.01A9.0002.0BE9] # TAMIL DIGIT THREE
-0C69 ; [.0FC9.0020.0002.0C69][.0000.01AA.0002.0C69] # TELUGU DIGIT THREE
-0CE9 ; [.0FC9.0020.0002.0CE9][.0000.01AB.0002.0CE9] # KANNADA DIGIT THREE
-0D69 ; [.0FC9.0020.0002.0D69][.0000.01AC.0002.0D69] # MALAYALAM DIGIT THREE
-1949 ; [.0FC9.0020.0002.1949][.0000.01AD.0002.1949] # LIMBU DIGIT THREE
-19D3 ; [.0FC9.0020.0002.19D3][.0000.01AE.0002.19D3] # NEW TAI LUE DIGIT THREE
-0E53 ; [.0FC9.0020.0002.0E53][.0000.01AF.0002.0E53] # THAI DIGIT THREE
-0ED3 ; [.0FC9.0020.0002.0ED3][.0000.01B0.0002.0ED3] # LAO DIGIT THREE
-0F23 ; [.0FC9.0020.0002.0F23][.0000.01B1.0002.0F23] # TIBETAN DIGIT THREE
-0F2C ; [.0FC9.0020.0004.0F2C][.0000.01B1.0004.0F2C] # TIBETAN DIGIT HALF THREE; QQK
-1043 ; [.0FC9.0020.0002.1043][.0000.01B2.0002.1043] # MYANMAR DIGIT THREE
-17E3 ; [.0FC9.0020.0002.17E3][.0000.01B3.0002.17E3] # KHMER DIGIT THREE
-17F3 ; [.0FC9.0020.0002.17F3][.0000.01B4.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
-1B53 ; [.0FC9.0020.0002.1B53][.0000.01B5.0002.1B53] # BALINESE DIGIT THREE
-1813 ; [.0FC9.0020.0002.1813][.0000.01B6.0002.1813] # MONGOLIAN DIGIT THREE
-3023 ; [.0FC9.0020.0002.3023][.0000.01B7.0002.3023] # HANGZHOU NUMERAL THREE
-10109 ; [.0FC9.0020.0002.10109][.0000.01B8.0002.10109] # AEGEAN NUMBER THREE
-12401 ; [.0FC9.0020.0002.12401][.0000.01BC.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
-12408 ; [.0FC9.0020.0002.12408][.0000.01BC.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
-12417 ; [.0FC9.0020.0002.12417][.0000.01BC.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
-12420 ; [.0FC9.0020.0002.12420][.0000.01BC.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
-12424 ; [.0FC9.0020.0002.12424][.0000.01BC.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 ; [.0FC9.0020.0002.12425][.0000.01BC.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-1242E ; [.0FC9.0020.0002.1242E][.0000.01BC.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F ; [.0FC9.0020.0002.1242F][.0000.01BC.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12436 ; [.0FC9.0020.0002.12436][.0000.01BC.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
-12437 ; [.0FC9.0020.0002.12437][.0000.01BC.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-1243A ; [.0FC9.0020.0002.1243A][.0000.01BC.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B ; [.0FC9.0020.0002.1243B][.0000.01BC.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1244B ; [.0FC9.0020.0002.1244B][.0000.01BC.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-12451 ; [.0FC9.0020.0002.12451][.0000.01BC.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
-10A42 ; [.0FC9.0020.0002.10A42][.0000.01BE.0002.10A42] # KHAROSHTHI DIGIT THREE
-1D362 ; [.0FC9.0020.0002.1D362][.0000.01BF.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
-325A ; [.0FC9.0020.0006.325A][.0FC6.0020.0006.325A] # CIRCLED NUMBER THIRTY; QQKN
-33FD ; [.0FC9.0020.0004.33FD][.0FC6.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY; QQKN
-325B ; [.0FC9.0020.0006.325B][.0FC7.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE; QQKN
-33FE ; [.0FC9.0020.0004.33FE][.0FC7.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE; QQKN
-325C ; [.0FC9.0020.0006.325C][.0FC8.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO; QQKN
-325D ; [.0FC9.0020.0006.325D][.0FC9.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE; QQKN
-325E ; [.0FC9.0020.0006.325E][.0FCA.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR; QQKN
-00BE ; [.0FC9.0020.001E.00BE][*0300.0020.001E.00BE][.0FCA.0020.001F.00BE] # VULGAR FRACTION THREE QUARTERS; QQKN
-325F ; [.0FC9.0020.0006.325F][.0FCB.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE; QQKN
-2157 ; [.0FC9.0020.001E.2157][*0300.0020.001E.2157][.0FCB.0020.001F.2157] # VULGAR FRACTION THREE FIFTHS; QQKN
-32B1 ; [.0FC9.0020.0006.32B1][.0FCC.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX; QQKN
-32B2 ; [.0FC9.0020.0006.32B2][.0FCD.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN; QQKN
-32B3 ; [.0FC9.0020.0006.32B3][.0FCE.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT; QQKN
-215C ; [.0FC9.0020.001E.215C][*0300.0020.001E.215C][.0FCE.0020.001F.215C] # VULGAR FRACTION THREE EIGHTHS; QQKN
-32B4 ; [.0FC9.0020.0006.32B4][.0FCF.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE; QQKN
-33E2 ; [.0FC9.0020.0004.33E2][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE; QQKN
-32C2 ; [.0FC9.0020.0004.32C2][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH; QQKN
-335B ; [.0FC9.0020.0004.335B][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE; QQKN
-0034 ; [.0FCA.0020.0002.0034] # DIGIT FOUR
-FF14 ; [.0FCA.0020.0003.FF14] # FULLWIDTH DIGIT FOUR; QQK
-2477 ; [*02B1.0020.0004.2477][.0FCA.0020.0004.2477][*02B2.0020.001F.2477] # PARENTHESIZED DIGIT FOUR; QQKN
-248B ; [.0FCA.0020.0004.248B][*0266.0020.0004.248B] # DIGIT FOUR FULL STOP; QQKN
-1D7D2 ; [.0FCA.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR; QQK
-1D7DC ; [.0FCA.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR; QQK
-1D7E6 ; [.0FCA.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR; QQK
-1D7F0 ; [.0FCA.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR; QQK
-1D7FA ; [.0FCA.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR; QQK
-2463 ; [.0FCA.0020.0006.2463] # CIRCLED DIGIT FOUR; QQK
-24F8 ; [.0FCA.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR; QQK
-2779 ; [.0FCA.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR; QQK
-2783 ; [.0FCA.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR; QQK
-278D ; [.0FCA.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR; QQK
-2074 ; [.0FCA.0020.0014.2074] # SUPERSCRIPT FOUR; QQK
-2084 ; [.0FCA.0020.0015.2084] # SUBSCRIPT FOUR; QQK
-0664 ; [.0FCA.0020.0002.0664][.0000.019F.0002.0664] # ARABIC-INDIC DIGIT FOUR
-06F4 ; [.0FCA.0020.0002.06F4][.0000.01A0.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
-07C4 ; [.0FCA.0020.0002.07C4][.0000.01A1.0002.07C4] # NKO DIGIT FOUR
-136C ; [.0FCA.0020.0002.136C][.0000.01A2.0002.136C] # ETHIOPIC DIGIT FOUR
-104A4 ; [.0FCA.0020.0002.104A4][.0000.01A3.0002.104A4] # OSMANYA DIGIT FOUR
-096A ; [.0FCA.0020.0002.096A][.0000.01A4.0002.096A] # DEVANAGARI DIGIT FOUR
-09EA ; [.0FCA.0020.0002.09EA][.0000.01A5.0002.09EA] # BENGALI DIGIT FOUR
-09F7 ; [.0FCA.0020.0002.09F7][.0000.01A5.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
-0A6A ; [.0FCA.0020.0002.0A6A][.0000.01A6.0002.0A6A] # GURMUKHI DIGIT FOUR
-0AEA ; [.0FCA.0020.0002.0AEA][.0000.01A7.0002.0AEA] # GUJARATI DIGIT FOUR
-0B6A ; [.0FCA.0020.0002.0B6A][.0000.01A8.0002.0B6A] # ORIYA DIGIT FOUR
-0BEA ; [.0FCA.0020.0002.0BEA][.0000.01A9.0002.0BEA] # TAMIL DIGIT FOUR
-0C6A ; [.0FCA.0020.0002.0C6A][.0000.01AA.0002.0C6A] # TELUGU DIGIT FOUR
-0CEA ; [.0FCA.0020.0002.0CEA][.0000.01AB.0002.0CEA] # KANNADA DIGIT FOUR
-0D6A ; [.0FCA.0020.0002.0D6A][.0000.01AC.0002.0D6A] # MALAYALAM DIGIT FOUR
-194A ; [.0FCA.0020.0002.194A][.0000.01AD.0002.194A] # LIMBU DIGIT FOUR
-19D4 ; [.0FCA.0020.0002.19D4][.0000.01AE.0002.19D4] # NEW TAI LUE DIGIT FOUR
-0E54 ; [.0FCA.0020.0002.0E54][.0000.01AF.0002.0E54] # THAI DIGIT FOUR
-0ED4 ; [.0FCA.0020.0002.0ED4][.0000.01B0.0002.0ED4] # LAO DIGIT FOUR
-0F24 ; [.0FCA.0020.0002.0F24][.0000.01B1.0002.0F24] # TIBETAN DIGIT FOUR
-0F2D ; [.0FCA.0020.0004.0F2D][.0000.01B1.0004.0F2D] # TIBETAN DIGIT HALF FOUR; QQK
-1044 ; [.0FCA.0020.0002.1044][.0000.01B2.0002.1044] # MYANMAR DIGIT FOUR
-17E4 ; [.0FCA.0020.0002.17E4][.0000.01B3.0002.17E4] # KHMER DIGIT FOUR
-17F4 ; [.0FCA.0020.0002.17F4][.0000.01B4.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
-1B54 ; [.0FCA.0020.0002.1B54][.0000.01B5.0002.1B54] # BALINESE DIGIT FOUR
-1814 ; [.0FCA.0020.0002.1814][.0000.01B6.0002.1814] # MONGOLIAN DIGIT FOUR
-3024 ; [.0FCA.0020.0002.3024][.0000.01B7.0002.3024] # HANGZHOU NUMERAL FOUR
-1010A ; [.0FCA.0020.0002.1010A][.0000.01B8.0002.1010A] # AEGEAN NUMBER FOUR
-12402 ; [.0FCA.0020.0002.12402][.0000.01BC.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
-12409 ; [.0FCA.0020.0002.12409][.0000.01BC.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240F ; [.0FCA.0020.0002.1240F][.0000.01BC.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
-12418 ; [.0FCA.0020.0002.12418][.0000.01BC.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12421 ; [.0FCA.0020.0002.12421][.0000.01BC.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12426 ; [.0FCA.0020.0002.12426][.0000.01BC.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12430 ; [.0FCA.0020.0002.12430][.0000.01BC.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12438 ; [.0FCA.0020.0002.12438][.0000.01BC.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
-1243C ; [.0FCA.0020.0002.1243C][.0000.01BC.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D ; [.0FCA.0020.0002.1243D][.0000.01BC.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E ; [.0FCA.0020.0002.1243E][.0000.01BC.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F ; [.0FCA.0020.0002.1243F][.0000.01BC.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-1244C ; [.0FCA.0020.0002.1244C][.0000.01BC.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-12452 ; [.0FCA.0020.0002.12452][.0000.01BC.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 ; [.0FCA.0020.0002.12453][.0000.01BC.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-10A43 ; [.0FCA.0020.0002.10A43][.0000.01BE.0002.10A43] # KHAROSHTHI DIGIT FOUR
-1D363 ; [.0FCA.0020.0002.1D363][.0000.01BF.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
-32B5 ; [.0FCA.0020.0006.32B5][.0FC6.0020.0006.32B5] # CIRCLED NUMBER FORTY; QQKN
-32B6 ; [.0FCA.0020.0006.32B6][.0FC7.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE; QQKN
-32B7 ; [.0FCA.0020.0006.32B7][.0FC8.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO; QQKN
-32B8 ; [.0FCA.0020.0006.32B8][.0FC9.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE; QQKN
-32B9 ; [.0FCA.0020.0006.32B9][.0FCA.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR; QQKN
-32BA ; [.0FCA.0020.0006.32BA][.0FCB.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE; QQKN
-2158 ; [.0FCA.0020.001E.2158][*0300.0020.001E.2158][.0FCB.0020.001F.2158] # VULGAR FRACTION FOUR FIFTHS; QQKN
-32BB ; [.0FCA.0020.0006.32BB][.0FCC.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX; QQKN
-32BC ; [.0FCA.0020.0006.32BC][.0FCD.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN; QQKN
-32BD ; [.0FCA.0020.0006.32BD][.0FCE.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT; QQKN
-32BE ; [.0FCA.0020.0006.32BE][.0FCF.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE; QQKN
-33E3 ; [.0FCA.0020.0004.33E3][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR; QQKN
-32C3 ; [.0FCA.0020.0004.32C3][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL; QQKN
-335C ; [.0FCA.0020.0004.335C][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR; QQKN
-0035 ; [.0FCB.0020.0002.0035] # DIGIT FIVE
-FF15 ; [.0FCB.0020.0003.FF15] # FULLWIDTH DIGIT FIVE; QQK
-2478 ; [*02B1.0020.0004.2478][.0FCB.0020.0004.2478][*02B2.0020.001F.2478] # PARENTHESIZED DIGIT FIVE; QQKN
-248C ; [.0FCB.0020.0004.248C][*0266.0020.0004.248C] # DIGIT FIVE FULL STOP; QQKN
-1D7D3 ; [.0FCB.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE; QQK
-1D7DD ; [.0FCB.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE; QQK
-1D7E7 ; [.0FCB.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE; QQK
-1D7F1 ; [.0FCB.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE; QQK
-1D7FB ; [.0FCB.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE; QQK
-2464 ; [.0FCB.0020.0006.2464] # CIRCLED DIGIT FIVE; QQK
-24F9 ; [.0FCB.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE; QQK
-277A ; [.0FCB.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE; QQK
-2784 ; [.0FCB.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE; QQK
-278E ; [.0FCB.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE; QQK
-2075 ; [.0FCB.0020.0014.2075] # SUPERSCRIPT FIVE; QQK
-2085 ; [.0FCB.0020.0015.2085] # SUBSCRIPT FIVE; QQK
-0665 ; [.0FCB.0020.0002.0665][.0000.019F.0002.0665] # ARABIC-INDIC DIGIT FIVE
-06F5 ; [.0FCB.0020.0002.06F5][.0000.01A0.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
-07C5 ; [.0FCB.0020.0002.07C5][.0000.01A1.0002.07C5] # NKO DIGIT FIVE
-136D ; [.0FCB.0020.0002.136D][.0000.01A2.0002.136D] # ETHIOPIC DIGIT FIVE
-104A5 ; [.0FCB.0020.0002.104A5][.0000.01A3.0002.104A5] # OSMANYA DIGIT FIVE
-096B ; [.0FCB.0020.0002.096B][.0000.01A4.0002.096B] # DEVANAGARI DIGIT FIVE
-09EB ; [.0FCB.0020.0002.09EB][.0000.01A5.0002.09EB] # BENGALI DIGIT FIVE
-0A6B ; [.0FCB.0020.0002.0A6B][.0000.01A6.0002.0A6B] # GURMUKHI DIGIT FIVE
-0AEB ; [.0FCB.0020.0002.0AEB][.0000.01A7.0002.0AEB] # GUJARATI DIGIT FIVE
-0B6B ; [.0FCB.0020.0002.0B6B][.0000.01A8.0002.0B6B] # ORIYA DIGIT FIVE
-0BEB ; [.0FCB.0020.0002.0BEB][.0000.01A9.0002.0BEB] # TAMIL DIGIT FIVE
-0C6B ; [.0FCB.0020.0002.0C6B][.0000.01AA.0002.0C6B] # TELUGU DIGIT FIVE
-0CEB ; [.0FCB.0020.0002.0CEB][.0000.01AB.0002.0CEB] # KANNADA DIGIT FIVE
-0D6B ; [.0FCB.0020.0002.0D6B][.0000.01AC.0002.0D6B] # MALAYALAM DIGIT FIVE
-194B ; [.0FCB.0020.0002.194B][.0000.01AD.0002.194B] # LIMBU DIGIT FIVE
-19D5 ; [.0FCB.0020.0002.19D5][.0000.01AE.0002.19D5] # NEW TAI LUE DIGIT FIVE
-0E55 ; [.0FCB.0020.0002.0E55][.0000.01AF.0002.0E55] # THAI DIGIT FIVE
-0ED5 ; [.0FCB.0020.0002.0ED5][.0000.01B0.0002.0ED5] # LAO DIGIT FIVE
-0F25 ; [.0FCB.0020.0002.0F25][.0000.01B1.0002.0F25] # TIBETAN DIGIT FIVE
-0F2E ; [.0FCB.0020.0004.0F2E][.0000.01B1.0004.0F2E] # TIBETAN DIGIT HALF FIVE; QQK
-1045 ; [.0FCB.0020.0002.1045][.0000.01B2.0002.1045] # MYANMAR DIGIT FIVE
-17E5 ; [.0FCB.0020.0002.17E5][.0000.01B3.0002.17E5] # KHMER DIGIT FIVE
-17F5 ; [.0FCB.0020.0002.17F5][.0000.01B4.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
-1B55 ; [.0FCB.0020.0002.1B55][.0000.01B5.0002.1B55] # BALINESE DIGIT FIVE
-1815 ; [.0FCB.0020.0002.1815][.0000.01B6.0002.1815] # MONGOLIAN DIGIT FIVE
-3025 ; [.0FCB.0020.0002.3025][.0000.01B7.0002.3025] # HANGZHOU NUMERAL FIVE
-1010B ; [.0FCB.0020.0002.1010B][.0000.01B8.0002.1010B] # AEGEAN NUMBER FIVE
-10143 ; [.0FCB.0020.0002.10143][.0000.01B9.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
-10148 ; [.0FCB.0020.0002.10148][.0000.01B9.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
-1014F ; [.0FCB.0020.0002.1014F][.0000.01B9.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
-1015F ; [.0FCB.0020.0002.1015F][.0000.01B9.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
-10173 ; [.0FCB.0020.0002.10173][.0000.01B9.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
-10321 ; [.0FCB.0020.0002.10321][.0000.01BA.0002.10321] # OLD ITALIC NUMERAL FIVE
-12403 ; [.0FCB.0020.0002.12403][.0000.01BC.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
-1240A ; [.0FCB.0020.0002.1240A][.0000.01BC.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
-12410 ; [.0FCB.0020.0002.12410][.0000.01BC.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
-12419 ; [.0FCB.0020.0002.12419][.0000.01BC.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
-12422 ; [.0FCB.0020.0002.12422][.0000.01BC.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12427 ; [.0FCB.0020.0002.12427][.0000.01BC.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12431 ; [.0FCB.0020.0002.12431][.0000.01BC.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12439 ; [.0FCB.0020.0002.12439][.0000.01BC.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
-1244D ; [.0FCB.0020.0002.1244D][.0000.01BC.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-12454 ; [.0FCB.0020.0002.12454][.0000.01BC.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 ; [.0FCB.0020.0002.12455][.0000.01BC.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-1D364 ; [.0FCB.0020.0002.1D364][.0000.01BF.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
-32BF ; [.0FCB.0020.0006.32BF][.0FC6.0020.0006.32BF] # CIRCLED NUMBER FIFTY; QQKN
-215A ; [.0FCB.0020.001E.215A][*0300.0020.001E.215A][.0FCC.0020.001F.215A] # VULGAR FRACTION FIVE SIXTHS; QQKN
-215D ; [.0FCB.0020.001E.215D][*0300.0020.001E.215D][.0FCE.0020.001F.215D] # VULGAR FRACTION FIVE EIGHTHS; QQKN
-33E4 ; [.0FCB.0020.0004.33E4][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE; QQKN
-32C4 ; [.0FCB.0020.0004.32C4][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY; QQKN
-335D ; [.0FCB.0020.0004.335D][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE; QQKN
-0036 ; [.0FCC.0020.0002.0036] # DIGIT SIX
-FF16 ; [.0FCC.0020.0003.FF16] # FULLWIDTH DIGIT SIX; QQK
-2479 ; [*02B1.0020.0004.2479][.0FCC.0020.0004.2479][*02B2.0020.001F.2479] # PARENTHESIZED DIGIT SIX; QQKN
-248D ; [.0FCC.0020.0004.248D][*0266.0020.0004.248D] # DIGIT SIX FULL STOP; QQKN
-1D7D4 ; [.0FCC.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX; QQK
-1D7DE ; [.0FCC.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX; QQK
-1D7E8 ; [.0FCC.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX; QQK
-1D7F2 ; [.0FCC.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX; QQK
-1D7FC ; [.0FCC.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX; QQK
-2465 ; [.0FCC.0020.0006.2465] # CIRCLED DIGIT SIX; QQK
-24FA ; [.0FCC.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX; QQK
-277B ; [.0FCC.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX; QQK
-2785 ; [.0FCC.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX; QQK
-278F ; [.0FCC.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX; QQK
-2076 ; [.0FCC.0020.0014.2076] # SUPERSCRIPT SIX; QQK
-2086 ; [.0FCC.0020.0015.2086] # SUBSCRIPT SIX; QQK
-0666 ; [.0FCC.0020.0002.0666][.0000.019F.0002.0666] # ARABIC-INDIC DIGIT SIX
-06F6 ; [.0FCC.0020.0002.06F6][.0000.01A0.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
-07C6 ; [.0FCC.0020.0002.07C6][.0000.01A1.0002.07C6] # NKO DIGIT SIX
-136E ; [.0FCC.0020.0002.136E][.0000.01A2.0002.136E] # ETHIOPIC DIGIT SIX
-104A6 ; [.0FCC.0020.0002.104A6][.0000.01A3.0002.104A6] # OSMANYA DIGIT SIX
-096C ; [.0FCC.0020.0002.096C][.0000.01A4.0002.096C] # DEVANAGARI DIGIT SIX
-09EC ; [.0FCC.0020.0002.09EC][.0000.01A5.0002.09EC] # BENGALI DIGIT SIX
-0A6C ; [.0FCC.0020.0002.0A6C][.0000.01A6.0002.0A6C] # GURMUKHI DIGIT SIX
-0AEC ; [.0FCC.0020.0002.0AEC][.0000.01A7.0002.0AEC] # GUJARATI DIGIT SIX
-0B6C ; [.0FCC.0020.0002.0B6C][.0000.01A8.0002.0B6C] # ORIYA DIGIT SIX
-0BEC ; [.0FCC.0020.0002.0BEC][.0000.01A9.0002.0BEC] # TAMIL DIGIT SIX
-0C6C ; [.0FCC.0020.0002.0C6C][.0000.01AA.0002.0C6C] # TELUGU DIGIT SIX
-0CEC ; [.0FCC.0020.0002.0CEC][.0000.01AB.0002.0CEC] # KANNADA DIGIT SIX
-0D6C ; [.0FCC.0020.0002.0D6C][.0000.01AC.0002.0D6C] # MALAYALAM DIGIT SIX
-194C ; [.0FCC.0020.0002.194C][.0000.01AD.0002.194C] # LIMBU DIGIT SIX
-19D6 ; [.0FCC.0020.0002.19D6][.0000.01AE.0002.19D6] # NEW TAI LUE DIGIT SIX
-0E56 ; [.0FCC.0020.0002.0E56][.0000.01AF.0002.0E56] # THAI DIGIT SIX
-0ED6 ; [.0FCC.0020.0002.0ED6][.0000.01B0.0002.0ED6] # LAO DIGIT SIX
-0F26 ; [.0FCC.0020.0002.0F26][.0000.01B1.0002.0F26] # TIBETAN DIGIT SIX
-0F2F ; [.0FCC.0020.0004.0F2F][.0000.01B1.0004.0F2F] # TIBETAN DIGIT HALF SIX; QQK
-1046 ; [.0FCC.0020.0002.1046][.0000.01B2.0002.1046] # MYANMAR DIGIT SIX
-17E6 ; [.0FCC.0020.0002.17E6][.0000.01B3.0002.17E6] # KHMER DIGIT SIX
-17F6 ; [.0FCC.0020.0002.17F6][.0000.01B4.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-1B56 ; [.0FCC.0020.0002.1B56][.0000.01B5.0002.1B56] # BALINESE DIGIT SIX
-1816 ; [.0FCC.0020.0002.1816][.0000.01B6.0002.1816] # MONGOLIAN DIGIT SIX
-3026 ; [.0FCC.0020.0002.3026][.0000.01B7.0002.3026] # HANGZHOU NUMERAL SIX
-1010C ; [.0FCC.0020.0002.1010C][.0000.01B8.0002.1010C] # AEGEAN NUMBER SIX
-12404 ; [.0FCC.0020.0002.12404][.0000.01BC.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
-1240B ; [.0FCC.0020.0002.1240B][.0000.01BC.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
-12411 ; [.0FCC.0020.0002.12411][.0000.01BC.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
-1241A ; [.0FCC.0020.0002.1241A][.0000.01BC.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
-12428 ; [.0FCC.0020.0002.12428][.0000.01BC.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12440 ; [.0FCC.0020.0002.12440][.0000.01BC.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-1244E ; [.0FCC.0020.0002.1244E][.0000.01BC.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1D365 ; [.0FCC.0020.0002.1D365][.0000.01BF.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
-33E5 ; [.0FCC.0020.0004.33E5][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX; QQKN
-32C5 ; [.0FCC.0020.0004.32C5][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE; QQKN
-335E ; [.0FCC.0020.0004.335E][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX; QQKN
-0037 ; [.0FCD.0020.0002.0037] # DIGIT SEVEN
-FF17 ; [.0FCD.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN; QQK
-247A ; [*02B1.0020.0004.247A][.0FCD.0020.0004.247A][*02B2.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN; QQKN
-248E ; [.0FCD.0020.0004.248E][*0266.0020.0004.248E] # DIGIT SEVEN FULL STOP; QQKN
-1D7D5 ; [.0FCD.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN; QQK
-1D7DF ; [.0FCD.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN; QQK
-1D7E9 ; [.0FCD.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN; QQK
-1D7F3 ; [.0FCD.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN; QQK
-1D7FD ; [.0FCD.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN; QQK
-2466 ; [.0FCD.0020.0006.2466] # CIRCLED DIGIT SEVEN; QQK
-24FB ; [.0FCD.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN; QQK
-277C ; [.0FCD.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN; QQK
-2786 ; [.0FCD.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN; QQK
-2790 ; [.0FCD.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN; QQK
-2077 ; [.0FCD.0020.0014.2077] # SUPERSCRIPT SEVEN; QQK
-2087 ; [.0FCD.0020.0015.2087] # SUBSCRIPT SEVEN; QQK
-0667 ; [.0FCD.0020.0002.0667][.0000.019F.0002.0667] # ARABIC-INDIC DIGIT SEVEN
-06F7 ; [.0FCD.0020.0002.06F7][.0000.01A0.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
-07C7 ; [.0FCD.0020.0002.07C7][.0000.01A1.0002.07C7] # NKO DIGIT SEVEN
-136F ; [.0FCD.0020.0002.136F][.0000.01A2.0002.136F] # ETHIOPIC DIGIT SEVEN
-104A7 ; [.0FCD.0020.0002.104A7][.0000.01A3.0002.104A7] # OSMANYA DIGIT SEVEN
-096D ; [.0FCD.0020.0002.096D][.0000.01A4.0002.096D] # DEVANAGARI DIGIT SEVEN
-09ED ; [.0FCD.0020.0002.09ED][.0000.01A5.0002.09ED] # BENGALI DIGIT SEVEN
-0A6D ; [.0FCD.0020.0002.0A6D][.0000.01A6.0002.0A6D] # GURMUKHI DIGIT SEVEN
-0AED ; [.0FCD.0020.0002.0AED][.0000.01A7.0002.0AED] # GUJARATI DIGIT SEVEN
-0B6D ; [.0FCD.0020.0002.0B6D][.0000.01A8.0002.0B6D] # ORIYA DIGIT SEVEN
-0BED ; [.0FCD.0020.0002.0BED][.0000.01A9.0002.0BED] # TAMIL DIGIT SEVEN
-0C6D ; [.0FCD.0020.0002.0C6D][.0000.01AA.0002.0C6D] # TELUGU DIGIT SEVEN
-0CED ; [.0FCD.0020.0002.0CED][.0000.01AB.0002.0CED] # KANNADA DIGIT SEVEN
-0D6D ; [.0FCD.0020.0002.0D6D][.0000.01AC.0002.0D6D] # MALAYALAM DIGIT SEVEN
-194D ; [.0FCD.0020.0002.194D][.0000.01AD.0002.194D] # LIMBU DIGIT SEVEN
-19D7 ; [.0FCD.0020.0002.19D7][.0000.01AE.0002.19D7] # NEW TAI LUE DIGIT SEVEN
-0E57 ; [.0FCD.0020.0002.0E57][.0000.01AF.0002.0E57] # THAI DIGIT SEVEN
-0ED7 ; [.0FCD.0020.0002.0ED7][.0000.01B0.0002.0ED7] # LAO DIGIT SEVEN
-0F27 ; [.0FCD.0020.0002.0F27][.0000.01B1.0002.0F27] # TIBETAN DIGIT SEVEN
-0F30 ; [.0FCD.0020.0004.0F30][.0000.01B1.0004.0F30] # TIBETAN DIGIT HALF SEVEN; QQK
-1047 ; [.0FCD.0020.0002.1047][.0000.01B2.0002.1047] # MYANMAR DIGIT SEVEN
-17E7 ; [.0FCD.0020.0002.17E7][.0000.01B3.0002.17E7] # KHMER DIGIT SEVEN
-17F7 ; [.0FCD.0020.0002.17F7][.0000.01B4.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
-1B57 ; [.0FCD.0020.0002.1B57][.0000.01B5.0002.1B57] # BALINESE DIGIT SEVEN
-1817 ; [.0FCD.0020.0002.1817][.0000.01B6.0002.1817] # MONGOLIAN DIGIT SEVEN
-3027 ; [.0FCD.0020.0002.3027][.0000.01B7.0002.3027] # HANGZHOU NUMERAL SEVEN
-1010D ; [.0FCD.0020.0002.1010D][.0000.01B8.0002.1010D] # AEGEAN NUMBER SEVEN
-12405 ; [.0FCD.0020.0002.12405][.0000.01BC.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
-1240C ; [.0FCD.0020.0002.1240C][.0000.01BC.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
-12412 ; [.0FCD.0020.0002.12412][.0000.01BC.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
-1241B ; [.0FCD.0020.0002.1241B][.0000.01BC.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-12429 ; [.0FCD.0020.0002.12429][.0000.01BC.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-12441 ; [.0FCD.0020.0002.12441][.0000.01BC.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 ; [.0FCD.0020.0002.12442][.0000.01BC.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 ; [.0FCD.0020.0002.12443][.0000.01BC.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-1D366 ; [.0FCD.0020.0002.1D366][.0000.01BF.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
-215E ; [.0FCD.0020.001E.215E][*0300.0020.001E.215E][.0FCE.0020.001F.215E] # VULGAR FRACTION SEVEN EIGHTHS; QQKN
-33E6 ; [.0FCD.0020.0004.33E6][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN; QQKN
-32C6 ; [.0FCD.0020.0004.32C6][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY; QQKN
-335F ; [.0FCD.0020.0004.335F][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN; QQKN
-0038 ; [.0FCE.0020.0002.0038] # DIGIT EIGHT
-FF18 ; [.0FCE.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT; QQK
-247B ; [*02B1.0020.0004.247B][.0FCE.0020.0004.247B][*02B2.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT; QQKN
-248F ; [.0FCE.0020.0004.248F][*0266.0020.0004.248F] # DIGIT EIGHT FULL STOP; QQKN
-1D7D6 ; [.0FCE.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT; QQK
-1D7E0 ; [.0FCE.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT; QQK
-1D7EA ; [.0FCE.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT; QQK
-1D7F4 ; [.0FCE.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT; QQK
-1D7FE ; [.0FCE.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT; QQK
-2467 ; [.0FCE.0020.0006.2467] # CIRCLED DIGIT EIGHT; QQK
-24FC ; [.0FCE.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT; QQK
-277D ; [.0FCE.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT; QQK
-2787 ; [.0FCE.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT; QQK
-2791 ; [.0FCE.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT; QQK
-2078 ; [.0FCE.0020.0014.2078] # SUPERSCRIPT EIGHT; QQK
-2088 ; [.0FCE.0020.0015.2088] # SUBSCRIPT EIGHT; QQK
-0668 ; [.0FCE.0020.0002.0668][.0000.019F.0002.0668] # ARABIC-INDIC DIGIT EIGHT
-06F8 ; [.0FCE.0020.0002.06F8][.0000.01A0.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
-07C8 ; [.0FCE.0020.0002.07C8][.0000.01A1.0002.07C8] # NKO DIGIT EIGHT
-1370 ; [.0FCE.0020.0002.1370][.0000.01A2.0002.1370] # ETHIOPIC DIGIT EIGHT
-104A8 ; [.0FCE.0020.0002.104A8][.0000.01A3.0002.104A8] # OSMANYA DIGIT EIGHT
-096E ; [.0FCE.0020.0002.096E][.0000.01A4.0002.096E] # DEVANAGARI DIGIT EIGHT
-09EE ; [.0FCE.0020.0002.09EE][.0000.01A5.0002.09EE] # BENGALI DIGIT EIGHT
-0A6E ; [.0FCE.0020.0002.0A6E][.0000.01A6.0002.0A6E] # GURMUKHI DIGIT EIGHT
-0AEE ; [.0FCE.0020.0002.0AEE][.0000.01A7.0002.0AEE] # GUJARATI DIGIT EIGHT
-0B6E ; [.0FCE.0020.0002.0B6E][.0000.01A8.0002.0B6E] # ORIYA DIGIT EIGHT
-0BEE ; [.0FCE.0020.0002.0BEE][.0000.01A9.0002.0BEE] # TAMIL DIGIT EIGHT
-0C6E ; [.0FCE.0020.0002.0C6E][.0000.01AA.0002.0C6E] # TELUGU DIGIT EIGHT
-0CEE ; [.0FCE.0020.0002.0CEE][.0000.01AB.0002.0CEE] # KANNADA DIGIT EIGHT
-0D6E ; [.0FCE.0020.0002.0D6E][.0000.01AC.0002.0D6E] # MALAYALAM DIGIT EIGHT
-194E ; [.0FCE.0020.0002.194E][.0000.01AD.0002.194E] # LIMBU DIGIT EIGHT
-19D8 ; [.0FCE.0020.0002.19D8][.0000.01AE.0002.19D8] # NEW TAI LUE DIGIT EIGHT
-0E58 ; [.0FCE.0020.0002.0E58][.0000.01AF.0002.0E58] # THAI DIGIT EIGHT
-0ED8 ; [.0FCE.0020.0002.0ED8][.0000.01B0.0002.0ED8] # LAO DIGIT EIGHT
-0F28 ; [.0FCE.0020.0002.0F28][.0000.01B1.0002.0F28] # TIBETAN DIGIT EIGHT
-0F31 ; [.0FCE.0020.0004.0F31][.0000.01B1.0004.0F31] # TIBETAN DIGIT HALF EIGHT; QQK
-1048 ; [.0FCE.0020.0002.1048][.0000.01B2.0002.1048] # MYANMAR DIGIT EIGHT
-17E8 ; [.0FCE.0020.0002.17E8][.0000.01B3.0002.17E8] # KHMER DIGIT EIGHT
-17F8 ; [.0FCE.0020.0002.17F8][.0000.01B4.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
-1B58 ; [.0FCE.0020.0002.1B58][.0000.01B5.0002.1B58] # BALINESE DIGIT EIGHT
-1818 ; [.0FCE.0020.0002.1818][.0000.01B6.0002.1818] # MONGOLIAN DIGIT EIGHT
-3028 ; [.0FCE.0020.0002.3028][.0000.01B7.0002.3028] # HANGZHOU NUMERAL EIGHT
-1010E ; [.0FCE.0020.0002.1010E][.0000.01B8.0002.1010E] # AEGEAN NUMBER EIGHT
-12406 ; [.0FCE.0020.0002.12406][.0000.01BC.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
-1240D ; [.0FCE.0020.0002.1240D][.0000.01BC.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
-12413 ; [.0FCE.0020.0002.12413][.0000.01BC.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
-1241C ; [.0FCE.0020.0002.1241C][.0000.01BC.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1242A ; [.0FCE.0020.0002.1242A][.0000.01BC.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-12444 ; [.0FCE.0020.0002.12444][.0000.01BC.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 ; [.0FCE.0020.0002.12445][.0000.01BC.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-1D367 ; [.0FCE.0020.0002.1D367][.0000.01BF.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
-33E7 ; [.0FCE.0020.0004.33E7][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT; QQKN
-32C7 ; [.0FCE.0020.0004.32C7][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST; QQKN
-3360 ; [.0FCE.0020.0004.3360][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT; QQKN
-0039 ; [.0FCF.0020.0002.0039] # DIGIT NINE
-FF19 ; [.0FCF.0020.0003.FF19] # FULLWIDTH DIGIT NINE; QQK
-247C ; [*02B1.0020.0004.247C][.0FCF.0020.0004.247C][*02B2.0020.001F.247C] # PARENTHESIZED DIGIT NINE; QQKN
-2490 ; [.0FCF.0020.0004.2490][*0266.0020.0004.2490] # DIGIT NINE FULL STOP; QQKN
-1D7D7 ; [.0FCF.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE; QQK
-1D7E1 ; [.0FCF.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE; QQK
-1D7EB ; [.0FCF.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE; QQK
-1D7F5 ; [.0FCF.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE; QQK
-1D7FF ; [.0FCF.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE; QQK
-2468 ; [.0FCF.0020.0006.2468] # CIRCLED DIGIT NINE; QQK
-24FD ; [.0FCF.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE; QQK
-277E ; [.0FCF.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE; QQK
-2788 ; [.0FCF.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE; QQK
-2792 ; [.0FCF.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE; QQK
-2079 ; [.0FCF.0020.0014.2079] # SUPERSCRIPT NINE; QQK
-2089 ; [.0FCF.0020.0015.2089] # SUBSCRIPT NINE; QQK
-0669 ; [.0FCF.0020.0002.0669][.0000.019F.0002.0669] # ARABIC-INDIC DIGIT NINE
-06F9 ; [.0FCF.0020.0002.06F9][.0000.01A0.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
-07C9 ; [.0FCF.0020.0002.07C9][.0000.01A1.0002.07C9] # NKO DIGIT NINE
-1371 ; [.0FCF.0020.0002.1371][.0000.01A2.0002.1371] # ETHIOPIC DIGIT NINE
-104A9 ; [.0FCF.0020.0002.104A9][.0000.01A3.0002.104A9] # OSMANYA DIGIT NINE
-096F ; [.0FCF.0020.0002.096F][.0000.01A4.0002.096F] # DEVANAGARI DIGIT NINE
-09EF ; [.0FCF.0020.0002.09EF][.0000.01A5.0002.09EF] # BENGALI DIGIT NINE
-0A6F ; [.0FCF.0020.0002.0A6F][.0000.01A6.0002.0A6F] # GURMUKHI DIGIT NINE
-0AEF ; [.0FCF.0020.0002.0AEF][.0000.01A7.0002.0AEF] # GUJARATI DIGIT NINE
-0B6F ; [.0FCF.0020.0002.0B6F][.0000.01A8.0002.0B6F] # ORIYA DIGIT NINE
-0BEF ; [.0FCF.0020.0002.0BEF][.0000.01A9.0002.0BEF] # TAMIL DIGIT NINE
-0C6F ; [.0FCF.0020.0002.0C6F][.0000.01AA.0002.0C6F] # TELUGU DIGIT NINE
-0CEF ; [.0FCF.0020.0002.0CEF][.0000.01AB.0002.0CEF] # KANNADA DIGIT NINE
-0D6F ; [.0FCF.0020.0002.0D6F][.0000.01AC.0002.0D6F] # MALAYALAM DIGIT NINE
-194F ; [.0FCF.0020.0002.194F][.0000.01AD.0002.194F] # LIMBU DIGIT NINE
-19D9 ; [.0FCF.0020.0002.19D9][.0000.01AE.0002.19D9] # NEW TAI LUE DIGIT NINE
-0E59 ; [.0FCF.0020.0002.0E59][.0000.01AF.0002.0E59] # THAI DIGIT NINE
-0ED9 ; [.0FCF.0020.0002.0ED9][.0000.01B0.0002.0ED9] # LAO DIGIT NINE
-0F29 ; [.0FCF.0020.0002.0F29][.0000.01B1.0002.0F29] # TIBETAN DIGIT NINE
-0F32 ; [.0FCF.0020.0004.0F32][.0000.01B1.0004.0F32] # TIBETAN DIGIT HALF NINE; QQK
-1049 ; [.0FCF.0020.0002.1049][.0000.01B2.0002.1049] # MYANMAR DIGIT NINE
-17E9 ; [.0FCF.0020.0002.17E9][.0000.01B3.0002.17E9] # KHMER DIGIT NINE
-17F9 ; [.0FCF.0020.0002.17F9][.0000.01B4.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
-1B59 ; [.0FCF.0020.0002.1B59][.0000.01B5.0002.1B59] # BALINESE DIGIT NINE
-1819 ; [.0FCF.0020.0002.1819][.0000.01B6.0002.1819] # MONGOLIAN DIGIT NINE
-3029 ; [.0FCF.0020.0002.3029][.0000.01B7.0002.3029] # HANGZHOU NUMERAL NINE
-1010F ; [.0FCF.0020.0002.1010F][.0000.01B8.0002.1010F] # AEGEAN NUMBER NINE
-12407 ; [.0FCF.0020.0002.12407][.0000.01BC.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
-1240E ; [.0FCF.0020.0002.1240E][.0000.01BC.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
-12414 ; [.0FCF.0020.0002.12414][.0000.01BC.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
-1241D ; [.0FCF.0020.0002.1241D][.0000.01BC.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
-1242B ; [.0FCF.0020.0002.1242B][.0000.01BC.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
-12446 ; [.0FCF.0020.0002.12446][.0000.01BC.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 ; [.0FCF.0020.0002.12447][.0000.01BC.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 ; [.0FCF.0020.0002.12448][.0000.01BC.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 ; [.0FCF.0020.0002.12449][.0000.01BC.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1D368 ; [.0FCF.0020.0002.1D368][.0000.01BF.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
-33E8 ; [.0FCF.0020.0004.33E8][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE; QQKN
-32C8 ; [.0FCF.0020.0004.32C8][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER; QQKN
-3361 ; [.0FCF.0020.0004.3361][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE; QQKN
-0061 ; [.0FD0.0020.0002.0061] # LATIN SMALL LETTER A
-FF41 ; [.0FD0.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A; QQK
-0363 ; [.0FD0.0020.0004.0363] # COMBINING LATIN SMALL LETTER A; QQK
-249C ; [*02B1.0020.0004.249C][.0FD0.0020.0004.249C][*02B2.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A; QQKN
-1D41A ; [.0FD0.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A; QQK
-1D44E ; [.0FD0.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A; QQK
-1D482 ; [.0FD0.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A; QQK
-1D4B6 ; [.0FD0.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A; QQK
-1D4EA ; [.0FD0.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A; QQK
-1D51E ; [.0FD0.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A; QQK
-1D552 ; [.0FD0.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A; QQK
-1D586 ; [.0FD0.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A; QQK
-1D5BA ; [.0FD0.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A; QQK
-1D5EE ; [.0FD0.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A; QQK
-1D622 ; [.0FD0.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A; QQK
-1D656 ; [.0FD0.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A; QQK
-1D68A ; [.0FD0.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A; QQK
-24D0 ; [.0FD0.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A; QQK
-0041 ; [.0FD0.0020.0008.0041] # LATIN CAPITAL LETTER A
-FF21 ; [.0FD0.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A; QQK
-1D400 ; [.0FD0.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A; QQK
-1D434 ; [.0FD0.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A; QQK
-1D468 ; [.0FD0.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A; QQK
-1D49C ; [.0FD0.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A; QQK
-1D4D0 ; [.0FD0.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A; QQK
-1D504 ; [.0FD0.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A; QQK
-1D538 ; [.0FD0.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A; QQK
-1D56C ; [.0FD0.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A; QQK
-1D5A0 ; [.0FD0.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A; QQK
-1D5D4 ; [.0FD0.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A; QQK
-1D608 ; [.0FD0.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A; QQK
-1D63C ; [.0FD0.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A; QQK
-1D670 ; [.0FD0.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A; QQK
-24B6 ; [.0FD0.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A; QQK
-00AA ; [.0FD0.0020.0014.00AA] # FEMININE ORDINAL INDICATOR; QQK
-1D43 ; [.0FD0.0020.0014.1D43] # MODIFIER LETTER SMALL A; QQK
-2090 ; [.0FD0.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A; QQK
-1D2C ; [.0FD0.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A; QQK
-00E1 ; [.0FD0.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE; QQCM
-00C1 ; [.0FD0.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE; QQCM
-00E0 ; [.0FD0.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE; QQCM
-00C0 ; [.0FD0.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE; QQCM
-0103 ; [.0FD0.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE; QQCM
-0102 ; [.0FD0.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE; QQCM
-1EAF ; [.0FD0.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE; QQCM
-1EAE ; [.0FD0.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE; QQCM
-1EB1 ; [.0FD0.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE; QQCM
-1EB0 ; [.0FD0.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE; QQCM
-1EB5 ; [.0FD0.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE; QQCM
-1EB4 ; [.0FD0.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE; QQCM
-1EB3 ; [.0FD0.0020.0002.0061][.0000.0037.0002.0306][.0000.0060.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
-1EB2 ; [.0FD0.0020.0008.0041][.0000.0037.0002.0306][.0000.0060.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
-00E2 ; [.0FD0.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX; QQCM
-00C2 ; [.0FD0.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX; QQCM
-1EA5 ; [.0FD0.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
-1EA4 ; [.0FD0.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
-1EA7 ; [.0FD0.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
-1EA6 ; [.0FD0.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
-1EAB ; [.0FD0.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
-1EAA ; [.0FD0.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
-1EA9 ; [.0FD0.0020.0002.0061][.0000.003C.0002.0302][.0000.0060.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1EA8 ; [.0FD0.0020.0008.0041][.0000.003C.0002.0302][.0000.0060.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-01CE ; [.0FD0.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON; QQCM
-01CD ; [.0FD0.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON; QQCM
-00E5 ; [.0FD0.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE; QQCM
-00C5 ; [.0FD0.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE; QQCM
-212B ; [.0FD0.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN; QQCM
-01FB ; [.0FD0.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE; QQCM
-01FA ; [.0FD0.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE; QQCM
-00E4 ; [.0FD0.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS; QQCM
-00C4 ; [.0FD0.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS; QQCM
-01DF ; [.0FD0.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON; QQCM
-01DE ; [.0FD0.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON; QQCM
-00E3 ; [.0FD0.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE; QQCM
-00C3 ; [.0FD0.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE; QQCM
-0227 ; [.0FD0.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE; QQCM
-0226 ; [.0FD0.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE; QQCM
-01E1 ; [.0FD0.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON; QQCM
-01E0 ; [.0FD0.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON; QQCM
-0105 ; [.0FD0.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK; QQCM
-0104 ; [.0FD0.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK; QQCM
-0101 ; [.0FD0.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON; QQCM
-0100 ; [.0FD0.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON; QQCM
-1EA3 ; [.0FD0.0020.0002.0061][.0000.0060.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE; QQCM
-1EA2 ; [.0FD0.0020.0008.0041][.0000.0060.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE; QQCM
-0201 ; [.0FD0.0020.0002.0061][.0000.0063.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE; QQCM
-0200 ; [.0FD0.0020.0008.0041][.0000.0063.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE; QQCM
-0203 ; [.0FD0.0020.0002.0061][.0000.0065.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE; QQCM
-0202 ; [.0FD0.0020.0008.0041][.0000.0065.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE; QQCM
-1EA1 ; [.0FD0.0020.0002.0061][.0000.007A.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW; QQCM
-1EA0 ; [.0FD0.0020.0008.0041][.0000.007A.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW; QQCM
-1EB7 ; [.0FD0.0020.0002.0061][.0000.007A.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW; QQCM
-1EB6 ; [.0FD0.0020.0008.0041][.0000.007A.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW; QQCM
-1EAD ; [.0FD0.0020.0002.0061][.0000.007A.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1EAC ; [.0FD0.0020.0008.0041][.0000.007A.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1E01 ; [.0FD0.0020.0002.0061][.0000.0080.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW; QQCM
-1E00 ; [.0FD0.0020.0008.0041][.0000.0080.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW; QQCM
-2100 ; [.0FD0.0020.0004.2100][*02FF.0020.0004.2100][.0FFE.0020.001F.2100] # ACCOUNT OF; QQKN
-00E6 ; [.0FD0.0020.0004.00E6][.0000.0199.0004.00E6][.1029.0020.001F.00E6] # LATIN SMALL LETTER AE; QQKN
-00C6 ; [.0FD0.0020.000A.00C6][.0000.0199.0004.00C6][.1029.0020.001F.00C6] # LATIN CAPITAL LETTER AE; QQKN
-1D2D ; [.0FD0.0020.0014.1D2D][.0000.0199.0014.1D2D][.1029.0020.001F.1D2D] # MODIFIER LETTER CAPITAL AE; QQKN
-01FD ; [.0FD0.0020.0004.01FD][.0000.0199.0004.01FD][.1029.0020.001F.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE; QQKN
-01FC ; [.0FD0.0020.000A.01FC][.0000.0199.0004.01FC][.1029.0020.001F.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE; QQKN
-01E3 ; [.0FD0.0020.0004.01E3][.0000.0199.0004.01E3][.1029.0020.001F.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON; QQKN
-01E2 ; [.0FD0.0020.000A.01E2][.0000.0199.0004.01E2][.1029.0020.001F.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON; QQKN
-33C2 ; [.0FD0.0020.001C.33C2][*0266.0020.001C.33C2][.1110.0020.001F.33C2][*0266.0020.001F.33C2] # SQUARE AM; QQKN
-33DF ; [.0FD0.0020.001D.33DF][*04C7.0020.001C.33DF][.1110.0020.001F.33DF] # SQUARE A OVER M; QQKN
-2101 ; [.0FD0.0020.0004.2101][*02FF.0020.0004.2101][.11AF.0020.001F.2101] # ADDRESSED TO THE SUBJECT; QQKN
-3373 ; [.0FD0.0020.001D.3373][.11EE.0020.001D.3373] # SQUARE AU; QQKN
-1E9A ; [.0FD0.0020.0004.1E9A][.1298.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING; QQKN
-1D00 ; [.0FD4.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
-2C65 ; [.0FD5.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
-023A ; [.0FD5.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
-1D8F ; [.0FD6.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D01 ; [.0FD7.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
-1D02 ; [.0FD8.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
-1D46 ; [.0FD8.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE; QQK
-0250 ; [.0FD9.0020.0002.0250] # LATIN SMALL LETTER TURNED A
-1D44 ; [.0FD9.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A; QQK
-0251 ; [.0FDD.0020.0002.0251] # LATIN SMALL LETTER ALPHA
-1D45 ; [.0FDD.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA; QQK
-1D90 ; [.0FE1.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-0252 ; [.0FE2.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
-1D9B ; [.0FE2.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA; QQK
-0062 ; [.0FE6.0020.0002.0062] # LATIN SMALL LETTER B
-FF42 ; [.0FE6.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B; QQK
-249D ; [*02B1.0020.0004.249D][.0FE6.0020.0004.249D][*02B2.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B; QQKN
-1D41B ; [.0FE6.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B; QQK
-1D44F ; [.0FE6.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B; QQK
-1D483 ; [.0FE6.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B; QQK
-1D4B7 ; [.0FE6.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B; QQK
-1D4EB ; [.0FE6.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B; QQK
-1D51F ; [.0FE6.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B; QQK
-1D553 ; [.0FE6.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B; QQK
-1D587 ; [.0FE6.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B; QQK
-1D5BB ; [.0FE6.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B; QQK
-1D5EF ; [.0FE6.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B; QQK
-1D623 ; [.0FE6.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B; QQK
-1D657 ; [.0FE6.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B; QQK
-1D68B ; [.0FE6.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B; QQK
-24D1 ; [.0FE6.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B; QQK
-0042 ; [.0FE6.0020.0008.0042] # LATIN CAPITAL LETTER B
-FF22 ; [.0FE6.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B; QQK
-212C ; [.0FE6.0020.000B.212C] # SCRIPT CAPITAL B; QQK
-1D401 ; [.0FE6.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B; QQK
-1D435 ; [.0FE6.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B; QQK
-1D469 ; [.0FE6.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B; QQK
-1D4D1 ; [.0FE6.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B; QQK
-1D505 ; [.0FE6.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B; QQK
-1D539 ; [.0FE6.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B; QQK
-1D56D ; [.0FE6.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B; QQK
-1D5A1 ; [.0FE6.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B; QQK
-1D5D5 ; [.0FE6.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B; QQK
-1D609 ; [.0FE6.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B; QQK
-1D63D ; [.0FE6.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B; QQK
-1D671 ; [.0FE6.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B; QQK
-24B7 ; [.0FE6.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B; QQK
-1D47 ; [.0FE6.0020.0014.1D47] # MODIFIER LETTER SMALL B; QQK
-1D2E ; [.0FE6.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B; QQK
-1E03 ; [.0FE6.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE; QQCM
-1E02 ; [.0FE6.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE; QQCM
-1E05 ; [.0FE6.0020.0002.0062][.0000.007A.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW; QQCM
-1E04 ; [.0FE6.0020.0008.0042][.0000.007A.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW; QQCM
-1E07 ; [.0FE6.0020.0002.0062][.0000.008A.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW; QQCM
-1E06 ; [.0FE6.0020.0008.0042][.0000.008A.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW; QQCM
-3374 ; [.0FE6.0020.001C.3374][.0FD0.0020.001C.3374][.117E.0020.001F.3374] # SQUARE BAR; QQKN
-33C3 ; [.0FE6.0020.001D.33C3][.116E.0020.001C.33C3] # SQUARE BQ; QQKN
-0299 ; [.0FEA.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
-0180 ; [.0FEE.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
-0243 ; [.0FEE.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
-1D2F ; [.0FF2.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
-1D03 ; [.0FF3.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
-1D6C ; [.0FF4.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D80 ; [.0FF5.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
-0253 ; [.0FF6.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
-0181 ; [.0FF6.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
-0183 ; [.0FFA.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
-0182 ; [.0FFA.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
-0063 ; [.0FFE.0020.0002.0063] # LATIN SMALL LETTER C
-FF43 ; [.0FFE.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C; QQK
-0368 ; [.0FFE.0020.0004.0368] # COMBINING LATIN SMALL LETTER C; QQK
-217D ; [.0FFE.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED; QQK
-249E ; [*02B1.0020.0004.249E][.0FFE.0020.0004.249E][*02B2.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C; QQKN
-1D41C ; [.0FFE.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C; QQK
-1D450 ; [.0FFE.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C; QQK
-1D484 ; [.0FFE.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C; QQK
-1D4B8 ; [.0FFE.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C; QQK
-1D4EC ; [.0FFE.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C; QQK
-1D520 ; [.0FFE.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C; QQK
-1D554 ; [.0FFE.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C; QQK
-1D588 ; [.0FFE.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C; QQK
-1D5BC ; [.0FFE.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C; QQK
-1D5F0 ; [.0FFE.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C; QQK
-1D624 ; [.0FFE.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C; QQK
-1D658 ; [.0FFE.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C; QQK
-1D68C ; [.0FFE.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C; QQK
-24D2 ; [.0FFE.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C; QQK
-0043 ; [.0FFE.0020.0008.0043] # LATIN CAPITAL LETTER C
-FF23 ; [.0FFE.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C; QQK
-2103 ; [*03BF.0020.0004.2103][.0FFE.0020.000A.2103] # DEGREE CELSIUS; QQKN
-216D ; [.0FFE.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED; QQK
-2102 ; [.0FFE.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C; QQK
-212D ; [.0FFE.0020.000B.212D] # BLACK-LETTER CAPITAL C; QQK
-1D402 ; [.0FFE.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C; QQK
-1D436 ; [.0FFE.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C; QQK
-1D46A ; [.0FFE.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C; QQK
-1D49E ; [.0FFE.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C; QQK
-1D4D2 ; [.0FFE.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C; QQK
-1D56E ; [.0FFE.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C; QQK
-1D5A2 ; [.0FFE.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C; QQK
-1D5D6 ; [.0FFE.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C; QQK
-1D60A ; [.0FFE.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C; QQK
-1D63E ; [.0FFE.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C; QQK
-1D672 ; [.0FFE.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C; QQK
-24B8 ; [.0FFE.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C; QQK
-1D9C ; [.0FFE.0020.0014.1D9C] # MODIFIER LETTER SMALL C; QQK
-0107 ; [.0FFE.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE; QQCM
-0106 ; [.0FFE.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE; QQCM
-0109 ; [.0FFE.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX; QQCM
-0108 ; [.0FFE.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX; QQCM
-010D ; [.0FFE.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON; QQCM
-010C ; [.0FFE.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON; QQCM
-010B ; [.0FFE.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE; QQCM
-010A ; [.0FFE.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE; QQCM
-00E7 ; [.0FFE.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA; QQCM
-00C7 ; [.0FFE.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA; QQCM
-1E09 ; [.0FFE.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE; QQCM
-1E08 ; [.0FFE.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE; QQCM
-3388 ; [.0FFE.0020.001C.3388][.0FD0.0020.001C.3388][.10E5.0020.001F.3388] # SQUARE CAL; QQKN
-33C4 ; [.0FFE.0020.001C.33C4][.0FFE.0020.001C.33C4] # SQUARE CC; QQKN
-33C5 ; [.0FFE.0020.001C.33C5][.1010.0020.001C.33C5] # SQUARE CD; QQKN
-33C6 ; [.0FFE.0020.001D.33C6][*04C7.0020.001C.33C6][.10D6.0020.001F.33C6][.106A.0020.001F.33C6] # SQUARE C OVER KG; QQKN
-339D ; [.0FFE.0020.001C.339D][.1110.0020.001C.339D] # SQUARE CM; QQKN
-33A0 ; [.0FFE.0020.001C.33A0][.1110.0020.001C.33A0][.0FC8.0020.001F.33A0] # SQUARE CM SQUARED; QQKN
-33A4 ; [.0FFE.0020.001C.33A4][.1110.0020.001C.33A4][.0FC9.0020.001F.33A4] # SQUARE CM CUBED; QQKN
-2105 ; [.0FFE.0020.0004.2105][*02FF.0020.0004.2105][.113B.0020.001F.2105] # CARE OF; QQKN
-33C7 ; [.0FFE.0020.001D.33C7][.113B.0020.001C.33C7][*0266.0020.001F.33C7] # SQUARE CO; QQKN
-2106 ; [.0FFE.0020.0004.2106][*02FF.0020.0004.2106][.11EE.0020.001F.2106] # CADA UNA; QQKN
-1D04 ; [.1002.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
-023C ; [.1003.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
-023B ; [.1003.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
-0188 ; [.1007.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
-0187 ; [.1007.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
-0255 ; [.100B.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
-1D9D ; [.100B.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL; QQK
-2184 ; [.100F.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
-2183 ; [.100F.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
-0064 ; [.1010.0020.0002.0064] # LATIN SMALL LETTER D
-FF44 ; [.1010.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D; QQK
-0369 ; [.1010.0020.0004.0369] # COMBINING LATIN SMALL LETTER D; QQK
-217E ; [.1010.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED; QQK
-249F ; [*02B1.0020.0004.249F][.1010.0020.0004.249F][*02B2.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D; QQKN
-2146 ; [.1010.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D; QQK
-1D41D ; [.1010.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D; QQK
-1D451 ; [.1010.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D; QQK
-1D485 ; [.1010.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D; QQK
-1D4B9 ; [.1010.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D; QQK
-1D4ED ; [.1010.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D; QQK
-1D521 ; [.1010.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D; QQK
-1D555 ; [.1010.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D; QQK
-1D589 ; [.1010.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D; QQK
-1D5BD ; [.1010.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D; QQK
-1D5F1 ; [.1010.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D; QQK
-1D625 ; [.1010.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D; QQK
-1D659 ; [.1010.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D; QQK
-1D68D ; [.1010.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D; QQK
-24D3 ; [.1010.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D; QQK
-0044 ; [.1010.0020.0008.0044] # LATIN CAPITAL LETTER D
-FF24 ; [.1010.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D; QQK
-216E ; [.1010.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED; QQK
-2145 ; [.1010.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D; QQK
-1D403 ; [.1010.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D; QQK
-1D437 ; [.1010.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D; QQK
-1D46B ; [.1010.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D; QQK
-1D49F ; [.1010.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D; QQK
-1D4D3 ; [.1010.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D; QQK
-1D507 ; [.1010.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D; QQK
-1D53B ; [.1010.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D; QQK
-1D56F ; [.1010.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D; QQK
-1D5A3 ; [.1010.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D; QQK
-1D5D7 ; [.1010.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D; QQK
-1D60B ; [.1010.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D; QQK
-1D63F ; [.1010.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D; QQK
-1D673 ; [.1010.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D; QQK
-24B9 ; [.1010.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D; QQK
-1D48 ; [.1010.0020.0014.1D48] # MODIFIER LETTER SMALL D; QQK
-1D30 ; [.1010.0020.001D.1D30] # MODIFIER LETTER CAPITAL D; QQK
-010F ; [.1010.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON; QQCM
-010E ; [.1010.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON; QQCM
-1E0B ; [.1010.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE; QQCM
-1E0A ; [.1010.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE; QQCM
-1E11 ; [.1010.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA; QQCM
-1E10 ; [.1010.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA; QQCM
-1E0D ; [.1010.0020.0002.0064][.0000.007A.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW; QQCM
-1E0C ; [.1010.0020.0008.0044][.0000.007A.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW; QQCM
-1E13 ; [.1010.0020.0002.0064][.0000.0086.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW; QQCM
-1E12 ; [.1010.0020.0008.0044][.0000.0086.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW; QQCM
-1E0F ; [.1010.0020.0002.0064][.0000.008A.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW; QQCM
-1E0E ; [.1010.0020.0008.0044][.0000.008A.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW; QQCM
-0111 ; [.1010.0020.0002.0064][.0000.008D.0002.0335] # LATIN SMALL LETTER D WITH STROKE; QQCM
-0110 ; [.1010.0020.0008.0044][.0000.008D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE; QQCM
-00F0 ; [.1010.0020.0004.00F0][.0000.0199.0004.00F0] # LATIN SMALL LETTER ETH; QQKN
-00D0 ; [.1010.0020.000A.00D0][.0000.0199.0004.00D0] # LATIN CAPITAL LETTER ETH; QQKN
-1D9E ; [.1010.0020.0014.1D9E][.0000.0199.0014.1D9E] # MODIFIER LETTER SMALL ETH; QQKN
-3372 ; [.1010.0020.001C.3372][.0FD0.0020.001C.3372] # SQUARE DA; QQKN
-0238 ; [.1010.0020.0004.0238][.0FE6.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH; QQKN
-33C8 ; [.1010.0020.001C.33C8][.0FE6.0020.001D.33C8] # SQUARE DB; QQKN
-3397 ; [.1010.0020.001C.3397][.10E5.0020.001C.3397] # SQUARE DL; QQKN
-3377 ; [.1010.0020.001C.3377][.1110.0020.001C.3377] # SQUARE DM; QQKN
-3378 ; [.1010.0020.001C.3378][.1110.0020.001C.3378][.0FC8.0020.001F.3378] # SQUARE DM SQUARED; QQKN
-3379 ; [.1010.0020.001C.3379][.1110.0020.001C.3379][.0FC9.0020.001F.3379] # SQUARE DM CUBED; QQKN
-01F3 ; [.1010.0020.0004.01F3][.1243.0020.0004.01F3] # LATIN SMALL LETTER DZ; QQKN
-02A3 ; [.1010.0020.0004.02A3][.1243.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH; QQKN
-01F2 ; [.1010.0020.000A.01F2][.1243.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z; QQKN
-01F1 ; [.1010.0020.000A.01F1][.1243.0020.000A.01F1] # LATIN CAPITAL LETTER DZ; QQKN
-01C6 ; [.1010.0020.0004.01C6][.1243.0020.0004.01C6][.0000.0041.001F.01C6] # LATIN SMALL LETTER DZ WITH CARON; QQKN
-01C5 ; [.1010.0020.000A.01C5][.1243.0020.0004.01C5][.0000.0041.001F.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON; QQKN
-01C4 ; [.1010.0020.000A.01C4][.1243.0020.000A.01C4][.0000.0041.001F.01C4] # LATIN CAPITAL LETTER DZ WITH CARON; QQKN
-02A5 ; [.1010.0020.0004.02A5][.1256.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL; QQKN
-02A4 ; [.1010.0020.0004.02A4][.125F.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH; QQKN
-1D05 ; [.1014.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
-1D06 ; [.1015.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
-1D6D ; [.1016.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D81 ; [.1017.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
-0256 ; [.1018.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
-0189 ; [.1018.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
-0257 ; [.101C.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
-018A ; [.101C.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
-1D91 ; [.1020.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
-018C ; [.1021.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
-018B ; [.1021.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
-0221 ; [.1025.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
-0065 ; [.1029.0020.0002.0065] # LATIN SMALL LETTER E
-FF45 ; [.1029.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E; QQK
-0364 ; [.1029.0020.0004.0364] # COMBINING LATIN SMALL LETTER E; QQK
-24A0 ; [*02B1.0020.0004.24A0][.1029.0020.0004.24A0][*02B2.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E; QQKN
-212F ; [.1029.0020.0005.212F] # SCRIPT SMALL E; QQK
-2147 ; [.1029.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E; QQK
-1D41E ; [.1029.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E; QQK
-1D452 ; [.1029.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E; QQK
-1D486 ; [.1029.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E; QQK
-1D4EE ; [.1029.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E; QQK
-1D522 ; [.1029.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E; QQK
-1D556 ; [.1029.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E; QQK
-1D58A ; [.1029.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E; QQK
-1D5BE ; [.1029.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E; QQK
-1D5F2 ; [.1029.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E; QQK
-1D626 ; [.1029.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E; QQK
-1D65A ; [.1029.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E; QQK
-1D68E ; [.1029.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E; QQK
-24D4 ; [.1029.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E; QQK
-0045 ; [.1029.0020.0008.0045] # LATIN CAPITAL LETTER E
-FF25 ; [.1029.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E; QQK
-2130 ; [.1029.0020.000B.2130] # SCRIPT CAPITAL E; QQK
-1D404 ; [.1029.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E; QQK
-1D438 ; [.1029.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E; QQK
-1D46C ; [.1029.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E; QQK
-1D4D4 ; [.1029.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E; QQK
-1D508 ; [.1029.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E; QQK
-1D53C ; [.1029.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E; QQK
-1D570 ; [.1029.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E; QQK
-1D5A4 ; [.1029.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E; QQK
-1D5D8 ; [.1029.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E; QQK
-1D60C ; [.1029.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E; QQK
-1D640 ; [.1029.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E; QQK
-1D674 ; [.1029.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E; QQK
-24BA ; [.1029.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E; QQK
-1D49 ; [.1029.0020.0014.1D49] # MODIFIER LETTER SMALL E; QQK
-2091 ; [.1029.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E; QQK
-1D31 ; [.1029.0020.001D.1D31] # MODIFIER LETTER CAPITAL E; QQK
-00E9 ; [.1029.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE; QQCM
-00C9 ; [.1029.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE; QQCM
-00E8 ; [.1029.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE; QQCM
-00C8 ; [.1029.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE; QQCM
-0115 ; [.1029.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE; QQCM
-0114 ; [.1029.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE; QQCM
-00EA ; [.1029.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX; QQCM
-00CA ; [.1029.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX; QQCM
-1EBF ; [.1029.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
-1EBE ; [.1029.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
-1EC1 ; [.1029.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
-1EC0 ; [.1029.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
-1EC5 ; [.1029.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
-1EC4 ; [.1029.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
-1EC3 ; [.1029.0020.0002.0065][.0000.003C.0002.0302][.0000.0060.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1EC2 ; [.1029.0020.0008.0045][.0000.003C.0002.0302][.0000.0060.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-011B ; [.1029.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON; QQCM
-011A ; [.1029.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON; QQCM
-00EB ; [.1029.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS; QQCM
-00CB ; [.1029.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS; QQCM
-1EBD ; [.1029.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE; QQCM
-1EBC ; [.1029.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE; QQCM
-0117 ; [.1029.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE; QQCM
-0116 ; [.1029.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE; QQCM
-0229 ; [.1029.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA; QQCM
-0228 ; [.1029.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA; QQCM
-1E1D ; [.1029.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE; QQCM
-1E1C ; [.1029.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE; QQCM
-0119 ; [.1029.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK; QQCM
-0118 ; [.1029.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK; QQCM
-0113 ; [.1029.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON; QQCM
-0112 ; [.1029.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON; QQCM
-1E17 ; [.1029.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE; QQCM
-1E16 ; [.1029.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE; QQCM
-1E15 ; [.1029.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE; QQCM
-1E14 ; [.1029.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE; QQCM
-1EBB ; [.1029.0020.0002.0065][.0000.0060.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE; QQCM
-1EBA ; [.1029.0020.0008.0045][.0000.0060.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE; QQCM
-0205 ; [.1029.0020.0002.0065][.0000.0063.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE; QQCM
-0204 ; [.1029.0020.0008.0045][.0000.0063.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE; QQCM
-0207 ; [.1029.0020.0002.0065][.0000.0065.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE; QQCM
-0206 ; [.1029.0020.0008.0045][.0000.0065.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE; QQCM
-1EB9 ; [.1029.0020.0002.0065][.0000.007A.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW; QQCM
-1EB8 ; [.1029.0020.0008.0045][.0000.007A.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW; QQCM
-1EC7 ; [.1029.0020.0002.0065][.0000.007A.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1EC6 ; [.1029.0020.0008.0045][.0000.007A.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1E19 ; [.1029.0020.0002.0065][.0000.0086.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW; QQCM
-1E18 ; [.1029.0020.0008.0045][.0000.0086.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW; QQCM
-1E1B ; [.1029.0020.0002.0065][.0000.0089.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW; QQCM
-1E1A ; [.1029.0020.0008.0045][.0000.0089.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW; QQCM
-32CD ; [.1029.0020.001C.32CD][.117E.0020.001C.32CD][.106A.0020.001F.32CD] # SQUARE ERG; QQKN
-32CE ; [.1029.0020.001C.32CE][.1216.0020.001D.32CE] # SQUARE EV; QQKN
-1D07 ; [.102D.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
-0247 ; [.102E.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
-0246 ; [.102E.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
-1D92 ; [.1032.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-01DD ; [.1033.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
-018E ; [.1033.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
-1D32 ; [.1033.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E; QQK
-0259 ; [.1037.0020.0002.0259] # LATIN SMALL LETTER SCHWA
-018F ; [.1037.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
-1D4A ; [.1037.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA; QQK
-2094 ; [.1037.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA; QQK
-1D95 ; [.103B.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-025B ; [.103C.0020.0002.025B] # LATIN SMALL LETTER OPEN E
-0190 ; [.103C.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
-2107 ; [.103C.0020.000A.2107] # EULER CONSTANT; QQK
-1D4B ; [.103C.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E; QQK
-1D93 ; [.1040.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-0258 ; [.1041.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
-025A ; [.1045.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
-025C ; [.1049.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
-1D9F ; [.1049.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E; QQK
-1D94 ; [.104D.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D08 ; [.104E.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
-1D4C ; [.104E.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E; QQK
-025D ; [.104F.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E ; [.1053.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-029A ; [.1057.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
-0264 ; [.105B.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
-0066 ; [.105F.0020.0002.0066] # LATIN SMALL LETTER F
-FF46 ; [.105F.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F; QQK
-24A1 ; [*02B1.0020.0004.24A1][.105F.0020.0004.24A1][*02B2.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F; QQKN
-1D41F ; [.105F.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F; QQK
-1D453 ; [.105F.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F; QQK
-1D487 ; [.105F.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F; QQK
-1D4BB ; [.105F.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F; QQK
-1D4EF ; [.105F.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F; QQK
-1D523 ; [.105F.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F; QQK
-1D557 ; [.105F.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F; QQK
-1D58B ; [.105F.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F; QQK
-1D5BF ; [.105F.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F; QQK
-1D5F3 ; [.105F.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F; QQK
-1D627 ; [.105F.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F; QQK
-1D65B ; [.105F.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F; QQK
-1D68F ; [.105F.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F; QQK
-24D5 ; [.105F.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F; QQK
-0046 ; [.105F.0020.0008.0046] # LATIN CAPITAL LETTER F
-FF26 ; [.105F.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F; QQK
-2109 ; [*03BF.0020.0004.2109][.105F.0020.000A.2109] # DEGREE FAHRENHEIT; QQKN
-2131 ; [.105F.0020.000B.2131] # SCRIPT CAPITAL F; QQK
-1D405 ; [.105F.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F; QQK
-1D439 ; [.105F.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F; QQK
-1D46D ; [.105F.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F; QQK
-1D4D5 ; [.105F.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F; QQK
-1D509 ; [.105F.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F; QQK
-1D53D ; [.105F.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F; QQK
-1D571 ; [.105F.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F; QQK
-1D5A5 ; [.105F.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F; QQK
-1D5D9 ; [.105F.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F; QQK
-1D60D ; [.105F.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F; QQK
-1D641 ; [.105F.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F; QQK
-1D675 ; [.105F.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F; QQK
-24BB ; [.105F.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F; QQK
-1DA0 ; [.105F.0020.0014.1DA0] # MODIFIER LETTER SMALL F; QQK
-1E1F ; [.105F.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE; QQCM
-1E1E ; [.105F.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE; QQCM
-213B ; [.105F.0020.000A.213B][.0FD0.0020.000A.213B][.122E.0020.001F.213B] # FACSIMILE SIGN; QQKN
-FB00 ; [.105F.0020.0004.FB00][.105F.0020.0004.FB00] # LATIN SMALL LIGATURE FF; QQKN
-FB03 ; [.105F.0020.0004.FB03][.105F.0020.0004.FB03][.10A5.0020.001F.FB03] # LATIN SMALL LIGATURE FFI; QQKN
-FB04 ; [.105F.0020.0004.FB04][.105F.0020.0004.FB04][.10E5.0020.001F.FB04] # LATIN SMALL LIGATURE FFL; QQKN
-FB01 ; [.105F.0020.0004.FB01][.10A5.0020.0004.FB01] # LATIN SMALL LIGATURE FI; QQKN
-FB02 ; [.105F.0020.0004.FB02][.10E5.0020.0004.FB02] # LATIN SMALL LIGATURE FL; QQKN
-3399 ; [.105F.0020.001C.3399][.1110.0020.001C.3399] # SQUARE FM; QQKN
-02A9 ; [.105F.0020.0004.02A9][.1137.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH; QQKN
-1D6E ; [.1063.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D82 ; [.1064.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
-0192 ; [.1065.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
-0191 ; [.1065.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
-214E ; [.1069.0020.0002.214E] # TURNED SMALL F
-2132 ; [.1069.0020.0008.2132] # TURNED CAPITAL F
-0067 ; [.106A.0020.0002.0067] # LATIN SMALL LETTER G
-FF47 ; [.106A.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G; QQK
-24A2 ; [*02B1.0020.0004.24A2][.106A.0020.0004.24A2][*02B2.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G; QQKN
-210A ; [.106A.0020.0005.210A] # SCRIPT SMALL G; QQK
-1D420 ; [.106A.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G; QQK
-1D454 ; [.106A.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G; QQK
-1D488 ; [.106A.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G; QQK
-1D4F0 ; [.106A.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G; QQK
-1D524 ; [.106A.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G; QQK
-1D558 ; [.106A.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G; QQK
-1D58C ; [.106A.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G; QQK
-1D5C0 ; [.106A.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G; QQK
-1D5F4 ; [.106A.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G; QQK
-1D628 ; [.106A.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G; QQK
-1D65C ; [.106A.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G; QQK
-1D690 ; [.106A.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G; QQK
-24D6 ; [.106A.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G; QQK
-0047 ; [.106A.0020.0008.0047] # LATIN CAPITAL LETTER G
-FF27 ; [.106A.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G; QQK
-1D406 ; [.106A.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G; QQK
-1D43A ; [.106A.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G; QQK
-1D46E ; [.106A.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G; QQK
-1D4A2 ; [.106A.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G; QQK
-1D4D6 ; [.106A.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G; QQK
-1D50A ; [.106A.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G; QQK
-1D53E ; [.106A.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G; QQK
-1D572 ; [.106A.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G; QQK
-1D5A6 ; [.106A.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G; QQK
-1D5DA ; [.106A.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G; QQK
-1D60E ; [.106A.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G; QQK
-1D642 ; [.106A.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G; QQK
-1D676 ; [.106A.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G; QQK
-24BC ; [.106A.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G; QQK
-1D4D ; [.106A.0020.0014.1D4D] # MODIFIER LETTER SMALL G; QQK
-1D33 ; [.106A.0020.001D.1D33] # MODIFIER LETTER CAPITAL G; QQK
-01F5 ; [.106A.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE; QQCM
-01F4 ; [.106A.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE; QQCM
-011F ; [.106A.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE; QQCM
-011E ; [.106A.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE; QQCM
-011D ; [.106A.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX; QQCM
-011C ; [.106A.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX; QQCM
-01E7 ; [.106A.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON; QQCM
-01E6 ; [.106A.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON; QQCM
-0121 ; [.106A.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE; QQCM
-0120 ; [.106A.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE; QQCM
-0123 ; [.106A.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA; QQCM
-0122 ; [.106A.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA; QQCM
-1E21 ; [.106A.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON; QQCM
-1E20 ; [.106A.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON; QQCM
-33FF ; [.106A.0020.001C.33FF][.0FD0.0020.001C.33FF][.10E5.0020.001F.33FF] # SQUARE GAL; QQKN
-3387 ; [.106A.0020.001D.3387][.0FE6.0020.001D.3387] # SQUARE GB; QQKN
-3393 ; [.106A.0020.001D.3393][.108D.0020.001D.3393][.1243.0020.001F.3393] # SQUARE GHZ; QQKN
-33AC ; [.106A.0020.001D.33AC][.115D.0020.001D.33AC][.0FD0.0020.001F.33AC] # SQUARE GPA; QQKN
-33C9 ; [.106A.0020.001D.33C9][.1233.0020.001C.33C9] # SQUARE GY; QQKN
-0261 ; [.106E.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
-1DA2 ; [.106E.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G; QQK
-1D79 ; [.1072.0020.0002.1D79] # LATIN SMALL LETTER INSULAR G
-0262 ; [.1073.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
-01E5 ; [.1077.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
-01E4 ; [.1077.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
-1D83 ; [.107B.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
-0260 ; [.107C.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
-0193 ; [.107C.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
-029B ; [.1080.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
-1D77 ; [.1084.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
-0263 ; [.1085.0020.0002.0263] # LATIN SMALL LETTER GAMMA
-0194 ; [.1085.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
-02E0 ; [.1085.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA; QQK
-01A3 ; [.1089.0020.0002.01A3] # LATIN SMALL LETTER OI
-01A2 ; [.1089.0020.0008.01A2] # LATIN CAPITAL LETTER OI
-0068 ; [.108D.0020.0002.0068] # LATIN SMALL LETTER H
-FF48 ; [.108D.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H; QQK
-036A ; [.108D.0020.0004.036A] # COMBINING LATIN SMALL LETTER H; QQK
-24A3 ; [*02B1.0020.0004.24A3][.108D.0020.0004.24A3][*02B2.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H; QQKN
-210E ; [.108D.0020.0005.210E] # PLANCK CONSTANT; QQK
-1D421 ; [.108D.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H; QQK
-1D489 ; [.108D.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H; QQK
-1D4BD ; [.108D.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H; QQK
-1D4F1 ; [.108D.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H; QQK
-1D525 ; [.108D.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H; QQK
-1D559 ; [.108D.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H; QQK
-1D58D ; [.108D.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H; QQK
-1D5C1 ; [.108D.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H; QQK
-1D5F5 ; [.108D.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H; QQK
-1D629 ; [.108D.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H; QQK
-1D65D ; [.108D.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H; QQK
-1D691 ; [.108D.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H; QQK
-24D7 ; [.108D.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H; QQK
-0048 ; [.108D.0020.0008.0048] # LATIN CAPITAL LETTER H
-FF28 ; [.108D.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H; QQK
-210B ; [.108D.0020.000B.210B] # SCRIPT CAPITAL H; QQK
-210C ; [.108D.0020.000B.210C] # BLACK-LETTER CAPITAL H; QQK
-210D ; [.108D.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H; QQK
-1D407 ; [.108D.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H; QQK
-1D43B ; [.108D.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H; QQK
-1D46F ; [.108D.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H; QQK
-1D4D7 ; [.108D.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H; QQK
-1D573 ; [.108D.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H; QQK
-1D5A7 ; [.108D.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H; QQK
-1D5DB ; [.108D.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H; QQK
-1D60F ; [.108D.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H; QQK
-1D643 ; [.108D.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H; QQK
-1D677 ; [.108D.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H; QQK
-24BD ; [.108D.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H; QQK
-02B0 ; [.108D.0020.0014.02B0] # MODIFIER LETTER SMALL H; QQK
-1D34 ; [.108D.0020.001D.1D34] # MODIFIER LETTER CAPITAL H; QQK
-0125 ; [.108D.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX; QQCM
-0124 ; [.108D.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX; QQCM
-021F ; [.108D.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON; QQCM
-021E ; [.108D.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON; QQCM
-1E27 ; [.108D.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS; QQCM
-1E26 ; [.108D.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS; QQCM
-1E23 ; [.108D.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE; QQCM
-1E22 ; [.108D.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE; QQCM
-1E29 ; [.108D.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA; QQCM
-1E28 ; [.108D.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA; QQCM
-1E25 ; [.108D.0020.0002.0068][.0000.007A.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW; QQCM
-1E24 ; [.108D.0020.0008.0048][.0000.007A.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW; QQCM
-1E2B ; [.108D.0020.0002.0068][.0000.0087.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW; QQCM
-1E2A ; [.108D.0020.0008.0048][.0000.0087.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW; QQCM
-1E96 ; [.108D.0020.0002.0068][.0000.008A.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW; QQCM
-0127 ; [.108D.0020.0002.0068][.0000.008D.0002.0335] # LATIN SMALL LETTER H WITH STROKE; QQCM
-210F ; [.108D.0020.0002.210F][.0000.008D.0002.210F] # PLANCK CONSTANT OVER TWO PI; QQKN
-0126 ; [.108D.0020.0008.0048][.0000.008D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE; QQCM
-33CA ; [.108D.0020.001C.33CA][.0FD0.0020.001C.33CA] # SQUARE HA; QQKN
-32CC ; [.108D.0020.001D.32CC][.106A.0020.001C.32CC] # SQUARE HG; QQKN
-33CB ; [.108D.0020.001D.33CB][.115D.0020.001D.33CB] # SQUARE HP; QQKN
-3371 ; [.108D.0020.001C.3371][.115D.0020.001D.3371][.0FD0.0020.001F.3371] # SQUARE HPA; QQKN
-3390 ; [.108D.0020.001D.3390][.1243.0020.001C.3390] # SQUARE HZ; QQKN
-029C ; [.1091.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
-0195 ; [.1095.0020.0002.0195] # LATIN SMALL LETTER HV
-01F6 ; [.1095.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
-0266 ; [.1099.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
-02B1 ; [.1099.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK; QQK
-2C68 ; [.109D.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
-2C67 ; [.109D.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
-2C76 ; [.109E.0020.0002.2C76] # LATIN SMALL LETTER HALF H
-2C75 ; [.109E.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
-0267 ; [.109F.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
-02BB ; [.10A3.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD ; [.10A4.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
-0069 ; [.10A5.0020.0002.0069] # LATIN SMALL LETTER I
-FF49 ; [.10A5.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I; QQK
-0365 ; [.10A5.0020.0004.0365] # COMBINING LATIN SMALL LETTER I; QQK
-2170 ; [.10A5.0020.0004.2170] # SMALL ROMAN NUMERAL ONE; QQK
-24A4 ; [*02B1.0020.0004.24A4][.10A5.0020.0004.24A4][*02B2.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I; QQKN
-2139 ; [.10A5.0020.0005.2139] # INFORMATION SOURCE; QQK
-2148 ; [.10A5.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I; QQK
-1D422 ; [.10A5.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I; QQK
-1D456 ; [.10A5.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I; QQK
-1D48A ; [.10A5.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I; QQK
-1D4BE ; [.10A5.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I; QQK
-1D4F2 ; [.10A5.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I; QQK
-1D526 ; [.10A5.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I; QQK
-1D55A ; [.10A5.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I; QQK
-1D58E ; [.10A5.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I; QQK
-1D5C2 ; [.10A5.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I; QQK
-1D5F6 ; [.10A5.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I; QQK
-1D62A ; [.10A5.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I; QQK
-1D65E ; [.10A5.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I; QQK
-1D692 ; [.10A5.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I; QQK
-24D8 ; [.10A5.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I; QQK
-0049 ; [.10A5.0020.0008.0049] # LATIN CAPITAL LETTER I
-FF29 ; [.10A5.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I; QQK
-2160 ; [.10A5.0020.000A.2160] # ROMAN NUMERAL ONE; QQK
-2110 ; [.10A5.0020.000B.2110] # SCRIPT CAPITAL I; QQK
-2111 ; [.10A5.0020.000B.2111] # BLACK-LETTER CAPITAL I; QQK
-1D408 ; [.10A5.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I; QQK
-1D43C ; [.10A5.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I; QQK
-1D470 ; [.10A5.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I; QQK
-1D4D8 ; [.10A5.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I; QQK
-1D540 ; [.10A5.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I; QQK
-1D574 ; [.10A5.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I; QQK
-1D5A8 ; [.10A5.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I; QQK
-1D5DC ; [.10A5.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I; QQK
-1D610 ; [.10A5.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I; QQK
-1D644 ; [.10A5.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I; QQK
-1D678 ; [.10A5.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I; QQK
-24BE ; [.10A5.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I; QQK
-2071 ; [.10A5.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I; QQK
-1D62 ; [.10A5.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I; QQK
-1D35 ; [.10A5.0020.001D.1D35] # MODIFIER LETTER CAPITAL I; QQK
-00ED ; [.10A5.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE; QQCM
-00CD ; [.10A5.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE; QQCM
-00EC ; [.10A5.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE; QQCM
-00CC ; [.10A5.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE; QQCM
-012D ; [.10A5.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE; QQCM
-012C ; [.10A5.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE; QQCM
-00EE ; [.10A5.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX; QQCM
-00CE ; [.10A5.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX; QQCM
-01D0 ; [.10A5.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON; QQCM
-01CF ; [.10A5.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON; QQCM
-00EF ; [.10A5.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS; QQCM
-00CF ; [.10A5.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS; QQCM
-1E2F ; [.10A5.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE; QQCM
-1E2E ; [.10A5.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE; QQCM
-0129 ; [.10A5.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE; QQCM
-0128 ; [.10A5.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE; QQCM
-0130 ; [.10A5.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE; QQCM
-012F ; [.10A5.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK; QQCM
-012E ; [.10A5.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK; QQCM
-012B ; [.10A5.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON; QQCM
-012A ; [.10A5.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON; QQCM
-1EC9 ; [.10A5.0020.0002.0069][.0000.0060.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE; QQCM
-1EC8 ; [.10A5.0020.0008.0049][.0000.0060.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE; QQCM
-0209 ; [.10A5.0020.0002.0069][.0000.0063.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE; QQCM
-0208 ; [.10A5.0020.0008.0049][.0000.0063.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE; QQCM
-020B ; [.10A5.0020.0002.0069][.0000.0065.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE; QQCM
-020A ; [.10A5.0020.0008.0049][.0000.0065.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE; QQCM
-1ECB ; [.10A5.0020.0002.0069][.0000.007A.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW; QQCM
-1ECA ; [.10A5.0020.0008.0049][.0000.007A.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW; QQCM
-1E2D ; [.10A5.0020.0002.0069][.0000.0089.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW; QQCM
-1E2C ; [.10A5.0020.0008.0049][.0000.0089.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW; QQCM
-2171 ; [.10A5.0020.0004.2171][.10A5.0020.0004.2171] # SMALL ROMAN NUMERAL TWO; QQKN
-2161 ; [.10A5.0020.000A.2161][.10A5.0020.000A.2161] # ROMAN NUMERAL TWO; QQKN
-2172 ; [.10A5.0020.0004.2172][.10A5.0020.0004.2172][.10A5.0020.001F.2172] # SMALL ROMAN NUMERAL THREE; QQKN
-2162 ; [.10A5.0020.000A.2162][.10A5.0020.000A.2162][.10A5.0020.001F.2162] # ROMAN NUMERAL THREE; QQKN
-0133 ; [.10A5.0020.0004.0133][.10BD.0020.0004.0133] # LATIN SMALL LIGATURE IJ; QQKN
-0132 ; [.10A5.0020.000A.0132][.10BD.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ; QQKN
-33CC ; [.10A5.0020.001C.33CC][.111B.0020.001C.33CC] # SQUARE IN; QQKN
-337A ; [.10A5.0020.001D.337A][.11EE.0020.001D.337A] # SQUARE IU; QQKN
-2173 ; [.10A5.0020.0004.2173][.1216.0020.0004.2173] # SMALL ROMAN NUMERAL FOUR; QQKN
-2163 ; [.10A5.0020.000A.2163][.1216.0020.000A.2163] # ROMAN NUMERAL FOUR; QQKN
-2178 ; [.10A5.0020.0004.2178][.122E.0020.0004.2178] # SMALL ROMAN NUMERAL NINE; QQKN
-2168 ; [.10A5.0020.000A.2168][.122E.0020.000A.2168] # ROMAN NUMERAL NINE; QQKN
-0131 ; [.10A9.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-1D6A4 ; [.10A9.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I; QQK
-026A ; [.10AD.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
-1DA6 ; [.10AD.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I; QQK
-1D09 ; [.10B1.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
-1D4E ; [.10B1.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I; QQK
-0268 ; [.10B2.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
-0197 ; [.10B2.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
-1DA4 ; [.10B2.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE; QQK
-1D7B ; [.10B6.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1DA7 ; [.10B6.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE; QQK
-1D96 ; [.10B7.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-0269 ; [.10B8.0020.0002.0269] # LATIN SMALL LETTER IOTA
-0196 ; [.10B8.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
-1DA5 ; [.10B8.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA; QQK
-1D7C ; [.10BC.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
-006A ; [.10BD.0020.0002.006A] # LATIN SMALL LETTER J
-FF4A ; [.10BD.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J; QQK
-24A5 ; [*02B1.0020.0004.24A5][.10BD.0020.0004.24A5][*02B2.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J; QQKN
-2149 ; [.10BD.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J; QQK
-1D423 ; [.10BD.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J; QQK
-1D457 ; [.10BD.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J; QQK
-1D48B ; [.10BD.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J; QQK
-1D4BF ; [.10BD.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J; QQK
-1D4F3 ; [.10BD.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J; QQK
-1D527 ; [.10BD.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J; QQK
-1D55B ; [.10BD.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J; QQK
-1D58F ; [.10BD.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J; QQK
-1D5C3 ; [.10BD.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J; QQK
-1D5F7 ; [.10BD.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J; QQK
-1D62B ; [.10BD.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J; QQK
-1D65F ; [.10BD.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J; QQK
-1D693 ; [.10BD.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J; QQK
-24D9 ; [.10BD.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J; QQK
-004A ; [.10BD.0020.0008.004A] # LATIN CAPITAL LETTER J
-FF2A ; [.10BD.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J; QQK
-1D409 ; [.10BD.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J; QQK
-1D43D ; [.10BD.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J; QQK
-1D471 ; [.10BD.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J; QQK
-1D4A5 ; [.10BD.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J; QQK
-1D4D9 ; [.10BD.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J; QQK
-1D50D ; [.10BD.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J; QQK
-1D541 ; [.10BD.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J; QQK
-1D575 ; [.10BD.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J; QQK
-1D5A9 ; [.10BD.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J; QQK
-1D5DD ; [.10BD.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J; QQK
-1D611 ; [.10BD.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J; QQK
-1D645 ; [.10BD.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J; QQK
-1D679 ; [.10BD.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J; QQK
-24BF ; [.10BD.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J; QQK
-02B2 ; [.10BD.0020.0014.02B2] # MODIFIER LETTER SMALL J; QQK
-1D36 ; [.10BD.0020.001D.1D36] # MODIFIER LETTER CAPITAL J; QQK
-0135 ; [.10BD.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX; QQCM
-0134 ; [.10BD.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX; QQCM
-01F0 ; [.10BD.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON; QQCM
-0237 ; [.10C1.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
-1D6A5 ; [.10C1.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J; QQK
-1D0A ; [.10C5.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
-0249 ; [.10C6.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
-0248 ; [.10C6.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
-029D ; [.10CA.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
-1DA8 ; [.10CA.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL; QQK
-025F ; [.10CE.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
-1DA1 ; [.10CE.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE; QQK
-0284 ; [.10D2.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-006B ; [.10D6.0020.0002.006B] # LATIN SMALL LETTER K
-FF4B ; [.10D6.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K; QQK
-24A6 ; [*02B1.0020.0004.24A6][.10D6.0020.0004.24A6][*02B2.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K; QQKN
-1D424 ; [.10D6.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K; QQK
-1D458 ; [.10D6.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K; QQK
-1D48C ; [.10D6.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K; QQK
-1D4C0 ; [.10D6.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K; QQK
-1D4F4 ; [.10D6.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K; QQK
-1D528 ; [.10D6.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K; QQK
-1D55C ; [.10D6.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K; QQK
-1D590 ; [.10D6.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K; QQK
-1D5C4 ; [.10D6.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K; QQK
-1D5F8 ; [.10D6.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K; QQK
-1D62C ; [.10D6.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K; QQK
-1D660 ; [.10D6.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K; QQK
-1D694 ; [.10D6.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K; QQK
-24DA ; [.10D6.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K; QQK
-004B ; [.10D6.0020.0008.004B] # LATIN CAPITAL LETTER K
-212A ; [.10D6.0020.0008.212A] # KELVIN SIGN; QQC
-FF2B ; [.10D6.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K; QQK
-1D40A ; [.10D6.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K; QQK
-1D43E ; [.10D6.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K; QQK
-1D472 ; [.10D6.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K; QQK
-1D4A6 ; [.10D6.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K; QQK
-1D4DA ; [.10D6.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K; QQK
-1D50E ; [.10D6.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K; QQK
-1D542 ; [.10D6.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K; QQK
-1D576 ; [.10D6.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K; QQK
-1D5AA ; [.10D6.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K; QQK
-1D5DE ; [.10D6.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K; QQK
-1D612 ; [.10D6.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K; QQK
-1D646 ; [.10D6.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K; QQK
-1D67A ; [.10D6.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K; QQK
-24C0 ; [.10D6.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K; QQK
-1D4F ; [.10D6.0020.0014.1D4F] # MODIFIER LETTER SMALL K; QQK
-1D37 ; [.10D6.0020.001D.1D37] # MODIFIER LETTER CAPITAL K; QQK
-1E31 ; [.10D6.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE; QQCM
-1E30 ; [.10D6.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE; QQCM
-01E9 ; [.10D6.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON; QQCM
-01E8 ; [.10D6.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON; QQCM
-0137 ; [.10D6.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA; QQCM
-0136 ; [.10D6.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA; QQCM
-1E33 ; [.10D6.0020.0002.006B][.0000.007A.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW; QQCM
-1E32 ; [.10D6.0020.0008.004B][.0000.007A.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW; QQCM
-1E35 ; [.10D6.0020.0002.006B][.0000.008A.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW; QQCM
-1E34 ; [.10D6.0020.0008.004B][.0000.008A.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW; QQCM
-3384 ; [.10D6.0020.001C.3384][.0FD0.0020.001D.3384] # SQUARE KA; QQKN
-3385 ; [.10D6.0020.001D.3385][.0FE6.0020.001D.3385] # SQUARE KB; QQKN
-3389 ; [.10D6.0020.001C.3389][.0FFE.0020.001C.3389][.0FD0.0020.001F.3389][.10E5.0020.001F.3389] # SQUARE KCAL; QQKN
-338F ; [.10D6.0020.001C.338F][.106A.0020.001C.338F] # SQUARE KG; QQKN
-3391 ; [.10D6.0020.001C.3391][.108D.0020.001D.3391][.1243.0020.001F.3391] # SQUARE KHZ; QQKN
-33CD ; [.10D6.0020.001D.33CD][.10D6.0020.001D.33CD] # SQUARE KK; QQKN
-3398 ; [.10D6.0020.001C.3398][.10E5.0020.001C.3398] # SQUARE KL; QQKN
-339E ; [.10D6.0020.001C.339E][.1110.0020.001C.339E] # SQUARE KM; QQKN
-33CE ; [.10D6.0020.001D.33CE][.1110.0020.001D.33CE] # SQUARE KM CAPITAL; QQKN
-33A2 ; [.10D6.0020.001C.33A2][.1110.0020.001C.33A2][.0FC8.0020.001F.33A2] # SQUARE KM SQUARED; QQKN
-33A6 ; [.10D6.0020.001C.33A6][.1110.0020.001C.33A6][.0FC9.0020.001F.33A6] # SQUARE KM CUBED; QQKN
-33AA ; [.10D6.0020.001C.33AA][.115D.0020.001D.33AA][.0FD0.0020.001F.33AA] # SQUARE KPA; QQKN
-33CF ; [.10D6.0020.001C.33CF][.11CF.0020.001C.33CF] # SQUARE KT; QQKN
-33B8 ; [.10D6.0020.001C.33B8][.1216.0020.001D.33B8] # SQUARE KV; QQKN
-33BE ; [.10D6.0020.001C.33BE][.1225.0020.001D.33BE] # SQUARE KW; QQKN
-33C0 ; [.10D6.0020.001C.33C0][.12F3.0020.001D.33C0] # SQUARE K OHM; QQKN
-1D0B ; [.10DA.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
-1D84 ; [.10DB.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
-0199 ; [.10DC.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
-0198 ; [.10DC.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
-2C6A ; [.10E0.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
-2C69 ; [.10E0.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
-029E ; [.10E1.0020.0002.029E] # LATIN SMALL LETTER TURNED K
-006C ; [.10E5.0020.0002.006C] # LATIN SMALL LETTER L
-FF4C ; [.10E5.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L; QQK
-217C ; [.10E5.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY; QQK
-24A7 ; [*02B1.0020.0004.24A7][.10E5.0020.0004.24A7][*02B2.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L; QQKN
-2113 ; [.10E5.0020.0005.2113] # SCRIPT SMALL L; QQK
-1D425 ; [.10E5.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L; QQK
-1D459 ; [.10E5.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L; QQK
-1D48D ; [.10E5.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L; QQK
-1D4C1 ; [.10E5.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L; QQK
-1D4F5 ; [.10E5.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L; QQK
-1D529 ; [.10E5.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L; QQK
-1D55D ; [.10E5.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L; QQK
-1D591 ; [.10E5.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L; QQK
-1D5C5 ; [.10E5.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L; QQK
-1D5F9 ; [.10E5.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L; QQK
-1D62D ; [.10E5.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L; QQK
-1D661 ; [.10E5.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L; QQK
-1D695 ; [.10E5.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L; QQK
-24DB ; [.10E5.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L; QQK
-004C ; [.10E5.0020.0008.004C] # LATIN CAPITAL LETTER L
-FF2C ; [.10E5.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L; QQK
-216C ; [.10E5.0020.000A.216C] # ROMAN NUMERAL FIFTY; QQK
-2112 ; [.10E5.0020.000B.2112] # SCRIPT CAPITAL L; QQK
-1D40B ; [.10E5.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L; QQK
-1D43F ; [.10E5.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L; QQK
-1D473 ; [.10E5.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L; QQK
-1D4DB ; [.10E5.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L; QQK
-1D50F ; [.10E5.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L; QQK
-1D543 ; [.10E5.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L; QQK
-1D577 ; [.10E5.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L; QQK
-1D5AB ; [.10E5.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L; QQK
-1D5DF ; [.10E5.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L; QQK
-1D613 ; [.10E5.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L; QQK
-1D647 ; [.10E5.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L; QQK
-1D67B ; [.10E5.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L; QQK
-24C1 ; [.10E5.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L; QQK
-02E1 ; [.10E5.0020.0014.02E1] # MODIFIER LETTER SMALL L; QQK
-1D38 ; [.10E5.0020.001D.1D38] # MODIFIER LETTER CAPITAL L; QQK
-013A ; [.10E5.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE; QQCM
-0139 ; [.10E5.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE; QQCM
-013E ; [.10E5.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON; QQCM
-013D ; [.10E5.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON; QQCM
-013C ; [.10E5.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA; QQCM
-013B ; [.10E5.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA; QQCM
-1E37 ; [.10E5.0020.0002.006C][.0000.007A.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW; QQCM
-1E36 ; [.10E5.0020.0008.004C][.0000.007A.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW; QQCM
-1E39 ; [.10E5.0020.0002.006C][.0000.007A.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON; QQCM
-1E38 ; [.10E5.0020.0008.004C][.0000.007A.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON; QQCM
-1E3D ; [.10E5.0020.0002.006C][.0000.0086.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW; QQCM
-1E3C ; [.10E5.0020.0008.004C][.0000.0086.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW; QQCM
-1E3B ; [.10E5.0020.0002.006C][.0000.008A.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW; QQCM
-1E3A ; [.10E5.0020.0008.004C][.0000.008A.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW; QQCM
-0142 ; [.10E5.0020.0002.006C][.0000.008D.0002.0335] # LATIN SMALL LETTER L WITH STROKE; QQCM
-0141 ; [.10E5.0020.0008.004C][.0000.008D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE; QQCM
-0140 ; [.10E5.0020.0004.0140][.0000.0199.0004.0140][*0273.0020.001F.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT; QQKN
-013F ; [.10E5.0020.000A.013F][.0000.0199.0004.013F][*0273.0020.001F.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT; QQKN
-01C9 ; [.10E5.0020.0004.01C9][.10BD.0020.0004.01C9] # LATIN SMALL LETTER LJ; QQKN
-01C8 ; [.10E5.0020.000A.01C8][.10BD.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J; QQKN
-01C7 ; [.10E5.0020.000A.01C7][.10BD.0020.000A.01C7] # LATIN CAPITAL LETTER LJ; QQKN
-33D0 ; [.10E5.0020.001C.33D0][.1110.0020.001C.33D0] # SQUARE LM; QQKN
-33D1 ; [.10E5.0020.001C.33D1][.111B.0020.001C.33D1] # SQUARE LN; QQKN
-33D2 ; [.10E5.0020.001C.33D2][.113B.0020.001C.33D2][.106A.0020.001F.33D2] # SQUARE LOG; QQKN
-02AA ; [.10E5.0020.0004.02AA][.11AF.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH; QQKN
-32CF ; [.10E5.0020.001D.32CF][.11CF.0020.001D.32CF][.1010.0020.001F.32CF] # LIMITED LIABILITY SIGN; QQKN
-33D3 ; [.10E5.0020.001C.33D3][.122E.0020.001C.33D3] # SQUARE LX; QQKN
-02AB ; [.10E5.0020.0004.02AB][.1243.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH; QQKN
-029F ; [.10E9.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
-1DAB ; [.10E9.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L; QQK
-1D0C ; [.10ED.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
-019A ; [.10EE.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
-023D ; [.10EE.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
-2C61 ; [.10F2.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C60 ; [.10F2.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-026B ; [.10F3.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
-2C62 ; [.10F3.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-026C ; [.10F7.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
-1D85 ; [.10FB.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
-1DAA ; [.10FB.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK; QQK
-026D ; [.10FC.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-1DA9 ; [.10FC.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK; QQK
-0234 ; [.1100.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
-026E ; [.1104.0020.0002.026E] # LATIN SMALL LETTER LEZH
-019B ; [.1108.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
-028E ; [.110C.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
-006D ; [.1110.0020.0002.006D] # LATIN SMALL LETTER M
-FF4D ; [.1110.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M; QQK
-036B ; [.1110.0020.0004.036B] # COMBINING LATIN SMALL LETTER M; QQK
-217F ; [.1110.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND; QQK
-24A8 ; [*02B1.0020.0004.24A8][.1110.0020.0004.24A8][*02B2.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M; QQKN
-1D426 ; [.1110.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M; QQK
-1D45A ; [.1110.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M; QQK
-1D48E ; [.1110.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M; QQK
-1D4C2 ; [.1110.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M; QQK
-1D4F6 ; [.1110.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M; QQK
-1D52A ; [.1110.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M; QQK
-1D55E ; [.1110.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M; QQK
-1D592 ; [.1110.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M; QQK
-1D5C6 ; [.1110.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M; QQK
-1D5FA ; [.1110.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M; QQK
-1D62E ; [.1110.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M; QQK
-1D662 ; [.1110.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M; QQK
-1D696 ; [.1110.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M; QQK
-24DC ; [.1110.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M; QQK
-004D ; [.1110.0020.0008.004D] # LATIN CAPITAL LETTER M
-FF2D ; [.1110.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M; QQK
-216F ; [.1110.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND; QQK
-2133 ; [.1110.0020.000B.2133] # SCRIPT CAPITAL M; QQK
-1D40C ; [.1110.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M; QQK
-1D440 ; [.1110.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M; QQK
-1D474 ; [.1110.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M; QQK
-1D4DC ; [.1110.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M; QQK
-1D510 ; [.1110.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M; QQK
-1D544 ; [.1110.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M; QQK
-1D578 ; [.1110.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M; QQK
-1D5AC ; [.1110.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M; QQK
-1D5E0 ; [.1110.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M; QQK
-1D614 ; [.1110.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M; QQK
-1D648 ; [.1110.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M; QQK
-1D67C ; [.1110.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M; QQK
-24C2 ; [.1110.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M; QQK
-1D50 ; [.1110.0020.0014.1D50] # MODIFIER LETTER SMALL M; QQK
-1D39 ; [.1110.0020.001D.1D39] # MODIFIER LETTER CAPITAL M; QQK
-1E3F ; [.1110.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE; QQCM
-1E3E ; [.1110.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE; QQCM
-1E41 ; [.1110.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE; QQCM
-1E40 ; [.1110.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE; QQCM
-1E43 ; [.1110.0020.0002.006D][.0000.007A.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW; QQCM
-1E42 ; [.1110.0020.0008.004D][.0000.007A.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW; QQCM
-33A1 ; [.1110.0020.001C.33A1][.0FC8.0020.001C.33A1] # SQUARE M SQUARED; QQKN
-33A5 ; [.1110.0020.001C.33A5][.0FC9.0020.001C.33A5] # SQUARE M CUBED; QQKN
-3383 ; [.1110.0020.001C.3383][.0FD0.0020.001D.3383] # SQUARE MA; QQKN
-33D4 ; [.1110.0020.001C.33D4][.0FE6.0020.001C.33D4] # SQUARE MB SMALL; QQKN
-3386 ; [.1110.0020.001D.3386][.0FE6.0020.001D.3386] # SQUARE MB; QQKN
-338E ; [.1110.0020.001C.338E][.106A.0020.001C.338E] # SQUARE MG; QQKN
-3392 ; [.1110.0020.001D.3392][.108D.0020.001D.3392][.1243.0020.001F.3392] # SQUARE MHZ; QQKN
-33D5 ; [.1110.0020.001C.33D5][.10A5.0020.001C.33D5][.10E5.0020.001F.33D5] # SQUARE MIL; QQKN
-3396 ; [.1110.0020.001C.3396][.10E5.0020.001C.3396] # SQUARE ML; QQKN
-339C ; [.1110.0020.001C.339C][.1110.0020.001C.339C] # SQUARE MM; QQKN
-339F ; [.1110.0020.001C.339F][.1110.0020.001C.339F][.0FC8.0020.001F.339F] # SQUARE MM SQUARED; QQKN
-33A3 ; [.1110.0020.001C.33A3][.1110.0020.001C.33A3][.0FC9.0020.001F.33A3] # SQUARE MM CUBED; QQKN
-33D6 ; [.1110.0020.001C.33D6][.113B.0020.001C.33D6][.10E5.0020.001F.33D6] # SQUARE MOL; QQKN
-33AB ; [.1110.0020.001D.33AB][.115D.0020.001D.33AB][.0FD0.0020.001F.33AB] # SQUARE MPA; QQKN
-33B3 ; [.1110.0020.001C.33B3][.11AF.0020.001C.33B3] # SQUARE MS; QQKN
-33A7 ; [.1110.0020.001C.33A7][*04C7.0020.001C.33A7][.11AF.0020.001F.33A7] # SQUARE M OVER S; QQKN
-33A8 ; [.1110.0020.001C.33A8][*04C7.0020.001C.33A8][.11AF.0020.001F.33A8][.0FC8.0020.001F.33A8] # SQUARE M OVER S SQUARED; QQKN
-33B7 ; [.1110.0020.001C.33B7][.1216.0020.001D.33B7] # SQUARE MV; QQKN
-33B9 ; [.1110.0020.001D.33B9][.1216.0020.001D.33B9] # SQUARE MV MEGA; QQKN
-33BD ; [.1110.0020.001C.33BD][.1225.0020.001D.33BD] # SQUARE MW; QQKN
-33BF ; [.1110.0020.001D.33BF][.1225.0020.001D.33BF] # SQUARE MW MEGA; QQKN
-33C1 ; [.1110.0020.001D.33C1][.12F3.0020.001D.33C1] # SQUARE M OHM; QQKN
-1D0D ; [.1114.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
-1D6F ; [.1115.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D86 ; [.1116.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
-0271 ; [.1117.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
-1DAC ; [.1117.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK; QQK
-006E ; [.111B.0020.0002.006E] # LATIN SMALL LETTER N
-FF4E ; [.111B.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N; QQK
-24A9 ; [*02B1.0020.0004.24A9][.111B.0020.0004.24A9][*02B2.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N; QQKN
-1D427 ; [.111B.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N; QQK
-1D45B ; [.111B.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N; QQK
-1D48F ; [.111B.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N; QQK
-1D4C3 ; [.111B.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N; QQK
-1D4F7 ; [.111B.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N; QQK
-1D52B ; [.111B.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N; QQK
-1D55F ; [.111B.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N; QQK
-1D593 ; [.111B.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N; QQK
-1D5C7 ; [.111B.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N; QQK
-1D5FB ; [.111B.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N; QQK
-1D62F ; [.111B.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N; QQK
-1D663 ; [.111B.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N; QQK
-1D697 ; [.111B.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N; QQK
-24DD ; [.111B.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N; QQK
-004E ; [.111B.0020.0008.004E] # LATIN CAPITAL LETTER N
-FF2E ; [.111B.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N; QQK
-2115 ; [.111B.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N; QQK
-1D40D ; [.111B.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N; QQK
-1D441 ; [.111B.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N; QQK
-1D475 ; [.111B.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N; QQK
-1D4A9 ; [.111B.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N; QQK
-1D4DD ; [.111B.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N; QQK
-1D511 ; [.111B.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N; QQK
-1D579 ; [.111B.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N; QQK
-1D5AD ; [.111B.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N; QQK
-1D5E1 ; [.111B.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N; QQK
-1D615 ; [.111B.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N; QQK
-1D649 ; [.111B.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N; QQK
-1D67D ; [.111B.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N; QQK
-24C3 ; [.111B.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N; QQK
-207F ; [.111B.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N; QQK
-1D3A ; [.111B.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N; QQK
-0144 ; [.111B.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE; QQCM
-0143 ; [.111B.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE; QQCM
-01F9 ; [.111B.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE; QQCM
-01F8 ; [.111B.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE; QQCM
-0148 ; [.111B.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON; QQCM
-0147 ; [.111B.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON; QQCM
-00F1 ; [.111B.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE; QQCM
-00D1 ; [.111B.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE; QQCM
-1E45 ; [.111B.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE; QQCM
-1E44 ; [.111B.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE; QQCM
-0146 ; [.111B.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA; QQCM
-0145 ; [.111B.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA; QQCM
-1E47 ; [.111B.0020.0002.006E][.0000.007A.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW; QQCM
-1E46 ; [.111B.0020.0008.004E][.0000.007A.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW; QQCM
-1E4B ; [.111B.0020.0002.006E][.0000.0086.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW; QQCM
-1E4A ; [.111B.0020.0008.004E][.0000.0086.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW; QQCM
-1E49 ; [.111B.0020.0002.006E][.0000.008A.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW; QQCM
-1E48 ; [.111B.0020.0008.004E][.0000.008A.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW; QQCM
-3381 ; [.111B.0020.001C.3381][.0FD0.0020.001D.3381] # SQUARE NA; QQKN
-338B ; [.111B.0020.001C.338B][.105F.0020.001D.338B] # SQUARE NF; QQKN
-01CC ; [.111B.0020.0004.01CC][.10BD.0020.0004.01CC] # LATIN SMALL LETTER NJ; QQKN
-01CB ; [.111B.0020.000A.01CB][.10BD.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J; QQKN
-01CA ; [.111B.0020.000A.01CA][.10BD.0020.000A.01CA] # LATIN CAPITAL LETTER NJ; QQKN
-339A ; [.111B.0020.001C.339A][.1110.0020.001C.339A] # SQUARE NM; QQKN
-2116 ; [.111B.0020.000A.2116][.113B.0020.0004.2116] # NUMERO SIGN; QQKN
-33B1 ; [.111B.0020.001C.33B1][.11AF.0020.001C.33B1] # SQUARE NS; QQKN
-33B5 ; [.111B.0020.001C.33B5][.1216.0020.001D.33B5] # SQUARE NV; QQKN
-33BB ; [.111B.0020.001C.33BB][.1225.0020.001D.33BB] # SQUARE NW; QQKN
-0274 ; [.111F.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
-1DB0 ; [.111F.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N; QQK
-1D3B ; [.1123.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
-1D0E ; [.1124.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
-1D70 ; [.1125.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
-0272 ; [.1126.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
-019D ; [.1126.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
-1DAE ; [.1126.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK; QQK
-019E ; [.112A.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-0220 ; [.112A.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-1D87 ; [.112E.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
-0273 ; [.112F.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-1DAF ; [.112F.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK; QQK
-0235 ; [.1133.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
-014B ; [.1137.0020.0002.014B] # LATIN SMALL LETTER ENG
-014A ; [.1137.0020.0008.014A] # LATIN CAPITAL LETTER ENG
-1D51 ; [.1137.0020.0014.1D51] # MODIFIER LETTER SMALL ENG; QQK
-006F ; [.113B.0020.0002.006F] # LATIN SMALL LETTER O
-FF4F ; [.113B.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O; QQK
-0366 ; [.113B.0020.0004.0366] # COMBINING LATIN SMALL LETTER O; QQK
-24AA ; [*02B1.0020.0004.24AA][.113B.0020.0004.24AA][*02B2.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O; QQKN
-2134 ; [.113B.0020.0005.2134] # SCRIPT SMALL O; QQK
-1D428 ; [.113B.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O; QQK
-1D45C ; [.113B.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O; QQK
-1D490 ; [.113B.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O; QQK
-1D4F8 ; [.113B.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O; QQK
-1D52C ; [.113B.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O; QQK
-1D560 ; [.113B.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O; QQK
-1D594 ; [.113B.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O; QQK
-1D5C8 ; [.113B.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O; QQK
-1D5FC ; [.113B.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O; QQK
-1D630 ; [.113B.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O; QQK
-1D664 ; [.113B.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O; QQK
-1D698 ; [.113B.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O; QQK
-24DE ; [.113B.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O; QQK
-004F ; [.113B.0020.0008.004F] # LATIN CAPITAL LETTER O
-FF2F ; [.113B.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O; QQK
-1D40E ; [.113B.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O; QQK
-1D442 ; [.113B.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O; QQK
-1D476 ; [.113B.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O; QQK
-1D4AA ; [.113B.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O; QQK
-1D4DE ; [.113B.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O; QQK
-1D512 ; [.113B.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O; QQK
-1D546 ; [.113B.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O; QQK
-1D57A ; [.113B.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O; QQK
-1D5AE ; [.113B.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O; QQK
-1D5E2 ; [.113B.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O; QQK
-1D616 ; [.113B.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O; QQK
-1D64A ; [.113B.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O; QQK
-1D67E ; [.113B.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O; QQK
-24C4 ; [.113B.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O; QQK
-00BA ; [.113B.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR; QQK
-1D52 ; [.113B.0020.0014.1D52] # MODIFIER LETTER SMALL O; QQK
-2092 ; [.113B.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O; QQK
-1D3C ; [.113B.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O; QQK
-00F3 ; [.113B.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE; QQCM
-00D3 ; [.113B.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE; QQCM
-00F2 ; [.113B.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE; QQCM
-00D2 ; [.113B.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE; QQCM
-014F ; [.113B.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE; QQCM
-014E ; [.113B.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE; QQCM
-00F4 ; [.113B.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX; QQCM
-00D4 ; [.113B.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX; QQCM
-1ED1 ; [.113B.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
-1ED0 ; [.113B.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
-1ED3 ; [.113B.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
-1ED2 ; [.113B.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
-1ED7 ; [.113B.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
-1ED6 ; [.113B.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
-1ED5 ; [.113B.0020.0002.006F][.0000.003C.0002.0302][.0000.0060.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1ED4 ; [.113B.0020.0008.004F][.0000.003C.0002.0302][.0000.0060.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-01D2 ; [.113B.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON; QQCM
-01D1 ; [.113B.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON; QQCM
-00F6 ; [.113B.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS; QQCM
-00D6 ; [.113B.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS; QQCM
-022B ; [.113B.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON; QQCM
-022A ; [.113B.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON; QQCM
-0151 ; [.113B.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE; QQCM
-0150 ; [.113B.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE; QQCM
-00F5 ; [.113B.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE; QQCM
-00D5 ; [.113B.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE; QQCM
-1E4D ; [.113B.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE; QQCM
-1E4C ; [.113B.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE; QQCM
-1E4F ; [.113B.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS; QQCM
-1E4E ; [.113B.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS; QQCM
-022D ; [.113B.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON; QQCM
-022C ; [.113B.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON; QQCM
-022F ; [.113B.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE; QQCM
-022E ; [.113B.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE; QQCM
-0231 ; [.113B.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON; QQCM
-0230 ; [.113B.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON; QQCM
-00F8 ; [.113B.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE; QQCM
-00D8 ; [.113B.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE; QQCM
-01FF ; [.113B.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE; QQCM
-01FE ; [.113B.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE; QQCM
-01EB ; [.113B.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK; QQCM
-01EA ; [.113B.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK; QQCM
-01ED ; [.113B.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON; QQCM
-01EC ; [.113B.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON; QQCM
-014D ; [.113B.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON; QQCM
-014C ; [.113B.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON; QQCM
-1E53 ; [.113B.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE; QQCM
-1E52 ; [.113B.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE; QQCM
-1E51 ; [.113B.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE; QQCM
-1E50 ; [.113B.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE; QQCM
-1ECF ; [.113B.0020.0002.006F][.0000.0060.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE; QQCM
-1ECE ; [.113B.0020.0008.004F][.0000.0060.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE; QQCM
-020D ; [.113B.0020.0002.006F][.0000.0063.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE; QQCM
-020C ; [.113B.0020.0008.004F][.0000.0063.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE; QQCM
-020F ; [.113B.0020.0002.006F][.0000.0065.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE; QQCM
-020E ; [.113B.0020.0008.004F][.0000.0065.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE; QQCM
-01A1 ; [.113B.0020.0002.006F][.0000.006D.0002.031B] # LATIN SMALL LETTER O WITH HORN; QQCM
-01A0 ; [.113B.0020.0008.004F][.0000.006D.0002.031B] # LATIN CAPITAL LETTER O WITH HORN; QQCM
-1EDB ; [.113B.0020.0002.006F][.0000.006D.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE; QQCM
-1EDA ; [.113B.0020.0008.004F][.0000.006D.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE; QQCM
-1EDD ; [.113B.0020.0002.006F][.0000.006D.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE; QQCM
-1EDC ; [.113B.0020.0008.004F][.0000.006D.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE; QQCM
-1EE1 ; [.113B.0020.0002.006F][.0000.006D.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE; QQCM
-1EE0 ; [.113B.0020.0008.004F][.0000.006D.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE; QQCM
-1EDF ; [.113B.0020.0002.006F][.0000.006D.0002.031B][.0000.0060.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE; QQCM
-1EDE ; [.113B.0020.0008.004F][.0000.006D.0002.031B][.0000.0060.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE; QQCM
-1EE3 ; [.113B.0020.0002.006F][.0000.006D.0002.031B][.0000.007A.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW; QQCM
-1EE2 ; [.113B.0020.0008.004F][.0000.006D.0002.031B][.0000.007A.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW; QQCM
-1ECD ; [.113B.0020.0002.006F][.0000.007A.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW; QQCM
-1ECC ; [.113B.0020.0008.004F][.0000.007A.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW; QQCM
-1ED9 ; [.113B.0020.0002.006F][.0000.007A.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1ED8 ; [.113B.0020.0008.004F][.0000.007A.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
-0153 ; [.113B.0020.0004.0153][.0000.0199.0004.0153][.1029.0020.001F.0153] # LATIN SMALL LIGATURE OE; QQKN
-0152 ; [.113B.0020.000A.0152][.0000.0199.0004.0152][.1029.0020.001F.0152] # LATIN CAPITAL LIGATURE OE; QQKN
-3375 ; [.113B.0020.001C.3375][.1216.0020.001D.3375] # SQUARE OV; QQKN
-1D0F ; [.113F.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
-1D11 ; [.1140.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
-0276 ; [.1141.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
-1D14 ; [.1145.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
-1D13 ; [.1146.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-0254 ; [.1147.0020.0002.0254] # LATIN SMALL LETTER OPEN O
-0186 ; [.1147.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
-1D53 ; [.1147.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O; QQK
-1D10 ; [.114B.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
-1D12 ; [.114C.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
-1D97 ; [.114D.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-1D16 ; [.114E.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
-1D54 ; [.114E.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O; QQK
-1D17 ; [.114F.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
-1D55 ; [.114F.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O; QQK
-0275 ; [.1150.0020.0002.0275] # LATIN SMALL LETTER BARRED O
-019F ; [.1150.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-1DB1 ; [.1150.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O; QQK
-0277 ; [.1154.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
-0223 ; [.1158.0020.0002.0223] # LATIN SMALL LETTER OU
-0222 ; [.1158.0020.0008.0222] # LATIN CAPITAL LETTER OU
-1D3D ; [.1158.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU; QQK
-1D15 ; [.115C.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
-0070 ; [.115D.0020.0002.0070] # LATIN SMALL LETTER P
-FF50 ; [.115D.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P; QQK
-24AB ; [*02B1.0020.0004.24AB][.115D.0020.0004.24AB][*02B2.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P; QQKN
-1D429 ; [.115D.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P; QQK
-1D45D ; [.115D.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P; QQK
-1D491 ; [.115D.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P; QQK
-1D4C5 ; [.115D.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P; QQK
-1D4F9 ; [.115D.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P; QQK
-1D52D ; [.115D.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P; QQK
-1D561 ; [.115D.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P; QQK
-1D595 ; [.115D.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P; QQK
-1D5C9 ; [.115D.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P; QQK
-1D5FD ; [.115D.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P; QQK
-1D631 ; [.115D.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P; QQK
-1D665 ; [.115D.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P; QQK
-1D699 ; [.115D.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P; QQK
-24DF ; [.115D.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P; QQK
-0050 ; [.115D.0020.0008.0050] # LATIN CAPITAL LETTER P
-FF30 ; [.115D.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P; QQK
-2119 ; [.115D.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P; QQK
-1D40F ; [.115D.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P; QQK
-1D443 ; [.115D.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P; QQK
-1D477 ; [.115D.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P; QQK
-1D4AB ; [.115D.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P; QQK
-1D4DF ; [.115D.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P; QQK
-1D513 ; [.115D.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P; QQK
-1D57B ; [.115D.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P; QQK
-1D5AF ; [.115D.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P; QQK
-1D5E3 ; [.115D.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P; QQK
-1D617 ; [.115D.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P; QQK
-1D64B ; [.115D.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P; QQK
-1D67F ; [.115D.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P; QQK
-24C5 ; [.115D.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P; QQK
-1D56 ; [.115D.0020.0014.1D56] # MODIFIER LETTER SMALL P; QQK
-1D3E ; [.115D.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P; QQK
-1E55 ; [.115D.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE; QQCM
-1E54 ; [.115D.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE; QQCM
-1E57 ; [.115D.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE; QQCM
-1E56 ; [.115D.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE; QQCM
-3380 ; [.115D.0020.001C.3380][.0FD0.0020.001D.3380] # SQUARE PA AMPS; QQKN
-33A9 ; [.115D.0020.001D.33A9][.0FD0.0020.001C.33A9] # SQUARE PA; QQKN
-3376 ; [.115D.0020.001C.3376][.0FFE.0020.001C.3376] # SQUARE PC; QQKN
-338A ; [.115D.0020.001C.338A][.105F.0020.001D.338A] # SQUARE PF; QQKN
-33D7 ; [.115D.0020.001D.33D7][.108D.0020.001D.33D7] # SQUARE PH; QQKN
-33D8 ; [.115D.0020.001C.33D8][*0266.0020.001C.33D8][.1110.0020.001F.33D8][*0266.0020.001F.33D8] # SQUARE PM; QQKN
-33D9 ; [.115D.0020.001D.33D9][.115D.0020.001D.33D9][.1110.0020.001F.33D9] # SQUARE PPM; QQKN
-33DA ; [.115D.0020.001D.33DA][.117E.0020.001D.33DA] # SQUARE PR; QQKN
-33B0 ; [.115D.0020.001C.33B0][.11AF.0020.001C.33B0] # SQUARE PS; QQKN
-3250 ; [.115D.0020.001D.3250][.11CF.0020.001D.3250][.1029.0020.001F.3250] # PARTNERSHIP SIGN; QQKN
-33B4 ; [.115D.0020.001C.33B4][.1216.0020.001D.33B4] # SQUARE PV; QQKN
-33BA ; [.115D.0020.001C.33BA][.1225.0020.001D.33BA] # SQUARE PW; QQKN
-1D18 ; [.1161.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
-1D7D ; [.1162.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
-2C63 ; [.1162.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
-1D71 ; [.1163.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D88 ; [.1164.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
-01A5 ; [.1165.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
-01A4 ; [.1165.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
-0278 ; [.1169.0020.0002.0278] # LATIN SMALL LETTER PHI
-1DB2 ; [.1169.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI; QQK
-2C77 ; [.116D.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
-0071 ; [.116E.0020.0002.0071] # LATIN SMALL LETTER Q
-FF51 ; [.116E.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q; QQK
-24AC ; [*02B1.0020.0004.24AC][.116E.0020.0004.24AC][*02B2.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q; QQKN
-1D42A ; [.116E.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q; QQK
-1D45E ; [.116E.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q; QQK
-1D492 ; [.116E.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q; QQK
-1D4C6 ; [.116E.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q; QQK
-1D4FA ; [.116E.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q; QQK
-1D52E ; [.116E.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q; QQK
-1D562 ; [.116E.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q; QQK
-1D596 ; [.116E.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q; QQK
-1D5CA ; [.116E.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q; QQK
-1D5FE ; [.116E.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q; QQK
-1D632 ; [.116E.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q; QQK
-1D666 ; [.116E.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q; QQK
-1D69A ; [.116E.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q; QQK
-24E0 ; [.116E.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q; QQK
-0051 ; [.116E.0020.0008.0051] # LATIN CAPITAL LETTER Q
-FF31 ; [.116E.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q; QQK
-211A ; [.116E.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q; QQK
-1D410 ; [.116E.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q; QQK
-1D444 ; [.116E.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q; QQK
-1D478 ; [.116E.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q; QQK
-1D4AC ; [.116E.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q; QQK
-1D4E0 ; [.116E.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q; QQK
-1D514 ; [.116E.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q; QQK
-1D57C ; [.116E.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q; QQK
-1D5B0 ; [.116E.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q; QQK
-1D5E4 ; [.116E.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q; QQK
-1D618 ; [.116E.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q; QQK
-1D64C ; [.116E.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q; QQK
-1D680 ; [.116E.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q; QQK
-24C6 ; [.116E.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q; QQK
-0239 ; [.116E.0020.0004.0239][.115D.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH; QQKN
-02A0 ; [.1172.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
-024B ; [.1176.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
-024A ; [.1176.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-0138 ; [.117A.0020.0002.0138] # LATIN SMALL LETTER KRA
-0072 ; [.117E.0020.0002.0072] # LATIN SMALL LETTER R
-FF52 ; [.117E.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R; QQK
-036C ; [.117E.0020.0004.036C] # COMBINING LATIN SMALL LETTER R; QQK
-24AD ; [*02B1.0020.0004.24AD][.117E.0020.0004.24AD][*02B2.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R; QQKN
-1D42B ; [.117E.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R; QQK
-1D45F ; [.117E.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R; QQK
-1D493 ; [.117E.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R; QQK
-1D4C7 ; [.117E.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R; QQK
-1D4FB ; [.117E.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R; QQK
-1D52F ; [.117E.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R; QQK
-1D563 ; [.117E.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R; QQK
-1D597 ; [.117E.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R; QQK
-1D5CB ; [.117E.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R; QQK
-1D5FF ; [.117E.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R; QQK
-1D633 ; [.117E.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R; QQK
-1D667 ; [.117E.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R; QQK
-1D69B ; [.117E.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R; QQK
-24E1 ; [.117E.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R; QQK
-0052 ; [.117E.0020.0008.0052] # LATIN CAPITAL LETTER R
-FF32 ; [.117E.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R; QQK
-211B ; [.117E.0020.000B.211B] # SCRIPT CAPITAL R; QQK
-211C ; [.117E.0020.000B.211C] # BLACK-LETTER CAPITAL R; QQK
-211D ; [.117E.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R; QQK
-1D411 ; [.117E.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R; QQK
-1D445 ; [.117E.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R; QQK
-1D479 ; [.117E.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R; QQK
-1D4E1 ; [.117E.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R; QQK
-1D57D ; [.117E.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R; QQK
-1D5B1 ; [.117E.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R; QQK
-1D5E5 ; [.117E.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R; QQK
-1D619 ; [.117E.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R; QQK
-1D64D ; [.117E.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R; QQK
-1D681 ; [.117E.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R; QQK
-24C7 ; [.117E.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R; QQK
-02B3 ; [.117E.0020.0014.02B3] # MODIFIER LETTER SMALL R; QQK
-1D63 ; [.117E.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R; QQK
-1D3F ; [.117E.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R; QQK
-0155 ; [.117E.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE; QQCM
-0154 ; [.117E.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE; QQCM
-0159 ; [.117E.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON; QQCM
-0158 ; [.117E.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON; QQCM
-1E59 ; [.117E.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE; QQCM
-1E58 ; [.117E.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE; QQCM
-0157 ; [.117E.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA; QQCM
-0156 ; [.117E.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA; QQCM
-0211 ; [.117E.0020.0002.0072][.0000.0063.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE; QQCM
-0210 ; [.117E.0020.0008.0052][.0000.0063.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE; QQCM
-0213 ; [.117E.0020.0002.0072][.0000.0065.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE; QQCM
-0212 ; [.117E.0020.0008.0052][.0000.0065.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE; QQCM
-1E5B ; [.117E.0020.0002.0072][.0000.007A.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW; QQCM
-1E5A ; [.117E.0020.0008.0052][.0000.007A.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW; QQCM
-1E5D ; [.117E.0020.0002.0072][.0000.007A.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON; QQCM
-1E5C ; [.117E.0020.0008.0052][.0000.007A.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON; QQCM
-1E5F ; [.117E.0020.0002.0072][.0000.008A.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW; QQCM
-1E5E ; [.117E.0020.0008.0052][.0000.008A.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW; QQCM
-33AD ; [.117E.0020.001C.33AD][.0FD0.0020.001C.33AD][.1010.0020.001F.33AD] # SQUARE RAD; QQKN
-33AE ; [.117E.0020.001C.33AE][.0FD0.0020.001C.33AE][.1010.0020.001F.33AE][*04C7.0020.001F.33AE][.11AF.0020.001F.33AE] # SQUARE RAD OVER S; QQKN
-33AF ; [.117E.0020.001C.33AF][.0FD0.0020.001C.33AF][.1010.0020.001F.33AF][*04C7.0020.001F.33AF][.11AF.0020.001F.33AF][.0FC8.0020.001F.33AF] # SQUARE RAD OVER S SQUARED; QQKN
-20A8 ; [.117E.0020.000A.20A8][.11AF.0020.0004.20A8] # RUPEE SIGN; QQKN
-0280 ; [.1182.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
-01A6 ; [.1182.0020.0008.01A6] # LATIN LETTER YR
-1D19 ; [.1186.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
-024D ; [.1187.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
-024C ; [.1187.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
-1D72 ; [.118B.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
-0279 ; [.118C.0020.0002.0279] # LATIN SMALL LETTER TURNED R
-02B4 ; [.118C.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R; QQK
-1D1A ; [.1190.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
-027A ; [.1191.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
-1D89 ; [.1195.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
-027B ; [.1196.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
-02B5 ; [.1196.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK; QQK
-027C ; [.119A.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
-027D ; [.119E.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
-2C64 ; [.119E.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
-027E ; [.11A2.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
-1D73 ; [.11A6.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-027F ; [.11A7.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0281 ; [.11AB.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
-02B6 ; [.11AB.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R; QQK
-0073 ; [.11AF.0020.0002.0073] # LATIN SMALL LETTER S
-FF53 ; [.11AF.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S; QQK
-24AE ; [*02B1.0020.0004.24AE][.11AF.0020.0004.24AE][*02B2.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S; QQKN
-1D42C ; [.11AF.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S; QQK
-1D460 ; [.11AF.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S; QQK
-1D494 ; [.11AF.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S; QQK
-1D4C8 ; [.11AF.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S; QQK
-1D4FC ; [.11AF.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S; QQK
-1D530 ; [.11AF.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S; QQK
-1D564 ; [.11AF.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S; QQK
-1D598 ; [.11AF.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S; QQK
-1D5CC ; [.11AF.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S; QQK
-1D600 ; [.11AF.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S; QQK
-1D634 ; [.11AF.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S; QQK
-1D668 ; [.11AF.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S; QQK
-1D69C ; [.11AF.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S; QQK
-24E2 ; [.11AF.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S; QQK
-0053 ; [.11AF.0020.0008.0053] # LATIN CAPITAL LETTER S
-FF33 ; [.11AF.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S; QQK
-1D412 ; [.11AF.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S; QQK
-1D446 ; [.11AF.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S; QQK
-1D47A ; [.11AF.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S; QQK
-1D4AE ; [.11AF.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S; QQK
-1D4E2 ; [.11AF.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S; QQK
-1D516 ; [.11AF.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S; QQK
-1D54A ; [.11AF.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S; QQK
-1D57E ; [.11AF.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S; QQK
-1D5B2 ; [.11AF.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S; QQK
-1D5E6 ; [.11AF.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S; QQK
-1D61A ; [.11AF.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S; QQK
-1D64E ; [.11AF.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S; QQK
-1D682 ; [.11AF.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S; QQK
-24C8 ; [.11AF.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S; QQK
-02E2 ; [.11AF.0020.0014.02E2] # MODIFIER LETTER SMALL S; QQK
-015B ; [.11AF.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE; QQCM
-015A ; [.11AF.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE; QQCM
-1E65 ; [.11AF.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
-1E64 ; [.11AF.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
-015D ; [.11AF.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX; QQCM
-015C ; [.11AF.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX; QQCM
-0161 ; [.11AF.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON; QQCM
-0160 ; [.11AF.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON; QQCM
-1E67 ; [.11AF.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE; QQCM
-1E66 ; [.11AF.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE; QQCM
-1E61 ; [.11AF.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE; QQCM
-1E60 ; [.11AF.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE; QQCM
-015F ; [.11AF.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA; QQCM
-015E ; [.11AF.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA; QQCM
-1E63 ; [.11AF.0020.0002.0073][.0000.007A.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW; QQCM
-1E62 ; [.11AF.0020.0008.0053][.0000.007A.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW; QQCM
-1E69 ; [.11AF.0020.0002.0073][.0000.007A.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
-1E68 ; [.11AF.0020.0008.0053][.0000.007A.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
-0219 ; [.11AF.0020.0002.0073][.0000.0081.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW; QQCM
-0218 ; [.11AF.0020.0008.0053][.0000.0081.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW; QQCM
-017F ; [.11AF.0020.0004.017F][.0000.019A.0004.017F] # LATIN SMALL LETTER LONG S; QQKN
-1E9B ; [.11AF.0020.0004.1E9B][.0000.019A.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE; QQKN
-2120 ; [.11AF.0020.0014.2120][.1110.0020.0014.2120] # SERVICE MARK; QQKN
-33DB ; [.11AF.0020.001C.33DB][.117E.0020.001C.33DB] # SQUARE SR; QQKN
-00DF ; [.11AF.0020.0004.00DF][.0000.0199.0004.00DF][.11AF.0020.001F.00DF] # LATIN SMALL LETTER SHARP S; QQKN
-FB06 ; [.11AF.0020.0004.FB06][.11CF.0020.0004.FB06] # LATIN SMALL LIGATURE ST; QQKN
-FB05 ; [.11AF.0020.0004.FB05][.0000.019A.0004.FB05][.11CF.0020.001F.FB05] # LATIN SMALL LIGATURE LONG S T; QQKN
-33DC ; [.11AF.0020.001D.33DC][.1216.0020.001C.33DC] # SQUARE SV; QQKN
-1D74 ; [.11B3.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D8A ; [.11B4.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
-0282 ; [.11B5.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
-1DB3 ; [.11B5.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK; QQK
-023F ; [.11B9.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
-0283 ; [.11BD.0020.0002.0283] # LATIN SMALL LETTER ESH
-01A9 ; [.11BD.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
-1DB4 ; [.11BD.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH; QQK
-1D8B ; [.11C1.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-01AA ; [.11C2.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
-0285 ; [.11C6.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
-1D98 ; [.11CA.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-0286 ; [.11CB.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
-0074 ; [.11CF.0020.0002.0074] # LATIN SMALL LETTER T
-FF54 ; [.11CF.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T; QQK
-036D ; [.11CF.0020.0004.036D] # COMBINING LATIN SMALL LETTER T; QQK
-24AF ; [*02B1.0020.0004.24AF][.11CF.0020.0004.24AF][*02B2.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T; QQKN
-1D42D ; [.11CF.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T; QQK
-1D461 ; [.11CF.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T; QQK
-1D495 ; [.11CF.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T; QQK
-1D4C9 ; [.11CF.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T; QQK
-1D4FD ; [.11CF.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T; QQK
-1D531 ; [.11CF.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T; QQK
-1D565 ; [.11CF.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T; QQK
-1D599 ; [.11CF.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T; QQK
-1D5CD ; [.11CF.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T; QQK
-1D601 ; [.11CF.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T; QQK
-1D635 ; [.11CF.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T; QQK
-1D669 ; [.11CF.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T; QQK
-1D69D ; [.11CF.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T; QQK
-24E3 ; [.11CF.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T; QQK
-0054 ; [.11CF.0020.0008.0054] # LATIN CAPITAL LETTER T
-FF34 ; [.11CF.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T; QQK
-1D413 ; [.11CF.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T; QQK
-1D447 ; [.11CF.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T; QQK
-1D47B ; [.11CF.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T; QQK
-1D4AF ; [.11CF.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T; QQK
-1D4E3 ; [.11CF.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T; QQK
-1D517 ; [.11CF.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T; QQK
-1D54B ; [.11CF.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T; QQK
-1D57F ; [.11CF.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T; QQK
-1D5B3 ; [.11CF.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T; QQK
-1D5E7 ; [.11CF.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T; QQK
-1D61B ; [.11CF.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T; QQK
-1D64F ; [.11CF.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T; QQK
-1D683 ; [.11CF.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T; QQK
-24C9 ; [.11CF.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T; QQK
-1D57 ; [.11CF.0020.0014.1D57] # MODIFIER LETTER SMALL T; QQK
-1D40 ; [.11CF.0020.001D.1D40] # MODIFIER LETTER CAPITAL T; QQK
-0165 ; [.11CF.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON; QQCM
-0164 ; [.11CF.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON; QQCM
-1E97 ; [.11CF.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS; QQCM
-1E6B ; [.11CF.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE; QQCM
-1E6A ; [.11CF.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE; QQCM
-0163 ; [.11CF.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA; QQCM
-0162 ; [.11CF.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA; QQCM
-1E6D ; [.11CF.0020.0002.0074][.0000.007A.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW; QQCM
-1E6C ; [.11CF.0020.0008.0054][.0000.007A.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW; QQCM
-021B ; [.11CF.0020.0002.0074][.0000.0081.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW; QQCM
-021A ; [.11CF.0020.0008.0054][.0000.0081.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW; QQCM
-1E71 ; [.11CF.0020.0002.0074][.0000.0086.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW; QQCM
-1E70 ; [.11CF.0020.0008.0054][.0000.0086.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW; QQCM
-1E6F ; [.11CF.0020.0002.0074][.0000.008A.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW; QQCM
-1E6E ; [.11CF.0020.0008.0054][.0000.008A.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW; QQCM
-02A8 ; [.11CF.0020.0004.02A8][.100B.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL; QQKN
-2121 ; [.11CF.0020.000A.2121][.1029.0020.000A.2121][.10E5.0020.001F.2121] # TELEPHONE SIGN; QQKN
-1D7A ; [.11CF.0020.0004.1D7A][.0000.019A.0004.1D7A][.108D.0020.001F.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH; QQKN
-3394 ; [.11CF.0020.001D.3394][.108D.0020.001D.3394][.1243.0020.001F.3394] # SQUARE THZ; QQKN
-2122 ; [.11CF.0020.0014.2122][.1110.0020.0014.2122] # TRADE MARK SIGN; QQKN
-01BE ; [.11CF.0020.0004.01BE][.11AF.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE; QQKN
-02A6 ; [.11CF.0020.0004.02A6][.11AF.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH; QQKN
-02A7 ; [.11CF.0020.0004.02A7][.11BD.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH; QQKN
-1D1B ; [.11D3.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
-0167 ; [.11D4.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
-0166 ; [.11D4.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
-2C66 ; [.11D8.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-023E ; [.11D8.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-1D75 ; [.11D9.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
-01AB ; [.11DA.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
-1DB5 ; [.11DA.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK; QQK
-01AD ; [.11DE.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
-01AC ; [.11DE.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
-0288 ; [.11E2.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-01AE ; [.11E2.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-0236 ; [.11E6.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
-0287 ; [.11EA.0020.0002.0287] # LATIN SMALL LETTER TURNED T
-0075 ; [.11EE.0020.0002.0075] # LATIN SMALL LETTER U
-FF55 ; [.11EE.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U; QQK
-0367 ; [.11EE.0020.0004.0367] # COMBINING LATIN SMALL LETTER U; QQK
-24B0 ; [*02B1.0020.0004.24B0][.11EE.0020.0004.24B0][*02B2.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U; QQKN
-1D42E ; [.11EE.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U; QQK
-1D462 ; [.11EE.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U; QQK
-1D496 ; [.11EE.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U; QQK
-1D4CA ; [.11EE.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U; QQK
-1D4FE ; [.11EE.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U; QQK
-1D532 ; [.11EE.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U; QQK
-1D566 ; [.11EE.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U; QQK
-1D59A ; [.11EE.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U; QQK
-1D5CE ; [.11EE.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U; QQK
-1D602 ; [.11EE.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U; QQK
-1D636 ; [.11EE.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U; QQK
-1D66A ; [.11EE.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U; QQK
-1D69E ; [.11EE.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U; QQK
-24E4 ; [.11EE.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U; QQK
-0055 ; [.11EE.0020.0008.0055] # LATIN CAPITAL LETTER U
-FF35 ; [.11EE.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U; QQK
-1D414 ; [.11EE.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U; QQK
-1D448 ; [.11EE.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U; QQK
-1D47C ; [.11EE.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U; QQK
-1D4B0 ; [.11EE.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U; QQK
-1D4E4 ; [.11EE.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U; QQK
-1D518 ; [.11EE.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U; QQK
-1D54C ; [.11EE.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U; QQK
-1D580 ; [.11EE.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U; QQK
-1D5B4 ; [.11EE.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U; QQK
-1D5E8 ; [.11EE.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U; QQK
-1D61C ; [.11EE.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U; QQK
-1D650 ; [.11EE.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U; QQK
-1D684 ; [.11EE.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U; QQK
-24CA ; [.11EE.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U; QQK
-1D58 ; [.11EE.0020.0014.1D58] # MODIFIER LETTER SMALL U; QQK
-1D64 ; [.11EE.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U; QQK
-1D41 ; [.11EE.0020.001D.1D41] # MODIFIER LETTER CAPITAL U; QQK
-00FA ; [.11EE.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE; QQCM
-00DA ; [.11EE.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE; QQCM
-00F9 ; [.11EE.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE; QQCM
-00D9 ; [.11EE.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE; QQCM
-016D ; [.11EE.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE; QQCM
-016C ; [.11EE.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE; QQCM
-00FB ; [.11EE.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX; QQCM
-00DB ; [.11EE.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX; QQCM
-01D4 ; [.11EE.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON; QQCM
-01D3 ; [.11EE.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON; QQCM
-016F ; [.11EE.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE; QQCM
-016E ; [.11EE.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE; QQCM
-00FC ; [.11EE.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS; QQCM
-00DC ; [.11EE.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS; QQCM
-01D8 ; [.11EE.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE; QQCM
-01D7 ; [.11EE.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE; QQCM
-01DC ; [.11EE.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE; QQCM
-01DB ; [.11EE.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE; QQCM
-01DA ; [.11EE.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON; QQCM
-01D9 ; [.11EE.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON; QQCM
-01D6 ; [.11EE.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON; QQCM
-01D5 ; [.11EE.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON; QQCM
-0171 ; [.11EE.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE; QQCM
-0170 ; [.11EE.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE; QQCM
-0169 ; [.11EE.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE; QQCM
-0168 ; [.11EE.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE; QQCM
-1E79 ; [.11EE.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE; QQCM
-1E78 ; [.11EE.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE; QQCM
-0173 ; [.11EE.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK; QQCM
-0172 ; [.11EE.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK; QQCM
-016B ; [.11EE.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON; QQCM
-016A ; [.11EE.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON; QQCM
-1E7B ; [.11EE.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS; QQCM
-1E7A ; [.11EE.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS; QQCM
-1EE7 ; [.11EE.0020.0002.0075][.0000.0060.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE; QQCM
-1EE6 ; [.11EE.0020.0008.0055][.0000.0060.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE; QQCM
-0215 ; [.11EE.0020.0002.0075][.0000.0063.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE; QQCM
-0214 ; [.11EE.0020.0008.0055][.0000.0063.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE; QQCM
-0217 ; [.11EE.0020.0002.0075][.0000.0065.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE; QQCM
-0216 ; [.11EE.0020.0008.0055][.0000.0065.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE; QQCM
-01B0 ; [.11EE.0020.0002.0075][.0000.006D.0002.031B] # LATIN SMALL LETTER U WITH HORN; QQCM
-01AF ; [.11EE.0020.0008.0055][.0000.006D.0002.031B] # LATIN CAPITAL LETTER U WITH HORN; QQCM
-1EE9 ; [.11EE.0020.0002.0075][.0000.006D.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE; QQCM
-1EE8 ; [.11EE.0020.0008.0055][.0000.006D.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE; QQCM
-1EEB ; [.11EE.0020.0002.0075][.0000.006D.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE; QQCM
-1EEA ; [.11EE.0020.0008.0055][.0000.006D.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE; QQCM
-1EEF ; [.11EE.0020.0002.0075][.0000.006D.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE; QQCM
-1EEE ; [.11EE.0020.0008.0055][.0000.006D.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE; QQCM
-1EED ; [.11EE.0020.0002.0075][.0000.006D.0002.031B][.0000.0060.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE; QQCM
-1EEC ; [.11EE.0020.0008.0055][.0000.006D.0002.031B][.0000.0060.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE; QQCM
-1EF1 ; [.11EE.0020.0002.0075][.0000.006D.0002.031B][.0000.007A.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW; QQCM
-1EF0 ; [.11EE.0020.0008.0055][.0000.006D.0002.031B][.0000.007A.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW; QQCM
-1EE5 ; [.11EE.0020.0002.0075][.0000.007A.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW; QQCM
-1EE4 ; [.11EE.0020.0008.0055][.0000.007A.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW; QQCM
-1E73 ; [.11EE.0020.0002.0075][.0000.007F.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW; QQCM
-1E72 ; [.11EE.0020.0008.0055][.0000.007F.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW; QQCM
-1E77 ; [.11EE.0020.0002.0075][.0000.0086.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW; QQCM
-1E76 ; [.11EE.0020.0008.0055][.0000.0086.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW; QQCM
-1E75 ; [.11EE.0020.0002.0075][.0000.0089.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW; QQCM
-1E74 ; [.11EE.0020.0008.0055][.0000.0089.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW; QQCM
-1D1C ; [.11F2.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
-1DB8 ; [.11F2.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U; QQK
-1D1D ; [.11F3.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
-1D59 ; [.11F3.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U; QQK
-1D1E ; [.11F4.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D6B ; [.11F5.0020.0002.1D6B] # LATIN SMALL LETTER UE
-0289 ; [.11F6.0020.0002.0289] # LATIN SMALL LETTER U BAR
-0244 ; [.11F6.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
-1DB6 ; [.11F6.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR; QQK
-1D7E ; [.11FA.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D99 ; [.11FB.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-0265 ; [.11FC.0020.0002.0265] # LATIN SMALL LETTER TURNED H
-1DA3 ; [.11FC.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H; QQK
-02AE ; [.1200.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF ; [.1204.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-026F ; [.1208.0020.0002.026F] # LATIN SMALL LETTER TURNED M
-019C ; [.1208.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
-1D5A ; [.1208.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M; QQK
-1D1F ; [.120C.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
-0270 ; [.120D.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
-1DAD ; [.120D.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG; QQK
-028A ; [.1211.0020.0002.028A] # LATIN SMALL LETTER UPSILON
-01B1 ; [.1211.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
-1DB7 ; [.1211.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON; QQK
-1D7F ; [.1215.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
-0076 ; [.1216.0020.0002.0076] # LATIN SMALL LETTER V
-FF56 ; [.1216.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V; QQK
-036E ; [.1216.0020.0004.036E] # COMBINING LATIN SMALL LETTER V; QQK
-2174 ; [.1216.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE; QQK
-24B1 ; [*02B1.0020.0004.24B1][.1216.0020.0004.24B1][*02B2.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V; QQKN
-1D42F ; [.1216.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V; QQK
-1D463 ; [.1216.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V; QQK
-1D497 ; [.1216.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V; QQK
-1D4CB ; [.1216.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V; QQK
-1D4FF ; [.1216.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V; QQK
-1D533 ; [.1216.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V; QQK
-1D567 ; [.1216.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V; QQK
-1D59B ; [.1216.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V; QQK
-1D5CF ; [.1216.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V; QQK
-1D603 ; [.1216.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V; QQK
-1D637 ; [.1216.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V; QQK
-1D66B ; [.1216.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V; QQK
-1D69F ; [.1216.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V; QQK
-24E5 ; [.1216.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V; QQK
-0056 ; [.1216.0020.0008.0056] # LATIN CAPITAL LETTER V
-FF36 ; [.1216.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V; QQK
-2164 ; [.1216.0020.000A.2164] # ROMAN NUMERAL FIVE; QQK
-1D415 ; [.1216.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V; QQK
-1D449 ; [.1216.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V; QQK
-1D47D ; [.1216.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V; QQK
-1D4B1 ; [.1216.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V; QQK
-1D4E5 ; [.1216.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V; QQK
-1D519 ; [.1216.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V; QQK
-1D54D ; [.1216.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V; QQK
-1D581 ; [.1216.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V; QQK
-1D5B5 ; [.1216.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V; QQK
-1D5E9 ; [.1216.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V; QQK
-1D61D ; [.1216.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V; QQK
-1D651 ; [.1216.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V; QQK
-1D685 ; [.1216.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V; QQK
-24CB ; [.1216.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V; QQK
-1D5B ; [.1216.0020.0014.1D5B] # MODIFIER LETTER SMALL V; QQK
-1D65 ; [.1216.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V; QQK
-1E7D ; [.1216.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE; QQCM
-1E7C ; [.1216.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE; QQCM
-1E7F ; [.1216.0020.0002.0076][.0000.007A.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW; QQCM
-1E7E ; [.1216.0020.0008.0056][.0000.007A.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW; QQCM
-2175 ; [.1216.0020.0004.2175][.10A5.0020.0004.2175] # SMALL ROMAN NUMERAL SIX; QQKN
-2165 ; [.1216.0020.000A.2165][.10A5.0020.000A.2165] # ROMAN NUMERAL SIX; QQKN
-2176 ; [.1216.0020.0004.2176][.10A5.0020.0004.2176][.10A5.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN; QQKN
-2166 ; [.1216.0020.000A.2166][.10A5.0020.000A.2166][.10A5.0020.001F.2166] # ROMAN NUMERAL SEVEN; QQKN
-2177 ; [.1216.0020.0004.2177][.10A5.0020.0004.2177][.10A5.0020.001F.2177][.10A5.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT; QQKN
-2167 ; [.1216.0020.000A.2167][.10A5.0020.000A.2167][.10A5.0020.001F.2167][.10A5.0020.001F.2167] # ROMAN NUMERAL EIGHT; QQKN
-33DE ; [.1216.0020.001D.33DE][*04C7.0020.001C.33DE][.1110.0020.001F.33DE] # SQUARE V OVER M; QQKN
-1D20 ; [.121A.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
-1D8C ; [.121B.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
-028B ; [.121C.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
-01B2 ; [.121C.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
-1DB9 ; [.121C.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK; QQK
-2C74 ; [.1220.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
-028C ; [.1221.0020.0002.028C] # LATIN SMALL LETTER TURNED V
-0245 ; [.1221.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
-1DBA ; [.1221.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V; QQK
-0077 ; [.1225.0020.0002.0077] # LATIN SMALL LETTER W
-FF57 ; [.1225.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W; QQK
-24B2 ; [*02B1.0020.0004.24B2][.1225.0020.0004.24B2][*02B2.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W; QQKN
-1D430 ; [.1225.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W; QQK
-1D464 ; [.1225.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W; QQK
-1D498 ; [.1225.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W; QQK
-1D4CC ; [.1225.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W; QQK
-1D500 ; [.1225.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W; QQK
-1D534 ; [.1225.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W; QQK
-1D568 ; [.1225.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W; QQK
-1D59C ; [.1225.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W; QQK
-1D5D0 ; [.1225.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W; QQK
-1D604 ; [.1225.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W; QQK
-1D638 ; [.1225.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W; QQK
-1D66C ; [.1225.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W; QQK
-1D6A0 ; [.1225.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W; QQK
-24E6 ; [.1225.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W; QQK
-0057 ; [.1225.0020.0008.0057] # LATIN CAPITAL LETTER W
-FF37 ; [.1225.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W; QQK
-1D416 ; [.1225.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W; QQK
-1D44A ; [.1225.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W; QQK
-1D47E ; [.1225.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W; QQK
-1D4B2 ; [.1225.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W; QQK
-1D4E6 ; [.1225.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W; QQK
-1D51A ; [.1225.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W; QQK
-1D54E ; [.1225.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W; QQK
-1D582 ; [.1225.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W; QQK
-1D5B6 ; [.1225.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W; QQK
-1D5EA ; [.1225.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W; QQK
-1D61E ; [.1225.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W; QQK
-1D652 ; [.1225.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W; QQK
-1D686 ; [.1225.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W; QQK
-24CC ; [.1225.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W; QQK
-02B7 ; [.1225.0020.0014.02B7] # MODIFIER LETTER SMALL W; QQK
-1D42 ; [.1225.0020.001D.1D42] # MODIFIER LETTER CAPITAL W; QQK
-1E83 ; [.1225.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE; QQCM
-1E82 ; [.1225.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE; QQCM
-1E81 ; [.1225.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE; QQCM
-1E80 ; [.1225.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE; QQCM
-0175 ; [.1225.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX; QQCM
-0174 ; [.1225.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX; QQCM
-1E98 ; [.1225.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE; QQCM
-1E85 ; [.1225.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS; QQCM
-1E84 ; [.1225.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS; QQCM
-1E87 ; [.1225.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE; QQCM
-1E86 ; [.1225.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE; QQCM
-1E89 ; [.1225.0020.0002.0077][.0000.007A.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW; QQCM
-1E88 ; [.1225.0020.0008.0057][.0000.007A.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW; QQCM
-33DD ; [.1225.0020.001D.33DD][.0FE6.0020.001C.33DD] # SQUARE WB; QQKN
-1D21 ; [.1229.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
-028D ; [.122A.0020.0002.028D] # LATIN SMALL LETTER TURNED W
-0078 ; [.122E.0020.0002.0078] # LATIN SMALL LETTER X
-FF58 ; [.122E.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X; QQK
-036F ; [.122E.0020.0004.036F] # COMBINING LATIN SMALL LETTER X; QQK
-2179 ; [.122E.0020.0004.2179] # SMALL ROMAN NUMERAL TEN; QQK
-24B3 ; [*02B1.0020.0004.24B3][.122E.0020.0004.24B3][*02B2.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X; QQKN
-1D431 ; [.122E.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X; QQK
-1D465 ; [.122E.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X; QQK
-1D499 ; [.122E.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X; QQK
-1D4CD ; [.122E.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X; QQK
-1D501 ; [.122E.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X; QQK
-1D535 ; [.122E.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X; QQK
-1D569 ; [.122E.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X; QQK
-1D59D ; [.122E.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X; QQK
-1D5D1 ; [.122E.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X; QQK
-1D605 ; [.122E.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X; QQK
-1D639 ; [.122E.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X; QQK
-1D66D ; [.122E.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X; QQK
-1D6A1 ; [.122E.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X; QQK
-24E7 ; [.122E.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X; QQK
-0058 ; [.122E.0020.0008.0058] # LATIN CAPITAL LETTER X
-FF38 ; [.122E.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X; QQK
-2169 ; [.122E.0020.000A.2169] # ROMAN NUMERAL TEN; QQK
-1D417 ; [.122E.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X; QQK
-1D44B ; [.122E.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X; QQK
-1D47F ; [.122E.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X; QQK
-1D4B3 ; [.122E.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X; QQK
-1D4E7 ; [.122E.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X; QQK
-1D51B ; [.122E.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X; QQK
-1D54F ; [.122E.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X; QQK
-1D583 ; [.122E.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X; QQK
-1D5B7 ; [.122E.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X; QQK
-1D5EB ; [.122E.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X; QQK
-1D61F ; [.122E.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X; QQK
-1D653 ; [.122E.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X; QQK
-1D687 ; [.122E.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X; QQK
-24CD ; [.122E.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X; QQK
-02E3 ; [.122E.0020.0014.02E3] # MODIFIER LETTER SMALL X; QQK
-2093 ; [.122E.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X; QQK
-1E8D ; [.122E.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS; QQCM
-1E8C ; [.122E.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS; QQCM
-1E8B ; [.122E.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE; QQCM
-1E8A ; [.122E.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE; QQCM
-217A ; [.122E.0020.0004.217A][.10A5.0020.0004.217A] # SMALL ROMAN NUMERAL ELEVEN; QQKN
-216A ; [.122E.0020.000A.216A][.10A5.0020.000A.216A] # ROMAN NUMERAL ELEVEN; QQKN
-217B ; [.122E.0020.0004.217B][.10A5.0020.0004.217B][.10A5.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE; QQKN
-216B ; [.122E.0020.000A.216B][.10A5.0020.000A.216B][.10A5.0020.001F.216B] # ROMAN NUMERAL TWELVE; QQKN
-1D8D ; [.1232.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
-0079 ; [.1233.0020.0002.0079] # LATIN SMALL LETTER Y
-FF59 ; [.1233.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y; QQK
-24B4 ; [*02B1.0020.0004.24B4][.1233.0020.0004.24B4][*02B2.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y; QQKN
-1D432 ; [.1233.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y; QQK
-1D466 ; [.1233.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y; QQK
-1D49A ; [.1233.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y; QQK
-1D4CE ; [.1233.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y; QQK
-1D502 ; [.1233.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y; QQK
-1D536 ; [.1233.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y; QQK
-1D56A ; [.1233.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y; QQK
-1D59E ; [.1233.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y; QQK
-1D5D2 ; [.1233.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y; QQK
-1D606 ; [.1233.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y; QQK
-1D63A ; [.1233.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y; QQK
-1D66E ; [.1233.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y; QQK
-1D6A2 ; [.1233.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y; QQK
-24E8 ; [.1233.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y; QQK
-0059 ; [.1233.0020.0008.0059] # LATIN CAPITAL LETTER Y
-FF39 ; [.1233.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y; QQK
-1D418 ; [.1233.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y; QQK
-1D44C ; [.1233.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y; QQK
-1D480 ; [.1233.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y; QQK
-1D4B4 ; [.1233.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y; QQK
-1D4E8 ; [.1233.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y; QQK
-1D51C ; [.1233.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y; QQK
-1D550 ; [.1233.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y; QQK
-1D584 ; [.1233.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y; QQK
-1D5B8 ; [.1233.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y; QQK
-1D5EC ; [.1233.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y; QQK
-1D620 ; [.1233.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y; QQK
-1D654 ; [.1233.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y; QQK
-1D688 ; [.1233.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y; QQK
-24CE ; [.1233.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y; QQK
-02B8 ; [.1233.0020.0014.02B8] # MODIFIER LETTER SMALL Y; QQK
-00FD ; [.1233.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE; QQCM
-00DD ; [.1233.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE; QQCM
-1EF3 ; [.1233.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE; QQCM
-1EF2 ; [.1233.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE; QQCM
-0177 ; [.1233.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX; QQCM
-0176 ; [.1233.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX; QQCM
-1E99 ; [.1233.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE; QQCM
-00FF ; [.1233.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS; QQCM
-0178 ; [.1233.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS; QQCM
-1EF9 ; [.1233.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE; QQCM
-1EF8 ; [.1233.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE; QQCM
-1E8F ; [.1233.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE; QQCM
-1E8E ; [.1233.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE; QQCM
-0233 ; [.1233.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON; QQCM
-0232 ; [.1233.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON; QQCM
-1EF7 ; [.1233.0020.0002.0079][.0000.0060.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE; QQCM
-1EF6 ; [.1233.0020.0008.0059][.0000.0060.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE; QQCM
-1EF5 ; [.1233.0020.0002.0079][.0000.007A.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW; QQCM
-1EF4 ; [.1233.0020.0008.0059][.0000.007A.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW; QQCM
-028F ; [.1237.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
-024F ; [.123B.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
-024E ; [.123B.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
-01B4 ; [.123F.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
-01B3 ; [.123F.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
-007A ; [.1243.0020.0002.007A] # LATIN SMALL LETTER Z
-FF5A ; [.1243.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z; QQK
-24B5 ; [*02B1.0020.0004.24B5][.1243.0020.0004.24B5][*02B2.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z; QQKN
-1D433 ; [.1243.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z; QQK
-1D467 ; [.1243.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z; QQK
-1D49B ; [.1243.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z; QQK
-1D4CF ; [.1243.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z; QQK
-1D503 ; [.1243.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z; QQK
-1D537 ; [.1243.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z; QQK
-1D56B ; [.1243.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z; QQK
-1D59F ; [.1243.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z; QQK
-1D5D3 ; [.1243.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z; QQK
-1D607 ; [.1243.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z; QQK
-1D63B ; [.1243.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z; QQK
-1D66F ; [.1243.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z; QQK
-1D6A3 ; [.1243.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z; QQK
-24E9 ; [.1243.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z; QQK
-005A ; [.1243.0020.0008.005A] # LATIN CAPITAL LETTER Z
-FF3A ; [.1243.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z; QQK
-2124 ; [.1243.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z; QQK
-2128 ; [.1243.0020.000B.2128] # BLACK-LETTER CAPITAL Z; QQK
-1D419 ; [.1243.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z; QQK
-1D44D ; [.1243.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z; QQK
-1D481 ; [.1243.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z; QQK
-1D4B5 ; [.1243.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z; QQK
-1D4E9 ; [.1243.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z; QQK
-1D585 ; [.1243.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z; QQK
-1D5B9 ; [.1243.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z; QQK
-1D5ED ; [.1243.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z; QQK
-1D621 ; [.1243.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z; QQK
-1D655 ; [.1243.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z; QQK
-1D689 ; [.1243.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z; QQK
-24CF ; [.1243.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z; QQK
-1DBB ; [.1243.0020.0014.1DBB] # MODIFIER LETTER SMALL Z; QQK
-017A ; [.1243.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE; QQCM
-0179 ; [.1243.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE; QQCM
-1E91 ; [.1243.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX; QQCM
-1E90 ; [.1243.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX; QQCM
-017E ; [.1243.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON; QQCM
-017D ; [.1243.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON; QQCM
-017C ; [.1243.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE; QQCM
-017B ; [.1243.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE; QQCM
-1E93 ; [.1243.0020.0002.007A][.0000.007A.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW; QQCM
-1E92 ; [.1243.0020.0008.005A][.0000.007A.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW; QQCM
-1E95 ; [.1243.0020.0002.007A][.0000.008A.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW; QQCM
-1E94 ; [.1243.0020.0008.005A][.0000.008A.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW; QQCM
-018D ; [.1243.0020.0004.018D][.1225.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA; QQKN
-1D22 ; [.1247.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
-01B6 ; [.1248.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
-01B5 ; [.1248.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
-1D76 ; [.124C.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D8E ; [.124D.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
-0225 ; [.124E.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
-0224 ; [.124E.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
-0290 ; [.1252.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-1DBC ; [.1252.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK; QQK
-0291 ; [.1256.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
-1DBD ; [.1256.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL; QQK
-0240 ; [.125A.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
-2C6C ; [.125E.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
-2C6B ; [.125E.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
-0292 ; [.125F.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7 ; [.125F.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-1DBE ; [.125F.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH; QQK
-01EF ; [.125F.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON; QQCM
-01EE ; [.125F.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON; QQCM
-1D23 ; [.1263.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
-01B9 ; [.1264.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
-01B8 ; [.1264.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
-1D9A ; [.1268.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-01BA ; [.1269.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
-0293 ; [.126D.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
-021D ; [.1271.0020.0002.021D] # LATIN SMALL LETTER YOGH
-021C ; [.1271.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
-00FE ; [.1275.0020.0002.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1275.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
-01BF ; [.1279.0020.0002.01BF] # LATIN LETTER WYNN
-01F7 ; [.1279.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
-01BB ; [.127D.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
-01A8 ; [.1281.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
-01A7 ; [.1281.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
-01BD ; [.1285.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
-01BC ; [.1285.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
-0185 ; [.1289.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
-0184 ; [.1289.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
-0294 ; [.128D.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
-0242 ; [.1291.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
-0241 ; [.1291.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
-02C0 ; [.1295.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
-02BC ; [.1296.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
-0149 ; [.1296.0020.0004.0149][.111B.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE; QQKN
-02EE ; [.1297.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
-02BE ; [.1298.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
-0295 ; [.1299.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-02E4 ; [.1299.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP; QQK
-02BF ; [.129D.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
-02C1 ; [.129E.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
-1D24 ; [.129F.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25 ; [.12A0.0020.0002.1D25] # LATIN LETTER AIN
-1D5C ; [.12A0.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN; QQK
-02A1 ; [.12A1.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2 ; [.12A5.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-0296 ; [.12A9.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
-01C0 ; [.12AD.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
-01C1 ; [.12B1.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
-01C2 ; [.12B5.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
-01C3 ; [.12B9.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
-0297 ; [.12BD.0020.0002.0297] # LATIN LETTER STRETCHED C
-0298 ; [.12C1.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
-02AC ; [.12C5.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
-02AD ; [.12C9.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
-03B1 ; [.12CD.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
-1D6C2 ; [.12CD.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA; QQK
-1D6FC ; [.12CD.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA; QQK
-1D736 ; [.12CD.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA; QQK
-1D770 ; [.12CD.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA; QQK
-1D7AA ; [.12CD.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA; QQK
-0391 ; [.12CD.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
-1D6A8 ; [.12CD.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA; QQK
-1D6E2 ; [.12CD.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA; QQK
-1D71C ; [.12CD.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA; QQK
-1D756 ; [.12CD.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA; QQK
-1D790 ; [.12CD.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA; QQK
-1F00 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI; QQCM
-1F08 ; [.12CD.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI; QQCM
-1F04 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA; QQCM
-1F0C ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA; QQCM
-1F84 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1F8C ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F02 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA; QQCM
-1F0A ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA; QQCM
-1F82 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1F8A ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F06 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
-1F0E ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
-1F86 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F8E ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F80 ; [.12CD.0020.0002.03B1][.0000.0022.0002.0313][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1F88 ; [.12CD.0020.0008.0391][.0000.0022.0002.0313][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F01 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA; QQCM
-1F09 ; [.12CD.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA; QQCM
-1F05 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA; QQCM
-1F0D ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA; QQCM
-1F85 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1F8D ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F03 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA; QQCM
-1F0B ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA; QQCM
-1F83 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1F8B ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F07 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
-1F0F ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
-1F87 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F8F ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F81 ; [.12CD.0020.0002.03B1][.0000.002A.0002.0314][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1F89 ; [.12CD.0020.0008.0391][.0000.002A.0002.0314][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03AC ; [.12CD.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS; QQCM
-1F71 ; [.12CD.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA; QQCM
-0386 ; [.12CD.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS; QQCM
-1FBB ; [.12CD.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA; QQCM
-1FB4 ; [.12CD.0020.0002.03B1][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F70 ; [.12CD.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA; QQCM
-1FBA ; [.12CD.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA; QQCM
-1FB2 ; [.12CD.0020.0002.03B1][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FB0 ; [.12CD.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY; QQCM
-1FB8 ; [.12CD.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY; QQCM
-1FB6 ; [.12CD.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI; QQCM
-1FB7 ; [.12CD.0020.0002.03B1][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FB1 ; [.12CD.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON; QQCM
-1FB9 ; [.12CD.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON; QQCM
-1FB3 ; [.12CD.0020.0002.03B1][.0000.0097.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI; QQCM
-1FBC ; [.12CD.0020.0008.0391][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI; QQCM
-03B2 ; [.12CE.0020.0002.03B2] # GREEK SMALL LETTER BETA
-03D0 ; [.12CE.0020.0004.03D0] # GREEK BETA SYMBOL; QQK
-1D6C3 ; [.12CE.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA; QQK
-1D6FD ; [.12CE.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA; QQK
-1D737 ; [.12CE.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA; QQK
-1D771 ; [.12CE.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA; QQK
-1D7AB ; [.12CE.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA; QQK
-0392 ; [.12CE.0020.0008.0392] # GREEK CAPITAL LETTER BETA
-1D6A9 ; [.12CE.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA; QQK
-1D6E3 ; [.12CE.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA; QQK
-1D71D ; [.12CE.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA; QQK
-1D757 ; [.12CE.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA; QQK
-1D791 ; [.12CE.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA; QQK
-1D5D ; [.12CE.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA; QQK
-1D66 ; [.12CE.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA; QQK
-03B3 ; [.12CF.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
-213D ; [.12CF.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA; QQK
-1D6C4 ; [.12CF.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA; QQK
-1D6FE ; [.12CF.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA; QQK
-1D738 ; [.12CF.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA; QQK
-1D772 ; [.12CF.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA; QQK
-1D7AC ; [.12CF.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA; QQK
-0393 ; [.12CF.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
-213E ; [.12CF.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA; QQK
-1D6AA ; [.12CF.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA; QQK
-1D6E4 ; [.12CF.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA; QQK
-1D71E ; [.12CF.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA; QQK
-1D758 ; [.12CF.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA; QQK
-1D792 ; [.12CF.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA; QQK
-1D5E ; [.12CF.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA; QQK
-1D67 ; [.12CF.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA; QQK
-1D26 ; [.12D0.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
-03B4 ; [.12D1.0020.0002.03B4] # GREEK SMALL LETTER DELTA
-1D6C5 ; [.12D1.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA; QQK
-1D6FF ; [.12D1.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA; QQK
-1D739 ; [.12D1.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA; QQK
-1D773 ; [.12D1.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA; QQK
-1D7AD ; [.12D1.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA; QQK
-0394 ; [.12D1.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
-1D6AB ; [.12D1.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA; QQK
-1D6E5 ; [.12D1.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA; QQK
-1D71F ; [.12D1.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA; QQK
-1D759 ; [.12D1.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA; QQK
-1D793 ; [.12D1.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA; QQK
-1D5F ; [.12D1.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA; QQK
-03B5 ; [.12D2.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
-03F5 ; [.12D2.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL; QQK
-1D6C6 ; [.12D2.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON; QQK
-1D6DC ; [.12D2.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL; QQK
-1D700 ; [.12D2.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON; QQK
-1D716 ; [.12D2.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL; QQK
-1D73A ; [.12D2.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON; QQK
-1D750 ; [.12D2.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL; QQK
-1D774 ; [.12D2.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON; QQK
-1D78A ; [.12D2.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL; QQK
-1D7AE ; [.12D2.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON; QQK
-1D7C4 ; [.12D2.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL; QQK
-0395 ; [.12D2.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
-1D6AC ; [.12D2.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON; QQK
-1D6E6 ; [.12D2.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON; QQK
-1D720 ; [.12D2.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON; QQK
-1D75A ; [.12D2.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON; QQK
-1D794 ; [.12D2.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON; QQK
-1F10 ; [.12D2.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI; QQCM
-1F18 ; [.12D2.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI; QQCM
-1F14 ; [.12D2.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA; QQCM
-1F1C ; [.12D2.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA; QQCM
-1F12 ; [.12D2.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA; QQCM
-1F1A ; [.12D2.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA; QQCM
-1F11 ; [.12D2.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA; QQCM
-1F19 ; [.12D2.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA; QQCM
-1F15 ; [.12D2.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA; QQCM
-1F1D ; [.12D2.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA; QQCM
-1F13 ; [.12D2.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA; QQCM
-1F1B ; [.12D2.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA; QQCM
-03AD ; [.12D2.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS; QQCM
-1F73 ; [.12D2.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA; QQCM
-0388 ; [.12D2.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS; QQCM
-1FC9 ; [.12D2.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA; QQCM
-1F72 ; [.12D2.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA; QQCM
-1FC8 ; [.12D2.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA; QQCM
-03DD ; [.12D3.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
-1D7CB ; [.12D3.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA; QQK
-03DC ; [.12D3.0020.0008.03DC] # GREEK LETTER DIGAMMA
-1D7CA ; [.12D3.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA; QQK
-03DB ; [.12D4.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
-03DA ; [.12D4.0020.0008.03DA] # GREEK LETTER STIGMA
-03B6 ; [.12D5.0020.0002.03B6] # GREEK SMALL LETTER ZETA
-1D6C7 ; [.12D5.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA; QQK
-1D701 ; [.12D5.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA; QQK
-1D73B ; [.12D5.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA; QQK
-1D775 ; [.12D5.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA; QQK
-1D7AF ; [.12D5.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA; QQK
-0396 ; [.12D5.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
-1D6AD ; [.12D5.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA; QQK
-1D6E7 ; [.12D5.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA; QQK
-1D721 ; [.12D5.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA; QQK
-1D75B ; [.12D5.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA; QQK
-1D795 ; [.12D5.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA; QQK
-03B7 ; [.12D6.0020.0002.03B7] # GREEK SMALL LETTER ETA
-1D6C8 ; [.12D6.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA; QQK
-1D702 ; [.12D6.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA; QQK
-1D73C ; [.12D6.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA; QQK
-1D776 ; [.12D6.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA; QQK
-1D7B0 ; [.12D6.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA; QQK
-0397 ; [.12D6.0020.0008.0397] # GREEK CAPITAL LETTER ETA
-1D6AE ; [.12D6.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA; QQK
-1D6E8 ; [.12D6.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA; QQK
-1D722 ; [.12D6.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA; QQK
-1D75C ; [.12D6.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA; QQK
-1D796 ; [.12D6.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA; QQK
-1F20 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI; QQCM
-1F28 ; [.12D6.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI; QQCM
-1F24 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA; QQCM
-1F2C ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA; QQCM
-1F94 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1F9C ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F22 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA; QQCM
-1F2A ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA; QQCM
-1F92 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1F9A ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F26 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
-1F2E ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
-1F96 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F9E ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F90 ; [.12D6.0020.0002.03B7][.0000.0022.0002.0313][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1F98 ; [.12D6.0020.0008.0397][.0000.0022.0002.0313][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F21 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA; QQCM
-1F29 ; [.12D6.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA; QQCM
-1F25 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA; QQCM
-1F2D ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA; QQCM
-1F95 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1F9D ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F23 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA; QQCM
-1F2B ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA; QQCM
-1F93 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1F9B ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F27 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
-1F2F ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
-1F97 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F9F ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F91 ; [.12D6.0020.0002.03B7][.0000.002A.0002.0314][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1F99 ; [.12D6.0020.0008.0397][.0000.002A.0002.0314][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03AE ; [.12D6.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS; QQCM
-1F75 ; [.12D6.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA; QQCM
-0389 ; [.12D6.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS; QQCM
-1FCB ; [.12D6.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA; QQCM
-1FC4 ; [.12D6.0020.0002.03B7][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F74 ; [.12D6.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA; QQCM
-1FCA ; [.12D6.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA; QQCM
-1FC2 ; [.12D6.0020.0002.03B7][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FC6 ; [.12D6.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI; QQCM
-1FC7 ; [.12D6.0020.0002.03B7][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FC3 ; [.12D6.0020.0002.03B7][.0000.0097.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI; QQCM
-1FCC ; [.12D6.0020.0008.0397][.0000.0097.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI; QQCM
-03B8 ; [.12D7.0020.0002.03B8] # GREEK SMALL LETTER THETA
-03D1 ; [.12D7.0020.0004.03D1] # GREEK THETA SYMBOL; QQK
-1D6C9 ; [.12D7.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA; QQK
-1D6DD ; [.12D7.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL; QQK
-1D703 ; [.12D7.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA; QQK
-1D717 ; [.12D7.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL; QQK
-1D73D ; [.12D7.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA; QQK
-1D751 ; [.12D7.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL; QQK
-1D777 ; [.12D7.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA; QQK
-1D78B ; [.12D7.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL; QQK
-1D7B1 ; [.12D7.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA; QQK
-1D7C5 ; [.12D7.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL; QQK
-0398 ; [.12D7.0020.0008.0398] # GREEK CAPITAL LETTER THETA
-03F4 ; [.12D7.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL; QQK
-1D6AF ; [.12D7.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA; QQK
-1D6B9 ; [.12D7.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL; QQK
-1D6E9 ; [.12D7.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA; QQK
-1D6F3 ; [.12D7.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL; QQK
-1D723 ; [.12D7.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA; QQK
-1D72D ; [.12D7.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL; QQK
-1D75D ; [.12D7.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA; QQK
-1D767 ; [.12D7.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL; QQK
-1D797 ; [.12D7.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA; QQK
-1D7A1 ; [.12D7.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL; QQK
-1DBF ; [.12D7.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA; QQK
-03B9 ; [.12D8.0020.0002.03B9] # GREEK SMALL LETTER IOTA
-1FBE ; [.12D8.0020.0002.1FBE] # GREEK PROSGEGRAMMENI; QQC
-037A ; [.12D8.0020.0004.037A] # GREEK YPOGEGRAMMENI; QQK
-1D6CA ; [.12D8.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA; QQK
-1D704 ; [.12D8.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA; QQK
-1D73E ; [.12D8.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA; QQK
-1D778 ; [.12D8.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA; QQK
-1D7B2 ; [.12D8.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA; QQK
-0399 ; [.12D8.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
-1D6B0 ; [.12D8.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA; QQK
-1D6EA ; [.12D8.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA; QQK
-1D724 ; [.12D8.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA; QQK
-1D75E ; [.12D8.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA; QQK
-1D798 ; [.12D8.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA; QQK
-1F30 ; [.12D8.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI; QQCM
-1F38 ; [.12D8.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI; QQCM
-1F34 ; [.12D8.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA; QQCM
-1F3C ; [.12D8.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA; QQCM
-1F32 ; [.12D8.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA; QQCM
-1F3A ; [.12D8.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA; QQCM
-1F36 ; [.12D8.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
-1F3E ; [.12D8.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
-1F31 ; [.12D8.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA; QQCM
-1F39 ; [.12D8.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA; QQCM
-1F35 ; [.12D8.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA; QQCM
-1F3D ; [.12D8.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA; QQCM
-1F33 ; [.12D8.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA; QQCM
-1F3B ; [.12D8.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA; QQCM
-1F37 ; [.12D8.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
-1F3F ; [.12D8.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
-03AF ; [.12D8.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS; QQCM
-1F77 ; [.12D8.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA; QQCM
-038A ; [.12D8.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS; QQCM
-1FDB ; [.12D8.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA; QQCM
-1F76 ; [.12D8.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA; QQCM
-1FDA ; [.12D8.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA; QQCM
-1FD0 ; [.12D8.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY; QQCM
-1FD8 ; [.12D8.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY; QQCM
-1FD6 ; [.12D8.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI; QQCM
-03CA ; [.12D8.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA; QQCM
-03AA ; [.12D8.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA; QQCM
-0390 ; [.12D8.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS; QQCM
-1FD3 ; [.12D8.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; QQCM
-1FD2 ; [.12D8.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA; QQCM
-1FD7 ; [.12D8.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI; QQCM
-1FD1 ; [.12D8.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON; QQCM
-1FD9 ; [.12D8.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON; QQCM
-03F3 ; [.12D9.0020.0002.03F3] # GREEK LETTER YOT
-03BA ; [.12DA.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
-03F0 ; [.12DA.0020.0004.03F0] # GREEK KAPPA SYMBOL; QQK
-1D6CB ; [.12DA.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA; QQK
-1D6DE ; [.12DA.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL; QQK
-1D705 ; [.12DA.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA; QQK
-1D718 ; [.12DA.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL; QQK
-1D73F ; [.12DA.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA; QQK
-1D752 ; [.12DA.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL; QQK
-1D779 ; [.12DA.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA; QQK
-1D78C ; [.12DA.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL; QQK
-1D7B3 ; [.12DA.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA; QQK
-1D7C6 ; [.12DA.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL; QQK
-039A ; [.12DA.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
-1D6B1 ; [.12DA.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA; QQK
-1D6EB ; [.12DA.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA; QQK
-1D725 ; [.12DA.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA; QQK
-1D75F ; [.12DA.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA; QQK
-1D799 ; [.12DA.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA; QQK
-03D7 ; [.12DA.0020.0004.03D7][.12CD.0020.0004.03D7][.12D8.0020.001F.03D7] # GREEK KAI SYMBOL; QQKN
-03BB ; [.12DB.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
-1D6CC ; [.12DB.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA; QQK
-1D706 ; [.12DB.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA; QQK
-1D740 ; [.12DB.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA; QQK
-1D77A ; [.12DB.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA; QQK
-1D7B4 ; [.12DB.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA; QQK
-039B ; [.12DB.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
-1D6B2 ; [.12DB.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA; QQK
-1D6EC ; [.12DB.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA; QQK
-1D726 ; [.12DB.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA; QQK
-1D760 ; [.12DB.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA; QQK
-1D79A ; [.12DB.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA; QQK
-1D27 ; [.12DC.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
-03BC ; [.12DD.0020.0002.03BC] # GREEK SMALL LETTER MU
-00B5 ; [.12DD.0020.0004.00B5] # MICRO SIGN; QQK
-1D6CD ; [.12DD.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU; QQK
-1D707 ; [.12DD.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU; QQK
-1D741 ; [.12DD.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU; QQK
-1D77B ; [.12DD.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU; QQK
-1D7B5 ; [.12DD.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU; QQK
-039C ; [.12DD.0020.0008.039C] # GREEK CAPITAL LETTER MU
-1D6B3 ; [.12DD.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU; QQK
-1D6ED ; [.12DD.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU; QQK
-1D727 ; [.12DD.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU; QQK
-1D761 ; [.12DD.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU; QQK
-1D79B ; [.12DD.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU; QQK
-3382 ; [.12DD.0020.001C.3382][.0FD0.0020.001D.3382] # SQUARE MU A; QQKN
-338C ; [.12DD.0020.001C.338C][.105F.0020.001D.338C] # SQUARE MU F; QQKN
-338D ; [.12DD.0020.001C.338D][.106A.0020.001C.338D] # SQUARE MU G; QQKN
-3395 ; [.12DD.0020.001C.3395][.10E5.0020.001C.3395] # SQUARE MU L; QQKN
-339B ; [.12DD.0020.001C.339B][.1110.0020.001C.339B] # SQUARE MU M; QQKN
-33B2 ; [.12DD.0020.001C.33B2][.11AF.0020.001C.33B2] # SQUARE MU S; QQKN
-33B6 ; [.12DD.0020.001C.33B6][.1216.0020.001D.33B6] # SQUARE MU V; QQKN
-33BC ; [.12DD.0020.001C.33BC][.1225.0020.001D.33BC] # SQUARE MU W; QQKN
-03BD ; [.12DE.0020.0002.03BD] # GREEK SMALL LETTER NU
-1D6CE ; [.12DE.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU; QQK
-1D708 ; [.12DE.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU; QQK
-1D742 ; [.12DE.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU; QQK
-1D77C ; [.12DE.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU; QQK
-1D7B6 ; [.12DE.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU; QQK
-039D ; [.12DE.0020.0008.039D] # GREEK CAPITAL LETTER NU
-1D6B4 ; [.12DE.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU; QQK
-1D6EE ; [.12DE.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU; QQK
-1D728 ; [.12DE.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU; QQK
-1D762 ; [.12DE.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU; QQK
-1D79C ; [.12DE.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU; QQK
-03BE ; [.12DF.0020.0002.03BE] # GREEK SMALL LETTER XI
-1D6CF ; [.12DF.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI; QQK
-1D709 ; [.12DF.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI; QQK
-1D743 ; [.12DF.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI; QQK
-1D77D ; [.12DF.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI; QQK
-1D7B7 ; [.12DF.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI; QQK
-039E ; [.12DF.0020.0008.039E] # GREEK CAPITAL LETTER XI
-1D6B5 ; [.12DF.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI; QQK
-1D6EF ; [.12DF.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI; QQK
-1D729 ; [.12DF.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI; QQK
-1D763 ; [.12DF.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI; QQK
-1D79D ; [.12DF.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI; QQK
-03BF ; [.12E0.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
-1D6D0 ; [.12E0.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON; QQK
-1D70A ; [.12E0.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON; QQK
-1D744 ; [.12E0.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON; QQK
-1D77E ; [.12E0.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON; QQK
-1D7B8 ; [.12E0.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON; QQK
-039F ; [.12E0.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
-1D6B6 ; [.12E0.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON; QQK
-1D6F0 ; [.12E0.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON; QQK
-1D72A ; [.12E0.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON; QQK
-1D764 ; [.12E0.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON; QQK
-1D79E ; [.12E0.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON; QQK
-1F40 ; [.12E0.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI; QQCM
-1F48 ; [.12E0.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI; QQCM
-1F44 ; [.12E0.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA; QQCM
-1F4C ; [.12E0.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA; QQCM
-1F42 ; [.12E0.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA; QQCM
-1F4A ; [.12E0.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA; QQCM
-1F41 ; [.12E0.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA; QQCM
-1F49 ; [.12E0.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA; QQCM
-1F45 ; [.12E0.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA; QQCM
-1F4D ; [.12E0.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA; QQCM
-1F43 ; [.12E0.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA; QQCM
-1F4B ; [.12E0.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA; QQCM
-03CC ; [.12E0.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS; QQCM
-1F79 ; [.12E0.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA; QQCM
-038C ; [.12E0.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS; QQCM
-1FF9 ; [.12E0.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA; QQCM
-1F78 ; [.12E0.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA; QQCM
-1FF8 ; [.12E0.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA; QQCM
-03C0 ; [.12E1.0020.0002.03C0] # GREEK SMALL LETTER PI
-03D6 ; [.12E1.0020.0004.03D6] # GREEK PI SYMBOL; QQK
-213C ; [.12E1.0020.0005.213C] # DOUBLE-STRUCK SMALL PI; QQK
-1D6D1 ; [.12E1.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI; QQK
-1D6E1 ; [.12E1.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL; QQK
-1D70B ; [.12E1.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI; QQK
-1D71B ; [.12E1.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL; QQK
-1D745 ; [.12E1.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI; QQK
-1D755 ; [.12E1.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL; QQK
-1D77F ; [.12E1.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI; QQK
-1D78F ; [.12E1.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL; QQK
-1D7B9 ; [.12E1.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI; QQK
-1D7C9 ; [.12E1.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL; QQK
-03A0 ; [.12E1.0020.0008.03A0] # GREEK CAPITAL LETTER PI
-213F ; [.12E1.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI; QQK
-1D6B7 ; [.12E1.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI; QQK
-1D6F1 ; [.12E1.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI; QQK
-1D72B ; [.12E1.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI; QQK
-1D765 ; [.12E1.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI; QQK
-1D79F ; [.12E1.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI; QQK
-1D28 ; [.12E2.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
-03FB ; [.12E3.0020.0002.03FB] # GREEK SMALL LETTER SAN
-03FA ; [.12E3.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
-03DF ; [.12E4.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
-03DE ; [.12E4.0020.0008.03DE] # GREEK LETTER KOPPA
-03D9 ; [.12E5.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
-03D8 ; [.12E5.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
-03C1 ; [.12E6.0020.0002.03C1] # GREEK SMALL LETTER RHO
-03F1 ; [.12E6.0020.0004.03F1] # GREEK RHO SYMBOL; QQK
-1D6D2 ; [.12E6.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO; QQK
-1D6E0 ; [.12E6.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL; QQK
-1D70C ; [.12E6.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO; QQK
-1D71A ; [.12E6.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL; QQK
-1D746 ; [.12E6.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO; QQK
-1D754 ; [.12E6.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL; QQK
-1D780 ; [.12E6.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO; QQK
-1D78E ; [.12E6.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL; QQK
-1D7BA ; [.12E6.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO; QQK
-1D7C8 ; [.12E6.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL; QQK
-03A1 ; [.12E6.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
-1D6B8 ; [.12E6.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO; QQK
-1D6F2 ; [.12E6.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO; QQK
-1D72C ; [.12E6.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO; QQK
-1D766 ; [.12E6.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO; QQK
-1D7A0 ; [.12E6.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO; QQK
-1D68 ; [.12E6.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO; QQK
-1FE4 ; [.12E6.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI; QQCM
-1FE5 ; [.12E6.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA; QQCM
-1FEC ; [.12E6.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA; QQCM
-1D29 ; [.12E7.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
-03FC ; [.12E8.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
-03C3 ; [.12E9.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
-03F2 ; [.12E9.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL; QQK
-1D6D3 ; [.12E9.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA; QQK
-1D6D4 ; [.12E9.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA; QQK
-1D70D ; [.12E9.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA; QQK
-1D70E ; [.12E9.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA; QQK
-1D747 ; [.12E9.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA; QQK
-1D748 ; [.12E9.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA; QQK
-1D781 ; [.12E9.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA; QQK
-1D782 ; [.12E9.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA; QQK
-1D7BB ; [.12E9.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA; QQK
-1D7BC ; [.12E9.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA; QQK
-03A3 ; [.12E9.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
-03F9 ; [.12E9.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL; QQK
-1D6BA ; [.12E9.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA; QQK
-1D6F4 ; [.12E9.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA; QQK
-1D72E ; [.12E9.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA; QQK
-1D768 ; [.12E9.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA; QQK
-1D7A2 ; [.12E9.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA; QQK
-03C2 ; [.12E9.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA; QQK
-037C ; [.12EA.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-03FE ; [.12EA.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-037B ; [.12EB.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-03FD ; [.12EB.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-037D ; [.12EC.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03FF ; [.12EC.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03C4 ; [.12ED.0020.0002.03C4] # GREEK SMALL LETTER TAU
-1D6D5 ; [.12ED.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU; QQK
-1D70F ; [.12ED.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU; QQK
-1D749 ; [.12ED.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU; QQK
-1D783 ; [.12ED.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU; QQK
-1D7BD ; [.12ED.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU; QQK
-03A4 ; [.12ED.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
-1D6BB ; [.12ED.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU; QQK
-1D6F5 ; [.12ED.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU; QQK
-1D72F ; [.12ED.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU; QQK
-1D769 ; [.12ED.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU; QQK
-1D7A3 ; [.12ED.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU; QQK
-03C5 ; [.12EE.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
-1D6D6 ; [.12EE.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON; QQK
-1D710 ; [.12EE.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON; QQK
-1D74A ; [.12EE.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON; QQK
-1D784 ; [.12EE.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON; QQK
-1D7BE ; [.12EE.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON; QQK
-03A5 ; [.12EE.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
-03D2 ; [.12EE.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL; QQK
-1D6BC ; [.12EE.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON; QQK
-1D6F6 ; [.12EE.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON; QQK
-1D730 ; [.12EE.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON; QQK
-1D76A ; [.12EE.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON; QQK
-1D7A4 ; [.12EE.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON; QQK
-1F50 ; [.12EE.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI; QQCM
-1F54 ; [.12EE.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA; QQCM
-1F52 ; [.12EE.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA; QQCM
-1F56 ; [.12EE.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI; QQCM
-1F51 ; [.12EE.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA; QQCM
-1F59 ; [.12EE.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA; QQCM
-1F55 ; [.12EE.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA; QQCM
-1F5D ; [.12EE.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA; QQCM
-1F53 ; [.12EE.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA; QQCM
-1F5B ; [.12EE.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA; QQCM
-1F57 ; [.12EE.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
-1F5F ; [.12EE.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
-03CD ; [.12EE.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS; QQCM
-1F7B ; [.12EE.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA; QQCM
-038E ; [.12EE.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS; QQCM
-1FEB ; [.12EE.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA; QQCM
-03D3 ; [.12EE.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL; QQKN
-1F7A ; [.12EE.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA; QQCM
-1FEA ; [.12EE.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA; QQCM
-1FE0 ; [.12EE.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY; QQCM
-1FE8 ; [.12EE.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY; QQCM
-1FE6 ; [.12EE.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI; QQCM
-03CB ; [.12EE.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA; QQCM
-03AB ; [.12EE.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA; QQCM
-03D4 ; [.12EE.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL; QQKN
-03B0 ; [.12EE.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS; QQCM
-1FE3 ; [.12EE.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; QQCM
-1FE2 ; [.12EE.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA; QQCM
-1FE7 ; [.12EE.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI; QQCM
-1FE1 ; [.12EE.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON; QQCM
-1FE9 ; [.12EE.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON; QQCM
-03C6 ; [.12EF.0020.0002.03C6] # GREEK SMALL LETTER PHI
-03D5 ; [.12EF.0020.0004.03D5] # GREEK PHI SYMBOL; QQK
-1D6D7 ; [.12EF.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI; QQK
-1D6DF ; [.12EF.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL; QQK
-1D711 ; [.12EF.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI; QQK
-1D719 ; [.12EF.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL; QQK
-1D74B ; [.12EF.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI; QQK
-1D753 ; [.12EF.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL; QQK
-1D785 ; [.12EF.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI; QQK
-1D78D ; [.12EF.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL; QQK
-1D7BF ; [.12EF.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI; QQK
-1D7C7 ; [.12EF.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL; QQK
-03A6 ; [.12EF.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
-1D6BD ; [.12EF.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI; QQK
-1D6F7 ; [.12EF.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI; QQK
-1D731 ; [.12EF.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI; QQK
-1D76B ; [.12EF.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI; QQK
-1D7A5 ; [.12EF.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI; QQK
-1D60 ; [.12EF.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI; QQK
-1D69 ; [.12EF.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI; QQK
-03C7 ; [.12F0.0020.0002.03C7] # GREEK SMALL LETTER CHI
-1D6D8 ; [.12F0.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI; QQK
-1D712 ; [.12F0.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI; QQK
-1D74C ; [.12F0.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI; QQK
-1D786 ; [.12F0.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI; QQK
-1D7C0 ; [.12F0.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI; QQK
-03A7 ; [.12F0.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
-1D6BE ; [.12F0.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI; QQK
-1D6F8 ; [.12F0.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI; QQK
-1D732 ; [.12F0.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI; QQK
-1D76C ; [.12F0.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI; QQK
-1D7A6 ; [.12F0.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI; QQK
-1D61 ; [.12F0.0020.0014.1D61] # MODIFIER LETTER SMALL CHI; QQK
-1D6A ; [.12F0.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI; QQK
-03C8 ; [.12F1.0020.0002.03C8] # GREEK SMALL LETTER PSI
-1D6D9 ; [.12F1.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI; QQK
-1D713 ; [.12F1.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI; QQK
-1D74D ; [.12F1.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI; QQK
-1D787 ; [.12F1.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI; QQK
-1D7C1 ; [.12F1.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI; QQK
-03A8 ; [.12F1.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
-1D6BF ; [.12F1.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI; QQK
-1D6F9 ; [.12F1.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI; QQK
-1D733 ; [.12F1.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI; QQK
-1D76D ; [.12F1.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI; QQK
-1D7A7 ; [.12F1.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI; QQK
-1D2A ; [.12F2.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
-03C9 ; [.12F3.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
-1D6DA ; [.12F3.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA; QQK
-1D714 ; [.12F3.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA; QQK
-1D74E ; [.12F3.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA; QQK
-1D788 ; [.12F3.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA; QQK
-1D7C2 ; [.12F3.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA; QQK
-03A9 ; [.12F3.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
-2126 ; [.12F3.0020.0008.2126] # OHM SIGN; QQC
-1D6C0 ; [.12F3.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA; QQK
-1D6FA ; [.12F3.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA; QQK
-1D734 ; [.12F3.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA; QQK
-1D76E ; [.12F3.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA; QQK
-1D7A8 ; [.12F3.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA; QQK
-1F60 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI; QQCM
-1F68 ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI; QQCM
-1F64 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA; QQCM
-1F6C ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA; QQCM
-1FA4 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1FAC ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F62 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA; QQCM
-1F6A ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA; QQCM
-1FA2 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1FAA ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F66 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
-1F6E ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
-1FA6 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FAE ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1FA0 ; [.12F3.0020.0002.03C9][.0000.0022.0002.0313][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1FA8 ; [.12F3.0020.0008.03A9][.0000.0022.0002.0313][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F61 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA; QQCM
-1F69 ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA; QQCM
-1F65 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA; QQCM
-1F6D ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA; QQCM
-1FA5 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1FAD ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F63 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA; QQCM
-1F6B ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA; QQCM
-1FA3 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1FAB ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F67 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
-1F6F ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
-1FA7 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FAF ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1FA1 ; [.12F3.0020.0002.03C9][.0000.002A.0002.0314][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1FA9 ; [.12F3.0020.0008.03A9][.0000.002A.0002.0314][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03CE ; [.12F3.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS; QQCM
-1F7D ; [.12F3.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA; QQCM
-038F ; [.12F3.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS; QQCM
-1FFB ; [.12F3.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA; QQCM
-1FF4 ; [.12F3.0020.0002.03C9][.0000.0032.0002.0301][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F7C ; [.12F3.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA; QQCM
-1FFA ; [.12F3.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA; QQCM
-1FF2 ; [.12F3.0020.0002.03C9][.0000.0035.0002.0300][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FF6 ; [.12F3.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI; QQCM
-1FF7 ; [.12F3.0020.0002.03C9][.0000.0045.0002.0342][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FF3 ; [.12F3.0020.0002.03C9][.0000.0097.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI; QQCM
-1FFC ; [.12F3.0020.0008.03A9][.0000.0097.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI; QQCM
-03E1 ; [.12F4.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
-03E0 ; [.12F4.0020.0008.03E0] # GREEK LETTER SAMPI
-03F8 ; [.12F5.0020.0002.03F8] # GREEK SMALL LETTER SHO
-03F7 ; [.12F5.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
-2C81 ; [.12F6.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
-2C80 ; [.12F6.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
-2C83 ; [.12F7.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
-2C82 ; [.12F7.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
-2C85 ; [.12F8.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
-2C84 ; [.12F8.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
-2C87 ; [.12F9.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
-2C86 ; [.12F9.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
-2C89 ; [.12FA.0020.0002.2C89] # COPTIC SMALL LETTER EIE
-2C88 ; [.12FA.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
-2CB7 ; [.12FB.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB6 ; [.12FB.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2C8B ; [.12FC.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
-2C8A ; [.12FC.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
-2C8D ; [.12FD.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
-2C8C ; [.12FD.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
-2C8F ; [.12FE.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
-2C8E ; [.12FE.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
-2C91 ; [.12FF.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
-2C90 ; [.12FF.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
-2C93 ; [.1300.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
-2C92 ; [.1300.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
-2C95 ; [.1301.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
-2C94 ; [.1301.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
-2CE4 ; [.1301.0020.0004.2CE4][.12F6.0020.0004.2CE4][.1300.0020.001F.2CE4] # COPTIC SYMBOL KAI; QQKN
-2CB9 ; [.1302.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
-2CB8 ; [.1302.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2C97 ; [.1303.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
-2C96 ; [.1303.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
-2C99 ; [.1304.0020.0002.2C99] # COPTIC SMALL LETTER MI
-2C98 ; [.1304.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
-2C9B ; [.1305.0020.0002.2C9B] # COPTIC SMALL LETTER NI
-2C9A ; [.1305.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
-2CBB ; [.1306.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
-2CBA ; [.1306.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBD ; [.1307.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBC ; [.1307.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2C9D ; [.1308.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
-2C9C ; [.1308.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
-2C9F ; [.1309.0020.0002.2C9F] # COPTIC SMALL LETTER O
-2C9E ; [.1309.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
-2CA1 ; [.130A.0020.0002.2CA1] # COPTIC SMALL LETTER PI
-2CA0 ; [.130A.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
-2CA3 ; [.130B.0020.0002.2CA3] # COPTIC SMALL LETTER RO
-2CA2 ; [.130B.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
-2CA5 ; [.130C.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
-2CA4 ; [.130C.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
-2CA7 ; [.130D.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
-2CA6 ; [.130D.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
-2CA9 ; [.130E.0020.0002.2CA9] # COPTIC SMALL LETTER UA
-2CA8 ; [.130E.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
-2CAB ; [.130F.0020.0002.2CAB] # COPTIC SMALL LETTER FI
-2CAA ; [.130F.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
-2CAD ; [.1310.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
-2CAC ; [.1310.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
-2CAF ; [.1311.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
-2CAE ; [.1311.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
-2CB1 ; [.1312.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
-2CB0 ; [.1312.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
-2CBF ; [.1313.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
-2CBE ; [.1313.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC1 ; [.1314.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
-2CC0 ; [.1314.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
-03E3 ; [.1315.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
-03E2 ; [.1315.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
-2CC3 ; [.1316.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
-2CC2 ; [.1316.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC5 ; [.1317.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC4 ; [.1317.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC7 ; [.1318.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC6 ; [.1318.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
-03E5 ; [.1319.0020.0002.03E5] # COPTIC SMALL LETTER FEI
-03E4 ; [.1319.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
-03E7 ; [.131A.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
-03E6 ; [.131A.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
-2CC9 ; [.131B.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CC8 ; [.131B.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-03E9 ; [.131C.0020.0002.03E9] # COPTIC SMALL LETTER HORI
-03E8 ; [.131C.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
-2CCB ; [.131D.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
-2CCA ; [.131D.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCD ; [.131E.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCC ; [.131E.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCF ; [.131F.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
-2CCE ; [.131F.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD1 ; [.1320.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
-2CD0 ; [.1320.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD3 ; [.1321.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD2 ; [.1321.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD5 ; [.1322.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD4 ; [.1322.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
-03EB ; [.1323.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
-03EA ; [.1323.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
-2CD7 ; [.1324.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD6 ; [.1324.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-03ED ; [.1325.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
-03EC ; [.1325.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
-2CD9 ; [.1326.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
-2CD8 ; [.1326.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDB ; [.1327.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDA ; [.1327.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDD ; [.1328.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDC ; [.1328.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-03EF ; [.1329.0020.0002.03EF] # COPTIC SMALL LETTER DEI
-03EE ; [.1329.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
-2CB3 ; [.132A.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB2 ; [.132A.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB5 ; [.132B.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB4 ; [.132B.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CDF ; [.132C.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CDE ; [.132C.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE1 ; [.132D.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE0 ; [.132D.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE3 ; [.132E.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE2 ; [.132E.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-0430 ; [.132F.0020.0002.0430] # CYRILLIC SMALL LETTER A
-0410 ; [.132F.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
-04D1 ; [.1333.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-0430 0306 ; [.1333.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1333.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-0410 0306 ; [.1333.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1337.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-0430 0308 ; [.1337.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1337.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0410 0308 ; [.1337.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D9 ; [.133B.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
-04D8 ; [.133B.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
-04DB ; [.133F.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04D9 0308 ; [.133F.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.133F.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D8 0308 ; [.133F.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D5 ; [.1343.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
-04D4 ; [.1343.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
-0431 ; [.1347.0020.0002.0431] # CYRILLIC SMALL LETTER BE
-0411 ; [.1347.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
-0432 ; [.134B.0020.0002.0432] # CYRILLIC SMALL LETTER VE
-0412 ; [.134B.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
-0433 ; [.134F.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
-0413 ; [.134F.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
-0491 ; [.134F.0020.0004.0491][.0000.019A.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN; QQKN
-0490 ; [.134F.0020.000A.0490][.0000.019A.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN; QQKN
-0493 ; [.1353.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
-0492 ; [.1353.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-04FB ; [.1357.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FA ; [.1357.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-0495 ; [.135B.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0494 ; [.135B.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-04F7 ; [.135F.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F6 ; [.135F.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-0434 ; [.1363.0020.0002.0434] # CYRILLIC SMALL LETTER DE
-0414 ; [.1363.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
-0501 ; [.1367.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
-0500 ; [.1367.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
-0452 ; [.1368.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
-0402 ; [.1368.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
-0503 ; [.136C.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
-0502 ; [.136C.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
-0453 ; [.136D.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0301 ; [.136D.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0341 ; [.136D.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0403 ; [.136D.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0301 ; [.136D.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0341 ; [.136D.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0499 ; [.1371.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-0498 ; [.1371.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0435 ; [.1375.0020.0002.0435] # CYRILLIC SMALL LETTER IE
-0415 ; [.1375.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
-0450 ; [.1375.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE; QQCM
-0400 ; [.1375.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE; QQCM
-0451 ; [.1375.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO; QQCM
-0401 ; [.1375.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO; QQCM
-04D7 ; [.1379.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-0435 0306 ; [.1379.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.1379.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0415 0306 ; [.1379.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0454 ; [.137D.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
-0404 ; [.137D.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0436 ; [.1381.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
-0416 ; [.1381.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
-04C2 ; [.1381.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE; QQCM
-04C1 ; [.1381.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE; QQCM
-04DD ; [.1385.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-0436 0308 ; [.1385.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.1385.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0416 0308 ; [.1385.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0497 ; [.1389.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0496 ; [.1389.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0437 ; [.138D.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
-0417 ; [.138D.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
-0505 ; [.1391.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
-0504 ; [.1391.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
-0511 ; [.1392.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
-0510 ; [.1392.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
-04DF ; [.1393.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-0437 0308 ; [.1393.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.1393.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0417 0308 ; [.1393.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0455 ; [.1397.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
-0405 ; [.1397.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
-04E1 ; [.139B.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E0 ; [.139B.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-0507 ; [.139F.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
-0506 ; [.139F.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
-0438 ; [.13A0.0020.0002.0438] # CYRILLIC SMALL LETTER I
-0418 ; [.13A0.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
-045D ; [.13A0.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE; QQCM
-040D ; [.13A0.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE; QQCM
-04E3 ; [.13A0.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON; QQCM
-04E2 ; [.13A0.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON; QQCM
-048B ; [.13A4.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048A ; [.13A4.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-04E5 ; [.13A8.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-0438 0308 ; [.13A8.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4 ; [.13A8.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0418 0308 ; [.13A8.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0456 ; [.13AC.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406 ; [.13AC.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0457 ; [.13B0.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0456 0308 ; [.13B0.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0407 ; [.13B0.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0406 0308 ; [.13B0.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0439 ; [.13B4.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0438 0306 ; [.13B4.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0419 ; [.13B4.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0418 0306 ; [.13B4.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0458 ; [.13B8.0020.0002.0458] # CYRILLIC SMALL LETTER JE
-0408 ; [.13B8.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
-043A ; [.13BC.0020.0002.043A] # CYRILLIC SMALL LETTER KA
-041A ; [.13BC.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
-049B ; [.13C0.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049A ; [.13C0.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-04C4 ; [.13C4.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
-04C3 ; [.13C4.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04A1 ; [.13C8.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
-04A0 ; [.13C8.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
-049F ; [.13CC.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
-049E ; [.13CC.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049D ; [.13D0.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049C ; [.13D0.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-043B ; [.13D4.0020.0002.043B] # CYRILLIC SMALL LETTER EL
-041B ; [.13D4.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
-1D2B ; [.13D8.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
-04C6 ; [.13D9.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
-04C5 ; [.13D9.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
-0513 ; [.13DD.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
-0512 ; [.13DD.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0459 ; [.13DE.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
-0409 ; [.13DE.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
-0509 ; [.13E2.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
-0508 ; [.13E2.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
-043C ; [.13E3.0020.0002.043C] # CYRILLIC SMALL LETTER EM
-041C ; [.13E3.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
-04CE ; [.13E7.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
-04CD ; [.13E7.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
-043D ; [.13EB.0020.0002.043D] # CYRILLIC SMALL LETTER EN
-041D ; [.13EB.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
-1D78 ; [.13EB.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN; QQK
-04CA ; [.13EF.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
-04C9 ; [.13EF.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04A3 ; [.13F3.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A2 ; [.13F3.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04C8 ; [.13F7.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
-04C7 ; [.13F7.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
-04A5 ; [.13FB.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
-04A4 ; [.13FB.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
-045A ; [.13FF.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
-040A ; [.13FF.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
-050B ; [.1403.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
-050A ; [.1403.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
-043E ; [.1404.0020.0002.043E] # CYRILLIC SMALL LETTER O
-041E ; [.1404.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
-04E7 ; [.1408.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-043E 0308 ; [.1408.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1408.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-041E 0308 ; [.1408.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E9 ; [.140C.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
-04E8 ; [.140C.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
-04EB ; [.1410.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04E9 0308 ; [.1410.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1410.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04E8 0308 ; [.1410.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-043F ; [.1414.0020.0002.043F] # CYRILLIC SMALL LETTER PE
-041F ; [.1414.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
-04A7 ; [.1418.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A6 ; [.1418.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-0481 ; [.141C.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
-0480 ; [.141C.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
-0440 ; [.1420.0020.0002.0440] # CYRILLIC SMALL LETTER ER
-0420 ; [.1420.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
-048F ; [.1424.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
-048E ; [.1424.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
-0441 ; [.1428.0020.0002.0441] # CYRILLIC SMALL LETTER ES
-0421 ; [.1428.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
-050D ; [.142C.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
-050C ; [.142C.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
-04AB ; [.142D.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AA ; [.142D.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-0442 ; [.1431.0020.0002.0442] # CYRILLIC SMALL LETTER TE
-0422 ; [.1431.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
-050F ; [.1435.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
-050E ; [.1435.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
-04AD ; [.1436.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AC ; [.1436.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-045B ; [.143A.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
-040B ; [.143A.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
-045C ; [.143E.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0301 ; [.143E.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0341 ; [.143E.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-040C ; [.143E.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0301 ; [.143E.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0341 ; [.143E.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-0443 ; [.1442.0020.0002.0443] # CYRILLIC SMALL LETTER U
-0423 ; [.1442.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
-04EF ; [.1442.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON; QQCM
-04EE ; [.1442.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON; QQCM
-045E ; [.1446.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-0443 0306 ; [.1446.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1446.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-0423 0306 ; [.1446.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.144A.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-0443 0308 ; [.144A.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.144A.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-0423 0308 ; [.144A.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.144E.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-0443 030B ; [.144E.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.144E.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-0423 030B ; [.144E.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04AF ; [.1452.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE ; [.1452.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
-04B1 ; [.1456.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0 ; [.1456.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-0479 ; [.145A.0020.0002.0479] # CYRILLIC SMALL LETTER UK
-0478 ; [.145A.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
-0444 ; [.145E.0020.0002.0444] # CYRILLIC SMALL LETTER EF
-0424 ; [.145E.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
-0445 ; [.1462.0020.0002.0445] # CYRILLIC SMALL LETTER HA
-0425 ; [.1462.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
-04FD ; [.1466.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
-04FC ; [.1466.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FF ; [.146A.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
-04FE ; [.146A.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04B3 ; [.146E.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B2 ; [.146E.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04BB ; [.1472.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
-04BA ; [.1472.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
-0461 ; [.1476.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
-0460 ; [.1476.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
-047F ; [.147A.0020.0002.047F] # CYRILLIC SMALL LETTER OT
-047E ; [.147A.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
-047D ; [.147E.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047C ; [.147E.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047B ; [.1482.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
-047A ; [.1482.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
-0446 ; [.1486.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
-0426 ; [.1486.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
-04B5 ; [.148A.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
-04B4 ; [.148A.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
-0447 ; [.148E.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
-0427 ; [.148E.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
-04F5 ; [.1492.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-0447 0308 ; [.1492.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1492.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-0427 0308 ; [.1492.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04B7 ; [.1496.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B6 ; [.1496.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04CC ; [.149A.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CB ; [.149A.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04B9 ; [.149E.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04B8 ; [.149E.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BD ; [.14A2.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BC ; [.14A2.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BF ; [.14A6.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04BE ; [.14A6.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-045F ; [.14AA.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
-040F ; [.14AA.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
-0448 ; [.14AE.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
-0428 ; [.14AE.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
-0449 ; [.14B2.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
-0429 ; [.14B2.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
-044A ; [.14B6.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
-042A ; [.14B6.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
-044B ; [.14BA.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
-042B ; [.14BA.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
-04F9 ; [.14BE.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-044B 0308 ; [.14BE.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.14BE.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-042B 0308 ; [.14BE.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-044C ; [.14C2.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
-042C ; [.14C2.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
-048D ; [.14C6.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048C ; [.14C6.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-0463 ; [.14CA.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
-0462 ; [.14CA.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
-044D ; [.14CE.0020.0002.044D] # CYRILLIC SMALL LETTER E
-042D ; [.14CE.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
-04ED ; [.14D2.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-044D 0308 ; [.14D2.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.14D2.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-042D 0308 ; [.14D2.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-044E ; [.14D6.0020.0002.044E] # CYRILLIC SMALL LETTER YU
-042E ; [.14D6.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
-044F ; [.14DA.0020.0002.044F] # CYRILLIC SMALL LETTER YA
-042F ; [.14DA.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
-0465 ; [.14DE.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
-0464 ; [.14DE.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
-0467 ; [.14E2.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
-0466 ; [.14E2.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
-046B ; [.14E6.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
-046A ; [.14E6.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
-0469 ; [.14EA.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-0468 ; [.14EA.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046D ; [.14EE.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046C ; [.14EE.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046F ; [.14F2.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
-046E ; [.14F2.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
-0471 ; [.14F6.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
-0470 ; [.14F6.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
-0473 ; [.14FA.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
-0472 ; [.14FA.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
-0475 ; [.14FE.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
-0474 ; [.14FE.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
-0477 ; [.1502.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0475 030F ; [.1502.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1502.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0474 030F ; [.1502.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-04A9 ; [.1506.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
-04A8 ; [.1506.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04CF ; [.150A.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
-04C0 ; [.150A.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
-2C30 ; [.150E.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
-2C00 ; [.150E.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
-2C31 ; [.150F.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
-2C01 ; [.150F.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
-2C32 ; [.1510.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
-2C02 ; [.1510.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
-2C33 ; [.1511.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
-2C03 ; [.1511.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C34 ; [.1512.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
-2C04 ; [.1512.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
-2C35 ; [.1513.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
-2C05 ; [.1513.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
-2C36 ; [.1514.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
-2C06 ; [.1514.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C37 ; [.1515.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
-2C07 ; [.1515.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
-2C38 ; [.1516.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
-2C08 ; [.1516.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C39 ; [.1517.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
-2C09 ; [.1517.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
-2C3A ; [.1518.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C0A ; [.1518.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C3B ; [.1519.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
-2C0B ; [.1519.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
-2C3C ; [.151A.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
-2C0C ; [.151A.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
-2C3D ; [.151B.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
-2C0D ; [.151B.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
-2C3E ; [.151C.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
-2C0E ; [.151C.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C3F ; [.151D.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
-2C0F ; [.151D.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C40 ; [.151E.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
-2C10 ; [.151E.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
-2C41 ; [.151F.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
-2C11 ; [.151F.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
-2C42 ; [.1520.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
-2C12 ; [.1520.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
-2C43 ; [.1521.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
-2C13 ; [.1521.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
-2C44 ; [.1522.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
-2C14 ; [.1522.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
-2C45 ; [.1523.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
-2C15 ; [.1523.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C46 ; [.1524.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
-2C16 ; [.1524.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
-2C47 ; [.1525.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
-2C17 ; [.1525.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
-2C48 ; [.1526.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
-2C18 ; [.1526.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
-2C49 ; [.1527.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
-2C19 ; [.1527.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
-2C4A ; [.1528.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
-2C1A ; [.1528.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
-2C4B ; [.1529.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
-2C1B ; [.1529.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
-2C4C ; [.152A.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
-2C1C ; [.152A.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
-2C4D ; [.152B.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
-2C1D ; [.152B.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C4E ; [.152C.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
-2C1E ; [.152C.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
-2C4F ; [.152D.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
-2C1F ; [.152D.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
-2C50 ; [.152E.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
-2C20 ; [.152E.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
-2C51 ; [.152F.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
-2C21 ; [.152F.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
-2C52 ; [.1530.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C22 ; [.1530.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C53 ; [.1531.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
-2C23 ; [.1531.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
-2C54 ; [.1532.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
-2C24 ; [.1532.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C55 ; [.1533.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C25 ; [.1533.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C56 ; [.1534.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
-2C26 ; [.1534.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
-2C57 ; [.1535.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C27 ; [.1535.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C58 ; [.1536.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
-2C28 ; [.1536.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C59 ; [.1537.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C29 ; [.1537.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C5A ; [.1538.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
-2C2A ; [.1538.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
-2C5B ; [.1539.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
-2C2B ; [.1539.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C5C ; [.153A.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
-2C2C ; [.153A.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C5D ; [.153B.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C2D ; [.153B.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C5E ; [.153C.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C2E ; [.153C.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-10D0 ; [.153D.0020.0002.10D0] # GEORGIAN LETTER AN
-2D00 ; [.153E.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
-10A0 ; [.153E.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
-10D1 ; [.153F.0020.0002.10D1] # GEORGIAN LETTER BAN
-2D01 ; [.1540.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
-10A1 ; [.1540.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
-10D2 ; [.1541.0020.0002.10D2] # GEORGIAN LETTER GAN
-2D02 ; [.1542.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
-10A2 ; [.1542.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
-10D3 ; [.1543.0020.0002.10D3] # GEORGIAN LETTER DON
-2D03 ; [.1544.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
-10A3 ; [.1544.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
-10D4 ; [.1545.0020.0002.10D4] # GEORGIAN LETTER EN
-2D04 ; [.1546.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
-10A4 ; [.1546.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
-10D5 ; [.1547.0020.0002.10D5] # GEORGIAN LETTER VIN
-2D05 ; [.1548.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
-10A5 ; [.1548.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
-10D6 ; [.1549.0020.0002.10D6] # GEORGIAN LETTER ZEN
-2D06 ; [.154A.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
-10A6 ; [.154A.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
-10F1 ; [.154B.0020.0002.10F1] # GEORGIAN LETTER HE
-2D21 ; [.154C.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
-10C1 ; [.154C.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
-10D7 ; [.154D.0020.0002.10D7] # GEORGIAN LETTER TAN
-2D07 ; [.154E.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
-10A7 ; [.154E.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
-10D8 ; [.154F.0020.0002.10D8] # GEORGIAN LETTER IN
-2D08 ; [.1550.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
-10A8 ; [.1550.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
-10D9 ; [.1551.0020.0002.10D9] # GEORGIAN LETTER KAN
-2D09 ; [.1552.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
-10A9 ; [.1552.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
-10DA ; [.1553.0020.0002.10DA] # GEORGIAN LETTER LAS
-2D0A ; [.1554.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
-10AA ; [.1554.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
-10DB ; [.1555.0020.0002.10DB] # GEORGIAN LETTER MAN
-2D0B ; [.1556.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
-10AB ; [.1556.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
-10DC ; [.1557.0020.0002.10DC] # GEORGIAN LETTER NAR
-10FC ; [.1557.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR; QQK
-2D0C ; [.1558.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
-10AC ; [.1558.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
-10F2 ; [.1559.0020.0002.10F2] # GEORGIAN LETTER HIE
-2D22 ; [.155A.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
-10C2 ; [.155A.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
-10DD ; [.155B.0020.0002.10DD] # GEORGIAN LETTER ON
-2D0D ; [.155C.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
-10AD ; [.155C.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
-10DE ; [.155D.0020.0002.10DE] # GEORGIAN LETTER PAR
-2D0E ; [.155E.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
-10AE ; [.155E.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
-10DF ; [.155F.0020.0002.10DF] # GEORGIAN LETTER ZHAR
-2D0F ; [.1560.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
-10AF ; [.1560.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
-10E0 ; [.1561.0020.0002.10E0] # GEORGIAN LETTER RAE
-2D10 ; [.1562.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
-10B0 ; [.1562.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
-10E1 ; [.1563.0020.0002.10E1] # GEORGIAN LETTER SAN
-2D11 ; [.1564.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
-10B1 ; [.1564.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
-10E2 ; [.1565.0020.0002.10E2] # GEORGIAN LETTER TAR
-2D12 ; [.1566.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
-10B2 ; [.1566.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
-10F3 ; [.1567.0020.0002.10F3] # GEORGIAN LETTER WE
-2D23 ; [.1568.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
-10C3 ; [.1568.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
-10E3 ; [.1569.0020.0002.10E3] # GEORGIAN LETTER UN
-2D13 ; [.156A.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
-10B3 ; [.156A.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
-10E4 ; [.156B.0020.0002.10E4] # GEORGIAN LETTER PHAR
-2D14 ; [.156C.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
-10B4 ; [.156C.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
-10E5 ; [.156D.0020.0002.10E5] # GEORGIAN LETTER KHAR
-2D15 ; [.156E.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
-10B5 ; [.156E.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
-10E6 ; [.156F.0020.0002.10E6] # GEORGIAN LETTER GHAN
-2D16 ; [.1570.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
-10B6 ; [.1570.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
-10E7 ; [.1571.0020.0002.10E7] # GEORGIAN LETTER QAR
-2D17 ; [.1572.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
-10B7 ; [.1572.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
-10E8 ; [.1573.0020.0002.10E8] # GEORGIAN LETTER SHIN
-2D18 ; [.1574.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
-10B8 ; [.1574.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
-10E9 ; [.1575.0020.0002.10E9] # GEORGIAN LETTER CHIN
-2D19 ; [.1576.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
-10B9 ; [.1576.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
-10EA ; [.1577.0020.0002.10EA] # GEORGIAN LETTER CAN
-2D1A ; [.1578.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
-10BA ; [.1578.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
-10EB ; [.1579.0020.0002.10EB] # GEORGIAN LETTER JIL
-2D1B ; [.157A.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
-10BB ; [.157A.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
-10EC ; [.157B.0020.0002.10EC] # GEORGIAN LETTER CIL
-2D1C ; [.157C.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
-10BC ; [.157C.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
-10ED ; [.157D.0020.0002.10ED] # GEORGIAN LETTER CHAR
-2D1D ; [.157E.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
-10BD ; [.157E.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
-10EE ; [.157F.0020.0002.10EE] # GEORGIAN LETTER XAN
-2D1E ; [.1580.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
-10BE ; [.1580.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
-10F4 ; [.1581.0020.0002.10F4] # GEORGIAN LETTER HAR
-2D24 ; [.1582.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
-10C4 ; [.1582.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
-10EF ; [.1583.0020.0002.10EF] # GEORGIAN LETTER JHAN
-2D1F ; [.1584.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
-10BF ; [.1584.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
-10F0 ; [.1585.0020.0002.10F0] # GEORGIAN LETTER HAE
-2D20 ; [.1586.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
-10C0 ; [.1586.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
-10F5 ; [.1587.0020.0002.10F5] # GEORGIAN LETTER HOE
-2D25 ; [.1588.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
-10C5 ; [.1588.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
-10F6 ; [.1589.0020.0002.10F6] # GEORGIAN LETTER FI
-10F7 ; [.158A.0020.0002.10F7] # GEORGIAN LETTER YN
-10F8 ; [.158B.0020.0002.10F8] # GEORGIAN LETTER ELIFI
-10F9 ; [.158C.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
-10FA ; [.158D.0020.0002.10FA] # GEORGIAN LETTER AIN
-0561 ; [.158E.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
-0531 ; [.158E.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
-0562 ; [.158F.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
-0532 ; [.158F.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
-0563 ; [.1590.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
-0533 ; [.1590.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
-0564 ; [.1591.0020.0002.0564] # ARMENIAN SMALL LETTER DA
-0534 ; [.1591.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
-0565 ; [.1592.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
-0535 ; [.1592.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
-0587 ; [.1592.0020.0004.0587][.15AF.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN; QQKN
-0566 ; [.1593.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
-0536 ; [.1593.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
-0567 ; [.1594.0020.0002.0567] # ARMENIAN SMALL LETTER EH
-0537 ; [.1594.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
-0568 ; [.1595.0020.0002.0568] # ARMENIAN SMALL LETTER ET
-0538 ; [.1595.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
-0569 ; [.1596.0020.0002.0569] # ARMENIAN SMALL LETTER TO
-0539 ; [.1596.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
-056A ; [.1597.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
-053A ; [.1597.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
-056B ; [.1598.0020.0002.056B] # ARMENIAN SMALL LETTER INI
-053B ; [.1598.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
-056C ; [.1599.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
-053C ; [.1599.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
-056D ; [.159A.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
-053D ; [.159A.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
-056E ; [.159B.0020.0002.056E] # ARMENIAN SMALL LETTER CA
-053E ; [.159B.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
-056F ; [.159C.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
-053F ; [.159C.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
-0570 ; [.159D.0020.0002.0570] # ARMENIAN SMALL LETTER HO
-0540 ; [.159D.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
-0571 ; [.159E.0020.0002.0571] # ARMENIAN SMALL LETTER JA
-0541 ; [.159E.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
-0572 ; [.159F.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
-0542 ; [.159F.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
-0573 ; [.15A0.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
-0543 ; [.15A0.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
-0574 ; [.15A1.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
-0544 ; [.15A1.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
-FB14 ; [.15A1.0020.0004.FB14][.1592.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH; QQKN
-FB15 ; [.15A1.0020.0004.FB15][.1598.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI; QQKN
-FB17 ; [.15A1.0020.0004.FB17][.159A.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH; QQKN
-FB13 ; [.15A1.0020.0004.FB13][.15A3.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW; QQKN
-0575 ; [.15A2.0020.0002.0575] # ARMENIAN SMALL LETTER YI
-0545 ; [.15A2.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
-0576 ; [.15A3.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
-0546 ; [.15A3.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
-0577 ; [.15A4.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
-0547 ; [.15A4.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
-0578 ; [.15A5.0020.0002.0578] # ARMENIAN SMALL LETTER VO
-0548 ; [.15A5.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
-0579 ; [.15A6.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
-0549 ; [.15A6.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
-057A ; [.15A7.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
-054A ; [.15A7.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
-057B ; [.15A8.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
-054B ; [.15A8.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
-057C ; [.15A9.0020.0002.057C] # ARMENIAN SMALL LETTER RA
-054C ; [.15A9.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
-057D ; [.15AA.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
-054D ; [.15AA.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
-057E ; [.15AB.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
-054E ; [.15AB.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
-FB16 ; [.15AB.0020.0004.FB16][.15A3.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW; QQKN
-057F ; [.15AC.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
-054F ; [.15AC.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
-0580 ; [.15AD.0020.0002.0580] # ARMENIAN SMALL LETTER REH
-0550 ; [.15AD.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
-0581 ; [.15AE.0020.0002.0581] # ARMENIAN SMALL LETTER CO
-0551 ; [.15AE.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
-0582 ; [.15AF.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
-0552 ; [.15AF.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
-0583 ; [.15B0.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
-0553 ; [.15B0.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
-0584 ; [.15B1.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
-0554 ; [.15B1.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
-0585 ; [.15B2.0020.0002.0585] # ARMENIAN SMALL LETTER OH
-0555 ; [.15B2.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
-0586 ; [.15B3.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
-0556 ; [.15B3.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
-0559 ; [.15B4.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
-05D0 ; [.15B5.0020.0002.05D0] # HEBREW LETTER ALEF
-2135 ; [.15B5.0020.0004.2135] # ALEF SYMBOL; QQK
-FB21 ; [.15B5.0020.0005.FB21] # HEBREW LETTER WIDE ALEF; QQK
-FB2E ; [.15B5.0020.0002.05D0][.0000.00CC.0002.05B7] # HEBREW LETTER ALEF WITH PATAH; QQCM
-FB2F ; [.15B5.0020.0002.05D0][.0000.00CD.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS; QQCM
-FB30 ; [.15B5.0020.0002.05D0][.0000.00D4.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ; QQCM
-FB4F ; [.15B5.0020.0004.FB4F][.15C0.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED; QQKN
-05D1 ; [.15B6.0020.0002.05D1] # HEBREW LETTER BET
-2136 ; [.15B6.0020.0004.2136] # BET SYMBOL; QQK
-FB31 ; [.15B6.0020.0002.05D1][.0000.00D4.0002.05BC] # HEBREW LETTER BET WITH DAGESH; QQCM
-FB4C ; [.15B6.0020.0002.05D1][.0000.00D7.0002.05BF] # HEBREW LETTER BET WITH RAFE; QQCM
-05D2 ; [.15B7.0020.0002.05D2] # HEBREW LETTER GIMEL
-2137 ; [.15B7.0020.0004.2137] # GIMEL SYMBOL; QQK
-FB32 ; [.15B7.0020.0002.05D2][.0000.00D4.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH; QQCM
-05D3 ; [.15B8.0020.0002.05D3] # HEBREW LETTER DALET
-2138 ; [.15B8.0020.0004.2138] # DALET SYMBOL; QQK
-FB22 ; [.15B8.0020.0005.FB22] # HEBREW LETTER WIDE DALET; QQK
-FB33 ; [.15B8.0020.0002.05D3][.0000.00D4.0002.05BC] # HEBREW LETTER DALET WITH DAGESH; QQCM
-05D4 ; [.15B9.0020.0002.05D4] # HEBREW LETTER HE
-FB23 ; [.15B9.0020.0005.FB23] # HEBREW LETTER WIDE HE; QQK
-FB34 ; [.15B9.0020.0002.05D4][.0000.00D4.0002.05BC] # HEBREW LETTER HE WITH MAPIQ; QQCM
-05D5 ; [.15BA.0020.0002.05D5] # HEBREW LETTER VAV
-FB4B ; [.15BA.0020.0002.05D5][.0000.00CF.0002.05B9] # HEBREW LETTER VAV WITH HOLAM; QQCM
-FB35 ; [.15BA.0020.0002.05D5][.0000.00D4.0002.05BC] # HEBREW LETTER VAV WITH DAGESH; QQCM
-05F0 ; [.15BA.0020.0004.05F0][.15BA.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV; QQKN
-05F1 ; [.15BA.0020.0004.05F1][.15BE.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD; QQKN
-05D6 ; [.15BB.0020.0002.05D6] # HEBREW LETTER ZAYIN
-FB36 ; [.15BB.0020.0002.05D6][.0000.00D4.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH; QQCM
-05D7 ; [.15BC.0020.0002.05D7] # HEBREW LETTER HET
-05D8 ; [.15BD.0020.0002.05D8] # HEBREW LETTER TET
-FB38 ; [.15BD.0020.0002.05D8][.0000.00D4.0002.05BC] # HEBREW LETTER TET WITH DAGESH; QQCM
-05D9 ; [.15BE.0020.0002.05D9] # HEBREW LETTER YOD
-FB1D ; [.15BE.0020.0002.05D9][.0000.00C9.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ; QQCM
-FB39 ; [.15BE.0020.0002.05D9][.0000.00D4.0002.05BC] # HEBREW LETTER YOD WITH DAGESH; QQCM
-05F2 ; [.15BE.0020.0004.05F2][.15BE.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD; QQKN
-FB1F ; [.15BE.0020.0004.FB1F][.15BE.0020.0004.FB1F][.0000.00CC.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH; QQKN
-05DB ; [.15BF.0020.0002.05DB] # HEBREW LETTER KAF
-FB24 ; [.15BF.0020.0005.FB24] # HEBREW LETTER WIDE KAF; QQK
-05DA ; [.15BF.0020.0019.05DA] # HEBREW LETTER FINAL KAF; QQK
-FB3B ; [.15BF.0020.0002.05DB][.0000.00D4.0002.05BC] # HEBREW LETTER KAF WITH DAGESH; QQCM
-FB3A ; [.15BF.0020.0019.FB3A][.0000.00D4.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH; QQKN
-FB4D ; [.15BF.0020.0002.05DB][.0000.00D7.0002.05BF] # HEBREW LETTER KAF WITH RAFE; QQCM
-05DC ; [.15C0.0020.0002.05DC] # HEBREW LETTER LAMED
-FB25 ; [.15C0.0020.0005.FB25] # HEBREW LETTER WIDE LAMED; QQK
-FB3C ; [.15C0.0020.0002.05DC][.0000.00D4.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH; QQCM
-05DE ; [.15C1.0020.0002.05DE] # HEBREW LETTER MEM
-FB26 ; [.15C1.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM; QQK
-05DD ; [.15C1.0020.0019.05DD] # HEBREW LETTER FINAL MEM; QQK
-FB3E ; [.15C1.0020.0002.05DE][.0000.00D4.0002.05BC] # HEBREW LETTER MEM WITH DAGESH; QQCM
-05E0 ; [.15C2.0020.0002.05E0] # HEBREW LETTER NUN
-05DF ; [.15C2.0020.0019.05DF] # HEBREW LETTER FINAL NUN; QQK
-FB40 ; [.15C2.0020.0002.05E0][.0000.00D4.0002.05BC] # HEBREW LETTER NUN WITH DAGESH; QQCM
-05E1 ; [.15C3.0020.0002.05E1] # HEBREW LETTER SAMEKH
-FB41 ; [.15C3.0020.0002.05E1][.0000.00D4.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH; QQCM
-05E2 ; [.15C4.0020.0002.05E2] # HEBREW LETTER AYIN
-FB20 ; [.15C4.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN; QQK
-05E4 ; [.15C5.0020.0002.05E4] # HEBREW LETTER PE
-05E3 ; [.15C5.0020.0019.05E3] # HEBREW LETTER FINAL PE; QQK
-FB44 ; [.15C5.0020.0002.05E4][.0000.00D4.0002.05BC] # HEBREW LETTER PE WITH DAGESH; QQCM
-FB43 ; [.15C5.0020.0019.FB43][.0000.00D4.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH; QQKN
-FB4E ; [.15C5.0020.0002.05E4][.0000.00D7.0002.05BF] # HEBREW LETTER PE WITH RAFE; QQCM
-05E6 ; [.15C6.0020.0002.05E6] # HEBREW LETTER TSADI
-05E5 ; [.15C6.0020.0019.05E5] # HEBREW LETTER FINAL TSADI; QQK
-FB46 ; [.15C6.0020.0002.05E6][.0000.00D4.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH; QQCM
-05E7 ; [.15C7.0020.0002.05E7] # HEBREW LETTER QOF
-FB47 ; [.15C7.0020.0002.05E7][.0000.00D4.0002.05BC] # HEBREW LETTER QOF WITH DAGESH; QQCM
-05E8 ; [.15C8.0020.0002.05E8] # HEBREW LETTER RESH
-FB27 ; [.15C8.0020.0005.FB27] # HEBREW LETTER WIDE RESH; QQK
-FB48 ; [.15C8.0020.0002.05E8][.0000.00D4.0002.05BC] # HEBREW LETTER RESH WITH DAGESH; QQCM
-05E9 ; [.15C9.0020.0002.05E9] # HEBREW LETTER SHIN
-FB2B ; [.15C9.0020.0002.05E9][.0000.00D2.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT; QQCM
-FB2A ; [.15C9.0020.0002.05E9][.0000.00D3.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT; QQCM
-FB49 ; [.15C9.0020.0002.05E9][.0000.00D4.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH; QQCM
-FB2D ; [.15C9.0020.0002.05E9][.0000.00D4.0002.05BC][.0000.00D2.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT; QQCM
-FB2C ; [.15C9.0020.0002.05E9][.0000.00D4.0002.05BC][.0000.00D3.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT; QQCM
-05EA ; [.15CA.0020.0002.05EA] # HEBREW LETTER TAV
-FB28 ; [.15CA.0020.0005.FB28] # HEBREW LETTER WIDE TAV; QQK
-FB4A ; [.15CA.0020.0002.05EA][.0000.00D4.0002.05BC] # HEBREW LETTER TAV WITH DAGESH; QQCM
-10900 ; [.15CB.0020.0002.10900] # PHOENICIAN LETTER ALF
-10901 ; [.15CC.0020.0002.10901] # PHOENICIAN LETTER BET
-10902 ; [.15CD.0020.0002.10902] # PHOENICIAN LETTER GAML
-10903 ; [.15CE.0020.0002.10903] # PHOENICIAN LETTER DELT
-10904 ; [.15CF.0020.0002.10904] # PHOENICIAN LETTER HE
-10905 ; [.15D0.0020.0002.10905] # PHOENICIAN LETTER WAU
-10906 ; [.15D1.0020.0002.10906] # PHOENICIAN LETTER ZAI
-10907 ; [.15D2.0020.0002.10907] # PHOENICIAN LETTER HET
-10908 ; [.15D3.0020.0002.10908] # PHOENICIAN LETTER TET
-10909 ; [.15D4.0020.0002.10909] # PHOENICIAN LETTER YOD
-1090A ; [.15D5.0020.0002.1090A] # PHOENICIAN LETTER KAF
-1090B ; [.15D6.0020.0002.1090B] # PHOENICIAN LETTER LAMD
-1090C ; [.15D7.0020.0002.1090C] # PHOENICIAN LETTER MEM
-1090D ; [.15D8.0020.0002.1090D] # PHOENICIAN LETTER NUN
-1090E ; [.15D9.0020.0002.1090E] # PHOENICIAN LETTER SEMK
-1090F ; [.15DA.0020.0002.1090F] # PHOENICIAN LETTER AIN
-10910 ; [.15DB.0020.0002.10910] # PHOENICIAN LETTER PE
-10911 ; [.15DC.0020.0002.10911] # PHOENICIAN LETTER SADE
-10912 ; [.15DD.0020.0002.10912] # PHOENICIAN LETTER QOF
-10913 ; [.15DE.0020.0002.10913] # PHOENICIAN LETTER ROSH
-10914 ; [.15DF.0020.0002.10914] # PHOENICIAN LETTER SHIN
-10915 ; [.15E0.0020.0002.10915] # PHOENICIAN LETTER TAU
-0621 ; [.15E1.0020.0002.0621] # ARABIC LETTER HAMZA
-0674 ; [.15E1.0020.0004.0674] # ARABIC LETTER HIGH HAMZA; QQK
-FE80 ; [.15E1.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM; QQK
-06FD ; [.15E1.0020.0004.06FD][.0000.019A.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND; QQKN
-0622 ; [.15E2.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.15E2.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-FE82 ; [.15E2.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM; QQK
-FE81 ; [.15E2.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM; QQK
-0623 ; [.15E3.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.15E3.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-FE84 ; [.15E3.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM; QQK
-FE83 ; [.15E3.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM; QQK
-0672 ; [.15E4.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0671 ; [.15E5.0020.0002.0671] # ARABIC LETTER ALEF WASLA
-FB51 ; [.15E5.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM; QQK
-FB50 ; [.15E5.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM; QQK
-0624 ; [.15E6.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.15E6.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-FE86 ; [.15E6.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM; QQK
-FE85 ; [.15E6.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM; QQK
-0625 ; [.15E7.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.15E7.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-FE88 ; [.15E7.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM; QQK
-FE87 ; [.15E7.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM; QQK
-0673 ; [.15E8.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0626 ; [.15E9.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.15E9.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-FE8B ; [.15E9.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM; QQK
-FE8C ; [.15E9.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM; QQK
-FE8A ; [.15E9.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM; QQK
-FE89 ; [.15E9.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM; QQK
-FBEB ; [.15E9.0020.0019.FBEB][.15EA.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM; QQKN
-FBEA ; [.15E9.0020.001A.FBEA][.15EA.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM; QQKN
-FC97 ; [.15E9.0020.0017.FC97][.15FF.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM; QQKN
-FC00 ; [.15E9.0020.001A.FC00][.15FF.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM; QQKN
-FC98 ; [.15E9.0020.0017.FC98][.1605.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM; QQKN
-FC01 ; [.15E9.0020.001A.FC01][.1605.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM; QQKN
-FC99 ; [.15E9.0020.0017.FC99][.1606.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM; QQKN
-FC64 ; [.15E9.0020.0019.FC64][.161A.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM; QQKN
-FC65 ; [.15E9.0020.0019.FC65][.161B.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM; QQKN
-FC9A ; [.15E9.0020.0017.FC9A][.1663.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM; QQKN
-FCDF ; [.15E9.0020.0018.FCDF][.1663.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM; QQKN
-FC66 ; [.15E9.0020.0019.FC66][.1663.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM; QQKN
-FC02 ; [.15E9.0020.001A.FC02][.1663.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM; QQKN
-FC67 ; [.15E9.0020.0019.FC67][.1666.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM; QQKN
-FC9B ; [.15E9.0020.0017.FC9B][.166F.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM; QQKN
-FCE0 ; [.15E9.0020.0018.FCE0][.166F.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM; QQKN
-FBED ; [.15E9.0020.0019.FBED][.1674.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM; QQKN
-FBEC ; [.15E9.0020.001A.FBEC][.1674.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM; QQKN
-FBEF ; [.15E9.0020.0019.FBEF][.1675.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM; QQKN
-FBEE ; [.15E9.0020.001A.FBEE][.1675.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM; QQKN
-FBF3 ; [.15E9.0020.0019.FBF3][.1678.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM; QQKN
-FBF2 ; [.15E9.0020.001A.FBF2][.1678.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM; QQKN
-FBF1 ; [.15E9.0020.0019.FBF1][.1679.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM; QQKN
-FBF0 ; [.15E9.0020.001A.FBF0][.1679.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM; QQKN
-FBF5 ; [.15E9.0020.0019.FBF5][.167A.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM; QQKN
-FBF4 ; [.15E9.0020.001A.FBF4][.167A.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM; QQKN
-FBFB ; [.15E9.0020.0017.FBFB][.167F.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM; QQKN
-FBFA ; [.15E9.0020.0019.FBFA][.167F.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
-FC68 ; [.15E9.0020.0019.FC68][.167F.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
-FBF9 ; [.15E9.0020.001A.FBF9][.167F.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC03 ; [.15E9.0020.001A.FC03][.167F.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC69 ; [.15E9.0020.0019.FC69][.1680.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM; QQKN
-FC04 ; [.15E9.0020.001A.FC04][.1680.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM; QQKN
-FBF8 ; [.15E9.0020.0017.FBF8][.1684.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM; QQKN
-FBF7 ; [.15E9.0020.0019.FBF7][.1684.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM; QQKN
-FBF6 ; [.15E9.0020.001A.FBF6][.1684.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM; QQKN
-0627 ; [.15EA.0020.0002.0627] # ARABIC LETTER ALEF
-FE8E ; [.15EA.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM; QQK
-FE8D ; [.15EA.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM; QQK
-FD3C ; [.15EA.0020.0019.FD3C][.0000.00D9.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM; QQKN
-FD3D ; [.15EA.0020.001A.FD3D][.0000.00D9.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM; QQKN
-0675 ; [.15EA.0020.0004.0675][.15E1.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF; QQKN
-FDF3 ; [.15EA.0020.001A.FDF3][.164D.0020.001A.FDF3][.15EC.0020.001F.FDF3][.161A.0020.001F.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM; QQKN
-FDF2 ; [.15EA.0020.001A.FDF2][.165D.0020.001A.FDF2][.165D.0020.001F.FDF2][.166F.0020.001F.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM; QQKN
-066E ; [.15EB.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
-0628 ; [.15EC.0020.0002.0628] # ARABIC LETTER BEH
-FE91 ; [.15EC.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM; QQK
-FE92 ; [.15EC.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM; QQK
-FE90 ; [.15EC.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM; QQK
-FE8F ; [.15EC.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM; QQK
-FC9C ; [.15EC.0020.0017.FC9C][.15FF.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM; QQKN
-FC05 ; [.15EC.0020.001A.FC05][.15FF.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM; QQKN
-FC9D ; [.15EC.0020.0017.FC9D][.1605.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM; QQKN
-FC06 ; [.15EC.0020.001A.FC06][.1605.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM; QQKN
-FDC2 ; [.15EC.0020.0019.FDC2][.1605.0020.0019.FDC2][.1680.0020.001F.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM; QQKN
-FC9E ; [.15EC.0020.0017.FC9E][.1606.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM; QQKN
-FC07 ; [.15EC.0020.001A.FC07][.1606.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM; QQKN
-FD9E ; [.15EC.0020.0019.FD9E][.1606.0020.0019.FD9E][.1680.0020.001F.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM; QQKN
-FC6A ; [.15EC.0020.0019.FC6A][.161A.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM; QQKN
-FC6B ; [.15EC.0020.0019.FC6B][.161B.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM; QQKN
-FC9F ; [.15EC.0020.0017.FC9F][.1663.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM; QQKN
-FCE1 ; [.15EC.0020.0018.FCE1][.1663.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM; QQKN
-FC6C ; [.15EC.0020.0019.FC6C][.1663.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM; QQKN
-FC08 ; [.15EC.0020.001A.FC08][.1663.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM; QQKN
-FC6D ; [.15EC.0020.0019.FC6D][.1666.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM; QQKN
-FCA0 ; [.15EC.0020.0017.FCA0][.166F.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM; QQKN
-FCE2 ; [.15EC.0020.0018.FCE2][.166F.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM; QQKN
-FC6E ; [.15EC.0020.0019.FC6E][.167F.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC09 ; [.15EC.0020.001A.FC09][.167F.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC6F ; [.15EC.0020.0019.FC6F][.1680.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM; QQKN
-FC0A ; [.15EC.0020.001A.FC0A][.1680.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM; QQKN
-067B ; [.15ED.0020.0002.067B] # ARABIC LETTER BEEH
-FB54 ; [.15ED.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM; QQK
-FB55 ; [.15ED.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM; QQK
-FB53 ; [.15ED.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM; QQK
-FB52 ; [.15ED.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM; QQK
-067E ; [.15EE.0020.0002.067E] # ARABIC LETTER PEH
-FB58 ; [.15EE.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM; QQK
-FB59 ; [.15EE.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM; QQK
-FB57 ; [.15EE.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM; QQK
-FB56 ; [.15EE.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM; QQK
-0680 ; [.15EF.0020.0002.0680] # ARABIC LETTER BEHEH
-FB5C ; [.15EF.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM; QQK
-FB5D ; [.15EF.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM; QQK
-FB5B ; [.15EF.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM; QQK
-FB5A ; [.15EF.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM; QQK
-0750 ; [.15F0.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751 ; [.15F1.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752 ; [.15F2.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753 ; [.15F3.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754 ; [.15F4.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755 ; [.15F5.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756 ; [.15F6.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
-0629 ; [.15F7.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
-FE94 ; [.15F7.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM; QQK
-FE93 ; [.15F7.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM; QQK
-062A ; [.15F8.0020.0002.062A] # ARABIC LETTER TEH
-FE97 ; [.15F8.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM; QQK
-FE98 ; [.15F8.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM; QQK
-FE96 ; [.15F8.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM; QQK
-FE95 ; [.15F8.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM; QQK
-FCA1 ; [.15F8.0020.0017.FCA1][.15FF.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM; QQKN
-FC0B ; [.15F8.0020.001A.FC0B][.15FF.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM; QQKN
-FD50 ; [.15F8.0020.0017.FD50][.15FF.0020.0017.FD50][.1663.0020.001F.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDA0 ; [.15F8.0020.0019.FDA0][.15FF.0020.0019.FDA0][.167F.0020.001F.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD9F ; [.15F8.0020.0019.FD9F][.15FF.0020.0019.FD9F][.1680.0020.001F.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCA2 ; [.15F8.0020.0017.FCA2][.1605.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM; QQKN
-FC0C ; [.15F8.0020.001A.FC0C][.1605.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM; QQKN
-FD52 ; [.15F8.0020.0017.FD52][.1605.0020.0017.FD52][.15FF.0020.001F.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM; QQKN
-FD51 ; [.15F8.0020.0019.FD51][.1605.0020.0019.FD51][.15FF.0020.001F.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM; QQKN
-FD53 ; [.15F8.0020.0017.FD53][.1605.0020.0017.FD53][.1663.0020.001F.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM; QQKN
-FCA3 ; [.15F8.0020.0017.FCA3][.1606.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM; QQKN
-FC0D ; [.15F8.0020.001A.FC0D][.1606.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM; QQKN
-FD54 ; [.15F8.0020.0017.FD54][.1606.0020.0017.FD54][.1663.0020.001F.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FDA2 ; [.15F8.0020.0019.FDA2][.1606.0020.0019.FDA2][.167F.0020.001F.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA1 ; [.15F8.0020.0019.FDA1][.1606.0020.0019.FDA1][.1680.0020.001F.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM; QQKN
-FC70 ; [.15F8.0020.0019.FC70][.161A.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM; QQKN
-FC71 ; [.15F8.0020.0019.FC71][.161B.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM; QQKN
-FCA4 ; [.15F8.0020.0017.FCA4][.1663.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM; QQKN
-FCE3 ; [.15F8.0020.0018.FCE3][.1663.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM; QQKN
-FC72 ; [.15F8.0020.0019.FC72][.1663.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM; QQKN
-FC0E ; [.15F8.0020.001A.FC0E][.1663.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM; QQKN
-FD55 ; [.15F8.0020.0017.FD55][.1663.0020.0017.FD55][.15FF.0020.001F.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD56 ; [.15F8.0020.0017.FD56][.1663.0020.0017.FD56][.1605.0020.001F.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD57 ; [.15F8.0020.0017.FD57][.1663.0020.0017.FD57][.1606.0020.001F.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM; QQKN
-FDA4 ; [.15F8.0020.0019.FDA4][.1663.0020.0019.FDA4][.167F.0020.001F.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA3 ; [.15F8.0020.0019.FDA3][.1663.0020.0019.FDA3][.1680.0020.001F.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC73 ; [.15F8.0020.0019.FC73][.1666.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM; QQKN
-FCA5 ; [.15F8.0020.0017.FCA5][.166F.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM; QQKN
-FCE4 ; [.15F8.0020.0018.FCE4][.166F.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM; QQKN
-FC74 ; [.15F8.0020.0019.FC74][.167F.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC0F ; [.15F8.0020.001A.FC0F][.167F.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC75 ; [.15F8.0020.0019.FC75][.1680.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM; QQKN
-FC10 ; [.15F8.0020.001A.FC10][.1680.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM; QQKN
-062B ; [.15F9.0020.0002.062B] # ARABIC LETTER THEH
-FE9B ; [.15F9.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM; QQK
-FE9C ; [.15F9.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM; QQK
-FE9A ; [.15F9.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM; QQK
-FE99 ; [.15F9.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM; QQK
-FC11 ; [.15F9.0020.001A.FC11][.15FF.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM; QQKN
-FC76 ; [.15F9.0020.0019.FC76][.161A.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM; QQKN
-FC77 ; [.15F9.0020.0019.FC77][.161B.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM; QQKN
-FCA6 ; [.15F9.0020.0017.FCA6][.1663.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM; QQKN
-FCE5 ; [.15F9.0020.0018.FCE5][.1663.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM; QQKN
-FC78 ; [.15F9.0020.0019.FC78][.1663.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM; QQKN
-FC12 ; [.15F9.0020.001A.FC12][.1663.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM; QQKN
-FC79 ; [.15F9.0020.0019.FC79][.1666.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM; QQKN
-FCE6 ; [.15F9.0020.0018.FCE6][.166F.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM; QQKN
-FC7A ; [.15F9.0020.0019.FC7A][.167F.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC13 ; [.15F9.0020.001A.FC13][.167F.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7B ; [.15F9.0020.0019.FC7B][.1680.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM; QQKN
-FC14 ; [.15F9.0020.001A.FC14][.1680.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM; QQKN
-0679 ; [.15FA.0020.0002.0679] # ARABIC LETTER TTEH
-FB68 ; [.15FA.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM; QQK
-FB69 ; [.15FA.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM; QQK
-FB67 ; [.15FA.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM; QQK
-FB66 ; [.15FA.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM; QQK
-067A ; [.15FB.0020.0002.067A] # ARABIC LETTER TTEHEH
-FB60 ; [.15FB.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM; QQK
-FB61 ; [.15FB.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM; QQK
-FB5F ; [.15FB.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM; QQK
-FB5E ; [.15FB.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM; QQK
-067C ; [.15FC.0020.0002.067C] # ARABIC LETTER TEH WITH RING
-067D ; [.15FD.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067F ; [.15FE.0020.0002.067F] # ARABIC LETTER TEHEH
-FB64 ; [.15FE.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM; QQK
-FB65 ; [.15FE.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM; QQK
-FB63 ; [.15FE.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM; QQK
-FB62 ; [.15FE.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM; QQK
-062C ; [.15FF.0020.0002.062C] # ARABIC LETTER JEEM
-FE9F ; [.15FF.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM; QQK
-FEA0 ; [.15FF.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM; QQK
-FE9E ; [.15FF.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM; QQK
-FE9D ; [.15FF.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM; QQK
-FCA7 ; [.15FF.0020.0017.FCA7][.1605.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM; QQKN
-FC15 ; [.15FF.0020.001A.FC15][.1605.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM; QQKN
-FDA6 ; [.15FF.0020.0019.FDA6][.1605.0020.0019.FDA6][.167F.0020.001F.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDBE ; [.15FF.0020.0019.FDBE][.1605.0020.0019.FDBE][.1680.0020.001F.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM; QQKN
-FDFB ; [.15FF.0020.001A.FDFB][.165D.0020.001A.FDFB][*0209.0020.001F.FDFB][.15FF.0020.001F.FDFB][.165D.0020.001F.FDFB][.15EA.0020.001F.FDFB][.165D.0020.001F.FDFB][.166F.0020.001F.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU; QQKN
-FCA8 ; [.15FF.0020.0017.FCA8][.1663.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM; QQKN
-FC16 ; [.15FF.0020.001A.FC16][.1663.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM; QQKN
-FD59 ; [.15FF.0020.0017.FD59][.1663.0020.0017.FD59][.1605.0020.001F.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD58 ; [.15FF.0020.0019.FD58][.1663.0020.0019.FD58][.1605.0020.001F.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM; QQKN
-FDA7 ; [.15FF.0020.0019.FDA7][.1663.0020.0019.FDA7][.167F.0020.001F.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA5 ; [.15FF.0020.0019.FDA5][.1663.0020.0019.FDA5][.1680.0020.001F.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM; QQKN
-FD1D ; [.15FF.0020.0019.FD1D][.167F.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD01 ; [.15FF.0020.001A.FD01][.167F.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1E ; [.15FF.0020.0019.FD1E][.1680.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM; QQKN
-FD02 ; [.15FF.0020.001A.FD02][.1680.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM; QQKN
-0683 ; [.1600.0020.0002.0683] # ARABIC LETTER NYEH
-FB78 ; [.1600.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM; QQK
-FB79 ; [.1600.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM; QQK
-FB77 ; [.1600.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM; QQK
-FB76 ; [.1600.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM; QQK
-0684 ; [.1601.0020.0002.0684] # ARABIC LETTER DYEH
-FB74 ; [.1601.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM; QQK
-FB75 ; [.1601.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM; QQK
-FB73 ; [.1601.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM; QQK
-FB72 ; [.1601.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM; QQK
-0686 ; [.1602.0020.0002.0686] # ARABIC LETTER TCHEH
-FB7C ; [.1602.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM; QQK
-FB7D ; [.1602.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM; QQK
-FB7B ; [.1602.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM; QQK
-FB7A ; [.1602.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM; QQK
-06BF ; [.1603.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
-0687 ; [.1604.0020.0002.0687] # ARABIC LETTER TCHEHEH
-FB80 ; [.1604.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM; QQK
-FB81 ; [.1604.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM; QQK
-FB7F ; [.1604.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM; QQK
-FB7E ; [.1604.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM; QQK
-062D ; [.1605.0020.0002.062D] # ARABIC LETTER HAH
-FEA3 ; [.1605.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM; QQK
-FEA4 ; [.1605.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM; QQK
-FEA2 ; [.1605.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM; QQK
-FEA1 ; [.1605.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM; QQK
-FCA9 ; [.1605.0020.0017.FCA9][.15FF.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM; QQKN
-FC17 ; [.1605.0020.001A.FC17][.15FF.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM; QQKN
-FDBF ; [.1605.0020.0019.FDBF][.15FF.0020.0019.FDBF][.1680.0020.001F.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCAA ; [.1605.0020.0017.FCAA][.1663.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM; QQKN
-FC18 ; [.1605.0020.001A.FC18][.1663.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM; QQKN
-FD5B ; [.1605.0020.0019.FD5B][.1663.0020.0019.FD5B][.167F.0020.001F.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD5A ; [.1605.0020.0019.FD5A][.1663.0020.0019.FD5A][.1680.0020.001F.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM; QQKN
-FD1B ; [.1605.0020.0019.FD1B][.167F.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFF ; [.1605.0020.001A.FCFF][.167F.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1C ; [.1605.0020.0019.FD1C][.1680.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM; QQKN
-FD00 ; [.1605.0020.001A.FD00][.1680.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM; QQKN
-062E ; [.1606.0020.0002.062E] # ARABIC LETTER KHAH
-FEA7 ; [.1606.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM; QQK
-FEA8 ; [.1606.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM; QQK
-FEA6 ; [.1606.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM; QQK
-FEA5 ; [.1606.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM; QQK
-FCAB ; [.1606.0020.0017.FCAB][.15FF.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM; QQKN
-FC19 ; [.1606.0020.001A.FC19][.15FF.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM; QQKN
-FC1A ; [.1606.0020.001A.FC1A][.1605.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM; QQKN
-FCAC ; [.1606.0020.0017.FCAC][.1663.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM; QQKN
-FC1B ; [.1606.0020.001A.FC1B][.1663.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM; QQKN
-FD1F ; [.1606.0020.0019.FD1F][.167F.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FD03 ; [.1606.0020.001A.FD03][.167F.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD20 ; [.1606.0020.0019.FD20][.1680.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM; QQKN
-FD04 ; [.1606.0020.001A.FD04][.1680.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM; QQKN
-0681 ; [.1607.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682 ; [.1608.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0685 ; [.1609.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0757 ; [.160A.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758 ; [.160B.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-062F ; [.160C.0020.0002.062F] # ARABIC LETTER DAL
-FEAA ; [.160C.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM; QQK
-FEA9 ; [.160C.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM; QQK
-0630 ; [.160D.0020.0002.0630] # ARABIC LETTER THAL
-FEAC ; [.160D.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM; QQK
-FEAB ; [.160D.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM; QQK
-FC5B ; [.160D.0020.001A.FC5B][.0000.00F3.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-0688 ; [.160E.0020.0002.0688] # ARABIC LETTER DDAL
-FB89 ; [.160E.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM; QQK
-FB88 ; [.160E.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM; QQK
-0689 ; [.160F.0020.0002.0689] # ARABIC LETTER DAL WITH RING
-068A ; [.1610.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
-068B ; [.1611.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C ; [.1612.0020.0002.068C] # ARABIC LETTER DAHAL
-FB85 ; [.1612.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM; QQK
-FB84 ; [.1612.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM; QQK
-068D ; [.1613.0020.0002.068D] # ARABIC LETTER DDAHAL
-FB83 ; [.1613.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM; QQK
-FB82 ; [.1613.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM; QQK
-068E ; [.1614.0020.0002.068E] # ARABIC LETTER DUL
-FB87 ; [.1614.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM; QQK
-FB86 ; [.1614.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM; QQK
-068F ; [.1615.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690 ; [.1616.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-06EE ; [.1617.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
-0759 ; [.1618.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A ; [.1619.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-0631 ; [.161A.0020.0002.0631] # ARABIC LETTER REH
-FEAE ; [.161A.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM; QQK
-FEAD ; [.161A.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM; QQK
-FC5C ; [.161A.0020.001A.FC5C][.0000.00F3.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-FDF6 ; [.161A.0020.001A.FDF6][.1629.0020.001A.FDF6][.1675.0020.001F.FDF6][.165D.0020.001F.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM; QQKN
-FDFC ; [.161A.0020.001A.FDFC][.1681.0020.001A.FDFC][.15EA.0020.001F.FDFC][.165D.0020.001F.FDFC] # RIAL SIGN; QQKN
-0632 ; [.161B.0020.0002.0632] # ARABIC LETTER ZAIN
-FEB0 ; [.161B.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM; QQK
-FEAF ; [.161B.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM; QQK
-0691 ; [.161C.0020.0002.0691] # ARABIC LETTER RREH
-FB8D ; [.161C.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM; QQK
-FB8C ; [.161C.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM; QQK
-0692 ; [.161D.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
-0693 ; [.161E.0020.0002.0693] # ARABIC LETTER REH WITH RING
-0694 ; [.161F.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
-0695 ; [.1620.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
-0696 ; [.1621.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697 ; [.1622.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698 ; [.1623.0020.0002.0698] # ARABIC LETTER JEH
-FB8B ; [.1623.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM; QQK
-FB8A ; [.1623.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM; QQK
-0699 ; [.1624.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06EF ; [.1625.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
-075B ; [.1626.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
-076B ; [.1627.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C ; [.1628.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
-0633 ; [.1629.0020.0002.0633] # ARABIC LETTER SEEN
-FEB3 ; [.1629.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM; QQK
-FEB4 ; [.1629.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM; QQK
-FEB2 ; [.1629.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM; QQK
-FEB1 ; [.1629.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM; QQK
-FCAD ; [.1629.0020.0017.FCAD][.15FF.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM; QQKN
-FD34 ; [.1629.0020.0018.FD34][.15FF.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM; QQKN
-FC1C ; [.1629.0020.001A.FC1C][.15FF.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM; QQKN
-FD5D ; [.1629.0020.0017.FD5D][.15FF.0020.0017.FD5D][.1605.0020.001F.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM; QQKN
-FD5E ; [.1629.0020.0019.FD5E][.15FF.0020.0019.FD5E][.167F.0020.001F.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FCAE ; [.1629.0020.0017.FCAE][.1605.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM; QQKN
-FD35 ; [.1629.0020.0018.FD35][.1605.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM; QQKN
-FC1D ; [.1629.0020.001A.FC1D][.1605.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM; QQKN
-FD5C ; [.1629.0020.0017.FD5C][.1605.0020.0017.FD5C][.15FF.0020.001F.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM; QQKN
-FCAF ; [.1629.0020.0017.FCAF][.1606.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM; QQKN
-FD36 ; [.1629.0020.0018.FD36][.1606.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM; QQKN
-FC1E ; [.1629.0020.001A.FC1E][.1606.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM; QQKN
-FDA8 ; [.1629.0020.0019.FDA8][.1606.0020.0019.FDA8][.167F.0020.001F.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDC6 ; [.1629.0020.0019.FDC6][.1606.0020.0019.FDC6][.1680.0020.001F.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM; QQKN
-FD2A ; [.1629.0020.0019.FD2A][.161A.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM; QQKN
-FD0E ; [.1629.0020.001A.FD0E][.161A.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM; QQKN
-FCB0 ; [.1629.0020.0017.FCB0][.1663.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM; QQKN
-FCE7 ; [.1629.0020.0018.FCE7][.1663.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM; QQKN
-FC1F ; [.1629.0020.001A.FC1F][.1663.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM; QQKN
-FD61 ; [.1629.0020.0017.FD61][.1663.0020.0017.FD61][.15FF.0020.001F.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD60 ; [.1629.0020.0017.FD60][.1663.0020.0017.FD60][.1605.0020.001F.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD5F ; [.1629.0020.0019.FD5F][.1663.0020.0019.FD5F][.1605.0020.001F.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM; QQKN
-FD63 ; [.1629.0020.0017.FD63][.1663.0020.0017.FD63][.1663.0020.001F.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD62 ; [.1629.0020.0019.FD62][.1663.0020.0019.FD62][.1663.0020.001F.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD31 ; [.1629.0020.0017.FD31][.166F.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM; QQKN
-FCE8 ; [.1629.0020.0018.FCE8][.166F.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM; QQKN
-FD17 ; [.1629.0020.0019.FD17][.167F.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFB ; [.1629.0020.001A.FCFB][.167F.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD18 ; [.1629.0020.0019.FD18][.1680.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM; QQKN
-FCFC ; [.1629.0020.001A.FCFC][.1680.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM; QQKN
-0634 ; [.162A.0020.0002.0634] # ARABIC LETTER SHEEN
-FEB7 ; [.162A.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM; QQK
-FEB8 ; [.162A.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM; QQK
-FEB6 ; [.162A.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM; QQK
-FEB5 ; [.162A.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM; QQK
-FD2D ; [.162A.0020.0017.FD2D][.15FF.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM; QQKN
-FD37 ; [.162A.0020.0018.FD37][.15FF.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM; QQKN
-FD25 ; [.162A.0020.0019.FD25][.15FF.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM; QQKN
-FD09 ; [.162A.0020.001A.FD09][.15FF.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM; QQKN
-FD69 ; [.162A.0020.0019.FD69][.15FF.0020.0019.FD69][.1680.0020.001F.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM; QQKN
-FD2E ; [.162A.0020.0017.FD2E][.1605.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM; QQKN
-FD38 ; [.162A.0020.0018.FD38][.1605.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM; QQKN
-FD26 ; [.162A.0020.0019.FD26][.1605.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM; QQKN
-FD0A ; [.162A.0020.001A.FD0A][.1605.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM; QQKN
-FD68 ; [.162A.0020.0017.FD68][.1605.0020.0017.FD68][.1663.0020.001F.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD67 ; [.162A.0020.0019.FD67][.1605.0020.0019.FD67][.1663.0020.001F.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM; QQKN
-FDAA ; [.162A.0020.0019.FDAA][.1605.0020.0019.FDAA][.1680.0020.001F.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM; QQKN
-FD2F ; [.162A.0020.0017.FD2F][.1606.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM; QQKN
-FD39 ; [.162A.0020.0018.FD39][.1606.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM; QQKN
-FD27 ; [.162A.0020.0019.FD27][.1606.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM; QQKN
-FD0B ; [.162A.0020.001A.FD0B][.1606.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM; QQKN
-FD29 ; [.162A.0020.0019.FD29][.161A.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM; QQKN
-FD0D ; [.162A.0020.001A.FD0D][.161A.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM; QQKN
-FD30 ; [.162A.0020.0017.FD30][.1663.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM; QQKN
-FCE9 ; [.162A.0020.0018.FCE9][.1663.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM; QQKN
-FD28 ; [.162A.0020.0019.FD28][.1663.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM; QQKN
-FD0C ; [.162A.0020.001A.FD0C][.1663.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM; QQKN
-FD6B ; [.162A.0020.0017.FD6B][.1663.0020.0017.FD6B][.1606.0020.001F.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM; QQKN
-FD6A ; [.162A.0020.0019.FD6A][.1663.0020.0019.FD6A][.1606.0020.001F.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM; QQKN
-FD6D ; [.162A.0020.0017.FD6D][.1663.0020.0017.FD6D][.1663.0020.001F.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD6C ; [.162A.0020.0019.FD6C][.1663.0020.0019.FD6C][.1663.0020.001F.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD32 ; [.162A.0020.0017.FD32][.166F.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM; QQKN
-FCEA ; [.162A.0020.0018.FCEA][.166F.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM; QQKN
-FD19 ; [.162A.0020.0019.FD19][.167F.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFD ; [.162A.0020.001A.FCFD][.167F.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1A ; [.162A.0020.0019.FD1A][.1680.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM; QQKN
-FCFE ; [.162A.0020.001A.FCFE][.1680.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM; QQKN
-069A ; [.162B.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B ; [.162C.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C ; [.162D.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-06FA ; [.162E.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
-075C ; [.162F.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-076D ; [.1630.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-0635 ; [.1631.0020.0002.0635] # ARABIC LETTER SAD
-FEBB ; [.1631.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM; QQK
-FEBC ; [.1631.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM; QQK
-FEBA ; [.1631.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM; QQK
-FEB9 ; [.1631.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM; QQK
-FCB1 ; [.1631.0020.0017.FCB1][.1605.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM; QQKN
-FC20 ; [.1631.0020.001A.FC20][.1605.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM; QQKN
-FD65 ; [.1631.0020.0017.FD65][.1605.0020.0017.FD65][.1605.0020.001F.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM; QQKN
-FD64 ; [.1631.0020.0019.FD64][.1605.0020.0019.FD64][.1605.0020.001F.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM; QQKN
-FDA9 ; [.1631.0020.0019.FDA9][.1605.0020.0019.FDA9][.1680.0020.001F.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM; QQKN
-FCB2 ; [.1631.0020.0017.FCB2][.1606.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM; QQKN
-FD2B ; [.1631.0020.0019.FD2B][.161A.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM; QQKN
-FD0F ; [.1631.0020.001A.FD0F][.161A.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM; QQKN
-FDF5 ; [.1631.0020.001A.FDF5][.165D.0020.001A.FDF5][.1639.0020.001F.FDF5][.1663.0020.001F.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM; QQKN
-FDF9 ; [.1631.0020.001A.FDF9][.165D.0020.001A.FDF9][.167F.0020.001F.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM; QQKN
-FDFA ; [.1631.0020.001A.FDFA][.165D.0020.001A.FDFA][.167F.0020.001F.FDFA][*0209.0020.001F.FDFA][.15EA.0020.001F.FDFA][.165D.0020.001F.FDFA][.165D.0020.001F.FDFA][.166F.0020.001F.FDFA][*0209.0020.001F.FDFA][.1639.0020.001F.FDFA][.165D.0020.001F.FDFA][.1680.0020.001F.FDFA][.166F.0020.001F.FDFA][*0209.0020.001F.FDFA][.1675.0020.001F.FDFA][.1629.0020.001F.FDFA][.165D.0020.001F.FDFA][.1663.0020.001F.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM; QQKN
-FDF0 ; [.1631.0020.001A.FDF0][.165D.0020.001A.FDF0][.1686.0020.001F.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
-FCB3 ; [.1631.0020.0017.FCB3][.1663.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM; QQKN
-FC21 ; [.1631.0020.001A.FC21][.1663.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM; QQKN
-FDC5 ; [.1631.0020.0017.FDC5][.1663.0020.0017.FDC5][.1663.0020.001F.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD66 ; [.1631.0020.0019.FD66][.1663.0020.0019.FD66][.1663.0020.001F.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD21 ; [.1631.0020.0019.FD21][.167F.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM; QQKN
-FD05 ; [.1631.0020.001A.FD05][.167F.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD22 ; [.1631.0020.0019.FD22][.1680.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM; QQKN
-FD06 ; [.1631.0020.001A.FD06][.1680.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM; QQKN
-0636 ; [.1632.0020.0002.0636] # ARABIC LETTER DAD
-FEBF ; [.1632.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM; QQK
-FEC0 ; [.1632.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM; QQK
-FEBE ; [.1632.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM; QQK
-FEBD ; [.1632.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM; QQK
-FCB4 ; [.1632.0020.0017.FCB4][.15FF.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM; QQKN
-FC22 ; [.1632.0020.001A.FC22][.15FF.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM; QQKN
-FCB5 ; [.1632.0020.0017.FCB5][.1605.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM; QQKN
-FC23 ; [.1632.0020.001A.FC23][.1605.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM; QQKN
-FD6E ; [.1632.0020.0019.FD6E][.1605.0020.0019.FD6E][.167F.0020.001F.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDAB ; [.1632.0020.0019.FDAB][.1605.0020.0019.FDAB][.1680.0020.001F.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM; QQKN
-FCB6 ; [.1632.0020.0017.FCB6][.1606.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM; QQKN
-FC24 ; [.1632.0020.001A.FC24][.1606.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM; QQKN
-FD70 ; [.1632.0020.0017.FD70][.1606.0020.0017.FD70][.1663.0020.001F.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD6F ; [.1632.0020.0019.FD6F][.1606.0020.0019.FD6F][.1663.0020.001F.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM; QQKN
-FD2C ; [.1632.0020.0019.FD2C][.161A.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM; QQKN
-FD10 ; [.1632.0020.001A.FD10][.161A.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM; QQKN
-FCB7 ; [.1632.0020.0017.FCB7][.1663.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM; QQKN
-FC25 ; [.1632.0020.001A.FC25][.1663.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM; QQKN
-FD23 ; [.1632.0020.0019.FD23][.167F.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM; QQKN
-FD07 ; [.1632.0020.001A.FD07][.167F.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD24 ; [.1632.0020.0019.FD24][.1680.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM; QQKN
-FD08 ; [.1632.0020.001A.FD08][.1680.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM; QQKN
-069D ; [.1633.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E ; [.1634.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-06FB ; [.1635.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
-0637 ; [.1636.0020.0002.0637] # ARABIC LETTER TAH
-FEC3 ; [.1636.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM; QQK
-FEC4 ; [.1636.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM; QQK
-FEC2 ; [.1636.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM; QQK
-FEC1 ; [.1636.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM; QQK
-FCB8 ; [.1636.0020.0017.FCB8][.1605.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM; QQKN
-FC26 ; [.1636.0020.001A.FC26][.1605.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM; QQKN
-FD33 ; [.1636.0020.0017.FD33][.1663.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM; QQKN
-FD3A ; [.1636.0020.0018.FD3A][.1663.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM; QQKN
-FC27 ; [.1636.0020.001A.FC27][.1663.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM; QQKN
-FD72 ; [.1636.0020.0017.FD72][.1663.0020.0017.FD72][.1605.0020.001F.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD71 ; [.1636.0020.0019.FD71][.1663.0020.0019.FD71][.1605.0020.001F.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM; QQKN
-FD73 ; [.1636.0020.0017.FD73][.1663.0020.0017.FD73][.1663.0020.001F.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD74 ; [.1636.0020.0019.FD74][.1663.0020.0019.FD74][.1680.0020.001F.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM; QQKN
-FD11 ; [.1636.0020.0019.FD11][.167F.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF5 ; [.1636.0020.001A.FCF5][.167F.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD12 ; [.1636.0020.0019.FD12][.1680.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM; QQKN
-FCF6 ; [.1636.0020.001A.FCF6][.1680.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM; QQKN
-0638 ; [.1637.0020.0002.0638] # ARABIC LETTER ZAH
-FEC7 ; [.1637.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM; QQK
-FEC8 ; [.1637.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM; QQK
-FEC6 ; [.1637.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM; QQK
-FEC5 ; [.1637.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM; QQK
-FCB9 ; [.1637.0020.0017.FCB9][.1663.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM; QQKN
-FD3B ; [.1637.0020.0018.FD3B][.1663.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM; QQKN
-FC28 ; [.1637.0020.001A.FC28][.1663.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM; QQKN
-069F ; [.1638.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-0639 ; [.1639.0020.0002.0639] # ARABIC LETTER AIN
-FECB ; [.1639.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM; QQK
-FECC ; [.1639.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM; QQK
-FECA ; [.1639.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM; QQK
-FEC9 ; [.1639.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM; QQK
-FCBA ; [.1639.0020.0017.FCBA][.15FF.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM; QQKN
-FC29 ; [.1639.0020.001A.FC29][.15FF.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM; QQKN
-FDC4 ; [.1639.0020.0017.FDC4][.15FF.0020.0017.FDC4][.1663.0020.001F.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FD75 ; [.1639.0020.0019.FD75][.15FF.0020.0019.FD75][.1663.0020.001F.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM; QQKN
-FDF7 ; [.1639.0020.001A.FDF7][.165D.0020.001A.FDF7][.1680.0020.001F.FDF7][.166F.0020.001F.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM; QQKN
-FCBB ; [.1639.0020.0017.FCBB][.1663.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM; QQKN
-FC2A ; [.1639.0020.001A.FC2A][.1663.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM; QQKN
-FD77 ; [.1639.0020.0017.FD77][.1663.0020.0017.FD77][.1663.0020.001F.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD76 ; [.1639.0020.0019.FD76][.1663.0020.0019.FD76][.1663.0020.001F.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD78 ; [.1639.0020.0019.FD78][.1663.0020.0019.FD78][.167F.0020.001F.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDB6 ; [.1639.0020.0019.FDB6][.1663.0020.0019.FDB6][.1680.0020.001F.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM; QQKN
-FD13 ; [.1639.0020.0019.FD13][.167F.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF7 ; [.1639.0020.001A.FCF7][.167F.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD14 ; [.1639.0020.0019.FD14][.1680.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM; QQKN
-FCF8 ; [.1639.0020.001A.FCF8][.1680.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM; QQKN
-063A ; [.163A.0020.0002.063A] # ARABIC LETTER GHAIN
-FECF ; [.163A.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM; QQK
-FED0 ; [.163A.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM; QQK
-FECE ; [.163A.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM; QQK
-FECD ; [.163A.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM; QQK
-FCBC ; [.163A.0020.0017.FCBC][.15FF.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM; QQKN
-FC2B ; [.163A.0020.001A.FC2B][.15FF.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM; QQKN
-FCBD ; [.163A.0020.0017.FCBD][.1663.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM; QQKN
-FC2C ; [.163A.0020.001A.FC2C][.1663.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM; QQKN
-FD79 ; [.163A.0020.0019.FD79][.1663.0020.0019.FD79][.1663.0020.001F.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD7B ; [.163A.0020.0019.FD7B][.1663.0020.0019.FD7B][.167F.0020.001F.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD7A ; [.163A.0020.0019.FD7A][.1663.0020.0019.FD7A][.1680.0020.001F.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM; QQKN
-FD15 ; [.163A.0020.0019.FD15][.167F.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF9 ; [.163A.0020.001A.FCF9][.167F.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD16 ; [.163A.0020.0019.FD16][.1680.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM; QQKN
-FCFA ; [.163A.0020.001A.FCFA][.1680.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM; QQKN
-06A0 ; [.163B.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06FC ; [.163C.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
-075D ; [.163D.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E ; [.163E.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F ; [.163F.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0641 ; [.1640.0020.0002.0641] # ARABIC LETTER FEH
-FED3 ; [.1640.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM; QQK
-FED4 ; [.1640.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM; QQK
-FED2 ; [.1640.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM; QQK
-FED1 ; [.1640.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM; QQK
-FCBE ; [.1640.0020.0017.FCBE][.15FF.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM; QQKN
-FC2D ; [.1640.0020.001A.FC2D][.15FF.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM; QQKN
-FCBF ; [.1640.0020.0017.FCBF][.1605.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM; QQKN
-FC2E ; [.1640.0020.001A.FC2E][.1605.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM; QQKN
-FCC0 ; [.1640.0020.0017.FCC0][.1606.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM; QQKN
-FC2F ; [.1640.0020.001A.FC2F][.1606.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM; QQKN
-FD7D ; [.1640.0020.0017.FD7D][.1606.0020.0017.FD7D][.1663.0020.001F.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD7C ; [.1640.0020.0019.FD7C][.1606.0020.0019.FD7C][.1663.0020.001F.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM; QQKN
-FCC1 ; [.1640.0020.0017.FCC1][.1663.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM; QQKN
-FC30 ; [.1640.0020.001A.FC30][.1663.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM; QQKN
-FDC1 ; [.1640.0020.0019.FDC1][.1663.0020.0019.FDC1][.1680.0020.001F.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC7C ; [.1640.0020.0019.FC7C][.167F.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC31 ; [.1640.0020.001A.FC31][.167F.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7D ; [.1640.0020.0019.FC7D][.1680.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM; QQKN
-FC32 ; [.1640.0020.001A.FC32][.1680.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM; QQKN
-06A1 ; [.1641.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
-06A2 ; [.1642.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3 ; [.1643.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
-06A4 ; [.1644.0020.0002.06A4] # ARABIC LETTER VEH
-FB6C ; [.1644.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM; QQK
-FB6D ; [.1644.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM; QQK
-FB6B ; [.1644.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM; QQK
-FB6A ; [.1644.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM; QQK
-06A5 ; [.1645.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6 ; [.1646.0020.0002.06A6] # ARABIC LETTER PEHEH
-FB70 ; [.1646.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM; QQK
-FB71 ; [.1646.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM; QQK
-FB6F ; [.1646.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM; QQK
-FB6E ; [.1646.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM; QQK
-0760 ; [.1647.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761 ; [.1648.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-066F ; [.1649.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
-0642 ; [.164A.0020.0002.0642] # ARABIC LETTER QAF
-FED7 ; [.164A.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM; QQK
-FED8 ; [.164A.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM; QQK
-FED6 ; [.164A.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM; QQK
-FED5 ; [.164A.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM; QQK
-FCC2 ; [.164A.0020.0017.FCC2][.1605.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM; QQKN
-FC33 ; [.164A.0020.001A.FC33][.1605.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM; QQKN
-FDF1 ; [.164A.0020.001A.FDF1][.165D.0020.001A.FDF1][.1686.0020.001F.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
-FCC3 ; [.164A.0020.0017.FCC3][.1663.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM; QQKN
-FC34 ; [.164A.0020.001A.FC34][.1663.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM; QQKN
-FDB4 ; [.164A.0020.0017.FDB4][.1663.0020.0017.FDB4][.1605.0020.001F.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD7E ; [.164A.0020.0019.FD7E][.1663.0020.0019.FD7E][.1605.0020.001F.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM; QQKN
-FD7F ; [.164A.0020.0019.FD7F][.1663.0020.0019.FD7F][.1663.0020.001F.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB2 ; [.164A.0020.0019.FDB2][.1663.0020.0019.FDB2][.1680.0020.001F.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM; QQKN
-FC7E ; [.164A.0020.0019.FC7E][.167F.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM; QQKN
-FC35 ; [.164A.0020.001A.FC35][.167F.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7F ; [.164A.0020.0019.FC7F][.1680.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM; QQKN
-FC36 ; [.164A.0020.001A.FC36][.1680.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM; QQKN
-06A7 ; [.164B.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
-06A8 ; [.164C.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-0643 ; [.164D.0020.0002.0643] # ARABIC LETTER KAF
-FEDB ; [.164D.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM; QQK
-FEDC ; [.164D.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM; QQK
-FEDA ; [.164D.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM; QQK
-FED9 ; [.164D.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM; QQK
-FC80 ; [.164D.0020.0019.FC80][.15EA.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM; QQKN
-FC37 ; [.164D.0020.001A.FC37][.15EA.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM; QQKN
-FCC4 ; [.164D.0020.0017.FCC4][.15FF.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM; QQKN
-FC38 ; [.164D.0020.001A.FC38][.15FF.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM; QQKN
-FCC5 ; [.164D.0020.0017.FCC5][.1605.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM; QQKN
-FC39 ; [.164D.0020.001A.FC39][.1605.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM; QQKN
-FCC6 ; [.164D.0020.0017.FCC6][.1606.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM; QQKN
-FC3A ; [.164D.0020.001A.FC3A][.1606.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM; QQKN
-FCC7 ; [.164D.0020.0017.FCC7][.165D.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM; QQKN
-FCEB ; [.164D.0020.0018.FCEB][.165D.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM; QQKN
-FC81 ; [.164D.0020.0019.FC81][.165D.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM; QQKN
-FC3B ; [.164D.0020.001A.FC3B][.165D.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM; QQKN
-FCC8 ; [.164D.0020.0017.FCC8][.1663.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM; QQKN
-FCEC ; [.164D.0020.0018.FCEC][.1663.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM; QQKN
-FC82 ; [.164D.0020.0019.FC82][.1663.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM; QQKN
-FC3C ; [.164D.0020.001A.FC3C][.1663.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM; QQKN
-FDC3 ; [.164D.0020.0017.FDC3][.1663.0020.0017.FDC3][.1663.0020.001F.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FDBB ; [.164D.0020.0019.FDBB][.1663.0020.0019.FDBB][.1663.0020.001F.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB7 ; [.164D.0020.0019.FDB7][.1663.0020.0019.FDB7][.1680.0020.001F.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM; QQKN
-FC83 ; [.164D.0020.0019.FC83][.167F.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM; QQKN
-FC3D ; [.164D.0020.001A.FC3D][.167F.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC84 ; [.164D.0020.0019.FC84][.1680.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM; QQKN
-FC3E ; [.164D.0020.001A.FC3E][.1680.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM; QQKN
-06A9 ; [.164E.0020.0002.06A9] # ARABIC LETTER KEHEH
-FB90 ; [.164E.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM; QQK
-FB91 ; [.164E.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM; QQK
-FB8F ; [.164E.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM; QQK
-FB8E ; [.164E.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM; QQK
-06AA ; [.164F.0020.0002.06AA] # ARABIC LETTER SWASH KAF
-06AB ; [.1650.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
-06AC ; [.1651.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
-06AD ; [.1652.0020.0002.06AD] # ARABIC LETTER NG
-FBD5 ; [.1652.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM; QQK
-FBD6 ; [.1652.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM; QQK
-FBD4 ; [.1652.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM; QQK
-FBD3 ; [.1652.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM; QQK
-06AE ; [.1653.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF ; [.1654.0020.0002.06AF] # ARABIC LETTER GAF
-FB94 ; [.1654.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM; QQK
-FB95 ; [.1654.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM; QQK
-FB93 ; [.1654.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM; QQK
-FB92 ; [.1654.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM; QQK
-06B0 ; [.1655.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
-06B1 ; [.1656.0020.0002.06B1] # ARABIC LETTER NGOEH
-FB9C ; [.1656.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM; QQK
-FB9D ; [.1656.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM; QQK
-FB9B ; [.1656.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM; QQK
-FB9A ; [.1656.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM; QQK
-06B2 ; [.1657.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3 ; [.1658.0020.0002.06B3] # ARABIC LETTER GUEH
-FB98 ; [.1658.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM; QQK
-FB99 ; [.1658.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM; QQK
-FB97 ; [.1658.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM; QQK
-FB96 ; [.1658.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM; QQK
-06B4 ; [.1659.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-0762 ; [.165A.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
-0763 ; [.165B.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764 ; [.165C.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0644 ; [.165D.0020.0002.0644] # ARABIC LETTER LAM
-FEDF ; [.165D.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM; QQK
-FEE0 ; [.165D.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM; QQK
-FEDE ; [.165D.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM; QQK
-FEDD ; [.165D.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM; QQK
-FEF6 ; [.165D.0020.0019.FEF6][.15E2.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM; QQKN
-FEF5 ; [.165D.0020.001A.FEF5][.15E2.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM; QQKN
-FEF8 ; [.165D.0020.0019.FEF8][.15E3.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM; QQKN
-FEF7 ; [.165D.0020.001A.FEF7][.15E3.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM; QQKN
-FEFA ; [.165D.0020.0019.FEFA][.15E7.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM; QQKN
-FEF9 ; [.165D.0020.001A.FEF9][.15E7.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM; QQKN
-FEFC ; [.165D.0020.0019.FEFC][.15EA.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM; QQKN
-FEFB ; [.165D.0020.001A.FEFB][.15EA.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM; QQKN
-FCC9 ; [.165D.0020.0017.FCC9][.15FF.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM; QQKN
-FC3F ; [.165D.0020.001A.FC3F][.15FF.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM; QQKN
-FD83 ; [.165D.0020.0017.FD83][.15FF.0020.0017.FD83][.15FF.0020.001F.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM; QQKN
-FD84 ; [.165D.0020.0019.FD84][.15FF.0020.0019.FD84][.15FF.0020.001F.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM; QQKN
-FDBA ; [.165D.0020.0017.FDBA][.15FF.0020.0017.FDBA][.1663.0020.001F.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDBC ; [.165D.0020.0019.FDBC][.15FF.0020.0019.FDBC][.1663.0020.001F.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM; QQKN
-FDAC ; [.165D.0020.0019.FDAC][.15FF.0020.0019.FDAC][.1680.0020.001F.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM; QQKN
-FCCA ; [.165D.0020.0017.FCCA][.1605.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM; QQKN
-FC40 ; [.165D.0020.001A.FC40][.1605.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM; QQKN
-FDB5 ; [.165D.0020.0017.FDB5][.1605.0020.0017.FDB5][.1663.0020.001F.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD80 ; [.165D.0020.0019.FD80][.1605.0020.0019.FD80][.1663.0020.001F.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM; QQKN
-FD82 ; [.165D.0020.0019.FD82][.1605.0020.0019.FD82][.167F.0020.001F.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FD81 ; [.165D.0020.0019.FD81][.1605.0020.0019.FD81][.1680.0020.001F.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM; QQKN
-FCCB ; [.165D.0020.0017.FCCB][.1606.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM; QQKN
-FC41 ; [.165D.0020.001A.FC41][.1606.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM; QQKN
-FD86 ; [.165D.0020.0017.FD86][.1606.0020.0017.FD86][.1663.0020.001F.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD85 ; [.165D.0020.0019.FD85][.1606.0020.0019.FD85][.1663.0020.001F.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM; QQKN
-FCCC ; [.165D.0020.0017.FCCC][.1663.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM; QQKN
-FCED ; [.165D.0020.0018.FCED][.1663.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM; QQKN
-FC85 ; [.165D.0020.0019.FC85][.1663.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM; QQKN
-FC42 ; [.165D.0020.001A.FC42][.1663.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM; QQKN
-FD88 ; [.165D.0020.0017.FD88][.1663.0020.0017.FD88][.1605.0020.001F.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD87 ; [.165D.0020.0019.FD87][.1663.0020.0019.FD87][.1605.0020.001F.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM; QQKN
-FDAD ; [.165D.0020.0019.FDAD][.1663.0020.0019.FDAD][.1680.0020.001F.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM; QQKN
-FCCD ; [.165D.0020.0017.FCCD][.166F.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM; QQKN
-FC86 ; [.165D.0020.0019.FC86][.167F.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM; QQKN
-FC43 ; [.165D.0020.001A.FC43][.167F.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC87 ; [.165D.0020.0019.FC87][.1680.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM; QQKN
-FC44 ; [.165D.0020.001A.FC44][.1680.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM; QQKN
-06B5 ; [.165E.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
-06B6 ; [.165F.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
-06B7 ; [.1660.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8 ; [.1661.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
-076A ; [.1662.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
-0645 ; [.1663.0020.0002.0645] # ARABIC LETTER MEEM
-FEE3 ; [.1663.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM; QQK
-FEE4 ; [.1663.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM; QQK
-FEE2 ; [.1663.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM; QQK
-FEE1 ; [.1663.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM; QQK
-06FE ; [.1663.0020.0004.06FE][.0000.019A.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN; QQKN
-FC88 ; [.1663.0020.0019.FC88][.15EA.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM; QQKN
-FCCE ; [.1663.0020.0017.FCCE][.15FF.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM; QQKN
-FC45 ; [.1663.0020.001A.FC45][.15FF.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM; QQKN
-FD8C ; [.1663.0020.0017.FD8C][.15FF.0020.0017.FD8C][.1605.0020.001F.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM; QQKN
-FD92 ; [.1663.0020.0017.FD92][.15FF.0020.0017.FD92][.1606.0020.001F.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM; QQKN
-FD8D ; [.1663.0020.0017.FD8D][.15FF.0020.0017.FD8D][.1663.0020.001F.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDC0 ; [.1663.0020.0019.FDC0][.15FF.0020.0019.FDC0][.1680.0020.001F.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM; QQKN
-FCCF ; [.1663.0020.0017.FCCF][.1605.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM; QQKN
-FC46 ; [.1663.0020.001A.FC46][.1605.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM; QQKN
-FD89 ; [.1663.0020.0017.FD89][.1605.0020.0017.FD89][.15FF.0020.001F.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM; QQKN
-FD8A ; [.1663.0020.0017.FD8A][.1605.0020.0017.FD8A][.1663.0020.001F.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM; QQKN
-FDF4 ; [.1663.0020.001A.FDF4][.1605.0020.001A.FDF4][.1663.0020.001F.FDF4][.160C.0020.001F.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM; QQKN
-FD8B ; [.1663.0020.0019.FD8B][.1605.0020.0019.FD8B][.1680.0020.001F.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM; QQKN
-FCD0 ; [.1663.0020.0017.FCD0][.1606.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM; QQKN
-FC47 ; [.1663.0020.001A.FC47][.1606.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM; QQKN
-FD8E ; [.1663.0020.0017.FD8E][.1606.0020.0017.FD8E][.15FF.0020.001F.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM; QQKN
-FD8F ; [.1663.0020.0017.FD8F][.1606.0020.0017.FD8F][.1663.0020.001F.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FDB9 ; [.1663.0020.0019.FDB9][.1606.0020.0019.FDB9][.1680.0020.001F.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM; QQKN
-FCD1 ; [.1663.0020.0017.FCD1][.1663.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM; QQKN
-FC89 ; [.1663.0020.0019.FC89][.1663.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM; QQKN
-FC48 ; [.1663.0020.001A.FC48][.1663.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM; QQKN
-FDB1 ; [.1663.0020.0019.FDB1][.1663.0020.0019.FDB1][.1680.0020.001F.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM; QQKN
-FC49 ; [.1663.0020.001A.FC49][.167F.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC4A ; [.1663.0020.001A.FC4A][.1680.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM; QQKN
-0765 ; [.1664.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
-0766 ; [.1665.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
-0646 ; [.1666.0020.0002.0646] # ARABIC LETTER NOON
-FEE7 ; [.1666.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM; QQK
-FEE8 ; [.1666.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM; QQK
-FEE6 ; [.1666.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM; QQK
-FEE5 ; [.1666.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM; QQK
-FCD2 ; [.1666.0020.0017.FCD2][.15FF.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM; QQKN
-FC4B ; [.1666.0020.001A.FC4B][.15FF.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM; QQKN
-FDB8 ; [.1666.0020.0017.FDB8][.15FF.0020.0017.FDB8][.1605.0020.001F.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM; QQKN
-FDBD ; [.1666.0020.0019.FDBD][.15FF.0020.0019.FDBD][.1605.0020.001F.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM; QQKN
-FD98 ; [.1666.0020.0017.FD98][.15FF.0020.0017.FD98][.1663.0020.001F.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FD97 ; [.1666.0020.0019.FD97][.15FF.0020.0019.FD97][.1663.0020.001F.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM; QQKN
-FD99 ; [.1666.0020.0019.FD99][.15FF.0020.0019.FD99][.167F.0020.001F.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDC7 ; [.1666.0020.0019.FDC7][.15FF.0020.0019.FDC7][.1680.0020.001F.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM; QQKN
-FCD3 ; [.1666.0020.0017.FCD3][.1605.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM; QQKN
-FC4C ; [.1666.0020.001A.FC4C][.1605.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM; QQKN
-FD95 ; [.1666.0020.0017.FD95][.1605.0020.0017.FD95][.1663.0020.001F.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD96 ; [.1666.0020.0019.FD96][.1605.0020.0019.FD96][.167F.0020.001F.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDB3 ; [.1666.0020.0019.FDB3][.1605.0020.0019.FDB3][.1680.0020.001F.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM; QQKN
-FCD4 ; [.1666.0020.0017.FCD4][.1606.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM; QQKN
-FC4D ; [.1666.0020.001A.FC4D][.1606.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM; QQKN
-FC8A ; [.1666.0020.0019.FC8A][.161A.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM; QQKN
-FC8B ; [.1666.0020.0019.FC8B][.161B.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM; QQKN
-FCD5 ; [.1666.0020.0017.FCD5][.1663.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM; QQKN
-FCEE ; [.1666.0020.0018.FCEE][.1663.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM; QQKN
-FC8C ; [.1666.0020.0019.FC8C][.1663.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM; QQKN
-FC4E ; [.1666.0020.001A.FC4E][.1663.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM; QQKN
-FD9B ; [.1666.0020.0019.FD9B][.1663.0020.0019.FD9B][.167F.0020.001F.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD9A ; [.1666.0020.0019.FD9A][.1663.0020.0019.FD9A][.1680.0020.001F.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM; QQKN
-FC8D ; [.1666.0020.0019.FC8D][.1666.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM; QQKN
-FCD6 ; [.1666.0020.0017.FCD6][.166F.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM; QQKN
-FCEF ; [.1666.0020.0018.FCEF][.166F.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM; QQKN
-FC8E ; [.1666.0020.0019.FC8E][.167F.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM; QQKN
-FC4F ; [.1666.0020.001A.FC4F][.167F.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC8F ; [.1666.0020.0019.FC8F][.1680.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM; QQKN
-FC50 ; [.1666.0020.001A.FC50][.1680.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM; QQKN
-06BA ; [.1667.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
-FB9F ; [.1667.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM; QQK
-FB9E ; [.1667.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM; QQK
-06BB ; [.1668.0020.0002.06BB] # ARABIC LETTER RNOON
-FBA2 ; [.1668.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM; QQK
-FBA3 ; [.1668.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM; QQK
-FBA1 ; [.1668.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM; QQK
-FBA0 ; [.1668.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM; QQK
-06BC ; [.1669.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
-06BD ; [.166A.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06B9 ; [.166B.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
-0767 ; [.166C.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768 ; [.166D.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
-0769 ; [.166E.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
-0647 ; [.166F.0020.0002.0647] # ARABIC LETTER HEH
-FEEB ; [.166F.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM; QQK
-FEEC ; [.166F.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM; QQK
-FEEA ; [.166F.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM; QQK
-FEE9 ; [.166F.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM; QQK
-FCD9 ; [.166F.0020.0017.FCD9][.0000.00F3.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM; QQKN
-FCD7 ; [.166F.0020.0017.FCD7][.15FF.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM; QQKN
-FC51 ; [.166F.0020.001A.FC51][.15FF.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM; QQKN
-FCD8 ; [.166F.0020.0017.FCD8][.1663.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM; QQKN
-FC52 ; [.166F.0020.001A.FC52][.1663.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM; QQKN
-FD93 ; [.166F.0020.0017.FD93][.1663.0020.0017.FD93][.15FF.0020.001F.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD94 ; [.166F.0020.0017.FD94][.1663.0020.0017.FD94][.1663.0020.001F.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FC53 ; [.166F.0020.001A.FC53][.167F.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC54 ; [.166F.0020.001A.FC54][.1680.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM; QQKN
-06BE ; [.1670.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
-FBAC ; [.1670.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM; QQK
-FBAD ; [.1670.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM; QQK
-FBAB ; [.1670.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM; QQK
-FBAA ; [.1670.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM; QQK
-06C1 ; [.1671.0020.0002.06C1] # ARABIC LETTER HEH GOAL
-FBA8 ; [.1671.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM; QQK
-FBA9 ; [.1671.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM; QQK
-FBA7 ; [.1671.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM; QQK
-FBA6 ; [.1671.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM; QQK
-06C2 ; [.1671.0020.0002.06C1][.0000.00E8.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE; QQCM
-06C3 ; [.1672.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
-06FF ; [.1673.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
-06D5 ; [.1674.0020.0002.06D5] # ARABIC LETTER AE
-06C0 ; [.1674.0020.0002.06D5][.0000.00E8.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE; QQCM
-FBA5 ; [.1674.0020.0019.FBA5][.0000.00E8.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM; QQKN
-FBA4 ; [.1674.0020.001A.FBA4][.0000.00E8.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM; QQKN
-0648 ; [.1675.0020.0002.0648] # ARABIC LETTER WAW
-06E5 ; [.1675.0020.0004.06E5] # ARABIC SMALL WAW; QQK
-FEEE ; [.1675.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM; QQK
-FEED ; [.1675.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM; QQK
-0676 ; [.1675.0020.0004.0676][.15E1.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW; QQKN
-FDF8 ; [.1675.0020.001A.FDF8][.1629.0020.001A.FDF8][.165D.0020.001F.FDF8][.1663.0020.001F.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM; QQKN
-06C4 ; [.1676.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
-06C5 ; [.1677.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
-FBE1 ; [.1677.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM; QQK
-FBE0 ; [.1677.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM; QQK
-06C6 ; [.1678.0020.0002.06C6] # ARABIC LETTER OE
-FBDA ; [.1678.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM; QQK
-FBD9 ; [.1678.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM; QQK
-06C7 ; [.1679.0020.0002.06C7] # ARABIC LETTER U
-FBD8 ; [.1679.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM; QQK
-FBD7 ; [.1679.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM; QQK
-0677 ; [.1679.0020.0004.0677][.15E1.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE; QQKN
-FBDD ; [.1679.0020.001A.FBDD][.15E1.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM; QQKN
-06C8 ; [.167A.0020.0002.06C8] # ARABIC LETTER YU
-FBDC ; [.167A.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM; QQK
-FBDB ; [.167A.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM; QQK
-06C9 ; [.167B.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
-FBE3 ; [.167B.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM; QQK
-FBE2 ; [.167B.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM; QQK
-06CA ; [.167C.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB ; [.167D.0020.0002.06CB] # ARABIC LETTER VE
-FBDF ; [.167D.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM; QQK
-FBDE ; [.167D.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM; QQK
-06CF ; [.167E.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
-0649 ; [.167F.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
-FBE8 ; [.167F.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM; QQK
-FBE9 ; [.167F.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM; QQK
-FEF0 ; [.167F.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM; QQK
-FEEF ; [.167F.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM; QQK
-FC90 ; [.167F.0020.0019.FC90][.0000.00F3.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM; QQKN
-FC5D ; [.167F.0020.001A.FC5D][.0000.00F3.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-064A ; [.1680.0020.0002.064A] # ARABIC LETTER YEH
-06E6 ; [.1680.0020.0004.06E6] # ARABIC SMALL YEH; QQK
-FEF3 ; [.1680.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM; QQK
-FEF4 ; [.1680.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM; QQK
-FEF2 ; [.1680.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM; QQK
-FEF1 ; [.1680.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM; QQK
-0678 ; [.1680.0020.0004.0678][.15E1.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH; QQKN
-FCDA ; [.1680.0020.0017.FCDA][.15FF.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM; QQKN
-FC55 ; [.1680.0020.001A.FC55][.15FF.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM; QQKN
-FDAF ; [.1680.0020.0019.FDAF][.15FF.0020.0019.FDAF][.1680.0020.001F.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCDB ; [.1680.0020.0017.FCDB][.1605.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM; QQKN
-FC56 ; [.1680.0020.001A.FC56][.1605.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM; QQKN
-FDAE ; [.1680.0020.0019.FDAE][.1605.0020.0019.FDAE][.1680.0020.001F.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM; QQKN
-FCDC ; [.1680.0020.0017.FCDC][.1606.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM; QQKN
-FC57 ; [.1680.0020.001A.FC57][.1606.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM; QQKN
-FC91 ; [.1680.0020.0019.FC91][.161A.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM; QQKN
-FC92 ; [.1680.0020.0019.FC92][.161B.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM; QQKN
-FCDD ; [.1680.0020.0017.FCDD][.1663.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM; QQKN
-FCF0 ; [.1680.0020.0018.FCF0][.1663.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM; QQKN
-FC93 ; [.1680.0020.0019.FC93][.1663.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM; QQKN
-FC58 ; [.1680.0020.001A.FC58][.1663.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM; QQKN
-FD9D ; [.1680.0020.0017.FD9D][.1663.0020.0017.FD9D][.1663.0020.001F.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD9C ; [.1680.0020.0019.FD9C][.1663.0020.0019.FD9C][.1663.0020.001F.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB0 ; [.1680.0020.0019.FDB0][.1663.0020.0019.FDB0][.1680.0020.001F.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC94 ; [.1680.0020.0019.FC94][.1666.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM; QQKN
-FCDE ; [.1680.0020.0017.FCDE][.166F.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM; QQKN
-FCF1 ; [.1680.0020.0018.FCF1][.166F.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM; QQKN
-FC95 ; [.1680.0020.0019.FC95][.167F.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC59 ; [.1680.0020.001A.FC59][.167F.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC96 ; [.1680.0020.0019.FC96][.1680.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM; QQKN
-FC5A ; [.1680.0020.001A.FC5A][.1680.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM; QQKN
-06CC ; [.1681.0020.0002.06CC] # ARABIC LETTER FARSI YEH
-FBFE ; [.1681.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM; QQK
-FBFF ; [.1681.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM; QQK
-FBFD ; [.1681.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM; QQK
-FBFC ; [.1681.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM; QQK
-06CD ; [.1682.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
-06CE ; [.1683.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
-06D0 ; [.1684.0020.0002.06D0] # ARABIC LETTER E
-FBE6 ; [.1684.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM; QQK
-FBE7 ; [.1684.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM; QQK
-FBE5 ; [.1684.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM; QQK
-FBE4 ; [.1684.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM; QQK
-06D1 ; [.1685.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-06D2 ; [.1686.0020.0002.06D2] # ARABIC LETTER YEH BARREE
-FBAF ; [.1686.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM; QQK
-FBAE ; [.1686.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM; QQK
-06D3 ; [.1686.0020.0002.06D2][.0000.00E8.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE; QQCM
-FBB1 ; [.1686.0020.0019.FBB1][.0000.00E8.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM; QQKN
-FBB0 ; [.1686.0020.001A.FBB0][.0000.00E8.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM; QQKN
-0710 ; [.1687.0020.0002.0710] # SYRIAC LETTER ALAPH
-0712 ; [.1688.0020.0002.0712] # SYRIAC LETTER BETH
-072D ; [.1688.0020.0004.072D][.0000.019C.0004.072D] # SYRIAC LETTER PERSIAN BHETH; QQKN
-0713 ; [.1689.0020.0002.0713] # SYRIAC LETTER GAMAL
-0714 ; [.1689.0020.0004.0714][.0000.019A.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI; QQKN
-072E ; [.1689.0020.0004.072E][.0000.019C.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL; QQKN
-0716 ; [.168A.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
-0715 ; [.168B.0020.0002.0715] # SYRIAC LETTER DALATH
-072F ; [.168B.0020.0004.072F][.0000.019C.0004.072F] # SYRIAC LETTER PERSIAN DHALATH; QQKN
-0717 ; [.168C.0020.0002.0717] # SYRIAC LETTER HE
-0718 ; [.168D.0020.0002.0718] # SYRIAC LETTER WAW
-0719 ; [.168E.0020.0002.0719] # SYRIAC LETTER ZAIN
-074D ; [.168F.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
-071A ; [.1690.0020.0002.071A] # SYRIAC LETTER HETH
-071B ; [.1691.0020.0002.071B] # SYRIAC LETTER TETH
-071C ; [.1691.0020.0004.071C][.0000.019A.0004.071C] # SYRIAC LETTER TETH GARSHUNI; QQKN
-071D ; [.1692.0020.0002.071D] # SYRIAC LETTER YUDH
-071E ; [.1693.0020.0002.071E] # SYRIAC LETTER YUDH HE
-071F ; [.1694.0020.0002.071F] # SYRIAC LETTER KAPH
-074E ; [.1695.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
-0720 ; [.1696.0020.0002.0720] # SYRIAC LETTER LAMADH
-0721 ; [.1697.0020.0002.0721] # SYRIAC LETTER MIM
-0722 ; [.1698.0020.0002.0722] # SYRIAC LETTER NUN
-0723 ; [.1699.0020.0002.0723] # SYRIAC LETTER SEMKATH
-0724 ; [.1699.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH; QQK
-0725 ; [.169A.0020.0002.0725] # SYRIAC LETTER E
-0726 ; [.169B.0020.0002.0726] # SYRIAC LETTER PE
-0727 ; [.169B.0020.0004.0727][.0000.019A.0004.0727] # SYRIAC LETTER REVERSED PE; QQKN
-074F ; [.169C.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
-0728 ; [.169D.0020.0002.0728] # SYRIAC LETTER SADHE
-0729 ; [.169E.0020.0002.0729] # SYRIAC LETTER QAPH
-072A ; [.169F.0020.0002.072A] # SYRIAC LETTER RISH
-072B ; [.16A0.0020.0002.072B] # SYRIAC LETTER SHIN
-072C ; [.16A1.0020.0002.072C] # SYRIAC LETTER TAW
-0780 ; [.16A2.0020.0002.0780] # THAANA LETTER HAA
-0799 ; [.16A3.0020.0002.0799] # THAANA LETTER HHAA
-079A ; [.16A4.0020.0002.079A] # THAANA LETTER KHAA
-0781 ; [.16A5.0020.0002.0781] # THAANA LETTER SHAVIYANI
-0782 ; [.16A6.0020.0002.0782] # THAANA LETTER NOONU
-0783 ; [.16A7.0020.0002.0783] # THAANA LETTER RAA
-079C ; [.16A8.0020.0002.079C] # THAANA LETTER ZAA
-0784 ; [.16A9.0020.0002.0784] # THAANA LETTER BAA
-0785 ; [.16AA.0020.0002.0785] # THAANA LETTER LHAVIYANI
-0786 ; [.16AB.0020.0002.0786] # THAANA LETTER KAAFU
-0787 ; [.16AC.0020.0002.0787] # THAANA LETTER ALIFU
-07A2 ; [.16AD.0020.0002.07A2] # THAANA LETTER AINU
-07A3 ; [.16AE.0020.0002.07A3] # THAANA LETTER GHAINU
-0788 ; [.16AF.0020.0002.0788] # THAANA LETTER VAAVU
-07A5 ; [.16B0.0020.0002.07A5] # THAANA LETTER WAAVU
-0789 ; [.16B1.0020.0002.0789] # THAANA LETTER MEEMU
-078A ; [.16B2.0020.0002.078A] # THAANA LETTER FAAFU
-078B ; [.16B3.0020.0002.078B] # THAANA LETTER DHAALU
-079B ; [.16B4.0020.0002.079B] # THAANA LETTER THAALU
-078C ; [.16B5.0020.0002.078C] # THAANA LETTER THAA
-0798 ; [.16B6.0020.0002.0798] # THAANA LETTER TTAA
-07A0 ; [.16B7.0020.0002.07A0] # THAANA LETTER TO
-07A1 ; [.16B8.0020.0002.07A1] # THAANA LETTER ZO
-078D ; [.16B9.0020.0002.078D] # THAANA LETTER LAAMU
-078E ; [.16BA.0020.0002.078E] # THAANA LETTER GAAFU
-07A4 ; [.16BB.0020.0002.07A4] # THAANA LETTER QAAFU
-078F ; [.16BC.0020.0002.078F] # THAANA LETTER GNAVIYANI
-0790 ; [.16BD.0020.0002.0790] # THAANA LETTER SEENU
-079D ; [.16BE.0020.0002.079D] # THAANA LETTER SHEENU
-079E ; [.16BF.0020.0002.079E] # THAANA LETTER SAADHU
-079F ; [.16C0.0020.0002.079F] # THAANA LETTER DAADHU
-0791 ; [.16C1.0020.0002.0791] # THAANA LETTER DAVIYANI
-0792 ; [.16C2.0020.0002.0792] # THAANA LETTER ZAVIYANI
-0793 ; [.16C3.0020.0002.0793] # THAANA LETTER TAVIYANI
-0794 ; [.16C4.0020.0002.0794] # THAANA LETTER YAA
-0795 ; [.16C5.0020.0002.0795] # THAANA LETTER PAVIYANI
-0796 ; [.16C6.0020.0002.0796] # THAANA LETTER JAVIYANI
-0797 ; [.16C7.0020.0002.0797] # THAANA LETTER CHAVIYANI
-07B1 ; [.16C8.0020.0002.07B1] # THAANA LETTER NAA
-07A6 ; [.16C9.0020.0002.07A6] # THAANA ABAFILI
-07A7 ; [.16CA.0020.0002.07A7] # THAANA AABAAFILI
-07A8 ; [.16CB.0020.0002.07A8] # THAANA IBIFILI
-07A9 ; [.16CC.0020.0002.07A9] # THAANA EEBEEFILI
-07AA ; [.16CD.0020.0002.07AA] # THAANA UBUFILI
-07AB ; [.16CE.0020.0002.07AB] # THAANA OOBOOFILI
-07AC ; [.16CF.0020.0002.07AC] # THAANA EBEFILI
-07AD ; [.16D0.0020.0002.07AD] # THAANA EYBEYFILI
-07AE ; [.16D1.0020.0002.07AE] # THAANA OBOFILI
-07AF ; [.16D2.0020.0002.07AF] # THAANA OABOAFILI
-07B0 ; [.16D3.0020.0002.07B0] # THAANA SUKUN
-07CA ; [.16D4.0020.0002.07CA] # NKO LETTER A
-07CB ; [.16D5.0020.0002.07CB] # NKO LETTER EE
-07CC ; [.16D6.0020.0002.07CC] # NKO LETTER I
-07CD ; [.16D7.0020.0002.07CD] # NKO LETTER E
-07CE ; [.16D8.0020.0002.07CE] # NKO LETTER U
-07CF ; [.16D9.0020.0002.07CF] # NKO LETTER OO
-07D0 ; [.16DA.0020.0002.07D0] # NKO LETTER O
-07D1 ; [.16DB.0020.0002.07D1] # NKO LETTER DAGBASINNA
-07D2 ; [.16DC.0020.0002.07D2] # NKO LETTER N
-07D3 ; [.16DD.0020.0002.07D3] # NKO LETTER BA
-07D4 ; [.16DE.0020.0002.07D4] # NKO LETTER PA
-07D5 ; [.16DF.0020.0002.07D5] # NKO LETTER TA
-07D6 ; [.16E0.0020.0002.07D6] # NKO LETTER JA
-07E8 ; [.16E0.0020.0004.07E8][.0000.0199.0004.07E8] # NKO LETTER JONA JA; QQKN
-07D7 ; [.16E1.0020.0002.07D7] # NKO LETTER CHA
-07E9 ; [.16E1.0020.0004.07E9][.0000.0199.0004.07E9] # NKO LETTER JONA CHA; QQKN
-07D8 ; [.16E2.0020.0002.07D8] # NKO LETTER DA
-07D9 ; [.16E3.0020.0002.07D9] # NKO LETTER RA
-07EA ; [.16E3.0020.0004.07EA][.0000.0199.0004.07EA] # NKO LETTER JONA RA; QQKN
-07DA ; [.16E4.0020.0002.07DA] # NKO LETTER RRA
-07DB ; [.16E5.0020.0002.07DB] # NKO LETTER SA
-07DC ; [.16E6.0020.0002.07DC] # NKO LETTER GBA
-07DD ; [.16E7.0020.0002.07DD] # NKO LETTER FA
-07DE ; [.16E8.0020.0002.07DE] # NKO LETTER KA
-07DF ; [.16E9.0020.0002.07DF] # NKO LETTER LA
-07E0 ; [.16EA.0020.0002.07E0] # NKO LETTER NA WOLOSO
-07E1 ; [.16EB.0020.0002.07E1] # NKO LETTER MA
-07E2 ; [.16EC.0020.0002.07E2] # NKO LETTER NYA
-07E3 ; [.16ED.0020.0002.07E3] # NKO LETTER NA
-07E4 ; [.16EE.0020.0002.07E4] # NKO LETTER HA
-07E5 ; [.16EF.0020.0002.07E5] # NKO LETTER WA
-07E6 ; [.16F0.0020.0002.07E6] # NKO LETTER YA
-07E7 ; [.16F1.0020.0002.07E7] # NKO LETTER NYA WOLOSO
-07F4 ; [.16F2.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
-07F5 ; [.16F3.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
-2D30 ; [.16F4.0020.0002.2D30] # TIFINAGH LETTER YA
-2D31 ; [.16F5.0020.0002.2D31] # TIFINAGH LETTER YAB
-2D32 ; [.16F6.0020.0002.2D32] # TIFINAGH LETTER YABH
-2D33 ; [.16F7.0020.0002.2D33] # TIFINAGH LETTER YAG
-2D34 ; [.16F8.0020.0002.2D34] # TIFINAGH LETTER YAGHH
-2D35 ; [.16F9.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36 ; [.16FA.0020.0002.2D36] # TIFINAGH LETTER YAJ
-2D37 ; [.16FB.0020.0002.2D37] # TIFINAGH LETTER YAD
-2D38 ; [.16FC.0020.0002.2D38] # TIFINAGH LETTER YADH
-2D39 ; [.16FD.0020.0002.2D39] # TIFINAGH LETTER YADD
-2D3A ; [.16FE.0020.0002.2D3A] # TIFINAGH LETTER YADDH
-2D3B ; [.16FF.0020.0002.2D3B] # TIFINAGH LETTER YEY
-2D3C ; [.1700.0020.0002.2D3C] # TIFINAGH LETTER YAF
-2D3D ; [.1701.0020.0002.2D3D] # TIFINAGH LETTER YAK
-2D3E ; [.1702.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
-2D3F ; [.1703.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
-2D40 ; [.1704.0020.0002.2D40] # TIFINAGH LETTER YAH
-2D41 ; [.1705.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42 ; [.1706.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
-2D43 ; [.1707.0020.0002.2D43] # TIFINAGH LETTER YAHH
-2D44 ; [.1708.0020.0002.2D44] # TIFINAGH LETTER YAA
-2D45 ; [.1709.0020.0002.2D45] # TIFINAGH LETTER YAKH
-2D46 ; [.170A.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
-2D47 ; [.170B.0020.0002.2D47] # TIFINAGH LETTER YAQ
-2D48 ; [.170C.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
-2D49 ; [.170D.0020.0002.2D49] # TIFINAGH LETTER YI
-2D4A ; [.170E.0020.0002.2D4A] # TIFINAGH LETTER YAZH
-2D4B ; [.170F.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
-2D4C ; [.1710.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
-2D4D ; [.1711.0020.0002.2D4D] # TIFINAGH LETTER YAL
-2D4E ; [.1712.0020.0002.2D4E] # TIFINAGH LETTER YAM
-2D4F ; [.1713.0020.0002.2D4F] # TIFINAGH LETTER YAN
-2D50 ; [.1714.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
-2D51 ; [.1715.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
-2D52 ; [.1716.0020.0002.2D52] # TIFINAGH LETTER YAP
-2D53 ; [.1717.0020.0002.2D53] # TIFINAGH LETTER YU
-2D54 ; [.1718.0020.0002.2D54] # TIFINAGH LETTER YAR
-2D55 ; [.1719.0020.0002.2D55] # TIFINAGH LETTER YARR
-2D56 ; [.171A.0020.0002.2D56] # TIFINAGH LETTER YAGH
-2D57 ; [.171B.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
-2D58 ; [.171C.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
-2D59 ; [.171D.0020.0002.2D59] # TIFINAGH LETTER YAS
-2D5A ; [.171E.0020.0002.2D5A] # TIFINAGH LETTER YASS
-2D5B ; [.171F.0020.0002.2D5B] # TIFINAGH LETTER YASH
-2D5C ; [.1720.0020.0002.2D5C] # TIFINAGH LETTER YAT
-2D5D ; [.1721.0020.0002.2D5D] # TIFINAGH LETTER YATH
-2D5E ; [.1722.0020.0002.2D5E] # TIFINAGH LETTER YACH
-2D5F ; [.1723.0020.0002.2D5F] # TIFINAGH LETTER YATT
-2D60 ; [.1724.0020.0002.2D60] # TIFINAGH LETTER YAV
-2D61 ; [.1725.0020.0002.2D61] # TIFINAGH LETTER YAW
-2D62 ; [.1726.0020.0002.2D62] # TIFINAGH LETTER YAY
-2D63 ; [.1727.0020.0002.2D63] # TIFINAGH LETTER YAZ
-2D64 ; [.1728.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
-2D65 ; [.1729.0020.0002.2D65] # TIFINAGH LETTER YAZZ
-2D6F ; [.172A.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-1200 ; [.172B.0020.0002.1200] # ETHIOPIC SYLLABLE HA
-1201 ; [.172C.0020.0002.1201] # ETHIOPIC SYLLABLE HU
-1202 ; [.172D.0020.0002.1202] # ETHIOPIC SYLLABLE HI
-1203 ; [.172E.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
-1204 ; [.172F.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
-1205 ; [.1730.0020.0002.1205] # ETHIOPIC SYLLABLE HE
-1206 ; [.1731.0020.0002.1206] # ETHIOPIC SYLLABLE HO
-1207 ; [.1732.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
-1208 ; [.1733.0020.0002.1208] # ETHIOPIC SYLLABLE LA
-1209 ; [.1734.0020.0002.1209] # ETHIOPIC SYLLABLE LU
-120A ; [.1735.0020.0002.120A] # ETHIOPIC SYLLABLE LI
-120B ; [.1736.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
-120C ; [.1737.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
-120D ; [.1738.0020.0002.120D] # ETHIOPIC SYLLABLE LE
-120E ; [.1739.0020.0002.120E] # ETHIOPIC SYLLABLE LO
-120F ; [.173A.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
-2D80 ; [.173B.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
-1210 ; [.173C.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
-1211 ; [.173D.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
-1212 ; [.173E.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
-1213 ; [.173F.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
-1214 ; [.1740.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
-1215 ; [.1741.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
-1216 ; [.1742.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
-1217 ; [.1743.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
-1218 ; [.1744.0020.0002.1218] # ETHIOPIC SYLLABLE MA
-1219 ; [.1745.0020.0002.1219] # ETHIOPIC SYLLABLE MU
-121A ; [.1746.0020.0002.121A] # ETHIOPIC SYLLABLE MI
-121B ; [.1747.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
-121C ; [.1748.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
-121D ; [.1749.0020.0002.121D] # ETHIOPIC SYLLABLE ME
-121E ; [.174A.0020.0002.121E] # ETHIOPIC SYLLABLE MO
-121F ; [.174B.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
-1380 ; [.174C.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381 ; [.174D.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
-1382 ; [.174E.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
-1383 ; [.174F.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
-2D81 ; [.1750.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
-1220 ; [.1751.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
-1221 ; [.1752.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
-1222 ; [.1753.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
-1223 ; [.1754.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
-1224 ; [.1755.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
-1225 ; [.1756.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
-1226 ; [.1757.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
-1227 ; [.1758.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
-1228 ; [.1759.0020.0002.1228] # ETHIOPIC SYLLABLE RA
-1229 ; [.175A.0020.0002.1229] # ETHIOPIC SYLLABLE RU
-122A ; [.175B.0020.0002.122A] # ETHIOPIC SYLLABLE RI
-122B ; [.175C.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
-122C ; [.175D.0020.0002.122C] # ETHIOPIC SYLLABLE REE
-122D ; [.175E.0020.0002.122D] # ETHIOPIC SYLLABLE RE
-122E ; [.175F.0020.0002.122E] # ETHIOPIC SYLLABLE RO
-122F ; [.1760.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
-2D82 ; [.1761.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
-1230 ; [.1762.0020.0002.1230] # ETHIOPIC SYLLABLE SA
-1231 ; [.1763.0020.0002.1231] # ETHIOPIC SYLLABLE SU
-1232 ; [.1764.0020.0002.1232] # ETHIOPIC SYLLABLE SI
-1233 ; [.1765.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
-1234 ; [.1766.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
-1235 ; [.1767.0020.0002.1235] # ETHIOPIC SYLLABLE SE
-1236 ; [.1768.0020.0002.1236] # ETHIOPIC SYLLABLE SO
-1237 ; [.1769.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
-2D83 ; [.176A.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
-1238 ; [.176B.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
-1239 ; [.176C.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
-123A ; [.176D.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
-123B ; [.176E.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
-123C ; [.176F.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
-123D ; [.1770.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
-123E ; [.1771.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
-123F ; [.1772.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
-2D84 ; [.1773.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
-1240 ; [.1774.0020.0002.1240] # ETHIOPIC SYLLABLE QA
-1241 ; [.1775.0020.0002.1241] # ETHIOPIC SYLLABLE QU
-1242 ; [.1776.0020.0002.1242] # ETHIOPIC SYLLABLE QI
-1243 ; [.1777.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
-1244 ; [.1778.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
-1245 ; [.1779.0020.0002.1245] # ETHIOPIC SYLLABLE QE
-1246 ; [.177A.0020.0002.1246] # ETHIOPIC SYLLABLE QO
-1247 ; [.177B.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
-1248 ; [.177C.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
-124A ; [.177D.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
-124B ; [.177E.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
-124C ; [.177F.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
-124D ; [.1780.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
-1250 ; [.1781.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
-1251 ; [.1782.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
-1252 ; [.1783.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
-1253 ; [.1784.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
-1254 ; [.1785.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
-1255 ; [.1786.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
-1256 ; [.1787.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
-1258 ; [.1788.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
-125A ; [.1789.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
-125B ; [.178A.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
-125C ; [.178B.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
-125D ; [.178C.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
-1260 ; [.178D.0020.0002.1260] # ETHIOPIC SYLLABLE BA
-1261 ; [.178E.0020.0002.1261] # ETHIOPIC SYLLABLE BU
-1262 ; [.178F.0020.0002.1262] # ETHIOPIC SYLLABLE BI
-1263 ; [.1790.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
-1264 ; [.1791.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
-1265 ; [.1792.0020.0002.1265] # ETHIOPIC SYLLABLE BE
-1266 ; [.1793.0020.0002.1266] # ETHIOPIC SYLLABLE BO
-1267 ; [.1794.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
-1384 ; [.1795.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385 ; [.1796.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
-1386 ; [.1797.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
-1387 ; [.1798.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
-2D85 ; [.1799.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
-1268 ; [.179A.0020.0002.1268] # ETHIOPIC SYLLABLE VA
-1269 ; [.179B.0020.0002.1269] # ETHIOPIC SYLLABLE VU
-126A ; [.179C.0020.0002.126A] # ETHIOPIC SYLLABLE VI
-126B ; [.179D.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
-126C ; [.179E.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
-126D ; [.179F.0020.0002.126D] # ETHIOPIC SYLLABLE VE
-126E ; [.17A0.0020.0002.126E] # ETHIOPIC SYLLABLE VO
-126F ; [.17A1.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
-1270 ; [.17A2.0020.0002.1270] # ETHIOPIC SYLLABLE TA
-1271 ; [.17A3.0020.0002.1271] # ETHIOPIC SYLLABLE TU
-1272 ; [.17A4.0020.0002.1272] # ETHIOPIC SYLLABLE TI
-1273 ; [.17A5.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
-1274 ; [.17A6.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
-1275 ; [.17A7.0020.0002.1275] # ETHIOPIC SYLLABLE TE
-1276 ; [.17A8.0020.0002.1276] # ETHIOPIC SYLLABLE TO
-1277 ; [.17A9.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
-2D86 ; [.17AA.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
-1278 ; [.17AB.0020.0002.1278] # ETHIOPIC SYLLABLE CA
-1279 ; [.17AC.0020.0002.1279] # ETHIOPIC SYLLABLE CU
-127A ; [.17AD.0020.0002.127A] # ETHIOPIC SYLLABLE CI
-127B ; [.17AE.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
-127C ; [.17AF.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
-127D ; [.17B0.0020.0002.127D] # ETHIOPIC SYLLABLE CE
-127E ; [.17B1.0020.0002.127E] # ETHIOPIC SYLLABLE CO
-127F ; [.17B2.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
-2D87 ; [.17B3.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
-1280 ; [.17B4.0020.0002.1280] # ETHIOPIC SYLLABLE XA
-1281 ; [.17B5.0020.0002.1281] # ETHIOPIC SYLLABLE XU
-1282 ; [.17B6.0020.0002.1282] # ETHIOPIC SYLLABLE XI
-1283 ; [.17B7.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
-1284 ; [.17B8.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
-1285 ; [.17B9.0020.0002.1285] # ETHIOPIC SYLLABLE XE
-1286 ; [.17BA.0020.0002.1286] # ETHIOPIC SYLLABLE XO
-1287 ; [.17BB.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
-1288 ; [.17BC.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
-128A ; [.17BD.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
-128B ; [.17BE.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
-128C ; [.17BF.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
-128D ; [.17C0.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
-1290 ; [.17C1.0020.0002.1290] # ETHIOPIC SYLLABLE NA
-1291 ; [.17C2.0020.0002.1291] # ETHIOPIC SYLLABLE NU
-1292 ; [.17C3.0020.0002.1292] # ETHIOPIC SYLLABLE NI
-1293 ; [.17C4.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
-1294 ; [.17C5.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
-1295 ; [.17C6.0020.0002.1295] # ETHIOPIC SYLLABLE NE
-1296 ; [.17C7.0020.0002.1296] # ETHIOPIC SYLLABLE NO
-1297 ; [.17C8.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
-2D88 ; [.17C9.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
-1298 ; [.17CA.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
-1299 ; [.17CB.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
-129A ; [.17CC.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
-129B ; [.17CD.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
-129C ; [.17CE.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
-129D ; [.17CF.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
-129E ; [.17D0.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
-129F ; [.17D1.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
-2D89 ; [.17D2.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
-12A0 ; [.17D3.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
-12A1 ; [.17D4.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
-12A2 ; [.17D5.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
-12A3 ; [.17D6.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4 ; [.17D7.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5 ; [.17D8.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
-12A6 ; [.17D9.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
-12A7 ; [.17DA.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
-2D8A ; [.17DB.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
-12A8 ; [.17DC.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
-12A9 ; [.17DD.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
-12AA ; [.17DE.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
-12AB ; [.17DF.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
-12AC ; [.17E0.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
-12AD ; [.17E1.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
-12AE ; [.17E2.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
-12AF ; [.17E3.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
-12B0 ; [.17E4.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
-12B2 ; [.17E5.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
-12B3 ; [.17E6.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
-12B4 ; [.17E7.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
-12B5 ; [.17E8.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
-12B8 ; [.17E9.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
-12B9 ; [.17EA.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
-12BA ; [.17EB.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
-12BB ; [.17EC.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
-12BC ; [.17ED.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
-12BD ; [.17EE.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
-12BE ; [.17EF.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
-12C0 ; [.17F0.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
-12C2 ; [.17F1.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
-12C3 ; [.17F2.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
-12C4 ; [.17F3.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
-12C5 ; [.17F4.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
-12C8 ; [.17F5.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
-12C9 ; [.17F6.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
-12CA ; [.17F7.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
-12CB ; [.17F8.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
-12CC ; [.17F9.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
-12CD ; [.17FA.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
-12CE ; [.17FB.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
-12CF ; [.17FC.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
-12D0 ; [.17FD.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1 ; [.17FE.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2 ; [.17FF.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3 ; [.1800.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4 ; [.1801.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5 ; [.1802.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6 ; [.1803.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8 ; [.1804.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
-12D9 ; [.1805.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
-12DA ; [.1806.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
-12DB ; [.1807.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
-12DC ; [.1808.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
-12DD ; [.1809.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
-12DE ; [.180A.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
-12DF ; [.180B.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
-2D8B ; [.180C.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
-12E0 ; [.180D.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
-12E1 ; [.180E.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
-12E2 ; [.180F.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
-12E3 ; [.1810.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
-12E4 ; [.1811.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
-12E5 ; [.1812.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
-12E6 ; [.1813.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
-12E7 ; [.1814.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
-12E8 ; [.1815.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
-12E9 ; [.1816.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
-12EA ; [.1817.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
-12EB ; [.1818.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
-12EC ; [.1819.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
-12ED ; [.181A.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
-12EE ; [.181B.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
-12EF ; [.181C.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
-12F0 ; [.181D.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
-12F1 ; [.181E.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
-12F2 ; [.181F.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
-12F3 ; [.1820.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
-12F4 ; [.1821.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
-12F5 ; [.1822.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
-12F6 ; [.1823.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
-12F7 ; [.1824.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
-2D8C ; [.1825.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
-12F8 ; [.1826.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
-12F9 ; [.1827.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
-12FA ; [.1828.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
-12FB ; [.1829.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
-12FC ; [.182A.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
-12FD ; [.182B.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
-12FE ; [.182C.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
-12FF ; [.182D.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
-2D8D ; [.182E.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
-1300 ; [.182F.0020.0002.1300] # ETHIOPIC SYLLABLE JA
-1301 ; [.1830.0020.0002.1301] # ETHIOPIC SYLLABLE JU
-1302 ; [.1831.0020.0002.1302] # ETHIOPIC SYLLABLE JI
-1303 ; [.1832.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
-1304 ; [.1833.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
-1305 ; [.1834.0020.0002.1305] # ETHIOPIC SYLLABLE JE
-1306 ; [.1835.0020.0002.1306] # ETHIOPIC SYLLABLE JO
-1307 ; [.1836.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
-2D8E ; [.1837.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
-1308 ; [.1838.0020.0002.1308] # ETHIOPIC SYLLABLE GA
-1309 ; [.1839.0020.0002.1309] # ETHIOPIC SYLLABLE GU
-130A ; [.183A.0020.0002.130A] # ETHIOPIC SYLLABLE GI
-130B ; [.183B.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
-130C ; [.183C.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
-130D ; [.183D.0020.0002.130D] # ETHIOPIC SYLLABLE GE
-130E ; [.183E.0020.0002.130E] # ETHIOPIC SYLLABLE GO
-130F ; [.183F.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
-1310 ; [.1840.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
-1312 ; [.1841.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
-1313 ; [.1842.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
-1314 ; [.1843.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
-1315 ; [.1844.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
-1318 ; [.1845.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
-1319 ; [.1846.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
-131A ; [.1847.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
-131B ; [.1848.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
-131C ; [.1849.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
-131D ; [.184A.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
-131E ; [.184B.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
-131F ; [.184C.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
-2D93 ; [.184D.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
-2D94 ; [.184E.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
-2D95 ; [.184F.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
-2D96 ; [.1850.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
-1320 ; [.1851.0020.0002.1320] # ETHIOPIC SYLLABLE THA
-1321 ; [.1852.0020.0002.1321] # ETHIOPIC SYLLABLE THU
-1322 ; [.1853.0020.0002.1322] # ETHIOPIC SYLLABLE THI
-1323 ; [.1854.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
-1324 ; [.1855.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
-1325 ; [.1856.0020.0002.1325] # ETHIOPIC SYLLABLE THE
-1326 ; [.1857.0020.0002.1326] # ETHIOPIC SYLLABLE THO
-1327 ; [.1858.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
-2D8F ; [.1859.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
-1328 ; [.185A.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
-1329 ; [.185B.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
-132A ; [.185C.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
-132B ; [.185D.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
-132C ; [.185E.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
-132D ; [.185F.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
-132E ; [.1860.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
-132F ; [.1861.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
-2D90 ; [.1862.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
-1330 ; [.1863.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
-1331 ; [.1864.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
-1332 ; [.1865.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
-1333 ; [.1866.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
-1334 ; [.1867.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
-1335 ; [.1868.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
-1336 ; [.1869.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
-1337 ; [.186A.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
-2D91 ; [.186B.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
-1338 ; [.186C.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
-1339 ; [.186D.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
-133A ; [.186E.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
-133B ; [.186F.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
-133C ; [.1870.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
-133D ; [.1871.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
-133E ; [.1872.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
-133F ; [.1873.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
-1340 ; [.1874.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
-1341 ; [.1875.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
-1342 ; [.1876.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
-1343 ; [.1877.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
-1344 ; [.1878.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
-1345 ; [.1879.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
-1346 ; [.187A.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
-1347 ; [.187B.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
-1348 ; [.187C.0020.0002.1348] # ETHIOPIC SYLLABLE FA
-1349 ; [.187D.0020.0002.1349] # ETHIOPIC SYLLABLE FU
-134A ; [.187E.0020.0002.134A] # ETHIOPIC SYLLABLE FI
-134B ; [.187F.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
-134C ; [.1880.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
-134D ; [.1881.0020.0002.134D] # ETHIOPIC SYLLABLE FE
-134E ; [.1882.0020.0002.134E] # ETHIOPIC SYLLABLE FO
-134F ; [.1883.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
-1388 ; [.1884.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389 ; [.1885.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
-138A ; [.1886.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
-138B ; [.1887.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
-1350 ; [.1888.0020.0002.1350] # ETHIOPIC SYLLABLE PA
-1351 ; [.1889.0020.0002.1351] # ETHIOPIC SYLLABLE PU
-1352 ; [.188A.0020.0002.1352] # ETHIOPIC SYLLABLE PI
-1353 ; [.188B.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
-1354 ; [.188C.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
-1355 ; [.188D.0020.0002.1355] # ETHIOPIC SYLLABLE PE
-1356 ; [.188E.0020.0002.1356] # ETHIOPIC SYLLABLE PO
-1357 ; [.188F.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
-138C ; [.1890.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D ; [.1891.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
-138E ; [.1892.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
-138F ; [.1893.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
-2D92 ; [.1894.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
-1358 ; [.1895.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
-1359 ; [.1896.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
-135A ; [.1897.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
-2DA0 ; [.1898.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
-2DA1 ; [.1899.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
-2DA2 ; [.189A.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
-2DA3 ; [.189B.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
-2DA4 ; [.189C.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
-2DA5 ; [.189D.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
-2DA6 ; [.189E.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
-2DA8 ; [.189F.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
-2DA9 ; [.18A0.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
-2DAA ; [.18A1.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
-2DAB ; [.18A2.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
-2DAC ; [.18A3.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
-2DAD ; [.18A4.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
-2DAE ; [.18A5.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
-2DB0 ; [.18A6.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
-2DB1 ; [.18A7.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
-2DB2 ; [.18A8.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
-2DB3 ; [.18A9.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
-2DB4 ; [.18AA.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
-2DB5 ; [.18AB.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
-2DB6 ; [.18AC.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
-2DB8 ; [.18AD.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
-2DB9 ; [.18AE.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
-2DBA ; [.18AF.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
-2DBB ; [.18B0.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
-2DBC ; [.18B1.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
-2DBD ; [.18B2.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
-2DBE ; [.18B3.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
-2DC0 ; [.18B4.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
-2DC1 ; [.18B5.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
-2DC2 ; [.18B6.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
-2DC3 ; [.18B7.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
-2DC4 ; [.18B8.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
-2DC5 ; [.18B9.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
-2DC6 ; [.18BA.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
-2DC8 ; [.18BB.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
-2DC9 ; [.18BC.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
-2DCA ; [.18BD.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
-2DCB ; [.18BE.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
-2DCC ; [.18BF.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
-2DCD ; [.18C0.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
-2DCE ; [.18C1.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
-2DD0 ; [.18C2.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
-2DD1 ; [.18C3.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
-2DD2 ; [.18C4.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
-2DD3 ; [.18C5.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
-2DD4 ; [.18C6.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
-2DD5 ; [.18C7.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
-2DD6 ; [.18C8.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
-2DD8 ; [.18C9.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
-2DD9 ; [.18CA.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
-2DDA ; [.18CB.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
-2DDB ; [.18CC.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
-2DDC ; [.18CD.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
-2DDD ; [.18CE.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
-2DDE ; [.18CF.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
-0950 ; [.18D0.0020.0002.0950] # DEVANAGARI OM
-0904 ; [.18D1.0020.0002.0904] # DEVANAGARI LETTER SHORT A
-0905 ; [.18D2.0020.0002.0905] # DEVANAGARI LETTER A
-0906 ; [.18D3.0020.0002.0906] # DEVANAGARI LETTER AA
-0907 ; [.18D4.0020.0002.0907] # DEVANAGARI LETTER I
-0908 ; [.18D5.0020.0002.0908] # DEVANAGARI LETTER II
-0909 ; [.18D6.0020.0002.0909] # DEVANAGARI LETTER U
-090A ; [.18D7.0020.0002.090A] # DEVANAGARI LETTER UU
-090B ; [.18D8.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
-0960 ; [.18D9.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
-090C ; [.18DA.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
-0961 ; [.18DB.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
-090D ; [.18DC.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
-090E ; [.18DD.0020.0002.090E] # DEVANAGARI LETTER SHORT E
-090F ; [.18DE.0020.0002.090F] # DEVANAGARI LETTER E
-0910 ; [.18DF.0020.0002.0910] # DEVANAGARI LETTER AI
-0911 ; [.18E0.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
-0912 ; [.18E1.0020.0002.0912] # DEVANAGARI LETTER SHORT O
-0913 ; [.18E2.0020.0002.0913] # DEVANAGARI LETTER O
-0914 ; [.18E3.0020.0002.0914] # DEVANAGARI LETTER AU
-0915 ; [.18E4.0020.0002.0915] # DEVANAGARI LETTER KA
-0958 ; [.18E4.0020.0002.0915][.0000.0119.0002.093C] # DEVANAGARI LETTER QA; QQCM
-0916 ; [.18E5.0020.0002.0916] # DEVANAGARI LETTER KHA
-0959 ; [.18E5.0020.0002.0916][.0000.0119.0002.093C] # DEVANAGARI LETTER KHHA; QQCM
-0917 ; [.18E6.0020.0002.0917] # DEVANAGARI LETTER GA
-095A ; [.18E6.0020.0002.0917][.0000.0119.0002.093C] # DEVANAGARI LETTER GHHA; QQCM
-097B ; [.18E7.0020.0002.097B] # DEVANAGARI LETTER GGA
-0918 ; [.18E8.0020.0002.0918] # DEVANAGARI LETTER GHA
-0919 ; [.18E9.0020.0002.0919] # DEVANAGARI LETTER NGA
-091A ; [.18EA.0020.0002.091A] # DEVANAGARI LETTER CA
-091B ; [.18EB.0020.0002.091B] # DEVANAGARI LETTER CHA
-091C ; [.18EC.0020.0002.091C] # DEVANAGARI LETTER JA
-095B ; [.18EC.0020.0002.091C][.0000.0119.0002.093C] # DEVANAGARI LETTER ZA; QQCM
-097C ; [.18ED.0020.0002.097C] # DEVANAGARI LETTER JJA
-091D ; [.18EE.0020.0002.091D] # DEVANAGARI LETTER JHA
-091E ; [.18EF.0020.0002.091E] # DEVANAGARI LETTER NYA
-091F ; [.18F0.0020.0002.091F] # DEVANAGARI LETTER TTA
-0920 ; [.18F1.0020.0002.0920] # DEVANAGARI LETTER TTHA
-0921 ; [.18F2.0020.0002.0921] # DEVANAGARI LETTER DDA
-095C ; [.18F2.0020.0002.0921][.0000.0119.0002.093C] # DEVANAGARI LETTER DDDHA; QQCM
-097E ; [.18F3.0020.0002.097E] # DEVANAGARI LETTER DDDA
-0922 ; [.18F4.0020.0002.0922] # DEVANAGARI LETTER DDHA
-095D ; [.18F4.0020.0002.0922][.0000.0119.0002.093C] # DEVANAGARI LETTER RHA; QQCM
-0923 ; [.18F5.0020.0002.0923] # DEVANAGARI LETTER NNA
-0924 ; [.18F6.0020.0002.0924] # DEVANAGARI LETTER TA
-0925 ; [.18F7.0020.0002.0925] # DEVANAGARI LETTER THA
-0926 ; [.18F8.0020.0002.0926] # DEVANAGARI LETTER DA
-0927 ; [.18F9.0020.0002.0927] # DEVANAGARI LETTER DHA
-0928 ; [.18FA.0020.0002.0928] # DEVANAGARI LETTER NA
-0929 ; [.18FA.0020.0002.0928][.0000.0119.0002.093C] # DEVANAGARI LETTER NNNA; QQCM
-092A ; [.18FB.0020.0002.092A] # DEVANAGARI LETTER PA
-092B ; [.18FC.0020.0002.092B] # DEVANAGARI LETTER PHA
-095E ; [.18FC.0020.0002.092B][.0000.0119.0002.093C] # DEVANAGARI LETTER FA; QQCM
-092C ; [.18FD.0020.0002.092C] # DEVANAGARI LETTER BA
-097F ; [.18FE.0020.0002.097F] # DEVANAGARI LETTER BBA
-092D ; [.18FF.0020.0002.092D] # DEVANAGARI LETTER BHA
-092E ; [.1900.0020.0002.092E] # DEVANAGARI LETTER MA
-092F ; [.1901.0020.0002.092F] # DEVANAGARI LETTER YA
-095F ; [.1901.0020.0002.092F][.0000.0119.0002.093C] # DEVANAGARI LETTER YYA; QQCM
-0930 ; [.1902.0020.0002.0930] # DEVANAGARI LETTER RA
-0931 ; [.1902.0020.0002.0930][.0000.0119.0002.093C] # DEVANAGARI LETTER RRA; QQCM
-0932 ; [.1903.0020.0002.0932] # DEVANAGARI LETTER LA
-0933 ; [.1904.0020.0002.0933] # DEVANAGARI LETTER LLA
-0934 ; [.1904.0020.0002.0933][.0000.0119.0002.093C] # DEVANAGARI LETTER LLLA; QQCM
-0935 ; [.1905.0020.0002.0935] # DEVANAGARI LETTER VA
-0936 ; [.1906.0020.0002.0936] # DEVANAGARI LETTER SHA
-0937 ; [.1907.0020.0002.0937] # DEVANAGARI LETTER SSA
-0938 ; [.1908.0020.0002.0938] # DEVANAGARI LETTER SA
-0939 ; [.1909.0020.0002.0939] # DEVANAGARI LETTER HA
-093D ; [.190A.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
-097D ; [.190B.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
-093E ; [.190C.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
-093F ; [.190D.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
-0940 ; [.190E.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
-0941 ; [.190F.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
-0942 ; [.1910.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
-0943 ; [.1911.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
-0944 ; [.1912.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
-0962 ; [.1913.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
-0963 ; [.1914.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
-0945 ; [.1915.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
-0946 ; [.1916.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
-0947 ; [.1917.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
-0948 ; [.1918.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
-0949 ; [.1919.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
-094A ; [.191A.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
-094B ; [.191B.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
-094C ; [.191C.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
-094D ; [.191D.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
-0985 ; [.191E.0020.0002.0985] # BENGALI LETTER A
-0986 ; [.191F.0020.0002.0986] # BENGALI LETTER AA
-0987 ; [.1920.0020.0002.0987] # BENGALI LETTER I
-0988 ; [.1921.0020.0002.0988] # BENGALI LETTER II
-0989 ; [.1922.0020.0002.0989] # BENGALI LETTER U
-098A ; [.1923.0020.0002.098A] # BENGALI LETTER UU
-098B ; [.1924.0020.0002.098B] # BENGALI LETTER VOCALIC R
-09E0 ; [.1925.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
-098C ; [.1926.0020.0002.098C] # BENGALI LETTER VOCALIC L
-09E1 ; [.1927.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
-098F ; [.1928.0020.0002.098F] # BENGALI LETTER E
-0990 ; [.1929.0020.0002.0990] # BENGALI LETTER AI
-0993 ; [.192A.0020.0002.0993] # BENGALI LETTER O
-0994 ; [.192B.0020.0002.0994] # BENGALI LETTER AU
-0995 ; [.192C.0020.0002.0995] # BENGALI LETTER KA
-0996 ; [.192D.0020.0002.0996] # BENGALI LETTER KHA
-0997 ; [.192E.0020.0002.0997] # BENGALI LETTER GA
-0998 ; [.192F.0020.0002.0998] # BENGALI LETTER GHA
-0999 ; [.1930.0020.0002.0999] # BENGALI LETTER NGA
-099A ; [.1931.0020.0002.099A] # BENGALI LETTER CA
-099B ; [.1932.0020.0002.099B] # BENGALI LETTER CHA
-099C ; [.1933.0020.0002.099C] # BENGALI LETTER JA
-099D ; [.1934.0020.0002.099D] # BENGALI LETTER JHA
-099E ; [.1935.0020.0002.099E] # BENGALI LETTER NYA
-099F ; [.1936.0020.0002.099F] # BENGALI LETTER TTA
-09A0 ; [.1937.0020.0002.09A0] # BENGALI LETTER TTHA
-09A1 ; [.1938.0020.0002.09A1] # BENGALI LETTER DDA
-09DC ; [.1938.0020.0002.09A1][.0000.0121.0002.09BC] # BENGALI LETTER RRA; QQCM
-09A2 ; [.1939.0020.0002.09A2] # BENGALI LETTER DDHA
-09DD ; [.1939.0020.0002.09A2][.0000.0121.0002.09BC] # BENGALI LETTER RHA; QQCM
-09A3 ; [.193A.0020.0002.09A3] # BENGALI LETTER NNA
-09A4 ; [.193B.0020.0002.09A4] # BENGALI LETTER TA
-09CE ; [.193B.0020.0004.09CE][.195C.0020.0004.09CE] # BENGALI LETTER KHANDA TA; QQKN
-09A5 ; [.193C.0020.0002.09A5] # BENGALI LETTER THA
-09A6 ; [.193D.0020.0002.09A6] # BENGALI LETTER DA
-09A7 ; [.193E.0020.0002.09A7] # BENGALI LETTER DHA
-09A8 ; [.193F.0020.0002.09A8] # BENGALI LETTER NA
-09AA ; [.1940.0020.0002.09AA] # BENGALI LETTER PA
-09AB ; [.1941.0020.0002.09AB] # BENGALI LETTER PHA
-09AC ; [.1942.0020.0002.09AC] # BENGALI LETTER BA
-09AD ; [.1943.0020.0002.09AD] # BENGALI LETTER BHA
-09AE ; [.1944.0020.0002.09AE] # BENGALI LETTER MA
-09AF ; [.1945.0020.0002.09AF] # BENGALI LETTER YA
-09DF ; [.1945.0020.0002.09AF][.0000.0121.0002.09BC] # BENGALI LETTER YYA; QQCM
-09B0 ; [.1946.0020.0002.09B0] # BENGALI LETTER RA
-09F0 ; [.1947.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09B2 ; [.1948.0020.0002.09B2] # BENGALI LETTER LA
-09F1 ; [.1949.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
-09B6 ; [.194A.0020.0002.09B6] # BENGALI LETTER SHA
-09B7 ; [.194B.0020.0002.09B7] # BENGALI LETTER SSA
-09B8 ; [.194C.0020.0002.09B8] # BENGALI LETTER SA
-09B9 ; [.194D.0020.0002.09B9] # BENGALI LETTER HA
-09BD ; [.194E.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
-09BE ; [.194F.0020.0002.09BE] # BENGALI VOWEL SIGN AA
-09BF ; [.1950.0020.0002.09BF] # BENGALI VOWEL SIGN I
-09C0 ; [.1951.0020.0002.09C0] # BENGALI VOWEL SIGN II
-09C1 ; [.1952.0020.0002.09C1] # BENGALI VOWEL SIGN U
-09C2 ; [.1953.0020.0002.09C2] # BENGALI VOWEL SIGN UU
-09C3 ; [.1954.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
-09C4 ; [.1955.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
-09E2 ; [.1956.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
-09E3 ; [.1957.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
-09C7 ; [.1958.0020.0002.09C7] # BENGALI VOWEL SIGN E
-09C8 ; [.1959.0020.0002.09C8] # BENGALI VOWEL SIGN AI
-09CB ; [.195A.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09C7 09BE ; [.195A.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09CC ; [.195B.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09C7 09D7 ; [.195B.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09CD ; [.195C.0020.0002.09CD] # BENGALI SIGN VIRAMA
-09D7 ; [.195D.0020.0002.09D7] # BENGALI AU LENGTH MARK
-0A74 ; [.195E.0020.0002.0A74] # GURMUKHI EK ONKAR
-0A73 ; [.195F.0020.0002.0A73] # GURMUKHI URA
-0A09 ; [.1960.0020.0002.0A09] # GURMUKHI LETTER U
-0A0A ; [.1961.0020.0002.0A0A] # GURMUKHI LETTER UU
-0A13 ; [.1962.0020.0002.0A13] # GURMUKHI LETTER OO
-0A05 ; [.1963.0020.0002.0A05] # GURMUKHI LETTER A
-0A06 ; [.1964.0020.0002.0A06] # GURMUKHI LETTER AA
-0A10 ; [.1965.0020.0002.0A10] # GURMUKHI LETTER AI
-0A14 ; [.1966.0020.0002.0A14] # GURMUKHI LETTER AU
-0A72 ; [.1967.0020.0002.0A72] # GURMUKHI IRI
-0A07 ; [.1968.0020.0002.0A07] # GURMUKHI LETTER I
-0A08 ; [.1969.0020.0002.0A08] # GURMUKHI LETTER II
-0A0F ; [.196A.0020.0002.0A0F] # GURMUKHI LETTER EE
-0A38 ; [.196B.0020.0002.0A38] # GURMUKHI LETTER SA
-0A36 ; [.196B.0020.0002.0A38][.0000.0125.0002.0A3C] # GURMUKHI LETTER SHA; QQCM
-0A39 ; [.196C.0020.0002.0A39] # GURMUKHI LETTER HA
-0A15 ; [.196D.0020.0002.0A15] # GURMUKHI LETTER KA
-0A16 ; [.196E.0020.0002.0A16] # GURMUKHI LETTER KHA
-0A59 ; [.196E.0020.0002.0A16][.0000.0125.0002.0A3C] # GURMUKHI LETTER KHHA; QQCM
-0A17 ; [.196F.0020.0002.0A17] # GURMUKHI LETTER GA
-0A5A ; [.196F.0020.0002.0A17][.0000.0125.0002.0A3C] # GURMUKHI LETTER GHHA; QQCM
-0A18 ; [.1970.0020.0002.0A18] # GURMUKHI LETTER GHA
-0A19 ; [.1971.0020.0002.0A19] # GURMUKHI LETTER NGA
-0A1A ; [.1972.0020.0002.0A1A] # GURMUKHI LETTER CA
-0A1B ; [.1973.0020.0002.0A1B] # GURMUKHI LETTER CHA
-0A1C ; [.1974.0020.0002.0A1C] # GURMUKHI LETTER JA
-0A5B ; [.1974.0020.0002.0A1C][.0000.0125.0002.0A3C] # GURMUKHI LETTER ZA; QQCM
-0A1D ; [.1975.0020.0002.0A1D] # GURMUKHI LETTER JHA
-0A1E ; [.1976.0020.0002.0A1E] # GURMUKHI LETTER NYA
-0A1F ; [.1977.0020.0002.0A1F] # GURMUKHI LETTER TTA
-0A20 ; [.1978.0020.0002.0A20] # GURMUKHI LETTER TTHA
-0A21 ; [.1979.0020.0002.0A21] # GURMUKHI LETTER DDA
-0A22 ; [.197A.0020.0002.0A22] # GURMUKHI LETTER DDHA
-0A23 ; [.197B.0020.0002.0A23] # GURMUKHI LETTER NNA
-0A24 ; [.197C.0020.0002.0A24] # GURMUKHI LETTER TA
-0A25 ; [.197D.0020.0002.0A25] # GURMUKHI LETTER THA
-0A26 ; [.197E.0020.0002.0A26] # GURMUKHI LETTER DA
-0A27 ; [.197F.0020.0002.0A27] # GURMUKHI LETTER DHA
-0A28 ; [.1980.0020.0002.0A28] # GURMUKHI LETTER NA
-0A2A ; [.1981.0020.0002.0A2A] # GURMUKHI LETTER PA
-0A2B ; [.1982.0020.0002.0A2B] # GURMUKHI LETTER PHA
-0A5E ; [.1982.0020.0002.0A2B][.0000.0125.0002.0A3C] # GURMUKHI LETTER FA; QQCM
-0A2C ; [.1983.0020.0002.0A2C] # GURMUKHI LETTER BA
-0A2D ; [.1984.0020.0002.0A2D] # GURMUKHI LETTER BHA
-0A2E ; [.1985.0020.0002.0A2E] # GURMUKHI LETTER MA
-0A2F ; [.1986.0020.0002.0A2F] # GURMUKHI LETTER YA
-0A30 ; [.1987.0020.0002.0A30] # GURMUKHI LETTER RA
-0A32 ; [.1988.0020.0002.0A32] # GURMUKHI LETTER LA
-0A33 ; [.1988.0020.0002.0A32][.0000.0125.0002.0A3C] # GURMUKHI LETTER LLA; QQCM
-0A35 ; [.1989.0020.0002.0A35] # GURMUKHI LETTER VA
-0A5C ; [.198A.0020.0002.0A5C] # GURMUKHI LETTER RRA
-0A3E ; [.198B.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
-0A3F ; [.198C.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
-0A40 ; [.198D.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
-0A41 ; [.198E.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
-0A42 ; [.198F.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
-0A47 ; [.1990.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
-0A48 ; [.1991.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
-0A4B ; [.1992.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
-0A4C ; [.1993.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
-0A4D ; [.1994.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
-0AD0 ; [.1995.0020.0002.0AD0] # GUJARATI OM
-0A85 ; [.1996.0020.0002.0A85] # GUJARATI LETTER A
-0A86 ; [.1997.0020.0002.0A86] # GUJARATI LETTER AA
-0A87 ; [.1998.0020.0002.0A87] # GUJARATI LETTER I
-0A88 ; [.1999.0020.0002.0A88] # GUJARATI LETTER II
-0A89 ; [.199A.0020.0002.0A89] # GUJARATI LETTER U
-0A8A ; [.199B.0020.0002.0A8A] # GUJARATI LETTER UU
-0A8B ; [.199C.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
-0AE0 ; [.199D.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
-0A8C ; [.199E.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
-0AE1 ; [.199F.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
-0A8D ; [.19A0.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
-0A8F ; [.19A1.0020.0002.0A8F] # GUJARATI LETTER E
-0A90 ; [.19A2.0020.0002.0A90] # GUJARATI LETTER AI
-0A91 ; [.19A3.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
-0A93 ; [.19A4.0020.0002.0A93] # GUJARATI LETTER O
-0A94 ; [.19A5.0020.0002.0A94] # GUJARATI LETTER AU
-0A95 ; [.19A6.0020.0002.0A95] # GUJARATI LETTER KA
-0A96 ; [.19A7.0020.0002.0A96] # GUJARATI LETTER KHA
-0A97 ; [.19A8.0020.0002.0A97] # GUJARATI LETTER GA
-0A98 ; [.19A9.0020.0002.0A98] # GUJARATI LETTER GHA
-0A99 ; [.19AA.0020.0002.0A99] # GUJARATI LETTER NGA
-0A9A ; [.19AB.0020.0002.0A9A] # GUJARATI LETTER CA
-0A9B ; [.19AC.0020.0002.0A9B] # GUJARATI LETTER CHA
-0A9C ; [.19AD.0020.0002.0A9C] # GUJARATI LETTER JA
-0A9D ; [.19AE.0020.0002.0A9D] # GUJARATI LETTER JHA
-0A9E ; [.19AF.0020.0002.0A9E] # GUJARATI LETTER NYA
-0A9F ; [.19B0.0020.0002.0A9F] # GUJARATI LETTER TTA
-0AA0 ; [.19B1.0020.0002.0AA0] # GUJARATI LETTER TTHA
-0AA1 ; [.19B2.0020.0002.0AA1] # GUJARATI LETTER DDA
-0AA2 ; [.19B3.0020.0002.0AA2] # GUJARATI LETTER DDHA
-0AA3 ; [.19B4.0020.0002.0AA3] # GUJARATI LETTER NNA
-0AA4 ; [.19B5.0020.0002.0AA4] # GUJARATI LETTER TA
-0AA5 ; [.19B6.0020.0002.0AA5] # GUJARATI LETTER THA
-0AA6 ; [.19B7.0020.0002.0AA6] # GUJARATI LETTER DA
-0AA7 ; [.19B8.0020.0002.0AA7] # GUJARATI LETTER DHA
-0AA8 ; [.19B9.0020.0002.0AA8] # GUJARATI LETTER NA
-0AAA ; [.19BA.0020.0002.0AAA] # GUJARATI LETTER PA
-0AAB ; [.19BB.0020.0002.0AAB] # GUJARATI LETTER PHA
-0AAC ; [.19BC.0020.0002.0AAC] # GUJARATI LETTER BA
-0AAD ; [.19BD.0020.0002.0AAD] # GUJARATI LETTER BHA
-0AAE ; [.19BE.0020.0002.0AAE] # GUJARATI LETTER MA
-0AAF ; [.19BF.0020.0002.0AAF] # GUJARATI LETTER YA
-0AB0 ; [.19C0.0020.0002.0AB0] # GUJARATI LETTER RA
-0AB2 ; [.19C1.0020.0002.0AB2] # GUJARATI LETTER LA
-0AB3 ; [.19C2.0020.0002.0AB3] # GUJARATI LETTER LLA
-0AB5 ; [.19C3.0020.0002.0AB5] # GUJARATI LETTER VA
-0AB6 ; [.19C4.0020.0002.0AB6] # GUJARATI LETTER SHA
-0AB7 ; [.19C5.0020.0002.0AB7] # GUJARATI LETTER SSA
-0AB8 ; [.19C6.0020.0002.0AB8] # GUJARATI LETTER SA
-0AB9 ; [.19C7.0020.0002.0AB9] # GUJARATI LETTER HA
-0ABD ; [.19C8.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
-0ABE ; [.19C9.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
-0ABF ; [.19CA.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
-0AC0 ; [.19CB.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
-0AC1 ; [.19CC.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
-0AC2 ; [.19CD.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
-0AC3 ; [.19CE.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
-0AC4 ; [.19CF.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
-0AE2 ; [.19D0.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
-0AE3 ; [.19D1.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
-0AC5 ; [.19D2.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
-0AC7 ; [.19D3.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
-0AC8 ; [.19D4.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
-0AC9 ; [.19D5.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
-0ACB ; [.19D6.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
-0ACC ; [.19D7.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
-0ACD ; [.19D8.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
-0B05 ; [.19D9.0020.0002.0B05] # ORIYA LETTER A
-0B06 ; [.19DA.0020.0002.0B06] # ORIYA LETTER AA
-0B07 ; [.19DB.0020.0002.0B07] # ORIYA LETTER I
-0B08 ; [.19DC.0020.0002.0B08] # ORIYA LETTER II
-0B09 ; [.19DD.0020.0002.0B09] # ORIYA LETTER U
-0B0A ; [.19DE.0020.0002.0B0A] # ORIYA LETTER UU
-0B0B ; [.19DF.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
-0B60 ; [.19E0.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
-0B0C ; [.19E1.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
-0B61 ; [.19E2.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
-0B0F ; [.19E3.0020.0002.0B0F] # ORIYA LETTER E
-0B10 ; [.19E4.0020.0002.0B10] # ORIYA LETTER AI
-0B13 ; [.19E5.0020.0002.0B13] # ORIYA LETTER O
-0B14 ; [.19E6.0020.0002.0B14] # ORIYA LETTER AU
-0B15 ; [.19E7.0020.0002.0B15] # ORIYA LETTER KA
-0B16 ; [.19E8.0020.0002.0B16] # ORIYA LETTER KHA
-0B17 ; [.19E9.0020.0002.0B17] # ORIYA LETTER GA
-0B18 ; [.19EA.0020.0002.0B18] # ORIYA LETTER GHA
-0B19 ; [.19EB.0020.0002.0B19] # ORIYA LETTER NGA
-0B1A ; [.19EC.0020.0002.0B1A] # ORIYA LETTER CA
-0B1B ; [.19ED.0020.0002.0B1B] # ORIYA LETTER CHA
-0B1C ; [.19EE.0020.0002.0B1C] # ORIYA LETTER JA
-0B1D ; [.19EF.0020.0002.0B1D] # ORIYA LETTER JHA
-0B1E ; [.19F0.0020.0002.0B1E] # ORIYA LETTER NYA
-0B1F ; [.19F1.0020.0002.0B1F] # ORIYA LETTER TTA
-0B20 ; [.19F2.0020.0002.0B20] # ORIYA LETTER TTHA
-0B21 ; [.19F3.0020.0002.0B21] # ORIYA LETTER DDA
-0B5C ; [.19F3.0020.0002.0B21][.0000.012F.0002.0B3C] # ORIYA LETTER RRA; QQCM
-0B22 ; [.19F4.0020.0002.0B22] # ORIYA LETTER DDHA
-0B5D ; [.19F4.0020.0002.0B22][.0000.012F.0002.0B3C] # ORIYA LETTER RHA; QQCM
-0B23 ; [.19F5.0020.0002.0B23] # ORIYA LETTER NNA
-0B24 ; [.19F6.0020.0002.0B24] # ORIYA LETTER TA
-0B25 ; [.19F7.0020.0002.0B25] # ORIYA LETTER THA
-0B26 ; [.19F8.0020.0002.0B26] # ORIYA LETTER DA
-0B27 ; [.19F9.0020.0002.0B27] # ORIYA LETTER DHA
-0B28 ; [.19FA.0020.0002.0B28] # ORIYA LETTER NA
-0B2A ; [.19FB.0020.0002.0B2A] # ORIYA LETTER PA
-0B2B ; [.19FC.0020.0002.0B2B] # ORIYA LETTER PHA
-0B2C ; [.19FD.0020.0002.0B2C] # ORIYA LETTER BA
-0B2D ; [.19FE.0020.0002.0B2D] # ORIYA LETTER BHA
-0B2E ; [.19FF.0020.0002.0B2E] # ORIYA LETTER MA
-0B2F ; [.1A00.0020.0002.0B2F] # ORIYA LETTER YA
-0B5F ; [.1A01.0020.0002.0B5F] # ORIYA LETTER YYA
-0B30 ; [.1A02.0020.0002.0B30] # ORIYA LETTER RA
-0B32 ; [.1A03.0020.0002.0B32] # ORIYA LETTER LA
-0B33 ; [.1A04.0020.0002.0B33] # ORIYA LETTER LLA
-0B35 ; [.1A05.0020.0002.0B35] # ORIYA LETTER VA
-0B71 ; [.1A06.0020.0002.0B71] # ORIYA LETTER WA
-0B36 ; [.1A07.0020.0002.0B36] # ORIYA LETTER SHA
-0B37 ; [.1A08.0020.0002.0B37] # ORIYA LETTER SSA
-0B38 ; [.1A09.0020.0002.0B38] # ORIYA LETTER SA
-0B39 ; [.1A0A.0020.0002.0B39] # ORIYA LETTER HA
-0B3D ; [.1A0B.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
-0B3E ; [.1A0C.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
-0B3F ; [.1A0D.0020.0002.0B3F] # ORIYA VOWEL SIGN I
-0B40 ; [.1A0E.0020.0002.0B40] # ORIYA VOWEL SIGN II
-0B41 ; [.1A0F.0020.0002.0B41] # ORIYA VOWEL SIGN U
-0B42 ; [.1A10.0020.0002.0B42] # ORIYA VOWEL SIGN UU
-0B43 ; [.1A11.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
-0B47 ; [.1A12.0020.0002.0B47] # ORIYA VOWEL SIGN E
-0B48 ; [.1A13.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B47 0B56 ; [.1A13.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B4B ; [.1A14.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B47 0B3E ; [.1A14.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B4C ; [.1A15.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B47 0B57 ; [.1A15.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B4D ; [.1A16.0020.0002.0B4D] # ORIYA SIGN VIRAMA
-0B56 ; [.1A17.0020.0002.0B56] # ORIYA AI LENGTH MARK
-0B57 ; [.1A18.0020.0002.0B57] # ORIYA AU LENGTH MARK
-0B83 ; [.1A19.0020.0002.0B83] # TAMIL SIGN VISARGA
-0B85 ; [.1A1A.0020.0002.0B85] # TAMIL LETTER A
-0B86 ; [.1A1B.0020.0002.0B86] # TAMIL LETTER AA
-0B87 ; [.1A1C.0020.0002.0B87] # TAMIL LETTER I
-0B88 ; [.1A1D.0020.0002.0B88] # TAMIL LETTER II
-0B89 ; [.1A1E.0020.0002.0B89] # TAMIL LETTER U
-0B8A ; [.1A1F.0020.0002.0B8A] # TAMIL LETTER UU
-0B8E ; [.1A20.0020.0002.0B8E] # TAMIL LETTER E
-0B8F ; [.1A21.0020.0002.0B8F] # TAMIL LETTER EE
-0B90 ; [.1A22.0020.0002.0B90] # TAMIL LETTER AI
-0B92 ; [.1A23.0020.0002.0B92] # TAMIL LETTER O
-0B93 ; [.1A24.0020.0002.0B93] # TAMIL LETTER OO
-0B94 ; [.1A25.0020.0002.0B94] # TAMIL LETTER AU
-0B92 0BD7 ; [.1A25.0020.0002.0B94] # TAMIL LETTER AU
-0B95 ; [.1A26.0020.0002.0B95] # TAMIL LETTER KA
-0B99 ; [.1A27.0020.0002.0B99] # TAMIL LETTER NGA
-0B9A ; [.1A28.0020.0002.0B9A] # TAMIL LETTER CA
-0B9C ; [.1A29.0020.0002.0B9C] # TAMIL LETTER JA
-0B9E ; [.1A2A.0020.0002.0B9E] # TAMIL LETTER NYA
-0B9F ; [.1A2B.0020.0002.0B9F] # TAMIL LETTER TTA
-0BA3 ; [.1A2C.0020.0002.0BA3] # TAMIL LETTER NNA
-0BA4 ; [.1A2D.0020.0002.0BA4] # TAMIL LETTER TA
-0BA8 ; [.1A2E.0020.0002.0BA8] # TAMIL LETTER NA
-0BA9 ; [.1A2F.0020.0002.0BA9] # TAMIL LETTER NNNA
-0BAA ; [.1A30.0020.0002.0BAA] # TAMIL LETTER PA
-0BAE ; [.1A31.0020.0002.0BAE] # TAMIL LETTER MA
-0BAF ; [.1A32.0020.0002.0BAF] # TAMIL LETTER YA
-0BB0 ; [.1A33.0020.0002.0BB0] # TAMIL LETTER RA
-0BB1 ; [.1A34.0020.0002.0BB1] # TAMIL LETTER RRA
-0BB2 ; [.1A35.0020.0002.0BB2] # TAMIL LETTER LA
-0BB3 ; [.1A36.0020.0002.0BB3] # TAMIL LETTER LLA
-0BB4 ; [.1A37.0020.0002.0BB4] # TAMIL LETTER LLLA
-0BB5 ; [.1A38.0020.0002.0BB5] # TAMIL LETTER VA
-0BB6 ; [.1A39.0020.0002.0BB6] # TAMIL LETTER SHA
-0BB7 ; [.1A3A.0020.0002.0BB7] # TAMIL LETTER SSA
-0BB8 ; [.1A3B.0020.0002.0BB8] # TAMIL LETTER SA
-0BB9 ; [.1A3C.0020.0002.0BB9] # TAMIL LETTER HA
-0BBE ; [.1A3D.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
-0BBF ; [.1A3E.0020.0002.0BBF] # TAMIL VOWEL SIGN I
-0BC0 ; [.1A3F.0020.0002.0BC0] # TAMIL VOWEL SIGN II
-0BC1 ; [.1A40.0020.0002.0BC1] # TAMIL VOWEL SIGN U
-0BC2 ; [.1A41.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
-0BC6 ; [.1A42.0020.0002.0BC6] # TAMIL VOWEL SIGN E
-0BC7 ; [.1A43.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
-0BC8 ; [.1A44.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
-0BCA ; [.1A45.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BC6 0BBE ; [.1A45.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BCB ; [.1A46.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BC7 0BBE ; [.1A46.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BCC ; [.1A47.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BC6 0BD7 ; [.1A47.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BCD ; [.1A48.0020.0002.0BCD] # TAMIL SIGN VIRAMA
-0BD7 ; [.1A49.0020.0002.0BD7] # TAMIL AU LENGTH MARK
-0C05 ; [.1A4A.0020.0002.0C05] # TELUGU LETTER A
-0C06 ; [.1A4B.0020.0002.0C06] # TELUGU LETTER AA
-0C07 ; [.1A4C.0020.0002.0C07] # TELUGU LETTER I
-0C08 ; [.1A4D.0020.0002.0C08] # TELUGU LETTER II
-0C09 ; [.1A4E.0020.0002.0C09] # TELUGU LETTER U
-0C0A ; [.1A4F.0020.0002.0C0A] # TELUGU LETTER UU
-0C0B ; [.1A50.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
-0C60 ; [.1A51.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
-0C0C ; [.1A52.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
-0C61 ; [.1A53.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
-0C0E ; [.1A54.0020.0002.0C0E] # TELUGU LETTER E
-0C0F ; [.1A55.0020.0002.0C0F] # TELUGU LETTER EE
-0C10 ; [.1A56.0020.0002.0C10] # TELUGU LETTER AI
-0C12 ; [.1A57.0020.0002.0C12] # TELUGU LETTER O
-0C13 ; [.1A58.0020.0002.0C13] # TELUGU LETTER OO
-0C14 ; [.1A59.0020.0002.0C14] # TELUGU LETTER AU
-0C15 ; [.1A5A.0020.0002.0C15] # TELUGU LETTER KA
-0C16 ; [.1A5B.0020.0002.0C16] # TELUGU LETTER KHA
-0C17 ; [.1A5C.0020.0002.0C17] # TELUGU LETTER GA
-0C18 ; [.1A5D.0020.0002.0C18] # TELUGU LETTER GHA
-0C19 ; [.1A5E.0020.0002.0C19] # TELUGU LETTER NGA
-0C1A ; [.1A5F.0020.0002.0C1A] # TELUGU LETTER CA
-0C1B ; [.1A60.0020.0002.0C1B] # TELUGU LETTER CHA
-0C1C ; [.1A61.0020.0002.0C1C] # TELUGU LETTER JA
-0C1D ; [.1A62.0020.0002.0C1D] # TELUGU LETTER JHA
-0C1E ; [.1A63.0020.0002.0C1E] # TELUGU LETTER NYA
-0C1F ; [.1A64.0020.0002.0C1F] # TELUGU LETTER TTA
-0C20 ; [.1A65.0020.0002.0C20] # TELUGU LETTER TTHA
-0C21 ; [.1A66.0020.0002.0C21] # TELUGU LETTER DDA
-0C22 ; [.1A67.0020.0002.0C22] # TELUGU LETTER DDHA
-0C23 ; [.1A68.0020.0002.0C23] # TELUGU LETTER NNA
-0C24 ; [.1A69.0020.0002.0C24] # TELUGU LETTER TA
-0C25 ; [.1A6A.0020.0002.0C25] # TELUGU LETTER THA
-0C26 ; [.1A6B.0020.0002.0C26] # TELUGU LETTER DA
-0C27 ; [.1A6C.0020.0002.0C27] # TELUGU LETTER DHA
-0C28 ; [.1A6D.0020.0002.0C28] # TELUGU LETTER NA
-0C2A ; [.1A6E.0020.0002.0C2A] # TELUGU LETTER PA
-0C2B ; [.1A6F.0020.0002.0C2B] # TELUGU LETTER PHA
-0C2C ; [.1A70.0020.0002.0C2C] # TELUGU LETTER BA
-0C2D ; [.1A71.0020.0002.0C2D] # TELUGU LETTER BHA
-0C2E ; [.1A72.0020.0002.0C2E] # TELUGU LETTER MA
-0C2F ; [.1A73.0020.0002.0C2F] # TELUGU LETTER YA
-0C30 ; [.1A74.0020.0002.0C30] # TELUGU LETTER RA
-0C31 ; [.1A75.0020.0002.0C31] # TELUGU LETTER RRA
-0C32 ; [.1A76.0020.0002.0C32] # TELUGU LETTER LA
-0C33 ; [.1A77.0020.0002.0C33] # TELUGU LETTER LLA
-0C35 ; [.1A78.0020.0002.0C35] # TELUGU LETTER VA
-0C36 ; [.1A79.0020.0002.0C36] # TELUGU LETTER SHA
-0C37 ; [.1A7A.0020.0002.0C37] # TELUGU LETTER SSA
-0C38 ; [.1A7B.0020.0002.0C38] # TELUGU LETTER SA
-0C39 ; [.1A7C.0020.0002.0C39] # TELUGU LETTER HA
-0C3E ; [.1A7D.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
-0C3F ; [.1A7E.0020.0002.0C3F] # TELUGU VOWEL SIGN I
-0C40 ; [.1A7F.0020.0002.0C40] # TELUGU VOWEL SIGN II
-0C41 ; [.1A80.0020.0002.0C41] # TELUGU VOWEL SIGN U
-0C42 ; [.1A81.0020.0002.0C42] # TELUGU VOWEL SIGN UU
-0C43 ; [.1A82.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
-0C44 ; [.1A83.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
-0C46 ; [.1A84.0020.0002.0C46] # TELUGU VOWEL SIGN E
-0C47 ; [.1A85.0020.0002.0C47] # TELUGU VOWEL SIGN EE
-0C48 ; [.1A86.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C46 0C56 ; [.1A86.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C4A ; [.1A87.0020.0002.0C4A] # TELUGU VOWEL SIGN O
-0C4B ; [.1A88.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
-0C4C ; [.1A89.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
-0C4D ; [.1A8A.0020.0002.0C4D] # TELUGU SIGN VIRAMA
-0C55 ; [.1A8B.0020.0002.0C55] # TELUGU LENGTH MARK
-0C56 ; [.1A8C.0020.0002.0C56] # TELUGU AI LENGTH MARK
-0C85 ; [.1A8D.0020.0002.0C85] # KANNADA LETTER A
-0C86 ; [.1A8E.0020.0002.0C86] # KANNADA LETTER AA
-0C87 ; [.1A8F.0020.0002.0C87] # KANNADA LETTER I
-0C88 ; [.1A90.0020.0002.0C88] # KANNADA LETTER II
-0C89 ; [.1A91.0020.0002.0C89] # KANNADA LETTER U
-0C8A ; [.1A92.0020.0002.0C8A] # KANNADA LETTER UU
-0C8B ; [.1A93.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
-0CE0 ; [.1A94.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
-0C8C ; [.1A95.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
-0CE1 ; [.1A96.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
-0C8E ; [.1A97.0020.0002.0C8E] # KANNADA LETTER E
-0C8F ; [.1A98.0020.0002.0C8F] # KANNADA LETTER EE
-0C90 ; [.1A99.0020.0002.0C90] # KANNADA LETTER AI
-0C92 ; [.1A9A.0020.0002.0C92] # KANNADA LETTER O
-0C93 ; [.1A9B.0020.0002.0C93] # KANNADA LETTER OO
-0C94 ; [.1A9C.0020.0002.0C94] # KANNADA LETTER AU
-0C95 ; [.1A9D.0020.0002.0C95] # KANNADA LETTER KA
-0C96 ; [.1A9E.0020.0002.0C96] # KANNADA LETTER KHA
-0C97 ; [.1A9F.0020.0002.0C97] # KANNADA LETTER GA
-0C98 ; [.1AA0.0020.0002.0C98] # KANNADA LETTER GHA
-0C99 ; [.1AA1.0020.0002.0C99] # KANNADA LETTER NGA
-0C9A ; [.1AA2.0020.0002.0C9A] # KANNADA LETTER CA
-0C9B ; [.1AA3.0020.0002.0C9B] # KANNADA LETTER CHA
-0C9C ; [.1AA4.0020.0002.0C9C] # KANNADA LETTER JA
-0C9D ; [.1AA5.0020.0002.0C9D] # KANNADA LETTER JHA
-0C9E ; [.1AA6.0020.0002.0C9E] # KANNADA LETTER NYA
-0C9F ; [.1AA7.0020.0002.0C9F] # KANNADA LETTER TTA
-0CA0 ; [.1AA8.0020.0002.0CA0] # KANNADA LETTER TTHA
-0CA1 ; [.1AA9.0020.0002.0CA1] # KANNADA LETTER DDA
-0CA2 ; [.1AAA.0020.0002.0CA2] # KANNADA LETTER DDHA
-0CA3 ; [.1AAB.0020.0002.0CA3] # KANNADA LETTER NNA
-0CA4 ; [.1AAC.0020.0002.0CA4] # KANNADA LETTER TA
-0CA5 ; [.1AAD.0020.0002.0CA5] # KANNADA LETTER THA
-0CA6 ; [.1AAE.0020.0002.0CA6] # KANNADA LETTER DA
-0CA7 ; [.1AAF.0020.0002.0CA7] # KANNADA LETTER DHA
-0CA8 ; [.1AB0.0020.0002.0CA8] # KANNADA LETTER NA
-0CAA ; [.1AB1.0020.0002.0CAA] # KANNADA LETTER PA
-0CAB ; [.1AB2.0020.0002.0CAB] # KANNADA LETTER PHA
-0CAC ; [.1AB3.0020.0002.0CAC] # KANNADA LETTER BA
-0CAD ; [.1AB4.0020.0002.0CAD] # KANNADA LETTER BHA
-0CAE ; [.1AB5.0020.0002.0CAE] # KANNADA LETTER MA
-0CAF ; [.1AB6.0020.0002.0CAF] # KANNADA LETTER YA
-0CB0 ; [.1AB7.0020.0002.0CB0] # KANNADA LETTER RA
-0CB1 ; [.1AB8.0020.0002.0CB1] # KANNADA LETTER RRA
-0CB2 ; [.1AB9.0020.0002.0CB2] # KANNADA LETTER LA
-0CB5 ; [.1ABA.0020.0002.0CB5] # KANNADA LETTER VA
-0CB6 ; [.1ABB.0020.0002.0CB6] # KANNADA LETTER SHA
-0CB7 ; [.1ABC.0020.0002.0CB7] # KANNADA LETTER SSA
-0CB8 ; [.1ABD.0020.0002.0CB8] # KANNADA LETTER SA
-0CB9 ; [.1ABE.0020.0002.0CB9] # KANNADA LETTER HA
-0CB3 ; [.1ABF.0020.0002.0CB3] # KANNADA LETTER LLA
-0CDE ; [.1AC0.0020.0002.0CDE] # KANNADA LETTER FA
-0CBD ; [.1AC1.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
-0CBE ; [.1AC2.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
-0CBF ; [.1AC3.0020.0002.0CBF] # KANNADA VOWEL SIGN I
-0CC0 ; [.1AC4.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CBF 0CD5 ; [.1AC4.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CC1 ; [.1AC5.0020.0002.0CC1] # KANNADA VOWEL SIGN U
-0CC2 ; [.1AC6.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
-0CC3 ; [.1AC7.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
-0CC4 ; [.1AC8.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
-0CE2 ; [.1AC9.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
-0CE3 ; [.1ACA.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
-0CC6 ; [.1ACB.0020.0002.0CC6] # KANNADA VOWEL SIGN E
-0CC7 ; [.1ACC.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC6 0CD5 ; [.1ACC.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC8 ; [.1ACD.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CC6 0CD6 ; [.1ACD.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CCA ; [.1ACE.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CC6 0CC2 ; [.1ACE.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CCB ; [.1ACF.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CC6 0CC2 0CD5 ; [.1ACF.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCA 0CD5 ; [.1ACF.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCC ; [.1AD0.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
-0CCD ; [.1AD1.0020.0002.0CCD] # KANNADA SIGN VIRAMA
-0CD5 ; [.1AD2.0020.0002.0CD5] # KANNADA LENGTH MARK
-0CD6 ; [.1AD3.0020.0002.0CD6] # KANNADA AI LENGTH MARK
-0D05 ; [.1AD4.0020.0002.0D05] # MALAYALAM LETTER A
-0D06 ; [.1AD5.0020.0002.0D06] # MALAYALAM LETTER AA
-0D07 ; [.1AD6.0020.0002.0D07] # MALAYALAM LETTER I
-0D08 ; [.1AD7.0020.0002.0D08] # MALAYALAM LETTER II
-0D09 ; [.1AD8.0020.0002.0D09] # MALAYALAM LETTER U
-0D0A ; [.1AD9.0020.0002.0D0A] # MALAYALAM LETTER UU
-0D0B ; [.1ADA.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
-0D60 ; [.1ADB.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
-0D0C ; [.1ADC.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
-0D61 ; [.1ADD.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
-0D0E ; [.1ADE.0020.0002.0D0E] # MALAYALAM LETTER E
-0D0F ; [.1ADF.0020.0002.0D0F] # MALAYALAM LETTER EE
-0D10 ; [.1AE0.0020.0002.0D10] # MALAYALAM LETTER AI
-0D12 ; [.1AE1.0020.0002.0D12] # MALAYALAM LETTER O
-0D13 ; [.1AE2.0020.0002.0D13] # MALAYALAM LETTER OO
-0D14 ; [.1AE3.0020.0002.0D14] # MALAYALAM LETTER AU
-0D15 ; [.1AE4.0020.0002.0D15] # MALAYALAM LETTER KA
-0D16 ; [.1AE5.0020.0002.0D16] # MALAYALAM LETTER KHA
-0D17 ; [.1AE6.0020.0002.0D17] # MALAYALAM LETTER GA
-0D18 ; [.1AE7.0020.0002.0D18] # MALAYALAM LETTER GHA
-0D19 ; [.1AE8.0020.0002.0D19] # MALAYALAM LETTER NGA
-0D1A ; [.1AE9.0020.0002.0D1A] # MALAYALAM LETTER CA
-0D1B ; [.1AEA.0020.0002.0D1B] # MALAYALAM LETTER CHA
-0D1C ; [.1AEB.0020.0002.0D1C] # MALAYALAM LETTER JA
-0D1D ; [.1AEC.0020.0002.0D1D] # MALAYALAM LETTER JHA
-0D1E ; [.1AED.0020.0002.0D1E] # MALAYALAM LETTER NYA
-0D1F ; [.1AEE.0020.0002.0D1F] # MALAYALAM LETTER TTA
-0D20 ; [.1AEF.0020.0002.0D20] # MALAYALAM LETTER TTHA
-0D21 ; [.1AF0.0020.0002.0D21] # MALAYALAM LETTER DDA
-0D22 ; [.1AF1.0020.0002.0D22] # MALAYALAM LETTER DDHA
-0D23 ; [.1AF2.0020.0002.0D23] # MALAYALAM LETTER NNA
-0D24 ; [.1AF3.0020.0002.0D24] # MALAYALAM LETTER TA
-0D25 ; [.1AF4.0020.0002.0D25] # MALAYALAM LETTER THA
-0D26 ; [.1AF5.0020.0002.0D26] # MALAYALAM LETTER DA
-0D27 ; [.1AF6.0020.0002.0D27] # MALAYALAM LETTER DHA
-0D28 ; [.1AF7.0020.0002.0D28] # MALAYALAM LETTER NA
-0D2A ; [.1AF8.0020.0002.0D2A] # MALAYALAM LETTER PA
-0D2B ; [.1AF9.0020.0002.0D2B] # MALAYALAM LETTER PHA
-0D2C ; [.1AFA.0020.0002.0D2C] # MALAYALAM LETTER BA
-0D2D ; [.1AFB.0020.0002.0D2D] # MALAYALAM LETTER BHA
-0D2E ; [.1AFC.0020.0002.0D2E] # MALAYALAM LETTER MA
-0D2F ; [.1AFD.0020.0002.0D2F] # MALAYALAM LETTER YA
-0D30 ; [.1AFE.0020.0002.0D30] # MALAYALAM LETTER RA
-0D31 ; [.1AFF.0020.0002.0D31] # MALAYALAM LETTER RRA
-0D32 ; [.1B00.0020.0002.0D32] # MALAYALAM LETTER LA
-0D33 ; [.1B01.0020.0002.0D33] # MALAYALAM LETTER LLA
-0D34 ; [.1B02.0020.0002.0D34] # MALAYALAM LETTER LLLA
-0D35 ; [.1B03.0020.0002.0D35] # MALAYALAM LETTER VA
-0D36 ; [.1B04.0020.0002.0D36] # MALAYALAM LETTER SHA
-0D37 ; [.1B05.0020.0002.0D37] # MALAYALAM LETTER SSA
-0D38 ; [.1B06.0020.0002.0D38] # MALAYALAM LETTER SA
-0D39 ; [.1B07.0020.0002.0D39] # MALAYALAM LETTER HA
-0D3E ; [.1B08.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
-0D3F ; [.1B09.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
-0D40 ; [.1B0A.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
-0D41 ; [.1B0B.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
-0D42 ; [.1B0C.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
-0D43 ; [.1B0D.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
-0D46 ; [.1B0E.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
-0D47 ; [.1B0F.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
-0D48 ; [.1B10.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
-0D4A ; [.1B11.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D46 0D3E ; [.1B11.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D4B ; [.1B12.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D47 0D3E ; [.1B12.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D4C ; [.1B13.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.1B13.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D57 ; [.1B14.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
-0D4D ; [.1B15.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
-0D85 ; [.1B16.0020.0002.0D85] # SINHALA LETTER AYANNA
-0D86 ; [.1B17.0020.0002.0D86] # SINHALA LETTER AAYANNA
-0D87 ; [.1B18.0020.0002.0D87] # SINHALA LETTER AEYANNA
-0D88 ; [.1B19.0020.0002.0D88] # SINHALA LETTER AEEYANNA
-0D89 ; [.1B1A.0020.0002.0D89] # SINHALA LETTER IYANNA
-0D8A ; [.1B1B.0020.0002.0D8A] # SINHALA LETTER IIYANNA
-0D8B ; [.1B1C.0020.0002.0D8B] # SINHALA LETTER UYANNA
-0D8C ; [.1B1D.0020.0002.0D8C] # SINHALA LETTER UUYANNA
-0D8D ; [.1B1E.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
-0D8E ; [.1B1F.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
-0D8F ; [.1B20.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
-0D90 ; [.1B21.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
-0D91 ; [.1B22.0020.0002.0D91] # SINHALA LETTER EYANNA
-0D92 ; [.1B23.0020.0002.0D92] # SINHALA LETTER EEYANNA
-0D93 ; [.1B24.0020.0002.0D93] # SINHALA LETTER AIYANNA
-0D94 ; [.1B25.0020.0002.0D94] # SINHALA LETTER OYANNA
-0D95 ; [.1B26.0020.0002.0D95] # SINHALA LETTER OOYANNA
-0D96 ; [.1B27.0020.0002.0D96] # SINHALA LETTER AUYANNA
-0D9A ; [.1B28.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B ; [.1B29.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C ; [.1B2A.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D ; [.1B2B.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E ; [.1B2C.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F ; [.1B2D.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
-0DA0 ; [.1B2E.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1 ; [.1B2F.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2 ; [.1B30.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3 ; [.1B31.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4 ; [.1B32.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5 ; [.1B33.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6 ; [.1B34.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
-0DA7 ; [.1B35.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8 ; [.1B36.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9 ; [.1B37.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA ; [.1B38.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB ; [.1B39.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC ; [.1B3A.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
-0DAD ; [.1B3B.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE ; [.1B3C.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF ; [.1B3D.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0 ; [.1B3E.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1 ; [.1B3F.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
-0DB3 ; [.1B40.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
-0DB4 ; [.1B41.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5 ; [.1B42.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6 ; [.1B43.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7 ; [.1B44.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8 ; [.1B45.0020.0002.0DB8] # SINHALA LETTER MAYANNA
-0DB9 ; [.1B46.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
-0DBA ; [.1B47.0020.0002.0DBA] # SINHALA LETTER YAYANNA
-0DBB ; [.1B48.0020.0002.0DBB] # SINHALA LETTER RAYANNA
-0DBD ; [.1B49.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
-0DC0 ; [.1B4A.0020.0002.0DC0] # SINHALA LETTER VAYANNA
-0DC1 ; [.1B4B.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
-0DC2 ; [.1B4C.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3 ; [.1B4D.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
-0DC4 ; [.1B4E.0020.0002.0DC4] # SINHALA LETTER HAYANNA
-0DC5 ; [.1B4F.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6 ; [.1B50.0020.0002.0DC6] # SINHALA LETTER FAYANNA
-0DCA ; [.1B51.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
-0DCF ; [.1B52.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
-0DD0 ; [.1B53.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1 ; [.1B54.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2 ; [.1B55.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3 ; [.1B56.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4 ; [.1B57.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; [.1B58.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8 ; [.1B59.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
-0DD9 ; [.1B5A.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
-0DDA ; [.1B5B.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DD9 0DCA ; [.1B5B.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB ; [.1B5C.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC ; [.1B5D.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DD9 0DCF ; [.1B5D.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD ; [.1B5E.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DD9 0DCF 0DCA ; [.1B5E.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDC 0DCA ; [.1B5E.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE ; [.1B5F.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DD9 0DDF ; [.1B5F.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DDF ; [.1B60.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
-0DF2 ; [.1B61.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DF3 ; [.1B62.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-A800 ; [.1B63.0020.0002.A800] # SYLOTI NAGRI LETTER A
-A801 ; [.1B64.0020.0002.A801] # SYLOTI NAGRI LETTER I
-A802 ; [.1B65.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
-A803 ; [.1B66.0020.0002.A803] # SYLOTI NAGRI LETTER U
-A804 ; [.1B67.0020.0002.A804] # SYLOTI NAGRI LETTER E
-A805 ; [.1B68.0020.0002.A805] # SYLOTI NAGRI LETTER O
-A806 ; [.1B69.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
-A807 ; [.1B6A.0020.0002.A807] # SYLOTI NAGRI LETTER KO
-A808 ; [.1B6B.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
-A809 ; [.1B6C.0020.0002.A809] # SYLOTI NAGRI LETTER GO
-A80A ; [.1B6D.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
-A80C ; [.1B6E.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
-A80D ; [.1B6F.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
-A80E ; [.1B70.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
-A80F ; [.1B71.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
-A810 ; [.1B72.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
-A811 ; [.1B73.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
-A812 ; [.1B74.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
-A813 ; [.1B75.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
-A814 ; [.1B76.0020.0002.A814] # SYLOTI NAGRI LETTER TO
-A815 ; [.1B77.0020.0002.A815] # SYLOTI NAGRI LETTER THO
-A816 ; [.1B78.0020.0002.A816] # SYLOTI NAGRI LETTER DO
-A817 ; [.1B79.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
-A818 ; [.1B7A.0020.0002.A818] # SYLOTI NAGRI LETTER NO
-A819 ; [.1B7B.0020.0002.A819] # SYLOTI NAGRI LETTER PO
-A81A ; [.1B7C.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
-A81B ; [.1B7D.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
-A81C ; [.1B7E.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
-A81D ; [.1B7F.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
-A81E ; [.1B80.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
-A81F ; [.1B81.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
-A820 ; [.1B82.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
-A821 ; [.1B83.0020.0002.A821] # SYLOTI NAGRI LETTER SO
-A822 ; [.1B84.0020.0002.A822] # SYLOTI NAGRI LETTER HO
-A823 ; [.1B85.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
-A824 ; [.1B86.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
-A825 ; [.1B87.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
-A826 ; [.1B88.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
-A827 ; [.1B89.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
-10A00 ; [.1B8A.0020.0002.10A00] # KHAROSHTHI LETTER A
-10A01 ; [.1B8B.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
-10A02 ; [.1B8C.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
-10A03 ; [.1B8D.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 ; [.1B8E.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
-10A06 ; [.1B8F.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
-10A0C ; [.1B90.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
-10A10 ; [.1B91.0020.0002.10A10] # KHAROSHTHI LETTER KA
-10A11 ; [.1B92.0020.0002.10A11] # KHAROSHTHI LETTER KHA
-10A12 ; [.1B93.0020.0002.10A12] # KHAROSHTHI LETTER GA
-10A13 ; [.1B94.0020.0002.10A13] # KHAROSHTHI LETTER GHA
-10A15 ; [.1B95.0020.0002.10A15] # KHAROSHTHI LETTER CA
-10A16 ; [.1B96.0020.0002.10A16] # KHAROSHTHI LETTER CHA
-10A17 ; [.1B97.0020.0002.10A17] # KHAROSHTHI LETTER JA
-10A19 ; [.1B98.0020.0002.10A19] # KHAROSHTHI LETTER NYA
-10A1A ; [.1B99.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
-10A1B ; [.1B9A.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
-10A1C ; [.1B9B.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
-10A1D ; [.1B9C.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
-10A1E ; [.1B9D.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
-10A1F ; [.1B9E.0020.0002.10A1F] # KHAROSHTHI LETTER TA
-10A20 ; [.1B9F.0020.0002.10A20] # KHAROSHTHI LETTER THA
-10A21 ; [.1BA0.0020.0002.10A21] # KHAROSHTHI LETTER DA
-10A22 ; [.1BA1.0020.0002.10A22] # KHAROSHTHI LETTER DHA
-10A23 ; [.1BA2.0020.0002.10A23] # KHAROSHTHI LETTER NA
-10A24 ; [.1BA3.0020.0002.10A24] # KHAROSHTHI LETTER PA
-10A25 ; [.1BA4.0020.0002.10A25] # KHAROSHTHI LETTER PHA
-10A26 ; [.1BA5.0020.0002.10A26] # KHAROSHTHI LETTER BA
-10A27 ; [.1BA6.0020.0002.10A27] # KHAROSHTHI LETTER BHA
-10A28 ; [.1BA7.0020.0002.10A28] # KHAROSHTHI LETTER MA
-10A29 ; [.1BA8.0020.0002.10A29] # KHAROSHTHI LETTER YA
-10A2A ; [.1BA9.0020.0002.10A2A] # KHAROSHTHI LETTER RA
-10A2B ; [.1BAA.0020.0002.10A2B] # KHAROSHTHI LETTER LA
-10A2C ; [.1BAB.0020.0002.10A2C] # KHAROSHTHI LETTER VA
-10A2D ; [.1BAC.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
-10A2E ; [.1BAD.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
-10A2F ; [.1BAE.0020.0002.10A2F] # KHAROSHTHI LETTER SA
-10A30 ; [.1BAF.0020.0002.10A30] # KHAROSHTHI LETTER ZA
-10A31 ; [.1BB0.0020.0002.10A31] # KHAROSHTHI LETTER HA
-10A32 ; [.1BB1.0020.0002.10A32] # KHAROSHTHI LETTER KKA
-10A33 ; [.1BB2.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
-10A3F ; [.1BB3.0020.0002.10A3F] # KHAROSHTHI VIRAMA
-0E01 ; [.1BB4.0020.0002.0E01] # THAI CHARACTER KO KAI
-0E40 0E01 ; [.1BB4.0020.0002.0E01][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
-0E41 0E01 ; [.1BB4.0020.0002.0E01][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
-0E42 0E01 ; [.1BB4.0020.0002.0E01][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
-0E43 0E01 ; [.1BB4.0020.0002.0E01][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
-0E44 0E01 ; [.1BB4.0020.0002.0E01][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
-0E02 ; [.1BB5.0020.0002.0E02] # THAI CHARACTER KHO KHAI
-0E40 0E02 ; [.1BB5.0020.0002.0E02][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
-0E41 0E02 ; [.1BB5.0020.0002.0E02][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
-0E42 0E02 ; [.1BB5.0020.0002.0E02][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
-0E43 0E02 ; [.1BB5.0020.0002.0E02][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
-0E44 0E02 ; [.1BB5.0020.0002.0E02][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
-0E03 ; [.1BB6.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
-0E40 0E03 ; [.1BB6.0020.0002.0E03][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
-0E41 0E03 ; [.1BB6.0020.0002.0E03][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
-0E42 0E03 ; [.1BB6.0020.0002.0E03][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
-0E43 0E03 ; [.1BB6.0020.0002.0E03][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
-0E44 0E03 ; [.1BB6.0020.0002.0E03][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
-0E04 ; [.1BB7.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
-0E40 0E04 ; [.1BB7.0020.0002.0E04][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
-0E41 0E04 ; [.1BB7.0020.0002.0E04][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
-0E42 0E04 ; [.1BB7.0020.0002.0E04][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
-0E43 0E04 ; [.1BB7.0020.0002.0E04][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
-0E44 0E04 ; [.1BB7.0020.0002.0E04][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
-0E05 ; [.1BB8.0020.0002.0E05] # THAI CHARACTER KHO KHON
-0E40 0E05 ; [.1BB8.0020.0002.0E05][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
-0E41 0E05 ; [.1BB8.0020.0002.0E05][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
-0E42 0E05 ; [.1BB8.0020.0002.0E05][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
-0E43 0E05 ; [.1BB8.0020.0002.0E05][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
-0E44 0E05 ; [.1BB8.0020.0002.0E05][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
-0E06 ; [.1BB9.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
-0E40 0E06 ; [.1BB9.0020.0002.0E06][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
-0E41 0E06 ; [.1BB9.0020.0002.0E06][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
-0E42 0E06 ; [.1BB9.0020.0002.0E06][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
-0E43 0E06 ; [.1BB9.0020.0002.0E06][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
-0E44 0E06 ; [.1BB9.0020.0002.0E06][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
-0E07 ; [.1BBA.0020.0002.0E07] # THAI CHARACTER NGO NGU
-0E40 0E07 ; [.1BBA.0020.0002.0E07][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
-0E41 0E07 ; [.1BBA.0020.0002.0E07][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
-0E42 0E07 ; [.1BBA.0020.0002.0E07][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
-0E43 0E07 ; [.1BBA.0020.0002.0E07][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
-0E44 0E07 ; [.1BBA.0020.0002.0E07][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
-0E08 ; [.1BBB.0020.0002.0E08] # THAI CHARACTER CHO CHAN
-0E40 0E08 ; [.1BBB.0020.0002.0E08][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
-0E41 0E08 ; [.1BBB.0020.0002.0E08][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
-0E42 0E08 ; [.1BBB.0020.0002.0E08][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
-0E43 0E08 ; [.1BBB.0020.0002.0E08][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
-0E44 0E08 ; [.1BBB.0020.0002.0E08][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
-0E09 ; [.1BBC.0020.0002.0E09] # THAI CHARACTER CHO CHING
-0E40 0E09 ; [.1BBC.0020.0002.0E09][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
-0E41 0E09 ; [.1BBC.0020.0002.0E09][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
-0E42 0E09 ; [.1BBC.0020.0002.0E09][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
-0E43 0E09 ; [.1BBC.0020.0002.0E09][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
-0E44 0E09 ; [.1BBC.0020.0002.0E09][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
-0E0A ; [.1BBD.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
-0E40 0E0A ; [.1BBD.0020.0002.0E0A][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
-0E41 0E0A ; [.1BBD.0020.0002.0E0A][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
-0E42 0E0A ; [.1BBD.0020.0002.0E0A][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
-0E43 0E0A ; [.1BBD.0020.0002.0E0A][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
-0E44 0E0A ; [.1BBD.0020.0002.0E0A][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
-0E0B ; [.1BBE.0020.0002.0E0B] # THAI CHARACTER SO SO
-0E40 0E0B ; [.1BBE.0020.0002.0E0B][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
-0E41 0E0B ; [.1BBE.0020.0002.0E0B][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
-0E42 0E0B ; [.1BBE.0020.0002.0E0B][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
-0E43 0E0B ; [.1BBE.0020.0002.0E0B][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
-0E44 0E0B ; [.1BBE.0020.0002.0E0B][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
-0E0C ; [.1BBF.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
-0E40 0E0C ; [.1BBF.0020.0002.0E0C][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
-0E41 0E0C ; [.1BBF.0020.0002.0E0C][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
-0E42 0E0C ; [.1BBF.0020.0002.0E0C][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
-0E43 0E0C ; [.1BBF.0020.0002.0E0C][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
-0E44 0E0C ; [.1BBF.0020.0002.0E0C][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
-0E0D ; [.1BC0.0020.0002.0E0D] # THAI CHARACTER YO YING
-0E40 0E0D ; [.1BC0.0020.0002.0E0D][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
-0E41 0E0D ; [.1BC0.0020.0002.0E0D][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
-0E42 0E0D ; [.1BC0.0020.0002.0E0D][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
-0E43 0E0D ; [.1BC0.0020.0002.0E0D][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
-0E44 0E0D ; [.1BC0.0020.0002.0E0D][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
-0E0E ; [.1BC1.0020.0002.0E0E] # THAI CHARACTER DO CHADA
-0E40 0E0E ; [.1BC1.0020.0002.0E0E][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
-0E41 0E0E ; [.1BC1.0020.0002.0E0E][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
-0E42 0E0E ; [.1BC1.0020.0002.0E0E][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
-0E43 0E0E ; [.1BC1.0020.0002.0E0E][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
-0E44 0E0E ; [.1BC1.0020.0002.0E0E][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
-0E0F ; [.1BC2.0020.0002.0E0F] # THAI CHARACTER TO PATAK
-0E40 0E0F ; [.1BC2.0020.0002.0E0F][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
-0E41 0E0F ; [.1BC2.0020.0002.0E0F][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
-0E42 0E0F ; [.1BC2.0020.0002.0E0F][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
-0E43 0E0F ; [.1BC2.0020.0002.0E0F][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
-0E44 0E0F ; [.1BC2.0020.0002.0E0F][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
-0E10 ; [.1BC3.0020.0002.0E10] # THAI CHARACTER THO THAN
-0E40 0E10 ; [.1BC3.0020.0002.0E10][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
-0E41 0E10 ; [.1BC3.0020.0002.0E10][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
-0E42 0E10 ; [.1BC3.0020.0002.0E10][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
-0E43 0E10 ; [.1BC3.0020.0002.0E10][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
-0E44 0E10 ; [.1BC3.0020.0002.0E10][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
-0E11 ; [.1BC4.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
-0E40 0E11 ; [.1BC4.0020.0002.0E11][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
-0E41 0E11 ; [.1BC4.0020.0002.0E11][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
-0E42 0E11 ; [.1BC4.0020.0002.0E11][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
-0E43 0E11 ; [.1BC4.0020.0002.0E11][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
-0E44 0E11 ; [.1BC4.0020.0002.0E11][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
-0E12 ; [.1BC5.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
-0E40 0E12 ; [.1BC5.0020.0002.0E12][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
-0E41 0E12 ; [.1BC5.0020.0002.0E12][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
-0E42 0E12 ; [.1BC5.0020.0002.0E12][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
-0E43 0E12 ; [.1BC5.0020.0002.0E12][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
-0E44 0E12 ; [.1BC5.0020.0002.0E12][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
-0E13 ; [.1BC6.0020.0002.0E13] # THAI CHARACTER NO NEN
-0E40 0E13 ; [.1BC6.0020.0002.0E13][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
-0E41 0E13 ; [.1BC6.0020.0002.0E13][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
-0E42 0E13 ; [.1BC6.0020.0002.0E13][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
-0E43 0E13 ; [.1BC6.0020.0002.0E13][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
-0E44 0E13 ; [.1BC6.0020.0002.0E13][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
-0E14 ; [.1BC7.0020.0002.0E14] # THAI CHARACTER DO DEK
-0E40 0E14 ; [.1BC7.0020.0002.0E14][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
-0E41 0E14 ; [.1BC7.0020.0002.0E14][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
-0E42 0E14 ; [.1BC7.0020.0002.0E14][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
-0E43 0E14 ; [.1BC7.0020.0002.0E14][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
-0E44 0E14 ; [.1BC7.0020.0002.0E14][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
-0E15 ; [.1BC8.0020.0002.0E15] # THAI CHARACTER TO TAO
-0E40 0E15 ; [.1BC8.0020.0002.0E15][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
-0E41 0E15 ; [.1BC8.0020.0002.0E15][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
-0E42 0E15 ; [.1BC8.0020.0002.0E15][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
-0E43 0E15 ; [.1BC8.0020.0002.0E15][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
-0E44 0E15 ; [.1BC8.0020.0002.0E15][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
-0E16 ; [.1BC9.0020.0002.0E16] # THAI CHARACTER THO THUNG
-0E40 0E16 ; [.1BC9.0020.0002.0E16][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
-0E41 0E16 ; [.1BC9.0020.0002.0E16][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
-0E42 0E16 ; [.1BC9.0020.0002.0E16][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
-0E43 0E16 ; [.1BC9.0020.0002.0E16][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
-0E44 0E16 ; [.1BC9.0020.0002.0E16][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
-0E17 ; [.1BCA.0020.0002.0E17] # THAI CHARACTER THO THAHAN
-0E40 0E17 ; [.1BCA.0020.0002.0E17][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
-0E41 0E17 ; [.1BCA.0020.0002.0E17][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
-0E42 0E17 ; [.1BCA.0020.0002.0E17][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
-0E43 0E17 ; [.1BCA.0020.0002.0E17][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
-0E44 0E17 ; [.1BCA.0020.0002.0E17][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
-0E18 ; [.1BCB.0020.0002.0E18] # THAI CHARACTER THO THONG
-0E40 0E18 ; [.1BCB.0020.0002.0E18][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
-0E41 0E18 ; [.1BCB.0020.0002.0E18][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
-0E42 0E18 ; [.1BCB.0020.0002.0E18][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
-0E43 0E18 ; [.1BCB.0020.0002.0E18][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
-0E44 0E18 ; [.1BCB.0020.0002.0E18][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
-0E19 ; [.1BCC.0020.0002.0E19] # THAI CHARACTER NO NU
-0E40 0E19 ; [.1BCC.0020.0002.0E19][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
-0E41 0E19 ; [.1BCC.0020.0002.0E19][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
-0E42 0E19 ; [.1BCC.0020.0002.0E19][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
-0E43 0E19 ; [.1BCC.0020.0002.0E19][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
-0E44 0E19 ; [.1BCC.0020.0002.0E19][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
-0E1A ; [.1BCD.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
-0E40 0E1A ; [.1BCD.0020.0002.0E1A][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
-0E41 0E1A ; [.1BCD.0020.0002.0E1A][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
-0E42 0E1A ; [.1BCD.0020.0002.0E1A][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
-0E43 0E1A ; [.1BCD.0020.0002.0E1A][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
-0E44 0E1A ; [.1BCD.0020.0002.0E1A][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
-0E1B ; [.1BCE.0020.0002.0E1B] # THAI CHARACTER PO PLA
-0E40 0E1B ; [.1BCE.0020.0002.0E1B][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
-0E41 0E1B ; [.1BCE.0020.0002.0E1B][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
-0E42 0E1B ; [.1BCE.0020.0002.0E1B][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
-0E43 0E1B ; [.1BCE.0020.0002.0E1B][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
-0E44 0E1B ; [.1BCE.0020.0002.0E1B][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
-0E1C ; [.1BCF.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
-0E40 0E1C ; [.1BCF.0020.0002.0E1C][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
-0E41 0E1C ; [.1BCF.0020.0002.0E1C][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
-0E42 0E1C ; [.1BCF.0020.0002.0E1C][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
-0E43 0E1C ; [.1BCF.0020.0002.0E1C][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
-0E44 0E1C ; [.1BCF.0020.0002.0E1C][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
-0E1D ; [.1BD0.0020.0002.0E1D] # THAI CHARACTER FO FA
-0E40 0E1D ; [.1BD0.0020.0002.0E1D][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
-0E41 0E1D ; [.1BD0.0020.0002.0E1D][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
-0E42 0E1D ; [.1BD0.0020.0002.0E1D][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
-0E43 0E1D ; [.1BD0.0020.0002.0E1D][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
-0E44 0E1D ; [.1BD0.0020.0002.0E1D][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
-0E1E ; [.1BD1.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
-0E40 0E1E ; [.1BD1.0020.0002.0E1E][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
-0E41 0E1E ; [.1BD1.0020.0002.0E1E][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
-0E42 0E1E ; [.1BD1.0020.0002.0E1E][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
-0E43 0E1E ; [.1BD1.0020.0002.0E1E][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
-0E44 0E1E ; [.1BD1.0020.0002.0E1E][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
-0E1F ; [.1BD2.0020.0002.0E1F] # THAI CHARACTER FO FAN
-0E40 0E1F ; [.1BD2.0020.0002.0E1F][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
-0E41 0E1F ; [.1BD2.0020.0002.0E1F][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
-0E42 0E1F ; [.1BD2.0020.0002.0E1F][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
-0E43 0E1F ; [.1BD2.0020.0002.0E1F][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
-0E44 0E1F ; [.1BD2.0020.0002.0E1F][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
-0E20 ; [.1BD3.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
-0E40 0E20 ; [.1BD3.0020.0002.0E20][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
-0E41 0E20 ; [.1BD3.0020.0002.0E20][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
-0E42 0E20 ; [.1BD3.0020.0002.0E20][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
-0E43 0E20 ; [.1BD3.0020.0002.0E20][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
-0E44 0E20 ; [.1BD3.0020.0002.0E20][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
-0E21 ; [.1BD4.0020.0002.0E21] # THAI CHARACTER MO MA
-0E40 0E21 ; [.1BD4.0020.0002.0E21][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
-0E41 0E21 ; [.1BD4.0020.0002.0E21][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
-0E42 0E21 ; [.1BD4.0020.0002.0E21][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
-0E43 0E21 ; [.1BD4.0020.0002.0E21][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
-0E44 0E21 ; [.1BD4.0020.0002.0E21][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
-0E22 ; [.1BD5.0020.0002.0E22] # THAI CHARACTER YO YAK
-0E40 0E22 ; [.1BD5.0020.0002.0E22][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
-0E41 0E22 ; [.1BD5.0020.0002.0E22][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
-0E42 0E22 ; [.1BD5.0020.0002.0E22][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
-0E43 0E22 ; [.1BD5.0020.0002.0E22][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
-0E44 0E22 ; [.1BD5.0020.0002.0E22][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
-0E23 ; [.1BD6.0020.0002.0E23] # THAI CHARACTER RO RUA
-0E40 0E23 ; [.1BD6.0020.0002.0E23][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
-0E41 0E23 ; [.1BD6.0020.0002.0E23][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
-0E42 0E23 ; [.1BD6.0020.0002.0E23][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
-0E43 0E23 ; [.1BD6.0020.0002.0E23][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
-0E44 0E23 ; [.1BD6.0020.0002.0E23][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
-0E24 ; [.1BD7.0020.0002.0E24] # THAI CHARACTER RU
-0E40 0E24 ; [.1BD7.0020.0002.0E24][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
-0E41 0E24 ; [.1BD7.0020.0002.0E24][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
-0E42 0E24 ; [.1BD7.0020.0002.0E24][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
-0E43 0E24 ; [.1BD7.0020.0002.0E24][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
-0E44 0E24 ; [.1BD7.0020.0002.0E24][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
-0E25 ; [.1BD8.0020.0002.0E25] # THAI CHARACTER LO LING
-0E40 0E25 ; [.1BD8.0020.0002.0E25][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
-0E41 0E25 ; [.1BD8.0020.0002.0E25][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
-0E42 0E25 ; [.1BD8.0020.0002.0E25][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
-0E43 0E25 ; [.1BD8.0020.0002.0E25][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
-0E44 0E25 ; [.1BD8.0020.0002.0E25][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
-0E26 ; [.1BD9.0020.0002.0E26] # THAI CHARACTER LU
-0E40 0E26 ; [.1BD9.0020.0002.0E26][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
-0E41 0E26 ; [.1BD9.0020.0002.0E26][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
-0E42 0E26 ; [.1BD9.0020.0002.0E26][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
-0E43 0E26 ; [.1BD9.0020.0002.0E26][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
-0E44 0E26 ; [.1BD9.0020.0002.0E26][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
-0E27 ; [.1BDA.0020.0002.0E27] # THAI CHARACTER WO WAEN
-0E40 0E27 ; [.1BDA.0020.0002.0E27][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
-0E41 0E27 ; [.1BDA.0020.0002.0E27][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
-0E42 0E27 ; [.1BDA.0020.0002.0E27][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
-0E43 0E27 ; [.1BDA.0020.0002.0E27][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
-0E44 0E27 ; [.1BDA.0020.0002.0E27][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
-0E28 ; [.1BDB.0020.0002.0E28] # THAI CHARACTER SO SALA
-0E40 0E28 ; [.1BDB.0020.0002.0E28][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
-0E41 0E28 ; [.1BDB.0020.0002.0E28][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
-0E42 0E28 ; [.1BDB.0020.0002.0E28][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
-0E43 0E28 ; [.1BDB.0020.0002.0E28][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
-0E44 0E28 ; [.1BDB.0020.0002.0E28][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
-0E29 ; [.1BDC.0020.0002.0E29] # THAI CHARACTER SO RUSI
-0E40 0E29 ; [.1BDC.0020.0002.0E29][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
-0E41 0E29 ; [.1BDC.0020.0002.0E29][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
-0E42 0E29 ; [.1BDC.0020.0002.0E29][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
-0E43 0E29 ; [.1BDC.0020.0002.0E29][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
-0E44 0E29 ; [.1BDC.0020.0002.0E29][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
-0E2A ; [.1BDD.0020.0002.0E2A] # THAI CHARACTER SO SUA
-0E40 0E2A ; [.1BDD.0020.0002.0E2A][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
-0E41 0E2A ; [.1BDD.0020.0002.0E2A][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
-0E42 0E2A ; [.1BDD.0020.0002.0E2A][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
-0E43 0E2A ; [.1BDD.0020.0002.0E2A][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
-0E44 0E2A ; [.1BDD.0020.0002.0E2A][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
-0E2B ; [.1BDE.0020.0002.0E2B] # THAI CHARACTER HO HIP
-0E40 0E2B ; [.1BDE.0020.0002.0E2B][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
-0E41 0E2B ; [.1BDE.0020.0002.0E2B][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
-0E42 0E2B ; [.1BDE.0020.0002.0E2B][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
-0E43 0E2B ; [.1BDE.0020.0002.0E2B][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
-0E44 0E2B ; [.1BDE.0020.0002.0E2B][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
-0E2C ; [.1BDF.0020.0002.0E2C] # THAI CHARACTER LO CHULA
-0E40 0E2C ; [.1BDF.0020.0002.0E2C][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
-0E41 0E2C ; [.1BDF.0020.0002.0E2C][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
-0E42 0E2C ; [.1BDF.0020.0002.0E2C][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
-0E43 0E2C ; [.1BDF.0020.0002.0E2C][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
-0E44 0E2C ; [.1BDF.0020.0002.0E2C][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
-0E2D ; [.1BE0.0020.0002.0E2D] # THAI CHARACTER O ANG
-0E40 0E2D ; [.1BE0.0020.0002.0E2D][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
-0E41 0E2D ; [.1BE0.0020.0002.0E2D][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
-0E42 0E2D ; [.1BE0.0020.0002.0E2D][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
-0E43 0E2D ; [.1BE0.0020.0002.0E2D][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
-0E44 0E2D ; [.1BE0.0020.0002.0E2D][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
-0E2E ; [.1BE1.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
-0E40 0E2E ; [.1BE1.0020.0002.0E2E][.1BEE.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
-0E41 0E2E ; [.1BE1.0020.0002.0E2E][.1BEF.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
-0E42 0E2E ; [.1BE1.0020.0002.0E2E][.1BF0.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
-0E43 0E2E ; [.1BE1.0020.0002.0E2E][.1BF1.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
-0E44 0E2E ; [.1BE1.0020.0002.0E2E][.1BF2.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
-0E2F ; [.1BE2.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
-0E30 ; [.1BE3.0020.0002.0E30] # THAI CHARACTER SARA A
-0E31 ; [.1BE4.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
-0E32 ; [.1BE5.0020.0002.0E32] # THAI CHARACTER SARA AA
-0E33 ; [.1BE6.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E4D 0E32 ; [.1BE6.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E34 ; [.1BE7.0020.0002.0E34] # THAI CHARACTER SARA I
-0E35 ; [.1BE8.0020.0002.0E35] # THAI CHARACTER SARA II
-0E36 ; [.1BE9.0020.0002.0E36] # THAI CHARACTER SARA UE
-0E37 ; [.1BEA.0020.0002.0E37] # THAI CHARACTER SARA UEE
-0E38 ; [.1BEB.0020.0002.0E38] # THAI CHARACTER SARA U
-0E39 ; [.1BEC.0020.0002.0E39] # THAI CHARACTER SARA UU
-0E3A ; [.1BED.0020.0002.0E3A] # THAI CHARACTER PHINTHU
-0E40 ; [.1BEE.0020.0002.0E40] # THAI CHARACTER SARA E
-0E41 ; [.1BEF.0020.0002.0E41] # THAI CHARACTER SARA AE
-0E42 ; [.1BF0.0020.0002.0E42] # THAI CHARACTER SARA O
-0E43 ; [.1BF1.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
-0E44 ; [.1BF2.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
-0E45 ; [.1BF3.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
-0E81 ; [.1BF4.0020.0002.0E81] # LAO LETTER KO
-0EC0 0E81 ; [.1BF4.0020.0002.0E81][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
-0EC1 0E81 ; [.1BF4.0020.0002.0E81][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
-0EC2 0E81 ; [.1BF4.0020.0002.0E81][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
-0EC3 0E81 ; [.1BF4.0020.0002.0E81][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
-0EC4 0E81 ; [.1BF4.0020.0002.0E81][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
-0E82 ; [.1BF5.0020.0002.0E82] # LAO LETTER KHO SUNG
-0EC0 0E82 ; [.1BF5.0020.0002.0E82][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
-0EC1 0E82 ; [.1BF5.0020.0002.0E82][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
-0EC2 0E82 ; [.1BF5.0020.0002.0E82][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
-0EC3 0E82 ; [.1BF5.0020.0002.0E82][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
-0EC4 0E82 ; [.1BF5.0020.0002.0E82][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
-0E84 ; [.1BF6.0020.0002.0E84] # LAO LETTER KHO TAM
-0EC0 0E84 ; [.1BF6.0020.0002.0E84][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
-0EC1 0E84 ; [.1BF6.0020.0002.0E84][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
-0EC2 0E84 ; [.1BF6.0020.0002.0E84][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
-0EC3 0E84 ; [.1BF6.0020.0002.0E84][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
-0EC4 0E84 ; [.1BF6.0020.0002.0E84][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
-0E87 ; [.1BF7.0020.0002.0E87] # LAO LETTER NGO
-0EC0 0E87 ; [.1BF7.0020.0002.0E87][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
-0EC1 0E87 ; [.1BF7.0020.0002.0E87][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
-0EC2 0E87 ; [.1BF7.0020.0002.0E87][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
-0EC3 0E87 ; [.1BF7.0020.0002.0E87][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
-0EC4 0E87 ; [.1BF7.0020.0002.0E87][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
-0E88 ; [.1BF8.0020.0002.0E88] # LAO LETTER CO
-0EC0 0E88 ; [.1BF8.0020.0002.0E88][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
-0EC1 0E88 ; [.1BF8.0020.0002.0E88][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
-0EC2 0E88 ; [.1BF8.0020.0002.0E88][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
-0EC3 0E88 ; [.1BF8.0020.0002.0E88][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
-0EC4 0E88 ; [.1BF8.0020.0002.0E88][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
-0E8A ; [.1BF9.0020.0002.0E8A] # LAO LETTER SO TAM
-0EC0 0E8A ; [.1BF9.0020.0002.0E8A][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
-0EC1 0E8A ; [.1BF9.0020.0002.0E8A][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
-0EC2 0E8A ; [.1BF9.0020.0002.0E8A][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
-0EC3 0E8A ; [.1BF9.0020.0002.0E8A][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
-0EC4 0E8A ; [.1BF9.0020.0002.0E8A][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
-0E8D ; [.1BFA.0020.0002.0E8D] # LAO LETTER NYO
-0EC0 0E8D ; [.1BFA.0020.0002.0E8D][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
-0EC1 0E8D ; [.1BFA.0020.0002.0E8D][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
-0EC2 0E8D ; [.1BFA.0020.0002.0E8D][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
-0EC3 0E8D ; [.1BFA.0020.0002.0E8D][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
-0EC4 0E8D ; [.1BFA.0020.0002.0E8D][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
-0E94 ; [.1BFB.0020.0002.0E94] # LAO LETTER DO
-0EC0 0E94 ; [.1BFB.0020.0002.0E94][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
-0EC1 0E94 ; [.1BFB.0020.0002.0E94][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
-0EC2 0E94 ; [.1BFB.0020.0002.0E94][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
-0EC3 0E94 ; [.1BFB.0020.0002.0E94][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
-0EC4 0E94 ; [.1BFB.0020.0002.0E94][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
-0E95 ; [.1BFC.0020.0002.0E95] # LAO LETTER TO
-0EC0 0E95 ; [.1BFC.0020.0002.0E95][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
-0EC1 0E95 ; [.1BFC.0020.0002.0E95][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
-0EC2 0E95 ; [.1BFC.0020.0002.0E95][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
-0EC3 0E95 ; [.1BFC.0020.0002.0E95][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
-0EC4 0E95 ; [.1BFC.0020.0002.0E95][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
-0E96 ; [.1BFD.0020.0002.0E96] # LAO LETTER THO SUNG
-0EC0 0E96 ; [.1BFD.0020.0002.0E96][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
-0EC1 0E96 ; [.1BFD.0020.0002.0E96][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
-0EC2 0E96 ; [.1BFD.0020.0002.0E96][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
-0EC3 0E96 ; [.1BFD.0020.0002.0E96][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
-0EC4 0E96 ; [.1BFD.0020.0002.0E96][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
-0E97 ; [.1BFE.0020.0002.0E97] # LAO LETTER THO TAM
-0EC0 0E97 ; [.1BFE.0020.0002.0E97][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
-0EC1 0E97 ; [.1BFE.0020.0002.0E97][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
-0EC2 0E97 ; [.1BFE.0020.0002.0E97][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
-0EC3 0E97 ; [.1BFE.0020.0002.0E97][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
-0EC4 0E97 ; [.1BFE.0020.0002.0E97][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
-0E99 ; [.1BFF.0020.0002.0E99] # LAO LETTER NO
-0EC0 0E99 ; [.1BFF.0020.0002.0E99][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
-0EC1 0E99 ; [.1BFF.0020.0002.0E99][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
-0EC2 0E99 ; [.1BFF.0020.0002.0E99][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
-0EC3 0E99 ; [.1BFF.0020.0002.0E99][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
-0EC4 0E99 ; [.1BFF.0020.0002.0E99][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
-0E9A ; [.1C00.0020.0002.0E9A] # LAO LETTER BO
-0EC0 0E9A ; [.1C00.0020.0002.0E9A][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
-0EC1 0E9A ; [.1C00.0020.0002.0E9A][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
-0EC2 0E9A ; [.1C00.0020.0002.0E9A][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
-0EC3 0E9A ; [.1C00.0020.0002.0E9A][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
-0EC4 0E9A ; [.1C00.0020.0002.0E9A][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
-0E9B ; [.1C01.0020.0002.0E9B] # LAO LETTER PO
-0EC0 0E9B ; [.1C01.0020.0002.0E9B][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
-0EC1 0E9B ; [.1C01.0020.0002.0E9B][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
-0EC2 0E9B ; [.1C01.0020.0002.0E9B][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
-0EC3 0E9B ; [.1C01.0020.0002.0E9B][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
-0EC4 0E9B ; [.1C01.0020.0002.0E9B][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
-0E9C ; [.1C02.0020.0002.0E9C] # LAO LETTER PHO SUNG
-0EC0 0E9C ; [.1C02.0020.0002.0E9C][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
-0EC1 0E9C ; [.1C02.0020.0002.0E9C][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
-0EC2 0E9C ; [.1C02.0020.0002.0E9C][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
-0EC3 0E9C ; [.1C02.0020.0002.0E9C][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
-0EC4 0E9C ; [.1C02.0020.0002.0E9C][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
-0E9D ; [.1C03.0020.0002.0E9D] # LAO LETTER FO TAM
-0EC0 0E9D ; [.1C03.0020.0002.0E9D][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
-0EC1 0E9D ; [.1C03.0020.0002.0E9D][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
-0EC2 0E9D ; [.1C03.0020.0002.0E9D][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
-0EC3 0E9D ; [.1C03.0020.0002.0E9D][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
-0EC4 0E9D ; [.1C03.0020.0002.0E9D][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
-0E9E ; [.1C04.0020.0002.0E9E] # LAO LETTER PHO TAM
-0EC0 0E9E ; [.1C04.0020.0002.0E9E][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
-0EC1 0E9E ; [.1C04.0020.0002.0E9E][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
-0EC2 0E9E ; [.1C04.0020.0002.0E9E][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
-0EC3 0E9E ; [.1C04.0020.0002.0E9E][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
-0EC4 0E9E ; [.1C04.0020.0002.0E9E][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
-0E9F ; [.1C05.0020.0002.0E9F] # LAO LETTER FO SUNG
-0EC0 0E9F ; [.1C05.0020.0002.0E9F][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
-0EC1 0E9F ; [.1C05.0020.0002.0E9F][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
-0EC2 0E9F ; [.1C05.0020.0002.0E9F][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
-0EC3 0E9F ; [.1C05.0020.0002.0E9F][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
-0EC4 0E9F ; [.1C05.0020.0002.0E9F][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
-0EA1 ; [.1C06.0020.0002.0EA1] # LAO LETTER MO
-0EC0 0EA1 ; [.1C06.0020.0002.0EA1][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
-0EC1 0EA1 ; [.1C06.0020.0002.0EA1][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
-0EC2 0EA1 ; [.1C06.0020.0002.0EA1][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
-0EC3 0EA1 ; [.1C06.0020.0002.0EA1][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
-0EC4 0EA1 ; [.1C06.0020.0002.0EA1][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
-0EA2 ; [.1C07.0020.0002.0EA2] # LAO LETTER YO
-0EC0 0EA2 ; [.1C07.0020.0002.0EA2][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
-0EC1 0EA2 ; [.1C07.0020.0002.0EA2][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
-0EC2 0EA2 ; [.1C07.0020.0002.0EA2][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
-0EC3 0EA2 ; [.1C07.0020.0002.0EA2][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
-0EC4 0EA2 ; [.1C07.0020.0002.0EA2][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
-0EA3 ; [.1C08.0020.0002.0EA3] # LAO LETTER LO LING
-0EC0 0EA3 ; [.1C08.0020.0002.0EA3][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
-0EC1 0EA3 ; [.1C08.0020.0002.0EA3][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
-0EC2 0EA3 ; [.1C08.0020.0002.0EA3][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
-0EC3 0EA3 ; [.1C08.0020.0002.0EA3][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
-0EC4 0EA3 ; [.1C08.0020.0002.0EA3][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
-0EA5 ; [.1C09.0020.0002.0EA5] # LAO LETTER LO LOOT
-0EC0 0EA5 ; [.1C09.0020.0002.0EA5][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
-0EC1 0EA5 ; [.1C09.0020.0002.0EA5][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
-0EC2 0EA5 ; [.1C09.0020.0002.0EA5][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
-0EC3 0EA5 ; [.1C09.0020.0002.0EA5][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
-0EC4 0EA5 ; [.1C09.0020.0002.0EA5][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
-0EA7 ; [.1C0A.0020.0002.0EA7] # LAO LETTER WO
-0EC0 0EA7 ; [.1C0A.0020.0002.0EA7][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
-0EC1 0EA7 ; [.1C0A.0020.0002.0EA7][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
-0EC2 0EA7 ; [.1C0A.0020.0002.0EA7][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
-0EC3 0EA7 ; [.1C0A.0020.0002.0EA7][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
-0EC4 0EA7 ; [.1C0A.0020.0002.0EA7][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
-0EAA ; [.1C0B.0020.0002.0EAA] # LAO LETTER SO SUNG
-0EC0 0EAA ; [.1C0B.0020.0002.0EAA][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
-0EC1 0EAA ; [.1C0B.0020.0002.0EAA][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
-0EC2 0EAA ; [.1C0B.0020.0002.0EAA][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
-0EC3 0EAA ; [.1C0B.0020.0002.0EAA][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
-0EC4 0EAA ; [.1C0B.0020.0002.0EAA][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
-0EAB ; [.1C0C.0020.0002.0EAB] # LAO LETTER HO SUNG
-0EDC ; [.1C0C.0020.0004.0EDC][.1BFF.0020.0004.0EDC] # LAO HO NO; QQKN
-0EC0 0EDC ; [.1C0C.0020.0004.0EDC][.1BFF.0020.0004.0EDC][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
-0EC1 0EDC ; [.1C0C.0020.0004.0EDC][.1BFF.0020.0004.0EDC][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
-0EC2 0EDC ; [.1C0C.0020.0004.0EDC][.1BFF.0020.0004.0EDC][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
-0EC3 0EDC ; [.1C0C.0020.0004.0EDC][.1BFF.0020.0004.0EDC][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
-0EC4 0EDC ; [.1C0C.0020.0004.0EDC][.1BFF.0020.0004.0EDC][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
-0EDD ; [.1C0C.0020.0004.0EDD][.1C06.0020.0004.0EDD] # LAO HO MO; QQKN
-0EC0 0EDD ; [.1C0C.0020.0004.0EDD][.1C06.0020.0004.0EDD][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
-0EC1 0EDD ; [.1C0C.0020.0004.0EDD][.1C06.0020.0004.0EDD][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
-0EC2 0EDD ; [.1C0C.0020.0004.0EDD][.1C06.0020.0004.0EDD][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
-0EC3 0EDD ; [.1C0C.0020.0004.0EDD][.1C06.0020.0004.0EDD][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
-0EC4 0EDD ; [.1C0C.0020.0004.0EDD][.1C06.0020.0004.0EDD][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
-0EC0 0EAB ; [.1C0C.0020.0002.0EAB][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
-0EC1 0EAB ; [.1C0C.0020.0002.0EAB][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
-0EC2 0EAB ; [.1C0C.0020.0002.0EAB][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
-0EC3 0EAB ; [.1C0C.0020.0002.0EAB][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
-0EC4 0EAB ; [.1C0C.0020.0002.0EAB][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
-0EAD ; [.1C0D.0020.0002.0EAD] # LAO LETTER O
-0EC0 0EAD ; [.1C0D.0020.0002.0EAD][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
-0EC1 0EAD ; [.1C0D.0020.0002.0EAD][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
-0EC2 0EAD ; [.1C0D.0020.0002.0EAD][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
-0EC3 0EAD ; [.1C0D.0020.0002.0EAD][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
-0EC4 0EAD ; [.1C0D.0020.0002.0EAD][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
-0EAE ; [.1C0E.0020.0002.0EAE] # LAO LETTER HO TAM
-0EC0 0EAE ; [.1C0E.0020.0002.0EAE][.1C1D.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
-0EC1 0EAE ; [.1C0E.0020.0002.0EAE][.1C1E.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
-0EC2 0EAE ; [.1C0E.0020.0002.0EAE][.1C1F.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
-0EC3 0EAE ; [.1C0E.0020.0002.0EAE][.1C20.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
-0EC4 0EAE ; [.1C0E.0020.0002.0EAE][.1C21.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
-0EAF ; [.1C0F.0020.0002.0EAF] # LAO ELLIPSIS
-0EB0 ; [.1C10.0020.0002.0EB0] # LAO VOWEL SIGN A
-0EB1 ; [.1C11.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
-0EB2 ; [.1C12.0020.0002.0EB2] # LAO VOWEL SIGN AA
-0EB3 ; [.1C13.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0ECD 0EB2 ; [.1C13.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0EB4 ; [.1C14.0020.0002.0EB4] # LAO VOWEL SIGN I
-0EB5 ; [.1C15.0020.0002.0EB5] # LAO VOWEL SIGN II
-0EB6 ; [.1C16.0020.0002.0EB6] # LAO VOWEL SIGN Y
-0EB7 ; [.1C17.0020.0002.0EB7] # LAO VOWEL SIGN YY
-0EB8 ; [.1C18.0020.0002.0EB8] # LAO VOWEL SIGN U
-0EB9 ; [.1C19.0020.0002.0EB9] # LAO VOWEL SIGN UU
-0EBB ; [.1C1A.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
-0EBC ; [.1C1B.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
-0EBD ; [.1C1C.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
-0EC0 ; [.1C1D.0020.0002.0EC0] # LAO VOWEL SIGN E
-0EC1 ; [.1C1E.0020.0002.0EC1] # LAO VOWEL SIGN EI
-0EC2 ; [.1C1F.0020.0002.0EC2] # LAO VOWEL SIGN O
-0EC3 ; [.1C20.0020.0002.0EC3] # LAO VOWEL SIGN AY
-0EC4 ; [.1C21.0020.0002.0EC4] # LAO VOWEL SIGN AI
-0F40 ; [.1C22.0020.0002.0F40] # TIBETAN LETTER KA
-0F69 ; [.1C22.0020.0002.0F40][.1C61.0020.0002.0FB5] # TIBETAN LETTER KSSA; QQCN
-0F90 ; [.1C23.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
-0FB9 ; [.1C23.0020.0002.0F90][.1C61.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA; QQCN
-0F41 ; [.1C24.0020.0002.0F41] # TIBETAN LETTER KHA
-0F91 ; [.1C25.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
-0F42 ; [.1C26.0020.0002.0F42] # TIBETAN LETTER GA
-0F43 ; [.1C26.0020.0002.0F42][.1C65.0020.0002.0FB7] # TIBETAN LETTER GHA; QQCN
-0F92 ; [.1C27.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
-0F93 ; [.1C27.0020.0002.0F92][.1C65.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA; QQCN
-0F44 ; [.1C28.0020.0002.0F44] # TIBETAN LETTER NGA
-0F94 ; [.1C29.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
-0F45 ; [.1C2A.0020.0002.0F45] # TIBETAN LETTER CA
-0F95 ; [.1C2B.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
-0F46 ; [.1C2C.0020.0002.0F46] # TIBETAN LETTER CHA
-0F96 ; [.1C2D.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
-0F47 ; [.1C2E.0020.0002.0F47] # TIBETAN LETTER JA
-0F97 ; [.1C2F.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
-0F49 ; [.1C30.0020.0002.0F49] # TIBETAN LETTER NYA
-0F99 ; [.1C31.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
-0F4A ; [.1C32.0020.0002.0F4A] # TIBETAN LETTER TTA
-0F9A ; [.1C33.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
-0F4B ; [.1C34.0020.0002.0F4B] # TIBETAN LETTER TTHA
-0F9B ; [.1C35.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
-0F4C ; [.1C36.0020.0002.0F4C] # TIBETAN LETTER DDA
-0F4D ; [.1C36.0020.0002.0F4C][.1C65.0020.0002.0FB7] # TIBETAN LETTER DDHA; QQCN
-0F9C ; [.1C37.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
-0F9D ; [.1C37.0020.0002.0F9C][.1C65.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA; QQCN
-0F4E ; [.1C38.0020.0002.0F4E] # TIBETAN LETTER NNA
-0F9E ; [.1C39.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
-0F4F ; [.1C3A.0020.0002.0F4F] # TIBETAN LETTER TA
-0F9F ; [.1C3B.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
-0F50 ; [.1C3C.0020.0002.0F50] # TIBETAN LETTER THA
-0FA0 ; [.1C3D.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
-0F51 ; [.1C3E.0020.0002.0F51] # TIBETAN LETTER DA
-0F52 ; [.1C3E.0020.0002.0F51][.1C65.0020.0002.0FB7] # TIBETAN LETTER DHA; QQCN
-0FA1 ; [.1C3F.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
-0FA2 ; [.1C3F.0020.0002.0FA1][.1C65.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA; QQCN
-0F53 ; [.1C40.0020.0002.0F53] # TIBETAN LETTER NA
-0FA3 ; [.1C41.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
-0F54 ; [.1C42.0020.0002.0F54] # TIBETAN LETTER PA
-0FA4 ; [.1C43.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
-0F55 ; [.1C44.0020.0002.0F55] # TIBETAN LETTER PHA
-0FA5 ; [.1C45.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
-0F56 ; [.1C46.0020.0002.0F56] # TIBETAN LETTER BA
-0F57 ; [.1C46.0020.0002.0F56][.1C65.0020.0002.0FB7] # TIBETAN LETTER BHA; QQCN
-0FA6 ; [.1C47.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
-0FA7 ; [.1C47.0020.0002.0FA6][.1C65.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA; QQCN
-0F58 ; [.1C48.0020.0002.0F58] # TIBETAN LETTER MA
-0FA8 ; [.1C49.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
-0F59 ; [.1C4A.0020.0002.0F59] # TIBETAN LETTER TSA
-0FA9 ; [.1C4B.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
-0F5A ; [.1C4C.0020.0002.0F5A] # TIBETAN LETTER TSHA
-0FAA ; [.1C4D.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
-0F5B ; [.1C4E.0020.0002.0F5B] # TIBETAN LETTER DZA
-0F5C ; [.1C4E.0020.0002.0F5B][.1C65.0020.0002.0FB7] # TIBETAN LETTER DZHA; QQCN
-0FAB ; [.1C4F.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
-0FAC ; [.1C4F.0020.0002.0FAB][.1C65.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA; QQCN
-0F5D ; [.1C50.0020.0002.0F5D] # TIBETAN LETTER WA
-0FAD ; [.1C51.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
-0FBA ; [.1C51.0020.0004.0FBA][.0000.019A.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA; QQKN
-0F5E ; [.1C52.0020.0002.0F5E] # TIBETAN LETTER ZHA
-0FAE ; [.1C53.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
-0F5F ; [.1C54.0020.0002.0F5F] # TIBETAN LETTER ZA
-0FAF ; [.1C55.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
-0F60 ; [.1C56.0020.0002.0F60] # TIBETAN LETTER -A
-0FB0 ; [.1C57.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
-0F61 ; [.1C58.0020.0002.0F61] # TIBETAN LETTER YA
-0FB1 ; [.1C59.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
-0FBB ; [.1C59.0020.0004.0FBB][.0000.019A.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA; QQKN
-0F62 ; [.1C5A.0020.0002.0F62] # TIBETAN LETTER RA
-0F6A ; [.1C5A.0020.0004.0F6A][.0000.019A.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA; QQKN
-0FB2 ; [.1C5B.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
-0FBC ; [.1C5B.0020.0004.0FBC][.0000.019A.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA; QQKN
-0F63 ; [.1C5C.0020.0002.0F63] # TIBETAN LETTER LA
-0FB3 ; [.1C5D.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
-0F64 ; [.1C5E.0020.0002.0F64] # TIBETAN LETTER SHA
-0FB4 ; [.1C5F.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
-0F65 ; [.1C60.0020.0002.0F65] # TIBETAN LETTER SSA
-0FB5 ; [.1C61.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
-0F66 ; [.1C62.0020.0002.0F66] # TIBETAN LETTER SA
-0FB6 ; [.1C63.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
-0F67 ; [.1C64.0020.0002.0F67] # TIBETAN LETTER HA
-0FB7 ; [.1C65.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
-0F68 ; [.1C66.0020.0002.0F68] # TIBETAN LETTER A
-0F00 ; [.1C66.0020.0004.0F00][.1C79.0020.0004.0F00][.0000.015A.001F.0F00] # TIBETAN SYLLABLE OM; QQKN
-0FB8 ; [.1C67.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
-0F88 ; [.1C68.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
-0F89 ; [.1C69.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
-0F8A ; [.1C6A.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
-0F8B ; [.1C6B.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
-0F71 ; [.1C6C.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
-0F72 ; [.1C6D.0020.0002.0F72] # TIBETAN VOWEL SIGN I
-0F73 ; [.1C6E.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F71 0F72 ; [.1C6E.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F80 ; [.1C6F.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
-0F81 ; [.1C70.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F71 0F80 ; [.1C70.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F74 ; [.1C71.0020.0002.0F74] # TIBETAN VOWEL SIGN U
-0F75 ; [.1C72.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F71 0F74 ; [.1C72.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F76 ; [.1C73.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0FB2 0F80 ; [.1C73.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0F77 ; [.1C74.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F71 0F80 ; [.1C74.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F81 ; [.1C74.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0F78 ; [.1C75.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0FB3 0F80 ; [.1C75.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0F79 ; [.1C76.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F71 0F80 ; [.1C76.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F81 ; [.1C76.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A ; [.1C77.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
-0F7B ; [.1C78.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
-0F7C ; [.1C79.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
-0F7D ; [.1C7A.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
-0F84 ; [.1C7B.0020.0002.0F84] # TIBETAN MARK HALANTA
-A840 ; [.1C7C.0020.0002.A840] # PHAGS-PA LETTER KA
-A841 ; [.1C7D.0020.0002.A841] # PHAGS-PA LETTER KHA
-A842 ; [.1C7E.0020.0002.A842] # PHAGS-PA LETTER GA
-A843 ; [.1C7F.0020.0002.A843] # PHAGS-PA LETTER NGA
-A844 ; [.1C80.0020.0002.A844] # PHAGS-PA LETTER CA
-A845 ; [.1C81.0020.0002.A845] # PHAGS-PA LETTER CHA
-A846 ; [.1C82.0020.0002.A846] # PHAGS-PA LETTER JA
-A847 ; [.1C83.0020.0002.A847] # PHAGS-PA LETTER NYA
-A869 ; [.1C84.0020.0002.A869] # PHAGS-PA LETTER TTA
-A86A ; [.1C85.0020.0002.A86A] # PHAGS-PA LETTER TTHA
-A86B ; [.1C86.0020.0002.A86B] # PHAGS-PA LETTER DDA
-A86C ; [.1C87.0020.0002.A86C] # PHAGS-PA LETTER NNA
-A848 ; [.1C88.0020.0002.A848] # PHAGS-PA LETTER TA
-A849 ; [.1C89.0020.0002.A849] # PHAGS-PA LETTER THA
-A84A ; [.1C8A.0020.0002.A84A] # PHAGS-PA LETTER DA
-A84B ; [.1C8B.0020.0002.A84B] # PHAGS-PA LETTER NA
-A84C ; [.1C8C.0020.0002.A84C] # PHAGS-PA LETTER PA
-A84D ; [.1C8D.0020.0002.A84D] # PHAGS-PA LETTER PHA
-A84E ; [.1C8E.0020.0002.A84E] # PHAGS-PA LETTER BA
-A84F ; [.1C8F.0020.0002.A84F] # PHAGS-PA LETTER MA
-A850 ; [.1C90.0020.0002.A850] # PHAGS-PA LETTER TSA
-A851 ; [.1C91.0020.0002.A851] # PHAGS-PA LETTER TSHA
-A852 ; [.1C92.0020.0002.A852] # PHAGS-PA LETTER DZA
-A853 ; [.1C93.0020.0002.A853] # PHAGS-PA LETTER WA
-A867 ; [.1C94.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
-A854 ; [.1C95.0020.0002.A854] # PHAGS-PA LETTER ZHA
-A855 ; [.1C96.0020.0002.A855] # PHAGS-PA LETTER ZA
-A856 ; [.1C97.0020.0002.A856] # PHAGS-PA LETTER SMALL A
-A857 ; [.1C98.0020.0002.A857] # PHAGS-PA LETTER YA
-A868 ; [.1C99.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
-A86D ; [.1C9A.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
-A858 ; [.1C9B.0020.0002.A858] # PHAGS-PA LETTER RA
-A871 ; [.1C9C.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
-A872 ; [.1C9D.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
-A859 ; [.1C9E.0020.0002.A859] # PHAGS-PA LETTER LA
-A85A ; [.1C9F.0020.0002.A85A] # PHAGS-PA LETTER SHA
-A86E ; [.1CA0.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
-A85B ; [.1CA1.0020.0002.A85B] # PHAGS-PA LETTER SA
-A85C ; [.1CA2.0020.0002.A85C] # PHAGS-PA LETTER HA
-A86F ; [.1CA3.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
-A870 ; [.1CA4.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
-A85D ; [.1CA5.0020.0002.A85D] # PHAGS-PA LETTER A
-A862 ; [.1CA6.0020.0002.A862] # PHAGS-PA LETTER QA
-A863 ; [.1CA7.0020.0002.A863] # PHAGS-PA LETTER XA
-A864 ; [.1CA8.0020.0002.A864] # PHAGS-PA LETTER FA
-A865 ; [.1CA9.0020.0002.A865] # PHAGS-PA LETTER GGA
-A85E ; [.1CAA.0020.0002.A85E] # PHAGS-PA LETTER I
-A85F ; [.1CAB.0020.0002.A85F] # PHAGS-PA LETTER U
-A860 ; [.1CAC.0020.0002.A860] # PHAGS-PA LETTER E
-A861 ; [.1CAD.0020.0002.A861] # PHAGS-PA LETTER O
-A866 ; [.1CAE.0020.0002.A866] # PHAGS-PA LETTER EE
-A873 ; [.1CAF.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
-1900 ; [.1CB0.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
-1901 ; [.1CB1.0020.0002.1901] # LIMBU LETTER KA
-1902 ; [.1CB2.0020.0002.1902] # LIMBU LETTER KHA
-1903 ; [.1CB3.0020.0002.1903] # LIMBU LETTER GA
-1904 ; [.1CB4.0020.0002.1904] # LIMBU LETTER GHA
-1905 ; [.1CB5.0020.0002.1905] # LIMBU LETTER NGA
-1906 ; [.1CB6.0020.0002.1906] # LIMBU LETTER CA
-1907 ; [.1CB7.0020.0002.1907] # LIMBU LETTER CHA
-1908 ; [.1CB8.0020.0002.1908] # LIMBU LETTER JA
-1909 ; [.1CB9.0020.0002.1909] # LIMBU LETTER JHA
-190A ; [.1CBA.0020.0002.190A] # LIMBU LETTER YAN
-190B ; [.1CBB.0020.0002.190B] # LIMBU LETTER TA
-190C ; [.1CBC.0020.0002.190C] # LIMBU LETTER THA
-190D ; [.1CBD.0020.0002.190D] # LIMBU LETTER DA
-190E ; [.1CBE.0020.0002.190E] # LIMBU LETTER DHA
-190F ; [.1CBF.0020.0002.190F] # LIMBU LETTER NA
-1910 ; [.1CC0.0020.0002.1910] # LIMBU LETTER PA
-1911 ; [.1CC1.0020.0002.1911] # LIMBU LETTER PHA
-1912 ; [.1CC2.0020.0002.1912] # LIMBU LETTER BA
-1913 ; [.1CC3.0020.0002.1913] # LIMBU LETTER BHA
-1914 ; [.1CC4.0020.0002.1914] # LIMBU LETTER MA
-1915 ; [.1CC5.0020.0002.1915] # LIMBU LETTER YA
-1916 ; [.1CC6.0020.0002.1916] # LIMBU LETTER RA
-1917 ; [.1CC7.0020.0002.1917] # LIMBU LETTER LA
-1918 ; [.1CC8.0020.0002.1918] # LIMBU LETTER WA
-1919 ; [.1CC9.0020.0002.1919] # LIMBU LETTER SHA
-191A ; [.1CCA.0020.0002.191A] # LIMBU LETTER SSA
-191B ; [.1CCB.0020.0002.191B] # LIMBU LETTER SA
-191C ; [.1CCC.0020.0002.191C] # LIMBU LETTER HA
-1920 ; [.1CCD.0020.0002.1920] # LIMBU VOWEL SIGN A
-1921 ; [.1CCE.0020.0002.1921] # LIMBU VOWEL SIGN I
-1922 ; [.1CCF.0020.0002.1922] # LIMBU VOWEL SIGN U
-1923 ; [.1CD0.0020.0002.1923] # LIMBU VOWEL SIGN EE
-1924 ; [.1CD1.0020.0002.1924] # LIMBU VOWEL SIGN AI
-1925 ; [.1CD2.0020.0002.1925] # LIMBU VOWEL SIGN OO
-1926 ; [.1CD3.0020.0002.1926] # LIMBU VOWEL SIGN AU
-1927 ; [.1CD4.0020.0002.1927] # LIMBU VOWEL SIGN E
-1928 ; [.1CD5.0020.0002.1928] # LIMBU VOWEL SIGN O
-1929 ; [.1CD6.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
-192A ; [.1CD7.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
-192B ; [.1CD8.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
-1930 ; [.1CD9.0020.0002.1930] # LIMBU SMALL LETTER KA
-1931 ; [.1CDA.0020.0002.1931] # LIMBU SMALL LETTER NGA
-1932 ; [.1CDB.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
-1933 ; [.1CDC.0020.0002.1933] # LIMBU SMALL LETTER TA
-1934 ; [.1CDD.0020.0002.1934] # LIMBU SMALL LETTER NA
-1935 ; [.1CDE.0020.0002.1935] # LIMBU SMALL LETTER PA
-1936 ; [.1CDF.0020.0002.1936] # LIMBU SMALL LETTER MA
-1937 ; [.1CE0.0020.0002.1937] # LIMBU SMALL LETTER RA
-1938 ; [.1CE1.0020.0002.1938] # LIMBU SMALL LETTER LA
-1700 ; [.1CE2.0020.0002.1700] # TAGALOG LETTER A
-1701 ; [.1CE3.0020.0002.1701] # TAGALOG LETTER I
-1702 ; [.1CE4.0020.0002.1702] # TAGALOG LETTER U
-1703 ; [.1CE5.0020.0002.1703] # TAGALOG LETTER KA
-1704 ; [.1CE6.0020.0002.1704] # TAGALOG LETTER GA
-1705 ; [.1CE7.0020.0002.1705] # TAGALOG LETTER NGA
-1706 ; [.1CE8.0020.0002.1706] # TAGALOG LETTER TA
-1707 ; [.1CE9.0020.0002.1707] # TAGALOG LETTER DA
-1708 ; [.1CEA.0020.0002.1708] # TAGALOG LETTER NA
-1709 ; [.1CEB.0020.0002.1709] # TAGALOG LETTER PA
-170A ; [.1CEC.0020.0002.170A] # TAGALOG LETTER BA
-170B ; [.1CED.0020.0002.170B] # TAGALOG LETTER MA
-170C ; [.1CEE.0020.0002.170C] # TAGALOG LETTER YA
-170E ; [.1CEF.0020.0002.170E] # TAGALOG LETTER LA
-170F ; [.1CF0.0020.0002.170F] # TAGALOG LETTER WA
-1710 ; [.1CF1.0020.0002.1710] # TAGALOG LETTER SA
-1711 ; [.1CF2.0020.0002.1711] # TAGALOG LETTER HA
-1712 ; [.1CF3.0020.0002.1712] # TAGALOG VOWEL SIGN I
-1713 ; [.1CF4.0020.0002.1713] # TAGALOG VOWEL SIGN U
-1714 ; [.1CF5.0020.0002.1714] # TAGALOG SIGN VIRAMA
-1720 ; [.1CF6.0020.0002.1720] # HANUNOO LETTER A
-1721 ; [.1CF7.0020.0002.1721] # HANUNOO LETTER I
-1722 ; [.1CF8.0020.0002.1722] # HANUNOO LETTER U
-1723 ; [.1CF9.0020.0002.1723] # HANUNOO LETTER KA
-1724 ; [.1CFA.0020.0002.1724] # HANUNOO LETTER GA
-1725 ; [.1CFB.0020.0002.1725] # HANUNOO LETTER NGA
-1726 ; [.1CFC.0020.0002.1726] # HANUNOO LETTER TA
-1727 ; [.1CFD.0020.0002.1727] # HANUNOO LETTER DA
-1728 ; [.1CFE.0020.0002.1728] # HANUNOO LETTER NA
-1729 ; [.1CFF.0020.0002.1729] # HANUNOO LETTER PA
-172A ; [.1D00.0020.0002.172A] # HANUNOO LETTER BA
-172B ; [.1D01.0020.0002.172B] # HANUNOO LETTER MA
-172C ; [.1D02.0020.0002.172C] # HANUNOO LETTER YA
-172D ; [.1D03.0020.0002.172D] # HANUNOO LETTER RA
-172E ; [.1D04.0020.0002.172E] # HANUNOO LETTER LA
-172F ; [.1D05.0020.0002.172F] # HANUNOO LETTER WA
-1730 ; [.1D06.0020.0002.1730] # HANUNOO LETTER SA
-1731 ; [.1D07.0020.0002.1731] # HANUNOO LETTER HA
-1732 ; [.1D08.0020.0002.1732] # HANUNOO VOWEL SIGN I
-1733 ; [.1D09.0020.0002.1733] # HANUNOO VOWEL SIGN U
-1734 ; [.1D0A.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
-1740 ; [.1D0B.0020.0002.1740] # BUHID LETTER A
-1741 ; [.1D0C.0020.0002.1741] # BUHID LETTER I
-1742 ; [.1D0D.0020.0002.1742] # BUHID LETTER U
-1743 ; [.1D0E.0020.0002.1743] # BUHID LETTER KA
-1744 ; [.1D0F.0020.0002.1744] # BUHID LETTER GA
-1745 ; [.1D10.0020.0002.1745] # BUHID LETTER NGA
-1746 ; [.1D11.0020.0002.1746] # BUHID LETTER TA
-1747 ; [.1D12.0020.0002.1747] # BUHID LETTER DA
-1748 ; [.1D13.0020.0002.1748] # BUHID LETTER NA
-1749 ; [.1D14.0020.0002.1749] # BUHID LETTER PA
-174A ; [.1D15.0020.0002.174A] # BUHID LETTER BA
-174B ; [.1D16.0020.0002.174B] # BUHID LETTER MA
-174C ; [.1D17.0020.0002.174C] # BUHID LETTER YA
-174D ; [.1D18.0020.0002.174D] # BUHID LETTER RA
-174E ; [.1D19.0020.0002.174E] # BUHID LETTER LA
-174F ; [.1D1A.0020.0002.174F] # BUHID LETTER WA
-1750 ; [.1D1B.0020.0002.1750] # BUHID LETTER SA
-1751 ; [.1D1C.0020.0002.1751] # BUHID LETTER HA
-1752 ; [.1D1D.0020.0002.1752] # BUHID VOWEL SIGN I
-1753 ; [.1D1E.0020.0002.1753] # BUHID VOWEL SIGN U
-1760 ; [.1D1F.0020.0002.1760] # TAGBANWA LETTER A
-1761 ; [.1D20.0020.0002.1761] # TAGBANWA LETTER I
-1762 ; [.1D21.0020.0002.1762] # TAGBANWA LETTER U
-1763 ; [.1D22.0020.0002.1763] # TAGBANWA LETTER KA
-1764 ; [.1D23.0020.0002.1764] # TAGBANWA LETTER GA
-1765 ; [.1D24.0020.0002.1765] # TAGBANWA LETTER NGA
-1766 ; [.1D25.0020.0002.1766] # TAGBANWA LETTER TA
-1767 ; [.1D26.0020.0002.1767] # TAGBANWA LETTER DA
-1768 ; [.1D27.0020.0002.1768] # TAGBANWA LETTER NA
-1769 ; [.1D28.0020.0002.1769] # TAGBANWA LETTER PA
-176A ; [.1D29.0020.0002.176A] # TAGBANWA LETTER BA
-176B ; [.1D2A.0020.0002.176B] # TAGBANWA LETTER MA
-176C ; [.1D2B.0020.0002.176C] # TAGBANWA LETTER YA
-176E ; [.1D2C.0020.0002.176E] # TAGBANWA LETTER LA
-176F ; [.1D2D.0020.0002.176F] # TAGBANWA LETTER WA
-1770 ; [.1D2E.0020.0002.1770] # TAGBANWA LETTER SA
-1772 ; [.1D2F.0020.0002.1772] # TAGBANWA VOWEL SIGN I
-1773 ; [.1D30.0020.0002.1773] # TAGBANWA VOWEL SIGN U
-1A00 ; [.1D31.0020.0002.1A00] # BUGINESE LETTER KA
-1A01 ; [.1D32.0020.0002.1A01] # BUGINESE LETTER GA
-1A02 ; [.1D33.0020.0002.1A02] # BUGINESE LETTER NGA
-1A03 ; [.1D34.0020.0002.1A03] # BUGINESE LETTER NGKA
-1A04 ; [.1D35.0020.0002.1A04] # BUGINESE LETTER PA
-1A05 ; [.1D36.0020.0002.1A05] # BUGINESE LETTER BA
-1A06 ; [.1D37.0020.0002.1A06] # BUGINESE LETTER MA
-1A07 ; [.1D38.0020.0002.1A07] # BUGINESE LETTER MPA
-1A08 ; [.1D39.0020.0002.1A08] # BUGINESE LETTER TA
-1A09 ; [.1D3A.0020.0002.1A09] # BUGINESE LETTER DA
-1A0A ; [.1D3B.0020.0002.1A0A] # BUGINESE LETTER NA
-1A0B ; [.1D3C.0020.0002.1A0B] # BUGINESE LETTER NRA
-1A0C ; [.1D3D.0020.0002.1A0C] # BUGINESE LETTER CA
-1A0D ; [.1D3E.0020.0002.1A0D] # BUGINESE LETTER JA
-1A0E ; [.1D3F.0020.0002.1A0E] # BUGINESE LETTER NYA
-1A0F ; [.1D40.0020.0002.1A0F] # BUGINESE LETTER NYCA
-1A10 ; [.1D41.0020.0002.1A10] # BUGINESE LETTER YA
-1A11 ; [.1D42.0020.0002.1A11] # BUGINESE LETTER RA
-1A12 ; [.1D43.0020.0002.1A12] # BUGINESE LETTER LA
-1A13 ; [.1D44.0020.0002.1A13] # BUGINESE LETTER VA
-1A14 ; [.1D45.0020.0002.1A14] # BUGINESE LETTER SA
-1A15 ; [.1D46.0020.0002.1A15] # BUGINESE LETTER A
-1A16 ; [.1D47.0020.0002.1A16] # BUGINESE LETTER HA
-1A17 ; [.1D48.0020.0002.1A17] # BUGINESE VOWEL SIGN I
-1A18 ; [.1D49.0020.0002.1A18] # BUGINESE VOWEL SIGN U
-1A19 ; [.1D4A.0020.0002.1A19] # BUGINESE VOWEL SIGN E
-1A1A ; [.1D4B.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
-1A1B ; [.1D4C.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
-1000 ; [.1D4D.0020.0002.1000] # MYANMAR LETTER KA
-1001 ; [.1D4E.0020.0002.1001] # MYANMAR LETTER KHA
-1002 ; [.1D4F.0020.0002.1002] # MYANMAR LETTER GA
-1003 ; [.1D50.0020.0002.1003] # MYANMAR LETTER GHA
-1004 ; [.1D51.0020.0002.1004] # MYANMAR LETTER NGA
-1005 ; [.1D52.0020.0002.1005] # MYANMAR LETTER CA
-1006 ; [.1D53.0020.0002.1006] # MYANMAR LETTER CHA
-1007 ; [.1D54.0020.0002.1007] # MYANMAR LETTER JA
-1008 ; [.1D55.0020.0002.1008] # MYANMAR LETTER JHA
-1009 ; [.1D56.0020.0002.1009] # MYANMAR LETTER NYA
-100A ; [.1D57.0020.0002.100A] # MYANMAR LETTER NNYA
-100B ; [.1D58.0020.0002.100B] # MYANMAR LETTER TTA
-100C ; [.1D59.0020.0002.100C] # MYANMAR LETTER TTHA
-100D ; [.1D5A.0020.0002.100D] # MYANMAR LETTER DDA
-100E ; [.1D5B.0020.0002.100E] # MYANMAR LETTER DDHA
-100F ; [.1D5C.0020.0002.100F] # MYANMAR LETTER NNA
-1010 ; [.1D5D.0020.0002.1010] # MYANMAR LETTER TA
-1011 ; [.1D5E.0020.0002.1011] # MYANMAR LETTER THA
-1012 ; [.1D5F.0020.0002.1012] # MYANMAR LETTER DA
-1013 ; [.1D60.0020.0002.1013] # MYANMAR LETTER DHA
-1014 ; [.1D61.0020.0002.1014] # MYANMAR LETTER NA
-1015 ; [.1D62.0020.0002.1015] # MYANMAR LETTER PA
-1016 ; [.1D63.0020.0002.1016] # MYANMAR LETTER PHA
-1017 ; [.1D64.0020.0002.1017] # MYANMAR LETTER BA
-1018 ; [.1D65.0020.0002.1018] # MYANMAR LETTER BHA
-1019 ; [.1D66.0020.0002.1019] # MYANMAR LETTER MA
-101A ; [.1D67.0020.0002.101A] # MYANMAR LETTER YA
-101B ; [.1D68.0020.0002.101B] # MYANMAR LETTER RA
-101C ; [.1D69.0020.0002.101C] # MYANMAR LETTER LA
-101D ; [.1D6A.0020.0002.101D] # MYANMAR LETTER WA
-1050 ; [.1D6B.0020.0002.1050] # MYANMAR LETTER SHA
-1051 ; [.1D6C.0020.0002.1051] # MYANMAR LETTER SSA
-101E ; [.1D6D.0020.0002.101E] # MYANMAR LETTER SA
-101F ; [.1D6E.0020.0002.101F] # MYANMAR LETTER HA
-1020 ; [.1D6F.0020.0002.1020] # MYANMAR LETTER LLA
-1021 ; [.1D70.0020.0002.1021] # MYANMAR LETTER A
-1023 ; [.1D71.0020.0002.1023] # MYANMAR LETTER I
-1024 ; [.1D72.0020.0002.1024] # MYANMAR LETTER II
-1025 ; [.1D73.0020.0002.1025] # MYANMAR LETTER U
-1026 ; [.1D74.0020.0002.1026] # MYANMAR LETTER UU
-1025 102E ; [.1D74.0020.0002.1026] # MYANMAR LETTER UU
-1027 ; [.1D75.0020.0002.1027] # MYANMAR LETTER E
-1029 ; [.1D76.0020.0002.1029] # MYANMAR LETTER O
-102A ; [.1D77.0020.0002.102A] # MYANMAR LETTER AU
-1052 ; [.1D78.0020.0002.1052] # MYANMAR LETTER VOCALIC R
-1053 ; [.1D79.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
-1054 ; [.1D7A.0020.0002.1054] # MYANMAR LETTER VOCALIC L
-1055 ; [.1D7B.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
-102C ; [.1D7C.0020.0002.102C] # MYANMAR VOWEL SIGN AA
-102D ; [.1D7D.0020.0002.102D] # MYANMAR VOWEL SIGN I
-102E ; [.1D7E.0020.0002.102E] # MYANMAR VOWEL SIGN II
-102F ; [.1D7F.0020.0002.102F] # MYANMAR VOWEL SIGN U
-1030 ; [.1D80.0020.0002.1030] # MYANMAR VOWEL SIGN UU
-1031 ; [.1D81.0020.0002.1031] # MYANMAR VOWEL SIGN E
-1032 ; [.1D82.0020.0002.1032] # MYANMAR VOWEL SIGN AI
-1056 ; [.1D83.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
-1057 ; [.1D84.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
-1058 ; [.1D85.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
-1059 ; [.1D86.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
-1039 ; [.1D87.0020.0002.1039] # MYANMAR SIGN VIRAMA
-1780 ; [.1D88.0020.0002.1780] # KHMER LETTER KA
-1781 ; [.1D89.0020.0002.1781] # KHMER LETTER KHA
-1782 ; [.1D8A.0020.0002.1782] # KHMER LETTER KO
-1783 ; [.1D8B.0020.0002.1783] # KHMER LETTER KHO
-1784 ; [.1D8C.0020.0002.1784] # KHMER LETTER NGO
-1785 ; [.1D8D.0020.0002.1785] # KHMER LETTER CA
-1786 ; [.1D8E.0020.0002.1786] # KHMER LETTER CHA
-1787 ; [.1D8F.0020.0002.1787] # KHMER LETTER CO
-1788 ; [.1D90.0020.0002.1788] # KHMER LETTER CHO
-1789 ; [.1D91.0020.0002.1789] # KHMER LETTER NYO
-178A ; [.1D92.0020.0002.178A] # KHMER LETTER DA
-178B ; [.1D93.0020.0002.178B] # KHMER LETTER TTHA
-178C ; [.1D94.0020.0002.178C] # KHMER LETTER DO
-178D ; [.1D95.0020.0002.178D] # KHMER LETTER TTHO
-178E ; [.1D96.0020.0002.178E] # KHMER LETTER NNO
-178F ; [.1D97.0020.0002.178F] # KHMER LETTER TA
-1790 ; [.1D98.0020.0002.1790] # KHMER LETTER THA
-1791 ; [.1D99.0020.0002.1791] # KHMER LETTER TO
-1792 ; [.1D9A.0020.0002.1792] # KHMER LETTER THO
-1793 ; [.1D9B.0020.0002.1793] # KHMER LETTER NO
-1794 ; [.1D9C.0020.0002.1794] # KHMER LETTER BA
-1795 ; [.1D9D.0020.0002.1795] # KHMER LETTER PHA
-1796 ; [.1D9E.0020.0002.1796] # KHMER LETTER PO
-1797 ; [.1D9F.0020.0002.1797] # KHMER LETTER PHO
-1798 ; [.1DA0.0020.0002.1798] # KHMER LETTER MO
-1799 ; [.1DA1.0020.0002.1799] # KHMER LETTER YO
-179A ; [.1DA2.0020.0002.179A] # KHMER LETTER RO
-179B ; [.1DA3.0020.0002.179B] # KHMER LETTER LO
-179C ; [.1DA4.0020.0002.179C] # KHMER LETTER VO
-179D ; [.1DA5.0020.0002.179D] # KHMER LETTER SHA
-179E ; [.1DA6.0020.0002.179E] # KHMER LETTER SSO
-179F ; [.1DA7.0020.0002.179F] # KHMER LETTER SA
-17A0 ; [.1DA8.0020.0002.17A0] # KHMER LETTER HA
-17A1 ; [.1DA9.0020.0002.17A1] # KHMER LETTER LA
-17A2 ; [.1DAA.0020.0002.17A2] # KHMER LETTER QA
-17DC ; [.1DAB.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
-17A3 ; [.1DAC.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
-17A4 ; [.1DAD.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
-17A5 ; [.1DAE.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
-17A6 ; [.1DAF.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
-17A7 ; [.1DB0.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
-17A8 ; [.1DB1.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
-17A9 ; [.1DB2.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
-17AA ; [.1DB3.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
-17AB ; [.1DB4.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
-17AC ; [.1DB5.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
-17AD ; [.1DB6.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
-17AE ; [.1DB7.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
-17AF ; [.1DB8.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
-17B0 ; [.1DB9.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
-17B1 ; [.1DBA.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2 ; [.1DBB.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3 ; [.1DBC.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
-17B4 ; [.1DBD.0020.0002.17B4] # KHMER VOWEL INHERENT AQ
-17B5 ; [.1DBE.0020.0002.17B5] # KHMER VOWEL INHERENT AA
-17B6 ; [.1DBF.0020.0002.17B6] # KHMER VOWEL SIGN AA
-17B7 ; [.1DC0.0020.0002.17B7] # KHMER VOWEL SIGN I
-17B8 ; [.1DC1.0020.0002.17B8] # KHMER VOWEL SIGN II
-17B9 ; [.1DC2.0020.0002.17B9] # KHMER VOWEL SIGN Y
-17BA ; [.1DC3.0020.0002.17BA] # KHMER VOWEL SIGN YY
-17BB ; [.1DC4.0020.0002.17BB] # KHMER VOWEL SIGN U
-17BC ; [.1DC5.0020.0002.17BC] # KHMER VOWEL SIGN UU
-17BD ; [.1DC6.0020.0002.17BD] # KHMER VOWEL SIGN UA
-17BE ; [.1DC7.0020.0002.17BE] # KHMER VOWEL SIGN OE
-17BF ; [.1DC8.0020.0002.17BF] # KHMER VOWEL SIGN YA
-17C0 ; [.1DC9.0020.0002.17C0] # KHMER VOWEL SIGN IE
-17C1 ; [.1DCA.0020.0002.17C1] # KHMER VOWEL SIGN E
-17C2 ; [.1DCB.0020.0002.17C2] # KHMER VOWEL SIGN AE
-17C3 ; [.1DCC.0020.0002.17C3] # KHMER VOWEL SIGN AI
-17C4 ; [.1DCD.0020.0002.17C4] # KHMER VOWEL SIGN OO
-17C5 ; [.1DCE.0020.0002.17C5] # KHMER VOWEL SIGN AU
-17D2 ; [.1DCF.0020.0002.17D2] # KHMER SIGN COENG
-1950 ; [.1DD0.0020.0002.1950] # TAI LE LETTER KA
-1951 ; [.1DD1.0020.0002.1951] # TAI LE LETTER XA
-1952 ; [.1DD2.0020.0002.1952] # TAI LE LETTER NGA
-1953 ; [.1DD3.0020.0002.1953] # TAI LE LETTER TSA
-1954 ; [.1DD4.0020.0002.1954] # TAI LE LETTER SA
-1955 ; [.1DD5.0020.0002.1955] # TAI LE LETTER YA
-1956 ; [.1DD6.0020.0002.1956] # TAI LE LETTER TA
-1957 ; [.1DD7.0020.0002.1957] # TAI LE LETTER THA
-1958 ; [.1DD8.0020.0002.1958] # TAI LE LETTER LA
-1959 ; [.1DD9.0020.0002.1959] # TAI LE LETTER PA
-195A ; [.1DDA.0020.0002.195A] # TAI LE LETTER PHA
-195B ; [.1DDB.0020.0002.195B] # TAI LE LETTER MA
-195C ; [.1DDC.0020.0002.195C] # TAI LE LETTER FA
-195D ; [.1DDD.0020.0002.195D] # TAI LE LETTER VA
-195E ; [.1DDE.0020.0002.195E] # TAI LE LETTER HA
-195F ; [.1DDF.0020.0002.195F] # TAI LE LETTER QA
-1960 ; [.1DE0.0020.0002.1960] # TAI LE LETTER KHA
-1961 ; [.1DE1.0020.0002.1961] # TAI LE LETTER TSHA
-1962 ; [.1DE2.0020.0002.1962] # TAI LE LETTER NA
-1963 ; [.1DE3.0020.0002.1963] # TAI LE LETTER A
-1964 ; [.1DE4.0020.0002.1964] # TAI LE LETTER I
-1965 ; [.1DE5.0020.0002.1965] # TAI LE LETTER EE
-1966 ; [.1DE6.0020.0002.1966] # TAI LE LETTER EH
-1967 ; [.1DE7.0020.0002.1967] # TAI LE LETTER U
-1968 ; [.1DE8.0020.0002.1968] # TAI LE LETTER OO
-1969 ; [.1DE9.0020.0002.1969] # TAI LE LETTER O
-196A ; [.1DEA.0020.0002.196A] # TAI LE LETTER UE
-196B ; [.1DEB.0020.0002.196B] # TAI LE LETTER E
-196C ; [.1DEC.0020.0002.196C] # TAI LE LETTER AUE
-196D ; [.1DED.0020.0002.196D] # TAI LE LETTER AI
-1970 ; [.1DEE.0020.0002.1970] # TAI LE LETTER TONE-2
-1971 ; [.1DEF.0020.0002.1971] # TAI LE LETTER TONE-3
-1972 ; [.1DF0.0020.0002.1972] # TAI LE LETTER TONE-4
-1973 ; [.1DF1.0020.0002.1973] # TAI LE LETTER TONE-5
-1974 ; [.1DF2.0020.0002.1974] # TAI LE LETTER TONE-6
-1980 ; [.1DF3.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
-1981 ; [.1DF4.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
-1982 ; [.1DF5.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
-1983 ; [.1DF6.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
-1984 ; [.1DF7.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
-1985 ; [.1DF8.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
-1986 ; [.1DF9.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
-1987 ; [.1DFA.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
-1988 ; [.1DFB.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
-1989 ; [.1DFC.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
-198A ; [.1DFD.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
-198B ; [.1DFE.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
-198C ; [.1DFF.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
-198D ; [.1E00.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
-198E ; [.1E01.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
-198F ; [.1E02.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
-1990 ; [.1E03.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
-1991 ; [.1E04.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
-1992 ; [.1E05.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
-1993 ; [.1E06.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
-1994 ; [.1E07.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
-1995 ; [.1E08.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
-1996 ; [.1E09.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
-1997 ; [.1E0A.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
-1998 ; [.1E0B.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
-1999 ; [.1E0C.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
-199A ; [.1E0D.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
-199B ; [.1E0E.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
-199C ; [.1E0F.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
-19DE ; [.1E0F.0020.0004.19DE][.1E23.0020.0004.19DE] # NEW TAI LUE SIGN LAE; QQKN
-19DF ; [.1E0F.0020.0004.19DF][.1E23.0020.0004.19DF][.1E2E.0020.001F.19DF] # NEW TAI LUE SIGN LAEV; QQKN
-199D ; [.1E10.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
-199E ; [.1E11.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
-199F ; [.1E12.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
-19A0 ; [.1E13.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
-19A1 ; [.1E14.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
-19A2 ; [.1E15.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
-19A3 ; [.1E16.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
-19A4 ; [.1E17.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
-19A5 ; [.1E18.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
-19A6 ; [.1E19.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
-19A7 ; [.1E1A.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
-19A8 ; [.1E1B.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
-19A9 ; [.1E1C.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
-19B0 ; [.1E1D.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1 ; [.1E1E.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
-19B2 ; [.1E1F.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
-19B3 ; [.1E20.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
-19B4 ; [.1E21.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
-19B5 ; [.1E22.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
-19B6 ; [.1E23.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
-19B7 ; [.1E24.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
-19B8 ; [.1E25.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
-19B9 ; [.1E26.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
-19BA ; [.1E27.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
-19BB ; [.1E28.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
-19BC ; [.1E29.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
-19BD ; [.1E2A.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
-19BE ; [.1E2B.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
-19BF ; [.1E2C.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
-19C0 ; [.1E2D.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
-19C1 ; [.1E2E.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
-19C2 ; [.1E2F.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
-19C3 ; [.1E30.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
-19C4 ; [.1E31.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
-19C5 ; [.1E32.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
-19C6 ; [.1E33.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
-19C7 ; [.1E34.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
-19C8 ; [.1E35.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
-19C9 ; [.1E36.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
-1B05 ; [.1E37.0020.0002.1B05] # BALINESE LETTER AKARA
-1B06 ; [.1E38.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B05 1B35 ; [.1E38.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B07 ; [.1E39.0020.0002.1B07] # BALINESE LETTER IKARA
-1B08 ; [.1E3A.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B07 1B35 ; [.1E3A.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B09 ; [.1E3B.0020.0002.1B09] # BALINESE LETTER UKARA
-1B0A ; [.1E3C.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B09 1B35 ; [.1E3C.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B0B ; [.1E3D.0020.0002.1B0B] # BALINESE LETTER RA REPA
-1B0C ; [.1E3E.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0B 1B35 ; [.1E3E.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0D ; [.1E3F.0020.0002.1B0D] # BALINESE LETTER LA LENGA
-1B0E ; [.1E40.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0D 1B35 ; [.1E40.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0F ; [.1E41.0020.0002.1B0F] # BALINESE LETTER EKARA
-1B10 ; [.1E42.0020.0002.1B10] # BALINESE LETTER AIKARA
-1B11 ; [.1E43.0020.0002.1B11] # BALINESE LETTER OKARA
-1B12 ; [.1E44.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B11 1B35 ; [.1E44.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B13 ; [.1E45.0020.0002.1B13] # BALINESE LETTER KA
-1B45 ; [.1E46.0020.0002.1B45] # BALINESE LETTER KAF SASAK
-1B46 ; [.1E47.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
-1B14 ; [.1E48.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
-1B15 ; [.1E49.0020.0002.1B15] # BALINESE LETTER GA
-1B16 ; [.1E4A.0020.0002.1B16] # BALINESE LETTER GA GORA
-1B17 ; [.1E4B.0020.0002.1B17] # BALINESE LETTER NGA
-1B18 ; [.1E4C.0020.0002.1B18] # BALINESE LETTER CA
-1B19 ; [.1E4D.0020.0002.1B19] # BALINESE LETTER CA LACA
-1B1A ; [.1E4E.0020.0002.1B1A] # BALINESE LETTER JA
-1B1B ; [.1E4F.0020.0002.1B1B] # BALINESE LETTER JA JERA
-1B1C ; [.1E50.0020.0002.1B1C] # BALINESE LETTER NYA
-1B1D ; [.1E51.0020.0002.1B1D] # BALINESE LETTER TA LATIK
-1B1E ; [.1E52.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F ; [.1E53.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
-1B20 ; [.1E54.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
-1B21 ; [.1E55.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
-1B22 ; [.1E56.0020.0002.1B22] # BALINESE LETTER TA
-1B47 ; [.1E57.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
-1B23 ; [.1E58.0020.0002.1B23] # BALINESE LETTER TA TAWA
-1B24 ; [.1E59.0020.0002.1B24] # BALINESE LETTER DA
-1B25 ; [.1E5A.0020.0002.1B25] # BALINESE LETTER DA MADU
-1B26 ; [.1E5B.0020.0002.1B26] # BALINESE LETTER NA
-1B27 ; [.1E5C.0020.0002.1B27] # BALINESE LETTER PA
-1B48 ; [.1E5D.0020.0002.1B48] # BALINESE LETTER EF SASAK
-1B28 ; [.1E5E.0020.0002.1B28] # BALINESE LETTER PA KAPAL
-1B29 ; [.1E5F.0020.0002.1B29] # BALINESE LETTER BA
-1B2A ; [.1E60.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
-1B2B ; [.1E61.0020.0002.1B2B] # BALINESE LETTER MA
-1B2C ; [.1E62.0020.0002.1B2C] # BALINESE LETTER YA
-1B2D ; [.1E63.0020.0002.1B2D] # BALINESE LETTER RA
-1B2E ; [.1E64.0020.0002.1B2E] # BALINESE LETTER LA
-1B2F ; [.1E65.0020.0002.1B2F] # BALINESE LETTER WA
-1B49 ; [.1E66.0020.0002.1B49] # BALINESE LETTER VE SASAK
-1B30 ; [.1E67.0020.0002.1B30] # BALINESE LETTER SA SAGA
-1B31 ; [.1E68.0020.0002.1B31] # BALINESE LETTER SA SAPA
-1B32 ; [.1E69.0020.0002.1B32] # BALINESE LETTER SA
-1B4A ; [.1E6A.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
-1B4B ; [.1E6B.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
-1B33 ; [.1E6C.0020.0002.1B33] # BALINESE LETTER HA
-1B35 ; [.1E6D.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
-1B36 ; [.1E6E.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
-1B37 ; [.1E6F.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
-1B38 ; [.1E70.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
-1B39 ; [.1E71.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
-1B3A ; [.1E72.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
-1B3B ; [.1E73.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3A 1B35 ; [.1E73.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; [.1E74.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
-1B3D ; [.1E75.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3C 1B35 ; [.1E75.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E ; [.1E76.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
-1B3F ; [.1E77.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
-1B40 ; [.1E78.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B3E 1B35 ; [.1E78.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B41 ; [.1E79.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B3F 1B35 ; [.1E79.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; [.1E7A.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
-1B43 ; [.1E7B.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B42 1B35 ; [.1E7B.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44 ; [.1E7C.0020.0002.1B44] # BALINESE ADEG ADEG
-1880 ; [.1E7D.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881 ; [.1E7E.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882 ; [.1E7F.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
-1883 ; [.1E80.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
-1884 ; [.1E81.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885 ; [.1E82.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
-1886 ; [.1E83.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1843 ; [.1E84.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1820 ; [.1E85.0020.0002.1820] # MONGOLIAN LETTER A
-1887 ; [.1E86.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
-1821 ; [.1E87.0020.0002.1821] # MONGOLIAN LETTER E
-1844 ; [.1E88.0020.0002.1844] # MONGOLIAN LETTER TODO E
-185D ; [.1E89.0020.0002.185D] # MONGOLIAN LETTER SIBE E
-1822 ; [.1E8A.0020.0002.1822] # MONGOLIAN LETTER I
-1845 ; [.1E8B.0020.0002.1845] # MONGOLIAN LETTER TODO I
-185E ; [.1E8C.0020.0002.185E] # MONGOLIAN LETTER SIBE I
-1873 ; [.1E8D.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
-1888 ; [.1E8E.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
-185F ; [.1E8F.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
-1823 ; [.1E90.0020.0002.1823] # MONGOLIAN LETTER O
-1846 ; [.1E91.0020.0002.1846] # MONGOLIAN LETTER TODO O
-1824 ; [.1E92.0020.0002.1824] # MONGOLIAN LETTER U
-1847 ; [.1E93.0020.0002.1847] # MONGOLIAN LETTER TODO U
-1861 ; [.1E94.0020.0002.1861] # MONGOLIAN LETTER SIBE U
-1825 ; [.1E95.0020.0002.1825] # MONGOLIAN LETTER OE
-1848 ; [.1E96.0020.0002.1848] # MONGOLIAN LETTER TODO OE
-1826 ; [.1E97.0020.0002.1826] # MONGOLIAN LETTER UE
-1849 ; [.1E98.0020.0002.1849] # MONGOLIAN LETTER TODO UE
-1860 ; [.1E99.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
-1827 ; [.1E9A.0020.0002.1827] # MONGOLIAN LETTER EE
-1828 ; [.1E9B.0020.0002.1828] # MONGOLIAN LETTER NA
-1829 ; [.1E9C.0020.0002.1829] # MONGOLIAN LETTER ANG
-184A ; [.1E9D.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
-1862 ; [.1E9E.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
-188A ; [.1E9F.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
-189B ; [.1EA0.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
-182A ; [.1EA1.0020.0002.182A] # MONGOLIAN LETTER BA
-184B ; [.1EA2.0020.0002.184B] # MONGOLIAN LETTER TODO BA
-182B ; [.1EA3.0020.0002.182B] # MONGOLIAN LETTER PA
-184C ; [.1EA4.0020.0002.184C] # MONGOLIAN LETTER TODO PA
-1866 ; [.1EA5.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
-182C ; [.1EA6.0020.0002.182C] # MONGOLIAN LETTER QA
-184D ; [.1EA7.0020.0002.184D] # MONGOLIAN LETTER TODO QA
-182D ; [.1EA8.0020.0002.182D] # MONGOLIAN LETTER GA
-184E ; [.1EA9.0020.0002.184E] # MONGOLIAN LETTER TODO GA
-1864 ; [.1EAA.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
-189A ; [.1EAB.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
-1865 ; [.1EAC.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
-182E ; [.1EAD.0020.0002.182E] # MONGOLIAN LETTER MA
-184F ; [.1EAE.0020.0002.184F] # MONGOLIAN LETTER TODO MA
-182F ; [.1EAF.0020.0002.182F] # MONGOLIAN LETTER LA
-1830 ; [.1EB0.0020.0002.1830] # MONGOLIAN LETTER SA
-1831 ; [.1EB1.0020.0002.1831] # MONGOLIAN LETTER SHA
-1867 ; [.1EB2.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
-189C ; [.1EB3.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D ; [.1EB4.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
-18A2 ; [.1EB5.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A4 ; [.1EB6.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5 ; [.1EB7.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
-1832 ; [.1EB8.0020.0002.1832] # MONGOLIAN LETTER TA
-1850 ; [.1EB9.0020.0002.1850] # MONGOLIAN LETTER TODO TA
-1868 ; [.1EBA.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
-1833 ; [.1EBB.0020.0002.1833] # MONGOLIAN LETTER DA
-1851 ; [.1EBC.0020.0002.1851] # MONGOLIAN LETTER TODO DA
-1869 ; [.1EBD.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
-1834 ; [.1EBE.0020.0002.1834] # MONGOLIAN LETTER CHA
-1852 ; [.1EBF.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
-1871 ; [.1EC0.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
-185C ; [.1EC1.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
-188B ; [.1EC2.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
-1835 ; [.1EC3.0020.0002.1835] # MONGOLIAN LETTER JA
-1853 ; [.1EC4.0020.0002.1853] # MONGOLIAN LETTER TODO JA
-186A ; [.1EC5.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
-1877 ; [.1EC6.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
-1836 ; [.1EC7.0020.0002.1836] # MONGOLIAN LETTER YA
-1855 ; [.1EC8.0020.0002.1855] # MONGOLIAN LETTER TODO YA
-1872 ; [.1EC9.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
-1837 ; [.1ECA.0020.0002.1837] # MONGOLIAN LETTER RA
-1875 ; [.1ECB.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
-1838 ; [.1ECC.0020.0002.1838] # MONGOLIAN LETTER WA
-1856 ; [.1ECD.0020.0002.1856] # MONGOLIAN LETTER TODO WA
-1839 ; [.1ECE.0020.0002.1839] # MONGOLIAN LETTER FA
-186B ; [.1ECF.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
-1876 ; [.1ED0.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
-183A ; [.1ED1.0020.0002.183A] # MONGOLIAN LETTER KA
-1857 ; [.1ED2.0020.0002.1857] # MONGOLIAN LETTER TODO KA
-1863 ; [.1ED3.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
-1874 ; [.1ED4.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
-1889 ; [.1ED5.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
-183B ; [.1ED6.0020.0002.183B] # MONGOLIAN LETTER KHA
-183C ; [.1ED7.0020.0002.183C] # MONGOLIAN LETTER TSA
-1854 ; [.1ED8.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
-186E ; [.1ED9.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
-183D ; [.1EDA.0020.0002.183D] # MONGOLIAN LETTER ZA
-186F ; [.1EDB.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
-1858 ; [.1EDC.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
-186C ; [.1EDD.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
-183E ; [.1EDE.0020.0002.183E] # MONGOLIAN LETTER HAA
-1859 ; [.1EDF.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
-186D ; [.1EE0.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
-183F ; [.1EE1.0020.0002.183F] # MONGOLIAN LETTER ZRA
-1840 ; [.1EE2.0020.0002.1840] # MONGOLIAN LETTER LHA
-1841 ; [.1EE3.0020.0002.1841] # MONGOLIAN LETTER ZHI
-1842 ; [.1EE4.0020.0002.1842] # MONGOLIAN LETTER CHI
-185A ; [.1EE5.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
-185B ; [.1EE6.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
-1870 ; [.1EE7.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
-188C ; [.1EE8.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
-189E ; [.1EE9.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
-188D ; [.1EEA.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
-188E ; [.1EEB.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
-189F ; [.1EEC.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-188F ; [.1EED.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
-1890 ; [.1EEE.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
-1898 ; [.1EEF.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
-18A0 ; [.1EF0.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
-1891 ; [.1EF1.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
-18A1 ; [.1EF2.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
-1892 ; [.1EF3.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
-1893 ; [.1EF4.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
-18A8 ; [.1EF5.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
-1894 ; [.1EF6.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
-18A3 ; [.1EF7.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
-1895 ; [.1EF8.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
-1899 ; [.1EF9.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
-1896 ; [.1EFA.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
-1897 ; [.1EFB.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
-18A6 ; [.1EFC.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
-18A7 ; [.1EFD.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
-18A9 ; [.1EFE.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
-13A0 ; [.1EFF.0020.0002.13A0] # CHEROKEE LETTER A
-13A1 ; [.1F00.0020.0002.13A1] # CHEROKEE LETTER E
-13A2 ; [.1F01.0020.0002.13A2] # CHEROKEE LETTER I
-13A3 ; [.1F02.0020.0002.13A3] # CHEROKEE LETTER O
-13A4 ; [.1F03.0020.0002.13A4] # CHEROKEE LETTER U
-13A5 ; [.1F04.0020.0002.13A5] # CHEROKEE LETTER V
-13A6 ; [.1F05.0020.0002.13A6] # CHEROKEE LETTER GA
-13A7 ; [.1F06.0020.0002.13A7] # CHEROKEE LETTER KA
-13A8 ; [.1F07.0020.0002.13A8] # CHEROKEE LETTER GE
-13A9 ; [.1F08.0020.0002.13A9] # CHEROKEE LETTER GI
-13AA ; [.1F09.0020.0002.13AA] # CHEROKEE LETTER GO
-13AB ; [.1F0A.0020.0002.13AB] # CHEROKEE LETTER GU
-13AC ; [.1F0B.0020.0002.13AC] # CHEROKEE LETTER GV
-13AD ; [.1F0C.0020.0002.13AD] # CHEROKEE LETTER HA
-13AE ; [.1F0D.0020.0002.13AE] # CHEROKEE LETTER HE
-13AF ; [.1F0E.0020.0002.13AF] # CHEROKEE LETTER HI
-13B0 ; [.1F0F.0020.0002.13B0] # CHEROKEE LETTER HO
-13B1 ; [.1F10.0020.0002.13B1] # CHEROKEE LETTER HU
-13B2 ; [.1F11.0020.0002.13B2] # CHEROKEE LETTER HV
-13B3 ; [.1F12.0020.0002.13B3] # CHEROKEE LETTER LA
-13B4 ; [.1F13.0020.0002.13B4] # CHEROKEE LETTER LE
-13B5 ; [.1F14.0020.0002.13B5] # CHEROKEE LETTER LI
-13B6 ; [.1F15.0020.0002.13B6] # CHEROKEE LETTER LO
-13B7 ; [.1F16.0020.0002.13B7] # CHEROKEE LETTER LU
-13B8 ; [.1F17.0020.0002.13B8] # CHEROKEE LETTER LV
-13B9 ; [.1F18.0020.0002.13B9] # CHEROKEE LETTER MA
-13BA ; [.1F19.0020.0002.13BA] # CHEROKEE LETTER ME
-13BB ; [.1F1A.0020.0002.13BB] # CHEROKEE LETTER MI
-13BC ; [.1F1B.0020.0002.13BC] # CHEROKEE LETTER MO
-13BD ; [.1F1C.0020.0002.13BD] # CHEROKEE LETTER MU
-13BE ; [.1F1D.0020.0002.13BE] # CHEROKEE LETTER NA
-13BF ; [.1F1E.0020.0002.13BF] # CHEROKEE LETTER HNA
-13C0 ; [.1F1F.0020.0002.13C0] # CHEROKEE LETTER NAH
-13C1 ; [.1F20.0020.0002.13C1] # CHEROKEE LETTER NE
-13C2 ; [.1F21.0020.0002.13C2] # CHEROKEE LETTER NI
-13C3 ; [.1F22.0020.0002.13C3] # CHEROKEE LETTER NO
-13C4 ; [.1F23.0020.0002.13C4] # CHEROKEE LETTER NU
-13C5 ; [.1F24.0020.0002.13C5] # CHEROKEE LETTER NV
-13C6 ; [.1F25.0020.0002.13C6] # CHEROKEE LETTER QUA
-13C7 ; [.1F26.0020.0002.13C7] # CHEROKEE LETTER QUE
-13C8 ; [.1F27.0020.0002.13C8] # CHEROKEE LETTER QUI
-13C9 ; [.1F28.0020.0002.13C9] # CHEROKEE LETTER QUO
-13CA ; [.1F29.0020.0002.13CA] # CHEROKEE LETTER QUU
-13CB ; [.1F2A.0020.0002.13CB] # CHEROKEE LETTER QUV
-13CC ; [.1F2B.0020.0002.13CC] # CHEROKEE LETTER SA
-13CD ; [.1F2C.0020.0002.13CD] # CHEROKEE LETTER S
-13CE ; [.1F2D.0020.0002.13CE] # CHEROKEE LETTER SE
-13CF ; [.1F2E.0020.0002.13CF] # CHEROKEE LETTER SI
-13D0 ; [.1F2F.0020.0002.13D0] # CHEROKEE LETTER SO
-13D1 ; [.1F30.0020.0002.13D1] # CHEROKEE LETTER SU
-13D2 ; [.1F31.0020.0002.13D2] # CHEROKEE LETTER SV
-13D3 ; [.1F32.0020.0002.13D3] # CHEROKEE LETTER DA
-13D4 ; [.1F33.0020.0002.13D4] # CHEROKEE LETTER TA
-13D5 ; [.1F34.0020.0002.13D5] # CHEROKEE LETTER DE
-13D6 ; [.1F35.0020.0002.13D6] # CHEROKEE LETTER TE
-13D7 ; [.1F36.0020.0002.13D7] # CHEROKEE LETTER DI
-13D8 ; [.1F37.0020.0002.13D8] # CHEROKEE LETTER TI
-13D9 ; [.1F38.0020.0002.13D9] # CHEROKEE LETTER DO
-13DA ; [.1F39.0020.0002.13DA] # CHEROKEE LETTER DU
-13DB ; [.1F3A.0020.0002.13DB] # CHEROKEE LETTER DV
-13DC ; [.1F3B.0020.0002.13DC] # CHEROKEE LETTER DLA
-13DD ; [.1F3C.0020.0002.13DD] # CHEROKEE LETTER TLA
-13DE ; [.1F3D.0020.0002.13DE] # CHEROKEE LETTER TLE
-13DF ; [.1F3E.0020.0002.13DF] # CHEROKEE LETTER TLI
-13E0 ; [.1F3F.0020.0002.13E0] # CHEROKEE LETTER TLO
-13E1 ; [.1F40.0020.0002.13E1] # CHEROKEE LETTER TLU
-13E2 ; [.1F41.0020.0002.13E2] # CHEROKEE LETTER TLV
-13E3 ; [.1F42.0020.0002.13E3] # CHEROKEE LETTER TSA
-13E4 ; [.1F43.0020.0002.13E4] # CHEROKEE LETTER TSE
-13E5 ; [.1F44.0020.0002.13E5] # CHEROKEE LETTER TSI
-13E6 ; [.1F45.0020.0002.13E6] # CHEROKEE LETTER TSO
-13E7 ; [.1F46.0020.0002.13E7] # CHEROKEE LETTER TSU
-13E8 ; [.1F47.0020.0002.13E8] # CHEROKEE LETTER TSV
-13E9 ; [.1F48.0020.0002.13E9] # CHEROKEE LETTER WA
-13EA ; [.1F49.0020.0002.13EA] # CHEROKEE LETTER WE
-13EB ; [.1F4A.0020.0002.13EB] # CHEROKEE LETTER WI
-13EC ; [.1F4B.0020.0002.13EC] # CHEROKEE LETTER WO
-13ED ; [.1F4C.0020.0002.13ED] # CHEROKEE LETTER WU
-13EE ; [.1F4D.0020.0002.13EE] # CHEROKEE LETTER WV
-13EF ; [.1F4E.0020.0002.13EF] # CHEROKEE LETTER YA
-13F0 ; [.1F4F.0020.0002.13F0] # CHEROKEE LETTER YE
-13F1 ; [.1F50.0020.0002.13F1] # CHEROKEE LETTER YI
-13F2 ; [.1F51.0020.0002.13F2] # CHEROKEE LETTER YO
-13F3 ; [.1F52.0020.0002.13F3] # CHEROKEE LETTER YU
-13F4 ; [.1F53.0020.0002.13F4] # CHEROKEE LETTER YV
-1401 ; [.1F54.0020.0002.1401] # CANADIAN SYLLABICS E
-1402 ; [.1F55.0020.0002.1402] # CANADIAN SYLLABICS AAI
-1403 ; [.1F56.0020.0002.1403] # CANADIAN SYLLABICS I
-1404 ; [.1F57.0020.0002.1404] # CANADIAN SYLLABICS II
-1405 ; [.1F58.0020.0002.1405] # CANADIAN SYLLABICS O
-1406 ; [.1F59.0020.0002.1406] # CANADIAN SYLLABICS OO
-1407 ; [.1F5A.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
-1408 ; [.1F5B.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
-1409 ; [.1F5C.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
-140A ; [.1F5D.0020.0002.140A] # CANADIAN SYLLABICS A
-140B ; [.1F5E.0020.0002.140B] # CANADIAN SYLLABICS AA
-140C ; [.1F5F.0020.0002.140C] # CANADIAN SYLLABICS WE
-140D ; [.1F60.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
-140E ; [.1F61.0020.0002.140E] # CANADIAN SYLLABICS WI
-140F ; [.1F62.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
-1410 ; [.1F63.0020.0002.1410] # CANADIAN SYLLABICS WII
-1411 ; [.1F64.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
-1412 ; [.1F65.0020.0002.1412] # CANADIAN SYLLABICS WO
-1413 ; [.1F66.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
-1414 ; [.1F67.0020.0002.1414] # CANADIAN SYLLABICS WOO
-1415 ; [.1F68.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
-1416 ; [.1F69.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
-1417 ; [.1F6A.0020.0002.1417] # CANADIAN SYLLABICS WA
-1418 ; [.1F6B.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
-1419 ; [.1F6C.0020.0002.1419] # CANADIAN SYLLABICS WAA
-141A ; [.1F6D.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
-141B ; [.1F6E.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
-141C ; [.1F6F.0020.0002.141C] # CANADIAN SYLLABICS AI
-141D ; [.1F70.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
-141E ; [.1F71.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
-141F ; [.1F72.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
-1420 ; [.1F73.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
-1421 ; [.1F74.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422 ; [.1F75.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423 ; [.1F76.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424 ; [.1F77.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
-1425 ; [.1F78.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426 ; [.1F79.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427 ; [.1F7A.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428 ; [.1F7B.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429 ; [.1F7C.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
-142A ; [.1F7D.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
-142B ; [.1F7E.0020.0002.142B] # CANADIAN SYLLABICS EN
-142C ; [.1F7F.0020.0002.142C] # CANADIAN SYLLABICS IN
-142D ; [.1F80.0020.0002.142D] # CANADIAN SYLLABICS ON
-142E ; [.1F81.0020.0002.142E] # CANADIAN SYLLABICS AN
-142F ; [.1F82.0020.0002.142F] # CANADIAN SYLLABICS PE
-1430 ; [.1F83.0020.0002.1430] # CANADIAN SYLLABICS PAAI
-1431 ; [.1F84.0020.0002.1431] # CANADIAN SYLLABICS PI
-1432 ; [.1F85.0020.0002.1432] # CANADIAN SYLLABICS PII
-1433 ; [.1F86.0020.0002.1433] # CANADIAN SYLLABICS PO
-1434 ; [.1F87.0020.0002.1434] # CANADIAN SYLLABICS POO
-1435 ; [.1F88.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
-1436 ; [.1F89.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
-1437 ; [.1F8A.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
-1438 ; [.1F8B.0020.0002.1438] # CANADIAN SYLLABICS PA
-1439 ; [.1F8C.0020.0002.1439] # CANADIAN SYLLABICS PAA
-143A ; [.1F8D.0020.0002.143A] # CANADIAN SYLLABICS PWE
-143B ; [.1F8E.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
-143C ; [.1F8F.0020.0002.143C] # CANADIAN SYLLABICS PWI
-143D ; [.1F90.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
-143E ; [.1F91.0020.0002.143E] # CANADIAN SYLLABICS PWII
-143F ; [.1F92.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
-1440 ; [.1F93.0020.0002.1440] # CANADIAN SYLLABICS PWO
-1441 ; [.1F94.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
-1442 ; [.1F95.0020.0002.1442] # CANADIAN SYLLABICS PWOO
-1443 ; [.1F96.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
-1444 ; [.1F97.0020.0002.1444] # CANADIAN SYLLABICS PWA
-1445 ; [.1F98.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
-1446 ; [.1F99.0020.0002.1446] # CANADIAN SYLLABICS PWAA
-1447 ; [.1F9A.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
-1448 ; [.1F9B.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
-1449 ; [.1F9C.0020.0002.1449] # CANADIAN SYLLABICS P
-144A ; [.1F9D.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
-144B ; [.1F9E.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
-144C ; [.1F9F.0020.0002.144C] # CANADIAN SYLLABICS TE
-144D ; [.1FA0.0020.0002.144D] # CANADIAN SYLLABICS TAAI
-144E ; [.1FA1.0020.0002.144E] # CANADIAN SYLLABICS TI
-144F ; [.1FA2.0020.0002.144F] # CANADIAN SYLLABICS TII
-1450 ; [.1FA3.0020.0002.1450] # CANADIAN SYLLABICS TO
-1451 ; [.1FA4.0020.0002.1451] # CANADIAN SYLLABICS TOO
-1452 ; [.1FA5.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
-1453 ; [.1FA6.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
-1454 ; [.1FA7.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
-1455 ; [.1FA8.0020.0002.1455] # CANADIAN SYLLABICS TA
-1456 ; [.1FA9.0020.0002.1456] # CANADIAN SYLLABICS TAA
-1457 ; [.1FAA.0020.0002.1457] # CANADIAN SYLLABICS TWE
-1458 ; [.1FAB.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
-1459 ; [.1FAC.0020.0002.1459] # CANADIAN SYLLABICS TWI
-145A ; [.1FAD.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
-145B ; [.1FAE.0020.0002.145B] # CANADIAN SYLLABICS TWII
-145C ; [.1FAF.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
-145D ; [.1FB0.0020.0002.145D] # CANADIAN SYLLABICS TWO
-145E ; [.1FB1.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
-145F ; [.1FB2.0020.0002.145F] # CANADIAN SYLLABICS TWOO
-1460 ; [.1FB3.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
-1461 ; [.1FB4.0020.0002.1461] # CANADIAN SYLLABICS TWA
-1462 ; [.1FB5.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
-1463 ; [.1FB6.0020.0002.1463] # CANADIAN SYLLABICS TWAA
-1464 ; [.1FB7.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
-1465 ; [.1FB8.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
-1466 ; [.1FB9.0020.0002.1466] # CANADIAN SYLLABICS T
-1467 ; [.1FBA.0020.0002.1467] # CANADIAN SYLLABICS TTE
-1468 ; [.1FBB.0020.0002.1468] # CANADIAN SYLLABICS TTI
-1469 ; [.1FBC.0020.0002.1469] # CANADIAN SYLLABICS TTO
-146A ; [.1FBD.0020.0002.146A] # CANADIAN SYLLABICS TTA
-146B ; [.1FBE.0020.0002.146B] # CANADIAN SYLLABICS KE
-146C ; [.1FBF.0020.0002.146C] # CANADIAN SYLLABICS KAAI
-146D ; [.1FC0.0020.0002.146D] # CANADIAN SYLLABICS KI
-146E ; [.1FC1.0020.0002.146E] # CANADIAN SYLLABICS KII
-146F ; [.1FC2.0020.0002.146F] # CANADIAN SYLLABICS KO
-1470 ; [.1FC3.0020.0002.1470] # CANADIAN SYLLABICS KOO
-1471 ; [.1FC4.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
-1472 ; [.1FC5.0020.0002.1472] # CANADIAN SYLLABICS KA
-1473 ; [.1FC6.0020.0002.1473] # CANADIAN SYLLABICS KAA
-1474 ; [.1FC7.0020.0002.1474] # CANADIAN SYLLABICS KWE
-1475 ; [.1FC8.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
-1476 ; [.1FC9.0020.0002.1476] # CANADIAN SYLLABICS KWI
-1477 ; [.1FCA.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
-1478 ; [.1FCB.0020.0002.1478] # CANADIAN SYLLABICS KWII
-1479 ; [.1FCC.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
-147A ; [.1FCD.0020.0002.147A] # CANADIAN SYLLABICS KWO
-147B ; [.1FCE.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
-147C ; [.1FCF.0020.0002.147C] # CANADIAN SYLLABICS KWOO
-147D ; [.1FD0.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
-147E ; [.1FD1.0020.0002.147E] # CANADIAN SYLLABICS KWA
-147F ; [.1FD2.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
-1480 ; [.1FD3.0020.0002.1480] # CANADIAN SYLLABICS KWAA
-1481 ; [.1FD4.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
-1482 ; [.1FD5.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
-1483 ; [.1FD6.0020.0002.1483] # CANADIAN SYLLABICS K
-1484 ; [.1FD7.0020.0002.1484] # CANADIAN SYLLABICS KW
-1485 ; [.1FD8.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486 ; [.1FD9.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487 ; [.1FDA.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488 ; [.1FDB.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489 ; [.1FDC.0020.0002.1489] # CANADIAN SYLLABICS CE
-148A ; [.1FDD.0020.0002.148A] # CANADIAN SYLLABICS CAAI
-148B ; [.1FDE.0020.0002.148B] # CANADIAN SYLLABICS CI
-148C ; [.1FDF.0020.0002.148C] # CANADIAN SYLLABICS CII
-148D ; [.1FE0.0020.0002.148D] # CANADIAN SYLLABICS CO
-148E ; [.1FE1.0020.0002.148E] # CANADIAN SYLLABICS COO
-148F ; [.1FE2.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
-1490 ; [.1FE3.0020.0002.1490] # CANADIAN SYLLABICS CA
-1491 ; [.1FE4.0020.0002.1491] # CANADIAN SYLLABICS CAA
-1492 ; [.1FE5.0020.0002.1492] # CANADIAN SYLLABICS CWE
-1493 ; [.1FE6.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
-1494 ; [.1FE7.0020.0002.1494] # CANADIAN SYLLABICS CWI
-1495 ; [.1FE8.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
-1496 ; [.1FE9.0020.0002.1496] # CANADIAN SYLLABICS CWII
-1497 ; [.1FEA.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
-1498 ; [.1FEB.0020.0002.1498] # CANADIAN SYLLABICS CWO
-1499 ; [.1FEC.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
-149A ; [.1FED.0020.0002.149A] # CANADIAN SYLLABICS CWOO
-149B ; [.1FEE.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
-149C ; [.1FEF.0020.0002.149C] # CANADIAN SYLLABICS CWA
-149D ; [.1FF0.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
-149E ; [.1FF1.0020.0002.149E] # CANADIAN SYLLABICS CWAA
-149F ; [.1FF2.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0 ; [.1FF3.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
-14A1 ; [.1FF4.0020.0002.14A1] # CANADIAN SYLLABICS C
-14A2 ; [.1FF5.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
-14A3 ; [.1FF6.0020.0002.14A3] # CANADIAN SYLLABICS ME
-14A4 ; [.1FF7.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
-14A5 ; [.1FF8.0020.0002.14A5] # CANADIAN SYLLABICS MI
-14A6 ; [.1FF9.0020.0002.14A6] # CANADIAN SYLLABICS MII
-14A7 ; [.1FFA.0020.0002.14A7] # CANADIAN SYLLABICS MO
-14A8 ; [.1FFB.0020.0002.14A8] # CANADIAN SYLLABICS MOO
-14A9 ; [.1FFC.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
-14AA ; [.1FFD.0020.0002.14AA] # CANADIAN SYLLABICS MA
-14AB ; [.1FFE.0020.0002.14AB] # CANADIAN SYLLABICS MAA
-14AC ; [.1FFF.0020.0002.14AC] # CANADIAN SYLLABICS MWE
-14AD ; [.2000.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
-14AE ; [.2001.0020.0002.14AE] # CANADIAN SYLLABICS MWI
-14AF ; [.2002.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
-14B0 ; [.2003.0020.0002.14B0] # CANADIAN SYLLABICS MWII
-14B1 ; [.2004.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
-14B2 ; [.2005.0020.0002.14B2] # CANADIAN SYLLABICS MWO
-14B3 ; [.2006.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
-14B4 ; [.2007.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
-14B5 ; [.2008.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6 ; [.2009.0020.0002.14B6] # CANADIAN SYLLABICS MWA
-14B7 ; [.200A.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
-14B8 ; [.200B.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
-14B9 ; [.200C.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA ; [.200D.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
-14BB ; [.200E.0020.0002.14BB] # CANADIAN SYLLABICS M
-14BC ; [.200F.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
-14BD ; [.2010.0020.0002.14BD] # CANADIAN SYLLABICS MH
-14BE ; [.2011.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
-14BF ; [.2012.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
-14C0 ; [.2013.0020.0002.14C0] # CANADIAN SYLLABICS NE
-14C1 ; [.2014.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
-14C2 ; [.2015.0020.0002.14C2] # CANADIAN SYLLABICS NI
-14C3 ; [.2016.0020.0002.14C3] # CANADIAN SYLLABICS NII
-14C4 ; [.2017.0020.0002.14C4] # CANADIAN SYLLABICS NO
-14C5 ; [.2018.0020.0002.14C5] # CANADIAN SYLLABICS NOO
-14C6 ; [.2019.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
-14C7 ; [.201A.0020.0002.14C7] # CANADIAN SYLLABICS NA
-14C8 ; [.201B.0020.0002.14C8] # CANADIAN SYLLABICS NAA
-14C9 ; [.201C.0020.0002.14C9] # CANADIAN SYLLABICS NWE
-14CA ; [.201D.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
-14CB ; [.201E.0020.0002.14CB] # CANADIAN SYLLABICS NWA
-14CC ; [.201F.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
-14CD ; [.2020.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
-14CE ; [.2021.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF ; [.2022.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
-14D0 ; [.2023.0020.0002.14D0] # CANADIAN SYLLABICS N
-14D1 ; [.2024.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
-14D2 ; [.2025.0020.0002.14D2] # CANADIAN SYLLABICS NH
-14D3 ; [.2026.0020.0002.14D3] # CANADIAN SYLLABICS LE
-14D4 ; [.2027.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
-14D5 ; [.2028.0020.0002.14D5] # CANADIAN SYLLABICS LI
-14D6 ; [.2029.0020.0002.14D6] # CANADIAN SYLLABICS LII
-14D7 ; [.202A.0020.0002.14D7] # CANADIAN SYLLABICS LO
-14D8 ; [.202B.0020.0002.14D8] # CANADIAN SYLLABICS LOO
-14D9 ; [.202C.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
-14DA ; [.202D.0020.0002.14DA] # CANADIAN SYLLABICS LA
-14DB ; [.202E.0020.0002.14DB] # CANADIAN SYLLABICS LAA
-14DC ; [.202F.0020.0002.14DC] # CANADIAN SYLLABICS LWE
-14DD ; [.2030.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
-14DE ; [.2031.0020.0002.14DE] # CANADIAN SYLLABICS LWI
-14DF ; [.2032.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
-14E0 ; [.2033.0020.0002.14E0] # CANADIAN SYLLABICS LWII
-14E1 ; [.2034.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
-14E2 ; [.2035.0020.0002.14E2] # CANADIAN SYLLABICS LWO
-14E3 ; [.2036.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
-14E4 ; [.2037.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
-14E5 ; [.2038.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6 ; [.2039.0020.0002.14E6] # CANADIAN SYLLABICS LWA
-14E7 ; [.203A.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
-14E8 ; [.203B.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
-14E9 ; [.203C.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA ; [.203D.0020.0002.14EA] # CANADIAN SYLLABICS L
-14EB ; [.203E.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
-14EC ; [.203F.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
-14ED ; [.2040.0020.0002.14ED] # CANADIAN SYLLABICS SE
-14EE ; [.2041.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
-14EF ; [.2042.0020.0002.14EF] # CANADIAN SYLLABICS SI
-14F0 ; [.2043.0020.0002.14F0] # CANADIAN SYLLABICS SII
-14F1 ; [.2044.0020.0002.14F1] # CANADIAN SYLLABICS SO
-14F2 ; [.2045.0020.0002.14F2] # CANADIAN SYLLABICS SOO
-14F3 ; [.2046.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
-14F4 ; [.2047.0020.0002.14F4] # CANADIAN SYLLABICS SA
-14F5 ; [.2048.0020.0002.14F5] # CANADIAN SYLLABICS SAA
-14F6 ; [.2049.0020.0002.14F6] # CANADIAN SYLLABICS SWE
-14F7 ; [.204A.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
-14F8 ; [.204B.0020.0002.14F8] # CANADIAN SYLLABICS SWI
-14F9 ; [.204C.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
-14FA ; [.204D.0020.0002.14FA] # CANADIAN SYLLABICS SWII
-14FB ; [.204E.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
-14FC ; [.204F.0020.0002.14FC] # CANADIAN SYLLABICS SWO
-14FD ; [.2050.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
-14FE ; [.2051.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
-14FF ; [.2052.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
-1500 ; [.2053.0020.0002.1500] # CANADIAN SYLLABICS SWA
-1501 ; [.2054.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
-1502 ; [.2055.0020.0002.1502] # CANADIAN SYLLABICS SWAA
-1503 ; [.2056.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
-1504 ; [.2057.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
-1505 ; [.2058.0020.0002.1505] # CANADIAN SYLLABICS S
-1506 ; [.2059.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
-1507 ; [.205A.0020.0002.1507] # CANADIAN SYLLABICS SW
-1508 ; [.205B.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
-1509 ; [.205C.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
-150A ; [.205D.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
-150B ; [.205E.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
-150C ; [.205F.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
-150D ; [.2060.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
-150E ; [.2061.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
-150F ; [.2062.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
-1510 ; [.2063.0020.0002.1510] # CANADIAN SYLLABICS SHE
-1511 ; [.2064.0020.0002.1511] # CANADIAN SYLLABICS SHI
-1512 ; [.2065.0020.0002.1512] # CANADIAN SYLLABICS SHII
-1513 ; [.2066.0020.0002.1513] # CANADIAN SYLLABICS SHO
-1514 ; [.2067.0020.0002.1514] # CANADIAN SYLLABICS SHOO
-1515 ; [.2068.0020.0002.1515] # CANADIAN SYLLABICS SHA
-1516 ; [.2069.0020.0002.1516] # CANADIAN SYLLABICS SHAA
-1517 ; [.206A.0020.0002.1517] # CANADIAN SYLLABICS SHWE
-1518 ; [.206B.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
-1519 ; [.206C.0020.0002.1519] # CANADIAN SYLLABICS SHWI
-151A ; [.206D.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
-151B ; [.206E.0020.0002.151B] # CANADIAN SYLLABICS SHWII
-151C ; [.206F.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
-151D ; [.2070.0020.0002.151D] # CANADIAN SYLLABICS SHWO
-151E ; [.2071.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
-151F ; [.2072.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
-1520 ; [.2073.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521 ; [.2074.0020.0002.1521] # CANADIAN SYLLABICS SHWA
-1522 ; [.2075.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
-1523 ; [.2076.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
-1524 ; [.2077.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525 ; [.2078.0020.0002.1525] # CANADIAN SYLLABICS SH
-1526 ; [.2079.0020.0002.1526] # CANADIAN SYLLABICS YE
-1527 ; [.207A.0020.0002.1527] # CANADIAN SYLLABICS YAAI
-1528 ; [.207B.0020.0002.1528] # CANADIAN SYLLABICS YI
-1529 ; [.207C.0020.0002.1529] # CANADIAN SYLLABICS YII
-152A ; [.207D.0020.0002.152A] # CANADIAN SYLLABICS YO
-152B ; [.207E.0020.0002.152B] # CANADIAN SYLLABICS YOO
-152C ; [.207F.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
-152D ; [.2080.0020.0002.152D] # CANADIAN SYLLABICS YA
-152E ; [.2081.0020.0002.152E] # CANADIAN SYLLABICS YAA
-152F ; [.2082.0020.0002.152F] # CANADIAN SYLLABICS YWE
-1530 ; [.2083.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
-1531 ; [.2084.0020.0002.1531] # CANADIAN SYLLABICS YWI
-1532 ; [.2085.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
-1533 ; [.2086.0020.0002.1533] # CANADIAN SYLLABICS YWII
-1534 ; [.2087.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
-1535 ; [.2088.0020.0002.1535] # CANADIAN SYLLABICS YWO
-1536 ; [.2089.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
-1537 ; [.208A.0020.0002.1537] # CANADIAN SYLLABICS YWOO
-1538 ; [.208B.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
-1539 ; [.208C.0020.0002.1539] # CANADIAN SYLLABICS YWA
-153A ; [.208D.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
-153B ; [.208E.0020.0002.153B] # CANADIAN SYLLABICS YWAA
-153C ; [.208F.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
-153D ; [.2090.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
-153E ; [.2091.0020.0002.153E] # CANADIAN SYLLABICS Y
-153F ; [.2092.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
-1540 ; [.2093.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
-1541 ; [.2094.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
-1542 ; [.2095.0020.0002.1542] # CANADIAN SYLLABICS RE
-1543 ; [.2096.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
-1544 ; [.2097.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
-1545 ; [.2098.0020.0002.1545] # CANADIAN SYLLABICS RAAI
-1546 ; [.2099.0020.0002.1546] # CANADIAN SYLLABICS RI
-1547 ; [.209A.0020.0002.1547] # CANADIAN SYLLABICS RII
-1548 ; [.209B.0020.0002.1548] # CANADIAN SYLLABICS RO
-1549 ; [.209C.0020.0002.1549] # CANADIAN SYLLABICS ROO
-154A ; [.209D.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
-154B ; [.209E.0020.0002.154B] # CANADIAN SYLLABICS RA
-154C ; [.209F.0020.0002.154C] # CANADIAN SYLLABICS RAA
-154D ; [.20A0.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
-154E ; [.20A1.0020.0002.154E] # CANADIAN SYLLABICS RWAA
-154F ; [.20A2.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
-1550 ; [.20A3.0020.0002.1550] # CANADIAN SYLLABICS R
-1551 ; [.20A4.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
-1552 ; [.20A5.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
-1553 ; [.20A6.0020.0002.1553] # CANADIAN SYLLABICS FE
-1554 ; [.20A7.0020.0002.1554] # CANADIAN SYLLABICS FAAI
-1555 ; [.20A8.0020.0002.1555] # CANADIAN SYLLABICS FI
-1556 ; [.20A9.0020.0002.1556] # CANADIAN SYLLABICS FII
-1557 ; [.20AA.0020.0002.1557] # CANADIAN SYLLABICS FO
-1558 ; [.20AB.0020.0002.1558] # CANADIAN SYLLABICS FOO
-1559 ; [.20AC.0020.0002.1559] # CANADIAN SYLLABICS FA
-155A ; [.20AD.0020.0002.155A] # CANADIAN SYLLABICS FAA
-155B ; [.20AE.0020.0002.155B] # CANADIAN SYLLABICS FWAA
-155C ; [.20AF.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
-155D ; [.20B0.0020.0002.155D] # CANADIAN SYLLABICS F
-155E ; [.20B1.0020.0002.155E] # CANADIAN SYLLABICS THE
-155F ; [.20B2.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
-1560 ; [.20B3.0020.0002.1560] # CANADIAN SYLLABICS THI
-1561 ; [.20B4.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
-1562 ; [.20B5.0020.0002.1562] # CANADIAN SYLLABICS THII
-1563 ; [.20B6.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
-1564 ; [.20B7.0020.0002.1564] # CANADIAN SYLLABICS THO
-1565 ; [.20B8.0020.0002.1565] # CANADIAN SYLLABICS THOO
-1566 ; [.20B9.0020.0002.1566] # CANADIAN SYLLABICS THA
-1567 ; [.20BA.0020.0002.1567] # CANADIAN SYLLABICS THAA
-1568 ; [.20BB.0020.0002.1568] # CANADIAN SYLLABICS THWAA
-1569 ; [.20BC.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
-156A ; [.20BD.0020.0002.156A] # CANADIAN SYLLABICS TH
-156B ; [.20BE.0020.0002.156B] # CANADIAN SYLLABICS TTHE
-156C ; [.20BF.0020.0002.156C] # CANADIAN SYLLABICS TTHI
-156D ; [.20C0.0020.0002.156D] # CANADIAN SYLLABICS TTHO
-156E ; [.20C1.0020.0002.156E] # CANADIAN SYLLABICS TTHA
-156F ; [.20C2.0020.0002.156F] # CANADIAN SYLLABICS TTH
-1570 ; [.20C3.0020.0002.1570] # CANADIAN SYLLABICS TYE
-1571 ; [.20C4.0020.0002.1571] # CANADIAN SYLLABICS TYI
-1572 ; [.20C5.0020.0002.1572] # CANADIAN SYLLABICS TYO
-1573 ; [.20C6.0020.0002.1573] # CANADIAN SYLLABICS TYA
-1574 ; [.20C7.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
-1575 ; [.20C8.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
-1576 ; [.20C9.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
-1577 ; [.20CA.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
-1578 ; [.20CB.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
-1579 ; [.20CC.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
-157A ; [.20CD.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
-157B ; [.20CE.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
-157D ; [.20CF.0020.0002.157D] # CANADIAN SYLLABICS HK
-166F ; [.20D0.0020.0002.166F] # CANADIAN SYLLABICS QAI
-157E ; [.20D1.0020.0002.157E] # CANADIAN SYLLABICS QAAI
-157F ; [.20D2.0020.0002.157F] # CANADIAN SYLLABICS QI
-1580 ; [.20D3.0020.0002.1580] # CANADIAN SYLLABICS QII
-1581 ; [.20D4.0020.0002.1581] # CANADIAN SYLLABICS QO
-1582 ; [.20D5.0020.0002.1582] # CANADIAN SYLLABICS QOO
-1583 ; [.20D6.0020.0002.1583] # CANADIAN SYLLABICS QA
-1584 ; [.20D7.0020.0002.1584] # CANADIAN SYLLABICS QAA
-1585 ; [.20D8.0020.0002.1585] # CANADIAN SYLLABICS Q
-1586 ; [.20D9.0020.0002.1586] # CANADIAN SYLLABICS TLHE
-1587 ; [.20DA.0020.0002.1587] # CANADIAN SYLLABICS TLHI
-1588 ; [.20DB.0020.0002.1588] # CANADIAN SYLLABICS TLHO
-1589 ; [.20DC.0020.0002.1589] # CANADIAN SYLLABICS TLHA
-158A ; [.20DD.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
-158B ; [.20DE.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
-158C ; [.20DF.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
-158D ; [.20E0.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
-1670 ; [.20E1.0020.0002.1670] # CANADIAN SYLLABICS NGAI
-158E ; [.20E2.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
-158F ; [.20E3.0020.0002.158F] # CANADIAN SYLLABICS NGI
-1590 ; [.20E4.0020.0002.1590] # CANADIAN SYLLABICS NGII
-1591 ; [.20E5.0020.0002.1591] # CANADIAN SYLLABICS NGO
-1592 ; [.20E6.0020.0002.1592] # CANADIAN SYLLABICS NGOO
-1593 ; [.20E7.0020.0002.1593] # CANADIAN SYLLABICS NGA
-1594 ; [.20E8.0020.0002.1594] # CANADIAN SYLLABICS NGAA
-1595 ; [.20E9.0020.0002.1595] # CANADIAN SYLLABICS NG
-1671 ; [.20EA.0020.0002.1671] # CANADIAN SYLLABICS NNGI
-1672 ; [.20EB.0020.0002.1672] # CANADIAN SYLLABICS NNGII
-1673 ; [.20EC.0020.0002.1673] # CANADIAN SYLLABICS NNGO
-1674 ; [.20ED.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
-1675 ; [.20EE.0020.0002.1675] # CANADIAN SYLLABICS NNGA
-1676 ; [.20EF.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
-1596 ; [.20F0.0020.0002.1596] # CANADIAN SYLLABICS NNG
-1597 ; [.20F1.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
-1598 ; [.20F2.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
-1599 ; [.20F3.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
-159A ; [.20F4.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
-159B ; [.20F5.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
-159C ; [.20F6.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
-159D ; [.20F7.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
-159E ; [.20F8.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
-159F ; [.20F9.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
-15A0 ; [.20FA.0020.0002.15A0] # CANADIAN SYLLABICS LHI
-15A1 ; [.20FB.0020.0002.15A1] # CANADIAN SYLLABICS LHII
-15A2 ; [.20FC.0020.0002.15A2] # CANADIAN SYLLABICS LHO
-15A3 ; [.20FD.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
-15A4 ; [.20FE.0020.0002.15A4] # CANADIAN SYLLABICS LHA
-15A5 ; [.20FF.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
-15A6 ; [.2100.0020.0002.15A6] # CANADIAN SYLLABICS LH
-157C ; [.2101.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
-15A7 ; [.2102.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
-15A8 ; [.2103.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
-15A9 ; [.2104.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
-15AA ; [.2105.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
-15AB ; [.2106.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
-15AC ; [.2107.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
-15AD ; [.2108.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
-15AE ; [.2109.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
-15AF ; [.210A.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
-15B0 ; [.210B.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
-15B1 ; [.210C.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
-15B2 ; [.210D.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
-15B3 ; [.210E.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
-15B4 ; [.210F.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
-15B5 ; [.2110.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
-15B6 ; [.2111.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
-15B7 ; [.2112.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
-15B8 ; [.2113.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
-15B9 ; [.2114.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
-15BA ; [.2115.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
-15BB ; [.2116.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
-15BC ; [.2117.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
-15BD ; [.2118.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
-15BE ; [.2119.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
-15BF ; [.211A.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
-15C0 ; [.211B.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
-15C1 ; [.211C.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
-15C2 ; [.211D.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
-15C3 ; [.211E.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
-15C4 ; [.211F.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
-15C5 ; [.2120.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
-15C6 ; [.2121.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
-15C7 ; [.2122.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
-15C8 ; [.2123.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
-15C9 ; [.2124.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
-15CA ; [.2125.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
-15CB ; [.2126.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
-15CC ; [.2127.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
-15CD ; [.2128.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
-15CE ; [.2129.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
-15CF ; [.212A.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
-15D0 ; [.212B.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
-15D1 ; [.212C.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
-15D2 ; [.212D.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
-15D3 ; [.212E.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
-15D4 ; [.212F.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
-15D5 ; [.2130.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
-15D6 ; [.2131.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
-15D7 ; [.2132.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
-15D8 ; [.2133.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
-15D9 ; [.2134.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
-15DA ; [.2135.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
-15DB ; [.2136.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
-15DC ; [.2137.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
-15DD ; [.2138.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
-15DE ; [.2139.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
-15DF ; [.213A.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
-15E0 ; [.213B.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
-15E1 ; [.213C.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
-15E2 ; [.213D.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
-15E3 ; [.213E.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
-15E4 ; [.213F.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
-15E5 ; [.2140.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
-15E6 ; [.2141.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
-15E7 ; [.2142.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
-15E8 ; [.2143.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
-15E9 ; [.2144.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
-15EA ; [.2145.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
-15EB ; [.2146.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
-15EC ; [.2147.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
-15ED ; [.2148.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
-15EE ; [.2149.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
-15EF ; [.214A.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
-15F0 ; [.214B.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
-15F1 ; [.214C.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
-15F2 ; [.214D.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
-15F3 ; [.214E.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
-15F4 ; [.214F.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
-15F5 ; [.2150.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
-15F6 ; [.2151.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
-15F7 ; [.2152.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
-15F8 ; [.2153.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
-15F9 ; [.2154.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
-15FA ; [.2155.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
-15FB ; [.2156.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
-15FC ; [.2157.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
-15FD ; [.2158.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
-15FE ; [.2159.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
-15FF ; [.215A.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
-1600 ; [.215B.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
-1601 ; [.215C.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
-1602 ; [.215D.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
-1603 ; [.215E.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
-1604 ; [.215F.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
-1605 ; [.2160.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
-1606 ; [.2161.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
-1607 ; [.2162.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
-1608 ; [.2163.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
-1609 ; [.2164.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
-160A ; [.2165.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
-160B ; [.2166.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
-160C ; [.2167.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
-160D ; [.2168.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
-160E ; [.2169.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
-160F ; [.216A.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
-1610 ; [.216B.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
-1611 ; [.216C.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
-1612 ; [.216D.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
-1613 ; [.216E.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
-1614 ; [.216F.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
-1615 ; [.2170.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
-1616 ; [.2171.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
-1617 ; [.2172.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
-1618 ; [.2173.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
-1619 ; [.2174.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
-161A ; [.2175.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
-161B ; [.2176.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
-161C ; [.2177.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
-161D ; [.2178.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
-161E ; [.2179.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
-161F ; [.217A.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
-1620 ; [.217B.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
-1621 ; [.217C.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
-1622 ; [.217D.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
-1623 ; [.217E.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
-1624 ; [.217F.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
-1625 ; [.2180.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
-1626 ; [.2181.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
-1627 ; [.2182.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
-1628 ; [.2183.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
-1629 ; [.2184.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
-162A ; [.2185.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
-162B ; [.2186.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
-162C ; [.2187.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
-162D ; [.2188.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
-162E ; [.2189.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
-162F ; [.218A.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
-1630 ; [.218B.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
-1631 ; [.218C.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
-1632 ; [.218D.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
-1633 ; [.218E.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
-1634 ; [.218F.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
-1635 ; [.2190.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
-1636 ; [.2191.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
-1637 ; [.2192.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
-1638 ; [.2193.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
-1639 ; [.2194.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
-163A ; [.2195.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
-163B ; [.2196.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
-163C ; [.2197.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
-163D ; [.2198.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
-163E ; [.2199.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
-163F ; [.219A.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
-1640 ; [.219B.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
-1641 ; [.219C.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
-1642 ; [.219D.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
-1643 ; [.219E.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
-1644 ; [.219F.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
-1645 ; [.21A0.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
-1646 ; [.21A1.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
-1647 ; [.21A2.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648 ; [.21A3.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
-1649 ; [.21A4.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
-164A ; [.21A5.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
-164B ; [.21A6.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
-164C ; [.21A7.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
-164D ; [.21A8.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
-164E ; [.21A9.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
-164F ; [.21AA.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
-1650 ; [.21AB.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
-1651 ; [.21AC.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
-1652 ; [.21AD.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
-1653 ; [.21AE.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
-1654 ; [.21AF.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
-1655 ; [.21B0.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
-1656 ; [.21B1.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
-1657 ; [.21B2.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
-1658 ; [.21B3.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
-1659 ; [.21B4.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
-165A ; [.21B5.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
-165B ; [.21B6.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
-165C ; [.21B7.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
-165D ; [.21B8.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
-165E ; [.21B9.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
-165F ; [.21BA.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
-1660 ; [.21BB.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
-1661 ; [.21BC.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
-1662 ; [.21BD.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
-1663 ; [.21BE.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
-1664 ; [.21BF.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
-1665 ; [.21C0.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
-1666 ; [.21C1.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
-1667 ; [.21C2.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
-1668 ; [.21C3.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
-1669 ; [.21C4.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
-166A ; [.21C5.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
-166B ; [.21C6.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
-166C ; [.21C7.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
-1681 ; [.21C8.0020.0002.1681] # OGHAM LETTER BEITH
-1682 ; [.21C9.0020.0002.1682] # OGHAM LETTER LUIS
-1683 ; [.21CA.0020.0002.1683] # OGHAM LETTER FEARN
-1684 ; [.21CB.0020.0002.1684] # OGHAM LETTER SAIL
-1685 ; [.21CC.0020.0002.1685] # OGHAM LETTER NION
-1686 ; [.21CD.0020.0002.1686] # OGHAM LETTER UATH
-1687 ; [.21CE.0020.0002.1687] # OGHAM LETTER DAIR
-1688 ; [.21CF.0020.0002.1688] # OGHAM LETTER TINNE
-1689 ; [.21D0.0020.0002.1689] # OGHAM LETTER COLL
-168A ; [.21D1.0020.0002.168A] # OGHAM LETTER CEIRT
-168B ; [.21D2.0020.0002.168B] # OGHAM LETTER MUIN
-168C ; [.21D3.0020.0002.168C] # OGHAM LETTER GORT
-168D ; [.21D4.0020.0002.168D] # OGHAM LETTER NGEADAL
-168E ; [.21D5.0020.0002.168E] # OGHAM LETTER STRAIF
-168F ; [.21D6.0020.0002.168F] # OGHAM LETTER RUIS
-1690 ; [.21D7.0020.0002.1690] # OGHAM LETTER AILM
-1691 ; [.21D8.0020.0002.1691] # OGHAM LETTER ONN
-1692 ; [.21D9.0020.0002.1692] # OGHAM LETTER UR
-1693 ; [.21DA.0020.0002.1693] # OGHAM LETTER EADHADH
-1694 ; [.21DB.0020.0002.1694] # OGHAM LETTER IODHADH
-1695 ; [.21DC.0020.0002.1695] # OGHAM LETTER EABHADH
-1696 ; [.21DD.0020.0002.1696] # OGHAM LETTER OR
-1697 ; [.21DE.0020.0002.1697] # OGHAM LETTER UILLEANN
-1698 ; [.21DF.0020.0002.1698] # OGHAM LETTER IFIN
-1699 ; [.21E0.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
-169A ; [.21E1.0020.0002.169A] # OGHAM LETTER PEITH
-16A0 ; [.21E2.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
-16A1 ; [.21E2.0020.0004.16A1][.0000.0199.0004.16A1] # RUNIC LETTER V; QQKN
-16A2 ; [.21E3.0020.0002.16A2] # RUNIC LETTER URUZ UR U
-16A4 ; [.21E3.0020.0004.16A4][.0000.0199.0004.16A4] # RUNIC LETTER Y; QQKN
-16A5 ; [.21E3.0020.0004.16A5][.0000.019A.0004.16A5] # RUNIC LETTER W; QQKN
-16A6 ; [.21E4.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
-16A7 ; [.21E4.0020.0004.16A7][.0000.0199.0004.16A7] # RUNIC LETTER ETH; QQKN
-16F0 ; [.21E4.0020.0004.16F0][.21E4.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL; QQKN
-16A8 ; [.21E5.0020.0002.16A8] # RUNIC LETTER ANSUZ A
-16A9 ; [.21E5.0020.0004.16A9][.0000.0199.0004.16A9] # RUNIC LETTER OS O; QQKN
-16AC ; [.21E5.0020.0004.16AC][.0000.019A.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O; QQKN
-16AD ; [.21E5.0020.0004.16AD][.0000.019C.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O; QQKN
-16AE ; [.21E5.0020.0004.16AE][.0000.019D.0004.16AE] # RUNIC LETTER O; QQKN
-16AF ; [.21E6.0020.0002.16AF] # RUNIC LETTER OE
-16B0 ; [.21E7.0020.0002.16B0] # RUNIC LETTER ON
-16B1 ; [.21E8.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
-16B2 ; [.21E9.0020.0002.16B2] # RUNIC LETTER KAUNA
-16B3 ; [.21E9.0020.0004.16B3][.0000.0199.0004.16B3] # RUNIC LETTER CEN; QQKN
-16B4 ; [.21E9.0020.0004.16B4][.0000.019A.0004.16B4] # RUNIC LETTER KAUN K; QQKN
-16B5 ; [.21E9.0020.0004.16B5][.0000.019C.0004.16B5] # RUNIC LETTER G; QQKN
-16B6 ; [.21E9.0020.0004.16B6][.0000.019D.0004.16B6] # RUNIC LETTER ENG; QQKN
-16B7 ; [.21EA.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
-16B9 ; [.21EB.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
-16E9 ; [.21EB.0020.0004.16E9][.0000.0199.0004.16E9] # RUNIC LETTER Q; QQKN
-16BA ; [.21EC.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
-16BB ; [.21EC.0020.0004.16BB][.0000.0199.0004.16BB] # RUNIC LETTER HAEGL H; QQKN
-16BC ; [.21EC.0020.0004.16BC][.0000.019A.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H; QQKN
-16BD ; [.21EC.0020.0004.16BD][.0000.019C.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H; QQKN
-16BE ; [.21ED.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF ; [.21ED.0020.0004.16BF][.0000.0199.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N; QQKN
-16C0 ; [.21ED.0020.0004.16C0][.0000.019A.0004.16C0] # RUNIC LETTER DOTTED-N; QQKN
-16C1 ; [.21EE.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
-16C2 ; [.21EE.0020.0004.16C2][.0000.0199.0004.16C2] # RUNIC LETTER E; QQKN
-16C3 ; [.21EF.0020.0002.16C3] # RUNIC LETTER JERAN J
-16C4 ; [.21EF.0020.0004.16C4][.0000.0199.0004.16C4] # RUNIC LETTER GER; QQKN
-16C5 ; [.21F0.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
-16C6 ; [.21F0.0020.0004.16C6][.0000.0199.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A; QQKN
-16EE ; [.21F0.0020.0004.16EE][.21F9.0020.0004.16EE] # RUNIC ARLAUG SYMBOL; QQKN
-16C7 ; [.21F1.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
-16C8 ; [.21F2.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
-16D5 ; [.21F2.0020.0004.16D5][.0000.0199.0004.16D5] # RUNIC LETTER OPEN-P; QQKN
-16C9 ; [.21F3.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
-16CA ; [.21F4.0020.0002.16CA] # RUNIC LETTER SOWILO S
-16CB ; [.21F4.0020.0004.16CB][.0000.0199.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S; QQKN
-16EA ; [.21F4.0020.0004.16EA][.0000.019A.0004.16EA] # RUNIC LETTER X; QQKN
-16CC ; [.21F4.0020.0004.16CC][.0000.019C.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S; QQKN
-16CD ; [.21F4.0020.0004.16CD][.0000.019D.0004.16CD] # RUNIC LETTER C; QQKN
-16CE ; [.21F4.0020.0004.16CE][.0000.019E.0004.16CE] # RUNIC LETTER Z; QQKN
-16CF ; [.21F5.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
-16D0 ; [.21F5.0020.0004.16D0][.0000.0199.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T; QQKN
-16D1 ; [.21F5.0020.0004.16D1][.0000.019A.0004.16D1] # RUNIC LETTER D; QQKN
-16D2 ; [.21F6.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3 ; [.21F6.0020.0004.16D3][.0000.0199.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B; QQKN
-16D4 ; [.21F6.0020.0004.16D4][.0000.019A.0004.16D4] # RUNIC LETTER DOTTED-P; QQKN
-16D6 ; [.21F7.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
-16D7 ; [.21F8.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
-16D8 ; [.21F8.0020.0004.16D8][.0000.0199.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M; QQKN
-16D9 ; [.21F8.0020.0004.16D9][.0000.019A.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M; QQKN
-16EF ; [.21F8.0020.0004.16EF][.0000.0199.0004.16EF][.21F8.0020.001F.16EF][.0000.0199.001F.16EF] # RUNIC TVIMADUR SYMBOL; QQKN
-16DA ; [.21F9.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB ; [.21F9.0020.0004.16DB][.0000.0199.0004.16DB] # RUNIC LETTER DOTTED-L; QQKN
-16DC ; [.21FA.0020.0002.16DC] # RUNIC LETTER INGWAZ
-16DD ; [.21FA.0020.0004.16DD][.0000.0199.0004.16DD] # RUNIC LETTER ING; QQKN
-16DE ; [.21FB.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
-16DF ; [.21FC.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
-16AA ; [.21FD.0020.0002.16AA] # RUNIC LETTER AC A
-16AB ; [.21FE.0020.0002.16AB] # RUNIC LETTER AESC
-16A3 ; [.21FF.0020.0002.16A3] # RUNIC LETTER YR
-16E0 ; [.2200.0020.0002.16E0] # RUNIC LETTER EAR
-16E3 ; [.2201.0020.0002.16E3] # RUNIC LETTER CALC
-16B8 ; [.2202.0020.0002.16B8] # RUNIC LETTER GAR
-16E4 ; [.2203.0020.0002.16E4] # RUNIC LETTER CEALC
-16E1 ; [.2204.0020.0002.16E1] # RUNIC LETTER IOR
-16E2 ; [.2205.0020.0002.16E2] # RUNIC LETTER CWEORTH
-16E5 ; [.2206.0020.0002.16E5] # RUNIC LETTER STAN
-16E6 ; [.2207.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
-16E7 ; [.2207.0020.0004.16E7][.0000.0199.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR; QQKN
-16E8 ; [.2207.0020.0004.16E8][.0000.019A.0004.16E8] # RUNIC LETTER ICELANDIC-YR; QQKN
-1100 ; [.2208.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
-3131 ; [.2208.0020.0004.3131] # HANGUL LETTER KIYEOK; QQK
-3200 ; [*02B1.0020.0004.3200][.2208.0020.0004.3200][*02B2.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK; QQKN
-3260 ; [.2208.0020.0006.3260] # CIRCLED HANGUL KIYEOK; QQK
-FFA1 ; [.2208.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK; QQK
-320E ; [*02B1.0020.0004.320E][.2208.0020.0004.320E][.2264.0020.001F.320E][*02B2.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A; QQKN
-326E ; [.2208.0020.0006.326E][.2264.0020.0006.326E] # CIRCLED HANGUL KIYEOK A; QQKN
-1101 ; [.2209.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
-3132 ; [.2209.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK; QQK
-FFA2 ; [.2209.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK; QQK
-1102 ; [.220A.0020.0002.1102] # HANGUL CHOSEONG NIEUN
-3134 ; [.220A.0020.0004.3134] # HANGUL LETTER NIEUN; QQK
-3201 ; [*02B1.0020.0004.3201][.220A.0020.0004.3201][*02B2.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN; QQKN
-3261 ; [.220A.0020.0006.3261] # CIRCLED HANGUL NIEUN; QQK
-FFA4 ; [.220A.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN; QQK
-320F ; [*02B1.0020.0004.320F][.220A.0020.0004.320F][.2264.0020.001F.320F][*02B2.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A; QQKN
-326F ; [.220A.0020.0006.326F][.2264.0020.0006.326F] # CIRCLED HANGUL NIEUN A; QQKN
-1103 ; [.220B.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
-3137 ; [.220B.0020.0004.3137] # HANGUL LETTER TIKEUT; QQK
-3202 ; [*02B1.0020.0004.3202][.220B.0020.0004.3202][*02B2.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT; QQKN
-3262 ; [.220B.0020.0006.3262] # CIRCLED HANGUL TIKEUT; QQK
-FFA7 ; [.220B.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT; QQK
-3210 ; [*02B1.0020.0004.3210][.220B.0020.0004.3210][.2264.0020.001F.3210][*02B2.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A; QQKN
-3270 ; [.220B.0020.0006.3270][.2264.0020.0006.3270] # CIRCLED HANGUL TIKEUT A; QQKN
-1104 ; [.220C.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
-3138 ; [.220C.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT; QQK
-FFA8 ; [.220C.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT; QQK
-1105 ; [.220D.0020.0002.1105] # HANGUL CHOSEONG RIEUL
-3139 ; [.220D.0020.0004.3139] # HANGUL LETTER RIEUL; QQK
-3203 ; [*02B1.0020.0004.3203][.220D.0020.0004.3203][*02B2.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL; QQKN
-3263 ; [.220D.0020.0006.3263] # CIRCLED HANGUL RIEUL; QQK
-FFA9 ; [.220D.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL; QQK
-3211 ; [*02B1.0020.0004.3211][.220D.0020.0004.3211][.2264.0020.001F.3211][*02B2.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A; QQKN
-3271 ; [.220D.0020.0006.3271][.2264.0020.0006.3271] # CIRCLED HANGUL RIEUL A; QQKN
-1106 ; [.220E.0020.0002.1106] # HANGUL CHOSEONG MIEUM
-3141 ; [.220E.0020.0004.3141] # HANGUL LETTER MIEUM; QQK
-3204 ; [*02B1.0020.0004.3204][.220E.0020.0004.3204][*02B2.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM; QQKN
-3264 ; [.220E.0020.0006.3264] # CIRCLED HANGUL MIEUM; QQK
-FFB1 ; [.220E.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM; QQK
-3212 ; [*02B1.0020.0004.3212][.220E.0020.0004.3212][.2264.0020.001F.3212][*02B2.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A; QQKN
-3272 ; [.220E.0020.0006.3272][.2264.0020.0006.3272] # CIRCLED HANGUL MIEUM A; QQKN
-1107 ; [.220F.0020.0002.1107] # HANGUL CHOSEONG PIEUP
-3142 ; [.220F.0020.0004.3142] # HANGUL LETTER PIEUP; QQK
-3205 ; [*02B1.0020.0004.3205][.220F.0020.0004.3205][*02B2.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP; QQKN
-3265 ; [.220F.0020.0006.3265] # CIRCLED HANGUL PIEUP; QQK
-FFB2 ; [.220F.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP; QQK
-3213 ; [*02B1.0020.0004.3213][.220F.0020.0004.3213][.2264.0020.001F.3213][*02B2.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A; QQKN
-3273 ; [.220F.0020.0006.3273][.2264.0020.0006.3273] # CIRCLED HANGUL PIEUP A; QQKN
-1108 ; [.2210.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
-3143 ; [.2210.0020.0004.3143] # HANGUL LETTER SSANGPIEUP; QQK
-FFB3 ; [.2210.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP; QQK
-1109 ; [.2211.0020.0002.1109] # HANGUL CHOSEONG SIOS
-3145 ; [.2211.0020.0004.3145] # HANGUL LETTER SIOS; QQK
-3206 ; [*02B1.0020.0004.3206][.2211.0020.0004.3206][*02B2.0020.001F.3206] # PARENTHESIZED HANGUL SIOS; QQKN
-3266 ; [.2211.0020.0006.3266] # CIRCLED HANGUL SIOS; QQK
-FFB5 ; [.2211.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS; QQK
-3214 ; [*02B1.0020.0004.3214][.2211.0020.0004.3214][.2264.0020.001F.3214][*02B2.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A; QQKN
-3274 ; [.2211.0020.0006.3274][.2264.0020.0006.3274] # CIRCLED HANGUL SIOS A; QQKN
-110A ; [.2212.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
-3146 ; [.2212.0020.0004.3146] # HANGUL LETTER SSANGSIOS; QQK
-FFB6 ; [.2212.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS; QQK
-110B ; [.2213.0020.0002.110B] # HANGUL CHOSEONG IEUNG
-3147 ; [.2213.0020.0004.3147] # HANGUL LETTER IEUNG; QQK
-3207 ; [*02B1.0020.0004.3207][.2213.0020.0004.3207][*02B2.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG; QQKN
-3267 ; [.2213.0020.0006.3267] # CIRCLED HANGUL IEUNG; QQK
-FFB7 ; [.2213.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG; QQK
-3215 ; [*02B1.0020.0004.3215][.2213.0020.0004.3215][.2264.0020.001F.3215][*02B2.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A; QQKN
-3275 ; [.2213.0020.0006.3275][.2264.0020.0006.3275] # CIRCLED HANGUL IEUNG A; QQKN
-321D ; [*02B1.0020.0004.321D][.2213.0020.0004.321D][.226C.0020.001F.321D][.2214.0020.001F.321D][.2268.0020.001F.321D][.22A9.0020.001F.321D][*02B2.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON; QQKN
-321E ; [*02B1.0020.0004.321E][.2213.0020.0004.321E][.226C.0020.001F.321E][.221A.0020.001F.321E][.2271.0020.001F.321E][*02B2.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU; QQKN
-327E ; [.2213.0020.0006.327E][.2271.0020.0006.327E] # CIRCLED HANGUL IEUNG U; QQKN
-110C ; [.2214.0020.0002.110C] # HANGUL CHOSEONG CIEUC
-3148 ; [.2214.0020.0004.3148] # HANGUL LETTER CIEUC; QQK
-3208 ; [*02B1.0020.0004.3208][.2214.0020.0004.3208][*02B2.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC; QQKN
-3268 ; [.2214.0020.0006.3268] # CIRCLED HANGUL CIEUC; QQK
-FFB8 ; [.2214.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC; QQK
-3216 ; [*02B1.0020.0004.3216][.2214.0020.0004.3216][.2264.0020.001F.3216][*02B2.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A; QQKN
-3276 ; [.2214.0020.0006.3276][.2264.0020.0006.3276] # CIRCLED HANGUL CIEUC A; QQKN
-321C ; [*02B1.0020.0004.321C][.2214.0020.0004.321C][.2271.0020.001F.321C][*02B2.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U; QQKN
-327D ; [.2214.0020.0006.327D][.2271.0020.0006.327D][.2213.0020.001F.327D][.2277.0020.001F.327D] # CIRCLED KOREAN CHARACTER JUEUI; QQKN
-110D ; [.2215.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
-3149 ; [.2215.0020.0004.3149] # HANGUL LETTER SSANGCIEUC; QQK
-FFB9 ; [.2215.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC; QQK
-110E ; [.2216.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
-314A ; [.2216.0020.0004.314A] # HANGUL LETTER CHIEUCH; QQK
-3209 ; [*02B1.0020.0004.3209][.2216.0020.0004.3209][*02B2.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH; QQKN
-3269 ; [.2216.0020.0006.3269] # CIRCLED HANGUL CHIEUCH; QQK
-FFBA ; [.2216.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH; QQK
-3217 ; [*02B1.0020.0004.3217][.2216.0020.0004.3217][.2264.0020.001F.3217][*02B2.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A; QQKN
-3277 ; [.2216.0020.0006.3277][.2264.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A; QQKN
-327C ; [.2216.0020.0006.327C][.2264.0020.0006.327C][.22B5.0020.001F.327C][.2208.0020.001F.327C][.226C.0020.001F.327C] # CIRCLED KOREAN CHARACTER CHAMKO; QQKN
-110F ; [.2217.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
-314B ; [.2217.0020.0004.314B] # HANGUL LETTER KHIEUKH; QQK
-320A ; [*02B1.0020.0004.320A][.2217.0020.0004.320A][*02B2.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH; QQKN
-326A ; [.2217.0020.0006.326A] # CIRCLED HANGUL KHIEUKH; QQK
-FFBB ; [.2217.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH; QQK
-3218 ; [*02B1.0020.0004.3218][.2217.0020.0004.3218][.2264.0020.001F.3218][*02B2.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A; QQKN
-3278 ; [.2217.0020.0006.3278][.2264.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A; QQKN
-1110 ; [.2218.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
-314C ; [.2218.0020.0004.314C] # HANGUL LETTER THIEUTH; QQK
-320B ; [*02B1.0020.0004.320B][.2218.0020.0004.320B][*02B2.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH; QQKN
-326B ; [.2218.0020.0006.326B] # CIRCLED HANGUL THIEUTH; QQK
-FFBC ; [.2218.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH; QQK
-3219 ; [*02B1.0020.0004.3219][.2218.0020.0004.3219][.2264.0020.001F.3219][*02B2.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A; QQKN
-3279 ; [.2218.0020.0006.3279][.2264.0020.0006.3279] # CIRCLED HANGUL THIEUTH A; QQKN
-1111 ; [.2219.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
-314D ; [.2219.0020.0004.314D] # HANGUL LETTER PHIEUPH; QQK
-320C ; [*02B1.0020.0004.320C][.2219.0020.0004.320C][*02B2.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH; QQKN
-326C ; [.2219.0020.0006.326C] # CIRCLED HANGUL PHIEUPH; QQK
-FFBD ; [.2219.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH; QQK
-321A ; [*02B1.0020.0004.321A][.2219.0020.0004.321A][.2264.0020.001F.321A][*02B2.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A; QQKN
-327A ; [.2219.0020.0006.327A][.2264.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A; QQKN
-1112 ; [.221A.0020.0002.1112] # HANGUL CHOSEONG HIEUH
-314E ; [.221A.0020.0004.314E] # HANGUL LETTER HIEUH; QQK
-320D ; [*02B1.0020.0004.320D][.221A.0020.0004.320D][*02B2.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH; QQKN
-326D ; [.221A.0020.0006.326D] # CIRCLED HANGUL HIEUH; QQK
-FFBE ; [.221A.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH; QQK
-321B ; [*02B1.0020.0004.321B][.221A.0020.0004.321B][.2264.0020.001F.321B][*02B2.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A; QQKN
-327B ; [.221A.0020.0006.327B][.2264.0020.0006.327B] # CIRCLED HANGUL HIEUH A; QQKN
-1113 ; [.221B.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
-1114 ; [.221C.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
-3165 ; [.221C.0020.0004.3165] # HANGUL LETTER SSANGNIEUN; QQK
-1115 ; [.221D.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
-3166 ; [.221D.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT; QQK
-1116 ; [.221E.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
-1117 ; [.221F.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118 ; [.2220.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
-1119 ; [.2221.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
-111A ; [.2222.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
-3140 ; [.2222.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH; QQK
-FFB0 ; [.2222.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH; QQK
-111B ; [.2223.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C ; [.2224.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
-316E ; [.2224.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP; QQK
-111D ; [.2225.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
-3171 ; [.2225.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM; QQK
-111E ; [.2226.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
-3172 ; [.2226.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK; QQK
-111F ; [.2227.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
-1120 ; [.2228.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
-3173 ; [.2228.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT; QQK
-1121 ; [.2229.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
-3144 ; [.2229.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS; QQK
-FFB4 ; [.2229.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS; QQK
-1122 ; [.222A.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-3174 ; [.222A.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK; QQK
-1123 ; [.222B.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-3175 ; [.222B.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT; QQK
-1124 ; [.222C.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125 ; [.222D.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126 ; [.222E.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127 ; [.222F.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
-3176 ; [.222F.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC; QQK
-1128 ; [.2230.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129 ; [.2231.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
-3177 ; [.2231.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH; QQK
-112A ; [.2232.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B ; [.2233.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
-3178 ; [.2233.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP; QQK
-112C ; [.2234.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-3179 ; [.2234.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP; QQK
-112D ; [.2235.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
-317A ; [.2235.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK; QQK
-112E ; [.2236.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
-317B ; [.2236.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN; QQK
-112F ; [.2237.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
-317C ; [.2237.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT; QQK
-1130 ; [.2238.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
-1131 ; [.2239.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
-1132 ; [.223A.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
-317D ; [.223A.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP; QQK
-1133 ; [.223B.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134 ; [.223C.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135 ; [.223D.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
-1136 ; [.223E.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
-317E ; [.223E.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC; QQK
-1137 ; [.223F.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
-1138 ; [.2240.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
-1139 ; [.2241.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
-113A ; [.2242.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
-113B ; [.2243.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
-113C ; [.2244.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
-113D ; [.2245.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E ; [.2246.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F ; [.2247.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140 ; [.2248.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
-317F ; [.2248.0020.0004.317F] # HANGUL LETTER PANSIOS; QQK
-1141 ; [.2249.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
-1142 ; [.224A.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
-1143 ; [.224B.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
-1144 ; [.224C.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
-1145 ; [.224D.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
-1146 ; [.224E.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
-1147 ; [.224F.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
-3180 ; [.224F.0020.0004.3180] # HANGUL LETTER SSANGIEUNG; QQK
-1148 ; [.2250.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
-1149 ; [.2251.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A ; [.2252.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
-114B ; [.2253.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C ; [.2254.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
-3181 ; [.2254.0020.0004.3181] # HANGUL LETTER YESIEUNG; QQK
-114D ; [.2255.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
-114E ; [.2256.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
-114F ; [.2257.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150 ; [.2258.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151 ; [.2259.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152 ; [.225A.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153 ; [.225B.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154 ; [.225C.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155 ; [.225D.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156 ; [.225E.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157 ; [.225F.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-3184 ; [.225F.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH; QQK
-1158 ; [.2260.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
-3185 ; [.2260.0020.0004.3185] # HANGUL LETTER SSANGHIEUH; QQK
-1159 ; [.2261.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
-3186 ; [.2261.0020.0004.3186] # HANGUL LETTER YEORINHIEUH; QQK
-115F ; [.2262.0020.0002.115F] # HANGUL CHOSEONG FILLER
-1160 ; [.2263.0020.0002.1160] # HANGUL JUNGSEONG FILLER
-3164 ; [.2263.0020.0004.3164] # HANGUL FILLER; QQK
-FFA0 ; [.2263.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER; QQK
-1161 ; [.2264.0020.0002.1161] # HANGUL JUNGSEONG A
-314F ; [.2264.0020.0004.314F] # HANGUL LETTER A; QQK
-FFC2 ; [.2264.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A; QQK
-1162 ; [.2265.0020.0002.1162] # HANGUL JUNGSEONG AE
-3150 ; [.2265.0020.0004.3150] # HANGUL LETTER AE; QQK
-FFC3 ; [.2265.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE; QQK
-1163 ; [.2266.0020.0002.1163] # HANGUL JUNGSEONG YA
-3151 ; [.2266.0020.0004.3151] # HANGUL LETTER YA; QQK
-FFC4 ; [.2266.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA; QQK
-1164 ; [.2267.0020.0002.1164] # HANGUL JUNGSEONG YAE
-3152 ; [.2267.0020.0004.3152] # HANGUL LETTER YAE; QQK
-FFC5 ; [.2267.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE; QQK
-1165 ; [.2268.0020.0002.1165] # HANGUL JUNGSEONG EO
-3153 ; [.2268.0020.0004.3153] # HANGUL LETTER EO; QQK
-FFC6 ; [.2268.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO; QQK
-1166 ; [.2269.0020.0002.1166] # HANGUL JUNGSEONG E
-3154 ; [.2269.0020.0004.3154] # HANGUL LETTER E; QQK
-FFC7 ; [.2269.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E; QQK
-1167 ; [.226A.0020.0002.1167] # HANGUL JUNGSEONG YEO
-3155 ; [.226A.0020.0004.3155] # HANGUL LETTER YEO; QQK
-FFCA ; [.226A.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO; QQK
-1168 ; [.226B.0020.0002.1168] # HANGUL JUNGSEONG YE
-3156 ; [.226B.0020.0004.3156] # HANGUL LETTER YE; QQK
-FFCB ; [.226B.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE; QQK
-1169 ; [.226C.0020.0002.1169] # HANGUL JUNGSEONG O
-3157 ; [.226C.0020.0004.3157] # HANGUL LETTER O; QQK
-FFCC ; [.226C.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O; QQK
-116A ; [.226D.0020.0002.116A] # HANGUL JUNGSEONG WA
-3158 ; [.226D.0020.0004.3158] # HANGUL LETTER WA; QQK
-FFCD ; [.226D.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA; QQK
-116B ; [.226E.0020.0002.116B] # HANGUL JUNGSEONG WAE
-3159 ; [.226E.0020.0004.3159] # HANGUL LETTER WAE; QQK
-FFCE ; [.226E.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE; QQK
-116C ; [.226F.0020.0002.116C] # HANGUL JUNGSEONG OE
-315A ; [.226F.0020.0004.315A] # HANGUL LETTER OE; QQK
-FFCF ; [.226F.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE; QQK
-116D ; [.2270.0020.0002.116D] # HANGUL JUNGSEONG YO
-315B ; [.2270.0020.0004.315B] # HANGUL LETTER YO; QQK
-FFD2 ; [.2270.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO; QQK
-116E ; [.2271.0020.0002.116E] # HANGUL JUNGSEONG U
-315C ; [.2271.0020.0004.315C] # HANGUL LETTER U; QQK
-FFD3 ; [.2271.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U; QQK
-116F ; [.2272.0020.0002.116F] # HANGUL JUNGSEONG WEO
-315D ; [.2272.0020.0004.315D] # HANGUL LETTER WEO; QQK
-FFD4 ; [.2272.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO; QQK
-1170 ; [.2273.0020.0002.1170] # HANGUL JUNGSEONG WE
-315E ; [.2273.0020.0004.315E] # HANGUL LETTER WE; QQK
-FFD5 ; [.2273.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE; QQK
-1171 ; [.2274.0020.0002.1171] # HANGUL JUNGSEONG WI
-315F ; [.2274.0020.0004.315F] # HANGUL LETTER WI; QQK
-FFD6 ; [.2274.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI; QQK
-1172 ; [.2275.0020.0002.1172] # HANGUL JUNGSEONG YU
-3160 ; [.2275.0020.0004.3160] # HANGUL LETTER YU; QQK
-FFD7 ; [.2275.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU; QQK
-1173 ; [.2276.0020.0002.1173] # HANGUL JUNGSEONG EU
-3161 ; [.2276.0020.0004.3161] # HANGUL LETTER EU; QQK
-FFDA ; [.2276.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU; QQK
-1174 ; [.2277.0020.0002.1174] # HANGUL JUNGSEONG YI
-3162 ; [.2277.0020.0004.3162] # HANGUL LETTER YI; QQK
-FFDB ; [.2277.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI; QQK
-1175 ; [.2278.0020.0002.1175] # HANGUL JUNGSEONG I
-3163 ; [.2278.0020.0004.3163] # HANGUL LETTER I; QQK
-FFDC ; [.2278.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I; QQK
-1176 ; [.2279.0020.0002.1176] # HANGUL JUNGSEONG A-O
-1177 ; [.227A.0020.0002.1177] # HANGUL JUNGSEONG A-U
-1178 ; [.227B.0020.0002.1178] # HANGUL JUNGSEONG YA-O
-1179 ; [.227C.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
-117A ; [.227D.0020.0002.117A] # HANGUL JUNGSEONG EO-O
-117B ; [.227E.0020.0002.117B] # HANGUL JUNGSEONG EO-U
-117C ; [.227F.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
-117D ; [.2280.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
-117E ; [.2281.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
-117F ; [.2282.0020.0002.117F] # HANGUL JUNGSEONG O-EO
-1180 ; [.2283.0020.0002.1180] # HANGUL JUNGSEONG O-E
-1181 ; [.2284.0020.0002.1181] # HANGUL JUNGSEONG O-YE
-1182 ; [.2285.0020.0002.1182] # HANGUL JUNGSEONG O-O
-1183 ; [.2286.0020.0002.1183] # HANGUL JUNGSEONG O-U
-1184 ; [.2287.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
-3187 ; [.2287.0020.0004.3187] # HANGUL LETTER YO-YA; QQK
-1185 ; [.2288.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
-3188 ; [.2288.0020.0004.3188] # HANGUL LETTER YO-YAE; QQK
-1186 ; [.2289.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
-1187 ; [.228A.0020.0002.1187] # HANGUL JUNGSEONG YO-O
-1188 ; [.228B.0020.0002.1188] # HANGUL JUNGSEONG YO-I
-3189 ; [.228B.0020.0004.3189] # HANGUL LETTER YO-I; QQK
-1189 ; [.228C.0020.0002.1189] # HANGUL JUNGSEONG U-A
-118A ; [.228D.0020.0002.118A] # HANGUL JUNGSEONG U-AE
-118B ; [.228E.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
-118C ; [.228F.0020.0002.118C] # HANGUL JUNGSEONG U-YE
-118D ; [.2290.0020.0002.118D] # HANGUL JUNGSEONG U-U
-118E ; [.2291.0020.0002.118E] # HANGUL JUNGSEONG YU-A
-118F ; [.2292.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
-1190 ; [.2293.0020.0002.1190] # HANGUL JUNGSEONG YU-E
-1191 ; [.2294.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
-318A ; [.2294.0020.0004.318A] # HANGUL LETTER YU-YEO; QQK
-1192 ; [.2295.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
-318B ; [.2295.0020.0004.318B] # HANGUL LETTER YU-YE; QQK
-1193 ; [.2296.0020.0002.1193] # HANGUL JUNGSEONG YU-U
-1194 ; [.2297.0020.0002.1194] # HANGUL JUNGSEONG YU-I
-318C ; [.2297.0020.0004.318C] # HANGUL LETTER YU-I; QQK
-1195 ; [.2298.0020.0002.1195] # HANGUL JUNGSEONG EU-U
-1196 ; [.2299.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
-1197 ; [.229A.0020.0002.1197] # HANGUL JUNGSEONG YI-U
-1198 ; [.229B.0020.0002.1198] # HANGUL JUNGSEONG I-A
-1199 ; [.229C.0020.0002.1199] # HANGUL JUNGSEONG I-YA
-119A ; [.229D.0020.0002.119A] # HANGUL JUNGSEONG I-O
-119B ; [.229E.0020.0002.119B] # HANGUL JUNGSEONG I-U
-119C ; [.229F.0020.0002.119C] # HANGUL JUNGSEONG I-EU
-119D ; [.22A0.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
-119E ; [.22A1.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
-318D ; [.22A1.0020.0004.318D] # HANGUL LETTER ARAEA; QQK
-119F ; [.22A2.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
-11A0 ; [.22A3.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
-11A1 ; [.22A4.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
-318E ; [.22A4.0020.0004.318E] # HANGUL LETTER ARAEAE; QQK
-11A2 ; [.22A5.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
-11A8 ; [.22A6.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
-11A9 ; [.22A7.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
-11AA ; [.22A8.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
-3133 ; [.22A8.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS; QQK
-FFA3 ; [.22A8.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS; QQK
-11AB ; [.22A9.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
-11AC ; [.22AA.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
-3135 ; [.22AA.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC; QQK
-FFA5 ; [.22AA.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC; QQK
-11AD ; [.22AB.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
-3136 ; [.22AB.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH; QQK
-FFA6 ; [.22AB.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH; QQK
-11AE ; [.22AC.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
-11AF ; [.22AD.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
-11B0 ; [.22AE.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
-313A ; [.22AE.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK; QQK
-FFAA ; [.22AE.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK; QQK
-11B1 ; [.22AF.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
-313B ; [.22AF.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM; QQK
-FFAB ; [.22AF.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM; QQK
-11B2 ; [.22B0.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
-313C ; [.22B0.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP; QQK
-FFAC ; [.22B0.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP; QQK
-11B3 ; [.22B1.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
-313D ; [.22B1.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS; QQK
-FFAD ; [.22B1.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS; QQK
-11B4 ; [.22B2.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
-313E ; [.22B2.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH; QQK
-FFAE ; [.22B2.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH; QQK
-11B5 ; [.22B3.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
-313F ; [.22B3.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH; QQK
-FFAF ; [.22B3.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH; QQK
-11B6 ; [.22B4.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
-11B7 ; [.22B5.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
-11B8 ; [.22B6.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
-11B9 ; [.22B7.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
-11BA ; [.22B8.0020.0002.11BA] # HANGUL JONGSEONG SIOS
-11BB ; [.22B9.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
-11BC ; [.22BA.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
-11BD ; [.22BB.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
-11BE ; [.22BC.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
-11BF ; [.22BD.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
-11C0 ; [.22BE.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
-11C1 ; [.22BF.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
-11C2 ; [.22C0.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
-11C3 ; [.22C1.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4 ; [.22C2.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5 ; [.22C3.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6 ; [.22C4.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7 ; [.22C5.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
-3167 ; [.22C5.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS; QQK
-11C8 ; [.22C6.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
-3168 ; [.22C6.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS; QQK
-11C9 ; [.22C7.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA ; [.22C8.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB ; [.22C9.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC ; [.22CA.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-3169 ; [.22CA.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS; QQK
-11CD ; [.22CB.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
-11CE ; [.22CC.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
-316A ; [.22CC.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT; QQK
-11CF ; [.22CD.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0 ; [.22CE.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
-11D1 ; [.22CF.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2 ; [.22D0.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3 ; [.22D1.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-316B ; [.22D1.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS; QQK
-11D4 ; [.22D2.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5 ; [.22D3.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6 ; [.22D4.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7 ; [.22D5.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
-316C ; [.22D5.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS; QQK
-11D8 ; [.22D6.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9 ; [.22D7.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-316D ; [.22D7.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH; QQK
-11DA ; [.22D8.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB ; [.22D9.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
-11DC ; [.22DA.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
-11DD ; [.22DB.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
-316F ; [.22DB.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS; QQK
-11DE ; [.22DC.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF ; [.22DD.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
-3170 ; [.22DD.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS; QQK
-11E0 ; [.22DE.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1 ; [.22DF.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
-11E2 ; [.22E0.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3 ; [.22E1.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
-11E4 ; [.22E2.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5 ; [.22E3.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
-11E6 ; [.22E4.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7 ; [.22E5.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
-11E8 ; [.22E6.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
-11E9 ; [.22E7.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
-11EA ; [.22E8.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
-11EB ; [.22E9.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
-11EC ; [.22EA.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED ; [.22EB.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE ; [.22EC.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
-11EF ; [.22ED.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0 ; [.22EE.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
-11F1 ; [.22EF.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
-3182 ; [.22EF.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS; QQK
-11F2 ; [.22F0.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
-3183 ; [.22F0.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS; QQK
-11F3 ; [.22F1.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4 ; [.22F2.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5 ; [.22F3.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
-11F6 ; [.22F4.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
-11F7 ; [.22F5.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
-11F8 ; [.22F6.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
-11F9 ; [.22F7.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
-3041 ; [.22F8.0020.000D.3041] # HIRAGANA LETTER SMALL A
-3042 ; [.22F8.0020.000E.3042] # HIRAGANA LETTER A
-30A1 ; [.22F8.0020.000F.30A1] # KATAKANA LETTER SMALL A
-FF67 ; [.22F8.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A; QQK
-30A2 ; [.22F8.0020.0011.30A2] # KATAKANA LETTER A
-FF71 ; [.22F8.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A; QQK
-32D0 ; [.22F8.0020.0013.32D0] # CIRCLED KATAKANA A; QQK
-3303 ; [.22F8.0020.001C.3303][.0FA3.0020.001C.3303][.2320.0020.001F.3303] # SQUARE AARU; QQKN
-3300 ; [.22F8.0020.001C.3300][.2311.0020.001C.3300][.0000.0178.001F.3300][.0FA3.0020.001F.3300][.230B.0020.001F.3300] # SQUARE APAATO; QQKN
-3301 ; [.22F8.0020.001C.3301][.2320.0020.001C.3301][.2313.0020.001F.3301][.22F8.0020.001F.3301] # SQUARE ARUHUA; QQKN
-3302 ; [.22F8.0020.001C.3302][.2327.0020.001C.3302][.2314.0020.001F.3302][.0000.0178.001F.3302][.22F8.0020.001F.3302] # SQUARE ANPEA; QQKN
-3043 ; [.22F9.0020.000D.3043] # HIRAGANA LETTER SMALL I
-3044 ; [.22F9.0020.000E.3044] # HIRAGANA LETTER I
-30A3 ; [.22F9.0020.000F.30A3] # KATAKANA LETTER SMALL I
-FF68 ; [.22F9.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I; QQK
-30A4 ; [.22F9.0020.0011.30A4] # KATAKANA LETTER I
-FF72 ; [.22F9.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I; QQK
-32D1 ; [.22F9.0020.0013.32D1] # CIRCLED KATAKANA I; QQK
-3304 ; [.22F9.0020.001C.3304][.230D.0020.001C.3304][.2327.0020.001F.3304][.22FF.0020.001F.3304][.0000.0177.001F.3304] # SQUARE ININGU; QQKN
-3305 ; [.22F9.0020.001C.3305][.2327.0020.001C.3305][.2308.0020.001F.3305] # SQUARE INTI; QQKN
-3045 ; [.22FA.0020.000D.3045] # HIRAGANA LETTER SMALL U
-3046 ; [.22FA.0020.000E.3046] # HIRAGANA LETTER U
-30A5 ; [.22FA.0020.000F.30A5] # KATAKANA LETTER SMALL U
-FF69 ; [.22FA.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U; QQK
-30A6 ; [.22FA.0020.0011.30A6] # KATAKANA LETTER U
-FF73 ; [.22FA.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U; QQK
-32D2 ; [.22FA.0020.0013.32D2] # CIRCLED KATAKANA U; QQK
-3094 ; [.22FA.0020.000E.3046][.0000.0177.0002.3099] # HIRAGANA LETTER VU; QQCM
-30F4 ; [.22FA.0020.0011.30A6][.0000.0177.0002.3099] # KATAKANA LETTER VU; QQCM
-3306 ; [.22FA.0020.001C.3306][.22FC.0020.001C.3306][.2327.0020.001F.3306] # SQUARE UON; QQKN
-3047 ; [.22FB.0020.000D.3047] # HIRAGANA LETTER SMALL E
-3048 ; [.22FB.0020.000E.3048] # HIRAGANA LETTER E
-30A7 ; [.22FB.0020.000F.30A7] # KATAKANA LETTER SMALL E
-FF6A ; [.22FB.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E; QQK
-30A8 ; [.22FB.0020.0011.30A8] # KATAKANA LETTER E
-FF74 ; [.22FB.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E; QQK
-32D3 ; [.22FB.0020.0013.32D3] # CIRCLED KATAKANA E; QQK
-3308 ; [.22FB.0020.001C.3308][.0FA3.0020.001C.3308][.22FD.0020.001F.3308][.0FA3.0020.001F.3308] # SQUARE EEKAA; QQKN
-3307 ; [.22FB.0020.001C.3307][.2304.0020.001C.3307][.22FF.0020.001F.3307][.0FA3.0020.001F.3307][.230B.0020.001F.3307][.0000.0177.001F.3307] # SQUARE ESUKUUDO; QQKN
-3049 ; [.22FC.0020.000D.3049] # HIRAGANA LETTER SMALL O
-304A ; [.22FC.0020.000E.304A] # HIRAGANA LETTER O
-30A9 ; [.22FC.0020.000F.30A9] # KATAKANA LETTER SMALL O
-FF6B ; [.22FC.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O; QQK
-30AA ; [.22FC.0020.0011.30AA] # KATAKANA LETTER O
-FF75 ; [.22FC.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O; QQK
-32D4 ; [.22FC.0020.0013.32D4] # CIRCLED KATAKANA O; QQK
-330A ; [.22FC.0020.001C.330A][.0FA3.0020.001C.330A][.2318.0020.001F.330A] # SQUARE OOMU; QQKN
-3309 ; [.22FC.0020.001C.3309][.2327.0020.001C.3309][.2304.0020.001F.3309] # SQUARE ONSU; QQKN
-3095 ; [.22FD.0020.000D.3095] # HIRAGANA LETTER SMALL KA
-304B ; [.22FD.0020.000E.304B] # HIRAGANA LETTER KA
-30F5 ; [.22FD.0020.000F.30F5] # KATAKANA LETTER SMALL KA
-30AB ; [.22FD.0020.0011.30AB] # KATAKANA LETTER KA
-FF76 ; [.22FD.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA; QQK
-32D5 ; [.22FD.0020.0013.32D5] # CIRCLED KATAKANA KA; QQK
-304C ; [.22FD.0020.000E.304B][.0000.0177.0002.3099] # HIRAGANA LETTER GA; QQCM
-30AC ; [.22FD.0020.0011.30AB][.0000.0177.0002.3099] # KATAKANA LETTER GA; QQCM
-330B ; [.22FD.0020.001C.330B][.22F9.0020.001C.330B][.231F.0020.001F.330B] # SQUARE KAIRI; QQKN
-330C ; [.22FD.0020.001C.330C][.231E.0020.001C.330C][.2309.0020.001F.330C][.230B.0020.001F.330C] # SQUARE KARATTO; QQKN
-330D ; [.22FD.0020.001C.330D][.2322.0020.001C.330D][.231F.0020.001F.330D][.0FA3.0020.001F.330D] # SQUARE KARORII; QQKN
-330E ; [.22FD.0020.001C.330E][.0000.0177.001C.330E][.2322.0020.001F.330E][.2327.0020.001F.330E] # SQUARE GARON; QQKN
-330F ; [.22FD.0020.001C.330F][.0000.0177.001C.330F][.2327.0020.001F.330F][.2316.0020.001F.330F] # SQUARE GANMA; QQKN
-304D ; [.22FE.0020.000E.304D] # HIRAGANA LETTER KI
-30AD ; [.22FE.0020.0011.30AD] # KATAKANA LETTER KI
-FF77 ; [.22FE.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI; QQK
-32D6 ; [.22FE.0020.0013.32D6] # CIRCLED KATAKANA KI; QQK
-304E ; [.22FE.0020.000E.304D][.0000.0177.0002.3099] # HIRAGANA LETTER GI; QQCM
-30AE ; [.22FE.0020.0011.30AD][.0000.0177.0002.3099] # KATAKANA LETTER GI; QQCM
-3310 ; [.22FE.0020.001C.3310][.0000.0177.001C.3310][.22FD.0020.001F.3310][.0000.0177.001F.3310] # SQUARE GIGA; QQKN
-3311 ; [.22FE.0020.001C.3311][.0000.0177.001C.3311][.230D.0020.001F.3311][.0FA3.0020.001F.3311] # SQUARE GINII; QQKN
-3312 ; [.22FE.0020.001C.3312][.231C.0020.001C.3312][.231F.0020.001F.3312][.0FA3.0020.001F.3312] # SQUARE KYURII; QQKN
-3313 ; [.22FE.0020.001C.3313][.0000.0177.001C.3313][.2320.0020.001F.3313][.2307.0020.001F.3313][.0000.0177.001F.3313][.0FA3.0020.001F.3313] # SQUARE GIRUDAA; QQKN
-3314 ; [.22FE.0020.001C.3314][.2322.0020.001C.3314] # SQUARE KIRO; QQKN
-3315 ; [.22FE.0020.001C.3315][.2322.0020.001C.3315][.22FF.0020.001F.3315][.0000.0177.001F.3315][.231E.0020.001F.3315][.2318.0020.001F.3315] # SQUARE KIROGURAMU; QQKN
-3316 ; [.22FE.0020.001C.3316][.2322.0020.001C.3316][.2319.0020.001F.3316][.0FA3.0020.001F.3316][.230B.0020.001F.3316][.2320.0020.001F.3316] # SQUARE KIROMEETORU; QQKN
-3317 ; [.22FE.0020.001C.3317][.2322.0020.001C.3317][.2323.0020.001F.3317][.2309.0020.001F.3317][.230B.0020.001F.3317] # SQUARE KIROWATTO; QQKN
-304F ; [.22FF.0020.000E.304F] # HIRAGANA LETTER KU
-31F0 ; [.22FF.0020.000F.31F0] # KATAKANA LETTER SMALL KU
-30AF ; [.22FF.0020.0011.30AF] # KATAKANA LETTER KU
-FF78 ; [.22FF.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU; QQK
-32D7 ; [.22FF.0020.0013.32D7] # CIRCLED KATAKANA KU; QQK
-3050 ; [.22FF.0020.000E.304F][.0000.0177.0002.3099] # HIRAGANA LETTER GU; QQCM
-30B0 ; [.22FF.0020.0011.30AF][.0000.0177.0002.3099] # KATAKANA LETTER GU; QQCM
-3318 ; [.22FF.0020.001C.3318][.0000.0177.001C.3318][.231E.0020.001F.3318][.2318.0020.001F.3318] # SQUARE GURAMU; QQKN
-3319 ; [.22FF.0020.001C.3319][.0000.0177.001C.3319][.231E.0020.001F.3319][.2318.0020.001F.3319][.230B.0020.001F.3319][.2327.0020.001F.3319] # SQUARE GURAMUTON; QQKN
-331A ; [.22FF.0020.001C.331A][.2320.0020.001C.331A][.2305.0020.001F.331A][.0000.0177.001F.331A][.22F9.0020.001F.331A][.2322.0020.001F.331A] # SQUARE KURUZEIRO; QQKN
-331B ; [.22FF.0020.001C.331B][.2322.0020.001C.331B][.0FA3.0020.001F.331B][.230F.0020.001F.331B] # SQUARE KUROONE; QQKN
-3096 ; [.2300.0020.000D.3096] # HIRAGANA LETTER SMALL KE
-3051 ; [.2300.0020.000E.3051] # HIRAGANA LETTER KE
-30F6 ; [.2300.0020.000F.30F6] # KATAKANA LETTER SMALL KE
-30B1 ; [.2300.0020.0011.30B1] # KATAKANA LETTER KE
-FF79 ; [.2300.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE; QQK
-32D8 ; [.2300.0020.0013.32D8] # CIRCLED KATAKANA KE; QQK
-3052 ; [.2300.0020.000E.3051][.0000.0177.0002.3099] # HIRAGANA LETTER GE; QQCM
-30B2 ; [.2300.0020.0011.30B1][.0000.0177.0002.3099] # KATAKANA LETTER GE; QQCM
-331C ; [.2300.0020.001C.331C][.0FA3.0020.001C.331C][.2304.0020.001F.331C] # SQUARE KEESU; QQKN
-3053 ; [.2301.0020.000E.3053] # HIRAGANA LETTER KO
-30B3 ; [.2301.0020.0011.30B3] # KATAKANA LETTER KO
-FF7A ; [.2301.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO; QQK
-32D9 ; [.2301.0020.0013.32D9] # CIRCLED KATAKANA KO; QQK
-3054 ; [.2301.0020.000E.3053][.0000.0177.0002.3099] # HIRAGANA LETTER GO; QQCM
-30B4 ; [.2301.0020.0011.30B3][.0000.0177.0002.3099] # KATAKANA LETTER GO; QQCM
-331E ; [.2301.0020.001C.331E][.0FA3.0020.001C.331E][.2315.0020.001F.331E][.0000.0178.001F.331E] # SQUARE KOOPO; QQKN
-30FF ; [.2301.0020.0016.30FF][.230B.0020.0016.30FF] # KATAKANA DIGRAPH KOTO; QQKN
-331D ; [.2301.0020.001C.331D][.2320.0020.001C.331D][.230C.0020.001F.331D] # SQUARE KORUNA; QQKN
-3055 ; [.2302.0020.000E.3055] # HIRAGANA LETTER SA
-30B5 ; [.2302.0020.0011.30B5] # KATAKANA LETTER SA
-FF7B ; [.2302.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA; QQK
-32DA ; [.2302.0020.0013.32DA] # CIRCLED KATAKANA SA; QQK
-3056 ; [.2302.0020.000E.3055][.0000.0177.0002.3099] # HIRAGANA LETTER ZA; QQCM
-30B6 ; [.2302.0020.0011.30B5][.0000.0177.0002.3099] # KATAKANA LETTER ZA; QQCM
-331F ; [.2302.0020.001C.331F][.22F9.0020.001C.331F][.22FF.0020.001F.331F][.2320.0020.001F.331F] # SQUARE SAIKURU; QQKN
-3320 ; [.2302.0020.001C.3320][.2327.0020.001C.3320][.2308.0020.001F.3320][.0FA3.0020.001F.3320][.2318.0020.001F.3320] # SQUARE SANTIIMU; QQKN
-3057 ; [.2303.0020.000E.3057] # HIRAGANA LETTER SI
-31F1 ; [.2303.0020.000F.31F1] # KATAKANA LETTER SMALL SI
-30B7 ; [.2303.0020.0011.30B7] # KATAKANA LETTER SI
-FF7C ; [.2303.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI; QQK
-32DB ; [.2303.0020.0013.32DB] # CIRCLED KATAKANA SI; QQK
-3058 ; [.2303.0020.000E.3057][.0000.0177.0002.3099] # HIRAGANA LETTER ZI; QQCM
-30B8 ; [.2303.0020.0011.30B7][.0000.0177.0002.3099] # KATAKANA LETTER ZI; QQCM
-3006 ; [.2303.0020.0004.3006][.2319.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK; QQKN
-3321 ; [.2303.0020.001C.3321][.231F.0020.001C.3321][.2327.0020.001F.3321][.22FF.0020.001F.3321][.0000.0177.001F.3321] # SQUARE SIRINGU; QQKN
-3059 ; [.2304.0020.000E.3059] # HIRAGANA LETTER SU
-31F2 ; [.2304.0020.000F.31F2] # KATAKANA LETTER SMALL SU
-30B9 ; [.2304.0020.0011.30B9] # KATAKANA LETTER SU
-FF7D ; [.2304.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU; QQK
-32DC ; [.2304.0020.0013.32DC] # CIRCLED KATAKANA SU; QQK
-305A ; [.2304.0020.000E.3059][.0000.0177.0002.3099] # HIRAGANA LETTER ZU; QQCM
-30BA ; [.2304.0020.0011.30B9][.0000.0177.0002.3099] # KATAKANA LETTER ZU; QQCM
-305B ; [.2305.0020.000E.305B] # HIRAGANA LETTER SE
-30BB ; [.2305.0020.0011.30BB] # KATAKANA LETTER SE
-FF7E ; [.2305.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE; QQK
-32DD ; [.2305.0020.0013.32DD] # CIRCLED KATAKANA SE; QQK
-305C ; [.2305.0020.000E.305B][.0000.0177.0002.3099] # HIRAGANA LETTER ZE; QQCM
-30BC ; [.2305.0020.0011.30BB][.0000.0177.0002.3099] # KATAKANA LETTER ZE; QQCM
-3322 ; [.2305.0020.001C.3322][.2327.0020.001C.3322][.2308.0020.001F.3322] # SQUARE SENTI; QQKN
-3323 ; [.2305.0020.001C.3323][.2327.0020.001C.3323][.230B.0020.001F.3323] # SQUARE SENTO; QQKN
-305D ; [.2306.0020.000E.305D] # HIRAGANA LETTER SO
-30BD ; [.2306.0020.0011.30BD] # KATAKANA LETTER SO
-FF7F ; [.2306.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO; QQK
-32DE ; [.2306.0020.0013.32DE] # CIRCLED KATAKANA SO; QQK
-305E ; [.2306.0020.000E.305D][.0000.0177.0002.3099] # HIRAGANA LETTER ZO; QQCM
-30BE ; [.2306.0020.0011.30BD][.0000.0177.0002.3099] # KATAKANA LETTER ZO; QQCM
-305F ; [.2307.0020.000E.305F] # HIRAGANA LETTER TA
-30BF ; [.2307.0020.0011.30BF] # KATAKANA LETTER TA
-FF80 ; [.2307.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA; QQK
-32DF ; [.2307.0020.0013.32DF] # CIRCLED KATAKANA TA; QQK
-3060 ; [.2307.0020.000E.305F][.0000.0177.0002.3099] # HIRAGANA LETTER DA; QQCM
-30C0 ; [.2307.0020.0011.30BF][.0000.0177.0002.3099] # KATAKANA LETTER DA; QQCM
-3324 ; [.2307.0020.001C.3324][.0000.0177.001C.3324][.0FA3.0020.001F.3324][.2304.0020.001F.3324] # SQUARE DAASU; QQKN
-3061 ; [.2308.0020.000E.3061] # HIRAGANA LETTER TI
-30C1 ; [.2308.0020.0011.30C1] # KATAKANA LETTER TI
-FF81 ; [.2308.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI; QQK
-32E0 ; [.2308.0020.0013.32E0] # CIRCLED KATAKANA TI; QQK
-3062 ; [.2308.0020.000E.3061][.0000.0177.0002.3099] # HIRAGANA LETTER DI; QQCM
-30C2 ; [.2308.0020.0011.30C1][.0000.0177.0002.3099] # KATAKANA LETTER DI; QQCM
-3063 ; [.2309.0020.000D.3063] # HIRAGANA LETTER SMALL TU
-3064 ; [.2309.0020.000E.3064] # HIRAGANA LETTER TU
-30C3 ; [.2309.0020.000F.30C3] # KATAKANA LETTER SMALL TU
-FF6F ; [.2309.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU; QQK
-30C4 ; [.2309.0020.0011.30C4] # KATAKANA LETTER TU
-FF82 ; [.2309.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU; QQK
-32E1 ; [.2309.0020.0013.32E1] # CIRCLED KATAKANA TU; QQK
-3065 ; [.2309.0020.000E.3064][.0000.0177.0002.3099] # HIRAGANA LETTER DU; QQCM
-30C5 ; [.2309.0020.0011.30C4][.0000.0177.0002.3099] # KATAKANA LETTER DU; QQCM
-3066 ; [.230A.0020.000E.3066] # HIRAGANA LETTER TE
-30C6 ; [.230A.0020.0011.30C6] # KATAKANA LETTER TE
-FF83 ; [.230A.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE; QQK
-32E2 ; [.230A.0020.0013.32E2] # CIRCLED KATAKANA TE; QQK
-3067 ; [.230A.0020.000E.3066][.0000.0177.0002.3099] # HIRAGANA LETTER DE; QQCM
-30C7 ; [.230A.0020.0011.30C6][.0000.0177.0002.3099] # KATAKANA LETTER DE; QQCM
-3325 ; [.230A.0020.001C.3325][.0000.0177.001C.3325][.2303.0020.001F.3325] # SQUARE DESI; QQKN
-3068 ; [.230B.0020.000E.3068] # HIRAGANA LETTER TO
-31F3 ; [.230B.0020.000F.31F3] # KATAKANA LETTER SMALL TO
-30C8 ; [.230B.0020.0011.30C8] # KATAKANA LETTER TO
-FF84 ; [.230B.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO; QQK
-32E3 ; [.230B.0020.0013.32E3] # CIRCLED KATAKANA TO; QQK
-3069 ; [.230B.0020.000E.3068][.0000.0177.0002.3099] # HIRAGANA LETTER DO; QQCM
-30C9 ; [.230B.0020.0011.30C8][.0000.0177.0002.3099] # KATAKANA LETTER DO; QQCM
-3326 ; [.230B.0020.001C.3326][.0000.0177.001C.3326][.2320.0020.001F.3326] # SQUARE DORU; QQKN
-3327 ; [.230B.0020.001C.3327][.2327.0020.001C.3327] # SQUARE TON; QQKN
-306A ; [.230C.0020.000E.306A] # HIRAGANA LETTER NA
-30CA ; [.230C.0020.0011.30CA] # KATAKANA LETTER NA
-FF85 ; [.230C.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA; QQK
-32E4 ; [.230C.0020.0013.32E4] # CIRCLED KATAKANA NA; QQK
-3328 ; [.230C.0020.001C.3328][.2310.0020.001C.3328] # SQUARE NANO; QQKN
-306B ; [.230D.0020.000E.306B] # HIRAGANA LETTER NI
-30CB ; [.230D.0020.0011.30CB] # KATAKANA LETTER NI
-FF86 ; [.230D.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI; QQK
-32E5 ; [.230D.0020.0013.32E5] # CIRCLED KATAKANA NI; QQK
-306C ; [.230E.0020.000E.306C] # HIRAGANA LETTER NU
-31F4 ; [.230E.0020.000F.31F4] # KATAKANA LETTER SMALL NU
-30CC ; [.230E.0020.0011.30CC] # KATAKANA LETTER NU
-FF87 ; [.230E.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU; QQK
-32E6 ; [.230E.0020.0013.32E6] # CIRCLED KATAKANA NU; QQK
-306D ; [.230F.0020.000E.306D] # HIRAGANA LETTER NE
-30CD ; [.230F.0020.0011.30CD] # KATAKANA LETTER NE
-FF88 ; [.230F.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE; QQK
-32E7 ; [.230F.0020.0013.32E7] # CIRCLED KATAKANA NE; QQK
-306E ; [.2310.0020.000E.306E] # HIRAGANA LETTER NO
-30CE ; [.2310.0020.0011.30CE] # KATAKANA LETTER NO
-FF89 ; [.2310.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO; QQK
-32E8 ; [.2310.0020.0013.32E8] # CIRCLED KATAKANA NO; QQK
-3329 ; [.2310.0020.001C.3329][.2309.0020.001C.3329][.230B.0020.001F.3329] # SQUARE NOTTO; QQKN
-306F ; [.2311.0020.000E.306F] # HIRAGANA LETTER HA
-31F5 ; [.2311.0020.000F.31F5] # KATAKANA LETTER SMALL HA
-30CF ; [.2311.0020.0011.30CF] # KATAKANA LETTER HA
-FF8A ; [.2311.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA; QQK
-32E9 ; [.2311.0020.0013.32E9] # CIRCLED KATAKANA HA; QQK
-3070 ; [.2311.0020.000E.306F][.0000.0177.0002.3099] # HIRAGANA LETTER BA; QQCM
-30D0 ; [.2311.0020.0011.30CF][.0000.0177.0002.3099] # KATAKANA LETTER BA; QQCM
-3071 ; [.2311.0020.000E.306F][.0000.0178.0002.309A] # HIRAGANA LETTER PA; QQCM
-30D1 ; [.2311.0020.0011.30CF][.0000.0178.0002.309A] # KATAKANA LETTER PA; QQCM
-332B ; [.2311.0020.001C.332B][.0000.0178.001C.332B][.0FA3.0020.001F.332B][.2305.0020.001F.332B][.2327.0020.001F.332B][.230B.0020.001F.332B] # SQUARE PAASENTO; QQKN
-332C ; [.2311.0020.001C.332C][.0000.0178.001C.332C][.0FA3.0020.001F.332C][.2309.0020.001F.332C] # SQUARE PAATU; QQKN
-332D ; [.2311.0020.001C.332D][.0000.0177.001C.332D][.0FA3.0020.001F.332D][.2321.0020.001F.332D][.2320.0020.001F.332D] # SQUARE BAARERU; QQKN
-332A ; [.2311.0020.001C.332A][.22F9.0020.001C.332A][.2309.0020.001F.332A] # SQUARE HAITU; QQKN
-3072 ; [.2312.0020.000E.3072] # HIRAGANA LETTER HI
-31F6 ; [.2312.0020.000F.31F6] # KATAKANA LETTER SMALL HI
-30D2 ; [.2312.0020.0011.30D2] # KATAKANA LETTER HI
-FF8B ; [.2312.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI; QQK
-32EA ; [.2312.0020.0013.32EA] # CIRCLED KATAKANA HI; QQK
-3073 ; [.2312.0020.000E.3072][.0000.0177.0002.3099] # HIRAGANA LETTER BI; QQCM
-30D3 ; [.2312.0020.0011.30D2][.0000.0177.0002.3099] # KATAKANA LETTER BI; QQCM
-3074 ; [.2312.0020.000E.3072][.0000.0178.0002.309A] # HIRAGANA LETTER PI; QQCM
-30D4 ; [.2312.0020.0011.30D2][.0000.0178.0002.309A] # KATAKANA LETTER PI; QQCM
-332E ; [.2312.0020.001C.332E][.0000.0178.001C.332E][.22F8.0020.001F.332E][.2304.0020.001F.332E][.230B.0020.001F.332E][.2320.0020.001F.332E] # SQUARE PIASUTORU; QQKN
-332F ; [.2312.0020.001C.332F][.0000.0178.001C.332F][.22FF.0020.001F.332F][.2320.0020.001F.332F] # SQUARE PIKURU; QQKN
-3330 ; [.2312.0020.001C.3330][.0000.0178.001C.3330][.2301.0020.001F.3330] # SQUARE PIKO; QQKN
-3331 ; [.2312.0020.001C.3331][.0000.0177.001C.3331][.2320.0020.001F.3331] # SQUARE BIRU; QQKN
-3075 ; [.2313.0020.000E.3075] # HIRAGANA LETTER HU
-31F7 ; [.2313.0020.000F.31F7] # KATAKANA LETTER SMALL HU
-30D5 ; [.2313.0020.0011.30D5] # KATAKANA LETTER HU
-FF8C ; [.2313.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU; QQK
-32EB ; [.2313.0020.0013.32EB] # CIRCLED KATAKANA HU; QQK
-3076 ; [.2313.0020.000E.3075][.0000.0177.0002.3099] # HIRAGANA LETTER BU; QQCM
-30D6 ; [.2313.0020.0011.30D5][.0000.0177.0002.3099] # KATAKANA LETTER BU; QQCM
-3077 ; [.2313.0020.000E.3075][.0000.0178.0002.309A] # HIRAGANA LETTER PU; QQCM
-30D7 ; [.2313.0020.0011.30D5][.0000.0178.0002.309A] # KATAKANA LETTER PU; QQCM
-3332 ; [.2313.0020.001C.3332][.22F8.0020.001C.3332][.231E.0020.001F.3332][.2309.0020.001F.3332][.230B.0020.001F.3332][.0000.0177.001F.3332] # SQUARE HUARADDO; QQKN
-3333 ; [.2313.0020.001C.3333][.22F9.0020.001C.3333][.0FA3.0020.001F.3333][.230B.0020.001F.3333] # SQUARE HUIITO; QQKN
-3334 ; [.2313.0020.001C.3334][.0000.0177.001C.3334][.2309.0020.001F.3334][.2303.0020.001F.3334][.22FB.0020.001F.3334][.2320.0020.001F.3334] # SQUARE BUSSYERU; QQKN
-3335 ; [.2313.0020.001C.3335][.231E.0020.001C.3335][.2327.0020.001F.3335] # SQUARE HURAN; QQKN
-3078 ; [.2314.0020.000E.3078] # HIRAGANA LETTER HE
-31F8 ; [.2314.0020.000F.31F8] # KATAKANA LETTER SMALL HE
-30D8 ; [.2314.0020.0011.30D8] # KATAKANA LETTER HE
-FF8D ; [.2314.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE; QQK
-32EC ; [.2314.0020.0013.32EC] # CIRCLED KATAKANA HE; QQK
-3079 ; [.2314.0020.000E.3078][.0000.0177.0002.3099] # HIRAGANA LETTER BE; QQCM
-30D9 ; [.2314.0020.0011.30D8][.0000.0177.0002.3099] # KATAKANA LETTER BE; QQCM
-307A ; [.2314.0020.000E.3078][.0000.0178.0002.309A] # HIRAGANA LETTER PE; QQCM
-30DA ; [.2314.0020.0011.30D8][.0000.0178.0002.309A] # KATAKANA LETTER PE; QQCM
-333B ; [.2314.0020.001C.333B][.0000.0178.001C.333B][.0FA3.0020.001F.333B][.2303.0020.001F.333B][.0000.0177.001F.333B] # SQUARE PEEZI; QQKN
-333C ; [.2314.0020.001C.333C][.0000.0177.001C.333C][.0FA3.0020.001F.333C][.2307.0020.001F.333C] # SQUARE BEETA; QQKN
-3336 ; [.2314.0020.001C.3336][.22FF.0020.001C.3336][.2307.0020.001F.3336][.0FA3.0020.001F.3336][.2320.0020.001F.3336] # SQUARE HEKUTAARU; QQKN
-3337 ; [.2314.0020.001C.3337][.0000.0178.001C.3337][.2306.0020.001F.3337] # SQUARE PESO; QQKN
-3338 ; [.2314.0020.001C.3338][.0000.0178.001C.3338][.230D.0020.001F.3338][.2312.0020.001F.3338] # SQUARE PENIHI; QQKN
-3339 ; [.2314.0020.001C.3339][.2320.0020.001C.3339][.2309.0020.001F.3339] # SQUARE HERUTU; QQKN
-333A ; [.2314.0020.001C.333A][.0000.0178.001C.333A][.2327.0020.001F.333A][.2304.0020.001F.333A] # SQUARE PENSU; QQKN
-307B ; [.2315.0020.000E.307B] # HIRAGANA LETTER HO
-31F9 ; [.2315.0020.000F.31F9] # KATAKANA LETTER SMALL HO
-30DB ; [.2315.0020.0011.30DB] # KATAKANA LETTER HO
-FF8E ; [.2315.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO; QQK
-32ED ; [.2315.0020.0013.32ED] # CIRCLED KATAKANA HO; QQK
-307C ; [.2315.0020.000E.307B][.0000.0177.0002.3099] # HIRAGANA LETTER BO; QQCM
-30DC ; [.2315.0020.0011.30DB][.0000.0177.0002.3099] # KATAKANA LETTER BO; QQCM
-307D ; [.2315.0020.000E.307B][.0000.0178.0002.309A] # HIRAGANA LETTER PO; QQCM
-30DD ; [.2315.0020.0011.30DB][.0000.0178.0002.309A] # KATAKANA LETTER PO; QQCM
-3341 ; [.2315.0020.001C.3341][.0FA3.0020.001C.3341][.2320.0020.001F.3341] # SQUARE HOORU; QQKN
-3342 ; [.2315.0020.001C.3342][.0FA3.0020.001C.3342][.2327.0020.001F.3342] # SQUARE HOON; QQKN
-333D ; [.2315.0020.001C.333D][.0000.0178.001C.333D][.22F9.0020.001F.333D][.2327.0020.001F.333D][.230B.0020.001F.333D] # SQUARE POINTO; QQKN
-333E ; [.2315.0020.001C.333E][.0000.0177.001C.333E][.2320.0020.001F.333E][.230B.0020.001F.333E] # SQUARE BORUTO; QQKN
-333F ; [.2315.0020.001C.333F][.2327.0020.001C.333F] # SQUARE HON; QQKN
-3340 ; [.2315.0020.001C.3340][.0000.0178.001C.3340][.2327.0020.001F.3340][.230B.0020.001F.3340][.0000.0177.001F.3340] # SQUARE PONDO; QQKN
-307E ; [.2316.0020.000E.307E] # HIRAGANA LETTER MA
-30DE ; [.2316.0020.0011.30DE] # KATAKANA LETTER MA
-FF8F ; [.2316.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA; QQK
-32EE ; [.2316.0020.0013.32EE] # CIRCLED KATAKANA MA; QQK
-3343 ; [.2316.0020.001C.3343][.22F9.0020.001C.3343][.22FF.0020.001F.3343][.2322.0020.001F.3343] # SQUARE MAIKURO; QQKN
-3344 ; [.2316.0020.001C.3344][.22F9.0020.001C.3344][.2320.0020.001F.3344] # SQUARE MAIRU; QQKN
-303C ; [.2316.0020.0004.303C][.2304.0020.0004.303C] # MASU MARK; QQKN
-3345 ; [.2316.0020.001C.3345][.2309.0020.001C.3345][.2311.0020.001F.3345] # SQUARE MAHHA; QQKN
-3346 ; [.2316.0020.001C.3346][.2320.0020.001C.3346][.22FF.0020.001F.3346] # SQUARE MARUKU; QQKN
-3347 ; [.2316.0020.001C.3347][.2327.0020.001C.3347][.2303.0020.001F.3347][.231D.0020.001F.3347][.2327.0020.001F.3347] # SQUARE MANSYON; QQKN
-307F ; [.2317.0020.000E.307F] # HIRAGANA LETTER MI
-30DF ; [.2317.0020.0011.30DF] # KATAKANA LETTER MI
-FF90 ; [.2317.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI; QQK
-32EF ; [.2317.0020.0013.32EF] # CIRCLED KATAKANA MI; QQK
-3348 ; [.2317.0020.001C.3348][.22FF.0020.001C.3348][.2322.0020.001F.3348][.2327.0020.001F.3348] # SQUARE MIKURON; QQKN
-3349 ; [.2317.0020.001C.3349][.231F.0020.001C.3349] # SQUARE MIRI; QQKN
-334A ; [.2317.0020.001C.334A][.231F.0020.001C.334A][.2311.0020.001F.334A][.0000.0177.001F.334A][.0FA3.0020.001F.334A][.2320.0020.001F.334A] # SQUARE MIRIBAARU; QQKN
-3080 ; [.2318.0020.000E.3080] # HIRAGANA LETTER MU
-31FA ; [.2318.0020.000F.31FA] # KATAKANA LETTER SMALL MU
-30E0 ; [.2318.0020.0011.30E0] # KATAKANA LETTER MU
-FF91 ; [.2318.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU; QQK
-32F0 ; [.2318.0020.0013.32F0] # CIRCLED KATAKANA MU; QQK
-3081 ; [.2319.0020.000E.3081] # HIRAGANA LETTER ME
-30E1 ; [.2319.0020.0011.30E1] # KATAKANA LETTER ME
-FF92 ; [.2319.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME; QQK
-32F1 ; [.2319.0020.0013.32F1] # CIRCLED KATAKANA ME; QQK
-334D ; [.2319.0020.001C.334D][.0FA3.0020.001C.334D][.230B.0020.001F.334D][.2320.0020.001F.334D] # SQUARE MEETORU; QQKN
-334B ; [.2319.0020.001C.334B][.22FD.0020.001C.334B][.0000.0177.001F.334B] # SQUARE MEGA; QQKN
-334C ; [.2319.0020.001C.334C][.22FD.0020.001C.334C][.0000.0177.001F.334C][.230B.0020.001F.334C][.2327.0020.001F.334C] # SQUARE MEGATON; QQKN
-3082 ; [.231A.0020.000E.3082] # HIRAGANA LETTER MO
-30E2 ; [.231A.0020.0011.30E2] # KATAKANA LETTER MO
-FF93 ; [.231A.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO; QQK
-32F2 ; [.231A.0020.0013.32F2] # CIRCLED KATAKANA MO; QQK
-3083 ; [.231B.0020.000D.3083] # HIRAGANA LETTER SMALL YA
-3084 ; [.231B.0020.000E.3084] # HIRAGANA LETTER YA
-30E3 ; [.231B.0020.000F.30E3] # KATAKANA LETTER SMALL YA
-FF6C ; [.231B.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA; QQK
-30E4 ; [.231B.0020.0011.30E4] # KATAKANA LETTER YA
-FF94 ; [.231B.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA; QQK
-32F3 ; [.231B.0020.0013.32F3] # CIRCLED KATAKANA YA; QQK
-334E ; [.231B.0020.001C.334E][.0FA3.0020.001C.334E][.230B.0020.001F.334E][.0000.0177.001F.334E] # SQUARE YAADO; QQKN
-334F ; [.231B.0020.001C.334F][.0FA3.0020.001C.334F][.2320.0020.001F.334F] # SQUARE YAARU; QQKN
-3085 ; [.231C.0020.000D.3085] # HIRAGANA LETTER SMALL YU
-3086 ; [.231C.0020.000E.3086] # HIRAGANA LETTER YU
-30E5 ; [.231C.0020.000F.30E5] # KATAKANA LETTER SMALL YU
-FF6D ; [.231C.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU; QQK
-30E6 ; [.231C.0020.0011.30E6] # KATAKANA LETTER YU
-FF95 ; [.231C.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU; QQK
-32F4 ; [.231C.0020.0013.32F4] # CIRCLED KATAKANA YU; QQK
-3350 ; [.231C.0020.001C.3350][.22F8.0020.001C.3350][.2327.0020.001F.3350] # SQUARE YUAN; QQKN
-3087 ; [.231D.0020.000D.3087] # HIRAGANA LETTER SMALL YO
-3088 ; [.231D.0020.000E.3088] # HIRAGANA LETTER YO
-30E7 ; [.231D.0020.000F.30E7] # KATAKANA LETTER SMALL YO
-FF6E ; [.231D.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO; QQK
-30E8 ; [.231D.0020.0011.30E8] # KATAKANA LETTER YO
-FF96 ; [.231D.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO; QQK
-32F5 ; [.231D.0020.0013.32F5] # CIRCLED KATAKANA YO; QQK
-309F ; [.231D.0020.0016.309F][.231F.0020.0016.309F] # HIRAGANA DIGRAPH YORI; QQKN
-3089 ; [.231E.0020.000E.3089] # HIRAGANA LETTER RA
-31FB ; [.231E.0020.000F.31FB] # KATAKANA LETTER SMALL RA
-30E9 ; [.231E.0020.0011.30E9] # KATAKANA LETTER RA
-FF97 ; [.231E.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA; QQK
-32F6 ; [.231E.0020.0013.32F6] # CIRCLED KATAKANA RA; QQK
-308A ; [.231F.0020.000E.308A] # HIRAGANA LETTER RI
-31FC ; [.231F.0020.000F.31FC] # KATAKANA LETTER SMALL RI
-30EA ; [.231F.0020.0011.30EA] # KATAKANA LETTER RI
-FF98 ; [.231F.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI; QQK
-32F7 ; [.231F.0020.0013.32F7] # CIRCLED KATAKANA RI; QQK
-3351 ; [.231F.0020.001C.3351][.2309.0020.001C.3351][.230B.0020.001F.3351][.2320.0020.001F.3351] # SQUARE RITTORU; QQKN
-3352 ; [.231F.0020.001C.3352][.231E.0020.001C.3352] # SQUARE RIRA; QQKN
-308B ; [.2320.0020.000E.308B] # HIRAGANA LETTER RU
-31FD ; [.2320.0020.000F.31FD] # KATAKANA LETTER SMALL RU
-30EB ; [.2320.0020.0011.30EB] # KATAKANA LETTER RU
-FF99 ; [.2320.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU; QQK
-32F8 ; [.2320.0020.0013.32F8] # CIRCLED KATAKANA RU; QQK
-3354 ; [.2320.0020.001C.3354][.0FA3.0020.001C.3354][.2313.0020.001F.3354][.0000.0177.001F.3354][.2320.0020.001F.3354] # SQUARE RUUBURU; QQKN
-3353 ; [.2320.0020.001C.3353][.2312.0020.001C.3353][.0000.0178.001F.3353][.0FA3.0020.001F.3353] # SQUARE RUPII; QQKN
-308C ; [.2321.0020.000E.308C] # HIRAGANA LETTER RE
-31FE ; [.2321.0020.000F.31FE] # KATAKANA LETTER SMALL RE
-30EC ; [.2321.0020.0011.30EC] # KATAKANA LETTER RE
-FF9A ; [.2321.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE; QQK
-32F9 ; [.2321.0020.0013.32F9] # CIRCLED KATAKANA RE; QQK
-3355 ; [.2321.0020.001C.3355][.2318.0020.001C.3355] # SQUARE REMU; QQKN
-3356 ; [.2321.0020.001C.3356][.2327.0020.001C.3356][.230B.0020.001F.3356][.2300.0020.001F.3356][.0000.0177.001F.3356][.2327.0020.001F.3356] # SQUARE RENTOGEN; QQKN
-308D ; [.2322.0020.000E.308D] # HIRAGANA LETTER RO
-31FF ; [.2322.0020.000F.31FF] # KATAKANA LETTER SMALL RO
-30ED ; [.2322.0020.0011.30ED] # KATAKANA LETTER RO
-FF9B ; [.2322.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO; QQK
-32FA ; [.2322.0020.0013.32FA] # CIRCLED KATAKANA RO; QQK
-308E ; [.2323.0020.000D.308E] # HIRAGANA LETTER SMALL WA
-308F ; [.2323.0020.000E.308F] # HIRAGANA LETTER WA
-30EE ; [.2323.0020.000F.30EE] # KATAKANA LETTER SMALL WA
-30EF ; [.2323.0020.0011.30EF] # KATAKANA LETTER WA
-FF9C ; [.2323.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA; QQK
-32FB ; [.2323.0020.0013.32FB] # CIRCLED KATAKANA WA; QQK
-30F7 ; [.2323.0020.0011.30EF][.0000.0177.0002.3099] # KATAKANA LETTER VA; QQCM
-3357 ; [.2323.0020.001C.3357][.2309.0020.001C.3357][.230B.0020.001F.3357] # SQUARE WATTO; QQKN
-3090 ; [.2324.0020.000E.3090] # HIRAGANA LETTER WI
-30F0 ; [.2324.0020.0011.30F0] # KATAKANA LETTER WI
-32FC ; [.2324.0020.0013.32FC] # CIRCLED KATAKANA WI; QQK
-30F8 ; [.2324.0020.0011.30F0][.0000.0177.0002.3099] # KATAKANA LETTER VI; QQCM
-3091 ; [.2325.0020.000E.3091] # HIRAGANA LETTER WE
-30F1 ; [.2325.0020.0011.30F1] # KATAKANA LETTER WE
-32FD ; [.2325.0020.0013.32FD] # CIRCLED KATAKANA WE; QQK
-30F9 ; [.2325.0020.0011.30F1][.0000.0177.0002.3099] # KATAKANA LETTER VE; QQCM
-3092 ; [.2326.0020.000E.3092] # HIRAGANA LETTER WO
-30F2 ; [.2326.0020.0011.30F2] # KATAKANA LETTER WO
-FF66 ; [.2326.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO; QQK
-32FE ; [.2326.0020.0013.32FE] # CIRCLED KATAKANA WO; QQK
-30FA ; [.2326.0020.0011.30F2][.0000.0177.0002.3099] # KATAKANA LETTER VO; QQCM
-3093 ; [.2327.0020.000E.3093] # HIRAGANA LETTER N
-30F3 ; [.2327.0020.0011.30F3] # KATAKANA LETTER N
-FF9D ; [.2327.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N; QQK
-3105 ; [.2328.0020.0002.3105] # BOPOMOFO LETTER B
-31A0 ; [.2328.0020.0004.31A0][.0000.019A.0004.31A0] # BOPOMOFO LETTER BU; QQKN
-3106 ; [.2329.0020.0002.3106] # BOPOMOFO LETTER P
-31B4 ; [.2329.0020.0019.31B4] # BOPOMOFO FINAL LETTER P; QQK
-3107 ; [.232A.0020.0002.3107] # BOPOMOFO LETTER M
-3108 ; [.232B.0020.0002.3108] # BOPOMOFO LETTER F
-312A ; [.232C.0020.0002.312A] # BOPOMOFO LETTER V
-3109 ; [.232D.0020.0002.3109] # BOPOMOFO LETTER D
-310A ; [.232E.0020.0002.310A] # BOPOMOFO LETTER T
-31B5 ; [.232E.0020.0019.31B5] # BOPOMOFO FINAL LETTER T; QQK
-310B ; [.232F.0020.0002.310B] # BOPOMOFO LETTER N
-310C ; [.2330.0020.0002.310C] # BOPOMOFO LETTER L
-310D ; [.2331.0020.0002.310D] # BOPOMOFO LETTER G
-31A3 ; [.2331.0020.0004.31A3][.0000.019A.0004.31A3] # BOPOMOFO LETTER GU; QQKN
-310E ; [.2332.0020.0002.310E] # BOPOMOFO LETTER K
-31B6 ; [.2332.0020.0019.31B6] # BOPOMOFO FINAL LETTER K; QQK
-312B ; [.2333.0020.0002.312B] # BOPOMOFO LETTER NG
-31AD ; [.2334.0020.0002.31AD] # BOPOMOFO LETTER NGG
-310F ; [.2335.0020.0002.310F] # BOPOMOFO LETTER H
-31B7 ; [.2335.0020.0019.31B7] # BOPOMOFO FINAL LETTER H; QQK
-3110 ; [.2336.0020.0002.3110] # BOPOMOFO LETTER J
-31A2 ; [.2336.0020.0004.31A2][.0000.019A.0004.31A2] # BOPOMOFO LETTER JI; QQKN
-3111 ; [.2337.0020.0002.3111] # BOPOMOFO LETTER Q
-3112 ; [.2338.0020.0002.3112] # BOPOMOFO LETTER X
-312C ; [.2339.0020.0002.312C] # BOPOMOFO LETTER GN
-3113 ; [.233A.0020.0002.3113] # BOPOMOFO LETTER ZH
-3114 ; [.233B.0020.0002.3114] # BOPOMOFO LETTER CH
-3115 ; [.233C.0020.0002.3115] # BOPOMOFO LETTER SH
-3116 ; [.233D.0020.0002.3116] # BOPOMOFO LETTER R
-3117 ; [.233E.0020.0002.3117] # BOPOMOFO LETTER Z
-31A1 ; [.233E.0020.0004.31A1][.0000.019A.0004.31A1] # BOPOMOFO LETTER ZI; QQKN
-3118 ; [.233F.0020.0002.3118] # BOPOMOFO LETTER C
-3119 ; [.2340.0020.0002.3119] # BOPOMOFO LETTER S
-311A ; [.2341.0020.0002.311A] # BOPOMOFO LETTER A
-31A9 ; [.2341.0020.0004.31A9][.0000.019A.0004.31A9] # BOPOMOFO LETTER ANN; QQKN
-311B ; [.2342.0020.0002.311B] # BOPOMOFO LETTER O
-31A7 ; [.2342.0020.0004.31A7][.0000.019A.0004.31A7] # BOPOMOFO LETTER ONN; QQKN
-31A6 ; [.2343.0020.0002.31A6] # BOPOMOFO LETTER OO
-311C ; [.2344.0020.0002.311C] # BOPOMOFO LETTER E
-311D ; [.2345.0020.0002.311D] # BOPOMOFO LETTER EH
-31A4 ; [.2346.0020.0002.31A4] # BOPOMOFO LETTER EE
-31A5 ; [.2346.0020.0004.31A5][.0000.019A.0004.31A5] # BOPOMOFO LETTER ENN; QQKN
-311E ; [.2347.0020.0002.311E] # BOPOMOFO LETTER AI
-31AE ; [.2347.0020.0004.31AE][.0000.019A.0004.31AE] # BOPOMOFO LETTER AINN; QQKN
-311F ; [.2348.0020.0002.311F] # BOPOMOFO LETTER EI
-3120 ; [.2349.0020.0002.3120] # BOPOMOFO LETTER AU
-31AF ; [.2349.0020.0004.31AF][.0000.019A.0004.31AF] # BOPOMOFO LETTER AUNN; QQKN
-3121 ; [.234A.0020.0002.3121] # BOPOMOFO LETTER OU
-3122 ; [.234B.0020.0002.3122] # BOPOMOFO LETTER AN
-3123 ; [.234C.0020.0002.3123] # BOPOMOFO LETTER EN
-3124 ; [.234D.0020.0002.3124] # BOPOMOFO LETTER ANG
-31B2 ; [.234E.0020.0002.31B2] # BOPOMOFO LETTER ONG
-3125 ; [.234F.0020.0002.3125] # BOPOMOFO LETTER ENG
-31B0 ; [.2350.0020.0002.31B0] # BOPOMOFO LETTER AM
-31B1 ; [.2351.0020.0002.31B1] # BOPOMOFO LETTER OM
-31AC ; [.2352.0020.0002.31AC] # BOPOMOFO LETTER IM
-3126 ; [.2353.0020.0002.3126] # BOPOMOFO LETTER ER
-3127 ; [.2354.0020.0002.3127] # BOPOMOFO LETTER I
-31AA ; [.2354.0020.0004.31AA][.0000.019A.0004.31AA] # BOPOMOFO LETTER INN; QQKN
-31B3 ; [.2354.0020.0016.31B3][.0000.019A.0016.31B3] # BOPOMOFO LETTER INNN; QQKN
-3128 ; [.2355.0020.0002.3128] # BOPOMOFO LETTER U
-31AB ; [.2355.0020.0004.31AB][.0000.019A.0004.31AB] # BOPOMOFO LETTER UNN; QQKN
-31A8 ; [.2355.0020.0004.31A8][.0000.019C.0004.31A8] # BOPOMOFO LETTER IR; QQKN
-3129 ; [.2356.0020.0002.3129] # BOPOMOFO LETTER IU
-A000 ; [.2357.0020.0002.A000] # YI SYLLABLE IT
-A001 ; [.2358.0020.0002.A001] # YI SYLLABLE IX
-A002 ; [.2359.0020.0002.A002] # YI SYLLABLE I
-A003 ; [.235A.0020.0002.A003] # YI SYLLABLE IP
-A004 ; [.235B.0020.0002.A004] # YI SYLLABLE IET
-A005 ; [.235C.0020.0002.A005] # YI SYLLABLE IEX
-A006 ; [.235D.0020.0002.A006] # YI SYLLABLE IE
-A007 ; [.235E.0020.0002.A007] # YI SYLLABLE IEP
-A008 ; [.235F.0020.0002.A008] # YI SYLLABLE AT
-A009 ; [.2360.0020.0002.A009] # YI SYLLABLE AX
-A00A ; [.2361.0020.0002.A00A] # YI SYLLABLE A
-A00B ; [.2362.0020.0002.A00B] # YI SYLLABLE AP
-A00C ; [.2363.0020.0002.A00C] # YI SYLLABLE UOX
-A00D ; [.2364.0020.0002.A00D] # YI SYLLABLE UO
-A00E ; [.2365.0020.0002.A00E] # YI SYLLABLE UOP
-A00F ; [.2366.0020.0002.A00F] # YI SYLLABLE OT
-A010 ; [.2367.0020.0002.A010] # YI SYLLABLE OX
-A011 ; [.2368.0020.0002.A011] # YI SYLLABLE O
-A012 ; [.2369.0020.0002.A012] # YI SYLLABLE OP
-A013 ; [.236A.0020.0002.A013] # YI SYLLABLE EX
-A014 ; [.236B.0020.0002.A014] # YI SYLLABLE E
-A015 ; [.236C.0020.0002.A015] # YI SYLLABLE WU
-A016 ; [.236D.0020.0002.A016] # YI SYLLABLE BIT
-A017 ; [.236E.0020.0002.A017] # YI SYLLABLE BIX
-A018 ; [.236F.0020.0002.A018] # YI SYLLABLE BI
-A019 ; [.2370.0020.0002.A019] # YI SYLLABLE BIP
-A01A ; [.2371.0020.0002.A01A] # YI SYLLABLE BIET
-A01B ; [.2372.0020.0002.A01B] # YI SYLLABLE BIEX
-A01C ; [.2373.0020.0002.A01C] # YI SYLLABLE BIE
-A01D ; [.2374.0020.0002.A01D] # YI SYLLABLE BIEP
-A01E ; [.2375.0020.0002.A01E] # YI SYLLABLE BAT
-A01F ; [.2376.0020.0002.A01F] # YI SYLLABLE BAX
-A020 ; [.2377.0020.0002.A020] # YI SYLLABLE BA
-A021 ; [.2378.0020.0002.A021] # YI SYLLABLE BAP
-A022 ; [.2379.0020.0002.A022] # YI SYLLABLE BUOX
-A023 ; [.237A.0020.0002.A023] # YI SYLLABLE BUO
-A024 ; [.237B.0020.0002.A024] # YI SYLLABLE BUOP
-A025 ; [.237C.0020.0002.A025] # YI SYLLABLE BOT
-A026 ; [.237D.0020.0002.A026] # YI SYLLABLE BOX
-A027 ; [.237E.0020.0002.A027] # YI SYLLABLE BO
-A028 ; [.237F.0020.0002.A028] # YI SYLLABLE BOP
-A029 ; [.2380.0020.0002.A029] # YI SYLLABLE BEX
-A02A ; [.2381.0020.0002.A02A] # YI SYLLABLE BE
-A02B ; [.2382.0020.0002.A02B] # YI SYLLABLE BEP
-A02C ; [.2383.0020.0002.A02C] # YI SYLLABLE BUT
-A02D ; [.2384.0020.0002.A02D] # YI SYLLABLE BUX
-A02E ; [.2385.0020.0002.A02E] # YI SYLLABLE BU
-A02F ; [.2386.0020.0002.A02F] # YI SYLLABLE BUP
-A030 ; [.2387.0020.0002.A030] # YI SYLLABLE BURX
-A031 ; [.2388.0020.0002.A031] # YI SYLLABLE BUR
-A032 ; [.2389.0020.0002.A032] # YI SYLLABLE BYT
-A033 ; [.238A.0020.0002.A033] # YI SYLLABLE BYX
-A034 ; [.238B.0020.0002.A034] # YI SYLLABLE BY
-A035 ; [.238C.0020.0002.A035] # YI SYLLABLE BYP
-A036 ; [.238D.0020.0002.A036] # YI SYLLABLE BYRX
-A037 ; [.238E.0020.0002.A037] # YI SYLLABLE BYR
-A038 ; [.238F.0020.0002.A038] # YI SYLLABLE PIT
-A039 ; [.2390.0020.0002.A039] # YI SYLLABLE PIX
-A03A ; [.2391.0020.0002.A03A] # YI SYLLABLE PI
-A03B ; [.2392.0020.0002.A03B] # YI SYLLABLE PIP
-A03C ; [.2393.0020.0002.A03C] # YI SYLLABLE PIEX
-A03D ; [.2394.0020.0002.A03D] # YI SYLLABLE PIE
-A03E ; [.2395.0020.0002.A03E] # YI SYLLABLE PIEP
-A03F ; [.2396.0020.0002.A03F] # YI SYLLABLE PAT
-A040 ; [.2397.0020.0002.A040] # YI SYLLABLE PAX
-A041 ; [.2398.0020.0002.A041] # YI SYLLABLE PA
-A042 ; [.2399.0020.0002.A042] # YI SYLLABLE PAP
-A043 ; [.239A.0020.0002.A043] # YI SYLLABLE PUOX
-A044 ; [.239B.0020.0002.A044] # YI SYLLABLE PUO
-A045 ; [.239C.0020.0002.A045] # YI SYLLABLE PUOP
-A046 ; [.239D.0020.0002.A046] # YI SYLLABLE POT
-A047 ; [.239E.0020.0002.A047] # YI SYLLABLE POX
-A048 ; [.239F.0020.0002.A048] # YI SYLLABLE PO
-A049 ; [.23A0.0020.0002.A049] # YI SYLLABLE POP
-A04A ; [.23A1.0020.0002.A04A] # YI SYLLABLE PUT
-A04B ; [.23A2.0020.0002.A04B] # YI SYLLABLE PUX
-A04C ; [.23A3.0020.0002.A04C] # YI SYLLABLE PU
-A04D ; [.23A4.0020.0002.A04D] # YI SYLLABLE PUP
-A04E ; [.23A5.0020.0002.A04E] # YI SYLLABLE PURX
-A04F ; [.23A6.0020.0002.A04F] # YI SYLLABLE PUR
-A050 ; [.23A7.0020.0002.A050] # YI SYLLABLE PYT
-A051 ; [.23A8.0020.0002.A051] # YI SYLLABLE PYX
-A052 ; [.23A9.0020.0002.A052] # YI SYLLABLE PY
-A053 ; [.23AA.0020.0002.A053] # YI SYLLABLE PYP
-A054 ; [.23AB.0020.0002.A054] # YI SYLLABLE PYRX
-A055 ; [.23AC.0020.0002.A055] # YI SYLLABLE PYR
-A056 ; [.23AD.0020.0002.A056] # YI SYLLABLE BBIT
-A057 ; [.23AE.0020.0002.A057] # YI SYLLABLE BBIX
-A058 ; [.23AF.0020.0002.A058] # YI SYLLABLE BBI
-A059 ; [.23B0.0020.0002.A059] # YI SYLLABLE BBIP
-A05A ; [.23B1.0020.0002.A05A] # YI SYLLABLE BBIET
-A05B ; [.23B2.0020.0002.A05B] # YI SYLLABLE BBIEX
-A05C ; [.23B3.0020.0002.A05C] # YI SYLLABLE BBIE
-A05D ; [.23B4.0020.0002.A05D] # YI SYLLABLE BBIEP
-A05E ; [.23B5.0020.0002.A05E] # YI SYLLABLE BBAT
-A05F ; [.23B6.0020.0002.A05F] # YI SYLLABLE BBAX
-A060 ; [.23B7.0020.0002.A060] # YI SYLLABLE BBA
-A061 ; [.23B8.0020.0002.A061] # YI SYLLABLE BBAP
-A062 ; [.23B9.0020.0002.A062] # YI SYLLABLE BBUOX
-A063 ; [.23BA.0020.0002.A063] # YI SYLLABLE BBUO
-A064 ; [.23BB.0020.0002.A064] # YI SYLLABLE BBUOP
-A065 ; [.23BC.0020.0002.A065] # YI SYLLABLE BBOT
-A066 ; [.23BD.0020.0002.A066] # YI SYLLABLE BBOX
-A067 ; [.23BE.0020.0002.A067] # YI SYLLABLE BBO
-A068 ; [.23BF.0020.0002.A068] # YI SYLLABLE BBOP
-A069 ; [.23C0.0020.0002.A069] # YI SYLLABLE BBEX
-A06A ; [.23C1.0020.0002.A06A] # YI SYLLABLE BBE
-A06B ; [.23C2.0020.0002.A06B] # YI SYLLABLE BBEP
-A06C ; [.23C3.0020.0002.A06C] # YI SYLLABLE BBUT
-A06D ; [.23C4.0020.0002.A06D] # YI SYLLABLE BBUX
-A06E ; [.23C5.0020.0002.A06E] # YI SYLLABLE BBU
-A06F ; [.23C6.0020.0002.A06F] # YI SYLLABLE BBUP
-A070 ; [.23C7.0020.0002.A070] # YI SYLLABLE BBURX
-A071 ; [.23C8.0020.0002.A071] # YI SYLLABLE BBUR
-A072 ; [.23C9.0020.0002.A072] # YI SYLLABLE BBYT
-A073 ; [.23CA.0020.0002.A073] # YI SYLLABLE BBYX
-A074 ; [.23CB.0020.0002.A074] # YI SYLLABLE BBY
-A075 ; [.23CC.0020.0002.A075] # YI SYLLABLE BBYP
-A076 ; [.23CD.0020.0002.A076] # YI SYLLABLE NBIT
-A077 ; [.23CE.0020.0002.A077] # YI SYLLABLE NBIX
-A078 ; [.23CF.0020.0002.A078] # YI SYLLABLE NBI
-A079 ; [.23D0.0020.0002.A079] # YI SYLLABLE NBIP
-A07A ; [.23D1.0020.0002.A07A] # YI SYLLABLE NBIEX
-A07B ; [.23D2.0020.0002.A07B] # YI SYLLABLE NBIE
-A07C ; [.23D3.0020.0002.A07C] # YI SYLLABLE NBIEP
-A07D ; [.23D4.0020.0002.A07D] # YI SYLLABLE NBAT
-A07E ; [.23D5.0020.0002.A07E] # YI SYLLABLE NBAX
-A07F ; [.23D6.0020.0002.A07F] # YI SYLLABLE NBA
-A080 ; [.23D7.0020.0002.A080] # YI SYLLABLE NBAP
-A081 ; [.23D8.0020.0002.A081] # YI SYLLABLE NBOT
-A082 ; [.23D9.0020.0002.A082] # YI SYLLABLE NBOX
-A083 ; [.23DA.0020.0002.A083] # YI SYLLABLE NBO
-A084 ; [.23DB.0020.0002.A084] # YI SYLLABLE NBOP
-A085 ; [.23DC.0020.0002.A085] # YI SYLLABLE NBUT
-A086 ; [.23DD.0020.0002.A086] # YI SYLLABLE NBUX
-A087 ; [.23DE.0020.0002.A087] # YI SYLLABLE NBU
-A088 ; [.23DF.0020.0002.A088] # YI SYLLABLE NBUP
-A089 ; [.23E0.0020.0002.A089] # YI SYLLABLE NBURX
-A08A ; [.23E1.0020.0002.A08A] # YI SYLLABLE NBUR
-A08B ; [.23E2.0020.0002.A08B] # YI SYLLABLE NBYT
-A08C ; [.23E3.0020.0002.A08C] # YI SYLLABLE NBYX
-A08D ; [.23E4.0020.0002.A08D] # YI SYLLABLE NBY
-A08E ; [.23E5.0020.0002.A08E] # YI SYLLABLE NBYP
-A08F ; [.23E6.0020.0002.A08F] # YI SYLLABLE NBYRX
-A090 ; [.23E7.0020.0002.A090] # YI SYLLABLE NBYR
-A091 ; [.23E8.0020.0002.A091] # YI SYLLABLE HMIT
-A092 ; [.23E9.0020.0002.A092] # YI SYLLABLE HMIX
-A093 ; [.23EA.0020.0002.A093] # YI SYLLABLE HMI
-A094 ; [.23EB.0020.0002.A094] # YI SYLLABLE HMIP
-A095 ; [.23EC.0020.0002.A095] # YI SYLLABLE HMIEX
-A096 ; [.23ED.0020.0002.A096] # YI SYLLABLE HMIE
-A097 ; [.23EE.0020.0002.A097] # YI SYLLABLE HMIEP
-A098 ; [.23EF.0020.0002.A098] # YI SYLLABLE HMAT
-A099 ; [.23F0.0020.0002.A099] # YI SYLLABLE HMAX
-A09A ; [.23F1.0020.0002.A09A] # YI SYLLABLE HMA
-A09B ; [.23F2.0020.0002.A09B] # YI SYLLABLE HMAP
-A09C ; [.23F3.0020.0002.A09C] # YI SYLLABLE HMUOX
-A09D ; [.23F4.0020.0002.A09D] # YI SYLLABLE HMUO
-A09E ; [.23F5.0020.0002.A09E] # YI SYLLABLE HMUOP
-A09F ; [.23F6.0020.0002.A09F] # YI SYLLABLE HMOT
-A0A0 ; [.23F7.0020.0002.A0A0] # YI SYLLABLE HMOX
-A0A1 ; [.23F8.0020.0002.A0A1] # YI SYLLABLE HMO
-A0A2 ; [.23F9.0020.0002.A0A2] # YI SYLLABLE HMOP
-A0A3 ; [.23FA.0020.0002.A0A3] # YI SYLLABLE HMUT
-A0A4 ; [.23FB.0020.0002.A0A4] # YI SYLLABLE HMUX
-A0A5 ; [.23FC.0020.0002.A0A5] # YI SYLLABLE HMU
-A0A6 ; [.23FD.0020.0002.A0A6] # YI SYLLABLE HMUP
-A0A7 ; [.23FE.0020.0002.A0A7] # YI SYLLABLE HMURX
-A0A8 ; [.23FF.0020.0002.A0A8] # YI SYLLABLE HMUR
-A0A9 ; [.2400.0020.0002.A0A9] # YI SYLLABLE HMYX
-A0AA ; [.2401.0020.0002.A0AA] # YI SYLLABLE HMY
-A0AB ; [.2402.0020.0002.A0AB] # YI SYLLABLE HMYP
-A0AC ; [.2403.0020.0002.A0AC] # YI SYLLABLE HMYRX
-A0AD ; [.2404.0020.0002.A0AD] # YI SYLLABLE HMYR
-A0AE ; [.2405.0020.0002.A0AE] # YI SYLLABLE MIT
-A0AF ; [.2406.0020.0002.A0AF] # YI SYLLABLE MIX
-A0B0 ; [.2407.0020.0002.A0B0] # YI SYLLABLE MI
-A0B1 ; [.2408.0020.0002.A0B1] # YI SYLLABLE MIP
-A0B2 ; [.2409.0020.0002.A0B2] # YI SYLLABLE MIEX
-A0B3 ; [.240A.0020.0002.A0B3] # YI SYLLABLE MIE
-A0B4 ; [.240B.0020.0002.A0B4] # YI SYLLABLE MIEP
-A0B5 ; [.240C.0020.0002.A0B5] # YI SYLLABLE MAT
-A0B6 ; [.240D.0020.0002.A0B6] # YI SYLLABLE MAX
-A0B7 ; [.240E.0020.0002.A0B7] # YI SYLLABLE MA
-A0B8 ; [.240F.0020.0002.A0B8] # YI SYLLABLE MAP
-A0B9 ; [.2410.0020.0002.A0B9] # YI SYLLABLE MUOT
-A0BA ; [.2411.0020.0002.A0BA] # YI SYLLABLE MUOX
-A0BB ; [.2412.0020.0002.A0BB] # YI SYLLABLE MUO
-A0BC ; [.2413.0020.0002.A0BC] # YI SYLLABLE MUOP
-A0BD ; [.2414.0020.0002.A0BD] # YI SYLLABLE MOT
-A0BE ; [.2415.0020.0002.A0BE] # YI SYLLABLE MOX
-A0BF ; [.2416.0020.0002.A0BF] # YI SYLLABLE MO
-A0C0 ; [.2417.0020.0002.A0C0] # YI SYLLABLE MOP
-A0C1 ; [.2418.0020.0002.A0C1] # YI SYLLABLE MEX
-A0C2 ; [.2419.0020.0002.A0C2] # YI SYLLABLE ME
-A0C3 ; [.241A.0020.0002.A0C3] # YI SYLLABLE MUT
-A0C4 ; [.241B.0020.0002.A0C4] # YI SYLLABLE MUX
-A0C5 ; [.241C.0020.0002.A0C5] # YI SYLLABLE MU
-A0C6 ; [.241D.0020.0002.A0C6] # YI SYLLABLE MUP
-A0C7 ; [.241E.0020.0002.A0C7] # YI SYLLABLE MURX
-A0C8 ; [.241F.0020.0002.A0C8] # YI SYLLABLE MUR
-A0C9 ; [.2420.0020.0002.A0C9] # YI SYLLABLE MYT
-A0CA ; [.2421.0020.0002.A0CA] # YI SYLLABLE MYX
-A0CB ; [.2422.0020.0002.A0CB] # YI SYLLABLE MY
-A0CC ; [.2423.0020.0002.A0CC] # YI SYLLABLE MYP
-A0CD ; [.2424.0020.0002.A0CD] # YI SYLLABLE FIT
-A0CE ; [.2425.0020.0002.A0CE] # YI SYLLABLE FIX
-A0CF ; [.2426.0020.0002.A0CF] # YI SYLLABLE FI
-A0D0 ; [.2427.0020.0002.A0D0] # YI SYLLABLE FIP
-A0D1 ; [.2428.0020.0002.A0D1] # YI SYLLABLE FAT
-A0D2 ; [.2429.0020.0002.A0D2] # YI SYLLABLE FAX
-A0D3 ; [.242A.0020.0002.A0D3] # YI SYLLABLE FA
-A0D4 ; [.242B.0020.0002.A0D4] # YI SYLLABLE FAP
-A0D5 ; [.242C.0020.0002.A0D5] # YI SYLLABLE FOX
-A0D6 ; [.242D.0020.0002.A0D6] # YI SYLLABLE FO
-A0D7 ; [.242E.0020.0002.A0D7] # YI SYLLABLE FOP
-A0D8 ; [.242F.0020.0002.A0D8] # YI SYLLABLE FUT
-A0D9 ; [.2430.0020.0002.A0D9] # YI SYLLABLE FUX
-A0DA ; [.2431.0020.0002.A0DA] # YI SYLLABLE FU
-A0DB ; [.2432.0020.0002.A0DB] # YI SYLLABLE FUP
-A0DC ; [.2433.0020.0002.A0DC] # YI SYLLABLE FURX
-A0DD ; [.2434.0020.0002.A0DD] # YI SYLLABLE FUR
-A0DE ; [.2435.0020.0002.A0DE] # YI SYLLABLE FYT
-A0DF ; [.2436.0020.0002.A0DF] # YI SYLLABLE FYX
-A0E0 ; [.2437.0020.0002.A0E0] # YI SYLLABLE FY
-A0E1 ; [.2438.0020.0002.A0E1] # YI SYLLABLE FYP
-A0E2 ; [.2439.0020.0002.A0E2] # YI SYLLABLE VIT
-A0E3 ; [.243A.0020.0002.A0E3] # YI SYLLABLE VIX
-A0E4 ; [.243B.0020.0002.A0E4] # YI SYLLABLE VI
-A0E5 ; [.243C.0020.0002.A0E5] # YI SYLLABLE VIP
-A0E6 ; [.243D.0020.0002.A0E6] # YI SYLLABLE VIET
-A0E7 ; [.243E.0020.0002.A0E7] # YI SYLLABLE VIEX
-A0E8 ; [.243F.0020.0002.A0E8] # YI SYLLABLE VIE
-A0E9 ; [.2440.0020.0002.A0E9] # YI SYLLABLE VIEP
-A0EA ; [.2441.0020.0002.A0EA] # YI SYLLABLE VAT
-A0EB ; [.2442.0020.0002.A0EB] # YI SYLLABLE VAX
-A0EC ; [.2443.0020.0002.A0EC] # YI SYLLABLE VA
-A0ED ; [.2444.0020.0002.A0ED] # YI SYLLABLE VAP
-A0EE ; [.2445.0020.0002.A0EE] # YI SYLLABLE VOT
-A0EF ; [.2446.0020.0002.A0EF] # YI SYLLABLE VOX
-A0F0 ; [.2447.0020.0002.A0F0] # YI SYLLABLE VO
-A0F1 ; [.2448.0020.0002.A0F1] # YI SYLLABLE VOP
-A0F2 ; [.2449.0020.0002.A0F2] # YI SYLLABLE VEX
-A0F3 ; [.244A.0020.0002.A0F3] # YI SYLLABLE VEP
-A0F4 ; [.244B.0020.0002.A0F4] # YI SYLLABLE VUT
-A0F5 ; [.244C.0020.0002.A0F5] # YI SYLLABLE VUX
-A0F6 ; [.244D.0020.0002.A0F6] # YI SYLLABLE VU
-A0F7 ; [.244E.0020.0002.A0F7] # YI SYLLABLE VUP
-A0F8 ; [.244F.0020.0002.A0F8] # YI SYLLABLE VURX
-A0F9 ; [.2450.0020.0002.A0F9] # YI SYLLABLE VUR
-A0FA ; [.2451.0020.0002.A0FA] # YI SYLLABLE VYT
-A0FB ; [.2452.0020.0002.A0FB] # YI SYLLABLE VYX
-A0FC ; [.2453.0020.0002.A0FC] # YI SYLLABLE VY
-A0FD ; [.2454.0020.0002.A0FD] # YI SYLLABLE VYP
-A0FE ; [.2455.0020.0002.A0FE] # YI SYLLABLE VYRX
-A0FF ; [.2456.0020.0002.A0FF] # YI SYLLABLE VYR
-A100 ; [.2457.0020.0002.A100] # YI SYLLABLE DIT
-A101 ; [.2458.0020.0002.A101] # YI SYLLABLE DIX
-A102 ; [.2459.0020.0002.A102] # YI SYLLABLE DI
-A103 ; [.245A.0020.0002.A103] # YI SYLLABLE DIP
-A104 ; [.245B.0020.0002.A104] # YI SYLLABLE DIEX
-A105 ; [.245C.0020.0002.A105] # YI SYLLABLE DIE
-A106 ; [.245D.0020.0002.A106] # YI SYLLABLE DIEP
-A107 ; [.245E.0020.0002.A107] # YI SYLLABLE DAT
-A108 ; [.245F.0020.0002.A108] # YI SYLLABLE DAX
-A109 ; [.2460.0020.0002.A109] # YI SYLLABLE DA
-A10A ; [.2461.0020.0002.A10A] # YI SYLLABLE DAP
-A10B ; [.2462.0020.0002.A10B] # YI SYLLABLE DUOX
-A10C ; [.2463.0020.0002.A10C] # YI SYLLABLE DUO
-A10D ; [.2464.0020.0002.A10D] # YI SYLLABLE DOT
-A10E ; [.2465.0020.0002.A10E] # YI SYLLABLE DOX
-A10F ; [.2466.0020.0002.A10F] # YI SYLLABLE DO
-A110 ; [.2467.0020.0002.A110] # YI SYLLABLE DOP
-A111 ; [.2468.0020.0002.A111] # YI SYLLABLE DEX
-A112 ; [.2469.0020.0002.A112] # YI SYLLABLE DE
-A113 ; [.246A.0020.0002.A113] # YI SYLLABLE DEP
-A114 ; [.246B.0020.0002.A114] # YI SYLLABLE DUT
-A115 ; [.246C.0020.0002.A115] # YI SYLLABLE DUX
-A116 ; [.246D.0020.0002.A116] # YI SYLLABLE DU
-A117 ; [.246E.0020.0002.A117] # YI SYLLABLE DUP
-A118 ; [.246F.0020.0002.A118] # YI SYLLABLE DURX
-A119 ; [.2470.0020.0002.A119] # YI SYLLABLE DUR
-A11A ; [.2471.0020.0002.A11A] # YI SYLLABLE TIT
-A11B ; [.2472.0020.0002.A11B] # YI SYLLABLE TIX
-A11C ; [.2473.0020.0002.A11C] # YI SYLLABLE TI
-A11D ; [.2474.0020.0002.A11D] # YI SYLLABLE TIP
-A11E ; [.2475.0020.0002.A11E] # YI SYLLABLE TIEX
-A11F ; [.2476.0020.0002.A11F] # YI SYLLABLE TIE
-A120 ; [.2477.0020.0002.A120] # YI SYLLABLE TIEP
-A121 ; [.2478.0020.0002.A121] # YI SYLLABLE TAT
-A122 ; [.2479.0020.0002.A122] # YI SYLLABLE TAX
-A123 ; [.247A.0020.0002.A123] # YI SYLLABLE TA
-A124 ; [.247B.0020.0002.A124] # YI SYLLABLE TAP
-A125 ; [.247C.0020.0002.A125] # YI SYLLABLE TUOT
-A126 ; [.247D.0020.0002.A126] # YI SYLLABLE TUOX
-A127 ; [.247E.0020.0002.A127] # YI SYLLABLE TUO
-A128 ; [.247F.0020.0002.A128] # YI SYLLABLE TUOP
-A129 ; [.2480.0020.0002.A129] # YI SYLLABLE TOT
-A12A ; [.2481.0020.0002.A12A] # YI SYLLABLE TOX
-A12B ; [.2482.0020.0002.A12B] # YI SYLLABLE TO
-A12C ; [.2483.0020.0002.A12C] # YI SYLLABLE TOP
-A12D ; [.2484.0020.0002.A12D] # YI SYLLABLE TEX
-A12E ; [.2485.0020.0002.A12E] # YI SYLLABLE TE
-A12F ; [.2486.0020.0002.A12F] # YI SYLLABLE TEP
-A130 ; [.2487.0020.0002.A130] # YI SYLLABLE TUT
-A131 ; [.2488.0020.0002.A131] # YI SYLLABLE TUX
-A132 ; [.2489.0020.0002.A132] # YI SYLLABLE TU
-A133 ; [.248A.0020.0002.A133] # YI SYLLABLE TUP
-A134 ; [.248B.0020.0002.A134] # YI SYLLABLE TURX
-A135 ; [.248C.0020.0002.A135] # YI SYLLABLE TUR
-A136 ; [.248D.0020.0002.A136] # YI SYLLABLE DDIT
-A137 ; [.248E.0020.0002.A137] # YI SYLLABLE DDIX
-A138 ; [.248F.0020.0002.A138] # YI SYLLABLE DDI
-A139 ; [.2490.0020.0002.A139] # YI SYLLABLE DDIP
-A13A ; [.2491.0020.0002.A13A] # YI SYLLABLE DDIEX
-A13B ; [.2492.0020.0002.A13B] # YI SYLLABLE DDIE
-A13C ; [.2493.0020.0002.A13C] # YI SYLLABLE DDIEP
-A13D ; [.2494.0020.0002.A13D] # YI SYLLABLE DDAT
-A13E ; [.2495.0020.0002.A13E] # YI SYLLABLE DDAX
-A13F ; [.2496.0020.0002.A13F] # YI SYLLABLE DDA
-A140 ; [.2497.0020.0002.A140] # YI SYLLABLE DDAP
-A141 ; [.2498.0020.0002.A141] # YI SYLLABLE DDUOX
-A142 ; [.2499.0020.0002.A142] # YI SYLLABLE DDUO
-A143 ; [.249A.0020.0002.A143] # YI SYLLABLE DDUOP
-A144 ; [.249B.0020.0002.A144] # YI SYLLABLE DDOT
-A145 ; [.249C.0020.0002.A145] # YI SYLLABLE DDOX
-A146 ; [.249D.0020.0002.A146] # YI SYLLABLE DDO
-A147 ; [.249E.0020.0002.A147] # YI SYLLABLE DDOP
-A148 ; [.249F.0020.0002.A148] # YI SYLLABLE DDEX
-A149 ; [.24A0.0020.0002.A149] # YI SYLLABLE DDE
-A14A ; [.24A1.0020.0002.A14A] # YI SYLLABLE DDEP
-A14B ; [.24A2.0020.0002.A14B] # YI SYLLABLE DDUT
-A14C ; [.24A3.0020.0002.A14C] # YI SYLLABLE DDUX
-A14D ; [.24A4.0020.0002.A14D] # YI SYLLABLE DDU
-A14E ; [.24A5.0020.0002.A14E] # YI SYLLABLE DDUP
-A14F ; [.24A6.0020.0002.A14F] # YI SYLLABLE DDURX
-A150 ; [.24A7.0020.0002.A150] # YI SYLLABLE DDUR
-A151 ; [.24A8.0020.0002.A151] # YI SYLLABLE NDIT
-A152 ; [.24A9.0020.0002.A152] # YI SYLLABLE NDIX
-A153 ; [.24AA.0020.0002.A153] # YI SYLLABLE NDI
-A154 ; [.24AB.0020.0002.A154] # YI SYLLABLE NDIP
-A155 ; [.24AC.0020.0002.A155] # YI SYLLABLE NDIEX
-A156 ; [.24AD.0020.0002.A156] # YI SYLLABLE NDIE
-A157 ; [.24AE.0020.0002.A157] # YI SYLLABLE NDAT
-A158 ; [.24AF.0020.0002.A158] # YI SYLLABLE NDAX
-A159 ; [.24B0.0020.0002.A159] # YI SYLLABLE NDA
-A15A ; [.24B1.0020.0002.A15A] # YI SYLLABLE NDAP
-A15B ; [.24B2.0020.0002.A15B] # YI SYLLABLE NDOT
-A15C ; [.24B3.0020.0002.A15C] # YI SYLLABLE NDOX
-A15D ; [.24B4.0020.0002.A15D] # YI SYLLABLE NDO
-A15E ; [.24B5.0020.0002.A15E] # YI SYLLABLE NDOP
-A15F ; [.24B6.0020.0002.A15F] # YI SYLLABLE NDEX
-A160 ; [.24B7.0020.0002.A160] # YI SYLLABLE NDE
-A161 ; [.24B8.0020.0002.A161] # YI SYLLABLE NDEP
-A162 ; [.24B9.0020.0002.A162] # YI SYLLABLE NDUT
-A163 ; [.24BA.0020.0002.A163] # YI SYLLABLE NDUX
-A164 ; [.24BB.0020.0002.A164] # YI SYLLABLE NDU
-A165 ; [.24BC.0020.0002.A165] # YI SYLLABLE NDUP
-A166 ; [.24BD.0020.0002.A166] # YI SYLLABLE NDURX
-A167 ; [.24BE.0020.0002.A167] # YI SYLLABLE NDUR
-A168 ; [.24BF.0020.0002.A168] # YI SYLLABLE HNIT
-A169 ; [.24C0.0020.0002.A169] # YI SYLLABLE HNIX
-A16A ; [.24C1.0020.0002.A16A] # YI SYLLABLE HNI
-A16B ; [.24C2.0020.0002.A16B] # YI SYLLABLE HNIP
-A16C ; [.24C3.0020.0002.A16C] # YI SYLLABLE HNIET
-A16D ; [.24C4.0020.0002.A16D] # YI SYLLABLE HNIEX
-A16E ; [.24C5.0020.0002.A16E] # YI SYLLABLE HNIE
-A16F ; [.24C6.0020.0002.A16F] # YI SYLLABLE HNIEP
-A170 ; [.24C7.0020.0002.A170] # YI SYLLABLE HNAT
-A171 ; [.24C8.0020.0002.A171] # YI SYLLABLE HNAX
-A172 ; [.24C9.0020.0002.A172] # YI SYLLABLE HNA
-A173 ; [.24CA.0020.0002.A173] # YI SYLLABLE HNAP
-A174 ; [.24CB.0020.0002.A174] # YI SYLLABLE HNUOX
-A175 ; [.24CC.0020.0002.A175] # YI SYLLABLE HNUO
-A176 ; [.24CD.0020.0002.A176] # YI SYLLABLE HNOT
-A177 ; [.24CE.0020.0002.A177] # YI SYLLABLE HNOX
-A178 ; [.24CF.0020.0002.A178] # YI SYLLABLE HNOP
-A179 ; [.24D0.0020.0002.A179] # YI SYLLABLE HNEX
-A17A ; [.24D1.0020.0002.A17A] # YI SYLLABLE HNE
-A17B ; [.24D2.0020.0002.A17B] # YI SYLLABLE HNEP
-A17C ; [.24D3.0020.0002.A17C] # YI SYLLABLE HNUT
-A17D ; [.24D4.0020.0002.A17D] # YI SYLLABLE NIT
-A17E ; [.24D5.0020.0002.A17E] # YI SYLLABLE NIX
-A17F ; [.24D6.0020.0002.A17F] # YI SYLLABLE NI
-A180 ; [.24D7.0020.0002.A180] # YI SYLLABLE NIP
-A181 ; [.24D8.0020.0002.A181] # YI SYLLABLE NIEX
-A182 ; [.24D9.0020.0002.A182] # YI SYLLABLE NIE
-A183 ; [.24DA.0020.0002.A183] # YI SYLLABLE NIEP
-A184 ; [.24DB.0020.0002.A184] # YI SYLLABLE NAX
-A185 ; [.24DC.0020.0002.A185] # YI SYLLABLE NA
-A186 ; [.24DD.0020.0002.A186] # YI SYLLABLE NAP
-A187 ; [.24DE.0020.0002.A187] # YI SYLLABLE NUOX
-A188 ; [.24DF.0020.0002.A188] # YI SYLLABLE NUO
-A189 ; [.24E0.0020.0002.A189] # YI SYLLABLE NUOP
-A18A ; [.24E1.0020.0002.A18A] # YI SYLLABLE NOT
-A18B ; [.24E2.0020.0002.A18B] # YI SYLLABLE NOX
-A18C ; [.24E3.0020.0002.A18C] # YI SYLLABLE NO
-A18D ; [.24E4.0020.0002.A18D] # YI SYLLABLE NOP
-A18E ; [.24E5.0020.0002.A18E] # YI SYLLABLE NEX
-A18F ; [.24E6.0020.0002.A18F] # YI SYLLABLE NE
-A190 ; [.24E7.0020.0002.A190] # YI SYLLABLE NEP
-A191 ; [.24E8.0020.0002.A191] # YI SYLLABLE NUT
-A192 ; [.24E9.0020.0002.A192] # YI SYLLABLE NUX
-A193 ; [.24EA.0020.0002.A193] # YI SYLLABLE NU
-A194 ; [.24EB.0020.0002.A194] # YI SYLLABLE NUP
-A195 ; [.24EC.0020.0002.A195] # YI SYLLABLE NURX
-A196 ; [.24ED.0020.0002.A196] # YI SYLLABLE NUR
-A197 ; [.24EE.0020.0002.A197] # YI SYLLABLE HLIT
-A198 ; [.24EF.0020.0002.A198] # YI SYLLABLE HLIX
-A199 ; [.24F0.0020.0002.A199] # YI SYLLABLE HLI
-A19A ; [.24F1.0020.0002.A19A] # YI SYLLABLE HLIP
-A19B ; [.24F2.0020.0002.A19B] # YI SYLLABLE HLIEX
-A19C ; [.24F3.0020.0002.A19C] # YI SYLLABLE HLIE
-A19D ; [.24F4.0020.0002.A19D] # YI SYLLABLE HLIEP
-A19E ; [.24F5.0020.0002.A19E] # YI SYLLABLE HLAT
-A19F ; [.24F6.0020.0002.A19F] # YI SYLLABLE HLAX
-A1A0 ; [.24F7.0020.0002.A1A0] # YI SYLLABLE HLA
-A1A1 ; [.24F8.0020.0002.A1A1] # YI SYLLABLE HLAP
-A1A2 ; [.24F9.0020.0002.A1A2] # YI SYLLABLE HLUOX
-A1A3 ; [.24FA.0020.0002.A1A3] # YI SYLLABLE HLUO
-A1A4 ; [.24FB.0020.0002.A1A4] # YI SYLLABLE HLUOP
-A1A5 ; [.24FC.0020.0002.A1A5] # YI SYLLABLE HLOX
-A1A6 ; [.24FD.0020.0002.A1A6] # YI SYLLABLE HLO
-A1A7 ; [.24FE.0020.0002.A1A7] # YI SYLLABLE HLOP
-A1A8 ; [.24FF.0020.0002.A1A8] # YI SYLLABLE HLEX
-A1A9 ; [.2500.0020.0002.A1A9] # YI SYLLABLE HLE
-A1AA ; [.2501.0020.0002.A1AA] # YI SYLLABLE HLEP
-A1AB ; [.2502.0020.0002.A1AB] # YI SYLLABLE HLUT
-A1AC ; [.2503.0020.0002.A1AC] # YI SYLLABLE HLUX
-A1AD ; [.2504.0020.0002.A1AD] # YI SYLLABLE HLU
-A1AE ; [.2505.0020.0002.A1AE] # YI SYLLABLE HLUP
-A1AF ; [.2506.0020.0002.A1AF] # YI SYLLABLE HLURX
-A1B0 ; [.2507.0020.0002.A1B0] # YI SYLLABLE HLUR
-A1B1 ; [.2508.0020.0002.A1B1] # YI SYLLABLE HLYT
-A1B2 ; [.2509.0020.0002.A1B2] # YI SYLLABLE HLYX
-A1B3 ; [.250A.0020.0002.A1B3] # YI SYLLABLE HLY
-A1B4 ; [.250B.0020.0002.A1B4] # YI SYLLABLE HLYP
-A1B5 ; [.250C.0020.0002.A1B5] # YI SYLLABLE HLYRX
-A1B6 ; [.250D.0020.0002.A1B6] # YI SYLLABLE HLYR
-A1B7 ; [.250E.0020.0002.A1B7] # YI SYLLABLE LIT
-A1B8 ; [.250F.0020.0002.A1B8] # YI SYLLABLE LIX
-A1B9 ; [.2510.0020.0002.A1B9] # YI SYLLABLE LI
-A1BA ; [.2511.0020.0002.A1BA] # YI SYLLABLE LIP
-A1BB ; [.2512.0020.0002.A1BB] # YI SYLLABLE LIET
-A1BC ; [.2513.0020.0002.A1BC] # YI SYLLABLE LIEX
-A1BD ; [.2514.0020.0002.A1BD] # YI SYLLABLE LIE
-A1BE ; [.2515.0020.0002.A1BE] # YI SYLLABLE LIEP
-A1BF ; [.2516.0020.0002.A1BF] # YI SYLLABLE LAT
-A1C0 ; [.2517.0020.0002.A1C0] # YI SYLLABLE LAX
-A1C1 ; [.2518.0020.0002.A1C1] # YI SYLLABLE LA
-A1C2 ; [.2519.0020.0002.A1C2] # YI SYLLABLE LAP
-A1C3 ; [.251A.0020.0002.A1C3] # YI SYLLABLE LUOT
-A1C4 ; [.251B.0020.0002.A1C4] # YI SYLLABLE LUOX
-A1C5 ; [.251C.0020.0002.A1C5] # YI SYLLABLE LUO
-A1C6 ; [.251D.0020.0002.A1C6] # YI SYLLABLE LUOP
-A1C7 ; [.251E.0020.0002.A1C7] # YI SYLLABLE LOT
-A1C8 ; [.251F.0020.0002.A1C8] # YI SYLLABLE LOX
-A1C9 ; [.2520.0020.0002.A1C9] # YI SYLLABLE LO
-A1CA ; [.2521.0020.0002.A1CA] # YI SYLLABLE LOP
-A1CB ; [.2522.0020.0002.A1CB] # YI SYLLABLE LEX
-A1CC ; [.2523.0020.0002.A1CC] # YI SYLLABLE LE
-A1CD ; [.2524.0020.0002.A1CD] # YI SYLLABLE LEP
-A1CE ; [.2525.0020.0002.A1CE] # YI SYLLABLE LUT
-A1CF ; [.2526.0020.0002.A1CF] # YI SYLLABLE LUX
-A1D0 ; [.2527.0020.0002.A1D0] # YI SYLLABLE LU
-A1D1 ; [.2528.0020.0002.A1D1] # YI SYLLABLE LUP
-A1D2 ; [.2529.0020.0002.A1D2] # YI SYLLABLE LURX
-A1D3 ; [.252A.0020.0002.A1D3] # YI SYLLABLE LUR
-A1D4 ; [.252B.0020.0002.A1D4] # YI SYLLABLE LYT
-A1D5 ; [.252C.0020.0002.A1D5] # YI SYLLABLE LYX
-A1D6 ; [.252D.0020.0002.A1D6] # YI SYLLABLE LY
-A1D7 ; [.252E.0020.0002.A1D7] # YI SYLLABLE LYP
-A1D8 ; [.252F.0020.0002.A1D8] # YI SYLLABLE LYRX
-A1D9 ; [.2530.0020.0002.A1D9] # YI SYLLABLE LYR
-A1DA ; [.2531.0020.0002.A1DA] # YI SYLLABLE GIT
-A1DB ; [.2532.0020.0002.A1DB] # YI SYLLABLE GIX
-A1DC ; [.2533.0020.0002.A1DC] # YI SYLLABLE GI
-A1DD ; [.2534.0020.0002.A1DD] # YI SYLLABLE GIP
-A1DE ; [.2535.0020.0002.A1DE] # YI SYLLABLE GIET
-A1DF ; [.2536.0020.0002.A1DF] # YI SYLLABLE GIEX
-A1E0 ; [.2537.0020.0002.A1E0] # YI SYLLABLE GIE
-A1E1 ; [.2538.0020.0002.A1E1] # YI SYLLABLE GIEP
-A1E2 ; [.2539.0020.0002.A1E2] # YI SYLLABLE GAT
-A1E3 ; [.253A.0020.0002.A1E3] # YI SYLLABLE GAX
-A1E4 ; [.253B.0020.0002.A1E4] # YI SYLLABLE GA
-A1E5 ; [.253C.0020.0002.A1E5] # YI SYLLABLE GAP
-A1E6 ; [.253D.0020.0002.A1E6] # YI SYLLABLE GUOT
-A1E7 ; [.253E.0020.0002.A1E7] # YI SYLLABLE GUOX
-A1E8 ; [.253F.0020.0002.A1E8] # YI SYLLABLE GUO
-A1E9 ; [.2540.0020.0002.A1E9] # YI SYLLABLE GUOP
-A1EA ; [.2541.0020.0002.A1EA] # YI SYLLABLE GOT
-A1EB ; [.2542.0020.0002.A1EB] # YI SYLLABLE GOX
-A1EC ; [.2543.0020.0002.A1EC] # YI SYLLABLE GO
-A1ED ; [.2544.0020.0002.A1ED] # YI SYLLABLE GOP
-A1EE ; [.2545.0020.0002.A1EE] # YI SYLLABLE GET
-A1EF ; [.2546.0020.0002.A1EF] # YI SYLLABLE GEX
-A1F0 ; [.2547.0020.0002.A1F0] # YI SYLLABLE GE
-A1F1 ; [.2548.0020.0002.A1F1] # YI SYLLABLE GEP
-A1F2 ; [.2549.0020.0002.A1F2] # YI SYLLABLE GUT
-A1F3 ; [.254A.0020.0002.A1F3] # YI SYLLABLE GUX
-A1F4 ; [.254B.0020.0002.A1F4] # YI SYLLABLE GU
-A1F5 ; [.254C.0020.0002.A1F5] # YI SYLLABLE GUP
-A1F6 ; [.254D.0020.0002.A1F6] # YI SYLLABLE GURX
-A1F7 ; [.254E.0020.0002.A1F7] # YI SYLLABLE GUR
-A1F8 ; [.254F.0020.0002.A1F8] # YI SYLLABLE KIT
-A1F9 ; [.2550.0020.0002.A1F9] # YI SYLLABLE KIX
-A1FA ; [.2551.0020.0002.A1FA] # YI SYLLABLE KI
-A1FB ; [.2552.0020.0002.A1FB] # YI SYLLABLE KIP
-A1FC ; [.2553.0020.0002.A1FC] # YI SYLLABLE KIEX
-A1FD ; [.2554.0020.0002.A1FD] # YI SYLLABLE KIE
-A1FE ; [.2555.0020.0002.A1FE] # YI SYLLABLE KIEP
-A1FF ; [.2556.0020.0002.A1FF] # YI SYLLABLE KAT
-A200 ; [.2557.0020.0002.A200] # YI SYLLABLE KAX
-A201 ; [.2558.0020.0002.A201] # YI SYLLABLE KA
-A202 ; [.2559.0020.0002.A202] # YI SYLLABLE KAP
-A203 ; [.255A.0020.0002.A203] # YI SYLLABLE KUOX
-A204 ; [.255B.0020.0002.A204] # YI SYLLABLE KUO
-A205 ; [.255C.0020.0002.A205] # YI SYLLABLE KUOP
-A206 ; [.255D.0020.0002.A206] # YI SYLLABLE KOT
-A207 ; [.255E.0020.0002.A207] # YI SYLLABLE KOX
-A208 ; [.255F.0020.0002.A208] # YI SYLLABLE KO
-A209 ; [.2560.0020.0002.A209] # YI SYLLABLE KOP
-A20A ; [.2561.0020.0002.A20A] # YI SYLLABLE KET
-A20B ; [.2562.0020.0002.A20B] # YI SYLLABLE KEX
-A20C ; [.2563.0020.0002.A20C] # YI SYLLABLE KE
-A20D ; [.2564.0020.0002.A20D] # YI SYLLABLE KEP
-A20E ; [.2565.0020.0002.A20E] # YI SYLLABLE KUT
-A20F ; [.2566.0020.0002.A20F] # YI SYLLABLE KUX
-A210 ; [.2567.0020.0002.A210] # YI SYLLABLE KU
-A211 ; [.2568.0020.0002.A211] # YI SYLLABLE KUP
-A212 ; [.2569.0020.0002.A212] # YI SYLLABLE KURX
-A213 ; [.256A.0020.0002.A213] # YI SYLLABLE KUR
-A214 ; [.256B.0020.0002.A214] # YI SYLLABLE GGIT
-A215 ; [.256C.0020.0002.A215] # YI SYLLABLE GGIX
-A216 ; [.256D.0020.0002.A216] # YI SYLLABLE GGI
-A217 ; [.256E.0020.0002.A217] # YI SYLLABLE GGIEX
-A218 ; [.256F.0020.0002.A218] # YI SYLLABLE GGIE
-A219 ; [.2570.0020.0002.A219] # YI SYLLABLE GGIEP
-A21A ; [.2571.0020.0002.A21A] # YI SYLLABLE GGAT
-A21B ; [.2572.0020.0002.A21B] # YI SYLLABLE GGAX
-A21C ; [.2573.0020.0002.A21C] # YI SYLLABLE GGA
-A21D ; [.2574.0020.0002.A21D] # YI SYLLABLE GGAP
-A21E ; [.2575.0020.0002.A21E] # YI SYLLABLE GGUOT
-A21F ; [.2576.0020.0002.A21F] # YI SYLLABLE GGUOX
-A220 ; [.2577.0020.0002.A220] # YI SYLLABLE GGUO
-A221 ; [.2578.0020.0002.A221] # YI SYLLABLE GGUOP
-A222 ; [.2579.0020.0002.A222] # YI SYLLABLE GGOT
-A223 ; [.257A.0020.0002.A223] # YI SYLLABLE GGOX
-A224 ; [.257B.0020.0002.A224] # YI SYLLABLE GGO
-A225 ; [.257C.0020.0002.A225] # YI SYLLABLE GGOP
-A226 ; [.257D.0020.0002.A226] # YI SYLLABLE GGET
-A227 ; [.257E.0020.0002.A227] # YI SYLLABLE GGEX
-A228 ; [.257F.0020.0002.A228] # YI SYLLABLE GGE
-A229 ; [.2580.0020.0002.A229] # YI SYLLABLE GGEP
-A22A ; [.2581.0020.0002.A22A] # YI SYLLABLE GGUT
-A22B ; [.2582.0020.0002.A22B] # YI SYLLABLE GGUX
-A22C ; [.2583.0020.0002.A22C] # YI SYLLABLE GGU
-A22D ; [.2584.0020.0002.A22D] # YI SYLLABLE GGUP
-A22E ; [.2585.0020.0002.A22E] # YI SYLLABLE GGURX
-A22F ; [.2586.0020.0002.A22F] # YI SYLLABLE GGUR
-A230 ; [.2587.0020.0002.A230] # YI SYLLABLE MGIEX
-A231 ; [.2588.0020.0002.A231] # YI SYLLABLE MGIE
-A232 ; [.2589.0020.0002.A232] # YI SYLLABLE MGAT
-A233 ; [.258A.0020.0002.A233] # YI SYLLABLE MGAX
-A234 ; [.258B.0020.0002.A234] # YI SYLLABLE MGA
-A235 ; [.258C.0020.0002.A235] # YI SYLLABLE MGAP
-A236 ; [.258D.0020.0002.A236] # YI SYLLABLE MGUOX
-A237 ; [.258E.0020.0002.A237] # YI SYLLABLE MGUO
-A238 ; [.258F.0020.0002.A238] # YI SYLLABLE MGUOP
-A239 ; [.2590.0020.0002.A239] # YI SYLLABLE MGOT
-A23A ; [.2591.0020.0002.A23A] # YI SYLLABLE MGOX
-A23B ; [.2592.0020.0002.A23B] # YI SYLLABLE MGO
-A23C ; [.2593.0020.0002.A23C] # YI SYLLABLE MGOP
-A23D ; [.2594.0020.0002.A23D] # YI SYLLABLE MGEX
-A23E ; [.2595.0020.0002.A23E] # YI SYLLABLE MGE
-A23F ; [.2596.0020.0002.A23F] # YI SYLLABLE MGEP
-A240 ; [.2597.0020.0002.A240] # YI SYLLABLE MGUT
-A241 ; [.2598.0020.0002.A241] # YI SYLLABLE MGUX
-A242 ; [.2599.0020.0002.A242] # YI SYLLABLE MGU
-A243 ; [.259A.0020.0002.A243] # YI SYLLABLE MGUP
-A244 ; [.259B.0020.0002.A244] # YI SYLLABLE MGURX
-A245 ; [.259C.0020.0002.A245] # YI SYLLABLE MGUR
-A246 ; [.259D.0020.0002.A246] # YI SYLLABLE HXIT
-A247 ; [.259E.0020.0002.A247] # YI SYLLABLE HXIX
-A248 ; [.259F.0020.0002.A248] # YI SYLLABLE HXI
-A249 ; [.25A0.0020.0002.A249] # YI SYLLABLE HXIP
-A24A ; [.25A1.0020.0002.A24A] # YI SYLLABLE HXIET
-A24B ; [.25A2.0020.0002.A24B] # YI SYLLABLE HXIEX
-A24C ; [.25A3.0020.0002.A24C] # YI SYLLABLE HXIE
-A24D ; [.25A4.0020.0002.A24D] # YI SYLLABLE HXIEP
-A24E ; [.25A5.0020.0002.A24E] # YI SYLLABLE HXAT
-A24F ; [.25A6.0020.0002.A24F] # YI SYLLABLE HXAX
-A250 ; [.25A7.0020.0002.A250] # YI SYLLABLE HXA
-A251 ; [.25A8.0020.0002.A251] # YI SYLLABLE HXAP
-A252 ; [.25A9.0020.0002.A252] # YI SYLLABLE HXUOT
-A253 ; [.25AA.0020.0002.A253] # YI SYLLABLE HXUOX
-A254 ; [.25AB.0020.0002.A254] # YI SYLLABLE HXUO
-A255 ; [.25AC.0020.0002.A255] # YI SYLLABLE HXUOP
-A256 ; [.25AD.0020.0002.A256] # YI SYLLABLE HXOT
-A257 ; [.25AE.0020.0002.A257] # YI SYLLABLE HXOX
-A258 ; [.25AF.0020.0002.A258] # YI SYLLABLE HXO
-A259 ; [.25B0.0020.0002.A259] # YI SYLLABLE HXOP
-A25A ; [.25B1.0020.0002.A25A] # YI SYLLABLE HXEX
-A25B ; [.25B2.0020.0002.A25B] # YI SYLLABLE HXE
-A25C ; [.25B3.0020.0002.A25C] # YI SYLLABLE HXEP
-A25D ; [.25B4.0020.0002.A25D] # YI SYLLABLE NGIEX
-A25E ; [.25B5.0020.0002.A25E] # YI SYLLABLE NGIE
-A25F ; [.25B6.0020.0002.A25F] # YI SYLLABLE NGIEP
-A260 ; [.25B7.0020.0002.A260] # YI SYLLABLE NGAT
-A261 ; [.25B8.0020.0002.A261] # YI SYLLABLE NGAX
-A262 ; [.25B9.0020.0002.A262] # YI SYLLABLE NGA
-A263 ; [.25BA.0020.0002.A263] # YI SYLLABLE NGAP
-A264 ; [.25BB.0020.0002.A264] # YI SYLLABLE NGUOT
-A265 ; [.25BC.0020.0002.A265] # YI SYLLABLE NGUOX
-A266 ; [.25BD.0020.0002.A266] # YI SYLLABLE NGUO
-A267 ; [.25BE.0020.0002.A267] # YI SYLLABLE NGOT
-A268 ; [.25BF.0020.0002.A268] # YI SYLLABLE NGOX
-A269 ; [.25C0.0020.0002.A269] # YI SYLLABLE NGO
-A26A ; [.25C1.0020.0002.A26A] # YI SYLLABLE NGOP
-A26B ; [.25C2.0020.0002.A26B] # YI SYLLABLE NGEX
-A26C ; [.25C3.0020.0002.A26C] # YI SYLLABLE NGE
-A26D ; [.25C4.0020.0002.A26D] # YI SYLLABLE NGEP
-A26E ; [.25C5.0020.0002.A26E] # YI SYLLABLE HIT
-A26F ; [.25C6.0020.0002.A26F] # YI SYLLABLE HIEX
-A270 ; [.25C7.0020.0002.A270] # YI SYLLABLE HIE
-A271 ; [.25C8.0020.0002.A271] # YI SYLLABLE HAT
-A272 ; [.25C9.0020.0002.A272] # YI SYLLABLE HAX
-A273 ; [.25CA.0020.0002.A273] # YI SYLLABLE HA
-A274 ; [.25CB.0020.0002.A274] # YI SYLLABLE HAP
-A275 ; [.25CC.0020.0002.A275] # YI SYLLABLE HUOT
-A276 ; [.25CD.0020.0002.A276] # YI SYLLABLE HUOX
-A277 ; [.25CE.0020.0002.A277] # YI SYLLABLE HUO
-A278 ; [.25CF.0020.0002.A278] # YI SYLLABLE HUOP
-A279 ; [.25D0.0020.0002.A279] # YI SYLLABLE HOT
-A27A ; [.25D1.0020.0002.A27A] # YI SYLLABLE HOX
-A27B ; [.25D2.0020.0002.A27B] # YI SYLLABLE HO
-A27C ; [.25D3.0020.0002.A27C] # YI SYLLABLE HOP
-A27D ; [.25D4.0020.0002.A27D] # YI SYLLABLE HEX
-A27E ; [.25D5.0020.0002.A27E] # YI SYLLABLE HE
-A27F ; [.25D6.0020.0002.A27F] # YI SYLLABLE HEP
-A280 ; [.25D7.0020.0002.A280] # YI SYLLABLE WAT
-A281 ; [.25D8.0020.0002.A281] # YI SYLLABLE WAX
-A282 ; [.25D9.0020.0002.A282] # YI SYLLABLE WA
-A283 ; [.25DA.0020.0002.A283] # YI SYLLABLE WAP
-A284 ; [.25DB.0020.0002.A284] # YI SYLLABLE WUOX
-A285 ; [.25DC.0020.0002.A285] # YI SYLLABLE WUO
-A286 ; [.25DD.0020.0002.A286] # YI SYLLABLE WUOP
-A287 ; [.25DE.0020.0002.A287] # YI SYLLABLE WOX
-A288 ; [.25DF.0020.0002.A288] # YI SYLLABLE WO
-A289 ; [.25E0.0020.0002.A289] # YI SYLLABLE WOP
-A28A ; [.25E1.0020.0002.A28A] # YI SYLLABLE WEX
-A28B ; [.25E2.0020.0002.A28B] # YI SYLLABLE WE
-A28C ; [.25E3.0020.0002.A28C] # YI SYLLABLE WEP
-A28D ; [.25E4.0020.0002.A28D] # YI SYLLABLE ZIT
-A28E ; [.25E5.0020.0002.A28E] # YI SYLLABLE ZIX
-A28F ; [.25E6.0020.0002.A28F] # YI SYLLABLE ZI
-A290 ; [.25E7.0020.0002.A290] # YI SYLLABLE ZIP
-A291 ; [.25E8.0020.0002.A291] # YI SYLLABLE ZIEX
-A292 ; [.25E9.0020.0002.A292] # YI SYLLABLE ZIE
-A293 ; [.25EA.0020.0002.A293] # YI SYLLABLE ZIEP
-A294 ; [.25EB.0020.0002.A294] # YI SYLLABLE ZAT
-A295 ; [.25EC.0020.0002.A295] # YI SYLLABLE ZAX
-A296 ; [.25ED.0020.0002.A296] # YI SYLLABLE ZA
-A297 ; [.25EE.0020.0002.A297] # YI SYLLABLE ZAP
-A298 ; [.25EF.0020.0002.A298] # YI SYLLABLE ZUOX
-A299 ; [.25F0.0020.0002.A299] # YI SYLLABLE ZUO
-A29A ; [.25F1.0020.0002.A29A] # YI SYLLABLE ZUOP
-A29B ; [.25F2.0020.0002.A29B] # YI SYLLABLE ZOT
-A29C ; [.25F3.0020.0002.A29C] # YI SYLLABLE ZOX
-A29D ; [.25F4.0020.0002.A29D] # YI SYLLABLE ZO
-A29E ; [.25F5.0020.0002.A29E] # YI SYLLABLE ZOP
-A29F ; [.25F6.0020.0002.A29F] # YI SYLLABLE ZEX
-A2A0 ; [.25F7.0020.0002.A2A0] # YI SYLLABLE ZE
-A2A1 ; [.25F8.0020.0002.A2A1] # YI SYLLABLE ZEP
-A2A2 ; [.25F9.0020.0002.A2A2] # YI SYLLABLE ZUT
-A2A3 ; [.25FA.0020.0002.A2A3] # YI SYLLABLE ZUX
-A2A4 ; [.25FB.0020.0002.A2A4] # YI SYLLABLE ZU
-A2A5 ; [.25FC.0020.0002.A2A5] # YI SYLLABLE ZUP
-A2A6 ; [.25FD.0020.0002.A2A6] # YI SYLLABLE ZURX
-A2A7 ; [.25FE.0020.0002.A2A7] # YI SYLLABLE ZUR
-A2A8 ; [.25FF.0020.0002.A2A8] # YI SYLLABLE ZYT
-A2A9 ; [.2600.0020.0002.A2A9] # YI SYLLABLE ZYX
-A2AA ; [.2601.0020.0002.A2AA] # YI SYLLABLE ZY
-A2AB ; [.2602.0020.0002.A2AB] # YI SYLLABLE ZYP
-A2AC ; [.2603.0020.0002.A2AC] # YI SYLLABLE ZYRX
-A2AD ; [.2604.0020.0002.A2AD] # YI SYLLABLE ZYR
-A2AE ; [.2605.0020.0002.A2AE] # YI SYLLABLE CIT
-A2AF ; [.2606.0020.0002.A2AF] # YI SYLLABLE CIX
-A2B0 ; [.2607.0020.0002.A2B0] # YI SYLLABLE CI
-A2B1 ; [.2608.0020.0002.A2B1] # YI SYLLABLE CIP
-A2B2 ; [.2609.0020.0002.A2B2] # YI SYLLABLE CIET
-A2B3 ; [.260A.0020.0002.A2B3] # YI SYLLABLE CIEX
-A2B4 ; [.260B.0020.0002.A2B4] # YI SYLLABLE CIE
-A2B5 ; [.260C.0020.0002.A2B5] # YI SYLLABLE CIEP
-A2B6 ; [.260D.0020.0002.A2B6] # YI SYLLABLE CAT
-A2B7 ; [.260E.0020.0002.A2B7] # YI SYLLABLE CAX
-A2B8 ; [.260F.0020.0002.A2B8] # YI SYLLABLE CA
-A2B9 ; [.2610.0020.0002.A2B9] # YI SYLLABLE CAP
-A2BA ; [.2611.0020.0002.A2BA] # YI SYLLABLE CUOX
-A2BB ; [.2612.0020.0002.A2BB] # YI SYLLABLE CUO
-A2BC ; [.2613.0020.0002.A2BC] # YI SYLLABLE CUOP
-A2BD ; [.2614.0020.0002.A2BD] # YI SYLLABLE COT
-A2BE ; [.2615.0020.0002.A2BE] # YI SYLLABLE COX
-A2BF ; [.2616.0020.0002.A2BF] # YI SYLLABLE CO
-A2C0 ; [.2617.0020.0002.A2C0] # YI SYLLABLE COP
-A2C1 ; [.2618.0020.0002.A2C1] # YI SYLLABLE CEX
-A2C2 ; [.2619.0020.0002.A2C2] # YI SYLLABLE CE
-A2C3 ; [.261A.0020.0002.A2C3] # YI SYLLABLE CEP
-A2C4 ; [.261B.0020.0002.A2C4] # YI SYLLABLE CUT
-A2C5 ; [.261C.0020.0002.A2C5] # YI SYLLABLE CUX
-A2C6 ; [.261D.0020.0002.A2C6] # YI SYLLABLE CU
-A2C7 ; [.261E.0020.0002.A2C7] # YI SYLLABLE CUP
-A2C8 ; [.261F.0020.0002.A2C8] # YI SYLLABLE CURX
-A2C9 ; [.2620.0020.0002.A2C9] # YI SYLLABLE CUR
-A2CA ; [.2621.0020.0002.A2CA] # YI SYLLABLE CYT
-A2CB ; [.2622.0020.0002.A2CB] # YI SYLLABLE CYX
-A2CC ; [.2623.0020.0002.A2CC] # YI SYLLABLE CY
-A2CD ; [.2624.0020.0002.A2CD] # YI SYLLABLE CYP
-A2CE ; [.2625.0020.0002.A2CE] # YI SYLLABLE CYRX
-A2CF ; [.2626.0020.0002.A2CF] # YI SYLLABLE CYR
-A2D0 ; [.2627.0020.0002.A2D0] # YI SYLLABLE ZZIT
-A2D1 ; [.2628.0020.0002.A2D1] # YI SYLLABLE ZZIX
-A2D2 ; [.2629.0020.0002.A2D2] # YI SYLLABLE ZZI
-A2D3 ; [.262A.0020.0002.A2D3] # YI SYLLABLE ZZIP
-A2D4 ; [.262B.0020.0002.A2D4] # YI SYLLABLE ZZIET
-A2D5 ; [.262C.0020.0002.A2D5] # YI SYLLABLE ZZIEX
-A2D6 ; [.262D.0020.0002.A2D6] # YI SYLLABLE ZZIE
-A2D7 ; [.262E.0020.0002.A2D7] # YI SYLLABLE ZZIEP
-A2D8 ; [.262F.0020.0002.A2D8] # YI SYLLABLE ZZAT
-A2D9 ; [.2630.0020.0002.A2D9] # YI SYLLABLE ZZAX
-A2DA ; [.2631.0020.0002.A2DA] # YI SYLLABLE ZZA
-A2DB ; [.2632.0020.0002.A2DB] # YI SYLLABLE ZZAP
-A2DC ; [.2633.0020.0002.A2DC] # YI SYLLABLE ZZOX
-A2DD ; [.2634.0020.0002.A2DD] # YI SYLLABLE ZZO
-A2DE ; [.2635.0020.0002.A2DE] # YI SYLLABLE ZZOP
-A2DF ; [.2636.0020.0002.A2DF] # YI SYLLABLE ZZEX
-A2E0 ; [.2637.0020.0002.A2E0] # YI SYLLABLE ZZE
-A2E1 ; [.2638.0020.0002.A2E1] # YI SYLLABLE ZZEP
-A2E2 ; [.2639.0020.0002.A2E2] # YI SYLLABLE ZZUX
-A2E3 ; [.263A.0020.0002.A2E3] # YI SYLLABLE ZZU
-A2E4 ; [.263B.0020.0002.A2E4] # YI SYLLABLE ZZUP
-A2E5 ; [.263C.0020.0002.A2E5] # YI SYLLABLE ZZURX
-A2E6 ; [.263D.0020.0002.A2E6] # YI SYLLABLE ZZUR
-A2E7 ; [.263E.0020.0002.A2E7] # YI SYLLABLE ZZYT
-A2E8 ; [.263F.0020.0002.A2E8] # YI SYLLABLE ZZYX
-A2E9 ; [.2640.0020.0002.A2E9] # YI SYLLABLE ZZY
-A2EA ; [.2641.0020.0002.A2EA] # YI SYLLABLE ZZYP
-A2EB ; [.2642.0020.0002.A2EB] # YI SYLLABLE ZZYRX
-A2EC ; [.2643.0020.0002.A2EC] # YI SYLLABLE ZZYR
-A2ED ; [.2644.0020.0002.A2ED] # YI SYLLABLE NZIT
-A2EE ; [.2645.0020.0002.A2EE] # YI SYLLABLE NZIX
-A2EF ; [.2646.0020.0002.A2EF] # YI SYLLABLE NZI
-A2F0 ; [.2647.0020.0002.A2F0] # YI SYLLABLE NZIP
-A2F1 ; [.2648.0020.0002.A2F1] # YI SYLLABLE NZIEX
-A2F2 ; [.2649.0020.0002.A2F2] # YI SYLLABLE NZIE
-A2F3 ; [.264A.0020.0002.A2F3] # YI SYLLABLE NZIEP
-A2F4 ; [.264B.0020.0002.A2F4] # YI SYLLABLE NZAT
-A2F5 ; [.264C.0020.0002.A2F5] # YI SYLLABLE NZAX
-A2F6 ; [.264D.0020.0002.A2F6] # YI SYLLABLE NZA
-A2F7 ; [.264E.0020.0002.A2F7] # YI SYLLABLE NZAP
-A2F8 ; [.264F.0020.0002.A2F8] # YI SYLLABLE NZUOX
-A2F9 ; [.2650.0020.0002.A2F9] # YI SYLLABLE NZUO
-A2FA ; [.2651.0020.0002.A2FA] # YI SYLLABLE NZOX
-A2FB ; [.2652.0020.0002.A2FB] # YI SYLLABLE NZOP
-A2FC ; [.2653.0020.0002.A2FC] # YI SYLLABLE NZEX
-A2FD ; [.2654.0020.0002.A2FD] # YI SYLLABLE NZE
-A2FE ; [.2655.0020.0002.A2FE] # YI SYLLABLE NZUX
-A2FF ; [.2656.0020.0002.A2FF] # YI SYLLABLE NZU
-A300 ; [.2657.0020.0002.A300] # YI SYLLABLE NZUP
-A301 ; [.2658.0020.0002.A301] # YI SYLLABLE NZURX
-A302 ; [.2659.0020.0002.A302] # YI SYLLABLE NZUR
-A303 ; [.265A.0020.0002.A303] # YI SYLLABLE NZYT
-A304 ; [.265B.0020.0002.A304] # YI SYLLABLE NZYX
-A305 ; [.265C.0020.0002.A305] # YI SYLLABLE NZY
-A306 ; [.265D.0020.0002.A306] # YI SYLLABLE NZYP
-A307 ; [.265E.0020.0002.A307] # YI SYLLABLE NZYRX
-A308 ; [.265F.0020.0002.A308] # YI SYLLABLE NZYR
-A309 ; [.2660.0020.0002.A309] # YI SYLLABLE SIT
-A30A ; [.2661.0020.0002.A30A] # YI SYLLABLE SIX
-A30B ; [.2662.0020.0002.A30B] # YI SYLLABLE SI
-A30C ; [.2663.0020.0002.A30C] # YI SYLLABLE SIP
-A30D ; [.2664.0020.0002.A30D] # YI SYLLABLE SIEX
-A30E ; [.2665.0020.0002.A30E] # YI SYLLABLE SIE
-A30F ; [.2666.0020.0002.A30F] # YI SYLLABLE SIEP
-A310 ; [.2667.0020.0002.A310] # YI SYLLABLE SAT
-A311 ; [.2668.0020.0002.A311] # YI SYLLABLE SAX
-A312 ; [.2669.0020.0002.A312] # YI SYLLABLE SA
-A313 ; [.266A.0020.0002.A313] # YI SYLLABLE SAP
-A314 ; [.266B.0020.0002.A314] # YI SYLLABLE SUOX
-A315 ; [.266C.0020.0002.A315] # YI SYLLABLE SUO
-A316 ; [.266D.0020.0002.A316] # YI SYLLABLE SUOP
-A317 ; [.266E.0020.0002.A317] # YI SYLLABLE SOT
-A318 ; [.266F.0020.0002.A318] # YI SYLLABLE SOX
-A319 ; [.2670.0020.0002.A319] # YI SYLLABLE SO
-A31A ; [.2671.0020.0002.A31A] # YI SYLLABLE SOP
-A31B ; [.2672.0020.0002.A31B] # YI SYLLABLE SEX
-A31C ; [.2673.0020.0002.A31C] # YI SYLLABLE SE
-A31D ; [.2674.0020.0002.A31D] # YI SYLLABLE SEP
-A31E ; [.2675.0020.0002.A31E] # YI SYLLABLE SUT
-A31F ; [.2676.0020.0002.A31F] # YI SYLLABLE SUX
-A320 ; [.2677.0020.0002.A320] # YI SYLLABLE SU
-A321 ; [.2678.0020.0002.A321] # YI SYLLABLE SUP
-A322 ; [.2679.0020.0002.A322] # YI SYLLABLE SURX
-A323 ; [.267A.0020.0002.A323] # YI SYLLABLE SUR
-A324 ; [.267B.0020.0002.A324] # YI SYLLABLE SYT
-A325 ; [.267C.0020.0002.A325] # YI SYLLABLE SYX
-A326 ; [.267D.0020.0002.A326] # YI SYLLABLE SY
-A327 ; [.267E.0020.0002.A327] # YI SYLLABLE SYP
-A328 ; [.267F.0020.0002.A328] # YI SYLLABLE SYRX
-A329 ; [.2680.0020.0002.A329] # YI SYLLABLE SYR
-A32A ; [.2681.0020.0002.A32A] # YI SYLLABLE SSIT
-A32B ; [.2682.0020.0002.A32B] # YI SYLLABLE SSIX
-A32C ; [.2683.0020.0002.A32C] # YI SYLLABLE SSI
-A32D ; [.2684.0020.0002.A32D] # YI SYLLABLE SSIP
-A32E ; [.2685.0020.0002.A32E] # YI SYLLABLE SSIEX
-A32F ; [.2686.0020.0002.A32F] # YI SYLLABLE SSIE
-A330 ; [.2687.0020.0002.A330] # YI SYLLABLE SSIEP
-A331 ; [.2688.0020.0002.A331] # YI SYLLABLE SSAT
-A332 ; [.2689.0020.0002.A332] # YI SYLLABLE SSAX
-A333 ; [.268A.0020.0002.A333] # YI SYLLABLE SSA
-A334 ; [.268B.0020.0002.A334] # YI SYLLABLE SSAP
-A335 ; [.268C.0020.0002.A335] # YI SYLLABLE SSOT
-A336 ; [.268D.0020.0002.A336] # YI SYLLABLE SSOX
-A337 ; [.268E.0020.0002.A337] # YI SYLLABLE SSO
-A338 ; [.268F.0020.0002.A338] # YI SYLLABLE SSOP
-A339 ; [.2690.0020.0002.A339] # YI SYLLABLE SSEX
-A33A ; [.2691.0020.0002.A33A] # YI SYLLABLE SSE
-A33B ; [.2692.0020.0002.A33B] # YI SYLLABLE SSEP
-A33C ; [.2693.0020.0002.A33C] # YI SYLLABLE SSUT
-A33D ; [.2694.0020.0002.A33D] # YI SYLLABLE SSUX
-A33E ; [.2695.0020.0002.A33E] # YI SYLLABLE SSU
-A33F ; [.2696.0020.0002.A33F] # YI SYLLABLE SSUP
-A340 ; [.2697.0020.0002.A340] # YI SYLLABLE SSYT
-A341 ; [.2698.0020.0002.A341] # YI SYLLABLE SSYX
-A342 ; [.2699.0020.0002.A342] # YI SYLLABLE SSY
-A343 ; [.269A.0020.0002.A343] # YI SYLLABLE SSYP
-A344 ; [.269B.0020.0002.A344] # YI SYLLABLE SSYRX
-A345 ; [.269C.0020.0002.A345] # YI SYLLABLE SSYR
-A346 ; [.269D.0020.0002.A346] # YI SYLLABLE ZHAT
-A347 ; [.269E.0020.0002.A347] # YI SYLLABLE ZHAX
-A348 ; [.269F.0020.0002.A348] # YI SYLLABLE ZHA
-A349 ; [.26A0.0020.0002.A349] # YI SYLLABLE ZHAP
-A34A ; [.26A1.0020.0002.A34A] # YI SYLLABLE ZHUOX
-A34B ; [.26A2.0020.0002.A34B] # YI SYLLABLE ZHUO
-A34C ; [.26A3.0020.0002.A34C] # YI SYLLABLE ZHUOP
-A34D ; [.26A4.0020.0002.A34D] # YI SYLLABLE ZHOT
-A34E ; [.26A5.0020.0002.A34E] # YI SYLLABLE ZHOX
-A34F ; [.26A6.0020.0002.A34F] # YI SYLLABLE ZHO
-A350 ; [.26A7.0020.0002.A350] # YI SYLLABLE ZHOP
-A351 ; [.26A8.0020.0002.A351] # YI SYLLABLE ZHET
-A352 ; [.26A9.0020.0002.A352] # YI SYLLABLE ZHEX
-A353 ; [.26AA.0020.0002.A353] # YI SYLLABLE ZHE
-A354 ; [.26AB.0020.0002.A354] # YI SYLLABLE ZHEP
-A355 ; [.26AC.0020.0002.A355] # YI SYLLABLE ZHUT
-A356 ; [.26AD.0020.0002.A356] # YI SYLLABLE ZHUX
-A357 ; [.26AE.0020.0002.A357] # YI SYLLABLE ZHU
-A358 ; [.26AF.0020.0002.A358] # YI SYLLABLE ZHUP
-A359 ; [.26B0.0020.0002.A359] # YI SYLLABLE ZHURX
-A35A ; [.26B1.0020.0002.A35A] # YI SYLLABLE ZHUR
-A35B ; [.26B2.0020.0002.A35B] # YI SYLLABLE ZHYT
-A35C ; [.26B3.0020.0002.A35C] # YI SYLLABLE ZHYX
-A35D ; [.26B4.0020.0002.A35D] # YI SYLLABLE ZHY
-A35E ; [.26B5.0020.0002.A35E] # YI SYLLABLE ZHYP
-A35F ; [.26B6.0020.0002.A35F] # YI SYLLABLE ZHYRX
-A360 ; [.26B7.0020.0002.A360] # YI SYLLABLE ZHYR
-A361 ; [.26B8.0020.0002.A361] # YI SYLLABLE CHAT
-A362 ; [.26B9.0020.0002.A362] # YI SYLLABLE CHAX
-A363 ; [.26BA.0020.0002.A363] # YI SYLLABLE CHA
-A364 ; [.26BB.0020.0002.A364] # YI SYLLABLE CHAP
-A365 ; [.26BC.0020.0002.A365] # YI SYLLABLE CHUOT
-A366 ; [.26BD.0020.0002.A366] # YI SYLLABLE CHUOX
-A367 ; [.26BE.0020.0002.A367] # YI SYLLABLE CHUO
-A368 ; [.26BF.0020.0002.A368] # YI SYLLABLE CHUOP
-A369 ; [.26C0.0020.0002.A369] # YI SYLLABLE CHOT
-A36A ; [.26C1.0020.0002.A36A] # YI SYLLABLE CHOX
-A36B ; [.26C2.0020.0002.A36B] # YI SYLLABLE CHO
-A36C ; [.26C3.0020.0002.A36C] # YI SYLLABLE CHOP
-A36D ; [.26C4.0020.0002.A36D] # YI SYLLABLE CHET
-A36E ; [.26C5.0020.0002.A36E] # YI SYLLABLE CHEX
-A36F ; [.26C6.0020.0002.A36F] # YI SYLLABLE CHE
-A370 ; [.26C7.0020.0002.A370] # YI SYLLABLE CHEP
-A371 ; [.26C8.0020.0002.A371] # YI SYLLABLE CHUX
-A372 ; [.26C9.0020.0002.A372] # YI SYLLABLE CHU
-A373 ; [.26CA.0020.0002.A373] # YI SYLLABLE CHUP
-A374 ; [.26CB.0020.0002.A374] # YI SYLLABLE CHURX
-A375 ; [.26CC.0020.0002.A375] # YI SYLLABLE CHUR
-A376 ; [.26CD.0020.0002.A376] # YI SYLLABLE CHYT
-A377 ; [.26CE.0020.0002.A377] # YI SYLLABLE CHYX
-A378 ; [.26CF.0020.0002.A378] # YI SYLLABLE CHY
-A379 ; [.26D0.0020.0002.A379] # YI SYLLABLE CHYP
-A37A ; [.26D1.0020.0002.A37A] # YI SYLLABLE CHYRX
-A37B ; [.26D2.0020.0002.A37B] # YI SYLLABLE CHYR
-A37C ; [.26D3.0020.0002.A37C] # YI SYLLABLE RRAX
-A37D ; [.26D4.0020.0002.A37D] # YI SYLLABLE RRA
-A37E ; [.26D5.0020.0002.A37E] # YI SYLLABLE RRUOX
-A37F ; [.26D6.0020.0002.A37F] # YI SYLLABLE RRUO
-A380 ; [.26D7.0020.0002.A380] # YI SYLLABLE RROT
-A381 ; [.26D8.0020.0002.A381] # YI SYLLABLE RROX
-A382 ; [.26D9.0020.0002.A382] # YI SYLLABLE RRO
-A383 ; [.26DA.0020.0002.A383] # YI SYLLABLE RROP
-A384 ; [.26DB.0020.0002.A384] # YI SYLLABLE RRET
-A385 ; [.26DC.0020.0002.A385] # YI SYLLABLE RREX
-A386 ; [.26DD.0020.0002.A386] # YI SYLLABLE RRE
-A387 ; [.26DE.0020.0002.A387] # YI SYLLABLE RREP
-A388 ; [.26DF.0020.0002.A388] # YI SYLLABLE RRUT
-A389 ; [.26E0.0020.0002.A389] # YI SYLLABLE RRUX
-A38A ; [.26E1.0020.0002.A38A] # YI SYLLABLE RRU
-A38B ; [.26E2.0020.0002.A38B] # YI SYLLABLE RRUP
-A38C ; [.26E3.0020.0002.A38C] # YI SYLLABLE RRURX
-A38D ; [.26E4.0020.0002.A38D] # YI SYLLABLE RRUR
-A38E ; [.26E5.0020.0002.A38E] # YI SYLLABLE RRYT
-A38F ; [.26E6.0020.0002.A38F] # YI SYLLABLE RRYX
-A390 ; [.26E7.0020.0002.A390] # YI SYLLABLE RRY
-A391 ; [.26E8.0020.0002.A391] # YI SYLLABLE RRYP
-A392 ; [.26E9.0020.0002.A392] # YI SYLLABLE RRYRX
-A393 ; [.26EA.0020.0002.A393] # YI SYLLABLE RRYR
-A394 ; [.26EB.0020.0002.A394] # YI SYLLABLE NRAT
-A395 ; [.26EC.0020.0002.A395] # YI SYLLABLE NRAX
-A396 ; [.26ED.0020.0002.A396] # YI SYLLABLE NRA
-A397 ; [.26EE.0020.0002.A397] # YI SYLLABLE NRAP
-A398 ; [.26EF.0020.0002.A398] # YI SYLLABLE NROX
-A399 ; [.26F0.0020.0002.A399] # YI SYLLABLE NRO
-A39A ; [.26F1.0020.0002.A39A] # YI SYLLABLE NROP
-A39B ; [.26F2.0020.0002.A39B] # YI SYLLABLE NRET
-A39C ; [.26F3.0020.0002.A39C] # YI SYLLABLE NREX
-A39D ; [.26F4.0020.0002.A39D] # YI SYLLABLE NRE
-A39E ; [.26F5.0020.0002.A39E] # YI SYLLABLE NREP
-A39F ; [.26F6.0020.0002.A39F] # YI SYLLABLE NRUT
-A3A0 ; [.26F7.0020.0002.A3A0] # YI SYLLABLE NRUX
-A3A1 ; [.26F8.0020.0002.A3A1] # YI SYLLABLE NRU
-A3A2 ; [.26F9.0020.0002.A3A2] # YI SYLLABLE NRUP
-A3A3 ; [.26FA.0020.0002.A3A3] # YI SYLLABLE NRURX
-A3A4 ; [.26FB.0020.0002.A3A4] # YI SYLLABLE NRUR
-A3A5 ; [.26FC.0020.0002.A3A5] # YI SYLLABLE NRYT
-A3A6 ; [.26FD.0020.0002.A3A6] # YI SYLLABLE NRYX
-A3A7 ; [.26FE.0020.0002.A3A7] # YI SYLLABLE NRY
-A3A8 ; [.26FF.0020.0002.A3A8] # YI SYLLABLE NRYP
-A3A9 ; [.2700.0020.0002.A3A9] # YI SYLLABLE NRYRX
-A3AA ; [.2701.0020.0002.A3AA] # YI SYLLABLE NRYR
-A3AB ; [.2702.0020.0002.A3AB] # YI SYLLABLE SHAT
-A3AC ; [.2703.0020.0002.A3AC] # YI SYLLABLE SHAX
-A3AD ; [.2704.0020.0002.A3AD] # YI SYLLABLE SHA
-A3AE ; [.2705.0020.0002.A3AE] # YI SYLLABLE SHAP
-A3AF ; [.2706.0020.0002.A3AF] # YI SYLLABLE SHUOX
-A3B0 ; [.2707.0020.0002.A3B0] # YI SYLLABLE SHUO
-A3B1 ; [.2708.0020.0002.A3B1] # YI SYLLABLE SHUOP
-A3B2 ; [.2709.0020.0002.A3B2] # YI SYLLABLE SHOT
-A3B3 ; [.270A.0020.0002.A3B3] # YI SYLLABLE SHOX
-A3B4 ; [.270B.0020.0002.A3B4] # YI SYLLABLE SHO
-A3B5 ; [.270C.0020.0002.A3B5] # YI SYLLABLE SHOP
-A3B6 ; [.270D.0020.0002.A3B6] # YI SYLLABLE SHET
-A3B7 ; [.270E.0020.0002.A3B7] # YI SYLLABLE SHEX
-A3B8 ; [.270F.0020.0002.A3B8] # YI SYLLABLE SHE
-A3B9 ; [.2710.0020.0002.A3B9] # YI SYLLABLE SHEP
-A3BA ; [.2711.0020.0002.A3BA] # YI SYLLABLE SHUT
-A3BB ; [.2712.0020.0002.A3BB] # YI SYLLABLE SHUX
-A3BC ; [.2713.0020.0002.A3BC] # YI SYLLABLE SHU
-A3BD ; [.2714.0020.0002.A3BD] # YI SYLLABLE SHUP
-A3BE ; [.2715.0020.0002.A3BE] # YI SYLLABLE SHURX
-A3BF ; [.2716.0020.0002.A3BF] # YI SYLLABLE SHUR
-A3C0 ; [.2717.0020.0002.A3C0] # YI SYLLABLE SHYT
-A3C1 ; [.2718.0020.0002.A3C1] # YI SYLLABLE SHYX
-A3C2 ; [.2719.0020.0002.A3C2] # YI SYLLABLE SHY
-A3C3 ; [.271A.0020.0002.A3C3] # YI SYLLABLE SHYP
-A3C4 ; [.271B.0020.0002.A3C4] # YI SYLLABLE SHYRX
-A3C5 ; [.271C.0020.0002.A3C5] # YI SYLLABLE SHYR
-A3C6 ; [.271D.0020.0002.A3C6] # YI SYLLABLE RAT
-A3C7 ; [.271E.0020.0002.A3C7] # YI SYLLABLE RAX
-A3C8 ; [.271F.0020.0002.A3C8] # YI SYLLABLE RA
-A3C9 ; [.2720.0020.0002.A3C9] # YI SYLLABLE RAP
-A3CA ; [.2721.0020.0002.A3CA] # YI SYLLABLE RUOX
-A3CB ; [.2722.0020.0002.A3CB] # YI SYLLABLE RUO
-A3CC ; [.2723.0020.0002.A3CC] # YI SYLLABLE RUOP
-A3CD ; [.2724.0020.0002.A3CD] # YI SYLLABLE ROT
-A3CE ; [.2725.0020.0002.A3CE] # YI SYLLABLE ROX
-A3CF ; [.2726.0020.0002.A3CF] # YI SYLLABLE RO
-A3D0 ; [.2727.0020.0002.A3D0] # YI SYLLABLE ROP
-A3D1 ; [.2728.0020.0002.A3D1] # YI SYLLABLE REX
-A3D2 ; [.2729.0020.0002.A3D2] # YI SYLLABLE RE
-A3D3 ; [.272A.0020.0002.A3D3] # YI SYLLABLE REP
-A3D4 ; [.272B.0020.0002.A3D4] # YI SYLLABLE RUT
-A3D5 ; [.272C.0020.0002.A3D5] # YI SYLLABLE RUX
-A3D6 ; [.272D.0020.0002.A3D6] # YI SYLLABLE RU
-A3D7 ; [.272E.0020.0002.A3D7] # YI SYLLABLE RUP
-A3D8 ; [.272F.0020.0002.A3D8] # YI SYLLABLE RURX
-A3D9 ; [.2730.0020.0002.A3D9] # YI SYLLABLE RUR
-A3DA ; [.2731.0020.0002.A3DA] # YI SYLLABLE RYT
-A3DB ; [.2732.0020.0002.A3DB] # YI SYLLABLE RYX
-A3DC ; [.2733.0020.0002.A3DC] # YI SYLLABLE RY
-A3DD ; [.2734.0020.0002.A3DD] # YI SYLLABLE RYP
-A3DE ; [.2735.0020.0002.A3DE] # YI SYLLABLE RYRX
-A3DF ; [.2736.0020.0002.A3DF] # YI SYLLABLE RYR
-A3E0 ; [.2737.0020.0002.A3E0] # YI SYLLABLE JIT
-A3E1 ; [.2738.0020.0002.A3E1] # YI SYLLABLE JIX
-A3E2 ; [.2739.0020.0002.A3E2] # YI SYLLABLE JI
-A3E3 ; [.273A.0020.0002.A3E3] # YI SYLLABLE JIP
-A3E4 ; [.273B.0020.0002.A3E4] # YI SYLLABLE JIET
-A3E5 ; [.273C.0020.0002.A3E5] # YI SYLLABLE JIEX
-A3E6 ; [.273D.0020.0002.A3E6] # YI SYLLABLE JIE
-A3E7 ; [.273E.0020.0002.A3E7] # YI SYLLABLE JIEP
-A3E8 ; [.273F.0020.0002.A3E8] # YI SYLLABLE JUOT
-A3E9 ; [.2740.0020.0002.A3E9] # YI SYLLABLE JUOX
-A3EA ; [.2741.0020.0002.A3EA] # YI SYLLABLE JUO
-A3EB ; [.2742.0020.0002.A3EB] # YI SYLLABLE JUOP
-A3EC ; [.2743.0020.0002.A3EC] # YI SYLLABLE JOT
-A3ED ; [.2744.0020.0002.A3ED] # YI SYLLABLE JOX
-A3EE ; [.2745.0020.0002.A3EE] # YI SYLLABLE JO
-A3EF ; [.2746.0020.0002.A3EF] # YI SYLLABLE JOP
-A3F0 ; [.2747.0020.0002.A3F0] # YI SYLLABLE JUT
-A3F1 ; [.2748.0020.0002.A3F1] # YI SYLLABLE JUX
-A3F2 ; [.2749.0020.0002.A3F2] # YI SYLLABLE JU
-A3F3 ; [.274A.0020.0002.A3F3] # YI SYLLABLE JUP
-A3F4 ; [.274B.0020.0002.A3F4] # YI SYLLABLE JURX
-A3F5 ; [.274C.0020.0002.A3F5] # YI SYLLABLE JUR
-A3F6 ; [.274D.0020.0002.A3F6] # YI SYLLABLE JYT
-A3F7 ; [.274E.0020.0002.A3F7] # YI SYLLABLE JYX
-A3F8 ; [.274F.0020.0002.A3F8] # YI SYLLABLE JY
-A3F9 ; [.2750.0020.0002.A3F9] # YI SYLLABLE JYP
-A3FA ; [.2751.0020.0002.A3FA] # YI SYLLABLE JYRX
-A3FB ; [.2752.0020.0002.A3FB] # YI SYLLABLE JYR
-A3FC ; [.2753.0020.0002.A3FC] # YI SYLLABLE QIT
-A3FD ; [.2754.0020.0002.A3FD] # YI SYLLABLE QIX
-A3FE ; [.2755.0020.0002.A3FE] # YI SYLLABLE QI
-A3FF ; [.2756.0020.0002.A3FF] # YI SYLLABLE QIP
-A400 ; [.2757.0020.0002.A400] # YI SYLLABLE QIET
-A401 ; [.2758.0020.0002.A401] # YI SYLLABLE QIEX
-A402 ; [.2759.0020.0002.A402] # YI SYLLABLE QIE
-A403 ; [.275A.0020.0002.A403] # YI SYLLABLE QIEP
-A404 ; [.275B.0020.0002.A404] # YI SYLLABLE QUOT
-A405 ; [.275C.0020.0002.A405] # YI SYLLABLE QUOX
-A406 ; [.275D.0020.0002.A406] # YI SYLLABLE QUO
-A407 ; [.275E.0020.0002.A407] # YI SYLLABLE QUOP
-A408 ; [.275F.0020.0002.A408] # YI SYLLABLE QOT
-A409 ; [.2760.0020.0002.A409] # YI SYLLABLE QOX
-A40A ; [.2761.0020.0002.A40A] # YI SYLLABLE QO
-A40B ; [.2762.0020.0002.A40B] # YI SYLLABLE QOP
-A40C ; [.2763.0020.0002.A40C] # YI SYLLABLE QUT
-A40D ; [.2764.0020.0002.A40D] # YI SYLLABLE QUX
-A40E ; [.2765.0020.0002.A40E] # YI SYLLABLE QU
-A40F ; [.2766.0020.0002.A40F] # YI SYLLABLE QUP
-A410 ; [.2767.0020.0002.A410] # YI SYLLABLE QURX
-A411 ; [.2768.0020.0002.A411] # YI SYLLABLE QUR
-A412 ; [.2769.0020.0002.A412] # YI SYLLABLE QYT
-A413 ; [.276A.0020.0002.A413] # YI SYLLABLE QYX
-A414 ; [.276B.0020.0002.A414] # YI SYLLABLE QY
-A415 ; [.276C.0020.0002.A415] # YI SYLLABLE QYP
-A416 ; [.276D.0020.0002.A416] # YI SYLLABLE QYRX
-A417 ; [.276E.0020.0002.A417] # YI SYLLABLE QYR
-A418 ; [.276F.0020.0002.A418] # YI SYLLABLE JJIT
-A419 ; [.2770.0020.0002.A419] # YI SYLLABLE JJIX
-A41A ; [.2771.0020.0002.A41A] # YI SYLLABLE JJI
-A41B ; [.2772.0020.0002.A41B] # YI SYLLABLE JJIP
-A41C ; [.2773.0020.0002.A41C] # YI SYLLABLE JJIET
-A41D ; [.2774.0020.0002.A41D] # YI SYLLABLE JJIEX
-A41E ; [.2775.0020.0002.A41E] # YI SYLLABLE JJIE
-A41F ; [.2776.0020.0002.A41F] # YI SYLLABLE JJIEP
-A420 ; [.2777.0020.0002.A420] # YI SYLLABLE JJUOX
-A421 ; [.2778.0020.0002.A421] # YI SYLLABLE JJUO
-A422 ; [.2779.0020.0002.A422] # YI SYLLABLE JJUOP
-A423 ; [.277A.0020.0002.A423] # YI SYLLABLE JJOT
-A424 ; [.277B.0020.0002.A424] # YI SYLLABLE JJOX
-A425 ; [.277C.0020.0002.A425] # YI SYLLABLE JJO
-A426 ; [.277D.0020.0002.A426] # YI SYLLABLE JJOP
-A427 ; [.277E.0020.0002.A427] # YI SYLLABLE JJUT
-A428 ; [.277F.0020.0002.A428] # YI SYLLABLE JJUX
-A429 ; [.2780.0020.0002.A429] # YI SYLLABLE JJU
-A42A ; [.2781.0020.0002.A42A] # YI SYLLABLE JJUP
-A42B ; [.2782.0020.0002.A42B] # YI SYLLABLE JJURX
-A42C ; [.2783.0020.0002.A42C] # YI SYLLABLE JJUR
-A42D ; [.2784.0020.0002.A42D] # YI SYLLABLE JJYT
-A42E ; [.2785.0020.0002.A42E] # YI SYLLABLE JJYX
-A42F ; [.2786.0020.0002.A42F] # YI SYLLABLE JJY
-A430 ; [.2787.0020.0002.A430] # YI SYLLABLE JJYP
-A431 ; [.2788.0020.0002.A431] # YI SYLLABLE NJIT
-A432 ; [.2789.0020.0002.A432] # YI SYLLABLE NJIX
-A433 ; [.278A.0020.0002.A433] # YI SYLLABLE NJI
-A434 ; [.278B.0020.0002.A434] # YI SYLLABLE NJIP
-A435 ; [.278C.0020.0002.A435] # YI SYLLABLE NJIET
-A436 ; [.278D.0020.0002.A436] # YI SYLLABLE NJIEX
-A437 ; [.278E.0020.0002.A437] # YI SYLLABLE NJIE
-A438 ; [.278F.0020.0002.A438] # YI SYLLABLE NJIEP
-A439 ; [.2790.0020.0002.A439] # YI SYLLABLE NJUOX
-A43A ; [.2791.0020.0002.A43A] # YI SYLLABLE NJUO
-A43B ; [.2792.0020.0002.A43B] # YI SYLLABLE NJOT
-A43C ; [.2793.0020.0002.A43C] # YI SYLLABLE NJOX
-A43D ; [.2794.0020.0002.A43D] # YI SYLLABLE NJO
-A43E ; [.2795.0020.0002.A43E] # YI SYLLABLE NJOP
-A43F ; [.2796.0020.0002.A43F] # YI SYLLABLE NJUX
-A440 ; [.2797.0020.0002.A440] # YI SYLLABLE NJU
-A441 ; [.2798.0020.0002.A441] # YI SYLLABLE NJUP
-A442 ; [.2799.0020.0002.A442] # YI SYLLABLE NJURX
-A443 ; [.279A.0020.0002.A443] # YI SYLLABLE NJUR
-A444 ; [.279B.0020.0002.A444] # YI SYLLABLE NJYT
-A445 ; [.279C.0020.0002.A445] # YI SYLLABLE NJYX
-A446 ; [.279D.0020.0002.A446] # YI SYLLABLE NJY
-A447 ; [.279E.0020.0002.A447] # YI SYLLABLE NJYP
-A448 ; [.279F.0020.0002.A448] # YI SYLLABLE NJYRX
-A449 ; [.27A0.0020.0002.A449] # YI SYLLABLE NJYR
-A44A ; [.27A1.0020.0002.A44A] # YI SYLLABLE NYIT
-A44B ; [.27A2.0020.0002.A44B] # YI SYLLABLE NYIX
-A44C ; [.27A3.0020.0002.A44C] # YI SYLLABLE NYI
-A44D ; [.27A4.0020.0002.A44D] # YI SYLLABLE NYIP
-A44E ; [.27A5.0020.0002.A44E] # YI SYLLABLE NYIET
-A44F ; [.27A6.0020.0002.A44F] # YI SYLLABLE NYIEX
-A450 ; [.27A7.0020.0002.A450] # YI SYLLABLE NYIE
-A451 ; [.27A8.0020.0002.A451] # YI SYLLABLE NYIEP
-A452 ; [.27A9.0020.0002.A452] # YI SYLLABLE NYUOX
-A453 ; [.27AA.0020.0002.A453] # YI SYLLABLE NYUO
-A454 ; [.27AB.0020.0002.A454] # YI SYLLABLE NYUOP
-A455 ; [.27AC.0020.0002.A455] # YI SYLLABLE NYOT
-A456 ; [.27AD.0020.0002.A456] # YI SYLLABLE NYOX
-A457 ; [.27AE.0020.0002.A457] # YI SYLLABLE NYO
-A458 ; [.27AF.0020.0002.A458] # YI SYLLABLE NYOP
-A459 ; [.27B0.0020.0002.A459] # YI SYLLABLE NYUT
-A45A ; [.27B1.0020.0002.A45A] # YI SYLLABLE NYUX
-A45B ; [.27B2.0020.0002.A45B] # YI SYLLABLE NYU
-A45C ; [.27B3.0020.0002.A45C] # YI SYLLABLE NYUP
-A45D ; [.27B4.0020.0002.A45D] # YI SYLLABLE XIT
-A45E ; [.27B5.0020.0002.A45E] # YI SYLLABLE XIX
-A45F ; [.27B6.0020.0002.A45F] # YI SYLLABLE XI
-A460 ; [.27B7.0020.0002.A460] # YI SYLLABLE XIP
-A461 ; [.27B8.0020.0002.A461] # YI SYLLABLE XIET
-A462 ; [.27B9.0020.0002.A462] # YI SYLLABLE XIEX
-A463 ; [.27BA.0020.0002.A463] # YI SYLLABLE XIE
-A464 ; [.27BB.0020.0002.A464] # YI SYLLABLE XIEP
-A465 ; [.27BC.0020.0002.A465] # YI SYLLABLE XUOX
-A466 ; [.27BD.0020.0002.A466] # YI SYLLABLE XUO
-A467 ; [.27BE.0020.0002.A467] # YI SYLLABLE XOT
-A468 ; [.27BF.0020.0002.A468] # YI SYLLABLE XOX
-A469 ; [.27C0.0020.0002.A469] # YI SYLLABLE XO
-A46A ; [.27C1.0020.0002.A46A] # YI SYLLABLE XOP
-A46B ; [.27C2.0020.0002.A46B] # YI SYLLABLE XYT
-A46C ; [.27C3.0020.0002.A46C] # YI SYLLABLE XYX
-A46D ; [.27C4.0020.0002.A46D] # YI SYLLABLE XY
-A46E ; [.27C5.0020.0002.A46E] # YI SYLLABLE XYP
-A46F ; [.27C6.0020.0002.A46F] # YI SYLLABLE XYRX
-A470 ; [.27C7.0020.0002.A470] # YI SYLLABLE XYR
-A471 ; [.27C8.0020.0002.A471] # YI SYLLABLE YIT
-A472 ; [.27C9.0020.0002.A472] # YI SYLLABLE YIX
-A473 ; [.27CA.0020.0002.A473] # YI SYLLABLE YI
-A474 ; [.27CB.0020.0002.A474] # YI SYLLABLE YIP
-A475 ; [.27CC.0020.0002.A475] # YI SYLLABLE YIET
-A476 ; [.27CD.0020.0002.A476] # YI SYLLABLE YIEX
-A477 ; [.27CE.0020.0002.A477] # YI SYLLABLE YIE
-A478 ; [.27CF.0020.0002.A478] # YI SYLLABLE YIEP
-A479 ; [.27D0.0020.0002.A479] # YI SYLLABLE YUOT
-A47A ; [.27D1.0020.0002.A47A] # YI SYLLABLE YUOX
-A47B ; [.27D2.0020.0002.A47B] # YI SYLLABLE YUO
-A47C ; [.27D3.0020.0002.A47C] # YI SYLLABLE YUOP
-A47D ; [.27D4.0020.0002.A47D] # YI SYLLABLE YOT
-A47E ; [.27D5.0020.0002.A47E] # YI SYLLABLE YOX
-A47F ; [.27D6.0020.0002.A47F] # YI SYLLABLE YO
-A480 ; [.27D7.0020.0002.A480] # YI SYLLABLE YOP
-A481 ; [.27D8.0020.0002.A481] # YI SYLLABLE YUT
-A482 ; [.27D9.0020.0002.A482] # YI SYLLABLE YUX
-A483 ; [.27DA.0020.0002.A483] # YI SYLLABLE YU
-A484 ; [.27DB.0020.0002.A484] # YI SYLLABLE YUP
-A485 ; [.27DC.0020.0002.A485] # YI SYLLABLE YURX
-A486 ; [.27DD.0020.0002.A486] # YI SYLLABLE YUR
-A487 ; [.27DE.0020.0002.A487] # YI SYLLABLE YYT
-A488 ; [.27DF.0020.0002.A488] # YI SYLLABLE YYX
-A489 ; [.27E0.0020.0002.A489] # YI SYLLABLE YY
-A48A ; [.27E1.0020.0002.A48A] # YI SYLLABLE YYP
-A48B ; [.27E2.0020.0002.A48B] # YI SYLLABLE YYRX
-A48C ; [.27E3.0020.0002.A48C] # YI SYLLABLE YYR
-10300 ; [.27E4.0020.0002.10300] # OLD ITALIC LETTER A
-10301 ; [.27E5.0020.0002.10301] # OLD ITALIC LETTER BE
-10302 ; [.27E6.0020.0002.10302] # OLD ITALIC LETTER KE
-10303 ; [.27E7.0020.0002.10303] # OLD ITALIC LETTER DE
-10304 ; [.27E8.0020.0002.10304] # OLD ITALIC LETTER E
-10305 ; [.27E9.0020.0002.10305] # OLD ITALIC LETTER VE
-10306 ; [.27EA.0020.0002.10306] # OLD ITALIC LETTER ZE
-10307 ; [.27EB.0020.0002.10307] # OLD ITALIC LETTER HE
-10308 ; [.27EC.0020.0002.10308] # OLD ITALIC LETTER THE
-10309 ; [.27ED.0020.0002.10309] # OLD ITALIC LETTER I
-1030A ; [.27EE.0020.0002.1030A] # OLD ITALIC LETTER KA
-1030B ; [.27EF.0020.0002.1030B] # OLD ITALIC LETTER EL
-1030C ; [.27F0.0020.0002.1030C] # OLD ITALIC LETTER EM
-1030D ; [.27F1.0020.0002.1030D] # OLD ITALIC LETTER EN
-1030E ; [.27F2.0020.0002.1030E] # OLD ITALIC LETTER ESH
-1030F ; [.27F3.0020.0002.1030F] # OLD ITALIC LETTER O
-10310 ; [.27F4.0020.0002.10310] # OLD ITALIC LETTER PE
-10311 ; [.27F5.0020.0002.10311] # OLD ITALIC LETTER SHE
-10312 ; [.27F6.0020.0002.10312] # OLD ITALIC LETTER KU
-10313 ; [.27F7.0020.0002.10313] # OLD ITALIC LETTER ER
-10314 ; [.27F8.0020.0002.10314] # OLD ITALIC LETTER ES
-10315 ; [.27F9.0020.0002.10315] # OLD ITALIC LETTER TE
-10316 ; [.27FA.0020.0002.10316] # OLD ITALIC LETTER U
-10317 ; [.27FB.0020.0002.10317] # OLD ITALIC LETTER EKS
-10318 ; [.27FC.0020.0002.10318] # OLD ITALIC LETTER PHE
-10319 ; [.27FD.0020.0002.10319] # OLD ITALIC LETTER KHE
-1031A ; [.27FE.0020.0002.1031A] # OLD ITALIC LETTER EF
-1031B ; [.27FF.0020.0002.1031B] # OLD ITALIC LETTER ERS
-1031C ; [.2800.0020.0002.1031C] # OLD ITALIC LETTER CHE
-1031D ; [.2801.0020.0002.1031D] # OLD ITALIC LETTER II
-1031E ; [.2802.0020.0002.1031E] # OLD ITALIC LETTER UU
-10330 ; [.2803.0020.0002.10330] # GOTHIC LETTER AHSA
-10331 ; [.2804.0020.0002.10331] # GOTHIC LETTER BAIRKAN
-10332 ; [.2805.0020.0002.10332] # GOTHIC LETTER GIBA
-10333 ; [.2806.0020.0002.10333] # GOTHIC LETTER DAGS
-10334 ; [.2807.0020.0002.10334] # GOTHIC LETTER AIHVUS
-10335 ; [.2808.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
-10336 ; [.2809.0020.0002.10336] # GOTHIC LETTER IUJA
-10337 ; [.280A.0020.0002.10337] # GOTHIC LETTER HAGL
-10338 ; [.280B.0020.0002.10338] # GOTHIC LETTER THIUTH
-10339 ; [.280C.0020.0002.10339] # GOTHIC LETTER EIS
-1033A ; [.280D.0020.0002.1033A] # GOTHIC LETTER KUSMA
-1033B ; [.280E.0020.0002.1033B] # GOTHIC LETTER LAGUS
-1033C ; [.280F.0020.0002.1033C] # GOTHIC LETTER MANNA
-1033D ; [.2810.0020.0002.1033D] # GOTHIC LETTER NAUTHS
-1033E ; [.2811.0020.0002.1033E] # GOTHIC LETTER JER
-1033F ; [.2812.0020.0002.1033F] # GOTHIC LETTER URUS
-10340 ; [.2813.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
-10341 ; [.2814.0020.0002.10341] # GOTHIC LETTER NINETY
-10342 ; [.2815.0020.0002.10342] # GOTHIC LETTER RAIDA
-10343 ; [.2816.0020.0002.10343] # GOTHIC LETTER SAUIL
-10344 ; [.2817.0020.0002.10344] # GOTHIC LETTER TEIWS
-10345 ; [.2818.0020.0002.10345] # GOTHIC LETTER WINJA
-10346 ; [.2819.0020.0002.10346] # GOTHIC LETTER FAIHU
-10347 ; [.281A.0020.0002.10347] # GOTHIC LETTER IGGWS
-10348 ; [.281B.0020.0002.10348] # GOTHIC LETTER HWAIR
-10349 ; [.281C.0020.0002.10349] # GOTHIC LETTER OTHAL
-1034A ; [.281D.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
-10428 ; [.281E.0020.0002.10428] # DESERET SMALL LETTER LONG I
-10400 ; [.281E.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
-10429 ; [.281F.0020.0002.10429] # DESERET SMALL LETTER LONG E
-10401 ; [.281F.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
-1042A ; [.2820.0020.0002.1042A] # DESERET SMALL LETTER LONG A
-10402 ; [.2820.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
-1042B ; [.2821.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
-10403 ; [.2821.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
-1042C ; [.2822.0020.0002.1042C] # DESERET SMALL LETTER LONG O
-10404 ; [.2822.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
-1042D ; [.2823.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
-10405 ; [.2823.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
-1042E ; [.2824.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
-10406 ; [.2824.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
-1042F ; [.2825.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
-10407 ; [.2825.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
-10430 ; [.2826.0020.0002.10430] # DESERET SMALL LETTER SHORT A
-10408 ; [.2826.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
-10431 ; [.2827.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
-10409 ; [.2827.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
-10432 ; [.2828.0020.0002.10432] # DESERET SMALL LETTER SHORT O
-1040A ; [.2828.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
-10433 ; [.2829.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
-1040B ; [.2829.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
-10434 ; [.282A.0020.0002.10434] # DESERET SMALL LETTER AY
-1040C ; [.282A.0020.0008.1040C] # DESERET CAPITAL LETTER AY
-10435 ; [.282B.0020.0002.10435] # DESERET SMALL LETTER OW
-1040D ; [.282B.0020.0008.1040D] # DESERET CAPITAL LETTER OW
-10436 ; [.282C.0020.0002.10436] # DESERET SMALL LETTER WU
-1040E ; [.282C.0020.0008.1040E] # DESERET CAPITAL LETTER WU
-10437 ; [.282D.0020.0002.10437] # DESERET SMALL LETTER YEE
-1040F ; [.282D.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
-10438 ; [.282E.0020.0002.10438] # DESERET SMALL LETTER H
-10410 ; [.282E.0020.0008.10410] # DESERET CAPITAL LETTER H
-10439 ; [.282F.0020.0002.10439] # DESERET SMALL LETTER PEE
-10411 ; [.282F.0020.0008.10411] # DESERET CAPITAL LETTER PEE
-1043A ; [.2830.0020.0002.1043A] # DESERET SMALL LETTER BEE
-10412 ; [.2830.0020.0008.10412] # DESERET CAPITAL LETTER BEE
-1043B ; [.2831.0020.0002.1043B] # DESERET SMALL LETTER TEE
-10413 ; [.2831.0020.0008.10413] # DESERET CAPITAL LETTER TEE
-1043C ; [.2832.0020.0002.1043C] # DESERET SMALL LETTER DEE
-10414 ; [.2832.0020.0008.10414] # DESERET CAPITAL LETTER DEE
-1043D ; [.2833.0020.0002.1043D] # DESERET SMALL LETTER CHEE
-10415 ; [.2833.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
-1043E ; [.2834.0020.0002.1043E] # DESERET SMALL LETTER JEE
-10416 ; [.2834.0020.0008.10416] # DESERET CAPITAL LETTER JEE
-1043F ; [.2835.0020.0002.1043F] # DESERET SMALL LETTER KAY
-10417 ; [.2835.0020.0008.10417] # DESERET CAPITAL LETTER KAY
-10440 ; [.2836.0020.0002.10440] # DESERET SMALL LETTER GAY
-10418 ; [.2836.0020.0008.10418] # DESERET CAPITAL LETTER GAY
-10441 ; [.2837.0020.0002.10441] # DESERET SMALL LETTER EF
-10419 ; [.2837.0020.0008.10419] # DESERET CAPITAL LETTER EF
-10442 ; [.2838.0020.0002.10442] # DESERET SMALL LETTER VEE
-1041A ; [.2838.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
-10443 ; [.2839.0020.0002.10443] # DESERET SMALL LETTER ETH
-1041B ; [.2839.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
-10444 ; [.283A.0020.0002.10444] # DESERET SMALL LETTER THEE
-1041C ; [.283A.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
-10445 ; [.283B.0020.0002.10445] # DESERET SMALL LETTER ES
-1041D ; [.283B.0020.0008.1041D] # DESERET CAPITAL LETTER ES
-10446 ; [.283C.0020.0002.10446] # DESERET SMALL LETTER ZEE
-1041E ; [.283C.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
-10447 ; [.283D.0020.0002.10447] # DESERET SMALL LETTER ESH
-1041F ; [.283D.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
-10448 ; [.283E.0020.0002.10448] # DESERET SMALL LETTER ZHEE
-10420 ; [.283E.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
-10449 ; [.283F.0020.0002.10449] # DESERET SMALL LETTER ER
-10421 ; [.283F.0020.0008.10421] # DESERET CAPITAL LETTER ER
-1044A ; [.2840.0020.0002.1044A] # DESERET SMALL LETTER EL
-10422 ; [.2840.0020.0008.10422] # DESERET CAPITAL LETTER EL
-1044B ; [.2841.0020.0002.1044B] # DESERET SMALL LETTER EM
-10423 ; [.2841.0020.0008.10423] # DESERET CAPITAL LETTER EM
-1044C ; [.2842.0020.0002.1044C] # DESERET SMALL LETTER EN
-10424 ; [.2842.0020.0008.10424] # DESERET CAPITAL LETTER EN
-1044D ; [.2843.0020.0002.1044D] # DESERET SMALL LETTER ENG
-10425 ; [.2843.0020.0008.10425] # DESERET CAPITAL LETTER ENG
-1044E ; [.2844.0020.0002.1044E] # DESERET SMALL LETTER OI
-10426 ; [.2844.0020.0008.10426] # DESERET CAPITAL LETTER OI
-1044F ; [.2845.0020.0002.1044F] # DESERET SMALL LETTER EW
-10427 ; [.2845.0020.0008.10427] # DESERET CAPITAL LETTER EW
-10450 ; [.2846.0020.0002.10450] # SHAVIAN LETTER PEEP
-10451 ; [.2847.0020.0002.10451] # SHAVIAN LETTER TOT
-10452 ; [.2848.0020.0002.10452] # SHAVIAN LETTER KICK
-10453 ; [.2849.0020.0002.10453] # SHAVIAN LETTER FEE
-10454 ; [.284A.0020.0002.10454] # SHAVIAN LETTER THIGH
-10455 ; [.284B.0020.0002.10455] # SHAVIAN LETTER SO
-10456 ; [.284C.0020.0002.10456] # SHAVIAN LETTER SURE
-10457 ; [.284D.0020.0002.10457] # SHAVIAN LETTER CHURCH
-10458 ; [.284E.0020.0002.10458] # SHAVIAN LETTER YEA
-10459 ; [.284F.0020.0002.10459] # SHAVIAN LETTER HUNG
-1045A ; [.2850.0020.0002.1045A] # SHAVIAN LETTER BIB
-1045B ; [.2851.0020.0002.1045B] # SHAVIAN LETTER DEAD
-1045C ; [.2852.0020.0002.1045C] # SHAVIAN LETTER GAG
-1045D ; [.2853.0020.0002.1045D] # SHAVIAN LETTER VOW
-1045E ; [.2854.0020.0002.1045E] # SHAVIAN LETTER THEY
-1045F ; [.2855.0020.0002.1045F] # SHAVIAN LETTER ZOO
-10460 ; [.2856.0020.0002.10460] # SHAVIAN LETTER MEASURE
-10461 ; [.2857.0020.0002.10461] # SHAVIAN LETTER JUDGE
-10462 ; [.2858.0020.0002.10462] # SHAVIAN LETTER WOE
-10463 ; [.2859.0020.0002.10463] # SHAVIAN LETTER HA-HA
-10464 ; [.285A.0020.0002.10464] # SHAVIAN LETTER LOLL
-10465 ; [.285B.0020.0002.10465] # SHAVIAN LETTER MIME
-10466 ; [.285C.0020.0002.10466] # SHAVIAN LETTER IF
-10467 ; [.285D.0020.0002.10467] # SHAVIAN LETTER EGG
-10468 ; [.285E.0020.0002.10468] # SHAVIAN LETTER ASH
-10469 ; [.285F.0020.0002.10469] # SHAVIAN LETTER ADO
-1046A ; [.2860.0020.0002.1046A] # SHAVIAN LETTER ON
-1046B ; [.2861.0020.0002.1046B] # SHAVIAN LETTER WOOL
-1046C ; [.2862.0020.0002.1046C] # SHAVIAN LETTER OUT
-1046D ; [.2863.0020.0002.1046D] # SHAVIAN LETTER AH
-1046E ; [.2864.0020.0002.1046E] # SHAVIAN LETTER ROAR
-1046F ; [.2865.0020.0002.1046F] # SHAVIAN LETTER NUN
-10470 ; [.2866.0020.0002.10470] # SHAVIAN LETTER EAT
-10471 ; [.2867.0020.0002.10471] # SHAVIAN LETTER AGE
-10472 ; [.2868.0020.0002.10472] # SHAVIAN LETTER ICE
-10473 ; [.2869.0020.0002.10473] # SHAVIAN LETTER UP
-10474 ; [.286A.0020.0002.10474] # SHAVIAN LETTER OAK
-10475 ; [.286B.0020.0002.10475] # SHAVIAN LETTER OOZE
-10476 ; [.286C.0020.0002.10476] # SHAVIAN LETTER OIL
-10477 ; [.286D.0020.0002.10477] # SHAVIAN LETTER AWE
-10478 ; [.286E.0020.0002.10478] # SHAVIAN LETTER ARE
-10479 ; [.286F.0020.0002.10479] # SHAVIAN LETTER OR
-1047A ; [.2870.0020.0002.1047A] # SHAVIAN LETTER AIR
-1047B ; [.2871.0020.0002.1047B] # SHAVIAN LETTER ERR
-1047C ; [.2872.0020.0002.1047C] # SHAVIAN LETTER ARRAY
-1047D ; [.2873.0020.0002.1047D] # SHAVIAN LETTER EAR
-1047E ; [.2874.0020.0002.1047E] # SHAVIAN LETTER IAN
-1047F ; [.2875.0020.0002.1047F] # SHAVIAN LETTER YEW
-10480 ; [.2876.0020.0002.10480] # OSMANYA LETTER ALEF
-10481 ; [.2877.0020.0002.10481] # OSMANYA LETTER BA
-10482 ; [.2878.0020.0002.10482] # OSMANYA LETTER TA
-10483 ; [.2879.0020.0002.10483] # OSMANYA LETTER JA
-10484 ; [.287A.0020.0002.10484] # OSMANYA LETTER XA
-10485 ; [.287B.0020.0002.10485] # OSMANYA LETTER KHA
-10486 ; [.287C.0020.0002.10486] # OSMANYA LETTER DEEL
-10487 ; [.287D.0020.0002.10487] # OSMANYA LETTER RA
-10488 ; [.287E.0020.0002.10488] # OSMANYA LETTER SA
-10489 ; [.287F.0020.0002.10489] # OSMANYA LETTER SHIIN
-1048A ; [.2880.0020.0002.1048A] # OSMANYA LETTER DHA
-1048B ; [.2881.0020.0002.1048B] # OSMANYA LETTER CAYN
-1048C ; [.2882.0020.0002.1048C] # OSMANYA LETTER GA
-1048D ; [.2883.0020.0002.1048D] # OSMANYA LETTER FA
-1048E ; [.2884.0020.0002.1048E] # OSMANYA LETTER QAAF
-1048F ; [.2885.0020.0002.1048F] # OSMANYA LETTER KAAF
-10490 ; [.2886.0020.0002.10490] # OSMANYA LETTER LAAN
-10491 ; [.2887.0020.0002.10491] # OSMANYA LETTER MIIN
-10492 ; [.2888.0020.0002.10492] # OSMANYA LETTER NUUN
-10493 ; [.2889.0020.0002.10493] # OSMANYA LETTER WAW
-10494 ; [.288A.0020.0002.10494] # OSMANYA LETTER HA
-10495 ; [.288B.0020.0002.10495] # OSMANYA LETTER YA
-10496 ; [.288C.0020.0002.10496] # OSMANYA LETTER A
-10497 ; [.288D.0020.0002.10497] # OSMANYA LETTER E
-10498 ; [.288E.0020.0002.10498] # OSMANYA LETTER I
-10499 ; [.288F.0020.0002.10499] # OSMANYA LETTER O
-1049A ; [.2890.0020.0002.1049A] # OSMANYA LETTER U
-1049B ; [.2891.0020.0002.1049B] # OSMANYA LETTER AA
-1049C ; [.2892.0020.0002.1049C] # OSMANYA LETTER EE
-1049D ; [.2893.0020.0002.1049D] # OSMANYA LETTER OO
-10000 ; [.2894.0020.0002.10000] # LINEAR B SYLLABLE B008 A
-10001 ; [.2895.0020.0002.10001] # LINEAR B SYLLABLE B038 E
-10002 ; [.2896.0020.0002.10002] # LINEAR B SYLLABLE B028 I
-10003 ; [.2897.0020.0002.10003] # LINEAR B SYLLABLE B061 O
-10004 ; [.2898.0020.0002.10004] # LINEAR B SYLLABLE B010 U
-10005 ; [.2899.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
-10006 ; [.289A.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
-10007 ; [.289B.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
-10008 ; [.289C.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
-10009 ; [.289D.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
-1000A ; [.289E.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
-1000B ; [.289F.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
-1000D ; [.28A0.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
-1000E ; [.28A1.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
-1000F ; [.28A2.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
-10010 ; [.28A3.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
-10011 ; [.28A4.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
-10012 ; [.28A5.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
-10013 ; [.28A6.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
-10014 ; [.28A7.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
-10015 ; [.28A8.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
-10016 ; [.28A9.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
-10017 ; [.28AA.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
-10018 ; [.28AB.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
-10019 ; [.28AC.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
-1001A ; [.28AD.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
-1001B ; [.28AE.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
-1001C ; [.28AF.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
-1001D ; [.28B0.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
-1001E ; [.28B1.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
-1001F ; [.28B2.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
-10020 ; [.28B3.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
-10021 ; [.28B4.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
-10022 ; [.28B5.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
-10023 ; [.28B6.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
-10024 ; [.28B7.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
-10025 ; [.28B8.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
-10026 ; [.28B9.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
-10028 ; [.28BA.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
-10029 ; [.28BB.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
-1002A ; [.28BC.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
-1002B ; [.28BD.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
-1002C ; [.28BE.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
-1002D ; [.28BF.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
-1002E ; [.28C0.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
-1002F ; [.28C1.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
-10030 ; [.28C2.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
-10031 ; [.28C3.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
-10032 ; [.28C4.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
-10033 ; [.28C5.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
-10034 ; [.28C6.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
-10035 ; [.28C7.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
-10036 ; [.28C8.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
-10037 ; [.28C9.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
-10038 ; [.28CA.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
-10039 ; [.28CB.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
-1003A ; [.28CC.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
-1003C ; [.28CD.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
-1003D ; [.28CE.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
-1003F ; [.28CF.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
-10040 ; [.28D0.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
-10041 ; [.28D1.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
-10042 ; [.28D2.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
-10043 ; [.28D3.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
-10044 ; [.28D4.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
-10045 ; [.28D5.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
-10046 ; [.28D6.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
-10047 ; [.28D7.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
-10048 ; [.28D8.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
-10049 ; [.28D9.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
-1004A ; [.28DA.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
-1004B ; [.28DB.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
-1004C ; [.28DC.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
-1004D ; [.28DD.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
-10050 ; [.28DE.0020.0002.10050] # LINEAR B SYMBOL B018
-10051 ; [.28DF.0020.0002.10051] # LINEAR B SYMBOL B019
-10052 ; [.28E0.0020.0002.10052] # LINEAR B SYMBOL B022
-10053 ; [.28E1.0020.0002.10053] # LINEAR B SYMBOL B034
-10054 ; [.28E2.0020.0002.10054] # LINEAR B SYMBOL B047
-10055 ; [.28E3.0020.0002.10055] # LINEAR B SYMBOL B049
-10056 ; [.28E4.0020.0002.10056] # LINEAR B SYMBOL B056
-10057 ; [.28E5.0020.0002.10057] # LINEAR B SYMBOL B063
-10058 ; [.28E6.0020.0002.10058] # LINEAR B SYMBOL B064
-10059 ; [.28E7.0020.0002.10059] # LINEAR B SYMBOL B079
-1005A ; [.28E8.0020.0002.1005A] # LINEAR B SYMBOL B082
-1005B ; [.28E9.0020.0002.1005B] # LINEAR B SYMBOL B083
-1005C ; [.28EA.0020.0002.1005C] # LINEAR B SYMBOL B086
-1005D ; [.28EB.0020.0002.1005D] # LINEAR B SYMBOL B089
-10080 ; [.28EC.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
-10081 ; [.28ED.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
-10082 ; [.28EE.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
-10083 ; [.28EF.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
-10084 ; [.28F0.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
-10085 ; [.28F1.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
-10086 ; [.28F2.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
-10087 ; [.28F3.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
-10088 ; [.28F4.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 ; [.28F5.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A ; [.28F6.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
-1008B ; [.28F7.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
-1008C ; [.28F8.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
-1008D ; [.28F9.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
-1008E ; [.28FA.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
-1008F ; [.28FB.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
-10090 ; [.28FC.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
-10091 ; [.28FD.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
-10092 ; [.28FE.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
-10093 ; [.28FF.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
-10094 ; [.2900.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
-10095 ; [.2901.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
-10096 ; [.2902.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
-10097 ; [.2903.0020.0002.10097] # LINEAR B IDEOGRAM B132
-10098 ; [.2904.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
-10099 ; [.2905.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
-1009A ; [.2906.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
-1009B ; [.2907.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
-1009C ; [.2908.0020.0002.1009C] # LINEAR B IDEOGRAM B142
-1009D ; [.2909.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
-1009E ; [.290A.0020.0002.1009E] # LINEAR B IDEOGRAM B146
-1009F ; [.290B.0020.0002.1009F] # LINEAR B IDEOGRAM B150
-100A0 ; [.290C.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
-100A1 ; [.290D.0020.0002.100A1] # LINEAR B IDEOGRAM B152
-100A2 ; [.290E.0020.0002.100A2] # LINEAR B IDEOGRAM B153
-100A3 ; [.290F.0020.0002.100A3] # LINEAR B IDEOGRAM B154
-100A4 ; [.2910.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
-100A5 ; [.2911.0020.0002.100A5] # LINEAR B IDEOGRAM B157
-100A6 ; [.2912.0020.0002.100A6] # LINEAR B IDEOGRAM B158
-100A7 ; [.2913.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
-100A8 ; [.2914.0020.0002.100A8] # LINEAR B IDEOGRAM B160
-100A9 ; [.2915.0020.0002.100A9] # LINEAR B IDEOGRAM B161
-100AA ; [.2916.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
-100AB ; [.2917.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
-100AC ; [.2918.0020.0002.100AC] # LINEAR B IDEOGRAM B164
-100AD ; [.2919.0020.0002.100AD] # LINEAR B IDEOGRAM B165
-100AE ; [.291A.0020.0002.100AE] # LINEAR B IDEOGRAM B166
-100AF ; [.291B.0020.0002.100AF] # LINEAR B IDEOGRAM B167
-100B0 ; [.291C.0020.0002.100B0] # LINEAR B IDEOGRAM B168
-100B1 ; [.291D.0020.0002.100B1] # LINEAR B IDEOGRAM B169
-100B2 ; [.291E.0020.0002.100B2] # LINEAR B IDEOGRAM B170
-100B3 ; [.291F.0020.0002.100B3] # LINEAR B IDEOGRAM B171
-100B4 ; [.2920.0020.0002.100B4] # LINEAR B IDEOGRAM B172
-100B5 ; [.2921.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
-100B6 ; [.2922.0020.0002.100B6] # LINEAR B IDEOGRAM B174
-100B7 ; [.2923.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
-100B8 ; [.2924.0020.0002.100B8] # LINEAR B IDEOGRAM B177
-100B9 ; [.2925.0020.0002.100B9] # LINEAR B IDEOGRAM B178
-100BA ; [.2926.0020.0002.100BA] # LINEAR B IDEOGRAM B179
-100BB ; [.2927.0020.0002.100BB] # LINEAR B IDEOGRAM B180
-100BC ; [.2928.0020.0002.100BC] # LINEAR B IDEOGRAM B181
-100BD ; [.2929.0020.0002.100BD] # LINEAR B IDEOGRAM B182
-100BE ; [.292A.0020.0002.100BE] # LINEAR B IDEOGRAM B183
-100BF ; [.292B.0020.0002.100BF] # LINEAR B IDEOGRAM B184
-100C0 ; [.292C.0020.0002.100C0] # LINEAR B IDEOGRAM B185
-100C1 ; [.292D.0020.0002.100C1] # LINEAR B IDEOGRAM B189
-100C2 ; [.292E.0020.0002.100C2] # LINEAR B IDEOGRAM B190
-100C3 ; [.292F.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
-100C4 ; [.2930.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 ; [.2931.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
-100C6 ; [.2932.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
-100C7 ; [.2933.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
-100C8 ; [.2934.0020.0002.100C8] # LINEAR B IDEOGRAM B232
-100C9 ; [.2935.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
-100CA ; [.2936.0020.0002.100CA] # LINEAR B IDEOGRAM B234
-100CB ; [.2937.0020.0002.100CB] # LINEAR B IDEOGRAM B236
-100CC ; [.2938.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD ; [.2939.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
-100CE ; [.293A.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF ; [.293B.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
-100D0 ; [.293C.0020.0002.100D0] # LINEAR B IDEOGRAM B245
-100D1 ; [.293D.0020.0002.100D1] # LINEAR B IDEOGRAM B246
-100D2 ; [.293E.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
-100D3 ; [.293F.0020.0002.100D3] # LINEAR B IDEOGRAM B248
-100D4 ; [.2940.0020.0002.100D4] # LINEAR B IDEOGRAM B249
-100D5 ; [.2941.0020.0002.100D5] # LINEAR B IDEOGRAM B251
-100D6 ; [.2942.0020.0002.100D6] # LINEAR B IDEOGRAM B252
-100D7 ; [.2943.0020.0002.100D7] # LINEAR B IDEOGRAM B253
-100D8 ; [.2944.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
-100D9 ; [.2945.0020.0002.100D9] # LINEAR B IDEOGRAM B255
-100DA ; [.2946.0020.0002.100DA] # LINEAR B IDEOGRAM B256
-100DB ; [.2947.0020.0002.100DB] # LINEAR B IDEOGRAM B257
-100DC ; [.2948.0020.0002.100DC] # LINEAR B IDEOGRAM B258
-100DD ; [.2949.0020.0002.100DD] # LINEAR B IDEOGRAM B259
-100DE ; [.294A.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
-100DF ; [.294B.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
-100E0 ; [.294C.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
-100E1 ; [.294D.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
-100E2 ; [.294E.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
-100E3 ; [.294F.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
-100E4 ; [.2950.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
-100E5 ; [.2951.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
-100E6 ; [.2952.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
-100E7 ; [.2953.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
-100E8 ; [.2954.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
-100E9 ; [.2955.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
-100EA ; [.2956.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
-100EB ; [.2957.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
-100EC ; [.2958.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
-100ED ; [.2959.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
-100EE ; [.295A.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
-100EF ; [.295B.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
-100F0 ; [.295C.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
-100F1 ; [.295D.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
-100F2 ; [.295E.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
-100F3 ; [.295F.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
-100F4 ; [.2960.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
-100F5 ; [.2961.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
-100F6 ; [.2962.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
-100F7 ; [.2963.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
-100F8 ; [.2964.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
-100F9 ; [.2965.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
-100FA ; [.2966.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
-10800 ; [.2967.0020.0002.10800] # CYPRIOT SYLLABLE A
-10801 ; [.2968.0020.0002.10801] # CYPRIOT SYLLABLE E
-10802 ; [.2969.0020.0002.10802] # CYPRIOT SYLLABLE I
-10803 ; [.296A.0020.0002.10803] # CYPRIOT SYLLABLE O
-10804 ; [.296B.0020.0002.10804] # CYPRIOT SYLLABLE U
-10805 ; [.296C.0020.0002.10805] # CYPRIOT SYLLABLE JA
-10808 ; [.296D.0020.0002.10808] # CYPRIOT SYLLABLE JO
-1080A ; [.296E.0020.0002.1080A] # CYPRIOT SYLLABLE KA
-1080B ; [.296F.0020.0002.1080B] # CYPRIOT SYLLABLE KE
-1080C ; [.2970.0020.0002.1080C] # CYPRIOT SYLLABLE KI
-1080D ; [.2971.0020.0002.1080D] # CYPRIOT SYLLABLE KO
-1080E ; [.2972.0020.0002.1080E] # CYPRIOT SYLLABLE KU
-1080F ; [.2973.0020.0002.1080F] # CYPRIOT SYLLABLE LA
-10810 ; [.2974.0020.0002.10810] # CYPRIOT SYLLABLE LE
-10811 ; [.2975.0020.0002.10811] # CYPRIOT SYLLABLE LI
-10812 ; [.2976.0020.0002.10812] # CYPRIOT SYLLABLE LO
-10813 ; [.2977.0020.0002.10813] # CYPRIOT SYLLABLE LU
-10814 ; [.2978.0020.0002.10814] # CYPRIOT SYLLABLE MA
-10815 ; [.2979.0020.0002.10815] # CYPRIOT SYLLABLE ME
-10816 ; [.297A.0020.0002.10816] # CYPRIOT SYLLABLE MI
-10817 ; [.297B.0020.0002.10817] # CYPRIOT SYLLABLE MO
-10818 ; [.297C.0020.0002.10818] # CYPRIOT SYLLABLE MU
-10819 ; [.297D.0020.0002.10819] # CYPRIOT SYLLABLE NA
-1081A ; [.297E.0020.0002.1081A] # CYPRIOT SYLLABLE NE
-1081B ; [.297F.0020.0002.1081B] # CYPRIOT SYLLABLE NI
-1081C ; [.2980.0020.0002.1081C] # CYPRIOT SYLLABLE NO
-1081D ; [.2981.0020.0002.1081D] # CYPRIOT SYLLABLE NU
-1081E ; [.2982.0020.0002.1081E] # CYPRIOT SYLLABLE PA
-1081F ; [.2983.0020.0002.1081F] # CYPRIOT SYLLABLE PE
-10820 ; [.2984.0020.0002.10820] # CYPRIOT SYLLABLE PI
-10821 ; [.2985.0020.0002.10821] # CYPRIOT SYLLABLE PO
-10822 ; [.2986.0020.0002.10822] # CYPRIOT SYLLABLE PU
-10823 ; [.2987.0020.0002.10823] # CYPRIOT SYLLABLE RA
-10824 ; [.2988.0020.0002.10824] # CYPRIOT SYLLABLE RE
-10825 ; [.2989.0020.0002.10825] # CYPRIOT SYLLABLE RI
-10826 ; [.298A.0020.0002.10826] # CYPRIOT SYLLABLE RO
-10827 ; [.298B.0020.0002.10827] # CYPRIOT SYLLABLE RU
-10828 ; [.298C.0020.0002.10828] # CYPRIOT SYLLABLE SA
-10829 ; [.298D.0020.0002.10829] # CYPRIOT SYLLABLE SE
-1082A ; [.298E.0020.0002.1082A] # CYPRIOT SYLLABLE SI
-1082B ; [.298F.0020.0002.1082B] # CYPRIOT SYLLABLE SO
-1082C ; [.2990.0020.0002.1082C] # CYPRIOT SYLLABLE SU
-1082D ; [.2991.0020.0002.1082D] # CYPRIOT SYLLABLE TA
-1082E ; [.2992.0020.0002.1082E] # CYPRIOT SYLLABLE TE
-1082F ; [.2993.0020.0002.1082F] # CYPRIOT SYLLABLE TI
-10830 ; [.2994.0020.0002.10830] # CYPRIOT SYLLABLE TO
-10831 ; [.2995.0020.0002.10831] # CYPRIOT SYLLABLE TU
-10832 ; [.2996.0020.0002.10832] # CYPRIOT SYLLABLE WA
-10833 ; [.2997.0020.0002.10833] # CYPRIOT SYLLABLE WE
-10834 ; [.2998.0020.0002.10834] # CYPRIOT SYLLABLE WI
-10835 ; [.2999.0020.0002.10835] # CYPRIOT SYLLABLE WO
-10837 ; [.299A.0020.0002.10837] # CYPRIOT SYLLABLE XA
-10838 ; [.299B.0020.0002.10838] # CYPRIOT SYLLABLE XE
-1083C ; [.299C.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
-1083F ; [.299D.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
-10380 ; [.299E.0020.0002.10380] # UGARITIC LETTER ALPA
-10381 ; [.299F.0020.0002.10381] # UGARITIC LETTER BETA
-10382 ; [.29A0.0020.0002.10382] # UGARITIC LETTER GAMLA
-10383 ; [.29A1.0020.0002.10383] # UGARITIC LETTER KHA
-10384 ; [.29A2.0020.0002.10384] # UGARITIC LETTER DELTA
-10385 ; [.29A3.0020.0002.10385] # UGARITIC LETTER HO
-10386 ; [.29A4.0020.0002.10386] # UGARITIC LETTER WO
-10387 ; [.29A5.0020.0002.10387] # UGARITIC LETTER ZETA
-10388 ; [.29A6.0020.0002.10388] # UGARITIC LETTER HOTA
-10389 ; [.29A7.0020.0002.10389] # UGARITIC LETTER TET
-1038A ; [.29A8.0020.0002.1038A] # UGARITIC LETTER YOD
-1038B ; [.29A9.0020.0002.1038B] # UGARITIC LETTER KAF
-1038C ; [.29AA.0020.0002.1038C] # UGARITIC LETTER SHIN
-1038D ; [.29AB.0020.0002.1038D] # UGARITIC LETTER LAMDA
-1038E ; [.29AC.0020.0002.1038E] # UGARITIC LETTER MEM
-1038F ; [.29AD.0020.0002.1038F] # UGARITIC LETTER DHAL
-10390 ; [.29AE.0020.0002.10390] # UGARITIC LETTER NUN
-10391 ; [.29AF.0020.0002.10391] # UGARITIC LETTER ZU
-10392 ; [.29B0.0020.0002.10392] # UGARITIC LETTER SAMKA
-10393 ; [.29B1.0020.0002.10393] # UGARITIC LETTER AIN
-10394 ; [.29B2.0020.0002.10394] # UGARITIC LETTER PU
-10395 ; [.29B3.0020.0002.10395] # UGARITIC LETTER SADE
-10396 ; [.29B4.0020.0002.10396] # UGARITIC LETTER QOPA
-10397 ; [.29B5.0020.0002.10397] # UGARITIC LETTER RASHA
-10398 ; [.29B6.0020.0002.10398] # UGARITIC LETTER THANNA
-10399 ; [.29B7.0020.0002.10399] # UGARITIC LETTER GHAIN
-1039A ; [.29B8.0020.0002.1039A] # UGARITIC LETTER TO
-1039B ; [.29B9.0020.0002.1039B] # UGARITIC LETTER I
-1039C ; [.29BA.0020.0002.1039C] # UGARITIC LETTER U
-1039D ; [.29BB.0020.0002.1039D] # UGARITIC LETTER SSU
-103A0 ; [.29BC.0020.0002.103A0] # OLD PERSIAN SIGN A
-103A1 ; [.29BD.0020.0002.103A1] # OLD PERSIAN SIGN I
-103A2 ; [.29BE.0020.0002.103A2] # OLD PERSIAN SIGN U
-103A3 ; [.29BF.0020.0002.103A3] # OLD PERSIAN SIGN KA
-103A4 ; [.29C0.0020.0002.103A4] # OLD PERSIAN SIGN KU
-103A5 ; [.29C1.0020.0002.103A5] # OLD PERSIAN SIGN GA
-103A6 ; [.29C2.0020.0002.103A6] # OLD PERSIAN SIGN GU
-103A7 ; [.29C3.0020.0002.103A7] # OLD PERSIAN SIGN XA
-103A8 ; [.29C4.0020.0002.103A8] # OLD PERSIAN SIGN CA
-103A9 ; [.29C5.0020.0002.103A9] # OLD PERSIAN SIGN JA
-103AA ; [.29C6.0020.0002.103AA] # OLD PERSIAN SIGN JI
-103AB ; [.29C7.0020.0002.103AB] # OLD PERSIAN SIGN TA
-103AC ; [.29C8.0020.0002.103AC] # OLD PERSIAN SIGN TU
-103AD ; [.29C9.0020.0002.103AD] # OLD PERSIAN SIGN DA
-103AE ; [.29CA.0020.0002.103AE] # OLD PERSIAN SIGN DI
-103AF ; [.29CB.0020.0002.103AF] # OLD PERSIAN SIGN DU
-103B0 ; [.29CC.0020.0002.103B0] # OLD PERSIAN SIGN THA
-103B1 ; [.29CD.0020.0002.103B1] # OLD PERSIAN SIGN PA
-103B2 ; [.29CE.0020.0002.103B2] # OLD PERSIAN SIGN BA
-103B3 ; [.29CF.0020.0002.103B3] # OLD PERSIAN SIGN FA
-103B4 ; [.29D0.0020.0002.103B4] # OLD PERSIAN SIGN NA
-103B5 ; [.29D1.0020.0002.103B5] # OLD PERSIAN SIGN NU
-103B6 ; [.29D2.0020.0002.103B6] # OLD PERSIAN SIGN MA
-103B7 ; [.29D3.0020.0002.103B7] # OLD PERSIAN SIGN MI
-103B8 ; [.29D4.0020.0002.103B8] # OLD PERSIAN SIGN MU
-103B9 ; [.29D5.0020.0002.103B9] # OLD PERSIAN SIGN YA
-103BA ; [.29D6.0020.0002.103BA] # OLD PERSIAN SIGN VA
-103BB ; [.29D7.0020.0002.103BB] # OLD PERSIAN SIGN VI
-103BC ; [.29D8.0020.0002.103BC] # OLD PERSIAN SIGN RA
-103BD ; [.29D9.0020.0002.103BD] # OLD PERSIAN SIGN RU
-103BE ; [.29DA.0020.0002.103BE] # OLD PERSIAN SIGN LA
-103BF ; [.29DB.0020.0002.103BF] # OLD PERSIAN SIGN SA
-103C0 ; [.29DC.0020.0002.103C0] # OLD PERSIAN SIGN ZA
-103C1 ; [.29DD.0020.0002.103C1] # OLD PERSIAN SIGN SHA
-103C2 ; [.29DE.0020.0002.103C2] # OLD PERSIAN SIGN SSA
-103C3 ; [.29DF.0020.0002.103C3] # OLD PERSIAN SIGN HA
-103C8 ; [.29E0.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
-103C9 ; [.29E1.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA ; [.29E2.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB ; [.29E3.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC ; [.29E4.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
-103CD ; [.29E5.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE ; [.29E6.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
-103CF ; [.29E7.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
-12000 ; [.29E8.0020.0002.12000] # CUNEIFORM SIGN A
-12001 ; [.29E9.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
-12002 ; [.29EA.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
-12003 ; [.29EB.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 ; [.29EC.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
-12005 ; [.29ED.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
-12006 ; [.29EE.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 ; [.29EF.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
-12008 ; [.29F0.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
-12009 ; [.29F1.0020.0002.12009] # CUNEIFORM SIGN A2
-1200A ; [.29F2.0020.0002.1200A] # CUNEIFORM SIGN AB
-1200B ; [.29F3.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
-1200C ; [.29F4.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D ; [.29F5.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
-1200E ; [.29F6.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F ; [.29F7.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
-12010 ; [.29F8.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 ; [.29F9.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
-12012 ; [.29FA.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
-12013 ; [.29FB.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
-12014 ; [.29FC.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 ; [.29FD.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
-12016 ; [.29FE.0020.0002.12016] # CUNEIFORM SIGN AB2
-12017 ; [.29FF.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
-12018 ; [.2A00.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 ; [.2A01.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A ; [.2A02.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B ; [.2A03.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C ; [.2A04.0020.0002.1201C] # CUNEIFORM SIGN AD
-1201D ; [.2A05.0020.0002.1201D] # CUNEIFORM SIGN AK
-1201E ; [.2A06.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
-1201F ; [.2A07.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 ; [.2A08.0020.0002.12020] # CUNEIFORM SIGN AL
-12021 ; [.2A09.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
-12022 ; [.2A0A.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
-12023 ; [.2A0B.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
-12024 ; [.2A0C.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
-12025 ; [.2A0D.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
-12026 ; [.2A0E.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
-12027 ; [.2A0F.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
-12028 ; [.2A10.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
-12029 ; [.2A11.0020.0002.12029] # CUNEIFORM SIGN ALAN
-1202A ; [.2A12.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
-1202B ; [.2A13.0020.0002.1202B] # CUNEIFORM SIGN AMAR
-1202C ; [.2A14.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
-1202D ; [.2A15.0020.0002.1202D] # CUNEIFORM SIGN AN
-1202E ; [.2A16.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
-1202F ; [.2A17.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
-12030 ; [.2A18.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 ; [.2A19.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 ; [.2A1A.0020.0002.12032] # CUNEIFORM SIGN ANSHE
-12033 ; [.2A1B.0020.0002.12033] # CUNEIFORM SIGN APIN
-12034 ; [.2A1C.0020.0002.12034] # CUNEIFORM SIGN ARAD
-12035 ; [.2A1D.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
-12036 ; [.2A1E.0020.0002.12036] # CUNEIFORM SIGN ARKAB
-12037 ; [.2A1F.0020.0002.12037] # CUNEIFORM SIGN ASAL2
-12038 ; [.2A20.0020.0002.12038] # CUNEIFORM SIGN ASH
-12039 ; [.2A21.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
-1203A ; [.2A22.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
-1203B ; [.2A23.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C ; [.2A24.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D ; [.2A25.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E ; [.2A26.0020.0002.1203E] # CUNEIFORM SIGN ASH2
-1203F ; [.2A27.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
-12040 ; [.2A28.0020.0002.12040] # CUNEIFORM SIGN BA
-12041 ; [.2A29.0020.0002.12041] # CUNEIFORM SIGN BAD
-12042 ; [.2A2A.0020.0002.12042] # CUNEIFORM SIGN BAG3
-12043 ; [.2A2B.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
-12044 ; [.2A2C.0020.0002.12044] # CUNEIFORM SIGN BAL
-12045 ; [.2A2D.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
-12046 ; [.2A2E.0020.0002.12046] # CUNEIFORM SIGN BALAG
-12047 ; [.2A2F.0020.0002.12047] # CUNEIFORM SIGN BAR
-12048 ; [.2A30.0020.0002.12048] # CUNEIFORM SIGN BARA2
-12049 ; [.2A31.0020.0002.12049] # CUNEIFORM SIGN BI
-1204A ; [.2A32.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
-1204B ; [.2A33.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
-1204C ; [.2A34.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D ; [.2A35.0020.0002.1204D] # CUNEIFORM SIGN BU
-1204E ; [.2A36.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
-1204F ; [.2A37.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
-12050 ; [.2A38.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
-12051 ; [.2A39.0020.0002.12051] # CUNEIFORM SIGN BULUG
-12052 ; [.2A3A.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
-12053 ; [.2A3B.0020.0002.12053] # CUNEIFORM SIGN BUR
-12054 ; [.2A3C.0020.0002.12054] # CUNEIFORM SIGN BUR2
-12055 ; [.2A3D.0020.0002.12055] # CUNEIFORM SIGN DA
-12056 ; [.2A3E.0020.0002.12056] # CUNEIFORM SIGN DAG
-12057 ; [.2A3F.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 ; [.2A40.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 ; [.2A41.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A ; [.2A42.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B ; [.2A43.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C ; [.2A44.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D ; [.2A45.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E ; [.2A46.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F ; [.2A47.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 ; [.2A48.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 ; [.2A49.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 ; [.2A4A.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 ; [.2A4B.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 ; [.2A4C.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 ; [.2A4D.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 ; [.2A4E.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 ; [.2A4F.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 ; [.2A50.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 ; [.2A51.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A ; [.2A52.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B ; [.2A53.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C ; [.2A54.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D ; [.2A55.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E ; [.2A56.0020.0002.1206E] # CUNEIFORM SIGN DAM
-1206F ; [.2A57.0020.0002.1206F] # CUNEIFORM SIGN DAR
-12070 ; [.2A58.0020.0002.12070] # CUNEIFORM SIGN DARA3
-12071 ; [.2A59.0020.0002.12071] # CUNEIFORM SIGN DARA4
-12072 ; [.2A5A.0020.0002.12072] # CUNEIFORM SIGN DI
-12073 ; [.2A5B.0020.0002.12073] # CUNEIFORM SIGN DIB
-12074 ; [.2A5C.0020.0002.12074] # CUNEIFORM SIGN DIM
-12075 ; [.2A5D.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
-12076 ; [.2A5E.0020.0002.12076] # CUNEIFORM SIGN DIM2
-12077 ; [.2A5F.0020.0002.12077] # CUNEIFORM SIGN DIN
-12078 ; [.2A60.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 ; [.2A61.0020.0002.12079] # CUNEIFORM SIGN DISH
-1207A ; [.2A62.0020.0002.1207A] # CUNEIFORM SIGN DU
-1207B ; [.2A63.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
-1207C ; [.2A64.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
-1207D ; [.2A65.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
-1207E ; [.2A66.0020.0002.1207E] # CUNEIFORM SIGN DUB
-1207F ; [.2A67.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
-12080 ; [.2A68.0020.0002.12080] # CUNEIFORM SIGN DUB2
-12081 ; [.2A69.0020.0002.12081] # CUNEIFORM SIGN DUG
-12082 ; [.2A6A.0020.0002.12082] # CUNEIFORM SIGN DUGUD
-12083 ; [.2A6B.0020.0002.12083] # CUNEIFORM SIGN DUH
-12084 ; [.2A6C.0020.0002.12084] # CUNEIFORM SIGN DUN
-12085 ; [.2A6D.0020.0002.12085] # CUNEIFORM SIGN DUN3
-12086 ; [.2A6E.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
-12087 ; [.2A6F.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 ; [.2A70.0020.0002.12088] # CUNEIFORM SIGN DUN4
-12089 ; [.2A71.0020.0002.12089] # CUNEIFORM SIGN DUR2
-1208A ; [.2A72.0020.0002.1208A] # CUNEIFORM SIGN E
-1208B ; [.2A73.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
-1208C ; [.2A74.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D ; [.2A75.0020.0002.1208D] # CUNEIFORM SIGN E2
-1208E ; [.2A76.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F ; [.2A77.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
-12090 ; [.2A78.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
-12091 ; [.2A79.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
-12092 ; [.2A7A.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
-12093 ; [.2A7B.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
-12094 ; [.2A7C.0020.0002.12094] # CUNEIFORM SIGN EDIN
-12095 ; [.2A7D.0020.0002.12095] # CUNEIFORM SIGN EGIR
-12096 ; [.2A7E.0020.0002.12096] # CUNEIFORM SIGN EL
-12097 ; [.2A7F.0020.0002.12097] # CUNEIFORM SIGN EN
-12098 ; [.2A80.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
-12099 ; [.2A81.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A ; [.2A82.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
-1209B ; [.2A83.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
-1209C ; [.2A84.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
-1209D ; [.2A85.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
-1209E ; [.2A86.0020.0002.1209E] # CUNEIFORM SIGN EREN
-1209F ; [.2A87.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
-120A0 ; [.2A88.0020.0002.120A0] # CUNEIFORM SIGN ESH2
-120A1 ; [.2A89.0020.0002.120A1] # CUNEIFORM SIGN EZEN
-120A2 ; [.2A8A.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
-120A3 ; [.2A8B.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 ; [.2A8C.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 ; [.2A8D.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
-120A6 ; [.2A8E.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
-120A7 ; [.2A8F.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 ; [.2A90.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 ; [.2A91.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
-120AA ; [.2A92.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB ; [.2A93.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC ; [.2A94.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD ; [.2A95.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE ; [.2A96.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
-120AF ; [.2A97.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
-120B0 ; [.2A98.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 ; [.2A99.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
-120B2 ; [.2A9A.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
-120B3 ; [.2A9B.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
-120B4 ; [.2A9C.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
-120B5 ; [.2A9D.0020.0002.120B5] # CUNEIFORM SIGN GA
-120B6 ; [.2A9E.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
-120B7 ; [.2A9F.0020.0002.120B7] # CUNEIFORM SIGN GA2
-120B8 ; [.2AA0.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 ; [.2AA1.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA ; [.2AA2.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB ; [.2AA3.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC ; [.2AA4.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
-120BD ; [.2AA5.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
-120BE ; [.2AA6.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF ; [.2AA7.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
-120C0 ; [.2AA8.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 ; [.2AA9.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
-120C2 ; [.2AAA.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 ; [.2AAB.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
-120C4 ; [.2AAC.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
-120C5 ; [.2AAD.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 ; [.2AAE.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
-120C7 ; [.2AAF.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
-120C8 ; [.2AB0.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 ; [.2AB1.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
-120CA ; [.2AB2.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB ; [.2AB3.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC ; [.2AB4.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
-120CD ; [.2AB5.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
-120CE ; [.2AB6.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
-120CF ; [.2AB7.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 ; [.2AB8.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 ; [.2AB9.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 ; [.2ABA.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
-120D3 ; [.2ABB.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 ; [.2ABC.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 ; [.2ABD.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 ; [.2ABE.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 ; [.2ABF.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 ; [.2AC0.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
-120D9 ; [.2AC1.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA ; [.2AC2.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
-120DB ; [.2AC3.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC ; [.2AC4.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD ; [.2AC5.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
-120DE ; [.2AC6.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF ; [.2AC7.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
-120E0 ; [.2AC8.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
-120E1 ; [.2AC9.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 ; [.2ACA.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
-120E3 ; [.2ACB.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
-120E4 ; [.2ACC.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
-120E5 ; [.2ACD.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
-120E6 ; [.2ACE.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 ; [.2ACF.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
-120E8 ; [.2AD0.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
-120E9 ; [.2AD1.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA ; [.2AD2.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
-120EB ; [.2AD3.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
-120EC ; [.2AD4.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED ; [.2AD5.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
-120EE ; [.2AD6.0020.0002.120EE] # CUNEIFORM SIGN GABA
-120EF ; [.2AD7.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
-120F0 ; [.2AD8.0020.0002.120F0] # CUNEIFORM SIGN GAD
-120F1 ; [.2AD9.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 ; [.2ADA.0020.0002.120F2] # CUNEIFORM SIGN GAL
-120F3 ; [.2ADB.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 ; [.2ADC.0020.0002.120F4] # CUNEIFORM SIGN GALAM
-120F5 ; [.2ADD.0020.0002.120F5] # CUNEIFORM SIGN GAM
-120F6 ; [.2ADE.0020.0002.120F6] # CUNEIFORM SIGN GAN
-120F7 ; [.2ADF.0020.0002.120F7] # CUNEIFORM SIGN GAN2
-120F8 ; [.2AE0.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
-120F9 ; [.2AE1.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA ; [.2AE2.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB ; [.2AE3.0020.0002.120FB] # CUNEIFORM SIGN GAR
-120FC ; [.2AE4.0020.0002.120FC] # CUNEIFORM SIGN GAR3
-120FD ; [.2AE5.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
-120FE ; [.2AE6.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
-120FF ; [.2AE7.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 ; [.2AE8.0020.0002.12100] # CUNEIFORM SIGN GI
-12101 ; [.2AE9.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
-12102 ; [.2AEA.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
-12103 ; [.2AEB.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
-12104 ; [.2AEC.0020.0002.12104] # CUNEIFORM SIGN GI4
-12105 ; [.2AED.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
-12106 ; [.2AEE.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
-12107 ; [.2AEF.0020.0002.12107] # CUNEIFORM SIGN GIDIM
-12108 ; [.2AF0.0020.0002.12108] # CUNEIFORM SIGN GIR2
-12109 ; [.2AF1.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
-1210A ; [.2AF2.0020.0002.1210A] # CUNEIFORM SIGN GIR3
-1210B ; [.2AF3.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C ; [.2AF4.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D ; [.2AF5.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E ; [.2AF6.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F ; [.2AF7.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
-12110 ; [.2AF8.0020.0002.12110] # CUNEIFORM SIGN GISAL
-12111 ; [.2AF9.0020.0002.12111] # CUNEIFORM SIGN GISH
-12112 ; [.2AFA.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
-12113 ; [.2AFB.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
-12114 ; [.2AFC.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
-12115 ; [.2AFD.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
-12116 ; [.2AFE.0020.0002.12116] # CUNEIFORM SIGN GU
-12117 ; [.2AFF.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
-12118 ; [.2B00.0020.0002.12118] # CUNEIFORM SIGN GU2
-12119 ; [.2B01.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
-1211A ; [.2B02.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B ; [.2B03.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
-1211C ; [.2B04.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D ; [.2B05.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
-1211E ; [.2B06.0020.0002.1211E] # CUNEIFORM SIGN GUD
-1211F ; [.2B07.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 ; [.2B08.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
-12121 ; [.2B09.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 ; [.2B0A.0020.0002.12122] # CUNEIFORM SIGN GUL
-12123 ; [.2B0B.0020.0002.12123] # CUNEIFORM SIGN GUM
-12124 ; [.2B0C.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
-12125 ; [.2B0D.0020.0002.12125] # CUNEIFORM SIGN GUR
-12126 ; [.2B0E.0020.0002.12126] # CUNEIFORM SIGN GUR7
-12127 ; [.2B0F.0020.0002.12127] # CUNEIFORM SIGN GURUN
-12128 ; [.2B10.0020.0002.12128] # CUNEIFORM SIGN GURUSH
-12129 ; [.2B11.0020.0002.12129] # CUNEIFORM SIGN HA
-1212A ; [.2B12.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
-1212B ; [.2B13.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
-1212C ; [.2B14.0020.0002.1212C] # CUNEIFORM SIGN HAL
-1212D ; [.2B15.0020.0002.1212D] # CUNEIFORM SIGN HI
-1212E ; [.2B16.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
-1212F ; [.2B17.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
-12130 ; [.2B18.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
-12131 ; [.2B19.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
-12132 ; [.2B1A.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
-12133 ; [.2B1B.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
-12134 ; [.2B1C.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
-12135 ; [.2B1D.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
-12136 ; [.2B1E.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
-12137 ; [.2B1F.0020.0002.12137] # CUNEIFORM SIGN HU
-12138 ; [.2B20.0020.0002.12138] # CUNEIFORM SIGN HUB2
-12139 ; [.2B21.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
-1213A ; [.2B22.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B ; [.2B23.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C ; [.2B24.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D ; [.2B25.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
-1213E ; [.2B26.0020.0002.1213E] # CUNEIFORM SIGN HUL2
-1213F ; [.2B27.0020.0002.1213F] # CUNEIFORM SIGN I
-12140 ; [.2B28.0020.0002.12140] # CUNEIFORM SIGN I A
-12141 ; [.2B29.0020.0002.12141] # CUNEIFORM SIGN IB
-12142 ; [.2B2A.0020.0002.12142] # CUNEIFORM SIGN IDIM
-12143 ; [.2B2B.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 ; [.2B2C.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 ; [.2B2D.0020.0002.12145] # CUNEIFORM SIGN IG
-12146 ; [.2B2E.0020.0002.12146] # CUNEIFORM SIGN IGI
-12147 ; [.2B2F.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
-12148 ; [.2B30.0020.0002.12148] # CUNEIFORM SIGN IGI RI
-12149 ; [.2B31.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A ; [.2B32.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
-1214B ; [.2B33.0020.0002.1214B] # CUNEIFORM SIGN IL
-1214C ; [.2B34.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D ; [.2B35.0020.0002.1214D] # CUNEIFORM SIGN IL2
-1214E ; [.2B36.0020.0002.1214E] # CUNEIFORM SIGN IM
-1214F ; [.2B37.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
-12150 ; [.2B38.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
-12151 ; [.2B39.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
-12152 ; [.2B3A.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
-12153 ; [.2B3B.0020.0002.12153] # CUNEIFORM SIGN IMIN
-12154 ; [.2B3C.0020.0002.12154] # CUNEIFORM SIGN IN
-12155 ; [.2B3D.0020.0002.12155] # CUNEIFORM SIGN IR
-12156 ; [.2B3E.0020.0002.12156] # CUNEIFORM SIGN ISH
-12157 ; [.2B3F.0020.0002.12157] # CUNEIFORM SIGN KA
-12158 ; [.2B40.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
-12159 ; [.2B41.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
-1215A ; [.2B42.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B ; [.2B43.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
-1215C ; [.2B44.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
-1215D ; [.2B45.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
-1215E ; [.2B46.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
-1215F ; [.2B47.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
-12160 ; [.2B48.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
-12161 ; [.2B49.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
-12162 ; [.2B4A.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
-12163 ; [.2B4B.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
-12164 ; [.2B4C.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 ; [.2B4D.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
-12166 ; [.2B4E.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 ; [.2B4F.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
-12168 ; [.2B50.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
-12169 ; [.2B51.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A ; [.2B52.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B ; [.2B53.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
-1216C ; [.2B54.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
-1216D ; [.2B55.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
-1216E ; [.2B56.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
-1216F ; [.2B57.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
-12170 ; [.2B58.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
-12171 ; [.2B59.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
-12172 ; [.2B5A.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
-12173 ; [.2B5B.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
-12174 ; [.2B5C.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
-12175 ; [.2B5D.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 ; [.2B5E.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 ; [.2B5F.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 ; [.2B60.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
-12179 ; [.2B61.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A ; [.2B62.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
-1217B ; [.2B63.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
-1217C ; [.2B64.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
-1217D ; [.2B65.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
-1217E ; [.2B66.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
-1217F ; [.2B67.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
-12180 ; [.2B68.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
-12181 ; [.2B69.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
-12182 ; [.2B6A.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
-12183 ; [.2B6B.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
-12184 ; [.2B6C.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
-12185 ; [.2B6D.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
-12186 ; [.2B6E.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
-12187 ; [.2B6F.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
-12188 ; [.2B70.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
-12189 ; [.2B71.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
-1218A ; [.2B72.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B ; [.2B73.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
-1218C ; [.2B74.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
-1218D ; [.2B75.0020.0002.1218D] # CUNEIFORM SIGN KA2
-1218E ; [.2B76.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F ; [.2B77.0020.0002.1218F] # CUNEIFORM SIGN KAB
-12190 ; [.2B78.0020.0002.12190] # CUNEIFORM SIGN KAD2
-12191 ; [.2B79.0020.0002.12191] # CUNEIFORM SIGN KAD3
-12192 ; [.2B7A.0020.0002.12192] # CUNEIFORM SIGN KAD4
-12193 ; [.2B7B.0020.0002.12193] # CUNEIFORM SIGN KAD5
-12194 ; [.2B7C.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
-12195 ; [.2B7D.0020.0002.12195] # CUNEIFORM SIGN KAK
-12196 ; [.2B7E.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 ; [.2B7F.0020.0002.12197] # CUNEIFORM SIGN KAL
-12198 ; [.2B80.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
-12199 ; [.2B81.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
-1219A ; [.2B82.0020.0002.1219A] # CUNEIFORM SIGN KAM2
-1219B ; [.2B83.0020.0002.1219B] # CUNEIFORM SIGN KAM4
-1219C ; [.2B84.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
-1219D ; [.2B85.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E ; [.2B86.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F ; [.2B87.0020.0002.1219F] # CUNEIFORM SIGN KESH2
-121A0 ; [.2B88.0020.0002.121A0] # CUNEIFORM SIGN KI
-121A1 ; [.2B89.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
-121A2 ; [.2B8A.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
-121A3 ; [.2B8B.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
-121A4 ; [.2B8C.0020.0002.121A4] # CUNEIFORM SIGN KID
-121A5 ; [.2B8D.0020.0002.121A5] # CUNEIFORM SIGN KIN
-121A6 ; [.2B8E.0020.0002.121A6] # CUNEIFORM SIGN KISAL
-121A7 ; [.2B8F.0020.0002.121A7] # CUNEIFORM SIGN KISH
-121A8 ; [.2B90.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
-121A9 ; [.2B91.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA ; [.2B92.0020.0002.121AA] # CUNEIFORM SIGN KU
-121AB ; [.2B93.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC ; [.2B94.0020.0002.121AC] # CUNEIFORM SIGN KU3
-121AD ; [.2B95.0020.0002.121AD] # CUNEIFORM SIGN KU4
-121AE ; [.2B96.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF ; [.2B97.0020.0002.121AF] # CUNEIFORM SIGN KU7
-121B0 ; [.2B98.0020.0002.121B0] # CUNEIFORM SIGN KUL
-121B1 ; [.2B99.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
-121B2 ; [.2B9A.0020.0002.121B2] # CUNEIFORM SIGN KUN
-121B3 ; [.2B9B.0020.0002.121B3] # CUNEIFORM SIGN KUR
-121B4 ; [.2B9C.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 ; [.2B9D.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
-121B6 ; [.2B9E.0020.0002.121B6] # CUNEIFORM SIGN KWU318
-121B7 ; [.2B9F.0020.0002.121B7] # CUNEIFORM SIGN LA
-121B8 ; [.2BA0.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
-121B9 ; [.2BA1.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
-121BA ; [.2BA2.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB ; [.2BA3.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC ; [.2BA4.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD ; [.2BA5.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
-121BE ; [.2BA6.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
-121BF ; [.2BA7.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 ; [.2BA8.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 ; [.2BA9.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
-121C2 ; [.2BAA.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 ; [.2BAB.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
-121C4 ; [.2BAC.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
-121C5 ; [.2BAD.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 ; [.2BAE.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 ; [.2BAF.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 ; [.2BB0.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
-121C9 ; [.2BB1.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA ; [.2BB2.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB ; [.2BB3.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC ; [.2BB4.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
-121CD ; [.2BB5.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE ; [.2BB6.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF ; [.2BB7.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
-121D0 ; [.2BB8.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 ; [.2BB9.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 ; [.2BBA.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 ; [.2BBB.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 ; [.2BBC.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 ; [.2BBD.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 ; [.2BBE.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
-121D7 ; [.2BBF.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 ; [.2BC0.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
-121D9 ; [.2BC1.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA ; [.2BC2.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB ; [.2BC3.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
-121DC ; [.2BC4.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD ; [.2BC5.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE ; [.2BC6.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF ; [.2BC7.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 ; [.2BC8.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 ; [.2BC9.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 ; [.2BCA.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 ; [.2BCB.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 ; [.2BCC.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 ; [.2BCD.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
-121E6 ; [.2BCE.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 ; [.2BCF.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 ; [.2BD0.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 ; [.2BD1.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
-121EA ; [.2BD2.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
-121EB ; [.2BD3.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
-121EC ; [.2BD4.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
-121ED ; [.2BD5.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE ; [.2BD6.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF ; [.2BD7.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
-121F0 ; [.2BD8.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 ; [.2BD9.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
-121F2 ; [.2BDA.0020.0002.121F2] # CUNEIFORM SIGN LAL
-121F3 ; [.2BDB.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
-121F4 ; [.2BDC.0020.0002.121F4] # CUNEIFORM SIGN LAM
-121F5 ; [.2BDD.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
-121F6 ; [.2BDE.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 ; [.2BDF.0020.0002.121F7] # CUNEIFORM SIGN LI
-121F8 ; [.2BE0.0020.0002.121F8] # CUNEIFORM SIGN LIL
-121F9 ; [.2BE1.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
-121FA ; [.2BE2.0020.0002.121FA] # CUNEIFORM SIGN LISH
-121FB ; [.2BE3.0020.0002.121FB] # CUNEIFORM SIGN LU
-121FC ; [.2BE4.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
-121FD ; [.2BE5.0020.0002.121FD] # CUNEIFORM SIGN LU2
-121FE ; [.2BE6.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
-121FF ; [.2BE7.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
-12200 ; [.2BE8.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
-12201 ; [.2BE9.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 ; [.2BEA.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 ; [.2BEB.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 ; [.2BEC.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
-12205 ; [.2BED.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
-12206 ; [.2BEE.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
-12207 ; [.2BEF.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 ; [.2BF0.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
-12209 ; [.2BF1.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A ; [.2BF2.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B ; [.2BF3.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C ; [.2BF4.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
-1220D ; [.2BF5.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
-1220E ; [.2BF6.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F ; [.2BF7.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 ; [.2BF8.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
-12211 ; [.2BF9.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
-12212 ; [.2BFA.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
-12213 ; [.2BFB.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 ; [.2BFC.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
-12215 ; [.2BFD.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
-12216 ; [.2BFE.0020.0002.12216] # CUNEIFORM SIGN LU3
-12217 ; [.2BFF.0020.0002.12217] # CUNEIFORM SIGN LUGAL
-12218 ; [.2C00.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 ; [.2C01.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A ; [.2C02.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
-1221B ; [.2C03.0020.0002.1221B] # CUNEIFORM SIGN LUH
-1221C ; [.2C04.0020.0002.1221C] # CUNEIFORM SIGN LUL
-1221D ; [.2C05.0020.0002.1221D] # CUNEIFORM SIGN LUM
-1221E ; [.2C06.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
-1221F ; [.2C07.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 ; [.2C08.0020.0002.12220] # CUNEIFORM SIGN MA
-12221 ; [.2C09.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
-12222 ; [.2C0A.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
-12223 ; [.2C0B.0020.0002.12223] # CUNEIFORM SIGN MA2
-12224 ; [.2C0C.0020.0002.12224] # CUNEIFORM SIGN MAH
-12225 ; [.2C0D.0020.0002.12225] # CUNEIFORM SIGN MAR
-12226 ; [.2C0E.0020.0002.12226] # CUNEIFORM SIGN MASH
-12227 ; [.2C0F.0020.0002.12227] # CUNEIFORM SIGN MASH2
-12228 ; [.2C10.0020.0002.12228] # CUNEIFORM SIGN ME
-12229 ; [.2C11.0020.0002.12229] # CUNEIFORM SIGN MES
-1222A ; [.2C12.0020.0002.1222A] # CUNEIFORM SIGN MI
-1222B ; [.2C13.0020.0002.1222B] # CUNEIFORM SIGN MIN
-1222C ; [.2C14.0020.0002.1222C] # CUNEIFORM SIGN MU
-1222D ; [.2C15.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
-1222E ; [.2C16.0020.0002.1222E] # CUNEIFORM SIGN MUG
-1222F ; [.2C17.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
-12230 ; [.2C18.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
-12231 ; [.2C19.0020.0002.12231] # CUNEIFORM SIGN MURGU2
-12232 ; [.2C1A.0020.0002.12232] # CUNEIFORM SIGN MUSH
-12233 ; [.2C1B.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
-12234 ; [.2C1C.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
-12235 ; [.2C1D.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
-12236 ; [.2C1E.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
-12237 ; [.2C1F.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 ; [.2C20.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 ; [.2C21.0020.0002.12239] # CUNEIFORM SIGN MUSH3
-1223A ; [.2C22.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
-1223B ; [.2C23.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C ; [.2C24.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D ; [.2C25.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
-1223E ; [.2C26.0020.0002.1223E] # CUNEIFORM SIGN NA
-1223F ; [.2C27.0020.0002.1223F] # CUNEIFORM SIGN NA2
-12240 ; [.2C28.0020.0002.12240] # CUNEIFORM SIGN NAGA
-12241 ; [.2C29.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
-12242 ; [.2C2A.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 ; [.2C2B.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 ; [.2C2C.0020.0002.12244] # CUNEIFORM SIGN NAGAR
-12245 ; [.2C2D.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
-12246 ; [.2C2E.0020.0002.12246] # CUNEIFORM SIGN NAM
-12247 ; [.2C2F.0020.0002.12247] # CUNEIFORM SIGN NAM2
-12248 ; [.2C30.0020.0002.12248] # CUNEIFORM SIGN NE
-12249 ; [.2C31.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
-1224A ; [.2C32.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
-1224B ; [.2C33.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
-1224C ; [.2C34.0020.0002.1224C] # CUNEIFORM SIGN NI
-1224D ; [.2C35.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
-1224E ; [.2C36.0020.0002.1224E] # CUNEIFORM SIGN NI2
-1224F ; [.2C37.0020.0002.1224F] # CUNEIFORM SIGN NIM
-12250 ; [.2C38.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 ; [.2C39.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 ; [.2C3A.0020.0002.12252] # CUNEIFORM SIGN NINDA2
-12253 ; [.2C3B.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
-12254 ; [.2C3C.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 ; [.2C3D.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 ; [.2C3E.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 ; [.2C3F.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 ; [.2C40.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
-12259 ; [.2C41.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A ; [.2C42.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B ; [.2C43.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C ; [.2C44.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D ; [.2C45.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E ; [.2C46.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F ; [.2C47.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
-12260 ; [.2C48.0020.0002.12260] # CUNEIFORM SIGN NISAG
-12261 ; [.2C49.0020.0002.12261] # CUNEIFORM SIGN NU
-12262 ; [.2C4A.0020.0002.12262] # CUNEIFORM SIGN NU11
-12263 ; [.2C4B.0020.0002.12263] # CUNEIFORM SIGN NUN
-12264 ; [.2C4C.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 ; [.2C4D.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 ; [.2C4E.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 ; [.2C4F.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 ; [.2C50.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 ; [.2C51.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
-1226A ; [.2C52.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
-1226B ; [.2C53.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
-1226C ; [.2C54.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D ; [.2C55.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
-1226E ; [.2C56.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F ; [.2C57.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 ; [.2C58.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 ; [.2C59.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 ; [.2C5A.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 ; [.2C5B.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 ; [.2C5C.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 ; [.2C5D.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 ; [.2C5E.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 ; [.2C5F.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 ; [.2C60.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 ; [.2C61.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A ; [.2C62.0020.0002.1227A] # CUNEIFORM SIGN PA
-1227B ; [.2C63.0020.0002.1227B] # CUNEIFORM SIGN PAD
-1227C ; [.2C64.0020.0002.1227C] # CUNEIFORM SIGN PAN
-1227D ; [.2C65.0020.0002.1227D] # CUNEIFORM SIGN PAP
-1227E ; [.2C66.0020.0002.1227E] # CUNEIFORM SIGN PESH2
-1227F ; [.2C67.0020.0002.1227F] # CUNEIFORM SIGN PI
-12280 ; [.2C68.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
-12281 ; [.2C69.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
-12282 ; [.2C6A.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
-12283 ; [.2C6B.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
-12284 ; [.2C6C.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
-12285 ; [.2C6D.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
-12286 ; [.2C6E.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
-12287 ; [.2C6F.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
-12288 ; [.2C70.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
-12289 ; [.2C71.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
-1228A ; [.2C72.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
-1228B ; [.2C73.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C ; [.2C74.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
-1228D ; [.2C75.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E ; [.2C76.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F ; [.2C77.0020.0002.1228F] # CUNEIFORM SIGN RA
-12290 ; [.2C78.0020.0002.12290] # CUNEIFORM SIGN RAB
-12291 ; [.2C79.0020.0002.12291] # CUNEIFORM SIGN RI
-12292 ; [.2C7A.0020.0002.12292] # CUNEIFORM SIGN RU
-12293 ; [.2C7B.0020.0002.12293] # CUNEIFORM SIGN SA
-12294 ; [.2C7C.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
-12295 ; [.2C7D.0020.0002.12295] # CUNEIFORM SIGN SAG
-12296 ; [.2C7E.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
-12297 ; [.2C7F.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
-12298 ; [.2C80.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
-12299 ; [.2C81.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
-1229A ; [.2C82.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
-1229B ; [.2C83.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
-1229C ; [.2C84.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
-1229D ; [.2C85.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
-1229E ; [.2C86.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
-1229F ; [.2C87.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
-122A0 ; [.2C88.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
-122A1 ; [.2C89.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
-122A2 ; [.2C8A.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
-122A3 ; [.2C8B.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
-122A4 ; [.2C8C.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
-122A5 ; [.2C8D.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
-122A6 ; [.2C8E.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
-122A7 ; [.2C8F.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
-122A8 ; [.2C90.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
-122A9 ; [.2C91.0020.0002.122A9] # CUNEIFORM SIGN SAL
-122AA ; [.2C92.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB ; [.2C93.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
-122AC ; [.2C94.0020.0002.122AC] # CUNEIFORM SIGN SAR
-122AD ; [.2C95.0020.0002.122AD] # CUNEIFORM SIGN SHA
-122AE ; [.2C96.0020.0002.122AE] # CUNEIFORM SIGN SHA3
-122AF ; [.2C97.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
-122B0 ; [.2C98.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 ; [.2C99.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 ; [.2C9A.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
-122B3 ; [.2C9B.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 ; [.2C9C.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 ; [.2C9D.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
-122B6 ; [.2C9E.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 ; [.2C9F.0020.0002.122B7] # CUNEIFORM SIGN SHA6
-122B8 ; [.2CA0.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
-122B9 ; [.2CA1.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
-122BA ; [.2CA2.0020.0002.122BA] # CUNEIFORM SIGN SHE
-122BB ; [.2CA3.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
-122BC ; [.2CA4.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD ; [.2CA5.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE ; [.2CA6.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
-122BF ; [.2CA7.0020.0002.122BF] # CUNEIFORM SIGN SHEN
-122C0 ; [.2CA8.0020.0002.122C0] # CUNEIFORM SIGN SHESH
-122C1 ; [.2CA9.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
-122C2 ; [.2CAA.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
-122C3 ; [.2CAB.0020.0002.122C3] # CUNEIFORM SIGN SHID
-122C4 ; [.2CAC.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
-122C5 ; [.2CAD.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
-122C6 ; [.2CAE.0020.0002.122C6] # CUNEIFORM SIGN SHIM
-122C7 ; [.2CAF.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
-122C8 ; [.2CB0.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
-122C9 ; [.2CB1.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA ; [.2CB2.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
-122CB ; [.2CB3.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
-122CC ; [.2CB4.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
-122CD ; [.2CB5.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE ; [.2CB6.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF ; [.2CB7.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
-122D0 ; [.2CB8.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
-122D1 ; [.2CB9.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
-122D2 ; [.2CBA.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
-122D3 ; [.2CBB.0020.0002.122D3] # CUNEIFORM SIGN SHIR
-122D4 ; [.2CBC.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
-122D5 ; [.2CBD.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6 ; [.2CBE.0020.0002.122D6] # CUNEIFORM SIGN SHITA
-122D7 ; [.2CBF.0020.0002.122D7] # CUNEIFORM SIGN SHU
-122D8 ; [.2CC0.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 ; [.2CC1.0020.0002.122D9] # CUNEIFORM SIGN SHU2
-122DA ; [.2CC2.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
-122DB ; [.2CC3.0020.0002.122DB] # CUNEIFORM SIGN SI
-122DC ; [.2CC4.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
-122DD ; [.2CC5.0020.0002.122DD] # CUNEIFORM SIGN SIG
-122DE ; [.2CC6.0020.0002.122DE] # CUNEIFORM SIGN SIG4
-122DF ; [.2CC7.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 ; [.2CC8.0020.0002.122E0] # CUNEIFORM SIGN SIK2
-122E1 ; [.2CC9.0020.0002.122E1] # CUNEIFORM SIGN SILA3
-122E2 ; [.2CCA.0020.0002.122E2] # CUNEIFORM SIGN SU
-122E3 ; [.2CCB.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
-122E4 ; [.2CCC.0020.0002.122E4] # CUNEIFORM SIGN SUD
-122E5 ; [.2CCD.0020.0002.122E5] # CUNEIFORM SIGN SUD2
-122E6 ; [.2CCE.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
-122E7 ; [.2CCF.0020.0002.122E7] # CUNEIFORM SIGN SUM
-122E8 ; [.2CD0.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
-122E9 ; [.2CD1.0020.0002.122E9] # CUNEIFORM SIGN SUR
-122EA ; [.2CD2.0020.0002.122EA] # CUNEIFORM SIGN SUR9
-122EB ; [.2CD3.0020.0002.122EB] # CUNEIFORM SIGN TA
-122EC ; [.2CD4.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
-122ED ; [.2CD5.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
-122EE ; [.2CD6.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
-122EF ; [.2CD7.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
-122F0 ; [.2CD8.0020.0002.122F0] # CUNEIFORM SIGN TAB
-122F1 ; [.2CD9.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 ; [.2CDA.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
-122F3 ; [.2CDB.0020.0002.122F3] # CUNEIFORM SIGN TAG
-122F4 ; [.2CDC.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
-122F5 ; [.2CDD.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
-122F6 ; [.2CDE.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
-122F7 ; [.2CDF.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
-122F8 ; [.2CE0.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
-122F9 ; [.2CE1.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
-122FA ; [.2CE2.0020.0002.122FA] # CUNEIFORM SIGN TAK4
-122FB ; [.2CE3.0020.0002.122FB] # CUNEIFORM SIGN TAR
-122FC ; [.2CE4.0020.0002.122FC] # CUNEIFORM SIGN TE
-122FD ; [.2CE5.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
-122FE ; [.2CE6.0020.0002.122FE] # CUNEIFORM SIGN TI
-122FF ; [.2CE7.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
-12300 ; [.2CE8.0020.0002.12300] # CUNEIFORM SIGN TIL
-12301 ; [.2CE9.0020.0002.12301] # CUNEIFORM SIGN TIR
-12302 ; [.2CEA.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
-12303 ; [.2CEB.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
-12304 ; [.2CEC.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 ; [.2CED.0020.0002.12305] # CUNEIFORM SIGN TU
-12306 ; [.2CEE.0020.0002.12306] # CUNEIFORM SIGN TUG2
-12307 ; [.2CEF.0020.0002.12307] # CUNEIFORM SIGN TUK
-12308 ; [.2CF0.0020.0002.12308] # CUNEIFORM SIGN TUM
-12309 ; [.2CF1.0020.0002.12309] # CUNEIFORM SIGN TUR
-1230A ; [.2CF2.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B ; [.2CF3.0020.0002.1230B] # CUNEIFORM SIGN U
-1230C ; [.2CF4.0020.0002.1230C] # CUNEIFORM SIGN U GUD
-1230D ; [.2CF5.0020.0002.1230D] # CUNEIFORM SIGN U U U
-1230E ; [.2CF6.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F ; [.2CF7.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 ; [.2CF8.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 ; [.2CF9.0020.0002.12311] # CUNEIFORM SIGN U2
-12312 ; [.2CFA.0020.0002.12312] # CUNEIFORM SIGN UB
-12313 ; [.2CFB.0020.0002.12313] # CUNEIFORM SIGN UD
-12314 ; [.2CFC.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
-12315 ; [.2CFD.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
-12316 ; [.2CFE.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
-12317 ; [.2CFF.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 ; [.2D00.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 ; [.2D01.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
-1231A ; [.2D02.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
-1231B ; [.2D03.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C ; [.2D04.0020.0002.1231C] # CUNEIFORM SIGN UDUG
-1231D ; [.2D05.0020.0002.1231D] # CUNEIFORM SIGN UM
-1231E ; [.2D06.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
-1231F ; [.2D07.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 ; [.2D08.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
-12321 ; [.2D09.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
-12322 ; [.2D0A.0020.0002.12322] # CUNEIFORM SIGN UMBIN
-12323 ; [.2D0B.0020.0002.12323] # CUNEIFORM SIGN UMUM
-12324 ; [.2D0C.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 ; [.2D0D.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
-12326 ; [.2D0E.0020.0002.12326] # CUNEIFORM SIGN UN
-12327 ; [.2D0F.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
-12328 ; [.2D10.0020.0002.12328] # CUNEIFORM SIGN UR
-12329 ; [.2D11.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
-1232A ; [.2D12.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
-1232B ; [.2D13.0020.0002.1232B] # CUNEIFORM SIGN UR2
-1232C ; [.2D14.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D ; [.2D15.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E ; [.2D16.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
-1232F ; [.2D17.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
-12330 ; [.2D18.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
-12331 ; [.2D19.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
-12332 ; [.2D1A.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 ; [.2D1B.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 ; [.2D1C.0020.0002.12334] # CUNEIFORM SIGN UR4
-12335 ; [.2D1D.0020.0002.12335] # CUNEIFORM SIGN URI
-12336 ; [.2D1E.0020.0002.12336] # CUNEIFORM SIGN URI3
-12337 ; [.2D1F.0020.0002.12337] # CUNEIFORM SIGN URU
-12338 ; [.2D20.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
-12339 ; [.2D21.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A ; [.2D22.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
-1233B ; [.2D23.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
-1233C ; [.2D24.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
-1233D ; [.2D25.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
-1233E ; [.2D26.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F ; [.2D27.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
-12340 ; [.2D28.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
-12341 ; [.2D29.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
-12342 ; [.2D2A.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
-12343 ; [.2D2B.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
-12344 ; [.2D2C.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
-12345 ; [.2D2D.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
-12346 ; [.2D2E.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
-12347 ; [.2D2F.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
-12348 ; [.2D30.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
-12349 ; [.2D31.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
-1234A ; [.2D32.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
-1234B ; [.2D33.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
-1234C ; [.2D34.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D ; [.2D35.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
-1234E ; [.2D36.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
-1234F ; [.2D37.0020.0002.1234F] # CUNEIFORM SIGN URUDA
-12350 ; [.2D38.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
-12351 ; [.2D39.0020.0002.12351] # CUNEIFORM SIGN USH
-12352 ; [.2D3A.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
-12353 ; [.2D3B.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
-12354 ; [.2D3C.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
-12355 ; [.2D3D.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
-12356 ; [.2D3E.0020.0002.12356] # CUNEIFORM SIGN USHX
-12357 ; [.2D3F.0020.0002.12357] # CUNEIFORM SIGN USH2
-12358 ; [.2D40.0020.0002.12358] # CUNEIFORM SIGN USHUMX
-12359 ; [.2D41.0020.0002.12359] # CUNEIFORM SIGN UTUKI
-1235A ; [.2D42.0020.0002.1235A] # CUNEIFORM SIGN UZ3
-1235B ; [.2D43.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C ; [.2D44.0020.0002.1235C] # CUNEIFORM SIGN UZU
-1235D ; [.2D45.0020.0002.1235D] # CUNEIFORM SIGN ZA
-1235E ; [.2D46.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
-1235F ; [.2D47.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 ; [.2D48.0020.0002.12360] # CUNEIFORM SIGN ZAG
-12361 ; [.2D49.0020.0002.12361] # CUNEIFORM SIGN ZAMX
-12362 ; [.2D4A.0020.0002.12362] # CUNEIFORM SIGN ZE2
-12363 ; [.2D4B.0020.0002.12363] # CUNEIFORM SIGN ZI
-12364 ; [.2D4C.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
-12365 ; [.2D4D.0020.0002.12365] # CUNEIFORM SIGN ZI3
-12366 ; [.2D4E.0020.0002.12366] # CUNEIFORM SIGN ZIB
-12367 ; [.2D4F.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
-12368 ; [.2D50.0020.0002.12368] # CUNEIFORM SIGN ZIG
-12369 ; [.2D51.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
-1236A ; [.2D52.0020.0002.1236A] # CUNEIFORM SIGN ZU
-1236B ; [.2D53.0020.0002.1236B] # CUNEIFORM SIGN ZU5
-1236C ; [.2D54.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
-1236D ; [.2D55.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
-1236E ; [.2D56.0020.0002.1236E] # CUNEIFORM SIGN ZUM
+030D ; [.0000.005F.0002.030D] # COMBINING VERTICAL LINE ABOVE; QQC
+030E ; [.0000.005F.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE; QQC
+0312 ; [.0000.005F.0002.0312] # COMBINING TURNED COMMA ABOVE; QQC
+0315 ; [.0000.005F.0002.0315] # COMBINING COMMA ABOVE RIGHT; QQC
+031A ; [.0000.005F.0002.031A] # COMBINING LEFT ANGLE ABOVE; QQC
+033D ; [.0000.005F.0002.033D] # COMBINING X ABOVE; QQC
+033E ; [.0000.005F.0002.033E] # COMBINING VERTICAL TILDE; QQC
+033F ; [.0000.005F.0002.033F] # COMBINING DOUBLE OVERLINE; QQC
+0346 ; [.0000.005F.0002.0346] # COMBINING BRIDGE ABOVE; QQC
+034A ; [.0000.005F.0002.034A] # COMBINING NOT TILDE ABOVE; QQC
+034B ; [.0000.005F.0002.034B] # COMBINING HOMOTHETIC ABOVE; QQC
+034C ; [.0000.005F.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE; QQC
+0350 ; [.0000.005F.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE; QQC
+0351 ; [.0000.005F.0002.0351] # COMBINING LEFT HALF RING ABOVE; QQC
+0352 ; [.0000.005F.0002.0352] # COMBINING FERMATA; QQC
+0357 ; [.0000.005F.0002.0357] # COMBINING RIGHT HALF RING ABOVE; QQC
+035B ; [.0000.005F.0002.035B] # COMBINING ZIGZAG ABOVE; QQC
+035D ; [.0000.005F.0002.035D] # COMBINING DOUBLE BREVE; QQC
+035E ; [.0000.005F.0002.035E] # COMBINING DOUBLE MACRON; QQC
+0484 ; [.0000.005F.0002.0484] # COMBINING CYRILLIC PALATALIZATION; QQC
+0487 ; [.0000.005F.0002.0487] # COMBINING CYRILLIC POKRYTIE; QQC
+0741 ; [.0000.005F.0002.0741] # SYRIAC QUSHSHAYA; QQC
+0745 ; [.0000.005F.0002.0745] # SYRIAC THREE DOTS ABOVE; QQC
+17CB ; [.0000.005F.0002.17CB] # KHMER SIGN BANTOC; QQC
+17CC ; [.0000.005F.0002.17CC] # KHMER SIGN ROBAT; QQC
+17CD ; [.0000.005F.0002.17CD] # KHMER SIGN TOANDAKHIAT; QQC
+17CE ; [.0000.005F.0002.17CE] # KHMER SIGN KAKABAT; QQC
+17CF ; [.0000.005F.0002.17CF] # KHMER SIGN AHSDA; QQC
+17D0 ; [.0000.005F.0002.17D0] # KHMER SIGN SAMYOK SANNYA; QQC
+17D1 ; [.0000.005F.0002.17D1] # KHMER SIGN VIRIAM; QQC
+17DD ; [.0000.005F.0002.17DD] # KHMER SIGN ATTHACAN; QQC
+1BE6 ; [.0000.005F.0002.1BE6] # BATAK SIGN TOMPI; QQC
+1DC0 ; [.0000.005F.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT; QQC
+1DC1 ; [.0000.005F.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT; QQC
+1DC3 ; [.0000.005F.0002.1DC3] # COMBINING SUSPENSION MARK; QQC
+1DC4 ; [.0000.005F.0002.1DC4] # COMBINING MACRON-ACUTE; QQC
+1DC5 ; [.0000.005F.0002.1DC5] # COMBINING GRAVE-MACRON; QQC
+1DC6 ; [.0000.005F.0002.1DC6] # COMBINING MACRON-GRAVE; QQC
+1DC7 ; [.0000.005F.0002.1DC7] # COMBINING ACUTE-MACRON; QQC
+1DC8 ; [.0000.005F.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE; QQC
+1DC9 ; [.0000.005F.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE; QQC
+1DCB ; [.0000.005F.0002.1DCB] # COMBINING BREVE-MACRON; QQC
+1DCC ; [.0000.005F.0002.1DCC] # COMBINING MACRON-BREVE; QQC
+1DCD ; [.0000.005F.0002.1DCD] # COMBINING DOUBLE CIRCUMFLEX ABOVE; QQC
+1DCE ; [.0000.005F.0002.1DCE] # COMBINING OGONEK ABOVE; QQC
+1DD1 ; [.0000.005F.0002.1DD1] # COMBINING UR ABOVE; QQC
+1DFE ; [.0000.005F.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE; QQC
+20F0 ; [.0000.005F.0002.20F0] # COMBINING ASTERISK ABOVE; QQC
+2CEF ; [.0000.005F.0002.2CEF] # COPTIC COMBINING NI ABOVE; QQC
+A67C ; [.0000.005F.0002.A67C] # COMBINING CYRILLIC KAVYKA; QQC
+A67D ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK; QQC
+0316 ; [.0000.0060.0002.0316] # COMBINING GRAVE ACCENT BELOW; QQC
+0317 ; [.0000.0060.0002.0317] # COMBINING ACUTE ACCENT BELOW; QQC
+0318 ; [.0000.0060.0002.0318] # COMBINING LEFT TACK BELOW; QQC
+0319 ; [.0000.0060.0002.0319] # COMBINING RIGHT TACK BELOW; QQC
+031C ; [.0000.0060.0002.031C] # COMBINING LEFT HALF RING BELOW; QQC
+031D ; [.0000.0060.0002.031D] # COMBINING UP TACK BELOW; QQC
+031E ; [.0000.0060.0002.031E] # COMBINING DOWN TACK BELOW; QQC
+031F ; [.0000.0060.0002.031F] # COMBINING PLUS SIGN BELOW; QQC
+0320 ; [.0000.0060.0002.0320] # COMBINING MINUS SIGN BELOW; QQC
+0329 ; [.0000.0060.0002.0329] # COMBINING VERTICAL LINE BELOW; QQC
+032A ; [.0000.0060.0002.032A] # COMBINING BRIDGE BELOW; QQC
+032B ; [.0000.0060.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW; QQC
+032C ; [.0000.0060.0002.032C] # COMBINING CARON BELOW; QQC
+032F ; [.0000.0060.0002.032F] # COMBINING INVERTED BREVE BELOW; QQC
+0333 ; [.0000.0060.0002.0333] # COMBINING DOUBLE LOW LINE; QQC
+033A ; [.0000.0060.0002.033A] # COMBINING INVERTED BRIDGE BELOW; QQC
+033B ; [.0000.0060.0002.033B] # COMBINING SQUARE BELOW; QQC
+033C ; [.0000.0060.0002.033C] # COMBINING SEAGULL BELOW; QQC
+0347 ; [.0000.0060.0002.0347] # COMBINING EQUALS SIGN BELOW; QQC
+0348 ; [.0000.0060.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW; QQC
+0349 ; [.0000.0060.0002.0349] # COMBINING LEFT ANGLE BELOW; QQC
+034D ; [.0000.0060.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW; QQC
+034E ; [.0000.0060.0002.034E] # COMBINING UPWARDS ARROW BELOW; QQC
+0353 ; [.0000.0060.0002.0353] # COMBINING X BELOW; QQC
+0354 ; [.0000.0060.0002.0354] # COMBINING LEFT ARROWHEAD BELOW; QQC
+0355 ; [.0000.0060.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW; QQC
+0356 ; [.0000.0060.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW; QQC
+0359 ; [.0000.0060.0002.0359] # COMBINING ASTERISK BELOW; QQC
+035A ; [.0000.0060.0002.035A] # COMBINING DOUBLE RING BELOW; QQC
+035C ; [.0000.0060.0002.035C] # COMBINING DOUBLE BREVE BELOW; QQC
+035F ; [.0000.0060.0002.035F] # COMBINING DOUBLE MACRON BELOW; QQC
+0362 ; [.0000.0060.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW; QQC
+0742 ; [.0000.0060.0002.0742] # SYRIAC RUKKAKHA; QQC
+0746 ; [.0000.0060.0002.0746] # SYRIAC THREE DOTS BELOW; QQC
+0859 ; [.0000.0060.0002.0859] # MANDAIC AFFRICATION MARK; QQC
+085A ; [.0000.0060.0002.085A] # MANDAIC VOCALIZATION MARK; QQC
+085B ; [.0000.0060.0002.085B] # MANDAIC GEMINATION MARK; QQC
+1DC2 ; [.0000.0060.0002.1DC2] # COMBINING SNAKE BELOW; QQC
+1DCF ; [.0000.0060.0002.1DCF] # COMBINING ZIGZAG BELOW; QQC
+1DD0 ; [.0000.0060.0002.1DD0] # COMBINING IS BELOW; QQC
+1DFC ; [.0000.0060.0002.1DFC] # COMBINING DOUBLE INVERTED BREVE BELOW; QQC
+1DFD ; [.0000.0060.0002.1DFD] # COMBINING ALMOST EQUAL TO BELOW; QQC
+1DFF ; [.0000.0060.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW; QQC
+20EC ; [.0000.0060.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS; QQC
+20ED ; [.0000.0060.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS; QQC
+20EE ; [.0000.0060.0002.20EE] # COMBINING LEFT ARROW BELOW; QQC
+20EF ; [.0000.0060.0002.20EF] # COMBINING RIGHT ARROW BELOW; QQC
+10A0D ; [.0000.0060.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW; QQC
+0336 ; [.0000.0061.0002.0336] # COMBINING LONG STROKE OVERLAY; QQC
+0337 ; [.0000.0061.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY; QQC
+20D8 ; [.0000.0061.0002.20D8] # COMBINING RING OVERLAY; QQC
+20D9 ; [.0000.0061.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY; QQC
+20DA ; [.0000.0061.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY; QQC
+20E5 ; [.0000.0061.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY; QQC
+20EA ; [.0000.0061.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY; QQC
+20EB ; [.0000.0061.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY; QQC
+20DD ; [.0000.0062.0002.20DD] # COMBINING ENCLOSING CIRCLE; QQC
+20DE ; [.0000.0062.0002.20DE] # COMBINING ENCLOSING SQUARE; QQC
+20DF ; [.0000.0062.0002.20DF] # COMBINING ENCLOSING DIAMOND; QQC
+20E0 ; [.0000.0062.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH; QQC
+20E2 ; [.0000.0062.0002.20E2] # COMBINING ENCLOSING SCREEN; QQC
+20E3 ; [.0000.0062.0002.20E3] # COMBINING ENCLOSING KEYCAP; QQC
+20E4 ; [.0000.0062.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE; QQC
+0305 ; [.0000.0063.0002.0305] # COMBINING OVERLINE
+0309 ; [.0000.0064.0002.0309] # COMBINING HOOK ABOVE
+030F ; [.0000.0065.0002.030F] # COMBINING DOUBLE GRAVE ACCENT
+0310 ; [.0000.0066.0002.0310] # COMBINING CANDRABINDU
+0311 ; [.0000.0067.0002.0311] # COMBINING INVERTED BREVE
+031B ; [.0000.0068.0002.031B] # COMBINING HORN
+0321 ; [.0000.006E.0002.0321] # COMBINING PALATALIZED HOOK BELOW
+0322 ; [.0000.006F.0002.0322] # COMBINING RETROFLEX HOOK BELOW
+0323 ; [.0000.0070.0002.0323] # COMBINING DOT BELOW
+0324 ; [.0000.0075.0002.0324] # COMBINING DIAERESIS BELOW
+0325 ; [.0000.0076.0002.0325] # COMBINING RING BELOW
+0326 ; [.0000.0077.0002.0326] # COMBINING COMMA BELOW
+032D ; [.0000.0078.0002.032D] # COMBINING CIRCUMFLEX ACCENT BELOW
+032E ; [.0000.0079.0002.032E] # COMBINING BREVE BELOW
+0330 ; [.0000.007A.0002.0330] # COMBINING TILDE BELOW
+0331 ; [.0000.007B.0002.0331] # COMBINING MACRON BELOW
+0334 ; [.0000.007C.0002.0334] # COMBINING TILDE OVERLAY
+0335 ; [.0000.007D.0002.0335] # COMBINING SHORT STROKE OVERLAY
+0339 ; [.0000.007E.0002.0339] # COMBINING RIGHT HALF RING BELOW
+0345 ; [.0000.007F.0002.0345] # COMBINING GREEK YPOGEGRAMMENI
+0358 ; [.0000.0080.0002.0358] # COMBINING DOT ABOVE RIGHT
+0360 ; [.0000.0081.0002.0360] # COMBINING DOUBLE TILDE
+FE22 ; [.0000.0081.0002.FE22] # COMBINING DOUBLE TILDE LEFT HALF; QQC
+0361 ; [.0000.0082.0002.0361] # COMBINING DOUBLE INVERTED BREVE
+FE20 ; [.0000.0082.0002.FE20] # COMBINING LIGATURE LEFT HALF; QQC
+0483 ; [.0000.0083.0002.0483] # COMBINING CYRILLIC TITLO
+A66F ; [.0000.0084.0002.A66F] # COMBINING CYRILLIC VZMET
+05B0 ; [.0000.0085.0002.05B0] # HEBREW POINT SHEVA
+05B1 ; [.0000.0086.0002.05B1] # HEBREW POINT HATAF SEGOL
+05B2 ; [.0000.0087.0002.05B2] # HEBREW POINT HATAF PATAH
+05B3 ; [.0000.0088.0002.05B3] # HEBREW POINT HATAF QAMATS
+05B4 ; [.0000.0089.0002.05B4] # HEBREW POINT HIRIQ
+05B5 ; [.0000.008A.0002.05B5] # HEBREW POINT TSERE
+05B6 ; [.0000.008B.0002.05B6] # HEBREW POINT SEGOL
+05B7 ; [.0000.008C.0002.05B7] # HEBREW POINT PATAH
+05B8 ; [.0000.008D.0002.05B8] # HEBREW POINT QAMATS
+05C7 ; [.0000.008D.0002.05C7] # HEBREW POINT QAMATS QATAN; QQC
+05B9 ; [.0000.008E.0002.05B9] # HEBREW POINT HOLAM
+05BA ; [.0000.008E.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV; QQC
+05BB ; [.0000.008F.0002.05BB] # HEBREW POINT QUBUTS
+05C2 ; [.0000.0090.0002.05C2] # HEBREW POINT SIN DOT
+05C1 ; [.0000.0091.0002.05C1] # HEBREW POINT SHIN DOT
+05BC ; [.0000.0092.0002.05BC] # HEBREW POINT DAGESH OR MAPIQ
+05BF ; [.0000.0095.0002.05BF] # HEBREW POINT RAFE
+FB1E ; [.0000.0096.0002.FB1E] # HEBREW POINT JUDEO-SPANISH VARIKA
+081C ; [.0000.0097.0002.081C] # SAMARITAN VOWEL SIGN LONG E; QQC
+081D ; [.0000.0097.0002.081D] # SAMARITAN VOWEL SIGN E
+081E ; [.0000.0098.0002.081E] # SAMARITAN VOWEL SIGN OVERLONG AA; QQC
+081F ; [.0000.0098.0002.081F] # SAMARITAN VOWEL SIGN LONG AA; QQC
+0820 ; [.0000.0098.0002.0820] # SAMARITAN VOWEL SIGN AA
+0821 ; [.0000.0099.0002.0821] # SAMARITAN VOWEL SIGN OVERLONG A; QQC
+0822 ; [.0000.0099.0002.0822] # SAMARITAN VOWEL SIGN LONG A; QQC
+0823 ; [.0000.0099.0002.0823] # SAMARITAN VOWEL SIGN A
+0824 ; [.0000.009A.0002.0824] # SAMARITAN MODIFIER LETTER SHORT A; QQC
+0825 ; [.0000.009A.0002.0825] # SAMARITAN VOWEL SIGN SHORT A
+0826 ; [.0000.009B.0002.0826] # SAMARITAN VOWEL SIGN LONG U; QQC
+0827 ; [.0000.009B.0002.0827] # SAMARITAN VOWEL SIGN U
+0828 ; [.0000.009C.0002.0828] # SAMARITAN MODIFIER LETTER I; QQC
+0829 ; [.0000.009C.0002.0829] # SAMARITAN VOWEL SIGN LONG I; QQC
+082A ; [.0000.009C.0002.082A] # SAMARITAN VOWEL SIGN I
+082B ; [.0000.009D.0002.082B] # SAMARITAN VOWEL SIGN O
+082C ; [.0000.009E.0002.082C] # SAMARITAN VOWEL SIGN SUKUN
+0818 ; [.0000.009F.0002.0818] # SAMARITAN MARK DAGESH
+0819 ; [.0000.00A0.0002.0819] # SAMARITAN MARK OCCLUSION
+082D ; [.0000.00A1.0002.082D] # SAMARITAN MARK NEQUDAA
+064B ; [.0000.00A2.0002.064B] # ARABIC FATHATAN
+FE71 ; [.0000.00A2.0018.FE71] # ARABIC TATWEEL WITH FATHATAN ABOVE; QQK
+FE70 ; [.0000.00A2.001A.FE70] # ARABIC FATHATAN ISOLATED FORM; QQK
+064C ; [.0000.00A3.0002.064C] # ARABIC DAMMATAN
+FE72 ; [.0000.00A3.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM; QQK
+FC5E ; [.0000.00A3.001A.FC5E][.0000.00AD.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM; QQKA
+064D ; [.0000.00A5.0002.064D] # ARABIC KASRATAN
+FE74 ; [.0000.00A5.001A.FE74] # ARABIC KASRATAN ISOLATED FORM; QQK
+FC5F ; [.0000.00A5.001A.FC5F][.0000.00AD.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM; QQKA
+064E ; [.0000.00A7.0002.064E] # ARABIC FATHA
+FE77 ; [.0000.00A7.0018.FE77] # ARABIC FATHA MEDIAL FORM; QQK
+FE76 ; [.0000.00A7.001A.FE76] # ARABIC FATHA ISOLATED FORM; QQK
+FCF2 ; [.0000.00A7.0018.FCF2][.0000.00AD.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM; QQKA
+FC60 ; [.0000.00A7.001A.FC60][.0000.00AD.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM; QQKA
+064F ; [.0000.00A9.0002.064F] # ARABIC DAMMA
+FE79 ; [.0000.00A9.0018.FE79] # ARABIC DAMMA MEDIAL FORM; QQK
+FE78 ; [.0000.00A9.001A.FE78] # ARABIC DAMMA ISOLATED FORM; QQK
+FCF3 ; [.0000.00A9.0018.FCF3][.0000.00AD.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM; QQKA
+FC61 ; [.0000.00A9.001A.FC61][.0000.00AD.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM; QQKA
+0650 ; [.0000.00AB.0002.0650] # ARABIC KASRA
+FE7B ; [.0000.00AB.0018.FE7B] # ARABIC KASRA MEDIAL FORM; QQK
+FE7A ; [.0000.00AB.001A.FE7A] # ARABIC KASRA ISOLATED FORM; QQK
+FCF4 ; [.0000.00AB.0018.FCF4][.0000.00AD.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM; QQKA
+FC62 ; [.0000.00AB.001A.FC62][.0000.00AD.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM; QQKA
+0651 ; [.0000.00AD.0002.0651] # ARABIC SHADDA
+FE7D ; [.0000.00AD.0018.FE7D] # ARABIC SHADDA MEDIAL FORM; QQK
+FE7C ; [.0000.00AD.001A.FE7C] # ARABIC SHADDA ISOLATED FORM; QQK
+FC63 ; [.0000.00AD.001A.FC63][.0000.00BD.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
+0652 ; [.0000.00AF.0002.0652] # ARABIC SUKUN
+FE7F ; [.0000.00AF.0018.FE7F] # ARABIC SUKUN MEDIAL FORM; QQK
+FE7E ; [.0000.00AF.001A.FE7E] # ARABIC SUKUN ISOLATED FORM; QQK
+0653 ; [.0000.00B0.0002.0653] # ARABIC MADDAH ABOVE
+0654 ; [.0000.00B1.0002.0654] # ARABIC HAMZA ABOVE
+0655 ; [.0000.00B2.0002.0655] # ARABIC HAMZA BELOW
+065F ; [.0000.00B3.0002.065F] # ARABIC WAVY HAMZA BELOW
+0656 ; [.0000.00B4.0002.0656] # ARABIC SUBSCRIPT ALEF
+0657 ; [.0000.00B5.0002.0657] # ARABIC INVERTED DAMMA
+0658 ; [.0000.00B6.0002.0658] # ARABIC MARK NOON GHUNNA
+0659 ; [.0000.00B7.0002.0659] # ARABIC ZWARAKAY
+065A ; [.0000.00B8.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
+065B ; [.0000.00B9.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+065C ; [.0000.00BA.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
+065D ; [.0000.00BB.0002.065D] # ARABIC REVERSED DAMMA
+065E ; [.0000.00BC.0002.065E] # ARABIC FATHA WITH TWO DOTS
+0670 ; [.0000.00BD.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
+0711 ; [.0000.00BE.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
+0730 ; [.0000.00BF.0002.0730] # SYRIAC PTHAHA ABOVE
+0731 ; [.0000.00C0.0002.0731] # SYRIAC PTHAHA BELOW
+0732 ; [.0000.00C1.0002.0732] # SYRIAC PTHAHA DOTTED
+0733 ; [.0000.00C2.0002.0733] # SYRIAC ZQAPHA ABOVE
+0734 ; [.0000.00C3.0002.0734] # SYRIAC ZQAPHA BELOW
+0735 ; [.0000.00C4.0002.0735] # SYRIAC ZQAPHA DOTTED
+0736 ; [.0000.00C5.0002.0736] # SYRIAC RBASA ABOVE
+0737 ; [.0000.00C6.0002.0737] # SYRIAC RBASA BELOW
+0738 ; [.0000.00C7.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
+0739 ; [.0000.00C8.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
+073A ; [.0000.00C9.0002.073A] # SYRIAC HBASA ABOVE
+073B ; [.0000.00CA.0002.073B] # SYRIAC HBASA BELOW
+073C ; [.0000.00CB.0002.073C] # SYRIAC HBASA-ESASA DOTTED
+073D ; [.0000.00CC.0002.073D] # SYRIAC ESASA ABOVE
+073E ; [.0000.00CD.0002.073E] # SYRIAC ESASA BELOW
+073F ; [.0000.00CE.0002.073F] # SYRIAC RWAHA
+07EB ; [.0000.00CF.0002.07EB] # NKO COMBINING SHORT HIGH TONE
+07EC ; [.0000.00D0.0002.07EC] # NKO COMBINING SHORT LOW TONE
+07ED ; [.0000.00D1.0002.07ED] # NKO COMBINING SHORT RISING TONE
+07EE ; [.0000.00D2.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
+07EF ; [.0000.00D3.0002.07EF] # NKO COMBINING LONG HIGH TONE
+07F0 ; [.0000.00D4.0002.07F0] # NKO COMBINING LONG LOW TONE
+07F1 ; [.0000.00D5.0002.07F1] # NKO COMBINING LONG RISING TONE
+07F2 ; [.0000.00D6.0002.07F2] # NKO COMBINING NASALIZATION MARK
+07F3 ; [.0000.00D7.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
+135F ; [.0000.00D8.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
+135E ; [.0000.00D9.0002.135E] # ETHIOPIC COMBINING VOWEL LENGTH MARK
+135D ; [.0000.00DA.0002.135D] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
+A6F0 ; [.0000.00DB.0002.A6F0] # BAMUM COMBINING MARK KOQNDON
+A6F1 ; [.0000.00DC.0002.A6F1] # BAMUM COMBINING MARK TUKWENTIS
+093C ; [.0000.00DD.0002.093C] # DEVANAGARI SIGN NUKTA
+0900 ; [.0000.00DE.0002.0900] # DEVANAGARI SIGN INVERTED CANDRABINDU; QQC
+0901 ; [.0000.00DE.0002.0901] # DEVANAGARI SIGN CANDRABINDU
+0902 ; [.0000.00DF.0002.0902] # DEVANAGARI SIGN ANUSVARA
+1CED ; [.0000.00DF.0002.1CED] # VEDIC SIGN TIRYAK; QQC
+0903 ; [.0000.00E0.0002.0903] # DEVANAGARI SIGN VISARGA
+1CF2 ; [.0000.00E0.0002.1CF2] # VEDIC SIGN ARDHAVISARGA; QQC
+09BC ; [.0000.00E1.0002.09BC] # BENGALI SIGN NUKTA
+0981 ; [.0000.00E2.0002.0981] # BENGALI SIGN CANDRABINDU
+0982 ; [.0000.00E3.0002.0982] # BENGALI SIGN ANUSVARA
+0983 ; [.0000.00E4.0002.0983] # BENGALI SIGN VISARGA
+0A3C ; [.0000.00E5.0002.0A3C] # GURMUKHI SIGN NUKTA
+0A01 ; [.0000.00E6.0002.0A01] # GURMUKHI SIGN ADAK BINDI
+0A02 ; [.0000.00E7.0002.0A02] # GURMUKHI SIGN BINDI
+0A03 ; [.0000.00E8.0002.0A03] # GURMUKHI SIGN VISARGA
+0A70 ; [.0000.00E9.0002.0A70] # GURMUKHI TIPPI
+0A71 ; [.0000.00EA.0002.0A71] # GURMUKHI ADDAK
+0ABC ; [.0000.00EB.0002.0ABC] # GUJARATI SIGN NUKTA
+0A81 ; [.0000.00EC.0002.0A81] # GUJARATI SIGN CANDRABINDU
+0A82 ; [.0000.00ED.0002.0A82] # GUJARATI SIGN ANUSVARA
+0A83 ; [.0000.00EE.0002.0A83] # GUJARATI SIGN VISARGA
+0B3C ; [.0000.00EF.0002.0B3C] # ORIYA SIGN NUKTA
+0B01 ; [.0000.00F0.0002.0B01] # ORIYA SIGN CANDRABINDU
+0B02 ; [.0000.00F1.0002.0B02] # ORIYA SIGN ANUSVARA
+0B03 ; [.0000.00F2.0002.0B03] # ORIYA SIGN VISARGA
+0B82 ; [.0000.00F3.0002.0B82] # TAMIL SIGN ANUSVARA
+0C01 ; [.0000.00F4.0002.0C01] # TELUGU SIGN CANDRABINDU
+0C02 ; [.0000.00F5.0002.0C02] # TELUGU SIGN ANUSVARA
+0C03 ; [.0000.00F6.0002.0C03] # TELUGU SIGN VISARGA
+0CBC ; [.0000.00F7.0002.0CBC] # KANNADA SIGN NUKTA
+0C82 ; [.0000.00F8.0002.0C82] # KANNADA SIGN ANUSVARA
+0C83 ; [.0000.00F9.0002.0C83] # KANNADA SIGN VISARGA
+0D02 ; [.0000.00FA.0002.0D02] # MALAYALAM SIGN ANUSVARA
+0D03 ; [.0000.00FB.0002.0D03] # MALAYALAM SIGN VISARGA
+0D82 ; [.0000.00FC.0002.0D82] # SINHALA SIGN ANUSVARAYA
+0D83 ; [.0000.00FD.0002.0D83] # SINHALA SIGN VISARGAYA
+1B34 ; [.0000.00FE.0002.1B34] # BALINESE SIGN REREKAN
+1B00 ; [.0000.00FF.0002.1B00] # BALINESE SIGN ULU RICEM
+1B01 ; [.0000.0100.0002.1B01] # BALINESE SIGN ULU CANDRA
+1B02 ; [.0000.0101.0002.1B02] # BALINESE SIGN CECEK
+1B03 ; [.0000.0102.0002.1B03] # BALINESE SIGN SURANG
+1B04 ; [.0000.0103.0002.1B04] # BALINESE SIGN BISAH
+A9B3 ; [.0000.0104.0002.A9B3] # JAVANESE SIGN CECAK TELU
+A980 ; [.0000.0105.0002.A980] # JAVANESE SIGN PANYANGGA
+A981 ; [.0000.0106.0002.A981] # JAVANESE SIGN CECAK
+A982 ; [.0000.0107.0002.A982] # JAVANESE SIGN LAYAR
+A983 ; [.0000.0108.0002.A983] # JAVANESE SIGN WIGNYAN
+1B80 ; [.0000.0109.0002.1B80] # SUNDANESE SIGN PANYECEK
+1B81 ; [.0000.010A.0002.1B81] # SUNDANESE SIGN PANGLAYAR
+1B82 ; [.0000.010B.0002.1B82] # SUNDANESE SIGN PANGWISAD
+ABEC ; [.0000.010C.0002.ABEC] # MEETEI MAYEK LUM IYEK
+A80B ; [.0000.010D.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
+A880 ; [.0000.010E.0002.A880] # SAURASHTRA SIGN ANUSVARA
+A881 ; [.0000.010F.0002.A881] # SAURASHTRA SIGN VISARGA
+11000 ; [.0000.0110.0002.11000] # BRAHMI SIGN CANDRABINDU
+11001 ; [.0000.0111.0002.11001] # BRAHMI SIGN ANUSVARA
+11002 ; [.0000.0112.0002.11002] # BRAHMI SIGN VISARGA
+10A0E ; [.0000.0113.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
+10A0F ; [.0000.0114.0002.10A0F] # KHAROSHTHI SIGN VISARGA
+10A38 ; [.0000.0115.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
+10A39 ; [.0000.0116.0002.10A39] # KHAROSHTHI SIGN CAUDA
+10A3A ; [.0000.0117.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
+110BA ; [.0000.0118.0002.110BA] # KAITHI SIGN NUKTA
+11080 ; [.0000.0119.0002.11080] # KAITHI SIGN CANDRABINDU
+11081 ; [.0000.011A.0002.11081] # KAITHI SIGN ANUSVARA
+11082 ; [.0000.011B.0002.11082] # KAITHI SIGN VISARGA
+0E4E ; [.0000.011C.0002.0E4E] # THAI CHARACTER YAMAKKAN
+0E47 ; [.0000.011D.0002.0E47] # THAI CHARACTER MAITAIKHU
+0E48 ; [.0000.011E.0002.0E48] # THAI CHARACTER MAI EK
+0E49 ; [.0000.011F.0002.0E49] # THAI CHARACTER MAI THO
+0E4A ; [.0000.0120.0002.0E4A] # THAI CHARACTER MAI TRI
+0E4B ; [.0000.0121.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
+0E4C ; [.0000.0122.0002.0E4C] # THAI CHARACTER THANTHAKHAT
+0E4D ; [.0000.0123.0002.0E4D] # THAI CHARACTER NIKHAHIT
+0EC8 ; [.0000.0124.0002.0EC8] # LAO TONE MAI EK
+0EC9 ; [.0000.0125.0002.0EC9] # LAO TONE MAI THO
+0ECA ; [.0000.0126.0002.0ECA] # LAO TONE MAI TI
+0ECB ; [.0000.0127.0002.0ECB] # LAO TONE MAI CATAWA
+0ECC ; [.0000.0128.0002.0ECC] # LAO CANCELLATION MARK
+0ECD ; [.0000.0129.0002.0ECD] # LAO NIGGAHITA
+AABF ; [.0000.012A.0002.AABF] # TAI VIET TONE MAI EK
+AAC1 ; [.0000.012B.0002.AAC1] # TAI VIET TONE MAI THO
+0F39 ; [.0000.012C.0002.0F39] # TIBETAN MARK TSA -PHRU
+0F7E ; [.0000.012D.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
+0F7F ; [.0000.012E.0002.0F7F] # TIBETAN SIGN RNAM BCAD
+1C37 ; [.0000.012F.0002.1C37] # LEPCHA SIGN NUKTA
+A92B ; [.0000.0130.0002.A92B] # KAYAH LI TONE PLOPHU
+A92C ; [.0000.0131.0002.A92C] # KAYAH LI TONE CALYA
+A92D ; [.0000.0132.0002.A92D] # KAYAH LI TONE CALYA PLOPHU
+1036 ; [.0000.0133.0002.1036] # MYANMAR SIGN ANUSVARA
+1037 ; [.0000.0134.0002.1037] # MYANMAR SIGN DOT BELOW
+1038 ; [.0000.0135.0002.1038] # MYANMAR SIGN VISARGA
+108D ; [.0000.0136.0002.108D] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+17C6 ; [.0000.0137.0002.17C6] # KHMER SIGN NIKAHIT
+17C7 ; [.0000.0138.0002.17C7] # KHMER SIGN REAHMUK
+17C8 ; [.0000.0139.0002.17C8] # KHMER SIGN YUUKALEAPINTU
+17C9 ; [.0000.013A.0002.17C9] # KHMER SIGN MUUSIKATOAN
+17CA ; [.0000.013B.0002.17CA] # KHMER SIGN TRIISAP
+1A74 ; [.0000.013C.0002.1A74] # TAI THAM SIGN MAI KANG
+1A75 ; [.0000.013D.0002.1A75] # TAI THAM SIGN TONE-1
+1A76 ; [.0000.013E.0002.1A76] # TAI THAM SIGN TONE-2
+1A77 ; [.0000.013F.0002.1A77] # TAI THAM SIGN KHUEN TONE-3
+1A78 ; [.0000.0140.0002.1A78] # TAI THAM SIGN KHUEN TONE-4
+1A79 ; [.0000.0141.0002.1A79] # TAI THAM SIGN KHUEN TONE-5
+1A7A ; [.0000.0142.0002.1A7A] # TAI THAM SIGN RA HAAM
+1A7B ; [.0000.0143.0002.1A7B] # TAI THAM SIGN MAI SAM
+1A7C ; [.0000.0144.0002.1A7C] # TAI THAM SIGN KHUEN-LUE KARAN
+1939 ; [.0000.0145.0002.1939] # LIMBU SIGN MUKPHRENG
+193A ; [.0000.0146.0002.193A] # LIMBU SIGN KEMPHRENG
+193B ; [.0000.0147.0002.193B] # LIMBU SIGN SA-I
+302A ; [.0000.0148.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
+302B ; [.0000.0149.0002.302B] # IDEOGRAPHIC RISING TONE MARK
+302C ; [.0000.014A.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
+302D ; [.0000.014B.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
+302E ; [.0000.014C.0002.302E] # HANGUL SINGLE DOT TONE MARK
+302F ; [.0000.014D.0002.302F] # HANGUL DOUBLE DOT TONE MARK
+3099 ; [.0000.014E.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+FF9E ; [.0000.014E.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK; QQK
+309A ; [.0000.014F.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+FF9F ; [.0000.014F.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK; QQK
+20D0 ; [.0000.0150.0002.20D0] # COMBINING LEFT HARPOON ABOVE
+20D1 ; [.0000.0151.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
+20D2 ; [.0000.0152.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
+20D3 ; [.0000.0152.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY; QQC
+20D4 ; [.0000.0153.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
+20D5 ; [.0000.0154.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
+20D6 ; [.0000.0155.0002.20D6] # COMBINING LEFT ARROW ABOVE
+20D7 ; [.0000.0156.0002.20D7] # COMBINING RIGHT ARROW ABOVE
+20DB ; [.0000.0157.0002.20DB] # COMBINING THREE DOTS ABOVE
+20DC ; [.0000.0158.0002.20DC] # COMBINING FOUR DOTS ABOVE
+20E1 ; [.0000.0159.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
+20E6 ; [.0000.015A.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
+20E7 ; [.0000.015B.0002.20E7] # COMBINING ANNUITY SYMBOL
+20E8 ; [.0000.015C.0002.20E8] # COMBINING TRIPLE UNDERDOT
+20E9 ; [.0000.015D.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
+101FD ; [.0000.015E.0002.101FD] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+02D0 ; [.1561.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
+02D1 ; [.1562.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
+0971 ; [.1563.0020.0002.0971] # DEVANAGARI SIGN HIGH SPACING DOT
+0E46 ; [.1564.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
+0EC6 ; [.1565.0020.0002.0EC6] # LAO KO LA
+1AA7 ; [.1566.0020.0002.1AA7] # TAI THAM SIGN MAI YAMOK
+A9CF ; [.1567.0020.0002.A9CF] # JAVANESE PANGRANGKEP
+AA70 ; [.1568.0020.0002.AA70] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AADD ; [.1569.0020.0002.AADD] # TAI VIET SYMBOL SAM
+3005 ; [.156A.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
+303B ; [.156B.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
+3031 ; [.156C.0020.0002.3031] # VERTICAL KANA REPEAT MARK
+3032 ; [.156C.0020.0002.3031][.0000.014E.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK; QQCM
+3033 ; [.156D.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
+3034 ; [.156D.0020.0002.3033][.0000.014E.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF; QQCM
+3035 ; [.156E.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
+309D ; [.156F.0020.0002.309D] # HIRAGANA ITERATION MARK
+309E ; [.156F.0020.0002.309D][.0000.014E.0002.3099] # HIRAGANA VOICED ITERATION MARK; QQCM
+30FC ; [.1570.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF70 ; [.1570.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK; QQK
+30FD ; [.1571.0020.0002.30FD] # KATAKANA ITERATION MARK
+30FE ; [.1571.0020.0002.30FD][.0000.014E.0002.3099] # KATAKANA VOICED ITERATION MARK; QQCM
+00A4 ; [.1572.0020.0002.00A4] # CURRENCY SIGN
+00A2 ; [.1573.0020.0002.00A2] # CENT SIGN
+FFE0 ; [.1573.0020.0003.FFE0] # FULLWIDTH CENT SIGN; QQK
+0024 ; [.1574.0020.0002.0024] # DOLLAR SIGN
+FF04 ; [.1574.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN; QQK
+FE69 ; [.1574.0020.000F.FE69] # SMALL DOLLAR SIGN; QQK
+00A3 ; [.1575.0020.0002.00A3] # POUND SIGN
+FFE1 ; [.1575.0020.0003.FFE1] # FULLWIDTH POUND SIGN; QQK
+00A5 ; [.1576.0020.0002.00A5] # YEN SIGN
+FFE5 ; [.1576.0020.0003.FFE5] # FULLWIDTH YEN SIGN; QQK
+060B ; [.1577.0020.0002.060B] # AFGHANI SIGN
+09F2 ; [.1578.0020.0002.09F2] # BENGALI RUPEE MARK
+09F3 ; [.1579.0020.0002.09F3] # BENGALI RUPEE SIGN
+09FB ; [.157A.0020.0002.09FB] # BENGALI GANDA MARK
+0AF1 ; [.157B.0020.0002.0AF1] # GUJARATI RUPEE SIGN
+A838 ; [.157C.0020.0002.A838] # NORTH INDIC RUPEE MARK
+0BF9 ; [.157D.0020.0002.0BF9] # TAMIL RUPEE SIGN
+0E3F ; [.157E.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
+17DB ; [.157F.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
+20A0 ; [.1580.0020.0002.20A0] # EURO-CURRENCY SIGN
+20A1 ; [.1581.0020.0002.20A1] # COLON SIGN
+20A2 ; [.1582.0020.0002.20A2] # CRUZEIRO SIGN
+20A3 ; [.1583.0020.0002.20A3] # FRENCH FRANC SIGN
+20A4 ; [.1584.0020.0002.20A4] # LIRA SIGN
+20A5 ; [.1585.0020.0002.20A5] # MILL SIGN
+20A6 ; [.1586.0020.0002.20A6] # NAIRA SIGN
+20A7 ; [.1587.0020.0002.20A7] # PESETA SIGN
+20A9 ; [.1588.0020.0002.20A9] # WON SIGN
+FFE6 ; [.1588.0020.0003.FFE6] # FULLWIDTH WON SIGN; QQK
+20AA ; [.1589.0020.0002.20AA] # NEW SHEQEL SIGN
+20AB ; [.158A.0020.0002.20AB] # DONG SIGN
+20AC ; [.158B.0020.0002.20AC] # EURO SIGN
+20AD ; [.158C.0020.0002.20AD] # KIP SIGN
+20AE ; [.158D.0020.0002.20AE] # TUGRIK SIGN
+20AF ; [.158E.0020.0002.20AF] # DRACHMA SIGN
+20B0 ; [.158F.0020.0002.20B0] # GERMAN PENNY SIGN
+20B1 ; [.1590.0020.0002.20B1] # PESO SIGN
+20B2 ; [.1591.0020.0002.20B2] # GUARANI SIGN
+20B3 ; [.1592.0020.0002.20B3] # AUSTRAL SIGN
+20B4 ; [.1593.0020.0002.20B4] # HRYVNIA SIGN
+20B5 ; [.1594.0020.0002.20B5] # CEDI SIGN
+20B6 ; [.1595.0020.0002.20B6] # LIVRE TOURNOIS SIGN
+20B7 ; [.1596.0020.0002.20B7] # SPESMILO SIGN
+20B8 ; [.1597.0020.0002.20B8] # TENGE SIGN
+20B9 ; [.1598.0020.0002.20B9] # INDIAN RUPEE SIGN
+0030 ; [.1599.0020.0002.0030] # DIGIT ZERO
+FF10 ; [.1599.0020.0003.FF10] # FULLWIDTH DIGIT ZERO; QQK
+1F100 ; [.1599.0020.0004.1F100][*028E.0020.0004.1F100] # DIGIT ZERO FULL STOP; QQKN
+1F101 ; [.1599.0020.0004.1F101][*0241.0020.0004.1F101] # DIGIT ZERO COMMA; QQKN
+1D7CE ; [.1599.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO; QQK
+1D7D8 ; [.1599.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO; QQK
+1D7E2 ; [.1599.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO; QQK
+1D7EC ; [.1599.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO; QQK
+1D7F6 ; [.1599.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO; QQK
+24EA ; [.1599.0020.0006.24EA] # CIRCLED DIGIT ZERO; QQK
+24FF ; [.1599.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO; QQK
+2070 ; [.1599.0020.0014.2070] # SUPERSCRIPT ZERO; QQK
+2080 ; [.1599.0020.0015.2080] # SUBSCRIPT ZERO; QQK
+0660 ; [.1599.0020.0002.0660][.0000.0165.0002.0660] # ARABIC-INDIC DIGIT ZERO
+06F0 ; [.1599.0020.0002.06F0][.0000.0166.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
+07C0 ; [.1599.0020.0002.07C0][.0000.0168.0002.07C0] # NKO DIGIT ZERO
+104A0 ; [.1599.0020.0002.104A0][.0000.016A.0002.104A0] # OSMANYA DIGIT ZERO
+0966 ; [.1599.0020.0002.0966][.0000.016B.0002.0966] # DEVANAGARI DIGIT ZERO
+09E6 ; [.1599.0020.0002.09E6][.0000.016C.0002.09E6] # BENGALI DIGIT ZERO
+0A66 ; [.1599.0020.0002.0A66][.0000.016D.0002.0A66] # GURMUKHI DIGIT ZERO
+0AE6 ; [.1599.0020.0002.0AE6][.0000.016E.0002.0AE6] # GUJARATI DIGIT ZERO
+0B66 ; [.1599.0020.0002.0B66][.0000.016F.0002.0B66] # ORIYA DIGIT ZERO
+0BE6 ; [.1599.0020.0002.0BE6][.0000.0170.0002.0BE6] # TAMIL DIGIT ZERO
+0C66 ; [.1599.0020.0002.0C66][.0000.0171.0002.0C66] # TELUGU DIGIT ZERO
+0C78 ; [.1599.0020.0002.0C78][.0000.0171.0002.0C78] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
+0CE6 ; [.1599.0020.0002.0CE6][.0000.0172.0002.0CE6] # KANNADA DIGIT ZERO
+0D66 ; [.1599.0020.0002.0D66][.0000.0173.0002.0D66] # MALAYALAM DIGIT ZERO
+ABF0 ; [.1599.0020.0002.ABF0][.0000.0174.0002.ABF0] # MEETEI MAYEK DIGIT ZERO
+A8D0 ; [.1599.0020.0002.A8D0][.0000.0175.0002.A8D0] # SAURASHTRA DIGIT ZERO
+1946 ; [.1599.0020.0002.1946][.0000.0176.0002.1946] # LIMBU DIGIT ZERO
+19D0 ; [.1599.0020.0002.19D0][.0000.0177.0002.19D0] # NEW TAI LUE DIGIT ZERO
+1A80 ; [.1599.0020.0002.1A80][.0000.0178.0002.1A80] # TAI THAM HORA DIGIT ZERO
+1A90 ; [.1599.0020.0002.1A90][.0000.0179.0002.1A90] # TAI THAM THAM DIGIT ZERO
+0E50 ; [.1599.0020.0002.0E50][.0000.017A.0002.0E50] # THAI DIGIT ZERO
+0ED0 ; [.1599.0020.0002.0ED0][.0000.017B.0002.0ED0] # LAO DIGIT ZERO
+0F20 ; [.1599.0020.0002.0F20][.0000.017C.0002.0F20] # TIBETAN DIGIT ZERO
+0F33 ; [.1599.0020.0004.0F33][.0000.017C.0004.0F33] # TIBETAN DIGIT HALF ZERO; QQK
+1C40 ; [.1599.0020.0002.1C40][.0000.017D.0002.1C40] # LEPCHA DIGIT ZERO
+A900 ; [.1599.0020.0002.A900][.0000.017E.0002.A900] # KAYAH LI DIGIT ZERO
+1040 ; [.1599.0020.0002.1040][.0000.017F.0002.1040] # MYANMAR DIGIT ZERO
+1090 ; [.1599.0020.0002.1090][.0000.0180.0002.1090] # MYANMAR SHAN DIGIT ZERO
+17E0 ; [.1599.0020.0002.17E0][.0000.0181.0002.17E0] # KHMER DIGIT ZERO
+17F0 ; [.1599.0020.0002.17F0][.0000.0182.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
+AA50 ; [.1599.0020.0002.AA50][.0000.0183.0002.AA50] # CHAM DIGIT ZERO
+1B50 ; [.1599.0020.0002.1B50][.0000.0184.0002.1B50] # BALINESE DIGIT ZERO
+A9D0 ; [.1599.0020.0002.A9D0][.0000.0185.0002.A9D0] # JAVANESE DIGIT ZERO
+1BB0 ; [.1599.0020.0002.1BB0][.0000.0186.0002.1BB0] # SUNDANESE DIGIT ZERO
+1810 ; [.1599.0020.0002.1810][.0000.0187.0002.1810] # MONGOLIAN DIGIT ZERO
+1C50 ; [.1599.0020.0002.1C50][.0000.0188.0002.1C50] # OL CHIKI DIGIT ZERO
+A620 ; [.1599.0020.0002.A620][.0000.0189.0002.A620] # VAI DIGIT ZERO
+3007 ; [.1599.0020.0002.3007][.0000.018A.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+1018A ; [.1599.0020.0002.1018A][.0000.018C.0002.1018A] # GREEK ZERO SIGN
+11066 ; [.1599.0020.0002.11066][.0000.0196.0002.11066] # BRAHMI DIGIT ZERO
+2189 ; [.1599.0020.001E.2189][*036C.0020.001E.2189][.159C.0020.001F.2189] # VULGAR FRACTION ZERO THIRDS; QQKN
+3358 ; [.1599.0020.0004.3358][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO; QQKN
+0031 ; [.159A.0020.0002.0031] # DIGIT ONE
+FF11 ; [.159A.0020.0003.FF11] # FULLWIDTH DIGIT ONE; QQK
+2474 ; [*030E.0020.0004.2474][.159A.0020.0004.2474][*030F.0020.001F.2474] # PARENTHESIZED DIGIT ONE; QQKN
+2488 ; [.159A.0020.0004.2488][*028E.0020.0004.2488] # DIGIT ONE FULL STOP; QQKN
+1F102 ; [.159A.0020.0004.1F102][*0241.0020.0004.1F102] # DIGIT ONE COMMA; QQKN
+1D7CF ; [.159A.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE; QQK
+1D7D9 ; [.159A.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE; QQK
+1D7E3 ; [.159A.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE; QQK
+1D7ED ; [.159A.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE; QQK
+1D7F7 ; [.159A.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE; QQK
+2460 ; [.159A.0020.0006.2460] # CIRCLED DIGIT ONE; QQK
+24F5 ; [.159A.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE; QQK
+2776 ; [.159A.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE; QQK
+2780 ; [.159A.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE; QQK
+278A ; [.159A.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE; QQK
+00B9 ; [.159A.0020.0014.00B9] # SUPERSCRIPT ONE; QQK
+2081 ; [.159A.0020.0015.2081] # SUBSCRIPT ONE; QQK
+215F ; [.159A.0020.001E.215F][*036C.0020.001E.215F] # FRACTION NUMERATOR ONE; QQKN
+0661 ; [.159A.0020.0002.0661][.0000.0165.0002.0661] # ARABIC-INDIC DIGIT ONE
+06F1 ; [.159A.0020.0002.06F1][.0000.0166.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
+10E60 ; [.159A.0020.0002.10E60][.0000.0167.0002.10E60] # RUMI DIGIT ONE
+07C1 ; [.159A.0020.0002.07C1][.0000.0168.0002.07C1] # NKO DIGIT ONE
+1369 ; [.159A.0020.0002.1369][.0000.0169.0002.1369] # ETHIOPIC DIGIT ONE
+104A1 ; [.159A.0020.0002.104A1][.0000.016A.0002.104A1] # OSMANYA DIGIT ONE
+0967 ; [.159A.0020.0002.0967][.0000.016B.0002.0967] # DEVANAGARI DIGIT ONE
+09E7 ; [.159A.0020.0002.09E7][.0000.016C.0002.09E7] # BENGALI DIGIT ONE
+0A67 ; [.159A.0020.0002.0A67][.0000.016D.0002.0A67] # GURMUKHI DIGIT ONE
+0AE7 ; [.159A.0020.0002.0AE7][.0000.016E.0002.0AE7] # GUJARATI DIGIT ONE
+0B67 ; [.159A.0020.0002.0B67][.0000.016F.0002.0B67] # ORIYA DIGIT ONE
+0BE7 ; [.159A.0020.0002.0BE7][.0000.0170.0002.0BE7] # TAMIL DIGIT ONE
+0C67 ; [.159A.0020.0002.0C67][.0000.0171.0002.0C67] # TELUGU DIGIT ONE
+0C79 ; [.159A.0020.0002.0C79][.0000.0171.0002.0C79] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
+0C7C ; [.159A.0020.0002.0C7C][.0000.0171.0002.0C7C] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
+0CE7 ; [.159A.0020.0002.0CE7][.0000.0172.0002.0CE7] # KANNADA DIGIT ONE
+0D67 ; [.159A.0020.0002.0D67][.0000.0173.0002.0D67] # MALAYALAM DIGIT ONE
+ABF1 ; [.159A.0020.0002.ABF1][.0000.0174.0002.ABF1] # MEETEI MAYEK DIGIT ONE
+A8D1 ; [.159A.0020.0002.A8D1][.0000.0175.0002.A8D1] # SAURASHTRA DIGIT ONE
+1947 ; [.159A.0020.0002.1947][.0000.0176.0002.1947] # LIMBU DIGIT ONE
+19D1 ; [.159A.0020.0002.19D1][.0000.0177.0002.19D1] # NEW TAI LUE DIGIT ONE
+19DA ; [.159A.0020.0002.19DA][.0000.0177.0002.19DA] # NEW TAI LUE THAM DIGIT ONE
+1A81 ; [.159A.0020.0002.1A81][.0000.0178.0002.1A81] # TAI THAM HORA DIGIT ONE
+1A91 ; [.159A.0020.0002.1A91][.0000.0179.0002.1A91] # TAI THAM THAM DIGIT ONE
+0E51 ; [.159A.0020.0002.0E51][.0000.017A.0002.0E51] # THAI DIGIT ONE
+0ED1 ; [.159A.0020.0002.0ED1][.0000.017B.0002.0ED1] # LAO DIGIT ONE
+0F21 ; [.159A.0020.0002.0F21][.0000.017C.0002.0F21] # TIBETAN DIGIT ONE
+0F2A ; [.159A.0020.0004.0F2A][.0000.017C.0004.0F2A] # TIBETAN DIGIT HALF ONE; QQK
+1C41 ; [.159A.0020.0002.1C41][.0000.017D.0002.1C41] # LEPCHA DIGIT ONE
+A901 ; [.159A.0020.0002.A901][.0000.017E.0002.A901] # KAYAH LI DIGIT ONE
+1041 ; [.159A.0020.0002.1041][.0000.017F.0002.1041] # MYANMAR DIGIT ONE
+1091 ; [.159A.0020.0002.1091][.0000.0180.0002.1091] # MYANMAR SHAN DIGIT ONE
+17E1 ; [.159A.0020.0002.17E1][.0000.0181.0002.17E1] # KHMER DIGIT ONE
+17F1 ; [.159A.0020.0002.17F1][.0000.0182.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
+AA51 ; [.159A.0020.0002.AA51][.0000.0183.0002.AA51] # CHAM DIGIT ONE
+1B51 ; [.159A.0020.0002.1B51][.0000.0184.0002.1B51] # BALINESE DIGIT ONE
+A9D1 ; [.159A.0020.0002.A9D1][.0000.0185.0002.A9D1] # JAVANESE DIGIT ONE
+1BB1 ; [.159A.0020.0002.1BB1][.0000.0186.0002.1BB1] # SUNDANESE DIGIT ONE
+1811 ; [.159A.0020.0002.1811][.0000.0187.0002.1811] # MONGOLIAN DIGIT ONE
+1C51 ; [.159A.0020.0002.1C51][.0000.0188.0002.1C51] # OL CHIKI DIGIT ONE
+A621 ; [.159A.0020.0002.A621][.0000.0189.0002.A621] # VAI DIGIT ONE
+3021 ; [.159A.0020.0002.3021][.0000.018A.0002.3021] # HANGZHOU NUMERAL ONE
+10107 ; [.159A.0020.0002.10107][.0000.018B.0002.10107] # AEGEAN NUMBER ONE
+10142 ; [.159A.0020.0002.10142][.0000.018C.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
+10158 ; [.159A.0020.0002.10158][.0000.018C.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
+10159 ; [.159A.0020.0002.10159][.0000.018C.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
+1015A ; [.159A.0020.0002.1015A][.0000.018C.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
+10320 ; [.159A.0020.0002.10320][.0000.018E.0002.10320] # OLD ITALIC NUMERAL ONE
+103D1 ; [.159A.0020.0002.103D1][.0000.018F.0002.103D1] # OLD PERSIAN NUMBER ONE
+12415 ; [.159A.0020.0002.12415][.0000.0190.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
+1241E ; [.159A.0020.0002.1241E][.0000.0190.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
+1242C ; [.159A.0020.0002.1242C][.0000.0190.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
+12434 ; [.159A.0020.0002.12434][.0000.0190.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
+1244F ; [.159A.0020.0002.1244F][.0000.0190.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
+12458 ; [.159A.0020.0002.12458][.0000.0190.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
+10A7D ; [.159A.0020.0002.10A7D][.0000.0191.0002.10A7D] # OLD SOUTH ARABIAN NUMBER ONE
+10916 ; [.159A.0020.0002.10916][.0000.0192.0002.10916] # PHOENICIAN NUMBER ONE
+10858 ; [.159A.0020.0002.10858][.0000.0193.0002.10858] # IMPERIAL ARAMAIC NUMBER ONE
+10B58 ; [.159A.0020.0002.10B58][.0000.0194.0002.10B58] # INSCRIPTIONAL PARTHIAN NUMBER ONE
+10B78 ; [.159A.0020.0002.10B78][.0000.0195.0002.10B78] # INSCRIPTIONAL PAHLAVI NUMBER ONE
+11067 ; [.159A.0020.0002.11067][.0000.0196.0002.11067] # BRAHMI DIGIT ONE
+11052 ; [.159A.0020.0002.11052][.0000.0197.0002.11052] # BRAHMI NUMBER ONE
+10A40 ; [.159A.0020.0002.10A40][.0000.0198.0002.10A40] # KHAROSHTHI DIGIT ONE
+1D360 ; [.159A.0020.0002.1D360][.0000.0199.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
+2491 ; [.159A.0020.0004.2491][.1599.0020.0004.2491][*028E.0020.001F.2491] # NUMBER TEN FULL STOP; QQKN
+247D ; [*030E.0020.0004.247D][.159A.0020.0004.247D][.1599.0020.001F.247D][*030F.0020.001F.247D] # PARENTHESIZED NUMBER TEN; QQKN
+2469 ; [.159A.0020.0006.2469][.1599.0020.0006.2469] # CIRCLED NUMBER TEN; QQKN
+24FE ; [.159A.0020.0006.24FE][.1599.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN; QQKN
+277F ; [.159A.0020.0006.277F][.1599.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN; QQKN
+2789 ; [.159A.0020.0006.2789][.1599.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN; QQKN
+2793 ; [.159A.0020.0006.2793][.1599.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN; QQKN
+3248 ; [.159A.0020.0006.3248][.1599.0020.0006.3248] # CIRCLED NUMBER TEN ON BLACK SQUARE; QQKN
+33E9 ; [.159A.0020.0004.33E9][.1599.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN; QQKN
+32C9 ; [.159A.0020.0004.32C9][.1599.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER; QQKN
+3362 ; [.159A.0020.0004.3362][.1599.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN; QQKN
+2492 ; [.159A.0020.0004.2492][.159A.0020.0004.2492][*028E.0020.001F.2492] # NUMBER ELEVEN FULL STOP; QQKN
+247E ; [*030E.0020.0004.247E][.159A.0020.0004.247E][.159A.0020.001F.247E][*030F.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN; QQKN
+246A ; [.159A.0020.0006.246A][.159A.0020.0006.246A] # CIRCLED NUMBER ELEVEN; QQKN
+24EB ; [.159A.0020.0006.24EB][.159A.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN; QQKN
+2152 ; [.159A.0020.001E.2152][*036C.0020.001E.2152][.159A.0020.001F.2152][.1599.0020.001F.2152] # VULGAR FRACTION ONE TENTH; QQKN
+33EA ; [.159A.0020.0004.33EA][.159A.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN; QQKN
+32CA ; [.159A.0020.0004.32CA][.159A.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER; QQKN
+3363 ; [.159A.0020.0004.3363][.159A.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN; QQKN
+2493 ; [.159A.0020.0004.2493][.159B.0020.0004.2493][*028E.0020.001F.2493] # NUMBER TWELVE FULL STOP; QQKN
+247F ; [*030E.0020.0004.247F][.159A.0020.0004.247F][.159B.0020.001F.247F][*030F.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE; QQKN
+246B ; [.159A.0020.0006.246B][.159B.0020.0006.246B] # CIRCLED NUMBER TWELVE; QQKN
+24EC ; [.159A.0020.0006.24EC][.159B.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE; QQKN
+00BD ; [.159A.0020.001E.00BD][*036C.0020.001E.00BD][.159B.0020.001F.00BD] # VULGAR FRACTION ONE HALF; QQKN
+33EB ; [.159A.0020.0004.33EB][.159B.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE; QQKN
+32CB ; [.159A.0020.0004.32CB][.159B.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER; QQKN
+3364 ; [.159A.0020.0004.3364][.159B.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE; QQKN
+2494 ; [.159A.0020.0004.2494][.159C.0020.0004.2494][*028E.0020.001F.2494] # NUMBER THIRTEEN FULL STOP; QQKN
+2480 ; [*030E.0020.0004.2480][.159A.0020.0004.2480][.159C.0020.001F.2480][*030F.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN; QQKN
+246C ; [.159A.0020.0006.246C][.159C.0020.0006.246C] # CIRCLED NUMBER THIRTEEN; QQKN
+24ED ; [.159A.0020.0006.24ED][.159C.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN; QQKN
+2153 ; [.159A.0020.001E.2153][*036C.0020.001E.2153][.159C.0020.001F.2153] # VULGAR FRACTION ONE THIRD; QQKN
+33EC ; [.159A.0020.0004.33EC][.159C.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN; QQKN
+3365 ; [.159A.0020.0004.3365][.159C.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN; QQKN
+2495 ; [.159A.0020.0004.2495][.159D.0020.0004.2495][*028E.0020.001F.2495] # NUMBER FOURTEEN FULL STOP; QQKN
+2481 ; [*030E.0020.0004.2481][.159A.0020.0004.2481][.159D.0020.001F.2481][*030F.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN; QQKN
+246D ; [.159A.0020.0006.246D][.159D.0020.0006.246D] # CIRCLED NUMBER FOURTEEN; QQKN
+24EE ; [.159A.0020.0006.24EE][.159D.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN; QQKN
+00BC ; [.159A.0020.001E.00BC][*036C.0020.001E.00BC][.159D.0020.001F.00BC] # VULGAR FRACTION ONE QUARTER; QQKN
+33ED ; [.159A.0020.0004.33ED][.159D.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN; QQKN
+3366 ; [.159A.0020.0004.3366][.159D.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN; QQKN
+2496 ; [.159A.0020.0004.2496][.159E.0020.0004.2496][*028E.0020.001F.2496] # NUMBER FIFTEEN FULL STOP; QQKN
+2482 ; [*030E.0020.0004.2482][.159A.0020.0004.2482][.159E.0020.001F.2482][*030F.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN; QQKN
+246E ; [.159A.0020.0006.246E][.159E.0020.0006.246E] # CIRCLED NUMBER FIFTEEN; QQKN
+24EF ; [.159A.0020.0006.24EF][.159E.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN; QQKN
+2155 ; [.159A.0020.001E.2155][*036C.0020.001E.2155][.159E.0020.001F.2155] # VULGAR FRACTION ONE FIFTH; QQKN
+33EE ; [.159A.0020.0004.33EE][.159E.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN; QQKN
+3367 ; [.159A.0020.0004.3367][.159E.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN; QQKN
+2497 ; [.159A.0020.0004.2497][.159F.0020.0004.2497][*028E.0020.001F.2497] # NUMBER SIXTEEN FULL STOP; QQKN
+2483 ; [*030E.0020.0004.2483][.159A.0020.0004.2483][.159F.0020.001F.2483][*030F.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN; QQKN
+246F ; [.159A.0020.0006.246F][.159F.0020.0006.246F] # CIRCLED NUMBER SIXTEEN; QQKN
+24F0 ; [.159A.0020.0006.24F0][.159F.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN; QQKN
+2159 ; [.159A.0020.001E.2159][*036C.0020.001E.2159][.159F.0020.001F.2159] # VULGAR FRACTION ONE SIXTH; QQKN
+33EF ; [.159A.0020.0004.33EF][.159F.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN; QQKN
+3368 ; [.159A.0020.0004.3368][.159F.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN; QQKN
+2498 ; [.159A.0020.0004.2498][.15A0.0020.0004.2498][*028E.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP; QQKN
+2484 ; [*030E.0020.0004.2484][.159A.0020.0004.2484][.15A0.0020.001F.2484][*030F.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN; QQKN
+2470 ; [.159A.0020.0006.2470][.15A0.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN; QQKN
+24F1 ; [.159A.0020.0006.24F1][.15A0.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN; QQKN
+2150 ; [.159A.0020.001E.2150][*036C.0020.001E.2150][.15A0.0020.001F.2150] # VULGAR FRACTION ONE SEVENTH; QQKN
+33F0 ; [.159A.0020.0004.33F0][.15A0.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN; QQKN
+3369 ; [.159A.0020.0004.3369][.15A0.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN; QQKN
+2499 ; [.159A.0020.0004.2499][.15A1.0020.0004.2499][*028E.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP; QQKN
+2485 ; [*030E.0020.0004.2485][.159A.0020.0004.2485][.15A1.0020.001F.2485][*030F.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN; QQKN
+2471 ; [.159A.0020.0006.2471][.15A1.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN; QQKN
+24F2 ; [.159A.0020.0006.24F2][.15A1.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN; QQKN
+215B ; [.159A.0020.001E.215B][*036C.0020.001E.215B][.15A1.0020.001F.215B] # VULGAR FRACTION ONE EIGHTH; QQKN
+33F1 ; [.159A.0020.0004.33F1][.15A1.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN; QQKN
+336A ; [.159A.0020.0004.336A][.15A1.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN; QQKN
+249A ; [.159A.0020.0004.249A][.15A2.0020.0004.249A][*028E.0020.001F.249A] # NUMBER NINETEEN FULL STOP; QQKN
+2486 ; [*030E.0020.0004.2486][.159A.0020.0004.2486][.15A2.0020.001F.2486][*030F.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN; QQKN
+2472 ; [.159A.0020.0006.2472][.15A2.0020.0006.2472] # CIRCLED NUMBER NINETEEN; QQKN
+24F3 ; [.159A.0020.0006.24F3][.15A2.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN; QQKN
+2151 ; [.159A.0020.001E.2151][*036C.0020.001E.2151][.15A2.0020.001F.2151] # VULGAR FRACTION ONE NINTH; QQKN
+33F2 ; [.159A.0020.0004.33F2][.15A2.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN; QQKN
+336B ; [.159A.0020.0004.336B][.15A2.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN; QQKN
+33E0 ; [.159A.0020.0004.33E0][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE; QQKN
+32C0 ; [.159A.0020.0004.32C0][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY; QQKN
+3359 ; [.159A.0020.0004.3359][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE; QQKN
+0032 ; [.159B.0020.0002.0032] # DIGIT TWO
+FF12 ; [.159B.0020.0003.FF12] # FULLWIDTH DIGIT TWO; QQK
+2475 ; [*030E.0020.0004.2475][.159B.0020.0004.2475][*030F.0020.001F.2475] # PARENTHESIZED DIGIT TWO; QQKN
+2489 ; [.159B.0020.0004.2489][*028E.0020.0004.2489] # DIGIT TWO FULL STOP; QQKN
+1F103 ; [.159B.0020.0004.1F103][*0241.0020.0004.1F103] # DIGIT TWO COMMA; QQKN
+1D7D0 ; [.159B.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO; QQK
+1D7DA ; [.159B.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO; QQK
+1D7E4 ; [.159B.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO; QQK
+1D7EE ; [.159B.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO; QQK
+1D7F8 ; [.159B.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO; QQK
+2461 ; [.159B.0020.0006.2461] # CIRCLED DIGIT TWO; QQK
+24F6 ; [.159B.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO; QQK
+2777 ; [.159B.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO; QQK
+2781 ; [.159B.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO; QQK
+278B ; [.159B.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO; QQK
+00B2 ; [.159B.0020.0014.00B2] # SUPERSCRIPT TWO; QQK
+2082 ; [.159B.0020.0015.2082] # SUBSCRIPT TWO; QQK
+0662 ; [.159B.0020.0002.0662][.0000.0165.0002.0662] # ARABIC-INDIC DIGIT TWO
+06F2 ; [.159B.0020.0002.06F2][.0000.0166.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
+10E61 ; [.159B.0020.0002.10E61][.0000.0167.0002.10E61] # RUMI DIGIT TWO
+07C2 ; [.159B.0020.0002.07C2][.0000.0168.0002.07C2] # NKO DIGIT TWO
+136A ; [.159B.0020.0002.136A][.0000.0169.0002.136A] # ETHIOPIC DIGIT TWO
+104A2 ; [.159B.0020.0002.104A2][.0000.016A.0002.104A2] # OSMANYA DIGIT TWO
+0968 ; [.159B.0020.0002.0968][.0000.016B.0002.0968] # DEVANAGARI DIGIT TWO
+09E8 ; [.159B.0020.0002.09E8][.0000.016C.0002.09E8] # BENGALI DIGIT TWO
+0A68 ; [.159B.0020.0002.0A68][.0000.016D.0002.0A68] # GURMUKHI DIGIT TWO
+0AE8 ; [.159B.0020.0002.0AE8][.0000.016E.0002.0AE8] # GUJARATI DIGIT TWO
+0B68 ; [.159B.0020.0002.0B68][.0000.016F.0002.0B68] # ORIYA DIGIT TWO
+0BE8 ; [.159B.0020.0002.0BE8][.0000.0170.0002.0BE8] # TAMIL DIGIT TWO
+0C68 ; [.159B.0020.0002.0C68][.0000.0171.0002.0C68] # TELUGU DIGIT TWO
+0C7A ; [.159B.0020.0002.0C7A][.0000.0171.0002.0C7A] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
+0C7D ; [.159B.0020.0002.0C7D][.0000.0171.0002.0C7D] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
+0CE8 ; [.159B.0020.0002.0CE8][.0000.0172.0002.0CE8] # KANNADA DIGIT TWO
+0D68 ; [.159B.0020.0002.0D68][.0000.0173.0002.0D68] # MALAYALAM DIGIT TWO
+ABF2 ; [.159B.0020.0002.ABF2][.0000.0174.0002.ABF2] # MEETEI MAYEK DIGIT TWO
+A8D2 ; [.159B.0020.0002.A8D2][.0000.0175.0002.A8D2] # SAURASHTRA DIGIT TWO
+1948 ; [.159B.0020.0002.1948][.0000.0176.0002.1948] # LIMBU DIGIT TWO
+19D2 ; [.159B.0020.0002.19D2][.0000.0177.0002.19D2] # NEW TAI LUE DIGIT TWO
+1A82 ; [.159B.0020.0002.1A82][.0000.0178.0002.1A82] # TAI THAM HORA DIGIT TWO
+1A92 ; [.159B.0020.0002.1A92][.0000.0179.0002.1A92] # TAI THAM THAM DIGIT TWO
+0E52 ; [.159B.0020.0002.0E52][.0000.017A.0002.0E52] # THAI DIGIT TWO
+0ED2 ; [.159B.0020.0002.0ED2][.0000.017B.0002.0ED2] # LAO DIGIT TWO
+0F22 ; [.159B.0020.0002.0F22][.0000.017C.0002.0F22] # TIBETAN DIGIT TWO
+0F2B ; [.159B.0020.0004.0F2B][.0000.017C.0004.0F2B] # TIBETAN DIGIT HALF TWO; QQK
+1C42 ; [.159B.0020.0002.1C42][.0000.017D.0002.1C42] # LEPCHA DIGIT TWO
+A902 ; [.159B.0020.0002.A902][.0000.017E.0002.A902] # KAYAH LI DIGIT TWO
+1042 ; [.159B.0020.0002.1042][.0000.017F.0002.1042] # MYANMAR DIGIT TWO
+1092 ; [.159B.0020.0002.1092][.0000.0180.0002.1092] # MYANMAR SHAN DIGIT TWO
+17E2 ; [.159B.0020.0002.17E2][.0000.0181.0002.17E2] # KHMER DIGIT TWO
+17F2 ; [.159B.0020.0002.17F2][.0000.0182.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
+AA52 ; [.159B.0020.0002.AA52][.0000.0183.0002.AA52] # CHAM DIGIT TWO
+1B52 ; [.159B.0020.0002.1B52][.0000.0184.0002.1B52] # BALINESE DIGIT TWO
+A9D2 ; [.159B.0020.0002.A9D2][.0000.0185.0002.A9D2] # JAVANESE DIGIT TWO
+1BB2 ; [.159B.0020.0002.1BB2][.0000.0186.0002.1BB2] # SUNDANESE DIGIT TWO
+1812 ; [.159B.0020.0002.1812][.0000.0187.0002.1812] # MONGOLIAN DIGIT TWO
+1C52 ; [.159B.0020.0002.1C52][.0000.0188.0002.1C52] # OL CHIKI DIGIT TWO
+A622 ; [.159B.0020.0002.A622][.0000.0189.0002.A622] # VAI DIGIT TWO
+3022 ; [.159B.0020.0002.3022][.0000.018A.0002.3022] # HANGZHOU NUMERAL TWO
+10108 ; [.159B.0020.0002.10108][.0000.018B.0002.10108] # AEGEAN NUMBER TWO
+1015B ; [.159B.0020.0002.1015B][.0000.018C.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
+1015C ; [.159B.0020.0002.1015C][.0000.018C.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
+1015D ; [.159B.0020.0002.1015D][.0000.018C.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
+1015E ; [.159B.0020.0002.1015E][.0000.018C.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
+103D2 ; [.159B.0020.0002.103D2][.0000.018F.0002.103D2] # OLD PERSIAN NUMBER TWO
+12400 ; [.159B.0020.0002.12400][.0000.0190.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
+12416 ; [.159B.0020.0002.12416][.0000.0190.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
+1241F ; [.159B.0020.0002.1241F][.0000.0190.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
+12423 ; [.159B.0020.0002.12423][.0000.0190.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
+1242D ; [.159B.0020.0002.1242D][.0000.0190.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
+12435 ; [.159B.0020.0002.12435][.0000.0190.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
+1244A ; [.159B.0020.0002.1244A][.0000.0190.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
+12450 ; [.159B.0020.0002.12450][.0000.0190.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
+12459 ; [.159B.0020.0002.12459][.0000.0190.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
+1091A ; [.159B.0020.0002.1091A][.0000.0192.0002.1091A] # PHOENICIAN NUMBER TWO
+10859 ; [.159B.0020.0002.10859][.0000.0193.0002.10859] # IMPERIAL ARAMAIC NUMBER TWO
+10B59 ; [.159B.0020.0002.10B59][.0000.0194.0002.10B59] # INSCRIPTIONAL PARTHIAN NUMBER TWO
+10B79 ; [.159B.0020.0002.10B79][.0000.0195.0002.10B79] # INSCRIPTIONAL PAHLAVI NUMBER TWO
+11068 ; [.159B.0020.0002.11068][.0000.0196.0002.11068] # BRAHMI DIGIT TWO
+11053 ; [.159B.0020.0002.11053][.0000.0197.0002.11053] # BRAHMI NUMBER TWO
+10A41 ; [.159B.0020.0002.10A41][.0000.0198.0002.10A41] # KHAROSHTHI DIGIT TWO
+1D361 ; [.159B.0020.0002.1D361][.0000.0199.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
+249B ; [.159B.0020.0004.249B][.1599.0020.0004.249B][*028E.0020.001F.249B] # NUMBER TWENTY FULL STOP; QQKN
+2487 ; [*030E.0020.0004.2487][.159B.0020.0004.2487][.1599.0020.001F.2487][*030F.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY; QQKN
+2473 ; [.159B.0020.0006.2473][.1599.0020.0006.2473] # CIRCLED NUMBER TWENTY; QQKN
+24F4 ; [.159B.0020.0006.24F4][.1599.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY; QQKN
+3249 ; [.159B.0020.0006.3249][.1599.0020.0006.3249] # CIRCLED NUMBER TWENTY ON BLACK SQUARE; QQKN
+33F3 ; [.159B.0020.0004.33F3][.1599.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY; QQKN
+336C ; [.159B.0020.0004.336C][.1599.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY; QQKN
+3251 ; [.159B.0020.0006.3251][.159A.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE; QQKN
+33F4 ; [.159B.0020.0004.33F4][.159A.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE; QQKN
+336D ; [.159B.0020.0004.336D][.159A.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE; QQKN
+3252 ; [.159B.0020.0006.3252][.159B.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO; QQKN
+33F5 ; [.159B.0020.0004.33F5][.159B.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO; QQKN
+336E ; [.159B.0020.0004.336E][.159B.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO; QQKN
+3253 ; [.159B.0020.0006.3253][.159C.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE; QQKN
+2154 ; [.159B.0020.001E.2154][*036C.0020.001E.2154][.159C.0020.001F.2154] # VULGAR FRACTION TWO THIRDS; QQKN
+33F6 ; [.159B.0020.0004.33F6][.159C.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE; QQKN
+336F ; [.159B.0020.0004.336F][.159C.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE; QQKN
+3254 ; [.159B.0020.0006.3254][.159D.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR; QQKN
+33F7 ; [.159B.0020.0004.33F7][.159D.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR; QQKN
+3370 ; [.159B.0020.0004.3370][.159D.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR; QQKN
+3255 ; [.159B.0020.0006.3255][.159E.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE; QQKN
+2156 ; [.159B.0020.001E.2156][*036C.0020.001E.2156][.159E.0020.001F.2156] # VULGAR FRACTION TWO FIFTHS; QQKN
+33F8 ; [.159B.0020.0004.33F8][.159E.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE; QQKN
+3256 ; [.159B.0020.0006.3256][.159F.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX; QQKN
+33F9 ; [.159B.0020.0004.33F9][.159F.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX; QQKN
+3257 ; [.159B.0020.0006.3257][.15A0.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN; QQKN
+33FA ; [.159B.0020.0004.33FA][.15A0.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN; QQKN
+3258 ; [.159B.0020.0006.3258][.15A1.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT; QQKN
+33FB ; [.159B.0020.0004.33FB][.15A1.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT; QQKN
+3259 ; [.159B.0020.0006.3259][.15A2.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE; QQKN
+33FC ; [.159B.0020.0004.33FC][.15A2.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE; QQKN
+33E1 ; [.159B.0020.0004.33E1][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO; QQKN
+32C1 ; [.159B.0020.0004.32C1][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY; QQKN
+335A ; [.159B.0020.0004.335A][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO; QQKN
+0033 ; [.159C.0020.0002.0033] # DIGIT THREE
+FF13 ; [.159C.0020.0003.FF13] # FULLWIDTH DIGIT THREE; QQK
+2476 ; [*030E.0020.0004.2476][.159C.0020.0004.2476][*030F.0020.001F.2476] # PARENTHESIZED DIGIT THREE; QQKN
+248A ; [.159C.0020.0004.248A][*028E.0020.0004.248A] # DIGIT THREE FULL STOP; QQKN
+1F104 ; [.159C.0020.0004.1F104][*0241.0020.0004.1F104] # DIGIT THREE COMMA; QQKN
+1D7D1 ; [.159C.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE; QQK
+1D7DB ; [.159C.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE; QQK
+1D7E5 ; [.159C.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE; QQK
+1D7EF ; [.159C.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE; QQK
+1D7F9 ; [.159C.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE; QQK
+2462 ; [.159C.0020.0006.2462] # CIRCLED DIGIT THREE; QQK
+24F7 ; [.159C.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE; QQK
+2778 ; [.159C.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE; QQK
+2782 ; [.159C.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE; QQK
+278C ; [.159C.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE; QQK
+00B3 ; [.159C.0020.0014.00B3] # SUPERSCRIPT THREE; QQK
+2083 ; [.159C.0020.0015.2083] # SUBSCRIPT THREE; QQK
+0663 ; [.159C.0020.0002.0663][.0000.0165.0002.0663] # ARABIC-INDIC DIGIT THREE
+06F3 ; [.159C.0020.0002.06F3][.0000.0166.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
+10E62 ; [.159C.0020.0002.10E62][.0000.0167.0002.10E62] # RUMI DIGIT THREE
+07C3 ; [.159C.0020.0002.07C3][.0000.0168.0002.07C3] # NKO DIGIT THREE
+136B ; [.159C.0020.0002.136B][.0000.0169.0002.136B] # ETHIOPIC DIGIT THREE
+104A3 ; [.159C.0020.0002.104A3][.0000.016A.0002.104A3] # OSMANYA DIGIT THREE
+0969 ; [.159C.0020.0002.0969][.0000.016B.0002.0969] # DEVANAGARI DIGIT THREE
+09E9 ; [.159C.0020.0002.09E9][.0000.016C.0002.09E9] # BENGALI DIGIT THREE
+0A69 ; [.159C.0020.0002.0A69][.0000.016D.0002.0A69] # GURMUKHI DIGIT THREE
+0AE9 ; [.159C.0020.0002.0AE9][.0000.016E.0002.0AE9] # GUJARATI DIGIT THREE
+0B69 ; [.159C.0020.0002.0B69][.0000.016F.0002.0B69] # ORIYA DIGIT THREE
+0BE9 ; [.159C.0020.0002.0BE9][.0000.0170.0002.0BE9] # TAMIL DIGIT THREE
+0C69 ; [.159C.0020.0002.0C69][.0000.0171.0002.0C69] # TELUGU DIGIT THREE
+0C7B ; [.159C.0020.0002.0C7B][.0000.0171.0002.0C7B] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
+0C7E ; [.159C.0020.0002.0C7E][.0000.0171.0002.0C7E] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+0CE9 ; [.159C.0020.0002.0CE9][.0000.0172.0002.0CE9] # KANNADA DIGIT THREE
+0D69 ; [.159C.0020.0002.0D69][.0000.0173.0002.0D69] # MALAYALAM DIGIT THREE
+ABF3 ; [.159C.0020.0002.ABF3][.0000.0174.0002.ABF3] # MEETEI MAYEK DIGIT THREE
+A8D3 ; [.159C.0020.0002.A8D3][.0000.0175.0002.A8D3] # SAURASHTRA DIGIT THREE
+1949 ; [.159C.0020.0002.1949][.0000.0176.0002.1949] # LIMBU DIGIT THREE
+19D3 ; [.159C.0020.0002.19D3][.0000.0177.0002.19D3] # NEW TAI LUE DIGIT THREE
+1A83 ; [.159C.0020.0002.1A83][.0000.0178.0002.1A83] # TAI THAM HORA DIGIT THREE
+1A93 ; [.159C.0020.0002.1A93][.0000.0179.0002.1A93] # TAI THAM THAM DIGIT THREE
+0E53 ; [.159C.0020.0002.0E53][.0000.017A.0002.0E53] # THAI DIGIT THREE
+0ED3 ; [.159C.0020.0002.0ED3][.0000.017B.0002.0ED3] # LAO DIGIT THREE
+0F23 ; [.159C.0020.0002.0F23][.0000.017C.0002.0F23] # TIBETAN DIGIT THREE
+0F2C ; [.159C.0020.0004.0F2C][.0000.017C.0004.0F2C] # TIBETAN DIGIT HALF THREE; QQK
+1C43 ; [.159C.0020.0002.1C43][.0000.017D.0002.1C43] # LEPCHA DIGIT THREE
+A903 ; [.159C.0020.0002.A903][.0000.017E.0002.A903] # KAYAH LI DIGIT THREE
+1043 ; [.159C.0020.0002.1043][.0000.017F.0002.1043] # MYANMAR DIGIT THREE
+1093 ; [.159C.0020.0002.1093][.0000.0180.0002.1093] # MYANMAR SHAN DIGIT THREE
+17E3 ; [.159C.0020.0002.17E3][.0000.0181.0002.17E3] # KHMER DIGIT THREE
+17F3 ; [.159C.0020.0002.17F3][.0000.0182.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
+AA53 ; [.159C.0020.0002.AA53][.0000.0183.0002.AA53] # CHAM DIGIT THREE
+1B53 ; [.159C.0020.0002.1B53][.0000.0184.0002.1B53] # BALINESE DIGIT THREE
+A9D3 ; [.159C.0020.0002.A9D3][.0000.0185.0002.A9D3] # JAVANESE DIGIT THREE
+1BB3 ; [.159C.0020.0002.1BB3][.0000.0186.0002.1BB3] # SUNDANESE DIGIT THREE
+1813 ; [.159C.0020.0002.1813][.0000.0187.0002.1813] # MONGOLIAN DIGIT THREE
+1C53 ; [.159C.0020.0002.1C53][.0000.0188.0002.1C53] # OL CHIKI DIGIT THREE
+A623 ; [.159C.0020.0002.A623][.0000.0189.0002.A623] # VAI DIGIT THREE
+3023 ; [.159C.0020.0002.3023][.0000.018A.0002.3023] # HANGZHOU NUMERAL THREE
+10109 ; [.159C.0020.0002.10109][.0000.018B.0002.10109] # AEGEAN NUMBER THREE
+12401 ; [.159C.0020.0002.12401][.0000.0190.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
+12408 ; [.159C.0020.0002.12408][.0000.0190.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
+12417 ; [.159C.0020.0002.12417][.0000.0190.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
+12420 ; [.159C.0020.0002.12420][.0000.0190.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
+12424 ; [.159C.0020.0002.12424][.0000.0190.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
+12425 ; [.159C.0020.0002.12425][.0000.0190.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
+1242E ; [.159C.0020.0002.1242E][.0000.0190.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
+1242F ; [.159C.0020.0002.1242F][.0000.0190.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
+12436 ; [.159C.0020.0002.12436][.0000.0190.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
+12437 ; [.159C.0020.0002.12437][.0000.0190.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
+1243A ; [.159C.0020.0002.1243A][.0000.0190.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
+1243B ; [.159C.0020.0002.1243B][.0000.0190.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
+1244B ; [.159C.0020.0002.1244B][.0000.0190.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
+12451 ; [.159C.0020.0002.12451][.0000.0190.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
+1091B ; [.159C.0020.0002.1091B][.0000.0192.0002.1091B] # PHOENICIAN NUMBER THREE
+1085A ; [.159C.0020.0002.1085A][.0000.0193.0002.1085A] # IMPERIAL ARAMAIC NUMBER THREE
+10B5A ; [.159C.0020.0002.10B5A][.0000.0194.0002.10B5A] # INSCRIPTIONAL PARTHIAN NUMBER THREE
+10B7A ; [.159C.0020.0002.10B7A][.0000.0195.0002.10B7A] # INSCRIPTIONAL PAHLAVI NUMBER THREE
+11069 ; [.159C.0020.0002.11069][.0000.0196.0002.11069] # BRAHMI DIGIT THREE
+11054 ; [.159C.0020.0002.11054][.0000.0197.0002.11054] # BRAHMI NUMBER THREE
+10A42 ; [.159C.0020.0002.10A42][.0000.0198.0002.10A42] # KHAROSHTHI DIGIT THREE
+1D362 ; [.159C.0020.0002.1D362][.0000.0199.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
+324A ; [.159C.0020.0006.324A][.1599.0020.0006.324A] # CIRCLED NUMBER THIRTY ON BLACK SQUARE; QQKN
+325A ; [.159C.0020.0006.325A][.1599.0020.0006.325A] # CIRCLED NUMBER THIRTY; QQKN
+33FD ; [.159C.0020.0004.33FD][.1599.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY; QQKN
+325B ; [.159C.0020.0006.325B][.159A.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE; QQKN
+33FE ; [.159C.0020.0004.33FE][.159A.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE; QQKN
+325C ; [.159C.0020.0006.325C][.159B.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO; QQKN
+325D ; [.159C.0020.0006.325D][.159C.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE; QQKN
+325E ; [.159C.0020.0006.325E][.159D.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR; QQKN
+00BE ; [.159C.0020.001E.00BE][*036C.0020.001E.00BE][.159D.0020.001F.00BE] # VULGAR FRACTION THREE QUARTERS; QQKN
+325F ; [.159C.0020.0006.325F][.159E.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE; QQKN
+2157 ; [.159C.0020.001E.2157][*036C.0020.001E.2157][.159E.0020.001F.2157] # VULGAR FRACTION THREE FIFTHS; QQKN
+32B1 ; [.159C.0020.0006.32B1][.159F.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX; QQKN
+32B2 ; [.159C.0020.0006.32B2][.15A0.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN; QQKN
+32B3 ; [.159C.0020.0006.32B3][.15A1.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT; QQKN
+215C ; [.159C.0020.001E.215C][*036C.0020.001E.215C][.15A1.0020.001F.215C] # VULGAR FRACTION THREE EIGHTHS; QQKN
+32B4 ; [.159C.0020.0006.32B4][.15A2.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE; QQKN
+33E2 ; [.159C.0020.0004.33E2][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE; QQKN
+32C2 ; [.159C.0020.0004.32C2][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH; QQKN
+335B ; [.159C.0020.0004.335B][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE; QQKN
+0034 ; [.159D.0020.0002.0034] # DIGIT FOUR
+FF14 ; [.159D.0020.0003.FF14] # FULLWIDTH DIGIT FOUR; QQK
+2477 ; [*030E.0020.0004.2477][.159D.0020.0004.2477][*030F.0020.001F.2477] # PARENTHESIZED DIGIT FOUR; QQKN
+248B ; [.159D.0020.0004.248B][*028E.0020.0004.248B] # DIGIT FOUR FULL STOP; QQKN
+1F105 ; [.159D.0020.0004.1F105][*0241.0020.0004.1F105] # DIGIT FOUR COMMA; QQKN
+1D7D2 ; [.159D.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR; QQK
+1D7DC ; [.159D.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR; QQK
+1D7E6 ; [.159D.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR; QQK
+1D7F0 ; [.159D.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR; QQK
+1D7FA ; [.159D.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR; QQK
+2463 ; [.159D.0020.0006.2463] # CIRCLED DIGIT FOUR; QQK
+24F8 ; [.159D.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR; QQK
+2779 ; [.159D.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR; QQK
+2783 ; [.159D.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR; QQK
+278D ; [.159D.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR; QQK
+2074 ; [.159D.0020.0014.2074] # SUPERSCRIPT FOUR; QQK
+2084 ; [.159D.0020.0015.2084] # SUBSCRIPT FOUR; QQK
+0664 ; [.159D.0020.0002.0664][.0000.0165.0002.0664] # ARABIC-INDIC DIGIT FOUR
+06F4 ; [.159D.0020.0002.06F4][.0000.0166.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
+10E63 ; [.159D.0020.0002.10E63][.0000.0167.0002.10E63] # RUMI DIGIT FOUR
+07C4 ; [.159D.0020.0002.07C4][.0000.0168.0002.07C4] # NKO DIGIT FOUR
+136C ; [.159D.0020.0002.136C][.0000.0169.0002.136C] # ETHIOPIC DIGIT FOUR
+104A4 ; [.159D.0020.0002.104A4][.0000.016A.0002.104A4] # OSMANYA DIGIT FOUR
+096A ; [.159D.0020.0002.096A][.0000.016B.0002.096A] # DEVANAGARI DIGIT FOUR
+09EA ; [.159D.0020.0002.09EA][.0000.016C.0002.09EA] # BENGALI DIGIT FOUR
+0A6A ; [.159D.0020.0002.0A6A][.0000.016D.0002.0A6A] # GURMUKHI DIGIT FOUR
+0AEA ; [.159D.0020.0002.0AEA][.0000.016E.0002.0AEA] # GUJARATI DIGIT FOUR
+0B6A ; [.159D.0020.0002.0B6A][.0000.016F.0002.0B6A] # ORIYA DIGIT FOUR
+0BEA ; [.159D.0020.0002.0BEA][.0000.0170.0002.0BEA] # TAMIL DIGIT FOUR
+0C6A ; [.159D.0020.0002.0C6A][.0000.0171.0002.0C6A] # TELUGU DIGIT FOUR
+0CEA ; [.159D.0020.0002.0CEA][.0000.0172.0002.0CEA] # KANNADA DIGIT FOUR
+0D6A ; [.159D.0020.0002.0D6A][.0000.0173.0002.0D6A] # MALAYALAM DIGIT FOUR
+ABF4 ; [.159D.0020.0002.ABF4][.0000.0174.0002.ABF4] # MEETEI MAYEK DIGIT FOUR
+A8D4 ; [.159D.0020.0002.A8D4][.0000.0175.0002.A8D4] # SAURASHTRA DIGIT FOUR
+194A ; [.159D.0020.0002.194A][.0000.0176.0002.194A] # LIMBU DIGIT FOUR
+19D4 ; [.159D.0020.0002.19D4][.0000.0177.0002.19D4] # NEW TAI LUE DIGIT FOUR
+1A84 ; [.159D.0020.0002.1A84][.0000.0178.0002.1A84] # TAI THAM HORA DIGIT FOUR
+1A94 ; [.159D.0020.0002.1A94][.0000.0179.0002.1A94] # TAI THAM THAM DIGIT FOUR
+0E54 ; [.159D.0020.0002.0E54][.0000.017A.0002.0E54] # THAI DIGIT FOUR
+0ED4 ; [.159D.0020.0002.0ED4][.0000.017B.0002.0ED4] # LAO DIGIT FOUR
+0F24 ; [.159D.0020.0002.0F24][.0000.017C.0002.0F24] # TIBETAN DIGIT FOUR
+0F2D ; [.159D.0020.0004.0F2D][.0000.017C.0004.0F2D] # TIBETAN DIGIT HALF FOUR; QQK
+1C44 ; [.159D.0020.0002.1C44][.0000.017D.0002.1C44] # LEPCHA DIGIT FOUR
+A904 ; [.159D.0020.0002.A904][.0000.017E.0002.A904] # KAYAH LI DIGIT FOUR
+1044 ; [.159D.0020.0002.1044][.0000.017F.0002.1044] # MYANMAR DIGIT FOUR
+1094 ; [.159D.0020.0002.1094][.0000.0180.0002.1094] # MYANMAR SHAN DIGIT FOUR
+17E4 ; [.159D.0020.0002.17E4][.0000.0181.0002.17E4] # KHMER DIGIT FOUR
+17F4 ; [.159D.0020.0002.17F4][.0000.0182.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
+AA54 ; [.159D.0020.0002.AA54][.0000.0183.0002.AA54] # CHAM DIGIT FOUR
+1B54 ; [.159D.0020.0002.1B54][.0000.0184.0002.1B54] # BALINESE DIGIT FOUR
+A9D4 ; [.159D.0020.0002.A9D4][.0000.0185.0002.A9D4] # JAVANESE DIGIT FOUR
+1BB4 ; [.159D.0020.0002.1BB4][.0000.0186.0002.1BB4] # SUNDANESE DIGIT FOUR
+1814 ; [.159D.0020.0002.1814][.0000.0187.0002.1814] # MONGOLIAN DIGIT FOUR
+1C54 ; [.159D.0020.0002.1C54][.0000.0188.0002.1C54] # OL CHIKI DIGIT FOUR
+A624 ; [.159D.0020.0002.A624][.0000.0189.0002.A624] # VAI DIGIT FOUR
+3024 ; [.159D.0020.0002.3024][.0000.018A.0002.3024] # HANGZHOU NUMERAL FOUR
+1010A ; [.159D.0020.0002.1010A][.0000.018B.0002.1010A] # AEGEAN NUMBER FOUR
+12402 ; [.159D.0020.0002.12402][.0000.0190.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
+12409 ; [.159D.0020.0002.12409][.0000.0190.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
+1240F ; [.159D.0020.0002.1240F][.0000.0190.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
+12418 ; [.159D.0020.0002.12418][.0000.0190.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
+12421 ; [.159D.0020.0002.12421][.0000.0190.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
+12426 ; [.159D.0020.0002.12426][.0000.0190.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
+12430 ; [.159D.0020.0002.12430][.0000.0190.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
+12438 ; [.159D.0020.0002.12438][.0000.0190.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
+1243C ; [.159D.0020.0002.1243C][.0000.0190.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
+1243D ; [.159D.0020.0002.1243D][.0000.0190.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
+1243E ; [.159D.0020.0002.1243E][.0000.0190.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
+1243F ; [.159D.0020.0002.1243F][.0000.0190.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
+1244C ; [.159D.0020.0002.1244C][.0000.0190.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
+12452 ; [.159D.0020.0002.12452][.0000.0190.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
+12453 ; [.159D.0020.0002.12453][.0000.0190.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
+10B5B ; [.159D.0020.0002.10B5B][.0000.0194.0002.10B5B] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
+10B7B ; [.159D.0020.0002.10B7B][.0000.0195.0002.10B7B] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
+1106A ; [.159D.0020.0002.1106A][.0000.0196.0002.1106A] # BRAHMI DIGIT FOUR
+11055 ; [.159D.0020.0002.11055][.0000.0197.0002.11055] # BRAHMI NUMBER FOUR
+10A43 ; [.159D.0020.0002.10A43][.0000.0198.0002.10A43] # KHAROSHTHI DIGIT FOUR
+1D363 ; [.159D.0020.0002.1D363][.0000.0199.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
+324B ; [.159D.0020.0006.324B][.1599.0020.0006.324B] # CIRCLED NUMBER FORTY ON BLACK SQUARE; QQKN
+32B5 ; [.159D.0020.0006.32B5][.1599.0020.0006.32B5] # CIRCLED NUMBER FORTY; QQKN
+32B6 ; [.159D.0020.0006.32B6][.159A.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE; QQKN
+32B7 ; [.159D.0020.0006.32B7][.159B.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO; QQKN
+32B8 ; [.159D.0020.0006.32B8][.159C.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE; QQKN
+32B9 ; [.159D.0020.0006.32B9][.159D.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR; QQKN
+32BA ; [.159D.0020.0006.32BA][.159E.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE; QQKN
+2158 ; [.159D.0020.001E.2158][*036C.0020.001E.2158][.159E.0020.001F.2158] # VULGAR FRACTION FOUR FIFTHS; QQKN
+32BB ; [.159D.0020.0006.32BB][.159F.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX; QQKN
+32BC ; [.159D.0020.0006.32BC][.15A0.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN; QQKN
+32BD ; [.159D.0020.0006.32BD][.15A1.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT; QQKN
+32BE ; [.159D.0020.0006.32BE][.15A2.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE; QQKN
+33E3 ; [.159D.0020.0004.33E3][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR; QQKN
+32C3 ; [.159D.0020.0004.32C3][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL; QQKN
+335C ; [.159D.0020.0004.335C][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR; QQKN
+0035 ; [.159E.0020.0002.0035] # DIGIT FIVE
+FF15 ; [.159E.0020.0003.FF15] # FULLWIDTH DIGIT FIVE; QQK
+2478 ; [*030E.0020.0004.2478][.159E.0020.0004.2478][*030F.0020.001F.2478] # PARENTHESIZED DIGIT FIVE; QQKN
+248C ; [.159E.0020.0004.248C][*028E.0020.0004.248C] # DIGIT FIVE FULL STOP; QQKN
+1F106 ; [.159E.0020.0004.1F106][*0241.0020.0004.1F106] # DIGIT FIVE COMMA; QQKN
+1D7D3 ; [.159E.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE; QQK
+1D7DD ; [.159E.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE; QQK
+1D7E7 ; [.159E.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE; QQK
+1D7F1 ; [.159E.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE; QQK
+1D7FB ; [.159E.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE; QQK
+2464 ; [.159E.0020.0006.2464] # CIRCLED DIGIT FIVE; QQK
+24F9 ; [.159E.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE; QQK
+277A ; [.159E.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE; QQK
+2784 ; [.159E.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE; QQK
+278E ; [.159E.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE; QQK
+2075 ; [.159E.0020.0014.2075] # SUPERSCRIPT FIVE; QQK
+2085 ; [.159E.0020.0015.2085] # SUBSCRIPT FIVE; QQK
+0665 ; [.159E.0020.0002.0665][.0000.0165.0002.0665] # ARABIC-INDIC DIGIT FIVE
+06F5 ; [.159E.0020.0002.06F5][.0000.0166.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
+10E64 ; [.159E.0020.0002.10E64][.0000.0167.0002.10E64] # RUMI DIGIT FIVE
+07C5 ; [.159E.0020.0002.07C5][.0000.0168.0002.07C5] # NKO DIGIT FIVE
+136D ; [.159E.0020.0002.136D][.0000.0169.0002.136D] # ETHIOPIC DIGIT FIVE
+104A5 ; [.159E.0020.0002.104A5][.0000.016A.0002.104A5] # OSMANYA DIGIT FIVE
+096B ; [.159E.0020.0002.096B][.0000.016B.0002.096B] # DEVANAGARI DIGIT FIVE
+09EB ; [.159E.0020.0002.09EB][.0000.016C.0002.09EB] # BENGALI DIGIT FIVE
+0A6B ; [.159E.0020.0002.0A6B][.0000.016D.0002.0A6B] # GURMUKHI DIGIT FIVE
+0AEB ; [.159E.0020.0002.0AEB][.0000.016E.0002.0AEB] # GUJARATI DIGIT FIVE
+0B6B ; [.159E.0020.0002.0B6B][.0000.016F.0002.0B6B] # ORIYA DIGIT FIVE
+0BEB ; [.159E.0020.0002.0BEB][.0000.0170.0002.0BEB] # TAMIL DIGIT FIVE
+0C6B ; [.159E.0020.0002.0C6B][.0000.0171.0002.0C6B] # TELUGU DIGIT FIVE
+0CEB ; [.159E.0020.0002.0CEB][.0000.0172.0002.0CEB] # KANNADA DIGIT FIVE
+0D6B ; [.159E.0020.0002.0D6B][.0000.0173.0002.0D6B] # MALAYALAM DIGIT FIVE
+ABF5 ; [.159E.0020.0002.ABF5][.0000.0174.0002.ABF5] # MEETEI MAYEK DIGIT FIVE
+A8D5 ; [.159E.0020.0002.A8D5][.0000.0175.0002.A8D5] # SAURASHTRA DIGIT FIVE
+194B ; [.159E.0020.0002.194B][.0000.0176.0002.194B] # LIMBU DIGIT FIVE
+19D5 ; [.159E.0020.0002.19D5][.0000.0177.0002.19D5] # NEW TAI LUE DIGIT FIVE
+1A85 ; [.159E.0020.0002.1A85][.0000.0178.0002.1A85] # TAI THAM HORA DIGIT FIVE
+1A95 ; [.159E.0020.0002.1A95][.0000.0179.0002.1A95] # TAI THAM THAM DIGIT FIVE
+0E55 ; [.159E.0020.0002.0E55][.0000.017A.0002.0E55] # THAI DIGIT FIVE
+0ED5 ; [.159E.0020.0002.0ED5][.0000.017B.0002.0ED5] # LAO DIGIT FIVE
+0F25 ; [.159E.0020.0002.0F25][.0000.017C.0002.0F25] # TIBETAN DIGIT FIVE
+0F2E ; [.159E.0020.0004.0F2E][.0000.017C.0004.0F2E] # TIBETAN DIGIT HALF FIVE; QQK
+1C45 ; [.159E.0020.0002.1C45][.0000.017D.0002.1C45] # LEPCHA DIGIT FIVE
+A905 ; [.159E.0020.0002.A905][.0000.017E.0002.A905] # KAYAH LI DIGIT FIVE
+1045 ; [.159E.0020.0002.1045][.0000.017F.0002.1045] # MYANMAR DIGIT FIVE
+1095 ; [.159E.0020.0002.1095][.0000.0180.0002.1095] # MYANMAR SHAN DIGIT FIVE
+17E5 ; [.159E.0020.0002.17E5][.0000.0181.0002.17E5] # KHMER DIGIT FIVE
+17F5 ; [.159E.0020.0002.17F5][.0000.0182.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
+AA55 ; [.159E.0020.0002.AA55][.0000.0183.0002.AA55] # CHAM DIGIT FIVE
+1B55 ; [.159E.0020.0002.1B55][.0000.0184.0002.1B55] # BALINESE DIGIT FIVE
+A9D5 ; [.159E.0020.0002.A9D5][.0000.0185.0002.A9D5] # JAVANESE DIGIT FIVE
+1BB5 ; [.159E.0020.0002.1BB5][.0000.0186.0002.1BB5] # SUNDANESE DIGIT FIVE
+1815 ; [.159E.0020.0002.1815][.0000.0187.0002.1815] # MONGOLIAN DIGIT FIVE
+1C55 ; [.159E.0020.0002.1C55][.0000.0188.0002.1C55] # OL CHIKI DIGIT FIVE
+A625 ; [.159E.0020.0002.A625][.0000.0189.0002.A625] # VAI DIGIT FIVE
+3025 ; [.159E.0020.0002.3025][.0000.018A.0002.3025] # HANGZHOU NUMERAL FIVE
+1010B ; [.159E.0020.0002.1010B][.0000.018B.0002.1010B] # AEGEAN NUMBER FIVE
+10143 ; [.159E.0020.0002.10143][.0000.018C.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
+10148 ; [.159E.0020.0002.10148][.0000.018C.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
+1014F ; [.159E.0020.0002.1014F][.0000.018C.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
+1015F ; [.159E.0020.0002.1015F][.0000.018C.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
+10173 ; [.159E.0020.0002.10173][.0000.018C.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
+10321 ; [.159E.0020.0002.10321][.0000.018E.0002.10321] # OLD ITALIC NUMERAL FIVE
+12403 ; [.159E.0020.0002.12403][.0000.0190.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
+1240A ; [.159E.0020.0002.1240A][.0000.0190.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
+12410 ; [.159E.0020.0002.12410][.0000.0190.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
+12419 ; [.159E.0020.0002.12419][.0000.0190.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
+12422 ; [.159E.0020.0002.12422][.0000.0190.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
+12427 ; [.159E.0020.0002.12427][.0000.0190.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
+12431 ; [.159E.0020.0002.12431][.0000.0190.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
+12439 ; [.159E.0020.0002.12439][.0000.0190.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
+1244D ; [.159E.0020.0002.1244D][.0000.0190.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
+12454 ; [.159E.0020.0002.12454][.0000.0190.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
+12455 ; [.159E.0020.0002.12455][.0000.0190.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
+1106B ; [.159E.0020.0002.1106B][.0000.0196.0002.1106B] # BRAHMI DIGIT FIVE
+11056 ; [.159E.0020.0002.11056][.0000.0197.0002.11056] # BRAHMI NUMBER FIVE
+1D364 ; [.159E.0020.0002.1D364][.0000.0199.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
+324C ; [.159E.0020.0006.324C][.1599.0020.0006.324C] # CIRCLED NUMBER FIFTY ON BLACK SQUARE; QQKN
+32BF ; [.159E.0020.0006.32BF][.1599.0020.0006.32BF] # CIRCLED NUMBER FIFTY; QQKN
+215A ; [.159E.0020.001E.215A][*036C.0020.001E.215A][.159F.0020.001F.215A] # VULGAR FRACTION FIVE SIXTHS; QQKN
+215D ; [.159E.0020.001E.215D][*036C.0020.001E.215D][.15A1.0020.001F.215D] # VULGAR FRACTION FIVE EIGHTHS; QQKN
+33E4 ; [.159E.0020.0004.33E4][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE; QQKN
+32C4 ; [.159E.0020.0004.32C4][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY; QQKN
+335D ; [.159E.0020.0004.335D][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE; QQKN
+0036 ; [.159F.0020.0002.0036] # DIGIT SIX
+FF16 ; [.159F.0020.0003.FF16] # FULLWIDTH DIGIT SIX; QQK
+2479 ; [*030E.0020.0004.2479][.159F.0020.0004.2479][*030F.0020.001F.2479] # PARENTHESIZED DIGIT SIX; QQKN
+248D ; [.159F.0020.0004.248D][*028E.0020.0004.248D] # DIGIT SIX FULL STOP; QQKN
+1F107 ; [.159F.0020.0004.1F107][*0241.0020.0004.1F107] # DIGIT SIX COMMA; QQKN
+1D7D4 ; [.159F.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX; QQK
+1D7DE ; [.159F.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX; QQK
+1D7E8 ; [.159F.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX; QQK
+1D7F2 ; [.159F.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX; QQK
+1D7FC ; [.159F.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX; QQK
+2465 ; [.159F.0020.0006.2465] # CIRCLED DIGIT SIX; QQK
+24FA ; [.159F.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX; QQK
+277B ; [.159F.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX; QQK
+2785 ; [.159F.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX; QQK
+278F ; [.159F.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX; QQK
+2076 ; [.159F.0020.0014.2076] # SUPERSCRIPT SIX; QQK
+2086 ; [.159F.0020.0015.2086] # SUBSCRIPT SIX; QQK
+0666 ; [.159F.0020.0002.0666][.0000.0165.0002.0666] # ARABIC-INDIC DIGIT SIX
+06F6 ; [.159F.0020.0002.06F6][.0000.0166.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
+10E65 ; [.159F.0020.0002.10E65][.0000.0167.0002.10E65] # RUMI DIGIT SIX
+07C6 ; [.159F.0020.0002.07C6][.0000.0168.0002.07C6] # NKO DIGIT SIX
+136E ; [.159F.0020.0002.136E][.0000.0169.0002.136E] # ETHIOPIC DIGIT SIX
+104A6 ; [.159F.0020.0002.104A6][.0000.016A.0002.104A6] # OSMANYA DIGIT SIX
+096C ; [.159F.0020.0002.096C][.0000.016B.0002.096C] # DEVANAGARI DIGIT SIX
+09EC ; [.159F.0020.0002.09EC][.0000.016C.0002.09EC] # BENGALI DIGIT SIX
+0A6C ; [.159F.0020.0002.0A6C][.0000.016D.0002.0A6C] # GURMUKHI DIGIT SIX
+0AEC ; [.159F.0020.0002.0AEC][.0000.016E.0002.0AEC] # GUJARATI DIGIT SIX
+0B6C ; [.159F.0020.0002.0B6C][.0000.016F.0002.0B6C] # ORIYA DIGIT SIX
+0BEC ; [.159F.0020.0002.0BEC][.0000.0170.0002.0BEC] # TAMIL DIGIT SIX
+0C6C ; [.159F.0020.0002.0C6C][.0000.0171.0002.0C6C] # TELUGU DIGIT SIX
+0CEC ; [.159F.0020.0002.0CEC][.0000.0172.0002.0CEC] # KANNADA DIGIT SIX
+0D6C ; [.159F.0020.0002.0D6C][.0000.0173.0002.0D6C] # MALAYALAM DIGIT SIX
+ABF6 ; [.159F.0020.0002.ABF6][.0000.0174.0002.ABF6] # MEETEI MAYEK DIGIT SIX
+A8D6 ; [.159F.0020.0002.A8D6][.0000.0175.0002.A8D6] # SAURASHTRA DIGIT SIX
+194C ; [.159F.0020.0002.194C][.0000.0176.0002.194C] # LIMBU DIGIT SIX
+19D6 ; [.159F.0020.0002.19D6][.0000.0177.0002.19D6] # NEW TAI LUE DIGIT SIX
+1A86 ; [.159F.0020.0002.1A86][.0000.0178.0002.1A86] # TAI THAM HORA DIGIT SIX
+1A96 ; [.159F.0020.0002.1A96][.0000.0179.0002.1A96] # TAI THAM THAM DIGIT SIX
+0E56 ; [.159F.0020.0002.0E56][.0000.017A.0002.0E56] # THAI DIGIT SIX
+0ED6 ; [.159F.0020.0002.0ED6][.0000.017B.0002.0ED6] # LAO DIGIT SIX
+0F26 ; [.159F.0020.0002.0F26][.0000.017C.0002.0F26] # TIBETAN DIGIT SIX
+0F2F ; [.159F.0020.0004.0F2F][.0000.017C.0004.0F2F] # TIBETAN DIGIT HALF SIX; QQK
+1C46 ; [.159F.0020.0002.1C46][.0000.017D.0002.1C46] # LEPCHA DIGIT SIX
+A906 ; [.159F.0020.0002.A906][.0000.017E.0002.A906] # KAYAH LI DIGIT SIX
+1046 ; [.159F.0020.0002.1046][.0000.017F.0002.1046] # MYANMAR DIGIT SIX
+1096 ; [.159F.0020.0002.1096][.0000.0180.0002.1096] # MYANMAR SHAN DIGIT SIX
+17E6 ; [.159F.0020.0002.17E6][.0000.0181.0002.17E6] # KHMER DIGIT SIX
+17F6 ; [.159F.0020.0002.17F6][.0000.0182.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
+AA56 ; [.159F.0020.0002.AA56][.0000.0183.0002.AA56] # CHAM DIGIT SIX
+1B56 ; [.159F.0020.0002.1B56][.0000.0184.0002.1B56] # BALINESE DIGIT SIX
+A9D6 ; [.159F.0020.0002.A9D6][.0000.0185.0002.A9D6] # JAVANESE DIGIT SIX
+1BB6 ; [.159F.0020.0002.1BB6][.0000.0186.0002.1BB6] # SUNDANESE DIGIT SIX
+1816 ; [.159F.0020.0002.1816][.0000.0187.0002.1816] # MONGOLIAN DIGIT SIX
+1C56 ; [.159F.0020.0002.1C56][.0000.0188.0002.1C56] # OL CHIKI DIGIT SIX
+A626 ; [.159F.0020.0002.A626][.0000.0189.0002.A626] # VAI DIGIT SIX
+3026 ; [.159F.0020.0002.3026][.0000.018A.0002.3026] # HANGZHOU NUMERAL SIX
+1010C ; [.159F.0020.0002.1010C][.0000.018B.0002.1010C] # AEGEAN NUMBER SIX
+2185 ; [.159F.0020.0002.2185][.0000.018D.0002.2185] # ROMAN NUMERAL SIX LATE FORM
+12404 ; [.159F.0020.0002.12404][.0000.0190.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
+1240B ; [.159F.0020.0002.1240B][.0000.0190.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
+12411 ; [.159F.0020.0002.12411][.0000.0190.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
+1241A ; [.159F.0020.0002.1241A][.0000.0190.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
+12428 ; [.159F.0020.0002.12428][.0000.0190.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
+12440 ; [.159F.0020.0002.12440][.0000.0190.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
+1244E ; [.159F.0020.0002.1244E][.0000.0190.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
+1106C ; [.159F.0020.0002.1106C][.0000.0196.0002.1106C] # BRAHMI DIGIT SIX
+11057 ; [.159F.0020.0002.11057][.0000.0197.0002.11057] # BRAHMI NUMBER SIX
+1D365 ; [.159F.0020.0002.1D365][.0000.0199.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
+324D ; [.159F.0020.0006.324D][.1599.0020.0006.324D] # CIRCLED NUMBER SIXTY ON BLACK SQUARE; QQKN
+33E5 ; [.159F.0020.0004.33E5][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX; QQKN
+32C5 ; [.159F.0020.0004.32C5][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE; QQKN
+335E ; [.159F.0020.0004.335E][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX; QQKN
+0037 ; [.15A0.0020.0002.0037] # DIGIT SEVEN
+FF17 ; [.15A0.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN; QQK
+247A ; [*030E.0020.0004.247A][.15A0.0020.0004.247A][*030F.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN; QQKN
+248E ; [.15A0.0020.0004.248E][*028E.0020.0004.248E] # DIGIT SEVEN FULL STOP; QQKN
+1F108 ; [.15A0.0020.0004.1F108][*0241.0020.0004.1F108] # DIGIT SEVEN COMMA; QQKN
+1D7D5 ; [.15A0.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN; QQK
+1D7DF ; [.15A0.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN; QQK
+1D7E9 ; [.15A0.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN; QQK
+1D7F3 ; [.15A0.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN; QQK
+1D7FD ; [.15A0.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN; QQK
+2466 ; [.15A0.0020.0006.2466] # CIRCLED DIGIT SEVEN; QQK
+24FB ; [.15A0.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN; QQK
+277C ; [.15A0.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN; QQK
+2786 ; [.15A0.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN; QQK
+2790 ; [.15A0.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN; QQK
+2077 ; [.15A0.0020.0014.2077] # SUPERSCRIPT SEVEN; QQK
+2087 ; [.15A0.0020.0015.2087] # SUBSCRIPT SEVEN; QQK
+0667 ; [.15A0.0020.0002.0667][.0000.0165.0002.0667] # ARABIC-INDIC DIGIT SEVEN
+06F7 ; [.15A0.0020.0002.06F7][.0000.0166.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
+10E66 ; [.15A0.0020.0002.10E66][.0000.0167.0002.10E66] # RUMI DIGIT SEVEN
+07C7 ; [.15A0.0020.0002.07C7][.0000.0168.0002.07C7] # NKO DIGIT SEVEN
+136F ; [.15A0.0020.0002.136F][.0000.0169.0002.136F] # ETHIOPIC DIGIT SEVEN
+104A7 ; [.15A0.0020.0002.104A7][.0000.016A.0002.104A7] # OSMANYA DIGIT SEVEN
+096D ; [.15A0.0020.0002.096D][.0000.016B.0002.096D] # DEVANAGARI DIGIT SEVEN
+09ED ; [.15A0.0020.0002.09ED][.0000.016C.0002.09ED] # BENGALI DIGIT SEVEN
+0A6D ; [.15A0.0020.0002.0A6D][.0000.016D.0002.0A6D] # GURMUKHI DIGIT SEVEN
+0AED ; [.15A0.0020.0002.0AED][.0000.016E.0002.0AED] # GUJARATI DIGIT SEVEN
+0B6D ; [.15A0.0020.0002.0B6D][.0000.016F.0002.0B6D] # ORIYA DIGIT SEVEN
+0BED ; [.15A0.0020.0002.0BED][.0000.0170.0002.0BED] # TAMIL DIGIT SEVEN
+0C6D ; [.15A0.0020.0002.0C6D][.0000.0171.0002.0C6D] # TELUGU DIGIT SEVEN
+0CED ; [.15A0.0020.0002.0CED][.0000.0172.0002.0CED] # KANNADA DIGIT SEVEN
+0D6D ; [.15A0.0020.0002.0D6D][.0000.0173.0002.0D6D] # MALAYALAM DIGIT SEVEN
+ABF7 ; [.15A0.0020.0002.ABF7][.0000.0174.0002.ABF7] # MEETEI MAYEK DIGIT SEVEN
+A8D7 ; [.15A0.0020.0002.A8D7][.0000.0175.0002.A8D7] # SAURASHTRA DIGIT SEVEN
+194D ; [.15A0.0020.0002.194D][.0000.0176.0002.194D] # LIMBU DIGIT SEVEN
+19D7 ; [.15A0.0020.0002.19D7][.0000.0177.0002.19D7] # NEW TAI LUE DIGIT SEVEN
+1A87 ; [.15A0.0020.0002.1A87][.0000.0178.0002.1A87] # TAI THAM HORA DIGIT SEVEN
+1A97 ; [.15A0.0020.0002.1A97][.0000.0179.0002.1A97] # TAI THAM THAM DIGIT SEVEN
+0E57 ; [.15A0.0020.0002.0E57][.0000.017A.0002.0E57] # THAI DIGIT SEVEN
+0ED7 ; [.15A0.0020.0002.0ED7][.0000.017B.0002.0ED7] # LAO DIGIT SEVEN
+0F27 ; [.15A0.0020.0002.0F27][.0000.017C.0002.0F27] # TIBETAN DIGIT SEVEN
+0F30 ; [.15A0.0020.0004.0F30][.0000.017C.0004.0F30] # TIBETAN DIGIT HALF SEVEN; QQK
+1C47 ; [.15A0.0020.0002.1C47][.0000.017D.0002.1C47] # LEPCHA DIGIT SEVEN
+A907 ; [.15A0.0020.0002.A907][.0000.017E.0002.A907] # KAYAH LI DIGIT SEVEN
+1047 ; [.15A0.0020.0002.1047][.0000.017F.0002.1047] # MYANMAR DIGIT SEVEN
+1097 ; [.15A0.0020.0002.1097][.0000.0180.0002.1097] # MYANMAR SHAN DIGIT SEVEN
+17E7 ; [.15A0.0020.0002.17E7][.0000.0181.0002.17E7] # KHMER DIGIT SEVEN
+17F7 ; [.15A0.0020.0002.17F7][.0000.0182.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
+AA57 ; [.15A0.0020.0002.AA57][.0000.0183.0002.AA57] # CHAM DIGIT SEVEN
+1B57 ; [.15A0.0020.0002.1B57][.0000.0184.0002.1B57] # BALINESE DIGIT SEVEN
+A9D7 ; [.15A0.0020.0002.A9D7][.0000.0185.0002.A9D7] # JAVANESE DIGIT SEVEN
+1BB7 ; [.15A0.0020.0002.1BB7][.0000.0186.0002.1BB7] # SUNDANESE DIGIT SEVEN
+1817 ; [.15A0.0020.0002.1817][.0000.0187.0002.1817] # MONGOLIAN DIGIT SEVEN
+1C57 ; [.15A0.0020.0002.1C57][.0000.0188.0002.1C57] # OL CHIKI DIGIT SEVEN
+A627 ; [.15A0.0020.0002.A627][.0000.0189.0002.A627] # VAI DIGIT SEVEN
+3027 ; [.15A0.0020.0002.3027][.0000.018A.0002.3027] # HANGZHOU NUMERAL SEVEN
+1010D ; [.15A0.0020.0002.1010D][.0000.018B.0002.1010D] # AEGEAN NUMBER SEVEN
+12405 ; [.15A0.0020.0002.12405][.0000.0190.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
+1240C ; [.15A0.0020.0002.1240C][.0000.0190.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
+12412 ; [.15A0.0020.0002.12412][.0000.0190.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
+1241B ; [.15A0.0020.0002.1241B][.0000.0190.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
+12429 ; [.15A0.0020.0002.12429][.0000.0190.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
+12441 ; [.15A0.0020.0002.12441][.0000.0190.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
+12442 ; [.15A0.0020.0002.12442][.0000.0190.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
+12443 ; [.15A0.0020.0002.12443][.0000.0190.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
+1106D ; [.15A0.0020.0002.1106D][.0000.0196.0002.1106D] # BRAHMI DIGIT SEVEN
+11058 ; [.15A0.0020.0002.11058][.0000.0197.0002.11058] # BRAHMI NUMBER SEVEN
+1D366 ; [.15A0.0020.0002.1D366][.0000.0199.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
+324E ; [.15A0.0020.0006.324E][.1599.0020.0006.324E] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE; QQKN
+215E ; [.15A0.0020.001E.215E][*036C.0020.001E.215E][.15A1.0020.001F.215E] # VULGAR FRACTION SEVEN EIGHTHS; QQKN
+33E6 ; [.15A0.0020.0004.33E6][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN; QQKN
+32C6 ; [.15A0.0020.0004.32C6][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY; QQKN
+335F ; [.15A0.0020.0004.335F][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN; QQKN
+0038 ; [.15A1.0020.0002.0038] # DIGIT EIGHT
+FF18 ; [.15A1.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT; QQK
+247B ; [*030E.0020.0004.247B][.15A1.0020.0004.247B][*030F.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT; QQKN
+248F ; [.15A1.0020.0004.248F][*028E.0020.0004.248F] # DIGIT EIGHT FULL STOP; QQKN
+1F109 ; [.15A1.0020.0004.1F109][*0241.0020.0004.1F109] # DIGIT EIGHT COMMA; QQKN
+1D7D6 ; [.15A1.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT; QQK
+1D7E0 ; [.15A1.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT; QQK
+1D7EA ; [.15A1.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT; QQK
+1D7F4 ; [.15A1.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT; QQK
+1D7FE ; [.15A1.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT; QQK
+2467 ; [.15A1.0020.0006.2467] # CIRCLED DIGIT EIGHT; QQK
+24FC ; [.15A1.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT; QQK
+277D ; [.15A1.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT; QQK
+2787 ; [.15A1.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT; QQK
+2791 ; [.15A1.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT; QQK
+2078 ; [.15A1.0020.0014.2078] # SUPERSCRIPT EIGHT; QQK
+2088 ; [.15A1.0020.0015.2088] # SUBSCRIPT EIGHT; QQK
+0668 ; [.15A1.0020.0002.0668][.0000.0165.0002.0668] # ARABIC-INDIC DIGIT EIGHT
+06F8 ; [.15A1.0020.0002.06F8][.0000.0166.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
+10E67 ; [.15A1.0020.0002.10E67][.0000.0167.0002.10E67] # RUMI DIGIT EIGHT
+07C8 ; [.15A1.0020.0002.07C8][.0000.0168.0002.07C8] # NKO DIGIT EIGHT
+1370 ; [.15A1.0020.0002.1370][.0000.0169.0002.1370] # ETHIOPIC DIGIT EIGHT
+104A8 ; [.15A1.0020.0002.104A8][.0000.016A.0002.104A8] # OSMANYA DIGIT EIGHT
+096E ; [.15A1.0020.0002.096E][.0000.016B.0002.096E] # DEVANAGARI DIGIT EIGHT
+09EE ; [.15A1.0020.0002.09EE][.0000.016C.0002.09EE] # BENGALI DIGIT EIGHT
+0A6E ; [.15A1.0020.0002.0A6E][.0000.016D.0002.0A6E] # GURMUKHI DIGIT EIGHT
+0AEE ; [.15A1.0020.0002.0AEE][.0000.016E.0002.0AEE] # GUJARATI DIGIT EIGHT
+0B6E ; [.15A1.0020.0002.0B6E][.0000.016F.0002.0B6E] # ORIYA DIGIT EIGHT
+0BEE ; [.15A1.0020.0002.0BEE][.0000.0170.0002.0BEE] # TAMIL DIGIT EIGHT
+0C6E ; [.15A1.0020.0002.0C6E][.0000.0171.0002.0C6E] # TELUGU DIGIT EIGHT
+0CEE ; [.15A1.0020.0002.0CEE][.0000.0172.0002.0CEE] # KANNADA DIGIT EIGHT
+0D6E ; [.15A1.0020.0002.0D6E][.0000.0173.0002.0D6E] # MALAYALAM DIGIT EIGHT
+ABF8 ; [.15A1.0020.0002.ABF8][.0000.0174.0002.ABF8] # MEETEI MAYEK DIGIT EIGHT
+A8D8 ; [.15A1.0020.0002.A8D8][.0000.0175.0002.A8D8] # SAURASHTRA DIGIT EIGHT
+194E ; [.15A1.0020.0002.194E][.0000.0176.0002.194E] # LIMBU DIGIT EIGHT
+19D8 ; [.15A1.0020.0002.19D8][.0000.0177.0002.19D8] # NEW TAI LUE DIGIT EIGHT
+1A88 ; [.15A1.0020.0002.1A88][.0000.0178.0002.1A88] # TAI THAM HORA DIGIT EIGHT
+1A98 ; [.15A1.0020.0002.1A98][.0000.0179.0002.1A98] # TAI THAM THAM DIGIT EIGHT
+0E58 ; [.15A1.0020.0002.0E58][.0000.017A.0002.0E58] # THAI DIGIT EIGHT
+0ED8 ; [.15A1.0020.0002.0ED8][.0000.017B.0002.0ED8] # LAO DIGIT EIGHT
+0F28 ; [.15A1.0020.0002.0F28][.0000.017C.0002.0F28] # TIBETAN DIGIT EIGHT
+0F31 ; [.15A1.0020.0004.0F31][.0000.017C.0004.0F31] # TIBETAN DIGIT HALF EIGHT; QQK
+1C48 ; [.15A1.0020.0002.1C48][.0000.017D.0002.1C48] # LEPCHA DIGIT EIGHT
+A908 ; [.15A1.0020.0002.A908][.0000.017E.0002.A908] # KAYAH LI DIGIT EIGHT
+1048 ; [.15A1.0020.0002.1048][.0000.017F.0002.1048] # MYANMAR DIGIT EIGHT
+1098 ; [.15A1.0020.0002.1098][.0000.0180.0002.1098] # MYANMAR SHAN DIGIT EIGHT
+17E8 ; [.15A1.0020.0002.17E8][.0000.0181.0002.17E8] # KHMER DIGIT EIGHT
+17F8 ; [.15A1.0020.0002.17F8][.0000.0182.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
+AA58 ; [.15A1.0020.0002.AA58][.0000.0183.0002.AA58] # CHAM DIGIT EIGHT
+1B58 ; [.15A1.0020.0002.1B58][.0000.0184.0002.1B58] # BALINESE DIGIT EIGHT
+A9D8 ; [.15A1.0020.0002.A9D8][.0000.0185.0002.A9D8] # JAVANESE DIGIT EIGHT
+1BB8 ; [.15A1.0020.0002.1BB8][.0000.0186.0002.1BB8] # SUNDANESE DIGIT EIGHT
+1818 ; [.15A1.0020.0002.1818][.0000.0187.0002.1818] # MONGOLIAN DIGIT EIGHT
+1C58 ; [.15A1.0020.0002.1C58][.0000.0188.0002.1C58] # OL CHIKI DIGIT EIGHT
+A628 ; [.15A1.0020.0002.A628][.0000.0189.0002.A628] # VAI DIGIT EIGHT
+3028 ; [.15A1.0020.0002.3028][.0000.018A.0002.3028] # HANGZHOU NUMERAL EIGHT
+1010E ; [.15A1.0020.0002.1010E][.0000.018B.0002.1010E] # AEGEAN NUMBER EIGHT
+12406 ; [.15A1.0020.0002.12406][.0000.0190.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
+1240D ; [.15A1.0020.0002.1240D][.0000.0190.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
+12413 ; [.15A1.0020.0002.12413][.0000.0190.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
+1241C ; [.15A1.0020.0002.1241C][.0000.0190.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
+1242A ; [.15A1.0020.0002.1242A][.0000.0190.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
+12444 ; [.15A1.0020.0002.12444][.0000.0190.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
+12445 ; [.15A1.0020.0002.12445][.0000.0190.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
+1106E ; [.15A1.0020.0002.1106E][.0000.0196.0002.1106E] # BRAHMI DIGIT EIGHT
+11059 ; [.15A1.0020.0002.11059][.0000.0197.0002.11059] # BRAHMI NUMBER EIGHT
+1D367 ; [.15A1.0020.0002.1D367][.0000.0199.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
+324F ; [.15A1.0020.0006.324F][.1599.0020.0006.324F] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE; QQKN
+33E7 ; [.15A1.0020.0004.33E7][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT; QQKN
+32C7 ; [.15A1.0020.0004.32C7][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST; QQKN
+3360 ; [.15A1.0020.0004.3360][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT; QQKN
+0039 ; [.15A2.0020.0002.0039] # DIGIT NINE
+FF19 ; [.15A2.0020.0003.FF19] # FULLWIDTH DIGIT NINE; QQK
+247C ; [*030E.0020.0004.247C][.15A2.0020.0004.247C][*030F.0020.001F.247C] # PARENTHESIZED DIGIT NINE; QQKN
+2490 ; [.15A2.0020.0004.2490][*028E.0020.0004.2490] # DIGIT NINE FULL STOP; QQKN
+1F10A ; [.15A2.0020.0004.1F10A][*0241.0020.0004.1F10A] # DIGIT NINE COMMA; QQKN
+1D7D7 ; [.15A2.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE; QQK
+1D7E1 ; [.15A2.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE; QQK
+1D7EB ; [.15A2.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE; QQK
+1D7F5 ; [.15A2.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE; QQK
+1D7FF ; [.15A2.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE; QQK
+2468 ; [.15A2.0020.0006.2468] # CIRCLED DIGIT NINE; QQK
+24FD ; [.15A2.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE; QQK
+277E ; [.15A2.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE; QQK
+2788 ; [.15A2.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE; QQK
+2792 ; [.15A2.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE; QQK
+2079 ; [.15A2.0020.0014.2079] # SUPERSCRIPT NINE; QQK
+2089 ; [.15A2.0020.0015.2089] # SUBSCRIPT NINE; QQK
+0669 ; [.15A2.0020.0002.0669][.0000.0165.0002.0669] # ARABIC-INDIC DIGIT NINE
+06F9 ; [.15A2.0020.0002.06F9][.0000.0166.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
+10E68 ; [.15A2.0020.0002.10E68][.0000.0167.0002.10E68] # RUMI DIGIT NINE
+07C9 ; [.15A2.0020.0002.07C9][.0000.0168.0002.07C9] # NKO DIGIT NINE
+1371 ; [.15A2.0020.0002.1371][.0000.0169.0002.1371] # ETHIOPIC DIGIT NINE
+104A9 ; [.15A2.0020.0002.104A9][.0000.016A.0002.104A9] # OSMANYA DIGIT NINE
+096F ; [.15A2.0020.0002.096F][.0000.016B.0002.096F] # DEVANAGARI DIGIT NINE
+09EF ; [.15A2.0020.0002.09EF][.0000.016C.0002.09EF] # BENGALI DIGIT NINE
+0A6F ; [.15A2.0020.0002.0A6F][.0000.016D.0002.0A6F] # GURMUKHI DIGIT NINE
+0AEF ; [.15A2.0020.0002.0AEF][.0000.016E.0002.0AEF] # GUJARATI DIGIT NINE
+0B6F ; [.15A2.0020.0002.0B6F][.0000.016F.0002.0B6F] # ORIYA DIGIT NINE
+0BEF ; [.15A2.0020.0002.0BEF][.0000.0170.0002.0BEF] # TAMIL DIGIT NINE
+0C6F ; [.15A2.0020.0002.0C6F][.0000.0171.0002.0C6F] # TELUGU DIGIT NINE
+0CEF ; [.15A2.0020.0002.0CEF][.0000.0172.0002.0CEF] # KANNADA DIGIT NINE
+0D6F ; [.15A2.0020.0002.0D6F][.0000.0173.0002.0D6F] # MALAYALAM DIGIT NINE
+ABF9 ; [.15A2.0020.0002.ABF9][.0000.0174.0002.ABF9] # MEETEI MAYEK DIGIT NINE
+A8D9 ; [.15A2.0020.0002.A8D9][.0000.0175.0002.A8D9] # SAURASHTRA DIGIT NINE
+194F ; [.15A2.0020.0002.194F][.0000.0176.0002.194F] # LIMBU DIGIT NINE
+19D9 ; [.15A2.0020.0002.19D9][.0000.0177.0002.19D9] # NEW TAI LUE DIGIT NINE
+1A89 ; [.15A2.0020.0002.1A89][.0000.0178.0002.1A89] # TAI THAM HORA DIGIT NINE
+1A99 ; [.15A2.0020.0002.1A99][.0000.0179.0002.1A99] # TAI THAM THAM DIGIT NINE
+0E59 ; [.15A2.0020.0002.0E59][.0000.017A.0002.0E59] # THAI DIGIT NINE
+0ED9 ; [.15A2.0020.0002.0ED9][.0000.017B.0002.0ED9] # LAO DIGIT NINE
+0F29 ; [.15A2.0020.0002.0F29][.0000.017C.0002.0F29] # TIBETAN DIGIT NINE
+0F32 ; [.15A2.0020.0004.0F32][.0000.017C.0004.0F32] # TIBETAN DIGIT HALF NINE; QQK
+1C49 ; [.15A2.0020.0002.1C49][.0000.017D.0002.1C49] # LEPCHA DIGIT NINE
+A909 ; [.15A2.0020.0002.A909][.0000.017E.0002.A909] # KAYAH LI DIGIT NINE
+1049 ; [.15A2.0020.0002.1049][.0000.017F.0002.1049] # MYANMAR DIGIT NINE
+1099 ; [.15A2.0020.0002.1099][.0000.0180.0002.1099] # MYANMAR SHAN DIGIT NINE
+17E9 ; [.15A2.0020.0002.17E9][.0000.0181.0002.17E9] # KHMER DIGIT NINE
+17F9 ; [.15A2.0020.0002.17F9][.0000.0182.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
+AA59 ; [.15A2.0020.0002.AA59][.0000.0183.0002.AA59] # CHAM DIGIT NINE
+1B59 ; [.15A2.0020.0002.1B59][.0000.0184.0002.1B59] # BALINESE DIGIT NINE
+A9D9 ; [.15A2.0020.0002.A9D9][.0000.0185.0002.A9D9] # JAVANESE DIGIT NINE
+1BB9 ; [.15A2.0020.0002.1BB9][.0000.0186.0002.1BB9] # SUNDANESE DIGIT NINE
+1819 ; [.15A2.0020.0002.1819][.0000.0187.0002.1819] # MONGOLIAN DIGIT NINE
+1C59 ; [.15A2.0020.0002.1C59][.0000.0188.0002.1C59] # OL CHIKI DIGIT NINE
+A629 ; [.15A2.0020.0002.A629][.0000.0189.0002.A629] # VAI DIGIT NINE
+3029 ; [.15A2.0020.0002.3029][.0000.018A.0002.3029] # HANGZHOU NUMERAL NINE
+1010F ; [.15A2.0020.0002.1010F][.0000.018B.0002.1010F] # AEGEAN NUMBER NINE
+12407 ; [.15A2.0020.0002.12407][.0000.0190.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
+1240E ; [.15A2.0020.0002.1240E][.0000.0190.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
+12414 ; [.15A2.0020.0002.12414][.0000.0190.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
+1241D ; [.15A2.0020.0002.1241D][.0000.0190.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
+1242B ; [.15A2.0020.0002.1242B][.0000.0190.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
+12446 ; [.15A2.0020.0002.12446][.0000.0190.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
+12447 ; [.15A2.0020.0002.12447][.0000.0190.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
+12448 ; [.15A2.0020.0002.12448][.0000.0190.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
+12449 ; [.15A2.0020.0002.12449][.0000.0190.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
+1106F ; [.15A2.0020.0002.1106F][.0000.0196.0002.1106F] # BRAHMI DIGIT NINE
+1105A ; [.15A2.0020.0002.1105A][.0000.0197.0002.1105A] # BRAHMI NUMBER NINE
+1D368 ; [.15A2.0020.0002.1D368][.0000.0199.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
+33E8 ; [.15A2.0020.0004.33E8][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE; QQKN
+32C8 ; [.15A2.0020.0004.32C8][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER; QQKN
+3361 ; [.15A2.0020.0004.3361][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE; QQKN
+0061 ; [.15A3.0020.0002.0061] # LATIN SMALL LETTER A
+FF41 ; [.15A3.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A; QQK
+0363 ; [.15A3.0020.0004.0363] # COMBINING LATIN SMALL LETTER A; QQK
+249C ; [*030E.0020.0004.249C][.15A3.0020.0004.249C][*030F.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A; QQKN
+1D41A ; [.15A3.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A; QQK
+1D44E ; [.15A3.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A; QQK
+1D482 ; [.15A3.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A; QQK
+1D4B6 ; [.15A3.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A; QQK
+1D4EA ; [.15A3.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A; QQK
+1D51E ; [.15A3.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A; QQK
+1D552 ; [.15A3.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A; QQK
+1D586 ; [.15A3.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A; QQK
+1D5BA ; [.15A3.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A; QQK
+1D5EE ; [.15A3.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A; QQK
+1D622 ; [.15A3.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A; QQK
+1D656 ; [.15A3.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A; QQK
+1D68A ; [.15A3.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A; QQK
+24D0 ; [.15A3.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A; QQK
+0041 ; [.15A3.0020.0008.0041] # LATIN CAPITAL LETTER A
+FF21 ; [.15A3.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A; QQK
+1F110 ; [*030E.0020.0004.1F110][.15A3.0020.000A.1F110][*030F.0020.001F.1F110] # PARENTHESIZED LATIN CAPITAL LETTER A; QQKN
+1F1E6 ; [.15A3.0020.000A.1F1E6] # REGIONAL INDICATOR SYMBOL LETTER A; QQK
+1D400 ; [.15A3.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A; QQK
+1D434 ; [.15A3.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A; QQK
+1D468 ; [.15A3.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A; QQK
+1D49C ; [.15A3.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A; QQK
+1D4D0 ; [.15A3.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A; QQK
+1D504 ; [.15A3.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A; QQK
+1D538 ; [.15A3.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A; QQK
+1D56C ; [.15A3.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A; QQK
+1D5A0 ; [.15A3.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A; QQK
+1D5D4 ; [.15A3.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A; QQK
+1D608 ; [.15A3.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A; QQK
+1D63C ; [.15A3.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A; QQK
+1D670 ; [.15A3.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A; QQK
+24B6 ; [.15A3.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A; QQK
+1F150 ; [.15A3.0020.000C.1F150] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A; QQK
+00AA ; [.15A3.0020.0014.00AA] # FEMININE ORDINAL INDICATOR; QQK
+1D43 ; [.15A3.0020.0014.1D43] # MODIFIER LETTER SMALL A; QQK
+2090 ; [.15A3.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A; QQK
+1D2C ; [.15A3.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A; QQK
+1F130 ; [.15A3.0020.001D.1F130] # SQUARED LATIN CAPITAL LETTER A; QQK
+1F170 ; [.15A3.0020.001D.1F170] # NEGATIVE SQUARED LATIN CAPITAL LETTER A; QQK
+00E1 ; [.15A3.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE; QQCM
+00C1 ; [.15A3.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE; QQCM
+00E0 ; [.15A3.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE; QQCM
+00C0 ; [.15A3.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE; QQCM
+0103 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE; QQCM
+0102 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE; QQCM
+1EAF ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE; QQCM
+1EAE ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE; QQCM
+1EB1 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE; QQCM
+1EB0 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE; QQCM
+1EB5 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE; QQCM
+1EB4 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE; QQCM
+1EB3 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
+1EB2 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
+00E2 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX; QQCM
+00C2 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX; QQCM
+1EA5 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
+1EA4 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
+1EA7 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
+1EA6 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
+1EAB ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
+1EAA ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
+1EA9 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
+1EA8 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
+01CE ; [.15A3.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON; QQCM
+01CD ; [.15A3.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON; QQCM
+00E5 ; [.15A3.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE; QQCM
+00C5 ; [.15A3.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE; QQCM
+212B ; [.15A3.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN; QQCM
+01FB ; [.15A3.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE; QQCM
+01FA ; [.15A3.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE; QQCM
+00E4 ; [.15A3.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS; QQCM
+00C4 ; [.15A3.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS; QQCM
+01DF ; [.15A3.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON; QQCM
+01DE ; [.15A3.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON; QQCM
+00E3 ; [.15A3.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE; QQCM
+00C3 ; [.15A3.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE; QQCM
+0227 ; [.15A3.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE; QQCM
+0226 ; [.15A3.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE; QQCM
+01E1 ; [.15A3.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON; QQCM
+01E0 ; [.15A3.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON; QQCM
+0105 ; [.15A3.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK; QQCM
+0104 ; [.15A3.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK; QQCM
+0101 ; [.15A3.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON; QQCM
+0100 ; [.15A3.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON; QQCM
+1EA3 ; [.15A3.0020.0002.0061][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE; QQCM
+1EA2 ; [.15A3.0020.0008.0041][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE; QQCM
+0201 ; [.15A3.0020.0002.0061][.0000.0065.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE; QQCM
+0200 ; [.15A3.0020.0008.0041][.0000.0065.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE; QQCM
+0203 ; [.15A3.0020.0002.0061][.0000.0067.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE; QQCM
+0202 ; [.15A3.0020.0008.0041][.0000.0067.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE; QQCM
+1EA1 ; [.15A3.0020.0002.0061][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW; QQCM
+1EA0 ; [.15A3.0020.0008.0041][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW; QQCM
+1EB7 ; [.15A3.0020.0002.0061][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW; QQCM
+1EB6 ; [.15A3.0020.0008.0041][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW; QQCM
+1EAD ; [.15A3.0020.0002.0061][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
+1EAC ; [.15A3.0020.0008.0041][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
+1E01 ; [.15A3.0020.0002.0061][.0000.0076.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW; QQCM
+1E00 ; [.15A3.0020.0008.0041][.0000.0076.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW; QQCM
+1DD3 ; [.15A3.0020.0004.1DD3][.0000.015F.0004.1DD3] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE; QQKN
+A733 ; [.15A3.0020.0004.A733][.15A3.0020.0004.A733] # LATIN SMALL LETTER AA; QQKN
+A732 ; [.15A3.0020.000A.A732][.15A3.0020.000A.A732] # LATIN CAPITAL LETTER AA; QQKN
+1F18E ; [.15A3.0020.001D.1F18E][.15B9.0020.001D.1F18E] # NEGATIVE SQUARED AB; QQKN
+2100 ; [.15A3.0020.0004.2100][*036B.0020.0004.2100][.15D1.0020.001F.2100] # ACCOUNT OF; QQKN
+00E6 ; [.15A3.0020.0004.00E6][.0000.015F.0004.00E6][.15FF.0020.001F.00E6] # LATIN SMALL LETTER AE; QQKN
+1DD4 ; [.15A3.0020.0004.1DD4][.0000.015F.0004.1DD4][.15FF.0020.001F.1DD4] # COMBINING LATIN SMALL LETTER AE; QQKN
+00C6 ; [.15A3.0020.000A.00C6][.0000.015F.0004.00C6][.15FF.0020.001F.00C6] # LATIN CAPITAL LETTER AE; QQKN
+1D2D ; [.15A3.0020.0014.1D2D][.0000.015F.0014.1D2D][.15FF.0020.001F.1D2D] # MODIFIER LETTER CAPITAL AE; QQKN
+01FD ; [.15A3.0020.0004.01FD][.0000.015F.0004.01FD][.15FF.0020.001F.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE; QQKN
+01FC ; [.15A3.0020.000A.01FC][.0000.015F.0004.01FC][.15FF.0020.001F.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE; QQKN
+01E3 ; [.15A3.0020.0004.01E3][.0000.015F.0004.01E3][.15FF.0020.001F.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON; QQKN
+01E2 ; [.15A3.0020.000A.01E2][.0000.015F.0004.01E2][.15FF.0020.001F.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON; QQKN
+33C2 ; [.15A3.0020.001C.33C2][*028E.0020.001C.33C2][.16F4.0020.001F.33C2][*028E.0020.001F.33C2] # SQUARE AM; QQKN
+33DF ; [.15A3.0020.001D.33DF][*0579.0020.001C.33DF][.16F4.0020.001F.33DF] # SQUARE A OVER M; QQKN
+1DD5 ; [.15A3.0020.0004.1DD5][.1724.0020.0004.1DD5] # COMBINING LATIN SMALL LETTER AO; QQKN
+A735 ; [.15A3.0020.0004.A735][.1724.0020.0004.A735] # LATIN SMALL LETTER AO; QQKN
+A734 ; [.15A3.0020.000A.A734][.1724.0020.000A.A734] # LATIN CAPITAL LETTER AO; QQKN
+2101 ; [.15A3.0020.0004.2101][*036B.0020.0004.2101][.17A6.0020.001F.2101] # ADDRESSED TO THE SUBJECT; QQKN
+A737 ; [.15A3.0020.0004.A737][.17E9.0020.0004.A737] # LATIN SMALL LETTER AU; QQKN
+A736 ; [.15A3.0020.000A.A736][.17E9.0020.000A.A736] # LATIN CAPITAL LETTER AU; QQKN
+3373 ; [.15A3.0020.001D.3373][.17E9.0020.001D.3373] # SQUARE AU; QQKN
+1DD6 ; [.15A3.0020.0004.1DD6][.1812.0020.0004.1DD6] # COMBINING LATIN SMALL LETTER AV; QQKN
+A739 ; [.15A3.0020.0004.A739][.1812.0020.0004.A739] # LATIN SMALL LETTER AV; QQKN
+A738 ; [.15A3.0020.000A.A738][.1812.0020.000A.A738] # LATIN CAPITAL LETTER AV; QQKN
+A73B ; [.15A3.0020.0004.A73B][.0000.015F.0004.A73B][.1812.0020.001F.A73B] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR; QQKN
+A73A ; [.15A3.0020.000A.A73A][.0000.015F.0004.A73A][.1812.0020.001F.A73A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR; QQKN
+A73D ; [.15A3.0020.0004.A73D][.1833.0020.0004.A73D] # LATIN SMALL LETTER AY; QQKN
+A73C ; [.15A3.0020.000A.A73C][.1833.0020.000A.A73C] # LATIN CAPITAL LETTER AY; QQKN
+1E9A ; [.15A3.0020.0004.1E9A][.18A4.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING; QQKN
+1D00 ; [.15A7.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
+2C65 ; [.15A8.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
+023A ; [.15A8.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
+1D8F ; [.15A9.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
+1D01 ; [.15AA.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
+1D02 ; [.15AB.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
+1D46 ; [.15AB.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE; QQK
+0250 ; [.15AC.0020.0002.0250] # LATIN SMALL LETTER TURNED A
+2C6F ; [.15AC.0020.0008.2C6F] # LATIN CAPITAL LETTER TURNED A
+1D44 ; [.15AC.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A; QQK
+0251 ; [.15B0.0020.0002.0251] # LATIN SMALL LETTER ALPHA
+2C6D ; [.15B0.0020.0008.2C6D] # LATIN CAPITAL LETTER ALPHA
+1D45 ; [.15B0.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA; QQK
+1D90 ; [.15B4.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
+0252 ; [.15B5.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
+2C70 ; [.15B5.0020.0008.2C70] # LATIN CAPITAL LETTER TURNED ALPHA
+1D9B ; [.15B5.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA; QQK
+0062 ; [.15B9.0020.0002.0062] # LATIN SMALL LETTER B
+FF42 ; [.15B9.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B; QQK
+249D ; [*030E.0020.0004.249D][.15B9.0020.0004.249D][*030F.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B; QQKN
+1D41B ; [.15B9.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B; QQK
+1D44F ; [.15B9.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B; QQK
+1D483 ; [.15B9.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B; QQK
+1D4B7 ; [.15B9.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B; QQK
+1D4EB ; [.15B9.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B; QQK
+1D51F ; [.15B9.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B; QQK
+1D553 ; [.15B9.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B; QQK
+1D587 ; [.15B9.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B; QQK
+1D5BB ; [.15B9.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B; QQK
+1D5EF ; [.15B9.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B; QQK
+1D623 ; [.15B9.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B; QQK
+1D657 ; [.15B9.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B; QQK
+1D68B ; [.15B9.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B; QQK
+24D1 ; [.15B9.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B; QQK
+0042 ; [.15B9.0020.0008.0042] # LATIN CAPITAL LETTER B
+FF22 ; [.15B9.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B; QQK
+1F111 ; [*030E.0020.0004.1F111][.15B9.0020.000A.1F111][*030F.0020.001F.1F111] # PARENTHESIZED LATIN CAPITAL LETTER B; QQKN
+1F1E7 ; [.15B9.0020.000A.1F1E7] # REGIONAL INDICATOR SYMBOL LETTER B; QQK
+212C ; [.15B9.0020.000B.212C] # SCRIPT CAPITAL B; QQK
+1D401 ; [.15B9.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B; QQK
+1D435 ; [.15B9.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B; QQK
+1D469 ; [.15B9.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B; QQK
+1D4D1 ; [.15B9.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B; QQK
+1D505 ; [.15B9.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B; QQK
+1D539 ; [.15B9.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B; QQK
+1D56D ; [.15B9.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B; QQK
+1D5A1 ; [.15B9.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B; QQK
+1D5D5 ; [.15B9.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B; QQK
+1D609 ; [.15B9.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B; QQK
+1D63D ; [.15B9.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B; QQK
+1D671 ; [.15B9.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B; QQK
+24B7 ; [.15B9.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B; QQK
+1F151 ; [.15B9.0020.000C.1F151] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B; QQK
+1D47 ; [.15B9.0020.0014.1D47] # MODIFIER LETTER SMALL B; QQK
+1D2E ; [.15B9.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B; QQK
+1F131 ; [.15B9.0020.001D.1F131] # SQUARED LATIN CAPITAL LETTER B; QQK
+1F171 ; [.15B9.0020.001D.1F171] # NEGATIVE SQUARED LATIN CAPITAL LETTER B; QQK
+1E03 ; [.15B9.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE; QQCM
+1E02 ; [.15B9.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE; QQCM
+1E05 ; [.15B9.0020.0002.0062][.0000.0070.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW; QQCM
+1E04 ; [.15B9.0020.0008.0042][.0000.0070.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW; QQCM
+1E07 ; [.15B9.0020.0002.0062][.0000.007B.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW; QQCM
+1E06 ; [.15B9.0020.0008.0042][.0000.007B.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW; QQCM
+3374 ; [.15B9.0020.001C.3374][.15A3.0020.001C.3374][.1770.0020.001F.3374] # SQUARE BAR; QQKN
+33C3 ; [.15B9.0020.001D.33C3][.175E.0020.001C.33C3] # SQUARE BQ; QQKN
+0299 ; [.15BD.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
+0180 ; [.15C1.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
+0243 ; [.15C1.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
+1D2F ; [.15C5.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
+1D03 ; [.15C6.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
+1D6C ; [.15C7.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
+1D80 ; [.15C8.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
+0253 ; [.15C9.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
+0181 ; [.15C9.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
+0183 ; [.15CD.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
+0182 ; [.15CD.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
+0063 ; [.15D1.0020.0002.0063] # LATIN SMALL LETTER C
+FF43 ; [.15D1.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C; QQK
+0368 ; [.15D1.0020.0004.0368] # COMBINING LATIN SMALL LETTER C; QQK
+217D ; [.15D1.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED; QQK
+249E ; [*030E.0020.0004.249E][.15D1.0020.0004.249E][*030F.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C; QQKN
+1D41C ; [.15D1.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C; QQK
+1D450 ; [.15D1.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C; QQK
+1D484 ; [.15D1.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C; QQK
+1D4B8 ; [.15D1.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C; QQK
+1D4EC ; [.15D1.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C; QQK
+1D520 ; [.15D1.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C; QQK
+1D554 ; [.15D1.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C; QQK
+1D588 ; [.15D1.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C; QQK
+1D5BC ; [.15D1.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C; QQK
+1D5F0 ; [.15D1.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C; QQK
+1D624 ; [.15D1.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C; QQK
+1D658 ; [.15D1.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C; QQK
+1D68C ; [.15D1.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C; QQK
+24D2 ; [.15D1.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C; QQK
+0043 ; [.15D1.0020.0008.0043] # LATIN CAPITAL LETTER C
+FF23 ; [.15D1.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C; QQK
+2103 ; [*0466.0020.0004.2103][.15D1.0020.000A.2103] # DEGREE CELSIUS; QQKN
+216D ; [.15D1.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED; QQK
+1F112 ; [*030E.0020.0004.1F112][.15D1.0020.000A.1F112][*030F.0020.001F.1F112] # PARENTHESIZED LATIN CAPITAL LETTER C; QQKN
+1F1E8 ; [.15D1.0020.000A.1F1E8] # REGIONAL INDICATOR SYMBOL LETTER C; QQK
+2102 ; [.15D1.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C; QQK
+212D ; [.15D1.0020.000B.212D] # BLACK-LETTER CAPITAL C; QQK
+1D402 ; [.15D1.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C; QQK
+1D436 ; [.15D1.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C; QQK
+1D46A ; [.15D1.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C; QQK
+1D49E ; [.15D1.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C; QQK
+1D4D2 ; [.15D1.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C; QQK
+1D56E ; [.15D1.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C; QQK
+1D5A2 ; [.15D1.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C; QQK
+1D5D6 ; [.15D1.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C; QQK
+1D60A ; [.15D1.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C; QQK
+1D63E ; [.15D1.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C; QQK
+1D672 ; [.15D1.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C; QQK
+24B8 ; [.15D1.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C; QQK
+1F12B ; [.15D1.0020.000C.1F12B] # CIRCLED ITALIC LATIN CAPITAL LETTER C; QQK
+1F152 ; [.15D1.0020.000C.1F152] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C; QQK
+1D9C ; [.15D1.0020.0014.1D9C] # MODIFIER LETTER SMALL C; QQK
+1F132 ; [.15D1.0020.001D.1F132] # SQUARED LATIN CAPITAL LETTER C; QQK
+1F172 ; [.15D1.0020.001D.1F172] # NEGATIVE SQUARED LATIN CAPITAL LETTER C; QQK
+0107 ; [.15D1.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE; QQCM
+0106 ; [.15D1.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE; QQCM
+0109 ; [.15D1.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX; QQCM
+0108 ; [.15D1.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX; QQCM
+010D ; [.15D1.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON; QQCM
+010C ; [.15D1.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON; QQCM
+010B ; [.15D1.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE; QQCM
+010A ; [.15D1.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE; QQCM
+00E7 ; [.15D1.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA; QQCM
+1DD7 ; [.15D1.0020.0004.1DD7][.0000.0056.0004.1DD7] # COMBINING LATIN SMALL LETTER C CEDILLA; QQKN
+00C7 ; [.15D1.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA; QQCM
+1E09 ; [.15D1.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE; QQCM
+1E08 ; [.15D1.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE; QQCM
+3388 ; [.15D1.0020.001C.3388][.15A3.0020.001C.3388][.16C4.0020.001F.3388] # SQUARE CAL; QQKN
+33C4 ; [.15D1.0020.001C.33C4][.15D1.0020.001C.33C4] # SQUARE CC; QQKN
+1F12D ; [.15D1.0020.000C.1F12D][.15E4.0020.000C.1F12D] # CIRCLED CD; QQKN
+33C5 ; [.15D1.0020.001C.33C5][.15E4.0020.001C.33C5] # SQUARE CD; QQKN
+33C6 ; [.15D1.0020.001D.33C6][*0579.0020.001C.33C6][.16B2.0020.001F.33C6][.1644.0020.001F.33C6] # SQUARE C OVER KG; QQKN
+1F191 ; [.15D1.0020.001D.1F191][.16C4.0020.001D.1F191] # SQUARED CL; QQKN
+339D ; [.15D1.0020.001C.339D][.16F4.0020.001C.339D] # SQUARE CM; QQKN
+33A0 ; [.15D1.0020.001C.33A0][.16F4.0020.001C.33A0][.159B.0020.001F.33A0] # SQUARE CM SQUARED; QQKN
+33A4 ; [.15D1.0020.001C.33A4][.16F4.0020.001C.33A4][.159C.0020.001F.33A4] # SQUARE CM CUBED; QQKN
+2105 ; [.15D1.0020.0004.2105][*036B.0020.0004.2105][.1724.0020.001F.2105] # CARE OF; QQKN
+33C7 ; [.15D1.0020.001D.33C7][.1724.0020.001C.33C7][*028E.0020.001F.33C7] # SQUARE CO; QQKN
+1F192 ; [.15D1.0020.001D.1F192][.1724.0020.001D.1F192][.1724.0020.001F.1F192][.16C4.0020.001F.1F192] # SQUARED COOL; QQKN
+2106 ; [.15D1.0020.0004.2106][*036B.0020.0004.2106][.17E9.0020.001F.2106] # CADA UNA; QQKN
+1D04 ; [.15D5.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
+023C ; [.15D6.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
+023B ; [.15D6.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
+0188 ; [.15DA.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
+0187 ; [.15DA.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
+0255 ; [.15DE.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
+1D9D ; [.15DE.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL; QQK
+2184 ; [.15E2.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
+2183 ; [.15E2.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
+A73F ; [.15E3.0020.0002.A73F] # LATIN SMALL LETTER REVERSED C WITH DOT
+A73E ; [.15E3.0020.0008.A73E] # LATIN CAPITAL LETTER REVERSED C WITH DOT
+0064 ; [.15E4.0020.0002.0064] # LATIN SMALL LETTER D
+FF44 ; [.15E4.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D; QQK
+0369 ; [.15E4.0020.0004.0369] # COMBINING LATIN SMALL LETTER D; QQK
+217E ; [.15E4.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED; QQK
+249F ; [*030E.0020.0004.249F][.15E4.0020.0004.249F][*030F.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D; QQKN
+2146 ; [.15E4.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D; QQK
+1D41D ; [.15E4.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D; QQK
+1D451 ; [.15E4.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D; QQK
+1D485 ; [.15E4.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D; QQK
+1D4B9 ; [.15E4.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D; QQK
+1D4ED ; [.15E4.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D; QQK
+1D521 ; [.15E4.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D; QQK
+1D555 ; [.15E4.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D; QQK
+1D589 ; [.15E4.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D; QQK
+1D5BD ; [.15E4.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D; QQK
+1D5F1 ; [.15E4.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D; QQK
+1D625 ; [.15E4.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D; QQK
+1D659 ; [.15E4.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D; QQK
+1D68D ; [.15E4.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D; QQK
+24D3 ; [.15E4.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D; QQK
+0044 ; [.15E4.0020.0008.0044] # LATIN CAPITAL LETTER D
+FF24 ; [.15E4.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D; QQK
+216E ; [.15E4.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED; QQK
+1F113 ; [*030E.0020.0004.1F113][.15E4.0020.000A.1F113][*030F.0020.001F.1F113] # PARENTHESIZED LATIN CAPITAL LETTER D; QQKN
+1F1E9 ; [.15E4.0020.000A.1F1E9] # REGIONAL INDICATOR SYMBOL LETTER D; QQK
+2145 ; [.15E4.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D; QQK
+1D403 ; [.15E4.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D; QQK
+1D437 ; [.15E4.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D; QQK
+1D46B ; [.15E4.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D; QQK
+1D49F ; [.15E4.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D; QQK
+1D4D3 ; [.15E4.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D; QQK
+1D507 ; [.15E4.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D; QQK
+1D53B ; [.15E4.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D; QQK
+1D56F ; [.15E4.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D; QQK
+1D5A3 ; [.15E4.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D; QQK
+1D5D7 ; [.15E4.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D; QQK
+1D60B ; [.15E4.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D; QQK
+1D63F ; [.15E4.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D; QQK
+1D673 ; [.15E4.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D; QQK
+24B9 ; [.15E4.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D; QQK
+1F153 ; [.15E4.0020.000C.1F153] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D; QQK
+1D48 ; [.15E4.0020.0014.1D48] # MODIFIER LETTER SMALL D; QQK
+1D30 ; [.15E4.0020.001D.1D30] # MODIFIER LETTER CAPITAL D; QQK
+1F133 ; [.15E4.0020.001D.1F133] # SQUARED LATIN CAPITAL LETTER D; QQK
+1F173 ; [.15E4.0020.001D.1F173] # NEGATIVE SQUARED LATIN CAPITAL LETTER D; QQK
+010F ; [.15E4.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON; QQCM
+010E ; [.15E4.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON; QQCM
+1E0B ; [.15E4.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE; QQCM
+1E0A ; [.15E4.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE; QQCM
+1E11 ; [.15E4.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA; QQCM
+1E10 ; [.15E4.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA; QQCM
+1E0D ; [.15E4.0020.0002.0064][.0000.0070.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW; QQCM
+1E0C ; [.15E4.0020.0008.0044][.0000.0070.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW; QQCM
+1E13 ; [.15E4.0020.0002.0064][.0000.0078.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW; QQCM
+1E12 ; [.15E4.0020.0008.0044][.0000.0078.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW; QQCM
+1E0F ; [.15E4.0020.0002.0064][.0000.007B.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW; QQCM
+1E0E ; [.15E4.0020.0008.0044][.0000.007B.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW; QQCM
+0111 ; [.15E4.0020.0002.0064][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE; QQCM
+0110 ; [.15E4.0020.0008.0044][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE; QQCM
+00F0 ; [.15E4.0020.0004.00F0][.0000.015F.0004.00F0] # LATIN SMALL LETTER ETH; QQKN
+1DD9 ; [.15E4.0020.0004.1DD9][.0000.015F.0004.1DD9] # COMBINING LATIN SMALL LETTER ETH; QQKN
+00D0 ; [.15E4.0020.000A.00D0][.0000.015F.0004.00D0] # LATIN CAPITAL LETTER ETH; QQKN
+1D9E ; [.15E4.0020.0014.1D9E][.0000.015F.0014.1D9E] # MODIFIER LETTER SMALL ETH; QQKN
+1DD8 ; [.15E4.0020.0004.1DD8][.0000.0160.0004.1DD8] # COMBINING LATIN SMALL LETTER INSULAR D; QQKN
+A77A ; [.15E4.0020.0004.A77A][.0000.0160.0004.A77A] # LATIN SMALL LETTER INSULAR D; QQKN
+A779 ; [.15E4.0020.000A.A779][.0000.0160.0004.A779] # LATIN CAPITAL LETTER INSULAR D; QQKN
+3372 ; [.15E4.0020.001C.3372][.15A3.0020.001C.3372] # SQUARE DA; QQKN
+0238 ; [.15E4.0020.0004.0238][.15B9.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH; QQKN
+33C8 ; [.15E4.0020.001C.33C8][.15B9.0020.001D.33C8] # SQUARE DB; QQKN
+1F190 ; [.15E4.0020.001D.1F190][.1699.0020.001D.1F190] # SQUARE DJ; QQKN
+3397 ; [.15E4.0020.001C.3397][.16C4.0020.001C.3397] # SQUARE DL; QQKN
+3377 ; [.15E4.0020.001C.3377][.16F4.0020.001C.3377] # SQUARE DM; QQKN
+3378 ; [.15E4.0020.001C.3378][.16F4.0020.001C.3378][.159B.0020.001F.3378] # SQUARE DM SQUARED; QQKN
+3379 ; [.15E4.0020.001C.3379][.16F4.0020.001C.3379][.159C.0020.001F.3379] # SQUARE DM CUBED; QQKN
+01F3 ; [.15E4.0020.0004.01F3][.1844.0020.0004.01F3] # LATIN SMALL LETTER DZ; QQKN
+02A3 ; [.15E4.0020.0004.02A3][.1844.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH; QQKN
+01F2 ; [.15E4.0020.000A.01F2][.1844.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z; QQKN
+01F1 ; [.15E4.0020.000A.01F1][.1844.0020.000A.01F1] # LATIN CAPITAL LETTER DZ; QQKN
+01C6 ; [.15E4.0020.0004.01C6][.1844.0020.0004.01C6][.0000.0041.001F.01C6] # LATIN SMALL LETTER DZ WITH CARON; QQKN
+01C5 ; [.15E4.0020.000A.01C5][.1844.0020.0004.01C5][.0000.0041.001F.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON; QQKN
+01C4 ; [.15E4.0020.000A.01C4][.1844.0020.000A.01C4][.0000.0041.001F.01C4] # LATIN CAPITAL LETTER DZ WITH CARON; QQKN
+02A5 ; [.15E4.0020.0004.02A5][.1857.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL; QQKN
+02A4 ; [.15E4.0020.0004.02A4][.1861.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH; QQKN
+1D05 ; [.15E8.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
+1D06 ; [.15E9.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
+1D6D ; [.15EA.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
+1D81 ; [.15EB.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
+0256 ; [.15EC.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
+0189 ; [.15EC.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
+0257 ; [.15F0.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
+018A ; [.15F0.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
+1D91 ; [.15F4.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
+018C ; [.15F5.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
+018B ; [.15F5.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
+0221 ; [.15F9.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
+A771 ; [.15FD.0020.0002.A771] # LATIN SMALL LETTER DUM
+1E9F ; [.15FE.0020.0002.1E9F] # LATIN SMALL LETTER DELTA
+0065 ; [.15FF.0020.0002.0065] # LATIN SMALL LETTER E
+FF45 ; [.15FF.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E; QQK
+0364 ; [.15FF.0020.0004.0364] # COMBINING LATIN SMALL LETTER E; QQK
+24A0 ; [*030E.0020.0004.24A0][.15FF.0020.0004.24A0][*030F.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E; QQKN
+212F ; [.15FF.0020.0005.212F] # SCRIPT SMALL E; QQK
+2147 ; [.15FF.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E; QQK
+1D41E ; [.15FF.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E; QQK
+1D452 ; [.15FF.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E; QQK
+1D486 ; [.15FF.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E; QQK
+1D4EE ; [.15FF.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E; QQK
+1D522 ; [.15FF.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E; QQK
+1D556 ; [.15FF.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E; QQK
+1D58A ; [.15FF.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E; QQK
+1D5BE ; [.15FF.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E; QQK
+1D5F2 ; [.15FF.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E; QQK
+1D626 ; [.15FF.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E; QQK
+1D65A ; [.15FF.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E; QQK
+1D68E ; [.15FF.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E; QQK
+24D4 ; [.15FF.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E; QQK
+0045 ; [.15FF.0020.0008.0045] # LATIN CAPITAL LETTER E
+FF25 ; [.15FF.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E; QQK
+1F114 ; [*030E.0020.0004.1F114][.15FF.0020.000A.1F114][*030F.0020.001F.1F114] # PARENTHESIZED LATIN CAPITAL LETTER E; QQKN
+1F1EA ; [.15FF.0020.000A.1F1EA] # REGIONAL INDICATOR SYMBOL LETTER E; QQK
+2130 ; [.15FF.0020.000B.2130] # SCRIPT CAPITAL E; QQK
+1D404 ; [.15FF.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E; QQK
+1D438 ; [.15FF.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E; QQK
+1D46C ; [.15FF.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E; QQK
+1D4D4 ; [.15FF.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E; QQK
+1D508 ; [.15FF.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E; QQK
+1D53C ; [.15FF.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E; QQK
+1D570 ; [.15FF.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E; QQK
+1D5A4 ; [.15FF.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E; QQK
+1D5D8 ; [.15FF.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E; QQK
+1D60C ; [.15FF.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E; QQK
+1D640 ; [.15FF.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E; QQK
+1D674 ; [.15FF.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E; QQK
+24BA ; [.15FF.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E; QQK
+1F154 ; [.15FF.0020.000C.1F154] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E; QQK
+1D49 ; [.15FF.0020.0014.1D49] # MODIFIER LETTER SMALL E; QQK
+2091 ; [.15FF.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E; QQK
+1D31 ; [.15FF.0020.001D.1D31] # MODIFIER LETTER CAPITAL E; QQK
+1F134 ; [.15FF.0020.001D.1F134] # SQUARED LATIN CAPITAL LETTER E; QQK
+1F174 ; [.15FF.0020.001D.1F174] # NEGATIVE SQUARED LATIN CAPITAL LETTER E; QQK
+00E9 ; [.15FF.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE; QQCM
+00C9 ; [.15FF.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE; QQCM
+00E8 ; [.15FF.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE; QQCM
+00C8 ; [.15FF.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE; QQCM
+0115 ; [.15FF.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE; QQCM
+0114 ; [.15FF.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE; QQCM
+00EA ; [.15FF.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX; QQCM
+00CA ; [.15FF.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX; QQCM
+1EBF ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
+1EBE ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
+1EC1 ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
+1EC0 ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
+1EC5 ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
+1EC4 ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
+1EC3 ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
+1EC2 ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
+011B ; [.15FF.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON; QQCM
+011A ; [.15FF.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON; QQCM
+00EB ; [.15FF.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS; QQCM
+00CB ; [.15FF.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS; QQCM
+1EBD ; [.15FF.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE; QQCM
+1EBC ; [.15FF.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE; QQCM
+0117 ; [.15FF.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE; QQCM
+0116 ; [.15FF.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE; QQCM
+0229 ; [.15FF.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA; QQCM
+0228 ; [.15FF.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA; QQCM
+1E1D ; [.15FF.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE; QQCM
+1E1C ; [.15FF.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE; QQCM
+0119 ; [.15FF.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK; QQCM
+0118 ; [.15FF.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK; QQCM
+0113 ; [.15FF.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON; QQCM
+0112 ; [.15FF.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON; QQCM
+1E17 ; [.15FF.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE; QQCM
+1E16 ; [.15FF.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE; QQCM
+1E15 ; [.15FF.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE; QQCM
+1E14 ; [.15FF.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE; QQCM
+1EBB ; [.15FF.0020.0002.0065][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE; QQCM
+1EBA ; [.15FF.0020.0008.0045][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE; QQCM
+0205 ; [.15FF.0020.0002.0065][.0000.0065.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE; QQCM
+0204 ; [.15FF.0020.0008.0045][.0000.0065.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE; QQCM
+0207 ; [.15FF.0020.0002.0065][.0000.0067.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE; QQCM
+0206 ; [.15FF.0020.0008.0045][.0000.0067.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE; QQCM
+1EB9 ; [.15FF.0020.0002.0065][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW; QQCM
+1EB8 ; [.15FF.0020.0008.0045][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW; QQCM
+1EC7 ; [.15FF.0020.0002.0065][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
+1EC6 ; [.15FF.0020.0008.0045][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
+1E19 ; [.15FF.0020.0002.0065][.0000.0078.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW; QQCM
+1E18 ; [.15FF.0020.0008.0045][.0000.0078.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW; QQCM
+1E1B ; [.15FF.0020.0002.0065][.0000.007A.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW; QQCM
+1E1A ; [.15FF.0020.0008.0045][.0000.007A.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW; QQCM
+32CD ; [.15FF.0020.001C.32CD][.1770.0020.001C.32CD][.1644.0020.001F.32CD] # SQUARE ERG; QQKN
+32CE ; [.15FF.0020.001C.32CE][.1812.0020.001D.32CE] # SQUARE EV; QQKN
+1D07 ; [.1603.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
+0247 ; [.1604.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
+0246 ; [.1604.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
+1D92 ; [.1608.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
+2C78 ; [.1609.0020.0002.2C78] # LATIN SMALL LETTER E WITH NOTCH
+01DD ; [.160A.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
+018E ; [.160A.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
+1D32 ; [.160A.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E; QQK
+2C7B ; [.160E.0020.0002.2C7B] # LATIN LETTER SMALL CAPITAL TURNED E
+0259 ; [.160F.0020.0002.0259] # LATIN SMALL LETTER SCHWA
+018F ; [.160F.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
+1D4A ; [.160F.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA; QQK
+2094 ; [.160F.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA; QQK
+1D95 ; [.1613.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+025B ; [.1614.0020.0002.025B] # LATIN SMALL LETTER OPEN E
+0190 ; [.1614.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
+2107 ; [.1614.0020.000A.2107] # EULER CONSTANT; QQK
+1D4B ; [.1614.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E; QQK
+1D93 ; [.1618.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+0258 ; [.1619.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
+025A ; [.161D.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
+025C ; [.1621.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
+1D9F ; [.1621.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E; QQK
+1D94 ; [.1625.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+1D08 ; [.1626.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
+1D4C ; [.1626.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E; QQK
+025D ; [.1627.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025E ; [.162B.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
+029A ; [.162F.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
+0264 ; [.1633.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
+0066 ; [.1637.0020.0002.0066] # LATIN SMALL LETTER F
+FF46 ; [.1637.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F; QQK
+24A1 ; [*030E.0020.0004.24A1][.1637.0020.0004.24A1][*030F.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F; QQKN
+1D41F ; [.1637.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F; QQK
+1D453 ; [.1637.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F; QQK
+1D487 ; [.1637.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F; QQK
+1D4BB ; [.1637.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F; QQK
+1D4EF ; [.1637.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F; QQK
+1D523 ; [.1637.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F; QQK
+1D557 ; [.1637.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F; QQK
+1D58B ; [.1637.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F; QQK
+1D5BF ; [.1637.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F; QQK
+1D5F3 ; [.1637.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F; QQK
+1D627 ; [.1637.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F; QQK
+1D65B ; [.1637.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F; QQK
+1D68F ; [.1637.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F; QQK
+24D5 ; [.1637.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F; QQK
+0046 ; [.1637.0020.0008.0046] # LATIN CAPITAL LETTER F
+FF26 ; [.1637.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F; QQK
+2109 ; [*0466.0020.0004.2109][.1637.0020.000A.2109] # DEGREE FAHRENHEIT; QQKN
+1F115 ; [*030E.0020.0004.1F115][.1637.0020.000A.1F115][*030F.0020.001F.1F115] # PARENTHESIZED LATIN CAPITAL LETTER F; QQKN
+1F1EB ; [.1637.0020.000A.1F1EB] # REGIONAL INDICATOR SYMBOL LETTER F; QQK
+2131 ; [.1637.0020.000B.2131] # SCRIPT CAPITAL F; QQK
+1D405 ; [.1637.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F; QQK
+1D439 ; [.1637.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F; QQK
+1D46D ; [.1637.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F; QQK
+1D4D5 ; [.1637.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F; QQK
+1D509 ; [.1637.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F; QQK
+1D53D ; [.1637.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F; QQK
+1D571 ; [.1637.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F; QQK
+1D5A5 ; [.1637.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F; QQK
+1D5D9 ; [.1637.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F; QQK
+1D60D ; [.1637.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F; QQK
+1D641 ; [.1637.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F; QQK
+1D675 ; [.1637.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F; QQK
+24BB ; [.1637.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F; QQK
+1F155 ; [.1637.0020.000C.1F155] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F; QQK
+1DA0 ; [.1637.0020.0014.1DA0] # MODIFIER LETTER SMALL F; QQK
+1F135 ; [.1637.0020.001D.1F135] # SQUARED LATIN CAPITAL LETTER F; QQK
+1F175 ; [.1637.0020.001D.1F175] # NEGATIVE SQUARED LATIN CAPITAL LETTER F; QQK
+1E1F ; [.1637.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE; QQCM
+1E1E ; [.1637.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE; QQCM
+A77C ; [.1637.0020.0004.A77C][.0000.0160.0004.A77C] # LATIN SMALL LETTER INSULAR F; QQKN
+A77B ; [.1637.0020.000A.A77B][.0000.0160.0004.A77B] # LATIN CAPITAL LETTER INSULAR F; QQKN
+213B ; [.1637.0020.000A.213B][.15A3.0020.000A.213B][.182E.0020.001F.213B] # FACSIMILE SIGN; QQKN
+FB00 ; [.1637.0020.0004.FB00][.1637.0020.0004.FB00] # LATIN SMALL LIGATURE FF; QQKN
+FB03 ; [.1637.0020.0004.FB03][.1637.0020.0004.FB03][.1680.0020.001F.FB03] # LATIN SMALL LIGATURE FFI; QQKN
+FB04 ; [.1637.0020.0004.FB04][.1637.0020.0004.FB04][.16C4.0020.001F.FB04] # LATIN SMALL LIGATURE FFL; QQKN
+FB01 ; [.1637.0020.0004.FB01][.1680.0020.0004.FB01] # LATIN SMALL LIGATURE FI; QQKN
+FB02 ; [.1637.0020.0004.FB02][.16C4.0020.0004.FB02] # LATIN SMALL LIGATURE FL; QQKN
+3399 ; [.1637.0020.001C.3399][.16F4.0020.001C.3399] # SQUARE FM; QQKN
+02A9 ; [.1637.0020.0004.02A9][.1720.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH; QQKN
+1F193 ; [.1637.0020.001D.1F193][.1770.0020.001D.1F193][.15FF.0020.001F.1F193][.15FF.0020.001F.1F193] # SQUARED FREE; QQKN
+A730 ; [.163B.0020.0002.A730] # LATIN LETTER SMALL CAPITAL F
+1D6E ; [.163C.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
+1D82 ; [.163D.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
+0192 ; [.163E.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
+0191 ; [.163E.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
+214E ; [.1642.0020.0002.214E] # TURNED SMALL F
+2132 ; [.1642.0020.0008.2132] # TURNED CAPITAL F
+A7FB ; [.1643.0020.0002.A7FB] # LATIN EPIGRAPHIC LETTER REVERSED F
+0067 ; [.1644.0020.0002.0067] # LATIN SMALL LETTER G
+FF47 ; [.1644.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G; QQK
+1DDA ; [.1644.0020.0004.1DDA] # COMBINING LATIN SMALL LETTER G; QQK
+24A2 ; [*030E.0020.0004.24A2][.1644.0020.0004.24A2][*030F.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G; QQKN
+210A ; [.1644.0020.0005.210A] # SCRIPT SMALL G; QQK
+1D420 ; [.1644.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G; QQK
+1D454 ; [.1644.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G; QQK
+1D488 ; [.1644.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G; QQK
+1D4F0 ; [.1644.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G; QQK
+1D524 ; [.1644.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G; QQK
+1D558 ; [.1644.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G; QQK
+1D58C ; [.1644.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G; QQK
+1D5C0 ; [.1644.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G; QQK
+1D5F4 ; [.1644.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G; QQK
+1D628 ; [.1644.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G; QQK
+1D65C ; [.1644.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G; QQK
+1D690 ; [.1644.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G; QQK
+24D6 ; [.1644.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G; QQK
+0047 ; [.1644.0020.0008.0047] # LATIN CAPITAL LETTER G
+FF27 ; [.1644.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G; QQK
+1F116 ; [*030E.0020.0004.1F116][.1644.0020.000A.1F116][*030F.0020.001F.1F116] # PARENTHESIZED LATIN CAPITAL LETTER G; QQKN
+1F1EC ; [.1644.0020.000A.1F1EC] # REGIONAL INDICATOR SYMBOL LETTER G; QQK
+1D406 ; [.1644.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G; QQK
+1D43A ; [.1644.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G; QQK
+1D46E ; [.1644.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G; QQK
+1D4A2 ; [.1644.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G; QQK
+1D4D6 ; [.1644.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G; QQK
+1D50A ; [.1644.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G; QQK
+1D53E ; [.1644.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G; QQK
+1D572 ; [.1644.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G; QQK
+1D5A6 ; [.1644.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G; QQK
+1D5DA ; [.1644.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G; QQK
+1D60E ; [.1644.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G; QQK
+1D642 ; [.1644.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G; QQK
+1D676 ; [.1644.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G; QQK
+24BC ; [.1644.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G; QQK
+1F156 ; [.1644.0020.000C.1F156] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G; QQK
+1D4D ; [.1644.0020.0014.1D4D] # MODIFIER LETTER SMALL G; QQK
+1D33 ; [.1644.0020.001D.1D33] # MODIFIER LETTER CAPITAL G; QQK
+1F136 ; [.1644.0020.001D.1F136] # SQUARED LATIN CAPITAL LETTER G; QQK
+1F176 ; [.1644.0020.001D.1F176] # NEGATIVE SQUARED LATIN CAPITAL LETTER G; QQK
+01F5 ; [.1644.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE; QQCM
+01F4 ; [.1644.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE; QQCM
+011F ; [.1644.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE; QQCM
+011E ; [.1644.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE; QQCM
+011D ; [.1644.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX; QQCM
+011C ; [.1644.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX; QQCM
+01E7 ; [.1644.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON; QQCM
+01E6 ; [.1644.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON; QQCM
+0121 ; [.1644.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE; QQCM
+0120 ; [.1644.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE; QQCM
+0123 ; [.1644.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA; QQCM
+0122 ; [.1644.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA; QQCM
+1E21 ; [.1644.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON; QQCM
+1E20 ; [.1644.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON; QQCM
+A7A1 ; [.1644.0020.0004.A7A1][.0000.0061.0004.A7A1] # LATIN SMALL LETTER G WITH OBLIQUE STROKE; QQKN
+A7A0 ; [.1644.0020.000A.A7A0][.0000.0061.0004.A7A0] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE; QQKN
+1D79 ; [.1644.0020.0004.1D79][.0000.0160.0004.1D79] # LATIN SMALL LETTER INSULAR G; QQKN
+A77D ; [.1644.0020.000A.A77D][.0000.0160.0004.A77D] # LATIN CAPITAL LETTER INSULAR G; QQKN
+33FF ; [.1644.0020.001C.33FF][.15A3.0020.001C.33FF][.16C4.0020.001F.33FF] # SQUARE GAL; QQKN
+3387 ; [.1644.0020.001D.3387][.15B9.0020.001D.3387] # SQUARE GB; QQKN
+3393 ; [.1644.0020.001D.3393][.1667.0020.001D.3393][.1844.0020.001F.3393] # SQUARE GHZ; QQKN
+33AC ; [.1644.0020.001D.33AC][.1749.0020.001D.33AC][.15A3.0020.001F.33AC] # SQUARE GPA; QQKN
+33C9 ; [.1644.0020.001D.33C9][.1833.0020.001C.33C9] # SQUARE GY; QQKN
+0261 ; [.1648.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
+1DA2 ; [.1648.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G; QQK
+0262 ; [.164C.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
+1DDB ; [.164C.0020.0004.1DDB] # COMBINING LATIN LETTER SMALL CAPITAL G; QQK
+01E5 ; [.1650.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.1650.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
+1D83 ; [.1654.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
+0260 ; [.1655.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
+0193 ; [.1655.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
+029B ; [.1659.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
+1D77 ; [.165D.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
+A77F ; [.165E.0020.0002.A77F] # LATIN SMALL LETTER TURNED INSULAR G
+A77E ; [.165E.0020.0008.A77E] # LATIN CAPITAL LETTER TURNED INSULAR G
+0263 ; [.165F.0020.0002.0263] # LATIN SMALL LETTER GAMMA
+0194 ; [.165F.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
+02E0 ; [.165F.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA; QQK
+01A3 ; [.1663.0020.0002.01A3] # LATIN SMALL LETTER OI
+01A2 ; [.1663.0020.0008.01A2] # LATIN CAPITAL LETTER OI
+0068 ; [.1667.0020.0002.0068] # LATIN SMALL LETTER H
+FF48 ; [.1667.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H; QQK
+036A ; [.1667.0020.0004.036A] # COMBINING LATIN SMALL LETTER H; QQK
+24A3 ; [*030E.0020.0004.24A3][.1667.0020.0004.24A3][*030F.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H; QQKN
+210E ; [.1667.0020.0005.210E] # PLANCK CONSTANT; QQK
+1D421 ; [.1667.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H; QQK
+1D489 ; [.1667.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H; QQK
+1D4BD ; [.1667.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H; QQK
+1D4F1 ; [.1667.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H; QQK
+1D525 ; [.1667.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H; QQK
+1D559 ; [.1667.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H; QQK
+1D58D ; [.1667.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H; QQK
+1D5C1 ; [.1667.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H; QQK
+1D5F5 ; [.1667.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H; QQK
+1D629 ; [.1667.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H; QQK
+1D65D ; [.1667.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H; QQK
+1D691 ; [.1667.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H; QQK
+24D7 ; [.1667.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H; QQK
+0048 ; [.1667.0020.0008.0048] # LATIN CAPITAL LETTER H
+FF28 ; [.1667.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H; QQK
+1F117 ; [*030E.0020.0004.1F117][.1667.0020.000A.1F117][*030F.0020.001F.1F117] # PARENTHESIZED LATIN CAPITAL LETTER H; QQKN
+1F1ED ; [.1667.0020.000A.1F1ED] # REGIONAL INDICATOR SYMBOL LETTER H; QQK
+210B ; [.1667.0020.000B.210B] # SCRIPT CAPITAL H; QQK
+210C ; [.1667.0020.000B.210C] # BLACK-LETTER CAPITAL H; QQK
+210D ; [.1667.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H; QQK
+1D407 ; [.1667.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H; QQK
+1D43B ; [.1667.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H; QQK
+1D46F ; [.1667.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H; QQK
+1D4D7 ; [.1667.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H; QQK
+1D573 ; [.1667.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H; QQK
+1D5A7 ; [.1667.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H; QQK
+1D5DB ; [.1667.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H; QQK
+1D60F ; [.1667.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H; QQK
+1D643 ; [.1667.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H; QQK
+1D677 ; [.1667.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H; QQK
+24BD ; [.1667.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H; QQK
+1F157 ; [.1667.0020.000C.1F157] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H; QQK
+02B0 ; [.1667.0020.0014.02B0] # MODIFIER LETTER SMALL H; QQK
+2095 ; [.1667.0020.0015.2095] # LATIN SUBSCRIPT SMALL LETTER H; QQK
+1D34 ; [.1667.0020.001D.1D34] # MODIFIER LETTER CAPITAL H; QQK
+1F137 ; [.1667.0020.001D.1F137] # SQUARED LATIN CAPITAL LETTER H; QQK
+1F177 ; [.1667.0020.001D.1F177] # NEGATIVE SQUARED LATIN CAPITAL LETTER H; QQK
+0125 ; [.1667.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX; QQCM
+0124 ; [.1667.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX; QQCM
+021F ; [.1667.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON; QQCM
+021E ; [.1667.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON; QQCM
+1E27 ; [.1667.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS; QQCM
+1E26 ; [.1667.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS; QQCM
+1E23 ; [.1667.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE; QQCM
+1E22 ; [.1667.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE; QQCM
+1E29 ; [.1667.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA; QQCM
+1E28 ; [.1667.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA; QQCM
+1E25 ; [.1667.0020.0002.0068][.0000.0070.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW; QQCM
+1E24 ; [.1667.0020.0008.0048][.0000.0070.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW; QQCM
+1E2B ; [.1667.0020.0002.0068][.0000.0079.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW; QQCM
+1E2A ; [.1667.0020.0008.0048][.0000.0079.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW; QQCM
+1E96 ; [.1667.0020.0002.0068][.0000.007B.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW; QQCM
+0127 ; [.1667.0020.0002.0068][.0000.007D.0002.0335] # LATIN SMALL LETTER H WITH STROKE; QQCM
+210F ; [.1667.0020.0002.210F][.0000.007D.0002.210F] # PLANCK CONSTANT OVER TWO PI; QQKN
+0126 ; [.1667.0020.0008.0048][.0000.007D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE; QQCM
+33CA ; [.1667.0020.001C.33CA][.15A3.0020.001C.33CA] # SQUARE HA; QQKN
+32CC ; [.1667.0020.001D.32CC][.1644.0020.001C.32CC] # SQUARE HG; QQKN
+33CB ; [.1667.0020.001D.33CB][.1749.0020.001D.33CB] # SQUARE HP; QQKN
+3371 ; [.1667.0020.001C.3371][.1749.0020.001D.3371][.15A3.0020.001F.3371] # SQUARE HPA; QQKN
+1F14A ; [.1667.0020.001D.1F14A][.1812.0020.001D.1F14A] # SQUARED HV; QQKN
+3390 ; [.1667.0020.001D.3390][.1844.0020.001C.3390] # SQUARE HZ; QQKN
+029C ; [.166B.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
+0195 ; [.166F.0020.0002.0195] # LATIN SMALL LETTER HV
+01F6 ; [.166F.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
+0266 ; [.1673.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
+02B1 ; [.1673.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK; QQK
+2C68 ; [.1677.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
+2C67 ; [.1677.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
+2C76 ; [.1678.0020.0002.2C76] # LATIN SMALL LETTER HALF H
+2C75 ; [.1678.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
+A727 ; [.1679.0020.0002.A727] # LATIN SMALL LETTER HENG
+A726 ; [.1679.0020.0008.A726] # LATIN CAPITAL LETTER HENG
+0267 ; [.167A.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
+02BB ; [.167E.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD ; [.167F.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
+0069 ; [.1680.0020.0002.0069] # LATIN SMALL LETTER I
+FF49 ; [.1680.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I; QQK
+0365 ; [.1680.0020.0004.0365] # COMBINING LATIN SMALL LETTER I; QQK
+2170 ; [.1680.0020.0004.2170] # SMALL ROMAN NUMERAL ONE; QQK
+24A4 ; [*030E.0020.0004.24A4][.1680.0020.0004.24A4][*030F.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I; QQKN
+2139 ; [.1680.0020.0005.2139] # INFORMATION SOURCE; QQK
+2148 ; [.1680.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I; QQK
+1D422 ; [.1680.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I; QQK
+1D456 ; [.1680.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I; QQK
+1D48A ; [.1680.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I; QQK
+1D4BE ; [.1680.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I; QQK
+1D4F2 ; [.1680.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I; QQK
+1D526 ; [.1680.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I; QQK
+1D55A ; [.1680.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I; QQK
+1D58E ; [.1680.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I; QQK
+1D5C2 ; [.1680.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I; QQK
+1D5F6 ; [.1680.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I; QQK
+1D62A ; [.1680.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I; QQK
+1D65E ; [.1680.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I; QQK
+1D692 ; [.1680.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I; QQK
+24D8 ; [.1680.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I; QQK
+0049 ; [.1680.0020.0008.0049] # LATIN CAPITAL LETTER I
+FF29 ; [.1680.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I; QQK
+2160 ; [.1680.0020.000A.2160] # ROMAN NUMERAL ONE; QQK
+1F118 ; [*030E.0020.0004.1F118][.1680.0020.000A.1F118][*030F.0020.001F.1F118] # PARENTHESIZED LATIN CAPITAL LETTER I; QQKN
+1F1EE ; [.1680.0020.000A.1F1EE] # REGIONAL INDICATOR SYMBOL LETTER I; QQK
+2110 ; [.1680.0020.000B.2110] # SCRIPT CAPITAL I; QQK
+2111 ; [.1680.0020.000B.2111] # BLACK-LETTER CAPITAL I; QQK
+1D408 ; [.1680.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I; QQK
+1D43C ; [.1680.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I; QQK
+1D470 ; [.1680.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I; QQK
+1D4D8 ; [.1680.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I; QQK
+1D540 ; [.1680.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I; QQK
+1D574 ; [.1680.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I; QQK
+1D5A8 ; [.1680.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I; QQK
+1D5DC ; [.1680.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I; QQK
+1D610 ; [.1680.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I; QQK
+1D644 ; [.1680.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I; QQK
+1D678 ; [.1680.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I; QQK
+24BE ; [.1680.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I; QQK
+1F158 ; [.1680.0020.000C.1F158] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I; QQK
+2071 ; [.1680.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I; QQK
+1D62 ; [.1680.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I; QQK
+1D35 ; [.1680.0020.001D.1D35] # MODIFIER LETTER CAPITAL I; QQK
+1F138 ; [.1680.0020.001D.1F138] # SQUARED LATIN CAPITAL LETTER I; QQK
+1F178 ; [.1680.0020.001D.1F178] # NEGATIVE SQUARED LATIN CAPITAL LETTER I; QQK
+00ED ; [.1680.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE; QQCM
+00CD ; [.1680.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE; QQCM
+00EC ; [.1680.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE; QQCM
+00CC ; [.1680.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE; QQCM
+012D ; [.1680.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE; QQCM
+012C ; [.1680.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE; QQCM
+00EE ; [.1680.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX; QQCM
+00CE ; [.1680.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX; QQCM
+01D0 ; [.1680.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON; QQCM
+01CF ; [.1680.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON; QQCM
+00EF ; [.1680.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS; QQCM
+00CF ; [.1680.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS; QQCM
+1E2F ; [.1680.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE; QQCM
+1E2E ; [.1680.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE; QQCM
+0129 ; [.1680.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE; QQCM
+0128 ; [.1680.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE; QQCM
+0130 ; [.1680.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE; QQCM
+012F ; [.1680.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK; QQCM
+012E ; [.1680.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK; QQCM
+012B ; [.1680.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON; QQCM
+012A ; [.1680.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON; QQCM
+1EC9 ; [.1680.0020.0002.0069][.0000.0064.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE; QQCM
+1EC8 ; [.1680.0020.0008.0049][.0000.0064.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE; QQCM
+0209 ; [.1680.0020.0002.0069][.0000.0065.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE; QQCM
+0208 ; [.1680.0020.0008.0049][.0000.0065.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE; QQCM
+020B ; [.1680.0020.0002.0069][.0000.0067.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE; QQCM
+020A ; [.1680.0020.0008.0049][.0000.0067.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE; QQCM
+1ECB ; [.1680.0020.0002.0069][.0000.0070.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW; QQCM
+1ECA ; [.1680.0020.0008.0049][.0000.0070.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW; QQCM
+1E2D ; [.1680.0020.0002.0069][.0000.007A.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW; QQCM
+1E2C ; [.1680.0020.0008.0049][.0000.007A.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW; QQCM
+1F18B ; [.1680.0020.001D.1F18B][.15D1.0020.001D.1F18B] # NEGATIVE SQUARED IC; QQKN
+1F194 ; [.1680.0020.001D.1F194][.15E4.0020.001D.1F194] # SQUARED ID; QQKN
+2171 ; [.1680.0020.0004.2171][.1680.0020.0004.2171] # SMALL ROMAN NUMERAL TWO; QQKN
+2161 ; [.1680.0020.000A.2161][.1680.0020.000A.2161] # ROMAN NUMERAL TWO; QQKN
+2172 ; [.1680.0020.0004.2172][.1680.0020.0004.2172][.1680.0020.001F.2172] # SMALL ROMAN NUMERAL THREE; QQKN
+2162 ; [.1680.0020.000A.2162][.1680.0020.000A.2162][.1680.0020.001F.2162] # ROMAN NUMERAL THREE; QQKN
+0133 ; [.1680.0020.0004.0133][.1699.0020.0004.0133] # LATIN SMALL LIGATURE IJ; QQKN
+0132 ; [.1680.0020.000A.0132][.1699.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ; QQKN
+33CC ; [.1680.0020.001C.33CC][.1702.0020.001C.33CC] # SQUARE IN; QQKN
+337A ; [.1680.0020.001D.337A][.17E9.0020.001D.337A] # SQUARE IU; QQKN
+2173 ; [.1680.0020.0004.2173][.1812.0020.0004.2173] # SMALL ROMAN NUMERAL FOUR; QQKN
+2163 ; [.1680.0020.000A.2163][.1812.0020.000A.2163] # ROMAN NUMERAL FOUR; QQKN
+2178 ; [.1680.0020.0004.2178][.182E.0020.0004.2178] # SMALL ROMAN NUMERAL NINE; QQKN
+2168 ; [.1680.0020.000A.2168][.182E.0020.000A.2168] # ROMAN NUMERAL NINE; QQKN
+0131 ; [.1684.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+1D6A4 ; [.1684.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I; QQK
+026A ; [.1688.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
+1DA6 ; [.1688.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I; QQK
+A7FE ; [.168C.0020.0002.A7FE] # LATIN EPIGRAPHIC LETTER I LONGA
+1D09 ; [.168D.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
+1D4E ; [.168D.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I; QQK
+0268 ; [.168E.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
+0197 ; [.168E.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
+1DA4 ; [.168E.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE; QQK
+1D7B ; [.1692.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
+1DA7 ; [.1692.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE; QQK
+1D96 ; [.1693.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
+0269 ; [.1694.0020.0002.0269] # LATIN SMALL LETTER IOTA
+0196 ; [.1694.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
+1DA5 ; [.1694.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA; QQK
+1D7C ; [.1698.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
+006A ; [.1699.0020.0002.006A] # LATIN SMALL LETTER J
+FF4A ; [.1699.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J; QQK
+24A5 ; [*030E.0020.0004.24A5][.1699.0020.0004.24A5][*030F.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J; QQKN
+2149 ; [.1699.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J; QQK
+1D423 ; [.1699.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J; QQK
+1D457 ; [.1699.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J; QQK
+1D48B ; [.1699.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J; QQK
+1D4BF ; [.1699.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J; QQK
+1D4F3 ; [.1699.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J; QQK
+1D527 ; [.1699.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J; QQK
+1D55B ; [.1699.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J; QQK
+1D58F ; [.1699.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J; QQK
+1D5C3 ; [.1699.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J; QQK
+1D5F7 ; [.1699.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J; QQK
+1D62B ; [.1699.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J; QQK
+1D65F ; [.1699.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J; QQK
+1D693 ; [.1699.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J; QQK
+24D9 ; [.1699.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J; QQK
+004A ; [.1699.0020.0008.004A] # LATIN CAPITAL LETTER J
+FF2A ; [.1699.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J; QQK
+1F119 ; [*030E.0020.0004.1F119][.1699.0020.000A.1F119][*030F.0020.001F.1F119] # PARENTHESIZED LATIN CAPITAL LETTER J; QQKN
+1F1EF ; [.1699.0020.000A.1F1EF] # REGIONAL INDICATOR SYMBOL LETTER J; QQK
+1D409 ; [.1699.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J; QQK
+1D43D ; [.1699.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J; QQK
+1D471 ; [.1699.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J; QQK
+1D4A5 ; [.1699.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J; QQK
+1D4D9 ; [.1699.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J; QQK
+1D50D ; [.1699.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J; QQK
+1D541 ; [.1699.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J; QQK
+1D575 ; [.1699.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J; QQK
+1D5A9 ; [.1699.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J; QQK
+1D5DD ; [.1699.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J; QQK
+1D611 ; [.1699.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J; QQK
+1D645 ; [.1699.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J; QQK
+1D679 ; [.1699.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J; QQK
+24BF ; [.1699.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J; QQK
+1F159 ; [.1699.0020.000C.1F159] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J; QQK
+02B2 ; [.1699.0020.0014.02B2] # MODIFIER LETTER SMALL J; QQK
+2C7C ; [.1699.0020.0015.2C7C] # LATIN SUBSCRIPT SMALL LETTER J; QQK
+1D36 ; [.1699.0020.001D.1D36] # MODIFIER LETTER CAPITAL J; QQK
+1F139 ; [.1699.0020.001D.1F139] # SQUARED LATIN CAPITAL LETTER J; QQK
+1F179 ; [.1699.0020.001D.1F179] # NEGATIVE SQUARED LATIN CAPITAL LETTER J; QQK
+0135 ; [.1699.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX; QQCM
+0134 ; [.1699.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX; QQCM
+01F0 ; [.1699.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON; QQCM
+0237 ; [.169D.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
+1D6A5 ; [.169D.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J; QQK
+1D0A ; [.16A1.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
+0249 ; [.16A2.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
+0248 ; [.16A2.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
+029D ; [.16A6.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
+1DA8 ; [.16A6.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL; QQK
+025F ; [.16AA.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
+1DA1 ; [.16AA.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE; QQK
+0284 ; [.16AE.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+006B ; [.16B2.0020.0002.006B] # LATIN SMALL LETTER K
+FF4B ; [.16B2.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K; QQK
+1DDC ; [.16B2.0020.0004.1DDC] # COMBINING LATIN SMALL LETTER K; QQK
+24A6 ; [*030E.0020.0004.24A6][.16B2.0020.0004.24A6][*030F.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K; QQKN
+1D424 ; [.16B2.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K; QQK
+1D458 ; [.16B2.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K; QQK
+1D48C ; [.16B2.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K; QQK
+1D4C0 ; [.16B2.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K; QQK
+1D4F4 ; [.16B2.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K; QQK
+1D528 ; [.16B2.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K; QQK
+1D55C ; [.16B2.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K; QQK
+1D590 ; [.16B2.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K; QQK
+1D5C4 ; [.16B2.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K; QQK
+1D5F8 ; [.16B2.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K; QQK
+1D62C ; [.16B2.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K; QQK
+1D660 ; [.16B2.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K; QQK
+1D694 ; [.16B2.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K; QQK
+24DA ; [.16B2.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K; QQK
+004B ; [.16B2.0020.0008.004B] # LATIN CAPITAL LETTER K
+212A ; [.16B2.0020.0008.212A] # KELVIN SIGN; QQC
+FF2B ; [.16B2.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K; QQK
+1F11A ; [*030E.0020.0004.1F11A][.16B2.0020.000A.1F11A][*030F.0020.001F.1F11A] # PARENTHESIZED LATIN CAPITAL LETTER K; QQKN
+1F1F0 ; [.16B2.0020.000A.1F1F0] # REGIONAL INDICATOR SYMBOL LETTER K; QQK
+1D40A ; [.16B2.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K; QQK
+1D43E ; [.16B2.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K; QQK
+1D472 ; [.16B2.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K; QQK
+1D4A6 ; [.16B2.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K; QQK
+1D4DA ; [.16B2.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K; QQK
+1D50E ; [.16B2.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K; QQK
+1D542 ; [.16B2.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K; QQK
+1D576 ; [.16B2.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K; QQK
+1D5AA ; [.16B2.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K; QQK
+1D5DE ; [.16B2.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K; QQK
+1D612 ; [.16B2.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K; QQK
+1D646 ; [.16B2.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K; QQK
+1D67A ; [.16B2.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K; QQK
+24C0 ; [.16B2.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K; QQK
+1F15A ; [.16B2.0020.000C.1F15A] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K; QQK
+1D4F ; [.16B2.0020.0014.1D4F] # MODIFIER LETTER SMALL K; QQK
+2096 ; [.16B2.0020.0015.2096] # LATIN SUBSCRIPT SMALL LETTER K; QQK
+1D37 ; [.16B2.0020.001D.1D37] # MODIFIER LETTER CAPITAL K; QQK
+1F13A ; [.16B2.0020.001D.1F13A] # SQUARED LATIN CAPITAL LETTER K; QQK
+1F17A ; [.16B2.0020.001D.1F17A] # NEGATIVE SQUARED LATIN CAPITAL LETTER K; QQK
+1E31 ; [.16B2.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE; QQCM
+1E30 ; [.16B2.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE; QQCM
+01E9 ; [.16B2.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON; QQCM
+01E8 ; [.16B2.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON; QQCM
+0137 ; [.16B2.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA; QQCM
+0136 ; [.16B2.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA; QQCM
+A7A3 ; [.16B2.0020.0004.A7A3][.0000.0061.0004.A7A3] # LATIN SMALL LETTER K WITH OBLIQUE STROKE; QQKN
+A7A2 ; [.16B2.0020.000A.A7A2][.0000.0061.0004.A7A2] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE; QQKN
+1E33 ; [.16B2.0020.0002.006B][.0000.0070.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW; QQCM
+1E32 ; [.16B2.0020.0008.004B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW; QQCM
+1E35 ; [.16B2.0020.0002.006B][.0000.007B.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW; QQCM
+1E34 ; [.16B2.0020.0008.004B][.0000.007B.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW; QQCM
+3384 ; [.16B2.0020.001C.3384][.15A3.0020.001D.3384] # SQUARE KA; QQKN
+3385 ; [.16B2.0020.001D.3385][.15B9.0020.001D.3385] # SQUARE KB; QQKN
+3389 ; [.16B2.0020.001C.3389][.15D1.0020.001C.3389][.15A3.0020.001F.3389][.16C4.0020.001F.3389] # SQUARE KCAL; QQKN
+338F ; [.16B2.0020.001C.338F][.1644.0020.001C.338F] # SQUARE KG; QQKN
+3391 ; [.16B2.0020.001C.3391][.1667.0020.001D.3391][.1844.0020.001F.3391] # SQUARE KHZ; QQKN
+33CD ; [.16B2.0020.001D.33CD][.16B2.0020.001D.33CD] # SQUARE KK; QQKN
+3398 ; [.16B2.0020.001C.3398][.16C4.0020.001C.3398] # SQUARE KL; QQKN
+339E ; [.16B2.0020.001C.339E][.16F4.0020.001C.339E] # SQUARE KM; QQKN
+33CE ; [.16B2.0020.001D.33CE][.16F4.0020.001D.33CE] # SQUARE KM CAPITAL; QQKN
+33A2 ; [.16B2.0020.001C.33A2][.16F4.0020.001C.33A2][.159B.0020.001F.33A2] # SQUARE KM SQUARED; QQKN
+33A6 ; [.16B2.0020.001C.33A6][.16F4.0020.001C.33A6][.159C.0020.001F.33A6] # SQUARE KM CUBED; QQKN
+33AA ; [.16B2.0020.001C.33AA][.1749.0020.001D.33AA][.15A3.0020.001F.33AA] # SQUARE KPA; QQKN
+33CF ; [.16B2.0020.001C.33CF][.17C9.0020.001C.33CF] # SQUARE KT; QQKN
+33B8 ; [.16B2.0020.001C.33B8][.1812.0020.001D.33B8] # SQUARE KV; QQKN
+33BE ; [.16B2.0020.001C.33BE][.1824.0020.001D.33BE] # SQUARE KW; QQKN
+33C0 ; [.16B2.0020.001C.33C0][.1904.0020.001D.33C0] # SQUARE K OHM; QQKN
+1D0B ; [.16B6.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
+1D84 ; [.16B7.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
+0199 ; [.16B8.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
+0198 ; [.16B8.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
+2C6A ; [.16BC.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
+2C69 ; [.16BC.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
+A741 ; [.16BD.0020.0002.A741] # LATIN SMALL LETTER K WITH STROKE
+A740 ; [.16BD.0020.0008.A740] # LATIN CAPITAL LETTER K WITH STROKE
+A743 ; [.16BE.0020.0002.A743] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A742 ; [.16BE.0020.0008.A742] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A745 ; [.16BF.0020.0002.A745] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A744 ; [.16BF.0020.0008.A744] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+029E ; [.16C0.0020.0002.029E] # LATIN SMALL LETTER TURNED K
+006C ; [.16C4.0020.0002.006C] # LATIN SMALL LETTER L
+FF4C ; [.16C4.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L; QQK
+1DDD ; [.16C4.0020.0004.1DDD] # COMBINING LATIN SMALL LETTER L; QQK
+217C ; [.16C4.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY; QQK
+24A7 ; [*030E.0020.0004.24A7][.16C4.0020.0004.24A7][*030F.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L; QQKN
+2113 ; [.16C4.0020.0005.2113] # SCRIPT SMALL L; QQK
+1D425 ; [.16C4.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L; QQK
+1D459 ; [.16C4.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L; QQK
+1D48D ; [.16C4.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L; QQK
+1D4C1 ; [.16C4.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L; QQK
+1D4F5 ; [.16C4.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L; QQK
+1D529 ; [.16C4.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L; QQK
+1D55D ; [.16C4.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L; QQK
+1D591 ; [.16C4.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L; QQK
+1D5C5 ; [.16C4.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L; QQK
+1D5F9 ; [.16C4.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L; QQK
+1D62D ; [.16C4.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L; QQK
+1D661 ; [.16C4.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L; QQK
+1D695 ; [.16C4.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L; QQK
+24DB ; [.16C4.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L; QQK
+004C ; [.16C4.0020.0008.004C] # LATIN CAPITAL LETTER L
+FF2C ; [.16C4.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L; QQK
+216C ; [.16C4.0020.000A.216C] # ROMAN NUMERAL FIFTY; QQK
+1F11B ; [*030E.0020.0004.1F11B][.16C4.0020.000A.1F11B][*030F.0020.001F.1F11B] # PARENTHESIZED LATIN CAPITAL LETTER L; QQKN
+1F1F1 ; [.16C4.0020.000A.1F1F1] # REGIONAL INDICATOR SYMBOL LETTER L; QQK
+2112 ; [.16C4.0020.000B.2112] # SCRIPT CAPITAL L; QQK
+1D40B ; [.16C4.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L; QQK
+1D43F ; [.16C4.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L; QQK
+1D473 ; [.16C4.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L; QQK
+1D4DB ; [.16C4.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L; QQK
+1D50F ; [.16C4.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L; QQK
+1D543 ; [.16C4.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L; QQK
+1D577 ; [.16C4.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L; QQK
+1D5AB ; [.16C4.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L; QQK
+1D5DF ; [.16C4.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L; QQK
+1D613 ; [.16C4.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L; QQK
+1D647 ; [.16C4.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L; QQK
+1D67B ; [.16C4.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L; QQK
+24C1 ; [.16C4.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L; QQK
+1F15B ; [.16C4.0020.000C.1F15B] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L; QQK
+02E1 ; [.16C4.0020.0014.02E1] # MODIFIER LETTER SMALL L; QQK
+2097 ; [.16C4.0020.0015.2097] # LATIN SUBSCRIPT SMALL LETTER L; QQK
+1D38 ; [.16C4.0020.001D.1D38] # MODIFIER LETTER CAPITAL L; QQK
+1F13B ; [.16C4.0020.001D.1F13B] # SQUARED LATIN CAPITAL LETTER L; QQK
+1F17B ; [.16C4.0020.001D.1F17B] # NEGATIVE SQUARED LATIN CAPITAL LETTER L; QQK
+013A ; [.16C4.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE; QQCM
+0139 ; [.16C4.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE; QQCM
+013E ; [.16C4.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON; QQCM
+013D ; [.16C4.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON; QQCM
+013C ; [.16C4.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA; QQCM
+013B ; [.16C4.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA; QQCM
+1E37 ; [.16C4.0020.0002.006C][.0000.0070.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW; QQCM
+1E36 ; [.16C4.0020.0008.004C][.0000.0070.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW; QQCM
+1E39 ; [.16C4.0020.0002.006C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON; QQCM
+1E38 ; [.16C4.0020.0008.004C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON; QQCM
+1E3D ; [.16C4.0020.0002.006C][.0000.0078.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW; QQCM
+1E3C ; [.16C4.0020.0008.004C][.0000.0078.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW; QQCM
+1E3B ; [.16C4.0020.0002.006C][.0000.007B.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW; QQCM
+1E3A ; [.16C4.0020.0008.004C][.0000.007B.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW; QQCM
+0142 ; [.16C4.0020.0002.006C][.0000.007D.0002.0335] # LATIN SMALL LETTER L WITH STROKE; QQCM
+0141 ; [.16C4.0020.0008.004C][.0000.007D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE; QQCM
+0140 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT; QQKL
+006C 00B7 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 0387 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+013F ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT; QQKL
+004C 00B7 ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 0387 ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+01C9 ; [.16C4.0020.0004.01C9][.1699.0020.0004.01C9] # LATIN SMALL LETTER LJ; QQKN
+01C8 ; [.16C4.0020.000A.01C8][.1699.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J; QQKN
+01C7 ; [.16C4.0020.000A.01C7][.1699.0020.000A.01C7] # LATIN CAPITAL LETTER LJ; QQKN
+1EFB ; [.16C4.0020.0004.1EFB][.16C4.0020.0004.1EFB] # LATIN SMALL LETTER MIDDLE-WELSH LL; QQKN
+1EFA ; [.16C4.0020.000A.1EFA][.16C4.0020.000A.1EFA] # LATIN CAPITAL LETTER MIDDLE-WELSH LL; QQKN
+33D0 ; [.16C4.0020.001C.33D0][.16F4.0020.001C.33D0] # SQUARE LM; QQKN
+33D1 ; [.16C4.0020.001C.33D1][.1702.0020.001C.33D1] # SQUARE LN; QQKN
+33D2 ; [.16C4.0020.001C.33D2][.1724.0020.001C.33D2][.1644.0020.001F.33D2] # SQUARE LOG; QQKN
+02AA ; [.16C4.0020.0004.02AA][.17A6.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH; QQKN
+32CF ; [.16C4.0020.001D.32CF][.17C9.0020.001D.32CF][.15E4.0020.001F.32CF] # LIMITED LIABILITY SIGN; QQKN
+33D3 ; [.16C4.0020.001C.33D3][.182E.0020.001C.33D3] # SQUARE LX; QQKN
+02AB ; [.16C4.0020.0004.02AB][.1844.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH; QQKN
+029F ; [.16C8.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
+1DDE ; [.16C8.0020.0004.1DDE] # COMBINING LATIN LETTER SMALL CAPITAL L; QQK
+1DAB ; [.16C8.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L; QQK
+A747 ; [.16CC.0020.0002.A747] # LATIN SMALL LETTER BROKEN L
+A746 ; [.16CC.0020.0008.A746] # LATIN CAPITAL LETTER BROKEN L
+1D0C ; [.16CD.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
+A749 ; [.16CE.0020.0002.A749] # LATIN SMALL LETTER L WITH HIGH STROKE
+A748 ; [.16CE.0020.0008.A748] # LATIN CAPITAL LETTER L WITH HIGH STROKE
+019A ; [.16CF.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
+023D ; [.16CF.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
+2C61 ; [.16D3.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
+2C60 ; [.16D3.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
+026B ; [.16D4.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
+2C62 ; [.16D4.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+026C ; [.16D8.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
+1D85 ; [.16DC.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
+1DAA ; [.16DC.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK; QQK
+026D ; [.16DD.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
+1DA9 ; [.16DD.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK; QQK
+A78E ; [.16E1.0020.0002.A78E] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+0234 ; [.16E2.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
+A772 ; [.16E6.0020.0002.A772] # LATIN SMALL LETTER LUM
+026E ; [.16E7.0020.0002.026E] # LATIN SMALL LETTER LEZH
+A781 ; [.16EB.0020.0002.A781] # LATIN SMALL LETTER TURNED L
+A780 ; [.16EB.0020.0008.A780] # LATIN CAPITAL LETTER TURNED L
+019B ; [.16EC.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
+028E ; [.16F0.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
+006D ; [.16F4.0020.0002.006D] # LATIN SMALL LETTER M
+FF4D ; [.16F4.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M; QQK
+036B ; [.16F4.0020.0004.036B] # COMBINING LATIN SMALL LETTER M; QQK
+217F ; [.16F4.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND; QQK
+24A8 ; [*030E.0020.0004.24A8][.16F4.0020.0004.24A8][*030F.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M; QQKN
+1D426 ; [.16F4.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M; QQK
+1D45A ; [.16F4.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M; QQK
+1D48E ; [.16F4.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M; QQK
+1D4C2 ; [.16F4.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M; QQK
+1D4F6 ; [.16F4.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M; QQK
+1D52A ; [.16F4.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M; QQK
+1D55E ; [.16F4.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M; QQK
+1D592 ; [.16F4.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M; QQK
+1D5C6 ; [.16F4.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M; QQK
+1D5FA ; [.16F4.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M; QQK
+1D62E ; [.16F4.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M; QQK
+1D662 ; [.16F4.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M; QQK
+1D696 ; [.16F4.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M; QQK
+24DC ; [.16F4.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M; QQK
+004D ; [.16F4.0020.0008.004D] # LATIN CAPITAL LETTER M
+FF2D ; [.16F4.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M; QQK
+216F ; [.16F4.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND; QQK
+1F11C ; [*030E.0020.0004.1F11C][.16F4.0020.000A.1F11C][*030F.0020.001F.1F11C] # PARENTHESIZED LATIN CAPITAL LETTER M; QQKN
+1F1F2 ; [.16F4.0020.000A.1F1F2] # REGIONAL INDICATOR SYMBOL LETTER M; QQK
+2133 ; [.16F4.0020.000B.2133] # SCRIPT CAPITAL M; QQK
+1D40C ; [.16F4.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M; QQK
+1D440 ; [.16F4.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M; QQK
+1D474 ; [.16F4.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M; QQK
+1D4DC ; [.16F4.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M; QQK
+1D510 ; [.16F4.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M; QQK
+1D544 ; [.16F4.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M; QQK
+1D578 ; [.16F4.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M; QQK
+1D5AC ; [.16F4.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M; QQK
+1D5E0 ; [.16F4.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M; QQK
+1D614 ; [.16F4.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M; QQK
+1D648 ; [.16F4.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M; QQK
+1D67C ; [.16F4.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M; QQK
+24C2 ; [.16F4.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M; QQK
+1F15C ; [.16F4.0020.000C.1F15C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M; QQK
+1D50 ; [.16F4.0020.0014.1D50] # MODIFIER LETTER SMALL M; QQK
+2098 ; [.16F4.0020.0015.2098] # LATIN SUBSCRIPT SMALL LETTER M; QQK
+1D39 ; [.16F4.0020.001D.1D39] # MODIFIER LETTER CAPITAL M; QQK
+1F13C ; [.16F4.0020.001D.1F13C] # SQUARED LATIN CAPITAL LETTER M; QQK
+1F17C ; [.16F4.0020.001D.1F17C] # NEGATIVE SQUARED LATIN CAPITAL LETTER M; QQK
+1E3F ; [.16F4.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE; QQCM
+1E3E ; [.16F4.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE; QQCM
+1E41 ; [.16F4.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE; QQCM
+1E40 ; [.16F4.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE; QQCM
+1E43 ; [.16F4.0020.0002.006D][.0000.0070.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW; QQCM
+1E42 ; [.16F4.0020.0008.004D][.0000.0070.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW; QQCM
+33A1 ; [.16F4.0020.001C.33A1][.159B.0020.001C.33A1] # SQUARE M SQUARED; QQKN
+33A5 ; [.16F4.0020.001C.33A5][.159C.0020.001C.33A5] # SQUARE M CUBED; QQKN
+3383 ; [.16F4.0020.001C.3383][.15A3.0020.001D.3383] # SQUARE MA; QQKN
+33D4 ; [.16F4.0020.001C.33D4][.15B9.0020.001C.33D4] # SQUARE MB SMALL; QQKN
+3386 ; [.16F4.0020.001D.3386][.15B9.0020.001D.3386] # SQUARE MB; QQKN
+338E ; [.16F4.0020.001C.338E][.1644.0020.001C.338E] # SQUARE MG; QQKN
+3392 ; [.16F4.0020.001D.3392][.1667.0020.001D.3392][.1844.0020.001F.3392] # SQUARE MHZ; QQKN
+33D5 ; [.16F4.0020.001C.33D5][.1680.0020.001C.33D5][.16C4.0020.001F.33D5] # SQUARE MIL; QQKN
+3396 ; [.16F4.0020.001C.3396][.16C4.0020.001C.3396] # SQUARE ML; QQKN
+339C ; [.16F4.0020.001C.339C][.16F4.0020.001C.339C] # SQUARE MM; QQKN
+339F ; [.16F4.0020.001C.339F][.16F4.0020.001C.339F][.159B.0020.001F.339F] # SQUARE MM SQUARED; QQKN
+33A3 ; [.16F4.0020.001C.33A3][.16F4.0020.001C.33A3][.159C.0020.001F.33A3] # SQUARE MM CUBED; QQKN
+33D6 ; [.16F4.0020.001C.33D6][.1724.0020.001C.33D6][.16C4.0020.001F.33D6] # SQUARE MOL; QQKN
+33AB ; [.16F4.0020.001D.33AB][.1749.0020.001D.33AB][.15A3.0020.001F.33AB] # SQUARE MPA; QQKN
+33B3 ; [.16F4.0020.001C.33B3][.17A6.0020.001C.33B3] # SQUARE MS; QQKN
+33A7 ; [.16F4.0020.001C.33A7][*0579.0020.001C.33A7][.17A6.0020.001F.33A7] # SQUARE M OVER S; QQKN
+33A8 ; [.16F4.0020.001C.33A8][*0579.0020.001C.33A8][.17A6.0020.001F.33A8][.159B.0020.001F.33A8] # SQUARE M OVER S SQUARED; QQKN
+33B7 ; [.16F4.0020.001C.33B7][.1812.0020.001D.33B7] # SQUARE MV; QQKN
+33B9 ; [.16F4.0020.001D.33B9][.1812.0020.001D.33B9] # SQUARE MV MEGA; QQKN
+1F14B ; [.16F4.0020.001D.1F14B][.1812.0020.001D.1F14B] # SQUARED MV; QQKN
+33BD ; [.16F4.0020.001C.33BD][.1824.0020.001D.33BD] # SQUARE MW; QQKN
+33BF ; [.16F4.0020.001D.33BF][.1824.0020.001D.33BF] # SQUARE MW MEGA; QQKN
+33C1 ; [.16F4.0020.001D.33C1][.1904.0020.001D.33C1] # SQUARE M OHM; QQKN
+1D0D ; [.16F8.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
+1DDF ; [.16F8.0020.0004.1DDF] # COMBINING LATIN LETTER SMALL CAPITAL M; QQK
+1D6F ; [.16F9.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
+1D86 ; [.16FA.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
+0271 ; [.16FB.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
+2C6E ; [.16FB.0020.0008.2C6E] # LATIN CAPITAL LETTER M WITH HOOK
+1DAC ; [.16FB.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK; QQK
+A7FD ; [.16FF.0020.0002.A7FD] # LATIN EPIGRAPHIC LETTER INVERTED M
+A7FF ; [.1700.0020.0002.A7FF] # LATIN EPIGRAPHIC LETTER ARCHAIC M
+A773 ; [.1701.0020.0002.A773] # LATIN SMALL LETTER MUM
+006E ; [.1702.0020.0002.006E] # LATIN SMALL LETTER N
+FF4E ; [.1702.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N; QQK
+1DE0 ; [.1702.0020.0004.1DE0] # COMBINING LATIN SMALL LETTER N; QQK
+24A9 ; [*030E.0020.0004.24A9][.1702.0020.0004.24A9][*030F.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N; QQKN
+1D427 ; [.1702.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N; QQK
+1D45B ; [.1702.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N; QQK
+1D48F ; [.1702.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N; QQK
+1D4C3 ; [.1702.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N; QQK
+1D4F7 ; [.1702.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N; QQK
+1D52B ; [.1702.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N; QQK
+1D55F ; [.1702.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N; QQK
+1D593 ; [.1702.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N; QQK
+1D5C7 ; [.1702.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N; QQK
+1D5FB ; [.1702.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N; QQK
+1D62F ; [.1702.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N; QQK
+1D663 ; [.1702.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N; QQK
+1D697 ; [.1702.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N; QQK
+24DD ; [.1702.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N; QQK
+004E ; [.1702.0020.0008.004E] # LATIN CAPITAL LETTER N
+FF2E ; [.1702.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N; QQK
+1F11D ; [*030E.0020.0004.1F11D][.1702.0020.000A.1F11D][*030F.0020.001F.1F11D] # PARENTHESIZED LATIN CAPITAL LETTER N; QQKN
+1F1F3 ; [.1702.0020.000A.1F1F3] # REGIONAL INDICATOR SYMBOL LETTER N; QQK
+2115 ; [.1702.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N; QQK
+1D40D ; [.1702.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N; QQK
+1D441 ; [.1702.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N; QQK
+1D475 ; [.1702.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N; QQK
+1D4A9 ; [.1702.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N; QQK
+1D4DD ; [.1702.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N; QQK
+1D511 ; [.1702.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N; QQK
+1D579 ; [.1702.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N; QQK
+1D5AD ; [.1702.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N; QQK
+1D5E1 ; [.1702.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N; QQK
+1D615 ; [.1702.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N; QQK
+1D649 ; [.1702.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N; QQK
+1D67D ; [.1702.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N; QQK
+24C3 ; [.1702.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N; QQK
+1F15D ; [.1702.0020.000C.1F15D] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N; QQK
+207F ; [.1702.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N; QQK
+2099 ; [.1702.0020.0015.2099] # LATIN SUBSCRIPT SMALL LETTER N; QQK
+1D3A ; [.1702.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N; QQK
+1F13D ; [.1702.0020.001D.1F13D] # SQUARED LATIN CAPITAL LETTER N; QQK
+1F17D ; [.1702.0020.001D.1F17D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N; QQK
+0144 ; [.1702.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE; QQCM
+0143 ; [.1702.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE; QQCM
+01F9 ; [.1702.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE; QQCM
+01F8 ; [.1702.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE; QQCM
+0148 ; [.1702.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON; QQCM
+0147 ; [.1702.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON; QQCM
+00F1 ; [.1702.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE; QQCM
+00D1 ; [.1702.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE; QQCM
+1E45 ; [.1702.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE; QQCM
+1E44 ; [.1702.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE; QQCM
+0146 ; [.1702.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA; QQCM
+0145 ; [.1702.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA; QQCM
+A7A5 ; [.1702.0020.0004.A7A5][.0000.0061.0004.A7A5] # LATIN SMALL LETTER N WITH OBLIQUE STROKE; QQKN
+A7A4 ; [.1702.0020.000A.A7A4][.0000.0061.0004.A7A4] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE; QQKN
+1E47 ; [.1702.0020.0002.006E][.0000.0070.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW; QQCM
+1E46 ; [.1702.0020.0008.004E][.0000.0070.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW; QQCM
+1E4B ; [.1702.0020.0002.006E][.0000.0078.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW; QQCM
+1E4A ; [.1702.0020.0008.004E][.0000.0078.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW; QQCM
+1E49 ; [.1702.0020.0002.006E][.0000.007B.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW; QQCM
+1E48 ; [.1702.0020.0008.004E][.0000.007B.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW; QQCM
+3381 ; [.1702.0020.001C.3381][.15A3.0020.001D.3381] # SQUARE NA; QQKN
+1F195 ; [.1702.0020.001D.1F195][.15FF.0020.001D.1F195][.1824.0020.001F.1F195] # SQUARED NEW; QQKN
+338B ; [.1702.0020.001C.338B][.1637.0020.001D.338B] # SQUARE NF; QQKN
+1F196 ; [.1702.0020.001D.1F196][.1644.0020.001D.1F196] # SQUARED NG; QQKN
+01CC ; [.1702.0020.0004.01CC][.1699.0020.0004.01CC] # LATIN SMALL LETTER NJ; QQKN
+01CB ; [.1702.0020.000A.01CB][.1699.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J; QQKN
+01CA ; [.1702.0020.000A.01CA][.1699.0020.000A.01CA] # LATIN CAPITAL LETTER NJ; QQKN
+339A ; [.1702.0020.001C.339A][.16F4.0020.001C.339A] # SQUARE NM; QQKN
+2116 ; [.1702.0020.000A.2116][.1724.0020.0004.2116] # NUMERO SIGN; QQKN
+33B1 ; [.1702.0020.001C.33B1][.17A6.0020.001C.33B1] # SQUARE NS; QQKN
+33B5 ; [.1702.0020.001C.33B5][.1812.0020.001D.33B5] # SQUARE NV; QQKN
+33BB ; [.1702.0020.001C.33BB][.1824.0020.001D.33BB] # SQUARE NW; QQKN
+0274 ; [.1706.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
+1DE1 ; [.1706.0020.0004.1DE1] # COMBINING LATIN LETTER SMALL CAPITAL N; QQK
+1DB0 ; [.1706.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N; QQK
+1D3B ; [.170A.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
+1D0E ; [.170B.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
+1D70 ; [.170C.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
+0272 ; [.170D.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
+019D ; [.170D.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
+1DAE ; [.170D.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK; QQK
+019E ; [.1711.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0220 ; [.1711.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+A791 ; [.1715.0020.0002.A791] # LATIN SMALL LETTER N WITH DESCENDER
+A790 ; [.1715.0020.0008.A790] # LATIN CAPITAL LETTER N WITH DESCENDER
+1D87 ; [.1716.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
+0273 ; [.1717.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
+1DAF ; [.1717.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK; QQK
+0235 ; [.171B.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
+A774 ; [.171F.0020.0002.A774] # LATIN SMALL LETTER NUM
+014B ; [.1720.0020.0002.014B] # LATIN SMALL LETTER ENG
+014A ; [.1720.0020.0008.014A] # LATIN CAPITAL LETTER ENG
+1D51 ; [.1720.0020.0014.1D51] # MODIFIER LETTER SMALL ENG; QQK
+006F ; [.1724.0020.0002.006F] # LATIN SMALL LETTER O
+FF4F ; [.1724.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O; QQK
+0366 ; [.1724.0020.0004.0366] # COMBINING LATIN SMALL LETTER O; QQK
+24AA ; [*030E.0020.0004.24AA][.1724.0020.0004.24AA][*030F.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O; QQKN
+2134 ; [.1724.0020.0005.2134] # SCRIPT SMALL O; QQK
+1D428 ; [.1724.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O; QQK
+1D45C ; [.1724.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O; QQK
+1D490 ; [.1724.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O; QQK
+1D4F8 ; [.1724.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O; QQK
+1D52C ; [.1724.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O; QQK
+1D560 ; [.1724.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O; QQK
+1D594 ; [.1724.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O; QQK
+1D5C8 ; [.1724.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O; QQK
+1D5FC ; [.1724.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O; QQK
+1D630 ; [.1724.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O; QQK
+1D664 ; [.1724.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O; QQK
+1D698 ; [.1724.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O; QQK
+24DE ; [.1724.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O; QQK
+004F ; [.1724.0020.0008.004F] # LATIN CAPITAL LETTER O
+FF2F ; [.1724.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O; QQK
+1F11E ; [*030E.0020.0004.1F11E][.1724.0020.000A.1F11E][*030F.0020.001F.1F11E] # PARENTHESIZED LATIN CAPITAL LETTER O; QQKN
+1F1F4 ; [.1724.0020.000A.1F1F4] # REGIONAL INDICATOR SYMBOL LETTER O; QQK
+1D40E ; [.1724.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O; QQK
+1D442 ; [.1724.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O; QQK
+1D476 ; [.1724.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O; QQK
+1D4AA ; [.1724.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O; QQK
+1D4DE ; [.1724.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O; QQK
+1D512 ; [.1724.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O; QQK
+1D546 ; [.1724.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O; QQK
+1D57A ; [.1724.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O; QQK
+1D5AE ; [.1724.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O; QQK
+1D5E2 ; [.1724.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O; QQK
+1D616 ; [.1724.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O; QQK
+1D64A ; [.1724.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O; QQK
+1D67E ; [.1724.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O; QQK
+24C4 ; [.1724.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O; QQK
+1F15E ; [.1724.0020.000C.1F15E] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O; QQK
+00BA ; [.1724.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR; QQK
+1D52 ; [.1724.0020.0014.1D52] # MODIFIER LETTER SMALL O; QQK
+2092 ; [.1724.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O; QQK
+1D3C ; [.1724.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O; QQK
+1F13E ; [.1724.0020.001D.1F13E] # SQUARED LATIN CAPITAL LETTER O; QQK
+1F17E ; [.1724.0020.001D.1F17E] # NEGATIVE SQUARED LATIN CAPITAL LETTER O; QQK
+00F3 ; [.1724.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE; QQCM
+00D3 ; [.1724.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE; QQCM
+00F2 ; [.1724.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE; QQCM
+00D2 ; [.1724.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE; QQCM
+014F ; [.1724.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE; QQCM
+014E ; [.1724.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE; QQCM
+00F4 ; [.1724.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX; QQCM
+00D4 ; [.1724.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX; QQCM
+1ED1 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
+1ED0 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
+1ED3 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
+1ED2 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
+1ED7 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
+1ED6 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
+1ED5 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
+1ED4 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
+01D2 ; [.1724.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON; QQCM
+01D1 ; [.1724.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON; QQCM
+00F6 ; [.1724.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS; QQCM
+00D6 ; [.1724.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS; QQCM
+022B ; [.1724.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON; QQCM
+022A ; [.1724.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON; QQCM
+0151 ; [.1724.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE; QQCM
+0150 ; [.1724.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE; QQCM
+00F5 ; [.1724.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE; QQCM
+00D5 ; [.1724.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE; QQCM
+1E4D ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE; QQCM
+1E4C ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE; QQCM
+1E4F ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS; QQCM
+1E4E ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS; QQCM
+022D ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON; QQCM
+022C ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON; QQCM
+022F ; [.1724.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE; QQCM
+022E ; [.1724.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE; QQCM
+0231 ; [.1724.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON; QQCM
+0230 ; [.1724.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON; QQCM
+00F8 ; [.1724.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE; QQCM
+00D8 ; [.1724.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE; QQCM
+01FF ; [.1724.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE; QQCM
+01FE ; [.1724.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE; QQCM
+01EB ; [.1724.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK; QQCM
+01EA ; [.1724.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK; QQCM
+01ED ; [.1724.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON; QQCM
+01EC ; [.1724.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON; QQCM
+014D ; [.1724.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON; QQCM
+014C ; [.1724.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON; QQCM
+1E53 ; [.1724.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE; QQCM
+1E52 ; [.1724.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE; QQCM
+1E51 ; [.1724.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE; QQCM
+1E50 ; [.1724.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE; QQCM
+1ECF ; [.1724.0020.0002.006F][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE; QQCM
+1ECE ; [.1724.0020.0008.004F][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE; QQCM
+020D ; [.1724.0020.0002.006F][.0000.0065.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE; QQCM
+020C ; [.1724.0020.0008.004F][.0000.0065.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE; QQCM
+020F ; [.1724.0020.0002.006F][.0000.0067.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE; QQCM
+020E ; [.1724.0020.0008.004F][.0000.0067.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE; QQCM
+01A1 ; [.1724.0020.0002.006F][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN; QQCM
+01A0 ; [.1724.0020.0008.004F][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN; QQCM
+1EDB ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE; QQCM
+1EDA ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE; QQCM
+1EDD ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE; QQCM
+1EDC ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE; QQCM
+1EE1 ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE; QQCM
+1EE0 ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE; QQCM
+1EDF ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE; QQCM
+1EDE ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE; QQCM
+1EE3 ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW; QQCM
+1EE2 ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW; QQCM
+1ECD ; [.1724.0020.0002.006F][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW; QQCM
+1ECC ; [.1724.0020.0008.004F][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW; QQCM
+1ED9 ; [.1724.0020.0002.006F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
+1ED8 ; [.1724.0020.0008.004F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
+0153 ; [.1724.0020.0004.0153][.0000.015F.0004.0153][.15FF.0020.001F.0153] # LATIN SMALL LIGATURE OE; QQKN
+0152 ; [.1724.0020.000A.0152][.0000.015F.0004.0152][.15FF.0020.001F.0152] # LATIN CAPITAL LIGATURE OE; QQKN
+1F197 ; [.1724.0020.001D.1F197][.16B2.0020.001D.1F197] # SQUARED OK; QQKN
+A74F ; [.1724.0020.0004.A74F][.1724.0020.0004.A74F] # LATIN SMALL LETTER OO; QQKN
+A74E ; [.1724.0020.000A.A74E][.1724.0020.000A.A74E] # LATIN CAPITAL LETTER OO; QQKN
+3375 ; [.1724.0020.001C.3375][.1812.0020.001D.3375] # SQUARE OV; QQKN
+1D0F ; [.1728.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
+1D11 ; [.1729.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
+0276 ; [.172A.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
+1D14 ; [.172E.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
+1D13 ; [.172F.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+0254 ; [.1730.0020.0002.0254] # LATIN SMALL LETTER OPEN O
+0186 ; [.1730.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
+1D53 ; [.1730.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O; QQK
+1D10 ; [.1734.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
+1D12 ; [.1735.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
+1D97 ; [.1736.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+A74D ; [.1737.0020.0002.A74D] # LATIN SMALL LETTER O WITH LOOP
+A74C ; [.1737.0020.0008.A74C] # LATIN CAPITAL LETTER O WITH LOOP
+1D16 ; [.1738.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
+1D54 ; [.1738.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O; QQK
+1D17 ; [.1739.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
+1D55 ; [.1739.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O; QQK
+2C7A ; [.173A.0020.0002.2C7A] # LATIN SMALL LETTER O WITH LOW RING INSIDE
+0275 ; [.173B.0020.0002.0275] # LATIN SMALL LETTER BARRED O
+019F ; [.173B.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+1DB1 ; [.173B.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O; QQK
+A74B ; [.173F.0020.0002.A74B] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74A ; [.173F.0020.0008.A74A] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+0277 ; [.1740.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
+0223 ; [.1744.0020.0002.0223] # LATIN SMALL LETTER OU
+0222 ; [.1744.0020.0008.0222] # LATIN CAPITAL LETTER OU
+1D3D ; [.1744.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU; QQK
+1D15 ; [.1748.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
+0070 ; [.1749.0020.0002.0070] # LATIN SMALL LETTER P
+FF50 ; [.1749.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P; QQK
+24AB ; [*030E.0020.0004.24AB][.1749.0020.0004.24AB][*030F.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P; QQKN
+1D429 ; [.1749.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P; QQK
+1D45D ; [.1749.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P; QQK
+1D491 ; [.1749.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P; QQK
+1D4C5 ; [.1749.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P; QQK
+1D4F9 ; [.1749.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P; QQK
+1D52D ; [.1749.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P; QQK
+1D561 ; [.1749.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P; QQK
+1D595 ; [.1749.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P; QQK
+1D5C9 ; [.1749.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P; QQK
+1D5FD ; [.1749.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P; QQK
+1D631 ; [.1749.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P; QQK
+1D665 ; [.1749.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P; QQK
+1D699 ; [.1749.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P; QQK
+24DF ; [.1749.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P; QQK
+0050 ; [.1749.0020.0008.0050] # LATIN CAPITAL LETTER P
+FF30 ; [.1749.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P; QQK
+1F11F ; [*030E.0020.0004.1F11F][.1749.0020.000A.1F11F][*030F.0020.001F.1F11F] # PARENTHESIZED LATIN CAPITAL LETTER P; QQKN
+1F1F5 ; [.1749.0020.000A.1F1F5] # REGIONAL INDICATOR SYMBOL LETTER P; QQK
+2119 ; [.1749.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P; QQK
+1D40F ; [.1749.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P; QQK
+1D443 ; [.1749.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P; QQK
+1D477 ; [.1749.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P; QQK
+1D4AB ; [.1749.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P; QQK
+1D4DF ; [.1749.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P; QQK
+1D513 ; [.1749.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P; QQK
+1D57B ; [.1749.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P; QQK
+1D5AF ; [.1749.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P; QQK
+1D5E3 ; [.1749.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P; QQK
+1D617 ; [.1749.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P; QQK
+1D64B ; [.1749.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P; QQK
+1D67F ; [.1749.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P; QQK
+24C5 ; [.1749.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P; QQK
+1F15F ; [.1749.0020.000C.1F15F] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P; QQK
+1D56 ; [.1749.0020.0014.1D56] # MODIFIER LETTER SMALL P; QQK
+209A ; [.1749.0020.0015.209A] # LATIN SUBSCRIPT SMALL LETTER P; QQK
+1D3E ; [.1749.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P; QQK
+1F13F ; [.1749.0020.001D.1F13F] # SQUARED LATIN CAPITAL LETTER P; QQK
+1F17F ; [.1749.0020.001D.1F17F] # NEGATIVE SQUARED LATIN CAPITAL LETTER P; QQK
+1F18A ; [.1749.0020.001D.1F18A] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P; QQK
+1E55 ; [.1749.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE; QQCM
+1E54 ; [.1749.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE; QQCM
+1E57 ; [.1749.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE; QQCM
+1E56 ; [.1749.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE; QQCM
+3380 ; [.1749.0020.001C.3380][.15A3.0020.001D.3380] # SQUARE PA AMPS; QQKN
+33A9 ; [.1749.0020.001D.33A9][.15A3.0020.001C.33A9] # SQUARE PA; QQKN
+1F18C ; [.1749.0020.001D.1F18C][.15A3.0020.001D.1F18C] # NEGATIVE SQUARED PA; QQKN
+3376 ; [.1749.0020.001C.3376][.15D1.0020.001C.3376] # SQUARE PC; QQKN
+338A ; [.1749.0020.001C.338A][.1637.0020.001D.338A] # SQUARE PF; QQKN
+33D7 ; [.1749.0020.001D.33D7][.1667.0020.001D.33D7] # SQUARE PH; QQKN
+33D8 ; [.1749.0020.001C.33D8][*028E.0020.001C.33D8][.16F4.0020.001F.33D8][*028E.0020.001F.33D8] # SQUARE PM; QQKN
+33D9 ; [.1749.0020.001D.33D9][.1749.0020.001D.33D9][.16F4.0020.001F.33D9] # SQUARE PPM; QQKN
+1F14E ; [.1749.0020.001D.1F14E][.1749.0020.001D.1F14E][.1812.0020.001F.1F14E] # SQUARED PPV; QQKN
+33DA ; [.1749.0020.001D.33DA][.1770.0020.001D.33DA] # SQUARE PR; QQKN
+33B0 ; [.1749.0020.001C.33B0][.17A6.0020.001C.33B0] # SQUARE PS; QQKN
+3250 ; [.1749.0020.001D.3250][.17C9.0020.001D.3250][.15FF.0020.001F.3250] # PARTNERSHIP SIGN; QQKN
+33B4 ; [.1749.0020.001C.33B4][.1812.0020.001D.33B4] # SQUARE PV; QQKN
+33BA ; [.1749.0020.001C.33BA][.1824.0020.001D.33BA] # SQUARE PW; QQKN
+1D18 ; [.174D.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
+1D7D ; [.174E.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
+2C63 ; [.174E.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
+A751 ; [.174F.0020.0002.A751] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A750 ; [.174F.0020.0008.A750] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+1D71 ; [.1750.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
+1D88 ; [.1751.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
+01A5 ; [.1752.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
+01A4 ; [.1752.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
+A753 ; [.1756.0020.0002.A753] # LATIN SMALL LETTER P WITH FLOURISH
+A752 ; [.1756.0020.0008.A752] # LATIN CAPITAL LETTER P WITH FLOURISH
+A755 ; [.1757.0020.0002.A755] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A754 ; [.1757.0020.0008.A754] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A7FC ; [.1758.0020.0002.A7FC] # LATIN EPIGRAPHIC LETTER REVERSED P
+0278 ; [.1759.0020.0002.0278] # LATIN SMALL LETTER PHI
+1DB2 ; [.1759.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI; QQK
+2C77 ; [.175D.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
+0071 ; [.175E.0020.0002.0071] # LATIN SMALL LETTER Q
+FF51 ; [.175E.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q; QQK
+24AC ; [*030E.0020.0004.24AC][.175E.0020.0004.24AC][*030F.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q; QQKN
+1D42A ; [.175E.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q; QQK
+1D45E ; [.175E.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q; QQK
+1D492 ; [.175E.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q; QQK
+1D4C6 ; [.175E.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q; QQK
+1D4FA ; [.175E.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q; QQK
+1D52E ; [.175E.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q; QQK
+1D562 ; [.175E.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q; QQK
+1D596 ; [.175E.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q; QQK
+1D5CA ; [.175E.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q; QQK
+1D5FE ; [.175E.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q; QQK
+1D632 ; [.175E.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q; QQK
+1D666 ; [.175E.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q; QQK
+1D69A ; [.175E.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q; QQK
+24E0 ; [.175E.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q; QQK
+0051 ; [.175E.0020.0008.0051] # LATIN CAPITAL LETTER Q
+FF31 ; [.175E.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q; QQK
+1F120 ; [*030E.0020.0004.1F120][.175E.0020.000A.1F120][*030F.0020.001F.1F120] # PARENTHESIZED LATIN CAPITAL LETTER Q; QQKN
+1F1F6 ; [.175E.0020.000A.1F1F6] # REGIONAL INDICATOR SYMBOL LETTER Q; QQK
+211A ; [.175E.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q; QQK
+1D410 ; [.175E.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q; QQK
+1D444 ; [.175E.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q; QQK
+1D478 ; [.175E.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q; QQK
+1D4AC ; [.175E.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q; QQK
+1D4E0 ; [.175E.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q; QQK
+1D514 ; [.175E.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q; QQK
+1D57C ; [.175E.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q; QQK
+1D5B0 ; [.175E.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q; QQK
+1D5E4 ; [.175E.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q; QQK
+1D618 ; [.175E.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q; QQK
+1D64C ; [.175E.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q; QQK
+1D680 ; [.175E.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q; QQK
+24C6 ; [.175E.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q; QQK
+1F160 ; [.175E.0020.000C.1F160] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q; QQK
+1F140 ; [.175E.0020.001D.1F140] # SQUARED LATIN CAPITAL LETTER Q; QQK
+1F180 ; [.175E.0020.001D.1F180] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q; QQK
+0239 ; [.175E.0020.0004.0239][.1749.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH; QQKN
+A757 ; [.1762.0020.0002.A757] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A756 ; [.1762.0020.0008.A756] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A759 ; [.1763.0020.0002.A759] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A758 ; [.1763.0020.0008.A758] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+02A0 ; [.1764.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
+024B ; [.1768.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
+024A ; [.1768.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+0138 ; [.176C.0020.0002.0138] # LATIN SMALL LETTER KRA
+0072 ; [.1770.0020.0002.0072] # LATIN SMALL LETTER R
+FF52 ; [.1770.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R; QQK
+036C ; [.1770.0020.0004.036C] # COMBINING LATIN SMALL LETTER R; QQK
+1DCA ; [.1770.0020.0004.1DCA] # COMBINING LATIN SMALL LETTER R BELOW; QQK
+24AD ; [*030E.0020.0004.24AD][.1770.0020.0004.24AD][*030F.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R; QQKN
+1D42B ; [.1770.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R; QQK
+1D45F ; [.1770.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R; QQK
+1D493 ; [.1770.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R; QQK
+1D4C7 ; [.1770.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R; QQK
+1D4FB ; [.1770.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R; QQK
+1D52F ; [.1770.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R; QQK
+1D563 ; [.1770.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R; QQK
+1D597 ; [.1770.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R; QQK
+1D5CB ; [.1770.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R; QQK
+1D5FF ; [.1770.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R; QQK
+1D633 ; [.1770.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R; QQK
+1D667 ; [.1770.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R; QQK
+1D69B ; [.1770.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R; QQK
+24E1 ; [.1770.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R; QQK
+0052 ; [.1770.0020.0008.0052] # LATIN CAPITAL LETTER R
+FF32 ; [.1770.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R; QQK
+1F121 ; [*030E.0020.0004.1F121][.1770.0020.000A.1F121][*030F.0020.001F.1F121] # PARENTHESIZED LATIN CAPITAL LETTER R; QQKN
+1F1F7 ; [.1770.0020.000A.1F1F7] # REGIONAL INDICATOR SYMBOL LETTER R; QQK
+211B ; [.1770.0020.000B.211B] # SCRIPT CAPITAL R; QQK
+211C ; [.1770.0020.000B.211C] # BLACK-LETTER CAPITAL R; QQK
+211D ; [.1770.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R; QQK
+1D411 ; [.1770.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R; QQK
+1D445 ; [.1770.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R; QQK
+1D479 ; [.1770.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R; QQK
+1D4E1 ; [.1770.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R; QQK
+1D57D ; [.1770.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R; QQK
+1D5B1 ; [.1770.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R; QQK
+1D5E5 ; [.1770.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R; QQK
+1D619 ; [.1770.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R; QQK
+1D64D ; [.1770.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R; QQK
+1D681 ; [.1770.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R; QQK
+24C7 ; [.1770.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R; QQK
+1F12C ; [.1770.0020.000C.1F12C] # CIRCLED ITALIC LATIN CAPITAL LETTER R; QQK
+1F161 ; [.1770.0020.000C.1F161] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R; QQK
+02B3 ; [.1770.0020.0014.02B3] # MODIFIER LETTER SMALL R; QQK
+1D63 ; [.1770.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R; QQK
+1D3F ; [.1770.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R; QQK
+1F141 ; [.1770.0020.001D.1F141] # SQUARED LATIN CAPITAL LETTER R; QQK
+1F181 ; [.1770.0020.001D.1F181] # NEGATIVE SQUARED LATIN CAPITAL LETTER R; QQK
+0155 ; [.1770.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE; QQCM
+0154 ; [.1770.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE; QQCM
+0159 ; [.1770.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON; QQCM
+0158 ; [.1770.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON; QQCM
+1E59 ; [.1770.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE; QQCM
+1E58 ; [.1770.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE; QQCM
+0157 ; [.1770.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA; QQCM
+0156 ; [.1770.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA; QQCM
+A7A7 ; [.1770.0020.0004.A7A7][.0000.0061.0004.A7A7] # LATIN SMALL LETTER R WITH OBLIQUE STROKE; QQKN
+A7A6 ; [.1770.0020.000A.A7A6][.0000.0061.0004.A7A6] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE; QQKN
+0211 ; [.1770.0020.0002.0072][.0000.0065.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE; QQCM
+0210 ; [.1770.0020.0008.0052][.0000.0065.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE; QQCM
+0213 ; [.1770.0020.0002.0072][.0000.0067.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE; QQCM
+0212 ; [.1770.0020.0008.0052][.0000.0067.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE; QQCM
+1E5B ; [.1770.0020.0002.0072][.0000.0070.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW; QQCM
+1E5A ; [.1770.0020.0008.0052][.0000.0070.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW; QQCM
+1E5D ; [.1770.0020.0002.0072][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON; QQCM
+1E5C ; [.1770.0020.0008.0052][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON; QQCM
+1E5F ; [.1770.0020.0002.0072][.0000.007B.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW; QQCM
+1E5E ; [.1770.0020.0008.0052][.0000.007B.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW; QQCM
+A783 ; [.1770.0020.0004.A783][.0000.0160.0004.A783] # LATIN SMALL LETTER INSULAR R; QQKN
+A782 ; [.1770.0020.000A.A782][.0000.0160.0004.A782] # LATIN CAPITAL LETTER INSULAR R; QQKN
+33AD ; [.1770.0020.001C.33AD][.15A3.0020.001C.33AD][.15E4.0020.001F.33AD] # SQUARE RAD; QQKN
+33AE ; [.1770.0020.001C.33AE][.15A3.0020.001C.33AE][.15E4.0020.001F.33AE][*0579.0020.001F.33AE][.17A6.0020.001F.33AE] # SQUARE RAD OVER S; QQKN
+33AF ; [.1770.0020.001C.33AF][.15A3.0020.001C.33AF][.15E4.0020.001F.33AF][*0579.0020.001F.33AF][.17A6.0020.001F.33AF][.159B.0020.001F.33AF] # SQUARE RAD OVER S SQUARED; QQKN
+20A8 ; [.1770.0020.000A.20A8][.17A6.0020.0004.20A8] # RUPEE SIGN; QQKN
+0280 ; [.1774.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
+1DE2 ; [.1774.0020.0004.1DE2] # COMBINING LATIN LETTER SMALL CAPITAL R; QQK
+01A6 ; [.1774.0020.0008.01A6] # LATIN LETTER YR
+A75B ; [.1778.0020.0002.A75B] # LATIN SMALL LETTER R ROTUNDA
+1DE3 ; [.1778.0020.0004.1DE3] # COMBINING LATIN SMALL LETTER R ROTUNDA; QQK
+A75A ; [.1778.0020.0008.A75A] # LATIN CAPITAL LETTER R ROTUNDA
+1D19 ; [.1779.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
+024D ; [.177A.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
+024C ; [.177A.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
+1D72 ; [.177E.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
+0279 ; [.177F.0020.0002.0279] # LATIN SMALL LETTER TURNED R
+02B4 ; [.177F.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R; QQK
+1D1A ; [.1783.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
+027A ; [.1784.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
+1D89 ; [.1788.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
+027B ; [.1789.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
+02B5 ; [.1789.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK; QQK
+2C79 ; [.178D.0020.0002.2C79] # LATIN SMALL LETTER TURNED R WITH TAIL
+027C ; [.178E.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
+027D ; [.1792.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
+2C64 ; [.1792.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
+027E ; [.1796.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
+1D73 ; [.179A.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+027F ; [.179B.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+0281 ; [.179F.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
+02B6 ; [.179F.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R; QQK
+A775 ; [.17A3.0020.0002.A775] # LATIN SMALL LETTER RUM
+A776 ; [.17A4.0020.0002.A776] # LATIN LETTER SMALL CAPITAL RUM
+A75D ; [.17A5.0020.0002.A75D] # LATIN SMALL LETTER RUM ROTUNDA
+A75C ; [.17A5.0020.0008.A75C] # LATIN CAPITAL LETTER RUM ROTUNDA
+0073 ; [.17A6.0020.0002.0073] # LATIN SMALL LETTER S
+FF53 ; [.17A6.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S; QQK
+1DE4 ; [.17A6.0020.0004.1DE4] # COMBINING LATIN SMALL LETTER S; QQK
+24AE ; [*030E.0020.0004.24AE][.17A6.0020.0004.24AE][*030F.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S; QQKN
+1D42C ; [.17A6.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S; QQK
+1D460 ; [.17A6.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S; QQK
+1D494 ; [.17A6.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S; QQK
+1D4C8 ; [.17A6.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S; QQK
+1D4FC ; [.17A6.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S; QQK
+1D530 ; [.17A6.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S; QQK
+1D564 ; [.17A6.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S; QQK
+1D598 ; [.17A6.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S; QQK
+1D5CC ; [.17A6.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S; QQK
+1D600 ; [.17A6.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S; QQK
+1D634 ; [.17A6.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S; QQK
+1D668 ; [.17A6.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S; QQK
+1D69C ; [.17A6.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S; QQK
+24E2 ; [.17A6.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S; QQK
+0053 ; [.17A6.0020.0008.0053] # LATIN CAPITAL LETTER S
+FF33 ; [.17A6.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S; QQK
+1F122 ; [*030E.0020.0004.1F122][.17A6.0020.000A.1F122][*030F.0020.001F.1F122] # PARENTHESIZED LATIN CAPITAL LETTER S; QQKN
+1F12A ; [*0356.0020.0004.1F12A][.17A6.0020.000A.1F12A][*0357.0020.001F.1F12A] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S; QQKN
+1F1F8 ; [.17A6.0020.000A.1F1F8] # REGIONAL INDICATOR SYMBOL LETTER S; QQK
+1D412 ; [.17A6.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S; QQK
+1D446 ; [.17A6.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S; QQK
+1D47A ; [.17A6.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S; QQK
+1D4AE ; [.17A6.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S; QQK
+1D4E2 ; [.17A6.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S; QQK
+1D516 ; [.17A6.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S; QQK
+1D54A ; [.17A6.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S; QQK
+1D57E ; [.17A6.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S; QQK
+1D5B2 ; [.17A6.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S; QQK
+1D5E6 ; [.17A6.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S; QQK
+1D61A ; [.17A6.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S; QQK
+1D64E ; [.17A6.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S; QQK
+1D682 ; [.17A6.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S; QQK
+24C8 ; [.17A6.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S; QQK
+1F162 ; [.17A6.0020.000C.1F162] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S; QQK
+02E2 ; [.17A6.0020.0014.02E2] # MODIFIER LETTER SMALL S; QQK
+209B ; [.17A6.0020.0015.209B] # LATIN SUBSCRIPT SMALL LETTER S; QQK
+1F142 ; [.17A6.0020.001D.1F142] # SQUARED LATIN CAPITAL LETTER S; QQK
+1F182 ; [.17A6.0020.001D.1F182] # NEGATIVE SQUARED LATIN CAPITAL LETTER S; QQK
+015B ; [.17A6.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE; QQCM
+015A ; [.17A6.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE; QQCM
+1E65 ; [.17A6.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
+1E64 ; [.17A6.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
+015D ; [.17A6.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX; QQCM
+015C ; [.17A6.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX; QQCM
+0161 ; [.17A6.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON; QQCM
+0160 ; [.17A6.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON; QQCM
+1E67 ; [.17A6.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE; QQCM
+1E66 ; [.17A6.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE; QQCM
+1E61 ; [.17A6.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE; QQCM
+1E60 ; [.17A6.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE; QQCM
+015F ; [.17A6.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA; QQCM
+015E ; [.17A6.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA; QQCM
+A7A9 ; [.17A6.0020.0004.A7A9][.0000.0061.0004.A7A9] # LATIN SMALL LETTER S WITH OBLIQUE STROKE; QQKN
+A7A8 ; [.17A6.0020.000A.A7A8][.0000.0061.0004.A7A8] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE; QQKN
+1E63 ; [.17A6.0020.0002.0073][.0000.0070.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW; QQCM
+1E62 ; [.17A6.0020.0008.0053][.0000.0070.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW; QQCM
+1E69 ; [.17A6.0020.0002.0073][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
+1E68 ; [.17A6.0020.0008.0053][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
+0219 ; [.17A6.0020.0002.0073][.0000.0077.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW; QQCM
+0218 ; [.17A6.0020.0008.0053][.0000.0077.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW; QQCM
+017F ; [.17A6.0020.0004.017F][.0000.0160.0004.017F] # LATIN SMALL LETTER LONG S; QQKN
+1DE5 ; [.17A6.0020.0004.1DE5][.0000.0160.0004.1DE5] # COMBINING LATIN SMALL LETTER LONG S; QQKN
+A785 ; [.17A6.0020.0004.A785][.0000.0160.0004.A785] # LATIN SMALL LETTER INSULAR S; QQKN
+A784 ; [.17A6.0020.000A.A784][.0000.0160.0004.A784] # LATIN CAPITAL LETTER INSULAR S; QQKN
+1E9B ; [.17A6.0020.0004.1E9B][.0000.0160.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE; QQKN
+1F18D ; [.17A6.0020.001D.1F18D][.15A3.0020.001D.1F18D] # NEGATIVE SQUARED SA; QQKN
+1F14C ; [.17A6.0020.001D.1F14C][.15E4.0020.001D.1F14C] # SQUARED SD; QQKN
+2120 ; [.17A6.0020.0014.2120][.16F4.0020.0014.2120] # SERVICE MARK; QQKN
+1F198 ; [.17A6.0020.001D.1F198][.1724.0020.001D.1F198][.17A6.0020.001F.1F198] # SQUARED SOS; QQKN
+33DB ; [.17A6.0020.001C.33DB][.1770.0020.001C.33DB] # SQUARE SR; QQKN
+1F14D ; [.17A6.0020.001D.1F14D][.17A6.0020.001D.1F14D] # SQUARED SS; QQKN
+00DF ; [.17A6.0020.0004.00DF][.0000.015F.0004.00DF][.17A6.0020.001F.00DF] # LATIN SMALL LETTER SHARP S; QQKN
+1E9E ; [.17A6.0020.000A.1E9E][.0000.015F.0004.1E9E][.17A6.0020.001F.1E9E] # LATIN CAPITAL LETTER SHARP S; QQKN
+FB06 ; [.17A6.0020.0004.FB06][.17C9.0020.0004.FB06] # LATIN SMALL LIGATURE ST; QQKN
+FB05 ; [.17A6.0020.0004.FB05][.0000.0160.0004.FB05][.17C9.0020.001F.FB05] # LATIN SMALL LIGATURE LONG S T; QQKN
+33DC ; [.17A6.0020.001D.33DC][.1812.0020.001C.33DC] # SQUARE SV; QQKN
+A731 ; [.17AA.0020.0002.A731] # LATIN LETTER SMALL CAPITAL S
+1D74 ; [.17AB.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
+1D8A ; [.17AC.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
+0282 ; [.17AD.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
+1DB3 ; [.17AD.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK; QQK
+023F ; [.17B1.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
+2C7E ; [.17B1.0020.0008.2C7E] # LATIN CAPITAL LETTER S WITH SWASH TAIL
+1E9C ; [.17B5.0020.0002.1E9C] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+1E9D ; [.17B6.0020.0002.1E9D] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
+0283 ; [.17B7.0020.0002.0283] # LATIN SMALL LETTER ESH
+01A9 ; [.17B7.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
+1DB4 ; [.17B7.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH; QQK
+1D8B ; [.17BB.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
+01AA ; [.17BC.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
+0285 ; [.17C0.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
+1D98 ; [.17C4.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
+0286 ; [.17C5.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
+0074 ; [.17C9.0020.0002.0074] # LATIN SMALL LETTER T
+FF54 ; [.17C9.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T; QQK
+036D ; [.17C9.0020.0004.036D] # COMBINING LATIN SMALL LETTER T; QQK
+24AF ; [*030E.0020.0004.24AF][.17C9.0020.0004.24AF][*030F.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T; QQKN
+1D42D ; [.17C9.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T; QQK
+1D461 ; [.17C9.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T; QQK
+1D495 ; [.17C9.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T; QQK
+1D4C9 ; [.17C9.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T; QQK
+1D4FD ; [.17C9.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T; QQK
+1D531 ; [.17C9.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T; QQK
+1D565 ; [.17C9.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T; QQK
+1D599 ; [.17C9.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T; QQK
+1D5CD ; [.17C9.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T; QQK
+1D601 ; [.17C9.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T; QQK
+1D635 ; [.17C9.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T; QQK
+1D669 ; [.17C9.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T; QQK
+1D69D ; [.17C9.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T; QQK
+24E3 ; [.17C9.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T; QQK
+0054 ; [.17C9.0020.0008.0054] # LATIN CAPITAL LETTER T
+FF34 ; [.17C9.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T; QQK
+1F123 ; [*030E.0020.0004.1F123][.17C9.0020.000A.1F123][*030F.0020.001F.1F123] # PARENTHESIZED LATIN CAPITAL LETTER T; QQKN
+1F1F9 ; [.17C9.0020.000A.1F1F9] # REGIONAL INDICATOR SYMBOL LETTER T; QQK
+1D413 ; [.17C9.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T; QQK
+1D447 ; [.17C9.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T; QQK
+1D47B ; [.17C9.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T; QQK
+1D4AF ; [.17C9.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T; QQK
+1D4E3 ; [.17C9.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T; QQK
+1D517 ; [.17C9.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T; QQK
+1D54B ; [.17C9.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T; QQK
+1D57F ; [.17C9.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T; QQK
+1D5B3 ; [.17C9.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T; QQK
+1D5E7 ; [.17C9.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T; QQK
+1D61B ; [.17C9.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T; QQK
+1D64F ; [.17C9.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T; QQK
+1D683 ; [.17C9.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T; QQK
+24C9 ; [.17C9.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T; QQK
+1F163 ; [.17C9.0020.000C.1F163] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T; QQK
+1D57 ; [.17C9.0020.0014.1D57] # MODIFIER LETTER SMALL T; QQK
+209C ; [.17C9.0020.0015.209C] # LATIN SUBSCRIPT SMALL LETTER T; QQK
+1D40 ; [.17C9.0020.001D.1D40] # MODIFIER LETTER CAPITAL T; QQK
+1F143 ; [.17C9.0020.001D.1F143] # SQUARED LATIN CAPITAL LETTER T; QQK
+1F183 ; [.17C9.0020.001D.1F183] # NEGATIVE SQUARED LATIN CAPITAL LETTER T; QQK
+0165 ; [.17C9.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON; QQCM
+0164 ; [.17C9.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON; QQCM
+1E97 ; [.17C9.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS; QQCM
+1E6B ; [.17C9.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE; QQCM
+1E6A ; [.17C9.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE; QQCM
+0163 ; [.17C9.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA; QQCM
+0162 ; [.17C9.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA; QQCM
+1E6D ; [.17C9.0020.0002.0074][.0000.0070.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW; QQCM
+1E6C ; [.17C9.0020.0008.0054][.0000.0070.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW; QQCM
+021B ; [.17C9.0020.0002.0074][.0000.0077.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW; QQCM
+021A ; [.17C9.0020.0008.0054][.0000.0077.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW; QQCM
+1E71 ; [.17C9.0020.0002.0074][.0000.0078.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW; QQCM
+1E70 ; [.17C9.0020.0008.0054][.0000.0078.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW; QQCM
+1E6F ; [.17C9.0020.0002.0074][.0000.007B.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW; QQCM
+1E6E ; [.17C9.0020.0008.0054][.0000.007B.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW; QQCM
+A787 ; [.17C9.0020.0004.A787][.0000.0160.0004.A787] # LATIN SMALL LETTER INSULAR T; QQKN
+A786 ; [.17C9.0020.000A.A786][.0000.0160.0004.A786] # LATIN CAPITAL LETTER INSULAR T; QQKN
+02A8 ; [.17C9.0020.0004.02A8][.15DE.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL; QQKN
+2121 ; [.17C9.0020.000A.2121][.15FF.0020.000A.2121][.16C4.0020.001F.2121] # TELEPHONE SIGN; QQKN
+1D7A ; [.17C9.0020.0004.1D7A][.0000.015F.0004.1D7A][.1667.0020.001F.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH; QQKN
+3394 ; [.17C9.0020.001D.3394][.1667.0020.001D.3394][.1844.0020.001F.3394] # SQUARE THZ; QQKN
+2122 ; [.17C9.0020.0014.2122][.16F4.0020.0014.2122] # TRADE MARK SIGN; QQKN
+01BE ; [.17C9.0020.0004.01BE][.17A6.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE; QQKN
+02A6 ; [.17C9.0020.0004.02A6][.17A6.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH; QQKN
+02A7 ; [.17C9.0020.0004.02A7][.17B7.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH; QQKN
+A729 ; [.17C9.0020.0004.A729][.1844.0020.0004.A729] # LATIN SMALL LETTER TZ; QQKN
+A728 ; [.17C9.0020.000A.A728][.1844.0020.0004.A728] # LATIN CAPITAL LETTER TZ; QQKN
+1D1B ; [.17CD.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
+0167 ; [.17CE.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.17CE.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
+2C66 ; [.17D2.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
+023E ; [.17D2.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+1D75 ; [.17D3.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
+01AB ; [.17D4.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
+1DB5 ; [.17D4.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK; QQK
+01AD ; [.17D8.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
+01AC ; [.17D8.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
+0288 ; [.17DC.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
+01AE ; [.17DC.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+0236 ; [.17E0.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
+A777 ; [.17E4.0020.0002.A777] # LATIN SMALL LETTER TUM
+0287 ; [.17E5.0020.0002.0287] # LATIN SMALL LETTER TURNED T
+0075 ; [.17E9.0020.0002.0075] # LATIN SMALL LETTER U
+FF55 ; [.17E9.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U; QQK
+0367 ; [.17E9.0020.0004.0367] # COMBINING LATIN SMALL LETTER U; QQK
+24B0 ; [*030E.0020.0004.24B0][.17E9.0020.0004.24B0][*030F.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U; QQKN
+1D42E ; [.17E9.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U; QQK
+1D462 ; [.17E9.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U; QQK
+1D496 ; [.17E9.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U; QQK
+1D4CA ; [.17E9.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U; QQK
+1D4FE ; [.17E9.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U; QQK
+1D532 ; [.17E9.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U; QQK
+1D566 ; [.17E9.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U; QQK
+1D59A ; [.17E9.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U; QQK
+1D5CE ; [.17E9.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U; QQK
+1D602 ; [.17E9.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U; QQK
+1D636 ; [.17E9.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U; QQK
+1D66A ; [.17E9.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U; QQK
+1D69E ; [.17E9.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U; QQK
+24E4 ; [.17E9.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U; QQK
+0055 ; [.17E9.0020.0008.0055] # LATIN CAPITAL LETTER U
+FF35 ; [.17E9.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U; QQK
+1F124 ; [*030E.0020.0004.1F124][.17E9.0020.000A.1F124][*030F.0020.001F.1F124] # PARENTHESIZED LATIN CAPITAL LETTER U; QQKN
+1F1FA ; [.17E9.0020.000A.1F1FA] # REGIONAL INDICATOR SYMBOL LETTER U; QQK
+1D414 ; [.17E9.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U; QQK
+1D448 ; [.17E9.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U; QQK
+1D47C ; [.17E9.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U; QQK
+1D4B0 ; [.17E9.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U; QQK
+1D4E4 ; [.17E9.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U; QQK
+1D518 ; [.17E9.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U; QQK
+1D54C ; [.17E9.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U; QQK
+1D580 ; [.17E9.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U; QQK
+1D5B4 ; [.17E9.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U; QQK
+1D5E8 ; [.17E9.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U; QQK
+1D61C ; [.17E9.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U; QQK
+1D650 ; [.17E9.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U; QQK
+1D684 ; [.17E9.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U; QQK
+24CA ; [.17E9.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U; QQK
+1F164 ; [.17E9.0020.000C.1F164] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U; QQK
+1D58 ; [.17E9.0020.0014.1D58] # MODIFIER LETTER SMALL U; QQK
+1D64 ; [.17E9.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U; QQK
+1D41 ; [.17E9.0020.001D.1D41] # MODIFIER LETTER CAPITAL U; QQK
+1F144 ; [.17E9.0020.001D.1F144] # SQUARED LATIN CAPITAL LETTER U; QQK
+1F184 ; [.17E9.0020.001D.1F184] # NEGATIVE SQUARED LATIN CAPITAL LETTER U; QQK
+00FA ; [.17E9.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE; QQCM
+00DA ; [.17E9.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE; QQCM
+00F9 ; [.17E9.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE; QQCM
+00D9 ; [.17E9.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE; QQCM
+016D ; [.17E9.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE; QQCM
+016C ; [.17E9.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE; QQCM
+00FB ; [.17E9.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX; QQCM
+00DB ; [.17E9.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX; QQCM
+01D4 ; [.17E9.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON; QQCM
+01D3 ; [.17E9.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON; QQCM
+016F ; [.17E9.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE; QQCM
+016E ; [.17E9.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE; QQCM
+00FC ; [.17E9.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS; QQCM
+00DC ; [.17E9.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS; QQCM
+01D8 ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE; QQCM
+01D7 ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE; QQCM
+01DC ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE; QQCM
+01DB ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE; QQCM
+01DA ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON; QQCM
+01D9 ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON; QQCM
+01D6 ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON; QQCM
+01D5 ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON; QQCM
+0171 ; [.17E9.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE; QQCM
+0170 ; [.17E9.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE; QQCM
+0169 ; [.17E9.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE; QQCM
+0168 ; [.17E9.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE; QQCM
+1E79 ; [.17E9.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE; QQCM
+1E78 ; [.17E9.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE; QQCM
+0173 ; [.17E9.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK; QQCM
+0172 ; [.17E9.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK; QQCM
+016B ; [.17E9.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON; QQCM
+016A ; [.17E9.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON; QQCM
+1E7B ; [.17E9.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS; QQCM
+1E7A ; [.17E9.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS; QQCM
+1EE7 ; [.17E9.0020.0002.0075][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE; QQCM
+1EE6 ; [.17E9.0020.0008.0055][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE; QQCM
+0215 ; [.17E9.0020.0002.0075][.0000.0065.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE; QQCM
+0214 ; [.17E9.0020.0008.0055][.0000.0065.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE; QQCM
+0217 ; [.17E9.0020.0002.0075][.0000.0067.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE; QQCM
+0216 ; [.17E9.0020.0008.0055][.0000.0067.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE; QQCM
+01B0 ; [.17E9.0020.0002.0075][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN; QQCM
+01AF ; [.17E9.0020.0008.0055][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN; QQCM
+1EE9 ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE; QQCM
+1EE8 ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE; QQCM
+1EEB ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE; QQCM
+1EEA ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE; QQCM
+1EEF ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE; QQCM
+1EEE ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE; QQCM
+1EED ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE; QQCM
+1EEC ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE; QQCM
+1EF1 ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW; QQCM
+1EF0 ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW; QQCM
+1EE5 ; [.17E9.0020.0002.0075][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW; QQCM
+1EE4 ; [.17E9.0020.0008.0055][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW; QQCM
+1E73 ; [.17E9.0020.0002.0075][.0000.0075.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW; QQCM
+1E72 ; [.17E9.0020.0008.0055][.0000.0075.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW; QQCM
+1E77 ; [.17E9.0020.0002.0075][.0000.0078.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW; QQCM
+1E76 ; [.17E9.0020.0008.0055][.0000.0078.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW; QQCM
+1E75 ; [.17E9.0020.0002.0075][.0000.007A.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW; QQCM
+1E74 ; [.17E9.0020.0008.0055][.0000.007A.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW; QQCM
+1F199 ; [.17E9.0020.001D.1F199][.1749.0020.001D.1F199][*027B.0020.001F.1F199] # SQUARED UP WITH EXCLAMATION MARK; QQKN
+1D1C ; [.17ED.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
+1DB8 ; [.17ED.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U; QQK
+1D1D ; [.17EE.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
+1D59 ; [.17EE.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U; QQK
+1D1E ; [.17EF.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+1D6B ; [.17F0.0020.0002.1D6B] # LATIN SMALL LETTER UE
+0289 ; [.17F1.0020.0002.0289] # LATIN SMALL LETTER U BAR
+0244 ; [.17F1.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
+1DB6 ; [.17F1.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR; QQK
+1D7E ; [.17F5.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
+1D99 ; [.17F6.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
+0265 ; [.17F7.0020.0002.0265] # LATIN SMALL LETTER TURNED H
+A78D ; [.17F7.0020.0008.A78D] # LATIN CAPITAL LETTER TURNED H
+1DA3 ; [.17F7.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H; QQK
+02AE ; [.17FB.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
+02AF ; [.17FF.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+026F ; [.1803.0020.0002.026F] # LATIN SMALL LETTER TURNED M
+019C ; [.1803.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
+1D5A ; [.1803.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M; QQK
+A7FA ; [.1807.0020.0002.A7FA] # LATIN LETTER SMALL CAPITAL TURNED M
+1D1F ; [.1808.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
+0270 ; [.1809.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
+1DAD ; [.1809.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG; QQK
+028A ; [.180D.0020.0002.028A] # LATIN SMALL LETTER UPSILON
+01B1 ; [.180D.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
+1DB7 ; [.180D.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON; QQK
+1D7F ; [.1811.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
+0076 ; [.1812.0020.0002.0076] # LATIN SMALL LETTER V
+FF56 ; [.1812.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V; QQK
+036E ; [.1812.0020.0004.036E] # COMBINING LATIN SMALL LETTER V; QQK
+2174 ; [.1812.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE; QQK
+24B1 ; [*030E.0020.0004.24B1][.1812.0020.0004.24B1][*030F.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V; QQKN
+1D42F ; [.1812.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V; QQK
+1D463 ; [.1812.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V; QQK
+1D497 ; [.1812.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V; QQK
+1D4CB ; [.1812.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V; QQK
+1D4FF ; [.1812.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V; QQK
+1D533 ; [.1812.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V; QQK
+1D567 ; [.1812.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V; QQK
+1D59B ; [.1812.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V; QQK
+1D5CF ; [.1812.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V; QQK
+1D603 ; [.1812.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V; QQK
+1D637 ; [.1812.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V; QQK
+1D66B ; [.1812.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V; QQK
+1D69F ; [.1812.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V; QQK
+24E5 ; [.1812.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V; QQK
+0056 ; [.1812.0020.0008.0056] # LATIN CAPITAL LETTER V
+FF36 ; [.1812.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V; QQK
+2164 ; [.1812.0020.000A.2164] # ROMAN NUMERAL FIVE; QQK
+1F125 ; [*030E.0020.0004.1F125][.1812.0020.000A.1F125][*030F.0020.001F.1F125] # PARENTHESIZED LATIN CAPITAL LETTER V; QQKN
+1F1FB ; [.1812.0020.000A.1F1FB] # REGIONAL INDICATOR SYMBOL LETTER V; QQK
+1D415 ; [.1812.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V; QQK
+1D449 ; [.1812.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V; QQK
+1D47D ; [.1812.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V; QQK
+1D4B1 ; [.1812.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V; QQK
+1D4E5 ; [.1812.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V; QQK
+1D519 ; [.1812.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V; QQK
+1D54D ; [.1812.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V; QQK
+1D581 ; [.1812.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V; QQK
+1D5B5 ; [.1812.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V; QQK
+1D5E9 ; [.1812.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V; QQK
+1D61D ; [.1812.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V; QQK
+1D651 ; [.1812.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V; QQK
+1D685 ; [.1812.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V; QQK
+24CB ; [.1812.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V; QQK
+1F165 ; [.1812.0020.000C.1F165] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V; QQK
+1D5B ; [.1812.0020.0014.1D5B] # MODIFIER LETTER SMALL V; QQK
+1D65 ; [.1812.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V; QQK
+2C7D ; [.1812.0020.001D.2C7D] # MODIFIER LETTER CAPITAL V; QQK
+1F145 ; [.1812.0020.001D.1F145] # SQUARED LATIN CAPITAL LETTER V; QQK
+1F185 ; [.1812.0020.001D.1F185] # NEGATIVE SQUARED LATIN CAPITAL LETTER V; QQK
+1E7D ; [.1812.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE; QQCM
+1E7C ; [.1812.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE; QQCM
+1E7F ; [.1812.0020.0002.0076][.0000.0070.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW; QQCM
+1E7E ; [.1812.0020.0008.0056][.0000.0070.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW; QQCM
+2175 ; [.1812.0020.0004.2175][.1680.0020.0004.2175] # SMALL ROMAN NUMERAL SIX; QQKN
+2165 ; [.1812.0020.000A.2165][.1680.0020.000A.2165] # ROMAN NUMERAL SIX; QQKN
+2176 ; [.1812.0020.0004.2176][.1680.0020.0004.2176][.1680.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN; QQKN
+2166 ; [.1812.0020.000A.2166][.1680.0020.000A.2166][.1680.0020.001F.2166] # ROMAN NUMERAL SEVEN; QQKN
+2177 ; [.1812.0020.0004.2177][.1680.0020.0004.2177][.1680.0020.001F.2177][.1680.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT; QQKN
+2167 ; [.1812.0020.000A.2167][.1680.0020.000A.2167][.1680.0020.001F.2167][.1680.0020.001F.2167] # ROMAN NUMERAL EIGHT; QQKN
+33DE ; [.1812.0020.001D.33DE][*0579.0020.001C.33DE][.16F4.0020.001F.33DE] # SQUARE V OVER M; QQKN
+1F19A ; [.1812.0020.001D.1F19A][.17A6.0020.001D.1F19A] # SQUARED VS; QQKN
+A761 ; [.1812.0020.0004.A761][.1833.0020.0004.A761] # LATIN SMALL LETTER VY; QQKN
+A760 ; [.1812.0020.000A.A760][.1833.0020.000A.A760] # LATIN CAPITAL LETTER VY; QQKN
+1D20 ; [.1816.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
+A75F ; [.1817.0020.0002.A75F] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A75E ; [.1817.0020.0008.A75E] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+1D8C ; [.1818.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
+028B ; [.1819.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
+01B2 ; [.1819.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
+1DB9 ; [.1819.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK; QQK
+2C71 ; [.181D.0020.0002.2C71] # LATIN SMALL LETTER V WITH RIGHT HOOK
+2C74 ; [.181E.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
+1EFD ; [.181F.0020.0002.1EFD] # LATIN SMALL LETTER MIDDLE-WELSH V
+1EFC ; [.181F.0020.0008.1EFC] # LATIN CAPITAL LETTER MIDDLE-WELSH V
+028C ; [.1820.0020.0002.028C] # LATIN SMALL LETTER TURNED V
+0245 ; [.1820.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
+1DBA ; [.1820.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V; QQK
+0077 ; [.1824.0020.0002.0077] # LATIN SMALL LETTER W
+FF57 ; [.1824.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W; QQK
+24B2 ; [*030E.0020.0004.24B2][.1824.0020.0004.24B2][*030F.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W; QQKN
+1D430 ; [.1824.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W; QQK
+1D464 ; [.1824.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W; QQK
+1D498 ; [.1824.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W; QQK
+1D4CC ; [.1824.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W; QQK
+1D500 ; [.1824.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W; QQK
+1D534 ; [.1824.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W; QQK
+1D568 ; [.1824.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W; QQK
+1D59C ; [.1824.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W; QQK
+1D5D0 ; [.1824.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W; QQK
+1D604 ; [.1824.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W; QQK
+1D638 ; [.1824.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W; QQK
+1D66C ; [.1824.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W; QQK
+1D6A0 ; [.1824.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W; QQK
+24E6 ; [.1824.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W; QQK
+0057 ; [.1824.0020.0008.0057] # LATIN CAPITAL LETTER W
+FF37 ; [.1824.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W; QQK
+1F126 ; [*030E.0020.0004.1F126][.1824.0020.000A.1F126][*030F.0020.001F.1F126] # PARENTHESIZED LATIN CAPITAL LETTER W; QQKN
+1F1FC ; [.1824.0020.000A.1F1FC] # REGIONAL INDICATOR SYMBOL LETTER W; QQK
+1D416 ; [.1824.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W; QQK
+1D44A ; [.1824.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W; QQK
+1D47E ; [.1824.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W; QQK
+1D4B2 ; [.1824.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W; QQK
+1D4E6 ; [.1824.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W; QQK
+1D51A ; [.1824.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W; QQK
+1D54E ; [.1824.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W; QQK
+1D582 ; [.1824.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W; QQK
+1D5B6 ; [.1824.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W; QQK
+1D5EA ; [.1824.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W; QQK
+1D61E ; [.1824.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W; QQK
+1D652 ; [.1824.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W; QQK
+1D686 ; [.1824.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W; QQK
+24CC ; [.1824.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W; QQK
+1F166 ; [.1824.0020.000C.1F166] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W; QQK
+02B7 ; [.1824.0020.0014.02B7] # MODIFIER LETTER SMALL W; QQK
+1D42 ; [.1824.0020.001D.1D42] # MODIFIER LETTER CAPITAL W; QQK
+1F146 ; [.1824.0020.001D.1F146] # SQUARED LATIN CAPITAL LETTER W; QQK
+1F186 ; [.1824.0020.001D.1F186] # NEGATIVE SQUARED LATIN CAPITAL LETTER W; QQK
+1E83 ; [.1824.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE; QQCM
+1E82 ; [.1824.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE; QQCM
+1E81 ; [.1824.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE; QQCM
+1E80 ; [.1824.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE; QQCM
+0175 ; [.1824.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX; QQCM
+0174 ; [.1824.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX; QQCM
+1E98 ; [.1824.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE; QQCM
+1E85 ; [.1824.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS; QQCM
+1E84 ; [.1824.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS; QQCM
+1E87 ; [.1824.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE; QQCM
+1E86 ; [.1824.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE; QQCM
+1E89 ; [.1824.0020.0002.0077][.0000.0070.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW; QQCM
+1E88 ; [.1824.0020.0008.0057][.0000.0070.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW; QQCM
+33DD ; [.1824.0020.001D.33DD][.15B9.0020.001C.33DD] # SQUARE WB; QQKN
+1F14F ; [.1824.0020.001D.1F14F][.15D1.0020.001D.1F14F] # SQUARED WC; QQKN
+1F18F ; [.1824.0020.001D.1F18F][.15D1.0020.001D.1F18F] # NEGATIVE SQUARED WC; QQKN
+1F12E ; [.1824.0020.000C.1F12E][.1844.0020.000C.1F12E] # CIRCLED WZ; QQKN
+1D21 ; [.1828.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
+2C73 ; [.1829.0020.0002.2C73] # LATIN SMALL LETTER W WITH HOOK
+2C72 ; [.1829.0020.0008.2C72] # LATIN CAPITAL LETTER W WITH HOOK
+028D ; [.182A.0020.0002.028D] # LATIN SMALL LETTER TURNED W
+0078 ; [.182E.0020.0002.0078] # LATIN SMALL LETTER X
+FF58 ; [.182E.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X; QQK
+036F ; [.182E.0020.0004.036F] # COMBINING LATIN SMALL LETTER X; QQK
+2179 ; [.182E.0020.0004.2179] # SMALL ROMAN NUMERAL TEN; QQK
+24B3 ; [*030E.0020.0004.24B3][.182E.0020.0004.24B3][*030F.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X; QQKN
+1D431 ; [.182E.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X; QQK
+1D465 ; [.182E.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X; QQK
+1D499 ; [.182E.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X; QQK
+1D4CD ; [.182E.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X; QQK
+1D501 ; [.182E.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X; QQK
+1D535 ; [.182E.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X; QQK
+1D569 ; [.182E.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X; QQK
+1D59D ; [.182E.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X; QQK
+1D5D1 ; [.182E.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X; QQK
+1D605 ; [.182E.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X; QQK
+1D639 ; [.182E.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X; QQK
+1D66D ; [.182E.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X; QQK
+1D6A1 ; [.182E.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X; QQK
+24E7 ; [.182E.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X; QQK
+0058 ; [.182E.0020.0008.0058] # LATIN CAPITAL LETTER X
+FF38 ; [.182E.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X; QQK
+2169 ; [.182E.0020.000A.2169] # ROMAN NUMERAL TEN; QQK
+1F127 ; [*030E.0020.0004.1F127][.182E.0020.000A.1F127][*030F.0020.001F.1F127] # PARENTHESIZED LATIN CAPITAL LETTER X; QQKN
+1F1FD ; [.182E.0020.000A.1F1FD] # REGIONAL INDICATOR SYMBOL LETTER X; QQK
+1D417 ; [.182E.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X; QQK
+1D44B ; [.182E.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X; QQK
+1D47F ; [.182E.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X; QQK
+1D4B3 ; [.182E.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X; QQK
+1D4E7 ; [.182E.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X; QQK
+1D51B ; [.182E.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X; QQK
+1D54F ; [.182E.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X; QQK
+1D583 ; [.182E.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X; QQK
+1D5B7 ; [.182E.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X; QQK
+1D5EB ; [.182E.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X; QQK
+1D61F ; [.182E.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X; QQK
+1D653 ; [.182E.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X; QQK
+1D687 ; [.182E.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X; QQK
+24CD ; [.182E.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X; QQK
+1F167 ; [.182E.0020.000C.1F167] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X; QQK
+02E3 ; [.182E.0020.0014.02E3] # MODIFIER LETTER SMALL X; QQK
+2093 ; [.182E.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X; QQK
+1F147 ; [.182E.0020.001D.1F147] # SQUARED LATIN CAPITAL LETTER X; QQK
+1F187 ; [.182E.0020.001D.1F187] # NEGATIVE SQUARED LATIN CAPITAL LETTER X; QQK
+1E8D ; [.182E.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS; QQCM
+1E8C ; [.182E.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS; QQCM
+1E8B ; [.182E.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE; QQCM
+1E8A ; [.182E.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE; QQCM
+217A ; [.182E.0020.0004.217A][.1680.0020.0004.217A] # SMALL ROMAN NUMERAL ELEVEN; QQKN
+216A ; [.182E.0020.000A.216A][.1680.0020.000A.216A] # ROMAN NUMERAL ELEVEN; QQKN
+217B ; [.182E.0020.0004.217B][.1680.0020.0004.217B][.1680.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE; QQKN
+216B ; [.182E.0020.000A.216B][.1680.0020.000A.216B][.1680.0020.001F.216B] # ROMAN NUMERAL TWELVE; QQKN
+1D8D ; [.1832.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
+0079 ; [.1833.0020.0002.0079] # LATIN SMALL LETTER Y
+FF59 ; [.1833.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y; QQK
+24B4 ; [*030E.0020.0004.24B4][.1833.0020.0004.24B4][*030F.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y; QQKN
+1D432 ; [.1833.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y; QQK
+1D466 ; [.1833.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y; QQK
+1D49A ; [.1833.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y; QQK
+1D4CE ; [.1833.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y; QQK
+1D502 ; [.1833.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y; QQK
+1D536 ; [.1833.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y; QQK
+1D56A ; [.1833.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y; QQK
+1D59E ; [.1833.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y; QQK
+1D5D2 ; [.1833.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y; QQK
+1D606 ; [.1833.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y; QQK
+1D63A ; [.1833.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y; QQK
+1D66E ; [.1833.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y; QQK
+1D6A2 ; [.1833.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y; QQK
+24E8 ; [.1833.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y; QQK
+0059 ; [.1833.0020.0008.0059] # LATIN CAPITAL LETTER Y
+FF39 ; [.1833.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y; QQK
+1F128 ; [*030E.0020.0004.1F128][.1833.0020.000A.1F128][*030F.0020.001F.1F128] # PARENTHESIZED LATIN CAPITAL LETTER Y; QQKN
+1F1FE ; [.1833.0020.000A.1F1FE] # REGIONAL INDICATOR SYMBOL LETTER Y; QQK
+1D418 ; [.1833.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y; QQK
+1D44C ; [.1833.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y; QQK
+1D480 ; [.1833.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y; QQK
+1D4B4 ; [.1833.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y; QQK
+1D4E8 ; [.1833.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y; QQK
+1D51C ; [.1833.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y; QQK
+1D550 ; [.1833.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y; QQK
+1D584 ; [.1833.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y; QQK
+1D5B8 ; [.1833.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y; QQK
+1D5EC ; [.1833.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y; QQK
+1D620 ; [.1833.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y; QQK
+1D654 ; [.1833.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y; QQK
+1D688 ; [.1833.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y; QQK
+24CE ; [.1833.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y; QQK
+1F168 ; [.1833.0020.000C.1F168] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y; QQK
+02B8 ; [.1833.0020.0014.02B8] # MODIFIER LETTER SMALL Y; QQK
+1F148 ; [.1833.0020.001D.1F148] # SQUARED LATIN CAPITAL LETTER Y; QQK
+1F188 ; [.1833.0020.001D.1F188] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y; QQK
+00FD ; [.1833.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE; QQCM
+00DD ; [.1833.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE; QQCM
+1EF3 ; [.1833.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE; QQCM
+1EF2 ; [.1833.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE; QQCM
+0177 ; [.1833.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX; QQCM
+0176 ; [.1833.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX; QQCM
+1E99 ; [.1833.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE; QQCM
+00FF ; [.1833.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS; QQCM
+0178 ; [.1833.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS; QQCM
+1EF9 ; [.1833.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE; QQCM
+1EF8 ; [.1833.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE; QQCM
+1E8F ; [.1833.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE; QQCM
+1E8E ; [.1833.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE; QQCM
+0233 ; [.1833.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON; QQCM
+0232 ; [.1833.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON; QQCM
+1EF7 ; [.1833.0020.0002.0079][.0000.0064.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE; QQCM
+1EF6 ; [.1833.0020.0008.0059][.0000.0064.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE; QQCM
+1EF5 ; [.1833.0020.0002.0079][.0000.0070.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW; QQCM
+1EF4 ; [.1833.0020.0008.0059][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW; QQCM
+028F ; [.1837.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
+024F ; [.183B.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
+024E ; [.183B.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
+01B4 ; [.183F.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
+01B3 ; [.183F.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
+1EFF ; [.1843.0020.0002.1EFF] # LATIN SMALL LETTER Y WITH LOOP
+1EFE ; [.1843.0020.0008.1EFE] # LATIN CAPITAL LETTER Y WITH LOOP
+007A ; [.1844.0020.0002.007A] # LATIN SMALL LETTER Z
+FF5A ; [.1844.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z; QQK
+1DE6 ; [.1844.0020.0004.1DE6] # COMBINING LATIN SMALL LETTER Z; QQK
+24B5 ; [*030E.0020.0004.24B5][.1844.0020.0004.24B5][*030F.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z; QQKN
+1D433 ; [.1844.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z; QQK
+1D467 ; [.1844.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z; QQK
+1D49B ; [.1844.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z; QQK
+1D4CF ; [.1844.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z; QQK
+1D503 ; [.1844.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z; QQK
+1D537 ; [.1844.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z; QQK
+1D56B ; [.1844.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z; QQK
+1D59F ; [.1844.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z; QQK
+1D5D3 ; [.1844.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z; QQK
+1D607 ; [.1844.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z; QQK
+1D63B ; [.1844.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z; QQK
+1D66F ; [.1844.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z; QQK
+1D6A3 ; [.1844.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z; QQK
+24E9 ; [.1844.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z; QQK
+005A ; [.1844.0020.0008.005A] # LATIN CAPITAL LETTER Z
+FF3A ; [.1844.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z; QQK
+1F129 ; [*030E.0020.0004.1F129][.1844.0020.000A.1F129][*030F.0020.001F.1F129] # PARENTHESIZED LATIN CAPITAL LETTER Z; QQKN
+1F1FF ; [.1844.0020.000A.1F1FF] # REGIONAL INDICATOR SYMBOL LETTER Z; QQK
+2124 ; [.1844.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z; QQK
+2128 ; [.1844.0020.000B.2128] # BLACK-LETTER CAPITAL Z; QQK
+1D419 ; [.1844.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z; QQK
+1D44D ; [.1844.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z; QQK
+1D481 ; [.1844.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z; QQK
+1D4B5 ; [.1844.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z; QQK
+1D4E9 ; [.1844.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z; QQK
+1D585 ; [.1844.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z; QQK
+1D5B9 ; [.1844.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z; QQK
+1D5ED ; [.1844.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z; QQK
+1D621 ; [.1844.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z; QQK
+1D655 ; [.1844.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z; QQK
+1D689 ; [.1844.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z; QQK
+24CF ; [.1844.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z; QQK
+1F169 ; [.1844.0020.000C.1F169] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z; QQK
+1DBB ; [.1844.0020.0014.1DBB] # MODIFIER LETTER SMALL Z; QQK
+1F149 ; [.1844.0020.001D.1F149] # SQUARED LATIN CAPITAL LETTER Z; QQK
+1F189 ; [.1844.0020.001D.1F189] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z; QQK
+017A ; [.1844.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE; QQCM
+0179 ; [.1844.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE; QQCM
+1E91 ; [.1844.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX; QQCM
+1E90 ; [.1844.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX; QQCM
+017E ; [.1844.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON; QQCM
+017D ; [.1844.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON; QQCM
+017C ; [.1844.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE; QQCM
+017B ; [.1844.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE; QQCM
+1E93 ; [.1844.0020.0002.007A][.0000.0070.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW; QQCM
+1E92 ; [.1844.0020.0008.005A][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW; QQCM
+1E95 ; [.1844.0020.0002.007A][.0000.007B.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW; QQCM
+1E94 ; [.1844.0020.0008.005A][.0000.007B.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW; QQCM
+018D ; [.1844.0020.0004.018D][.1824.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA; QQKN
+1D22 ; [.1848.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
+01B6 ; [.1849.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
+01B5 ; [.1849.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
+1D76 ; [.184D.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
+1D8E ; [.184E.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
+0225 ; [.184F.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
+0224 ; [.184F.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
+0290 ; [.1853.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+1DBC ; [.1853.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK; QQK
+0291 ; [.1857.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
+1DBD ; [.1857.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL; QQK
+0240 ; [.185B.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
+2C7F ; [.185B.0020.0008.2C7F] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
+2C6C ; [.185F.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
+2C6B ; [.185F.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
+A763 ; [.1860.0020.0002.A763] # LATIN SMALL LETTER VISIGOTHIC Z
+A762 ; [.1860.0020.0008.A762] # LATIN CAPITAL LETTER VISIGOTHIC Z
+0292 ; [.1861.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7 ; [.1861.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+1DBE ; [.1861.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH; QQK
+01EF ; [.1861.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON; QQCM
+01EE ; [.1861.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON; QQCM
+1D23 ; [.1865.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
+01B9 ; [.1866.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
+01B8 ; [.1866.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
+1D9A ; [.186A.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+01BA ; [.186B.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
+0293 ; [.186F.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
+021D ; [.1873.0020.0002.021D] # LATIN SMALL LETTER YOGH
+021C ; [.1873.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
+00FE ; [.1877.0020.0002.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.1877.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
+A765 ; [.187B.0020.0002.A765] # LATIN SMALL LETTER THORN WITH STROKE
+A764 ; [.187B.0020.0008.A764] # LATIN CAPITAL LETTER THORN WITH STROKE
+A767 ; [.187C.0020.0002.A767] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A766 ; [.187C.0020.0008.A766] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+01BF ; [.187D.0020.0002.01BF] # LATIN LETTER WYNN
+01F7 ; [.187D.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
+A769 ; [.1881.0020.0002.A769] # LATIN SMALL LETTER VEND
+A768 ; [.1881.0020.0008.A768] # LATIN CAPITAL LETTER VEND
+A76B ; [.1882.0020.0002.A76B] # LATIN SMALL LETTER ET
+A76A ; [.1882.0020.0008.A76A] # LATIN CAPITAL LETTER ET
+A76D ; [.1883.0020.0002.A76D] # LATIN SMALL LETTER IS
+A76C ; [.1883.0020.0008.A76C] # LATIN CAPITAL LETTER IS
+A76F ; [.1884.0020.0002.A76F] # LATIN SMALL LETTER CON
+1DD2 ; [.1884.0020.0004.1DD2] # COMBINING US ABOVE; QQK
+A76E ; [.1884.0020.0008.A76E] # LATIN CAPITAL LETTER CON
+A770 ; [.1884.0020.0014.A770] # MODIFIER LETTER US; QQK
+A778 ; [.1885.0020.0002.A778] # LATIN SMALL LETTER UM
+01BB ; [.1886.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
+A72B ; [.188A.0020.0002.A72B] # LATIN SMALL LETTER TRESILLO
+A72A ; [.188A.0020.0008.A72A] # LATIN CAPITAL LETTER TRESILLO
+A72D ; [.188B.0020.0002.A72D] # LATIN SMALL LETTER CUATRILLO
+A72C ; [.188B.0020.0008.A72C] # LATIN CAPITAL LETTER CUATRILLO
+A72F ; [.188C.0020.0002.A72F] # LATIN SMALL LETTER CUATRILLO WITH COMMA
+A72E ; [.188C.0020.0008.A72E] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+01A8 ; [.188D.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
+01A7 ; [.188D.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
+01BD ; [.1891.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
+01BC ; [.1891.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
+0185 ; [.1895.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
+0184 ; [.1895.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
+0294 ; [.1899.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
+0242 ; [.189D.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
+0241 ; [.189D.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
+02C0 ; [.18A1.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
+02BC ; [.18A2.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
+0149 ; [.18A2.0020.0004.0149][.1702.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE; QQKN
+02EE ; [.18A3.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
+02BE ; [.18A4.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
+A723 ; [.18A5.0020.0002.A723] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A722 ; [.18A5.0020.0008.A722] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A78C ; [.18A6.0020.0002.A78C] # LATIN SMALL LETTER SALTILLO
+A78B ; [.18A6.0020.0008.A78B] # LATIN CAPITAL LETTER SALTILLO
+0295 ; [.18A7.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+02E4 ; [.18A7.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP; QQK
+02BF ; [.18AB.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
+02C1 ; [.18AC.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
+1D24 ; [.18AD.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
+1D25 ; [.18AE.0020.0002.1D25] # LATIN LETTER AIN
+1D5C ; [.18AE.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN; QQK
+A725 ; [.18AF.0020.0002.A725] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A724 ; [.18AF.0020.0008.A724] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+02A1 ; [.18B0.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
+02A2 ; [.18B4.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+0296 ; [.18B8.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
+01C0 ; [.18BC.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
+01C1 ; [.18C0.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
+01C2 ; [.18C4.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
+01C3 ; [.18C8.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
+0297 ; [.18CC.0020.0002.0297] # LATIN LETTER STRETCHED C
+0298 ; [.18D0.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
+02AC ; [.18D4.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
+02AD ; [.18D8.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
+03B1 ; [.18DC.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
+1D6C2 ; [.18DC.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA; QQK
+1D6FC ; [.18DC.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA; QQK
+1D736 ; [.18DC.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA; QQK
+1D770 ; [.18DC.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA; QQK
+1D7AA ; [.18DC.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA; QQK
+0391 ; [.18DC.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
+1D6A8 ; [.18DC.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA; QQK
+1D6E2 ; [.18DC.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA; QQK
+1D71C ; [.18DC.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA; QQK
+1D756 ; [.18DC.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA; QQK
+1D790 ; [.18DC.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA; QQK
+1F00 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI; QQCM
+1F08 ; [.18DC.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI; QQCM
+1F04 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA; QQCM
+1F0C ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA; QQCM
+1F84 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
+1F8C ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
+1F02 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA; QQCM
+1F0A ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA; QQCM
+1F82 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
+1F8A ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
+1F06 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
+1F0E ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
+1F86 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1F8E ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
+1F80 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI; QQCM
+1F88 ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI; QQCM
+1F01 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA; QQCM
+1F09 ; [.18DC.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA; QQCM
+1F05 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA; QQCM
+1F0D ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA; QQCM
+1F85 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
+1F8D ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
+1F03 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA; QQCM
+1F0B ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA; QQCM
+1F83 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
+1F8B ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
+1F07 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
+1F0F ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
+1F87 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1F8F ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
+1F81 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI; QQCM
+1F89 ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI; QQCM
+03AC ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS; QQCM
+1F71 ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA; QQCM
+0386 ; [.18DC.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS; QQCM
+1FBB ; [.18DC.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA; QQCM
+1FB4 ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI; QQCM
+1F70 ; [.18DC.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA; QQCM
+1FBA ; [.18DC.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA; QQCM
+1FB2 ; [.18DC.0020.0002.03B1][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI; QQCM
+1FB0 ; [.18DC.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY; QQCM
+1FB8 ; [.18DC.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY; QQCM
+1FB6 ; [.18DC.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI; QQCM
+1FB7 ; [.18DC.0020.0002.03B1][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1FB1 ; [.18DC.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON; QQCM
+1FB9 ; [.18DC.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON; QQCM
+1FB3 ; [.18DC.0020.0002.03B1][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI; QQCM
+1FBC ; [.18DC.0020.0008.0391][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI; QQCM
+03B2 ; [.18DD.0020.0002.03B2] # GREEK SMALL LETTER BETA
+03D0 ; [.18DD.0020.0004.03D0] # GREEK BETA SYMBOL; QQK
+1D6C3 ; [.18DD.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA; QQK
+1D6FD ; [.18DD.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA; QQK
+1D737 ; [.18DD.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA; QQK
+1D771 ; [.18DD.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA; QQK
+1D7AB ; [.18DD.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA; QQK
+0392 ; [.18DD.0020.0008.0392] # GREEK CAPITAL LETTER BETA
+1D6A9 ; [.18DD.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA; QQK
+1D6E3 ; [.18DD.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA; QQK
+1D71D ; [.18DD.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA; QQK
+1D757 ; [.18DD.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA; QQK
+1D791 ; [.18DD.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA; QQK
+1D5D ; [.18DD.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA; QQK
+1D66 ; [.18DD.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA; QQK
+03B3 ; [.18DE.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
+213D ; [.18DE.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA; QQK
+1D6C4 ; [.18DE.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA; QQK
+1D6FE ; [.18DE.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA; QQK
+1D738 ; [.18DE.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA; QQK
+1D772 ; [.18DE.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA; QQK
+1D7AC ; [.18DE.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA; QQK
+0393 ; [.18DE.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
+213E ; [.18DE.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA; QQK
+1D6AA ; [.18DE.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA; QQK
+1D6E4 ; [.18DE.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA; QQK
+1D71E ; [.18DE.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA; QQK
+1D758 ; [.18DE.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA; QQK
+1D792 ; [.18DE.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA; QQK
+1D5E ; [.18DE.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA; QQK
+1D67 ; [.18DE.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA; QQK
+1D26 ; [.18DF.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
+03B4 ; [.18E0.0020.0002.03B4] # GREEK SMALL LETTER DELTA
+1D6C5 ; [.18E0.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA; QQK
+1D6FF ; [.18E0.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA; QQK
+1D739 ; [.18E0.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA; QQK
+1D773 ; [.18E0.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA; QQK
+1D7AD ; [.18E0.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA; QQK
+0394 ; [.18E0.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
+1D6AB ; [.18E0.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA; QQK
+1D6E5 ; [.18E0.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA; QQK
+1D71F ; [.18E0.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA; QQK
+1D759 ; [.18E0.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA; QQK
+1D793 ; [.18E0.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA; QQK
+1D5F ; [.18E0.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA; QQK
+03B5 ; [.18E1.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
+03F5 ; [.18E1.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL; QQK
+1D6C6 ; [.18E1.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON; QQK
+1D6DC ; [.18E1.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL; QQK
+1D700 ; [.18E1.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON; QQK
+1D716 ; [.18E1.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL; QQK
+1D73A ; [.18E1.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON; QQK
+1D750 ; [.18E1.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL; QQK
+1D774 ; [.18E1.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON; QQK
+1D78A ; [.18E1.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL; QQK
+1D7AE ; [.18E1.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON; QQK
+1D7C4 ; [.18E1.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL; QQK
+0395 ; [.18E1.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
+1D6AC ; [.18E1.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON; QQK
+1D6E6 ; [.18E1.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON; QQK
+1D720 ; [.18E1.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON; QQK
+1D75A ; [.18E1.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON; QQK
+1D794 ; [.18E1.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON; QQK
+1F10 ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI; QQCM
+1F18 ; [.18E1.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI; QQCM
+1F14 ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA; QQCM
+1F1C ; [.18E1.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA; QQCM
+1F12 ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA; QQCM
+1F1A ; [.18E1.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA; QQCM
+1F11 ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA; QQCM
+1F19 ; [.18E1.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA; QQCM
+1F15 ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA; QQCM
+1F1D ; [.18E1.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA; QQCM
+1F13 ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA; QQCM
+1F1B ; [.18E1.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA; QQCM
+03AD ; [.18E1.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS; QQCM
+1F73 ; [.18E1.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA; QQCM
+0388 ; [.18E1.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS; QQCM
+1FC9 ; [.18E1.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA; QQCM
+1F72 ; [.18E1.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA; QQCM
+1FC8 ; [.18E1.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA; QQCM
+03DD ; [.18E2.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
+1D7CB ; [.18E2.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA; QQK
+03DC ; [.18E2.0020.0008.03DC] # GREEK LETTER DIGAMMA
+1D7CA ; [.18E2.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA; QQK
+0377 ; [.18E3.0020.0002.0377] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+0376 ; [.18E3.0020.0008.0376] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+03DB ; [.18E4.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
+03DA ; [.18E4.0020.0008.03DA] # GREEK LETTER STIGMA
+03B6 ; [.18E5.0020.0002.03B6] # GREEK SMALL LETTER ZETA
+1D6C7 ; [.18E5.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA; QQK
+1D701 ; [.18E5.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA; QQK
+1D73B ; [.18E5.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA; QQK
+1D775 ; [.18E5.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA; QQK
+1D7AF ; [.18E5.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA; QQK
+0396 ; [.18E5.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
+1D6AD ; [.18E5.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA; QQK
+1D6E7 ; [.18E5.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA; QQK
+1D721 ; [.18E5.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA; QQK
+1D75B ; [.18E5.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA; QQK
+1D795 ; [.18E5.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA; QQK
+0371 ; [.18E6.0020.0002.0371] # GREEK SMALL LETTER HETA
+0370 ; [.18E6.0020.0008.0370] # GREEK CAPITAL LETTER HETA
+03B7 ; [.18E7.0020.0002.03B7] # GREEK SMALL LETTER ETA
+1D6C8 ; [.18E7.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA; QQK
+1D702 ; [.18E7.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA; QQK
+1D73C ; [.18E7.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA; QQK
+1D776 ; [.18E7.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA; QQK
+1D7B0 ; [.18E7.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA; QQK
+0397 ; [.18E7.0020.0008.0397] # GREEK CAPITAL LETTER ETA
+1D6AE ; [.18E7.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA; QQK
+1D6E8 ; [.18E7.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA; QQK
+1D722 ; [.18E7.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA; QQK
+1D75C ; [.18E7.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA; QQK
+1D796 ; [.18E7.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA; QQK
+1F20 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI; QQCM
+1F28 ; [.18E7.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI; QQCM
+1F24 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA; QQCM
+1F2C ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA; QQCM
+1F94 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
+1F9C ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
+1F22 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA; QQCM
+1F2A ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA; QQCM
+1F92 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
+1F9A ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
+1F26 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
+1F2E ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
+1F96 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1F9E ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
+1F90 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI; QQCM
+1F98 ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI; QQCM
+1F21 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA; QQCM
+1F29 ; [.18E7.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA; QQCM
+1F25 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA; QQCM
+1F2D ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA; QQCM
+1F95 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
+1F9D ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
+1F23 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA; QQCM
+1F2B ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA; QQCM
+1F93 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
+1F9B ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
+1F27 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
+1F2F ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
+1F97 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1F9F ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
+1F91 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI; QQCM
+1F99 ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI; QQCM
+03AE ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS; QQCM
+1F75 ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA; QQCM
+0389 ; [.18E7.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS; QQCM
+1FCB ; [.18E7.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA; QQCM
+1FC4 ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI; QQCM
+1F74 ; [.18E7.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA; QQCM
+1FCA ; [.18E7.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA; QQCM
+1FC2 ; [.18E7.0020.0002.03B7][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI; QQCM
+1FC6 ; [.18E7.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI; QQCM
+1FC7 ; [.18E7.0020.0002.03B7][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1FC3 ; [.18E7.0020.0002.03B7][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI; QQCM
+1FCC ; [.18E7.0020.0008.0397][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI; QQCM
+03B8 ; [.18E8.0020.0002.03B8] # GREEK SMALL LETTER THETA
+03D1 ; [.18E8.0020.0004.03D1] # GREEK THETA SYMBOL; QQK
+1D6C9 ; [.18E8.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA; QQK
+1D6DD ; [.18E8.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL; QQK
+1D703 ; [.18E8.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA; QQK
+1D717 ; [.18E8.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL; QQK
+1D73D ; [.18E8.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA; QQK
+1D751 ; [.18E8.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL; QQK
+1D777 ; [.18E8.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA; QQK
+1D78B ; [.18E8.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL; QQK
+1D7B1 ; [.18E8.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA; QQK
+1D7C5 ; [.18E8.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL; QQK
+0398 ; [.18E8.0020.0008.0398] # GREEK CAPITAL LETTER THETA
+03F4 ; [.18E8.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL; QQK
+1D6AF ; [.18E8.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA; QQK
+1D6B9 ; [.18E8.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL; QQK
+1D6E9 ; [.18E8.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA; QQK
+1D6F3 ; [.18E8.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL; QQK
+1D723 ; [.18E8.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA; QQK
+1D72D ; [.18E8.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL; QQK
+1D75D ; [.18E8.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA; QQK
+1D767 ; [.18E8.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL; QQK
+1D797 ; [.18E8.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA; QQK
+1D7A1 ; [.18E8.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL; QQK
+1DBF ; [.18E8.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA; QQK
+03B9 ; [.18E9.0020.0002.03B9] # GREEK SMALL LETTER IOTA
+1FBE ; [.18E9.0020.0002.1FBE] # GREEK PROSGEGRAMMENI; QQC
+037A ; [.18E9.0020.0004.037A] # GREEK YPOGEGRAMMENI; QQK
+1D6CA ; [.18E9.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA; QQK
+1D704 ; [.18E9.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA; QQK
+1D73E ; [.18E9.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA; QQK
+1D778 ; [.18E9.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA; QQK
+1D7B2 ; [.18E9.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA; QQK
+0399 ; [.18E9.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
+1D6B0 ; [.18E9.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA; QQK
+1D6EA ; [.18E9.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA; QQK
+1D724 ; [.18E9.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA; QQK
+1D75E ; [.18E9.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA; QQK
+1D798 ; [.18E9.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA; QQK
+1F30 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI; QQCM
+1F38 ; [.18E9.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI; QQCM
+1F34 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA; QQCM
+1F3C ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA; QQCM
+1F32 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA; QQCM
+1F3A ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA; QQCM
+1F36 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
+1F3E ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
+1F31 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA; QQCM
+1F39 ; [.18E9.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA; QQCM
+1F35 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA; QQCM
+1F3D ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA; QQCM
+1F33 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA; QQCM
+1F3B ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA; QQCM
+1F37 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
+1F3F ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
+03AF ; [.18E9.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS; QQCM
+1F77 ; [.18E9.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA; QQCM
+038A ; [.18E9.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS; QQCM
+1FDB ; [.18E9.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA; QQCM
+1F76 ; [.18E9.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA; QQCM
+1FDA ; [.18E9.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA; QQCM
+1FD0 ; [.18E9.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY; QQCM
+1FD8 ; [.18E9.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY; QQCM
+1FD6 ; [.18E9.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI; QQCM
+03CA ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA; QQCM
+03AA ; [.18E9.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA; QQCM
+0390 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS; QQCM
+1FD3 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; QQCM
+1FD2 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA; QQCM
+1FD7 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI; QQCM
+1FD1 ; [.18E9.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON; QQCM
+1FD9 ; [.18E9.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON; QQCM
+03F3 ; [.18EA.0020.0002.03F3] # GREEK LETTER YOT
+03BA ; [.18EB.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
+03F0 ; [.18EB.0020.0004.03F0] # GREEK KAPPA SYMBOL; QQK
+1D6CB ; [.18EB.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA; QQK
+1D6DE ; [.18EB.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL; QQK
+1D705 ; [.18EB.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA; QQK
+1D718 ; [.18EB.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL; QQK
+1D73F ; [.18EB.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA; QQK
+1D752 ; [.18EB.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL; QQK
+1D779 ; [.18EB.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA; QQK
+1D78C ; [.18EB.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL; QQK
+1D7B3 ; [.18EB.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA; QQK
+1D7C6 ; [.18EB.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL; QQK
+039A ; [.18EB.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
+1D6B1 ; [.18EB.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA; QQK
+1D6EB ; [.18EB.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA; QQK
+1D725 ; [.18EB.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA; QQK
+1D75F ; [.18EB.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA; QQK
+1D799 ; [.18EB.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA; QQK
+03D7 ; [.18EB.0020.0004.03D7][.18DC.0020.0004.03D7][.18E9.0020.001F.03D7] # GREEK KAI SYMBOL; QQKN
+03CF ; [.18EB.0020.000A.03CF][.18DC.0020.0004.03CF][.18E9.0020.001F.03CF] # GREEK CAPITAL KAI SYMBOL; QQKN
+03BB ; [.18EC.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
+1D6CC ; [.18EC.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA; QQK
+1D706 ; [.18EC.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA; QQK
+1D740 ; [.18EC.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA; QQK
+1D77A ; [.18EC.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA; QQK
+1D7B4 ; [.18EC.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA; QQK
+039B ; [.18EC.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
+1D6B2 ; [.18EC.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA; QQK
+1D6EC ; [.18EC.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA; QQK
+1D726 ; [.18EC.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA; QQK
+1D760 ; [.18EC.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA; QQK
+1D79A ; [.18EC.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA; QQK
+1D27 ; [.18ED.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
+03BC ; [.18EE.0020.0002.03BC] # GREEK SMALL LETTER MU
+00B5 ; [.18EE.0020.0004.00B5] # MICRO SIGN; QQK
+1D6CD ; [.18EE.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU; QQK
+1D707 ; [.18EE.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU; QQK
+1D741 ; [.18EE.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU; QQK
+1D77B ; [.18EE.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU; QQK
+1D7B5 ; [.18EE.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU; QQK
+039C ; [.18EE.0020.0008.039C] # GREEK CAPITAL LETTER MU
+1D6B3 ; [.18EE.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU; QQK
+1D6ED ; [.18EE.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU; QQK
+1D727 ; [.18EE.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU; QQK
+1D761 ; [.18EE.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU; QQK
+1D79B ; [.18EE.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU; QQK
+3382 ; [.18EE.0020.001C.3382][.15A3.0020.001D.3382] # SQUARE MU A; QQKN
+338C ; [.18EE.0020.001C.338C][.1637.0020.001D.338C] # SQUARE MU F; QQKN
+338D ; [.18EE.0020.001C.338D][.1644.0020.001C.338D] # SQUARE MU G; QQKN
+3395 ; [.18EE.0020.001C.3395][.16C4.0020.001C.3395] # SQUARE MU L; QQKN
+339B ; [.18EE.0020.001C.339B][.16F4.0020.001C.339B] # SQUARE MU M; QQKN
+33B2 ; [.18EE.0020.001C.33B2][.17A6.0020.001C.33B2] # SQUARE MU S; QQKN
+33B6 ; [.18EE.0020.001C.33B6][.1812.0020.001D.33B6] # SQUARE MU V; QQKN
+33BC ; [.18EE.0020.001C.33BC][.1824.0020.001D.33BC] # SQUARE MU W; QQKN
+03BD ; [.18EF.0020.0002.03BD] # GREEK SMALL LETTER NU
+1D6CE ; [.18EF.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU; QQK
+1D708 ; [.18EF.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU; QQK
+1D742 ; [.18EF.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU; QQK
+1D77C ; [.18EF.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU; QQK
+1D7B6 ; [.18EF.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU; QQK
+039D ; [.18EF.0020.0008.039D] # GREEK CAPITAL LETTER NU
+1D6B4 ; [.18EF.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU; QQK
+1D6EE ; [.18EF.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU; QQK
+1D728 ; [.18EF.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU; QQK
+1D762 ; [.18EF.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU; QQK
+1D79C ; [.18EF.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU; QQK
+03BE ; [.18F0.0020.0002.03BE] # GREEK SMALL LETTER XI
+1D6CF ; [.18F0.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI; QQK
+1D709 ; [.18F0.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI; QQK
+1D743 ; [.18F0.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI; QQK
+1D77D ; [.18F0.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI; QQK
+1D7B7 ; [.18F0.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI; QQK
+039E ; [.18F0.0020.0008.039E] # GREEK CAPITAL LETTER XI
+1D6B5 ; [.18F0.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI; QQK
+1D6EF ; [.18F0.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI; QQK
+1D729 ; [.18F0.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI; QQK
+1D763 ; [.18F0.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI; QQK
+1D79D ; [.18F0.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI; QQK
+03BF ; [.18F1.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
+1D6D0 ; [.18F1.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON; QQK
+1D70A ; [.18F1.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON; QQK
+1D744 ; [.18F1.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON; QQK
+1D77E ; [.18F1.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON; QQK
+1D7B8 ; [.18F1.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON; QQK
+039F ; [.18F1.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
+1D6B6 ; [.18F1.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON; QQK
+1D6F0 ; [.18F1.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON; QQK
+1D72A ; [.18F1.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON; QQK
+1D764 ; [.18F1.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON; QQK
+1D79E ; [.18F1.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON; QQK
+1F40 ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI; QQCM
+1F48 ; [.18F1.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI; QQCM
+1F44 ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA; QQCM
+1F4C ; [.18F1.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA; QQCM
+1F42 ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA; QQCM
+1F4A ; [.18F1.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA; QQCM
+1F41 ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA; QQCM
+1F49 ; [.18F1.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA; QQCM
+1F45 ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA; QQCM
+1F4D ; [.18F1.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA; QQCM
+1F43 ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA; QQCM
+1F4B ; [.18F1.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA; QQCM
+03CC ; [.18F1.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS; QQCM
+1F79 ; [.18F1.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA; QQCM
+038C ; [.18F1.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS; QQCM
+1FF9 ; [.18F1.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA; QQCM
+1F78 ; [.18F1.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA; QQCM
+1FF8 ; [.18F1.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA; QQCM
+03C0 ; [.18F2.0020.0002.03C0] # GREEK SMALL LETTER PI
+03D6 ; [.18F2.0020.0004.03D6] # GREEK PI SYMBOL; QQK
+213C ; [.18F2.0020.0005.213C] # DOUBLE-STRUCK SMALL PI; QQK
+1D6D1 ; [.18F2.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI; QQK
+1D6E1 ; [.18F2.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL; QQK
+1D70B ; [.18F2.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI; QQK
+1D71B ; [.18F2.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL; QQK
+1D745 ; [.18F2.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI; QQK
+1D755 ; [.18F2.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL; QQK
+1D77F ; [.18F2.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI; QQK
+1D78F ; [.18F2.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL; QQK
+1D7B9 ; [.18F2.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI; QQK
+1D7C9 ; [.18F2.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL; QQK
+03A0 ; [.18F2.0020.0008.03A0] # GREEK CAPITAL LETTER PI
+213F ; [.18F2.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI; QQK
+1D6B7 ; [.18F2.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI; QQK
+1D6F1 ; [.18F2.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI; QQK
+1D72B ; [.18F2.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI; QQK
+1D765 ; [.18F2.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI; QQK
+1D79F ; [.18F2.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI; QQK
+1D28 ; [.18F3.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
+03FB ; [.18F4.0020.0002.03FB] # GREEK SMALL LETTER SAN
+03FA ; [.18F4.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
+03DF ; [.18F5.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
+03DE ; [.18F5.0020.0008.03DE] # GREEK LETTER KOPPA
+03D9 ; [.18F6.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
+03D8 ; [.18F6.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
+03C1 ; [.18F7.0020.0002.03C1] # GREEK SMALL LETTER RHO
+03F1 ; [.18F7.0020.0004.03F1] # GREEK RHO SYMBOL; QQK
+1D6D2 ; [.18F7.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO; QQK
+1D6E0 ; [.18F7.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL; QQK
+1D70C ; [.18F7.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO; QQK
+1D71A ; [.18F7.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL; QQK
+1D746 ; [.18F7.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO; QQK
+1D754 ; [.18F7.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL; QQK
+1D780 ; [.18F7.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO; QQK
+1D78E ; [.18F7.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL; QQK
+1D7BA ; [.18F7.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO; QQK
+1D7C8 ; [.18F7.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL; QQK
+03A1 ; [.18F7.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
+1D6B8 ; [.18F7.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO; QQK
+1D6F2 ; [.18F7.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO; QQK
+1D72C ; [.18F7.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO; QQK
+1D766 ; [.18F7.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO; QQK
+1D7A0 ; [.18F7.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO; QQK
+1D68 ; [.18F7.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO; QQK
+1FE4 ; [.18F7.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI; QQCM
+1FE5 ; [.18F7.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA; QQCM
+1FEC ; [.18F7.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA; QQCM
+1D29 ; [.18F8.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
+03FC ; [.18F9.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
+03C3 ; [.18FA.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
+03F2 ; [.18FA.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL; QQK
+1D6D3 ; [.18FA.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA; QQK
+1D6D4 ; [.18FA.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA; QQK
+1D70D ; [.18FA.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA; QQK
+1D70E ; [.18FA.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA; QQK
+1D747 ; [.18FA.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA; QQK
+1D748 ; [.18FA.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA; QQK
+1D781 ; [.18FA.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA; QQK
+1D782 ; [.18FA.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA; QQK
+1D7BB ; [.18FA.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA; QQK
+1D7BC ; [.18FA.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA; QQK
+03A3 ; [.18FA.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
+03F9 ; [.18FA.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL; QQK
+1D6BA ; [.18FA.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA; QQK
+1D6F4 ; [.18FA.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA; QQK
+1D72E ; [.18FA.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA; QQK
+1D768 ; [.18FA.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA; QQK
+1D7A2 ; [.18FA.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA; QQK
+03C2 ; [.18FA.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA; QQK
+037C ; [.18FB.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+03FE ; [.18FB.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+037B ; [.18FC.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+03FD ; [.18FC.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+037D ; [.18FD.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03FF ; [.18FD.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03C4 ; [.18FE.0020.0002.03C4] # GREEK SMALL LETTER TAU
+1D6D5 ; [.18FE.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU; QQK
+1D70F ; [.18FE.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU; QQK
+1D749 ; [.18FE.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU; QQK
+1D783 ; [.18FE.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU; QQK
+1D7BD ; [.18FE.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU; QQK
+03A4 ; [.18FE.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
+1D6BB ; [.18FE.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU; QQK
+1D6F5 ; [.18FE.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU; QQK
+1D72F ; [.18FE.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU; QQK
+1D769 ; [.18FE.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU; QQK
+1D7A3 ; [.18FE.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU; QQK
+03C5 ; [.18FF.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
+1D6D6 ; [.18FF.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON; QQK
+1D710 ; [.18FF.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON; QQK
+1D74A ; [.18FF.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON; QQK
+1D784 ; [.18FF.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON; QQK
+1D7BE ; [.18FF.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON; QQK
+03A5 ; [.18FF.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
+03D2 ; [.18FF.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL; QQK
+1D6BC ; [.18FF.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON; QQK
+1D6F6 ; [.18FF.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON; QQK
+1D730 ; [.18FF.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON; QQK
+1D76A ; [.18FF.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON; QQK
+1D7A4 ; [.18FF.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON; QQK
+1F50 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI; QQCM
+1F54 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA; QQCM
+1F52 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA; QQCM
+1F56 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI; QQCM
+1F51 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA; QQCM
+1F59 ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA; QQCM
+1F55 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA; QQCM
+1F5D ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA; QQCM
+1F53 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA; QQCM
+1F5B ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA; QQCM
+1F57 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
+1F5F ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
+03CD ; [.18FF.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS; QQCM
+1F7B ; [.18FF.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA; QQCM
+038E ; [.18FF.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS; QQCM
+1FEB ; [.18FF.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA; QQCM
+03D3 ; [.18FF.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL; QQKN
+1F7A ; [.18FF.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA; QQCM
+1FEA ; [.18FF.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA; QQCM
+1FE0 ; [.18FF.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY; QQCM
+1FE8 ; [.18FF.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY; QQCM
+1FE6 ; [.18FF.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI; QQCM
+03CB ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA; QQCM
+03AB ; [.18FF.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA; QQCM
+03D4 ; [.18FF.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL; QQKN
+03B0 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS; QQCM
+1FE3 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; QQCM
+1FE2 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA; QQCM
+1FE7 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI; QQCM
+1FE1 ; [.18FF.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON; QQCM
+1FE9 ; [.18FF.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON; QQCM
+03C6 ; [.1900.0020.0002.03C6] # GREEK SMALL LETTER PHI
+03D5 ; [.1900.0020.0004.03D5] # GREEK PHI SYMBOL; QQK
+1D6D7 ; [.1900.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI; QQK
+1D6DF ; [.1900.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL; QQK
+1D711 ; [.1900.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI; QQK
+1D719 ; [.1900.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL; QQK
+1D74B ; [.1900.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI; QQK
+1D753 ; [.1900.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL; QQK
+1D785 ; [.1900.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI; QQK
+1D78D ; [.1900.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL; QQK
+1D7BF ; [.1900.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI; QQK
+1D7C7 ; [.1900.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL; QQK
+03A6 ; [.1900.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
+1D6BD ; [.1900.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI; QQK
+1D6F7 ; [.1900.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI; QQK
+1D731 ; [.1900.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI; QQK
+1D76B ; [.1900.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI; QQK
+1D7A5 ; [.1900.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI; QQK
+1D60 ; [.1900.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI; QQK
+1D69 ; [.1900.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI; QQK
+03C7 ; [.1901.0020.0002.03C7] # GREEK SMALL LETTER CHI
+1D6D8 ; [.1901.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI; QQK
+1D712 ; [.1901.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI; QQK
+1D74C ; [.1901.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI; QQK
+1D786 ; [.1901.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI; QQK
+1D7C0 ; [.1901.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI; QQK
+03A7 ; [.1901.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
+1D6BE ; [.1901.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI; QQK
+1D6F8 ; [.1901.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI; QQK
+1D732 ; [.1901.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI; QQK
+1D76C ; [.1901.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI; QQK
+1D7A6 ; [.1901.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI; QQK
+1D61 ; [.1901.0020.0014.1D61] # MODIFIER LETTER SMALL CHI; QQK
+1D6A ; [.1901.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI; QQK
+03C8 ; [.1902.0020.0002.03C8] # GREEK SMALL LETTER PSI
+1D6D9 ; [.1902.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI; QQK
+1D713 ; [.1902.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI; QQK
+1D74D ; [.1902.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI; QQK
+1D787 ; [.1902.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI; QQK
+1D7C1 ; [.1902.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI; QQK
+03A8 ; [.1902.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
+1D6BF ; [.1902.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI; QQK
+1D6F9 ; [.1902.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI; QQK
+1D733 ; [.1902.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI; QQK
+1D76D ; [.1902.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI; QQK
+1D7A7 ; [.1902.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI; QQK
+1D2A ; [.1903.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
+03C9 ; [.1904.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
+1D6DA ; [.1904.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA; QQK
+1D714 ; [.1904.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA; QQK
+1D74E ; [.1904.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA; QQK
+1D788 ; [.1904.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA; QQK
+1D7C2 ; [.1904.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA; QQK
+03A9 ; [.1904.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
+2126 ; [.1904.0020.0008.2126] # OHM SIGN; QQC
+1D6C0 ; [.1904.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA; QQK
+1D6FA ; [.1904.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA; QQK
+1D734 ; [.1904.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA; QQK
+1D76E ; [.1904.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA; QQK
+1D7A8 ; [.1904.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA; QQK
+1F60 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI; QQCM
+1F68 ; [.1904.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI; QQCM
+1F64 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA; QQCM
+1F6C ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA; QQCM
+1FA4 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
+1FAC ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
+1F62 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA; QQCM
+1F6A ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA; QQCM
+1FA2 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
+1FAA ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
+1F66 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
+1F6E ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
+1FA6 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1FAE ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
+1FA0 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI; QQCM
+1FA8 ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI; QQCM
+1F61 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA; QQCM
+1F69 ; [.1904.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA; QQCM
+1F65 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA; QQCM
+1F6D ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA; QQCM
+1FA5 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
+1FAD ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
+1F63 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA; QQCM
+1F6B ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA; QQCM
+1FA3 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
+1FAB ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
+1F67 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
+1F6F ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
+1FA7 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1FAF ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
+1FA1 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI; QQCM
+1FA9 ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI; QQCM
+03CE ; [.1904.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS; QQCM
+1F7D ; [.1904.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA; QQCM
+038F ; [.1904.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS; QQCM
+1FFB ; [.1904.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA; QQCM
+1FF4 ; [.1904.0020.0002.03C9][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI; QQCM
+1F7C ; [.1904.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA; QQCM
+1FFA ; [.1904.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA; QQCM
+1FF2 ; [.1904.0020.0002.03C9][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI; QQCM
+1FF6 ; [.1904.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI; QQCM
+1FF7 ; [.1904.0020.0002.03C9][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
+1FF3 ; [.1904.0020.0002.03C9][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI; QQCM
+1FFC ; [.1904.0020.0008.03A9][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI; QQCM
+03E1 ; [.1905.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
+03E0 ; [.1905.0020.0008.03E0] # GREEK LETTER SAMPI
+0373 ; [.1906.0020.0002.0373] # GREEK SMALL LETTER ARCHAIC SAMPI
+0372 ; [.1906.0020.0008.0372] # GREEK CAPITAL LETTER ARCHAIC SAMPI
+03F8 ; [.1907.0020.0002.03F8] # GREEK SMALL LETTER SHO
+03F7 ; [.1907.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
+2C81 ; [.1908.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
+2C80 ; [.1908.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
+2C83 ; [.1909.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
+2C82 ; [.1909.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
+2C85 ; [.190A.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
+2C84 ; [.190A.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
+2C87 ; [.190B.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
+2C86 ; [.190B.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
+2C89 ; [.190C.0020.0002.2C89] # COPTIC SMALL LETTER EIE
+2C88 ; [.190C.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
+2CB7 ; [.190D.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB6 ; [.190D.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2C8B ; [.190E.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
+2C8A ; [.190E.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
+2C8D ; [.190F.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
+2C8C ; [.190F.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
+2C8F ; [.1910.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
+2C8E ; [.1910.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
+2C91 ; [.1911.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
+2C90 ; [.1911.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
+2C93 ; [.1912.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
+2C92 ; [.1912.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
+2C95 ; [.1913.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
+2C94 ; [.1913.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
+2CE4 ; [.1913.0020.0004.2CE4][.1908.0020.0004.2CE4][.1912.0020.001F.2CE4] # COPTIC SYMBOL KAI; QQKN
+2CB9 ; [.1914.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
+2CB8 ; [.1914.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
+2C97 ; [.1915.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
+2C96 ; [.1915.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
+2C99 ; [.1916.0020.0002.2C99] # COPTIC SMALL LETTER MI
+2C98 ; [.1916.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
+2C9B ; [.1917.0020.0002.2C9B] # COPTIC SMALL LETTER NI
+2C9A ; [.1917.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
+2CBB ; [.1918.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
+2CBA ; [.1918.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
+2CBD ; [.1919.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBC ; [.1919.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2C9D ; [.191A.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
+2C9C ; [.191A.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
+2C9F ; [.191B.0020.0002.2C9F] # COPTIC SMALL LETTER O
+2C9E ; [.191B.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
+2CA1 ; [.191C.0020.0002.2CA1] # COPTIC SMALL LETTER PI
+2CA0 ; [.191C.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
+2CA3 ; [.191D.0020.0002.2CA3] # COPTIC SMALL LETTER RO
+2CA2 ; [.191D.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
+2CA5 ; [.191E.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
+2CA4 ; [.191E.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
+2CA7 ; [.191F.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
+2CA6 ; [.191F.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
+2CA9 ; [.1920.0020.0002.2CA9] # COPTIC SMALL LETTER UA
+2CA8 ; [.1920.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
+2CAB ; [.1921.0020.0002.2CAB] # COPTIC SMALL LETTER FI
+2CAA ; [.1921.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
+2CAD ; [.1922.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
+2CAC ; [.1922.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
+2CAF ; [.1923.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
+2CAE ; [.1923.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
+2CB1 ; [.1924.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
+2CB0 ; [.1924.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
+2CBF ; [.1925.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
+2CBE ; [.1925.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC1 ; [.1926.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
+2CC0 ; [.1926.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
+03E3 ; [.1927.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
+03E2 ; [.1927.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
+2CEC ; [.1928.0020.0002.2CEC] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEB ; [.1928.0020.0008.2CEB] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CC3 ; [.1929.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
+2CC2 ; [.1929.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
+2CC5 ; [.192A.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC4 ; [.192A.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC7 ; [.192B.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
+2CC6 ; [.192B.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
+03E5 ; [.192C.0020.0002.03E5] # COPTIC SMALL LETTER FEI
+03E4 ; [.192C.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
+03E7 ; [.192D.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
+03E6 ; [.192D.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
+2CC9 ; [.192E.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
+2CC8 ; [.192E.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
+03E9 ; [.192F.0020.0002.03E9] # COPTIC SMALL LETTER HORI
+03E8 ; [.192F.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
+2CCB ; [.1930.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
+2CCA ; [.1930.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCD ; [.1931.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
+2CCC ; [.1931.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCF ; [.1932.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
+2CCE ; [.1932.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD1 ; [.1933.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
+2CD0 ; [.1933.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
+2CD3 ; [.1934.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
+2CD2 ; [.1934.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD5 ; [.1935.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
+2CD4 ; [.1935.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
+03EB ; [.1936.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
+03EA ; [.1936.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
+2CEE ; [.1937.0020.0002.2CEE] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CED ; [.1937.0020.0008.2CED] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CD7 ; [.1938.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD6 ; [.1938.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+03ED ; [.1939.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
+03EC ; [.1939.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
+2CD9 ; [.193A.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
+2CD8 ; [.193A.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDB ; [.193B.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDA ; [.193B.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDD ; [.193C.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDC ; [.193C.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+03EF ; [.193D.0020.0002.03EF] # COPTIC SMALL LETTER DEI
+03EE ; [.193D.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
+2CB3 ; [.193E.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
+2CB2 ; [.193E.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB5 ; [.193F.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
+2CB4 ; [.193F.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CDF ; [.1940.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
+2CDE ; [.1940.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE1 ; [.1941.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE0 ; [.1941.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE3 ; [.1942.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
+2CE2 ; [.1942.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
+0430 ; [.1943.0020.0002.0430] # CYRILLIC SMALL LETTER A
+2DF6 ; [.1943.0020.0004.2DF6] # COMBINING CYRILLIC LETTER A; QQK
+0410 ; [.1943.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
+04D1 ; [.1947.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
+0430 0306 ; [.1947.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1947.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
+0410 0306 ; [.1947.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.194B.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+0430 0308 ; [.194B.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.194B.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+0410 0308 ; [.194B.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D9 ; [.194F.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
+04D8 ; [.194F.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
+04DB ; [.1953.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04D9 0308 ; [.1953.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1953.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D8 0308 ; [.1953.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D5 ; [.1957.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
+04D4 ; [.1957.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
+0431 ; [.195B.0020.0002.0431] # CYRILLIC SMALL LETTER BE
+2DE0 ; [.195B.0020.0004.2DE0] # COMBINING CYRILLIC LETTER BE; QQK
+0411 ; [.195B.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
+0432 ; [.195F.0020.0002.0432] # CYRILLIC SMALL LETTER VE
+2DE1 ; [.195F.0020.0004.2DE1] # COMBINING CYRILLIC LETTER VE; QQK
+0412 ; [.195F.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
+0433 ; [.1963.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
+2DE2 ; [.1963.0020.0004.2DE2] # COMBINING CYRILLIC LETTER GHE; QQK
+0413 ; [.1963.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
+0491 ; [.1963.0020.0004.0491][.0000.0160.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN; QQKN
+0490 ; [.1963.0020.000A.0490][.0000.0160.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN; QQKN
+0493 ; [.1967.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
+0492 ; [.1967.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
+04FB ; [.196B.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FA ; [.196B.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+0495 ; [.196F.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0494 ; [.196F.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+04F7 ; [.1973.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F6 ; [.1973.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+0434 ; [.1977.0020.0002.0434] # CYRILLIC SMALL LETTER DE
+2DE3 ; [.1977.0020.0004.2DE3] # COMBINING CYRILLIC LETTER DE; QQK
+0414 ; [.1977.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
+0501 ; [.197B.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
+0500 ; [.197B.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
+A681 ; [.197C.0020.0002.A681] # CYRILLIC SMALL LETTER DWE
+A680 ; [.197C.0020.0008.A680] # CYRILLIC CAPITAL LETTER DWE
+0452 ; [.197D.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
+0402 ; [.197D.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
+A663 ; [.1981.0020.0002.A663] # CYRILLIC SMALL LETTER SOFT DE
+A662 ; [.1981.0020.0008.A662] # CYRILLIC CAPITAL LETTER SOFT DE
+0503 ; [.1982.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
+0502 ; [.1982.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
+0453 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0433 0301 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0433 0341 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0413 0301 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0413 0341 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0499 ; [.1987.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0498 ; [.1987.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0435 ; [.198B.0020.0002.0435] # CYRILLIC SMALL LETTER IE
+2DF7 ; [.198B.0020.0004.2DF7] # COMBINING CYRILLIC LETTER IE; QQK
+0415 ; [.198B.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
+0450 ; [.198B.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE; QQCM
+0400 ; [.198B.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE; QQCM
+0451 ; [.198B.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO; QQCM
+0401 ; [.198B.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO; QQCM
+04D7 ; [.198F.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
+0435 0306 ; [.198F.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.198F.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0415 0306 ; [.198F.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0454 ; [.1993.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
+0404 ; [.1993.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0436 ; [.1997.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
+2DE4 ; [.1997.0020.0004.2DE4] # COMBINING CYRILLIC LETTER ZHE; QQK
+0416 ; [.1997.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
+04C2 ; [.1997.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE; QQCM
+04C1 ; [.1997.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE; QQCM
+A685 ; [.199B.0020.0002.A685] # CYRILLIC SMALL LETTER ZHWE
+A684 ; [.199B.0020.0008.A684] # CYRILLIC CAPITAL LETTER ZHWE
+04DD ; [.199C.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+0436 0308 ; [.199C.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.199C.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0416 0308 ; [.199C.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0497 ; [.19A0.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0496 ; [.19A0.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0437 ; [.19A4.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
+2DE5 ; [.19A4.0020.0004.2DE5] # COMBINING CYRILLIC LETTER ZE; QQK
+0417 ; [.19A4.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
+A641 ; [.19A8.0020.0002.A641] # CYRILLIC SMALL LETTER ZEMLYA
+A640 ; [.19A8.0020.0008.A640] # CYRILLIC CAPITAL LETTER ZEMLYA
+0505 ; [.19A9.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
+0504 ; [.19A9.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
+0511 ; [.19AA.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
+0510 ; [.19AA.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
+04DF ; [.19AB.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+0437 0308 ; [.19AB.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19AB.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0417 0308 ; [.19AB.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+A643 ; [.19AF.0020.0002.A643] # CYRILLIC SMALL LETTER DZELO
+A642 ; [.19AF.0020.0008.A642] # CYRILLIC CAPITAL LETTER DZELO
+0455 ; [.19B0.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
+0405 ; [.19B0.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
+A645 ; [.19B4.0020.0002.A645] # CYRILLIC SMALL LETTER REVERSED DZE
+A644 ; [.19B4.0020.0008.A644] # CYRILLIC CAPITAL LETTER REVERSED DZE
+04E1 ; [.19B5.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E0 ; [.19B5.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+A689 ; [.19B9.0020.0002.A689] # CYRILLIC SMALL LETTER DZZE
+A688 ; [.19B9.0020.0008.A688] # CYRILLIC CAPITAL LETTER DZZE
+0507 ; [.19BA.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
+0506 ; [.19BA.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
+A683 ; [.19BB.0020.0002.A683] # CYRILLIC SMALL LETTER DZWE
+A682 ; [.19BB.0020.0008.A682] # CYRILLIC CAPITAL LETTER DZWE
+0438 ; [.19BC.0020.0002.0438] # CYRILLIC SMALL LETTER I
+0418 ; [.19BC.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
+045D ; [.19BC.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE; QQCM
+040D ; [.19BC.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE; QQCM
+04E3 ; [.19BC.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON; QQCM
+04E2 ; [.19BC.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON; QQCM
+048B ; [.19C0.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048A ; [.19C0.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+04E5 ; [.19C4.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+0438 0308 ; [.19C4.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.19C4.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0418 0308 ; [.19C4.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0456 ; [.19C8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406 ; [.19C8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+A647 ; [.19CC.0020.0002.A647] # CYRILLIC SMALL LETTER IOTA
+A646 ; [.19CC.0020.0008.A646] # CYRILLIC CAPITAL LETTER IOTA
+0457 ; [.19CD.0020.0002.0457] # CYRILLIC SMALL LETTER YI
+0456 0308 ; [.19CD.0020.0002.0457] # CYRILLIC SMALL LETTER YI
+0407 ; [.19CD.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
+0406 0308 ; [.19CD.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.19D1.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
+0438 0306 ; [.19D1.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.19D1.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
+0418 0306 ; [.19D1.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
+0458 ; [.19D5.0020.0002.0458] # CYRILLIC SMALL LETTER JE
+0408 ; [.19D5.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
+A649 ; [.19D9.0020.0002.A649] # CYRILLIC SMALL LETTER DJERV
+2DF8 ; [.19D9.0020.0004.2DF8] # COMBINING CYRILLIC LETTER DJERV; QQK
+A648 ; [.19D9.0020.0008.A648] # CYRILLIC CAPITAL LETTER DJERV
+043A ; [.19DA.0020.0002.043A] # CYRILLIC SMALL LETTER KA
+2DE6 ; [.19DA.0020.0004.2DE6] # COMBINING CYRILLIC LETTER KA; QQK
+041A ; [.19DA.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
+049B ; [.19DE.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
+049A ; [.19DE.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+04C4 ; [.19E2.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
+04C3 ; [.19E2.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
+04A1 ; [.19E6.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
+04A0 ; [.19E6.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
+049F ; [.19EA.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
+049E ; [.19EA.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
+049D ; [.19EE.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049C ; [.19EE.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+051F ; [.19F2.0020.0002.051F] # CYRILLIC SMALL LETTER ALEUT KA
+051E ; [.19F2.0020.0008.051E] # CYRILLIC CAPITAL LETTER ALEUT KA
+051B ; [.19F3.0020.0002.051B] # CYRILLIC SMALL LETTER QA
+051A ; [.19F3.0020.0008.051A] # CYRILLIC CAPITAL LETTER QA
+043B ; [.19F4.0020.0002.043B] # CYRILLIC SMALL LETTER EL
+2DE7 ; [.19F4.0020.0004.2DE7] # COMBINING CYRILLIC LETTER EL; QQK
+041B ; [.19F4.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
+1D2B ; [.19F8.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
+04C6 ; [.19F9.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
+04C5 ; [.19F9.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
+0513 ; [.19FD.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
+0512 ; [.19FD.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
+0521 ; [.19FE.0020.0002.0521] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0520 ; [.19FE.0020.0008.0520] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0459 ; [.19FF.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
+0409 ; [.19FF.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
+A665 ; [.1A03.0020.0002.A665] # CYRILLIC SMALL LETTER SOFT EL
+A664 ; [.1A03.0020.0008.A664] # CYRILLIC CAPITAL LETTER SOFT EL
+0509 ; [.1A04.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
+0508 ; [.1A04.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
+0515 ; [.1A05.0020.0002.0515] # CYRILLIC SMALL LETTER LHA
+0514 ; [.1A05.0020.0008.0514] # CYRILLIC CAPITAL LETTER LHA
+043C ; [.1A06.0020.0002.043C] # CYRILLIC SMALL LETTER EM
+2DE8 ; [.1A06.0020.0004.2DE8] # COMBINING CYRILLIC LETTER EM; QQK
+041C ; [.1A06.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
+04CE ; [.1A0A.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
+04CD ; [.1A0A.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
+A667 ; [.1A0E.0020.0002.A667] # CYRILLIC SMALL LETTER SOFT EM
+A666 ; [.1A0E.0020.0008.A666] # CYRILLIC CAPITAL LETTER SOFT EM
+043D ; [.1A0F.0020.0002.043D] # CYRILLIC SMALL LETTER EN
+2DE9 ; [.1A0F.0020.0004.2DE9] # COMBINING CYRILLIC LETTER EN; QQK
+041D ; [.1A0F.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
+1D78 ; [.1A0F.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN; QQK
+04CA ; [.1A13.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
+04C9 ; [.1A13.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
+04A3 ; [.1A17.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A2 ; [.1A17.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04C8 ; [.1A1B.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
+04C7 ; [.1A1B.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
+0523 ; [.1A1F.0020.0002.0523] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0522 ; [.1A1F.0020.0008.0522] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+04A5 ; [.1A20.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
+04A4 ; [.1A20.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
+045A ; [.1A24.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
+040A ; [.1A24.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
+050B ; [.1A28.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
+050A ; [.1A28.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
+043E ; [.1A29.0020.0002.043E] # CYRILLIC SMALL LETTER O
+2DEA ; [.1A29.0020.0004.2DEA] # COMBINING CYRILLIC LETTER O; QQK
+A669 ; [.1A29.0020.0004.A669] # CYRILLIC SMALL LETTER MONOCULAR O; QQK
+A66B ; [.1A29.0020.0004.A66B] # CYRILLIC SMALL LETTER BINOCULAR O; QQK
+A66D ; [.1A29.0020.0004.A66D] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O; QQK
+A66E ; [.1A29.0020.0004.A66E] # CYRILLIC LETTER MULTIOCULAR O; QQK
+041E ; [.1A29.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
+A668 ; [.1A29.0020.000A.A668] # CYRILLIC CAPITAL LETTER MONOCULAR O; QQK
+A66A ; [.1A29.0020.000A.A66A] # CYRILLIC CAPITAL LETTER BINOCULAR O; QQK
+A66C ; [.1A29.0020.000A.A66C] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O; QQK
+04E7 ; [.1A2D.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+043E 0308 ; [.1A2D.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A2D.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+041E 0308 ; [.1A2D.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E9 ; [.1A31.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
+04E8 ; [.1A31.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
+04EB ; [.1A35.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04E9 0308 ; [.1A35.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A35.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04E8 0308 ; [.1A35.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+043F ; [.1A39.0020.0002.043F] # CYRILLIC SMALL LETTER PE
+2DEB ; [.1A39.0020.0004.2DEB] # COMBINING CYRILLIC LETTER PE; QQK
+041F ; [.1A39.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
+0525 ; [.1A3D.0020.0002.0525] # CYRILLIC SMALL LETTER PE WITH DESCENDER
+0524 ; [.1A3D.0020.0008.0524] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+04A7 ; [.1A3E.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A6 ; [.1A3E.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+0481 ; [.1A42.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
+0480 ; [.1A42.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
+0440 ; [.1A46.0020.0002.0440] # CYRILLIC SMALL LETTER ER
+2DEC ; [.1A46.0020.0004.2DEC] # COMBINING CYRILLIC LETTER ER; QQK
+0420 ; [.1A46.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
+048F ; [.1A4A.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
+048E ; [.1A4A.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
+0517 ; [.1A4E.0020.0002.0517] # CYRILLIC SMALL LETTER RHA
+0516 ; [.1A4E.0020.0008.0516] # CYRILLIC CAPITAL LETTER RHA
+0441 ; [.1A4F.0020.0002.0441] # CYRILLIC SMALL LETTER ES
+2DED ; [.1A4F.0020.0004.2DED] # COMBINING CYRILLIC LETTER ES; QQK
+0421 ; [.1A4F.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
+2DF5 ; [.1A4F.0020.0004.2DF5][.1A58.0020.0004.2DF5] # COMBINING CYRILLIC LETTER ES-TE; QQKN
+050D ; [.1A53.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
+050C ; [.1A53.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
+04AB ; [.1A54.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AA ; [.1A54.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+0442 ; [.1A58.0020.0002.0442] # CYRILLIC SMALL LETTER TE
+2DEE ; [.1A58.0020.0004.2DEE] # COMBINING CYRILLIC LETTER TE; QQK
+0422 ; [.1A58.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
+A68D ; [.1A5C.0020.0002.A68D] # CYRILLIC SMALL LETTER TWE
+A68C ; [.1A5C.0020.0008.A68C] # CYRILLIC CAPITAL LETTER TWE
+050F ; [.1A5D.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
+050E ; [.1A5D.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
+04AD ; [.1A5E.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AC ; [.1A5E.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+A68B ; [.1A62.0020.0002.A68B] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68A ; [.1A62.0020.0008.A68A] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+045B ; [.1A63.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
+040B ; [.1A63.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
+045C ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+043A 0301 ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+043A 0341 ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+041A 0301 ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+041A 0341 ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+0443 ; [.1A6B.0020.0002.0443] # CYRILLIC SMALL LETTER U
+0423 ; [.1A6B.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
+04EF ; [.1A6B.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON; QQCM
+04EE ; [.1A6B.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON; QQCM
+045E ; [.1A6F.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
+0443 0306 ; [.1A6F.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A6F.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
+0423 0306 ; [.1A6F.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A73.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+0443 0308 ; [.1A73.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A73.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+0423 0308 ; [.1A73.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A77.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+0443 030B ; [.1A77.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A77.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+0423 030B ; [.1A77.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04AF ; [.1A7B.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE ; [.1A7B.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
+04B1 ; [.1A7F.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B0 ; [.1A7F.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+A64B ; [.1A83.0020.0002.A64B] # CYRILLIC SMALL LETTER MONOGRAPH UK
+2DF9 ; [.1A83.0020.0004.2DF9] # COMBINING CYRILLIC LETTER MONOGRAPH UK; QQK
+A64A ; [.1A83.0020.0008.A64A] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
+0479 ; [.1A84.0020.0002.0479] # CYRILLIC SMALL LETTER UK
+0478 ; [.1A84.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
+0444 ; [.1A88.0020.0002.0444] # CYRILLIC SMALL LETTER EF
+0424 ; [.1A88.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
+0445 ; [.1A8C.0020.0002.0445] # CYRILLIC SMALL LETTER HA
+2DEF ; [.1A8C.0020.0004.2DEF] # COMBINING CYRILLIC LETTER HA; QQK
+0425 ; [.1A8C.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
+04FD ; [.1A90.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
+04FC ; [.1A90.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FF ; [.1A94.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
+04FE ; [.1A94.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
+04B3 ; [.1A98.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B2 ; [.1A98.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04BB ; [.1A9C.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
+04BA ; [.1A9C.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
+0527 ; [.1AA0.0020.0002.0527] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0526 ; [.1AA0.0020.0008.0526] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+A695 ; [.1AA1.0020.0002.A695] # CYRILLIC SMALL LETTER HWE
+A694 ; [.1AA1.0020.0008.A694] # CYRILLIC CAPITAL LETTER HWE
+0461 ; [.1AA2.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
+0460 ; [.1AA2.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
+047F ; [.1AA6.0020.0002.047F] # CYRILLIC SMALL LETTER OT
+047E ; [.1AA6.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
+A64D ; [.1AAA.0020.0002.A64D] # CYRILLIC SMALL LETTER BROAD OMEGA
+A64C ; [.1AAA.0020.0008.A64C] # CYRILLIC CAPITAL LETTER BROAD OMEGA
+047D ; [.1AAB.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047C ; [.1AAB.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047B ; [.1AAF.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
+047A ; [.1AAF.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
+0446 ; [.1AB3.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
+2DF0 ; [.1AB3.0020.0004.2DF0] # COMBINING CYRILLIC LETTER TSE; QQK
+0426 ; [.1AB3.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
+A661 ; [.1AB7.0020.0002.A661] # CYRILLIC SMALL LETTER REVERSED TSE
+A660 ; [.1AB7.0020.0008.A660] # CYRILLIC CAPITAL LETTER REVERSED TSE
+A68F ; [.1AB8.0020.0002.A68F] # CYRILLIC SMALL LETTER TSWE
+A68E ; [.1AB8.0020.0008.A68E] # CYRILLIC CAPITAL LETTER TSWE
+04B5 ; [.1AB9.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
+04B4 ; [.1AB9.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
+A691 ; [.1ABD.0020.0002.A691] # CYRILLIC SMALL LETTER TSSE
+A690 ; [.1ABD.0020.0008.A690] # CYRILLIC CAPITAL LETTER TSSE
+0447 ; [.1ABE.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
+2DF1 ; [.1ABE.0020.0004.2DF1] # COMBINING CYRILLIC LETTER CHE; QQK
+0427 ; [.1ABE.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
+A693 ; [.1AC2.0020.0002.A693] # CYRILLIC SMALL LETTER TCHE
+A692 ; [.1AC2.0020.0008.A692] # CYRILLIC CAPITAL LETTER TCHE
+04F5 ; [.1AC3.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+0447 0308 ; [.1AC3.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AC3.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+0427 0308 ; [.1AC3.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04B7 ; [.1AC7.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B6 ; [.1AC7.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04CC ; [.1ACB.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CB ; [.1ACB.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04B9 ; [.1ACF.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04B8 ; [.1ACF.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+A687 ; [.1AD3.0020.0002.A687] # CYRILLIC SMALL LETTER CCHE
+A686 ; [.1AD3.0020.0008.A686] # CYRILLIC CAPITAL LETTER CCHE
+04BD ; [.1AD4.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BC ; [.1AD4.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BF ; [.1AD8.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04BE ; [.1AD8.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+045F ; [.1ADC.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
+040F ; [.1ADC.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
+0448 ; [.1AE0.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
+2DF2 ; [.1AE0.0020.0004.2DF2] # COMBINING CYRILLIC LETTER SHA; QQK
+0428 ; [.1AE0.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
+A697 ; [.1AE4.0020.0002.A697] # CYRILLIC SMALL LETTER SHWE
+A696 ; [.1AE4.0020.0008.A696] # CYRILLIC CAPITAL LETTER SHWE
+0449 ; [.1AE5.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
+2DF3 ; [.1AE5.0020.0004.2DF3] # COMBINING CYRILLIC LETTER SHCHA; QQK
+0429 ; [.1AE5.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
+A64F ; [.1AE9.0020.0002.A64F] # CYRILLIC SMALL LETTER NEUTRAL YER
+A64E ; [.1AE9.0020.0008.A64E] # CYRILLIC CAPITAL LETTER NEUTRAL YER
+2E2F ; [.1AEA.0020.0002.2E2F] # VERTICAL TILDE
+A67F ; [.1AEB.0020.0002.A67F] # CYRILLIC PAYEROK
+044A ; [.1AEC.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
+042A ; [.1AEC.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
+A651 ; [.1AF0.0020.0002.A651] # CYRILLIC SMALL LETTER YERU WITH BACK YER
+A650 ; [.1AF0.0020.0008.A650] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+044B ; [.1AF1.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
+042B ; [.1AF1.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
+04F9 ; [.1AF5.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+044B 0308 ; [.1AF5.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1AF5.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+042B 0308 ; [.1AF5.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+044C ; [.1AF9.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
+042C ; [.1AF9.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
+048D ; [.1AFD.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
+048C ; [.1AFD.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0463 ; [.1B01.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
+2DFA ; [.1B01.0020.0004.2DFA] # COMBINING CYRILLIC LETTER YAT; QQK
+0462 ; [.1B01.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
+A653 ; [.1B05.0020.0002.A653] # CYRILLIC SMALL LETTER IOTIFIED YAT
+A652 ; [.1B05.0020.0008.A652] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
+044D ; [.1B06.0020.0002.044D] # CYRILLIC SMALL LETTER E
+042D ; [.1B06.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
+04ED ; [.1B0A.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+044D 0308 ; [.1B0A.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B0A.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+042D 0308 ; [.1B0A.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+044E ; [.1B0E.0020.0002.044E] # CYRILLIC SMALL LETTER YU
+2DFB ; [.1B0E.0020.0004.2DFB] # COMBINING CYRILLIC LETTER YU; QQK
+042E ; [.1B0E.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
+A655 ; [.1B12.0020.0002.A655] # CYRILLIC SMALL LETTER REVERSED YU
+A654 ; [.1B12.0020.0008.A654] # CYRILLIC CAPITAL LETTER REVERSED YU
+A657 ; [.1B13.0020.0002.A657] # CYRILLIC SMALL LETTER IOTIFIED A
+2DFC ; [.1B13.0020.0004.2DFC] # COMBINING CYRILLIC LETTER IOTIFIED A; QQK
+A656 ; [.1B13.0020.0008.A656] # CYRILLIC CAPITAL LETTER IOTIFIED A
+044F ; [.1B14.0020.0002.044F] # CYRILLIC SMALL LETTER YA
+042F ; [.1B14.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
+0519 ; [.1B18.0020.0002.0519] # CYRILLIC SMALL LETTER YAE
+0518 ; [.1B18.0020.0008.0518] # CYRILLIC CAPITAL LETTER YAE
+0465 ; [.1B19.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
+0464 ; [.1B19.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
+0467 ; [.1B1D.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
+2DFD ; [.1B1D.0020.0004.2DFD] # COMBINING CYRILLIC LETTER LITTLE YUS; QQK
+0466 ; [.1B1D.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
+A659 ; [.1B21.0020.0002.A659] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A658 ; [.1B21.0020.0008.A658] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+046B ; [.1B22.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
+2DFE ; [.1B22.0020.0004.2DFE] # COMBINING CYRILLIC LETTER BIG YUS; QQK
+046A ; [.1B22.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
+A65B ; [.1B26.0020.0002.A65B] # CYRILLIC SMALL LETTER BLENDED YUS
+A65A ; [.1B26.0020.0008.A65A] # CYRILLIC CAPITAL LETTER BLENDED YUS
+0469 ; [.1B27.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0468 ; [.1B27.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+A65D ; [.1B2B.0020.0002.A65D] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65C ; [.1B2B.0020.0008.A65C] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+046D ; [.1B2C.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+2DFF ; [.1B2C.0020.0004.2DFF] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS; QQK
+046C ; [.1B2C.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046F ; [.1B30.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
+046E ; [.1B30.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
+0471 ; [.1B34.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
+0470 ; [.1B34.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
+0473 ; [.1B38.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
+2DF4 ; [.1B38.0020.0004.2DF4] # COMBINING CYRILLIC LETTER FITA; QQK
+0472 ; [.1B38.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
+0475 ; [.1B3C.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
+0474 ; [.1B3C.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
+0477 ; [.1B40.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0475 030F ; [.1B40.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B40.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0474 030F ; [.1B40.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+A65F ; [.1B44.0020.0002.A65F] # CYRILLIC SMALL LETTER YN
+A65E ; [.1B44.0020.0008.A65E] # CYRILLIC CAPITAL LETTER YN
+04A9 ; [.1B45.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
+04A8 ; [.1B45.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
+051D ; [.1B49.0020.0002.051D] # CYRILLIC SMALL LETTER WE
+051C ; [.1B49.0020.0008.051C] # CYRILLIC CAPITAL LETTER WE
+04CF ; [.1B4A.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
+04C0 ; [.1B4A.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
+2C30 ; [.1B4E.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
+2C00 ; [.1B4E.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
+2C31 ; [.1B4F.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
+2C01 ; [.1B4F.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
+2C32 ; [.1B50.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
+2C02 ; [.1B50.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
+2C33 ; [.1B51.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
+2C03 ; [.1B51.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
+2C34 ; [.1B52.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
+2C04 ; [.1B52.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
+2C35 ; [.1B53.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
+2C05 ; [.1B53.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
+2C36 ; [.1B54.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
+2C06 ; [.1B54.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
+2C37 ; [.1B55.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
+2C07 ; [.1B55.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
+2C38 ; [.1B56.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
+2C08 ; [.1B56.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
+2C39 ; [.1B57.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
+2C09 ; [.1B57.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
+2C3A ; [.1B58.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
+2C0A ; [.1B58.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
+2C3B ; [.1B59.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
+2C0B ; [.1B59.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
+2C3C ; [.1B5A.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
+2C0C ; [.1B5A.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
+2C3D ; [.1B5B.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
+2C0D ; [.1B5B.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
+2C3E ; [.1B5C.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
+2C0E ; [.1B5C.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
+2C3F ; [.1B5D.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
+2C0F ; [.1B5D.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
+2C40 ; [.1B5E.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
+2C10 ; [.1B5E.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
+2C41 ; [.1B5F.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
+2C11 ; [.1B5F.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
+2C42 ; [.1B60.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
+2C12 ; [.1B60.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
+2C43 ; [.1B61.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
+2C13 ; [.1B61.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
+2C44 ; [.1B62.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
+2C14 ; [.1B62.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
+2C45 ; [.1B63.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
+2C15 ; [.1B63.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
+2C46 ; [.1B64.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
+2C16 ; [.1B64.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
+2C47 ; [.1B65.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
+2C17 ; [.1B65.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
+2C48 ; [.1B66.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
+2C18 ; [.1B66.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
+2C49 ; [.1B67.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
+2C19 ; [.1B67.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
+2C4A ; [.1B68.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
+2C1A ; [.1B68.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
+2C4B ; [.1B69.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
+2C1B ; [.1B69.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
+2C4C ; [.1B6A.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
+2C1C ; [.1B6A.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
+2C4D ; [.1B6B.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
+2C1D ; [.1B6B.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
+2C4E ; [.1B6C.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
+2C1E ; [.1B6C.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
+2C4F ; [.1B6D.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
+2C1F ; [.1B6D.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
+2C50 ; [.1B6E.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
+2C20 ; [.1B6E.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
+2C51 ; [.1B6F.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
+2C21 ; [.1B6F.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
+2C52 ; [.1B70.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
+2C22 ; [.1B70.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
+2C53 ; [.1B71.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
+2C23 ; [.1B71.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
+2C54 ; [.1B72.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
+2C24 ; [.1B72.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
+2C55 ; [.1B73.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
+2C25 ; [.1B73.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
+2C56 ; [.1B74.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
+2C26 ; [.1B74.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
+2C57 ; [.1B75.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
+2C27 ; [.1B75.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
+2C58 ; [.1B76.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
+2C28 ; [.1B76.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
+2C59 ; [.1B77.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
+2C29 ; [.1B77.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
+2C5A ; [.1B78.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
+2C2A ; [.1B78.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
+2C5B ; [.1B79.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
+2C2B ; [.1B79.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
+2C5C ; [.1B7A.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
+2C2C ; [.1B7A.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
+2C5D ; [.1B7B.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
+2C2D ; [.1B7B.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
+2C5E ; [.1B7C.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C2E ; [.1B7C.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+10D0 ; [.1B7D.0020.0002.10D0] # GEORGIAN LETTER AN
+2D00 ; [.1B7E.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
+10A0 ; [.1B7E.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
+10D1 ; [.1B7F.0020.0002.10D1] # GEORGIAN LETTER BAN
+2D01 ; [.1B80.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
+10A1 ; [.1B80.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
+10D2 ; [.1B81.0020.0002.10D2] # GEORGIAN LETTER GAN
+2D02 ; [.1B82.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
+10A2 ; [.1B82.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
+10D3 ; [.1B83.0020.0002.10D3] # GEORGIAN LETTER DON
+2D03 ; [.1B84.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
+10A3 ; [.1B84.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
+10D4 ; [.1B85.0020.0002.10D4] # GEORGIAN LETTER EN
+2D04 ; [.1B86.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
+10A4 ; [.1B86.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
+10D5 ; [.1B87.0020.0002.10D5] # GEORGIAN LETTER VIN
+2D05 ; [.1B88.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
+10A5 ; [.1B88.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
+10D6 ; [.1B89.0020.0002.10D6] # GEORGIAN LETTER ZEN
+2D06 ; [.1B8A.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
+10A6 ; [.1B8A.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
+10F1 ; [.1B8B.0020.0002.10F1] # GEORGIAN LETTER HE
+2D21 ; [.1B8C.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
+10C1 ; [.1B8C.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
+10D7 ; [.1B8D.0020.0002.10D7] # GEORGIAN LETTER TAN
+2D07 ; [.1B8E.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
+10A7 ; [.1B8E.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
+10D8 ; [.1B8F.0020.0002.10D8] # GEORGIAN LETTER IN
+2D08 ; [.1B90.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
+10A8 ; [.1B90.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
+10D9 ; [.1B91.0020.0002.10D9] # GEORGIAN LETTER KAN
+2D09 ; [.1B92.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
+10A9 ; [.1B92.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
+10DA ; [.1B93.0020.0002.10DA] # GEORGIAN LETTER LAS
+2D0A ; [.1B94.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
+10AA ; [.1B94.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
+10DB ; [.1B95.0020.0002.10DB] # GEORGIAN LETTER MAN
+2D0B ; [.1B96.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
+10AB ; [.1B96.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
+10DC ; [.1B97.0020.0002.10DC] # GEORGIAN LETTER NAR
+10FC ; [.1B97.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR; QQK
+2D0C ; [.1B98.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
+10AC ; [.1B98.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
+10F2 ; [.1B99.0020.0002.10F2] # GEORGIAN LETTER HIE
+2D22 ; [.1B9A.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
+10C2 ; [.1B9A.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
+10DD ; [.1B9B.0020.0002.10DD] # GEORGIAN LETTER ON
+2D0D ; [.1B9C.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
+10AD ; [.1B9C.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
+10DE ; [.1B9D.0020.0002.10DE] # GEORGIAN LETTER PAR
+2D0E ; [.1B9E.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
+10AE ; [.1B9E.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
+10DF ; [.1B9F.0020.0002.10DF] # GEORGIAN LETTER ZHAR
+2D0F ; [.1BA0.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
+10AF ; [.1BA0.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
+10E0 ; [.1BA1.0020.0002.10E0] # GEORGIAN LETTER RAE
+2D10 ; [.1BA2.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
+10B0 ; [.1BA2.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
+10E1 ; [.1BA3.0020.0002.10E1] # GEORGIAN LETTER SAN
+2D11 ; [.1BA4.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
+10B1 ; [.1BA4.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
+10E2 ; [.1BA5.0020.0002.10E2] # GEORGIAN LETTER TAR
+2D12 ; [.1BA6.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
+10B2 ; [.1BA6.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
+10F3 ; [.1BA7.0020.0002.10F3] # GEORGIAN LETTER WE
+2D23 ; [.1BA8.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
+10C3 ; [.1BA8.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
+10E3 ; [.1BA9.0020.0002.10E3] # GEORGIAN LETTER UN
+2D13 ; [.1BAA.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
+10B3 ; [.1BAA.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
+10E4 ; [.1BAB.0020.0002.10E4] # GEORGIAN LETTER PHAR
+2D14 ; [.1BAC.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
+10B4 ; [.1BAC.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
+10E5 ; [.1BAD.0020.0002.10E5] # GEORGIAN LETTER KHAR
+2D15 ; [.1BAE.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
+10B5 ; [.1BAE.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
+10E6 ; [.1BAF.0020.0002.10E6] # GEORGIAN LETTER GHAN
+2D16 ; [.1BB0.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
+10B6 ; [.1BB0.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
+10E7 ; [.1BB1.0020.0002.10E7] # GEORGIAN LETTER QAR
+2D17 ; [.1BB2.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
+10B7 ; [.1BB2.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
+10E8 ; [.1BB3.0020.0002.10E8] # GEORGIAN LETTER SHIN
+2D18 ; [.1BB4.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
+10B8 ; [.1BB4.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
+10E9 ; [.1BB5.0020.0002.10E9] # GEORGIAN LETTER CHIN
+2D19 ; [.1BB6.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
+10B9 ; [.1BB6.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
+10EA ; [.1BB7.0020.0002.10EA] # GEORGIAN LETTER CAN
+2D1A ; [.1BB8.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
+10BA ; [.1BB8.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
+10EB ; [.1BB9.0020.0002.10EB] # GEORGIAN LETTER JIL
+2D1B ; [.1BBA.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
+10BB ; [.1BBA.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
+10EC ; [.1BBB.0020.0002.10EC] # GEORGIAN LETTER CIL
+2D1C ; [.1BBC.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
+10BC ; [.1BBC.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
+10ED ; [.1BBD.0020.0002.10ED] # GEORGIAN LETTER CHAR
+2D1D ; [.1BBE.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
+10BD ; [.1BBE.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
+10EE ; [.1BBF.0020.0002.10EE] # GEORGIAN LETTER XAN
+2D1E ; [.1BC0.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
+10BE ; [.1BC0.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
+10F4 ; [.1BC1.0020.0002.10F4] # GEORGIAN LETTER HAR
+2D24 ; [.1BC2.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
+10C4 ; [.1BC2.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
+10EF ; [.1BC3.0020.0002.10EF] # GEORGIAN LETTER JHAN
+2D1F ; [.1BC4.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
+10BF ; [.1BC4.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
+10F0 ; [.1BC5.0020.0002.10F0] # GEORGIAN LETTER HAE
+2D20 ; [.1BC6.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
+10C0 ; [.1BC6.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
+10F5 ; [.1BC7.0020.0002.10F5] # GEORGIAN LETTER HOE
+2D25 ; [.1BC8.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
+10C5 ; [.1BC8.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
+10F6 ; [.1BC9.0020.0002.10F6] # GEORGIAN LETTER FI
+10F7 ; [.1BCA.0020.0002.10F7] # GEORGIAN LETTER YN
+10F8 ; [.1BCB.0020.0002.10F8] # GEORGIAN LETTER ELIFI
+10F9 ; [.1BCC.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
+10FA ; [.1BCD.0020.0002.10FA] # GEORGIAN LETTER AIN
+0561 ; [.1BCE.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
+0531 ; [.1BCE.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
+0562 ; [.1BCF.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
+0532 ; [.1BCF.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
+0563 ; [.1BD0.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
+0533 ; [.1BD0.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
+0564 ; [.1BD1.0020.0002.0564] # ARMENIAN SMALL LETTER DA
+0534 ; [.1BD1.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
+0565 ; [.1BD2.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
+0535 ; [.1BD2.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
+0587 ; [.1BD2.0020.0004.0587][.1BEF.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN; QQKN
+0566 ; [.1BD3.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
+0536 ; [.1BD3.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
+0567 ; [.1BD4.0020.0002.0567] # ARMENIAN SMALL LETTER EH
+0537 ; [.1BD4.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
+0568 ; [.1BD5.0020.0002.0568] # ARMENIAN SMALL LETTER ET
+0538 ; [.1BD5.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
+0569 ; [.1BD6.0020.0002.0569] # ARMENIAN SMALL LETTER TO
+0539 ; [.1BD6.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
+056A ; [.1BD7.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
+053A ; [.1BD7.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
+056B ; [.1BD8.0020.0002.056B] # ARMENIAN SMALL LETTER INI
+053B ; [.1BD8.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
+056C ; [.1BD9.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
+053C ; [.1BD9.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
+056D ; [.1BDA.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
+053D ; [.1BDA.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
+056E ; [.1BDB.0020.0002.056E] # ARMENIAN SMALL LETTER CA
+053E ; [.1BDB.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
+056F ; [.1BDC.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
+053F ; [.1BDC.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
+0570 ; [.1BDD.0020.0002.0570] # ARMENIAN SMALL LETTER HO
+0540 ; [.1BDD.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
+0571 ; [.1BDE.0020.0002.0571] # ARMENIAN SMALL LETTER JA
+0541 ; [.1BDE.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
+0572 ; [.1BDF.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
+0542 ; [.1BDF.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
+0573 ; [.1BE0.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
+0543 ; [.1BE0.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
+0574 ; [.1BE1.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
+0544 ; [.1BE1.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
+FB14 ; [.1BE1.0020.0004.FB14][.1BD2.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH; QQKN
+FB15 ; [.1BE1.0020.0004.FB15][.1BD8.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI; QQKN
+FB17 ; [.1BE1.0020.0004.FB17][.1BDA.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH; QQKN
+FB13 ; [.1BE1.0020.0004.FB13][.1BE3.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW; QQKN
+0575 ; [.1BE2.0020.0002.0575] # ARMENIAN SMALL LETTER YI
+0545 ; [.1BE2.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
+0576 ; [.1BE3.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
+0546 ; [.1BE3.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
+0577 ; [.1BE4.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
+0547 ; [.1BE4.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
+0578 ; [.1BE5.0020.0002.0578] # ARMENIAN SMALL LETTER VO
+0548 ; [.1BE5.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
+0579 ; [.1BE6.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
+0549 ; [.1BE6.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
+057A ; [.1BE7.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
+054A ; [.1BE7.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
+057B ; [.1BE8.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
+054B ; [.1BE8.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
+057C ; [.1BE9.0020.0002.057C] # ARMENIAN SMALL LETTER RA
+054C ; [.1BE9.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
+057D ; [.1BEA.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
+054D ; [.1BEA.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
+057E ; [.1BEB.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
+054E ; [.1BEB.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
+FB16 ; [.1BEB.0020.0004.FB16][.1BE3.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW; QQKN
+057F ; [.1BEC.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
+054F ; [.1BEC.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
+0580 ; [.1BED.0020.0002.0580] # ARMENIAN SMALL LETTER REH
+0550 ; [.1BED.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
+0581 ; [.1BEE.0020.0002.0581] # ARMENIAN SMALL LETTER CO
+0551 ; [.1BEE.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
+0582 ; [.1BEF.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
+0552 ; [.1BEF.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
+0583 ; [.1BF0.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
+0553 ; [.1BF0.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
+0584 ; [.1BF1.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
+0554 ; [.1BF1.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
+0585 ; [.1BF2.0020.0002.0585] # ARMENIAN SMALL LETTER OH
+0555 ; [.1BF2.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
+0586 ; [.1BF3.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
+0556 ; [.1BF3.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
+0559 ; [.1BF4.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
+05D0 ; [.1BF5.0020.0002.05D0] # HEBREW LETTER ALEF
+2135 ; [.1BF5.0020.0004.2135] # ALEF SYMBOL; QQK
+FB21 ; [.1BF5.0020.0005.FB21] # HEBREW LETTER WIDE ALEF; QQK
+FB2E ; [.1BF5.0020.0002.05D0][.0000.008C.0002.05B7] # HEBREW LETTER ALEF WITH PATAH; QQCM
+FB2F ; [.1BF5.0020.0002.05D0][.0000.008D.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS; QQCM
+FB30 ; [.1BF5.0020.0002.05D0][.0000.0092.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ; QQCM
+FB4F ; [.1BF5.0020.0004.FB4F][.1C00.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED; QQKN
+05D1 ; [.1BF6.0020.0002.05D1] # HEBREW LETTER BET
+2136 ; [.1BF6.0020.0004.2136] # BET SYMBOL; QQK
+FB31 ; [.1BF6.0020.0002.05D1][.0000.0092.0002.05BC] # HEBREW LETTER BET WITH DAGESH; QQCM
+FB4C ; [.1BF6.0020.0002.05D1][.0000.0095.0002.05BF] # HEBREW LETTER BET WITH RAFE; QQCM
+05D2 ; [.1BF7.0020.0002.05D2] # HEBREW LETTER GIMEL
+2137 ; [.1BF7.0020.0004.2137] # GIMEL SYMBOL; QQK
+FB32 ; [.1BF7.0020.0002.05D2][.0000.0092.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH; QQCM
+05D3 ; [.1BF8.0020.0002.05D3] # HEBREW LETTER DALET
+2138 ; [.1BF8.0020.0004.2138] # DALET SYMBOL; QQK
+FB22 ; [.1BF8.0020.0005.FB22] # HEBREW LETTER WIDE DALET; QQK
+FB33 ; [.1BF8.0020.0002.05D3][.0000.0092.0002.05BC] # HEBREW LETTER DALET WITH DAGESH; QQCM
+05D4 ; [.1BF9.0020.0002.05D4] # HEBREW LETTER HE
+FB23 ; [.1BF9.0020.0005.FB23] # HEBREW LETTER WIDE HE; QQK
+FB34 ; [.1BF9.0020.0002.05D4][.0000.0092.0002.05BC] # HEBREW LETTER HE WITH MAPIQ; QQCM
+05D5 ; [.1BFA.0020.0002.05D5] # HEBREW LETTER VAV
+FB4B ; [.1BFA.0020.0002.05D5][.0000.008E.0002.05B9] # HEBREW LETTER VAV WITH HOLAM; QQCM
+FB35 ; [.1BFA.0020.0002.05D5][.0000.0092.0002.05BC] # HEBREW LETTER VAV WITH DAGESH; QQCM
+05F0 ; [.1BFA.0020.0004.05F0][.1BFA.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV; QQKN
+05F1 ; [.1BFA.0020.0004.05F1][.1BFE.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD; QQKN
+05D6 ; [.1BFB.0020.0002.05D6] # HEBREW LETTER ZAYIN
+FB36 ; [.1BFB.0020.0002.05D6][.0000.0092.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH; QQCM
+05D7 ; [.1BFC.0020.0002.05D7] # HEBREW LETTER HET
+05D8 ; [.1BFD.0020.0002.05D8] # HEBREW LETTER TET
+FB38 ; [.1BFD.0020.0002.05D8][.0000.0092.0002.05BC] # HEBREW LETTER TET WITH DAGESH; QQCM
+05D9 ; [.1BFE.0020.0002.05D9] # HEBREW LETTER YOD
+FB1D ; [.1BFE.0020.0002.05D9][.0000.0089.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ; QQCM
+FB39 ; [.1BFE.0020.0002.05D9][.0000.0092.0002.05BC] # HEBREW LETTER YOD WITH DAGESH; QQCM
+05F2 ; [.1BFE.0020.0004.05F2][.1BFE.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD; QQKN
+FB1F ; [.1BFE.0020.0004.FB1F][.1BFE.0020.0004.FB1F][.0000.008C.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH; QQKN
+05DB ; [.1BFF.0020.0002.05DB] # HEBREW LETTER KAF
+FB24 ; [.1BFF.0020.0005.FB24] # HEBREW LETTER WIDE KAF; QQK
+05DA ; [.1BFF.0020.0019.05DA] # HEBREW LETTER FINAL KAF; QQK
+FB3B ; [.1BFF.0020.0002.05DB][.0000.0092.0002.05BC] # HEBREW LETTER KAF WITH DAGESH; QQCM
+FB3A ; [.1BFF.0020.0019.FB3A][.0000.0092.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH; QQKN
+FB4D ; [.1BFF.0020.0002.05DB][.0000.0095.0002.05BF] # HEBREW LETTER KAF WITH RAFE; QQCM
+05DC ; [.1C00.0020.0002.05DC] # HEBREW LETTER LAMED
+FB25 ; [.1C00.0020.0005.FB25] # HEBREW LETTER WIDE LAMED; QQK
+FB3C ; [.1C00.0020.0002.05DC][.0000.0092.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH; QQCM
+05DE ; [.1C01.0020.0002.05DE] # HEBREW LETTER MEM
+FB26 ; [.1C01.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM; QQK
+05DD ; [.1C01.0020.0019.05DD] # HEBREW LETTER FINAL MEM; QQK
+FB3E ; [.1C01.0020.0002.05DE][.0000.0092.0002.05BC] # HEBREW LETTER MEM WITH DAGESH; QQCM
+05E0 ; [.1C02.0020.0002.05E0] # HEBREW LETTER NUN
+05DF ; [.1C02.0020.0019.05DF] # HEBREW LETTER FINAL NUN; QQK
+FB40 ; [.1C02.0020.0002.05E0][.0000.0092.0002.05BC] # HEBREW LETTER NUN WITH DAGESH; QQCM
+05E1 ; [.1C03.0020.0002.05E1] # HEBREW LETTER SAMEKH
+FB41 ; [.1C03.0020.0002.05E1][.0000.0092.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH; QQCM
+05E2 ; [.1C04.0020.0002.05E2] # HEBREW LETTER AYIN
+FB20 ; [.1C04.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN; QQK
+05E4 ; [.1C05.0020.0002.05E4] # HEBREW LETTER PE
+05E3 ; [.1C05.0020.0019.05E3] # HEBREW LETTER FINAL PE; QQK
+FB44 ; [.1C05.0020.0002.05E4][.0000.0092.0002.05BC] # HEBREW LETTER PE WITH DAGESH; QQCM
+FB43 ; [.1C05.0020.0019.FB43][.0000.0092.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH; QQKN
+FB4E ; [.1C05.0020.0002.05E4][.0000.0095.0002.05BF] # HEBREW LETTER PE WITH RAFE; QQCM
+05E6 ; [.1C06.0020.0002.05E6] # HEBREW LETTER TSADI
+05E5 ; [.1C06.0020.0019.05E5] # HEBREW LETTER FINAL TSADI; QQK
+FB46 ; [.1C06.0020.0002.05E6][.0000.0092.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH; QQCM
+05E7 ; [.1C07.0020.0002.05E7] # HEBREW LETTER QOF
+FB47 ; [.1C07.0020.0002.05E7][.0000.0092.0002.05BC] # HEBREW LETTER QOF WITH DAGESH; QQCM
+05E8 ; [.1C08.0020.0002.05E8] # HEBREW LETTER RESH
+FB27 ; [.1C08.0020.0005.FB27] # HEBREW LETTER WIDE RESH; QQK
+FB48 ; [.1C08.0020.0002.05E8][.0000.0092.0002.05BC] # HEBREW LETTER RESH WITH DAGESH; QQCM
+05E9 ; [.1C09.0020.0002.05E9] # HEBREW LETTER SHIN
+FB2B ; [.1C09.0020.0002.05E9][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT; QQCM
+FB2A ; [.1C09.0020.0002.05E9][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT; QQCM
+FB49 ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH; QQCM
+FB2D ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT; QQCM
+FB2C ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT; QQCM
+05EA ; [.1C0A.0020.0002.05EA] # HEBREW LETTER TAV
+FB28 ; [.1C0A.0020.0005.FB28] # HEBREW LETTER WIDE TAV; QQK
+FB4A ; [.1C0A.0020.0002.05EA][.0000.0092.0002.05BC] # HEBREW LETTER TAV WITH DAGESH; QQCM
+10900 ; [.1C0B.0020.0002.10900] # PHOENICIAN LETTER ALF
+10901 ; [.1C0C.0020.0002.10901] # PHOENICIAN LETTER BET
+10902 ; [.1C0D.0020.0002.10902] # PHOENICIAN LETTER GAML
+10903 ; [.1C0E.0020.0002.10903] # PHOENICIAN LETTER DELT
+10904 ; [.1C0F.0020.0002.10904] # PHOENICIAN LETTER HE
+10905 ; [.1C10.0020.0002.10905] # PHOENICIAN LETTER WAU
+10906 ; [.1C11.0020.0002.10906] # PHOENICIAN LETTER ZAI
+10907 ; [.1C12.0020.0002.10907] # PHOENICIAN LETTER HET
+10908 ; [.1C13.0020.0002.10908] # PHOENICIAN LETTER TET
+10909 ; [.1C14.0020.0002.10909] # PHOENICIAN LETTER YOD
+1090A ; [.1C15.0020.0002.1090A] # PHOENICIAN LETTER KAF
+1090B ; [.1C16.0020.0002.1090B] # PHOENICIAN LETTER LAMD
+1090C ; [.1C17.0020.0002.1090C] # PHOENICIAN LETTER MEM
+1090D ; [.1C18.0020.0002.1090D] # PHOENICIAN LETTER NUN
+1090E ; [.1C19.0020.0002.1090E] # PHOENICIAN LETTER SEMK
+1090F ; [.1C1A.0020.0002.1090F] # PHOENICIAN LETTER AIN
+10910 ; [.1C1B.0020.0002.10910] # PHOENICIAN LETTER PE
+10911 ; [.1C1C.0020.0002.10911] # PHOENICIAN LETTER SADE
+10912 ; [.1C1D.0020.0002.10912] # PHOENICIAN LETTER QOF
+10913 ; [.1C1E.0020.0002.10913] # PHOENICIAN LETTER ROSH
+10914 ; [.1C1F.0020.0002.10914] # PHOENICIAN LETTER SHIN
+10915 ; [.1C20.0020.0002.10915] # PHOENICIAN LETTER TAU
+0800 ; [.1C21.0020.0002.0800] # SAMARITAN LETTER ALAF
+0801 ; [.1C22.0020.0002.0801] # SAMARITAN LETTER BIT
+0802 ; [.1C23.0020.0002.0802] # SAMARITAN LETTER GAMAN
+0803 ; [.1C24.0020.0002.0803] # SAMARITAN LETTER DALAT
+0804 ; [.1C25.0020.0002.0804] # SAMARITAN LETTER IY
+0805 ; [.1C26.0020.0002.0805] # SAMARITAN LETTER BAA
+0806 ; [.1C27.0020.0002.0806] # SAMARITAN LETTER ZEN
+0807 ; [.1C28.0020.0002.0807] # SAMARITAN LETTER IT
+0808 ; [.1C29.0020.0002.0808] # SAMARITAN LETTER TIT
+0809 ; [.1C2A.0020.0002.0809] # SAMARITAN LETTER YUT
+080A ; [.1C2B.0020.0002.080A] # SAMARITAN LETTER KAAF
+080B ; [.1C2C.0020.0002.080B] # SAMARITAN LETTER LABAT
+080C ; [.1C2D.0020.0002.080C] # SAMARITAN LETTER MIM
+080D ; [.1C2E.0020.0002.080D] # SAMARITAN LETTER NUN
+080E ; [.1C2F.0020.0002.080E] # SAMARITAN LETTER SINGAAT
+080F ; [.1C30.0020.0002.080F] # SAMARITAN LETTER IN
+0810 ; [.1C31.0020.0002.0810] # SAMARITAN LETTER FI
+0811 ; [.1C32.0020.0002.0811] # SAMARITAN LETTER TSAADIY
+0812 ; [.1C33.0020.0002.0812] # SAMARITAN LETTER QUF
+0813 ; [.1C34.0020.0002.0813] # SAMARITAN LETTER RISH
+0814 ; [.1C35.0020.0002.0814] # SAMARITAN LETTER SHAN
+0815 ; [.1C36.0020.0002.0815] # SAMARITAN LETTER TAAF
+0816 ; [.1C37.0020.0002.0816] # SAMARITAN MARK IN
+0817 ; [.1C38.0020.0002.0817] # SAMARITAN MARK IN-ALAF
+081A ; [.1C39.0020.0002.081A] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B ; [.1C3A.0020.0002.081B] # SAMARITAN MARK EPENTHETIC YUT
+0621 ; [.1C3B.0020.0002.0621] # ARABIC LETTER HAMZA
+0674 ; [.1C3B.0020.0004.0674] # ARABIC LETTER HIGH HAMZA; QQK
+FE80 ; [.1C3B.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM; QQK
+06FD ; [.1C3B.0020.0004.06FD][.0000.0160.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND; QQKN
+0622 ; [.1C3C.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C3C.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
+FE82 ; [.1C3C.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM; QQK
+FE81 ; [.1C3C.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM; QQK
+0623 ; [.1C3D.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C3D.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+FE84 ; [.1C3D.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM; QQK
+FE83 ; [.1C3D.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM; QQK
+0672 ; [.1C3E.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0671 ; [.1C3F.0020.0002.0671] # ARABIC LETTER ALEF WASLA
+FB51 ; [.1C3F.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM; QQK
+FB50 ; [.1C3F.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM; QQK
+0624 ; [.1C40.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C40.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
+FE86 ; [.1C40.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM; QQK
+FE85 ; [.1C40.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM; QQK
+0625 ; [.1C41.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.1C41.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
+FE88 ; [.1C41.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM; QQK
+FE87 ; [.1C41.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM; QQK
+0673 ; [.1C42.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0773 ; [.1C43.0020.0002.0773] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0774 ; [.1C44.0020.0002.0774] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0626 ; [.1C45.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C45.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
+FE8B ; [.1C45.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM; QQK
+FE8C ; [.1C45.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM; QQK
+FE8A ; [.1C45.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM; QQK
+FE89 ; [.1C45.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM; QQK
+FBEB ; [.1C45.0020.0019.FBEB][.1C46.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM; QQKN
+FBEA ; [.1C45.0020.001A.FBEA][.1C46.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM; QQKN
+FC97 ; [.1C45.0020.0017.FC97][.1C5B.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM; QQKN
+FC00 ; [.1C45.0020.001A.FC00][.1C5B.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM; QQKN
+FC98 ; [.1C45.0020.0017.FC98][.1C61.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM; QQKN
+FC01 ; [.1C45.0020.001A.FC01][.1C61.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM; QQKN
+FC99 ; [.1C45.0020.0017.FC99][.1C62.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM; QQKN
+FC64 ; [.1C45.0020.0019.FC64][.1C7A.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM; QQKN
+FC65 ; [.1C45.0020.0019.FC65][.1C7B.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM; QQKN
+FC9A ; [.1C45.0020.0017.FC9A][.1CCA.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM; QQKN
+FCDF ; [.1C45.0020.0018.FCDF][.1CCA.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM; QQKN
+FC66 ; [.1C45.0020.0019.FC66][.1CCA.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM; QQKN
+FC02 ; [.1C45.0020.001A.FC02][.1CCA.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM; QQKN
+FC67 ; [.1C45.0020.0019.FC67][.1CCD.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM; QQKN
+FC9B ; [.1C45.0020.0017.FC9B][.1CD6.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM; QQKN
+FCE0 ; [.1C45.0020.0018.FCE0][.1CD6.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM; QQKN
+FBED ; [.1C45.0020.0019.FBED][.1CDB.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM; QQKN
+FBEC ; [.1C45.0020.001A.FBEC][.1CDB.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM; QQKN
+FBEF ; [.1C45.0020.0019.FBEF][.1CDC.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM; QQKN
+FBEE ; [.1C45.0020.001A.FBEE][.1CDC.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM; QQKN
+FBF3 ; [.1C45.0020.0019.FBF3][.1CDF.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM; QQKN
+FBF2 ; [.1C45.0020.001A.FBF2][.1CDF.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM; QQKN
+FBF1 ; [.1C45.0020.0019.FBF1][.1CE0.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM; QQKN
+FBF0 ; [.1C45.0020.001A.FBF0][.1CE0.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM; QQKN
+FBF5 ; [.1C45.0020.0019.FBF5][.1CE1.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM; QQKN
+FBF4 ; [.1C45.0020.001A.FBF4][.1CE1.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM; QQKN
+FBFB ; [.1C45.0020.0017.FBFB][.1CE8.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM; QQKN
+FBFA ; [.1C45.0020.0019.FBFA][.1CE8.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
+FC68 ; [.1C45.0020.0019.FC68][.1CE8.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
+FBF9 ; [.1C45.0020.001A.FBF9][.1CE8.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC03 ; [.1C45.0020.001A.FC03][.1CE8.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC69 ; [.1C45.0020.0019.FC69][.1CE9.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM; QQKN
+FC04 ; [.1C45.0020.001A.FC04][.1CE9.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM; QQKN
+FBF8 ; [.1C45.0020.0017.FBF8][.1CED.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM; QQKN
+FBF7 ; [.1C45.0020.0019.FBF7][.1CED.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM; QQKN
+FBF6 ; [.1C45.0020.001A.FBF6][.1CED.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM; QQKN
+0627 ; [.1C46.0020.0002.0627] # ARABIC LETTER ALEF
+FE8E ; [.1C46.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM; QQK
+FE8D ; [.1C46.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM; QQK
+FD3C ; [.1C46.0020.0019.FD3C][.0000.00A2.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM; QQKN
+FD3D ; [.1C46.0020.001A.FD3D][.0000.00A2.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM; QQKN
+0675 ; [.1C46.0020.0004.0675][.1C3B.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF; QQKN
+FDF3 ; [.1C46.0020.001A.FDF3][.1CB1.0020.001A.FDF3][.1C48.0020.001F.FDF3][.1C7A.0020.001F.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM; QQKN
+FDF2 ; [.1C46.0020.001A.FDF2][.1CC4.0020.001A.FDF2][.1CC4.0020.001F.FDF2][.1CD6.0020.001F.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM; QQKN
+066E ; [.1C47.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
+0628 ; [.1C48.0020.0002.0628] # ARABIC LETTER BEH
+FE91 ; [.1C48.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM; QQK
+FE92 ; [.1C48.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM; QQK
+FE90 ; [.1C48.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM; QQK
+FE8F ; [.1C48.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM; QQK
+FC9C ; [.1C48.0020.0017.FC9C][.1C5B.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM; QQKN
+FC05 ; [.1C48.0020.001A.FC05][.1C5B.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM; QQKN
+FC9D ; [.1C48.0020.0017.FC9D][.1C61.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM; QQKN
+FC06 ; [.1C48.0020.001A.FC06][.1C61.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM; QQKN
+FDC2 ; [.1C48.0020.0019.FDC2][.1C61.0020.0019.FDC2][.1CE9.0020.001F.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM; QQKN
+FC9E ; [.1C48.0020.0017.FC9E][.1C62.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM; QQKN
+FC07 ; [.1C48.0020.001A.FC07][.1C62.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM; QQKN
+FD9E ; [.1C48.0020.0019.FD9E][.1C62.0020.0019.FD9E][.1CE9.0020.001F.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM; QQKN
+FC6A ; [.1C48.0020.0019.FC6A][.1C7A.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM; QQKN
+FC6B ; [.1C48.0020.0019.FC6B][.1C7B.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM; QQKN
+FC9F ; [.1C48.0020.0017.FC9F][.1CCA.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM; QQKN
+FCE1 ; [.1C48.0020.0018.FCE1][.1CCA.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM; QQKN
+FC6C ; [.1C48.0020.0019.FC6C][.1CCA.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM; QQKN
+FC08 ; [.1C48.0020.001A.FC08][.1CCA.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM; QQKN
+FC6D ; [.1C48.0020.0019.FC6D][.1CCD.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM; QQKN
+FCA0 ; [.1C48.0020.0017.FCA0][.1CD6.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM; QQKN
+FCE2 ; [.1C48.0020.0018.FCE2][.1CD6.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM; QQKN
+FC6E ; [.1C48.0020.0019.FC6E][.1CE8.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM; QQKN
+FC09 ; [.1C48.0020.001A.FC09][.1CE8.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC6F ; [.1C48.0020.0019.FC6F][.1CE9.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM; QQKN
+FC0A ; [.1C48.0020.001A.FC0A][.1CE9.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM; QQKN
+067B ; [.1C49.0020.0002.067B] # ARABIC LETTER BEEH
+FB54 ; [.1C49.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM; QQK
+FB55 ; [.1C49.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM; QQK
+FB53 ; [.1C49.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM; QQK
+FB52 ; [.1C49.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM; QQK
+067E ; [.1C4A.0020.0002.067E] # ARABIC LETTER PEH
+FB58 ; [.1C4A.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM; QQK
+FB59 ; [.1C4A.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM; QQK
+FB57 ; [.1C4A.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM; QQK
+FB56 ; [.1C4A.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM; QQK
+0680 ; [.1C4B.0020.0002.0680] # ARABIC LETTER BEHEH
+FB5C ; [.1C4B.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM; QQK
+FB5D ; [.1C4B.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM; QQK
+FB5B ; [.1C4B.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM; QQK
+FB5A ; [.1C4B.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM; QQK
+0750 ; [.1C4C.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+0751 ; [.1C4D.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+0752 ; [.1C4E.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+0753 ; [.1C4F.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+0754 ; [.1C50.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+0755 ; [.1C51.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+0756 ; [.1C52.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
+0629 ; [.1C53.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
+FE94 ; [.1C53.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM; QQK
+FE93 ; [.1C53.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM; QQK
+062A ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH
+FE97 ; [.1C54.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM; QQK
+FE98 ; [.1C54.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM; QQK
+FE96 ; [.1C54.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM; QQK
+FE95 ; [.1C54.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM; QQK
+FCA1 ; [.1C54.0020.0017.FCA1][.1C5B.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM; QQKN
+FC0B ; [.1C54.0020.001A.FC0B][.1C5B.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM; QQKN
+FD50 ; [.1C54.0020.0017.FD50][.1C5B.0020.0017.FD50][.1CCA.0020.001F.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM; QQKN
+FDA0 ; [.1C54.0020.0019.FDA0][.1C5B.0020.0019.FDA0][.1CE8.0020.001F.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FD9F ; [.1C54.0020.0019.FD9F][.1C5B.0020.0019.FD9F][.1CE9.0020.001F.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM; QQKN
+FCA2 ; [.1C54.0020.0017.FCA2][.1C61.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM; QQKN
+FC0C ; [.1C54.0020.001A.FC0C][.1C61.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM; QQKN
+FD52 ; [.1C54.0020.0017.FD52][.1C61.0020.0017.FD52][.1C5B.0020.001F.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM; QQKN
+FD51 ; [.1C54.0020.0019.FD51][.1C61.0020.0019.FD51][.1C5B.0020.001F.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM; QQKN
+FD53 ; [.1C54.0020.0017.FD53][.1C61.0020.0017.FD53][.1CCA.0020.001F.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM; QQKN
+FCA3 ; [.1C54.0020.0017.FCA3][.1C62.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM; QQKN
+FC0D ; [.1C54.0020.001A.FC0D][.1C62.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM; QQKN
+FD54 ; [.1C54.0020.0017.FD54][.1C62.0020.0017.FD54][.1CCA.0020.001F.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
+FDA2 ; [.1C54.0020.0019.FDA2][.1C62.0020.0019.FDA2][.1CE8.0020.001F.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FDA1 ; [.1C54.0020.0019.FDA1][.1C62.0020.0019.FDA1][.1CE9.0020.001F.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM; QQKN
+FC70 ; [.1C54.0020.0019.FC70][.1C7A.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM; QQKN
+FC71 ; [.1C54.0020.0019.FC71][.1C7B.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM; QQKN
+FCA4 ; [.1C54.0020.0017.FCA4][.1CCA.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM; QQKN
+FCE3 ; [.1C54.0020.0018.FCE3][.1CCA.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM; QQKN
+FC72 ; [.1C54.0020.0019.FC72][.1CCA.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM; QQKN
+FC0E ; [.1C54.0020.001A.FC0E][.1CCA.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM; QQKN
+FD55 ; [.1C54.0020.0017.FD55][.1CCA.0020.0017.FD55][.1C5B.0020.001F.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
+FD56 ; [.1C54.0020.0017.FD56][.1CCA.0020.0017.FD56][.1C61.0020.001F.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM; QQKN
+FD57 ; [.1C54.0020.0017.FD57][.1CCA.0020.0017.FD57][.1C62.0020.001F.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM; QQKN
+FDA4 ; [.1C54.0020.0019.FDA4][.1CCA.0020.0019.FDA4][.1CE8.0020.001F.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FDA3 ; [.1C54.0020.0019.FDA3][.1CCA.0020.0019.FDA3][.1CE9.0020.001F.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM; QQKN
+FC73 ; [.1C54.0020.0019.FC73][.1CCD.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM; QQKN
+FCA5 ; [.1C54.0020.0017.FCA5][.1CD6.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM; QQKN
+FCE4 ; [.1C54.0020.0018.FCE4][.1CD6.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM; QQKN
+FC74 ; [.1C54.0020.0019.FC74][.1CE8.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM; QQKN
+FC0F ; [.1C54.0020.001A.FC0F][.1CE8.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC75 ; [.1C54.0020.0019.FC75][.1CE9.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM; QQKN
+FC10 ; [.1C54.0020.001A.FC10][.1CE9.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM; QQKN
+062B ; [.1C55.0020.0002.062B] # ARABIC LETTER THEH
+FE9B ; [.1C55.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM; QQK
+FE9C ; [.1C55.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM; QQK
+FE9A ; [.1C55.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM; QQK
+FE99 ; [.1C55.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM; QQK
+FC11 ; [.1C55.0020.001A.FC11][.1C5B.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM; QQKN
+FC76 ; [.1C55.0020.0019.FC76][.1C7A.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM; QQKN
+FC77 ; [.1C55.0020.0019.FC77][.1C7B.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM; QQKN
+FCA6 ; [.1C55.0020.0017.FCA6][.1CCA.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM; QQKN
+FCE5 ; [.1C55.0020.0018.FCE5][.1CCA.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM; QQKN
+FC78 ; [.1C55.0020.0019.FC78][.1CCA.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM; QQKN
+FC12 ; [.1C55.0020.001A.FC12][.1CCA.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM; QQKN
+FC79 ; [.1C55.0020.0019.FC79][.1CCD.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM; QQKN
+FCE6 ; [.1C55.0020.0018.FCE6][.1CD6.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM; QQKN
+FC7A ; [.1C55.0020.0019.FC7A][.1CE8.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM; QQKN
+FC13 ; [.1C55.0020.001A.FC13][.1CE8.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC7B ; [.1C55.0020.0019.FC7B][.1CE9.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM; QQKN
+FC14 ; [.1C55.0020.001A.FC14][.1CE9.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM; QQKN
+0679 ; [.1C56.0020.0002.0679] # ARABIC LETTER TTEH
+FB68 ; [.1C56.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM; QQK
+FB69 ; [.1C56.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM; QQK
+FB67 ; [.1C56.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM; QQK
+FB66 ; [.1C56.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM; QQK
+067A ; [.1C57.0020.0002.067A] # ARABIC LETTER TTEHEH
+FB60 ; [.1C57.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM; QQK
+FB61 ; [.1C57.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM; QQK
+FB5F ; [.1C57.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM; QQK
+FB5E ; [.1C57.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM; QQK
+067C ; [.1C58.0020.0002.067C] # ARABIC LETTER TEH WITH RING
+067D ; [.1C59.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+067F ; [.1C5A.0020.0002.067F] # ARABIC LETTER TEHEH
+FB64 ; [.1C5A.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM; QQK
+FB65 ; [.1C5A.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM; QQK
+FB63 ; [.1C5A.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM; QQK
+FB62 ; [.1C5A.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM; QQK
+062C ; [.1C5B.0020.0002.062C] # ARABIC LETTER JEEM
+FE9F ; [.1C5B.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM; QQK
+FEA0 ; [.1C5B.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM; QQK
+FE9E ; [.1C5B.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM; QQK
+FE9D ; [.1C5B.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM; QQK
+FCA7 ; [.1C5B.0020.0017.FCA7][.1C61.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM; QQKN
+FC15 ; [.1C5B.0020.001A.FC15][.1C61.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM; QQKN
+FDA6 ; [.1C5B.0020.0019.FDA6][.1C61.0020.0019.FDA6][.1CE8.0020.001F.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FDBE ; [.1C5B.0020.0019.FDBE][.1C61.0020.0019.FDBE][.1CE9.0020.001F.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM; QQKN
+FDFB ; [.1C5B.0020.001A.FDFB][.1CC4.0020.001A.FDFB][*020A.0020.001F.FDFB][.1C5B.0020.001F.FDFB][.1CC4.0020.001F.FDFB][.1C46.0020.001F.FDFB][.1CC4.0020.001F.FDFB][.1CD6.0020.001F.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU; QQKN
+FCA8 ; [.1C5B.0020.0017.FCA8][.1CCA.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM; QQKN
+FC16 ; [.1C5B.0020.001A.FC16][.1CCA.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM; QQKN
+FD59 ; [.1C5B.0020.0017.FD59][.1CCA.0020.0017.FD59][.1C61.0020.001F.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM; QQKN
+FD58 ; [.1C5B.0020.0019.FD58][.1CCA.0020.0019.FD58][.1C61.0020.001F.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM; QQKN
+FDA7 ; [.1C5B.0020.0019.FDA7][.1CCA.0020.0019.FDA7][.1CE8.0020.001F.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FDA5 ; [.1C5B.0020.0019.FDA5][.1CCA.0020.0019.FDA5][.1CE9.0020.001F.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM; QQKN
+FD1D ; [.1C5B.0020.0019.FD1D][.1CE8.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FD01 ; [.1C5B.0020.001A.FD01][.1CE8.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD1E ; [.1C5B.0020.0019.FD1E][.1CE9.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM; QQKN
+FD02 ; [.1C5B.0020.001A.FD02][.1CE9.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM; QQKN
+0683 ; [.1C5C.0020.0002.0683] # ARABIC LETTER NYEH
+FB78 ; [.1C5C.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM; QQK
+FB79 ; [.1C5C.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM; QQK
+FB77 ; [.1C5C.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM; QQK
+FB76 ; [.1C5C.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM; QQK
+0684 ; [.1C5D.0020.0002.0684] # ARABIC LETTER DYEH
+FB74 ; [.1C5D.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM; QQK
+FB75 ; [.1C5D.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM; QQK
+FB73 ; [.1C5D.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM; QQK
+FB72 ; [.1C5D.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM; QQK
+0686 ; [.1C5E.0020.0002.0686] # ARABIC LETTER TCHEH
+FB7C ; [.1C5E.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM; QQK
+FB7D ; [.1C5E.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM; QQK
+FB7B ; [.1C5E.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM; QQK
+FB7A ; [.1C5E.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM; QQK
+06BF ; [.1C5F.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
+0687 ; [.1C60.0020.0002.0687] # ARABIC LETTER TCHEHEH
+FB80 ; [.1C60.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM; QQK
+FB81 ; [.1C60.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM; QQK
+FB7F ; [.1C60.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM; QQK
+FB7E ; [.1C60.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM; QQK
+062D ; [.1C61.0020.0002.062D] # ARABIC LETTER HAH
+FEA3 ; [.1C61.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM; QQK
+FEA4 ; [.1C61.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM; QQK
+FEA2 ; [.1C61.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM; QQK
+FEA1 ; [.1C61.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM; QQK
+FCA9 ; [.1C61.0020.0017.FCA9][.1C5B.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM; QQKN
+FC17 ; [.1C61.0020.001A.FC17][.1C5B.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM; QQKN
+FDBF ; [.1C61.0020.0019.FDBF][.1C5B.0020.0019.FDBF][.1CE9.0020.001F.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM; QQKN
+FCAA ; [.1C61.0020.0017.FCAA][.1CCA.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM; QQKN
+FC18 ; [.1C61.0020.001A.FC18][.1CCA.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM; QQKN
+FD5B ; [.1C61.0020.0019.FD5B][.1CCA.0020.0019.FD5B][.1CE8.0020.001F.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FD5A ; [.1C61.0020.0019.FD5A][.1CCA.0020.0019.FD5A][.1CE9.0020.001F.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM; QQKN
+FD1B ; [.1C61.0020.0019.FD1B][.1CE8.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FCFF ; [.1C61.0020.001A.FCFF][.1CE8.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD1C ; [.1C61.0020.0019.FD1C][.1CE9.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM; QQKN
+FD00 ; [.1C61.0020.001A.FD00][.1CE9.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM; QQKN
+062E ; [.1C62.0020.0002.062E] # ARABIC LETTER KHAH
+FEA7 ; [.1C62.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM; QQK
+FEA8 ; [.1C62.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM; QQK
+FEA6 ; [.1C62.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM; QQK
+FEA5 ; [.1C62.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM; QQK
+FCAB ; [.1C62.0020.0017.FCAB][.1C5B.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM; QQKN
+FC19 ; [.1C62.0020.001A.FC19][.1C5B.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM; QQKN
+FC1A ; [.1C62.0020.001A.FC1A][.1C61.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM; QQKN
+FCAC ; [.1C62.0020.0017.FCAC][.1CCA.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM; QQKN
+FC1B ; [.1C62.0020.001A.FC1B][.1CCA.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM; QQKN
+FD1F ; [.1C62.0020.0019.FD1F][.1CE8.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FD03 ; [.1C62.0020.001A.FD03][.1CE8.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD20 ; [.1C62.0020.0019.FD20][.1CE9.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM; QQKN
+FD04 ; [.1C62.0020.001A.FD04][.1CE9.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM; QQKN
+0681 ; [.1C63.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
+0682 ; [.1C64.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+0685 ; [.1C65.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0757 ; [.1C66.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
+0758 ; [.1C67.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+076E ; [.1C68.0020.0002.076E] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
+076F ; [.1C69.0020.0002.076F] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+0772 ; [.1C6A.0020.0002.0772] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
+077C ; [.1C6B.0020.0002.077C] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+062F ; [.1C6C.0020.0002.062F] # ARABIC LETTER DAL
+FEAA ; [.1C6C.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM; QQK
+FEA9 ; [.1C6C.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM; QQK
+0630 ; [.1C6D.0020.0002.0630] # ARABIC LETTER THAL
+FEAC ; [.1C6D.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM; QQK
+FEAB ; [.1C6D.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM; QQK
+FC5B ; [.1C6D.0020.001A.FC5B][.0000.00BD.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
+0688 ; [.1C6E.0020.0002.0688] # ARABIC LETTER DDAL
+FB89 ; [.1C6E.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM; QQK
+FB88 ; [.1C6E.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM; QQK
+0689 ; [.1C6F.0020.0002.0689] # ARABIC LETTER DAL WITH RING
+068A ; [.1C70.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
+068B ; [.1C71.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+068C ; [.1C72.0020.0002.068C] # ARABIC LETTER DAHAL
+FB85 ; [.1C72.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM; QQK
+FB84 ; [.1C72.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM; QQK
+068D ; [.1C73.0020.0002.068D] # ARABIC LETTER DDAHAL
+FB83 ; [.1C73.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM; QQK
+FB82 ; [.1C73.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM; QQK
+068E ; [.1C74.0020.0002.068E] # ARABIC LETTER DUL
+FB87 ; [.1C74.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM; QQK
+FB86 ; [.1C74.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM; QQK
+068F ; [.1C75.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+0690 ; [.1C76.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+06EE ; [.1C77.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
+0759 ; [.1C78.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+075A ; [.1C79.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+0631 ; [.1C7A.0020.0002.0631] # ARABIC LETTER REH
+FEAE ; [.1C7A.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM; QQK
+FEAD ; [.1C7A.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM; QQK
+FC5C ; [.1C7A.0020.001A.FC5C][.0000.00BD.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
+FDF6 ; [.1C7A.0020.001A.FDF6][.1C8A.0020.001A.FDF6][.1CDC.0020.001F.FDF6][.1CC4.0020.001F.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM; QQKN
+FDFC ; [.1C7A.0020.001A.FDFC][.1CEA.0020.001A.FDFC][.1C46.0020.001F.FDFC][.1CC4.0020.001F.FDFC] # RIAL SIGN; QQKN
+0632 ; [.1C7B.0020.0002.0632] # ARABIC LETTER ZAIN
+FEB0 ; [.1C7B.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM; QQK
+FEAF ; [.1C7B.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM; QQK
+0691 ; [.1C7C.0020.0002.0691] # ARABIC LETTER RREH
+FB8D ; [.1C7C.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM; QQK
+FB8C ; [.1C7C.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM; QQK
+0692 ; [.1C7D.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
+0693 ; [.1C7E.0020.0002.0693] # ARABIC LETTER REH WITH RING
+0694 ; [.1C7F.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
+0695 ; [.1C80.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
+0696 ; [.1C81.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0697 ; [.1C82.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
+0698 ; [.1C83.0020.0002.0698] # ARABIC LETTER JEH
+FB8B ; [.1C83.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM; QQK
+FB8A ; [.1C83.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM; QQK
+0699 ; [.1C84.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
+06EF ; [.1C85.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
+075B ; [.1C86.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
+076B ; [.1C87.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+076C ; [.1C88.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
+0771 ; [.1C89.0020.0002.0771] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+0633 ; [.1C8A.0020.0002.0633] # ARABIC LETTER SEEN
+FEB3 ; [.1C8A.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM; QQK
+FEB4 ; [.1C8A.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM; QQK
+FEB2 ; [.1C8A.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM; QQK
+FEB1 ; [.1C8A.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM; QQK
+FCAD ; [.1C8A.0020.0017.FCAD][.1C5B.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM; QQKN
+FD34 ; [.1C8A.0020.0018.FD34][.1C5B.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM; QQKN
+FC1C ; [.1C8A.0020.001A.FC1C][.1C5B.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM; QQKN
+FD5D ; [.1C8A.0020.0017.FD5D][.1C5B.0020.0017.FD5D][.1C61.0020.001F.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM; QQKN
+FD5E ; [.1C8A.0020.0019.FD5E][.1C5B.0020.0019.FD5E][.1CE8.0020.001F.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FCAE ; [.1C8A.0020.0017.FCAE][.1C61.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM; QQKN
+FD35 ; [.1C8A.0020.0018.FD35][.1C61.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM; QQKN
+FC1D ; [.1C8A.0020.001A.FC1D][.1C61.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM; QQKN
+FD5C ; [.1C8A.0020.0017.FD5C][.1C61.0020.0017.FD5C][.1C5B.0020.001F.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM; QQKN
+FCAF ; [.1C8A.0020.0017.FCAF][.1C62.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM; QQKN
+FD36 ; [.1C8A.0020.0018.FD36][.1C62.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM; QQKN
+FC1E ; [.1C8A.0020.001A.FC1E][.1C62.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM; QQKN
+FDA8 ; [.1C8A.0020.0019.FDA8][.1C62.0020.0019.FDA8][.1CE8.0020.001F.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FDC6 ; [.1C8A.0020.0019.FDC6][.1C62.0020.0019.FDC6][.1CE9.0020.001F.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM; QQKN
+FD2A ; [.1C8A.0020.0019.FD2A][.1C7A.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM; QQKN
+FD0E ; [.1C8A.0020.001A.FD0E][.1C7A.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM; QQKN
+FCB0 ; [.1C8A.0020.0017.FCB0][.1CCA.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM; QQKN
+FCE7 ; [.1C8A.0020.0018.FCE7][.1CCA.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM; QQKN
+FC1F ; [.1C8A.0020.001A.FC1F][.1CCA.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM; QQKN
+FD61 ; [.1C8A.0020.0017.FD61][.1CCA.0020.0017.FD61][.1C5B.0020.001F.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM; QQKN
+FD60 ; [.1C8A.0020.0017.FD60][.1CCA.0020.0017.FD60][.1C61.0020.001F.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM; QQKN
+FD5F ; [.1C8A.0020.0019.FD5F][.1CCA.0020.0019.FD5F][.1C61.0020.001F.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM; QQKN
+FD63 ; [.1C8A.0020.0017.FD63][.1CCA.0020.0017.FD63][.1CCA.0020.001F.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FD62 ; [.1C8A.0020.0019.FD62][.1CCA.0020.0019.FD62][.1CCA.0020.001F.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
+FD31 ; [.1C8A.0020.0017.FD31][.1CD6.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM; QQKN
+FCE8 ; [.1C8A.0020.0018.FCE8][.1CD6.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM; QQKN
+FD17 ; [.1C8A.0020.0019.FD17][.1CE8.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM; QQKN
+FCFB ; [.1C8A.0020.001A.FCFB][.1CE8.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD18 ; [.1C8A.0020.0019.FD18][.1CE9.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM; QQKN
+FCFC ; [.1C8A.0020.001A.FCFC][.1CE9.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM; QQKN
+0634 ; [.1C8B.0020.0002.0634] # ARABIC LETTER SHEEN
+FEB7 ; [.1C8B.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM; QQK
+FEB8 ; [.1C8B.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM; QQK
+FEB6 ; [.1C8B.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM; QQK
+FEB5 ; [.1C8B.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM; QQK
+FD2D ; [.1C8B.0020.0017.FD2D][.1C5B.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM; QQKN
+FD37 ; [.1C8B.0020.0018.FD37][.1C5B.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM; QQKN
+FD25 ; [.1C8B.0020.0019.FD25][.1C5B.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM; QQKN
+FD09 ; [.1C8B.0020.001A.FD09][.1C5B.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM; QQKN
+FD69 ; [.1C8B.0020.0019.FD69][.1C5B.0020.0019.FD69][.1CE9.0020.001F.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM; QQKN
+FD2E ; [.1C8B.0020.0017.FD2E][.1C61.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM; QQKN
+FD38 ; [.1C8B.0020.0018.FD38][.1C61.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM; QQKN
+FD26 ; [.1C8B.0020.0019.FD26][.1C61.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM; QQKN
+FD0A ; [.1C8B.0020.001A.FD0A][.1C61.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM; QQKN
+FD68 ; [.1C8B.0020.0017.FD68][.1C61.0020.0017.FD68][.1CCA.0020.001F.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM; QQKN
+FD67 ; [.1C8B.0020.0019.FD67][.1C61.0020.0019.FD67][.1CCA.0020.001F.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM; QQKN
+FDAA ; [.1C8B.0020.0019.FDAA][.1C61.0020.0019.FDAA][.1CE9.0020.001F.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM; QQKN
+FD2F ; [.1C8B.0020.0017.FD2F][.1C62.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM; QQKN
+FD39 ; [.1C8B.0020.0018.FD39][.1C62.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM; QQKN
+FD27 ; [.1C8B.0020.0019.FD27][.1C62.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM; QQKN
+FD0B ; [.1C8B.0020.001A.FD0B][.1C62.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM; QQKN
+FD29 ; [.1C8B.0020.0019.FD29][.1C7A.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM; QQKN
+FD0D ; [.1C8B.0020.001A.FD0D][.1C7A.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM; QQKN
+FD30 ; [.1C8B.0020.0017.FD30][.1CCA.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM; QQKN
+FCE9 ; [.1C8B.0020.0018.FCE9][.1CCA.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM; QQKN
+FD28 ; [.1C8B.0020.0019.FD28][.1CCA.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM; QQKN
+FD0C ; [.1C8B.0020.001A.FD0C][.1CCA.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM; QQKN
+FD6B ; [.1C8B.0020.0017.FD6B][.1CCA.0020.0017.FD6B][.1C62.0020.001F.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM; QQKN
+FD6A ; [.1C8B.0020.0019.FD6A][.1CCA.0020.0019.FD6A][.1C62.0020.001F.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM; QQKN
+FD6D ; [.1C8B.0020.0017.FD6D][.1CCA.0020.0017.FD6D][.1CCA.0020.001F.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FD6C ; [.1C8B.0020.0019.FD6C][.1CCA.0020.0019.FD6C][.1CCA.0020.001F.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
+FD32 ; [.1C8B.0020.0017.FD32][.1CD6.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM; QQKN
+FCEA ; [.1C8B.0020.0018.FCEA][.1CD6.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM; QQKN
+FD19 ; [.1C8B.0020.0019.FD19][.1CE8.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM; QQKN
+FCFD ; [.1C8B.0020.001A.FCFD][.1CE8.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD1A ; [.1C8B.0020.0019.FD1A][.1CE9.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM; QQKN
+FCFE ; [.1C8B.0020.001A.FCFE][.1CE9.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM; QQKN
+069A ; [.1C8C.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+069B ; [.1C8D.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
+069C ; [.1C8E.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+06FA ; [.1C8F.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
+075C ; [.1C90.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+076D ; [.1C91.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+0770 ; [.1C92.0020.0002.0770] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+077D ; [.1C93.0020.0002.077D] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
+077E ; [.1C94.0020.0002.077E] # ARABIC LETTER SEEN WITH INVERTED V
+0635 ; [.1C95.0020.0002.0635] # ARABIC LETTER SAD
+FEBB ; [.1C95.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM; QQK
+FEBC ; [.1C95.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM; QQK
+FEBA ; [.1C95.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM; QQK
+FEB9 ; [.1C95.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM; QQK
+FCB1 ; [.1C95.0020.0017.FCB1][.1C61.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM; QQKN
+FC20 ; [.1C95.0020.001A.FC20][.1C61.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM; QQKN
+FD65 ; [.1C95.0020.0017.FD65][.1C61.0020.0017.FD65][.1C61.0020.001F.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM; QQKN
+FD64 ; [.1C95.0020.0019.FD64][.1C61.0020.0019.FD64][.1C61.0020.001F.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM; QQKN
+FDA9 ; [.1C95.0020.0019.FDA9][.1C61.0020.0019.FDA9][.1CE9.0020.001F.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM; QQKN
+FCB2 ; [.1C95.0020.0017.FCB2][.1C62.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM; QQKN
+FD2B ; [.1C95.0020.0019.FD2B][.1C7A.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM; QQKN
+FD0F ; [.1C95.0020.001A.FD0F][.1C7A.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM; QQKN
+FDF5 ; [.1C95.0020.001A.FDF5][.1CC4.0020.001A.FDF5][.1C9D.0020.001F.FDF5][.1CCA.0020.001F.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM; QQKN
+FDF9 ; [.1C95.0020.001A.FDF9][.1CC4.0020.001A.FDF9][.1CE8.0020.001F.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM; QQKN
+FDFA ; [.1C95.0020.001A.FDFA][.1CC4.0020.001A.FDFA][.1CE8.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C46.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CD6.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C9D.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CE9.0020.001F.FDFA][.1CD6.0020.001F.FDFA][*020A.0020.001F.FDFA][.1CDC.0020.001F.FDFA][.1C8A.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CCA.0020.001F.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM; QQKN
+FDF0 ; [.1C95.0020.001A.FDF0][.1CC4.0020.001A.FDF0][.1CF6.0020.001F.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
+FCB3 ; [.1C95.0020.0017.FCB3][.1CCA.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM; QQKN
+FC21 ; [.1C95.0020.001A.FC21][.1CCA.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM; QQKN
+FDC5 ; [.1C95.0020.0017.FDC5][.1CCA.0020.0017.FDC5][.1CCA.0020.001F.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FD66 ; [.1C95.0020.0019.FD66][.1CCA.0020.0019.FD66][.1CCA.0020.001F.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM; QQKN
+FD21 ; [.1C95.0020.0019.FD21][.1CE8.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM; QQKN
+FD05 ; [.1C95.0020.001A.FD05][.1CE8.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD22 ; [.1C95.0020.0019.FD22][.1CE9.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM; QQKN
+FD06 ; [.1C95.0020.001A.FD06][.1CE9.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM; QQKN
+0636 ; [.1C96.0020.0002.0636] # ARABIC LETTER DAD
+FEBF ; [.1C96.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM; QQK
+FEC0 ; [.1C96.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM; QQK
+FEBE ; [.1C96.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM; QQK
+FEBD ; [.1C96.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM; QQK
+FCB4 ; [.1C96.0020.0017.FCB4][.1C5B.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM; QQKN
+FC22 ; [.1C96.0020.001A.FC22][.1C5B.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM; QQKN
+FCB5 ; [.1C96.0020.0017.FCB5][.1C61.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM; QQKN
+FC23 ; [.1C96.0020.001A.FC23][.1C61.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM; QQKN
+FD6E ; [.1C96.0020.0019.FD6E][.1C61.0020.0019.FD6E][.1CE8.0020.001F.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FDAB ; [.1C96.0020.0019.FDAB][.1C61.0020.0019.FDAB][.1CE9.0020.001F.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM; QQKN
+FCB6 ; [.1C96.0020.0017.FCB6][.1C62.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM; QQKN
+FC24 ; [.1C96.0020.001A.FC24][.1C62.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM; QQKN
+FD70 ; [.1C96.0020.0017.FD70][.1C62.0020.0017.FD70][.1CCA.0020.001F.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM; QQKN
+FD6F ; [.1C96.0020.0019.FD6F][.1C62.0020.0019.FD6F][.1CCA.0020.001F.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM; QQKN
+FD2C ; [.1C96.0020.0019.FD2C][.1C7A.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM; QQKN
+FD10 ; [.1C96.0020.001A.FD10][.1C7A.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM; QQKN
+FCB7 ; [.1C96.0020.0017.FCB7][.1CCA.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM; QQKN
+FC25 ; [.1C96.0020.001A.FC25][.1CCA.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM; QQKN
+FD23 ; [.1C96.0020.0019.FD23][.1CE8.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM; QQKN
+FD07 ; [.1C96.0020.001A.FD07][.1CE8.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD24 ; [.1C96.0020.0019.FD24][.1CE9.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM; QQKN
+FD08 ; [.1C96.0020.001A.FD08][.1CE9.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM; QQKN
+069D ; [.1C97.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
+069E ; [.1C98.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
+06FB ; [.1C99.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
+0637 ; [.1C9A.0020.0002.0637] # ARABIC LETTER TAH
+FEC3 ; [.1C9A.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM; QQK
+FEC4 ; [.1C9A.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM; QQK
+FEC2 ; [.1C9A.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM; QQK
+FEC1 ; [.1C9A.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM; QQK
+FCB8 ; [.1C9A.0020.0017.FCB8][.1C61.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM; QQKN
+FC26 ; [.1C9A.0020.001A.FC26][.1C61.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM; QQKN
+FD33 ; [.1C9A.0020.0017.FD33][.1CCA.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM; QQKN
+FD3A ; [.1C9A.0020.0018.FD3A][.1CCA.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM; QQKN
+FC27 ; [.1C9A.0020.001A.FC27][.1CCA.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM; QQKN
+FD72 ; [.1C9A.0020.0017.FD72][.1CCA.0020.0017.FD72][.1C61.0020.001F.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM; QQKN
+FD71 ; [.1C9A.0020.0019.FD71][.1CCA.0020.0019.FD71][.1C61.0020.001F.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM; QQKN
+FD73 ; [.1C9A.0020.0017.FD73][.1CCA.0020.0017.FD73][.1CCA.0020.001F.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FD74 ; [.1C9A.0020.0019.FD74][.1CCA.0020.0019.FD74][.1CE9.0020.001F.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM; QQKN
+FD11 ; [.1C9A.0020.0019.FD11][.1CE8.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FCF5 ; [.1C9A.0020.001A.FCF5][.1CE8.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD12 ; [.1C9A.0020.0019.FD12][.1CE9.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM; QQKN
+FCF6 ; [.1C9A.0020.001A.FCF6][.1CE9.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM; QQKN
+0638 ; [.1C9B.0020.0002.0638] # ARABIC LETTER ZAH
+FEC7 ; [.1C9B.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM; QQK
+FEC8 ; [.1C9B.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM; QQK
+FEC6 ; [.1C9B.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM; QQK
+FEC5 ; [.1C9B.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM; QQK
+FCB9 ; [.1C9B.0020.0017.FCB9][.1CCA.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM; QQKN
+FD3B ; [.1C9B.0020.0018.FD3B][.1CCA.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM; QQKN
+FC28 ; [.1C9B.0020.001A.FC28][.1CCA.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM; QQKN
+069F ; [.1C9C.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
+0639 ; [.1C9D.0020.0002.0639] # ARABIC LETTER AIN
+FECB ; [.1C9D.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM; QQK
+FECC ; [.1C9D.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM; QQK
+FECA ; [.1C9D.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM; QQK
+FEC9 ; [.1C9D.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM; QQK
+FCBA ; [.1C9D.0020.0017.FCBA][.1C5B.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM; QQKN
+FC29 ; [.1C9D.0020.001A.FC29][.1C5B.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM; QQKN
+FDC4 ; [.1C9D.0020.0017.FDC4][.1C5B.0020.0017.FDC4][.1CCA.0020.001F.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM; QQKN
+FD75 ; [.1C9D.0020.0019.FD75][.1C5B.0020.0019.FD75][.1CCA.0020.001F.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM; QQKN
+FDF7 ; [.1C9D.0020.001A.FDF7][.1CC4.0020.001A.FDF7][.1CE9.0020.001F.FDF7][.1CD6.0020.001F.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM; QQKN
+FCBB ; [.1C9D.0020.0017.FCBB][.1CCA.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM; QQKN
+FC2A ; [.1C9D.0020.001A.FC2A][.1CCA.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM; QQKN
+FD77 ; [.1C9D.0020.0017.FD77][.1CCA.0020.0017.FD77][.1CCA.0020.001F.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FD76 ; [.1C9D.0020.0019.FD76][.1CCA.0020.0019.FD76][.1CCA.0020.001F.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM; QQKN
+FD78 ; [.1C9D.0020.0019.FD78][.1CCA.0020.0019.FD78][.1CE8.0020.001F.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FDB6 ; [.1C9D.0020.0019.FDB6][.1CCA.0020.0019.FDB6][.1CE9.0020.001F.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM; QQKN
+FD13 ; [.1C9D.0020.0019.FD13][.1CE8.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM; QQKN
+FCF7 ; [.1C9D.0020.001A.FCF7][.1CE8.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD14 ; [.1C9D.0020.0019.FD14][.1CE9.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM; QQKN
+FCF8 ; [.1C9D.0020.001A.FCF8][.1CE9.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM; QQKN
+063A ; [.1C9E.0020.0002.063A] # ARABIC LETTER GHAIN
+FECF ; [.1C9E.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM; QQK
+FED0 ; [.1C9E.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM; QQK
+FECE ; [.1C9E.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM; QQK
+FECD ; [.1C9E.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM; QQK
+FCBC ; [.1C9E.0020.0017.FCBC][.1C5B.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM; QQKN
+FC2B ; [.1C9E.0020.001A.FC2B][.1C5B.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM; QQKN
+FCBD ; [.1C9E.0020.0017.FCBD][.1CCA.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM; QQKN
+FC2C ; [.1C9E.0020.001A.FC2C][.1CCA.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM; QQKN
+FD79 ; [.1C9E.0020.0019.FD79][.1CCA.0020.0019.FD79][.1CCA.0020.001F.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM; QQKN
+FD7B ; [.1C9E.0020.0019.FD7B][.1CCA.0020.0019.FD7B][.1CE8.0020.001F.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FD7A ; [.1C9E.0020.0019.FD7A][.1CCA.0020.0019.FD7A][.1CE9.0020.001F.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM; QQKN
+FD15 ; [.1C9E.0020.0019.FD15][.1CE8.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM; QQKN
+FCF9 ; [.1C9E.0020.001A.FCF9][.1CE8.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FD16 ; [.1C9E.0020.0019.FD16][.1CE9.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM; QQKN
+FCFA ; [.1C9E.0020.001A.FCFA][.1CE9.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM; QQKN
+06A0 ; [.1C9F.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
+06FC ; [.1CA0.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
+075D ; [.1CA1.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
+075E ; [.1CA2.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+075F ; [.1CA3.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+0641 ; [.1CA4.0020.0002.0641] # ARABIC LETTER FEH
+FED3 ; [.1CA4.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM; QQK
+FED4 ; [.1CA4.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM; QQK
+FED2 ; [.1CA4.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM; QQK
+FED1 ; [.1CA4.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM; QQK
+FCBE ; [.1CA4.0020.0017.FCBE][.1C5B.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM; QQKN
+FC2D ; [.1CA4.0020.001A.FC2D][.1C5B.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM; QQKN
+FCBF ; [.1CA4.0020.0017.FCBF][.1C61.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM; QQKN
+FC2E ; [.1CA4.0020.001A.FC2E][.1C61.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM; QQKN
+FCC0 ; [.1CA4.0020.0017.FCC0][.1C62.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM; QQKN
+FC2F ; [.1CA4.0020.001A.FC2F][.1C62.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM; QQKN
+FD7D ; [.1CA4.0020.0017.FD7D][.1C62.0020.0017.FD7D][.1CCA.0020.001F.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
+FD7C ; [.1CA4.0020.0019.FD7C][.1C62.0020.0019.FD7C][.1CCA.0020.001F.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM; QQKN
+FCC1 ; [.1CA4.0020.0017.FCC1][.1CCA.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM; QQKN
+FC30 ; [.1CA4.0020.001A.FC30][.1CCA.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM; QQKN
+FDC1 ; [.1CA4.0020.0019.FDC1][.1CCA.0020.0019.FDC1][.1CE9.0020.001F.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM; QQKN
+FC7C ; [.1CA4.0020.0019.FC7C][.1CE8.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM; QQKN
+FC31 ; [.1CA4.0020.001A.FC31][.1CE8.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC7D ; [.1CA4.0020.0019.FC7D][.1CE9.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM; QQKN
+FC32 ; [.1CA4.0020.001A.FC32][.1CE9.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM; QQKN
+06A1 ; [.1CA5.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
+06A2 ; [.1CA6.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
+06A3 ; [.1CA7.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
+06A4 ; [.1CA8.0020.0002.06A4] # ARABIC LETTER VEH
+FB6C ; [.1CA8.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM; QQK
+FB6D ; [.1CA8.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM; QQK
+FB6B ; [.1CA8.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM; QQK
+FB6A ; [.1CA8.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM; QQK
+06A5 ; [.1CA9.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
+06A6 ; [.1CAA.0020.0002.06A6] # ARABIC LETTER PEHEH
+FB70 ; [.1CAA.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM; QQK
+FB71 ; [.1CAA.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM; QQK
+FB6F ; [.1CAA.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM; QQK
+FB6E ; [.1CAA.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM; QQK
+0760 ; [.1CAB.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
+0761 ; [.1CAC.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+066F ; [.1CAD.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
+0642 ; [.1CAE.0020.0002.0642] # ARABIC LETTER QAF
+FED7 ; [.1CAE.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM; QQK
+FED8 ; [.1CAE.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM; QQK
+FED6 ; [.1CAE.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM; QQK
+FED5 ; [.1CAE.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM; QQK
+FCC2 ; [.1CAE.0020.0017.FCC2][.1C61.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM; QQKN
+FC33 ; [.1CAE.0020.001A.FC33][.1C61.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM; QQKN
+FDF1 ; [.1CAE.0020.001A.FDF1][.1CC4.0020.001A.FDF1][.1CF6.0020.001F.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
+FCC3 ; [.1CAE.0020.0017.FCC3][.1CCA.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM; QQKN
+FC34 ; [.1CAE.0020.001A.FC34][.1CCA.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM; QQKN
+FDB4 ; [.1CAE.0020.0017.FDB4][.1CCA.0020.0017.FDB4][.1C61.0020.001F.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM; QQKN
+FD7E ; [.1CAE.0020.0019.FD7E][.1CCA.0020.0019.FD7E][.1C61.0020.001F.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM; QQKN
+FD7F ; [.1CAE.0020.0019.FD7F][.1CCA.0020.0019.FD7F][.1CCA.0020.001F.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM; QQKN
+FDB2 ; [.1CAE.0020.0019.FDB2][.1CCA.0020.0019.FDB2][.1CE9.0020.001F.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM; QQKN
+FC7E ; [.1CAE.0020.0019.FC7E][.1CE8.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM; QQKN
+FC35 ; [.1CAE.0020.001A.FC35][.1CE8.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC7F ; [.1CAE.0020.0019.FC7F][.1CE9.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM; QQKN
+FC36 ; [.1CAE.0020.001A.FC36][.1CE9.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM; QQKN
+06A7 ; [.1CAF.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
+06A8 ; [.1CB0.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
+0643 ; [.1CB1.0020.0002.0643] # ARABIC LETTER KAF
+FEDB ; [.1CB1.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM; QQK
+FEDC ; [.1CB1.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM; QQK
+FEDA ; [.1CB1.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM; QQK
+FED9 ; [.1CB1.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM; QQK
+FC80 ; [.1CB1.0020.0019.FC80][.1C46.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM; QQKN
+FC37 ; [.1CB1.0020.001A.FC37][.1C46.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM; QQKN
+FCC4 ; [.1CB1.0020.0017.FCC4][.1C5B.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM; QQKN
+FC38 ; [.1CB1.0020.001A.FC38][.1C5B.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM; QQKN
+FCC5 ; [.1CB1.0020.0017.FCC5][.1C61.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM; QQKN
+FC39 ; [.1CB1.0020.001A.FC39][.1C61.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM; QQKN
+FCC6 ; [.1CB1.0020.0017.FCC6][.1C62.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM; QQKN
+FC3A ; [.1CB1.0020.001A.FC3A][.1C62.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM; QQKN
+FCC7 ; [.1CB1.0020.0017.FCC7][.1CC4.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM; QQKN
+FCEB ; [.1CB1.0020.0018.FCEB][.1CC4.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM; QQKN
+FC81 ; [.1CB1.0020.0019.FC81][.1CC4.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM; QQKN
+FC3B ; [.1CB1.0020.001A.FC3B][.1CC4.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM; QQKN
+FCC8 ; [.1CB1.0020.0017.FCC8][.1CCA.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM; QQKN
+FCEC ; [.1CB1.0020.0018.FCEC][.1CCA.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM; QQKN
+FC82 ; [.1CB1.0020.0019.FC82][.1CCA.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM; QQKN
+FC3C ; [.1CB1.0020.001A.FC3C][.1CCA.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM; QQKN
+FDC3 ; [.1CB1.0020.0017.FDC3][.1CCA.0020.0017.FDC3][.1CCA.0020.001F.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FDBB ; [.1CB1.0020.0019.FDBB][.1CCA.0020.0019.FDBB][.1CCA.0020.001F.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM; QQKN
+FDB7 ; [.1CB1.0020.0019.FDB7][.1CCA.0020.0019.FDB7][.1CE9.0020.001F.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM; QQKN
+FC83 ; [.1CB1.0020.0019.FC83][.1CE8.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM; QQKN
+FC3D ; [.1CB1.0020.001A.FC3D][.1CE8.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC84 ; [.1CB1.0020.0019.FC84][.1CE9.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM; QQKN
+FC3E ; [.1CB1.0020.001A.FC3E][.1CE9.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM; QQKN
+06A9 ; [.1CB2.0020.0002.06A9] # ARABIC LETTER KEHEH
+FB90 ; [.1CB2.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM; QQK
+FB91 ; [.1CB2.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM; QQK
+FB8F ; [.1CB2.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM; QQK
+FB8E ; [.1CB2.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM; QQK
+06AA ; [.1CB3.0020.0002.06AA] # ARABIC LETTER SWASH KAF
+06AB ; [.1CB4.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
+06AC ; [.1CB5.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
+077F ; [.1CB6.0020.0002.077F] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
+06AD ; [.1CB7.0020.0002.06AD] # ARABIC LETTER NG
+FBD5 ; [.1CB7.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM; QQK
+FBD6 ; [.1CB7.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM; QQK
+FBD4 ; [.1CB7.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM; QQK
+FBD3 ; [.1CB7.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM; QQK
+06AE ; [.1CB8.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+06AF ; [.1CB9.0020.0002.06AF] # ARABIC LETTER GAF
+FB94 ; [.1CB9.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM; QQK
+FB95 ; [.1CB9.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM; QQK
+FB93 ; [.1CB9.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM; QQK
+FB92 ; [.1CB9.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM; QQK
+06B0 ; [.1CBA.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
+06B1 ; [.1CBB.0020.0002.06B1] # ARABIC LETTER NGOEH
+FB9C ; [.1CBB.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM; QQK
+FB9D ; [.1CBB.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM; QQK
+FB9B ; [.1CBB.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM; QQK
+FB9A ; [.1CBB.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM; QQK
+06B2 ; [.1CBC.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
+06B3 ; [.1CBD.0020.0002.06B3] # ARABIC LETTER GUEH
+FB98 ; [.1CBD.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM; QQK
+FB99 ; [.1CBD.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM; QQK
+FB97 ; [.1CBD.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM; QQK
+FB96 ; [.1CBD.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM; QQK
+06B4 ; [.1CBE.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
+0762 ; [.1CBF.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
+063B ; [.1CC0.0020.0002.063B] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
+063C ; [.1CC1.0020.0002.063C] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
+0763 ; [.1CC2.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0764 ; [.1CC3.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+0644 ; [.1CC4.0020.0002.0644] # ARABIC LETTER LAM
+FEDF ; [.1CC4.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM; QQK
+FEE0 ; [.1CC4.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM; QQK
+FEDE ; [.1CC4.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM; QQK
+FEDD ; [.1CC4.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM; QQK
+FEF6 ; [.1CC4.0020.0019.FEF6][.1C3C.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM; QQKN
+FEF5 ; [.1CC4.0020.001A.FEF5][.1C3C.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM; QQKN
+FEF8 ; [.1CC4.0020.0019.FEF8][.1C3D.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM; QQKN
+FEF7 ; [.1CC4.0020.001A.FEF7][.1C3D.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM; QQKN
+FEFA ; [.1CC4.0020.0019.FEFA][.1C41.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM; QQKN
+FEF9 ; [.1CC4.0020.001A.FEF9][.1C41.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM; QQKN
+FEFC ; [.1CC4.0020.0019.FEFC][.1C46.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM; QQKN
+FEFB ; [.1CC4.0020.001A.FEFB][.1C46.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM; QQKN
+FCC9 ; [.1CC4.0020.0017.FCC9][.1C5B.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM; QQKN
+FC3F ; [.1CC4.0020.001A.FC3F][.1C5B.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM; QQKN
+FD83 ; [.1CC4.0020.0017.FD83][.1C5B.0020.0017.FD83][.1C5B.0020.001F.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM; QQKN
+FD84 ; [.1CC4.0020.0019.FD84][.1C5B.0020.0019.FD84][.1C5B.0020.001F.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM; QQKN
+FDBA ; [.1CC4.0020.0017.FDBA][.1C5B.0020.0017.FDBA][.1CCA.0020.001F.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM; QQKN
+FDBC ; [.1CC4.0020.0019.FDBC][.1C5B.0020.0019.FDBC][.1CCA.0020.001F.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM; QQKN
+FDAC ; [.1CC4.0020.0019.FDAC][.1C5B.0020.0019.FDAC][.1CE9.0020.001F.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM; QQKN
+FCCA ; [.1CC4.0020.0017.FCCA][.1C61.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM; QQKN
+FC40 ; [.1CC4.0020.001A.FC40][.1C61.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM; QQKN
+FDB5 ; [.1CC4.0020.0017.FDB5][.1C61.0020.0017.FDB5][.1CCA.0020.001F.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM; QQKN
+FD80 ; [.1CC4.0020.0019.FD80][.1C61.0020.0019.FD80][.1CCA.0020.001F.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM; QQKN
+FD82 ; [.1CC4.0020.0019.FD82][.1C61.0020.0019.FD82][.1CE8.0020.001F.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FD81 ; [.1CC4.0020.0019.FD81][.1C61.0020.0019.FD81][.1CE9.0020.001F.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM; QQKN
+FCCB ; [.1CC4.0020.0017.FCCB][.1C62.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM; QQKN
+FC41 ; [.1CC4.0020.001A.FC41][.1C62.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM; QQKN
+FD86 ; [.1CC4.0020.0017.FD86][.1C62.0020.0017.FD86][.1CCA.0020.001F.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM; QQKN
+FD85 ; [.1CC4.0020.0019.FD85][.1C62.0020.0019.FD85][.1CCA.0020.001F.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM; QQKN
+FCCC ; [.1CC4.0020.0017.FCCC][.1CCA.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM; QQKN
+FCED ; [.1CC4.0020.0018.FCED][.1CCA.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM; QQKN
+FC85 ; [.1CC4.0020.0019.FC85][.1CCA.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM; QQKN
+FC42 ; [.1CC4.0020.001A.FC42][.1CCA.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM; QQKN
+FD88 ; [.1CC4.0020.0017.FD88][.1CCA.0020.0017.FD88][.1C61.0020.001F.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM; QQKN
+FD87 ; [.1CC4.0020.0019.FD87][.1CCA.0020.0019.FD87][.1C61.0020.001F.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM; QQKN
+FDAD ; [.1CC4.0020.0019.FDAD][.1CCA.0020.0019.FDAD][.1CE9.0020.001F.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM; QQKN
+FCCD ; [.1CC4.0020.0017.FCCD][.1CD6.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM; QQKN
+FC86 ; [.1CC4.0020.0019.FC86][.1CE8.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM; QQKN
+FC43 ; [.1CC4.0020.001A.FC43][.1CE8.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC87 ; [.1CC4.0020.0019.FC87][.1CE9.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM; QQKN
+FC44 ; [.1CC4.0020.001A.FC44][.1CE9.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM; QQKN
+06B5 ; [.1CC5.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
+06B6 ; [.1CC6.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
+06B7 ; [.1CC7.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06B8 ; [.1CC8.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
+076A ; [.1CC9.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
+0645 ; [.1CCA.0020.0002.0645] # ARABIC LETTER MEEM
+FEE3 ; [.1CCA.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM; QQK
+FEE4 ; [.1CCA.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM; QQK
+FEE2 ; [.1CCA.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM; QQK
+FEE1 ; [.1CCA.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM; QQK
+06FE ; [.1CCA.0020.0004.06FE][.0000.0160.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN; QQKN
+FC88 ; [.1CCA.0020.0019.FC88][.1C46.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM; QQKN
+FCCE ; [.1CCA.0020.0017.FCCE][.1C5B.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM; QQKN
+FC45 ; [.1CCA.0020.001A.FC45][.1C5B.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM; QQKN
+FD8C ; [.1CCA.0020.0017.FD8C][.1C5B.0020.0017.FD8C][.1C61.0020.001F.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM; QQKN
+FD92 ; [.1CCA.0020.0017.FD92][.1C5B.0020.0017.FD92][.1C62.0020.001F.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM; QQKN
+FD8D ; [.1CCA.0020.0017.FD8D][.1C5B.0020.0017.FD8D][.1CCA.0020.001F.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM; QQKN
+FDC0 ; [.1CCA.0020.0019.FDC0][.1C5B.0020.0019.FDC0][.1CE9.0020.001F.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM; QQKN
+FCCF ; [.1CCA.0020.0017.FCCF][.1C61.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM; QQKN
+FC46 ; [.1CCA.0020.001A.FC46][.1C61.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM; QQKN
+FD89 ; [.1CCA.0020.0017.FD89][.1C61.0020.0017.FD89][.1C5B.0020.001F.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM; QQKN
+FD8A ; [.1CCA.0020.0017.FD8A][.1C61.0020.0017.FD8A][.1CCA.0020.001F.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM; QQKN
+FDF4 ; [.1CCA.0020.001A.FDF4][.1C61.0020.001A.FDF4][.1CCA.0020.001F.FDF4][.1C6C.0020.001F.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM; QQKN
+FD8B ; [.1CCA.0020.0019.FD8B][.1C61.0020.0019.FD8B][.1CE9.0020.001F.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM; QQKN
+FCD0 ; [.1CCA.0020.0017.FCD0][.1C62.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM; QQKN
+FC47 ; [.1CCA.0020.001A.FC47][.1C62.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM; QQKN
+FD8E ; [.1CCA.0020.0017.FD8E][.1C62.0020.0017.FD8E][.1C5B.0020.001F.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM; QQKN
+FD8F ; [.1CCA.0020.0017.FD8F][.1C62.0020.0017.FD8F][.1CCA.0020.001F.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM; QQKN
+FDB9 ; [.1CCA.0020.0019.FDB9][.1C62.0020.0019.FDB9][.1CE9.0020.001F.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM; QQKN
+FCD1 ; [.1CCA.0020.0017.FCD1][.1CCA.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM; QQKN
+FC89 ; [.1CCA.0020.0019.FC89][.1CCA.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM; QQKN
+FC48 ; [.1CCA.0020.001A.FC48][.1CCA.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM; QQKN
+FDB1 ; [.1CCA.0020.0019.FDB1][.1CCA.0020.0019.FDB1][.1CE9.0020.001F.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM; QQKN
+FC49 ; [.1CCA.0020.001A.FC49][.1CE8.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC4A ; [.1CCA.0020.001A.FC4A][.1CE9.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM; QQKN
+0765 ; [.1CCB.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
+0766 ; [.1CCC.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
+0646 ; [.1CCD.0020.0002.0646] # ARABIC LETTER NOON
+FEE7 ; [.1CCD.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM; QQK
+FEE8 ; [.1CCD.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM; QQK
+FEE6 ; [.1CCD.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM; QQK
+FEE5 ; [.1CCD.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM; QQK
+FCD2 ; [.1CCD.0020.0017.FCD2][.1C5B.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM; QQKN
+FC4B ; [.1CCD.0020.001A.FC4B][.1C5B.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM; QQKN
+FDB8 ; [.1CCD.0020.0017.FDB8][.1C5B.0020.0017.FDB8][.1C61.0020.001F.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM; QQKN
+FDBD ; [.1CCD.0020.0019.FDBD][.1C5B.0020.0019.FDBD][.1C61.0020.001F.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM; QQKN
+FD98 ; [.1CCD.0020.0017.FD98][.1C5B.0020.0017.FD98][.1CCA.0020.001F.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM; QQKN
+FD97 ; [.1CCD.0020.0019.FD97][.1C5B.0020.0019.FD97][.1CCA.0020.001F.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM; QQKN
+FD99 ; [.1CCD.0020.0019.FD99][.1C5B.0020.0019.FD99][.1CE8.0020.001F.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FDC7 ; [.1CCD.0020.0019.FDC7][.1C5B.0020.0019.FDC7][.1CE9.0020.001F.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM; QQKN
+FCD3 ; [.1CCD.0020.0017.FCD3][.1C61.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM; QQKN
+FC4C ; [.1CCD.0020.001A.FC4C][.1C61.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM; QQKN
+FD95 ; [.1CCD.0020.0017.FD95][.1C61.0020.0017.FD95][.1CCA.0020.001F.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM; QQKN
+FD96 ; [.1CCD.0020.0019.FD96][.1C61.0020.0019.FD96][.1CE8.0020.001F.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
+FDB3 ; [.1CCD.0020.0019.FDB3][.1C61.0020.0019.FDB3][.1CE9.0020.001F.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM; QQKN
+FCD4 ; [.1CCD.0020.0017.FCD4][.1C62.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM; QQKN
+FC4D ; [.1CCD.0020.001A.FC4D][.1C62.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM; QQKN
+FC8A ; [.1CCD.0020.0019.FC8A][.1C7A.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM; QQKN
+FC8B ; [.1CCD.0020.0019.FC8B][.1C7B.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM; QQKN
+FCD5 ; [.1CCD.0020.0017.FCD5][.1CCA.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM; QQKN
+FCEE ; [.1CCD.0020.0018.FCEE][.1CCA.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM; QQKN
+FC8C ; [.1CCD.0020.0019.FC8C][.1CCA.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM; QQKN
+FC4E ; [.1CCD.0020.001A.FC4E][.1CCA.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM; QQKN
+FD9B ; [.1CCD.0020.0019.FD9B][.1CCA.0020.0019.FD9B][.1CE8.0020.001F.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
+FD9A ; [.1CCD.0020.0019.FD9A][.1CCA.0020.0019.FD9A][.1CE9.0020.001F.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM; QQKN
+FC8D ; [.1CCD.0020.0019.FC8D][.1CCD.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM; QQKN
+FCD6 ; [.1CCD.0020.0017.FCD6][.1CD6.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM; QQKN
+FCEF ; [.1CCD.0020.0018.FCEF][.1CD6.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM; QQKN
+FC8E ; [.1CCD.0020.0019.FC8E][.1CE8.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM; QQKN
+FC4F ; [.1CCD.0020.001A.FC4F][.1CE8.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC8F ; [.1CCD.0020.0019.FC8F][.1CE9.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM; QQKN
+FC50 ; [.1CCD.0020.001A.FC50][.1CE9.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM; QQKN
+06BA ; [.1CCE.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
+FB9F ; [.1CCE.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM; QQK
+FB9E ; [.1CCE.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM; QQK
+06BB ; [.1CCF.0020.0002.06BB] # ARABIC LETTER RNOON
+FBA2 ; [.1CCF.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM; QQK
+FBA3 ; [.1CCF.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM; QQK
+FBA1 ; [.1CCF.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM; QQK
+FBA0 ; [.1CCF.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM; QQK
+06BC ; [.1CD0.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
+06BD ; [.1CD1.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
+06B9 ; [.1CD2.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
+0767 ; [.1CD3.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
+0768 ; [.1CD4.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
+0769 ; [.1CD5.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
+0647 ; [.1CD6.0020.0002.0647] # ARABIC LETTER HEH
+FEEB ; [.1CD6.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM; QQK
+FEEC ; [.1CD6.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM; QQK
+FEEA ; [.1CD6.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM; QQK
+FEE9 ; [.1CD6.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM; QQK
+FCD9 ; [.1CD6.0020.0017.FCD9][.0000.00BD.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM; QQKN
+FCD7 ; [.1CD6.0020.0017.FCD7][.1C5B.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM; QQKN
+FC51 ; [.1CD6.0020.001A.FC51][.1C5B.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM; QQKN
+FCD8 ; [.1CD6.0020.0017.FCD8][.1CCA.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM; QQKN
+FC52 ; [.1CD6.0020.001A.FC52][.1CCA.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM; QQKN
+FD93 ; [.1CD6.0020.0017.FD93][.1CCA.0020.0017.FD93][.1C5B.0020.001F.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
+FD94 ; [.1CD6.0020.0017.FD94][.1CCA.0020.0017.FD94][.1CCA.0020.001F.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FC53 ; [.1CD6.0020.001A.FC53][.1CE8.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC54 ; [.1CD6.0020.001A.FC54][.1CE9.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM; QQKN
+06BE ; [.1CD7.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
+FBAC ; [.1CD7.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM; QQK
+FBAD ; [.1CD7.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM; QQK
+FBAB ; [.1CD7.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM; QQK
+FBAA ; [.1CD7.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM; QQK
+06C1 ; [.1CD8.0020.0002.06C1] # ARABIC LETTER HEH GOAL
+FBA8 ; [.1CD8.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM; QQK
+FBA9 ; [.1CD8.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM; QQK
+FBA7 ; [.1CD8.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM; QQK
+FBA6 ; [.1CD8.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM; QQK
+06C2 ; [.1CD8.0020.0002.06C1][.0000.00B1.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE; QQCM
+06C3 ; [.1CD9.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
+06FF ; [.1CDA.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
+06D5 ; [.1CDB.0020.0002.06D5] # ARABIC LETTER AE
+06C0 ; [.1CDB.0020.0002.06D5][.0000.00B1.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE; QQCM
+FBA5 ; [.1CDB.0020.0019.FBA5][.0000.00B1.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM; QQKN
+FBA4 ; [.1CDB.0020.001A.FBA4][.0000.00B1.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM; QQKN
+0648 ; [.1CDC.0020.0002.0648] # ARABIC LETTER WAW
+06E5 ; [.1CDC.0020.0004.06E5] # ARABIC SMALL WAW; QQK
+FEEE ; [.1CDC.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM; QQK
+FEED ; [.1CDC.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM; QQK
+0676 ; [.1CDC.0020.0004.0676][.1C3B.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW; QQKN
+FDF8 ; [.1CDC.0020.001A.FDF8][.1C8A.0020.001A.FDF8][.1CC4.0020.001F.FDF8][.1CCA.0020.001F.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM; QQKN
+06C4 ; [.1CDD.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
+06C5 ; [.1CDE.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
+FBE1 ; [.1CDE.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM; QQK
+FBE0 ; [.1CDE.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM; QQK
+06C6 ; [.1CDF.0020.0002.06C6] # ARABIC LETTER OE
+FBDA ; [.1CDF.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM; QQK
+FBD9 ; [.1CDF.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM; QQK
+06C7 ; [.1CE0.0020.0002.06C7] # ARABIC LETTER U
+FBD8 ; [.1CE0.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM; QQK
+FBD7 ; [.1CE0.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM; QQK
+0677 ; [.1CE0.0020.0004.0677][.1C3B.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE; QQKN
+FBDD ; [.1CE0.0020.001A.FBDD][.1C3B.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM; QQKN
+06C8 ; [.1CE1.0020.0002.06C8] # ARABIC LETTER YU
+FBDC ; [.1CE1.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM; QQK
+FBDB ; [.1CE1.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM; QQK
+06C9 ; [.1CE2.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
+FBE3 ; [.1CE2.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM; QQK
+FBE2 ; [.1CE2.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM; QQK
+06CA ; [.1CE3.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
+06CB ; [.1CE4.0020.0002.06CB] # ARABIC LETTER VE
+FBDF ; [.1CE4.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM; QQK
+FBDE ; [.1CE4.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM; QQK
+06CF ; [.1CE5.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
+0778 ; [.1CE6.0020.0002.0778] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0779 ; [.1CE7.0020.0002.0779] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0649 ; [.1CE8.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
+FBE8 ; [.1CE8.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM; QQK
+FBE9 ; [.1CE8.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM; QQK
+FEF0 ; [.1CE8.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM; QQK
+FEEF ; [.1CE8.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM; QQK
+FC90 ; [.1CE8.0020.0019.FC90][.0000.00BD.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM; QQKN
+FC5D ; [.1CE8.0020.001A.FC5D][.0000.00BD.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
+064A ; [.1CE9.0020.0002.064A] # ARABIC LETTER YEH
+06E6 ; [.1CE9.0020.0004.06E6] # ARABIC SMALL YEH; QQK
+FEF3 ; [.1CE9.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM; QQK
+FEF4 ; [.1CE9.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM; QQK
+FEF2 ; [.1CE9.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM; QQK
+FEF1 ; [.1CE9.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM; QQK
+0678 ; [.1CE9.0020.0004.0678][.1C3B.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH; QQKN
+FCDA ; [.1CE9.0020.0017.FCDA][.1C5B.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM; QQKN
+FC55 ; [.1CE9.0020.001A.FC55][.1C5B.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM; QQKN
+FDAF ; [.1CE9.0020.0019.FDAF][.1C5B.0020.0019.FDAF][.1CE9.0020.001F.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM; QQKN
+FCDB ; [.1CE9.0020.0017.FCDB][.1C61.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM; QQKN
+FC56 ; [.1CE9.0020.001A.FC56][.1C61.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM; QQKN
+FDAE ; [.1CE9.0020.0019.FDAE][.1C61.0020.0019.FDAE][.1CE9.0020.001F.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM; QQKN
+FCDC ; [.1CE9.0020.0017.FCDC][.1C62.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM; QQKN
+FC57 ; [.1CE9.0020.001A.FC57][.1C62.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM; QQKN
+FC91 ; [.1CE9.0020.0019.FC91][.1C7A.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM; QQKN
+FC92 ; [.1CE9.0020.0019.FC92][.1C7B.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM; QQKN
+FCDD ; [.1CE9.0020.0017.FCDD][.1CCA.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM; QQKN
+FCF0 ; [.1CE9.0020.0018.FCF0][.1CCA.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM; QQKN
+FC93 ; [.1CE9.0020.0019.FC93][.1CCA.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM; QQKN
+FC58 ; [.1CE9.0020.001A.FC58][.1CCA.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM; QQKN
+FD9D ; [.1CE9.0020.0017.FD9D][.1CCA.0020.0017.FD9D][.1CCA.0020.001F.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
+FD9C ; [.1CE9.0020.0019.FD9C][.1CCA.0020.0019.FD9C][.1CCA.0020.001F.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM; QQKN
+FDB0 ; [.1CE9.0020.0019.FDB0][.1CCA.0020.0019.FDB0][.1CE9.0020.001F.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM; QQKN
+FC94 ; [.1CE9.0020.0019.FC94][.1CCD.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM; QQKN
+FCDE ; [.1CE9.0020.0017.FCDE][.1CD6.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM; QQKN
+FCF1 ; [.1CE9.0020.0018.FCF1][.1CD6.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM; QQKN
+FC95 ; [.1CE9.0020.0019.FC95][.1CE8.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM; QQKN
+FC59 ; [.1CE9.0020.001A.FC59][.1CE8.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
+FC96 ; [.1CE9.0020.0019.FC96][.1CE9.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM; QQKN
+FC5A ; [.1CE9.0020.001A.FC5A][.1CE9.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM; QQKN
+06CC ; [.1CEA.0020.0002.06CC] # ARABIC LETTER FARSI YEH
+FBFE ; [.1CEA.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM; QQK
+FBFF ; [.1CEA.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM; QQK
+FBFD ; [.1CEA.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM; QQK
+FBFC ; [.1CEA.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM; QQK
+06CD ; [.1CEB.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
+06CE ; [.1CEC.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
+06D0 ; [.1CED.0020.0002.06D0] # ARABIC LETTER E
+FBE6 ; [.1CED.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM; QQK
+FBE7 ; [.1CED.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM; QQK
+FBE5 ; [.1CED.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM; QQK
+FBE4 ; [.1CED.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM; QQK
+06D1 ; [.1CEE.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+063D ; [.1CEF.0020.0002.063D] # ARABIC LETTER FARSI YEH WITH INVERTED V
+063E ; [.1CF0.0020.0002.063E] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
+063F ; [.1CF1.0020.0002.063F] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0620 ; [.1CF2.0020.0002.0620] # ARABIC LETTER KASHMIRI YEH
+0775 ; [.1CF3.0020.0002.0775] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0776 ; [.1CF4.0020.0002.0776] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0777 ; [.1CF5.0020.0002.0777] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+06D2 ; [.1CF6.0020.0002.06D2] # ARABIC LETTER YEH BARREE
+FBAF ; [.1CF6.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM; QQK
+FBAE ; [.1CF6.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM; QQK
+06D3 ; [.1CF6.0020.0002.06D2][.0000.00B1.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE; QQCM
+FBB1 ; [.1CF6.0020.0019.FBB1][.0000.00B1.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM; QQKN
+FBB0 ; [.1CF6.0020.001A.FBB0][.0000.00B1.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM; QQKN
+077A ; [.1CF7.0020.0002.077A] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+077B ; [.1CF8.0020.0002.077B] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0710 ; [.1CF9.0020.0002.0710] # SYRIAC LETTER ALAPH
+0712 ; [.1CFA.0020.0002.0712] # SYRIAC LETTER BETH
+072D ; [.1CFA.0020.0004.072D][.0000.0162.0004.072D] # SYRIAC LETTER PERSIAN BHETH; QQKN
+0713 ; [.1CFB.0020.0002.0713] # SYRIAC LETTER GAMAL
+0714 ; [.1CFB.0020.0004.0714][.0000.0160.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI; QQKN
+072E ; [.1CFB.0020.0004.072E][.0000.0162.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL; QQKN
+0716 ; [.1CFC.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
+0715 ; [.1CFD.0020.0002.0715] # SYRIAC LETTER DALATH
+072F ; [.1CFD.0020.0004.072F][.0000.0162.0004.072F] # SYRIAC LETTER PERSIAN DHALATH; QQKN
+0717 ; [.1CFE.0020.0002.0717] # SYRIAC LETTER HE
+0718 ; [.1CFF.0020.0002.0718] # SYRIAC LETTER WAW
+0719 ; [.1D00.0020.0002.0719] # SYRIAC LETTER ZAIN
+074D ; [.1D01.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
+071A ; [.1D02.0020.0002.071A] # SYRIAC LETTER HETH
+071B ; [.1D03.0020.0002.071B] # SYRIAC LETTER TETH
+071C ; [.1D03.0020.0004.071C][.0000.0160.0004.071C] # SYRIAC LETTER TETH GARSHUNI; QQKN
+071D ; [.1D04.0020.0002.071D] # SYRIAC LETTER YUDH
+071E ; [.1D05.0020.0002.071E] # SYRIAC LETTER YUDH HE
+071F ; [.1D06.0020.0002.071F] # SYRIAC LETTER KAPH
+074E ; [.1D07.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
+0720 ; [.1D08.0020.0002.0720] # SYRIAC LETTER LAMADH
+0721 ; [.1D09.0020.0002.0721] # SYRIAC LETTER MIM
+0722 ; [.1D0A.0020.0002.0722] # SYRIAC LETTER NUN
+0723 ; [.1D0B.0020.0002.0723] # SYRIAC LETTER SEMKATH
+0724 ; [.1D0B.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH; QQK
+0725 ; [.1D0C.0020.0002.0725] # SYRIAC LETTER E
+0726 ; [.1D0D.0020.0002.0726] # SYRIAC LETTER PE
+0727 ; [.1D0D.0020.0004.0727][.0000.0160.0004.0727] # SYRIAC LETTER REVERSED PE; QQKN
+074F ; [.1D0E.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
+0728 ; [.1D0F.0020.0002.0728] # SYRIAC LETTER SADHE
+0729 ; [.1D10.0020.0002.0729] # SYRIAC LETTER QAPH
+072A ; [.1D11.0020.0002.072A] # SYRIAC LETTER RISH
+072B ; [.1D12.0020.0002.072B] # SYRIAC LETTER SHIN
+072C ; [.1D13.0020.0002.072C] # SYRIAC LETTER TAW
+0840 ; [.1D14.0020.0002.0840] # MANDAIC LETTER HALQA
+0841 ; [.1D15.0020.0002.0841] # MANDAIC LETTER AB
+0842 ; [.1D16.0020.0002.0842] # MANDAIC LETTER AG
+0843 ; [.1D17.0020.0002.0843] # MANDAIC LETTER AD
+0844 ; [.1D18.0020.0002.0844] # MANDAIC LETTER AH
+0845 ; [.1D19.0020.0002.0845] # MANDAIC LETTER USHENNA
+0846 ; [.1D1A.0020.0002.0846] # MANDAIC LETTER AZ
+0847 ; [.1D1B.0020.0002.0847] # MANDAIC LETTER IT
+0848 ; [.1D1C.0020.0002.0848] # MANDAIC LETTER ATT
+0849 ; [.1D1D.0020.0002.0849] # MANDAIC LETTER AKSA
+084A ; [.1D1E.0020.0002.084A] # MANDAIC LETTER AK
+084B ; [.1D1F.0020.0002.084B] # MANDAIC LETTER AL
+084C ; [.1D20.0020.0002.084C] # MANDAIC LETTER AM
+084D ; [.1D21.0020.0002.084D] # MANDAIC LETTER AN
+084E ; [.1D22.0020.0002.084E] # MANDAIC LETTER AS
+084F ; [.1D23.0020.0002.084F] # MANDAIC LETTER IN
+0850 ; [.1D24.0020.0002.0850] # MANDAIC LETTER AP
+0851 ; [.1D25.0020.0002.0851] # MANDAIC LETTER ASZ
+0852 ; [.1D26.0020.0002.0852] # MANDAIC LETTER AQ
+0853 ; [.1D27.0020.0002.0853] # MANDAIC LETTER AR
+0854 ; [.1D28.0020.0002.0854] # MANDAIC LETTER ASH
+0855 ; [.1D29.0020.0002.0855] # MANDAIC LETTER AT
+0856 ; [.1D2A.0020.0002.0856] # MANDAIC LETTER DUSHENNA
+0857 ; [.1D2B.0020.0002.0857] # MANDAIC LETTER KAD
+0858 ; [.1D2C.0020.0002.0858] # MANDAIC LETTER AIN
+0780 ; [.1D2D.0020.0002.0780] # THAANA LETTER HAA
+0799 ; [.1D2E.0020.0002.0799] # THAANA LETTER HHAA
+079A ; [.1D2F.0020.0002.079A] # THAANA LETTER KHAA
+0781 ; [.1D30.0020.0002.0781] # THAANA LETTER SHAVIYANI
+0782 ; [.1D31.0020.0002.0782] # THAANA LETTER NOONU
+0783 ; [.1D32.0020.0002.0783] # THAANA LETTER RAA
+079C ; [.1D33.0020.0002.079C] # THAANA LETTER ZAA
+0784 ; [.1D34.0020.0002.0784] # THAANA LETTER BAA
+0785 ; [.1D35.0020.0002.0785] # THAANA LETTER LHAVIYANI
+0786 ; [.1D36.0020.0002.0786] # THAANA LETTER KAAFU
+0787 ; [.1D37.0020.0002.0787] # THAANA LETTER ALIFU
+07A2 ; [.1D38.0020.0002.07A2] # THAANA LETTER AINU
+07A3 ; [.1D39.0020.0002.07A3] # THAANA LETTER GHAINU
+0788 ; [.1D3A.0020.0002.0788] # THAANA LETTER VAAVU
+07A5 ; [.1D3B.0020.0002.07A5] # THAANA LETTER WAAVU
+0789 ; [.1D3C.0020.0002.0789] # THAANA LETTER MEEMU
+078A ; [.1D3D.0020.0002.078A] # THAANA LETTER FAAFU
+078B ; [.1D3E.0020.0002.078B] # THAANA LETTER DHAALU
+079B ; [.1D3F.0020.0002.079B] # THAANA LETTER THAALU
+078C ; [.1D40.0020.0002.078C] # THAANA LETTER THAA
+0798 ; [.1D41.0020.0002.0798] # THAANA LETTER TTAA
+07A0 ; [.1D42.0020.0002.07A0] # THAANA LETTER TO
+07A1 ; [.1D43.0020.0002.07A1] # THAANA LETTER ZO
+078D ; [.1D44.0020.0002.078D] # THAANA LETTER LAAMU
+078E ; [.1D45.0020.0002.078E] # THAANA LETTER GAAFU
+07A4 ; [.1D46.0020.0002.07A4] # THAANA LETTER QAAFU
+078F ; [.1D47.0020.0002.078F] # THAANA LETTER GNAVIYANI
+0790 ; [.1D48.0020.0002.0790] # THAANA LETTER SEENU
+079D ; [.1D49.0020.0002.079D] # THAANA LETTER SHEENU
+079E ; [.1D4A.0020.0002.079E] # THAANA LETTER SAADHU
+079F ; [.1D4B.0020.0002.079F] # THAANA LETTER DAADHU
+0791 ; [.1D4C.0020.0002.0791] # THAANA LETTER DAVIYANI
+0792 ; [.1D4D.0020.0002.0792] # THAANA LETTER ZAVIYANI
+0793 ; [.1D4E.0020.0002.0793] # THAANA LETTER TAVIYANI
+0794 ; [.1D4F.0020.0002.0794] # THAANA LETTER YAA
+0795 ; [.1D50.0020.0002.0795] # THAANA LETTER PAVIYANI
+0796 ; [.1D51.0020.0002.0796] # THAANA LETTER JAVIYANI
+0797 ; [.1D52.0020.0002.0797] # THAANA LETTER CHAVIYANI
+07B1 ; [.1D53.0020.0002.07B1] # THAANA LETTER NAA
+07A6 ; [.1D54.0020.0002.07A6] # THAANA ABAFILI
+07A7 ; [.1D55.0020.0002.07A7] # THAANA AABAAFILI
+07A8 ; [.1D56.0020.0002.07A8] # THAANA IBIFILI
+07A9 ; [.1D57.0020.0002.07A9] # THAANA EEBEEFILI
+07AA ; [.1D58.0020.0002.07AA] # THAANA UBUFILI
+07AB ; [.1D59.0020.0002.07AB] # THAANA OOBOOFILI
+07AC ; [.1D5A.0020.0002.07AC] # THAANA EBEFILI
+07AD ; [.1D5B.0020.0002.07AD] # THAANA EYBEYFILI
+07AE ; [.1D5C.0020.0002.07AE] # THAANA OBOFILI
+07AF ; [.1D5D.0020.0002.07AF] # THAANA OABOAFILI
+07B0 ; [.1D5E.0020.0002.07B0] # THAANA SUKUN
+07CA ; [.1D5F.0020.0002.07CA] # NKO LETTER A
+07CB ; [.1D60.0020.0002.07CB] # NKO LETTER EE
+07CC ; [.1D61.0020.0002.07CC] # NKO LETTER I
+07CD ; [.1D62.0020.0002.07CD] # NKO LETTER E
+07CE ; [.1D63.0020.0002.07CE] # NKO LETTER U
+07CF ; [.1D64.0020.0002.07CF] # NKO LETTER OO
+07D0 ; [.1D65.0020.0002.07D0] # NKO LETTER O
+07D1 ; [.1D66.0020.0002.07D1] # NKO LETTER DAGBASINNA
+07D2 ; [.1D67.0020.0002.07D2] # NKO LETTER N
+07D3 ; [.1D68.0020.0002.07D3] # NKO LETTER BA
+07D4 ; [.1D69.0020.0002.07D4] # NKO LETTER PA
+07D5 ; [.1D6A.0020.0002.07D5] # NKO LETTER TA
+07D6 ; [.1D6B.0020.0002.07D6] # NKO LETTER JA
+07E8 ; [.1D6B.0020.0004.07E8][.0000.015F.0004.07E8] # NKO LETTER JONA JA; QQKN
+07D7 ; [.1D6C.0020.0002.07D7] # NKO LETTER CHA
+07E9 ; [.1D6C.0020.0004.07E9][.0000.015F.0004.07E9] # NKO LETTER JONA CHA; QQKN
+07D8 ; [.1D6D.0020.0002.07D8] # NKO LETTER DA
+07D9 ; [.1D6E.0020.0002.07D9] # NKO LETTER RA
+07EA ; [.1D6E.0020.0004.07EA][.0000.015F.0004.07EA] # NKO LETTER JONA RA; QQKN
+07DA ; [.1D6F.0020.0002.07DA] # NKO LETTER RRA
+07DB ; [.1D70.0020.0002.07DB] # NKO LETTER SA
+07DC ; [.1D71.0020.0002.07DC] # NKO LETTER GBA
+07DD ; [.1D72.0020.0002.07DD] # NKO LETTER FA
+07DE ; [.1D73.0020.0002.07DE] # NKO LETTER KA
+07DF ; [.1D74.0020.0002.07DF] # NKO LETTER LA
+07E0 ; [.1D75.0020.0002.07E0] # NKO LETTER NA WOLOSO
+07E1 ; [.1D76.0020.0002.07E1] # NKO LETTER MA
+07E2 ; [.1D77.0020.0002.07E2] # NKO LETTER NYA
+07E3 ; [.1D78.0020.0002.07E3] # NKO LETTER NA
+07E4 ; [.1D79.0020.0002.07E4] # NKO LETTER HA
+07E5 ; [.1D7A.0020.0002.07E5] # NKO LETTER WA
+07E6 ; [.1D7B.0020.0002.07E6] # NKO LETTER YA
+07E7 ; [.1D7C.0020.0002.07E7] # NKO LETTER NYA WOLOSO
+07F4 ; [.1D7D.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
+07F5 ; [.1D7E.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
+2D30 ; [.1D7F.0020.0002.2D30] # TIFINAGH LETTER YA
+2D31 ; [.1D80.0020.0002.2D31] # TIFINAGH LETTER YAB
+2D32 ; [.1D81.0020.0002.2D32] # TIFINAGH LETTER YABH
+2D33 ; [.1D82.0020.0002.2D33] # TIFINAGH LETTER YAG
+2D34 ; [.1D83.0020.0002.2D34] # TIFINAGH LETTER YAGHH
+2D35 ; [.1D84.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
+2D36 ; [.1D85.0020.0002.2D36] # TIFINAGH LETTER YAJ
+2D37 ; [.1D86.0020.0002.2D37] # TIFINAGH LETTER YAD
+2D38 ; [.1D87.0020.0002.2D38] # TIFINAGH LETTER YADH
+2D39 ; [.1D88.0020.0002.2D39] # TIFINAGH LETTER YADD
+2D3A ; [.1D89.0020.0002.2D3A] # TIFINAGH LETTER YADDH
+2D3B ; [.1D8A.0020.0002.2D3B] # TIFINAGH LETTER YEY
+2D3C ; [.1D8B.0020.0002.2D3C] # TIFINAGH LETTER YAF
+2D3D ; [.1D8C.0020.0002.2D3D] # TIFINAGH LETTER YAK
+2D3E ; [.1D8D.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
+2D3F ; [.1D8E.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
+2D40 ; [.1D8F.0020.0002.2D40] # TIFINAGH LETTER YAH
+2D41 ; [.1D90.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
+2D42 ; [.1D91.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
+2D43 ; [.1D92.0020.0002.2D43] # TIFINAGH LETTER YAHH
+2D44 ; [.1D93.0020.0002.2D44] # TIFINAGH LETTER YAA
+2D45 ; [.1D94.0020.0002.2D45] # TIFINAGH LETTER YAKH
+2D46 ; [.1D95.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
+2D47 ; [.1D96.0020.0002.2D47] # TIFINAGH LETTER YAQ
+2D48 ; [.1D97.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
+2D49 ; [.1D98.0020.0002.2D49] # TIFINAGH LETTER YI
+2D4A ; [.1D99.0020.0002.2D4A] # TIFINAGH LETTER YAZH
+2D4B ; [.1D9A.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
+2D4C ; [.1D9B.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
+2D4D ; [.1D9C.0020.0002.2D4D] # TIFINAGH LETTER YAL
+2D4E ; [.1D9D.0020.0002.2D4E] # TIFINAGH LETTER YAM
+2D4F ; [.1D9E.0020.0002.2D4F] # TIFINAGH LETTER YAN
+2D50 ; [.1D9F.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
+2D51 ; [.1DA0.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
+2D52 ; [.1DA1.0020.0002.2D52] # TIFINAGH LETTER YAP
+2D53 ; [.1DA2.0020.0002.2D53] # TIFINAGH LETTER YU
+2D54 ; [.1DA3.0020.0002.2D54] # TIFINAGH LETTER YAR
+2D55 ; [.1DA4.0020.0002.2D55] # TIFINAGH LETTER YARR
+2D56 ; [.1DA5.0020.0002.2D56] # TIFINAGH LETTER YAGH
+2D57 ; [.1DA6.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
+2D58 ; [.1DA7.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
+2D59 ; [.1DA8.0020.0002.2D59] # TIFINAGH LETTER YAS
+2D5A ; [.1DA9.0020.0002.2D5A] # TIFINAGH LETTER YASS
+2D5B ; [.1DAA.0020.0002.2D5B] # TIFINAGH LETTER YASH
+2D5C ; [.1DAB.0020.0002.2D5C] # TIFINAGH LETTER YAT
+2D5D ; [.1DAC.0020.0002.2D5D] # TIFINAGH LETTER YATH
+2D5E ; [.1DAD.0020.0002.2D5E] # TIFINAGH LETTER YACH
+2D5F ; [.1DAE.0020.0002.2D5F] # TIFINAGH LETTER YATT
+2D60 ; [.1DAF.0020.0002.2D60] # TIFINAGH LETTER YAV
+2D61 ; [.1DB0.0020.0002.2D61] # TIFINAGH LETTER YAW
+2D62 ; [.1DB1.0020.0002.2D62] # TIFINAGH LETTER YAY
+2D63 ; [.1DB2.0020.0002.2D63] # TIFINAGH LETTER YAZ
+2D64 ; [.1DB3.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
+2D65 ; [.1DB4.0020.0002.2D65] # TIFINAGH LETTER YAZZ
+2D6F ; [.1DB5.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+1200 ; [.1DB6.0020.0002.1200] # ETHIOPIC SYLLABLE HA
+1201 ; [.1DB7.0020.0002.1201] # ETHIOPIC SYLLABLE HU
+1202 ; [.1DB8.0020.0002.1202] # ETHIOPIC SYLLABLE HI
+1203 ; [.1DB9.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
+1204 ; [.1DBA.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
+1205 ; [.1DBB.0020.0002.1205] # ETHIOPIC SYLLABLE HE
+1206 ; [.1DBC.0020.0002.1206] # ETHIOPIC SYLLABLE HO
+1207 ; [.1DBD.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
+1208 ; [.1DBE.0020.0002.1208] # ETHIOPIC SYLLABLE LA
+1209 ; [.1DBF.0020.0002.1209] # ETHIOPIC SYLLABLE LU
+120A ; [.1DC0.0020.0002.120A] # ETHIOPIC SYLLABLE LI
+120B ; [.1DC1.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
+120C ; [.1DC2.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
+120D ; [.1DC3.0020.0002.120D] # ETHIOPIC SYLLABLE LE
+120E ; [.1DC4.0020.0002.120E] # ETHIOPIC SYLLABLE LO
+120F ; [.1DC5.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
+2D80 ; [.1DC6.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
+1210 ; [.1DC7.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
+1211 ; [.1DC8.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
+1212 ; [.1DC9.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
+1213 ; [.1DCA.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
+1214 ; [.1DCB.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
+1215 ; [.1DCC.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
+1216 ; [.1DCD.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
+1217 ; [.1DCE.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
+1218 ; [.1DCF.0020.0002.1218] # ETHIOPIC SYLLABLE MA
+1219 ; [.1DD0.0020.0002.1219] # ETHIOPIC SYLLABLE MU
+121A ; [.1DD1.0020.0002.121A] # ETHIOPIC SYLLABLE MI
+121B ; [.1DD2.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
+121C ; [.1DD3.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
+121D ; [.1DD4.0020.0002.121D] # ETHIOPIC SYLLABLE ME
+121E ; [.1DD5.0020.0002.121E] # ETHIOPIC SYLLABLE MO
+121F ; [.1DD6.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
+1380 ; [.1DD7.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
+1381 ; [.1DD8.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
+1382 ; [.1DD9.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
+1383 ; [.1DDA.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
+2D81 ; [.1DDB.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
+1220 ; [.1DDC.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
+1221 ; [.1DDD.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
+1222 ; [.1DDE.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
+1223 ; [.1DDF.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
+1224 ; [.1DE0.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
+1225 ; [.1DE1.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
+1226 ; [.1DE2.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
+1227 ; [.1DE3.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
+1228 ; [.1DE4.0020.0002.1228] # ETHIOPIC SYLLABLE RA
+1229 ; [.1DE5.0020.0002.1229] # ETHIOPIC SYLLABLE RU
+122A ; [.1DE6.0020.0002.122A] # ETHIOPIC SYLLABLE RI
+122B ; [.1DE7.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
+122C ; [.1DE8.0020.0002.122C] # ETHIOPIC SYLLABLE REE
+122D ; [.1DE9.0020.0002.122D] # ETHIOPIC SYLLABLE RE
+122E ; [.1DEA.0020.0002.122E] # ETHIOPIC SYLLABLE RO
+122F ; [.1DEB.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
+2D82 ; [.1DEC.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
+1230 ; [.1DED.0020.0002.1230] # ETHIOPIC SYLLABLE SA
+1231 ; [.1DEE.0020.0002.1231] # ETHIOPIC SYLLABLE SU
+1232 ; [.1DEF.0020.0002.1232] # ETHIOPIC SYLLABLE SI
+1233 ; [.1DF0.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
+1234 ; [.1DF1.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
+1235 ; [.1DF2.0020.0002.1235] # ETHIOPIC SYLLABLE SE
+1236 ; [.1DF3.0020.0002.1236] # ETHIOPIC SYLLABLE SO
+1237 ; [.1DF4.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
+2D83 ; [.1DF5.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
+AB01 ; [.1DF6.0020.0002.AB01] # ETHIOPIC SYLLABLE TTHU
+AB02 ; [.1DF7.0020.0002.AB02] # ETHIOPIC SYLLABLE TTHI
+AB03 ; [.1DF8.0020.0002.AB03] # ETHIOPIC SYLLABLE TTHAA
+AB04 ; [.1DF9.0020.0002.AB04] # ETHIOPIC SYLLABLE TTHEE
+AB05 ; [.1DFA.0020.0002.AB05] # ETHIOPIC SYLLABLE TTHE
+AB06 ; [.1DFB.0020.0002.AB06] # ETHIOPIC SYLLABLE TTHO
+1238 ; [.1DFC.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
+1239 ; [.1DFD.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
+123A ; [.1DFE.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
+123B ; [.1DFF.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
+123C ; [.1E00.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
+123D ; [.1E01.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
+123E ; [.1E02.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
+123F ; [.1E03.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
+2D84 ; [.1E04.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
+1240 ; [.1E05.0020.0002.1240] # ETHIOPIC SYLLABLE QA
+1241 ; [.1E06.0020.0002.1241] # ETHIOPIC SYLLABLE QU
+1242 ; [.1E07.0020.0002.1242] # ETHIOPIC SYLLABLE QI
+1243 ; [.1E08.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
+1244 ; [.1E09.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
+1245 ; [.1E0A.0020.0002.1245] # ETHIOPIC SYLLABLE QE
+1246 ; [.1E0B.0020.0002.1246] # ETHIOPIC SYLLABLE QO
+1247 ; [.1E0C.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
+1248 ; [.1E0D.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
+124A ; [.1E0E.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
+124B ; [.1E0F.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
+124C ; [.1E10.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
+124D ; [.1E11.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
+1250 ; [.1E12.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
+1251 ; [.1E13.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
+1252 ; [.1E14.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
+1253 ; [.1E15.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
+1254 ; [.1E16.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
+1255 ; [.1E17.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
+1256 ; [.1E18.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
+1258 ; [.1E19.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
+125A ; [.1E1A.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
+125B ; [.1E1B.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
+125C ; [.1E1C.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
+125D ; [.1E1D.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
+1260 ; [.1E1E.0020.0002.1260] # ETHIOPIC SYLLABLE BA
+1261 ; [.1E1F.0020.0002.1261] # ETHIOPIC SYLLABLE BU
+1262 ; [.1E20.0020.0002.1262] # ETHIOPIC SYLLABLE BI
+1263 ; [.1E21.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
+1264 ; [.1E22.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
+1265 ; [.1E23.0020.0002.1265] # ETHIOPIC SYLLABLE BE
+1266 ; [.1E24.0020.0002.1266] # ETHIOPIC SYLLABLE BO
+1267 ; [.1E25.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
+1384 ; [.1E26.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
+1385 ; [.1E27.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
+1386 ; [.1E28.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
+1387 ; [.1E29.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
+2D85 ; [.1E2A.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
+1268 ; [.1E2B.0020.0002.1268] # ETHIOPIC SYLLABLE VA
+1269 ; [.1E2C.0020.0002.1269] # ETHIOPIC SYLLABLE VU
+126A ; [.1E2D.0020.0002.126A] # ETHIOPIC SYLLABLE VI
+126B ; [.1E2E.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
+126C ; [.1E2F.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
+126D ; [.1E30.0020.0002.126D] # ETHIOPIC SYLLABLE VE
+126E ; [.1E31.0020.0002.126E] # ETHIOPIC SYLLABLE VO
+126F ; [.1E32.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
+1270 ; [.1E33.0020.0002.1270] # ETHIOPIC SYLLABLE TA
+1271 ; [.1E34.0020.0002.1271] # ETHIOPIC SYLLABLE TU
+1272 ; [.1E35.0020.0002.1272] # ETHIOPIC SYLLABLE TI
+1273 ; [.1E36.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
+1274 ; [.1E37.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
+1275 ; [.1E38.0020.0002.1275] # ETHIOPIC SYLLABLE TE
+1276 ; [.1E39.0020.0002.1276] # ETHIOPIC SYLLABLE TO
+1277 ; [.1E3A.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
+2D86 ; [.1E3B.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
+1278 ; [.1E3C.0020.0002.1278] # ETHIOPIC SYLLABLE CA
+1279 ; [.1E3D.0020.0002.1279] # ETHIOPIC SYLLABLE CU
+127A ; [.1E3E.0020.0002.127A] # ETHIOPIC SYLLABLE CI
+127B ; [.1E3F.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
+127C ; [.1E40.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
+127D ; [.1E41.0020.0002.127D] # ETHIOPIC SYLLABLE CE
+127E ; [.1E42.0020.0002.127E] # ETHIOPIC SYLLABLE CO
+127F ; [.1E43.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
+2D87 ; [.1E44.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
+1280 ; [.1E45.0020.0002.1280] # ETHIOPIC SYLLABLE XA
+1281 ; [.1E46.0020.0002.1281] # ETHIOPIC SYLLABLE XU
+1282 ; [.1E47.0020.0002.1282] # ETHIOPIC SYLLABLE XI
+1283 ; [.1E48.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
+1284 ; [.1E49.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
+1285 ; [.1E4A.0020.0002.1285] # ETHIOPIC SYLLABLE XE
+1286 ; [.1E4B.0020.0002.1286] # ETHIOPIC SYLLABLE XO
+1287 ; [.1E4C.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
+1288 ; [.1E4D.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
+128A ; [.1E4E.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
+128B ; [.1E4F.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
+128C ; [.1E50.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
+128D ; [.1E51.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
+1290 ; [.1E52.0020.0002.1290] # ETHIOPIC SYLLABLE NA
+1291 ; [.1E53.0020.0002.1291] # ETHIOPIC SYLLABLE NU
+1292 ; [.1E54.0020.0002.1292] # ETHIOPIC SYLLABLE NI
+1293 ; [.1E55.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
+1294 ; [.1E56.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
+1295 ; [.1E57.0020.0002.1295] # ETHIOPIC SYLLABLE NE
+1296 ; [.1E58.0020.0002.1296] # ETHIOPIC SYLLABLE NO
+1297 ; [.1E59.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
+2D88 ; [.1E5A.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
+1298 ; [.1E5B.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
+1299 ; [.1E5C.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
+129A ; [.1E5D.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
+129B ; [.1E5E.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
+129C ; [.1E5F.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
+129D ; [.1E60.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
+129E ; [.1E61.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
+129F ; [.1E62.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
+2D89 ; [.1E63.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
+12A0 ; [.1E64.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
+12A1 ; [.1E65.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
+12A2 ; [.1E66.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
+12A3 ; [.1E67.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
+12A4 ; [.1E68.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
+12A5 ; [.1E69.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
+12A6 ; [.1E6A.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
+12A7 ; [.1E6B.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
+2D8A ; [.1E6C.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
+12A8 ; [.1E6D.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
+12A9 ; [.1E6E.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
+12AA ; [.1E6F.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
+12AB ; [.1E70.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
+12AC ; [.1E71.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
+12AD ; [.1E72.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
+12AE ; [.1E73.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
+12AF ; [.1E74.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
+12B0 ; [.1E75.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
+12B2 ; [.1E76.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
+12B3 ; [.1E77.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
+12B4 ; [.1E78.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
+12B5 ; [.1E79.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
+12B8 ; [.1E7A.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
+12B9 ; [.1E7B.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
+12BA ; [.1E7C.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
+12BB ; [.1E7D.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
+12BC ; [.1E7E.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
+12BD ; [.1E7F.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
+12BE ; [.1E80.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
+12C0 ; [.1E81.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
+12C2 ; [.1E82.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
+12C3 ; [.1E83.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
+12C4 ; [.1E84.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
+12C5 ; [.1E85.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
+12C8 ; [.1E86.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
+12C9 ; [.1E87.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
+12CA ; [.1E88.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
+12CB ; [.1E89.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
+12CC ; [.1E8A.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
+12CD ; [.1E8B.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
+12CE ; [.1E8C.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
+12CF ; [.1E8D.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
+12D0 ; [.1E8E.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
+12D1 ; [.1E8F.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
+12D2 ; [.1E90.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
+12D3 ; [.1E91.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
+12D4 ; [.1E92.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
+12D5 ; [.1E93.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
+12D6 ; [.1E94.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8 ; [.1E95.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
+12D9 ; [.1E96.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
+12DA ; [.1E97.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
+12DB ; [.1E98.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
+12DC ; [.1E99.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
+12DD ; [.1E9A.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
+12DE ; [.1E9B.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
+12DF ; [.1E9C.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
+2D8B ; [.1E9D.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
+AB11 ; [.1E9E.0020.0002.AB11] # ETHIOPIC SYLLABLE DZU
+AB12 ; [.1E9F.0020.0002.AB12] # ETHIOPIC SYLLABLE DZI
+AB13 ; [.1EA0.0020.0002.AB13] # ETHIOPIC SYLLABLE DZAA
+AB14 ; [.1EA1.0020.0002.AB14] # ETHIOPIC SYLLABLE DZEE
+AB15 ; [.1EA2.0020.0002.AB15] # ETHIOPIC SYLLABLE DZE
+AB16 ; [.1EA3.0020.0002.AB16] # ETHIOPIC SYLLABLE DZO
+12E0 ; [.1EA4.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
+12E1 ; [.1EA5.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
+12E2 ; [.1EA6.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
+12E3 ; [.1EA7.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
+12E4 ; [.1EA8.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
+12E5 ; [.1EA9.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
+12E6 ; [.1EAA.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
+12E7 ; [.1EAB.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
+12E8 ; [.1EAC.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
+12E9 ; [.1EAD.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
+12EA ; [.1EAE.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
+12EB ; [.1EAF.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
+12EC ; [.1EB0.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
+12ED ; [.1EB1.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
+12EE ; [.1EB2.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
+12EF ; [.1EB3.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
+12F0 ; [.1EB4.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
+12F1 ; [.1EB5.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
+12F2 ; [.1EB6.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
+12F3 ; [.1EB7.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
+12F4 ; [.1EB8.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
+12F5 ; [.1EB9.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
+12F6 ; [.1EBA.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
+12F7 ; [.1EBB.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
+2D8C ; [.1EBC.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
+AB09 ; [.1EBD.0020.0002.AB09] # ETHIOPIC SYLLABLE DDHU
+AB0A ; [.1EBE.0020.0002.AB0A] # ETHIOPIC SYLLABLE DDHI
+AB0B ; [.1EBF.0020.0002.AB0B] # ETHIOPIC SYLLABLE DDHAA
+AB0C ; [.1EC0.0020.0002.AB0C] # ETHIOPIC SYLLABLE DDHEE
+AB0D ; [.1EC1.0020.0002.AB0D] # ETHIOPIC SYLLABLE DDHE
+AB0E ; [.1EC2.0020.0002.AB0E] # ETHIOPIC SYLLABLE DDHO
+12F8 ; [.1EC3.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
+12F9 ; [.1EC4.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
+12FA ; [.1EC5.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
+12FB ; [.1EC6.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
+12FC ; [.1EC7.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
+12FD ; [.1EC8.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
+12FE ; [.1EC9.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
+12FF ; [.1ECA.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
+2D8D ; [.1ECB.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
+1300 ; [.1ECC.0020.0002.1300] # ETHIOPIC SYLLABLE JA
+1301 ; [.1ECD.0020.0002.1301] # ETHIOPIC SYLLABLE JU
+1302 ; [.1ECE.0020.0002.1302] # ETHIOPIC SYLLABLE JI
+1303 ; [.1ECF.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
+1304 ; [.1ED0.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
+1305 ; [.1ED1.0020.0002.1305] # ETHIOPIC SYLLABLE JE
+1306 ; [.1ED2.0020.0002.1306] # ETHIOPIC SYLLABLE JO
+1307 ; [.1ED3.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
+2D8E ; [.1ED4.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
+1308 ; [.1ED5.0020.0002.1308] # ETHIOPIC SYLLABLE GA
+1309 ; [.1ED6.0020.0002.1309] # ETHIOPIC SYLLABLE GU
+130A ; [.1ED7.0020.0002.130A] # ETHIOPIC SYLLABLE GI
+130B ; [.1ED8.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
+130C ; [.1ED9.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
+130D ; [.1EDA.0020.0002.130D] # ETHIOPIC SYLLABLE GE
+130E ; [.1EDB.0020.0002.130E] # ETHIOPIC SYLLABLE GO
+130F ; [.1EDC.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
+1310 ; [.1EDD.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
+1312 ; [.1EDE.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
+1313 ; [.1EDF.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
+1314 ; [.1EE0.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
+1315 ; [.1EE1.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
+1318 ; [.1EE2.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
+1319 ; [.1EE3.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
+131A ; [.1EE4.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
+131B ; [.1EE5.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
+131C ; [.1EE6.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
+131D ; [.1EE7.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
+131E ; [.1EE8.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
+131F ; [.1EE9.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
+2D93 ; [.1EEA.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
+2D94 ; [.1EEB.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
+2D95 ; [.1EEC.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
+2D96 ; [.1EED.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
+1320 ; [.1EEE.0020.0002.1320] # ETHIOPIC SYLLABLE THA
+1321 ; [.1EEF.0020.0002.1321] # ETHIOPIC SYLLABLE THU
+1322 ; [.1EF0.0020.0002.1322] # ETHIOPIC SYLLABLE THI
+1323 ; [.1EF1.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
+1324 ; [.1EF2.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
+1325 ; [.1EF3.0020.0002.1325] # ETHIOPIC SYLLABLE THE
+1326 ; [.1EF4.0020.0002.1326] # ETHIOPIC SYLLABLE THO
+1327 ; [.1EF5.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
+2D8F ; [.1EF6.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
+1328 ; [.1EF7.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
+1329 ; [.1EF8.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
+132A ; [.1EF9.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
+132B ; [.1EFA.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
+132C ; [.1EFB.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
+132D ; [.1EFC.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
+132E ; [.1EFD.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
+132F ; [.1EFE.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
+2D90 ; [.1EFF.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
+AB20 ; [.1F00.0020.0002.AB20] # ETHIOPIC SYLLABLE CCHHA
+AB21 ; [.1F01.0020.0002.AB21] # ETHIOPIC SYLLABLE CCHHU
+AB22 ; [.1F02.0020.0002.AB22] # ETHIOPIC SYLLABLE CCHHI
+AB23 ; [.1F03.0020.0002.AB23] # ETHIOPIC SYLLABLE CCHHAA
+AB24 ; [.1F04.0020.0002.AB24] # ETHIOPIC SYLLABLE CCHHEE
+AB25 ; [.1F05.0020.0002.AB25] # ETHIOPIC SYLLABLE CCHHE
+AB26 ; [.1F06.0020.0002.AB26] # ETHIOPIC SYLLABLE CCHHO
+1330 ; [.1F07.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
+1331 ; [.1F08.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
+1332 ; [.1F09.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
+1333 ; [.1F0A.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
+1334 ; [.1F0B.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
+1335 ; [.1F0C.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
+1336 ; [.1F0D.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
+1337 ; [.1F0E.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
+2D91 ; [.1F0F.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
+1338 ; [.1F10.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
+1339 ; [.1F11.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
+133A ; [.1F12.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
+133B ; [.1F13.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
+133C ; [.1F14.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
+133D ; [.1F15.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
+133E ; [.1F16.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
+133F ; [.1F17.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
+AB28 ; [.1F18.0020.0002.AB28] # ETHIOPIC SYLLABLE BBA
+AB29 ; [.1F19.0020.0002.AB29] # ETHIOPIC SYLLABLE BBU
+AB2A ; [.1F1A.0020.0002.AB2A] # ETHIOPIC SYLLABLE BBI
+AB2B ; [.1F1B.0020.0002.AB2B] # ETHIOPIC SYLLABLE BBAA
+AB2C ; [.1F1C.0020.0002.AB2C] # ETHIOPIC SYLLABLE BBEE
+AB2D ; [.1F1D.0020.0002.AB2D] # ETHIOPIC SYLLABLE BBE
+AB2E ; [.1F1E.0020.0002.AB2E] # ETHIOPIC SYLLABLE BBO
+1340 ; [.1F1F.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
+1341 ; [.1F20.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
+1342 ; [.1F21.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
+1343 ; [.1F22.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
+1344 ; [.1F23.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
+1345 ; [.1F24.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
+1346 ; [.1F25.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
+1347 ; [.1F26.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
+1348 ; [.1F27.0020.0002.1348] # ETHIOPIC SYLLABLE FA
+1349 ; [.1F28.0020.0002.1349] # ETHIOPIC SYLLABLE FU
+134A ; [.1F29.0020.0002.134A] # ETHIOPIC SYLLABLE FI
+134B ; [.1F2A.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
+134C ; [.1F2B.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
+134D ; [.1F2C.0020.0002.134D] # ETHIOPIC SYLLABLE FE
+134E ; [.1F2D.0020.0002.134E] # ETHIOPIC SYLLABLE FO
+134F ; [.1F2E.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
+1388 ; [.1F2F.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
+1389 ; [.1F30.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
+138A ; [.1F31.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
+138B ; [.1F32.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
+1350 ; [.1F33.0020.0002.1350] # ETHIOPIC SYLLABLE PA
+1351 ; [.1F34.0020.0002.1351] # ETHIOPIC SYLLABLE PU
+1352 ; [.1F35.0020.0002.1352] # ETHIOPIC SYLLABLE PI
+1353 ; [.1F36.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
+1354 ; [.1F37.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
+1355 ; [.1F38.0020.0002.1355] # ETHIOPIC SYLLABLE PE
+1356 ; [.1F39.0020.0002.1356] # ETHIOPIC SYLLABLE PO
+1357 ; [.1F3A.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
+138C ; [.1F3B.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
+138D ; [.1F3C.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
+138E ; [.1F3D.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
+138F ; [.1F3E.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
+2D92 ; [.1F3F.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
+1358 ; [.1F40.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
+1359 ; [.1F41.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
+135A ; [.1F42.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
+2DA0 ; [.1F43.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
+2DA1 ; [.1F44.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
+2DA2 ; [.1F45.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
+2DA3 ; [.1F46.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
+2DA4 ; [.1F47.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
+2DA5 ; [.1F48.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
+2DA6 ; [.1F49.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
+2DA8 ; [.1F4A.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
+2DA9 ; [.1F4B.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
+2DAA ; [.1F4C.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
+2DAB ; [.1F4D.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
+2DAC ; [.1F4E.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
+2DAD ; [.1F4F.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
+2DAE ; [.1F50.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
+2DB0 ; [.1F51.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
+2DB1 ; [.1F52.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
+2DB2 ; [.1F53.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
+2DB3 ; [.1F54.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
+2DB4 ; [.1F55.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
+2DB5 ; [.1F56.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
+2DB6 ; [.1F57.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
+2DB8 ; [.1F58.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
+2DB9 ; [.1F59.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
+2DBA ; [.1F5A.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
+2DBB ; [.1F5B.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
+2DBC ; [.1F5C.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
+2DBD ; [.1F5D.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
+2DBE ; [.1F5E.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
+2DC0 ; [.1F5F.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
+2DC1 ; [.1F60.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
+2DC2 ; [.1F61.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
+2DC3 ; [.1F62.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
+2DC4 ; [.1F63.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
+2DC5 ; [.1F64.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
+2DC6 ; [.1F65.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
+2DC8 ; [.1F66.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
+2DC9 ; [.1F67.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
+2DCA ; [.1F68.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
+2DCB ; [.1F69.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
+2DCC ; [.1F6A.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
+2DCD ; [.1F6B.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
+2DCE ; [.1F6C.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
+2DD0 ; [.1F6D.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
+2DD1 ; [.1F6E.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
+2DD2 ; [.1F6F.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
+2DD3 ; [.1F70.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
+2DD4 ; [.1F71.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
+2DD5 ; [.1F72.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
+2DD6 ; [.1F73.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
+2DD8 ; [.1F74.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
+2DD9 ; [.1F75.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
+2DDA ; [.1F76.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
+2DDB ; [.1F77.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
+2DDC ; [.1F78.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
+2DDD ; [.1F79.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
+2DDE ; [.1F7A.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
+0950 ; [.1F7B.0020.0002.0950] # DEVANAGARI OM
+0972 ; [.1F7C.0020.0002.0972] # DEVANAGARI LETTER CANDRA A
+0904 ; [.1F7D.0020.0002.0904] # DEVANAGARI LETTER SHORT A
+0905 ; [.1F7E.0020.0002.0905] # DEVANAGARI LETTER A
+0906 ; [.1F7F.0020.0002.0906] # DEVANAGARI LETTER AA
+0973 ; [.1F80.0020.0002.0973] # DEVANAGARI LETTER OE
+0974 ; [.1F81.0020.0002.0974] # DEVANAGARI LETTER OOE
+0975 ; [.1F82.0020.0002.0975] # DEVANAGARI LETTER AW
+0976 ; [.1F83.0020.0002.0976] # DEVANAGARI LETTER UE
+0977 ; [.1F84.0020.0002.0977] # DEVANAGARI LETTER UUE
+0907 ; [.1F85.0020.0002.0907] # DEVANAGARI LETTER I
+0908 ; [.1F86.0020.0002.0908] # DEVANAGARI LETTER II
+0909 ; [.1F87.0020.0002.0909] # DEVANAGARI LETTER U
+090A ; [.1F88.0020.0002.090A] # DEVANAGARI LETTER UU
+090B ; [.1F89.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
+0960 ; [.1F8A.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
+090C ; [.1F8B.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
+0961 ; [.1F8C.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
+090D ; [.1F8D.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
+090E ; [.1F8E.0020.0002.090E] # DEVANAGARI LETTER SHORT E
+090F ; [.1F8F.0020.0002.090F] # DEVANAGARI LETTER E
+0910 ; [.1F90.0020.0002.0910] # DEVANAGARI LETTER AI
+0911 ; [.1F91.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
+0912 ; [.1F92.0020.0002.0912] # DEVANAGARI LETTER SHORT O
+0913 ; [.1F93.0020.0002.0913] # DEVANAGARI LETTER O
+0914 ; [.1F94.0020.0002.0914] # DEVANAGARI LETTER AU
+0915 ; [.1F95.0020.0002.0915] # DEVANAGARI LETTER KA
+0958 ; [.1F95.0020.0002.0915][.0000.00DD.0002.093C] # DEVANAGARI LETTER QA; QQCM
+0916 ; [.1F96.0020.0002.0916] # DEVANAGARI LETTER KHA
+0959 ; [.1F96.0020.0002.0916][.0000.00DD.0002.093C] # DEVANAGARI LETTER KHHA; QQCM
+0917 ; [.1F97.0020.0002.0917] # DEVANAGARI LETTER GA
+095A ; [.1F97.0020.0002.0917][.0000.00DD.0002.093C] # DEVANAGARI LETTER GHHA; QQCM
+097B ; [.1F98.0020.0002.097B] # DEVANAGARI LETTER GGA
+0918 ; [.1F99.0020.0002.0918] # DEVANAGARI LETTER GHA
+0919 ; [.1F9A.0020.0002.0919] # DEVANAGARI LETTER NGA
+091A ; [.1F9B.0020.0002.091A] # DEVANAGARI LETTER CA
+091B ; [.1F9C.0020.0002.091B] # DEVANAGARI LETTER CHA
+091C ; [.1F9D.0020.0002.091C] # DEVANAGARI LETTER JA
+095B ; [.1F9D.0020.0002.091C][.0000.00DD.0002.093C] # DEVANAGARI LETTER ZA; QQCM
+0979 ; [.1F9E.0020.0002.0979] # DEVANAGARI LETTER ZHA
+097C ; [.1F9F.0020.0002.097C] # DEVANAGARI LETTER JJA
+091D ; [.1FA0.0020.0002.091D] # DEVANAGARI LETTER JHA
+091E ; [.1FA1.0020.0002.091E] # DEVANAGARI LETTER NYA
+091F ; [.1FA2.0020.0002.091F] # DEVANAGARI LETTER TTA
+0920 ; [.1FA3.0020.0002.0920] # DEVANAGARI LETTER TTHA
+0921 ; [.1FA4.0020.0002.0921] # DEVANAGARI LETTER DDA
+095C ; [.1FA4.0020.0002.0921][.0000.00DD.0002.093C] # DEVANAGARI LETTER DDDHA; QQCM
+097E ; [.1FA5.0020.0002.097E] # DEVANAGARI LETTER DDDA
+0922 ; [.1FA6.0020.0002.0922] # DEVANAGARI LETTER DDHA
+095D ; [.1FA6.0020.0002.0922][.0000.00DD.0002.093C] # DEVANAGARI LETTER RHA; QQCM
+0923 ; [.1FA7.0020.0002.0923] # DEVANAGARI LETTER NNA
+0924 ; [.1FA8.0020.0002.0924] # DEVANAGARI LETTER TA
+0925 ; [.1FA9.0020.0002.0925] # DEVANAGARI LETTER THA
+0926 ; [.1FAA.0020.0002.0926] # DEVANAGARI LETTER DA
+0927 ; [.1FAB.0020.0002.0927] # DEVANAGARI LETTER DHA
+0928 ; [.1FAC.0020.0002.0928] # DEVANAGARI LETTER NA
+0929 ; [.1FAC.0020.0002.0928][.0000.00DD.0002.093C] # DEVANAGARI LETTER NNNA; QQCM
+092A ; [.1FAD.0020.0002.092A] # DEVANAGARI LETTER PA
+092B ; [.1FAE.0020.0002.092B] # DEVANAGARI LETTER PHA
+095E ; [.1FAE.0020.0002.092B][.0000.00DD.0002.093C] # DEVANAGARI LETTER FA; QQCM
+092C ; [.1FAF.0020.0002.092C] # DEVANAGARI LETTER BA
+097F ; [.1FB0.0020.0002.097F] # DEVANAGARI LETTER BBA
+092D ; [.1FB1.0020.0002.092D] # DEVANAGARI LETTER BHA
+092E ; [.1FB2.0020.0002.092E] # DEVANAGARI LETTER MA
+092F ; [.1FB3.0020.0002.092F] # DEVANAGARI LETTER YA
+095F ; [.1FB3.0020.0002.092F][.0000.00DD.0002.093C] # DEVANAGARI LETTER YYA; QQCM
+097A ; [.1FB4.0020.0002.097A] # DEVANAGARI LETTER HEAVY YA
+0930 ; [.1FB5.0020.0002.0930] # DEVANAGARI LETTER RA
+0931 ; [.1FB5.0020.0002.0930][.0000.00DD.0002.093C] # DEVANAGARI LETTER RRA; QQCM
+0932 ; [.1FB6.0020.0002.0932] # DEVANAGARI LETTER LA
+0933 ; [.1FB7.0020.0002.0933] # DEVANAGARI LETTER LLA
+0934 ; [.1FB7.0020.0002.0933][.0000.00DD.0002.093C] # DEVANAGARI LETTER LLLA; QQCM
+0935 ; [.1FB8.0020.0002.0935] # DEVANAGARI LETTER VA
+0936 ; [.1FB9.0020.0002.0936] # DEVANAGARI LETTER SHA
+0937 ; [.1FBA.0020.0002.0937] # DEVANAGARI LETTER SSA
+0938 ; [.1FBB.0020.0002.0938] # DEVANAGARI LETTER SA
+0939 ; [.1FBC.0020.0002.0939] # DEVANAGARI LETTER HA
+093D ; [.1FBD.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
+097D ; [.1FBE.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
+1CE9 ; [.1FBF.0020.0002.1CE9] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
+1CEA ; [.1FBF.0020.0004.1CEA] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA; QQK
+1CEB ; [.1FBF.0020.0004.1CEB] # VEDIC SIGN ANUSVARA VAMAGOMUKHA; QQK
+1CEC ; [.1FBF.0020.0004.1CEC] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL; QQK
+1CEE ; [.1FBF.0020.0004.1CEE] # VEDIC SIGN HEXIFORM LONG ANUSVARA; QQK
+1CEF ; [.1FBF.0020.0004.1CEF] # VEDIC SIGN LONG ANUSVARA; QQK
+1CF0 ; [.1FBF.0020.0004.1CF0] # VEDIC SIGN RTHANG LONG ANUSVARA; QQK
+1CF1 ; [.1FBF.0020.0004.1CF1] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA; QQK
+A8F2 ; [.1FC0.0020.0002.A8F2] # DEVANAGARI SIGN SPACING CANDRABINDU
+A8F3 ; [.1FC0.0020.0004.A8F3] # DEVANAGARI SIGN CANDRABINDU VIRAMA; QQK
+A8F4 ; [.1FC0.0020.0004.A8F4] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA; QQK
+A8F5 ; [.1FC0.0020.0004.A8F5] # DEVANAGARI SIGN CANDRABINDU TWO; QQK
+A8F6 ; [.1FC0.0020.0004.A8F6] # DEVANAGARI SIGN CANDRABINDU THREE; QQK
+A8F7 ; [.1FC0.0020.0004.A8F7] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA; QQK
+A8FB ; [.1FC1.0020.0002.A8FB] # DEVANAGARI HEADSTROKE
+093E ; [.1FC2.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
+093A ; [.1FC3.0020.0002.093A] # DEVANAGARI VOWEL SIGN OE
+093B ; [.1FC4.0020.0002.093B] # DEVANAGARI VOWEL SIGN OOE
+094F ; [.1FC5.0020.0002.094F] # DEVANAGARI VOWEL SIGN AW
+0956 ; [.1FC6.0020.0002.0956] # DEVANAGARI VOWEL SIGN UE
+0957 ; [.1FC7.0020.0002.0957] # DEVANAGARI VOWEL SIGN UUE
+093F ; [.1FC8.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
+0940 ; [.1FC9.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
+0941 ; [.1FCA.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
+0942 ; [.1FCB.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
+0943 ; [.1FCC.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
+0944 ; [.1FCD.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
+0962 ; [.1FCE.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
+0963 ; [.1FCF.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
+0945 ; [.1FD0.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
+0955 ; [.1FD1.0020.0002.0955] # DEVANAGARI VOWEL SIGN CANDRA LONG E
+0946 ; [.1FD2.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
+0947 ; [.1FD3.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
+094E ; [.1FD4.0020.0002.094E] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
+0948 ; [.1FD5.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
+0949 ; [.1FD6.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
+094A ; [.1FD7.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
+094B ; [.1FD8.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
+094C ; [.1FD9.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
+094D ; [.1FDA.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
+0985 ; [.1FDB.0020.0002.0985] # BENGALI LETTER A
+0986 ; [.1FDC.0020.0002.0986] # BENGALI LETTER AA
+0987 ; [.1FDD.0020.0002.0987] # BENGALI LETTER I
+0988 ; [.1FDE.0020.0002.0988] # BENGALI LETTER II
+0989 ; [.1FDF.0020.0002.0989] # BENGALI LETTER U
+098A ; [.1FE0.0020.0002.098A] # BENGALI LETTER UU
+098B ; [.1FE1.0020.0002.098B] # BENGALI LETTER VOCALIC R
+09E0 ; [.1FE2.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
+098C ; [.1FE3.0020.0002.098C] # BENGALI LETTER VOCALIC L
+09E1 ; [.1FE4.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
+098F ; [.1FE5.0020.0002.098F] # BENGALI LETTER E
+0990 ; [.1FE6.0020.0002.0990] # BENGALI LETTER AI
+0993 ; [.1FE7.0020.0002.0993] # BENGALI LETTER O
+0994 ; [.1FE8.0020.0002.0994] # BENGALI LETTER AU
+0995 ; [.1FE9.0020.0002.0995] # BENGALI LETTER KA
+0996 ; [.1FEA.0020.0002.0996] # BENGALI LETTER KHA
+0997 ; [.1FEB.0020.0002.0997] # BENGALI LETTER GA
+0998 ; [.1FEC.0020.0002.0998] # BENGALI LETTER GHA
+0999 ; [.1FED.0020.0002.0999] # BENGALI LETTER NGA
+099A ; [.1FEE.0020.0002.099A] # BENGALI LETTER CA
+099B ; [.1FEF.0020.0002.099B] # BENGALI LETTER CHA
+099C ; [.1FF0.0020.0002.099C] # BENGALI LETTER JA
+099D ; [.1FF1.0020.0002.099D] # BENGALI LETTER JHA
+099E ; [.1FF2.0020.0002.099E] # BENGALI LETTER NYA
+099F ; [.1FF3.0020.0002.099F] # BENGALI LETTER TTA
+09A0 ; [.1FF4.0020.0002.09A0] # BENGALI LETTER TTHA
+09A1 ; [.1FF5.0020.0002.09A1] # BENGALI LETTER DDA
+09DC ; [.1FF5.0020.0002.09A1][.0000.00E1.0002.09BC] # BENGALI LETTER RRA; QQCM
+09A2 ; [.1FF6.0020.0002.09A2] # BENGALI LETTER DDHA
+09DD ; [.1FF6.0020.0002.09A2][.0000.00E1.0002.09BC] # BENGALI LETTER RHA; QQCM
+09A3 ; [.1FF7.0020.0002.09A3] # BENGALI LETTER NNA
+09A4 ; [.1FF8.0020.0002.09A4] # BENGALI LETTER TA
+09CE ; [.1FF8.0020.0004.09CE][.2019.0020.0004.09CE] # BENGALI LETTER KHANDA TA; QQKN
+09A5 ; [.1FF9.0020.0002.09A5] # BENGALI LETTER THA
+09A6 ; [.1FFA.0020.0002.09A6] # BENGALI LETTER DA
+09A7 ; [.1FFB.0020.0002.09A7] # BENGALI LETTER DHA
+09A8 ; [.1FFC.0020.0002.09A8] # BENGALI LETTER NA
+09AA ; [.1FFD.0020.0002.09AA] # BENGALI LETTER PA
+09AB ; [.1FFE.0020.0002.09AB] # BENGALI LETTER PHA
+09AC ; [.1FFF.0020.0002.09AC] # BENGALI LETTER BA
+09AD ; [.2000.0020.0002.09AD] # BENGALI LETTER BHA
+09AE ; [.2001.0020.0002.09AE] # BENGALI LETTER MA
+09AF ; [.2002.0020.0002.09AF] # BENGALI LETTER YA
+09DF ; [.2002.0020.0002.09AF][.0000.00E1.0002.09BC] # BENGALI LETTER YYA; QQCM
+09B0 ; [.2003.0020.0002.09B0] # BENGALI LETTER RA
+09F0 ; [.2004.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
+09B2 ; [.2005.0020.0002.09B2] # BENGALI LETTER LA
+09F1 ; [.2006.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
+09B6 ; [.2007.0020.0002.09B6] # BENGALI LETTER SHA
+09B7 ; [.2008.0020.0002.09B7] # BENGALI LETTER SSA
+09B8 ; [.2009.0020.0002.09B8] # BENGALI LETTER SA
+09B9 ; [.200A.0020.0002.09B9] # BENGALI LETTER HA
+09BD ; [.200B.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
+09BE ; [.200C.0020.0002.09BE] # BENGALI VOWEL SIGN AA
+09BF ; [.200D.0020.0002.09BF] # BENGALI VOWEL SIGN I
+09C0 ; [.200E.0020.0002.09C0] # BENGALI VOWEL SIGN II
+09C1 ; [.200F.0020.0002.09C1] # BENGALI VOWEL SIGN U
+09C2 ; [.2010.0020.0002.09C2] # BENGALI VOWEL SIGN UU
+09C3 ; [.2011.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
+09C4 ; [.2012.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
+09E2 ; [.2013.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
+09E3 ; [.2014.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
+09C7 ; [.2015.0020.0002.09C7] # BENGALI VOWEL SIGN E
+09C8 ; [.2016.0020.0002.09C8] # BENGALI VOWEL SIGN AI
+09CB ; [.2017.0020.0002.09CB] # BENGALI VOWEL SIGN O
+09C7 09BE ; [.2017.0020.0002.09CB] # BENGALI VOWEL SIGN O
+09CC ; [.2018.0020.0002.09CC] # BENGALI VOWEL SIGN AU
+09C7 09D7 ; [.2018.0020.0002.09CC] # BENGALI VOWEL SIGN AU
+09CD ; [.2019.0020.0002.09CD] # BENGALI SIGN VIRAMA
+09D7 ; [.201A.0020.0002.09D7] # BENGALI AU LENGTH MARK
+0A74 ; [.201B.0020.0002.0A74] # GURMUKHI EK ONKAR
+0A73 ; [.201C.0020.0002.0A73] # GURMUKHI URA
+0A09 ; [.201D.0020.0002.0A09] # GURMUKHI LETTER U
+0A0A ; [.201E.0020.0002.0A0A] # GURMUKHI LETTER UU
+0A13 ; [.201F.0020.0002.0A13] # GURMUKHI LETTER OO
+0A05 ; [.2020.0020.0002.0A05] # GURMUKHI LETTER A
+0A06 ; [.2021.0020.0002.0A06] # GURMUKHI LETTER AA
+0A10 ; [.2022.0020.0002.0A10] # GURMUKHI LETTER AI
+0A14 ; [.2023.0020.0002.0A14] # GURMUKHI LETTER AU
+0A72 ; [.2024.0020.0002.0A72] # GURMUKHI IRI
+0A07 ; [.2025.0020.0002.0A07] # GURMUKHI LETTER I
+0A08 ; [.2026.0020.0002.0A08] # GURMUKHI LETTER II
+0A0F ; [.2027.0020.0002.0A0F] # GURMUKHI LETTER EE
+0A38 ; [.2028.0020.0002.0A38] # GURMUKHI LETTER SA
+0A36 ; [.2028.0020.0002.0A38][.0000.00E5.0002.0A3C] # GURMUKHI LETTER SHA; QQCM
+0A39 ; [.2029.0020.0002.0A39] # GURMUKHI LETTER HA
+0A51 ; [.202A.0020.0002.0A51] # GURMUKHI SIGN UDAAT
+0A15 ; [.202B.0020.0002.0A15] # GURMUKHI LETTER KA
+0A16 ; [.202C.0020.0002.0A16] # GURMUKHI LETTER KHA
+0A59 ; [.202C.0020.0002.0A16][.0000.00E5.0002.0A3C] # GURMUKHI LETTER KHHA; QQCM
+0A17 ; [.202D.0020.0002.0A17] # GURMUKHI LETTER GA
+0A5A ; [.202D.0020.0002.0A17][.0000.00E5.0002.0A3C] # GURMUKHI LETTER GHHA; QQCM
+0A18 ; [.202E.0020.0002.0A18] # GURMUKHI LETTER GHA
+0A19 ; [.202F.0020.0002.0A19] # GURMUKHI LETTER NGA
+0A1A ; [.2030.0020.0002.0A1A] # GURMUKHI LETTER CA
+0A1B ; [.2031.0020.0002.0A1B] # GURMUKHI LETTER CHA
+0A1C ; [.2032.0020.0002.0A1C] # GURMUKHI LETTER JA
+0A5B ; [.2032.0020.0002.0A1C][.0000.00E5.0002.0A3C] # GURMUKHI LETTER ZA; QQCM
+0A1D ; [.2033.0020.0002.0A1D] # GURMUKHI LETTER JHA
+0A1E ; [.2034.0020.0002.0A1E] # GURMUKHI LETTER NYA
+0A1F ; [.2035.0020.0002.0A1F] # GURMUKHI LETTER TTA
+0A20 ; [.2036.0020.0002.0A20] # GURMUKHI LETTER TTHA
+0A21 ; [.2037.0020.0002.0A21] # GURMUKHI LETTER DDA
+0A22 ; [.2038.0020.0002.0A22] # GURMUKHI LETTER DDHA
+0A23 ; [.2039.0020.0002.0A23] # GURMUKHI LETTER NNA
+0A24 ; [.203A.0020.0002.0A24] # GURMUKHI LETTER TA
+0A25 ; [.203B.0020.0002.0A25] # GURMUKHI LETTER THA
+0A26 ; [.203C.0020.0002.0A26] # GURMUKHI LETTER DA
+0A27 ; [.203D.0020.0002.0A27] # GURMUKHI LETTER DHA
+0A28 ; [.203E.0020.0002.0A28] # GURMUKHI LETTER NA
+0A2A ; [.203F.0020.0002.0A2A] # GURMUKHI LETTER PA
+0A2B ; [.2040.0020.0002.0A2B] # GURMUKHI LETTER PHA
+0A5E ; [.2040.0020.0002.0A2B][.0000.00E5.0002.0A3C] # GURMUKHI LETTER FA; QQCM
+0A2C ; [.2041.0020.0002.0A2C] # GURMUKHI LETTER BA
+0A2D ; [.2042.0020.0002.0A2D] # GURMUKHI LETTER BHA
+0A2E ; [.2043.0020.0002.0A2E] # GURMUKHI LETTER MA
+0A2F ; [.2044.0020.0002.0A2F] # GURMUKHI LETTER YA
+0A75 ; [.2045.0020.0002.0A75] # GURMUKHI SIGN YAKASH
+0A30 ; [.2046.0020.0002.0A30] # GURMUKHI LETTER RA
+0A32 ; [.2047.0020.0002.0A32] # GURMUKHI LETTER LA
+0A33 ; [.2047.0020.0002.0A32][.0000.00E5.0002.0A3C] # GURMUKHI LETTER LLA; QQCM
+0A35 ; [.2048.0020.0002.0A35] # GURMUKHI LETTER VA
+0A5C ; [.2049.0020.0002.0A5C] # GURMUKHI LETTER RRA
+0A3E ; [.204A.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
+0A3F ; [.204B.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
+0A40 ; [.204C.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
+0A41 ; [.204D.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
+0A42 ; [.204E.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
+0A47 ; [.204F.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
+0A48 ; [.2050.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
+0A4B ; [.2051.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
+0A4C ; [.2052.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
+0A4D ; [.2053.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
+0AD0 ; [.2054.0020.0002.0AD0] # GUJARATI OM
+0A85 ; [.2055.0020.0002.0A85] # GUJARATI LETTER A
+0A86 ; [.2056.0020.0002.0A86] # GUJARATI LETTER AA
+0A87 ; [.2057.0020.0002.0A87] # GUJARATI LETTER I
+0A88 ; [.2058.0020.0002.0A88] # GUJARATI LETTER II
+0A89 ; [.2059.0020.0002.0A89] # GUJARATI LETTER U
+0A8A ; [.205A.0020.0002.0A8A] # GUJARATI LETTER UU
+0A8B ; [.205B.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
+0AE0 ; [.205C.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
+0A8C ; [.205D.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
+0AE1 ; [.205E.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
+0A8D ; [.205F.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
+0A8F ; [.2060.0020.0002.0A8F] # GUJARATI LETTER E
+0A90 ; [.2061.0020.0002.0A90] # GUJARATI LETTER AI
+0A91 ; [.2062.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
+0A93 ; [.2063.0020.0002.0A93] # GUJARATI LETTER O
+0A94 ; [.2064.0020.0002.0A94] # GUJARATI LETTER AU
+0A95 ; [.2065.0020.0002.0A95] # GUJARATI LETTER KA
+0A96 ; [.2066.0020.0002.0A96] # GUJARATI LETTER KHA
+0A97 ; [.2067.0020.0002.0A97] # GUJARATI LETTER GA
+0A98 ; [.2068.0020.0002.0A98] # GUJARATI LETTER GHA
+0A99 ; [.2069.0020.0002.0A99] # GUJARATI LETTER NGA
+0A9A ; [.206A.0020.0002.0A9A] # GUJARATI LETTER CA
+0A9B ; [.206B.0020.0002.0A9B] # GUJARATI LETTER CHA
+0A9C ; [.206C.0020.0002.0A9C] # GUJARATI LETTER JA
+0A9D ; [.206D.0020.0002.0A9D] # GUJARATI LETTER JHA
+0A9E ; [.206E.0020.0002.0A9E] # GUJARATI LETTER NYA
+0A9F ; [.206F.0020.0002.0A9F] # GUJARATI LETTER TTA
+0AA0 ; [.2070.0020.0002.0AA0] # GUJARATI LETTER TTHA
+0AA1 ; [.2071.0020.0002.0AA1] # GUJARATI LETTER DDA
+0AA2 ; [.2072.0020.0002.0AA2] # GUJARATI LETTER DDHA
+0AA3 ; [.2073.0020.0002.0AA3] # GUJARATI LETTER NNA
+0AA4 ; [.2074.0020.0002.0AA4] # GUJARATI LETTER TA
+0AA5 ; [.2075.0020.0002.0AA5] # GUJARATI LETTER THA
+0AA6 ; [.2076.0020.0002.0AA6] # GUJARATI LETTER DA
+0AA7 ; [.2077.0020.0002.0AA7] # GUJARATI LETTER DHA
+0AA8 ; [.2078.0020.0002.0AA8] # GUJARATI LETTER NA
+0AAA ; [.2079.0020.0002.0AAA] # GUJARATI LETTER PA
+0AAB ; [.207A.0020.0002.0AAB] # GUJARATI LETTER PHA
+0AAC ; [.207B.0020.0002.0AAC] # GUJARATI LETTER BA
+0AAD ; [.207C.0020.0002.0AAD] # GUJARATI LETTER BHA
+0AAE ; [.207D.0020.0002.0AAE] # GUJARATI LETTER MA
+0AAF ; [.207E.0020.0002.0AAF] # GUJARATI LETTER YA
+0AB0 ; [.207F.0020.0002.0AB0] # GUJARATI LETTER RA
+0AB2 ; [.2080.0020.0002.0AB2] # GUJARATI LETTER LA
+0AB5 ; [.2081.0020.0002.0AB5] # GUJARATI LETTER VA
+0AB6 ; [.2082.0020.0002.0AB6] # GUJARATI LETTER SHA
+0AB7 ; [.2083.0020.0002.0AB7] # GUJARATI LETTER SSA
+0AB8 ; [.2084.0020.0002.0AB8] # GUJARATI LETTER SA
+0AB9 ; [.2085.0020.0002.0AB9] # GUJARATI LETTER HA
+0AB3 ; [.2086.0020.0002.0AB3] # GUJARATI LETTER LLA
+0ABD ; [.2087.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
+0ABE ; [.2088.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
+0ABF ; [.2089.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
+0AC0 ; [.208A.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
+0AC1 ; [.208B.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
+0AC2 ; [.208C.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
+0AC3 ; [.208D.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
+0AC4 ; [.208E.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
+0AE2 ; [.208F.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
+0AE3 ; [.2090.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
+0AC5 ; [.2091.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
+0AC7 ; [.2092.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
+0AC8 ; [.2093.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
+0AC9 ; [.2094.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
+0ACB ; [.2095.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
+0ACC ; [.2096.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
+0ACD ; [.2097.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
+0B05 ; [.2098.0020.0002.0B05] # ORIYA LETTER A
+0B06 ; [.2099.0020.0002.0B06] # ORIYA LETTER AA
+0B07 ; [.209A.0020.0002.0B07] # ORIYA LETTER I
+0B08 ; [.209B.0020.0002.0B08] # ORIYA LETTER II
+0B09 ; [.209C.0020.0002.0B09] # ORIYA LETTER U
+0B0A ; [.209D.0020.0002.0B0A] # ORIYA LETTER UU
+0B0B ; [.209E.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
+0B60 ; [.209F.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
+0B0C ; [.20A0.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
+0B61 ; [.20A1.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
+0B0F ; [.20A2.0020.0002.0B0F] # ORIYA LETTER E
+0B10 ; [.20A3.0020.0002.0B10] # ORIYA LETTER AI
+0B13 ; [.20A4.0020.0002.0B13] # ORIYA LETTER O
+0B14 ; [.20A5.0020.0002.0B14] # ORIYA LETTER AU
+0B15 ; [.20A6.0020.0002.0B15] # ORIYA LETTER KA
+0B16 ; [.20A7.0020.0002.0B16] # ORIYA LETTER KHA
+0B17 ; [.20A8.0020.0002.0B17] # ORIYA LETTER GA
+0B18 ; [.20A9.0020.0002.0B18] # ORIYA LETTER GHA
+0B19 ; [.20AA.0020.0002.0B19] # ORIYA LETTER NGA
+0B1A ; [.20AB.0020.0002.0B1A] # ORIYA LETTER CA
+0B1B ; [.20AC.0020.0002.0B1B] # ORIYA LETTER CHA
+0B1C ; [.20AD.0020.0002.0B1C] # ORIYA LETTER JA
+0B1D ; [.20AE.0020.0002.0B1D] # ORIYA LETTER JHA
+0B1E ; [.20AF.0020.0002.0B1E] # ORIYA LETTER NYA
+0B1F ; [.20B0.0020.0002.0B1F] # ORIYA LETTER TTA
+0B20 ; [.20B1.0020.0002.0B20] # ORIYA LETTER TTHA
+0B21 ; [.20B2.0020.0002.0B21] # ORIYA LETTER DDA
+0B5C ; [.20B2.0020.0002.0B21][.0000.00EF.0002.0B3C] # ORIYA LETTER RRA; QQCM
+0B22 ; [.20B3.0020.0002.0B22] # ORIYA LETTER DDHA
+0B5D ; [.20B3.0020.0002.0B22][.0000.00EF.0002.0B3C] # ORIYA LETTER RHA; QQCM
+0B23 ; [.20B4.0020.0002.0B23] # ORIYA LETTER NNA
+0B24 ; [.20B5.0020.0002.0B24] # ORIYA LETTER TA
+0B25 ; [.20B6.0020.0002.0B25] # ORIYA LETTER THA
+0B26 ; [.20B7.0020.0002.0B26] # ORIYA LETTER DA
+0B27 ; [.20B8.0020.0002.0B27] # ORIYA LETTER DHA
+0B28 ; [.20B9.0020.0002.0B28] # ORIYA LETTER NA
+0B2A ; [.20BA.0020.0002.0B2A] # ORIYA LETTER PA
+0B2B ; [.20BB.0020.0002.0B2B] # ORIYA LETTER PHA
+0B2C ; [.20BC.0020.0002.0B2C] # ORIYA LETTER BA
+0B2D ; [.20BD.0020.0002.0B2D] # ORIYA LETTER BHA
+0B2E ; [.20BE.0020.0002.0B2E] # ORIYA LETTER MA
+0B2F ; [.20BF.0020.0002.0B2F] # ORIYA LETTER YA
+0B5F ; [.20C0.0020.0002.0B5F] # ORIYA LETTER YYA
+0B30 ; [.20C1.0020.0002.0B30] # ORIYA LETTER RA
+0B32 ; [.20C2.0020.0002.0B32] # ORIYA LETTER LA
+0B33 ; [.20C3.0020.0002.0B33] # ORIYA LETTER LLA
+0B35 ; [.20C4.0020.0002.0B35] # ORIYA LETTER VA
+0B71 ; [.20C5.0020.0002.0B71] # ORIYA LETTER WA
+0B36 ; [.20C6.0020.0002.0B36] # ORIYA LETTER SHA
+0B37 ; [.20C7.0020.0002.0B37] # ORIYA LETTER SSA
+0B38 ; [.20C8.0020.0002.0B38] # ORIYA LETTER SA
+0B39 ; [.20C9.0020.0002.0B39] # ORIYA LETTER HA
+0B3D ; [.20CA.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
+0B3E ; [.20CB.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
+0B3F ; [.20CC.0020.0002.0B3F] # ORIYA VOWEL SIGN I
+0B40 ; [.20CD.0020.0002.0B40] # ORIYA VOWEL SIGN II
+0B41 ; [.20CE.0020.0002.0B41] # ORIYA VOWEL SIGN U
+0B42 ; [.20CF.0020.0002.0B42] # ORIYA VOWEL SIGN UU
+0B43 ; [.20D0.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
+0B44 ; [.20D1.0020.0002.0B44] # ORIYA VOWEL SIGN VOCALIC RR
+0B62 ; [.20D2.0020.0002.0B62] # ORIYA VOWEL SIGN VOCALIC L
+0B63 ; [.20D3.0020.0002.0B63] # ORIYA VOWEL SIGN VOCALIC LL
+0B47 ; [.20D4.0020.0002.0B47] # ORIYA VOWEL SIGN E
+0B48 ; [.20D5.0020.0002.0B48] # ORIYA VOWEL SIGN AI
+0B47 0B56 ; [.20D5.0020.0002.0B48] # ORIYA VOWEL SIGN AI
+0B4B ; [.20D6.0020.0002.0B4B] # ORIYA VOWEL SIGN O
+0B47 0B3E ; [.20D6.0020.0002.0B4B] # ORIYA VOWEL SIGN O
+0B4C ; [.20D7.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
+0B47 0B57 ; [.20D7.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
+0B4D ; [.20D8.0020.0002.0B4D] # ORIYA SIGN VIRAMA
+0B56 ; [.20D9.0020.0002.0B56] # ORIYA AI LENGTH MARK
+0B57 ; [.20DA.0020.0002.0B57] # ORIYA AU LENGTH MARK
+0BD0 ; [.20DB.0020.0002.0BD0] # TAMIL OM
+0B85 ; [.20DC.0020.0002.0B85] # TAMIL LETTER A
+0B86 ; [.20DD.0020.0002.0B86] # TAMIL LETTER AA
+0B87 ; [.20DE.0020.0002.0B87] # TAMIL LETTER I
+0B88 ; [.20DF.0020.0002.0B88] # TAMIL LETTER II
+0B89 ; [.20E0.0020.0002.0B89] # TAMIL LETTER U
+0B8A ; [.20E1.0020.0002.0B8A] # TAMIL LETTER UU
+0B8E ; [.20E2.0020.0002.0B8E] # TAMIL LETTER E
+0B8F ; [.20E3.0020.0002.0B8F] # TAMIL LETTER EE
+0B90 ; [.20E4.0020.0002.0B90] # TAMIL LETTER AI
+0B92 ; [.20E5.0020.0002.0B92] # TAMIL LETTER O
+0B93 ; [.20E6.0020.0002.0B93] # TAMIL LETTER OO
+0B94 ; [.20E7.0020.0002.0B94] # TAMIL LETTER AU
+0B92 0BD7 ; [.20E7.0020.0002.0B94] # TAMIL LETTER AU
+0B83 ; [.20E8.0020.0002.0B83] # TAMIL SIGN VISARGA
+0B95 ; [.20E9.0020.0002.0B95] # TAMIL LETTER KA
+0B99 ; [.20EA.0020.0002.0B99] # TAMIL LETTER NGA
+0B9A ; [.20EB.0020.0002.0B9A] # TAMIL LETTER CA
+0B9E ; [.20EC.0020.0002.0B9E] # TAMIL LETTER NYA
+0B9F ; [.20ED.0020.0002.0B9F] # TAMIL LETTER TTA
+0BA3 ; [.20EE.0020.0002.0BA3] # TAMIL LETTER NNA
+0BA4 ; [.20EF.0020.0002.0BA4] # TAMIL LETTER TA
+0BA8 ; [.20F0.0020.0002.0BA8] # TAMIL LETTER NA
+0BAA ; [.20F1.0020.0002.0BAA] # TAMIL LETTER PA
+0BAE ; [.20F2.0020.0002.0BAE] # TAMIL LETTER MA
+0BAF ; [.20F3.0020.0002.0BAF] # TAMIL LETTER YA
+0BB0 ; [.20F4.0020.0002.0BB0] # TAMIL LETTER RA
+0BB2 ; [.20F5.0020.0002.0BB2] # TAMIL LETTER LA
+0BB5 ; [.20F6.0020.0002.0BB5] # TAMIL LETTER VA
+0BB4 ; [.20F7.0020.0002.0BB4] # TAMIL LETTER LLLA
+0BB3 ; [.20F8.0020.0002.0BB3] # TAMIL LETTER LLA
+0BB1 ; [.20F9.0020.0002.0BB1] # TAMIL LETTER RRA
+0BA9 ; [.20FA.0020.0002.0BA9] # TAMIL LETTER NNNA
+0B9C ; [.20FB.0020.0002.0B9C] # TAMIL LETTER JA
+0BB6 ; [.20FC.0020.0002.0BB6] # TAMIL LETTER SHA
+0BB7 ; [.20FD.0020.0002.0BB7] # TAMIL LETTER SSA
+0BB8 ; [.20FE.0020.0002.0BB8] # TAMIL LETTER SA
+0BB9 ; [.20FF.0020.0002.0BB9] # TAMIL LETTER HA
+0BBE ; [.2100.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
+0BBF ; [.2101.0020.0002.0BBF] # TAMIL VOWEL SIGN I
+0BC0 ; [.2102.0020.0002.0BC0] # TAMIL VOWEL SIGN II
+0BC1 ; [.2103.0020.0002.0BC1] # TAMIL VOWEL SIGN U
+0BC2 ; [.2104.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
+0BC6 ; [.2105.0020.0002.0BC6] # TAMIL VOWEL SIGN E
+0BC7 ; [.2106.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
+0BC8 ; [.2107.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
+0BCA ; [.2108.0020.0002.0BCA] # TAMIL VOWEL SIGN O
+0BC6 0BBE ; [.2108.0020.0002.0BCA] # TAMIL VOWEL SIGN O
+0BCB ; [.2109.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
+0BC7 0BBE ; [.2109.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
+0BCC ; [.210A.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
+0BC6 0BD7 ; [.210A.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
+0BCD ; [.210B.0020.0002.0BCD] # TAMIL SIGN VIRAMA
+0BD7 ; [.210C.0020.0002.0BD7] # TAMIL AU LENGTH MARK
+0C05 ; [.210D.0020.0002.0C05] # TELUGU LETTER A
+0C06 ; [.210E.0020.0002.0C06] # TELUGU LETTER AA
+0C07 ; [.210F.0020.0002.0C07] # TELUGU LETTER I
+0C08 ; [.2110.0020.0002.0C08] # TELUGU LETTER II
+0C09 ; [.2111.0020.0002.0C09] # TELUGU LETTER U
+0C0A ; [.2112.0020.0002.0C0A] # TELUGU LETTER UU
+0C0B ; [.2113.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
+0C60 ; [.2114.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
+0C0C ; [.2115.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
+0C61 ; [.2116.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
+0C0E ; [.2117.0020.0002.0C0E] # TELUGU LETTER E
+0C0F ; [.2118.0020.0002.0C0F] # TELUGU LETTER EE
+0C10 ; [.2119.0020.0002.0C10] # TELUGU LETTER AI
+0C12 ; [.211A.0020.0002.0C12] # TELUGU LETTER O
+0C13 ; [.211B.0020.0002.0C13] # TELUGU LETTER OO
+0C14 ; [.211C.0020.0002.0C14] # TELUGU LETTER AU
+0C15 ; [.211D.0020.0002.0C15] # TELUGU LETTER KA
+0C16 ; [.211E.0020.0002.0C16] # TELUGU LETTER KHA
+0C17 ; [.211F.0020.0002.0C17] # TELUGU LETTER GA
+0C18 ; [.2120.0020.0002.0C18] # TELUGU LETTER GHA
+0C19 ; [.2121.0020.0002.0C19] # TELUGU LETTER NGA
+0C1A ; [.2122.0020.0002.0C1A] # TELUGU LETTER CA
+0C58 ; [.2123.0020.0002.0C58] # TELUGU LETTER TSA
+0C1B ; [.2124.0020.0002.0C1B] # TELUGU LETTER CHA
+0C1C ; [.2125.0020.0002.0C1C] # TELUGU LETTER JA
+0C59 ; [.2126.0020.0002.0C59] # TELUGU LETTER DZA
+0C1D ; [.2127.0020.0002.0C1D] # TELUGU LETTER JHA
+0C1E ; [.2128.0020.0002.0C1E] # TELUGU LETTER NYA
+0C1F ; [.2129.0020.0002.0C1F] # TELUGU LETTER TTA
+0C20 ; [.212A.0020.0002.0C20] # TELUGU LETTER TTHA
+0C21 ; [.212B.0020.0002.0C21] # TELUGU LETTER DDA
+0C22 ; [.212C.0020.0002.0C22] # TELUGU LETTER DDHA
+0C23 ; [.212D.0020.0002.0C23] # TELUGU LETTER NNA
+0C24 ; [.212E.0020.0002.0C24] # TELUGU LETTER TA
+0C25 ; [.212F.0020.0002.0C25] # TELUGU LETTER THA
+0C26 ; [.2130.0020.0002.0C26] # TELUGU LETTER DA
+0C27 ; [.2131.0020.0002.0C27] # TELUGU LETTER DHA
+0C28 ; [.2132.0020.0002.0C28] # TELUGU LETTER NA
+0C2A ; [.2133.0020.0002.0C2A] # TELUGU LETTER PA
+0C2B ; [.2134.0020.0002.0C2B] # TELUGU LETTER PHA
+0C2C ; [.2135.0020.0002.0C2C] # TELUGU LETTER BA
+0C2D ; [.2136.0020.0002.0C2D] # TELUGU LETTER BHA
+0C2E ; [.2137.0020.0002.0C2E] # TELUGU LETTER MA
+0C2F ; [.2138.0020.0002.0C2F] # TELUGU LETTER YA
+0C30 ; [.2139.0020.0002.0C30] # TELUGU LETTER RA
+0C31 ; [.213A.0020.0002.0C31] # TELUGU LETTER RRA
+0C32 ; [.213B.0020.0002.0C32] # TELUGU LETTER LA
+0C35 ; [.213C.0020.0002.0C35] # TELUGU LETTER VA
+0C36 ; [.213D.0020.0002.0C36] # TELUGU LETTER SHA
+0C37 ; [.213E.0020.0002.0C37] # TELUGU LETTER SSA
+0C38 ; [.213F.0020.0002.0C38] # TELUGU LETTER SA
+0C39 ; [.2140.0020.0002.0C39] # TELUGU LETTER HA
+0C33 ; [.2141.0020.0002.0C33] # TELUGU LETTER LLA
+0C3D ; [.2142.0020.0002.0C3D] # TELUGU SIGN AVAGRAHA
+0C3E ; [.2143.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
+0C3F ; [.2144.0020.0002.0C3F] # TELUGU VOWEL SIGN I
+0C40 ; [.2145.0020.0002.0C40] # TELUGU VOWEL SIGN II
+0C41 ; [.2146.0020.0002.0C41] # TELUGU VOWEL SIGN U
+0C42 ; [.2147.0020.0002.0C42] # TELUGU VOWEL SIGN UU
+0C43 ; [.2148.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
+0C44 ; [.2149.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
+0C62 ; [.214A.0020.0002.0C62] # TELUGU VOWEL SIGN VOCALIC L
+0C63 ; [.214B.0020.0002.0C63] # TELUGU VOWEL SIGN VOCALIC LL
+0C46 ; [.214C.0020.0002.0C46] # TELUGU VOWEL SIGN E
+0C47 ; [.214D.0020.0002.0C47] # TELUGU VOWEL SIGN EE
+0C48 ; [.214E.0020.0002.0C48] # TELUGU VOWEL SIGN AI
+0C46 0C56 ; [.214E.0020.0002.0C48] # TELUGU VOWEL SIGN AI
+0C4A ; [.214F.0020.0002.0C4A] # TELUGU VOWEL SIGN O
+0C4B ; [.2150.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
+0C4C ; [.2151.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
+0C4D ; [.2152.0020.0002.0C4D] # TELUGU SIGN VIRAMA
+0C55 ; [.2153.0020.0002.0C55] # TELUGU LENGTH MARK
+0C56 ; [.2154.0020.0002.0C56] # TELUGU AI LENGTH MARK
+0C85 ; [.2155.0020.0002.0C85] # KANNADA LETTER A
+0C86 ; [.2156.0020.0002.0C86] # KANNADA LETTER AA
+0C87 ; [.2157.0020.0002.0C87] # KANNADA LETTER I
+0C88 ; [.2158.0020.0002.0C88] # KANNADA LETTER II
+0C89 ; [.2159.0020.0002.0C89] # KANNADA LETTER U
+0C8A ; [.215A.0020.0002.0C8A] # KANNADA LETTER UU
+0C8B ; [.215B.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
+0CE0 ; [.215C.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
+0C8C ; [.215D.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
+0CE1 ; [.215E.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
+0C8E ; [.215F.0020.0002.0C8E] # KANNADA LETTER E
+0C8F ; [.2160.0020.0002.0C8F] # KANNADA LETTER EE
+0C90 ; [.2161.0020.0002.0C90] # KANNADA LETTER AI
+0C92 ; [.2162.0020.0002.0C92] # KANNADA LETTER O
+0C93 ; [.2163.0020.0002.0C93] # KANNADA LETTER OO
+0C94 ; [.2164.0020.0002.0C94] # KANNADA LETTER AU
+0C95 ; [.2165.0020.0002.0C95] # KANNADA LETTER KA
+0C96 ; [.2166.0020.0002.0C96] # KANNADA LETTER KHA
+0C97 ; [.2167.0020.0002.0C97] # KANNADA LETTER GA
+0C98 ; [.2168.0020.0002.0C98] # KANNADA LETTER GHA
+0C99 ; [.2169.0020.0002.0C99] # KANNADA LETTER NGA
+0C9A ; [.216A.0020.0002.0C9A] # KANNADA LETTER CA
+0C9B ; [.216B.0020.0002.0C9B] # KANNADA LETTER CHA
+0C9C ; [.216C.0020.0002.0C9C] # KANNADA LETTER JA
+0C9D ; [.216D.0020.0002.0C9D] # KANNADA LETTER JHA
+0C9E ; [.216E.0020.0002.0C9E] # KANNADA LETTER NYA
+0C9F ; [.216F.0020.0002.0C9F] # KANNADA LETTER TTA
+0CA0 ; [.2170.0020.0002.0CA0] # KANNADA LETTER TTHA
+0CA1 ; [.2171.0020.0002.0CA1] # KANNADA LETTER DDA
+0CA2 ; [.2172.0020.0002.0CA2] # KANNADA LETTER DDHA
+0CA3 ; [.2173.0020.0002.0CA3] # KANNADA LETTER NNA
+0CA4 ; [.2174.0020.0002.0CA4] # KANNADA LETTER TA
+0CA5 ; [.2175.0020.0002.0CA5] # KANNADA LETTER THA
+0CA6 ; [.2176.0020.0002.0CA6] # KANNADA LETTER DA
+0CA7 ; [.2177.0020.0002.0CA7] # KANNADA LETTER DHA
+0CA8 ; [.2178.0020.0002.0CA8] # KANNADA LETTER NA
+0CAA ; [.2179.0020.0002.0CAA] # KANNADA LETTER PA
+0CAB ; [.217A.0020.0002.0CAB] # KANNADA LETTER PHA
+0CAC ; [.217B.0020.0002.0CAC] # KANNADA LETTER BA
+0CAD ; [.217C.0020.0002.0CAD] # KANNADA LETTER BHA
+0CAE ; [.217D.0020.0002.0CAE] # KANNADA LETTER MA
+0CAF ; [.217E.0020.0002.0CAF] # KANNADA LETTER YA
+0CB0 ; [.217F.0020.0002.0CB0] # KANNADA LETTER RA
+0CB1 ; [.2180.0020.0002.0CB1] # KANNADA LETTER RRA
+0CB2 ; [.2181.0020.0002.0CB2] # KANNADA LETTER LA
+0CB5 ; [.2182.0020.0002.0CB5] # KANNADA LETTER VA
+0CB6 ; [.2183.0020.0002.0CB6] # KANNADA LETTER SHA
+0CB7 ; [.2184.0020.0002.0CB7] # KANNADA LETTER SSA
+0CB8 ; [.2185.0020.0002.0CB8] # KANNADA LETTER SA
+0CB9 ; [.2186.0020.0002.0CB9] # KANNADA LETTER HA
+0CB3 ; [.2187.0020.0002.0CB3] # KANNADA LETTER LLA
+0CDE ; [.2188.0020.0002.0CDE] # KANNADA LETTER FA
+0CBD ; [.2189.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
+0CF1 ; [.218A.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
+0CF2 ; [.218B.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
+0CBE ; [.218C.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
+0CBF ; [.218D.0020.0002.0CBF] # KANNADA VOWEL SIGN I
+0CC0 ; [.218E.0020.0002.0CC0] # KANNADA VOWEL SIGN II
+0CBF 0CD5 ; [.218E.0020.0002.0CC0] # KANNADA VOWEL SIGN II
+0CC1 ; [.218F.0020.0002.0CC1] # KANNADA VOWEL SIGN U
+0CC2 ; [.2190.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
+0CC3 ; [.2191.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
+0CC4 ; [.2192.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
+0CE2 ; [.2193.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
+0CE3 ; [.2194.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
+0CC6 ; [.2195.0020.0002.0CC6] # KANNADA VOWEL SIGN E
+0CC7 ; [.2196.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
+0CC6 0CD5 ; [.2196.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
+0CC8 ; [.2197.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
+0CC6 0CD6 ; [.2197.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
+0CCA ; [.2198.0020.0002.0CCA] # KANNADA VOWEL SIGN O
+0CC6 0CC2 ; [.2198.0020.0002.0CCA] # KANNADA VOWEL SIGN O
+0CCB ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CC6 0CC2 0CD5 ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CCA 0CD5 ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CCC ; [.219A.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
+0CCD ; [.219B.0020.0002.0CCD] # KANNADA SIGN VIRAMA
+0CD5 ; [.219C.0020.0002.0CD5] # KANNADA LENGTH MARK
+0CD6 ; [.219D.0020.0002.0CD6] # KANNADA AI LENGTH MARK
+0D05 ; [.219E.0020.0002.0D05] # MALAYALAM LETTER A
+0D06 ; [.219F.0020.0002.0D06] # MALAYALAM LETTER AA
+0D07 ; [.21A0.0020.0002.0D07] # MALAYALAM LETTER I
+0D08 ; [.21A1.0020.0002.0D08] # MALAYALAM LETTER II
+0D09 ; [.21A2.0020.0002.0D09] # MALAYALAM LETTER U
+0D0A ; [.21A3.0020.0002.0D0A] # MALAYALAM LETTER UU
+0D0B ; [.21A4.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
+0D60 ; [.21A5.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
+0D0C ; [.21A6.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
+0D61 ; [.21A7.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
+0D0E ; [.21A8.0020.0002.0D0E] # MALAYALAM LETTER E
+0D0F ; [.21A9.0020.0002.0D0F] # MALAYALAM LETTER EE
+0D10 ; [.21AA.0020.0002.0D10] # MALAYALAM LETTER AI
+0D12 ; [.21AB.0020.0002.0D12] # MALAYALAM LETTER O
+0D13 ; [.21AC.0020.0002.0D13] # MALAYALAM LETTER OO
+0D14 ; [.21AD.0020.0002.0D14] # MALAYALAM LETTER AU
+0D15 ; [.21AE.0020.0002.0D15] # MALAYALAM LETTER KA
+0D7F ; [.21AE.0020.0004.0D7F][.21E5.0020.0004.0D7F] # MALAYALAM LETTER CHILLU K; QQKN
+0D16 ; [.21AF.0020.0002.0D16] # MALAYALAM LETTER KHA
+0D17 ; [.21B0.0020.0002.0D17] # MALAYALAM LETTER GA
+0D18 ; [.21B1.0020.0002.0D18] # MALAYALAM LETTER GHA
+0D19 ; [.21B2.0020.0002.0D19] # MALAYALAM LETTER NGA
+0D1A ; [.21B3.0020.0002.0D1A] # MALAYALAM LETTER CA
+0D1B ; [.21B4.0020.0002.0D1B] # MALAYALAM LETTER CHA
+0D1C ; [.21B5.0020.0002.0D1C] # MALAYALAM LETTER JA
+0D1D ; [.21B6.0020.0002.0D1D] # MALAYALAM LETTER JHA
+0D1E ; [.21B7.0020.0002.0D1E] # MALAYALAM LETTER NYA
+0D1F ; [.21B8.0020.0002.0D1F] # MALAYALAM LETTER TTA
+0D20 ; [.21B9.0020.0002.0D20] # MALAYALAM LETTER TTHA
+0D21 ; [.21BA.0020.0002.0D21] # MALAYALAM LETTER DDA
+0D22 ; [.21BB.0020.0002.0D22] # MALAYALAM LETTER DDHA
+0D23 ; [.21BC.0020.0002.0D23] # MALAYALAM LETTER NNA
+0D7A ; [.21BC.0020.0004.0D7A][.21E5.0020.0004.0D7A] # MALAYALAM LETTER CHILLU NN; QQKN
+0D24 ; [.21BD.0020.0002.0D24] # MALAYALAM LETTER TA
+0D25 ; [.21BE.0020.0002.0D25] # MALAYALAM LETTER THA
+0D26 ; [.21BF.0020.0002.0D26] # MALAYALAM LETTER DA
+0D27 ; [.21C0.0020.0002.0D27] # MALAYALAM LETTER DHA
+0D28 ; [.21C1.0020.0002.0D28] # MALAYALAM LETTER NA
+0D7B ; [.21C1.0020.0004.0D7B][.21E5.0020.0004.0D7B] # MALAYALAM LETTER CHILLU N; QQKN
+0D29 ; [.21C2.0020.0002.0D29] # MALAYALAM LETTER NNNA
+0D2A ; [.21C3.0020.0002.0D2A] # MALAYALAM LETTER PA
+0D2B ; [.21C4.0020.0002.0D2B] # MALAYALAM LETTER PHA
+0D2C ; [.21C5.0020.0002.0D2C] # MALAYALAM LETTER BA
+0D2D ; [.21C6.0020.0002.0D2D] # MALAYALAM LETTER BHA
+0D2E ; [.21C7.0020.0002.0D2E] # MALAYALAM LETTER MA
+0D2F ; [.21C8.0020.0002.0D2F] # MALAYALAM LETTER YA
+0D30 ; [.21C9.0020.0002.0D30] # MALAYALAM LETTER RA
+0D4E ; [.21C9.0020.0004.0D4E][.21E5.0020.0004.0D4E] # MALAYALAM LETTER DOT REPH; QQKN
+0D7C ; [.21C9.0020.0004.0D7C][.21E5.0020.0004.0D7C] # MALAYALAM LETTER CHILLU RR; QQKN
+0D32 ; [.21CA.0020.0002.0D32] # MALAYALAM LETTER LA
+0D7D ; [.21CA.0020.0004.0D7D][.21E5.0020.0004.0D7D] # MALAYALAM LETTER CHILLU L; QQKN
+0D35 ; [.21CB.0020.0002.0D35] # MALAYALAM LETTER VA
+0D36 ; [.21CC.0020.0002.0D36] # MALAYALAM LETTER SHA
+0D37 ; [.21CD.0020.0002.0D37] # MALAYALAM LETTER SSA
+0D38 ; [.21CE.0020.0002.0D38] # MALAYALAM LETTER SA
+0D39 ; [.21CF.0020.0002.0D39] # MALAYALAM LETTER HA
+0D33 ; [.21D0.0020.0002.0D33] # MALAYALAM LETTER LLA
+0D7E ; [.21D0.0020.0004.0D7E][.21E5.0020.0004.0D7E] # MALAYALAM LETTER CHILLU LL; QQKN
+0D34 ; [.21D1.0020.0002.0D34] # MALAYALAM LETTER LLLA
+0D31 ; [.21D2.0020.0002.0D31] # MALAYALAM LETTER RRA
+0D3A ; [.21D3.0020.0002.0D3A] # MALAYALAM LETTER TTTA
+0D3D ; [.21D4.0020.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
+0D3E ; [.21D5.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
+0D3F ; [.21D6.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
+0D40 ; [.21D7.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
+0D41 ; [.21D8.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
+0D42 ; [.21D9.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
+0D43 ; [.21DA.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
+0D44 ; [.21DB.0020.0002.0D44] # MALAYALAM VOWEL SIGN VOCALIC RR
+0D62 ; [.21DC.0020.0002.0D62] # MALAYALAM VOWEL SIGN VOCALIC L
+0D63 ; [.21DD.0020.0002.0D63] # MALAYALAM VOWEL SIGN VOCALIC LL
+0D46 ; [.21DE.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
+0D47 ; [.21DF.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
+0D48 ; [.21E0.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
+0D4A ; [.21E1.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
+0D46 0D3E ; [.21E1.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
+0D4B ; [.21E2.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
+0D47 0D3E ; [.21E2.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
+0D4C ; [.21E3.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.21E3.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
+0D57 ; [.21E4.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
+0D4D ; [.21E5.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
+0D85 ; [.21E6.0020.0002.0D85] # SINHALA LETTER AYANNA
+0D86 ; [.21E7.0020.0002.0D86] # SINHALA LETTER AAYANNA
+0D87 ; [.21E8.0020.0002.0D87] # SINHALA LETTER AEYANNA
+0D88 ; [.21E9.0020.0002.0D88] # SINHALA LETTER AEEYANNA
+0D89 ; [.21EA.0020.0002.0D89] # SINHALA LETTER IYANNA
+0D8A ; [.21EB.0020.0002.0D8A] # SINHALA LETTER IIYANNA
+0D8B ; [.21EC.0020.0002.0D8B] # SINHALA LETTER UYANNA
+0D8C ; [.21ED.0020.0002.0D8C] # SINHALA LETTER UUYANNA
+0D8D ; [.21EE.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
+0D8E ; [.21EF.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
+0D8F ; [.21F0.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
+0D90 ; [.21F1.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
+0D91 ; [.21F2.0020.0002.0D91] # SINHALA LETTER EYANNA
+0D92 ; [.21F3.0020.0002.0D92] # SINHALA LETTER EEYANNA
+0D93 ; [.21F4.0020.0002.0D93] # SINHALA LETTER AIYANNA
+0D94 ; [.21F5.0020.0002.0D94] # SINHALA LETTER OYANNA
+0D95 ; [.21F6.0020.0002.0D95] # SINHALA LETTER OOYANNA
+0D96 ; [.21F7.0020.0002.0D96] # SINHALA LETTER AUYANNA
+0D9A ; [.21F8.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
+0D9B ; [.21F9.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
+0D9C ; [.21FA.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
+0D9D ; [.21FB.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
+0D9E ; [.21FC.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
+0D9F ; [.21FD.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
+0DA0 ; [.21FE.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
+0DA1 ; [.21FF.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
+0DA2 ; [.2200.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
+0DA3 ; [.2201.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
+0DA4 ; [.2202.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
+0DA5 ; [.2203.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA6 ; [.2204.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
+0DA7 ; [.2205.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
+0DA8 ; [.2206.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
+0DA9 ; [.2207.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
+0DAA ; [.2208.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
+0DAB ; [.2209.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
+0DAC ; [.220A.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
+0DAD ; [.220B.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
+0DAE ; [.220C.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
+0DAF ; [.220D.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
+0DB0 ; [.220E.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
+0DB1 ; [.220F.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
+0DB3 ; [.2210.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
+0DB4 ; [.2211.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
+0DB5 ; [.2212.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
+0DB6 ; [.2213.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
+0DB7 ; [.2214.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
+0DB8 ; [.2215.0020.0002.0DB8] # SINHALA LETTER MAYANNA
+0DB9 ; [.2216.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
+0DBA ; [.2217.0020.0002.0DBA] # SINHALA LETTER YAYANNA
+0DBB ; [.2218.0020.0002.0DBB] # SINHALA LETTER RAYANNA
+0DBD ; [.2219.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
+0DC0 ; [.221A.0020.0002.0DC0] # SINHALA LETTER VAYANNA
+0DC1 ; [.221B.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
+0DC2 ; [.221C.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
+0DC3 ; [.221D.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
+0DC4 ; [.221E.0020.0002.0DC4] # SINHALA LETTER HAYANNA
+0DC5 ; [.221F.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
+0DC6 ; [.2220.0020.0002.0DC6] # SINHALA LETTER FAYANNA
+0DCF ; [.2221.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
+0DD0 ; [.2222.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
+0DD1 ; [.2223.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2 ; [.2224.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
+0DD3 ; [.2225.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
+0DD4 ; [.2226.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6 ; [.2227.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8 ; [.2228.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
+0DF2 ; [.2229.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+0DDF ; [.222A.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
+0DF3 ; [.222B.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0DD9 ; [.222C.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
+0DDA ; [.222D.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DD9 0DCA ; [.222D.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DDB ; [.222E.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
+0DDC ; [.222F.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DD9 0DCF ; [.222F.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DDD ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DD9 0DCF 0DCA ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDC 0DCA ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDE ; [.2231.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DD9 0DDF ; [.2231.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DCA ; [.2232.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
+ABC0 ; [.2233.0020.0002.ABC0] # MEETEI MAYEK LETTER KOK
+ABC1 ; [.2234.0020.0002.ABC1] # MEETEI MAYEK LETTER SAM
+ABC2 ; [.2235.0020.0002.ABC2] # MEETEI MAYEK LETTER LAI
+ABC3 ; [.2236.0020.0002.ABC3] # MEETEI MAYEK LETTER MIT
+ABC4 ; [.2237.0020.0002.ABC4] # MEETEI MAYEK LETTER PA
+ABC5 ; [.2238.0020.0002.ABC5] # MEETEI MAYEK LETTER NA
+ABC6 ; [.2239.0020.0002.ABC6] # MEETEI MAYEK LETTER CHIL
+ABC7 ; [.223A.0020.0002.ABC7] # MEETEI MAYEK LETTER TIL
+ABC8 ; [.223B.0020.0002.ABC8] # MEETEI MAYEK LETTER KHOU
+ABC9 ; [.223C.0020.0002.ABC9] # MEETEI MAYEK LETTER NGOU
+ABCA ; [.223D.0020.0002.ABCA] # MEETEI MAYEK LETTER THOU
+ABCB ; [.223E.0020.0002.ABCB] # MEETEI MAYEK LETTER WAI
+ABCC ; [.223F.0020.0002.ABCC] # MEETEI MAYEK LETTER YANG
+ABCD ; [.2240.0020.0002.ABCD] # MEETEI MAYEK LETTER HUK
+ABCE ; [.2241.0020.0002.ABCE] # MEETEI MAYEK LETTER UN
+ABCF ; [.2242.0020.0002.ABCF] # MEETEI MAYEK LETTER I
+ABD0 ; [.2243.0020.0002.ABD0] # MEETEI MAYEK LETTER PHAM
+ABD1 ; [.2244.0020.0002.ABD1] # MEETEI MAYEK LETTER ATIYA
+ABD2 ; [.2245.0020.0002.ABD2] # MEETEI MAYEK LETTER GOK
+ABD3 ; [.2246.0020.0002.ABD3] # MEETEI MAYEK LETTER JHAM
+ABD4 ; [.2247.0020.0002.ABD4] # MEETEI MAYEK LETTER RAI
+ABD5 ; [.2248.0020.0002.ABD5] # MEETEI MAYEK LETTER BA
+ABD6 ; [.2249.0020.0002.ABD6] # MEETEI MAYEK LETTER JIL
+ABD7 ; [.224A.0020.0002.ABD7] # MEETEI MAYEK LETTER DIL
+ABD8 ; [.224B.0020.0002.ABD8] # MEETEI MAYEK LETTER GHOU
+ABD9 ; [.224C.0020.0002.ABD9] # MEETEI MAYEK LETTER DHOU
+ABDA ; [.224D.0020.0002.ABDA] # MEETEI MAYEK LETTER BHAM
+ABE3 ; [.224E.0020.0002.ABE3] # MEETEI MAYEK VOWEL SIGN ONAP
+ABE4 ; [.224F.0020.0002.ABE4] # MEETEI MAYEK VOWEL SIGN INAP
+ABE5 ; [.2250.0020.0002.ABE5] # MEETEI MAYEK VOWEL SIGN ANAP
+ABE6 ; [.2251.0020.0002.ABE6] # MEETEI MAYEK VOWEL SIGN YENAP
+ABE7 ; [.2252.0020.0002.ABE7] # MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8 ; [.2253.0020.0002.ABE8] # MEETEI MAYEK VOWEL SIGN UNAP
+ABE9 ; [.2254.0020.0002.ABE9] # MEETEI MAYEK VOWEL SIGN CHEINAP
+ABEA ; [.2255.0020.0002.ABEA] # MEETEI MAYEK VOWEL SIGN NUNG
+ABDB ; [.2256.0020.0002.ABDB] # MEETEI MAYEK LETTER KOK LONSUM
+ABDC ; [.2257.0020.0002.ABDC] # MEETEI MAYEK LETTER LAI LONSUM
+ABDD ; [.2258.0020.0002.ABDD] # MEETEI MAYEK LETTER MIT LONSUM
+ABDE ; [.2259.0020.0002.ABDE] # MEETEI MAYEK LETTER PA LONSUM
+ABDF ; [.225A.0020.0002.ABDF] # MEETEI MAYEK LETTER NA LONSUM
+ABE0 ; [.225B.0020.0002.ABE0] # MEETEI MAYEK LETTER TIL LONSUM
+ABE1 ; [.225C.0020.0002.ABE1] # MEETEI MAYEK LETTER NGOU LONSUM
+ABE2 ; [.225D.0020.0002.ABE2] # MEETEI MAYEK LETTER I LONSUM
+ABED ; [.225E.0020.0002.ABED] # MEETEI MAYEK APUN IYEK
+A800 ; [.225F.0020.0002.A800] # SYLOTI NAGRI LETTER A
+A801 ; [.2260.0020.0002.A801] # SYLOTI NAGRI LETTER I
+A802 ; [.2261.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
+A803 ; [.2262.0020.0002.A803] # SYLOTI NAGRI LETTER U
+A804 ; [.2263.0020.0002.A804] # SYLOTI NAGRI LETTER E
+A805 ; [.2264.0020.0002.A805] # SYLOTI NAGRI LETTER O
+A806 ; [.2265.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
+A807 ; [.2266.0020.0002.A807] # SYLOTI NAGRI LETTER KO
+A808 ; [.2267.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
+A809 ; [.2268.0020.0002.A809] # SYLOTI NAGRI LETTER GO
+A80A ; [.2269.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
+A80C ; [.226A.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
+A80D ; [.226B.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
+A80E ; [.226C.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
+A80F ; [.226D.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
+A810 ; [.226E.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
+A811 ; [.226F.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
+A812 ; [.2270.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
+A813 ; [.2271.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
+A814 ; [.2272.0020.0002.A814] # SYLOTI NAGRI LETTER TO
+A815 ; [.2273.0020.0002.A815] # SYLOTI NAGRI LETTER THO
+A816 ; [.2274.0020.0002.A816] # SYLOTI NAGRI LETTER DO
+A817 ; [.2275.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
+A818 ; [.2276.0020.0002.A818] # SYLOTI NAGRI LETTER NO
+A819 ; [.2277.0020.0002.A819] # SYLOTI NAGRI LETTER PO
+A81A ; [.2278.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
+A81B ; [.2279.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
+A81C ; [.227A.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
+A81D ; [.227B.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
+A81E ; [.227C.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
+A81F ; [.227D.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
+A820 ; [.227E.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
+A821 ; [.227F.0020.0002.A821] # SYLOTI NAGRI LETTER SO
+A822 ; [.2280.0020.0002.A822] # SYLOTI NAGRI LETTER HO
+A823 ; [.2281.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
+A824 ; [.2282.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
+A825 ; [.2283.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
+A826 ; [.2284.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
+A827 ; [.2285.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
+A882 ; [.2286.0020.0002.A882] # SAURASHTRA LETTER A
+A883 ; [.2287.0020.0002.A883] # SAURASHTRA LETTER AA
+A884 ; [.2288.0020.0002.A884] # SAURASHTRA LETTER I
+A885 ; [.2289.0020.0002.A885] # SAURASHTRA LETTER II
+A886 ; [.228A.0020.0002.A886] # SAURASHTRA LETTER U
+A887 ; [.228B.0020.0002.A887] # SAURASHTRA LETTER UU
+A888 ; [.228C.0020.0002.A888] # SAURASHTRA LETTER VOCALIC R
+A889 ; [.228D.0020.0002.A889] # SAURASHTRA LETTER VOCALIC RR
+A88A ; [.228E.0020.0002.A88A] # SAURASHTRA LETTER VOCALIC L
+A88B ; [.228F.0020.0002.A88B] # SAURASHTRA LETTER VOCALIC LL
+A88C ; [.2290.0020.0002.A88C] # SAURASHTRA LETTER E
+A88D ; [.2291.0020.0002.A88D] # SAURASHTRA LETTER EE
+A88E ; [.2292.0020.0002.A88E] # SAURASHTRA LETTER AI
+A88F ; [.2293.0020.0002.A88F] # SAURASHTRA LETTER O
+A890 ; [.2294.0020.0002.A890] # SAURASHTRA LETTER OO
+A891 ; [.2295.0020.0002.A891] # SAURASHTRA LETTER AU
+A892 ; [.2296.0020.0002.A892] # SAURASHTRA LETTER KA
+A893 ; [.2297.0020.0002.A893] # SAURASHTRA LETTER KHA
+A894 ; [.2298.0020.0002.A894] # SAURASHTRA LETTER GA
+A895 ; [.2299.0020.0002.A895] # SAURASHTRA LETTER GHA
+A896 ; [.229A.0020.0002.A896] # SAURASHTRA LETTER NGA
+A897 ; [.229B.0020.0002.A897] # SAURASHTRA LETTER CA
+A898 ; [.229C.0020.0002.A898] # SAURASHTRA LETTER CHA
+A899 ; [.229D.0020.0002.A899] # SAURASHTRA LETTER JA
+A89A ; [.229E.0020.0002.A89A] # SAURASHTRA LETTER JHA
+A89B ; [.229F.0020.0002.A89B] # SAURASHTRA LETTER NYA
+A89C ; [.22A0.0020.0002.A89C] # SAURASHTRA LETTER TTA
+A89D ; [.22A1.0020.0002.A89D] # SAURASHTRA LETTER TTHA
+A89E ; [.22A2.0020.0002.A89E] # SAURASHTRA LETTER DDA
+A89F ; [.22A3.0020.0002.A89F] # SAURASHTRA LETTER DDHA
+A8A0 ; [.22A4.0020.0002.A8A0] # SAURASHTRA LETTER NNA
+A8A1 ; [.22A5.0020.0002.A8A1] # SAURASHTRA LETTER TA
+A8A2 ; [.22A6.0020.0002.A8A2] # SAURASHTRA LETTER THA
+A8A3 ; [.22A7.0020.0002.A8A3] # SAURASHTRA LETTER DA
+A8A4 ; [.22A8.0020.0002.A8A4] # SAURASHTRA LETTER DHA
+A8A5 ; [.22A9.0020.0002.A8A5] # SAURASHTRA LETTER NA
+A8A6 ; [.22AA.0020.0002.A8A6] # SAURASHTRA LETTER PA
+A8A7 ; [.22AB.0020.0002.A8A7] # SAURASHTRA LETTER PHA
+A8A8 ; [.22AC.0020.0002.A8A8] # SAURASHTRA LETTER BA
+A8A9 ; [.22AD.0020.0002.A8A9] # SAURASHTRA LETTER BHA
+A8AA ; [.22AE.0020.0002.A8AA] # SAURASHTRA LETTER MA
+A8AB ; [.22AF.0020.0002.A8AB] # SAURASHTRA LETTER YA
+A8AC ; [.22B0.0020.0002.A8AC] # SAURASHTRA LETTER RA
+A8AD ; [.22B1.0020.0002.A8AD] # SAURASHTRA LETTER LA
+A8AE ; [.22B2.0020.0002.A8AE] # SAURASHTRA LETTER VA
+A8AF ; [.22B3.0020.0002.A8AF] # SAURASHTRA LETTER SHA
+A8B0 ; [.22B4.0020.0002.A8B0] # SAURASHTRA LETTER SSA
+A8B1 ; [.22B5.0020.0002.A8B1] # SAURASHTRA LETTER SA
+A8B2 ; [.22B6.0020.0002.A8B2] # SAURASHTRA LETTER HA
+A8B3 ; [.22B7.0020.0002.A8B3] # SAURASHTRA LETTER LLA
+A8B4 ; [.22B8.0020.0002.A8B4] # SAURASHTRA CONSONANT SIGN HAARU
+A8B5 ; [.22B9.0020.0002.A8B5] # SAURASHTRA VOWEL SIGN AA
+A8B6 ; [.22BA.0020.0002.A8B6] # SAURASHTRA VOWEL SIGN I
+A8B7 ; [.22BB.0020.0002.A8B7] # SAURASHTRA VOWEL SIGN II
+A8B8 ; [.22BC.0020.0002.A8B8] # SAURASHTRA VOWEL SIGN U
+A8B9 ; [.22BD.0020.0002.A8B9] # SAURASHTRA VOWEL SIGN UU
+A8BA ; [.22BE.0020.0002.A8BA] # SAURASHTRA VOWEL SIGN VOCALIC R
+A8BB ; [.22BF.0020.0002.A8BB] # SAURASHTRA VOWEL SIGN VOCALIC RR
+A8BC ; [.22C0.0020.0002.A8BC] # SAURASHTRA VOWEL SIGN VOCALIC L
+A8BD ; [.22C1.0020.0002.A8BD] # SAURASHTRA VOWEL SIGN VOCALIC LL
+A8BE ; [.22C2.0020.0002.A8BE] # SAURASHTRA VOWEL SIGN E
+A8BF ; [.22C3.0020.0002.A8BF] # SAURASHTRA VOWEL SIGN EE
+A8C0 ; [.22C4.0020.0002.A8C0] # SAURASHTRA VOWEL SIGN AI
+A8C1 ; [.22C5.0020.0002.A8C1] # SAURASHTRA VOWEL SIGN O
+A8C2 ; [.22C6.0020.0002.A8C2] # SAURASHTRA VOWEL SIGN OO
+A8C3 ; [.22C7.0020.0002.A8C3] # SAURASHTRA VOWEL SIGN AU
+A8C4 ; [.22C8.0020.0002.A8C4] # SAURASHTRA SIGN VIRAMA
+11083 ; [.22C9.0020.0002.11083] # KAITHI LETTER A
+11084 ; [.22CA.0020.0002.11084] # KAITHI LETTER AA
+11085 ; [.22CB.0020.0002.11085] # KAITHI LETTER I
+11086 ; [.22CC.0020.0002.11086] # KAITHI LETTER II
+11087 ; [.22CD.0020.0002.11087] # KAITHI LETTER U
+11088 ; [.22CE.0020.0002.11088] # KAITHI LETTER UU
+11089 ; [.22CF.0020.0002.11089] # KAITHI LETTER E
+1108A ; [.22D0.0020.0002.1108A] # KAITHI LETTER AI
+1108B ; [.22D1.0020.0002.1108B] # KAITHI LETTER O
+1108C ; [.22D2.0020.0002.1108C] # KAITHI LETTER AU
+1108D ; [.22D3.0020.0002.1108D] # KAITHI LETTER KA
+1108E ; [.22D4.0020.0002.1108E] # KAITHI LETTER KHA
+1108F ; [.22D5.0020.0002.1108F] # KAITHI LETTER GA
+11090 ; [.22D6.0020.0002.11090] # KAITHI LETTER GHA
+11091 ; [.22D7.0020.0002.11091] # KAITHI LETTER NGA
+11092 ; [.22D8.0020.0002.11092] # KAITHI LETTER CA
+11093 ; [.22D9.0020.0002.11093] # KAITHI LETTER CHA
+11094 ; [.22DA.0020.0002.11094] # KAITHI LETTER JA
+11095 ; [.22DB.0020.0002.11095] # KAITHI LETTER JHA
+11096 ; [.22DC.0020.0002.11096] # KAITHI LETTER NYA
+11097 ; [.22DD.0020.0002.11097] # KAITHI LETTER TTA
+11098 ; [.22DE.0020.0002.11098] # KAITHI LETTER TTHA
+11099 ; [.22DF.0020.0002.11099] # KAITHI LETTER DDA
+1109A ; [.22DF.0020.0002.11099][.0000.0118.0002.110BA] # KAITHI LETTER DDDHA; QQCM
+1109B ; [.22E0.0020.0002.1109B] # KAITHI LETTER DDHA
+1109C ; [.22E0.0020.0002.1109B][.0000.0118.0002.110BA] # KAITHI LETTER RHA; QQCM
+1109D ; [.22E1.0020.0002.1109D] # KAITHI LETTER NNA
+1109E ; [.22E2.0020.0002.1109E] # KAITHI LETTER TA
+1109F ; [.22E3.0020.0002.1109F] # KAITHI LETTER THA
+110A0 ; [.22E4.0020.0002.110A0] # KAITHI LETTER DA
+110A1 ; [.22E5.0020.0002.110A1] # KAITHI LETTER DHA
+110A2 ; [.22E6.0020.0002.110A2] # KAITHI LETTER NA
+110A3 ; [.22E7.0020.0002.110A3] # KAITHI LETTER PA
+110A4 ; [.22E8.0020.0002.110A4] # KAITHI LETTER PHA
+110A5 ; [.22E9.0020.0002.110A5] # KAITHI LETTER BA
+110AB ; [.22E9.0020.0002.110A5][.0000.0118.0002.110BA] # KAITHI LETTER VA; QQCM
+110A6 ; [.22EA.0020.0002.110A6] # KAITHI LETTER BHA
+110A7 ; [.22EB.0020.0002.110A7] # KAITHI LETTER MA
+110A8 ; [.22EC.0020.0002.110A8] # KAITHI LETTER YA
+110A9 ; [.22ED.0020.0002.110A9] # KAITHI LETTER RA
+110AA ; [.22EE.0020.0002.110AA] # KAITHI LETTER LA
+110AC ; [.22EF.0020.0002.110AC] # KAITHI LETTER SHA
+110AD ; [.22F0.0020.0002.110AD] # KAITHI LETTER SSA
+110AE ; [.22F1.0020.0002.110AE] # KAITHI LETTER SA
+110AF ; [.22F2.0020.0002.110AF] # KAITHI LETTER HA
+110B0 ; [.22F3.0020.0002.110B0] # KAITHI VOWEL SIGN AA
+110B1 ; [.22F4.0020.0002.110B1] # KAITHI VOWEL SIGN I
+110B2 ; [.22F5.0020.0002.110B2] # KAITHI VOWEL SIGN II
+110B3 ; [.22F6.0020.0002.110B3] # KAITHI VOWEL SIGN U
+110B4 ; [.22F7.0020.0002.110B4] # KAITHI VOWEL SIGN UU
+110B5 ; [.22F8.0020.0002.110B5] # KAITHI VOWEL SIGN E
+110B6 ; [.22F9.0020.0002.110B6] # KAITHI VOWEL SIGN AI
+110B7 ; [.22FA.0020.0002.110B7] # KAITHI VOWEL SIGN O
+110B8 ; [.22FB.0020.0002.110B8] # KAITHI VOWEL SIGN AU
+110B9 ; [.22FC.0020.0002.110B9] # KAITHI SIGN VIRAMA
+1B83 ; [.22FD.0020.0002.1B83] # SUNDANESE LETTER A
+1B84 ; [.22FE.0020.0002.1B84] # SUNDANESE LETTER I
+1B85 ; [.22FF.0020.0002.1B85] # SUNDANESE LETTER U
+1B86 ; [.2300.0020.0002.1B86] # SUNDANESE LETTER AE
+1B87 ; [.2301.0020.0002.1B87] # SUNDANESE LETTER O
+1B88 ; [.2302.0020.0002.1B88] # SUNDANESE LETTER E
+1B89 ; [.2303.0020.0002.1B89] # SUNDANESE LETTER EU
+1B8A ; [.2304.0020.0002.1B8A] # SUNDANESE LETTER KA
+1BAE ; [.2305.0020.0002.1BAE] # SUNDANESE LETTER KHA
+1B8B ; [.2306.0020.0002.1B8B] # SUNDANESE LETTER QA
+1B8C ; [.2307.0020.0002.1B8C] # SUNDANESE LETTER GA
+1B8D ; [.2308.0020.0002.1B8D] # SUNDANESE LETTER NGA
+1B8E ; [.2309.0020.0002.1B8E] # SUNDANESE LETTER CA
+1B8F ; [.230A.0020.0002.1B8F] # SUNDANESE LETTER JA
+1B90 ; [.230B.0020.0002.1B90] # SUNDANESE LETTER ZA
+1B91 ; [.230C.0020.0002.1B91] # SUNDANESE LETTER NYA
+1B92 ; [.230D.0020.0002.1B92] # SUNDANESE LETTER TA
+1B93 ; [.230E.0020.0002.1B93] # SUNDANESE LETTER DA
+1B94 ; [.230F.0020.0002.1B94] # SUNDANESE LETTER NA
+1B95 ; [.2310.0020.0002.1B95] # SUNDANESE LETTER PA
+1B96 ; [.2311.0020.0002.1B96] # SUNDANESE LETTER FA
+1B97 ; [.2312.0020.0002.1B97] # SUNDANESE LETTER VA
+1B98 ; [.2313.0020.0002.1B98] # SUNDANESE LETTER BA
+1B99 ; [.2314.0020.0002.1B99] # SUNDANESE LETTER MA
+1B9A ; [.2315.0020.0002.1B9A] # SUNDANESE LETTER YA
+1BA1 ; [.2316.0020.0002.1BA1] # SUNDANESE CONSONANT SIGN PAMINGKAL
+1B9B ; [.2317.0020.0002.1B9B] # SUNDANESE LETTER RA
+1BA2 ; [.2318.0020.0002.1BA2] # SUNDANESE CONSONANT SIGN PANYAKRA
+1B9C ; [.2319.0020.0002.1B9C] # SUNDANESE LETTER LA
+1BA3 ; [.231A.0020.0002.1BA3] # SUNDANESE CONSONANT SIGN PANYIKU
+1B9D ; [.231B.0020.0002.1B9D] # SUNDANESE LETTER WA
+1B9E ; [.231C.0020.0002.1B9E] # SUNDANESE LETTER SA
+1B9F ; [.231D.0020.0002.1B9F] # SUNDANESE LETTER XA
+1BAF ; [.231E.0020.0002.1BAF] # SUNDANESE LETTER SYA
+1BA0 ; [.231F.0020.0002.1BA0] # SUNDANESE LETTER HA
+1BA4 ; [.2320.0020.0002.1BA4] # SUNDANESE VOWEL SIGN PANGHULU
+1BA5 ; [.2321.0020.0002.1BA5] # SUNDANESE VOWEL SIGN PANYUKU
+1BA6 ; [.2322.0020.0002.1BA6] # SUNDANESE VOWEL SIGN PANAELAENG
+1BA7 ; [.2323.0020.0002.1BA7] # SUNDANESE VOWEL SIGN PANOLONG
+1BA8 ; [.2324.0020.0002.1BA8] # SUNDANESE VOWEL SIGN PAMEPET
+1BA9 ; [.2325.0020.0002.1BA9] # SUNDANESE VOWEL SIGN PANEULEUNG
+1BAA ; [.2326.0020.0002.1BAA] # SUNDANESE SIGN PAMAAEH
+11005 ; [.2327.0020.0002.11005] # BRAHMI LETTER A
+11006 ; [.2328.0020.0002.11006] # BRAHMI LETTER AA
+11007 ; [.2329.0020.0002.11007] # BRAHMI LETTER I
+11008 ; [.232A.0020.0002.11008] # BRAHMI LETTER II
+11009 ; [.232B.0020.0002.11009] # BRAHMI LETTER U
+1100A ; [.232C.0020.0002.1100A] # BRAHMI LETTER UU
+1100B ; [.232D.0020.0002.1100B] # BRAHMI LETTER VOCALIC R
+1100C ; [.232E.0020.0002.1100C] # BRAHMI LETTER VOCALIC RR
+1100D ; [.232F.0020.0002.1100D] # BRAHMI LETTER VOCALIC L
+1100E ; [.2330.0020.0002.1100E] # BRAHMI LETTER VOCALIC LL
+1100F ; [.2331.0020.0002.1100F] # BRAHMI LETTER E
+11010 ; [.2332.0020.0002.11010] # BRAHMI LETTER AI
+11011 ; [.2333.0020.0002.11011] # BRAHMI LETTER O
+11012 ; [.2334.0020.0002.11012] # BRAHMI LETTER AU
+11013 ; [.2335.0020.0002.11013] # BRAHMI LETTER KA
+11014 ; [.2336.0020.0002.11014] # BRAHMI LETTER KHA
+11015 ; [.2337.0020.0002.11015] # BRAHMI LETTER GA
+11016 ; [.2338.0020.0002.11016] # BRAHMI LETTER GHA
+11017 ; [.2339.0020.0002.11017] # BRAHMI LETTER NGA
+11018 ; [.233A.0020.0002.11018] # BRAHMI LETTER CA
+11019 ; [.233B.0020.0002.11019] # BRAHMI LETTER CHA
+1101A ; [.233C.0020.0002.1101A] # BRAHMI LETTER JA
+1101B ; [.233D.0020.0002.1101B] # BRAHMI LETTER JHA
+1101C ; [.233E.0020.0002.1101C] # BRAHMI LETTER NYA
+1101D ; [.233F.0020.0002.1101D] # BRAHMI LETTER TTA
+1101E ; [.2340.0020.0002.1101E] # BRAHMI LETTER TTHA
+1101F ; [.2341.0020.0002.1101F] # BRAHMI LETTER DDA
+11020 ; [.2342.0020.0002.11020] # BRAHMI LETTER DDHA
+11021 ; [.2343.0020.0002.11021] # BRAHMI LETTER NNA
+11022 ; [.2344.0020.0002.11022] # BRAHMI LETTER TA
+11023 ; [.2345.0020.0002.11023] # BRAHMI LETTER THA
+11024 ; [.2346.0020.0002.11024] # BRAHMI LETTER DA
+11025 ; [.2347.0020.0002.11025] # BRAHMI LETTER DHA
+11026 ; [.2348.0020.0002.11026] # BRAHMI LETTER NA
+11027 ; [.2349.0020.0002.11027] # BRAHMI LETTER PA
+11028 ; [.234A.0020.0002.11028] # BRAHMI LETTER PHA
+11029 ; [.234B.0020.0002.11029] # BRAHMI LETTER BA
+1102A ; [.234C.0020.0002.1102A] # BRAHMI LETTER BHA
+1102B ; [.234D.0020.0002.1102B] # BRAHMI LETTER MA
+1102C ; [.234E.0020.0002.1102C] # BRAHMI LETTER YA
+1102D ; [.234F.0020.0002.1102D] # BRAHMI LETTER RA
+1102E ; [.2350.0020.0002.1102E] # BRAHMI LETTER LA
+1102F ; [.2351.0020.0002.1102F] # BRAHMI LETTER VA
+11030 ; [.2352.0020.0002.11030] # BRAHMI LETTER SHA
+11031 ; [.2353.0020.0002.11031] # BRAHMI LETTER SSA
+11032 ; [.2354.0020.0002.11032] # BRAHMI LETTER SA
+11033 ; [.2355.0020.0002.11033] # BRAHMI LETTER HA
+11003 ; [.2356.0020.0002.11003] # BRAHMI SIGN JIHVAMULIYA
+11004 ; [.2357.0020.0002.11004] # BRAHMI SIGN UPADHMANIYA
+11034 ; [.2358.0020.0002.11034] # BRAHMI LETTER LLA
+11035 ; [.2359.0020.0002.11035] # BRAHMI LETTER OLD TAMIL LLLA
+11036 ; [.235A.0020.0002.11036] # BRAHMI LETTER OLD TAMIL RRA
+11037 ; [.235B.0020.0002.11037] # BRAHMI LETTER OLD TAMIL NNNA
+11038 ; [.235C.0020.0002.11038] # BRAHMI VOWEL SIGN AA
+11039 ; [.235D.0020.0002.11039] # BRAHMI VOWEL SIGN BHATTIPROLU AA
+1103A ; [.235E.0020.0002.1103A] # BRAHMI VOWEL SIGN I
+1103B ; [.235F.0020.0002.1103B] # BRAHMI VOWEL SIGN II
+1103C ; [.2360.0020.0002.1103C] # BRAHMI VOWEL SIGN U
+1103D ; [.2361.0020.0002.1103D] # BRAHMI VOWEL SIGN UU
+1103E ; [.2362.0020.0002.1103E] # BRAHMI VOWEL SIGN VOCALIC R
+1103F ; [.2363.0020.0002.1103F] # BRAHMI VOWEL SIGN VOCALIC RR
+11040 ; [.2364.0020.0002.11040] # BRAHMI VOWEL SIGN VOCALIC L
+11041 ; [.2365.0020.0002.11041] # BRAHMI VOWEL SIGN VOCALIC LL
+11042 ; [.2366.0020.0002.11042] # BRAHMI VOWEL SIGN E
+11043 ; [.2367.0020.0002.11043] # BRAHMI VOWEL SIGN AI
+11044 ; [.2368.0020.0002.11044] # BRAHMI VOWEL SIGN O
+11045 ; [.2369.0020.0002.11045] # BRAHMI VOWEL SIGN AU
+11046 ; [.236A.0020.0002.11046] # BRAHMI VIRAMA
+10A00 ; [.236B.0020.0002.10A00] # KHAROSHTHI LETTER A
+10A01 ; [.236C.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
+10A02 ; [.236D.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
+10A03 ; [.236E.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05 ; [.236F.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
+10A06 ; [.2370.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
+10A0C ; [.2371.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
+10A10 ; [.2372.0020.0002.10A10] # KHAROSHTHI LETTER KA
+10A11 ; [.2373.0020.0002.10A11] # KHAROSHTHI LETTER KHA
+10A12 ; [.2374.0020.0002.10A12] # KHAROSHTHI LETTER GA
+10A13 ; [.2375.0020.0002.10A13] # KHAROSHTHI LETTER GHA
+10A15 ; [.2376.0020.0002.10A15] # KHAROSHTHI LETTER CA
+10A16 ; [.2377.0020.0002.10A16] # KHAROSHTHI LETTER CHA
+10A17 ; [.2378.0020.0002.10A17] # KHAROSHTHI LETTER JA
+10A19 ; [.2379.0020.0002.10A19] # KHAROSHTHI LETTER NYA
+10A1A ; [.237A.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
+10A1B ; [.237B.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
+10A1C ; [.237C.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
+10A1D ; [.237D.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
+10A1E ; [.237E.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
+10A1F ; [.237F.0020.0002.10A1F] # KHAROSHTHI LETTER TA
+10A20 ; [.2380.0020.0002.10A20] # KHAROSHTHI LETTER THA
+10A21 ; [.2381.0020.0002.10A21] # KHAROSHTHI LETTER DA
+10A22 ; [.2382.0020.0002.10A22] # KHAROSHTHI LETTER DHA
+10A23 ; [.2383.0020.0002.10A23] # KHAROSHTHI LETTER NA
+10A24 ; [.2384.0020.0002.10A24] # KHAROSHTHI LETTER PA
+10A25 ; [.2385.0020.0002.10A25] # KHAROSHTHI LETTER PHA
+10A26 ; [.2386.0020.0002.10A26] # KHAROSHTHI LETTER BA
+10A27 ; [.2387.0020.0002.10A27] # KHAROSHTHI LETTER BHA
+10A28 ; [.2388.0020.0002.10A28] # KHAROSHTHI LETTER MA
+10A29 ; [.2389.0020.0002.10A29] # KHAROSHTHI LETTER YA
+10A2A ; [.238A.0020.0002.10A2A] # KHAROSHTHI LETTER RA
+10A2B ; [.238B.0020.0002.10A2B] # KHAROSHTHI LETTER LA
+10A2C ; [.238C.0020.0002.10A2C] # KHAROSHTHI LETTER VA
+10A2D ; [.238D.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
+10A2E ; [.238E.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
+10A2F ; [.238F.0020.0002.10A2F] # KHAROSHTHI LETTER SA
+10A30 ; [.2390.0020.0002.10A30] # KHAROSHTHI LETTER ZA
+10A31 ; [.2391.0020.0002.10A31] # KHAROSHTHI LETTER HA
+10A32 ; [.2392.0020.0002.10A32] # KHAROSHTHI LETTER KKA
+10A33 ; [.2393.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
+10A3F ; [.2394.0020.0002.10A3F] # KHAROSHTHI VIRAMA
+0E01 ; [.2395.0020.0002.0E01] # THAI CHARACTER KO KAI
+0E40 0E01 ; [.2395.0020.0002.0E01][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
+0E41 0E01 ; [.2395.0020.0002.0E01][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
+0E42 0E01 ; [.2395.0020.0002.0E01][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
+0E43 0E01 ; [.2395.0020.0002.0E01][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
+0E44 0E01 ; [.2395.0020.0002.0E01][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
+0E02 ; [.2396.0020.0002.0E02] # THAI CHARACTER KHO KHAI
+0E40 0E02 ; [.2396.0020.0002.0E02][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
+0E41 0E02 ; [.2396.0020.0002.0E02][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
+0E42 0E02 ; [.2396.0020.0002.0E02][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
+0E43 0E02 ; [.2396.0020.0002.0E02][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
+0E44 0E02 ; [.2396.0020.0002.0E02][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
+0E03 ; [.2397.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
+0E40 0E03 ; [.2397.0020.0002.0E03][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
+0E41 0E03 ; [.2397.0020.0002.0E03][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
+0E42 0E03 ; [.2397.0020.0002.0E03][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
+0E43 0E03 ; [.2397.0020.0002.0E03][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
+0E44 0E03 ; [.2397.0020.0002.0E03][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
+0E04 ; [.2398.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
+0E40 0E04 ; [.2398.0020.0002.0E04][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
+0E41 0E04 ; [.2398.0020.0002.0E04][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
+0E42 0E04 ; [.2398.0020.0002.0E04][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
+0E43 0E04 ; [.2398.0020.0002.0E04][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
+0E44 0E04 ; [.2398.0020.0002.0E04][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
+0E05 ; [.2399.0020.0002.0E05] # THAI CHARACTER KHO KHON
+0E40 0E05 ; [.2399.0020.0002.0E05][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
+0E41 0E05 ; [.2399.0020.0002.0E05][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
+0E42 0E05 ; [.2399.0020.0002.0E05][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
+0E43 0E05 ; [.2399.0020.0002.0E05][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
+0E44 0E05 ; [.2399.0020.0002.0E05][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
+0E06 ; [.239A.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
+0E40 0E06 ; [.239A.0020.0002.0E06][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
+0E41 0E06 ; [.239A.0020.0002.0E06][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
+0E42 0E06 ; [.239A.0020.0002.0E06][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
+0E43 0E06 ; [.239A.0020.0002.0E06][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
+0E44 0E06 ; [.239A.0020.0002.0E06][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
+0E07 ; [.239B.0020.0002.0E07] # THAI CHARACTER NGO NGU
+0E40 0E07 ; [.239B.0020.0002.0E07][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
+0E41 0E07 ; [.239B.0020.0002.0E07][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
+0E42 0E07 ; [.239B.0020.0002.0E07][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
+0E43 0E07 ; [.239B.0020.0002.0E07][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
+0E44 0E07 ; [.239B.0020.0002.0E07][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
+0E08 ; [.239C.0020.0002.0E08] # THAI CHARACTER CHO CHAN
+0E40 0E08 ; [.239C.0020.0002.0E08][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
+0E41 0E08 ; [.239C.0020.0002.0E08][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
+0E42 0E08 ; [.239C.0020.0002.0E08][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
+0E43 0E08 ; [.239C.0020.0002.0E08][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
+0E44 0E08 ; [.239C.0020.0002.0E08][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
+0E09 ; [.239D.0020.0002.0E09] # THAI CHARACTER CHO CHING
+0E40 0E09 ; [.239D.0020.0002.0E09][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
+0E41 0E09 ; [.239D.0020.0002.0E09][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
+0E42 0E09 ; [.239D.0020.0002.0E09][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
+0E43 0E09 ; [.239D.0020.0002.0E09][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
+0E44 0E09 ; [.239D.0020.0002.0E09][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
+0E0A ; [.239E.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
+0E40 0E0A ; [.239E.0020.0002.0E0A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
+0E41 0E0A ; [.239E.0020.0002.0E0A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
+0E42 0E0A ; [.239E.0020.0002.0E0A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
+0E43 0E0A ; [.239E.0020.0002.0E0A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
+0E44 0E0A ; [.239E.0020.0002.0E0A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
+0E0B ; [.239F.0020.0002.0E0B] # THAI CHARACTER SO SO
+0E40 0E0B ; [.239F.0020.0002.0E0B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
+0E41 0E0B ; [.239F.0020.0002.0E0B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
+0E42 0E0B ; [.239F.0020.0002.0E0B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
+0E43 0E0B ; [.239F.0020.0002.0E0B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
+0E44 0E0B ; [.239F.0020.0002.0E0B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
+0E0C ; [.23A0.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
+0E40 0E0C ; [.23A0.0020.0002.0E0C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
+0E41 0E0C ; [.23A0.0020.0002.0E0C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
+0E42 0E0C ; [.23A0.0020.0002.0E0C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
+0E43 0E0C ; [.23A0.0020.0002.0E0C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
+0E44 0E0C ; [.23A0.0020.0002.0E0C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
+0E0D ; [.23A1.0020.0002.0E0D] # THAI CHARACTER YO YING
+0E40 0E0D ; [.23A1.0020.0002.0E0D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
+0E41 0E0D ; [.23A1.0020.0002.0E0D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
+0E42 0E0D ; [.23A1.0020.0002.0E0D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
+0E43 0E0D ; [.23A1.0020.0002.0E0D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
+0E44 0E0D ; [.23A1.0020.0002.0E0D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
+0E0E ; [.23A2.0020.0002.0E0E] # THAI CHARACTER DO CHADA
+0E40 0E0E ; [.23A2.0020.0002.0E0E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
+0E41 0E0E ; [.23A2.0020.0002.0E0E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
+0E42 0E0E ; [.23A2.0020.0002.0E0E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
+0E43 0E0E ; [.23A2.0020.0002.0E0E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
+0E44 0E0E ; [.23A2.0020.0002.0E0E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
+0E0F ; [.23A3.0020.0002.0E0F] # THAI CHARACTER TO PATAK
+0E40 0E0F ; [.23A3.0020.0002.0E0F][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
+0E41 0E0F ; [.23A3.0020.0002.0E0F][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
+0E42 0E0F ; [.23A3.0020.0002.0E0F][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
+0E43 0E0F ; [.23A3.0020.0002.0E0F][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
+0E44 0E0F ; [.23A3.0020.0002.0E0F][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
+0E10 ; [.23A4.0020.0002.0E10] # THAI CHARACTER THO THAN
+0E40 0E10 ; [.23A4.0020.0002.0E10][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
+0E41 0E10 ; [.23A4.0020.0002.0E10][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
+0E42 0E10 ; [.23A4.0020.0002.0E10][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
+0E43 0E10 ; [.23A4.0020.0002.0E10][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
+0E44 0E10 ; [.23A4.0020.0002.0E10][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
+0E11 ; [.23A5.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
+0E40 0E11 ; [.23A5.0020.0002.0E11][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
+0E41 0E11 ; [.23A5.0020.0002.0E11][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
+0E42 0E11 ; [.23A5.0020.0002.0E11][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
+0E43 0E11 ; [.23A5.0020.0002.0E11][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
+0E44 0E11 ; [.23A5.0020.0002.0E11][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
+0E12 ; [.23A6.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
+0E40 0E12 ; [.23A6.0020.0002.0E12][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
+0E41 0E12 ; [.23A6.0020.0002.0E12][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
+0E42 0E12 ; [.23A6.0020.0002.0E12][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
+0E43 0E12 ; [.23A6.0020.0002.0E12][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
+0E44 0E12 ; [.23A6.0020.0002.0E12][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
+0E13 ; [.23A7.0020.0002.0E13] # THAI CHARACTER NO NEN
+0E40 0E13 ; [.23A7.0020.0002.0E13][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
+0E41 0E13 ; [.23A7.0020.0002.0E13][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
+0E42 0E13 ; [.23A7.0020.0002.0E13][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
+0E43 0E13 ; [.23A7.0020.0002.0E13][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
+0E44 0E13 ; [.23A7.0020.0002.0E13][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
+0E14 ; [.23A8.0020.0002.0E14] # THAI CHARACTER DO DEK
+0E40 0E14 ; [.23A8.0020.0002.0E14][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
+0E41 0E14 ; [.23A8.0020.0002.0E14][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
+0E42 0E14 ; [.23A8.0020.0002.0E14][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
+0E43 0E14 ; [.23A8.0020.0002.0E14][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
+0E44 0E14 ; [.23A8.0020.0002.0E14][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
+0E15 ; [.23A9.0020.0002.0E15] # THAI CHARACTER TO TAO
+0E40 0E15 ; [.23A9.0020.0002.0E15][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
+0E41 0E15 ; [.23A9.0020.0002.0E15][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
+0E42 0E15 ; [.23A9.0020.0002.0E15][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
+0E43 0E15 ; [.23A9.0020.0002.0E15][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
+0E44 0E15 ; [.23A9.0020.0002.0E15][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
+0E16 ; [.23AA.0020.0002.0E16] # THAI CHARACTER THO THUNG
+0E40 0E16 ; [.23AA.0020.0002.0E16][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
+0E41 0E16 ; [.23AA.0020.0002.0E16][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
+0E42 0E16 ; [.23AA.0020.0002.0E16][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
+0E43 0E16 ; [.23AA.0020.0002.0E16][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
+0E44 0E16 ; [.23AA.0020.0002.0E16][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
+0E17 ; [.23AB.0020.0002.0E17] # THAI CHARACTER THO THAHAN
+0E40 0E17 ; [.23AB.0020.0002.0E17][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
+0E41 0E17 ; [.23AB.0020.0002.0E17][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
+0E42 0E17 ; [.23AB.0020.0002.0E17][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
+0E43 0E17 ; [.23AB.0020.0002.0E17][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
+0E44 0E17 ; [.23AB.0020.0002.0E17][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
+0E18 ; [.23AC.0020.0002.0E18] # THAI CHARACTER THO THONG
+0E40 0E18 ; [.23AC.0020.0002.0E18][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
+0E41 0E18 ; [.23AC.0020.0002.0E18][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
+0E42 0E18 ; [.23AC.0020.0002.0E18][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
+0E43 0E18 ; [.23AC.0020.0002.0E18][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
+0E44 0E18 ; [.23AC.0020.0002.0E18][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
+0E19 ; [.23AD.0020.0002.0E19] # THAI CHARACTER NO NU
+0E40 0E19 ; [.23AD.0020.0002.0E19][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
+0E41 0E19 ; [.23AD.0020.0002.0E19][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
+0E42 0E19 ; [.23AD.0020.0002.0E19][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
+0E43 0E19 ; [.23AD.0020.0002.0E19][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
+0E44 0E19 ; [.23AD.0020.0002.0E19][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
+0E1A ; [.23AE.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
+0E40 0E1A ; [.23AE.0020.0002.0E1A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
+0E41 0E1A ; [.23AE.0020.0002.0E1A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
+0E42 0E1A ; [.23AE.0020.0002.0E1A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
+0E43 0E1A ; [.23AE.0020.0002.0E1A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
+0E44 0E1A ; [.23AE.0020.0002.0E1A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
+0E1B ; [.23AF.0020.0002.0E1B] # THAI CHARACTER PO PLA
+0E40 0E1B ; [.23AF.0020.0002.0E1B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
+0E41 0E1B ; [.23AF.0020.0002.0E1B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
+0E42 0E1B ; [.23AF.0020.0002.0E1B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
+0E43 0E1B ; [.23AF.0020.0002.0E1B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
+0E44 0E1B ; [.23AF.0020.0002.0E1B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
+0E1C ; [.23B0.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
+0E40 0E1C ; [.23B0.0020.0002.0E1C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
+0E41 0E1C ; [.23B0.0020.0002.0E1C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
+0E42 0E1C ; [.23B0.0020.0002.0E1C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
+0E43 0E1C ; [.23B0.0020.0002.0E1C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
+0E44 0E1C ; [.23B0.0020.0002.0E1C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
+0E1D ; [.23B1.0020.0002.0E1D] # THAI CHARACTER FO FA
+0E40 0E1D ; [.23B1.0020.0002.0E1D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
+0E41 0E1D ; [.23B1.0020.0002.0E1D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
+0E42 0E1D ; [.23B1.0020.0002.0E1D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
+0E43 0E1D ; [.23B1.0020.0002.0E1D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
+0E44 0E1D ; [.23B1.0020.0002.0E1D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
+0E1E ; [.23B2.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
+0E40 0E1E ; [.23B2.0020.0002.0E1E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
+0E41 0E1E ; [.23B2.0020.0002.0E1E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
+0E42 0E1E ; [.23B2.0020.0002.0E1E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
+0E43 0E1E ; [.23B2.0020.0002.0E1E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
+0E44 0E1E ; [.23B2.0020.0002.0E1E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
+0E1F ; [.23B3.0020.0002.0E1F] # THAI CHARACTER FO FAN
+0E40 0E1F ; [.23B3.0020.0002.0E1F][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
+0E41 0E1F ; [.23B3.0020.0002.0E1F][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
+0E42 0E1F ; [.23B3.0020.0002.0E1F][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
+0E43 0E1F ; [.23B3.0020.0002.0E1F][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
+0E44 0E1F ; [.23B3.0020.0002.0E1F][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
+0E20 ; [.23B4.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
+0E40 0E20 ; [.23B4.0020.0002.0E20][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
+0E41 0E20 ; [.23B4.0020.0002.0E20][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
+0E42 0E20 ; [.23B4.0020.0002.0E20][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
+0E43 0E20 ; [.23B4.0020.0002.0E20][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
+0E44 0E20 ; [.23B4.0020.0002.0E20][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
+0E21 ; [.23B5.0020.0002.0E21] # THAI CHARACTER MO MA
+0E40 0E21 ; [.23B5.0020.0002.0E21][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
+0E41 0E21 ; [.23B5.0020.0002.0E21][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
+0E42 0E21 ; [.23B5.0020.0002.0E21][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
+0E43 0E21 ; [.23B5.0020.0002.0E21][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
+0E44 0E21 ; [.23B5.0020.0002.0E21][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
+0E22 ; [.23B6.0020.0002.0E22] # THAI CHARACTER YO YAK
+0E40 0E22 ; [.23B6.0020.0002.0E22][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
+0E41 0E22 ; [.23B6.0020.0002.0E22][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
+0E42 0E22 ; [.23B6.0020.0002.0E22][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
+0E43 0E22 ; [.23B6.0020.0002.0E22][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
+0E44 0E22 ; [.23B6.0020.0002.0E22][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
+0E23 ; [.23B7.0020.0002.0E23] # THAI CHARACTER RO RUA
+0E40 0E23 ; [.23B7.0020.0002.0E23][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
+0E41 0E23 ; [.23B7.0020.0002.0E23][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
+0E42 0E23 ; [.23B7.0020.0002.0E23][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
+0E43 0E23 ; [.23B7.0020.0002.0E23][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
+0E44 0E23 ; [.23B7.0020.0002.0E23][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
+0E24 ; [.23B8.0020.0002.0E24] # THAI CHARACTER RU
+0E40 0E24 ; [.23B8.0020.0002.0E24][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
+0E41 0E24 ; [.23B8.0020.0002.0E24][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
+0E42 0E24 ; [.23B8.0020.0002.0E24][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
+0E43 0E24 ; [.23B8.0020.0002.0E24][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
+0E44 0E24 ; [.23B8.0020.0002.0E24][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
+0E25 ; [.23B9.0020.0002.0E25] # THAI CHARACTER LO LING
+0E40 0E25 ; [.23B9.0020.0002.0E25][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
+0E41 0E25 ; [.23B9.0020.0002.0E25][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
+0E42 0E25 ; [.23B9.0020.0002.0E25][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
+0E43 0E25 ; [.23B9.0020.0002.0E25][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
+0E44 0E25 ; [.23B9.0020.0002.0E25][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
+0E26 ; [.23BA.0020.0002.0E26] # THAI CHARACTER LU
+0E40 0E26 ; [.23BA.0020.0002.0E26][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
+0E41 0E26 ; [.23BA.0020.0002.0E26][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
+0E42 0E26 ; [.23BA.0020.0002.0E26][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
+0E43 0E26 ; [.23BA.0020.0002.0E26][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
+0E44 0E26 ; [.23BA.0020.0002.0E26][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
+0E27 ; [.23BB.0020.0002.0E27] # THAI CHARACTER WO WAEN
+0E40 0E27 ; [.23BB.0020.0002.0E27][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
+0E41 0E27 ; [.23BB.0020.0002.0E27][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
+0E42 0E27 ; [.23BB.0020.0002.0E27][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
+0E43 0E27 ; [.23BB.0020.0002.0E27][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
+0E44 0E27 ; [.23BB.0020.0002.0E27][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
+0E28 ; [.23BC.0020.0002.0E28] # THAI CHARACTER SO SALA
+0E40 0E28 ; [.23BC.0020.0002.0E28][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
+0E41 0E28 ; [.23BC.0020.0002.0E28][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
+0E42 0E28 ; [.23BC.0020.0002.0E28][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
+0E43 0E28 ; [.23BC.0020.0002.0E28][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
+0E44 0E28 ; [.23BC.0020.0002.0E28][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
+0E29 ; [.23BD.0020.0002.0E29] # THAI CHARACTER SO RUSI
+0E40 0E29 ; [.23BD.0020.0002.0E29][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
+0E41 0E29 ; [.23BD.0020.0002.0E29][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
+0E42 0E29 ; [.23BD.0020.0002.0E29][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
+0E43 0E29 ; [.23BD.0020.0002.0E29][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
+0E44 0E29 ; [.23BD.0020.0002.0E29][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
+0E2A ; [.23BE.0020.0002.0E2A] # THAI CHARACTER SO SUA
+0E40 0E2A ; [.23BE.0020.0002.0E2A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
+0E41 0E2A ; [.23BE.0020.0002.0E2A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
+0E42 0E2A ; [.23BE.0020.0002.0E2A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
+0E43 0E2A ; [.23BE.0020.0002.0E2A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
+0E44 0E2A ; [.23BE.0020.0002.0E2A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
+0E2B ; [.23BF.0020.0002.0E2B] # THAI CHARACTER HO HIP
+0E40 0E2B ; [.23BF.0020.0002.0E2B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
+0E41 0E2B ; [.23BF.0020.0002.0E2B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
+0E42 0E2B ; [.23BF.0020.0002.0E2B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
+0E43 0E2B ; [.23BF.0020.0002.0E2B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
+0E44 0E2B ; [.23BF.0020.0002.0E2B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
+0E2C ; [.23C0.0020.0002.0E2C] # THAI CHARACTER LO CHULA
+0E40 0E2C ; [.23C0.0020.0002.0E2C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
+0E41 0E2C ; [.23C0.0020.0002.0E2C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
+0E42 0E2C ; [.23C0.0020.0002.0E2C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
+0E43 0E2C ; [.23C0.0020.0002.0E2C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
+0E44 0E2C ; [.23C0.0020.0002.0E2C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
+0E2D ; [.23C1.0020.0002.0E2D] # THAI CHARACTER O ANG
+0E40 0E2D ; [.23C1.0020.0002.0E2D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
+0E41 0E2D ; [.23C1.0020.0002.0E2D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
+0E42 0E2D ; [.23C1.0020.0002.0E2D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
+0E43 0E2D ; [.23C1.0020.0002.0E2D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
+0E44 0E2D ; [.23C1.0020.0002.0E2D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
+0E2E ; [.23C2.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
+0E40 0E2E ; [.23C2.0020.0002.0E2E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
+0E41 0E2E ; [.23C2.0020.0002.0E2E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
+0E42 0E2E ; [.23C2.0020.0002.0E2E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
+0E43 0E2E ; [.23C2.0020.0002.0E2E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
+0E44 0E2E ; [.23C2.0020.0002.0E2E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
+0E2F ; [.23C3.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
+0E30 ; [.23C4.0020.0002.0E30] # THAI CHARACTER SARA A
+0E31 ; [.23C5.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
+0E32 ; [.23C6.0020.0002.0E32] # THAI CHARACTER SARA AA
+0E33 ; [.23C7.0020.0002.0E33] # THAI CHARACTER SARA AM
+0E4D 0E32 ; [.23C7.0020.0002.0E33] # THAI CHARACTER SARA AM
+0E34 ; [.23C8.0020.0002.0E34] # THAI CHARACTER SARA I
+0E35 ; [.23C9.0020.0002.0E35] # THAI CHARACTER SARA II
+0E36 ; [.23CA.0020.0002.0E36] # THAI CHARACTER SARA UE
+0E37 ; [.23CB.0020.0002.0E37] # THAI CHARACTER SARA UEE
+0E38 ; [.23CC.0020.0002.0E38] # THAI CHARACTER SARA U
+0E39 ; [.23CD.0020.0002.0E39] # THAI CHARACTER SARA UU
+0E3A ; [.23CE.0020.0002.0E3A] # THAI CHARACTER PHINTHU
+0E40 ; [.23CF.0020.0002.0E40] # THAI CHARACTER SARA E
+0E41 ; [.23D0.0020.0002.0E41] # THAI CHARACTER SARA AE
+0E42 ; [.23D1.0020.0002.0E42] # THAI CHARACTER SARA O
+0E43 ; [.23D2.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
+0E44 ; [.23D3.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
+0E45 ; [.23D4.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
+0E81 ; [.23D5.0020.0002.0E81] # LAO LETTER KO
+0EC0 0E81 ; [.23D5.0020.0002.0E81][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
+0EC1 0E81 ; [.23D5.0020.0002.0E81][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
+0EC2 0E81 ; [.23D5.0020.0002.0E81][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
+0EC3 0E81 ; [.23D5.0020.0002.0E81][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
+0EC4 0E81 ; [.23D5.0020.0002.0E81][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
+0E82 ; [.23D6.0020.0002.0E82] # LAO LETTER KHO SUNG
+0EC0 0E82 ; [.23D6.0020.0002.0E82][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
+0EC1 0E82 ; [.23D6.0020.0002.0E82][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
+0EC2 0E82 ; [.23D6.0020.0002.0E82][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
+0EC3 0E82 ; [.23D6.0020.0002.0E82][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
+0EC4 0E82 ; [.23D6.0020.0002.0E82][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
+0E84 ; [.23D7.0020.0002.0E84] # LAO LETTER KHO TAM
+0EC0 0E84 ; [.23D7.0020.0002.0E84][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
+0EC1 0E84 ; [.23D7.0020.0002.0E84][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
+0EC2 0E84 ; [.23D7.0020.0002.0E84][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
+0EC3 0E84 ; [.23D7.0020.0002.0E84][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
+0EC4 0E84 ; [.23D7.0020.0002.0E84][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
+0E87 ; [.23D8.0020.0002.0E87] # LAO LETTER NGO
+0EC0 0E87 ; [.23D8.0020.0002.0E87][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
+0EC1 0E87 ; [.23D8.0020.0002.0E87][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
+0EC2 0E87 ; [.23D8.0020.0002.0E87][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
+0EC3 0E87 ; [.23D8.0020.0002.0E87][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
+0EC4 0E87 ; [.23D8.0020.0002.0E87][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
+0E88 ; [.23D9.0020.0002.0E88] # LAO LETTER CO
+0EC0 0E88 ; [.23D9.0020.0002.0E88][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
+0EC1 0E88 ; [.23D9.0020.0002.0E88][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
+0EC2 0E88 ; [.23D9.0020.0002.0E88][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
+0EC3 0E88 ; [.23D9.0020.0002.0E88][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
+0EC4 0E88 ; [.23D9.0020.0002.0E88][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
+0EAA ; [.23DA.0020.0002.0EAA] # LAO LETTER SO SUNG
+0EC0 0EAA ; [.23DA.0020.0002.0EAA][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
+0EC1 0EAA ; [.23DA.0020.0002.0EAA][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
+0EC2 0EAA ; [.23DA.0020.0002.0EAA][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
+0EC3 0EAA ; [.23DA.0020.0002.0EAA][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
+0EC4 0EAA ; [.23DA.0020.0002.0EAA][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
+0E8A ; [.23DB.0020.0002.0E8A] # LAO LETTER SO TAM
+0EC0 0E8A ; [.23DB.0020.0002.0E8A][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
+0EC1 0E8A ; [.23DB.0020.0002.0E8A][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
+0EC2 0E8A ; [.23DB.0020.0002.0E8A][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
+0EC3 0E8A ; [.23DB.0020.0002.0E8A][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
+0EC4 0E8A ; [.23DB.0020.0002.0E8A][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
+0E8D ; [.23DC.0020.0002.0E8D] # LAO LETTER NYO
+0EC0 0E8D ; [.23DC.0020.0002.0E8D][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
+0EC1 0E8D ; [.23DC.0020.0002.0E8D][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
+0EC2 0E8D ; [.23DC.0020.0002.0E8D][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
+0EC3 0E8D ; [.23DC.0020.0002.0E8D][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
+0EC4 0E8D ; [.23DC.0020.0002.0E8D][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
+0E94 ; [.23DD.0020.0002.0E94] # LAO LETTER DO
+0EC0 0E94 ; [.23DD.0020.0002.0E94][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
+0EC1 0E94 ; [.23DD.0020.0002.0E94][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
+0EC2 0E94 ; [.23DD.0020.0002.0E94][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
+0EC3 0E94 ; [.23DD.0020.0002.0E94][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
+0EC4 0E94 ; [.23DD.0020.0002.0E94][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
+0E95 ; [.23DE.0020.0002.0E95] # LAO LETTER TO
+0EC0 0E95 ; [.23DE.0020.0002.0E95][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
+0EC1 0E95 ; [.23DE.0020.0002.0E95][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
+0EC2 0E95 ; [.23DE.0020.0002.0E95][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
+0EC3 0E95 ; [.23DE.0020.0002.0E95][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
+0EC4 0E95 ; [.23DE.0020.0002.0E95][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
+0E96 ; [.23DF.0020.0002.0E96] # LAO LETTER THO SUNG
+0EC0 0E96 ; [.23DF.0020.0002.0E96][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
+0EC1 0E96 ; [.23DF.0020.0002.0E96][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
+0EC2 0E96 ; [.23DF.0020.0002.0E96][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
+0EC3 0E96 ; [.23DF.0020.0002.0E96][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
+0EC4 0E96 ; [.23DF.0020.0002.0E96][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
+0E97 ; [.23E0.0020.0002.0E97] # LAO LETTER THO TAM
+0EC0 0E97 ; [.23E0.0020.0002.0E97][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
+0EC1 0E97 ; [.23E0.0020.0002.0E97][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
+0EC2 0E97 ; [.23E0.0020.0002.0E97][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
+0EC3 0E97 ; [.23E0.0020.0002.0E97][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
+0EC4 0E97 ; [.23E0.0020.0002.0E97][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
+0E99 ; [.23E1.0020.0002.0E99] # LAO LETTER NO
+0EC0 0E99 ; [.23E1.0020.0002.0E99][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
+0EC1 0E99 ; [.23E1.0020.0002.0E99][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
+0EC2 0E99 ; [.23E1.0020.0002.0E99][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
+0EC3 0E99 ; [.23E1.0020.0002.0E99][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
+0EC4 0E99 ; [.23E1.0020.0002.0E99][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
+0E9A ; [.23E2.0020.0002.0E9A] # LAO LETTER BO
+0EC0 0E9A ; [.23E2.0020.0002.0E9A][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
+0EC1 0E9A ; [.23E2.0020.0002.0E9A][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
+0EC2 0E9A ; [.23E2.0020.0002.0E9A][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
+0EC3 0E9A ; [.23E2.0020.0002.0E9A][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
+0EC4 0E9A ; [.23E2.0020.0002.0E9A][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
+0E9B ; [.23E3.0020.0002.0E9B] # LAO LETTER PO
+0EC0 0E9B ; [.23E3.0020.0002.0E9B][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
+0EC1 0E9B ; [.23E3.0020.0002.0E9B][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
+0EC2 0E9B ; [.23E3.0020.0002.0E9B][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
+0EC3 0E9B ; [.23E3.0020.0002.0E9B][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
+0EC4 0E9B ; [.23E3.0020.0002.0E9B][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
+0E9C ; [.23E4.0020.0002.0E9C] # LAO LETTER PHO SUNG
+0EC0 0E9C ; [.23E4.0020.0002.0E9C][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
+0EC1 0E9C ; [.23E4.0020.0002.0E9C][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
+0EC2 0E9C ; [.23E4.0020.0002.0E9C][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
+0EC3 0E9C ; [.23E4.0020.0002.0E9C][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
+0EC4 0E9C ; [.23E4.0020.0002.0E9C][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
+0E9D ; [.23E5.0020.0002.0E9D] # LAO LETTER FO TAM
+0EC0 0E9D ; [.23E5.0020.0002.0E9D][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
+0EC1 0E9D ; [.23E5.0020.0002.0E9D][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
+0EC2 0E9D ; [.23E5.0020.0002.0E9D][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
+0EC3 0E9D ; [.23E5.0020.0002.0E9D][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
+0EC4 0E9D ; [.23E5.0020.0002.0E9D][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
+0E9E ; [.23E6.0020.0002.0E9E] # LAO LETTER PHO TAM
+0EC0 0E9E ; [.23E6.0020.0002.0E9E][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
+0EC1 0E9E ; [.23E6.0020.0002.0E9E][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
+0EC2 0E9E ; [.23E6.0020.0002.0E9E][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
+0EC3 0E9E ; [.23E6.0020.0002.0E9E][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
+0EC4 0E9E ; [.23E6.0020.0002.0E9E][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
+0E9F ; [.23E7.0020.0002.0E9F] # LAO LETTER FO SUNG
+0EC0 0E9F ; [.23E7.0020.0002.0E9F][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
+0EC1 0E9F ; [.23E7.0020.0002.0E9F][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
+0EC2 0E9F ; [.23E7.0020.0002.0E9F][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
+0EC3 0E9F ; [.23E7.0020.0002.0E9F][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
+0EC4 0E9F ; [.23E7.0020.0002.0E9F][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
+0EA1 ; [.23E8.0020.0002.0EA1] # LAO LETTER MO
+0EC0 0EA1 ; [.23E8.0020.0002.0EA1][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
+0EC1 0EA1 ; [.23E8.0020.0002.0EA1][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
+0EC2 0EA1 ; [.23E8.0020.0002.0EA1][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
+0EC3 0EA1 ; [.23E8.0020.0002.0EA1][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
+0EC4 0EA1 ; [.23E8.0020.0002.0EA1][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
+0EA2 ; [.23E9.0020.0002.0EA2] # LAO LETTER YO
+0EC0 0EA2 ; [.23E9.0020.0002.0EA2][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
+0EC1 0EA2 ; [.23E9.0020.0002.0EA2][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
+0EC2 0EA2 ; [.23E9.0020.0002.0EA2][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
+0EC3 0EA2 ; [.23E9.0020.0002.0EA2][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
+0EC4 0EA2 ; [.23E9.0020.0002.0EA2][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
+0EA3 ; [.23EA.0020.0002.0EA3] # LAO LETTER LO LING
+0EC0 0EA3 ; [.23EA.0020.0002.0EA3][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
+0EC1 0EA3 ; [.23EA.0020.0002.0EA3][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
+0EC2 0EA3 ; [.23EA.0020.0002.0EA3][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
+0EC3 0EA3 ; [.23EA.0020.0002.0EA3][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
+0EC4 0EA3 ; [.23EA.0020.0002.0EA3][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
+0EA5 ; [.23EB.0020.0002.0EA5] # LAO LETTER LO LOOT
+0EC0 0EA5 ; [.23EB.0020.0002.0EA5][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
+0EC1 0EA5 ; [.23EB.0020.0002.0EA5][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
+0EC2 0EA5 ; [.23EB.0020.0002.0EA5][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
+0EC3 0EA5 ; [.23EB.0020.0002.0EA5][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
+0EC4 0EA5 ; [.23EB.0020.0002.0EA5][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
+0EA7 ; [.23EC.0020.0002.0EA7] # LAO LETTER WO
+0EC0 0EA7 ; [.23EC.0020.0002.0EA7][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
+0EC1 0EA7 ; [.23EC.0020.0002.0EA7][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
+0EC2 0EA7 ; [.23EC.0020.0002.0EA7][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
+0EC3 0EA7 ; [.23EC.0020.0002.0EA7][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
+0EC4 0EA7 ; [.23EC.0020.0002.0EA7][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
+0EAB ; [.23ED.0020.0002.0EAB] # LAO LETTER HO SUNG
+0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC] # LAO HO NO; QQKN
+0EC0 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
+0EC1 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
+0EC2 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
+0EC3 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
+0EC4 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
+0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD] # LAO HO MO; QQKN
+0EC0 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
+0EC1 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
+0EC2 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
+0EC3 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
+0EC4 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
+0EC0 0EAB ; [.23ED.0020.0002.0EAB][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
+0EC1 0EAB ; [.23ED.0020.0002.0EAB][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
+0EC2 0EAB ; [.23ED.0020.0002.0EAB][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
+0EC3 0EAB ; [.23ED.0020.0002.0EAB][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
+0EC4 0EAB ; [.23ED.0020.0002.0EAB][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
+0EAD ; [.23EE.0020.0002.0EAD] # LAO LETTER O
+0EC0 0EAD ; [.23EE.0020.0002.0EAD][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
+0EC1 0EAD ; [.23EE.0020.0002.0EAD][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
+0EC2 0EAD ; [.23EE.0020.0002.0EAD][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
+0EC3 0EAD ; [.23EE.0020.0002.0EAD][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
+0EC4 0EAD ; [.23EE.0020.0002.0EAD][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
+0EAE ; [.23EF.0020.0002.0EAE] # LAO LETTER HO TAM
+0EC0 0EAE ; [.23EF.0020.0002.0EAE][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
+0EC1 0EAE ; [.23EF.0020.0002.0EAE][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
+0EC2 0EAE ; [.23EF.0020.0002.0EAE][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
+0EC3 0EAE ; [.23EF.0020.0002.0EAE][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
+0EC4 0EAE ; [.23EF.0020.0002.0EAE][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
+0EAF ; [.23F0.0020.0002.0EAF] # LAO ELLIPSIS
+0EB0 ; [.23F1.0020.0002.0EB0] # LAO VOWEL SIGN A
+0EB1 ; [.23F2.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
+0EB2 ; [.23F3.0020.0002.0EB2] # LAO VOWEL SIGN AA
+0EB3 ; [.23F4.0020.0002.0EB3] # LAO VOWEL SIGN AM
+0ECD 0EB2 ; [.23F4.0020.0002.0EB3] # LAO VOWEL SIGN AM
+0EB4 ; [.23F5.0020.0002.0EB4] # LAO VOWEL SIGN I
+0EB5 ; [.23F6.0020.0002.0EB5] # LAO VOWEL SIGN II
+0EB6 ; [.23F7.0020.0002.0EB6] # LAO VOWEL SIGN Y
+0EB7 ; [.23F8.0020.0002.0EB7] # LAO VOWEL SIGN YY
+0EB8 ; [.23F9.0020.0002.0EB8] # LAO VOWEL SIGN U
+0EB9 ; [.23FA.0020.0002.0EB9] # LAO VOWEL SIGN UU
+0EBB ; [.23FB.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
+0EBC ; [.23FC.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
+0EBD ; [.23FD.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
+0EC0 ; [.23FE.0020.0002.0EC0] # LAO VOWEL SIGN E
+0EC1 ; [.23FF.0020.0002.0EC1] # LAO VOWEL SIGN EI
+0EC2 ; [.2400.0020.0002.0EC2] # LAO VOWEL SIGN O
+0EC3 ; [.2401.0020.0002.0EC3] # LAO VOWEL SIGN AY
+0EC4 ; [.2402.0020.0002.0EC4] # LAO VOWEL SIGN AI
+AA80 ; [.2403.0020.0002.AA80] # TAI VIET LETTER LOW KO
+AAB5 AA80 ; [.2403.0020.0002.AA80][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
+AAB6 AA80 ; [.2403.0020.0002.AA80][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
+AAB9 AA80 ; [.2403.0020.0002.AA80][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
+AABB AA80 ; [.2403.0020.0002.AA80][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
+AABC AA80 ; [.2403.0020.0002.AA80][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
+AA81 ; [.2404.0020.0002.AA81] # TAI VIET LETTER HIGH KO
+AAB5 AA81 ; [.2404.0020.0002.AA81][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
+AAB6 AA81 ; [.2404.0020.0002.AA81][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
+AAB9 AA81 ; [.2404.0020.0002.AA81][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
+AABB AA81 ; [.2404.0020.0002.AA81][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
+AABC AA81 ; [.2404.0020.0002.AA81][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
+AA82 ; [.2405.0020.0002.AA82] # TAI VIET LETTER LOW KHO
+AAB5 AA82 ; [.2405.0020.0002.AA82][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
+AAB6 AA82 ; [.2405.0020.0002.AA82][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
+AAB9 AA82 ; [.2405.0020.0002.AA82][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
+AABB AA82 ; [.2405.0020.0002.AA82][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
+AABC AA82 ; [.2405.0020.0002.AA82][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
+AA83 ; [.2406.0020.0002.AA83] # TAI VIET LETTER HIGH KHO
+AAB5 AA83 ; [.2406.0020.0002.AA83][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
+AAB6 AA83 ; [.2406.0020.0002.AA83][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
+AAB9 AA83 ; [.2406.0020.0002.AA83][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
+AABB AA83 ; [.2406.0020.0002.AA83][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
+AABC AA83 ; [.2406.0020.0002.AA83][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
+AA84 ; [.2407.0020.0002.AA84] # TAI VIET LETTER LOW KHHO
+AAB5 AA84 ; [.2407.0020.0002.AA84][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
+AAB6 AA84 ; [.2407.0020.0002.AA84][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
+AAB9 AA84 ; [.2407.0020.0002.AA84][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
+AABB AA84 ; [.2407.0020.0002.AA84][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
+AABC AA84 ; [.2407.0020.0002.AA84][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
+AA85 ; [.2408.0020.0002.AA85] # TAI VIET LETTER HIGH KHHO
+AAB5 AA85 ; [.2408.0020.0002.AA85][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
+AAB6 AA85 ; [.2408.0020.0002.AA85][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
+AAB9 AA85 ; [.2408.0020.0002.AA85][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
+AABB AA85 ; [.2408.0020.0002.AA85][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
+AABC AA85 ; [.2408.0020.0002.AA85][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
+AA86 ; [.2409.0020.0002.AA86] # TAI VIET LETTER LOW GO
+AAB5 AA86 ; [.2409.0020.0002.AA86][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
+AAB6 AA86 ; [.2409.0020.0002.AA86][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
+AAB9 AA86 ; [.2409.0020.0002.AA86][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
+AABB AA86 ; [.2409.0020.0002.AA86][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
+AABC AA86 ; [.2409.0020.0002.AA86][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
+AA87 ; [.240A.0020.0002.AA87] # TAI VIET LETTER HIGH GO
+AAB5 AA87 ; [.240A.0020.0002.AA87][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
+AAB6 AA87 ; [.240A.0020.0002.AA87][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
+AAB9 AA87 ; [.240A.0020.0002.AA87][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
+AABB AA87 ; [.240A.0020.0002.AA87][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
+AABC AA87 ; [.240A.0020.0002.AA87][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
+AA88 ; [.240B.0020.0002.AA88] # TAI VIET LETTER LOW NGO
+AAB5 AA88 ; [.240B.0020.0002.AA88][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
+AAB6 AA88 ; [.240B.0020.0002.AA88][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
+AAB9 AA88 ; [.240B.0020.0002.AA88][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
+AABB AA88 ; [.240B.0020.0002.AA88][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
+AABC AA88 ; [.240B.0020.0002.AA88][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
+AA89 ; [.240C.0020.0002.AA89] # TAI VIET LETTER HIGH NGO
+AAB5 AA89 ; [.240C.0020.0002.AA89][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
+AAB6 AA89 ; [.240C.0020.0002.AA89][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
+AAB9 AA89 ; [.240C.0020.0002.AA89][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
+AABB AA89 ; [.240C.0020.0002.AA89][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
+AABC AA89 ; [.240C.0020.0002.AA89][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
+AA8A ; [.240D.0020.0002.AA8A] # TAI VIET LETTER LOW CO
+AAB5 AA8A ; [.240D.0020.0002.AA8A][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
+AAB6 AA8A ; [.240D.0020.0002.AA8A][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
+AAB9 AA8A ; [.240D.0020.0002.AA8A][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
+AABB AA8A ; [.240D.0020.0002.AA8A][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
+AABC AA8A ; [.240D.0020.0002.AA8A][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
+AA8B ; [.240E.0020.0002.AA8B] # TAI VIET LETTER HIGH CO
+AAB5 AA8B ; [.240E.0020.0002.AA8B][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
+AAB6 AA8B ; [.240E.0020.0002.AA8B][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
+AAB9 AA8B ; [.240E.0020.0002.AA8B][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
+AABB AA8B ; [.240E.0020.0002.AA8B][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
+AABC AA8B ; [.240E.0020.0002.AA8B][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
+AA8C ; [.240F.0020.0002.AA8C] # TAI VIET LETTER LOW CHO
+AAB5 AA8C ; [.240F.0020.0002.AA8C][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
+AAB6 AA8C ; [.240F.0020.0002.AA8C][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
+AAB9 AA8C ; [.240F.0020.0002.AA8C][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
+AABB AA8C ; [.240F.0020.0002.AA8C][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
+AABC AA8C ; [.240F.0020.0002.AA8C][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
+AA8D ; [.2410.0020.0002.AA8D] # TAI VIET LETTER HIGH CHO
+AAB5 AA8D ; [.2410.0020.0002.AA8D][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
+AAB6 AA8D ; [.2410.0020.0002.AA8D][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
+AAB9 AA8D ; [.2410.0020.0002.AA8D][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
+AABB AA8D ; [.2410.0020.0002.AA8D][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
+AABC AA8D ; [.2410.0020.0002.AA8D][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
+AA8E ; [.2411.0020.0002.AA8E] # TAI VIET LETTER LOW SO
+AAB5 AA8E ; [.2411.0020.0002.AA8E][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
+AAB6 AA8E ; [.2411.0020.0002.AA8E][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
+AAB9 AA8E ; [.2411.0020.0002.AA8E][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
+AABB AA8E ; [.2411.0020.0002.AA8E][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
+AABC AA8E ; [.2411.0020.0002.AA8E][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
+AA8F ; [.2412.0020.0002.AA8F] # TAI VIET LETTER HIGH SO
+AAB5 AA8F ; [.2412.0020.0002.AA8F][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
+AAB6 AA8F ; [.2412.0020.0002.AA8F][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
+AAB9 AA8F ; [.2412.0020.0002.AA8F][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
+AABB AA8F ; [.2412.0020.0002.AA8F][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
+AABC AA8F ; [.2412.0020.0002.AA8F][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
+AA90 ; [.2413.0020.0002.AA90] # TAI VIET LETTER LOW NYO
+AAB5 AA90 ; [.2413.0020.0002.AA90][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
+AAB6 AA90 ; [.2413.0020.0002.AA90][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
+AAB9 AA90 ; [.2413.0020.0002.AA90][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
+AABB AA90 ; [.2413.0020.0002.AA90][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
+AABC AA90 ; [.2413.0020.0002.AA90][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
+AA91 ; [.2414.0020.0002.AA91] # TAI VIET LETTER HIGH NYO
+AAB5 AA91 ; [.2414.0020.0002.AA91][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
+AAB6 AA91 ; [.2414.0020.0002.AA91][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
+AAB9 AA91 ; [.2414.0020.0002.AA91][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
+AABB AA91 ; [.2414.0020.0002.AA91][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
+AABC AA91 ; [.2414.0020.0002.AA91][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
+AA92 ; [.2415.0020.0002.AA92] # TAI VIET LETTER LOW DO
+AAB5 AA92 ; [.2415.0020.0002.AA92][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
+AAB6 AA92 ; [.2415.0020.0002.AA92][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
+AAB9 AA92 ; [.2415.0020.0002.AA92][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
+AABB AA92 ; [.2415.0020.0002.AA92][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
+AABC AA92 ; [.2415.0020.0002.AA92][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
+AA93 ; [.2416.0020.0002.AA93] # TAI VIET LETTER HIGH DO
+AAB5 AA93 ; [.2416.0020.0002.AA93][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
+AAB6 AA93 ; [.2416.0020.0002.AA93][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
+AAB9 AA93 ; [.2416.0020.0002.AA93][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
+AABB AA93 ; [.2416.0020.0002.AA93][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
+AABC AA93 ; [.2416.0020.0002.AA93][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
+AA94 ; [.2417.0020.0002.AA94] # TAI VIET LETTER LOW TO
+AAB5 AA94 ; [.2417.0020.0002.AA94][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
+AAB6 AA94 ; [.2417.0020.0002.AA94][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
+AAB9 AA94 ; [.2417.0020.0002.AA94][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
+AABB AA94 ; [.2417.0020.0002.AA94][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
+AABC AA94 ; [.2417.0020.0002.AA94][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
+AA95 ; [.2418.0020.0002.AA95] # TAI VIET LETTER HIGH TO
+AAB5 AA95 ; [.2418.0020.0002.AA95][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
+AAB6 AA95 ; [.2418.0020.0002.AA95][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
+AAB9 AA95 ; [.2418.0020.0002.AA95][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
+AABB AA95 ; [.2418.0020.0002.AA95][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
+AABC AA95 ; [.2418.0020.0002.AA95][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
+AA96 ; [.2419.0020.0002.AA96] # TAI VIET LETTER LOW THO
+AAB5 AA96 ; [.2419.0020.0002.AA96][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
+AAB6 AA96 ; [.2419.0020.0002.AA96][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
+AAB9 AA96 ; [.2419.0020.0002.AA96][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
+AABB AA96 ; [.2419.0020.0002.AA96][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
+AABC AA96 ; [.2419.0020.0002.AA96][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
+AA97 ; [.241A.0020.0002.AA97] # TAI VIET LETTER HIGH THO
+AAB5 AA97 ; [.241A.0020.0002.AA97][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
+AAB6 AA97 ; [.241A.0020.0002.AA97][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
+AAB9 AA97 ; [.241A.0020.0002.AA97][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
+AABB AA97 ; [.241A.0020.0002.AA97][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
+AABC AA97 ; [.241A.0020.0002.AA97][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
+AA98 ; [.241B.0020.0002.AA98] # TAI VIET LETTER LOW NO
+AAB5 AA98 ; [.241B.0020.0002.AA98][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
+AAB6 AA98 ; [.241B.0020.0002.AA98][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
+AAB9 AA98 ; [.241B.0020.0002.AA98][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
+AABB AA98 ; [.241B.0020.0002.AA98][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
+AABC AA98 ; [.241B.0020.0002.AA98][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
+AA99 ; [.241C.0020.0002.AA99] # TAI VIET LETTER HIGH NO
+AAB5 AA99 ; [.241C.0020.0002.AA99][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
+AAB6 AA99 ; [.241C.0020.0002.AA99][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
+AAB9 AA99 ; [.241C.0020.0002.AA99][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
+AABB AA99 ; [.241C.0020.0002.AA99][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
+AABC AA99 ; [.241C.0020.0002.AA99][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
+AA9A ; [.241D.0020.0002.AA9A] # TAI VIET LETTER LOW BO
+AAB5 AA9A ; [.241D.0020.0002.AA9A][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
+AAB6 AA9A ; [.241D.0020.0002.AA9A][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
+AAB9 AA9A ; [.241D.0020.0002.AA9A][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
+AABB AA9A ; [.241D.0020.0002.AA9A][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
+AABC AA9A ; [.241D.0020.0002.AA9A][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
+AA9B ; [.241E.0020.0002.AA9B] # TAI VIET LETTER HIGH BO
+AAB5 AA9B ; [.241E.0020.0002.AA9B][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
+AAB6 AA9B ; [.241E.0020.0002.AA9B][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
+AAB9 AA9B ; [.241E.0020.0002.AA9B][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
+AABB AA9B ; [.241E.0020.0002.AA9B][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
+AABC AA9B ; [.241E.0020.0002.AA9B][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
+AA9C ; [.241F.0020.0002.AA9C] # TAI VIET LETTER LOW PO
+AAB5 AA9C ; [.241F.0020.0002.AA9C][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
+AAB6 AA9C ; [.241F.0020.0002.AA9C][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
+AAB9 AA9C ; [.241F.0020.0002.AA9C][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
+AABB AA9C ; [.241F.0020.0002.AA9C][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
+AABC AA9C ; [.241F.0020.0002.AA9C][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
+AA9D ; [.2420.0020.0002.AA9D] # TAI VIET LETTER HIGH PO
+AAB5 AA9D ; [.2420.0020.0002.AA9D][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
+AAB6 AA9D ; [.2420.0020.0002.AA9D][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
+AAB9 AA9D ; [.2420.0020.0002.AA9D][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
+AABB AA9D ; [.2420.0020.0002.AA9D][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
+AABC AA9D ; [.2420.0020.0002.AA9D][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
+AA9E ; [.2421.0020.0002.AA9E] # TAI VIET LETTER LOW PHO
+AAB5 AA9E ; [.2421.0020.0002.AA9E][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
+AAB6 AA9E ; [.2421.0020.0002.AA9E][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
+AAB9 AA9E ; [.2421.0020.0002.AA9E][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
+AABB AA9E ; [.2421.0020.0002.AA9E][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
+AABC AA9E ; [.2421.0020.0002.AA9E][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
+AA9F ; [.2422.0020.0002.AA9F] # TAI VIET LETTER HIGH PHO
+AAB5 AA9F ; [.2422.0020.0002.AA9F][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
+AAB6 AA9F ; [.2422.0020.0002.AA9F][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
+AAB9 AA9F ; [.2422.0020.0002.AA9F][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
+AABB AA9F ; [.2422.0020.0002.AA9F][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
+AABC AA9F ; [.2422.0020.0002.AA9F][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
+AAA0 ; [.2423.0020.0002.AAA0] # TAI VIET LETTER LOW FO
+AAB5 AAA0 ; [.2423.0020.0002.AAA0][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
+AAB6 AAA0 ; [.2423.0020.0002.AAA0][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
+AAB9 AAA0 ; [.2423.0020.0002.AAA0][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
+AABB AAA0 ; [.2423.0020.0002.AAA0][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
+AABC AAA0 ; [.2423.0020.0002.AAA0][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
+AAA1 ; [.2424.0020.0002.AAA1] # TAI VIET LETTER HIGH FO
+AAB5 AAA1 ; [.2424.0020.0002.AAA1][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
+AAB6 AAA1 ; [.2424.0020.0002.AAA1][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
+AAB9 AAA1 ; [.2424.0020.0002.AAA1][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
+AABB AAA1 ; [.2424.0020.0002.AAA1][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
+AABC AAA1 ; [.2424.0020.0002.AAA1][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
+AAA2 ; [.2425.0020.0002.AAA2] # TAI VIET LETTER LOW MO
+AAB5 AAA2 ; [.2425.0020.0002.AAA2][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
+AAB6 AAA2 ; [.2425.0020.0002.AAA2][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
+AAB9 AAA2 ; [.2425.0020.0002.AAA2][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
+AABB AAA2 ; [.2425.0020.0002.AAA2][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
+AABC AAA2 ; [.2425.0020.0002.AAA2][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
+AAA3 ; [.2426.0020.0002.AAA3] # TAI VIET LETTER HIGH MO
+AAB5 AAA3 ; [.2426.0020.0002.AAA3][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
+AAB6 AAA3 ; [.2426.0020.0002.AAA3][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
+AAB9 AAA3 ; [.2426.0020.0002.AAA3][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
+AABB AAA3 ; [.2426.0020.0002.AAA3][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
+AABC AAA3 ; [.2426.0020.0002.AAA3][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
+AAA4 ; [.2427.0020.0002.AAA4] # TAI VIET LETTER LOW YO
+AAB5 AAA4 ; [.2427.0020.0002.AAA4][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
+AAB6 AAA4 ; [.2427.0020.0002.AAA4][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
+AAB9 AAA4 ; [.2427.0020.0002.AAA4][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
+AABB AAA4 ; [.2427.0020.0002.AAA4][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
+AABC AAA4 ; [.2427.0020.0002.AAA4][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
+AAA5 ; [.2428.0020.0002.AAA5] # TAI VIET LETTER HIGH YO
+AAB5 AAA5 ; [.2428.0020.0002.AAA5][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
+AAB6 AAA5 ; [.2428.0020.0002.AAA5][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
+AAB9 AAA5 ; [.2428.0020.0002.AAA5][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
+AABB AAA5 ; [.2428.0020.0002.AAA5][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
+AABC AAA5 ; [.2428.0020.0002.AAA5][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
+AAA6 ; [.2429.0020.0002.AAA6] # TAI VIET LETTER LOW RO
+AAB5 AAA6 ; [.2429.0020.0002.AAA6][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
+AAB6 AAA6 ; [.2429.0020.0002.AAA6][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
+AAB9 AAA6 ; [.2429.0020.0002.AAA6][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
+AABB AAA6 ; [.2429.0020.0002.AAA6][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
+AABC AAA6 ; [.2429.0020.0002.AAA6][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
+AAA7 ; [.242A.0020.0002.AAA7] # TAI VIET LETTER HIGH RO
+AAB5 AAA7 ; [.242A.0020.0002.AAA7][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
+AAB6 AAA7 ; [.242A.0020.0002.AAA7][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
+AAB9 AAA7 ; [.242A.0020.0002.AAA7][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
+AABB AAA7 ; [.242A.0020.0002.AAA7][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
+AABC AAA7 ; [.242A.0020.0002.AAA7][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
+AAA8 ; [.242B.0020.0002.AAA8] # TAI VIET LETTER LOW LO
+AAB5 AAA8 ; [.242B.0020.0002.AAA8][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
+AAB6 AAA8 ; [.242B.0020.0002.AAA8][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
+AAB9 AAA8 ; [.242B.0020.0002.AAA8][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
+AABB AAA8 ; [.242B.0020.0002.AAA8][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
+AABC AAA8 ; [.242B.0020.0002.AAA8][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
+AAA9 ; [.242C.0020.0002.AAA9] # TAI VIET LETTER HIGH LO
+AAB5 AAA9 ; [.242C.0020.0002.AAA9][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
+AAB6 AAA9 ; [.242C.0020.0002.AAA9][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
+AAB9 AAA9 ; [.242C.0020.0002.AAA9][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
+AABB AAA9 ; [.242C.0020.0002.AAA9][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
+AABC AAA9 ; [.242C.0020.0002.AAA9][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
+AAAA ; [.242D.0020.0002.AAAA] # TAI VIET LETTER LOW VO
+AAB5 AAAA ; [.242D.0020.0002.AAAA][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
+AAB6 AAAA ; [.242D.0020.0002.AAAA][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
+AAB9 AAAA ; [.242D.0020.0002.AAAA][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
+AABB AAAA ; [.242D.0020.0002.AAAA][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
+AABC AAAA ; [.242D.0020.0002.AAAA][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
+AAAB ; [.242E.0020.0002.AAAB] # TAI VIET LETTER HIGH VO
+AAB5 AAAB ; [.242E.0020.0002.AAAB][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
+AAB6 AAAB ; [.242E.0020.0002.AAAB][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
+AAB9 AAAB ; [.242E.0020.0002.AAAB][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
+AABB AAAB ; [.242E.0020.0002.AAAB][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
+AABC AAAB ; [.242E.0020.0002.AAAB][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
+AAAC ; [.242F.0020.0002.AAAC] # TAI VIET LETTER LOW HO
+AAB5 AAAC ; [.242F.0020.0002.AAAC][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
+AAB6 AAAC ; [.242F.0020.0002.AAAC][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
+AAB9 AAAC ; [.242F.0020.0002.AAAC][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
+AABB AAAC ; [.242F.0020.0002.AAAC][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
+AABC AAAC ; [.242F.0020.0002.AAAC][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
+AAAD ; [.2430.0020.0002.AAAD] # TAI VIET LETTER HIGH HO
+AAB5 AAAD ; [.2430.0020.0002.AAAD][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
+AAB6 AAAD ; [.2430.0020.0002.AAAD][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
+AAB9 AAAD ; [.2430.0020.0002.AAAD][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
+AABB AAAD ; [.2430.0020.0002.AAAD][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
+AABC AAAD ; [.2430.0020.0002.AAAD][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
+AAAE ; [.2431.0020.0002.AAAE] # TAI VIET LETTER LOW O
+AAB5 AAAE ; [.2431.0020.0002.AAAE][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
+AAB6 AAAE ; [.2431.0020.0002.AAAE][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
+AAB9 AAAE ; [.2431.0020.0002.AAAE][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
+AABB AAAE ; [.2431.0020.0002.AAAE][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
+AABC AAAE ; [.2431.0020.0002.AAAE][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
+AAAF ; [.2432.0020.0002.AAAF] # TAI VIET LETTER HIGH O
+AAB5 AAAF ; [.2432.0020.0002.AAAF][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
+AAB6 AAAF ; [.2432.0020.0002.AAAF][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
+AAB9 AAAF ; [.2432.0020.0002.AAAF][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
+AABB AAAF ; [.2432.0020.0002.AAAF][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
+AABC AAAF ; [.2432.0020.0002.AAAF][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
+AAB0 ; [.2433.0020.0002.AAB0] # TAI VIET MAI KANG
+AAB1 ; [.2434.0020.0002.AAB1] # TAI VIET VOWEL AA
+AAB2 ; [.2435.0020.0002.AAB2] # TAI VIET VOWEL I
+AAB3 ; [.2436.0020.0002.AAB3] # TAI VIET VOWEL UE
+AAB4 ; [.2437.0020.0002.AAB4] # TAI VIET VOWEL U
+AAB5 ; [.2438.0020.0002.AAB5] # TAI VIET VOWEL E
+AAB6 ; [.2439.0020.0002.AAB6] # TAI VIET VOWEL O
+AAB7 ; [.243A.0020.0002.AAB7] # TAI VIET MAY KHIT
+AAB8 ; [.243B.0020.0002.AAB8] # TAI VIET VOWEL IA
+AAB9 ; [.243C.0020.0002.AAB9] # TAI VIET VOWEL UEA
+AABA ; [.243D.0020.0002.AABA] # TAI VIET VOWEL UA
+AABB ; [.243E.0020.0002.AABB] # TAI VIET VOWEL AUE
+AABC ; [.243F.0020.0002.AABC] # TAI VIET VOWEL AY
+AABD ; [.2440.0020.0002.AABD] # TAI VIET VOWEL AN
+AABE ; [.2441.0020.0002.AABE] # TAI VIET VOWEL AM
+AAC0 ; [.2442.0020.0002.AAC0] # TAI VIET TONE MAI NUENG
+AAC2 ; [.2443.0020.0002.AAC2] # TAI VIET TONE MAI SONG
+AADB ; [.2444.0020.0002.AADB] # TAI VIET SYMBOL KON
+AADC ; [.2445.0020.0002.AADC] # TAI VIET SYMBOL NUENG
+0F40 ; [.2446.0020.0002.0F40] # TIBETAN LETTER KA
+0F69 ; [.2446.0020.0002.0F40][.2487.0020.0002.0FB5] # TIBETAN LETTER KSSA; QQCN
+0F90 ; [.2447.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
+0FB9 ; [.2447.0020.0002.0F90][.2487.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA; QQCN
+0F6B ; [.2448.0020.0002.0F6B] # TIBETAN LETTER KKA
+0F41 ; [.2449.0020.0002.0F41] # TIBETAN LETTER KHA
+0F91 ; [.244A.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
+0F42 ; [.244B.0020.0002.0F42] # TIBETAN LETTER GA
+0F43 ; [.244B.0020.0002.0F42][.248B.0020.0002.0FB7] # TIBETAN LETTER GHA; QQCN
+0F92 ; [.244C.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
+0F93 ; [.244C.0020.0002.0F92][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA; QQCN
+0F44 ; [.244D.0020.0002.0F44] # TIBETAN LETTER NGA
+0F94 ; [.244E.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
+0F45 ; [.244F.0020.0002.0F45] # TIBETAN LETTER CA
+0F95 ; [.2450.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
+0F46 ; [.2451.0020.0002.0F46] # TIBETAN LETTER CHA
+0F96 ; [.2452.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
+0F47 ; [.2453.0020.0002.0F47] # TIBETAN LETTER JA
+0F97 ; [.2454.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
+0F49 ; [.2455.0020.0002.0F49] # TIBETAN LETTER NYA
+0F99 ; [.2456.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
+0F4A ; [.2457.0020.0002.0F4A] # TIBETAN LETTER TTA
+0F9A ; [.2458.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
+0F4B ; [.2459.0020.0002.0F4B] # TIBETAN LETTER TTHA
+0F9B ; [.245A.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
+0F4C ; [.245B.0020.0002.0F4C] # TIBETAN LETTER DDA
+0F4D ; [.245B.0020.0002.0F4C][.248B.0020.0002.0FB7] # TIBETAN LETTER DDHA; QQCN
+0F9C ; [.245C.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
+0F9D ; [.245C.0020.0002.0F9C][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA; QQCN
+0F4E ; [.245D.0020.0002.0F4E] # TIBETAN LETTER NNA
+0F9E ; [.245E.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
+0F4F ; [.245F.0020.0002.0F4F] # TIBETAN LETTER TA
+0F9F ; [.2460.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
+0F50 ; [.2461.0020.0002.0F50] # TIBETAN LETTER THA
+0FA0 ; [.2462.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
+0F51 ; [.2463.0020.0002.0F51] # TIBETAN LETTER DA
+0F52 ; [.2463.0020.0002.0F51][.248B.0020.0002.0FB7] # TIBETAN LETTER DHA; QQCN
+0FA1 ; [.2464.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
+0FA2 ; [.2464.0020.0002.0FA1][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA; QQCN
+0F53 ; [.2465.0020.0002.0F53] # TIBETAN LETTER NA
+0FA3 ; [.2466.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
+0F54 ; [.2467.0020.0002.0F54] # TIBETAN LETTER PA
+0FA4 ; [.2468.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
+0F55 ; [.2469.0020.0002.0F55] # TIBETAN LETTER PHA
+0FA5 ; [.246A.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
+0F56 ; [.246B.0020.0002.0F56] # TIBETAN LETTER BA
+0F57 ; [.246B.0020.0002.0F56][.248B.0020.0002.0FB7] # TIBETAN LETTER BHA; QQCN
+0FA6 ; [.246C.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
+0FA7 ; [.246C.0020.0002.0FA6][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA; QQCN
+0F58 ; [.246D.0020.0002.0F58] # TIBETAN LETTER MA
+0FA8 ; [.246E.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
+0F59 ; [.246F.0020.0002.0F59] # TIBETAN LETTER TSA
+0FA9 ; [.2470.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
+0F5A ; [.2471.0020.0002.0F5A] # TIBETAN LETTER TSHA
+0FAA ; [.2472.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
+0F5B ; [.2473.0020.0002.0F5B] # TIBETAN LETTER DZA
+0F5C ; [.2473.0020.0002.0F5B][.248B.0020.0002.0FB7] # TIBETAN LETTER DZHA; QQCN
+0FAB ; [.2474.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
+0FAC ; [.2474.0020.0002.0FAB][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA; QQCN
+0F5D ; [.2475.0020.0002.0F5D] # TIBETAN LETTER WA
+0FAD ; [.2476.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
+0FBA ; [.2476.0020.0004.0FBA][.0000.0160.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA; QQKN
+0F5E ; [.2477.0020.0002.0F5E] # TIBETAN LETTER ZHA
+0FAE ; [.2478.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
+0F5F ; [.2479.0020.0002.0F5F] # TIBETAN LETTER ZA
+0FAF ; [.247A.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
+0F60 ; [.247B.0020.0002.0F60] # TIBETAN LETTER -A
+0FB0 ; [.247C.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
+0F61 ; [.247D.0020.0002.0F61] # TIBETAN LETTER YA
+0FB1 ; [.247E.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
+0FBB ; [.247E.0020.0004.0FBB][.0000.0160.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA; QQKN
+0F62 ; [.247F.0020.0002.0F62] # TIBETAN LETTER RA
+0F6A ; [.247F.0020.0004.0F6A][.0000.0160.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA; QQKN
+0FB2 ; [.2480.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
+0FBC ; [.2480.0020.0004.0FBC][.0000.0160.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA; QQKN
+0F6C ; [.2481.0020.0002.0F6C] # TIBETAN LETTER RRA
+0F63 ; [.2482.0020.0002.0F63] # TIBETAN LETTER LA
+0FB3 ; [.2483.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
+0F64 ; [.2484.0020.0002.0F64] # TIBETAN LETTER SHA
+0FB4 ; [.2485.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
+0F65 ; [.2486.0020.0002.0F65] # TIBETAN LETTER SSA
+0FB5 ; [.2487.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
+0F66 ; [.2488.0020.0002.0F66] # TIBETAN LETTER SA
+0FB6 ; [.2489.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
+0F67 ; [.248A.0020.0002.0F67] # TIBETAN LETTER HA
+0FB7 ; [.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
+0F68 ; [.248C.0020.0002.0F68] # TIBETAN LETTER A
+0F00 ; [.248C.0020.0004.0F00][.24A3.0020.0004.0F00][.0000.012D.001F.0F00] # TIBETAN SYLLABLE OM; QQKN
+0FB8 ; [.248D.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
+0F88 ; [.248E.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
+0F8D ; [.248F.0020.0002.0F8D] # TIBETAN SUBJOINED SIGN LCE TSA CAN
+0F89 ; [.2490.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
+0F8E ; [.2491.0020.0002.0F8E] # TIBETAN SUBJOINED SIGN MCHU CAN
+0F8C ; [.2492.0020.0002.0F8C] # TIBETAN SIGN INVERTED MCHU CAN
+0F8F ; [.2493.0020.0002.0F8F] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+0F8A ; [.2494.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
+0F8B ; [.2495.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
+0F71 ; [.2496.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
+0F72 ; [.2497.0020.0002.0F72] # TIBETAN VOWEL SIGN I
+0F73 ; [.2498.0020.0002.0F73] # TIBETAN VOWEL SIGN II
+0F71 0F72 ; [.2498.0020.0002.0F73] # TIBETAN VOWEL SIGN II
+0F80 ; [.2499.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
+0F81 ; [.249A.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
+0F71 0F80 ; [.249A.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
+0F74 ; [.249B.0020.0002.0F74] # TIBETAN VOWEL SIGN U
+0F75 ; [.249C.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
+0F71 0F74 ; [.249C.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
+0F76 ; [.249D.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
+0FB2 0F80 ; [.249D.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
+0F77 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F71 0F80 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F81 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0F78 ; [.249F.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
+0FB3 0F80 ; [.249F.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
+0F79 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F71 0F80 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F81 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0F7A ; [.24A1.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
+0F7B ; [.24A2.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
+0F7C ; [.24A3.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
+0F7D ; [.24A4.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
+0F84 ; [.24A5.0020.0002.0F84] # TIBETAN MARK HALANTA
+1C00 ; [.24A6.0020.0002.1C00] # LEPCHA LETTER KA
+1C01 ; [.24A7.0020.0002.1C01] # LEPCHA LETTER KLA
+1C02 ; [.24A8.0020.0002.1C02] # LEPCHA LETTER KHA
+1C03 ; [.24A9.0020.0002.1C03] # LEPCHA LETTER GA
+1C04 ; [.24AA.0020.0002.1C04] # LEPCHA LETTER GLA
+1C05 ; [.24AB.0020.0002.1C05] # LEPCHA LETTER NGA
+1C06 ; [.24AC.0020.0002.1C06] # LEPCHA LETTER CA
+1C07 ; [.24AD.0020.0002.1C07] # LEPCHA LETTER CHA
+1C08 ; [.24AE.0020.0002.1C08] # LEPCHA LETTER JA
+1C09 ; [.24AF.0020.0002.1C09] # LEPCHA LETTER NYA
+1C4D ; [.24B0.0020.0002.1C4D] # LEPCHA LETTER TTA
+1C4E ; [.24B1.0020.0002.1C4E] # LEPCHA LETTER TTHA
+1C4F ; [.24B2.0020.0002.1C4F] # LEPCHA LETTER DDA
+1C0A ; [.24B3.0020.0002.1C0A] # LEPCHA LETTER TA
+1C0B ; [.24B4.0020.0002.1C0B] # LEPCHA LETTER THA
+1C0C ; [.24B5.0020.0002.1C0C] # LEPCHA LETTER DA
+1C0D ; [.24B6.0020.0002.1C0D] # LEPCHA LETTER NA
+1C0E ; [.24B7.0020.0002.1C0E] # LEPCHA LETTER PA
+1C0F ; [.24B8.0020.0002.1C0F] # LEPCHA LETTER PLA
+1C10 ; [.24B9.0020.0002.1C10] # LEPCHA LETTER PHA
+1C11 ; [.24BA.0020.0002.1C11] # LEPCHA LETTER FA
+1C12 ; [.24BB.0020.0002.1C12] # LEPCHA LETTER FLA
+1C13 ; [.24BC.0020.0002.1C13] # LEPCHA LETTER BA
+1C14 ; [.24BD.0020.0002.1C14] # LEPCHA LETTER BLA
+1C15 ; [.24BE.0020.0002.1C15] # LEPCHA LETTER MA
+1C16 ; [.24BF.0020.0002.1C16] # LEPCHA LETTER MLA
+1C17 ; [.24C0.0020.0002.1C17] # LEPCHA LETTER TSA
+1C18 ; [.24C1.0020.0002.1C18] # LEPCHA LETTER TSHA
+1C19 ; [.24C2.0020.0002.1C19] # LEPCHA LETTER DZA
+1C1A ; [.24C3.0020.0002.1C1A] # LEPCHA LETTER YA
+1C24 ; [.24C4.0020.0002.1C24] # LEPCHA SUBJOINED LETTER YA
+1C1B ; [.24C5.0020.0002.1C1B] # LEPCHA LETTER RA
+1C25 ; [.24C6.0020.0002.1C25] # LEPCHA SUBJOINED LETTER RA
+1C1C ; [.24C7.0020.0002.1C1C] # LEPCHA LETTER LA
+1C1D ; [.24C8.0020.0002.1C1D] # LEPCHA LETTER HA
+1C1E ; [.24C9.0020.0002.1C1E] # LEPCHA LETTER HLA
+1C1F ; [.24CA.0020.0002.1C1F] # LEPCHA LETTER VA
+1C20 ; [.24CB.0020.0002.1C20] # LEPCHA LETTER SA
+1C21 ; [.24CC.0020.0002.1C21] # LEPCHA LETTER SHA
+1C22 ; [.24CD.0020.0002.1C22] # LEPCHA LETTER WA
+1C23 ; [.24CE.0020.0002.1C23] # LEPCHA LETTER A
+1C36 ; [.24CF.0020.0002.1C36] # LEPCHA SIGN RAN
+1C26 ; [.24D0.0020.0002.1C26] # LEPCHA VOWEL SIGN AA
+1C27 ; [.24D1.0020.0002.1C27] # LEPCHA VOWEL SIGN I
+1C28 ; [.24D2.0020.0002.1C28] # LEPCHA VOWEL SIGN O
+1C29 ; [.24D3.0020.0002.1C29] # LEPCHA VOWEL SIGN OO
+1C2A ; [.24D4.0020.0002.1C2A] # LEPCHA VOWEL SIGN U
+1C2B ; [.24D5.0020.0002.1C2B] # LEPCHA VOWEL SIGN UU
+1C2C ; [.24D6.0020.0002.1C2C] # LEPCHA VOWEL SIGN E
+1C2D ; [.24D7.0020.0002.1C2D] # LEPCHA CONSONANT SIGN K
+1C2E ; [.24D8.0020.0002.1C2E] # LEPCHA CONSONANT SIGN M
+1C2F ; [.24D9.0020.0002.1C2F] # LEPCHA CONSONANT SIGN L
+1C30 ; [.24DA.0020.0002.1C30] # LEPCHA CONSONANT SIGN N
+1C31 ; [.24DB.0020.0002.1C31] # LEPCHA CONSONANT SIGN P
+1C32 ; [.24DC.0020.0002.1C32] # LEPCHA CONSONANT SIGN R
+1C33 ; [.24DD.0020.0002.1C33] # LEPCHA CONSONANT SIGN T
+1C34 ; [.24DE.0020.0002.1C34] # LEPCHA CONSONANT SIGN NYIN-DO
+1C35 ; [.24DF.0020.0002.1C35] # LEPCHA CONSONANT SIGN KANG
+A840 ; [.24E0.0020.0002.A840] # PHAGS-PA LETTER KA
+A841 ; [.24E1.0020.0002.A841] # PHAGS-PA LETTER KHA
+A842 ; [.24E2.0020.0002.A842] # PHAGS-PA LETTER GA
+A843 ; [.24E3.0020.0002.A843] # PHAGS-PA LETTER NGA
+A844 ; [.24E4.0020.0002.A844] # PHAGS-PA LETTER CA
+A845 ; [.24E5.0020.0002.A845] # PHAGS-PA LETTER CHA
+A846 ; [.24E6.0020.0002.A846] # PHAGS-PA LETTER JA
+A847 ; [.24E7.0020.0002.A847] # PHAGS-PA LETTER NYA
+A869 ; [.24E8.0020.0002.A869] # PHAGS-PA LETTER TTA
+A86A ; [.24E9.0020.0002.A86A] # PHAGS-PA LETTER TTHA
+A86B ; [.24EA.0020.0002.A86B] # PHAGS-PA LETTER DDA
+A86C ; [.24EB.0020.0002.A86C] # PHAGS-PA LETTER NNA
+A848 ; [.24EC.0020.0002.A848] # PHAGS-PA LETTER TA
+A849 ; [.24ED.0020.0002.A849] # PHAGS-PA LETTER THA
+A84A ; [.24EE.0020.0002.A84A] # PHAGS-PA LETTER DA
+A84B ; [.24EF.0020.0002.A84B] # PHAGS-PA LETTER NA
+A84C ; [.24F0.0020.0002.A84C] # PHAGS-PA LETTER PA
+A84D ; [.24F1.0020.0002.A84D] # PHAGS-PA LETTER PHA
+A84E ; [.24F2.0020.0002.A84E] # PHAGS-PA LETTER BA
+A84F ; [.24F3.0020.0002.A84F] # PHAGS-PA LETTER MA
+A850 ; [.24F4.0020.0002.A850] # PHAGS-PA LETTER TSA
+A851 ; [.24F5.0020.0002.A851] # PHAGS-PA LETTER TSHA
+A852 ; [.24F6.0020.0002.A852] # PHAGS-PA LETTER DZA
+A853 ; [.24F7.0020.0002.A853] # PHAGS-PA LETTER WA
+A867 ; [.24F8.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
+A854 ; [.24F9.0020.0002.A854] # PHAGS-PA LETTER ZHA
+A855 ; [.24FA.0020.0002.A855] # PHAGS-PA LETTER ZA
+A856 ; [.24FB.0020.0002.A856] # PHAGS-PA LETTER SMALL A
+A857 ; [.24FC.0020.0002.A857] # PHAGS-PA LETTER YA
+A868 ; [.24FD.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
+A86D ; [.24FE.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
+A858 ; [.24FF.0020.0002.A858] # PHAGS-PA LETTER RA
+A871 ; [.2500.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
+A872 ; [.2501.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
+A859 ; [.2502.0020.0002.A859] # PHAGS-PA LETTER LA
+A85A ; [.2503.0020.0002.A85A] # PHAGS-PA LETTER SHA
+A86E ; [.2504.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
+A85B ; [.2505.0020.0002.A85B] # PHAGS-PA LETTER SA
+A85C ; [.2506.0020.0002.A85C] # PHAGS-PA LETTER HA
+A86F ; [.2507.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
+A870 ; [.2508.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
+A85D ; [.2509.0020.0002.A85D] # PHAGS-PA LETTER A
+A862 ; [.250A.0020.0002.A862] # PHAGS-PA LETTER QA
+A863 ; [.250B.0020.0002.A863] # PHAGS-PA LETTER XA
+A864 ; [.250C.0020.0002.A864] # PHAGS-PA LETTER FA
+A865 ; [.250D.0020.0002.A865] # PHAGS-PA LETTER GGA
+A85E ; [.250E.0020.0002.A85E] # PHAGS-PA LETTER I
+A85F ; [.250F.0020.0002.A85F] # PHAGS-PA LETTER U
+A860 ; [.2510.0020.0002.A860] # PHAGS-PA LETTER E
+A861 ; [.2511.0020.0002.A861] # PHAGS-PA LETTER O
+A866 ; [.2512.0020.0002.A866] # PHAGS-PA LETTER EE
+A873 ; [.2513.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
+1900 ; [.2514.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
+1901 ; [.2515.0020.0002.1901] # LIMBU LETTER KA
+1902 ; [.2516.0020.0002.1902] # LIMBU LETTER KHA
+1903 ; [.2517.0020.0002.1903] # LIMBU LETTER GA
+1904 ; [.2518.0020.0002.1904] # LIMBU LETTER GHA
+1905 ; [.2519.0020.0002.1905] # LIMBU LETTER NGA
+1906 ; [.251A.0020.0002.1906] # LIMBU LETTER CA
+1907 ; [.251B.0020.0002.1907] # LIMBU LETTER CHA
+1908 ; [.251C.0020.0002.1908] # LIMBU LETTER JA
+1909 ; [.251D.0020.0002.1909] # LIMBU LETTER JHA
+190A ; [.251E.0020.0002.190A] # LIMBU LETTER YAN
+190B ; [.251F.0020.0002.190B] # LIMBU LETTER TA
+190C ; [.2520.0020.0002.190C] # LIMBU LETTER THA
+190D ; [.2521.0020.0002.190D] # LIMBU LETTER DA
+190E ; [.2522.0020.0002.190E] # LIMBU LETTER DHA
+190F ; [.2523.0020.0002.190F] # LIMBU LETTER NA
+1910 ; [.2524.0020.0002.1910] # LIMBU LETTER PA
+1911 ; [.2525.0020.0002.1911] # LIMBU LETTER PHA
+1912 ; [.2526.0020.0002.1912] # LIMBU LETTER BA
+1913 ; [.2527.0020.0002.1913] # LIMBU LETTER BHA
+1914 ; [.2528.0020.0002.1914] # LIMBU LETTER MA
+1915 ; [.2529.0020.0002.1915] # LIMBU LETTER YA
+1916 ; [.252A.0020.0002.1916] # LIMBU LETTER RA
+1917 ; [.252B.0020.0002.1917] # LIMBU LETTER LA
+1918 ; [.252C.0020.0002.1918] # LIMBU LETTER WA
+1919 ; [.252D.0020.0002.1919] # LIMBU LETTER SHA
+191A ; [.252E.0020.0002.191A] # LIMBU LETTER SSA
+191B ; [.252F.0020.0002.191B] # LIMBU LETTER SA
+191C ; [.2530.0020.0002.191C] # LIMBU LETTER HA
+1920 ; [.2531.0020.0002.1920] # LIMBU VOWEL SIGN A
+1921 ; [.2532.0020.0002.1921] # LIMBU VOWEL SIGN I
+1922 ; [.2533.0020.0002.1922] # LIMBU VOWEL SIGN U
+1923 ; [.2534.0020.0002.1923] # LIMBU VOWEL SIGN EE
+1924 ; [.2535.0020.0002.1924] # LIMBU VOWEL SIGN AI
+1925 ; [.2536.0020.0002.1925] # LIMBU VOWEL SIGN OO
+1926 ; [.2537.0020.0002.1926] # LIMBU VOWEL SIGN AU
+1927 ; [.2538.0020.0002.1927] # LIMBU VOWEL SIGN E
+1928 ; [.2539.0020.0002.1928] # LIMBU VOWEL SIGN O
+1929 ; [.253A.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
+192A ; [.253B.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
+192B ; [.253C.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
+1930 ; [.253D.0020.0002.1930] # LIMBU SMALL LETTER KA
+1931 ; [.253E.0020.0002.1931] # LIMBU SMALL LETTER NGA
+1932 ; [.253F.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
+1933 ; [.2540.0020.0002.1933] # LIMBU SMALL LETTER TA
+1934 ; [.2541.0020.0002.1934] # LIMBU SMALL LETTER NA
+1935 ; [.2542.0020.0002.1935] # LIMBU SMALL LETTER PA
+1936 ; [.2543.0020.0002.1936] # LIMBU SMALL LETTER MA
+1937 ; [.2544.0020.0002.1937] # LIMBU SMALL LETTER RA
+1938 ; [.2545.0020.0002.1938] # LIMBU SMALL LETTER LA
+1700 ; [.2546.0020.0002.1700] # TAGALOG LETTER A
+1701 ; [.2547.0020.0002.1701] # TAGALOG LETTER I
+1702 ; [.2548.0020.0002.1702] # TAGALOG LETTER U
+1703 ; [.2549.0020.0002.1703] # TAGALOG LETTER KA
+1704 ; [.254A.0020.0002.1704] # TAGALOG LETTER GA
+1705 ; [.254B.0020.0002.1705] # TAGALOG LETTER NGA
+1706 ; [.254C.0020.0002.1706] # TAGALOG LETTER TA
+1707 ; [.254D.0020.0002.1707] # TAGALOG LETTER DA
+1708 ; [.254E.0020.0002.1708] # TAGALOG LETTER NA
+1709 ; [.254F.0020.0002.1709] # TAGALOG LETTER PA
+170A ; [.2550.0020.0002.170A] # TAGALOG LETTER BA
+170B ; [.2551.0020.0002.170B] # TAGALOG LETTER MA
+170C ; [.2552.0020.0002.170C] # TAGALOG LETTER YA
+170E ; [.2553.0020.0002.170E] # TAGALOG LETTER LA
+170F ; [.2554.0020.0002.170F] # TAGALOG LETTER WA
+1710 ; [.2555.0020.0002.1710] # TAGALOG LETTER SA
+1711 ; [.2556.0020.0002.1711] # TAGALOG LETTER HA
+1712 ; [.2557.0020.0002.1712] # TAGALOG VOWEL SIGN I
+1713 ; [.2558.0020.0002.1713] # TAGALOG VOWEL SIGN U
+1714 ; [.2559.0020.0002.1714] # TAGALOG SIGN VIRAMA
+1720 ; [.255A.0020.0002.1720] # HANUNOO LETTER A
+1721 ; [.255B.0020.0002.1721] # HANUNOO LETTER I
+1722 ; [.255C.0020.0002.1722] # HANUNOO LETTER U
+1723 ; [.255D.0020.0002.1723] # HANUNOO LETTER KA
+1724 ; [.255E.0020.0002.1724] # HANUNOO LETTER GA
+1725 ; [.255F.0020.0002.1725] # HANUNOO LETTER NGA
+1726 ; [.2560.0020.0002.1726] # HANUNOO LETTER TA
+1727 ; [.2561.0020.0002.1727] # HANUNOO LETTER DA
+1728 ; [.2562.0020.0002.1728] # HANUNOO LETTER NA
+1729 ; [.2563.0020.0002.1729] # HANUNOO LETTER PA
+172A ; [.2564.0020.0002.172A] # HANUNOO LETTER BA
+172B ; [.2565.0020.0002.172B] # HANUNOO LETTER MA
+172C ; [.2566.0020.0002.172C] # HANUNOO LETTER YA
+172D ; [.2567.0020.0002.172D] # HANUNOO LETTER RA
+172E ; [.2568.0020.0002.172E] # HANUNOO LETTER LA
+172F ; [.2569.0020.0002.172F] # HANUNOO LETTER WA
+1730 ; [.256A.0020.0002.1730] # HANUNOO LETTER SA
+1731 ; [.256B.0020.0002.1731] # HANUNOO LETTER HA
+1732 ; [.256C.0020.0002.1732] # HANUNOO VOWEL SIGN I
+1733 ; [.256D.0020.0002.1733] # HANUNOO VOWEL SIGN U
+1734 ; [.256E.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
+1740 ; [.256F.0020.0002.1740] # BUHID LETTER A
+1741 ; [.2570.0020.0002.1741] # BUHID LETTER I
+1742 ; [.2571.0020.0002.1742] # BUHID LETTER U
+1743 ; [.2572.0020.0002.1743] # BUHID LETTER KA
+1744 ; [.2573.0020.0002.1744] # BUHID LETTER GA
+1745 ; [.2574.0020.0002.1745] # BUHID LETTER NGA
+1746 ; [.2575.0020.0002.1746] # BUHID LETTER TA
+1747 ; [.2576.0020.0002.1747] # BUHID LETTER DA
+1748 ; [.2577.0020.0002.1748] # BUHID LETTER NA
+1749 ; [.2578.0020.0002.1749] # BUHID LETTER PA
+174A ; [.2579.0020.0002.174A] # BUHID LETTER BA
+174B ; [.257A.0020.0002.174B] # BUHID LETTER MA
+174C ; [.257B.0020.0002.174C] # BUHID LETTER YA
+174D ; [.257C.0020.0002.174D] # BUHID LETTER RA
+174E ; [.257D.0020.0002.174E] # BUHID LETTER LA
+174F ; [.257E.0020.0002.174F] # BUHID LETTER WA
+1750 ; [.257F.0020.0002.1750] # BUHID LETTER SA
+1751 ; [.2580.0020.0002.1751] # BUHID LETTER HA
+1752 ; [.2581.0020.0002.1752] # BUHID VOWEL SIGN I
+1753 ; [.2582.0020.0002.1753] # BUHID VOWEL SIGN U
+1760 ; [.2583.0020.0002.1760] # TAGBANWA LETTER A
+1761 ; [.2584.0020.0002.1761] # TAGBANWA LETTER I
+1762 ; [.2585.0020.0002.1762] # TAGBANWA LETTER U
+1763 ; [.2586.0020.0002.1763] # TAGBANWA LETTER KA
+1764 ; [.2587.0020.0002.1764] # TAGBANWA LETTER GA
+1765 ; [.2588.0020.0002.1765] # TAGBANWA LETTER NGA
+1766 ; [.2589.0020.0002.1766] # TAGBANWA LETTER TA
+1767 ; [.258A.0020.0002.1767] # TAGBANWA LETTER DA
+1768 ; [.258B.0020.0002.1768] # TAGBANWA LETTER NA
+1769 ; [.258C.0020.0002.1769] # TAGBANWA LETTER PA
+176A ; [.258D.0020.0002.176A] # TAGBANWA LETTER BA
+176B ; [.258E.0020.0002.176B] # TAGBANWA LETTER MA
+176C ; [.258F.0020.0002.176C] # TAGBANWA LETTER YA
+176E ; [.2590.0020.0002.176E] # TAGBANWA LETTER LA
+176F ; [.2591.0020.0002.176F] # TAGBANWA LETTER WA
+1770 ; [.2592.0020.0002.1770] # TAGBANWA LETTER SA
+1772 ; [.2593.0020.0002.1772] # TAGBANWA VOWEL SIGN I
+1773 ; [.2594.0020.0002.1773] # TAGBANWA VOWEL SIGN U
+1A00 ; [.2595.0020.0002.1A00] # BUGINESE LETTER KA
+1A01 ; [.2596.0020.0002.1A01] # BUGINESE LETTER GA
+1A02 ; [.2597.0020.0002.1A02] # BUGINESE LETTER NGA
+1A03 ; [.2598.0020.0002.1A03] # BUGINESE LETTER NGKA
+1A04 ; [.2599.0020.0002.1A04] # BUGINESE LETTER PA
+1A05 ; [.259A.0020.0002.1A05] # BUGINESE LETTER BA
+1A06 ; [.259B.0020.0002.1A06] # BUGINESE LETTER MA
+1A07 ; [.259C.0020.0002.1A07] # BUGINESE LETTER MPA
+1A08 ; [.259D.0020.0002.1A08] # BUGINESE LETTER TA
+1A09 ; [.259E.0020.0002.1A09] # BUGINESE LETTER DA
+1A0A ; [.259F.0020.0002.1A0A] # BUGINESE LETTER NA
+1A0B ; [.25A0.0020.0002.1A0B] # BUGINESE LETTER NRA
+1A0C ; [.25A1.0020.0002.1A0C] # BUGINESE LETTER CA
+1A0D ; [.25A2.0020.0002.1A0D] # BUGINESE LETTER JA
+1A0E ; [.25A3.0020.0002.1A0E] # BUGINESE LETTER NYA
+1A0F ; [.25A4.0020.0002.1A0F] # BUGINESE LETTER NYCA
+1A10 ; [.25A5.0020.0002.1A10] # BUGINESE LETTER YA
+1A11 ; [.25A6.0020.0002.1A11] # BUGINESE LETTER RA
+1A12 ; [.25A7.0020.0002.1A12] # BUGINESE LETTER LA
+1A13 ; [.25A8.0020.0002.1A13] # BUGINESE LETTER VA
+1A14 ; [.25A9.0020.0002.1A14] # BUGINESE LETTER SA
+1A15 ; [.25AA.0020.0002.1A15] # BUGINESE LETTER A
+1A16 ; [.25AB.0020.0002.1A16] # BUGINESE LETTER HA
+1A17 ; [.25AC.0020.0002.1A17] # BUGINESE VOWEL SIGN I
+1A18 ; [.25AD.0020.0002.1A18] # BUGINESE VOWEL SIGN U
+1A19 ; [.25AE.0020.0002.1A19] # BUGINESE VOWEL SIGN E
+1A1A ; [.25AF.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
+1A1B ; [.25B0.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
+1BC0 ; [.25B1.0020.0002.1BC0] # BATAK LETTER A
+1BC1 ; [.25B1.0020.0004.1BC1] # BATAK LETTER SIMALUNGUN A; QQK
+1BC2 ; [.25B2.0020.0002.1BC2] # BATAK LETTER HA
+1BC3 ; [.25B2.0020.0004.1BC3] # BATAK LETTER SIMALUNGUN HA; QQK
+1BC4 ; [.25B2.0020.0004.1BC4] # BATAK LETTER MANDAILING HA; QQK
+1BC5 ; [.25B3.0020.0002.1BC5] # BATAK LETTER BA
+1BC6 ; [.25B3.0020.0004.1BC6] # BATAK LETTER KARO BA; QQK
+1BC7 ; [.25B4.0020.0002.1BC7] # BATAK LETTER PA
+1BC8 ; [.25B4.0020.0004.1BC8] # BATAK LETTER SIMALUNGUN PA; QQK
+1BC9 ; [.25B5.0020.0002.1BC9] # BATAK LETTER NA
+1BCA ; [.25B5.0020.0004.1BCA] # BATAK LETTER MANDAILING NA; QQK
+1BCB ; [.25B6.0020.0002.1BCB] # BATAK LETTER WA
+1BCC ; [.25B6.0020.0004.1BCC] # BATAK LETTER SIMALUNGUN WA; QQK
+1BCD ; [.25B6.0020.0004.1BCD] # BATAK LETTER PAKPAK WA; QQK
+1BCE ; [.25B7.0020.0002.1BCE] # BATAK LETTER GA
+1BCF ; [.25B7.0020.0004.1BCF] # BATAK LETTER SIMALUNGUN GA; QQK
+1BD0 ; [.25B8.0020.0002.1BD0] # BATAK LETTER JA
+1BD1 ; [.25B9.0020.0002.1BD1] # BATAK LETTER DA
+1BD2 ; [.25BA.0020.0002.1BD2] # BATAK LETTER RA
+1BD3 ; [.25BA.0020.0004.1BD3] # BATAK LETTER SIMALUNGUN RA; QQK
+1BD4 ; [.25BB.0020.0002.1BD4] # BATAK LETTER MA
+1BD5 ; [.25BB.0020.0004.1BD5] # BATAK LETTER SIMALUNGUN MA; QQK
+1BD6 ; [.25BC.0020.0002.1BD6] # BATAK LETTER SOUTHERN TA
+1BD7 ; [.25BC.0020.0004.1BD7] # BATAK LETTER NORTHERN TA; QQK
+1BD8 ; [.25BD.0020.0002.1BD8] # BATAK LETTER SA
+1BD9 ; [.25BD.0020.0004.1BD9] # BATAK LETTER SIMALUNGUN SA; QQK
+1BDA ; [.25BD.0020.0004.1BDA] # BATAK LETTER MANDAILING SA; QQK
+1BDB ; [.25BE.0020.0002.1BDB] # BATAK LETTER YA
+1BDC ; [.25BE.0020.0004.1BDC] # BATAK LETTER SIMALUNGUN YA; QQK
+1BDD ; [.25BF.0020.0002.1BDD] # BATAK LETTER NGA
+1BDE ; [.25C0.0020.0002.1BDE] # BATAK LETTER LA
+1BDF ; [.25C0.0020.0004.1BDF] # BATAK LETTER SIMALUNGUN LA; QQK
+1BE0 ; [.25C1.0020.0002.1BE0] # BATAK LETTER NYA
+1BE1 ; [.25C2.0020.0002.1BE1] # BATAK LETTER CA
+1BE2 ; [.25C3.0020.0002.1BE2] # BATAK LETTER NDA
+1BE3 ; [.25C4.0020.0002.1BE3] # BATAK LETTER MBA
+1BE4 ; [.25C5.0020.0002.1BE4] # BATAK LETTER I
+1BE5 ; [.25C6.0020.0002.1BE5] # BATAK LETTER U
+1BE7 ; [.25C7.0020.0002.1BE7] # BATAK VOWEL SIGN E
+1BE8 ; [.25C7.0020.0004.1BE8] # BATAK VOWEL SIGN PAKPAK E; QQK
+1BE9 ; [.25C8.0020.0002.1BE9] # BATAK VOWEL SIGN EE
+1BEA ; [.25C9.0020.0002.1BEA] # BATAK VOWEL SIGN I
+1BEB ; [.25C9.0020.0004.1BEB] # BATAK VOWEL SIGN KARO I; QQK
+1BEC ; [.25CA.0020.0002.1BEC] # BATAK VOWEL SIGN O
+1BED ; [.25CA.0020.0004.1BED] # BATAK VOWEL SIGN KARO O; QQK
+1BEE ; [.25CB.0020.0002.1BEE] # BATAK VOWEL SIGN U
+1BEF ; [.25CB.0020.0004.1BEF] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA; QQK
+1BF0 ; [.25CC.0020.0002.1BF0] # BATAK CONSONANT SIGN NG
+1BF1 ; [.25CD.0020.0002.1BF1] # BATAK CONSONANT SIGN H
+1BF2 ; [.25CE.0020.0002.1BF2] # BATAK PANGOLAT
+1BF3 ; [.25CF.0020.0002.1BF3] # BATAK PANONGONAN
+A930 ; [.25D0.0020.0002.A930] # REJANG LETTER KA
+A931 ; [.25D1.0020.0002.A931] # REJANG LETTER GA
+A932 ; [.25D2.0020.0002.A932] # REJANG LETTER NGA
+A933 ; [.25D3.0020.0002.A933] # REJANG LETTER TA
+A934 ; [.25D4.0020.0002.A934] # REJANG LETTER DA
+A935 ; [.25D5.0020.0002.A935] # REJANG LETTER NA
+A936 ; [.25D6.0020.0002.A936] # REJANG LETTER PA
+A937 ; [.25D7.0020.0002.A937] # REJANG LETTER BA
+A938 ; [.25D8.0020.0002.A938] # REJANG LETTER MA
+A939 ; [.25D9.0020.0002.A939] # REJANG LETTER CA
+A93A ; [.25DA.0020.0002.A93A] # REJANG LETTER JA
+A93B ; [.25DB.0020.0002.A93B] # REJANG LETTER NYA
+A93C ; [.25DC.0020.0002.A93C] # REJANG LETTER SA
+A93D ; [.25DD.0020.0002.A93D] # REJANG LETTER RA
+A93E ; [.25DE.0020.0002.A93E] # REJANG LETTER LA
+A93F ; [.25DF.0020.0002.A93F] # REJANG LETTER YA
+A940 ; [.25E0.0020.0002.A940] # REJANG LETTER WA
+A941 ; [.25E1.0020.0002.A941] # REJANG LETTER HA
+A942 ; [.25E2.0020.0002.A942] # REJANG LETTER MBA
+A943 ; [.25E3.0020.0002.A943] # REJANG LETTER NGGA
+A944 ; [.25E4.0020.0002.A944] # REJANG LETTER NDA
+A945 ; [.25E5.0020.0002.A945] # REJANG LETTER NYJA
+A946 ; [.25E6.0020.0002.A946] # REJANG LETTER A
+A947 ; [.25E7.0020.0002.A947] # REJANG VOWEL SIGN I
+A948 ; [.25E8.0020.0002.A948] # REJANG VOWEL SIGN U
+A949 ; [.25E9.0020.0002.A949] # REJANG VOWEL SIGN E
+A94A ; [.25EA.0020.0002.A94A] # REJANG VOWEL SIGN AI
+A94B ; [.25EB.0020.0002.A94B] # REJANG VOWEL SIGN O
+A94C ; [.25EC.0020.0002.A94C] # REJANG VOWEL SIGN AU
+A94D ; [.25ED.0020.0002.A94D] # REJANG VOWEL SIGN EU
+A94E ; [.25EE.0020.0002.A94E] # REJANG VOWEL SIGN EA
+A94F ; [.25EF.0020.0002.A94F] # REJANG CONSONANT SIGN NG
+A950 ; [.25F0.0020.0002.A950] # REJANG CONSONANT SIGN N
+A951 ; [.25F1.0020.0002.A951] # REJANG CONSONANT SIGN R
+A952 ; [.25F2.0020.0002.A952] # REJANG CONSONANT SIGN H
+A953 ; [.25F3.0020.0002.A953] # REJANG VIRAMA
+A90A ; [.25F4.0020.0002.A90A] # KAYAH LI LETTER KA
+A90B ; [.25F5.0020.0002.A90B] # KAYAH LI LETTER KHA
+A90C ; [.25F6.0020.0002.A90C] # KAYAH LI LETTER GA
+A90D ; [.25F7.0020.0002.A90D] # KAYAH LI LETTER NGA
+A90E ; [.25F8.0020.0002.A90E] # KAYAH LI LETTER SA
+A90F ; [.25F9.0020.0002.A90F] # KAYAH LI LETTER SHA
+A910 ; [.25FA.0020.0002.A910] # KAYAH LI LETTER ZA
+A911 ; [.25FB.0020.0002.A911] # KAYAH LI LETTER NYA
+A912 ; [.25FC.0020.0002.A912] # KAYAH LI LETTER TA
+A913 ; [.25FD.0020.0002.A913] # KAYAH LI LETTER HTA
+A914 ; [.25FE.0020.0002.A914] # KAYAH LI LETTER NA
+A915 ; [.25FF.0020.0002.A915] # KAYAH LI LETTER PA
+A916 ; [.2600.0020.0002.A916] # KAYAH LI LETTER PHA
+A917 ; [.2601.0020.0002.A917] # KAYAH LI LETTER MA
+A918 ; [.2602.0020.0002.A918] # KAYAH LI LETTER DA
+A919 ; [.2603.0020.0002.A919] # KAYAH LI LETTER BA
+A91A ; [.2604.0020.0002.A91A] # KAYAH LI LETTER RA
+A91B ; [.2605.0020.0002.A91B] # KAYAH LI LETTER YA
+A91C ; [.2606.0020.0002.A91C] # KAYAH LI LETTER LA
+A91D ; [.2607.0020.0002.A91D] # KAYAH LI LETTER WA
+A91E ; [.2608.0020.0002.A91E] # KAYAH LI LETTER THA
+A91F ; [.2609.0020.0002.A91F] # KAYAH LI LETTER HA
+A920 ; [.260A.0020.0002.A920] # KAYAH LI LETTER VA
+A921 ; [.260B.0020.0002.A921] # KAYAH LI LETTER CA
+A922 ; [.260C.0020.0002.A922] # KAYAH LI LETTER A
+A923 ; [.260D.0020.0002.A923] # KAYAH LI LETTER OE
+A924 ; [.260E.0020.0002.A924] # KAYAH LI LETTER I
+A925 ; [.260F.0020.0002.A925] # KAYAH LI LETTER OO
+A926 ; [.2610.0020.0002.A926] # KAYAH LI VOWEL UE
+A927 ; [.2611.0020.0002.A927] # KAYAH LI VOWEL E
+A928 ; [.2612.0020.0002.A928] # KAYAH LI VOWEL U
+A929 ; [.2613.0020.0002.A929] # KAYAH LI VOWEL EE
+A92A ; [.2614.0020.0002.A92A] # KAYAH LI VOWEL O
+1000 ; [.2615.0020.0002.1000] # MYANMAR LETTER KA
+1075 ; [.2616.0020.0002.1075] # MYANMAR LETTER SHAN KA
+1001 ; [.2617.0020.0002.1001] # MYANMAR LETTER KHA
+1076 ; [.2618.0020.0002.1076] # MYANMAR LETTER SHAN KHA
+1002 ; [.2619.0020.0002.1002] # MYANMAR LETTER GA
+1077 ; [.261A.0020.0002.1077] # MYANMAR LETTER SHAN GA
+AA60 ; [.261B.0020.0002.AA60] # MYANMAR LETTER KHAMTI GA
+1003 ; [.261C.0020.0002.1003] # MYANMAR LETTER GHA
+1004 ; [.261D.0020.0002.1004] # MYANMAR LETTER NGA
+105A ; [.261E.0020.0002.105A] # MYANMAR LETTER MON NGA
+1005 ; [.261F.0020.0002.1005] # MYANMAR LETTER CA
+1078 ; [.2620.0020.0002.1078] # MYANMAR LETTER SHAN CA
+AA61 ; [.2621.0020.0002.AA61] # MYANMAR LETTER KHAMTI CA
+1006 ; [.2622.0020.0002.1006] # MYANMAR LETTER CHA
+AA62 ; [.2623.0020.0002.AA62] # MYANMAR LETTER KHAMTI CHA
+1007 ; [.2624.0020.0002.1007] # MYANMAR LETTER JA
+AA63 ; [.2625.0020.0002.AA63] # MYANMAR LETTER KHAMTI JA
+1079 ; [.2626.0020.0002.1079] # MYANMAR LETTER SHAN ZA
+AA72 ; [.2627.0020.0002.AA72] # MYANMAR LETTER KHAMTI ZA
+1008 ; [.2628.0020.0002.1008] # MYANMAR LETTER JHA
+105B ; [.2629.0020.0002.105B] # MYANMAR LETTER MON JHA
+AA64 ; [.262A.0020.0002.AA64] # MYANMAR LETTER KHAMTI JHA
+1061 ; [.262B.0020.0002.1061] # MYANMAR LETTER SGAW KAREN SHA
+1009 ; [.262C.0020.0002.1009] # MYANMAR LETTER NYA
+107A ; [.262D.0020.0002.107A] # MYANMAR LETTER SHAN NYA
+AA65 ; [.262E.0020.0002.AA65] # MYANMAR LETTER KHAMTI NYA
+100A ; [.262F.0020.0002.100A] # MYANMAR LETTER NNYA
+100B ; [.2630.0020.0002.100B] # MYANMAR LETTER TTA
+AA66 ; [.2631.0020.0002.AA66] # MYANMAR LETTER KHAMTI TTA
+100C ; [.2632.0020.0002.100C] # MYANMAR LETTER TTHA
+AA67 ; [.2633.0020.0002.AA67] # MYANMAR LETTER KHAMTI TTHA
+100D ; [.2634.0020.0002.100D] # MYANMAR LETTER DDA
+AA68 ; [.2635.0020.0002.AA68] # MYANMAR LETTER KHAMTI DDA
+100E ; [.2636.0020.0002.100E] # MYANMAR LETTER DDHA
+AA69 ; [.2637.0020.0002.AA69] # MYANMAR LETTER KHAMTI DDHA
+100F ; [.2638.0020.0002.100F] # MYANMAR LETTER NNA
+106E ; [.2639.0020.0002.106E] # MYANMAR LETTER EASTERN PWO KAREN NNA
+1010 ; [.263A.0020.0002.1010] # MYANMAR LETTER TA
+1011 ; [.263B.0020.0002.1011] # MYANMAR LETTER THA
+1012 ; [.263C.0020.0002.1012] # MYANMAR LETTER DA
+107B ; [.263D.0020.0002.107B] # MYANMAR LETTER SHAN DA
+1013 ; [.263E.0020.0002.1013] # MYANMAR LETTER DHA
+AA6A ; [.263F.0020.0002.AA6A] # MYANMAR LETTER KHAMTI DHA
+1014 ; [.2640.0020.0002.1014] # MYANMAR LETTER NA
+107C ; [.2641.0020.0002.107C] # MYANMAR LETTER SHAN NA
+AA6B ; [.2642.0020.0002.AA6B] # MYANMAR LETTER KHAMTI NA
+105E ; [.2643.0020.0002.105E] # MYANMAR CONSONANT SIGN MON MEDIAL NA
+1015 ; [.2644.0020.0002.1015] # MYANMAR LETTER PA
+1016 ; [.2645.0020.0002.1016] # MYANMAR LETTER PHA
+107D ; [.2646.0020.0002.107D] # MYANMAR LETTER SHAN PHA
+107E ; [.2647.0020.0002.107E] # MYANMAR LETTER SHAN FA
+AA6F ; [.2648.0020.0002.AA6F] # MYANMAR LETTER KHAMTI FA
+108E ; [.2649.0020.0002.108E] # MYANMAR LETTER RUMAI PALAUNG FA
+1017 ; [.264A.0020.0002.1017] # MYANMAR LETTER BA
+107F ; [.264B.0020.0002.107F] # MYANMAR LETTER SHAN BA
+1018 ; [.264C.0020.0002.1018] # MYANMAR LETTER BHA
+1019 ; [.264D.0020.0002.1019] # MYANMAR LETTER MA
+105F ; [.264E.0020.0002.105F] # MYANMAR CONSONANT SIGN MON MEDIAL MA
+101A ; [.264F.0020.0002.101A] # MYANMAR LETTER YA
+103B ; [.2650.0020.0002.103B] # MYANMAR CONSONANT SIGN MEDIAL YA
+101B ; [.2651.0020.0002.101B] # MYANMAR LETTER RA
+AA73 ; [.2652.0020.0002.AA73] # MYANMAR LETTER KHAMTI RA
+AA7A ; [.2653.0020.0002.AA7A] # MYANMAR LETTER AITON RA
+103C ; [.2654.0020.0002.103C] # MYANMAR CONSONANT SIGN MEDIAL RA
+101C ; [.2655.0020.0002.101C] # MYANMAR LETTER LA
+1060 ; [.2656.0020.0002.1060] # MYANMAR CONSONANT SIGN MON MEDIAL LA
+101D ; [.2657.0020.0002.101D] # MYANMAR LETTER WA
+103D ; [.2658.0020.0002.103D] # MYANMAR CONSONANT SIGN MEDIAL WA
+1082 ; [.2659.0020.0002.1082] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1080 ; [.265A.0020.0002.1080] # MYANMAR LETTER SHAN THA
+1050 ; [.265B.0020.0002.1050] # MYANMAR LETTER SHA
+1051 ; [.265C.0020.0002.1051] # MYANMAR LETTER SSA
+1065 ; [.265D.0020.0002.1065] # MYANMAR LETTER WESTERN PWO KAREN THA
+101E ; [.265E.0020.0002.101E] # MYANMAR LETTER SA
+103F ; [.265E.0020.0004.103F][.2695.0020.0004.103F][.265E.0020.001F.103F] # MYANMAR LETTER GREAT SA; QQKN
+AA6C ; [.265F.0020.0002.AA6C] # MYANMAR LETTER KHAMTI SA
+101F ; [.2660.0020.0002.101F] # MYANMAR LETTER HA
+1081 ; [.2661.0020.0002.1081] # MYANMAR LETTER SHAN HA
+AA6D ; [.2662.0020.0002.AA6D] # MYANMAR LETTER KHAMTI HA
+103E ; [.2663.0020.0002.103E] # MYANMAR CONSONANT SIGN MEDIAL HA
+AA6E ; [.2664.0020.0002.AA6E] # MYANMAR LETTER KHAMTI HHA
+AA71 ; [.2665.0020.0002.AA71] # MYANMAR LETTER KHAMTI XA
+1020 ; [.2666.0020.0002.1020] # MYANMAR LETTER LLA
+105C ; [.2667.0020.0002.105C] # MYANMAR LETTER MON BBA
+105D ; [.2668.0020.0002.105D] # MYANMAR LETTER MON BBE
+106F ; [.2669.0020.0002.106F] # MYANMAR LETTER EASTERN PWO KAREN YWA
+1070 ; [.266A.0020.0002.1070] # MYANMAR LETTER EASTERN PWO KAREN GHWA
+1066 ; [.266B.0020.0002.1066] # MYANMAR LETTER WESTERN PWO KAREN PWA
+1021 ; [.266C.0020.0002.1021] # MYANMAR LETTER A
+1022 ; [.266D.0020.0002.1022] # MYANMAR LETTER SHAN A
+1023 ; [.266E.0020.0002.1023] # MYANMAR LETTER I
+1024 ; [.266F.0020.0002.1024] # MYANMAR LETTER II
+1025 ; [.2670.0020.0002.1025] # MYANMAR LETTER U
+1026 ; [.2671.0020.0002.1026] # MYANMAR LETTER UU
+1025 102E ; [.2671.0020.0002.1026] # MYANMAR LETTER UU
+1052 ; [.2672.0020.0002.1052] # MYANMAR LETTER VOCALIC R
+1053 ; [.2673.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
+1054 ; [.2674.0020.0002.1054] # MYANMAR LETTER VOCALIC L
+1055 ; [.2675.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
+1027 ; [.2676.0020.0002.1027] # MYANMAR LETTER E
+1028 ; [.2677.0020.0002.1028] # MYANMAR LETTER MON E
+1029 ; [.2678.0020.0002.1029] # MYANMAR LETTER O
+102A ; [.2679.0020.0002.102A] # MYANMAR LETTER AU
+102C ; [.267A.0020.0002.102C] # MYANMAR VOWEL SIGN AA
+102B ; [.267A.0020.0004.102B] # MYANMAR VOWEL SIGN TALL AA; QQK
+1083 ; [.267B.0020.0002.1083] # MYANMAR VOWEL SIGN SHAN AA
+1072 ; [.267C.0020.0002.1072] # MYANMAR VOWEL SIGN KAYAH OE
+109C ; [.267D.0020.0002.109C] # MYANMAR VOWEL SIGN AITON A
+102D ; [.267E.0020.0002.102D] # MYANMAR VOWEL SIGN I
+1071 ; [.267F.0020.0002.1071] # MYANMAR VOWEL SIGN GEBA KAREN I
+102E ; [.2680.0020.0002.102E] # MYANMAR VOWEL SIGN II
+1033 ; [.2681.0020.0002.1033] # MYANMAR VOWEL SIGN MON II
+102F ; [.2682.0020.0002.102F] # MYANMAR VOWEL SIGN U
+1073 ; [.2683.0020.0002.1073] # MYANMAR VOWEL SIGN KAYAH U
+1074 ; [.2684.0020.0002.1074] # MYANMAR VOWEL SIGN KAYAH EE
+1030 ; [.2685.0020.0002.1030] # MYANMAR VOWEL SIGN UU
+1056 ; [.2686.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
+1057 ; [.2687.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
+1058 ; [.2688.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
+1059 ; [.2689.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
+1031 ; [.268A.0020.0002.1031] # MYANMAR VOWEL SIGN E
+1084 ; [.268B.0020.0002.1084] # MYANMAR VOWEL SIGN SHAN E
+1035 ; [.268C.0020.0002.1035] # MYANMAR VOWEL SIGN E ABOVE
+1085 ; [.268D.0020.0002.1085] # MYANMAR VOWEL SIGN SHAN E ABOVE
+1032 ; [.268E.0020.0002.1032] # MYANMAR VOWEL SIGN AI
+109D ; [.268F.0020.0002.109D] # MYANMAR VOWEL SIGN AITON AI
+1034 ; [.2690.0020.0002.1034] # MYANMAR VOWEL SIGN MON O
+1062 ; [.2691.0020.0002.1062] # MYANMAR VOWEL SIGN SGAW KAREN EU
+1067 ; [.2692.0020.0002.1067] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
+1068 ; [.2693.0020.0002.1068] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+1086 ; [.2694.0020.0002.1086] # MYANMAR VOWEL SIGN SHAN FINAL Y
+1039 ; [.2695.0020.0002.1039] # MYANMAR SIGN VIRAMA
+103A ; [.2696.0020.0002.103A] # MYANMAR SIGN ASAT
+1063 ; [.2697.0020.0002.1063] # MYANMAR TONE MARK SGAW KAREN HATHI
+1064 ; [.2698.0020.0002.1064] # MYANMAR TONE MARK SGAW KAREN KE PHO
+1069 ; [.2699.0020.0002.1069] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
+106A ; [.269A.0020.0002.106A] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
+106B ; [.269B.0020.0002.106B] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
+106C ; [.269C.0020.0002.106C] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
+106D ; [.269D.0020.0002.106D] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
+1087 ; [.269E.0020.0002.1087] # MYANMAR SIGN SHAN TONE-2
+108B ; [.269F.0020.0002.108B] # MYANMAR SIGN SHAN COUNCIL TONE-2
+1088 ; [.26A0.0020.0002.1088] # MYANMAR SIGN SHAN TONE-3
+108C ; [.26A1.0020.0002.108C] # MYANMAR SIGN SHAN COUNCIL TONE-3
+1089 ; [.26A2.0020.0002.1089] # MYANMAR SIGN SHAN TONE-5
+108A ; [.26A3.0020.0002.108A] # MYANMAR SIGN SHAN TONE-6
+108F ; [.26A4.0020.0002.108F] # MYANMAR SIGN RUMAI PALAUNG TONE-5
+109A ; [.26A5.0020.0002.109A] # MYANMAR SIGN KHAMTI TONE-1
+109B ; [.26A6.0020.0002.109B] # MYANMAR SIGN KHAMTI TONE-3
+AA7B ; [.26A7.0020.0002.AA7B] # MYANMAR SIGN PAO KAREN TONE
+AA74 ; [.26A8.0020.0002.AA74] # MYANMAR LOGOGRAM KHAMTI OAY
+AA75 ; [.26A9.0020.0002.AA75] # MYANMAR LOGOGRAM KHAMTI QN
+AA76 ; [.26AA.0020.0002.AA76] # MYANMAR LOGOGRAM KHAMTI HM
+1780 ; [.26AB.0020.0002.1780] # KHMER LETTER KA
+1781 ; [.26AC.0020.0002.1781] # KHMER LETTER KHA
+1782 ; [.26AD.0020.0002.1782] # KHMER LETTER KO
+1783 ; [.26AE.0020.0002.1783] # KHMER LETTER KHO
+1784 ; [.26AF.0020.0002.1784] # KHMER LETTER NGO
+1785 ; [.26B0.0020.0002.1785] # KHMER LETTER CA
+1786 ; [.26B1.0020.0002.1786] # KHMER LETTER CHA
+1787 ; [.26B2.0020.0002.1787] # KHMER LETTER CO
+1788 ; [.26B3.0020.0002.1788] # KHMER LETTER CHO
+1789 ; [.26B4.0020.0002.1789] # KHMER LETTER NYO
+178A ; [.26B5.0020.0002.178A] # KHMER LETTER DA
+178B ; [.26B6.0020.0002.178B] # KHMER LETTER TTHA
+178C ; [.26B7.0020.0002.178C] # KHMER LETTER DO
+178D ; [.26B8.0020.0002.178D] # KHMER LETTER TTHO
+178E ; [.26B9.0020.0002.178E] # KHMER LETTER NNO
+178F ; [.26BA.0020.0002.178F] # KHMER LETTER TA
+1790 ; [.26BB.0020.0002.1790] # KHMER LETTER THA
+1791 ; [.26BC.0020.0002.1791] # KHMER LETTER TO
+1792 ; [.26BD.0020.0002.1792] # KHMER LETTER THO
+1793 ; [.26BE.0020.0002.1793] # KHMER LETTER NO
+1794 ; [.26BF.0020.0002.1794] # KHMER LETTER BA
+1795 ; [.26C0.0020.0002.1795] # KHMER LETTER PHA
+1796 ; [.26C1.0020.0002.1796] # KHMER LETTER PO
+1797 ; [.26C2.0020.0002.1797] # KHMER LETTER PHO
+1798 ; [.26C3.0020.0002.1798] # KHMER LETTER MO
+1799 ; [.26C4.0020.0002.1799] # KHMER LETTER YO
+179A ; [.26C5.0020.0002.179A] # KHMER LETTER RO
+179B ; [.26C6.0020.0002.179B] # KHMER LETTER LO
+179C ; [.26C7.0020.0002.179C] # KHMER LETTER VO
+179D ; [.26C8.0020.0002.179D] # KHMER LETTER SHA
+179E ; [.26C9.0020.0002.179E] # KHMER LETTER SSO
+179F ; [.26CA.0020.0002.179F] # KHMER LETTER SA
+17A0 ; [.26CB.0020.0002.17A0] # KHMER LETTER HA
+17A1 ; [.26CC.0020.0002.17A1] # KHMER LETTER LA
+17A2 ; [.26CD.0020.0002.17A2] # KHMER LETTER QA
+17DC ; [.26CE.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
+17A3 ; [.26CF.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
+17A4 ; [.26D0.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
+17A5 ; [.26D1.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
+17A6 ; [.26D2.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
+17A7 ; [.26D3.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
+17A8 ; [.26D4.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
+17A9 ; [.26D5.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
+17AA ; [.26D6.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
+17AB ; [.26D7.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
+17AC ; [.26D8.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
+17AD ; [.26D9.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
+17AE ; [.26DA.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
+17AF ; [.26DB.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
+17B0 ; [.26DC.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
+17B1 ; [.26DD.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
+17B2 ; [.26DE.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
+17B3 ; [.26DF.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
+17B4 ; [.26E0.0020.0002.17B4] # KHMER VOWEL INHERENT AQ
+17B5 ; [.26E1.0020.0002.17B5] # KHMER VOWEL INHERENT AA
+17B6 ; [.26E2.0020.0002.17B6] # KHMER VOWEL SIGN AA
+17B7 ; [.26E3.0020.0002.17B7] # KHMER VOWEL SIGN I
+17B8 ; [.26E4.0020.0002.17B8] # KHMER VOWEL SIGN II
+17B9 ; [.26E5.0020.0002.17B9] # KHMER VOWEL SIGN Y
+17BA ; [.26E6.0020.0002.17BA] # KHMER VOWEL SIGN YY
+17BB ; [.26E7.0020.0002.17BB] # KHMER VOWEL SIGN U
+17BC ; [.26E8.0020.0002.17BC] # KHMER VOWEL SIGN UU
+17BD ; [.26E9.0020.0002.17BD] # KHMER VOWEL SIGN UA
+17BE ; [.26EA.0020.0002.17BE] # KHMER VOWEL SIGN OE
+17BF ; [.26EB.0020.0002.17BF] # KHMER VOWEL SIGN YA
+17C0 ; [.26EC.0020.0002.17C0] # KHMER VOWEL SIGN IE
+17C1 ; [.26ED.0020.0002.17C1] # KHMER VOWEL SIGN E
+17C2 ; [.26EE.0020.0002.17C2] # KHMER VOWEL SIGN AE
+17C3 ; [.26EF.0020.0002.17C3] # KHMER VOWEL SIGN AI
+17C4 ; [.26F0.0020.0002.17C4] # KHMER VOWEL SIGN OO
+17C5 ; [.26F1.0020.0002.17C5] # KHMER VOWEL SIGN AU
+17D2 ; [.26F2.0020.0002.17D2] # KHMER SIGN COENG
+1950 ; [.26F3.0020.0002.1950] # TAI LE LETTER KA
+1951 ; [.26F4.0020.0002.1951] # TAI LE LETTER XA
+1952 ; [.26F5.0020.0002.1952] # TAI LE LETTER NGA
+1953 ; [.26F6.0020.0002.1953] # TAI LE LETTER TSA
+1954 ; [.26F7.0020.0002.1954] # TAI LE LETTER SA
+1955 ; [.26F8.0020.0002.1955] # TAI LE LETTER YA
+1956 ; [.26F9.0020.0002.1956] # TAI LE LETTER TA
+1957 ; [.26FA.0020.0002.1957] # TAI LE LETTER THA
+1958 ; [.26FB.0020.0002.1958] # TAI LE LETTER LA
+1959 ; [.26FC.0020.0002.1959] # TAI LE LETTER PA
+195A ; [.26FD.0020.0002.195A] # TAI LE LETTER PHA
+195B ; [.26FE.0020.0002.195B] # TAI LE LETTER MA
+195C ; [.26FF.0020.0002.195C] # TAI LE LETTER FA
+195D ; [.2700.0020.0002.195D] # TAI LE LETTER VA
+195E ; [.2701.0020.0002.195E] # TAI LE LETTER HA
+195F ; [.2702.0020.0002.195F] # TAI LE LETTER QA
+1960 ; [.2703.0020.0002.1960] # TAI LE LETTER KHA
+1961 ; [.2704.0020.0002.1961] # TAI LE LETTER TSHA
+1962 ; [.2705.0020.0002.1962] # TAI LE LETTER NA
+1963 ; [.2706.0020.0002.1963] # TAI LE LETTER A
+1964 ; [.2707.0020.0002.1964] # TAI LE LETTER I
+1965 ; [.2708.0020.0002.1965] # TAI LE LETTER EE
+1966 ; [.2709.0020.0002.1966] # TAI LE LETTER EH
+1967 ; [.270A.0020.0002.1967] # TAI LE LETTER U
+1968 ; [.270B.0020.0002.1968] # TAI LE LETTER OO
+1969 ; [.270C.0020.0002.1969] # TAI LE LETTER O
+196A ; [.270D.0020.0002.196A] # TAI LE LETTER UE
+196B ; [.270E.0020.0002.196B] # TAI LE LETTER E
+196C ; [.270F.0020.0002.196C] # TAI LE LETTER AUE
+196D ; [.2710.0020.0002.196D] # TAI LE LETTER AI
+1970 ; [.2711.0020.0002.1970] # TAI LE LETTER TONE-2
+1971 ; [.2712.0020.0002.1971] # TAI LE LETTER TONE-3
+1972 ; [.2713.0020.0002.1972] # TAI LE LETTER TONE-4
+1973 ; [.2714.0020.0002.1973] # TAI LE LETTER TONE-5
+1974 ; [.2715.0020.0002.1974] # TAI LE LETTER TONE-6
+1980 ; [.2716.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
+1981 ; [.2717.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
+1982 ; [.2718.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
+1983 ; [.2719.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
+1984 ; [.271A.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
+1985 ; [.271B.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
+1986 ; [.271C.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
+1987 ; [.271D.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
+1988 ; [.271E.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
+1989 ; [.271F.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
+198A ; [.2720.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
+198B ; [.2721.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
+198C ; [.2722.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
+198D ; [.2723.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
+198E ; [.2724.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
+198F ; [.2725.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
+1990 ; [.2726.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
+1991 ; [.2727.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
+1992 ; [.2728.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
+1993 ; [.2729.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
+1994 ; [.272A.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
+1995 ; [.272B.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
+1996 ; [.272C.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
+1997 ; [.272D.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
+1998 ; [.272E.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
+1999 ; [.272F.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
+199A ; [.2730.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
+199B ; [.2731.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
+199C ; [.2732.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
+19DE ; [.2732.0020.0004.19DE][.2748.0020.0004.19DE] # NEW TAI LUE SIGN LAE; QQKN
+19DF ; [.2732.0020.0004.19DF][.2748.0020.0004.19DF][.2753.0020.001F.19DF] # NEW TAI LUE SIGN LAEV; QQKN
+199D ; [.2733.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
+199E ; [.2734.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
+199F ; [.2735.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
+19A0 ; [.2736.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
+19A1 ; [.2737.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
+19A2 ; [.2738.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
+19A3 ; [.2739.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
+19A4 ; [.273A.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
+19A5 ; [.273B.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
+19A6 ; [.273C.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
+19A7 ; [.273D.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
+19A8 ; [.273E.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
+19A9 ; [.273F.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
+19AA ; [.2740.0020.0002.19AA] # NEW TAI LUE LETTER HIGH SUA
+19AB ; [.2741.0020.0002.19AB] # NEW TAI LUE LETTER LOW SUA
+19B0 ; [.2742.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+19B1 ; [.2743.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
+19B2 ; [.2744.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
+19B3 ; [.2745.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
+19B4 ; [.2746.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
+19B5 ; [.2747.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
+19B6 ; [.2748.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
+19B7 ; [.2749.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
+19B8 ; [.274A.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
+19B9 ; [.274B.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
+19BA ; [.274C.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
+19BB ; [.274D.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
+19BC ; [.274E.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
+19BD ; [.274F.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
+19BE ; [.2750.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
+19BF ; [.2751.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
+19C0 ; [.2752.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
+19C1 ; [.2753.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
+19C2 ; [.2754.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
+19C3 ; [.2755.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
+19C4 ; [.2756.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
+19C5 ; [.2757.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
+19C6 ; [.2758.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
+19C7 ; [.2759.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
+19C8 ; [.275A.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
+19C9 ; [.275B.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
+1A20 ; [.275C.0020.0002.1A20] # TAI THAM LETTER HIGH KA
+1A21 ; [.275D.0020.0002.1A21] # TAI THAM LETTER HIGH KHA
+1A22 ; [.275E.0020.0002.1A22] # TAI THAM LETTER HIGH KXA
+1A23 ; [.275F.0020.0002.1A23] # TAI THAM LETTER LOW KA
+1A24 ; [.2760.0020.0002.1A24] # TAI THAM LETTER LOW KXA
+1A25 ; [.2761.0020.0002.1A25] # TAI THAM LETTER LOW KHA
+1A26 ; [.2762.0020.0002.1A26] # TAI THAM LETTER NGA
+1A58 ; [.2762.0020.0004.1A58] # TAI THAM SIGN MAI KANG LAI; QQK
+1A59 ; [.2762.0020.0004.1A59] # TAI THAM CONSONANT SIGN FINAL NGA; QQK
+1A27 ; [.2763.0020.0002.1A27] # TAI THAM LETTER HIGH CA
+1A28 ; [.2764.0020.0002.1A28] # TAI THAM LETTER HIGH CHA
+1A29 ; [.2765.0020.0002.1A29] # TAI THAM LETTER LOW CA
+1A2A ; [.2766.0020.0002.1A2A] # TAI THAM LETTER LOW SA
+1A2B ; [.2767.0020.0002.1A2B] # TAI THAM LETTER LOW CHA
+1A2C ; [.2768.0020.0002.1A2C] # TAI THAM LETTER NYA
+1A2D ; [.2769.0020.0002.1A2D] # TAI THAM LETTER RATA
+1A2E ; [.276A.0020.0002.1A2E] # TAI THAM LETTER HIGH RATHA
+1A2F ; [.276B.0020.0002.1A2F] # TAI THAM LETTER DA
+1A30 ; [.276C.0020.0002.1A30] # TAI THAM LETTER LOW RATHA
+1A31 ; [.276D.0020.0002.1A31] # TAI THAM LETTER RANA
+1A32 ; [.276E.0020.0002.1A32] # TAI THAM LETTER HIGH TA
+1A33 ; [.276F.0020.0002.1A33] # TAI THAM LETTER HIGH THA
+1A34 ; [.2770.0020.0002.1A34] # TAI THAM LETTER LOW TA
+1A35 ; [.2771.0020.0002.1A35] # TAI THAM LETTER LOW THA
+1A36 ; [.2772.0020.0002.1A36] # TAI THAM LETTER NA
+1A37 ; [.2773.0020.0002.1A37] # TAI THAM LETTER BA
+1A38 ; [.2774.0020.0002.1A38] # TAI THAM LETTER HIGH PA
+1A39 ; [.2775.0020.0002.1A39] # TAI THAM LETTER HIGH PHA
+1A3A ; [.2776.0020.0002.1A3A] # TAI THAM LETTER HIGH FA
+1A3B ; [.2777.0020.0002.1A3B] # TAI THAM LETTER LOW PA
+1A5A ; [.2777.0020.0004.1A5A] # TAI THAM CONSONANT SIGN LOW PA; QQK
+1A5B ; [.2777.0020.0004.1A5B] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA; QQK
+1A3C ; [.2778.0020.0002.1A3C] # TAI THAM LETTER LOW FA
+1A3D ; [.2779.0020.0002.1A3D] # TAI THAM LETTER LOW PHA
+1A3E ; [.277A.0020.0002.1A3E] # TAI THAM LETTER MA
+1A3F ; [.277B.0020.0002.1A3F] # TAI THAM LETTER LOW YA
+1A40 ; [.277C.0020.0002.1A40] # TAI THAM LETTER HIGH YA
+1A41 ; [.277D.0020.0002.1A41] # TAI THAM LETTER RA
+1A42 ; [.277E.0020.0002.1A42] # TAI THAM LETTER RUE
+1A43 ; [.277F.0020.0002.1A43] # TAI THAM LETTER LA
+1A44 ; [.2780.0020.0002.1A44] # TAI THAM LETTER LUE
+1A45 ; [.2781.0020.0002.1A45] # TAI THAM LETTER WA
+1A46 ; [.2782.0020.0002.1A46] # TAI THAM LETTER HIGH SHA
+1A54 ; [.2782.0020.0004.1A54][.27A8.0020.0004.1A54][.2782.0020.001F.1A54] # TAI THAM LETTER GREAT SA; QQKN
+1A47 ; [.2783.0020.0002.1A47] # TAI THAM LETTER HIGH SSA
+1A48 ; [.2784.0020.0002.1A48] # TAI THAM LETTER HIGH SA
+1A49 ; [.2785.0020.0002.1A49] # TAI THAM LETTER HIGH HA
+1A4A ; [.2786.0020.0002.1A4A] # TAI THAM LETTER LLA
+1A4B ; [.2787.0020.0002.1A4B] # TAI THAM LETTER A
+1A4C ; [.2788.0020.0002.1A4C] # TAI THAM LETTER LOW HA
+1A53 ; [.2789.0020.0002.1A53] # TAI THAM LETTER LAE
+1A6B ; [.278A.0020.0002.1A6B] # TAI THAM VOWEL SIGN O
+1A55 ; [.278B.0020.0002.1A55] # TAI THAM CONSONANT SIGN MEDIAL RA
+1A56 ; [.278C.0020.0002.1A56] # TAI THAM CONSONANT SIGN MEDIAL LA
+1A57 ; [.278D.0020.0002.1A57] # TAI THAM CONSONANT SIGN LA TANG LAI
+1A5C ; [.278E.0020.0002.1A5C] # TAI THAM CONSONANT SIGN MA
+1A5D ; [.278F.0020.0002.1A5D] # TAI THAM CONSONANT SIGN BA
+1A5E ; [.2790.0020.0002.1A5E] # TAI THAM CONSONANT SIGN SA
+1A4D ; [.2791.0020.0002.1A4D] # TAI THAM LETTER I
+1A4E ; [.2792.0020.0002.1A4E] # TAI THAM LETTER II
+1A4F ; [.2793.0020.0002.1A4F] # TAI THAM LETTER U
+1A50 ; [.2794.0020.0002.1A50] # TAI THAM LETTER UU
+1A51 ; [.2795.0020.0002.1A51] # TAI THAM LETTER EE
+1A52 ; [.2796.0020.0002.1A52] # TAI THAM LETTER OO
+1A61 ; [.2797.0020.0002.1A61] # TAI THAM VOWEL SIGN A
+1A6C ; [.2798.0020.0002.1A6C] # TAI THAM VOWEL SIGN OA BELOW
+1A62 ; [.2799.0020.0002.1A62] # TAI THAM VOWEL SIGN MAI SAT
+1A63 ; [.279A.0020.0002.1A63] # TAI THAM VOWEL SIGN AA
+1A64 ; [.279A.0020.0004.1A64] # TAI THAM VOWEL SIGN TALL AA; QQK
+1A65 ; [.279B.0020.0002.1A65] # TAI THAM VOWEL SIGN I
+1A66 ; [.279C.0020.0002.1A66] # TAI THAM VOWEL SIGN II
+1A67 ; [.279D.0020.0002.1A67] # TAI THAM VOWEL SIGN UE
+1A68 ; [.279E.0020.0002.1A68] # TAI THAM VOWEL SIGN UUE
+1A69 ; [.279F.0020.0002.1A69] # TAI THAM VOWEL SIGN U
+1A6A ; [.27A0.0020.0002.1A6A] # TAI THAM VOWEL SIGN UU
+1A6E ; [.27A1.0020.0002.1A6E] # TAI THAM VOWEL SIGN E
+1A6F ; [.27A2.0020.0002.1A6F] # TAI THAM VOWEL SIGN AE
+1A73 ; [.27A3.0020.0002.1A73] # TAI THAM VOWEL SIGN OA ABOVE
+1A70 ; [.27A4.0020.0002.1A70] # TAI THAM VOWEL SIGN OO
+1A71 ; [.27A5.0020.0002.1A71] # TAI THAM VOWEL SIGN AI
+1A72 ; [.27A6.0020.0002.1A72] # TAI THAM VOWEL SIGN THAM AI
+1A6D ; [.27A7.0020.0002.1A6D] # TAI THAM VOWEL SIGN OY
+1A60 ; [.27A8.0020.0002.1A60] # TAI THAM SIGN SAKOT
+AA00 ; [.27A9.0020.0002.AA00] # CHAM LETTER A
+AA01 ; [.27AA.0020.0002.AA01] # CHAM LETTER I
+AA02 ; [.27AB.0020.0002.AA02] # CHAM LETTER U
+AA03 ; [.27AC.0020.0002.AA03] # CHAM LETTER E
+AA04 ; [.27AD.0020.0002.AA04] # CHAM LETTER AI
+AA05 ; [.27AE.0020.0002.AA05] # CHAM LETTER O
+AA06 ; [.27AF.0020.0002.AA06] # CHAM LETTER KA
+AA07 ; [.27B0.0020.0002.AA07] # CHAM LETTER KHA
+AA08 ; [.27B1.0020.0002.AA08] # CHAM LETTER GA
+AA09 ; [.27B2.0020.0002.AA09] # CHAM LETTER GHA
+AA0A ; [.27B3.0020.0002.AA0A] # CHAM LETTER NGUE
+AA0B ; [.27B4.0020.0002.AA0B] # CHAM LETTER NGA
+AA0C ; [.27B5.0020.0002.AA0C] # CHAM LETTER CHA
+AA0D ; [.27B6.0020.0002.AA0D] # CHAM LETTER CHHA
+AA0E ; [.27B7.0020.0002.AA0E] # CHAM LETTER JA
+AA0F ; [.27B8.0020.0002.AA0F] # CHAM LETTER JHA
+AA10 ; [.27B9.0020.0002.AA10] # CHAM LETTER NHUE
+AA11 ; [.27BA.0020.0002.AA11] # CHAM LETTER NHA
+AA12 ; [.27BB.0020.0002.AA12] # CHAM LETTER NHJA
+AA13 ; [.27BC.0020.0002.AA13] # CHAM LETTER TA
+AA14 ; [.27BD.0020.0002.AA14] # CHAM LETTER THA
+AA15 ; [.27BE.0020.0002.AA15] # CHAM LETTER DA
+AA16 ; [.27BF.0020.0002.AA16] # CHAM LETTER DHA
+AA17 ; [.27C0.0020.0002.AA17] # CHAM LETTER NUE
+AA18 ; [.27C1.0020.0002.AA18] # CHAM LETTER NA
+AA19 ; [.27C2.0020.0002.AA19] # CHAM LETTER DDA
+AA1A ; [.27C3.0020.0002.AA1A] # CHAM LETTER PA
+AA1B ; [.27C4.0020.0002.AA1B] # CHAM LETTER PPA
+AA1C ; [.27C5.0020.0002.AA1C] # CHAM LETTER PHA
+AA1D ; [.27C6.0020.0002.AA1D] # CHAM LETTER BA
+AA1E ; [.27C7.0020.0002.AA1E] # CHAM LETTER BHA
+AA1F ; [.27C8.0020.0002.AA1F] # CHAM LETTER MUE
+AA20 ; [.27C9.0020.0002.AA20] # CHAM LETTER MA
+AA21 ; [.27CA.0020.0002.AA21] # CHAM LETTER BBA
+AA22 ; [.27CB.0020.0002.AA22] # CHAM LETTER YA
+AA23 ; [.27CC.0020.0002.AA23] # CHAM LETTER RA
+AA24 ; [.27CD.0020.0002.AA24] # CHAM LETTER LA
+AA25 ; [.27CE.0020.0002.AA25] # CHAM LETTER VA
+AA26 ; [.27CF.0020.0002.AA26] # CHAM LETTER SSA
+AA27 ; [.27D0.0020.0002.AA27] # CHAM LETTER SA
+AA28 ; [.27D1.0020.0002.AA28] # CHAM LETTER HA
+AA33 ; [.27D2.0020.0002.AA33] # CHAM CONSONANT SIGN YA
+AA34 ; [.27D3.0020.0002.AA34] # CHAM CONSONANT SIGN RA
+AA35 ; [.27D4.0020.0002.AA35] # CHAM CONSONANT SIGN LA
+AA36 ; [.27D5.0020.0002.AA36] # CHAM CONSONANT SIGN WA
+AA29 ; [.27D6.0020.0002.AA29] # CHAM VOWEL SIGN AA
+AA2A ; [.27D7.0020.0002.AA2A] # CHAM VOWEL SIGN I
+AA2B ; [.27D8.0020.0002.AA2B] # CHAM VOWEL SIGN II
+AA2C ; [.27D9.0020.0002.AA2C] # CHAM VOWEL SIGN EI
+AA2D ; [.27DA.0020.0002.AA2D] # CHAM VOWEL SIGN U
+AA2E ; [.27DB.0020.0002.AA2E] # CHAM VOWEL SIGN OE
+AA2F ; [.27DC.0020.0002.AA2F] # CHAM VOWEL SIGN O
+AA30 ; [.27DD.0020.0002.AA30] # CHAM VOWEL SIGN AI
+AA31 ; [.27DE.0020.0002.AA31] # CHAM VOWEL SIGN AU
+AA32 ; [.27DF.0020.0002.AA32] # CHAM VOWEL SIGN UE
+AA40 ; [.27E0.0020.0002.AA40] # CHAM LETTER FINAL K
+AA41 ; [.27E1.0020.0002.AA41] # CHAM LETTER FINAL G
+AA42 ; [.27E2.0020.0002.AA42] # CHAM LETTER FINAL NG
+AA43 ; [.27E3.0020.0002.AA43] # CHAM CONSONANT SIGN FINAL NG
+AA44 ; [.27E4.0020.0002.AA44] # CHAM LETTER FINAL CH
+AA45 ; [.27E5.0020.0002.AA45] # CHAM LETTER FINAL T
+AA46 ; [.27E6.0020.0002.AA46] # CHAM LETTER FINAL N
+AA47 ; [.27E7.0020.0002.AA47] # CHAM LETTER FINAL P
+AA48 ; [.27E8.0020.0002.AA48] # CHAM LETTER FINAL Y
+AA49 ; [.27E9.0020.0002.AA49] # CHAM LETTER FINAL R
+AA4A ; [.27EA.0020.0002.AA4A] # CHAM LETTER FINAL L
+AA4B ; [.27EB.0020.0002.AA4B] # CHAM LETTER FINAL SS
+AA4C ; [.27EC.0020.0002.AA4C] # CHAM CONSONANT SIGN FINAL M
+AA4D ; [.27ED.0020.0002.AA4D] # CHAM CONSONANT SIGN FINAL H
+1B05 ; [.27EE.0020.0002.1B05] # BALINESE LETTER AKARA
+1B06 ; [.27EF.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
+1B05 1B35 ; [.27EF.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
+1B07 ; [.27F0.0020.0002.1B07] # BALINESE LETTER IKARA
+1B08 ; [.27F1.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
+1B07 1B35 ; [.27F1.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
+1B09 ; [.27F2.0020.0002.1B09] # BALINESE LETTER UKARA
+1B0A ; [.27F3.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
+1B09 1B35 ; [.27F3.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
+1B0B ; [.27F4.0020.0002.1B0B] # BALINESE LETTER RA REPA
+1B0C ; [.27F5.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
+1B0B 1B35 ; [.27F5.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
+1B0D ; [.27F6.0020.0002.1B0D] # BALINESE LETTER LA LENGA
+1B0E ; [.27F7.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
+1B0D 1B35 ; [.27F7.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
+1B0F ; [.27F8.0020.0002.1B0F] # BALINESE LETTER EKARA
+1B10 ; [.27F9.0020.0002.1B10] # BALINESE LETTER AIKARA
+1B11 ; [.27FA.0020.0002.1B11] # BALINESE LETTER OKARA
+1B12 ; [.27FB.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
+1B11 1B35 ; [.27FB.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
+1B13 ; [.27FC.0020.0002.1B13] # BALINESE LETTER KA
+1B45 ; [.27FD.0020.0002.1B45] # BALINESE LETTER KAF SASAK
+1B46 ; [.27FE.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
+1B14 ; [.27FF.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
+1B15 ; [.2800.0020.0002.1B15] # BALINESE LETTER GA
+1B16 ; [.2801.0020.0002.1B16] # BALINESE LETTER GA GORA
+1B17 ; [.2802.0020.0002.1B17] # BALINESE LETTER NGA
+1B18 ; [.2803.0020.0002.1B18] # BALINESE LETTER CA
+1B19 ; [.2804.0020.0002.1B19] # BALINESE LETTER CA LACA
+1B1A ; [.2805.0020.0002.1B1A] # BALINESE LETTER JA
+1B1B ; [.2806.0020.0002.1B1B] # BALINESE LETTER JA JERA
+1B1C ; [.2807.0020.0002.1B1C] # BALINESE LETTER NYA
+1B1D ; [.2808.0020.0002.1B1D] # BALINESE LETTER TA LATIK
+1B1E ; [.2809.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
+1B1F ; [.280A.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
+1B20 ; [.280B.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
+1B21 ; [.280C.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
+1B22 ; [.280D.0020.0002.1B22] # BALINESE LETTER TA
+1B47 ; [.280E.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
+1B23 ; [.280F.0020.0002.1B23] # BALINESE LETTER TA TAWA
+1B24 ; [.2810.0020.0002.1B24] # BALINESE LETTER DA
+1B25 ; [.2811.0020.0002.1B25] # BALINESE LETTER DA MADU
+1B26 ; [.2812.0020.0002.1B26] # BALINESE LETTER NA
+1B27 ; [.2813.0020.0002.1B27] # BALINESE LETTER PA
+1B48 ; [.2814.0020.0002.1B48] # BALINESE LETTER EF SASAK
+1B28 ; [.2815.0020.0002.1B28] # BALINESE LETTER PA KAPAL
+1B29 ; [.2816.0020.0002.1B29] # BALINESE LETTER BA
+1B2A ; [.2817.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
+1B2B ; [.2818.0020.0002.1B2B] # BALINESE LETTER MA
+1B2C ; [.2819.0020.0002.1B2C] # BALINESE LETTER YA
+1B2D ; [.281A.0020.0002.1B2D] # BALINESE LETTER RA
+1B2E ; [.281B.0020.0002.1B2E] # BALINESE LETTER LA
+1B2F ; [.281C.0020.0002.1B2F] # BALINESE LETTER WA
+1B49 ; [.281D.0020.0002.1B49] # BALINESE LETTER VE SASAK
+1B30 ; [.281E.0020.0002.1B30] # BALINESE LETTER SA SAGA
+1B31 ; [.281F.0020.0002.1B31] # BALINESE LETTER SA SAPA
+1B32 ; [.2820.0020.0002.1B32] # BALINESE LETTER SA
+1B4A ; [.2821.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
+1B4B ; [.2822.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
+1B33 ; [.2823.0020.0002.1B33] # BALINESE LETTER HA
+1B35 ; [.2824.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
+1B36 ; [.2825.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
+1B37 ; [.2826.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
+1B38 ; [.2827.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
+1B39 ; [.2828.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
+1B3A ; [.2829.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
+1B3B ; [.282A.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3A 1B35 ; [.282A.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C ; [.282B.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
+1B3D ; [.282C.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3C 1B35 ; [.282C.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3E ; [.282D.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
+1B3F ; [.282E.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
+1B40 ; [.282F.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
+1B3E 1B35 ; [.282F.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
+1B41 ; [.2830.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B3F 1B35 ; [.2830.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42 ; [.2831.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
+1B43 ; [.2832.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B42 1B35 ; [.2832.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B44 ; [.2833.0020.0002.1B44] # BALINESE ADEG ADEG
+A984 ; [.2834.0020.0002.A984] # JAVANESE LETTER A
+A985 ; [.2835.0020.0002.A985] # JAVANESE LETTER I KAWI
+A986 ; [.2836.0020.0002.A986] # JAVANESE LETTER I
+A987 ; [.2837.0020.0002.A987] # JAVANESE LETTER II
+A988 ; [.2838.0020.0002.A988] # JAVANESE LETTER U
+A989 ; [.2839.0020.0002.A989] # JAVANESE LETTER PA CEREK
+A98A ; [.283A.0020.0002.A98A] # JAVANESE LETTER NGA LELET
+A98B ; [.283B.0020.0002.A98B] # JAVANESE LETTER NGA LELET RASWADI
+A98C ; [.283C.0020.0002.A98C] # JAVANESE LETTER E
+A98D ; [.283D.0020.0002.A98D] # JAVANESE LETTER AI
+A98E ; [.283E.0020.0002.A98E] # JAVANESE LETTER O
+A98F ; [.283F.0020.0002.A98F] # JAVANESE LETTER KA
+A990 ; [.2840.0020.0002.A990] # JAVANESE LETTER KA SASAK
+A991 ; [.2841.0020.0002.A991] # JAVANESE LETTER KA MURDA
+A992 ; [.2842.0020.0002.A992] # JAVANESE LETTER GA
+A993 ; [.2843.0020.0002.A993] # JAVANESE LETTER GA MURDA
+A994 ; [.2844.0020.0002.A994] # JAVANESE LETTER NGA
+A995 ; [.2845.0020.0002.A995] # JAVANESE LETTER CA
+A996 ; [.2846.0020.0002.A996] # JAVANESE LETTER CA MURDA
+A997 ; [.2847.0020.0002.A997] # JAVANESE LETTER JA
+A998 ; [.2848.0020.0002.A998] # JAVANESE LETTER NYA MURDA
+A999 ; [.2849.0020.0002.A999] # JAVANESE LETTER JA MAHAPRANA
+A99A ; [.284A.0020.0002.A99A] # JAVANESE LETTER NYA
+A99B ; [.284B.0020.0002.A99B] # JAVANESE LETTER TTA
+A99C ; [.284C.0020.0002.A99C] # JAVANESE LETTER TTA MAHAPRANA
+A99D ; [.284D.0020.0002.A99D] # JAVANESE LETTER DDA
+A99E ; [.284E.0020.0002.A99E] # JAVANESE LETTER DDA MAHAPRANA
+A99F ; [.284F.0020.0002.A99F] # JAVANESE LETTER NA MURDA
+A9A0 ; [.2850.0020.0002.A9A0] # JAVANESE LETTER TA
+A9A1 ; [.2851.0020.0002.A9A1] # JAVANESE LETTER TA MURDA
+A9A2 ; [.2852.0020.0002.A9A2] # JAVANESE LETTER DA
+A9A3 ; [.2853.0020.0002.A9A3] # JAVANESE LETTER DA MAHAPRANA
+A9A4 ; [.2854.0020.0002.A9A4] # JAVANESE LETTER NA
+A9A5 ; [.2855.0020.0002.A9A5] # JAVANESE LETTER PA
+A9A6 ; [.2856.0020.0002.A9A6] # JAVANESE LETTER PA MURDA
+A9A7 ; [.2857.0020.0002.A9A7] # JAVANESE LETTER BA
+A9A8 ; [.2858.0020.0002.A9A8] # JAVANESE LETTER BA MURDA
+A9A9 ; [.2859.0020.0002.A9A9] # JAVANESE LETTER MA
+A9AA ; [.285A.0020.0002.A9AA] # JAVANESE LETTER YA
+A9BE ; [.285B.0020.0002.A9BE] # JAVANESE CONSONANT SIGN PENGKAL
+A9AB ; [.285C.0020.0002.A9AB] # JAVANESE LETTER RA
+A9AC ; [.285C.0020.0004.A9AC] # JAVANESE LETTER RA AGUNG; QQK
+A9BF ; [.285D.0020.0002.A9BF] # JAVANESE CONSONANT SIGN CAKRA
+A9AD ; [.285E.0020.0002.A9AD] # JAVANESE LETTER LA
+A9AE ; [.285F.0020.0002.A9AE] # JAVANESE LETTER WA
+A9AF ; [.2860.0020.0002.A9AF] # JAVANESE LETTER SA MURDA
+A9B0 ; [.2861.0020.0002.A9B0] # JAVANESE LETTER SA MAHAPRANA
+A9B1 ; [.2862.0020.0002.A9B1] # JAVANESE LETTER SA
+A9B2 ; [.2863.0020.0002.A9B2] # JAVANESE LETTER HA
+A9B4 ; [.2864.0020.0002.A9B4] # JAVANESE VOWEL SIGN TARUNG
+A9BC ; [.2865.0020.0002.A9BC] # JAVANESE VOWEL SIGN PEPET
+A9B6 ; [.2866.0020.0002.A9B6] # JAVANESE VOWEL SIGN WULU
+A9B7 ; [.2867.0020.0002.A9B7] # JAVANESE VOWEL SIGN WULU MELIK
+A9B8 ; [.2868.0020.0002.A9B8] # JAVANESE VOWEL SIGN SUKU
+A9B9 ; [.2869.0020.0002.A9B9] # JAVANESE VOWEL SIGN SUKU MENDUT
+A9BD ; [.286A.0020.0002.A9BD] # JAVANESE CONSONANT SIGN KERET
+A9BA ; [.286B.0020.0002.A9BA] # JAVANESE VOWEL SIGN TALING
+A9BB ; [.286C.0020.0002.A9BB] # JAVANESE VOWEL SIGN DIRGA MURE
+A9B5 ; [.286D.0020.0002.A9B5] # JAVANESE VOWEL SIGN TOLONG
+A9C0 ; [.286E.0020.0002.A9C0] # JAVANESE PANGKON
+1880 ; [.286F.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+1881 ; [.2870.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
+1882 ; [.2871.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
+1883 ; [.2872.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
+1884 ; [.2873.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885 ; [.2874.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
+1886 ; [.2875.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
+1843 ; [.2876.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1820 ; [.2877.0020.0002.1820] # MONGOLIAN LETTER A
+1887 ; [.2878.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
+1821 ; [.2879.0020.0002.1821] # MONGOLIAN LETTER E
+1844 ; [.287A.0020.0002.1844] # MONGOLIAN LETTER TODO E
+185D ; [.287B.0020.0002.185D] # MONGOLIAN LETTER SIBE E
+1822 ; [.287C.0020.0002.1822] # MONGOLIAN LETTER I
+1845 ; [.287D.0020.0002.1845] # MONGOLIAN LETTER TODO I
+185E ; [.287E.0020.0002.185E] # MONGOLIAN LETTER SIBE I
+1873 ; [.287F.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
+1888 ; [.2880.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
+185F ; [.2881.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
+1823 ; [.2882.0020.0002.1823] # MONGOLIAN LETTER O
+1846 ; [.2883.0020.0002.1846] # MONGOLIAN LETTER TODO O
+1824 ; [.2884.0020.0002.1824] # MONGOLIAN LETTER U
+1847 ; [.2885.0020.0002.1847] # MONGOLIAN LETTER TODO U
+1861 ; [.2886.0020.0002.1861] # MONGOLIAN LETTER SIBE U
+1825 ; [.2887.0020.0002.1825] # MONGOLIAN LETTER OE
+1848 ; [.2888.0020.0002.1848] # MONGOLIAN LETTER TODO OE
+1826 ; [.2889.0020.0002.1826] # MONGOLIAN LETTER UE
+1849 ; [.288A.0020.0002.1849] # MONGOLIAN LETTER TODO UE
+1860 ; [.288B.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
+1827 ; [.288C.0020.0002.1827] # MONGOLIAN LETTER EE
+1828 ; [.288D.0020.0002.1828] # MONGOLIAN LETTER NA
+1829 ; [.288E.0020.0002.1829] # MONGOLIAN LETTER ANG
+184A ; [.288F.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
+1862 ; [.2890.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
+188A ; [.2891.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
+189B ; [.2892.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
+182A ; [.2893.0020.0002.182A] # MONGOLIAN LETTER BA
+184B ; [.2894.0020.0002.184B] # MONGOLIAN LETTER TODO BA
+182B ; [.2895.0020.0002.182B] # MONGOLIAN LETTER PA
+184C ; [.2896.0020.0002.184C] # MONGOLIAN LETTER TODO PA
+1866 ; [.2897.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
+182C ; [.2898.0020.0002.182C] # MONGOLIAN LETTER QA
+184D ; [.2899.0020.0002.184D] # MONGOLIAN LETTER TODO QA
+182D ; [.289A.0020.0002.182D] # MONGOLIAN LETTER GA
+184E ; [.289B.0020.0002.184E] # MONGOLIAN LETTER TODO GA
+1864 ; [.289C.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
+189A ; [.289D.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
+1865 ; [.289E.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
+182E ; [.289F.0020.0002.182E] # MONGOLIAN LETTER MA
+184F ; [.28A0.0020.0002.184F] # MONGOLIAN LETTER TODO MA
+182F ; [.28A1.0020.0002.182F] # MONGOLIAN LETTER LA
+1830 ; [.28A2.0020.0002.1830] # MONGOLIAN LETTER SA
+1831 ; [.28A3.0020.0002.1831] # MONGOLIAN LETTER SHA
+1867 ; [.28A4.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
+189C ; [.28A5.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
+189D ; [.28A6.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
+18A2 ; [.28A7.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
+18A4 ; [.28A8.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
+18A5 ; [.28A9.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
+1832 ; [.28AA.0020.0002.1832] # MONGOLIAN LETTER TA
+1850 ; [.28AB.0020.0002.1850] # MONGOLIAN LETTER TODO TA
+1868 ; [.28AC.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
+1833 ; [.28AD.0020.0002.1833] # MONGOLIAN LETTER DA
+1851 ; [.28AE.0020.0002.1851] # MONGOLIAN LETTER TODO DA
+1869 ; [.28AF.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
+1834 ; [.28B0.0020.0002.1834] # MONGOLIAN LETTER CHA
+1852 ; [.28B1.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
+1871 ; [.28B2.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
+185C ; [.28B3.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
+188B ; [.28B4.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
+1835 ; [.28B5.0020.0002.1835] # MONGOLIAN LETTER JA
+1853 ; [.28B6.0020.0002.1853] # MONGOLIAN LETTER TODO JA
+186A ; [.28B7.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
+1877 ; [.28B8.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
+1836 ; [.28B9.0020.0002.1836] # MONGOLIAN LETTER YA
+1855 ; [.28BA.0020.0002.1855] # MONGOLIAN LETTER TODO YA
+1872 ; [.28BB.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
+1837 ; [.28BC.0020.0002.1837] # MONGOLIAN LETTER RA
+1875 ; [.28BD.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
+1838 ; [.28BE.0020.0002.1838] # MONGOLIAN LETTER WA
+1856 ; [.28BF.0020.0002.1856] # MONGOLIAN LETTER TODO WA
+1839 ; [.28C0.0020.0002.1839] # MONGOLIAN LETTER FA
+186B ; [.28C1.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
+1876 ; [.28C2.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
+183A ; [.28C3.0020.0002.183A] # MONGOLIAN LETTER KA
+1857 ; [.28C4.0020.0002.1857] # MONGOLIAN LETTER TODO KA
+1863 ; [.28C5.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
+1874 ; [.28C6.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
+1889 ; [.28C7.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
+183B ; [.28C8.0020.0002.183B] # MONGOLIAN LETTER KHA
+183C ; [.28C9.0020.0002.183C] # MONGOLIAN LETTER TSA
+1854 ; [.28CA.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
+186E ; [.28CB.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
+183D ; [.28CC.0020.0002.183D] # MONGOLIAN LETTER ZA
+186F ; [.28CD.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
+1858 ; [.28CE.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
+186C ; [.28CF.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
+183E ; [.28D0.0020.0002.183E] # MONGOLIAN LETTER HAA
+1859 ; [.28D1.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
+186D ; [.28D2.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
+183F ; [.28D3.0020.0002.183F] # MONGOLIAN LETTER ZRA
+1840 ; [.28D4.0020.0002.1840] # MONGOLIAN LETTER LHA
+1841 ; [.28D5.0020.0002.1841] # MONGOLIAN LETTER ZHI
+1842 ; [.28D6.0020.0002.1842] # MONGOLIAN LETTER CHI
+185A ; [.28D7.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
+185B ; [.28D8.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
+1870 ; [.28D9.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
+188C ; [.28DA.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
+189E ; [.28DB.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
+188D ; [.28DC.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
+188E ; [.28DD.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
+189F ; [.28DE.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
+188F ; [.28DF.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
+1890 ; [.28E0.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
+1898 ; [.28E1.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
+18A0 ; [.28E2.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
+1891 ; [.28E3.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
+18A1 ; [.28E4.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
+1892 ; [.28E5.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
+1893 ; [.28E6.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
+18A8 ; [.28E7.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
+1894 ; [.28E8.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
+18A3 ; [.28E9.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
+1895 ; [.28EA.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
+1899 ; [.28EB.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
+1896 ; [.28EC.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
+1897 ; [.28ED.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
+18A6 ; [.28EE.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
+18A7 ; [.28EF.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
+18AA ; [.28F0.0020.0002.18AA] # MONGOLIAN LETTER MANCHU ALI GALI LHA
+18A9 ; [.28F1.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
+1C5A ; [.28F2.0020.0002.1C5A] # OL CHIKI LETTER LA
+1C5B ; [.28F3.0020.0002.1C5B] # OL CHIKI LETTER AT
+1C5C ; [.28F4.0020.0002.1C5C] # OL CHIKI LETTER AG
+1C5D ; [.28F5.0020.0002.1C5D] # OL CHIKI LETTER ANG
+1C5E ; [.28F6.0020.0002.1C5E] # OL CHIKI LETTER AL
+1C5F ; [.28F7.0020.0002.1C5F] # OL CHIKI LETTER LAA
+1C60 ; [.28F8.0020.0002.1C60] # OL CHIKI LETTER AAK
+1C61 ; [.28F9.0020.0002.1C61] # OL CHIKI LETTER AAJ
+1C62 ; [.28FA.0020.0002.1C62] # OL CHIKI LETTER AAM
+1C63 ; [.28FB.0020.0002.1C63] # OL CHIKI LETTER AAW
+1C64 ; [.28FC.0020.0002.1C64] # OL CHIKI LETTER LI
+1C65 ; [.28FD.0020.0002.1C65] # OL CHIKI LETTER IS
+1C66 ; [.28FE.0020.0002.1C66] # OL CHIKI LETTER IH
+1C67 ; [.28FF.0020.0002.1C67] # OL CHIKI LETTER INY
+1C68 ; [.2900.0020.0002.1C68] # OL CHIKI LETTER IR
+1C69 ; [.2901.0020.0002.1C69] # OL CHIKI LETTER LU
+1C6A ; [.2902.0020.0002.1C6A] # OL CHIKI LETTER UC
+1C6B ; [.2903.0020.0002.1C6B] # OL CHIKI LETTER UD
+1C6C ; [.2904.0020.0002.1C6C] # OL CHIKI LETTER UNN
+1C6D ; [.2905.0020.0002.1C6D] # OL CHIKI LETTER UY
+1C6E ; [.2906.0020.0002.1C6E] # OL CHIKI LETTER LE
+1C6F ; [.2907.0020.0002.1C6F] # OL CHIKI LETTER EP
+1C70 ; [.2908.0020.0002.1C70] # OL CHIKI LETTER EDD
+1C71 ; [.2909.0020.0002.1C71] # OL CHIKI LETTER EN
+1C72 ; [.290A.0020.0002.1C72] # OL CHIKI LETTER ERR
+1C73 ; [.290B.0020.0002.1C73] # OL CHIKI LETTER LO
+1C74 ; [.290C.0020.0002.1C74] # OL CHIKI LETTER OTT
+1C75 ; [.290D.0020.0002.1C75] # OL CHIKI LETTER OB
+1C76 ; [.290E.0020.0002.1C76] # OL CHIKI LETTER OV
+1C77 ; [.290F.0020.0002.1C77] # OL CHIKI LETTER OH
+1C78 ; [.2910.0020.0002.1C78] # OL CHIKI MU TTUDDAG
+1C79 ; [.2911.0020.0002.1C79] # OL CHIKI GAAHLAA TTUDDAAG
+1C7A ; [.2912.0020.0002.1C7A] # OL CHIKI MU-GAAHLAA TTUDDAAG
+1C7B ; [.2913.0020.0002.1C7B] # OL CHIKI RELAA
+1C7C ; [.2914.0020.0002.1C7C] # OL CHIKI PHAARKAA
+1C7D ; [.2915.0020.0002.1C7D] # OL CHIKI AHAD
+13A0 ; [.2916.0020.0002.13A0] # CHEROKEE LETTER A
+13A1 ; [.2917.0020.0002.13A1] # CHEROKEE LETTER E
+13A2 ; [.2918.0020.0002.13A2] # CHEROKEE LETTER I
+13A3 ; [.2919.0020.0002.13A3] # CHEROKEE LETTER O
+13A4 ; [.291A.0020.0002.13A4] # CHEROKEE LETTER U
+13A5 ; [.291B.0020.0002.13A5] # CHEROKEE LETTER V
+13A6 ; [.291C.0020.0002.13A6] # CHEROKEE LETTER GA
+13A7 ; [.291D.0020.0002.13A7] # CHEROKEE LETTER KA
+13A8 ; [.291E.0020.0002.13A8] # CHEROKEE LETTER GE
+13A9 ; [.291F.0020.0002.13A9] # CHEROKEE LETTER GI
+13AA ; [.2920.0020.0002.13AA] # CHEROKEE LETTER GO
+13AB ; [.2921.0020.0002.13AB] # CHEROKEE LETTER GU
+13AC ; [.2922.0020.0002.13AC] # CHEROKEE LETTER GV
+13AD ; [.2923.0020.0002.13AD] # CHEROKEE LETTER HA
+13AE ; [.2924.0020.0002.13AE] # CHEROKEE LETTER HE
+13AF ; [.2925.0020.0002.13AF] # CHEROKEE LETTER HI
+13B0 ; [.2926.0020.0002.13B0] # CHEROKEE LETTER HO
+13B1 ; [.2927.0020.0002.13B1] # CHEROKEE LETTER HU
+13B2 ; [.2928.0020.0002.13B2] # CHEROKEE LETTER HV
+13B3 ; [.2929.0020.0002.13B3] # CHEROKEE LETTER LA
+13B4 ; [.292A.0020.0002.13B4] # CHEROKEE LETTER LE
+13B5 ; [.292B.0020.0002.13B5] # CHEROKEE LETTER LI
+13B6 ; [.292C.0020.0002.13B6] # CHEROKEE LETTER LO
+13B7 ; [.292D.0020.0002.13B7] # CHEROKEE LETTER LU
+13B8 ; [.292E.0020.0002.13B8] # CHEROKEE LETTER LV
+13B9 ; [.292F.0020.0002.13B9] # CHEROKEE LETTER MA
+13BA ; [.2930.0020.0002.13BA] # CHEROKEE LETTER ME
+13BB ; [.2931.0020.0002.13BB] # CHEROKEE LETTER MI
+13BC ; [.2932.0020.0002.13BC] # CHEROKEE LETTER MO
+13BD ; [.2933.0020.0002.13BD] # CHEROKEE LETTER MU
+13BE ; [.2934.0020.0002.13BE] # CHEROKEE LETTER NA
+13BF ; [.2935.0020.0002.13BF] # CHEROKEE LETTER HNA
+13C0 ; [.2936.0020.0002.13C0] # CHEROKEE LETTER NAH
+13C1 ; [.2937.0020.0002.13C1] # CHEROKEE LETTER NE
+13C2 ; [.2938.0020.0002.13C2] # CHEROKEE LETTER NI
+13C3 ; [.2939.0020.0002.13C3] # CHEROKEE LETTER NO
+13C4 ; [.293A.0020.0002.13C4] # CHEROKEE LETTER NU
+13C5 ; [.293B.0020.0002.13C5] # CHEROKEE LETTER NV
+13C6 ; [.293C.0020.0002.13C6] # CHEROKEE LETTER QUA
+13C7 ; [.293D.0020.0002.13C7] # CHEROKEE LETTER QUE
+13C8 ; [.293E.0020.0002.13C8] # CHEROKEE LETTER QUI
+13C9 ; [.293F.0020.0002.13C9] # CHEROKEE LETTER QUO
+13CA ; [.2940.0020.0002.13CA] # CHEROKEE LETTER QUU
+13CB ; [.2941.0020.0002.13CB] # CHEROKEE LETTER QUV
+13CC ; [.2942.0020.0002.13CC] # CHEROKEE LETTER SA
+13CD ; [.2943.0020.0002.13CD] # CHEROKEE LETTER S
+13CE ; [.2944.0020.0002.13CE] # CHEROKEE LETTER SE
+13CF ; [.2945.0020.0002.13CF] # CHEROKEE LETTER SI
+13D0 ; [.2946.0020.0002.13D0] # CHEROKEE LETTER SO
+13D1 ; [.2947.0020.0002.13D1] # CHEROKEE LETTER SU
+13D2 ; [.2948.0020.0002.13D2] # CHEROKEE LETTER SV
+13D3 ; [.2949.0020.0002.13D3] # CHEROKEE LETTER DA
+13D4 ; [.294A.0020.0002.13D4] # CHEROKEE LETTER TA
+13D5 ; [.294B.0020.0002.13D5] # CHEROKEE LETTER DE
+13D6 ; [.294C.0020.0002.13D6] # CHEROKEE LETTER TE
+13D7 ; [.294D.0020.0002.13D7] # CHEROKEE LETTER DI
+13D8 ; [.294E.0020.0002.13D8] # CHEROKEE LETTER TI
+13D9 ; [.294F.0020.0002.13D9] # CHEROKEE LETTER DO
+13DA ; [.2950.0020.0002.13DA] # CHEROKEE LETTER DU
+13DB ; [.2951.0020.0002.13DB] # CHEROKEE LETTER DV
+13DC ; [.2952.0020.0002.13DC] # CHEROKEE LETTER DLA
+13DD ; [.2953.0020.0002.13DD] # CHEROKEE LETTER TLA
+13DE ; [.2954.0020.0002.13DE] # CHEROKEE LETTER TLE
+13DF ; [.2955.0020.0002.13DF] # CHEROKEE LETTER TLI
+13E0 ; [.2956.0020.0002.13E0] # CHEROKEE LETTER TLO
+13E1 ; [.2957.0020.0002.13E1] # CHEROKEE LETTER TLU
+13E2 ; [.2958.0020.0002.13E2] # CHEROKEE LETTER TLV
+13E3 ; [.2959.0020.0002.13E3] # CHEROKEE LETTER TSA
+13E4 ; [.295A.0020.0002.13E4] # CHEROKEE LETTER TSE
+13E5 ; [.295B.0020.0002.13E5] # CHEROKEE LETTER TSI
+13E6 ; [.295C.0020.0002.13E6] # CHEROKEE LETTER TSO
+13E7 ; [.295D.0020.0002.13E7] # CHEROKEE LETTER TSU
+13E8 ; [.295E.0020.0002.13E8] # CHEROKEE LETTER TSV
+13E9 ; [.295F.0020.0002.13E9] # CHEROKEE LETTER WA
+13EA ; [.2960.0020.0002.13EA] # CHEROKEE LETTER WE
+13EB ; [.2961.0020.0002.13EB] # CHEROKEE LETTER WI
+13EC ; [.2962.0020.0002.13EC] # CHEROKEE LETTER WO
+13ED ; [.2963.0020.0002.13ED] # CHEROKEE LETTER WU
+13EE ; [.2964.0020.0002.13EE] # CHEROKEE LETTER WV
+13EF ; [.2965.0020.0002.13EF] # CHEROKEE LETTER YA
+13F0 ; [.2966.0020.0002.13F0] # CHEROKEE LETTER YE
+13F1 ; [.2967.0020.0002.13F1] # CHEROKEE LETTER YI
+13F2 ; [.2968.0020.0002.13F2] # CHEROKEE LETTER YO
+13F3 ; [.2969.0020.0002.13F3] # CHEROKEE LETTER YU
+13F4 ; [.296A.0020.0002.13F4] # CHEROKEE LETTER YV
+1401 ; [.296B.0020.0002.1401] # CANADIAN SYLLABICS E
+1402 ; [.296C.0020.0002.1402] # CANADIAN SYLLABICS AAI
+1403 ; [.296D.0020.0002.1403] # CANADIAN SYLLABICS I
+1404 ; [.296E.0020.0002.1404] # CANADIAN SYLLABICS II
+1405 ; [.296F.0020.0002.1405] # CANADIAN SYLLABICS O
+1406 ; [.2970.0020.0002.1406] # CANADIAN SYLLABICS OO
+1407 ; [.2971.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
+1408 ; [.2972.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
+1409 ; [.2973.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
+140A ; [.2974.0020.0002.140A] # CANADIAN SYLLABICS A
+140B ; [.2975.0020.0002.140B] # CANADIAN SYLLABICS AA
+140C ; [.2976.0020.0002.140C] # CANADIAN SYLLABICS WE
+140D ; [.2977.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
+140E ; [.2978.0020.0002.140E] # CANADIAN SYLLABICS WI
+140F ; [.2979.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
+1410 ; [.297A.0020.0002.1410] # CANADIAN SYLLABICS WII
+1411 ; [.297B.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
+1412 ; [.297C.0020.0002.1412] # CANADIAN SYLLABICS WO
+1413 ; [.297D.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
+1414 ; [.297E.0020.0002.1414] # CANADIAN SYLLABICS WOO
+1415 ; [.297F.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
+1416 ; [.2980.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
+1417 ; [.2981.0020.0002.1417] # CANADIAN SYLLABICS WA
+1418 ; [.2982.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
+1419 ; [.2983.0020.0002.1419] # CANADIAN SYLLABICS WAA
+141A ; [.2984.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
+141B ; [.2985.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
+141C ; [.2986.0020.0002.141C] # CANADIAN SYLLABICS AI
+141D ; [.2987.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
+141E ; [.2988.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
+141F ; [.2989.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
+1420 ; [.298A.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
+1421 ; [.298B.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+1422 ; [.298C.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
+1423 ; [.298D.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
+1424 ; [.298E.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
+1425 ; [.298F.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+1426 ; [.2990.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+1427 ; [.2991.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
+1428 ; [.2992.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+1429 ; [.2993.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
+142A ; [.2994.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
+142B ; [.2995.0020.0002.142B] # CANADIAN SYLLABICS EN
+142C ; [.2996.0020.0002.142C] # CANADIAN SYLLABICS IN
+142D ; [.2997.0020.0002.142D] # CANADIAN SYLLABICS ON
+142E ; [.2998.0020.0002.142E] # CANADIAN SYLLABICS AN
+142F ; [.2999.0020.0002.142F] # CANADIAN SYLLABICS PE
+1430 ; [.299A.0020.0002.1430] # CANADIAN SYLLABICS PAAI
+1431 ; [.299B.0020.0002.1431] # CANADIAN SYLLABICS PI
+1432 ; [.299C.0020.0002.1432] # CANADIAN SYLLABICS PII
+1433 ; [.299D.0020.0002.1433] # CANADIAN SYLLABICS PO
+1434 ; [.299E.0020.0002.1434] # CANADIAN SYLLABICS POO
+1435 ; [.299F.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
+1436 ; [.29A0.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
+1437 ; [.29A1.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
+1438 ; [.29A2.0020.0002.1438] # CANADIAN SYLLABICS PA
+1439 ; [.29A3.0020.0002.1439] # CANADIAN SYLLABICS PAA
+143A ; [.29A4.0020.0002.143A] # CANADIAN SYLLABICS PWE
+143B ; [.29A5.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
+143C ; [.29A6.0020.0002.143C] # CANADIAN SYLLABICS PWI
+143D ; [.29A7.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
+143E ; [.29A8.0020.0002.143E] # CANADIAN SYLLABICS PWII
+143F ; [.29A9.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
+1440 ; [.29AA.0020.0002.1440] # CANADIAN SYLLABICS PWO
+1441 ; [.29AB.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
+1442 ; [.29AC.0020.0002.1442] # CANADIAN SYLLABICS PWOO
+1443 ; [.29AD.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
+1444 ; [.29AE.0020.0002.1444] # CANADIAN SYLLABICS PWA
+1445 ; [.29AF.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
+1446 ; [.29B0.0020.0002.1446] # CANADIAN SYLLABICS PWAA
+1447 ; [.29B1.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
+1448 ; [.29B2.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
+1449 ; [.29B3.0020.0002.1449] # CANADIAN SYLLABICS P
+144A ; [.29B4.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
+144B ; [.29B5.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
+144C ; [.29B6.0020.0002.144C] # CANADIAN SYLLABICS TE
+144D ; [.29B7.0020.0002.144D] # CANADIAN SYLLABICS TAAI
+144E ; [.29B8.0020.0002.144E] # CANADIAN SYLLABICS TI
+144F ; [.29B9.0020.0002.144F] # CANADIAN SYLLABICS TII
+1450 ; [.29BA.0020.0002.1450] # CANADIAN SYLLABICS TO
+1451 ; [.29BB.0020.0002.1451] # CANADIAN SYLLABICS TOO
+1452 ; [.29BC.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
+1453 ; [.29BD.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
+1454 ; [.29BE.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
+1455 ; [.29BF.0020.0002.1455] # CANADIAN SYLLABICS TA
+1456 ; [.29C0.0020.0002.1456] # CANADIAN SYLLABICS TAA
+1457 ; [.29C1.0020.0002.1457] # CANADIAN SYLLABICS TWE
+1458 ; [.29C2.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
+1459 ; [.29C3.0020.0002.1459] # CANADIAN SYLLABICS TWI
+145A ; [.29C4.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
+145B ; [.29C5.0020.0002.145B] # CANADIAN SYLLABICS TWII
+145C ; [.29C6.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
+145D ; [.29C7.0020.0002.145D] # CANADIAN SYLLABICS TWO
+145E ; [.29C8.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
+145F ; [.29C9.0020.0002.145F] # CANADIAN SYLLABICS TWOO
+1460 ; [.29CA.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
+1461 ; [.29CB.0020.0002.1461] # CANADIAN SYLLABICS TWA
+1462 ; [.29CC.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
+1463 ; [.29CD.0020.0002.1463] # CANADIAN SYLLABICS TWAA
+1464 ; [.29CE.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
+1465 ; [.29CF.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
+1466 ; [.29D0.0020.0002.1466] # CANADIAN SYLLABICS T
+1467 ; [.29D1.0020.0002.1467] # CANADIAN SYLLABICS TTE
+1468 ; [.29D2.0020.0002.1468] # CANADIAN SYLLABICS TTI
+1469 ; [.29D3.0020.0002.1469] # CANADIAN SYLLABICS TTO
+146A ; [.29D4.0020.0002.146A] # CANADIAN SYLLABICS TTA
+146B ; [.29D5.0020.0002.146B] # CANADIAN SYLLABICS KE
+146C ; [.29D6.0020.0002.146C] # CANADIAN SYLLABICS KAAI
+146D ; [.29D7.0020.0002.146D] # CANADIAN SYLLABICS KI
+146E ; [.29D8.0020.0002.146E] # CANADIAN SYLLABICS KII
+146F ; [.29D9.0020.0002.146F] # CANADIAN SYLLABICS KO
+1470 ; [.29DA.0020.0002.1470] # CANADIAN SYLLABICS KOO
+1471 ; [.29DB.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
+1472 ; [.29DC.0020.0002.1472] # CANADIAN SYLLABICS KA
+1473 ; [.29DD.0020.0002.1473] # CANADIAN SYLLABICS KAA
+1474 ; [.29DE.0020.0002.1474] # CANADIAN SYLLABICS KWE
+1475 ; [.29DF.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
+1476 ; [.29E0.0020.0002.1476] # CANADIAN SYLLABICS KWI
+1477 ; [.29E1.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
+1478 ; [.29E2.0020.0002.1478] # CANADIAN SYLLABICS KWII
+1479 ; [.29E3.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
+147A ; [.29E4.0020.0002.147A] # CANADIAN SYLLABICS KWO
+147B ; [.29E5.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
+147C ; [.29E6.0020.0002.147C] # CANADIAN SYLLABICS KWOO
+147D ; [.29E7.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
+147E ; [.29E8.0020.0002.147E] # CANADIAN SYLLABICS KWA
+147F ; [.29E9.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
+1480 ; [.29EA.0020.0002.1480] # CANADIAN SYLLABICS KWAA
+1481 ; [.29EB.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
+1482 ; [.29EC.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
+1483 ; [.29ED.0020.0002.1483] # CANADIAN SYLLABICS K
+1484 ; [.29EE.0020.0002.1484] # CANADIAN SYLLABICS KW
+1485 ; [.29EF.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+1486 ; [.29F0.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+1487 ; [.29F1.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+1488 ; [.29F2.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+1489 ; [.29F3.0020.0002.1489] # CANADIAN SYLLABICS CE
+148A ; [.29F4.0020.0002.148A] # CANADIAN SYLLABICS CAAI
+148B ; [.29F5.0020.0002.148B] # CANADIAN SYLLABICS CI
+148C ; [.29F6.0020.0002.148C] # CANADIAN SYLLABICS CII
+148D ; [.29F7.0020.0002.148D] # CANADIAN SYLLABICS CO
+148E ; [.29F8.0020.0002.148E] # CANADIAN SYLLABICS COO
+148F ; [.29F9.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
+1490 ; [.29FA.0020.0002.1490] # CANADIAN SYLLABICS CA
+1491 ; [.29FB.0020.0002.1491] # CANADIAN SYLLABICS CAA
+1492 ; [.29FC.0020.0002.1492] # CANADIAN SYLLABICS CWE
+1493 ; [.29FD.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
+1494 ; [.29FE.0020.0002.1494] # CANADIAN SYLLABICS CWI
+1495 ; [.29FF.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
+1496 ; [.2A00.0020.0002.1496] # CANADIAN SYLLABICS CWII
+1497 ; [.2A01.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
+1498 ; [.2A02.0020.0002.1498] # CANADIAN SYLLABICS CWO
+1499 ; [.2A03.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
+149A ; [.2A04.0020.0002.149A] # CANADIAN SYLLABICS CWOO
+149B ; [.2A05.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
+149C ; [.2A06.0020.0002.149C] # CANADIAN SYLLABICS CWA
+149D ; [.2A07.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
+149E ; [.2A08.0020.0002.149E] # CANADIAN SYLLABICS CWAA
+149F ; [.2A09.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
+14A0 ; [.2A0A.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
+14A1 ; [.2A0B.0020.0002.14A1] # CANADIAN SYLLABICS C
+14A2 ; [.2A0C.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
+14A3 ; [.2A0D.0020.0002.14A3] # CANADIAN SYLLABICS ME
+14A4 ; [.2A0E.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
+14A5 ; [.2A0F.0020.0002.14A5] # CANADIAN SYLLABICS MI
+14A6 ; [.2A10.0020.0002.14A6] # CANADIAN SYLLABICS MII
+14A7 ; [.2A11.0020.0002.14A7] # CANADIAN SYLLABICS MO
+14A8 ; [.2A12.0020.0002.14A8] # CANADIAN SYLLABICS MOO
+14A9 ; [.2A13.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
+14AA ; [.2A14.0020.0002.14AA] # CANADIAN SYLLABICS MA
+14AB ; [.2A15.0020.0002.14AB] # CANADIAN SYLLABICS MAA
+14AC ; [.2A16.0020.0002.14AC] # CANADIAN SYLLABICS MWE
+14AD ; [.2A17.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
+14AE ; [.2A18.0020.0002.14AE] # CANADIAN SYLLABICS MWI
+14AF ; [.2A19.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
+14B0 ; [.2A1A.0020.0002.14B0] # CANADIAN SYLLABICS MWII
+14B1 ; [.2A1B.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
+14B2 ; [.2A1C.0020.0002.14B2] # CANADIAN SYLLABICS MWO
+14B3 ; [.2A1D.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
+14B4 ; [.2A1E.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
+14B5 ; [.2A1F.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
+14B6 ; [.2A20.0020.0002.14B6] # CANADIAN SYLLABICS MWA
+14B7 ; [.2A21.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
+14B8 ; [.2A22.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
+14B9 ; [.2A23.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
+14BA ; [.2A24.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
+14BB ; [.2A25.0020.0002.14BB] # CANADIAN SYLLABICS M
+14BC ; [.2A26.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
+14BD ; [.2A27.0020.0002.14BD] # CANADIAN SYLLABICS MH
+14BE ; [.2A28.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
+14BF ; [.2A29.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
+14C0 ; [.2A2A.0020.0002.14C0] # CANADIAN SYLLABICS NE
+14C1 ; [.2A2B.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
+14C2 ; [.2A2C.0020.0002.14C2] # CANADIAN SYLLABICS NI
+14C3 ; [.2A2D.0020.0002.14C3] # CANADIAN SYLLABICS NII
+14C4 ; [.2A2E.0020.0002.14C4] # CANADIAN SYLLABICS NO
+14C5 ; [.2A2F.0020.0002.14C5] # CANADIAN SYLLABICS NOO
+14C6 ; [.2A30.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
+14C7 ; [.2A31.0020.0002.14C7] # CANADIAN SYLLABICS NA
+14C8 ; [.2A32.0020.0002.14C8] # CANADIAN SYLLABICS NAA
+14C9 ; [.2A33.0020.0002.14C9] # CANADIAN SYLLABICS NWE
+14CA ; [.2A34.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
+14CB ; [.2A35.0020.0002.14CB] # CANADIAN SYLLABICS NWA
+14CC ; [.2A36.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
+14CD ; [.2A37.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
+14CE ; [.2A38.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
+14CF ; [.2A39.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
+14D0 ; [.2A3A.0020.0002.14D0] # CANADIAN SYLLABICS N
+14D1 ; [.2A3B.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
+14D2 ; [.2A3C.0020.0002.14D2] # CANADIAN SYLLABICS NH
+14D3 ; [.2A3D.0020.0002.14D3] # CANADIAN SYLLABICS LE
+14D4 ; [.2A3E.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
+14D5 ; [.2A3F.0020.0002.14D5] # CANADIAN SYLLABICS LI
+14D6 ; [.2A40.0020.0002.14D6] # CANADIAN SYLLABICS LII
+14D7 ; [.2A41.0020.0002.14D7] # CANADIAN SYLLABICS LO
+14D8 ; [.2A42.0020.0002.14D8] # CANADIAN SYLLABICS LOO
+14D9 ; [.2A43.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
+14DA ; [.2A44.0020.0002.14DA] # CANADIAN SYLLABICS LA
+14DB ; [.2A45.0020.0002.14DB] # CANADIAN SYLLABICS LAA
+14DC ; [.2A46.0020.0002.14DC] # CANADIAN SYLLABICS LWE
+14DD ; [.2A47.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
+14DE ; [.2A48.0020.0002.14DE] # CANADIAN SYLLABICS LWI
+14DF ; [.2A49.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
+14E0 ; [.2A4A.0020.0002.14E0] # CANADIAN SYLLABICS LWII
+14E1 ; [.2A4B.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
+14E2 ; [.2A4C.0020.0002.14E2] # CANADIAN SYLLABICS LWO
+14E3 ; [.2A4D.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
+14E4 ; [.2A4E.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
+14E5 ; [.2A4F.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
+14E6 ; [.2A50.0020.0002.14E6] # CANADIAN SYLLABICS LWA
+14E7 ; [.2A51.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
+14E8 ; [.2A52.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
+14E9 ; [.2A53.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
+14EA ; [.2A54.0020.0002.14EA] # CANADIAN SYLLABICS L
+14EB ; [.2A55.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
+14EC ; [.2A56.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
+14ED ; [.2A57.0020.0002.14ED] # CANADIAN SYLLABICS SE
+14EE ; [.2A58.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
+14EF ; [.2A59.0020.0002.14EF] # CANADIAN SYLLABICS SI
+14F0 ; [.2A5A.0020.0002.14F0] # CANADIAN SYLLABICS SII
+14F1 ; [.2A5B.0020.0002.14F1] # CANADIAN SYLLABICS SO
+14F2 ; [.2A5C.0020.0002.14F2] # CANADIAN SYLLABICS SOO
+14F3 ; [.2A5D.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
+14F4 ; [.2A5E.0020.0002.14F4] # CANADIAN SYLLABICS SA
+14F5 ; [.2A5F.0020.0002.14F5] # CANADIAN SYLLABICS SAA
+14F6 ; [.2A60.0020.0002.14F6] # CANADIAN SYLLABICS SWE
+14F7 ; [.2A61.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
+14F8 ; [.2A62.0020.0002.14F8] # CANADIAN SYLLABICS SWI
+14F9 ; [.2A63.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
+14FA ; [.2A64.0020.0002.14FA] # CANADIAN SYLLABICS SWII
+14FB ; [.2A65.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
+14FC ; [.2A66.0020.0002.14FC] # CANADIAN SYLLABICS SWO
+14FD ; [.2A67.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
+14FE ; [.2A68.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
+14FF ; [.2A69.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
+1500 ; [.2A6A.0020.0002.1500] # CANADIAN SYLLABICS SWA
+1501 ; [.2A6B.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
+1502 ; [.2A6C.0020.0002.1502] # CANADIAN SYLLABICS SWAA
+1503 ; [.2A6D.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
+1504 ; [.2A6E.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
+1505 ; [.2A6F.0020.0002.1505] # CANADIAN SYLLABICS S
+1506 ; [.2A70.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
+1507 ; [.2A71.0020.0002.1507] # CANADIAN SYLLABICS SW
+1508 ; [.2A72.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
+1509 ; [.2A73.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
+150A ; [.2A74.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
+150B ; [.2A75.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
+150C ; [.2A76.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
+150D ; [.2A77.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
+150E ; [.2A78.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
+150F ; [.2A79.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
+1510 ; [.2A7A.0020.0002.1510] # CANADIAN SYLLABICS SHE
+1511 ; [.2A7B.0020.0002.1511] # CANADIAN SYLLABICS SHI
+1512 ; [.2A7C.0020.0002.1512] # CANADIAN SYLLABICS SHII
+1513 ; [.2A7D.0020.0002.1513] # CANADIAN SYLLABICS SHO
+1514 ; [.2A7E.0020.0002.1514] # CANADIAN SYLLABICS SHOO
+1515 ; [.2A7F.0020.0002.1515] # CANADIAN SYLLABICS SHA
+1516 ; [.2A80.0020.0002.1516] # CANADIAN SYLLABICS SHAA
+1517 ; [.2A81.0020.0002.1517] # CANADIAN SYLLABICS SHWE
+1518 ; [.2A82.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
+1519 ; [.2A83.0020.0002.1519] # CANADIAN SYLLABICS SHWI
+151A ; [.2A84.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
+151B ; [.2A85.0020.0002.151B] # CANADIAN SYLLABICS SHWII
+151C ; [.2A86.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
+151D ; [.2A87.0020.0002.151D] # CANADIAN SYLLABICS SHWO
+151E ; [.2A88.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
+151F ; [.2A89.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
+1520 ; [.2A8A.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
+1521 ; [.2A8B.0020.0002.1521] # CANADIAN SYLLABICS SHWA
+1522 ; [.2A8C.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
+1523 ; [.2A8D.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
+1524 ; [.2A8E.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
+1525 ; [.2A8F.0020.0002.1525] # CANADIAN SYLLABICS SH
+1526 ; [.2A90.0020.0002.1526] # CANADIAN SYLLABICS YE
+1527 ; [.2A91.0020.0002.1527] # CANADIAN SYLLABICS YAAI
+1528 ; [.2A92.0020.0002.1528] # CANADIAN SYLLABICS YI
+1529 ; [.2A93.0020.0002.1529] # CANADIAN SYLLABICS YII
+152A ; [.2A94.0020.0002.152A] # CANADIAN SYLLABICS YO
+152B ; [.2A95.0020.0002.152B] # CANADIAN SYLLABICS YOO
+152C ; [.2A96.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
+152D ; [.2A97.0020.0002.152D] # CANADIAN SYLLABICS YA
+152E ; [.2A98.0020.0002.152E] # CANADIAN SYLLABICS YAA
+152F ; [.2A99.0020.0002.152F] # CANADIAN SYLLABICS YWE
+1530 ; [.2A9A.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
+1531 ; [.2A9B.0020.0002.1531] # CANADIAN SYLLABICS YWI
+1532 ; [.2A9C.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
+1533 ; [.2A9D.0020.0002.1533] # CANADIAN SYLLABICS YWII
+1534 ; [.2A9E.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
+1535 ; [.2A9F.0020.0002.1535] # CANADIAN SYLLABICS YWO
+1536 ; [.2AA0.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
+1537 ; [.2AA1.0020.0002.1537] # CANADIAN SYLLABICS YWOO
+1538 ; [.2AA2.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
+1539 ; [.2AA3.0020.0002.1539] # CANADIAN SYLLABICS YWA
+153A ; [.2AA4.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
+153B ; [.2AA5.0020.0002.153B] # CANADIAN SYLLABICS YWAA
+153C ; [.2AA6.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
+153D ; [.2AA7.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
+153E ; [.2AA8.0020.0002.153E] # CANADIAN SYLLABICS Y
+153F ; [.2AA9.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
+1540 ; [.2AAA.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
+1541 ; [.2AAB.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
+1542 ; [.2AAC.0020.0002.1542] # CANADIAN SYLLABICS RE
+1543 ; [.2AAD.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
+1544 ; [.2AAE.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
+1545 ; [.2AAF.0020.0002.1545] # CANADIAN SYLLABICS RAAI
+1546 ; [.2AB0.0020.0002.1546] # CANADIAN SYLLABICS RI
+1547 ; [.2AB1.0020.0002.1547] # CANADIAN SYLLABICS RII
+1548 ; [.2AB2.0020.0002.1548] # CANADIAN SYLLABICS RO
+1549 ; [.2AB3.0020.0002.1549] # CANADIAN SYLLABICS ROO
+154A ; [.2AB4.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
+154B ; [.2AB5.0020.0002.154B] # CANADIAN SYLLABICS RA
+154C ; [.2AB6.0020.0002.154C] # CANADIAN SYLLABICS RAA
+154D ; [.2AB7.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
+154E ; [.2AB8.0020.0002.154E] # CANADIAN SYLLABICS RWAA
+154F ; [.2AB9.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
+1550 ; [.2ABA.0020.0002.1550] # CANADIAN SYLLABICS R
+1551 ; [.2ABB.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
+1552 ; [.2ABC.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
+1553 ; [.2ABD.0020.0002.1553] # CANADIAN SYLLABICS FE
+1554 ; [.2ABE.0020.0002.1554] # CANADIAN SYLLABICS FAAI
+1555 ; [.2ABF.0020.0002.1555] # CANADIAN SYLLABICS FI
+1556 ; [.2AC0.0020.0002.1556] # CANADIAN SYLLABICS FII
+1557 ; [.2AC1.0020.0002.1557] # CANADIAN SYLLABICS FO
+1558 ; [.2AC2.0020.0002.1558] # CANADIAN SYLLABICS FOO
+1559 ; [.2AC3.0020.0002.1559] # CANADIAN SYLLABICS FA
+155A ; [.2AC4.0020.0002.155A] # CANADIAN SYLLABICS FAA
+155B ; [.2AC5.0020.0002.155B] # CANADIAN SYLLABICS FWAA
+155C ; [.2AC6.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
+155D ; [.2AC7.0020.0002.155D] # CANADIAN SYLLABICS F
+155E ; [.2AC8.0020.0002.155E] # CANADIAN SYLLABICS THE
+155F ; [.2AC9.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
+1560 ; [.2ACA.0020.0002.1560] # CANADIAN SYLLABICS THI
+1561 ; [.2ACB.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
+1562 ; [.2ACC.0020.0002.1562] # CANADIAN SYLLABICS THII
+1563 ; [.2ACD.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
+1564 ; [.2ACE.0020.0002.1564] # CANADIAN SYLLABICS THO
+1565 ; [.2ACF.0020.0002.1565] # CANADIAN SYLLABICS THOO
+1566 ; [.2AD0.0020.0002.1566] # CANADIAN SYLLABICS THA
+1567 ; [.2AD1.0020.0002.1567] # CANADIAN SYLLABICS THAA
+1568 ; [.2AD2.0020.0002.1568] # CANADIAN SYLLABICS THWAA
+1569 ; [.2AD3.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
+156A ; [.2AD4.0020.0002.156A] # CANADIAN SYLLABICS TH
+156B ; [.2AD5.0020.0002.156B] # CANADIAN SYLLABICS TTHE
+156C ; [.2AD6.0020.0002.156C] # CANADIAN SYLLABICS TTHI
+156D ; [.2AD7.0020.0002.156D] # CANADIAN SYLLABICS TTHO
+156E ; [.2AD8.0020.0002.156E] # CANADIAN SYLLABICS TTHA
+156F ; [.2AD9.0020.0002.156F] # CANADIAN SYLLABICS TTH
+1570 ; [.2ADA.0020.0002.1570] # CANADIAN SYLLABICS TYE
+1571 ; [.2ADB.0020.0002.1571] # CANADIAN SYLLABICS TYI
+1572 ; [.2ADC.0020.0002.1572] # CANADIAN SYLLABICS TYO
+1573 ; [.2ADD.0020.0002.1573] # CANADIAN SYLLABICS TYA
+1574 ; [.2ADE.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
+1575 ; [.2ADF.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
+1576 ; [.2AE0.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
+1577 ; [.2AE1.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
+1578 ; [.2AE2.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
+1579 ; [.2AE3.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
+157A ; [.2AE4.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
+157B ; [.2AE5.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
+157D ; [.2AE6.0020.0002.157D] # CANADIAN SYLLABICS HK
+166F ; [.2AE7.0020.0002.166F] # CANADIAN SYLLABICS QAI
+157E ; [.2AE8.0020.0002.157E] # CANADIAN SYLLABICS QAAI
+157F ; [.2AE9.0020.0002.157F] # CANADIAN SYLLABICS QI
+1580 ; [.2AEA.0020.0002.1580] # CANADIAN SYLLABICS QII
+1581 ; [.2AEB.0020.0002.1581] # CANADIAN SYLLABICS QO
+1582 ; [.2AEC.0020.0002.1582] # CANADIAN SYLLABICS QOO
+1583 ; [.2AED.0020.0002.1583] # CANADIAN SYLLABICS QA
+1584 ; [.2AEE.0020.0002.1584] # CANADIAN SYLLABICS QAA
+1585 ; [.2AEF.0020.0002.1585] # CANADIAN SYLLABICS Q
+1586 ; [.2AF0.0020.0002.1586] # CANADIAN SYLLABICS TLHE
+1587 ; [.2AF1.0020.0002.1587] # CANADIAN SYLLABICS TLHI
+1588 ; [.2AF2.0020.0002.1588] # CANADIAN SYLLABICS TLHO
+1589 ; [.2AF3.0020.0002.1589] # CANADIAN SYLLABICS TLHA
+158A ; [.2AF4.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
+158B ; [.2AF5.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
+158C ; [.2AF6.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
+158D ; [.2AF7.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
+1670 ; [.2AF8.0020.0002.1670] # CANADIAN SYLLABICS NGAI
+158E ; [.2AF9.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
+158F ; [.2AFA.0020.0002.158F] # CANADIAN SYLLABICS NGI
+1590 ; [.2AFB.0020.0002.1590] # CANADIAN SYLLABICS NGII
+1591 ; [.2AFC.0020.0002.1591] # CANADIAN SYLLABICS NGO
+1592 ; [.2AFD.0020.0002.1592] # CANADIAN SYLLABICS NGOO
+1593 ; [.2AFE.0020.0002.1593] # CANADIAN SYLLABICS NGA
+1594 ; [.2AFF.0020.0002.1594] # CANADIAN SYLLABICS NGAA
+1595 ; [.2B00.0020.0002.1595] # CANADIAN SYLLABICS NG
+1671 ; [.2B01.0020.0002.1671] # CANADIAN SYLLABICS NNGI
+1672 ; [.2B02.0020.0002.1672] # CANADIAN SYLLABICS NNGII
+1673 ; [.2B03.0020.0002.1673] # CANADIAN SYLLABICS NNGO
+1674 ; [.2B04.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
+1675 ; [.2B05.0020.0002.1675] # CANADIAN SYLLABICS NNGA
+1676 ; [.2B06.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
+1596 ; [.2B07.0020.0002.1596] # CANADIAN SYLLABICS NNG
+1597 ; [.2B08.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
+1598 ; [.2B09.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
+1599 ; [.2B0A.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
+159A ; [.2B0B.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
+159B ; [.2B0C.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
+159C ; [.2B0D.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
+159D ; [.2B0E.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
+159E ; [.2B0F.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
+159F ; [.2B10.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
+15A0 ; [.2B11.0020.0002.15A0] # CANADIAN SYLLABICS LHI
+15A1 ; [.2B12.0020.0002.15A1] # CANADIAN SYLLABICS LHII
+15A2 ; [.2B13.0020.0002.15A2] # CANADIAN SYLLABICS LHO
+15A3 ; [.2B14.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
+15A4 ; [.2B15.0020.0002.15A4] # CANADIAN SYLLABICS LHA
+15A5 ; [.2B16.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
+15A6 ; [.2B17.0020.0002.15A6] # CANADIAN SYLLABICS LH
+157C ; [.2B18.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
+15A7 ; [.2B19.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
+15A8 ; [.2B1A.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
+15A9 ; [.2B1B.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
+15AA ; [.2B1C.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
+15AB ; [.2B1D.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
+15AC ; [.2B1E.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
+15AD ; [.2B1F.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
+15AE ; [.2B20.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
+15AF ; [.2B21.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
+15B0 ; [.2B22.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
+15B1 ; [.2B23.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
+15B2 ; [.2B24.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
+15B3 ; [.2B25.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
+15B4 ; [.2B26.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
+15B5 ; [.2B27.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
+15B6 ; [.2B28.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
+15B7 ; [.2B29.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
+15B8 ; [.2B2A.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
+15B9 ; [.2B2B.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
+15BA ; [.2B2C.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
+15BB ; [.2B2D.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
+15BC ; [.2B2E.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
+15BD ; [.2B2F.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
+15BE ; [.2B30.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
+15BF ; [.2B31.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
+15C0 ; [.2B32.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
+15C1 ; [.2B33.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
+15C2 ; [.2B34.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
+15C3 ; [.2B35.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
+15C4 ; [.2B36.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
+15C5 ; [.2B37.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
+15C6 ; [.2B38.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
+15C7 ; [.2B39.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
+15C8 ; [.2B3A.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
+15C9 ; [.2B3B.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
+15CA ; [.2B3C.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
+15CB ; [.2B3D.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
+15CC ; [.2B3E.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
+15CD ; [.2B3F.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
+15CE ; [.2B40.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
+15CF ; [.2B41.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
+15D0 ; [.2B42.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
+15D1 ; [.2B43.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
+15D2 ; [.2B44.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
+15D3 ; [.2B45.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
+15D4 ; [.2B46.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
+15D5 ; [.2B47.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
+15D6 ; [.2B48.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
+15D7 ; [.2B49.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
+15D8 ; [.2B4A.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
+15D9 ; [.2B4B.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
+15DA ; [.2B4C.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
+15DB ; [.2B4D.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
+15DC ; [.2B4E.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
+15DD ; [.2B4F.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
+15DE ; [.2B50.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
+15DF ; [.2B51.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
+15E0 ; [.2B52.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
+15E1 ; [.2B53.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
+15E2 ; [.2B54.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
+15E3 ; [.2B55.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
+15E4 ; [.2B56.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
+15E5 ; [.2B57.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
+15E6 ; [.2B58.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
+15E7 ; [.2B59.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
+15E8 ; [.2B5A.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
+15E9 ; [.2B5B.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
+15EA ; [.2B5C.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
+15EB ; [.2B5D.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
+15EC ; [.2B5E.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
+15ED ; [.2B5F.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
+15EE ; [.2B60.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
+15EF ; [.2B61.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
+15F0 ; [.2B62.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
+15F1 ; [.2B63.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
+15F2 ; [.2B64.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
+15F3 ; [.2B65.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
+15F4 ; [.2B66.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
+15F5 ; [.2B67.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
+15F6 ; [.2B68.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
+15F7 ; [.2B69.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
+15F8 ; [.2B6A.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
+15F9 ; [.2B6B.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
+15FA ; [.2B6C.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
+15FB ; [.2B6D.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
+15FC ; [.2B6E.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
+15FD ; [.2B6F.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
+15FE ; [.2B70.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
+15FF ; [.2B71.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
+1600 ; [.2B72.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
+1601 ; [.2B73.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
+1602 ; [.2B74.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
+1603 ; [.2B75.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
+1604 ; [.2B76.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
+1605 ; [.2B77.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
+1606 ; [.2B78.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
+1607 ; [.2B79.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
+1608 ; [.2B7A.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
+1609 ; [.2B7B.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
+160A ; [.2B7C.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
+160B ; [.2B7D.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
+160C ; [.2B7E.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
+160D ; [.2B7F.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
+160E ; [.2B80.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
+160F ; [.2B81.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
+1610 ; [.2B82.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
+1611 ; [.2B83.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
+1612 ; [.2B84.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
+1613 ; [.2B85.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
+1614 ; [.2B86.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
+1615 ; [.2B87.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
+1616 ; [.2B88.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
+1617 ; [.2B89.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
+1618 ; [.2B8A.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
+1619 ; [.2B8B.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
+161A ; [.2B8C.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
+161B ; [.2B8D.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
+161C ; [.2B8E.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
+161D ; [.2B8F.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
+161E ; [.2B90.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
+161F ; [.2B91.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
+1620 ; [.2B92.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
+1621 ; [.2B93.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
+1622 ; [.2B94.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
+1623 ; [.2B95.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
+1624 ; [.2B96.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
+1625 ; [.2B97.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
+1626 ; [.2B98.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
+1627 ; [.2B99.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
+1628 ; [.2B9A.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
+1629 ; [.2B9B.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
+162A ; [.2B9C.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
+162B ; [.2B9D.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
+162C ; [.2B9E.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
+162D ; [.2B9F.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
+162E ; [.2BA0.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
+162F ; [.2BA1.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
+1630 ; [.2BA2.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
+1631 ; [.2BA3.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
+1632 ; [.2BA4.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
+1633 ; [.2BA5.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
+1634 ; [.2BA6.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
+1635 ; [.2BA7.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
+1636 ; [.2BA8.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
+1637 ; [.2BA9.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
+1638 ; [.2BAA.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
+1639 ; [.2BAB.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
+163A ; [.2BAC.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
+163B ; [.2BAD.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
+163C ; [.2BAE.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
+163D ; [.2BAF.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
+163E ; [.2BB0.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
+163F ; [.2BB1.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
+1640 ; [.2BB2.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
+1641 ; [.2BB3.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
+1642 ; [.2BB4.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
+1643 ; [.2BB5.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
+1644 ; [.2BB6.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
+1645 ; [.2BB7.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
+1646 ; [.2BB8.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
+1647 ; [.2BB9.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
+1648 ; [.2BBA.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
+1649 ; [.2BBB.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
+164A ; [.2BBC.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
+164B ; [.2BBD.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
+164C ; [.2BBE.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
+164D ; [.2BBF.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
+164E ; [.2BC0.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
+164F ; [.2BC1.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
+1650 ; [.2BC2.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
+1651 ; [.2BC3.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
+1652 ; [.2BC4.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
+1653 ; [.2BC5.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
+1654 ; [.2BC6.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
+1655 ; [.2BC7.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
+1656 ; [.2BC8.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
+1657 ; [.2BC9.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
+1658 ; [.2BCA.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
+1659 ; [.2BCB.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
+165A ; [.2BCC.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
+165B ; [.2BCD.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
+165C ; [.2BCE.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
+165D ; [.2BCF.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
+165E ; [.2BD0.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
+165F ; [.2BD1.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
+1660 ; [.2BD2.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
+1661 ; [.2BD3.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
+1662 ; [.2BD4.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
+1663 ; [.2BD5.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
+1664 ; [.2BD6.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
+1665 ; [.2BD7.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
+1666 ; [.2BD8.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
+1667 ; [.2BD9.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
+1668 ; [.2BDA.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
+1669 ; [.2BDB.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
+166A ; [.2BDC.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
+166B ; [.2BDD.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
+166C ; [.2BDE.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
+1677 ; [.2BDF.0020.0002.1677] # CANADIAN SYLLABICS WOODS-CREE THWEE
+1678 ; [.2BE0.0020.0002.1678] # CANADIAN SYLLABICS WOODS-CREE THWI
+1679 ; [.2BE1.0020.0002.1679] # CANADIAN SYLLABICS WOODS-CREE THWII
+167A ; [.2BE2.0020.0002.167A] # CANADIAN SYLLABICS WOODS-CREE THWO
+167B ; [.2BE3.0020.0002.167B] # CANADIAN SYLLABICS WOODS-CREE THWOO
+167C ; [.2BE4.0020.0002.167C] # CANADIAN SYLLABICS WOODS-CREE THWA
+167D ; [.2BE5.0020.0002.167D] # CANADIAN SYLLABICS WOODS-CREE THWAA
+167E ; [.2BE6.0020.0002.167E] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
+167F ; [.2BE7.0020.0002.167F] # CANADIAN SYLLABICS BLACKFOOT W
+18B0 ; [.2BE8.0020.0002.18B0] # CANADIAN SYLLABICS OY
+18B1 ; [.2BE9.0020.0002.18B1] # CANADIAN SYLLABICS AY
+18B2 ; [.2BEA.0020.0002.18B2] # CANADIAN SYLLABICS AAY
+18B3 ; [.2BEB.0020.0002.18B3] # CANADIAN SYLLABICS WAY
+18B4 ; [.2BEC.0020.0002.18B4] # CANADIAN SYLLABICS POY
+18B5 ; [.2BED.0020.0002.18B5] # CANADIAN SYLLABICS PAY
+18B6 ; [.2BEE.0020.0002.18B6] # CANADIAN SYLLABICS PWOY
+18B7 ; [.2BEF.0020.0002.18B7] # CANADIAN SYLLABICS TAY
+18B8 ; [.2BF0.0020.0002.18B8] # CANADIAN SYLLABICS KAY
+18B9 ; [.2BF1.0020.0002.18B9] # CANADIAN SYLLABICS KWAY
+18BA ; [.2BF2.0020.0002.18BA] # CANADIAN SYLLABICS MAY
+18BB ; [.2BF3.0020.0002.18BB] # CANADIAN SYLLABICS NOY
+18BC ; [.2BF4.0020.0002.18BC] # CANADIAN SYLLABICS NAY
+18BD ; [.2BF5.0020.0002.18BD] # CANADIAN SYLLABICS LAY
+18BE ; [.2BF6.0020.0002.18BE] # CANADIAN SYLLABICS SOY
+18BF ; [.2BF7.0020.0002.18BF] # CANADIAN SYLLABICS SAY
+18C0 ; [.2BF8.0020.0002.18C0] # CANADIAN SYLLABICS SHOY
+18C1 ; [.2BF9.0020.0002.18C1] # CANADIAN SYLLABICS SHAY
+18C2 ; [.2BFA.0020.0002.18C2] # CANADIAN SYLLABICS SHWOY
+18C3 ; [.2BFB.0020.0002.18C3] # CANADIAN SYLLABICS YOY
+18C4 ; [.2BFC.0020.0002.18C4] # CANADIAN SYLLABICS YAY
+18C5 ; [.2BFD.0020.0002.18C5] # CANADIAN SYLLABICS RAY
+18C6 ; [.2BFE.0020.0002.18C6] # CANADIAN SYLLABICS NWI
+18C7 ; [.2BFF.0020.0002.18C7] # CANADIAN SYLLABICS OJIBWAY NWI
+18C8 ; [.2C00.0020.0002.18C8] # CANADIAN SYLLABICS NWII
+18C9 ; [.2C01.0020.0002.18C9] # CANADIAN SYLLABICS OJIBWAY NWII
+18CA ; [.2C02.0020.0002.18CA] # CANADIAN SYLLABICS NWO
+18CB ; [.2C03.0020.0002.18CB] # CANADIAN SYLLABICS OJIBWAY NWO
+18CC ; [.2C04.0020.0002.18CC] # CANADIAN SYLLABICS NWOO
+18CD ; [.2C05.0020.0002.18CD] # CANADIAN SYLLABICS OJIBWAY NWOO
+18CE ; [.2C06.0020.0002.18CE] # CANADIAN SYLLABICS RWEE
+18CF ; [.2C07.0020.0002.18CF] # CANADIAN SYLLABICS RWI
+18D0 ; [.2C08.0020.0002.18D0] # CANADIAN SYLLABICS RWII
+18D1 ; [.2C09.0020.0002.18D1] # CANADIAN SYLLABICS RWO
+18D2 ; [.2C0A.0020.0002.18D2] # CANADIAN SYLLABICS RWOO
+18D3 ; [.2C0B.0020.0002.18D3] # CANADIAN SYLLABICS RWA
+18D4 ; [.2C0C.0020.0002.18D4] # CANADIAN SYLLABICS OJIBWAY P
+18D5 ; [.2C0D.0020.0002.18D5] # CANADIAN SYLLABICS OJIBWAY T
+18D6 ; [.2C0E.0020.0002.18D6] # CANADIAN SYLLABICS OJIBWAY K
+18D7 ; [.2C0F.0020.0002.18D7] # CANADIAN SYLLABICS OJIBWAY C
+18D8 ; [.2C10.0020.0002.18D8] # CANADIAN SYLLABICS OJIBWAY M
+18D9 ; [.2C11.0020.0002.18D9] # CANADIAN SYLLABICS OJIBWAY N
+18DA ; [.2C12.0020.0002.18DA] # CANADIAN SYLLABICS OJIBWAY S
+18DB ; [.2C13.0020.0002.18DB] # CANADIAN SYLLABICS OJIBWAY SH
+18DC ; [.2C14.0020.0002.18DC] # CANADIAN SYLLABICS EASTERN W
+18DD ; [.2C15.0020.0002.18DD] # CANADIAN SYLLABICS WESTERN W
+18DE ; [.2C16.0020.0002.18DE] # CANADIAN SYLLABICS FINAL SMALL RING
+18DF ; [.2C17.0020.0002.18DF] # CANADIAN SYLLABICS FINAL RAISED DOT
+18E0 ; [.2C18.0020.0002.18E0] # CANADIAN SYLLABICS R-CREE RWE
+18E1 ; [.2C19.0020.0002.18E1] # CANADIAN SYLLABICS WEST-CREE LOO
+18E2 ; [.2C1A.0020.0002.18E2] # CANADIAN SYLLABICS WEST-CREE LAA
+18E3 ; [.2C1B.0020.0002.18E3] # CANADIAN SYLLABICS THWE
+18E4 ; [.2C1C.0020.0002.18E4] # CANADIAN SYLLABICS THWA
+18E5 ; [.2C1D.0020.0002.18E5] # CANADIAN SYLLABICS TTHWE
+18E6 ; [.2C1E.0020.0002.18E6] # CANADIAN SYLLABICS TTHOO
+18E7 ; [.2C1F.0020.0002.18E7] # CANADIAN SYLLABICS TTHAA
+18E8 ; [.2C20.0020.0002.18E8] # CANADIAN SYLLABICS TLHWE
+18E9 ; [.2C21.0020.0002.18E9] # CANADIAN SYLLABICS TLHOO
+18EA ; [.2C22.0020.0002.18EA] # CANADIAN SYLLABICS SAYISI SHWE
+18EB ; [.2C23.0020.0002.18EB] # CANADIAN SYLLABICS SAYISI SHOO
+18EC ; [.2C24.0020.0002.18EC] # CANADIAN SYLLABICS SAYISI HOO
+18ED ; [.2C25.0020.0002.18ED] # CANADIAN SYLLABICS CARRIER GWU
+18EE ; [.2C26.0020.0002.18EE] # CANADIAN SYLLABICS CARRIER DENE GEE
+18EF ; [.2C27.0020.0002.18EF] # CANADIAN SYLLABICS CARRIER GAA
+18F0 ; [.2C28.0020.0002.18F0] # CANADIAN SYLLABICS CARRIER GWA
+18F1 ; [.2C29.0020.0002.18F1] # CANADIAN SYLLABICS SAYISI JUU
+18F2 ; [.2C2A.0020.0002.18F2] # CANADIAN SYLLABICS CARRIER JWA
+18F3 ; [.2C2B.0020.0002.18F3] # CANADIAN SYLLABICS BEAVER DENE L
+18F4 ; [.2C2C.0020.0002.18F4] # CANADIAN SYLLABICS BEAVER DENE R
+18F5 ; [.2C2D.0020.0002.18F5] # CANADIAN SYLLABICS CARRIER DENTAL S
+1681 ; [.2C2E.0020.0002.1681] # OGHAM LETTER BEITH
+1682 ; [.2C2F.0020.0002.1682] # OGHAM LETTER LUIS
+1683 ; [.2C30.0020.0002.1683] # OGHAM LETTER FEARN
+1684 ; [.2C31.0020.0002.1684] # OGHAM LETTER SAIL
+1685 ; [.2C32.0020.0002.1685] # OGHAM LETTER NION
+1686 ; [.2C33.0020.0002.1686] # OGHAM LETTER UATH
+1687 ; [.2C34.0020.0002.1687] # OGHAM LETTER DAIR
+1688 ; [.2C35.0020.0002.1688] # OGHAM LETTER TINNE
+1689 ; [.2C36.0020.0002.1689] # OGHAM LETTER COLL
+168A ; [.2C37.0020.0002.168A] # OGHAM LETTER CEIRT
+168B ; [.2C38.0020.0002.168B] # OGHAM LETTER MUIN
+168C ; [.2C39.0020.0002.168C] # OGHAM LETTER GORT
+168D ; [.2C3A.0020.0002.168D] # OGHAM LETTER NGEADAL
+168E ; [.2C3B.0020.0002.168E] # OGHAM LETTER STRAIF
+168F ; [.2C3C.0020.0002.168F] # OGHAM LETTER RUIS
+1690 ; [.2C3D.0020.0002.1690] # OGHAM LETTER AILM
+1691 ; [.2C3E.0020.0002.1691] # OGHAM LETTER ONN
+1692 ; [.2C3F.0020.0002.1692] # OGHAM LETTER UR
+1693 ; [.2C40.0020.0002.1693] # OGHAM LETTER EADHADH
+1694 ; [.2C41.0020.0002.1694] # OGHAM LETTER IODHADH
+1695 ; [.2C42.0020.0002.1695] # OGHAM LETTER EABHADH
+1696 ; [.2C43.0020.0002.1696] # OGHAM LETTER OR
+1697 ; [.2C44.0020.0002.1697] # OGHAM LETTER UILLEANN
+1698 ; [.2C45.0020.0002.1698] # OGHAM LETTER IFIN
+1699 ; [.2C46.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
+169A ; [.2C47.0020.0002.169A] # OGHAM LETTER PEITH
+16A0 ; [.2C48.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
+16A1 ; [.2C48.0020.0004.16A1][.0000.015F.0004.16A1] # RUNIC LETTER V; QQKN
+16A2 ; [.2C49.0020.0002.16A2] # RUNIC LETTER URUZ UR U
+16A4 ; [.2C49.0020.0004.16A4][.0000.015F.0004.16A4] # RUNIC LETTER Y; QQKN
+16A5 ; [.2C49.0020.0004.16A5][.0000.0160.0004.16A5] # RUNIC LETTER W; QQKN
+16A6 ; [.2C4A.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
+16A7 ; [.2C4A.0020.0004.16A7][.0000.015F.0004.16A7] # RUNIC LETTER ETH; QQKN
+16F0 ; [.2C4A.0020.0004.16F0][.2C4A.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL; QQKN
+16A8 ; [.2C4B.0020.0002.16A8] # RUNIC LETTER ANSUZ A
+16A9 ; [.2C4B.0020.0004.16A9][.0000.015F.0004.16A9] # RUNIC LETTER OS O; QQKN
+16AC ; [.2C4B.0020.0004.16AC][.0000.0160.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O; QQKN
+16AD ; [.2C4B.0020.0004.16AD][.0000.0162.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O; QQKN
+16AE ; [.2C4B.0020.0004.16AE][.0000.0163.0004.16AE] # RUNIC LETTER O; QQKN
+16AF ; [.2C4C.0020.0002.16AF] # RUNIC LETTER OE
+16B0 ; [.2C4D.0020.0002.16B0] # RUNIC LETTER ON
+16B1 ; [.2C4E.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
+16B2 ; [.2C4F.0020.0002.16B2] # RUNIC LETTER KAUNA
+16B3 ; [.2C4F.0020.0004.16B3][.0000.015F.0004.16B3] # RUNIC LETTER CEN; QQKN
+16B4 ; [.2C4F.0020.0004.16B4][.0000.0160.0004.16B4] # RUNIC LETTER KAUN K; QQKN
+16B5 ; [.2C4F.0020.0004.16B5][.0000.0162.0004.16B5] # RUNIC LETTER G; QQKN
+16B6 ; [.2C4F.0020.0004.16B6][.0000.0163.0004.16B6] # RUNIC LETTER ENG; QQKN
+16B7 ; [.2C50.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
+16B9 ; [.2C51.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
+16E9 ; [.2C51.0020.0004.16E9][.0000.015F.0004.16E9] # RUNIC LETTER Q; QQKN
+16BA ; [.2C52.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
+16BB ; [.2C52.0020.0004.16BB][.0000.015F.0004.16BB] # RUNIC LETTER HAEGL H; QQKN
+16BC ; [.2C52.0020.0004.16BC][.0000.0160.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H; QQKN
+16BD ; [.2C52.0020.0004.16BD][.0000.0162.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H; QQKN
+16BE ; [.2C53.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
+16BF ; [.2C53.0020.0004.16BF][.0000.015F.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N; QQKN
+16C0 ; [.2C53.0020.0004.16C0][.0000.0160.0004.16C0] # RUNIC LETTER DOTTED-N; QQKN
+16C1 ; [.2C54.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
+16C2 ; [.2C54.0020.0004.16C2][.0000.015F.0004.16C2] # RUNIC LETTER E; QQKN
+16C3 ; [.2C55.0020.0002.16C3] # RUNIC LETTER JERAN J
+16C4 ; [.2C55.0020.0004.16C4][.0000.015F.0004.16C4] # RUNIC LETTER GER; QQKN
+16C5 ; [.2C56.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
+16C6 ; [.2C56.0020.0004.16C6][.0000.015F.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A; QQKN
+16EE ; [.2C56.0020.0004.16EE][.2C5F.0020.0004.16EE] # RUNIC ARLAUG SYMBOL; QQKN
+16C7 ; [.2C57.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
+16C8 ; [.2C58.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
+16D5 ; [.2C58.0020.0004.16D5][.0000.015F.0004.16D5] # RUNIC LETTER OPEN-P; QQKN
+16C9 ; [.2C59.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
+16CA ; [.2C5A.0020.0002.16CA] # RUNIC LETTER SOWILO S
+16CB ; [.2C5A.0020.0004.16CB][.0000.015F.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S; QQKN
+16EA ; [.2C5A.0020.0004.16EA][.0000.0160.0004.16EA] # RUNIC LETTER X; QQKN
+16CC ; [.2C5A.0020.0004.16CC][.0000.0162.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S; QQKN
+16CD ; [.2C5A.0020.0004.16CD][.0000.0163.0004.16CD] # RUNIC LETTER C; QQKN
+16CE ; [.2C5A.0020.0004.16CE][.0000.0164.0004.16CE] # RUNIC LETTER Z; QQKN
+16CF ; [.2C5B.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
+16D0 ; [.2C5B.0020.0004.16D0][.0000.015F.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T; QQKN
+16D1 ; [.2C5B.0020.0004.16D1][.0000.0160.0004.16D1] # RUNIC LETTER D; QQKN
+16D2 ; [.2C5C.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
+16D3 ; [.2C5C.0020.0004.16D3][.0000.015F.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B; QQKN
+16D4 ; [.2C5C.0020.0004.16D4][.0000.0160.0004.16D4] # RUNIC LETTER DOTTED-P; QQKN
+16D6 ; [.2C5D.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
+16D7 ; [.2C5E.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
+16D8 ; [.2C5E.0020.0004.16D8][.0000.015F.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M; QQKN
+16D9 ; [.2C5E.0020.0004.16D9][.0000.0160.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M; QQKN
+16EF ; [.2C5E.0020.0004.16EF][.0000.015F.0004.16EF][.2C5E.0020.001F.16EF][.0000.015F.001F.16EF] # RUNIC TVIMADUR SYMBOL; QQKN
+16DA ; [.2C5F.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
+16DB ; [.2C5F.0020.0004.16DB][.0000.015F.0004.16DB] # RUNIC LETTER DOTTED-L; QQKN
+16DC ; [.2C60.0020.0002.16DC] # RUNIC LETTER INGWAZ
+16DD ; [.2C60.0020.0004.16DD][.0000.015F.0004.16DD] # RUNIC LETTER ING; QQKN
+16DE ; [.2C61.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
+16DF ; [.2C62.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
+16AA ; [.2C63.0020.0002.16AA] # RUNIC LETTER AC A
+16AB ; [.2C64.0020.0002.16AB] # RUNIC LETTER AESC
+16A3 ; [.2C65.0020.0002.16A3] # RUNIC LETTER YR
+16E0 ; [.2C66.0020.0002.16E0] # RUNIC LETTER EAR
+16E3 ; [.2C67.0020.0002.16E3] # RUNIC LETTER CALC
+16B8 ; [.2C68.0020.0002.16B8] # RUNIC LETTER GAR
+16E4 ; [.2C69.0020.0002.16E4] # RUNIC LETTER CEALC
+16E1 ; [.2C6A.0020.0002.16E1] # RUNIC LETTER IOR
+16E2 ; [.2C6B.0020.0002.16E2] # RUNIC LETTER CWEORTH
+16E5 ; [.2C6C.0020.0002.16E5] # RUNIC LETTER STAN
+16E6 ; [.2C6D.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
+16E7 ; [.2C6D.0020.0004.16E7][.0000.015F.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR; QQKN
+16E8 ; [.2C6D.0020.0004.16E8][.0000.0160.0004.16E8] # RUNIC LETTER ICELANDIC-YR; QQKN
+10C00 ; [.2C6E.0020.0002.10C00] # OLD TURKIC LETTER ORKHON A
+10C01 ; [.2C6E.0020.0004.10C01][.0000.015F.0004.10C01] # OLD TURKIC LETTER YENISEI A; QQKN
+10C02 ; [.2C6F.0020.0002.10C02] # OLD TURKIC LETTER YENISEI AE
+10C03 ; [.2C70.0020.0002.10C03] # OLD TURKIC LETTER ORKHON I
+10C04 ; [.2C70.0020.0004.10C04][.0000.015F.0004.10C04] # OLD TURKIC LETTER YENISEI I; QQKN
+10C05 ; [.2C71.0020.0002.10C05] # OLD TURKIC LETTER YENISEI E
+10C06 ; [.2C72.0020.0002.10C06] # OLD TURKIC LETTER ORKHON O
+10C07 ; [.2C73.0020.0002.10C07] # OLD TURKIC LETTER ORKHON OE
+10C08 ; [.2C73.0020.0004.10C08][.0000.015F.0004.10C08] # OLD TURKIC LETTER YENISEI OE; QQKN
+10C09 ; [.2C74.0020.0002.10C09] # OLD TURKIC LETTER ORKHON AB
+10C0A ; [.2C74.0020.0004.10C0A][.0000.015F.0004.10C0A] # OLD TURKIC LETTER YENISEI AB; QQKN
+10C0B ; [.2C75.0020.0002.10C0B] # OLD TURKIC LETTER ORKHON AEB
+10C0C ; [.2C75.0020.0004.10C0C][.0000.015F.0004.10C0C] # OLD TURKIC LETTER YENISEI AEB; QQKN
+10C0D ; [.2C76.0020.0002.10C0D] # OLD TURKIC LETTER ORKHON AG
+10C0E ; [.2C76.0020.0004.10C0E][.0000.015F.0004.10C0E] # OLD TURKIC LETTER YENISEI AG; QQKN
+10C0F ; [.2C77.0020.0002.10C0F] # OLD TURKIC LETTER ORKHON AEG
+10C10 ; [.2C77.0020.0004.10C10][.0000.015F.0004.10C10] # OLD TURKIC LETTER YENISEI AEG; QQKN
+10C11 ; [.2C78.0020.0002.10C11] # OLD TURKIC LETTER ORKHON AD
+10C12 ; [.2C78.0020.0004.10C12][.0000.015F.0004.10C12] # OLD TURKIC LETTER YENISEI AD; QQKN
+10C13 ; [.2C79.0020.0002.10C13] # OLD TURKIC LETTER ORKHON AED
+10C14 ; [.2C7A.0020.0002.10C14] # OLD TURKIC LETTER ORKHON EZ
+10C15 ; [.2C7A.0020.0004.10C15][.0000.015F.0004.10C15] # OLD TURKIC LETTER YENISEI EZ; QQKN
+10C16 ; [.2C7B.0020.0002.10C16] # OLD TURKIC LETTER ORKHON AY
+10C17 ; [.2C7B.0020.0004.10C17][.0000.015F.0004.10C17] # OLD TURKIC LETTER YENISEI AY; QQKN
+10C18 ; [.2C7C.0020.0002.10C18] # OLD TURKIC LETTER ORKHON AEY
+10C19 ; [.2C7C.0020.0004.10C19][.0000.015F.0004.10C19] # OLD TURKIC LETTER YENISEI AEY; QQKN
+10C1A ; [.2C7D.0020.0002.10C1A] # OLD TURKIC LETTER ORKHON AEK
+10C1B ; [.2C7D.0020.0004.10C1B][.0000.015F.0004.10C1B] # OLD TURKIC LETTER YENISEI AEK; QQKN
+10C1C ; [.2C7E.0020.0002.10C1C] # OLD TURKIC LETTER ORKHON OEK
+10C1D ; [.2C7E.0020.0004.10C1D][.0000.015F.0004.10C1D] # OLD TURKIC LETTER YENISEI OEK; QQKN
+10C1E ; [.2C7F.0020.0002.10C1E] # OLD TURKIC LETTER ORKHON AL
+10C1F ; [.2C7F.0020.0004.10C1F][.0000.015F.0004.10C1F] # OLD TURKIC LETTER YENISEI AL; QQKN
+10C20 ; [.2C80.0020.0002.10C20] # OLD TURKIC LETTER ORKHON AEL
+10C21 ; [.2C81.0020.0002.10C21] # OLD TURKIC LETTER ORKHON ELT
+10C22 ; [.2C82.0020.0002.10C22] # OLD TURKIC LETTER ORKHON EM
+10C23 ; [.2C83.0020.0002.10C23] # OLD TURKIC LETTER ORKHON AN
+10C24 ; [.2C84.0020.0002.10C24] # OLD TURKIC LETTER ORKHON AEN
+10C25 ; [.2C84.0020.0004.10C25][.0000.015F.0004.10C25] # OLD TURKIC LETTER YENISEI AEN; QQKN
+10C26 ; [.2C85.0020.0002.10C26] # OLD TURKIC LETTER ORKHON ENT
+10C27 ; [.2C85.0020.0004.10C27][.0000.015F.0004.10C27] # OLD TURKIC LETTER YENISEI ENT; QQKN
+10C28 ; [.2C86.0020.0002.10C28] # OLD TURKIC LETTER ORKHON ENC
+10C29 ; [.2C86.0020.0004.10C29][.0000.015F.0004.10C29] # OLD TURKIC LETTER YENISEI ENC; QQKN
+10C2A ; [.2C87.0020.0002.10C2A] # OLD TURKIC LETTER ORKHON ENY
+10C2B ; [.2C87.0020.0004.10C2B][.0000.015F.0004.10C2B] # OLD TURKIC LETTER YENISEI ENY; QQKN
+10C2C ; [.2C88.0020.0002.10C2C] # OLD TURKIC LETTER YENISEI ANG
+10C2D ; [.2C89.0020.0002.10C2D] # OLD TURKIC LETTER ORKHON ENG
+10C2E ; [.2C89.0020.0004.10C2E][.0000.015F.0004.10C2E] # OLD TURKIC LETTER YENISEI AENG; QQKN
+10C2F ; [.2C8A.0020.0002.10C2F] # OLD TURKIC LETTER ORKHON EP
+10C30 ; [.2C8B.0020.0002.10C30] # OLD TURKIC LETTER ORKHON OP
+10C31 ; [.2C8C.0020.0002.10C31] # OLD TURKIC LETTER ORKHON IC
+10C32 ; [.2C8D.0020.0002.10C32] # OLD TURKIC LETTER ORKHON EC
+10C33 ; [.2C8D.0020.0004.10C33][.0000.015F.0004.10C33] # OLD TURKIC LETTER YENISEI EC; QQKN
+10C34 ; [.2C8E.0020.0002.10C34] # OLD TURKIC LETTER ORKHON AQ
+10C35 ; [.2C8E.0020.0004.10C35][.0000.015F.0004.10C35] # OLD TURKIC LETTER YENISEI AQ; QQKN
+10C36 ; [.2C8F.0020.0002.10C36] # OLD TURKIC LETTER ORKHON IQ
+10C37 ; [.2C8F.0020.0004.10C37][.0000.015F.0004.10C37] # OLD TURKIC LETTER YENISEI IQ; QQKN
+10C38 ; [.2C90.0020.0002.10C38] # OLD TURKIC LETTER ORKHON OQ
+10C39 ; [.2C90.0020.0004.10C39][.0000.015F.0004.10C39] # OLD TURKIC LETTER YENISEI OQ; QQKN
+10C3A ; [.2C91.0020.0002.10C3A] # OLD TURKIC LETTER ORKHON AR
+10C3B ; [.2C91.0020.0004.10C3B][.0000.015F.0004.10C3B] # OLD TURKIC LETTER YENISEI AR; QQKN
+10C3C ; [.2C92.0020.0002.10C3C] # OLD TURKIC LETTER ORKHON AER
+10C3D ; [.2C93.0020.0002.10C3D] # OLD TURKIC LETTER ORKHON AS
+10C3E ; [.2C94.0020.0002.10C3E] # OLD TURKIC LETTER ORKHON AES
+10C3F ; [.2C95.0020.0002.10C3F] # OLD TURKIC LETTER ORKHON ASH
+10C40 ; [.2C95.0020.0004.10C40][.0000.015F.0004.10C40] # OLD TURKIC LETTER YENISEI ASH; QQKN
+10C41 ; [.2C96.0020.0002.10C41] # OLD TURKIC LETTER ORKHON ESH
+10C42 ; [.2C96.0020.0004.10C42][.0000.015F.0004.10C42] # OLD TURKIC LETTER YENISEI ESH; QQKN
+10C43 ; [.2C97.0020.0002.10C43] # OLD TURKIC LETTER ORKHON AT
+10C44 ; [.2C97.0020.0004.10C44][.0000.015F.0004.10C44] # OLD TURKIC LETTER YENISEI AT; QQKN
+10C45 ; [.2C98.0020.0002.10C45] # OLD TURKIC LETTER ORKHON AET
+10C46 ; [.2C98.0020.0004.10C46][.0000.015F.0004.10C46] # OLD TURKIC LETTER YENISEI AET; QQKN
+10C47 ; [.2C99.0020.0002.10C47] # OLD TURKIC LETTER ORKHON OT
+10C48 ; [.2C9A.0020.0002.10C48] # OLD TURKIC LETTER ORKHON BASH
+A500 ; [.2C9B.0020.0002.A500] # VAI SYLLABLE EE
+A501 ; [.2C9C.0020.0002.A501] # VAI SYLLABLE EEN
+A502 ; [.2C9D.0020.0002.A502] # VAI SYLLABLE HEE
+A503 ; [.2C9E.0020.0002.A503] # VAI SYLLABLE WEE
+A504 ; [.2C9F.0020.0002.A504] # VAI SYLLABLE WEEN
+A505 ; [.2CA0.0020.0002.A505] # VAI SYLLABLE PEE
+A506 ; [.2CA1.0020.0002.A506] # VAI SYLLABLE BHEE
+A507 ; [.2CA2.0020.0002.A507] # VAI SYLLABLE BEE
+A508 ; [.2CA3.0020.0002.A508] # VAI SYLLABLE MBEE
+A509 ; [.2CA4.0020.0002.A509] # VAI SYLLABLE KPEE
+A50A ; [.2CA5.0020.0002.A50A] # VAI SYLLABLE MGBEE
+A50B ; [.2CA6.0020.0002.A50B] # VAI SYLLABLE GBEE
+A50C ; [.2CA7.0020.0002.A50C] # VAI SYLLABLE FEE
+A613 ; [.2CA7.0020.0004.A613][.2DA6.0020.0004.A613] # VAI SYMBOL FEENG; QQKN
+A50D ; [.2CA8.0020.0002.A50D] # VAI SYLLABLE VEE
+A50E ; [.2CA9.0020.0002.A50E] # VAI SYLLABLE TEE
+A50F ; [.2CAA.0020.0002.A50F] # VAI SYLLABLE THEE
+A510 ; [.2CAB.0020.0002.A510] # VAI SYLLABLE DHEE
+A511 ; [.2CAC.0020.0002.A511] # VAI SYLLABLE DHHEE
+A512 ; [.2CAD.0020.0002.A512] # VAI SYLLABLE LEE
+A513 ; [.2CAE.0020.0002.A513] # VAI SYLLABLE REE
+A514 ; [.2CAF.0020.0002.A514] # VAI SYLLABLE DEE
+A515 ; [.2CB0.0020.0002.A515] # VAI SYLLABLE NDEE
+A516 ; [.2CB1.0020.0002.A516] # VAI SYLLABLE SEE
+A517 ; [.2CB2.0020.0002.A517] # VAI SYLLABLE SHEE
+A518 ; [.2CB3.0020.0002.A518] # VAI SYLLABLE ZEE
+A519 ; [.2CB4.0020.0002.A519] # VAI SYLLABLE ZHEE
+A51A ; [.2CB5.0020.0002.A51A] # VAI SYLLABLE CEE
+A51B ; [.2CB6.0020.0002.A51B] # VAI SYLLABLE JEE
+A51C ; [.2CB7.0020.0002.A51C] # VAI SYLLABLE NJEE
+A51D ; [.2CB8.0020.0002.A51D] # VAI SYLLABLE YEE
+A51E ; [.2CB9.0020.0002.A51E] # VAI SYLLABLE KEE
+A614 ; [.2CB9.0020.0004.A614][.2DA6.0020.0004.A614] # VAI SYMBOL KEENG; QQKN
+A51F ; [.2CBA.0020.0002.A51F] # VAI SYLLABLE NGGEE
+A520 ; [.2CBB.0020.0002.A520] # VAI SYLLABLE GEE
+A521 ; [.2CBC.0020.0002.A521] # VAI SYLLABLE MEE
+A522 ; [.2CBD.0020.0002.A522] # VAI SYLLABLE NEE
+A523 ; [.2CBE.0020.0002.A523] # VAI SYLLABLE NYEE
+A524 ; [.2CBF.0020.0002.A524] # VAI SYLLABLE I
+A525 ; [.2CC0.0020.0002.A525] # VAI SYLLABLE IN
+A526 ; [.2CC1.0020.0002.A526] # VAI SYLLABLE HI
+A527 ; [.2CC2.0020.0002.A527] # VAI SYLLABLE HIN
+A528 ; [.2CC3.0020.0002.A528] # VAI SYLLABLE WI
+A529 ; [.2CC4.0020.0002.A529] # VAI SYLLABLE WIN
+A52A ; [.2CC5.0020.0002.A52A] # VAI SYLLABLE PI
+A52B ; [.2CC6.0020.0002.A52B] # VAI SYLLABLE BHI
+A52C ; [.2CC7.0020.0002.A52C] # VAI SYLLABLE BI
+A52D ; [.2CC8.0020.0002.A52D] # VAI SYLLABLE MBI
+A52E ; [.2CC9.0020.0002.A52E] # VAI SYLLABLE KPI
+A52F ; [.2CCA.0020.0002.A52F] # VAI SYLLABLE MGBI
+A530 ; [.2CCB.0020.0002.A530] # VAI SYLLABLE GBI
+A531 ; [.2CCC.0020.0002.A531] # VAI SYLLABLE FI
+A532 ; [.2CCD.0020.0002.A532] # VAI SYLLABLE VI
+A533 ; [.2CCE.0020.0002.A533] # VAI SYLLABLE TI
+A615 ; [.2CCE.0020.0004.A615][.2DA6.0020.0004.A615] # VAI SYMBOL TING; QQKN
+A534 ; [.2CCF.0020.0002.A534] # VAI SYLLABLE THI
+A535 ; [.2CD0.0020.0002.A535] # VAI SYLLABLE DHI
+A536 ; [.2CD1.0020.0002.A536] # VAI SYLLABLE DHHI
+A537 ; [.2CD2.0020.0002.A537] # VAI SYLLABLE LI
+A538 ; [.2CD3.0020.0002.A538] # VAI SYLLABLE RI
+A539 ; [.2CD4.0020.0002.A539] # VAI SYLLABLE DI
+A53A ; [.2CD5.0020.0002.A53A] # VAI SYLLABLE NDI
+A53B ; [.2CD6.0020.0002.A53B] # VAI SYLLABLE SI
+A53C ; [.2CD7.0020.0002.A53C] # VAI SYLLABLE SHI
+A53D ; [.2CD8.0020.0002.A53D] # VAI SYLLABLE ZI
+A53E ; [.2CD9.0020.0002.A53E] # VAI SYLLABLE ZHI
+A53F ; [.2CDA.0020.0002.A53F] # VAI SYLLABLE CI
+A540 ; [.2CDB.0020.0002.A540] # VAI SYLLABLE JI
+A541 ; [.2CDC.0020.0002.A541] # VAI SYLLABLE NJI
+A542 ; [.2CDD.0020.0002.A542] # VAI SYLLABLE YI
+A543 ; [.2CDE.0020.0002.A543] # VAI SYLLABLE KI
+A544 ; [.2CDF.0020.0002.A544] # VAI SYLLABLE NGGI
+A545 ; [.2CE0.0020.0002.A545] # VAI SYLLABLE GI
+A546 ; [.2CE1.0020.0002.A546] # VAI SYLLABLE MI
+A547 ; [.2CE2.0020.0002.A547] # VAI SYLLABLE NI
+A616 ; [.2CE2.0020.0004.A616][.2DA7.0020.0004.A616] # VAI SYMBOL NII; QQKN
+A548 ; [.2CE3.0020.0002.A548] # VAI SYLLABLE NYI
+A549 ; [.2CE4.0020.0002.A549] # VAI SYLLABLE A
+A54A ; [.2CE5.0020.0002.A54A] # VAI SYLLABLE AN
+A54B ; [.2CE6.0020.0002.A54B] # VAI SYLLABLE NGAN
+A54C ; [.2CE7.0020.0002.A54C] # VAI SYLLABLE HA
+A54D ; [.2CE8.0020.0002.A54D] # VAI SYLLABLE HAN
+A54E ; [.2CE9.0020.0002.A54E] # VAI SYLLABLE WA
+A54F ; [.2CEA.0020.0002.A54F] # VAI SYLLABLE WAN
+A550 ; [.2CEB.0020.0002.A550] # VAI SYLLABLE PA
+A551 ; [.2CEC.0020.0002.A551] # VAI SYLLABLE BHA
+A552 ; [.2CED.0020.0002.A552] # VAI SYLLABLE BA
+A617 ; [.2CED.0020.0004.A617][.2DA6.0020.0004.A617] # VAI SYMBOL BANG; QQKN
+A553 ; [.2CEE.0020.0002.A553] # VAI SYLLABLE MBA
+A554 ; [.2CEF.0020.0002.A554] # VAI SYLLABLE KPA
+A555 ; [.2CF0.0020.0002.A555] # VAI SYLLABLE KPAN
+A556 ; [.2CF1.0020.0002.A556] # VAI SYLLABLE MGBA
+A557 ; [.2CF2.0020.0002.A557] # VAI SYLLABLE GBA
+A558 ; [.2CF3.0020.0002.A558] # VAI SYLLABLE FA
+A610 ; [.2CF3.0020.0004.A610] # VAI SYLLABLE NDOLE FA; QQK
+A618 ; [.2CF3.0020.0004.A618][.2DA7.0020.0004.A618] # VAI SYMBOL FAA; QQKN
+A559 ; [.2CF4.0020.0002.A559] # VAI SYLLABLE VA
+A55A ; [.2CF5.0020.0002.A55A] # VAI SYLLABLE TA
+A619 ; [.2CF5.0020.0004.A619][.2DA7.0020.0004.A619] # VAI SYMBOL TAA; QQKN
+A55B ; [.2CF6.0020.0002.A55B] # VAI SYLLABLE THA
+A55C ; [.2CF7.0020.0002.A55C] # VAI SYLLABLE DHA
+A55D ; [.2CF8.0020.0002.A55D] # VAI SYLLABLE DHHA
+A55E ; [.2CF9.0020.0002.A55E] # VAI SYLLABLE LA
+A55F ; [.2CFA.0020.0002.A55F] # VAI SYLLABLE RA
+A560 ; [.2CFB.0020.0002.A560] # VAI SYLLABLE DA
+A61A ; [.2CFB.0020.0004.A61A][.2DA6.0020.0004.A61A] # VAI SYMBOL DANG; QQKN
+A561 ; [.2CFC.0020.0002.A561] # VAI SYLLABLE NDA
+A562 ; [.2CFD.0020.0002.A562] # VAI SYLLABLE SA
+A563 ; [.2CFE.0020.0002.A563] # VAI SYLLABLE SHA
+A564 ; [.2CFF.0020.0002.A564] # VAI SYLLABLE ZA
+A565 ; [.2D00.0020.0002.A565] # VAI SYLLABLE ZHA
+A566 ; [.2D01.0020.0002.A566] # VAI SYLLABLE CA
+A567 ; [.2D02.0020.0002.A567] # VAI SYLLABLE JA
+A568 ; [.2D03.0020.0002.A568] # VAI SYLLABLE NJA
+A569 ; [.2D04.0020.0002.A569] # VAI SYLLABLE YA
+A56A ; [.2D05.0020.0002.A56A] # VAI SYLLABLE KA
+A611 ; [.2D05.0020.0004.A611] # VAI SYLLABLE NDOLE KA; QQK
+A56B ; [.2D06.0020.0002.A56B] # VAI SYLLABLE KAN
+A56C ; [.2D07.0020.0002.A56C] # VAI SYLLABLE NGGA
+A56D ; [.2D08.0020.0002.A56D] # VAI SYLLABLE GA
+A56E ; [.2D09.0020.0002.A56E] # VAI SYLLABLE MA
+A62A ; [.2D09.0020.0004.A62A] # VAI SYLLABLE NDOLE MA; QQK
+A56F ; [.2D0A.0020.0002.A56F] # VAI SYLLABLE NA
+A570 ; [.2D0B.0020.0002.A570] # VAI SYLLABLE NYA
+A571 ; [.2D0C.0020.0002.A571] # VAI SYLLABLE OO
+A572 ; [.2D0D.0020.0002.A572] # VAI SYLLABLE OON
+A573 ; [.2D0E.0020.0002.A573] # VAI SYLLABLE HOO
+A574 ; [.2D0F.0020.0002.A574] # VAI SYLLABLE WOO
+A575 ; [.2D10.0020.0002.A575] # VAI SYLLABLE WOON
+A576 ; [.2D11.0020.0002.A576] # VAI SYLLABLE POO
+A577 ; [.2D12.0020.0002.A577] # VAI SYLLABLE BHOO
+A578 ; [.2D13.0020.0002.A578] # VAI SYLLABLE BOO
+A579 ; [.2D14.0020.0002.A579] # VAI SYLLABLE MBOO
+A57A ; [.2D15.0020.0002.A57A] # VAI SYLLABLE KPOO
+A57B ; [.2D16.0020.0002.A57B] # VAI SYLLABLE MGBOO
+A57C ; [.2D17.0020.0002.A57C] # VAI SYLLABLE GBOO
+A57D ; [.2D18.0020.0002.A57D] # VAI SYLLABLE FOO
+A57E ; [.2D19.0020.0002.A57E] # VAI SYLLABLE VOO
+A57F ; [.2D1A.0020.0002.A57F] # VAI SYLLABLE TOO
+A580 ; [.2D1B.0020.0002.A580] # VAI SYLLABLE THOO
+A581 ; [.2D1C.0020.0002.A581] # VAI SYLLABLE DHOO
+A582 ; [.2D1D.0020.0002.A582] # VAI SYLLABLE DHHOO
+A583 ; [.2D1E.0020.0002.A583] # VAI SYLLABLE LOO
+A584 ; [.2D1F.0020.0002.A584] # VAI SYLLABLE ROO
+A585 ; [.2D20.0020.0002.A585] # VAI SYLLABLE DOO
+A61B ; [.2D20.0020.0004.A61B][.2DA6.0020.0004.A61B] # VAI SYMBOL DOONG; QQKN
+A586 ; [.2D21.0020.0002.A586] # VAI SYLLABLE NDOO
+A587 ; [.2D22.0020.0002.A587] # VAI SYLLABLE SOO
+A612 ; [.2D22.0020.0004.A612] # VAI SYLLABLE NDOLE SOO; QQK
+A588 ; [.2D23.0020.0002.A588] # VAI SYLLABLE SHOO
+A589 ; [.2D24.0020.0002.A589] # VAI SYLLABLE ZOO
+A58A ; [.2D25.0020.0002.A58A] # VAI SYLLABLE ZHOO
+A58B ; [.2D26.0020.0002.A58B] # VAI SYLLABLE COO
+A58C ; [.2D27.0020.0002.A58C] # VAI SYLLABLE JOO
+A58D ; [.2D28.0020.0002.A58D] # VAI SYLLABLE NJOO
+A58E ; [.2D29.0020.0002.A58E] # VAI SYLLABLE YOO
+A58F ; [.2D2A.0020.0002.A58F] # VAI SYLLABLE KOO
+A590 ; [.2D2B.0020.0002.A590] # VAI SYLLABLE NGGOO
+A591 ; [.2D2C.0020.0002.A591] # VAI SYLLABLE GOO
+A592 ; [.2D2D.0020.0002.A592] # VAI SYLLABLE MOO
+A593 ; [.2D2E.0020.0002.A593] # VAI SYLLABLE NOO
+A594 ; [.2D2F.0020.0002.A594] # VAI SYLLABLE NYOO
+A595 ; [.2D30.0020.0002.A595] # VAI SYLLABLE U
+A596 ; [.2D31.0020.0002.A596] # VAI SYLLABLE UN
+A597 ; [.2D32.0020.0002.A597] # VAI SYLLABLE HU
+A598 ; [.2D33.0020.0002.A598] # VAI SYLLABLE HUN
+A599 ; [.2D34.0020.0002.A599] # VAI SYLLABLE WU
+A59A ; [.2D35.0020.0002.A59A] # VAI SYLLABLE WUN
+A59B ; [.2D36.0020.0002.A59B] # VAI SYLLABLE PU
+A59C ; [.2D37.0020.0002.A59C] # VAI SYLLABLE BHU
+A59D ; [.2D38.0020.0002.A59D] # VAI SYLLABLE BU
+A59E ; [.2D39.0020.0002.A59E] # VAI SYLLABLE MBU
+A59F ; [.2D3A.0020.0002.A59F] # VAI SYLLABLE KPU
+A5A0 ; [.2D3B.0020.0002.A5A0] # VAI SYLLABLE MGBU
+A5A1 ; [.2D3C.0020.0002.A5A1] # VAI SYLLABLE GBU
+A5A2 ; [.2D3D.0020.0002.A5A2] # VAI SYLLABLE FU
+A5A3 ; [.2D3E.0020.0002.A5A3] # VAI SYLLABLE VU
+A5A4 ; [.2D3F.0020.0002.A5A4] # VAI SYLLABLE TU
+A5A5 ; [.2D40.0020.0002.A5A5] # VAI SYLLABLE THU
+A5A6 ; [.2D41.0020.0002.A5A6] # VAI SYLLABLE DHU
+A5A7 ; [.2D42.0020.0002.A5A7] # VAI SYLLABLE DHHU
+A5A8 ; [.2D43.0020.0002.A5A8] # VAI SYLLABLE LU
+A5A9 ; [.2D44.0020.0002.A5A9] # VAI SYLLABLE RU
+A5AA ; [.2D45.0020.0002.A5AA] # VAI SYLLABLE DU
+A5AB ; [.2D46.0020.0002.A5AB] # VAI SYLLABLE NDU
+A5AC ; [.2D47.0020.0002.A5AC] # VAI SYLLABLE SU
+A5AD ; [.2D48.0020.0002.A5AD] # VAI SYLLABLE SHU
+A5AE ; [.2D49.0020.0002.A5AE] # VAI SYLLABLE ZU
+A5AF ; [.2D4A.0020.0002.A5AF] # VAI SYLLABLE ZHU
+A5B0 ; [.2D4B.0020.0002.A5B0] # VAI SYLLABLE CU
+A5B1 ; [.2D4C.0020.0002.A5B1] # VAI SYLLABLE JU
+A5B2 ; [.2D4D.0020.0002.A5B2] # VAI SYLLABLE NJU
+A5B3 ; [.2D4E.0020.0002.A5B3] # VAI SYLLABLE YU
+A5B4 ; [.2D4F.0020.0002.A5B4] # VAI SYLLABLE KU
+A61C ; [.2D4F.0020.0004.A61C][.2DA6.0020.0004.A61C] # VAI SYMBOL KUNG; QQKN
+A5B5 ; [.2D50.0020.0002.A5B5] # VAI SYLLABLE NGGU
+A5B6 ; [.2D51.0020.0002.A5B6] # VAI SYLLABLE GU
+A5B7 ; [.2D52.0020.0002.A5B7] # VAI SYLLABLE MU
+A5B8 ; [.2D53.0020.0002.A5B8] # VAI SYLLABLE NU
+A5B9 ; [.2D54.0020.0002.A5B9] # VAI SYLLABLE NYU
+A5BA ; [.2D55.0020.0002.A5BA] # VAI SYLLABLE O
+A5BB ; [.2D56.0020.0002.A5BB] # VAI SYLLABLE ON
+A5BC ; [.2D57.0020.0002.A5BC] # VAI SYLLABLE NGON
+A5BD ; [.2D58.0020.0002.A5BD] # VAI SYLLABLE HO
+A5BE ; [.2D59.0020.0002.A5BE] # VAI SYLLABLE HON
+A5BF ; [.2D5A.0020.0002.A5BF] # VAI SYLLABLE WO
+A5C0 ; [.2D5B.0020.0002.A5C0] # VAI SYLLABLE WON
+A5C1 ; [.2D5C.0020.0002.A5C1] # VAI SYLLABLE PO
+A5C2 ; [.2D5D.0020.0002.A5C2] # VAI SYLLABLE BHO
+A5C3 ; [.2D5E.0020.0002.A5C3] # VAI SYLLABLE BO
+A5C4 ; [.2D5F.0020.0002.A5C4] # VAI SYLLABLE MBO
+A5C5 ; [.2D60.0020.0002.A5C5] # VAI SYLLABLE KPO
+A5C6 ; [.2D61.0020.0002.A5C6] # VAI SYLLABLE MGBO
+A5C7 ; [.2D62.0020.0002.A5C7] # VAI SYLLABLE GBO
+A5C8 ; [.2D63.0020.0002.A5C8] # VAI SYLLABLE GBON
+A5C9 ; [.2D64.0020.0002.A5C9] # VAI SYLLABLE FO
+A5CA ; [.2D65.0020.0002.A5CA] # VAI SYLLABLE VO
+A5CB ; [.2D66.0020.0002.A5CB] # VAI SYLLABLE TO
+A61D ; [.2D66.0020.0004.A61D][.2DA6.0020.0004.A61D] # VAI SYMBOL TONG; QQKN
+A5CC ; [.2D67.0020.0002.A5CC] # VAI SYLLABLE THO
+A5CD ; [.2D68.0020.0002.A5CD] # VAI SYLLABLE DHO
+A5CE ; [.2D69.0020.0002.A5CE] # VAI SYLLABLE DHHO
+A5CF ; [.2D6A.0020.0002.A5CF] # VAI SYLLABLE LO
+A5D0 ; [.2D6B.0020.0002.A5D0] # VAI SYLLABLE RO
+A5D1 ; [.2D6C.0020.0002.A5D1] # VAI SYLLABLE DO
+A62B ; [.2D6C.0020.0004.A62B] # VAI SYLLABLE NDOLE DO; QQK
+A61E ; [.2D6C.0020.0004.A61E][.2DA7.0020.0004.A61E] # VAI SYMBOL DO-O; QQKN
+A5D2 ; [.2D6D.0020.0002.A5D2] # VAI SYLLABLE NDO
+A5D3 ; [.2D6E.0020.0002.A5D3] # VAI SYLLABLE SO
+A5D4 ; [.2D6F.0020.0002.A5D4] # VAI SYLLABLE SHO
+A5D5 ; [.2D70.0020.0002.A5D5] # VAI SYLLABLE ZO
+A5D6 ; [.2D71.0020.0002.A5D6] # VAI SYLLABLE ZHO
+A5D7 ; [.2D72.0020.0002.A5D7] # VAI SYLLABLE CO
+A5D8 ; [.2D73.0020.0002.A5D8] # VAI SYLLABLE JO
+A61F ; [.2D73.0020.0004.A61F][.2DA6.0020.0004.A61F] # VAI SYMBOL JONG; QQKN
+A5D9 ; [.2D74.0020.0002.A5D9] # VAI SYLLABLE NJO
+A5DA ; [.2D75.0020.0002.A5DA] # VAI SYLLABLE YO
+A5DB ; [.2D76.0020.0002.A5DB] # VAI SYLLABLE KO
+A5DC ; [.2D77.0020.0002.A5DC] # VAI SYLLABLE NGGO
+A5DD ; [.2D78.0020.0002.A5DD] # VAI SYLLABLE GO
+A5DE ; [.2D79.0020.0002.A5DE] # VAI SYLLABLE MO
+A5DF ; [.2D7A.0020.0002.A5DF] # VAI SYLLABLE NO
+A5E0 ; [.2D7B.0020.0002.A5E0] # VAI SYLLABLE NYO
+A5E1 ; [.2D7C.0020.0002.A5E1] # VAI SYLLABLE E
+A5E2 ; [.2D7D.0020.0002.A5E2] # VAI SYLLABLE EN
+A5E3 ; [.2D7E.0020.0002.A5E3] # VAI SYLLABLE NGEN
+A5E4 ; [.2D7F.0020.0002.A5E4] # VAI SYLLABLE HE
+A5E5 ; [.2D80.0020.0002.A5E5] # VAI SYLLABLE HEN
+A5E6 ; [.2D81.0020.0002.A5E6] # VAI SYLLABLE WE
+A5E7 ; [.2D82.0020.0002.A5E7] # VAI SYLLABLE WEN
+A5E8 ; [.2D83.0020.0002.A5E8] # VAI SYLLABLE PE
+A5E9 ; [.2D84.0020.0002.A5E9] # VAI SYLLABLE BHE
+A5EA ; [.2D85.0020.0002.A5EA] # VAI SYLLABLE BE
+A5EB ; [.2D86.0020.0002.A5EB] # VAI SYLLABLE MBE
+A5EC ; [.2D87.0020.0002.A5EC] # VAI SYLLABLE KPE
+A5ED ; [.2D88.0020.0002.A5ED] # VAI SYLLABLE KPEN
+A5EE ; [.2D89.0020.0002.A5EE] # VAI SYLLABLE MGBE
+A5EF ; [.2D8A.0020.0002.A5EF] # VAI SYLLABLE GBE
+A5F0 ; [.2D8B.0020.0002.A5F0] # VAI SYLLABLE GBEN
+A5F1 ; [.2D8C.0020.0002.A5F1] # VAI SYLLABLE FE
+A5F2 ; [.2D8D.0020.0002.A5F2] # VAI SYLLABLE VE
+A5F3 ; [.2D8E.0020.0002.A5F3] # VAI SYLLABLE TE
+A5F4 ; [.2D8F.0020.0002.A5F4] # VAI SYLLABLE THE
+A5F5 ; [.2D90.0020.0002.A5F5] # VAI SYLLABLE DHE
+A5F6 ; [.2D91.0020.0002.A5F6] # VAI SYLLABLE DHHE
+A5F7 ; [.2D92.0020.0002.A5F7] # VAI SYLLABLE LE
+A5F8 ; [.2D93.0020.0002.A5F8] # VAI SYLLABLE RE
+A5F9 ; [.2D94.0020.0002.A5F9] # VAI SYLLABLE DE
+A5FA ; [.2D95.0020.0002.A5FA] # VAI SYLLABLE NDE
+A5FB ; [.2D96.0020.0002.A5FB] # VAI SYLLABLE SE
+A5FC ; [.2D97.0020.0002.A5FC] # VAI SYLLABLE SHE
+A5FD ; [.2D98.0020.0002.A5FD] # VAI SYLLABLE ZE
+A5FE ; [.2D99.0020.0002.A5FE] # VAI SYLLABLE ZHE
+A5FF ; [.2D9A.0020.0002.A5FF] # VAI SYLLABLE CE
+A600 ; [.2D9B.0020.0002.A600] # VAI SYLLABLE JE
+A601 ; [.2D9C.0020.0002.A601] # VAI SYLLABLE NJE
+A602 ; [.2D9D.0020.0002.A602] # VAI SYLLABLE YE
+A603 ; [.2D9E.0020.0002.A603] # VAI SYLLABLE KE
+A604 ; [.2D9F.0020.0002.A604] # VAI SYLLABLE NGGE
+A605 ; [.2DA0.0020.0002.A605] # VAI SYLLABLE NGGEN
+A606 ; [.2DA1.0020.0002.A606] # VAI SYLLABLE GE
+A607 ; [.2DA2.0020.0002.A607] # VAI SYLLABLE GEN
+A608 ; [.2DA3.0020.0002.A608] # VAI SYLLABLE ME
+A609 ; [.2DA4.0020.0002.A609] # VAI SYLLABLE NE
+A60A ; [.2DA5.0020.0002.A60A] # VAI SYLLABLE NYE
+A60B ; [.2DA6.0020.0002.A60B] # VAI SYLLABLE NG
+A60C ; [.2DA7.0020.0002.A60C] # VAI SYLLABLE LENGTHENER
+A6A0 ; [.2DA8.0020.0002.A6A0] # BAMUM LETTER A
+A6A1 ; [.2DA9.0020.0002.A6A1] # BAMUM LETTER KA
+A6A2 ; [.2DAA.0020.0002.A6A2] # BAMUM LETTER U
+A6A3 ; [.2DAB.0020.0002.A6A3] # BAMUM LETTER KU
+A6A4 ; [.2DAC.0020.0002.A6A4] # BAMUM LETTER EE
+A6A5 ; [.2DAD.0020.0002.A6A5] # BAMUM LETTER REE
+A6A6 ; [.2DAE.0020.0002.A6A6] # BAMUM LETTER TAE
+A6A7 ; [.2DAF.0020.0002.A6A7] # BAMUM LETTER O
+A6A8 ; [.2DB0.0020.0002.A6A8] # BAMUM LETTER NYI
+A6A9 ; [.2DB1.0020.0002.A6A9] # BAMUM LETTER I
+A6AA ; [.2DB2.0020.0002.A6AA] # BAMUM LETTER LA
+A6AB ; [.2DB3.0020.0002.A6AB] # BAMUM LETTER PA
+A6AC ; [.2DB4.0020.0002.A6AC] # BAMUM LETTER RII
+A6AD ; [.2DB5.0020.0002.A6AD] # BAMUM LETTER RIEE
+A6AE ; [.2DB6.0020.0002.A6AE] # BAMUM LETTER LEEEE
+A6AF ; [.2DB7.0020.0002.A6AF] # BAMUM LETTER MEEEE
+A6B0 ; [.2DB8.0020.0002.A6B0] # BAMUM LETTER TAA
+A6B1 ; [.2DB9.0020.0002.A6B1] # BAMUM LETTER NDAA
+A6B2 ; [.2DBA.0020.0002.A6B2] # BAMUM LETTER NJAEM
+A6B3 ; [.2DBB.0020.0002.A6B3] # BAMUM LETTER M
+A6B4 ; [.2DBC.0020.0002.A6B4] # BAMUM LETTER SUU
+A6B5 ; [.2DBD.0020.0002.A6B5] # BAMUM LETTER MU
+A6B6 ; [.2DBE.0020.0002.A6B6] # BAMUM LETTER SHII
+A6B7 ; [.2DBF.0020.0002.A6B7] # BAMUM LETTER SI
+A6B8 ; [.2DC0.0020.0002.A6B8] # BAMUM LETTER SHEUX
+A6B9 ; [.2DC1.0020.0002.A6B9] # BAMUM LETTER SEUX
+A6BA ; [.2DC2.0020.0002.A6BA] # BAMUM LETTER KYEE
+A6BB ; [.2DC3.0020.0002.A6BB] # BAMUM LETTER KET
+A6BC ; [.2DC4.0020.0002.A6BC] # BAMUM LETTER NUAE
+A6BD ; [.2DC5.0020.0002.A6BD] # BAMUM LETTER NU
+A6BE ; [.2DC6.0020.0002.A6BE] # BAMUM LETTER NJUAE
+A6BF ; [.2DC7.0020.0002.A6BF] # BAMUM LETTER YOQ
+A6C0 ; [.2DC8.0020.0002.A6C0] # BAMUM LETTER SHU
+A6C1 ; [.2DC9.0020.0002.A6C1] # BAMUM LETTER YUQ
+A6C2 ; [.2DCA.0020.0002.A6C2] # BAMUM LETTER YA
+A6C3 ; [.2DCB.0020.0002.A6C3] # BAMUM LETTER NSHA
+A6C4 ; [.2DCC.0020.0002.A6C4] # BAMUM LETTER KEUX
+A6C5 ; [.2DCD.0020.0002.A6C5] # BAMUM LETTER PEUX
+A6C6 ; [.2DCE.0020.0002.A6C6] # BAMUM LETTER NJEE
+A6C7 ; [.2DCF.0020.0002.A6C7] # BAMUM LETTER NTEE
+A6C8 ; [.2DD0.0020.0002.A6C8] # BAMUM LETTER PUE
+A6C9 ; [.2DD1.0020.0002.A6C9] # BAMUM LETTER WUE
+A6CA ; [.2DD2.0020.0002.A6CA] # BAMUM LETTER PEE
+A6CB ; [.2DD3.0020.0002.A6CB] # BAMUM LETTER FEE
+A6CC ; [.2DD4.0020.0002.A6CC] # BAMUM LETTER RU
+A6CD ; [.2DD5.0020.0002.A6CD] # BAMUM LETTER LU
+A6CE ; [.2DD6.0020.0002.A6CE] # BAMUM LETTER MI
+A6CF ; [.2DD7.0020.0002.A6CF] # BAMUM LETTER NI
+A6D0 ; [.2DD8.0020.0002.A6D0] # BAMUM LETTER REUX
+A6D1 ; [.2DD9.0020.0002.A6D1] # BAMUM LETTER RAE
+A6D2 ; [.2DDA.0020.0002.A6D2] # BAMUM LETTER KEN
+A6D3 ; [.2DDB.0020.0002.A6D3] # BAMUM LETTER NGKWAEN
+A6D4 ; [.2DDC.0020.0002.A6D4] # BAMUM LETTER NGGA
+A6D5 ; [.2DDD.0020.0002.A6D5] # BAMUM LETTER NGA
+A6D6 ; [.2DDE.0020.0002.A6D6] # BAMUM LETTER SHO
+A6D7 ; [.2DDF.0020.0002.A6D7] # BAMUM LETTER PUAE
+A6D8 ; [.2DE0.0020.0002.A6D8] # BAMUM LETTER FU
+A6D9 ; [.2DE1.0020.0002.A6D9] # BAMUM LETTER FOM
+A6DA ; [.2DE2.0020.0002.A6DA] # BAMUM LETTER WA
+A6DB ; [.2DE3.0020.0002.A6DB] # BAMUM LETTER NA
+A6DC ; [.2DE4.0020.0002.A6DC] # BAMUM LETTER LI
+A6DD ; [.2DE5.0020.0002.A6DD] # BAMUM LETTER PI
+A6DE ; [.2DE6.0020.0002.A6DE] # BAMUM LETTER LOQ
+A6DF ; [.2DE7.0020.0002.A6DF] # BAMUM LETTER KO
+A6E0 ; [.2DE8.0020.0002.A6E0] # BAMUM LETTER MBEN
+A6E1 ; [.2DE9.0020.0002.A6E1] # BAMUM LETTER REN
+A6E2 ; [.2DEA.0020.0002.A6E2] # BAMUM LETTER MEN
+A6E3 ; [.2DEB.0020.0002.A6E3] # BAMUM LETTER MA
+A6E4 ; [.2DEC.0020.0002.A6E4] # BAMUM LETTER TI
+A6E5 ; [.2DED.0020.0002.A6E5] # BAMUM LETTER KI
+A6E6 ; [.2DEE.0020.0002.A6E6] # BAMUM LETTER MO
+A6E7 ; [.2DEF.0020.0002.A6E7] # BAMUM LETTER MBAA
+A6E8 ; [.2DF0.0020.0002.A6E8] # BAMUM LETTER TET
+A6E9 ; [.2DF1.0020.0002.A6E9] # BAMUM LETTER KPA
+A6EA ; [.2DF2.0020.0002.A6EA] # BAMUM LETTER TEN
+A6EB ; [.2DF3.0020.0002.A6EB] # BAMUM LETTER NTUU
+A6EC ; [.2DF4.0020.0002.A6EC] # BAMUM LETTER SAMBA
+A6ED ; [.2DF5.0020.0002.A6ED] # BAMUM LETTER FAAMAE
+A6EE ; [.2DF6.0020.0002.A6EE] # BAMUM LETTER KOVUU
+A6EF ; [.2DF7.0020.0002.A6EF] # BAMUM LETTER KOGHOM
+16800 ; [.2DF8.0020.0002.16800] # BAMUM LETTER PHASE-A NGKUE MFON
+16801 ; [.2DF9.0020.0002.16801] # BAMUM LETTER PHASE-A GBIEE FON
+16802 ; [.2DFA.0020.0002.16802] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
+16803 ; [.2DFB.0020.0002.16803] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
+16804 ; [.2DFC.0020.0002.16804] # BAMUM LETTER PHASE-A NAA MFON
+16805 ; [.2DFD.0020.0002.16805] # BAMUM LETTER PHASE-A SHUENSHUET
+16806 ; [.2DFE.0020.0002.16806] # BAMUM LETTER PHASE-A TITA MFON
+16807 ; [.2DFF.0020.0002.16807] # BAMUM LETTER PHASE-A NZA MFON
+16808 ; [.2E00.0020.0002.16808] # BAMUM LETTER PHASE-A SHINDA PA NJI
+16809 ; [.2E01.0020.0002.16809] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
+1680A ; [.2E02.0020.0002.1680A] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
+1680B ; [.2E03.0020.0002.1680B] # BAMUM LETTER PHASE-A MAEMBGBIEE
+1680C ; [.2E04.0020.0002.1680C] # BAMUM LETTER PHASE-A TU MAEMBA
+1680D ; [.2E05.0020.0002.1680D] # BAMUM LETTER PHASE-A NGANGU
+1680E ; [.2E06.0020.0002.1680E] # BAMUM LETTER PHASE-A MAEMVEUX
+1680F ; [.2E07.0020.0002.1680F] # BAMUM LETTER PHASE-A MANSUAE
+16810 ; [.2E08.0020.0002.16810] # BAMUM LETTER PHASE-A MVEUAENGAM
+16811 ; [.2E09.0020.0002.16811] # BAMUM LETTER PHASE-A SEUNYAM
+16812 ; [.2E0A.0020.0002.16812] # BAMUM LETTER PHASE-A NTOQPEN
+16813 ; [.2E0B.0020.0002.16813] # BAMUM LETTER PHASE-A KEUKEUTNDA
+16814 ; [.2E0C.0020.0002.16814] # BAMUM LETTER PHASE-A NKINDI
+16815 ; [.2E0D.0020.0002.16815] # BAMUM LETTER PHASE-A SUU
+16816 ; [.2E0E.0020.0002.16816] # BAMUM LETTER PHASE-A NGKUENZEUM
+16817 ; [.2E0F.0020.0002.16817] # BAMUM LETTER PHASE-A LAPAQ
+16818 ; [.2E10.0020.0002.16818] # BAMUM LETTER PHASE-A LET KUT
+16819 ; [.2E11.0020.0002.16819] # BAMUM LETTER PHASE-A NTAP MFAA
+1681A ; [.2E12.0020.0002.1681A] # BAMUM LETTER PHASE-A MAEKEUP
+1681B ; [.2E13.0020.0002.1681B] # BAMUM LETTER PHASE-A PASHAE
+1681C ; [.2E14.0020.0002.1681C] # BAMUM LETTER PHASE-A GHEUAERAE
+1681D ; [.2E15.0020.0002.1681D] # BAMUM LETTER PHASE-A PAMSHAE
+1681E ; [.2E16.0020.0002.1681E] # BAMUM LETTER PHASE-A MON NGGEUAET
+1681F ; [.2E17.0020.0002.1681F] # BAMUM LETTER PHASE-A NZUN MEUT
+16820 ; [.2E18.0020.0002.16820] # BAMUM LETTER PHASE-A U YUQ NAE
+16821 ; [.2E19.0020.0002.16821] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
+16822 ; [.2E1A.0020.0002.16822] # BAMUM LETTER PHASE-A NTAP NTAA
+16823 ; [.2E1B.0020.0002.16823] # BAMUM LETTER PHASE-A SISA
+16824 ; [.2E1C.0020.0002.16824] # BAMUM LETTER PHASE-A MGBASA
+16825 ; [.2E1D.0020.0002.16825] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
+16826 ; [.2E1E.0020.0002.16826] # BAMUM LETTER PHASE-A MOOMPUQ
+16827 ; [.2E1F.0020.0002.16827] # BAMUM LETTER PHASE-A KAFA
+16828 ; [.2E20.0020.0002.16828] # BAMUM LETTER PHASE-A PA LEERAEWA
+16829 ; [.2E21.0020.0002.16829] # BAMUM LETTER PHASE-A NDA LEERAEWA
+1682A ; [.2E22.0020.0002.1682A] # BAMUM LETTER PHASE-A PET
+1682B ; [.2E23.0020.0002.1682B] # BAMUM LETTER PHASE-A MAEMKPEN
+1682C ; [.2E24.0020.0002.1682C] # BAMUM LETTER PHASE-A NIKA
+1682D ; [.2E25.0020.0002.1682D] # BAMUM LETTER PHASE-A PUP
+1682E ; [.2E26.0020.0002.1682E] # BAMUM LETTER PHASE-A TUAEP
+1682F ; [.2E27.0020.0002.1682F] # BAMUM LETTER PHASE-A LUAEP
+16830 ; [.2E28.0020.0002.16830] # BAMUM LETTER PHASE-A SONJAM
+16831 ; [.2E29.0020.0002.16831] # BAMUM LETTER PHASE-A TEUTEUWEN
+16832 ; [.2E2A.0020.0002.16832] # BAMUM LETTER PHASE-A MAENYI
+16833 ; [.2E2B.0020.0002.16833] # BAMUM LETTER PHASE-A KET
+16834 ; [.2E2C.0020.0002.16834] # BAMUM LETTER PHASE-A NDAANGGEUAET
+16835 ; [.2E2D.0020.0002.16835] # BAMUM LETTER PHASE-A KUOQ
+16836 ; [.2E2E.0020.0002.16836] # BAMUM LETTER PHASE-A MOOMEUT
+16837 ; [.2E2F.0020.0002.16837] # BAMUM LETTER PHASE-A SHUM
+16838 ; [.2E30.0020.0002.16838] # BAMUM LETTER PHASE-A LOMMAE
+16839 ; [.2E31.0020.0002.16839] # BAMUM LETTER PHASE-A FIRI
+1683A ; [.2E32.0020.0002.1683A] # BAMUM LETTER PHASE-A ROM
+1683B ; [.2E33.0020.0002.1683B] # BAMUM LETTER PHASE-A KPOQ
+1683C ; [.2E34.0020.0002.1683C] # BAMUM LETTER PHASE-A SOQ
+1683D ; [.2E35.0020.0002.1683D] # BAMUM LETTER PHASE-A MAP PIEET
+1683E ; [.2E36.0020.0002.1683E] # BAMUM LETTER PHASE-A SHIRAE
+1683F ; [.2E37.0020.0002.1683F] # BAMUM LETTER PHASE-A NTAP
+16840 ; [.2E38.0020.0002.16840] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
+16841 ; [.2E39.0020.0002.16841] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
+16842 ; [.2E3A.0020.0002.16842] # BAMUM LETTER PHASE-A PAARAE
+16843 ; [.2E3B.0020.0002.16843] # BAMUM LETTER PHASE-A NKAARAE
+16844 ; [.2E3C.0020.0002.16844] # BAMUM LETTER PHASE-A UNKNOWN
+16845 ; [.2E3D.0020.0002.16845] # BAMUM LETTER PHASE-A NGGEN
+16846 ; [.2E3E.0020.0002.16846] # BAMUM LETTER PHASE-A MAESI
+16847 ; [.2E3F.0020.0002.16847] # BAMUM LETTER PHASE-A NJAM
+16848 ; [.2E40.0020.0002.16848] # BAMUM LETTER PHASE-A MBANYI
+16849 ; [.2E41.0020.0002.16849] # BAMUM LETTER PHASE-A NYET
+1684A ; [.2E42.0020.0002.1684A] # BAMUM LETTER PHASE-A TEUAEN
+1684B ; [.2E43.0020.0002.1684B] # BAMUM LETTER PHASE-A SOT
+1684C ; [.2E44.0020.0002.1684C] # BAMUM LETTER PHASE-A PAAM
+1684D ; [.2E45.0020.0002.1684D] # BAMUM LETTER PHASE-A NSHIEE
+1684E ; [.2E46.0020.0002.1684E] # BAMUM LETTER PHASE-A MAEM
+1684F ; [.2E47.0020.0002.1684F] # BAMUM LETTER PHASE-A NYI
+16850 ; [.2E48.0020.0002.16850] # BAMUM LETTER PHASE-A KAQ
+16851 ; [.2E49.0020.0002.16851] # BAMUM LETTER PHASE-A NSHA
+16852 ; [.2E4A.0020.0002.16852] # BAMUM LETTER PHASE-A VEE
+16853 ; [.2E4B.0020.0002.16853] # BAMUM LETTER PHASE-A LU
+16854 ; [.2E4C.0020.0002.16854] # BAMUM LETTER PHASE-A NEN
+16855 ; [.2E4D.0020.0002.16855] # BAMUM LETTER PHASE-A NAQ
+16856 ; [.2E4E.0020.0002.16856] # BAMUM LETTER PHASE-A MBAQ
+16857 ; [.2E4F.0020.0002.16857] # BAMUM LETTER PHASE-B NSHUET
+16858 ; [.2E50.0020.0002.16858] # BAMUM LETTER PHASE-B TU MAEMGBIEE
+16859 ; [.2E51.0020.0002.16859] # BAMUM LETTER PHASE-B SIEE
+1685A ; [.2E52.0020.0002.1685A] # BAMUM LETTER PHASE-B SET TU
+1685B ; [.2E53.0020.0002.1685B] # BAMUM LETTER PHASE-B LOM NTEUM
+1685C ; [.2E54.0020.0002.1685C] # BAMUM LETTER PHASE-B MBA MAELEE
+1685D ; [.2E55.0020.0002.1685D] # BAMUM LETTER PHASE-B KIEEM
+1685E ; [.2E56.0020.0002.1685E] # BAMUM LETTER PHASE-B YEURAE
+1685F ; [.2E57.0020.0002.1685F] # BAMUM LETTER PHASE-B MBAARAE
+16860 ; [.2E58.0020.0002.16860] # BAMUM LETTER PHASE-B KAM
+16861 ; [.2E59.0020.0002.16861] # BAMUM LETTER PHASE-B PEESHI
+16862 ; [.2E5A.0020.0002.16862] # BAMUM LETTER PHASE-B YAFU LEERAEWA
+16863 ; [.2E5B.0020.0002.16863] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
+16864 ; [.2E5C.0020.0002.16864] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
+16865 ; [.2E5D.0020.0002.16865] # BAMUM LETTER PHASE-B NDU NJAA
+16866 ; [.2E5E.0020.0002.16866] # BAMUM LETTER PHASE-B GHEUGHEUAEM
+16867 ; [.2E5F.0020.0002.16867] # BAMUM LETTER PHASE-B PIT
+16868 ; [.2E60.0020.0002.16868] # BAMUM LETTER PHASE-B TU NSIEE
+16869 ; [.2E61.0020.0002.16869] # BAMUM LETTER PHASE-B SHET NJAQ
+1686A ; [.2E62.0020.0002.1686A] # BAMUM LETTER PHASE-B SHEUAEQTU
+1686B ; [.2E63.0020.0002.1686B] # BAMUM LETTER PHASE-B MFON TEUAEQ
+1686C ; [.2E64.0020.0002.1686C] # BAMUM LETTER PHASE-B MBIT MBAAKET
+1686D ; [.2E65.0020.0002.1686D] # BAMUM LETTER PHASE-B NYI NTEUM
+1686E ; [.2E66.0020.0002.1686E] # BAMUM LETTER PHASE-B KEUPUQ
+1686F ; [.2E67.0020.0002.1686F] # BAMUM LETTER PHASE-B GHEUGHEN
+16870 ; [.2E68.0020.0002.16870] # BAMUM LETTER PHASE-B KEUYEUX
+16871 ; [.2E69.0020.0002.16871] # BAMUM LETTER PHASE-B LAANAE
+16872 ; [.2E6A.0020.0002.16872] # BAMUM LETTER PHASE-B PARUM
+16873 ; [.2E6B.0020.0002.16873] # BAMUM LETTER PHASE-B VEUM
+16874 ; [.2E6C.0020.0002.16874] # BAMUM LETTER PHASE-B NGKINDI MVOP
+16875 ; [.2E6D.0020.0002.16875] # BAMUM LETTER PHASE-B NGGEU MBU
+16876 ; [.2E6E.0020.0002.16876] # BAMUM LETTER PHASE-B WUAET
+16877 ; [.2E6F.0020.0002.16877] # BAMUM LETTER PHASE-B SAKEUAE
+16878 ; [.2E70.0020.0002.16878] # BAMUM LETTER PHASE-B TAAM
+16879 ; [.2E71.0020.0002.16879] # BAMUM LETTER PHASE-B MEUQ
+1687A ; [.2E72.0020.0002.1687A] # BAMUM LETTER PHASE-B NGGUOQ
+1687B ; [.2E73.0020.0002.1687B] # BAMUM LETTER PHASE-B NGGUOQ LARGE
+1687C ; [.2E74.0020.0002.1687C] # BAMUM LETTER PHASE-B MFIYAQ
+1687D ; [.2E75.0020.0002.1687D] # BAMUM LETTER PHASE-B SUE
+1687E ; [.2E76.0020.0002.1687E] # BAMUM LETTER PHASE-B MBEURI
+1687F ; [.2E77.0020.0002.1687F] # BAMUM LETTER PHASE-B MONTIEEN
+16880 ; [.2E78.0020.0002.16880] # BAMUM LETTER PHASE-B NYAEMAE
+16881 ; [.2E79.0020.0002.16881] # BAMUM LETTER PHASE-B PUNGAAM
+16882 ; [.2E7A.0020.0002.16882] # BAMUM LETTER PHASE-B MEUT NGGEET
+16883 ; [.2E7B.0020.0002.16883] # BAMUM LETTER PHASE-B FEUX
+16884 ; [.2E7C.0020.0002.16884] # BAMUM LETTER PHASE-B MBUOQ
+16885 ; [.2E7D.0020.0002.16885] # BAMUM LETTER PHASE-B FEE
+16886 ; [.2E7E.0020.0002.16886] # BAMUM LETTER PHASE-B KEUAEM
+16887 ; [.2E7F.0020.0002.16887] # BAMUM LETTER PHASE-B MA NJEUAENA
+16888 ; [.2E80.0020.0002.16888] # BAMUM LETTER PHASE-B MA NJUQA
+16889 ; [.2E81.0020.0002.16889] # BAMUM LETTER PHASE-B LET
+1688A ; [.2E82.0020.0002.1688A] # BAMUM LETTER PHASE-B NGGAAM
+1688B ; [.2E83.0020.0002.1688B] # BAMUM LETTER PHASE-B NSEN
+1688C ; [.2E84.0020.0002.1688C] # BAMUM LETTER PHASE-B MA
+1688D ; [.2E85.0020.0002.1688D] # BAMUM LETTER PHASE-B KIQ
+1688E ; [.2E86.0020.0002.1688E] # BAMUM LETTER PHASE-B NGOM
+1688F ; [.2E87.0020.0002.1688F] # BAMUM LETTER PHASE-C NGKUE MAEMBA
+16890 ; [.2E88.0020.0002.16890] # BAMUM LETTER PHASE-C NZA
+16891 ; [.2E89.0020.0002.16891] # BAMUM LETTER PHASE-C YUM
+16892 ; [.2E8A.0020.0002.16892] # BAMUM LETTER PHASE-C WANGKUOQ
+16893 ; [.2E8B.0020.0002.16893] # BAMUM LETTER PHASE-C NGGEN
+16894 ; [.2E8C.0020.0002.16894] # BAMUM LETTER PHASE-C NDEUAEREE
+16895 ; [.2E8D.0020.0002.16895] # BAMUM LETTER PHASE-C NGKAQ
+16896 ; [.2E8E.0020.0002.16896] # BAMUM LETTER PHASE-C GHARAE
+16897 ; [.2E8F.0020.0002.16897] # BAMUM LETTER PHASE-C MBEEKEET
+16898 ; [.2E90.0020.0002.16898] # BAMUM LETTER PHASE-C GBAYI
+16899 ; [.2E91.0020.0002.16899] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
+1689A ; [.2E92.0020.0002.1689A] # BAMUM LETTER PHASE-C NTU MBIT
+1689B ; [.2E93.0020.0002.1689B] # BAMUM LETTER PHASE-C MBEUM
+1689C ; [.2E94.0020.0002.1689C] # BAMUM LETTER PHASE-C PIRIEEN
+1689D ; [.2E95.0020.0002.1689D] # BAMUM LETTER PHASE-C NDOMBU
+1689E ; [.2E96.0020.0002.1689E] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
+1689F ; [.2E97.0020.0002.1689F] # BAMUM LETTER PHASE-C KEUSHEUAEP
+168A0 ; [.2E98.0020.0002.168A0] # BAMUM LETTER PHASE-C GHAP
+168A1 ; [.2E99.0020.0002.168A1] # BAMUM LETTER PHASE-C KEUKAQ
+168A2 ; [.2E9A.0020.0002.168A2] # BAMUM LETTER PHASE-C YU MUOMAE
+168A3 ; [.2E9B.0020.0002.168A3] # BAMUM LETTER PHASE-C NZEUM
+168A4 ; [.2E9C.0020.0002.168A4] # BAMUM LETTER PHASE-C MBUE
+168A5 ; [.2E9D.0020.0002.168A5] # BAMUM LETTER PHASE-C NSEUAEN
+168A6 ; [.2E9E.0020.0002.168A6] # BAMUM LETTER PHASE-C MBIT
+168A7 ; [.2E9F.0020.0002.168A7] # BAMUM LETTER PHASE-C YEUQ
+168A8 ; [.2EA0.0020.0002.168A8] # BAMUM LETTER PHASE-C KPARAQ
+168A9 ; [.2EA1.0020.0002.168A9] # BAMUM LETTER PHASE-C KAA
+168AA ; [.2EA2.0020.0002.168AA] # BAMUM LETTER PHASE-C SEUX
+168AB ; [.2EA3.0020.0002.168AB] # BAMUM LETTER PHASE-C NDIDA
+168AC ; [.2EA4.0020.0002.168AC] # BAMUM LETTER PHASE-C TAASHAE
+168AD ; [.2EA5.0020.0002.168AD] # BAMUM LETTER PHASE-C NJUEQ
+168AE ; [.2EA6.0020.0002.168AE] # BAMUM LETTER PHASE-C TITA YUE
+168AF ; [.2EA7.0020.0002.168AF] # BAMUM LETTER PHASE-C SUAET
+168B0 ; [.2EA8.0020.0002.168B0] # BAMUM LETTER PHASE-C NGGUAEN NYAM
+168B1 ; [.2EA9.0020.0002.168B1] # BAMUM LETTER PHASE-C VEUX
+168B2 ; [.2EAA.0020.0002.168B2] # BAMUM LETTER PHASE-C NANSANAQ
+168B3 ; [.2EAB.0020.0002.168B3] # BAMUM LETTER PHASE-C MA KEUAERI
+168B4 ; [.2EAC.0020.0002.168B4] # BAMUM LETTER PHASE-C NTAA
+168B5 ; [.2EAD.0020.0002.168B5] # BAMUM LETTER PHASE-C NGGUON
+168B6 ; [.2EAE.0020.0002.168B6] # BAMUM LETTER PHASE-C LAP
+168B7 ; [.2EAF.0020.0002.168B7] # BAMUM LETTER PHASE-C MBIRIEEN
+168B8 ; [.2EB0.0020.0002.168B8] # BAMUM LETTER PHASE-C MGBASAQ
+168B9 ; [.2EB1.0020.0002.168B9] # BAMUM LETTER PHASE-C NTEUNGBA
+168BA ; [.2EB2.0020.0002.168BA] # BAMUM LETTER PHASE-C TEUTEUX
+168BB ; [.2EB3.0020.0002.168BB] # BAMUM LETTER PHASE-C NGGUM
+168BC ; [.2EB4.0020.0002.168BC] # BAMUM LETTER PHASE-C FUE
+168BD ; [.2EB5.0020.0002.168BD] # BAMUM LETTER PHASE-C NDEUT
+168BE ; [.2EB6.0020.0002.168BE] # BAMUM LETTER PHASE-C NSA
+168BF ; [.2EB7.0020.0002.168BF] # BAMUM LETTER PHASE-C NSHAQ
+168C0 ; [.2EB8.0020.0002.168C0] # BAMUM LETTER PHASE-C BUNG
+168C1 ; [.2EB9.0020.0002.168C1] # BAMUM LETTER PHASE-C VEUAEPEN
+168C2 ; [.2EBA.0020.0002.168C2] # BAMUM LETTER PHASE-C MBERAE
+168C3 ; [.2EBB.0020.0002.168C3] # BAMUM LETTER PHASE-C RU
+168C4 ; [.2EBC.0020.0002.168C4] # BAMUM LETTER PHASE-C NJAEM
+168C5 ; [.2EBD.0020.0002.168C5] # BAMUM LETTER PHASE-C LAM
+168C6 ; [.2EBE.0020.0002.168C6] # BAMUM LETTER PHASE-C TITUAEP
+168C7 ; [.2EBF.0020.0002.168C7] # BAMUM LETTER PHASE-C NSUOT NGOM
+168C8 ; [.2EC0.0020.0002.168C8] # BAMUM LETTER PHASE-C NJEEEE
+168C9 ; [.2EC1.0020.0002.168C9] # BAMUM LETTER PHASE-C KET
+168CA ; [.2EC2.0020.0002.168CA] # BAMUM LETTER PHASE-C NGGU
+168CB ; [.2EC3.0020.0002.168CB] # BAMUM LETTER PHASE-C MAESI
+168CC ; [.2EC4.0020.0002.168CC] # BAMUM LETTER PHASE-C MBUAEM
+168CD ; [.2EC5.0020.0002.168CD] # BAMUM LETTER PHASE-C LU
+168CE ; [.2EC6.0020.0002.168CE] # BAMUM LETTER PHASE-C KUT
+168CF ; [.2EC7.0020.0002.168CF] # BAMUM LETTER PHASE-C NJAM
+168D0 ; [.2EC8.0020.0002.168D0] # BAMUM LETTER PHASE-C NGOM
+168D1 ; [.2EC9.0020.0002.168D1] # BAMUM LETTER PHASE-C WUP
+168D2 ; [.2ECA.0020.0002.168D2] # BAMUM LETTER PHASE-C NGGUEET
+168D3 ; [.2ECB.0020.0002.168D3] # BAMUM LETTER PHASE-C NSOM
+168D4 ; [.2ECC.0020.0002.168D4] # BAMUM LETTER PHASE-C NTEN
+168D5 ; [.2ECD.0020.0002.168D5] # BAMUM LETTER PHASE-C KUOP NKAARAE
+168D6 ; [.2ECE.0020.0002.168D6] # BAMUM LETTER PHASE-C NSUN
+168D7 ; [.2ECF.0020.0002.168D7] # BAMUM LETTER PHASE-C NDAM
+168D8 ; [.2ED0.0020.0002.168D8] # BAMUM LETTER PHASE-C MA NSIEE
+168D9 ; [.2ED1.0020.0002.168D9] # BAMUM LETTER PHASE-C YAA
+168DA ; [.2ED2.0020.0002.168DA] # BAMUM LETTER PHASE-C NDAP
+168DB ; [.2ED3.0020.0002.168DB] # BAMUM LETTER PHASE-C SHUEQ
+168DC ; [.2ED4.0020.0002.168DC] # BAMUM LETTER PHASE-C SETFON
+168DD ; [.2ED5.0020.0002.168DD] # BAMUM LETTER PHASE-C MBI
+168DE ; [.2ED6.0020.0002.168DE] # BAMUM LETTER PHASE-C MAEMBA
+168DF ; [.2ED7.0020.0002.168DF] # BAMUM LETTER PHASE-C MBANYI
+168E0 ; [.2ED8.0020.0002.168E0] # BAMUM LETTER PHASE-C KEUSEUX
+168E1 ; [.2ED9.0020.0002.168E1] # BAMUM LETTER PHASE-C MBEUX
+168E2 ; [.2EDA.0020.0002.168E2] # BAMUM LETTER PHASE-C KEUM
+168E3 ; [.2EDB.0020.0002.168E3] # BAMUM LETTER PHASE-C MBAA PICKET
+168E4 ; [.2EDC.0020.0002.168E4] # BAMUM LETTER PHASE-C YUWOQ
+168E5 ; [.2EDD.0020.0002.168E5] # BAMUM LETTER PHASE-C NJEUX
+168E6 ; [.2EDE.0020.0002.168E6] # BAMUM LETTER PHASE-C MIEE
+168E7 ; [.2EDF.0020.0002.168E7] # BAMUM LETTER PHASE-C MUAE
+168E8 ; [.2EE0.0020.0002.168E8] # BAMUM LETTER PHASE-C SHIQ
+168E9 ; [.2EE1.0020.0002.168E9] # BAMUM LETTER PHASE-C KEN LAW
+168EA ; [.2EE2.0020.0002.168EA] # BAMUM LETTER PHASE-C KEN FATIGUE
+168EB ; [.2EE3.0020.0002.168EB] # BAMUM LETTER PHASE-C NGAQ
+168EC ; [.2EE4.0020.0002.168EC] # BAMUM LETTER PHASE-C NAQ
+168ED ; [.2EE5.0020.0002.168ED] # BAMUM LETTER PHASE-C LIQ
+168EE ; [.2EE6.0020.0002.168EE] # BAMUM LETTER PHASE-C PIN
+168EF ; [.2EE7.0020.0002.168EF] # BAMUM LETTER PHASE-C PEN
+168F0 ; [.2EE8.0020.0002.168F0] # BAMUM LETTER PHASE-C TET
+168F1 ; [.2EE9.0020.0002.168F1] # BAMUM LETTER PHASE-D MBUO
+168F2 ; [.2EEA.0020.0002.168F2] # BAMUM LETTER PHASE-D WAP
+168F3 ; [.2EEB.0020.0002.168F3] # BAMUM LETTER PHASE-D NJI
+168F4 ; [.2EEC.0020.0002.168F4] # BAMUM LETTER PHASE-D MFON
+168F5 ; [.2EED.0020.0002.168F5] # BAMUM LETTER PHASE-D NJIEE
+168F6 ; [.2EEE.0020.0002.168F6] # BAMUM LETTER PHASE-D LIEE
+168F7 ; [.2EEF.0020.0002.168F7] # BAMUM LETTER PHASE-D NJEUT
+168F8 ; [.2EF0.0020.0002.168F8] # BAMUM LETTER PHASE-D NSHEE
+168F9 ; [.2EF1.0020.0002.168F9] # BAMUM LETTER PHASE-D NGGAAMAE
+168FA ; [.2EF2.0020.0002.168FA] # BAMUM LETTER PHASE-D NYAM
+168FB ; [.2EF3.0020.0002.168FB] # BAMUM LETTER PHASE-D WUAEN
+168FC ; [.2EF4.0020.0002.168FC] # BAMUM LETTER PHASE-D NGKUN
+168FD ; [.2EF5.0020.0002.168FD] # BAMUM LETTER PHASE-D SHEE
+168FE ; [.2EF6.0020.0002.168FE] # BAMUM LETTER PHASE-D NGKAP
+168FF ; [.2EF7.0020.0002.168FF] # BAMUM LETTER PHASE-D KEUAETMEUN
+16900 ; [.2EF8.0020.0002.16900] # BAMUM LETTER PHASE-D TEUT
+16901 ; [.2EF9.0020.0002.16901] # BAMUM LETTER PHASE-D SHEUAE
+16902 ; [.2EFA.0020.0002.16902] # BAMUM LETTER PHASE-D NJAP
+16903 ; [.2EFB.0020.0002.16903] # BAMUM LETTER PHASE-D SUE
+16904 ; [.2EFC.0020.0002.16904] # BAMUM LETTER PHASE-D KET
+16905 ; [.2EFD.0020.0002.16905] # BAMUM LETTER PHASE-D YAEMMAE
+16906 ; [.2EFE.0020.0002.16906] # BAMUM LETTER PHASE-D KUOM
+16907 ; [.2EFF.0020.0002.16907] # BAMUM LETTER PHASE-D SAP
+16908 ; [.2F00.0020.0002.16908] # BAMUM LETTER PHASE-D MFEUT
+16909 ; [.2F01.0020.0002.16909] # BAMUM LETTER PHASE-D NDEUX
+1690A ; [.2F02.0020.0002.1690A] # BAMUM LETTER PHASE-D MALEERI
+1690B ; [.2F03.0020.0002.1690B] # BAMUM LETTER PHASE-D MEUT
+1690C ; [.2F04.0020.0002.1690C] # BAMUM LETTER PHASE-D SEUAEQ
+1690D ; [.2F05.0020.0002.1690D] # BAMUM LETTER PHASE-D YEN
+1690E ; [.2F06.0020.0002.1690E] # BAMUM LETTER PHASE-D NJEUAEM
+1690F ; [.2F07.0020.0002.1690F] # BAMUM LETTER PHASE-D KEUOT MBUAE
+16910 ; [.2F08.0020.0002.16910] # BAMUM LETTER PHASE-D NGKEURI
+16911 ; [.2F09.0020.0002.16911] # BAMUM LETTER PHASE-D TU
+16912 ; [.2F0A.0020.0002.16912] # BAMUM LETTER PHASE-D GHAA
+16913 ; [.2F0B.0020.0002.16913] # BAMUM LETTER PHASE-D NGKYEE
+16914 ; [.2F0C.0020.0002.16914] # BAMUM LETTER PHASE-D FEUFEUAET
+16915 ; [.2F0D.0020.0002.16915] # BAMUM LETTER PHASE-D NDEE
+16916 ; [.2F0E.0020.0002.16916] # BAMUM LETTER PHASE-D MGBOFUM
+16917 ; [.2F0F.0020.0002.16917] # BAMUM LETTER PHASE-D LEUAEP
+16918 ; [.2F10.0020.0002.16918] # BAMUM LETTER PHASE-D NDON
+16919 ; [.2F11.0020.0002.16919] # BAMUM LETTER PHASE-D MONI
+1691A ; [.2F12.0020.0002.1691A] # BAMUM LETTER PHASE-D MGBEUN
+1691B ; [.2F13.0020.0002.1691B] # BAMUM LETTER PHASE-D PUUT
+1691C ; [.2F14.0020.0002.1691C] # BAMUM LETTER PHASE-D MGBIEE
+1691D ; [.2F15.0020.0002.1691D] # BAMUM LETTER PHASE-D MFO
+1691E ; [.2F16.0020.0002.1691E] # BAMUM LETTER PHASE-D LUM
+1691F ; [.2F17.0020.0002.1691F] # BAMUM LETTER PHASE-D NSIEEP
+16920 ; [.2F18.0020.0002.16920] # BAMUM LETTER PHASE-D MBAA
+16921 ; [.2F19.0020.0002.16921] # BAMUM LETTER PHASE-D KWAET
+16922 ; [.2F1A.0020.0002.16922] # BAMUM LETTER PHASE-D NYET
+16923 ; [.2F1B.0020.0002.16923] # BAMUM LETTER PHASE-D TEUAEN
+16924 ; [.2F1C.0020.0002.16924] # BAMUM LETTER PHASE-D SOT
+16925 ; [.2F1D.0020.0002.16925] # BAMUM LETTER PHASE-D YUWOQ
+16926 ; [.2F1E.0020.0002.16926] # BAMUM LETTER PHASE-D KEUM
+16927 ; [.2F1F.0020.0002.16927] # BAMUM LETTER PHASE-D RAEM
+16928 ; [.2F20.0020.0002.16928] # BAMUM LETTER PHASE-D TEEEE
+16929 ; [.2F21.0020.0002.16929] # BAMUM LETTER PHASE-D NGKEUAEQ
+1692A ; [.2F22.0020.0002.1692A] # BAMUM LETTER PHASE-D MFEUAE
+1692B ; [.2F23.0020.0002.1692B] # BAMUM LETTER PHASE-D NSIEET
+1692C ; [.2F24.0020.0002.1692C] # BAMUM LETTER PHASE-D KEUP
+1692D ; [.2F25.0020.0002.1692D] # BAMUM LETTER PHASE-D PIP
+1692E ; [.2F26.0020.0002.1692E] # BAMUM LETTER PHASE-D PEUTAE
+1692F ; [.2F27.0020.0002.1692F] # BAMUM LETTER PHASE-D NYUE
+16930 ; [.2F28.0020.0002.16930] # BAMUM LETTER PHASE-D LET
+16931 ; [.2F29.0020.0002.16931] # BAMUM LETTER PHASE-D NGGAAM
+16932 ; [.2F2A.0020.0002.16932] # BAMUM LETTER PHASE-D MFIEE
+16933 ; [.2F2B.0020.0002.16933] # BAMUM LETTER PHASE-D NGGWAEN
+16934 ; [.2F2C.0020.0002.16934] # BAMUM LETTER PHASE-D YUOM
+16935 ; [.2F2D.0020.0002.16935] # BAMUM LETTER PHASE-D PAP
+16936 ; [.2F2E.0020.0002.16936] # BAMUM LETTER PHASE-D YUOP
+16937 ; [.2F2F.0020.0002.16937] # BAMUM LETTER PHASE-D NDAM
+16938 ; [.2F30.0020.0002.16938] # BAMUM LETTER PHASE-D NTEUM
+16939 ; [.2F31.0020.0002.16939] # BAMUM LETTER PHASE-D SUAE
+1693A ; [.2F32.0020.0002.1693A] # BAMUM LETTER PHASE-D KUN
+1693B ; [.2F33.0020.0002.1693B] # BAMUM LETTER PHASE-D NGGEUX
+1693C ; [.2F34.0020.0002.1693C] # BAMUM LETTER PHASE-D NGKIEE
+1693D ; [.2F35.0020.0002.1693D] # BAMUM LETTER PHASE-D TUOT
+1693E ; [.2F36.0020.0002.1693E] # BAMUM LETTER PHASE-D MEUN
+1693F ; [.2F37.0020.0002.1693F] # BAMUM LETTER PHASE-D KUQ
+16940 ; [.2F38.0020.0002.16940] # BAMUM LETTER PHASE-D NSUM
+16941 ; [.2F39.0020.0002.16941] # BAMUM LETTER PHASE-D TEUN
+16942 ; [.2F3A.0020.0002.16942] # BAMUM LETTER PHASE-D MAENJET
+16943 ; [.2F3B.0020.0002.16943] # BAMUM LETTER PHASE-D NGGAP
+16944 ; [.2F3C.0020.0002.16944] # BAMUM LETTER PHASE-D LEUM
+16945 ; [.2F3D.0020.0002.16945] # BAMUM LETTER PHASE-D NGGUOM
+16946 ; [.2F3E.0020.0002.16946] # BAMUM LETTER PHASE-D NSHUT
+16947 ; [.2F3F.0020.0002.16947] # BAMUM LETTER PHASE-D NJUEQ
+16948 ; [.2F40.0020.0002.16948] # BAMUM LETTER PHASE-D GHEUAE
+16949 ; [.2F41.0020.0002.16949] # BAMUM LETTER PHASE-D KU
+1694A ; [.2F42.0020.0002.1694A] # BAMUM LETTER PHASE-D REN OLD
+1694B ; [.2F43.0020.0002.1694B] # BAMUM LETTER PHASE-D TAE
+1694C ; [.2F44.0020.0002.1694C] # BAMUM LETTER PHASE-D TOQ
+1694D ; [.2F45.0020.0002.1694D] # BAMUM LETTER PHASE-D NYI
+1694E ; [.2F46.0020.0002.1694E] # BAMUM LETTER PHASE-D RII
+1694F ; [.2F47.0020.0002.1694F] # BAMUM LETTER PHASE-D LEEEE
+16950 ; [.2F48.0020.0002.16950] # BAMUM LETTER PHASE-D MEEEE
+16951 ; [.2F49.0020.0002.16951] # BAMUM LETTER PHASE-D M
+16952 ; [.2F4A.0020.0002.16952] # BAMUM LETTER PHASE-D SUU
+16953 ; [.2F4B.0020.0002.16953] # BAMUM LETTER PHASE-D MU
+16954 ; [.2F4C.0020.0002.16954] # BAMUM LETTER PHASE-D SHII
+16955 ; [.2F4D.0020.0002.16955] # BAMUM LETTER PHASE-D SHEUX
+16956 ; [.2F4E.0020.0002.16956] # BAMUM LETTER PHASE-D KYEE
+16957 ; [.2F4F.0020.0002.16957] # BAMUM LETTER PHASE-D NU
+16958 ; [.2F50.0020.0002.16958] # BAMUM LETTER PHASE-D SHU
+16959 ; [.2F51.0020.0002.16959] # BAMUM LETTER PHASE-D NTEE
+1695A ; [.2F52.0020.0002.1695A] # BAMUM LETTER PHASE-D PEE
+1695B ; [.2F53.0020.0002.1695B] # BAMUM LETTER PHASE-D NI
+1695C ; [.2F54.0020.0002.1695C] # BAMUM LETTER PHASE-D SHOQ
+1695D ; [.2F55.0020.0002.1695D] # BAMUM LETTER PHASE-D PUQ
+1695E ; [.2F56.0020.0002.1695E] # BAMUM LETTER PHASE-D MVOP
+1695F ; [.2F57.0020.0002.1695F] # BAMUM LETTER PHASE-D LOQ
+16960 ; [.2F58.0020.0002.16960] # BAMUM LETTER PHASE-D REN MUCH
+16961 ; [.2F59.0020.0002.16961] # BAMUM LETTER PHASE-D TI
+16962 ; [.2F5A.0020.0002.16962] # BAMUM LETTER PHASE-D NTUU
+16963 ; [.2F5B.0020.0002.16963] # BAMUM LETTER PHASE-D MBAA SEVEN
+16964 ; [.2F5C.0020.0002.16964] # BAMUM LETTER PHASE-D SAQ
+16965 ; [.2F5D.0020.0002.16965] # BAMUM LETTER PHASE-D FAA
+16966 ; [.2F5E.0020.0002.16966] # BAMUM LETTER PHASE-E NDAP
+16967 ; [.2F5F.0020.0002.16967] # BAMUM LETTER PHASE-E TOON
+16968 ; [.2F60.0020.0002.16968] # BAMUM LETTER PHASE-E MBEUM
+16969 ; [.2F61.0020.0002.16969] # BAMUM LETTER PHASE-E LAP
+1696A ; [.2F62.0020.0002.1696A] # BAMUM LETTER PHASE-E VOM
+1696B ; [.2F63.0020.0002.1696B] # BAMUM LETTER PHASE-E LOON
+1696C ; [.2F64.0020.0002.1696C] # BAMUM LETTER PHASE-E PAA
+1696D ; [.2F65.0020.0002.1696D] # BAMUM LETTER PHASE-E SOM
+1696E ; [.2F66.0020.0002.1696E] # BAMUM LETTER PHASE-E RAQ
+1696F ; [.2F67.0020.0002.1696F] # BAMUM LETTER PHASE-E NSHUOP
+16970 ; [.2F68.0020.0002.16970] # BAMUM LETTER PHASE-E NDUN
+16971 ; [.2F69.0020.0002.16971] # BAMUM LETTER PHASE-E PUAE
+16972 ; [.2F6A.0020.0002.16972] # BAMUM LETTER PHASE-E TAM
+16973 ; [.2F6B.0020.0002.16973] # BAMUM LETTER PHASE-E NGKA
+16974 ; [.2F6C.0020.0002.16974] # BAMUM LETTER PHASE-E KPEUX
+16975 ; [.2F6D.0020.0002.16975] # BAMUM LETTER PHASE-E WUO
+16976 ; [.2F6E.0020.0002.16976] # BAMUM LETTER PHASE-E SEE
+16977 ; [.2F6F.0020.0002.16977] # BAMUM LETTER PHASE-E NGGEUAET
+16978 ; [.2F70.0020.0002.16978] # BAMUM LETTER PHASE-E PAAM
+16979 ; [.2F71.0020.0002.16979] # BAMUM LETTER PHASE-E TOO
+1697A ; [.2F72.0020.0002.1697A] # BAMUM LETTER PHASE-E KUOP
+1697B ; [.2F73.0020.0002.1697B] # BAMUM LETTER PHASE-E LOM
+1697C ; [.2F74.0020.0002.1697C] # BAMUM LETTER PHASE-E NSHIEE
+1697D ; [.2F75.0020.0002.1697D] # BAMUM LETTER PHASE-E NGOP
+1697E ; [.2F76.0020.0002.1697E] # BAMUM LETTER PHASE-E MAEM
+1697F ; [.2F77.0020.0002.1697F] # BAMUM LETTER PHASE-E NGKEUX
+16980 ; [.2F78.0020.0002.16980] # BAMUM LETTER PHASE-E NGOQ
+16981 ; [.2F79.0020.0002.16981] # BAMUM LETTER PHASE-E NSHUE
+16982 ; [.2F7A.0020.0002.16982] # BAMUM LETTER PHASE-E RIMGBA
+16983 ; [.2F7B.0020.0002.16983] # BAMUM LETTER PHASE-E NJEUX
+16984 ; [.2F7C.0020.0002.16984] # BAMUM LETTER PHASE-E PEEM
+16985 ; [.2F7D.0020.0002.16985] # BAMUM LETTER PHASE-E SAA
+16986 ; [.2F7E.0020.0002.16986] # BAMUM LETTER PHASE-E NGGURAE
+16987 ; [.2F7F.0020.0002.16987] # BAMUM LETTER PHASE-E MGBA
+16988 ; [.2F80.0020.0002.16988] # BAMUM LETTER PHASE-E GHEUX
+16989 ; [.2F81.0020.0002.16989] # BAMUM LETTER PHASE-E NGKEUAEM
+1698A ; [.2F82.0020.0002.1698A] # BAMUM LETTER PHASE-E NJAEMLI
+1698B ; [.2F83.0020.0002.1698B] # BAMUM LETTER PHASE-E MAP
+1698C ; [.2F84.0020.0002.1698C] # BAMUM LETTER PHASE-E LOOT
+1698D ; [.2F85.0020.0002.1698D] # BAMUM LETTER PHASE-E NGGEEEE
+1698E ; [.2F86.0020.0002.1698E] # BAMUM LETTER PHASE-E NDIQ
+1698F ; [.2F87.0020.0002.1698F] # BAMUM LETTER PHASE-E TAEN NTEUM
+16990 ; [.2F88.0020.0002.16990] # BAMUM LETTER PHASE-E SET
+16991 ; [.2F89.0020.0002.16991] # BAMUM LETTER PHASE-E PUM
+16992 ; [.2F8A.0020.0002.16992] # BAMUM LETTER PHASE-E NDAA SOFTNESS
+16993 ; [.2F8B.0020.0002.16993] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
+16994 ; [.2F8C.0020.0002.16994] # BAMUM LETTER PHASE-E YIEE
+16995 ; [.2F8D.0020.0002.16995] # BAMUM LETTER PHASE-E GHEUN
+16996 ; [.2F8E.0020.0002.16996] # BAMUM LETTER PHASE-E TUAE
+16997 ; [.2F8F.0020.0002.16997] # BAMUM LETTER PHASE-E YEUAE
+16998 ; [.2F90.0020.0002.16998] # BAMUM LETTER PHASE-E PO
+16999 ; [.2F91.0020.0002.16999] # BAMUM LETTER PHASE-E TUMAE
+1699A ; [.2F92.0020.0002.1699A] # BAMUM LETTER PHASE-E KEUAE
+1699B ; [.2F93.0020.0002.1699B] # BAMUM LETTER PHASE-E SUAEN
+1699C ; [.2F94.0020.0002.1699C] # BAMUM LETTER PHASE-E TEUAEQ
+1699D ; [.2F95.0020.0002.1699D] # BAMUM LETTER PHASE-E VEUAE
+1699E ; [.2F96.0020.0002.1699E] # BAMUM LETTER PHASE-E WEUX
+1699F ; [.2F97.0020.0002.1699F] # BAMUM LETTER PHASE-E LAAM
+169A0 ; [.2F98.0020.0002.169A0] # BAMUM LETTER PHASE-E PU
+169A1 ; [.2F99.0020.0002.169A1] # BAMUM LETTER PHASE-E TAAQ
+169A2 ; [.2F9A.0020.0002.169A2] # BAMUM LETTER PHASE-E GHAAMAE
+169A3 ; [.2F9B.0020.0002.169A3] # BAMUM LETTER PHASE-E NGEUREUT
+169A4 ; [.2F9C.0020.0002.169A4] # BAMUM LETTER PHASE-E SHEUAEQ
+169A5 ; [.2F9D.0020.0002.169A5] # BAMUM LETTER PHASE-E MGBEN
+169A6 ; [.2F9E.0020.0002.169A6] # BAMUM LETTER PHASE-E MBEE
+169A7 ; [.2F9F.0020.0002.169A7] # BAMUM LETTER PHASE-E NZAQ
+169A8 ; [.2FA0.0020.0002.169A8] # BAMUM LETTER PHASE-E NKOM
+169A9 ; [.2FA1.0020.0002.169A9] # BAMUM LETTER PHASE-E GBET
+169AA ; [.2FA2.0020.0002.169AA] # BAMUM LETTER PHASE-E TUM
+169AB ; [.2FA3.0020.0002.169AB] # BAMUM LETTER PHASE-E KUET
+169AC ; [.2FA4.0020.0002.169AC] # BAMUM LETTER PHASE-E YAP
+169AD ; [.2FA5.0020.0002.169AD] # BAMUM LETTER PHASE-E NYI CLEAVER
+169AE ; [.2FA6.0020.0002.169AE] # BAMUM LETTER PHASE-E YIT
+169AF ; [.2FA7.0020.0002.169AF] # BAMUM LETTER PHASE-E MFEUQ
+169B0 ; [.2FA8.0020.0002.169B0] # BAMUM LETTER PHASE-E NDIAQ
+169B1 ; [.2FA9.0020.0002.169B1] # BAMUM LETTER PHASE-E PIEEQ
+169B2 ; [.2FAA.0020.0002.169B2] # BAMUM LETTER PHASE-E YUEQ
+169B3 ; [.2FAB.0020.0002.169B3] # BAMUM LETTER PHASE-E LEUAEM
+169B4 ; [.2FAC.0020.0002.169B4] # BAMUM LETTER PHASE-E FUE
+169B5 ; [.2FAD.0020.0002.169B5] # BAMUM LETTER PHASE-E GBEUX
+169B6 ; [.2FAE.0020.0002.169B6] # BAMUM LETTER PHASE-E NGKUP
+169B7 ; [.2FAF.0020.0002.169B7] # BAMUM LETTER PHASE-E KET
+169B8 ; [.2FB0.0020.0002.169B8] # BAMUM LETTER PHASE-E MAE
+169B9 ; [.2FB1.0020.0002.169B9] # BAMUM LETTER PHASE-E NGKAAMI
+169BA ; [.2FB2.0020.0002.169BA] # BAMUM LETTER PHASE-E GHET
+169BB ; [.2FB3.0020.0002.169BB] # BAMUM LETTER PHASE-E FA
+169BC ; [.2FB4.0020.0002.169BC] # BAMUM LETTER PHASE-E NTUM
+169BD ; [.2FB5.0020.0002.169BD] # BAMUM LETTER PHASE-E PEUT
+169BE ; [.2FB6.0020.0002.169BE] # BAMUM LETTER PHASE-E YEUM
+169BF ; [.2FB7.0020.0002.169BF] # BAMUM LETTER PHASE-E NGGEUAE
+169C0 ; [.2FB8.0020.0002.169C0] # BAMUM LETTER PHASE-E NYI BETWEEN
+169C1 ; [.2FB9.0020.0002.169C1] # BAMUM LETTER PHASE-E NZUQ
+169C2 ; [.2FBA.0020.0002.169C2] # BAMUM LETTER PHASE-E POON
+169C3 ; [.2FBB.0020.0002.169C3] # BAMUM LETTER PHASE-E MIEE
+169C4 ; [.2FBC.0020.0002.169C4] # BAMUM LETTER PHASE-E FUET
+169C5 ; [.2FBD.0020.0002.169C5] # BAMUM LETTER PHASE-E NAE
+169C6 ; [.2FBE.0020.0002.169C6] # BAMUM LETTER PHASE-E MUAE
+169C7 ; [.2FBF.0020.0002.169C7] # BAMUM LETTER PHASE-E GHEUAE
+169C8 ; [.2FC0.0020.0002.169C8] # BAMUM LETTER PHASE-E FU I
+169C9 ; [.2FC1.0020.0002.169C9] # BAMUM LETTER PHASE-E MVI
+169CA ; [.2FC2.0020.0002.169CA] # BAMUM LETTER PHASE-E PUAQ
+169CB ; [.2FC3.0020.0002.169CB] # BAMUM LETTER PHASE-E NGKUM
+169CC ; [.2FC4.0020.0002.169CC] # BAMUM LETTER PHASE-E KUT
+169CD ; [.2FC5.0020.0002.169CD] # BAMUM LETTER PHASE-E PIET
+169CE ; [.2FC6.0020.0002.169CE] # BAMUM LETTER PHASE-E NTAP
+169CF ; [.2FC7.0020.0002.169CF] # BAMUM LETTER PHASE-E YEUAET
+169D0 ; [.2FC8.0020.0002.169D0] # BAMUM LETTER PHASE-E NGGUP
+169D1 ; [.2FC9.0020.0002.169D1] # BAMUM LETTER PHASE-E PA PEOPLE
+169D2 ; [.2FCA.0020.0002.169D2] # BAMUM LETTER PHASE-E FU CALL
+169D3 ; [.2FCB.0020.0002.169D3] # BAMUM LETTER PHASE-E FOM
+169D4 ; [.2FCC.0020.0002.169D4] # BAMUM LETTER PHASE-E NJEE
+169D5 ; [.2FCD.0020.0002.169D5] # BAMUM LETTER PHASE-E A
+169D6 ; [.2FCE.0020.0002.169D6] # BAMUM LETTER PHASE-E TOQ
+169D7 ; [.2FCF.0020.0002.169D7] # BAMUM LETTER PHASE-E O
+169D8 ; [.2FD0.0020.0002.169D8] # BAMUM LETTER PHASE-E I
+169D9 ; [.2FD1.0020.0002.169D9] # BAMUM LETTER PHASE-E LAQ
+169DA ; [.2FD2.0020.0002.169DA] # BAMUM LETTER PHASE-E PA PLURAL
+169DB ; [.2FD3.0020.0002.169DB] # BAMUM LETTER PHASE-E TAA
+169DC ; [.2FD4.0020.0002.169DC] # BAMUM LETTER PHASE-E TAQ
+169DD ; [.2FD5.0020.0002.169DD] # BAMUM LETTER PHASE-E NDAA MY HOUSE
+169DE ; [.2FD6.0020.0002.169DE] # BAMUM LETTER PHASE-E SHIQ
+169DF ; [.2FD7.0020.0002.169DF] # BAMUM LETTER PHASE-E YEUX
+169E0 ; [.2FD8.0020.0002.169E0] # BAMUM LETTER PHASE-E NGUAE
+169E1 ; [.2FD9.0020.0002.169E1] # BAMUM LETTER PHASE-E YUAEN
+169E2 ; [.2FDA.0020.0002.169E2] # BAMUM LETTER PHASE-E YOQ SWIMMING
+169E3 ; [.2FDB.0020.0002.169E3] # BAMUM LETTER PHASE-E YOQ COVER
+169E4 ; [.2FDC.0020.0002.169E4] # BAMUM LETTER PHASE-E YUQ
+169E5 ; [.2FDD.0020.0002.169E5] # BAMUM LETTER PHASE-E YUN
+169E6 ; [.2FDE.0020.0002.169E6] # BAMUM LETTER PHASE-E KEUX
+169E7 ; [.2FDF.0020.0002.169E7] # BAMUM LETTER PHASE-E PEUX
+169E8 ; [.2FE0.0020.0002.169E8] # BAMUM LETTER PHASE-E NJEE EPOCH
+169E9 ; [.2FE1.0020.0002.169E9] # BAMUM LETTER PHASE-E PUE
+169EA ; [.2FE2.0020.0002.169EA] # BAMUM LETTER PHASE-E WUE
+169EB ; [.2FE3.0020.0002.169EB] # BAMUM LETTER PHASE-E FEE
+169EC ; [.2FE4.0020.0002.169EC] # BAMUM LETTER PHASE-E VEE
+169ED ; [.2FE5.0020.0002.169ED] # BAMUM LETTER PHASE-E LU
+169EE ; [.2FE6.0020.0002.169EE] # BAMUM LETTER PHASE-E MI
+169EF ; [.2FE7.0020.0002.169EF] # BAMUM LETTER PHASE-E REUX
+169F0 ; [.2FE8.0020.0002.169F0] # BAMUM LETTER PHASE-E RAE
+169F1 ; [.2FE9.0020.0002.169F1] # BAMUM LETTER PHASE-E NGUAET
+169F2 ; [.2FEA.0020.0002.169F2] # BAMUM LETTER PHASE-E NGA
+169F3 ; [.2FEB.0020.0002.169F3] # BAMUM LETTER PHASE-E SHO
+169F4 ; [.2FEC.0020.0002.169F4] # BAMUM LETTER PHASE-E SHOQ
+169F5 ; [.2FED.0020.0002.169F5] # BAMUM LETTER PHASE-E FU REMEDY
+169F6 ; [.2FEE.0020.0002.169F6] # BAMUM LETTER PHASE-E NA
+169F7 ; [.2FEF.0020.0002.169F7] # BAMUM LETTER PHASE-E PI
+169F8 ; [.2FF0.0020.0002.169F8] # BAMUM LETTER PHASE-E LOQ
+169F9 ; [.2FF1.0020.0002.169F9] # BAMUM LETTER PHASE-E KO
+169FA ; [.2FF2.0020.0002.169FA] # BAMUM LETTER PHASE-E MEN
+169FB ; [.2FF3.0020.0002.169FB] # BAMUM LETTER PHASE-E MA
+169FC ; [.2FF4.0020.0002.169FC] # BAMUM LETTER PHASE-E MAQ
+169FD ; [.2FF5.0020.0002.169FD] # BAMUM LETTER PHASE-E TEU
+169FE ; [.2FF6.0020.0002.169FE] # BAMUM LETTER PHASE-E KI
+169FF ; [.2FF7.0020.0002.169FF] # BAMUM LETTER PHASE-E MON
+16A00 ; [.2FF8.0020.0002.16A00] # BAMUM LETTER PHASE-E TEN
+16A01 ; [.2FF9.0020.0002.16A01] # BAMUM LETTER PHASE-E FAQ
+16A02 ; [.2FFA.0020.0002.16A02] # BAMUM LETTER PHASE-E GHOM
+16A03 ; [.2FFB.0020.0002.16A03] # BAMUM LETTER PHASE-F KA
+16A04 ; [.2FFC.0020.0002.16A04] # BAMUM LETTER PHASE-F U
+16A05 ; [.2FFD.0020.0002.16A05] # BAMUM LETTER PHASE-F KU
+16A06 ; [.2FFE.0020.0002.16A06] # BAMUM LETTER PHASE-F EE
+16A07 ; [.2FFF.0020.0002.16A07] # BAMUM LETTER PHASE-F REE
+16A08 ; [.3000.0020.0002.16A08] # BAMUM LETTER PHASE-F TAE
+16A09 ; [.3001.0020.0002.16A09] # BAMUM LETTER PHASE-F NYI
+16A0A ; [.3002.0020.0002.16A0A] # BAMUM LETTER PHASE-F LA
+16A0B ; [.3003.0020.0002.16A0B] # BAMUM LETTER PHASE-F RII
+16A0C ; [.3004.0020.0002.16A0C] # BAMUM LETTER PHASE-F RIEE
+16A0D ; [.3005.0020.0002.16A0D] # BAMUM LETTER PHASE-F MEEEE
+16A0E ; [.3006.0020.0002.16A0E] # BAMUM LETTER PHASE-F TAA
+16A0F ; [.3007.0020.0002.16A0F] # BAMUM LETTER PHASE-F NDAA
+16A10 ; [.3008.0020.0002.16A10] # BAMUM LETTER PHASE-F NJAEM
+16A11 ; [.3009.0020.0002.16A11] # BAMUM LETTER PHASE-F M
+16A12 ; [.300A.0020.0002.16A12] # BAMUM LETTER PHASE-F SUU
+16A13 ; [.300B.0020.0002.16A13] # BAMUM LETTER PHASE-F SHII
+16A14 ; [.300C.0020.0002.16A14] # BAMUM LETTER PHASE-F SI
+16A15 ; [.300D.0020.0002.16A15] # BAMUM LETTER PHASE-F SEUX
+16A16 ; [.300E.0020.0002.16A16] # BAMUM LETTER PHASE-F KYEE
+16A17 ; [.300F.0020.0002.16A17] # BAMUM LETTER PHASE-F KET
+16A18 ; [.3010.0020.0002.16A18] # BAMUM LETTER PHASE-F NUAE
+16A19 ; [.3011.0020.0002.16A19] # BAMUM LETTER PHASE-F NU
+16A1A ; [.3012.0020.0002.16A1A] # BAMUM LETTER PHASE-F NJUAE
+16A1B ; [.3013.0020.0002.16A1B] # BAMUM LETTER PHASE-F YOQ
+16A1C ; [.3014.0020.0002.16A1C] # BAMUM LETTER PHASE-F SHU
+16A1D ; [.3015.0020.0002.16A1D] # BAMUM LETTER PHASE-F YA
+16A1E ; [.3016.0020.0002.16A1E] # BAMUM LETTER PHASE-F NSHA
+16A1F ; [.3017.0020.0002.16A1F] # BAMUM LETTER PHASE-F PEUX
+16A20 ; [.3018.0020.0002.16A20] # BAMUM LETTER PHASE-F NTEE
+16A21 ; [.3019.0020.0002.16A21] # BAMUM LETTER PHASE-F WUE
+16A22 ; [.301A.0020.0002.16A22] # BAMUM LETTER PHASE-F PEE
+16A23 ; [.301B.0020.0002.16A23] # BAMUM LETTER PHASE-F RU
+16A24 ; [.301C.0020.0002.16A24] # BAMUM LETTER PHASE-F NI
+16A25 ; [.301D.0020.0002.16A25] # BAMUM LETTER PHASE-F REUX
+16A26 ; [.301E.0020.0002.16A26] # BAMUM LETTER PHASE-F KEN
+16A27 ; [.301F.0020.0002.16A27] # BAMUM LETTER PHASE-F NGKWAEN
+16A28 ; [.3020.0020.0002.16A28] # BAMUM LETTER PHASE-F NGGA
+16A29 ; [.3021.0020.0002.16A29] # BAMUM LETTER PHASE-F SHO
+16A2A ; [.3022.0020.0002.16A2A] # BAMUM LETTER PHASE-F PUAE
+16A2B ; [.3023.0020.0002.16A2B] # BAMUM LETTER PHASE-F FOM
+16A2C ; [.3024.0020.0002.16A2C] # BAMUM LETTER PHASE-F WA
+16A2D ; [.3025.0020.0002.16A2D] # BAMUM LETTER PHASE-F LI
+16A2E ; [.3026.0020.0002.16A2E] # BAMUM LETTER PHASE-F LOQ
+16A2F ; [.3027.0020.0002.16A2F] # BAMUM LETTER PHASE-F KO
+16A30 ; [.3028.0020.0002.16A30] # BAMUM LETTER PHASE-F MBEN
+16A31 ; [.3029.0020.0002.16A31] # BAMUM LETTER PHASE-F REN
+16A32 ; [.302A.0020.0002.16A32] # BAMUM LETTER PHASE-F MA
+16A33 ; [.302B.0020.0002.16A33] # BAMUM LETTER PHASE-F MO
+16A34 ; [.302C.0020.0002.16A34] # BAMUM LETTER PHASE-F MBAA
+16A35 ; [.302D.0020.0002.16A35] # BAMUM LETTER PHASE-F TET
+16A36 ; [.302E.0020.0002.16A36] # BAMUM LETTER PHASE-F KPA
+16A37 ; [.302F.0020.0002.16A37] # BAMUM LETTER PHASE-F SAMBA
+16A38 ; [.3030.0020.0002.16A38] # BAMUM LETTER PHASE-F VUEQ
+1100 ; [.3031.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
+3131 ; [.3031.0020.0004.3131] # HANGUL LETTER KIYEOK; QQK
+3200 ; [*030E.0020.0004.3200][.3031.0020.0004.3200][*030F.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK; QQKN
+3260 ; [.3031.0020.0006.3260] # CIRCLED HANGUL KIYEOK; QQK
+FFA1 ; [.3031.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK; QQK
+320E ; [*030E.0020.0004.320E][.3031.0020.0004.320E][.30AF.0020.001F.320E][*030F.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A; QQKN
+326E ; [.3031.0020.0006.326E][.30AF.0020.0006.326E] # CIRCLED HANGUL KIYEOK A; QQKN
+1101 ; [.3032.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
+3132 ; [.3032.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK; QQK
+FFA2 ; [.3032.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK; QQK
+1102 ; [.3033.0020.0002.1102] # HANGUL CHOSEONG NIEUN
+3134 ; [.3033.0020.0004.3134] # HANGUL LETTER NIEUN; QQK
+3201 ; [*030E.0020.0004.3201][.3033.0020.0004.3201][*030F.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN; QQKN
+3261 ; [.3033.0020.0006.3261] # CIRCLED HANGUL NIEUN; QQK
+FFA4 ; [.3033.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN; QQK
+320F ; [*030E.0020.0004.320F][.3033.0020.0004.320F][.30AF.0020.001F.320F][*030F.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A; QQKN
+326F ; [.3033.0020.0006.326F][.30AF.0020.0006.326F] # CIRCLED HANGUL NIEUN A; QQKN
+1103 ; [.3034.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
+3137 ; [.3034.0020.0004.3137] # HANGUL LETTER TIKEUT; QQK
+3202 ; [*030E.0020.0004.3202][.3034.0020.0004.3202][*030F.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT; QQKN
+3262 ; [.3034.0020.0006.3262] # CIRCLED HANGUL TIKEUT; QQK
+FFA7 ; [.3034.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT; QQK
+3210 ; [*030E.0020.0004.3210][.3034.0020.0004.3210][.30AF.0020.001F.3210][*030F.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A; QQKN
+3270 ; [.3034.0020.0006.3270][.30AF.0020.0006.3270] # CIRCLED HANGUL TIKEUT A; QQKN
+1104 ; [.3035.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
+3138 ; [.3035.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT; QQK
+FFA8 ; [.3035.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT; QQK
+1105 ; [.3036.0020.0002.1105] # HANGUL CHOSEONG RIEUL
+3139 ; [.3036.0020.0004.3139] # HANGUL LETTER RIEUL; QQK
+3203 ; [*030E.0020.0004.3203][.3036.0020.0004.3203][*030F.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL; QQKN
+3263 ; [.3036.0020.0006.3263] # CIRCLED HANGUL RIEUL; QQK
+FFA9 ; [.3036.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL; QQK
+3211 ; [*030E.0020.0004.3211][.3036.0020.0004.3211][.30AF.0020.001F.3211][*030F.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A; QQKN
+3271 ; [.3036.0020.0006.3271][.30AF.0020.0006.3271] # CIRCLED HANGUL RIEUL A; QQKN
+1106 ; [.3037.0020.0002.1106] # HANGUL CHOSEONG MIEUM
+3141 ; [.3037.0020.0004.3141] # HANGUL LETTER MIEUM; QQK
+3204 ; [*030E.0020.0004.3204][.3037.0020.0004.3204][*030F.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM; QQKN
+3264 ; [.3037.0020.0006.3264] # CIRCLED HANGUL MIEUM; QQK
+FFB1 ; [.3037.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM; QQK
+3212 ; [*030E.0020.0004.3212][.3037.0020.0004.3212][.30AF.0020.001F.3212][*030F.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A; QQKN
+3272 ; [.3037.0020.0006.3272][.30AF.0020.0006.3272] # CIRCLED HANGUL MIEUM A; QQKN
+1107 ; [.3038.0020.0002.1107] # HANGUL CHOSEONG PIEUP
+3142 ; [.3038.0020.0004.3142] # HANGUL LETTER PIEUP; QQK
+3205 ; [*030E.0020.0004.3205][.3038.0020.0004.3205][*030F.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP; QQKN
+3265 ; [.3038.0020.0006.3265] # CIRCLED HANGUL PIEUP; QQK
+FFB2 ; [.3038.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP; QQK
+3213 ; [*030E.0020.0004.3213][.3038.0020.0004.3213][.30AF.0020.001F.3213][*030F.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A; QQKN
+3273 ; [.3038.0020.0006.3273][.30AF.0020.0006.3273] # CIRCLED HANGUL PIEUP A; QQKN
+1108 ; [.3039.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
+3143 ; [.3039.0020.0004.3143] # HANGUL LETTER SSANGPIEUP; QQK
+FFB3 ; [.3039.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP; QQK
+1109 ; [.303A.0020.0002.1109] # HANGUL CHOSEONG SIOS
+3145 ; [.303A.0020.0004.3145] # HANGUL LETTER SIOS; QQK
+3206 ; [*030E.0020.0004.3206][.303A.0020.0004.3206][*030F.0020.001F.3206] # PARENTHESIZED HANGUL SIOS; QQKN
+3266 ; [.303A.0020.0006.3266] # CIRCLED HANGUL SIOS; QQK
+FFB5 ; [.303A.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS; QQK
+3214 ; [*030E.0020.0004.3214][.303A.0020.0004.3214][.30AF.0020.001F.3214][*030F.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A; QQKN
+3274 ; [.303A.0020.0006.3274][.30AF.0020.0006.3274] # CIRCLED HANGUL SIOS A; QQKN
+110A ; [.303B.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
+3146 ; [.303B.0020.0004.3146] # HANGUL LETTER SSANGSIOS; QQK
+FFB6 ; [.303B.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS; QQK
+110B ; [.303C.0020.0002.110B] # HANGUL CHOSEONG IEUNG
+3147 ; [.303C.0020.0004.3147] # HANGUL LETTER IEUNG; QQK
+3207 ; [*030E.0020.0004.3207][.303C.0020.0004.3207][*030F.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG; QQKN
+3267 ; [.303C.0020.0006.3267] # CIRCLED HANGUL IEUNG; QQK
+FFB7 ; [.303C.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG; QQK
+3215 ; [*030E.0020.0004.3215][.303C.0020.0004.3215][.30AF.0020.001F.3215][*030F.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A; QQKN
+3275 ; [.303C.0020.0006.3275][.30AF.0020.0006.3275] # CIRCLED HANGUL IEUNG A; QQKN
+321D ; [*030E.0020.0004.321D][.303C.0020.0004.321D][.30B7.0020.001F.321D][.303D.0020.001F.321D][.30B3.0020.001F.321D][.3110.0020.001F.321D][*030F.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON; QQKN
+321E ; [*030E.0020.0004.321E][.303C.0020.0004.321E][.30B7.0020.001F.321E][.3043.0020.001F.321E][.30BC.0020.001F.321E][*030F.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU; QQKN
+327E ; [.303C.0020.0006.327E][.30BC.0020.0006.327E] # CIRCLED HANGUL IEUNG U; QQKN
+110C ; [.303D.0020.0002.110C] # HANGUL CHOSEONG CIEUC
+3148 ; [.303D.0020.0004.3148] # HANGUL LETTER CIEUC; QQK
+3208 ; [*030E.0020.0004.3208][.303D.0020.0004.3208][*030F.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC; QQKN
+3268 ; [.303D.0020.0006.3268] # CIRCLED HANGUL CIEUC; QQK
+FFB8 ; [.303D.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC; QQK
+3216 ; [*030E.0020.0004.3216][.303D.0020.0004.3216][.30AF.0020.001F.3216][*030F.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A; QQKN
+3276 ; [.303D.0020.0006.3276][.30AF.0020.0006.3276] # CIRCLED HANGUL CIEUC A; QQKN
+321C ; [*030E.0020.0004.321C][.303D.0020.0004.321C][.30BC.0020.001F.321C][*030F.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U; QQKN
+327D ; [.303D.0020.0006.327D][.30BC.0020.0006.327D][.303C.0020.001F.327D][.30C2.0020.001F.327D] # CIRCLED KOREAN CHARACTER JUEUI; QQKN
+110D ; [.303E.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
+3149 ; [.303E.0020.0004.3149] # HANGUL LETTER SSANGCIEUC; QQK
+FFB9 ; [.303E.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC; QQK
+110E ; [.303F.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
+314A ; [.303F.0020.0004.314A] # HANGUL LETTER CHIEUCH; QQK
+3209 ; [*030E.0020.0004.3209][.303F.0020.0004.3209][*030F.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH; QQKN
+3269 ; [.303F.0020.0006.3269] # CIRCLED HANGUL CHIEUCH; QQK
+FFBA ; [.303F.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH; QQK
+3217 ; [*030E.0020.0004.3217][.303F.0020.0004.3217][.30AF.0020.001F.3217][*030F.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A; QQKN
+3277 ; [.303F.0020.0006.3277][.30AF.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A; QQKN
+327C ; [.303F.0020.0006.327C][.30AF.0020.0006.327C][.311C.0020.001F.327C][.3031.0020.001F.327C][.30B7.0020.001F.327C] # CIRCLED KOREAN CHARACTER CHAMKO; QQKN
+110F ; [.3040.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
+314B ; [.3040.0020.0004.314B] # HANGUL LETTER KHIEUKH; QQK
+320A ; [*030E.0020.0004.320A][.3040.0020.0004.320A][*030F.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH; QQKN
+326A ; [.3040.0020.0006.326A] # CIRCLED HANGUL KHIEUKH; QQK
+FFBB ; [.3040.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH; QQK
+3218 ; [*030E.0020.0004.3218][.3040.0020.0004.3218][.30AF.0020.001F.3218][*030F.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A; QQKN
+3278 ; [.3040.0020.0006.3278][.30AF.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A; QQKN
+1110 ; [.3041.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
+314C ; [.3041.0020.0004.314C] # HANGUL LETTER THIEUTH; QQK
+320B ; [*030E.0020.0004.320B][.3041.0020.0004.320B][*030F.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH; QQKN
+326B ; [.3041.0020.0006.326B] # CIRCLED HANGUL THIEUTH; QQK
+FFBC ; [.3041.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH; QQK
+3219 ; [*030E.0020.0004.3219][.3041.0020.0004.3219][.30AF.0020.001F.3219][*030F.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A; QQKN
+3279 ; [.3041.0020.0006.3279][.30AF.0020.0006.3279] # CIRCLED HANGUL THIEUTH A; QQKN
+1111 ; [.3042.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
+314D ; [.3042.0020.0004.314D] # HANGUL LETTER PHIEUPH; QQK
+320C ; [*030E.0020.0004.320C][.3042.0020.0004.320C][*030F.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH; QQKN
+326C ; [.3042.0020.0006.326C] # CIRCLED HANGUL PHIEUPH; QQK
+FFBD ; [.3042.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH; QQK
+321A ; [*030E.0020.0004.321A][.3042.0020.0004.321A][.30AF.0020.001F.321A][*030F.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A; QQKN
+327A ; [.3042.0020.0006.327A][.30AF.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A; QQKN
+1112 ; [.3043.0020.0002.1112] # HANGUL CHOSEONG HIEUH
+314E ; [.3043.0020.0004.314E] # HANGUL LETTER HIEUH; QQK
+320D ; [*030E.0020.0004.320D][.3043.0020.0004.320D][*030F.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH; QQKN
+326D ; [.3043.0020.0006.326D] # CIRCLED HANGUL HIEUH; QQK
+FFBE ; [.3043.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH; QQK
+321B ; [*030E.0020.0004.321B][.3043.0020.0004.321B][.30AF.0020.001F.321B][*030F.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A; QQKN
+327B ; [.3043.0020.0006.327B][.30AF.0020.0006.327B] # CIRCLED HANGUL HIEUH A; QQKN
+1113 ; [.3044.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
+1114 ; [.3045.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
+3165 ; [.3045.0020.0004.3165] # HANGUL LETTER SSANGNIEUN; QQK
+1115 ; [.3046.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
+3166 ; [.3046.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT; QQK
+1116 ; [.3047.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
+1117 ; [.3048.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
+1118 ; [.3049.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
+1119 ; [.304A.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
+111A ; [.304B.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
+3140 ; [.304B.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH; QQK
+FFB0 ; [.304B.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH; QQK
+111B ; [.304C.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
+111C ; [.304D.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
+316E ; [.304D.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP; QQK
+111D ; [.304E.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
+3171 ; [.304E.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM; QQK
+111E ; [.304F.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
+3172 ; [.304F.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK; QQK
+111F ; [.3050.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
+1120 ; [.3051.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
+3173 ; [.3051.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT; QQK
+1121 ; [.3052.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
+3144 ; [.3052.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS; QQK
+FFB4 ; [.3052.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS; QQK
+1122 ; [.3053.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+3174 ; [.3053.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK; QQK
+1123 ; [.3054.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+3175 ; [.3054.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT; QQK
+1124 ; [.3055.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+1125 ; [.3056.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
+1126 ; [.3057.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+1127 ; [.3058.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
+3176 ; [.3058.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC; QQK
+1128 ; [.3059.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
+1129 ; [.305A.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
+3177 ; [.305A.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH; QQK
+112A ; [.305B.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
+112B ; [.305C.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
+3178 ; [.305C.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP; QQK
+112C ; [.305D.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+3179 ; [.305D.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP; QQK
+112D ; [.305E.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
+317A ; [.305E.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK; QQK
+112E ; [.305F.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
+317B ; [.305F.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN; QQK
+112F ; [.3060.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
+317C ; [.3060.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT; QQK
+1130 ; [.3061.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
+1131 ; [.3062.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
+1132 ; [.3063.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
+317D ; [.3063.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP; QQK
+1133 ; [.3064.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+1134 ; [.3065.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
+1135 ; [.3066.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
+1136 ; [.3067.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
+317E ; [.3067.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC; QQK
+1137 ; [.3068.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
+1138 ; [.3069.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
+1139 ; [.306A.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
+113A ; [.306B.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
+113B ; [.306C.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
+113C ; [.306D.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
+113D ; [.306E.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
+113E ; [.306F.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
+113F ; [.3070.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+1140 ; [.3071.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
+317F ; [.3071.0020.0004.317F] # HANGUL LETTER PANSIOS; QQK
+1141 ; [.3072.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
+1142 ; [.3073.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
+1143 ; [.3074.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
+1144 ; [.3075.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
+1145 ; [.3076.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
+1146 ; [.3077.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
+1147 ; [.3078.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
+3180 ; [.3078.0020.0004.3180] # HANGUL LETTER SSANGIEUNG; QQK
+1148 ; [.3079.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
+1149 ; [.307A.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
+114A ; [.307B.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
+114B ; [.307C.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
+114C ; [.307D.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
+3181 ; [.307D.0020.0004.3181] # HANGUL LETTER YESIEUNG; QQK
+114D ; [.307E.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
+114E ; [.307F.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
+114F ; [.3080.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+1150 ; [.3081.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151 ; [.3082.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+1152 ; [.3083.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
+1153 ; [.3084.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
+1154 ; [.3085.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155 ; [.3086.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156 ; [.3087.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
+1157 ; [.3088.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
+3184 ; [.3088.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH; QQK
+1158 ; [.3089.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
+3185 ; [.3089.0020.0004.3185] # HANGUL LETTER SSANGHIEUH; QQK
+1159 ; [.308A.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
+3186 ; [.308A.0020.0004.3186] # HANGUL LETTER YEORINHIEUH; QQK
+115A ; [.308B.0020.0002.115A] # HANGUL CHOSEONG KIYEOK-TIKEUT
+115B ; [.308C.0020.0002.115B] # HANGUL CHOSEONG NIEUN-SIOS
+115C ; [.308D.0020.0002.115C] # HANGUL CHOSEONG NIEUN-CIEUC
+115D ; [.308E.0020.0002.115D] # HANGUL CHOSEONG NIEUN-HIEUH
+115E ; [.308F.0020.0002.115E] # HANGUL CHOSEONG TIKEUT-RIEUL
+A960 ; [.3090.0020.0002.A960] # HANGUL CHOSEONG TIKEUT-MIEUM
+A961 ; [.3091.0020.0002.A961] # HANGUL CHOSEONG TIKEUT-PIEUP
+A962 ; [.3092.0020.0002.A962] # HANGUL CHOSEONG TIKEUT-SIOS
+A963 ; [.3093.0020.0002.A963] # HANGUL CHOSEONG TIKEUT-CIEUC
+A964 ; [.3094.0020.0002.A964] # HANGUL CHOSEONG RIEUL-KIYEOK
+A965 ; [.3095.0020.0002.A965] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
+A966 ; [.3096.0020.0002.A966] # HANGUL CHOSEONG RIEUL-TIKEUT
+A967 ; [.3097.0020.0002.A967] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
+A968 ; [.3098.0020.0002.A968] # HANGUL CHOSEONG RIEUL-MIEUM
+A969 ; [.3099.0020.0002.A969] # HANGUL CHOSEONG RIEUL-PIEUP
+A96A ; [.309A.0020.0002.A96A] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
+A96B ; [.309B.0020.0002.A96B] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
+A96C ; [.309C.0020.0002.A96C] # HANGUL CHOSEONG RIEUL-SIOS
+A96D ; [.309D.0020.0002.A96D] # HANGUL CHOSEONG RIEUL-CIEUC
+A96E ; [.309E.0020.0002.A96E] # HANGUL CHOSEONG RIEUL-KHIEUKH
+A96F ; [.309F.0020.0002.A96F] # HANGUL CHOSEONG MIEUM-KIYEOK
+A970 ; [.30A0.0020.0002.A970] # HANGUL CHOSEONG MIEUM-TIKEUT
+A971 ; [.30A1.0020.0002.A971] # HANGUL CHOSEONG MIEUM-SIOS
+A972 ; [.30A2.0020.0002.A972] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
+A973 ; [.30A3.0020.0002.A973] # HANGUL CHOSEONG PIEUP-KHIEUKH
+A974 ; [.30A4.0020.0002.A974] # HANGUL CHOSEONG PIEUP-HIEUH
+A975 ; [.30A5.0020.0002.A975] # HANGUL CHOSEONG SSANGSIOS-PIEUP
+A976 ; [.30A6.0020.0002.A976] # HANGUL CHOSEONG IEUNG-RIEUL
+A977 ; [.30A7.0020.0002.A977] # HANGUL CHOSEONG IEUNG-HIEUH
+A978 ; [.30A8.0020.0002.A978] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
+A979 ; [.30A9.0020.0002.A979] # HANGUL CHOSEONG SSANGTHIEUTH
+A97A ; [.30AA.0020.0002.A97A] # HANGUL CHOSEONG PHIEUPH-HIEUH
+A97B ; [.30AB.0020.0002.A97B] # HANGUL CHOSEONG HIEUH-SIOS
+A97C ; [.30AC.0020.0002.A97C] # HANGUL CHOSEONG SSANGYEORINHIEUH
+115F ; [.30AD.0020.0002.115F] # HANGUL CHOSEONG FILLER
+1160 ; [.30AE.0020.0002.1160] # HANGUL JUNGSEONG FILLER
+3164 ; [.30AE.0020.0004.3164] # HANGUL FILLER; QQK
+FFA0 ; [.30AE.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER; QQK
+1161 ; [.30AF.0020.0002.1161] # HANGUL JUNGSEONG A
+314F ; [.30AF.0020.0004.314F] # HANGUL LETTER A; QQK
+FFC2 ; [.30AF.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A; QQK
+1162 ; [.30B0.0020.0002.1162] # HANGUL JUNGSEONG AE
+3150 ; [.30B0.0020.0004.3150] # HANGUL LETTER AE; QQK
+FFC3 ; [.30B0.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE; QQK
+1163 ; [.30B1.0020.0002.1163] # HANGUL JUNGSEONG YA
+3151 ; [.30B1.0020.0004.3151] # HANGUL LETTER YA; QQK
+FFC4 ; [.30B1.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA; QQK
+1164 ; [.30B2.0020.0002.1164] # HANGUL JUNGSEONG YAE
+3152 ; [.30B2.0020.0004.3152] # HANGUL LETTER YAE; QQK
+FFC5 ; [.30B2.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE; QQK
+1165 ; [.30B3.0020.0002.1165] # HANGUL JUNGSEONG EO
+3153 ; [.30B3.0020.0004.3153] # HANGUL LETTER EO; QQK
+FFC6 ; [.30B3.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO; QQK
+1166 ; [.30B4.0020.0002.1166] # HANGUL JUNGSEONG E
+3154 ; [.30B4.0020.0004.3154] # HANGUL LETTER E; QQK
+FFC7 ; [.30B4.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E; QQK
+1167 ; [.30B5.0020.0002.1167] # HANGUL JUNGSEONG YEO
+3155 ; [.30B5.0020.0004.3155] # HANGUL LETTER YEO; QQK
+FFCA ; [.30B5.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO; QQK
+1168 ; [.30B6.0020.0002.1168] # HANGUL JUNGSEONG YE
+3156 ; [.30B6.0020.0004.3156] # HANGUL LETTER YE; QQK
+FFCB ; [.30B6.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE; QQK
+1169 ; [.30B7.0020.0002.1169] # HANGUL JUNGSEONG O
+3157 ; [.30B7.0020.0004.3157] # HANGUL LETTER O; QQK
+FFCC ; [.30B7.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O; QQK
+116A ; [.30B8.0020.0002.116A] # HANGUL JUNGSEONG WA
+3158 ; [.30B8.0020.0004.3158] # HANGUL LETTER WA; QQK
+FFCD ; [.30B8.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA; QQK
+116B ; [.30B9.0020.0002.116B] # HANGUL JUNGSEONG WAE
+3159 ; [.30B9.0020.0004.3159] # HANGUL LETTER WAE; QQK
+FFCE ; [.30B9.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE; QQK
+116C ; [.30BA.0020.0002.116C] # HANGUL JUNGSEONG OE
+315A ; [.30BA.0020.0004.315A] # HANGUL LETTER OE; QQK
+FFCF ; [.30BA.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE; QQK
+116D ; [.30BB.0020.0002.116D] # HANGUL JUNGSEONG YO
+315B ; [.30BB.0020.0004.315B] # HANGUL LETTER YO; QQK
+FFD2 ; [.30BB.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO; QQK
+116E ; [.30BC.0020.0002.116E] # HANGUL JUNGSEONG U
+315C ; [.30BC.0020.0004.315C] # HANGUL LETTER U; QQK
+FFD3 ; [.30BC.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U; QQK
+116F ; [.30BD.0020.0002.116F] # HANGUL JUNGSEONG WEO
+315D ; [.30BD.0020.0004.315D] # HANGUL LETTER WEO; QQK
+FFD4 ; [.30BD.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO; QQK
+1170 ; [.30BE.0020.0002.1170] # HANGUL JUNGSEONG WE
+315E ; [.30BE.0020.0004.315E] # HANGUL LETTER WE; QQK
+FFD5 ; [.30BE.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE; QQK
+1171 ; [.30BF.0020.0002.1171] # HANGUL JUNGSEONG WI
+315F ; [.30BF.0020.0004.315F] # HANGUL LETTER WI; QQK
+FFD6 ; [.30BF.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI; QQK
+1172 ; [.30C0.0020.0002.1172] # HANGUL JUNGSEONG YU
+3160 ; [.30C0.0020.0004.3160] # HANGUL LETTER YU; QQK
+FFD7 ; [.30C0.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU; QQK
+1173 ; [.30C1.0020.0002.1173] # HANGUL JUNGSEONG EU
+3161 ; [.30C1.0020.0004.3161] # HANGUL LETTER EU; QQK
+FFDA ; [.30C1.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU; QQK
+1174 ; [.30C2.0020.0002.1174] # HANGUL JUNGSEONG YI
+3162 ; [.30C2.0020.0004.3162] # HANGUL LETTER YI; QQK
+FFDB ; [.30C2.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI; QQK
+1175 ; [.30C3.0020.0002.1175] # HANGUL JUNGSEONG I
+3163 ; [.30C3.0020.0004.3163] # HANGUL LETTER I; QQK
+FFDC ; [.30C3.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I; QQK
+1176 ; [.30C4.0020.0002.1176] # HANGUL JUNGSEONG A-O
+1177 ; [.30C5.0020.0002.1177] # HANGUL JUNGSEONG A-U
+1178 ; [.30C6.0020.0002.1178] # HANGUL JUNGSEONG YA-O
+1179 ; [.30C7.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
+117A ; [.30C8.0020.0002.117A] # HANGUL JUNGSEONG EO-O
+117B ; [.30C9.0020.0002.117B] # HANGUL JUNGSEONG EO-U
+117C ; [.30CA.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
+117D ; [.30CB.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
+117E ; [.30CC.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
+117F ; [.30CD.0020.0002.117F] # HANGUL JUNGSEONG O-EO
+1180 ; [.30CE.0020.0002.1180] # HANGUL JUNGSEONG O-E
+1181 ; [.30CF.0020.0002.1181] # HANGUL JUNGSEONG O-YE
+1182 ; [.30D0.0020.0002.1182] # HANGUL JUNGSEONG O-O
+1183 ; [.30D1.0020.0002.1183] # HANGUL JUNGSEONG O-U
+1184 ; [.30D2.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
+3187 ; [.30D2.0020.0004.3187] # HANGUL LETTER YO-YA; QQK
+1185 ; [.30D3.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
+3188 ; [.30D3.0020.0004.3188] # HANGUL LETTER YO-YAE; QQK
+1186 ; [.30D4.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
+1187 ; [.30D5.0020.0002.1187] # HANGUL JUNGSEONG YO-O
+1188 ; [.30D6.0020.0002.1188] # HANGUL JUNGSEONG YO-I
+3189 ; [.30D6.0020.0004.3189] # HANGUL LETTER YO-I; QQK
+1189 ; [.30D7.0020.0002.1189] # HANGUL JUNGSEONG U-A
+118A ; [.30D8.0020.0002.118A] # HANGUL JUNGSEONG U-AE
+118B ; [.30D9.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
+118C ; [.30DA.0020.0002.118C] # HANGUL JUNGSEONG U-YE
+118D ; [.30DB.0020.0002.118D] # HANGUL JUNGSEONG U-U
+118E ; [.30DC.0020.0002.118E] # HANGUL JUNGSEONG YU-A
+118F ; [.30DD.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
+1190 ; [.30DE.0020.0002.1190] # HANGUL JUNGSEONG YU-E
+1191 ; [.30DF.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
+318A ; [.30DF.0020.0004.318A] # HANGUL LETTER YU-YEO; QQK
+1192 ; [.30E0.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
+318B ; [.30E0.0020.0004.318B] # HANGUL LETTER YU-YE; QQK
+1193 ; [.30E1.0020.0002.1193] # HANGUL JUNGSEONG YU-U
+1194 ; [.30E2.0020.0002.1194] # HANGUL JUNGSEONG YU-I
+318C ; [.30E2.0020.0004.318C] # HANGUL LETTER YU-I; QQK
+1195 ; [.30E3.0020.0002.1195] # HANGUL JUNGSEONG EU-U
+1196 ; [.30E4.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
+1197 ; [.30E5.0020.0002.1197] # HANGUL JUNGSEONG YI-U
+1198 ; [.30E6.0020.0002.1198] # HANGUL JUNGSEONG I-A
+1199 ; [.30E7.0020.0002.1199] # HANGUL JUNGSEONG I-YA
+119A ; [.30E8.0020.0002.119A] # HANGUL JUNGSEONG I-O
+119B ; [.30E9.0020.0002.119B] # HANGUL JUNGSEONG I-U
+119C ; [.30EA.0020.0002.119C] # HANGUL JUNGSEONG I-EU
+119D ; [.30EB.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
+119E ; [.30EC.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
+318D ; [.30EC.0020.0004.318D] # HANGUL LETTER ARAEA; QQK
+119F ; [.30ED.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
+11A0 ; [.30EE.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
+11A1 ; [.30EF.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
+318E ; [.30EF.0020.0004.318E] # HANGUL LETTER ARAEAE; QQK
+11A2 ; [.30F0.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
+11A3 ; [.30F1.0020.0002.11A3] # HANGUL JUNGSEONG A-EU
+11A4 ; [.30F2.0020.0002.11A4] # HANGUL JUNGSEONG YA-U
+11A5 ; [.30F3.0020.0002.11A5] # HANGUL JUNGSEONG YEO-YA
+11A6 ; [.30F4.0020.0002.11A6] # HANGUL JUNGSEONG O-YA
+11A7 ; [.30F5.0020.0002.11A7] # HANGUL JUNGSEONG O-YAE
+D7B0 ; [.30F6.0020.0002.D7B0] # HANGUL JUNGSEONG O-YEO
+D7B1 ; [.30F7.0020.0002.D7B1] # HANGUL JUNGSEONG O-O-I
+D7B2 ; [.30F8.0020.0002.D7B2] # HANGUL JUNGSEONG YO-A
+D7B3 ; [.30F9.0020.0002.D7B3] # HANGUL JUNGSEONG YO-AE
+D7B4 ; [.30FA.0020.0002.D7B4] # HANGUL JUNGSEONG YO-EO
+D7B5 ; [.30FB.0020.0002.D7B5] # HANGUL JUNGSEONG U-YEO
+D7B6 ; [.30FC.0020.0002.D7B6] # HANGUL JUNGSEONG U-I-I
+D7B7 ; [.30FD.0020.0002.D7B7] # HANGUL JUNGSEONG YU-AE
+D7B8 ; [.30FE.0020.0002.D7B8] # HANGUL JUNGSEONG YU-O
+D7B9 ; [.30FF.0020.0002.D7B9] # HANGUL JUNGSEONG EU-A
+D7BA ; [.3100.0020.0002.D7BA] # HANGUL JUNGSEONG EU-EO
+D7BB ; [.3101.0020.0002.D7BB] # HANGUL JUNGSEONG EU-E
+D7BC ; [.3102.0020.0002.D7BC] # HANGUL JUNGSEONG EU-O
+D7BD ; [.3103.0020.0002.D7BD] # HANGUL JUNGSEONG I-YA-O
+D7BE ; [.3104.0020.0002.D7BE] # HANGUL JUNGSEONG I-YAE
+D7BF ; [.3105.0020.0002.D7BF] # HANGUL JUNGSEONG I-YEO
+D7C0 ; [.3106.0020.0002.D7C0] # HANGUL JUNGSEONG I-YE
+D7C1 ; [.3107.0020.0002.D7C1] # HANGUL JUNGSEONG I-O-I
+D7C2 ; [.3108.0020.0002.D7C2] # HANGUL JUNGSEONG I-YO
+D7C3 ; [.3109.0020.0002.D7C3] # HANGUL JUNGSEONG I-YU
+D7C4 ; [.310A.0020.0002.D7C4] # HANGUL JUNGSEONG I-I
+D7C5 ; [.310B.0020.0002.D7C5] # HANGUL JUNGSEONG ARAEA-A
+D7C6 ; [.310C.0020.0002.D7C6] # HANGUL JUNGSEONG ARAEA-E
+11A8 ; [.310D.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
+11A9 ; [.310E.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
+11AA ; [.310F.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
+3133 ; [.310F.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS; QQK
+FFA3 ; [.310F.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS; QQK
+11AB ; [.3110.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
+11AC ; [.3111.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
+3135 ; [.3111.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC; QQK
+FFA5 ; [.3111.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC; QQK
+11AD ; [.3112.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
+3136 ; [.3112.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH; QQK
+FFA6 ; [.3112.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH; QQK
+11AE ; [.3113.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
+11AF ; [.3114.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
+11B0 ; [.3115.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
+313A ; [.3115.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK; QQK
+FFAA ; [.3115.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK; QQK
+11B1 ; [.3116.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
+313B ; [.3116.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM; QQK
+FFAB ; [.3116.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM; QQK
+11B2 ; [.3117.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
+313C ; [.3117.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP; QQK
+FFAC ; [.3117.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP; QQK
+11B3 ; [.3118.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
+313D ; [.3118.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS; QQK
+FFAD ; [.3118.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS; QQK
+11B4 ; [.3119.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
+313E ; [.3119.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH; QQK
+FFAE ; [.3119.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH; QQK
+11B5 ; [.311A.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
+313F ; [.311A.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH; QQK
+FFAF ; [.311A.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH; QQK
+11B6 ; [.311B.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
+11B7 ; [.311C.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
+11B8 ; [.311D.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
+11B9 ; [.311E.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
+11BA ; [.311F.0020.0002.11BA] # HANGUL JONGSEONG SIOS
+11BB ; [.3120.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
+11BC ; [.3121.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
+11BD ; [.3122.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
+11BE ; [.3123.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
+11BF ; [.3124.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
+11C0 ; [.3125.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
+11C1 ; [.3126.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
+11C2 ; [.3127.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
+11C3 ; [.3128.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
+11C4 ; [.3129.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+11C5 ; [.312A.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
+11C6 ; [.312B.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
+11C7 ; [.312C.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
+3167 ; [.312C.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS; QQK
+11C8 ; [.312D.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
+3168 ; [.312D.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS; QQK
+11C9 ; [.312E.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
+11CA ; [.312F.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
+11CB ; [.3130.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
+11CC ; [.3131.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+3169 ; [.3131.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS; QQK
+11CD ; [.3132.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
+11CE ; [.3133.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
+316A ; [.3133.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT; QQK
+11CF ; [.3134.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+11D0 ; [.3135.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
+11D1 ; [.3136.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+11D2 ; [.3137.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+11D3 ; [.3138.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+316B ; [.3138.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS; QQK
+11D4 ; [.3139.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+11D5 ; [.313A.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+11D6 ; [.313B.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
+11D7 ; [.313C.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
+316C ; [.313C.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS; QQK
+11D8 ; [.313D.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
+11D9 ; [.313E.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
+316D ; [.313E.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH; QQK
+11DA ; [.313F.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
+11DB ; [.3140.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
+11DC ; [.3141.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
+11DD ; [.3142.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
+316F ; [.3142.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS; QQK
+11DE ; [.3143.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
+11DF ; [.3144.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
+3170 ; [.3144.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS; QQK
+11E0 ; [.3145.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
+11E1 ; [.3146.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
+11E2 ; [.3147.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
+11E3 ; [.3148.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
+11E4 ; [.3149.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
+11E5 ; [.314A.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
+11E6 ; [.314B.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
+11E7 ; [.314C.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
+11E8 ; [.314D.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
+11E9 ; [.314E.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
+11EA ; [.314F.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
+11EB ; [.3150.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
+11EC ; [.3151.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
+11ED ; [.3152.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+11EE ; [.3153.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
+11EF ; [.3154.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
+11F0 ; [.3155.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
+11F1 ; [.3156.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
+3182 ; [.3156.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS; QQK
+11F2 ; [.3157.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
+3183 ; [.3157.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS; QQK
+11F3 ; [.3158.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
+11F4 ; [.3159.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
+11F5 ; [.315A.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
+11F6 ; [.315B.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
+11F7 ; [.315C.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
+11F8 ; [.315D.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
+11F9 ; [.315E.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
+11FA ; [.315F.0020.0002.11FA] # HANGUL JONGSEONG KIYEOK-NIEUN
+11FB ; [.3160.0020.0002.11FB] # HANGUL JONGSEONG KIYEOK-PIEUP
+11FC ; [.3161.0020.0002.11FC] # HANGUL JONGSEONG KIYEOK-CHIEUCH
+11FD ; [.3162.0020.0002.11FD] # HANGUL JONGSEONG KIYEOK-KHIEUKH
+11FE ; [.3163.0020.0002.11FE] # HANGUL JONGSEONG KIYEOK-HIEUH
+11FF ; [.3164.0020.0002.11FF] # HANGUL JONGSEONG SSANGNIEUN
+D7CB ; [.3165.0020.0002.D7CB] # HANGUL JONGSEONG NIEUN-RIEUL
+D7CC ; [.3166.0020.0002.D7CC] # HANGUL JONGSEONG NIEUN-CHIEUCH
+D7CD ; [.3167.0020.0002.D7CD] # HANGUL JONGSEONG SSANGTIKEUT
+D7CE ; [.3168.0020.0002.D7CE] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+D7CF ; [.3169.0020.0002.D7CF] # HANGUL JONGSEONG TIKEUT-PIEUP
+D7D0 ; [.316A.0020.0002.D7D0] # HANGUL JONGSEONG TIKEUT-SIOS
+D7D1 ; [.316B.0020.0002.D7D1] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+D7D2 ; [.316C.0020.0002.D7D2] # HANGUL JONGSEONG TIKEUT-CIEUC
+D7D3 ; [.316D.0020.0002.D7D3] # HANGUL JONGSEONG TIKEUT-CHIEUCH
+D7D4 ; [.316E.0020.0002.D7D4] # HANGUL JONGSEONG TIKEUT-THIEUTH
+D7D5 ; [.316F.0020.0002.D7D5] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+D7D6 ; [.3170.0020.0002.D7D6] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+D7D7 ; [.3171.0020.0002.D7D7] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+D7D8 ; [.3172.0020.0002.D7D8] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+D7D9 ; [.3173.0020.0002.D7D9] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+D7DA ; [.3174.0020.0002.D7DA] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+D7DB ; [.3175.0020.0002.D7DB] # HANGUL JONGSEONG RIEUL-YESIEUNG
+D7DC ; [.3176.0020.0002.D7DC] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+D7DD ; [.3177.0020.0002.D7DD] # HANGUL JONGSEONG KAPYEOUNRIEUL
+D7DE ; [.3178.0020.0002.D7DE] # HANGUL JONGSEONG MIEUM-NIEUN
+D7DF ; [.3179.0020.0002.D7DF] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
+D7E0 ; [.317A.0020.0002.D7E0] # HANGUL JONGSEONG SSANGMIEUM
+D7E1 ; [.317B.0020.0002.D7E1] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+D7E2 ; [.317C.0020.0002.D7E2] # HANGUL JONGSEONG MIEUM-CIEUC
+D7E3 ; [.317D.0020.0002.D7E3] # HANGUL JONGSEONG PIEUP-TIKEUT
+D7E4 ; [.317E.0020.0002.D7E4] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+D7E5 ; [.317F.0020.0002.D7E5] # HANGUL JONGSEONG PIEUP-MIEUM
+D7E6 ; [.3180.0020.0002.D7E6] # HANGUL JONGSEONG SSANGPIEUP
+D7E7 ; [.3181.0020.0002.D7E7] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+D7E8 ; [.3182.0020.0002.D7E8] # HANGUL JONGSEONG PIEUP-CIEUC
+D7E9 ; [.3183.0020.0002.D7E9] # HANGUL JONGSEONG PIEUP-CHIEUCH
+D7EA ; [.3184.0020.0002.D7EA] # HANGUL JONGSEONG SIOS-MIEUM
+D7EB ; [.3185.0020.0002.D7EB] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+D7EC ; [.3186.0020.0002.D7EC] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
+D7ED ; [.3187.0020.0002.D7ED] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
+D7EE ; [.3188.0020.0002.D7EE] # HANGUL JONGSEONG SIOS-PANSIOS
+D7EF ; [.3189.0020.0002.D7EF] # HANGUL JONGSEONG SIOS-CIEUC
+D7F0 ; [.318A.0020.0002.D7F0] # HANGUL JONGSEONG SIOS-CHIEUCH
+D7F1 ; [.318B.0020.0002.D7F1] # HANGUL JONGSEONG SIOS-THIEUTH
+D7F2 ; [.318C.0020.0002.D7F2] # HANGUL JONGSEONG SIOS-HIEUH
+D7F3 ; [.318D.0020.0002.D7F3] # HANGUL JONGSEONG PANSIOS-PIEUP
+D7F4 ; [.318E.0020.0002.D7F4] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+D7F5 ; [.318F.0020.0002.D7F5] # HANGUL JONGSEONG YESIEUNG-MIEUM
+D7F6 ; [.3190.0020.0002.D7F6] # HANGUL JONGSEONG YESIEUNG-HIEUH
+D7F7 ; [.3191.0020.0002.D7F7] # HANGUL JONGSEONG CIEUC-PIEUP
+D7F8 ; [.3192.0020.0002.D7F8] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
+D7F9 ; [.3193.0020.0002.D7F9] # HANGUL JONGSEONG SSANGCIEUC
+D7FA ; [.3194.0020.0002.D7FA] # HANGUL JONGSEONG PHIEUPH-SIOS
+D7FB ; [.3195.0020.0002.D7FB] # HANGUL JONGSEONG PHIEUPH-THIEUTH
+3041 ; [.3196.0020.000D.3041] # HIRAGANA LETTER SMALL A
+3042 ; [.3196.0020.000E.3042] # HIRAGANA LETTER A
+30A1 ; [.3196.0020.000F.30A1] # KATAKANA LETTER SMALL A
+FF67 ; [.3196.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A; QQK
+30A2 ; [.3196.0020.0011.30A2] # KATAKANA LETTER A
+FF71 ; [.3196.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A; QQK
+32D0 ; [.3196.0020.0013.32D0] # CIRCLED KATAKANA A; QQK
+3303 ; [.3196.0020.001C.3303][.1570.0020.001C.3303][.31C0.0020.001F.3303] # SQUARE AARU; QQKN
+3300 ; [.3196.0020.001C.3300][.31B0.0020.001C.3300][.0000.014F.001F.3300][.1570.0020.001F.3300][.31AA.0020.001F.3300] # SQUARE APAATO; QQKN
+3301 ; [.3196.0020.001C.3301][.31C0.0020.001C.3301][.31B2.0020.001F.3301][.3196.0020.001F.3301] # SQUARE ARUHUA; QQKN
+3302 ; [.3196.0020.001C.3302][.31C7.0020.001C.3302][.31B3.0020.001F.3302][.0000.014F.001F.3302][.3196.0020.001F.3302] # SQUARE ANPEA; QQKN
+3043 ; [.3197.0020.000D.3043] # HIRAGANA LETTER SMALL I
+3044 ; [.3197.0020.000E.3044] # HIRAGANA LETTER I
+30A3 ; [.3197.0020.000F.30A3] # KATAKANA LETTER SMALL I
+FF68 ; [.3197.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I; QQK
+30A4 ; [.3197.0020.0011.30A4] # KATAKANA LETTER I
+FF72 ; [.3197.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I; QQK
+32D1 ; [.3197.0020.0013.32D1] # CIRCLED KATAKANA I; QQK
+3304 ; [.3197.0020.001C.3304][.31AC.0020.001C.3304][.31C7.0020.001F.3304][.319E.0020.001F.3304][.0000.014E.001F.3304] # SQUARE ININGU; QQKN
+3305 ; [.3197.0020.001C.3305][.31C7.0020.001C.3305][.31A7.0020.001F.3305] # SQUARE INTI; QQKN
+3045 ; [.3198.0020.000D.3045] # HIRAGANA LETTER SMALL U
+3046 ; [.3198.0020.000E.3046] # HIRAGANA LETTER U
+30A5 ; [.3198.0020.000F.30A5] # KATAKANA LETTER SMALL U
+FF69 ; [.3198.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U; QQK
+30A6 ; [.3198.0020.0011.30A6] # KATAKANA LETTER U
+FF73 ; [.3198.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U; QQK
+32D2 ; [.3198.0020.0013.32D2] # CIRCLED KATAKANA U; QQK
+3094 ; [.3198.0020.000E.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU; QQCM
+30F4 ; [.3198.0020.0011.30A6][.0000.014E.0002.3099] # KATAKANA LETTER VU; QQCM
+3306 ; [.3198.0020.001C.3306][.319B.0020.001C.3306][.31C7.0020.001F.3306] # SQUARE UON; QQKN
+1B000 ; [.3199.0020.0002.1B000] # KATAKANA LETTER ARCHAIC E
+3047 ; [.319A.0020.000D.3047] # HIRAGANA LETTER SMALL E
+3048 ; [.319A.0020.000E.3048] # HIRAGANA LETTER E
+30A7 ; [.319A.0020.000F.30A7] # KATAKANA LETTER SMALL E
+FF6A ; [.319A.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E; QQK
+30A8 ; [.319A.0020.0011.30A8] # KATAKANA LETTER E
+FF74 ; [.319A.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E; QQK
+32D3 ; [.319A.0020.0013.32D3] # CIRCLED KATAKANA E; QQK
+3308 ; [.319A.0020.001C.3308][.1570.0020.001C.3308][.319C.0020.001F.3308][.1570.0020.001F.3308] # SQUARE EEKAA; QQKN
+3307 ; [.319A.0020.001C.3307][.31A3.0020.001C.3307][.319E.0020.001F.3307][.1570.0020.001F.3307][.31AA.0020.001F.3307][.0000.014E.001F.3307] # SQUARE ESUKUUDO; QQKN
+3049 ; [.319B.0020.000D.3049] # HIRAGANA LETTER SMALL O
+304A ; [.319B.0020.000E.304A] # HIRAGANA LETTER O
+30A9 ; [.319B.0020.000F.30A9] # KATAKANA LETTER SMALL O
+FF6B ; [.319B.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O; QQK
+30AA ; [.319B.0020.0011.30AA] # KATAKANA LETTER O
+FF75 ; [.319B.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O; QQK
+32D4 ; [.319B.0020.0013.32D4] # CIRCLED KATAKANA O; QQK
+330A ; [.319B.0020.001C.330A][.1570.0020.001C.330A][.31B7.0020.001F.330A] # SQUARE OOMU; QQKN
+3309 ; [.319B.0020.001C.3309][.31C7.0020.001C.3309][.31A3.0020.001F.3309] # SQUARE ONSU; QQKN
+3095 ; [.319C.0020.000D.3095] # HIRAGANA LETTER SMALL KA
+304B ; [.319C.0020.000E.304B] # HIRAGANA LETTER KA
+30F5 ; [.319C.0020.000F.30F5] # KATAKANA LETTER SMALL KA
+30AB ; [.319C.0020.0011.30AB] # KATAKANA LETTER KA
+FF76 ; [.319C.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA; QQK
+32D5 ; [.319C.0020.0013.32D5] # CIRCLED KATAKANA KA; QQK
+304C ; [.319C.0020.000E.304B][.0000.014E.0002.3099] # HIRAGANA LETTER GA; QQCM
+30AC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099] # KATAKANA LETTER GA; QQCM
+330B ; [.319C.0020.001C.330B][.3197.0020.001C.330B][.31BF.0020.001F.330B] # SQUARE KAIRI; QQKN
+330C ; [.319C.0020.001C.330C][.31BE.0020.001C.330C][.31A8.0020.001F.330C][.31AA.0020.001F.330C] # SQUARE KARATTO; QQKN
+330D ; [.319C.0020.001C.330D][.31C2.0020.001C.330D][.31BF.0020.001F.330D][.1570.0020.001F.330D] # SQUARE KARORII; QQKN
+330E ; [.319C.0020.001C.330E][.0000.014E.001C.330E][.31C2.0020.001F.330E][.31C7.0020.001F.330E] # SQUARE GARON; QQKN
+330F ; [.319C.0020.001C.330F][.0000.014E.001C.330F][.31C7.0020.001F.330F][.31B5.0020.001F.330F] # SQUARE GANMA; QQKN
+304D ; [.319D.0020.000E.304D] # HIRAGANA LETTER KI
+30AD ; [.319D.0020.0011.30AD] # KATAKANA LETTER KI
+FF77 ; [.319D.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI; QQK
+32D6 ; [.319D.0020.0013.32D6] # CIRCLED KATAKANA KI; QQK
+304E ; [.319D.0020.000E.304D][.0000.014E.0002.3099] # HIRAGANA LETTER GI; QQCM
+30AE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099] # KATAKANA LETTER GI; QQCM
+3310 ; [.319D.0020.001C.3310][.0000.014E.001C.3310][.319C.0020.001F.3310][.0000.014E.001F.3310] # SQUARE GIGA; QQKN
+3311 ; [.319D.0020.001C.3311][.0000.014E.001C.3311][.31AC.0020.001F.3311][.1570.0020.001F.3311] # SQUARE GINII; QQKN
+3312 ; [.319D.0020.001C.3312][.31BB.0020.001C.3312][.31BF.0020.001F.3312][.1570.0020.001F.3312] # SQUARE KYURII; QQKN
+3313 ; [.319D.0020.001C.3313][.0000.014E.001C.3313][.31C0.0020.001F.3313][.31A6.0020.001F.3313][.0000.014E.001F.3313][.1570.0020.001F.3313] # SQUARE GIRUDAA; QQKN
+3314 ; [.319D.0020.001C.3314][.31C2.0020.001C.3314] # SQUARE KIRO; QQKN
+3315 ; [.319D.0020.001C.3315][.31C2.0020.001C.3315][.319E.0020.001F.3315][.0000.014E.001F.3315][.31BE.0020.001F.3315][.31B7.0020.001F.3315] # SQUARE KIROGURAMU; QQKN
+3316 ; [.319D.0020.001C.3316][.31C2.0020.001C.3316][.31B8.0020.001F.3316][.1570.0020.001F.3316][.31AA.0020.001F.3316][.31C0.0020.001F.3316] # SQUARE KIROMEETORU; QQKN
+3317 ; [.319D.0020.001C.3317][.31C2.0020.001C.3317][.31C3.0020.001F.3317][.31A8.0020.001F.3317][.31AA.0020.001F.3317] # SQUARE KIROWATTO; QQKN
+304F ; [.319E.0020.000E.304F] # HIRAGANA LETTER KU
+31F0 ; [.319E.0020.000F.31F0] # KATAKANA LETTER SMALL KU
+30AF ; [.319E.0020.0011.30AF] # KATAKANA LETTER KU
+FF78 ; [.319E.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU; QQK
+32D7 ; [.319E.0020.0013.32D7] # CIRCLED KATAKANA KU; QQK
+3050 ; [.319E.0020.000E.304F][.0000.014E.0002.3099] # HIRAGANA LETTER GU; QQCM
+30B0 ; [.319E.0020.0011.30AF][.0000.014E.0002.3099] # KATAKANA LETTER GU; QQCM
+3318 ; [.319E.0020.001C.3318][.0000.014E.001C.3318][.31BE.0020.001F.3318][.31B7.0020.001F.3318] # SQUARE GURAMU; QQKN
+3319 ; [.319E.0020.001C.3319][.0000.014E.001C.3319][.31BE.0020.001F.3319][.31B7.0020.001F.3319][.31AA.0020.001F.3319][.31C7.0020.001F.3319] # SQUARE GURAMUTON; QQKN
+331A ; [.319E.0020.001C.331A][.31C0.0020.001C.331A][.31A4.0020.001F.331A][.0000.014E.001F.331A][.3197.0020.001F.331A][.31C2.0020.001F.331A] # SQUARE KURUZEIRO; QQKN
+331B ; [.319E.0020.001C.331B][.31C2.0020.001C.331B][.1570.0020.001F.331B][.31AE.0020.001F.331B] # SQUARE KUROONE; QQKN
+3096 ; [.319F.0020.000D.3096] # HIRAGANA LETTER SMALL KE
+3051 ; [.319F.0020.000E.3051] # HIRAGANA LETTER KE
+30F6 ; [.319F.0020.000F.30F6] # KATAKANA LETTER SMALL KE
+30B1 ; [.319F.0020.0011.30B1] # KATAKANA LETTER KE
+FF79 ; [.319F.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE; QQK
+32D8 ; [.319F.0020.0013.32D8] # CIRCLED KATAKANA KE; QQK
+3052 ; [.319F.0020.000E.3051][.0000.014E.0002.3099] # HIRAGANA LETTER GE; QQCM
+30B2 ; [.319F.0020.0011.30B1][.0000.014E.0002.3099] # KATAKANA LETTER GE; QQCM
+331C ; [.319F.0020.001C.331C][.1570.0020.001C.331C][.31A3.0020.001F.331C] # SQUARE KEESU; QQKN
+3053 ; [.31A0.0020.000E.3053] # HIRAGANA LETTER KO
+30B3 ; [.31A0.0020.0011.30B3] # KATAKANA LETTER KO
+FF7A ; [.31A0.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO; QQK
+32D9 ; [.31A0.0020.0013.32D9] # CIRCLED KATAKANA KO; QQK
+3054 ; [.31A0.0020.000E.3053][.0000.014E.0002.3099] # HIRAGANA LETTER GO; QQCM
+30B4 ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099] # KATAKANA LETTER GO; QQCM
+331E ; [.31A0.0020.001C.331E][.1570.0020.001C.331E][.31B4.0020.001F.331E][.0000.014F.001F.331E] # SQUARE KOOPO; QQKN
+1F201 ; [.31A0.0020.001C.1F201][.31A0.0020.001C.1F201] # SQUARED KATAKANA KOKO; QQKN
+30FF ; [.31A0.0020.0016.30FF][.31AA.0020.0016.30FF] # KATAKANA DIGRAPH KOTO; QQKN
+331D ; [.31A0.0020.001C.331D][.31C0.0020.001C.331D][.31AB.0020.001F.331D] # SQUARE KORUNA; QQKN
+3055 ; [.31A1.0020.000E.3055] # HIRAGANA LETTER SA
+30B5 ; [.31A1.0020.0011.30B5] # KATAKANA LETTER SA
+FF7B ; [.31A1.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA; QQK
+32DA ; [.31A1.0020.0013.32DA] # CIRCLED KATAKANA SA; QQK
+1F202 ; [.31A1.0020.001C.1F202] # SQUARED KATAKANA SA; QQK
+3056 ; [.31A1.0020.000E.3055][.0000.014E.0002.3099] # HIRAGANA LETTER ZA; QQCM
+30B6 ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099] # KATAKANA LETTER ZA; QQCM
+331F ; [.31A1.0020.001C.331F][.3197.0020.001C.331F][.319E.0020.001F.331F][.31C0.0020.001F.331F] # SQUARE SAIKURU; QQKN
+3320 ; [.31A1.0020.001C.3320][.31C7.0020.001C.3320][.31A7.0020.001F.3320][.1570.0020.001F.3320][.31B7.0020.001F.3320] # SQUARE SANTIIMU; QQKN
+3057 ; [.31A2.0020.000E.3057] # HIRAGANA LETTER SI
+31F1 ; [.31A2.0020.000F.31F1] # KATAKANA LETTER SMALL SI
+30B7 ; [.31A2.0020.0011.30B7] # KATAKANA LETTER SI
+FF7C ; [.31A2.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI; QQK
+32DB ; [.31A2.0020.0013.32DB] # CIRCLED KATAKANA SI; QQK
+3058 ; [.31A2.0020.000E.3057][.0000.014E.0002.3099] # HIRAGANA LETTER ZI; QQCM
+30B8 ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099] # KATAKANA LETTER ZI; QQCM
+3006 ; [.31A2.0020.0004.3006][.31B8.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK; QQKN
+3321 ; [.31A2.0020.001C.3321][.31BF.0020.001C.3321][.31C7.0020.001F.3321][.319E.0020.001F.3321][.0000.014E.001F.3321] # SQUARE SIRINGU; QQKN
+3059 ; [.31A3.0020.000E.3059] # HIRAGANA LETTER SU
+31F2 ; [.31A3.0020.000F.31F2] # KATAKANA LETTER SMALL SU
+30B9 ; [.31A3.0020.0011.30B9] # KATAKANA LETTER SU
+FF7D ; [.31A3.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU; QQK
+32DC ; [.31A3.0020.0013.32DC] # CIRCLED KATAKANA SU; QQK
+305A ; [.31A3.0020.000E.3059][.0000.014E.0002.3099] # HIRAGANA LETTER ZU; QQCM
+30BA ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099] # KATAKANA LETTER ZU; QQCM
+305B ; [.31A4.0020.000E.305B] # HIRAGANA LETTER SE
+30BB ; [.31A4.0020.0011.30BB] # KATAKANA LETTER SE
+FF7E ; [.31A4.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE; QQK
+32DD ; [.31A4.0020.0013.32DD] # CIRCLED KATAKANA SE; QQK
+305C ; [.31A4.0020.000E.305B][.0000.014E.0002.3099] # HIRAGANA LETTER ZE; QQCM
+30BC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099] # KATAKANA LETTER ZE; QQCM
+3322 ; [.31A4.0020.001C.3322][.31C7.0020.001C.3322][.31A7.0020.001F.3322] # SQUARE SENTI; QQKN
+3323 ; [.31A4.0020.001C.3323][.31C7.0020.001C.3323][.31AA.0020.001F.3323] # SQUARE SENTO; QQKN
+305D ; [.31A5.0020.000E.305D] # HIRAGANA LETTER SO
+30BD ; [.31A5.0020.0011.30BD] # KATAKANA LETTER SO
+FF7F ; [.31A5.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO; QQK
+32DE ; [.31A5.0020.0013.32DE] # CIRCLED KATAKANA SO; QQK
+305E ; [.31A5.0020.000E.305D][.0000.014E.0002.3099] # HIRAGANA LETTER ZO; QQCM
+30BE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099] # KATAKANA LETTER ZO; QQCM
+305F ; [.31A6.0020.000E.305F] # HIRAGANA LETTER TA
+30BF ; [.31A6.0020.0011.30BF] # KATAKANA LETTER TA
+FF80 ; [.31A6.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA; QQK
+32DF ; [.31A6.0020.0013.32DF] # CIRCLED KATAKANA TA; QQK
+3060 ; [.31A6.0020.000E.305F][.0000.014E.0002.3099] # HIRAGANA LETTER DA; QQCM
+30C0 ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099] # KATAKANA LETTER DA; QQCM
+3324 ; [.31A6.0020.001C.3324][.0000.014E.001C.3324][.1570.0020.001F.3324][.31A3.0020.001F.3324] # SQUARE DAASU; QQKN
+3061 ; [.31A7.0020.000E.3061] # HIRAGANA LETTER TI
+30C1 ; [.31A7.0020.0011.30C1] # KATAKANA LETTER TI
+FF81 ; [.31A7.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI; QQK
+32E0 ; [.31A7.0020.0013.32E0] # CIRCLED KATAKANA TI; QQK
+3062 ; [.31A7.0020.000E.3061][.0000.014E.0002.3099] # HIRAGANA LETTER DI; QQCM
+30C2 ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099] # KATAKANA LETTER DI; QQCM
+3063 ; [.31A8.0020.000D.3063] # HIRAGANA LETTER SMALL TU
+3064 ; [.31A8.0020.000E.3064] # HIRAGANA LETTER TU
+30C3 ; [.31A8.0020.000F.30C3] # KATAKANA LETTER SMALL TU
+FF6F ; [.31A8.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU; QQK
+30C4 ; [.31A8.0020.0011.30C4] # KATAKANA LETTER TU
+FF82 ; [.31A8.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU; QQK
+32E1 ; [.31A8.0020.0013.32E1] # CIRCLED KATAKANA TU; QQK
+3065 ; [.31A8.0020.000E.3064][.0000.014E.0002.3099] # HIRAGANA LETTER DU; QQCM
+30C5 ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099] # KATAKANA LETTER DU; QQCM
+3066 ; [.31A9.0020.000E.3066] # HIRAGANA LETTER TE
+30C6 ; [.31A9.0020.0011.30C6] # KATAKANA LETTER TE
+FF83 ; [.31A9.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE; QQK
+32E2 ; [.31A9.0020.0013.32E2] # CIRCLED KATAKANA TE; QQK
+3067 ; [.31A9.0020.000E.3066][.0000.014E.0002.3099] # HIRAGANA LETTER DE; QQCM
+30C7 ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099] # KATAKANA LETTER DE; QQCM
+1F213 ; [.31A9.0020.001C.1F213][.0000.014E.001C.1F213] # SQUARED KATAKANA DE; QQKN
+3325 ; [.31A9.0020.001C.3325][.0000.014E.001C.3325][.31A2.0020.001F.3325] # SQUARE DESI; QQKN
+3068 ; [.31AA.0020.000E.3068] # HIRAGANA LETTER TO
+31F3 ; [.31AA.0020.000F.31F3] # KATAKANA LETTER SMALL TO
+30C8 ; [.31AA.0020.0011.30C8] # KATAKANA LETTER TO
+FF84 ; [.31AA.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO; QQK
+32E3 ; [.31AA.0020.0013.32E3] # CIRCLED KATAKANA TO; QQK
+3069 ; [.31AA.0020.000E.3068][.0000.014E.0002.3099] # HIRAGANA LETTER DO; QQCM
+30C9 ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099] # KATAKANA LETTER DO; QQCM
+3326 ; [.31AA.0020.001C.3326][.0000.014E.001C.3326][.31C0.0020.001F.3326] # SQUARE DORU; QQKN
+3327 ; [.31AA.0020.001C.3327][.31C7.0020.001C.3327] # SQUARE TON; QQKN
+306A ; [.31AB.0020.000E.306A] # HIRAGANA LETTER NA
+30CA ; [.31AB.0020.0011.30CA] # KATAKANA LETTER NA
+FF85 ; [.31AB.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA; QQK
+32E4 ; [.31AB.0020.0013.32E4] # CIRCLED KATAKANA NA; QQK
+3328 ; [.31AB.0020.001C.3328][.31AF.0020.001C.3328] # SQUARE NANO; QQKN
+306B ; [.31AC.0020.000E.306B] # HIRAGANA LETTER NI
+30CB ; [.31AC.0020.0011.30CB] # KATAKANA LETTER NI
+FF86 ; [.31AC.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI; QQK
+32E5 ; [.31AC.0020.0013.32E5] # CIRCLED KATAKANA NI; QQK
+306C ; [.31AD.0020.000E.306C] # HIRAGANA LETTER NU
+31F4 ; [.31AD.0020.000F.31F4] # KATAKANA LETTER SMALL NU
+30CC ; [.31AD.0020.0011.30CC] # KATAKANA LETTER NU
+FF87 ; [.31AD.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU; QQK
+32E6 ; [.31AD.0020.0013.32E6] # CIRCLED KATAKANA NU; QQK
+306D ; [.31AE.0020.000E.306D] # HIRAGANA LETTER NE
+30CD ; [.31AE.0020.0011.30CD] # KATAKANA LETTER NE
+FF88 ; [.31AE.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE; QQK
+32E7 ; [.31AE.0020.0013.32E7] # CIRCLED KATAKANA NE; QQK
+306E ; [.31AF.0020.000E.306E] # HIRAGANA LETTER NO
+30CE ; [.31AF.0020.0011.30CE] # KATAKANA LETTER NO
+FF89 ; [.31AF.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO; QQK
+32E8 ; [.31AF.0020.0013.32E8] # CIRCLED KATAKANA NO; QQK
+3329 ; [.31AF.0020.001C.3329][.31A8.0020.001C.3329][.31AA.0020.001F.3329] # SQUARE NOTTO; QQKN
+306F ; [.31B0.0020.000E.306F] # HIRAGANA LETTER HA
+31F5 ; [.31B0.0020.000F.31F5] # KATAKANA LETTER SMALL HA
+30CF ; [.31B0.0020.0011.30CF] # KATAKANA LETTER HA
+FF8A ; [.31B0.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA; QQK
+32E9 ; [.31B0.0020.0013.32E9] # CIRCLED KATAKANA HA; QQK
+3070 ; [.31B0.0020.000E.306F][.0000.014E.0002.3099] # HIRAGANA LETTER BA; QQCM
+30D0 ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099] # KATAKANA LETTER BA; QQCM
+3071 ; [.31B0.0020.000E.306F][.0000.014F.0002.309A] # HIRAGANA LETTER PA; QQCM
+30D1 ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A] # KATAKANA LETTER PA; QQCM
+332B ; [.31B0.0020.001C.332B][.0000.014F.001C.332B][.1570.0020.001F.332B][.31A4.0020.001F.332B][.31C7.0020.001F.332B][.31AA.0020.001F.332B] # SQUARE PAASENTO; QQKN
+332C ; [.31B0.0020.001C.332C][.0000.014F.001C.332C][.1570.0020.001F.332C][.31A8.0020.001F.332C] # SQUARE PAATU; QQKN
+332D ; [.31B0.0020.001C.332D][.0000.014E.001C.332D][.1570.0020.001F.332D][.31C1.0020.001F.332D][.31C0.0020.001F.332D] # SQUARE BAARERU; QQKN
+332A ; [.31B0.0020.001C.332A][.3197.0020.001C.332A][.31A8.0020.001F.332A] # SQUARE HAITU; QQKN
+3072 ; [.31B1.0020.000E.3072] # HIRAGANA LETTER HI
+31F6 ; [.31B1.0020.000F.31F6] # KATAKANA LETTER SMALL HI
+30D2 ; [.31B1.0020.0011.30D2] # KATAKANA LETTER HI
+FF8B ; [.31B1.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI; QQK
+32EA ; [.31B1.0020.0013.32EA] # CIRCLED KATAKANA HI; QQK
+3073 ; [.31B1.0020.000E.3072][.0000.014E.0002.3099] # HIRAGANA LETTER BI; QQCM
+30D3 ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099] # KATAKANA LETTER BI; QQCM
+3074 ; [.31B1.0020.000E.3072][.0000.014F.0002.309A] # HIRAGANA LETTER PI; QQCM
+30D4 ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A] # KATAKANA LETTER PI; QQCM
+332E ; [.31B1.0020.001C.332E][.0000.014F.001C.332E][.3196.0020.001F.332E][.31A3.0020.001F.332E][.31AA.0020.001F.332E][.31C0.0020.001F.332E] # SQUARE PIASUTORU; QQKN
+332F ; [.31B1.0020.001C.332F][.0000.014F.001C.332F][.319E.0020.001F.332F][.31C0.0020.001F.332F] # SQUARE PIKURU; QQKN
+3330 ; [.31B1.0020.001C.3330][.0000.014F.001C.3330][.31A0.0020.001F.3330] # SQUARE PIKO; QQKN
+3331 ; [.31B1.0020.001C.3331][.0000.014E.001C.3331][.31C0.0020.001F.3331] # SQUARE BIRU; QQKN
+3075 ; [.31B2.0020.000E.3075] # HIRAGANA LETTER HU
+31F7 ; [.31B2.0020.000F.31F7] # KATAKANA LETTER SMALL HU
+30D5 ; [.31B2.0020.0011.30D5] # KATAKANA LETTER HU
+FF8C ; [.31B2.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU; QQK
+32EB ; [.31B2.0020.0013.32EB] # CIRCLED KATAKANA HU; QQK
+3076 ; [.31B2.0020.000E.3075][.0000.014E.0002.3099] # HIRAGANA LETTER BU; QQCM
+30D6 ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099] # KATAKANA LETTER BU; QQCM
+3077 ; [.31B2.0020.000E.3075][.0000.014F.0002.309A] # HIRAGANA LETTER PU; QQCM
+30D7 ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A] # KATAKANA LETTER PU; QQCM
+3332 ; [.31B2.0020.001C.3332][.3196.0020.001C.3332][.31BE.0020.001F.3332][.31A8.0020.001F.3332][.31AA.0020.001F.3332][.0000.014E.001F.3332] # SQUARE HUARADDO; QQKN
+3333 ; [.31B2.0020.001C.3333][.3197.0020.001C.3333][.1570.0020.001F.3333][.31AA.0020.001F.3333] # SQUARE HUIITO; QQKN
+3334 ; [.31B2.0020.001C.3334][.0000.014E.001C.3334][.31A8.0020.001F.3334][.31A2.0020.001F.3334][.319A.0020.001F.3334][.31C0.0020.001F.3334] # SQUARE BUSSYERU; QQKN
+3335 ; [.31B2.0020.001C.3335][.31BE.0020.001C.3335][.31C7.0020.001F.3335] # SQUARE HURAN; QQKN
+3078 ; [.31B3.0020.000E.3078] # HIRAGANA LETTER HE
+31F8 ; [.31B3.0020.000F.31F8] # KATAKANA LETTER SMALL HE
+30D8 ; [.31B3.0020.0011.30D8] # KATAKANA LETTER HE
+FF8D ; [.31B3.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE; QQK
+32EC ; [.31B3.0020.0013.32EC] # CIRCLED KATAKANA HE; QQK
+3079 ; [.31B3.0020.000E.3078][.0000.014E.0002.3099] # HIRAGANA LETTER BE; QQCM
+30D9 ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099] # KATAKANA LETTER BE; QQCM
+307A ; [.31B3.0020.000E.3078][.0000.014F.0002.309A] # HIRAGANA LETTER PE; QQCM
+30DA ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A] # KATAKANA LETTER PE; QQCM
+333B ; [.31B3.0020.001C.333B][.0000.014F.001C.333B][.1570.0020.001F.333B][.31A2.0020.001F.333B][.0000.014E.001F.333B] # SQUARE PEEZI; QQKN
+333C ; [.31B3.0020.001C.333C][.0000.014E.001C.333C][.1570.0020.001F.333C][.31A6.0020.001F.333C] # SQUARE BEETA; QQKN
+3336 ; [.31B3.0020.001C.3336][.319E.0020.001C.3336][.31A6.0020.001F.3336][.1570.0020.001F.3336][.31C0.0020.001F.3336] # SQUARE HEKUTAARU; QQKN
+3337 ; [.31B3.0020.001C.3337][.0000.014F.001C.3337][.31A5.0020.001F.3337] # SQUARE PESO; QQKN
+3338 ; [.31B3.0020.001C.3338][.0000.014F.001C.3338][.31AC.0020.001F.3338][.31B1.0020.001F.3338] # SQUARE PENIHI; QQKN
+3339 ; [.31B3.0020.001C.3339][.31C0.0020.001C.3339][.31A8.0020.001F.3339] # SQUARE HERUTU; QQKN
+333A ; [.31B3.0020.001C.333A][.0000.014F.001C.333A][.31C7.0020.001F.333A][.31A3.0020.001F.333A] # SQUARE PENSU; QQKN
+307B ; [.31B4.0020.000E.307B] # HIRAGANA LETTER HO
+31F9 ; [.31B4.0020.000F.31F9] # KATAKANA LETTER SMALL HO
+30DB ; [.31B4.0020.0011.30DB] # KATAKANA LETTER HO
+FF8E ; [.31B4.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO; QQK
+32ED ; [.31B4.0020.0013.32ED] # CIRCLED KATAKANA HO; QQK
+307C ; [.31B4.0020.000E.307B][.0000.014E.0002.3099] # HIRAGANA LETTER BO; QQCM
+30DC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099] # KATAKANA LETTER BO; QQCM
+307D ; [.31B4.0020.000E.307B][.0000.014F.0002.309A] # HIRAGANA LETTER PO; QQCM
+30DD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A] # KATAKANA LETTER PO; QQCM
+3341 ; [.31B4.0020.001C.3341][.1570.0020.001C.3341][.31C0.0020.001F.3341] # SQUARE HOORU; QQKN
+3342 ; [.31B4.0020.001C.3342][.1570.0020.001C.3342][.31C7.0020.001F.3342] # SQUARE HOON; QQKN
+333D ; [.31B4.0020.001C.333D][.0000.014F.001C.333D][.3197.0020.001F.333D][.31C7.0020.001F.333D][.31AA.0020.001F.333D] # SQUARE POINTO; QQKN
+1F200 ; [.31B4.0020.001C.1F200][.319C.0020.001C.1F200] # SQUARE HIRAGANA HOKA; QQKN
+333E ; [.31B4.0020.001C.333E][.0000.014E.001C.333E][.31C0.0020.001F.333E][.31AA.0020.001F.333E] # SQUARE BORUTO; QQKN
+333F ; [.31B4.0020.001C.333F][.31C7.0020.001C.333F] # SQUARE HON; QQKN
+3340 ; [.31B4.0020.001C.3340][.0000.014F.001C.3340][.31C7.0020.001F.3340][.31AA.0020.001F.3340][.0000.014E.001F.3340] # SQUARE PONDO; QQKN
+307E ; [.31B5.0020.000E.307E] # HIRAGANA LETTER MA
+30DE ; [.31B5.0020.0011.30DE] # KATAKANA LETTER MA
+FF8F ; [.31B5.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA; QQK
+32EE ; [.31B5.0020.0013.32EE] # CIRCLED KATAKANA MA; QQK
+3343 ; [.31B5.0020.001C.3343][.3197.0020.001C.3343][.319E.0020.001F.3343][.31C2.0020.001F.3343] # SQUARE MAIKURO; QQKN
+3344 ; [.31B5.0020.001C.3344][.3197.0020.001C.3344][.31C0.0020.001F.3344] # SQUARE MAIRU; QQKN
+303C ; [.31B5.0020.0004.303C][.31A3.0020.0004.303C] # MASU MARK; QQKN
+3345 ; [.31B5.0020.001C.3345][.31A8.0020.001C.3345][.31B0.0020.001F.3345] # SQUARE MAHHA; QQKN
+3346 ; [.31B5.0020.001C.3346][.31C0.0020.001C.3346][.319E.0020.001F.3346] # SQUARE MARUKU; QQKN
+3347 ; [.31B5.0020.001C.3347][.31C7.0020.001C.3347][.31A2.0020.001F.3347][.31BD.0020.001F.3347][.31C7.0020.001F.3347] # SQUARE MANSYON; QQKN
+307F ; [.31B6.0020.000E.307F] # HIRAGANA LETTER MI
+30DF ; [.31B6.0020.0011.30DF] # KATAKANA LETTER MI
+FF90 ; [.31B6.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI; QQK
+32EF ; [.31B6.0020.0013.32EF] # CIRCLED KATAKANA MI; QQK
+3348 ; [.31B6.0020.001C.3348][.319E.0020.001C.3348][.31C2.0020.001F.3348][.31C7.0020.001F.3348] # SQUARE MIKURON; QQKN
+3349 ; [.31B6.0020.001C.3349][.31BF.0020.001C.3349] # SQUARE MIRI; QQKN
+334A ; [.31B6.0020.001C.334A][.31BF.0020.001C.334A][.31B0.0020.001F.334A][.0000.014E.001F.334A][.1570.0020.001F.334A][.31C0.0020.001F.334A] # SQUARE MIRIBAARU; QQKN
+3080 ; [.31B7.0020.000E.3080] # HIRAGANA LETTER MU
+31FA ; [.31B7.0020.000F.31FA] # KATAKANA LETTER SMALL MU
+30E0 ; [.31B7.0020.0011.30E0] # KATAKANA LETTER MU
+FF91 ; [.31B7.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU; QQK
+32F0 ; [.31B7.0020.0013.32F0] # CIRCLED KATAKANA MU; QQK
+3081 ; [.31B8.0020.000E.3081] # HIRAGANA LETTER ME
+30E1 ; [.31B8.0020.0011.30E1] # KATAKANA LETTER ME
+FF92 ; [.31B8.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME; QQK
+32F1 ; [.31B8.0020.0013.32F1] # CIRCLED KATAKANA ME; QQK
+334D ; [.31B8.0020.001C.334D][.1570.0020.001C.334D][.31AA.0020.001F.334D][.31C0.0020.001F.334D] # SQUARE MEETORU; QQKN
+334B ; [.31B8.0020.001C.334B][.319C.0020.001C.334B][.0000.014E.001F.334B] # SQUARE MEGA; QQKN
+334C ; [.31B8.0020.001C.334C][.319C.0020.001C.334C][.0000.014E.001F.334C][.31AA.0020.001F.334C][.31C7.0020.001F.334C] # SQUARE MEGATON; QQKN
+3082 ; [.31B9.0020.000E.3082] # HIRAGANA LETTER MO
+30E2 ; [.31B9.0020.0011.30E2] # KATAKANA LETTER MO
+FF93 ; [.31B9.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO; QQK
+32F2 ; [.31B9.0020.0013.32F2] # CIRCLED KATAKANA MO; QQK
+3083 ; [.31BA.0020.000D.3083] # HIRAGANA LETTER SMALL YA
+3084 ; [.31BA.0020.000E.3084] # HIRAGANA LETTER YA
+30E3 ; [.31BA.0020.000F.30E3] # KATAKANA LETTER SMALL YA
+FF6C ; [.31BA.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA; QQK
+30E4 ; [.31BA.0020.0011.30E4] # KATAKANA LETTER YA
+FF94 ; [.31BA.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA; QQK
+32F3 ; [.31BA.0020.0013.32F3] # CIRCLED KATAKANA YA; QQK
+334E ; [.31BA.0020.001C.334E][.1570.0020.001C.334E][.31AA.0020.001F.334E][.0000.014E.001F.334E] # SQUARE YAADO; QQKN
+334F ; [.31BA.0020.001C.334F][.1570.0020.001C.334F][.31C0.0020.001F.334F] # SQUARE YAARU; QQKN
+3085 ; [.31BB.0020.000D.3085] # HIRAGANA LETTER SMALL YU
+3086 ; [.31BB.0020.000E.3086] # HIRAGANA LETTER YU
+30E5 ; [.31BB.0020.000F.30E5] # KATAKANA LETTER SMALL YU
+FF6D ; [.31BB.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU; QQK
+30E6 ; [.31BB.0020.0011.30E6] # KATAKANA LETTER YU
+FF95 ; [.31BB.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU; QQK
+32F4 ; [.31BB.0020.0013.32F4] # CIRCLED KATAKANA YU; QQK
+3350 ; [.31BB.0020.001C.3350][.3196.0020.001C.3350][.31C7.0020.001F.3350] # SQUARE YUAN; QQKN
+1B001 ; [.31BC.0020.0002.1B001] # HIRAGANA LETTER ARCHAIC YE
+3087 ; [.31BD.0020.000D.3087] # HIRAGANA LETTER SMALL YO
+3088 ; [.31BD.0020.000E.3088] # HIRAGANA LETTER YO
+30E7 ; [.31BD.0020.000F.30E7] # KATAKANA LETTER SMALL YO
+FF6E ; [.31BD.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO; QQK
+30E8 ; [.31BD.0020.0011.30E8] # KATAKANA LETTER YO
+FF96 ; [.31BD.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO; QQK
+32F5 ; [.31BD.0020.0013.32F5] # CIRCLED KATAKANA YO; QQK
+309F ; [.31BD.0020.0016.309F][.31BF.0020.0016.309F] # HIRAGANA DIGRAPH YORI; QQKN
+3089 ; [.31BE.0020.000E.3089] # HIRAGANA LETTER RA
+31FB ; [.31BE.0020.000F.31FB] # KATAKANA LETTER SMALL RA
+30E9 ; [.31BE.0020.0011.30E9] # KATAKANA LETTER RA
+FF97 ; [.31BE.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA; QQK
+32F6 ; [.31BE.0020.0013.32F6] # CIRCLED KATAKANA RA; QQK
+308A ; [.31BF.0020.000E.308A] # HIRAGANA LETTER RI
+31FC ; [.31BF.0020.000F.31FC] # KATAKANA LETTER SMALL RI
+30EA ; [.31BF.0020.0011.30EA] # KATAKANA LETTER RI
+FF98 ; [.31BF.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI; QQK
+32F7 ; [.31BF.0020.0013.32F7] # CIRCLED KATAKANA RI; QQK
+3351 ; [.31BF.0020.001C.3351][.31A8.0020.001C.3351][.31AA.0020.001F.3351][.31C0.0020.001F.3351] # SQUARE RITTORU; QQKN
+3352 ; [.31BF.0020.001C.3352][.31BE.0020.001C.3352] # SQUARE RIRA; QQKN
+308B ; [.31C0.0020.000E.308B] # HIRAGANA LETTER RU
+31FD ; [.31C0.0020.000F.31FD] # KATAKANA LETTER SMALL RU
+30EB ; [.31C0.0020.0011.30EB] # KATAKANA LETTER RU
+FF99 ; [.31C0.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU; QQK
+32F8 ; [.31C0.0020.0013.32F8] # CIRCLED KATAKANA RU; QQK
+3354 ; [.31C0.0020.001C.3354][.1570.0020.001C.3354][.31B2.0020.001F.3354][.0000.014E.001F.3354][.31C0.0020.001F.3354] # SQUARE RUUBURU; QQKN
+3353 ; [.31C0.0020.001C.3353][.31B1.0020.001C.3353][.0000.014F.001F.3353][.1570.0020.001F.3353] # SQUARE RUPII; QQKN
+308C ; [.31C1.0020.000E.308C] # HIRAGANA LETTER RE
+31FE ; [.31C1.0020.000F.31FE] # KATAKANA LETTER SMALL RE
+30EC ; [.31C1.0020.0011.30EC] # KATAKANA LETTER RE
+FF9A ; [.31C1.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE; QQK
+32F9 ; [.31C1.0020.0013.32F9] # CIRCLED KATAKANA RE; QQK
+3355 ; [.31C1.0020.001C.3355][.31B7.0020.001C.3355] # SQUARE REMU; QQKN
+3356 ; [.31C1.0020.001C.3356][.31C7.0020.001C.3356][.31AA.0020.001F.3356][.319F.0020.001F.3356][.0000.014E.001F.3356][.31C7.0020.001F.3356] # SQUARE RENTOGEN; QQKN
+308D ; [.31C2.0020.000E.308D] # HIRAGANA LETTER RO
+31FF ; [.31C2.0020.000F.31FF] # KATAKANA LETTER SMALL RO
+30ED ; [.31C2.0020.0011.30ED] # KATAKANA LETTER RO
+FF9B ; [.31C2.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO; QQK
+32FA ; [.31C2.0020.0013.32FA] # CIRCLED KATAKANA RO; QQK
+308E ; [.31C3.0020.000D.308E] # HIRAGANA LETTER SMALL WA
+308F ; [.31C3.0020.000E.308F] # HIRAGANA LETTER WA
+30EE ; [.31C3.0020.000F.30EE] # KATAKANA LETTER SMALL WA
+30EF ; [.31C3.0020.0011.30EF] # KATAKANA LETTER WA
+FF9C ; [.31C3.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA; QQK
+32FB ; [.31C3.0020.0013.32FB] # CIRCLED KATAKANA WA; QQK
+30F7 ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099] # KATAKANA LETTER VA; QQCM
+3357 ; [.31C3.0020.001C.3357][.31A8.0020.001C.3357][.31AA.0020.001F.3357] # SQUARE WATTO; QQKN
+3090 ; [.31C4.0020.000E.3090] # HIRAGANA LETTER WI
+30F0 ; [.31C4.0020.0011.30F0] # KATAKANA LETTER WI
+32FC ; [.31C4.0020.0013.32FC] # CIRCLED KATAKANA WI; QQK
+30F8 ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099] # KATAKANA LETTER VI; QQCM
+3091 ; [.31C5.0020.000E.3091] # HIRAGANA LETTER WE
+30F1 ; [.31C5.0020.0011.30F1] # KATAKANA LETTER WE
+32FD ; [.31C5.0020.0013.32FD] # CIRCLED KATAKANA WE; QQK
+30F9 ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099] # KATAKANA LETTER VE; QQCM
+3092 ; [.31C6.0020.000E.3092] # HIRAGANA LETTER WO
+30F2 ; [.31C6.0020.0011.30F2] # KATAKANA LETTER WO
+FF66 ; [.31C6.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO; QQK
+32FE ; [.31C6.0020.0013.32FE] # CIRCLED KATAKANA WO; QQK
+30FA ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099] # KATAKANA LETTER VO; QQCM
+3093 ; [.31C7.0020.000E.3093] # HIRAGANA LETTER N
+30F3 ; [.31C7.0020.0011.30F3] # KATAKANA LETTER N
+FF9D ; [.31C7.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N; QQK
+3105 ; [.31C8.0020.0002.3105] # BOPOMOFO LETTER B
+31A0 ; [.31C8.0020.0004.31A0][.0000.0160.0004.31A0] # BOPOMOFO LETTER BU; QQKN
+3106 ; [.31C9.0020.0002.3106] # BOPOMOFO LETTER P
+31B4 ; [.31C9.0020.0019.31B4] # BOPOMOFO FINAL LETTER P; QQK
+3107 ; [.31CA.0020.0002.3107] # BOPOMOFO LETTER M
+3108 ; [.31CB.0020.0002.3108] # BOPOMOFO LETTER F
+312A ; [.31CC.0020.0002.312A] # BOPOMOFO LETTER V
+3109 ; [.31CD.0020.0002.3109] # BOPOMOFO LETTER D
+310A ; [.31CE.0020.0002.310A] # BOPOMOFO LETTER T
+31B5 ; [.31CE.0020.0019.31B5] # BOPOMOFO FINAL LETTER T; QQK
+310B ; [.31CF.0020.0002.310B] # BOPOMOFO LETTER N
+310C ; [.31D0.0020.0002.310C] # BOPOMOFO LETTER L
+310D ; [.31D1.0020.0002.310D] # BOPOMOFO LETTER G
+31A3 ; [.31D1.0020.0004.31A3][.0000.0160.0004.31A3] # BOPOMOFO LETTER GU; QQKN
+310E ; [.31D2.0020.0002.310E] # BOPOMOFO LETTER K
+31B6 ; [.31D2.0020.0019.31B6] # BOPOMOFO FINAL LETTER K; QQK
+312B ; [.31D3.0020.0002.312B] # BOPOMOFO LETTER NG
+31AD ; [.31D4.0020.0002.31AD] # BOPOMOFO LETTER NGG
+310F ; [.31D5.0020.0002.310F] # BOPOMOFO LETTER H
+31B7 ; [.31D5.0020.0019.31B7] # BOPOMOFO FINAL LETTER H; QQK
+3110 ; [.31D6.0020.0002.3110] # BOPOMOFO LETTER J
+31A2 ; [.31D6.0020.0004.31A2][.0000.0160.0004.31A2] # BOPOMOFO LETTER JI; QQKN
+3111 ; [.31D7.0020.0002.3111] # BOPOMOFO LETTER Q
+3112 ; [.31D8.0020.0002.3112] # BOPOMOFO LETTER X
+312C ; [.31D9.0020.0002.312C] # BOPOMOFO LETTER GN
+3113 ; [.31DA.0020.0002.3113] # BOPOMOFO LETTER ZH
+3114 ; [.31DB.0020.0002.3114] # BOPOMOFO LETTER CH
+3115 ; [.31DC.0020.0002.3115] # BOPOMOFO LETTER SH
+3116 ; [.31DD.0020.0002.3116] # BOPOMOFO LETTER R
+3117 ; [.31DE.0020.0002.3117] # BOPOMOFO LETTER Z
+31A1 ; [.31DE.0020.0004.31A1][.0000.0160.0004.31A1] # BOPOMOFO LETTER ZI; QQKN
+3118 ; [.31DF.0020.0002.3118] # BOPOMOFO LETTER C
+3119 ; [.31E0.0020.0002.3119] # BOPOMOFO LETTER S
+31B8 ; [.31E1.0020.0002.31B8] # BOPOMOFO LETTER GH
+31B9 ; [.31E2.0020.0002.31B9] # BOPOMOFO LETTER LH
+31BA ; [.31E3.0020.0002.31BA] # BOPOMOFO LETTER ZY
+311A ; [.31E4.0020.0002.311A] # BOPOMOFO LETTER A
+31A9 ; [.31E4.0020.0004.31A9][.0000.0160.0004.31A9] # BOPOMOFO LETTER ANN; QQKN
+311B ; [.31E5.0020.0002.311B] # BOPOMOFO LETTER O
+31A7 ; [.31E5.0020.0004.31A7][.0000.0160.0004.31A7] # BOPOMOFO LETTER ONN; QQKN
+31A6 ; [.31E6.0020.0002.31A6] # BOPOMOFO LETTER OO
+311C ; [.31E7.0020.0002.311C] # BOPOMOFO LETTER E
+311D ; [.31E8.0020.0002.311D] # BOPOMOFO LETTER EH
+31A4 ; [.31E9.0020.0002.31A4] # BOPOMOFO LETTER EE
+31A5 ; [.31E9.0020.0004.31A5][.0000.0160.0004.31A5] # BOPOMOFO LETTER ENN; QQKN
+311E ; [.31EA.0020.0002.311E] # BOPOMOFO LETTER AI
+31AE ; [.31EA.0020.0004.31AE][.0000.0160.0004.31AE] # BOPOMOFO LETTER AINN; QQKN
+311F ; [.31EB.0020.0002.311F] # BOPOMOFO LETTER EI
+3120 ; [.31EC.0020.0002.3120] # BOPOMOFO LETTER AU
+31AF ; [.31EC.0020.0004.31AF][.0000.0160.0004.31AF] # BOPOMOFO LETTER AUNN; QQKN
+3121 ; [.31ED.0020.0002.3121] # BOPOMOFO LETTER OU
+3122 ; [.31EE.0020.0002.3122] # BOPOMOFO LETTER AN
+3123 ; [.31EF.0020.0002.3123] # BOPOMOFO LETTER EN
+3124 ; [.31F0.0020.0002.3124] # BOPOMOFO LETTER ANG
+31B2 ; [.31F1.0020.0002.31B2] # BOPOMOFO LETTER ONG
+3125 ; [.31F2.0020.0002.3125] # BOPOMOFO LETTER ENG
+31B0 ; [.31F3.0020.0002.31B0] # BOPOMOFO LETTER AM
+31B1 ; [.31F4.0020.0002.31B1] # BOPOMOFO LETTER OM
+31AC ; [.31F5.0020.0002.31AC] # BOPOMOFO LETTER IM
+3126 ; [.31F6.0020.0002.3126] # BOPOMOFO LETTER ER
+3127 ; [.31F7.0020.0002.3127] # BOPOMOFO LETTER I
+31AA ; [.31F7.0020.0004.31AA][.0000.0160.0004.31AA] # BOPOMOFO LETTER INN; QQKN
+31B3 ; [.31F7.0020.0016.31B3][.0000.0160.0016.31B3] # BOPOMOFO LETTER INNN; QQKN
+3128 ; [.31F8.0020.0002.3128] # BOPOMOFO LETTER U
+31AB ; [.31F8.0020.0004.31AB][.0000.0160.0004.31AB] # BOPOMOFO LETTER UNN; QQKN
+31A8 ; [.31F8.0020.0004.31A8][.0000.0162.0004.31A8] # BOPOMOFO LETTER IR; QQKN
+3129 ; [.31F9.0020.0002.3129] # BOPOMOFO LETTER IU
+312D ; [.31FA.0020.0002.312D] # BOPOMOFO LETTER IH
+A000 ; [.31FB.0020.0002.A000] # YI SYLLABLE IT
+A001 ; [.31FC.0020.0002.A001] # YI SYLLABLE IX
+A002 ; [.31FD.0020.0002.A002] # YI SYLLABLE I
+A003 ; [.31FE.0020.0002.A003] # YI SYLLABLE IP
+A004 ; [.31FF.0020.0002.A004] # YI SYLLABLE IET
+A005 ; [.3200.0020.0002.A005] # YI SYLLABLE IEX
+A006 ; [.3201.0020.0002.A006] # YI SYLLABLE IE
+A007 ; [.3202.0020.0002.A007] # YI SYLLABLE IEP
+A008 ; [.3203.0020.0002.A008] # YI SYLLABLE AT
+A009 ; [.3204.0020.0002.A009] # YI SYLLABLE AX
+A00A ; [.3205.0020.0002.A00A] # YI SYLLABLE A
+A00B ; [.3206.0020.0002.A00B] # YI SYLLABLE AP
+A00C ; [.3207.0020.0002.A00C] # YI SYLLABLE UOX
+A00D ; [.3208.0020.0002.A00D] # YI SYLLABLE UO
+A00E ; [.3209.0020.0002.A00E] # YI SYLLABLE UOP
+A00F ; [.320A.0020.0002.A00F] # YI SYLLABLE OT
+A010 ; [.320B.0020.0002.A010] # YI SYLLABLE OX
+A011 ; [.320C.0020.0002.A011] # YI SYLLABLE O
+A012 ; [.320D.0020.0002.A012] # YI SYLLABLE OP
+A013 ; [.320E.0020.0002.A013] # YI SYLLABLE EX
+A014 ; [.320F.0020.0002.A014] # YI SYLLABLE E
+A015 ; [.3210.0020.0002.A015] # YI SYLLABLE WU
+A016 ; [.3211.0020.0002.A016] # YI SYLLABLE BIT
+A017 ; [.3212.0020.0002.A017] # YI SYLLABLE BIX
+A018 ; [.3213.0020.0002.A018] # YI SYLLABLE BI
+A019 ; [.3214.0020.0002.A019] # YI SYLLABLE BIP
+A01A ; [.3215.0020.0002.A01A] # YI SYLLABLE BIET
+A01B ; [.3216.0020.0002.A01B] # YI SYLLABLE BIEX
+A01C ; [.3217.0020.0002.A01C] # YI SYLLABLE BIE
+A01D ; [.3218.0020.0002.A01D] # YI SYLLABLE BIEP
+A01E ; [.3219.0020.0002.A01E] # YI SYLLABLE BAT
+A01F ; [.321A.0020.0002.A01F] # YI SYLLABLE BAX
+A020 ; [.321B.0020.0002.A020] # YI SYLLABLE BA
+A021 ; [.321C.0020.0002.A021] # YI SYLLABLE BAP
+A022 ; [.321D.0020.0002.A022] # YI SYLLABLE BUOX
+A023 ; [.321E.0020.0002.A023] # YI SYLLABLE BUO
+A024 ; [.321F.0020.0002.A024] # YI SYLLABLE BUOP
+A025 ; [.3220.0020.0002.A025] # YI SYLLABLE BOT
+A026 ; [.3221.0020.0002.A026] # YI SYLLABLE BOX
+A027 ; [.3222.0020.0002.A027] # YI SYLLABLE BO
+A028 ; [.3223.0020.0002.A028] # YI SYLLABLE BOP
+A029 ; [.3224.0020.0002.A029] # YI SYLLABLE BEX
+A02A ; [.3225.0020.0002.A02A] # YI SYLLABLE BE
+A02B ; [.3226.0020.0002.A02B] # YI SYLLABLE BEP
+A02C ; [.3227.0020.0002.A02C] # YI SYLLABLE BUT
+A02D ; [.3228.0020.0002.A02D] # YI SYLLABLE BUX
+A02E ; [.3229.0020.0002.A02E] # YI SYLLABLE BU
+A02F ; [.322A.0020.0002.A02F] # YI SYLLABLE BUP
+A030 ; [.322B.0020.0002.A030] # YI SYLLABLE BURX
+A031 ; [.322C.0020.0002.A031] # YI SYLLABLE BUR
+A032 ; [.322D.0020.0002.A032] # YI SYLLABLE BYT
+A033 ; [.322E.0020.0002.A033] # YI SYLLABLE BYX
+A034 ; [.322F.0020.0002.A034] # YI SYLLABLE BY
+A035 ; [.3230.0020.0002.A035] # YI SYLLABLE BYP
+A036 ; [.3231.0020.0002.A036] # YI SYLLABLE BYRX
+A037 ; [.3232.0020.0002.A037] # YI SYLLABLE BYR
+A038 ; [.3233.0020.0002.A038] # YI SYLLABLE PIT
+A039 ; [.3234.0020.0002.A039] # YI SYLLABLE PIX
+A03A ; [.3235.0020.0002.A03A] # YI SYLLABLE PI
+A03B ; [.3236.0020.0002.A03B] # YI SYLLABLE PIP
+A03C ; [.3237.0020.0002.A03C] # YI SYLLABLE PIEX
+A03D ; [.3238.0020.0002.A03D] # YI SYLLABLE PIE
+A03E ; [.3239.0020.0002.A03E] # YI SYLLABLE PIEP
+A03F ; [.323A.0020.0002.A03F] # YI SYLLABLE PAT
+A040 ; [.323B.0020.0002.A040] # YI SYLLABLE PAX
+A041 ; [.323C.0020.0002.A041] # YI SYLLABLE PA
+A042 ; [.323D.0020.0002.A042] # YI SYLLABLE PAP
+A043 ; [.323E.0020.0002.A043] # YI SYLLABLE PUOX
+A044 ; [.323F.0020.0002.A044] # YI SYLLABLE PUO
+A045 ; [.3240.0020.0002.A045] # YI SYLLABLE PUOP
+A046 ; [.3241.0020.0002.A046] # YI SYLLABLE POT
+A047 ; [.3242.0020.0002.A047] # YI SYLLABLE POX
+A048 ; [.3243.0020.0002.A048] # YI SYLLABLE PO
+A049 ; [.3244.0020.0002.A049] # YI SYLLABLE POP
+A04A ; [.3245.0020.0002.A04A] # YI SYLLABLE PUT
+A04B ; [.3246.0020.0002.A04B] # YI SYLLABLE PUX
+A04C ; [.3247.0020.0002.A04C] # YI SYLLABLE PU
+A04D ; [.3248.0020.0002.A04D] # YI SYLLABLE PUP
+A04E ; [.3249.0020.0002.A04E] # YI SYLLABLE PURX
+A04F ; [.324A.0020.0002.A04F] # YI SYLLABLE PUR
+A050 ; [.324B.0020.0002.A050] # YI SYLLABLE PYT
+A051 ; [.324C.0020.0002.A051] # YI SYLLABLE PYX
+A052 ; [.324D.0020.0002.A052] # YI SYLLABLE PY
+A053 ; [.324E.0020.0002.A053] # YI SYLLABLE PYP
+A054 ; [.324F.0020.0002.A054] # YI SYLLABLE PYRX
+A055 ; [.3250.0020.0002.A055] # YI SYLLABLE PYR
+A056 ; [.3251.0020.0002.A056] # YI SYLLABLE BBIT
+A057 ; [.3252.0020.0002.A057] # YI SYLLABLE BBIX
+A058 ; [.3253.0020.0002.A058] # YI SYLLABLE BBI
+A059 ; [.3254.0020.0002.A059] # YI SYLLABLE BBIP
+A05A ; [.3255.0020.0002.A05A] # YI SYLLABLE BBIET
+A05B ; [.3256.0020.0002.A05B] # YI SYLLABLE BBIEX
+A05C ; [.3257.0020.0002.A05C] # YI SYLLABLE BBIE
+A05D ; [.3258.0020.0002.A05D] # YI SYLLABLE BBIEP
+A05E ; [.3259.0020.0002.A05E] # YI SYLLABLE BBAT
+A05F ; [.325A.0020.0002.A05F] # YI SYLLABLE BBAX
+A060 ; [.325B.0020.0002.A060] # YI SYLLABLE BBA
+A061 ; [.325C.0020.0002.A061] # YI SYLLABLE BBAP
+A062 ; [.325D.0020.0002.A062] # YI SYLLABLE BBUOX
+A063 ; [.325E.0020.0002.A063] # YI SYLLABLE BBUO
+A064 ; [.325F.0020.0002.A064] # YI SYLLABLE BBUOP
+A065 ; [.3260.0020.0002.A065] # YI SYLLABLE BBOT
+A066 ; [.3261.0020.0002.A066] # YI SYLLABLE BBOX
+A067 ; [.3262.0020.0002.A067] # YI SYLLABLE BBO
+A068 ; [.3263.0020.0002.A068] # YI SYLLABLE BBOP
+A069 ; [.3264.0020.0002.A069] # YI SYLLABLE BBEX
+A06A ; [.3265.0020.0002.A06A] # YI SYLLABLE BBE
+A06B ; [.3266.0020.0002.A06B] # YI SYLLABLE BBEP
+A06C ; [.3267.0020.0002.A06C] # YI SYLLABLE BBUT
+A06D ; [.3268.0020.0002.A06D] # YI SYLLABLE BBUX
+A06E ; [.3269.0020.0002.A06E] # YI SYLLABLE BBU
+A06F ; [.326A.0020.0002.A06F] # YI SYLLABLE BBUP
+A070 ; [.326B.0020.0002.A070] # YI SYLLABLE BBURX
+A071 ; [.326C.0020.0002.A071] # YI SYLLABLE BBUR
+A072 ; [.326D.0020.0002.A072] # YI SYLLABLE BBYT
+A073 ; [.326E.0020.0002.A073] # YI SYLLABLE BBYX
+A074 ; [.326F.0020.0002.A074] # YI SYLLABLE BBY
+A075 ; [.3270.0020.0002.A075] # YI SYLLABLE BBYP
+A076 ; [.3271.0020.0002.A076] # YI SYLLABLE NBIT
+A077 ; [.3272.0020.0002.A077] # YI SYLLABLE NBIX
+A078 ; [.3273.0020.0002.A078] # YI SYLLABLE NBI
+A079 ; [.3274.0020.0002.A079] # YI SYLLABLE NBIP
+A07A ; [.3275.0020.0002.A07A] # YI SYLLABLE NBIEX
+A07B ; [.3276.0020.0002.A07B] # YI SYLLABLE NBIE
+A07C ; [.3277.0020.0002.A07C] # YI SYLLABLE NBIEP
+A07D ; [.3278.0020.0002.A07D] # YI SYLLABLE NBAT
+A07E ; [.3279.0020.0002.A07E] # YI SYLLABLE NBAX
+A07F ; [.327A.0020.0002.A07F] # YI SYLLABLE NBA
+A080 ; [.327B.0020.0002.A080] # YI SYLLABLE NBAP
+A081 ; [.327C.0020.0002.A081] # YI SYLLABLE NBOT
+A082 ; [.327D.0020.0002.A082] # YI SYLLABLE NBOX
+A083 ; [.327E.0020.0002.A083] # YI SYLLABLE NBO
+A084 ; [.327F.0020.0002.A084] # YI SYLLABLE NBOP
+A085 ; [.3280.0020.0002.A085] # YI SYLLABLE NBUT
+A086 ; [.3281.0020.0002.A086] # YI SYLLABLE NBUX
+A087 ; [.3282.0020.0002.A087] # YI SYLLABLE NBU
+A088 ; [.3283.0020.0002.A088] # YI SYLLABLE NBUP
+A089 ; [.3284.0020.0002.A089] # YI SYLLABLE NBURX
+A08A ; [.3285.0020.0002.A08A] # YI SYLLABLE NBUR
+A08B ; [.3286.0020.0002.A08B] # YI SYLLABLE NBYT
+A08C ; [.3287.0020.0002.A08C] # YI SYLLABLE NBYX
+A08D ; [.3288.0020.0002.A08D] # YI SYLLABLE NBY
+A08E ; [.3289.0020.0002.A08E] # YI SYLLABLE NBYP
+A08F ; [.328A.0020.0002.A08F] # YI SYLLABLE NBYRX
+A090 ; [.328B.0020.0002.A090] # YI SYLLABLE NBYR
+A091 ; [.328C.0020.0002.A091] # YI SYLLABLE HMIT
+A092 ; [.328D.0020.0002.A092] # YI SYLLABLE HMIX
+A093 ; [.328E.0020.0002.A093] # YI SYLLABLE HMI
+A094 ; [.328F.0020.0002.A094] # YI SYLLABLE HMIP
+A095 ; [.3290.0020.0002.A095] # YI SYLLABLE HMIEX
+A096 ; [.3291.0020.0002.A096] # YI SYLLABLE HMIE
+A097 ; [.3292.0020.0002.A097] # YI SYLLABLE HMIEP
+A098 ; [.3293.0020.0002.A098] # YI SYLLABLE HMAT
+A099 ; [.3294.0020.0002.A099] # YI SYLLABLE HMAX
+A09A ; [.3295.0020.0002.A09A] # YI SYLLABLE HMA
+A09B ; [.3296.0020.0002.A09B] # YI SYLLABLE HMAP
+A09C ; [.3297.0020.0002.A09C] # YI SYLLABLE HMUOX
+A09D ; [.3298.0020.0002.A09D] # YI SYLLABLE HMUO
+A09E ; [.3299.0020.0002.A09E] # YI SYLLABLE HMUOP
+A09F ; [.329A.0020.0002.A09F] # YI SYLLABLE HMOT
+A0A0 ; [.329B.0020.0002.A0A0] # YI SYLLABLE HMOX
+A0A1 ; [.329C.0020.0002.A0A1] # YI SYLLABLE HMO
+A0A2 ; [.329D.0020.0002.A0A2] # YI SYLLABLE HMOP
+A0A3 ; [.329E.0020.0002.A0A3] # YI SYLLABLE HMUT
+A0A4 ; [.329F.0020.0002.A0A4] # YI SYLLABLE HMUX
+A0A5 ; [.32A0.0020.0002.A0A5] # YI SYLLABLE HMU
+A0A6 ; [.32A1.0020.0002.A0A6] # YI SYLLABLE HMUP
+A0A7 ; [.32A2.0020.0002.A0A7] # YI SYLLABLE HMURX
+A0A8 ; [.32A3.0020.0002.A0A8] # YI SYLLABLE HMUR
+A0A9 ; [.32A4.0020.0002.A0A9] # YI SYLLABLE HMYX
+A0AA ; [.32A5.0020.0002.A0AA] # YI SYLLABLE HMY
+A0AB ; [.32A6.0020.0002.A0AB] # YI SYLLABLE HMYP
+A0AC ; [.32A7.0020.0002.A0AC] # YI SYLLABLE HMYRX
+A0AD ; [.32A8.0020.0002.A0AD] # YI SYLLABLE HMYR
+A0AE ; [.32A9.0020.0002.A0AE] # YI SYLLABLE MIT
+A0AF ; [.32AA.0020.0002.A0AF] # YI SYLLABLE MIX
+A0B0 ; [.32AB.0020.0002.A0B0] # YI SYLLABLE MI
+A0B1 ; [.32AC.0020.0002.A0B1] # YI SYLLABLE MIP
+A0B2 ; [.32AD.0020.0002.A0B2] # YI SYLLABLE MIEX
+A0B3 ; [.32AE.0020.0002.A0B3] # YI SYLLABLE MIE
+A0B4 ; [.32AF.0020.0002.A0B4] # YI SYLLABLE MIEP
+A0B5 ; [.32B0.0020.0002.A0B5] # YI SYLLABLE MAT
+A0B6 ; [.32B1.0020.0002.A0B6] # YI SYLLABLE MAX
+A0B7 ; [.32B2.0020.0002.A0B7] # YI SYLLABLE MA
+A0B8 ; [.32B3.0020.0002.A0B8] # YI SYLLABLE MAP
+A0B9 ; [.32B4.0020.0002.A0B9] # YI SYLLABLE MUOT
+A0BA ; [.32B5.0020.0002.A0BA] # YI SYLLABLE MUOX
+A0BB ; [.32B6.0020.0002.A0BB] # YI SYLLABLE MUO
+A0BC ; [.32B7.0020.0002.A0BC] # YI SYLLABLE MUOP
+A0BD ; [.32B8.0020.0002.A0BD] # YI SYLLABLE MOT
+A0BE ; [.32B9.0020.0002.A0BE] # YI SYLLABLE MOX
+A0BF ; [.32BA.0020.0002.A0BF] # YI SYLLABLE MO
+A0C0 ; [.32BB.0020.0002.A0C0] # YI SYLLABLE MOP
+A0C1 ; [.32BC.0020.0002.A0C1] # YI SYLLABLE MEX
+A0C2 ; [.32BD.0020.0002.A0C2] # YI SYLLABLE ME
+A0C3 ; [.32BE.0020.0002.A0C3] # YI SYLLABLE MUT
+A0C4 ; [.32BF.0020.0002.A0C4] # YI SYLLABLE MUX
+A0C5 ; [.32C0.0020.0002.A0C5] # YI SYLLABLE MU
+A0C6 ; [.32C1.0020.0002.A0C6] # YI SYLLABLE MUP
+A0C7 ; [.32C2.0020.0002.A0C7] # YI SYLLABLE MURX
+A0C8 ; [.32C3.0020.0002.A0C8] # YI SYLLABLE MUR
+A0C9 ; [.32C4.0020.0002.A0C9] # YI SYLLABLE MYT
+A0CA ; [.32C5.0020.0002.A0CA] # YI SYLLABLE MYX
+A0CB ; [.32C6.0020.0002.A0CB] # YI SYLLABLE MY
+A0CC ; [.32C7.0020.0002.A0CC] # YI SYLLABLE MYP
+A0CD ; [.32C8.0020.0002.A0CD] # YI SYLLABLE FIT
+A0CE ; [.32C9.0020.0002.A0CE] # YI SYLLABLE FIX
+A0CF ; [.32CA.0020.0002.A0CF] # YI SYLLABLE FI
+A0D0 ; [.32CB.0020.0002.A0D0] # YI SYLLABLE FIP
+A0D1 ; [.32CC.0020.0002.A0D1] # YI SYLLABLE FAT
+A0D2 ; [.32CD.0020.0002.A0D2] # YI SYLLABLE FAX
+A0D3 ; [.32CE.0020.0002.A0D3] # YI SYLLABLE FA
+A0D4 ; [.32CF.0020.0002.A0D4] # YI SYLLABLE FAP
+A0D5 ; [.32D0.0020.0002.A0D5] # YI SYLLABLE FOX
+A0D6 ; [.32D1.0020.0002.A0D6] # YI SYLLABLE FO
+A0D7 ; [.32D2.0020.0002.A0D7] # YI SYLLABLE FOP
+A0D8 ; [.32D3.0020.0002.A0D8] # YI SYLLABLE FUT
+A0D9 ; [.32D4.0020.0002.A0D9] # YI SYLLABLE FUX
+A0DA ; [.32D5.0020.0002.A0DA] # YI SYLLABLE FU
+A0DB ; [.32D6.0020.0002.A0DB] # YI SYLLABLE FUP
+A0DC ; [.32D7.0020.0002.A0DC] # YI SYLLABLE FURX
+A0DD ; [.32D8.0020.0002.A0DD] # YI SYLLABLE FUR
+A0DE ; [.32D9.0020.0002.A0DE] # YI SYLLABLE FYT
+A0DF ; [.32DA.0020.0002.A0DF] # YI SYLLABLE FYX
+A0E0 ; [.32DB.0020.0002.A0E0] # YI SYLLABLE FY
+A0E1 ; [.32DC.0020.0002.A0E1] # YI SYLLABLE FYP
+A0E2 ; [.32DD.0020.0002.A0E2] # YI SYLLABLE VIT
+A0E3 ; [.32DE.0020.0002.A0E3] # YI SYLLABLE VIX
+A0E4 ; [.32DF.0020.0002.A0E4] # YI SYLLABLE VI
+A0E5 ; [.32E0.0020.0002.A0E5] # YI SYLLABLE VIP
+A0E6 ; [.32E1.0020.0002.A0E6] # YI SYLLABLE VIET
+A0E7 ; [.32E2.0020.0002.A0E7] # YI SYLLABLE VIEX
+A0E8 ; [.32E3.0020.0002.A0E8] # YI SYLLABLE VIE
+A0E9 ; [.32E4.0020.0002.A0E9] # YI SYLLABLE VIEP
+A0EA ; [.32E5.0020.0002.A0EA] # YI SYLLABLE VAT
+A0EB ; [.32E6.0020.0002.A0EB] # YI SYLLABLE VAX
+A0EC ; [.32E7.0020.0002.A0EC] # YI SYLLABLE VA
+A0ED ; [.32E8.0020.0002.A0ED] # YI SYLLABLE VAP
+A0EE ; [.32E9.0020.0002.A0EE] # YI SYLLABLE VOT
+A0EF ; [.32EA.0020.0002.A0EF] # YI SYLLABLE VOX
+A0F0 ; [.32EB.0020.0002.A0F0] # YI SYLLABLE VO
+A0F1 ; [.32EC.0020.0002.A0F1] # YI SYLLABLE VOP
+A0F2 ; [.32ED.0020.0002.A0F2] # YI SYLLABLE VEX
+A0F3 ; [.32EE.0020.0002.A0F3] # YI SYLLABLE VEP
+A0F4 ; [.32EF.0020.0002.A0F4] # YI SYLLABLE VUT
+A0F5 ; [.32F0.0020.0002.A0F5] # YI SYLLABLE VUX
+A0F6 ; [.32F1.0020.0002.A0F6] # YI SYLLABLE VU
+A0F7 ; [.32F2.0020.0002.A0F7] # YI SYLLABLE VUP
+A0F8 ; [.32F3.0020.0002.A0F8] # YI SYLLABLE VURX
+A0F9 ; [.32F4.0020.0002.A0F9] # YI SYLLABLE VUR
+A0FA ; [.32F5.0020.0002.A0FA] # YI SYLLABLE VYT
+A0FB ; [.32F6.0020.0002.A0FB] # YI SYLLABLE VYX
+A0FC ; [.32F7.0020.0002.A0FC] # YI SYLLABLE VY
+A0FD ; [.32F8.0020.0002.A0FD] # YI SYLLABLE VYP
+A0FE ; [.32F9.0020.0002.A0FE] # YI SYLLABLE VYRX
+A0FF ; [.32FA.0020.0002.A0FF] # YI SYLLABLE VYR
+A100 ; [.32FB.0020.0002.A100] # YI SYLLABLE DIT
+A101 ; [.32FC.0020.0002.A101] # YI SYLLABLE DIX
+A102 ; [.32FD.0020.0002.A102] # YI SYLLABLE DI
+A103 ; [.32FE.0020.0002.A103] # YI SYLLABLE DIP
+A104 ; [.32FF.0020.0002.A104] # YI SYLLABLE DIEX
+A105 ; [.3300.0020.0002.A105] # YI SYLLABLE DIE
+A106 ; [.3301.0020.0002.A106] # YI SYLLABLE DIEP
+A107 ; [.3302.0020.0002.A107] # YI SYLLABLE DAT
+A108 ; [.3303.0020.0002.A108] # YI SYLLABLE DAX
+A109 ; [.3304.0020.0002.A109] # YI SYLLABLE DA
+A10A ; [.3305.0020.0002.A10A] # YI SYLLABLE DAP
+A10B ; [.3306.0020.0002.A10B] # YI SYLLABLE DUOX
+A10C ; [.3307.0020.0002.A10C] # YI SYLLABLE DUO
+A10D ; [.3308.0020.0002.A10D] # YI SYLLABLE DOT
+A10E ; [.3309.0020.0002.A10E] # YI SYLLABLE DOX
+A10F ; [.330A.0020.0002.A10F] # YI SYLLABLE DO
+A110 ; [.330B.0020.0002.A110] # YI SYLLABLE DOP
+A111 ; [.330C.0020.0002.A111] # YI SYLLABLE DEX
+A112 ; [.330D.0020.0002.A112] # YI SYLLABLE DE
+A113 ; [.330E.0020.0002.A113] # YI SYLLABLE DEP
+A114 ; [.330F.0020.0002.A114] # YI SYLLABLE DUT
+A115 ; [.3310.0020.0002.A115] # YI SYLLABLE DUX
+A116 ; [.3311.0020.0002.A116] # YI SYLLABLE DU
+A117 ; [.3312.0020.0002.A117] # YI SYLLABLE DUP
+A118 ; [.3313.0020.0002.A118] # YI SYLLABLE DURX
+A119 ; [.3314.0020.0002.A119] # YI SYLLABLE DUR
+A11A ; [.3315.0020.0002.A11A] # YI SYLLABLE TIT
+A11B ; [.3316.0020.0002.A11B] # YI SYLLABLE TIX
+A11C ; [.3317.0020.0002.A11C] # YI SYLLABLE TI
+A11D ; [.3318.0020.0002.A11D] # YI SYLLABLE TIP
+A11E ; [.3319.0020.0002.A11E] # YI SYLLABLE TIEX
+A11F ; [.331A.0020.0002.A11F] # YI SYLLABLE TIE
+A120 ; [.331B.0020.0002.A120] # YI SYLLABLE TIEP
+A121 ; [.331C.0020.0002.A121] # YI SYLLABLE TAT
+A122 ; [.331D.0020.0002.A122] # YI SYLLABLE TAX
+A123 ; [.331E.0020.0002.A123] # YI SYLLABLE TA
+A124 ; [.331F.0020.0002.A124] # YI SYLLABLE TAP
+A125 ; [.3320.0020.0002.A125] # YI SYLLABLE TUOT
+A126 ; [.3321.0020.0002.A126] # YI SYLLABLE TUOX
+A127 ; [.3322.0020.0002.A127] # YI SYLLABLE TUO
+A128 ; [.3323.0020.0002.A128] # YI SYLLABLE TUOP
+A129 ; [.3324.0020.0002.A129] # YI SYLLABLE TOT
+A12A ; [.3325.0020.0002.A12A] # YI SYLLABLE TOX
+A12B ; [.3326.0020.0002.A12B] # YI SYLLABLE TO
+A12C ; [.3327.0020.0002.A12C] # YI SYLLABLE TOP
+A12D ; [.3328.0020.0002.A12D] # YI SYLLABLE TEX
+A12E ; [.3329.0020.0002.A12E] # YI SYLLABLE TE
+A12F ; [.332A.0020.0002.A12F] # YI SYLLABLE TEP
+A130 ; [.332B.0020.0002.A130] # YI SYLLABLE TUT
+A131 ; [.332C.0020.0002.A131] # YI SYLLABLE TUX
+A132 ; [.332D.0020.0002.A132] # YI SYLLABLE TU
+A133 ; [.332E.0020.0002.A133] # YI SYLLABLE TUP
+A134 ; [.332F.0020.0002.A134] # YI SYLLABLE TURX
+A135 ; [.3330.0020.0002.A135] # YI SYLLABLE TUR
+A136 ; [.3331.0020.0002.A136] # YI SYLLABLE DDIT
+A137 ; [.3332.0020.0002.A137] # YI SYLLABLE DDIX
+A138 ; [.3333.0020.0002.A138] # YI SYLLABLE DDI
+A139 ; [.3334.0020.0002.A139] # YI SYLLABLE DDIP
+A13A ; [.3335.0020.0002.A13A] # YI SYLLABLE DDIEX
+A13B ; [.3336.0020.0002.A13B] # YI SYLLABLE DDIE
+A13C ; [.3337.0020.0002.A13C] # YI SYLLABLE DDIEP
+A13D ; [.3338.0020.0002.A13D] # YI SYLLABLE DDAT
+A13E ; [.3339.0020.0002.A13E] # YI SYLLABLE DDAX
+A13F ; [.333A.0020.0002.A13F] # YI SYLLABLE DDA
+A140 ; [.333B.0020.0002.A140] # YI SYLLABLE DDAP
+A141 ; [.333C.0020.0002.A141] # YI SYLLABLE DDUOX
+A142 ; [.333D.0020.0002.A142] # YI SYLLABLE DDUO
+A143 ; [.333E.0020.0002.A143] # YI SYLLABLE DDUOP
+A144 ; [.333F.0020.0002.A144] # YI SYLLABLE DDOT
+A145 ; [.3340.0020.0002.A145] # YI SYLLABLE DDOX
+A146 ; [.3341.0020.0002.A146] # YI SYLLABLE DDO
+A147 ; [.3342.0020.0002.A147] # YI SYLLABLE DDOP
+A148 ; [.3343.0020.0002.A148] # YI SYLLABLE DDEX
+A149 ; [.3344.0020.0002.A149] # YI SYLLABLE DDE
+A14A ; [.3345.0020.0002.A14A] # YI SYLLABLE DDEP
+A14B ; [.3346.0020.0002.A14B] # YI SYLLABLE DDUT
+A14C ; [.3347.0020.0002.A14C] # YI SYLLABLE DDUX
+A14D ; [.3348.0020.0002.A14D] # YI SYLLABLE DDU
+A14E ; [.3349.0020.0002.A14E] # YI SYLLABLE DDUP
+A14F ; [.334A.0020.0002.A14F] # YI SYLLABLE DDURX
+A150 ; [.334B.0020.0002.A150] # YI SYLLABLE DDUR
+A151 ; [.334C.0020.0002.A151] # YI SYLLABLE NDIT
+A152 ; [.334D.0020.0002.A152] # YI SYLLABLE NDIX
+A153 ; [.334E.0020.0002.A153] # YI SYLLABLE NDI
+A154 ; [.334F.0020.0002.A154] # YI SYLLABLE NDIP
+A155 ; [.3350.0020.0002.A155] # YI SYLLABLE NDIEX
+A156 ; [.3351.0020.0002.A156] # YI SYLLABLE NDIE
+A157 ; [.3352.0020.0002.A157] # YI SYLLABLE NDAT
+A158 ; [.3353.0020.0002.A158] # YI SYLLABLE NDAX
+A159 ; [.3354.0020.0002.A159] # YI SYLLABLE NDA
+A15A ; [.3355.0020.0002.A15A] # YI SYLLABLE NDAP
+A15B ; [.3356.0020.0002.A15B] # YI SYLLABLE NDOT
+A15C ; [.3357.0020.0002.A15C] # YI SYLLABLE NDOX
+A15D ; [.3358.0020.0002.A15D] # YI SYLLABLE NDO
+A15E ; [.3359.0020.0002.A15E] # YI SYLLABLE NDOP
+A15F ; [.335A.0020.0002.A15F] # YI SYLLABLE NDEX
+A160 ; [.335B.0020.0002.A160] # YI SYLLABLE NDE
+A161 ; [.335C.0020.0002.A161] # YI SYLLABLE NDEP
+A162 ; [.335D.0020.0002.A162] # YI SYLLABLE NDUT
+A163 ; [.335E.0020.0002.A163] # YI SYLLABLE NDUX
+A164 ; [.335F.0020.0002.A164] # YI SYLLABLE NDU
+A165 ; [.3360.0020.0002.A165] # YI SYLLABLE NDUP
+A166 ; [.3361.0020.0002.A166] # YI SYLLABLE NDURX
+A167 ; [.3362.0020.0002.A167] # YI SYLLABLE NDUR
+A168 ; [.3363.0020.0002.A168] # YI SYLLABLE HNIT
+A169 ; [.3364.0020.0002.A169] # YI SYLLABLE HNIX
+A16A ; [.3365.0020.0002.A16A] # YI SYLLABLE HNI
+A16B ; [.3366.0020.0002.A16B] # YI SYLLABLE HNIP
+A16C ; [.3367.0020.0002.A16C] # YI SYLLABLE HNIET
+A16D ; [.3368.0020.0002.A16D] # YI SYLLABLE HNIEX
+A16E ; [.3369.0020.0002.A16E] # YI SYLLABLE HNIE
+A16F ; [.336A.0020.0002.A16F] # YI SYLLABLE HNIEP
+A170 ; [.336B.0020.0002.A170] # YI SYLLABLE HNAT
+A171 ; [.336C.0020.0002.A171] # YI SYLLABLE HNAX
+A172 ; [.336D.0020.0002.A172] # YI SYLLABLE HNA
+A173 ; [.336E.0020.0002.A173] # YI SYLLABLE HNAP
+A174 ; [.336F.0020.0002.A174] # YI SYLLABLE HNUOX
+A175 ; [.3370.0020.0002.A175] # YI SYLLABLE HNUO
+A176 ; [.3371.0020.0002.A176] # YI SYLLABLE HNOT
+A177 ; [.3372.0020.0002.A177] # YI SYLLABLE HNOX
+A178 ; [.3373.0020.0002.A178] # YI SYLLABLE HNOP
+A179 ; [.3374.0020.0002.A179] # YI SYLLABLE HNEX
+A17A ; [.3375.0020.0002.A17A] # YI SYLLABLE HNE
+A17B ; [.3376.0020.0002.A17B] # YI SYLLABLE HNEP
+A17C ; [.3377.0020.0002.A17C] # YI SYLLABLE HNUT
+A17D ; [.3378.0020.0002.A17D] # YI SYLLABLE NIT
+A17E ; [.3379.0020.0002.A17E] # YI SYLLABLE NIX
+A17F ; [.337A.0020.0002.A17F] # YI SYLLABLE NI
+A180 ; [.337B.0020.0002.A180] # YI SYLLABLE NIP
+A181 ; [.337C.0020.0002.A181] # YI SYLLABLE NIEX
+A182 ; [.337D.0020.0002.A182] # YI SYLLABLE NIE
+A183 ; [.337E.0020.0002.A183] # YI SYLLABLE NIEP
+A184 ; [.337F.0020.0002.A184] # YI SYLLABLE NAX
+A185 ; [.3380.0020.0002.A185] # YI SYLLABLE NA
+A186 ; [.3381.0020.0002.A186] # YI SYLLABLE NAP
+A187 ; [.3382.0020.0002.A187] # YI SYLLABLE NUOX
+A188 ; [.3383.0020.0002.A188] # YI SYLLABLE NUO
+A189 ; [.3384.0020.0002.A189] # YI SYLLABLE NUOP
+A18A ; [.3385.0020.0002.A18A] # YI SYLLABLE NOT
+A18B ; [.3386.0020.0002.A18B] # YI SYLLABLE NOX
+A18C ; [.3387.0020.0002.A18C] # YI SYLLABLE NO
+A18D ; [.3388.0020.0002.A18D] # YI SYLLABLE NOP
+A18E ; [.3389.0020.0002.A18E] # YI SYLLABLE NEX
+A18F ; [.338A.0020.0002.A18F] # YI SYLLABLE NE
+A190 ; [.338B.0020.0002.A190] # YI SYLLABLE NEP
+A191 ; [.338C.0020.0002.A191] # YI SYLLABLE NUT
+A192 ; [.338D.0020.0002.A192] # YI SYLLABLE NUX
+A193 ; [.338E.0020.0002.A193] # YI SYLLABLE NU
+A194 ; [.338F.0020.0002.A194] # YI SYLLABLE NUP
+A195 ; [.3390.0020.0002.A195] # YI SYLLABLE NURX
+A196 ; [.3391.0020.0002.A196] # YI SYLLABLE NUR
+A197 ; [.3392.0020.0002.A197] # YI SYLLABLE HLIT
+A198 ; [.3393.0020.0002.A198] # YI SYLLABLE HLIX
+A199 ; [.3394.0020.0002.A199] # YI SYLLABLE HLI
+A19A ; [.3395.0020.0002.A19A] # YI SYLLABLE HLIP
+A19B ; [.3396.0020.0002.A19B] # YI SYLLABLE HLIEX
+A19C ; [.3397.0020.0002.A19C] # YI SYLLABLE HLIE
+A19D ; [.3398.0020.0002.A19D] # YI SYLLABLE HLIEP
+A19E ; [.3399.0020.0002.A19E] # YI SYLLABLE HLAT
+A19F ; [.339A.0020.0002.A19F] # YI SYLLABLE HLAX
+A1A0 ; [.339B.0020.0002.A1A0] # YI SYLLABLE HLA
+A1A1 ; [.339C.0020.0002.A1A1] # YI SYLLABLE HLAP
+A1A2 ; [.339D.0020.0002.A1A2] # YI SYLLABLE HLUOX
+A1A3 ; [.339E.0020.0002.A1A3] # YI SYLLABLE HLUO
+A1A4 ; [.339F.0020.0002.A1A4] # YI SYLLABLE HLUOP
+A1A5 ; [.33A0.0020.0002.A1A5] # YI SYLLABLE HLOX
+A1A6 ; [.33A1.0020.0002.A1A6] # YI SYLLABLE HLO
+A1A7 ; [.33A2.0020.0002.A1A7] # YI SYLLABLE HLOP
+A1A8 ; [.33A3.0020.0002.A1A8] # YI SYLLABLE HLEX
+A1A9 ; [.33A4.0020.0002.A1A9] # YI SYLLABLE HLE
+A1AA ; [.33A5.0020.0002.A1AA] # YI SYLLABLE HLEP
+A1AB ; [.33A6.0020.0002.A1AB] # YI SYLLABLE HLUT
+A1AC ; [.33A7.0020.0002.A1AC] # YI SYLLABLE HLUX
+A1AD ; [.33A8.0020.0002.A1AD] # YI SYLLABLE HLU
+A1AE ; [.33A9.0020.0002.A1AE] # YI SYLLABLE HLUP
+A1AF ; [.33AA.0020.0002.A1AF] # YI SYLLABLE HLURX
+A1B0 ; [.33AB.0020.0002.A1B0] # YI SYLLABLE HLUR
+A1B1 ; [.33AC.0020.0002.A1B1] # YI SYLLABLE HLYT
+A1B2 ; [.33AD.0020.0002.A1B2] # YI SYLLABLE HLYX
+A1B3 ; [.33AE.0020.0002.A1B3] # YI SYLLABLE HLY
+A1B4 ; [.33AF.0020.0002.A1B4] # YI SYLLABLE HLYP
+A1B5 ; [.33B0.0020.0002.A1B5] # YI SYLLABLE HLYRX
+A1B6 ; [.33B1.0020.0002.A1B6] # YI SYLLABLE HLYR
+A1B7 ; [.33B2.0020.0002.A1B7] # YI SYLLABLE LIT
+A1B8 ; [.33B3.0020.0002.A1B8] # YI SYLLABLE LIX
+A1B9 ; [.33B4.0020.0002.A1B9] # YI SYLLABLE LI
+A1BA ; [.33B5.0020.0002.A1BA] # YI SYLLABLE LIP
+A1BB ; [.33B6.0020.0002.A1BB] # YI SYLLABLE LIET
+A1BC ; [.33B7.0020.0002.A1BC] # YI SYLLABLE LIEX
+A1BD ; [.33B8.0020.0002.A1BD] # YI SYLLABLE LIE
+A1BE ; [.33B9.0020.0002.A1BE] # YI SYLLABLE LIEP
+A1BF ; [.33BA.0020.0002.A1BF] # YI SYLLABLE LAT
+A1C0 ; [.33BB.0020.0002.A1C0] # YI SYLLABLE LAX
+A1C1 ; [.33BC.0020.0002.A1C1] # YI SYLLABLE LA
+A1C2 ; [.33BD.0020.0002.A1C2] # YI SYLLABLE LAP
+A1C3 ; [.33BE.0020.0002.A1C3] # YI SYLLABLE LUOT
+A1C4 ; [.33BF.0020.0002.A1C4] # YI SYLLABLE LUOX
+A1C5 ; [.33C0.0020.0002.A1C5] # YI SYLLABLE LUO
+A1C6 ; [.33C1.0020.0002.A1C6] # YI SYLLABLE LUOP
+A1C7 ; [.33C2.0020.0002.A1C7] # YI SYLLABLE LOT
+A1C8 ; [.33C3.0020.0002.A1C8] # YI SYLLABLE LOX
+A1C9 ; [.33C4.0020.0002.A1C9] # YI SYLLABLE LO
+A1CA ; [.33C5.0020.0002.A1CA] # YI SYLLABLE LOP
+A1CB ; [.33C6.0020.0002.A1CB] # YI SYLLABLE LEX
+A1CC ; [.33C7.0020.0002.A1CC] # YI SYLLABLE LE
+A1CD ; [.33C8.0020.0002.A1CD] # YI SYLLABLE LEP
+A1CE ; [.33C9.0020.0002.A1CE] # YI SYLLABLE LUT
+A1CF ; [.33CA.0020.0002.A1CF] # YI SYLLABLE LUX
+A1D0 ; [.33CB.0020.0002.A1D0] # YI SYLLABLE LU
+A1D1 ; [.33CC.0020.0002.A1D1] # YI SYLLABLE LUP
+A1D2 ; [.33CD.0020.0002.A1D2] # YI SYLLABLE LURX
+A1D3 ; [.33CE.0020.0002.A1D3] # YI SYLLABLE LUR
+A1D4 ; [.33CF.0020.0002.A1D4] # YI SYLLABLE LYT
+A1D5 ; [.33D0.0020.0002.A1D5] # YI SYLLABLE LYX
+A1D6 ; [.33D1.0020.0002.A1D6] # YI SYLLABLE LY
+A1D7 ; [.33D2.0020.0002.A1D7] # YI SYLLABLE LYP
+A1D8 ; [.33D3.0020.0002.A1D8] # YI SYLLABLE LYRX
+A1D9 ; [.33D4.0020.0002.A1D9] # YI SYLLABLE LYR
+A1DA ; [.33D5.0020.0002.A1DA] # YI SYLLABLE GIT
+A1DB ; [.33D6.0020.0002.A1DB] # YI SYLLABLE GIX
+A1DC ; [.33D7.0020.0002.A1DC] # YI SYLLABLE GI
+A1DD ; [.33D8.0020.0002.A1DD] # YI SYLLABLE GIP
+A1DE ; [.33D9.0020.0002.A1DE] # YI SYLLABLE GIET
+A1DF ; [.33DA.0020.0002.A1DF] # YI SYLLABLE GIEX
+A1E0 ; [.33DB.0020.0002.A1E0] # YI SYLLABLE GIE
+A1E1 ; [.33DC.0020.0002.A1E1] # YI SYLLABLE GIEP
+A1E2 ; [.33DD.0020.0002.A1E2] # YI SYLLABLE GAT
+A1E3 ; [.33DE.0020.0002.A1E3] # YI SYLLABLE GAX
+A1E4 ; [.33DF.0020.0002.A1E4] # YI SYLLABLE GA
+A1E5 ; [.33E0.0020.0002.A1E5] # YI SYLLABLE GAP
+A1E6 ; [.33E1.0020.0002.A1E6] # YI SYLLABLE GUOT
+A1E7 ; [.33E2.0020.0002.A1E7] # YI SYLLABLE GUOX
+A1E8 ; [.33E3.0020.0002.A1E8] # YI SYLLABLE GUO
+A1E9 ; [.33E4.0020.0002.A1E9] # YI SYLLABLE GUOP
+A1EA ; [.33E5.0020.0002.A1EA] # YI SYLLABLE GOT
+A1EB ; [.33E6.0020.0002.A1EB] # YI SYLLABLE GOX
+A1EC ; [.33E7.0020.0002.A1EC] # YI SYLLABLE GO
+A1ED ; [.33E8.0020.0002.A1ED] # YI SYLLABLE GOP
+A1EE ; [.33E9.0020.0002.A1EE] # YI SYLLABLE GET
+A1EF ; [.33EA.0020.0002.A1EF] # YI SYLLABLE GEX
+A1F0 ; [.33EB.0020.0002.A1F0] # YI SYLLABLE GE
+A1F1 ; [.33EC.0020.0002.A1F1] # YI SYLLABLE GEP
+A1F2 ; [.33ED.0020.0002.A1F2] # YI SYLLABLE GUT
+A1F3 ; [.33EE.0020.0002.A1F3] # YI SYLLABLE GUX
+A1F4 ; [.33EF.0020.0002.A1F4] # YI SYLLABLE GU
+A1F5 ; [.33F0.0020.0002.A1F5] # YI SYLLABLE GUP
+A1F6 ; [.33F1.0020.0002.A1F6] # YI SYLLABLE GURX
+A1F7 ; [.33F2.0020.0002.A1F7] # YI SYLLABLE GUR
+A1F8 ; [.33F3.0020.0002.A1F8] # YI SYLLABLE KIT
+A1F9 ; [.33F4.0020.0002.A1F9] # YI SYLLABLE KIX
+A1FA ; [.33F5.0020.0002.A1FA] # YI SYLLABLE KI
+A1FB ; [.33F6.0020.0002.A1FB] # YI SYLLABLE KIP
+A1FC ; [.33F7.0020.0002.A1FC] # YI SYLLABLE KIEX
+A1FD ; [.33F8.0020.0002.A1FD] # YI SYLLABLE KIE
+A1FE ; [.33F9.0020.0002.A1FE] # YI SYLLABLE KIEP
+A1FF ; [.33FA.0020.0002.A1FF] # YI SYLLABLE KAT
+A200 ; [.33FB.0020.0002.A200] # YI SYLLABLE KAX
+A201 ; [.33FC.0020.0002.A201] # YI SYLLABLE KA
+A202 ; [.33FD.0020.0002.A202] # YI SYLLABLE KAP
+A203 ; [.33FE.0020.0002.A203] # YI SYLLABLE KUOX
+A204 ; [.33FF.0020.0002.A204] # YI SYLLABLE KUO
+A205 ; [.3400.0020.0002.A205] # YI SYLLABLE KUOP
+A206 ; [.3401.0020.0002.A206] # YI SYLLABLE KOT
+A207 ; [.3402.0020.0002.A207] # YI SYLLABLE KOX
+A208 ; [.3403.0020.0002.A208] # YI SYLLABLE KO
+A209 ; [.3404.0020.0002.A209] # YI SYLLABLE KOP
+A20A ; [.3405.0020.0002.A20A] # YI SYLLABLE KET
+A20B ; [.3406.0020.0002.A20B] # YI SYLLABLE KEX
+A20C ; [.3407.0020.0002.A20C] # YI SYLLABLE KE
+A20D ; [.3408.0020.0002.A20D] # YI SYLLABLE KEP
+A20E ; [.3409.0020.0002.A20E] # YI SYLLABLE KUT
+A20F ; [.340A.0020.0002.A20F] # YI SYLLABLE KUX
+A210 ; [.340B.0020.0002.A210] # YI SYLLABLE KU
+A211 ; [.340C.0020.0002.A211] # YI SYLLABLE KUP
+A212 ; [.340D.0020.0002.A212] # YI SYLLABLE KURX
+A213 ; [.340E.0020.0002.A213] # YI SYLLABLE KUR
+A214 ; [.340F.0020.0002.A214] # YI SYLLABLE GGIT
+A215 ; [.3410.0020.0002.A215] # YI SYLLABLE GGIX
+A216 ; [.3411.0020.0002.A216] # YI SYLLABLE GGI
+A217 ; [.3412.0020.0002.A217] # YI SYLLABLE GGIEX
+A218 ; [.3413.0020.0002.A218] # YI SYLLABLE GGIE
+A219 ; [.3414.0020.0002.A219] # YI SYLLABLE GGIEP
+A21A ; [.3415.0020.0002.A21A] # YI SYLLABLE GGAT
+A21B ; [.3416.0020.0002.A21B] # YI SYLLABLE GGAX
+A21C ; [.3417.0020.0002.A21C] # YI SYLLABLE GGA
+A21D ; [.3418.0020.0002.A21D] # YI SYLLABLE GGAP
+A21E ; [.3419.0020.0002.A21E] # YI SYLLABLE GGUOT
+A21F ; [.341A.0020.0002.A21F] # YI SYLLABLE GGUOX
+A220 ; [.341B.0020.0002.A220] # YI SYLLABLE GGUO
+A221 ; [.341C.0020.0002.A221] # YI SYLLABLE GGUOP
+A222 ; [.341D.0020.0002.A222] # YI SYLLABLE GGOT
+A223 ; [.341E.0020.0002.A223] # YI SYLLABLE GGOX
+A224 ; [.341F.0020.0002.A224] # YI SYLLABLE GGO
+A225 ; [.3420.0020.0002.A225] # YI SYLLABLE GGOP
+A226 ; [.3421.0020.0002.A226] # YI SYLLABLE GGET
+A227 ; [.3422.0020.0002.A227] # YI SYLLABLE GGEX
+A228 ; [.3423.0020.0002.A228] # YI SYLLABLE GGE
+A229 ; [.3424.0020.0002.A229] # YI SYLLABLE GGEP
+A22A ; [.3425.0020.0002.A22A] # YI SYLLABLE GGUT
+A22B ; [.3426.0020.0002.A22B] # YI SYLLABLE GGUX
+A22C ; [.3427.0020.0002.A22C] # YI SYLLABLE GGU
+A22D ; [.3428.0020.0002.A22D] # YI SYLLABLE GGUP
+A22E ; [.3429.0020.0002.A22E] # YI SYLLABLE GGURX
+A22F ; [.342A.0020.0002.A22F] # YI SYLLABLE GGUR
+A230 ; [.342B.0020.0002.A230] # YI SYLLABLE MGIEX
+A231 ; [.342C.0020.0002.A231] # YI SYLLABLE MGIE
+A232 ; [.342D.0020.0002.A232] # YI SYLLABLE MGAT
+A233 ; [.342E.0020.0002.A233] # YI SYLLABLE MGAX
+A234 ; [.342F.0020.0002.A234] # YI SYLLABLE MGA
+A235 ; [.3430.0020.0002.A235] # YI SYLLABLE MGAP
+A236 ; [.3431.0020.0002.A236] # YI SYLLABLE MGUOX
+A237 ; [.3432.0020.0002.A237] # YI SYLLABLE MGUO
+A238 ; [.3433.0020.0002.A238] # YI SYLLABLE MGUOP
+A239 ; [.3434.0020.0002.A239] # YI SYLLABLE MGOT
+A23A ; [.3435.0020.0002.A23A] # YI SYLLABLE MGOX
+A23B ; [.3436.0020.0002.A23B] # YI SYLLABLE MGO
+A23C ; [.3437.0020.0002.A23C] # YI SYLLABLE MGOP
+A23D ; [.3438.0020.0002.A23D] # YI SYLLABLE MGEX
+A23E ; [.3439.0020.0002.A23E] # YI SYLLABLE MGE
+A23F ; [.343A.0020.0002.A23F] # YI SYLLABLE MGEP
+A240 ; [.343B.0020.0002.A240] # YI SYLLABLE MGUT
+A241 ; [.343C.0020.0002.A241] # YI SYLLABLE MGUX
+A242 ; [.343D.0020.0002.A242] # YI SYLLABLE MGU
+A243 ; [.343E.0020.0002.A243] # YI SYLLABLE MGUP
+A244 ; [.343F.0020.0002.A244] # YI SYLLABLE MGURX
+A245 ; [.3440.0020.0002.A245] # YI SYLLABLE MGUR
+A246 ; [.3441.0020.0002.A246] # YI SYLLABLE HXIT
+A247 ; [.3442.0020.0002.A247] # YI SYLLABLE HXIX
+A248 ; [.3443.0020.0002.A248] # YI SYLLABLE HXI
+A249 ; [.3444.0020.0002.A249] # YI SYLLABLE HXIP
+A24A ; [.3445.0020.0002.A24A] # YI SYLLABLE HXIET
+A24B ; [.3446.0020.0002.A24B] # YI SYLLABLE HXIEX
+A24C ; [.3447.0020.0002.A24C] # YI SYLLABLE HXIE
+A24D ; [.3448.0020.0002.A24D] # YI SYLLABLE HXIEP
+A24E ; [.3449.0020.0002.A24E] # YI SYLLABLE HXAT
+A24F ; [.344A.0020.0002.A24F] # YI SYLLABLE HXAX
+A250 ; [.344B.0020.0002.A250] # YI SYLLABLE HXA
+A251 ; [.344C.0020.0002.A251] # YI SYLLABLE HXAP
+A252 ; [.344D.0020.0002.A252] # YI SYLLABLE HXUOT
+A253 ; [.344E.0020.0002.A253] # YI SYLLABLE HXUOX
+A254 ; [.344F.0020.0002.A254] # YI SYLLABLE HXUO
+A255 ; [.3450.0020.0002.A255] # YI SYLLABLE HXUOP
+A256 ; [.3451.0020.0002.A256] # YI SYLLABLE HXOT
+A257 ; [.3452.0020.0002.A257] # YI SYLLABLE HXOX
+A258 ; [.3453.0020.0002.A258] # YI SYLLABLE HXO
+A259 ; [.3454.0020.0002.A259] # YI SYLLABLE HXOP
+A25A ; [.3455.0020.0002.A25A] # YI SYLLABLE HXEX
+A25B ; [.3456.0020.0002.A25B] # YI SYLLABLE HXE
+A25C ; [.3457.0020.0002.A25C] # YI SYLLABLE HXEP
+A25D ; [.3458.0020.0002.A25D] # YI SYLLABLE NGIEX
+A25E ; [.3459.0020.0002.A25E] # YI SYLLABLE NGIE
+A25F ; [.345A.0020.0002.A25F] # YI SYLLABLE NGIEP
+A260 ; [.345B.0020.0002.A260] # YI SYLLABLE NGAT
+A261 ; [.345C.0020.0002.A261] # YI SYLLABLE NGAX
+A262 ; [.345D.0020.0002.A262] # YI SYLLABLE NGA
+A263 ; [.345E.0020.0002.A263] # YI SYLLABLE NGAP
+A264 ; [.345F.0020.0002.A264] # YI SYLLABLE NGUOT
+A265 ; [.3460.0020.0002.A265] # YI SYLLABLE NGUOX
+A266 ; [.3461.0020.0002.A266] # YI SYLLABLE NGUO
+A267 ; [.3462.0020.0002.A267] # YI SYLLABLE NGOT
+A268 ; [.3463.0020.0002.A268] # YI SYLLABLE NGOX
+A269 ; [.3464.0020.0002.A269] # YI SYLLABLE NGO
+A26A ; [.3465.0020.0002.A26A] # YI SYLLABLE NGOP
+A26B ; [.3466.0020.0002.A26B] # YI SYLLABLE NGEX
+A26C ; [.3467.0020.0002.A26C] # YI SYLLABLE NGE
+A26D ; [.3468.0020.0002.A26D] # YI SYLLABLE NGEP
+A26E ; [.3469.0020.0002.A26E] # YI SYLLABLE HIT
+A26F ; [.346A.0020.0002.A26F] # YI SYLLABLE HIEX
+A270 ; [.346B.0020.0002.A270] # YI SYLLABLE HIE
+A271 ; [.346C.0020.0002.A271] # YI SYLLABLE HAT
+A272 ; [.346D.0020.0002.A272] # YI SYLLABLE HAX
+A273 ; [.346E.0020.0002.A273] # YI SYLLABLE HA
+A274 ; [.346F.0020.0002.A274] # YI SYLLABLE HAP
+A275 ; [.3470.0020.0002.A275] # YI SYLLABLE HUOT
+A276 ; [.3471.0020.0002.A276] # YI SYLLABLE HUOX
+A277 ; [.3472.0020.0002.A277] # YI SYLLABLE HUO
+A278 ; [.3473.0020.0002.A278] # YI SYLLABLE HUOP
+A279 ; [.3474.0020.0002.A279] # YI SYLLABLE HOT
+A27A ; [.3475.0020.0002.A27A] # YI SYLLABLE HOX
+A27B ; [.3476.0020.0002.A27B] # YI SYLLABLE HO
+A27C ; [.3477.0020.0002.A27C] # YI SYLLABLE HOP
+A27D ; [.3478.0020.0002.A27D] # YI SYLLABLE HEX
+A27E ; [.3479.0020.0002.A27E] # YI SYLLABLE HE
+A27F ; [.347A.0020.0002.A27F] # YI SYLLABLE HEP
+A280 ; [.347B.0020.0002.A280] # YI SYLLABLE WAT
+A281 ; [.347C.0020.0002.A281] # YI SYLLABLE WAX
+A282 ; [.347D.0020.0002.A282] # YI SYLLABLE WA
+A283 ; [.347E.0020.0002.A283] # YI SYLLABLE WAP
+A284 ; [.347F.0020.0002.A284] # YI SYLLABLE WUOX
+A285 ; [.3480.0020.0002.A285] # YI SYLLABLE WUO
+A286 ; [.3481.0020.0002.A286] # YI SYLLABLE WUOP
+A287 ; [.3482.0020.0002.A287] # YI SYLLABLE WOX
+A288 ; [.3483.0020.0002.A288] # YI SYLLABLE WO
+A289 ; [.3484.0020.0002.A289] # YI SYLLABLE WOP
+A28A ; [.3485.0020.0002.A28A] # YI SYLLABLE WEX
+A28B ; [.3486.0020.0002.A28B] # YI SYLLABLE WE
+A28C ; [.3487.0020.0002.A28C] # YI SYLLABLE WEP
+A28D ; [.3488.0020.0002.A28D] # YI SYLLABLE ZIT
+A28E ; [.3489.0020.0002.A28E] # YI SYLLABLE ZIX
+A28F ; [.348A.0020.0002.A28F] # YI SYLLABLE ZI
+A290 ; [.348B.0020.0002.A290] # YI SYLLABLE ZIP
+A291 ; [.348C.0020.0002.A291] # YI SYLLABLE ZIEX
+A292 ; [.348D.0020.0002.A292] # YI SYLLABLE ZIE
+A293 ; [.348E.0020.0002.A293] # YI SYLLABLE ZIEP
+A294 ; [.348F.0020.0002.A294] # YI SYLLABLE ZAT
+A295 ; [.3490.0020.0002.A295] # YI SYLLABLE ZAX
+A296 ; [.3491.0020.0002.A296] # YI SYLLABLE ZA
+A297 ; [.3492.0020.0002.A297] # YI SYLLABLE ZAP
+A298 ; [.3493.0020.0002.A298] # YI SYLLABLE ZUOX
+A299 ; [.3494.0020.0002.A299] # YI SYLLABLE ZUO
+A29A ; [.3495.0020.0002.A29A] # YI SYLLABLE ZUOP
+A29B ; [.3496.0020.0002.A29B] # YI SYLLABLE ZOT
+A29C ; [.3497.0020.0002.A29C] # YI SYLLABLE ZOX
+A29D ; [.3498.0020.0002.A29D] # YI SYLLABLE ZO
+A29E ; [.3499.0020.0002.A29E] # YI SYLLABLE ZOP
+A29F ; [.349A.0020.0002.A29F] # YI SYLLABLE ZEX
+A2A0 ; [.349B.0020.0002.A2A0] # YI SYLLABLE ZE
+A2A1 ; [.349C.0020.0002.A2A1] # YI SYLLABLE ZEP
+A2A2 ; [.349D.0020.0002.A2A2] # YI SYLLABLE ZUT
+A2A3 ; [.349E.0020.0002.A2A3] # YI SYLLABLE ZUX
+A2A4 ; [.349F.0020.0002.A2A4] # YI SYLLABLE ZU
+A2A5 ; [.34A0.0020.0002.A2A5] # YI SYLLABLE ZUP
+A2A6 ; [.34A1.0020.0002.A2A6] # YI SYLLABLE ZURX
+A2A7 ; [.34A2.0020.0002.A2A7] # YI SYLLABLE ZUR
+A2A8 ; [.34A3.0020.0002.A2A8] # YI SYLLABLE ZYT
+A2A9 ; [.34A4.0020.0002.A2A9] # YI SYLLABLE ZYX
+A2AA ; [.34A5.0020.0002.A2AA] # YI SYLLABLE ZY
+A2AB ; [.34A6.0020.0002.A2AB] # YI SYLLABLE ZYP
+A2AC ; [.34A7.0020.0002.A2AC] # YI SYLLABLE ZYRX
+A2AD ; [.34A8.0020.0002.A2AD] # YI SYLLABLE ZYR
+A2AE ; [.34A9.0020.0002.A2AE] # YI SYLLABLE CIT
+A2AF ; [.34AA.0020.0002.A2AF] # YI SYLLABLE CIX
+A2B0 ; [.34AB.0020.0002.A2B0] # YI SYLLABLE CI
+A2B1 ; [.34AC.0020.0002.A2B1] # YI SYLLABLE CIP
+A2B2 ; [.34AD.0020.0002.A2B2] # YI SYLLABLE CIET
+A2B3 ; [.34AE.0020.0002.A2B3] # YI SYLLABLE CIEX
+A2B4 ; [.34AF.0020.0002.A2B4] # YI SYLLABLE CIE
+A2B5 ; [.34B0.0020.0002.A2B5] # YI SYLLABLE CIEP
+A2B6 ; [.34B1.0020.0002.A2B6] # YI SYLLABLE CAT
+A2B7 ; [.34B2.0020.0002.A2B7] # YI SYLLABLE CAX
+A2B8 ; [.34B3.0020.0002.A2B8] # YI SYLLABLE CA
+A2B9 ; [.34B4.0020.0002.A2B9] # YI SYLLABLE CAP
+A2BA ; [.34B5.0020.0002.A2BA] # YI SYLLABLE CUOX
+A2BB ; [.34B6.0020.0002.A2BB] # YI SYLLABLE CUO
+A2BC ; [.34B7.0020.0002.A2BC] # YI SYLLABLE CUOP
+A2BD ; [.34B8.0020.0002.A2BD] # YI SYLLABLE COT
+A2BE ; [.34B9.0020.0002.A2BE] # YI SYLLABLE COX
+A2BF ; [.34BA.0020.0002.A2BF] # YI SYLLABLE CO
+A2C0 ; [.34BB.0020.0002.A2C0] # YI SYLLABLE COP
+A2C1 ; [.34BC.0020.0002.A2C1] # YI SYLLABLE CEX
+A2C2 ; [.34BD.0020.0002.A2C2] # YI SYLLABLE CE
+A2C3 ; [.34BE.0020.0002.A2C3] # YI SYLLABLE CEP
+A2C4 ; [.34BF.0020.0002.A2C4] # YI SYLLABLE CUT
+A2C5 ; [.34C0.0020.0002.A2C5] # YI SYLLABLE CUX
+A2C6 ; [.34C1.0020.0002.A2C6] # YI SYLLABLE CU
+A2C7 ; [.34C2.0020.0002.A2C7] # YI SYLLABLE CUP
+A2C8 ; [.34C3.0020.0002.A2C8] # YI SYLLABLE CURX
+A2C9 ; [.34C4.0020.0002.A2C9] # YI SYLLABLE CUR
+A2CA ; [.34C5.0020.0002.A2CA] # YI SYLLABLE CYT
+A2CB ; [.34C6.0020.0002.A2CB] # YI SYLLABLE CYX
+A2CC ; [.34C7.0020.0002.A2CC] # YI SYLLABLE CY
+A2CD ; [.34C8.0020.0002.A2CD] # YI SYLLABLE CYP
+A2CE ; [.34C9.0020.0002.A2CE] # YI SYLLABLE CYRX
+A2CF ; [.34CA.0020.0002.A2CF] # YI SYLLABLE CYR
+A2D0 ; [.34CB.0020.0002.A2D0] # YI SYLLABLE ZZIT
+A2D1 ; [.34CC.0020.0002.A2D1] # YI SYLLABLE ZZIX
+A2D2 ; [.34CD.0020.0002.A2D2] # YI SYLLABLE ZZI
+A2D3 ; [.34CE.0020.0002.A2D3] # YI SYLLABLE ZZIP
+A2D4 ; [.34CF.0020.0002.A2D4] # YI SYLLABLE ZZIET
+A2D5 ; [.34D0.0020.0002.A2D5] # YI SYLLABLE ZZIEX
+A2D6 ; [.34D1.0020.0002.A2D6] # YI SYLLABLE ZZIE
+A2D7 ; [.34D2.0020.0002.A2D7] # YI SYLLABLE ZZIEP
+A2D8 ; [.34D3.0020.0002.A2D8] # YI SYLLABLE ZZAT
+A2D9 ; [.34D4.0020.0002.A2D9] # YI SYLLABLE ZZAX
+A2DA ; [.34D5.0020.0002.A2DA] # YI SYLLABLE ZZA
+A2DB ; [.34D6.0020.0002.A2DB] # YI SYLLABLE ZZAP
+A2DC ; [.34D7.0020.0002.A2DC] # YI SYLLABLE ZZOX
+A2DD ; [.34D8.0020.0002.A2DD] # YI SYLLABLE ZZO
+A2DE ; [.34D9.0020.0002.A2DE] # YI SYLLABLE ZZOP
+A2DF ; [.34DA.0020.0002.A2DF] # YI SYLLABLE ZZEX
+A2E0 ; [.34DB.0020.0002.A2E0] # YI SYLLABLE ZZE
+A2E1 ; [.34DC.0020.0002.A2E1] # YI SYLLABLE ZZEP
+A2E2 ; [.34DD.0020.0002.A2E2] # YI SYLLABLE ZZUX
+A2E3 ; [.34DE.0020.0002.A2E3] # YI SYLLABLE ZZU
+A2E4 ; [.34DF.0020.0002.A2E4] # YI SYLLABLE ZZUP
+A2E5 ; [.34E0.0020.0002.A2E5] # YI SYLLABLE ZZURX
+A2E6 ; [.34E1.0020.0002.A2E6] # YI SYLLABLE ZZUR
+A2E7 ; [.34E2.0020.0002.A2E7] # YI SYLLABLE ZZYT
+A2E8 ; [.34E3.0020.0002.A2E8] # YI SYLLABLE ZZYX
+A2E9 ; [.34E4.0020.0002.A2E9] # YI SYLLABLE ZZY
+A2EA ; [.34E5.0020.0002.A2EA] # YI SYLLABLE ZZYP
+A2EB ; [.34E6.0020.0002.A2EB] # YI SYLLABLE ZZYRX
+A2EC ; [.34E7.0020.0002.A2EC] # YI SYLLABLE ZZYR
+A2ED ; [.34E8.0020.0002.A2ED] # YI SYLLABLE NZIT
+A2EE ; [.34E9.0020.0002.A2EE] # YI SYLLABLE NZIX
+A2EF ; [.34EA.0020.0002.A2EF] # YI SYLLABLE NZI
+A2F0 ; [.34EB.0020.0002.A2F0] # YI SYLLABLE NZIP
+A2F1 ; [.34EC.0020.0002.A2F1] # YI SYLLABLE NZIEX
+A2F2 ; [.34ED.0020.0002.A2F2] # YI SYLLABLE NZIE
+A2F3 ; [.34EE.0020.0002.A2F3] # YI SYLLABLE NZIEP
+A2F4 ; [.34EF.0020.0002.A2F4] # YI SYLLABLE NZAT
+A2F5 ; [.34F0.0020.0002.A2F5] # YI SYLLABLE NZAX
+A2F6 ; [.34F1.0020.0002.A2F6] # YI SYLLABLE NZA
+A2F7 ; [.34F2.0020.0002.A2F7] # YI SYLLABLE NZAP
+A2F8 ; [.34F3.0020.0002.A2F8] # YI SYLLABLE NZUOX
+A2F9 ; [.34F4.0020.0002.A2F9] # YI SYLLABLE NZUO
+A2FA ; [.34F5.0020.0002.A2FA] # YI SYLLABLE NZOX
+A2FB ; [.34F6.0020.0002.A2FB] # YI SYLLABLE NZOP
+A2FC ; [.34F7.0020.0002.A2FC] # YI SYLLABLE NZEX
+A2FD ; [.34F8.0020.0002.A2FD] # YI SYLLABLE NZE
+A2FE ; [.34F9.0020.0002.A2FE] # YI SYLLABLE NZUX
+A2FF ; [.34FA.0020.0002.A2FF] # YI SYLLABLE NZU
+A300 ; [.34FB.0020.0002.A300] # YI SYLLABLE NZUP
+A301 ; [.34FC.0020.0002.A301] # YI SYLLABLE NZURX
+A302 ; [.34FD.0020.0002.A302] # YI SYLLABLE NZUR
+A303 ; [.34FE.0020.0002.A303] # YI SYLLABLE NZYT
+A304 ; [.34FF.0020.0002.A304] # YI SYLLABLE NZYX
+A305 ; [.3500.0020.0002.A305] # YI SYLLABLE NZY
+A306 ; [.3501.0020.0002.A306] # YI SYLLABLE NZYP
+A307 ; [.3502.0020.0002.A307] # YI SYLLABLE NZYRX
+A308 ; [.3503.0020.0002.A308] # YI SYLLABLE NZYR
+A309 ; [.3504.0020.0002.A309] # YI SYLLABLE SIT
+A30A ; [.3505.0020.0002.A30A] # YI SYLLABLE SIX
+A30B ; [.3506.0020.0002.A30B] # YI SYLLABLE SI
+A30C ; [.3507.0020.0002.A30C] # YI SYLLABLE SIP
+A30D ; [.3508.0020.0002.A30D] # YI SYLLABLE SIEX
+A30E ; [.3509.0020.0002.A30E] # YI SYLLABLE SIE
+A30F ; [.350A.0020.0002.A30F] # YI SYLLABLE SIEP
+A310 ; [.350B.0020.0002.A310] # YI SYLLABLE SAT
+A311 ; [.350C.0020.0002.A311] # YI SYLLABLE SAX
+A312 ; [.350D.0020.0002.A312] # YI SYLLABLE SA
+A313 ; [.350E.0020.0002.A313] # YI SYLLABLE SAP
+A314 ; [.350F.0020.0002.A314] # YI SYLLABLE SUOX
+A315 ; [.3510.0020.0002.A315] # YI SYLLABLE SUO
+A316 ; [.3511.0020.0002.A316] # YI SYLLABLE SUOP
+A317 ; [.3512.0020.0002.A317] # YI SYLLABLE SOT
+A318 ; [.3513.0020.0002.A318] # YI SYLLABLE SOX
+A319 ; [.3514.0020.0002.A319] # YI SYLLABLE SO
+A31A ; [.3515.0020.0002.A31A] # YI SYLLABLE SOP
+A31B ; [.3516.0020.0002.A31B] # YI SYLLABLE SEX
+A31C ; [.3517.0020.0002.A31C] # YI SYLLABLE SE
+A31D ; [.3518.0020.0002.A31D] # YI SYLLABLE SEP
+A31E ; [.3519.0020.0002.A31E] # YI SYLLABLE SUT
+A31F ; [.351A.0020.0002.A31F] # YI SYLLABLE SUX
+A320 ; [.351B.0020.0002.A320] # YI SYLLABLE SU
+A321 ; [.351C.0020.0002.A321] # YI SYLLABLE SUP
+A322 ; [.351D.0020.0002.A322] # YI SYLLABLE SURX
+A323 ; [.351E.0020.0002.A323] # YI SYLLABLE SUR
+A324 ; [.351F.0020.0002.A324] # YI SYLLABLE SYT
+A325 ; [.3520.0020.0002.A325] # YI SYLLABLE SYX
+A326 ; [.3521.0020.0002.A326] # YI SYLLABLE SY
+A327 ; [.3522.0020.0002.A327] # YI SYLLABLE SYP
+A328 ; [.3523.0020.0002.A328] # YI SYLLABLE SYRX
+A329 ; [.3524.0020.0002.A329] # YI SYLLABLE SYR
+A32A ; [.3525.0020.0002.A32A] # YI SYLLABLE SSIT
+A32B ; [.3526.0020.0002.A32B] # YI SYLLABLE SSIX
+A32C ; [.3527.0020.0002.A32C] # YI SYLLABLE SSI
+A32D ; [.3528.0020.0002.A32D] # YI SYLLABLE SSIP
+A32E ; [.3529.0020.0002.A32E] # YI SYLLABLE SSIEX
+A32F ; [.352A.0020.0002.A32F] # YI SYLLABLE SSIE
+A330 ; [.352B.0020.0002.A330] # YI SYLLABLE SSIEP
+A331 ; [.352C.0020.0002.A331] # YI SYLLABLE SSAT
+A332 ; [.352D.0020.0002.A332] # YI SYLLABLE SSAX
+A333 ; [.352E.0020.0002.A333] # YI SYLLABLE SSA
+A334 ; [.352F.0020.0002.A334] # YI SYLLABLE SSAP
+A335 ; [.3530.0020.0002.A335] # YI SYLLABLE SSOT
+A336 ; [.3531.0020.0002.A336] # YI SYLLABLE SSOX
+A337 ; [.3532.0020.0002.A337] # YI SYLLABLE SSO
+A338 ; [.3533.0020.0002.A338] # YI SYLLABLE SSOP
+A339 ; [.3534.0020.0002.A339] # YI SYLLABLE SSEX
+A33A ; [.3535.0020.0002.A33A] # YI SYLLABLE SSE
+A33B ; [.3536.0020.0002.A33B] # YI SYLLABLE SSEP
+A33C ; [.3537.0020.0002.A33C] # YI SYLLABLE SSUT
+A33D ; [.3538.0020.0002.A33D] # YI SYLLABLE SSUX
+A33E ; [.3539.0020.0002.A33E] # YI SYLLABLE SSU
+A33F ; [.353A.0020.0002.A33F] # YI SYLLABLE SSUP
+A340 ; [.353B.0020.0002.A340] # YI SYLLABLE SSYT
+A341 ; [.353C.0020.0002.A341] # YI SYLLABLE SSYX
+A342 ; [.353D.0020.0002.A342] # YI SYLLABLE SSY
+A343 ; [.353E.0020.0002.A343] # YI SYLLABLE SSYP
+A344 ; [.353F.0020.0002.A344] # YI SYLLABLE SSYRX
+A345 ; [.3540.0020.0002.A345] # YI SYLLABLE SSYR
+A346 ; [.3541.0020.0002.A346] # YI SYLLABLE ZHAT
+A347 ; [.3542.0020.0002.A347] # YI SYLLABLE ZHAX
+A348 ; [.3543.0020.0002.A348] # YI SYLLABLE ZHA
+A349 ; [.3544.0020.0002.A349] # YI SYLLABLE ZHAP
+A34A ; [.3545.0020.0002.A34A] # YI SYLLABLE ZHUOX
+A34B ; [.3546.0020.0002.A34B] # YI SYLLABLE ZHUO
+A34C ; [.3547.0020.0002.A34C] # YI SYLLABLE ZHUOP
+A34D ; [.3548.0020.0002.A34D] # YI SYLLABLE ZHOT
+A34E ; [.3549.0020.0002.A34E] # YI SYLLABLE ZHOX
+A34F ; [.354A.0020.0002.A34F] # YI SYLLABLE ZHO
+A350 ; [.354B.0020.0002.A350] # YI SYLLABLE ZHOP
+A351 ; [.354C.0020.0002.A351] # YI SYLLABLE ZHET
+A352 ; [.354D.0020.0002.A352] # YI SYLLABLE ZHEX
+A353 ; [.354E.0020.0002.A353] # YI SYLLABLE ZHE
+A354 ; [.354F.0020.0002.A354] # YI SYLLABLE ZHEP
+A355 ; [.3550.0020.0002.A355] # YI SYLLABLE ZHUT
+A356 ; [.3551.0020.0002.A356] # YI SYLLABLE ZHUX
+A357 ; [.3552.0020.0002.A357] # YI SYLLABLE ZHU
+A358 ; [.3553.0020.0002.A358] # YI SYLLABLE ZHUP
+A359 ; [.3554.0020.0002.A359] # YI SYLLABLE ZHURX
+A35A ; [.3555.0020.0002.A35A] # YI SYLLABLE ZHUR
+A35B ; [.3556.0020.0002.A35B] # YI SYLLABLE ZHYT
+A35C ; [.3557.0020.0002.A35C] # YI SYLLABLE ZHYX
+A35D ; [.3558.0020.0002.A35D] # YI SYLLABLE ZHY
+A35E ; [.3559.0020.0002.A35E] # YI SYLLABLE ZHYP
+A35F ; [.355A.0020.0002.A35F] # YI SYLLABLE ZHYRX
+A360 ; [.355B.0020.0002.A360] # YI SYLLABLE ZHYR
+A361 ; [.355C.0020.0002.A361] # YI SYLLABLE CHAT
+A362 ; [.355D.0020.0002.A362] # YI SYLLABLE CHAX
+A363 ; [.355E.0020.0002.A363] # YI SYLLABLE CHA
+A364 ; [.355F.0020.0002.A364] # YI SYLLABLE CHAP
+A365 ; [.3560.0020.0002.A365] # YI SYLLABLE CHUOT
+A366 ; [.3561.0020.0002.A366] # YI SYLLABLE CHUOX
+A367 ; [.3562.0020.0002.A367] # YI SYLLABLE CHUO
+A368 ; [.3563.0020.0002.A368] # YI SYLLABLE CHUOP
+A369 ; [.3564.0020.0002.A369] # YI SYLLABLE CHOT
+A36A ; [.3565.0020.0002.A36A] # YI SYLLABLE CHOX
+A36B ; [.3566.0020.0002.A36B] # YI SYLLABLE CHO
+A36C ; [.3567.0020.0002.A36C] # YI SYLLABLE CHOP
+A36D ; [.3568.0020.0002.A36D] # YI SYLLABLE CHET
+A36E ; [.3569.0020.0002.A36E] # YI SYLLABLE CHEX
+A36F ; [.356A.0020.0002.A36F] # YI SYLLABLE CHE
+A370 ; [.356B.0020.0002.A370] # YI SYLLABLE CHEP
+A371 ; [.356C.0020.0002.A371] # YI SYLLABLE CHUX
+A372 ; [.356D.0020.0002.A372] # YI SYLLABLE CHU
+A373 ; [.356E.0020.0002.A373] # YI SYLLABLE CHUP
+A374 ; [.356F.0020.0002.A374] # YI SYLLABLE CHURX
+A375 ; [.3570.0020.0002.A375] # YI SYLLABLE CHUR
+A376 ; [.3571.0020.0002.A376] # YI SYLLABLE CHYT
+A377 ; [.3572.0020.0002.A377] # YI SYLLABLE CHYX
+A378 ; [.3573.0020.0002.A378] # YI SYLLABLE CHY
+A379 ; [.3574.0020.0002.A379] # YI SYLLABLE CHYP
+A37A ; [.3575.0020.0002.A37A] # YI SYLLABLE CHYRX
+A37B ; [.3576.0020.0002.A37B] # YI SYLLABLE CHYR
+A37C ; [.3577.0020.0002.A37C] # YI SYLLABLE RRAX
+A37D ; [.3578.0020.0002.A37D] # YI SYLLABLE RRA
+A37E ; [.3579.0020.0002.A37E] # YI SYLLABLE RRUOX
+A37F ; [.357A.0020.0002.A37F] # YI SYLLABLE RRUO
+A380 ; [.357B.0020.0002.A380] # YI SYLLABLE RROT
+A381 ; [.357C.0020.0002.A381] # YI SYLLABLE RROX
+A382 ; [.357D.0020.0002.A382] # YI SYLLABLE RRO
+A383 ; [.357E.0020.0002.A383] # YI SYLLABLE RROP
+A384 ; [.357F.0020.0002.A384] # YI SYLLABLE RRET
+A385 ; [.3580.0020.0002.A385] # YI SYLLABLE RREX
+A386 ; [.3581.0020.0002.A386] # YI SYLLABLE RRE
+A387 ; [.3582.0020.0002.A387] # YI SYLLABLE RREP
+A388 ; [.3583.0020.0002.A388] # YI SYLLABLE RRUT
+A389 ; [.3584.0020.0002.A389] # YI SYLLABLE RRUX
+A38A ; [.3585.0020.0002.A38A] # YI SYLLABLE RRU
+A38B ; [.3586.0020.0002.A38B] # YI SYLLABLE RRUP
+A38C ; [.3587.0020.0002.A38C] # YI SYLLABLE RRURX
+A38D ; [.3588.0020.0002.A38D] # YI SYLLABLE RRUR
+A38E ; [.3589.0020.0002.A38E] # YI SYLLABLE RRYT
+A38F ; [.358A.0020.0002.A38F] # YI SYLLABLE RRYX
+A390 ; [.358B.0020.0002.A390] # YI SYLLABLE RRY
+A391 ; [.358C.0020.0002.A391] # YI SYLLABLE RRYP
+A392 ; [.358D.0020.0002.A392] # YI SYLLABLE RRYRX
+A393 ; [.358E.0020.0002.A393] # YI SYLLABLE RRYR
+A394 ; [.358F.0020.0002.A394] # YI SYLLABLE NRAT
+A395 ; [.3590.0020.0002.A395] # YI SYLLABLE NRAX
+A396 ; [.3591.0020.0002.A396] # YI SYLLABLE NRA
+A397 ; [.3592.0020.0002.A397] # YI SYLLABLE NRAP
+A398 ; [.3593.0020.0002.A398] # YI SYLLABLE NROX
+A399 ; [.3594.0020.0002.A399] # YI SYLLABLE NRO
+A39A ; [.3595.0020.0002.A39A] # YI SYLLABLE NROP
+A39B ; [.3596.0020.0002.A39B] # YI SYLLABLE NRET
+A39C ; [.3597.0020.0002.A39C] # YI SYLLABLE NREX
+A39D ; [.3598.0020.0002.A39D] # YI SYLLABLE NRE
+A39E ; [.3599.0020.0002.A39E] # YI SYLLABLE NREP
+A39F ; [.359A.0020.0002.A39F] # YI SYLLABLE NRUT
+A3A0 ; [.359B.0020.0002.A3A0] # YI SYLLABLE NRUX
+A3A1 ; [.359C.0020.0002.A3A1] # YI SYLLABLE NRU
+A3A2 ; [.359D.0020.0002.A3A2] # YI SYLLABLE NRUP
+A3A3 ; [.359E.0020.0002.A3A3] # YI SYLLABLE NRURX
+A3A4 ; [.359F.0020.0002.A3A4] # YI SYLLABLE NRUR
+A3A5 ; [.35A0.0020.0002.A3A5] # YI SYLLABLE NRYT
+A3A6 ; [.35A1.0020.0002.A3A6] # YI SYLLABLE NRYX
+A3A7 ; [.35A2.0020.0002.A3A7] # YI SYLLABLE NRY
+A3A8 ; [.35A3.0020.0002.A3A8] # YI SYLLABLE NRYP
+A3A9 ; [.35A4.0020.0002.A3A9] # YI SYLLABLE NRYRX
+A3AA ; [.35A5.0020.0002.A3AA] # YI SYLLABLE NRYR
+A3AB ; [.35A6.0020.0002.A3AB] # YI SYLLABLE SHAT
+A3AC ; [.35A7.0020.0002.A3AC] # YI SYLLABLE SHAX
+A3AD ; [.35A8.0020.0002.A3AD] # YI SYLLABLE SHA
+A3AE ; [.35A9.0020.0002.A3AE] # YI SYLLABLE SHAP
+A3AF ; [.35AA.0020.0002.A3AF] # YI SYLLABLE SHUOX
+A3B0 ; [.35AB.0020.0002.A3B0] # YI SYLLABLE SHUO
+A3B1 ; [.35AC.0020.0002.A3B1] # YI SYLLABLE SHUOP
+A3B2 ; [.35AD.0020.0002.A3B2] # YI SYLLABLE SHOT
+A3B3 ; [.35AE.0020.0002.A3B3] # YI SYLLABLE SHOX
+A3B4 ; [.35AF.0020.0002.A3B4] # YI SYLLABLE SHO
+A3B5 ; [.35B0.0020.0002.A3B5] # YI SYLLABLE SHOP
+A3B6 ; [.35B1.0020.0002.A3B6] # YI SYLLABLE SHET
+A3B7 ; [.35B2.0020.0002.A3B7] # YI SYLLABLE SHEX
+A3B8 ; [.35B3.0020.0002.A3B8] # YI SYLLABLE SHE
+A3B9 ; [.35B4.0020.0002.A3B9] # YI SYLLABLE SHEP
+A3BA ; [.35B5.0020.0002.A3BA] # YI SYLLABLE SHUT
+A3BB ; [.35B6.0020.0002.A3BB] # YI SYLLABLE SHUX
+A3BC ; [.35B7.0020.0002.A3BC] # YI SYLLABLE SHU
+A3BD ; [.35B8.0020.0002.A3BD] # YI SYLLABLE SHUP
+A3BE ; [.35B9.0020.0002.A3BE] # YI SYLLABLE SHURX
+A3BF ; [.35BA.0020.0002.A3BF] # YI SYLLABLE SHUR
+A3C0 ; [.35BB.0020.0002.A3C0] # YI SYLLABLE SHYT
+A3C1 ; [.35BC.0020.0002.A3C1] # YI SYLLABLE SHYX
+A3C2 ; [.35BD.0020.0002.A3C2] # YI SYLLABLE SHY
+A3C3 ; [.35BE.0020.0002.A3C3] # YI SYLLABLE SHYP
+A3C4 ; [.35BF.0020.0002.A3C4] # YI SYLLABLE SHYRX
+A3C5 ; [.35C0.0020.0002.A3C5] # YI SYLLABLE SHYR
+A3C6 ; [.35C1.0020.0002.A3C6] # YI SYLLABLE RAT
+A3C7 ; [.35C2.0020.0002.A3C7] # YI SYLLABLE RAX
+A3C8 ; [.35C3.0020.0002.A3C8] # YI SYLLABLE RA
+A3C9 ; [.35C4.0020.0002.A3C9] # YI SYLLABLE RAP
+A3CA ; [.35C5.0020.0002.A3CA] # YI SYLLABLE RUOX
+A3CB ; [.35C6.0020.0002.A3CB] # YI SYLLABLE RUO
+A3CC ; [.35C7.0020.0002.A3CC] # YI SYLLABLE RUOP
+A3CD ; [.35C8.0020.0002.A3CD] # YI SYLLABLE ROT
+A3CE ; [.35C9.0020.0002.A3CE] # YI SYLLABLE ROX
+A3CF ; [.35CA.0020.0002.A3CF] # YI SYLLABLE RO
+A3D0 ; [.35CB.0020.0002.A3D0] # YI SYLLABLE ROP
+A3D1 ; [.35CC.0020.0002.A3D1] # YI SYLLABLE REX
+A3D2 ; [.35CD.0020.0002.A3D2] # YI SYLLABLE RE
+A3D3 ; [.35CE.0020.0002.A3D3] # YI SYLLABLE REP
+A3D4 ; [.35CF.0020.0002.A3D4] # YI SYLLABLE RUT
+A3D5 ; [.35D0.0020.0002.A3D5] # YI SYLLABLE RUX
+A3D6 ; [.35D1.0020.0002.A3D6] # YI SYLLABLE RU
+A3D7 ; [.35D2.0020.0002.A3D7] # YI SYLLABLE RUP
+A3D8 ; [.35D3.0020.0002.A3D8] # YI SYLLABLE RURX
+A3D9 ; [.35D4.0020.0002.A3D9] # YI SYLLABLE RUR
+A3DA ; [.35D5.0020.0002.A3DA] # YI SYLLABLE RYT
+A3DB ; [.35D6.0020.0002.A3DB] # YI SYLLABLE RYX
+A3DC ; [.35D7.0020.0002.A3DC] # YI SYLLABLE RY
+A3DD ; [.35D8.0020.0002.A3DD] # YI SYLLABLE RYP
+A3DE ; [.35D9.0020.0002.A3DE] # YI SYLLABLE RYRX
+A3DF ; [.35DA.0020.0002.A3DF] # YI SYLLABLE RYR
+A3E0 ; [.35DB.0020.0002.A3E0] # YI SYLLABLE JIT
+A3E1 ; [.35DC.0020.0002.A3E1] # YI SYLLABLE JIX
+A3E2 ; [.35DD.0020.0002.A3E2] # YI SYLLABLE JI
+A3E3 ; [.35DE.0020.0002.A3E3] # YI SYLLABLE JIP
+A3E4 ; [.35DF.0020.0002.A3E4] # YI SYLLABLE JIET
+A3E5 ; [.35E0.0020.0002.A3E5] # YI SYLLABLE JIEX
+A3E6 ; [.35E1.0020.0002.A3E6] # YI SYLLABLE JIE
+A3E7 ; [.35E2.0020.0002.A3E7] # YI SYLLABLE JIEP
+A3E8 ; [.35E3.0020.0002.A3E8] # YI SYLLABLE JUOT
+A3E9 ; [.35E4.0020.0002.A3E9] # YI SYLLABLE JUOX
+A3EA ; [.35E5.0020.0002.A3EA] # YI SYLLABLE JUO
+A3EB ; [.35E6.0020.0002.A3EB] # YI SYLLABLE JUOP
+A3EC ; [.35E7.0020.0002.A3EC] # YI SYLLABLE JOT
+A3ED ; [.35E8.0020.0002.A3ED] # YI SYLLABLE JOX
+A3EE ; [.35E9.0020.0002.A3EE] # YI SYLLABLE JO
+A3EF ; [.35EA.0020.0002.A3EF] # YI SYLLABLE JOP
+A3F0 ; [.35EB.0020.0002.A3F0] # YI SYLLABLE JUT
+A3F1 ; [.35EC.0020.0002.A3F1] # YI SYLLABLE JUX
+A3F2 ; [.35ED.0020.0002.A3F2] # YI SYLLABLE JU
+A3F3 ; [.35EE.0020.0002.A3F3] # YI SYLLABLE JUP
+A3F4 ; [.35EF.0020.0002.A3F4] # YI SYLLABLE JURX
+A3F5 ; [.35F0.0020.0002.A3F5] # YI SYLLABLE JUR
+A3F6 ; [.35F1.0020.0002.A3F6] # YI SYLLABLE JYT
+A3F7 ; [.35F2.0020.0002.A3F7] # YI SYLLABLE JYX
+A3F8 ; [.35F3.0020.0002.A3F8] # YI SYLLABLE JY
+A3F9 ; [.35F4.0020.0002.A3F9] # YI SYLLABLE JYP
+A3FA ; [.35F5.0020.0002.A3FA] # YI SYLLABLE JYRX
+A3FB ; [.35F6.0020.0002.A3FB] # YI SYLLABLE JYR
+A3FC ; [.35F7.0020.0002.A3FC] # YI SYLLABLE QIT
+A3FD ; [.35F8.0020.0002.A3FD] # YI SYLLABLE QIX
+A3FE ; [.35F9.0020.0002.A3FE] # YI SYLLABLE QI
+A3FF ; [.35FA.0020.0002.A3FF] # YI SYLLABLE QIP
+A400 ; [.35FB.0020.0002.A400] # YI SYLLABLE QIET
+A401 ; [.35FC.0020.0002.A401] # YI SYLLABLE QIEX
+A402 ; [.35FD.0020.0002.A402] # YI SYLLABLE QIE
+A403 ; [.35FE.0020.0002.A403] # YI SYLLABLE QIEP
+A404 ; [.35FF.0020.0002.A404] # YI SYLLABLE QUOT
+A405 ; [.3600.0020.0002.A405] # YI SYLLABLE QUOX
+A406 ; [.3601.0020.0002.A406] # YI SYLLABLE QUO
+A407 ; [.3602.0020.0002.A407] # YI SYLLABLE QUOP
+A408 ; [.3603.0020.0002.A408] # YI SYLLABLE QOT
+A409 ; [.3604.0020.0002.A409] # YI SYLLABLE QOX
+A40A ; [.3605.0020.0002.A40A] # YI SYLLABLE QO
+A40B ; [.3606.0020.0002.A40B] # YI SYLLABLE QOP
+A40C ; [.3607.0020.0002.A40C] # YI SYLLABLE QUT
+A40D ; [.3608.0020.0002.A40D] # YI SYLLABLE QUX
+A40E ; [.3609.0020.0002.A40E] # YI SYLLABLE QU
+A40F ; [.360A.0020.0002.A40F] # YI SYLLABLE QUP
+A410 ; [.360B.0020.0002.A410] # YI SYLLABLE QURX
+A411 ; [.360C.0020.0002.A411] # YI SYLLABLE QUR
+A412 ; [.360D.0020.0002.A412] # YI SYLLABLE QYT
+A413 ; [.360E.0020.0002.A413] # YI SYLLABLE QYX
+A414 ; [.360F.0020.0002.A414] # YI SYLLABLE QY
+A415 ; [.3610.0020.0002.A415] # YI SYLLABLE QYP
+A416 ; [.3611.0020.0002.A416] # YI SYLLABLE QYRX
+A417 ; [.3612.0020.0002.A417] # YI SYLLABLE QYR
+A418 ; [.3613.0020.0002.A418] # YI SYLLABLE JJIT
+A419 ; [.3614.0020.0002.A419] # YI SYLLABLE JJIX
+A41A ; [.3615.0020.0002.A41A] # YI SYLLABLE JJI
+A41B ; [.3616.0020.0002.A41B] # YI SYLLABLE JJIP
+A41C ; [.3617.0020.0002.A41C] # YI SYLLABLE JJIET
+A41D ; [.3618.0020.0002.A41D] # YI SYLLABLE JJIEX
+A41E ; [.3619.0020.0002.A41E] # YI SYLLABLE JJIE
+A41F ; [.361A.0020.0002.A41F] # YI SYLLABLE JJIEP
+A420 ; [.361B.0020.0002.A420] # YI SYLLABLE JJUOX
+A421 ; [.361C.0020.0002.A421] # YI SYLLABLE JJUO
+A422 ; [.361D.0020.0002.A422] # YI SYLLABLE JJUOP
+A423 ; [.361E.0020.0002.A423] # YI SYLLABLE JJOT
+A424 ; [.361F.0020.0002.A424] # YI SYLLABLE JJOX
+A425 ; [.3620.0020.0002.A425] # YI SYLLABLE JJO
+A426 ; [.3621.0020.0002.A426] # YI SYLLABLE JJOP
+A427 ; [.3622.0020.0002.A427] # YI SYLLABLE JJUT
+A428 ; [.3623.0020.0002.A428] # YI SYLLABLE JJUX
+A429 ; [.3624.0020.0002.A429] # YI SYLLABLE JJU
+A42A ; [.3625.0020.0002.A42A] # YI SYLLABLE JJUP
+A42B ; [.3626.0020.0002.A42B] # YI SYLLABLE JJURX
+A42C ; [.3627.0020.0002.A42C] # YI SYLLABLE JJUR
+A42D ; [.3628.0020.0002.A42D] # YI SYLLABLE JJYT
+A42E ; [.3629.0020.0002.A42E] # YI SYLLABLE JJYX
+A42F ; [.362A.0020.0002.A42F] # YI SYLLABLE JJY
+A430 ; [.362B.0020.0002.A430] # YI SYLLABLE JJYP
+A431 ; [.362C.0020.0002.A431] # YI SYLLABLE NJIT
+A432 ; [.362D.0020.0002.A432] # YI SYLLABLE NJIX
+A433 ; [.362E.0020.0002.A433] # YI SYLLABLE NJI
+A434 ; [.362F.0020.0002.A434] # YI SYLLABLE NJIP
+A435 ; [.3630.0020.0002.A435] # YI SYLLABLE NJIET
+A436 ; [.3631.0020.0002.A436] # YI SYLLABLE NJIEX
+A437 ; [.3632.0020.0002.A437] # YI SYLLABLE NJIE
+A438 ; [.3633.0020.0002.A438] # YI SYLLABLE NJIEP
+A439 ; [.3634.0020.0002.A439] # YI SYLLABLE NJUOX
+A43A ; [.3635.0020.0002.A43A] # YI SYLLABLE NJUO
+A43B ; [.3636.0020.0002.A43B] # YI SYLLABLE NJOT
+A43C ; [.3637.0020.0002.A43C] # YI SYLLABLE NJOX
+A43D ; [.3638.0020.0002.A43D] # YI SYLLABLE NJO
+A43E ; [.3639.0020.0002.A43E] # YI SYLLABLE NJOP
+A43F ; [.363A.0020.0002.A43F] # YI SYLLABLE NJUX
+A440 ; [.363B.0020.0002.A440] # YI SYLLABLE NJU
+A441 ; [.363C.0020.0002.A441] # YI SYLLABLE NJUP
+A442 ; [.363D.0020.0002.A442] # YI SYLLABLE NJURX
+A443 ; [.363E.0020.0002.A443] # YI SYLLABLE NJUR
+A444 ; [.363F.0020.0002.A444] # YI SYLLABLE NJYT
+A445 ; [.3640.0020.0002.A445] # YI SYLLABLE NJYX
+A446 ; [.3641.0020.0002.A446] # YI SYLLABLE NJY
+A447 ; [.3642.0020.0002.A447] # YI SYLLABLE NJYP
+A448 ; [.3643.0020.0002.A448] # YI SYLLABLE NJYRX
+A449 ; [.3644.0020.0002.A449] # YI SYLLABLE NJYR
+A44A ; [.3645.0020.0002.A44A] # YI SYLLABLE NYIT
+A44B ; [.3646.0020.0002.A44B] # YI SYLLABLE NYIX
+A44C ; [.3647.0020.0002.A44C] # YI SYLLABLE NYI
+A44D ; [.3648.0020.0002.A44D] # YI SYLLABLE NYIP
+A44E ; [.3649.0020.0002.A44E] # YI SYLLABLE NYIET
+A44F ; [.364A.0020.0002.A44F] # YI SYLLABLE NYIEX
+A450 ; [.364B.0020.0002.A450] # YI SYLLABLE NYIE
+A451 ; [.364C.0020.0002.A451] # YI SYLLABLE NYIEP
+A452 ; [.364D.0020.0002.A452] # YI SYLLABLE NYUOX
+A453 ; [.364E.0020.0002.A453] # YI SYLLABLE NYUO
+A454 ; [.364F.0020.0002.A454] # YI SYLLABLE NYUOP
+A455 ; [.3650.0020.0002.A455] # YI SYLLABLE NYOT
+A456 ; [.3651.0020.0002.A456] # YI SYLLABLE NYOX
+A457 ; [.3652.0020.0002.A457] # YI SYLLABLE NYO
+A458 ; [.3653.0020.0002.A458] # YI SYLLABLE NYOP
+A459 ; [.3654.0020.0002.A459] # YI SYLLABLE NYUT
+A45A ; [.3655.0020.0002.A45A] # YI SYLLABLE NYUX
+A45B ; [.3656.0020.0002.A45B] # YI SYLLABLE NYU
+A45C ; [.3657.0020.0002.A45C] # YI SYLLABLE NYUP
+A45D ; [.3658.0020.0002.A45D] # YI SYLLABLE XIT
+A45E ; [.3659.0020.0002.A45E] # YI SYLLABLE XIX
+A45F ; [.365A.0020.0002.A45F] # YI SYLLABLE XI
+A460 ; [.365B.0020.0002.A460] # YI SYLLABLE XIP
+A461 ; [.365C.0020.0002.A461] # YI SYLLABLE XIET
+A462 ; [.365D.0020.0002.A462] # YI SYLLABLE XIEX
+A463 ; [.365E.0020.0002.A463] # YI SYLLABLE XIE
+A464 ; [.365F.0020.0002.A464] # YI SYLLABLE XIEP
+A465 ; [.3660.0020.0002.A465] # YI SYLLABLE XUOX
+A466 ; [.3661.0020.0002.A466] # YI SYLLABLE XUO
+A467 ; [.3662.0020.0002.A467] # YI SYLLABLE XOT
+A468 ; [.3663.0020.0002.A468] # YI SYLLABLE XOX
+A469 ; [.3664.0020.0002.A469] # YI SYLLABLE XO
+A46A ; [.3665.0020.0002.A46A] # YI SYLLABLE XOP
+A46B ; [.3666.0020.0002.A46B] # YI SYLLABLE XYT
+A46C ; [.3667.0020.0002.A46C] # YI SYLLABLE XYX
+A46D ; [.3668.0020.0002.A46D] # YI SYLLABLE XY
+A46E ; [.3669.0020.0002.A46E] # YI SYLLABLE XYP
+A46F ; [.366A.0020.0002.A46F] # YI SYLLABLE XYRX
+A470 ; [.366B.0020.0002.A470] # YI SYLLABLE XYR
+A471 ; [.366C.0020.0002.A471] # YI SYLLABLE YIT
+A472 ; [.366D.0020.0002.A472] # YI SYLLABLE YIX
+A473 ; [.366E.0020.0002.A473] # YI SYLLABLE YI
+A474 ; [.366F.0020.0002.A474] # YI SYLLABLE YIP
+A475 ; [.3670.0020.0002.A475] # YI SYLLABLE YIET
+A476 ; [.3671.0020.0002.A476] # YI SYLLABLE YIEX
+A477 ; [.3672.0020.0002.A477] # YI SYLLABLE YIE
+A478 ; [.3673.0020.0002.A478] # YI SYLLABLE YIEP
+A479 ; [.3674.0020.0002.A479] # YI SYLLABLE YUOT
+A47A ; [.3675.0020.0002.A47A] # YI SYLLABLE YUOX
+A47B ; [.3676.0020.0002.A47B] # YI SYLLABLE YUO
+A47C ; [.3677.0020.0002.A47C] # YI SYLLABLE YUOP
+A47D ; [.3678.0020.0002.A47D] # YI SYLLABLE YOT
+A47E ; [.3679.0020.0002.A47E] # YI SYLLABLE YOX
+A47F ; [.367A.0020.0002.A47F] # YI SYLLABLE YO
+A480 ; [.367B.0020.0002.A480] # YI SYLLABLE YOP
+A481 ; [.367C.0020.0002.A481] # YI SYLLABLE YUT
+A482 ; [.367D.0020.0002.A482] # YI SYLLABLE YUX
+A483 ; [.367E.0020.0002.A483] # YI SYLLABLE YU
+A484 ; [.367F.0020.0002.A484] # YI SYLLABLE YUP
+A485 ; [.3680.0020.0002.A485] # YI SYLLABLE YURX
+A486 ; [.3681.0020.0002.A486] # YI SYLLABLE YUR
+A487 ; [.3682.0020.0002.A487] # YI SYLLABLE YYT
+A488 ; [.3683.0020.0002.A488] # YI SYLLABLE YYX
+A489 ; [.3684.0020.0002.A489] # YI SYLLABLE YY
+A48A ; [.3685.0020.0002.A48A] # YI SYLLABLE YYP
+A48B ; [.3686.0020.0002.A48B] # YI SYLLABLE YYRX
+A48C ; [.3687.0020.0002.A48C] # YI SYLLABLE YYR
+A4F8 ; [.3688.0020.0002.A4F8] # LISU LETTER TONE MYA TI
+A4F9 ; [.3689.0020.0002.A4F9] # LISU LETTER TONE NA PO
+A4FA ; [.368A.0020.0002.A4FA] # LISU LETTER TONE MYA CYA
+A4FB ; [.368B.0020.0002.A4FB] # LISU LETTER TONE MYA BO
+A4FD ; [.368C.0020.0002.A4FD] # LISU LETTER TONE MYA JEU
+A4FC ; [.368D.0020.0002.A4FC] # LISU LETTER TONE MYA NA
+A4D0 ; [.368E.0020.0002.A4D0] # LISU LETTER BA
+A4D1 ; [.368F.0020.0002.A4D1] # LISU LETTER PA
+A4D2 ; [.3690.0020.0002.A4D2] # LISU LETTER PHA
+A4D3 ; [.3691.0020.0002.A4D3] # LISU LETTER DA
+A4D4 ; [.3692.0020.0002.A4D4] # LISU LETTER TA
+A4D5 ; [.3693.0020.0002.A4D5] # LISU LETTER THA
+A4D6 ; [.3694.0020.0002.A4D6] # LISU LETTER GA
+A4D7 ; [.3695.0020.0002.A4D7] # LISU LETTER KA
+A4D8 ; [.3696.0020.0002.A4D8] # LISU LETTER KHA
+A4D9 ; [.3697.0020.0002.A4D9] # LISU LETTER JA
+A4DA ; [.3698.0020.0002.A4DA] # LISU LETTER CA
+A4DB ; [.3699.0020.0002.A4DB] # LISU LETTER CHA
+A4DC ; [.369A.0020.0002.A4DC] # LISU LETTER DZA
+A4DD ; [.369B.0020.0002.A4DD] # LISU LETTER TSA
+A4DE ; [.369C.0020.0002.A4DE] # LISU LETTER TSHA
+A4DF ; [.369D.0020.0002.A4DF] # LISU LETTER MA
+A4E0 ; [.369E.0020.0002.A4E0] # LISU LETTER NA
+A4E1 ; [.369F.0020.0002.A4E1] # LISU LETTER LA
+A4E2 ; [.36A0.0020.0002.A4E2] # LISU LETTER SA
+A4E3 ; [.36A1.0020.0002.A4E3] # LISU LETTER ZHA
+A4E4 ; [.36A2.0020.0002.A4E4] # LISU LETTER ZA
+A4E5 ; [.36A3.0020.0002.A4E5] # LISU LETTER NGA
+A4E6 ; [.36A4.0020.0002.A4E6] # LISU LETTER HA
+A4E7 ; [.36A5.0020.0002.A4E7] # LISU LETTER XA
+A4E8 ; [.36A6.0020.0002.A4E8] # LISU LETTER HHA
+A4E9 ; [.36A7.0020.0002.A4E9] # LISU LETTER FA
+A4EB ; [.36A8.0020.0002.A4EB] # LISU LETTER SHA
+A4ED ; [.36A9.0020.0002.A4ED] # LISU LETTER GHA
+A4EA ; [.36AA.0020.0002.A4EA] # LISU LETTER WA
+A4EC ; [.36AB.0020.0002.A4EC] # LISU LETTER YA
+A4EE ; [.36AC.0020.0002.A4EE] # LISU LETTER A
+A4EF ; [.36AD.0020.0002.A4EF] # LISU LETTER AE
+A4F0 ; [.36AE.0020.0002.A4F0] # LISU LETTER E
+A4F1 ; [.36AF.0020.0002.A4F1] # LISU LETTER EU
+A4F2 ; [.36B0.0020.0002.A4F2] # LISU LETTER I
+A4F3 ; [.36B1.0020.0002.A4F3] # LISU LETTER O
+A4F4 ; [.36B2.0020.0002.A4F4] # LISU LETTER U
+A4F5 ; [.36B3.0020.0002.A4F5] # LISU LETTER UE
+A4F6 ; [.36B4.0020.0002.A4F6] # LISU LETTER UH
+A4F7 ; [.36B5.0020.0002.A4F7] # LISU LETTER OE
+10280 ; [.36B6.0020.0002.10280] # LYCIAN LETTER A
+10281 ; [.36B7.0020.0002.10281] # LYCIAN LETTER E
+10282 ; [.36B8.0020.0002.10282] # LYCIAN LETTER B
+10283 ; [.36B9.0020.0002.10283] # LYCIAN LETTER BH
+10284 ; [.36BA.0020.0002.10284] # LYCIAN LETTER G
+10285 ; [.36BB.0020.0002.10285] # LYCIAN LETTER D
+10286 ; [.36BC.0020.0002.10286] # LYCIAN LETTER I
+10287 ; [.36BD.0020.0002.10287] # LYCIAN LETTER W
+10288 ; [.36BE.0020.0002.10288] # LYCIAN LETTER Z
+10289 ; [.36BF.0020.0002.10289] # LYCIAN LETTER TH
+1028A ; [.36C0.0020.0002.1028A] # LYCIAN LETTER J
+1028B ; [.36C1.0020.0002.1028B] # LYCIAN LETTER K
+1028C ; [.36C2.0020.0002.1028C] # LYCIAN LETTER Q
+1028D ; [.36C3.0020.0002.1028D] # LYCIAN LETTER L
+1028E ; [.36C4.0020.0002.1028E] # LYCIAN LETTER M
+1028F ; [.36C5.0020.0002.1028F] # LYCIAN LETTER N
+10290 ; [.36C6.0020.0002.10290] # LYCIAN LETTER MM
+10291 ; [.36C7.0020.0002.10291] # LYCIAN LETTER NN
+10292 ; [.36C8.0020.0002.10292] # LYCIAN LETTER U
+10293 ; [.36C9.0020.0002.10293] # LYCIAN LETTER P
+10294 ; [.36CA.0020.0002.10294] # LYCIAN LETTER KK
+10295 ; [.36CB.0020.0002.10295] # LYCIAN LETTER R
+10296 ; [.36CC.0020.0002.10296] # LYCIAN LETTER S
+10297 ; [.36CD.0020.0002.10297] # LYCIAN LETTER T
+10298 ; [.36CE.0020.0002.10298] # LYCIAN LETTER TT
+10299 ; [.36CF.0020.0002.10299] # LYCIAN LETTER AN
+1029A ; [.36D0.0020.0002.1029A] # LYCIAN LETTER EN
+1029B ; [.36D1.0020.0002.1029B] # LYCIAN LETTER H
+1029C ; [.36D2.0020.0002.1029C] # LYCIAN LETTER X
+102A0 ; [.36D3.0020.0002.102A0] # CARIAN LETTER A
+102A1 ; [.36D4.0020.0002.102A1] # CARIAN LETTER P2
+102A2 ; [.36D5.0020.0002.102A2] # CARIAN LETTER D
+102A3 ; [.36D6.0020.0002.102A3] # CARIAN LETTER L
+102A4 ; [.36D7.0020.0002.102A4] # CARIAN LETTER UUU
+102A5 ; [.36D8.0020.0002.102A5] # CARIAN LETTER R
+102A6 ; [.36D9.0020.0002.102A6] # CARIAN LETTER LD
+102A7 ; [.36DA.0020.0002.102A7] # CARIAN LETTER A2
+102A8 ; [.36DB.0020.0002.102A8] # CARIAN LETTER Q
+102A9 ; [.36DC.0020.0002.102A9] # CARIAN LETTER B
+102AA ; [.36DD.0020.0002.102AA] # CARIAN LETTER M
+102AB ; [.36DE.0020.0002.102AB] # CARIAN LETTER O
+102AC ; [.36DF.0020.0002.102AC] # CARIAN LETTER D2
+102AD ; [.36E0.0020.0002.102AD] # CARIAN LETTER T
+102AE ; [.36E1.0020.0002.102AE] # CARIAN LETTER SH
+102AF ; [.36E2.0020.0002.102AF] # CARIAN LETTER SH2
+102B0 ; [.36E3.0020.0002.102B0] # CARIAN LETTER S
+102B1 ; [.36E4.0020.0002.102B1] # CARIAN LETTER C-18
+102B2 ; [.36E5.0020.0002.102B2] # CARIAN LETTER U
+102B3 ; [.36E6.0020.0002.102B3] # CARIAN LETTER NN
+102B4 ; [.36E7.0020.0002.102B4] # CARIAN LETTER X
+102B5 ; [.36E8.0020.0002.102B5] # CARIAN LETTER N
+102B6 ; [.36E9.0020.0002.102B6] # CARIAN LETTER TT2
+102B7 ; [.36EA.0020.0002.102B7] # CARIAN LETTER P
+102B8 ; [.36EB.0020.0002.102B8] # CARIAN LETTER SS
+102B9 ; [.36EC.0020.0002.102B9] # CARIAN LETTER I
+102BA ; [.36ED.0020.0002.102BA] # CARIAN LETTER E
+102BB ; [.36EE.0020.0002.102BB] # CARIAN LETTER UUUU
+102BC ; [.36EF.0020.0002.102BC] # CARIAN LETTER K
+102BD ; [.36F0.0020.0002.102BD] # CARIAN LETTER K2
+102BE ; [.36F1.0020.0002.102BE] # CARIAN LETTER ND
+102BF ; [.36F2.0020.0002.102BF] # CARIAN LETTER UU
+102C0 ; [.36F3.0020.0002.102C0] # CARIAN LETTER G
+102C1 ; [.36F4.0020.0002.102C1] # CARIAN LETTER G2
+102C2 ; [.36F5.0020.0002.102C2] # CARIAN LETTER ST
+102C3 ; [.36F6.0020.0002.102C3] # CARIAN LETTER ST2
+102C4 ; [.36F7.0020.0002.102C4] # CARIAN LETTER NG
+102C5 ; [.36F8.0020.0002.102C5] # CARIAN LETTER II
+102C6 ; [.36F9.0020.0002.102C6] # CARIAN LETTER C-39
+102C7 ; [.36FA.0020.0002.102C7] # CARIAN LETTER TT
+102C8 ; [.36FB.0020.0002.102C8] # CARIAN LETTER UUU2
+102C9 ; [.36FC.0020.0002.102C9] # CARIAN LETTER RR
+102CA ; [.36FD.0020.0002.102CA] # CARIAN LETTER MB
+102CB ; [.36FE.0020.0002.102CB] # CARIAN LETTER MB2
+102CC ; [.36FF.0020.0002.102CC] # CARIAN LETTER MB3
+102CD ; [.3700.0020.0002.102CD] # CARIAN LETTER MB4
+102CE ; [.3701.0020.0002.102CE] # CARIAN LETTER LD2
+102CF ; [.3702.0020.0002.102CF] # CARIAN LETTER E2
+102D0 ; [.3703.0020.0002.102D0] # CARIAN LETTER UUU3
+10920 ; [.3704.0020.0002.10920] # LYDIAN LETTER A
+10921 ; [.3705.0020.0002.10921] # LYDIAN LETTER B
+10922 ; [.3706.0020.0002.10922] # LYDIAN LETTER G
+10923 ; [.3707.0020.0002.10923] # LYDIAN LETTER D
+10924 ; [.3708.0020.0002.10924] # LYDIAN LETTER E
+10925 ; [.3709.0020.0002.10925] # LYDIAN LETTER V
+10926 ; [.370A.0020.0002.10926] # LYDIAN LETTER I
+10927 ; [.370B.0020.0002.10927] # LYDIAN LETTER Y
+10928 ; [.370C.0020.0002.10928] # LYDIAN LETTER K
+10929 ; [.370D.0020.0002.10929] # LYDIAN LETTER L
+1092A ; [.370E.0020.0002.1092A] # LYDIAN LETTER M
+1092B ; [.370F.0020.0002.1092B] # LYDIAN LETTER N
+1092C ; [.3710.0020.0002.1092C] # LYDIAN LETTER O
+1092D ; [.3711.0020.0002.1092D] # LYDIAN LETTER R
+1092E ; [.3712.0020.0002.1092E] # LYDIAN LETTER SS
+1092F ; [.3713.0020.0002.1092F] # LYDIAN LETTER T
+10930 ; [.3714.0020.0002.10930] # LYDIAN LETTER U
+10931 ; [.3715.0020.0002.10931] # LYDIAN LETTER F
+10932 ; [.3716.0020.0002.10932] # LYDIAN LETTER Q
+10933 ; [.3717.0020.0002.10933] # LYDIAN LETTER S
+10934 ; [.3718.0020.0002.10934] # LYDIAN LETTER TT
+10935 ; [.3719.0020.0002.10935] # LYDIAN LETTER AN
+10936 ; [.371A.0020.0002.10936] # LYDIAN LETTER EN
+10937 ; [.371B.0020.0002.10937] # LYDIAN LETTER LY
+10938 ; [.371C.0020.0002.10938] # LYDIAN LETTER NN
+10939 ; [.371D.0020.0002.10939] # LYDIAN LETTER C
+10300 ; [.371E.0020.0002.10300] # OLD ITALIC LETTER A
+10301 ; [.371F.0020.0002.10301] # OLD ITALIC LETTER BE
+10302 ; [.3720.0020.0002.10302] # OLD ITALIC LETTER KE
+10303 ; [.3721.0020.0002.10303] # OLD ITALIC LETTER DE
+10304 ; [.3722.0020.0002.10304] # OLD ITALIC LETTER E
+10305 ; [.3723.0020.0002.10305] # OLD ITALIC LETTER VE
+10306 ; [.3724.0020.0002.10306] # OLD ITALIC LETTER ZE
+10307 ; [.3725.0020.0002.10307] # OLD ITALIC LETTER HE
+10308 ; [.3726.0020.0002.10308] # OLD ITALIC LETTER THE
+10309 ; [.3727.0020.0002.10309] # OLD ITALIC LETTER I
+1030A ; [.3728.0020.0002.1030A] # OLD ITALIC LETTER KA
+1030B ; [.3729.0020.0002.1030B] # OLD ITALIC LETTER EL
+1030C ; [.372A.0020.0002.1030C] # OLD ITALIC LETTER EM
+1030D ; [.372B.0020.0002.1030D] # OLD ITALIC LETTER EN
+1030E ; [.372C.0020.0002.1030E] # OLD ITALIC LETTER ESH
+1030F ; [.372D.0020.0002.1030F] # OLD ITALIC LETTER O
+10310 ; [.372E.0020.0002.10310] # OLD ITALIC LETTER PE
+10311 ; [.372F.0020.0002.10311] # OLD ITALIC LETTER SHE
+10312 ; [.3730.0020.0002.10312] # OLD ITALIC LETTER KU
+10313 ; [.3731.0020.0002.10313] # OLD ITALIC LETTER ER
+10314 ; [.3732.0020.0002.10314] # OLD ITALIC LETTER ES
+10315 ; [.3733.0020.0002.10315] # OLD ITALIC LETTER TE
+10316 ; [.3734.0020.0002.10316] # OLD ITALIC LETTER U
+10317 ; [.3735.0020.0002.10317] # OLD ITALIC LETTER EKS
+10318 ; [.3736.0020.0002.10318] # OLD ITALIC LETTER PHE
+10319 ; [.3737.0020.0002.10319] # OLD ITALIC LETTER KHE
+1031A ; [.3738.0020.0002.1031A] # OLD ITALIC LETTER EF
+1031B ; [.3739.0020.0002.1031B] # OLD ITALIC LETTER ERS
+1031C ; [.373A.0020.0002.1031C] # OLD ITALIC LETTER CHE
+1031D ; [.373B.0020.0002.1031D] # OLD ITALIC LETTER II
+1031E ; [.373C.0020.0002.1031E] # OLD ITALIC LETTER UU
+10330 ; [.373D.0020.0002.10330] # GOTHIC LETTER AHSA
+10331 ; [.373E.0020.0002.10331] # GOTHIC LETTER BAIRKAN
+10332 ; [.373F.0020.0002.10332] # GOTHIC LETTER GIBA
+10333 ; [.3740.0020.0002.10333] # GOTHIC LETTER DAGS
+10334 ; [.3741.0020.0002.10334] # GOTHIC LETTER AIHVUS
+10335 ; [.3742.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
+10336 ; [.3743.0020.0002.10336] # GOTHIC LETTER IUJA
+10337 ; [.3744.0020.0002.10337] # GOTHIC LETTER HAGL
+10338 ; [.3745.0020.0002.10338] # GOTHIC LETTER THIUTH
+10339 ; [.3746.0020.0002.10339] # GOTHIC LETTER EIS
+1033A ; [.3747.0020.0002.1033A] # GOTHIC LETTER KUSMA
+1033B ; [.3748.0020.0002.1033B] # GOTHIC LETTER LAGUS
+1033C ; [.3749.0020.0002.1033C] # GOTHIC LETTER MANNA
+1033D ; [.374A.0020.0002.1033D] # GOTHIC LETTER NAUTHS
+1033E ; [.374B.0020.0002.1033E] # GOTHIC LETTER JER
+1033F ; [.374C.0020.0002.1033F] # GOTHIC LETTER URUS
+10340 ; [.374D.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
+10341 ; [.374E.0020.0002.10341] # GOTHIC LETTER NINETY
+10342 ; [.374F.0020.0002.10342] # GOTHIC LETTER RAIDA
+10343 ; [.3750.0020.0002.10343] # GOTHIC LETTER SAUIL
+10344 ; [.3751.0020.0002.10344] # GOTHIC LETTER TEIWS
+10345 ; [.3752.0020.0002.10345] # GOTHIC LETTER WINJA
+10346 ; [.3753.0020.0002.10346] # GOTHIC LETTER FAIHU
+10347 ; [.3754.0020.0002.10347] # GOTHIC LETTER IGGWS
+10348 ; [.3755.0020.0002.10348] # GOTHIC LETTER HWAIR
+10349 ; [.3756.0020.0002.10349] # GOTHIC LETTER OTHAL
+1034A ; [.3757.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
+10428 ; [.3758.0020.0002.10428] # DESERET SMALL LETTER LONG I
+10400 ; [.3758.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
+10429 ; [.3759.0020.0002.10429] # DESERET SMALL LETTER LONG E
+10401 ; [.3759.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
+1042A ; [.375A.0020.0002.1042A] # DESERET SMALL LETTER LONG A
+10402 ; [.375A.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
+1042B ; [.375B.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
+10403 ; [.375B.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
+1042C ; [.375C.0020.0002.1042C] # DESERET SMALL LETTER LONG O
+10404 ; [.375C.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
+1042D ; [.375D.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
+10405 ; [.375D.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
+1042E ; [.375E.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
+10406 ; [.375E.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
+1042F ; [.375F.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
+10407 ; [.375F.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
+10430 ; [.3760.0020.0002.10430] # DESERET SMALL LETTER SHORT A
+10408 ; [.3760.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
+10431 ; [.3761.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
+10409 ; [.3761.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
+10432 ; [.3762.0020.0002.10432] # DESERET SMALL LETTER SHORT O
+1040A ; [.3762.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
+10433 ; [.3763.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
+1040B ; [.3763.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
+10434 ; [.3764.0020.0002.10434] # DESERET SMALL LETTER AY
+1040C ; [.3764.0020.0008.1040C] # DESERET CAPITAL LETTER AY
+10435 ; [.3765.0020.0002.10435] # DESERET SMALL LETTER OW
+1040D ; [.3765.0020.0008.1040D] # DESERET CAPITAL LETTER OW
+10436 ; [.3766.0020.0002.10436] # DESERET SMALL LETTER WU
+1040E ; [.3766.0020.0008.1040E] # DESERET CAPITAL LETTER WU
+10437 ; [.3767.0020.0002.10437] # DESERET SMALL LETTER YEE
+1040F ; [.3767.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
+10438 ; [.3768.0020.0002.10438] # DESERET SMALL LETTER H
+10410 ; [.3768.0020.0008.10410] # DESERET CAPITAL LETTER H
+10439 ; [.3769.0020.0002.10439] # DESERET SMALL LETTER PEE
+10411 ; [.3769.0020.0008.10411] # DESERET CAPITAL LETTER PEE
+1043A ; [.376A.0020.0002.1043A] # DESERET SMALL LETTER BEE
+10412 ; [.376A.0020.0008.10412] # DESERET CAPITAL LETTER BEE
+1043B ; [.376B.0020.0002.1043B] # DESERET SMALL LETTER TEE
+10413 ; [.376B.0020.0008.10413] # DESERET CAPITAL LETTER TEE
+1043C ; [.376C.0020.0002.1043C] # DESERET SMALL LETTER DEE
+10414 ; [.376C.0020.0008.10414] # DESERET CAPITAL LETTER DEE
+1043D ; [.376D.0020.0002.1043D] # DESERET SMALL LETTER CHEE
+10415 ; [.376D.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
+1043E ; [.376E.0020.0002.1043E] # DESERET SMALL LETTER JEE
+10416 ; [.376E.0020.0008.10416] # DESERET CAPITAL LETTER JEE
+1043F ; [.376F.0020.0002.1043F] # DESERET SMALL LETTER KAY
+10417 ; [.376F.0020.0008.10417] # DESERET CAPITAL LETTER KAY
+10440 ; [.3770.0020.0002.10440] # DESERET SMALL LETTER GAY
+10418 ; [.3770.0020.0008.10418] # DESERET CAPITAL LETTER GAY
+10441 ; [.3771.0020.0002.10441] # DESERET SMALL LETTER EF
+10419 ; [.3771.0020.0008.10419] # DESERET CAPITAL LETTER EF
+10442 ; [.3772.0020.0002.10442] # DESERET SMALL LETTER VEE
+1041A ; [.3772.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
+10443 ; [.3773.0020.0002.10443] # DESERET SMALL LETTER ETH
+1041B ; [.3773.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
+10444 ; [.3774.0020.0002.10444] # DESERET SMALL LETTER THEE
+1041C ; [.3774.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
+10445 ; [.3775.0020.0002.10445] # DESERET SMALL LETTER ES
+1041D ; [.3775.0020.0008.1041D] # DESERET CAPITAL LETTER ES
+10446 ; [.3776.0020.0002.10446] # DESERET SMALL LETTER ZEE
+1041E ; [.3776.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
+10447 ; [.3777.0020.0002.10447] # DESERET SMALL LETTER ESH
+1041F ; [.3777.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
+10448 ; [.3778.0020.0002.10448] # DESERET SMALL LETTER ZHEE
+10420 ; [.3778.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
+10449 ; [.3779.0020.0002.10449] # DESERET SMALL LETTER ER
+10421 ; [.3779.0020.0008.10421] # DESERET CAPITAL LETTER ER
+1044A ; [.377A.0020.0002.1044A] # DESERET SMALL LETTER EL
+10422 ; [.377A.0020.0008.10422] # DESERET CAPITAL LETTER EL
+1044B ; [.377B.0020.0002.1044B] # DESERET SMALL LETTER EM
+10423 ; [.377B.0020.0008.10423] # DESERET CAPITAL LETTER EM
+1044C ; [.377C.0020.0002.1044C] # DESERET SMALL LETTER EN
+10424 ; [.377C.0020.0008.10424] # DESERET CAPITAL LETTER EN
+1044D ; [.377D.0020.0002.1044D] # DESERET SMALL LETTER ENG
+10425 ; [.377D.0020.0008.10425] # DESERET CAPITAL LETTER ENG
+1044E ; [.377E.0020.0002.1044E] # DESERET SMALL LETTER OI
+10426 ; [.377E.0020.0008.10426] # DESERET CAPITAL LETTER OI
+1044F ; [.377F.0020.0002.1044F] # DESERET SMALL LETTER EW
+10427 ; [.377F.0020.0008.10427] # DESERET CAPITAL LETTER EW
+10450 ; [.3780.0020.0002.10450] # SHAVIAN LETTER PEEP
+10451 ; [.3781.0020.0002.10451] # SHAVIAN LETTER TOT
+10452 ; [.3782.0020.0002.10452] # SHAVIAN LETTER KICK
+10453 ; [.3783.0020.0002.10453] # SHAVIAN LETTER FEE
+10454 ; [.3784.0020.0002.10454] # SHAVIAN LETTER THIGH
+10455 ; [.3785.0020.0002.10455] # SHAVIAN LETTER SO
+10456 ; [.3786.0020.0002.10456] # SHAVIAN LETTER SURE
+10457 ; [.3787.0020.0002.10457] # SHAVIAN LETTER CHURCH
+10458 ; [.3788.0020.0002.10458] # SHAVIAN LETTER YEA
+10459 ; [.3789.0020.0002.10459] # SHAVIAN LETTER HUNG
+1045A ; [.378A.0020.0002.1045A] # SHAVIAN LETTER BIB
+1045B ; [.378B.0020.0002.1045B] # SHAVIAN LETTER DEAD
+1045C ; [.378C.0020.0002.1045C] # SHAVIAN LETTER GAG
+1045D ; [.378D.0020.0002.1045D] # SHAVIAN LETTER VOW
+1045E ; [.378E.0020.0002.1045E] # SHAVIAN LETTER THEY
+1045F ; [.378F.0020.0002.1045F] # SHAVIAN LETTER ZOO
+10460 ; [.3790.0020.0002.10460] # SHAVIAN LETTER MEASURE
+10461 ; [.3791.0020.0002.10461] # SHAVIAN LETTER JUDGE
+10462 ; [.3792.0020.0002.10462] # SHAVIAN LETTER WOE
+10463 ; [.3793.0020.0002.10463] # SHAVIAN LETTER HA-HA
+10464 ; [.3794.0020.0002.10464] # SHAVIAN LETTER LOLL
+10465 ; [.3795.0020.0002.10465] # SHAVIAN LETTER MIME
+10466 ; [.3796.0020.0002.10466] # SHAVIAN LETTER IF
+10467 ; [.3797.0020.0002.10467] # SHAVIAN LETTER EGG
+10468 ; [.3798.0020.0002.10468] # SHAVIAN LETTER ASH
+10469 ; [.3799.0020.0002.10469] # SHAVIAN LETTER ADO
+1046A ; [.379A.0020.0002.1046A] # SHAVIAN LETTER ON
+1046B ; [.379B.0020.0002.1046B] # SHAVIAN LETTER WOOL
+1046C ; [.379C.0020.0002.1046C] # SHAVIAN LETTER OUT
+1046D ; [.379D.0020.0002.1046D] # SHAVIAN LETTER AH
+1046E ; [.379E.0020.0002.1046E] # SHAVIAN LETTER ROAR
+1046F ; [.379F.0020.0002.1046F] # SHAVIAN LETTER NUN
+10470 ; [.37A0.0020.0002.10470] # SHAVIAN LETTER EAT
+10471 ; [.37A1.0020.0002.10471] # SHAVIAN LETTER AGE
+10472 ; [.37A2.0020.0002.10472] # SHAVIAN LETTER ICE
+10473 ; [.37A3.0020.0002.10473] # SHAVIAN LETTER UP
+10474 ; [.37A4.0020.0002.10474] # SHAVIAN LETTER OAK
+10475 ; [.37A5.0020.0002.10475] # SHAVIAN LETTER OOZE
+10476 ; [.37A6.0020.0002.10476] # SHAVIAN LETTER OIL
+10477 ; [.37A7.0020.0002.10477] # SHAVIAN LETTER AWE
+10478 ; [.37A8.0020.0002.10478] # SHAVIAN LETTER ARE
+10479 ; [.37A9.0020.0002.10479] # SHAVIAN LETTER OR
+1047A ; [.37AA.0020.0002.1047A] # SHAVIAN LETTER AIR
+1047B ; [.37AB.0020.0002.1047B] # SHAVIAN LETTER ERR
+1047C ; [.37AC.0020.0002.1047C] # SHAVIAN LETTER ARRAY
+1047D ; [.37AD.0020.0002.1047D] # SHAVIAN LETTER EAR
+1047E ; [.37AE.0020.0002.1047E] # SHAVIAN LETTER IAN
+1047F ; [.37AF.0020.0002.1047F] # SHAVIAN LETTER YEW
+10480 ; [.37B0.0020.0002.10480] # OSMANYA LETTER ALEF
+10481 ; [.37B1.0020.0002.10481] # OSMANYA LETTER BA
+10482 ; [.37B2.0020.0002.10482] # OSMANYA LETTER TA
+10483 ; [.37B3.0020.0002.10483] # OSMANYA LETTER JA
+10484 ; [.37B4.0020.0002.10484] # OSMANYA LETTER XA
+10485 ; [.37B5.0020.0002.10485] # OSMANYA LETTER KHA
+10486 ; [.37B6.0020.0002.10486] # OSMANYA LETTER DEEL
+10487 ; [.37B7.0020.0002.10487] # OSMANYA LETTER RA
+10488 ; [.37B8.0020.0002.10488] # OSMANYA LETTER SA
+10489 ; [.37B9.0020.0002.10489] # OSMANYA LETTER SHIIN
+1048A ; [.37BA.0020.0002.1048A] # OSMANYA LETTER DHA
+1048B ; [.37BB.0020.0002.1048B] # OSMANYA LETTER CAYN
+1048C ; [.37BC.0020.0002.1048C] # OSMANYA LETTER GA
+1048D ; [.37BD.0020.0002.1048D] # OSMANYA LETTER FA
+1048E ; [.37BE.0020.0002.1048E] # OSMANYA LETTER QAAF
+1048F ; [.37BF.0020.0002.1048F] # OSMANYA LETTER KAAF
+10490 ; [.37C0.0020.0002.10490] # OSMANYA LETTER LAAN
+10491 ; [.37C1.0020.0002.10491] # OSMANYA LETTER MIIN
+10492 ; [.37C2.0020.0002.10492] # OSMANYA LETTER NUUN
+10493 ; [.37C3.0020.0002.10493] # OSMANYA LETTER WAW
+10494 ; [.37C4.0020.0002.10494] # OSMANYA LETTER HA
+10495 ; [.37C5.0020.0002.10495] # OSMANYA LETTER YA
+10496 ; [.37C6.0020.0002.10496] # OSMANYA LETTER A
+10497 ; [.37C7.0020.0002.10497] # OSMANYA LETTER E
+10498 ; [.37C8.0020.0002.10498] # OSMANYA LETTER I
+10499 ; [.37C9.0020.0002.10499] # OSMANYA LETTER O
+1049A ; [.37CA.0020.0002.1049A] # OSMANYA LETTER U
+1049B ; [.37CB.0020.0002.1049B] # OSMANYA LETTER AA
+1049C ; [.37CC.0020.0002.1049C] # OSMANYA LETTER EE
+1049D ; [.37CD.0020.0002.1049D] # OSMANYA LETTER OO
+10000 ; [.37CE.0020.0002.10000] # LINEAR B SYLLABLE B008 A
+10001 ; [.37CF.0020.0002.10001] # LINEAR B SYLLABLE B038 E
+10002 ; [.37D0.0020.0002.10002] # LINEAR B SYLLABLE B028 I
+10003 ; [.37D1.0020.0002.10003] # LINEAR B SYLLABLE B061 O
+10004 ; [.37D2.0020.0002.10004] # LINEAR B SYLLABLE B010 U
+10005 ; [.37D3.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
+10006 ; [.37D4.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
+10007 ; [.37D5.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
+10008 ; [.37D6.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
+10009 ; [.37D7.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
+1000A ; [.37D8.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
+1000B ; [.37D9.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
+1000D ; [.37DA.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
+1000E ; [.37DB.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
+1000F ; [.37DC.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
+10010 ; [.37DD.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
+10011 ; [.37DE.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
+10012 ; [.37DF.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
+10013 ; [.37E0.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
+10014 ; [.37E1.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
+10015 ; [.37E2.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
+10016 ; [.37E3.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
+10017 ; [.37E4.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
+10018 ; [.37E5.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
+10019 ; [.37E6.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
+1001A ; [.37E7.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
+1001B ; [.37E8.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
+1001C ; [.37E9.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
+1001D ; [.37EA.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
+1001E ; [.37EB.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
+1001F ; [.37EC.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
+10020 ; [.37ED.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
+10021 ; [.37EE.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
+10022 ; [.37EF.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
+10023 ; [.37F0.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
+10024 ; [.37F1.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
+10025 ; [.37F2.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
+10026 ; [.37F3.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
+10028 ; [.37F4.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
+10029 ; [.37F5.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
+1002A ; [.37F6.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
+1002B ; [.37F7.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
+1002C ; [.37F8.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
+1002D ; [.37F9.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
+1002E ; [.37FA.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
+1002F ; [.37FB.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
+10030 ; [.37FC.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
+10031 ; [.37FD.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
+10032 ; [.37FE.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
+10033 ; [.37FF.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
+10034 ; [.3800.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
+10035 ; [.3801.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
+10036 ; [.3802.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
+10037 ; [.3803.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
+10038 ; [.3804.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
+10039 ; [.3805.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
+1003A ; [.3806.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
+1003C ; [.3807.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
+1003D ; [.3808.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
+1003F ; [.3809.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
+10040 ; [.380A.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
+10041 ; [.380B.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
+10042 ; [.380C.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
+10043 ; [.380D.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
+10044 ; [.380E.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
+10045 ; [.380F.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
+10046 ; [.3810.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
+10047 ; [.3811.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
+10048 ; [.3812.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
+10049 ; [.3813.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
+1004A ; [.3814.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
+1004B ; [.3815.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
+1004C ; [.3816.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
+1004D ; [.3817.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
+10050 ; [.3818.0020.0002.10050] # LINEAR B SYMBOL B018
+10051 ; [.3819.0020.0002.10051] # LINEAR B SYMBOL B019
+10052 ; [.381A.0020.0002.10052] # LINEAR B SYMBOL B022
+10053 ; [.381B.0020.0002.10053] # LINEAR B SYMBOL B034
+10054 ; [.381C.0020.0002.10054] # LINEAR B SYMBOL B047
+10055 ; [.381D.0020.0002.10055] # LINEAR B SYMBOL B049
+10056 ; [.381E.0020.0002.10056] # LINEAR B SYMBOL B056
+10057 ; [.381F.0020.0002.10057] # LINEAR B SYMBOL B063
+10058 ; [.3820.0020.0002.10058] # LINEAR B SYMBOL B064
+10059 ; [.3821.0020.0002.10059] # LINEAR B SYMBOL B079
+1005A ; [.3822.0020.0002.1005A] # LINEAR B SYMBOL B082
+1005B ; [.3823.0020.0002.1005B] # LINEAR B SYMBOL B083
+1005C ; [.3824.0020.0002.1005C] # LINEAR B SYMBOL B086
+1005D ; [.3825.0020.0002.1005D] # LINEAR B SYMBOL B089
+10080 ; [.3826.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
+10081 ; [.3827.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
+10082 ; [.3828.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
+10083 ; [.3829.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
+10084 ; [.382A.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
+10085 ; [.382B.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
+10086 ; [.382C.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
+10087 ; [.382D.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
+10088 ; [.382E.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
+10089 ; [.382F.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
+1008A ; [.3830.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
+1008B ; [.3831.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
+1008C ; [.3832.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
+1008D ; [.3833.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
+1008E ; [.3834.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
+1008F ; [.3835.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
+10090 ; [.3836.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
+10091 ; [.3837.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
+10092 ; [.3838.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
+10093 ; [.3839.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
+10094 ; [.383A.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
+10095 ; [.383B.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
+10096 ; [.383C.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
+10097 ; [.383D.0020.0002.10097] # LINEAR B IDEOGRAM B132
+10098 ; [.383E.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
+10099 ; [.383F.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
+1009A ; [.3840.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
+1009B ; [.3841.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
+1009C ; [.3842.0020.0002.1009C] # LINEAR B IDEOGRAM B142
+1009D ; [.3843.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
+1009E ; [.3844.0020.0002.1009E] # LINEAR B IDEOGRAM B146
+1009F ; [.3845.0020.0002.1009F] # LINEAR B IDEOGRAM B150
+100A0 ; [.3846.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
+100A1 ; [.3847.0020.0002.100A1] # LINEAR B IDEOGRAM B152
+100A2 ; [.3848.0020.0002.100A2] # LINEAR B IDEOGRAM B153
+100A3 ; [.3849.0020.0002.100A3] # LINEAR B IDEOGRAM B154
+100A4 ; [.384A.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
+100A5 ; [.384B.0020.0002.100A5] # LINEAR B IDEOGRAM B157
+100A6 ; [.384C.0020.0002.100A6] # LINEAR B IDEOGRAM B158
+100A7 ; [.384D.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
+100A8 ; [.384E.0020.0002.100A8] # LINEAR B IDEOGRAM B160
+100A9 ; [.384F.0020.0002.100A9] # LINEAR B IDEOGRAM B161
+100AA ; [.3850.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
+100AB ; [.3851.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
+100AC ; [.3852.0020.0002.100AC] # LINEAR B IDEOGRAM B164
+100AD ; [.3853.0020.0002.100AD] # LINEAR B IDEOGRAM B165
+100AE ; [.3854.0020.0002.100AE] # LINEAR B IDEOGRAM B166
+100AF ; [.3855.0020.0002.100AF] # LINEAR B IDEOGRAM B167
+100B0 ; [.3856.0020.0002.100B0] # LINEAR B IDEOGRAM B168
+100B1 ; [.3857.0020.0002.100B1] # LINEAR B IDEOGRAM B169
+100B2 ; [.3858.0020.0002.100B2] # LINEAR B IDEOGRAM B170
+100B3 ; [.3859.0020.0002.100B3] # LINEAR B IDEOGRAM B171
+100B4 ; [.385A.0020.0002.100B4] # LINEAR B IDEOGRAM B172
+100B5 ; [.385B.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
+100B6 ; [.385C.0020.0002.100B6] # LINEAR B IDEOGRAM B174
+100B7 ; [.385D.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
+100B8 ; [.385E.0020.0002.100B8] # LINEAR B IDEOGRAM B177
+100B9 ; [.385F.0020.0002.100B9] # LINEAR B IDEOGRAM B178
+100BA ; [.3860.0020.0002.100BA] # LINEAR B IDEOGRAM B179
+100BB ; [.3861.0020.0002.100BB] # LINEAR B IDEOGRAM B180
+100BC ; [.3862.0020.0002.100BC] # LINEAR B IDEOGRAM B181
+100BD ; [.3863.0020.0002.100BD] # LINEAR B IDEOGRAM B182
+100BE ; [.3864.0020.0002.100BE] # LINEAR B IDEOGRAM B183
+100BF ; [.3865.0020.0002.100BF] # LINEAR B IDEOGRAM B184
+100C0 ; [.3866.0020.0002.100C0] # LINEAR B IDEOGRAM B185
+100C1 ; [.3867.0020.0002.100C1] # LINEAR B IDEOGRAM B189
+100C2 ; [.3868.0020.0002.100C2] # LINEAR B IDEOGRAM B190
+100C3 ; [.3869.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
+100C4 ; [.386A.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
+100C5 ; [.386B.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
+100C6 ; [.386C.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
+100C7 ; [.386D.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
+100C8 ; [.386E.0020.0002.100C8] # LINEAR B IDEOGRAM B232
+100C9 ; [.386F.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
+100CA ; [.3870.0020.0002.100CA] # LINEAR B IDEOGRAM B234
+100CB ; [.3871.0020.0002.100CB] # LINEAR B IDEOGRAM B236
+100CC ; [.3872.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
+100CD ; [.3873.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
+100CE ; [.3874.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
+100CF ; [.3875.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
+100D0 ; [.3876.0020.0002.100D0] # LINEAR B IDEOGRAM B245
+100D1 ; [.3877.0020.0002.100D1] # LINEAR B IDEOGRAM B246
+100D2 ; [.3878.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
+100D3 ; [.3879.0020.0002.100D3] # LINEAR B IDEOGRAM B248
+100D4 ; [.387A.0020.0002.100D4] # LINEAR B IDEOGRAM B249
+100D5 ; [.387B.0020.0002.100D5] # LINEAR B IDEOGRAM B251
+100D6 ; [.387C.0020.0002.100D6] # LINEAR B IDEOGRAM B252
+100D7 ; [.387D.0020.0002.100D7] # LINEAR B IDEOGRAM B253
+100D8 ; [.387E.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
+100D9 ; [.387F.0020.0002.100D9] # LINEAR B IDEOGRAM B255
+100DA ; [.3880.0020.0002.100DA] # LINEAR B IDEOGRAM B256
+100DB ; [.3881.0020.0002.100DB] # LINEAR B IDEOGRAM B257
+100DC ; [.3882.0020.0002.100DC] # LINEAR B IDEOGRAM B258
+100DD ; [.3883.0020.0002.100DD] # LINEAR B IDEOGRAM B259
+100DE ; [.3884.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
+100DF ; [.3885.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
+100E0 ; [.3886.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
+100E1 ; [.3887.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
+100E2 ; [.3888.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
+100E3 ; [.3889.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
+100E4 ; [.388A.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
+100E5 ; [.388B.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
+100E6 ; [.388C.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
+100E7 ; [.388D.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
+100E8 ; [.388E.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
+100E9 ; [.388F.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
+100EA ; [.3890.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
+100EB ; [.3891.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
+100EC ; [.3892.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
+100ED ; [.3893.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
+100EE ; [.3894.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
+100EF ; [.3895.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
+100F0 ; [.3896.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
+100F1 ; [.3897.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
+100F2 ; [.3898.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
+100F3 ; [.3899.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
+100F4 ; [.389A.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
+100F5 ; [.389B.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
+100F6 ; [.389C.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
+100F7 ; [.389D.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
+100F8 ; [.389E.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
+100F9 ; [.389F.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
+100FA ; [.38A0.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
+10800 ; [.38A1.0020.0002.10800] # CYPRIOT SYLLABLE A
+10801 ; [.38A2.0020.0002.10801] # CYPRIOT SYLLABLE E
+10802 ; [.38A3.0020.0002.10802] # CYPRIOT SYLLABLE I
+10803 ; [.38A4.0020.0002.10803] # CYPRIOT SYLLABLE O
+10804 ; [.38A5.0020.0002.10804] # CYPRIOT SYLLABLE U
+10805 ; [.38A6.0020.0002.10805] # CYPRIOT SYLLABLE JA
+10808 ; [.38A7.0020.0002.10808] # CYPRIOT SYLLABLE JO
+1080A ; [.38A8.0020.0002.1080A] # CYPRIOT SYLLABLE KA
+1080B ; [.38A9.0020.0002.1080B] # CYPRIOT SYLLABLE KE
+1080C ; [.38AA.0020.0002.1080C] # CYPRIOT SYLLABLE KI
+1080D ; [.38AB.0020.0002.1080D] # CYPRIOT SYLLABLE KO
+1080E ; [.38AC.0020.0002.1080E] # CYPRIOT SYLLABLE KU
+1080F ; [.38AD.0020.0002.1080F] # CYPRIOT SYLLABLE LA
+10810 ; [.38AE.0020.0002.10810] # CYPRIOT SYLLABLE LE
+10811 ; [.38AF.0020.0002.10811] # CYPRIOT SYLLABLE LI
+10812 ; [.38B0.0020.0002.10812] # CYPRIOT SYLLABLE LO
+10813 ; [.38B1.0020.0002.10813] # CYPRIOT SYLLABLE LU
+10814 ; [.38B2.0020.0002.10814] # CYPRIOT SYLLABLE MA
+10815 ; [.38B3.0020.0002.10815] # CYPRIOT SYLLABLE ME
+10816 ; [.38B4.0020.0002.10816] # CYPRIOT SYLLABLE MI
+10817 ; [.38B5.0020.0002.10817] # CYPRIOT SYLLABLE MO
+10818 ; [.38B6.0020.0002.10818] # CYPRIOT SYLLABLE MU
+10819 ; [.38B7.0020.0002.10819] # CYPRIOT SYLLABLE NA
+1081A ; [.38B8.0020.0002.1081A] # CYPRIOT SYLLABLE NE
+1081B ; [.38B9.0020.0002.1081B] # CYPRIOT SYLLABLE NI
+1081C ; [.38BA.0020.0002.1081C] # CYPRIOT SYLLABLE NO
+1081D ; [.38BB.0020.0002.1081D] # CYPRIOT SYLLABLE NU
+1081E ; [.38BC.0020.0002.1081E] # CYPRIOT SYLLABLE PA
+1081F ; [.38BD.0020.0002.1081F] # CYPRIOT SYLLABLE PE
+10820 ; [.38BE.0020.0002.10820] # CYPRIOT SYLLABLE PI
+10821 ; [.38BF.0020.0002.10821] # CYPRIOT SYLLABLE PO
+10822 ; [.38C0.0020.0002.10822] # CYPRIOT SYLLABLE PU
+10823 ; [.38C1.0020.0002.10823] # CYPRIOT SYLLABLE RA
+10824 ; [.38C2.0020.0002.10824] # CYPRIOT SYLLABLE RE
+10825 ; [.38C3.0020.0002.10825] # CYPRIOT SYLLABLE RI
+10826 ; [.38C4.0020.0002.10826] # CYPRIOT SYLLABLE RO
+10827 ; [.38C5.0020.0002.10827] # CYPRIOT SYLLABLE RU
+10828 ; [.38C6.0020.0002.10828] # CYPRIOT SYLLABLE SA
+10829 ; [.38C7.0020.0002.10829] # CYPRIOT SYLLABLE SE
+1082A ; [.38C8.0020.0002.1082A] # CYPRIOT SYLLABLE SI
+1082B ; [.38C9.0020.0002.1082B] # CYPRIOT SYLLABLE SO
+1082C ; [.38CA.0020.0002.1082C] # CYPRIOT SYLLABLE SU
+1082D ; [.38CB.0020.0002.1082D] # CYPRIOT SYLLABLE TA
+1082E ; [.38CC.0020.0002.1082E] # CYPRIOT SYLLABLE TE
+1082F ; [.38CD.0020.0002.1082F] # CYPRIOT SYLLABLE TI
+10830 ; [.38CE.0020.0002.10830] # CYPRIOT SYLLABLE TO
+10831 ; [.38CF.0020.0002.10831] # CYPRIOT SYLLABLE TU
+10832 ; [.38D0.0020.0002.10832] # CYPRIOT SYLLABLE WA
+10833 ; [.38D1.0020.0002.10833] # CYPRIOT SYLLABLE WE
+10834 ; [.38D2.0020.0002.10834] # CYPRIOT SYLLABLE WI
+10835 ; [.38D3.0020.0002.10835] # CYPRIOT SYLLABLE WO
+10837 ; [.38D4.0020.0002.10837] # CYPRIOT SYLLABLE XA
+10838 ; [.38D5.0020.0002.10838] # CYPRIOT SYLLABLE XE
+1083C ; [.38D6.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
+1083F ; [.38D7.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
+10A60 ; [.38D8.0020.0002.10A60] # OLD SOUTH ARABIAN LETTER HE
+10A61 ; [.38D9.0020.0002.10A61] # OLD SOUTH ARABIAN LETTER LAMEDH
+10A62 ; [.38DA.0020.0002.10A62] # OLD SOUTH ARABIAN LETTER HETH
+10A63 ; [.38DB.0020.0002.10A63] # OLD SOUTH ARABIAN LETTER MEM
+10A64 ; [.38DC.0020.0002.10A64] # OLD SOUTH ARABIAN LETTER QOPH
+10A65 ; [.38DD.0020.0002.10A65] # OLD SOUTH ARABIAN LETTER WAW
+10A66 ; [.38DE.0020.0002.10A66] # OLD SOUTH ARABIAN LETTER SHIN
+10A67 ; [.38DF.0020.0002.10A67] # OLD SOUTH ARABIAN LETTER RESH
+10A68 ; [.38E0.0020.0002.10A68] # OLD SOUTH ARABIAN LETTER BETH
+10A69 ; [.38E1.0020.0002.10A69] # OLD SOUTH ARABIAN LETTER TAW
+10A6A ; [.38E2.0020.0002.10A6A] # OLD SOUTH ARABIAN LETTER SAT
+10A6B ; [.38E3.0020.0002.10A6B] # OLD SOUTH ARABIAN LETTER KAPH
+10A6C ; [.38E4.0020.0002.10A6C] # OLD SOUTH ARABIAN LETTER NUN
+10A6D ; [.38E5.0020.0002.10A6D] # OLD SOUTH ARABIAN LETTER KHETH
+10A6E ; [.38E6.0020.0002.10A6E] # OLD SOUTH ARABIAN LETTER SADHE
+10A6F ; [.38E7.0020.0002.10A6F] # OLD SOUTH ARABIAN LETTER SAMEKH
+10A70 ; [.38E8.0020.0002.10A70] # OLD SOUTH ARABIAN LETTER FE
+10A71 ; [.38E9.0020.0002.10A71] # OLD SOUTH ARABIAN LETTER ALEF
+10A72 ; [.38EA.0020.0002.10A72] # OLD SOUTH ARABIAN LETTER AYN
+10A73 ; [.38EB.0020.0002.10A73] # OLD SOUTH ARABIAN LETTER DHADHE
+10A74 ; [.38EC.0020.0002.10A74] # OLD SOUTH ARABIAN LETTER GIMEL
+10A75 ; [.38ED.0020.0002.10A75] # OLD SOUTH ARABIAN LETTER DALETH
+10A76 ; [.38EE.0020.0002.10A76] # OLD SOUTH ARABIAN LETTER GHAYN
+10A77 ; [.38EF.0020.0002.10A77] # OLD SOUTH ARABIAN LETTER TETH
+10A78 ; [.38F0.0020.0002.10A78] # OLD SOUTH ARABIAN LETTER ZAYN
+10A79 ; [.38F1.0020.0002.10A79] # OLD SOUTH ARABIAN LETTER DHALETH
+10A7A ; [.38F2.0020.0002.10A7A] # OLD SOUTH ARABIAN LETTER YODH
+10A7B ; [.38F3.0020.0002.10A7B] # OLD SOUTH ARABIAN LETTER THAW
+10A7C ; [.38F4.0020.0002.10A7C] # OLD SOUTH ARABIAN LETTER THETH
+10B00 ; [.38F5.0020.0002.10B00] # AVESTAN LETTER A
+10B01 ; [.38F6.0020.0002.10B01] # AVESTAN LETTER AA
+10B02 ; [.38F7.0020.0002.10B02] # AVESTAN LETTER AO
+10B03 ; [.38F8.0020.0002.10B03] # AVESTAN LETTER AAO
+10B04 ; [.38F9.0020.0002.10B04] # AVESTAN LETTER AN
+10B05 ; [.38FA.0020.0002.10B05] # AVESTAN LETTER AAN
+10B06 ; [.38FB.0020.0002.10B06] # AVESTAN LETTER AE
+10B07 ; [.38FC.0020.0002.10B07] # AVESTAN LETTER AEE
+10B08 ; [.38FD.0020.0002.10B08] # AVESTAN LETTER E
+10B09 ; [.38FE.0020.0002.10B09] # AVESTAN LETTER EE
+10B0A ; [.38FF.0020.0002.10B0A] # AVESTAN LETTER O
+10B0B ; [.3900.0020.0002.10B0B] # AVESTAN LETTER OO
+10B0C ; [.3901.0020.0002.10B0C] # AVESTAN LETTER I
+10B0D ; [.3902.0020.0002.10B0D] # AVESTAN LETTER II
+10B0E ; [.3903.0020.0002.10B0E] # AVESTAN LETTER U
+10B0F ; [.3904.0020.0002.10B0F] # AVESTAN LETTER UU
+10B10 ; [.3905.0020.0002.10B10] # AVESTAN LETTER KE
+10B11 ; [.3906.0020.0002.10B11] # AVESTAN LETTER XE
+10B12 ; [.3907.0020.0002.10B12] # AVESTAN LETTER XYE
+10B13 ; [.3908.0020.0002.10B13] # AVESTAN LETTER XVE
+10B14 ; [.3909.0020.0002.10B14] # AVESTAN LETTER GE
+10B15 ; [.390A.0020.0002.10B15] # AVESTAN LETTER GGE
+10B16 ; [.390B.0020.0002.10B16] # AVESTAN LETTER GHE
+10B17 ; [.390C.0020.0002.10B17] # AVESTAN LETTER CE
+10B18 ; [.390D.0020.0002.10B18] # AVESTAN LETTER JE
+10B19 ; [.390E.0020.0002.10B19] # AVESTAN LETTER TE
+10B1A ; [.390F.0020.0002.10B1A] # AVESTAN LETTER THE
+10B1B ; [.3910.0020.0002.10B1B] # AVESTAN LETTER DE
+10B1C ; [.3911.0020.0002.10B1C] # AVESTAN LETTER DHE
+10B1D ; [.3912.0020.0002.10B1D] # AVESTAN LETTER TTE
+10B1E ; [.3913.0020.0002.10B1E] # AVESTAN LETTER PE
+10B1F ; [.3914.0020.0002.10B1F] # AVESTAN LETTER FE
+10B20 ; [.3915.0020.0002.10B20] # AVESTAN LETTER BE
+10B21 ; [.3916.0020.0002.10B21] # AVESTAN LETTER BHE
+10B22 ; [.3917.0020.0002.10B22] # AVESTAN LETTER NGE
+10B23 ; [.3918.0020.0002.10B23] # AVESTAN LETTER NGYE
+10B24 ; [.3919.0020.0002.10B24] # AVESTAN LETTER NGVE
+10B25 ; [.391A.0020.0002.10B25] # AVESTAN LETTER NE
+10B26 ; [.391B.0020.0002.10B26] # AVESTAN LETTER NYE
+10B27 ; [.391C.0020.0002.10B27] # AVESTAN LETTER NNE
+10B28 ; [.391D.0020.0002.10B28] # AVESTAN LETTER ME
+10B29 ; [.391E.0020.0002.10B29] # AVESTAN LETTER HME
+10B2A ; [.391F.0020.0002.10B2A] # AVESTAN LETTER YYE
+10B2B ; [.3920.0020.0002.10B2B] # AVESTAN LETTER YE
+10B2C ; [.3921.0020.0002.10B2C] # AVESTAN LETTER VE
+10B2D ; [.3922.0020.0002.10B2D] # AVESTAN LETTER RE
+10B2E ; [.3922.0020.0004.10B2E][.0000.015F.0004.10B2E] # AVESTAN LETTER LE; QQKN
+10B2F ; [.3923.0020.0002.10B2F] # AVESTAN LETTER SE
+10B30 ; [.3924.0020.0002.10B30] # AVESTAN LETTER ZE
+10B31 ; [.3925.0020.0002.10B31] # AVESTAN LETTER SHE
+10B32 ; [.3926.0020.0002.10B32] # AVESTAN LETTER ZHE
+10B33 ; [.3927.0020.0002.10B33] # AVESTAN LETTER SHYE
+10B34 ; [.3928.0020.0002.10B34] # AVESTAN LETTER SSHE
+10B35 ; [.3929.0020.0002.10B35] # AVESTAN LETTER HE
+10840 ; [.392A.0020.0002.10840] # IMPERIAL ARAMAIC LETTER ALEPH
+10841 ; [.392B.0020.0002.10841] # IMPERIAL ARAMAIC LETTER BETH
+10842 ; [.392C.0020.0002.10842] # IMPERIAL ARAMAIC LETTER GIMEL
+10843 ; [.392D.0020.0002.10843] # IMPERIAL ARAMAIC LETTER DALETH
+10844 ; [.392E.0020.0002.10844] # IMPERIAL ARAMAIC LETTER HE
+10845 ; [.392F.0020.0002.10845] # IMPERIAL ARAMAIC LETTER WAW
+10846 ; [.3930.0020.0002.10846] # IMPERIAL ARAMAIC LETTER ZAYIN
+10847 ; [.3931.0020.0002.10847] # IMPERIAL ARAMAIC LETTER HETH
+10848 ; [.3932.0020.0002.10848] # IMPERIAL ARAMAIC LETTER TETH
+10849 ; [.3933.0020.0002.10849] # IMPERIAL ARAMAIC LETTER YODH
+1084A ; [.3934.0020.0002.1084A] # IMPERIAL ARAMAIC LETTER KAPH
+1084B ; [.3935.0020.0002.1084B] # IMPERIAL ARAMAIC LETTER LAMEDH
+1084C ; [.3936.0020.0002.1084C] # IMPERIAL ARAMAIC LETTER MEM
+1084D ; [.3937.0020.0002.1084D] # IMPERIAL ARAMAIC LETTER NUN
+1084E ; [.3938.0020.0002.1084E] # IMPERIAL ARAMAIC LETTER SAMEKH
+1084F ; [.3939.0020.0002.1084F] # IMPERIAL ARAMAIC LETTER AYIN
+10850 ; [.393A.0020.0002.10850] # IMPERIAL ARAMAIC LETTER PE
+10851 ; [.393B.0020.0002.10851] # IMPERIAL ARAMAIC LETTER SADHE
+10852 ; [.393C.0020.0002.10852] # IMPERIAL ARAMAIC LETTER QOPH
+10853 ; [.393D.0020.0002.10853] # IMPERIAL ARAMAIC LETTER RESH
+10854 ; [.393E.0020.0002.10854] # IMPERIAL ARAMAIC LETTER SHIN
+10855 ; [.393F.0020.0002.10855] # IMPERIAL ARAMAIC LETTER TAW
+10B40 ; [.3940.0020.0002.10B40] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
+10B41 ; [.3941.0020.0002.10B41] # INSCRIPTIONAL PARTHIAN LETTER BETH
+10B42 ; [.3942.0020.0002.10B42] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
+10B43 ; [.3943.0020.0002.10B43] # INSCRIPTIONAL PARTHIAN LETTER DALETH
+10B44 ; [.3944.0020.0002.10B44] # INSCRIPTIONAL PARTHIAN LETTER HE
+10B45 ; [.3945.0020.0002.10B45] # INSCRIPTIONAL PARTHIAN LETTER WAW
+10B46 ; [.3946.0020.0002.10B46] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
+10B47 ; [.3947.0020.0002.10B47] # INSCRIPTIONAL PARTHIAN LETTER HETH
+10B48 ; [.3948.0020.0002.10B48] # INSCRIPTIONAL PARTHIAN LETTER TETH
+10B49 ; [.3949.0020.0002.10B49] # INSCRIPTIONAL PARTHIAN LETTER YODH
+10B4A ; [.394A.0020.0002.10B4A] # INSCRIPTIONAL PARTHIAN LETTER KAPH
+10B4B ; [.394B.0020.0002.10B4B] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
+10B4C ; [.394C.0020.0002.10B4C] # INSCRIPTIONAL PARTHIAN LETTER MEM
+10B4D ; [.394D.0020.0002.10B4D] # INSCRIPTIONAL PARTHIAN LETTER NUN
+10B4E ; [.394E.0020.0002.10B4E] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
+10B4F ; [.394F.0020.0002.10B4F] # INSCRIPTIONAL PARTHIAN LETTER AYIN
+10B50 ; [.3950.0020.0002.10B50] # INSCRIPTIONAL PARTHIAN LETTER PE
+10B51 ; [.3951.0020.0002.10B51] # INSCRIPTIONAL PARTHIAN LETTER SADHE
+10B52 ; [.3952.0020.0002.10B52] # INSCRIPTIONAL PARTHIAN LETTER QOPH
+10B53 ; [.3953.0020.0002.10B53] # INSCRIPTIONAL PARTHIAN LETTER RESH
+10B54 ; [.3954.0020.0002.10B54] # INSCRIPTIONAL PARTHIAN LETTER SHIN
+10B55 ; [.3955.0020.0002.10B55] # INSCRIPTIONAL PARTHIAN LETTER TAW
+10B60 ; [.3956.0020.0002.10B60] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
+10B61 ; [.3957.0020.0002.10B61] # INSCRIPTIONAL PAHLAVI LETTER BETH
+10B62 ; [.3958.0020.0002.10B62] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
+10B63 ; [.3959.0020.0002.10B63] # INSCRIPTIONAL PAHLAVI LETTER DALETH
+10B64 ; [.395A.0020.0002.10B64] # INSCRIPTIONAL PAHLAVI LETTER HE
+10B65 ; [.395B.0020.0002.10B65] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
+10B66 ; [.395C.0020.0002.10B66] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
+10B67 ; [.395D.0020.0002.10B67] # INSCRIPTIONAL PAHLAVI LETTER HETH
+10B68 ; [.395E.0020.0002.10B68] # INSCRIPTIONAL PAHLAVI LETTER TETH
+10B69 ; [.395F.0020.0002.10B69] # INSCRIPTIONAL PAHLAVI LETTER YODH
+10B6A ; [.3960.0020.0002.10B6A] # INSCRIPTIONAL PAHLAVI LETTER KAPH
+10B6B ; [.3961.0020.0002.10B6B] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
+10B6C ; [.3962.0020.0002.10B6C] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
+10B6D ; [.3963.0020.0002.10B6D] # INSCRIPTIONAL PAHLAVI LETTER NUN
+10B6E ; [.3964.0020.0002.10B6E] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
+10B6F ; [.3965.0020.0002.10B6F] # INSCRIPTIONAL PAHLAVI LETTER PE
+10B70 ; [.3966.0020.0002.10B70] # INSCRIPTIONAL PAHLAVI LETTER SADHE
+10B71 ; [.3967.0020.0002.10B71] # INSCRIPTIONAL PAHLAVI LETTER SHIN
+10B72 ; [.3968.0020.0002.10B72] # INSCRIPTIONAL PAHLAVI LETTER TAW
+10380 ; [.3969.0020.0002.10380] # UGARITIC LETTER ALPA
+10381 ; [.396A.0020.0002.10381] # UGARITIC LETTER BETA
+10382 ; [.396B.0020.0002.10382] # UGARITIC LETTER GAMLA
+10383 ; [.396C.0020.0002.10383] # UGARITIC LETTER KHA
+10384 ; [.396D.0020.0002.10384] # UGARITIC LETTER DELTA
+10385 ; [.396E.0020.0002.10385] # UGARITIC LETTER HO
+10386 ; [.396F.0020.0002.10386] # UGARITIC LETTER WO
+10387 ; [.3970.0020.0002.10387] # UGARITIC LETTER ZETA
+10388 ; [.3971.0020.0002.10388] # UGARITIC LETTER HOTA
+10389 ; [.3972.0020.0002.10389] # UGARITIC LETTER TET
+1038A ; [.3973.0020.0002.1038A] # UGARITIC LETTER YOD
+1038B ; [.3974.0020.0002.1038B] # UGARITIC LETTER KAF
+1038C ; [.3975.0020.0002.1038C] # UGARITIC LETTER SHIN
+1038D ; [.3976.0020.0002.1038D] # UGARITIC LETTER LAMDA
+1038E ; [.3977.0020.0002.1038E] # UGARITIC LETTER MEM
+1038F ; [.3978.0020.0002.1038F] # UGARITIC LETTER DHAL
+10390 ; [.3979.0020.0002.10390] # UGARITIC LETTER NUN
+10391 ; [.397A.0020.0002.10391] # UGARITIC LETTER ZU
+10392 ; [.397B.0020.0002.10392] # UGARITIC LETTER SAMKA
+10393 ; [.397C.0020.0002.10393] # UGARITIC LETTER AIN
+10394 ; [.397D.0020.0002.10394] # UGARITIC LETTER PU
+10395 ; [.397E.0020.0002.10395] # UGARITIC LETTER SADE
+10396 ; [.397F.0020.0002.10396] # UGARITIC LETTER QOPA
+10397 ; [.3980.0020.0002.10397] # UGARITIC LETTER RASHA
+10398 ; [.3981.0020.0002.10398] # UGARITIC LETTER THANNA
+10399 ; [.3982.0020.0002.10399] # UGARITIC LETTER GHAIN
+1039A ; [.3983.0020.0002.1039A] # UGARITIC LETTER TO
+1039B ; [.3984.0020.0002.1039B] # UGARITIC LETTER I
+1039C ; [.3985.0020.0002.1039C] # UGARITIC LETTER U
+1039D ; [.3986.0020.0002.1039D] # UGARITIC LETTER SSU
+103A0 ; [.3987.0020.0002.103A0] # OLD PERSIAN SIGN A
+103A1 ; [.3988.0020.0002.103A1] # OLD PERSIAN SIGN I
+103A2 ; [.3989.0020.0002.103A2] # OLD PERSIAN SIGN U
+103A3 ; [.398A.0020.0002.103A3] # OLD PERSIAN SIGN KA
+103A4 ; [.398B.0020.0002.103A4] # OLD PERSIAN SIGN KU
+103A5 ; [.398C.0020.0002.103A5] # OLD PERSIAN SIGN GA
+103A6 ; [.398D.0020.0002.103A6] # OLD PERSIAN SIGN GU
+103A7 ; [.398E.0020.0002.103A7] # OLD PERSIAN SIGN XA
+103A8 ; [.398F.0020.0002.103A8] # OLD PERSIAN SIGN CA
+103A9 ; [.3990.0020.0002.103A9] # OLD PERSIAN SIGN JA
+103AA ; [.3991.0020.0002.103AA] # OLD PERSIAN SIGN JI
+103AB ; [.3992.0020.0002.103AB] # OLD PERSIAN SIGN TA
+103AC ; [.3993.0020.0002.103AC] # OLD PERSIAN SIGN TU
+103AD ; [.3994.0020.0002.103AD] # OLD PERSIAN SIGN DA
+103AE ; [.3995.0020.0002.103AE] # OLD PERSIAN SIGN DI
+103AF ; [.3996.0020.0002.103AF] # OLD PERSIAN SIGN DU
+103B0 ; [.3997.0020.0002.103B0] # OLD PERSIAN SIGN THA
+103B1 ; [.3998.0020.0002.103B1] # OLD PERSIAN SIGN PA
+103B2 ; [.3999.0020.0002.103B2] # OLD PERSIAN SIGN BA
+103B3 ; [.399A.0020.0002.103B3] # OLD PERSIAN SIGN FA
+103B4 ; [.399B.0020.0002.103B4] # OLD PERSIAN SIGN NA
+103B5 ; [.399C.0020.0002.103B5] # OLD PERSIAN SIGN NU
+103B6 ; [.399D.0020.0002.103B6] # OLD PERSIAN SIGN MA
+103B7 ; [.399E.0020.0002.103B7] # OLD PERSIAN SIGN MI
+103B8 ; [.399F.0020.0002.103B8] # OLD PERSIAN SIGN MU
+103B9 ; [.39A0.0020.0002.103B9] # OLD PERSIAN SIGN YA
+103BA ; [.39A1.0020.0002.103BA] # OLD PERSIAN SIGN VA
+103BB ; [.39A2.0020.0002.103BB] # OLD PERSIAN SIGN VI
+103BC ; [.39A3.0020.0002.103BC] # OLD PERSIAN SIGN RA
+103BD ; [.39A4.0020.0002.103BD] # OLD PERSIAN SIGN RU
+103BE ; [.39A5.0020.0002.103BE] # OLD PERSIAN SIGN LA
+103BF ; [.39A6.0020.0002.103BF] # OLD PERSIAN SIGN SA
+103C0 ; [.39A7.0020.0002.103C0] # OLD PERSIAN SIGN ZA
+103C1 ; [.39A8.0020.0002.103C1] # OLD PERSIAN SIGN SHA
+103C2 ; [.39A9.0020.0002.103C2] # OLD PERSIAN SIGN SSA
+103C3 ; [.39AA.0020.0002.103C3] # OLD PERSIAN SIGN HA
+103C8 ; [.39AB.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
+103C9 ; [.39AC.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
+103CA ; [.39AD.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
+103CB ; [.39AE.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
+103CC ; [.39AF.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
+103CD ; [.39B0.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
+103CE ; [.39B1.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
+103CF ; [.39B2.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
+12000 ; [.39B3.0020.0002.12000] # CUNEIFORM SIGN A
+12001 ; [.39B4.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
+12002 ; [.39B5.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
+12003 ; [.39B6.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
+12004 ; [.39B7.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
+12005 ; [.39B8.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
+12006 ; [.39B9.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
+12007 ; [.39BA.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
+12008 ; [.39BB.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
+12009 ; [.39BC.0020.0002.12009] # CUNEIFORM SIGN A2
+1200A ; [.39BD.0020.0002.1200A] # CUNEIFORM SIGN AB
+1200B ; [.39BE.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
+1200C ; [.39BF.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
+1200D ; [.39C0.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
+1200E ; [.39C1.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
+1200F ; [.39C2.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
+12010 ; [.39C3.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
+12011 ; [.39C4.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
+12012 ; [.39C5.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
+12013 ; [.39C6.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
+12014 ; [.39C7.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
+12015 ; [.39C8.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
+12016 ; [.39C9.0020.0002.12016] # CUNEIFORM SIGN AB2
+12017 ; [.39CA.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
+12018 ; [.39CB.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
+12019 ; [.39CC.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
+1201A ; [.39CD.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
+1201B ; [.39CE.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
+1201C ; [.39CF.0020.0002.1201C] # CUNEIFORM SIGN AD
+1201D ; [.39D0.0020.0002.1201D] # CUNEIFORM SIGN AK
+1201E ; [.39D1.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
+1201F ; [.39D2.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
+12020 ; [.39D3.0020.0002.12020] # CUNEIFORM SIGN AL
+12021 ; [.39D4.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
+12022 ; [.39D5.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
+12023 ; [.39D6.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
+12024 ; [.39D7.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
+12025 ; [.39D8.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
+12026 ; [.39D9.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
+12027 ; [.39DA.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
+12028 ; [.39DB.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
+12029 ; [.39DC.0020.0002.12029] # CUNEIFORM SIGN ALAN
+1202A ; [.39DD.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
+1202B ; [.39DE.0020.0002.1202B] # CUNEIFORM SIGN AMAR
+1202C ; [.39DF.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
+1202D ; [.39E0.0020.0002.1202D] # CUNEIFORM SIGN AN
+1202E ; [.39E1.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
+1202F ; [.39E2.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
+12030 ; [.39E3.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
+12031 ; [.39E4.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
+12032 ; [.39E5.0020.0002.12032] # CUNEIFORM SIGN ANSHE
+12033 ; [.39E6.0020.0002.12033] # CUNEIFORM SIGN APIN
+12034 ; [.39E7.0020.0002.12034] # CUNEIFORM SIGN ARAD
+12035 ; [.39E8.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
+12036 ; [.39E9.0020.0002.12036] # CUNEIFORM SIGN ARKAB
+12037 ; [.39EA.0020.0002.12037] # CUNEIFORM SIGN ASAL2
+12038 ; [.39EB.0020.0002.12038] # CUNEIFORM SIGN ASH
+12039 ; [.39EC.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
+1203A ; [.39ED.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
+1203B ; [.39EE.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
+1203C ; [.39EF.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
+1203D ; [.39F0.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
+1203E ; [.39F1.0020.0002.1203E] # CUNEIFORM SIGN ASH2
+1203F ; [.39F2.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
+12040 ; [.39F3.0020.0002.12040] # CUNEIFORM SIGN BA
+12041 ; [.39F4.0020.0002.12041] # CUNEIFORM SIGN BAD
+12042 ; [.39F5.0020.0002.12042] # CUNEIFORM SIGN BAG3
+12043 ; [.39F6.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
+12044 ; [.39F7.0020.0002.12044] # CUNEIFORM SIGN BAL
+12045 ; [.39F8.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
+12046 ; [.39F9.0020.0002.12046] # CUNEIFORM SIGN BALAG
+12047 ; [.39FA.0020.0002.12047] # CUNEIFORM SIGN BAR
+12048 ; [.39FB.0020.0002.12048] # CUNEIFORM SIGN BARA2
+12049 ; [.39FC.0020.0002.12049] # CUNEIFORM SIGN BI
+1204A ; [.39FD.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
+1204B ; [.39FE.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
+1204C ; [.39FF.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
+1204D ; [.3A00.0020.0002.1204D] # CUNEIFORM SIGN BU
+1204E ; [.3A01.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
+1204F ; [.3A02.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
+12050 ; [.3A03.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
+12051 ; [.3A04.0020.0002.12051] # CUNEIFORM SIGN BULUG
+12052 ; [.3A05.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
+12053 ; [.3A06.0020.0002.12053] # CUNEIFORM SIGN BUR
+12054 ; [.3A07.0020.0002.12054] # CUNEIFORM SIGN BUR2
+12055 ; [.3A08.0020.0002.12055] # CUNEIFORM SIGN DA
+12056 ; [.3A09.0020.0002.12056] # CUNEIFORM SIGN DAG
+12057 ; [.3A0A.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
+12058 ; [.3A0B.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
+12059 ; [.3A0C.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
+1205A ; [.3A0D.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
+1205B ; [.3A0E.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
+1205C ; [.3A0F.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
+1205D ; [.3A10.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
+1205E ; [.3A11.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
+1205F ; [.3A12.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
+12060 ; [.3A13.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
+12061 ; [.3A14.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
+12062 ; [.3A15.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
+12063 ; [.3A16.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
+12064 ; [.3A17.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
+12065 ; [.3A18.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
+12066 ; [.3A19.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
+12067 ; [.3A1A.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
+12068 ; [.3A1B.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
+12069 ; [.3A1C.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
+1206A ; [.3A1D.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
+1206B ; [.3A1E.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
+1206C ; [.3A1F.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
+1206D ; [.3A20.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
+1206E ; [.3A21.0020.0002.1206E] # CUNEIFORM SIGN DAM
+1206F ; [.3A22.0020.0002.1206F] # CUNEIFORM SIGN DAR
+12070 ; [.3A23.0020.0002.12070] # CUNEIFORM SIGN DARA3
+12071 ; [.3A24.0020.0002.12071] # CUNEIFORM SIGN DARA4
+12072 ; [.3A25.0020.0002.12072] # CUNEIFORM SIGN DI
+12073 ; [.3A26.0020.0002.12073] # CUNEIFORM SIGN DIB
+12074 ; [.3A27.0020.0002.12074] # CUNEIFORM SIGN DIM
+12075 ; [.3A28.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
+12076 ; [.3A29.0020.0002.12076] # CUNEIFORM SIGN DIM2
+12077 ; [.3A2A.0020.0002.12077] # CUNEIFORM SIGN DIN
+12078 ; [.3A2B.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
+12079 ; [.3A2C.0020.0002.12079] # CUNEIFORM SIGN DISH
+1207A ; [.3A2D.0020.0002.1207A] # CUNEIFORM SIGN DU
+1207B ; [.3A2E.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
+1207C ; [.3A2F.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
+1207D ; [.3A30.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
+1207E ; [.3A31.0020.0002.1207E] # CUNEIFORM SIGN DUB
+1207F ; [.3A32.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
+12080 ; [.3A33.0020.0002.12080] # CUNEIFORM SIGN DUB2
+12081 ; [.3A34.0020.0002.12081] # CUNEIFORM SIGN DUG
+12082 ; [.3A35.0020.0002.12082] # CUNEIFORM SIGN DUGUD
+12083 ; [.3A36.0020.0002.12083] # CUNEIFORM SIGN DUH
+12084 ; [.3A37.0020.0002.12084] # CUNEIFORM SIGN DUN
+12085 ; [.3A38.0020.0002.12085] # CUNEIFORM SIGN DUN3
+12086 ; [.3A39.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
+12087 ; [.3A3A.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
+12088 ; [.3A3B.0020.0002.12088] # CUNEIFORM SIGN DUN4
+12089 ; [.3A3C.0020.0002.12089] # CUNEIFORM SIGN DUR2
+1208A ; [.3A3D.0020.0002.1208A] # CUNEIFORM SIGN E
+1208B ; [.3A3E.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
+1208C ; [.3A3F.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
+1208D ; [.3A40.0020.0002.1208D] # CUNEIFORM SIGN E2
+1208E ; [.3A41.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
+1208F ; [.3A42.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
+12090 ; [.3A43.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
+12091 ; [.3A44.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
+12092 ; [.3A45.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
+12093 ; [.3A46.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
+12094 ; [.3A47.0020.0002.12094] # CUNEIFORM SIGN EDIN
+12095 ; [.3A48.0020.0002.12095] # CUNEIFORM SIGN EGIR
+12096 ; [.3A49.0020.0002.12096] # CUNEIFORM SIGN EL
+12097 ; [.3A4A.0020.0002.12097] # CUNEIFORM SIGN EN
+12098 ; [.3A4B.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
+12099 ; [.3A4C.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
+1209A ; [.3A4D.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
+1209B ; [.3A4E.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
+1209C ; [.3A4F.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
+1209D ; [.3A50.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
+1209E ; [.3A51.0020.0002.1209E] # CUNEIFORM SIGN EREN
+1209F ; [.3A52.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
+120A0 ; [.3A53.0020.0002.120A0] # CUNEIFORM SIGN ESH2
+120A1 ; [.3A54.0020.0002.120A1] # CUNEIFORM SIGN EZEN
+120A2 ; [.3A55.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
+120A3 ; [.3A56.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
+120A4 ; [.3A57.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
+120A5 ; [.3A58.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
+120A6 ; [.3A59.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
+120A7 ; [.3A5A.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
+120A8 ; [.3A5B.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
+120A9 ; [.3A5C.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
+120AA ; [.3A5D.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
+120AB ; [.3A5E.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
+120AC ; [.3A5F.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
+120AD ; [.3A60.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
+120AE ; [.3A61.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
+120AF ; [.3A62.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
+120B0 ; [.3A63.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
+120B1 ; [.3A64.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
+120B2 ; [.3A65.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
+120B3 ; [.3A66.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
+120B4 ; [.3A67.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
+120B5 ; [.3A68.0020.0002.120B5] # CUNEIFORM SIGN GA
+120B6 ; [.3A69.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
+120B7 ; [.3A6A.0020.0002.120B7] # CUNEIFORM SIGN GA2
+120B8 ; [.3A6B.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
+120B9 ; [.3A6C.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
+120BA ; [.3A6D.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
+120BB ; [.3A6E.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
+120BC ; [.3A6F.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
+120BD ; [.3A70.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
+120BE ; [.3A71.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
+120BF ; [.3A72.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
+120C0 ; [.3A73.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
+120C1 ; [.3A74.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
+120C2 ; [.3A75.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
+120C3 ; [.3A76.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
+120C4 ; [.3A77.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
+120C5 ; [.3A78.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
+120C6 ; [.3A79.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
+120C7 ; [.3A7A.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
+120C8 ; [.3A7B.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
+120C9 ; [.3A7C.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
+120CA ; [.3A7D.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
+120CB ; [.3A7E.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
+120CC ; [.3A7F.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
+120CD ; [.3A80.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
+120CE ; [.3A81.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
+120CF ; [.3A82.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
+120D0 ; [.3A83.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
+120D1 ; [.3A84.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
+120D2 ; [.3A85.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
+120D3 ; [.3A86.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
+120D4 ; [.3A87.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
+120D5 ; [.3A88.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
+120D6 ; [.3A89.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
+120D7 ; [.3A8A.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
+120D8 ; [.3A8B.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
+120D9 ; [.3A8C.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
+120DA ; [.3A8D.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
+120DB ; [.3A8E.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
+120DC ; [.3A8F.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
+120DD ; [.3A90.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
+120DE ; [.3A91.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
+120DF ; [.3A92.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
+120E0 ; [.3A93.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
+120E1 ; [.3A94.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
+120E2 ; [.3A95.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
+120E3 ; [.3A96.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
+120E4 ; [.3A97.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
+120E5 ; [.3A98.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
+120E6 ; [.3A99.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
+120E7 ; [.3A9A.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
+120E8 ; [.3A9B.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
+120E9 ; [.3A9C.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
+120EA ; [.3A9D.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
+120EB ; [.3A9E.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
+120EC ; [.3A9F.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
+120ED ; [.3AA0.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
+120EE ; [.3AA1.0020.0002.120EE] # CUNEIFORM SIGN GABA
+120EF ; [.3AA2.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
+120F0 ; [.3AA3.0020.0002.120F0] # CUNEIFORM SIGN GAD
+120F1 ; [.3AA4.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
+120F2 ; [.3AA5.0020.0002.120F2] # CUNEIFORM SIGN GAL
+120F3 ; [.3AA6.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
+120F4 ; [.3AA7.0020.0002.120F4] # CUNEIFORM SIGN GALAM
+120F5 ; [.3AA8.0020.0002.120F5] # CUNEIFORM SIGN GAM
+120F6 ; [.3AA9.0020.0002.120F6] # CUNEIFORM SIGN GAN
+120F7 ; [.3AAA.0020.0002.120F7] # CUNEIFORM SIGN GAN2
+120F8 ; [.3AAB.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
+120F9 ; [.3AAC.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
+120FA ; [.3AAD.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
+120FB ; [.3AAE.0020.0002.120FB] # CUNEIFORM SIGN GAR
+120FC ; [.3AAF.0020.0002.120FC] # CUNEIFORM SIGN GAR3
+120FD ; [.3AB0.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
+120FE ; [.3AB1.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
+120FF ; [.3AB2.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
+12100 ; [.3AB3.0020.0002.12100] # CUNEIFORM SIGN GI
+12101 ; [.3AB4.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
+12102 ; [.3AB5.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
+12103 ; [.3AB6.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
+12104 ; [.3AB7.0020.0002.12104] # CUNEIFORM SIGN GI4
+12105 ; [.3AB8.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
+12106 ; [.3AB9.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
+12107 ; [.3ABA.0020.0002.12107] # CUNEIFORM SIGN GIDIM
+12108 ; [.3ABB.0020.0002.12108] # CUNEIFORM SIGN GIR2
+12109 ; [.3ABC.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
+1210A ; [.3ABD.0020.0002.1210A] # CUNEIFORM SIGN GIR3
+1210B ; [.3ABE.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
+1210C ; [.3ABF.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
+1210D ; [.3AC0.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
+1210E ; [.3AC1.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
+1210F ; [.3AC2.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
+12110 ; [.3AC3.0020.0002.12110] # CUNEIFORM SIGN GISAL
+12111 ; [.3AC4.0020.0002.12111] # CUNEIFORM SIGN GISH
+12112 ; [.3AC5.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
+12113 ; [.3AC6.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
+12114 ; [.3AC7.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
+12115 ; [.3AC8.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
+12116 ; [.3AC9.0020.0002.12116] # CUNEIFORM SIGN GU
+12117 ; [.3ACA.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
+12118 ; [.3ACB.0020.0002.12118] # CUNEIFORM SIGN GU2
+12119 ; [.3ACC.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
+1211A ; [.3ACD.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
+1211B ; [.3ACE.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
+1211C ; [.3ACF.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
+1211D ; [.3AD0.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
+1211E ; [.3AD1.0020.0002.1211E] # CUNEIFORM SIGN GUD
+1211F ; [.3AD2.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
+12120 ; [.3AD3.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
+12121 ; [.3AD4.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
+12122 ; [.3AD5.0020.0002.12122] # CUNEIFORM SIGN GUL
+12123 ; [.3AD6.0020.0002.12123] # CUNEIFORM SIGN GUM
+12124 ; [.3AD7.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
+12125 ; [.3AD8.0020.0002.12125] # CUNEIFORM SIGN GUR
+12126 ; [.3AD9.0020.0002.12126] # CUNEIFORM SIGN GUR7
+12127 ; [.3ADA.0020.0002.12127] # CUNEIFORM SIGN GURUN
+12128 ; [.3ADB.0020.0002.12128] # CUNEIFORM SIGN GURUSH
+12129 ; [.3ADC.0020.0002.12129] # CUNEIFORM SIGN HA
+1212A ; [.3ADD.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
+1212B ; [.3ADE.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
+1212C ; [.3ADF.0020.0002.1212C] # CUNEIFORM SIGN HAL
+1212D ; [.3AE0.0020.0002.1212D] # CUNEIFORM SIGN HI
+1212E ; [.3AE1.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
+1212F ; [.3AE2.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
+12130 ; [.3AE3.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
+12131 ; [.3AE4.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
+12132 ; [.3AE5.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
+12133 ; [.3AE6.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
+12134 ; [.3AE7.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
+12135 ; [.3AE8.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
+12136 ; [.3AE9.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
+12137 ; [.3AEA.0020.0002.12137] # CUNEIFORM SIGN HU
+12138 ; [.3AEB.0020.0002.12138] # CUNEIFORM SIGN HUB2
+12139 ; [.3AEC.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
+1213A ; [.3AED.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
+1213B ; [.3AEE.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
+1213C ; [.3AEF.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
+1213D ; [.3AF0.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
+1213E ; [.3AF1.0020.0002.1213E] # CUNEIFORM SIGN HUL2
+1213F ; [.3AF2.0020.0002.1213F] # CUNEIFORM SIGN I
+12140 ; [.3AF3.0020.0002.12140] # CUNEIFORM SIGN I A
+12141 ; [.3AF4.0020.0002.12141] # CUNEIFORM SIGN IB
+12142 ; [.3AF5.0020.0002.12142] # CUNEIFORM SIGN IDIM
+12143 ; [.3AF6.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
+12144 ; [.3AF7.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
+12145 ; [.3AF8.0020.0002.12145] # CUNEIFORM SIGN IG
+12146 ; [.3AF9.0020.0002.12146] # CUNEIFORM SIGN IGI
+12147 ; [.3AFA.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
+12148 ; [.3AFB.0020.0002.12148] # CUNEIFORM SIGN IGI RI
+12149 ; [.3AFC.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
+1214A ; [.3AFD.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
+1214B ; [.3AFE.0020.0002.1214B] # CUNEIFORM SIGN IL
+1214C ; [.3AFF.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
+1214D ; [.3B00.0020.0002.1214D] # CUNEIFORM SIGN IL2
+1214E ; [.3B01.0020.0002.1214E] # CUNEIFORM SIGN IM
+1214F ; [.3B02.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
+12150 ; [.3B03.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
+12151 ; [.3B04.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
+12152 ; [.3B05.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
+12153 ; [.3B06.0020.0002.12153] # CUNEIFORM SIGN IMIN
+12154 ; [.3B07.0020.0002.12154] # CUNEIFORM SIGN IN
+12155 ; [.3B08.0020.0002.12155] # CUNEIFORM SIGN IR
+12156 ; [.3B09.0020.0002.12156] # CUNEIFORM SIGN ISH
+12157 ; [.3B0A.0020.0002.12157] # CUNEIFORM SIGN KA
+12158 ; [.3B0B.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
+12159 ; [.3B0C.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
+1215A ; [.3B0D.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
+1215B ; [.3B0E.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
+1215C ; [.3B0F.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
+1215D ; [.3B10.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
+1215E ; [.3B11.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
+1215F ; [.3B12.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
+12160 ; [.3B13.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
+12161 ; [.3B14.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
+12162 ; [.3B15.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
+12163 ; [.3B16.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
+12164 ; [.3B17.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
+12165 ; [.3B18.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
+12166 ; [.3B19.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
+12167 ; [.3B1A.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
+12168 ; [.3B1B.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
+12169 ; [.3B1C.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
+1216A ; [.3B1D.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
+1216B ; [.3B1E.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
+1216C ; [.3B1F.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
+1216D ; [.3B20.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
+1216E ; [.3B21.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
+1216F ; [.3B22.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
+12170 ; [.3B23.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
+12171 ; [.3B24.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
+12172 ; [.3B25.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
+12173 ; [.3B26.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
+12174 ; [.3B27.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
+12175 ; [.3B28.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
+12176 ; [.3B29.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
+12177 ; [.3B2A.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
+12178 ; [.3B2B.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
+12179 ; [.3B2C.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
+1217A ; [.3B2D.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
+1217B ; [.3B2E.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
+1217C ; [.3B2F.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
+1217D ; [.3B30.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
+1217E ; [.3B31.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
+1217F ; [.3B32.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
+12180 ; [.3B33.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
+12181 ; [.3B34.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
+12182 ; [.3B35.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
+12183 ; [.3B36.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
+12184 ; [.3B37.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
+12185 ; [.3B38.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
+12186 ; [.3B39.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
+12187 ; [.3B3A.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
+12188 ; [.3B3B.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
+12189 ; [.3B3C.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
+1218A ; [.3B3D.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
+1218B ; [.3B3E.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
+1218C ; [.3B3F.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
+1218D ; [.3B40.0020.0002.1218D] # CUNEIFORM SIGN KA2
+1218E ; [.3B41.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
+1218F ; [.3B42.0020.0002.1218F] # CUNEIFORM SIGN KAB
+12190 ; [.3B43.0020.0002.12190] # CUNEIFORM SIGN KAD2
+12191 ; [.3B44.0020.0002.12191] # CUNEIFORM SIGN KAD3
+12192 ; [.3B45.0020.0002.12192] # CUNEIFORM SIGN KAD4
+12193 ; [.3B46.0020.0002.12193] # CUNEIFORM SIGN KAD5
+12194 ; [.3B47.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
+12195 ; [.3B48.0020.0002.12195] # CUNEIFORM SIGN KAK
+12196 ; [.3B49.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
+12197 ; [.3B4A.0020.0002.12197] # CUNEIFORM SIGN KAL
+12198 ; [.3B4B.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
+12199 ; [.3B4C.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
+1219A ; [.3B4D.0020.0002.1219A] # CUNEIFORM SIGN KAM2
+1219B ; [.3B4E.0020.0002.1219B] # CUNEIFORM SIGN KAM4
+1219C ; [.3B4F.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
+1219D ; [.3B50.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219E ; [.3B51.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219F ; [.3B52.0020.0002.1219F] # CUNEIFORM SIGN KESH2
+121A0 ; [.3B53.0020.0002.121A0] # CUNEIFORM SIGN KI
+121A1 ; [.3B54.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
+121A2 ; [.3B55.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
+121A3 ; [.3B56.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
+121A4 ; [.3B57.0020.0002.121A4] # CUNEIFORM SIGN KID
+121A5 ; [.3B58.0020.0002.121A5] # CUNEIFORM SIGN KIN
+121A6 ; [.3B59.0020.0002.121A6] # CUNEIFORM SIGN KISAL
+121A7 ; [.3B5A.0020.0002.121A7] # CUNEIFORM SIGN KISH
+121A8 ; [.3B5B.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
+121A9 ; [.3B5C.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
+121AA ; [.3B5D.0020.0002.121AA] # CUNEIFORM SIGN KU
+121AB ; [.3B5E.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
+121AC ; [.3B5F.0020.0002.121AC] # CUNEIFORM SIGN KU3
+121AD ; [.3B60.0020.0002.121AD] # CUNEIFORM SIGN KU4
+121AE ; [.3B61.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
+121AF ; [.3B62.0020.0002.121AF] # CUNEIFORM SIGN KU7
+121B0 ; [.3B63.0020.0002.121B0] # CUNEIFORM SIGN KUL
+121B1 ; [.3B64.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
+121B2 ; [.3B65.0020.0002.121B2] # CUNEIFORM SIGN KUN
+121B3 ; [.3B66.0020.0002.121B3] # CUNEIFORM SIGN KUR
+121B4 ; [.3B67.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
+121B5 ; [.3B68.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
+121B6 ; [.3B69.0020.0002.121B6] # CUNEIFORM SIGN KWU318
+121B7 ; [.3B6A.0020.0002.121B7] # CUNEIFORM SIGN LA
+121B8 ; [.3B6B.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
+121B9 ; [.3B6C.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
+121BA ; [.3B6D.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
+121BB ; [.3B6E.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
+121BC ; [.3B6F.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
+121BD ; [.3B70.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
+121BE ; [.3B71.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
+121BF ; [.3B72.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
+121C0 ; [.3B73.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
+121C1 ; [.3B74.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
+121C2 ; [.3B75.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
+121C3 ; [.3B76.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
+121C4 ; [.3B77.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
+121C5 ; [.3B78.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
+121C6 ; [.3B79.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
+121C7 ; [.3B7A.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
+121C8 ; [.3B7B.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
+121C9 ; [.3B7C.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
+121CA ; [.3B7D.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
+121CB ; [.3B7E.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
+121CC ; [.3B7F.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
+121CD ; [.3B80.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
+121CE ; [.3B81.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
+121CF ; [.3B82.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
+121D0 ; [.3B83.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
+121D1 ; [.3B84.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
+121D2 ; [.3B85.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
+121D3 ; [.3B86.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
+121D4 ; [.3B87.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
+121D5 ; [.3B88.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
+121D6 ; [.3B89.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
+121D7 ; [.3B8A.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
+121D8 ; [.3B8B.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
+121D9 ; [.3B8C.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
+121DA ; [.3B8D.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
+121DB ; [.3B8E.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
+121DC ; [.3B8F.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
+121DD ; [.3B90.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
+121DE ; [.3B91.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
+121DF ; [.3B92.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
+121E0 ; [.3B93.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
+121E1 ; [.3B94.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
+121E2 ; [.3B95.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
+121E3 ; [.3B96.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
+121E4 ; [.3B97.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
+121E5 ; [.3B98.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
+121E6 ; [.3B99.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
+121E7 ; [.3B9A.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
+121E8 ; [.3B9B.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
+121E9 ; [.3B9C.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
+121EA ; [.3B9D.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
+121EB ; [.3B9E.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
+121EC ; [.3B9F.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
+121ED ; [.3BA0.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
+121EE ; [.3BA1.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
+121EF ; [.3BA2.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
+121F0 ; [.3BA3.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
+121F1 ; [.3BA4.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
+121F2 ; [.3BA5.0020.0002.121F2] # CUNEIFORM SIGN LAL
+121F3 ; [.3BA6.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
+121F4 ; [.3BA7.0020.0002.121F4] # CUNEIFORM SIGN LAM
+121F5 ; [.3BA8.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
+121F6 ; [.3BA9.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
+121F7 ; [.3BAA.0020.0002.121F7] # CUNEIFORM SIGN LI
+121F8 ; [.3BAB.0020.0002.121F8] # CUNEIFORM SIGN LIL
+121F9 ; [.3BAC.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
+121FA ; [.3BAD.0020.0002.121FA] # CUNEIFORM SIGN LISH
+121FB ; [.3BAE.0020.0002.121FB] # CUNEIFORM SIGN LU
+121FC ; [.3BAF.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
+121FD ; [.3BB0.0020.0002.121FD] # CUNEIFORM SIGN LU2
+121FE ; [.3BB1.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
+121FF ; [.3BB2.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
+12200 ; [.3BB3.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
+12201 ; [.3BB4.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
+12202 ; [.3BB5.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
+12203 ; [.3BB6.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
+12204 ; [.3BB7.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
+12205 ; [.3BB8.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
+12206 ; [.3BB9.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
+12207 ; [.3BBA.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
+12208 ; [.3BBB.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
+12209 ; [.3BBC.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
+1220A ; [.3BBD.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
+1220B ; [.3BBE.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
+1220C ; [.3BBF.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
+1220D ; [.3BC0.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
+1220E ; [.3BC1.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
+1220F ; [.3BC2.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
+12210 ; [.3BC3.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
+12211 ; [.3BC4.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
+12212 ; [.3BC5.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
+12213 ; [.3BC6.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
+12214 ; [.3BC7.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
+12215 ; [.3BC8.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
+12216 ; [.3BC9.0020.0002.12216] # CUNEIFORM SIGN LU3
+12217 ; [.3BCA.0020.0002.12217] # CUNEIFORM SIGN LUGAL
+12218 ; [.3BCB.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
+12219 ; [.3BCC.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
+1221A ; [.3BCD.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
+1221B ; [.3BCE.0020.0002.1221B] # CUNEIFORM SIGN LUH
+1221C ; [.3BCF.0020.0002.1221C] # CUNEIFORM SIGN LUL
+1221D ; [.3BD0.0020.0002.1221D] # CUNEIFORM SIGN LUM
+1221E ; [.3BD1.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
+1221F ; [.3BD2.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
+12220 ; [.3BD3.0020.0002.12220] # CUNEIFORM SIGN MA
+12221 ; [.3BD4.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
+12222 ; [.3BD5.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
+12223 ; [.3BD6.0020.0002.12223] # CUNEIFORM SIGN MA2
+12224 ; [.3BD7.0020.0002.12224] # CUNEIFORM SIGN MAH
+12225 ; [.3BD8.0020.0002.12225] # CUNEIFORM SIGN MAR
+12226 ; [.3BD9.0020.0002.12226] # CUNEIFORM SIGN MASH
+12227 ; [.3BDA.0020.0002.12227] # CUNEIFORM SIGN MASH2
+12228 ; [.3BDB.0020.0002.12228] # CUNEIFORM SIGN ME
+12229 ; [.3BDC.0020.0002.12229] # CUNEIFORM SIGN MES
+1222A ; [.3BDD.0020.0002.1222A] # CUNEIFORM SIGN MI
+1222B ; [.3BDE.0020.0002.1222B] # CUNEIFORM SIGN MIN
+1222C ; [.3BDF.0020.0002.1222C] # CUNEIFORM SIGN MU
+1222D ; [.3BE0.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
+1222E ; [.3BE1.0020.0002.1222E] # CUNEIFORM SIGN MUG
+1222F ; [.3BE2.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
+12230 ; [.3BE3.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
+12231 ; [.3BE4.0020.0002.12231] # CUNEIFORM SIGN MURGU2
+12232 ; [.3BE5.0020.0002.12232] # CUNEIFORM SIGN MUSH
+12233 ; [.3BE6.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
+12234 ; [.3BE7.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
+12235 ; [.3BE8.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
+12236 ; [.3BE9.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
+12237 ; [.3BEA.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
+12238 ; [.3BEB.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
+12239 ; [.3BEC.0020.0002.12239] # CUNEIFORM SIGN MUSH3
+1223A ; [.3BED.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
+1223B ; [.3BEE.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
+1223C ; [.3BEF.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
+1223D ; [.3BF0.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
+1223E ; [.3BF1.0020.0002.1223E] # CUNEIFORM SIGN NA
+1223F ; [.3BF2.0020.0002.1223F] # CUNEIFORM SIGN NA2
+12240 ; [.3BF3.0020.0002.12240] # CUNEIFORM SIGN NAGA
+12241 ; [.3BF4.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
+12242 ; [.3BF5.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
+12243 ; [.3BF6.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
+12244 ; [.3BF7.0020.0002.12244] # CUNEIFORM SIGN NAGAR
+12245 ; [.3BF8.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
+12246 ; [.3BF9.0020.0002.12246] # CUNEIFORM SIGN NAM
+12247 ; [.3BFA.0020.0002.12247] # CUNEIFORM SIGN NAM2
+12248 ; [.3BFB.0020.0002.12248] # CUNEIFORM SIGN NE
+12249 ; [.3BFC.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
+1224A ; [.3BFD.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
+1224B ; [.3BFE.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
+1224C ; [.3BFF.0020.0002.1224C] # CUNEIFORM SIGN NI
+1224D ; [.3C00.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
+1224E ; [.3C01.0020.0002.1224E] # CUNEIFORM SIGN NI2
+1224F ; [.3C02.0020.0002.1224F] # CUNEIFORM SIGN NIM
+12250 ; [.3C03.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
+12251 ; [.3C04.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
+12252 ; [.3C05.0020.0002.12252] # CUNEIFORM SIGN NINDA2
+12253 ; [.3C06.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
+12254 ; [.3C07.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
+12255 ; [.3C08.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
+12256 ; [.3C09.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
+12257 ; [.3C0A.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
+12258 ; [.3C0B.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
+12259 ; [.3C0C.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
+1225A ; [.3C0D.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
+1225B ; [.3C0E.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
+1225C ; [.3C0F.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
+1225D ; [.3C10.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
+1225E ; [.3C11.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
+1225F ; [.3C12.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
+12260 ; [.3C13.0020.0002.12260] # CUNEIFORM SIGN NISAG
+12261 ; [.3C14.0020.0002.12261] # CUNEIFORM SIGN NU
+12262 ; [.3C15.0020.0002.12262] # CUNEIFORM SIGN NU11
+12263 ; [.3C16.0020.0002.12263] # CUNEIFORM SIGN NUN
+12264 ; [.3C17.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
+12265 ; [.3C18.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
+12266 ; [.3C19.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
+12267 ; [.3C1A.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
+12268 ; [.3C1B.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
+12269 ; [.3C1C.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
+1226A ; [.3C1D.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
+1226B ; [.3C1E.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
+1226C ; [.3C1F.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
+1226D ; [.3C20.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
+1226E ; [.3C21.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
+1226F ; [.3C22.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
+12270 ; [.3C23.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
+12271 ; [.3C24.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
+12272 ; [.3C25.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
+12273 ; [.3C26.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
+12274 ; [.3C27.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
+12275 ; [.3C28.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
+12276 ; [.3C29.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
+12277 ; [.3C2A.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
+12278 ; [.3C2B.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
+12279 ; [.3C2C.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
+1227A ; [.3C2D.0020.0002.1227A] # CUNEIFORM SIGN PA
+1227B ; [.3C2E.0020.0002.1227B] # CUNEIFORM SIGN PAD
+1227C ; [.3C2F.0020.0002.1227C] # CUNEIFORM SIGN PAN
+1227D ; [.3C30.0020.0002.1227D] # CUNEIFORM SIGN PAP
+1227E ; [.3C31.0020.0002.1227E] # CUNEIFORM SIGN PESH2
+1227F ; [.3C32.0020.0002.1227F] # CUNEIFORM SIGN PI
+12280 ; [.3C33.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
+12281 ; [.3C34.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
+12282 ; [.3C35.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
+12283 ; [.3C36.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
+12284 ; [.3C37.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
+12285 ; [.3C38.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
+12286 ; [.3C39.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
+12287 ; [.3C3A.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
+12288 ; [.3C3B.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
+12289 ; [.3C3C.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
+1228A ; [.3C3D.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
+1228B ; [.3C3E.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
+1228C ; [.3C3F.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
+1228D ; [.3C40.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
+1228E ; [.3C41.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
+1228F ; [.3C42.0020.0002.1228F] # CUNEIFORM SIGN RA
+12290 ; [.3C43.0020.0002.12290] # CUNEIFORM SIGN RAB
+12291 ; [.3C44.0020.0002.12291] # CUNEIFORM SIGN RI
+12292 ; [.3C45.0020.0002.12292] # CUNEIFORM SIGN RU
+12293 ; [.3C46.0020.0002.12293] # CUNEIFORM SIGN SA
+12294 ; [.3C47.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
+12295 ; [.3C48.0020.0002.12295] # CUNEIFORM SIGN SAG
+12296 ; [.3C49.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
+12297 ; [.3C4A.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
+12298 ; [.3C4B.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
+12299 ; [.3C4C.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
+1229A ; [.3C4D.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
+1229B ; [.3C4E.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
+1229C ; [.3C4F.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
+1229D ; [.3C50.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
+1229E ; [.3C51.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
+1229F ; [.3C52.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
+122A0 ; [.3C53.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
+122A1 ; [.3C54.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
+122A2 ; [.3C55.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
+122A3 ; [.3C56.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
+122A4 ; [.3C57.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
+122A5 ; [.3C58.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
+122A6 ; [.3C59.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
+122A7 ; [.3C5A.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
+122A8 ; [.3C5B.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
+122A9 ; [.3C5C.0020.0002.122A9] # CUNEIFORM SIGN SAL
+122AA ; [.3C5D.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
+122AB ; [.3C5E.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
+122AC ; [.3C5F.0020.0002.122AC] # CUNEIFORM SIGN SAR
+122AD ; [.3C60.0020.0002.122AD] # CUNEIFORM SIGN SHA
+122AE ; [.3C61.0020.0002.122AE] # CUNEIFORM SIGN SHA3
+122AF ; [.3C62.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
+122B0 ; [.3C63.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
+122B1 ; [.3C64.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
+122B2 ; [.3C65.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
+122B3 ; [.3C66.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
+122B4 ; [.3C67.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
+122B5 ; [.3C68.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
+122B6 ; [.3C69.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
+122B7 ; [.3C6A.0020.0002.122B7] # CUNEIFORM SIGN SHA6
+122B8 ; [.3C6B.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
+122B9 ; [.3C6C.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
+122BA ; [.3C6D.0020.0002.122BA] # CUNEIFORM SIGN SHE
+122BB ; [.3C6E.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
+122BC ; [.3C6F.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
+122BD ; [.3C70.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
+122BE ; [.3C71.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
+122BF ; [.3C72.0020.0002.122BF] # CUNEIFORM SIGN SHEN
+122C0 ; [.3C73.0020.0002.122C0] # CUNEIFORM SIGN SHESH
+122C1 ; [.3C74.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
+122C2 ; [.3C75.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
+122C3 ; [.3C76.0020.0002.122C3] # CUNEIFORM SIGN SHID
+122C4 ; [.3C77.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
+122C5 ; [.3C78.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
+122C6 ; [.3C79.0020.0002.122C6] # CUNEIFORM SIGN SHIM
+122C7 ; [.3C7A.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
+122C8 ; [.3C7B.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
+122C9 ; [.3C7C.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
+122CA ; [.3C7D.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
+122CB ; [.3C7E.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
+122CC ; [.3C7F.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
+122CD ; [.3C80.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
+122CE ; [.3C81.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
+122CF ; [.3C82.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
+122D0 ; [.3C83.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
+122D1 ; [.3C84.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
+122D2 ; [.3C85.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
+122D3 ; [.3C86.0020.0002.122D3] # CUNEIFORM SIGN SHIR
+122D4 ; [.3C87.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
+122D5 ; [.3C88.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
+122D6 ; [.3C89.0020.0002.122D6] # CUNEIFORM SIGN SHITA
+122D7 ; [.3C8A.0020.0002.122D7] # CUNEIFORM SIGN SHU
+122D8 ; [.3C8B.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
+122D9 ; [.3C8C.0020.0002.122D9] # CUNEIFORM SIGN SHU2
+122DA ; [.3C8D.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
+122DB ; [.3C8E.0020.0002.122DB] # CUNEIFORM SIGN SI
+122DC ; [.3C8F.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
+122DD ; [.3C90.0020.0002.122DD] # CUNEIFORM SIGN SIG
+122DE ; [.3C91.0020.0002.122DE] # CUNEIFORM SIGN SIG4
+122DF ; [.3C92.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
+122E0 ; [.3C93.0020.0002.122E0] # CUNEIFORM SIGN SIK2
+122E1 ; [.3C94.0020.0002.122E1] # CUNEIFORM SIGN SILA3
+122E2 ; [.3C95.0020.0002.122E2] # CUNEIFORM SIGN SU
+122E3 ; [.3C96.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
+122E4 ; [.3C97.0020.0002.122E4] # CUNEIFORM SIGN SUD
+122E5 ; [.3C98.0020.0002.122E5] # CUNEIFORM SIGN SUD2
+122E6 ; [.3C99.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
+122E7 ; [.3C9A.0020.0002.122E7] # CUNEIFORM SIGN SUM
+122E8 ; [.3C9B.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
+122E9 ; [.3C9C.0020.0002.122E9] # CUNEIFORM SIGN SUR
+122EA ; [.3C9D.0020.0002.122EA] # CUNEIFORM SIGN SUR9
+122EB ; [.3C9E.0020.0002.122EB] # CUNEIFORM SIGN TA
+122EC ; [.3C9F.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
+122ED ; [.3CA0.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
+122EE ; [.3CA1.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
+122EF ; [.3CA2.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
+122F0 ; [.3CA3.0020.0002.122F0] # CUNEIFORM SIGN TAB
+122F1 ; [.3CA4.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
+122F2 ; [.3CA5.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
+122F3 ; [.3CA6.0020.0002.122F3] # CUNEIFORM SIGN TAG
+122F4 ; [.3CA7.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
+122F5 ; [.3CA8.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
+122F6 ; [.3CA9.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
+122F7 ; [.3CAA.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
+122F8 ; [.3CAB.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
+122F9 ; [.3CAC.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
+122FA ; [.3CAD.0020.0002.122FA] # CUNEIFORM SIGN TAK4
+122FB ; [.3CAE.0020.0002.122FB] # CUNEIFORM SIGN TAR
+122FC ; [.3CAF.0020.0002.122FC] # CUNEIFORM SIGN TE
+122FD ; [.3CB0.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
+122FE ; [.3CB1.0020.0002.122FE] # CUNEIFORM SIGN TI
+122FF ; [.3CB2.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
+12300 ; [.3CB3.0020.0002.12300] # CUNEIFORM SIGN TIL
+12301 ; [.3CB4.0020.0002.12301] # CUNEIFORM SIGN TIR
+12302 ; [.3CB5.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
+12303 ; [.3CB6.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
+12304 ; [.3CB7.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
+12305 ; [.3CB8.0020.0002.12305] # CUNEIFORM SIGN TU
+12306 ; [.3CB9.0020.0002.12306] # CUNEIFORM SIGN TUG2
+12307 ; [.3CBA.0020.0002.12307] # CUNEIFORM SIGN TUK
+12308 ; [.3CBB.0020.0002.12308] # CUNEIFORM SIGN TUM
+12309 ; [.3CBC.0020.0002.12309] # CUNEIFORM SIGN TUR
+1230A ; [.3CBD.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
+1230B ; [.3CBE.0020.0002.1230B] # CUNEIFORM SIGN U
+1230C ; [.3CBF.0020.0002.1230C] # CUNEIFORM SIGN U GUD
+1230D ; [.3CC0.0020.0002.1230D] # CUNEIFORM SIGN U U U
+1230E ; [.3CC1.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
+1230F ; [.3CC2.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
+12310 ; [.3CC3.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
+12311 ; [.3CC4.0020.0002.12311] # CUNEIFORM SIGN U2
+12312 ; [.3CC5.0020.0002.12312] # CUNEIFORM SIGN UB
+12313 ; [.3CC6.0020.0002.12313] # CUNEIFORM SIGN UD
+12314 ; [.3CC7.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
+12315 ; [.3CC8.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
+12316 ; [.3CC9.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
+12317 ; [.3CCA.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
+12318 ; [.3CCB.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
+12319 ; [.3CCC.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
+1231A ; [.3CCD.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
+1231B ; [.3CCE.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
+1231C ; [.3CCF.0020.0002.1231C] # CUNEIFORM SIGN UDUG
+1231D ; [.3CD0.0020.0002.1231D] # CUNEIFORM SIGN UM
+1231E ; [.3CD1.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
+1231F ; [.3CD2.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
+12320 ; [.3CD3.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
+12321 ; [.3CD4.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
+12322 ; [.3CD5.0020.0002.12322] # CUNEIFORM SIGN UMBIN
+12323 ; [.3CD6.0020.0002.12323] # CUNEIFORM SIGN UMUM
+12324 ; [.3CD7.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
+12325 ; [.3CD8.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
+12326 ; [.3CD9.0020.0002.12326] # CUNEIFORM SIGN UN
+12327 ; [.3CDA.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
+12328 ; [.3CDB.0020.0002.12328] # CUNEIFORM SIGN UR
+12329 ; [.3CDC.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
+1232A ; [.3CDD.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
+1232B ; [.3CDE.0020.0002.1232B] # CUNEIFORM SIGN UR2
+1232C ; [.3CDF.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
+1232D ; [.3CE0.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
+1232E ; [.3CE1.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
+1232F ; [.3CE2.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
+12330 ; [.3CE3.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
+12331 ; [.3CE4.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
+12332 ; [.3CE5.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
+12333 ; [.3CE6.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
+12334 ; [.3CE7.0020.0002.12334] # CUNEIFORM SIGN UR4
+12335 ; [.3CE8.0020.0002.12335] # CUNEIFORM SIGN URI
+12336 ; [.3CE9.0020.0002.12336] # CUNEIFORM SIGN URI3
+12337 ; [.3CEA.0020.0002.12337] # CUNEIFORM SIGN URU
+12338 ; [.3CEB.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
+12339 ; [.3CEC.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
+1233A ; [.3CED.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
+1233B ; [.3CEE.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
+1233C ; [.3CEF.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
+1233D ; [.3CF0.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
+1233E ; [.3CF1.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
+1233F ; [.3CF2.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
+12340 ; [.3CF3.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
+12341 ; [.3CF4.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
+12342 ; [.3CF5.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
+12343 ; [.3CF6.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
+12344 ; [.3CF7.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
+12345 ; [.3CF8.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
+12346 ; [.3CF9.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
+12347 ; [.3CFA.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
+12348 ; [.3CFB.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
+12349 ; [.3CFC.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
+1234A ; [.3CFD.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
+1234B ; [.3CFE.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
+1234C ; [.3CFF.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
+1234D ; [.3D00.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
+1234E ; [.3D01.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
+1234F ; [.3D02.0020.0002.1234F] # CUNEIFORM SIGN URUDA
+12350 ; [.3D03.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
+12351 ; [.3D04.0020.0002.12351] # CUNEIFORM SIGN USH
+12352 ; [.3D05.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
+12353 ; [.3D06.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
+12354 ; [.3D07.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
+12355 ; [.3D08.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
+12356 ; [.3D09.0020.0002.12356] # CUNEIFORM SIGN USHX
+12357 ; [.3D0A.0020.0002.12357] # CUNEIFORM SIGN USH2
+12358 ; [.3D0B.0020.0002.12358] # CUNEIFORM SIGN USHUMX
+12359 ; [.3D0C.0020.0002.12359] # CUNEIFORM SIGN UTUKI
+1235A ; [.3D0D.0020.0002.1235A] # CUNEIFORM SIGN UZ3
+1235B ; [.3D0E.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
+1235C ; [.3D0F.0020.0002.1235C] # CUNEIFORM SIGN UZU
+1235D ; [.3D10.0020.0002.1235D] # CUNEIFORM SIGN ZA
+1235E ; [.3D11.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
+1235F ; [.3D12.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
+12360 ; [.3D13.0020.0002.12360] # CUNEIFORM SIGN ZAG
+12361 ; [.3D14.0020.0002.12361] # CUNEIFORM SIGN ZAMX
+12362 ; [.3D15.0020.0002.12362] # CUNEIFORM SIGN ZE2
+12363 ; [.3D16.0020.0002.12363] # CUNEIFORM SIGN ZI
+12364 ; [.3D17.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
+12365 ; [.3D18.0020.0002.12365] # CUNEIFORM SIGN ZI3
+12366 ; [.3D19.0020.0002.12366] # CUNEIFORM SIGN ZIB
+12367 ; [.3D1A.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
+12368 ; [.3D1B.0020.0002.12368] # CUNEIFORM SIGN ZIG
+12369 ; [.3D1C.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
+1236A ; [.3D1D.0020.0002.1236A] # CUNEIFORM SIGN ZU
+1236B ; [.3D1E.0020.0002.1236B] # CUNEIFORM SIGN ZU5
+1236C ; [.3D1F.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
+1236D ; [.3D20.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
+1236E ; [.3D21.0020.0002.1236E] # CUNEIFORM SIGN ZUM
+13000 ; [.3D22.0020.0002.13000] # EGYPTIAN HIEROGLYPH A001
+13001 ; [.3D23.0020.0002.13001] # EGYPTIAN HIEROGLYPH A002
+13002 ; [.3D24.0020.0002.13002] # EGYPTIAN HIEROGLYPH A003
+13003 ; [.3D25.0020.0002.13003] # EGYPTIAN HIEROGLYPH A004
+13004 ; [.3D26.0020.0002.13004] # EGYPTIAN HIEROGLYPH A005
+13005 ; [.3D27.0020.0002.13005] # EGYPTIAN HIEROGLYPH A005A
+13006 ; [.3D28.0020.0002.13006] # EGYPTIAN HIEROGLYPH A006
+13007 ; [.3D29.0020.0002.13007] # EGYPTIAN HIEROGLYPH A006A
+13008 ; [.3D2A.0020.0002.13008] # EGYPTIAN HIEROGLYPH A006B
+13009 ; [.3D2B.0020.0002.13009] # EGYPTIAN HIEROGLYPH A007
+1300A ; [.3D2C.0020.0002.1300A] # EGYPTIAN HIEROGLYPH A008
+1300B ; [.3D2D.0020.0002.1300B] # EGYPTIAN HIEROGLYPH A009
+1300C ; [.3D2E.0020.0002.1300C] # EGYPTIAN HIEROGLYPH A010
+1300D ; [.3D2F.0020.0002.1300D] # EGYPTIAN HIEROGLYPH A011
+1300E ; [.3D30.0020.0002.1300E] # EGYPTIAN HIEROGLYPH A012
+1300F ; [.3D31.0020.0002.1300F] # EGYPTIAN HIEROGLYPH A013
+13010 ; [.3D32.0020.0002.13010] # EGYPTIAN HIEROGLYPH A014
+13011 ; [.3D33.0020.0002.13011] # EGYPTIAN HIEROGLYPH A014A
+13012 ; [.3D34.0020.0002.13012] # EGYPTIAN HIEROGLYPH A015
+13013 ; [.3D35.0020.0002.13013] # EGYPTIAN HIEROGLYPH A016
+13014 ; [.3D36.0020.0002.13014] # EGYPTIAN HIEROGLYPH A017
+13015 ; [.3D37.0020.0002.13015] # EGYPTIAN HIEROGLYPH A017A
+13016 ; [.3D38.0020.0002.13016] # EGYPTIAN HIEROGLYPH A018
+13017 ; [.3D39.0020.0002.13017] # EGYPTIAN HIEROGLYPH A019
+13018 ; [.3D3A.0020.0002.13018] # EGYPTIAN HIEROGLYPH A020
+13019 ; [.3D3B.0020.0002.13019] # EGYPTIAN HIEROGLYPH A021
+1301A ; [.3D3C.0020.0002.1301A] # EGYPTIAN HIEROGLYPH A022
+1301B ; [.3D3D.0020.0002.1301B] # EGYPTIAN HIEROGLYPH A023
+1301C ; [.3D3E.0020.0002.1301C] # EGYPTIAN HIEROGLYPH A024
+1301D ; [.3D3F.0020.0002.1301D] # EGYPTIAN HIEROGLYPH A025
+1301E ; [.3D40.0020.0002.1301E] # EGYPTIAN HIEROGLYPH A026
+1301F ; [.3D41.0020.0002.1301F] # EGYPTIAN HIEROGLYPH A027
+13020 ; [.3D42.0020.0002.13020] # EGYPTIAN HIEROGLYPH A028
+13021 ; [.3D43.0020.0002.13021] # EGYPTIAN HIEROGLYPH A029
+13022 ; [.3D44.0020.0002.13022] # EGYPTIAN HIEROGLYPH A030
+13023 ; [.3D45.0020.0002.13023] # EGYPTIAN HIEROGLYPH A031
+13024 ; [.3D46.0020.0002.13024] # EGYPTIAN HIEROGLYPH A032
+13025 ; [.3D47.0020.0002.13025] # EGYPTIAN HIEROGLYPH A032A
+13026 ; [.3D48.0020.0002.13026] # EGYPTIAN HIEROGLYPH A033
+13027 ; [.3D49.0020.0002.13027] # EGYPTIAN HIEROGLYPH A034
+13028 ; [.3D4A.0020.0002.13028] # EGYPTIAN HIEROGLYPH A035
+13029 ; [.3D4B.0020.0002.13029] # EGYPTIAN HIEROGLYPH A036
+1302A ; [.3D4C.0020.0002.1302A] # EGYPTIAN HIEROGLYPH A037
+1302B ; [.3D4D.0020.0002.1302B] # EGYPTIAN HIEROGLYPH A038
+1302C ; [.3D4E.0020.0002.1302C] # EGYPTIAN HIEROGLYPH A039
+1302D ; [.3D4F.0020.0002.1302D] # EGYPTIAN HIEROGLYPH A040
+1302E ; [.3D50.0020.0002.1302E] # EGYPTIAN HIEROGLYPH A040A
+1302F ; [.3D51.0020.0002.1302F] # EGYPTIAN HIEROGLYPH A041
+13030 ; [.3D52.0020.0002.13030] # EGYPTIAN HIEROGLYPH A042
+13031 ; [.3D53.0020.0002.13031] # EGYPTIAN HIEROGLYPH A042A
+13032 ; [.3D54.0020.0002.13032] # EGYPTIAN HIEROGLYPH A043
+13033 ; [.3D55.0020.0002.13033] # EGYPTIAN HIEROGLYPH A043A
+13034 ; [.3D56.0020.0002.13034] # EGYPTIAN HIEROGLYPH A044
+13035 ; [.3D57.0020.0002.13035] # EGYPTIAN HIEROGLYPH A045
+13036 ; [.3D58.0020.0002.13036] # EGYPTIAN HIEROGLYPH A045A
+13037 ; [.3D59.0020.0002.13037] # EGYPTIAN HIEROGLYPH A046
+13038 ; [.3D5A.0020.0002.13038] # EGYPTIAN HIEROGLYPH A047
+13039 ; [.3D5B.0020.0002.13039] # EGYPTIAN HIEROGLYPH A048
+1303A ; [.3D5C.0020.0002.1303A] # EGYPTIAN HIEROGLYPH A049
+1303B ; [.3D5D.0020.0002.1303B] # EGYPTIAN HIEROGLYPH A050
+1303C ; [.3D5E.0020.0002.1303C] # EGYPTIAN HIEROGLYPH A051
+1303D ; [.3D5F.0020.0002.1303D] # EGYPTIAN HIEROGLYPH A052
+1303E ; [.3D60.0020.0002.1303E] # EGYPTIAN HIEROGLYPH A053
+1303F ; [.3D61.0020.0002.1303F] # EGYPTIAN HIEROGLYPH A054
+13040 ; [.3D62.0020.0002.13040] # EGYPTIAN HIEROGLYPH A055
+13041 ; [.3D63.0020.0002.13041] # EGYPTIAN HIEROGLYPH A056
+13042 ; [.3D64.0020.0002.13042] # EGYPTIAN HIEROGLYPH A057
+13043 ; [.3D65.0020.0002.13043] # EGYPTIAN HIEROGLYPH A058
+13044 ; [.3D66.0020.0002.13044] # EGYPTIAN HIEROGLYPH A059
+13045 ; [.3D67.0020.0002.13045] # EGYPTIAN HIEROGLYPH A060
+13046 ; [.3D68.0020.0002.13046] # EGYPTIAN HIEROGLYPH A061
+13047 ; [.3D69.0020.0002.13047] # EGYPTIAN HIEROGLYPH A062
+13048 ; [.3D6A.0020.0002.13048] # EGYPTIAN HIEROGLYPH A063
+13049 ; [.3D6B.0020.0002.13049] # EGYPTIAN HIEROGLYPH A064
+1304A ; [.3D6C.0020.0002.1304A] # EGYPTIAN HIEROGLYPH A065
+1304B ; [.3D6D.0020.0002.1304B] # EGYPTIAN HIEROGLYPH A066
+1304C ; [.3D6E.0020.0002.1304C] # EGYPTIAN HIEROGLYPH A067
+1304D ; [.3D6F.0020.0002.1304D] # EGYPTIAN HIEROGLYPH A068
+1304E ; [.3D70.0020.0002.1304E] # EGYPTIAN HIEROGLYPH A069
+1304F ; [.3D71.0020.0002.1304F] # EGYPTIAN HIEROGLYPH A070
+13050 ; [.3D72.0020.0002.13050] # EGYPTIAN HIEROGLYPH B001
+13051 ; [.3D73.0020.0002.13051] # EGYPTIAN HIEROGLYPH B002
+13052 ; [.3D74.0020.0002.13052] # EGYPTIAN HIEROGLYPH B003
+13053 ; [.3D75.0020.0002.13053] # EGYPTIAN HIEROGLYPH B004
+13054 ; [.3D76.0020.0002.13054] # EGYPTIAN HIEROGLYPH B005
+13055 ; [.3D77.0020.0002.13055] # EGYPTIAN HIEROGLYPH B005A
+13056 ; [.3D78.0020.0002.13056] # EGYPTIAN HIEROGLYPH B006
+13057 ; [.3D79.0020.0002.13057] # EGYPTIAN HIEROGLYPH B007
+13058 ; [.3D7A.0020.0002.13058] # EGYPTIAN HIEROGLYPH B008
+13059 ; [.3D7B.0020.0002.13059] # EGYPTIAN HIEROGLYPH B009
+1305A ; [.3D7C.0020.0002.1305A] # EGYPTIAN HIEROGLYPH C001
+1305B ; [.3D7D.0020.0002.1305B] # EGYPTIAN HIEROGLYPH C002
+1305C ; [.3D7E.0020.0002.1305C] # EGYPTIAN HIEROGLYPH C002A
+1305D ; [.3D7F.0020.0002.1305D] # EGYPTIAN HIEROGLYPH C002B
+1305E ; [.3D80.0020.0002.1305E] # EGYPTIAN HIEROGLYPH C002C
+1305F ; [.3D81.0020.0002.1305F] # EGYPTIAN HIEROGLYPH C003
+13060 ; [.3D82.0020.0002.13060] # EGYPTIAN HIEROGLYPH C004
+13061 ; [.3D83.0020.0002.13061] # EGYPTIAN HIEROGLYPH C005
+13062 ; [.3D84.0020.0002.13062] # EGYPTIAN HIEROGLYPH C006
+13063 ; [.3D85.0020.0002.13063] # EGYPTIAN HIEROGLYPH C007
+13064 ; [.3D86.0020.0002.13064] # EGYPTIAN HIEROGLYPH C008
+13065 ; [.3D87.0020.0002.13065] # EGYPTIAN HIEROGLYPH C009
+13066 ; [.3D88.0020.0002.13066] # EGYPTIAN HIEROGLYPH C010
+13067 ; [.3D89.0020.0002.13067] # EGYPTIAN HIEROGLYPH C010A
+13068 ; [.3D8A.0020.0002.13068] # EGYPTIAN HIEROGLYPH C011
+13069 ; [.3D8B.0020.0002.13069] # EGYPTIAN HIEROGLYPH C012
+1306A ; [.3D8C.0020.0002.1306A] # EGYPTIAN HIEROGLYPH C013
+1306B ; [.3D8D.0020.0002.1306B] # EGYPTIAN HIEROGLYPH C014
+1306C ; [.3D8E.0020.0002.1306C] # EGYPTIAN HIEROGLYPH C015
+1306D ; [.3D8F.0020.0002.1306D] # EGYPTIAN HIEROGLYPH C016
+1306E ; [.3D90.0020.0002.1306E] # EGYPTIAN HIEROGLYPH C017
+1306F ; [.3D91.0020.0002.1306F] # EGYPTIAN HIEROGLYPH C018
+13070 ; [.3D92.0020.0002.13070] # EGYPTIAN HIEROGLYPH C019
+13071 ; [.3D93.0020.0002.13071] # EGYPTIAN HIEROGLYPH C020
+13072 ; [.3D94.0020.0002.13072] # EGYPTIAN HIEROGLYPH C021
+13073 ; [.3D95.0020.0002.13073] # EGYPTIAN HIEROGLYPH C022
+13074 ; [.3D96.0020.0002.13074] # EGYPTIAN HIEROGLYPH C023
+13075 ; [.3D97.0020.0002.13075] # EGYPTIAN HIEROGLYPH C024
+13076 ; [.3D98.0020.0002.13076] # EGYPTIAN HIEROGLYPH D001
+13077 ; [.3D99.0020.0002.13077] # EGYPTIAN HIEROGLYPH D002
+13078 ; [.3D9A.0020.0002.13078] # EGYPTIAN HIEROGLYPH D003
+13079 ; [.3D9B.0020.0002.13079] # EGYPTIAN HIEROGLYPH D004
+1307A ; [.3D9C.0020.0002.1307A] # EGYPTIAN HIEROGLYPH D005
+1307B ; [.3D9D.0020.0002.1307B] # EGYPTIAN HIEROGLYPH D006
+1307C ; [.3D9E.0020.0002.1307C] # EGYPTIAN HIEROGLYPH D007
+1307D ; [.3D9F.0020.0002.1307D] # EGYPTIAN HIEROGLYPH D008
+1307E ; [.3DA0.0020.0002.1307E] # EGYPTIAN HIEROGLYPH D008A
+1307F ; [.3DA1.0020.0002.1307F] # EGYPTIAN HIEROGLYPH D009
+13080 ; [.3DA2.0020.0002.13080] # EGYPTIAN HIEROGLYPH D010
+13081 ; [.3DA3.0020.0002.13081] # EGYPTIAN HIEROGLYPH D011
+13082 ; [.3DA4.0020.0002.13082] # EGYPTIAN HIEROGLYPH D012
+13083 ; [.3DA5.0020.0002.13083] # EGYPTIAN HIEROGLYPH D013
+13084 ; [.3DA6.0020.0002.13084] # EGYPTIAN HIEROGLYPH D014
+13085 ; [.3DA7.0020.0002.13085] # EGYPTIAN HIEROGLYPH D015
+13086 ; [.3DA8.0020.0002.13086] # EGYPTIAN HIEROGLYPH D016
+13087 ; [.3DA9.0020.0002.13087] # EGYPTIAN HIEROGLYPH D017
+13088 ; [.3DAA.0020.0002.13088] # EGYPTIAN HIEROGLYPH D018
+13089 ; [.3DAB.0020.0002.13089] # EGYPTIAN HIEROGLYPH D019
+1308A ; [.3DAC.0020.0002.1308A] # EGYPTIAN HIEROGLYPH D020
+1308B ; [.3DAD.0020.0002.1308B] # EGYPTIAN HIEROGLYPH D021
+1308C ; [.3DAE.0020.0002.1308C] # EGYPTIAN HIEROGLYPH D022
+1308D ; [.3DAF.0020.0002.1308D] # EGYPTIAN HIEROGLYPH D023
+1308E ; [.3DB0.0020.0002.1308E] # EGYPTIAN HIEROGLYPH D024
+1308F ; [.3DB1.0020.0002.1308F] # EGYPTIAN HIEROGLYPH D025
+13090 ; [.3DB2.0020.0002.13090] # EGYPTIAN HIEROGLYPH D026
+13091 ; [.3DB3.0020.0002.13091] # EGYPTIAN HIEROGLYPH D027
+13092 ; [.3DB4.0020.0002.13092] # EGYPTIAN HIEROGLYPH D027A
+13093 ; [.3DB5.0020.0002.13093] # EGYPTIAN HIEROGLYPH D028
+13094 ; [.3DB6.0020.0002.13094] # EGYPTIAN HIEROGLYPH D029
+13095 ; [.3DB7.0020.0002.13095] # EGYPTIAN HIEROGLYPH D030
+13096 ; [.3DB8.0020.0002.13096] # EGYPTIAN HIEROGLYPH D031
+13097 ; [.3DB9.0020.0002.13097] # EGYPTIAN HIEROGLYPH D031A
+13098 ; [.3DBA.0020.0002.13098] # EGYPTIAN HIEROGLYPH D032
+13099 ; [.3DBB.0020.0002.13099] # EGYPTIAN HIEROGLYPH D033
+1309A ; [.3DBC.0020.0002.1309A] # EGYPTIAN HIEROGLYPH D034
+1309B ; [.3DBD.0020.0002.1309B] # EGYPTIAN HIEROGLYPH D034A
+1309C ; [.3DBE.0020.0002.1309C] # EGYPTIAN HIEROGLYPH D035
+1309D ; [.3DBF.0020.0002.1309D] # EGYPTIAN HIEROGLYPH D036
+1309E ; [.3DC0.0020.0002.1309E] # EGYPTIAN HIEROGLYPH D037
+1309F ; [.3DC1.0020.0002.1309F] # EGYPTIAN HIEROGLYPH D038
+130A0 ; [.3DC2.0020.0002.130A0] # EGYPTIAN HIEROGLYPH D039
+130A1 ; [.3DC3.0020.0002.130A1] # EGYPTIAN HIEROGLYPH D040
+130A2 ; [.3DC4.0020.0002.130A2] # EGYPTIAN HIEROGLYPH D041
+130A3 ; [.3DC5.0020.0002.130A3] # EGYPTIAN HIEROGLYPH D042
+130A4 ; [.3DC6.0020.0002.130A4] # EGYPTIAN HIEROGLYPH D043
+130A5 ; [.3DC7.0020.0002.130A5] # EGYPTIAN HIEROGLYPH D044
+130A6 ; [.3DC8.0020.0002.130A6] # EGYPTIAN HIEROGLYPH D045
+130A7 ; [.3DC9.0020.0002.130A7] # EGYPTIAN HIEROGLYPH D046
+130A8 ; [.3DCA.0020.0002.130A8] # EGYPTIAN HIEROGLYPH D046A
+130A9 ; [.3DCB.0020.0002.130A9] # EGYPTIAN HIEROGLYPH D047
+130AA ; [.3DCC.0020.0002.130AA] # EGYPTIAN HIEROGLYPH D048
+130AB ; [.3DCD.0020.0002.130AB] # EGYPTIAN HIEROGLYPH D048A
+130AC ; [.3DCE.0020.0002.130AC] # EGYPTIAN HIEROGLYPH D049
+130AD ; [.3DCF.0020.0002.130AD] # EGYPTIAN HIEROGLYPH D050
+130AE ; [.3DD0.0020.0002.130AE] # EGYPTIAN HIEROGLYPH D050A
+130AF ; [.3DD1.0020.0002.130AF] # EGYPTIAN HIEROGLYPH D050B
+130B0 ; [.3DD2.0020.0002.130B0] # EGYPTIAN HIEROGLYPH D050C
+130B1 ; [.3DD3.0020.0002.130B1] # EGYPTIAN HIEROGLYPH D050D
+130B2 ; [.3DD4.0020.0002.130B2] # EGYPTIAN HIEROGLYPH D050E
+130B3 ; [.3DD5.0020.0002.130B3] # EGYPTIAN HIEROGLYPH D050F
+130B4 ; [.3DD6.0020.0002.130B4] # EGYPTIAN HIEROGLYPH D050G
+130B5 ; [.3DD7.0020.0002.130B5] # EGYPTIAN HIEROGLYPH D050H
+130B6 ; [.3DD8.0020.0002.130B6] # EGYPTIAN HIEROGLYPH D050I
+130B7 ; [.3DD9.0020.0002.130B7] # EGYPTIAN HIEROGLYPH D051
+130B8 ; [.3DDA.0020.0002.130B8] # EGYPTIAN HIEROGLYPH D052
+130B9 ; [.3DDB.0020.0002.130B9] # EGYPTIAN HIEROGLYPH D052A
+130BA ; [.3DDC.0020.0002.130BA] # EGYPTIAN HIEROGLYPH D053
+130BB ; [.3DDD.0020.0002.130BB] # EGYPTIAN HIEROGLYPH D054
+130BC ; [.3DDE.0020.0002.130BC] # EGYPTIAN HIEROGLYPH D054A
+130BD ; [.3DDF.0020.0002.130BD] # EGYPTIAN HIEROGLYPH D055
+130BE ; [.3DE0.0020.0002.130BE] # EGYPTIAN HIEROGLYPH D056
+130BF ; [.3DE1.0020.0002.130BF] # EGYPTIAN HIEROGLYPH D057
+130C0 ; [.3DE2.0020.0002.130C0] # EGYPTIAN HIEROGLYPH D058
+130C1 ; [.3DE3.0020.0002.130C1] # EGYPTIAN HIEROGLYPH D059
+130C2 ; [.3DE4.0020.0002.130C2] # EGYPTIAN HIEROGLYPH D060
+130C3 ; [.3DE5.0020.0002.130C3] # EGYPTIAN HIEROGLYPH D061
+130C4 ; [.3DE6.0020.0002.130C4] # EGYPTIAN HIEROGLYPH D062
+130C5 ; [.3DE7.0020.0002.130C5] # EGYPTIAN HIEROGLYPH D063
+130C6 ; [.3DE8.0020.0002.130C6] # EGYPTIAN HIEROGLYPH D064
+130C7 ; [.3DE9.0020.0002.130C7] # EGYPTIAN HIEROGLYPH D065
+130C8 ; [.3DEA.0020.0002.130C8] # EGYPTIAN HIEROGLYPH D066
+130C9 ; [.3DEB.0020.0002.130C9] # EGYPTIAN HIEROGLYPH D067
+130CA ; [.3DEC.0020.0002.130CA] # EGYPTIAN HIEROGLYPH D067A
+130CB ; [.3DED.0020.0002.130CB] # EGYPTIAN HIEROGLYPH D067B
+130CC ; [.3DEE.0020.0002.130CC] # EGYPTIAN HIEROGLYPH D067C
+130CD ; [.3DEF.0020.0002.130CD] # EGYPTIAN HIEROGLYPH D067D
+130CE ; [.3DF0.0020.0002.130CE] # EGYPTIAN HIEROGLYPH D067E
+130CF ; [.3DF1.0020.0002.130CF] # EGYPTIAN HIEROGLYPH D067F
+130D0 ; [.3DF2.0020.0002.130D0] # EGYPTIAN HIEROGLYPH D067G
+130D1 ; [.3DF3.0020.0002.130D1] # EGYPTIAN HIEROGLYPH D067H
+130D2 ; [.3DF4.0020.0002.130D2] # EGYPTIAN HIEROGLYPH E001
+130D3 ; [.3DF5.0020.0002.130D3] # EGYPTIAN HIEROGLYPH E002
+130D4 ; [.3DF6.0020.0002.130D4] # EGYPTIAN HIEROGLYPH E003
+130D5 ; [.3DF7.0020.0002.130D5] # EGYPTIAN HIEROGLYPH E004
+130D6 ; [.3DF8.0020.0002.130D6] # EGYPTIAN HIEROGLYPH E005
+130D7 ; [.3DF9.0020.0002.130D7] # EGYPTIAN HIEROGLYPH E006
+130D8 ; [.3DFA.0020.0002.130D8] # EGYPTIAN HIEROGLYPH E007
+130D9 ; [.3DFB.0020.0002.130D9] # EGYPTIAN HIEROGLYPH E008
+130DA ; [.3DFC.0020.0002.130DA] # EGYPTIAN HIEROGLYPH E008A
+130DB ; [.3DFD.0020.0002.130DB] # EGYPTIAN HIEROGLYPH E009
+130DC ; [.3DFE.0020.0002.130DC] # EGYPTIAN HIEROGLYPH E009A
+130DD ; [.3DFF.0020.0002.130DD] # EGYPTIAN HIEROGLYPH E010
+130DE ; [.3E00.0020.0002.130DE] # EGYPTIAN HIEROGLYPH E011
+130DF ; [.3E01.0020.0002.130DF] # EGYPTIAN HIEROGLYPH E012
+130E0 ; [.3E02.0020.0002.130E0] # EGYPTIAN HIEROGLYPH E013
+130E1 ; [.3E03.0020.0002.130E1] # EGYPTIAN HIEROGLYPH E014
+130E2 ; [.3E04.0020.0002.130E2] # EGYPTIAN HIEROGLYPH E015
+130E3 ; [.3E05.0020.0002.130E3] # EGYPTIAN HIEROGLYPH E016
+130E4 ; [.3E06.0020.0002.130E4] # EGYPTIAN HIEROGLYPH E016A
+130E5 ; [.3E07.0020.0002.130E5] # EGYPTIAN HIEROGLYPH E017
+130E6 ; [.3E08.0020.0002.130E6] # EGYPTIAN HIEROGLYPH E017A
+130E7 ; [.3E09.0020.0002.130E7] # EGYPTIAN HIEROGLYPH E018
+130E8 ; [.3E0A.0020.0002.130E8] # EGYPTIAN HIEROGLYPH E019
+130E9 ; [.3E0B.0020.0002.130E9] # EGYPTIAN HIEROGLYPH E020
+130EA ; [.3E0C.0020.0002.130EA] # EGYPTIAN HIEROGLYPH E020A
+130EB ; [.3E0D.0020.0002.130EB] # EGYPTIAN HIEROGLYPH E021
+130EC ; [.3E0E.0020.0002.130EC] # EGYPTIAN HIEROGLYPH E022
+130ED ; [.3E0F.0020.0002.130ED] # EGYPTIAN HIEROGLYPH E023
+130EE ; [.3E10.0020.0002.130EE] # EGYPTIAN HIEROGLYPH E024
+130EF ; [.3E11.0020.0002.130EF] # EGYPTIAN HIEROGLYPH E025
+130F0 ; [.3E12.0020.0002.130F0] # EGYPTIAN HIEROGLYPH E026
+130F1 ; [.3E13.0020.0002.130F1] # EGYPTIAN HIEROGLYPH E027
+130F2 ; [.3E14.0020.0002.130F2] # EGYPTIAN HIEROGLYPH E028
+130F3 ; [.3E15.0020.0002.130F3] # EGYPTIAN HIEROGLYPH E028A
+130F4 ; [.3E16.0020.0002.130F4] # EGYPTIAN HIEROGLYPH E029
+130F5 ; [.3E17.0020.0002.130F5] # EGYPTIAN HIEROGLYPH E030
+130F6 ; [.3E18.0020.0002.130F6] # EGYPTIAN HIEROGLYPH E031
+130F7 ; [.3E19.0020.0002.130F7] # EGYPTIAN HIEROGLYPH E032
+130F8 ; [.3E1A.0020.0002.130F8] # EGYPTIAN HIEROGLYPH E033
+130F9 ; [.3E1B.0020.0002.130F9] # EGYPTIAN HIEROGLYPH E034
+130FA ; [.3E1C.0020.0002.130FA] # EGYPTIAN HIEROGLYPH E034A
+130FB ; [.3E1D.0020.0002.130FB] # EGYPTIAN HIEROGLYPH E036
+130FC ; [.3E1E.0020.0002.130FC] # EGYPTIAN HIEROGLYPH E037
+130FD ; [.3E1F.0020.0002.130FD] # EGYPTIAN HIEROGLYPH E038
+130FE ; [.3E20.0020.0002.130FE] # EGYPTIAN HIEROGLYPH F001
+130FF ; [.3E21.0020.0002.130FF] # EGYPTIAN HIEROGLYPH F001A
+13100 ; [.3E22.0020.0002.13100] # EGYPTIAN HIEROGLYPH F002
+13101 ; [.3E23.0020.0002.13101] # EGYPTIAN HIEROGLYPH F003
+13102 ; [.3E24.0020.0002.13102] # EGYPTIAN HIEROGLYPH F004
+13103 ; [.3E25.0020.0002.13103] # EGYPTIAN HIEROGLYPH F005
+13104 ; [.3E26.0020.0002.13104] # EGYPTIAN HIEROGLYPH F006
+13105 ; [.3E27.0020.0002.13105] # EGYPTIAN HIEROGLYPH F007
+13106 ; [.3E28.0020.0002.13106] # EGYPTIAN HIEROGLYPH F008
+13107 ; [.3E29.0020.0002.13107] # EGYPTIAN HIEROGLYPH F009
+13108 ; [.3E2A.0020.0002.13108] # EGYPTIAN HIEROGLYPH F010
+13109 ; [.3E2B.0020.0002.13109] # EGYPTIAN HIEROGLYPH F011
+1310A ; [.3E2C.0020.0002.1310A] # EGYPTIAN HIEROGLYPH F012
+1310B ; [.3E2D.0020.0002.1310B] # EGYPTIAN HIEROGLYPH F013
+1310C ; [.3E2E.0020.0002.1310C] # EGYPTIAN HIEROGLYPH F013A
+1310D ; [.3E2F.0020.0002.1310D] # EGYPTIAN HIEROGLYPH F014
+1310E ; [.3E30.0020.0002.1310E] # EGYPTIAN HIEROGLYPH F015
+1310F ; [.3E31.0020.0002.1310F] # EGYPTIAN HIEROGLYPH F016
+13110 ; [.3E32.0020.0002.13110] # EGYPTIAN HIEROGLYPH F017
+13111 ; [.3E33.0020.0002.13111] # EGYPTIAN HIEROGLYPH F018
+13112 ; [.3E34.0020.0002.13112] # EGYPTIAN HIEROGLYPH F019
+13113 ; [.3E35.0020.0002.13113] # EGYPTIAN HIEROGLYPH F020
+13114 ; [.3E36.0020.0002.13114] # EGYPTIAN HIEROGLYPH F021
+13115 ; [.3E37.0020.0002.13115] # EGYPTIAN HIEROGLYPH F021A
+13116 ; [.3E38.0020.0002.13116] # EGYPTIAN HIEROGLYPH F022
+13117 ; [.3E39.0020.0002.13117] # EGYPTIAN HIEROGLYPH F023
+13118 ; [.3E3A.0020.0002.13118] # EGYPTIAN HIEROGLYPH F024
+13119 ; [.3E3B.0020.0002.13119] # EGYPTIAN HIEROGLYPH F025
+1311A ; [.3E3C.0020.0002.1311A] # EGYPTIAN HIEROGLYPH F026
+1311B ; [.3E3D.0020.0002.1311B] # EGYPTIAN HIEROGLYPH F027
+1311C ; [.3E3E.0020.0002.1311C] # EGYPTIAN HIEROGLYPH F028
+1311D ; [.3E3F.0020.0002.1311D] # EGYPTIAN HIEROGLYPH F029
+1311E ; [.3E40.0020.0002.1311E] # EGYPTIAN HIEROGLYPH F030
+1311F ; [.3E41.0020.0002.1311F] # EGYPTIAN HIEROGLYPH F031
+13120 ; [.3E42.0020.0002.13120] # EGYPTIAN HIEROGLYPH F031A
+13121 ; [.3E43.0020.0002.13121] # EGYPTIAN HIEROGLYPH F032
+13122 ; [.3E44.0020.0002.13122] # EGYPTIAN HIEROGLYPH F033
+13123 ; [.3E45.0020.0002.13123] # EGYPTIAN HIEROGLYPH F034
+13124 ; [.3E46.0020.0002.13124] # EGYPTIAN HIEROGLYPH F035
+13125 ; [.3E47.0020.0002.13125] # EGYPTIAN HIEROGLYPH F036
+13126 ; [.3E48.0020.0002.13126] # EGYPTIAN HIEROGLYPH F037
+13127 ; [.3E49.0020.0002.13127] # EGYPTIAN HIEROGLYPH F037A
+13128 ; [.3E4A.0020.0002.13128] # EGYPTIAN HIEROGLYPH F038
+13129 ; [.3E4B.0020.0002.13129] # EGYPTIAN HIEROGLYPH F038A
+1312A ; [.3E4C.0020.0002.1312A] # EGYPTIAN HIEROGLYPH F039
+1312B ; [.3E4D.0020.0002.1312B] # EGYPTIAN HIEROGLYPH F040
+1312C ; [.3E4E.0020.0002.1312C] # EGYPTIAN HIEROGLYPH F041
+1312D ; [.3E4F.0020.0002.1312D] # EGYPTIAN HIEROGLYPH F042
+1312E ; [.3E50.0020.0002.1312E] # EGYPTIAN HIEROGLYPH F043
+1312F ; [.3E51.0020.0002.1312F] # EGYPTIAN HIEROGLYPH F044
+13130 ; [.3E52.0020.0002.13130] # EGYPTIAN HIEROGLYPH F045
+13131 ; [.3E53.0020.0002.13131] # EGYPTIAN HIEROGLYPH F045A
+13132 ; [.3E54.0020.0002.13132] # EGYPTIAN HIEROGLYPH F046
+13133 ; [.3E55.0020.0002.13133] # EGYPTIAN HIEROGLYPH F046A
+13134 ; [.3E56.0020.0002.13134] # EGYPTIAN HIEROGLYPH F047
+13135 ; [.3E57.0020.0002.13135] # EGYPTIAN HIEROGLYPH F047A
+13136 ; [.3E58.0020.0002.13136] # EGYPTIAN HIEROGLYPH F048
+13137 ; [.3E59.0020.0002.13137] # EGYPTIAN HIEROGLYPH F049
+13138 ; [.3E5A.0020.0002.13138] # EGYPTIAN HIEROGLYPH F050
+13139 ; [.3E5B.0020.0002.13139] # EGYPTIAN HIEROGLYPH F051
+1313A ; [.3E5C.0020.0002.1313A] # EGYPTIAN HIEROGLYPH F051A
+1313B ; [.3E5D.0020.0002.1313B] # EGYPTIAN HIEROGLYPH F051B
+1313C ; [.3E5E.0020.0002.1313C] # EGYPTIAN HIEROGLYPH F051C
+1313D ; [.3E5F.0020.0002.1313D] # EGYPTIAN HIEROGLYPH F052
+1313E ; [.3E60.0020.0002.1313E] # EGYPTIAN HIEROGLYPH F053
+1313F ; [.3E61.0020.0002.1313F] # EGYPTIAN HIEROGLYPH G001
+13140 ; [.3E62.0020.0002.13140] # EGYPTIAN HIEROGLYPH G002
+13141 ; [.3E63.0020.0002.13141] # EGYPTIAN HIEROGLYPH G003
+13142 ; [.3E64.0020.0002.13142] # EGYPTIAN HIEROGLYPH G004
+13143 ; [.3E65.0020.0002.13143] # EGYPTIAN HIEROGLYPH G005
+13144 ; [.3E66.0020.0002.13144] # EGYPTIAN HIEROGLYPH G006
+13145 ; [.3E67.0020.0002.13145] # EGYPTIAN HIEROGLYPH G006A
+13146 ; [.3E68.0020.0002.13146] # EGYPTIAN HIEROGLYPH G007
+13147 ; [.3E69.0020.0002.13147] # EGYPTIAN HIEROGLYPH G007A
+13148 ; [.3E6A.0020.0002.13148] # EGYPTIAN HIEROGLYPH G007B
+13149 ; [.3E6B.0020.0002.13149] # EGYPTIAN HIEROGLYPH G008
+1314A ; [.3E6C.0020.0002.1314A] # EGYPTIAN HIEROGLYPH G009
+1314B ; [.3E6D.0020.0002.1314B] # EGYPTIAN HIEROGLYPH G010
+1314C ; [.3E6E.0020.0002.1314C] # EGYPTIAN HIEROGLYPH G011
+1314D ; [.3E6F.0020.0002.1314D] # EGYPTIAN HIEROGLYPH G011A
+1314E ; [.3E70.0020.0002.1314E] # EGYPTIAN HIEROGLYPH G012
+1314F ; [.3E71.0020.0002.1314F] # EGYPTIAN HIEROGLYPH G013
+13150 ; [.3E72.0020.0002.13150] # EGYPTIAN HIEROGLYPH G014
+13151 ; [.3E73.0020.0002.13151] # EGYPTIAN HIEROGLYPH G015
+13152 ; [.3E74.0020.0002.13152] # EGYPTIAN HIEROGLYPH G016
+13153 ; [.3E75.0020.0002.13153] # EGYPTIAN HIEROGLYPH G017
+13154 ; [.3E76.0020.0002.13154] # EGYPTIAN HIEROGLYPH G018
+13155 ; [.3E77.0020.0002.13155] # EGYPTIAN HIEROGLYPH G019
+13156 ; [.3E78.0020.0002.13156] # EGYPTIAN HIEROGLYPH G020
+13157 ; [.3E79.0020.0002.13157] # EGYPTIAN HIEROGLYPH G020A
+13158 ; [.3E7A.0020.0002.13158] # EGYPTIAN HIEROGLYPH G021
+13159 ; [.3E7B.0020.0002.13159] # EGYPTIAN HIEROGLYPH G022
+1315A ; [.3E7C.0020.0002.1315A] # EGYPTIAN HIEROGLYPH G023
+1315B ; [.3E7D.0020.0002.1315B] # EGYPTIAN HIEROGLYPH G024
+1315C ; [.3E7E.0020.0002.1315C] # EGYPTIAN HIEROGLYPH G025
+1315D ; [.3E7F.0020.0002.1315D] # EGYPTIAN HIEROGLYPH G026
+1315E ; [.3E80.0020.0002.1315E] # EGYPTIAN HIEROGLYPH G026A
+1315F ; [.3E81.0020.0002.1315F] # EGYPTIAN HIEROGLYPH G027
+13160 ; [.3E82.0020.0002.13160] # EGYPTIAN HIEROGLYPH G028
+13161 ; [.3E83.0020.0002.13161] # EGYPTIAN HIEROGLYPH G029
+13162 ; [.3E84.0020.0002.13162] # EGYPTIAN HIEROGLYPH G030
+13163 ; [.3E85.0020.0002.13163] # EGYPTIAN HIEROGLYPH G031
+13164 ; [.3E86.0020.0002.13164] # EGYPTIAN HIEROGLYPH G032
+13165 ; [.3E87.0020.0002.13165] # EGYPTIAN HIEROGLYPH G033
+13166 ; [.3E88.0020.0002.13166] # EGYPTIAN HIEROGLYPH G034
+13167 ; [.3E89.0020.0002.13167] # EGYPTIAN HIEROGLYPH G035
+13168 ; [.3E8A.0020.0002.13168] # EGYPTIAN HIEROGLYPH G036
+13169 ; [.3E8B.0020.0002.13169] # EGYPTIAN HIEROGLYPH G036A
+1316A ; [.3E8C.0020.0002.1316A] # EGYPTIAN HIEROGLYPH G037
+1316B ; [.3E8D.0020.0002.1316B] # EGYPTIAN HIEROGLYPH G037A
+1316C ; [.3E8E.0020.0002.1316C] # EGYPTIAN HIEROGLYPH G038
+1316D ; [.3E8F.0020.0002.1316D] # EGYPTIAN HIEROGLYPH G039
+1316E ; [.3E90.0020.0002.1316E] # EGYPTIAN HIEROGLYPH G040
+1316F ; [.3E91.0020.0002.1316F] # EGYPTIAN HIEROGLYPH G041
+13170 ; [.3E92.0020.0002.13170] # EGYPTIAN HIEROGLYPH G042
+13171 ; [.3E93.0020.0002.13171] # EGYPTIAN HIEROGLYPH G043
+13172 ; [.3E94.0020.0002.13172] # EGYPTIAN HIEROGLYPH G043A
+13173 ; [.3E95.0020.0002.13173] # EGYPTIAN HIEROGLYPH G044
+13174 ; [.3E96.0020.0002.13174] # EGYPTIAN HIEROGLYPH G045
+13175 ; [.3E97.0020.0002.13175] # EGYPTIAN HIEROGLYPH G045A
+13176 ; [.3E98.0020.0002.13176] # EGYPTIAN HIEROGLYPH G046
+13177 ; [.3E99.0020.0002.13177] # EGYPTIAN HIEROGLYPH G047
+13178 ; [.3E9A.0020.0002.13178] # EGYPTIAN HIEROGLYPH G048
+13179 ; [.3E9B.0020.0002.13179] # EGYPTIAN HIEROGLYPH G049
+1317A ; [.3E9C.0020.0002.1317A] # EGYPTIAN HIEROGLYPH G050
+1317B ; [.3E9D.0020.0002.1317B] # EGYPTIAN HIEROGLYPH G051
+1317C ; [.3E9E.0020.0002.1317C] # EGYPTIAN HIEROGLYPH G052
+1317D ; [.3E9F.0020.0002.1317D] # EGYPTIAN HIEROGLYPH G053
+1317E ; [.3EA0.0020.0002.1317E] # EGYPTIAN HIEROGLYPH G054
+1317F ; [.3EA1.0020.0002.1317F] # EGYPTIAN HIEROGLYPH H001
+13180 ; [.3EA2.0020.0002.13180] # EGYPTIAN HIEROGLYPH H002
+13181 ; [.3EA3.0020.0002.13181] # EGYPTIAN HIEROGLYPH H003
+13182 ; [.3EA4.0020.0002.13182] # EGYPTIAN HIEROGLYPH H004
+13183 ; [.3EA5.0020.0002.13183] # EGYPTIAN HIEROGLYPH H005
+13184 ; [.3EA6.0020.0002.13184] # EGYPTIAN HIEROGLYPH H006
+13185 ; [.3EA7.0020.0002.13185] # EGYPTIAN HIEROGLYPH H006A
+13186 ; [.3EA8.0020.0002.13186] # EGYPTIAN HIEROGLYPH H007
+13187 ; [.3EA9.0020.0002.13187] # EGYPTIAN HIEROGLYPH H008
+13188 ; [.3EAA.0020.0002.13188] # EGYPTIAN HIEROGLYPH I001
+13189 ; [.3EAB.0020.0002.13189] # EGYPTIAN HIEROGLYPH I002
+1318A ; [.3EAC.0020.0002.1318A] # EGYPTIAN HIEROGLYPH I003
+1318B ; [.3EAD.0020.0002.1318B] # EGYPTIAN HIEROGLYPH I004
+1318C ; [.3EAE.0020.0002.1318C] # EGYPTIAN HIEROGLYPH I005
+1318D ; [.3EAF.0020.0002.1318D] # EGYPTIAN HIEROGLYPH I005A
+1318E ; [.3EB0.0020.0002.1318E] # EGYPTIAN HIEROGLYPH I006
+1318F ; [.3EB1.0020.0002.1318F] # EGYPTIAN HIEROGLYPH I007
+13190 ; [.3EB2.0020.0002.13190] # EGYPTIAN HIEROGLYPH I008
+13191 ; [.3EB3.0020.0002.13191] # EGYPTIAN HIEROGLYPH I009
+13192 ; [.3EB4.0020.0002.13192] # EGYPTIAN HIEROGLYPH I009A
+13193 ; [.3EB5.0020.0002.13193] # EGYPTIAN HIEROGLYPH I010
+13194 ; [.3EB6.0020.0002.13194] # EGYPTIAN HIEROGLYPH I010A
+13195 ; [.3EB7.0020.0002.13195] # EGYPTIAN HIEROGLYPH I011
+13196 ; [.3EB8.0020.0002.13196] # EGYPTIAN HIEROGLYPH I011A
+13197 ; [.3EB9.0020.0002.13197] # EGYPTIAN HIEROGLYPH I012
+13198 ; [.3EBA.0020.0002.13198] # EGYPTIAN HIEROGLYPH I013
+13199 ; [.3EBB.0020.0002.13199] # EGYPTIAN HIEROGLYPH I014
+1319A ; [.3EBC.0020.0002.1319A] # EGYPTIAN HIEROGLYPH I015
+1319B ; [.3EBD.0020.0002.1319B] # EGYPTIAN HIEROGLYPH K001
+1319C ; [.3EBE.0020.0002.1319C] # EGYPTIAN HIEROGLYPH K002
+1319D ; [.3EBF.0020.0002.1319D] # EGYPTIAN HIEROGLYPH K003
+1319E ; [.3EC0.0020.0002.1319E] # EGYPTIAN HIEROGLYPH K004
+1319F ; [.3EC1.0020.0002.1319F] # EGYPTIAN HIEROGLYPH K005
+131A0 ; [.3EC2.0020.0002.131A0] # EGYPTIAN HIEROGLYPH K006
+131A1 ; [.3EC3.0020.0002.131A1] # EGYPTIAN HIEROGLYPH K007
+131A2 ; [.3EC4.0020.0002.131A2] # EGYPTIAN HIEROGLYPH K008
+131A3 ; [.3EC5.0020.0002.131A3] # EGYPTIAN HIEROGLYPH L001
+131A4 ; [.3EC6.0020.0002.131A4] # EGYPTIAN HIEROGLYPH L002
+131A5 ; [.3EC7.0020.0002.131A5] # EGYPTIAN HIEROGLYPH L002A
+131A6 ; [.3EC8.0020.0002.131A6] # EGYPTIAN HIEROGLYPH L003
+131A7 ; [.3EC9.0020.0002.131A7] # EGYPTIAN HIEROGLYPH L004
+131A8 ; [.3ECA.0020.0002.131A8] # EGYPTIAN HIEROGLYPH L005
+131A9 ; [.3ECB.0020.0002.131A9] # EGYPTIAN HIEROGLYPH L006
+131AA ; [.3ECC.0020.0002.131AA] # EGYPTIAN HIEROGLYPH L006A
+131AB ; [.3ECD.0020.0002.131AB] # EGYPTIAN HIEROGLYPH L007
+131AC ; [.3ECE.0020.0002.131AC] # EGYPTIAN HIEROGLYPH L008
+131AD ; [.3ECF.0020.0002.131AD] # EGYPTIAN HIEROGLYPH M001
+131AE ; [.3ED0.0020.0002.131AE] # EGYPTIAN HIEROGLYPH M001A
+131AF ; [.3ED1.0020.0002.131AF] # EGYPTIAN HIEROGLYPH M001B
+131B0 ; [.3ED2.0020.0002.131B0] # EGYPTIAN HIEROGLYPH M002
+131B1 ; [.3ED3.0020.0002.131B1] # EGYPTIAN HIEROGLYPH M003
+131B2 ; [.3ED4.0020.0002.131B2] # EGYPTIAN HIEROGLYPH M003A
+131B3 ; [.3ED5.0020.0002.131B3] # EGYPTIAN HIEROGLYPH M004
+131B4 ; [.3ED6.0020.0002.131B4] # EGYPTIAN HIEROGLYPH M005
+131B5 ; [.3ED7.0020.0002.131B5] # EGYPTIAN HIEROGLYPH M006
+131B6 ; [.3ED8.0020.0002.131B6] # EGYPTIAN HIEROGLYPH M007
+131B7 ; [.3ED9.0020.0002.131B7] # EGYPTIAN HIEROGLYPH M008
+131B8 ; [.3EDA.0020.0002.131B8] # EGYPTIAN HIEROGLYPH M009
+131B9 ; [.3EDB.0020.0002.131B9] # EGYPTIAN HIEROGLYPH M010
+131BA ; [.3EDC.0020.0002.131BA] # EGYPTIAN HIEROGLYPH M010A
+131BB ; [.3EDD.0020.0002.131BB] # EGYPTIAN HIEROGLYPH M011
+131BC ; [.3EDE.0020.0002.131BC] # EGYPTIAN HIEROGLYPH M012
+131BD ; [.3EDF.0020.0002.131BD] # EGYPTIAN HIEROGLYPH M012A
+131BE ; [.3EE0.0020.0002.131BE] # EGYPTIAN HIEROGLYPH M012B
+131BF ; [.3EE1.0020.0002.131BF] # EGYPTIAN HIEROGLYPH M012C
+131C0 ; [.3EE2.0020.0002.131C0] # EGYPTIAN HIEROGLYPH M012D
+131C1 ; [.3EE3.0020.0002.131C1] # EGYPTIAN HIEROGLYPH M012E
+131C2 ; [.3EE4.0020.0002.131C2] # EGYPTIAN HIEROGLYPH M012F
+131C3 ; [.3EE5.0020.0002.131C3] # EGYPTIAN HIEROGLYPH M012G
+131C4 ; [.3EE6.0020.0002.131C4] # EGYPTIAN HIEROGLYPH M012H
+131C5 ; [.3EE7.0020.0002.131C5] # EGYPTIAN HIEROGLYPH M013
+131C6 ; [.3EE8.0020.0002.131C6] # EGYPTIAN HIEROGLYPH M014
+131C7 ; [.3EE9.0020.0002.131C7] # EGYPTIAN HIEROGLYPH M015
+131C8 ; [.3EEA.0020.0002.131C8] # EGYPTIAN HIEROGLYPH M015A
+131C9 ; [.3EEB.0020.0002.131C9] # EGYPTIAN HIEROGLYPH M016
+131CA ; [.3EEC.0020.0002.131CA] # EGYPTIAN HIEROGLYPH M016A
+131CB ; [.3EED.0020.0002.131CB] # EGYPTIAN HIEROGLYPH M017
+131CC ; [.3EEE.0020.0002.131CC] # EGYPTIAN HIEROGLYPH M017A
+131CD ; [.3EEF.0020.0002.131CD] # EGYPTIAN HIEROGLYPH M018
+131CE ; [.3EF0.0020.0002.131CE] # EGYPTIAN HIEROGLYPH M019
+131CF ; [.3EF1.0020.0002.131CF] # EGYPTIAN HIEROGLYPH M020
+131D0 ; [.3EF2.0020.0002.131D0] # EGYPTIAN HIEROGLYPH M021
+131D1 ; [.3EF3.0020.0002.131D1] # EGYPTIAN HIEROGLYPH M022
+131D2 ; [.3EF4.0020.0002.131D2] # EGYPTIAN HIEROGLYPH M022A
+131D3 ; [.3EF5.0020.0002.131D3] # EGYPTIAN HIEROGLYPH M023
+131D4 ; [.3EF6.0020.0002.131D4] # EGYPTIAN HIEROGLYPH M024
+131D5 ; [.3EF7.0020.0002.131D5] # EGYPTIAN HIEROGLYPH M024A
+131D6 ; [.3EF8.0020.0002.131D6] # EGYPTIAN HIEROGLYPH M025
+131D7 ; [.3EF9.0020.0002.131D7] # EGYPTIAN HIEROGLYPH M026
+131D8 ; [.3EFA.0020.0002.131D8] # EGYPTIAN HIEROGLYPH M027
+131D9 ; [.3EFB.0020.0002.131D9] # EGYPTIAN HIEROGLYPH M028
+131DA ; [.3EFC.0020.0002.131DA] # EGYPTIAN HIEROGLYPH M028A
+131DB ; [.3EFD.0020.0002.131DB] # EGYPTIAN HIEROGLYPH M029
+131DC ; [.3EFE.0020.0002.131DC] # EGYPTIAN HIEROGLYPH M030
+131DD ; [.3EFF.0020.0002.131DD] # EGYPTIAN HIEROGLYPH M031
+131DE ; [.3F00.0020.0002.131DE] # EGYPTIAN HIEROGLYPH M031A
+131DF ; [.3F01.0020.0002.131DF] # EGYPTIAN HIEROGLYPH M032
+131E0 ; [.3F02.0020.0002.131E0] # EGYPTIAN HIEROGLYPH M033
+131E1 ; [.3F03.0020.0002.131E1] # EGYPTIAN HIEROGLYPH M033A
+131E2 ; [.3F04.0020.0002.131E2] # EGYPTIAN HIEROGLYPH M033B
+131E3 ; [.3F05.0020.0002.131E3] # EGYPTIAN HIEROGLYPH M034
+131E4 ; [.3F06.0020.0002.131E4] # EGYPTIAN HIEROGLYPH M035
+131E5 ; [.3F07.0020.0002.131E5] # EGYPTIAN HIEROGLYPH M036
+131E6 ; [.3F08.0020.0002.131E6] # EGYPTIAN HIEROGLYPH M037
+131E7 ; [.3F09.0020.0002.131E7] # EGYPTIAN HIEROGLYPH M038
+131E8 ; [.3F0A.0020.0002.131E8] # EGYPTIAN HIEROGLYPH M039
+131E9 ; [.3F0B.0020.0002.131E9] # EGYPTIAN HIEROGLYPH M040
+131EA ; [.3F0C.0020.0002.131EA] # EGYPTIAN HIEROGLYPH M040A
+131EB ; [.3F0D.0020.0002.131EB] # EGYPTIAN HIEROGLYPH M041
+131EC ; [.3F0E.0020.0002.131EC] # EGYPTIAN HIEROGLYPH M042
+131ED ; [.3F0F.0020.0002.131ED] # EGYPTIAN HIEROGLYPH M043
+131EE ; [.3F10.0020.0002.131EE] # EGYPTIAN HIEROGLYPH M044
+131EF ; [.3F11.0020.0002.131EF] # EGYPTIAN HIEROGLYPH N001
+131F0 ; [.3F12.0020.0002.131F0] # EGYPTIAN HIEROGLYPH N002
+131F1 ; [.3F13.0020.0002.131F1] # EGYPTIAN HIEROGLYPH N003
+131F2 ; [.3F14.0020.0002.131F2] # EGYPTIAN HIEROGLYPH N004
+131F3 ; [.3F15.0020.0002.131F3] # EGYPTIAN HIEROGLYPH N005
+131F4 ; [.3F16.0020.0002.131F4] # EGYPTIAN HIEROGLYPH N006
+131F5 ; [.3F17.0020.0002.131F5] # EGYPTIAN HIEROGLYPH N007
+131F6 ; [.3F18.0020.0002.131F6] # EGYPTIAN HIEROGLYPH N008
+131F7 ; [.3F19.0020.0002.131F7] # EGYPTIAN HIEROGLYPH N009
+131F8 ; [.3F1A.0020.0002.131F8] # EGYPTIAN HIEROGLYPH N010
+131F9 ; [.3F1B.0020.0002.131F9] # EGYPTIAN HIEROGLYPH N011
+131FA ; [.3F1C.0020.0002.131FA] # EGYPTIAN HIEROGLYPH N012
+131FB ; [.3F1D.0020.0002.131FB] # EGYPTIAN HIEROGLYPH N013
+131FC ; [.3F1E.0020.0002.131FC] # EGYPTIAN HIEROGLYPH N014
+131FD ; [.3F1F.0020.0002.131FD] # EGYPTIAN HIEROGLYPH N015
+131FE ; [.3F20.0020.0002.131FE] # EGYPTIAN HIEROGLYPH N016
+131FF ; [.3F21.0020.0002.131FF] # EGYPTIAN HIEROGLYPH N017
+13200 ; [.3F22.0020.0002.13200] # EGYPTIAN HIEROGLYPH N018
+13201 ; [.3F23.0020.0002.13201] # EGYPTIAN HIEROGLYPH N018A
+13202 ; [.3F24.0020.0002.13202] # EGYPTIAN HIEROGLYPH N018B
+13203 ; [.3F25.0020.0002.13203] # EGYPTIAN HIEROGLYPH N019
+13204 ; [.3F26.0020.0002.13204] # EGYPTIAN HIEROGLYPH N020
+13205 ; [.3F27.0020.0002.13205] # EGYPTIAN HIEROGLYPH N021
+13206 ; [.3F28.0020.0002.13206] # EGYPTIAN HIEROGLYPH N022
+13207 ; [.3F29.0020.0002.13207] # EGYPTIAN HIEROGLYPH N023
+13208 ; [.3F2A.0020.0002.13208] # EGYPTIAN HIEROGLYPH N024
+13209 ; [.3F2B.0020.0002.13209] # EGYPTIAN HIEROGLYPH N025
+1320A ; [.3F2C.0020.0002.1320A] # EGYPTIAN HIEROGLYPH N025A
+1320B ; [.3F2D.0020.0002.1320B] # EGYPTIAN HIEROGLYPH N026
+1320C ; [.3F2E.0020.0002.1320C] # EGYPTIAN HIEROGLYPH N027
+1320D ; [.3F2F.0020.0002.1320D] # EGYPTIAN HIEROGLYPH N028
+1320E ; [.3F30.0020.0002.1320E] # EGYPTIAN HIEROGLYPH N029
+1320F ; [.3F31.0020.0002.1320F] # EGYPTIAN HIEROGLYPH N030
+13210 ; [.3F32.0020.0002.13210] # EGYPTIAN HIEROGLYPH N031
+13211 ; [.3F33.0020.0002.13211] # EGYPTIAN HIEROGLYPH N032
+13212 ; [.3F34.0020.0002.13212] # EGYPTIAN HIEROGLYPH N033
+13213 ; [.3F35.0020.0002.13213] # EGYPTIAN HIEROGLYPH N033A
+13214 ; [.3F36.0020.0002.13214] # EGYPTIAN HIEROGLYPH N034
+13215 ; [.3F37.0020.0002.13215] # EGYPTIAN HIEROGLYPH N034A
+13216 ; [.3F38.0020.0002.13216] # EGYPTIAN HIEROGLYPH N035
+13217 ; [.3F39.0020.0002.13217] # EGYPTIAN HIEROGLYPH N035A
+13218 ; [.3F3A.0020.0002.13218] # EGYPTIAN HIEROGLYPH N036
+13219 ; [.3F3B.0020.0002.13219] # EGYPTIAN HIEROGLYPH N037
+1321A ; [.3F3C.0020.0002.1321A] # EGYPTIAN HIEROGLYPH N037A
+1321B ; [.3F3D.0020.0002.1321B] # EGYPTIAN HIEROGLYPH N038
+1321C ; [.3F3E.0020.0002.1321C] # EGYPTIAN HIEROGLYPH N039
+1321D ; [.3F3F.0020.0002.1321D] # EGYPTIAN HIEROGLYPH N040
+1321E ; [.3F40.0020.0002.1321E] # EGYPTIAN HIEROGLYPH N041
+1321F ; [.3F41.0020.0002.1321F] # EGYPTIAN HIEROGLYPH N042
+13220 ; [.3F42.0020.0002.13220] # EGYPTIAN HIEROGLYPH NL001
+13221 ; [.3F43.0020.0002.13221] # EGYPTIAN HIEROGLYPH NL002
+13222 ; [.3F44.0020.0002.13222] # EGYPTIAN HIEROGLYPH NL003
+13223 ; [.3F45.0020.0002.13223] # EGYPTIAN HIEROGLYPH NL004
+13224 ; [.3F46.0020.0002.13224] # EGYPTIAN HIEROGLYPH NL005
+13225 ; [.3F47.0020.0002.13225] # EGYPTIAN HIEROGLYPH NL005A
+13226 ; [.3F48.0020.0002.13226] # EGYPTIAN HIEROGLYPH NL006
+13227 ; [.3F49.0020.0002.13227] # EGYPTIAN HIEROGLYPH NL007
+13228 ; [.3F4A.0020.0002.13228] # EGYPTIAN HIEROGLYPH NL008
+13229 ; [.3F4B.0020.0002.13229] # EGYPTIAN HIEROGLYPH NL009
+1322A ; [.3F4C.0020.0002.1322A] # EGYPTIAN HIEROGLYPH NL010
+1322B ; [.3F4D.0020.0002.1322B] # EGYPTIAN HIEROGLYPH NL011
+1322C ; [.3F4E.0020.0002.1322C] # EGYPTIAN HIEROGLYPH NL012
+1322D ; [.3F4F.0020.0002.1322D] # EGYPTIAN HIEROGLYPH NL013
+1322E ; [.3F50.0020.0002.1322E] # EGYPTIAN HIEROGLYPH NL014
+1322F ; [.3F51.0020.0002.1322F] # EGYPTIAN HIEROGLYPH NL015
+13230 ; [.3F52.0020.0002.13230] # EGYPTIAN HIEROGLYPH NL016
+13231 ; [.3F53.0020.0002.13231] # EGYPTIAN HIEROGLYPH NL017
+13232 ; [.3F54.0020.0002.13232] # EGYPTIAN HIEROGLYPH NL017A
+13233 ; [.3F55.0020.0002.13233] # EGYPTIAN HIEROGLYPH NL018
+13234 ; [.3F56.0020.0002.13234] # EGYPTIAN HIEROGLYPH NL019
+13235 ; [.3F57.0020.0002.13235] # EGYPTIAN HIEROGLYPH NL020
+13236 ; [.3F58.0020.0002.13236] # EGYPTIAN HIEROGLYPH NU001
+13237 ; [.3F59.0020.0002.13237] # EGYPTIAN HIEROGLYPH NU002
+13238 ; [.3F5A.0020.0002.13238] # EGYPTIAN HIEROGLYPH NU003
+13239 ; [.3F5B.0020.0002.13239] # EGYPTIAN HIEROGLYPH NU004
+1323A ; [.3F5C.0020.0002.1323A] # EGYPTIAN HIEROGLYPH NU005
+1323B ; [.3F5D.0020.0002.1323B] # EGYPTIAN HIEROGLYPH NU006
+1323C ; [.3F5E.0020.0002.1323C] # EGYPTIAN HIEROGLYPH NU007
+1323D ; [.3F5F.0020.0002.1323D] # EGYPTIAN HIEROGLYPH NU008
+1323E ; [.3F60.0020.0002.1323E] # EGYPTIAN HIEROGLYPH NU009
+1323F ; [.3F61.0020.0002.1323F] # EGYPTIAN HIEROGLYPH NU010
+13240 ; [.3F62.0020.0002.13240] # EGYPTIAN HIEROGLYPH NU010A
+13241 ; [.3F63.0020.0002.13241] # EGYPTIAN HIEROGLYPH NU011
+13242 ; [.3F64.0020.0002.13242] # EGYPTIAN HIEROGLYPH NU011A
+13243 ; [.3F65.0020.0002.13243] # EGYPTIAN HIEROGLYPH NU012
+13244 ; [.3F66.0020.0002.13244] # EGYPTIAN HIEROGLYPH NU013
+13245 ; [.3F67.0020.0002.13245] # EGYPTIAN HIEROGLYPH NU014
+13246 ; [.3F68.0020.0002.13246] # EGYPTIAN HIEROGLYPH NU015
+13247 ; [.3F69.0020.0002.13247] # EGYPTIAN HIEROGLYPH NU016
+13248 ; [.3F6A.0020.0002.13248] # EGYPTIAN HIEROGLYPH NU017
+13249 ; [.3F6B.0020.0002.13249] # EGYPTIAN HIEROGLYPH NU018
+1324A ; [.3F6C.0020.0002.1324A] # EGYPTIAN HIEROGLYPH NU018A
+1324B ; [.3F6D.0020.0002.1324B] # EGYPTIAN HIEROGLYPH NU019
+1324C ; [.3F6E.0020.0002.1324C] # EGYPTIAN HIEROGLYPH NU020
+1324D ; [.3F6F.0020.0002.1324D] # EGYPTIAN HIEROGLYPH NU021
+1324E ; [.3F70.0020.0002.1324E] # EGYPTIAN HIEROGLYPH NU022
+1324F ; [.3F71.0020.0002.1324F] # EGYPTIAN HIEROGLYPH NU022A
+13250 ; [.3F72.0020.0002.13250] # EGYPTIAN HIEROGLYPH O001
+13251 ; [.3F73.0020.0002.13251] # EGYPTIAN HIEROGLYPH O001A
+13252 ; [.3F74.0020.0002.13252] # EGYPTIAN HIEROGLYPH O002
+13253 ; [.3F75.0020.0002.13253] # EGYPTIAN HIEROGLYPH O003
+13254 ; [.3F76.0020.0002.13254] # EGYPTIAN HIEROGLYPH O004
+13255 ; [.3F77.0020.0002.13255] # EGYPTIAN HIEROGLYPH O005
+13256 ; [.3F78.0020.0002.13256] # EGYPTIAN HIEROGLYPH O005A
+13257 ; [.3F79.0020.0002.13257] # EGYPTIAN HIEROGLYPH O006
+13258 ; [.3F7A.0020.0002.13258] # EGYPTIAN HIEROGLYPH O006A
+13259 ; [.3F7B.0020.0002.13259] # EGYPTIAN HIEROGLYPH O006B
+1325A ; [.3F7C.0020.0002.1325A] # EGYPTIAN HIEROGLYPH O006C
+1325B ; [.3F7D.0020.0002.1325B] # EGYPTIAN HIEROGLYPH O006D
+1325C ; [.3F7E.0020.0002.1325C] # EGYPTIAN HIEROGLYPH O006E
+1325D ; [.3F7F.0020.0002.1325D] # EGYPTIAN HIEROGLYPH O006F
+1325E ; [.3F80.0020.0002.1325E] # EGYPTIAN HIEROGLYPH O007
+1325F ; [.3F81.0020.0002.1325F] # EGYPTIAN HIEROGLYPH O008
+13260 ; [.3F82.0020.0002.13260] # EGYPTIAN HIEROGLYPH O009
+13261 ; [.3F83.0020.0002.13261] # EGYPTIAN HIEROGLYPH O010
+13262 ; [.3F84.0020.0002.13262] # EGYPTIAN HIEROGLYPH O010A
+13263 ; [.3F85.0020.0002.13263] # EGYPTIAN HIEROGLYPH O010B
+13264 ; [.3F86.0020.0002.13264] # EGYPTIAN HIEROGLYPH O010C
+13265 ; [.3F87.0020.0002.13265] # EGYPTIAN HIEROGLYPH O011
+13266 ; [.3F88.0020.0002.13266] # EGYPTIAN HIEROGLYPH O012
+13267 ; [.3F89.0020.0002.13267] # EGYPTIAN HIEROGLYPH O013
+13268 ; [.3F8A.0020.0002.13268] # EGYPTIAN HIEROGLYPH O014
+13269 ; [.3F8B.0020.0002.13269] # EGYPTIAN HIEROGLYPH O015
+1326A ; [.3F8C.0020.0002.1326A] # EGYPTIAN HIEROGLYPH O016
+1326B ; [.3F8D.0020.0002.1326B] # EGYPTIAN HIEROGLYPH O017
+1326C ; [.3F8E.0020.0002.1326C] # EGYPTIAN HIEROGLYPH O018
+1326D ; [.3F8F.0020.0002.1326D] # EGYPTIAN HIEROGLYPH O019
+1326E ; [.3F90.0020.0002.1326E] # EGYPTIAN HIEROGLYPH O019A
+1326F ; [.3F91.0020.0002.1326F] # EGYPTIAN HIEROGLYPH O020
+13270 ; [.3F92.0020.0002.13270] # EGYPTIAN HIEROGLYPH O020A
+13271 ; [.3F93.0020.0002.13271] # EGYPTIAN HIEROGLYPH O021
+13272 ; [.3F94.0020.0002.13272] # EGYPTIAN HIEROGLYPH O022
+13273 ; [.3F95.0020.0002.13273] # EGYPTIAN HIEROGLYPH O023
+13274 ; [.3F96.0020.0002.13274] # EGYPTIAN HIEROGLYPH O024
+13275 ; [.3F97.0020.0002.13275] # EGYPTIAN HIEROGLYPH O024A
+13276 ; [.3F98.0020.0002.13276] # EGYPTIAN HIEROGLYPH O025
+13277 ; [.3F99.0020.0002.13277] # EGYPTIAN HIEROGLYPH O025A
+13278 ; [.3F9A.0020.0002.13278] # EGYPTIAN HIEROGLYPH O026
+13279 ; [.3F9B.0020.0002.13279] # EGYPTIAN HIEROGLYPH O027
+1327A ; [.3F9C.0020.0002.1327A] # EGYPTIAN HIEROGLYPH O028
+1327B ; [.3F9D.0020.0002.1327B] # EGYPTIAN HIEROGLYPH O029
+1327C ; [.3F9E.0020.0002.1327C] # EGYPTIAN HIEROGLYPH O029A
+1327D ; [.3F9F.0020.0002.1327D] # EGYPTIAN HIEROGLYPH O030
+1327E ; [.3FA0.0020.0002.1327E] # EGYPTIAN HIEROGLYPH O030A
+1327F ; [.3FA1.0020.0002.1327F] # EGYPTIAN HIEROGLYPH O031
+13280 ; [.3FA2.0020.0002.13280] # EGYPTIAN HIEROGLYPH O032
+13281 ; [.3FA3.0020.0002.13281] # EGYPTIAN HIEROGLYPH O033
+13282 ; [.3FA4.0020.0002.13282] # EGYPTIAN HIEROGLYPH O033A
+13283 ; [.3FA5.0020.0002.13283] # EGYPTIAN HIEROGLYPH O034
+13284 ; [.3FA6.0020.0002.13284] # EGYPTIAN HIEROGLYPH O035
+13285 ; [.3FA7.0020.0002.13285] # EGYPTIAN HIEROGLYPH O036
+13286 ; [.3FA8.0020.0002.13286] # EGYPTIAN HIEROGLYPH O036A
+13287 ; [.3FA9.0020.0002.13287] # EGYPTIAN HIEROGLYPH O036B
+13288 ; [.3FAA.0020.0002.13288] # EGYPTIAN HIEROGLYPH O036C
+13289 ; [.3FAB.0020.0002.13289] # EGYPTIAN HIEROGLYPH O036D
+1328A ; [.3FAC.0020.0002.1328A] # EGYPTIAN HIEROGLYPH O037
+1328B ; [.3FAD.0020.0002.1328B] # EGYPTIAN HIEROGLYPH O038
+1328C ; [.3FAE.0020.0002.1328C] # EGYPTIAN HIEROGLYPH O039
+1328D ; [.3FAF.0020.0002.1328D] # EGYPTIAN HIEROGLYPH O040
+1328E ; [.3FB0.0020.0002.1328E] # EGYPTIAN HIEROGLYPH O041
+1328F ; [.3FB1.0020.0002.1328F] # EGYPTIAN HIEROGLYPH O042
+13290 ; [.3FB2.0020.0002.13290] # EGYPTIAN HIEROGLYPH O043
+13291 ; [.3FB3.0020.0002.13291] # EGYPTIAN HIEROGLYPH O044
+13292 ; [.3FB4.0020.0002.13292] # EGYPTIAN HIEROGLYPH O045
+13293 ; [.3FB5.0020.0002.13293] # EGYPTIAN HIEROGLYPH O046
+13294 ; [.3FB6.0020.0002.13294] # EGYPTIAN HIEROGLYPH O047
+13295 ; [.3FB7.0020.0002.13295] # EGYPTIAN HIEROGLYPH O048
+13296 ; [.3FB8.0020.0002.13296] # EGYPTIAN HIEROGLYPH O049
+13297 ; [.3FB9.0020.0002.13297] # EGYPTIAN HIEROGLYPH O050
+13298 ; [.3FBA.0020.0002.13298] # EGYPTIAN HIEROGLYPH O050A
+13299 ; [.3FBB.0020.0002.13299] # EGYPTIAN HIEROGLYPH O050B
+1329A ; [.3FBC.0020.0002.1329A] # EGYPTIAN HIEROGLYPH O051
+1329B ; [.3FBD.0020.0002.1329B] # EGYPTIAN HIEROGLYPH P001
+1329C ; [.3FBE.0020.0002.1329C] # EGYPTIAN HIEROGLYPH P001A
+1329D ; [.3FBF.0020.0002.1329D] # EGYPTIAN HIEROGLYPH P002
+1329E ; [.3FC0.0020.0002.1329E] # EGYPTIAN HIEROGLYPH P003
+1329F ; [.3FC1.0020.0002.1329F] # EGYPTIAN HIEROGLYPH P003A
+132A0 ; [.3FC2.0020.0002.132A0] # EGYPTIAN HIEROGLYPH P004
+132A1 ; [.3FC3.0020.0002.132A1] # EGYPTIAN HIEROGLYPH P005
+132A2 ; [.3FC4.0020.0002.132A2] # EGYPTIAN HIEROGLYPH P006
+132A3 ; [.3FC5.0020.0002.132A3] # EGYPTIAN HIEROGLYPH P007
+132A4 ; [.3FC6.0020.0002.132A4] # EGYPTIAN HIEROGLYPH P008
+132A5 ; [.3FC7.0020.0002.132A5] # EGYPTIAN HIEROGLYPH P009
+132A6 ; [.3FC8.0020.0002.132A6] # EGYPTIAN HIEROGLYPH P010
+132A7 ; [.3FC9.0020.0002.132A7] # EGYPTIAN HIEROGLYPH P011
+132A8 ; [.3FCA.0020.0002.132A8] # EGYPTIAN HIEROGLYPH Q001
+132A9 ; [.3FCB.0020.0002.132A9] # EGYPTIAN HIEROGLYPH Q002
+132AA ; [.3FCC.0020.0002.132AA] # EGYPTIAN HIEROGLYPH Q003
+132AB ; [.3FCD.0020.0002.132AB] # EGYPTIAN HIEROGLYPH Q004
+132AC ; [.3FCE.0020.0002.132AC] # EGYPTIAN HIEROGLYPH Q005
+132AD ; [.3FCF.0020.0002.132AD] # EGYPTIAN HIEROGLYPH Q006
+132AE ; [.3FD0.0020.0002.132AE] # EGYPTIAN HIEROGLYPH Q007
+132AF ; [.3FD1.0020.0002.132AF] # EGYPTIAN HIEROGLYPH R001
+132B0 ; [.3FD2.0020.0002.132B0] # EGYPTIAN HIEROGLYPH R002
+132B1 ; [.3FD3.0020.0002.132B1] # EGYPTIAN HIEROGLYPH R002A
+132B2 ; [.3FD4.0020.0002.132B2] # EGYPTIAN HIEROGLYPH R003
+132B3 ; [.3FD5.0020.0002.132B3] # EGYPTIAN HIEROGLYPH R003A
+132B4 ; [.3FD6.0020.0002.132B4] # EGYPTIAN HIEROGLYPH R003B
+132B5 ; [.3FD7.0020.0002.132B5] # EGYPTIAN HIEROGLYPH R004
+132B6 ; [.3FD8.0020.0002.132B6] # EGYPTIAN HIEROGLYPH R005
+132B7 ; [.3FD9.0020.0002.132B7] # EGYPTIAN HIEROGLYPH R006
+132B8 ; [.3FDA.0020.0002.132B8] # EGYPTIAN HIEROGLYPH R007
+132B9 ; [.3FDB.0020.0002.132B9] # EGYPTIAN HIEROGLYPH R008
+132BA ; [.3FDC.0020.0002.132BA] # EGYPTIAN HIEROGLYPH R009
+132BB ; [.3FDD.0020.0002.132BB] # EGYPTIAN HIEROGLYPH R010
+132BC ; [.3FDE.0020.0002.132BC] # EGYPTIAN HIEROGLYPH R010A
+132BD ; [.3FDF.0020.0002.132BD] # EGYPTIAN HIEROGLYPH R011
+132BE ; [.3FE0.0020.0002.132BE] # EGYPTIAN HIEROGLYPH R012
+132BF ; [.3FE1.0020.0002.132BF] # EGYPTIAN HIEROGLYPH R013
+132C0 ; [.3FE2.0020.0002.132C0] # EGYPTIAN HIEROGLYPH R014
+132C1 ; [.3FE3.0020.0002.132C1] # EGYPTIAN HIEROGLYPH R015
+132C2 ; [.3FE4.0020.0002.132C2] # EGYPTIAN HIEROGLYPH R016
+132C3 ; [.3FE5.0020.0002.132C3] # EGYPTIAN HIEROGLYPH R016A
+132C4 ; [.3FE6.0020.0002.132C4] # EGYPTIAN HIEROGLYPH R017
+132C5 ; [.3FE7.0020.0002.132C5] # EGYPTIAN HIEROGLYPH R018
+132C6 ; [.3FE8.0020.0002.132C6] # EGYPTIAN HIEROGLYPH R019
+132C7 ; [.3FE9.0020.0002.132C7] # EGYPTIAN HIEROGLYPH R020
+132C8 ; [.3FEA.0020.0002.132C8] # EGYPTIAN HIEROGLYPH R021
+132C9 ; [.3FEB.0020.0002.132C9] # EGYPTIAN HIEROGLYPH R022
+132CA ; [.3FEC.0020.0002.132CA] # EGYPTIAN HIEROGLYPH R023
+132CB ; [.3FED.0020.0002.132CB] # EGYPTIAN HIEROGLYPH R024
+132CC ; [.3FEE.0020.0002.132CC] # EGYPTIAN HIEROGLYPH R025
+132CD ; [.3FEF.0020.0002.132CD] # EGYPTIAN HIEROGLYPH R026
+132CE ; [.3FF0.0020.0002.132CE] # EGYPTIAN HIEROGLYPH R027
+132CF ; [.3FF1.0020.0002.132CF] # EGYPTIAN HIEROGLYPH R028
+132D0 ; [.3FF2.0020.0002.132D0] # EGYPTIAN HIEROGLYPH R029
+132D1 ; [.3FF3.0020.0002.132D1] # EGYPTIAN HIEROGLYPH S001
+132D2 ; [.3FF4.0020.0002.132D2] # EGYPTIAN HIEROGLYPH S002
+132D3 ; [.3FF5.0020.0002.132D3] # EGYPTIAN HIEROGLYPH S002A
+132D4 ; [.3FF6.0020.0002.132D4] # EGYPTIAN HIEROGLYPH S003
+132D5 ; [.3FF7.0020.0002.132D5] # EGYPTIAN HIEROGLYPH S004
+132D6 ; [.3FF8.0020.0002.132D6] # EGYPTIAN HIEROGLYPH S005
+132D7 ; [.3FF9.0020.0002.132D7] # EGYPTIAN HIEROGLYPH S006
+132D8 ; [.3FFA.0020.0002.132D8] # EGYPTIAN HIEROGLYPH S006A
+132D9 ; [.3FFB.0020.0002.132D9] # EGYPTIAN HIEROGLYPH S007
+132DA ; [.3FFC.0020.0002.132DA] # EGYPTIAN HIEROGLYPH S008
+132DB ; [.3FFD.0020.0002.132DB] # EGYPTIAN HIEROGLYPH S009
+132DC ; [.3FFE.0020.0002.132DC] # EGYPTIAN HIEROGLYPH S010
+132DD ; [.3FFF.0020.0002.132DD] # EGYPTIAN HIEROGLYPH S011
+132DE ; [.4000.0020.0002.132DE] # EGYPTIAN HIEROGLYPH S012
+132DF ; [.4001.0020.0002.132DF] # EGYPTIAN HIEROGLYPH S013
+132E0 ; [.4002.0020.0002.132E0] # EGYPTIAN HIEROGLYPH S014
+132E1 ; [.4003.0020.0002.132E1] # EGYPTIAN HIEROGLYPH S014A
+132E2 ; [.4004.0020.0002.132E2] # EGYPTIAN HIEROGLYPH S014B
+132E3 ; [.4005.0020.0002.132E3] # EGYPTIAN HIEROGLYPH S015
+132E4 ; [.4006.0020.0002.132E4] # EGYPTIAN HIEROGLYPH S016
+132E5 ; [.4007.0020.0002.132E5] # EGYPTIAN HIEROGLYPH S017
+132E6 ; [.4008.0020.0002.132E6] # EGYPTIAN HIEROGLYPH S017A
+132E7 ; [.4009.0020.0002.132E7] # EGYPTIAN HIEROGLYPH S018
+132E8 ; [.400A.0020.0002.132E8] # EGYPTIAN HIEROGLYPH S019
+132E9 ; [.400B.0020.0002.132E9] # EGYPTIAN HIEROGLYPH S020
+132EA ; [.400C.0020.0002.132EA] # EGYPTIAN HIEROGLYPH S021
+132EB ; [.400D.0020.0002.132EB] # EGYPTIAN HIEROGLYPH S022
+132EC ; [.400E.0020.0002.132EC] # EGYPTIAN HIEROGLYPH S023
+132ED ; [.400F.0020.0002.132ED] # EGYPTIAN HIEROGLYPH S024
+132EE ; [.4010.0020.0002.132EE] # EGYPTIAN HIEROGLYPH S025
+132EF ; [.4011.0020.0002.132EF] # EGYPTIAN HIEROGLYPH S026
+132F0 ; [.4012.0020.0002.132F0] # EGYPTIAN HIEROGLYPH S026A
+132F1 ; [.4013.0020.0002.132F1] # EGYPTIAN HIEROGLYPH S026B
+132F2 ; [.4014.0020.0002.132F2] # EGYPTIAN HIEROGLYPH S027
+132F3 ; [.4015.0020.0002.132F3] # EGYPTIAN HIEROGLYPH S028
+132F4 ; [.4016.0020.0002.132F4] # EGYPTIAN HIEROGLYPH S029
+132F5 ; [.4017.0020.0002.132F5] # EGYPTIAN HIEROGLYPH S030
+132F6 ; [.4018.0020.0002.132F6] # EGYPTIAN HIEROGLYPH S031
+132F7 ; [.4019.0020.0002.132F7] # EGYPTIAN HIEROGLYPH S032
+132F8 ; [.401A.0020.0002.132F8] # EGYPTIAN HIEROGLYPH S033
+132F9 ; [.401B.0020.0002.132F9] # EGYPTIAN HIEROGLYPH S034
+132FA ; [.401C.0020.0002.132FA] # EGYPTIAN HIEROGLYPH S035
+132FB ; [.401D.0020.0002.132FB] # EGYPTIAN HIEROGLYPH S035A
+132FC ; [.401E.0020.0002.132FC] # EGYPTIAN HIEROGLYPH S036
+132FD ; [.401F.0020.0002.132FD] # EGYPTIAN HIEROGLYPH S037
+132FE ; [.4020.0020.0002.132FE] # EGYPTIAN HIEROGLYPH S038
+132FF ; [.4021.0020.0002.132FF] # EGYPTIAN HIEROGLYPH S039
+13300 ; [.4022.0020.0002.13300] # EGYPTIAN HIEROGLYPH S040
+13301 ; [.4023.0020.0002.13301] # EGYPTIAN HIEROGLYPH S041
+13302 ; [.4024.0020.0002.13302] # EGYPTIAN HIEROGLYPH S042
+13303 ; [.4025.0020.0002.13303] # EGYPTIAN HIEROGLYPH S043
+13304 ; [.4026.0020.0002.13304] # EGYPTIAN HIEROGLYPH S044
+13305 ; [.4027.0020.0002.13305] # EGYPTIAN HIEROGLYPH S045
+13306 ; [.4028.0020.0002.13306] # EGYPTIAN HIEROGLYPH S046
+13307 ; [.4029.0020.0002.13307] # EGYPTIAN HIEROGLYPH T001
+13308 ; [.402A.0020.0002.13308] # EGYPTIAN HIEROGLYPH T002
+13309 ; [.402B.0020.0002.13309] # EGYPTIAN HIEROGLYPH T003
+1330A ; [.402C.0020.0002.1330A] # EGYPTIAN HIEROGLYPH T003A
+1330B ; [.402D.0020.0002.1330B] # EGYPTIAN HIEROGLYPH T004
+1330C ; [.402E.0020.0002.1330C] # EGYPTIAN HIEROGLYPH T005
+1330D ; [.402F.0020.0002.1330D] # EGYPTIAN HIEROGLYPH T006
+1330E ; [.4030.0020.0002.1330E] # EGYPTIAN HIEROGLYPH T007
+1330F ; [.4031.0020.0002.1330F] # EGYPTIAN HIEROGLYPH T007A
+13310 ; [.4032.0020.0002.13310] # EGYPTIAN HIEROGLYPH T008
+13311 ; [.4033.0020.0002.13311] # EGYPTIAN HIEROGLYPH T008A
+13312 ; [.4034.0020.0002.13312] # EGYPTIAN HIEROGLYPH T009
+13313 ; [.4035.0020.0002.13313] # EGYPTIAN HIEROGLYPH T009A
+13314 ; [.4036.0020.0002.13314] # EGYPTIAN HIEROGLYPH T010
+13315 ; [.4037.0020.0002.13315] # EGYPTIAN HIEROGLYPH T011
+13316 ; [.4038.0020.0002.13316] # EGYPTIAN HIEROGLYPH T011A
+13317 ; [.4039.0020.0002.13317] # EGYPTIAN HIEROGLYPH T012
+13318 ; [.403A.0020.0002.13318] # EGYPTIAN HIEROGLYPH T013
+13319 ; [.403B.0020.0002.13319] # EGYPTIAN HIEROGLYPH T014
+1331A ; [.403C.0020.0002.1331A] # EGYPTIAN HIEROGLYPH T015
+1331B ; [.403D.0020.0002.1331B] # EGYPTIAN HIEROGLYPH T016
+1331C ; [.403E.0020.0002.1331C] # EGYPTIAN HIEROGLYPH T016A
+1331D ; [.403F.0020.0002.1331D] # EGYPTIAN HIEROGLYPH T017
+1331E ; [.4040.0020.0002.1331E] # EGYPTIAN HIEROGLYPH T018
+1331F ; [.4041.0020.0002.1331F] # EGYPTIAN HIEROGLYPH T019
+13320 ; [.4042.0020.0002.13320] # EGYPTIAN HIEROGLYPH T020
+13321 ; [.4043.0020.0002.13321] # EGYPTIAN HIEROGLYPH T021
+13322 ; [.4044.0020.0002.13322] # EGYPTIAN HIEROGLYPH T022
+13323 ; [.4045.0020.0002.13323] # EGYPTIAN HIEROGLYPH T023
+13324 ; [.4046.0020.0002.13324] # EGYPTIAN HIEROGLYPH T024
+13325 ; [.4047.0020.0002.13325] # EGYPTIAN HIEROGLYPH T025
+13326 ; [.4048.0020.0002.13326] # EGYPTIAN HIEROGLYPH T026
+13327 ; [.4049.0020.0002.13327] # EGYPTIAN HIEROGLYPH T027
+13328 ; [.404A.0020.0002.13328] # EGYPTIAN HIEROGLYPH T028
+13329 ; [.404B.0020.0002.13329] # EGYPTIAN HIEROGLYPH T029
+1332A ; [.404C.0020.0002.1332A] # EGYPTIAN HIEROGLYPH T030
+1332B ; [.404D.0020.0002.1332B] # EGYPTIAN HIEROGLYPH T031
+1332C ; [.404E.0020.0002.1332C] # EGYPTIAN HIEROGLYPH T032
+1332D ; [.404F.0020.0002.1332D] # EGYPTIAN HIEROGLYPH T032A
+1332E ; [.4050.0020.0002.1332E] # EGYPTIAN HIEROGLYPH T033
+1332F ; [.4051.0020.0002.1332F] # EGYPTIAN HIEROGLYPH T033A
+13330 ; [.4052.0020.0002.13330] # EGYPTIAN HIEROGLYPH T034
+13331 ; [.4053.0020.0002.13331] # EGYPTIAN HIEROGLYPH T035
+13332 ; [.4054.0020.0002.13332] # EGYPTIAN HIEROGLYPH T036
+13333 ; [.4055.0020.0002.13333] # EGYPTIAN HIEROGLYPH U001
+13334 ; [.4056.0020.0002.13334] # EGYPTIAN HIEROGLYPH U002
+13335 ; [.4057.0020.0002.13335] # EGYPTIAN HIEROGLYPH U003
+13336 ; [.4058.0020.0002.13336] # EGYPTIAN HIEROGLYPH U004
+13337 ; [.4059.0020.0002.13337] # EGYPTIAN HIEROGLYPH U005
+13338 ; [.405A.0020.0002.13338] # EGYPTIAN HIEROGLYPH U006
+13339 ; [.405B.0020.0002.13339] # EGYPTIAN HIEROGLYPH U006A
+1333A ; [.405C.0020.0002.1333A] # EGYPTIAN HIEROGLYPH U006B
+1333B ; [.405D.0020.0002.1333B] # EGYPTIAN HIEROGLYPH U007
+1333C ; [.405E.0020.0002.1333C] # EGYPTIAN HIEROGLYPH U008
+1333D ; [.405F.0020.0002.1333D] # EGYPTIAN HIEROGLYPH U009
+1333E ; [.4060.0020.0002.1333E] # EGYPTIAN HIEROGLYPH U010
+1333F ; [.4061.0020.0002.1333F] # EGYPTIAN HIEROGLYPH U011
+13340 ; [.4062.0020.0002.13340] # EGYPTIAN HIEROGLYPH U012
+13341 ; [.4063.0020.0002.13341] # EGYPTIAN HIEROGLYPH U013
+13342 ; [.4064.0020.0002.13342] # EGYPTIAN HIEROGLYPH U014
+13343 ; [.4065.0020.0002.13343] # EGYPTIAN HIEROGLYPH U015
+13344 ; [.4066.0020.0002.13344] # EGYPTIAN HIEROGLYPH U016
+13345 ; [.4067.0020.0002.13345] # EGYPTIAN HIEROGLYPH U017
+13346 ; [.4068.0020.0002.13346] # EGYPTIAN HIEROGLYPH U018
+13347 ; [.4069.0020.0002.13347] # EGYPTIAN HIEROGLYPH U019
+13348 ; [.406A.0020.0002.13348] # EGYPTIAN HIEROGLYPH U020
+13349 ; [.406B.0020.0002.13349] # EGYPTIAN HIEROGLYPH U021
+1334A ; [.406C.0020.0002.1334A] # EGYPTIAN HIEROGLYPH U022
+1334B ; [.406D.0020.0002.1334B] # EGYPTIAN HIEROGLYPH U023
+1334C ; [.406E.0020.0002.1334C] # EGYPTIAN HIEROGLYPH U023A
+1334D ; [.406F.0020.0002.1334D] # EGYPTIAN HIEROGLYPH U024
+1334E ; [.4070.0020.0002.1334E] # EGYPTIAN HIEROGLYPH U025
+1334F ; [.4071.0020.0002.1334F] # EGYPTIAN HIEROGLYPH U026
+13350 ; [.4072.0020.0002.13350] # EGYPTIAN HIEROGLYPH U027
+13351 ; [.4073.0020.0002.13351] # EGYPTIAN HIEROGLYPH U028
+13352 ; [.4074.0020.0002.13352] # EGYPTIAN HIEROGLYPH U029
+13353 ; [.4075.0020.0002.13353] # EGYPTIAN HIEROGLYPH U029A
+13354 ; [.4076.0020.0002.13354] # EGYPTIAN HIEROGLYPH U030
+13355 ; [.4077.0020.0002.13355] # EGYPTIAN HIEROGLYPH U031
+13356 ; [.4078.0020.0002.13356] # EGYPTIAN HIEROGLYPH U032
+13357 ; [.4079.0020.0002.13357] # EGYPTIAN HIEROGLYPH U032A
+13358 ; [.407A.0020.0002.13358] # EGYPTIAN HIEROGLYPH U033
+13359 ; [.407B.0020.0002.13359] # EGYPTIAN HIEROGLYPH U034
+1335A ; [.407C.0020.0002.1335A] # EGYPTIAN HIEROGLYPH U035
+1335B ; [.407D.0020.0002.1335B] # EGYPTIAN HIEROGLYPH U036
+1335C ; [.407E.0020.0002.1335C] # EGYPTIAN HIEROGLYPH U037
+1335D ; [.407F.0020.0002.1335D] # EGYPTIAN HIEROGLYPH U038
+1335E ; [.4080.0020.0002.1335E] # EGYPTIAN HIEROGLYPH U039
+1335F ; [.4081.0020.0002.1335F] # EGYPTIAN HIEROGLYPH U040
+13360 ; [.4082.0020.0002.13360] # EGYPTIAN HIEROGLYPH U041
+13361 ; [.4083.0020.0002.13361] # EGYPTIAN HIEROGLYPH U042
+13362 ; [.4084.0020.0002.13362] # EGYPTIAN HIEROGLYPH V001
+13363 ; [.4085.0020.0002.13363] # EGYPTIAN HIEROGLYPH V001A
+13364 ; [.4086.0020.0002.13364] # EGYPTIAN HIEROGLYPH V001B
+13365 ; [.4087.0020.0002.13365] # EGYPTIAN HIEROGLYPH V001C
+13366 ; [.4088.0020.0002.13366] # EGYPTIAN HIEROGLYPH V001D
+13367 ; [.4089.0020.0002.13367] # EGYPTIAN HIEROGLYPH V001E
+13368 ; [.408A.0020.0002.13368] # EGYPTIAN HIEROGLYPH V001F
+13369 ; [.408B.0020.0002.13369] # EGYPTIAN HIEROGLYPH V001G
+1336A ; [.408C.0020.0002.1336A] # EGYPTIAN HIEROGLYPH V001H
+1336B ; [.408D.0020.0002.1336B] # EGYPTIAN HIEROGLYPH V001I
+1336C ; [.408E.0020.0002.1336C] # EGYPTIAN HIEROGLYPH V002
+1336D ; [.408F.0020.0002.1336D] # EGYPTIAN HIEROGLYPH V002A
+1336E ; [.4090.0020.0002.1336E] # EGYPTIAN HIEROGLYPH V003
+1336F ; [.4091.0020.0002.1336F] # EGYPTIAN HIEROGLYPH V004
+13370 ; [.4092.0020.0002.13370] # EGYPTIAN HIEROGLYPH V005
+13371 ; [.4093.0020.0002.13371] # EGYPTIAN HIEROGLYPH V006
+13372 ; [.4094.0020.0002.13372] # EGYPTIAN HIEROGLYPH V007
+13373 ; [.4095.0020.0002.13373] # EGYPTIAN HIEROGLYPH V007A
+13374 ; [.4096.0020.0002.13374] # EGYPTIAN HIEROGLYPH V007B
+13375 ; [.4097.0020.0002.13375] # EGYPTIAN HIEROGLYPH V008
+13376 ; [.4098.0020.0002.13376] # EGYPTIAN HIEROGLYPH V009
+13377 ; [.4099.0020.0002.13377] # EGYPTIAN HIEROGLYPH V010
+13378 ; [.409A.0020.0002.13378] # EGYPTIAN HIEROGLYPH V011
+13379 ; [.409B.0020.0002.13379] # EGYPTIAN HIEROGLYPH V011A
+1337A ; [.409C.0020.0002.1337A] # EGYPTIAN HIEROGLYPH V011B
+1337B ; [.409D.0020.0002.1337B] # EGYPTIAN HIEROGLYPH V011C
+1337C ; [.409E.0020.0002.1337C] # EGYPTIAN HIEROGLYPH V012
+1337D ; [.409F.0020.0002.1337D] # EGYPTIAN HIEROGLYPH V012A
+1337E ; [.40A0.0020.0002.1337E] # EGYPTIAN HIEROGLYPH V012B
+1337F ; [.40A1.0020.0002.1337F] # EGYPTIAN HIEROGLYPH V013
+13380 ; [.40A2.0020.0002.13380] # EGYPTIAN HIEROGLYPH V014
+13381 ; [.40A3.0020.0002.13381] # EGYPTIAN HIEROGLYPH V015
+13382 ; [.40A4.0020.0002.13382] # EGYPTIAN HIEROGLYPH V016
+13383 ; [.40A5.0020.0002.13383] # EGYPTIAN HIEROGLYPH V017
+13384 ; [.40A6.0020.0002.13384] # EGYPTIAN HIEROGLYPH V018
+13385 ; [.40A7.0020.0002.13385] # EGYPTIAN HIEROGLYPH V019
+13386 ; [.40A8.0020.0002.13386] # EGYPTIAN HIEROGLYPH V020
+13387 ; [.40A9.0020.0002.13387] # EGYPTIAN HIEROGLYPH V020A
+13388 ; [.40AA.0020.0002.13388] # EGYPTIAN HIEROGLYPH V020B
+13389 ; [.40AB.0020.0002.13389] # EGYPTIAN HIEROGLYPH V020C
+1338A ; [.40AC.0020.0002.1338A] # EGYPTIAN HIEROGLYPH V020D
+1338B ; [.40AD.0020.0002.1338B] # EGYPTIAN HIEROGLYPH V020E
+1338C ; [.40AE.0020.0002.1338C] # EGYPTIAN HIEROGLYPH V020F
+1338D ; [.40AF.0020.0002.1338D] # EGYPTIAN HIEROGLYPH V020G
+1338E ; [.40B0.0020.0002.1338E] # EGYPTIAN HIEROGLYPH V020H
+1338F ; [.40B1.0020.0002.1338F] # EGYPTIAN HIEROGLYPH V020I
+13390 ; [.40B2.0020.0002.13390] # EGYPTIAN HIEROGLYPH V020J
+13391 ; [.40B3.0020.0002.13391] # EGYPTIAN HIEROGLYPH V020K
+13392 ; [.40B4.0020.0002.13392] # EGYPTIAN HIEROGLYPH V020L
+13393 ; [.40B5.0020.0002.13393] # EGYPTIAN HIEROGLYPH V021
+13394 ; [.40B6.0020.0002.13394] # EGYPTIAN HIEROGLYPH V022
+13395 ; [.40B7.0020.0002.13395] # EGYPTIAN HIEROGLYPH V023
+13396 ; [.40B8.0020.0002.13396] # EGYPTIAN HIEROGLYPH V023A
+13397 ; [.40B9.0020.0002.13397] # EGYPTIAN HIEROGLYPH V024
+13398 ; [.40BA.0020.0002.13398] # EGYPTIAN HIEROGLYPH V025
+13399 ; [.40BB.0020.0002.13399] # EGYPTIAN HIEROGLYPH V026
+1339A ; [.40BC.0020.0002.1339A] # EGYPTIAN HIEROGLYPH V027
+1339B ; [.40BD.0020.0002.1339B] # EGYPTIAN HIEROGLYPH V028
+1339C ; [.40BE.0020.0002.1339C] # EGYPTIAN HIEROGLYPH V028A
+1339D ; [.40BF.0020.0002.1339D] # EGYPTIAN HIEROGLYPH V029
+1339E ; [.40C0.0020.0002.1339E] # EGYPTIAN HIEROGLYPH V029A
+1339F ; [.40C1.0020.0002.1339F] # EGYPTIAN HIEROGLYPH V030
+133A0 ; [.40C2.0020.0002.133A0] # EGYPTIAN HIEROGLYPH V030A
+133A1 ; [.40C3.0020.0002.133A1] # EGYPTIAN HIEROGLYPH V031
+133A2 ; [.40C4.0020.0002.133A2] # EGYPTIAN HIEROGLYPH V031A
+133A3 ; [.40C5.0020.0002.133A3] # EGYPTIAN HIEROGLYPH V032
+133A4 ; [.40C6.0020.0002.133A4] # EGYPTIAN HIEROGLYPH V033
+133A5 ; [.40C7.0020.0002.133A5] # EGYPTIAN HIEROGLYPH V033A
+133A6 ; [.40C8.0020.0002.133A6] # EGYPTIAN HIEROGLYPH V034
+133A7 ; [.40C9.0020.0002.133A7] # EGYPTIAN HIEROGLYPH V035
+133A8 ; [.40CA.0020.0002.133A8] # EGYPTIAN HIEROGLYPH V036
+133A9 ; [.40CB.0020.0002.133A9] # EGYPTIAN HIEROGLYPH V037
+133AA ; [.40CC.0020.0002.133AA] # EGYPTIAN HIEROGLYPH V037A
+133AB ; [.40CD.0020.0002.133AB] # EGYPTIAN HIEROGLYPH V038
+133AC ; [.40CE.0020.0002.133AC] # EGYPTIAN HIEROGLYPH V039
+133AD ; [.40CF.0020.0002.133AD] # EGYPTIAN HIEROGLYPH V040
+133AE ; [.40D0.0020.0002.133AE] # EGYPTIAN HIEROGLYPH V040A
+133AF ; [.40D1.0020.0002.133AF] # EGYPTIAN HIEROGLYPH W001
+133B0 ; [.40D2.0020.0002.133B0] # EGYPTIAN HIEROGLYPH W002
+133B1 ; [.40D3.0020.0002.133B1] # EGYPTIAN HIEROGLYPH W003
+133B2 ; [.40D4.0020.0002.133B2] # EGYPTIAN HIEROGLYPH W003A
+133B3 ; [.40D5.0020.0002.133B3] # EGYPTIAN HIEROGLYPH W004
+133B4 ; [.40D6.0020.0002.133B4] # EGYPTIAN HIEROGLYPH W005
+133B5 ; [.40D7.0020.0002.133B5] # EGYPTIAN HIEROGLYPH W006
+133B6 ; [.40D8.0020.0002.133B6] # EGYPTIAN HIEROGLYPH W007
+133B7 ; [.40D9.0020.0002.133B7] # EGYPTIAN HIEROGLYPH W008
+133B8 ; [.40DA.0020.0002.133B8] # EGYPTIAN HIEROGLYPH W009
+133B9 ; [.40DB.0020.0002.133B9] # EGYPTIAN HIEROGLYPH W009A
+133BA ; [.40DC.0020.0002.133BA] # EGYPTIAN HIEROGLYPH W010
+133BB ; [.40DD.0020.0002.133BB] # EGYPTIAN HIEROGLYPH W010A
+133BC ; [.40DE.0020.0002.133BC] # EGYPTIAN HIEROGLYPH W011
+133BD ; [.40DF.0020.0002.133BD] # EGYPTIAN HIEROGLYPH W012
+133BE ; [.40E0.0020.0002.133BE] # EGYPTIAN HIEROGLYPH W013
+133BF ; [.40E1.0020.0002.133BF] # EGYPTIAN HIEROGLYPH W014
+133C0 ; [.40E2.0020.0002.133C0] # EGYPTIAN HIEROGLYPH W014A
+133C1 ; [.40E3.0020.0002.133C1] # EGYPTIAN HIEROGLYPH W015
+133C2 ; [.40E4.0020.0002.133C2] # EGYPTIAN HIEROGLYPH W016
+133C3 ; [.40E5.0020.0002.133C3] # EGYPTIAN HIEROGLYPH W017
+133C4 ; [.40E6.0020.0002.133C4] # EGYPTIAN HIEROGLYPH W017A
+133C5 ; [.40E7.0020.0002.133C5] # EGYPTIAN HIEROGLYPH W018
+133C6 ; [.40E8.0020.0002.133C6] # EGYPTIAN HIEROGLYPH W018A
+133C7 ; [.40E9.0020.0002.133C7] # EGYPTIAN HIEROGLYPH W019
+133C8 ; [.40EA.0020.0002.133C8] # EGYPTIAN HIEROGLYPH W020
+133C9 ; [.40EB.0020.0002.133C9] # EGYPTIAN HIEROGLYPH W021
+133CA ; [.40EC.0020.0002.133CA] # EGYPTIAN HIEROGLYPH W022
+133CB ; [.40ED.0020.0002.133CB] # EGYPTIAN HIEROGLYPH W023
+133CC ; [.40EE.0020.0002.133CC] # EGYPTIAN HIEROGLYPH W024
+133CD ; [.40EF.0020.0002.133CD] # EGYPTIAN HIEROGLYPH W024A
+133CE ; [.40F0.0020.0002.133CE] # EGYPTIAN HIEROGLYPH W025
+133CF ; [.40F1.0020.0002.133CF] # EGYPTIAN HIEROGLYPH X001
+133D0 ; [.40F2.0020.0002.133D0] # EGYPTIAN HIEROGLYPH X002
+133D1 ; [.40F3.0020.0002.133D1] # EGYPTIAN HIEROGLYPH X003
+133D2 ; [.40F4.0020.0002.133D2] # EGYPTIAN HIEROGLYPH X004
+133D3 ; [.40F5.0020.0002.133D3] # EGYPTIAN HIEROGLYPH X004A
+133D4 ; [.40F6.0020.0002.133D4] # EGYPTIAN HIEROGLYPH X004B
+133D5 ; [.40F7.0020.0002.133D5] # EGYPTIAN HIEROGLYPH X005
+133D6 ; [.40F8.0020.0002.133D6] # EGYPTIAN HIEROGLYPH X006
+133D7 ; [.40F9.0020.0002.133D7] # EGYPTIAN HIEROGLYPH X006A
+133D8 ; [.40FA.0020.0002.133D8] # EGYPTIAN HIEROGLYPH X007
+133D9 ; [.40FB.0020.0002.133D9] # EGYPTIAN HIEROGLYPH X008
+133DA ; [.40FC.0020.0002.133DA] # EGYPTIAN HIEROGLYPH X008A
+133DB ; [.40FD.0020.0002.133DB] # EGYPTIAN HIEROGLYPH Y001
+133DC ; [.40FE.0020.0002.133DC] # EGYPTIAN HIEROGLYPH Y001A
+133DD ; [.40FF.0020.0002.133DD] # EGYPTIAN HIEROGLYPH Y002
+133DE ; [.4100.0020.0002.133DE] # EGYPTIAN HIEROGLYPH Y003
+133DF ; [.4101.0020.0002.133DF] # EGYPTIAN HIEROGLYPH Y004
+133E0 ; [.4102.0020.0002.133E0] # EGYPTIAN HIEROGLYPH Y005
+133E1 ; [.4103.0020.0002.133E1] # EGYPTIAN HIEROGLYPH Y006
+133E2 ; [.4104.0020.0002.133E2] # EGYPTIAN HIEROGLYPH Y007
+133E3 ; [.4105.0020.0002.133E3] # EGYPTIAN HIEROGLYPH Y008
+133E4 ; [.4106.0020.0002.133E4] # EGYPTIAN HIEROGLYPH Z001
+133E5 ; [.4107.0020.0002.133E5] # EGYPTIAN HIEROGLYPH Z002
+133E6 ; [.4108.0020.0002.133E6] # EGYPTIAN HIEROGLYPH Z002A
+133E7 ; [.4109.0020.0002.133E7] # EGYPTIAN HIEROGLYPH Z002B
+133E8 ; [.410A.0020.0002.133E8] # EGYPTIAN HIEROGLYPH Z002C
+133E9 ; [.410B.0020.0002.133E9] # EGYPTIAN HIEROGLYPH Z002D
+133EA ; [.410C.0020.0002.133EA] # EGYPTIAN HIEROGLYPH Z003
+133EB ; [.410D.0020.0002.133EB] # EGYPTIAN HIEROGLYPH Z003A
+133EC ; [.410E.0020.0002.133EC] # EGYPTIAN HIEROGLYPH Z003B
+133ED ; [.410F.0020.0002.133ED] # EGYPTIAN HIEROGLYPH Z004
+133EE ; [.4110.0020.0002.133EE] # EGYPTIAN HIEROGLYPH Z004A
+133EF ; [.4111.0020.0002.133EF] # EGYPTIAN HIEROGLYPH Z005
+133F0 ; [.4112.0020.0002.133F0] # EGYPTIAN HIEROGLYPH Z005A
+133F1 ; [.4113.0020.0002.133F1] # EGYPTIAN HIEROGLYPH Z006
+133F2 ; [.4114.0020.0002.133F2] # EGYPTIAN HIEROGLYPH Z007
+133F3 ; [.4115.0020.0002.133F3] # EGYPTIAN HIEROGLYPH Z008
+133F4 ; [.4116.0020.0002.133F4] # EGYPTIAN HIEROGLYPH Z009
+133F5 ; [.4117.0020.0002.133F5] # EGYPTIAN HIEROGLYPH Z010
+133F6 ; [.4118.0020.0002.133F6] # EGYPTIAN HIEROGLYPH Z011
+133F7 ; [.4119.0020.0002.133F7] # EGYPTIAN HIEROGLYPH Z012
+133F8 ; [.411A.0020.0002.133F8] # EGYPTIAN HIEROGLYPH Z013
+133F9 ; [.411B.0020.0002.133F9] # EGYPTIAN HIEROGLYPH Z014
+133FA ; [.411C.0020.0002.133FA] # EGYPTIAN HIEROGLYPH Z015
+133FB ; [.411D.0020.0002.133FB] # EGYPTIAN HIEROGLYPH Z015A
+133FC ; [.411E.0020.0002.133FC] # EGYPTIAN HIEROGLYPH Z015B
+133FD ; [.411F.0020.0002.133FD] # EGYPTIAN HIEROGLYPH Z015C
+133FE ; [.4120.0020.0002.133FE] # EGYPTIAN HIEROGLYPH Z015D
+133FF ; [.4121.0020.0002.133FF] # EGYPTIAN HIEROGLYPH Z015E
+13400 ; [.4122.0020.0002.13400] # EGYPTIAN HIEROGLYPH Z015F
+13401 ; [.4123.0020.0002.13401] # EGYPTIAN HIEROGLYPH Z015G
+13402 ; [.4124.0020.0002.13402] # EGYPTIAN HIEROGLYPH Z015H
+13403 ; [.4125.0020.0002.13403] # EGYPTIAN HIEROGLYPH Z015I
+13404 ; [.4126.0020.0002.13404] # EGYPTIAN HIEROGLYPH Z016
+13405 ; [.4127.0020.0002.13405] # EGYPTIAN HIEROGLYPH Z016A
+13406 ; [.4128.0020.0002.13406] # EGYPTIAN HIEROGLYPH Z016B
+13407 ; [.4129.0020.0002.13407] # EGYPTIAN HIEROGLYPH Z016C
+13408 ; [.412A.0020.0002.13408] # EGYPTIAN HIEROGLYPH Z016D
+13409 ; [.412B.0020.0002.13409] # EGYPTIAN HIEROGLYPH Z016E
+1340A ; [.412C.0020.0002.1340A] # EGYPTIAN HIEROGLYPH Z016F
+1340B ; [.412D.0020.0002.1340B] # EGYPTIAN HIEROGLYPH Z016G
+1340C ; [.412E.0020.0002.1340C] # EGYPTIAN HIEROGLYPH Z016H
+1340D ; [.412F.0020.0002.1340D] # EGYPTIAN HIEROGLYPH AA001
+1340E ; [.4130.0020.0002.1340E] # EGYPTIAN HIEROGLYPH AA002
+1340F ; [.4131.0020.0002.1340F] # EGYPTIAN HIEROGLYPH AA003
+13410 ; [.4132.0020.0002.13410] # EGYPTIAN HIEROGLYPH AA004
+13411 ; [.4133.0020.0002.13411] # EGYPTIAN HIEROGLYPH AA005
+13412 ; [.4134.0020.0002.13412] # EGYPTIAN HIEROGLYPH AA006
+13413 ; [.4135.0020.0002.13413] # EGYPTIAN HIEROGLYPH AA007
+13414 ; [.4136.0020.0002.13414] # EGYPTIAN HIEROGLYPH AA007A
+13415 ; [.4137.0020.0002.13415] # EGYPTIAN HIEROGLYPH AA007B
+13416 ; [.4138.0020.0002.13416] # EGYPTIAN HIEROGLYPH AA008
+13417 ; [.4139.0020.0002.13417] # EGYPTIAN HIEROGLYPH AA009
+13418 ; [.413A.0020.0002.13418] # EGYPTIAN HIEROGLYPH AA010
+13419 ; [.413B.0020.0002.13419] # EGYPTIAN HIEROGLYPH AA011
+1341A ; [.413C.0020.0002.1341A] # EGYPTIAN HIEROGLYPH AA012
+1341B ; [.413D.0020.0002.1341B] # EGYPTIAN HIEROGLYPH AA013
+1341C ; [.413E.0020.0002.1341C] # EGYPTIAN HIEROGLYPH AA014
+1341D ; [.413F.0020.0002.1341D] # EGYPTIAN HIEROGLYPH AA015
+1341E ; [.4140.0020.0002.1341E] # EGYPTIAN HIEROGLYPH AA016
+1341F ; [.4141.0020.0002.1341F] # EGYPTIAN HIEROGLYPH AA017
+13420 ; [.4142.0020.0002.13420] # EGYPTIAN HIEROGLYPH AA018
+13421 ; [.4143.0020.0002.13421] # EGYPTIAN HIEROGLYPH AA019
+13422 ; [.4144.0020.0002.13422] # EGYPTIAN HIEROGLYPH AA020
+13423 ; [.4145.0020.0002.13423] # EGYPTIAN HIEROGLYPH AA021
+13424 ; [.4146.0020.0002.13424] # EGYPTIAN HIEROGLYPH AA022
+13425 ; [.4147.0020.0002.13425] # EGYPTIAN HIEROGLYPH AA023
+13426 ; [.4148.0020.0002.13426] # EGYPTIAN HIEROGLYPH AA024
+13427 ; [.4149.0020.0002.13427] # EGYPTIAN HIEROGLYPH AA025
+13428 ; [.414A.0020.0002.13428] # EGYPTIAN HIEROGLYPH AA026
+13429 ; [.414B.0020.0002.13429] # EGYPTIAN HIEROGLYPH AA027
+1342A ; [.414C.0020.0002.1342A] # EGYPTIAN HIEROGLYPH AA028
+1342B ; [.414D.0020.0002.1342B] # EGYPTIAN HIEROGLYPH AA029
+1342C ; [.414E.0020.0002.1342C] # EGYPTIAN HIEROGLYPH AA030
+1342D ; [.414F.0020.0002.1342D] # EGYPTIAN HIEROGLYPH AA031
+1342E ; [.4150.0020.0002.1342E] # EGYPTIAN HIEROGLYPH AA032
2F00 ; [.FB40.0020.0004.4E00][.CE00.0000.0000.4E00] # KANGXI RADICAL ONE; QQK
-3220 ; [*02B1.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*02B2.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE; QQKN
+3220 ; [*030E.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*030F.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE; QQKN
3280 ; [.FB40.0020.0006.4E00][.CE00.0000.0000.4E00] # CIRCLED IDEOGRAPH ONE; QQK
3192 ; [.FB40.0020.0014.4E00][.CE00.0000.0000.4E00] # IDEOGRAPHIC ANNOTATION ONE MARK; QQK
+1F229 ; [.FB40.0020.001C.4E00][.CE00.0000.0000.4E00] # SQUARED CJK UNIFIED IDEOGRAPH-4E00; QQK
319C ; [.FB40.0020.0014.4E01][.CE01.0000.0000.4E01] # IDEOGRAPHIC ANNOTATION FOURTH MARK; QQK
-3226 ; [*02B1.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*02B2.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN; QQKN
+3226 ; [*030E.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*030F.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN; QQKN
3286 ; [.FB40.0020.0006.4E03][.CE03.0000.0000.4E03] # CIRCLED IDEOGRAPH SEVEN; QQK
-3222 ; [*02B1.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*02B2.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE; QQKN
+3222 ; [*030E.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*030F.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE; QQKN
+1F241 ; [*0356.0020.0004.1F241][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*0357.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09; QQKN
3282 ; [.FB40.0020.0006.4E09][.CE09.0000.0000.4E09] # CIRCLED IDEOGRAPH THREE; QQK
3194 ; [.FB40.0020.0014.4E09][.CE09.0000.0000.4E09] # IDEOGRAPHIC ANNOTATION THREE MARK; QQK
+1F22A ; [.FB40.0020.001C.4E09][.CE09.0000.0000.4E09] # SQUARED CJK UNIFIED IDEOGRAPH-4E09; QQK
32A4 ; [.FB40.0020.0006.4E0A][.CE0A.0000.0000.4E0A] # CIRCLED IDEOGRAPH HIGH; QQK
3196 ; [.FB40.0020.0014.4E0A][.CE0A.0000.0000.4E0A] # IDEOGRAPHIC ANNOTATION TOP MARK; QQK
32A6 ; [.FB40.0020.0006.4E0B][.CE0B.0000.0000.4E0B] # CIRCLED IDEOGRAPH LOW; QQK
@@ -16765,9 +22925,10 @@ FA70 ; [.FB40.0020.0002.4E26][.CE26.0000.0000.4E26] # CJK COMPATIBILITY IDEOGRA
2EA6 ; [.FB40.0020.0004.4E2C][.CE2C.0000.0000.4E2C] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK; QQK
32A5 ; [.FB40.0020.0006.4E2D][.CE2D.0000.0000.4E2D] # CIRCLED IDEOGRAPH CENTRE; QQK
3197 ; [.FB40.0020.0014.4E2D][.CE2D.0000.0000.4E2D] # IDEOGRAPHIC ANNOTATION MIDDLE MARK; QQK
+1F22D ; [.FB40.0020.001C.4E2D][.CE2D.0000.0000.4E2D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D; QQK
F905 ; [.FB40.0020.0002.4E32][.CE32.0000.0000.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905; QQC
2F02 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36] # KANGXI RADICAL DOT; QQK
-2E80 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.0199.001F.2E80] # CJK RADICAL REPEAT; QQKN
+2E80 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.015F.001F.2E80] # CJK RADICAL REPEAT; QQKN
2F801 ; [.FB40.0020.0002.4E38][.CE38.0000.0000.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801; QQC
F95E ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E; QQC
2F800 ; [.FB40.0020.0002.4E3D][.CE3D.0000.0000.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800; QQC
@@ -16775,32 +22936,35 @@ F95E ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRA
2F802 ; [.FB40.0020.0002.4E41][.CE41.0000.0000.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802; QQC
2F04 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59] # KANGXI RADICAL SECOND; QQK
319A ; [.FB40.0020.0014.4E59][.CE59.0000.0000.4E59] # IDEOGRAPHIC ANNOTATION SECOND MARK; QQK
-2E84 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.0199.001F.2E84] # CJK RADICAL SECOND THREE; QQKN
+2E84 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.015F.001F.2E84] # CJK RADICAL SECOND THREE; QQKN
2E83 ; [.FB40.0020.0004.4E5A][.CE5A.0000.0000.4E5A] # CJK RADICAL SECOND TWO; QQK
2E82 ; [.FB40.0020.0004.4E5B][.CE5B.0000.0000.4E5B] # CJK RADICAL SECOND ONE; QQK
-3228 ; [*02B1.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*02B2.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE; QQKN
+3228 ; [*030E.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*030F.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE; QQKN
3288 ; [.FB40.0020.0006.4E5D][.CE5D.0000.0000.4E5D] # CIRCLED IDEOGRAPH NINE; QQK
F91B ; [.FB40.0020.0002.4E82][.CE82.0000.0000.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B; QQC
2F05 ; [.FB40.0020.0004.4E85][.CE85.0000.0000.4E85] # KANGXI RADICAL HOOK; QQK
F9BA ; [.FB40.0020.0002.4E86][.CE86.0000.0000.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA; QQC
2F06 ; [.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C] # KANGXI RADICAL TWO; QQK
-3221 ; [*02B1.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*02B2.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO; QQKN
+3221 ; [*030E.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*030F.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO; QQKN
+1F242 ; [*0356.0020.0004.1F242][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*0357.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C; QQKN
3281 ; [.FB40.0020.0006.4E8C][.CE8C.0000.0000.4E8C] # CIRCLED IDEOGRAPH TWO; QQK
3193 ; [.FB40.0020.0014.4E8C][.CE8C.0000.0000.4E8C] # IDEOGRAPHIC ANNOTATION TWO MARK; QQK
-3224 ; [*02B1.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*02B2.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE; QQKN
+1F214 ; [.FB40.0020.001C.4E8C][.CE8C.0000.0000.4E8C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C; QQK
+3224 ; [*030E.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*030F.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE; QQKN
3284 ; [.FB40.0020.0006.4E94][.CE94.0000.0000.4E94] # CIRCLED IDEOGRAPH FIVE; QQK
2F07 ; [.FB40.0020.0004.4EA0][.CEA0.0000.0000.4EA0] # KANGXI RADICAL LID; QQK
+1F218 ; [.FB40.0020.001C.4EA4][.CEA4.0000.0000.4EA4] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4; QQK
F977 ; [.FB40.0020.0002.4EAE][.CEAE.0000.0000.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977; QQC
2F08 ; [.FB40.0020.0004.4EBA][.CEBA.0000.0000.4EBA] # KANGXI RADICAL MAN; QQK
319F ; [.FB40.0020.0014.4EBA][.CEBA.0000.0000.4EBA] # IDEOGRAPHIC ANNOTATION MAN MARK; QQK
2E85 ; [.FB40.0020.0004.4EBB][.CEBB.0000.0000.4EBB] # CJK RADICAL PERSON; QQK
F9FD ; [.FB40.0020.0002.4EC0][.CEC0.0000.0000.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD; QQC
2F819 ; [.FB40.0020.0002.4ECC][.CECC.0000.0000.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819; QQC
-3239 ; [*02B1.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*02B2.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT; QQKN
+3239 ; [*030E.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*030F.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT; QQKN
F9A8 ; [.FB40.0020.0002.4EE4][.CEE4.0000.0000.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8; QQC
-323D ; [*02B1.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*02B2.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE; QQKN
+323D ; [*030E.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*030F.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE; QQKN
32AD ; [.FB40.0020.0006.4F01][.CF01.0000.0000.4F01] # CIRCLED IDEOGRAPH ENTERPRISE; QQK
-3241 ; [*02B1.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*02B2.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST; QQKN
+3241 ; [*030E.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*030F.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST; QQKN
32A1 ; [.FB40.0020.0006.4F11][.CF11.0000.0000.4F11] # CIRCLED IDEOGRAPH REST; QQK
2F804 ; [.FB40.0020.0002.4F60][.CF60.0000.0000.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804; QQC
FA73 ; [.FB40.0020.0002.4F80][.CF80.0000.0000.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73; QQC
@@ -16831,16 +22995,17 @@ FA32 ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRA
FA72 ; [.FB40.0020.0002.5168][.D168.0000.0000.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72; QQC
F978 ; [.FB40.0020.0002.5169][.D169.0000.0000.5169] # CJK COMPATIBILITY IDEOGRAPH-F978; QQC
2F0B ; [.FB40.0020.0004.516B][.D16B.0000.0000.516B] # KANGXI RADICAL EIGHT; QQK
-3227 ; [*02B1.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*02B2.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT; QQKN
+3227 ; [*030E.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*030F.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT; QQKN
3287 ; [.FB40.0020.0006.516B][.D16B.0000.0000.516B] # CIRCLED IDEOGRAPH EIGHT; QQK
F9D1 ; [.FB40.0020.0002.516D][.D16D.0000.0000.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1; QQC
-3225 ; [*02B1.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*02B2.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX; QQKN
+3225 ; [*030E.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*030F.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX; QQKN
3285 ; [.FB40.0020.0006.516D][.D16D.0000.0000.516D] # CIRCLED IDEOGRAPH SIX; QQK
2F811 ; [.FB40.0020.0002.5177][.D177.0000.0000.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811; QQC
FA75 ; [.FB40.0020.0002.5180][.D180.0000.0000.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75; QQC
2F0C ; [.FB40.0020.0004.5182][.D182.0000.0000.5182] # KANGXI RADICAL DOWN BOX; QQK
-2E86 ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.0199.001F.2E86] # CJK RADICAL BOX; QQKN
+2E86 ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.015F.001F.2E86] # CJK RADICAL BOX; QQKN
2F815 ; [.FB40.0020.0002.518D][.D18D.0000.0000.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815; QQC
+1F21E ; [.FB40.0020.001C.518D][.D18D.0000.0000.518D] # SQUARED CJK UNIFIED IDEOGRAPH-518D; QQK
2F8D2 ; [.FB40.0020.0002.5192][.D192.0000.0000.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2; QQC
2F8D3 ; [.FB40.0020.0002.5195][.D195.0000.0000.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3; QQC
2F0D ; [.FB40.0020.0004.5196][.D196.0000.0000.5196] # KANGXI RADICAL COVER; QQK
@@ -16857,34 +23022,38 @@ F955 ; [.FB40.0020.0002.51CC][.D1CC.0000.0000.51CC] # CJK COMPATIBILITY IDEOGRA
F954 ; [.FB40.0020.0002.51DC][.D1DC.0000.0000.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954; QQC
FA15 ; [.FB40.0020.0002.51DE][.D1DE.0000.0000.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15; QQC
2F0F ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0] # KANGXI RADICAL TABLE; QQK
-2E87 ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.0199.001F.2E87] # CJK RADICAL TABLE; QQKN
+2E87 ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.015F.001F.2E87] # CJK RADICAL TABLE; QQKN
2F81D ; [.FB40.0020.0002.51F5][.D1F5.0000.0000.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D; QQC
2F10 ; [.FB40.0020.0004.51F5][.D1F5.0000.0000.51F5] # KANGXI RADICAL OPEN BOX; QQK
2F11 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200] # KANGXI RADICAL KNIFE; QQK
-2E88 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.0199.001F.2E88] # CJK RADICAL KNIFE ONE; QQKN
+2E88 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.015F.001F.2E88] # CJK RADICAL KNIFE ONE; QQKN
2E89 ; [.FB40.0020.0004.5202][.D202.0000.0000.5202] # CJK RADICAL KNIFE TWO; QQK
2F81E ; [.FB40.0020.0002.5203][.D203.0000.0000.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E; QQC
FA00 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00; QQC
2F850 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850; QQC
F99C ; [.FB40.0020.0002.5217][.D217.0000.0000.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C; QQC
+1F220 ; [.FB40.0020.001C.521D][.D21D.0000.0000.521D] # SQUARED CJK UNIFIED IDEOGRAPH-521D; QQK
F9DD ; [.FB40.0020.0002.5229][.D229.0000.0000.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD; QQC
F9FF ; [.FB40.0020.0002.523A][.D23A.0000.0000.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF; QQC
2F820 ; [.FB40.0020.0002.523B][.D23B.0000.0000.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820; QQC
2F821 ; [.FB40.0020.0002.5246][.D246.0000.0000.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821; QQC
+1F21C ; [.FB40.0020.001C.524D][.D24D.0000.0000.524D] # SQUARED CJK UNIFIED IDEOGRAPH-524D; QQK
2F822 ; [.FB40.0020.0002.5272][.D272.0000.0000.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822; QQC
+1F239 ; [.FB40.0020.001C.5272][.D272.0000.0000.5272] # SQUARED CJK UNIFIED IDEOGRAPH-5272; QQK
2F823 ; [.FB40.0020.0002.5277][.D277.0000.0000.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823; QQC
F9C7 ; [.FB40.0020.0002.5289][.D289.0000.0000.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7; QQC
F98A ; [.FB40.0020.0002.529B][.D29B.0000.0000.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A; QQC
2F12 ; [.FB40.0020.0004.529B][.D29B.0000.0000.529B] # KANGXI RADICAL POWER; QQK
F99D ; [.FB40.0020.0002.52A3][.D2A3.0000.0000.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D; QQC
2F992 ; [.FB40.0020.0002.52B3][.D2B3.0000.0000.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992; QQC
-3238 ; [*02B1.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*02B2.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR; QQKN
+3238 ; [*030E.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*030F.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR; QQKN
3298 ; [.FB40.0020.0006.52B4][.D2B4.0000.0000.52B4] # CIRCLED IDEOGRAPH LABOR; QQK
FA76 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76; QQC
2F825 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825; QQC
FA33 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33; QQC
2F826 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826; QQC
F952 ; [.FB40.0020.0002.52D2][.D2D2.0000.0000.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952; QQC
+1F247 ; [*0356.0020.0004.1F247][.FB40.0020.0004.52DD][.D2DD.0000.0000.52DD][*0357.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD; QQKN
F92F ; [.FB40.0020.0002.52DE][.D2DE.0000.0000.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F; QQC
FA34 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34; QQC
2F827 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827; QQC
@@ -16903,20 +23072,20 @@ F963 ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRA
F9EB ; [.FB40.0020.0002.533F][.D33F.0000.0000.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB; QQC
2F17 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # KANGXI RADICAL TEN; QQK
3038 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # HANGZHOU NUMERAL TEN; QQK
-3229 ; [*02B1.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*02B2.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN; QQKN
+3229 ; [*030E.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*030F.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN; QQKN
3289 ; [.FB40.0020.0006.5341][.D341.0000.0000.5341] # CIRCLED IDEOGRAPH TEN; QQK
3039 ; [.FB40.0020.0004.5344][.D344.0000.0000.5344] # HANGZHOU NUMERAL TWENTY; QQK
303A ; [.FB40.0020.0004.5345][.D345.0000.0000.5345] # HANGZHOU NUMERAL THIRTY; QQK
2F82C ; [.FB40.0020.0002.5349][.D349.0000.0000.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C; QQC
FA35 ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35; QQC
2F82D ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D; QQC
-323F ; [*02B1.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*02B2.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE; QQKN
+323F ; [*030E.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*030F.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE; QQKN
32AF ; [.FB40.0020.0006.5354][.D354.0000.0000.5354] # CIRCLED IDEOGRAPH ALLIANCE; QQK
2F82E ; [.FB40.0020.0002.535A][.D35A.0000.0000.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E; QQC
2F18 ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C] # KANGXI RADICAL DIVINATION; QQK
-2E8A ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.0199.001F.2E8A] # CJK RADICAL DIVINATION; QQKN
+2E8A ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.015F.001F.2E8A] # CJK RADICAL DIVINATION; QQKN
2F19 ; [.FB40.0020.0004.5369][.D369.0000.0000.5369] # KANGXI RADICAL SEAL; QQK
-2E8B ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.0199.001F.2E8B] # CJK RADICAL SEAL; QQKN
+2E8B ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.015F.001F.2E8B] # CJK RADICAL SEAL; QQKN
329E ; [.FB40.0020.0006.5370][.D370.0000.0000.5370] # CIRCLED IDEOGRAPH PRINT; QQK
2F82F ; [.FB40.0020.0002.5373][.D373.0000.0000.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F; QQC
F91C ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C; QQC
@@ -16925,32 +23094,38 @@ F91C ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRA
2F832 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832; QQC
2F833 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833; QQC
2F1A ; [.FB40.0020.0004.5382][.D382.0000.0000.5382] # KANGXI RADICAL CLIFF; QQK
-2E81 ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.0199.001F.2E81] # CJK RADICAL CLIFF; QQKN
+2E81 ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.015F.001F.2E81] # CJK RADICAL CLIFF; QQKN
2F1B ; [.FB40.0020.0004.53B6][.D3B6.0000.0000.53B6] # KANGXI RADICAL PRIVATE; QQK
F96B ; [.FB40.0020.0002.53C3][.D3C3.0000.0000.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B; QQC
2F1C ; [.FB40.0020.0004.53C8][.D3C8.0000.0000.53C8] # KANGXI RADICAL AGAIN; QQK
2F836 ; [.FB40.0020.0002.53CA][.D3CA.0000.0000.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836; QQC
+1F212 ; [.FB40.0020.001C.53CC][.D3CC.0000.0000.53CC] # SQUARED CJK UNIFIED IDEOGRAPH-53CC; QQK
2F837 ; [.FB40.0020.0002.53DF][.D3DF.0000.0000.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837; QQC
2F1D ; [.FB40.0020.0004.53E3][.D3E3.0000.0000.53E3] # KANGXI RADICAL MOUTH; QQK
F906 ; [.FB40.0020.0002.53E5][.D3E5.0000.0000.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906; QQC
2F839 ; [.FB40.0020.0002.53EB][.D3EB.0000.0000.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839; QQC
+1F251 ; [.FB40.0020.0006.53EF][.D3EF.0000.0000.53EF] # CIRCLED IDEOGRAPH ACCEPT; QQK
2F83A ; [.FB40.0020.0002.53F1][.D3F1.0000.0000.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A; QQC
32A8 ; [.FB40.0020.0006.53F3][.D3F3.0000.0000.53F3] # CIRCLED IDEOGRAPH RIGHT; QQK
+1F22E ; [.FB40.0020.001C.53F3][.D3F3.0000.0000.53F3] # SQUARED CJK UNIFIED IDEOGRAPH-53F3; QQK
2F83B ; [.FB40.0020.0002.5406][.D406.0000.0000.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B; QQC
-3234 ; [*02B1.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*02B2.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME; QQKN
+1F234 ; [.FB40.0020.001C.5408][.D408.0000.0000.5408] # SQUARED CJK UNIFIED IDEOGRAPH-5408; QQK
+3234 ; [*030E.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*030F.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME; QQKN
3294 ; [.FB40.0020.0006.540D][.D40D.0000.0000.540D] # CIRCLED IDEOGRAPH NAME; QQK
F9DE ; [.FB40.0020.0002.540F][.D40F.0000.0000.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE; QQC
F9ED ; [.FB40.0020.0002.541D][.D41D.0000.0000.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED; QQC
2F83D ; [.FB40.0020.0002.5438][.D438.0000.0000.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D; QQC
+1F225 ; [.FB40.0020.001C.5439][.D439.0000.0000.5439] # SQUARED CJK UNIFIED IDEOGRAPH-5439; QQK
F980 ; [.FB40.0020.0002.5442][.D442.0000.0000.5442] # CJK COMPATIBILITY IDEOGRAPH-F980; QQC
2F83E ; [.FB40.0020.0002.5448][.D448.0000.0000.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E; QQC
2F83F ; [.FB40.0020.0002.5468][.D468.0000.0000.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F; QQC
-323A ; [*02B1.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*02B2.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL; QQKN
+323A ; [*030E.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*030F.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL; QQKN
2F83C ; [.FB40.0020.0002.549E][.D49E.0000.0000.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C; QQC
2F840 ; [.FB40.0020.0002.54A2][.D4A2.0000.0000.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840; QQC
F99E ; [.FB40.0020.0002.54BD][.D4BD.0000.0000.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E; QQC
2F841 ; [.FB40.0020.0002.54F6][.D4F6.0000.0000.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841; QQC
2F842 ; [.FB40.0020.0002.5510][.D510.0000.0000.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842; QQC
+3244 ; [.FB40.0020.0006.554F][.D54F.0000.0000.554F] # CIRCLED IDEOGRAPH QUESTION; QQK
2F843 ; [.FB40.0020.0002.5553][.D553.0000.0000.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843; QQC
FA79 ; [.FB40.0020.0002.5555][.D555.0000.0000.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79; QQC
2F844 ; [.FB40.0020.0002.5563][.D563.0000.0000.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844; QQC
@@ -16963,6 +23138,7 @@ FA36 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRA
FA78 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78; QQC
2F848 ; [.FB40.0020.0002.55AB][.D5AB.0000.0000.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848; QQC
2F849 ; [.FB40.0020.0002.55B3][.D5B3.0000.0000.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849; QQC
+1F23A ; [.FB40.0020.001C.55B6][.D5B6.0000.0000.55B6] # SQUARED CJK UNIFIED IDEOGRAPH-55B6; QQK
FA0D ; [.FB40.0020.0002.55C0][.D5C0.0000.0000.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D; QQC
2F84A ; [.FB40.0020.0002.55C2][.D5C2.0000.0000.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A; QQC
FA7B ; [.FB40.0020.0002.55E2][.D5E2.0000.0000.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B; QQC
@@ -16972,14 +23148,14 @@ FA37 ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRA
FA38 ; [.FB40.0020.0002.5668][.D668.0000.0000.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38; QQC
2F84F ; [.FB40.0020.0002.5674][.D674.0000.0000.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F; QQC
2F1E ; [.FB40.0020.0004.56D7][.D6D7.0000.0000.56D7] # KANGXI RADICAL ENCLOSURE; QQK
-3223 ; [*02B1.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*02B2.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR; QQKN
+3223 ; [*030E.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*030F.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR; QQKN
3283 ; [.FB40.0020.0006.56DB][.D6DB.0000.0000.56DB] # CIRCLED IDEOGRAPH FOUR; QQK
3195 ; [.FB40.0020.0014.56DB][.D6DB.0000.0000.56DB] # IDEOGRAPHIC ANNOTATION FOUR MARK; QQK
F9A9 ; [.FB40.0020.0002.56F9][.D6F9.0000.0000.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9; QQC
2F84B ; [.FB40.0020.0002.5716][.D716.0000.0000.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B; QQC
2F84D ; [.FB40.0020.0002.5717][.D717.0000.0000.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D; QQC
2F1F ; [.FB40.0020.0004.571F][.D71F.0000.0000.571F] # KANGXI RADICAL EARTH; QQK
-322F ; [*02B1.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*02B2.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH; QQKN
+322F ; [*030E.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*030F.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH; QQKN
328F ; [.FB40.0020.0006.571F][.D71F.0000.0000.571F] # CIRCLED IDEOGRAPH EARTH; QQK
319E ; [.FB40.0020.0014.5730][.D730.0000.0000.5730] # IDEOGRAPHIC ANNOTATION EARTH MARK; QQK
2F855 ; [.FB40.0020.0002.578B][.D78B.0000.0000.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855; QQC
@@ -16999,6 +23175,7 @@ F94A ; [.FB40.0020.0002.58D8][.D8D8.0000.0000.58D8] # CJK COMPATIBILITY IDEOGRA
F942 ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942; QQC
2F20 ; [.FB40.0020.0004.58EB][.D8EB.0000.0000.58EB] # KANGXI RADICAL SCHOLAR; QQK
2F851 ; [.FB40.0020.0002.58EE][.D8EE.0000.0000.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851; QQC
+1F224 ; [.FB40.0020.001C.58F0][.D8F0.0000.0000.58F0] # SQUARED CJK UNIFIED IDEOGRAPH-58F0; QQK
2F85A ; [.FB40.0020.0002.58F2][.D8F2.0000.0000.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A; QQC
2F85B ; [.FB40.0020.0002.58F7][.D8F7.0000.0000.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B; QQC
2F21 ; [.FB40.0020.0004.5902][.D902.0000.0000.5902] # KANGXI RADICAL GO; QQK
@@ -17006,11 +23183,13 @@ F942 ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRA
2F22 ; [.FB40.0020.0004.590A][.D90A.0000.0000.590A] # KANGXI RADICAL GO SLOWLY; QQK
2F23 ; [.FB40.0020.0004.5915][.D915.0000.0000.5915] # KANGXI RADICAL EVENING; QQK
2F85D ; [.FB40.0020.0002.591A][.D91A.0000.0000.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D; QQC
+1F215 ; [.FB40.0020.001C.591A][.D91A.0000.0000.591A] # SQUARED CJK UNIFIED IDEOGRAPH-591A; QQK
32B0 ; [.FB40.0020.0006.591C][.D91C.0000.0000.591C] # CIRCLED IDEOGRAPH NIGHT; QQK
2F85E ; [.FB40.0020.0002.5922][.D922.0000.0000.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E; QQC
2F24 ; [.FB40.0020.0004.5927][.D927.0000.0000.5927] # KANGXI RADICAL BIG; QQK
337D ; [.FB40.0020.001C.5927][.D927.0000.0000.5927][.FB40.0020.001F.6B63][.EB63.0000.0000.6B63] # SQUARE ERA NAME TAISYOU; QQKN
319D ; [.FB40.0020.0014.5929][.D929.0000.0000.5929] # IDEOGRAPHIC ANNOTATION HEAVEN MARK; QQK
+1F217 ; [.FB40.0020.001C.5929][.D929.0000.0000.5929] # SQUARED CJK UNIFIED IDEOGRAPH-5929; QQK
FA7E ; [.FB40.0020.0002.5944][.D944.0000.0000.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E; QQC
F90C ; [.FB40.0020.0002.5948][.D948.0000.0000.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C; QQC
F909 ; [.FB40.0020.0002.5951][.D951.0000.0000.5951] # CJK COMPATIBILITY IDEOGRAPH-F909; QQC
@@ -17031,10 +23210,12 @@ FA81 ; [.FB40.0020.0002.5B28][.DB28.0000.0000.5B28] # CJK COMPATIBILITY IDEOGRA
2F86A ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A; QQC
2F86B ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B; QQC
2F26 ; [.FB40.0020.0004.5B50][.DB50.0000.0000.5B50] # KANGXI RADICAL CHILD; QQK
-323B ; [*02B1.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*02B2.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY; QQKN
+1F211 ; [.FB40.0020.001C.5B57][.DB57.0000.0000.5B57] # SQUARED CJK UNIFIED IDEOGRAPH-5B57; QQK
+323B ; [*030E.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*030F.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY; QQKN
32AB ; [.FB40.0020.0006.5B66][.DB66.0000.0000.5B66] # CIRCLED IDEOGRAPH STUDY; QQK
2F27 ; [.FB40.0020.0004.5B80][.DB80.0000.0000.5B80] # KANGXI RADICAL ROOF; QQK
FA04 ; [.FB40.0020.0002.5B85][.DB85.0000.0000.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04; QQC
+1F243 ; [*0356.0020.0004.1F243][.FB40.0020.0004.5B89][.DB89.0000.0000.5B89][*0357.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89; QQKN
32AA ; [.FB40.0020.0006.5B97][.DB97.0000.0000.5B97] # CIRCLED IDEOGRAPH RELIGION; QQK
2F86D ; [.FB40.0020.0002.5BC3][.DBC3.0000.0000.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D; QQC
2F86E ; [.FB40.0020.0002.5BD8][.DBD8.0000.0000.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E; QQC
@@ -17047,14 +23228,14 @@ F9BC ; [.FB40.0020.0002.5BEE][.DBEE.0000.0000.5BEE] # CJK COMPATIBILITY IDEOGRA
2F872 ; [.FB40.0020.0002.5BFF][.DBFF.0000.0000.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872; QQC
2F873 ; [.FB40.0020.0002.5C06][.DC06.0000.0000.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873; QQC
2F29 ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F] # KANGXI RADICAL SMALL; QQK
-2E8C ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0199.001F.2E8C] # CJK RADICAL SMALL ONE; QQKN
-2E8D ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.019A.001F.2E8D] # CJK RADICAL SMALL TWO; QQKN
+2E8C ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.015F.001F.2E8C] # CJK RADICAL SMALL ONE; QQKN
+2E8D ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0160.001F.2E8D] # CJK RADICAL SMALL TWO; QQKN
2F875 ; [.FB40.0020.0002.5C22][.DC22.0000.0000.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875; QQC
2E90 ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # CJK RADICAL LAME THREE; QQK
2F2A ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # KANGXI RADICAL LAME; QQK
-2E8E ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.0199.001F.2E8E] # CJK RADICAL LAME ONE; QQKN
+2E8E ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.015F.001F.2E8E] # CJK RADICAL LAME ONE; QQKN
2E8F ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23] # CJK RADICAL LAME TWO; QQK
-2E91 ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.0199.001F.2E91] # CJK RADICAL LAME FOUR; QQKN
+2E91 ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.015F.001F.2E91] # CJK RADICAL LAME FOUR; QQKN
2F2B ; [.FB40.0020.0004.5C38][.DC38.0000.0000.5C38] # KANGXI RADICAL CORPSE; QQK
F9BD ; [.FB40.0020.0002.5C3F][.DC3F.0000.0000.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD; QQC
2F877 ; [.FB40.0020.0002.5C60][.DC60.0000.0000.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877; QQC
@@ -17080,6 +23261,7 @@ F9AB ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRA
2F882 ; [.FB40.0020.0002.5DE2][.DDE2.0000.0000.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882; QQC
2F2F ; [.FB40.0020.0004.5DE5][.DDE5.0000.0000.5DE5] # KANGXI RADICAL WORK; QQK
32A7 ; [.FB40.0020.0006.5DE6][.DDE6.0000.0000.5DE6] # CIRCLED IDEOGRAPH LEFT; QQK
+1F22C ; [.FB40.0020.001C.5DE6][.DDE6.0000.0000.5DE6] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6; QQK
2F30 ; [.FB40.0020.0004.5DF1][.DDF1.0000.0000.5DF1] # KANGXI RADICAL ONESELF; QQK
2E92 ; [.FB40.0020.0004.5DF3][.DDF3.0000.0000.5DF3] # CJK RADICAL SNAKE; QQK
2F884 ; [.FB40.0020.0002.5DFD][.DDFD.0000.0000.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884; QQC
@@ -17092,6 +23274,7 @@ F9AB ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRA
F98E ; [.FB40.0020.0002.5E74][.DE74.0000.0000.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E; QQC
2E93 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # CJK RADICAL THREAD; QQK
2F33 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # KANGXI RADICAL SHORT THREAD; QQK
+3245 ; [.FB40.0020.0006.5E7C][.DE7C.0000.0000.5E7C] # CIRCLED IDEOGRAPH KINDERGARTEN; QQK
2F34 ; [.FB40.0020.0004.5E7F][.DE7F.0000.0000.5E7F] # KANGXI RADICAL DOTTED CLIFF; QQK
FA01 ; [.FB40.0020.0002.5EA6][.DEA6.0000.0000.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01; QQC
2F88B ; [.FB40.0020.0002.5EB0][.DEB0.0000.0000.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B; QQC
@@ -17113,7 +23296,7 @@ F943 ; [.FB40.0020.0002.5F04][.DF04.0000.0000.5F04] # CJK COMPATIBILITY IDEOGRA
2F894 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894; QQC
2F895 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895; QQC
2F39 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50] # KANGXI RADICAL SNOUT; QQK
-2E95 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.0199.001F.2E95] # CJK RADICAL SNOUT TWO; QQKN
+2E95 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.015F.001F.2E95] # CJK RADICAL SNOUT TWO; QQKN
2E94 ; [.FB40.0020.0004.5F51][.DF51.0000.0000.5F51] # CJK RADICAL SNOUT ONE; QQK
2F874 ; [.FB40.0020.0002.5F53][.DF53.0000.0000.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874; QQC
2F3A ; [.FB40.0020.0004.5F61][.DF61.0000.0000.5F61] # KANGXI RADICAL BRISTLE; QQK
@@ -17122,11 +23305,13 @@ FA84 ; [.FB40.0020.0002.5F69][.DF69.0000.0000.5F69] # CJK COMPATIBILITY IDEOGRA
2F89A ; [.FB40.0020.0002.5F6B][.DF6B.0000.0000.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A; QQC
2F3B ; [.FB40.0020.0004.5F73][.DF73.0000.0000.5F73] # KANGXI RADICAL STEP; QQK
F9D8 ; [.FB40.0020.0002.5F8B][.DF8B.0000.0000.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8; QQC
+1F21D ; [.FB40.0020.001C.5F8C][.DF8C.0000.0000.5F8C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C; QQK
+1F250 ; [.FB40.0020.0006.5F97][.DF97.0000.0000.5F97] # CIRCLED IDEOGRAPH ADVANTAGE; QQK
2F89C ; [.FB40.0020.0002.5F9A][.DF9A.0000.0000.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C; QQC
F966 ; [.FB40.0020.0002.5FA9][.DFA9.0000.0000.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966; QQC
FA85 ; [.FB40.0020.0002.5FAD][.DFAD.0000.0000.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85; QQC
2F3C ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3] # KANGXI RADICAL HEART; QQK
-2E97 ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.0199.001F.2E97] # CJK RADICAL HEART TWO; QQKN
+2E97 ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.015F.001F.2E97] # CJK RADICAL HEART TWO; QQKN
2E96 ; [.FB40.0020.0004.5FC4][.DFC4.0000.0000.5FC4] # CJK RADICAL HEART ONE; QQK
2F89D ; [.FB40.0020.0002.5FCD][.DFCD.0000.0000.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D; QQC
2F89E ; [.FB40.0020.0002.5FD7][.DFD7.0000.0000.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E; QQC
@@ -17134,6 +23319,7 @@ F9A3 ; [.FB40.0020.0002.5FF5][.DFF5.0000.0000.5FF5] # CJK COMPATIBILITY IDEOGRA
2F89F ; [.FB40.0020.0002.5FF9][.DFF9.0000.0000.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F; QQC
F960 ; [.FB40.0020.0002.6012][.E012.0000.0000.6012] # CJK COMPATIBILITY IDEOGRAPH-F960; QQC
F9AC ; [.FB40.0020.0002.601C][.E01C.0000.0000.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC; QQC
+FA6B ; [.FB40.0020.0002.6075][.E075.0000.0000.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B; QQC
2F8A0 ; [.FB40.0020.0002.6081][.E081.0000.0000.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0; QQC
FA3D ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D; QQC
2F8A3 ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3; QQC
@@ -17171,8 +23357,12 @@ F9D2 ; [.FB40.0020.0002.622E][.E22E.0000.0000.622E] # CJK COMPATIBILITY IDEOGRA
FA8C ; [.FB40.0020.0002.6234][.E234.0000.0000.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C; QQC
2F3E ; [.FB40.0020.0004.6236][.E236.0000.0000.6236] # KANGXI RADICAL DOOR; QQK
2F3F ; [.FB40.0020.0004.624B][.E24B.0000.0000.624B] # KANGXI RADICAL HAND; QQK
+1F210 ; [.FB40.0020.001C.624B][.E24B.0000.0000.624B] # SQUARED CJK UNIFIED IDEOGRAPH-624B; QQK
2E98 ; [.FB40.0020.0004.624C][.E24C.0000.0000.624C] # CJK RADICAL HAND; QQK
+1F245 ; [*0356.0020.0004.1F245][.FB40.0020.0004.6253][.E253.0000.0000.6253][*0357.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253; QQKN
+1F231 ; [.FB40.0020.001C.6253][.E253.0000.0000.6253] # SQUARED CJK UNIFIED IDEOGRAPH-6253; QQK
2F8B4 ; [.FB40.0020.0002.625D][.E25D.0000.0000.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4; QQC
+1F227 ; [.FB40.0020.001C.6295][.E295.0000.0000.6295] # SQUARED CJK UNIFIED IDEOGRAPH-6295; QQK
2F8B5 ; [.FB40.0020.0002.62B1][.E2B1.0000.0000.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5; QQC
F925 ; [.FB40.0020.0002.62C9][.E2C9.0000.0000.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925; QQC
F95B ; [.FB40.0020.0002.62CF][.E2CF.0000.0000.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B; QQC
@@ -17180,8 +23370,10 @@ FA02 ; [.FB40.0020.0002.62D3][.E2D3.0000.0000.62D3] # CJK COMPATIBILITY IDEOGRA
2F8B6 ; [.FB40.0020.0002.62D4][.E2D4.0000.0000.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6; QQC
2F8BA ; [.FB40.0020.0002.62FC][.E2FC.0000.0000.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA; QQC
F973 ; [.FB40.0020.0002.62FE][.E2FE.0000.0000.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973; QQC
+1F22F ; [.FB40.0020.001C.6307][.E307.0000.0000.6307] # SQUARED CJK UNIFIED IDEOGRAPH-6307; QQK
2F8B9 ; [.FB40.0020.0002.633D][.E33D.0000.0000.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9; QQC
2F8B7 ; [.FB40.0020.0002.6350][.E350.0000.0000.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7; QQC
+1F228 ; [.FB40.0020.001C.6355][.E355.0000.0000.6355] # SQUARED CJK UNIFIED IDEOGRAPH-6355; QQK
2F8BB ; [.FB40.0020.0002.6368][.E368.0000.0000.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB; QQC
F9A4 ; [.FB40.0020.0002.637B][.E37B.0000.0000.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4; QQC
2F8BC ; [.FB40.0020.0002.6383][.E383.0000.0000.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC; QQC
@@ -17205,12 +23397,16 @@ F930 ; [.FB40.0020.0002.64C4][.E4C4.0000.0000.64C4] # CJK COMPATIBILITY IDEOGRA
FA41 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41; QQC
2F8C8 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8; QQC
FA90 ; [.FB40.0020.0002.6556][.E556.0000.0000.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90; QQC
+1F248 ; [*0356.0020.0004.1F248][.FB40.0020.0004.6557][.E557.0000.0000.6557][*0357.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557; QQKN
2F8C9 ; [.FB40.0020.0002.656C][.E56C.0000.0000.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9; QQC
F969 ; [.FB40.0020.0002.6578][.E578.0000.0000.6578] # CJK COMPATIBILITY IDEOGRAPH-F969; QQC
2F42 ; [.FB40.0020.0004.6587][.E587.0000.0000.6587] # KANGXI RADICAL SCRIPT; QQK
+3246 ; [.FB40.0020.0006.6587][.E587.0000.0000.6587] # CIRCLED IDEOGRAPH SCHOOL; QQK
2F43 ; [.FB40.0020.0004.6597][.E597.0000.0000.6597] # KANGXI RADICAL DIPPER; QQK
F9BE ; [.FB40.0020.0002.6599][.E599.0000.0000.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE; QQC
+1F21B ; [.FB40.0020.001C.6599][.E599.0000.0000.6599] # SQUARED CJK UNIFIED IDEOGRAPH-6599; QQK
2F44 ; [.FB40.0020.0004.65A4][.E5A4.0000.0000.65A4] # KANGXI RADICAL AXE; QQK
+1F21F ; [.FB40.0020.001C.65B0][.E5B0.0000.0000.65B0] # SQUARED CJK UNIFIED IDEOGRAPH-65B0; QQK
2F45 ; [.FB40.0020.0004.65B9][.E5B9.0000.0000.65B9] # KANGXI RADICAL SQUARE; QQK
F983 ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983; QQC
2F46 ; [.FB40.0020.0004.65E0][.E5E0.0000.0000.65E0] # KANGXI RADICAL NOT; QQK
@@ -17218,11 +23414,12 @@ F983 ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRA
FA42 ; [.FB40.0020.0002.65E2][.E5E2.0000.0000.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42; QQC
2F8CB ; [.FB40.0020.0002.65E3][.E5E3.0000.0000.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB; QQC
2F47 ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # KANGXI RADICAL SUN; QQK
-3230 ; [*02B1.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*02B2.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN; QQKN
+3230 ; [*030E.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*030F.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN; QQKN
3290 ; [.FB40.0020.0006.65E5][.E5E5.0000.0000.65E5] # CIRCLED IDEOGRAPH SUN; QQK
-2E9C ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.0199.001F.2E9C] # CJK RADICAL SUN; QQKN
+2E9C ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.015F.001F.2E9C] # CJK RADICAL SUN; QQKN
337E ; [.FB40.0020.001C.660E][.E60E.0000.0000.660E][.FB40.0020.001F.6CBB][.ECBB.0000.0000.6CBB] # SQUARE ERA NAME MEIZI; QQKN
F9E0 ; [.FB40.0020.0002.6613][.E613.0000.0000.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0; QQC
+1F219 ; [.FB40.0020.001C.6620][.E620.0000.0000.6620] # SQUARED CJK UNIFIED IDEOGRAPH-6620; QQK
337C ; [.FB40.0020.001C.662D][.E62D.0000.0000.662D][.FB40.0020.001F.548C][.D48C.0000.0000.548C] # SQUARE ERA NAME SYOUWA; QQKN
2F8CD ; [.FB40.0020.0002.6649][.E649.0000.0000.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD; QQC
FA12 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12; QQC
@@ -17238,11 +23435,13 @@ F901 ; [.FB40.0020.0002.66F4][.E6F4.0000.0000.66F4] # CJK COMPATIBILITY IDEOGRA
2F8CC ; [.FB40.0020.0002.66F8][.E6F8.0000.0000.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC; QQC
2F8D4 ; [.FB40.0020.0002.6700][.E700.0000.0000.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4; QQC
2F49 ; [.FB40.0020.0004.6708][.E708.0000.0000.6708] # KANGXI RADICAL MOON; QQK
-322A ; [*02B1.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*02B2.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON; QQKN
+322A ; [*030E.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*030F.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON; QQKN
328A ; [.FB40.0020.0006.6708][.E708.0000.0000.6708] # CIRCLED IDEOGRAPH MOON; QQK
-2E9D ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.0199.001F.2E9D] # CJK RADICAL MOON; QQKN
-3232 ; [*02B1.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*02B2.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE; QQKN
+1F237 ; [.FB40.0020.001C.6708][.E708.0000.0000.6708] # SQUARED CJK UNIFIED IDEOGRAPH-6708; QQK
+2E9D ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.015F.001F.2E9D] # CJK RADICAL MOON; QQKN
+3232 ; [*030E.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*030F.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE; QQKN
3292 ; [.FB40.0020.0006.6709][.E709.0000.0000.6709] # CIRCLED IDEOGRAPH HAVE; QQK
+1F236 ; [.FB40.0020.001C.6709][.E709.0000.0000.6709] # SQUARED CJK UNIFIED IDEOGRAPH-6709; QQK
F929 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-F929; QQC
FA92 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92; QQC
2F8D8 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8; QQC
@@ -17250,8 +23449,9 @@ FA93 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRA
2F8D9 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9; QQC
2F8DA ; [.FB40.0020.0002.6721][.E721.0000.0000.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA; QQC
2F4A ; [.FB40.0020.0004.6728][.E728.0000.0000.6728] # KANGXI RADICAL TREE; QQK
-322D ; [*02B1.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*02B2.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD; QQKN
+322D ; [*030E.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*030F.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD; QQKN
328D ; [.FB40.0020.0006.6728][.E728.0000.0000.6728] # CIRCLED IDEOGRAPH WOOD; QQK
+1F240 ; [*0356.0020.0004.1F240][.FB40.0020.0004.672C][.E72C.0000.0000.672C][*0357.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C; QQKN
F9E1 ; [.FB40.0020.0002.674E][.E74E.0000.0000.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1; QQC
2F8DC ; [.FB40.0020.0002.6753][.E753.0000.0000.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC; QQC
FA94 ; [.FB40.0020.0002.6756][.E756.0000.0000.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94; QQC
@@ -17263,7 +23463,7 @@ F9C9 ; [.FB40.0020.0002.67F3][.E7F3.0000.0000.67F3] # CJK COMPATIBILITY IDEOGRA
2F8DF ; [.FB40.0020.0002.67FA][.E7FA.0000.0000.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF; QQC
F9DA ; [.FB40.0020.0002.6817][.E817.0000.0000.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA; QQC
2F8E5 ; [.FB40.0020.0002.681F][.E81F.0000.0000.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5; QQC
-3231 ; [*02B1.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*02B2.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK; QQKN
+3231 ; [*030E.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*030F.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK; QQKN
3291 ; [.FB40.0020.0006.682A][.E82A.0000.0000.682A] # CIRCLED IDEOGRAPH STOCK; QQK
337F ; [.FB40.0020.001C.682A][.E82A.0000.0000.682A][.FB40.0020.001F.5F0F][.DF0F.0000.0000.5F0F][.FB40.0020.001F.4F1A][.CF1A.0000.0000.4F1A][.FB40.0020.001F.793E][.F93E.0000.0000.793E] # SQUARE CORPORATION; QQKN
2F8E1 ; [.FB40.0020.0002.6852][.E852.0000.0000.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1; QQC
@@ -17293,7 +23493,7 @@ F91D ; [.FB40.0020.0002.6B04][.EB04.0000.0000.6B04] # CJK COMPATIBILITY IDEOGRA
F98C ; [.FB40.0020.0002.6B77][.EB77.0000.0000.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C; QQC
FA95 ; [.FB40.0020.0002.6B79][.EB79.0000.0000.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95; QQC
2F4D ; [.FB40.0020.0004.6B79][.EB79.0000.0000.6B79] # KANGXI RADICAL DEATH; QQK
-2E9E ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.0199.001F.2E9E] # CJK RADICAL DEATH; QQKN
+2E9E ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.015F.001F.2E9E] # CJK RADICAL DEATH; QQKN
2F8F4 ; [.FB40.0020.0002.6B9F][.EB9F.0000.0000.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4; QQC
F9A5 ; [.FB40.0020.0002.6BAE][.EBAE.0000.0000.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5; QQC
2F4E ; [.FB40.0020.0004.6BB3][.EBB3.0000.0000.6BB3] # KANGXI RADICAL WEAPON; QQK
@@ -17309,7 +23509,7 @@ FA96 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRA
2EA0 ; [.FB40.0020.0004.6C11][.EC11.0000.0000.6C11] # CJK RADICAL CIVILIAN; QQK
2F53 ; [.FB40.0020.0004.6C14][.EC14.0000.0000.6C14] # KANGXI RADICAL STEAM; QQK
2F54 ; [.FB40.0020.0004.6C34][.EC34.0000.0000.6C34] # KANGXI RADICAL WATER; QQK
-322C ; [*02B1.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*02B2.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER; QQKN
+322C ; [*030E.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*030F.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER; QQKN
328C ; [.FB40.0020.0006.6C34][.EC34.0000.0000.6C34] # CIRCLED IDEOGRAPH WATER; QQK
2EA1 ; [.FB40.0020.0004.6C35][.EC35.0000.0000.6C35] # CJK RADICAL WATER ONE; QQK
2EA2 ; [.FB40.0020.0004.6C3A][.EC3A.0000.0000.6C3A] # CJK RADICAL WATER TWO; QQK
@@ -17342,6 +23542,7 @@ F9D6 ; [.FB40.0020.0002.6DEA][.EDEA.0000.0000.6DEA] # CJK COMPATIBILITY IDEOGRA
FA46 ; [.FB40.0020.0002.6E1A][.EE1A.0000.0000.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46; QQC
2F908 ; [.FB40.0020.0002.6E2F][.EE2F.0000.0000.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908; QQC
2F909 ; [.FB40.0020.0002.6E6E][.EE6E.0000.0000.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909; QQC
+1F235 ; [.FB40.0020.001C.6E80][.EE80.0000.0000.6E80] # SQUARED CJK UNIFIED IDEOGRAPH-6E80; QQK
F9CB ; [.FB40.0020.0002.6E9C][.EE9C.0000.0000.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB; QQC
F9EC ; [.FB40.0020.0002.6EBA][.EEBA.0000.0000.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC; QQC
2F90C ; [.FB40.0020.0002.6EC7][.EEC7.0000.0000.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C; QQC
@@ -17350,6 +23551,7 @@ FA99 ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRA
F904 ; [.FB40.0020.0002.6ED1][.EED1.0000.0000.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904; QQC
FA98 ; [.FB40.0020.0002.6EDB][.EEDB.0000.0000.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98; QQC
F94E ; [.FB40.0020.0002.6F0F][.EF0F.0000.0000.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E; QQC
+1F226 ; [.FB40.0020.001C.6F14][.EF14.0000.0000.6F14] # SQUARED CJK UNIFIED IDEOGRAPH-6F14; QQK
FA47 ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47; QQC
FA9A ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A; QQC
F992 ; [.FB40.0020.0002.6F23][.EF23.0000.0000.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992; QQC
@@ -17363,7 +23565,7 @@ FA9B ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRA
2F913 ; [.FB40.0020.0002.7039][.F039.0000.0000.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913; QQC
2F917 ; [.FB40.0020.0002.704A][.F04A.0000.0000.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917; QQC
2F55 ; [.FB40.0020.0004.706B][.F06B.0000.0000.706B] # KANGXI RADICAL FIRE; QQK
-322B ; [*02B1.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*02B2.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE; QQKN
+322B ; [*030E.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*030F.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE; QQKN
328B ; [.FB40.0020.0006.706B][.F06B.0000.0000.706B] # CIRCLED IDEOGRAPH FIRE; QQK
2EA3 ; [.FB40.0020.0004.706C][.F06C.0000.0000.706C] # CJK RADICAL FIRE; QQK
2F835 ; [.FB40.0020.0002.7070][.F070.0000.0000.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835; QQC
@@ -17371,8 +23573,10 @@ FA9B ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRA
2F918 ; [.FB40.0020.0002.707D][.F07D.0000.0000.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918; QQC
F9FB ; [.FB40.0020.0002.7099][.F099.0000.0000.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB; QQC
2F91A ; [.FB40.0020.0002.70AD][.F0AD.0000.0000.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A; QQC
+1F244 ; [*0356.0020.0004.1F244][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9][*0357.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9; QQKN
F99F ; [.FB40.0020.0002.70C8][.F0C8.0000.0000.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F; QQC
F916 ; [.FB40.0020.0002.70D9][.F0D9.0000.0000.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916; QQC
+1F21A ; [.FB40.0020.001C.7121][.F121.0000.0000.7121] # SQUARED CJK UNIFIED IDEOGRAPH-7121; QQK
2F91C ; [.FB40.0020.0002.7145][.F145.0000.0000.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C; QQC
F993 ; [.FB40.0020.0002.7149][.F149.0000.0000.7149] # CJK COMPATIBILITY IDEOGRAPH-F993; QQC
FA48 ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48; QQC
@@ -17386,7 +23590,7 @@ F91E ; [.FB40.0020.0002.721B][.F21B.0000.0000.721B] # CJK COMPATIBILITY IDEOGRA
2F56 ; [.FB40.0020.0004.722A][.F22A.0000.0000.722A] # KANGXI RADICAL CLAW; QQK
FA49 ; [.FB40.0020.0002.722B][.F22B.0000.0000.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49; QQC
2EA4 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B] # CJK RADICAL PAW ONE; QQK
-2EA5 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.0199.001F.2EA5] # CJK RADICAL PAW TWO; QQKN
+2EA5 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.015F.001F.2EA5] # CJK RADICAL PAW TWO; QQKN
FA9E ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E; QQC
2F921 ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921; QQC
2F57 ; [.FB40.0020.0004.7236][.F236.0000.0000.7236] # KANGXI RADICAL FATHER; QQK
@@ -17396,9 +23600,9 @@ FA9E ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRA
2F922 ; [.FB40.0020.0002.7250][.F250.0000.0000.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922; QQC
2F5B ; [.FB40.0020.0004.7259][.F259.0000.0000.7259] # KANGXI RADICAL FANG; QQK
2F5C ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B] # KANGXI RADICAL COW; QQK
-2EA7 ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.0199.001F.2EA7] # CJK RADICAL COW; QQKN
+2EA7 ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.015F.001F.2EA7] # CJK RADICAL COW; QQKN
F946 ; [.FB40.0020.0002.7262][.F262.0000.0000.7262] # CJK COMPATIBILITY IDEOGRAPH-F946; QQC
-3235 ; [*02B1.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*02B2.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL; QQKN
+3235 ; [*030E.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*030F.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL; QQKN
3295 ; [.FB40.0020.0006.7279][.F279.0000.0000.7279] # CIRCLED IDEOGRAPH SPECIAL; QQK
2F924 ; [.FB40.0020.0002.7280][.F280.0000.0000.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924; QQC
2F925 ; [.FB40.0020.0002.7295][.F295.0000.0000.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925; QQC
@@ -17416,7 +23620,7 @@ F961 ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRA
F9DB ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB; QQC
2F5F ; [.FB40.0020.0004.7389][.F389.0000.0000.7389] # KANGXI RADICAL JADE; QQK
2F929 ; [.FB40.0020.0002.738B][.F38B.0000.0000.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929; QQC
-2EA9 ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.0199.001F.2EA9] # CJK RADICAL JADE; QQKN
+2EA9 ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.015F.001F.2EA9] # CJK RADICAL JADE; QQKN
2F92B ; [.FB40.0020.0002.73A5][.F3A5.0000.0000.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B; QQC
F9AD ; [.FB40.0020.0002.73B2][.F3B2.0000.0000.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD; QQC
F917 ; [.FB40.0020.0002.73DE][.F3DE.0000.0000.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917; QQC
@@ -17437,10 +23641,12 @@ F9EF ; [.FB40.0020.0002.7498][.F498.0000.0000.7498] # CJK COMPATIBILITY IDEOGRA
FAA2 ; [.FB40.0020.0002.7506][.F506.0000.0000.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2; QQC
2F62 ; [.FB40.0020.0004.7518][.F518.0000.0000.7518] # KANGXI RADICAL SWEET; QQK
2F63 ; [.FB40.0020.0004.751F][.F51F.0000.0000.751F] # KANGXI RADICAL LIFE; QQK
+1F222 ; [.FB40.0020.001C.751F][.F51F.0000.0000.751F] # SQUARED CJK UNIFIED IDEOGRAPH-751F; QQK
2F934 ; [.FB40.0020.0002.7524][.F524.0000.0000.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934; QQC
2F64 ; [.FB40.0020.0004.7528][.F528.0000.0000.7528] # KANGXI RADICAL USE; QQK
2F65 ; [.FB40.0020.0004.7530][.F530.0000.0000.7530] # KANGXI RADICAL FIELD; QQK
3199 ; [.FB40.0020.0014.7532][.F532.0000.0000.7532] # IDEOGRAPHIC ANNOTATION FIRST MARK; QQK
+1F238 ; [.FB40.0020.001C.7533][.F533.0000.0000.7533] # SQUARED CJK UNIFIED IDEOGRAPH-7533; QQK
329A ; [.FB40.0020.0006.7537][.F537.0000.0000.7537] # CIRCLED IDEOGRAPH MALE; QQK
FAA3 ; [.FB40.0020.0002.753B][.F53B.0000.0000.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3; QQC
2F936 ; [.FB40.0020.0002.753E][.F53E.0000.0000.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936; QQC
@@ -17449,7 +23655,7 @@ F976 ; [.FB40.0020.0002.7565][.F565.0000.0000.7565] # CJK COMPATIBILITY IDEOGRA
F962 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-F962; QQC
2F938 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938; QQC
2F66 ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B] # KANGXI RADICAL BOLT OF CLOTH; QQK
-2EAA ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.0199.001F.2EAA] # CJK RADICAL BOLT OF CLOTH; QQKN
+2EAA ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.015F.001F.2EAA] # CJK RADICAL BOLT OF CLOTH; QQKN
2F67 ; [.FB40.0020.0004.7592][.F592.0000.0000.7592] # KANGXI RADICAL SICKNESS; QQK
F9E5 ; [.FB40.0020.0002.75E2][.F5E2.0000.0000.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5; QQC
2F93A ; [.FB40.0020.0002.7610][.F610.0000.0000.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A; QQC
@@ -17463,12 +23669,13 @@ F90E ; [.FB40.0020.0002.7669][.F669.0000.0000.7669] # CJK COMPATIBILITY IDEOGRA
2F6B ; [.FB40.0020.0004.76BF][.F6BF.0000.0000.76BF] # KANGXI RADICAL DISH; QQK
FA17 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17; QQC
FAA6 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6; QQC
+1F246 ; [*0356.0020.0004.1F246][.FB40.0020.0004.76D7][.F6D7.0000.0000.76D7][*0357.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7; QQKN
FAA7 ; [.FB40.0020.0002.76DB][.F6DB.0000.0000.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7; QQC
-323C ; [*02B1.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*02B2.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE; QQKN
+323C ; [*030E.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*030F.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE; QQKN
32AC ; [.FB40.0020.0006.76E3][.F6E3.0000.0000.76E3] # CIRCLED IDEOGRAPH SUPERVISE; QQK
F933 ; [.FB40.0020.0002.76E7][.F6E7.0000.0000.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933; QQC
2F6C ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE] # KANGXI RADICAL EYE; QQK
-2EAB ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.0199.001F.2EAB] # CJK RADICAL EYE; QQKN
+2EAB ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.015F.001F.2EAB] # CJK RADICAL EYE; QQKN
FAA8 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8; QQC
2F940 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940; QQC
F96D ; [.FB40.0020.0002.7701][.F701.0000.0000.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D; QQC
@@ -17494,11 +23701,11 @@ FAAB ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRA
F964 ; [.FB40.0020.0002.78FB][.F8FB.0000.0000.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964; QQC
F985 ; [.FB40.0020.0002.792A][.F92A.0000.0000.792A] # CJK COMPATIBILITY IDEOGRAPH-F985; QQC
2F70 ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A] # KANGXI RADICAL SPIRIT; QQK
-2EAC ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.0199.001F.2EAC] # CJK RADICAL SPIRIT ONE; QQKN
+2EAC ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.015F.001F.2EAC] # CJK RADICAL SPIRIT ONE; QQKN
2EAD ; [.FB40.0020.0004.793B][.F93B.0000.0000.793B] # CJK RADICAL SPIRIT TWO; QQK
FA18 ; [.FB40.0020.0002.793C][.F93C.0000.0000.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18; QQC
FA4C ; [.FB40.0020.0002.793E][.F93E.0000.0000.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C; QQC
-3233 ; [*02B1.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*02B2.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY; QQKN
+3233 ; [*030E.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*030F.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY; QQKN
3293 ; [.FB40.0020.0006.793E][.F93E.0000.0000.793E] # CIRCLED IDEOGRAPH SOCIETY; QQK
FA4E ; [.FB40.0020.0002.7948][.F948.0000.0000.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E; QQC
FA4D ; [.FB40.0020.0002.7949][.F949.0000.0000.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D; QQC
@@ -17506,12 +23713,13 @@ FA4F ; [.FB40.0020.0002.7950][.F950.0000.0000.7950] # CJK COMPATIBILITY IDEOGRA
FA50 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50; QQC
2F953 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953; QQC
FA51 ; [.FB40.0020.0002.795D][.F95D.0000.0000.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51; QQC
-3237 ; [*02B1.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*02B2.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION; QQKN
+3237 ; [*030E.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*030F.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION; QQKN
3297 ; [.FB40.0020.0006.795D][.F95D.0000.0000.795D] # CIRCLED IDEOGRAPH CONGRATULATION; QQK
FA19 ; [.FB40.0020.0002.795E][.F95E.0000.0000.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19; QQC
FA1A ; [.FB40.0020.0002.7965][.F965.0000.0000.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A; QQC
-3240 ; [*02B1.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*02B2.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL; QQKN
+3240 ; [*030E.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*030F.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL; QQKN
F93C ; [.FB40.0020.0002.797F][.F97F.0000.0000.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C; QQC
+1F232 ; [.FB40.0020.001C.7981][.F981.0000.0000.7981] # SQUARED CJK UNIFIED IDEOGRAPH-7981; QQK
FA52 ; [.FB40.0020.0002.798D][.F98D.0000.0000.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52; QQC
FA53 ; [.FB40.0020.0002.798E][.F98E.0000.0000.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53; QQC
FA1B ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B; QQC
@@ -17528,14 +23736,16 @@ FA54 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRA
2F95A ; [.FB40.0020.0002.7A4A][.FA4A.0000.0000.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A; QQC
2F95B ; [.FB40.0020.0002.7A4F][.FA4F.0000.0000.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B; QQC
2F73 ; [.FB40.0020.0004.7A74][.FA74.0000.0000.7A74] # KANGXI RADICAL CAVE; QQK
+1F233 ; [.FB40.0020.001C.7A7A][.FA7A.0000.0000.7A7A] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A; QQK
FA55 ; [.FB40.0020.0002.7A81][.FA81.0000.0000.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55; QQC
FAAC ; [.FB40.0020.0002.7AB1][.FAB1.0000.0000.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC; QQC
F9F7 ; [.FB40.0020.0002.7ACB][.FACB.0000.0000.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7; QQC
2F74 ; [.FB40.0020.0004.7ACB][.FACB.0000.0000.7ACB] # KANGXI RADICAL STAND; QQK
2F95F ; [.FB40.0020.0002.7AEE][.FAEE.0000.0000.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F; QQC
2F75 ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9] # KANGXI RADICAL BAMBOO; QQK
-2EAE ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.0199.001F.2EAE] # CJK RADICAL BAMBOO; QQKN
+2EAE ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.015F.001F.2EAE] # CJK RADICAL BAMBOO; QQKN
F9F8 ; [.FB40.0020.0002.7B20][.FB20.0000.0000.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8; QQC
+3247 ; [.FB40.0020.0006.7B8F][.FB8F.0000.0000.7B8F] # CIRCLED IDEOGRAPH KOTO; QQK
FA56 ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56; QQC
FAAD ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD; QQC
2F962 ; [.FB40.0020.0002.7BC6][.FBC6.0000.0000.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962; QQC
@@ -17557,6 +23767,7 @@ F97B ; [.FB40.0020.0002.7CE7][.FCE7.0000.0000.7CE7] # CJK COMPATIBILITY IDEOGRA
F9CF ; [.FB40.0020.0002.7D10][.FD10.0000.0000.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF; QQC
F96A ; [.FB40.0020.0002.7D22][.FD22.0000.0000.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A; QQC
F94F ; [.FB40.0020.0002.7D2F][.FD2F.0000.0000.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F; QQC
+1F221 ; [.FB40.0020.001C.7D42][.FD42.0000.0000.7D42] # SQUARED CJK UNIFIED IDEOGRAPH-7D42; QQK
FAAF ; [.FB40.0020.0002.7D5B][.FD5B.0000.0000.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF; QQC
2F96C ; [.FB40.0020.0002.7D63][.FD63.0000.0000.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C; QQC
F93D ; [.FB40.0020.0002.7DA0][.FDA0.0000.0000.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D; QQC
@@ -17575,17 +23786,17 @@ FA59 ; [.FB40.0020.0002.7E41][.FE41.0000.0000.7E41] # CJK COMPATIBILITY IDEOGRA
FAB1 ; [.FB40.0020.0002.7F3E][.FF3E.0000.0000.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1; QQC
2F79 ; [.FB40.0020.0004.7F51][.FF51.0000.0000.7F51] # KANGXI RADICAL NET; QQK
2EB2 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52] # CJK RADICAL NET TWO; QQK
-2EB5 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.0199.001F.2EB5] # CJK RADICAL MESH; QQKN
+2EB5 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.015F.001F.2EB5] # CJK RADICAL MESH; QQKN
2EB1 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53] # CJK RADICAL NET ONE; QQK
-2EB3 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0199.001F.2EB3] # CJK RADICAL NET THREE; QQKN
-2EB4 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.019A.001F.2EB4] # CJK RADICAL NET FOUR; QQKN
+2EB3 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.015F.001F.2EB3] # CJK RADICAL NET THREE; QQKN
+2EB4 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0160.001F.2EB4] # CJK RADICAL NET FOUR; QQKN
FA5A ; [.FB40.0020.0002.7F72][.FF72.0000.0000.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A; QQC
F9E6 ; [.FB40.0020.0002.7F79][.FF79.0000.0000.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6; QQC
2F976 ; [.FB40.0020.0002.7F7A][.FF7A.0000.0000.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976; QQC
F90F ; [.FB40.0020.0002.7F85][.FF85.0000.0000.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F; QQC
2F7A ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A] # KANGXI RADICAL SHEEP; QQK
-2EB6 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0199.001F.2EB6] # CJK RADICAL SHEEP; QQKN
-2EB7 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.019A.001F.2EB7] # CJK RADICAL RAM; QQKN
+2EB6 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.015F.001F.2EB6] # CJK RADICAL SHEEP; QQKN
+2EB7 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0160.001F.2EB7] # CJK RADICAL RAM; QQKN
2EB8 ; [.FB40.0020.0004.7F8B][.FF8B.0000.0000.7F8B] # CJK RADICAL EWE; QQK
2F978 ; [.FB40.0020.0002.7F95][.FF95.0000.0000.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978; QQC
F9AF ; [.FB40.0020.0002.7F9A][.FF9A.0000.0000.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF; QQC
@@ -17607,10 +23818,10 @@ F997 ; [.FB41.0020.0002.806F][.806F.0000.0000.806F] # CJK COMPATIBILITY IDEOGRA
2F97F ; [.FB41.0020.0002.8070][.8070.0000.0000.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F; QQC
F945 ; [.FB41.0020.0002.807E][.807E.0000.0000.807E] # CJK COMPATIBILITY IDEOGRAPH-F945; QQC
2F80 ; [.FB41.0020.0004.807F][.807F.0000.0000.807F] # KANGXI RADICAL BRUSH; QQK
-2EBB ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.0199.001F.2EBB] # CJK RADICAL BRUSH TWO; QQKN
+2EBB ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.015F.001F.2EBB] # CJK RADICAL BRUSH TWO; QQKN
2EBA ; [.FB41.0020.0004.8080][.8080.0000.0000.8080] # CJK RADICAL BRUSH ONE; QQK
2F81 ; [.FB41.0020.0004.8089][.8089.0000.0000.8089] # KANGXI RADICAL MEAT; QQK
-2EBC ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.0199.001F.2EBC] # CJK RADICAL MEAT; QQKN
+2EBC ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.015F.001F.2EBC] # CJK RADICAL MEAT; QQKN
F953 ; [.FB41.0020.0002.808B][.808B.0000.0000.808B] # CJK COMPATIBILITY IDEOGRAPH-F953; QQC
2F8D6 ; [.FB41.0020.0002.80AD][.80AD.0000.0000.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6; QQC
2F982 ; [.FB41.0020.0002.80B2][.80B2.0000.0000.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982; QQC
@@ -17620,16 +23831,17 @@ F926 ; [.FB41.0020.0002.81D8][.81D8.0000.0000.81D8] # CJK COMPATIBILITY IDEOGRA
2F82 ; [.FB41.0020.0004.81E3][.81E3.0000.0000.81E3] # KANGXI RADICAL MINISTER; QQK
F9F6 ; [.FB41.0020.0002.81E8][.81E8.0000.0000.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6; QQC
2F83 ; [.FB41.0020.0004.81EA][.81EA.0000.0000.81EA] # KANGXI RADICAL SELF; QQK
-3242 ; [*02B1.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*02B2.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF; QQKN
+3242 ; [*030E.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*030F.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF; QQKN
FA5C ; [.FB41.0020.0002.81ED][.81ED.0000.0000.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C; QQC
2F84 ; [.FB41.0020.0004.81F3][.81F3.0000.0000.81F3] # KANGXI RADICAL ARRIVE; QQK
-3243 ; [*02B1.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*02B2.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH; QQKN
+3243 ; [*030E.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*030F.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH; QQKN
2F85 ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC] # KANGXI RADICAL MORTAR; QQK
-2EBD ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.0199.001F.2EBD] # CJK RADICAL MORTAR; QQKN
+2EBD ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.015F.001F.2EBD] # CJK RADICAL MORTAR; QQKN
2F893 ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893; QQC
2F98B ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B; QQC
2F98C ; [.FB41.0020.0002.8204][.8204.0000.0000.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C; QQC
2F86 ; [.FB41.0020.0004.820C][.820C.0000.0000.820C] # KANGXI RADICAL TONGUE; QQK
+FA6D ; [.FB41.0020.0002.8218][.8218.0000.0000.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D; QQC
2F87 ; [.FB41.0020.0004.821B][.821B.0000.0000.821B] # KANGXI RADICAL OPPOSE; QQK
2F88 ; [.FB41.0020.0004.821F][.821F.0000.0000.821F] # KANGXI RADICAL BOAT; QQK
2F89 ; [.FB41.0020.0004.826E][.826E.0000.0000.826E] # KANGXI RADICAL STOPPING; QQK
@@ -17639,8 +23851,8 @@ F97C ; [.FB41.0020.0002.826F][.826F.0000.0000.826F] # CJK COMPATIBILITY IDEOGRA
FA5D ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D; QQC
FA5E ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E; QQC
2EBE ; [.FB41.0020.0004.8279][.8279.0000.0000.8279] # CJK RADICAL GRASS ONE; QQK
-2EBF ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0199.001F.2EBF] # CJK RADICAL GRASS TWO; QQKN
-2EC0 ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.019A.001F.2EC0] # CJK RADICAL GRASS THREE; QQKN
+2EBF ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.015F.001F.2EBF] # CJK RADICAL GRASS TWO; QQKN
+2EC0 ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0160.001F.2EC0] # CJK RADICAL GRASS THREE; QQKN
2F990 ; [.FB41.0020.0002.828B][.828B.0000.0000.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990; QQC
2F98F ; [.FB41.0020.0002.8291][.8291.0000.0000.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F; QQC
2F991 ; [.FB41.0020.0002.829D][.829D.0000.0000.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991; QQC
@@ -17730,7 +23942,8 @@ FAB8 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRA
2EC5 ; [.FB41.0020.0004.89C1][.89C1.0000.0000.89C1] # CJK RADICAL C-SIMPLIFIED SEE; QQK
2EC6 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # CJK RADICAL SIMPLIFIED HORN; QQK
2F93 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # KANGXI RADICAL HORN; QQK
-2EC7 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.0199.001F.2EC7] # CJK RADICAL HORN; QQKN
+2EC7 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.015F.001F.2EC7] # CJK RADICAL HORN; QQKN
+1F216 ; [.FB41.0020.001C.89E3][.89E3.0000.0000.89E3] # SQUARED CJK UNIFIED IDEOGRAPH-89E3; QQK
2F94 ; [.FB41.0020.0004.8A00][.8A00.0000.0000.8A00] # KANGXI RADICAL SPEECH; QQK
2F9CF ; [.FB41.0020.0002.8AA0][.8AA0.0000.0000.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF; QQC
F96F ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F; QQC
@@ -17761,12 +23974,13 @@ F900 ; [.FB41.0020.0002.8C48][.8C48.0000.0000.8C48] # CJK COMPATIBILITY IDEOGRA
2F97 ; [.FB41.0020.0004.8C55][.8C55.0000.0000.8C55] # KANGXI RADICAL PIG; QQK
2F98 ; [.FB41.0020.0004.8C78][.8C78.0000.0000.8C78] # KANGXI RADICAL BADGER; QQK
2F99 ; [.FB41.0020.0004.8C9D][.8C9D.0000.0000.8C9D] # KANGXI RADICAL SHELL; QQK
-3236 ; [*02B1.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*02B2.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL; QQKN
+3236 ; [*030E.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*030F.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL; QQKN
3296 ; [.FB41.0020.0006.8CA1][.8CA1.0000.0000.8CA1] # CIRCLED IDEOGRAPH FINANCIAL; QQK
+1F223 ; [.FB41.0020.001C.8CA9][.8CA9.0000.0000.8CA9] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9; QQK
2F9D4 ; [.FB41.0020.0002.8CAB][.8CAB.0000.0000.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4; QQC
2F9D5 ; [.FB41.0020.0002.8CC1][.8CC1.0000.0000.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5; QQC
F948 ; [.FB41.0020.0002.8CC2][.8CC2.0000.0000.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948; QQC
-323E ; [*02B1.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*02B2.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE; QQKN
+323E ; [*030E.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*030F.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE; QQKN
32AE ; [.FB41.0020.0006.8CC7][.8CC7.0000.0000.8CC7] # CIRCLED IDEOGRAPH RESOURCE; QQK
F903 ; [.FB41.0020.0002.8CC8][.8CC8.0000.0000.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903; QQC
FA64 ; [.FB41.0020.0002.8CD3][.8CD3.0000.0000.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64; QQC
@@ -17776,9 +23990,10 @@ FAC1 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRA
2EC9 ; [.FB41.0020.0004.8D1D][.8D1D.0000.0000.8D1D] # CJK RADICAL C-SIMPLIFIED SHELL; QQK
2F9A ; [.FB41.0020.0004.8D64][.8D64.0000.0000.8D64] # KANGXI RADICAL RED; QQK
2F9B ; [.FB41.0020.0004.8D70][.8D70.0000.0000.8D70] # KANGXI RADICAL RUN; QQK
+1F230 ; [.FB41.0020.001C.8D70][.8D70.0000.0000.8D70] # SQUARED CJK UNIFIED IDEOGRAPH-8D70; QQK
2F9D7 ; [.FB41.0020.0002.8D77][.8D77.0000.0000.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7; QQC
2F9C ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3] # KANGXI RADICAL FOOT; QQK
-2ECA ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.0199.001F.2ECA] # CJK RADICAL FOOT; QQKN
+2ECA ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.015F.001F.2ECA] # CJK RADICAL FOOT; QQKN
2F9DB ; [.FB41.0020.0002.8DBC][.8DBC.0000.0000.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB; QQC
2F9DA ; [.FB41.0020.0002.8DCB][.8DCB.0000.0000.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA; QQC
F937 ; [.FB41.0020.0002.8DEF][.8DEF.0000.0000.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937; QQC
@@ -17801,17 +24016,18 @@ F971 ; [.FB41.0020.0002.8FB0][.8FB0.0000.0000.8FB0] # CJK COMPATIBILITY IDEOGRA
2FA1 ; [.FB41.0020.0004.8FB5][.8FB5.0000.0000.8FB5] # KANGXI RADICAL WALK; QQK
FA66 ; [.FB41.0020.0002.8FB6][.8FB6.0000.0000.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66; QQC
2ECC ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6] # CJK RADICAL SIMPLIFIED WALK; QQK
-2ECD ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0199.001F.2ECD] # CJK RADICAL WALK ONE; QQKN
-2ECE ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.019A.001F.2ECE] # CJK RADICAL WALK TWO; QQKN
+2ECD ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.015F.001F.2ECD] # CJK RADICAL WALK ONE; QQKN
+2ECE ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0160.001F.2ECE] # CJK RADICAL WALK TWO; QQKN
F99A ; [.FB41.0020.0002.9023][.9023.0000.0000.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A; QQC
FA25 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25; QQC
FA67 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67; QQC
+1F22B ; [.FB41.0020.001C.904A][.904A.0000.0000.904A] # SQUARED CJK UNIFIED IDEOGRAPH-904A; QQK
329C ; [.FB41.0020.0006.9069][.9069.0000.0000.9069] # CIRCLED IDEOGRAPH SUITABLE; QQK
FAC3 ; [.FB41.0020.0002.9072][.9072.0000.0000.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3; QQC
F9C3 ; [.FB41.0020.0002.907C][.907C.0000.0000.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3; QQC
F913 ; [.FB41.0020.0002.908F][.908F.0000.0000.908F] # CJK COMPATIBILITY IDEOGRAPH-F913; QQC
2FA2 ; [.FB41.0020.0004.9091][.9091.0000.0000.9091] # KANGXI RADICAL CITY; QQK
-2ECF ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.0199.001F.2ECF] # CJK RADICAL CITY; QQKN
+2ECF ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.015F.001F.2ECF] # CJK RADICAL CITY; QQKN
2F9E2 ; [.FB41.0020.0002.9094][.9094.0000.0000.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2; QQC
F92C ; [.FB41.0020.0002.90CE][.90CE.0000.0000.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C; QQC
2F9E3 ; [.FB41.0020.0002.90F1][.90F1.0000.0000.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3; QQC
@@ -17828,7 +24044,7 @@ F9E9 ; [.FB41.0020.0002.91CC][.91CC.0000.0000.91CC] # CJK COMPATIBILITY IDEOGRA
F97E ; [.FB41.0020.0002.91CF][.91CF.0000.0000.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E; QQC
F90A ; [.FB41.0020.0002.91D1][.91D1.0000.0000.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A; QQC
2FA6 ; [.FB41.0020.0004.91D1][.91D1.0000.0000.91D1] # KANGXI RADICAL GOLD; QQK
-322E ; [*02B1.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*02B2.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL; QQKN
+322E ; [*030E.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*030F.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL; QQKN
328E ; [.FB41.0020.0006.91D1][.91D1.0000.0000.91D1] # CIRCLED IDEOGRAPH METAL; QQK
F9B1 ; [.FB41.0020.0002.9234][.9234.0000.0000.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1; QQC
2F9E7 ; [.FB41.0020.0002.9238][.9238.0000.0000.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7; QQC
@@ -17851,7 +24067,7 @@ F986 ; [.FB41.0020.0002.95AD][.95AD.0000.0000.95AD] # CJK COMPATIBILITY IDEOGRA
2F9F0 ; [.FB41.0020.0002.95B7][.95B7.0000.0000.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0; QQC
2ED4 ; [.FB41.0020.0004.95E8][.95E8.0000.0000.95E8] # CJK RADICAL C-SIMPLIFIED GATE; QQK
2FA9 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C] # KANGXI RADICAL MOUND; QQK
-2ED5 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.0199.001F.2ED5] # CJK RADICAL MOUND ONE; QQKN
+2ED5 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.015F.001F.2ED5] # CJK RADICAL MOUND ONE; QQKN
2ED6 ; [.FB41.0020.0004.961D][.961D.0000.0000.961D] # CJK RADICAL MOUND TWO; QQK
F9C6 ; [.FB41.0020.0002.962E][.962E.0000.0000.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6; QQC
F951 ; [.FB41.0020.0002.964B][.964B.0000.0000.964B] # CJK COMPATIBILITY IDEOGRAPH-F951; QQC
@@ -17869,7 +24085,7 @@ F9EA ; [.FB41.0020.0002.96E2][.96E2.0000.0000.96E2] # CJK COMPATIBILITY IDEOGRA
FA68 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68; QQC
FAC7 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7; QQC
2FAC ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8] # KANGXI RADICAL RAIN; QQK
-2ED7 ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.0199.001F.2ED7] # CJK RADICAL RAIN; QQKN
+2ED7 ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.015F.001F.2ED7] # CJK RADICAL RAIN; QQKN
F9B2 ; [.FB41.0020.0002.96F6][.96F6.0000.0000.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2; QQC
F949 ; [.FB41.0020.0002.96F7][.96F7.0000.0000.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949; QQC
2F9F5 ; [.FB41.0020.0002.9723][.9723.0000.0000.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5; QQC
@@ -17908,7 +24124,7 @@ F9D0 ; [.FB41.0020.0002.985E][.985E.0000.0000.985E] # CJK COMPATIBILITY IDEOGRA
2EDD ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # CJK RADICAL EAT ONE; QQK
2FB7 ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # KANGXI RADICAL EAT; QQK
2EDF ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0] # CJK RADICAL EAT THREE; QQK
-2EDE ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.0199.001F.2EDE] # CJK RADICAL EAT TWO; QQKN
+2EDE ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.015F.001F.2EDE] # CJK RADICAL EAT TWO; QQKN
2FA02 ; [.FB41.0020.0002.98E2][.98E2.0000.0000.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02; QQC
FA2A ; [.FB41.0020.0002.98EF][.98EF.0000.0000.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A; QQC
FA2B ; [.FB41.0020.0002.98FC][.98FC.0000.0000.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B; QQC
@@ -17916,7 +24132,7 @@ FA2C ; [.FB41.0020.0002.9928][.9928.0000.0000.9928] # CJK COMPATIBILITY IDEOGRA
2FA04 ; [.FB41.0020.0002.9929][.9929.0000.0000.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04; QQC
2EE0 ; [.FB41.0020.0004.9963][.9963.0000.0000.9963] # CJK RADICAL C-SIMPLIFIED EAT; QQK
2FB8 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996] # KANGXI RADICAL HEAD; QQK
-2EE1 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.0199.001F.2EE1] # CJK RADICAL HEAD; QQKN
+2EE1 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.015F.001F.2EE1] # CJK RADICAL HEAD; QQKN
2FB9 ; [.FB41.0020.0004.9999][.9999.0000.0000.9999] # KANGXI RADICAL FRAGRANT; QQK
2FA05 ; [.FB41.0020.0002.99A7][.99A7.0000.0000.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05; QQC
2FBA ; [.FB41.0020.0004.99AC][.99AC.0000.0000.99AC] # KANGXI RADICAL HORSE; QQK
@@ -17926,7 +24142,7 @@ F91A ; [.FB41.0020.0002.99F1][.99F1.0000.0000.99F1] # CJK COMPATIBILITY IDEOGRA
F987 ; [.FB41.0020.0002.9A6A][.9A6A.0000.0000.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987; QQC
2EE2 ; [.FB41.0020.0004.9A6C][.9A6C.0000.0000.9A6C] # CJK RADICAL C-SIMPLIFIED HORSE; QQK
2FBB ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8] # KANGXI RADICAL BONE; QQK
-2EE3 ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.0199.001F.2EE3] # CJK RADICAL BONE; QQKN
+2EE3 ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.015F.001F.2EE3] # CJK RADICAL BONE; QQKN
2FBC ; [.FB41.0020.0004.9AD8][.9AD8.0000.0000.9AD8] # KANGXI RADICAL TALL; QQK
2FBD ; [.FB41.0020.0004.9ADF][.9ADF.0000.0000.9ADF] # KANGXI RADICAL HAIR; QQK
FACD ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD; QQC
@@ -17935,7 +24151,7 @@ FACD ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRA
2FBF ; [.FB41.0020.0004.9B2F][.9B2F.0000.0000.9B2F] # KANGXI RADICAL SACRIFICIAL WINE; QQK
2FC0 ; [.FB41.0020.0004.9B32][.9B32.0000.0000.9B32] # KANGXI RADICAL CAULDRON; QQK
2FC1 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C] # KANGXI RADICAL GHOST; QQK
-2EE4 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.0199.001F.2EE4] # CJK RADICAL GHOST; QQKN
+2EE4 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.015F.001F.2EE4] # CJK RADICAL GHOST; QQKN
2FC2 ; [.FB41.0020.0004.9B5A][.9B5A.0000.0000.9B5A] # KANGXI RADICAL FISH; QQK
F939 ; [.FB41.0020.0002.9B6F][.9B6F.0000.0000.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939; QQC
2FA0B ; [.FB41.0020.0002.9C40][.9C40.0000.0000.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B; QQC
@@ -17949,7 +24165,7 @@ F93A ; [.FB41.0020.0002.9DFA][.9DFA.0000.0000.9DFA] # CJK COMPATIBILITY IDEOGRA
F920 ; [.FB41.0020.0002.9E1E][.9E1E.0000.0000.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920; QQC
2EE6 ; [.FB41.0020.0004.9E1F][.9E1F.0000.0000.9E1F] # CJK RADICAL C-SIMPLIFIED BIRD; QQK
2FC4 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75] # KANGXI RADICAL SALT; QQK
-2EE7 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.0199.001F.2EE7] # CJK RADICAL C-SIMPLIFIED SALT; QQKN
+2EE7 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.015F.001F.2EE7] # CJK RADICAL C-SIMPLIFIED SALT; QQKN
F940 ; [.FB41.0020.0002.9E7F][.9E7F.0000.0000.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940; QQC
2FC5 ; [.FB41.0020.0004.9E7F][.9E7F.0000.0000.9E7F] # KANGXI RADICAL DEER; QQK
F988 ; [.FB41.0020.0002.9E97][.9E97.0000.0000.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988; QQC
@@ -17978,22 +24194,22 @@ F989 ; [.FB41.0020.0002.9ECE][.9ECE.0000.0000.9ECE] # CJK COMPATIBILITY IDEOGRA
2FD0 ; [.FB41.0020.0004.9F3B][.9F3B.0000.0000.9F3B] # KANGXI RADICAL NOSE; QQK
FAD8 ; [.FB41.0020.0002.9F43][.9F43.0000.0000.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8; QQC
2FD1 ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A] # KANGXI RADICAL EVEN; QQK
-2EEB ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.0199.001F.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN; QQKN
+2EEB ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.015F.001F.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN; QQKN
2EEC ; [.FB41.0020.0004.9F50][.9F50.0000.0000.9F50] # CJK RADICAL C-SIMPLIFIED EVEN; QQK
2FD2 ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52] # KANGXI RADICAL TOOTH; QQK
-2EED ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.0199.001F.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH; QQKN
+2EED ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.015F.001F.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH; QQKN
2EEE ; [.FB41.0020.0004.9F7F][.9F7F.0000.0000.9F7F] # CJK RADICAL C-SIMPLIFIED TOOTH; QQK
F9C4 ; [.FB41.0020.0002.9F8D][.9F8D.0000.0000.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4; QQC
2FD3 ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D] # KANGXI RADICAL DRAGON; QQK
-2EEF ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.0199.001F.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON; QQKN
+2EEF ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.015F.001F.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON; QQKN
FAD9 ; [.FB41.0020.0002.9F8E][.9F8E.0000.0000.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9; QQC
2EF0 ; [.FB41.0020.0004.9F99][.9F99.0000.0000.9F99] # CJK RADICAL C-SIMPLIFIED DRAGON; QQK
F907 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907; QQC
F908 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908; QQC
FACE ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE; QQC
2FD4 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C] # KANGXI RADICAL TURTLE; QQK
-2EF1 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0199.001F.2EF1] # CJK RADICAL TURTLE; QQKN
-2EF2 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.019A.001F.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE; QQKN
+2EF1 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.015F.001F.2EF1] # CJK RADICAL TURTLE; QQKN
+2EF2 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0160.001F.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE; QQKN
2EF3 ; [.FB41.0020.0004.9F9F][.9F9F.0000.0000.9F9F] # CJK RADICAL C-SIMPLIFIED TURTLE; QQK
2FD5 ; [.FB41.0020.0004.9FA0][.9FA0.0000.0000.9FA0] # KANGXI RADICAL FLUTE; QQK
FA0E ; [.FB41.0020.0002.FA0E][.FA0E.0000.0000.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
@@ -18122,6 +24338,7 @@ FAD1 ; [.FB84.0020.0002.233D5][.B3D5.0000.0000.233D5] # CJK COMPATIBILITY IDEOG
2F910 ; [.FB84.0020.0002.23F5E][.BF5E.0000.0000.23F5E] # CJK COMPATIBILITY IDEOGRAPH-2F910; QQC
2F911 ; [.FB84.0020.0002.23F8E][.BF8E.0000.0000.23F8E] # CJK COMPATIBILITY IDEOGRAPH-2F911; QQC
2F91D ; [.FB84.0020.0002.24263][.C263.0000.0000.24263] # CJK COMPATIBILITY IDEOGRAPH-2F91D; QQC
+FA6C ; [.FB84.0020.0002.242EE][.C2EE.0000.0000.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C; QQC
2F91F ; [.FB84.0020.0002.243AB][.C3AB.0000.0000.243AB] # CJK COMPATIBILITY IDEOGRAPH-2F91F; QQC
2F923 ; [.FB84.0020.0002.24608][.C608.0000.0000.24608] # CJK COMPATIBILITY IDEOGRAPH-2F923; QQC
2F926 ; [.FB84.0020.0002.24735][.C735.0000.0000.24735] # CJK COMPATIBILITY IDEOGRAPH-2F926; QQC
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm b/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
index ad5ff82a836..f4bd7a4f1fa 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
@@ -13,13 +13,9 @@ use Carp;
no warnings 'utf8';
-our $VERSION = '1.03';
+our $VERSION = '1.10';
our $PACKAGE = __PACKAGE__;
-require Exporter;
-require DynaLoader;
-
-our @ISA = qw(Exporter DynaLoader);
our @EXPORT = qw( NFC NFD NFKC NFKD );
our @EXPORT_OK = qw(
normalize decompose reorder compose
@@ -27,8 +23,8 @@ our @EXPORT_OK = qw(
getCanon getCompat getComposite getCombinClass
isExclusion isSingleton isNonStDecomp isComp2nd isComp_Ex
isNFD_NO isNFC_NO isNFC_MAYBE isNFKD_NO isNFKC_NO isNFKC_MAYBE
- FCD checkFCD FCC checkFCC composeContiguous
- splitOnLastStarter
+ FCD checkFCD FCC checkFCC composeContiguous splitOnLastStarter
+ normalize_partial NFC_partial NFD_partial NFKC_partial NFKD_partial
);
our %EXPORT_TAGS = (
all => [ @EXPORT, @EXPORT_OK ],
@@ -37,14 +33,8 @@ our %EXPORT_TAGS = (
fast => [ qw/FCD checkFCD FCC checkFCC composeContiguous/ ],
);
-######
-
-bootstrap Unicode::Normalize $VERSION;
-
-######
-
##
-## utilites for tests
+## utilities for tests
##
sub pack_U {
@@ -55,9 +45,18 @@ sub unpack_U {
return unpack('U*', shift(@_).pack('U*'));
}
+require Exporter;
+
+##### The above part is common to XS and PP #####
+
+our @ISA = qw(Exporter DynaLoader);
+require DynaLoader;
+bootstrap Unicode::Normalize $VERSION;
+
+##### The below part is common to XS and PP #####
##
-## normalization forms
+## normalize
##
sub FCD ($) {
@@ -83,9 +82,27 @@ sub normalize($$)
croak($PACKAGE."::normalize: invalid form name: $form");
}
+##
+## partial
+##
+
+sub normalize_partial ($$) {
+ if (exists $formNorm{$_[0]}) {
+ my $n = normalize($_[0], $_[1]);
+ my($p, $u) = splitOnLastStarter($n);
+ $_[1] = $u;
+ return $p;
+ }
+ croak($PACKAGE."::normalize_partial: invalid form name: $_[0]");
+}
+
+sub NFD_partial ($) { return normalize_partial('NFD', $_[0]) }
+sub NFC_partial ($) { return normalize_partial('NFC', $_[0]) }
+sub NFKD_partial($) { return normalize_partial('NFKD',$_[0]) }
+sub NFKC_partial($) { return normalize_partial('NFKC',$_[0]) }
##
-## quick check
+## check
##
our %formCheck = (
@@ -239,6 +256,82 @@ you can get its NFC/NFKC string, by saying
$NFC_string = compose($NFD_string);
$NFKC_string = compose($NFKD_string);
+=item C<($processed, $unprocessed) = splitOnLastStarter($normalized)>
+
+It returns two strings: the first one, C<$processed>, is a part
+before the last starter, and the second one, C<$unprocessed> is
+another part after the first part. A starter is a character having
+a combining class of zero (see UAX #15).
+
+Note that C<$processed> may be empty (when C<$normalized> contains no
+starter or starts with the last starter), and then C<$unprocessed>
+should be equal to the entire C<$normalized>.
+
+When you have a C<$normalized> string and an C<$unnormalized> string
+following it, a simple concatenation is wrong:
+
+ $concat = $normalized . normalize($form, $unnormalized); # wrong!
+
+Instead of it, do like this:
+
+ ($processed, $unprocessed) = splitOnLastStarter($normalized);
+ $concat = $processed . normalize($form, $unprocessed.$unnormalized);
+
+C<splitOnLastStarter()> should be called with a pre-normalized parameter
+C<$normalized>, that is in the same form as C<$form> you want.
+
+If you have an array of C<@string> that should be concatenated and then
+normalized, you can do like this:
+
+ my $result = "";
+ my $unproc = "";
+ foreach my $str (@string) {
+ $unproc .= $str;
+ my $n = normalize($form, $unproc);
+ my($p, $u) = splitOnLastStarter($n);
+ $result .= $p;
+ $unproc = $u;
+ }
+ $result .= $unproc;
+ # instead of normalize($form, join('', @string))
+
+=item C<$processed = normalize_partial($form, $unprocessed)>
+
+A wrapper for the combination of C<normalize()> and C<splitOnLastStarter()>.
+Note that C<$unprocessed> will be modified as a side-effect.
+
+If you have an array of C<@string> that should be concatenated and then
+normalized, you can do like this:
+
+ my $result = "";
+ my $unproc = "";
+ foreach my $str (@string) {
+ $unproc .= $str;
+ $result .= normalize_partial($form, $unproc);
+ }
+ $result .= $unproc;
+ # instead of normalize($form, join('', @string))
+
+=item C<$processed = NFD_partial($unprocessed)>
+
+It does like C<normalize_partial('NFD', $unprocessed)>.
+Note that C<$unprocessed> will be modified as a side-effect.
+
+=item C<$processed = NFC_partial($unprocessed)>
+
+It does like C<normalize_partial('NFC', $unprocessed)>.
+Note that C<$unprocessed> will be modified as a side-effect.
+
+=item C<$processed = NFKD_partial($unprocessed)>
+
+It does like C<normalize_partial('NFKD', $unprocessed)>.
+Note that C<$unprocessed> will be modified as a side-effect.
+
+=item C<$processed = NFKC_partial($unprocessed)>
+
+It does like C<normalize_partial('NFKC', $unprocessed)>.
+Note that C<$unprocessed> will be modified as a side-effect.
+
=back
=head2 Quick Check
@@ -321,15 +414,15 @@ while C<"B\N{COMBINING ACUTE ACCENT}"> is in NFC.
If you want to check exactly, compare the string with its NFC/NFKC/FCC.
if ($string eq NFC($string)) {
- # $string is exactly normalized in NFC;
+ # $string is exactly normalized in NFC;
} else {
- # $string is not normalized in NFC;
+ # $string is not normalized in NFC;
}
if ($string eq NFKC($string)) {
- # $string is exactly normalized in NFKC;
+ # $string is exactly normalized in NFKC;
} else {
- # $string is not normalized in NFKC;
+ # $string is not normalized in NFKC;
}
=head2 Character Data
@@ -454,7 +547,9 @@ normalization implemented by this module depends on your perl's version.
5.8.4-5.8.6 4.0.1 (normalization is same as 4.0.0)
5.8.7-5.8.8 4.1.0
5.10.0 5.0.0
- 5.8.9 5.1.0
+ 5.8.9, 5.10.1 5.1.0
+ 5.12.0-5.12.2 5.2.0
+ (5.13.7-5.13.11) 6.0.0
=item Correction of decomposition mapping
@@ -482,7 +577,7 @@ lower than 4.1.0.
SADAHIRO Tomoyuki <SADAHIRO@cpan.org>
-Copyright(C) 2001-2007, SADAHIRO Tomoyuki. Japan. All rights reserved.
+Copyright(C) 2001-2011, SADAHIRO Tomoyuki. Japan. All rights reserved.
This module is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Unicode/UCD.pm b/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
index c6ee8e05fe2..30acd503b84 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
@@ -2,8 +2,11 @@ package Unicode::UCD;
use strict;
use warnings;
+no warnings 'surrogate'; # surrogates can be inputs to this
+use charnames ();
+use Unicode::Normalize qw(getCombinClass NFKD);
-our $VERSION = '0.27';
+our $VERSION = '0.32';
use Storable qw(dclone);
@@ -18,7 +21,9 @@ our @EXPORT_OK = qw(charinfo
general_categories bidi_types
compexcl
casefold casespec
- namedseq);
+ namedseq
+ num
+ );
use Carp;
@@ -65,6 +70,9 @@ Unicode::UCD - Unicode character database
my $unicode_version = Unicode::UCD::UnicodeVersion();
+ my $convert_to_numeric =
+ Unicode::UCD::num("\N{RUMI DIGIT ONE}\N{RUMI DIGIT TWO}");
+
=head1 DESCRIPTION
The Unicode::UCD module offers a series of functions that
@@ -78,16 +86,12 @@ a decimal or a hexadecimal scalar designating a Unicode code point, or C<U+>
followed by hexadecimals designating a Unicode code point. In other words, if
you want a code point to be interpreted as a hexadecimal number, you must
prefix it with either C<0x> or C<U+>, because a string like e.g. C<123> will be
-interpreted as a decimal code point. Also note that Unicode is B<not> limited
-to 16 bits (the number of Unicode code points is open-ended, in theory
-unlimited): you may have more than 4 hexdigits.
+interpreted as a decimal code point. Note that the largest code point in
+Unicode is U+10FFFF.
=cut
-my $UNICODEFH;
my $BLOCKSFH;
-my $SCRIPTSFH;
my $VERSIONFH;
-my $COMPEXCLFH;
my $CASEFOLDFH;
my $CASESPECFH;
my $NAMEDSEQFH;
@@ -170,13 +174,17 @@ I<code>. Each has at least four hexdigits.
The codes may be preceded by a word enclosed in angle brackets then a space,
like C<E<lt>compatE<gt> >, giving the type of decomposition
+This decomposition may be an intermediate one whose components are also
+decomposable. Use L<Unicode::Normalize> to get the final decomposition.
+
=item B<decimal>
if I<code> is a decimal digit this is its integer numeric value
=item B<digit>
-if I<code> represents a whole number, this is its integer numeric value
+if I<code> represents some other digit-like number, this is its integer
+numeric value
=item B<numeric>
@@ -194,14 +202,12 @@ existed for this code point and is different from the current name
=item B<comment>
-ISO 10646 comment field.
-It appears in parentheses in the ISO 10646 names list,
-or contains an asterisk to indicate there is
-a note for this code point in Annex P of that standard.
+As of Unicode 6.0, this is always empty.
=item B<upper>
-is empty if there is no single code point uppercase mapping for I<code>;
+is empty if there is no single code point uppercase mapping for I<code>
+(its uppercase mapping is itself);
otherwise it is that mapping expressed as at least four hexdigits.
(L</casespec()> should be used in addition to B<charinfo()>
for case mappings when the calling program can cope with multiple code point
@@ -209,7 +215,8 @@ mappings.)
=item B<lower>
-is empty if there is no single code point lowercase mapping for I<code>;
+is empty if there is no single code point lowercase mapping for I<code>
+(its lowercase mapping is itself);
otherwise it is that mapping expressed as at least four hexdigits.
(L</casespec()> should be used in addition to B<charinfo()>
for case mappings when the calling program can cope with multiple code point
@@ -217,7 +224,8 @@ mappings.)
=item B<title>
-is empty if there is no single code point titlecase mapping for I<code>;
+is empty if there is no single code point titlecase mapping for I<code>
+(its titlecase mapping is itself);
otherwise it is that mapping expressed as at least four hexdigits.
(L</casespec()> should be used in addition to B<charinfo()>
for case mappings when the calling program can cope with multiple code point
@@ -225,7 +233,7 @@ mappings.)
=item B<block>
-block I<code> belongs to (used in \p{In...}).
+block I<code> belongs to (used in C<\p{Blk=...}>).
See L</Blocks versus Scripts>.
@@ -242,7 +250,7 @@ you will need also the L</compexcl()>, and L</casespec()> functions.
=cut
-# NB: This function is duplicated in charnames.pm
+# NB: This function is nearly duplicated in charnames.pm
sub _getcode {
my $arg = shift;
@@ -255,134 +263,152 @@ sub _getcode {
return;
}
-# Lingua::KO::Hangul::Util not part of the standard distribution
-# but it will be used if available.
-
-eval { require Lingua::KO::Hangul::Util };
-my $hasHangulUtil = ! $@;
-if ($hasHangulUtil) {
- Lingua::KO::Hangul::Util->import();
-}
-
-sub hangul_decomp { # internal: called from charinfo
- if ($hasHangulUtil) {
- my @tmp = decomposeHangul(shift);
- return sprintf("%04X %04X", @tmp) if @tmp == 2;
- return sprintf("%04X %04X %04X", @tmp) if @tmp == 3;
- }
- return;
-}
-
-sub hangul_charname { # internal: called from charinfo
- return sprintf("HANGUL SYLLABLE-%04X", shift);
+# Populated by _num. Converts real number back to input rational
+my %real_to_rational;
+
+# To store the contents of files found on disk.
+my @BIDIS;
+my @CATEGORIES;
+my @DECOMPOSITIONS;
+my @NUMERIC_TYPES;
+my @SIMPLE_LOWER;
+my @SIMPLE_TITLE;
+my @SIMPLE_UPPER;
+my @UNICODE_1_NAMES;
+
+sub _charinfo_case {
+
+ # Returns the value to set into one of the case fields in the charinfo
+ # structure.
+ # $char is the character,
+ # $cased is the case-changed character
+ # $file is the file in lib/unicore/To/$file that contains the data
+ # needed for this, in the form that _search() understands.
+ # $array_ref points to the array holding the contents of $file. It will
+ # be populated if empty.
+ # By using the 'uc', etc. functions, we avoid loading more files into
+ # memory except for those rare cases where the simple casing (which has
+ # been what charinfo() has always returned, is different than the full
+ # casing.
+ my ($char, $cased, $file, $array_ref) = @_;
+
+ return "" if $cased eq $char;
+
+ return sprintf("%04X", ord $cased) if length($cased) == 1;
+
+ @$array_ref =_read_table("unicore/To/$file") unless @$array_ref;
+ return _search($array_ref, 0, $#$array_ref, ord $char) // "";
}
-sub han_charname { # internal: called from charinfo
- return sprintf("CJK UNIFIED IDEOGRAPH-%04X", shift);
-}
+sub charinfo {
-# Overwritten by data in file
-my %first_last = (
- 'CJK Ideograph Extension A' => [ 0x3400, 0x4DB5 ],
- 'CJK Ideograph' => [ 0x4E00, 0x9FA5 ],
- 'CJK Ideograph Extension B' => [ 0x20000, 0x2A6D6 ],
-);
-
-get_charinfo_ranges();
-
-sub get_charinfo_ranges {
- my @blocks = keys %first_last;
-
- my $fh;
- openunicode( \$fh, 'UnicodeData.txt' );
- if( defined $fh ){
- while( my $line = <$fh> ){
- next unless $line =~ /(?:First|Last)/;
- if( grep{ $line =~ /[^;]+;<$_\s*,\s*(?:First|Last)>/ }@blocks ){
- my ($number,$block,$type);
- ($number,$block) = split /;/, $line;
- $block =~ s/<|>//g;
- ($block,$type) = split /, /, $block;
- my $index = $type eq 'First' ? 0 : 1;
- $first_last{ $block }->[$index] = hex $number;
- }
- }
- }
-}
+ # This function has traditionally mimicked what is in UnicodeData.txt,
+ # warts and all. This is a re-write that avoids UnicodeData.txt so that
+ # it can be removed to save disk space. Instead, this assembles
+ # information gotten by other methods that get data from various other
+ # files. It uses charnames to get the character name; and various
+ # mktables tables.
-my @CharinfoRanges = (
-# block name
-# [ first, last, coderef to name, coderef to decompose ],
-# CJK Ideographs Extension A
- [ @{ $first_last{'CJK Ideograph Extension A'} }, \&han_charname, undef ],
-# CJK Ideographs
- [ @{ $first_last{'CJK Ideograph'} }, \&han_charname, undef ],
-# Hangul Syllables
- [ 0xAC00, 0xD7A3, $hasHangulUtil ? \&getHangulName : \&hangul_charname, \&hangul_decomp ],
-# Non-Private Use High Surrogates
- [ 0xD800, 0xDB7F, undef, undef ],
-# Private Use High Surrogates
- [ 0xDB80, 0xDBFF, undef, undef ],
-# Low Surrogates
- [ 0xDC00, 0xDFFF, undef, undef ],
-# The Private Use Area
- [ 0xE000, 0xF8FF, undef, undef ],
-# CJK Ideographs Extension B
- [ @{ $first_last{'CJK Ideograph Extension B'} }, \&han_charname, undef ],
-# Plane 15 Private Use Area
- [ 0xF0000, 0xFFFFD, undef, undef ],
-# Plane 16 Private Use Area
- [ 0x100000, 0x10FFFD, undef, undef ],
-);
+ use feature 'unicode_strings';
-sub charinfo {
my $arg = shift;
my $code = _getcode($arg);
- croak __PACKAGE__, "::charinfo: unknown code '$arg'"
- unless defined $code;
- my $hexk = sprintf("%06X", $code);
- my($rcode,$rname,$rdec);
- foreach my $range (@CharinfoRanges){
- if ($range->[0] <= $code && $code <= $range->[1]) {
- $rcode = $hexk;
- $rcode =~ s/^0+//;
- $rcode = sprintf("%04X", hex($rcode));
- $rname = $range->[2] ? $range->[2]->($code) : '';
- $rdec = $range->[3] ? $range->[3]->($code) : '';
- $hexk = sprintf("%06X", $range->[0]); # replace by the first
- last;
- }
+ croak __PACKAGE__, "::charinfo: unknown code '$arg'" unless defined $code;
+
+ # Non-unicode implies undef.
+ return if $code > 0x10FFFF;
+
+ my %prop;
+ my $char = chr($code);
+
+ @CATEGORIES =_read_table("unicore/To/Gc.pl") unless @CATEGORIES;
+ $prop{'category'} = _search(\@CATEGORIES, 0, $#CATEGORIES, $code)
+ // $utf8::SwashInfo{'ToGc'}{'missing'};
+
+ return if $prop{'category'} eq 'Cn'; # Unassigned code points are undef
+
+ $prop{'code'} = sprintf "%04X", $code;
+ $prop{'name'} = ($char =~ /\p{Cntrl}/) ? '<control>'
+ : (charnames::viacode($code) // "");
+
+ $prop{'combining'} = getCombinClass($code);
+
+ @BIDIS =_read_table("unicore/To/Bc.pl") unless @BIDIS;
+ $prop{'bidi'} = _search(\@BIDIS, 0, $#BIDIS, $code)
+ // $utf8::SwashInfo{'ToBc'}{'missing'};
+
+ # For most code points, we can just read in "unicore/Decomposition.pl", as
+ # its contents are exactly what should be output. But that file doesn't
+ # contain the data for the Hangul syllable decompositions, which can be
+ # algorithmically computed, and NFKD() does that, so we call NFKD() for
+ # those. We can't use NFKD() for everything, as it does a complete
+ # recursive decomposition, and what this function has always done is to
+ # return what's in UnicodeData.txt which doesn't have the recursivenss
+ # specified.
+ # in the decomposition types. No decomposition implies an empty field;
+ # otherwise, all but "Canonical" imply a compatible decomposition, and
+ # the type is prefixed to that, as it is in UnicodeData.txt
+ if ($char =~ /\p{Block=Hangul_Syllables}/) {
+ # The code points of the decomposition are output in standard Unicode
+ # hex format, separated by blanks.
+ $prop{'decomposition'} = join " ", map { sprintf("%04X", $_)}
+ unpack "U*", NFKD($char);
}
- openunicode(\$UNICODEFH, "UnicodeData.txt");
- if (defined $UNICODEFH) {
- use Search::Dict 1.02;
- if (look($UNICODEFH, "$hexk;", { xfrm => sub { $_[0] =~ /^([^;]+);(.+)/; sprintf "%06X;$2", hex($1) } } ) >= 0) {
- my $line = <$UNICODEFH>;
- return unless defined $line;
- chomp $line;
- my %prop;
- @prop{qw(
- code name category
- combining bidi decomposition
- decimal digit numeric
- mirrored unicode10 comment
- upper lower title
- )} = split(/;/, $line, -1);
- $hexk =~ s/^0+//;
- $hexk = sprintf("%04X", hex($hexk));
- if ($prop{code} eq $hexk) {
- $prop{block} = charblock($code);
- $prop{script} = charscript($code);
- if(defined $rname){
- $prop{code} = $rcode;
- $prop{name} = $rname;
- $prop{decomposition} = $rdec;
- }
- return \%prop;
- }
- }
+ else {
+ @DECOMPOSITIONS = _read_table("unicore/Decomposition.pl")
+ unless @DECOMPOSITIONS;
+ $prop{'decomposition'} = _search(\@DECOMPOSITIONS, 0, $#DECOMPOSITIONS,
+ $code) // "";
}
- return;
+
+ # Can use num() to get the numeric values, if any.
+ if (! defined (my $value = num($char))) {
+ $prop{'decimal'} = $prop{'digit'} = $prop{'numeric'} = "";
+ }
+ else {
+ if ($char =~ /\d/) {
+ $prop{'decimal'} = $prop{'digit'} = $prop{'numeric'} = $value;
+ }
+ else {
+
+ # For non-decimal-digits, we have to read in the Numeric type
+ # to distinguish them. It is not just a matter of integer vs.
+ # rational, as some whole number values are not considered digits,
+ # e.g., TAMIL NUMBER TEN.
+ $prop{'decimal'} = "";
+
+ @NUMERIC_TYPES =_read_table("unicore/To/Nt.pl")
+ unless @NUMERIC_TYPES;
+ if ((_search(\@NUMERIC_TYPES, 0, $#NUMERIC_TYPES, $code) // "")
+ eq 'Digit')
+ {
+ $prop{'digit'} = $prop{'numeric'} = $value;
+ }
+ else {
+ $prop{'digit'} = "";
+ $prop{'numeric'} = $real_to_rational{$value} // $value;
+ }
+ }
+ }
+
+ $prop{'mirrored'} = ($char =~ /\p{Bidi_Mirrored}/) ? 'Y' : 'N';
+
+ @UNICODE_1_NAMES =_read_table("unicore/To/Na1.pl") unless @UNICODE_1_NAMES;
+ $prop{'unicode10'} = _search(\@UNICODE_1_NAMES, 0, $#UNICODE_1_NAMES, $code)
+ // "";
+
+ # This is true starting in 6.0, but, num() also requires 6.0, so
+ # don't need to test for version again here.
+ $prop{'comment'} = "";
+
+ $prop{'upper'} = _charinfo_case($char, uc $char, '_suc.pl', \@SIMPLE_UPPER);
+ $prop{'lower'} = _charinfo_case($char, lc $char, '_slc.pl', \@SIMPLE_LOWER);
+ $prop{'title'} = _charinfo_case($char, ucfirst $char, '_stc.pl',
+ \@SIMPLE_TITLE);
+
+ $prop{block} = charblock($code);
+ $prop{script} = charscript($code);
+ return \%prop;
}
sub _search { # Binary search in a [[lo,hi,prop],[...],...] table.
@@ -405,6 +431,39 @@ sub _search { # Binary search in a [[lo,hi,prop],[...],...] table.
}
}
+sub _read_table {
+
+ # Returns the contents of the mktables generated table file located at $1
+ # in the form of an array of arrays. Each outer array denotes a range
+ # with [0] the start point of that range; [1] the end point; and [2] the
+ # value that every code point in the range has.
+ #
+ # This has the side effect of setting
+ # $utf8::SwashInfo{$property}{'format'} to be the mktables format of the
+ # table; and
+ # $utf8::SwashInfo{$property}{'missing'} to be the value for all entries
+ # not listed in the table.
+ # where $property is the Unicode property name, preceded by 'To' for map
+ # properties., e.g., 'ToSc'.
+ #
+ # Table entries look like one of:
+ # 0000 0040 Common # [65]
+ # 00AA Latin
+
+ my $table = shift;
+ my @return;
+ local $_;
+
+ for (split /^/m, do $table) {
+ my ($start, $end, $value) = / ^ (.+?) \t (.*?) \t (.+?)
+ \s* ( \# .* )? # Optional comment
+ $ /x;
+ $end = $start if $end eq "";
+ push @return, [ hex $start, hex $end, $value ];
+ }
+ return @return;
+}
+
sub charinrange {
my ($range, $arg) = @_;
my $code = _getcode($arg);
@@ -444,6 +503,9 @@ my @BLOCKS;
my %BLOCKS;
sub _charblocks {
+
+ # Can't read from the mktables table because it loses the hyphens in the
+ # original.
unless (@BLOCKS) {
if (openunicode(\$BLOCKSFH, "Blocks.txt")) {
local $_;
@@ -468,13 +530,12 @@ sub charblock {
my $code = _getcode($arg);
if (defined $code) {
- _search(\@BLOCKS, 0, $#BLOCKS, $code);
- } else {
- if (exists $BLOCKS{$arg}) {
- return dclone $BLOCKS{$arg};
- } else {
- return;
- }
+ my $result = _search(\@BLOCKS, 0, $#BLOCKS, $code);
+ return $result if defined $result;
+ return 'No_Block';
+ }
+ elsif (exists $BLOCKS{$arg}) {
+ return dclone $BLOCKS{$arg};
}
}
@@ -507,22 +568,10 @@ my @SCRIPTS;
my %SCRIPTS;
sub _charscripts {
- unless (@SCRIPTS) {
- if (openunicode(\$SCRIPTSFH, "Scripts.txt")) {
- local $_;
- while (<$SCRIPTSFH>) {
- if (/^([0-9A-F]+)(?:\.\.([0-9A-F]+))?\s+;\s+(\w+)/) {
- my ($lo, $hi) = (hex($1), $2 ? hex($2) : hex($1));
- my $script = lc($3);
- $script =~ s/\b(\w)/uc($1)/ge;
- my $subrange = [ $lo, $hi, $script ];
- push @SCRIPTS, $subrange;
- push @{$SCRIPTS{$script}}, $subrange;
- }
- }
- close($SCRIPTSFH);
- @SCRIPTS = sort { $a->[0] <=> $b->[0] } @SCRIPTS;
- }
+ @SCRIPTS =_read_table("unicore/To/Sc.pl") unless @SCRIPTS;
+ foreach my $entry (@SCRIPTS) {
+ $entry->[2] =~ s/(_\w)/\L$1/g; # Preserve old-style casing
+ push @{$SCRIPTS{$entry->[2]}}, $entry;
}
}
@@ -534,14 +583,14 @@ sub charscript {
my $code = _getcode($arg);
if (defined $code) {
- _search(\@SCRIPTS, 0, $#SCRIPTS, $code);
- } else {
- if (exists $SCRIPTS{$arg}) {
- return dclone $SCRIPTS{$arg};
- } else {
- return;
- }
+ my $result = _search(\@SCRIPTS, 0, $#SCRIPTS, $code);
+ return $result if defined $result;
+ return $utf8::SwashInfo{'ToSc'}{'missing'};
+ } elsif (exists $SCRIPTS{$arg}) {
+ return dclone $SCRIPTS{$arg};
}
+
+ return;
}
=head2 B<charblocks()>
@@ -583,7 +632,7 @@ sub charscripts {
=head2 B<charinrange()>
-In addition to using the C<\p{In...}> and C<\P{In...}> constructs, you
+In addition to using the C<\p{Blk=...}> and C<\P{Blk=...}> constructs, you
can also test whether a code point is in the I<range> as returned by
L</charblock()> and L</charscript()> or as the values of the hash returned
by L</charblocks()> and L</charscripts()> by using charinrange():
@@ -709,45 +758,43 @@ sub bidi_types {
my $compexcl = compexcl(0x09dc);
-This returns B<true> if the
-L</code point argument> should not be produced by composition normalization,
-B<AND> if that fact is not otherwise determinable from the Unicode data base.
-It currently does not return B<true> if the code point has a decomposition
+This routine is included for backwards compatibility, but as of Perl 5.12, for
+most purposes it is probably more convenient to use one of the following
+instead:
+
+ my $compexcl = chr(0x09dc) =~ /\p{Comp_Ex};
+ my $compexcl = chr(0x09dc) =~ /\p{Full_Composition_Exclusion};
+
+or even
+
+ my $compexcl = chr(0x09dc) =~ /\p{CE};
+ my $compexcl = chr(0x09dc) =~ /\p{Composition_Exclusion};
+
+The first two forms return B<true> if the L</code point argument> should not
+be produced by composition normalization. The final two forms
+additionally require that this fact not otherwise be determinable from
+the Unicode data base for them to return B<true>.
+
+This routine behaves identically to the final two forms. That is,
+it does not return B<true> if the code point has a decomposition
consisting of another single code point, nor if its decomposition starts
with a code point whose combining class is non-zero. Code points that meet
either of these conditions should also not be produced by composition
-normalization.
+normalization, which is probably why you should use the
+C<Full_Composition_Exclusion> property instead, as shown above.
-It returns B<false> otherwise.
+The routine returns B<false> otherwise.
=cut
-my %COMPEXCL;
-
-sub _compexcl {
- unless (%COMPEXCL) {
- if (openunicode(\$COMPEXCLFH, "CompositionExclusions.txt")) {
- local $_;
- while (<$COMPEXCLFH>) {
- if (/^([0-9A-F]+)\s+\#\s+/) {
- my $code = hex($1);
- $COMPEXCL{$code} = undef;
- }
- }
- close($COMPEXCLFH);
- }
- }
-}
-
sub compexcl {
my $arg = shift;
my $code = _getcode($arg);
croak __PACKAGE__, "::compexcl: unknown code '$arg'"
unless defined $code;
- _compexcl() unless %COMPEXCL;
-
- return exists $COMPEXCL{$code};
+ no warnings "non_unicode"; # So works on non-Unicode code points
+ return chr($code) =~ /\p{Composition_Exclusion}/;
}
=head2 B<casefold()>
@@ -978,7 +1025,7 @@ one or more codes (separated by spaces) that taken in order give the
code points for the title case of I<code>.
Each has at least four hexdigits.
-=item B<lower>
+=item B<upper>
one or more codes (separated by spaces) that taken in order give the
code points for the upper case of I<code>.
@@ -1019,7 +1066,7 @@ will be its locale name, defined as a 2-letter ISO 3166 country code, possibly
followed by a "_" and a 2-letter ISO language code (possibly followed by a "_"
and a variant code). You can find the lists of all possible locales, see
L<Locale::Country> and L<Locale::Language>.
-(In Unicode 5.1, the only locales returned by this function
+(In Unicode 6.0, the only locales returned by this function
are C<lt>, C<tr>, and C<az>.)
Each locale key is a reference to a hash that has the form above, and gives
@@ -1123,19 +1170,26 @@ on the context.
This function only operates on officially approved (not provisional) named
sequences.
+Note that as of Perl 5.14, C<\N{KATAKANA LETTER AINU P}> will insert the named
+sequence into double-quoted strings, and C<charnames::string_vianame("KATAKANA
+LETTER AINU P")> will return the same string this function does, but will also
+operate on character names that aren't named sequences, without you having to
+know which are which. See L<charnames>.
+
=cut
my %NAMEDSEQ;
sub _namedseq {
unless (%NAMEDSEQ) {
- if (openunicode(\$NAMEDSEQFH, "NamedSequences.txt")) {
+ if (openunicode(\$NAMEDSEQFH, "Name.pl")) {
local $_;
while (<$NAMEDSEQFH>) {
- if (/^(.+)\s*;\s*([0-9A-F]+(?: [0-9A-F]+)*)$/) {
- my ($n, $s) = ($1, $2);
- my @s = map { chr(hex($_)) } split(' ', $s);
- $NAMEDSEQ{$n} = join("", @s);
+ if (/^ [0-9A-F]+ \ /x) {
+ chomp;
+ my ($sequence, $name) = split /\t/;
+ my @s = map { chr(hex($_)) } split(' ', $sequence);
+ $NAMEDSEQ{$name} = join("", @s);
}
}
close($NAMEDSEQFH);
@@ -1144,23 +1198,159 @@ sub _namedseq {
}
sub namedseq {
- _namedseq() unless %NAMEDSEQ;
+
+ # Use charnames::string_vianame() which now returns this information,
+ # unless the caller wants the hash returned, in which case we read it in,
+ # and thereafter use it instead of calling charnames, as it is faster.
+
my $wantarray = wantarray();
if (defined $wantarray) {
if ($wantarray) {
if (@_ == 0) {
+ _namedseq() unless %NAMEDSEQ;
return %NAMEDSEQ;
} elsif (@_ == 1) {
- my $s = $NAMEDSEQ{ $_[0] };
+ my $s;
+ if (%NAMEDSEQ) {
+ $s = $NAMEDSEQ{ $_[0] };
+ }
+ else {
+ $s = charnames::string_vianame($_[0]);
+ }
return defined $s ? map { ord($_) } split('', $s) : ();
}
} elsif (@_ == 1) {
- return $NAMEDSEQ{ $_[0] };
+ return $NAMEDSEQ{ $_[0] } if %NAMEDSEQ;
+ return charnames::string_vianame($_[0]);
}
}
return;
}
+my %NUMERIC;
+
+sub _numeric {
+
+ # Unicode 6.0 instituted the rule that only digits in a consecutive
+ # block of 10 would be considered decimal digits. Before that, the only
+ # problematic code point that I'm (khw) aware of is U+019DA, NEW TAI LUE
+ # THAM DIGIT ONE, which is an alternate form of U+019D1, NEW TAI LUE DIGIT
+ # ONE. The code could be modified to handle that, but not bothering, as
+ # in TUS 6.0, U+19DA was changed to Nt=Di.
+ if ((pack "C*", split /\./, UnicodeVersion()) lt 6.0.0) {
+ croak __PACKAGE__, "::num requires Unicode 6.0 or greater"
+ }
+ my @numbers = _read_table("unicore/To/Nv.pl");
+ foreach my $entry (@numbers) {
+ my ($start, $end, $value) = @$entry;
+
+ # If value contains a slash, convert to decimal, add a reverse hash
+ # used by charinfo.
+ if ((my @rational = split /\//, $value) == 2) {
+ my $real = $rational[0] / $rational[1];
+ $real_to_rational{$real} = $value;
+ $value = $real;
+ }
+
+ for my $i ($start .. $end) {
+ $NUMERIC{$i} = $value;
+ }
+ }
+
+ # Decided unsafe to use these that aren't officially part of the Unicode
+ # standard.
+ #use Math::Trig;
+ #my $pi = acos(-1.0);
+ #$NUMERIC{0x03C0} = $pi;
+
+ # Euler's constant, not to be confused with Euler's number
+ #$NUMERIC{0x2107} = 0.57721566490153286060651209008240243104215933593992;
+
+ # Euler's number
+ #$NUMERIC{0x212F} = 2.7182818284590452353602874713526624977572;
+
+ return;
+}
+
+=pod
+
+=head2 num
+
+C<num> returns the numeric value of the input Unicode string; or C<undef> if it
+doesn't think the entire string has a completely valid, safe numeric value.
+
+If the string is just one character in length, the Unicode numeric value
+is returned if it has one, or C<undef> otherwise. Note that this need
+not be a whole number. C<num("\N{TIBETAN DIGIT HALF ZERO}")>, for
+example returns -0.5.
+
+=cut
+
+#A few characters to which Unicode doesn't officially
+#assign a numeric value are considered numeric by C<num>.
+#These are:
+
+# EULER CONSTANT 0.5772... (this is NOT Euler's number)
+# SCRIPT SMALL E 2.71828... (this IS Euler's number)
+# GREEK SMALL LETTER PI 3.14159...
+
+=pod
+
+If the string is more than one character, C<undef> is returned unless
+all its characters are decimal digits (that is they would match C<\d+>),
+from the same script. For example if you have an ASCII '0' and a Bengali
+'3', mixed together, they aren't considered a valid number, and C<undef>
+is returned. A further restriction is that the digits all have to be of
+the same form. A half-width digit mixed with a full-width one will
+return C<undef>. The Arabic script has two sets of digits; C<num> will
+return C<undef> unless all the digits in the string come from the same
+set.
+
+C<num> errs on the side of safety, and there may be valid strings of
+decimal digits that it doesn't recognize. Note that Unicode defines
+a number of "digit" characters that aren't "decimal digit" characters.
+"Decimal digits" have the property that they have a positional value, i.e.,
+there is a units position, a 10's position, a 100's, etc, AND they are
+arranged in Unicode in blocks of 10 contiguous code points. The Chinese
+digits, for example, are not in such a contiguous block, and so Unicode
+doesn't view them as decimal digits, but merely digits, and so C<\d> will not
+match them. A single-character string containing one of these digits will
+have its decimal value returned by C<num>, but any longer string containing
+only these digits will return C<undef>.
+
+Strings of multiple sub- and superscripts are not recognized as numbers. You
+can use either of the compatibility decompositions in Unicode::Normalize to
+change these into digits, and then call C<num> on the result.
+
+=cut
+
+# To handle sub, superscripts, this could if called in list context,
+# consider those, and return the <decomposition> type in the second
+# array element.
+
+sub num {
+ my $string = $_[0];
+
+ _numeric unless %NUMERIC;
+
+ my $length = length($string);
+ return $NUMERIC{ord($string)} if $length == 1;
+ return if $string =~ /\D/;
+ my $first_ord = ord(substr($string, 0, 1));
+ my $value = $NUMERIC{$first_ord};
+ my $zero_ord = $first_ord - $value;
+
+ for my $i (1 .. $length -1) {
+ my $ord = ord(substr($string, $i, 1));
+ my $digit = $ord - $zero_ord;
+ return unless $digit >= 0 && $digit <= 9;
+ $value = $value * 10 + $digit;
+ }
+ return $value;
+}
+
+
+
=head2 Unicode::UCD::UnicodeVersion
This returns the version of the Unicode Character Database, in other words, the
@@ -1204,7 +1394,7 @@ For scripts see UTR #24: L<http://www.unicode.org/unicode/reports/tr24/>
Scripts are matched with the regular-expression construct
C<\p{...}> (e.g. C<\p{Tibetan}> matches characters of the Tibetan script),
-while C<\p{In...}> is used for blocks (e.g. C<\p{InTibetan}> matches
+while C<\p{Blk=...}> is used for blocks (e.g. C<\p{Blk=Tibetan}> matches
any of the 256 code points in the Tibetan block).
@@ -1219,8 +1409,6 @@ if you are wondering where one of your filehandles went, that's where.
Does not yet support EBCDIC platforms.
-L</compexcl()> should give a complete list of excluded code points.
-
=head1 AUTHOR
Jarkko Hietaniemi
diff --git a/Master/tlpkg/tlperl/lib/WWW/RobotRules.pm b/Master/tlpkg/tlperl/lib/WWW/RobotRules.pm
index 0b9fda3b768..5dfc4539349 100644
--- a/Master/tlpkg/tlperl/lib/WWW/RobotRules.pm
+++ b/Master/tlpkg/tlperl/lib/WWW/RobotRules.pm
@@ -1,6 +1,6 @@
package WWW::RobotRules;
-$VERSION = "5.832";
+$VERSION = "6.02";
sub Version { $VERSION; }
use strict;
@@ -443,3 +443,11 @@ However, the intention is clear.
=head1 SEE ALSO
L<LWP::RobotUA>, L<WWW::RobotRules::AnyDBM_File>
+
+=head1 COPYRIGHT
+
+ Copyright 1995-2009, Gisle Aas
+ Copyright 1995, Martijn Koster
+
+This library is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/WWW/RobotRules/AnyDBM_File.pm b/Master/tlpkg/tlperl/lib/WWW/RobotRules/AnyDBM_File.pm
index 145b4a8b13e..8daa68870f7 100644
--- a/Master/tlpkg/tlperl/lib/WWW/RobotRules/AnyDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/WWW/RobotRules/AnyDBM_File.pm
@@ -2,7 +2,7 @@ package WWW::RobotRules::AnyDBM_File;
require WWW::RobotRules;
@ISA = qw(WWW::RobotRules);
-$VERSION = "5.835";
+$VERSION = "6.00";
use Carp ();
use AnyDBM_File;
diff --git a/Master/tlpkg/tlperl/lib/Win32.pm b/Master/tlpkg/tlperl/lib/Win32.pm
index 4015eac841c..d9425cff267 100644
--- a/Master/tlpkg/tlperl/lib/Win32.pm
+++ b/Master/tlpkg/tlperl/lib/Win32.pm
@@ -1,6 +1,6 @@
package Win32;
-BEGIN {
+# BEGIN {
use strict;
use vars qw|$VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK|;
@@ -8,7 +8,7 @@ BEGIN {
require DynaLoader;
@ISA = qw|Exporter DynaLoader|;
- $VERSION = '0.39';
+ $VERSION = '0.44';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -79,7 +79,7 @@ BEGIN {
CSIDL_RESOURCES_LOCALIZED
CSIDL_CDBURN_AREA
);
-}
+# }
# We won't bother with the constant stuff, too much of a hassle. Just hard
# code it here.
@@ -154,6 +154,106 @@ sub CSIDL_RESOURCES () { 0x0038 } # %windir%\Resources\, Fo
sub CSIDL_RESOURCES_LOCALIZED () { 0x0039 } # %windir%\Resources\<LangID>, for theme and other windows specific resources.
sub CSIDL_CDBURN_AREA () { 0x003B } # <user name>\Local Settings\Application Data\Microsoft\CD Burning
+sub VER_NT_DOMAIN_CONTROLLER () { 0x0000002 } # The system is a domain controller and the operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
+sub VER_NT_SERVER () { 0x0000003 } # The operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
+# Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.
+sub VER_NT_WORKSTATION () { 0x0000001 } # The operating system is Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
+
+
+sub VER_SUITE_BACKOFFICE () { 0x00000004 } # Microsoft BackOffice components are installed.
+sub VER_SUITE_BLADE () { 0x00000400 } # Windows Server 2003, Web Edition is installed.
+sub VER_SUITE_COMPUTE_SERVER () { 0x00004000 } # Windows Server 2003, Compute Cluster Edition is installed.
+sub VER_SUITE_DATACENTER () { 0x00000080 } # Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition, or Windows 2000 Datacenter Server is installed.
+sub VER_SUITE_ENTERPRISE () { 0x00000002 } # Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, or Windows 2000 Advanced Server is installed. Refer to the Remarks section for more information about this bit flag.
+sub VER_SUITE_EMBEDDEDNT () { 0x00000040 } # Windows XP Embedded is installed.
+sub VER_SUITE_PERSONAL () { 0x00000200 } # Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed.
+sub VER_SUITE_SINGLEUSERTS () { 0x00000100 } # Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode.
+sub VER_SUITE_SMALLBUSINESS () { 0x00000001 } # Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows. Refer to the Remarks section for more information about this bit flag.
+sub VER_SUITE_SMALLBUSINESS_RESTRICTED () { 0x00000020 } # Microsoft Small Business Server is installed with the restrictive client license in force. Refer to the Remarks section for more information about this bit flag.
+sub VER_SUITE_STORAGE_SERVER () { 0x00002000 } # Windows Storage Server 2003 R2 or Windows Storage Server 2003 is installed.
+sub VER_SUITE_TERMINAL () { 0x00000010 } # Terminal Services is installed. This value is always set.
+# If VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the system is running in application server mode.
+sub VER_SUITE_WH_SERVER () { 0x00008000 } # Windows Home Server is installed.
+
+
+sub SM_TABLETPC () { 86 }
+sub SM_MEDIACENTER () { 87 }
+sub SM_STARTER () { 88 }
+sub SM_SERVERR2 () { 89 }
+
+sub PRODUCT_UNDEFINED () { 0x000 } # An unknown product
+sub PRODUCT_ULTIMATE () { 0x001 } # Ultimate
+sub PRODUCT_HOME_BASIC () { 0x002 } # Home Basic
+sub PRODUCT_HOME_PREMIUM () { 0x003 } # Home Premium
+sub PRODUCT_ENTERPRISE () { 0x004 } # Enterprise
+sub PRODUCT_HOME_BASIC_N () { 0x005 } # Home Basic N
+sub PRODUCT_BUSINESS () { 0x006 } # Business
+sub PRODUCT_STANDARD_SERVER () { 0x007 } # Server Standard (full installation)
+sub PRODUCT_DATACENTER_SERVER () { 0x008 } # Server Datacenter (full installation)
+sub PRODUCT_SMALLBUSINESS_SERVER () { 0x009 } # Windows Small Business Server
+sub PRODUCT_ENTERPRISE_SERVER () { 0x00A } # Server Enterprise (full installation)
+sub PRODUCT_STARTER () { 0x00B } # Starter
+sub PRODUCT_DATACENTER_SERVER_CORE () { 0x00C } # Server Datacenter (core installation)
+sub PRODUCT_STANDARD_SERVER_CORE () { 0x00D } # Server Standard (core installation)
+sub PRODUCT_ENTERPRISE_SERVER_CORE () { 0x00E } # Server Enterprise (core installation)
+sub PRODUCT_ENTERPRISE_SERVER_IA64 () { 0x00F } # Server Enterprise for Itanium-based Systems
+sub PRODUCT_BUSINESS_N () { 0x010 } # Business N
+sub PRODUCT_WEB_SERVER () { 0x011 } # Web Server (full installation)
+sub PRODUCT_CLUSTER_SERVER () { 0x012 } # HPC Edition
+sub PRODUCT_HOME_SERVER () { 0x013 } # Home Server Edition
+sub PRODUCT_STORAGE_EXPRESS_SERVER () { 0x014 } # Storage Server Express
+sub PRODUCT_STORAGE_STANDARD_SERVER () { 0x015 } # Storage Server Standard
+sub PRODUCT_STORAGE_WORKGROUP_SERVER () { 0x016 } # Storage Server Workgroup
+sub PRODUCT_STORAGE_ENTERPRISE_SERVER () { 0x017 } # Storage Server Enterprise
+sub PRODUCT_SERVER_FOR_SMALLBUSINESS () { 0x018 } # Windows Server 2008 for Windows Essential Server Solutions
+sub PRODUCT_SMALLBUSINESS_SERVER_PREMIUM () { 0x019 } # Windows Small Business Server Premium
+sub PRODUCT_HOME_PREMIUM_N () { 0x01A } # Home Premium N
+sub PRODUCT_ENTERPRISE_N () { 0x01B } # Enterprise N
+sub PRODUCT_ULTIMATE_N () { 0x01C } # Ultimate N
+sub PRODUCT_WEB_SERVER_CORE () { 0x01D } # Web Server (core installation)
+sub PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT () { 0x01E } # Windows Essential Business Server Management Server
+sub PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY () { 0x01F } # Windows Essential Business Server Security Server
+sub PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING () { 0x020 } # Windows Essential Business Server Messaging Server
+sub PRODUCT_SERVER_FOUNDATION () { 0x021 } # Server Foundation
+
+sub PRODUCT_SERVER_FOR_SMALLBUSINESS_V () { 0x023 } # Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
+sub PRODUCT_STANDARD_SERVER_V () { 0x024 } # Server Standard without Hyper-V (full installation)
+sub PRODUCT_DATACENTER_SERVER_V () { 0x025 } # Server Datacenter without Hyper-V (full installation)
+sub PRODUCT_ENTERPRISE_SERVER_V () { 0x026 } # Server Enterprise without Hyper-V (full installation)
+sub PRODUCT_DATACENTER_SERVER_CORE_V () { 0x027 } # Server Datacenter without Hyper-V (core installation)
+sub PRODUCT_STANDARD_SERVER_CORE_V () { 0x028 } # Server Standard without Hyper-V (core installation)
+sub PRODUCT_ENTERPRISE_SERVER_CORE_V () { 0x029 } # Server Enterprise without Hyper-V (core installation)
+sub PRODUCT_HYPERV () { 0x02A } # Microsoft Hyper-V Server
+
+sub PRODUCT_STARTER_N () { 0x02F } # Starter N
+sub PRODUCT_PROFESSIONAL () { 0x030 } # Professional
+sub PRODUCT_PROFESSIONAL_N () { 0x031 } # Professional N
+
+sub PRODUCT_STARTER_E () { 0x042 } # Starter E
+sub PRODUCT_HOME_BASIC_E () { 0x043 } # Home Basic E
+sub PRODUCT_HOME_PREMIUM_E () { 0x044 } # Home Premium E
+sub PRODUCT_PROFESSIONAL_E () { 0x045 } # Professional E
+sub PRODUCT_ENTERPRISE_E () { 0x046 } # Enterprise E
+sub PRODUCT_ULTIMATE_E () { 0x047 } # Ultimate E
+
+sub PRODUCT_UNLICENSED () { 0xABCDABCD } # product has not been activated and is no longer in the grace period
+
+sub PROCESSOR_ARCHITECTURE_AMD64 () { 9 } # x64 (AMD or Intel)
+sub PROCESSOR_ARCHITECTURE_IA64 () { 6 } # Intel Itanium Processor Family (IPF)
+sub PROCESSOR_ARCHITECTURE_INTEL () { 0 } # x86
+sub PROCESSOR_ARCHITECTURE_UNKNOWN () { 0xffff } # Unknown architecture.
+
+sub _GetProcessorArchitecture {
+ my $arch = {
+ 386 => PROCESSOR_ARCHITECTURE_INTEL,
+ 486 => PROCESSOR_ARCHITECTURE_INTEL,
+ 586 => PROCESSOR_ARCHITECTURE_INTEL,
+ 2200 => PROCESSOR_ARCHITECTURE_IA64,
+ 8664 => PROCESSOR_ARCHITECTURE_AMD64,
+ }->{Win32::GetChipName()};
+ return defined($arch) ? $arch : PROCESSOR_ARCHITECTURE_UNKNOWN;
+}
+
### This method is just a simple interface into GetOSVersion(). More
### specific or demanding situations should use that instead.
@@ -161,22 +261,71 @@ my ($cached_os, $cached_desc);
sub GetOSName {
unless (defined $cached_os) {
- my($desc, $major, $minor, $build, $id, undef, undef, undef, $producttype)
+ my($desc, $major, $minor, $build, $id, undef, undef, $suitemask, $producttype)
= Win32::GetOSVersion();
- ($cached_os, $cached_desc) = _GetOSName($desc, $major, $minor, $build, $id, $producttype);
+ my $arch = _GetProcessorArchitecture();
+ my $productinfo = Win32::GetProductInfo(6, 0, 0, 0);
+ ($cached_os, $cached_desc) = _GetOSName($desc, $major, $minor, $build, $id,
+ $suitemask, $producttype, $productinfo, $arch);
}
return wantarray ? ($cached_os, $cached_desc) : $cached_os;
}
+sub GetOSDisplayName {
+ # Calling GetOSDisplayName() with arguments is for the test suite only!
+ my($name,$desc) = @_ ? @_ : GetOSName();
+ $name =~ s/^Win//;
+ if ($desc =~ /^Windows Home Server\b/ || $desc =~ /^Windows XP Professional x64 Edition\b/) {
+ ($name, $desc) = ($desc, "");
+ }
+ elsif ($desc =~ s/\s*(Windows (.*) Server( \d+)?)//) {
+ $name = "$1 $name";
+ $desc =~ s/^\s+//;
+ }
+ else {
+ for ($name) {
+ s/^/Windows / unless /^Win32s$/;
+ s/\/.Net//;
+ s/NT(\d)/NT $1/;
+ if ($desc =~ s/\s*(HPC|Small Business|Web) Server//) {
+ my $name = $1;
+ $desc =~ s/^\s*//;
+ s/(200.)/$name Server $1/;
+ }
+ s/^Windows (200[38])/Windows Server $1/;
+ }
+ }
+ $name .= " $desc" if length $desc;
+ return $name;
+}
+
+sub _GetSystemMetrics {
+ my($index,$metrics) = @_;
+ return Win32::GetSystemMetrics($index) unless ref $metrics;
+ return $metrics->{$index} if ref $metrics eq "HASH" && defined $metrics->{$index};
+ return 1 if ref $metrics eq "ARRAY" && grep $_ == $index, @$metrics;
+ return 0;
+}
+
sub _GetOSName {
- my($desc, $major, $minor, $build, $id, $producttype) = @_;
+ # The $metrics argument only exists for the benefit of t/GetOSName.t
+ my($csd, $major, $minor, $build, $id, $suitemask, $producttype, $productinfo, $arch, $metrics) = @_;
- my($os,$tag);
+ my($os,@tags);
+ my $desc = "";
if ($id == 0) {
$os = "Win32s";
}
elsif ($id == 1) {
- $os = { 0 => "95", 10 => "98", 90 => "Me" }->{$minor};
+ if ($minor == 0) {
+ $os = "95";
+ }
+ elsif ($minor == 10) {
+ $os = "98";
+ }
+ elsif ($minor == 90) {
+ $os = "Me";
+ }
}
elsif ($id == 2) {
if ($major == 3) {
@@ -186,12 +335,194 @@ sub _GetOSName {
$os = "NT4";
}
elsif ($major == 5) {
- $os = { 0 => "2000", 1 => "XP/.Net", 2 => "2003" }->{$minor};
+ if ($minor == 0) {
+ $os = "2000";
+ if ($producttype == VER_NT_WORKSTATION) {
+ $desc = "Professional";
+ }
+ else {
+ if ($suitemask & VER_SUITE_DATACENTER) {
+ $desc = "Datacenter Server";
+ }
+ elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+ $desc = "Advanced Server";
+ }
+ elsif ($suitemask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
+ $desc = "Small Business Server";
+ }
+ else {
+ $desc = "Server";
+ }
+ }
+ # XXX ignoring "Windows 2000 Advanced Server Limited Edition" for Itanium
+ # XXX and "Windows 2000 Datacenter Server Limited Edition" for Itanium
+ }
+ elsif ($minor == 1) {
+ $os = "XP/.Net";
+ if (_GetSystemMetrics(SM_MEDIACENTER, $metrics)) {
+ $desc = "Media Center Edition";
+ }
+ elsif (_GetSystemMetrics(SM_TABLETPC, $metrics)) {
+ # Tablet PC Edition is based on XP Pro
+ $desc = "Tablet PC Edition";
+ }
+ elsif (_GetSystemMetrics(SM_STARTER, $metrics)) {
+ $desc = "Starter Edition";
+ }
+ elsif ($suitemask & VER_SUITE_PERSONAL) {
+ $desc = "Home Edition";
+ }
+ else {
+ $desc = "Professional";
+ }
+ # XXX ignoring all Windows XP Embedded and Fundamentals versions
+ }
+ elsif ($minor == 2) {
+ $os = "2003";
+
+ if (_GetSystemMetrics(SM_SERVERR2, $metrics)) {
+ # XXX R2 was released for all x86 and x64 versions,
+ # XXX but only Enterprise Edition for Itanium.
+ $desc = "R2";
+ }
+
+ if ($suitemask == VER_SUITE_STORAGE_SERVER) {
+ $desc .= " Windows Storage Server";
+ }
+ elsif ($suitemask == VER_SUITE_WH_SERVER) {
+ $desc .= " Windows Home Server";
+ }
+ elsif ($producttype == VER_NT_WORKSTATION && $arch == PROCESSOR_ARCHITECTURE_AMD64) {
+ $desc .= " Windows XP Professional x64 Edition";
+ }
+
+ # Test for the server type.
+ if ($producttype != VER_NT_WORKSTATION) {
+ if ($arch == PROCESSOR_ARCHITECTURE_IA64) {
+ if ($suitemask & VER_SUITE_DATACENTER) {
+ $desc .= " Datacenter Edition for Itanium-based Systems";
+ }
+ elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+ $desc .= " Enterprise Edition for Itanium-based Systems";
+ }
+ }
+ elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
+ if ($suitemask & VER_SUITE_DATACENTER) {
+ $desc .= " Datacenter x64 Edition";
+ }
+ elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+ $desc .= " Enterprise x64 Edition";
+ }
+ else {
+ $desc .= " Standard x64 Edition";
+ }
+ }
+ else {
+ if ($suitemask & VER_SUITE_COMPUTE_SERVER) {
+ $desc .= " Windows Compute Cluster Server";
+ }
+ elsif ($suitemask & VER_SUITE_DATACENTER) {
+ $desc .= " Datacenter Edition";
+ }
+ elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+ $desc .= " Enterprise Edition";
+ }
+ elsif ($suitemask & VER_SUITE_BLADE) {
+ $desc .= " Web Edition";
+ }
+ elsif ($suitemask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
+ $desc .= " Small Business Server";
+ }
+ else {
+ if ($desc !~ /Windows (Home|Storage) Server/) {
+ $desc .= " Standard Edition";
+ }
+ }
+ }
+ }
+ }
}
elsif ($major == 6) {
- $os = { 0 => "Vista", 1 => "7" }->{$minor};
- # 2008 is same as Vista but has "Domaincontroller" or "Server" type
- $os = "2008" if $os eq "Vista" && $producttype != 1;
+ if ($minor == 0) {
+ if ($producttype == VER_NT_WORKSTATION) {
+ $os = "Vista";
+ }
+ else {
+ $os = "2008";
+ }
+ }
+ elsif ($minor == 1) {
+ if ($producttype == VER_NT_WORKSTATION) {
+ $os = "7";
+ }
+ else {
+ $os = "2008";
+ $desc = "R2";
+ }
+ }
+
+ if ($productinfo == PRODUCT_ULTIMATE) {
+ $desc .= " Ultimate";
+ }
+ elsif ($productinfo == PRODUCT_HOME_PREMIUM) {
+ $desc .= " Home Premium";
+ }
+ elsif ($productinfo == PRODUCT_HOME_BASIC) {
+ $desc .= " Home Basic";
+ }
+ elsif ($productinfo == PRODUCT_ENTERPRISE) {
+ $desc .= " Enterprise";
+ }
+ elsif ($productinfo == PRODUCT_BUSINESS) {
+ # "Windows 7 Business" had a name change to "Windows 7 Professional"
+ $desc .= $minor == 0 ? " Business" : " Professional";
+ }
+ elsif ($productinfo == PRODUCT_STARTER) {
+ $desc .= " Starter";
+ }
+ elsif ($productinfo == PRODUCT_CLUSTER_SERVER) {
+ $desc .= " HPC Server";
+ }
+ elsif ($productinfo == PRODUCT_DATACENTER_SERVER) {
+ $desc .= " Datacenter";
+ }
+ elsif ($productinfo == PRODUCT_DATACENTER_SERVER_CORE) {
+ $desc .= " Datacenter Edition (core installation)";
+ }
+ elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER) {
+ $desc .= " Enterprise";
+ }
+ elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER_CORE) {
+ $desc .= " Enterprise Edition (core installation)";
+ }
+ elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER_IA64) {
+ $desc .= " Enterprise Edition for Itanium-based Systems";
+ }
+ elsif ($productinfo == PRODUCT_SMALLBUSINESS_SERVER) {
+ $desc .= " Small Business Server";
+ }
+ elsif ($productinfo == PRODUCT_SMALLBUSINESS_SERVER_PREMIUM) {
+ $desc .= " Small Business Server Premium Edition";
+ }
+ elsif ($productinfo == PRODUCT_STANDARD_SERVER) {
+ $desc .= " Standard";
+ }
+ elsif ($productinfo == PRODUCT_STANDARD_SERVER_CORE) {
+ $desc .= " Standard Edition (core installation)";
+ }
+ elsif ($productinfo == PRODUCT_WEB_SERVER) {
+ $desc .= " Web Server";
+ }
+ elsif ($productinfo == PRODUCT_PROFESSIONAL) {
+ $desc .= " Professional";
+ }
+
+ if ($arch == PROCESSOR_ARCHITECTURE_INTEL) {
+ $desc .= " (32-bit)";
+ }
+ elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
+ $desc .= " (64-bit)";
+ }
}
}
@@ -200,19 +531,29 @@ sub _GetOSName {
return;
}
- # Take a look at the build numbers and try to deduce
- # the exact release name, but we put that in the $desc
- if ($os eq "95") {
- $tag = { 67109814 => "(a)", 67306684 => "(b1)", "67109975" => "(b2)" }->{$build};
+ for ($desc) {
+ s/\s\s+/ /g;
+ s/^\s//;
+ s/\s$//;
}
- elsif ($os eq "98" && $build eq "67766446") {
- $tag = "(2nd ed)";
+
+ # XXX What about "Small Business Server"? NT, 200, 2003, 2008 editions...
+
+ if ($major >= 5) {
+ # XXX XP, Vista, 7 all have starter editions
+ #push(@tags, "Starter Edition") if _GetSystemMetrics(SM_STARTER, $metrics);
}
- if ($tag) {
- $desc = length($desc) ? "$tag $desc" : $tag;
+
+ if (@tags) {
+ unshift(@tags, $desc) if length $desc;
+ $desc = join(" ", @tags);
}
- return ("Win$os", $desc);
+ if (length $csd) {
+ $desc .= " " if length $desc;
+ $desc .= $csd;
+ }
+ return ("Win$os", $desc);
}
# "no warnings 'redefine';" doesn't work for 5.8.7 and earlier
@@ -366,8 +707,10 @@ $ENV{PROCESSOR_ARCHITECTURE}. This might not work on Win9X.
=item Win32::GetChipName()
-Returns the processor type: 386, 486 or 586 for Intel processors,
-21064 for the Alpha chip.
+Returns the processor type: 386, 486 or 586 for x86 processors, 8664
+for the x64 processor and 2200 for the Itanium. Since it returns the
+native processor type it will return a 64-bit processor type even when
+called from a 32-bit Perl running on 64-bit Windows.
=item Win32::GetCwd()
@@ -505,6 +848,72 @@ before passing the path to a system call or another program.
[CORE] Returns a string in the form of "<d>:" where <d> is the first
available drive letter.
+=item Win32::GetOSDisplayName()
+
+Returns the "marketing" name of the Windows operating system version
+being used. It returns names like these (random samples):
+
+ Windows 2000 Datacenter Server
+ Windows XP Professional
+ Windows XP Tablet PC Edition
+ Windows Home Server
+ Windows Server 2003 Enterprise Edition for Itanium-based Systems
+ Windows Vista Ultimate (32-bit)
+ Windows Small Business Server 2008 R2 (64-bit)
+
+The display name describes the native Windows version, so even on a
+32-bit Perl this function may return a "Windows ... (64-bit)" name
+when running on a 64-bit Windows.
+
+This function should only be used to display the actual OS name to the
+user; it should not be used to determine the class of operating systems
+this system belongs to. The Win32::GetOSName(), Win32::GetOSVersion,
+Win32::GetProductInfo() and Win32::GetSystemMetrics() functions provide
+the base information to check for certain capabilities, or for families
+of OS releases.
+
+=item Win32::GetOSName()
+
+In scalar context returns the name of the Win32 operating system
+being used. In list context returns a two element list of the OS name
+and whatever edition information is known about the particular build
+(for Win9X boxes) and whatever service packs have been installed.
+The latter is roughly equivalent to the first item returned by
+GetOSVersion() in list context.
+
+The description will also include tags for other special editions,
+like "R2", "Media Center", "Tablet PC", or "Starter Edition".
+
+Currently the possible values for the OS name are
+
+ WinWin32s
+ Win95
+ Win98
+ WinMe
+ WinNT3.51
+ WinNT4
+ Win2000
+ WinXP/.Net
+ Win2003
+ WinHomeSvr
+ WinVista
+ Win2008
+ Win7
+
+This routine is just a simple interface into GetOSVersion(). More
+specific or demanding situations should use that instead. Another
+option would be to use POSIX::uname(), however the latter appears to
+report only the OS family name and not the specific OS. In scalar
+context it returns just the ID.
+
+The name "WinXP/.Net" is used for historical reasons only, to maintain
+backwards compatibility of the Win32 module. Windows .NET Server has
+been renamed as Windows 2003 Server before final release and uses a
+different major/minor version number than Windows XP.
+
+Similarly the name "WinWin32s" should have been "Win32s" but has been
+kept as-is for backwards compatibility reasons too.
+
=item Win32::GetOSVersion()
[CORE] Returns the list (STRING, MAJOR, MINOR, BUILD, ID), where the
@@ -517,26 +926,40 @@ the ID.
Currently known values for ID MAJOR and MINOR are as follows:
- OS ID MAJOR MINOR
- Win32s 0 - -
- Windows 95 1 4 0
- Windows 98 1 4 10
- Windows Me 1 4 90
- Windows NT 3.51 2 3 51
- Windows NT 4 2 4 0
- Windows 2000 2 5 0
- Windows XP 2 5 1
- Windows Server 2003 2 5 2
- Windows Vista 2 6 0
- Windows Server 2008 2 6 0
- Windows 7 2 6 1
+ OS ID MAJOR MINOR
+ Win32s 0 - -
+ Windows 95 1 4 0
+ Windows 98 1 4 10
+ Windows Me 1 4 90
+
+ Windows NT 3.51 2 3 51
+ Windows NT 4 2 4 0
+
+ Windows 2000 2 5 0
+ Windows XP 2 5 1
+ Windows Server 2003 2 5 2
+ Windows Server 2003 R2 2 5 2
+ Windows Home Server 2 5 2
+
+ Windows Vista 2 6 0
+ Windows Server 2008 2 6 0
+ Windows 7 2 6 1
+ Windows Server 2008 R2 2 6 1
On Windows NT 4 SP6 and later this function returns the following
additional values: SPMAJOR, SPMINOR, SUITEMASK, PRODUCTTYPE.
+The version numbers for Windows 2003 and Windows Home Server are
+identical; the SUITEMASK field must be used to differentiate between\
+them.
+
The version numbers for Windows Vista and Windows Server 2008 are
-identical; the PRODUCTTYPE field must be used to differentiate
-between them.
+identical; the PRODUCTTYPE field must be used to differentiate between
+them.
+
+The version numbers for Windows 7 and Windows Server 2008 R2 are
+identical; the PRODUCTTYPE field must be used to differentiate between
+them.
SPMAJOR and SPMINOR are are the version numbers of the latest
installed service pack.
@@ -557,6 +980,9 @@ the system. Known bits are:
VER_SUITE_BLADE 0x00000400
VER_SUITE_EMBEDDED_RESTRICTED 0x00000800
VER_SUITE_SECURITY_APPLIANCE 0x00001000
+ VER_SUITE_STORAGE_SERVER 0x00002000
+ VER_SUITE_COMPUTE_SERVER 0x00004000
+ VER_SUITE_WH_SERVER 0x00008000
The VER_SUITE_xxx names are listed here to crossreference the Microsoft
documentation. The Win32 module does not provide symbolic names for these
@@ -572,44 +998,6 @@ be one of the following integer values:
Note that a server that is also a domain controller is reported as
PRODUCTTYPE 2 (Domaincontroller) and not PRODUCTTYPE 3 (Server).
-=item Win32::GetOSName()
-
-In scalar context returns the name of the Win32 operating system
-being used. In list context returns a two element list of the OS name
-and whatever edition information is known about the particular build
-(for Win9X boxes) and whatever service packs have been installed.
-The latter is roughly equivalent to the first item returned by
-GetOSVersion() in list context.
-
-Currently the possible values for the OS name are
-
- WinWin32s
- Win95
- Win98
- WinMe
- WinNT3.51
- WinNT4
- Win2000
- WinXP/.Net
- Win2003
- WinVista
- Win2008
- Win7
-
-This routine is just a simple interface into GetOSVersion(). More
-specific or demanding situations should use that instead. Another
-option would be to use POSIX::uname(), however the latter appears to
-report only the OS family name and not the specific OS. In scalar
-context it returns just the ID.
-
-The name "WinXP/.Net" is used for historical reasons only, to maintain
-backwards compatibility of the Win32 module. Windows .NET Server has
-been renamed as Windows 2003 Server before final release and uses a
-different major/minor version number than Windows XP.
-
-Similarly the name "WinWin32s" should have been "Win32s" but has been
-kept as-is for backwards compatibility reasons too.
-
=item Win32::GetShortPathName(PATHNAME)
[CORE] Returns a representation of PATHNAME that is composed of short
@@ -620,6 +1008,13 @@ path containing spaces. Returns C<undef> when the PATHNAME does not
exist. Compare with Win32::GetFullPathName() and
Win32::GetLongPathName().
+=item Win32::GetSystemMetrics(INDEX)
+
+Retrieves the specified system metric or system configuration setting.
+Please refer to the Microsoft documentation of the GetSystemMetrics()
+function for a reference of available INDEX values. All system
+metrics return integer values.
+
=item Win32::GetProcAddress(INSTANCE, PROCNAME)
Returns the address of a function inside a loaded library. The
@@ -627,6 +1022,19 @@ information about what you can do with this address has been lost in
the mist of time. Use the Win32::API module instead of this deprecated
function.
+=item Win32::GetProductInfo(OSMAJOR, OSMINOR, SPMAJOR, SPMINOR)
+
+Retrieves the product type for the operating system on the local
+computer, and maps the type to the product types supported by the
+specified operating system. Please refer to the Microsoft
+documentation of the GetProductInfo() function for more information
+about the parameters and return value. This function requires Windows
+Vista or later.
+
+See also the Win32::GetOSName() and Win32::GetOSDisplayName()
+functions which provide a higher level abstraction of the data
+returned by this function.
+
=item Win32::GetTickCount()
[CORE] Returns the number of milliseconds elapsed since the last
@@ -645,7 +1053,7 @@ The return value is formatted according to OLE conventions, as groups
of hex digits with surrounding braces. For example:
{09531CF1-D0C7-4860-840C-1C8C8735E2AD}
-
+
=item Win32::InitiateSystemShutdown
(MACHINE, MESSAGE, TIMEOUT, FORCECLOSE, REBOOT)
diff --git a/Master/tlpkg/tlperl/lib/Win32/API.pm b/Master/tlpkg/tlperl/lib/Win32/API.pm
index 365ce6b46c5..8a08b01033a 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API.pm
@@ -4,30 +4,29 @@
#######################################################################
#
# Win32::API - Perl Win32 API Import Facility
-#
+#
# Author: Aldo Calpini <dada@perl.it>
# Maintainer: Cosimo Streppone <cosimo@cpan.org>
#
# Changes for gcc/cygwin: Daniel Risacher <magnus@alum.mit.edu>
# ported from 0.41 based on Daniel's patch by Reini Urban <rurban@x-ray.at>
#
-# $Id: API.pm 458 2009-01-17 17:27:43Z cosimo.streppone $
-#
#######################################################################
package Win32::API;
-require Exporter; # to export the constants to the main:: space
-require DynaLoader; # to dynuhlode the module.
+require Exporter; # to export the constants to the main:: space
+require DynaLoader; # to dynuhlode the module.
@ISA = qw( Exporter DynaLoader );
use vars qw( $DEBUG );
$DEBUG = 0;
-sub DEBUG {
- if ($Win32::API::DEBUG) {
- printf @_ if @_ or return 1;
- } else {
+sub DEBUG {
+ if ($Win32::API::DEBUG) {
+ printf @_ if @_ or return 1;
+ }
+ else {
return 0;
}
}
@@ -39,12 +38,12 @@ use File::Basename ();
#######################################################################
# STATIC OBJECT PROPERTIES
#
-$VERSION = '0.59';
+$VERSION = '0.68';
-#### some package-global hash to
-#### keep track of the imported
+#### some package-global hash to
+#### keep track of the imported
#### libraries and procedures
-my %Libraries = ();
+my %Libraries = ();
my %Procedures = ();
@@ -57,11 +56,12 @@ bootstrap Win32::API;
# PUBLIC METHODS
#
sub new {
- my($class, $dll, $proc, $in, $out, $callconvention) = @_;
- my $hdll;
+ my ($class, $dll, $proc, $in, $out, $callconvention) = @_;
+ my $hdll;
my $self = {};
if ($^O eq 'cygwin' and $dll ne File::Basename::basename($dll)) {
+
# need to convert $dll to win32 path
# isn't there an API for this?
my $newdll = `cygpath -w "$dll"`;
@@ -71,41 +71,46 @@ sub new {
}
#### avoid loading a library more than once
- if(exists($Libraries{$dll})) {
+ if (exists($Libraries{$dll})) {
DEBUG "Win32::API::new: Library '$dll' already loaded, handle=$Libraries{$dll}\n";
$hdll = $Libraries{$dll};
- } else {
+ }
+ else {
DEBUG "Win32::API::new: Loading library '$dll'\n";
$hdll = Win32::API::LoadLibrary($dll);
+
# $Libraries{$dll} = $hdll;
}
#### if the dll can't be loaded, set $! to Win32's GetLastError()
- if(!$hdll) {
+ if (!$hdll) {
$! = Win32::GetLastError();
- DEBUG "FAILED Loading library '$dll': $!\n";
- delete $Libraries{$dll};
+ DEBUG "FAILED Loading library '$dll': $!\n";
+ delete $Libraries{$dll};
return undef;
}
#### determine if we have a prototype or not
- if( (not defined $in) and (not defined $out) ) {
- ($proc, $self->{in}, $self->{intypes}, $self->{out}, $self->{cdecl}) = parse_prototype( $proc );
+ if ((not defined $in) and (not defined $out)) {
+ ($proc, $self->{in}, $self->{intypes}, $self->{out}, $self->{cdecl}) =
+ parse_prototype($proc);
return undef unless $proc;
$self->{proto} = 1;
- } else {
+ }
+ else {
$self->{in} = [];
- if(ref($in) eq 'ARRAY') {
+ if (ref($in) eq 'ARRAY') {
foreach (@$in) {
- push(@{ $self->{in} }, type_to_num($_));
- }
- } else {
+ push(@{$self->{in}}, type_to_num($_));
+ }
+ }
+ else {
my @in = split '', $in;
foreach (@in) {
- push(@{ $self->{in} }, type_to_num($_));
- }
+ push(@{$self->{in}}, type_to_num($_));
+ }
}
- $self->{out} = type_to_num($out);
+ $self->{out} = type_to_num($out);
$self->{cdecl} = calltype_to_num($callconvention);
}
@@ -113,20 +118,21 @@ sub new {
my $hproc = Win32::API::GetProcAddress($hdll, $proc);
#### ...then try appending either A or W (for ASCII or Unicode)
- if(!$hproc) {
+ if (!$hproc) {
my $tproc = $proc;
$tproc .= (IsUnicode() ? "W" : "A");
+
# print "Win32::API::new: procedure not found, trying '$tproc'...\n";
$hproc = Win32::API::GetProcAddress($hdll, $tproc);
}
#### ...if all that fails, set $! accordingly
- if(!$hproc) {
+ if (!$hproc) {
$! = Win32::GetLastError();
- DEBUG "FAILED GetProcAddress for Proc '$proc': $!\n";
+ DEBUG "FAILED GetProcAddress for Proc '$proc': $!\n";
return undef;
}
- DEBUG "GetProcAddress('$proc') = '$hproc'\n";
+ DEBUG "GetProcAddress('$proc') = '$hproc'\n";
#### ok, let's stuff the object
$self->{procname} = $proc;
@@ -138,7 +144,7 @@ sub new {
$Libraries{$dll} = $hdll;
$Procedures{$dll}++;
- DEBUG "Object blessed!\n";
+ DEBUG "Object blessed!\n";
#### cast the spell
bless($self, $class);
@@ -146,8 +152,9 @@ sub new {
}
sub Import {
- my($class, $dll, $proc, $in, $out, $callconvention) = @_;
- $Imported{"$dll:$proc"} = Win32::API->new($dll, $proc, $in, $out, $callconvention) or return 0;
+ my ($class, $dll, $proc, $in, $out, $callconvention) = @_;
+ $Imported{"$dll:$proc"} = Win32::API->new($dll, $proc, $in, $out, $callconvention)
+ or return 0;
my $P = (caller)[0];
eval qq(
sub ${P}::$Imported{"$dll:$proc"}->{procname} { \$Win32::API::Imported{"$dll:$proc"}->Call(\@_); }
@@ -159,17 +166,17 @@ sub Import {
# PRIVATE METHODS
#
sub DESTROY {
- my($self) = @_;
+ my ($self) = @_;
#### decrease this library's procedures reference count
$Procedures{$self->{dllname}}--;
#### once it reaches 0, free it
- if($Procedures{$self->{dllname}} == 0) {
+ if ($Procedures{$self->{dllname}} == 0) {
DEBUG "Win32::API::DESTROY: Freeing library '$self->{dllname}'\n";
Win32::API::FreeLibrary($Libraries{$self->{dllname}});
delete($Libraries{$self->{dllname}});
- }
+ }
}
# Convert calling convention string (_cdecl|__stdcall)
@@ -192,132 +199,153 @@ sub calltype_to_num {
sub type_to_num {
my $type = shift;
- my $out = shift;
+ my $out = shift;
my $num;
-
- if( $type eq 'N'
- or $type eq 'n'
- or $type eq 'l'
- or $type eq 'L'
- ) {
+
+ if ( $type eq 'N'
+ or $type eq 'n'
+ or $type eq 'l'
+ or $type eq 'L')
+ {
$num = 1;
- } elsif($type eq 'P'
- or $type eq 'p'
- ) {
+ }
+ elsif ($type eq 'P'
+ or $type eq 'p')
+ {
$num = 2;
- } elsif($type eq 'I'
- or $type eq 'i'
- ) {
+ }
+ elsif ($type eq 'I'
+ or $type eq 'i')
+ {
$num = 3;
- } elsif($type eq 'f'
- or $type eq 'F'
- ) {
+ }
+ elsif ($type eq 'f'
+ or $type eq 'F')
+ {
$num = 4;
- } elsif($type eq 'D'
- or $type eq 'd'
- ) {
+ }
+ elsif ($type eq 'D'
+ or $type eq 'd')
+ {
$num = 5;
- } elsif($type eq 'c'
- or $type eq 'C'
- ) {
+ }
+ elsif ($type eq 'c'
+ or $type eq 'C')
+ {
$num = 6;
- } else {
+ }
+ else {
$num = 0;
- }
- unless(defined $out) {
- if( $type eq 's'
- or $type eq 'S'
- ) {
+ }
+ unless (defined $out) {
+ if ( $type eq 's'
+ or $type eq 'S')
+ {
$num = 51;
- } elsif($type eq 'b'
- or $type eq 'B'
- ) {
+ }
+ elsif ($type eq 'b'
+ or $type eq 'B')
+ {
$num = 22;
- } elsif($type eq 'k'
- or $type eq 'K'
- ) {
+ }
+ elsif ($type eq 'k'
+ or $type eq 'K')
+ {
$num = 101;
- }
+ }
}
return $num;
}
sub parse_prototype {
- my($proto) = @_;
-
+ my ($proto) = @_;
+
my @in_params = ();
- my @in_types = ();
- if($proto =~ /^\s*(\S+)(?:\s+(\w+))?\s+(\S+)\s*\(([^\)]*)\)/) {
- my $ret = $1;
- my $callconvention= $2;
- my $proc = $3;
- my $params = $4;
-
+ my @in_types = ();
+ if ($proto =~ /^\s*(\S+)(?:\s+(\w+))?\s+(\S+)\s*\(([^\)]*)\)/) {
+ my $ret = $1;
+ my $callconvention = $2;
+ my $proc = $3;
+ my $params = $4;
+
$params =~ s/^\s+//;
$params =~ s/\s+$//;
-
- DEBUG "(PM)parse_prototype: got PROC '%s'\n", $proc;
+
+ DEBUG "(PM)parse_prototype: got PROC '%s'\n", $proc;
DEBUG "(PM)parse_prototype: got PARAMS '%s'\n", $params;
-
+
foreach my $param (split(/\s*,\s*/, $params)) {
- my($type, $name);
- if($param =~ /(\S+)\s+(\S+)/) {
+ my ($type, $name);
+ if ($param =~ /(\S+)\s+(\S+)/) {
($type, $name) = ($1, $2);
}
-
- if(Win32::API::Type::is_known($type)) {
- if(Win32::API::Type::is_pointer($type)) {
+
+ if (Win32::API::Type::is_known($type)) {
+ if (Win32::API::Type::is_pointer($type)) {
DEBUG "(PM)parse_prototype: IN='%s' PACKING='%s' API_TYPE=%d\n",
- $type,
- Win32::API::Type->packing( $type ),
+ $type,
+ Win32::API::Type->packing($type),
type_to_num('P');
push(@in_params, type_to_num('P'));
- } else {
+ }
+ else {
DEBUG "(PM)parse_prototype: IN='%s' PACKING='%s' API_TYPE=%d\n",
- $type,
- Win32::API::Type->packing( $type ),
- type_to_num( Win32::API::Type->packing( $type ) );
- push(@in_params, type_to_num( Win32::API::Type->packing( $type ) ));
+ $type,
+ Win32::API::Type->packing($type),
+ type_to_num(Win32::API::Type->packing($type));
+ push(@in_params, type_to_num(Win32::API::Type->packing($type)));
}
- } elsif( Win32::API::Struct::is_known( $type ) ) {
+ }
+ elsif (Win32::API::Struct::is_known($type)) {
DEBUG "(PM)parse_prototype: IN='%s' PACKING='%s' API_TYPE=%d\n",
$type, 'S', type_to_num('S');
push(@in_params, type_to_num('S'));
- } else {
- warn "Win32::API::parse_prototype: WARNING unknown parameter type '$type'";
+ }
+ else {
+ warn
+ "Win32::API::parse_prototype: WARNING unknown parameter type '$type'";
push(@in_params, type_to_num('I'));
}
push(@in_types, $type);
-
+
}
DEBUG "parse_prototype: IN=[ @in_params ]\n";
-
- if(Win32::API::Type::is_known($ret)) {
- if(Win32::API::Type::is_pointer($ret)) {
+ if (Win32::API::Type::is_known($ret)) {
+ if (Win32::API::Type::is_pointer($ret)) {
DEBUG "parse_prototype: OUT='%s' PACKING='%s' API_TYPE=%d\n",
- $ret,
- Win32::API::Type->packing( $ret ),
+ $ret,
+ Win32::API::Type->packing($ret),
type_to_num('P');
- return ( $proc, \@in_params, \@in_types, type_to_num('P'), calltype_to_num($callconvention) );
- } else {
+ return ($proc, \@in_params, \@in_types, type_to_num('P'),
+ calltype_to_num($callconvention));
+ }
+ else {
DEBUG "parse_prototype: OUT='%s' PACKING='%s' API_TYPE=%d\n",
- $ret,
- Win32::API::Type->packing( $ret ),
- type_to_num( Win32::API::Type->packing( $ret ) );
- return ( $proc, \@in_params, \@in_types, type_to_num(Win32::API::Type->packing($ret)), calltype_to_num($callconvention) );
+ $ret,
+ Win32::API::Type->packing($ret),
+ type_to_num(Win32::API::Type->packing($ret));
+ return (
+ $proc, \@in_params, \@in_types,
+ type_to_num(Win32::API::Type->packing($ret)),
+ calltype_to_num($callconvention)
+ );
}
- } else {
- warn "Win32::API::parse_prototype: WARNING unknown output parameter type '$ret'";
- return ( $proc, \@in_params, \@in_types, type_to_num('I'), calltype_to_num($callconvention) );
+ }
+ else {
+ warn
+ "Win32::API::parse_prototype: WARNING unknown output parameter type '$ret'";
+ return ($proc, \@in_params, \@in_types, type_to_num('I'),
+ calltype_to_num($callconvention));
}
- } else {
+ }
+ else {
warn "Win32::API::parse_prototype: bad prototype '$proto'";
return undef;
}
-}
+}
1;
diff --git a/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm b/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm
index df15786591b..46879b4041b 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API/Callback.pm
@@ -4,28 +4,27 @@
#######################################################################
#
# Win32::API::Callback - Perl Win32 API Import Facility
-#
+#
# Author: Aldo Calpini <dada@perl.it>
# Maintainer: Cosimo Streppone <cosimo@cpan.org>
#
-# $Id: Callback.pm 458 2009-01-17 17:27:43Z cosimo.streppone $
-#
#######################################################################
package Win32::API::Callback;
-$VERSION = '0.59';
+$VERSION = '0.68';
-require Exporter; # to export the constants to the main:: space
-require DynaLoader; # to dynuhlode the module.
+require Exporter; # to export the constants to the main:: space
+require DynaLoader; # to dynuhlode the module.
@ISA = qw( Exporter DynaLoader );
-sub DEBUG {
- if ($WIN32::API::DEBUG) {
- printf @_ if @_ or return 1;
- } else {
- return 0;
- }
+sub DEBUG {
+ if ($WIN32::API::DEBUG) {
+ printf @_ if @_ or return 1;
+ }
+ else {
+ return 0;
+ }
}
use Win32::API;
@@ -39,18 +38,21 @@ use Win32::API::Struct;
#
sub AUTOLOAD {
- my($constname);
+ my ($constname);
($constname = $AUTOLOAD) =~ s/.*:://;
+
#reset $! to zero to reset any current errors.
- $!=0;
+ $! = 0;
my $val = constant($constname, @_ ? $_[0] : 0);
if ($! != 0) {
if ($! =~ /Invalid/) {
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD;
- } else {
- ($pack,$file,$line) = caller;
- die "Your vendor has not defined Win32::API::Callback macro $constname, used at $file line $line.";
+ }
+ else {
+ ($pack, $file, $line) = caller;
+ die
+ "Your vendor has not defined Win32::API::Callback macro $constname, used at $file line $line.";
}
}
eval "sub $AUTOLOAD { $val }";
@@ -67,37 +69,38 @@ bootstrap Win32::API::Callback;
# PUBLIC METHODS
#
sub new {
- my($class, $proc, $in, $out) = @_;
+ my ($class, $proc, $in, $out) = @_;
my %self = ();
- # printf "(PM)Callback::new: got proc='%s', in='%s', out='%s'\n", $proc, $in, $out;
-
- $self{in} = [];
- if(ref($in) eq 'ARRAY') {
- foreach (@$in) {
- push(@{ $self{in} }, Win32::API::type_to_num($_));
- }
- } else {
- my @in = split '', $in;
- foreach (@in) {
- push(@{ $self{in} }, Win32::API::type_to_num($_));
- }
- }
- $self{out} = Win32::API::type_to_num($out);
- $self{sub} = $proc;
- my $self = bless \%self, $class;
-
- DEBUG "(PM)Callback::new: calling CallbackCreate($self)...\n";
+ # printf "(PM)Callback::new: got proc='%s', in='%s', out='%s'\n", $proc, $in, $out;
+
+ $self{in} = [];
+ if (ref($in) eq 'ARRAY') {
+ foreach (@$in) {
+ push(@{$self{in}}, Win32::API::type_to_num($_));
+ }
+ }
+ else {
+ my @in = split '', $in;
+ foreach (@in) {
+ push(@{$self{in}}, Win32::API::type_to_num($_));
+ }
+ }
+ $self{out} = Win32::API::type_to_num($out);
+ $self{sub} = $proc;
+ my $self = bless \%self, $class;
+
+ DEBUG "(PM)Callback::new: calling CallbackCreate($self)...\n";
my $hproc = CallbackCreate($self);
- DEBUG "(PM)Callback::new: hproc=$hproc\n";
+ DEBUG "(PM)Callback::new: hproc=$hproc\n";
#### ...if that fails, set $! accordingly
- if(!$hproc) {
+ if (!$hproc) {
$! = Win32::GetLastError();
return undef;
}
-
+
#### ok, let's stuff the object
$self->{code} = $hproc;
$self->{sub} = $proc;
@@ -107,11 +110,11 @@ sub new {
}
sub MakeStruct {
- my($self, $n, $addr) = @_;
- DEBUG "(PM)Win32::API::Callback::MakeStruct: got self='$self'\n";
- my $struct = Win32::API::Struct->new($self->{intypes}->[$n]);
- $struct->FromMemory($addr);
- return $struct;
+ my ($self, $n, $addr) = @_;
+ DEBUG "(PM)Win32::API::Callback::MakeStruct: got self='$self'\n";
+ my $struct = Win32::API::Struct->new($self->{intypes}->[$n]);
+ $struct->FromMemory($addr);
+ return $struct;
}
1;
diff --git a/Master/tlpkg/tlperl/lib/Win32/API/Struct.pm b/Master/tlpkg/tlperl/lib/Win32/API/Struct.pm
index 9f706671a77..3dda7d97e05 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API/Struct.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API/Struct.pm
@@ -1,50 +1,45 @@
-package Win32::API::Struct;
-
-# See the bottom of this file for the POD documentation. Search for the
-# string '=head'.
-
-#######################################################################
#
# Win32::API::Struct - Perl Win32 API struct Facility
-#
+#
# Author: Aldo Calpini <dada@perl.it>
# Maintainer: Cosimo Streppone <cosimo@cpan.org>
#
-# $Id: Struct.pm 438 2008-10-02 22:51:55Z cosimo.streppone $
-#######################################################################
-$VERSION = '0.50';
+package Win32::API::Struct;
-use Win32::API::Type;
+$VERSION = '0.62';
use Carp;
+use Win32::API::Type;
+use Config;
-require Exporter; # to export the constants to the main:: space
-require DynaLoader; # to dynuhlode the module.
-@ISA = qw( Exporter DynaLoader );
+require Exporter;
+require DynaLoader;
+@ISA = qw(Exporter DynaLoader);
my %Known = ();
-sub DEBUG {
- if ($Win32::API::DEBUG) {
- printf @_ if @_ or return 1;
- } else {
+sub DEBUG {
+ if ($Win32::API::DEBUG) {
+ printf @_ if @_ or return 1;
+ }
+ else {
return 0;
}
}
sub typedef {
- my $class = shift;
+ my $class = shift;
my $struct = shift;
- my($type, $name);
+ my ($type, $name);
my $self = {
- align => undef,
+ align => undef,
typedef => [],
};
- while(defined($type = shift)) {
+ while (defined($type = shift)) {
$name = shift;
$name =~ s/;$//;
- push( @{ $self->{typedef} }, [ recognize($type, $name) ] );
+ push(@{$self->{typedef}}, [recognize($type, $name)]);
}
$Known{$struct} = $self;
@@ -53,53 +48,59 @@ sub typedef {
sub recognize {
- my($type, $name) = @_;
- my($size, $packing);
- if(exists $Known{$type}) {
- $packing = ">";
- return $name, $packing, $type;
- } else {
+ my ($type, $name) = @_;
+ my ($size, $packing);
+
+ if (is_known($type)) {
+ $packing = '>';
+ return ($name, $packing, $type);
+ }
+ else {
$packing = Win32::API::Type::packing($type);
- return undef unless defined $packing;
- if($name =~ s/\[(.*)\]$//) {
- $size = $1;
- $packing = $packing."*".$size;
+ return undef unless defined $packing;
+ if ($name =~ s/\[(.*)\]$//) {
+ $size = $1;
+ $packing = $packing . '*' . $size;
}
DEBUG "(PM)Struct::recognize got '$name', '$type' -> '$packing'\n";
- return $name, $packing, $type;
- }
+ return ($name, $packing, $type);
+ }
}
sub new {
my $class = shift;
- my($type, $name);
- my $self = {
- typedef => [],
- };
- if($#_ == 0) {
- if(exists $Known{$_[0]}) {
+ my ($type, $name);
+ my $self = {typedef => [],};
+ if ($#_ == 0) {
+ if (is_known($_[0])) {
DEBUG "(PM)Struct::new: got '$_[0]'\n";
$self->{typedef} = $Known{$_[0]}->{typedef};
- foreach my $member (@{ $self->{typedef} }) {
+ foreach my $member (@{$self->{typedef}}) {
($name, $packing, $type) = @$member;
- if($packing eq '>') {
+ next unless defined $name;
+ if ($packing eq '>') {
$self->{$name} = Win32::API::Struct->new($type);
}
}
$self->{__typedef__} = $_[0];
- } else {
+ }
+ else {
carp "Unknown Win32::API::Struct '$_[0]'";
return undef;
}
- } else {
- while(defined($type = shift)) {
+ }
+ else {
+ while (defined($type = shift)) {
$name = shift;
+
# print "new: found member $name ($type)\n";
- if(not exists $Win32::API::Type::Known{$type}) {
+ if (not exists $Win32::API::Type::Known{$type}) {
warn "Unknown Win32::API::Struct type '$type'";
return undef;
- } else {
- push( @{ $self->{typedef} }, [ $name, $Win32::API::Type::Known{$type}, $type ] );
+ }
+ else {
+ push(@{$self->{typedef}},
+ [$name, $Win32::API::Type::Known{$type}, $type]);
}
}
}
@@ -108,201 +109,215 @@ sub new {
sub members {
my $self = shift;
- return map {$_->[0]} @{ $self->{typedef} };
+ return map { $_->[0] } @{$self->{typedef}};
}
sub sizeof {
- my $self = shift;
- my $size = 0;
+ my $self = shift;
+ my $size = 0;
my $align = 0;
- my $first = undef;
- foreach my $member (@{ $self->{typedef} }) {
- my($name, $packing, $type) = @$member;
-
- if(ref( $self->{$name} ) eq "Win32::API::Struct") {
+ my $first = '';
+
+ for my $member (@{$self->{typedef}}) {
+ my ($name, $packing, $type) = @{$member};
+ next unless defined $name;
+ if (ref $self->{$name} eq q{Win32::API::Struct}) {
+
+ # If member is a struct, recursively calculate its size
+ # FIXME for subclasses
$size += $self->{$name}->sizeof();
- # $align = $self->{$name}->sizeof() if $self->{$name}->sizeof() > $align;
- } else {
- if($packing =~ /\w\*(\d+)/) {
+ }
+ else {
+
+ # Member is a simple type (LONG, DWORD, etc...)
+ if ($packing =~ /\w\*(\d+)/) { # Arrays (ex: 'c*260')
$size += Win32::API::Type::sizeof($type) * $1;
- $first = Win32::API::Type::sizeof($type) * $1 unless defined $first;
- DEBUG "(PM)Struct::sizeof: sizeof with member($name) now = ". $size. "\n";
- } else {
- $size += Win32::API::Type::sizeof($type);
+ $first = Win32::API::Type::sizeof($type) * $1 unless defined $first;
+ DEBUG "(PM)Struct::sizeof: sizeof with member($name) now = " . $size
+ . "\n";
+ }
+ else { # Simple types
+ my $type_size = Win32::API::Type::sizeof($type);
+ $align = $type_size if $type_size > $align;
+ my $type_align = (($size + $type_size) % $type_size);
+ $size += $type_size + $type_align;
$first = Win32::API::Type::sizeof($type) unless defined $first;
- $align = Win32::API::Type::sizeof($type)
- if Win32::API::Type::sizeof($type) > $align;
- DEBUG "(PM)Struct::sizeof: sizeof with member($name) now = ". $size. "\n";
}
}
}
- DEBUG "(PM)Struct::sizeof first=$first align=$align\n";
- #DEBUG "(PM)Struct::sizeof returning %d\n", $first + (scalar(@{ $self->{typedef} })-1) * $align;
- #return $first + (scalar(@{ $self->{typedef} })-1) * $align;
- DEBUG "(PM)Struct::sizeof returning %d\n", scalar(@{ $self->{typedef} }) * $align;
- if(defined $align and $align > 0) {
- return scalar(@{ $self->{typedef} }) * $align;
- } else {
- return $size;
+
+ my $struct_size = $size;
+ if (defined $align && $align > 0) {
+ $struct_size += ($size % $align);
}
- return $size;
+ DEBUG "(PM)Struct::sizeof first=$first totalsize=$struct_size\n";
+ return $struct_size;
}
sub align {
- my $self = shift;
- my $align = shift;
-
- if(not defined $align) {
- return $self->{align} unless $self->{align} eq 'auto';
- $align = 0;
- foreach my $member (@{ $self->{typedef} }) {
- my($name, $packing, $type) = @$member;
-
- if(ref( $self->{$name} ) eq "Win32::API::Struct") {
- #### ????
- } else {
- if($packing =~ /\w\*(\d+)/) {
- #### ????
- } else {
- $align = Win32::API::Type::sizeof($type)
- if Win32::API::Type::sizeof($type) > $align;
- }
- }
- }
- return $align;
- } else {
- $self->{align} = $align;
-
- }
+ my $self = shift;
+ my $align = shift;
+
+ if (not defined $align) {
+
+ if (!(defined $self->{align} && $self->{align} eq 'auto')) {
+ return $self->{align};
+ }
+
+ $align = 0;
+
+ foreach my $member (@{$self->{typedef}}) {
+ my ($name, $packing, $type) = @$member;
+
+ if (ref($self->{$name}) eq "Win32::API::Struct") {
+ #### ????
+ }
+ else {
+ if ($packing =~ /\w\*(\d+)/) {
+ #### ????
+ }
+ else {
+ $align = Win32::API::Type::sizeof($type)
+ if Win32::API::Type::sizeof($type) > $align;
+ }
+ }
+ }
+ return $align;
+ }
+ else {
+ $self->{align} = $align;
+
+ }
}
sub getPack {
- my $self = shift;
- my $packing = "";
- my($type, $name);
- my @items = ();
- my @recipients = ();
-
+ my $self = shift;
+ my $packing = "";
+ my $packed_size = 0;
+ my ($type, $name, $type_size, $type_align);
+ my @items = ();
+ my @recipients = ();
+
my $align = $self->align();
-
- foreach my $member (@{ $self->{typedef} }) {
+
+ foreach my $member (@{$self->{typedef}}) {
($name, $type, $orig) = @$member;
- if($type eq '>') {
- my($subpacking, $subitems, $subrecipients) = $self->{$name}->getPack();
-
+ if ($type eq '>') {
+ my ($subpacking, $subitems, $subrecipients, $subpacksize) =
+ $self->{$name}->getPack();
DEBUG "(PM)Struct::getPack($self->{__typedef__}) ++ $subpacking\n";
-
- $packing .= $subpacking;
- push(@items, @$subitems);
+ push(@items, @$subitems);
push(@recipients, @$subrecipients);
- } else {
- if($type =~ /\w\*(\d+)/) {
- my $size = $1;
- $type = "a$size";
+ $packing .= $subpacking;
+ $packed_size += $subpacksize;
+ }
+ else {
+ my $repeat = 1;
+ if ($type =~ /\w\*(\d+)/) {
+ $repeat = $1;
+ $type = "a$repeat";
}
-
- DEBUG "(PM)Struct::getPack($self->{__typedef__}) ++ $type\n";
-
- if($type eq 'p') {
- $type = "L";
+
+ DEBUG "(PM)Struct::getPack($self->{__typedef__}) ++ $type\n";
+
+ if ($type eq 'p') {
+ $type = ($Config{ptrsize} == 8) ? 'Q' : 'L';
push(@items, Win32::API::PointerTo($self->{$name}));
- } else {
- push(@items, $self->{$name});
}
- $packing .= $type;
-
- if($Win32::API::Type::PackSize{$type} < $align) {
- $packing .= ("x" x ($align - $Win32::API::Type::PackSize{$type}));
+ else {
+ push(@items, $self->{$name});
}
-
push(@recipients, $self);
+ $type_size = Win32::API::Type::sizeof($orig);
+ $type_align = (($packed_size + $type_size) % $type_size);
+ $packing .= "x" x $type_align . $type;
+ $packed_size += ( $type_size * $repeat ) + $type_align;
}
}
- DEBUG "(PM)Struct::getPack: $self->{__typedef__}(buffer) = pack($packing, @items)\n";
- return($packing, [@items], [@recipients]);
+
+ DEBUG
+ "(PM)Struct::getPack: $self->{__typedef__}(buffer) = pack($packing, $packed_size)\n";
+
+ return ($packing, [@items], [@recipients], $packed_size);
}
-
sub Pack {
my $self = shift;
- my($packing, $items, $recipients) = $self->getPack();
+ my ($packing, $items, $recipients) = $self->getPack();
+
DEBUG "(PM)Struct::Pack: $self->{__typedef__}(buffer) = pack($packing, @$items)\n";
+
$self->{buffer} = pack($packing, @$items);
- if(DEBUG) {
- for my $i (0..$self->sizeof-1) {
- printf " %3d: 0x%02x\n", $i, ord(substr($self->{buffer}, $i, 1));
+
+ if (DEBUG) {
+ for my $i (0 .. $self->sizeof - 1) {
+ printf "#pack# %3d: 0x%02x\n", $i, ord(substr($self->{buffer}, $i, 1));
}
}
- $self->{buffer_recipients} = $recipients
+
+ $self->{buffer_recipients} = $recipients;
}
sub getUnpack {
- my $self = shift;
- my $packing = "";
- my($type, $name);
+ my $self = shift;
+ my $packing = "";
+ my $packed_size = 0;
+ my ($type, $name, $type_size, $type_align);
my @items = ();
my $align = $self->align();
- foreach my $member (@{ $self->{typedef} }) {
+ foreach my $member (@{$self->{typedef}}) {
($name, $type, $orig) = @$member;
- if($type eq '>') {
- my($subpacking, @subitems) = $self->{$name}->getUnpack();
-
+ if ($type eq '>') {
+ my ($subpacking, $subpacksize, @subitems) = $self->{$name}->getUnpack();
DEBUG "(PM)Struct::getUnpack($self->{__typedef__}) ++ $subpacking\n";
$packing .= $subpacking;
-
-
+ $packed_size += $subpacksize;
push(@items, @subitems);
- } else {
- if($type =~ /\w\*(\d+)/) {
- my $size = $1;
- $type = "Z$size";
- }
-
- #if($type eq 'p') {
- # $packing .= 'Z*';
- # DEBUG "(PM)Struct::getUnpack($self->{__typedef__}) ++ Z*\n";
- #} else {
- $packing .= $type;
- DEBUG "(PM)Struct::getUnpack($self->{__typedef__}) ++ $type\n";
- #}
- if($type ne 'p' and $type !~ /^Z(\d+)/ and $Win32::API::Type::PackSize{$type} < $align) {
- DEBUG "(PM)Struct::getUnpack %s(%d) < %d\n",
- $type, $Win32::API::Type::PackSize{$type}, $align
- ;
- $packing .= ("x" x ($align - $Win32::API::Type::PackSize{$type}));
+ }
+ else {
+ my $repeat = 1;
+ if ($type =~ /\w\*(\d+)/) {
+ $repeat = $1;
+ $type = "Z$repeat";
}
+ DEBUG "(PM)Struct::getUnpack($self->{__typedef__}) ++ $type\n";
+ $type_size = Win32::API::Type::sizeof($orig);
+ $type_align = (($packed_size + $type_size) % $type_size);
+ $packing .= "x" x $type_align . $type;
+ $packed_size += ( $type_size * $repeat ) + $type_align;
push(@items, $name);
}
}
DEBUG "(PM)Struct::getUnpack($self->{__typedef__}): unpack($packing, @items)\n";
- return($packing, @items);
+ return ($packing, $packed_size, @items);
}
sub Unpack {
my $self = shift;
- my($packing, @items) = $self->getUnpack();
+ my ($packing, undef, @items) = $self->getUnpack();
my @itemvalue = unpack($packing, $self->{buffer});
DEBUG "(PM)Struct::Unpack: unpack($packing, buffer) = @itemvalue\n";
- foreach my $i (0..$#items) {
+ foreach my $i (0 .. $#items) {
my $recipient = $self->{buffer_recipients}->[$i];
DEBUG "(PM)Struct::Unpack: %s(%s) = '%s' (0x%08x)\n",
- $recipient->{__typedef__},
- $items[$i],
- $itemvalue[$i],
- $itemvalue[$i],
- ;
+ $recipient->{__typedef__},
+ $items[$i],
+ $itemvalue[$i],
+ $itemvalue[$i],
+ ;
$recipient->{$items[$i]} = $itemvalue[$i];
- DEBUG "(PM)Struct::Unpack: self.$items[$i] = $self->{$items[$i]}\n";
+
+ # DEBUG "(PM)Struct::Unpack: self.items[$i] = $self->{$items[$i]}\n";
}
}
sub FromMemory {
- my($self, $addr) = @_;
+ my ($self, $addr) = @_;
DEBUG "(PM)Struct::FromMemory: doing Pack\n";
$self->Pack();
DEBUG "(PM)Struct::FromMemory: doing GetMemory( 0x%08x, %d )\n", $addr, $self->sizeof;
- $self->{buffer} = Win32::API::ReadMemory( $addr, $self->sizeof );
+ $self->{buffer} = Win32::API::ReadMemory($addr, $self->sizeof);
$self->Unpack();
DEBUG "(PM)Struct::FromMemory: doing Unpack\n";
DEBUG "(PM)Struct::FromMemory: structure is now:\n";
@@ -311,26 +326,28 @@ sub FromMemory {
}
sub Dump {
- my $self = shift;
+ my $self = shift;
my $prefix = shift;
- foreach my $member (@{ $self->{typedef} }) {
+ foreach my $member (@{$self->{typedef}}) {
($name, $packing, $type) = @$member;
- if( ref($self->{$name}) ) {
+ if (ref($self->{$name})) {
$self->{$name}->Dump($name);
- } else {
+ }
+ else {
printf "%-20s %-20s %-20s\n", $prefix, $name, $self->{$name};
}
}
-}
+}
sub is_known {
my $name = shift;
- if(exists $Known{ $name }) {
- return 1;
- } else {
- if($name =~ s/^LP//) {
- return exists $Known{ $name };
+ if (exists $Known{$name}) {
+ return 1;
+ }
+ else {
+ if ($name =~ s/^LP//) {
+ return exists $Known{$name};
}
return 0;
}
@@ -346,42 +363,44 @@ sub EXISTS {
sub FETCH {
my $self = shift;
- my $key = shift;
-
- if($key eq 'sizeof') {
+ my $key = shift;
+
+ if ($key eq 'sizeof') {
return $self->sizeof;
}
- my @members = map { $_->[0] } @{ $self->{typedef} };
- if(grep(/^\Q$key\E$/, @members)) {
+ my @members = map { $_->[0] } @{$self->{typedef}};
+ if (grep(/^\Q$key\E$/, @members)) {
return $self->{$key};
- } else {
+ }
+ else {
warn "'$key' is not a member of Win32::API::Struct $self->{__typedef__}";
- }
+ }
}
sub STORE {
my $self = shift;
- my($key, $val) = @_;
- my @members = map { $_->[0] } @{ $self->{typedef} };
- if(grep(/^\Q$key\E$/, @members)) {
+ my ($key, $val) = @_;
+ my @members = map { $_->[0] } @{$self->{typedef}};
+ if (grep(/^\Q$key\E$/, @members)) {
$self->{$key} = $val;
- } else {
+ }
+ else {
warn "'$key' is not a member of Win32::API::Struct $self->{__typedef__}";
}
}
sub FIRSTKEY {
my $self = shift;
- my @members = map { $_->[0] } @{ $self->{typedef} };
- return $members[0];
+ my @members = map { $_->[0] } @{$self->{typedef}};
+ return $members[0];
}
sub NEXTKEY {
- my $self = shift;
- my $key = shift;
- my @members = map { $_->[0] } @{ $self->{typedef} };
- for my $i (0..$#members-1) {
- return $members[$i+1] if $members[$i] eq $key;
+ my $self = shift;
+ my $key = shift;
+ my @members = map { $_->[0] } @{$self->{typedef}};
+ for my $i (0 .. $#members - 1) {
+ return $members[$i + 1] if $members[$i] eq $key;
}
return undef;
}
diff --git a/Master/tlpkg/tlperl/lib/Win32/API/Test.pm b/Master/tlpkg/tlperl/lib/Win32/API/Test.pm
index 0b21ced6927..55bf600b666 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API/Test.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API/Test.pm
@@ -1,30 +1,35 @@
#
# Win32::API::Test - Test helper package for Win32::API
-#
+#
# Cosimo Streppone <cosimo@cpan.org>
#
-# $Id: Test.pm 438 2008-10-02 22:51:55Z cosimo.streppone $
package Win32::API::Test;
+sub is_perl_64bit () {
+ use Config;
+
+ # was $Config{archname} =~ /x64/;
+ return 1 if $Config{ptrsize} == 8;
+ return;
+}
+
sub compiler_name () {
- use Config;
- my $cc = $Config{ccname};
- if($cc eq 'cl' || $cc eq 'cl.exe')
- {
- $cc = 'cl';
- }
- return($cc);
+ use Config;
+ my $cc = $Config{ccname};
+ if ($cc eq 'cl' || $cc eq 'cl.exe') {
+ $cc = 'cl';
+ }
+ return ($cc);
}
sub compiler_version () {
- use Config;
- my $ver = $Config{ccversion} || 0;
- if( $ver =~ /^(\d+\.\d+)/ )
- {
- $ver = 0 + $1;
- }
- return($ver);
+ use Config;
+ my $ver = $Config{ccversion} || 0;
+ if ($ver =~ /^(\d+\.\d+)/) {
+ $ver = 0 + $1;
+ }
+ return ($ver);
}
#
@@ -34,50 +39,54 @@ sub compiler_version () {
# For example, Cosimo does. For testing, of course.
#
sub compiler_version_from_shell () {
- my $cc = compiler_name();
- my $ver;
- # MSVC
- if($cc eq 'cl')
- {
- my @ver = `$cc 2>&1`; # Interesting output in STDERR
- $ver = join('',@ver);
- #print 'VER:'.$ver.':'."\n";
- if($ver =~ /Version (\d[\d\.]+)/ms )
- {
- $ver = $1;
- }
- }
- # GCC
- elsif($cc eq 'cc' || $cc eq 'gcc' || $cc eq 'winegcc' )
- {
- $ver = join('', `$cc --version`);
- if($ver =~ /gcc.*(\d[\d+]+)/ms )
- {
- $ver = $1;
- }
- }
- # Borland C
- elsif($cc eq 'bcc32' || $cc eq 'bcc')
- {
- $ver = join('', `$cc 2>&1`);
- if($ver =~ /Borland C\+\+ (\d[\d\.]+)/ms )
- {
- $ver = $1;
- }
- }
- return($ver);
+ my $cc = compiler_name();
+ my $ver;
+
+ # MSVC
+ if ($cc eq 'cl') {
+ my @ver = `$cc 2>&1`; # Interesting output in STDERR
+ $ver = join('', @ver);
+
+ #print 'VER:'.$ver.':'."\n";
+ if ($ver =~ /Version (\d[\d\.]+)/ms) {
+ $ver = $1;
+ }
+ }
+
+ # GCC
+ elsif ($cc eq 'cc' || $cc eq 'gcc' || $cc eq 'winegcc') {
+ $ver = join('', `$cc --version`);
+ if ($ver =~ /gcc.*(\d[\d+]+)/ms) {
+ $ver = $1;
+ }
+ }
+
+ # Borland C
+ elsif ($cc eq 'bcc32' || $cc eq 'bcc') {
+ $ver = join('', `$cc 2>&1`);
+ if ($ver =~ /Borland C\+\+ (\d[\d\.]+)/ms) {
+ $ver = $1;
+ }
+ }
+ return ($ver);
}
-sub find_test_dll () {
- require File::Spec;
- my $dll_name = $_[0];
- my @paths = qw(.. ../t ../t/dll . ./dll ./t/dll);
- while(my $path = shift @paths)
- {
- $dll = File::Spec->catfile($path, $dll_name);
- return $dll if -s $dll;
- }
- return(undef);
+sub find_test_dll {
+ require File::Spec;
+
+ my $default_dll_name =
+ is_perl_64bit()
+ ? 'API_test64.dll'
+ : 'API_test.dll';
+
+ my $dll_name = $_[0] || $default_dll_name;
+
+ my @paths = qw(.. ../t ../t/dll . ./dll ./t/dll);
+ while (my $path = shift @paths) {
+ $dll = File::Spec->catfile($path, $dll_name);
+ return $dll if -s $dll;
+ }
+ return (undef);
}
1;
diff --git a/Master/tlpkg/tlperl/lib/Win32/API/Type.pm b/Master/tlpkg/tlperl/lib/Win32/API/Type.pm
index 48f0ce1a32f..90e6d1ca0ad 100644
--- a/Master/tlpkg/tlperl/lib/Win32/API/Type.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/API/Type.pm
@@ -6,36 +6,36 @@ package Win32::API::Type;
#######################################################################
#
# Win32::API::Type - Perl Win32 API type definitions
-#
+#
# Author: Aldo Calpini <dada@perl.it>
# Maintainer: Cosimo Streppone <cosimo@cpan.org>
#
-# $Id: Type.pm 458 2009-01-17 17:27:43Z cosimo.streppone $
-#
#######################################################################
-$VERSION = '0.59';
+$VERSION = '0.62';
use Carp;
+use Config;
-require Exporter; # to export the constants to the main:: space
-require DynaLoader; # to dynuhlode the module.
+require Exporter; # to export the constants to the main:: space
+require DynaLoader; # to dynuhlode the module.
@ISA = qw( Exporter DynaLoader );
use vars qw( %Known %PackSize %Modifier %Pointer );
-sub DEBUG {
- if ($Win32::API::DEBUG) {
- printf @_ if @_ or return 1;
- } else {
+sub DEBUG {
+ if ($Win32::API::DEBUG) {
+ printf @_ if @_ or return 1;
+ }
+ else {
return 0;
}
}
-%Known = ();
-%PackSize = ();
-%Modifier = ();
-%Pointer = ();
+%Known = ();
+%PackSize = ();
+%Modifier = ();
+%Pointer = ();
# Initialize data structures at startup.
# Aldo wants to keep the <DATA> approach.
@@ -44,29 +44,42 @@ my $section = 'nothing';
foreach (<DATA>) {
next if /^\s*#/ or /^\s*$/;
chomp;
- if( /\[(.+)\]/) {
+ if (/\[(.+)\]/) {
$section = $1;
next;
}
- if($section eq 'TYPE') {
- my($name, $packing) = split(/\s+/);
+ if ($section eq 'TYPE') {
+ my ($name, $packing) = split(/\s+/);
+
# DEBUG "(PM)Type::INIT: Known('$name') => '$packing'\n";
+ if ($packing eq '_P') {
+ $packing = pointer_pack_type();
+ }
$Known{$name} = $packing;
- } elsif($section eq 'PACKSIZE') {
- my($packing, $size) = split(/\s+/);
+ }
+ elsif ($section eq 'PACKSIZE') {
+ my ($packing, $size) = split(/\s+/);
+
# DEBUG "(PM)Type::INIT: PackSize('$packing') => '$size'\n";
+ if ($size eq '_P') {
+ $size = $Config{ptrsize};
+ }
$PackSize{$packing} = $size;
- } elsif($section eq 'MODIFIER') {
- my($modifier, $mapto) = split(/\s+/, $_, 2);
+ }
+ elsif ($section eq 'MODIFIER') {
+ my ($modifier, $mapto) = split(/\s+/, $_, 2);
my %maps = ();
foreach my $item (split(/\s+/, $mapto)) {
- my($k, $v) = split(/=/, $item);
+ my ($k, $v) = split(/=/, $item);
$maps{$k} = $v;
- }
+ }
+
# DEBUG "(PM)Type::INIT: Modifier('$modifier') => '%maps'\n";
- $Modifier{$modifier} = { %maps };
- } elsif($section eq 'POINTER') {
- my($pointer, $pointto) = split(/\s+/);
+ $Modifier{$modifier} = {%maps};
+ }
+ elsif ($section eq 'POINTER') {
+ my ($pointer, $pointto) = split(/\s+/);
+
# DEBUG "(PM)Type::INIT: Pointer('$pointer') => '$pointto'\n";
$Pointer{$pointer} = $pointto;
}
@@ -74,21 +87,21 @@ foreach (<DATA>) {
close(DATA);
sub new {
- my $class = shift;
- my($type) = @_;
+ my $class = shift;
+ my ($type) = @_;
my $packing = packing($type);
- my $size = sizeof($type);
- my $self = {
- type => $type,
+ my $size = sizeof($type);
+ my $self = {
+ type => $type,
packing => $packing,
- size => $size,
+ size => $size,
};
return bless $self;
}
sub typedef {
my $class = shift;
- my($name, $type) = @_;
+ my ($name, $type) = @_;
my $packing = packing($type, $name);
DEBUG "(PM)Type::typedef: packing='$packing'\n";
my $size = sizeof($type);
@@ -101,88 +114,108 @@ sub is_known {
my $self = shift;
my $type = shift;
$type = $self unless defined $type;
- if(ref($type) =~ /Win32::API::Type/) {
+ if (ref($type) =~ /Win32::API::Type/) {
return 1;
- } else {
+ }
+ else {
return defined packing($type);
}
}
+sub pointer_pack_type {
+ return $Config{ptrsize} == 8 ? 'Q' : 'L';
+}
+
sub sizeof {
my $self = shift;
my $type = shift;
$type = $self unless defined $type;
- if(ref($type) =~ /Win32::API::Type/) {
+ if (ref($type) =~ /Win32::API::Type/) {
return $self->{size};
- } else {
+ }
+ else {
my $packing = packing($type);
- if($packing =~ /(\w)\*(\d+)/) {
- return $PackSize{ $1 } * $2;
- } else {
- return $PackSize{ $packing };
+ if ($packing =~ /(\w)\*(\d+)/) {
+ return $PackSize{$1} * $2;
+ }
+ else {
+ return $PackSize{$packing};
}
- }
+ }
}
sub packing {
- # DEBUG "(PM)Type::packing: called by ". join("::", (caller(1))[0,3]). "\n";
- my $self = shift;
+
+ # DEBUG "(PM)Type::packing: called by ". join("::", (caller(1))[0,3]). "\n";
+ my $self = shift;
my $is_pointer = 0;
- if(ref($self) =~ /Win32::API::Type/) {
- # DEBUG "(PM)Type::packing: got an object\n";
+ if (ref($self) =~ /Win32::API::Type/) {
+
+ # DEBUG "(PM)Type::packing: got an object\n";
return $self->{packing};
}
my $type = ($self eq 'Win32::API::Type') ? shift : $self;
my $name = shift;
-
- # DEBUG "(PM)Type::packing: got '$type', '$name'\n";
- my($modifier, $size, $packing);
- if(exists $Pointer{$type}) {
+
+ # DEBUG "(PM)Type::packing: got '$type', '$name'\n";
+ my ($modifier, $size, $packing);
+ if (exists $Pointer{$type}) {
+
# DEBUG "(PM)Type::packing: got '$type', is really '$Pointer{$type}'\n";
- $type = $Pointer{$type};
+ $type = $Pointer{$type};
$is_pointer = 1;
- } elsif($type =~ /(\w+)\s+(\w+)/) {
+ }
+ elsif ($type =~ /(\w+)\s+(\w+)/) {
$modifier = $1;
- $type = $2;
+ $type = $2;
+
# DEBUG "(PM)packing: got modifier '$modifier', type '$type'\n";
}
-
+
$type =~ s/\*$//;
-
- if(exists $Known{$type}) {
- if(defined $name and $name =~ s/\[(.*)\]$//) {
- $size = $1;
- $packing = $Known{$type}[0]."*".$size;
+
+ if (exists $Known{$type}) {
+ if (defined $name and $name =~ s/\[(.*)\]$//) {
+ $size = $1;
+ $packing = $Known{$type}[0] . "*" . $size;
+
# DEBUG "(PM)Type::packing: composite packing: '$packing' '$size'\n";
- } else {
+ }
+ else {
$packing = $Known{$type};
- if($is_pointer and $packing eq 'c') {
- $packing = "p";
+ if ($is_pointer and $packing eq 'c') {
+ $packing = "p";
}
+
# DEBUG "(PM)Type::packing: simple packing: '$packing'\n";
}
- if(defined $modifier and exists $Modifier{$modifier}->{$type}) {
- # DEBUG "(PM)Type::packing: applying modifier '$modifier' -> '$Modifier{$modifier}->{$type}'\n";
+ if (defined $modifier and exists $Modifier{$modifier}->{$type}) {
+
+# DEBUG "(PM)Type::packing: applying modifier '$modifier' -> '$Modifier{$modifier}->{$type}'\n";
$packing = $Modifier{$modifier}->{$type};
}
return $packing;
- } else {
+ }
+ else {
+
# DEBUG "(PM)Type::packing: NOT FOUND\n";
return undef;
}
-}
+}
sub is_pointer {
my $self = shift;
my $type = shift;
$type = $self unless defined $type;
- if(ref($type) =~ /Win32::API::Type/) {
+ if (ref($type) =~ /Win32::API::Type/) {
return 1;
- } else {
- if($type =~ /\*$/) {
+ }
+ else {
+ if ($type =~ /\*$/) {
return 1;
- } else {
+ }
+ else {
return exists $Pointer{$type};
}
}
@@ -193,7 +226,7 @@ sub Pack {
my $pack_type = packing($type);
- if($pack_type eq 'p') {
+ if ($pack_type eq 'p') {
$pack_type = 'Z*';
}
@@ -207,14 +240,14 @@ sub Unpack {
my $pack_type = packing($type);
- if($pack_type eq 'p') {
+ if ($pack_type eq 'p') {
DEBUG "(PM)Type::Unpack: got packing 'p': is a pointer\n";
$pack_type = 'Z*';
}
- DEBUG "(PM)Type::Unpack: unpacking '$pack_type' '$arg'\n";
+ DEBUG "(PM)Type::Unpack: unpacking '$pack_type' '$arg'\n";
$arg = unpack($pack_type, $arg);
- DEBUG "(PM)Type::Unpack: returning '" . ($arg || '') . "'\n";
+ DEBUG "(PM)Type::Unpack: returning '" . ($arg || '') . "'\n";
return $arg;
}
@@ -297,42 +330,43 @@ COLORREF L
DWORD L
DWORD32 L
DWORD64 Q
+DWORD_PTR _P
FLOAT f
-HACCEL L
-HANDLE L
-HBITMAP L
-HBRUSH L
-HCOLORSPACE L
-HCONV L
-HCONVLIST L
-HCURSOR L
-HDC L
-HDDEDATA L
-HDESK L
-HDROP L
-HDWP L
-HENHMETAFILE L
-HFILE L
-HFONT L
-HGDIOBJ L
-HGLOBAL L
-HHOOK L
-HICON L
-HIMC L
-HINSTANCE L
-HKEY L
-HKL L
-HLOCAL L
-HMENU L
-HMETAFILE L
-HMODULE L
-HPALETTE L
-HPEN L
-HRGN L
-HRSRC L
-HSZ L
-HWINSTA L
-HWND L
+HACCEL _P
+HANDLE _P
+HBITMAP _P
+HBRUSH _P
+HCOLORSPACE _P
+HCONV _P
+HCONVLIST _P
+HCURSOR _P
+HDC _P
+HDDEDATA _P
+HDESK _P
+HDROP _P
+HDWP _P
+HENHMETAFILE _P
+HFILE _P
+HFONT _P
+HGDIOBJ _P
+HGLOBAL _P
+HHOOK _P
+HICON _P
+HIMC _P
+HINSTANCE _P
+HKEY _P
+HKL _P
+HLOCAL _P
+HMENU _P
+HMETAFILE _P
+HMODULE _P
+HPALETTE _P
+HPEN _P
+HRGN _P
+HRSRC _P
+HSZ _P
+HWINSTA _P
+HWND _P
INT i
INT32 i
INT64 q
@@ -345,20 +379,20 @@ LONG l
LONG32 l
LONG64 q
LONGLONG q
-LPARAM L
-LRESULT L
+LPARAM _P
+LRESULT _P
REGSAM L
-SC_HANDLE L
-SC_LOCK L
-SERVICE_STATUS_HANDLE L
+SC_HANDLE _P
+SC_LOCK _P
+SERVICE_STATUS_HANDLE _P
SHORT s
-SIZE_T L
-SSIZE_T L
+SIZE_T _P
+SSIZE_T _P
TBYTE c
TCHAR C
UCHAR C
UINT I
-UINT_PTR L
+UINT_PTR _P
UINT32 I
UINT64 Q
ULONG L
@@ -368,7 +402,7 @@ ULONGLONG Q
USHORT S
WCHAR S
WORD S
-WPARAM L
+WPARAM _P
VOID c
int i
@@ -396,7 +430,7 @@ q 8
Q 8
s 2
S 2
-p 4
+p _P
[MODIFIER]
unsigned int=I long=L short=S char=C
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm
index 6164c18d37b..45cfc373918 100644
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/Process/Info.pm
@@ -70,7 +70,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '1.018';
+our $VERSION = '1.019';
use Carp;
use File::Spec;
@@ -514,7 +514,8 @@ passing any necessary arguments.
{
- my $is_reactos = $^O eq 'MSWin32' && lc $ENV{OS} eq 'reactos';
+ my $is_reactos = $^O eq 'MSWin32' &&
+ defined $ENV{OS} && lc $ENV{OS} eq 'reactos';
sub _isReactOS {
return $is_reactos;
}
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm
index 022d1442b33..03f2469d337 100644
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/Process/Info/NT.pm
@@ -75,7 +75,7 @@ return undef; ## no critic (ProhibitExplicitReturnUndef)
use base qw{Win32::Process::Info};
-our $VERSION = '1.018';
+our $VERSION = '1.019';
our $AdjustTokenPrivileges;
our $CloseHandle;
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm
index b2b6326b0a4..67bf7562cc9 100644
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/Process/Info/PT.pm
@@ -64,7 +64,7 @@ use strict;
use warnings;
use base qw{Win32::Process::Info};
-our $VERSION = '1.018';
+our $VERSION = '1.019';
use Carp;
use File::Basename;
diff --git a/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm b/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm
index 3edb3a262f6..06dcea9cfc4 100644
--- a/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm
+++ b/Master/tlpkg/tlperl/lib/Win32/Process/Info/WMI.pm
@@ -36,7 +36,7 @@ use strict;
use warnings;
use base qw{Win32::Process::Info};
-our $VERSION = '1.018';
+our $VERSION = '1.019';
use vars qw{%mutator};
use Carp;
diff --git a/Master/tlpkg/tlperl/lib/XSLoader.pm b/Master/tlpkg/tlperl/lib/XSLoader.pm
index 98ed299d8b3..ed33bcbfa6c 100644
--- a/Master/tlpkg/tlperl/lib/XSLoader.pm
+++ b/Master/tlpkg/tlperl/lib/XSLoader.pm
@@ -2,15 +2,13 @@
package XSLoader;
-$VERSION = "0.10";
+$VERSION = "0.13";
#use strict;
# enable debug/trace messages from DynaLoader perl code
# $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
- my $dl_dlext = 'dll';
-
package DynaLoader;
# No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
@@ -22,24 +20,27 @@ package XSLoader;
sub load {
package DynaLoader;
- die q{XSLoader::load('Your::Module', $Your::Module::VERSION)} unless @_;
+ my ($module, $modlibname) = caller();
- my($module) = $_[0];
+ if (@_) {
+ $module = $_[0];
+ } else {
+ $_[0] = $module;
+ }
# work with static linking too
my $boots = "$module\::bootstrap";
goto &$boots if defined &$boots;
- goto retry unless $module and defined &dl_load_file;
+ goto \&XSLoader::bootstrap_inherit unless $module and defined &dl_load_file;
my @modparts = split(/::/,$module);
my $modfname = $modparts[-1];
my $modpname = join('/',@modparts);
- my $modlibname = (caller())[1];
my $c = @modparts;
$modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename
- my $file = "$modlibname/auto/$modpname/$modfname.$dl_dlext";
+ my $file = "$modlibname/auto/$modpname/$modfname.dll";
# print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug;
@@ -52,7 +53,7 @@ sub load {
warn "$bs: $@\n" if $@;
}
- goto retry if not -f $file or -s $bs;
+ goto \&XSLoader::bootstrap_inherit if not -f $file or -s $bs;
my $bootname = "boot_$module";
$bootname =~ s/\W/_/g;
@@ -92,23 +93,11 @@ sub load {
# See comment block above
push(@DynaLoader::dl_shared_objects, $file); # record files loaded
return &$xs(@_);
-
- retry:
- my $bootstrap_inherit = DynaLoader->can('bootstrap_inherit') ||
- XSLoader->can('bootstrap_inherit');
- goto &$bootstrap_inherit;
}
-# Versions of DynaLoader prior to 5.6.0 don't have this function.
sub bootstrap_inherit {
- package DynaLoader;
-
- my $module = $_[0];
- local *DynaLoader::isa = *{"$module\::ISA"};
- local @DynaLoader::isa = (@DynaLoader::isa, 'DynaLoader');
- # Cannot goto due to delocalization. Will report errors on a wrong line?
require DynaLoader;
- DynaLoader::bootstrap(@_);
+ goto \&DynaLoader::bootstrap_inherit;
}
1;
@@ -122,14 +111,14 @@ XSLoader - Dynamically load C libraries into Perl code
=head1 VERSION
-Version 0.10
+Version 0.13
=head1 SYNOPSIS
package YourPackage;
- use XSLoader;
+ require XSLoader;
- XSLoader::load 'YourPackage', $YourPackage::VERSION;
+ XSLoader::load();
=head1 DESCRIPTION
@@ -178,6 +167,13 @@ If no C<$VERSION> was specified on the C<bootstrap> line, the last line becomes
XSLoader::load 'YourPackage';
+If the call to C<load> is from the YourPackage, then that can be further
+simplified to
+
+ XSLoader::load();
+
+as C<load> will use C<caller> to determine the package.
+
=head2 Backward compatible boilerplate
If you want to have your cake and eat it too, you need a more complicated
@@ -218,18 +214,22 @@ in F<YourPackage.pm>) and XS code (defined in F<YourPackage.xs>). If this
Perl code makes calls into this XS code, and/or this XS code makes calls to
the Perl code, one should be careful with the order of initialization.
-The call to C<XSLoader::load()> (or C<bootstrap()>) has three side effects:
+The call to C<XSLoader::load()> (or C<bootstrap()>) calls the module's
+bootstrap code. For modules build by F<xsubpp> (nearly all modules) this
+has three side effects:
=over
=item *
-if C<$VERSION> was specified, a sanity check is done to ensure that the
-versions of the F<.pm> and the (compiled) F<.xs> parts are compatible;
+A sanity check is done to ensure that the versions of the F<.pm> and the
+(compiled) F<.xs> parts are compatible. If C<$VERSION> was specified, this
+is used for the check. If not specified, it defaults to
+C<$XS_VERSION // $VERSION> (in the module's namespace)
=item *
-the XSUBs are made accessible from Perl;
+the XSUBs are made accessible from Perl
=item *
@@ -307,14 +307,8 @@ B<(W)> As the message says, some symbols stay undefined although the
extension module was correctly loaded and initialised. The list of undefined
symbols follows.
-=item C<XSLoader::load('Your::Module', $Your::Module::VERSION)>
-
-B<(F)> You tried to invoke C<load()> without any argument. You must supply
-a module name, and optionally its version.
-
=back
-
=head1 LIMITATIONS
To reduce the overhead as much as possible, only one possible location
diff --git a/Master/tlpkg/tlperl/lib/abbrev.pl b/Master/tlpkg/tlperl/lib/abbrev.pl
index cd20063f003..d46321f730c 100644
--- a/Master/tlpkg/tlperl/lib/abbrev.pl
+++ b/Master/tlpkg/tlperl/lib/abbrev.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# Usage:
;# %foo = ();
;# &abbrev(*foo,LIST);
@@ -22,7 +24,6 @@ sub main'abbrev {
local(*domain) = @_;
shift(@_);
@cmp = @_;
- local($[) = 0;
foreach $name (@_) {
@extra = split(//,$name);
$abbrev = shift(@extra);
diff --git a/Master/tlpkg/tlperl/lib/assert.pl b/Master/tlpkg/tlperl/lib/assert.pl
index 2c2073c7eaa..d47e0067a2d 100644
--- a/Master/tlpkg/tlperl/lib/assert.pl
+++ b/Master/tlpkg/tlperl/lib/assert.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
#
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
@@ -18,7 +20,7 @@
# routine shamelessly borrowed from the perl debugger.
sub assert {
- &panic("ASSERTION BOTCHED: $_[$[]",$@) unless eval $_[$[];
+ &panic("ASSERTION BOTCHED: $_[0]",$@) unless eval $_[0];
}
sub panic {
diff --git a/Master/tlpkg/tlperl/lib/attributes.pm b/Master/tlpkg/tlperl/lib/attributes.pm
index c117bef2003..178a126329a 100644
--- a/Master/tlpkg/tlperl/lib/attributes.pm
+++ b/Master/tlpkg/tlperl/lib/attributes.pm
@@ -1,6 +1,6 @@
package attributes;
-our $VERSION = 0.12;
+our $VERSION = 0.14;
@EXPORT_OK = qw(get reftype);
@EXPORT = ();
@@ -98,7 +98,7 @@ sub get ($) {
sub require_version { goto &UNIVERSAL::VERSION }
require XSLoader;
-XSLoader::load('attributes', $VERSION);
+XSLoader::load();
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/auto/B/B.dll b/Master/tlpkg/tlperl/lib/auto/B/B.dll
index a373e10f033..eefd62c8c44 100755
--- a/Master/tlpkg/tlperl/lib/auto/B/B.dll
+++ b/Master/tlpkg/tlperl/lib/auto/B/B.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll
index 2809523c9d5..a550f69032a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll
index d6d5664847a..1022af4743d 100755
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Zlib/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/Compress/Zlib/autosplit.ix
deleted file mode 100644
index 749ea80299c..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Zlib/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ..\..\lib\Compress\Zlib.pm
-# (file acts as timestamp)
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
index 1ad2d4e633c..b3bb80a061a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
index db95fb70c3e..b72416b1340 100755
--- a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll b/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll
index 14865374cbc..e5175cc3991 100755
--- a/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
index 74b38a7fb32..441f2eaff5e 100755
--- a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
index 7de9fcd6765..cdd728cd132 100755
--- a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
index c0e69cb91df..aaec21ebb10 100755
--- a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
index 5db0a86a782..6963745c60f 100755
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
index 703d853dc4a..26295f9fdd5 100644
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
@@ -1,3 +1,3 @@
-X:\perlnew\site\lib\Digest\SHA1.pm
-X:\perlnew\site\lib\auto\Digest\SHA1\SHA1.bs
-X:\perlnew\site\lib\auto\Digest\SHA1\SHA1.dll
+X:\tlperl\site\lib\Digest\SHA1.pm
+X:\tlperl\site\lib\auto\Digest\SHA1\SHA1.bs
+X:\tlperl\site\lib\auto\Digest\SHA1\SHA1.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
index 701780d1845..fd9f520d5ff 100755
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/DynaLoader/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/DynaLoader/autosplit.ix
deleted file mode 100644
index 8bc9c18f2f7..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/DynaLoader/autosplit.ix
+++ /dev/null
@@ -1,8 +0,0 @@
-# Index created by AutoSplit for ..\..\lib/DynaLoader.pm
-# (file acts as timestamp)
-package DynaLoader;
-sub dl_findfile ;
-sub dl_expandspec ;
-sub dl_find_symbol_anywhere
-;
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_expandspec.al b/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_expandspec.al
deleted file mode 100644
index f4b70fb0d6d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_expandspec.al
+++ /dev/null
@@ -1,31 +0,0 @@
-# NOTE: Derived from ..\..\lib/DynaLoader.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package DynaLoader;
-
-#line 318 "..\..\lib/DynaLoader.pm (autosplit into ..\..\lib\auto\DynaLoader\dl_expandspec.al)"
-sub dl_expandspec {
- my($spec) = @_;
- # Optional function invoked if DynaLoader.pm sets $do_expand.
- # Most systems do not require or use this function.
- # Some systems may implement it in the dl_*.xs file in which case
- # this autoload version will not be called but is harmless.
-
- # This function is designed to deal with systems which treat some
- # 'filenames' in a special way. For example VMS 'Logical Names'
- # (something like unix environment variables - but different).
- # This function should recognise such names and expand them into
- # full file paths.
- # Must return undef if $spec is invalid or file does not exist.
-
- my $file = $spec; # default output to input
-
-
- return undef unless -f $file;
-
- print STDERR "dl_expandspec($spec) => $file\n" if $dl_debug;
- $file;
-}
-
-# end of DynaLoader::dl_expandspec
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_find_symbol_anywhere.al b/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_find_symbol_anywhere.al
deleted file mode 100644
index 644499d8501..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_find_symbol_anywhere.al
+++ /dev/null
@@ -1,19 +0,0 @@
-# NOTE: Derived from ..\..\lib/DynaLoader.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package DynaLoader;
-
-#line 341 "..\..\lib/DynaLoader.pm (autosplit into ..\..\lib\auto\DynaLoader\dl_find_symbol_anywhere.al)"
-sub dl_find_symbol_anywhere
-{
- my $sym = shift;
- my $libref;
- foreach $libref (@dl_librefs) {
- my $symref = dl_find_symbol($libref,$sym);
- return $symref if $symref;
- }
- return undef;
-}
-
-1;
-# end of DynaLoader::dl_find_symbol_anywhere
diff --git a/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_findfile.al b/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_findfile.al
deleted file mode 100644
index 812ace84ab2..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/DynaLoader/dl_findfile.al
+++ /dev/null
@@ -1,86 +0,0 @@
-# NOTE: Derived from ..\..\lib/DynaLoader.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package DynaLoader;
-
-#line 239 "..\..\lib/DynaLoader.pm (autosplit into ..\..\lib\auto\DynaLoader\dl_findfile.al)"
-sub dl_findfile {
- # Read ext/DynaLoader/DynaLoader.doc for detailed information.
- # This function does not automatically consider the architecture
- # or the perl library auto directories.
- my (@args) = @_;
- my (@dirs, $dir); # which directories to search
- my (@found); # full paths to real files we have found
- #my $dl_ext= 'dll'; # $Config::Config{'dlext'} suffix for perl extensions
- #my $dl_so = 'dll'; # $Config::Config{'so'} suffix for shared libraries
-
- print STDERR "dl_findfile(@args)\n" if $dl_debug;
-
- # accumulate directories but process files as they appear
- arg: foreach(@args) {
- # Special fast case: full filepath requires no search
-
-
-
- if (m:/: && -f $_) {
- push(@found,$_);
- last arg unless wantarray;
- next;
- }
-
-
- # Deal with directories first:
- # Using a -L prefix is the preferred option (faster and more robust)
- if (m:^-L:) { s/^-L//; push(@dirs, $_); next; }
-
-
-
- # Otherwise we try to try to spot directories by a heuristic
- # (this is a more complicated issue than it first appears)
- if (m:/: && -d $_) { push(@dirs, $_); next; }
-
-
-
- # Only files should get this far...
- my(@names, $name); # what filenames to look for
- if (m:-l: ) { # convert -lname to appropriate library name
- s/-l//;
- push(@names,"lib$_.$dl_so");
- push(@names,"lib$_.a");
- } else { # Umm, a bare name. Try various alternatives:
- # these should be ordered with the most likely first
- push(@names,"$_.$dl_dlext") unless m/\.$dl_dlext$/o;
- push(@names,"$_.$dl_so") unless m/\.$dl_so$/o;
- push(@names,"lib$_.$dl_so") unless m:/:;
- push(@names,"$_.a") if !m/\.a$/ and $dlsrc eq "dl_dld.xs";
- push(@names, $_);
- }
- my $dirsep = '/';
-
- foreach $dir (@dirs, @dl_library_path) {
- next unless -d $dir;
-
- foreach $name (@names) {
- my($file) = "$dir$dirsep$name";
- print STDERR " checking in $dir for $name\n" if $dl_debug;
- $file = ($do_expand) ? dl_expandspec($file) : (-f $file && $file);
- #$file = _check_file($file);
- if ($file) {
- push(@found, $file);
- next arg; # no need to look any further
- }
- }
- }
- }
- if ($dl_debug) {
- foreach(@dirs) {
- print STDERR " dl_findfile ignored non-existent directory: $_\n" unless -d $_;
- }
- print STDERR "dl_findfile found: @found\n";
- }
- return $found[0] unless wantarray;
- @found;
-}
-
-# end of DynaLoader::dl_findfile
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
index cf33ad11114..8a3f073c7ed 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
index 82941449a35..b451cc2fc46 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
index 49e3a2f90c9..35a74e888d6 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
index 3c69f1ae07e..3da973b1833 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
index 26818a8e5e5..3a5b03682c4 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
index 7f7c670f4bb..1dab712ae12 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist b/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
new file mode 100644
index 00000000000..af4eef16468
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
@@ -0,0 +1 @@
+X:\tlperl\site\lib\Encode\Locale.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
index c38c3ffaeba..a83f7125aed 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
index 30e03c7097d..baac559580b 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
index 5276cda0f96..7977cfb1b2c 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
index bffd0668b85..7f363d0ceaa 100755
--- a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
index e0e3e657ef9..d85dfb76c53 100755
--- a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
+++ b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist b/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
new file mode 100644
index 00000000000..dd489c712fe
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
@@ -0,0 +1 @@
+X:\tlperl\site\lib\File\Listing.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Which/.packlist b/Master/tlpkg/tlperl/lib/auto/File/Which/.packlist
deleted file mode 100644
index 08856d20753..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/File/Which/.packlist
+++ /dev/null
@@ -1,3 +0,0 @@
-X:\perlnew\bin\pwhich
-X:\perlnew\bin\pwhich.bat
-X:\perlnew\site\lib\File\Which.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll
index 8f254f56db4..3c5cec39b52 100755
--- a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
index cd7257dbe4a..d7688df8e44 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
@@ -1,9 +1,9 @@
-X:\perlnew\site\lib\HTML\Entities.pm
-X:\perlnew\site\lib\HTML\Filter.pm
-X:\perlnew\site\lib\HTML\HeadParser.pm
-X:\perlnew\site\lib\HTML\LinkExtor.pm
-X:\perlnew\site\lib\HTML\Parser.pm
-X:\perlnew\site\lib\HTML\PullParser.pm
-X:\perlnew\site\lib\HTML\TokeParser.pm
-X:\perlnew\site\lib\auto\HTML\Parser\Parser.bs
-X:\perlnew\site\lib\auto\HTML\Parser\Parser.dll
+X:\tlperl\site\lib\HTML\Entities.pm
+X:\tlperl\site\lib\HTML\Filter.pm
+X:\tlperl\site\lib\HTML\HeadParser.pm
+X:\tlperl\site\lib\HTML\LinkExtor.pm
+X:\tlperl\site\lib\HTML\Parser.pm
+X:\tlperl\site\lib\HTML\PullParser.pm
+X:\tlperl\site\lib\HTML\TokeParser.pm
+X:\tlperl\site\lib\auto\HTML\Parser\Parser.bs
+X:\tlperl\site\lib\auto\HTML\Parser\Parser.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
index 73d4a96a763..cf72c3c999a 100755
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist b/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
index 155ac35b1ab..1c23e228b35 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
@@ -1 +1 @@
-X:\perlnew\site\lib\HTML\Tagset.pm
+X:\tlperl\site\lib\HTML\Tagset.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
new file mode 100644
index 00000000000..0730d582984
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
@@ -0,0 +1,3 @@
+X:\tlperl\site\lib\HTTP\Cookies.pm
+X:\tlperl\site\lib\HTTP\Cookies\Microsoft.pm
+X:\tlperl\site\lib\HTTP\Cookies\Netscape.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
new file mode 100644
index 00000000000..b5da24b91e0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
@@ -0,0 +1 @@
+X:\tlperl\site\lib\HTTP\Daemon.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
new file mode 100644
index 00000000000..d7627ece46b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
@@ -0,0 +1 @@
+X:\tlperl\site\lib\HTTP\Date.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
new file mode 100644
index 00000000000..faf8cb4a0af
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
@@ -0,0 +1,10 @@
+X:\tlperl\site\lib\HTTP\Config.pm
+X:\tlperl\site\lib\HTTP\Headers.pm
+X:\tlperl\site\lib\HTTP\Headers\Auth.pm
+X:\tlperl\site\lib\HTTP\Headers\ETag.pm
+X:\tlperl\site\lib\HTTP\Headers\Util.pm
+X:\tlperl\site\lib\HTTP\Message.pm
+X:\tlperl\site\lib\HTTP\Request.pm
+X:\tlperl\site\lib\HTTP\Request\Common.pm
+X:\tlperl\site\lib\HTTP\Response.pm
+X:\tlperl\site\lib\HTTP\Status.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
new file mode 100644
index 00000000000..ee1efd992a8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
@@ -0,0 +1 @@
+X:\tlperl\site\lib\HTTP\Negotiate.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll
index 770827b9477..1b935a8d597 100755
--- a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
index 740119a2648..7c6728b8cf4 100755
--- a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/IO.dll b/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
index 0c7b2888217..487f3eef19c 100755
--- a/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
+++ b/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist b/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
new file mode 100644
index 00000000000..179d667fbb7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
@@ -0,0 +1 @@
+X:\tlperl\site\lib\IO\String.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/LWP/.packlist b/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
index 480c5744189..a5d879ae05c 100644
--- a/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
@@ -1,65 +1,33 @@
-X:\perlnew\bin\lwp-download
-X:\perlnew\bin\lwp-download.bat
-X:\perlnew\bin\lwp-dump
-X:\perlnew\bin\lwp-dump.bat
-X:\perlnew\bin\lwp-mirror
-X:\perlnew\bin\lwp-mirror.bat
-X:\perlnew\bin\lwp-request
-X:\perlnew\bin\lwp-request.bat
-X:\perlnew\bin\lwp-rget
-X:\perlnew\bin\lwp-rget.bat
-X:\perlnew\site\lib\Bundle\LWP.pm
-X:\perlnew\site\lib\File\Listing.pm
-X:\perlnew\site\lib\HTML\Form.pm
-X:\perlnew\site\lib\HTTP\Config.pm
-X:\perlnew\site\lib\HTTP\Cookies.pm
-X:\perlnew\site\lib\HTTP\Cookies\Microsoft.pm
-X:\perlnew\site\lib\HTTP\Cookies\Netscape.pm
-X:\perlnew\site\lib\HTTP\Daemon.pm
-X:\perlnew\site\lib\HTTP\Date.pm
-X:\perlnew\site\lib\HTTP\Headers.pm
-X:\perlnew\site\lib\HTTP\Headers\Auth.pm
-X:\perlnew\site\lib\HTTP\Headers\ETag.pm
-X:\perlnew\site\lib\HTTP\Headers\Util.pm
-X:\perlnew\site\lib\HTTP\Message.pm
-X:\perlnew\site\lib\HTTP\Negotiate.pm
-X:\perlnew\site\lib\HTTP\Request.pm
-X:\perlnew\site\lib\HTTP\Request\Common.pm
-X:\perlnew\site\lib\HTTP\Response.pm
-X:\perlnew\site\lib\HTTP\Status.pm
-X:\perlnew\site\lib\LWP.pm
-X:\perlnew\site\lib\LWP\Authen\Basic.pm
-X:\perlnew\site\lib\LWP\Authen\Digest.pm
-X:\perlnew\site\lib\LWP\Authen\Ntlm.pm
-X:\perlnew\site\lib\LWP\ConnCache.pm
-X:\perlnew\site\lib\LWP\Debug.pm
-X:\perlnew\site\lib\LWP\DebugFile.pm
-X:\perlnew\site\lib\LWP\MediaTypes.pm
-X:\perlnew\site\lib\LWP\MemberMixin.pm
-X:\perlnew\site\lib\LWP\Protocol.pm
-X:\perlnew\site\lib\LWP\Protocol\GHTTP.pm
-X:\perlnew\site\lib\LWP\Protocol\cpan.pm
-X:\perlnew\site\lib\LWP\Protocol\data.pm
-X:\perlnew\site\lib\LWP\Protocol\file.pm
-X:\perlnew\site\lib\LWP\Protocol\ftp.pm
-X:\perlnew\site\lib\LWP\Protocol\gopher.pm
-X:\perlnew\site\lib\LWP\Protocol\http.pm
-X:\perlnew\site\lib\LWP\Protocol\http10.pm
-X:\perlnew\site\lib\LWP\Protocol\https.pm
-X:\perlnew\site\lib\LWP\Protocol\https10.pm
-X:\perlnew\site\lib\LWP\Protocol\loopback.pm
-X:\perlnew\site\lib\LWP\Protocol\mailto.pm
-X:\perlnew\site\lib\LWP\Protocol\nntp.pm
-X:\perlnew\site\lib\LWP\Protocol\nogo.pm
-X:\perlnew\site\lib\LWP\RobotUA.pm
-X:\perlnew\site\lib\LWP\Simple.pm
-X:\perlnew\site\lib\LWP\UserAgent.pm
-X:\perlnew\site\lib\LWP\media.types
-X:\perlnew\site\lib\Net\HTTP.pm
-X:\perlnew\site\lib\Net\HTTPS.pm
-X:\perlnew\site\lib\Net\HTTP\Methods.pm
-X:\perlnew\site\lib\Net\HTTP\NB.pm
-X:\perlnew\site\lib\WWW\RobotRules.pm
-X:\perlnew\site\lib\WWW\RobotRules\AnyDBM_File.pm
-X:\perlnew\site\lib\lwpcook.pod
-X:\perlnew\site\lib\lwptut.pod
+X:\tlperl\bin\lwp-download
+X:\tlperl\bin\lwp-download.bat
+X:\tlperl\bin\lwp-dump
+X:\tlperl\bin\lwp-dump.bat
+X:\tlperl\bin\lwp-mirror
+X:\tlperl\bin\lwp-mirror.bat
+X:\tlperl\bin\lwp-request
+X:\tlperl\bin\lwp-request.bat
+X:\tlperl\site\lib\LWP.pm
+X:\tlperl\site\lib\LWP\Authen\Basic.pm
+X:\tlperl\site\lib\LWP\Authen\Digest.pm
+X:\tlperl\site\lib\LWP\Authen\Ntlm.pm
+X:\tlperl\site\lib\LWP\ConnCache.pm
+X:\tlperl\site\lib\LWP\Debug.pm
+X:\tlperl\site\lib\LWP\DebugFile.pm
+X:\tlperl\site\lib\LWP\MemberMixin.pm
+X:\tlperl\site\lib\LWP\Protocol.pm
+X:\tlperl\site\lib\LWP\Protocol\GHTTP.pm
+X:\tlperl\site\lib\LWP\Protocol\cpan.pm
+X:\tlperl\site\lib\LWP\Protocol\data.pm
+X:\tlperl\site\lib\LWP\Protocol\file.pm
+X:\tlperl\site\lib\LWP\Protocol\ftp.pm
+X:\tlperl\site\lib\LWP\Protocol\gopher.pm
+X:\tlperl\site\lib\LWP\Protocol\http.pm
+X:\tlperl\site\lib\LWP\Protocol\loopback.pm
+X:\tlperl\site\lib\LWP\Protocol\mailto.pm
+X:\tlperl\site\lib\LWP\Protocol\nntp.pm
+X:\tlperl\site\lib\LWP\Protocol\nogo.pm
+X:\tlperl\site\lib\LWP\RobotUA.pm
+X:\tlperl\site\lib\LWP\Simple.pm
+X:\tlperl\site\lib\LWP\UserAgent.pm
+X:\tlperl\site\lib\lwpcook.pod
+X:\tlperl\site\lib\lwptut.pod
diff --git a/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist b/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
new file mode 100644
index 00000000000..35b05364057
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
@@ -0,0 +1,2 @@
+X:\tlperl\site\lib\LWP\MediaTypes.pm
+X:\tlperl\site\lib\LWP\media.types
diff --git a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
index da591618b02..3759a0697aa 100755
--- a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
+++ b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
index b5176ac06f4..5eee3dbd80c 100755
--- a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
+++ b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll
index 9b44f612896..6fe8e3cf087 100755
--- a/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist b/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
new file mode 100644
index 00000000000..8d5e929c2e2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
@@ -0,0 +1,4 @@
+X:\tlperl\site\lib\Net\HTTP.pm
+X:\tlperl\site\lib\Net\HTTPS.pm
+X:\tlperl\site\lib\Net\HTTP\Methods.pm
+X:\tlperl\site\lib\Net\HTTP\NB.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
index bb013ad75a2..41ab268daa8 100755
--- a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
index 38ff832bf2a..40628fdbf97 100755
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al
index 7cbdb7bb920..32cf8dac85e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigAction;
-#line 986 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\flags.al)"
+#line 981 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\flags.al)"
sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
# end of POSIX::SigAction::flags
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al
index 3d03d1c9a99..817f1f0f639 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigAction;
-#line 984 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\handler.al)"
+#line 979 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\handler.al)"
sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} };
# end of POSIX::SigAction::handler
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al
index bc8bd31e8c0..772fc89acc1 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigAction;
-#line 985 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\mask.al)"
+#line 980 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\mask.al)"
sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
# end of POSIX::SigAction::mask
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al
index b74b2d4a4de..7f7b34ae252 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigAction;
-#line 981 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\new.al)"
+#line 976 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\new.al)"
package POSIX::SigAction;
sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] }
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al
index a9f21cc5f18..0922eb774d3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigAction;
-#line 987 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\safe.al)"
+#line 982 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\safe.al)"
sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
package POSIX::SigRt;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al
index 78d3d5bb622..b04444a5965 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1041 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\CLEAR.al)"
+#line 1036 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\CLEAR.al)"
sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
# end of POSIX::SigRt::CLEAR
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al
index 6bac474d05b..87032a661e9 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1040 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\DELETE.al)"
+#line 1035 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\DELETE.al)"
sub DELETE { delete $SIG{ &_check } }
# end of POSIX::SigRt::DELETE
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al
index 2f2c73d94a8..cd893cc1ec2 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1034 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\EXISTS.al)"
+#line 1029 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\EXISTS.al)"
sub EXISTS { &_exist }
# end of POSIX::SigRt::EXISTS
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al
index ed18ab0d9b6..250a70eb2e1 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1035 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\FETCH.al)"
+#line 1030 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\FETCH.al)"
sub FETCH { my $rtsig = &_check;
my $oa = POSIX::SigAction->new();
POSIX::sigaction($rtsig, undef, $oa);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al
index feec293431c..9fec86dafa8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1042 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\SCALAR.al)"
+#line 1037 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\SCALAR.al)"
sub SCALAR { &_croak; $_sigrtn + 1 }
1;
# end of POSIX::SigRt::SCALAR
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al
index f4c6466a06b..50dd6ba820b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1039 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\STORE.al)"
+#line 1034 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\STORE.al)"
sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
# end of POSIX::SigRt::STORE
1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al
index c1a46c3e6c3..d2bd3214b68 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1018 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_check.al)"
+#line 1013 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_check.al)"
sub _check {
my ($rtsig, $ok) = &_exist;
die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)"
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al
index 742d4e9cd46..3007b442b85 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 998 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_croak.al)"
+#line 993 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_croak.al)"
sub _croak {
&_init unless defined $_sigrtn;
die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al
index 075bbed6ab8..090d22b42cb 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1012 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_exist.al)"
+#line 1007 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_exist.al)"
sub _exist {
my $rtsig = _getsig($_[1]);
my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al
index 1cdbfaaf197..2a74dd50836 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1003 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_getsig.al)"
+#line 998 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_getsig.al)"
sub _getsig {
&_croak;
my $rtsig = $_[0];
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al
index 8ac96299ec6..15f8b1f3320 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 992 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_init.al)"
+#line 987 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_init.al)"
sub _init {
$_SIGRTMIN = &POSIX::SIGRTMIN;
$_SIGRTMAX = &POSIX::SIGRTMAX;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al
index 30b6100a634..0da3e9643cc 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX::SigRt;
-#line 1025 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\new.al)"
+#line 1020 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\new.al)"
sub new {
my ($rtsig, $handler, $flags) = @_;
my $sigset = POSIX::SigSet->new($rtsig);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al
index a882e5a0309..9874a1f0924 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 414 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\abs.al)"
+#line 408 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\abs.al)"
sub abs {
usage "abs(x)" if @_ != 1;
CORE::abs($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al b/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al
index 2bf97977aeb..8c4c3765be4 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 631 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\alarm.al)"
+#line 625 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\alarm.al)"
sub alarm {
usage "alarm(seconds)" if @_ != 1;
CORE::alarm($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al b/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al
index fbeefa8583c..73452ef1d36 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 96 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\assert.al)"
+#line 90 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\assert.al)"
sub assert {
usage "assert(expr)" if @_ != 1;
if (!$_[0]) {
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al
index 41b71fab8e4..96078d9499b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 161 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atan2.al)"
+#line 155 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atan2.al)"
sub atan2 {
usage "atan2(x,y)" if @_ != 2;
CORE::atan2($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al
index 7df942dfda6..ae28e584254 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 419 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atexit.al)"
+#line 413 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atexit.al)"
sub atexit {
unimpl "atexit() is C-specific: use END {} instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al
index 5f4d2c51bbb..15c64c3e78b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 423 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atof.al)"
+#line 417 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atof.al)"
sub atof {
unimpl "atof() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al
index 57b26c01896..dabe0325413 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 427 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atoi.al)"
+#line 421 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atoi.al)"
sub atoi {
unimpl "atoi() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al
index f5784993845..b8ef5b0ef1f 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 431 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atol.al)"
+#line 425 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atol.al)"
sub atol {
unimpl "atol() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al b/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al
index 617c37ee740..cc36c9e9b81 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 435 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\bsearch.al)"
+#line 429 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\bsearch.al)"
sub bsearch {
unimpl "bsearch() not supplied";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al
index 01b6db33ae8..6154183e4cc 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 439 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\calloc.al)"
+#line 433 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\calloc.al)"
sub calloc {
unimpl "calloc() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al
index 9b6b663387d..86420e6c146 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 636 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chdir.al)"
+#line 630 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chdir.al)"
sub chdir {
usage "chdir(directory)" if @_ != 1;
CORE::chdir($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al b/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al
index 86721b2ae61..b6bf3c50c2e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 577 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chmod.al)"
+#line 571 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chmod.al)"
sub chmod {
usage "chmod(mode, filename)" if @_ != 2;
CORE::chmod($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al b/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al
index 9c12a41fa04..61973238952 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 641 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chown.al)"
+#line 635 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chown.al)"
sub chown {
usage "chown(uid, gid, filename)" if @_ != 3;
CORE::chown($_[0], $_[1], $_[2]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al
index bae5e4f2f1d..81b6554f11c 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 241 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\clearerr.al)"
+#line 235 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\clearerr.al)"
sub clearerr {
redef "IO::Handle::clearerr()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al
index 425cbd44126..d16e47f717d 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 113 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\closedir.al)"
+#line 107 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\closedir.al)"
sub closedir {
usage "closedir(dirhandle)" if @_ != 1;
CORE::closedir($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al b/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al
index 890ef0c2354..e212eb314b2 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 166 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\cos.al)"
+#line 160 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\cos.al)"
sub cos {
usage "cos(x)" if @_ != 1;
CORE::cos($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al
index 5ed2f6eee46..601fe11fa3f 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 141 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\creat.al)"
+#line 135 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\creat.al)"
sub creat {
usage "creat(filename, mode)" if @_ != 2;
&open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/div.al b/Master/tlpkg/tlperl/lib/auto/POSIX/div.al
index 5871ee1b0de..5f07bcd2ba6 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/div.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/div.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 443 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\div.al)"
+#line 437 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\div.al)"
sub div {
unimpl "div() is C-specific, use /, % and int instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al b/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al
index e7362909f46..6e498df5ea9 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 136 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\errno.al)"
+#line 130 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\errno.al)"
sub errno {
usage "errno()" if @_ != 0;
$! + 0;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al
index 33e650902bc..892f84173ec 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 646 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execl.al)"
+#line 640 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execl.al)"
sub execl {
unimpl "execl() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al
index 43d56a3bda1..df1982143c5 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 650 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execle.al)"
+#line 644 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execle.al)"
sub execle {
unimpl "execle() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al
index 093719d84bf..aa74222a879 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 654 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execlp.al)"
+#line 648 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execlp.al)"
sub execlp {
unimpl "execlp() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al
index 76273074eb4..48e186de50a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 658 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execv.al)"
+#line 652 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execv.al)"
sub execv {
unimpl "execv() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al
index 33105ccd6fb..d0136ed0c64 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 662 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execve.al)"
+#line 656 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execve.al)"
sub execve {
unimpl "execve() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al
index 4a17521841e..ec4e0c1c8bb 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 666 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execvp.al)"
+#line 660 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execvp.al)"
sub execvp {
unimpl "execvp() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al b/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al
index 559dd68b1e2..c4c2d353b65 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 447 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\exit.al)"
+#line 441 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\exit.al)"
sub exit {
usage "exit(status)" if @_ != 1;
CORE::exit($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al
index 6c278f38250..a74fed03726 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 171 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\exp.al)"
+#line 165 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\exp.al)"
sub exp {
usage "exp(x)" if @_ != 1;
CORE::exp($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al
index 7813dc843b5..5fe5a10af3a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 176 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fabs.al)"
+#line 170 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fabs.al)"
sub fabs {
usage "fabs(x)" if @_ != 1;
CORE::abs($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al
index 1312109c813..fb38171b4d0 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 245 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fclose.al)"
+#line 239 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fclose.al)"
sub fclose {
redef "IO::Handle::close()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al
index 4ee8654751c..3eb3062a3f9 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 146 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fcntl.al)"
+#line 140 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fcntl.al)"
sub fcntl {
usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
CORE::fcntl($_[0], $_[1], $_[2]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al
index d700c0d834a..496945789c1 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 249 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fdopen.al)"
+#line 243 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fdopen.al)"
sub fdopen {
redef "IO::Handle::new_from_fd()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al b/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al
index 917afb91354..18a0183c03d 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 253 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\feof.al)"
+#line 247 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\feof.al)"
sub feof {
redef "IO::Handle::eof()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al
index f253b1b7741..50bca4a4c4a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 305 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ferror.al)"
+#line 299 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ferror.al)"
sub ferror {
redef "IO::Handle::error()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al
index 1f874ceaf89..336aa4d2184 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 309 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fflush.al)"
+#line 303 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fflush.al)"
sub fflush {
redef "IO::Handle::flush()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al
index 6832ce432af..6d34733e6d1 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 257 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgetc.al)"
+#line 251 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgetc.al)"
sub fgetc {
redef "IO::Handle::getc()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al
index 02294ca2b39..a806457288a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 313 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgetpos.al)"
+#line 307 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgetpos.al)"
sub fgetpos {
redef "IO::Seekable::getpos()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al
index c845912c726..c95eb1b7ff5 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 261 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgets.al)"
+#line 255 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgets.al)"
sub fgets {
redef "IO::Handle::gets()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al
index 31dc7db13ab..e50fee694db 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 265 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fileno.al)"
+#line 259 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fileno.al)"
sub fileno {
redef "IO::Handle::fileno()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al
index da5d546422c..8d3c49d2ca4 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 269 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fopen.al)"
+#line 263 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fopen.al)"
sub fopen {
redef "IO::File::open()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al
index 5596e03901d..360776c9cef 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 670 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fork.al)"
+#line 664 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fork.al)"
sub fork {
usage "fork()" if @_ != 0;
CORE::fork;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al
index 8a10db84339..a3f0d816c6f 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 273 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fprintf.al)"
+#line 267 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fprintf.al)"
sub fprintf {
unimpl "fprintf() is C-specific--use printf instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al
index 37e5c79fe9d..42d19c108a3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 277 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fputc.al)"
+#line 271 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fputc.al)"
sub fputc {
unimpl "fputc() is C-specific--use print instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al
index 6aeb04ee678..f4cc069b631 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 281 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fputs.al)"
+#line 275 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fputs.al)"
sub fputs {
unimpl "fputs() is C-specific--use print instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al
index f2f56c48f5e..9110ed3aedb 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 285 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fread.al)"
+#line 279 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fread.al)"
sub fread {
unimpl "fread() is C-specific--use read instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/free.al b/Master/tlpkg/tlperl/lib/auto/POSIX/free.al
index 1fc25d909e2..0486561c964 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/free.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/free.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 452 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\free.al)"
+#line 446 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\free.al)"
sub free {
unimpl "free() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al
index 867307d33f3..6dac63a5141 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 289 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\freopen.al)"
+#line 283 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\freopen.al)"
sub freopen {
unimpl "freopen() is C-specific--use open instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al
index 4b07b50d257..874e70c2f00 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 293 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fscanf.al)"
+#line 287 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fscanf.al)"
sub fscanf {
unimpl "fscanf() is C-specific--use <> and regular expressions instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al
index 5f65bd0e29a..c66351de43b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 297 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fseek.al)"
+#line 291 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fseek.al)"
sub fseek {
redef "IO::Seekable::seek()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al
index e865a66d01c..06ce17b9738 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 317 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fsetpos.al)"
+#line 311 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fsetpos.al)"
sub fsetpos {
redef "IO::Seekable::setpos()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al
index c02f89a3f2f..a7af254612b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 582 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fstat.al)"
+#line 576 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fstat.al)"
sub fstat {
usage "fstat(fd)" if @_ != 1;
local *TMP;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al
index 357f178623d..a92fb68cc3a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 301 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fsync.al)"
+#line 295 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fsync.al)"
sub fsync {
redef "IO::Handle::sync()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al
index f1f1754637c..b74b1c801d0 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 321 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ftell.al)"
+#line 315 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ftell.al)"
sub ftell {
redef "IO::Seekable::tell()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al
index 825f8d7e154..4a8ec459424 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 325 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fwrite.al)"
+#line 319 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fwrite.al)"
sub fwrite {
unimpl "fwrite() is C-specific--use print instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al
index 6dc4bbe38e7..94cbc2fce80 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 329 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getc.al)"
+#line 323 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getc.al)"
sub getc {
usage "getc(handle)" if @_ != 1;
CORE::getc($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al
index b03a3a30708..6ca26cf558b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 334 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getchar.al)"
+#line 328 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getchar.al)"
sub getchar {
usage "getchar()" if @_ != 0;
CORE::getc(STDIN);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al
index 9d9a7404bcc..ce52e300e8a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 675 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getegid.al)"
+#line 669 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getegid.al)"
sub getegid {
usage "getegid()" if @_ != 0;
$) + 0;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al
index db932eacaff..5479903df58 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 456 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getenv.al)"
+#line 450 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getenv.al)"
sub getenv {
usage "getenv(name)" if @_ != 1;
$ENV{$_[0]};
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al
index ab000a972c9..8f80da03c39 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 680 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\geteuid.al)"
+#line 674 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\geteuid.al)"
sub geteuid {
usage "geteuid()" if @_ != 0;
$> + 0;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al
index 484d13bffb3..53fbfec9c9a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 685 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgid.al)"
+#line 679 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgid.al)"
sub getgid {
usage "getgid()" if @_ != 0;
$( + 0;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al
index 3afd5b121a8..9081f62a645 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 151 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgrgid.al)"
+#line 145 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgrgid.al)"
sub getgrgid {
usage "getgrgid(gid)" if @_ != 1;
CORE::getgrgid($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al
index 8dcc0fb9eb5..268fdce39cb 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 156 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgrnam.al)"
+#line 150 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgrnam.al)"
sub getgrnam {
usage "getgrnam(name)" if @_ != 1;
CORE::getgrnam($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al
index 95dca454d01..87541ee5ae5 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 690 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgroups.al)"
+#line 684 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgroups.al)"
sub getgroups {
usage "getgroups()" if @_ != 0;
my %seen;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al
index 3fd23d795d0..38e4458162e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 696 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getlogin.al)"
+#line 690 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getlogin.al)"
sub getlogin {
usage "getlogin()" if @_ != 0;
CORE::getlogin();
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al
index 4f204a60e60..19b98ff7a55 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 701 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpgrp.al)"
+#line 695 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpgrp.al)"
sub getpgrp {
usage "getpgrp()" if @_ != 0;
CORE::getpgrp;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al
index fe5c3c351cf..8e10257b7c1 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 706 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpid.al)"
+#line 700 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpid.al)"
sub getpid {
usage "getpid()" if @_ != 0;
$$;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al
index 583ada5edba..66d223cdc96 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 711 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getppid.al)"
+#line 705 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getppid.al)"
sub getppid {
usage "getppid()" if @_ != 0;
CORE::getppid;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al
index 00c3c6a7fda..97c932313ee 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 201 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpwnam.al)"
+#line 195 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpwnam.al)"
sub getpwnam {
usage "getpwnam(name)" if @_ != 1;
CORE::getpwnam($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al
index 488bc594a04..588b05f1d49 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 206 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpwuid.al)"
+#line 200 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpwuid.al)"
sub getpwuid {
usage "getpwuid(uid)" if @_ != 1;
CORE::getpwuid($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al b/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al
index e703a86f8fb..b3f09bb1887 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 339 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\gets.al)"
+#line 333 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\gets.al)"
sub gets {
usage "gets()" if @_ != 0;
scalar <STDIN>;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al
index 8702cbf6bc5..1fc67d11692 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 716 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getuid.al)"
+#line 710 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getuid.al)"
sub getuid {
usage "getuid()" if @_ != 0;
$<;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al b/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al
index b976b322410..ebc46ef855b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 616 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\gmtime.al)"
+#line 610 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\gmtime.al)"
sub gmtime {
usage "gmtime(time)" if @_ != 1;
CORE::gmtime($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al b/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al
index a5511b672a0..6b1a13f2b72 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 721 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\isatty.al)"
+#line 715 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\isatty.al)"
sub isatty {
usage "isatty(filehandle)" if @_ != 1;
-t $_[0];
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al b/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al
index 193d93e845e..e1c868b5118 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 227 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\kill.al)"
+#line 221 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\kill.al)"
sub kill {
usage "kill(pid, sig)" if @_ != 2;
CORE::kill $_[1], $_[0];
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al
index 04133e79244..c40bc31a9a3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 461 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\labs.al)"
+#line 455 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\labs.al)"
sub labs {
unimpl "labs() is C-specific, use abs instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al
index c6679286485..5564757ed96 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 465 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ldiv.al)"
+#line 459 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ldiv.al)"
sub ldiv {
unimpl "ldiv() is C-specific, use /, % and int instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/link.al b/Master/tlpkg/tlperl/lib/auto/POSIX/link.al
index d68d80dcff6..d97f42335b0 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/link.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/link.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 726 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\link.al)"
+#line 720 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\link.al)"
sub link {
usage "link(oldfilename, newfilename)" if @_ != 2;
CORE::link($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al b/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al
index cf692f646ae..d3ed86477ca 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 759 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\load_imports.al)"
+#line 753 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\load_imports.al)"
sub load_imports {
%EXPORT_TAGS = (
@@ -77,7 +77,8 @@ sub load_imports {
SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
+ SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIGBUS
+ SIGPOLL SIGPROF SIGSYS SIGTRAP SIGURG SIGVTALRM SIGXCPU SIGXFSZ
SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
raise sigaction signal sigpending sigprocmask sigsuspend)],
@@ -160,7 +161,7 @@ sub load_imports {
my %export;
@export{map {@$_} values %EXPORT_TAGS} = ();
# Doing the de-dup with a temporary hash has the advantage that the SVs in
- # @EXPORT are actually shared hash key sacalars, which will save some memory.
+ # @EXPORT are actually shared hash key scalars, which will save some memory.
push @EXPORT, keys %export;
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al b/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al
index c2d15ad16ae..6c157a97cbf 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 621 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\localtime.al)"
+#line 615 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\localtime.al)"
sub localtime {
usage "localtime(time)" if @_ != 1;
CORE::localtime($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/log.al b/Master/tlpkg/tlperl/lib/auto/POSIX/log.al
index 682dea9598f..3316d5b3173 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/log.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/log.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 181 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\log.al)"
+#line 175 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\log.al)"
sub log {
usage "log(x)" if @_ != 1;
CORE::log($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al
index b62bd3c94c2..675581fe7a8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 211 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\longjmp.al)"
+#line 205 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\longjmp.al)"
sub longjmp {
unimpl "longjmp() is C-specific: use die instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al
index 0922d0174b5..8fd086cf14e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 469 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\malloc.al)"
+#line 463 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\malloc.al)"
sub malloc {
unimpl "malloc() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al
index 7344db15757..c477890e150 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 494 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memchr.al)"
+#line 488 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memchr.al)"
sub memchr {
unimpl "memchr() is C-specific, use index() instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al
index a5c9844ea0d..c89acda1e50 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 498 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memcmp.al)"
+#line 492 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memcmp.al)"
sub memcmp {
unimpl "memcmp() is C-specific, use eq instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al
index 53c62d6bb4e..4afbf544c39 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 502 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memcpy.al)"
+#line 496 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memcpy.al)"
sub memcpy {
unimpl "memcpy() is C-specific, use = instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al
index a3cb8905083..e3bad3614b3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 506 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memmove.al)"
+#line 500 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memmove.al)"
sub memmove {
unimpl "memmove() is C-specific, use = instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al
index b71c7b65ed3..1c45556e8f7 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 510 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memset.al)"
+#line 504 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memset.al)"
sub memset {
unimpl "memset() is C-specific, use x instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al
index 290a5df0c80..58c5bb46439 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 591 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\mkdir.al)"
+#line 585 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\mkdir.al)"
sub mkdir {
usage "mkdir(directoryname, mode)" if @_ != 2;
CORE::mkdir($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al b/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al
index 94fb579e749..c3ca5b0db0e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 237 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\offsetof.al)"
+#line 231 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\offsetof.al)"
sub offsetof {
unimpl "offsetof() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al
index 1112e2eaeb5..fa24c4db3e7 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 118 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\opendir.al)"
+#line 112 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\opendir.al)"
sub opendir {
usage "opendir(directory)" if @_ != 1;
my $dirhandle;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al b/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al
index c35baf5a47b..1883ed99f5b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 344 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\perror.al)"
+#line 338 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\perror.al)"
sub perror {
print STDERR "@_: " if @_;
print STDERR $!,"\n";
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al b/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al
index 5cc8fb73a39..2ef255d1784 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 186 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\pow.al)"
+#line 180 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\pow.al)"
sub pow {
usage "pow(x,exponent)" if @_ != 2;
$_[0] ** $_[1];
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al
index 3c0e704371e..6b7735a4bc4 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 349 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\printf.al)"
+#line 343 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\printf.al)"
sub printf {
usage "printf(pattern, args...)" if @_ < 1;
CORE::printf STDOUT @_;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al
index 561218c6e7c..3c45d7cfa95 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 354 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\putc.al)"
+#line 348 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\putc.al)"
sub putc {
unimpl "putc() is C-specific--use print instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al b/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al
index 90edc4f1dde..6b45167b3e4 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 358 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\putchar.al)"
+#line 352 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\putchar.al)"
sub putchar {
unimpl "putchar() is C-specific--use print instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al b/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al
index b35380c91b2..c1a7a69af60 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 362 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\puts.al)"
+#line 356 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\puts.al)"
sub puts {
unimpl "puts() is C-specific--use print instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al b/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al
index e0e8438d51e..4e6248619d4 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 473 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\qsort.al)"
+#line 467 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\qsort.al)"
sub qsort {
unimpl "qsort() is C-specific, use sort instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al b/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al
index 25998d61b6c..1609ef6ce2b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 232 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\raise.al)"
+#line 226 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\raise.al)"
sub raise {
usage "raise(sig)" if @_ != 1;
CORE::kill $_[0], $$; # Is this good enough?
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al
index ea6457f00d5..fb9460c53df 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 477 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rand.al)"
+#line 471 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rand.al)"
sub rand {
unimpl "rand() is non-portable, use Perl's rand instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al
index 458c7cda637..101aae64b67 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 126 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\readdir.al)"
+#line 120 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\readdir.al)"
sub readdir {
usage "readdir(dirhandle)" if @_ != 1;
CORE::readdir($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al
index a7332965b92..3179078fe9c 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 481 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\realloc.al)"
+#line 475 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\realloc.al)"
sub realloc {
unimpl "realloc() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al b/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al
index 1d6197f7dc3..c336d2e4bf0 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 85 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\redef.al)"
+#line 79 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\redef.al)"
sub redef {
my ($mess) = @_;
croak "Use method $mess instead";
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al b/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al
index 32665fa8ea8..8b8dbea7d72 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 366 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\remove.al)"
+#line 360 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\remove.al)"
sub remove {
usage "remove(filename)" if @_ != 1;
(-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al
index 6d04ef039a8..091ed50c949 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 371 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rename.al)"
+#line 365 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rename.al)"
sub rename {
usage "rename(oldfilename, newfilename)" if @_ != 2;
CORE::rename($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al
index 0f97af8f961..b7fdfd14f0d 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 376 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rewind.al)"
+#line 370 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rewind.al)"
sub rewind {
usage "rewind(filehandle)" if @_ != 1;
CORE::seek($_[0],0,0);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al
index 1c960662ea9..5d2f65c6c89 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 131 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rewinddir.al)"
+#line 125 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rewinddir.al)"
sub rewinddir {
usage "rewinddir(dirhandle)" if @_ != 1;
CORE::rewinddir($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al
index 54af051f17e..8d5702672a8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 731 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rmdir.al)"
+#line 725 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rmdir.al)"
sub rmdir {
usage "rmdir(directoryname)" if @_ != 1;
CORE::rmdir($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al
index 7b0784b3831..cd975746c56 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 381 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\scanf.al)"
+#line 375 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\scanf.al)"
sub scanf {
unimpl "scanf() is C-specific--use <> and regular expressions instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al
index 4b56a02e221..5e632f795e8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 736 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setbuf.al)"
+#line 730 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setbuf.al)"
sub setbuf {
redef "IO::Handle::setbuf()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al
index 6154bbf8a44..f72778b5cee 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 215 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setjmp.al)"
+#line 209 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setjmp.al)"
sub setjmp {
unimpl "setjmp() is C-specific: use eval {} instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al
index bc45457297a..538828c6ef8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 740 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setvbuf.al)"
+#line 734 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setvbuf.al)"
sub setvbuf {
redef "IO::Handle::setvbuf()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al
index 46abe2bdb96..30a9004f4d4 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 219 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\siglongjmp.al)"
+#line 213 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\siglongjmp.al)"
sub siglongjmp {
unimpl "siglongjmp() is C-specific: use die instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al
index 3ba63224a31..56024883d3c 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 223 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sigsetjmp.al)"
+#line 217 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sigsetjmp.al)"
sub sigsetjmp {
unimpl "sigsetjmp() is C-specific: use eval {} instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al
index d9079ba09c4..74288e6b7a7 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 191 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sin.al)"
+#line 185 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sin.al)"
sub sin {
usage "sin(x)" if @_ != 1;
CORE::sin($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al
index 05cba00f359..fdc5520361e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 744 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sleep.al)"
+#line 738 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sleep.al)"
sub sleep {
usage "sleep(seconds)" if @_ != 1;
$_[0] - CORE::sleep($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al
index e32b6749d0f..6f913256286 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 385 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sprintf.al)"
+#line 379 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sprintf.al)"
sub sprintf {
usage "sprintf(pattern,args)" if @_ == 0;
CORE::sprintf(shift,@_);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al
index ea41719f675..05a46e9b97a 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 196 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sqrt.al)"
+#line 190 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sqrt.al)"
sub sqrt {
usage "sqrt(x)" if @_ != 1;
CORE::sqrt($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al b/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al
index 9c8cd65ad95..00e69f77c66 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 485 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\srand.al)"
+#line 479 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\srand.al)"
sub srand {
unimpl "srand()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al
index a9f418536fd..3d3315ebf72 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 390 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sscanf.al)"
+#line 384 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sscanf.al)"
sub sscanf {
unimpl "sscanf() is C-specific--use regular expressions instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al
index 23373a26950..7106b62e7c3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 596 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\stat.al)"
+#line 590 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\stat.al)"
sub stat {
usage "stat(filename)" if @_ != 1;
CORE::stat($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al
index 112037d7bb9..298b2c7f9eb 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 514 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcat.al)"
+#line 508 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcat.al)"
sub strcat {
unimpl "strcat() is C-specific, use .= instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al
index 0e4d59d4d22..c8da119780e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 518 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strchr.al)"
+#line 512 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strchr.al)"
sub strchr {
unimpl "strchr() is C-specific, use index() instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al
index 026444d1aa0..3985898d6b0 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 522 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcmp.al)"
+#line 516 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcmp.al)"
sub strcmp {
unimpl "strcmp() is C-specific, use eq instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al
index 41895d60428..917041a3e1b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 526 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcpy.al)"
+#line 520 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcpy.al)"
sub strcpy {
unimpl "strcpy() is C-specific, use = instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al
index e3979bf3673..7243d05d4b3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 530 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcspn.al)"
+#line 524 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcspn.al)"
sub strcspn {
unimpl "strcspn() is C-specific, use regular expressions instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al
index 4364eb48fec..ebb1308211e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 534 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strerror.al)"
+#line 528 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strerror.al)"
sub strerror {
usage "strerror(errno)" if @_ != 1;
local $! = $_[0];
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al
index 2f9ee7bf0a2..b1ebb735327 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 540 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strlen.al)"
+#line 534 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strlen.al)"
sub strlen {
unimpl "strlen() is C-specific, use length instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al
index b909bd27c25..96c5d312138 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 544 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncat.al)"
+#line 538 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncat.al)"
sub strncat {
unimpl "strncat() is C-specific, use .= instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al
index dde452e3628..1b2739e30b8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 548 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncmp.al)"
+#line 542 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncmp.al)"
sub strncmp {
unimpl "strncmp() is C-specific, use eq instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al
index 6b2d97f8202..12a299c0853 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 552 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncpy.al)"
+#line 546 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncpy.al)"
sub strncpy {
unimpl "strncpy() is C-specific, use = instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al
index b3a1f91897b..cc86da475d7 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 556 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strpbrk.al)"
+#line 550 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strpbrk.al)"
sub strpbrk {
unimpl "strpbrk() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al
index 8b11901a304..775d4a68811 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 560 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strrchr.al)"
+#line 554 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strrchr.al)"
sub strrchr {
unimpl "strrchr() is C-specific, use rindex() instead";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al
index 098bf697de1..e794c642065 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 564 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strspn.al)"
+#line 558 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strspn.al)"
sub strspn {
unimpl "strspn() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al
index ecc94a24f2c..d3b931b0f00 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 568 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strstr.al)"
+#line 562 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strstr.al)"
sub strstr {
usage "strstr(big, little)" if @_ != 2;
CORE::index($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al
index f065d58b27c..efa734c98d2 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 573 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strtok.al)"
+#line 567 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strtok.al)"
sub strtok {
unimpl "strtok() is C-specific, stopped";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/system.al b/Master/tlpkg/tlperl/lib/auto/POSIX/system.al
index 17d9b552290..4be09fe4acd 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/system.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/system.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 489 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\system.al)"
+#line 483 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\system.al)"
sub system {
usage "system(command)" if @_ != 1;
CORE::system($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/time.al b/Master/tlpkg/tlperl/lib/auto/POSIX/time.al
index f588c89117f..0d1325a0328 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/time.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/time.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 626 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\time.al)"
+#line 620 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\time.al)"
sub time {
usage "time()" if @_ != 0;
CORE::time;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al b/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al
index ebc5850baf8..42862aaa391 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 394 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\tmpfile.al)"
+#line 388 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\tmpfile.al)"
sub tmpfile {
redef "IO::File::new_tmpfile()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al b/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al
index 35a40ad5026..16d7827a384 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 103 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\tolower.al)"
+#line 97 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\tolower.al)"
sub tolower {
usage "tolower(string)" if @_ != 1;
lc($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al b/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al
index 47f12bd4932..6aa25676972 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 108 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\toupper.al)"
+#line 102 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\toupper.al)"
sub toupper {
usage "toupper(string)" if @_ != 1;
uc($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al b/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al
index e1c107c8f44..b33006c3059 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 601 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\umask.al)"
+#line 595 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\umask.al)"
sub umask {
usage "umask(mask)" if @_ != 1;
CORE::umask($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al
index ea27e327c46..69cbdc0548b 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 398 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ungetc.al)"
+#line 392 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ungetc.al)"
sub ungetc {
redef "IO::Handle::ungetc()";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al b/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al
index bc48d9b3023..8dc7eb60a11 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 90 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\unimpl.al)"
+#line 84 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\unimpl.al)"
sub unimpl {
my ($mess) = @_;
$mess =~ s/xxx//;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al b/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al
index 9a9a0b668b6..898b787193e 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 749 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\unlink.al)"
+#line 743 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\unlink.al)"
sub unlink {
usage "unlink(filename)" if @_ != 1;
CORE::unlink($_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al b/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al
index 83c0cdf9e8a..bc094cfbd19 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 80 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\usage.al)"
+#line 74 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\usage.al)"
sub usage {
my ($mess) = @_;
croak "Usage: POSIX::$mess";
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al b/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al
index 07d84838ab3..52835233e82 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 754 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\utime.al)"
+#line 748 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\utime.al)"
sub utime {
usage "utime(filename, atime, mtime)" if @_ != 3;
CORE::utime($_[1], $_[2], $_[0]);
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al
index 461a48fd006..5de3658c7eb 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 402 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vfprintf.al)"
+#line 396 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vfprintf.al)"
sub vfprintf {
unimpl "vfprintf() is C-specific";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al
index a0d2bd202fd..c397df391a8 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 406 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vprintf.al)"
+#line 400 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vprintf.al)"
sub vprintf {
unimpl "vprintf() is C-specific";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al
index 835cf3de11c..7af2c9eb3b3 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 410 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vsprintf.al)"
+#line 404 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vsprintf.al)"
sub vsprintf {
unimpl "vsprintf() is C-specific";
}
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al b/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al
index fb68d776372..4704b25f4ad 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 606 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\wait.al)"
+#line 600 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\wait.al)"
sub wait {
usage "wait()" if @_ != 0;
CORE::wait();
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al
index a211a453aa0..9a69b3dd226 100644
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package POSIX;
-#line 611 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\waitpid.al)"
+#line 605 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\waitpid.al)"
sub waitpid {
usage "waitpid(pid, options)" if @_ != 2;
CORE::waitpid($_[0], $_[1]);
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
index 783f7c5fe33..e3c6537f855 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
index 19727fcaaae..5a79b9baeff 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
index bc1ec921a9c..54b9110dcb6 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll
index cae78d38726..f2feb29e625 100755
--- a/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll
+++ b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
index 751ce2f31b7..e646e58425e 100755
--- a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/BIN_VERSION_NV.al b/Master/tlpkg/tlperl/lib/auto/Storable/BIN_VERSION_NV.al
deleted file mode 100644
index add6a1d678b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/BIN_VERSION_NV.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 192 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\BIN_VERSION_NV.al)"
-sub BIN_VERSION_NV {
- sprintf "%d.%03d", BIN_MAJOR(), BIN_MINOR();
-}
-
-# end of Storable::BIN_VERSION_NV
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/BIN_WRITE_VERSION_NV.al b/Master/tlpkg/tlperl/lib/auto/Storable/BIN_WRITE_VERSION_NV.al
deleted file mode 100644
index e17ce4d2c3a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/BIN_WRITE_VERSION_NV.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 196 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\BIN_WRITE_VERSION_NV.al)"
-sub BIN_WRITE_VERSION_NV {
- sprintf "%d.%03d", BIN_MAJOR(), BIN_WRITE_MINOR();
-}
-
-# end of Storable::BIN_WRITE_VERSION_NV
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/CAN_FLOCK.al b/Master/tlpkg/tlperl/lib/auto/Storable/CAN_FLOCK.al
deleted file mode 100644
index c0df84b654f..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/CAN_FLOCK.al
+++ /dev/null
@@ -1,21 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 83 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\CAN_FLOCK.al)"
-#
-# Determine whether locking is possible, but only when needed.
-#
-
-sub CAN_FLOCK; my $CAN_FLOCK; sub CAN_FLOCK {
- return $CAN_FLOCK if defined $CAN_FLOCK;
- require Config; import Config;
- return $CAN_FLOCK =
- $Config{'d_flock'} ||
- $Config{'d_fcntl_can_lock'} ||
- $Config{'d_lockf'};
-}
-
-# end of Storable::CAN_FLOCK
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
index 419c2877140..3d32cf6af9a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/_freeze.al b/Master/tlpkg/tlperl/lib/auto/Storable/_freeze.al
deleted file mode 100644
index 5e1ea07846a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/_freeze.al
+++ /dev/null
@@ -1,23 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 330 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\_freeze.al)"
-# Internal freeze routine
-sub _freeze {
- my $xsptr = shift;
- my $self = shift;
- logcroak "not a reference" unless ref($self);
- logcroak "too many arguments" unless @_ == 0; # No @foo in arglist
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine mstore or net_mstore, depending on network order
- eval { $ret = &$xsptr($self) };
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-# end of Storable::_freeze
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/_retrieve.al b/Master/tlpkg/tlperl/lib/auto/Storable/_retrieve.al
deleted file mode 100644
index f16abc56b2a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/_retrieve.al
+++ /dev/null
@@ -1,31 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 364 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\_retrieve.al)"
-# Internal retrieve routine
-sub _retrieve {
- my ($file, $use_locking) = @_;
- local *FILE;
- open(FILE, $file) || logcroak "can't open $file: $!";
- binmode FILE; # Archaic systems...
- my $self;
- my $da = $@; # Could be from exception handler
- if ($use_locking) {
- unless (&CAN_FLOCK) {
- logcarp "Storable::lock_store: fcntl/flock emulation broken on $^O";
- return undef;
- }
- flock(FILE, LOCK_SH) || logcroak "can't get shared lock on $file: $!";
- # Unlocking will happen when FILE is closed
- }
- eval { $self = pretrieve(*FILE) }; # Call C routine
- close(FILE);
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-# end of Storable::_retrieve
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/_store.al b/Master/tlpkg/tlperl/lib/auto/Storable/_store.al
deleted file mode 100644
index 19ed0287800..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/_store.al
+++ /dev/null
@@ -1,41 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 239 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\_store.al)"
-# Internal store to file routine
-sub _store {
- my $xsptr = shift;
- my $self = shift;
- my ($file, $use_locking) = @_;
- logcroak "not a reference" unless ref($self);
- logcroak "wrong argument number" unless @_ == 2; # No @foo in arglist
- local *FILE;
- if ($use_locking) {
- open(FILE, ">>$file") || logcroak "can't write into $file: $!";
- unless (&CAN_FLOCK) {
- logcarp "Storable::lock_store: fcntl/flock emulation broken on $^O";
- return undef;
- }
- flock(FILE, LOCK_EX) ||
- logcroak "can't get exclusive lock on $file: $!";
- truncate FILE, 0;
- # Unlocking will happen when FILE is closed
- } else {
- open(FILE, ">$file") || logcroak "can't create $file: $!";
- }
- binmode FILE; # Archaic systems...
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine nstore or pstore, depending on network order
- eval { $ret = &$xsptr(*FILE, $self) };
- close(FILE) or $ret = undef;
- unlink($file) or warn "Can't unlink $file: $!\n" if $@ || !defined $ret;
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-# end of Storable::_store
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/_store_fd.al b/Master/tlpkg/tlperl/lib/auto/Storable/_store_fd.al
deleted file mode 100644
index ad88105864a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/_store_fd.al
+++ /dev/null
@@ -1,27 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 292 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\_store_fd.al)"
-# Internal store routine on opened file descriptor
-sub _store_fd {
- my $xsptr = shift;
- my $self = shift;
- my ($file) = @_;
- logcroak "not a reference" unless ref($self);
- logcroak "too many arguments" unless @_ == 1; # No @foo in arglist
- my $fd = fileno($file);
- logcroak "not a valid file descriptor" unless defined $fd;
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine nstore or pstore, depending on network order
- eval { $ret = &$xsptr($file, $self) };
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- local $\; print $file ''; # Autoflush the file if wanted
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-# end of Storable::_store_fd
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/Storable/autosplit.ix
deleted file mode 100644
index f68bf3f340d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/autosplit.ix
+++ /dev/null
@@ -1,28 +0,0 @@
-# Index created by AutoSplit for ..\..\lib\Storable.pm
-# (file acts as timestamp)
-package Storable;
-sub logcroak ;
-sub logcarp ;
-sub CAN_FLOCK ;
-sub show_file_magic ;
-sub file_magic ;
-sub read_magic ;
-sub BIN_VERSION_NV ;
-sub BIN_WRITE_VERSION_NV ;
-sub store ;
-sub nstore ;
-sub lock_store ;
-sub lock_nstore ;
-sub _store ;
-sub store_fd ;
-sub nstore_fd ;
-sub _store_fd ;
-sub freeze ;
-sub nfreeze ;
-sub _freeze ;
-sub retrieve ;
-sub lock_retrieve ;
-sub _retrieve ;
-sub fd_retrieve ;
-sub thaw ;
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al b/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al
deleted file mode 100644
index b25d7b009c3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al
+++ /dev/null
@@ -1,25 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 387 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\fd_retrieve.al)"
-#
-# fd_retrieve
-#
-# Same as retrieve, but perform from an already opened file descriptor instead.
-#
-sub fd_retrieve {
- my ($file) = @_;
- my $fd = fileno($file);
- logcroak "not a valid file descriptor" unless defined $fd;
- my $self;
- my $da = $@; # Could be from exception handler
- eval { $self = pretrieve($file) }; # Call C routine
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-# end of Storable::fd_retrieve
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/file_magic.al b/Master/tlpkg/tlperl/lib/auto/Storable/file_magic.al
deleted file mode 100644
index 1bce16c051c..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/file_magic.al
+++ /dev/null
@@ -1,21 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 118 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\file_magic.al)"
-sub file_magic {
- my $file = shift;
- my $fh = new FileHandle;
- open($fh, "<". $file) || die "Can't open '$file': $!";
- binmode($fh);
- defined(sysread($fh, my $buf, 32)) || die "Can't read from '$file': $!";
- close($fh);
-
- $file = "./$file" unless $file; # ensure TRUE value
-
- return read_magic($buf, $file);
-}
-
-# end of Storable::file_magic
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/freeze.al b/Master/tlpkg/tlperl/lib/auto/Storable/freeze.al
deleted file mode 100644
index 7e1a45687b2..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/freeze.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 311 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\freeze.al)"
-#
-# freeze
-#
-# Store oject and its hierarchy in memory and return a scalar
-# containing the result.
-#
-sub freeze {
- _freeze(\&mstore, @_);
-}
-
-# end of Storable::freeze
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/lock_nstore.al b/Master/tlpkg/tlperl/lib/auto/Storable/lock_nstore.al
deleted file mode 100644
index 2c5d9950595..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/lock_nstore.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 230 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\lock_nstore.al)"
-#
-# lock_nstore
-#
-# Same as nstore, but flock the file first (advisory locking).
-#
-sub lock_nstore {
- return _store(\&net_pstore, @_, 1);
-}
-
-# end of Storable::lock_nstore
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/lock_retrieve.al b/Master/tlpkg/tlperl/lib/auto/Storable/lock_retrieve.al
deleted file mode 100644
index 1e2879fc48a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/lock_retrieve.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 355 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\lock_retrieve.al)"
-#
-# lock_retrieve
-#
-# Same as retrieve, but with advisory locking.
-#
-sub lock_retrieve {
- _retrieve($_[0], 1);
-}
-
-# end of Storable::lock_retrieve
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/lock_store.al b/Master/tlpkg/tlperl/lib/auto/Storable/lock_store.al
deleted file mode 100644
index 4a863b15a97..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/lock_store.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 221 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\lock_store.al)"
-#
-# lock_store
-#
-# Same as store, but flock the file first (advisory locking).
-#
-sub lock_store {
- return _store(\&pstore, @_, 1);
-}
-
-# end of Storable::lock_store
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/logcarp.al b/Master/tlpkg/tlperl/lib/auto/Storable/logcarp.al
deleted file mode 100644
index bbdd382ff31..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/logcarp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 79 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\logcarp.al)"
-sub logcarp {
- Carp::carp(@_);
-}
-
-# end of Storable::logcarp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/logcroak.al b/Master/tlpkg/tlperl/lib/auto/Storable/logcroak.al
deleted file mode 100644
index 9c8daff7dae..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/logcroak.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 70 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\logcroak.al)"
-#
-# Use of Log::Agent is optional. If it hasn't imported these subs then
-# Autoloader will kindly supply our fallback implementation.
-#
-
-sub logcroak {
- Carp::croak(@_);
-}
-
-# end of Storable::logcroak
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/nfreeze.al b/Master/tlpkg/tlperl/lib/auto/Storable/nfreeze.al
deleted file mode 100644
index 92f4641d461..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/nfreeze.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 321 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\nfreeze.al)"
-#
-# nfreeze
-#
-# Same as freeze but in network order.
-#
-sub nfreeze {
- _freeze(\&net_mstore, @_);
-}
-
-# end of Storable::nfreeze
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/nstore.al b/Master/tlpkg/tlperl/lib/auto/Storable/nstore.al
deleted file mode 100644
index d865716dd5c..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/nstore.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 212 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\nstore.al)"
-#
-# nstore
-#
-# Same as store, but in network order.
-#
-sub nstore {
- return _store(\&net_pstore, @_, 0);
-}
-
-# end of Storable::nstore
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/nstore_fd.al b/Master/tlpkg/tlperl/lib/auto/Storable/nstore_fd.al
deleted file mode 100644
index 5979b873150..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/nstore_fd.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 282 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\nstore_fd.al)"
-#
-# nstore_fd
-#
-# Same as store_fd, but in network order.
-#
-sub nstore_fd {
- my ($self, $file) = @_;
- return _store_fd(\&net_pstore, @_);
-}
-
-# end of Storable::nstore_fd
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/read_magic.al b/Master/tlpkg/tlperl/lib/auto/Storable/read_magic.al
deleted file mode 100644
index 40b54af7556..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/read_magic.al
+++ /dev/null
@@ -1,69 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 131 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\read_magic.al)"
-sub read_magic {
- my($buf, $file) = @_;
- my %info;
-
- my $buflen = length($buf);
- my $magic;
- if ($buf =~ s/^(pst0|perl-store)//) {
- $magic = $1;
- $info{file} = $file || 1;
- }
- else {
- return undef if $file;
- $magic = "";
- }
-
- return undef unless length($buf);
-
- my $net_order;
- if ($magic eq "perl-store" && ord(substr($buf, 0, 1)) > 1) {
- $info{version} = -1;
- $net_order = 0;
- }
- else {
- $net_order = ord(substr($buf, 0, 1, ""));
- my $major = $net_order >> 1;
- return undef if $major > 4; # sanity (assuming we never go that high)
- $info{major} = $major;
- $net_order &= 0x01;
- if ($major > 1) {
- return undef unless length($buf);
- my $minor = ord(substr($buf, 0, 1, ""));
- $info{minor} = $minor;
- $info{version} = "$major.$minor";
- $info{version_nv} = sprintf "%d.%03d", $major, $minor;
- }
- else {
- $info{version} = $major;
- }
- }
- $info{version_nv} ||= $info{version};
- $info{netorder} = $net_order;
-
- unless ($net_order) {
- return undef unless length($buf);
- my $len = ord(substr($buf, 0, 1, ""));
- return undef unless length($buf) >= $len;
- return undef unless $len == 4 || $len == 8; # sanity
- $info{byteorder} = substr($buf, 0, $len, "");
- $info{intsize} = ord(substr($buf, 0, 1, ""));
- $info{longsize} = ord(substr($buf, 0, 1, ""));
- $info{ptrsize} = ord(substr($buf, 0, 1, ""));
- if ($info{version_nv} >= 2.002) {
- return undef unless length($buf);
- $info{nvsize} = ord(substr($buf, 0, 1, ""));
- }
- }
- $info{hdrsize} = $buflen - length($buf);
-
- return \%info;
-}
-
-# end of Storable::read_magic
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/retrieve.al b/Master/tlpkg/tlperl/lib/auto/Storable/retrieve.al
deleted file mode 100644
index b996685671a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/retrieve.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 345 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\retrieve.al)"
-#
-# retrieve
-#
-# Retrieve object hierarchy from disk, returning a reference to the root
-# object of that tree.
-#
-sub retrieve {
- _retrieve($_[0], 0);
-}
-
-# end of Storable::retrieve
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/show_file_magic.al b/Master/tlpkg/tlperl/lib/auto/Storable/show_file_magic.al
deleted file mode 100644
index c7422c6648a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/show_file_magic.al
+++ /dev/null
@@ -1,30 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 96 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\show_file_magic.al)"
-sub show_file_magic {
- print <<EOM;
-#
-# To recognize the data files of the Perl module Storable,
-# the following lines need to be added to the local magic(5) file,
-# usually either /usr/share/misc/magic or /etc/magic.
-#
-0 string perl-store perl Storable(v0.6) data
->4 byte >0 (net-order %d)
->>4 byte &01 (network-ordered)
->>4 byte =3 (major 1)
->>4 byte =2 (major 1)
-
-0 string pst0 perl Storable(v0.7) data
->4 byte >0
->>4 byte &01 (network-ordered)
->>4 byte =5 (major 2)
->>4 byte =4 (major 2)
->>5 byte >0 (minor %d)
-EOM
-}
-
-# end of Storable::show_file_magic
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/store.al b/Master/tlpkg/tlperl/lib/auto/Storable/store.al
deleted file mode 100644
index c9cee55076e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/store.al
+++ /dev/null
@@ -1,20 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 200 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\store.al)"
-#
-# store
-#
-# Store target object hierarchy, identified by a reference to its root.
-# The stored object tree may later be retrieved to memory via retrieve.
-# Returns undef if an I/O error occurred, in which case the file is
-# removed.
-#
-sub store {
- return _store(\&pstore, @_, 0);
-}
-
-# end of Storable::store
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/store_fd.al b/Master/tlpkg/tlperl/lib/auto/Storable/store_fd.al
deleted file mode 100644
index 8e3b72c1199..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/store_fd.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 272 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\store_fd.al)"
-#
-# store_fd
-#
-# Same as store, but perform on an already opened file descriptor instead.
-# Returns undef if an I/O error occurred.
-#
-sub store_fd {
- return _store_fd(\&pstore, @_);
-}
-
-# end of Storable::store_fd
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/thaw.al b/Master/tlpkg/tlperl/lib/auto/Storable/thaw.al
deleted file mode 100644
index 495a71769eb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Storable/thaw.al
+++ /dev/null
@@ -1,28 +0,0 @@
-# NOTE: Derived from ..\..\lib\Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 404 "..\..\lib\Storable.pm (autosplit into ..\..\lib\auto\Storable\thaw.al)"
-#
-# thaw
-#
-# Recreate objects in memory from an existing frozen image created
-# by freeze. If the frozen image passed is undef, return undef.
-#
-sub thaw {
- my ($frozen) = @_;
- return undef unless defined $frozen;
- my $self;
- my $da = $@; # Could be from exception handler
- eval { $self = mretrieve($frozen) }; # Call C routine
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-1;
-__END__
-
-1;
-# end of Storable::thaw
diff --git a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
index 4e4f3859b55..96642ee6120 100755
--- a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/autosplit.ix
deleted file mode 100644
index f7014ea8d84..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ..\..\lib\Sys\Hostname.pm
-# (file acts as timestamp)
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
index ee1d5e9970b..8a78c35b9de 100755
--- a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
new file mode 100755
index 00000000000..f9da388305c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
index 9a549ae594c..bfba51b152c 100755
--- a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
index c9bfce54a81..194ee002353 100755
--- a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/.packlist b/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
index 3331ba843a5..8248dfc9dd2 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
@@ -1,662 +1,662 @@
-X:\perlnew\bin\gedi
-X:\perlnew\bin\gedi.bat
-X:\perlnew\bin\ptked
-X:\perlnew\bin\ptked.bat
-X:\perlnew\bin\ptksh
-X:\perlnew\bin\ptksh.bat
-X:\perlnew\bin\tkjpeg
-X:\perlnew\bin\tkjpeg.bat
-X:\perlnew\bin\widget
-X:\perlnew\bin\widget.bat
-X:\perlnew\site\lib\Tie\Watch.pm
-X:\perlnew\site\lib\Tk.pm
-X:\perlnew\site\lib\Tk.pod
-X:\perlnew\site\lib\Tk\804delta.pod
-X:\perlnew\site\lib\Tk\Adjuster.pm
-X:\perlnew\site\lib\Tk\Adjuster.pod
-X:\perlnew\site\lib\Tk\After.pm
-X:\perlnew\site\lib\Tk\Animation.pm
-X:\perlnew\site\lib\Tk\Animation.pod
-X:\perlnew\site\lib\Tk\Balloon.pm
-X:\perlnew\site\lib\Tk\Balloon.pod
-X:\perlnew\site\lib\Tk\Bitmap.pm
-X:\perlnew\site\lib\Tk\Bitmap.pod
-X:\perlnew\site\lib\Tk\BrowseEntry.pm
-X:\perlnew\site\lib\Tk\BrowseEntry.pod
-X:\perlnew\site\lib\Tk\Button.pm
-X:\perlnew\site\lib\Tk\Button.pod
-X:\perlnew\site\lib\Tk\Camel.xpm
-X:\perlnew\site\lib\Tk\Canvas.pm
-X:\perlnew\site\lib\Tk\Canvas.pod
-X:\perlnew\site\lib\Tk\Checkbutton.pm
-X:\perlnew\site\lib\Tk\Checkbutton.pod
-X:\perlnew\site\lib\Tk\Clipboard.pm
-X:\perlnew\site\lib\Tk\Clipboard.pod
-X:\perlnew\site\lib\Tk\CmdLine.pm
-X:\perlnew\site\lib\Tk\CmdLine.pod
-X:\perlnew\site\lib\Tk\ColorEdit.xpm
-X:\perlnew\site\lib\Tk\ColorEditor.pm
-X:\perlnew\site\lib\Tk\ColorEditor.pod
-X:\perlnew\site\lib\Tk\Common.pod
-X:\perlnew\site\lib\Tk\Compound.pm
-X:\perlnew\site\lib\Tk\Compound.pod
-X:\perlnew\site\lib\Tk\Config.pm
-X:\perlnew\site\lib\Tk\ConfigSpecs.pod
-X:\perlnew\site\lib\Tk\Configure.pm
-X:\perlnew\site\lib\Tk\Credits
-X:\perlnew\site\lib\Tk\DItem.pod
-X:\perlnew\site\lib\Tk\Derived.pm
-X:\perlnew\site\lib\Tk\Derived.pod
-X:\perlnew\site\lib\Tk\Dialog.pm
-X:\perlnew\site\lib\Tk\Dialog.pod
-X:\perlnew\site\lib\Tk\DialogBox.pm
-X:\perlnew\site\lib\Tk\DialogBox.pod
-X:\perlnew\site\lib\Tk\DirTree.pm
-X:\perlnew\site\lib\Tk\DirTree.pod
-X:\perlnew\site\lib\Tk\Dirlist.pm
-X:\perlnew\site\lib\Tk\DragDrop.pm
-X:\perlnew\site\lib\Tk\DragDrop\Common.pm
-X:\perlnew\site\lib\Tk\DragDrop\LocalDrop.pm
-X:\perlnew\site\lib\Tk\DragDrop\Rect.pm
-X:\perlnew\site\lib\Tk\DragDrop\SunConst.pm
-X:\perlnew\site\lib\Tk\DragDrop\SunDrop.pm
-X:\perlnew\site\lib\Tk\DragDrop\SunSite.pm
-X:\perlnew\site\lib\Tk\DragDrop\Win32Drop.pm
-X:\perlnew\site\lib\Tk\DragDrop\Win32Site.pm
-X:\perlnew\site\lib\Tk\DragDrop\XDNDDrop.pm
-X:\perlnew\site\lib\Tk\DragDrop\XDNDSite.pm
-X:\perlnew\site\lib\Tk\DropSite.pm
-X:\perlnew\site\lib\Tk\DropSite.pod
-X:\perlnew\site\lib\Tk\DummyEncode.pm
-X:\perlnew\site\lib\Tk\English.pm
-X:\perlnew\site\lib\Tk\Entry.pm
-X:\perlnew\site\lib\Tk\Entry.pod
-X:\perlnew\site\lib\Tk\Error.pod
-X:\perlnew\site\lib\Tk\ErrorDialog.pm
-X:\perlnew\site\lib\Tk\Event.pm
-X:\perlnew\site\lib\Tk\Event\IO.pm
-X:\perlnew\site\lib\Tk\Eventloop.pod
-X:\perlnew\site\lib\Tk\FBox.pm
-X:\perlnew\site\lib\Tk\FBox.pod
-X:\perlnew\site\lib\Tk\FileSelect.pm
-X:\perlnew\site\lib\Tk\FileSelect.pod
-X:\perlnew\site\lib\Tk\FloatEntry.pm
-X:\perlnew\site\lib\Tk\Font.pm
-X:\perlnew\site\lib\Tk\Font.pod
-X:\perlnew\site\lib\Tk\Frame.pm
-X:\perlnew\site\lib\Tk\Frame.pod
-X:\perlnew\site\lib\Tk\HList.pm
-X:\perlnew\site\lib\Tk\HList.pod
-X:\perlnew\site\lib\Tk\IO.pm
-X:\perlnew\site\lib\Tk\IO.pod
-X:\perlnew\site\lib\Tk\IconList.pm
-X:\perlnew\site\lib\Tk\IconList.pod
-X:\perlnew\site\lib\Tk\Image.pm
-X:\perlnew\site\lib\Tk\Image.pod
-X:\perlnew\site\lib\Tk\InputO.pod
-X:\perlnew\site\lib\Tk\Internals.pod
-X:\perlnew\site\lib\Tk\ItemStyle.pm
-X:\perlnew\site\lib\Tk\JPEG.pm
-X:\perlnew\site\lib\Tk\LabEntry.pm
-X:\perlnew\site\lib\Tk\LabFrame.pm
-X:\perlnew\site\lib\Tk\LabFrame.pod
-X:\perlnew\site\lib\Tk\LabRadio.pm
-X:\perlnew\site\lib\Tk\Label.pm
-X:\perlnew\site\lib\Tk\Label.pod
-X:\perlnew\site\lib\Tk\Labelframe.pm
-X:\perlnew\site\lib\Tk\Labelframe.pod
-X:\perlnew\site\lib\Tk\Listbox.pm
-X:\perlnew\site\lib\Tk\Listbox.pod
-X:\perlnew\site\lib\Tk\MMtry.pm
-X:\perlnew\site\lib\Tk\MMutil.pm
-X:\perlnew\site\lib\Tk\MainWindow.pm
-X:\perlnew\site\lib\Tk\MainWindow.pod
-X:\perlnew\site\lib\Tk\MakeDepend.pm
-X:\perlnew\site\lib\Tk\Menu.pm
-X:\perlnew\site\lib\Tk\Menu.pod
-X:\perlnew\site\lib\Tk\Menu\Item.pm
-X:\perlnew\site\lib\Tk\Menu\Item.pod
-X:\perlnew\site\lib\Tk\Menubar.pm
-X:\perlnew\site\lib\Tk\Menubutton.pm
-X:\perlnew\site\lib\Tk\Menubutton.pod
-X:\perlnew\site\lib\Tk\Message.pm
-X:\perlnew\site\lib\Tk\Message.pod
-X:\perlnew\site\lib\Tk\MsgBox.pm
-X:\perlnew\site\lib\Tk\MsgBox.pod
-X:\perlnew\site\lib\Tk\Mwm.pod
-X:\perlnew\site\lib\Tk\NBFrame.pm
-X:\perlnew\site\lib\Tk\NoteBook.pm
-X:\perlnew\site\lib\Tk\NoteBook.pod
-X:\perlnew\site\lib\Tk\Optionmenu.pm
-X:\perlnew\site\lib\Tk\Optionmenu.pod
-X:\perlnew\site\lib\Tk\PNG.pm
-X:\perlnew\site\lib\Tk\Pane.pm
-X:\perlnew\site\lib\Tk\Panedwindow.pm
-X:\perlnew\site\lib\Tk\Panedwindow.pod
-X:\perlnew\site\lib\Tk\Photo.pm
-X:\perlnew\site\lib\Tk\Photo.pod
-X:\perlnew\site\lib\Tk\Pixmap.pm
-X:\perlnew\site\lib\Tk\Pixmap.pod
-X:\perlnew\site\lib\Tk\Popup.pod
-X:\perlnew\site\lib\Tk\Pretty.pm
-X:\perlnew\site\lib\Tk\ProgressBar.pm
-X:\perlnew\site\lib\Tk\README.Adjust
-X:\perlnew\site\lib\Tk\ROText.pm
-X:\perlnew\site\lib\Tk\ROText.pod
-X:\perlnew\site\lib\Tk\Radiobutton.pm
-X:\perlnew\site\lib\Tk\Radiobutton.pod
-X:\perlnew\site\lib\Tk\Region.pm
-X:\perlnew\site\lib\Tk\Reindex.pm
-X:\perlnew\site\lib\Tk\ReindexedROText.pm
-X:\perlnew\site\lib\Tk\ReindexedText.pm
-X:\perlnew\site\lib\Tk\Scale.pm
-X:\perlnew\site\lib\Tk\Scale.pod
-X:\perlnew\site\lib\Tk\Scrollbar.pm
-X:\perlnew\site\lib\Tk\Scrollbar.pod
-X:\perlnew\site\lib\Tk\Scrolled.pod
-X:\perlnew\site\lib\Tk\Spinbox.pm
-X:\perlnew\site\lib\Tk\Spinbox.pod
-X:\perlnew\site\lib\Tk\Stats.pm
-X:\perlnew\site\lib\Tk\Submethods.pm
-X:\perlnew\site\lib\Tk\Submethods.pod
-X:\perlnew\site\lib\Tk\SunConst.pod
-X:\perlnew\site\lib\Tk\TList.pm
-X:\perlnew\site\lib\Tk\TList.pod
-X:\perlnew\site\lib\Tk\Table.pm
-X:\perlnew\site\lib\Tk\Table.pod
-X:\perlnew\site\lib\Tk\Tcl-perl.pod
-X:\perlnew\site\lib\Tk\Text.pm
-X:\perlnew\site\lib\Tk\Text.pod
-X:\perlnew\site\lib\Tk\TextEdit.pm
-X:\perlnew\site\lib\Tk\TextList.pm
-X:\perlnew\site\lib\Tk\TextUndo.pm
-X:\perlnew\site\lib\Tk\TextUndo.pod
-X:\perlnew\site\lib\Tk\Text\Tag.pm
-X:\perlnew\site\lib\Tk\Tiler.pm
-X:\perlnew\site\lib\Tk\Tiler.pod
-X:\perlnew\site\lib\Tk\TixGrid.pm
-X:\perlnew\site\lib\Tk\TixGrid.pod
-X:\perlnew\site\lib\Tk\Tk.xbm
-X:\perlnew\site\lib\Tk\Tk.xpm
-X:\perlnew\site\lib\Tk\TkXSUB.def
-X:\perlnew\site\lib\Tk\Toplevel.pm
-X:\perlnew\site\lib\Tk\Toplevel.pod
-X:\perlnew\site\lib\Tk\Trace.pm
-X:\perlnew\site\lib\Tk\Tree.pm
-X:\perlnew\site\lib\Tk\Tree.pod
-X:\perlnew\site\lib\Tk\UserGuide.pod
-X:\perlnew\site\lib\Tk\Widget.pm
-X:\perlnew\site\lib\Tk\Widget.pod
-X:\perlnew\site\lib\Tk\WidgetDemo.pod
-X:\perlnew\site\lib\Tk\Wm.pm
-X:\perlnew\site\lib\Tk\Wm.pod
-X:\perlnew\site\lib\Tk\X.pm
-X:\perlnew\site\lib\Tk\X.pod
-X:\perlnew\site\lib\Tk\X11Font.pm
-X:\perlnew\site\lib\Tk\X11Font.pod
-X:\perlnew\site\lib\Tk\X11\X.h
-X:\perlnew\site\lib\Tk\X11\Xatom.h
-X:\perlnew\site\lib\Tk\X11\Xfuncproto.h
-X:\perlnew\site\lib\Tk\X11\Xlib.h
-X:\perlnew\site\lib\Tk\X11\Xutil.h
-X:\perlnew\site\lib\Tk\X11\cursorfont.h
-X:\perlnew\site\lib\Tk\X11\keysym.h
-X:\perlnew\site\lib\Tk\X11\keysymdef.h
-X:\perlnew\site\lib\Tk\X11\license.terms
-X:\perlnew\site\lib\Tk\Xcamel.gif
-X:\perlnew\site\lib\Tk\Xlib.pm
-X:\perlnew\site\lib\Tk\Xrm.pm
-X:\perlnew\site\lib\Tk\Xrm.pod
-X:\perlnew\site\lib\Tk\act_folder.xbm
-X:\perlnew\site\lib\Tk\act_folder.xpm
-X:\perlnew\site\lib\Tk\after.pod
-X:\perlnew\site\lib\Tk\anim.gif
-X:\perlnew\site\lib\Tk\arrowdownwin.xbm
-X:\perlnew\site\lib\Tk\balArrow.xbm
-X:\perlnew\site\lib\Tk\bind.pod
-X:\perlnew\site\lib\Tk\bindtags.pod
-X:\perlnew\site\lib\Tk\callbacks.pod
-X:\perlnew\site\lib\Tk\cbxarrow.xbm
-X:\perlnew\site\lib\Tk\chooseColor.pod
-X:\perlnew\site\lib\Tk\chooseDirectory.pod
-X:\perlnew\site\lib\Tk\composite.pod
-X:\perlnew\site\lib\Tk\demos\LabEnLabRad.pm
-X:\perlnew\site\lib\Tk\demos\images\QuitPB.xpm
-X:\perlnew\site\lib\Tk\demos\images\QuitPBa.xpm
-X:\perlnew\site\lib\Tk\demos\images\c.icon
-X:\perlnew\site\lib\Tk\demos\images\cursor.cur
-X:\perlnew\site\lib\Tk\demos\images\cursor.mask
-X:\perlnew\site\lib\Tk\demos\images\cursor.xbm
-X:\perlnew\site\lib\Tk\demos\images\dir.icon
-X:\perlnew\site\lib\Tk\demos\images\dir.mask
-X:\perlnew\site\lib\Tk\demos\images\earth.gif
-X:\perlnew\site\lib\Tk\demos\images\earthris.gif
-X:\perlnew\site\lib\Tk\demos\images\face
-X:\perlnew\site\lib\Tk\demos\images\flagdown
-X:\perlnew\site\lib\Tk\demos\images\flagup
-X:\perlnew\site\lib\Tk\demos\images\grey.25
-X:\perlnew\site\lib\Tk\demos\images\grey.5
-X:\perlnew\site\lib\Tk\demos\images\letters
-X:\perlnew\site\lib\Tk\demos\images\mickey.gif
-X:\perlnew\site\lib\Tk\demos\images\ned.xpm
-X:\perlnew\site\lib\Tk\demos\images\noletters
-X:\perlnew\site\lib\Tk\demos\images\page.icon
-X:\perlnew\site\lib\Tk\demos\images\page.mask
-X:\perlnew\site\lib\Tk\demos\images\pattern
-X:\perlnew\site\lib\Tk\demos\images\teapot.ppm
-X:\perlnew\site\lib\Tk\demos\widget_lib\Ball.pm
-X:\perlnew\site\lib\Tk\demos\widget_lib\HList.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\HList2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\Plot.pm
-X:\perlnew\site\lib\Tk\demos\widget_lib\WidgetDemo.pm
-X:\perlnew\site\lib\Tk\demos\widget_lib\arrows.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\balloon.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\bind.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\bitmaps.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\bounce.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\browseentry.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\browseentry2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\button.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\check.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\choosedir.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\clrpick.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\colors.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\cscroll.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\ctext.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\dialog1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\dialog2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\dirtree.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\entry1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\entry2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\entry3.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\filebox.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\floor.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\form.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\form_mgr.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\hello.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\hscale.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\icon.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\image1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\image2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\items.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\keysyms.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\labelframe.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\labels.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\labframe.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\mega.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\menbut.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\menus.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\menus2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\msgBox.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\notebook.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\paned1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\paned2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\photo1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\photo2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\plot.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\progress.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\puzzle.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\radio.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\ruler.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\sayings.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\search.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\showVars.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\slide.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\spin.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\states.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\style.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\texts.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\trace1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\trace2.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\transtile.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\twind.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\unicodeout.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\virtevents1.pl
-X:\perlnew\site\lib\Tk\demos\widget_lib\vscale.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\Gedi.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\TEMPLATE.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\Tiler.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\all.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\cursor.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\lib\npuz\Xcamel.npuz
-X:\perlnew\site\lib\Tk\demos\widtrib\npuz.pl
-X:\perlnew\site\lib\Tk\demos\widtrib\plop.pl
-X:\perlnew\site\lib\Tk\event.pod
-X:\perlnew\site\lib\Tk\exit.pod
-X:\perlnew\site\lib\Tk\file.xbm
-X:\perlnew\site\lib\Tk\file.xpm
-X:\perlnew\site\lib\Tk\fileevent.pod
-X:\perlnew\site\lib\Tk\focus.pod
-X:\perlnew\site\lib\Tk\folder.xbm
-X:\perlnew\site\lib\Tk\folder.xpm
-X:\perlnew\site\lib\Tk\form.pod
-X:\perlnew\site\lib\Tk\getOpenFile.pod
-X:\perlnew\site\lib\Tk\grab.pod
-X:\perlnew\site\lib\Tk\grid.pod
-X:\perlnew\site\lib\Tk\icon.gif
-X:\perlnew\site\lib\Tk\install.pm
-X:\perlnew\site\lib\Tk\license.terms
-X:\perlnew\site\lib\Tk\mega.pod
-X:\perlnew\site\lib\Tk\messageBox.pod
-X:\perlnew\site\lib\Tk\openfile.xbm
-X:\perlnew\site\lib\Tk\openfolder.xbm
-X:\perlnew\site\lib\Tk\openfolder.xpm
-X:\perlnew\site\lib\Tk\option.pod
-X:\perlnew\site\lib\Tk\options.pod
-X:\perlnew\site\lib\Tk\overview.pod
-X:\perlnew\site\lib\Tk\pTk.pod
-X:\perlnew\site\lib\Tk\pTk\Lang.h
-X:\perlnew\site\lib\Tk\pTk\Lang.m
-X:\perlnew\site\lib\Tk\pTk\Lang.t
-X:\perlnew\site\lib\Tk\pTk\Lang_f.h
-X:\perlnew\site\lib\Tk\pTk\Tcl-pTk
-X:\perlnew\site\lib\Tk\pTk\Xlib.h
-X:\perlnew\site\lib\Tk\pTk\Xlib.m
-X:\perlnew\site\lib\Tk\pTk\Xlib.t
-X:\perlnew\site\lib\Tk\pTk\Xlib_f.h
-X:\perlnew\site\lib\Tk\pTk\compat\limits.h
-X:\perlnew\site\lib\Tk\pTk\compat\stdlib.h
-X:\perlnew\site\lib\Tk\pTk\compat\unistd.h
-X:\perlnew\site\lib\Tk\pTk\default.h
-X:\perlnew\site\lib\Tk\pTk\img.h
-X:\perlnew\site\lib\Tk\pTk\imgInt.h
-X:\perlnew\site\lib\Tk\pTk\imgInt.m
-X:\perlnew\site\lib\Tk\pTk\imgInt.t
-X:\perlnew\site\lib\Tk\pTk\imgInt_f.h
-X:\perlnew\site\lib\Tk\pTk\ks_names.h
-X:\perlnew\site\lib\Tk\pTk\mkVFunc
-X:\perlnew\site\lib\Tk\pTk\moredefs.h
-X:\perlnew\site\lib\Tk\pTk\port.h
-X:\perlnew\site\lib\Tk\pTk\tcl.h
-X:\perlnew\site\lib\Tk\pTk\tclDecls.h
-X:\perlnew\site\lib\Tk\pTk\tclDecls.m
-X:\perlnew\site\lib\Tk\pTk\tclDecls.t
-X:\perlnew\site\lib\Tk\pTk\tclDecls_f.h
-X:\perlnew\site\lib\Tk\pTk\tclIntDecls.h
-X:\perlnew\site\lib\Tk\pTk\tclIntPlatDecls.h
-X:\perlnew\site\lib\Tk\pTk\tclMath.h
-X:\perlnew\site\lib\Tk\pTk\tclPlatDecls.h
-X:\perlnew\site\lib\Tk\pTk\tclWinInt.h
-X:\perlnew\site\lib\Tk\pTk\tix.h
-X:\perlnew\site\lib\Tk\pTk\tix.m
-X:\perlnew\site\lib\Tk\pTk\tix.t
-X:\perlnew\site\lib\Tk\pTk\tixBitmaps.h
-X:\perlnew\site\lib\Tk\pTk\tixDef.h
-X:\perlnew\site\lib\Tk\pTk\tixForm.h
-X:\perlnew\site\lib\Tk\pTk\tixGrData.h
-X:\perlnew\site\lib\Tk\pTk\tixGrid.h
-X:\perlnew\site\lib\Tk\pTk\tixHList.h
-X:\perlnew\site\lib\Tk\pTk\tixImgXpm.h
-X:\perlnew\site\lib\Tk\pTk\tixImgXpm.m
-X:\perlnew\site\lib\Tk\pTk\tixImgXpm.t
-X:\perlnew\site\lib\Tk\pTk\tixImgXpm_f.h
-X:\perlnew\site\lib\Tk\pTk\tixInt.h
-X:\perlnew\site\lib\Tk\pTk\tixInt.m
-X:\perlnew\site\lib\Tk\pTk\tixInt.t
-X:\perlnew\site\lib\Tk\pTk\tixInt_f.h
-X:\perlnew\site\lib\Tk\pTk\tixPort.h
-X:\perlnew\site\lib\Tk\pTk\tixTList.h
-X:\perlnew\site\lib\Tk\pTk\tixWinInt.h
-X:\perlnew\site\lib\Tk\pTk\tixWinPort.h
-X:\perlnew\site\lib\Tk\pTk\tix_f.h
-X:\perlnew\site\lib\Tk\pTk\tk.h
-X:\perlnew\site\lib\Tk\pTk\tk.m
-X:\perlnew\site\lib\Tk\pTk\tk.t
-X:\perlnew\site\lib\Tk\pTk\tk3d.h
-X:\perlnew\site\lib\Tk\pTk\tkButton.h
-X:\perlnew\site\lib\Tk\pTk\tkCanvas.h
-X:\perlnew\site\lib\Tk\pTk\tkCanvases.h
-X:\perlnew\site\lib\Tk\pTk\tkColor.h
-X:\perlnew\site\lib\Tk\pTk\tkConfig.h
-X:\perlnew\site\lib\Tk\pTk\tkDecls.h
-X:\perlnew\site\lib\Tk\pTk\tkDecls.m
-X:\perlnew\site\lib\Tk\pTk\tkDecls.t
-X:\perlnew\site\lib\Tk\pTk\tkDecls_f.h
-X:\perlnew\site\lib\Tk\pTk\tkEvent.h
-X:\perlnew\site\lib\Tk\pTk\tkEvent.m
-X:\perlnew\site\lib\Tk\pTk\tkEvent.t
-X:\perlnew\site\lib\Tk\pTk\tkEvent_f.h
-X:\perlnew\site\lib\Tk\pTk\tkFileFilter.h
-X:\perlnew\site\lib\Tk\pTk\tkFont.h
-X:\perlnew\site\lib\Tk\pTk\tkImgPhoto.h
-X:\perlnew\site\lib\Tk\pTk\tkImgPhoto.m
-X:\perlnew\site\lib\Tk\pTk\tkImgPhoto.t
-X:\perlnew\site\lib\Tk\pTk\tkImgPhoto_f.h
-X:\perlnew\site\lib\Tk\pTk\tkInitScript.h
-X:\perlnew\site\lib\Tk\pTk\tkInt.h
-X:\perlnew\site\lib\Tk\pTk\tkInt.m
-X:\perlnew\site\lib\Tk\pTk\tkInt.t
-X:\perlnew\site\lib\Tk\pTk\tkIntDecls.h
-X:\perlnew\site\lib\Tk\pTk\tkIntDecls.m
-X:\perlnew\site\lib\Tk\pTk\tkIntDecls.t
-X:\perlnew\site\lib\Tk\pTk\tkIntDecls_f.h
-X:\perlnew\site\lib\Tk\pTk\tkIntPlatDecls.h
-X:\perlnew\site\lib\Tk\pTk\tkIntPlatDecls.m
-X:\perlnew\site\lib\Tk\pTk\tkIntPlatDecls.t
-X:\perlnew\site\lib\Tk\pTk\tkIntPlatDecls_f.h
-X:\perlnew\site\lib\Tk\pTk\tkIntXlibDecls.h
-X:\perlnew\site\lib\Tk\pTk\tkIntXlibDecls.m
-X:\perlnew\site\lib\Tk\pTk\tkIntXlibDecls.t
-X:\perlnew\site\lib\Tk\pTk\tkIntXlibDecls_f.h
-X:\perlnew\site\lib\Tk\pTk\tkInt_f.h
-X:\perlnew\site\lib\Tk\pTk\tkMenu.h
-X:\perlnew\site\lib\Tk\pTk\tkMenubutton.h
-X:\perlnew\site\lib\Tk\pTk\tkOption.h
-X:\perlnew\site\lib\Tk\pTk\tkOption.m
-X:\perlnew\site\lib\Tk\pTk\tkOption.t
-X:\perlnew\site\lib\Tk\pTk\tkOption_f.h
-X:\perlnew\site\lib\Tk\pTk\tkPlatDecls.h
-X:\perlnew\site\lib\Tk\pTk\tkPlatDecls.m
-X:\perlnew\site\lib\Tk\pTk\tkPlatDecls.t
-X:\perlnew\site\lib\Tk\pTk\tkPlatDecls_f.h
-X:\perlnew\site\lib\Tk\pTk\tkPort.h
-X:\perlnew\site\lib\Tk\pTk\tkScale.h
-X:\perlnew\site\lib\Tk\pTk\tkScrollbar.h
-X:\perlnew\site\lib\Tk\pTk\tkSelect.h
-X:\perlnew\site\lib\Tk\pTk\tkText.h
-X:\perlnew\site\lib\Tk\pTk\tkUndo.h
-X:\perlnew\site\lib\Tk\pTk\tkVMacro.h
-X:\perlnew\site\lib\Tk\pTk\tkWin.h
-X:\perlnew\site\lib\Tk\pTk\tkWinDefault.h
-X:\perlnew\site\lib\Tk\pTk\tkWinInt.h
-X:\perlnew\site\lib\Tk\pTk\tkWinPort.h
-X:\perlnew\site\lib\Tk\pTk\tkXrm.h
-X:\perlnew\site\lib\Tk\pTk\tk_f.h
-X:\perlnew\site\lib\Tk\pTk\xbytes.h
-X:\perlnew\site\lib\Tk\pack.pod
-X:\perlnew\site\lib\Tk\palette.pod
-X:\perlnew\site\lib\Tk\place.pod
-X:\perlnew\site\lib\Tk\prolog.ps
-X:\perlnew\site\lib\Tk\selection.pod
-X:\perlnew\site\lib\Tk\send.pod
-X:\perlnew\site\lib\Tk\srcfile.xpm
-X:\perlnew\site\lib\Tk\textfile.xpm
-X:\perlnew\site\lib\Tk\tixWm.pod
-X:\perlnew\site\lib\Tk\tkGlue.def
-X:\perlnew\site\lib\Tk\tkGlue.h
-X:\perlnew\site\lib\Tk\tkGlue.m
-X:\perlnew\site\lib\Tk\tkGlue.t
-X:\perlnew\site\lib\Tk\tkGlue_f.h
-X:\perlnew\site\lib\Tk\tkvars.pod
-X:\perlnew\site\lib\Tk\tranicon.gif
-X:\perlnew\site\lib\Tk\typemap
-X:\perlnew\site\lib\Tk\vtab.def
-X:\perlnew\site\lib\Tk\widgets.pm
-X:\perlnew\site\lib\Tk\widgets.pod
-X:\perlnew\site\lib\Tk\win.xbm
-X:\perlnew\site\lib\Tk\winfolder.xpm
-X:\perlnew\site\lib\Tk\wintext.xpm
-X:\perlnew\site\lib\auto\Tk\CancelRepeat.al
-X:\perlnew\site\lib\auto\Tk\Canvas\Canvas.bs
-X:\perlnew\site\lib\auto\Tk\Canvas\Canvas.dll
-X:\perlnew\site\lib\auto\Tk\Clipboard\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Clipboard\getSelected.al
-X:\perlnew\site\lib\auto\Tk\Compound\Compound.bs
-X:\perlnew\site\lib\auto\Tk\Compound\Compound.dll
-X:\perlnew\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.bs
-X:\perlnew\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.dll
-X:\perlnew\site\lib\auto\Tk\EnterFocus.al
-X:\perlnew\site\lib\auto\Tk\Entry\Entry.bs
-X:\perlnew\site\lib\auto\Tk\Entry\Entry.dll
-X:\perlnew\site\lib\auto\Tk\Error.al
-X:\perlnew\site\lib\auto\Tk\Event\Event.bs
-X:\perlnew\site\lib\auto\Tk\Event\Event.dll
-X:\perlnew\site\lib\auto\Tk\FirstMenu.al
-X:\perlnew\site\lib\auto\Tk\FocusChildren.al
-X:\perlnew\site\lib\auto\Tk\FocusOK.al
-X:\perlnew\site\lib\auto\Tk\Frame\AddScrollbars.al
-X:\perlnew\site\lib\auto\Tk\Frame\FindMenu.al
-X:\perlnew\site\lib\auto\Tk\Frame\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Frame\freeze_on_map.al
-X:\perlnew\site\lib\auto\Tk\Frame\label.al
-X:\perlnew\site\lib\auto\Tk\Frame\labelPack.al
-X:\perlnew\site\lib\auto\Tk\Frame\labelVariable.al
-X:\perlnew\site\lib\auto\Tk\Frame\packscrollbars.al
-X:\perlnew\site\lib\auto\Tk\Frame\queuePack.al
-X:\perlnew\site\lib\auto\Tk\Frame\sbset.al
-X:\perlnew\site\lib\auto\Tk\Frame\scrollbars.al
-X:\perlnew\site\lib\auto\Tk\HList\HList.bs
-X:\perlnew\site\lib\auto\Tk\HList\HList.dll
-X:\perlnew\site\lib\auto\Tk\IO\IO.bs
-X:\perlnew\site\lib\auto\Tk\IO\IO.dll
-X:\perlnew\site\lib\auto\Tk\ImageNames.al
-X:\perlnew\site\lib\auto\Tk\ImageTypes.al
-X:\perlnew\site\lib\auto\Tk\JPEG\JPEG.bs
-X:\perlnew\site\lib\auto\Tk\JPEG\JPEG.dll
-X:\perlnew\site\lib\auto\Tk\Listbox\AutoScan.al
-X:\perlnew\site\lib\auto\Tk\Listbox\BeginExtend.al
-X:\perlnew\site\lib\auto\Tk\Listbox\BeginSelect.al
-X:\perlnew\site\lib\auto\Tk\Listbox\BeginToggle.al
-X:\perlnew\site\lib\auto\Tk\Listbox\ButtonRelease_1.al
-X:\perlnew\site\lib\auto\Tk\Listbox\CLEAR.al
-X:\perlnew\site\lib\auto\Tk\Listbox\Cancel.al
-X:\perlnew\site\lib\auto\Tk\Listbox\Cntrl_End.al
-X:\perlnew\site\lib\auto\Tk\Listbox\Cntrl_Home.al
-X:\perlnew\site\lib\auto\Tk\Listbox\Cntrl_backslash.al
-X:\perlnew\site\lib\auto\Tk\Listbox\DELETE.al
-X:\perlnew\site\lib\auto\Tk\Listbox\DataExtend.al
-X:\perlnew\site\lib\auto\Tk\Listbox\EXISTS.al
-X:\perlnew\site\lib\auto\Tk\Listbox\EXTEND.al
-X:\perlnew\site\lib\auto\Tk\Listbox\ExtendUpDown.al
-X:\perlnew\site\lib\auto\Tk\Listbox\FETCH.al
-X:\perlnew\site\lib\auto\Tk\Listbox\FETCHSIZE.al
-X:\perlnew\site\lib\auto\Tk\Listbox\Listbox.bs
-X:\perlnew\site\lib\auto\Tk\Listbox\Listbox.dll
-X:\perlnew\site\lib\auto\Tk\Listbox\Motion.al
-X:\perlnew\site\lib\auto\Tk\Listbox\POP.al
-X:\perlnew\site\lib\auto\Tk\Listbox\PUSH.al
-X:\perlnew\site\lib\auto\Tk\Listbox\SHIFT.al
-X:\perlnew\site\lib\auto\Tk\Listbox\SPLICE.al
-X:\perlnew\site\lib\auto\Tk\Listbox\STORE.al
-X:\perlnew\site\lib\auto\Tk\Listbox\SelectAll.al
-X:\perlnew\site\lib\auto\Tk\Listbox\SetList.al
-X:\perlnew\site\lib\auto\Tk\Listbox\TIEARRAY.al
-X:\perlnew\site\lib\auto\Tk\Listbox\TIESCALAR.al
-X:\perlnew\site\lib\auto\Tk\Listbox\UNSHIFT.al
-X:\perlnew\site\lib\auto\Tk\Listbox\UpDown.al
-X:\perlnew\site\lib\auto\Tk\Listbox\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Listbox\clipboardPaste.al
-X:\perlnew\site\lib\auto\Tk\Listbox\deleteSelected.al
-X:\perlnew\site\lib\auto\Tk\Listbox\getSelected.al
-X:\perlnew\site\lib\auto\Tk\Listbox\xyIndex.al
-X:\perlnew\site\lib\auto\Tk\Menubutton\Menubutton.bs
-X:\perlnew\site\lib\auto\Tk\Menubutton\Menubutton.dll
-X:\perlnew\site\lib\auto\Tk\NBFrame\NBFrame.bs
-X:\perlnew\site\lib\auto\Tk\NBFrame\NBFrame.dll
-X:\perlnew\site\lib\auto\Tk\PNG\PNG.bs
-X:\perlnew\site\lib\auto\Tk\PNG\PNG.dll
-X:\perlnew\site\lib\auto\Tk\Pixmap\Pixmap.bs
-X:\perlnew\site\lib\auto\Tk\Pixmap\Pixmap.dll
-X:\perlnew\site\lib\auto\Tk\Receive.al
-X:\perlnew\site\lib\auto\Tk\RepeatId.al
-X:\perlnew\site\lib\auto\Tk\Scale\Activate.al
-X:\perlnew\site\lib\auto\Tk\Scale\ButtonDown.al
-X:\perlnew\site\lib\auto\Tk\Scale\ButtonUp.al
-X:\perlnew\site\lib\auto\Tk\Scale\ControlPress.al
-X:\perlnew\site\lib\auto\Tk\Scale\Drag.al
-X:\perlnew\site\lib\auto\Tk\Scale\EndDrag.al
-X:\perlnew\site\lib\auto\Tk\Scale\Enter.al
-X:\perlnew\site\lib\auto\Tk\Scale\Increment.al
-X:\perlnew\site\lib\auto\Tk\Scale\Leave.al
-X:\perlnew\site\lib\auto\Tk\Scale\Scale.bs
-X:\perlnew\site\lib\auto\Tk\Scale\Scale.dll
-X:\perlnew\site\lib\auto\Tk\Scale\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Scrollbar\ButtonDown.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\ButtonUp.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Drag.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\EndDrag.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Enter.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Leave.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Motion.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\ScrlByPages.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\ScrlByUnits.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\ScrlToPos.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\ScrlTopBottom.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Scrollbar.bs
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Scrollbar.dll
-X:\perlnew\site\lib\auto\Tk\Scrollbar\Select.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\StartDrag.al
-X:\perlnew\site\lib\auto\Tk\Scrollbar\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Selection.al
-X:\perlnew\site\lib\auto\Tk\TList\TList.bs
-X:\perlnew\site\lib\auto\Tk\TList\TList.dll
-X:\perlnew\site\lib\auto\Tk\Table\Create.al
-X:\perlnew\site\lib\auto\Tk\Table\Posn.al
-X:\perlnew\site\lib\auto\Tk\Table\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Table\see.al
-X:\perlnew\site\lib\auto\Tk\Table\totalColumns.al
-X:\perlnew\site\lib\auto\Tk\Table\totalRows.al
-X:\perlnew\site\lib\auto\Tk\TextEdit\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\TextUndo\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Text\Text.bs
-X:\perlnew\site\lib\auto\Tk\Text\Text.dll
-X:\perlnew\site\lib\auto\Tk\Text\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\TixGrid\TixGrid.bs
-X:\perlnew\site\lib\auto\Tk\TixGrid\TixGrid.dll
-X:\perlnew\site\lib\auto\Tk\Tk.bs
-X:\perlnew\site\lib\auto\Tk\Tk.dll
-X:\perlnew\site\lib\auto\Tk\Toplevel\FG_BindIn.al
-X:\perlnew\site\lib\auto\Tk\Toplevel\FG_BindOut.al
-X:\perlnew\site\lib\auto\Tk\Toplevel\FG_Create.al
-X:\perlnew\site\lib\auto\Tk\Toplevel\FG_Destroy.al
-X:\perlnew\site\lib\auto\Tk\Toplevel\FG_In.al
-X:\perlnew\site\lib\auto\Tk\Toplevel\FG_Out.al
-X:\perlnew\site\lib\auto\Tk\Toplevel\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\TraverseToMenu.al
-X:\perlnew\site\lib\auto\Tk\Widget\ASkludge.al
-X:\perlnew\site\lib\auto\Tk\Widget\AltKeyInDialog.al
-X:\perlnew\site\lib\auto\Tk\Widget\AmpWidget.al
-X:\perlnew\site\lib\auto\Tk\Widget\FindAltKeyTarget.al
-X:\perlnew\site\lib\auto\Tk\Widget\MasterMenu.al
-X:\perlnew\site\lib\auto\Tk\Widget\RestoreFocusGrab.al
-X:\perlnew\site\lib\auto\Tk\Widget\SetAmpText.al
-X:\perlnew\site\lib\auto\Tk\Widget\SetFocusGrab.al
-X:\perlnew\site\lib\auto\Tk\Widget\UnderlineAmpersand.al
-X:\perlnew\site\lib\auto\Tk\Widget\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Widget\bindDump.al
-X:\perlnew\site\lib\auto\Tk\Widget\clipboardKeysyms.al
-X:\perlnew\site\lib\auto\Tk\Widget\pathname.al
-X:\perlnew\site\lib\auto\Tk\Wm\AnchorAdjust.al
-X:\perlnew\site\lib\auto\Tk\Wm\FullScreen.al
-X:\perlnew\site\lib\auto\Tk\Wm\Popup.al
-X:\perlnew\site\lib\auto\Tk\Wm\Post.al
-X:\perlnew\site\lib\auto\Tk\Wm\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Wm\iconposition.al
-X:\perlnew\site\lib\auto\Tk\X\X.bs
-X:\perlnew\site\lib\auto\Tk\X\X.dll
-X:\perlnew\site\lib\auto\Tk\X\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\Xlib\Xlib.bs
-X:\perlnew\site\lib\auto\Tk\Xlib\Xlib.dll
-X:\perlnew\site\lib\auto\Tk\autosplit.ix
-X:\perlnew\site\lib\auto\Tk\break.al
-X:\perlnew\site\lib\auto\Tk\focusFollowsMouse.al
-X:\perlnew\site\lib\auto\Tk\focusNext.al
-X:\perlnew\site\lib\auto\Tk\focusPrev.al
-X:\perlnew\site\lib\auto\Tk\getEncoding.al
-X:\perlnew\site\lib\auto\Tk\getNextFocus.al
-X:\perlnew\site\lib\auto\Tk\getPrevFocus.al
-X:\perlnew\site\lib\auto\Tk\interps.al
-X:\perlnew\site\lib\auto\Tk\lsearch.al
-X:\perlnew\site\lib\auto\Tk\pTk\extralibs.ld
-X:\perlnew\site\lib\auto\Tk\tabFocus.al
-X:\perlnew\site\lib\auto\Tk\updateWidgets.al
+X:\tlperl\bin\gedi
+X:\tlperl\bin\gedi.bat
+X:\tlperl\bin\ptked
+X:\tlperl\bin\ptked.bat
+X:\tlperl\bin\ptksh
+X:\tlperl\bin\ptksh.bat
+X:\tlperl\bin\tkjpeg
+X:\tlperl\bin\tkjpeg.bat
+X:\tlperl\bin\widget
+X:\tlperl\bin\widget.bat
+X:\tlperl\site\lib\Tie\Watch.pm
+X:\tlperl\site\lib\Tk.pm
+X:\tlperl\site\lib\Tk.pod
+X:\tlperl\site\lib\Tk\804delta.pod
+X:\tlperl\site\lib\Tk\Adjuster.pm
+X:\tlperl\site\lib\Tk\Adjuster.pod
+X:\tlperl\site\lib\Tk\After.pm
+X:\tlperl\site\lib\Tk\Animation.pm
+X:\tlperl\site\lib\Tk\Animation.pod
+X:\tlperl\site\lib\Tk\Balloon.pm
+X:\tlperl\site\lib\Tk\Balloon.pod
+X:\tlperl\site\lib\Tk\Bitmap.pm
+X:\tlperl\site\lib\Tk\Bitmap.pod
+X:\tlperl\site\lib\Tk\BrowseEntry.pm
+X:\tlperl\site\lib\Tk\BrowseEntry.pod
+X:\tlperl\site\lib\Tk\Button.pm
+X:\tlperl\site\lib\Tk\Button.pod
+X:\tlperl\site\lib\Tk\Camel.xpm
+X:\tlperl\site\lib\Tk\Canvas.pm
+X:\tlperl\site\lib\Tk\Canvas.pod
+X:\tlperl\site\lib\Tk\Checkbutton.pm
+X:\tlperl\site\lib\Tk\Checkbutton.pod
+X:\tlperl\site\lib\Tk\Clipboard.pm
+X:\tlperl\site\lib\Tk\Clipboard.pod
+X:\tlperl\site\lib\Tk\CmdLine.pm
+X:\tlperl\site\lib\Tk\CmdLine.pod
+X:\tlperl\site\lib\Tk\ColorEdit.xpm
+X:\tlperl\site\lib\Tk\ColorEditor.pm
+X:\tlperl\site\lib\Tk\ColorEditor.pod
+X:\tlperl\site\lib\Tk\Common.pod
+X:\tlperl\site\lib\Tk\Compound.pm
+X:\tlperl\site\lib\Tk\Compound.pod
+X:\tlperl\site\lib\Tk\Config.pm
+X:\tlperl\site\lib\Tk\ConfigSpecs.pod
+X:\tlperl\site\lib\Tk\Configure.pm
+X:\tlperl\site\lib\Tk\Credits
+X:\tlperl\site\lib\Tk\DItem.pod
+X:\tlperl\site\lib\Tk\Derived.pm
+X:\tlperl\site\lib\Tk\Derived.pod
+X:\tlperl\site\lib\Tk\Dialog.pm
+X:\tlperl\site\lib\Tk\Dialog.pod
+X:\tlperl\site\lib\Tk\DialogBox.pm
+X:\tlperl\site\lib\Tk\DialogBox.pod
+X:\tlperl\site\lib\Tk\DirTree.pm
+X:\tlperl\site\lib\Tk\DirTree.pod
+X:\tlperl\site\lib\Tk\Dirlist.pm
+X:\tlperl\site\lib\Tk\DragDrop.pm
+X:\tlperl\site\lib\Tk\DragDrop\Common.pm
+X:\tlperl\site\lib\Tk\DragDrop\LocalDrop.pm
+X:\tlperl\site\lib\Tk\DragDrop\Rect.pm
+X:\tlperl\site\lib\Tk\DragDrop\SunConst.pm
+X:\tlperl\site\lib\Tk\DragDrop\SunDrop.pm
+X:\tlperl\site\lib\Tk\DragDrop\SunSite.pm
+X:\tlperl\site\lib\Tk\DragDrop\Win32Drop.pm
+X:\tlperl\site\lib\Tk\DragDrop\Win32Site.pm
+X:\tlperl\site\lib\Tk\DragDrop\XDNDDrop.pm
+X:\tlperl\site\lib\Tk\DragDrop\XDNDSite.pm
+X:\tlperl\site\lib\Tk\DropSite.pm
+X:\tlperl\site\lib\Tk\DropSite.pod
+X:\tlperl\site\lib\Tk\DummyEncode.pm
+X:\tlperl\site\lib\Tk\English.pm
+X:\tlperl\site\lib\Tk\Entry.pm
+X:\tlperl\site\lib\Tk\Entry.pod
+X:\tlperl\site\lib\Tk\Error.pod
+X:\tlperl\site\lib\Tk\ErrorDialog.pm
+X:\tlperl\site\lib\Tk\Event.pm
+X:\tlperl\site\lib\Tk\Event\IO.pm
+X:\tlperl\site\lib\Tk\Eventloop.pod
+X:\tlperl\site\lib\Tk\FBox.pm
+X:\tlperl\site\lib\Tk\FBox.pod
+X:\tlperl\site\lib\Tk\FileSelect.pm
+X:\tlperl\site\lib\Tk\FileSelect.pod
+X:\tlperl\site\lib\Tk\FloatEntry.pm
+X:\tlperl\site\lib\Tk\Font.pm
+X:\tlperl\site\lib\Tk\Font.pod
+X:\tlperl\site\lib\Tk\Frame.pm
+X:\tlperl\site\lib\Tk\Frame.pod
+X:\tlperl\site\lib\Tk\HList.pm
+X:\tlperl\site\lib\Tk\HList.pod
+X:\tlperl\site\lib\Tk\IO.pm
+X:\tlperl\site\lib\Tk\IO.pod
+X:\tlperl\site\lib\Tk\IconList.pm
+X:\tlperl\site\lib\Tk\IconList.pod
+X:\tlperl\site\lib\Tk\Image.pm
+X:\tlperl\site\lib\Tk\Image.pod
+X:\tlperl\site\lib\Tk\InputO.pod
+X:\tlperl\site\lib\Tk\Internals.pod
+X:\tlperl\site\lib\Tk\ItemStyle.pm
+X:\tlperl\site\lib\Tk\JPEG.pm
+X:\tlperl\site\lib\Tk\LabEntry.pm
+X:\tlperl\site\lib\Tk\LabFrame.pm
+X:\tlperl\site\lib\Tk\LabFrame.pod
+X:\tlperl\site\lib\Tk\LabRadio.pm
+X:\tlperl\site\lib\Tk\Label.pm
+X:\tlperl\site\lib\Tk\Label.pod
+X:\tlperl\site\lib\Tk\Labelframe.pm
+X:\tlperl\site\lib\Tk\Labelframe.pod
+X:\tlperl\site\lib\Tk\Listbox.pm
+X:\tlperl\site\lib\Tk\Listbox.pod
+X:\tlperl\site\lib\Tk\MMtry.pm
+X:\tlperl\site\lib\Tk\MMutil.pm
+X:\tlperl\site\lib\Tk\MainWindow.pm
+X:\tlperl\site\lib\Tk\MainWindow.pod
+X:\tlperl\site\lib\Tk\MakeDepend.pm
+X:\tlperl\site\lib\Tk\Menu.pm
+X:\tlperl\site\lib\Tk\Menu.pod
+X:\tlperl\site\lib\Tk\Menu\Item.pm
+X:\tlperl\site\lib\Tk\Menu\Item.pod
+X:\tlperl\site\lib\Tk\Menubar.pm
+X:\tlperl\site\lib\Tk\Menubutton.pm
+X:\tlperl\site\lib\Tk\Menubutton.pod
+X:\tlperl\site\lib\Tk\Message.pm
+X:\tlperl\site\lib\Tk\Message.pod
+X:\tlperl\site\lib\Tk\MsgBox.pm
+X:\tlperl\site\lib\Tk\MsgBox.pod
+X:\tlperl\site\lib\Tk\Mwm.pod
+X:\tlperl\site\lib\Tk\NBFrame.pm
+X:\tlperl\site\lib\Tk\NoteBook.pm
+X:\tlperl\site\lib\Tk\NoteBook.pod
+X:\tlperl\site\lib\Tk\Optionmenu.pm
+X:\tlperl\site\lib\Tk\Optionmenu.pod
+X:\tlperl\site\lib\Tk\PNG.pm
+X:\tlperl\site\lib\Tk\Pane.pm
+X:\tlperl\site\lib\Tk\Panedwindow.pm
+X:\tlperl\site\lib\Tk\Panedwindow.pod
+X:\tlperl\site\lib\Tk\Photo.pm
+X:\tlperl\site\lib\Tk\Photo.pod
+X:\tlperl\site\lib\Tk\Pixmap.pm
+X:\tlperl\site\lib\Tk\Pixmap.pod
+X:\tlperl\site\lib\Tk\Popup.pod
+X:\tlperl\site\lib\Tk\Pretty.pm
+X:\tlperl\site\lib\Tk\ProgressBar.pm
+X:\tlperl\site\lib\Tk\README.Adjust
+X:\tlperl\site\lib\Tk\ROText.pm
+X:\tlperl\site\lib\Tk\ROText.pod
+X:\tlperl\site\lib\Tk\Radiobutton.pm
+X:\tlperl\site\lib\Tk\Radiobutton.pod
+X:\tlperl\site\lib\Tk\Region.pm
+X:\tlperl\site\lib\Tk\Reindex.pm
+X:\tlperl\site\lib\Tk\ReindexedROText.pm
+X:\tlperl\site\lib\Tk\ReindexedText.pm
+X:\tlperl\site\lib\Tk\Scale.pm
+X:\tlperl\site\lib\Tk\Scale.pod
+X:\tlperl\site\lib\Tk\Scrollbar.pm
+X:\tlperl\site\lib\Tk\Scrollbar.pod
+X:\tlperl\site\lib\Tk\Scrolled.pod
+X:\tlperl\site\lib\Tk\Spinbox.pm
+X:\tlperl\site\lib\Tk\Spinbox.pod
+X:\tlperl\site\lib\Tk\Stats.pm
+X:\tlperl\site\lib\Tk\Submethods.pm
+X:\tlperl\site\lib\Tk\Submethods.pod
+X:\tlperl\site\lib\Tk\SunConst.pod
+X:\tlperl\site\lib\Tk\TList.pm
+X:\tlperl\site\lib\Tk\TList.pod
+X:\tlperl\site\lib\Tk\Table.pm
+X:\tlperl\site\lib\Tk\Table.pod
+X:\tlperl\site\lib\Tk\Tcl-perl.pod
+X:\tlperl\site\lib\Tk\Text.pm
+X:\tlperl\site\lib\Tk\Text.pod
+X:\tlperl\site\lib\Tk\TextEdit.pm
+X:\tlperl\site\lib\Tk\TextList.pm
+X:\tlperl\site\lib\Tk\TextUndo.pm
+X:\tlperl\site\lib\Tk\TextUndo.pod
+X:\tlperl\site\lib\Tk\Text\Tag.pm
+X:\tlperl\site\lib\Tk\Tiler.pm
+X:\tlperl\site\lib\Tk\Tiler.pod
+X:\tlperl\site\lib\Tk\TixGrid.pm
+X:\tlperl\site\lib\Tk\TixGrid.pod
+X:\tlperl\site\lib\Tk\Tk.xbm
+X:\tlperl\site\lib\Tk\Tk.xpm
+X:\tlperl\site\lib\Tk\TkXSUB.def
+X:\tlperl\site\lib\Tk\Toplevel.pm
+X:\tlperl\site\lib\Tk\Toplevel.pod
+X:\tlperl\site\lib\Tk\Trace.pm
+X:\tlperl\site\lib\Tk\Tree.pm
+X:\tlperl\site\lib\Tk\Tree.pod
+X:\tlperl\site\lib\Tk\UserGuide.pod
+X:\tlperl\site\lib\Tk\Widget.pm
+X:\tlperl\site\lib\Tk\Widget.pod
+X:\tlperl\site\lib\Tk\WidgetDemo.pod
+X:\tlperl\site\lib\Tk\Wm.pm
+X:\tlperl\site\lib\Tk\Wm.pod
+X:\tlperl\site\lib\Tk\X.pm
+X:\tlperl\site\lib\Tk\X.pod
+X:\tlperl\site\lib\Tk\X11Font.pm
+X:\tlperl\site\lib\Tk\X11Font.pod
+X:\tlperl\site\lib\Tk\X11\X.h
+X:\tlperl\site\lib\Tk\X11\Xatom.h
+X:\tlperl\site\lib\Tk\X11\Xfuncproto.h
+X:\tlperl\site\lib\Tk\X11\Xlib.h
+X:\tlperl\site\lib\Tk\X11\Xutil.h
+X:\tlperl\site\lib\Tk\X11\cursorfont.h
+X:\tlperl\site\lib\Tk\X11\keysym.h
+X:\tlperl\site\lib\Tk\X11\keysymdef.h
+X:\tlperl\site\lib\Tk\X11\license.terms
+X:\tlperl\site\lib\Tk\Xcamel.gif
+X:\tlperl\site\lib\Tk\Xlib.pm
+X:\tlperl\site\lib\Tk\Xrm.pm
+X:\tlperl\site\lib\Tk\Xrm.pod
+X:\tlperl\site\lib\Tk\act_folder.xbm
+X:\tlperl\site\lib\Tk\act_folder.xpm
+X:\tlperl\site\lib\Tk\after.pod
+X:\tlperl\site\lib\Tk\anim.gif
+X:\tlperl\site\lib\Tk\arrowdownwin.xbm
+X:\tlperl\site\lib\Tk\balArrow.xbm
+X:\tlperl\site\lib\Tk\bind.pod
+X:\tlperl\site\lib\Tk\bindtags.pod
+X:\tlperl\site\lib\Tk\callbacks.pod
+X:\tlperl\site\lib\Tk\cbxarrow.xbm
+X:\tlperl\site\lib\Tk\chooseColor.pod
+X:\tlperl\site\lib\Tk\chooseDirectory.pod
+X:\tlperl\site\lib\Tk\composite.pod
+X:\tlperl\site\lib\Tk\demos\LabEnLabRad.pm
+X:\tlperl\site\lib\Tk\demos\images\QuitPB.xpm
+X:\tlperl\site\lib\Tk\demos\images\QuitPBa.xpm
+X:\tlperl\site\lib\Tk\demos\images\c.icon
+X:\tlperl\site\lib\Tk\demos\images\cursor.cur
+X:\tlperl\site\lib\Tk\demos\images\cursor.mask
+X:\tlperl\site\lib\Tk\demos\images\cursor.xbm
+X:\tlperl\site\lib\Tk\demos\images\dir.icon
+X:\tlperl\site\lib\Tk\demos\images\dir.mask
+X:\tlperl\site\lib\Tk\demos\images\earth.gif
+X:\tlperl\site\lib\Tk\demos\images\earthris.gif
+X:\tlperl\site\lib\Tk\demos\images\face
+X:\tlperl\site\lib\Tk\demos\images\flagdown
+X:\tlperl\site\lib\Tk\demos\images\flagup
+X:\tlperl\site\lib\Tk\demos\images\grey.25
+X:\tlperl\site\lib\Tk\demos\images\grey.5
+X:\tlperl\site\lib\Tk\demos\images\letters
+X:\tlperl\site\lib\Tk\demos\images\mickey.gif
+X:\tlperl\site\lib\Tk\demos\images\ned.xpm
+X:\tlperl\site\lib\Tk\demos\images\noletters
+X:\tlperl\site\lib\Tk\demos\images\page.icon
+X:\tlperl\site\lib\Tk\demos\images\page.mask
+X:\tlperl\site\lib\Tk\demos\images\pattern
+X:\tlperl\site\lib\Tk\demos\images\teapot.ppm
+X:\tlperl\site\lib\Tk\demos\widget_lib\Ball.pm
+X:\tlperl\site\lib\Tk\demos\widget_lib\HList.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\HList2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\Plot.pm
+X:\tlperl\site\lib\Tk\demos\widget_lib\WidgetDemo.pm
+X:\tlperl\site\lib\Tk\demos\widget_lib\arrows.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\balloon.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\bind.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\bitmaps.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\bounce.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\browseentry.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\browseentry2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\button.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\check.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\choosedir.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\clrpick.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\colors.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\cscroll.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\ctext.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\dialog1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\dialog2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\dirtree.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\entry1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\entry2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\entry3.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\filebox.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\floor.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\form.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\form_mgr.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\hello.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\hscale.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\icon.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\image1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\image2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\items.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\keysyms.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\labelframe.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\labels.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\labframe.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\mega.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\menbut.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\menus.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\menus2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\msgBox.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\notebook.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\paned1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\paned2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\photo1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\photo2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\plot.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\progress.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\puzzle.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\radio.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\ruler.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\sayings.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\search.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\showVars.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\slide.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\spin.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\states.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\style.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\texts.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\trace1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\trace2.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\transtile.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\twind.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\unicodeout.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\virtevents1.pl
+X:\tlperl\site\lib\Tk\demos\widget_lib\vscale.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\Gedi.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\TEMPLATE.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\Tiler.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\all.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\cursor.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\lib\npuz\Xcamel.npuz
+X:\tlperl\site\lib\Tk\demos\widtrib\npuz.pl
+X:\tlperl\site\lib\Tk\demos\widtrib\plop.pl
+X:\tlperl\site\lib\Tk\event.pod
+X:\tlperl\site\lib\Tk\exit.pod
+X:\tlperl\site\lib\Tk\file.xbm
+X:\tlperl\site\lib\Tk\file.xpm
+X:\tlperl\site\lib\Tk\fileevent.pod
+X:\tlperl\site\lib\Tk\focus.pod
+X:\tlperl\site\lib\Tk\folder.xbm
+X:\tlperl\site\lib\Tk\folder.xpm
+X:\tlperl\site\lib\Tk\form.pod
+X:\tlperl\site\lib\Tk\getOpenFile.pod
+X:\tlperl\site\lib\Tk\grab.pod
+X:\tlperl\site\lib\Tk\grid.pod
+X:\tlperl\site\lib\Tk\icon.gif
+X:\tlperl\site\lib\Tk\install.pm
+X:\tlperl\site\lib\Tk\license.terms
+X:\tlperl\site\lib\Tk\mega.pod
+X:\tlperl\site\lib\Tk\messageBox.pod
+X:\tlperl\site\lib\Tk\openfile.xbm
+X:\tlperl\site\lib\Tk\openfolder.xbm
+X:\tlperl\site\lib\Tk\openfolder.xpm
+X:\tlperl\site\lib\Tk\option.pod
+X:\tlperl\site\lib\Tk\options.pod
+X:\tlperl\site\lib\Tk\overview.pod
+X:\tlperl\site\lib\Tk\pTk.pod
+X:\tlperl\site\lib\Tk\pTk\Lang.h
+X:\tlperl\site\lib\Tk\pTk\Lang.m
+X:\tlperl\site\lib\Tk\pTk\Lang.t
+X:\tlperl\site\lib\Tk\pTk\Lang_f.h
+X:\tlperl\site\lib\Tk\pTk\Tcl-pTk
+X:\tlperl\site\lib\Tk\pTk\Xlib.h
+X:\tlperl\site\lib\Tk\pTk\Xlib.m
+X:\tlperl\site\lib\Tk\pTk\Xlib.t
+X:\tlperl\site\lib\Tk\pTk\Xlib_f.h
+X:\tlperl\site\lib\Tk\pTk\compat\limits.h
+X:\tlperl\site\lib\Tk\pTk\compat\stdlib.h
+X:\tlperl\site\lib\Tk\pTk\compat\unistd.h
+X:\tlperl\site\lib\Tk\pTk\default.h
+X:\tlperl\site\lib\Tk\pTk\img.h
+X:\tlperl\site\lib\Tk\pTk\imgInt.h
+X:\tlperl\site\lib\Tk\pTk\imgInt.m
+X:\tlperl\site\lib\Tk\pTk\imgInt.t
+X:\tlperl\site\lib\Tk\pTk\imgInt_f.h
+X:\tlperl\site\lib\Tk\pTk\ks_names.h
+X:\tlperl\site\lib\Tk\pTk\mkVFunc
+X:\tlperl\site\lib\Tk\pTk\moredefs.h
+X:\tlperl\site\lib\Tk\pTk\port.h
+X:\tlperl\site\lib\Tk\pTk\tcl.h
+X:\tlperl\site\lib\Tk\pTk\tclDecls.h
+X:\tlperl\site\lib\Tk\pTk\tclDecls.m
+X:\tlperl\site\lib\Tk\pTk\tclDecls.t
+X:\tlperl\site\lib\Tk\pTk\tclDecls_f.h
+X:\tlperl\site\lib\Tk\pTk\tclIntDecls.h
+X:\tlperl\site\lib\Tk\pTk\tclIntPlatDecls.h
+X:\tlperl\site\lib\Tk\pTk\tclMath.h
+X:\tlperl\site\lib\Tk\pTk\tclPlatDecls.h
+X:\tlperl\site\lib\Tk\pTk\tclWinInt.h
+X:\tlperl\site\lib\Tk\pTk\tix.h
+X:\tlperl\site\lib\Tk\pTk\tix.m
+X:\tlperl\site\lib\Tk\pTk\tix.t
+X:\tlperl\site\lib\Tk\pTk\tixBitmaps.h
+X:\tlperl\site\lib\Tk\pTk\tixDef.h
+X:\tlperl\site\lib\Tk\pTk\tixForm.h
+X:\tlperl\site\lib\Tk\pTk\tixGrData.h
+X:\tlperl\site\lib\Tk\pTk\tixGrid.h
+X:\tlperl\site\lib\Tk\pTk\tixHList.h
+X:\tlperl\site\lib\Tk\pTk\tixImgXpm.h
+X:\tlperl\site\lib\Tk\pTk\tixImgXpm.m
+X:\tlperl\site\lib\Tk\pTk\tixImgXpm.t
+X:\tlperl\site\lib\Tk\pTk\tixImgXpm_f.h
+X:\tlperl\site\lib\Tk\pTk\tixInt.h
+X:\tlperl\site\lib\Tk\pTk\tixInt.m
+X:\tlperl\site\lib\Tk\pTk\tixInt.t
+X:\tlperl\site\lib\Tk\pTk\tixInt_f.h
+X:\tlperl\site\lib\Tk\pTk\tixPort.h
+X:\tlperl\site\lib\Tk\pTk\tixTList.h
+X:\tlperl\site\lib\Tk\pTk\tixWinInt.h
+X:\tlperl\site\lib\Tk\pTk\tixWinPort.h
+X:\tlperl\site\lib\Tk\pTk\tix_f.h
+X:\tlperl\site\lib\Tk\pTk\tk.h
+X:\tlperl\site\lib\Tk\pTk\tk.m
+X:\tlperl\site\lib\Tk\pTk\tk.t
+X:\tlperl\site\lib\Tk\pTk\tk3d.h
+X:\tlperl\site\lib\Tk\pTk\tkButton.h
+X:\tlperl\site\lib\Tk\pTk\tkCanvas.h
+X:\tlperl\site\lib\Tk\pTk\tkCanvases.h
+X:\tlperl\site\lib\Tk\pTk\tkColor.h
+X:\tlperl\site\lib\Tk\pTk\tkConfig.h
+X:\tlperl\site\lib\Tk\pTk\tkDecls.h
+X:\tlperl\site\lib\Tk\pTk\tkDecls.m
+X:\tlperl\site\lib\Tk\pTk\tkDecls.t
+X:\tlperl\site\lib\Tk\pTk\tkDecls_f.h
+X:\tlperl\site\lib\Tk\pTk\tkEvent.h
+X:\tlperl\site\lib\Tk\pTk\tkEvent.m
+X:\tlperl\site\lib\Tk\pTk\tkEvent.t
+X:\tlperl\site\lib\Tk\pTk\tkEvent_f.h
+X:\tlperl\site\lib\Tk\pTk\tkFileFilter.h
+X:\tlperl\site\lib\Tk\pTk\tkFont.h
+X:\tlperl\site\lib\Tk\pTk\tkImgPhoto.h
+X:\tlperl\site\lib\Tk\pTk\tkImgPhoto.m
+X:\tlperl\site\lib\Tk\pTk\tkImgPhoto.t
+X:\tlperl\site\lib\Tk\pTk\tkImgPhoto_f.h
+X:\tlperl\site\lib\Tk\pTk\tkInitScript.h
+X:\tlperl\site\lib\Tk\pTk\tkInt.h
+X:\tlperl\site\lib\Tk\pTk\tkInt.m
+X:\tlperl\site\lib\Tk\pTk\tkInt.t
+X:\tlperl\site\lib\Tk\pTk\tkIntDecls.h
+X:\tlperl\site\lib\Tk\pTk\tkIntDecls.m
+X:\tlperl\site\lib\Tk\pTk\tkIntDecls.t
+X:\tlperl\site\lib\Tk\pTk\tkIntDecls_f.h
+X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.h
+X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.m
+X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.t
+X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls_f.h
+X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.h
+X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.m
+X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.t
+X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls_f.h
+X:\tlperl\site\lib\Tk\pTk\tkInt_f.h
+X:\tlperl\site\lib\Tk\pTk\tkMenu.h
+X:\tlperl\site\lib\Tk\pTk\tkMenubutton.h
+X:\tlperl\site\lib\Tk\pTk\tkOption.h
+X:\tlperl\site\lib\Tk\pTk\tkOption.m
+X:\tlperl\site\lib\Tk\pTk\tkOption.t
+X:\tlperl\site\lib\Tk\pTk\tkOption_f.h
+X:\tlperl\site\lib\Tk\pTk\tkPlatDecls.h
+X:\tlperl\site\lib\Tk\pTk\tkPlatDecls.m
+X:\tlperl\site\lib\Tk\pTk\tkPlatDecls.t
+X:\tlperl\site\lib\Tk\pTk\tkPlatDecls_f.h
+X:\tlperl\site\lib\Tk\pTk\tkPort.h
+X:\tlperl\site\lib\Tk\pTk\tkScale.h
+X:\tlperl\site\lib\Tk\pTk\tkScrollbar.h
+X:\tlperl\site\lib\Tk\pTk\tkSelect.h
+X:\tlperl\site\lib\Tk\pTk\tkText.h
+X:\tlperl\site\lib\Tk\pTk\tkUndo.h
+X:\tlperl\site\lib\Tk\pTk\tkVMacro.h
+X:\tlperl\site\lib\Tk\pTk\tkWin.h
+X:\tlperl\site\lib\Tk\pTk\tkWinDefault.h
+X:\tlperl\site\lib\Tk\pTk\tkWinInt.h
+X:\tlperl\site\lib\Tk\pTk\tkWinPort.h
+X:\tlperl\site\lib\Tk\pTk\tkXrm.h
+X:\tlperl\site\lib\Tk\pTk\tk_f.h
+X:\tlperl\site\lib\Tk\pTk\xbytes.h
+X:\tlperl\site\lib\Tk\pack.pod
+X:\tlperl\site\lib\Tk\palette.pod
+X:\tlperl\site\lib\Tk\place.pod
+X:\tlperl\site\lib\Tk\prolog.ps
+X:\tlperl\site\lib\Tk\selection.pod
+X:\tlperl\site\lib\Tk\send.pod
+X:\tlperl\site\lib\Tk\srcfile.xpm
+X:\tlperl\site\lib\Tk\textfile.xpm
+X:\tlperl\site\lib\Tk\tixWm.pod
+X:\tlperl\site\lib\Tk\tkGlue.def
+X:\tlperl\site\lib\Tk\tkGlue.h
+X:\tlperl\site\lib\Tk\tkGlue.m
+X:\tlperl\site\lib\Tk\tkGlue.t
+X:\tlperl\site\lib\Tk\tkGlue_f.h
+X:\tlperl\site\lib\Tk\tkvars.pod
+X:\tlperl\site\lib\Tk\tranicon.gif
+X:\tlperl\site\lib\Tk\typemap
+X:\tlperl\site\lib\Tk\vtab.def
+X:\tlperl\site\lib\Tk\widgets.pm
+X:\tlperl\site\lib\Tk\widgets.pod
+X:\tlperl\site\lib\Tk\win.xbm
+X:\tlperl\site\lib\Tk\winfolder.xpm
+X:\tlperl\site\lib\Tk\wintext.xpm
+X:\tlperl\site\lib\auto\Tk\CancelRepeat.al
+X:\tlperl\site\lib\auto\Tk\Canvas\Canvas.bs
+X:\tlperl\site\lib\auto\Tk\Canvas\Canvas.dll
+X:\tlperl\site\lib\auto\Tk\Clipboard\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Clipboard\getSelected.al
+X:\tlperl\site\lib\auto\Tk\Compound\Compound.bs
+X:\tlperl\site\lib\auto\Tk\Compound\Compound.dll
+X:\tlperl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.bs
+X:\tlperl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.dll
+X:\tlperl\site\lib\auto\Tk\EnterFocus.al
+X:\tlperl\site\lib\auto\Tk\Entry\Entry.bs
+X:\tlperl\site\lib\auto\Tk\Entry\Entry.dll
+X:\tlperl\site\lib\auto\Tk\Error.al
+X:\tlperl\site\lib\auto\Tk\Event\Event.bs
+X:\tlperl\site\lib\auto\Tk\Event\Event.dll
+X:\tlperl\site\lib\auto\Tk\FirstMenu.al
+X:\tlperl\site\lib\auto\Tk\FocusChildren.al
+X:\tlperl\site\lib\auto\Tk\FocusOK.al
+X:\tlperl\site\lib\auto\Tk\Frame\AddScrollbars.al
+X:\tlperl\site\lib\auto\Tk\Frame\FindMenu.al
+X:\tlperl\site\lib\auto\Tk\Frame\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Frame\freeze_on_map.al
+X:\tlperl\site\lib\auto\Tk\Frame\label.al
+X:\tlperl\site\lib\auto\Tk\Frame\labelPack.al
+X:\tlperl\site\lib\auto\Tk\Frame\labelVariable.al
+X:\tlperl\site\lib\auto\Tk\Frame\packscrollbars.al
+X:\tlperl\site\lib\auto\Tk\Frame\queuePack.al
+X:\tlperl\site\lib\auto\Tk\Frame\sbset.al
+X:\tlperl\site\lib\auto\Tk\Frame\scrollbars.al
+X:\tlperl\site\lib\auto\Tk\HList\HList.bs
+X:\tlperl\site\lib\auto\Tk\HList\HList.dll
+X:\tlperl\site\lib\auto\Tk\IO\IO.bs
+X:\tlperl\site\lib\auto\Tk\IO\IO.dll
+X:\tlperl\site\lib\auto\Tk\ImageNames.al
+X:\tlperl\site\lib\auto\Tk\ImageTypes.al
+X:\tlperl\site\lib\auto\Tk\JPEG\JPEG.bs
+X:\tlperl\site\lib\auto\Tk\JPEG\JPEG.dll
+X:\tlperl\site\lib\auto\Tk\Listbox\AutoScan.al
+X:\tlperl\site\lib\auto\Tk\Listbox\BeginExtend.al
+X:\tlperl\site\lib\auto\Tk\Listbox\BeginSelect.al
+X:\tlperl\site\lib\auto\Tk\Listbox\BeginToggle.al
+X:\tlperl\site\lib\auto\Tk\Listbox\ButtonRelease_1.al
+X:\tlperl\site\lib\auto\Tk\Listbox\CLEAR.al
+X:\tlperl\site\lib\auto\Tk\Listbox\Cancel.al
+X:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_End.al
+X:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_Home.al
+X:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_backslash.al
+X:\tlperl\site\lib\auto\Tk\Listbox\DELETE.al
+X:\tlperl\site\lib\auto\Tk\Listbox\DataExtend.al
+X:\tlperl\site\lib\auto\Tk\Listbox\EXISTS.al
+X:\tlperl\site\lib\auto\Tk\Listbox\EXTEND.al
+X:\tlperl\site\lib\auto\Tk\Listbox\ExtendUpDown.al
+X:\tlperl\site\lib\auto\Tk\Listbox\FETCH.al
+X:\tlperl\site\lib\auto\Tk\Listbox\FETCHSIZE.al
+X:\tlperl\site\lib\auto\Tk\Listbox\Listbox.bs
+X:\tlperl\site\lib\auto\Tk\Listbox\Listbox.dll
+X:\tlperl\site\lib\auto\Tk\Listbox\Motion.al
+X:\tlperl\site\lib\auto\Tk\Listbox\POP.al
+X:\tlperl\site\lib\auto\Tk\Listbox\PUSH.al
+X:\tlperl\site\lib\auto\Tk\Listbox\SHIFT.al
+X:\tlperl\site\lib\auto\Tk\Listbox\SPLICE.al
+X:\tlperl\site\lib\auto\Tk\Listbox\STORE.al
+X:\tlperl\site\lib\auto\Tk\Listbox\SelectAll.al
+X:\tlperl\site\lib\auto\Tk\Listbox\SetList.al
+X:\tlperl\site\lib\auto\Tk\Listbox\TIEARRAY.al
+X:\tlperl\site\lib\auto\Tk\Listbox\TIESCALAR.al
+X:\tlperl\site\lib\auto\Tk\Listbox\UNSHIFT.al
+X:\tlperl\site\lib\auto\Tk\Listbox\UpDown.al
+X:\tlperl\site\lib\auto\Tk\Listbox\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Listbox\clipboardPaste.al
+X:\tlperl\site\lib\auto\Tk\Listbox\deleteSelected.al
+X:\tlperl\site\lib\auto\Tk\Listbox\getSelected.al
+X:\tlperl\site\lib\auto\Tk\Listbox\xyIndex.al
+X:\tlperl\site\lib\auto\Tk\Menubutton\Menubutton.bs
+X:\tlperl\site\lib\auto\Tk\Menubutton\Menubutton.dll
+X:\tlperl\site\lib\auto\Tk\NBFrame\NBFrame.bs
+X:\tlperl\site\lib\auto\Tk\NBFrame\NBFrame.dll
+X:\tlperl\site\lib\auto\Tk\PNG\PNG.bs
+X:\tlperl\site\lib\auto\Tk\PNG\PNG.dll
+X:\tlperl\site\lib\auto\Tk\Pixmap\Pixmap.bs
+X:\tlperl\site\lib\auto\Tk\Pixmap\Pixmap.dll
+X:\tlperl\site\lib\auto\Tk\Receive.al
+X:\tlperl\site\lib\auto\Tk\RepeatId.al
+X:\tlperl\site\lib\auto\Tk\Scale\Activate.al
+X:\tlperl\site\lib\auto\Tk\Scale\ButtonDown.al
+X:\tlperl\site\lib\auto\Tk\Scale\ButtonUp.al
+X:\tlperl\site\lib\auto\Tk\Scale\ControlPress.al
+X:\tlperl\site\lib\auto\Tk\Scale\Drag.al
+X:\tlperl\site\lib\auto\Tk\Scale\EndDrag.al
+X:\tlperl\site\lib\auto\Tk\Scale\Enter.al
+X:\tlperl\site\lib\auto\Tk\Scale\Increment.al
+X:\tlperl\site\lib\auto\Tk\Scale\Leave.al
+X:\tlperl\site\lib\auto\Tk\Scale\Scale.bs
+X:\tlperl\site\lib\auto\Tk\Scale\Scale.dll
+X:\tlperl\site\lib\auto\Tk\Scale\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Scrollbar\ButtonDown.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\ButtonUp.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Drag.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\EndDrag.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Enter.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Leave.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Motion.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlByPages.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlByUnits.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlToPos.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlTopBottom.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Scrollbar.bs
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Scrollbar.dll
+X:\tlperl\site\lib\auto\Tk\Scrollbar\Select.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\StartDrag.al
+X:\tlperl\site\lib\auto\Tk\Scrollbar\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Selection.al
+X:\tlperl\site\lib\auto\Tk\TList\TList.bs
+X:\tlperl\site\lib\auto\Tk\TList\TList.dll
+X:\tlperl\site\lib\auto\Tk\Table\Create.al
+X:\tlperl\site\lib\auto\Tk\Table\Posn.al
+X:\tlperl\site\lib\auto\Tk\Table\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Table\see.al
+X:\tlperl\site\lib\auto\Tk\Table\totalColumns.al
+X:\tlperl\site\lib\auto\Tk\Table\totalRows.al
+X:\tlperl\site\lib\auto\Tk\TextEdit\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\TextUndo\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Text\Text.bs
+X:\tlperl\site\lib\auto\Tk\Text\Text.dll
+X:\tlperl\site\lib\auto\Tk\Text\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\TixGrid\TixGrid.bs
+X:\tlperl\site\lib\auto\Tk\TixGrid\TixGrid.dll
+X:\tlperl\site\lib\auto\Tk\Tk.bs
+X:\tlperl\site\lib\auto\Tk\Tk.dll
+X:\tlperl\site\lib\auto\Tk\Toplevel\FG_BindIn.al
+X:\tlperl\site\lib\auto\Tk\Toplevel\FG_BindOut.al
+X:\tlperl\site\lib\auto\Tk\Toplevel\FG_Create.al
+X:\tlperl\site\lib\auto\Tk\Toplevel\FG_Destroy.al
+X:\tlperl\site\lib\auto\Tk\Toplevel\FG_In.al
+X:\tlperl\site\lib\auto\Tk\Toplevel\FG_Out.al
+X:\tlperl\site\lib\auto\Tk\Toplevel\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\TraverseToMenu.al
+X:\tlperl\site\lib\auto\Tk\Widget\ASkludge.al
+X:\tlperl\site\lib\auto\Tk\Widget\AltKeyInDialog.al
+X:\tlperl\site\lib\auto\Tk\Widget\AmpWidget.al
+X:\tlperl\site\lib\auto\Tk\Widget\FindAltKeyTarget.al
+X:\tlperl\site\lib\auto\Tk\Widget\MasterMenu.al
+X:\tlperl\site\lib\auto\Tk\Widget\RestoreFocusGrab.al
+X:\tlperl\site\lib\auto\Tk\Widget\SetAmpText.al
+X:\tlperl\site\lib\auto\Tk\Widget\SetFocusGrab.al
+X:\tlperl\site\lib\auto\Tk\Widget\UnderlineAmpersand.al
+X:\tlperl\site\lib\auto\Tk\Widget\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Widget\bindDump.al
+X:\tlperl\site\lib\auto\Tk\Widget\clipboardKeysyms.al
+X:\tlperl\site\lib\auto\Tk\Widget\pathname.al
+X:\tlperl\site\lib\auto\Tk\Wm\AnchorAdjust.al
+X:\tlperl\site\lib\auto\Tk\Wm\FullScreen.al
+X:\tlperl\site\lib\auto\Tk\Wm\Popup.al
+X:\tlperl\site\lib\auto\Tk\Wm\Post.al
+X:\tlperl\site\lib\auto\Tk\Wm\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Wm\iconposition.al
+X:\tlperl\site\lib\auto\Tk\X\X.bs
+X:\tlperl\site\lib\auto\Tk\X\X.dll
+X:\tlperl\site\lib\auto\Tk\X\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\Xlib\Xlib.bs
+X:\tlperl\site\lib\auto\Tk\Xlib\Xlib.dll
+X:\tlperl\site\lib\auto\Tk\autosplit.ix
+X:\tlperl\site\lib\auto\Tk\break.al
+X:\tlperl\site\lib\auto\Tk\focusFollowsMouse.al
+X:\tlperl\site\lib\auto\Tk\focusNext.al
+X:\tlperl\site\lib\auto\Tk\focusPrev.al
+X:\tlperl\site\lib\auto\Tk\getEncoding.al
+X:\tlperl\site\lib\auto\Tk\getNextFocus.al
+X:\tlperl\site\lib\auto\Tk\getPrevFocus.al
+X:\tlperl\site\lib\auto\Tk\interps.al
+X:\tlperl\site\lib\auto\Tk\lsearch.al
+X:\tlperl\site\lib\auto\Tk\pTk\extralibs.ld
+X:\tlperl\site\lib\auto\Tk\tabFocus.al
+X:\tlperl\site\lib\auto\Tk\updateWidgets.al
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/CancelRepeat.al b/Master/tlpkg/tlperl/lib/auto/Tk/CancelRepeat.al
index ca82516a200..06201b22794 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/CancelRepeat.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/CancelRepeat.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 508 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\CancelRepeat.al)"
+#line 509 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\CancelRepeat.al)"
sub CancelRepeat
{
my $w = shift->MainWindow;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
index 234961b5042..0d7e3946ed2 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
index f742d3049cc..894ac2b7e68 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll b/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll
index 150851f0032..025113b5cee 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/EnterFocus.al b/Master/tlpkg/tlperl/lib/auto/Tk/EnterFocus.al
index e5a09f65466..67282277fd1 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/EnterFocus.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/EnterFocus.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 692 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\EnterFocus.al)"
+#line 693 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\EnterFocus.al)"
# focusFollowsMouse
#
# If this procedure is invoked, Tk will enter "focus-follows-mouse"
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
index f72ddda5c9e..7ac58e8cc9f 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Error.al b/Master/tlpkg/tlperl/lib/auto/Tk/Error.al
index 0c1d8218ced..c250b74330a 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Error.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Error.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 496 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\Error.al)"
+#line 497 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\Error.al)"
sub Error
{my $w = shift;
my $error = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
index 83a49d1b818..11653caa06b 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/FirstMenu.al b/Master/tlpkg/tlperl/lib/auto/Tk/FirstMenu.al
index c2cee5e9f4e..6918c367540 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/FirstMenu.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/FirstMenu.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 740 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\FirstMenu.al)"
+#line 741 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\FirstMenu.al)"
# tkFirstMenu --
# This procedure traverses to the first menubutton in the toplevel
# for a given window, and posts that menubutton's menu.
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/FocusChildren.al b/Master/tlpkg/tlperl/lib/auto/Tk/FocusChildren.al
index 1c3c6b83bbd..22515cfa56d 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/FocusChildren.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/FocusChildren.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 525 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\FocusChildren.al)"
+#line 526 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\FocusChildren.al)"
#----------------------------------------------------------------------------
# focus.tcl --
#
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/FocusOK.al b/Master/tlpkg/tlperl/lib/auto/Tk/FocusOK.al
index 32da7b795b3..317fc433ca0 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/FocusOK.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/FocusOK.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 663 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\FocusOK.al)"
+#line 664 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\FocusOK.al)"
sub FocusOK
{
my $w = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll b/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
index 7fb270c0737..d2b877a3ce2 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll b/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
index ecab85232ec..e91692e035a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/ImageNames.al b/Master/tlpkg/tlperl/lib/auto/Tk/ImageNames.al
index 9e9a7a00d29..ff3377e970b 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/ImageNames.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/ImageNames.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 792 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\ImageNames.al)"
+#line 793 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\ImageNames.al)"
sub ImageNames
{
image('names');
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/ImageTypes.al b/Master/tlpkg/tlperl/lib/auto/Tk/ImageTypes.al
index 2ab5a66b0de..3fa576fb73d 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/ImageTypes.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/ImageTypes.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 797 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\ImageTypes.al)"
+#line 798 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\ImageTypes.al)"
sub ImageTypes
{
image('types');
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll b/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
index 11df6ed5ed9..2609e9d8a07 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
index 878d0f22787..b772a77ee97 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
index 27ebe0db489..12c373e9e4d 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll b/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
index b8bb5cdec93..6273c524e04 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll b/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
index 27375e5c852..bb5a96eca97 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
index 0e15a425b57..3426bf4ec74 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Receive.al b/Master/tlpkg/tlperl/lib/auto/Tk/Receive.al
index b4551cb8ee4..0e3bd551465 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Receive.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Receive.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 763 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\Receive.al)"
+#line 764 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\Receive.al)"
# If we have sub Clipboard in Tk then use base qw(Tk::Clipboard ....)
# calls it when it does its eval "require $base"
#sub Clipboard
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/RepeatId.al b/Master/tlpkg/tlperl/lib/auto/Tk/RepeatId.al
index 2f13fee43a1..f53a5313bce 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/RepeatId.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/RepeatId.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 515 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\RepeatId.al)"
+#line 516 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\RepeatId.al)"
sub RepeatId
{
my ($w,$id) = @_;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
index 77d1daf56ee..61d51cd87c1 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
index d773eb14ef0..bd9d7e32d51 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Selection.al b/Master/tlpkg/tlperl/lib/auto/Tk/Selection.al
index d9be0b224bd..693692bdded 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Selection.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Selection.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 753 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\Selection.al)"
+#line 754 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\Selection.al)"
# These wrappers don't use method syntax so need to live
# in same package as raw Tk routines are newXS'ed into.
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll b/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
index ba69473f674..1a8ac13c51d 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
index 29f58d4485f..641762980e8 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll b/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
index d0e4bb44b01..a392409d76e 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
index 39460f86ef5..5aa9aad1893 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TraverseToMenu.al b/Master/tlpkg/tlperl/lib/auto/Tk/TraverseToMenu.al
index 73412e5dc58..9155d440a29 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TraverseToMenu.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/TraverseToMenu.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 722 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\TraverseToMenu.al)"
+#line 723 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\TraverseToMenu.al)"
# tkTraverseToMenu --
# This procedure implements keyboard traversal of menus. Given an
# ASCII character "char", it looks for a menubutton with that character
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll b/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
index 2ff9e0b957f..e46017125db 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
index d57993e0199..c63eaceeb48 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/break.al b/Master/tlpkg/tlperl/lib/auto/Tk/break.al
index 4aa6c220d97..050c78a07a6 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/break.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/break.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 778 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\break.al)"
+#line 779 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\break.al)"
sub break
{
die "_TK_BREAK_\n";
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/focusFollowsMouse.al b/Master/tlpkg/tlperl/lib/auto/Tk/focusFollowsMouse.al
index 48f2d2552cc..445df971f33 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/focusFollowsMouse.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/focusFollowsMouse.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 716 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\focusFollowsMouse.al)"
+#line 717 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\focusFollowsMouse.al)"
sub focusFollowsMouse
{
my $widget = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/focusNext.al b/Master/tlpkg/tlperl/lib/auto/Tk/focusNext.al
index a8eeb5fc55f..b9b15137764 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/focusNext.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/focusNext.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 552 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\focusNext.al)"
+#line 553 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\focusNext.al)"
sub focusNext
{
my $w = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/focusPrev.al b/Master/tlpkg/tlperl/lib/auto/Tk/focusPrev.al
index effc8f75110..43e4de75d4b 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/focusPrev.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/focusPrev.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 597 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\focusPrev.al)"
+#line 598 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\focusPrev.al)"
# focusPrev --
# This procedure is invoked to move the input focus to the previous
# window before a given one. "Previous" is defined in terms of the
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/getEncoding.al b/Master/tlpkg/tlperl/lib/auto/Tk/getEncoding.al
index 1ac20ba8d7d..f0478a28cde 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/getEncoding.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/getEncoding.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 820 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\getEncoding.al)"
+#line 821 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\getEncoding.al)"
sub getEncoding
{
my ($class,$name) = @_;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/getNextFocus.al b/Master/tlpkg/tlperl/lib/auto/Tk/getNextFocus.al
index 456c393b3c2..7ae25f889e9 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/getNextFocus.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/getNextFocus.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 562 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\getNextFocus.al)"
+#line 563 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\getNextFocus.al)"
sub getNextFocus
{
my $w = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/getPrevFocus.al b/Master/tlpkg/tlperl/lib/auto/Tk/getPrevFocus.al
index 85912416379..ef90d8a7f95 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/getPrevFocus.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/getPrevFocus.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 617 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\getPrevFocus.al)"
+#line 618 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\getPrevFocus.al)"
sub getPrevFocus
{
my $w = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/interps.al b/Master/tlpkg/tlperl/lib/auto/Tk/interps.al
index 507c66037fd..3b014af8695 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/interps.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/interps.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 802 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\interps.al)"
+#line 803 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\interps.al)"
sub interps
{
my $w = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/lsearch.al b/Master/tlpkg/tlperl/lib/auto/Tk/lsearch.al
index 61c82143f7b..a4342823fed 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/lsearch.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/lsearch.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 808 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\lsearch.al)"
+#line 809 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\lsearch.al)"
sub lsearch
{my $ar = shift;
my $x = shift;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/pTk/extralibs.ld b/Master/tlpkg/tlperl/lib/auto/Tk/pTk/extralibs.ld
index d58b659790a..bd6166e79a4 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/pTk/extralibs.ld
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/pTk/extralibs.ld
@@ -1 +1 @@
-X:\mingw32\lib\libimm32.a X:\mingw32\lib\libcomctl32.a X:\mingw32\lib\libcomdlg32.a X:\mingw32\lib\libgdi32.a X:\mingw32\lib\libmoldname.a X:\mingw32\lib\libkernel32.a X:\mingw32\lib\libuser32.a X:\mingw32\lib\libgdi32.a X:\mingw32\lib\libwinspool.a X:\mingw32\lib\libcomdlg32.a X:\mingw32\lib\libadvapi32.a X:\mingw32\lib\libshell32.a X:\mingw32\lib\libole32.a X:\mingw32\lib\liboleaut32.a X:\mingw32\lib\libnetapi32.a X:\mingw32\lib\libuuid.a X:\mingw32\lib\libws2_32.a X:\mingw32\lib\libmpr.a X:\mingw32\lib\libwinmm.a X:\mingw32\lib\libversion.a X:\mingw32\lib\libodbc32.a X:\mingw32\lib\libodbccp32.a X:\mingw32\lib\libcomctl32.a
+x:\mingw\lib\libimm32.a x:\mingw\lib\libcomctl32.a x:\mingw\lib\libcomdlg32.a x:\mingw\lib\libgdi32.a x:\mingw\lib\libmoldname.a x:\mingw\lib\libkernel32.a x:\mingw\lib\libuser32.a x:\mingw\lib\libgdi32.a x:\mingw\lib\libwinspool.a x:\mingw\lib\libcomdlg32.a x:\mingw\lib\libadvapi32.a x:\mingw\lib\libshell32.a x:\mingw\lib\libole32.a x:\mingw\lib\liboleaut32.a x:\mingw\lib\libnetapi32.a x:\mingw\lib\libuuid.a x:\mingw\lib\libws2_32.a x:\mingw\lib\libmpr.a x:\mingw\lib\libwinmm.a x:\mingw\lib\libversion.a x:\mingw\lib\libodbc32.a x:\mingw\lib\libodbccp32.a x:\mingw\lib\libcomctl32.a
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/tabFocus.al b/Master/tlpkg/tlperl/lib/auto/Tk/tabFocus.al
index c01d6940cf4..31cb7ea98e7 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/tabFocus.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/tabFocus.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 711 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\tabFocus.al)"
+#line 712 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\tabFocus.al)"
sub tabFocus
{
shift->Tk::focus;
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/updateWidgets.al b/Master/tlpkg/tlperl/lib/auto/Tk/updateWidgets.al
index 980a6bbc632..5412dd9cdcb 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/updateWidgets.al
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/updateWidgets.al
@@ -3,7 +3,7 @@
# See AutoSplit.pm.
package Tk;
-#line 783 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\updateWidgets.al)"
+#line 784 "blib\lib\Tk.pm (autosplit into blib\lib\auto\Tk\updateWidgets.al)"
sub updateWidgets
{
my ($w) = @_;
diff --git a/Master/tlpkg/tlperl/lib/auto/URI/.packlist b/Master/tlpkg/tlperl/lib/auto/URI/.packlist
index 925fae2e8c1..ada35e3bf17 100644
--- a/Master/tlpkg/tlperl/lib/auto/URI/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/URI/.packlist
@@ -1,52 +1,52 @@
-X:\perlnew\site\lib\URI.pm
-X:\perlnew\site\lib\URI\Escape.pm
-X:\perlnew\site\lib\URI\Heuristic.pm
-X:\perlnew\site\lib\URI\IRI.pm
-X:\perlnew\site\lib\URI\QueryParam.pm
-X:\perlnew\site\lib\URI\Split.pm
-X:\perlnew\site\lib\URI\URL.pm
-X:\perlnew\site\lib\URI\WithBase.pm
-X:\perlnew\site\lib\URI\_foreign.pm
-X:\perlnew\site\lib\URI\_generic.pm
-X:\perlnew\site\lib\URI\_idna.pm
-X:\perlnew\site\lib\URI\_ldap.pm
-X:\perlnew\site\lib\URI\_login.pm
-X:\perlnew\site\lib\URI\_punycode.pm
-X:\perlnew\site\lib\URI\_query.pm
-X:\perlnew\site\lib\URI\_segment.pm
-X:\perlnew\site\lib\URI\_server.pm
-X:\perlnew\site\lib\URI\_userpass.pm
-X:\perlnew\site\lib\URI\data.pm
-X:\perlnew\site\lib\URI\file.pm
-X:\perlnew\site\lib\URI\file\Base.pm
-X:\perlnew\site\lib\URI\file\FAT.pm
-X:\perlnew\site\lib\URI\file\Mac.pm
-X:\perlnew\site\lib\URI\file\OS2.pm
-X:\perlnew\site\lib\URI\file\QNX.pm
-X:\perlnew\site\lib\URI\file\Unix.pm
-X:\perlnew\site\lib\URI\file\Win32.pm
-X:\perlnew\site\lib\URI\ftp.pm
-X:\perlnew\site\lib\URI\gopher.pm
-X:\perlnew\site\lib\URI\http.pm
-X:\perlnew\site\lib\URI\https.pm
-X:\perlnew\site\lib\URI\ldap.pm
-X:\perlnew\site\lib\URI\ldapi.pm
-X:\perlnew\site\lib\URI\ldaps.pm
-X:\perlnew\site\lib\URI\mailto.pm
-X:\perlnew\site\lib\URI\mms.pm
-X:\perlnew\site\lib\URI\news.pm
-X:\perlnew\site\lib\URI\nntp.pm
-X:\perlnew\site\lib\URI\pop.pm
-X:\perlnew\site\lib\URI\rlogin.pm
-X:\perlnew\site\lib\URI\rsync.pm
-X:\perlnew\site\lib\URI\rtsp.pm
-X:\perlnew\site\lib\URI\rtspu.pm
-X:\perlnew\site\lib\URI\sip.pm
-X:\perlnew\site\lib\URI\sips.pm
-X:\perlnew\site\lib\URI\snews.pm
-X:\perlnew\site\lib\URI\ssh.pm
-X:\perlnew\site\lib\URI\telnet.pm
-X:\perlnew\site\lib\URI\tn3270.pm
-X:\perlnew\site\lib\URI\urn.pm
-X:\perlnew\site\lib\URI\urn\isbn.pm
-X:\perlnew\site\lib\URI\urn\oid.pm
+X:\tlperl\site\lib\URI.pm
+X:\tlperl\site\lib\URI\Escape.pm
+X:\tlperl\site\lib\URI\Heuristic.pm
+X:\tlperl\site\lib\URI\IRI.pm
+X:\tlperl\site\lib\URI\QueryParam.pm
+X:\tlperl\site\lib\URI\Split.pm
+X:\tlperl\site\lib\URI\URL.pm
+X:\tlperl\site\lib\URI\WithBase.pm
+X:\tlperl\site\lib\URI\_foreign.pm
+X:\tlperl\site\lib\URI\_generic.pm
+X:\tlperl\site\lib\URI\_idna.pm
+X:\tlperl\site\lib\URI\_ldap.pm
+X:\tlperl\site\lib\URI\_login.pm
+X:\tlperl\site\lib\URI\_punycode.pm
+X:\tlperl\site\lib\URI\_query.pm
+X:\tlperl\site\lib\URI\_segment.pm
+X:\tlperl\site\lib\URI\_server.pm
+X:\tlperl\site\lib\URI\_userpass.pm
+X:\tlperl\site\lib\URI\data.pm
+X:\tlperl\site\lib\URI\file.pm
+X:\tlperl\site\lib\URI\file\Base.pm
+X:\tlperl\site\lib\URI\file\FAT.pm
+X:\tlperl\site\lib\URI\file\Mac.pm
+X:\tlperl\site\lib\URI\file\OS2.pm
+X:\tlperl\site\lib\URI\file\QNX.pm
+X:\tlperl\site\lib\URI\file\Unix.pm
+X:\tlperl\site\lib\URI\file\Win32.pm
+X:\tlperl\site\lib\URI\ftp.pm
+X:\tlperl\site\lib\URI\gopher.pm
+X:\tlperl\site\lib\URI\http.pm
+X:\tlperl\site\lib\URI\https.pm
+X:\tlperl\site\lib\URI\ldap.pm
+X:\tlperl\site\lib\URI\ldapi.pm
+X:\tlperl\site\lib\URI\ldaps.pm
+X:\tlperl\site\lib\URI\mailto.pm
+X:\tlperl\site\lib\URI\mms.pm
+X:\tlperl\site\lib\URI\news.pm
+X:\tlperl\site\lib\URI\nntp.pm
+X:\tlperl\site\lib\URI\pop.pm
+X:\tlperl\site\lib\URI\rlogin.pm
+X:\tlperl\site\lib\URI\rsync.pm
+X:\tlperl\site\lib\URI\rtsp.pm
+X:\tlperl\site\lib\URI\rtspu.pm
+X:\tlperl\site\lib\URI\sip.pm
+X:\tlperl\site\lib\URI\sips.pm
+X:\tlperl\site\lib\URI\snews.pm
+X:\tlperl\site\lib\URI\ssh.pm
+X:\tlperl\site\lib\URI\telnet.pm
+X:\tlperl\site\lib\URI\tn3270.pm
+X:\tlperl\site\lib\URI\urn.pm
+X:\tlperl\site\lib\URI\urn\isbn.pm
+X:\tlperl\site\lib\URI\urn\oid.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
new file mode 100755
index 00000000000..a32d0e2ec44
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
index b8fb454452c..372f145ed4b 100755
--- a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist b/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
new file mode 100644
index 00000000000..6ee3dfca46f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
@@ -0,0 +1,2 @@
+X:\tlperl\site\lib\WWW\RobotRules.pm
+X:\tlperl\site\lib\WWW\RobotRules\AnyDBM_File.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
index 0283a696d1e..6e1d5102118 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
@@ -1,9 +1,9 @@
-X:\perlnew\site\lib\Win32\API.pm
-X:\perlnew\site\lib\Win32\API\Callback.pm
-X:\perlnew\site\lib\Win32\API\Struct.pm
-X:\perlnew\site\lib\Win32\API\Test.pm
-X:\perlnew\site\lib\Win32\API\Type.pm
-X:\perlnew\site\lib\auto\Win32\API\API.bs
-X:\perlnew\site\lib\auto\Win32\API\API.dll
-X:\perlnew\site\lib\auto\Win32\API\Callback\Callback.bs
-X:\perlnew\site\lib\auto\Win32\API\Callback\Callback.dll
+X:\tlperl\site\lib\Win32\API.pm
+X:\tlperl\site\lib\Win32\API\Callback.pm
+X:\tlperl\site\lib\Win32\API\Struct.pm
+X:\tlperl\site\lib\Win32\API\Test.pm
+X:\tlperl\site\lib\Win32\API\Type.pm
+X:\tlperl\site\lib\auto\Win32\API\API.bs
+X:\tlperl\site\lib\auto\Win32\API\API.dll
+X:\tlperl\site\lib\auto\Win32\API\Callback\Callback.bs
+X:\tlperl\site\lib\auto\Win32\API\Callback\Callback.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll b/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
index b755fb402b1..436c0e57ae7 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll b/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll
index 28143b6348d..3bb6ec525df 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist
new file mode 100644
index 00000000000..99579ee5a57
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist
@@ -0,0 +1,4 @@
+X:\tlperl\site\lib\Win32\Process\Info.pm
+X:\tlperl\site\lib\Win32\Process\Info\NT.pm
+X:\tlperl\site\lib\Win32\Process\Info\PT.pm
+X:\tlperl\site\lib\Win32\Process\Info\WMI.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
index 20661b48cb6..c3cbac5d866 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
@@ -1,3 +1,3 @@
-X:\perlnew\site\lib\Win32\Shortcut.pm
-X:\perlnew\site\lib\auto\Win32\Shortcut\Shortcut.bs
-X:\perlnew\site\lib\auto\Win32\Shortcut\Shortcut.dll
+X:\tlperl\site\lib\Win32\Shortcut.pm
+X:\tlperl\site\lib\auto\Win32\Shortcut\Shortcut.bs
+X:\tlperl\site\lib\auto\Win32\Shortcut\Shortcut.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
index 8107bfdff5f..2898e7bb5ef 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
index 720c2930230..17d31514e12 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
@@ -1,2 +1,2 @@
-X:\perlnew\site\lib\Tie\Registry.pm
-X:\perlnew\site\lib\Win32\TieRegistry.pm
+X:\tlperl\site\lib\Tie\Registry.pm
+X:\tlperl\site\lib\Win32\TieRegistry.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
index 45e45a8753e..bfb50ac278b 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
index ea376422272..a0190cc9e2e 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
index aaffac8aea5..eea74b27a1d 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
@@ -1,4 +1,4 @@
-X:\perlnew\site\lib\Win32API\Registry.pm
-X:\perlnew\site\lib\Win32API\Registry\cRegistry.pc
-X:\perlnew\site\lib\auto\Win32API\Registry\Registry.bs
-X:\perlnew\site\lib\auto\Win32API\Registry\Registry.dll
+X:\tlperl\site\lib\Win32API\Registry.pm
+X:\tlperl\site\lib\Win32API\Registry\cRegistry.pc
+X:\tlperl\site\lib\auto\Win32API\Registry\Registry.bs
+X:\tlperl\site\lib\auto\Win32API\Registry\Registry.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
index ed8da26c1a4..d3db4fa452d 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
index db7eaa33d5a..6a950777a6d 100755
--- a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
+++ b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/mro/mro.dll b/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
index 3245317862c..9ec2a06e482 100755
--- a/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
+++ b/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/re/re.dll b/Master/tlpkg/tlperl/lib/auto/re/re.dll
index 73891369038..b79ffcf4203 100755
--- a/Master/tlpkg/tlperl/lib/auto/re/re.dll
+++ b/Master/tlpkg/tlperl/lib/auto/re/re.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
index cf4bf7303f6..c2e0015fefd 100755
--- a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
+++ b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/threads.dll b/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
index cb643ef2dca..ee378857e3d 100755
--- a/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
+++ b/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/autodie.pm b/Master/tlpkg/tlperl/lib/autodie.pm
index 8e8e7094c7c..25799f02854 100644
--- a/Master/tlpkg/tlperl/lib/autodie.pm
+++ b/Master/tlpkg/tlperl/lib/autodie.pm
@@ -8,7 +8,7 @@ our @ISA = qw(Fatal);
our $VERSION;
BEGIN {
- $VERSION = '2.06_01';
+ $VERSION = '2.1001';
}
use constant ERROR_WRONG_FATAL => q{
@@ -264,7 +264,7 @@ C<system> and C<exec> with:
=head2 flock
It is not considered an error for C<flock> to return false if it fails
-to an C<EWOULDBLOCK> (or equivalent) condition. This means one can
+due to an C<EWOULDBLOCK> (or equivalent) condition. This means one can
still use the common convention of testing the return value of
C<flock> when called with the C<LOCK_NB> option:
diff --git a/Master/tlpkg/tlperl/lib/autodie/exception.pm b/Master/tlpkg/tlperl/lib/autodie/exception.pm
index 8646099c4c8..4dd7570ce82 100644
--- a/Master/tlpkg/tlperl/lib/autodie/exception.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/exception.pm
@@ -14,7 +14,7 @@ use overload
use if ($] >= 5.010), overload => '~~' => "matches";
-our $VERSION = '2.06_01';
+our $VERSION = '2.1001';
my $PACKAGE = __PACKAGE__; # Useful to have a scalar for hash keys.
diff --git a/Master/tlpkg/tlperl/lib/autodie/exception/system.pm b/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
index 07cd1c9a038..53e7f95229c 100644
--- a/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
@@ -5,7 +5,7 @@ use warnings;
use base 'autodie::exception';
use Carp qw(croak);
-our $VERSION = '2.06_01';
+our $VERSION = '2.1001';
my $PACKAGE = __PACKAGE__;
diff --git a/Master/tlpkg/tlperl/lib/autodie/hints.pm b/Master/tlpkg/tlperl/lib/autodie/hints.pm
index e7be03a047a..2c129ec8879 100644
--- a/Master/tlpkg/tlperl/lib/autodie/hints.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/hints.pm
@@ -5,7 +5,7 @@ use warnings;
use constant PERL58 => ( $] < 5.009 );
-our $VERSION = '2.06_01';
+our $VERSION = '2.1001';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/base.pm b/Master/tlpkg/tlperl/lib/base.pm
index 2f6a19e4b9a..8c60b614fab 100644
--- a/Master/tlpkg/tlperl/lib/base.pm
+++ b/Master/tlpkg/tlperl/lib/base.pm
@@ -2,7 +2,7 @@ package base;
use strict 'vars';
use vars qw($VERSION);
-$VERSION = '2.15';
+$VERSION = '2.16';
$VERSION = eval $VERSION;
# constant.pm is slow
@@ -243,7 +243,7 @@ found in your path.
Attempting to inherit from yourself generates a warning.
- use Foo;
+ package Foo;
use base 'Foo';
=back
diff --git a/Master/tlpkg/tlperl/lib/bigfloat.pl b/Master/tlpkg/tlperl/lib/bigfloat.pl
index dd0bc05af2f..82d0f5c4df6 100644
--- a/Master/tlpkg/tlperl/lib/bigfloat.pl
+++ b/Master/tlpkg/tlperl/lib/bigfloat.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
package bigfloat;
require "bigint.pl";
#
@@ -79,7 +81,7 @@ sub norm { #(mantissa, exponent) return fnum_str
# negation
sub main'fneg { #(fnum_str) return fnum_str
- local($_) = &'fnorm($_[$[]);
+ local($_) = &'fnorm($_[0]);
vec($_,0,8) ^= ord('+') ^ ord('-') unless $_ eq '+0E+0'; # flip sign
if ( ord("\t") == 9 ) { # ascii
s/^H/N/;
@@ -92,14 +94,14 @@ sub main'fneg { #(fnum_str) return fnum_str
# absolute value
sub main'fabs { #(fnum_str) return fnum_str
- local($_) = &'fnorm($_[$[]);
+ local($_) = &'fnorm($_[0]);
s/^-/+/; # mash sign
$_;
}
# multiplication
sub main'fmul { #(fnum_str, fnum_str) return fnum_str
- local($x,$y) = (&'fnorm($_[$[]),&'fnorm($_[$[+1]));
+ local($x,$y) = (&'fnorm($_[0]),&'fnorm($_[1]));
if ($x eq 'NaN' || $y eq 'NaN') {
'NaN';
} else {
@@ -111,7 +113,7 @@ sub main'fmul { #(fnum_str, fnum_str) return fnum_str
# addition
sub main'fadd { #(fnum_str, fnum_str) return fnum_str
- local($x,$y) = (&'fnorm($_[$[]),&'fnorm($_[$[+1]));
+ local($x,$y) = (&'fnorm($_[0]),&'fnorm($_[1]));
if ($x eq 'NaN' || $y eq 'NaN') {
'NaN';
} else {
@@ -124,7 +126,7 @@ sub main'fadd { #(fnum_str, fnum_str) return fnum_str
# subtraction
sub main'fsub { #(fnum_str, fnum_str) return fnum_str
- &'fadd($_[$[],&'fneg($_[$[+1]));
+ &'fadd($_[0],&'fneg($_[1]));
}
# division
@@ -132,7 +134,7 @@ sub main'fsub { #(fnum_str, fnum_str) return fnum_str
# result has at most max(scale, length(dividend), length(divisor)) digits
sub main'fdiv #(fnum_str, fnum_str[,scale]) return fnum_str
{
- local($x,$y,$scale) = (&'fnorm($_[$[]),&'fnorm($_[$[+1]),$_[$[+2]);
+ local($x,$y,$scale) = (&'fnorm($_[0]),&'fnorm($_[1]),$_[2]);
if ($x eq 'NaN' || $y eq 'NaN' || $y eq '+0E+0') {
'NaN';
} else {
@@ -159,13 +161,13 @@ sub round { #(int_str, int_str, int_str) return int_str
if ( $cmp < 0 ||
($cmp == 0 &&
( $rnd_mode eq 'zero' ||
- ($rnd_mode eq '-inf' && (substr($q,$[,1) eq '+')) ||
- ($rnd_mode eq '+inf' && (substr($q,$[,1) eq '-')) ||
+ ($rnd_mode eq '-inf' && (substr($q,0,1) eq '+')) ||
+ ($rnd_mode eq '+inf' && (substr($q,0,1) eq '-')) ||
($rnd_mode eq 'even' && $q =~ /[24680]$/) ||
($rnd_mode eq 'odd' && $q =~ /[13579]$/) )) ) {
$q; # round down
} else {
- &'badd($q, ((substr($q,$[,1) eq '-') ? '-1' : '+1'));
+ &'badd($q, ((substr($q,0,1) eq '-') ? '-1' : '+1'));
# round up
}
}
@@ -173,7 +175,7 @@ sub round { #(int_str, int_str, int_str) return int_str
# round the mantissa of $x to $scale digits
sub main'fround { #(fnum_str, scale) return fnum_str
- local($x,$scale) = (&'fnorm($_[$[]),$_[$[+1]);
+ local($x,$scale) = (&'fnorm($_[0]),$_[1]);
if ($x eq 'NaN' || $scale <= 0) {
$x;
} else {
@@ -181,8 +183,8 @@ sub main'fround { #(fnum_str, scale) return fnum_str
if (length($xm)-1 <= $scale) {
$x;
} else {
- &norm(&round(substr($xm,$[,$scale+1),
- "+0".substr($xm,$[+$scale+1,1),"+10"),
+ &norm(&round(substr($xm,0,$scale+1),
+ "+0".substr($xm,$scale+1,1),"+10"),
$xe+length($xm)-$scale-1);
}
}
@@ -190,7 +192,7 @@ sub main'fround { #(fnum_str, scale) return fnum_str
# round $x at the 10 to the $scale digit place
sub main'ffround { #(fnum_str, scale) return fnum_str
- local($x,$scale) = (&'fnorm($_[$[]),$_[$[+1]);
+ local($x,$scale) = (&'fnorm($_[0]),$_[1]);
if ($x eq 'NaN') {
'NaN';
} else {
@@ -206,11 +208,11 @@ sub main'ffround { #(fnum_str, scale) return fnum_str
# we'll pass a non-normalized "-0" to &round when rounding
# -0.006 (for example), purely so that &round won't lose
# the sign.
- &norm(&round(substr($xm,$[,1).'0',
- "+0".substr($xm,$[+1,1),"+10"), $scale);
+ &norm(&round(substr($xm,0,1).'0',
+ "+0".substr($xm,1,1),"+10"), $scale);
} else {
- &norm(&round(substr($xm,$[,$xe),
- "+0".substr($xm,$[+$xe,1),"+10"), $scale);
+ &norm(&round(substr($xm,0,$xe),
+ "+0".substr($xm,$xe,1),"+10"), $scale);
}
}
}
@@ -220,14 +222,14 @@ sub main'ffround { #(fnum_str, scale) return fnum_str
# returns undef if either or both input value are not numbers
sub main'fcmp #(fnum_str, fnum_str) return cond_code
{
- local($x, $y) = (&'fnorm($_[$[]),&'fnorm($_[$[+1]));
+ local($x, $y) = (&'fnorm($_[0]),&'fnorm($_[1]));
if ($x eq "NaN" || $y eq "NaN") {
undef;
} else {
ord($y) <=> ord($x)
||
( local($xm,$xe,$ym,$ye) = split('E', $x."E$y"),
- (($xe <=> $ye) * (substr($x,$[,1).'1')
+ (($xe <=> $ye) * (substr($x,0,1).'1')
|| &bigint'cmp($xm,$ym))
);
}
@@ -235,7 +237,7 @@ sub main'fcmp #(fnum_str, fnum_str) return cond_code
# square root by Newtons method.
sub main'fsqrt { #(fnum_str[, scale]) return fnum_str
- local($x, $scale) = (&'fnorm($_[$[]), $_[$[+1]);
+ local($x, $scale) = (&'fnorm($_[0]), $_[1]);
if ($x eq 'NaN' || $x =~ /^-/) {
'NaN';
} elsif ($x eq '+0E+0') {
diff --git a/Master/tlpkg/tlperl/lib/bigint.pl b/Master/tlpkg/tlperl/lib/bigint.pl
index d28f0e27a0b..6de1c53fcfa 100644
--- a/Master/tlpkg/tlperl/lib/bigint.pl
+++ b/Master/tlpkg/tlperl/lib/bigint.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
package bigint;
#
# This library is no longer being maintained, and is included for backward
@@ -61,7 +63,7 @@ sub main'bnorm { #(num_str) return num_str
local($_) = @_;
s/\s+//g; # strip white space
if (s/^([+-]?)0*(\d+)$/$1$2/) { # test if number
- substr($_,$[,0) = '+' unless $1; # Add missing sign
+ substr($_,0,0) = '+' unless $1; # Add missing sign
s/^-0/+0/;
$_;
} else {
@@ -73,8 +75,8 @@ sub main'bnorm { #(num_str) return num_str
# Assumes normalized value as input.
sub internal { #(num_str) return int_num_array
local($d) = @_;
- ($is,$il) = (substr($d,$[,1),length($d)-2);
- substr($d,$[,1) = '';
+ ($is,$il) = (substr($d,0,1),length($d)-2);
+ substr($d,0,1) = '';
($is, reverse(unpack("a" . ($il%5+1) . ("a5" x ($il/5)), $d)));
}
@@ -107,7 +109,7 @@ sub abs { # post-normalized abs for internal use
# Compares 2 values. Returns one of undef, <0, =0, >0. (suitable for sort)
sub main'bcmp { #(num_str, num_str) return cond_code
- local($x,$y) = (&'bnorm($_[$[]),&'bnorm($_[$[+1]));
+ local($x,$y) = (&'bnorm($_[0]),&'bnorm($_[1]));
if ($x eq 'NaN') {
undef;
} elsif ($y eq 'NaN') {
@@ -139,7 +141,7 @@ sub cmp { # post-normalized compare for internal use
}
sub main'badd { #(num_str, num_str) return num_str
- local(*x, *y); ($x, $y) = (&'bnorm($_[$[]),&'bnorm($_[$[+1]));
+ local(*x, *y); ($x, $y) = (&'bnorm($_[0]),&'bnorm($_[1]));
if ($x eq 'NaN') {
'NaN';
} elsif ($y eq 'NaN') {
@@ -162,12 +164,12 @@ sub main'badd { #(num_str, num_str) return num_str
}
sub main'bsub { #(num_str, num_str) return num_str
- &'badd($_[$[],&'bneg($_[$[+1]));
+ &'badd($_[0],&'bneg($_[1]));
}
-# GCD -- Euclids algorithm Knuth Vol 2 pg 296
+# GCD -- Euclid's algorithm Knuth Vol 2 pg 296
sub main'bgcd { #(num_str, num_str) return num_str
- local($x,$y) = (&'bnorm($_[$[]),&'bnorm($_[$[+1]));
+ local($x,$y) = (&'bnorm($_[0]),&'bnorm($_[1]));
if ($x eq 'NaN' || $y eq 'NaN') {
'NaN';
} else {
@@ -206,7 +208,7 @@ sub sub { #(int_num_array, int_num_array) return int_num_array
# multiply two numbers -- stolen from Knuth Vol 2 pg 233
sub main'bmul { #(num_str, num_str) return num_str
- local(*x, *y); ($x, $y) = (&'bnorm($_[$[]), &'bnorm($_[$[+1]));
+ local(*x, *y); ($x, $y) = (&'bnorm($_[0]), &'bnorm($_[1]));
if ($x eq 'NaN') {
'NaN';
} elsif ($y eq 'NaN') {
@@ -217,7 +219,7 @@ sub main'bmul { #(num_str, num_str) return num_str
local($signr) = (shift @x ne shift @y) ? '-' : '+';
@prod = ();
for $x (@x) {
- ($car, $cty) = (0, $[);
+ ($car, $cty) = (0, 0);
for $y (@y) {
$prod = $x * $y + $prod[$cty] + $car;
if ($use_mult) {
@@ -238,16 +240,16 @@ sub main'bmul { #(num_str, num_str) return num_str
# modulus
sub main'bmod { #(num_str, num_str) return num_str
- (&'bdiv(@_))[$[+1];
+ (&'bdiv(@_))[1];
}
sub main'bdiv { #(dividend: num_str, divisor: num_str) return num_str
- local (*x, *y); ($x, $y) = (&'bnorm($_[$[]), &'bnorm($_[$[+1]));
+ local (*x, *y); ($x, $y) = (&'bnorm($_[0]), &'bnorm($_[1]));
return wantarray ? ('NaN','NaN') : 'NaN'
if ($x eq 'NaN' || $y eq 'NaN' || $y eq '+0');
return wantarray ? ('+0',$x) : '+0' if (&cmp(&abs($x),&abs($y)) < 0);
@x = &internal($x); @y = &internal($y);
- $srem = $y[$[];
+ $srem = $y[0];
$sr = (shift @x ne shift @y) ? '-' : '+';
$car = $bar = $prd = 0;
if (($dd = int(1e5/($y[$#y]+1))) != 1) {
@@ -281,7 +283,7 @@ sub main'bdiv { #(dividend: num_str, divisor: num_str) return num_str
--$q while ($v2*$q > ($u0*1e5+$u1-$q*$v1)*1e5+$u2);
if ($q) {
($car, $bar) = (0,0);
- for ($y = $[, $x = $#x-$#y+$[-1; $y <= $#y; ++$y,++$x) {
+ for ($y = 0, $x = $#x-$#y-1; $y <= $#y; ++$y,++$x) {
$prd = $q * $y[$y] + $car;
if ($use_mult) {
$prd -= ($car = int($prd * 1e-5)) * 1e5;
@@ -293,7 +295,7 @@ sub main'bdiv { #(dividend: num_str, divisor: num_str) return num_str
}
if ($x[$#x] < $car + $bar) {
$car = 0; --$q;
- for ($y = $[, $x = $#x-$#y+$[-1; $y <= $#y; ++$y,++$x) {
+ for ($y = 0, $x = $#x-$#y-1; $y <= $#y; ++$y,++$x) {
$x[$x] -= 1e5
if ($car = (($x[$x] += $y[$y] + $car) > 1e5));
}
diff --git a/Master/tlpkg/tlperl/lib/bigint.pm b/Master/tlpkg/tlperl/lib/bigint.pm
index e143af61d0a..4852590e8f5 100644
--- a/Master/tlpkg/tlperl/lib/bigint.pm
+++ b/Master/tlpkg/tlperl/lib/bigint.pm
@@ -1,7 +1,7 @@
package bigint;
use 5.006;
-$VERSION = '0.23';
+$VERSION = '0.27';
use Exporter;
@ISA = qw( Exporter );
@EXPORT_OK = qw( PI e bpi bexp );
@@ -180,19 +180,19 @@ sub import
# this causes a different low lib to take care...
$lib_kind = $1; $lib_kind = 'lib' if $lib_kind eq 'l';
$lib = $_[$i+1] || '';
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(a|accuracy)$/)
{
$a = $_[$i+1];
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(p|precision)$/)
{
$p = $_[$i+1];
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(v|version)$/)
@@ -373,7 +373,7 @@ than or equal to zero. See Math::BigInt's bround() function for details.
perl -Mbigint=a,2 -le 'print 12345+1'
-Note that setting precision and accurary at the same time is not possible.
+Note that setting precision and accuracy at the same time is not possible.
=item p or precision
@@ -387,7 +387,7 @@ See Math::BigInt's bfround() function for details.
perl -Mbignum=p,5 -le 'print 123456789+123'
-Note that setting precision and accurary at the same time is not possible.
+Note that setting precision and accuracy at the same time is not possible.
=item t or trace
@@ -447,7 +447,7 @@ Math::BigInt::Bar, and when this also fails, revert to Math::BigInt::Calc:
Using C<lib> warns if none of the specified libraries can be found and
L<Math::BigInt> did fall back to one of the default libraries.
-To supress this warning, use C<try> instead:
+To suppress this warning, use C<try> instead:
use bignum try => 'GMP';
@@ -594,7 +594,7 @@ Using methods that do not modify, but testthe contents works:
See the documentation about the copy constructor and C<=> in overload, as
well as the documentation in BigInt for further details.
-=head1 CAVAETS
+=head1 CAVEATS
=over 2
diff --git a/Master/tlpkg/tlperl/lib/bignum.pm b/Master/tlpkg/tlperl/lib/bignum.pm
index 2e075c8b5a7..7c6381d8660 100644
--- a/Master/tlpkg/tlperl/lib/bignum.pm
+++ b/Master/tlpkg/tlperl/lib/bignum.pm
@@ -1,7 +1,7 @@
package bignum;
use 5.006;
-$VERSION = '0.23';
+$VERSION = '0.27';
use Exporter;
@ISA = qw( bigint );
@EXPORT_OK = qw( PI e bexp bpi );
@@ -116,14 +116,14 @@ sub import
{
# this causes upgrading
$upgrade = $_[$i+1]; # or undef to disable
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] eq 'downgrade')
{
# this causes downgrading
$downgrade = $_[$i+1]; # or undef to disable
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(l|lib|try|only)$/)
@@ -131,19 +131,19 @@ sub import
# this causes a different low lib to take care...
$lib_kind = $1; $lib_kind = 'lib' if $lib_kind eq 'l';
$lib = $_[$i+1] || '';
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(a|accuracy)$/)
{
$a = $_[$i+1];
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(p|precision)$/)
{
$p = $_[$i+1];
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(v|version)$/)
@@ -386,7 +386,7 @@ than or equal to zero. See Math::BigInt's bround() function for details.
perl -Mbignum=a,50 -le 'print sqrt(20)'
-Note that setting precision and accurary at the same time is not possible.
+Note that setting precision and accuracy at the same time is not possible.
=item p or precision
@@ -397,7 +397,7 @@ integer. See Math::BigInt's bfround() function for details.
perl -Mbignum=p,-50 -le 'print sqrt(20)'
-Note that setting precision and accurary at the same time is not possible.
+Note that setting precision and accuracy at the same time is not possible.
=item t or trace
@@ -406,7 +406,7 @@ Math::BigInt/Math::BigFloat.
=item l or lib
-Load a different math lib, see L<MATH LIBRARY>.
+Load a different math lib, see L<Math Library>.
perl -Mbignum=l,GMP -e 'print 2 ** 512'
@@ -570,7 +570,7 @@ Please see respective module documentation for further details.
Using C<lib> warns if none of the specified libraries can be found and
L<Math::BigInt> did fall back to one of the default libraries.
-To supress this warning, use C<try> instead:
+To suppress this warning, use C<try> instead:
use bignum try => 'GMP';
@@ -592,7 +592,7 @@ underneath at all.
=head2 SIGN
-The sign is either '+', '-', 'NaN', '+inf' or '-inf' and stored seperately.
+The sign is either '+', '-', 'NaN', '+inf' or '-inf' and stored separately.
You can access it with the sign() method.
A sign of 'NaN' is used to represent the result when input arguments are not
@@ -600,7 +600,7 @@ numbers or as a result of 0/0. '+inf' and '-inf' represent plus respectively
minus infinity. You will get '+inf' when dividing a positive number by 0, and
'-inf' when dividing any negative number by 0.
-=head1 CAVAETS
+=head1 CAVEATS
=over 2
diff --git a/Master/tlpkg/tlperl/lib/bigrat.pl b/Master/tlpkg/tlperl/lib/bigrat.pl
index f3b599591e7..aaf17136c3f 100644
--- a/Master/tlpkg/tlperl/lib/bigrat.pl
+++ b/Master/tlpkg/tlperl/lib/bigrat.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
package bigrat;
require "bigint.pl";
#
@@ -26,7 +28,7 @@ require "bigint.pl";
# The string 'NaN' is used to represent the result when input arguments
# that are not numbers, as well as the result of dividing by zero and
# the sqrt of a negative number.
-# Extreamly naive algorthims are used.
+# Extremely naive algorithms are used.
#
# Routines provided are:
#
@@ -71,7 +73,7 @@ sub norm { #(bint, bint) return rat_num
$num = &'bnorm($num);
$dom = &'bnorm($dom);
}
- substr($dom,$[,1) = '';
+ substr($dom,0,1) = '';
"$num/$dom";
}
}
@@ -86,42 +88,42 @@ sub main'rneg { #(rat_num) return rat_num
# absolute value
sub main'rabs { #(rat_num) return $rat_num
local($_) = &'rnorm(@_);
- substr($_,$[,1) = '+' unless $_ eq 'NaN';
+ substr($_,0,1) = '+' unless $_ eq 'NaN';
$_;
}
# multipication
sub main'rmul { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[$[]));
- local($yn,$yd) = split('/',&'rnorm($_[$[+1]));
+ local($xn,$xd) = split('/',&'rnorm($_[0]));
+ local($yn,$yd) = split('/',&'rnorm($_[1]));
&norm(&'bmul($xn,$yn),&'bmul($xd,$yd));
}
# division
sub main'rdiv { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[$[]));
- local($yn,$yd) = split('/',&'rnorm($_[$[+1]));
+ local($xn,$xd) = split('/',&'rnorm($_[0]));
+ local($yn,$yd) = split('/',&'rnorm($_[1]));
&norm(&'bmul($xn,$yd),&'bmul($xd,$yn));
}
# addition
sub main'radd { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[$[]));
- local($yn,$yd) = split('/',&'rnorm($_[$[+1]));
+ local($xn,$xd) = split('/',&'rnorm($_[0]));
+ local($yn,$yd) = split('/',&'rnorm($_[1]));
&norm(&'badd(&'bmul($xn,$yd),&'bmul($yn,$xd)),&'bmul($xd,$yd));
}
# subtraction
sub main'rsub { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[$[]));
- local($yn,$yd) = split('/',&'rnorm($_[$[+1]));
+ local($xn,$xd) = split('/',&'rnorm($_[0]));
+ local($yn,$yd) = split('/',&'rnorm($_[1]));
&norm(&'bsub(&'bmul($xn,$yd),&'bmul($yn,$xd)),&'bmul($xd,$yd));
}
# comparison
sub main'rcmp { #(rat_num, rat_num) return cond_code
- local($xn,$xd) = split('/',&'rnorm($_[$[]));
- local($yn,$yd) = split('/',&'rnorm($_[$[+1]));
+ local($xn,$xd) = split('/',&'rnorm($_[0]));
+ local($yn,$yd) = split('/',&'rnorm($_[1]));
&bigint'cmp(&'bmul($xn,$yd),&'bmul($yn,$xd));
}
@@ -139,7 +141,7 @@ sub main'rmod { #(rat_num) return (rat_num,rat_num)
# square root by Newtons method.
# cycles specifies the number of iterations default: 5
sub main'rsqrt { #(fnum_str[, cycles]) return fnum_str
- local($x, $scale) = (&'rnorm($_[$[]), $_[$[+1]);
+ local($x, $scale) = (&'rnorm($_[0]), $_[1]);
if ($x eq 'NaN') {
'NaN';
} elsif ($x =~ /^-/) {
diff --git a/Master/tlpkg/tlperl/lib/bigrat.pm b/Master/tlpkg/tlperl/lib/bigrat.pm
index 10e8057abd0..907c13ceb5d 100644
--- a/Master/tlpkg/tlperl/lib/bigrat.pm
+++ b/Master/tlpkg/tlperl/lib/bigrat.pm
@@ -1,7 +1,7 @@
package bigrat;
use 5.006;
-$VERSION = '0.23';
+$VERSION = '0.28';
require Exporter;
@ISA = qw( bigint );
@EXPORT_OK = qw( PI e bpi bexp );
@@ -115,7 +115,7 @@ sub import
{
# this causes upgrading
$upgrade = $_[$i+1]; # or undef to disable
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s;
}
elsif ($_[$i] =~ /^(l|lib|try|only)$/)
@@ -123,19 +123,19 @@ sub import
# this causes a different low lib to take care...
$lib_kind = $1; $lib_kind = 'lib' if $lib_kind eq 'l';
$lib = $_[$i+1] || '';
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(a|accuracy)$/)
{
$a = $_[$i+1];
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(p|precision)$/)
{
$p = $_[$i+1];
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existent..."
splice @a, $j, $s; $j -= $s; $i++;
}
elsif ($_[$i] =~ /^(v|version)$/)
@@ -257,7 +257,7 @@ bigrat - Transparent BigNumber/BigRational support for Perl
print 1/3,"\n"; # 0.33333...
}
- # Note that this will make hex() and oct() be globally overriden:
+ # Note that this will make hex() and oct() be globally overridden:
use bigrat qw/hex oct/;
print hex("0x1234567890123490"),"\n";
print oct("01234567890123490"),"\n";
@@ -302,7 +302,7 @@ Math::BigInt::Bar, and when this also fails, revert to Math::BigInt::Calc:
Using C<lib> warns if none of the specified libraries can be found and
L<Math::BigInt> did fall back to one of the default libraries.
-To supress this warning, use C<try> instead:
+To suppress this warning, use C<try> instead:
use bignum try => 'GMP';
@@ -325,7 +325,7 @@ minus infinity. You will get '+inf' when dividing a positive number by 0, and
Since all numbers are not objects, you can use all functions that are part of
the BigInt or BigFloat API. It is wise to use only the bxxx() notation, and not
-the fxxx() notation, though. This makes you independed on the fact that the
+the fxxx() notation, though. This makes you independent on the fact that the
underlying object might morph into a different class than BigFloat.
=over 2
@@ -399,7 +399,7 @@ This method only works on Perl v5.9.4 or later.
Math with the numbers is done (by default) by a module called
-=head2 Cavaet
+=head2 Caveat
But a warning is in order. When using the following to make a copy of a number,
only a shallow copy will be made.
@@ -452,7 +452,7 @@ than or equal to zero. See Math::BigInt's bround() function for details.
perl -Mbigrat=a,50 -le 'print sqrt(20)'
-Note that setting precision and accurary at the same time is not possible.
+Note that setting precision and accuracy at the same time is not possible.
=item p or precision
@@ -463,7 +463,7 @@ integer. See Math::BigInt's bfround() function for details.
perl -Mbigrat=p,-50 -le 'print sqrt(20)'
-Note that setting precision and accurary at the same time is not possible.
+Note that setting precision and accuracy at the same time is not possible.
=item t or trace
@@ -492,7 +492,7 @@ and cannot be disabled with "no bigint;".
=item oct
Override the built-in oct() method with a version that can handle big
-integers. Note that under Perl v5.9.4 or ealier, this will be global
+integers. Note that under Perl v5.9.4 or earlier, this will be global
and cannot be disabled with "no bigint;".
=item v or version
@@ -503,7 +503,7 @@ This prints out the name and version of all modules used and then exits.
=back
-=head1 CAVAETS
+=head1 CAVEATS
=over 2
@@ -539,11 +539,11 @@ Compare this to:
=back
=head1 EXAMPLES
-
+
perl -Mbigrat -le 'print sqrt(33)'
perl -Mbigrat -le 'print 2*255'
perl -Mbigrat -le 'print 4.5+2*255'
- perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'
+ perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'
perl -Mbigrat -le 'print 12->is_odd()';
perl -Mbignum=l,GMP -le 'print 7 ** 7777'
diff --git a/Master/tlpkg/tlperl/lib/blib.pm b/Master/tlpkg/tlperl/lib/blib.pm
index f755e29b0de..b3ee3202b1e 100644
--- a/Master/tlpkg/tlperl/lib/blib.pm
+++ b/Master/tlpkg/tlperl/lib/blib.pm
@@ -12,16 +12,16 @@ blib - Use MakeMaker's uninstalled version of a package
=head1 DESCRIPTION
-Looks for MakeMaker-like I<'blib'> directory structure starting in
+Looks for MakeMaker-like I<'blib'> directory structure starting in
I<dir> (or current directory) and working back up to five levels of '..'.
Intended for use on command line with B<-M> option as a way of testing
arbitrary scripts against an uninstalled version of a package.
-However it is possible to :
+However it is possible to :
- use blib;
- or
+ use blib;
+ or
use blib '..';
etc. if you really must.
@@ -40,7 +40,7 @@ use Cwd;
use File::Spec;
use vars qw($VERSION $Verbose);
-$VERSION = '1.04';
+$VERSION = '1.06';
$Verbose = 0;
sub import
@@ -67,21 +67,18 @@ sub import
$dir = File::Spec->curdir unless ($dir);
die "$dir is not a directory\n" unless (-d $dir);
}
+
+ # detaint: if the user asked for blib, s/he presumably knew
+ # what s/he wanted
+ $dir = $1 if $dir =~ /^(.*)$/;
+
my $i = 5;
my($blib, $blib_lib, $blib_arch);
while ($i--)
{
$blib = File::Spec->catdir($dir, "blib");
$blib_lib = File::Spec->catdir($blib, "lib");
-
- if ($^O eq 'MacOS')
- {
- $blib_arch = File::Spec->catdir($blib_lib, $MacPerl::Architecture);
- }
- else
- {
- $blib_arch = File::Spec->catdir($blib, "arch");
- }
+ $blib_arch = File::Spec->catdir($blib, "arch");
if (-d $blib && -d $blib_arch && -d $blib_lib)
{
diff --git a/Master/tlpkg/tlperl/lib/cacheout.pl b/Master/tlpkg/tlperl/lib/cacheout.pl
index 368e98ee21d..a5da453a2aa 100644
--- a/Master/tlpkg/tlperl/lib/cacheout.pl
+++ b/Master/tlpkg/tlperl/lib/cacheout.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
#
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
diff --git a/Master/tlpkg/tlperl/lib/charnames.pm b/Master/tlpkg/tlperl/lib/charnames.pm
index ce0938bee91..1c9ab2c0b08 100644
--- a/Master/tlpkg/tlperl/lib/charnames.pm
+++ b/Master/tlpkg/tlperl/lib/charnames.pm
@@ -2,45 +2,446 @@ package charnames;
use strict;
use warnings;
use File::Spec;
-our $VERSION = '1.07';
-
-use bytes (); # for $bytes::hint_bits
-
-my %alias1 = (
- # Icky 3.2 names with parentheses.
- 'LINE FEED' => 'LINE FEED (LF)',
- 'FORM FEED' => 'FORM FEED (FF)',
- 'CARRIAGE RETURN' => 'CARRIAGE RETURN (CR)',
- 'NEXT LINE' => 'NEXT LINE (NEL)',
- # Convenience.
- 'LF' => 'LINE FEED (LF)',
- 'FF' => 'FORM FEED (FF)',
- 'CR' => 'CARRIAGE RETURN (CR)',
- 'NEL' => 'NEXT LINE (NEL)',
- # More convenience. For futher convencience,
- # it is suggested some way using using the NamesList
- # aliases is implemented.
- 'ZWNJ' => 'ZERO WIDTH NON-JOINER',
- 'ZWJ' => 'ZERO WIDTH JOINER',
- 'BOM' => 'BYTE ORDER MARK',
- );
-
-my %alias2 = (
- # Pre-3.2 compatibility (only for the first 256 characters).
- 'HORIZONTAL TABULATION' => 'CHARACTER TABULATION',
- 'VERTICAL TABULATION' => 'LINE TABULATION',
- 'FILE SEPARATOR' => 'INFORMATION SEPARATOR FOUR',
- 'GROUP SEPARATOR' => 'INFORMATION SEPARATOR THREE',
- 'RECORD SEPARATOR' => 'INFORMATION SEPARATOR TWO',
- 'UNIT SEPARATOR' => 'INFORMATION SEPARATOR ONE',
- 'PARTIAL LINE DOWN' => 'PARTIAL LINE FORWARD',
- 'PARTIAL LINE UP' => 'PARTIAL LINE BACKWARD',
- );
-
-my %alias3 = (
- # User defined aliasses. Even more convenient :)
- );
-my $txt;
+our $VERSION = '1.18';
+
+use bytes (); # for $bytes::hint_bits
+
+# The hashes are stored as utf8 strings. This makes it easier to deal with
+# sequences. I (khw) also tried making Name.pl utf8, but it slowed things
+# down by a factor of 7. I then tried making Name.pl store the ut8
+# equivalents but not calling them utf8. That led to similar speed as leaving
+# it alone, but since that is harder for a human to parse, I left it as-is.
+
+my %system_aliases = (
+ # Icky 3.2 names with parentheses.
+ 'LINE FEED' => pack("U", 0x0A), # LINE FEED (LF)
+ 'FORM FEED' => pack("U", 0x0C), # FORM FEED (FF)
+ 'CARRIAGE RETURN' => pack("U", 0x0D), # CARRIAGE RETURN (CR)
+ 'NEXT LINE' => pack("U", 0x85), # NEXT LINE (NEL)
+
+ # Some variant names from Wikipedia
+ 'SINGLE-SHIFT 2' => pack("U", 0x8E),
+ 'SINGLE-SHIFT 3' => pack("U", 0x8F),
+ 'PRIVATE USE 1' => pack("U", 0x91),
+ 'PRIVATE USE 2' => pack("U", 0x92),
+ 'START OF PROTECTED AREA' => pack("U", 0x96),
+ 'END OF PROTECTED AREA' => pack("U", 0x97),
+
+ # Convenience. Standard abbreviations for the controls
+ 'NUL' => pack("U", 0x00), # NULL
+ 'SOH' => pack("U", 0x01), # START OF HEADING
+ 'STX' => pack("U", 0x02), # START OF TEXT
+ 'ETX' => pack("U", 0x03), # END OF TEXT
+ 'EOT' => pack("U", 0x04), # END OF TRANSMISSION
+ 'ENQ' => pack("U", 0x05), # ENQUIRY
+ 'ACK' => pack("U", 0x06), # ACKNOWLEDGE
+ 'BEL' => pack("U", 0x07), # ALERT; formerly BELL
+ 'BS' => pack("U", 0x08), # BACKSPACE
+ 'HT' => pack("U", 0x09), # HORIZONTAL TABULATION
+ 'LF' => pack("U", 0x0A), # LINE FEED (LF)
+ 'VT' => pack("U", 0x0B), # VERTICAL TABULATION
+ 'FF' => pack("U", 0x0C), # FORM FEED (FF)
+ 'CR' => pack("U", 0x0D), # CARRIAGE RETURN (CR)
+ 'SO' => pack("U", 0x0E), # SHIFT OUT
+ 'SI' => pack("U", 0x0F), # SHIFT IN
+ 'DLE' => pack("U", 0x10), # DATA LINK ESCAPE
+ 'DC1' => pack("U", 0x11), # DEVICE CONTROL ONE
+ 'DC2' => pack("U", 0x12), # DEVICE CONTROL TWO
+ 'DC3' => pack("U", 0x13), # DEVICE CONTROL THREE
+ 'DC4' => pack("U", 0x14), # DEVICE CONTROL FOUR
+ 'NAK' => pack("U", 0x15), # NEGATIVE ACKNOWLEDGE
+ 'SYN' => pack("U", 0x16), # SYNCHRONOUS IDLE
+ 'ETB' => pack("U", 0x17), # END OF TRANSMISSION BLOCK
+ 'CAN' => pack("U", 0x18), # CANCEL
+ 'EOM' => pack("U", 0x19), # END OF MEDIUM
+ 'SUB' => pack("U", 0x1A), # SUBSTITUTE
+ 'ESC' => pack("U", 0x1B), # ESCAPE
+ 'FS' => pack("U", 0x1C), # FILE SEPARATOR
+ 'GS' => pack("U", 0x1D), # GROUP SEPARATOR
+ 'RS' => pack("U", 0x1E), # RECORD SEPARATOR
+ 'US' => pack("U", 0x1F), # UNIT SEPARATOR
+ 'DEL' => pack("U", 0x7F), # DELETE
+ 'BPH' => pack("U", 0x82), # BREAK PERMITTED HERE
+ 'NBH' => pack("U", 0x83), # NO BREAK HERE
+ 'NEL' => pack("U", 0x85), # NEXT LINE (NEL)
+ 'SSA' => pack("U", 0x86), # START OF SELECTED AREA
+ 'ESA' => pack("U", 0x87), # END OF SELECTED AREA
+ 'HTS' => pack("U", 0x88), # CHARACTER TABULATION SET
+ 'HTJ' => pack("U", 0x89), # CHARACTER TABULATION WITH JUSTIFICATION
+ 'VTS' => pack("U", 0x8A), # LINE TABULATION SET
+ 'PLD' => pack("U", 0x8B), # PARTIAL LINE FORWARD
+ 'PLU' => pack("U", 0x8C), # PARTIAL LINE BACKWARD
+ 'RI ' => pack("U", 0x8D), # REVERSE LINE FEED
+ 'SS2' => pack("U", 0x8E), # SINGLE SHIFT TWO
+ 'SS3' => pack("U", 0x8F), # SINGLE SHIFT THREE
+ 'DCS' => pack("U", 0x90), # DEVICE CONTROL STRING
+ 'PU1' => pack("U", 0x91), # PRIVATE USE ONE
+ 'PU2' => pack("U", 0x92), # PRIVATE USE TWO
+ 'STS' => pack("U", 0x93), # SET TRANSMIT STATE
+ 'CCH' => pack("U", 0x94), # CANCEL CHARACTER
+ 'MW ' => pack("U", 0x95), # MESSAGE WAITING
+ 'SPA' => pack("U", 0x96), # START OF GUARDED AREA
+ 'EPA' => pack("U", 0x97), # END OF GUARDED AREA
+ 'SOS' => pack("U", 0x98), # START OF STRING
+ 'SCI' => pack("U", 0x9A), # SINGLE CHARACTER INTRODUCER
+ 'CSI' => pack("U", 0x9B), # CONTROL SEQUENCE INTRODUCER
+ 'ST ' => pack("U", 0x9C), # STRING TERMINATOR
+ 'OSC' => pack("U", 0x9D), # OPERATING SYSTEM COMMAND
+ 'PM ' => pack("U", 0x9E), # PRIVACY MESSAGE
+ 'APC' => pack("U", 0x9F), # APPLICATION PROGRAM COMMAND
+
+ # There are no names for these in the Unicode standard; perhaps should be
+ # deprecated, but then again there are no alternative names, so am not
+ # deprecating. And if did, the code would have to change to not recommend
+ # an alternative for these.
+ 'PADDING CHARACTER' => pack("U", 0x80),
+ 'PAD' => pack("U", 0x80),
+ 'HIGH OCTET PRESET' => pack("U", 0x81),
+ 'HOP' => pack("U", 0x81),
+ 'INDEX' => pack("U", 0x84),
+ 'IND' => pack("U", 0x84),
+ 'SINGLE GRAPHIC CHARACTER INTRODUCER' => pack("U", 0x99),
+ 'SGC' => pack("U", 0x99),
+
+ # More convenience. For further convenience, it is suggested some way of
+ # using the NamesList aliases be implemented, but there are ambiguities in
+ # NamesList.txt
+ 'BOM' => pack("U", 0xFEFF), # BYTE ORDER MARK
+ 'BYTE ORDER MARK'=> pack("U", 0xFEFF),
+ 'CGJ' => pack("U", 0x034F), # COMBINING GRAPHEME JOINER
+ 'FVS1' => pack("U", 0x180B), # MONGOLIAN FREE VARIATION SELECTOR ONE
+ 'FVS2' => pack("U", 0x180C), # MONGOLIAN FREE VARIATION SELECTOR TWO
+ 'FVS3' => pack("U", 0x180D), # MONGOLIAN FREE VARIATION SELECTOR THREE
+ 'LRE' => pack("U", 0x202A), # LEFT-TO-RIGHT EMBEDDING
+ 'LRM' => pack("U", 0x200E), # LEFT-TO-RIGHT MARK
+ 'LRO' => pack("U", 0x202D), # LEFT-TO-RIGHT OVERRIDE
+ 'MMSP' => pack("U", 0x205F), # MEDIUM MATHEMATICAL SPACE
+ 'MVS' => pack("U", 0x180E), # MONGOLIAN VOWEL SEPARATOR
+ 'NBSP' => pack("U", 0x00A0), # NO-BREAK SPACE
+ 'NNBSP' => pack("U", 0x202F), # NARROW NO-BREAK SPACE
+ 'PDF' => pack("U", 0x202C), # POP DIRECTIONAL FORMATTING
+ 'RLE' => pack("U", 0x202B), # RIGHT-TO-LEFT EMBEDDING
+ 'RLM' => pack("U", 0x200F), # RIGHT-TO-LEFT MARK
+ 'RLO' => pack("U", 0x202E), # RIGHT-TO-LEFT OVERRIDE
+ 'SHY' => pack("U", 0x00AD), # SOFT HYPHEN
+ 'VS1' => pack("U", 0xFE00), # VARIATION SELECTOR-1
+ 'VS2' => pack("U", 0xFE01), # VARIATION SELECTOR-2
+ 'VS3' => pack("U", 0xFE02), # VARIATION SELECTOR-3
+ 'VS4' => pack("U", 0xFE03), # VARIATION SELECTOR-4
+ 'VS5' => pack("U", 0xFE04), # VARIATION SELECTOR-5
+ 'VS6' => pack("U", 0xFE05), # VARIATION SELECTOR-6
+ 'VS7' => pack("U", 0xFE06), # VARIATION SELECTOR-7
+ 'VS8' => pack("U", 0xFE07), # VARIATION SELECTOR-8
+ 'VS9' => pack("U", 0xFE08), # VARIATION SELECTOR-9
+ 'VS10' => pack("U", 0xFE09), # VARIATION SELECTOR-10
+ 'VS11' => pack("U", 0xFE0A), # VARIATION SELECTOR-11
+ 'VS12' => pack("U", 0xFE0B), # VARIATION SELECTOR-12
+ 'VS13' => pack("U", 0xFE0C), # VARIATION SELECTOR-13
+ 'VS14' => pack("U", 0xFE0D), # VARIATION SELECTOR-14
+ 'VS15' => pack("U", 0xFE0E), # VARIATION SELECTOR-15
+ 'VS16' => pack("U", 0xFE0F), # VARIATION SELECTOR-16
+ 'VS17' => pack("U", 0xE0100), # VARIATION SELECTOR-17
+ 'VS18' => pack("U", 0xE0101), # VARIATION SELECTOR-18
+ 'VS19' => pack("U", 0xE0102), # VARIATION SELECTOR-19
+ 'VS20' => pack("U", 0xE0103), # VARIATION SELECTOR-20
+ 'VS21' => pack("U", 0xE0104), # VARIATION SELECTOR-21
+ 'VS22' => pack("U", 0xE0105), # VARIATION SELECTOR-22
+ 'VS23' => pack("U", 0xE0106), # VARIATION SELECTOR-23
+ 'VS24' => pack("U", 0xE0107), # VARIATION SELECTOR-24
+ 'VS25' => pack("U", 0xE0108), # VARIATION SELECTOR-25
+ 'VS26' => pack("U", 0xE0109), # VARIATION SELECTOR-26
+ 'VS27' => pack("U", 0xE010A), # VARIATION SELECTOR-27
+ 'VS28' => pack("U", 0xE010B), # VARIATION SELECTOR-28
+ 'VS29' => pack("U", 0xE010C), # VARIATION SELECTOR-29
+ 'VS30' => pack("U", 0xE010D), # VARIATION SELECTOR-30
+ 'VS31' => pack("U", 0xE010E), # VARIATION SELECTOR-31
+ 'VS32' => pack("U", 0xE010F), # VARIATION SELECTOR-32
+ 'VS33' => pack("U", 0xE0110), # VARIATION SELECTOR-33
+ 'VS34' => pack("U", 0xE0111), # VARIATION SELECTOR-34
+ 'VS35' => pack("U", 0xE0112), # VARIATION SELECTOR-35
+ 'VS36' => pack("U", 0xE0113), # VARIATION SELECTOR-36
+ 'VS37' => pack("U", 0xE0114), # VARIATION SELECTOR-37
+ 'VS38' => pack("U", 0xE0115), # VARIATION SELECTOR-38
+ 'VS39' => pack("U", 0xE0116), # VARIATION SELECTOR-39
+ 'VS40' => pack("U", 0xE0117), # VARIATION SELECTOR-40
+ 'VS41' => pack("U", 0xE0118), # VARIATION SELECTOR-41
+ 'VS42' => pack("U", 0xE0119), # VARIATION SELECTOR-42
+ 'VS43' => pack("U", 0xE011A), # VARIATION SELECTOR-43
+ 'VS44' => pack("U", 0xE011B), # VARIATION SELECTOR-44
+ 'VS45' => pack("U", 0xE011C), # VARIATION SELECTOR-45
+ 'VS46' => pack("U", 0xE011D), # VARIATION SELECTOR-46
+ 'VS47' => pack("U", 0xE011E), # VARIATION SELECTOR-47
+ 'VS48' => pack("U", 0xE011F), # VARIATION SELECTOR-48
+ 'VS49' => pack("U", 0xE0120), # VARIATION SELECTOR-49
+ 'VS50' => pack("U", 0xE0121), # VARIATION SELECTOR-50
+ 'VS51' => pack("U", 0xE0122), # VARIATION SELECTOR-51
+ 'VS52' => pack("U", 0xE0123), # VARIATION SELECTOR-52
+ 'VS53' => pack("U", 0xE0124), # VARIATION SELECTOR-53
+ 'VS54' => pack("U", 0xE0125), # VARIATION SELECTOR-54
+ 'VS55' => pack("U", 0xE0126), # VARIATION SELECTOR-55
+ 'VS56' => pack("U", 0xE0127), # VARIATION SELECTOR-56
+ 'VS57' => pack("U", 0xE0128), # VARIATION SELECTOR-57
+ 'VS58' => pack("U", 0xE0129), # VARIATION SELECTOR-58
+ 'VS59' => pack("U", 0xE012A), # VARIATION SELECTOR-59
+ 'VS60' => pack("U", 0xE012B), # VARIATION SELECTOR-60
+ 'VS61' => pack("U", 0xE012C), # VARIATION SELECTOR-61
+ 'VS62' => pack("U", 0xE012D), # VARIATION SELECTOR-62
+ 'VS63' => pack("U", 0xE012E), # VARIATION SELECTOR-63
+ 'VS64' => pack("U", 0xE012F), # VARIATION SELECTOR-64
+ 'VS65' => pack("U", 0xE0130), # VARIATION SELECTOR-65
+ 'VS66' => pack("U", 0xE0131), # VARIATION SELECTOR-66
+ 'VS67' => pack("U", 0xE0132), # VARIATION SELECTOR-67
+ 'VS68' => pack("U", 0xE0133), # VARIATION SELECTOR-68
+ 'VS69' => pack("U", 0xE0134), # VARIATION SELECTOR-69
+ 'VS70' => pack("U", 0xE0135), # VARIATION SELECTOR-70
+ 'VS71' => pack("U", 0xE0136), # VARIATION SELECTOR-71
+ 'VS72' => pack("U", 0xE0137), # VARIATION SELECTOR-72
+ 'VS73' => pack("U", 0xE0138), # VARIATION SELECTOR-73
+ 'VS74' => pack("U", 0xE0139), # VARIATION SELECTOR-74
+ 'VS75' => pack("U", 0xE013A), # VARIATION SELECTOR-75
+ 'VS76' => pack("U", 0xE013B), # VARIATION SELECTOR-76
+ 'VS77' => pack("U", 0xE013C), # VARIATION SELECTOR-77
+ 'VS78' => pack("U", 0xE013D), # VARIATION SELECTOR-78
+ 'VS79' => pack("U", 0xE013E), # VARIATION SELECTOR-79
+ 'VS80' => pack("U", 0xE013F), # VARIATION SELECTOR-80
+ 'VS81' => pack("U", 0xE0140), # VARIATION SELECTOR-81
+ 'VS82' => pack("U", 0xE0141), # VARIATION SELECTOR-82
+ 'VS83' => pack("U", 0xE0142), # VARIATION SELECTOR-83
+ 'VS84' => pack("U", 0xE0143), # VARIATION SELECTOR-84
+ 'VS85' => pack("U", 0xE0144), # VARIATION SELECTOR-85
+ 'VS86' => pack("U", 0xE0145), # VARIATION SELECTOR-86
+ 'VS87' => pack("U", 0xE0146), # VARIATION SELECTOR-87
+ 'VS88' => pack("U", 0xE0147), # VARIATION SELECTOR-88
+ 'VS89' => pack("U", 0xE0148), # VARIATION SELECTOR-89
+ 'VS90' => pack("U", 0xE0149), # VARIATION SELECTOR-90
+ 'VS91' => pack("U", 0xE014A), # VARIATION SELECTOR-91
+ 'VS92' => pack("U", 0xE014B), # VARIATION SELECTOR-92
+ 'VS93' => pack("U", 0xE014C), # VARIATION SELECTOR-93
+ 'VS94' => pack("U", 0xE014D), # VARIATION SELECTOR-94
+ 'VS95' => pack("U", 0xE014E), # VARIATION SELECTOR-95
+ 'VS96' => pack("U", 0xE014F), # VARIATION SELECTOR-96
+ 'VS97' => pack("U", 0xE0150), # VARIATION SELECTOR-97
+ 'VS98' => pack("U", 0xE0151), # VARIATION SELECTOR-98
+ 'VS99' => pack("U", 0xE0152), # VARIATION SELECTOR-99
+ 'VS100' => pack("U", 0xE0153), # VARIATION SELECTOR-100
+ 'VS101' => pack("U", 0xE0154), # VARIATION SELECTOR-101
+ 'VS102' => pack("U", 0xE0155), # VARIATION SELECTOR-102
+ 'VS103' => pack("U", 0xE0156), # VARIATION SELECTOR-103
+ 'VS104' => pack("U", 0xE0157), # VARIATION SELECTOR-104
+ 'VS105' => pack("U", 0xE0158), # VARIATION SELECTOR-105
+ 'VS106' => pack("U", 0xE0159), # VARIATION SELECTOR-106
+ 'VS107' => pack("U", 0xE015A), # VARIATION SELECTOR-107
+ 'VS108' => pack("U", 0xE015B), # VARIATION SELECTOR-108
+ 'VS109' => pack("U", 0xE015C), # VARIATION SELECTOR-109
+ 'VS110' => pack("U", 0xE015D), # VARIATION SELECTOR-110
+ 'VS111' => pack("U", 0xE015E), # VARIATION SELECTOR-111
+ 'VS112' => pack("U", 0xE015F), # VARIATION SELECTOR-112
+ 'VS113' => pack("U", 0xE0160), # VARIATION SELECTOR-113
+ 'VS114' => pack("U", 0xE0161), # VARIATION SELECTOR-114
+ 'VS115' => pack("U", 0xE0162), # VARIATION SELECTOR-115
+ 'VS116' => pack("U", 0xE0163), # VARIATION SELECTOR-116
+ 'VS117' => pack("U", 0xE0164), # VARIATION SELECTOR-117
+ 'VS118' => pack("U", 0xE0165), # VARIATION SELECTOR-118
+ 'VS119' => pack("U", 0xE0166), # VARIATION SELECTOR-119
+ 'VS120' => pack("U", 0xE0167), # VARIATION SELECTOR-120
+ 'VS121' => pack("U", 0xE0168), # VARIATION SELECTOR-121
+ 'VS122' => pack("U", 0xE0169), # VARIATION SELECTOR-122
+ 'VS123' => pack("U", 0xE016A), # VARIATION SELECTOR-123
+ 'VS124' => pack("U", 0xE016B), # VARIATION SELECTOR-124
+ 'VS125' => pack("U", 0xE016C), # VARIATION SELECTOR-125
+ 'VS126' => pack("U", 0xE016D), # VARIATION SELECTOR-126
+ 'VS127' => pack("U", 0xE016E), # VARIATION SELECTOR-127
+ 'VS128' => pack("U", 0xE016F), # VARIATION SELECTOR-128
+ 'VS129' => pack("U", 0xE0170), # VARIATION SELECTOR-129
+ 'VS130' => pack("U", 0xE0171), # VARIATION SELECTOR-130
+ 'VS131' => pack("U", 0xE0172), # VARIATION SELECTOR-131
+ 'VS132' => pack("U", 0xE0173), # VARIATION SELECTOR-132
+ 'VS133' => pack("U", 0xE0174), # VARIATION SELECTOR-133
+ 'VS134' => pack("U", 0xE0175), # VARIATION SELECTOR-134
+ 'VS135' => pack("U", 0xE0176), # VARIATION SELECTOR-135
+ 'VS136' => pack("U", 0xE0177), # VARIATION SELECTOR-136
+ 'VS137' => pack("U", 0xE0178), # VARIATION SELECTOR-137
+ 'VS138' => pack("U", 0xE0179), # VARIATION SELECTOR-138
+ 'VS139' => pack("U", 0xE017A), # VARIATION SELECTOR-139
+ 'VS140' => pack("U", 0xE017B), # VARIATION SELECTOR-140
+ 'VS141' => pack("U", 0xE017C), # VARIATION SELECTOR-141
+ 'VS142' => pack("U", 0xE017D), # VARIATION SELECTOR-142
+ 'VS143' => pack("U", 0xE017E), # VARIATION SELECTOR-143
+ 'VS144' => pack("U", 0xE017F), # VARIATION SELECTOR-144
+ 'VS145' => pack("U", 0xE0180), # VARIATION SELECTOR-145
+ 'VS146' => pack("U", 0xE0181), # VARIATION SELECTOR-146
+ 'VS147' => pack("U", 0xE0182), # VARIATION SELECTOR-147
+ 'VS148' => pack("U", 0xE0183), # VARIATION SELECTOR-148
+ 'VS149' => pack("U", 0xE0184), # VARIATION SELECTOR-149
+ 'VS150' => pack("U", 0xE0185), # VARIATION SELECTOR-150
+ 'VS151' => pack("U", 0xE0186), # VARIATION SELECTOR-151
+ 'VS152' => pack("U", 0xE0187), # VARIATION SELECTOR-152
+ 'VS153' => pack("U", 0xE0188), # VARIATION SELECTOR-153
+ 'VS154' => pack("U", 0xE0189), # VARIATION SELECTOR-154
+ 'VS155' => pack("U", 0xE018A), # VARIATION SELECTOR-155
+ 'VS156' => pack("U", 0xE018B), # VARIATION SELECTOR-156
+ 'VS157' => pack("U", 0xE018C), # VARIATION SELECTOR-157
+ 'VS158' => pack("U", 0xE018D), # VARIATION SELECTOR-158
+ 'VS159' => pack("U", 0xE018E), # VARIATION SELECTOR-159
+ 'VS160' => pack("U", 0xE018F), # VARIATION SELECTOR-160
+ 'VS161' => pack("U", 0xE0190), # VARIATION SELECTOR-161
+ 'VS162' => pack("U", 0xE0191), # VARIATION SELECTOR-162
+ 'VS163' => pack("U", 0xE0192), # VARIATION SELECTOR-163
+ 'VS164' => pack("U", 0xE0193), # VARIATION SELECTOR-164
+ 'VS165' => pack("U", 0xE0194), # VARIATION SELECTOR-165
+ 'VS166' => pack("U", 0xE0195), # VARIATION SELECTOR-166
+ 'VS167' => pack("U", 0xE0196), # VARIATION SELECTOR-167
+ 'VS168' => pack("U", 0xE0197), # VARIATION SELECTOR-168
+ 'VS169' => pack("U", 0xE0198), # VARIATION SELECTOR-169
+ 'VS170' => pack("U", 0xE0199), # VARIATION SELECTOR-170
+ 'VS171' => pack("U", 0xE019A), # VARIATION SELECTOR-171
+ 'VS172' => pack("U", 0xE019B), # VARIATION SELECTOR-172
+ 'VS173' => pack("U", 0xE019C), # VARIATION SELECTOR-173
+ 'VS174' => pack("U", 0xE019D), # VARIATION SELECTOR-174
+ 'VS175' => pack("U", 0xE019E), # VARIATION SELECTOR-175
+ 'VS176' => pack("U", 0xE019F), # VARIATION SELECTOR-176
+ 'VS177' => pack("U", 0xE01A0), # VARIATION SELECTOR-177
+ 'VS178' => pack("U", 0xE01A1), # VARIATION SELECTOR-178
+ 'VS179' => pack("U", 0xE01A2), # VARIATION SELECTOR-179
+ 'VS180' => pack("U", 0xE01A3), # VARIATION SELECTOR-180
+ 'VS181' => pack("U", 0xE01A4), # VARIATION SELECTOR-181
+ 'VS182' => pack("U", 0xE01A5), # VARIATION SELECTOR-182
+ 'VS183' => pack("U", 0xE01A6), # VARIATION SELECTOR-183
+ 'VS184' => pack("U", 0xE01A7), # VARIATION SELECTOR-184
+ 'VS185' => pack("U", 0xE01A8), # VARIATION SELECTOR-185
+ 'VS186' => pack("U", 0xE01A9), # VARIATION SELECTOR-186
+ 'VS187' => pack("U", 0xE01AA), # VARIATION SELECTOR-187
+ 'VS188' => pack("U", 0xE01AB), # VARIATION SELECTOR-188
+ 'VS189' => pack("U", 0xE01AC), # VARIATION SELECTOR-189
+ 'VS190' => pack("U", 0xE01AD), # VARIATION SELECTOR-190
+ 'VS191' => pack("U", 0xE01AE), # VARIATION SELECTOR-191
+ 'VS192' => pack("U", 0xE01AF), # VARIATION SELECTOR-192
+ 'VS193' => pack("U", 0xE01B0), # VARIATION SELECTOR-193
+ 'VS194' => pack("U", 0xE01B1), # VARIATION SELECTOR-194
+ 'VS195' => pack("U", 0xE01B2), # VARIATION SELECTOR-195
+ 'VS196' => pack("U", 0xE01B3), # VARIATION SELECTOR-196
+ 'VS197' => pack("U", 0xE01B4), # VARIATION SELECTOR-197
+ 'VS198' => pack("U", 0xE01B5), # VARIATION SELECTOR-198
+ 'VS199' => pack("U", 0xE01B6), # VARIATION SELECTOR-199
+ 'VS200' => pack("U", 0xE01B7), # VARIATION SELECTOR-200
+ 'VS201' => pack("U", 0xE01B8), # VARIATION SELECTOR-201
+ 'VS202' => pack("U", 0xE01B9), # VARIATION SELECTOR-202
+ 'VS203' => pack("U", 0xE01BA), # VARIATION SELECTOR-203
+ 'VS204' => pack("U", 0xE01BB), # VARIATION SELECTOR-204
+ 'VS205' => pack("U", 0xE01BC), # VARIATION SELECTOR-205
+ 'VS206' => pack("U", 0xE01BD), # VARIATION SELECTOR-206
+ 'VS207' => pack("U", 0xE01BE), # VARIATION SELECTOR-207
+ 'VS208' => pack("U", 0xE01BF), # VARIATION SELECTOR-208
+ 'VS209' => pack("U", 0xE01C0), # VARIATION SELECTOR-209
+ 'VS210' => pack("U", 0xE01C1), # VARIATION SELECTOR-210
+ 'VS211' => pack("U", 0xE01C2), # VARIATION SELECTOR-211
+ 'VS212' => pack("U", 0xE01C3), # VARIATION SELECTOR-212
+ 'VS213' => pack("U", 0xE01C4), # VARIATION SELECTOR-213
+ 'VS214' => pack("U", 0xE01C5), # VARIATION SELECTOR-214
+ 'VS215' => pack("U", 0xE01C6), # VARIATION SELECTOR-215
+ 'VS216' => pack("U", 0xE01C7), # VARIATION SELECTOR-216
+ 'VS217' => pack("U", 0xE01C8), # VARIATION SELECTOR-217
+ 'VS218' => pack("U", 0xE01C9), # VARIATION SELECTOR-218
+ 'VS219' => pack("U", 0xE01CA), # VARIATION SELECTOR-219
+ 'VS220' => pack("U", 0xE01CB), # VARIATION SELECTOR-220
+ 'VS221' => pack("U", 0xE01CC), # VARIATION SELECTOR-221
+ 'VS222' => pack("U", 0xE01CD), # VARIATION SELECTOR-222
+ 'VS223' => pack("U", 0xE01CE), # VARIATION SELECTOR-223
+ 'VS224' => pack("U", 0xE01CF), # VARIATION SELECTOR-224
+ 'VS225' => pack("U", 0xE01D0), # VARIATION SELECTOR-225
+ 'VS226' => pack("U", 0xE01D1), # VARIATION SELECTOR-226
+ 'VS227' => pack("U", 0xE01D2), # VARIATION SELECTOR-227
+ 'VS228' => pack("U", 0xE01D3), # VARIATION SELECTOR-228
+ 'VS229' => pack("U", 0xE01D4), # VARIATION SELECTOR-229
+ 'VS230' => pack("U", 0xE01D5), # VARIATION SELECTOR-230
+ 'VS231' => pack("U", 0xE01D6), # VARIATION SELECTOR-231
+ 'VS232' => pack("U", 0xE01D7), # VARIATION SELECTOR-232
+ 'VS233' => pack("U", 0xE01D8), # VARIATION SELECTOR-233
+ 'VS234' => pack("U", 0xE01D9), # VARIATION SELECTOR-234
+ 'VS235' => pack("U", 0xE01DA), # VARIATION SELECTOR-235
+ 'VS236' => pack("U", 0xE01DB), # VARIATION SELECTOR-236
+ 'VS237' => pack("U", 0xE01DC), # VARIATION SELECTOR-237
+ 'VS238' => pack("U", 0xE01DD), # VARIATION SELECTOR-238
+ 'VS239' => pack("U", 0xE01DE), # VARIATION SELECTOR-239
+ 'VS240' => pack("U", 0xE01DF), # VARIATION SELECTOR-240
+ 'VS241' => pack("U", 0xE01E0), # VARIATION SELECTOR-241
+ 'VS242' => pack("U", 0xE01E1), # VARIATION SELECTOR-242
+ 'VS243' => pack("U", 0xE01E2), # VARIATION SELECTOR-243
+ 'VS244' => pack("U", 0xE01E3), # VARIATION SELECTOR-244
+ 'VS245' => pack("U", 0xE01E4), # VARIATION SELECTOR-245
+ 'VS246' => pack("U", 0xE01E5), # VARIATION SELECTOR-246
+ 'VS247' => pack("U", 0xE01E6), # VARIATION SELECTOR-247
+ 'VS248' => pack("U", 0xE01E7), # VARIATION SELECTOR-248
+ 'VS249' => pack("U", 0xE01E8), # VARIATION SELECTOR-249
+ 'VS250' => pack("U", 0xE01E9), # VARIATION SELECTOR-250
+ 'VS251' => pack("U", 0xE01EA), # VARIATION SELECTOR-251
+ 'VS252' => pack("U", 0xE01EB), # VARIATION SELECTOR-252
+ 'VS253' => pack("U", 0xE01EC), # VARIATION SELECTOR-253
+ 'VS254' => pack("U", 0xE01ED), # VARIATION SELECTOR-254
+ 'VS255' => pack("U", 0xE01EE), # VARIATION SELECTOR-255
+ 'VS256' => pack("U", 0xE01EF), # VARIATION SELECTOR-256
+ 'WJ' => pack("U", 0x2060), # WORD JOINER
+ 'ZWJ' => pack("U", 0x200D), # ZERO WIDTH JOINER
+ 'ZWNJ' => pack("U", 0x200C), # ZERO WIDTH NON-JOINER
+ 'ZWSP' => pack("U", 0x200B), # ZERO WIDTH SPACE
+);
+
+my %deprecated_aliases = (
+ # Pre-3.2 compatibility (only for the first 256 characters).
+ # Use of these gives deprecated message.
+ 'HORIZONTAL TABULATION' => pack("U", 0x09), # CHARACTER TABULATION
+ 'VERTICAL TABULATION' => pack("U", 0x0B), # LINE TABULATION
+ 'FILE SEPARATOR' => pack("U", 0x1C), # INFORMATION SEPARATOR FOUR
+ 'GROUP SEPARATOR' => pack("U", 0x1D), # INFORMATION SEPARATOR THREE
+ 'RECORD SEPARATOR' => pack("U", 0x1E), # INFORMATION SEPARATOR TWO
+ 'UNIT SEPARATOR' => pack("U", 0x1F), # INFORMATION SEPARATOR ONE
+ 'HORIZONTAL TABULATION SET' => pack("U", 0x88), # CHARACTER TABULATION SET
+ 'HORIZONTAL TABULATION WITH JUSTIFICATION' => pack("U", 0x89), # CHARACTER TABULATION WITH JUSTIFICATION
+ 'PARTIAL LINE DOWN' => pack("U", 0x8B), # PARTIAL LINE FORWARD
+ 'PARTIAL LINE UP' => pack("U", 0x8C), # PARTIAL LINE BACKWARD
+ 'VERTICAL TABULATION SET' => pack("U", 0x8A), # LINE TABULATION SET
+ 'REVERSE INDEX' => pack("U", 0x8D), # REVERSE LINE FEED
+
+ # Unicode 6.0 co-opted this for U+1F514, so deprecate it for now.
+ 'BELL' => pack("U", 0x07),
+);
+
+
+my $txt; # The table of official character names
+
+my %full_names_cache; # Holds already-looked-up names, so don't have to
+# re-look them up again. The previous versions of charnames had scoping
+# bugs. For example if we use script A in one scope and find and cache
+# what Z resolves to, we can't use that cache in a different scope that
+# uses script B instead of A, as Z might be an entirely different letter
+# there; or there might be different aliases in effect in different
+# scopes, or :short may be in effect or not effect in different scopes,
+# or various combinations thereof. This was solved in this version
+# mostly by moving things to %^H. But some things couldn't be moved
+# there. One of them was the cache of runtime looked-up names, in part
+# because %^H is read-only at runtime. I (khw) don't know why the cache
+# was run-time only in the previous versions: perhaps oversight; perhaps
+# that compile time looking doesn't happen in a loop so didn't think it
+# was worthwhile; perhaps not wanting to make the cache too large. But
+# I decided to make it compile time as well; this could easily be
+# changed.
+# Anyway, this hash is not scoped, and is added to at runtime. It
+# doesn't have scoping problems because the data in it is restricted to
+# official names, which are always invariant, and we only set it and
+# look at it at during :full lookups, so is unaffected by any other
+# scoped options. I put this in to maintain parity with the older
+# version. If desired, a %short_names cache could also be made, as well
+# as one for each script, say in %script_names_cache, with each key
+# being a hash for a script named in a 'use charnames' statement. I
+# decided not to do that for now, just because it's added complication,
+# and because I'm just trying to maintain parity, not extend it.
+
+# Designed so that test decimal first, and then hex. Leading zeros
+# imply non-decimal, as do non-[0-9]
+my $decimal_qr = qr/^[1-9]\d*$/;
+
+# Returns the hex number in $1.
+my $hex_qr = qr/^(?:[Uu]\+|0[xX])?([[:xdigit:]]+)$/;
sub croak
{
@@ -52,14 +453,48 @@ sub carp
require Carp; goto &Carp::carp;
} # carp
-sub alias (@)
+sub alias (@) # Set up a single alias
{
- @_ or return %alias3;
my $alias = ref $_[0] ? $_[0] : { @_ };
- @alias3{keys %$alias} = values %$alias;
+ foreach my $name (keys %$alias) {
+ my $value = $alias->{$name};
+ next unless defined $value; # Omit if screwed up.
+
+ # Is slightly slower to just after this statement see if it is
+ # decimal, since we already know it is after having converted from
+ # hex, but makes the code easier to maintain, and is called
+ # infrequently, only at compile-time
+ if ($value !~ $decimal_qr && $value =~ $hex_qr) {
+ $value = CORE::hex $1;
+ }
+ if ($value =~ $decimal_qr) {
+ no warnings 'utf8'; # Allow even illegal characters
+ $^H{charnames_ord_aliases}{$name} = pack("U", $value);
+
+ # Use a canonical form.
+ $^H{charnames_inverse_ords}{sprintf("%05X", $value)} = $name;
+ }
+ else {
+ # XXX validate syntax when deprecation cycle complete. ie. start
+ # with an alpha only, etc.
+ $^H{charnames_name_aliases}{$name} = $value;
+ }
+ }
} # alias
-sub alias_file ($)
+sub not_legal_use_bytes_msg {
+ my ($name, $utf8) = @_;
+ my $return;
+
+ if (length($utf8) == 1) {
+ $return = sprintf("Character 0x%04x with name '%s' is", ord $utf8, $name);
+ } else {
+ $return = sprintf("String with name '%s' (and ordinals %s) contains character(s)", $name, join(" ", map { sprintf "0x%04X", ord $_ } split(//, $utf8)));
+ }
+ return $return . " above 0xFF with 'use bytes' in effect";
+}
+
+sub alias_file ($) # Reads a file containing alias definitions
{
my ($arg, $file) = @_;
if (-f $arg && File::Spec->file_name_is_absolute ($arg)) {
@@ -82,107 +517,240 @@ sub alias_file ($)
0;
} # alias_file
-# This is not optimized in any way yet
-sub charnames
-{
- my $name = shift;
+# For use when don't import anything. This structure must be kept in
+# sync with the one that import() fills up.
+my %dummy_H = (
+ charnames_stringified_names => "",
+ charnames_stringified_ords => "",
+ charnames_scripts => "",
+ charnames_full => 1,
+ charnames_short => 0,
+ );
+
+
+sub lookup_name ($$$) {
+ my ($name, $wants_ord, $runtime) = @_;
+
+ # Lookup the name or sequence $name in the tables. If $wants_ord is false,
+ # returns the string equivalent of $name; if true, returns the ordinal value
+ # instead, but in this case $name must not be a sequence; otherwise undef is
+ # returned and a warning raised. $runtime is 0 if compiletime, otherwise
+ # gives the number of stack frames to go back to get the application caller
+ # info.
+ # If $name is not found, returns undef in runtime with no warning; and in
+ # compiletime, the Unicode replacement character, with a warning.
+
+ # It looks first in the aliases, then in the large table of official Unicode
+ # names.
+
+ my $utf8; # The string result
+ my $save_input;
+
+ if ($runtime) {
+
+ my $hints_ref = (caller($runtime))[10];
+
+ # If we didn't import anything (which happens with 'use charnames ()',
+ # substitute a dummy structure.
+ $hints_ref = \%dummy_H if ! defined $hints_ref
+ || ! defined $hints_ref->{charnames_full};
+
+ # At runtime, but currently not at compile time, $^H gets
+ # stringified, so un-stringify back to the original data structures.
+ # These get thrown away by perl before the next invocation
+ # Also fill in the hash with the non-stringified data.
+ # N.B. New fields must be also added to %dummy_H
+
+ %{$^H{charnames_name_aliases}} = split ',',
+ $hints_ref->{charnames_stringified_names};
+ %{$^H{charnames_ord_aliases}} = split ',',
+ $hints_ref->{charnames_stringified_ords};
+ $^H{charnames_scripts} = $hints_ref->{charnames_scripts};
+ $^H{charnames_full} = $hints_ref->{charnames_full};
+ $^H{charnames_short} = $hints_ref->{charnames_short};
+ }
- if (exists $alias1{$name}) {
- $name = $alias1{$name};
+ # User alias should be checked first or else can't override ours, and if we
+ # were to add any, could conflict with theirs.
+ if (exists $^H{charnames_ord_aliases}{$name}) {
+ $utf8 = $^H{charnames_ord_aliases}{$name};
}
- elsif (exists $alias2{$name}) {
- require warnings;
- warnings::warnif('deprecated', qq{Unicode character name "$name" is deprecated, use "$alias2{$name}" instead});
- $name = $alias2{$name};
+ elsif (exists $^H{charnames_name_aliases}{$name}) {
+ $name = $^H{charnames_name_aliases}{$name};
+ $save_input = $name; # Cache the result for any error message
+ }
+ elsif (exists $system_aliases{$name}) {
+ $utf8 = $system_aliases{$name};
}
- elsif (exists $alias3{$name}) {
- $name = $alias3{$name};
+ elsif (exists $deprecated_aliases{$name}) {
+ require warnings;
+ warnings::warnif('deprecated', "Unicode character name \"$name\" is deprecated, use \"" . viacode(ord $deprecated_aliases{$name}) . "\" instead");
+ $utf8 = $deprecated_aliases{$name};
}
- my $ord;
my @off;
- my $fname;
- if ($name eq "BYTE ORDER MARK") {
- $fname = $name;
- $ord = 0xFEFF;
- } else {
- ## Suck in the code/name list as a big string.
- ## Lines look like:
- ## "0052\t\tLATIN CAPITAL LETTER R\n"
- $txt = do "unicore/Name.pl" unless $txt;
+ if (! defined $utf8) {
- ## @off will hold the index into the code/name string of the start and
- ## end of the name as we find it.
-
- ## If :full, look for the name exactly
- if ($^H{charnames_full} and $txt =~ /\t\t\Q$name\E$/m) {
- @off = ($-[0], $+[0]);
+ # See if has looked this input up earlier.
+ if ($^H{charnames_full} && exists $full_names_cache{$name}) {
+ $utf8 = $full_names_cache{$name};
}
+ else {
+
+ ## Suck in the code/name list as a big string.
+ ## Lines look like:
+ ## "00052\tLATIN CAPITAL LETTER R\n"
+ # or
+ # "0052 0303\tLATIN CAPITAL LETTER R WITH TILDE\n"
+ $txt = do "unicore/Name.pl" unless $txt;
+
+ ## @off will hold the index into the code/name string of the start and
+ ## end of the name as we find it.
+
+ ## If :full, look for the name exactly; runtime implies full
+ my $found_full_in_table = 0; # Tells us if can cache the result
+ if ($^H{charnames_full}) {
+
+ # See if the name is one which is algorithmically determinable.
+ # The subroutine is included in Name.pl. The table contained in
+ # $txt doesn't contain these. Experiments show that checking
+ # for these before checking for the regular names has no
+ # noticeable impact on performance for the regular names, but
+ # the other way around slows down finding these immensely.
+ # Algorithmically determinables are not placed in the cache (that
+ # $found_full_in_table indicates) because that uses up memory,
+ # and finding these again is fast.
+ if (defined (my $ord = name_to_code_point_special($name))) {
+ $utf8 = pack("U", $ord);
+ }
+ else {
+
+ # Not algorithmically determinable; look up in the table.
+ if ($txt =~ /\t\Q$name\E$/m) {
+ @off = ($-[0] + 1, $+[0]); # The 1 is for the tab
+ $found_full_in_table = 1;
+ }
+ }
+ }
- ## If we didn't get above, and :short allowed, look for the short name.
- ## The short name is like "greek:Sigma"
- unless (@off) {
- if ($^H{charnames_short} and $name =~ /^(.+?):(.+)/s) {
- my ($script, $cname) = ($1, $2);
- my $case = $cname =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL";
- if ($txt =~ m/\t\t\U$script\E (?:$case )?LETTER \U\Q$cname\E$/m) {
- @off = ($-[0], $+[0]);
- }
+ # If we didn't get it above, keep looking
+ if (! $found_full_in_table && ! defined $utf8) {
+
+ # If :short is allowed, see if input is like "greek:Sigma".
+ my $scripts_trie;
+ if (($^H{charnames_short})
+ && $name =~ /^ \s* (.+?) \s* : \s* (.+?) \s* $ /xs)
+ {
+ $scripts_trie = "\U\Q$1";
+ $name = $2;
+ }
+ else { # Otherwise look in allowed scripts
+ $scripts_trie = $^H{charnames_scripts};
+ }
+
+ my $case = $name =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL";
+ if ($txt !~
+ /\t (?: $scripts_trie ) \ (?:$case\ )? LETTER \ \U\Q$name\E $/xm)
+ {
+ # Here we still don't have it, give up.
+ return if $runtime;
+
+ # May have zapped input name, get it again.
+ $name = (defined $save_input) ? $save_input : $_[0];
+ carp "Unknown charname '$name'";
+ return ($wants_ord) ? 0xFFFD : pack("U", 0xFFFD);
+ }
+
+ @off = ($-[0] + 1, $+[0]); # The 1 is for the tab
}
- }
- ## If we still don't have it, check for the name among the loaded
- ## scripts.
- if (not @off) {
- my $case = $name =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL";
- for my $script (@{$^H{charnames_scripts}}) {
- if ($txt =~ m/\t\t$script (?:$case )?LETTER \U\Q$name\E$/m) {
- @off = ($-[0], $+[0]);
- last;
- }
+ if (! defined $utf8) {
+
+ # Here, we haven't set up the output, but we know where in the string
+ # the name starts. The string is set up so that for single characters
+ # (and not named sequences), the name is preceded immediately by a
+ # tab and 5 hex digits for its code, with a \n before those. Named
+ # sequences won't have the 7th preceding character be a \n.
+ # (Actually, for the very first entry in the table this isn't strictly
+ # true: subtracting 7 will yield -1, and the substr below will
+ # therefore yield the very last character in the table, which should
+ # also be a \n, so the statement works anyway.)
+ if (substr($txt, $off[0] - 7, 1) eq "\n") {
+ $utf8 = pack("U", CORE::hex substr($txt, $off[0] - 6, 5));
+ }
+ else {
+
+ # Here, is a named sequence. Need to go looking for the beginning,
+ # which is just after the \n from the previous entry in the table.
+ # The +1 skips past that newline, or, if the rindex() fails, to put
+ # us to an offset of zero.
+ my $charstart = rindex($txt, "\n", $off[0] - 7) + 1;
+ $utf8 = pack("U*", map { CORE::hex }
+ split " ", substr($txt, $charstart, $off[0] - $charstart - 1));
+ }
}
- }
- ## If we don't have it by now, give up.
- unless (@off) {
- carp "Unknown charname '$name'";
- return "\x{FFFD}";
+ # Cache the input so as to not have to search the large table
+ # again, but only if it came from the one search that we cache.
+ $full_names_cache{$name} = $utf8 if $found_full_in_table;
}
+ }
- ##
- ## Now know where in the string the name starts.
- ## The code, in hex, is before that.
- ##
- ## The code can be 4-6 characters long, so we've got to sort of
- ## go look for it, just after the newline that comes before $off[0].
- ##
- ## This would be much easier if unicore/Name.pl had info in
- ## a name/code order, instead of code/name order.
- ##
- ## The +1 after the rindex() is to skip past the newline we're finding,
- ## or, if the rindex() fails, to put us to an offset of zero.
- ##
- my $hexstart = rindex($txt, "\n", $off[0]) + 1;
-
- ## we know where it starts, so turn into number -
- ## the ordinal for the char.
- $ord = CORE::hex substr($txt, $hexstart, $off[0] - $hexstart);
+
+ # Here, have the utf8. If the return is to be an ord, must be any single
+ # character.
+ if ($wants_ord) {
+ return ord($utf8) if length $utf8 == 1;
}
+ else {
- if ($^H & $bytes::hint_bits) { # "use bytes" in effect?
- use bytes;
- return chr $ord if $ord <= 255;
- my $hex = sprintf "%04x", $ord;
- if (not defined $fname) {
- $fname = substr $txt, $off[0] + 2, $off[1] - $off[0] - 2;
- }
- croak "Character 0x$hex with name '$fname' is above 0xFF";
+ # Here, wants string output. If utf8 is acceptable, just return what
+ # we've got; otherwise attempt to convert it to non-utf8 and return that.
+ my $in_bytes = ($runtime)
+ ? (caller $runtime)[8] & $bytes::hint_bits
+ : $^H & $bytes::hint_bits;
+ return $utf8 if (! $in_bytes || utf8::downgrade($utf8, 1)) # The 1 arg
+ # means don't die on failure
+ }
+
+ # Here, there is an error: either there are too many characters, or the
+ # result string needs to be non-utf8, and at least one character requires
+ # utf8. Prefer any official name over the input one for the error message.
+ if (@off) {
+ $name = substr($txt, $off[0], $off[1] - $off[0]) if @off;
+ }
+ else {
+ $name = (defined $save_input) ? $save_input : $_[0];
}
- no warnings 'utf8'; # allow even illegal characters
- return pack "U", $ord;
-} # charnames
+ if ($wants_ord) {
+ # Only way to get here in this case is if result too long. Message
+ # assumes that our only caller that requires single char result is
+ # vianame.
+ carp "charnames::vianame() doesn't handle named sequences ($name). Use charnames::string_vianame() instead";
+ return;
+ }
+
+ # Only other possible failure here is from use bytes.
+ if ($runtime) {
+ carp not_legal_use_bytes_msg($name, $utf8);
+ return;
+ } else {
+ croak not_legal_use_bytes_msg($name, $utf8);
+ }
+
+} # lookup_name
+
+sub charnames {
+
+ # For \N{...}. Looks up the character name and returns the string
+ # representation of it.
+
+ # The first 0 arg means wants a string returned; the second that we are in
+ # compile time
+ return lookup_name($_[0], 0, 0);
+}
sub import
{
@@ -192,6 +760,11 @@ sub import
carp("`use charnames' needs explicit imports list");
}
$^H{charnames} = \&charnames ;
+ $^H{charnames_ord_aliases} = {};
+ $^H{charnames_name_aliases} = {};
+ $^H{charnames_inverse_ords} = {};
+ # New fields must be added to %dummy_H, and the code in lookup_name()
+ # that copies fields from the runtime structure
##
## fill %h keys with our @_ args.
@@ -200,19 +773,19 @@ sub import
while (my $arg = shift) {
if ($arg eq ":alias") {
@_ or
- croak ":alias needs an argument in charnames";
+ croak ":alias needs an argument in charnames";
my $alias = shift;
if (ref $alias) {
- ref $alias eq "HASH" or
- croak "Only HASH reference supported as argument to :alias";
- alias ($alias);
- next;
+ ref $alias eq "HASH" or
+ croak "Only HASH reference supported as argument to :alias";
+ alias ($alias);
+ next;
}
if ($alias =~ m{:(\w+)$}) {
- $1 eq "full" || $1 eq "short" and
- croak ":alias cannot use existing pragma :$1 (reversed order?)";
- alias_file ($1) and $promote = 1;
- next;
+ $1 eq "full" || $1 eq "short" and
+ croak ":alias cannot use existing pragma :$1 (reversed order?)";
+ alias_file ($1) and $promote = 1;
+ next;
}
alias_file ($alias);
next;
@@ -226,29 +799,44 @@ sub import
@args == 0 && $promote and @args = (":full");
@h{@args} = (1) x @args;
- $^H{charnames_full} = delete $h{':full'};
- $^H{charnames_short} = delete $h{':short'};
- $^H{charnames_scripts} = [map uc, keys %h];
+ $^H{charnames_full} = delete $h{':full'} || 0; # Don't leave undefined,
+ # as tested for in
+ # lookup_names
+ $^H{charnames_short} = delete $h{':short'} || 0;
+ my @scripts = map uc, keys %h;
##
## If utf8? warnings are enabled, and some scripts were given,
- ## see if at least we can find one letter of each script.
+ ## see if at least we can find one letter from each script.
##
- if (warnings::enabled('utf8') && @{$^H{charnames_scripts}}) {
+ if (warnings::enabled('utf8') && @scripts) {
$txt = do "unicore/Name.pl" unless $txt;
- for my $script (@{$^H{charnames_scripts}}) {
- if (not $txt =~ m/\t\t$script (?:CAPITAL |SMALL )?LETTER /) {
- warnings::warn('utf8', "No such script: '$script'");
+ for my $script (@scripts) {
+ if (not $txt =~ m/\t$script (?:CAPITAL |SMALL )?LETTER /) {
+ warnings::warn('utf8', "No such script: '$script'");
+ $script = quotemeta $script; # Escape it, for use in the re.
}
}
}
+
+ # %^H gets stringified, so serialize it ourselves so can extract the
+ # real data back later.
+ $^H{charnames_stringified_ords} = join ",", %{$^H{charnames_ord_aliases}};
+ $^H{charnames_stringified_names} = join ",", %{$^H{charnames_name_aliases}};
+ $^H{charnames_stringified_inverse_ords} = join ",", %{$^H{charnames_inverse_ords}};
+ $^H{charnames_scripts} = join "|", @scripts; # Stringifiy them as a trie
} # import
+# Cache of already looked-up values. This is set to only contain
+# official values, and user aliases can't override them, so scoping is
+# not an issue.
my %viacode;
-sub viacode
-{
+sub viacode {
+
+ # Returns the name of the code point argument
+
if (@_ != 1) {
carp "charnames::viacode() expects one argument";
return;
@@ -256,34 +844,66 @@ sub viacode
my $arg = shift;
- # this comes actually from Unicode::UCD, where it is the named
- # function _getcode (), but it avoids the overhead of loading it
+ # This is derived from Unicode::UCD, where it is nearly the same as the
+ # function _getcode(), but here it makes sure that even a hex argument
+ # has the proper number of leading zeros, which is critical in
+ # matching against $txt below
+ # Must check if decimal first; see comments at that definition
my $hex;
- if ($arg =~ /^[1-9]\d*$/) {
- $hex = sprintf "%04X", $arg;
- } elsif ($arg =~ /^(?:[Uu]\+|0[xX])?([[:xdigit:]]+)$/) {
- $hex = $1;
+ if ($arg =~ $decimal_qr) {
+ $hex = sprintf "%05X", $arg;
+ } elsif ($arg =~ $hex_qr) {
+ # Below is the line that differs from the _getcode() source
+ $hex = sprintf "%05X", hex $1;
} else {
carp("unexpected arg \"$arg\" to charnames::viacode()");
return;
}
- # checking the length first is slightly faster
- if (length($hex) > 5 && hex($hex) > 0x10FFFF) {
- carp "Unicode characters only allocated up to U+10FFFF (you asked for U+$hex)";
- return;
- }
-
return $viacode{$hex} if exists $viacode{$hex};
- $txt = do "unicore/Name.pl" unless $txt;
+ # If the code point is above the max in the table, there's no point
+ # looking through it. Checking the length first is slightly faster
+ if (length($hex) <= 5 || CORE::hex($hex) <= 0x10FFFF) {
+ $txt = do "unicore/Name.pl" unless $txt;
- return unless $txt =~ m/^$hex\t\t(.+)/m;
+ # See if the name is algorithmically determinable.
+ my $algorithmic = code_point_to_name_special(CORE::hex $hex);
+ if (defined $algorithmic) {
+ $viacode{$hex} = $algorithmic;
+ return $algorithmic;
+ }
- $viacode{$hex} = $1;
-} # viacode
+ # Return the official name, if exists. It's unclear to me (khw) at
+ # this juncture if it is better to return a user-defined override, so
+ # leaving it as is for now.
+ if ($txt =~ m/^$hex\t/m) {
+
+ # The name starts with the next character and goes up to the
+ # next new-line. Using capturing parentheses above instead of
+ # @+ more than doubles the execution time in Perl 5.13
+ $viacode{$hex} = substr($txt, $+[0], index($txt, "\n", $+[0]) - $+[0]);
+ return $viacode{$hex};
+ }
+ }
-my %vianame;
+ # See if there is a user name for it, before giving up completely.
+ # First get the scoped aliases, give up if have none.
+ my $H_ref = (caller(0))[10];
+ return if ! defined $H_ref
+ || ! exists $H_ref->{charnames_stringified_inverse_ords};
+
+ my %code_point_aliases = split ',',
+ $H_ref->{charnames_stringified_inverse_ords};
+ if (! exists $code_point_aliases{$hex}) {
+ if (CORE::hex($hex) > 0x10FFFF) {
+ carp "Unicode characters only allocated up to U+10FFFF (you asked for U+$hex)";
+ }
+ return;
+ }
+
+ return $code_point_aliases{$hex};
+} # viacode
sub vianame
{
@@ -292,31 +912,54 @@ sub vianame
return ()
}
+ # Looks up the character name and returns its ordinal if
+ # found, undef otherwise.
+
my $arg = shift;
- return chr CORE::hex $1 if $arg =~ /^U\+([0-9a-fA-F]+)$/;
+ if ($arg =~ /^U\+([0-9a-fA-F]+)$/) {
- return $vianame{$arg} if exists $vianame{$arg};
+ # khw claims that this is poor interface design. The function should
+ # return either a an ord or a chr for all inputs; not be bipolar. But
+ # can't change it because of backward compatibility. New code can use
+ # string_vianame() instead.
+ my $ord = CORE::hex $1;
+ return chr $ord if $ord <= 255 || ! ((caller 0)[8] & $bytes::hint_bits);
+ carp not_legal_use_bytes_msg($arg, chr $ord);
+ return;
+ }
- $txt = do "unicore/Name.pl" unless $txt;
+ # The first 1 arg means wants an ord returned; the second that we are in
+ # runtime, and this is the first level routine called from the user
+ return lookup_name($arg, 1, 1);
+} # vianame
- my $pos = index $txt, "\t\t$arg\n";
- if ($[ <= $pos) {
- my $posLF = rindex $txt, "\n", $pos;
- (my $code = substr $txt, $posLF + 1, 6) =~ tr/\t//d;
- return $vianame{$arg} = CORE::hex $code;
+sub string_vianame {
- # If $pos is at the 1st line, $posLF must be $[ - 1 (not found);
- # then $posLF + 1 equals to $[ (at the beginning of $txt).
- # Otherwise $posLF is the position of "\n";
- # then $posLF + 1 must be the position of the next to "\n"
- # (the beginning of the line).
- # substr($txt, $posLF + 1, 6) may be "0000\t\t", "00A1\t\t",
- # "10300\t", "100000", etc. So we can get the code via removing TAB.
- } else {
+ # Looks up the character name and returns its string representation if
+ # found, undef otherwise.
+
+ if (@_ != 1) {
+ carp "charnames::string_vianame() expects one name argument";
return;
}
-} # vianame
+
+ my $arg = shift;
+
+ if ($arg =~ /^U\+([0-9a-fA-F]+)$/) {
+
+ my $ord = CORE::hex $1;
+ return chr $ord if $ord <= 255 || ! ((caller 0)[8] & $bytes::hint_bits);
+
+ carp not_legal_use_bytes_msg($arg, chr $ord);
+ return;
+ }
+
+ # The 0 arg means wants a string returned; the 1 arg means that we are in
+ # runtime, and this is the first level routine called from the user
+ return lookup_name($arg, 0, 1);
+} # string_vianame
+
1;
@@ -324,65 +967,125 @@ __END__
=head1 NAME
-charnames - define character names for C<\N{named}> string literal escapes
+charnames - access to Unicode character names and named character sequences; also define character names
=head1 SYNOPSIS
- use charnames ':full';
- print "\N{GREEK SMALL LETTER SIGMA} is called sigma.\n";
+ use charnames ':full';
+ print "\N{GREEK SMALL LETTER SIGMA} is called sigma.\n";
+ print "\N{LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW}",
+ " is an officially named sequence of two Unicode characters\n";
+
+ use charnames ':short';
+ print "\N{greek:Sigma} is an upper-case sigma.\n";
+
+ use charnames qw(cyrillic greek);
+ print "\N{sigma} is Greek sigma, and \N{be} is Cyrillic b.\n";
+
+ use charnames ":full", ":alias" => {
+ e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
+ mychar => 0xE8000, # Private use area
+ };
+ print "\N{e_ACUTE} is a small letter e with an acute.\n";
+ print "\\N{mychar} allows me to name private use characters.\n";
+
+ use charnames ();
+ print charnames::viacode(0x1234); # prints "ETHIOPIC SYLLABLE SEE"
+ printf "%04X", charnames::vianame("GOTHIC LETTER AHSA"); # prints
+ # "10330"
+ print charnames::vianame("LATIN CAPITAL LETTER A"); # prints 65 on
+ # ASCII platforms;
+ # 193 on EBCDIC
+ print charnames::string_vianame("LATIN CAPITAL LETTER A"); # prints "A"
- use charnames ':short';
- print "\N{greek:Sigma} is an upper-case sigma.\n";
+=head1 DESCRIPTION
- use charnames qw(cyrillic greek);
- print "\N{sigma} is Greek sigma, and \N{be} is Cyrillic b.\n";
+Pragma C<use charnames> is used to gain access to the names of the
+Unicode characters and named character sequences, and to allow you to define
+your own character and character sequence names.
- use charnames ":full", ":alias" => {
- e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
- };
- print "\N{e_ACUTE} is a small letter e with an acute.\n";
+All forms of the pragma enable use of the following 3 functions:
- use charnames ();
- print charnames::viacode(0x1234); # prints "ETHIOPIC SYLLABLE SEE"
- printf "%04X", charnames::vianame("GOTHIC LETTER AHSA"); # prints "10330"
+=over
-=head1 DESCRIPTION
+=item *
+
+L</charnames::string_vianame(I<name>)> for run-time lookup of a
+either a character name or a named character sequence, returning its string
+representation
+
+=item *
-Pragma C<use charnames> supports arguments C<:full>, C<:short>, script
+L</charnames::vianame(I<name>)> for run-time lookup of a
+character name (but not a named character sequence) to get its ordinal value
+(code point)
+
+=item *
+
+L</charnames::viacode(I<code>)> for run-time lookup of a code point to get its
+Unicode name.
+
+=back
+
+All forms other than C<S<"use charnames ();">> also enable the use of
+C<\N{I<CHARNAME>}> sequences to compile a Unicode character into a
+string, based on its name.
+
+Note that C<\N{U+I<...>}>, where the I<...> is a hexadecimal number,
+also inserts a character into a string, but doesn't require the use of
+this pragma. The character it inserts is the one whose code point
+(ordinal value) is equal to the number. For example, C<"\N{U+263a}"> is
+the Unicode (white background, black foreground) smiley face; it doesn't
+require this pragma, whereas the equivalent, C<"\N{WHITE SMILING FACE}">
+does.
+Also, C<\N{I<...>}> can mean a regex quantifier instead of a character
+name, when the I<...> is a number (or comma separated pair of numbers
+(see L<perlreref/QUANTIFIERS>), and is not related to this pragma.
+
+The C<charnames> pragma supports arguments C<:full>, C<:short>, script
names and customized aliases. If C<:full> is present, for expansion of
-C<\N{CHARNAME}>, the string C<CHARNAME> is first looked up in the list of
+C<\N{I<CHARNAME>}>, the string I<CHARNAME> is first looked up in the list of
standard Unicode character names. If C<:short> is present, and
-C<CHARNAME> has the form C<SCRIPT:CNAME>, then C<CNAME> is looked up
-as a letter in script C<SCRIPT>. If pragma C<use charnames> is used
-with script name arguments, then for C<\N{CHARNAME}> the name
-C<CHARNAME> is looked up as a letter in the given scripts (in the
-specified order). Customized aliases are explained in L</CUSTOM ALIASES>.
-
-For lookup of C<CHARNAME> inside a given script C<SCRIPTNAME>
+I<CHARNAME> has the form C<I<SCRIPT>:I<CNAME>>, then I<CNAME> is looked up
+as a letter in script I<SCRIPT>. If C<use charnames> is used
+with script name arguments, then for C<\N{I<CHARNAME>}> the name
+I<CHARNAME> is looked up as a letter in the given scripts (in the
+specified order). Customized aliases can override these, and are explained in
+L</CUSTOM ALIASES>.
+
+For lookup of I<CHARNAME> inside a given script I<SCRIPTNAME>
this pragma looks for the names
SCRIPTNAME CAPITAL LETTER CHARNAME
SCRIPTNAME SMALL LETTER CHARNAME
SCRIPTNAME LETTER CHARNAME
-in the table of standard Unicode names. If C<CHARNAME> is lowercase,
+in the table of standard Unicode names. If I<CHARNAME> is lowercase,
then the C<CAPITAL> variant is ignored, otherwise the C<SMALL> variant
is ignored.
-Note that C<\N{...}> is compile-time, it's a special form of string
-constant used inside double-quoted strings: in other words, you cannot
+Note that C<\N{...}> is compile-time; it's a special form of string
+constant used inside double-quotish strings; this means that you cannot
use variables inside the C<\N{...}>. If you want similar run-time
-functionality, use charnames::vianame().
+functionality, use
+L<charnames::string_vianame()|/charnames::string_vianame(I<name>)>.
For the C0 and C1 control characters (U+0000..U+001F, U+0080..U+009F)
-as of Unicode 3.1, there are no official Unicode names but you can use
-instead the ISO 6429 names (LINE FEED, ESCAPE, and so forth). In
-Unicode 3.2 (as of Perl 5.8) some naming changes take place ISO 6429
-has been updated, see L</ALIASES>. Also note that the U+UU80, U+0081,
-U+0084, and U+0099 do not have names even in ISO 6429.
+there are no official Unicode names but you can use instead the ISO 6429
+names (LINE FEED, ESCAPE, and so forth, and their abbreviations, LF,
+ESC, ...). In Unicode 3.2 (as of Perl 5.8) some naming changes took
+place, and ISO 6429 was updated, see L</ALIASES>.
-Since the Unicode standard uses "U+HHHH", so can you: "\N{U+263a}"
-is the Unicode smiley face, or "\N{WHITE SMILING FACE}".
+If the input name is unknown, C<\N{NAME}> raises a warning and
+substitutes the Unicode REPLACEMENT CHARACTER (U+FFFD).
+
+For C<\N{NAME}>, it is a fatal error if C<use bytes> is in effect and the
+input name is that of a character that won't fit into a byte (i.e., whose
+ordinal is above 255).
+
+Otherwise, any string that includes a C<\N{I<charname>}> or
+C<S<\N{U+I<code point>}>> will automatically have Unicode semantics (see
+L<perlunicode/Byte and Character Semantics>).
=head1 ALIASES
@@ -394,7 +1097,7 @@ to use the official names
CARRIAGE RETURN (CR)
NEXT LINE (NEL)
-(yes, with parentheses) one can use
+(yes, with parentheses), one can use
LINE FEED
FORM FEED
@@ -405,61 +1108,125 @@ to use the official names
CR
NEL
+All the other standard abbreviations for the controls, such as C<ACK> for
+C<ACKNOWLEDGE> also can be used.
+
One can also use
BYTE ORDER MARK
BOM
-and
-
- ZWNJ
- ZWJ
-
-for ZERO WIDTH NON-JOINER and ZERO WIDTH JOINER.
+and these abbreviations
+
+ Abbreviation Full Name
+
+ CGJ COMBINING GRAPHEME JOINER
+ FVS1 MONGOLIAN FREE VARIATION SELECTOR ONE
+ FVS2 MONGOLIAN FREE VARIATION SELECTOR TWO
+ FVS3 MONGOLIAN FREE VARIATION SELECTOR THREE
+ LRE LEFT-TO-RIGHT EMBEDDING
+ LRM LEFT-TO-RIGHT MARK
+ LRO LEFT-TO-RIGHT OVERRIDE
+ MMSP MEDIUM MATHEMATICAL SPACE
+ MVS MONGOLIAN VOWEL SEPARATOR
+ NBSP NO-BREAK SPACE
+ NNBSP NARROW NO-BREAK SPACE
+ PDF POP DIRECTIONAL FORMATTING
+ RLE RIGHT-TO-LEFT EMBEDDING
+ RLM RIGHT-TO-LEFT MARK
+ RLO RIGHT-TO-LEFT OVERRIDE
+ SHY SOFT HYPHEN
+ VS1 VARIATION SELECTOR-1
+ .
+ .
+ .
+ VS256 VARIATION SELECTOR-256
+ WJ WORD JOINER
+ ZWJ ZERO WIDTH JOINER
+ ZWNJ ZERO WIDTH NON-JOINER
+ ZWSP ZERO WIDTH SPACE
For backward compatibility one can use the old names for
certain C0 and C1 controls
old new
- HORIZONTAL TABULATION CHARACTER TABULATION
- VERTICAL TABULATION LINE TABULATION
FILE SEPARATOR INFORMATION SEPARATOR FOUR
GROUP SEPARATOR INFORMATION SEPARATOR THREE
- RECORD SEPARATOR INFORMATION SEPARATOR TWO
- UNIT SEPARATOR INFORMATION SEPARATOR ONE
+ HORIZONTAL TABULATION CHARACTER TABULATION
+ HORIZONTAL TABULATION SET CHARACTER TABULATION SET
+ HORIZONTAL TABULATION WITH JUSTIFICATION CHARACTER TABULATION
+ WITH JUSTIFICATION
PARTIAL LINE DOWN PARTIAL LINE FORWARD
PARTIAL LINE UP PARTIAL LINE BACKWARD
+ RECORD SEPARATOR INFORMATION SEPARATOR TWO
+ REVERSE INDEX REVERSE LINE FEED
+ UNIT SEPARATOR INFORMATION SEPARATOR ONE
+ VERTICAL TABULATION LINE TABULATION
+ VERTICAL TABULATION SET LINE TABULATION SET
but the old names in addition to giving the character
will also give a warning about being deprecated.
+And finally, certain published variants are usable, including some for
+controls that have no Unicode names:
+
+ name character
+
+ END OF PROTECTED AREA END OF GUARDED AREA, U+0097
+ HIGH OCTET PRESET U+0081
+ HOP U+0081
+ IND U+0084
+ INDEX U+0084
+ PAD U+0080
+ PADDING CHARACTER U+0080
+ PRIVATE USE 1 PRIVATE USE ONE, U+0091
+ PRIVATE USE 2 PRIVATE USE TWO, U+0092
+ SGC U+0099
+ SINGLE GRAPHIC CHARACTER INTRODUCER U+0099
+ SINGLE-SHIFT 2 SINGLE SHIFT TWO, U+008E
+ SINGLE-SHIFT 3 SINGLE SHIFT THREE, U+008F
+ START OF PROTECTED AREA START OF GUARDED AREA, U+0096
+
=head1 CUSTOM ALIASES
-This version of charnames supports three mechanisms of adding local
-or customized aliases to standard Unicode naming conventions (:full).
+You can add customized aliases to standard (C<:full>) Unicode naming
+conventions. The aliases override any standard definitions, so, if
+you're twisted enough, you can change C<"\N{LATIN CAPITAL LETTER A}"> to
+mean C<"B">, etc.
Note that an alias should not be something that is a legal curly
brace-enclosed quantifier (see L<perlreref/QUANTIFIERS>). For example
-C<\N{123}> means to match 123 non-newline characters, and is not treated as an
-alias. Aliases are discouraged from beginning with anything other than an
-alphabetic character and from containing anything other than alphanumerics,
-spaces, dashes, colons, parentheses, and underscores. Currently they must be
-ASCII.
-
-=head2 Anonymous hashes
-
- use charnames ":full", ":alias" => {
+C<\N{123}> means to match 123 non-newline characters, and is not treated as a
+charnames alias. Aliases are discouraged from beginning with anything
+other than an alphabetic character and from containing anything other
+than alphanumerics, spaces, dashes, parentheses, and underscores.
+Currently they must be ASCII.
+
+An alias can map to either an official Unicode character name or to a
+numeric code point (ordinal). The latter is useful for assigning names
+to code points in Unicode private use areas such as U+E800 through
+U+F8FF.
+A numeric code point must be a non-negative integer or a string beginning
+with C<"U+"> or C<"0x"> with the remainder considered to be a
+hexadecimal integer. A literal numeric constant must be unsigned; it
+will be interpreted as hex if it has a leading zero or contains
+non-decimal hex digits; otherwise it will be interpreted as decimal.
+
+Aliases are added either by the use of anonymous hashes:
+
+ use charnames ":alias" => {
e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
+ mychar1 => 0xE8000,
};
my $str = "\N{e_ACUTE}";
-=head2 Alias file
+or by using a file containing aliases:
- use charnames ":full", ":alias" => "pro";
+ use charnames ":alias" => "pro";
- will try to read "unicore/pro_alias.pl" from the @INC path. This
- file should return a list in plain perl:
+This will try to read C<"unicore/pro_alias.pl"> from the C<@INC> path. This
+file should return a list in plain perl:
(
A_GRAVE => "LATIN CAPITAL LETTER A WITH GRAVE",
@@ -469,46 +1236,78 @@ ASCII.
A_BREVE => "LATIN CAPITAL LETTER A WITH BREVE",
A_RING => "LATIN CAPITAL LETTER A WITH RING ABOVE",
A_MACRON => "LATIN CAPITAL LETTER A WITH MACRON",
+ mychar2 => "U+E8001",
);
-=head2 Alias shortcut
+Both these methods insert C<":full"> automatically as the first argument (if no
+other argument is given), and you can give the C<":full"> explicitly as
+well, like
- use charnames ":alias" => ":pro";
+ use charnames ":full", ":alias" => "pro";
- works exactly the same as the alias pairs, only this time,
- ":full" is inserted automatically as first argument (if no
- other argument is given).
+Also, both these methods currently allow only a single character to be named.
+To name a sequence of characters, use a
+L<custom translator|/CUSTOM TRANSLATORS> (described below).
-=head1 charnames::viacode(code)
+=head1 charnames::viacode(I<code>)
Returns the full name of the character indicated by the numeric code.
-The example
+For example,
print charnames::viacode(0x2722);
prints "FOUR TEARDROP-SPOKED ASTERISK".
-Returns undef if no name is known for the code.
-
-This works only for the standard names, and does not yet apply
-to custom translators.
+The name returned is the official name for the code point, if
+available; otherwise your custom alias for it. This means that your
+alias will only be returned for code points that don't have an official
+Unicode name (nor Unicode version 1 name), such as private use code
+points, and the 4 control characters U+0080, U+0081, U+0084, and U+0099.
+If you define more than one name for the code point, it is indeterminate
+which one will be returned.
+
+The function returns C<undef> if no name is known for the code point.
+In Unicode the proper name of these is the empty string, which
+C<undef> stringifies to. (If you ask for a code point past the legal
+Unicode maximum of U+10FFFF that you haven't assigned an alias to, you
+get C<undef> plus a warning.)
+
+The input number must be a non-negative integer or a string beginning
+with C<"U+"> or C<"0x"> with the remainder considered to be a
+hexadecimal integer. A literal numeric constant must be unsigned; it
+will be interpreted as hex if it has a leading zero or contains
+non-decimal hex digits; otherwise it will be interpreted as decimal.
Notice that the name returned for of U+FEFF is "ZERO WIDTH NO-BREAK
SPACE", not "BYTE ORDER MARK".
-=head1 charnames::vianame(name)
+=head1 charnames::string_vianame(I<name>)
+
+This is a runtime equivalent to C<\N{...}>. I<name> can be any expression
+that evaluates to a name accepted by C<\N{...}> under the L<C<:full>
+option|/DESCRIPTION> to C<charnames>. In addition, any other options for the
+controlling C<"use charnames"> in the same scope apply, like any L<script
+list, C<:short> option|/DESCRIPTION>, or L<custom aliases|/CUSTOM ALIASES> you
+may have defined.
+
+The only difference is that if the input name is unknown, C<string_vianame>
+returns C<undef> instead of the REPLACEMENT CHARACTER and does not raise a
+warning message.
-Returns the code point indicated by the name.
-The example
+=head1 charnames::vianame(I<name>)
- printf "%04X", charnames::vianame("FOUR TEARDROP-SPOKED ASTERISK");
+This is similar to C<string_vianame>. The main difference is that under most
+circumstances (see L</BUGS> for the others), vianame returns an ordinal code
+point, whereas C<string_vianame> returns a string. For example,
-prints "2722".
+ printf "U+%04X", charnames::vianame("FOUR TEARDROP-SPOKED ASTERISK");
-Returns undef if the name is unknown.
+prints "U+2722".
-This works only for the standard names, and does not yet apply
-to custom translators.
+This leads to the other two differences. Since a single code point is
+returned, the function can't handle named character sequences, as these are
+composed of multiple characters. And, the code point can be that of any
+character, even ones that aren't legal under the C<S<use bytes>> pragma,
=head1 CUSTOM TRANSLATORS
@@ -518,60 +1317,48 @@ translations (inside the scope which C<use>s the module) with the
following magic incantation:
sub import {
- shift;
- $^H{charnames} = \&translator;
+ shift;
+ $^H{charnames} = \&translator;
}
-Here translator() is a subroutine which takes C<CHARNAME> as an
+Here translator() is a subroutine which takes I<CHARNAME> as an
argument, and returns text to insert into the string instead of the
-C<\N{CHARNAME}> escape. Since the text to insert should be different
+C<\N{I<CHARNAME>}> escape. Since the text to insert should be different
in C<bytes> mode and out of it, the function should check the current
state of C<bytes>-flag as in:
- use bytes (); # for $bytes::hint_bits
+ use bytes (); # for $bytes::hint_bits
sub translator {
- if ($^H & $bytes::hint_bits) {
- return bytes_translator(@_);
- }
- else {
- return utf8_translator(@_);
- }
+ if ($^H & $bytes::hint_bits) {
+ return bytes_translator(@_);
+ }
+ else {
+ return utf8_translator(@_);
+ }
}
-See L</CUSTOM ALIASES> above for restrictions on C<CHARNAME>.
+See L</CUSTOM ALIASES> above for restrictions on I<CHARNAME>.
-=head1 ILLEGAL CHARACTERS
-
-If you ask by name for a character that does not exist, a warning is given and
-the Unicode I<replacement character> "\x{FFFD}" is returned.
-
-If you ask by code for a character that is unassigned, no warning is
-given and C<undef> is returned. (Though if you ask for a code point
-past U+10FFFF you do get a warning.) See L</BUGS> below.
+Of course, C<vianame> and C<viacode> would need to be overridden as
+well.
=head1 BUGS
-viacode should return an empty string for unassigned in-range Unicode code
-points, as that is their correct current name.
-
-viacode(0) doesn't return C<NULL>, but C<undef>
-
-vianame returns a chr if the input name is of the form C<U+...>, and an ord
-otherwise. It is planned to change this to always return an ord.
+vianame normally returns an ordinal code point, but when the input name is of
+the form C<U+...>, it returns a chr instead. In this case, if C<use bytes> is
+in effect and the character won't fit into a byte, it returns C<undef> and
+raises a warning.
-None of the functions work on almost all the Hangul syllable and CJK Unicode
-characters that have their code points as part of their names.
+Names must be ASCII characters only, which means that you are out of luck if
+you want to create aliases in a language where some or all the characters of
+the desired aliases are non-ASCII.
-Names must be ASCII characters only.
-
-Unicode standard named sequences are not recognized, such as
-C<LATIN CAPITAL LETTER A WITH MACRON AND GRAVE>
-(which should mean C<LATIN CAPITAL LETTER A WITH MACRON> with an additional
-C<COMBINING GRAVE ACCENT>).
-
-Since evaluation of the translation function happens in the middle of
-compilation (of a string literal), the translation function should not
-do any C<eval>s or C<require>s. This restriction should be lifted in
+Since evaluation of the translation function (see L</CUSTOM
+TRANSLATORS>) happens in the middle of compilation (of a string
+literal), the translation function should not do any C<eval>s or
+C<require>s. This restriction should be lifted (but is low priority) in
a future version of Perl.
=cut
+
+# ex: set ts=8 sts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/complete.pl b/Master/tlpkg/tlperl/lib/complete.pl
index 2fb3b33b85e..9ed041ca83c 100644
--- a/Master/tlpkg/tlperl/lib/complete.pl
+++ b/Master/tlpkg/tlperl/lib/complete.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;#
#
# This library is no longer being maintained, and is included for backward
diff --git a/Master/tlpkg/tlperl/lib/constant.pm b/Master/tlpkg/tlperl/lib/constant.pm
index 3ee1a6f5b02..22566ce28cf 100644
--- a/Master/tlpkg/tlperl/lib/constant.pm
+++ b/Master/tlpkg/tlperl/lib/constant.pm
@@ -4,7 +4,7 @@ use strict;
use warnings::register;
use vars qw($VERSION %declared);
-$VERSION = '1.20';
+$VERSION = '1.21';
#=======================================================================
@@ -116,6 +116,12 @@ sub import {
$declared{$full_name}++;
if ($multiple || @_ == 1) {
my $scalar = $multiple ? $constants->{$name} : $_[0];
+
+ # Work around perl bug #xxxxx: Sub names (actually glob
+ # names in general) ignore the UTF8 flag. So we have to
+ # turn it off to get the "right" symbol table entry.
+ utf8::is_utf8 $name and utf8::encode $name;
+
# The constant serves to optimise this entire block out on
# 5.8 and earlier.
if (_CAN_PCS && $symtab && !exists $symtab->{$name}) {
diff --git a/Master/tlpkg/tlperl/lib/ctime.pl b/Master/tlpkg/tlperl/lib/ctime.pl
index 1b91ec289f5..aa00d003105 100644
--- a/Master/tlpkg/tlperl/lib/ctime.pl
+++ b/Master/tlpkg/tlperl/lib/ctime.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# ctime.pl is a simple Perl emulation for the well known ctime(3C) function.
#
# This library is no longer being maintained, and is included for backward
@@ -35,7 +37,6 @@ sub ctime {
package ctime;
local($time) = @_;
- local($[) = 0;
local($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
# Determine what time zone is in effect.
diff --git a/Master/tlpkg/tlperl/lib/deprecate.pm b/Master/tlpkg/tlperl/lib/deprecate.pm
index 7b92e0be7cb..7562c698f88 100644
--- a/Master/tlpkg/tlperl/lib/deprecate.pm
+++ b/Master/tlpkg/tlperl/lib/deprecate.pm
@@ -1,16 +1,17 @@
package deprecate;
use strict;
use warnings;
-our $VERSION = 0.01;
+our $VERSION = 0.02;
# our %Config can ignore %Config::Config, e.g. for testing
our %Config;
unless (%Config) { require Config; *Config = \%Config::Config; }
-sub import {
- my ($package, $file, $line) = caller;
- my $expect_leaf = "$package.pm";
- $expect_leaf =~ s!::!/!g;
+# This isn't a public API. It's internal to code maintained by the perl-porters
+# If you would like it to be a public API, please send a patch with
+# documentation and tests. Until then, it may change without warning.
+sub __loaded_from_core {
+ my ($package, $file, $expect_leaf) = @_;
foreach my $pair ([qw(sitearchexp archlibexp)],
[qw(sitelibexp privlibexp)]) {
@@ -23,32 +24,43 @@ sub import {
next if $site eq $priv;
if (uc("$priv/$expect_leaf") eq uc($file)) {
- my $call_depth=1;
- my @caller;
- while (@caller = caller $call_depth++) {
- last if $caller[7] # use/require
- and $caller[6] eq $expect_leaf; # the package file
- }
- unless (@caller) {
- require Carp;
- Carp::cluck(<<"EOM");
+ return 1;
+ }
+ }
+ return 0;
+}
+
+sub import {
+ my ($package, $file) = caller;
+
+ my $expect_leaf = "$package.pm";
+ $expect_leaf =~ s!::!/!g;
+
+ if (__loaded_from_core($package, $file, $expect_leaf)) {
+ my $call_depth=1;
+ my @caller;
+ while (@caller = caller $call_depth++) {
+ last if $caller[7] # use/require
+ and $caller[6] eq $expect_leaf; # the package file
+ }
+ unless (@caller) {
+ require Carp;
+ Carp::cluck(<<"EOM");
Can't find use/require $expect_leaf in caller stack
EOM
- next;
- }
+ return;
+ }
- # This is fragile, because it
- # is directly poking in the internals of warnings.pm
- my ($call_file, $call_line, $callers_bitmask) = @caller[1,2,9];
+ # This is fragile, because it
+ # is directly poking in the internals of warnings.pm
+ my ($call_file, $call_line, $callers_bitmask) = @caller[1,2,9];
- if (defined $callers_bitmask
- && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
- || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
- warn <<"EOM";
+ if (defined $callers_bitmask
+ && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
+ || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
+ warn <<"EOM";
$package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
EOM
- }
- return;
}
}
}
@@ -95,7 +107,7 @@ Original version by Nicholas Clark
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2009
+Copyright (C) 2009, 2011
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
diff --git a/Master/tlpkg/tlperl/lib/diagnostics.pm b/Master/tlpkg/tlperl/lib/diagnostics.pm
index 721b466fd05..b3464488d7a 100644
--- a/Master/tlpkg/tlperl/lib/diagnostics.pm
+++ b/Master/tlpkg/tlperl/lib/diagnostics.pm
@@ -185,7 +185,7 @@ use 5.009001;
use Carp;
$Carp::Internal{__PACKAGE__.""}++;
-our $VERSION = '1.19';
+our $VERSION = '1.22';
our $DEBUG;
our $VERBOSE;
our $PRETTY;
@@ -211,12 +211,6 @@ my @trypod = (
unshift @trypod, "./pod/perldiag.pod" if -e "pod/perldiag.pod";
(my $PODFILE) = ((grep { -e } @trypod), $trypod[$#trypod])[0];
-if ($^O eq 'MacOS') {
- # just updir one from each lib dir, we'll find it ...
- ($PODFILE) = grep { -e } map { "$_:pod:perldiag.pod" } @INC;
-}
-
-
$DEBUG ||= 0;
my $WHOAMI = ref bless []; # nobody's business, prolly not even mine
@@ -325,19 +319,42 @@ my %msg;
print STDERR "FINISHING COMPILATION for $_\n" if $DEBUG;
local $/ = '';
my $header;
+ my @headers;
my $for_item;
+ my $seen_body;
while (<POD_DIAG>) {
+ sub _split_pod_link {
+ $_[0] =~ '(?:([^|]*)\|)?([^/]*)(?:/("?)(.*)\3)?';
+ ($1,$2,$4);
+ }
+
unescape();
if ($PRETTY) {
sub noop { return $_[0] } # spensive for a noop
sub bold { my $str =$_[0]; $str =~ s/(.)/$1\b$1/g; return $str; }
sub italic { my $str = $_[0]; $str =~ s/(.)/_\b$1/g; return $str; }
s/C<<< (.*?) >>>|C<< (.*?) >>|[BC]<(.*?)>/bold($+)/ges;
- s/[LIF]<(.*?)>/italic($1)/ges;
+ s/[IF]<(.*?)>/italic($1)/ges;
+ s/L<(.*?)>/
+ my($text,$page,$sect) = _split_pod_link($1);
+ defined $text
+ ? $text
+ : defined $sect
+ ? italic($sect) . ' in ' . italic($page)
+ : italic($page)
+ /ges;
} else {
s/C<<< (.*?) >>>|C<< (.*?) >>|[BC]<(.*?)>/$+/gs;
- s/[LIF]<(.*?)>/$1/gs;
+ s/[IF]<(.*?)>/$1/gs;
+ s/L<(.*?)>/
+ my($text,$page,$sect) = _split_pod_link($1);
+ defined $text
+ ? $text
+ : defined $sect
+ ? qq '"$sect" in $page'
+ : $page
+ /ges;
}
unless (/^=/) {
if (defined $header) {
@@ -350,10 +367,22 @@ my %msg;
}
s/^/ /gm;
$msg{$header} .= $_;
+ for my $h(@headers) { $msg{$h} .= $_ }
+ ++$seen_body;
undef $for_item;
}
next;
}
+
+ # If we have not come across the body of the description yet, then
+ # the previous header needs to share the same description.
+ if ($seen_body) {
+ @headers = ();
+ }
+ else {
+ push @headers, $header if defined $header;
+ }
+
unless ( s/=item (.*?)\s*\z//) {
if ( s/=head1\sDESCRIPTION//) {
@@ -413,6 +442,7 @@ my %msg;
if $msg{$header};
$msg{$header} = '';
+ $seen_body = 0;
}
@@ -560,7 +590,7 @@ sub splainthis {
s/, <.*?> (?:line|chunk).*$//;
# Discard 1st " at <file> line <no>" and all text beyond
- # but be aware of messsages containing " at this-or-that"
+ # but be aware of messages containing " at this-or-that"
my $real = 0;
my @secs = split( / at / );
return unless @secs;
diff --git a/Master/tlpkg/tlperl/lib/dotsh.pl b/Master/tlpkg/tlperl/lib/dotsh.pl
index 2ae88ba43de..92f1f4c1faf 100644
--- a/Master/tlpkg/tlperl/lib/dotsh.pl
+++ b/Master/tlpkg/tlperl/lib/dotsh.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
#
# @(#)dotsh.pl 03/19/94
#
diff --git a/Master/tlpkg/tlperl/lib/dumpvar.pl b/Master/tlpkg/tlperl/lib/dumpvar.pl
index 0268cea8bc8..523bda815c9 100644
--- a/Master/tlpkg/tlperl/lib/dumpvar.pl
+++ b/Master/tlpkg/tlperl/lib/dumpvar.pl
@@ -251,7 +251,7 @@ sub unwrap {
if ($#$v >= 0) {
$short = $sp . "0..$#{$v} " .
join(" ",
- map {exists $v->[$_] ? stringify $v->[$_] : "empty"} ($[..$tArrayDepth)
+ map {exists $v->[$_] ? stringify $v->[$_] : "empty"} (0..$tArrayDepth)
) . "$shortmore";
} else {
$short = $sp . "empty array";
@@ -262,7 +262,7 @@ sub unwrap {
# print "$short\n";
# return;
#}
- for $num ($[ .. $tArrayDepth) {
+ for $num (0 .. $tArrayDepth) {
return if $DB::signal;
print "$sp$num ";
if (exists $v->[$num]) {
diff --git a/Master/tlpkg/tlperl/lib/exceptions.pl b/Master/tlpkg/tlperl/lib/exceptions.pl
index 09a4d3e7ae1..8af64c8a1b6 100644
--- a/Master/tlpkg/tlperl/lib/exceptions.pl
+++ b/Master/tlpkg/tlperl/lib/exceptions.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# exceptions.pl
# tchrist@convex.com
#
@@ -10,7 +12,7 @@
# programming techniques.
# Here's a little code I use for exception handling. It's really just
-# glorfied eval/die. The way to use use it is when you might otherwise
+# glorified eval/die. The way to use use it is when you might otherwise
# exit, use &throw to raise an exception. The first enclosing &catch
# handler looks at the exception and decides whether it can catch this kind
# (catch takes a list of regexps to catch), and if so, it returns the one it
diff --git a/Master/tlpkg/tlperl/lib/fastcwd.pl b/Master/tlpkg/tlperl/lib/fastcwd.pl
index 34b60f71a08..70007a1001e 100644
--- a/Master/tlpkg/tlperl/lib/fastcwd.pl
+++ b/Master/tlpkg/tlperl/lib/fastcwd.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# By John Bazik
#
# This library is no longer being maintained, and is included for backward
diff --git a/Master/tlpkg/tlperl/lib/feature.pm b/Master/tlpkg/tlperl/lib/feature.pm
index 1517c1ffe81..9d666adb64a 100644
--- a/Master/tlpkg/tlperl/lib/feature.pm
+++ b/Master/tlpkg/tlperl/lib/feature.pm
@@ -1,6 +1,6 @@
package feature;
-our $VERSION = '1.16';
+our $VERSION = '1.20';
# (feature name) => (internal name, used in %^H)
my %feature = (
@@ -21,6 +21,8 @@ my %feature_bundle = (
"5.10" => [qw(switch say state)],
"5.11" => [qw(switch say state unicode_strings)],
"5.12" => [qw(switch say state unicode_strings)],
+ "5.13" => [qw(switch say state unicode_strings)],
+ "5.14" => [qw(switch say state unicode_strings)],
);
# special case
@@ -104,11 +106,22 @@ See L<perlsub/"Persistent Private Variables"> for details.
=head2 the 'unicode_strings' feature
-C<use feature 'unicode_strings'> tells the compiler to treat
-all strings outside of C<use locale> and C<use bytes> as Unicode. It is
-available starting with Perl 5.11.3.
-
-See L<perlunicode/The "Unicode Bug"> for details.
+C<use feature 'unicode_strings'> tells the compiler to use Unicode semantics
+in all string operations executed within its scope (unless they are also
+within the scope of either C<use locale> or C<use bytes>). The same applies
+to all regular expressions compiled within the scope, even if executed outside
+it.
+
+C<no feature 'unicode_strings'> tells the compiler to use the traditional
+Perl semantics wherein the native character set semantics is used unless it is
+clear to Perl that Unicode is desired. This can lead to some surprises
+when the behavior suddenly changes. (See
+L<perlunicode/The "Unicode Bug"> for details.) For this reason, if you are
+potentially using Unicode in your program, the
+C<use feature 'unicode_strings'> subpragma is B<strongly> recommended.
+
+This subpragma is available starting with Perl 5.11.3, but was not fully
+implemented until 5.13.8.
=head1 FEATURE BUNDLES
diff --git a/Master/tlpkg/tlperl/lib/find.pl b/Master/tlpkg/tlperl/lib/find.pl
index f79decf8372..8e1b42c88a0 100644
--- a/Master/tlpkg/tlperl/lib/find.pl
+++ b/Master/tlpkg/tlperl/lib/find.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# This library is deprecated and unmaintained. It is included for
# compatibility with Perl 4 scripts which may use it, but it will be
# removed in a future version of Perl. Please use the File::Find module
diff --git a/Master/tlpkg/tlperl/lib/finddepth.pl b/Master/tlpkg/tlperl/lib/finddepth.pl
index 331247ae29d..479905f6f8b 100644
--- a/Master/tlpkg/tlperl/lib/finddepth.pl
+++ b/Master/tlpkg/tlperl/lib/finddepth.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# This library is deprecated and unmaintained. It is included for
# compatibility with Perl 4 scripts which may use it, but it will be
# removed in a future version of Perl. Please use the File::Find module
diff --git a/Master/tlpkg/tlperl/lib/flush.pl b/Master/tlpkg/tlperl/lib/flush.pl
index e621ff063c7..c427976b51a 100644
--- a/Master/tlpkg/tlperl/lib/flush.pl
+++ b/Master/tlpkg/tlperl/lib/flush.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
#
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
diff --git a/Master/tlpkg/tlperl/lib/getcwd.pl b/Master/tlpkg/tlperl/lib/getcwd.pl
index fcca2ced80d..77b2442d3bb 100644
--- a/Master/tlpkg/tlperl/lib/getcwd.pl
+++ b/Master/tlpkg/tlperl/lib/getcwd.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# By Brandon S. Allbery
#
# This library is no longer being maintained, and is included for backward
@@ -38,7 +40,7 @@ sub getcwd
closedir(getcwd'PARENT); #');
return '';
}
- if ($pst[$[] == $cst[$[] && $pst[$[ + 1] == $cst[$[ + 1])
+ if ($pst[0] == $cst[0] && $pst[1] == $cst[1])
{
$dir = '';
}
@@ -59,8 +61,8 @@ sub getcwd
# return '';
}
}
- while ($dir eq '.' || $dir eq '..' || $tst[$[] != $pst[$[] ||
- $tst[$[ + 1] != $pst[$[ + 1]);
+ while ($dir eq '.' || $dir eq '..' || $tst[0] != $pst[0] ||
+ $tst[1] != $pst[1]);
}
$cwd = "$dir/$cwd";
closedir(getcwd'PARENT); #');
diff --git a/Master/tlpkg/tlperl/lib/getopt.pl b/Master/tlpkg/tlperl/lib/getopt.pl
index 343921f39cc..1d4008aaf60 100644
--- a/Master/tlpkg/tlperl/lib/getopt.pl
+++ b/Master/tlpkg/tlperl/lib/getopt.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# $RCSfile: getopt.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:23:58 $
#
# This library is no longer being maintained, and is included for backward
@@ -22,11 +24,10 @@
sub Getopt {
local($argumentative) = @_;
local($_,$first,$rest);
- local($[) = 0;
while (@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) {
($first,$rest) = ($1,$2);
- if (index($argumentative,$first) >= $[) {
+ if (index($argumentative,$first) >= 0) {
if ($rest ne '') {
shift(@ARGV);
}
diff --git a/Master/tlpkg/tlperl/lib/getopts.pl b/Master/tlpkg/tlperl/lib/getopts.pl
index b2aa5cb60e1..37ecb4aaa44 100644
--- a/Master/tlpkg/tlperl/lib/getopts.pl
+++ b/Master/tlpkg/tlperl/lib/getopts.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# getopts.pl - a better getopt.pl
#
# This library is no longer being maintained, and is included for backward
@@ -16,13 +18,12 @@ sub Getopts {
local($argumentative) = @_;
local(@args,$_,$first,$rest);
local($errs) = 0;
- local($[) = 0;
@args = split( / */, $argumentative );
while(@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) {
($first,$rest) = ($1,$2);
$pos = index($argumentative,$first);
- if($pos >= $[) {
+ if($pos >= 0) {
if($args[$pos+1] eq ':') {
shift(@ARGV);
if($rest eq '') {
diff --git a/Master/tlpkg/tlperl/lib/hostname.pl b/Master/tlpkg/tlperl/lib/hostname.pl
index 33907c6cb74..f57375e98ba 100644
--- a/Master/tlpkg/tlperl/lib/hostname.pl
+++ b/Master/tlpkg/tlperl/lib/hostname.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# From: asherman@fmrco.com (Aaron Sherman)
#
# This library is no longer being maintained, and is included for backward
diff --git a/Master/tlpkg/tlperl/lib/if.pm b/Master/tlpkg/tlperl/lib/if.pm
index 5f6bcc8ae16..d321cd6157e 100644
--- a/Master/tlpkg/tlperl/lib/if.pm
+++ b/Master/tlpkg/tlperl/lib/if.pm
@@ -1,6 +1,6 @@
package if;
-$VERSION = '0.05';
+$VERSION = '0.0601';
sub work {
my $method = shift() ? 'import' : 'unimport';
@@ -50,7 +50,7 @@ required version of the module.
=head1 AUTHOR
-Ilya Zakharevich L<mailto:perl-module-if@ilyaz.org>.
+Ilya Zakharevich L<mailto:ilyaz@cpan.org>.
=cut
diff --git a/Master/tlpkg/tlperl/lib/importenv.pl b/Master/tlpkg/tlperl/lib/importenv.pl
index 865a22652d6..625edf636d5 100644
--- a/Master/tlpkg/tlperl/lib/importenv.pl
+++ b/Master/tlpkg/tlperl/lib/importenv.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
# This legacy library is deprecated and will be removed in a future
diff --git a/Master/tlpkg/tlperl/lib/inc/latest.pm b/Master/tlpkg/tlperl/lib/inc/latest.pm
index fc9e2e94bf8..94802e7a357 100644
--- a/Master/tlpkg/tlperl/lib/inc/latest.pm
+++ b/Master/tlpkg/tlperl/lib/inc/latest.pm
@@ -1,7 +1,7 @@
package inc::latest;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use Carp;
diff --git a/Master/tlpkg/tlperl/lib/inc/latest/private.pm b/Master/tlpkg/tlperl/lib/inc/latest/private.pm
index 572ae8a82cb..1e40b29cc74 100644
--- a/Master/tlpkg/tlperl/lib/inc/latest/private.pm
+++ b/Master/tlpkg/tlperl/lib/inc/latest/private.pm
@@ -1,7 +1,7 @@
package inc::latest::private;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3800';
$VERSION = eval $VERSION;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/lib.pm b/Master/tlpkg/tlperl/lib/lib.pm
index 471d381bb7c..973c7744b90 100644
--- a/Master/tlpkg/tlperl/lib/lib.pm
+++ b/Master/tlpkg/tlperl/lib/lib.pm
@@ -13,13 +13,7 @@ my @inc_version_list = reverse split / /, $Config{inc_version_list};
our @ORIG_INC = @INC; # take a handy copy of 'original' value
-our $VERSION = '0.62';
-my $Is_MacOS = $^O eq 'MacOS';
-my $Mac_FS;
-if ($Is_MacOS) {
- require File::Spec;
- $Mac_FS = eval { require Mac::FileSpec::Unixish };
-}
+our $VERSION = '0.63';
sub import {
shift;
@@ -32,8 +26,6 @@ sub import {
Carp::carp("Empty compile time value given to use lib");
}
- $path = _nativize($path);
-
if ($path !~ /\.par$/i && -e $path && ! -d _) {
require Carp;
Carp::carp("Parameter to use lib must be directory, not file");
@@ -42,9 +34,7 @@ sub import {
# Add any previous version directories we found at configure time
foreach my $incver (@inc_version_list)
{
- my $dir = $Is_MacOS
- ? File::Spec->catdir( $path, $incver )
- : "$path/$incver";
+ my $dir = "$path/$incver";
unshift(@INC, $dir) if -d $dir;
}
# Put a corresponding archlib directory in front of $path if it
@@ -66,9 +56,7 @@ sub unimport {
shift;
my %names;
- foreach (@_) {
- my $path = _nativize($_);
-
+ foreach my $path (@_) {
my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir)
= _get_dirs($path);
++$names{$path};
@@ -86,31 +74,12 @@ sub _get_dirs {
my($dir) = @_;
my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
- # we could use this for all platforms in the future, but leave it
- # Mac-only for now, until there is more time for testing it.
- if ($Is_MacOS) {
- $arch_auto_dir = File::Spec->catdir( $dir, $archname, 'auto' );
- $arch_dir = File::Spec->catdir( $dir, $archname, );
- $version_dir = File::Spec->catdir( $dir, $version );
- $version_arch_dir = File::Spec->catdir( $dir, $version, $archname );
- } else {
- $arch_auto_dir = "$dir/$archname/auto";
- $arch_dir = "$dir/$archname";
- $version_dir = "$dir/$version";
- $version_arch_dir = "$dir/$version/$archname";
- }
- return($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
-}
+ $arch_auto_dir = "$dir/$archname/auto";
+ $arch_dir = "$dir/$archname";
+ $version_dir = "$dir/$version";
+ $version_arch_dir = "$dir/$version/$archname";
-sub _nativize {
- my($dir) = @_;
-
- if ($Is_MacOS && $Mac_FS && ! -d $dir) {
- $dir = Mac::FileSpec::Unixish::nativize($dir);
- $dir .= ":" unless $dir =~ /:$/;
- }
-
- return $dir;
+ return($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
}
1;
diff --git a/Master/tlpkg/tlperl/lib/look.pl b/Master/tlpkg/tlperl/lib/look.pl
index f2a4e09dd6b..7be55b2d675 100644
--- a/Master/tlpkg/tlperl/lib/look.pl
+++ b/Master/tlpkg/tlperl/lib/look.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# Usage: &look(*FILEHANDLE,$key,$dict,$fold)
#
# This library is no longer being maintained, and is included for backward
diff --git a/Master/tlpkg/tlperl/lib/lwpcook.pod b/Master/tlpkg/tlperl/lib/lwpcook.pod
index 172c819fe17..2002b79925e 100644
--- a/Master/tlpkg/tlperl/lib/lwpcook.pod
+++ b/Master/tlpkg/tlperl/lib/lwpcook.pod
@@ -20,11 +20,11 @@ net. The LWP::Simple module provides the get() function that return
the document specified by its URL argument:
use LWP::Simple;
- $doc = get 'http://www.linpro.no/lwp/';
+ $doc = get 'http://search.cpan.org/dist/libwww-perl/';
or, as a perl one-liner using the getprint() function:
- perl -MLWP::Simple -e 'getprint "http://www.linpro.no/lwp/"'
+ perl -MLWP::Simple -e 'getprint "http://search.cpan.org/dist/libwww-perl/"'
or, how about fetching the latest perl by running this command:
@@ -35,7 +35,7 @@ or, how about fetching the latest perl by running this command:
You will probably first want to find a CPAN site closer to you by
running something like the following command:
- perl -MLWP::Simple -e 'getprint "http://www.perl.com/perl/CPAN/CPAN.html"'
+ perl -MLWP::Simple -e 'getprint "http://www.cpan.org/SITES.html"'
Enough of this simple stuff! The LWP object oriented interface gives
you more control over the request sent to the server. Using this
@@ -47,7 +47,8 @@ handle the response returned.
$ua->agent("$0/0.1 " . $ua->agent);
# $ua->agent("Mozilla/8.0") # pretend we are very capable browser
- $req = HTTP::Request->new(GET => 'http://www.linpro.no/lwp');
+ $req = HTTP::Request->new(
+ GET => 'http://search.cpan.org/dist/libwww-perl/');
$req->header('Accept' => 'text/html');
# send request
@@ -95,9 +96,10 @@ operation is to access a WWW form application:
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
- my $req = HTTP::Request->new(POST => 'http://www.perl.com/cgi-bin/BugGlimpse');
+ my $req = HTTP::Request->new(
+ POST => 'http://rt.cpan.org/Public/Dist/Display.html');
$req->content_type('application/x-www-form-urlencoded');
- $req->content('match=www&errors=0');
+ $req->content('Status=Active&Name=libwww-perl');
my $res = $ua->request($req);
print $res->as_string;
@@ -110,8 +112,8 @@ suitable default for the content_type:
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
- my $req = POST 'http://www.perl.com/cgi-bin/BugGlimpse',
- [ search => 'www', errors => 0 ];
+ my $req = POST 'http://rt.cpan.org/Public/Dist/Display.html',
+ [ Status => 'Active', Name => 'libwww-perl' ];
print $ua->request($req)->as_string;
@@ -193,7 +195,7 @@ and respond to cookie requests if you set up a cookie jar.
autosave => 1));
# and then send requests just as you used to do
- $res = $ua->request(HTTP::Request->new(GET => "http://www.yahoo.no"));
+ $res = $ua->request(HTTP::Request->new(GET => "http://no.yahoo.com/"));
print $res->status_line, "\n";
As you visit sites that send you cookies to keep, then the file
@@ -230,10 +232,10 @@ code similar to this at regular intervals:
use LWP::Simple;
%mirrors = (
- 'http://www.sn.no/' => 'sn.html',
- 'http://www.perl.com/' => 'perl.html',
- 'http://www.sn.no/libwww-perl/' => 'lwp.html',
- 'gopher://gopher.sn.no/' => 'gopher.html',
+ 'http://www.sn.no/' => 'sn.html',
+ 'http://www.perl.com/' => 'perl.html',
+ 'http://search.cpan.org/distlibwww-perl/' => 'lwp.html',
+ 'gopher://gopher.sn.no/' => 'gopher.html',
);
while (($url, $localfile) = each(%mirrors)) {
@@ -259,7 +261,7 @@ name):
$ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET =>
- 'http://www.linpro.no/lwp/libwww-perl-5.46.tar.gz');
+ 'http://www.cpan.org/authors/Gisle_Aas/libwww-perl-6.02.tar.gz');
$res = $ua->request($req, "libwww-perl.tar.gz");
if ($res->is_success) {
print "ok\n";
diff --git a/Master/tlpkg/tlperl/lib/lwptut.pod b/Master/tlpkg/tlperl/lib/lwptut.pod
index 34bd58e5e96..2969a330edf 100644
--- a/Master/tlpkg/tlperl/lib/lwptut.pod
+++ b/Master/tlpkg/tlperl/lib/lwptut.pod
@@ -27,7 +27,7 @@ In a Perl program, you can call its C<get($url)> function. It will try
getting that URL's content. If it works, then it'll return the
content; but if there's some error, it'll return undef.
- my $url = 'http://freshair.npr.org/dayFA.cfm?todayDate=current';
+ my $url = 'http://www.npr.org/programs/fa/?todayDate=current';
# Just an example: the URL for the most recent /Fresh Air/ show
use LWP::Simple;
@@ -47,14 +47,14 @@ The handiest variant on C<get> is C<getprint>, which is useful in Perl
one-liners. If it can get the page whose URL you provide, it sends it
to STDOUT; otherwise it complains to STDERR.
- % perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'"
+ % perl -MLWP::Simple -e "getprint 'http://www.cpan.org/RECENT'"
That is the URL of a plain text file that lists new files in CPAN in
the past two weeks. You can easily make it part of a tidy little
shell command, like this one that mails you the list of new
C<Acme::> modules:
- % perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'" \
+ % perl -MLWP::Simple -e "getprint 'http://www.cpan.org/RECENT'" \
| grep "/by-module/Acme" | mail -s "New Acme modules! Joy!" $USER
There are other useful functions in LWP::Simple, including one function
@@ -99,7 +99,7 @@ illustrated:
...
# Then later, whenever you need to make a get request:
- my $url = 'http://freshair.npr.org/dayFA.cfm?todayDate=current';
+ my $url = 'http://www.npr.org/programs/fa/?todayDate=current';
my $response = $browser->get( $url );
die "Can't get $url -- ", $response->status_line
@@ -297,13 +297,13 @@ the HTML the report of the number of matches:
use warnings;
use LWP 5.64;
my $browser = LWP::UserAgent->new;
-
+
my $word = 'tarragon';
-
- my $url = 'http://www.altavista.com/sites/search/web';
+
+ my $url = 'http://search.yahoo.com/yhs/search';
my $response = $browser->post( $url,
[ 'q' => $word, # the Altavista query string
- 'pg' => 'q', 'avkw' => 'tgz', 'kl' => 'XX',
+ 'fr' => 'altavista', 'pg' => 'q', 'avkw' => 'tgz', 'kl' => 'XX',
]
);
die "$url error: ", $response->status_line
@@ -311,8 +311,8 @@ the HTML the report of the number of matches:
die "Weird content type at $url -- ", $response->content_type
unless $response->content_is_html;
- if( $response->decoded_content =~ m{AltaVista found ([0-9,]+) results} ) {
- # The substring will be like "AltaVista found 2,345 results"
+ if( $response->decoded_content =~ m{([0-9,]+)(?:<.*?>)? results for} ) {
+ # The substring will be like "996,000</strong> results for"
print "$word: $1\n";
}
else {
@@ -331,23 +331,23 @@ the HTML the report of the number of matches:
Some HTML forms convey their form data not by sending the data
in an HTTP POST request, but by making a normal GET request with
the data stuck on the end of the URL. For example, if you went to
-C<imdb.com> and ran a search on "Blade Runner", the URL you'd see
+C<www.imdb.com> and ran a search on "Blade Runner", the URL you'd see
in your browser window would be:
- http://us.imdb.com/Tsearch?title=Blade%20Runner&restrict=Movies+and+TV
+ http://www.imdb.com/find?s=all&q=Blade+Runner
To run the same search with LWP, you'd use this idiom, which involves
the URI class:
use URI;
- my $url = URI->new( 'http://us.imdb.com/Tsearch' );
+ my $url = URI->new( 'http://www.imdb.com/find' );
# makes an object representing the URL
-
+
$url->query_form( # And here the form data pairs:
- 'title' => 'Blade Runner',
- 'restrict' => 'Movies and TV',
+ 'q' => 'Blade Runner',
+ 's' => 'all',
);
-
+
my $response = $browser->get($url);
See chapter 5 of I<Perl & LWP> for a longer discussion of HTML forms
@@ -815,7 +815,7 @@ L<HTML::LinkExtor> -- class for finding links in HTML documents
=item *
The book I<Perl & LWP> by Sean M. Burke. O'Reilly & Associates,
-2002. ISBN: 0-596-00178-9, L<http://www.oreilly.com/catalog/perllwp/>. The
+2002. ISBN: 0-596-00178-9, L<http://oreilly.com/catalog/perllwp/>. The
whole book is also available free online:
L<http://lwp.interglacial.com>.
diff --git a/Master/tlpkg/tlperl/lib/mro.pm b/Master/tlpkg/tlperl/lib/mro.pm
index f580bdadf39..9f010395758 100644
--- a/Master/tlpkg/tlperl/lib/mro.pm
+++ b/Master/tlpkg/tlperl/lib/mro.pm
@@ -12,7 +12,7 @@ use warnings;
# mro.pm versions < 1.00 reserved for MRO::Compat
# for partial back-compat to 5.[68].x
-our $VERSION = '1.02';
+our $VERSION = '1.07';
sub import {
mro::set_mro(scalar(caller), $_[1]) if $_[1];
@@ -38,7 +38,7 @@ sub method {
}
require XSLoader;
-XSLoader::load('mro', $VERSION);
+XSLoader::load('mro');
1;
@@ -148,19 +148,7 @@ the given class name, even if the isa relationship is
indirect. This is used internally by the MRO code to
keep track of method/MRO cache invalidations.
-Currently, this list only grows, it never shrinks. This
-was a performance consideration (properly tracking and
-deleting isarev entries when someone removes an entry
-from an C<@ISA> is costly, and it doesn't happen often
-anyways). The fact that a class which no longer truly
-"isa" this class at runtime remains on the list should be
-considered a quirky implementation detail which is subject
-to future change. It shouldn't be an issue as long as
-you're looking at this list for the same reasons the
-core code does: as a performance optimization
-over having to search every class in existence.
-
-As with C<mro::get_mro> above, C<UNIVERSAL> is special.
+As with C<mro::get_linear_isa> above, C<UNIVERSAL> is special.
C<UNIVERSAL> (and parents') isarev lists do not include
every class in existence, even though all classes are
effectively descendants for method inheritance purposes.
@@ -175,10 +163,6 @@ Any class for which this function returns true is
"universal" in the sense that all classes potentially
inherit methods from it.
-For similar reasons to C<isarev> above, this flag is
-permanent. Once it is set, it does not go away, even
-if the class in question really isn't universal anymore.
-
=head2 mro::invalidate_all_method_caches()
Increments C<PL_sub_generation>, which invalidates method
diff --git a/Master/tlpkg/tlperl/lib/newgetopt.pl b/Master/tlpkg/tlperl/lib/newgetopt.pl
index d6d8b0b07bf..4ac94700884 100644
--- a/Master/tlpkg/tlperl/lib/newgetopt.pl
+++ b/Master/tlpkg/tlperl/lib/newgetopt.pl
@@ -1,4 +1,4 @@
-# $Id: newgetopt.pl,v 1.18 2001/09/21 13:34:59 jv Exp $
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
@@ -18,7 +18,7 @@
$PERMUTE = 1;
$RETURN_IN_ORDER = 2;
- # Handle POSIX compliancy.
+ # Handle POSIX compliance.
if ( defined $ENV{"POSIXLY_CORRECT"} ) {
$autoabbrev = 0; # no automatic abbrev of options (???)
$getopt_compat = 0; # disallow '+' to start options
diff --git a/Master/tlpkg/tlperl/lib/open.pm b/Master/tlpkg/tlperl/lib/open.pm
index a6b4250e325..1bfe0d68330 100644
--- a/Master/tlpkg/tlperl/lib/open.pm
+++ b/Master/tlpkg/tlperl/lib/open.pm
@@ -1,7 +1,7 @@
package open;
use warnings;
-our $VERSION = '1.07';
+our $VERSION = '1.08';
require 5.008001; # for PerlIO::get_layers()
@@ -108,7 +108,7 @@ sub import {
$in = $out = join(' ', @val);
}
else {
- croak "Unknown PerlIO layer class '$type'";
+ croak "Unknown PerlIO layer class '$type' (need IN, OUT or IO)";
}
}
${^OPEN} = join("\0", $in, $out);
diff --git a/Master/tlpkg/tlperl/lib/open2.pl b/Master/tlpkg/tlperl/lib/open2.pl
index 96d80d7b26a..ceb56536d84 100644
--- a/Master/tlpkg/tlperl/lib/open2.pl
+++ b/Master/tlpkg/tlperl/lib/open2.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# This legacy library is deprecated and will be removed in a future
# release of perl.
#
diff --git a/Master/tlpkg/tlperl/lib/open3.pl b/Master/tlpkg/tlperl/lib/open3.pl
index 9a387eb9a01..9f4d5a40a40 100644
--- a/Master/tlpkg/tlperl/lib/open3.pl
+++ b/Master/tlpkg/tlperl/lib/open3.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# This legacy library is deprecated and will be removed in a future
# release of perl.
#
diff --git a/Master/tlpkg/tlperl/lib/overload.pm b/Master/tlpkg/tlperl/lib/overload.pm
index 7d09d69e055..3abde68b783 100644
--- a/Master/tlpkg/tlperl/lib/overload.pm
+++ b/Master/tlpkg/tlperl/lib/overload.pm
@@ -1,6 +1,6 @@
package overload;
-our $VERSION = '1.10';
+our $VERSION = '1.13';
sub nil {}
@@ -57,7 +57,9 @@ sub ov_method {
my $globref = shift;
return undef unless $globref;
my $sub = \&{*$globref};
- return $sub if $sub ne \&nil;
+ require Scalar::Util;
+ return $sub
+ if Scalar::Util::refaddr($sub) != Scalar::Util::refaddr(\&nil);
return shift->can($ {*$globref});
}
@@ -97,7 +99,7 @@ sub AddrRef {
my $class_prefix = defined($class) ? "$class=" : "";
my $type = Scalar::Util::reftype($_[0]);
my $addr = Scalar::Util::refaddr($_[0]);
- return sprintf("$class_prefix$type(0x%x)", $addr);
+ return sprintf("%s%s(0x%x)", $class_prefix, $type, $addr);
}
*StrVal = *AddrRef;
@@ -198,7 +200,7 @@ overload - Package for overloading Perl operations
package main;
$a = SomeThing->new( 57 );
- $b=5+$a;
+ $b = 5 + $a;
...
if (overload::Overloaded $b) {...}
...
@@ -209,224 +211,289 @@ overload - Package for overloading Perl operations
This pragma allows overloading of Perl's operators for a class.
To overload built-in functions, see L<perlsub/Overriding Built-in Functions> instead.
-=head2 Declaration of overloaded functions
-
-The compilation directive
-
- package Number;
- use overload
- "+" => \&add,
- "*=" => "muas";
-
-declares function Number::add() for addition, and method muas() in
-the "class" C<Number> (or one of its base classes)
-for the assignment form C<*=> of multiplication.
-
-Arguments of this directive come in (key, value) pairs. Legal values
-are values legal inside a C<&{ ... }> call, so the name of a
-subroutine, a reference to a subroutine, or an anonymous subroutine
-will all work. Note that values specified as strings are
-interpreted as methods, not subroutines. Legal keys are listed below.
-
-The subroutine C<add> will be called to execute C<$a+$b> if $a
-is a reference to an object blessed into the package C<Number>, or if $a is
-not an object from a package with defined mathemagic addition, but $b is a
-reference to a C<Number>. It can also be called in other situations, like
-C<$a+=7>, or C<$a++>. See L<MAGIC AUTOGENERATION>. (Mathemagical
-methods refer to methods triggered by an overloaded mathematical
-operator.)
-
-Since overloading respects inheritance via the @ISA hierarchy, the
-above declaration would also trigger overloading of C<+> and C<*=> in
-all the packages which inherit from C<Number>.
-
-=head2 Calling Conventions for Binary Operations
-
-The functions specified in the C<use overload ...> directive are called
-with three (in one particular case with four, see L<Last Resort>)
-arguments. If the corresponding operation is binary, then the first
-two arguments are the two arguments of the operation. However, due to
-general object calling conventions, the first argument should always be
-an object in the package, so in the situation of C<7+$a>, the
-order of the arguments is interchanged. It probably does not matter
-when implementing the addition method, but whether the arguments
-are reversed is vital to the subtraction method. The method can
-query this information by examining the third argument, which can take
-three different values:
-
-=over 7
-
-=item FALSE
-
-the order of arguments is as in the current operation.
-
-=item TRUE
-
-the arguments are reversed.
-
-=item C<undef>
-
-the current operation is an assignment variant (as in
-C<$a+=7>), but the usual function is called instead. This additional
-information can be used to generate some optimizations. Compare
-L<Calling Conventions for Mutators>.
-
-=back
-
-=head2 Calling Conventions for Unary Operations
-
-Unary operation are considered binary operations with the second
-argument being C<undef>. Thus the functions that overloads C<{"++"}>
-is called with arguments C<($a,undef,'')> when $a++ is executed.
-
-=head2 Calling Conventions for Mutators
-
-Two types of mutators have different calling conventions:
-
-=over
-
-=item C<++> and C<-->
-
-The routines which implement these operators are expected to actually
-I<mutate> their arguments. So, assuming that $obj is a reference to a
-number,
-
- sub incr { my $n = $ {$_[0]}; ++$n; $_[0] = bless \$n}
-
-is an appropriate implementation of overloaded C<++>. Note that
+=head2 Fundamentals
- sub incr { ++$ {$_[0]} ; shift }
+=head3 Declaration
-is OK if used with preincrement and with postincrement. (In the case
-of postincrement a copying will be performed, see L<Copy Constructor>.)
+Arguments of the C<use overload> directive are (key, value) pairs.
+For the full set of legal keys, see L<Overloadable Operations> below.
-=item C<x=> and other assignment versions
+Operator implementations (the values) can be subroutines,
+references to subroutines, or anonymous subroutines
+- in other words, anything legal inside a C<&{ ... }> call.
+Values specified as strings are interpreted as method names.
+Thus
-There is nothing special about these methods. They may change the
-value of their arguments, and may leave it as is. The result is going
-to be assigned to the value in the left-hand-side if different from
-this value.
+ package Number;
+ use overload
+ "-" => "minus",
+ "*=" => \&muas,
+ '""' => sub { ...; };
-This allows for the same method to be used as overloaded C<+=> and
-C<+>. Note that this is I<allowed>, but not recommended, since by the
-semantic of L<"Fallback"> Perl will call the method for C<+> anyway,
-if C<+=> is not overloaded.
+declares that subtraction is to be implemented by method C<minus()>
+in the class C<Number> (or one of its base classes),
+and that the function C<Number::muas()> is to be used for the
+assignment form of multiplication, C<*=>.
+It also defines an anonymous subroutine to implement stringification:
+this is called whenever an object blessed into the package C<Number>
+is used in a string context (this subroutine might, for example,
+return the number as a Roman numeral).
-=back
+=head3 Calling Conventions and Magic Autogeneration
-B<Warning.> Due to the presence of assignment versions of operations,
-routines which may be called in assignment context may create
-self-referential structures. Currently Perl will not free self-referential
-structures until cycles are C<explicitly> broken. You may get problems
-when traversing your structures too.
+The following sample implementation of C<minus()> (which assumes
+that C<Number> objects are simply blessed references to scalars)
+illustrates the calling conventions:
-Say,
+ package Number;
+ sub minus {
+ my ($self, $other, $swap) = @_;
+ my $result = $$self - $other; # *
+ $result = -$result if $swap;
+ ref $result ? $result : bless \$result;
+ }
+ # * may recurse once - see table below
+
+Three arguments are passed to all subroutines specified in the
+C<use overload> directive (with one exception - see L</nomethod>).
+The first of these is the operand providing the overloaded
+operator implementation -
+in this case, the object whose C<minus()> method is being called.
+
+The second argument is the other operand, or C<undef> in the
+case of a unary operator.
+
+The third argument is set to TRUE if (and only if) the two
+operands have been swapped. Perl may do this to ensure that the
+first argument (C<$self>) is an object implementing the overloaded
+operation, in line with general object calling conventions.
+For example, if C<$x> and C<$y> are C<Number>s:
+
+ operation | generates a call to
+ ============|======================
+ $x - $y | minus($x, $y, '')
+ $x - 7 | minus($x, 7, '')
+ 7 - $x | minus($x, 7, 1)
+
+Perl may also use C<minus()> to implement other operators which
+have not been specified in the C<use overload> directive,
+according to the rules for L<Magic Autogeneration> described later.
+For example, the C<use overload> above declared no subroutine
+for any of the operators C<-->, C<neg> (the overload key for
+unary minus), or C<-=>. Thus
+
+ operation | generates a call to
+ ============|======================
+ -$x | minus($x, 0, 1)
+ $x-- | minus($x, 1, undef)
+ $x -= 3 | minus($x, 3, undef)
+
+Note the C<undef>s:
+where autogeneration results in the method for a standard
+operator which does not change either of its operands, such
+as C<->, being used to implement an operator which changes
+the operand ("mutators": here, C<--> and C<-=>),
+Perl passes undef as the third argument.
+This still evaluates as FALSE, consistent with the fact that
+the operands have not been swapped, but gives the subroutine
+a chance to alter its behaviour in these cases.
+
+In all the above examples, C<minus()> is required
+only to return the result of the subtraction:
+Perl takes care of the assignment to $x.
+In fact, such methods should I<not> modify their operands,
+even if C<undef> is passed as the third argument
+(see L<Overloadable Operations>).
+
+The same is not true of implementations of C<++> and C<-->:
+these are expected to modify their operand.
+An appropriate implementation of C<--> might look like
+
+ use overload '--' => "decr",
+ # ...
+ sub decr { --${$_[0]}; }
+
+=head3 Mathemagic, Mutators, and Copy Constructors
+
+The term 'mathemagic' describes the overloaded implementation
+of mathematical operators.
+Mathemagical operations raise an issue.
+Consider the code:
+
+ $a = $b;
+ --$a;
+
+If C<$a> and C<$b> are scalars then after these statements
+
+ $a == $b - 1
+
+An object, however, is a reference to blessed data, so if
+C<$a> and C<$b> are objects then the assignment C<$a = $b>
+copies only the reference, leaving C<$a> and C<$b> referring
+to the same object data.
+One might therefore expect the operation C<--$a> to decrement
+C<$b> as well as C<$a>.
+However, this would not be consistent with how we expect the
+mathematical operators to work.
+
+Perl resolves this dilemma by transparently calling a copy
+constructor before calling a method defined to implement
+a mutator (C<-->, C<+=>, and so on.).
+In the above example, when Perl reaches the decrement
+statement, it makes a copy of the object data in C<$a> and
+assigns to C<$a> a reference to the copied data.
+Only then does it call C<decr()>, which alters the copied
+data, leaving C<$b> unchanged.
+Thus the object metaphor is preserved as far as possible,
+while mathemagical operations still work according to the
+arithmetic metaphor.
+
+Note: the preceding paragraph describes what happens when
+Perl autogenerates the copy constructor for an object based
+on a scalar.
+For other cases, see L<Copy Constructor>.
- use overload '+' => sub { bless [ \$_[0], \$_[1] ] };
+=head2 Overloadable Operations
-is asking for trouble, since for code C<$obj += $foo> the subroutine
-is called as C<$obj = add($obj, $foo, undef)>, or C<$obj = [\$obj,
-\$foo]>. If using such a subroutine is an important optimization, one
-can overload C<+=> explicitly by a non-"optimized" version, or switch
-to non-optimized version if C<not defined $_[2]> (see
-L<Calling Conventions for Binary Operations>).
+The complete list of keys that can be specified in the C<use overload>
+directive are given, separated by spaces, in the values of the
+hash C<%overload::ops>:
-Even if no I<explicit> assignment-variants of operators are present in
-the script, they may be generated by the optimizer. Say, C<",$obj,"> or
-C<',' . $obj . ','> may be both optimized to
+ with_assign => '+ - * / % ** << >> x .',
+ assign => '+= -= *= /= %= **= <<= >>= x= .=',
+ num_comparison => '< <= > >= == !=',
+ '3way_comparison'=> '<=> cmp',
+ str_comparison => 'lt le gt ge eq ne',
+ binary => '& &= | |= ^ ^=',
+ unary => 'neg ! ~',
+ mutators => '++ --',
+ func => 'atan2 cos sin exp abs log sqrt int',
+ conversion => 'bool "" 0+ qr',
+ iterators => '<>',
+ filetest => '-X',
+ dereferencing => '${} @{} %{} &{} *{}',
+ matching => '~~',
+ special => 'nomethod fallback ='
- my $tmp = ',' . $obj; $tmp .= ',';
+Most of the overloadable operators map one-to-one to these keys.
+Exceptions, including additional overloadable operations not
+apparent from this hash, are included in the notes which follow.
-=head2 Overloadable Operations
+=over 5
-The following symbols can be specified in C<use overload> directive:
+=item * C<not>
-=over 5
+The operator C<not> is not a valid key for C<use overload>.
+However, if the operator C<!> is overloaded then the same
+implementation will be used for C<not>
+(since the two operators differ only in precedence).
-=item * I<Arithmetic operations>
+=item * C<neg>
- "+", "+=", "-", "-=", "*", "*=", "/", "/=", "%", "%=",
- "**", "**=", "<<", "<<=", ">>", ">>=", "x", "x=", ".", ".=",
+The key C<neg> is used for unary minus to disambiguate it from
+binary C<->.
-For these operations a substituted non-assignment variant can be called if
-the assignment variant is not available. Methods for operations C<+>,
-C<->, C<+=>, and C<-=> can be called to automatically generate
-increment and decrement methods. The operation C<-> can be used to
-autogenerate missing methods for unary minus or C<abs>.
+=item * C<++>, C<-->
-See L<"MAGIC AUTOGENERATION">, L<"Calling Conventions for Mutators"> and
-L<"Calling Conventions for Binary Operations">) for details of these
-substitutions.
+Assuming they are to behave analogously to Perl's C<++> and C<-->,
+overloaded implementations of these operators are required to
+mutate their operands.
-=item * I<Comparison operations>
+No distinction is made between prefix and postfix forms of the
+increment and decrement operators: these differ only in the
+point at which Perl calls the associated subroutine when
+evaluating an expression.
- "<", "<=", ">", ">=", "==", "!=", "<=>",
- "lt", "le", "gt", "ge", "eq", "ne", "cmp",
+=item * I<Assignments>
-If the corresponding "spaceship" variant is available, it can be
-used to substitute for the missing operation. During C<sort>ing
-arrays, C<cmp> is used to compare values subject to C<use overload>.
+ += -= *= /= %= **= <<= >>= x= .=
+ &= |= ^=
-=item * I<Bit operations>
+Simple assignment is not overloadable (the C<'='> key is used
+for the L<Copy Constructor>).
+Perl does have a way to make assignments to an object do whatever
+you want, but this involves using tie(), not overload -
+see L<perlfunc/tie> and the L</COOKBOOK> examples below.
- "&", "&=", "^", "^=", "|", "|=", "neg", "!", "~",
+The subroutine for the assignment variant of an operator is
+required only to return the result of the operation.
+It is permitted to change the value of its operand
+(this is safe because Perl calls the copy constructor first),
+but this is optional since Perl assigns the returned value to
+the left-hand operand anyway.
-C<neg> stands for unary minus. If the method for C<neg> is not
-specified, it can be autogenerated using the method for
-subtraction. If the method for C<!> is not specified, it can be
-autogenerated using the methods for C<bool>, or C<"">, or C<0+>.
+An object that overloads an assignment operator does so only in
+respect of assignments to that object.
+In other words, Perl never calls the corresponding methods with
+the third argument (the "swap" argument) set to TRUE.
+For example, the operation
-The same remarks in L<"Arithmetic operations"> about
-assignment-variants and autogeneration apply for
-bit operations C<"&">, C<"^">, and C<"|"> as well.
+ $a *= $b
-=item * I<Increment and decrement>
+cannot lead to C<$b>'s implementation of C<*=> being called,
+even if C<$a> is a scalar.
+(It can, however, generate a call to C<$b>'s method for C<*>).
- "++", "--",
+=item * I<Non-mutators with a mutator variant>
-If undefined, addition and subtraction methods can be
-used instead. These operations are called both in prefix and
-postfix form.
+ + - * / % ** << >> x .
+ & | ^
-=item * I<Transcendental functions>
+As described L<above|"Calling Conventions and Magic Autogeneration">,
+Perl may call methods for operators like C<+> and C<&> in the course
+of implementing missing operations like C<++>, C<+=>, and C<&=>.
+While these methods may detect this usage by testing the definedness
+of the third argument, they should in all cases avoid changing their
+operands.
+This is because Perl does not call the copy constructor before
+invoking these methods.
- "atan2", "cos", "sin", "exp", "abs", "log", "sqrt", "int"
+=item * C<int>
-If C<abs> is unavailable, it can be autogenerated using methods
-for "E<lt>" or "E<lt>=E<gt>" combined with either unary minus or subtraction.
+Traditionally, the Perl function C<int> rounds to 0
+(see L<perlfunc/int>), and so for floating-point-like types one
+should follow the same semantic.
-Note that traditionally the Perl function L<int> rounds to 0, thus for
-floating-point-like types one should follow the same semantic. If
-C<int> is unavailable, it can be autogenerated using the overloading of
-C<0+>.
+=item * I<String, numeric, boolean, and regexp conversions>
-=item * I<Boolean, string, numeric and regexp conversions>
+ "" 0+ bool
- 'bool', '""', '0+', 'qr'
+These conversions are invoked according to context as necessary.
+For example, the subroutine for C<'""'> (stringify) may be used
+where the overloaded object is passed as an argument to C<print>,
+and that for C<'bool'> where it is tested in the condition of a flow
+control statement (like C<while>) or the ternary C<?:> operation.
-If one or two of these operations are not overloaded, the remaining ones
-can be used instead. C<bool> is used in the flow control operators
-(like C<while>) and for the ternary C<?:> operation; C<qr> is used for
-the RHS of C<=~> and when an object is interpolated into a regexp.
+Of course, in contexts like, for example, C<$obj + 1>, Perl will
+invoke C<$obj>'s implementation of C<+> rather than (in this
+example) converting C<$obj> to a number using the numify method
+C<'0+'> (an exception to this is when no method has been provided
+for C<'+'> and L</fallback> is set to TRUE).
-C<bool>, C<"">, and C<0+> can return any arbitrary Perl value. If the
-corresponding operation for this value is overloaded too, that operation
-will be called again with this value. C<qr> must return a compiled
-regexp, or a ref to a compiled regexp (such as C<qr//> returns), and any
-further overloading on the return value will be ignored.
+The subroutines for C<'""'>, C<'0+'>, and C<'bool'> can return
+any arbitrary Perl value.
+If the corresponding operation for this value is overloaded too,
+the operation will be called again with this value.
As a special case if the overload returns the object itself then it will
be used directly. An overloaded conversion returning the object is
probably a bug, because you're likely to get something that looks like
C<YourPackage=HASH(0x8172b34)>.
-=item * I<Iteration>
+ qr
+
+The subroutine for C<'qr'> is used wherever the object is
+interpolated into or used as a regexp, including when it
+appears on the RHS of a C<=~> or C<!~> operator.
- "<>"
+C<qr> must return a compiled regexp, or a ref to a compiled regexp
+(such as C<qr//> returns), and any further overloading on the return
+value will be ignored.
-If not overloaded, the argument will be converted to a filehandle or
-glob (which may require a stringification). The same overloading
-happens both for the I<read-filehandle> syntax C<E<lt>$varE<gt>> and
+=item * I<Iteration>
+
+If C<E<lt>E<gt>> is overloaded then the same implementation is used
+for both the I<read-filehandle> syntax C<E<lt>$varE<gt>> and
I<globbing> syntax C<E<lt>${var}E<gt>>.
B<BUGS> Even in list context, the iterator is currently called only
@@ -434,26 +501,19 @@ once and with scalar context.
=item * I<File tests>
- "-X"
-
-This overload is used for all the filetest operators (C<-f>, C<-x> and
-so on: see L<perlfunc/-X> for the full list). Even though these are
-unary operators, the method will be called with a second argument which
-is a single letter indicating which test was performed. Note that the
-overload key is the literal string C<"-X">: you can't provide separate
-overloads for the different tests.
+The key C<'-X'> is used to specify a subroutine to handle all the
+filetest operators (C<-f>, C<-x>, and so on: see L<perlfunc/-X> for
+the full list);
+it is not possible to overload any filetest operator individually.
+To distinguish them, the letter following the '-' is passed as the
+second argument (that is, in the slot that for binary operators
+is used to pass the second operand).
Calling an overloaded filetest operator does not affect the stat value
associated with the special filehandle C<_>. It still refers to the
result of the last C<stat>, C<lstat> or unoverloaded filetest.
-If not overloaded, these operators will fall back to the default
-behaviour even without C<< fallback => 1 >>. This means that if the
-object is a blessed glob or blessed IO ref it will be treated as a
-filehandle, otherwise string overloading will be invoked and the result
-treated as a filename.
-
-This overload was introduced in perl 5.12.
+This overload was introduced in Perl 5.12.
=item * I<Matching>
@@ -461,9 +521,9 @@ The key C<"~~"> allows you to override the smart matching logic used by
the C<~~> operator and the switch construct (C<given>/C<when>). See
L<perlsyn/switch> and L<feature>.
-Unusually, overloading of the smart match operator does not automatically
-take precedence over normal smart match behaviour. In particular, in the
-following code:
+Unusually, the overloaded implementation of the smart match operator
+does not get full control of the smart match behaviour.
+In particular, in the following code:
package Foo;
use overload '~~' => 'match';
@@ -488,283 +548,345 @@ details of when overloading is invoked.
=item * I<Dereferencing>
- '${}', '@{}', '%{}', '&{}', '*{}'.
-
-If not overloaded, the argument will be dereferenced I<as is>, thus
-should be of correct type. These functions should return a reference
-of correct type, or another object with overloaded dereferencing.
-
-As a special case if the overload returns the object itself then it
-will be used directly (provided it is the correct type).
-
-The dereference operators must be specified explicitly they will not be passed to
-"nomethod".
+ ${} @{} %{} &{} *{}
+
+If these operators are not explicitly overloaded then they
+work in the normal way, yielding the underlying scalar,
+array, or whatever stores the object data (or the appropriate
+error message if the dereference operator doesn't match it).
+Defining a catch-all C<'nomethod'> (see L<below|/nomethod>)
+makes no difference to this as the catch-all function will
+not be called to implement a missing dereference operator.
+
+If a dereference operator is overloaded then it must return a
+I<reference> of the appropriate type (for example, the
+subroutine for key C<'${}'> should return a reference to a
+scalar, not a scalar), or another object which overloads the
+operator: that is, the subroutine only determines what is
+dereferenced and the actual dereferencing is left to Perl.
+As a special case, if the subroutine returns the object itself
+then it will not be called again - avoiding infinite recursion.
=item * I<Special>
- "nomethod", "fallback", "=".
+ nomethod fallback =
-see L<SPECIAL SYMBOLS FOR C<use overload>>.
+See L<Special Keys for C<use overload>>.
=back
-See L<"Fallback"> for an explanation of when a missing method can be
-autogenerated.
-
-A computer-readable form of the above table is available in the hash
-%overload::ops, with values being space-separated lists of names:
+=head2 Magic Autogeneration
+
+If a method for an operation is not found then Perl tries to
+autogenerate a substitute implementation from the operations
+that have been defined.
+
+Note: the behaviour described in this section can be disabled
+by setting C<fallback> to FALSE (see L</fallback>).
+
+In the following tables, numbers indicate priority.
+For example, the table below states that,
+if no implementation for C<'!'> has been defined then Perl will
+implement it using C<'bool'> (that is, by inverting the value
+returned by the method for C<'bool'>);
+if boolean conversion is also unimplemented then Perl will
+use C<'0+'> or, failing that, C<'""'>.
+
+ operator | can be autogenerated from
+ |
+ | 0+ "" bool . x
+ =========|==========================
+ 0+ | 1 2
+ "" | 1 2
+ bool | 1 2
+ int | 1 2 3
+ ! | 2 3 1
+ qr | 2 1 3
+ . | 2 1 3
+ x | 2 1 3
+ .= | 3 2 4 1
+ x= | 3 2 4 1
+ <> | 2 1 3
+ -X | 2 1 3
+
+Note: The iterator (C<'E<lt>E<gt>'>) and file test (C<'-X'>)
+operators work as normal: if the operand is not a blessed glob or
+IO reference then it is converted to a string (using the method
+for C<'""'>, C<'0+'>, or C<'bool'>) to be interpreted as a glob
+or filename.
+
+ operator | can be autogenerated from
+ |
+ | < <=> neg -= -
+ =========|==========================
+ neg | 1
+ -= | 1
+ -- | 1 2
+ abs | a1 a2 b1 b2 [*]
+ < | 1
+ <= | 1
+ > | 1
+ >= | 1
+ == | 1
+ != | 1
+
+ * one from [a1, a2] and one from [b1, b2]
+
+Just as numeric comparisons can be autogenerated from the method
+for C<< '<=>' >>, string comparisons can be autogenerated from
+that for C<'cmp'>:
+
+ operators | can be autogenerated from
+ ====================|===========================
+ lt gt le ge eq ne | cmp
+
+Similarly, autogeneration for keys C<'+='> and C<'++'> is analogous
+to C<'-='> and C<'--'> above:
+
+ operator | can be autogenerated from
+ |
+ | += +
+ =========|==========================
+ += | 1
+ ++ | 1 2
+
+And other assignment variations are analogous to
+C<'+='> and C<'-='> (and similar to C<'.='> and C<'x='> above):
+
+ operator || *= /= %= **= <<= >>= &= ^= |=
+ -------------------||--------------------------------
+ autogenerated from || * / % ** << >> & ^ |
+
+Note also that the copy constructor (key C<'='>) may be
+autogenerated, but only for objects based on scalars.
+See L<Copy Constructor>.
+
+=head3 Minimal Set of Overloaded Operations
- with_assign => '+ - * / % ** << >> x .',
- assign => '+= -= *= /= %= **= <<= >>= x= .=',
- num_comparison => '< <= > >= == !=',
- '3way_comparison'=> '<=> cmp',
- str_comparison => 'lt le gt ge eq ne',
- binary => '& &= | |= ^ ^=',
- unary => 'neg ! ~',
- mutators => '++ --',
- func => 'atan2 cos sin exp abs log sqrt',
- conversion => 'bool "" 0+ qr',
- iterators => '<>',
- filetest => '-X',
- dereferencing => '${} @{} %{} &{} *{}',
- matching => '~~',
- special => 'nomethod fallback ='
-
-=head2 Inheritance and overloading
-
-Inheritance interacts with overloading in two ways.
-
-=over
-
-=item Strings as values of C<use overload> directive
-
-If C<value> in
-
- use overload key => value;
-
-is a string, it is interpreted as a method name.
+Since some operations can be automatically generated from others, there is
+a minimal set of operations that need to be overloaded in order to have
+the complete set of overloaded operations at one's disposal.
+Of course, the autogenerated operations may not do exactly what the user
+expects. The minimal set is:
-=item Overloading of an operation is inherited by derived classes
+ + - * / % ** << >> x
+ <=> cmp
+ & | ^ ~
+ atan2 cos sin exp log sqrt int
+ "" 0+ bool
+ ~~
-Any class derived from an overloaded class is also overloaded. The
-set of overloaded methods is the union of overloaded methods of all
-the ancestors. If some method is overloaded in several ancestor, then
-which description will be used is decided by the usual inheritance
-rules:
+Of the conversions, only one of string, boolean or numeric is
+needed because each can be generated from either of the other two.
-If C<A> inherits from C<B> and C<C> (in this order), C<B> overloads
-C<+> with C<\&D::plus_sub>, and C<C> overloads C<+> by C<"plus_meth">,
-then the subroutine C<D::plus_sub> will be called to implement
-operation C<+> for an object in package C<A>.
+=head2 Special Keys for C<use overload>
-=back
+=head3 C<nomethod>
-Note that since the value of the C<fallback> key is not a subroutine,
-its inheritance is not governed by the above rules. In the current
-implementation, the value of C<fallback> in the first overloaded
-ancestor is used, but this is accidental and subject to change.
+The C<'nomethod'> key is used to specify a catch-all function to
+be called for any operator that is not individually overloaded.
+The specified function will be passed four parameters.
+The first three arguments coincide with those that would have been
+passed to the corresponding method if it had been defined.
+The fourth argument is the C<use overload> key for that missing
+method.
-=head1 SPECIAL SYMBOLS FOR C<use overload>
+For example, if C<$a> is an object blessed into a package declaring
-Three keys are recognized by Perl that are not covered by the above
-description.
+ use overload 'nomethod' => 'catch_all', # ...
-=head2 Last Resort
+then the operation
-C<"nomethod"> should be followed by a reference to a function of four
-parameters. If defined, it is called when the overloading mechanism
-cannot find a method for some operation. The first three arguments of
-this function coincide with the arguments for the corresponding method if
-it were found, the fourth argument is the symbol
-corresponding to the missing method. If several methods are tried,
-the last one is used. Say, C<1-$a> can be equivalent to
+ 3 + $a
- &nomethodMethod($a,1,1,"-")
+could (unless a method is specifically declared for the key
+C<'+'>) result in a call
-if the pair C<"nomethod" =E<gt> "nomethodMethod"> was specified in the
-C<use overload> directive.
+ catch_all($a, 3, 1, '+')
-The C<"nomethod"> mechanism is I<not> used for the dereference operators
-( ${} @{} %{} &{} *{} ).
+See L<How Perl Chooses an Operator Implementation>.
+=head3 C<fallback>
-If some operation cannot be resolved, and there is no function
-assigned to C<"nomethod">, then an exception will be raised via die()--
-unless C<"fallback"> was specified as a key in C<use overload> directive.
+The value assigned to the key C<'fallback'> tells Perl how hard
+it should try to find an alternative way to implement a missing
+operator.
+=over
-=head2 Fallback
+=item * defined, but FALSE
-The key C<"fallback"> governs what to do if a method for a particular
-operation is not found. Three different cases are possible depending on
-the value of C<"fallback">:
+ use overload "fallback" => 0, # ... ;
-=over 16
+This disables L<Magic Autogeneration>.
=item * C<undef>
-Perl tries to use a
-substituted method (see L<MAGIC AUTOGENERATION>). If this fails, it
-then tries to calls C<"nomethod"> value; if missing, an exception
-will be raised.
+In the default case where no value is explicitly assigned to
+C<fallback>, magic autogeneration is enabled.
=item * TRUE
-The same as for the C<undef> value, but no exception is raised. Instead,
-it silently reverts to what it would have done were there no C<use overload>
-present.
-
-=item * defined, but FALSE
+The same as for C<undef>, but if a missing operator cannot be
+autogenerated then, instead of issuing an error message, Perl
+is allowed to revert to what it would have done for that
+operator if there had been no C<use overload> directive.
-No autogeneration is tried. Perl tries to call
-C<"nomethod"> value, and if this is missing, raises an exception.
+Note: in most cases, particularly the L<Copy Constructor>,
+this is unlikely to be appropriate behaviour.
=back
-B<Note.> C<"fallback"> inheritance via @ISA is not carved in stone
-yet, see L<"Inheritance and overloading">.
+See L<How Perl Chooses an Operator Implementation>.
-=head2 Copy Constructor
+=head3 Copy Constructor
-The value for C<"="> is a reference to a function with three
-arguments, i.e., it looks like the other values in C<use
-overload>. However, it does not overload the Perl assignment
-operator. This would go against Camel hair.
+As mentioned L<above|"Mathemagic, Mutators, and Copy Constructors">,
+this operation is called when a mutator is applied to a reference
+that shares its object with some other reference.
+For example, if C<$b> is mathemagical, and C<'++'> is overloaded
+with C<'incr'>, and C<'='> is overloaded with C<'clone'>, then the
+code
-This operation is called in the situations when a mutator is applied
-to a reference that shares its object with some other reference, such
-as
+ $a = $b;
+ # ... (other code which does not modify $a or $b) ...
+ ++$b;
- $a=$b;
- ++$a;
+would be executed in a manner equivalent to
-To make this change $a and not change $b, a copy of C<$$a> is made,
-and $a is assigned a reference to this new object. This operation is
-done during execution of the C<++$a>, and not during the assignment,
-(so before the increment C<$$a> coincides with C<$$b>). This is only
-done if C<++> is expressed via a method for C<'++'> or C<'+='> (or
-C<nomethod>). Note that if this operation is expressed via C<'+'>
-a nonmutator, i.e., as in
+ $a = $b;
+ # ...
+ $b = $b->clone(undef, "");
+ $b->incr(undef, "");
- $a=$b;
- $a=$a+1;
+Note:
-then C<$a> does not reference a new copy of C<$$a>, since $$a does not
-appear as lvalue when the above code is executed.
-
-If the copy constructor is required during the execution of some mutator,
-but a method for C<'='> was not specified, it can be autogenerated as a
-string copy if the object is a plain scalar or a simple assignment if it
-is not.
+=over
-=over 5
+=item *
-=item B<Example>
+The subroutine for C<'='> does not overload the Perl assignment
+operator: it is used only to allow mutators to work as described
+here. (See L</Assignments> above.)
-The actually executed code for
+=item *
- $a=$b;
- Something else which does not modify $a or $b....
- ++$a;
+As for other operations, the subroutine implementing '=' is passed
+three arguments, though the last two are always C<undef> and C<''>.
-may be
+=item *
- $a=$b;
- Something else which does not modify $a or $b....
- $a = $a->clone(undef,"");
- $a->incr(undef,"");
+The copy constructor is called only before a call to a function
+declared to implement a mutator, for example, if C<++$b;> in the
+code above is effected via a method declared for key C<'++'>
+(or 'nomethod', passed C<'++'> as the fourth argument) or, by
+autogeneration, C<'+='>.
+It is not called if the increment operation is effected by a call
+to the method for C<'+'> since, in the equivalent code,
-if $b was mathemagical, and C<'++'> was overloaded with C<\&incr>,
-C<'='> was overloaded with C<\&clone>.
+ $a = $b;
+ $b = $b + 1;
-=back
+the data referred to by C<$a> is unchanged by the assignment to
+C<$b> of a reference to new object data.
-Same behaviour is triggered by C<$b = $a++>, which is consider a synonym for
-C<$b = $a; ++$a>.
+=item *
-=head1 MAGIC AUTOGENERATION
+The copy constructor is not called if Perl determines that it is
+unnecessary because there is no other reference to the data being
+modified.
-If a method for an operation is not found, and the value for C<"fallback"> is
-TRUE or undefined, Perl tries to autogenerate a substitute method for
-the missing operation based on the defined operations. Autogenerated method
-substitutions are possible for the following operations:
+=item *
-=over 16
+If C<'fallback'> is undefined or TRUE then a copy constructor
+can be autogenerated, but only for objects based on scalars.
+In other cases it needs to be defined explicitly.
+Where an object's data is stored as, for example, an array of
+scalars, the following might be appropriate:
-=item I<Assignment forms of arithmetic operations>
+ use overload '=' => sub { bless [ @{$_[0]} ] }, # ...
-C<$a+=$b> can use the method for C<"+"> if the method for C<"+=">
-is not defined.
+=item *
-=item I<Conversion operations>
+If C<'fallback'> is TRUE and no copy constructor is defined then,
+for objects not based on scalars, Perl may silently fall back on
+simple assignment - that is, assignment of the object reference.
+In effect, this disables the copy constructor mechanism since
+no new copy of the object data is created.
+This is almost certainly not what you want.
+(It is, however, consistent: for example, Perl's fallback for the
+C<++> operator is to increment the reference itself.)
-String, numeric, boolean and regexp conversions are calculated in terms
-of one another if not all of them are defined.
+=back
-=item I<Increment and decrement>
+=head2 How Perl Chooses an Operator Implementation
-The C<++$a> operation can be expressed in terms of C<$a+=1> or C<$a+1>,
-and C<$a--> in terms of C<$a-=1> and C<$a-1>.
+Which is checked first, C<nomethod> or C<fallback>?
+If the two operands of an operator are of different types and
+both overload the operator, which implementation is used?
+The following are the precedence rules:
-=item C<abs($a)>
+=over
-can be expressed in terms of C<$aE<lt>0> and C<-$a> (or C<0-$a>).
+=item 1.
-=item I<Unary minus>
+If the first operand has declared a subroutine to overload the
+operator then use that implementation.
-can be expressed in terms of subtraction.
+=item 2.
-=item I<Negation>
+Otherwise, if fallback is TRUE or undefined for the
+first operand then see if the
+L<rules for autogeneration|"Magic Autogeneration">
+allows another of its operators to be used instead.
-C<!> and C<not> can be expressed in terms of boolean conversion, or
-string or numerical conversion.
+=item 3.
-=item I<Concatenation>
+Unless the operator is an assignment (C<+=>, C<-=>, etc.),
+repeat step (1) in respect of the second operand.
-can be expressed in terms of string conversion.
+=item 4.
-=item I<Comparison operations>
+Repeat Step (2) in respect of the second operand.
-can be expressed in terms of its "spaceship" counterpart: either
-C<E<lt>=E<gt>> or C<cmp>:
+=item 5.
- <, >, <=, >=, ==, != in terms of <=>
- lt, gt, le, ge, eq, ne in terms of cmp
+If the first operand has a "nomethod" method then use that.
-=item I<Iterator>
+=item 6.
- <> in terms of builtin operations
+If the second operand has a "nomethod" method then use that.
-=item I<Dereferencing>
+=item 7.
- ${} @{} %{} &{} *{} in terms of builtin operations
+If C<fallback> is TRUE for both operands
+then perform the usual operation for the operator,
+treating the operands as numbers, strings, or booleans
+as appropriate for the operator (see note).
-=item I<Copy operator>
+=item 8.
-can be expressed in terms of an assignment to the dereferenced value, if this
-value is a scalar and not a reference, or simply a reference assignment
-otherwise.
+Nothing worked - die.
=back
-=head1 Minimal set of overloaded operations
+Where there is only one operand (or only one operand with
+overloading) the checks in respect of the other operand above are
+skipped.
-Since some operations can be automatically generated from others, there is
-a minimal set of operations that need to be overloaded in order to have
-the complete set of overloaded operations at one's disposal.
-Of course, the autogenerated operations may not do exactly what the user
-expects. See L<MAGIC AUTOGENERATION> above. The minimal set is:
+There are exceptions to the above rules for dereference operations
+(which, if Step 1 fails, always fall back to the normal, built-in
+implementations - see Dereferencing), and for C<~~> (which has its
+own set of rules - see L<Matching>).
- + - * / % ** << >> x
- <=> cmp
- & | ^ ~
- atan2 cos sin exp log sqrt int
-
-Additionally, you need to define at least one of string, boolean or
-numeric conversions because any one can be used to emulate the others.
-The string conversion can also be used to emulate concatenation.
+Note on Step 7: some operators have a different semantic depending
+on the type of their operands.
+As there is no way to instruct Perl to treat the operands as, e.g.,
+numbers instead of strings, the result here may not be what you
+expect.
+See L<BUGS AND PITFALLS>.
-=head1 Losing overloading
+=head2 Losing Overloading
The restriction for the comparison operation is that even if, for example,
`C<cmp>' should return a blessed reference, the autogenerated `C<lt>'
@@ -780,7 +902,43 @@ When you chop() a mathemagical object it is promoted to a string and its
mathemagical properties are lost. The same can happen with other
operations as well.
-=head1 Run-time Overloading
+=head2 Inheritance and Overloading
+
+Overloading respects inheritance via the @ISA hierarchy.
+Inheritance interacts with overloading in two ways.
+
+=over
+
+=item Method names in the C<use overload> directive
+
+If C<value> in
+
+ use overload key => value;
+
+is a string, it is interpreted as a method name - which may
+(in the usual way) be inherited from another class.
+
+=item Overloading of an operation is inherited by derived classes
+
+Any class derived from an overloaded class is also overloaded
+and inherits its operator implementations.
+If the same operator is overloaded in more than one ancestor
+then the implementation is determined by the usual inheritance
+rules.
+
+For example, if C<A> inherits from C<B> and C<C> (in that order),
+C<B> overloads C<+> with C<\&D::plus_sub>, and C<C> overloads
+C<+> by C<"plus_meth">, then the subroutine C<D::plus_sub> will
+be called to implement operation C<+> for an object in package C<A>.
+
+=back
+
+Note that since the value of the C<fallback> key is not a subroutine,
+its inheritance is not governed by the above rules. In the current
+implementation, the value of C<fallback> in the first overloaded
+ancestor is used, but this is accidental and subject to change.
+
+=head2 Run-time Overloading
Since all C<use> directives are executed at compile-time, the only way to
change overloading during run-time is to
@@ -793,7 +951,7 @@ You can also use
though the use of these constructs during run-time is questionable.
-=head1 Public functions
+=head2 Public Functions
Package C<overload.pm> provides the following public functions:
@@ -816,7 +974,7 @@ Returns C<undef> or a reference to the method that implements C<op>.
=back
-=head1 Overloading constants
+=head2 Overloading Constants
For some applications, the Perl parser mangles constants too much.
It is possible to hook into this process via C<overload::constant()>
@@ -918,84 +1076,14 @@ packages acquire a magic during the next C<bless>ing into the
package. This magic is three-words-long for packages without
overloading, and carries the cache table if the package is overloaded.
-Copying (C<$a=$b>) is shallow; however, a one-level-deep copying is
-carried out before any operation that can imply an assignment to the
-object $a (or $b) refers to, like C<$a++>. You can override this
-behavior by defining your own copy constructor (see L<"Copy Constructor">).
-
It is expected that arguments to methods that are not explicitly supposed
to be changed are constant (but this is not enforced).
-=head1 Metaphor clash
-
-One may wonder why the semantic of overloaded C<=> is so counter intuitive.
-If it I<looks> counter intuitive to you, you are subject to a metaphor
-clash.
-
-Here is a Perl object metaphor:
-
-I< object is a reference to blessed data>
-
-and an arithmetic metaphor:
-
-I< object is a thing by itself>.
-
-The I<main> problem of overloading C<=> is the fact that these metaphors
-imply different actions on the assignment C<$a = $b> if $a and $b are
-objects. Perl-think implies that $a becomes a reference to whatever
-$b was referencing. Arithmetic-think implies that the value of "object"
-$a is changed to become the value of the object $b, preserving the fact
-that $a and $b are separate entities.
-
-The difference is not relevant in the absence of mutators. After
-a Perl-way assignment an operation which mutates the data referenced by $a
-would change the data referenced by $b too. Effectively, after
-C<$a = $b> values of $a and $b become I<indistinguishable>.
-
-On the other hand, anyone who has used algebraic notation knows the
-expressive power of the arithmetic metaphor. Overloading works hard
-to enable this metaphor while preserving the Perlian way as far as
-possible. Since it is not possible to freely mix two contradicting
-metaphors, overloading allows the arithmetic way to write things I<as
-far as all the mutators are called via overloaded access only>. The
-way it is done is described in L<Copy Constructor>.
-
-If some mutator methods are directly applied to the overloaded values,
-one may need to I<explicitly unlink> other values which references the
-same value:
-
- $a = Data->new(23);
- ...
- $b = $a; # $b is "linked" to $a
- ...
- $a = $a->clone; # Unlink $b from $a
- $a->increment_by(4);
-
-Note that overloaded access makes this transparent:
-
- $a = Data->new(23);
- $b = $a; # $b is "linked" to $a
- $a += 4; # would unlink $b automagically
-
-However, it would not make
-
- $a = Data->new(23);
- $a = 4; # Now $a is a plain 4, not 'Data'
-
-preserve "objectness" of $a. But Perl I<has> a way to make assignments
-to an object do whatever you want. It is just not the overload, but
-tie()ing interface (see L<perlfunc/tie>). Adding a FETCH() method
-which returns the object itself, and STORE() method which changes the
-value of the object, one can reproduce the arithmetic metaphor in its
-completeness, at least for variables which were tie()d from the start.
-
-(Note that a workaround for a bug may be needed, see L<"BUGS">.)
-
-=head1 Cookbook
+=head1 COOKBOOK
Please add examples to what follows!
-=head2 Two-face scalars
+=head2 Two-face Scalars
Put this in F<two_face.pm> in your Perl library directory:
@@ -1019,7 +1107,7 @@ numeric value.) This prints:
seven=vii, seven=7, eight=8
seven contains `i'
-=head2 Two-face references
+=head2 Two-face References
Suppose you want to create an object which is accessible as both an
array reference and a hash reference.
@@ -1143,7 +1231,7 @@ overloaded operations.
=back
-=head2 Symbolic calculator
+=head2 Symbolic Calculator
Put this in F<symbolic.pm> in your Perl library directory:
@@ -1158,8 +1246,8 @@ Put this in F<symbolic.pm> in your Perl library directory:
}
This module is very unusual as overloaded modules go: it does not
-provide any usual overloaded operators, instead it provides the L<Last
-Resort> operator C<nomethod>. In this example the corresponding
+provide any usual overloaded operators, instead it provides an
+implementation for L<C<nomethod>>. In this example the C<nomethod>
subroutine returns an object which encapsulates operations done over
the objects: C<< symbolic->new(3) >> contains C<['n', 3]>, C<< 2 +
symbolic->new(3) >> contains C<['+', 2, ['n', 3]]>.
@@ -1332,11 +1420,13 @@ the tables of operations, and change the code which fills %subr to
$subr{$op} = eval "sub {$op shift()}";
}
-Due to L<Calling Conventions for Mutators>, we do not need anything
-special to make C<+=> and friends work, except filling C<+=> entry of
-%subr, and defining a copy constructor (needed since Perl has no
-way to know that the implementation of C<'+='> does not mutate
-the argument, compare L<Copy Constructor>).
+Since subroutines implementing assignment operators are not required
+to modify their operands (see L<Overloadable Operations> above),
+we do not need anything special to make C<+=> and friends work,
+besides adding these operators to %subr and defining a copy
+constructor (needed since Perl has no way to know that the
+implementation of C<'+='> does not mutate the argument -
+see L<Copy Constructor>).
To implement a copy constructor, add C<< '=' => \&cpy >> to C<use overload>
line, and code (this code assumes that mutators change things one level
@@ -1398,7 +1488,7 @@ note: due to the explicit recursion num() is more fragile than sym():
we need to explicitly check for the type of $a and $b. If components
$a and $b happen to be of some related type, this may lead to problems.
-=head2 I<Really> symbolic calculator
+=head2 I<Really> Symbolic Calculator
One may wonder why we call the above calculator symbolic. The reason
is that the actual calculation of the value of expression is postponed
@@ -1426,13 +1516,14 @@ the numeric value of $c becomes 13. There is no doubt now that the module
symbolic provides a I<symbolic> calculator indeed.
To hide the rough edges under the hood, provide a tie()d interface to the
-package C<symbolic> (compare with L<Metaphor clash>). Add methods
+package C<symbolic>. Add methods
sub TIESCALAR { my $pack = shift; $pack->new(@_) }
sub FETCH { shift }
sub nop { } # Around a bug
-(the bug is described in L<"BUGS">). One can use this new interface as
+(the bug, fixed in Perl 5.14, is described in L<"BUGS">). One can use this
+new interface as
tie $a, 'symbolic', 3;
tie $b, 'symbolic', 4;
@@ -1466,8 +1557,8 @@ Ilya Zakharevich E<lt>F<ilya@math.mps.ohio-state.edu>E<gt>.
=head1 SEE ALSO
-The L<overloading> pragma can be used to enable or disable overloaded
-operations within a lexical scope.
+The C<overloading> pragma can be used to enable or disable overloaded
+operations within a lexical scope - see L<overloading>.
=head1 DIAGNOSTICS
@@ -1503,32 +1594,108 @@ to a subroutine.
=back
-=head1 BUGS
+=head1 BUGS AND PITFALLS
+
+=over
+
+=item *
+
+No warning is issued for invalid C<use overload> keys.
+Such errors are not always obvious:
+
+ use overload "+0" => sub { ...; }, # should be "0+"
+ "not" => sub { ...; }; # should be "!"
+
+(Bug #74098)
+
+=item *
+
+A pitfall when fallback is TRUE and Perl resorts to a built-in
+implementation of an operator is that some operators have more
+than one semantic, for example C<|>:
+
+ use overload '0+' => sub { $_[0]->{n}; },
+ fallback => 1;
+ my $x = bless { n => 4 }, "main";
+ my $y = bless { n => 8 }, "main";
+ print $x | $y, "\n";
-Because it is used for overloading, the per-package hash %OVERLOAD now
-has a special meaning in Perl. The symbol table is filled with names
-looking like line-noise.
+You might expect this to output "12".
+In fact, it prints "<": the ASCII result of treating "|"
+as a bitwise string operator - that is, the result of treating
+the operands as the strings "4" and "8" rather than numbers.
+The fact that numify (C<0+>) is implemented but stringify
+(C<"">) isn't makes no difference since the latter is simply
+autogenerated from the former.
+
+The only way to change this is to provide your own subroutine
+for C<'|'>.
+
+=item *
+
+Magic autogeneration increases the potential for inadvertently
+creating self-referential structures.
+Currently Perl will not free self-referential
+structures until cycles are explicitly broken.
+For example,
+
+ use overload '+' => 'add';
+ sub add { bless [ \$_[0], \$_[1] ] };
+
+is asking for trouble, since
+
+ $obj += $y;
+
+will effectively become
+
+ $obj = add($obj, $y, undef);
+
+with the same result as
+
+ $obj = [\$obj, \$foo];
+
+Even if no I<explicit> assignment-variants of operators are present in
+the script, they may be generated by the optimizer.
+For example,
+
+ "obj = $obj\n"
+
+may be optimized to
+
+ my $tmp = 'obj = ' . $obj; $tmp .= "\n";
+
+=item *
+
+Because it is used for overloading, the per-package hash
+C<%OVERLOAD> now has a special meaning in Perl.
+The symbol table is filled with names looking like line-noise.
+
+=item *
For the purpose of inheritance every overloaded package behaves as if
C<fallback> is present (possibly undefined). This may create
interesting effects if some package is not overloaded, but inherits
from two overloaded packages.
-Relation between overloading and tie()ing is broken. Overloading is
-triggered or not basing on the I<previous> class of tie()d value.
+=item *
+
+Before Perl 5.14, the relation between overloading and tie()ing was broken.
+Overloading is triggered or not basing on the I<previous> class of the
+tie()d variable.
-This happens because the presence of overloading is checked too early,
-before any tie()d access is attempted. If the FETCH()ed class of the
-tie()d value does not change, a simple workaround is to access the value
+This happened because the presence of overloading was checked
+too early, before any tie()d access was attempted. If the
+class of the value FETCH()ed from the tied variable does not
+change, a simple workaround for code that is to run on older Perl
+versions is to access the value (via C<() = $foo> or some such)
immediately after tie()ing, so that after this call the I<previous> class
coincides with the current one.
-B<Needed:> a way to fix this without a speed penalty.
+=item *
Barewords are not covered by overloaded string constants.
-This document is confusing. There are grammos and misleading language
-used in places. It would seem a total rewrite is needed.
+=back
=cut
diff --git a/Master/tlpkg/tlperl/lib/overload/numbers.pm b/Master/tlpkg/tlperl/lib/overload/numbers.pm
index d9daab58a63..f56fa630cc8 100644
--- a/Master/tlpkg/tlperl/lib/overload/numbers.pm
+++ b/Master/tlpkg/tlperl/lib/overload/numbers.pm
@@ -1,15 +1,15 @@
# -*- buffer-read-only: t -*-
#
-# lib/overload/numbers.pm
+# lib/overload/numbers.pm
#
-# Copyright (C) 2008 by Larry Wall and others
+# Copyright (C) 2008 by Larry Wall and others
#
-# You may distribute under the terms of either the GNU General Public
-# License or the Artistic License, as specified in the README file.
+# You may distribute under the terms of either the GNU General Public
+# License or the Artistic License, as specified in the README file.
#
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by overload.pl
-#
+# This file is built by regen/overload.pl.
+# Any changes made here will be lost!
package overload::numbers;
@@ -161,3 +161,4 @@ our @enums = qw#
{ my $i = 0; our %enums = map { $_ => $i++ } @enums }
+# ex: set ro:
diff --git a/Master/tlpkg/tlperl/lib/parent.pm b/Master/tlpkg/tlperl/lib/parent.pm
index a18526bb519..8f72db86dc8 100644
--- a/Master/tlpkg/tlperl/lib/parent.pm
+++ b/Master/tlpkg/tlperl/lib/parent.pm
@@ -1,7 +1,7 @@
package parent;
use strict;
use vars qw($VERSION);
-$VERSION = '0.223';
+$VERSION = '0.225';
sub import {
my $class = shift;
@@ -23,9 +23,7 @@ sub import {
{
no strict 'refs';
- # This is more efficient than push for the new MRO
- # at least until the new MRO is fixed
- @{"$inheritor\::ISA"} = (@{"$inheritor\::ISA"} , @_);
+ push @{"$inheritor\::ISA"}, @_;
};
};
@@ -33,6 +31,8 @@ sub import {
__END__
+=encoding utf8
+
=head1 NAME
parent - Establish an ISA relationship with base classes at compile time
@@ -102,7 +102,7 @@ either C<.pm> or C<.pmc>), use the following code:
Attempting to inherit from yourself generates a warning.
- use Foo;
+ package Foo;
use parent 'Foo';
=back
@@ -120,13 +120,13 @@ L<base>
=head1 AUTHORS AND CONTRIBUTORS
-Rafaël Garcia-Suarez, Bart Lateur, Max Maischein, Anno Siegel, Michael Schwern
+Rafaël Garcia-Suarez, Bart Lateur, Max Maischein, Anno Siegel, Michael Schwern
=head1 MAINTAINER
Max Maischein C< corion@cpan.org >
-Copyright (c) 2007 Max Maischein C<< <corion@cpan.org> >>
+Copyright (c) 2007-10 Max Maischein C<< <corion@cpan.org> >>
Based on the idea of C<base.pm>, which was introduced with Perl 5.004_04.
=head1 LICENSE
diff --git a/Master/tlpkg/tlperl/lib/perl5db.pl b/Master/tlpkg/tlperl/lib/perl5db.pl
index b3daaf55abd..ea0d049a789 100644
--- a/Master/tlpkg/tlperl/lib/perl5db.pl
+++ b/Master/tlpkg/tlperl/lib/perl5db.pl
@@ -173,9 +173,11 @@ Send in a patch if you can clear up, fill out, or clarify an C<XXX>.
There are a number of special data structures provided to the debugger by
the Perl interpreter.
-The array C<@{$main::{'_<'.$filename}}> (aliased locally to C<@dbline> via glob
-assignment) contains the text from C<$filename>, with each element
-corresponding to a single line of C<$filename>.
+The array C<@{$main::{'_<'.$filename}}> (aliased locally to C<@dbline>
+via glob assignment) contains the text from C<$filename>, with each
+element corresponding to a single line of C<$filename>. Additionally,
+breakable lines will be dualvars with the numeric component being the
+memory address of a COP node. Non-breakable lines are dualvar to 0.
The hash C<%{'_<'.$filename}> (aliased locally to C<%dbline> via glob
assignment) contains breakpoints and actions. The keys are line numbers;
@@ -888,7 +890,7 @@ sub eval {
# + Forgot a my() declaration (Ilya Zakharevich in 11085)
# Changes: 1.15: Nov 6, 2001 Michael G Schwern <schwern@pobox.com>
# + Updated 1.14 change log
-# + Added *dbline explainatory comments
+# + Added *dbline explanatory comments
# + Mentioning perldebguts man page
# Changes: 1.16: Feb 15, 2002 Mark-Jason Dominus <mjd@plover.com>
# + $onetimeDump improvements
@@ -952,6 +954,18 @@ sub eval {
# Changes: 1.32: Jun 03, 2009 Jonathan Leto <jonathan@leto.net>
# + Fix bug where a key _< with undefined value was put into the symbol table
# + when the $filename variable is not set
+# Changes: 1.33:
+# + Debugger prints lines to the remote port when it forks and openes a new port (f633fd2)
+# + The debugger now continues to use RemotePort when it's been configured to use it. (11653f7)
+# + Stop using $ENV{LESS} for parameters not intended for less (d463cf2)
+# + Configure has a path to less and perl5db.pl can use it (bf320d6)
+# + Die with $@ instead of empty message (86755f4)
+# + Remove extra/useless $@ check after eval { require PadWalker } (which is still checked) (dab8d6d)
+# + Promote eval( "require ..." ) to eval { require ... } (4a49187)
+# + Promote eval { require( ... )} || die to mere require( ... ) (999f23b)
+# + Remove indirect object notation from debugger (bee4b46)
+# + Document that @{$main::{'_<'.$filename}} lines are dualvar to (COP*). (7e17a74)
+# + Remove MacOS classic support from the debugger. (2b894b7)
########################################################################
=head1 DEBUGGER INITIALIZATION
@@ -970,7 +984,7 @@ terminates, and defaulting to printing return values for the C<r> command.
# Needed for the statement after exec():
#
# This BEGIN block is simply used to switch off warnings during debugger
-# compiliation. Probably it would be better practice to fix the warnings,
+# compilation. Probably it would be better practice to fix the warnings,
# but this is how it's done at the moment.
BEGIN {
@@ -1461,7 +1475,8 @@ if ( defined $ENV{PERLDB_OPTS} ) {
The last thing we do during initialization is determine which subroutine is
to be used to obtain a new terminal when a new debugger is started. Right now,
-the debugger only handles X Windows, OS/2, and Mac OS X (darwin).
+the debugger only handles TCP sockets, X Windows, OS/2, amd Mac OS X
+(darwin).
=cut
@@ -1471,7 +1486,11 @@ the debugger only handles X Windows, OS/2, and Mac OS X (darwin).
if (not defined &get_fork_TTY) # only if no routine exists
{
- if (defined $ENV{TERM} # If we know what kind
+ if ( defined $remoteport ) {
+ # Expect an inetd-like server
+ *get_fork_TTY = \&socket_get_fork_TTY; # to listen to us
+ }
+ elsif (defined $ENV{TERM} # If we know what kind
# of terminal this is,
and $ENV{TERM} eq 'xterm' # and it's an xterm,
and defined $ENV{DISPLAY} # and what display it's on,
@@ -1630,23 +1649,6 @@ We then determine what the console should be on various systems:
$console = "con";
}
-=item * MacOS - use C<Dev:Console:Perl Debug> if this is the MPW version; C<Dev:
-Console> if not.
-
-Note that Mac OS X returns C<darwin>, not C<MacOS>. Also note that the debugger doesn't do anything special for C<darwin>. Maybe it should.
-
-=cut
-
- elsif ( $^O eq 'MacOS' ) {
- if ( $MacPerl::Version !~ /MPW/ ) {
- $console =
- "Dev:Console:Perl Debug"; # Separate window for application
- }
- else {
- $console = "Dev:Console";
- }
- } ## end elsif ($^O eq 'MacOS')
-
=item * VMS - use C<sys$command>.
=cut
@@ -1716,14 +1718,7 @@ and then tries to connect the input and output filehandles to it.
# If RemotePort was defined in the options, connect input and output
# to the socket.
- require IO::Socket;
- $OUT = new IO::Socket::INET(
- Timeout => '10',
- PeerAddr => $remoteport,
- Proto => 'tcp',
- );
- if ( !$OUT ) { die "Unable to connect to remote host: $remoteport\n"; }
- $IN = $OUT;
+ $IN = $OUT = connect_remoteport();
} ## end if (defined $remoteport)
=pod
@@ -1923,13 +1918,6 @@ sub DB {
# the code here.
local (*dbline) = $main::{ '_<' . $filename };
- # we need to check for pseudofiles on Mac OS (these are files
- # not attached to a filename, but instead stored in Dev:Pseudo)
- if ( $^O eq 'MacOS' && $#dbline < 0 ) {
- $filename_ini = $filename = 'Dev:Pseudo';
- *dbline = $main::{ '_<' . $filename };
- }
-
# Last line in the program.
local $max = $#dbline;
@@ -2821,7 +2809,7 @@ appropriately, and force us out of the command loop.
# r - return from the current subroutine.
$cmd =~ /^r$/ && do {
- # Can't do anythign if the program's over.
+ # Can't do anything if the program's over.
end_report(), next CMD if $finished and $level <= 1;
# Turn on stack trace.
@@ -3237,7 +3225,7 @@ Manipulates C<%alias> to add or list command aliases.
# List aliases.
for my $k (@keys) {
- # Messy metaquoting: Trim the substiution code off.
+ # Messy metaquoting: Trim the substitution code off.
# We use control-G as the delimiter because it's not
# likely to appear in the alias.
if ( ( my $v = $alias{$k} ) =~ ss\a$k\a(.*)\a$1 ) {
@@ -3696,7 +3684,7 @@ sub sub {
)
if $frame;
- # Determine the sub's return type,and capture approppriately.
+ # Determine the sub's return type, and capture appropriately.
if (wantarray) {
# Called in array context. call sub and capture output.
@@ -3760,7 +3748,7 @@ sub sub {
# If we're doing exit messages...
(
- $frame & 4 # Extended messsages
+ $frame & 4 # Extended messages
? (
print_lineinfo( ' ' x $stack_depth, "out " ),
print_trace( $LINEINFO, -1, 1, 1, "$sub$al" )
@@ -5524,7 +5512,7 @@ sub postponed {
# Yes. Mark this file as having breakpoints.
$had_breakpoints{$filename} |= 1;
- # "Cannot be done: unsufficient magic" - we can't just put the
+ # "Cannot be done: insufficient magic" - we can't just put the
# breakpoints saved in %postponed_file into %dbline by assigning
# the whole hash; we have to do it one item at a time for the
# breakpoints to be set properly.
@@ -6022,7 +6010,7 @@ sub setterm {
# Load Term::Readline, but quietly; don't debug it and don't trace it.
local $frame = 0;
local $doret = -2;
- eval { require Term::ReadLine } or die $@;
+ require Term::ReadLine;
# If noTTY is set, but we have a TTY name, go ahead and hook up to it.
if ($notty) {
@@ -6040,14 +6028,14 @@ sub setterm {
# We don't have a TTY - try to find one via Term::Rendezvous.
else {
- eval "require Term::Rendezvous;" or die;
+ require Term::Rendezvous;
# See if we have anything to pass to Term::Rendezvous.
# Use $HOME/.perldbtty$$ if not.
my $rv = $ENV{PERLDB_NOTTY} || "$ENV{HOME}/.perldbtty$$";
# Rendezvous and get the filehandles.
- my $term_rv = new Term::Rendezvous $rv;
+ my $term_rv = Term::Rendezvous->new( $rv );
$IN = $term_rv->IN;
$OUT = $term_rv->OUT;
} ## end else [ if ($tty)
@@ -6060,12 +6048,12 @@ sub setterm {
# If we shouldn't use Term::ReadLine, don't.
if ( !$rl ) {
- $term = new Term::ReadLine::Stub 'perldb', $IN, $OUT;
+ $term = Term::ReadLine::Stub->new( 'perldb', $IN, $OUT );
}
# We're using Term::ReadLine. Get all the attributes for this terminal.
else {
- $term = new Term::ReadLine 'perldb', $IN, $OUT;
+ $term = Term::ReadLine->new( 'perldb', $IN, $OUT );
$rl_attribs = $term->Attribs;
$rl_attribs->{basic_word_break_characters} .= '-:+/*,[])}'
@@ -6135,10 +6123,37 @@ is tasked with doing all the necessary operating system mojo to get a new
TTY (and probably another window) and to direct the new debugger to read and
write there.
-The debugger provides C<get_fork_TTY> functions which work for X Windows,
-OS/2, and Mac OS X. Other systems are not supported. You are encouraged
-to write C<get_fork_TTY> functions which work for I<your> platform
-and contribute them.
+The debugger provides C<get_fork_TTY> functions which work for TCP
+socket servers, X Windows, OS/2, and Mac OS X. Other systems are not
+supported. You are encouraged to write C<get_fork_TTY> functions which
+work for I<your> platform and contribute them.
+
+=head3 C<socket_get_fork_TTY>
+
+=cut
+
+sub connect_remoteport {
+ require IO::Socket;
+
+ my $socket = IO::Socket::INET->new(
+ Timeout => '10',
+ PeerAddr => $remoteport,
+ Proto => 'tcp',
+ );
+ if ( ! $socket ) {
+ die "Unable to connect to remote host: $remoteport\n";
+ }
+ return $socket;
+}
+
+sub socket_get_fork_TTY {
+ $tty = $LINEINFO = $IN = $OUT = connect_remoteport();
+
+ # Do I need to worry about setting $term?
+
+ reset_IN_OUT( $IN, $OUT );
+ return '';
+}
=head3 C<xterm_get_fork_TTY>
@@ -6172,12 +6187,12 @@ qq[3>&1 xterm -title "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
# We need $term defined or we can not switch to the newly created xterm
if ($tty ne '' && !defined $term) {
- eval { require Term::ReadLine } or die $@;
+ require Term::ReadLine;
if ( !$rl ) {
- $term = new Term::ReadLine::Stub 'perldb', $IN, $OUT;
+ $term = Term::ReadLine::Stub->new( 'perldb', $IN, $OUT );
}
else {
- $term = new Term::ReadLine 'perldb', $IN, $OUT;
+ $term = Term::ReadLine->new( 'perldb', $IN, $OUT );
}
}
# There's our new TTY.
@@ -6473,7 +6488,7 @@ sub readline {
# Nothing on the filehandle stack. Socket?
if ( ref $OUT and UNIVERSAL::isa( $OUT, 'IO::Socket::INET' ) ) {
- # Send anyting we have to send.
+ # Send anything we have to send.
$OUT->write( join( '', @_ ) );
# Receive anything there is to receive.
@@ -6682,7 +6697,7 @@ sub parse_options {
local \$doret = -2;
require '$optionRequire{$option}';
1;
- } || die # XXX: shouldn't happen
+ } || die $@ # XXX: shouldn't happen
if defined $optionRequire{$option}
&& defined $val;
@@ -7274,7 +7289,7 @@ B<H> I<-number> Display last number commands (default all).
B<H> I<*> Delete complete history.
B<p> I<expr> Same as \"I<print {DB::OUT} expr>\" in current package.
B<|>I<dbcmd> Run debugger command, piping DB::OUT to current pager.
-B<||>I<dbcmd> Same as B<|>I<dbcmd> but DB::OUT is temporarilly select()ed as well.
+B<||>I<dbcmd> Same as B<|>I<dbcmd> but DB::OUT is temporarily select()ed as well.
B<\=> [I<alias> I<value>] Define a command alias, or list current aliases.
I<command> Execute as a perl statement in current package.
B<R> Pure-man-restart of debugger, some of debugger state
@@ -7599,14 +7614,14 @@ sub print_help {
This routine does a lot of gyrations to be sure that the pager is C<less>.
It checks for C<less> masquerading as C<more> and records the result in
-C<$ENV{LESS}> so we don't have to go through doing the stats again.
+C<$fixed_less> so we don't have to go through doing the stats again.
=cut
sub fix_less {
# We already know if this is set.
- return if defined $ENV{LESS} && $ENV{LESS} =~ /r/;
+ return if $fixed_less;
# Pager is less for sure.
my $is_less = $pager =~ /\bless\b/;
@@ -7625,7 +7640,7 @@ sub fix_less {
# changes environment!
# 'r' added so we don't do (slow) stats again.
- $ENV{LESS} .= 'r' if $is_less;
+ $fixed_less = 1 if $is_less;
} ## end sub fix_less
=head1 DIE AND WARN MANAGEMENT
@@ -7759,7 +7774,7 @@ sub dbdie {
die @_ if $^S; # in eval propagate
}
- # The code used to check $^S to see if compiliation of the current thing
+ # The code used to check $^S to see if compilation of the current thing
# hadn't finished. We don't do it anymore, figuring eval is pretty stable.
eval { require Carp };
@@ -8040,7 +8055,7 @@ Just checks the contents of C<$^O> and sets the C<$doccmd> global accordingly.
=cut
sub setman {
- $doccmd = $^O !~ /^(?:MSWin32|VMS|os2|dos|amigaos|riscos|MacOS|NetWare)\z/s
+ $doccmd = $^O !~ /^(?:MSWin32|VMS|os2|dos|amigaos|riscos|NetWare)\z/s
? "man" # O Happy Day!
: "perldoc"; # Alas, poor unfortunates
} ## end sub setman
@@ -8115,7 +8130,6 @@ my @pods = qw(
amiga
apio
api
- apollo
artistic
beos
book
@@ -8639,7 +8653,7 @@ if PadWalker could be loaded.
=cut
- if (not $text =~ /::/ and eval "require PadWalker; 1" and not $@ ) {
+ if (not $text =~ /::/ and eval { require PadWalker } ) {
my $level = 1;
while (1) {
my @info = caller($level);
@@ -8866,7 +8880,7 @@ Rerun the current session to:
rerun -4 current command minus 4 (go back 4 steps)
Whether this always makes sense, in the current context is unknowable, and is
-in part left as a useful exersize for the reader. This sub returns the
+in part left as a useful exercise for the reader. This sub returns the
appropriate arguments to rerun the current session.
=cut
@@ -9060,7 +9074,7 @@ variable via C<DB::set_list>.
set_list( "PERLDB_POST", @$post );
set_list( "PERLDB_TYPEAHEAD", @typeahead );
- # We are oficially restarting.
+ # We are officially restarting.
$ENV{PERLDB_RESTART} = 1;
# We are junking all child debuggers.
diff --git a/Master/tlpkg/tlperl/lib/perllocal.pod b/Master/tlpkg/tlperl/lib/perllocal.pod
index 26d7596868a..b5e4d4546b0 100644
--- a/Master/tlpkg/tlperl/lib/perllocal.pod
+++ b/Master/tlpkg/tlperl/lib/perllocal.pod
@@ -1,10 +1,10 @@
-=head2 Thu Feb 10 20:54:34 2011: C<Module> L<Win32::API|Win32::API>
+=head2 Fri May 18 13:04:05 2012: C<Module> L<Win32::API|Win32::API>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -12,7 +12,7 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 0.59>
+C<VERSION: 0.68>
=item *
@@ -20,13 +20,13 @@ C<EXE_FILES: >
=back
-=head2 Thu Feb 10 20:55:46 2011: C<Module> L<Win32::Shortcut|Win32::Shortcut>
+=head2 Fri May 18 13:41:13 2012: C<Module> L<Win32::Shortcut|Win32::Shortcut>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -42,13 +42,13 @@ C<EXE_FILES: >
=back
-=head2 Thu Feb 10 20:57:20 2011: C<Module> L<Win32API::Registry|Win32API::Registry>
+=head2 Fri May 18 13:42:29 2012: C<Module> L<Win32API::Registry|Win32API::Registry>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -64,13 +64,13 @@ C<EXE_FILES: >
=back
-=head2 Thu Feb 10 20:58:22 2011: C<Module> L<Win32::TieRegistry|Win32::TieRegistry>
+=head2 Fri May 18 13:45:11 2012: C<Module> L<Win32::TieRegistry|Win32::TieRegistry>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -86,13 +86,13 @@ C<EXE_FILES: >
=back
-=head2 Thu Feb 10 21:25:32 2011: C<Module> L<Tk|Tk>
+=head2 Fri May 18 13:46:28 2012: C<Module> L<Win32::Process::Info|Win32::Process::Info>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -100,7 +100,29 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 804.029>
+C<VERSION: 1.019>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:02:43 2012: C<Module> L<Tk|Tk>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 804.03>
=item *
@@ -108,13 +130,13 @@ C<EXE_FILES: ptksh ptked gedi>
=back
-=head2 Sat Feb 12 11:49:20 2011: C<Module> L<File::Which|File::Which>
+=head2 Fri May 18 14:06:25 2012: C<Module> L<HTML::Tagset|HTML::Tagset>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -122,21 +144,21 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 1.09>
+C<VERSION: 3.20>
=item *
-C<EXE_FILES: script/pwhich>
+C<EXE_FILES: >
=back
-=head2 Sat Feb 12 11:54:11 2011: C<Module> L<Digest::SHA1|Digest::SHA1>
+=head2 Fri May 18 14:08:10 2012: C<Module> L<HTML::Parser|HTML::Parser>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -144,7 +166,7 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 2.13>
+C<VERSION: 3.69>
=item *
@@ -152,13 +174,13 @@ C<EXE_FILES: >
=back
-=head2 Sun Feb 27 17:51:24 2011: C<Module> L<HTML::Tagset|HTML::Tagset>
+=head2 Fri May 18 14:09:31 2012: C<Module> L<URI|URI>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -166,7 +188,139 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 3.20>
+C<VERSION: 1.60>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:12:18 2012: C<Module> L<Encode::Locale|Encode::Locale>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.03>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:15:08 2012: C<Module> L<HTTP::Date|HTTP::Date>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.02>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:16:12 2012: C<Module> L<File::Listing|File::Listing>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.04>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:21:26 2012: C<Module> L<LWP::MediaTypes|LWP::MediaTypes>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.02>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:22:29 2012: C<Module> L<HTTP::Message|HTTP::Message>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.03>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:23:29 2012: C<Module> L<HTTP::Cookies|HTTP::Cookies>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.01>
=item *
@@ -174,13 +328,13 @@ C<EXE_FILES: >
=back
-=head2 Sun Feb 27 17:52:43 2011: C<Module> L<HTML::Parser|HTML::Parser>
+=head2 Fri May 18 14:24:21 2012: C<Module> L<HTTP::Daemon|HTTP::Daemon>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -188,7 +342,7 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 3.68>
+C<VERSION: 6.01>
=item *
@@ -196,13 +350,13 @@ C<EXE_FILES: >
=back
-=head2 Sun Feb 27 17:57:12 2011: C<Module> L<URI|URI>
+=head2 Fri May 18 14:25:15 2012: C<Module> L<HTTP::Negotiate|HTTP::Negotiate>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -210,7 +364,7 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 1.58>
+C<VERSION: 6.01>
=item *
@@ -218,13 +372,13 @@ C<EXE_FILES: >
=back
-=head2 Sun Feb 27 17:58:59 2011: C<Module> L<LWP|LWP>
+=head2 Fri May 18 14:26:19 2012: C<Module> L<Net::HTTP|Net::HTTP>
=over 4
=item *
-C<installed into: x:\perlnew\site\lib>
+C<installed into: x:\tlperl\site\lib>
=item *
@@ -232,11 +386,99 @@ C<LINKTYPE: dynamic>
=item *
-C<VERSION: 5.837>
+C<VERSION: 6.03>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:27:20 2012: C<Module> L<WWW::RobotRules|WWW::RobotRules>
+
+=over 4
=item *
-C<EXE_FILES: bin/lwp-request bin/lwp-mirror bin/lwp-rget bin/lwp-download bin/lwp-dump>
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.02>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 14:28:45 2012: C<Module> L<LWP|LWP>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 6.04>
+
+=item *
+
+C<EXE_FILES: bin/lwp-request bin/lwp-mirror bin/lwp-download bin/lwp-dump>
+
+=back
+
+=head2 Fri May 18 15:04:42 2012: C<Module> L<IO::String|IO::String>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 1.08>
+
+=item *
+
+C<EXE_FILES: >
+
+=back
+
+=head2 Fri May 18 15:05:45 2012: C<Module> L<Digest::SHA1|Digest::SHA1>
+
+=over 4
+
+=item *
+
+C<installed into: x:\tlperl\site\lib>
+
+=item *
+
+C<LINKTYPE: dynamic>
+
+=item *
+
+C<VERSION: 2.13>
+
+=item *
+
+C<EXE_FILES: >
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perl.pod b/Master/tlpkg/tlperl/lib/pods/perl.pod
index e67f0627dea..29cabf1fc05 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perl - The Perl language interpreter
+perl - The Perl 5 language interpreter
=head1 SYNOPSIS
@@ -78,6 +78,7 @@ For ease of access, the Perl manual has been split up into several sections.
perlpacktut Perl pack() and unpack() tutorial
perlpod Perl plain old documentation
perlpodspec Perl plain old documentation format specification
+ perlpodstyle Perl POD style guide
perlrun Perl execution and options
perldiag Perl diagnostic messages
perllexwarn Perl warnings and their control
@@ -104,7 +105,7 @@ For ease of access, the Perl manual has been split up into several sections.
perluniintro Perl Unicode introduction
perlunicode Perl Unicode support
perlunifaq Perl Unicode FAQ
- perluniprops Index of Unicode Version 5.2.0 properties in Perl
+ perluniprops Index of Unicode Version 6.0.0 properties in Perl
perlunitut Perl Unicode tutorial
perlebcdic Considerations for running Perl on EBCDIC platforms
@@ -144,8 +145,12 @@ For ease of access, the Perl manual has been split up into several sections.
perlapio Perl internal IO abstraction interface
perlhack Perl hackers guide
+ perlsource Guide to the Perl source tree
+ perlinterp Overview of the Perl intepreter source and how it works
+ perlhacktut Walk through the creation of a simple C code patch
+ perlhacktips Tips for Perl core C code hacking
perlpolicy Perl development policies
- perlrepository Perl source repository
+ perlgit Using git with the Perl repository
=head2 Miscellaneous
@@ -157,6 +162,21 @@ For ease of access, the Perl manual has been split up into several sections.
perlhist Perl history records
perldelta Perl changes since previous version
+ perl5141delta Perl changes in version 5.14.1
+ perl5140delta Perl changes in version 5.14.0
+ perl51311delta Perl changes in version 5.13.11
+ perl51310delta Perl changes in version 5.13.10
+ perl5139delta Perl changes in version 5.13.9
+ perl5138delta Perl changes in version 5.13.8
+ perl5137delta Perl changes in version 5.13.7
+ perl5136delta Perl changes in version 5.13.6
+ perl5135delta Perl changes in version 5.13.5
+ perl5134delta Perl changes in version 5.13.4
+ perl5133delta Perl changes in version 5.13.3
+ perl5132delta Perl changes in version 5.13.2
+ perl5131delta Perl changes in version 5.13.1
+ perl5130delta Perl changes in version 5.13.0
+ perl5123delta Perl changes in version 5.12.3
perl5122delta Perl changes in version 5.12.2
perl5121delta Perl changes in version 5.12.1
perl5120delta Perl changes in version 5.12.0
@@ -207,7 +227,6 @@ For ease of access, the Perl manual has been split up into several sections.
perlaix Perl notes for AIX
perlamiga Perl notes for AmigaOS
- perlapollo Perl notes for Apollo DomainOS
perlbeos Perl notes for BeOS
perlbs2000 Perl notes for POSIX-BC BS2000
perlce Perl notes for WinCE
@@ -254,12 +273,15 @@ often point out exactly where the trouble is.
Perl officially stands for Practical Extraction and Report Language,
except when it doesn't.
-Perl is a language optimized for scanning arbitrary
+Perl was originally a language optimized for scanning arbitrary
text files, extracting information from those text files, and printing
-reports based on that information. It's also a good language for many
-system management tasks. The language is intended to be practical
-(easy to use, efficient, complete) rather than beautiful (tiny,
-elegant, minimal).
+reports based on that information. It quickly became a good language
+for many system management tasks. Over the years, Perl has grown into
+a general-purpose programming language. It's widely used for everything
+from quick "one-liners" to full-scale application development.
+
+The language is intended to be practical (easy to use, efficient,
+complete) rather than beautiful (tiny, elegant, minimal).
Perl combines (in the author's opinion, anyway) some of the best
features of C, B<sed>, B<awk>, and B<sh>, so people familiar with
@@ -273,16 +295,8 @@ unlimited depth. And the tables used by hashes (sometimes called
"associative arrays") grow as necessary to prevent degraded
performance. Perl can use sophisticated pattern matching techniques to
scan large amounts of data quickly. Although optimized for
-scanning text, Perl can also deal with binary data, and can make dbm
-files look like hashes. Setuid Perl scripts are safer than C programs
-through a dataflow tracing mechanism that prevents many stupid
-security holes.
-
-If you have a problem that would ordinarily use B<sed> or B<awk> or
-B<sh>, but it exceeds their capabilities or must run a little faster,
-and you don't want to write the silly thing in C, then Perl may be for
-you. There are also translators to turn your B<sed> and B<awk>
-scripts into Perl scripts.
+scanning text, Perl also has many excellent tools for slicing
+and dicing binary data.
But wait, there's more...
@@ -396,9 +410,6 @@ Perl developers, please write to perl-thanks@perl.org .
=head1 SEE ALSO
- a2p awk to perl translator
- s2p sed to perl translator
-
http://www.perl.org/ the Perl homepage
http://www.perl.com/ Perl articles (O'Reilly)
http://www.cpan.org/ the Comprehensive Perl Archive
@@ -446,7 +457,7 @@ affected by wraparound).
You may mail your bug reports (be sure to include full configuration
information as output by the myconfig program in the perl source
tree, or by C<perl -V>) to perlbug@perl.org . If you've succeeded
-in compiling perl, the B<perlbug> script in the F<utils/> subdirectory
+in compiling perl, the L<perlbug> script in the F<utils/> subdirectory
can be used to help mail in a bug report.
Perl actually stands for Pathologically Eclectic Rubbish Lister, but
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
index 1b722ed7e8e..7ceb174a09c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
@@ -32,7 +32,7 @@ to match whichever property they like, including the new artificial definitions.
B<NOTE:> This is a backwards incompatible no-warning change in behaviour. If you are upgrading
and you process large volumes of text look for POSIX and Perl style character classes and
-change them to the relevent property name (by removing the word 'Posix' from the current name).
+change them to the relevant property name (by removing the word 'Posix' from the current name).
The following table maps the POSIX character class names, the escapes and the old and new
Unicode property mappings:
@@ -63,7 +63,7 @@ in regcomp.h, and then setting
PERL_TEST_LEGACY_POSIX_CC
-to true your enviornment when testing.
+to true your environment when testing.
=head2 @INC reorganization
@@ -1544,7 +1544,7 @@ simpler to spot and correct the suspicious character.
=item *
-Explicitely point to $. when it causes an uninitialized warning for ranges in scalar context
+Explicitly point to $. when it causes an uninitialized warning for ranges in scalar context
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod
index 5d5b401e784..08c4285ebe9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod
@@ -199,9 +199,9 @@ See the documentation for C<ExtUtils::MakeMaker> or C<Module::Build> for
more on how to specify C<configure_requires> when creating a distribution
for CPAN.
-=head2 C<each> is now more flexible
+=head2 C<each>, C<keys>, C<values> are now more flexible
-The C<each> function can now operate on arrays.
+The C<each>, C<keys>, C<values> function can now operate on arrays.
=head2 C<when> as a statement modifier
@@ -287,7 +287,7 @@ those installed in C<ARCHLIB> and C<PRIVLIB>.
=head2 REGEXPs are now first class
-Internally, Perl now treates compiled regular expressions (such as
+Internally, Perl now treats compiled regular expressions (such as
those created with C<qr//>) as first class entities. Perl modules which
serialize, deserialize or otherwise have deep interaction with Perl's
internal data structures need to be updated for this change. Most
@@ -497,7 +497,8 @@ longer be used as an attribute.
=item *
Perl's command-line switch "-P", which was deprecated in version 5.10.0, has
-now been removed.
+now been removed. The CPAN module C<< Filter::cpp >> can be used as an
+alternative.
=back
@@ -588,7 +589,7 @@ on CPAN which require these should add them to their prerequisites. The
core versions of these modules warnings will issue a deprecation warning.
If you ship a packaged version of Perl, either alone or as part of a
-larger system, then you should carefully consider the reprecussions of
+larger system, then you should carefully consider the repercussions of
core module deprecations. You may want to consider shipping your default
build of Perl with packages for some or all deprecated modules which
install into C<vendor> or C<site> perl library directories. This will
@@ -1514,7 +1515,7 @@ The documentation for C<$1> in perlvar.pod has been clarified.
=item *
-C<\N{U+I<wide hex char>}> is now documented.
+C<\N{U+I<code point>}> is now documented.
=back
@@ -1665,8 +1666,8 @@ C<\N{...}> now compiles better, always forces UTF-8 internal representation
Perl's developers have fixed several problems with the recognition of
C<\N{...}> constructs. As part of this, perl will store any scalar
-or regex containing C<\N{I<name>}> or C<\N{U+I<wide hex char>}> in its
-definition in UTF-8 format. (This was true previously for all occurences
+or regex containing C<\N{I<name>}> or C<\N{U+I<code point>}> in its
+definition in UTF-8 format. (This was true previously for all occurrences
of C<\N{I<name>}> that did not use a custom translator, but now it's
always true.)
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod
index 2c8a08fb289..cc2702bcc32 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod
@@ -2,7 +2,7 @@
=head1 NAME
-perldelta - what is new for perl v5.12.1
+perl5121delta - what is new for perl v5.12.1
=head1 DESCRIPTION
@@ -60,7 +60,7 @@ We made a small fix to the L<CPANPLUS> test suite to fix an occasional spurious
=item *
-We upgraded L<Safe> to version 2.27 to wrap coderefs retured by C<reval()> and C<rdo()>.
+We upgraded L<Safe> to version 2.27 to wrap coderefs returned by C<reval()> and C<rdo()>.
=back
@@ -257,7 +257,7 @@ See also: L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=74290>
=item *
We fixed a regression in case-insensitive matching of folded characters
-in regular expressions introduced in Perl 5.12.0.
+in regular expressions introduced in Perl 5.10.1.
See also: L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=72998>
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod
index 9a150cc0100..445e74dea77 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod
@@ -58,8 +58,8 @@ overriding C<caller()> incorrectly.
=item C<CPANPLUS>
A patch to F<cpanp-run-perl> has been backported from CPANPLUS C<0.9004>. This
-resolves L<[perl #55964]|http://rt.perl.org/rt3/Ticket/Display.html?id=55964>
-and L<[perl #57106]|http://rt.perl.org/rt3/Ticket/Display.html?id=57106>, both
+resolves L<RT #55964|http://rt.cpan.org/Public/Bug/Display.html?id=55964>
+and L<RT #57106|http://rt.cpan.org/Public/Bug/Display.html?id=57106>, both
of which related to failures to install distributions that use
C<Module::Install::DSL>.
@@ -89,12 +89,12 @@ name is empty; C<abs2rel()> properly handles Unix-style input.
=over
-=item *
+=item *
F<perlbug> now always gives the reporter a chance to change the email address it
guesses for them.
-=item *
+=item *
F<perlbug> should no longer warn about uninitialized values when using the C<-d>
and C<-v> options.
@@ -226,7 +226,7 @@ now supports get/set magic and thus tied buffers correctly.
=item *
-The C<pp_getc>, C<pp_tell>, and C<pp_eof> opcodes now make room on the
+The C<pp_getc>, C<pp_tell>, and C<pp_eof> opcodes now make room on the
stack for their return values in cases where no argument was passed in.
=item *
@@ -241,7 +241,7 @@ See L<[perl #75680]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75680>
=head2 AIX
-=over
+=over
=item *
@@ -258,7 +258,7 @@ suite.
When building Perl with the mingw64 x64 cross-compiler C<incpath>,
C<libpth>, C<ldflags>, C<lddlflags> and C<ldflags_nolargefiles> values
-in F<Config.pm> and F<Config_heavy.pl> were not previously not being set
+in F<Config.pm> and F<Config_heavy.pl> were not previously being set
correctly because, with that compiler, the include and lib directories
are not immediately below C<$(CCHOME)>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod
index 20d38bb15ca..35da9af23ca 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod
@@ -2,7 +2,7 @@
=head1 NAME
-perldelta - what is new for perl v5.12.3
+perl5123delta - what is new for perl v5.12.3
=head1 DESCRIPTION
@@ -34,7 +34,8 @@ constant expressions.
Module::Build should be more reliably pass its tests under cygwin.
-lvalue sub return values are now COW.
+Lvalue subroutines are again able to return copy-on-write scalars. This
+had been broken since version 5.10.0.
=head1 Platform Specific Notes
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5130delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5130delta.pod
new file mode 100644
index 00000000000..c5d5169b54e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5130delta.pod
@@ -0,0 +1,133 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5130delta - what is new for perl v5.13.0
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.12.0 release and the
+5.13.0 release.
+
+If you are upgrading from an earlier release such as 5.10.0, first read
+L<perl5120delta>, which describes differences between 5.10.0 and
+5.12.0.
+
+=head1 Core Enhancements
+
+=head2 "safe signals" optimization
+
+Signal dispatch has been moved from the runloop into control ops. This
+should give a few percent speed increase, and eliminates almost all of
+the speed penalty caused by the introduction of "safe signals" in
+5.8.0. Signals should still be dispatched within the same statement as
+they were previously - if this is not the case, or it is possible to
+create uninterruptible loops, this is a bug, and reports are encouraged
+of how to recreate such issues.
+
+=head2 Assignment to C<$0> sets the legacy process name with C<prctl()> on Linux
+
+On Linux the legacy process name will be set with L<prctl(2)>, in
+addition to altering the POSIX name via C<argv[0]> as perl has done
+since version 4.000. Now system utilities that read the legacy process
+name such as ps, top and killall will recognize the name you set when
+assigning to C<$0>. The string you supply will be cut off at 16 bytes,
+this is a limitation imposed by Linux.
+
+=head2 Optimization of shift; and pop; calls without arguments
+
+Additional two OPs are not added anymore into op tree for shift and pop
+calls without argument (when it works on C<@_>). Makes C<shift;> 5%
+faster over C<shift @_;> on not threaded perl and 25% faster on threaded.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules
+
+=over 4
+
+=item CGI
+
+Updated to version 3.49.
+
+=item Data::Dumper
+
+Updated to version 2.126.
+
+=item MIME::Base64
+
+Updated to 3.09.
+
+=item threads
+
+Updated to version 1.77
+
+=item threads-shared
+
+Updated to version 1.33
+
+=back
+
+=head1 Installation and Configuration Improvements
+
+=head2 Platform Specific Changes
+
+=over 4
+
+=item AIX
+
+Allow building on AIX 4.2.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.0 represents eight days of development since Perl 5.12.0 and
+contains 3,766 lines of changes across 151 files from 29 authors and
+committers.
+
+Thank you to the following for contributing to this release:
+
+Ævar Arnfjörð Bjarmason, Alex Vandiver, Chris Williams, chromatic,
+Craig A. Berry, David Golden, David Mitchell, Eric Brine, Father
+Chrysostomos, Florian Ragwitz, Frank Wiegand, Gisle Aas, H.Merijn
+Brand, Hugo van der Sanden, Jesse Vincent, Josh ben Jore, Karl
+Williamson, Leon Brocard, Michael G Schwern, Michael G. Schwern, Nga
+Tang Chan, Nicholas Clark, Niko Tyni, Rafael Garcia-Suarez, Ricardo
+Signes, Robin Barker, Slaven Rezic, Steffen Mueller, Zefram.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl bug
+database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down to a
+tiny but sufficient test case. Your bug report, along with the output
+of C<perl -V>, will be sent off to perlbug@perl.org to be analysed by
+the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please
+send it to perl5-security-report@perl.org. This points to a closed
+subscription unarchived mailing list, which includes all the core
+committers, who be able to help assess the impact of issues, figure out
+a resolution, and help co-ordinate the release of patches to mitigate
+or fix the problem across all platforms on which Perl is supported.
+Please only use this address for security issues in the Perl core, not
+for modules independently distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive
+details on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl51310delta.pod b/Master/tlpkg/tlperl/lib/pods/perl51310delta.pod
new file mode 100644
index 00000000000..846e2253f30
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl51310delta.pod
@@ -0,0 +1,814 @@
+=encoding utf8
+
+=head1 NAME
+
+perl51310delta - what is new for perl v5.13.10
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.9 release and
+the 5.13.10 release.
+
+If you are upgrading from an earlier release such as 5.13.8, first read
+L<perl5139delta>, which describes differences between 5.13.8 and
+5.13.9.
+
+=head1 Core Enhancements
+
+=head2 The new regular expression modifiers available in suffix form
+
+Various releases of the 5.13.x series have added new regular expression
+modifiers, C</a>, C</d>, C</l>, and C</u>. They were only available in
+infix form (e.g., C<(?a:...)>) until this release; now they are usable
+in suffix form. This change was made too late to change all the
+affected documentation, so there are a number of places that erroneously
+say these must be used in infix form.
+
+However, there is an ambiguity with the construct, C<s/foo/bar/le...>. Due
+to backward compatibility constraints, in Perl 5.14 only, it will be
+resolved as C<s/foo/bar/ le...>, that is, as meaning to take the result
+of the substitution, and see if it is stringwise less-than-or-equal-to
+what follows. In Perl 5.16 and later, it will instead be resolved as
+meaning to do the pattern match using the rules of the current locale,
+and evaluate the rhs as an expression when doing the substitution. In
+5.14, if you want the latter interpretation, you can write "el" instead.
+
+=head2 Add C<\p{Titlecase}> as a synonym for C<\p{Title}>
+
+This synonym is added for symmetry with the Unicode property names
+C<\p{Uppercase}> and C<\p{Lowercase}>.
+
+=head2 New regular expression modifier option C</aa>
+
+Doubling the C</a> regular expression modifier increases its effect,
+so that in case-insensitive matching, no ASCII character will match a
+non-ASCII character. For example, normally,
+
+ 'k' =~ /\N{KELVIN SIGN}/i
+
+will match; it won't under C</aa>.
+
+=head2 New warnings categories for problematic (non-)Unicode code points.
+
+Three new warnings subcategories of <utf8> have been added. These
+allow you to turn off warnings for their covered events, while allowing
+the other UTF-8 warnings to remain on. The three categories are:
+C<surrogate> when UTF-16 surrogates are encountered;
+C<nonchar> when Unicode non-character code points are encountered;
+and C<non_unicode> when code points that are above the legal Unicode
+maximum of 0x10FFFF are encountered.
+
+=head1 Incompatible Changes
+
+=head2 Most C<\p{}> properties are now immune from case-insensitive matching
+
+For most Unicode properties, it doesn't make sense to have them match
+differently under C</i> case-insensitive matching than not. And doing
+so leads to unexpected results and potential security holes. For
+example
+
+ m/\p{ASCII_Hex_Digit}+/i
+
+could previously match non-ASCII characters because of the Unicode
+matching rules. There were a number of bugs in this feature until an
+earlier release in the 5.13 series. Now this release reverts, and
+removes the feature completely except for the few properties where
+people have come to expect it, namely the ones where casing is an
+integral part of their functionality, such as C<m/\p{Uppercase}/i> and
+C<m/\p{Lowercase}/i>, both of which match the exact same code points,
+namely those matched by C<m/\p{Cased}/i>. Details are in
+L<perlrecharclass/Unicode Properties>.
+
+User-defined property handlers that need to match differently under
+C</i> must change to read the new boolean parameter passed it which is
+non-zero if case-insensitive matching is in effect; 0 if not. See
+L<perluniprops/User-Defined Character Properties>.
+
+=head2 regex: \p{} in pattern implies Unicode semantics
+
+Now, a Unicode property match specified in the pattern will indicate
+that the pattern is meant for matching according to Unicode rules
+(e40e74f)
+
+=head2 add GvCV_set() and GvGP_set() macros and change GvGP()
+
+This allows a future commit to eliminate some backref magic between GV
+and CVs, which will require complete control over assignment to the
+gp_cv slot.
+
+If you've been using GvGP() in lvalue context this change will break
+your code, you should use GvGP_set() instead. (c43ae56)
+
+=head2 _swash_inversion_hash is no longer exported as part of the API
+
+This function shouldn't be called from XS code. (4c2e113)
+
+=head2 Unreferenced objects in global destruction
+
+The fix for [perl #36347], which made sure that destructors were called on
+unreferenced objects, broke the tests for three CPAN modules, which
+apparently rely on the bug.
+
+To provide more time for fixing them (as this is such a minor bug), we
+have reverted the fix until after perl 5.14.0.
+
+This resolves [perl #82542] and other related tickets.
+
+=head2 C<close> on shared pipes
+
+The C<close> function no longer waits for the child process to exit if the
+underlying file descriptor is still in use by another thread, to avoid
+deadlocks. It returns true in such cases.
+
+=head1 Deprecations
+
+=over
+
+=item Deprecated Modules
+
+The following modules will be removed from the core distribution in a
+future release, and should be installed from CPAN instead. Distributions
+on CPAN which require these should add them to their prerequisites. The
+core versions of these modules warnings will issue a deprecation warning.
+
+If you ship a packaged version of Perl, either alone or as part of a
+larger system, then you should carefully consider the repercussions of
+core module deprecations. You may want to consider shipping your default
+build of Perl with packages for some or all deprecated modules which
+install into C<vendor> or C<site> perl library directories. This will
+inhibit the deprecation warnings.
+
+Alternatively, you may want to consider patching F<lib/deprecate.pm>
+to provide deprecation warnings specific to your packaging system
+or distribution of Perl, consistent with how your packaging system
+or distribution manages a staged transition from a release where the
+installation of a single package provides the given functionality, to
+a later release where the system administrator needs to know to install
+multiple packages to get that same functionality.
+
+You can silence these deprecation warnings by installing the modules
+in question from CPAN. To install the latest version of all of them,
+just install C<Task::Deprecations::5_14>.
+
+=over
+
+=item L<Devel::DProf>
+
+We strongly recommend that you install and used L<Devel::NYTProf> in
+preference, as it offers significantly improved profiling and reporting.
+
+=back
+
+=back
+
+=head2 User-defined case-mapping
+
+This feature is being deprecated due to its many issues, as documented in
+L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
+It is planned to remove this feature in Perl 5.16. A CPAN module
+providing improved functionality is being prepared for release by the
+time 5.14 is.
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<CPAN::Meta> version 2.110440 has been added as a dual-life module. It
+provides a standard library to read, interpret and write CPAN distribution
+metadata files (e.g. META.json and META.yml) which describes a
+distribution, its contents, and the requirements for building it and
+installing it. The latest CPAN distribution metadata specification is
+included as C<CPAN::Meta::Spec> and notes on changes in the specification
+over time are given in C<CPAN::Meta::History>.
+
+=item *
+
+C<Version::Requirements> version 0.101020 has been added as a dual-life
+module. It provides a standard library to model and manipulates module
+prerequisites and version constraints as defined in the L<CPAN::Meta::Spec>.
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<B> has been upgraded from version 1.27 to 1.28.
+
+=item *
+
+C<Carp> has been upgraded from version 1.19 to 1.20.
+
+[perl #82854] It now avoids using regular expressions that cause perl to
+load its Unicode tables, in order to avoid the 'BEGIN not safe after
+errors' error that will ensue if there has been a syntax error.
+
+=item *
+
+C<CGI> has been upgraded from version 3.51 to 3.52
+
+=item *
+
+C<CPAN> has been upgraded from version 1.94_64 to 1.94_65
+
+Includes support for META.json and MYMETA.json.
+
+=item *
+
+C<CPANPLUS> has been upgraded from version 0.9011 to 0.9101
+
+Includes support for META.json and MYMETA.json and a change to
+using Digest::SHA for CPAN checksums.
+
+=item *
+
+C<deprecate> has been upgraded from version 0.01 to 0.02.
+
+=item *
+
+C<diagnostics> has been upgraded from version 1.21 to 1.22.
+
+It now renders pod links slightly better, and has been taught to find
+descriptions for messages that share their descriptions with other
+messages.
+
+=item *
+
+C<Devel::DProf> has been upgraded from version 20080331.00 to 20110217.00.
+
+Merely loading C<Devel::DProf> now no longer triggers profiling to start.
+C<use Devel::DProf> and C<perl -d:DProf ...> still behave as before and start
+the profiler.
+
+NOTE: C<Devel::DProf> is deprecated and will be removed from a future
+version of Perl. We strongly recommend that you install and use
+L<Devel::NYTProf> instead, as it offers significantly improved
+profiling and reporting.
+
+=item *
+
+C<DynaLoader> has been upgraded from version 1.12 to 1.13.
+
+[perl #84358] It no longer inherits from AutoLoader; hence it no longer
+produces weird error messages for unsuccessful method calls on classes that
+inherit from DynaLoader.
+
+=item *
+
+C<IO::Select> has been upgraded from version 1.17 to 1.18.
+
+It now allows IO::Handle objects (and objects in derived classes) to be
+removed from an IO::Select set even if the underlying file descriptor is
+closed or invalid.
+
+=item *
+
+C<IPC::Cmd> has been upgraded from version 0.68 to 0.70
+
+=item *
+
+C<HTTP::Tiny> has been upgraded from version 0.009 to 0.010
+
+=item *
+
+C<Math::BigInt> has been upgraded from version 1.99_04 to 1.992.
+
+=item *
+
+C<Module::Build> has been upgraded from version 0.3607 to 0.37_05.
+
+A notable change is the deprecation of several modules.
+Module::Build::Version has been deprecated and Module::Build now relies
+directly upon L<version>. Module::Build::ModuleInfo has been deprecated in
+favor of a standalone copy of it called L<Module::Metadata>.
+Module::Build::YAML has been deprecated in favor of L<CPAN::Meta::YAML>.
+
+Module::Build now also generates META.json and MYMETA.json files
+in accordance with version 2 of the CPAN distribution metadata specification,
+L<CPAN::Meta::Spec>. The older format META.yml and MYMETA.yml files are
+still generated, as well.
+
+=item *
+
+C<Module::Load::Conditional> has been upgraded from version 0.40 to 0.44
+
+=item *
+
+C<Module::Metadata> has been upgraded from version 1.000003 to 1.000004.
+
+=item *
+
+C<overload> has been upgraded from version 1.12 to 1.13.
+
+The documentation has greatly improved. See L</Documentation> below.
+
+=item *
+
+C<Parse::CPAN::Meta> has been upgraded from version 1.40 to 1.4401.
+
+The latest Parse::CPAN::Meta can now read YAML or JSON files using
+L<CPAN::Meta::YAML> and L<JSON::PP>, which are now part of the Perl core.
+
+=item *
+
+C<re> has been upgraded from version 0.16 to 0.17.
+
+It now supports the double-a flag: C<use re '/aa';>
+
+The C<regmust> function used to crash when called on a regular expression
+belonging to a pluggable engine. Now it has been disabled for those.
+
+C<regmust> no longer leaks memory.
+
+=item *
+
+C<Term::UI> has been upgraded from version 0.24 to 0.26
+
+=item *
+
+C<Unicode::Collate> has been upgraded from version 0.68 to 0.72
+
+This also sees the switch from using the pure-perl version of this
+module to the XS version.`
+
+=item *
+
+C<VMS::DCLsym> has been upgraded from version 1.04 to 1.05.
+
+Two bugs have been fixed [perl #84086]:
+
+The symbol table name was lost when tying a hash, due to a thinko in
+C<TIEHASH>. The result was that all tied hashes interacted with the
+local symbol table.
+
+Unless a symbol table name had been explicitly specified in the call
+to the constructor, querying the special key ':LOCAL' failed to
+identify objects connected to the local symbol table.
+
+=item *
+
+Added new function C<Unicode::UCD::num()>. This function will return the
+numeric value of the string passed it; C<undef> if the string in its
+entirety has no safe numeric value.
+
+To be safe, a string must be a single character which has a numeric
+value, or consist entirely of characters that match \d, coming from the
+same Unicode block of digits. Thus, a mix of Bengali and Western
+digits would be considered unsafe, as well as a mix of half- and
+full-width digits, but strings consisting entirely of Devanagari digits
+or of "Mathematical Bold" digits would would be safe.
+
+=item *
+
+C<CPAN> has been upgraded from version 1.94_63 to 1.94_64.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<overload>
+
+=over 4
+
+=item *
+
+L<overload>'s documentation has practically undergone a rewrite. It
+is now much more straightforward and clear.
+
+=back
+
+=head3 L<perlhack> and perlrepository
+
+=over 4
+
+=item *
+
+The L<perlhack> and perlrepository documents have been heavily edited and
+split up into several new documents.
+
+The L<perlhack> document is now much shorter, and focuses on the Perl 5
+development process and submitting patches to Perl. The technical content has
+been moved to several new documents, L<perlsource>, L<perlinterp>,
+L<perlhacktut>, and L<perlhacktips>. This technical content has only been
+lightly edited.
+
+The perlrepository document has been renamed to L<perlgit>. This new document
+is just a how-to on using git with the Perl source code. Any other content
+that used to be in perlrepository has been moved to perlhack.
+
+=back
+
+=head3 L<perlfunc>
+
+=over 4
+
+=item *
+
+The documentation for the C<map> function now contains more examples,
+see B<perldoc -f map> (f947627)
+
+=back
+
+=head3 L<perlfaq4>
+
+=over 4
+
+=item *
+
+Examples in L<perlfaq4> have been updated to show the use of
+L<Time::Piece>. (9243591)
+
+=back
+
+=head3 Miscellaneous
+
+=over 4
+
+=item *
+
+Many POD related RT bugs and other issues which are too numerous to
+enumerate have been solved by Michael Stevens.
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=over 4
+
+=item "\b{" is deprecated; use "\b\{" instead
+
+=item "\B{" is deprecated; use "\B\{" instead
+
+Use of an unescaped "{" immediately following a C<\b> or C<\B> is now
+deprecated so as to reserve its use for Perl itself in a future release.
+
+=item regcomp: Add warning if \p is used under locale. (fb2e24c)
+
+C<\p> implies Unicode matching rules, which are likely going to be
+different than the locale's.
+
+=item panic: gp_free failed to free glob pointer - something is repeatedly re-creating entries
+
+This new error is triggered if a destructor called on an object in a
+typeglob that is being freed creates a new typeglob entry containing an
+object with a destructor that creates a new entry containing an object....
+
+=item refcnt: fd %d%s
+
+This new error only occurs if a internal consistency check fails when a
+pipe is about to be closed.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+The warning message about regex unrecognized escapes passed through is
+changed to include any literal '{' following the 2-char escape. e.g.,
+"\q{" will include the { in the message as part of the escape
+(216bfc0).
+
+=item *
+
+C<binmode $fh, ':scalar'> no longer warns (8250589)
+
+Perl will now no longer produce this warning:
+
+ $ perl -we 'open my $f, ">", \my $x; binmode $f, "scalar"'
+ Use of uninitialized value in binmode at -e line 1.
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<perlbug>
+
+=over 4
+
+=item *
+
+[perl #82996] Use the user's from address as return-path in perlbug
+
+Many systems these days don't have a valid Internet domain name and
+perlbug@perl.org does not accept email with a return-path that does
+not resolve. Therefore pass the user's address to sendmail so it's
+less likely to get stuck in a mail queue somewhere. (019cfd2)
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+make reg_eval_scope.t TODOs consistently fail (daaf7ac)
+
+Some of the TODO tests in reg_eval_scope.t spuriously passed under
+non-threaded builds. Make the tests harder so they always fail.
+
+Since one of the key bugs in (?{..}) is the trashing of the parent pad,
+add some extra lexical vars to the parent scope and check they're still
+there at the end.
+
+=item *
+
+Stop EU::CBuilder's tests from failing in parallel (cbf59d5)
+
+It used to use the same paths for temporary files in all tests. This
+blew up randomly when the tests were run in parallel.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+F<porting/FindExt.t> now skips all tests on a static (-Uusedl) build
+of perl.
+
+=item *
+
+F<porting/FindExt.t> now passes on non-Win32 platforms when some
+extensions are built statically.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Windows
+
+=over 4
+
+=item *
+
+The C<test-prep> build target now depends on F<pod/perltoc.pod> to allow the
+F<t/porting/buildtoc.t> test to run successfully.
+
+=back
+
+=item MirBSD
+
+=over 4
+
+=item *
+
+[perl #82988] Skip hanging taint.t test on MirBSD 10 (1fb83d0)
+
+Skip a hanging test under MirBSD that was already being skipped under
+OpenBSD.
+
+=item *
+
+Previously if you build perl with a shared libperl.so on MirBSD (the
+default config), it will work up to the installation; however, once
+installed, it will be unable to find libperl. Treat path handling
+like in the other BSD dialects.
+
+=back
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+Fix harmless invalid read in Perl_re_compile() (f6d9469)
+
+[perl #2460] described a case where electric fence reported an invalid
+read. This could be reproduced under valgrind with blead and -e'/x/',
+but only on a non-debugging build.
+
+This was because it was checking for certain pairs of nodes (e.g. BOL + END)
+and wasn't allowing for EXACT nodes, which have the string at the next
+node position when using a naive NEXTOPER(first). In the non-debugging
+build, the nodes aren't initialised to zero, and a 1-char EXACT node isn't
+long enough to spill into the type field of the "next node".
+
+Fix this by only using NEXTOPER(first) when we know the first node is
+kosher.
+
+=item *
+
+Break out the generated function Perl_keywords() into F<keywords.c>, a new file. (26ea9e1)
+
+As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
+no longer static, and the two macro definitions move from toke.c to perl.h
+
+Previously, one had to cut and paste the output of perl_keywords.pl into the
+middle of toke.c, and it was not clear that it was generated code.
+
+=item *
+
+A lot of tests have been ported from Test to Test::More, e.g. in
+3842ad6.
+
+=item *
+
+Increase default PerlIO buffer size. (b83080d)
+
+The previous default size of a PerlIO buffer (4096 bytes) has been increased
+to the larger of 8192 bytes and your local BUFSIZ. Benchmarks show that doubling
+this decade-old default increases read and write performance in the neighborhood
+of 25% to 50% when using the default layers of perlio on top of unix. To choose
+a non-default size, such as to get back the old value or to obtain and even
+larger value, configure with:
+
+ ./Configure -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=N
+
+where N is the desired size in bytes; it should probably be a multiple of
+your page size.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+A Unicode C<\p{}> property match in a regular expression pattern will
+now force Unicode rules for the rest of the regular expression
+
+=item *
+
+[perl #38456] binmode FH, ":crlf" only modifies top crlf layer (7826b36)
+
+When pushed on top of the stack, crlf will no longer enable crlf layers
+lower in the stack. This will prevent unexpected results.
+
+=item *
+
+Fix 'raw' layer for RT #80764 (ecfd064)
+
+Made a ':raw' open do what it advertises to do (first open the file,
+then binmode it), instead of leaving off the top layer.
+
+=item *
+
+Use PerlIOBase_open for pop, utf8 and bytes layers (c0888ac)
+
+Three of Perl's builtin PerlIO layers (C<:pop>, C<:utf8> and
+C<:bytes>) didn't allow stacking when opening a file. For example
+this:
+
+ open FH, '>:pop:perlio', 'some.file' or die $!;
+
+Would throw an error: "Invalid argument". This has been fixed in this
+release.
+
+=item *
+
+An issue present since 5.13.1, where s/A/B/ with A utf8 and B
+non-utf8, could cause corruption or segfaults has been
+fixed. (c95ca9b)
+
+=item *
+
+String evals will no longer fail after 2 billion scopes have been
+compiled (d1bfb64, 2df5bdd, 0d311cd and 6012dc8)
+
+=item *
+
+[perl #81750] When strict 'refs' mode is off,
+C<%{...}> in rvalue context returns C<undef> if
+its argument is undefined. An optimisation introduced in perl 5.12.0 to
+make C<keys %{...}> faster when used as a boolean did not take this into
+account, causing C<keys %{+undef}> (and C<keys %$foo> when C<$foo> is
+undefined) to be an error, which it should only be in strict mode.
+
+=item *
+
+[perl #83194] Combining the vector (%v) flag and dynamic precision would
+cause sprintf to confuse the order of its arguments, making it treat the
+string as the precision and vice versa.
+
+=item *
+
+[perl #77692] Sometimes the UTF8 length cache would not be reset on a value
+returned by substr, causing C<length(substr($uni_string,...))> to give
+wrong answers. With C<${^UTF8CACHE}> set to -1, it would produce a 'panic'
+error message, too.
+
+=item *
+
+During the restoration of a localised typeglob on scope exit, any
+destructors called as a result would be able to see the typeglob in an
+inconsistent state, containing freed entries, which could result in a
+crash. This would affect code like this:
+
+ local *@;
+ eval { die bless [] }; # puts an object in $@
+ sub DESTROY {
+ local $@; # boom
+ }
+
+Now the glob entries are cleared before any destructors are called. This
+also means that destructors can vivify entries in the glob. So perl tries
+again and, if the entries are re-created too many times, dies with a
+'panic: gp_free...' error message.
+
+=item *
+
+[perl #78494] When pipes are shared between threads, the C<close> function
+(and any implicit close, such as on thread exit) no longer blocks.
+
+=item *
+
+Several contexts no longer allow a Unicode character to begin a word
+that should never begin words, for an example an accent that must follow
+another character previously could precede all other characters.
+
+=item *
+
+Case insensitive matching in regular expressions compiled under C<use
+locale> now works much more sanely when the pattern and/or target string
+are encoded in UTF-8. Previously, under these conditions the localeness
+was completely lost. Now, code points above 255 are treated as Unicode,
+but code points between 0 and 255 are treated using the current locale
+rules, regardless of whether the pattern or string are encoded in UTF-8.
+The few case insensitive matches that cross the 255/256 boundary are not
+allowed. For example, 0xFF does not caselessly match the character at
+0x178, LATIN CAPITAL LETTER Y WITH DIAERESIS, because 0xFF may not be
+LATIN SMALL LETTER Y in the current locale, and Perl has no way of
+knowing if that character even exists in the locale, much less what code
+point it is.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.10 represents approximately one month of development since
+Perl 5.13.9 and contains approximately 63000 lines of changes across
+609 files from 38 authors and committers:
+
+Abigail, Alexander Hartmaier, brian d foy, Charles Bailey, Chip
+Salzenberg, Chris 'BinGOs' Williams, Craig A. Berry, Curtis Jewell,
+Dave Rolsky, David Golden, David Leadbeater, David Mitchell, David
+Wheeler, Father Chrysostomos, Florian Ragwitz, Franz Fasching, George
+Greer, H.Merijn Brand, Hongwen Qiu, Hugo van der Sanden, Jay Hannah,
+Jesse Vincent, Karl Williamson, Larwan Berke, Leon Timmermans, Michael
+Breen, Michael Stevens, Nicholas Clark, Noirin Shirley, Paul Evans,
+Peter John Acklam, Ricardo Signes, Robin Barker, Steven Schubiger, Tom
+Christiansen, Tony Cook, Zsbán Ambrus and Ævar Arnfjörð Bjarmason
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl51311delta.pod b/Master/tlpkg/tlperl/lib/pods/perl51311delta.pod
new file mode 100644
index 00000000000..8d537e9c8d8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl51311delta.pod
@@ -0,0 +1,513 @@
+=encoding utf8
+
+=head1 NAME
+
+perl51311delta - what is new for perl v5.13.11
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.10 release and
+the 5.13.11 release.
+
+If you are upgrading from an earlier release such as 5.13.9, first read
+L<perl5139delta>, which describes differences between 5.13.9 and
+5.13.10.
+
+=head1 Security
+
+=head2 User-defined regular expression properties
+
+Perl no longer allows a tainted regular expression to invoke a user-defined
+property via C<\p{...}> syntax. It simply dies instead [perl #82616].
+
+=head1 Incompatible Changes
+
+=head2 local($_) will strip all magic from $_
+
+local() on scalar variables will give them a new value, but keep all
+their magic intact. This has proven to be problematic for the default
+scalar variable $_, where L<perlsub> recommends that any subroutine
+that assigns to $_ should localize it first. This would throw an
+exception if $_ is aliased to a read-only variable, and could have
+various unintentional side-effects in general.
+
+Therefore, as an exception to the general rule, local($_) will not
+only assign a new value to $_, but also remove all existing magic from
+it as well.
+
+=head2 Passing references to warn()
+
+An earlier Perl 5.13.x release changed C<warn($ref)> to leave the reference
+unchanged, allowing C<$SIG{__WARN__}> handlers to access the original
+reference. But this stopped warnings that were references from having the
+file and line number appended even when there was no C<$SIG{__WARN__}>
+handler in place.
+
+Now C<warn> checks for the presence of such a handler and, if there is
+none, proceeds to stringify the reference and append the file and line
+number. This allows simple uses of C<warn> for debugging to continue to
+work as they did before.
+
+=head2 fork() emulation will not wait for signalled children
+
+On Windows parent processes would not terminate until all forked
+childred had terminated first. However, C<kill('KILL', ...)> is
+inherently unstable on pseudo-processes, and C<kill('TERM', ...)>
+might not get delivered if the child if blocked in a system call.
+
+To avoid the deadlock and still provide a safe mechanism to terminate
+the hosting process, Perl will now no longer wait for children that
+have been sent a SIGTERM signal. It is up to the parent process to
+waitpid() for these children if child clean-up processing must be
+allowed to finish. However, it is also the responsibility of the
+parent then to avoid the deadlock by making sure the child process
+can't be blocked on I/O either.
+
+See L<perlfork> for more information about the fork() emulation on
+Windows.
+
+=head2 Perl source code is read in text mode on Windows
+
+Perl scripts used to be read in binary mode on Windows for the benefit
+of the ByteLoader module (which is no longer part of core Perl). This
+had the side effect of breaking various operations on the DATA filehandle,
+including seek()/tell(), and even simply reading from DATA after file handles
+have been flushed by a call to system(), backticks, fork() etc.
+
+The default build options for Windows have been changed to read Perl source
+code on Windows in text mode now. Hopefully ByteLoader will be updated on
+CPAN to automatically handle this situation.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+An earlier optimisation to speed up C<my @array = ...> and
+C<my %hash = ...> assignments caused a bug and was disabled in Perl 5.12.0.
+
+Now we have found another way to speed up these assignments [perl #82110].
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<attributes> has been upgraded from version 0.13 to 0.14.
+
+=item *
+
+C<base> has been upgraded from version 2.15 to 2.16.
+
+=item *
+
+C<CPAN> has been upgraded from version 1.94_65 to 1.9600.
+
+=item *
+
+C<CPANPLUS> has been upgraded from version 0.9101 to 0.9103
+
+=item *
+
+C<CPANPLUS::Dist::Build> has been upgraded from version 0.52 to 0.54
+
+=item *
+
+C<Cwd> has been downgraded from version 3.37 to 3.36.
+
+An optimisation that recent core changes have rendered unnecessary has been
+reverted.
+
+=item *
+
+C<Devel::DProf> has been upgraded from version 20110225.01 to 20110228.00.
+
+=item *
+
+C<Digest::SHA> has been upgraded from version 5.50 to 5.61
+
+New SHA-512/224 and SHA-512/256 transforms ref. NIST Draft FIPS 180-4 (February 2011)
+
+=item *
+
+C<ExtUtils::Command> has been upgraded from version 1.16 to 1.17.
+
+=item *
+
+C<File::Copy> has been downgraded from version 2.22 to 2.21.
+
+An optimisation that recent core changes have rendered unnecessary has been
+reverted.
+
+=item *
+
+C<File::Glob> has been upgraded from version 1.11 to 1.12.
+
+=item *
+
+C<GDBM_File> has been upgraded from version 1.13 to 1.14.
+
+=item *
+
+C<Hash::Util> has been upgraded from version 0.10 to 0.11.
+
+=item *
+
+C<Hash::Util::FieldHash> has been upgraded from version 1.08 to 1.09.
+
+=item *
+
+C<HTTP::Tiny> has been upgraded from version 0.010 to 0.011.
+
+=item *
+
+C<I18N::Langinfo> has been upgraded from version 0.07 to 0.08.
+
+=item *
+
+C<IO> has been upgraded from version 1.25_03 to 1.25_04.
+
+=item *
+
+C<JSON::PP> has been upgraded from version 2.27103 to 2.27105
+
+=item *
+
+C<Locale::Codes> has been upgraded from version 3.15 to 3.16
+
+=item *
+
+C<Math::BigInt> has been upgraded from version 1.992 to 1.994
+
+=item *
+
+C<Math::BigInt::FastCalc> has been upgraded from version 0.24_02 to 0.28
+
+=item *
+
+C<Module::Build> has been upgraded from version 0.37_05 to 0.3800
+
+=item *
+
+C<Module::CoreList> has been upgraded from version 2.45 to 2.46.
+
+=item *
+
+C<mro> has been upgraded from version 1.06 to 1.07.
+
+=item *
+
+C<NDBM_File> has been upgraded from version 1.11 to 1.12.
+
+=item *
+
+C<parent> has been upgraded from version 0.224 to 0.225
+
+=item *
+
+C<Pod::Simple> has been upgraded from version 3.15 to 3.16
+
+=item *
+
+C<Storable> has been upgraded from version 2.26 to 2.27.
+
+=item *
+
+C<Sys::Hostname> has been upgraded from version 1.15 to 1.16.
+
+=item *
+
+C<Test::Harness> has been upgraded from version 3.22 to 3.23
+
+=item *
+
+C<Test::Simple> has been upgraded from version 0.97_01 to 0.98
+
+=item *
+
+C<Tie::Hash::NamedCapture> has been upgraded from version 0.07 to 0.08.
+
+Some of the Perl code has been converted to XS for efficency's sake.
+
+=item *
+
+C<Tie::RefHash> has been upgraded from version 1.38 to 1.39.
+
+=item *
+
+C<Unicode::Collate> has been upgraded from version 0.72 to 0.73
+
+DUCET has been updated for Unicode 6.0.0 as Collate/allkeys.txt and
+the default UCA_Version is 22.
+
+=item *
+
+C<Unicode::UCD> has been upgraded from version 0.31 to 0.32.
+This includes a number of bug fixes:
+
+=over 4
+
+=item charinfo()
+
+=over 4
+
+=item *
+
+It is now updated to Unicode Version 6 with Corrigendum #8, except,
+as with Perl 5.14, the code point at U+1F514 has no name.
+
+=item *
+
+The Hangul syllable code points have the correct names, and their
+decompositions are always output without requiring L<Lingua::KO::Hangul::Util>
+to be installed.
+
+=item *
+
+The CJK (Chinese-Japanese-Korean) code points U+2A700 - U+2B734
+and U+2B740 - 2B81D are now properly handled.
+
+=item *
+
+The numeric values are now output for those CJK code points that have them.
+
+=item *
+
+The names that are output for code points with multiple aliases are now the
+corrected ones.
+
+=back
+
+=item charscript()
+
+This now correctly returns "Unknown" instead of C<undef> for the script
+of a code point that hasn't been assigned another one.
+
+=item charblock()
+
+This now correctly returns "No_Block" instead of C<undef> for the block
+of a code point that hasn't been assigned to another one.
+
+=back
+
+=item *
+
+C<XS::Typemap> has been upgraded from version 0.04 to 0.05.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlfunc>
+
+=over 4
+
+=item *
+
+Clarified the order in which to check C<$@> and C<$!> after C<do FILE>.
+(RT #80626)
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=over 4
+
+=item *
+
+Regexp modifier "/%c" may not appear twice
+
+(F syntax) The regular expression pattern had one of the mutually exclusive
+modifiers repeated. Remove all but one of the occurrences.
+
+=item *
+
+Regexp modifiers "/%c" and "/%c" are mutually exclusive
+
+(F syntax) The regular expression pattern had more than one of the mutually
+exclusive modifiers. Retain only the modifier that is supposed to be there.
+
+=item *
+
+Insecure user-defined property %s
+
+(F) Perl detected tainted data when trying to compile a regular
+expression that contains a call to a user-defined character property
+function, i.e. C<\p{IsFoo}> or C<\p{InFoo}>.
+See L<perlunicode/User-Defined Character Properties> and L<perlsec>.
+
+=back
+
+=head1 Testing
+
+Many of the tests have been refactored to use testing libraries more
+consistently. In some cases test files were created or deleted:
+
+=over 4
+
+=item *
+
+The tests for C<split /\s/> and Unicode have been moved from
+F<t/op/split.t> to the new F<t/op/split_unicode.t>.
+
+=item *
+
+F<t/re/re.t> has been moved to F<ext/re/t/re_funcs_u.t>.
+
+=item *
+
+The tests for [perl #72922] have been moved from F<t/re/qr.t> to the new
+F<t/re/qr-72922.t>.
+
+=item *
+
+F<t/re/reg_unsafe.t> has been deleted and its only test moved to
+F<t/re/pat_advanced.t>.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+A fix for a bug in C<length(undef)> in 5.13.4 introduced a regression that
+meant C<print length undef> did not warn when warnings were enabled. It now
+correctly warns [perl #85508].
+
+=item *
+
+The C<(?|...)> regular expression construct no longer crashes if the final
+branch has more sets of capturing parentheses than any other branch. This
+was fixed in Perl 5.10.1 for the case of a single branch, but that fix did
+not take multiple branches into account [perl #84746].
+
+=item *
+
+Accessing an element of a package array with a hard-coded number (as
+opposed to an arbitrary expression) would crash if the array did not exist.
+Usually the array would be autovivified during compilation, but typeglob
+manipulation could remove it, as in these two cases which used to crash:
+
+ *d = *a; print $d[0];
+ undef *d; print $d[0];
+
+=item *
+
+C<#line> directives in string evals were not properly updating the arrays
+of lines of code (C<< @{"_<..."} >>) that the debugger (or any debugging or
+profiling module) uses. In threaded builds, they were not being updated at
+all. In non-threaded builds, the line number was ignored, so any change to
+the existing line number would cause the lines to be misnumbered
+[perl #79442].
+
+=item *
+
+C<$AUTOLOAD> used to remain tainted forever if it ever became tainted. Now
+it is correctly untainted if an autoloaded method is called and the method
+name was not tainted.
+
+=item *
+
+A bug has been fixed in the implementation of C<{...}> quantifiers in
+regular expressions that prevented the code block in
+C</((\w+)(?{ print $2 })){2}/> from seeing the C<$2> sometimes
+[perl #84294].
+
+=item *
+
+C<sprintf> now dies when passed a tainted scalar for the format. It did
+already die for arbitrary expressions, but not for simple scalars
+[perl #82250].
+
+=item *
+
+DESTROY methods of objects implementing ties are no longer able to crash by
+accessing the tied variable through a weak reference [perl #86328].
+
+=item *
+
+On Windows, calling kill(9, $child) on a pseudo-process created by the fork()
+emulation is inherently unstable. It can also be responsible for overriding
+the parent process exit code with a value of '9' if the parent terminates
+right after killing the child. This condition will now happen a lot less
+often than before.
+
+See also L</"fork() emulation will not wait for signalled children"> for a
+better way to terminate child processes that avoids deadlocks altogether.
+
+=item *
+
+Ensure that the C<exists &Errno::EFOO> idiom continues to work as documented.
+
+A change post-5.12 caused the documented idiom not to work if Errno was loaded
+after the C<exists> code had been compiled, as the compiler implicitly creates
+typeglobs in the Errno symbol table when it builds the optree for the C<exists
+code>.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.11 represents approximately one month of development since Perl
+5.13.10 and contains approximately 80,000 lines of changes across 549 files from
+31 authors and committers:
+
+Alastair Douglas, Arvan, Boris Ratner, brian d foy, Chris 'BinGOs' Williams,
+Craig A. Berry, David Golden, David Leadbeater, David Mitchell, Father
+Chrysostomos, Florian Ragwitz, Jan Dubois, Karl Williamson, Kevin Ryde, Leon
+Brocard, Leon Timmermans, Michael Stevens, Michael Witten, Moritz Lenz, Nicholas
+Clark, Paul Johnson, Peter John Acklam, Reini Urban, Robin Barker, Steve Hay,
+Sullivan Beck, Tony Cook, Vadim Konovalov, Yves Orton, Zefram and Ævar Arnfjörð
+Bjarmason
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5131delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5131delta.pod
new file mode 100644
index 00000000000..1a372bfd6af
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5131delta.pod
@@ -0,0 +1,287 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5131delta - what is new for perl v5.13.1
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.0 release and
+the 5.13.1 release.
+
+If you are upgrading from an earlier release such as 5.10, first read
+L<perl5120delta>, which describes differences between 5.10 and
+5.12.
+
+=head1 Incompatible Changes
+
+=head2 "C<\cI<X>>"
+
+The backslash-c construct was designed as a way of specifying
+non-printable characters, but there were no restrictions (on ASCII
+platforms) on what the character following the C<c> could be. Now, that
+character must be one of the ASCII characters.
+
+=head2 localised tied hashes, arrays and scalars are no longed tied
+
+In the following:
+
+ tie @a, ...;
+ {
+ local @a;
+ # here, @a is a now a new, untied array
+ }
+ # here, @a refers again to the old, tied array
+
+The new local array used to be made tied too, which was fairly pointless,
+and has now been fixed. This fix could however potentially cause a change
+in behaviour of some code.
+
+=head2 C<given> return values
+
+Starting from this release, C<given> blocks returns the last evaluated
+expression, or an empty list if the block was exited by C<break>. Thus you
+can now write:
+
+ my $type = do {
+ given ($num) {
+ break when undef;
+ 'integer' when /^[+-]?[0-9]+$/;
+ 'float' when /^[+-]?[0-9]+(?:\.[0-9]+)?$/;
+ 'unknown';
+ }
+ };
+
+See L<perlsyn/Return value> for details.
+
+=head1 Core Enhancements
+
+=head2 Exception Handling Reliability
+
+Several changes have been made to the way C<die>, C<warn>, and C<$@>
+behave, in order to make them more reliable and consistent.
+
+When an exception is thrown inside an C<eval>, the exception is no
+longer at risk of being clobbered by code running during unwinding
+(e.g., destructors). Previously, the exception was written into C<$@>
+early in the throwing process, and would be overwritten if C<eval> was
+used internally in the destructor for an object that had to be freed
+while exiting from the outer C<eval>. Now the exception is written
+into C<$@> last thing before exiting the outer C<eval>, so the code
+running immediately thereafter can rely on the value in C<$@> correctly
+corresponding to that C<eval>.
+
+Likewise, a C<local $@> inside an C<eval> will no longer clobber any
+exception thrown in its scope. Previously, the restoration of C<$@> upon
+unwinding would overwrite any exception being thrown. Now the exception
+gets to the C<eval> anyway. So C<local $@> is safe inside an C<eval>,
+albeit of rather limited use.
+
+Exceptions thrown from object destructors no longer modify the C<$@>
+of the surrounding context. (If the surrounding context was exception
+unwinding, this used to be another way to clobber the exception being
+thrown. Due to the above change it no longer has that significance,
+but there are other situations where C<$@> is significant.) Previously
+such an exception was sometimes emitted as a warning, and then either
+string-appended to the surrounding C<$@> or completely replaced the
+surrounding C<$@>, depending on whether that exception and the surrounding
+C<$@> were strings or objects. Now, an exception in this situation is
+always emitted as a warning, leaving the surrounding C<$@> untouched.
+In addition to object destructors, this also affects any function call
+performed by XS code using the C<G_KEEPERR> flag.
+
+C<$@> is also no longer used as an internal temporary variable when
+preparing to C<die>. Previously it was internally necessary to put
+any exception object (any non-string exception) into C<$@> first,
+before it could be used as an exception. (The C API still offers the
+old option, so an XS module might still clobber C<$@> in the old way.)
+This change together with the foregoing means that, in various places,
+C<$@> may be observed to contain its previously-assigned value, rather
+than having been overwritten by recent exception-related activity.
+
+Warnings for C<warn> can now be objects, in the same way as exceptions
+for C<die>. If an object-based warning gets the default handling,
+of writing to standard error, it will of course still be stringified
+along the way. But a C<$SIG{__WARN__}> handler will now receive an
+object-based warning as an object, where previously it was passed the
+result of stringifying the object.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules
+
+=over
+
+=item C<Errno>
+
+The implementation of C<Errno> has been refactored to use about 55% less memory.
+There should be no user-visible changes.
+
+=item Perl 4 C<.pl> libraries
+
+These historical libraries have been minimally modified to avoid using
+C<$[>. This is to prepare them for the deprecation of C<$[>.
+
+=item C<B::Deparse>
+
+A bug has been fixed when deparsing a nextstate op that has both a
+change of package (relative to the previous nextstate), or a change of
+C<%^H> or other state, and a label. Previously the label was emitted
+first, leading to syntactically invalid output because a label is not
+permitted immediately before a package declaration, B<BEGIN> block,
+or some other things. Now the label is emitted last.
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+The following modules have been removed from the core distribution, and if
+needed should be installed from CPAN instead.
+
+=over
+
+=item C<Class::ISA>
+
+=item C<Pod::Plainer>
+
+=item C<Switch>
+
+=back
+
+The removal of C<Shell> has been deferred until after 5.14, as the
+implementation of C<Shell> shipped with 5.12.0 did not correctly issue the
+warning that it was to be removed from core.
+
+=head1 New Documentation
+
+=over 4
+
+=item perlgpl
+
+L<perlgpl> has been updated to contain GPL version 1, as is included in the
+F<README> distributed with perl.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Naming a deprecated character in \N{...} will not leak memory.
+
+=item *
+
+FETCH is no longer called needlessly on some tied variables.
+
+=item *
+
+The trie runtime code should no longer allocate massive amounts of memory,
+fixing #74484.
+
+=back
+
+=head1 Changed Internals
+
+=over 4
+
+=item *
+
+The protocol for unwinding the C stack at the last stage of a C<die>
+has changed how it identifies the target stack frame. This now uses
+a separate variable C<PL_restartjmpenv>, where previously it relied on
+the C<blk_eval.cur_top_env> pointer in the C<eval> context frame that
+has nominally just been discarded. This change means that code running
+during various stages of Perl-level unwinding no longer needs to take
+care to avoid destroying the ghost frame.
+
+=item *
+
+The format of entries on the scope stack has been changed, resulting in a
+reduction of memory usage of about 10%. In particular, the memory used by
+the scope stack to record each active lexical variable has been halved.
+
+=item *
+
+Memory allocation for pointer tables has been changed. Previously
+C<Perl_ptr_table_store> allocated memory from the same arena system as C<SV>
+bodies and C<HE>s, with freed memory remaining bound to those arenas until
+interpreter exit. Now it allocates memory from arenas private to the specific
+pointer table, and that memory is returned to the system when
+C<Perl_ptr_table_free> is called. Additionally, allocation and release are both
+less CPU intensive.
+
+=item *
+
+A new function, Perl_magic_methcall has been added that wraps the setup needed
+to call a magic method like FETCH (the existing S_magic_methcall function has
+been renamed S_magic_methcall1).
+
+=back
+
+=head1 Deprecations
+
+The following items are now deprecated.
+
+=over 4
+
+=item C<Perl_ptr_table_clear>
+
+C<Perl_ptr_table_clear> is no longer part of Perl's public API. Calling it now
+generates a deprecation warning, and it will be removed in a future
+release.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.1 represents thirty days of development since Perl 5.13.0 and
+contains 15390 lines of changes across 289 files from 34 authors and
+committers.
+
+Thank you to the following for contributing to this release:
+
+Ævar Arnfjörð Bjarmason, Arkturuz, Chris 'BinGOs' Williams, Craig A. Berry,
+Curtis Jewell, Dan Dascalescu, David Golden, David Mitchell, Father
+Chrysostomos, Gene Sullivan, gfx, Gisle Aas, H.Merijn Brand, James E Keenan,
+James Mastros, Jan Dubois, Jesse Vincent, Karl Williamson, Leon Brocard,
+Lubomir Rintel (GoodData), Nicholas Clark, Philippe Bruhat (BooK), Rafael
+Garcia-Suarez, Rainer Tammer, Ricardo Signes, Richard Soderberg, Robin Barker,
+Ruslan Zakirov, Steffen Mueller, Todd Rinaldo, Tony Cook, Vincent Pit, Zefram
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5132delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5132delta.pod
new file mode 100644
index 00000000000..082fa0f69bc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5132delta.pod
@@ -0,0 +1,409 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5132delta - what is new for perl v5.13.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.2 release and
+the 5.13.1 release.
+
+If you are upgrading from an earlier release such as 5.10, first read
+L<perl5120delta>, which describes differences between 5.10 and
+5.12.
+
+=head1 Incompatible Changes
+
+=head2 localised tied scalars are tied again.
+
+The change in behaviour in 5.13.1 of localising tied scalar values has
+been reverted to the existing 5.12.0 and earlier behaviour (the change for
+arrays and hashes remains).
+
+=head2 Naming fixes in Policy_sh.SH may invalidate Policy.sh
+
+Several long-standing typos and naming confusions in Policy_sh.SH have
+been fixed, standardizing on the variable names used in config.sh.
+
+This will change the behavior of Policy.sh if you happen to have been
+accidentally relying on the Policy.sh incorrect behavior. We'd appreciate
+feedback from anyone using Policy.sh to be sure nothing is broken by
+this change (c1bd23).
+
+=head2 Stashes are now always defined
+
+C<defined %Foo::> now always returns true, even when no symbols have yet been
+defined in that package.
+
+This is a side effect of removing a special case kludge in the tokeniser,
+added for 5.10.0, to hide side effects of changes to the internal storage of
+hashes that to drastically reduce their memory usage overhead.
+
+Calling defined on a stash has been deprecated since 5.6.0, warned on
+lexicals since 5.6.0, and has warned for stashes (and other package
+variables) since 5.12.0. C<defined %hash> has always exposed an
+implementation detail - emptying a hash by deleting all entries from it does
+not make C<defined %hash> false, hence C<defined %hash> is not valid code to
+determine whether an arbitrary hash is empty. Instead, use the behaviour
+that an empty C<%hash> always returns false in a scalar context.
+
+=head1 Core Enhancements
+
+=head2 Non-destructive substitution
+
+The substitution operator now supports a C</r> option that
+copies the input variable, carries out the substitution on
+the copy and returns the result. The original remains unmodified.
+
+ my $old = 'cat';
+ my $new = $old =~ s/cat/dog/r;
+ # $old is 'cat' and $new is 'dog'
+
+This is particularly useful with C<map>. See L<perlop> for more examples
+(4f4d75, 000c65).
+
+=head2 package block syntax
+
+A package declaration can now contain a code block, in which case the
+declaration is in scope only inside that block. So C<package Foo { ... }>
+is precisely equivalent to C<{ package Foo; ... }>. It also works with
+a version number in the declaration, as in C<package Foo 1.2 { ... }>.
+See L<perlfunc> (434da3..36f77d, 702646).
+
+=head2 CLONE_PARAMS structure added to ease correct thread creation
+
+Modules that create threads should now create C<CLONE_PARAMS> structures
+by calling the new function C<Perl_clone_params_new()>, and free them with
+C<Perl_clone_params_del()>. This will ensure compatibility with any future
+changes to the internals of the C<CLONE_PARAMS> structure layout, and that
+it is correctly allocated and initialised.
+
+=head2 perl -h no longer recommends -w
+
+perl -h used to mark the -w option as recommended; since this option is
+far less useful than it used to be due to lexical 'use warnings' and since
+perl -h is primary a list and brief explanation of the command line switches,
+the recommendation has now been removed (60eaec).
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules
+
+=head3 Locale-Codes 3.13
+
+Locale::Country, Locale::Language and Locale::Currency were updated from
+3.12 to 3.13 of the Locale-Codes distribution to include locale code changes
+(e1137b).
+
+=head3 Thread-Semaphore 2.11
+
+Added new methods -E<gt>down_nb() and -E<gt>down_force() at the suggestion
+of Rick Garlick.
+
+Refactored methods to skip argument validation when no argument is supplied.
+
+(04febe, f06daa)
+
+=head3 CPAN.pm 1.94_57
+
+=over 4
+
+=item * release 1.94_57
+
+=item * bugfix: treat modules correctly that are deprecated in perl 5.12.
+
+=item * bugfix: RT #57482 and #57788 revealed that configure_requires
+implicitly assumed build_requires instead of normal requires. (Reported
+by Andrew Whatson and Father Chrysostomos respectively)
+
+=item * testfix: solaris should run the tests without expect because (some?)
+solaris have a broken expect
+
+=item * testfix: run tests with cache_metadata off to prevent spill over
+effects from previous test runs
+
+=back
+
+(742adb)
+
+=head3 Hash::Util warning fix
+
+Hash::Util now enables "no warnings 'uninitialized'" to suppress spurious
+warnings from undefined hash values (RT #74280).
+
+=head3 B::Deparse now handles 'no VERSION'
+
+The 'no 5.13.2' or similar form is now correctly handled by B::Deparse.
+
+=head3 IO::Socket doc additions
+
+getsockopt and setsockopt are now documented.
+
+=head3 B::Concise updated for OPpDEREF
+
+B::Concise marks rv2sv, rv2av and rv2hv ops with the new OPpDEREF flag
+as "DREFed".
+
+=head3 File::Copy doc clarification
+
+An extra stanza was added explaining behaviours when the copy destination
+already exists and is a directory.
+
+=head3 Multiple POD spelling fixes.
+
+Fixes were made to VMS::DCLsym, mro, Search::Dist, B::t::OptreeCheck
+and UNIVERSAL.
+
+=head1 Changes to Existing Documentation
+
+=head2 Replace wrong tr/// table in perlebcdic.pod
+
+perlebcdic.pod contains a helpful table to use in tr/// to convert
+between EBCDIC and Latin1/ASCII. Unfortunately, the table was the
+inverse of the one it describes, though the code that used the table
+worked correctly for the specific example given.
+
+The table has been changed to its inverse, and the sample code changed
+to correspond, as this is easier for the person trying to follow the
+instructions since deriving the old table is somewhat more complicated.
+
+The table has also been changed to hex from octal, as that is more the norm
+these days, and the recipes in the pod altered to print out leading
+zeros to make all the values the same length, as the table that they can
+generate has them (5f26d5).
+
+=head2 Document tricks for user-defined casing
+
+perlunicode.pod now contains an explanation of how to override, mangle
+and otherwise tweak the way perl handles upper, lower and other case
+conversions on unicode data, and how to provide scoped changes to alter
+one's own code's behaviour without stomping on anybody else (71648f).
+
+=head2 Document $# and $* as removed and clarify $#array usage
+
+$# and $* were both disabled as of perl5 version 10; this release adds
+documentation to that effect, a description of the results of continuing
+to try and use them, and a note explaining that $# can also function as a
+sigil in the $#array form (7f315d2).
+
+=head2 INSTALL explicitly states the requirement for C89
+
+This was already true but it's now Officially Stated For The Record (51eec7).
+
+=head2 No longer advertise Math::TrulyRandom
+
+This module hasn't been updated since 1996 so we can't recommend it any more
+(83918a).
+
+=head2 perlfaq synchronised to upstream
+
+The FAQ has been updated to commit
+37550b8f812e591bcd0dd869d61677dac5bda92c from the perlfaq repository
+at git@github.com:briandfoy/perlfaq.git
+
+=head1 Performance Enhancements
+
+Only allocate entries for @_ on demand - this not only saves memory per
+subroutine defined but should hopefully improve COW behaviour (77bac2).
+
+=head2 Multiple small improvements to threads
+
+The internal structures of threading now make fewer API calls and fewer
+allocations, resulting in noticeably smaller object code. Additionally,
+many thread context checks have been deferred so that they're only done
+when required (although this is only possible for non-debugging builds).
+
+=head2 Size optimisations to SV and HV structures
+
+xhv_fill has been eliminated from struct xpvhv, saving 1 IV per hash and
+on some systems will cause struct xpvhv to become cache aligned. To avoid
+this memory saving causing a slowdown elsewhere, boolean use of HvFILL
+now calls HvTOTALKEYS instead (which is equivalent) - so while the fill
+data when actually required is now calculated on demand, the cases when
+this needs to be done should be few and far between (f4431c .. fcd245).
+
+The order of structure elements in SV bodies has changed. Effectively,
+the NV slot has swapped location with STASH and MAGIC. As all access to
+SV members is via macros, this should be completely transparent. This
+change allows the space saving for PVHVs documented above, and may reduce
+the memory allocation needed for PVIVs on some architectures.
+
+=head2 Optimisation of regexp engine string comparison work
+
+The foldEQ_utf8 API function for case-insensitive comparison of strings (which
+is used heavily by the regexp engine) was substantially refactored and
+optimised - and its documentation much improved as a free bonus gift
+(8b3587, e6226b).
+
+=head2 Memory consumption improvements to Exporter
+
+The @EXPORT_FAIL AV is no longer created unless required, hence neither is
+the typeglob backing it - this saves about 200 bytes per Exporter using
+package that doesn't use this functionality.
+
+=head1 Installation and Configuration Improvements
+
+=head2 Compilation improvements
+
+Fix CCINCDIR and CCLIBDIR for mingw64 cross compiler to correctly be under
+$(CCHOME)\mingw\include and \lib rather than immediately below $(CCHOME).
+
+This means the 'incpath', 'libpth', 'ldflags', 'lddlflags' and
+'ldflags_nolargefiles' values in Config.pm and Config_heavy.pl are now
+set correctly (23ae7f).
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item * Timely cleanup of SVs that are cloned into a new thread but then
+discovered to be orphaned (i.e. their owners are -not- cloned) (e42956)
+
+=item * Don't accidentally clone lexicals in scope within active stack frames in
+the parent when creating a child thread (RT #73086) (05d04d).
+
+=item * Avoid loading feature.pm when 'no 5.13.2;' or similar is
+encountered (faee19).
+
+=item * Trap invalid use of SvIVX on SVt_REGEXP when assertions are on
+(e77da3)
+
+=item * Don't stamp on $DB::single, $DB::trace and $DB::signal if they
+already have values when $^P is assigned to (RT #72422) (4c0f30).
+
+=item * chop now correctly handles perl's extended UTF-8 (RT #73246) (65ab92)
+
+=item * Defer signal handling when shared SV locks are held to avoid
+deadlocks (RT #74868) (65c742).
+
+=item * glob() no longer crashes when %File::Glob:: is empty and
+CORE::GLOBAL::glob isn't present (4984aa).
+
+=item * perlbug now always permits the sender address to be changed
+before sending - if you were having trouble sending bug reports before
+now, this should fix it, we hope (e6eb90).
+
+=item * Overloading now works properly in conjunction with tied
+variables. What formerly happened was that most ops checked their
+arguments for overloading I<before> checking for magic, so for example
+an overloaded object returned by a tied array access would usually be
+treated as not overloaded (RT #57012) (6f1401, ed3b9b, 6a5f8c .. 24328f).
+
+=item * Independently, a bug was fixed that prevented $tied-E<gt>() from
+always calling FETCH correctly (RT #8438) (7c7501)
+
+=back
+
+=head1 Changed Internals
+
+=over 4
+
+=item * The implementation of sv_dup_inc() has changed from a macro to a function.
+
+=item *
+
+The C<find_rundefsvoffset> function has been deprecated. It appeared that
+its design was insufficient to reliably get the lexical C<$_> at run-time.
+
+Use the new C<find_rundefsv> function or the C<UNDERBAR> macro instead.
+They directly return the right SV representing C<$_>, whether it's lexical
+or dynamic (789bd8 .. 03d5bc).
+
+=item *
+
+The following new functions or macros have been added to the public API:
+C<SvNV_nomg>, C<sv_2nv_flags>, C<find_rundefsv>.
+
+=item *
+
+The C<UNDERBAR> macro now calls C<find_rundefsv>. C<dUNDERBAR> is now a
+noop but should still be used to ensure past and future compatibility.
+
+=item *
+
+The ibcmp_* functions have been renamed and are now called foldEQ,
+foldEQ_locale and foldEQ_utf8 (e6226b).
+
+=back
+
+=head1 Deprecations
+
+The following items are now deprecated.
+
+=over 4
+
+=item *
+
+Omitting a space between a regex pattern or pattern modifiers and the following
+word is deprecated. For example, C<< m/foo/sand $bar >> will still be parsed
+as C<< m/foo/s and $bar >> but will issue a warning.
+
+=back
+
+=head1 Platform Specific Notes
+
+=head2 Recent OpenBSDs now use perl's malloc
+
+OpenBSD E<gt> 3.7 has a new malloc implementation which is mmap based
+and as such can release memory back to the OS; however for perl using
+this malloc causes a substantial slowdown so we now default to using
+perl's malloc instead (RT #75742) (9b58b5).
+
+=head1 Acknowledgements
+
+Perl 5.13.2 represents thirty days of development since Perl 5.13.1 (and
+two days of waiting around while the release manager remembered where he
+left his brain) and contains 3685 lines of changes across 194 files from
+30 authors and committers.
+
+Thank you to the following for contributing to this release:
+
+Abigail, Andreas J. Koenig, Chas. Owens, Chris 'BinGOs' Williams,
+Craig A. Berry, David Caldwell, David Golden, David Mitchell,
+Father Chrysostomos, George Greer, H.Merijn Brand, Jerry D. Hedden,
+Karl Williamson, Maik Hentsche, Matt S Trout, Nicholas Clark, Rafael
+Garcia-Suarez, Ricardo Signes, Salvador Fandino, Salvador Ortiz Garcia,
+Shlomi Fish, Sinan Unur, Sisyphus, Slaven Rezic, Sullivan Beck, Tony Cook,
+Vincent Pit, Zefram, brian d foy, Ævar Arnfjörð Bjarmason
+
+Your humble release manager would like to specifically call out
+Karl Williamson for making the tests a better place to be, and Shlomi
+Fish for a passel of tiny incremental docfixes of the sort that don't get
+made often enough.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5133delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5133delta.pod
new file mode 100644
index 00000000000..af03607adf6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5133delta.pod
@@ -0,0 +1,667 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5133delta - what is new for perl v5.13.3
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.3 release and
+the 5.13.2 release.
+
+If you are upgrading from an earlier release such as 5.13.1, first read
+L<perl5132delta>, which describes differences between 5.13.1 and
+5.13.2.
+
+=head1 Core Enhancements
+
+=head2 \o{...} for octals
+
+There is a new escape sequence, C<"\o">, in double-quote-like contexts.
+It must be followed by braces enclosing an octal number of at least one
+digit. It interpolates as the character with an ordinal value equal to
+the octal number. This construct allows large octal ordinals beyond the
+current max of 0777 to be represented. It also allows you to specify a
+character in octal which can safely be concatenated with other regex
+snippets and which won't be confused with being a backreference to
+a regex capture group. See L<perlre/Capture groups>.
+
+=head2 C<\N{I<name>}> and C<charnames> enhancements
+
+C<\N{}> and C<charnames::vianame> now know about the abbreviated
+character names listed by Unicode, such as NBSP, SHY, LRO, ZWJ, etc., as
+well as all the customary abbreviations for the C0 and C1 control
+characters (such as ACK, BEL, CAN, etc.), as well as a few new variants
+in common usage of some C1 full names.
+
+In the past, it was ineffective to override one of Perl's abbreviations
+with your own custom alias. Now it works.
+
+You can also create a custom alias directly to the ordinal of a
+character, known by C<\N{...}>, C<charnames::vianame()>, and
+C<charnames::viacode()>. Previously, an alias had to be to an official
+Unicode character name. This made it impossible to create an alias for
+a code point that had no name, such as the ones reserved for private
+use. So this change allows you to make more effective use of private
+use characters. Only if there is no official name will
+C<charnames::viacode()> return your custom one.
+
+See L<charnames> for details on all these changes.
+
+=head2 Uppercase X/B allowed in hexadecimal/binary literals
+
+Literals may now use either upper case C<0X...> or C<0B...> prefixes,
+in addition to the already supported C<0x...> and C<0b...>
+syntax. (RT#76296) (a674e8d, 333f87f)
+
+C, Ruby, Python and PHP already supported this syntax, and it makes
+Perl more internally consistent. A round-trip with C<eval sprintf
+"%#X", 0x10> now returns C<16> in addition to C<eval sprintf "%#x",
+0x10>, which worked before.
+
+=head1 Incompatible Changes
+
+=head2 \400 - \777
+
+Use of C<\400> - C<\777> in regexes in certain circumstances has given
+different, anomalous behavior than their use in all other
+double-quote-like contexts. Since 5.10.1, a deprecated warning message
+has been raised when this happens. Now, all double-quote-like contexts
+have the same behavior, namely to be equivalent to C<\x{100}> -
+C<\x{1FF}>, with no deprecation warning. Use of these values in the
+command line option C<"-0"> retains the current meaning to slurp input
+files whole; previously, this was documented only for C<"-0777">. It is
+recommended, however, because of various ambiguities, to use the new
+C<\o{...}> construct to represent characters in octal.
+(fa1639c..f6993e9).
+
+=head1 Deprecations
+
+=head2 Omitting a space between a regular expression and subsequent word
+
+Omitting a space between a regex pattern or pattern modifiers and the
+following word is deprecated. Deprecation for regular expression
+I<matches> was added in Perl 5.13.2. In this release, the deprecation
+is extended to regular expression I<substitutions>. For example,
+C<< s/foo/bar/sand $bar >> will still be parsed as
+C<< s/foo/bar/s and $bar >> but will issue a warning. (aa78b66)
+
+=head2 Deprecation warning added for deprecated-in-core .pl libs
+
+This is a mandatory warning, not obeying -X or lexical warning bits.
+The warning is modelled on that supplied by deprecate.pm for
+deprecated-in-core .pm libraries. It points to the specific CPAN
+distribution that contains the .pl libraries. The CPAN version, of
+course, does not generate the warning. (0111154)
+
+=head1 Performance Enhancements
+
+There are several small optimizations to reduce CPU cache misses in various very
+commonly used modules like C<warnings> and C<Carp> as well in accessing
+file-handles for reading.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item C<autodie>
+
+Upgraded from version 2.06_01 to 2.10.
+
+=item C<charnames>
+
+Upgraded from version 1.08 to 1.10.
+
+C<viacode()> is now significantly faster. (f3227b7)
+
+=item C<lib>
+
+Upgraded from version 0.62 to 0.63.
+
+=item C<threads>
+
+Upgraded from version 1.77_02 to 1.77_03.
+
+=item C<threads::shared>
+
+Upgraded from version 1.33_01 to 1.33_02.
+
+=item C<warnings>
+
+Upgraded from version 1.09 to 1.10.
+
+Calling C<use warnings> without arguments is now significantly more efficient.
+(8452af9)
+
+=item C<Archive::Extract>
+
+Upgraded from version 0.38 to 0.42.
+
+Updates since 0.38 include: a safe print method that guards
+Archive::Extract from changes to $\; a fix to the tests when run in core
+perl; support for TZ files; and a modification for the lzma logic to favour
+IO::Uncompress::Unlzma (d7f8799)
+
+=item C<Archive::Tar>
+
+Upgraded from version 1.54 to 1.64.
+
+Important changes since 1.54 include: compatibility with busybox
+implementations of tar; a fix so that C<write()> and C<create_archive()>
+close only handles they opened; and a bug was fixed regarding the exit code
+of extract_archive. (afabe0e)
+
+=item C<Attribute::Handlers>
+
+Upgraded from version 0.87 to 0.88.
+
+=item C<Compress::Raw::Bzip2>
+
+Upgraded from version 2.024 to 2.027.
+
+=item C<Compress::Raw::Zlib>
+
+Upgraded from version 2.024 to 2.027_01.
+
+=item C<Compress::Zlib>
+
+Upgraded from version 2.024 to 2.027.
+
+=item C<CPANPLUS>
+
+Upgraded from version 0.90 to 0.9007.
+
+Fixed the shell test to skip if test is not being run under a terminal;
+resolved the issue where a prereq on Config would not be recognised as a
+core module. (d4e225a)
+
+=item C<Digest::MD5>
+
+Upgraded from version 2.39 to 2.40.
+
+=item C<Digest::SHA>
+
+Upgraded from version 5.47 to 5.48.
+
+=item C<Exporter>
+
+Upgraded from version 5.64_02 to 5.64_03.
+
+Exporter no longer overrides C<$SIG{__WARN__}> (RT #74472) (9b86bb5)
+
+=item C<ExtUtils::CBuilder>
+
+Upgraded from version 0.27 to 0.2703.
+
+=item C<ExtUtils::Manifest>
+
+Upgraded from version 1.57 to 1.58.
+
+=item C<ExtUtils::ParseXS>
+
+Upgraded from version 2.2205 to 2.2206.
+
+=item C<File::Copy>
+
+Upgraded from version 2.19 to 2.20.
+
+Skips suid tests on a nosuid partition. These tests were being skipped on
+OpenBSD, but nosuid partitions can exist on other systems too. Now it just
+checks if it can create a suid directory, if not the tests are skipped.
+Perl builds without errors in a nosuid /tmp with this patch. (cae9400)
+
+=item C<I18N::LangTags>
+
+Upgraded from version 0.35 to 0.35_01.
+
+=item C<IPC::Cmd>
+
+Upgraded from version 0.58 to 0.60.
+
+=item C<IPC::SysV>
+
+Upgraded from version 2.01 to 2.03.
+
+=item C<Locale::Maketext>
+
+Upgraded from version 1.14 to 1.15.
+
+Locale::Maketext guts have been merged back into the main module (87d86da)
+and adds external cache support (ace47d6)
+
+=item C<Module::Build>
+
+Upgraded from version 0.3603 to 0.3607.
+
+=item C<Module::CoreList>
+
+Upgraded from version 2.34 to 2.36.
+
+=item C<Module::Load>
+
+Upgraded from version 0.16 to 0.18.
+
+=item C<Term::ANSIColor>
+
+Upgraded from version 2.02 to 3.00.
+
+=item C<Test::Harness>
+
+Upgraded from version 3.17 to 3.21.
+
+The core update from Test-Harness 3.17 to 3.21 fixed some things, but
+also L<introduced a known problem|/"Known Problems"> with argument
+passing to non-Perl tests.
+
+=item C<Time::HiRes>
+
+Upgraded from version 1.9719 to 1.9721.
+
+=item C<Time::Piece>
+
+Upgraded from version 1.15_01 to 1.20_01.
+
+=item C<Unicode::Collate>
+
+Upgraded from version 0.52_01 to 0.53.
+
+Includes Unicode Collation Algorithm 18 (74b94a7)
+
+=item C<Unicode::Normalize>
+
+Upgraded from version 1.03 to 1.06.
+
+=back
+
+=head1 Documentation
+
+=head2 New Documentation
+
+=head3 L<perl5121delta>
+
+The Perl 5.12.1 perldelta file was added from the Perl maintenance branch
+
+=head2 Changes to Existing Documentation
+
+=head3 General changes
+
+=over
+
+=item *
+
+Octal character escapes in documentation now prefer a three-digit octal
+escape or the new C<\o{...}> escape as they have more consistent behavior
+in different contexts than other forms. (ce7b6f0) (d8b950d) (e1f120a)
+
+=item *
+
+Documentation now standardizes on the term 'capture group' over 'buffer'
+in regular expression documentation (c27a5cf)
+
+=back
+
+=head3 L<perlfunc>
+
+=over
+
+=item *
+
+Added cautionary note about "no VERSION" (e0de7c2)
+
+=item *
+
+Added additional notes regarding srand when forking (d460397)
+
+=back
+
+=head3 L<perlop>
+
+=over 4
+
+=item *
+
+Improved documentation of unusual character escapes (4068718, 9644846)
+
+=item *
+
+Clarified how hexadecimal escapes are interpreted, with particular
+attention to the treatment of invalid characters (9644846)
+
+=back
+
+=head3 L<perlrun>
+
+=over
+
+=item *
+
+Clarified the behavior of the C<-0NNN> switch for C<-0400> or higher (7ba31cb)
+
+=back
+
+=head3 L<perlpolicy>
+
+=over
+
+=item *
+
+Added the policy on compatibility and deprecation along with definitions of
+terms like "deprecation" (70e4a83)
+
+=back
+
+=head3 L<perlre>
+
+=over
+
+=item *
+
+Added examples of the perils of not using \g{} when there are more
+than nine back-references (9d86067)
+
+=back
+
+=head3 L<perltie>
+
+=over
+
+=item *
+
+Updated some examples for modern Perl style (67d00dd)
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<perldb>
+
+=over
+
+=item *
+
+The remote terminal works after forking and spawns new sessions - one
+for each forked process (11653f7)
+
+=item *
+
+Uses the less pager path from Config instead of searching for it (bf320d6)
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+Adjusted 'make test.valgrind' to account for cpan/dist/ext separation
+(e07ce2e)
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+F<t/harness> clears PERL5LIB, PERLLIB, PERL5OPT as t/TEST does (a2d3de1)
+
+=item *
+
+Many common testing routines were refactored into t/lib/common.pl
+
+=item *
+
+Several test files have been modernized to use Test::More
+
+=back
+
+=head1 Platform Support
+
+=head2 Discontinued Platforms
+
+=over 4
+
+=item MacOS Classic
+
+Support for MacOS Classic within ExtUtils::MakeMaker was removed from Perl in
+December 2004. Vestigial MacOS Classic specific code has now been removed
+from other core modules as well (8f8c2a4..c457df0)
+
+=back
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Win32
+
+t/io/openpid.t now uses the alarm() watchdog strategy for more
+robustness (5732108)
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+Under some circumstances, the C<CvGV()> field of a CV is now reference
+counted. To ensure consistent behaviour, direct assignment to it, for
+example C<CvGV(cv) = gv> is now a compile-time error. A new macro,
+C<CvGV_set(cv,gv)> has been introduced to perform this operation safely.
+Note that modification of this field is not part of of the public API,
+regardless of this new macro. This change caused some
+L<issues|/"Known Problems"> in modules that used the private C<GvGV()>
+field.
+
+=item *
+
+It is now possible for XS code to hook into Perl's lexical scope
+mechanism at compile time, using the new C<Perl_blockhook_register>
+function. See L<perlguts/"Compile-time scope hooks">.
+
+=item *
+
+Added C<Perl_croak_no_modify()> to implement
+C<Perl_croak("%s", PL_no_modify)> (6ad8f25)
+
+=item *
+
+Added prototypes for C<tie()> and C<untie()> to allow overloading (RT#75902)
+(1db4d19)
+
+=item *
+
+Adds C<my_[l]stat_flags()> to replace C<my_[l]stat()>. C<my_stat()> and
+C<my_lstat()> call get magic on the stack arg, so create C<_flags()>
+variants that allow us to control this. (0d7d409)
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Some work has been done on the internal pointers that link between symbol
+tables (stashes), typeglobs and subroutines. This has the effect that
+various edge cases related to deleting stashes or stash entries (e.g.
+<%FOO:: = ()>), and complex typeglob or code reference aliasing, will no
+longer crash the interpreter.
+
+=item *
+
+Fixed readline() when interrupted by signals so it no longer returns
+the "same thing" as before or random memory
+
+=item *
+
+Fixed a regression of kill() when a match variable is used for the
+process ID to kill (RT#75812) (8af710e)
+
+=item *
+
+Fixed several subtle bugs in sort() when @_ is accessed within a subroutine
+used for sorting (RT#72334) (8f443ca)
+
+=item *
+
+Catch yyparse() exceptions in C<< (?{...}) >> (RT#2353) (634d691)
+
+=item *
+
+Avoid UTF-8 cache panics with offsets beyond a string (RT #75898) (3e2d381)
+
+=item *
+
+Fixed POSIX::strftime memory leak (RT#73520) (c4bc4aa)
+
+=item *
+
+Doesn't set strict with C<no VERSION> if C<VERSION> is greater than 5.12
+(da8fb5d)
+
+=item *
+
+Avoids multiple FETCH/stringify on filetest ops (40c852d)
+
+=item *
+
+Fixed issue with string C<eval> not detecting taint of overloaded/tied
+arguments (RT #75716) (895b760)
+
+=item *
+
+Fix potential crashes of string C<eval> when evaluating a object with
+overloaded stringification by creating a stringified copy when necessary
+(3e5c018)
+
+=item *
+
+Fixed bug where overloaded stringification could remove tainting
+(RT #75716) (a02ec77)
+
+=item *
+
+Plugs more memory leaks in vms.c. (9e2bec0)
+
+=item *
+
+Fix pthread include error for Time::Piece (e9f284c)
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+Bug fixes involving CvGV reference counting break Sub::Name. A
+patch has been sent upstream to the maintainer
+
+=item *
+
+readline() returns an empty string instead of undef when it is
+interrupted by a signal
+
+=item *
+
+Test-Harness was updated from 3.17 to 3.21 for this release. A rewrite
+in how it handles non-Perl tests (in 3.17_01) broke argument passing to
+non-Perl tests with L<prove> (RT #59186), and required that non-Perl
+tests be run as C<prove ./test.sh> instead of C<prove test.sh> These
+issues are being solved upstream, but didn't make it into this release.
+They're expected to be fixed in time for perl v5.13.4. (RT #59457)
+
+=item *
+
+C<version> now prevents object methods from being called as class methods
+(d808b68)
+
+=back
+
+=head1 Errata
+
+=over 4
+
+=item *
+
+Retroactively added the Acknowledgements list to L<perl5132delta>,
+which was excluded in the original release (d1e2db0)
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.3 represents approximately one month of development since Perl
+5.13.2, and contains 12,184 lines of changes across 575 files from 104
+authors and committers.
+
+Thank you to the following for contributing to this release:
+
+Abhijit Menon-Sen, Abigail, Alex Davies, Alex Vandiver, Alexandr
+Ciornii, Andreas J. Koenig, Andrew Rodland, Andy Dougherty, Aristotle
+Pagaltzis, Arkturuz, Ben Morrow, Bo Borgerson, Bo Lindbergh, Brad
+Gilbert, Bram, Brian Phillips, Chas. Owens, Chip Salzenberg, Chris
+Williams, Craig A. Berry, Curtis Jewell, Dan Dascalescu, Daniel
+Frederick Crisman, Dave Rolsky, David Caldwell, David E. Wheeler, David
+Golden, David Leadbeater, David Mitchell, Dennis Kaarsemaker, Eric
+Brine, Father Chrysostomos, Florian Ragwitz, Frank Wiegand, Gene
+Sullivan, George Greer, Gerard Goossen, Gisle Aas, Goro Fuji, Graham
+Barr, H.Merijn Brand, Harmen, Hugo van der Sanden, James E Keenan, James
+Mastros, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Jim Cromie, John
+Peacock, Jos Boumans, Josh ben Jore, Karl Williamson, Kevin Ryde, Leon
+Brocard, Lubomir Rintel, Maik Hentsche, Marcus Holland-Moritz, Matt
+Johnson, Matt S Trout, Max Maischein, Michael Breen, Michael G Schwern,
+Moritz Lenz, Nga Tang Chan, Nicholas Clark, Nick Cleaton, Nick Johnston,
+Niko Tyni, Offer Kaye, Paul Marquess, Philip Hazel, Philippe Bruhat,
+Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes,
+Richard Soderberg, Robin Barker, Ruslan Zakirov, Salvador Fandino,
+Salvador Ortiz Garcia, Shlomi Fish, Sinan Unur, Sisyphus, Slaven Rezic,
+Steffen Mueller, Stepan Kasal, Steve Hay, Steve Peters, Sullivan Beck,
+Tim Bunce, Todd Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook,
+Vincent Pit, Yuval Kogman, Yves Orton, Zefram, brian d foy, chromatic,
+kmx, Ævar Arnfjörð Bjarmason
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5134delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5134delta.pod
new file mode 100644
index 00000000000..e90fbffeb9b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5134delta.pod
@@ -0,0 +1,542 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5134delta - what is new for perl v5.13.4
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.4 release and
+the 5.13.3 release.
+
+If you are upgrading from an earlier release such as 5.13.2, first read
+L<perl5133delta>, which describes differences between 5.13.2 and
+5.13.3.
+
+=head1 Core Enhancements
+
+=head2 C<srand()> now returns the seed
+
+This allows programs that need to have repeatable results to not have to come
+up with their own seed generating mechanism. Instead, they can use C<srand()>
+and somehow stash the return for future use. Typical is a test program which
+has too many combinations to test comprehensively in the time available to it
+each run. It can test a random subset each time, and should there be a failure,
+log the seed used for that run so that it can later be used to reproduce the
+exact results.
+
+=head2 C<\N{I<name>}> and C<charnames> enhancements
+
+C<\N{}>, C<charnames::vianame>, C<charnames::viacode> now know about every
+character in Unicode. Previously, they didn't know about the Hangul syllables
+nor a number of CJK (Chinese/Japanese/Korean) characters.
+
+=head1 Incompatible Changes
+
+=head2 Declare API incompatibility between blead releases
+
+Only stable releases (5.10.x, 5.12.x, 5.14.x, ...) guarantee binary
+compatibility with each other, while blead releases (5.13.x, 5.15.x, ...) often
+break this compatibility. However, prior to perl 5.13.4, all blead releases had
+the same C<PERL_API_REVISION>, C<PERL_API_VERSION>, and C<PERL_API_SUBVERSION>,
+effectively declaring them as binary compatible, which they weren't. From now
+on, blead releases will have a C<PERL_API_SUBVERSION> equal to their
+C<PERL_SUBVERSION>, explicitly marking them as incompatible with each other.
+
+Maintenance releases of stable perl versions will continue to make no
+intentionally incompatible API changes.
+
+=head2 Check API compatibility when loading XS modules
+
+When perl's API changes in incompatible ways (which usually happens between
+every major release), XS modules compiled for previous versions of perl will not
+work anymore. They will need to be recompiled against the new perl.
+
+In order to ensure that modules are recompiled, and to prevent users from
+accidentally loading modules compiled for old perls into newer ones, the
+C<XS_APIVERSION_BOOTCHECK> macro has been added. That macro, which is called
+when loading every newly compiled extension, compares the API version of the
+running perl with the version a module has been compiled for and raises an
+exception if they don't match.
+
+=head2 Binary Incompatible with all previous Perls
+
+Some bit fields have been reordered; therefore, this release will not be binary
+compatible with any previous Perl release.
+
+=head2 Change in the parsing of certain prototypes
+
+Functions declared with the following prototypes now behave correctly as unary
+functions:
+
+=over 4
+
+=item *
+
+C<*>
+
+=item *
+
+C<\sigil>
+
+=item *
+
+C<\[...]>
+
+=item *
+
+C<;$>
+
+=item *
+
+C<;*>
+
+=item *
+
+C<;\sigil>
+
+=item *
+
+C<;\[...]>
+
+=back
+
+Due to this bug fix, functions using the C<(*)>, C<(;$)> and C<(;*)> prototypes
+are parsed with higher precedence than before. So in the following example:
+
+ sub foo($);
+ foo $a < $b;
+
+the second line is now parsed correctly as C<< foo($a) < $b >>, rather than
+C<< foo($a < $b) >>. This happens when one of these operators is used in
+an unparenthesised argument:
+
+ < > <= >= lt gt le ge
+ == != <=> eq ne cmp ~~
+ &
+ | ^
+ &&
+ || //
+ .. ...
+ ?:
+ = += -= *= etc.
+
+=head1 Deprecations
+
+=head2 List assignment to C<$[>
+
+After assignment to C<$[> has been deprecated and started to give warnings in
+perl version 5.12.0, this version of perl also starts to emit a warning when
+assigning to C<$[> in list context. This fixes an oversight in 5.12.0.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+Make string appending 100 times faster
+
+When doing a lot of string appending, perl could end up allocating a lot more
+memory than needed in a very inefficient way, if perl was configured to use the
+system's C<malloc> implementation instead of its own.
+
+C<sv_grow>, which is what's being used to allocate more memory if necessary when
+appending to a string, has now been taught how to round up the memory it
+requests to a certain geometric progression, making it much faster on certain
+platforms and configurations. On Win32, it's now about 100 times faster.
+
+=item *
+
+For weak references, the common case of just a single weak reference per
+referent has been optimised to reduce the storage required. In this case it
+saves the equivalent of one small perl array per referent.
+
+=item *
+
+C<XPV>, C<XPVIV>, and C<XPVNV> now only allocate the parts of the C<SV> body
+they actually use, saving some space.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+This release does not introduce any new modules or pragmata.
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item C<Archive::Tar>
+
+Upgraded from version 1.64 to 1.68.
+
+Among other things, the new version adds a new option to C<ptar> to allow safe
+creation of tarballs without world-writable files on Windows, allowing those
+archives to be uploaded to CPAN.
+
+=item C<B::Lint>
+
+Upgraded from version 1.11 to 1.12.
+
+=item C<Carp>
+
+Upgraded from version 1.16 to 1.18.
+
+L<Carp> now detects incomplete L<caller()|perlfunc/"caller EXPR"> overrides and
+avoids using bogus C<@DB::args>. To provide backtraces, Carp relies on
+particular behaviour of the caller built-in. Carp now detects if other code has
+overridden this with an incomplete implementation, and modifies its backtrace
+accordingly. Previously incomplete overrides would cause incorrect values in
+backtraces (best case), or obscure fatal errors (worst case)
+
+This fixes certain cases of C<Bizarre copy of ARRAY> caused by modules
+overriding C<caller()> incorrectly.
+
+=item C<Compress::Raw::Bzip2>
+
+Upgraded from version 2.027 to 2.030.
+
+=item C<Compress::Raw::Zlib>
+
+Upgraded from version 2.027 to 2.030.
+
+=item C<File::Spec>
+
+Upgraded from version 3.31 to 3.31_01.
+
+Various issues in L<File::Spec::VMS> have been fixed.
+
+=item C<I18N::Langinfo>
+
+Upgraded from version 0.03 to 0.04.
+
+C<langinfo()> now defaults to using C<$_> if there is no argument given, just
+like the documentation always claimed it did.
+
+=item C<IO::Compress>
+
+Upgraded from version 2.027 to 2.030.
+
+=item C<Module::CoreList>
+
+Upgraded from version 2.36 to 2.37.
+
+Besides listing the updated core modules of this release, it also stops listing
+the C<Filespec> module. That module never existed in core. The scripts
+generating C<Module::CoreList> confused it with C<VMS::Filespec>, which actually
+is a core module, since the time of perl 5.8.7.
+
+=item C<Test::Harness>
+
+Upgraded from version 3.21 to 3.22.
+
+=item C<Test::Simple>
+
+Upgraded from version 0.94 to 0.96.
+
+Among many other things, subtests without a C<plan> or C<no_plan> now have an
+implicit C<done_testing()> added to them.
+
+=item C<Unicode::Collate>
+
+Upgraded from version 0.53 to 0.56.
+
+Among other things, it is now using UCA Revision 20 (based on Unicode 5.2.0) and
+supports a couple of new locales.
+
+=item C<feature>
+
+Upgraded from version 1.17 to 1.18.
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+This release does not remove any modules or pragmata.
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perldiag>
+
+=over 4
+
+=item *
+
+The following existing diagnostics are now documented:
+
+=over 4
+
+=item *
+
+L<Ambiguous use of %c resolved as operator %c|perldiag/"Ambiguous use of %c resolved as operator %c">
+
+=item *
+
+L<Ambiguous use of %c{%s} resolved to %c%s|perldiag/"Ambiguous use of %c{%s} resolved to %c%s">
+
+=item *
+
+L<Ambiguous use of %c{%s%s} resolved to %c%s%s|perldiag/"Ambiguous use of %c{%s%s} resolved to %c%s%s">
+
+=item *
+
+L<Ambiguous use of -%s resolved as -&%s()|perldiag/"Ambiguous use of -%s resolved as -&%s()">
+
+=item *
+
+L<Invalid strict version format (%s)|perldiag/"Invalid strict version format (%s)">
+
+=item *
+
+L<Invalid version format (%s)|perldiag/"Invalid version format (%s)">
+
+=item *
+
+L<Invalid version object|perldiag/"Invalid version object">
+
+=back
+
+=back
+
+=head3 L<perlport>
+
+=over 4
+
+=item *
+
+Documented a L<limitation|perlport/alarm> of L<alarm()|perlfunc/"alarm SECONDS">
+on Win32.
+
+=back
+
+=head3 L<perlre>
+
+=over 4
+
+=item *
+
+Minor fix to a multiple scalar match example.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+Compatibility with C<C++> compilers has been improved.
+
+=item *
+
+On compilers that support it, C<-Wwrite-strings> is now added to cflags by
+default.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+F<t/op/print.t> has been added to test implicit printing of C<$_>.
+
+=item *
+
+F<t/io/errnosig.t> has been added to test for restoration of of C<$!> when
+leaving signal handlers.
+
+=item *
+
+F<t/op/tie_fetch_count.t> has been added to see if C<FETCH> is only called once
+on tied variables.
+
+=item *
+
+F<lib/Tie/ExtraHash.t> has been added to make sure the, previously untested,
+L<Tie::ExtraHash> keeps working.
+
+=item *
+
+F<t/re/overload.t> has been added to test against string corruption in pattern
+matches on overloaded objects. This is a TODO test.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Win32
+
+=over 4
+
+=item *
+
+Fixed a possible hang in F<t/op/readline.t>.
+
+=item *
+
+Fixed build process for SDK2003SP1 compilers.
+
+=item *
+
+When using old 32-bit compilers, the define C<_USE_32BIT_TIME_T> will now be set
+in C<$Config{ccflags}>. This improves portability when compiling XS extensions
+using new compilers, but for a perl compiled with old 32-bit compilers.
+
+=back
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item Removed C<PERL_POLLUTE>
+
+The option to define C<PERL_POLLUTE> to expose older 5.005 symbols for backwards
+compatibility has been removed. It's use was always discouraged, and MakeMaker
+contains a more specific escape hatch:
+
+ perl Makefile.PL POLLUTE=1
+
+This can be used for modules that have not been upgraded to 5.6 naming
+conventions (and really should be completely obsolete by now).
+
+=item Added C<PERL_STATIC_INLINE>
+
+The C<PERL_STATIC_INLINE> define has been added to provide the best-guess
+incantation to use for static inline functions, if the C compiler supports
+C99-style static inline. If it doesn't, it'll give a plain C<static>.
+
+C<HAS_STATIC_INLINE> can be used to check if the compiler actually supports
+inline functions.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+A possible memory leak when using L<caller()|perlfunc/"caller EXPR"> to set
+C<@DB::args> has been fixed.
+
+=item *
+
+Several memory leaks when loading XS modules were fixed.
+
+=item *
+
+A panic in the regular expression optimizer has been fixed (RT#75762).
+
+=item *
+
+Assignments to lvalue subroutines now honor copy-on-write behavior again, which
+has been broken since version 5.10.0 (RT#75656).
+
+=item *
+
+Assignments to glob copies now behave just like assignments to regular globs
+(RT#1804).
+
+=item *
+
+Within signal handlers, C<$!> is now implicitly localized.
+
+=item *
+
+L<readline|perlfunc/"readline EXPR"> now honors C<< <> >> overloading on tied
+arguments.
+
+=item *
+
+L<substr()|perlfunc/"substr EXPR,OFFSET,LENGTH,REPLACEMENT">,
+L<pos()|perlfunc/"index STR,SUBSTR,POSITION">, L<keys()|perlfunc/"keys HASH">,
+and L<vec()|perlfunc/"vec EXPR,OFFSET,BITS"> could, when used in combination
+with lvalues, result in leaking the scalar value they operate on, and cause its
+destruction to happen too late. This has now been fixed.
+
+=item *
+
+Building with C<PERL_GLOBAL_STRUCT>, which has been broken accidentally in
+5.13.3, now works again.
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+The changes in L<substr()|perlfunc/"substr EXPR,OFFSET,LENGTH,REPLACEMENT">
+broke C<HTML::Parser> <= 3.66. A fixed C<HTML::Parser> is available as version
+3.67 on CPAN.
+
+=item *
+
+The changes in prototype handling break C<Switch>. A patch has been sent
+upstream and will hopefully appear on CPAN soon.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.4 represents approximately one month of development since Perl 5.13.3,
+and contains 91,200 lines of changes across 436 files from 34 authors and
+committers.
+
+Thank you to the following for contributing to this release:
+
+Abigail, Andy Armstrong, Andy Dougherty, Chas. Owens, Chip Salzenberg, Chris
+'BinGOs' Williams, Craig A. Berry, David Cantrell, David Golden, David Mitchell,
+Eric Brine, Father Chrysostomos, Florian Ragwitz, George Greer, Gerard Goossen,
+H.Merijn Brand, James Mastros, Jan Dubois, Jerry D. Hedden, Joshua ben Jore,
+Karl Williamson, Lars Dɪᴇᴄᴋá´á´¡ 迪拉斯, Leon Brocard, Lubomir Rintel, Nicholas
+Clark, Paul Marquess, Rafael Garcia-Suarez, Reini Urban, Robin Barker, Slaven
+Rezic, Steve Peters, Tony Cook, Wolfram Humann, Zefram
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+http://rt.perl.org/perlbug/ . There may also be information at
+http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug> program
+included with your release. Be sure to trim your bug down to a tiny but
+sufficient test case. Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able to
+help assess the impact of issues, figure out a resolution, and help co-ordinate
+the release of patches to mitigate or fix the problem across all platforms on
+which Perl is supported. Please only use this address for security issues in the
+Perl core, not for modules independently distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5135delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5135delta.pod
new file mode 100644
index 00000000000..de76d586bd7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5135delta.pod
@@ -0,0 +1,592 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5135delta - what is new for perl v5.13.5
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.4 release and
+the 5.13.5 release.
+
+If you are upgrading from an earlier release such as 5.13.3, first read
+L<perl5134delta>, which describes differences between 5.13.3 and
+5.13.4.
+
+=head1 Core Enhancements
+
+=head2 Adjacent pairs of nextstate opcodes are now optimized away
+
+Previously, in code such as
+
+ use constant DEBUG => 0;
+
+ sub GAK {
+ warn if DEBUG;
+ print "stuff\n";
+ }
+
+the ops for C<warn if DEBUG;> would be folded to a C<null> op (C<ex-const>), but
+the C<nextstate> op would remain, resulting in a runtime op dispatch of
+C<nextstate>, C<nextstate>, ...
+
+The execution of a sequence of C<nextstate> ops is indistinguishable from just
+the last C<nextstate> op so the peephole optimizer now eliminates the first of
+a pair of C<nextstate> ops, except where the first carries a label, since labels
+must not be eliminated by the optimizer and label usage isn't conclusively known
+at compile time.
+
+=head2 API function to parse statements
+
+The C<parse_fullstmt> function has been added to allow parsing of a single
+complete Perl statement. See L<perlapi> for details.
+
+=head2 API functions for accessing the runtime hinthash
+
+A new C API for introspecting the hinthash C<%^H> at runtime has been added.
+See C<cop_hints_2hv>, C<cop_hints_fetchpvn>, C<cop_hints_fetchpvs>,
+C<cop_hints_fetchsv>, and C<hv_copy_hints_hv> in L<perlapi> for details.
+
+=head2 C interface to C<caller()>
+
+The C<caller_cx> function has been added as an XSUB-writer's equivalent of
+C<caller()>. See L<perlapi> for details.
+
+=head1 Incompatible Changes
+
+=head2 Magic variables outside the main package
+
+In previous versions of Perl, magic variables like C<$!>, C<%SIG>, etc. would
+'leak' into other packages. So C<%foo::SIG> could be used to access signals,
+C<${"foo::!"}> (with strict mode off) to access C's C<errno>, etc.
+
+This was a bug, or an 'unintentional' feature, which caused various ill effects,
+such as signal handlers being wiped when modules were loaded, etc.
+
+This has been fixed (or the feature has been removed, depending on how you see
+it).
+
+=head2 Smart-matching against array slices
+
+Previously, the following code resulted in a successful match:
+
+ my @a = qw(a y0 z);
+ my @b = qw(a x0 z);
+ @a[0 .. $#b] ~~ @b;
+
+This odd behaviour has now been fixed
+L<[perl #77468]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=77468>.
+
+=head2 C API changes
+
+The first argument of the C API function C<Perl_fetch_cop_label> has changed
+from C<struct refcounted he *> to C<COP *>, to better insulate the user from
+implementation details.
+
+This API function was marked as "may change", and likely isn't in use outside
+the core. (Neither an unpacked CPAN, nor Google's codesearch, finds any other
+references to it.)
+
+=head1 Deprecations
+
+=head2 Use of qw(...) as parentheses
+
+Historically the parser fooled itself into thinking that C<qw(...)> literals
+were always enclosed in parentheses, and as a result you could sometimes omit
+parentheses around them:
+
+ for $x qw(a b c) { ... }
+
+The parser no longer lies to itself in this way. Wrap the list literal in
+parentheses, like:
+
+ for $x (qw(a b c)) { ... }
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+Scalars containing regular expressions now only allocate the part of the C<SV>
+body they actually use, saving some space.
+
+=item *
+
+Compiling regular expressions has been made faster for the case where upgrading
+the regex to utf8 is necessary but that isn't known when the compilation begins.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item C<bignum>
+
+Upgraded from version 0.23 to 0.25.
+
+=item C<blib>
+
+Upgraded from version 1.05 to 1.06.
+
+=item C<open>
+
+Upgraded from version 1.07 to 1.08.
+
+=item C<threads-shared>
+
+Upgraded from version 1.33_02 to 1.33_03.
+
+=item C<warnings> and C<warnings::register>
+
+Upgraded from version 1.10 to 1.11 and from version 1.01 to 1.02 respectively.
+
+It is now possible to register warning categories other than the names of
+packages using C<warnings::register>. See L<perllexwarn> for more information.
+
+=item C<B::Debug>
+
+Upgraded from version 1.12 to 1.16.
+
+=item C<CPANPLUS::Dist::Build>
+
+Upgraded from version 0.46 to 0.48.
+
+=item C<Data::Dumper>
+
+Upgraded from version 2.126 to 2.128.
+
+This fixes a crash when using custom sort functions that might cause the stack
+to change.
+
+=item C<Encode>
+
+Upgraded from version 2.39 to 2.40.
+
+=item C<Errno>
+
+Upgraded from version 1.12 to 1.13.
+
+On some platforms with unusual header files, like Win32/gcc using mingw64
+headers, some constants which weren't actually error numbers have been exposed
+by C<Errno>. This has been fixed
+L<[perl #77416]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=77416>.
+
+=item C<ExtUtils::MakeMaker>
+
+Upgraded from version 6.5601 to 6.57_05.
+
+=item C<Filter::Simple>
+
+Upgraded from version 0.84 to 0.85.
+
+=item C<Hash::Util>
+
+Upgraded from version 0.08 to 0.09.
+
+=item C<Math::BigInt>
+
+Upgraded from version 1.89_01 to 1.95.
+
+This fixes, among other things, incorrect results when computing binomial
+coefficients
+L<[perl #77640]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77640>.
+
+=item C<Math::BigInt::FastCalc>
+
+Upgraded from version 0.19 to 0.22.
+
+=item C<Math::BigRat>
+
+Upgraded from version 0.24 to 0.26.
+
+=item C<Module::CoreList>
+
+Upgraded from version 2.37 to 2.38.
+
+=item C<PerlIO::scalar>
+
+Upgraded from version 0.08 to 0.09.
+
+=item C<POSIX>
+
+Upgraded from version 1.19 to 1.20.
+
+It now includes constants for POSIX signal constants.
+
+=item C<Safe>
+
+Upgraded from version 2.27 to 2.28.
+
+This fixes a possible infinite loop when looking for coderefs.
+
+=item C<Test::Simple>
+
+Upgraded from version 0.96 to 0.97_01.
+
+=item C<Tie::Hash>
+
+Upgraded from version 1.03 to 1.04.
+
+Calling C<< Tie::Hash-E<gt>TIEHASH() >> used to loop forever. Now it C<croak>s.
+
+=item C<Unicode::Collate>
+
+Upgraded from version 0.56 to 0.59.
+
+=item C<XSLoader>
+
+Upgraded from version 0.10 to 0.11.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlapi>
+
+=over 4
+
+=item *
+
+Many of the optree construction functions are now documented.
+
+=back
+
+=head3 L<perlbook>
+
+=over 4
+
+=item *
+
+Expanded to cover many more popular books.
+
+=back
+
+=head3 L<perlfaq>
+
+=over 4
+
+=item *
+
+L<perlfaq>, L<perlfaq2>, L<perlfaq4>, L<perlfaq5>, L<perlfaq6>, L<perlfaq8>, and
+L<perlfaq9> have seen various updates and modernizations.
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=over 4
+
+=item *
+
+Parsing code internal error (%s)
+
+New fatal error produced when parsing code supplied by an extension violated the
+parser's API in a detectable way.
+
+=item *
+
+Use of qw(...) as parentheses is deprecated
+
+See L</"Use of qw(...) as parentheses"> for details.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+C<warn> and C<die> now produce 'Wide character' warnings when fed a
+character outside the byte range if STDERR is a byte-sized handle.
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<h2ph>
+
+=over 4
+
+=item *
+
+The use of a deprecated C<goto> construct has been removed
+L<[perl #74404]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=74404>.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+The new F<t/lib/universal.t> script tests the Internal::* functions and other
+things in F<universal.c>.
+
+=item *
+
+A rare race condition in F<t/op/while_readdir.t> has been fixed, stopping it
+from failing randomly when running tests in parallel.
+
+=item *
+
+The new F<t/op/leaky-magic.t> script tests that magic applied to variables in
+the main packages does not affect other packages.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item VMS
+
+=over 4
+
+=item *
+
+Make C<PerlIOUnix_open> honour default permissions on VMS.
+
+When C<perlio> became the default and C<unixio> became the default bottom layer,
+the most common path for creating files from Perl became C<PerlIOUnix_open>,
+which has always explicitly used C<0666> as the permission mask.
+
+To avoid this, C<0777> is now passed as the permissions to C<open()>. In the
+VMS CRTL, C<0777> has a special meaning over and above intersecting with the
+current umask; specifically, it allows Unix syscalls to preserve native default
+permissions.
+
+=back
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+C<CALL_FPTR> and C<CPERLscope> have been deprecated.
+
+Those are left from an old implementation of C<MULTIPLICITY> using C++ objects,
+which was removed in Perl 5.8. Nowadays these macros do exactly nothing, so
+they shouldn't be used anymore.
+
+For compatibility, they are still defined for external C<XS> code. Only
+extensions defining C<PERL_CORE> must be updated now.
+
+=item *
+
+C<lex_stuff_pvs()> has been added as a convenience macro wrapping
+C<lex_stuff_pvn()> for literal strings.
+
+=item *
+
+The recursive part of the peephole optimizer is now hookable.
+
+In addition to C<PL_peepp>, for hooking into the toplevel peephole optimizer, a
+C<PL_rpeepp> is now available to hook into the optimizer recursing into
+side-chains of the optree.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+A regression introduced in Perl 5.12.0, making
+C<< my $x = 3; $x = length(undef) >> result in C<$x> set to C<3> has been
+fixed. C<$x> will now be C<undef>.
+
+=item *
+
+A fatal error in regular expressions when processing UTF-8 data has been fixed
+L<[perl #75680]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75680>.
+
+=item *
+
+An erroneous regular expression engine optimization that caused regex verbs like
+C<*COMMIT> to sometimes be ignored has been removed.
+
+=item *
+
+The Perl debugger now also works in taint mode
+L<[perl #76872]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76872>.
+
+=item *
+
+Several memory leaks in cloning and freeing threaded Perl interpreters have been
+fixed L<[perl #77352]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77352>.
+
+=item *
+
+A possible string corruption when doing regular expression matches on overloaded
+objects has been fixed
+L<[perl #77084]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77084>.
+
+=item *
+
+Magic applied to variables in the main package no longer affects other packages.
+See L</Magic variables outside the main package> above
+L<[perl #76138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76138>.
+
+=item *
+
+Opening a glob reference via C<< open $fh, "E<gt>", \*glob >> will no longer
+cause the glob to be corrupted when the filehandle is printed to. This would
+cause perl to crash whenever the glob's contents were accessed
+L<[perl #77492]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77492>.
+
+=item *
+
+The postincrement and postdecrement operators, C<++> and C<-->, used to cause
+leaks when being used on references. This has now been fixed.
+
+=item *
+
+A bug when replacing the glob of a loop variable within the loop has been fixed
+L<[perl #21469]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=21469>. This
+means the following code will no longer crash:
+
+ for $x (...) {
+ *x = *y;
+ }
+
+=item *
+
+Perl would segfault if the undocumented C<Internals> functions that used
+reference prototypes were called with the C<&foo()> syntax, e.g.
+C<&Internals::SvREADONLY(undef)>
+L<[perl #77776]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77776>.
+
+These functions now call C<SvROK> on their arguments before dereferencing them
+with C<SvRV>, and we test for this case in F<t/lib/universal.t>.
+
+=item *
+
+When assigning a list with duplicated keys to a hash, the assignment used to
+return garbage and/or freed values:
+
+ @a = %h = (list with some duplicate keys);
+
+This has now been fixed
+L<[perl #31865]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=31865>.
+
+=item *
+
+An earlier release of the 5.13 series of Perl changed the semantics of opening a
+reference to a copy of a glob:
+
+ my $var = *STDOUT;
+ open my $fh, '>', \$var;
+
+This was a mistake, and the previous behaviour from Perl 5.10 and 5.12, which is
+to treat \$var as a scalar reference, has now been restored.
+
+=item *
+
+The regular expression bracketed character class C<[\8\9]> was effectively the
+same as C<[89\000]>, incorrectly matching a NULL character. It also gave
+incorrect warnings that the C<8> and C<9> were ignored. Now C<[\8\9]> is the
+same as C<[89]> and gives legitimate warnings that C<\8> and C<\9> are
+unrecognized escape sequences, passed-through.
+
+=item *
+
+C<warn()> and C<die()> now respect utf8-encoded scalars
+L<[perl #45549]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=45549>.
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+The upgrade to Encode-2.40 has caused some tests in the libwww-perl distribution
+on CPAN to fail. (Specifically, F<base/message-charset.t> tests 33-36 in version
+5.836 of that distribution now fail.)
+
+=item *
+
+The upgrade to ExtUtils-MakeMaker-6.57_05 has caused some tests in the
+Module-Install distribution on CPAN to fail. (Specifically, F<02_mymeta.t> tests
+5 and 21, F<18_all_from.t> tests 6 and 15, F<19_authors.t> tests 5, 13, 21 and
+29, and F<20_authors_with_special_characters.t> tests 6, 15 and 23 in version
+1.00 of that distribution now fail.)
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.5 represents approximately one month of development since
+Perl 5.13.4 and contains 74558 lines of changes across 549 files
+from 45 authors and committers:
+
+Abigail, Alexander Alekseev, Aristotle Pagaltzis, Ben Morrow, Bram, brian d foy,
+Chas. Owens, Chris 'BinGOs' Williams, Craig A. Berry, Curtis Jewell, Dagfinn
+Ilmari Mannsåker, David Golden, David Leadbeater, David Mitchell, Eric Brine,
+Father Chrysostomos, Florian Ragwitz, Gisle Aas, Jan Dubois, Jerry D. Hedden,
+Jesse Vincent, Jim Cromie, Jirka Hruška, Karl Williamson, Michael G. Schwern,
+Nicholas Clark, Paul Johnson, Philippe Bruhat (BooK), Piotr Fusik, Rafael
+Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Rob Hoelz, Robin
+Barker, Steffen Mueller, Steve Hay, Steve Peters, Todd Rinaldo, Tony Cook,
+Vincent Pit, Yves Orton, Zefram, Zsbán Ambrus, Ævar Arnfjörð Bjarmason.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5136delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5136delta.pod
new file mode 100644
index 00000000000..f8122572897
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5136delta.pod
@@ -0,0 +1,799 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5136delta - what is new for perl v5.13.6
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.5 release and
+the 5.13.6 release.
+
+If you are upgrading from an earlier release such as 5.13.4, first read
+L<perl5135delta>, which describes differences between 5.13.4 and
+5.13.5.
+
+=head1 Core Enhancements
+
+=head2 C<(?^...)> regex construct added to signify default modifiers
+
+A caret (also called a "circumflex accent") C<"^"> immediately following
+a C<"(?"> in a regular expression now means that the subexpression is to
+not inherit the surrounding modifiers such as C</i>, but to revert to the
+Perl defaults. Any modifiers following the caret override the defaults.
+
+The stringification of regular expressions now uses this
+notation. E.g., before, C<qr/hlagh/i> would be stringified as
+C<(?i-xsm:hlagh)>, but now it's stringified as C<(?^i:hlagh)>.
+
+The main purpose of this is to allow tests that rely on the
+stringification to not have to change when new modifiers are added.
+See L<perlre/Extended Patterns>.
+
+=head2 C<"d">, C<"l">, and C<"u"> regex modifiers added
+
+These modifiers are currently only available within a C<(?...)> construct.
+
+The C<"l"> modifier says to compile the regular expression as if it were
+in the scope of C<use locale>, even if it is not.
+
+The C<"u"> modifier says to compile the regular expression as if it were
+in the scope of a C<use feature "unicode_strings"> pragma.
+
+The C<"d"> modifier is used to override any C<use locale> and
+C<use feature "unicode_strings"> pragmas that are in effect at the time
+of compiling the regular expression.
+
+See just below and L<perlre/(?dlupimsx-imsx)>.
+
+=head2 C<use feature "unicode_strings"> now applies to some regex matching
+
+Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
+release. Now, regular expressions compiled within the scope of the
+"unicode_strings" feature will match the same whether or not the target
+string is encoded in utf8, with regard to C<\s>, C<\w>, C<\b>, and their
+complements. Work is underway to add the C<[[:posix:]]> character
+classes and case sensitive matching to the control of this feature, but
+was not complete in time for this dot release.
+
+=head2 C<\N{...}> now handles Unicode named character sequences
+
+Unicode has a number of named character sequences, in which particular sequences
+of code points are given names. C<\N{...}> now recognizes these.
+See L<charnames>.
+
+=head2 New function C<charnames::string_vianame()>
+
+This function is a run-time version of C<\N{...}>, returning the string
+of characters whose Unicode name is its parameter. It can handle
+Unicode named character sequences, whereas the pre-existing
+C<charnames::vianame()> cannot, as the latter returns a single code
+point.
+See L<charnames>.
+
+=head2 Reentrant regular expression engine
+
+It is now safe to use regular expressions within C<(?{...})> and
+C<(??{...})> code blocks inside regular expressions.
+
+These block are still experimental, however, and still have problems with
+lexical (C<my>) variables, lexical pragmata and abnormal exiting.
+
+=head2 Custom per-subroutine check hooks
+
+XS code in an extension module can now annotate a subroutine (whether
+implemented in XS or in Perl) so that nominated XS code will be called
+at compile time (specifically as part of op checking) to change the op
+tree of that subroutine. The compile-time check function (supplied by
+the extension module) can implement argument processing that can't be
+expressed as a prototype, generate customised compile-time warnings,
+perform constant folding for a pure function, inline a subroutine
+consisting of sufficiently simple ops, replace the whole call with a
+custom op, and so on. This was previously all possible by hooking the
+C<entersub> op checker, but the new mechanism makes it easy to tie the
+hook to a specific subroutine. See L<perlapi/cv_set_call_checker>.
+
+To help in writing custom check hooks, several subtasks within standard
+C<entersub> op checking have been separated out and exposed in the API.
+
+=head2 Return value of C<delete $+{...}>
+
+Custom regular expression engines can now determine the return value of
+C<delete> on an entry of C<%+> or C<%->.
+
+=head2 C<keys>, C<values> work on arrays
+
+You can now use the C<keys>, C<values>, C<each> builtin functions on arrays
+(previously you could only use them on hashes). See L<perlfunc> for details.
+This is actually a change introduced in perl 5.12.0, but it was missed from
+that release's perldelta.
+
+=head1 Incompatible Changes
+
+=head2 Stringification of regexes has changed
+
+Default regular expression modifiers are now notated by using
+C<(?^...)>. Code relying on the old stringification will fail. The
+purpose of this is so that when new modifiers are added, such code will
+not have to change (after this one time), as the stringification will
+automatically incorporate the new modifiers.
+
+Code that needs to work properly with both old- and new-style regexes
+can avoid the whole issue by using (for Perls since 5.9.5):
+
+ use re qw(regexp_pattern);
+ my ($pat, $mods) = regexp_pattern($re_ref);
+
+where C<$re_ref> is a reference to a compiled regular expression. Upon
+return, C<$mods> will be a string containing all the non-default
+modifiers used when the regular expression was compiled, and C<$pattern>
+the actual pattern.
+
+If the actual stringification is important, or older Perls need to be
+supported, you can use something like the following:
+
+ # Accept both old and new-style stringification
+ my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism';
+
+And then use C<$modifiers> instead of C<-xism>.
+
+=head2 Regular expressions retain their localeness when interpolated
+
+Regular expressions compiled under C<"use locale"> now retain this when
+interpolated into a new regular expression compiled outside a
+C<"use locale">, and vice-versa.
+
+Previously, a regular expression interpolated into another one inherited
+the localeness of the surrounding one, losing whatever state it
+originally had. This is considered a bug fix, but may trip up code that
+has come to rely on the incorrect behavior.
+
+=head2 Directory handles not copied to threads
+
+On systems that do not have a C<fchdir> function, newly-created threads no
+longer inherit directory handles from their parent threads. Such programs
+would probably have crashed anyway
+L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>.
+
+=head2 Negation treats strings differently from before
+
+The unary negation operator C<-> now treats strings that look like numbers
+as numbers
+L<[perl #57706]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=57706>.
+
+=head2 Negative zero
+
+Negative zero (-0.0), when converted to a string, now becomes "0" on all
+platforms. It used to become "-0" on some, but "0" on others.
+
+If you still need to determine whether a zero is negative, use
+C<sprintf("%g", $zero) =~ /^-/> or the L<Data::Float> module on CPAN.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+The bulk of the C<Tie::Hash::NamedCapture> module used to be in the perl
+core. It has now been moved to an XS module, to reduce the overhead for
+programs that do not use C<%+> or C<%->.
+
+=item *
+
+Eliminate C<PL_*> accessor functions under ithreads.
+
+When C<MULTIPLICITY> was first developed, and interpreter state moved into an
+interpreter struct, thread and interpreter local C<PL_*> variables were defined
+as macros that called accessor functions, returning the address of the value,
+outside of the perl core. The intent was to allow members within the interpreter
+struct to change size without breaking binary compatibility, so that bug fixes
+could be merged to a maintenance branch that necessitated such a size change.
+
+However, some non-core code defines C<PERL_CORE>, sometimes intentionally to
+bypass this mechanism for speed reasons, sometimes for other reasons but with
+the inadvertent side effect of bypassing this mechanism. As some of this code is
+widespread in production use, the result is that the core B<can't> change the
+size of members of the interpreter struct, as it will break such modules
+compiled against a previous release on that maintenance branch. The upshot is
+that this mechanism is redundant, and well-behaved code is penalised by
+it. Hence it can and should be removed.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<Archive::Extract> has been upgraded from version 0.42 to 0.44
+
+=item *
+
+C<Carp> has been upgraded from version 1.18 to 1.19.
+
+It no longer autovivifies the C<*CORE::GLOBAL::caller> glob, something it
+started doing in 1.18, which was released with perl 5.13.4
+L<[perl #78082]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78082>
+
+=item *
+
+C<Compress::Raw::Bzip2> has been upgraded from version 2.030 to 2.031
+
+Updated to use bzip2 1.0.6
+
+=item *
+
+C<CPAN> has been upgraded from version 1.94_57 to 1.94_61
+
+=item *
+
+C<Data::Dumper> has been upgraded from version 2.128 to 2.129.
+
+C<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
+L<[perl #72332]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72332>.
+
+=item *
+
+C<Digest::MD5> has been upgraded from version 2.40 to 2.51.
+
+It is now safe to use this module in combination with threads.
+
+=item *
+
+C<File::DosGlob> has been upgraded from version 1.02 to 1.03.
+
+It allows patterns containing literal parentheses (they no longer need to
+be escaped). On Windows, it no longer adds an extra F<./> to the file names
+returned when the pattern is a relative glob with a drive specification,
+like F<c:*.pl>
+L<[perl #71712]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71712>.
+
+=item *
+
+C<File::Find> has been upgraded from version 1.17 to 1.18.
+
+It improves handling of backslashes on Windows, so that paths such as
+F<c:\dir\/file> are no longer generated
+L<[perl #71710]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>.
+
+=item *
+
+C<if> has been upgraded from version 0.05 to 0.06
+
+=item *
+
+C<IPC::Cmd> has been upgraded from version 0.60 to 0.64
+
+=item *
+
+C<IPC::Open3> has been upgraded from version 1.06 to 1.07.
+
+The internal C<xclose> routine now knows how to handle file descriptors, as
+documented, so duplicating STDIN in a child process using its file
+descriptor now works
+L<[perl #76474]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>.
+
+=item *
+
+C<Locale::Codes> has been upgraded from version 3.13 to 3.14.
+
+=item *
+
+C<Locale::Maketext> has been upgraded from version 1.15 to 1.16.
+
+It fixes an infinite loop in C<Locale::Maketext::Guts::_compile()> when
+working with tainted values
+(L<CPAN RT #40727|https://rt.cpan.org/Public/Bug/Display.html?id=40727>).
+
+C<< ->maketext >> calls will now backup and restore C<$@> so that error
+messages are not suppressed
+(L<CPAN RT #34182|https://rt.cpan.org/Public/Bug/Display.html?id=34182>).
+
+=item *
+
+C<Math::BigInt> has been upgraded from version 1.95 to 1.97.
+
+This prevents C<sqrt($int)> from crashing under C<use bigrat;>
+L<[perl #73534]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73534>.
+
+=item *
+
+C<NEXT> has been upgraded from version 0.64 to 0.65.
+
+=item *
+
+C<overload> has been upgraded from version 1.10 to 1.11.
+
+C<overload::Method> can now handle subroutines that are themselves blessed
+into overloaded classes
+L<[perl #71998]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71998>.
+
+=item *
+
+C<PathTools> has been upgraded from version 3.31_01 to 3.34.
+
+=item *
+
+C<podlators> has been upgraded from version 2.3.1 to 2.4.0
+
+=item *
+
+C<sigtrap> has been upgraded from version 1.04 to 1.05.
+
+It no longer tries to modify read-only arguments when generating a
+backtrace
+L<[perl #72340]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72340>.
+
+=item *
+
+C<threads> has been upgraded from version 1.77_03 to 1.81_01.
+
+=item *
+
+C<threads::shared> has been upgrade from version 1.33_03 to 1.34
+
+=item *
+
+C<Unicode::Collate> has been upgraded from version 0.59 to 0.63
+
+U::C::Locale newly supports locales: ar, be, bg, de__phonebook, hu, hy, kk, mk, nso, om,
+tn, vi, hr, ig, ru, sq, se, sr, to and uk
+
+=item *
+
+C<Unicode::Normalize> has been upgraded from version 1.06 to 1.07
+
+=item *
+
+C<B::Deparse> has been upgraded from version 0.98 to 0.99
+
+B::Deparse now properly handles the code that applies a conditional
+pattern match against implicit C<$_> as it was fixed in
+L<[perl #20444]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=20444>.
+
+=item *
+
+C<GDBM_File> has been upgraded from version 1.10 to 1.11
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlapi>
+
+=over 4
+
+=item *
+
+The documentation for the C<SvTRUE> macro was simply wrong in stating that
+get-magic is not processed. It has been corrected.
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+The 'Layer does not match this perl' error message has been replaced with
+these more helpful messages:
+
+=over 4
+
+=item *
+
+PerlIO layer function table size (%d) does not match size expected by this
+perl (%d)
+
+=item *
+
+PerlIO layer instance size (%d) does not match size expected by this perl
+(%d)
+
+=back
+
+L<[perl #73754]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73754>
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+The script F<t/op/threads-dirh.t> has been added, which tests interaction
+of threads and directory handles.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item IRIX
+
+Conversion of strings to floating-point numbers is now more accurate on
+IRIX systems
+L<[perl #32380]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=32380>.
+
+=item Mac OS X
+
+Early versions of Mac OS X (Darwin) had buggy implementations of the
+C<setregid>, C<setreuid>, C<setrgid> and C<setruid> functions, so perl
+would pretend they did not exist.
+
+These functions are now recognised on Mac OS 10.5 (Leopard; Darwin 9) and
+higher, as they have been fixed
+L<[perl #72990]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72990>.
+
+=item OpenVOS
+
+perl now builds again with OpenVOS (formerly known as Stratus VOS)
+L<[perl #78132]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78132>.
+
+=item VMS
+
+The shortening of symbols longer than 31 characters in the C sources is
+now done by the compiler rather than by xsubpp (which could only do so
+for generated symbols in XS code).
+
+=item Windows
+
+C<$Config{gccversion}> is now set correctly when perl is built using the
+mingw64 compiler from L<http://mingw64.org>
+L<[perl #73754]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73754>.
+
+The build process proceeds more smoothly with mingw and dmake when
+F<C:\MSYS\bin> is in the PATH, due to a C<Cwd> fix.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+See L</Regular expressions retain their localeness when interpolated>,
+above.
+
+=item *
+
+The C<sv_cmp_flags>, C<sv_cmp_locale_flags>, C<sv_eq_flags> and
+C<sv_collxfrm_flags> functions have been added. These are like their
+non-_flags counterparts, but allow one to specify whether get-magic is
+processed.
+
+The C<sv_cmp>, C<sv_cmp_locale>, C<sv_eq> and C<sv_collxfrm> functions have
+been replaced with wrappers around the new functions.
+
+=item *
+
+A new C<sv_2bool_flags> function has been added.
+
+This is like C<sv_2bool>, but it lets the calling code decide whether
+get-magic is handled. C<sv_2bool> is now a macro that calls the new
+function.
+
+=item *
+
+A new macro, C<SvTRUE_nomg>, has been added.
+
+This is like C<SvTRUE>, except that it does not process magic. It uses the
+new C<sv_2bool_flags> function.
+
+=item *
+
+C<sv_catsv_flags> no longer calls C<mg_get> on its second argument (the
+source string) if the flags passed to it do not include SV_GMAGIC. So it
+now matches the documentation.
+
+=item *
+
+A new interface has been added for custom check hooks on subroutines. See
+L</Custom per-subroutine check hooks>, above.
+
+=item *
+
+List op building functions have been added to the
+API. See L<op_append_elem|perlapi/op_append_elem>,
+L<op_append_list|perlapi/op_append_list>, and
+L<op_prepend_elem|perlapi/op_prepend_elem>.
+
+=item *
+
+The L<LINKLIST|perlapi/LINKLIST> macro, part of op building that
+constructs the execution-order op chain, has been added to the API.
+
+=item *
+
+Many functions ending with pvn now have equivalent pv/pvs/sv versions.
+
+=item *
+
+The C<save_freeop>, C<save_op>, C<save_pushi32ptr> and C<save_pushptrptr>
+functions have been added to the API.
+
+=item *
+
+The new API function C<parse_stmtseq()> parses a sequence of statements, up
+to closing brace or EOF.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+A regular expression match in the right-hand side of a global substitution
+(C<s///g>) that is in the same scope will no longer cause match variables
+to have the wrong values on subsequent iterations. This can happen when an
+array or hash subscript is interpolated in the right-hand side, as in
+C<s|(.)|@a{ print($1), /./ }|g>
+L<[perl #19078]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=19078>.
+
+=item *
+
+Constant-folding used to cause
+
+ $text =~ ( 1 ? /phoo/ : /bear/)
+
+to turn into
+
+ $text =~ /phoo/
+
+at compile time. Now it correctly matches against C<$_>
+L<[perl #20444]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=20444>.
+
+=item *
+
+Parsing Perl code (either with string C<eval> or by loading modules) from
+within a C<UNITCHECK> block no longer causes the interpreter to crash
+L<[perl #70614]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=70614>.
+
+=item *
+
+When C<-d> is used on the shebang (C<#!>) line, the debugger now has access
+to the lines of the main program. In the past, this sometimes worked and
+sometimes did not, depending on what order things happened to be arranged
+in memory
+L<[perl #71806]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71806>.
+
+=item *
+
+The C<y///> or C<tr///> operator now calls get-magic (e.g., the C<FETCH>
+method of a tie) on its left-hand side just once, not twice
+L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
+
+=item *
+
+String comparison (C<eq>, C<ne>, C<lt>, C<gt>, C<le>, C<ge> and
+C<cmp>) and logical not (C<not> and C<!>) operators no longer call magic
+(e.g., tie methods) twice on their operands
+L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
+
+This bug was introduced in an earlier 5.13 release, and does not affect
+perl 5.12.
+
+=item *
+
+When a tied (or other magic) variable is used as, or in, a regular
+expression, it no longer has its C<FETCH> method called twice
+L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
+
+This bug was introduced in an earlier 5.13 release, and does not affect
+perl 5.12.
+
+=item *
+
+The C<-C> command line option can now be followed by other options
+L<[perl #72434]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72434>.
+
+=item *
+
+Assigning a glob to a PVLV used to convert it to a plain string. Now it
+works correctly, and a PVLV can hold a glob. This would happen when a
+nonexistent hash or array element was passed to a subroutine:
+
+ sub { $_[0] = *foo }->($hash{key});
+ # $_[0] would have been the string "*main::foo"
+
+It also happened when a glob was assigned to, or returned from, an element
+of a tied array or hash
+L<[perl #36051]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=36051>.
+
+=item *
+
+Creating a new thread when directory handles were open used to cause a
+crash, because the handles were not cloned, but simply passed to the new
+thread, resulting in a double free.
+
+Now directory handles are cloned properly, on systems that have a C<fchdir>
+function. On other systems, new threads simply do not inherit directory
+handles from their parent threads
+L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>.
+
+=item *
+
+The regular expression parser no longer hangs when parsing C<\18> and
+C<\88>.
+
+This bug was introduced in version 5.13.5 and did not affect earlier
+versions
+L<[perl #78058]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78058>.
+
+=item *
+
+Subroutine redefinition works once more in the debugger
+L<[perl #48332]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=48332>.
+
+=item *
+
+The C<&> C<|> C<^> bitwise operators no longer coerce read-only arguments
+L<[perl #20661]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=20661>.
+
+=item *
+
+Stringifying a scalar containing -0.0 no longer has the affect of turning
+false into true
+L<[perl #45133]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=45133>.
+
+=item *
+
+Aliasing packages by assigning to globs or deleting packages by deleting
+their containing stash elements used to have erratic effects on method
+resolution, because the internal 'isa' caches were not reset. This has been
+fixed.
+
+=item *
+
+C<sort> with a custom sort routine could crash if too many nested
+subroutine calls occurred from within the sort routine
+L<[perl #77930]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77930>.
+
+This bug was introduced in an earlier 5.13 release, and did not affect
+perl 5.12.
+
+=item *
+
+The C<eval_sv> and C<eval_pv> C functions now set C<$@> correctly when
+there is a syntax error and no C<G_KEEPERR> flag, and never set it if the
+C<G_KEEPERR> flag is present
+L<[perl #3719]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=3719>.
+
+=item *
+
+Nested C<map> and C<grep> blocks no longer leak memory when processing
+large lists
+L<[perl #48004]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=48004>.
+
+=item *
+
+Malformed C<version> objects no longer cause crashes
+L<[perl #78286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78286>.
+
+=item *
+
+The interpreter no longer crashes when freeing deeply-nested arrays of
+arrays. Hashes have not been fixed yet
+L<[perl #44225]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=44225>.
+
+=item *
+
+The mechanism for freeing objects in globs used to leave dangling
+pointers to freed SVs, meaning Perl users could see corrupted state
+during destruction.
+
+Perl now only frees the affected slots of the GV, rather than freeing
+the GV itself. This makes sure that there are no dangling refs or
+corrupted state during destruction.
+
+=item *
+
+The typeglob C<*,>, which holds the scalar variable C<$,> (output field
+separator), had the wrong reference count in child threads.
+
+=item *
+
+C<splice> now calls set-magic. This means that, for instance, changes made
+by C<splice @ISA> are respected by method calls
+L<[perl #78400]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78400>.
+
+=item *
+
+C<use v5.8> no longer leaks memory
+L<[perl #78436]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78436>.
+
+=item *
+
+The XS multicall API no longer causes subroutines to lose reference counts
+if called via the multicall interface from within those very subroutines.
+This affects modules like List::Util. Calling one of its functions with an
+active subroutine as the first argument could cause a crash
+L<[perl #78070]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78070>.
+
+=back
+
+=head1 Errata
+
+=over 4
+
+=item *
+
+Fixed a typo in L<perl5135delta> regarding array slices and smart matching
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.6 represents approximately one month of development since Perl
+5.13.5 and contains 67920 lines of changes across 566 files from 47 authors
+and committers:
+
+A. Sinan Unur, Aaron Crane, Alex Davies, Ali Polatel, Allen Smith, Andrew Rodland,
+Andy Dougherty, Ben Morrow, brian d foy, Casey West, Chip Salzenberg, Chris
+'BinGOs' Williams, Craig A. Berry, David Golden, David Mitchell, Eric Brine,
+Father Chrysostomos, Florian Ragwitz, George Greer, gregor herrmann, Jan Dubois,
+Jerry D. Hedden, Jesse Vincent, Joshua Pritikin, Karl Williamson, kmx, Michael
+G Schwern, Mike Kelly, Nicholas Clark, Paul Green, Rafael Garcia-Suarez, Renee
+Baecker, Ricardo Signes, Sisyphus, Slaven Rezic, Steffen Müller, Steve Hay,
+Sullivan Beck, Tatsuhiko Miyagawa, Todd Rinaldo, Tony Cook, Tye McQueen, Vernon
+Lyon, Walt Mankowski, Zefram, Zsbán Ambrus, Ævar Arnfjörð Bjarmason.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
new file mode 100644
index 00000000000..0a65b4365a9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
@@ -0,0 +1,945 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5137delta - what is new for perl v5.13.7
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.6 release and
+the 5.13.7 release.
+
+If you are upgrading from an earlier release such as 5.13.5, first read
+L<perl5136delta>, which describes differences between 5.13.5 and
+5.13.6.
+
+=head1 Core Enhancements
+
+=head2 Single term prototype
+
+The C<+> prototype is a special alternative to C<$> that will act like
+C<\[@%]> when given a literal array or hash variable, but will otherwise
+force scalar context on the argument. This is useful for functions which
+should accept either a literal array or an array reference as the argument:
+
+ sub smartpush (+@) {
+ my $aref = shift;
+ die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
+ push @$aref, @_;
+ }
+
+When using the C<+> prototype, your function must check that the argument
+is of an acceptable type.
+
+=head2 C<use re '/flags';>
+
+The C<re> pragma now has the ability to turn on regular expression flags
+till the end of the lexical scope:
+
+ use re '/x';
+ "foo" =~ / (.+) /; # /x implied
+
+See L<re/"'/flags' mode"> for details.
+
+=head2 Statement labels can appear in more places
+
+Statement labels can now occur before any type of statement or declaration,
+such as C<package>.
+
+=head2 C<use feature "unicode_strings"> now applies to more regex matching
+
+Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
+release. Now, regular expressions compiled within the scope of the
+"unicode_strings" feature (or under the "u" regex modifier (specifiable
+currently only with infix notation C<(?u:...)> or via C<use re '/u'>)
+will match the same whether or not the target string is encoded in utf8,
+with regard to C<[[:posix:]]> character classes
+
+Work is underway to add the case sensitive matching to the control of
+this feature, but was not complete in time for this dot release.
+
+=head2 Array and hash container functions accept references
+
+All built-in functions that operate directly on array or hash
+containers now also accept hard references to arrays or hashes:
+
+ |----------------------------+---------------------------|
+ | Traditional syntax | Terse syntax |
+ |----------------------------+---------------------------|
+ | push @$arrayref, @stuff | push $arrayref, @stuff |
+ | unshift @$arrayref, @stuff | unshift $arrayref, @stuff |
+ | pop @$arrayref | pop $arrayref |
+ | shift @$arrayref | shift $arrayref |
+ | splice @$arrayref, 0, 2 | splice $arrayref, 0, 2 |
+ | keys %$hashref | keys $hashref |
+ | keys @$arrayref | keys $arrayref |
+ | values %$hashref | values $hashref |
+ | values @$arrayref | values $arrayref |
+ | ($k,$v) = each %$hashref | ($k,$v) = each $hashref |
+ | ($k,$v) = each @$arrayref | ($k,$v) = each $arrayref |
+ |----------------------------+---------------------------|
+
+This allows these built-in functions to act on long dereferencing chains
+or on the return value of subroutines without needing to wrap them in
+C<@{}> or C<%{}>:
+
+ push @{$obj->tags}, $new_tag; # old way
+ push $obj->tags, $new_tag; # new way
+
+ for ( keys %{$hoh->{genres}{artists}} ) {...} # old way
+ for ( keys $hoh->{genres}{artists} ) {...} # new way
+
+For C<push>, C<unshift> and C<splice>, the reference will auto-vivify
+if it is not defined, just as if it were wrapped with C<@{}>.
+
+Calling C<keys> or C<values> directly on a reference gives a substantial
+performance improvement over explicit dereferencing.
+
+For C<keys>, C<values>, C<each>, when overloaded dereferencing is
+present, the overloaded dereference is used instead of dereferencing the
+underlying reftype. Warnings are issued about assumptions made in the
+following three ambiguous cases:
+
+ (a) If both %{} and @{} overloading exists, %{} is used
+ (b) If %{} overloading exists on a blessed arrayref, %{} is used
+ (c) If @{} overloading exists on a blessed hashref, @{} is used
+
+=head2 y///r
+
+The C</r> flag, which was added to C<s///> in 5.13.2, has been extended to
+the C<y///> operator.
+
+It causes it to perform the substitution on a I<copy> of its operand,
+returning that copy instead of a character count.
+
+=head2 New global variable C<${^GLOBAL_PHASE}>
+
+A new global variable, C<${^GLOBAL_PHASE}>, has been added to allow
+introspection of the current phase of the perl interpreter. It's explained in
+detail in L<perlvar/"${^GLOBAL_PHASE}"> and
+L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+
+=head2 Unicode Version 6.0 is now supported (mostly)
+
+Perl comes with the Unicode 6.0 data base updated with
+L<Corrigendum #8|http://www.unicode.org/versions/corrigendum8.html>,
+with one exception noted below.
+See L<http://unicode.org/versions/Unicode6.0.0> for details on the new
+release. Perl does not support any Unicode provisional properties,
+including the new ones for this release, but their database files are
+packaged with Perl.
+
+Unicode 6.0 has chosen to use the name C<BELL> for the character at U+1F514,
+which is a symbol that looks like a bell, and used in Japanese cell
+phones. This conflicts with the long-standing Perl usage of having
+C<BELL> mean the ASCII C<BEL> character, U+0007. In Perl 5.14,
+C<\N{BELL}> will continue to mean U+0007, but its use will generate a
+deprecated warning message, unless such warnings are turned off. The
+new name for U+0007 in Perl will be C<ALERT>, which corresponds nicely
+with the existing shorthand sequence for it, C<"\a">. C<\N{BEL}> will
+mean U+0007, with no warning given. The character at U+1F514 will not
+have a name in 5.14, but can be referred to by C<\N{U+1F514}>. The plan
+is that in Perl 5.16, C<\N{BELL}> will refer to U+1F514, and so all code
+that uses C<\N{BELL}> should convert by then to using C<\N{ALERT}>,
+C<\N{BEL}>, or C<"\a"> instead.
+
+=head2 Improved support for custom OPs
+
+Custom ops can now be registered with the new C<custom_op_register> C
+function and the C<XOP> structure. This will make it easier to add new
+properties of custom ops in the future. Two new properties have been added
+already, C<xop_class> and C<xop_peep>.
+
+C<xop_class> is one of the OA_*OP constants, and allows L<B> and other
+introspection mechanisms to work with custom ops that aren't BASEOPs.
+C<xop_peep> is a pointer to a function that will be called for ops of this
+type from C<Perl_rpeep>.
+
+See L<perlguts/Custom Operators> and L<perlapi/Custom Operators> for more
+detail.
+
+The old C<PL_custom_op_names>/C<PL_custom_op_descs> interface is still
+supported but discouraged.
+
+=head1 Incompatible Changes
+
+=head2 Dereferencing typeglobs
+
+If you assign a typeglob to a scalar variable:
+
+ $glob = *foo;
+
+the glob that is copied to C<$glob> is marked with a special flag
+indicating that the glob is just a copy. This allows subsequent assignments
+to C<$glob> to overwrite the glob. The original glob, however, is
+immutable.
+
+Many Perl operators did not distinguish between these two types of globs.
+This would result in strange behaviour in edge cases: C<untie $scalar>
+would do nothing if the last thing assigned to the scalar was a glob
+(because it treated it as C<untie *$scalar>, which unties a handle).
+Assignment to a glob slot (e.g., C<(*$glob) = \@some_array>) would simply
+assign C<\@some_array> to C<$glob>.
+
+To fix this, the C<*{}> operator (including the C<*foo> and C<*$foo> forms)
+has been modified to make a new immutable glob if its operand is a glob
+copy. Various operators that make a distinction between globs and scalars
+have been modified to treat only immutable globs as globs.
+
+This causes an incompatible change in code that assigns a glob to the
+return value of C<*{}> when that operator was passed a glob copy. Take the
+following code, for instance:
+
+ $glob = *foo;
+ *$glob = *bar;
+
+The C<*$glob> on the second line returns a new immutable glob. That new
+glob is made an alias to C<*bar>. Then it is discarded. So the second
+assignment has no effect.
+
+It also means that C<tie $handle> will now tie C<$handle> as a scalar, even
+if it has had a glob assigned to it.
+
+The upside to this incompatible change is that bugs
+L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
+L<[perl #77502]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77502>,
+L<[perl #77508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77508>,
+L<[perl #77688]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77688>,
+and
+L<[perl #77812]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77812>,
+and maybe others, too, have been fixed.
+
+See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
+more detail.
+
+=head2 Clearing stashes
+
+Stash list assignment C<%foo:: = ()> used to make the stash anonymous
+temporarily while it was being emptied. Consequently, any of its
+subroutines referenced elsewhere would become anonymous (showing up as
+"(unknown)" in C<caller>). Now they retain their package names, such that
+C<caller> will return the original sub name if there is still a reference
+to its typeglob, or "foo::__ANON__" otherwise
+L<[perl #79208]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79208>.
+
+=head1 Deprecations
+
+=head2 C<\N{BELL}> is deprecated
+
+This is because Unicode is using that name for a different character.
+See L</Unicode Version 6.0 is now supported (mostly)> for more
+explanation.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+When an object has many weak references to it, freeing that object
+can under some some circumstances take O(N^2) time to free (where N is the
+number of references). The number of circumstances has been reduced.
+L<[perl #75254]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75254>.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+The following modules were added by the C<Unicode::Collate>
+upgrade from 0.63 to 0.67. See below for details.
+
+C<Unicode::Collate::CJK::Big5>
+
+C<Unicode::Collate::CJK::GB2312>
+
+C<Unicode::Collate::CJK::JISX0208>
+
+C<Unicode::Collate::CJK::Korean>
+
+C<Unicode::Collate::CJK::Pinyin>
+
+C<Unicode::Collate::CJK::Stroke>
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<Archive::Extract> has been upgraded from 0.44 to 0.46
+
+Resolves an issue with NetBSD-current and its new unzip
+executable.
+
+=item *
+
+C<Archive::Tar> has been upgraded from 1.68 to 1.72
+
+This adds the ptargrep utility for using regular expressions against
+the contents of files in a tar archive.
+
+=item *
+
+C<B> has been upgraded from 1.24 to 1.26.
+
+It no longer crashes when taking apart a C<y///> containing characters
+outside the octet range or compiled in a C<use utf8> scope.
+
+The size of the shared object has been reduced by about 40%, with no
+reduction in functionality.
+
+=item *
+
+C<B::Deparse> has been upgraded from 0.99 to 1.01.
+
+It fixes deparsing of C<our> followed by a variable with funny characters
+(as permitted under the C<utf8> pragma)
+L<[perl #33752]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=33752>.
+
+=item *
+
+C<CGI> has been upgraded from 3.49 to 3.50
+
+This provides the following security fixes: the MIME boundary in
+multipart_init is now random and improvements to the handling of
+newlines embedded in header values.
+
+The documentation for param_fetch() has been corrected and clarified.
+
+=item *
+
+C<CPAN> has been upgraded from 1.94_61 to 1.94_62
+
+=item *
+
+C<CPANPLUS> has been upgraded from 0.9007 to 0.9010
+
+Fixes for the SQLite source engine and resolving of issues with the
+testsuite when run under local::lib and/or cpanminus
+
+=item *
+
+C<CPANPLUS::Dist::Build> has been upgraded from 0.48 to 0.50
+
+=item *
+
+C<Data::Dumper> has been upgraded from 2.129 to 2.130_01.
+
+=item *
+
+C<DynaLoader> has been upgraded from 1.10 to 1.11.
+
+It fixes a buffer overflow when passed a very long file name.
+
+=item *
+
+C<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
+
+The C<AUTOLOAD> helper code generated by C<ExtUtils::Constant::ProxySubs>
+can now C<croak> for missing constants, or generate a complete C<AUTOLOAD>
+subroutine in XS, allowing simplification of many modules that use it.
+(C<Fcntl>, C<File::Glob>, C<GDBM_File>, C<I18N::Langinfo>, C<POSIX>, C<Socket>)
+
+C<ExtUtils::Constant::ProxySubs> can now optionally push the names of all
+constants onto the package's C{@EXPORT_OK}. This has been used to replace
+less space-efficient code in C<B>, helping considerably shrink the size of its
+shared object.
+
+=item *
+
+C<Fcntl> has been upgraded from 1.09 to 1.10.
+
+=item *
+
+C<File::Fetch> has been upgraded from 0.24 to 0.28
+
+C<HTTP::Lite> is now supported for 'http' scheme.
+
+The C<fetch> utility is supported on FreeBSD, NetBSD and
+Dragonfly BSD for the C<http> and C<ftp> schemes.
+
+=item *
+
+C<File::Glob> has been upgraded from 1.09 to 1.10.
+
+=item *
+
+C<File::stat> has been upgraded from 1.03 to 1.04.
+
+The C<-x> and C<-X> file test operators now work correctly under the root
+user.
+
+=item *
+
+C<GDBM_File> has been upgraded from 1.11 to 1.12.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+C<Hash::Util> has been upgraded from 0.09 to 0.10.
+
+=item *
+
+C<Hash::Util::FieldHash> has been upgraded from 1.05 to 1.06.
+
+=item *
+
+C<I18N::Langinfo> has been upgraded from 0.06 to 0.07.
+
+=item *
+
+C<Locale::Maketext> has been upgraded from 1.16 to 1.17.
+
+=item *
+
+C<Math::BigInt> has been upgraded from 1.97 to 1.99_01.
+
+=item *
+
+C<Math::BigRat> has been upgraded from 0.26 to 0.26_01
+
+=item *
+
+C<Math::BigInt::FastCalc> has been upgraded from 0.22 to 0.24_01.
+
+=item *
+
+C<MIME::Base64> has been upgraded from 3.09 to 3.10
+
+Includes new functions to calculate the length of encoded and decoded
+base64 strings.
+
+=item *
+
+C<mro> has been upgraded from 1.04 to 1.05.
+
+=item *
+
+C<NDBM_File> has been upgraded from 1.09 to 1.10.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+C<ODBM_File> has been upgraded from 1.08 to 1.09.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+C<Opcode> has been upgraded from 1.16 to 1.17.
+
+=item *
+
+C<parent> has been upgraded from 0.223 to 0.224
+
+=item *
+
+C<Pod::Simple> has been upgraded from 3.14 to 3.15
+
+Includes various fixes to C<HTML> and C<XHTML> handling.
+
+=item *
+
+C<POSIX> has been upgraded from 1.21 to 1.22.
+
+=item *
+
+C<re> has been upgraded from 0.13 to 0.14, for the sake of the new
+C<use re "/flags"> pragma.
+
+=item *
+
+C<Safe> has been upgraded from 2.28 to 2.29.
+
+It adds C<&version::vxs::VCMP> to the default share.
+
+=item *
+
+C<SDBM_File> has been upgraded from 1.07 to 1.08.
+
+=item *
+
+C<SelfLoader> has been upgraded from 1.17 to 1.18.
+
+It now works in taint mode
+L<[perl #72062]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72062>.
+
+=item *
+
+C<Socket> has been upgraded from 1.90 to 1.91.
+
+=item *
+
+C<Storable> has been upgraded from 2.22 to 2.24
+
+Includes performance improvement for overloaded classes.
+
+=item *
+
+C<Sys::Hostname> has been upgraded from 1.13 to 1.14.
+
+=item *
+
+C<Unicode::Collate> has been upgraded from 0.63 to 0.67
+
+This release newly adds locales C<ja> C<ko> and C<zh> and its variants
+( C<zh__big5han>, C<zh__gb2312han>, C<zh__pinyin>, C<zh__stroke> ).
+
+Supported UCA_Version 22 for Unicode 6.0.0.
+
+The following modules have been added:
+
+C<Unicode::Collate::CJK::Big5> for C<zh__big5han> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's big5han ordering.
+
+C<Unicode::Collate::CJK::GB2312> for C<zh__gb2312han> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's gb2312han ordering.
+
+C<Unicode::Collate::CJK::JISX0208> which makes tailoring of 6355 kanji
+(CJK Unified Ideographs) in the JIS X 0208 order.
+
+C<Unicode::Collate::CJK::Korean> which makes tailoring of CJK Unified Ideographs
+in the order of CLDR's Korean ordering.
+
+C<Unicode::Collate::CJK::Pinyin> for C<zh__pinyin> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's pinyin ordering.
+
+C<Unicode::Collate::CJK::Stroke> for C<zh__stroke> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's stroke ordering.
+
+=back
+
+=head1 Documentation
+
+L<perlvar> reorders the variables and groups them by topic. Each variable
+introduced after Perl 5.000 notes the first version in which it is
+available. L<perlvar> also has a new section for deprecated variables to
+note when they were removed.
+
+=head2 New Documentation
+
+=head3 L<perlpodstyle>
+
+New style guide for POD documentation,
+split mostly from the NOTES section of the pod2man man page.
+
+( This was added to C<v5.13.6> but was not documented with that release ).
+
+=head2 Changes to Existing Documentation
+
+=over
+
+=item *
+
+Array and hash slices in scalar context are now documented in L<perldata>.
+
+=item *
+
+L<perlform> and L<perllocale> have been corrected to state that
+C<use locale> affects formats.
+
+=back
+
+=head1 Diagnostics
+
+=head2 New Diagnostics
+
+=over 4
+
+=item *
+
+"Using !~ with %s doesn't make sense": This message was actually added in
+5.13.2, but was omitted from perldelta. It now applies also to the C<y///>
+operator, and has been documented.
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<ptargrep>
+
+=over 4
+
+=item *
+
+L<ptargrep> is a utility to apply pattern matching to the contents of files
+in a tar archive. It comes with C<Archive::Tar>.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+The new F<t/mro/isa_aliases.t> has been added, which tests that
+C<*Foo::ISA = *Bar::ISA> works properly.
+
+=item *
+
+F<t/mro/isarev.t> has been added, which tests that C<PL_isarev> (accessible
+at the Perl level via C<mro::get_isarev>) is updated properly.
+
+=item *
+
+F<t/run/switchd-78586.t> has been added, which tests that
+L<[perl #78586]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78586>
+has been fixed (related to line numbers in the debugger).
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Windows
+
+Directory handles are now properly cloned when threads are created. In perl
+5.13.6, child threads simply stopped inheriting directory handles. In
+previous versions, threads would share handles, resulting in crashes.
+
+Support for building with Visual C++ 2010 is now underway, but is not yet
+complete. See F<README.win32> for more details.
+
+=item VMS
+
+Record-oriented files (record format variable or variable with fixed control)
+opened for write by the perlio layer will now be line buffered to prevent the
+introduction of spurious line breaks whenever the perlio buffer fills up.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+C<lex_start> has been added to the API, but is considered experimental.
+
+=item *
+
+A new C<parse_block> function has been added to the API
+L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
+
+=item *
+
+A new, experimental API has been added for accessing the internal
+structure that Perl uses for C<%^H>. See the functions beginning with
+C<cophh_> in L<perlapi>.
+
+=item *
+
+A stash can now have a list of effective names in addition to its usual
+name. The first effective name can be accessed via the C<HvENAME> macro,
+which is now the recommended name to use in MRO linearisations (C<HvNAME>
+being a fallback if there is no C<HvENAME>).
+
+These names are added and deleted via C<hv_ename_add> and
+C<hv_ename_delete>. These two functions are I<not> part of the API.
+
+=item *
+
+The way the parser handles labels has been cleaned up and refactored. As a
+result, the C<newFOROP()> constructor function no longer takes a parameter
+stating what label is to go in the state op.
+
+=item *
+
+The C<newWHILEOP()> and C<newFOROP()> functions no longer accept a line
+number as a parameter.
+
+=item *
+
+A new C<parse_barestmt()> function has been added, for parsing a statement
+without a label.
+
+=item *
+
+A new C<parse_label()> function has been added, that parses a statement
+label, separate from statements.
+
+=item *
+
+The C<CvSTASH()> macro can now only be used as an rvalue. C<CvSTASH_set()>
+has been added to replace assignment to C<CvSTASH()>. This is to ensure
+that backreferences are handled properly. These macros are not part of the
+API.
+
+=item *
+
+The C<op_scope()> and C<op_lvalue()> functions have been added to the API,
+but are considered experimental.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+The C<parse_stmt> C function added in earlier in the 5.13.x series has been
+fixed to work with statements ending with C<}>
+L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
+
+=item *
+
+The C<parse_fullstmt> C function added in 5.13.5 has been fixed to work
+when called while an expression is being parsed.
+
+=item *
+
+Characters in the Latin-1 non-ASCII range (0x80 to 0xFF) used not to match
+themselves if the string happened to be UTF8-encoded internally, the
+regular expression was not, and the character in the regular expression was
+inside a repeated group (e.g.,
+C<Encode::decode_utf8("\303\200") =~ /(\xc0)+/>)
+L<[perl #78464]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78464>.
+
+=item *
+
+The C<(?d)> regular expression construct now overrides a previous C<(?u)>
+or C<use feature "unicode_string">
+L<[perl #78508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78508>.
+
+=item *
+
+A memory leak in C<do "file">, introduced in perl 5.13.6, has been fixed
+L<[perl #78488]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78488>.
+
+=item *
+
+Various bugs related to typeglob dereferencing have been fixed. See
+L</Dereferencing typeglobs>, above.
+
+=item *
+
+The C<SvPVbyte> function available to XS modules now calls magic before
+downgrading the SV, to avoid warnings about wide characters
+L<[perl #72398]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72398>.
+
+=item *
+
+The C<=> operator used to ignore magic (e.g., tie methods) on its
+right-hand side if the scalar happened to hold a typeglob. This could
+happen if a typeglob was the last thing returned from or assigned to a tied
+scalar
+L<[perl #77498]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77498>.
+
+=item *
+
+C<sprintf> was ignoring locales when called with constant arguments
+L<[perl #78632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78632>.
+
+=item *
+
+A non-ASCII character in the Latin-1 range could match both a Posix
+class, such as C<[[:alnum:]]>, and its inverse C<[[:^alnum:]]>. This is
+now fixed for regular expressions compiled under the C<"u"> modifier.
+See L</C<use feature "unicode_strings"> now applies to more regex matching>.
+L<[perl #18281]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=18281>.
+
+=item *
+
+Concatenating long strings under C<use encoding> no longer causes perl to
+crash
+L<[perl #78674]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78674>.
+
+=item *
+
+Typeglob assignments would crash if the glob's stash no longer existed, so
+long as the glob assigned to was named 'ISA' or the glob on either side of
+the assignment contained a subroutine.
+
+=item *
+
+Calling C<< ->import >> on a class lacking an import method could corrupt
+the stack, resulting in strange behaviour. For instance,
+
+ push @a, "foo", $b = bar->import;
+
+would assign 'foo' to C<$b>
+L<[perl #63790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63790>.
+
+=item *
+
+Creating an alias to a package when that package had been detached from the
+symbol table would result in corrupted isa caches
+L<[perl #77358]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77358>.
+
+=item *
+
+C<.=> followed by C<< <> >> or C<readline> would leak memory if C<$/>
+contained characters beyond the octet range and the scalar assigned to
+happened to be encoded as UTF8 internally
+L<[perl #72246]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72246>.
+
+=item *
+
+The C<recv> function could crash when called with the MSG_TRUNC flag
+L<[perl #75082]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75082>.
+
+=item *
+
+Evaluating a simple glob (like C<*a>) was calling get-magic on the glob,
+even when its contents were not being used
+L<[perl #78580]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78580>.
+
+This bug was introduced in 5.13.2 and did not affect earlier perl versions.
+
+=item *
+
+Matching a Unicode character against an alternation containing characters
+that happened to match continuation bytes in the former's UTF8
+representation (C<qq{\x{30ab}} =~ /\xab|\xa9/>) would cause erroneous
+warnings
+L<[perl #70998]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=70998>.
+
+=item *
+
+C<s///r> (added in 5.13.2) no longer leaks.
+
+=item *
+
+The trie optimisation was not taking empty groups into account, preventing
+'foo' from matching C</\A(?:(?:)foo|bar|zot)\z/>
+L<[perl #78356]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78356>.
+
+=item *
+
+A pattern containing a C<+> inside a lookahead would sometimes cause an
+incorrect match failure in a global match (e.g., C</(?=(\S+))/g>)
+L<[perl #68564]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68564>.
+
+=item *
+
+Iterating with C<foreach> over an array returned by an lvalue sub now works
+L<[perl #23790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=23790>.
+
+=item *
+
+C<$@> is now localised during calls to C<binmode> to prevent action at a
+distance
+L<[perl #78844]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78844>.
+
+=item *
+
+C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
+updated properly when packages are deleted or removed from the C<@ISA> of
+other classes. This allows many packages to be created and deleted without
+causing a memory leak
+L<[perl #75176]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75176>.
+
+=item *
+
+C<undef *Foo::> and C<undef *Foo::ISA> and C<delete $package::{ISA}>
+used not to update the internal isa caches if the
+stash or C<@ISA> array had a reference elsewhere. In
+fact, C<undef *Foo::ISA> would stop a new C<@Foo::ISA> array from updating
+caches.
+
+=item *
+
+C<@ISA> arrays can now be shared between classes via
+C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>
+L<[perl #77238]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77238>.
+
+=item *
+
+The parser no longer hangs when encountering certain Unicode characters,
+such as U+387
+L<[perl #74022]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=74022>.
+
+=item *
+
+C<formline> no longer crashes when passed a tainted format picture. It also
+taints C<$^A> now if its arguments are tainted
+L<[perl #79138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79138>.
+
+=item *
+
+A signal handler called within a signal handler could cause leaks or
+double-frees. Now fixed.
+L<[perl #76248]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76248>.
+
+=item *
+
+When trying to report C<Use of uninitialized value $Foo::BAR>, crashes could
+occur if the GLOB of the global variable causing the warning has been detached
+from its original stash by, for example C<delete $::{'Foo::'}>. This has been
+fixed by disabling the reporting of variable names in the warning in those
+cases.
+
+=back
+
+=head1 Obituary
+
+Randy Kobes, creator of the kobesearch alternative to search.cpan.org and
+contributor/maintainer to several core Perl toolchain modules, passed away
+on September 18, 2010 after a battle with lung cancer. His contributions
+to the Perl community will be missed.
+
+=head1 Acknowledgements
+
+Perl 5.13.7 represents approximately one month of development since Perl 5.13.6
+and contains 73100 lines of changes across 518 files from 39 authors and committers:
+
+Abhijit Menon-Sen, Abigail, Ben Morrow, Chas. J. Owens IV, Chris 'BinGOs' Williams, Craig A. Berry,
+David Golden, David Mitchell, Father Chrysostomos, Fingle Nark, Florian Ragwitz, George Greer,
+Grant McLean, H.Merijn Brand, Ian Goodacre, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Karl Williamson,
+Lubomir Rintel, Marty Pauley, Moritz Lenz, Nicholas Clark, Nicolas Kaiser, Niko Tyni, Peter John Acklam,
+Rafael Garcia-Suarez, Shlomi Fish, Steffen Mueller, Steve Hay, Tatsuhiko Miyagawa, Tim Bunce, Todd Rinaldo,
+Tom Christiansen, Tom Hukins, Tony Cook, Yves Orton, Zefram and brian d foy
+
+Many of the changes included in this version originated in the CPAN modules included in
+Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5138delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5138delta.pod
new file mode 100644
index 00000000000..1b01b2701c1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5138delta.pod
@@ -0,0 +1,912 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5138delta - what is new for perl v5.13.8
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.7 release and
+the 5.13.8 release.
+
+If you are upgrading from an earlier release such as 5.13.6, first read
+L<perl5137delta>, which describes differences between 5.13.6 and
+5.13.7.
+
+=head1 Core Enhancements
+
+=head2 C<-d:-foo> calls C<Devel::foo::unimport>
+
+The syntax C<-dI<B<:>foo>> was extended in 5.6.1 to make C<-dI<:fooB<=bar>>>
+equivalent to C<-MDevel::foo=bar>, which expands
+internally to C<use Devel::foo 'bar';>.
+F<perl> now allows prefixing the module name with C<->, with the same
+semantics as C<-M>, I<i.e.>
+
+=over 4
+
+=item C<-d:-foo>
+
+Equivalent to C<-M-Devel::foo>, expands to
+C<no Devel::foo;>, calls C<< Devel::foo->unimport() >>
+if the method exists.
+
+=item C<-d:-foo=bar>
+
+Equivalent to C<-M-Devel::foo=bar>, expands to C<no Devel::foo 'bar';>,
+calls C<< Devel::foo->unimport('bar') >> if the method exists.
+
+=back
+
+This is particularly useful to suppresses the default actions of a
+C<Devel::*> module's C<import> method whilst still loading it for debugging.
+
+=head2 Filehandle method calls load L<IO::File> on demand
+
+When a method call on a filehandle would die because the method cannot
+be resolved, and L<IO::File> has not been loaded, Perl now loads L<IO::File>
+via C<require> and attempts method resolution again:
+
+ open my $fh, ">", $file;
+ $fh->binmode(":raw"); # loads IO::File and succeeds
+
+This also works for globs like STDOUT, STDERR and STDIN:
+
+ STDOUT->autoflush(1);
+
+Because this on-demand load only happens if method resolution fails, the
+legacy approach of manually loading an L<IO::File> parent class for partial
+method support still works as expected:
+
+ use IO::Handle;
+ open my $fh, ">", $file;
+ $fh->autoflush(1); # IO::File not loaded
+
+=head2 Full functionality for C<use feature 'unicode_strings'>
+
+This release provides full functionality for C<use feature
+'unicode_strings'>. Under its scope, all string operations executed and
+regular expressions compiled (even if executed outside its scope) have
+Unicode semantics. See L<feature>.
+
+This feature avoids most forms of the "Unicode Bug" (See
+L<perlunicode/The "Unicode Bug"> for details.) If there is a
+possibility that your code will process Unicode strings, you are
+B<strongly> encouraged to use this subpragma to avoid nasty surprises.
+
+The availability of this should strongly affect the whole tone of
+various documents, such as L<perlunicode> and L<perluniintro>, but this
+work has not been done yet.
+
+=head2 Exception Handling Backcompat Hack
+
+When an exception is thrown in an C<eval BLOCK>, C<$@> is now set before
+unwinding, as well as being set after unwinding as the eval block exits. This
+early setting supports code that has historically treated C<$@> during unwinding
+as an indicator of whether the unwinding was due to an exception. These modules
+had been broken by 5.13.1's change from setting C<$@> early to setting it late.
+This double setting arrangement is a stopgap until the reason for unwinding can
+be made properly introspectable. C<$@> has never been a reliable indicator of
+the reason for unwinding.
+
+=head2 printf-like functions understand post-1980 size modifiers
+
+Perl's printf and sprintf operators, and Perl's internal printf replacement
+function, now understand the C90 size modifiers "hh" (C<char>), "z"
+(C<size_t>), and "t" (C<ptrdiff_t>). Also, when compiled with a C99
+compiler, Perl now understands the size modifier "j" (C<intmax_t>).
+
+So, for example, on any modern machine, C<sprintf('%hhd', 257)> returns '1'.
+
+=head2 DTrace probes now include package name
+
+The DTrace probes now include an additional argument (C<arg3>) which contains
+the package the subroutine being entered or left was compiled in.
+
+For example using the following DTrace script:
+
+ perl$target:::sub-entry
+ {
+ printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3));
+ }
+
+and then running:
+
+ perl -e'sub test { }; test'
+
+DTrace will print:
+
+ main::test
+
+=head2 Stacked labels
+
+Multiple statement labels can now appear before a single statement.
+
+=head1 Incompatible Changes
+
+=head2 C<:=> is now a syntax error
+
+Previously C<my $pi := 4;> was exactly equivalent to C<my $pi : = 4;>,
+with the C<:> being treated as the start of an attribute list, ending before
+the C<=>. The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is now
+a syntax error. This will allow the future use of C<:=> as a new token.
+
+We find no Perl 5 code on CPAN using this construction, outside the core's
+tests for it, so we believe that this change will have very little impact on
+real-world codebases.
+
+If it is absolutely necessary to have empty attribute lists (for example,
+because of a code generator) then avoid the error by adding a space before
+the C<=>.
+
+=head2 Run-time code block in regular expressions
+
+Code blocks in regular expressions (C<(?{...})> and C<(??{...})>) used not
+to inherit any pragmata (strict, warnings, etc.) if the regular expression
+was compiled at run time as happens in cases like these two:
+
+ use re 'eval';
+ $foo =~ $bar; # when $bar contains (?{...})
+ $foo =~ /$bar(?{ $finished = 1 })/;
+
+This was a bug, which has now been fixed. But it has the potential to break
+any code that was relying on this bug.
+
+=head1 Deprecations
+
+=head2 C<?PATTERN?> is deprecated
+
+C<?PATTERN?> (without the initial m) has been deprecated and now produces
+a warning. This is to allow future use of C<?> in new operators.
+The match-once functionality is still available in the form of C<m?PATTERN?>.
+
+=head2 C<sv_compile_2op()> is now deprecated
+
+The C<sv_compile_2op()> API function is now deprecated. Searches suggest
+that nothing on CPAN is using it, so this should have zero impact.
+
+It attempted to provide an API to compile code down to an optree, but failed
+to bind correctly to lexicals in the enclosing scope. It's not possible to
+fix this problem within the constraints of its parameters and return value.
+
+=head2 Tie functions on scalars holding typeglobs
+
+Calling a tie function (C<tie>, C<tied>, C<untie>) with a scalar argument
+acts on a file handle if the scalar happens to hold a typeglob.
+
+This is a long-standing bug that will be removed in Perl 5.16, as
+there is currently no way to tie the scalar itself when it holds
+a typeglob, and no way to untie a scalar that has had a typeglob
+assigned to it.
+
+This bug was fixed in 5.13.7 but, because of the breakage it caused, the
+fix has been reverted. Now there is a deprecation warning whenever a tie
+function is used on a handle without an explicit C<*>.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<Archive::Tar> has been upgraded from version 1.72 to 1.74.
+
+Skip extracting pax extended headers.
+
+=item *
+
+C<autodie> has been upgraded from version 2.10 to 2.1001.
+
+Test fix in blead for VMS.
+
+=item *
+
+C<B> has been upgraded from version 1.26 to 1.27.
+
+Avoid compiler warnings.
+
+=item *
+
+C<B::Concise> has been upgraded from version 0.81 to 0.82.
+
+It no longer produces mangled output with the C<-tree> option
+L<[perl #80632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80632>.
+
+=item *
+
+C<B::Deparse> has been upgraded from version 1.01 to 1.02.
+
+Test improvements.
+
+=item *
+
+C<Cwd> has been upgraded from version 3.34 to 3.35.
+
+Avoid compiler warnings.
+
+=item *
+
+C<Data::Dumper> has been upgraded from version 2.130_01 to 2.130_02.
+
+Avoid compiler warnings.
+
+=item *
+
+C<Devel::Peek> has been upgraded from version 1.05 to 1.06.
+
+Avoid compiler warnings.
+
+Test improvements.
+
+=item *
+
+C<Devel::SelfStubber> has been upgraded from version 1.03 to 1.05.
+
+Whitespace changes.
+
+=item *
+
+C<Digest::SHA> has been upgraded from 5.48 to 5.50.
+
+C<shasum> now more closely mimics C<sha1sum>/C<md5sum>.
+
+C<Addfile> accepts all POSIX filenames.
+
+=item *
+
+C<Dumpvalue> has been upgraded from version 1.14 to 1.15.
+
+Test improvements.
+
+=item *
+
+C<DynaLoader> has been upgraded from version 1.11 to 1.12.
+
+Remove obsolete RCS keywords.
+
+=item *
+
+C<Env> has been upgraded from version 1.01 to 1.02.
+
+Test improvements.
+
+=item *
+
+C<ExtUtils::CBuilder> has been upgraded from 0.2703 to 0.280201.
+
+Handle C and C++ compilers separately.
+
+Preserves exit status on VMS.
+
+Test improvements.
+
+=item *
+
+C<ExtUtils::Constant::Utils> has been upgraded from 0.02 to 0.03.
+
+Refactoring and fixing of backcompat code, preparing for resynchronisation
+with CPAN.
+
+=item *
+
+C<ExtUtils::Embed> has been upgraded from 1.29 to 1.30.
+
+Remove obsolete RCS keywords.
+
+=item *
+
+C<ExtUtils::ParseXS> has been upgraded from 2.2207 to 2.2208.
+
+Avoid compiler warnings.
+
+=item *
+
+C<Fcntl> has been upgraded from 1.10 to 1.11.
+
+Avoid compiler warnings.
+
+Test improvements.
+
+=item *
+
+C<feature> has been upgraded from 1.18 to 1.19.
+
+Documentation and test updates for the C<unicode_strings> feature.
+See L</Full functionality for C<use feature 'unicode_strings'>>.
+
+=item *
+
+C<File::CheckTree> has been upgraded from 4.4 to 4.41.
+
+Whitespace changes.
+
+=item *
+
+C<File::Glob> has been upgraded from 1.10 to 1.11.
+
+Avoid compiler warnings.
+
+Test improvements.
+
+=item *
+
+C<GDBM_File> has been upgraded from 1.12 to 1.13.
+
+Test improvements.
+
+Remove obsolete RCS keywords.
+
+=item *
+
+C<Hash::Util::FieldHash> has been upgraded from 1.06 to 1.07.
+
+Avoid compiler warnings.
+
+=item *
+
+C<I18N::Collate> has been upgraded from 1.01 to 1.02.
+
+Whitespace changes.
+
+Test improvements.
+
+=item *
+
+C<if> has been upgraded from 0.06 to 0.0601.
+
+Test improvements.
+
+=item *
+
+C<IO> has been upgraded from 1.25_02 to 1.25_03.
+
+Avoid compiler warnings.
+
+=item *
+
+C<IPC::Cmd> has been upgraded from 0.64 to 0.66.
+
+Resolves an issue with splitting Win32 command lines.
+
+Documentation enhancements.
+
+=item *
+
+C<IPC::Open3> has been upgraded from 1.07 to 1.08.
+
+Remove obsolete RCS keywords.
+
+Test improvements.
+
+=item *
+
+C<Locale::Codes> has been upgraded from version 3.14 to 3.15.
+
+Adds some codes.
+
+=item *
+
+C<Math::BigInt> has been upgraded from 1.99_01 to 1.99_02.
+
+Documentation and comment spelling fixes.
+
+=item *
+
+C<Memoize> has been upgraded from version 1.01_03 to 1.02.
+
+Remove obsolete RCS keywords.
+
+Whitespace changes.
+
+=item *
+
+C<MIME::Base64> has been upgraded from 3.10 to 3.13.
+
+Now provides C<encode_base64url> and C<decode_base64url> functions to process
+the base64 scheme for "URL applications".
+
+=item *
+
+C<mro> has been upgraded from version 1.05 to 1.06.
+
+C<next::method> I<et al.> now take into account that every class inherits
+from UNIVERSAL
+L<[perl #68654]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68654>.
+
+=item *
+
+C<NDBM_File> has been upgraded from 1.10 to 1.11.
+
+Remove obsolete RCS keywords.
+
+Test improvements.
+
+=item *
+
+C<Net::Ping> has been upgraded from 2.36 to 2.37.
+
+Remove obsolete RCS keywords.
+
+=item *
+
+C<ODBM_File> has been upgraded from 1.09 to 1.10.
+
+Remove obsolete RCS keywords.
+
+Test improvements.
+
+=item *
+
+C<Opcode> has been upgraded from 1.17 to 1.18.
+
+Avoid compiler warnings.
+
+Test improvements.
+
+=item *
+
+C<overload> has been upgraded from 1.11 to 1.12.
+
+Avoid a taint problem in use of sprintf.
+
+Test asymmetric fallback cases
+L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
+
+=item *
+
+C<PerlIO::encoding> has been upgraded from 0.13 to 0.14.
+
+Avoid compiler warnings.
+
+Remove obsolete RCS keywords.
+
+Test improvements.
+
+=item *
+
+C<PerlIO::scalar> has been upgraded from 0.10 to 0.11.
+
+A C<read> after a C<seek> beyond the end of the string no longer thinks it
+has data to read
+L<[perl #78716]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78716>.
+
+Avoid compiler warnings.
+
+=item *
+
+C<PerlIO::via> has been upgraded from 0.10 to 0.11.
+
+Avoid compiler warnings.
+
+=item *
+
+C<POSIX> has been upgraded from 1.22 to 1.23.
+
+Avoid compiler warnings.
+
+=item *
+
+C<re> has been upgraded from 0.14 to 0.15.
+
+Enforce that C</d>, C</u>, and C</l> are mutually exclusive.
+
+=item *
+
+C<SDBM_File> has been upgraded from 1.08 to 1.09.
+
+Avoid compiler warnings.
+
+Remove obsolete RCS keywords.
+
+Test improvements.
+
+=item *
+
+C<Socket> has been upgraded from 1.91 to 1.92.
+
+It has several new functions for handling IPv6 addresses.
+
+=item *
+
+C<Storable> has been upgraded from 2.24 to 2.25.
+
+This adds support for serialising code references that contain UTF-8 strings
+correctly. The Storable minor version number changed as a result, meaning that
+Storable users who set C<$Storable::accept_future_minor> to a C<FALSE> value
+will see errors (see L<Storable/FORWARD COMPATIBILITY> for more details).
+
+Freezing no longer gets confused if the Perl stack gets reallocated
+during freezing
+L<[perl #80074]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80074>.
+
+Avoid compiler warnings.
+
+=item *
+
+C<threads> has been upgraded from 1.81_02 to 1.81_03.
+
+Avoid compiler warnings.
+
+=item *
+
+C<threads::shared> has been upgraded from 1.34 to 1.35.
+
+Avoid compiler warnings.
+
+=item *
+
+C<Time::HiRes> has been upgraded from 1.9721 to 1.9721_01.
+
+Build fix in blead for VMS.
+
+=item *
+
+C<Unicode::Collate> has been upgraded from 0.67 to 0.6801.
+
+Documentation clarification.
+
+Test improvements.
+
+=item *
+
+C<Unicode::Normalize> has been upgraded from 1.07 to 1.08.
+
+Avoid compiler warnings.
+
+=item *
+
+C<Unicode::UCD> has been upgraded from 0.29 to 0.30.
+
+Add info about named sequence alternatives.
+
+Don't use C<CompositionExclusions.txt>.
+
+=item *
+
+C<version> has been upgraded from 0.82 to 0.86.
+
+Modify export logic for C<is_strict> and C<is_lax>.
+
+Various backcompat fixes.
+
+=item *
+
+C<Win32> has been upgraded from 0.39 to 0.41.
+
+Add several functions.
+
+Corrections to names returned by C<Win32::GetOSName> and
+C<Win32::GetOSDisplayName>.
+
+=item *
+
+C<XS::APItest> has been upgraded from 0.26 to 0.27.
+
+Test new API functions.
+
+Avoid compiler warnings.
+
+=back
+
+=head2 Dual-life Modules and Pragmata
+
+These modules were formerly distributed only in the Perl core
+distribution, and are now dual-lifed (meaning they are now also available
+separately on CPAN):
+
+=over 4
+
+=item *
+
+C<autouse>
+
+=item *
+
+C<Devel::SelfStubber>
+
+=item *
+
+C<Dumpvalue>
+
+=item *
+
+C<Env>
+
+=item *
+
+C<File::CheckTree>
+
+=item *
+
+C<I18N::Collate>
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=over 4
+
+=item *
+
+There is a new "Closure prototype called" error
+L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+The "Found = in conditional" warning that is emitted when a constant is
+assigned to a variable in a condition is now withheld if the constant is
+actually a subroutine or one generated by C<use constant>, since the value
+of the constant may not be known at the time the program is written
+L<[perl #77762]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77762>.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+The C<Encode> module can now (once again) be included in a static Perl
+build. The special-case handling for this situation got broken in Perl
+5.11.0, and has now been repaired.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+Tests for C<Fcntl>, C<File::Glob>, C<GDBM_File>, C<IPC::Open3>,
+C<NDBM_File>, C<ODBM_File>, C<Opcode>, C<PerlIO::encoding>, C<SDBM_File>,
+and C<Storable> now use the L<Test::More> framework.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item NetBSD
+
+The NetBSD hints file has been changed to make the system's malloc the
+default.
+
+=item Windows
+
+The option to use an externally-supplied C<crypt()>, or to build with no
+C<crypt()> at all, has been removed. Perl supplies its own C<crypt()>
+implementation for Windows, and the political situation that required
+this part of the distribution to sometimes be omitted is long gone.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+The L<C<mg_findext()>|perlapi/mg_findext> and
+L<C<sv_unmagicext()>|perlapi/sv_unmagicext>
+functions have been added to the API.
+They allow extension authors to find and remove magic attached to
+scalars based on both the magic type and the magic virtual table, similar to how
+C<sv_magicext()> attaches magic of a certain type and with a given virtual table
+to a scalar. This eliminates the need for extensions to walk the list of
+C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
+
+=item *
+
+The
+L<C<parse_fullexpr()>|perlapi/parse_fullexpr>,
+L<C<parse_listexpr()>|perlapi/parse_listexpr>,
+L<C<parse_termexpr()>|perlapi/parse_termexpr>, and
+L<C<parse_arithexpr()>|perlapi/parse_arithexpr>
+functions have been added to the API. They perform
+recursive-descent parsing of expressions at various precedence levels.
+They are expected to be used by syntax plugins.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
+identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
+was erroneously executing the C<use feature ':5.12.0'> and
+C<use strict; use warnings;> behaviour, which only C<use> was documented to
+provide
+L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>.
+
+=item *
+
+C<use 5.42>
+L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>,
+C<use 6> and C<no 5> no longer leak memory.
+
+=item *
+
+C<eval "BEGIN{die}"> no longer leaks memory on non-threaded builds.
+
+=item *
+
+PerlIO no longer crashes when called recursively, e.g., from a signal
+handler. Now it just leaks memory
+L<[perl #75556]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75556>.
+
+=item *
+
+Defining a constant with the same name as one of perl's special blocks
+(e.g., INIT) stopped working in 5.12.0, but has now been fixed
+L<[perl #78634]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78634>.
+
+=item *
+
+A reference to a literal value used as a hash key (C<$hash{\"foo"}>) used
+to be stringified, even if the hash was tied
+L<[perl #79178]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79178>.
+
+=item *
+
+A closure containing an C<if> statement followed by a constant or variable
+is no longer treated as a constant
+L<[perl #63540]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63540>.
+
+=item *
+
+Calling a closure prototype (what is passed to an attribute handler for a
+closure) now results in a "Closure prototype called" error message instead
+of a crash
+L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
+
+=item *
+
+A regular expression optimisation would sometimes cause a match with a
+C<{n,m}> quantifier to fail when it should match
+L<[perl #79152]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79152>.
+
+=item *
+
+What has become known as the "Unicode Bug" is mostly resolved in this release.
+Under C<use feature 'unicode_strings'>, the internal storage format of a
+string no longer affects the external semantics. There are two known
+exceptions. User-defined case changing functions, which are planned to
+be deprecated in 5.14, require utf8-encoded strings to function; and the
+character C<LATIN SMALL LETTER SHARP S> in regular expression
+case-insensitive matching has a somewhat different set of bugs depending
+on the internal storage format. Case-insensitive matching of all
+characters that have multi-character matches, as this one does, is
+problematical in Perl.
+L<[perl #58182]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=58182>.
+
+=item *
+
+Mentioning a read-only lexical variable from the enclosing scope in a
+string C<eval> no longer causes the variable to become writable
+L<[perl #19135]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=19135>.
+
+=item *
+
+C<state> can now be used with attributes. It used to mean the same thing as
+C<my> if attributes were present
+L<[perl #68658]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68658>.
+
+=item *
+
+Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
+the "Use of uninitialized value in numeric gt" warning when C<$a> is
+undefined (since it is not part of the C<E<gt>> expression, but the operand
+of the C<@>)
+L<[perl #72090]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72090>.
+
+=item *
+
+C<require> no longer causes C<caller> to return the wrong file name for
+the scope that called C<require> and other scopes higher up that had the
+same file name
+L<[perl #68712]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68712>.
+
+=item *
+
+The ref types in the typemap for XS bindings now support magical variables
+L<[perl #72684]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72684>.
+
+=item *
+
+Match variables (e.g., C<$1>) no longer persist between calls to a sort
+subroutine
+L<[perl #76026]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76026>.
+
+=item *
+
+The C<B> module was returning C<B::OP>s instead of C<B::LOGOP>s for C<entertry>
+L<[perl #80622]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80622>.
+This was due to a bug in the perl core, not in C<B> itself.
+
+=item *
+
+Some numeric operators were converting integers to floating point,
+resulting in loss of precision on 64-bit platforms
+L<[perl #77456]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77456>.
+
+=item *
+
+The fallback behaviour of overloading on binary operators was asymmetric
+L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.8 represents approximately one month of development since
+Perl 5.13.7 and contains 38715 lines of changes across 546 files from
+38 authors and committers.
+
+Thank you to the following for contributing to this release:
+
+Abhijit Menon-Sen, Abigail, Andreas KE<0xf6>nig, Ben Morrow, Brad Gilbert,
+brian d foy, Chip Salzenberg, Chris 'BinGOs' Williams, Craig A. Berry,
+David Golden, David Leadbeater, David Mitchell, Father Chrysostomos,
+Florian Ragwitz, Goro Fuji, H.Merijn Brand, Jan Dubois, Jerry D. Hedden,
+Jesse Vincent, John Peacock, Karl Williamson, Lukas Mai, Marvin Humphrey,
+Max Maischein, Michael Breen, Michael Fig, Nicholas Clark, Nick Cleaton,
+Paul Evans, Peter J. Holzer, Peter John Acklam, Rafael Garcia-Suarez,
+Reini Urban, Renee Baecker, Ricardo Signes, Tony Cook, Yves Orton, Zefram
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5139delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5139delta.pod
new file mode 100644
index 00000000000..fb9bf36784b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5139delta.pod
@@ -0,0 +1,646 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5139delta - what is new for perl v5.13.9
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.13.8 release and
+the 5.13.9 release.
+
+If you are upgrading from an earlier release such as 5.13.7, first read
+L<perl5138delta>, which describes differences between 5.13.7 and
+5.13.8.
+
+=head1 Core Enhancements
+
+=head2 New regular expression modifier C</a>
+
+The C</a> regular expression modifier restricts C<\s> to match precisely
+the five characters C<[ \f\n\r\t]>, C<\d> to match precisely the 10
+characters C<[0-9]>, C<\w> to match precisely the 63 characters
+C<[A-Za-z0-9_]>, and the Posix (C<[[:posix:]]>) character classes to
+match only the appropriate ASCII characters. The complements, of
+course, match everything but; and C<\b> and C<\B> are correspondingly
+affected. Otherwise, C</a> behaves like the C</u> modifier, in that
+case-insensitive matching uses Unicode semantics; for example, "k" will
+match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
+points in the Latin1 range, above ASCII will have Unicode semantics when
+it comes to case-insensitive matching. Like its cousins (C</u>, C</l>,
+and C</d>), and in spite of the terminology, C</a> in 5.14 will not
+actually be able to be used as a suffix at the end of a regular
+expression (this restriction is planned to be lifted in 5.16). It must
+occur either as an infix modifier, such as C<(?a:...)> or (C<(?a)...>,
+or it can be turned on within the lexical scope of C<use re '/a'>.
+Turning on C</a> turns off the other "character set" modifiers.
+
+=head2 Any unsigned value can be encoded as a character
+
+With this release, Perl is adopting a model that any unsigned value can
+be treated as a code point and encoded internally (as utf8) without
+warnings -- not just the code points that are legal in Unicode.
+However, unless utf8 warnings have been
+explicitly lexically turned off, outputting or performing a
+Unicode-defined operation (such as upper-casing) on such a code point
+will generate a warning. Attempting to input these using strict rules
+(such as with the C<:encoding('UTF-8')> layer) will continue to fail.
+Prior to this release the handling was very inconsistent, and incorrect
+in places. Also, the Unicode non-characters, some of which previously were
+erroneously considered illegal in places by Perl, contrary to the Unicode
+standard, are now always legal internally. But inputting or outputting
+them will work the same as for the non-legal Unicode code points, as the
+Unicode standard says they are illegal for "open interchange".
+
+=head2 Regular expression debugging output improvement
+
+Regular expression debugging output (turned on by C<use re 'debug';>) now
+uses hexadecimal when escaping non-ASCII characters, instead of octal.
+
+=head1 Security
+
+=head2 Restrict \p{IsUserDefined} to In\w+ and Is\w+
+
+In L<perlunicode/"User-Defined Character Properties">, it says you can
+create custom properties by defining subroutines whose names begin with
+"In" or "Is". However, perl doesn't actually enforce that naming
+restriction, so \p{foo::bar} will call foo::Bar() if it exists.
+
+This commit finally enforces this convention. Note that this broke a
+number of existing tests for properties, since they didn't always use an
+Is/In prefix.
+
+=head1 Incompatible Changes
+
+=head2 All objects are destroyed
+
+It used to be possible to prevent a destructor from being called during
+global destruction by artificially increasing the reference count of an
+object.
+
+Now such objects I<will> will be destroyed, as a result of a bug fix
+L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>.
+
+This has the potential to break some XS modules. (In fact, it break some.
+See L</Known Problems>, below.)
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<CPAN::Meta::YAML> 0.003 has been added as a dual-life module. It supports a
+subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files
+included with CPAN distributions or generated by the module installation
+toolchain. It should not be used for any other general YAML parsing or
+generation task.
+
+=item *
+
+C<HTTP::Tiny> 0.009 has been added as a dual-life module. It is a very
+small, simple HTTP/1.1 client designed for simple GET requests and file
+mirroring. It has has been added to enable CPAN.pm and CPANPLUS to
+"bootstrap" HTTP access to CPAN using pure Perl without relying on external
+binaries like F<curl> or F<wget>.
+
+=item *
+
+C<JSON::PP> 2.27103 has been added as a dual-life module, for the sake of
+reading F<META.json> files in CPAN distributions.
+
+=item *
+
+C<Module::Metadata> 1.000003 has been added as a dual-life module. It gathers
+package and POD information from Perl module files. It is a standalone module
+based on Module::Build::ModuleInfo for use by other module installation
+toolchain components. Module::Build::ModuleInfo has been deprecated in
+favor of this module instead.
+
+=item *
+
+C<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl
+operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic types
+with standardized names (e.g. "Unix" or "Windows"). It has been refactored
+out of Module::Build and ExtUtils::CBuilder and consolidates such mappings into
+a single location for easier maintenance.
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+C<Archive::Extract> has been upgraded from version 0.46 to 0.48
+
+=item *
+
+C<Archive::Tar> has been upgraded from version 1.74 to 1.76
+
+=item *
+
+C<CGI> has been upgraded from version 3.50 to 3.51
+
+Further improvements have been made to guard against newline injections
+in headers.
+
+=item *
+
+C<Compress::Raw::Bzip2> has been upgraded from version 2.031 to 2.033
+
+=item *
+
+C<Compress::Raw::Zlib> has been upgraded from version 2.030 to 2.033
+
+=item *
+
+C<CPAN> has been upgraded from version 1.94_62 to 1.94_63
+
+=item *
+
+C<CPANPLUS> has been upgraded from version 0.9010 to 0.9011
+
+=item *
+
+C<CPANPLUS::Dist::Build> has been upgraded from version 0.50 to 0.52
+
+=item *
+
+C<DB_File> has been upgraded from version 1.820 to 1.821
+
+=item *
+
+C<Encode> has been upgraded from version 2.40 to 2.42.
+Now, all 66 Unicode non-characters are treated the same way U+FFFF has
+always been treated; if it was disallowed, all 66 are disallowed; if it
+warned, all 66 warn.
+
+=item *
+
+C<File::Fetch> has been upgraded from version 0.28 to 0.32
+
+=item *
+
+C<IO::Compress> has been upgraded from version 2.030 to 2.033
+
+=item *
+
+C<IPC::Cmd> has been upgraded from version 0.66 to 0.68
+
+=item *
+
+C<Log::Message> has been upgraded from version 0.02 to 0.04
+
+=item *
+
+C<Log::Message::Simple> has been upgraded from version 0.06 to 0.08
+
+=item *
+
+C<Module::Load::Conditional> has been upgraded from version 0.38 to 0.40
+
+=item *
+
+C<Object::Accessor> has been upgraded from version 0.36 to 0.38
+
+=item *
+
+C<Params::Check> has been upgraded from version 0.26 to 0.28
+
+=item *
+
+C<Pod::LaTeX> has been upgraded from version 0.58 to 0.59
+
+=item *
+
+C<Socket> has been updated with new affordances for IPv6,
+including implementations of the C<Socket::getaddrinfo()> and
+C<Socket::getnameinfo()> functions, along with related constants.
+
+=item *
+
+C<Term::UI> has been upgraded from version 0.20 to 0.24
+
+=item *
+
+C<Thread::Queue> has been upgraded from version 2.11 to 2.12.
+
+=item *
+
+C<Thread::Semaphore> has been upgraded from version 2.11 to 2.12.
+
+=item *
+
+C<threads> has been upgraded from version 1.81_03 to 1.82
+
+=item *
+
+C<threads::shared> has been upgraded from version 1.35 to 1.36
+
+=item *
+
+C<Time::Local> has been upgraded from version 1.1901_01 to 1.2000.
+
+=item *
+
+C<Unicode::Normalize> has been upgraded from version 1.07 to 1.10
+
+=item *
+
+C<version> has been upgraded from 0.86 to 0.88.
+
+=item *
+
+C<Win32> has been upgraded from version 0.41 to 0.44.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 All documentation
+
+=over
+
+=item *
+
+Numerous POD warnings were fixed.
+
+=item *
+
+Many, many spelling errors and typographical mistakes were corrected throughout Perl's core.
+
+=back
+
+=head3 C<perlhack>
+
+=over 4
+
+=item *
+
+C<perlhack> was extensively reorganized.
+
+=back
+
+=head3 C<perlfunc>
+
+=over 4
+
+=item *
+
+It has now been documented that C<ord> returns 0 for an empty string.
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=over 4
+
+=item *
+
+Performing an operation requiring Unicode semantics (such as case-folding)
+on a Unicode surrogate or a non-Unicode character now triggers a warning:
+'Operation "%s" returns its argument for ...'.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+Previously, if none of the C<gethostbyaddr>, C<gethostbyname> and
+C<gethostent> functions were implemented on a given platform, they would
+all die with the message 'Unsupported socket function "gethostent" called',
+with analogous messages for C<getnet*> and C<getserv*>. This has been
+corrected.
+
+=back
+
+=head1 Utility Changes
+
+=head3 C<perlbug>
+
+=over 4
+
+=item *
+
+C<perlbug> did not previously generate a From: header, potentially
+resulting in dropped mail. Now it does include that header.
+
+=back
+
+=head3 C<buildtoc>
+
+=over 4
+
+=item *
+
+F<pod/buildtoc> has been modernized and can now be used to test the
+well-formedness of F<pod/perltoc.pod> automatically.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+C<lib/File/DosGlob.t> has been modernized and now uses C<Test::More>.
+
+=item *
+
+A new test script, C<t/porting/filenames.t>, makes sure that filenames and
+paths are reasonably portable.
+
+=item *
+
+C<t/porting/diag.t> is now several orders of magnitude faster.
+
+=item *
+
+C<t/porting/buildtoc.t> now tests that the documentation TOC file is current and well-formed.
+
+=item *
+
+C<t/base/while.t> now tests the basics of a while loop with minimal dependencies.
+
+=item *
+
+C<t/cmd/while.t> now uses F<test.pl> for better maintainability.
+
+=item *
+
+C<t/op/split.t> now tests calls to C<split> without any pattern specified.
+
+=back
+
+
+
+=head1 Platform Support
+
+=head2 Discontinued Platforms
+
+=over 4
+
+=item Apollo DomainOS
+
+The last vestiges of support for this platform have been excised from the
+Perl distribution. It was officially discontinued in version 5.12.0. It had
+not worked for years before that.
+
+=item MacOS Classic
+
+The last vestiges of support for this platform have been excised from the
+Perl distribution. It was officially discontinued in an earlier version.
+
+=back
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+
+=item Cygwin
+
+=over
+
+=item *
+
+Updated MakeMaker to build man pages on cygwin.
+
+=item *
+
+Improved rebase behaviour
+
+If a dll is updated on cygwin reuse the old imagebase address.
+This solves most rebase errors, esp when updating on core dll's.
+See L<http://www.tishler.net/jason/software/rebase/rebase-2.4.2.README> for more information.
+
+=item *
+
+Support the standard cyg dll prefix, which is e.g. needed for FFI's.
+
+=item *
+
+Updated build hints file
+
+=back
+
+
+=item Solaris
+
+DTrace is now supported on Solaris. There used to be build failures, but
+these have been fixed
+L<[perl #73630]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=73630>.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp> have
+been merged. The implementation functions C<Perl_do_chop()> and
+C<Perl_do_chomp()>, never part of the public API, have been merged and moved to
+a static function in F<pp.c>. This shrinks the perl binary slightly, and should
+not affect any code outside the core (unless it is relying on the order of side
+effects when C<chomp> is passed a I<list> of values).
+
+=item *
+
+Some of the flags parameters to the uvuni_to_utf8_flags() and
+utf8n_to_uvuni() have changed. This is a result of Perl now allowing
+internal storage and manipulation of code points that are problematic
+in some situations. Hence, the default actions for these functions has
+been complemented to allow these code points. The new flags are
+documented in L<perlapi>. Code that requires the problematic code
+points to be rejected needs to change to use these flags. Some flag
+names are retained for backward source compatibility, though they do
+nothing, as they are now the default. However the flags
+C<UNICODE_ALLOW_FDD0>, C<UNICODE_ALLOW_FFFF>, C<UNICODE_ILLEGAL>, and
+C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a
+fundamentally broken model of how the Unicode non-character code points
+should be handled, which is now described in
+L<perlunicode/Non-character code points>. See also L</Selected Bug Fixes>.
+
+=item *
+
+Certain shared flags in the C<pmop.op_pmflags> and C<regexp.extflags>
+structures have been removed. These are: C<Rxf_Pmf_LOCALE>,
+C<Rxf_Pmf_UNICODE>, and C<PMf_LOCALE>. Instead there are encodes and
+three static in-line functions for accessing the information:
+C<get_regex_charset()>, C<set_regex_charset()>, and C<get_regex_charset_name()>,
+which are defined in the places where the original flags were.
+
+=item *
+
+A new option has been added to C<pv_escape> to dump all characters above
+ASCII in hexadecimal. Before, one could get all characters as hexadecimal
+or the Latin1 non-ASCII as octal
+
+
+=item *
+
+Generate pp_* prototypes in pp_proto.h, and remove pp.sym
+
+Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13
+locations that relied on them.
+
+regen/opcode.pl now generates prototypes for the PP functions directly, into
+pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads
+this, removing the only ordering dependency in the regen scripts. opcode.pl
+is now responsible for prototypes for pp_* functions. (embed.pl remains
+responsible for ck_* functions, reading from regen/opcodes)
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+The handling of Unicode non-characters has changed.
+Previously they were mostly considered illegal, except that only one of
+the 66 of them was known about in places. The Unicode standard
+considers them legal, but forbids the "open interchange" of them.
+This is part of the change to allow the internal use of any code point
+(see L</Core Enhancements>). Together, these changes resolve
+L<# 38722|https://rt.perl.org/rt3/Ticket/Display.html?id=38722>,
+L<# 51918|http://rt.perl.org/rt3/Ticket/Display.html?id=51918>,
+L<# 51936|http://rt.perl.org/rt3/Ticket/Display.html?id=51936>,
+L<# 63446|http://rt.perl.org/rt3/Ticket/Display.html?id=63446>
+
+=item *
+
+Sometimes magic (ties, tainted, etc.) attached to variables could cause an
+object to last longer than it should, or cause a crash if a tied variable
+were freed from within a tie method. These have been fixed
+L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>.
+
+=item *
+
+Most I/O functions were not warning for unopened handles unless the
+'closed' and 'unopened' warnings categories were both enabled. Now only
+C<use warnings 'unopened'> is necessary to trigger these warnings (as was
+always meant to be the case.
+
+=item *
+
+C<< E<lt>exprE<gt> >> always respects overloading now if the expression is
+overloaded.
+
+Due to the way that 'E<lt>E<gt> as glob' was parsed differently from
+'E<lt>E<gt> as filehandle' from 5.6 onwards, something like C<< E<lt>$foo[0]E<gt> >> did
+not handle overloading, even if C<$foo[0]> was an overloaded object. This
+was contrary to the documentation for overload, and meant that C<< E<lt>E<gt> >>
+could not be used as a general overloaded iterator operator.
+
+=item *
+
+Destructors on objects were not called during global destruction on objects
+that were not referenced by any scalars. This could happen if an array
+element were blessed (e.g., C<bless \$a[0]>) or if a closure referenced a
+blessed variable (C<bless \my @a; sub foo { @a }>).
+
+Now there is an extra pass during global destruction to fire destructors on
+any objects that might be left after the usual passes that check for
+objects referenced by scalars
+L<[perl #36347]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=36347>.
+
+=item *
+
+A long standing bug has now been fully fixed (partial fixes came in
+earlier releases), in which some Latin-1 non-ASCII characters on
+ASCII-platforms would match both a character class and its complement,
+such as U+00E2 being both in C<\w> and C<\W>, depending on the
+UTF-8-ness of the regular expression pattern and target string.
+Fixing this did expose some bugs in various modules and tests that
+relied on the previous behavior of C<[[:alpha:]]> not ever matching
+U+00FF, "LATIN SMALL LETTER Y WITH DIAERESIS", even when it should, in
+Unicode mode; now it does match when appropriate.
+L<[perl #60156]|http://rt.perl.org/rt3/Ticket/Display.html?id=60156>.
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+The fix for [perl #81230] causes test failures for C<Tk> version 804.029.
+This is still being investigated.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.13.9 represents approximately one month of development since
+Perl 5.13.8 and contains approximately 48000 lines of changes across
+809 files from 35 authors and committers:
+
+Abigail, Ævar Arnfjörð Bjarmason, brian d foy, Chris 'BinGOs' Williams,
+Craig A. Berry, David Golden, David Leadbeater, David Mitchell, Father
+Chrysostomos, Florian Ragwitz, Gerard Goossen, H.Merijn Brand, Jan
+Dubois, Jerry D. Hedden, Jesse Vincent, John Peacock, Karl Williamson,
+Leon Timmermans, Michael Parker, Michael Stevens, Nicholas Clark,
+Nuno Carvalho, Paul "LeoNerd" Evans, Peter J. Acklam, Peter Martini,
+Rainer Tammer, Reini Urban, Renee Baecker, Ricardo Signes, Robin Barker,
+Tony Cook, Vadim Konovalov, Vincent Pit, Zefram, and Zsbán Ambrus.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod
new file mode 100644
index 00000000000..145d08d463f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod
@@ -0,0 +1,4590 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5140delta - what is new for perl v5.14.0
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.12.0 release and
+the 5.14.0 release.
+
+If you are upgrading from an earlier release such as 5.10.0, first read
+L<perl5120delta>, which describes differences between 5.10.0 and
+5.12.0.
+
+Some of the bug fixes in this release have been backported to subsequent
+releases of 5.12.x. Those are indicated with the 5.12.x version in
+parentheses.
+
+=head1 Notice
+
+As described in L<perlpolicy>, the release of Perl 5.14.0 marks the
+official end of support for Perl 5.10. Users of Perl 5.10 or earlier
+should consider upgrading to a more recent release of Perl.
+
+=head1 Core Enhancements
+
+=head2 Unicode
+
+=head3 Unicode Version 6.0 is now supported (mostly)
+
+Perl comes with the Unicode 6.0 data base updated with
+L<Corrigendum #8|http://www.unicode.org/versions/corrigendum8.html>,
+with one exception noted below.
+See L<http://unicode.org/versions/Unicode6.0.0/> for details on the new
+release. Perl does not support any Unicode provisional properties,
+including the new ones for this release.
+
+Unicode 6.0 has chosen to use the name C<BELL> for the character at U+1F514,
+which is a symbol that looks like a bell, and is used in Japanese cell
+phones. This conflicts with the long-standing Perl usage of having
+C<BELL> mean the ASCII C<BEL> character, U+0007. In Perl 5.14,
+C<\N{BELL}> continues to mean U+0007, but its use generates a
+deprecation warning message unless such warnings are turned off. The
+new name for U+0007 in Perl is C<ALERT>, which corresponds nicely
+with the existing shorthand sequence for it, C<"\a">. C<\N{BEL}>
+means U+0007, with no warning given. The character at U+1F514 has no
+name in 5.14, but can be referred to by C<\N{U+1F514}>.
+In Perl 5.16, C<\N{BELL}> will refer to U+1F514; all code
+that uses C<\N{BELL}> should be converted to use C<\N{ALERT}>,
+C<\N{BEL}>, or C<"\a"> before upgrading.
+
+=head3 Full functionality for C<use feature 'unicode_strings'>
+
+This release provides full functionality for C<use feature
+'unicode_strings'>. Under its scope, all string operations executed and
+regular expressions compiled (even if executed outside its scope) have
+Unicode semantics. See L<feature/"the 'unicode_strings' feature">.
+However, see L</Inverted bracketed character classes and multi-character folds>,
+below.
+
+This feature avoids most forms of the "Unicode Bug" (see
+L<perlunicode/The "Unicode Bug"> for details). If there is any
+possibility that your code will process Unicode strings, you are
+I<strongly> encouraged to use this subpragma to avoid nasty surprises.
+
+=head3 C<\N{I<NAME>}> and C<charnames> enhancements
+
+=over
+
+=item *
+
+C<\N{I<NAME>}> and C<charnames::vianame> now know about the abbreviated
+character names listed by Unicode, such as NBSP, SHY, LRO, ZWJ, etc.; all
+customary abbreviations for the C0 and C1 control characters (such as
+ACK, BEL, CAN, etc.); and a few new variants of some C1 full names that
+are in common usage.
+
+=item *
+
+Unicode has several I<named character sequences>, in which particular sequences
+of code points are given names. C<\N{I<NAME>}> now recognizes these.
+
+=item *
+
+C<\N{I<NAME>}>, C<charnames::vianame>, and C<charnames::viacode>
+now know about every character in Unicode. In earlier releases of
+Perl, they didn't know about the Hangul syllables nor several
+CJK (Chinese/Japanese/Korean) characters.
+
+=item *
+
+It is now possible to override Perl's abbreviations with your own custom aliases.
+
+=item *
+
+You can now create a custom alias of the ordinal of a
+character, known by C<\N{I<NAME>}>, C<charnames::vianame()>, and
+C<charnames::viacode()>. Previously, aliases had to be to official
+Unicode character names. This made it impossible to create an alias for
+unnamed code points, such as those reserved for private
+use.
+
+=item *
+
+The new function charnames::string_vianame() is a run-time version
+of C<\N{I<NAME>}}>, returning the string of characters whose Unicode
+name is its parameter. It can handle Unicode named character
+sequences, whereas the pre-existing charnames::vianame() cannot,
+as the latter returns a single code point.
+
+=back
+
+See L<charnames> for details on all these changes.
+
+=head3 New warnings categories for problematic (non-)Unicode code points.
+
+Three new warnings subcategories of "utf8" have been added. These
+allow you to turn off some "utf8" warnings, while allowing
+other warnings to remain on. The three categories are:
+C<surrogate> when UTF-16 surrogates are encountered;
+C<nonchar> when Unicode non-character code points are encountered;
+and C<non_unicode> when code points above the legal Unicode
+maximum of 0x10FFFF are encountered.
+
+=head3 Any unsigned value can be encoded as a character
+
+With this release, Perl is adopting a model that any unsigned value
+can be treated as a code point and encoded internally (as utf8)
+without warnings, not just the code points that are legal in Unicode.
+However, unless utf8 or the corresponding sub-category (see previous
+item) of lexical warnings have been explicitly turned off, outputting
+or executing a Unicode-defined operation such as upper-casing
+on such a code point generates a warning. Attempting to input these
+using strict rules (such as with the C<:encoding(UTF-8)> layer)
+will continue to fail. Prior to this release, handling was
+inconsistent and in places, incorrect.
+
+Unicode non-characters, some of which previously were erroneously
+considered illegal in places by Perl, contrary to the Unicode Standard,
+are now always legal internally. Inputting or outputting them
+works the same as with the non-legal Unicode code points, because the Unicode
+Standard says they are (only) illegal for "open interchange".
+
+=head3 Unicode database files not installed
+
+The Unicode database files are no longer installed with Perl. This
+doesn't affect any functionality in Perl and saves significant disk
+space. If you need these files, you can download them from
+L<http://www.unicode.org/Public/zipped/6.0.0/>.
+
+=head2 Regular Expressions
+
+=head3 C<(?^...)> construct signifies default modifiers
+
+An ASCII caret C<"^"> immediately following a C<"(?"> in a regular
+expression now means that the subexpression does not inherit surrounding
+modifiers such as C</i>, but reverts to the Perl defaults. Any modifiers
+following the caret override the defaults.
+
+Stringification of regular expressions now uses this notation.
+For example, C<qr/hlagh/i> would previously be stringified as
+C<(?i-xsm:hlagh)>, but now it's stringified as C<(?^i:hlagh)>.
+
+The main purpose of this change is to allow tests that rely on the
+stringification I<not> to have to change whenever new modifiers are added.
+See L<perlre/Extended Patterns>.
+
+This change is likely to break code that compares stringified regular
+expressions with fixed strings containing C<?-xism>.
+
+=head3 C</d>, C</l>, C</u>, and C</a> modifiers
+
+Four new regular expression modifiers have been added. These are mutually
+exclusive: one only can be turned on at a time.
+
+=over
+
+=item *
+
+The C</l> modifier says to compile the regular expression as if it were
+in the scope of C<use locale>, even if it is not.
+
+=item *
+
+The C</u> modifier says to compile the regular expression as if it were
+in the scope of a C<use feature 'unicode_strings'> pragma.
+
+=item *
+
+The C</d> (default) modifier is used to override any C<use locale> and
+C<use feature 'unicode_strings'> pragmas in effect at the time
+of compiling the regular expression.
+
+=item *
+
+The C</a> regular expression modifier restricts C<\s>, C<\d> and C<\w> and
+the POSIX (C<[[:posix:]]>) character classes to the ASCII range. Their
+complements and C<\b> and C<\B> are correspondingly
+affected. Otherwise, C</a> behaves like the C</u> modifier, in that
+case-insensitive matching uses Unicode semantics.
+
+If the C</a> modifier is repeated, then additionally in case-insensitive
+matching, no ASCII character can match a non-ASCII character.
+For example,
+
+ "k" =~ /\N{KELVIN SIGN}/ai
+ "\xDF" =~ /ss/ai
+
+match but
+
+ "k" =~ /\N{KELVIN SIGN}/aai
+ "\xDF" =~ /ss/aai
+
+do not match.
+
+=back
+
+See L<perlre/Modifiers> for more detail.
+
+=head3 Non-destructive substitution
+
+The substitution (C<s///>) and transliteration
+(C<y///>) operators now support an C</r> option that
+copies the input variable, carries out the substitution on
+the copy, and returns the result. The original remains unmodified.
+
+ my $old = "cat";
+ my $new = $old =~ s/cat/dog/r;
+ # $old is "cat" and $new is "dog"
+
+This is particularly useful with C<map>. See L<perlop> for more examples.
+
+=head3 Re-entrant regular expression engine
+
+It is now safe to use regular expressions within C<(?{...})> and
+C<(??{...})> code blocks inside regular expressions.
+
+These blocks are still experimental, however, and still have problems with
+lexical (C<my>) variables and abnormal exiting.
+
+=head3 C<use re '/flags'>
+
+The C<re> pragma now has the ability to turn on regular expression flags
+till the end of the lexical scope:
+
+ use re "/x";
+ "foo" =~ / (.+) /; # /x implied
+
+See L<re/"'/flags' mode"> for details.
+
+=head3 \o{...} for octals
+
+There is a new octal escape sequence, C<"\o">, in doublequote-like
+contexts. This construct allows large octal ordinals beyond the
+current max of 0777 to be represented. It also allows you to specify a
+character in octal which can safely be concatenated with other regex
+snippets and which won't be confused with being a backreference to
+a regex capture group. See L<perlre/Capture groups>.
+
+=head3 Add C<\p{Titlecase}> as a synonym for C<\p{Title}>
+
+This synonym is added for symmetry with the Unicode property names
+C<\p{Uppercase}> and C<\p{Lowercase}>.
+
+=head3 Regular expression debugging output improvement
+
+Regular expression debugging output (turned on by C<use re 'debug'>) now
+uses hexadecimal when escaping non-ASCII characters, instead of octal.
+
+=head3 Return value of C<delete $+{...}>
+
+Custom regular expression engines can now determine the return value of
+C<delete> on an entry of C<%+> or C<%->.
+
+=head2 Syntactical Enhancements
+
+=head3 Array and hash container functions accept references
+
+B<Warning:> This feature is considered experimental, as the exact behaviour
+may change in a future version of Perl.
+
+All builtin functions that operate directly on array or hash
+containers now also accept unblessed hard references to arrays
+or hashes:
+
+ |----------------------------+---------------------------|
+ | Traditional syntax | Terse syntax |
+ |----------------------------+---------------------------|
+ | push @$arrayref, @stuff | push $arrayref, @stuff |
+ | unshift @$arrayref, @stuff | unshift $arrayref, @stuff |
+ | pop @$arrayref | pop $arrayref |
+ | shift @$arrayref | shift $arrayref |
+ | splice @$arrayref, 0, 2 | splice $arrayref, 0, 2 |
+ | keys %$hashref | keys $hashref |
+ | keys @$arrayref | keys $arrayref |
+ | values %$hashref | values $hashref |
+ | values @$arrayref | values $arrayref |
+ | ($k,$v) = each %$hashref | ($k,$v) = each $hashref |
+ | ($k,$v) = each @$arrayref | ($k,$v) = each $arrayref |
+ |----------------------------+---------------------------|
+
+This allows these builtin functions to act on long dereferencing chains
+or on the return value of subroutines without needing to wrap them in
+C<@{}> or C<%{}>:
+
+ push @{$obj->tags}, $new_tag; # old way
+ push $obj->tags, $new_tag; # new way
+
+ for ( keys %{$hoh->{genres}{artists}} ) {...} # old way
+ for ( keys $hoh->{genres}{artists} ) {...} # new way
+
+=head3 Single term prototype
+
+The C<+> prototype is a special alternative to C<$> that acts like
+C<\[@%]> when given a literal array or hash variable, but will otherwise
+force scalar context on the argument. See L<perlsub/Prototypes>.
+
+=head3 C<package> block syntax
+
+A package declaration can now contain a code block, in which case the
+declaration is in scope inside that block only. So C<package Foo { ... }>
+is precisely equivalent to C<{ package Foo; ... }>. It also works with
+a version number in the declaration, as in C<package Foo 1.2 { ... }>,
+which is its most attractive feature. See L<perlfunc>.
+
+=head3 Statement labels can appear in more places
+
+Statement labels can now occur before any type of statement or declaration,
+such as C<package>.
+
+=head3 Stacked labels
+
+Multiple statement labels can now appear before a single statement.
+
+=head3 Uppercase X/B allowed in hexadecimal/binary literals
+
+Literals may now use either upper case C<0X...> or C<0B...> prefixes,
+in addition to the already supported C<0x...> and C<0b...>
+syntax [perl #76296].
+
+C, Ruby, Python, and PHP already support this syntax, and it makes
+Perl more internally consistent: a round-trip with C<eval sprintf
+"%#X", 0x10> now returns C<16>, just like C<eval sprintf "%#x", 0x10>.
+
+=head3 Overridable tie functions
+
+C<tie>, C<tied> and C<untie> can now be overridden [perl #75902].
+
+=head2 Exception Handling
+
+To make them more reliable and consistent, several changes have been made
+to how C<die>, C<warn>, and C<$@> behave.
+
+=over
+
+=item *
+
+When an exception is thrown inside an C<eval>, the exception is no
+longer at risk of being clobbered by destructor code running during unwinding.
+Previously, the exception was written into C<$@>
+early in the throwing process, and would be overwritten if C<eval> was
+used internally in the destructor for an object that had to be freed
+while exiting from the outer C<eval>. Now the exception is written
+into C<$@> last thing before exiting the outer C<eval>, so the code
+running immediately thereafter can rely on the value in C<$@> correctly
+corresponding to that C<eval>. (C<$@> is still also set before exiting the
+C<eval>, for the sake of destructors that rely on this.)
+
+Likewise, a C<local $@> inside an C<eval> no longer clobbers any
+exception thrown in its scope. Previously, the restoration of C<$@> upon
+unwinding would overwrite any exception being thrown. Now the exception
+gets to the C<eval> anyway. So C<local $@> is safe before a C<die>.
+
+Exceptions thrown from object destructors no longer modify the C<$@>
+of the surrounding context. (If the surrounding context was exception
+unwinding, this used to be another way to clobber the exception being
+thrown.) Previously such an exception was
+sometimes emitted as a warning, and then either was
+string-appended to the surrounding C<$@> or completely replaced the
+surrounding C<$@>, depending on whether that exception and the surrounding
+C<$@> were strings or objects. Now, an exception in this situation is
+always emitted as a warning, leaving the surrounding C<$@> untouched.
+In addition to object destructors, this also affects any function call
+run by XS code using the C<G_KEEPERR> flag.
+
+=item *
+
+Warnings for C<warn> can now be objects in the same way as exceptions
+for C<die>. If an object-based warning gets the default handling
+of writing to standard error, it is stringified as before with the
+filename and line number appended. But a C<$SIG{__WARN__}> handler now
+receives an object-based warning as an object, where previously it
+was passed the result of stringifying the object.
+
+=back
+
+=head2 Other Enhancements
+
+=head3 Assignment to C<$0> sets the legacy process name with prctl() on Linux
+
+On Linux the legacy process name is now set with L<prctl(2)>, in
+addition to altering the POSIX name via C<argv[0]>, as Perl has done
+since version 4.000. Now system utilities that read the legacy process
+name such as I<ps>, I<top>, and I<killall> recognize the name you set when
+assigning to C<$0>. The string you supply is truncated at 16 bytes;
+this limitation is imposed by Linux.
+
+=head3 srand() now returns the seed
+
+This allows programs that need to have repeatable results not to have to come
+up with their own seed-generating mechanism. Instead, they can use srand()
+and stash the return value for future use. One example is a test program with
+too many combinations to test comprehensively in the time available for
+each run. It can test a random subset each time and, should there be a failure,
+log the seed used for that run so this can later be used to produce the same results.
+
+=head3 printf-like functions understand post-1980 size modifiers
+
+Perl's printf and sprintf operators, and Perl's internal printf replacement
+function, now understand the C90 size modifiers "hh" (C<char>), "z"
+(C<size_t>), and "t" (C<ptrdiff_t>). Also, when compiled with a C99
+compiler, Perl now understands the size modifier "j" (C<intmax_t>)
+(but this is not portable).
+
+So, for example, on any modern machine, C<sprintf("%hhd", 257)> returns "1".
+
+=head3 New global variable C<${^GLOBAL_PHASE}>
+
+A new global variable, C<${^GLOBAL_PHASE}>, has been added to allow
+introspection of the current phase of the Perl interpreter. It's explained in
+detail in L<perlvar/"${^GLOBAL_PHASE}"> and in
+L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+
+=head3 C<-d:-foo> calls C<Devel::foo::unimport>
+
+The syntax B<-d:foo> was extended in 5.6.1 to make B<-d:foo=bar>
+equivalent to B<-MDevel::foo=bar>, which expands
+internally to C<use Devel::foo 'bar'>.
+Perl now allows prefixing the module name with B<->, with the same
+semantics as B<-M>; that is:
+
+=over 4
+
+=item C<-d:-foo>
+
+Equivalent to B<-M-Devel::foo>: expands to
+C<no Devel::foo> and calls C<< Devel::foo->unimport() >>
+if that method exists.
+
+=item C<-d:-foo=bar>
+
+Equivalent to B<-M-Devel::foo=bar>: expands to C<no Devel::foo 'bar'>,
+and calls C<< Devel::foo->unimport("bar") >> if that method exists.
+
+=back
+
+This is particularly useful for suppressing the default actions of a
+C<Devel::*> module's C<import> method whilst still loading it for debugging.
+
+=head3 Filehandle method calls load L<IO::File> on demand
+
+When a method call on a filehandle would die because the method cannot
+be resolved and L<IO::File> has not been loaded, Perl now loads L<IO::File>
+via C<require> and attempts method resolution again:
+
+ open my $fh, ">", $file;
+ $fh->binmode(":raw"); # loads IO::File and succeeds
+
+This also works for globs like C<STDOUT>, C<STDERR>, and C<STDIN>:
+
+ STDOUT->autoflush(1);
+
+Because this on-demand load happens only if method resolution fails, the
+legacy approach of manually loading an L<IO::File> parent class for partial
+method support still works as expected:
+
+ use IO::Handle;
+ open my $fh, ">", $file;
+ $fh->autoflush(1); # IO::File not loaded
+
+=head3 Improved IPv6 support
+
+The C<Socket> module provides new affordances for IPv6,
+including implementations of the C<Socket::getaddrinfo()> and
+C<Socket::getnameinfo()> functions, along with related constants and a
+handful of new functions. See L<Socket>.
+
+=head3 DTrace probes now include package name
+
+The C<DTrace> probes now include an additional argument, C<arg3>, which contains
+the package the subroutine being entered or left was compiled in.
+
+For example, using the following DTrace script:
+
+ perl$target:::sub-entry
+ {
+ printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3));
+ }
+
+and then running:
+
+ $ perl -e 'sub test { }; test'
+
+C<DTrace> will print:
+
+ main::test
+
+=head2 New C APIs
+
+See L</Internal Changes>.
+
+=head1 Security
+
+=head2 User-defined regular expression properties
+
+L<perlunicode/"User-Defined Character Properties"> documented that you can
+create custom properties by defining subroutines whose names begin with
+"In" or "Is". However, Perl did not actually enforce that naming
+restriction, so C<\p{foo::bar}> could call foo::bar() if it existed. The documented
+convention is now enforced.
+
+Also, Perl no longer allows tainted regular expressions to invoke a
+user-defined property. It simply dies instead [perl #82616].
+
+=head1 Incompatible Changes
+
+Perl 5.14.0 is not binary-compatible with any previous stable release.
+
+In addition to the sections that follow, see L</C API Changes>.
+
+=head2 Regular Expressions and String Escapes
+
+=head3 Inverted bracketed character classes and multi-character folds
+
+Some characters match a sequence of two or three characters in C</i>
+regular expression matching under Unicode rules. One example is
+C<LATIN SMALL LETTER SHARP S> which matches the sequence C<ss>.
+
+ 'ss' =~ /\A[\N{LATIN SMALL LETTER SHARP S}]\z/i # Matches
+
+This, however, can lead to very counter-intuitive results, especially
+when inverted. Because of this, Perl 5.14 does not use multi-character C</i>
+matching in inverted character classes.
+
+ 'ss' =~ /\A[^\N{LATIN SMALL LETTER SHARP S}]+\z/i # ???
+
+This should match any sequences of characters that aren't the C<SHARP S>
+nor what C<SHARP S> matches under C</i>. C<"s"> isn't C<SHARP S>, but
+Unicode says that C<"ss"> is what C<SHARP S> matches under C</i>. So
+which one "wins"? Do you fail the match because the string has C<ss> or
+accept it because it has an C<s> followed by another C<s>?
+
+Earlier releases of Perl did allow this multi-character matching,
+but due to bugs, it mostly did not work.
+
+=head3 \400-\777
+
+In certain circumstances, C<\400>-C<\777> in regexes have behaved
+differently than they behave in all other doublequote-like contexts.
+Since 5.10.1, Perl has issued a deprecation warning when this happens.
+Now, these literals behave the same in all doublequote-like contexts,
+namely to be equivalent to C<\x{100}>-C<\x{1FF}>, with no deprecation
+warning.
+
+Use of C<\400>-C<\777> in the command-line option B<-0> retain their
+conventional meaning. They slurp whole input files; previously, this
+was documented only for B<-0777>.
+
+Because of various ambiguities, you should use the new
+C<\o{...}> construct to represent characters in octal instead.
+
+=head3 Most C<\p{}> properties are now immune to case-insensitive matching
+
+For most Unicode properties, it doesn't make sense to have them match
+differently under C</i> case-insensitive matching. Doing so can lead
+to unexpected results and potential security holes. For example
+
+ m/\p{ASCII_Hex_Digit}+/i
+
+could previously match non-ASCII characters because of the Unicode
+matching rules (although there were several bugs with this). Now
+matching under C</i> gives the same results as non-C</i> matching except
+for those few properties where people have come to expect differences,
+namely the ones where casing is an integral part of their meaning, such
+as C<m/\p{Uppercase}/i> and C<m/\p{Lowercase}/i>, both of which match
+the same code points as matched by C<m/\p{Cased}/i>.
+Details are in L<perlrecharclass/Unicode Properties>.
+
+User-defined property handlers that need to match differently under C</i>
+must be changed to read the new boolean parameter passed to them, which
+is non-zero if case-insensitive matching is in effect and 0 otherwise.
+See L<perlunicode/User-Defined Character Properties>.
+
+=head3 \p{} implies Unicode semantics
+
+Specifying a Unicode property in the pattern indicates
+that the pattern is meant for matching according to Unicode rules, the way
+C<\N{I<NAME>}> does.
+
+=head3 Regular expressions retain their localeness when interpolated
+
+Regular expressions compiled under C<use locale> now retain this when
+interpolated into a new regular expression compiled outside a
+C<use locale>, and vice-versa.
+
+Previously, one regular expression interpolated into another inherited
+the localeness of the surrounding regex, losing whatever state it
+originally had. This is considered a bug fix, but may trip up code that
+has come to rely on the incorrect behaviour.
+
+=head3 Stringification of regexes has changed
+
+Default regular expression modifiers are now notated using
+C<(?^...)>. Code relying on the old stringification will fail.
+This is so that when new modifiers are added, such code won't
+have to keep changing each time this happens, because the stringification
+will automatically incorporate the new modifiers.
+
+Code that needs to work properly with both old- and new-style regexes
+can avoid the whole issue by using (for perls since 5.9.5; see L<re>):
+
+ use re qw(regexp_pattern);
+ my ($pat, $mods) = regexp_pattern($re_ref);
+
+If the actual stringification is important or older Perls need to be
+supported, you can use something like the following:
+
+ # Accept both old and new-style stringification
+ my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? "^" : "-xism";
+
+And then use C<$modifiers> instead of C<-xism>.
+
+=head3 Run-time code blocks in regular expressions inherit pragmata
+
+Code blocks in regular expressions (C<(?{...})> and C<(??{...})>) previously
+did not inherit pragmata (strict, warnings, etc.) if the regular expression
+was compiled at run time as happens in cases like these two:
+
+ use re "eval";
+ $foo =~ $bar; # when $bar contains (?{...})
+ $foo =~ /$bar(?{ $finished = 1 })/;
+
+This bug has now been fixed, but code that relied on the buggy behaviour
+may need to be fixed to account for the correct behaviour.
+
+=head2 Stashes and Package Variables
+
+=head3 Localised tied hashes and arrays are no longed tied
+
+In the following:
+
+ tie @a, ...;
+ {
+ local @a;
+ # here, @a is a now a new, untied array
+ }
+ # here, @a refers again to the old, tied array
+
+Earlier versions of Perl incorrectly tied the new local array. This has
+now been fixed. This fix could however potentially cause a change in
+behaviour of some code.
+
+=head3 Stashes are now always defined
+
+C<defined %Foo::> now always returns true, even when no symbols have yet been
+defined in that package.
+
+This is a side-effect of removing a special-case kludge in the tokeniser,
+added for 5.10.0, to hide side-effects of changes to the internal storage of
+hashes. The fix drastically reduces hashes' memory overhead.
+
+Calling defined on a stash has been deprecated since 5.6.0, warned on
+lexicals since 5.6.0, and warned for stashes and other package
+variables since 5.12.0. C<defined %hash> has always exposed an
+implementation detail: emptying a hash by deleting all entries from it does
+not make C<defined %hash> false. Hence C<defined %hash> is not valid code to
+determine whether an arbitrary hash is empty. Instead, use the behaviour
+of an empty C<%hash> always returning false in scalar context.
+
+=head3 Clearing stashes
+
+Stash list assignment C<%foo:: = ()> used to make the stash temporarily
+anonymous while it was being emptied. Consequently, any of its
+subroutines referenced elsewhere would become anonymous, showing up as
+"(unknown)" in C<caller>. They now retain their package names such that
+C<caller> returns the original sub name if there is still a reference
+to its typeglob and "foo::__ANON__" otherwise [perl #79208].
+
+=head3 Dereferencing typeglobs
+
+If you assign a typeglob to a scalar variable:
+
+ $glob = *foo;
+
+the glob that is copied to C<$glob> is marked with a special flag
+indicating that the glob is just a copy. This allows subsequent
+assignments to C<$glob> to overwrite the glob. The original glob,
+however, is immutable.
+
+Some Perl operators did not distinguish between these two types of globs.
+This would result in strange behaviour in edge cases: C<untie $scalar>
+would not untie the scalar if the last thing assigned to it was a glob
+(because it treated it as C<untie *$scalar>, which unties a handle).
+Assignment to a glob slot (such as C<*$glob = \@some_array>) would simply
+assign C<\@some_array> to C<$glob>.
+
+To fix this, the C<*{}> operator (including its C<*foo> and C<*$foo> forms)
+has been modified to make a new immutable glob if its operand is a glob
+copy. This allows operators that make a distinction between globs and
+scalars to be modified to treat only immutable globs as globs. (C<tie>,
+C<tied> and C<untie> have been left as they are for compatibility's sake,
+but will warn. See L</Deprecations>.)
+
+This causes an incompatible change in code that assigns a glob to the
+return value of C<*{}> when that operator was passed a glob copy. Take the
+following code, for instance:
+
+ $glob = *foo;
+ *$glob = *bar;
+
+The C<*$glob> on the second line returns a new immutable glob. That new
+glob is made an alias to C<*bar>. Then it is discarded. So the second
+assignment has no effect.
+
+See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for
+more detail.
+
+=head3 Magic variables outside the main package
+
+In previous versions of Perl, magic variables like C<$!>, C<%SIG>, etc. would
+"leak" into other packages. So C<%foo::SIG> could be used to access signals,
+C<${"foo::!"}> (with strict mode off) to access C's C<errno>, etc.
+
+This was a bug, or an "unintentional" feature, which caused various ill effects,
+such as signal handlers being wiped when modules were loaded, etc.
+
+This has been fixed (or the feature has been removed, depending on how you see
+it).
+
+=head3 local($_) strips all magic from $_
+
+local() on scalar variables gives them a new value but keeps all
+their magic intact. This has proven problematic for the default
+scalar variable $_, where L<perlsub> recommends that any subroutine
+that assigns to $_ should first localize it. This would throw an
+exception if $_ is aliased to a read-only variable, and could in general have
+various unintentional side-effects.
+
+Therefore, as an exception to the general rule, local($_) will not
+only assign a new value to $_, but also remove all existing magic from
+it as well.
+
+=head3 Parsing of package and variable names
+
+Parsing the names of packages and package variables has changed:
+multiple adjacent pairs of colons, as in C<foo::::bar>, are now all
+treated as package separators.
+
+Regardless of this change, the exact parsing of package separators has
+never been guaranteed and is subject to change in future Perl versions.
+
+=head2 Changes to Syntax or to Perl Operators
+
+=head3 C<given> return values
+
+C<given> blocks now return the last evaluated
+expression, or an empty list if the block was exited by C<break>. Thus you
+can now write:
+
+ my $type = do {
+ given ($num) {
+ break when undef;
+ "integer" when /^[+-]?[0-9]+$/;
+ "float" when /^[+-]?[0-9]+(?:\.[0-9]+)?$/;
+ "unknown";
+ }
+ };
+
+See L<perlsyn/Return value> for details.
+
+=head3 Change in parsing of certain prototypes
+
+Functions declared with the following prototypes now behave correctly as unary
+functions:
+
+ *
+ \$ \% \@ \* \&
+ \[...]
+ ;$ ;*
+ ;\$ ;\% etc.
+ ;\[...]
+
+Due to this bug fix [perl #75904], functions
+using the C<(*)>, C<(;$)> and C<(;*)> prototypes
+are parsed with higher precedence than before. So
+in the following example:
+
+ sub foo(;$);
+ foo $a < $b;
+
+the second line is now parsed correctly as C<< foo($a) < $b >>, rather than
+C<< foo($a < $b) >>. This happens when one of these operators is used in
+an unparenthesised argument:
+
+ < > <= >= lt gt le ge
+ == != <=> eq ne cmp ~~
+ &
+ | ^
+ &&
+ || //
+ .. ...
+ ?:
+ = += -= *= etc.
+ , =>
+
+=head3 Smart-matching against array slices
+
+Previously, the following code resulted in a successful match:
+
+ my @a = qw(a y0 z);
+ my @b = qw(a x0 z);
+ @a[0 .. $#b] ~~ @b;
+
+This odd behaviour has now been fixed [perl #77468].
+
+=head3 Negation treats strings differently from before
+
+The unary negation operator, C<->, now treats strings that look like numbers
+as numbers [perl #57706].
+
+=head3 Negative zero
+
+Negative zero (-0.0), when converted to a string, now becomes "0" on all
+platforms. It used to become "-0" on some, but "0" on others.
+
+If you still need to determine whether a zero is negative, use
+C<sprintf("%g", $zero) =~ /^-/> or the L<Data::Float> module on CPAN.
+
+=head3 C<:=> is now a syntax error
+
+Previously C<my $pi := 4> was exactly equivalent to C<my $pi : = 4>,
+with the C<:> being treated as the start of an attribute list, ending before
+the C<=>. The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is
+now a syntax error. This allows future use of C<:=> as a new token.
+
+Outside the core's tests for it, we find no Perl 5 code on CPAN
+using this construction, so we believe that this change will have
+little impact on real-world codebases.
+
+If it is absolutely necessary to have empty attribute lists (for example,
+because of a code generator), simply avoid the error by adding a space before
+the C<=>.
+
+=head3 Change in the parsing of identifiers
+
+Characters outside the Unicode "XIDStart" set are no longer allowed at the
+beginning of an identifier. This means that certain accents and marks
+that normally follow an alphabetic character may no longer be the first
+character of an identifier.
+
+=head2 Threads and Processes
+
+=head3 Directory handles not copied to threads
+
+On systems other than Windows that do not have
+a C<fchdir> function, newly-created threads no
+longer inherit directory handles from their parent threads. Such programs
+would usually have crashed anyway [perl #75154].
+
+=head3 C<close> on shared pipes
+
+To avoid deadlocks, the C<close> function no longer waits for the
+child process to exit if the underlying file descriptor is still
+in use by another thread. It returns true in such cases.
+
+=head3 fork() emulation will not wait for signalled children
+
+On Windows parent processes would not terminate until all forked
+children had terminated first. However, C<kill("KILL", ...)> is
+inherently unstable on pseudo-processes, and C<kill("TERM", ...)>
+might not get delivered if the child is blocked in a system call.
+
+To avoid the deadlock and still provide a safe mechanism to terminate
+the hosting process, Perl now no longer waits for children that
+have been sent a SIGTERM signal. It is up to the parent process to
+waitpid() for these children if child-cleanup processing must be
+allowed to finish. However, it is also then the responsibility of the
+parent to avoid the deadlock by making sure the child process
+can't be blocked on I/O.
+
+See L<perlfork> for more information about the fork() emulation on
+Windows.
+
+=head2 Configuration
+
+=head3 Naming fixes in Policy_sh.SH may invalidate Policy.sh
+
+Several long-standing typos and naming confusions in F<Policy_sh.SH> have
+been fixed, standardizing on the variable names used in F<config.sh>.
+
+This will change the behaviour of F<Policy.sh> if you happen to have been
+accidentally relying on its incorrect behaviour.
+
+=head3 Perl source code is read in text mode on Windows
+
+Perl scripts used to be read in binary mode on Windows for the benefit
+of the L<ByteLoader> module (which is no longer part of core Perl). This
+had the side-effect of breaking various operations on the C<DATA> filehandle,
+including seek()/tell(), and even simply reading from C<DATA> after filehandles
+have been flushed by a call to system(), backticks, fork() etc.
+
+The default build options for Windows have been changed to read Perl source
+code on Windows in text mode now. L<ByteLoader> will (hopefully) be updated on
+CPAN to automatically handle this situation [perl #28106].
+
+=head1 Deprecations
+
+See also L</Deprecated C APIs>.
+
+=head2 Omitting a space between a regular expression and subsequent word
+
+Omitting the space between a regular expression operator or
+its modifiers and the following word is deprecated. For
+example, C<< m/foo/sand $bar >> is for now still parsed
+as C<< m/foo/s and $bar >>, but will now issue a warning.
+
+=head2 C<\cI<X>>
+
+The backslash-c construct was designed as a way of specifying
+non-printable characters, but there were no restrictions (on ASCII
+platforms) on what the character following the C<c> could be. Now,
+a deprecation warning is raised if that character isn't an ASCII character.
+Also, a deprecation warning is raised for C<"\c{"> (which is the same
+as simply saying C<";">).
+
+=head2 C<"\b{"> and C<"\B{">
+
+In regular expressions, a literal C<"{"> immediately following a C<"\b">
+(not in a bracketed character class) or a C<"\B{"> is now deprecated
+to allow for its future use by Perl itself.
+
+=head2 Perl 4-era .pl libraries
+
+Perl bundles a handful of library files that predate Perl 5.
+This bundling is now deprecated for most of these files, which are now
+available from CPAN. The affected files now warn when run, if they were
+installed as part of the core.
+
+This is a mandatory warning, not obeying B<-X> or lexical warning bits.
+The warning is modelled on that supplied by F<deprecate.pm> for
+deprecated-in-core F<.pm> libraries. It points to the specific CPAN
+distribution that contains the F<.pl> libraries. The CPAN versions, of
+course, do not generate the warning.
+
+=head2 List assignment to C<$[>
+
+Assignment to C<$[> was deprecated and started to give warnings in
+Perl version 5.12.0. This version of Perl (5.14) now also emits a warning
+when assigning to C<$[> in list context. This fixes an oversight in 5.12.0.
+
+=head2 Use of qw(...) as parentheses
+
+Historically the parser fooled itself into thinking that C<qw(...)> literals
+were always enclosed in parentheses, and as a result you could sometimes omit
+parentheses around them:
+
+ for $x qw(a b c) { ... }
+
+The parser no longer lies to itself in this way. Wrap the list literal in
+parentheses like this:
+
+ for $x (qw(a b c)) { ... }
+
+This is being deprecated because the parentheses in C<for $i (1,2,3) { ... }>
+are not part of expression syntax. They are part of the statement
+syntax, with the C<for> statement wanting literal parentheses.
+The synthetic parentheses that a C<qw> expression acquired were only
+intended to be treated as part of expression syntax.
+
+Note that this does not change the behaviour of cases like:
+
+ use POSIX qw(setlocale localeconv);
+ our @EXPORT = qw(foo bar baz);
+
+where parentheses were never required around the expression.
+
+=head2 C<\N{BELL}>
+
+This is because Unicode is using that name for a different character.
+See L</Unicode Version 6.0 is now supported (mostly)> for more
+explanation.
+
+=head2 C<?PATTERN?>
+
+C<?PATTERN?> (without the initial C<m>) has been deprecated and now produces
+a warning. This is to allow future use of C<?> in new operators.
+The match-once functionality is still available as C<m?PATTERN?>.
+
+=head2 Tie functions on scalars holding typeglobs
+
+Calling a tie function (C<tie>, C<tied>, C<untie>) with a scalar argument
+acts on a filehandle if the scalar happens to hold a typeglob.
+
+This is a long-standing bug that will be removed in Perl 5.16, as
+there is currently no way to tie the scalar itself when it holds
+a typeglob, and no way to untie a scalar that has had a typeglob
+assigned to it.
+
+Now there is a deprecation warning whenever a tie
+function is used on a handle without an explicit C<*>.
+
+=head2 User-defined case-mapping
+
+This feature is being deprecated due to its many issues, as documented in
+L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
+This feature will be removed in Perl 5.16. Instead use the CPAN module
+L<Unicode::Casing>, which provides improved functionality.
+
+=head2 Deprecated modules
+
+The following module will be removed from the core distribution in a
+future release, and should be installed from CPAN instead. Distributions
+on CPAN that require this should add it to their prerequisites. The
+core version of these module now issues a deprecation warning.
+
+If you ship a packaged version of Perl, either alone or as part of a
+larger system, then you should carefully consider the repercussions of
+core module deprecations. You may want to consider shipping your default
+build of Perl with a package for the deprecated module that
+installs into C<vendor> or C<site> Perl library directories. This will
+inhibit the deprecation warnings.
+
+Alternatively, you may want to consider patching F<lib/deprecate.pm>
+to provide deprecation warnings specific to your packaging system
+or distribution of Perl, consistent with how your packaging system
+or distribution manages a staged transition from a release where the
+installation of a single package provides the given functionality, to
+a later release where the system administrator needs to know to install
+multiple packages to get that same functionality.
+
+You can silence these deprecation warnings by installing the module
+in question from CPAN. To install the latest version of it by role
+rather than by name, just install C<Task::Deprecations::5_14>.
+
+=over
+
+=item L<Devel::DProf>
+
+We strongly recommend that you install and use L<Devel::NYTProf> instead
+of L<Devel::DProf>, as L<Devel::NYTProf> offers significantly
+improved profiling and reporting.
+
+=back
+
+=head1 Performance Enhancements
+
+=head2 "Safe signals" optimisation
+
+Signal dispatch has been moved from the runloop into control ops.
+This should give a few percent speed increase, and eliminates nearly
+all the speed penalty caused by the introduction of "safe signals"
+in 5.8.0. Signals should still be dispatched within the same
+statement as they were previously. If this does I<not> happen, or
+if you find it possible to create uninterruptible loops, this is a
+bug, and reports are encouraged of how to recreate such issues.
+
+=head2 Optimisation of shift() and pop() calls without arguments
+
+Two fewer OPs are used for shift() and pop() calls with no argument (with
+implicit C<@_>). This change makes shift() 5% faster than C<shift @_>
+on non-threaded perls, and 25% faster on threaded ones.
+
+=head2 Optimisation of regexp engine string comparison work
+
+The C<foldEQ_utf8> API function for case-insensitive comparison of strings (which
+is used heavily by the regexp engine) was substantially refactored and
+optimised -- and its documentation much improved as a free bonus.
+
+=head2 Regular expression compilation speed-up
+
+Compiling regular expressions has been made faster when upgrading
+the regex to utf8 is necessary but this isn't known when the compilation begins.
+
+=head2 String appending is 100 times faster
+
+When doing a lot of string appending, perls built to use the system's
+C<malloc> could end up allocating a lot more memory than needed in a
+inefficient way.
+
+C<sv_grow>, the function used to allocate more memory if necessary
+when appending to a string, has been taught to round up the memory
+it requests to a certain geometric progression, making it much faster on
+certain platforms and configurations. On Win32, it's now about 100 times
+faster.
+
+=head2 Eliminate C<PL_*> accessor functions under ithreads
+
+When C<MULTIPLICITY> was first developed, and interpreter state moved into
+an interpreter struct, thread- and interpreter-local C<PL_*> variables
+were defined as macros that called accessor functions (returning the
+address of the value) outside the Perl core. The intent was to allow
+members within the interpreter struct to change size without breaking
+binary compatibility, so that bug fixes could be merged to a maintenance
+branch that necessitated such a size change. This mechanism was redundant
+and penalised well-behaved code. It has been removed.
+
+=head2 Freeing weak references
+
+When there are many weak references to an object, freeing that object
+can under some circumstances take O(I<NE<0xB2>>) time to free, where
+I<N> is the number of references. The circumstances in which this can happen
+have been reduced [perl #75254]
+
+=head2 Lexical array and hash assignments
+
+An earlier optimisation to speed up C<my @array = ...> and
+C<my %hash = ...> assignments caused a bug and was disabled in Perl 5.12.0.
+
+Now we have found another way to speed up these assignments [perl #82110].
+
+=head2 C<@_> uses less memory
+
+Previously, C<@_> was allocated for every subroutine at compile time with
+enough space for four entries. Now this allocation is done on demand when
+the subroutine is called [perl #72416].
+
+=head2 Size optimisations to SV and HV structures
+
+C<xhv_fill> has been eliminated from C<struct xpvhv>, saving 1 IV per hash and
+on some systems will cause C<struct xpvhv> to become cache-aligned. To avoid
+this memory saving causing a slowdown elsewhere, boolean use of C<HvFILL>
+now calls C<HvTOTALKEYS> instead (which is equivalent), so while the fill
+data when actually required are now calculated on demand, cases when
+this needs to be done should be rare.
+
+The order of structure elements in SV bodies has changed. Effectively,
+the NV slot has swapped location with STASH and MAGIC. As all access to
+SV members is via macros, this should be completely transparent. This
+change allows the space saving for PVHVs documented above, and may reduce
+the memory allocation needed for PVIVs on some architectures.
+
+C<XPV>, C<XPVIV>, and C<XPVNV> now allocate only the parts of the C<SV> body
+they actually use, saving some space.
+
+Scalars containing regular expressions now allocate only the part of the C<SV>
+body they actually use, saving some space.
+
+=head2 Memory consumption improvements to Exporter
+
+The C<@EXPORT_FAIL> AV is no longer created unless needed, hence neither is
+the typeglob backing it. This saves about 200 bytes for every package that
+uses Exporter but doesn't use this functionality.
+
+=head2 Memory savings for weak references
+
+For weak references, the common case of just a single weak reference
+per referent has been optimised to reduce the storage required. In this
+case it saves the equivalent of one small Perl array per referent.
+
+=head2 C<%+> and C<%-> use less memory
+
+The bulk of the C<Tie::Hash::NamedCapture> module used to be in the Perl
+core. It has now been moved to an XS module to reduce overhead for
+programs that do not use C<%+> or C<%->.
+
+=head2 Multiple small improvements to threads
+
+The internal structures of threading now make fewer API calls and fewer
+allocations, resulting in noticeably smaller object code. Additionally,
+many thread context checks have been deferred so they're done only
+as needed (although this is only possible for non-debugging builds).
+
+=head2 Adjacent pairs of nextstate opcodes are now optimized away
+
+Previously, in code such as
+
+ use constant DEBUG => 0;
+
+ sub GAK {
+ warn if DEBUG;
+ print "stuff\n";
+ }
+
+the ops for C<warn if DEBUG> would be folded to a C<null> op (C<ex-const>), but
+the C<nextstate> op would remain, resulting in a runtime op dispatch of
+C<nextstate>, C<nextstate>, etc.
+
+The execution of a sequence of C<nextstate> ops is indistinguishable from just
+the last C<nextstate> op so the peephole optimizer now eliminates the first of
+a pair of C<nextstate> ops except when the first carries a label, since labels
+must not be eliminated by the optimizer, and label usage isn't conclusively known
+at compile time.
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<CPAN::Meta::YAML> 0.003 has been added as a dual-life module. It supports a
+subset of YAML sufficient for reading and writing F<META.yml> and F<MYMETA.yml> files
+included with CPAN distributions or generated by the module installation
+toolchain. It should not be used for any other general YAML parsing or
+generation task.
+
+=item *
+
+L<CPAN::Meta> version 2.110440 has been added as a dual-life module. It
+provides a standard library to read, interpret and write CPAN distribution
+metadata files (like F<META.json> and F<META.yml)> that describe a
+distribution, its contents, and the requirements for building it and
+installing it. The latest CPAN distribution metadata specification is
+included as L<CPAN::Meta::Spec> and notes on changes in the specification
+over time are given in L<CPAN::Meta::History>.
+
+=item *
+
+L<HTTP::Tiny> 0.012 has been added as a dual-life module. It is a very
+small, simple HTTP/1.1 client designed for simple GET requests and file
+mirroring. It has been added so that F<CPAN.pm> and L<CPANPLUS> can
+"bootstrap" HTTP access to CPAN using pure Perl without relying on external
+binaries like L<curl(1)> or L<wget(1)>.
+
+=item *
+
+L<JSON::PP> 2.27105 has been added as a dual-life module to allow CPAN
+clients to read F<META.json> files in CPAN distributions.
+
+=item *
+
+L<Module::Metadata> 1.000004 has been added as a dual-life module. It gathers
+package and POD information from Perl module files. It is a standalone module
+based on L<Module::Build::ModuleInfo> for use by other module installation
+toolchain components. L<Module::Build::ModuleInfo> has been deprecated in
+favor of this module instead.
+
+=item *
+
+L<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl
+operating system names (like "dragonfly" or "MSWin32") to more generic types
+with standardized names (like "Unix" or "Windows"). It has been refactored
+out of L<Module::Build> and L<ExtUtils::CBuilder> and consolidates such mappings into
+a single location for easier maintenance.
+
+=item *
+
+The following modules were added by the L<Unicode::Collate>
+upgrade. See below for details.
+
+L<Unicode::Collate::CJK::Big5>
+
+L<Unicode::Collate::CJK::GB2312>
+
+L<Unicode::Collate::CJK::JISX0208>
+
+L<Unicode::Collate::CJK::Korean>
+
+L<Unicode::Collate::CJK::Pinyin>
+
+L<Unicode::Collate::CJK::Stroke>
+
+=item *
+
+L<Version::Requirements> version 0.101020 has been added as a dual-life
+module. It provides a standard library to model and manipulates module
+prerequisites and version constraints defined in L<CPAN::Meta::Spec>.
+
+=back
+
+=head2 Updated Modules and Pragma
+
+=over 4
+
+=item *
+
+L<attributes> has been upgraded from version 0.12 to 0.14.
+
+=item *
+
+L<Archive::Extract> has been upgraded from version 0.38 to 0.48.
+
+Updates since 0.38 include: a safe print method that guards
+L<Archive::Extract> from changes to C<$\>; a fix to the tests when run in core
+Perl; support for TZ files; a modification for the lzma
+logic to favour L<IO::Uncompress::Unlzma>; and a fix
+for an issue with NetBSD-current and its new L<unzip(1)>
+executable.
+
+=item *
+
+L<Archive::Tar> has been upgraded from version 1.54 to 1.76.
+
+Important changes since 1.54 include the following:
+
+=over
+
+=item *
+
+Compatibility with busybox implementations of L<tar(1)>.
+
+=item *
+
+A fix so that write() and create_archive()
+close only filehandles they themselves opened.
+
+=item *
+
+A bug was fixed regarding the exit code of extract_archive.
+
+=item *
+
+The L<ptar(1)> utility has a new option to allow safe creation of
+tarballs without world-writable files on Windows, allowing those
+archives to be uploaded to CPAN.
+
+=item *
+
+A new L<ptargrep(1)> utility for using regular expressions against
+the contents of files in a tar archive.
+
+=item *
+
+L<pax> extended headers are now skipped.
+
+=back
+
+=item *
+
+L<Attribute::Handlers> has been upgraded from version 0.87 to 0.89.
+
+=item *
+
+L<autodie> has been upgraded from version 2.06_01 to 2.1001.
+
+=item *
+
+L<AutoLoader> has been upgraded from version 5.70 to 5.71.
+
+=item *
+
+The L<B> module has been upgraded from version 1.23 to 1.29.
+
+It no longer crashes when taking apart a C<y///> containing characters
+outside the octet range or compiled in a C<use utf8> scope.
+
+The size of the shared object has been reduced by about 40%, with no
+reduction in functionality.
+
+=item *
+
+L<B::Concise> has been upgraded from version 0.78 to 0.83.
+
+L<B::Concise> marks rv2sv(), rv2av(), and rv2hv() ops with the new
+C<OPpDEREF> flag as "DREFed".
+
+It no longer produces mangled output with the B<-tree> option
+[perl #80632].
+
+=item *
+
+L<B::Debug> has been upgraded from version 1.12 to 1.16.
+
+=item *
+
+L<B::Deparse> has been upgraded from version 0.96 to 1.03.
+
+The deparsing of a C<nextstate> op has changed when it has both a
+change of package relative to the previous nextstate, or a change of
+C<%^H> or other state and a label. The label was previously emitted
+first, but is now emitted last (5.12.1).
+
+The C<no 5.13.2> or similar form is now correctly handled by L<B::Deparse>
+(5.12.3).
+
+L<B::Deparse> now properly handles the code that applies a conditional
+pattern match against implicit C<$_> as it was fixed in [perl #20444].
+
+Deparsing of C<our> followed by a variable with funny characters
+(as permitted under the C<use utf8> pragma) has also been fixed [perl #33752].
+
+=item *
+
+L<B::Lint> has been upgraded from version 1.11_01 to 1.13.
+
+=item *
+
+L<base> has been upgraded from version 2.15 to 2.16.
+
+=item *
+
+L<Benchmark> has been upgraded from version 1.11 to 1.12.
+
+=item *
+
+L<bignum> has been upgraded from version 0.23 to 0.27.
+
+=item *
+
+L<Carp> has been upgraded from version 1.15 to 1.20.
+
+L<Carp> now detects incomplete L<caller()|perlfunc/"caller EXPR">
+overrides and avoids using bogus C<@DB::args>. To provide backtraces,
+Carp relies on particular behaviour of the caller() builtin.
+L<Carp> now detects if other code has overridden this with an
+incomplete implementation, and modifies its backtrace accordingly.
+Previously incomplete overrides would cause incorrect values in
+backtraces (best case), or obscure fatal errors (worst case).
+
+This fixes certain cases of "Bizarre copy of ARRAY" caused by modules
+overriding caller() incorrectly (5.12.2).
+
+It now also avoids using regular expressions that cause Perl to
+load its Unicode tables, so as to avoid the "BEGIN not safe after
+errors" error that ensue if there has been a syntax error
+[perl #82854].
+
+=item *
+
+L<CGI> has been upgraded from version 3.48 to 3.52.
+
+This provides the following security fixes: the MIME boundary in
+multipart_init() is now random and the handling of
+newlines embedded in header values has been improved.
+
+=item *
+
+L<Compress::Raw::Bzip2> has been upgraded from version 2.024 to 2.033.
+
+It has been updated to use L<bzip2(1)> 1.0.6.
+
+=item *
+
+L<Compress::Raw::Zlib> has been upgraded from version 2.024 to 2.033.
+
+=item *
+
+L<constant> has been upgraded from version 1.20 to 1.21.
+
+Unicode constants work once more. They have been broken since Perl 5.10.0
+[CPAN RT #67525].
+
+=item *
+
+L<CPAN> has been upgraded from version 1.94_56 to 1.9600.
+
+Major highlights:
+
+=over 4
+
+=item * much less configuration dialog hassle
+
+=item * support for F<META/MYMETA.json>
+
+=item * support for L<local::lib>
+
+=item * support for L<HTTP::Tiny> to reduce the dependency on FTP sites
+
+=item * automatic mirror selection
+
+=item * iron out all known bugs in configure_requires
+
+=item * support for distributions compressed with L<bzip2(1)>
+
+=item * allow F<Foo/Bar.pm> on the command line to mean C<Foo::Bar>
+
+=back
+
+=item *
+
+L<CPANPLUS> has been upgraded from version 0.90 to 0.9103.
+
+A change to F<cpanp-run-perl>
+resolves L<RT #55964|http://rt.cpan.org/Public/Bug/Display.html?id=55964>
+and L<RT #57106|http://rt.cpan.org/Public/Bug/Display.html?id=57106>, both
+of which related to failures to install distributions that use
+C<Module::Install::DSL> (5.12.2).
+
+A dependency on L<Config> was not recognised as a
+core module dependency. This has been fixed.
+
+L<CPANPLUS> now includes support for F<META.json> and F<MYMETA.json>.
+
+=item *
+
+L<CPANPLUS::Dist::Build> has been upgraded from version 0.46 to 0.54.
+
+=item *
+
+L<Data::Dumper> has been upgraded from version 2.125 to 2.130_02.
+
+The indentation used to be off when C<$Data::Dumper::Terse> was set. This
+has been fixed [perl #73604].
+
+This upgrade also fixes a crash when using custom sort functions that might
+cause the stack to change [perl #74170].
+
+L<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
+[perl #72332].
+
+=item *
+
+L<DB_File> has been upgraded from version 1.820 to 1.821.
+
+=item *
+
+L<DBM_Filter> has been upgraded from version 0.03 to 0.04.
+
+=item *
+
+L<Devel::DProf> has been upgraded from version 20080331.00 to 20110228.00.
+
+Merely loading L<Devel::DProf> now no longer triggers profiling to start.
+Both C<use Devel::DProf> and C<perl -d:DProf ...> behave as before and start
+the profiler.
+
+B<NOTE>: L<Devel::DProf> is deprecated and will be removed from a future
+version of Perl. We strongly recommend that you install and use
+L<Devel::NYTProf> instead, as it offers significantly improved
+profiling and reporting.
+
+=item *
+
+L<Devel::Peek> has been upgraded from version 1.04 to 1.07.
+
+=item *
+
+L<Devel::SelfStubber> has been upgraded from version 1.03 to 1.05.
+
+=item *
+
+L<diagnostics> has been upgraded from version 1.19 to 1.22.
+
+It now renders pod links slightly better, and has been taught to find
+descriptions for messages that share their descriptions with other
+messages.
+
+=item *
+
+L<Digest::MD5> has been upgraded from version 2.39 to 2.51.
+
+It is now safe to use this module in combination with threads.
+
+=item *
+
+L<Digest::SHA> has been upgraded from version 5.47 to 5.61.
+
+L<shasum> now more closely mimics L<sha1sum(1)>/L<md5sum(1)>.
+
+L<Addfile> accepts all POSIX filenames.
+
+New SHA-512/224 and SHA-512/256 transforms (ref. NIST Draft FIPS 180-4
+[February 2011])
+
+=item *
+
+L<DirHandle> has been upgraded from version 1.03 to 1.04.
+
+=item *
+
+L<Dumpvalue> has been upgraded from version 1.13 to 1.16.
+
+=item *
+
+L<DynaLoader> has been upgraded from version 1.10 to 1.13.
+
+It fixes a buffer overflow when passed a very long file name.
+
+It no longer inherits from L<AutoLoader>; hence it no longer
+produces weird error messages for unsuccessful method calls on classes that
+inherit from L<DynaLoader> [perl #84358].
+
+=item *
+
+L<Encode> has been upgraded from version 2.39 to 2.42.
+
+Now, all 66 Unicode non-characters are treated the same way U+FFFF has
+always been treated: in cases when it was disallowed, all 66 are
+disallowed, and in cases where it warned, all 66 warn.
+
+=item *
+
+L<Env> has been upgraded from version 1.01 to 1.02.
+
+=item *
+
+L<Errno> has been upgraded from version 1.11 to 1.13.
+
+The implementation of L<Errno> has been refactored to use about 55% less memory.
+
+On some platforms with unusual header files, like Win32 L<gcc(1)> using C<mingw64>
+headers, some constants that weren't actually error numbers have been exposed
+by L<Errno>. This has been fixed [perl #77416].
+
+=item *
+
+L<Exporter> has been upgraded from version 5.64_01 to 5.64_03.
+
+Exporter no longer overrides C<$SIG{__WARN__}> [perl #74472]
+
+=item *
+
+L<ExtUtils::CBuilder> has been upgraded from version 0.27 to 0.280203.
+
+=item *
+
+L<ExtUtils::Command> has been upgraded from version 1.16 to 1.17.
+
+=item *
+
+L<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
+
+The L<AUTOLOAD> helper code generated by C<ExtUtils::Constant::ProxySubs>
+can now croak() for missing constants, or generate a complete C<AUTOLOAD>
+subroutine in XS, allowing simplification of many modules that use it
+(L<Fcntl>, L<File::Glob>, L<GDBM_File>, L<I18N::Langinfo>, L<POSIX>,
+L<Socket>).
+
+L<ExtUtils::Constant::ProxySubs> can now optionally push the names of all
+constants onto the package's C<@EXPORT_OK>.
+
+=item *
+
+L<ExtUtils::Install> has been upgraded from version 1.55 to 1.56.
+
+=item *
+
+L<ExtUtils::MakeMaker> has been upgraded from version 6.56 to 6.57_05.
+
+=item *
+
+L<ExtUtils::Manifest> has been upgraded from version 1.57 to 1.58.
+
+=item *
+
+L<ExtUtils::ParseXS> has been upgraded from version 2.21 to 2.2210.
+
+=item *
+
+L<Fcntl> has been upgraded from version 1.06 to 1.11.
+
+=item *
+
+L<File::Basename> has been upgraded from version 2.78 to 2.82.
+
+=item *
+
+L<File::CheckTree> has been upgraded from version 4.4 to 4.41.
+
+=item *
+
+L<File::Copy> has been upgraded from version 2.17 to 2.21.
+
+=item *
+
+L<File::DosGlob> has been upgraded from version 1.01 to 1.04.
+
+It allows patterns containing literal parentheses: they no longer need to
+be escaped. On Windows, it no longer
+adds an extra F<./> to file names
+returned when the pattern is a relative glob with a drive specification,
+like F<C:*.pl> [perl #71712].
+
+=item *
+
+L<File::Fetch> has been upgraded from version 0.24 to 0.32.
+
+L<HTTP::Lite> is now supported for the "http" scheme.
+
+The L<fetch(1)> utility is supported on FreeBSD, NetBSD, and
+Dragonfly BSD for the C<http> and C<ftp> schemes.
+
+=item *
+
+L<File::Find> has been upgraded from version 1.15 to 1.19.
+
+It improves handling of backslashes on Windows, so that paths like
+F<C:\dir\/file> are no longer generated [perl #71710].
+
+=item *
+
+L<File::Glob> has been upgraded from version 1.07 to 1.12.
+
+=item *
+
+L<File::Spec> has been upgraded from version 3.31 to 3.33.
+
+Several portability fixes were made in L<File::Spec::VMS>: a colon is now
+recognized as a delimiter in native filespecs; caret-escaped delimiters are
+recognized for better handling of extended filespecs; catpath() returns
+an empty directory rather than the current directory if the input directory
+name is empty; and abs2rel() properly handles Unix-style input (5.12.2).
+
+=item *
+
+L<File::stat> has been upgraded from 1.02 to 1.05.
+
+The C<-x> and C<-X> file test operators now work correctly when run
+by the superuser.
+
+=item *
+
+L<Filter::Simple> has been upgraded from version 0.84 to 0.86.
+
+=item *
+
+L<GDBM_File> has been upgraded from 1.10 to 1.14.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+L<Hash::Util> has been upgraded from 0.07 to 0.11.
+
+L<Hash::Util> no longer emits spurious "uninitialized" warnings when
+recursively locking hashes that have undefined values [perl #74280].
+
+=item *
+
+L<Hash::Util::FieldHash> has been upgraded from version 1.04 to 1.09.
+
+=item *
+
+L<I18N::Collate> has been upgraded from version 1.01 to 1.02.
+
+=item *
+
+L<I18N::Langinfo> has been upgraded from version 0.03 to 0.08.
+
+langinfo() now defaults to using C<$_> if there is no argument given, just
+as the documentation has always claimed.
+
+=item *
+
+L<I18N::LangTags> has been upgraded from version 0.35 to 0.35_01.
+
+=item *
+
+L<if> has been upgraded from version 0.05 to 0.0601.
+
+=item *
+
+L<IO> has been upgraded from version 1.25_02 to 1.25_04.
+
+This version of L<IO> includes a new L<IO::Select>, which now allows L<IO::Handle>
+objects (and objects in derived classes) to be removed from an L<IO::Select> set
+even if the underlying file descriptor is closed or invalid.
+
+=item *
+
+L<IPC::Cmd> has been upgraded from version 0.54 to 0.70.
+
+Resolves an issue with splitting Win32 command lines. An argument
+consisting of the single character "0" used to be omitted (CPAN RT #62961).
+
+=item *
+
+L<IPC::Open3> has been upgraded from 1.05 to 1.09.
+
+open3() now produces an error if the C<exec> call fails, allowing this
+condition to be distinguished from a child process that exited with a
+non-zero status [perl #72016].
+
+The internal xclose() routine now knows how to handle file descriptors as
+documented, so duplicating C<STDIN> in a child process using its file
+descriptor now works [perl #76474].
+
+=item *
+
+L<IPC::SysV> has been upgraded from version 2.01 to 2.03.
+
+=item *
+
+L<lib> has been upgraded from version 0.62 to 0.63.
+
+=item *
+
+L<Locale::Maketext> has been upgraded from version 1.14 to 1.19.
+
+L<Locale::Maketext> now supports external caches.
+
+This upgrade also fixes an infinite loop in
+C<Locale::Maketext::Guts::_compile()> when
+working with tainted values (CPAN RT #40727).
+
+C<< ->maketext >> calls now back up and restore C<$@> so error
+messages are not suppressed (CPAN RT #34182).
+
+=item *
+
+L<Log::Message> has been upgraded from version 0.02 to 0.04.
+
+=item *
+
+L<Log::Message::Simple> has been upgraded from version 0.06 to 0.08.
+
+=item *
+
+L<Math::BigInt> has been upgraded from version 1.89_01 to 1.994.
+
+This fixes, among other things, incorrect results when computing binomial
+coefficients [perl #77640].
+
+It also prevents C<sqrt($int)> from crashing under C<use bigrat>.
+[perl #73534].
+
+=item *
+
+L<Math::BigInt::FastCalc> has been upgraded from version 0.19 to 0.28.
+
+=item *
+
+L<Math::BigRat> has been upgraded from version 0.24 to 0.26_02.
+
+=item *
+
+L<Memoize> has been upgraded from version 1.01_03 to 1.02.
+
+=item *
+
+L<MIME::Base64> has been upgraded from 3.08 to 3.13.
+
+Includes new functions to calculate the length of encoded and decoded
+base64 strings.
+
+Now provides encode_base64url() and decode_base64url() functions to process
+the base64 scheme for "URL applications".
+
+=item *
+
+L<Module::Build> has been upgraded from version 0.3603 to 0.3800.
+
+A notable change is the deprecation of several modules.
+L<Module::Build::Version> has been deprecated and L<Module::Build> now
+relies on the L<version> pragma directly. L<Module::Build::ModuleInfo> has
+been deprecated in favor of a standalone copy called L<Module::Metadata>.
+L<Module::Build::YAML> has been deprecated in favor of L<CPAN::Meta::YAML>.
+
+L<Module::Build> now also generates F<META.json> and F<MYMETA.json> files
+in accordance with version 2 of the CPAN distribution metadata specification,
+L<CPAN::Meta::Spec>. The older format F<META.yml> and F<MYMETA.yml> files are
+still generated.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 2.29 to 2.47.
+
+Besides listing the updated core modules of this release, it also stops listing
+the C<Filespec> module. That module never existed in core. The scripts
+generating L<Module::CoreList> confused it with L<VMS::Filespec>, which actually
+is a core module as of Perl 5.8.7.
+
+=item *
+
+L<Module::Load> has been upgraded from version 0.16 to 0.18.
+
+=item *
+
+L<Module::Load::Conditional> has been upgraded from version 0.34 to 0.44.
+
+=item *
+
+The L<mro> pragma has been upgraded from version 1.02 to 1.07.
+
+=item *
+
+L<NDBM_File> has been upgraded from version 1.08 to 1.12.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+L<Net::Ping> has been upgraded from version 2.36 to 2.38.
+
+=item *
+
+L<NEXT> has been upgraded from version 0.64 to 0.65.
+
+=item *
+
+L<Object::Accessor> has been upgraded from version 0.36 to 0.38.
+
+=item *
+
+L<ODBM_File> has been upgraded from version 1.07 to 1.10.
+
+This fixes a memory leak when DBM filters are used.
+
+=item *
+
+L<Opcode> has been upgraded from version 1.15 to 1.18.
+
+=item *
+
+The L<overload> pragma has been upgraded from 1.10 to 1.13.
+
+C<overload::Method> can now handle subroutines that are themselves blessed
+into overloaded classes [perl #71998].
+
+The documentation has greatly improved. See L</Documentation> below.
+
+=item *
+
+L<Params::Check> has been upgraded from version 0.26 to 0.28.
+
+=item *
+
+The L<parent> pragma has been upgraded from version 0.223 to 0.225.
+
+=item *
+
+L<Parse::CPAN::Meta> has been upgraded from version 1.40 to 1.4401.
+
+The latest Parse::CPAN::Meta can now read YAML and JSON files using
+L<CPAN::Meta::YAML> and L<JSON::PP>, which are now part of the Perl core.
+
+=item *
+
+L<PerlIO::encoding> has been upgraded from version 0.12 to 0.14.
+
+=item *
+
+L<PerlIO::scalar> has been upgraded from 0.07 to 0.11.
+
+A read() after a seek() beyond the end of the string no longer thinks it
+has data to read [perl #78716].
+
+=item *
+
+L<PerlIO::via> has been upgraded from version 0.09 to 0.11.
+
+=item *
+
+L<Pod::Html> has been upgraded from version 1.09 to 1.11.
+
+=item *
+
+L<Pod::LaTeX> has been upgraded from version 0.58 to 0.59.
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.15_02 to 3.15_03.
+
+=item *
+
+L<Pod::Simple> has been upgraded from version 3.13 to 3.16.
+
+=item *
+
+L<POSIX> has been upgraded from 1.19 to 1.24.
+
+It now includes constants for POSIX signal constants.
+
+=item *
+
+The L<re> pragma has been upgraded from version 0.11 to 0.18.
+
+The C<use re '/flags'> subpragma is new.
+
+The regmust() function used to crash when called on a regular expression
+belonging to a pluggable engine. Now it croaks instead.
+
+regmust() no longer leaks memory.
+
+=item *
+
+L<Safe> has been upgraded from version 2.25 to 2.29.
+
+Coderefs returned by reval() and rdo() are now wrapped via
+wrap_code_refs() (5.12.1).
+
+This fixes a possible infinite loop when looking for coderefs.
+
+It adds several C<version::vxs::*> routines to the default share.
+
+=item *
+
+L<SDBM_File> has been upgraded from version 1.06 to 1.09.
+
+=item *
+
+L<SelfLoader> has been upgraded from 1.17 to 1.18.
+
+It now works in taint mode [perl #72062].
+
+=item *
+
+The L<sigtrap> pragma has been upgraded from version 1.04 to 1.05.
+
+It no longer tries to modify read-only arguments when generating a
+backtrace [perl #72340].
+
+=item *
+
+L<Socket> has been upgraded from version 1.87 to 1.94.
+
+See L</Improved IPv6 support> above.
+
+=item *
+
+L<Storable> has been upgraded from version 2.22 to 2.27.
+
+Includes performance improvement for overloaded classes.
+
+This adds support for serialising code references that contain UTF-8 strings
+correctly. The L<Storable> minor version
+number changed as a result, meaning that
+L<Storable> users who set C<$Storable::accept_future_minor> to a C<FALSE> value
+will see errors (see L<Storable/FORWARD COMPATIBILITY> for more details).
+
+Freezing no longer gets confused if the Perl stack gets reallocated
+during freezing [perl #80074].
+
+=item *
+
+L<Sys::Hostname> has been upgraded from version 1.11 to 1.16.
+
+=item *
+
+L<Term::ANSIColor> has been upgraded from version 2.02 to 3.00.
+
+=item *
+
+L<Term::UI> has been upgraded from version 0.20 to 0.26.
+
+=item *
+
+L<Test::Harness> has been upgraded from version 3.17 to 3.23.
+
+=item *
+
+L<Test::Simple> has been upgraded from version 0.94 to 0.98.
+
+Among many other things, subtests without a C<plan> or C<no_plan> now have an
+implicit done_testing() added to them.
+
+=item *
+
+L<Thread::Semaphore> has been upgraded from version 2.09 to 2.12.
+
+It provides two new methods that give more control over the decrementing of
+semaphores: C<down_nb> and C<down_force>.
+
+=item *
+
+L<Thread::Queue> has been upgraded from version 2.11 to 2.12.
+
+=item *
+
+The L<threads> pragma has been upgraded from version 1.75 to 1.83.
+
+=item *
+
+The L<threads::shared> pragma has been upgraded from version 1.32 to 1.37.
+
+=item *
+
+L<Tie::Hash> has been upgraded from version 1.03 to 1.04.
+
+Calling C<< Tie::Hash->TIEHASH() >> used to loop forever. Now it C<croak>s.
+
+=item *
+
+L<Tie::Hash::NamedCapture> has been upgraded from version 0.06 to 0.08.
+
+=item *
+
+L<Tie::RefHash> has been upgraded from version 1.38 to 1.39.
+
+=item *
+
+L<Time::HiRes> has been upgraded from version 1.9719 to 1.9721_01.
+
+=item *
+
+L<Time::Local> has been upgraded from version 1.1901_01 to 1.2000.
+
+=item *
+
+L<Time::Piece> has been upgraded from version 1.15_01 to 1.20_01.
+
+=item *
+
+L<Unicode::Collate> has been upgraded from version 0.52_01 to 0.73.
+
+L<Unicode::Collate> has been updated to use Unicode 6.0.0.
+
+L<Unicode::Collate::Locale> now supports a plethora of new locales: I<ar, be,
+bg, de__phonebook, hu, hy, kk, mk, nso, om, tn, vi, hr, ig, ja, ko, ru, sq,
+se, sr, to, uk, zh, zh__big5han, zh__gb2312han, zh__pinyin>, and I<zh__stroke>.
+
+The following modules have been added:
+
+L<Unicode::Collate::CJK::Big5> for C<zh__big5han> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's big5han ordering.
+
+L<Unicode::Collate::CJK::GB2312> for C<zh__gb2312han> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's gb2312han ordering.
+
+L<Unicode::Collate::CJK::JISX0208> which makes tailoring of 6355 kanji
+(CJK Unified Ideographs) in the JIS X 0208 order.
+
+L<Unicode::Collate::CJK::Korean> which makes tailoring of CJK Unified Ideographs
+in the order of CLDR's Korean ordering.
+
+L<Unicode::Collate::CJK::Pinyin> for C<zh__pinyin> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's pinyin ordering.
+
+L<Unicode::Collate::CJK::Stroke> for C<zh__stroke> which makes
+tailoring of CJK Unified Ideographs in the order of CLDR's stroke ordering.
+
+This also sees the switch from using the pure-Perl version of this
+module to the XS version.
+
+=item *
+
+L<Unicode::Normalize> has been upgraded from version 1.03 to 1.10.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.27 to 0.32.
+
+A new function, Unicode::UCD::num(), has been added. This function
+returns the numeric value of the string passed it or C<undef> if the string
+in its entirety has no "safe" numeric value. (For more detail, and for the
+definition of "safe", see L<Unicode::UCD/num>.)
+
+This upgrade also includes several bug fixes:
+
+=over 4
+
+=item charinfo()
+
+=over 4
+
+=item *
+
+It is now updated to Unicode Version 6.0.0 with I<Corrigendum #8>,
+excepting that, just as with Perl 5.14, the code point at U+1F514 has no name.
+
+=item *
+
+Hangul syllable code points have the correct names, and their
+decompositions are always output without requiring L<Lingua::KO::Hangul::Util>
+to be installed.
+
+=item *
+
+CJK (Chinese-Japanese-Korean) code points U+2A700 to U+2B734
+and U+2B740 to U+2B81D are now properly handled.
+
+=item *
+
+Numeric values are now output for those CJK code points that have them.
+
+=item *
+
+Names output for code points with multiple aliases are now the
+corrected ones.
+
+=back
+
+=item charscript()
+
+This now correctly returns "Unknown" instead of C<undef> for the script
+of a code point that hasn't been assigned another one.
+
+=item charblock()
+
+This now correctly returns "No_Block" instead of C<undef> for the block
+of a code point that hasn't been assigned to another one.
+
+=back
+
+=item *
+
+The L<version> pragma has been upgraded from 0.82 to 0.88.
+
+Because of a bug, now fixed, the is_strict() and is_lax() functions did not
+work when exported (5.12.1).
+
+=item *
+
+The L<warnings> pragma has been upgraded from version 1.09 to 1.12.
+
+Calling C<use warnings> without arguments is now significantly more efficient.
+
+=item *
+
+The L<warnings::register> pragma has been upgraded from version 1.01 to 1.02.
+
+It is now possible to register warning categories other than the names of
+packages using L<warnings::register>. See L<perllexwarn(1)> for more information.
+
+=item *
+
+L<XSLoader> has been upgraded from version 0.10 to 0.13.
+
+=item *
+
+L<VMS::DCLsym> has been upgraded from version 1.03 to 1.05.
+
+Two bugs have been fixed [perl #84086]:
+
+The symbol table name was lost when tying a hash, due to a thinko in
+C<TIEHASH>. The result was that all tied hashes interacted with the
+local symbol table.
+
+Unless a symbol table name had been explicitly specified in the call
+to the constructor, querying the special key C<:LOCAL> failed to
+identify objects connected to the local symbol table.
+
+=item *
+
+The L<Win32> module has been upgraded from version 0.39 to 0.44.
+
+This release has several new functions: Win32::GetSystemMetrics(),
+Win32::GetProductInfo(), Win32::GetOSDisplayName().
+
+The names returned by Win32::GetOSName() and Win32::GetOSDisplayName()
+have been corrected.
+
+=item *
+
+L<XS::Typemap> has been upgraded from version 0.03 to 0.05.
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+As promised in Perl 5.12.0's release notes, the following modules have
+been removed from the core distribution, and if needed should be installed
+from CPAN instead.
+
+=over
+
+=item *
+
+L<Class::ISA> has been removed from the Perl core. Prior version was 0.36.
+
+=item *
+
+L<Pod::Plainer> has been removed from the Perl core. Prior version was 1.02.
+
+=item *
+
+L<Switch> has been removed from the Perl core. Prior version was 2.16.
+
+=back
+
+The removal of L<Shell> has been deferred until after 5.14, as the
+implementation of L<Shell> shipped with 5.12.0 did not correctly issue the
+warning that it was to be removed from core.
+
+=head1 Documentation
+
+=head2 New Documentation
+
+=head3 L<perlgpl>
+
+L<perlgpl> has been updated to contain GPL version 1, as is included in the
+F<README> distributed with Perl (5.12.1).
+
+=head3 Perl 5.12.x delta files
+
+The perldelta files for Perl 5.12.1 to 5.12.3 have been added from the
+maintenance branch: L<perl5121delta>, L<perl5122delta>, L<perl5123delta>.
+
+=head3 L<perlpodstyle>
+
+New style guide for POD documentation,
+split mostly from the NOTES section of the L<pod2man(1)> manpage.
+
+=head3 L<perlsource>, L<perlinterp>, L<perlhacktut>, and L<perlhacktips>
+
+See L</perlhack and perlrepository revamp>, below.
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlmodlib> is now complete
+
+The L<perlmodlib> manpage that came with Perl 5.12.0 was missing several
+modules due to a bug in the script that generates the list. This has been
+fixed [perl #74332] (5.12.1).
+
+=head3 Replace incorrect tr/// table in L<perlebcdic>
+
+L<perlebcdic> contains a helpful table to use in C<tr///> to convert
+between EBCDIC and Latin1/ASCII. The table was the inverse of the one
+it describes, though the code that used the table worked correctly for
+the specific example given.
+
+The table has been corrected and the sample code changed to correspond.
+
+The table has also been changed to hex from octal, and the recipes in the
+pod have been altered to print out leading zeros to make all values
+the same length.
+
+=head3 Tricks for user-defined casing
+
+L<perlunicode> now contains an explanation of how to override, mangle
+and otherwise tweak the way Perl handles upper-, lower- and other-case
+conversions on Unicode data, and how to provide scoped changes to alter
+one's own code's behaviour without stomping on anybody else's.
+
+=head3 INSTALL explicitly states that Perl requires a C89 compiler
+
+This was already true, but it's now Officially Stated For The Record
+(5.12.2).
+
+=head3 Explanation of C<\xI<HH>> and C<\oI<OOO>> escapes
+
+L<perlop> has been updated with more detailed explanation of these two
+character escapes.
+
+=head3 B<-0I<NNN>> switch
+
+In L<perlrun>, the behaviour of the B<-0NNN> switch for B<-0400> or higher
+has been clarified (5.12.2).
+
+=head3 Maintenance policy
+
+L<perlpolicy> now contains the policy on what patches are acceptable for
+maintenance branches (5.12.1).
+
+=head3 Deprecation policy
+
+L<perlpolicy> now contains the policy on compatibility and deprecation
+along with definitions of terms like "deprecation" (5.12.2).
+
+=head3 New descriptions in L<perldiag>
+
+The following existing diagnostics are now documented:
+
+=over 4
+
+=item *
+
+L<Ambiguous use of %c resolved as operator %c|perldiag/"Ambiguous use of %c resolved as operator %c">
+
+=item *
+
+L<Ambiguous use of %c{%s} resolved to %c%s|perldiag/"Ambiguous use of %c{%s} resolved to %c%s">
+
+=item *
+
+L<Ambiguous use of %c{%s[...]} resolved to %c%s[...]|perldiag/"Ambiguous use of %c{%s[...]} resolved to %c%s[...]">
+
+=item *
+
+L<Ambiguous use of %c{%s{...}} resolved to %c%s{...}|perldiag/"Ambiguous use of %c{%s{...}} resolved to %c%s{...}">
+
+=item *
+
+L<Ambiguous use of -%s resolved as -&%s()|perldiag/"Ambiguous use of -%s resolved as -&%s()">
+
+=item *
+
+L<Invalid strict version format (%s)|perldiag/"Invalid strict version format (%s)">
+
+=item *
+
+L<Invalid version format (%s)|perldiag/"Invalid version format (%s)">
+
+=item *
+
+L<Invalid version object|perldiag/"Invalid version object">
+
+=back
+
+=head3 L<perlbook>
+
+L<perlbook> has been expanded to cover many more popular books.
+
+=head3 C<SvTRUE> macro
+
+The documentation for the C<SvTRUE> macro in
+L<perlapi> was simply wrong in stating that
+get-magic is not processed. It has been corrected.
+
+=head3 op manipulation functions
+
+Several API functions that process optrees have been newly documented.
+
+=head3 L<perlvar> revamp
+
+L<perlvar> reorders the variables and groups them by topic. Each variable
+introduced after Perl 5.000 notes the first version in which it is
+available. L<perlvar> also has a new section for deprecated variables to
+note when they were removed.
+
+=head3 Array and hash slices in scalar context
+
+These are now documented in L<perldata>.
+
+=head3 C<use locale> and formats
+
+L<perlform> and L<perllocale> have been corrected to state that
+C<use locale> affects formats.
+
+=head3 L<overload>
+
+L<overload>'s documentation has practically undergone a rewrite. It
+is now much more straightforward and clear.
+
+=head3 perlhack and perlrepository revamp
+
+The L<perlhack> document is now much shorter, and focuses on the Perl 5
+development process and submitting patches to Perl. The technical content
+has been moved to several new documents, L<perlsource>, L<perlinterp>,
+L<perlhacktut>, and L<perlhacktips>. This technical content has
+been only lightly edited.
+
+The perlrepository document has been renamed to L<perlgit>. This new
+document is just a how-to on using git with the Perl source code.
+Any other content that used to be in perlrepository has been moved
+to L<perlhack>.
+
+=head3 Time::Piece examples
+
+Examples in L<perlfaq4> have been updated to show the use of
+L<Time::Piece>.
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+=over
+
+=item Closure prototype called
+
+This error occurs when a subroutine reference passed to an attribute
+handler is called, if the subroutine is a closure [perl #68560].
+
+=item Insecure user-defined property %s
+
+Perl detected tainted data when trying to compile a regular
+expression that contains a call to a user-defined character property
+function, meaning C<\p{IsFoo}> or C<\p{InFoo}>.
+See L<perlunicode/User-Defined Character Properties> and L<perlsec>.
+
+=item panic: gp_free failed to free glob pointer - something is repeatedly re-creating entries
+
+This new error is triggered if a destructor called on an object in a
+typeglob that is being freed creates a new typeglob entry containing an
+object with a destructor that creates a new entry containing an object etc.
+
+=item Parsing code internal error (%s)
+
+This new fatal error is produced when parsing
+code supplied by an extension violates the
+parser's API in a detectable way.
+
+=item refcnt: fd %d%s
+
+This new error only occurs if a internal consistency check fails when a
+pipe is about to be closed.
+
+=item Regexp modifier "/%c" may not appear twice
+
+The regular expression pattern has one of the
+mutually exclusive modifiers repeated.
+
+=item Regexp modifiers "/%c" and "/%c" are mutually exclusive
+
+The regular expression pattern has more than one of the mutually
+exclusive modifiers.
+
+=item Using !~ with %s doesn't make sense
+
+This error occurs when C<!~> is used with C<s///r> or C<y///r>.
+
+=back
+
+=head3 New Warnings
+
+=over
+
+=item "\b{" is deprecated; use "\b\{" instead
+
+=item "\B{" is deprecated; use "\B\{" instead
+
+Use of an unescaped "{" immediately following a C<\b> or C<\B> is now
+deprecated in order to reserve its use for Perl itself in a future release.
+
+=item Operation "%s" returns its argument for ...
+
+Performing an operation requiring Unicode semantics (such as case-folding)
+on a Unicode surrogate or a non-Unicode character now triggers this
+warning.
+
+=item Use of qw(...) as parentheses is deprecated
+
+See L</"Use of qw(...) as parentheses">, above, for details.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+The "Variable $foo is not imported" warning that precedes a
+C<strict 'vars'> error has now been assigned the "misc" category, so that
+C<no warnings> will suppress it [perl #73712].
+
+=item *
+
+warn() and die() now produce "Wide character" warnings when fed a
+character outside the byte range if C<STDERR> is a byte-sized handle.
+
+=item *
+
+The "Layer does not match this perl" error message has been replaced with
+these more helpful messages [perl #73754]:
+
+=over 4
+
+=item *
+
+PerlIO layer function table size (%d) does not match size expected by this
+perl (%d)
+
+=item *
+
+PerlIO layer instance size (%d) does not match size expected by this perl
+(%d)
+
+=back
+
+=item *
+
+The "Found = in conditional" warning that is emitted when a constant is
+assigned to a variable in a condition is now withheld if the constant is
+actually a subroutine or one generated by C<use constant>, since the value
+of the constant may not be known at the time the program is written
+[perl #77762].
+
+=item *
+
+Previously, if none of the gethostbyaddr(), gethostbyname() and
+gethostent() functions were implemented on a given platform, they would
+all die with the message "Unsupported socket function 'gethostent' called",
+with analogous messages for getnet*() and getserv*(). This has been
+corrected.
+
+=item *
+
+The warning message about unrecognized regular expression escapes passed
+through has been changed to include any literal "{" following the
+two-character escape. For example, "\q{" is now emitted instead of "\q".
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<perlbug(1)>
+
+=over 4
+
+=item *
+
+L<perlbug> now looks in the EMAIL environment variable for a return address
+if the REPLY-TO and REPLYTO variables are empty.
+
+=item *
+
+L<perlbug> did not previously generate a "From:" header, potentially
+resulting in dropped mail; it now includes that header.
+
+=item *
+
+The user's address is now used as the Return-Path.
+
+Many systems these days don't have a valid Internet domain name, and
+perlbug@perl.org does not accept email with a return-path that does
+not resolve. So the user's address is now passed to sendmail so it's
+less likely to get stuck in a mail queue somewhere [perl #82996].
+
+=item *
+
+L<perlbug> now always gives the reporter a chance to change the email
+address it guesses for them (5.12.2).
+
+=item *
+
+L<perlbug> should no longer warn about uninitialized values when using the B<-d>
+and B<-v> options (5.12.2).
+
+=back
+
+=head3 L<perl5db.pl>
+
+=over
+
+=item *
+
+The remote terminal works after forking and spawns new sessions, one
+per forked process.
+
+=back
+
+=head3 L<ptargrep>
+
+=over 4
+
+=item *
+
+L<ptargrep> is a new utility to apply pattern matching to the contents of
+files in a tar archive. It comes with C<Archive::Tar>.
+
+=back
+
+=head1 Configuration and Compilation
+
+See also L</"Naming fixes in Policy_sh.SH may invalidate Policy.sh">,
+above.
+
+=over 4
+
+=item *
+
+CCINCDIR and CCLIBDIR for the mingw64 cross-compiler are now correctly
+under F<$(CCHOME)\mingw\include> and F<\lib> rather than immediately below
+F<$(CCHOME)>.
+
+This means the "incpath", "libpth", "ldflags", "lddlflags" and
+"ldflags_nolargefiles" values in F<Config.pm> and F<Config_heavy.pl> are now
+set correctly.
+
+=item *
+
+C<make test.valgrind> has been adjusted to account for F<cpan/dist/ext>
+separation.
+
+=item *
+
+On compilers that support it, B<-Wwrite-strings> is now added to cflags by
+default.
+
+=item *
+
+The L<Encode> module can now (once again) be included in a static Perl
+build. The special-case handling for this situation got broken in Perl
+5.11.0, and has now been repaired.
+
+=item *
+
+The previous default size of a PerlIO buffer (4096 bytes) has been increased
+to the larger of 8192 bytes and your local BUFSIZ. Benchmarks show that doubling
+this decade-old default increases read and write performance by around
+25% to 50% when using the default layers of perlio on top of unix. To choose
+a non-default size, such as to get back the old value or to obtain an even
+larger value, configure with:
+
+ ./Configure -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=N
+
+where N is the desired size in bytes; it should probably be a multiple of
+your page size.
+
+=item *
+
+An "incompatible operand types" error in ternary expressions when building
+with C<clang> has been fixed (5.12.2).
+
+=item *
+
+Perl now skips setuid L<File::Copy> tests on partitions it detects mounted
+as C<nosuid> (5.12.2).
+
+=back
+
+=head1 Platform Support
+
+=head2 New Platforms
+
+=over 4
+
+=item AIX
+
+Perl now builds on AIX 4.2 (5.12.1).
+
+=back
+
+=head2 Discontinued Platforms
+
+=over 4
+
+=item Apollo DomainOS
+
+The last vestiges of support for this platform have been excised from
+the Perl distribution. It was officially discontinued in version 5.12.0.
+It had not worked for years before that.
+
+=item MacOS Classic
+
+The last vestiges of support for this platform have been excised from the
+Perl distribution. It was officially discontinued in an earlier version.
+
+=back
+
+=head2 Platform-Specific Notes
+
+=head3 AIX
+
+=over
+
+=item *
+
+F<README.aix> has been updated with information about the XL C/C++ V11 compiler
+suite (5.12.2).
+
+=back
+
+=head3 ARM
+
+=over
+
+=item *
+
+The C<d_u32align> configuration probe on ARM has been fixed (5.12.2).
+
+=back
+
+=head3 Cygwin
+
+=over 4
+
+=item *
+
+L<MakeMaker> has been updated to build manpages on cygwin.
+
+=item *
+
+Improved rebase behaviour
+
+If a DLL is updated on cygwin the old imagebase address is reused.
+This solves most rebase errors, especially when updating on core DLL's.
+See L<http://www.tishler.net/jason/software/rebase/rebase-2.4.2.README>
+for more information.
+
+=item *
+
+Support for the standard cygwin dll prefix (needed for FFIs)
+
+=item *
+
+Updated build hints file
+
+=back
+
+=head3 FreeBSD 7
+
+=over
+
+=item *
+
+FreeBSD 7 no longer contains F</usr/bin/objformat>. At build time,
+Perl now skips the F<objformat> check for versions 7 and higher and
+assumes ELF (5.12.1).
+
+=back
+
+=head3 HP-UX
+
+=over
+
+=item *
+
+Perl now allows B<-Duse64bitint> without promoting to C<use64bitall> on HP-UX
+(5.12.1).
+
+=back
+
+=head3 IRIX
+
+=over
+
+=item *
+
+Conversion of strings to floating-point numbers is now more accurate on
+IRIX systems [perl #32380].
+
+=back
+
+=head3 Mac OS X
+
+=over
+
+=item *
+
+Early versions of Mac OS X (Darwin) had buggy implementations of the
+setregid(), setreuid(), setrgid(,) and setruid() functions, so Perl
+would pretend they did not exist.
+
+These functions are now recognised on Mac OS 10.5 (Leopard; Darwin 9) and
+higher, as they have been fixed [perl #72990].
+
+=back
+
+=head3 MirBSD
+
+=over
+
+=item *
+
+Previously if you built Perl with a shared F<libperl.so> on MirBSD (the
+default config), it would work up to the installation; however, once
+installed, it would be unable to find F<libperl>. Path handling is now
+treated as in the other BSD dialects.
+
+=back
+
+=head3 NetBSD
+
+=over
+
+=item *
+
+The NetBSD hints file has been changed to make the system malloc the
+default.
+
+=back
+
+=head3 OpenBSD
+
+=over
+
+=item *
+
+OpenBSD E<gt> 3.7 has a new malloc implementation which is I<mmap>-based,
+and as such can release memory back to the OS; however, Perl's use of
+this malloc causes a substantial slowdown, so we now default to using
+Perl's malloc instead [perl #75742].
+
+=back
+
+=head3 OpenVOS
+
+=over
+
+=item *
+
+Perl now builds again with OpenVOS (formerly known as Stratus VOS)
+[perl #78132] (5.12.3).
+
+=back
+
+=head3 Solaris
+
+=over
+
+=item *
+
+DTrace is now supported on Solaris. There used to be build failures, but
+these have been fixed [perl #73630] (5.12.3).
+
+=back
+
+=head3 VMS
+
+=over
+
+=item *
+
+Extension building on older (pre 7.3-2) VMS systems was broken because
+configure.com hit the DCL symbol length limit of 1K. We now work within
+this limit when assembling the list of extensions in the core build (5.12.1).
+
+=item *
+
+We fixed configuring and building Perl with B<-Uuseperlio> (5.12.1).
+
+=item *
+
+C<PerlIOUnix_open> now honours the default permissions on VMS.
+
+When C<perlio> became the default and C<unix> became the default bottom layer,
+the most common path for creating files from Perl became C<PerlIOUnix_open>,
+which has always explicitly used C<0666> as the permission mask. This prevents
+inheriting permissions from RMS defaults and ACLs, so to avoid that problem,
+we now pass C<0777> to open(). In theVMS CRTL, C<0777> has a special
+meaning over and above intersecting with the current umask; specifically, it
+allows Unix syscalls to preserve native default permissions (5.12.3).
+
+=item *
+
+The shortening of symbols longer than 31 characters in the core C sources
+and in extensions is now by default done by the C compiler rather than by
+xsubpp (which could only do so for generated symbols in XS code). You can
+reenable xsubpp's symbol shortening by configuring with -Uuseshortenedsymbols,
+but you'll have some work to do to get the core sources to compile.
+
+=item *
+
+Record-oriented files (record format variable or variable with fixed control)
+opened for write by the C<perlio> layer will now be line-buffered to prevent the
+introduction of spurious line breaks whenever the perlio buffer fills up.
+
+=item *
+
+F<git_version.h> is now installed on VMS. This was an oversight in v5.12.0 which
+caused some extensions to fail to build (5.12.2).
+
+=item *
+
+Several memory leaks in L<stat()|perlfunc/"stat FILEHANDLE"> have been fixed (5.12.2).
+
+=item *
+
+A memory leak in Perl_rename() due to a double allocation has been
+fixed (5.12.2).
+
+=item *
+
+A memory leak in vms_fid_to_name() (used by realpath() and
+realname()> has been fixed (5.12.2).
+
+=back
+
+=head3 Windows
+
+See also L</"fork() emulation will not wait for signalled children"> and
+L</"Perl source code is read in text mode on Windows">, above.
+
+=over 4
+
+=item *
+
+Fixed build process for SDK2003SP1 compilers.
+
+=item *
+
+Compilation with Visual Studio 2010 is now supported.
+
+=item *
+
+When using old 32-bit compilers, the define C<_USE_32BIT_TIME_T> is now
+set in C<$Config{ccflags}>. This improves portability when compiling
+XS extensions using new compilers, but for a Perl compiled with old 32-bit
+compilers.
+
+=item *
+
+C<$Config{gccversion}> is now set correctly when Perl is built using the
+mingw64 compiler from L<http://mingw64.org> [perl #73754].
+
+=item *
+
+When building Perl with the mingw64 x64 cross-compiler C<incpath>,
+C<libpth>, C<ldflags>, C<lddlflags> and C<ldflags_nolargefiles> values
+in F<Config.pm> and F<Config_heavy.pl> were not previously being set
+correctly because, with that compiler, the include and lib directories
+are not immediately below C<$(CCHOME)> (5.12.2).
+
+=item *
+
+The build process proceeds more smoothly with mingw and dmake when
+F<C:\MSYS\bin> is in the PATH, due to a C<Cwd> fix.
+
+=item *
+
+Support for building with Visual C++ 2010 is now underway, but is not yet
+complete. See F<README.win32> or L<perlwin32> for more details.
+
+=item *
+
+The option to use an externally-supplied crypt(), or to build with no
+crypt() at all, has been removed. Perl supplies its own crypt()
+implementation for Windows, and the political situation that required
+this part of the distribution to sometimes be omitted is long gone.
+
+=back
+
+=head1 Internal Changes
+
+=head2 New APIs
+
+=head3 CLONE_PARAMS structure added to ease correct thread creation
+
+Modules that create threads should now create C<CLONE_PARAMS> structures
+by calling the new function Perl_clone_params_new(), and free them with
+Perl_clone_params_del(). This will ensure compatibility with any future
+changes to the internals of the C<CLONE_PARAMS> structure layout, and that
+it is correctly allocated and initialised.
+
+=head3 New parsing functions
+
+Several functions have been added for parsing Perl statements and
+expressions. These functions are meant to be used by XS code invoked
+during Perl parsing, in a recursive-descent manner, to allow modules to
+augment the standard Perl syntax.
+
+=over
+
+=item *
+
+L<parse_stmtseq()|perlapi/parse_stmtseq>
+parses a sequence of statements, up to closing brace or EOF.
+
+=item *
+
+L<parse_fullstmt()|perlapi/parse_fullstmt>
+parses a complete Perl statement, including optional label.
+
+=item *
+
+L<parse_barestmt()|perlapi/parse_barestmt>
+parses a statement without a label.
+
+=item *
+
+L<parse_block()|perlapi/parse_block>
+parses a code block.
+
+=item *
+
+L<parse_label()|perlapi/parse_label>
+parses a statement label, separate from statements.
+
+=item *
+
+L<C<parse_fullexpr()>|perlapi/parse_fullexpr>,
+L<C<parse_listexpr()>|perlapi/parse_listexpr>,
+L<C<parse_termexpr()>|perlapi/parse_termexpr>, and
+L<C<parse_arithexpr()>|perlapi/parse_arithexpr>
+parse expressions at various precedence levels.
+
+=back
+
+=head3 Hints hash API
+
+A new C API for introspecting the hinthash C<%^H> at runtime has been
+added. See C<cop_hints_2hv>, C<cop_hints_fetchpvn>, C<cop_hints_fetchpvs>,
+C<cop_hints_fetchsv>, and C<hv_copy_hints_hv> in L<perlapi> for details.
+
+A new, experimental API has been added for accessing the internal
+structure that Perl uses for C<%^H>. See the functions beginning with
+C<cophh_> in L<perlapi>.
+
+=head3 C interface to caller()
+
+The C<caller_cx> function has been added as an XSUB-writer's equivalent of
+caller(). See L<perlapi> for details.
+
+=head3 Custom per-subroutine check hooks
+
+XS code in an extension module can now annotate a subroutine (whether
+implemented in XS or in Perl) so that nominated XS code will be called
+at compile time (specifically as part of op checking) to change the op
+tree of that subroutine. The compile-time check function (supplied by
+the extension module) can implement argument processing that can't be
+expressed as a prototype, generate customised compile-time warnings,
+perform constant folding for a pure function, inline a subroutine
+consisting of sufficiently simple ops, replace the whole call with a
+custom op, and so on. This was previously all possible by hooking the
+C<entersub> op checker, but the new mechanism makes it easy to tie the
+hook to a specific subroutine. See L<perlapi/cv_set_call_checker>.
+
+To help in writing custom check hooks, several subtasks within standard
+C<entersub> op checking have been separated out and exposed in the API.
+
+=head3 Improved support for custom OPs
+
+Custom ops can now be registered with the new C<custom_op_register> C
+function and the C<XOP> structure. This will make it easier to add new
+properties of custom ops in the future. Two new properties have been added
+already, C<xop_class> and C<xop_peep>.
+
+C<xop_class> is one of the OA_*OP constants. It allows L<B> and other
+introspection mechanisms to work with custom ops
+that aren't BASEOPs. C<xop_peep> is a pointer to
+a function that will be called for ops of this
+type from C<Perl_rpeep>.
+
+See L<perlguts/Custom Operators> and L<perlapi/Custom Operators> for more
+detail.
+
+The old C<PL_custom_op_names>/C<PL_custom_op_descs> interface is still
+supported but discouraged.
+
+=head3 Scope hooks
+
+It is now possible for XS code to hook into Perl's lexical scope
+mechanism at compile time, using the new C<Perl_blockhook_register>
+function. See L<perlguts/"Compile-time scope hooks">.
+
+=head3 The recursive part of the peephole optimizer is now hookable
+
+In addition to C<PL_peepp>, for hooking into the toplevel peephole optimizer, a
+C<PL_rpeepp> is now available to hook into the optimizer recursing into
+side-chains of the optree.
+
+=head3 New non-magical variants of existing functions
+
+The following functions/macros have been added to the API. The C<*_nomg>
+macros are equivalent to their non-C<_nomg> variants, except that they ignore
+get-magic. Those ending in C<_flags> allow one to specify whether
+get-magic is processed.
+
+ sv_2bool_flags
+ SvTRUE_nomg
+ sv_2nv_flags
+ SvNV_nomg
+ sv_cmp_flags
+ sv_cmp_locale_flags
+ sv_eq_flags
+ sv_collxfrm_flags
+
+In some of these cases, the non-C<_flags> functions have
+been replaced with wrappers around the new functions.
+
+=head3 pv/pvs/sv versions of existing functions
+
+Many functions ending with pvn now have equivalent C<pv/pvs/sv> versions.
+
+=head3 List op-building functions
+
+List op-building functions have been added to the
+API. See L<op_append_elem|perlapi/op_append_elem>,
+L<op_append_list|perlapi/op_append_list>, and
+L<op_prepend_elem|perlapi/op_prepend_elem> in L<perlapi>.
+
+=head3 C<LINKLIST>
+
+The L<LINKLIST|perlapi/LINKLIST> macro, part of op building that
+constructs the execution-order op chain, has been added to the API.
+
+=head3 Localisation functions
+
+The C<save_freeop>, C<save_op>, C<save_pushi32ptr> and C<save_pushptrptr>
+functions have been added to the API.
+
+=head3 Stash names
+
+A stash can now have a list of effective names in addition to its usual
+name. The first effective name can be accessed via the C<HvENAME> macro,
+which is now the recommended name to use in MRO linearisations (C<HvNAME>
+being a fallback if there is no C<HvENAME>).
+
+These names are added and deleted via C<hv_ename_add> and
+C<hv_ename_delete>. These two functions are I<not> part of the API.
+
+=head3 New functions for finding and removing magic
+
+The L<C<mg_findext()>|perlapi/mg_findext> and
+L<C<sv_unmagicext()>|perlapi/sv_unmagicext>
+functions have been added to the API.
+They allow extension authors to find and remove magic attached to
+scalars based on both the magic type and the magic virtual table, similar to how
+sv_magicext() attaches magic of a certain type and with a given virtual table
+to a scalar. This eliminates the need for extensions to walk the list of
+C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
+
+=head3 C<find_rundefsv>
+
+This function returns the SV representing C<$_>, whether it's lexical
+or dynamic.
+
+=head3 C<Perl_croak_no_modify>
+
+Perl_croak_no_modify() is short-hand for
+C<Perl_croak("%s", PL_no_modify)>.
+
+=head3 C<PERL_STATIC_INLINE> define
+
+The C<PERL_STATIC_INLINE> define has been added to provide the best-guess
+incantation to use for static inline functions, if the C compiler supports
+C99-style static inline. If it doesn't, it'll give a plain C<static>.
+
+C<HAS_STATIC_INLINE> can be used to check if the compiler actually supports
+inline functions.
+
+=head3 New C<pv_escape> option for hexadecimal escapes
+
+A new option, C<PERL_PV_ESCAPE_NONASCII>, has been added to C<pv_escape> to
+dump all characters above ASCII in hexadecimal. Before, one could get all
+characters as hexadecimal or the Latin1 non-ASCII as octal.
+
+=head3 C<lex_start>
+
+C<lex_start> has been added to the API, but is considered experimental.
+
+=head3 op_scope() and op_lvalue()
+
+The op_scope() and op_lvalue() functions have been added to the API,
+but are considered experimental.
+
+=head2 C API Changes
+
+=head3 C<PERL_POLLUTE> has been removed
+
+The option to define C<PERL_POLLUTE> to expose older 5.005 symbols for
+backwards compatibility has been removed. Its use was always discouraged,
+and MakeMaker contains a more specific escape hatch:
+
+ perl Makefile.PL POLLUTE=1
+
+This can be used for modules that have not been upgraded to 5.6 naming
+conventions (and really should be completely obsolete by now).
+
+=head3 Check API compatibility when loading XS modules
+
+When Perl's API changes in incompatible ways (which usually happens between
+major releases), XS modules compiled for previous versions of Perl will no
+longer work. They need to be recompiled against the new Perl.
+
+The C<XS_APIVERSION_BOOTCHECK> macro has been added to ensure that modules
+are recompiled and to prevent users from accidentally loading modules
+compiled for old perls into newer perls. That macro, which is called when
+loading every newly compiled extension, compares the API version of the
+running perl with the version a module has been compiled for and raises an
+exception if they don't match.
+
+=head3 Perl_fetch_cop_label
+
+The first argument of the C API function C<Perl_fetch_cop_label> has changed
+from C<struct refcounted_he *> to C<COP *>, to insulate the user from
+implementation details.
+
+This API function was marked as "may change", and likely isn't in use outside
+the core. (Neither an unpacked CPAN nor Google's codesearch finds any other
+references to it.)
+
+=head3 GvCV() and GvGP() are no longer lvalues
+
+The new GvCV_set() and GvGP_set() macros are now provided to replace
+assignment to those two macros.
+
+This allows a future commit to eliminate some backref magic between GV
+and CVs, which will require complete control over assignment to the
+C<gp_cv> slot.
+
+=head3 CvGV() is no longer an lvalue
+
+Under some circumstances, the CvGV() field of a CV is now
+reference-counted. To ensure consistent behaviour, direct assignment to
+it, for example C<CvGV(cv) = gv> is now a compile-time error. A new macro,
+C<CvGV_set(cv,gv)> has been introduced to run this operation
+safely. Note that modification of this field is not part of the public
+API, regardless of this new macro (and despite its being listed in this section).
+
+=head3 CvSTASH() is no longer an lvalue
+
+The CvSTASH() macro can now only be used as an rvalue. CvSTASH_set()
+has been added to replace assignment to CvSTASH(). This is to ensure
+that backreferences are handled properly. These macros are not part of the
+API.
+
+=head3 Calling conventions for C<newFOROP> and C<newWHILEOP>
+
+The way the parser handles labels has been cleaned up and refactored. As a
+result, the newFOROP() constructor function no longer takes a parameter
+stating what label is to go in the state op.
+
+The newWHILEOP() and newFOROP() functions no longer accept a line
+number as a parameter.
+
+=head3 Flags passed to C<uvuni_to_utf8_flags> and C<utf8n_to_uvuni>
+
+Some of the flags parameters to uvuni_to_utf8_flags() and
+utf8n_to_uvuni() have changed. This is a result of Perl's now allowing
+internal storage and manipulation of code points that are problematic
+in some situations. Hence, the default actions for these functions has
+been complemented to allow these code points. The new flags are
+documented in L<perlapi>. Code that requires the problematic code
+points to be rejected needs to change to use the new flags. Some flag
+names are retained for backward source compatibility, though they do
+nothing, as they are now the default. However the flags
+C<UNICODE_ALLOW_FDD0>, C<UNICODE_ALLOW_FFFF>, C<UNICODE_ILLEGAL>, and
+C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a
+fundamentally broken model of how the Unicode non-character code points
+should be handled, which is now described in
+L<perlunicode/Non-character code points>. See also the Unicode section
+under L</Selected Bug Fixes>.
+
+=head2 Deprecated C APIs
+
+=over
+
+=item C<Perl_ptr_table_clear>
+
+C<Perl_ptr_table_clear> is no longer part of Perl's public API. Calling it
+now generates a deprecation warning, and it will be removed in a future
+release.
+
+=item C<sv_compile_2op>
+
+The sv_compile_2op() API function is now deprecated. Searches suggest
+that nothing on CPAN is using it, so this should have zero impact.
+
+It attempted to provide an API to compile code down to an optree, but failed
+to bind correctly to lexicals in the enclosing scope. It's not possible to
+fix this problem within the constraints of its parameters and return value.
+
+=item C<find_rundefsvoffset>
+
+The C<find_rundefsvoffset> function has been deprecated. It appeared that
+its design was insufficient for reliably getting the lexical C<$_> at
+run-time.
+
+Use the new C<find_rundefsv> function or the C<UNDERBAR> macro
+instead. They directly return the right SV
+representing C<$_>, whether it's
+lexical or dynamic.
+
+=item C<CALL_FPTR> and C<CPERLscope>
+
+Those are left from an old implementation of C<MULTIPLICITY> using C++ objects,
+which was removed in Perl 5.8. Nowadays these macros do exactly nothing, so
+they shouldn't be used anymore.
+
+For compatibility, they are still defined for external C<XS> code. Only
+extensions defining C<PERL_CORE> must be updated now.
+
+=back
+
+=head2 Other Internal Changes
+
+=head3 Stack unwinding
+
+The protocol for unwinding the C stack at the last stage of a C<die>
+has changed how it identifies the target stack frame. This now uses
+a separate variable C<PL_restartjmpenv>, where previously it relied on
+the C<blk_eval.cur_top_env> pointer in the C<eval> context frame that
+has nominally just been discarded. This change means that code running
+during various stages of Perl-level unwinding no longer needs to take
+care to avoid destroying the ghost frame.
+
+=head3 Scope stack entries
+
+The format of entries on the scope stack has been changed, resulting in a
+reduction of memory usage of about 10%. In particular, the memory used by
+the scope stack to record each active lexical variable has been halved.
+
+=head3 Memory allocation for pointer tables
+
+Memory allocation for pointer tables has been changed. Previously
+C<Perl_ptr_table_store> allocated memory from the same arena system as
+C<SV> bodies and C<HE>s, with freed memory remaining bound to those arenas
+until interpreter exit. Now it allocates memory from arenas private to the
+specific pointer table, and that memory is returned to the system when
+C<Perl_ptr_table_free> is called. Additionally, allocation and release are
+both less CPU intensive.
+
+=head3 C<UNDERBAR>
+
+The C<UNDERBAR> macro now calls C<find_rundefsv>. C<dUNDERBAR> is now a
+noop but should still be used to ensure past and future compatibility.
+
+=head3 String comparison routines renamed
+
+The C<ibcmp_*> functions have been renamed and are now called C<foldEQ>,
+C<foldEQ_locale>, and C<foldEQ_utf8>. The old names are still available as
+macros.
+
+=head3 C<chop> and C<chomp> implementations merged
+
+The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp>
+have been merged. The implementation functions Perl_do_chop() and
+Perl_do_chomp(), never part of the public API, have been merged and
+moved to a static function in F<pp.c>. This shrinks the Perl binary
+slightly, and should not affect any code outside the core (unless it is
+relying on the order of side-effects when C<chomp> is passed a I<list> of
+values).
+
+=head1 Selected Bug Fixes
+
+=head2 I/O
+
+=over 4
+
+=item *
+
+Perl no longer produces this warning:
+
+ $ perl -we 'open(my $f, ">", \my $x); binmode($f, "scalar")'
+ Use of uninitialized value in binmode at -e line 1.
+
+=item *
+
+Opening a glob reference via C<< open($fh, ">", \*glob) >> no longer
+causes the glob to be corrupted when the filehandle is printed to. This would
+cause Perl to crash whenever the glob's contents were accessed
+[perl #77492].
+
+=item *
+
+PerlIO no longer crashes when called recursively, such as from a signal
+handler. Now it just leaks memory [perl #75556].
+
+=item *
+
+Most I/O functions were not warning for unopened handles unless the
+"closed" and "unopened" warnings categories were both enabled. Now only
+C<use warnings 'unopened'> is necessary to trigger these warnings, as
+had always been the intention.
+
+=item *
+
+There have been several fixes to PerlIO layers:
+
+When C<binmode(FH, ":crlf")> pushes the C<:crlf> layer on top of the stack,
+it no longer enables crlf layers lower in the stack so as to avoid
+unexpected results [perl #38456].
+
+Opening a file in C<:raw> mode now does what it advertises to do (first
+open the file, then C<binmode> it), instead of simply leaving off the top
+layer [perl #80764].
+
+The three layers C<:pop>, C<:utf8>, and C<:bytes> didn't allow stacking when
+opening a file. For example
+this:
+
+ open(FH, ">:pop:perlio", "some.file") or die $!;
+
+would throw an "Invalid argument" error. This has been fixed in this
+release [perl #82484].
+
+=back
+
+=head2 Regular Expression Bug Fixes
+
+=over
+
+=item *
+
+The regular expression engine no longer loops when matching
+C<"\N{LATIN SMALL LIGATURE FF}" =~ /f+/i> and similar expressions
+[perl #72998] (5.12.1).
+
+=item *
+
+The trie runtime code should no longer allocate massive amounts of memory,
+fixing #74484.
+
+=item *
+
+Syntax errors in C<< (?{...}) >> blocks no longer cause panic messages
+[perl #2353].
+
+=item *
+
+A pattern like C<(?:(o){2})?> no longer causes a "panic" error
+[perl #39233].
+
+=item *
+
+A fatal error in regular expressions containing C<(.*?)> when processing
+UTF-8 data has been fixed [perl #75680] (5.12.2).
+
+=item *
+
+An erroneous regular expression engine optimisation that caused regex verbs like
+C<*COMMIT> sometimes to be ignored has been removed.
+
+=item *
+
+The regular expression bracketed character class C<[\8\9]> was effectively the
+same as C<[89\000]>, incorrectly matching a NULL character. It also gave
+incorrect warnings that the C<8> and C<9> were ignored. Now C<[\8\9]> is the
+same as C<[89]> and gives legitimate warnings that C<\8> and C<\9> are
+unrecognized escape sequences, passed-through.
+
+=item *
+
+A regular expression match in the right-hand side of a global substitution
+(C<s///g>) that is in the same scope will no longer cause match variables
+to have the wrong values on subsequent iterations. This can happen when an
+array or hash subscript is interpolated in the right-hand side, as in
+C<s|(.)|@a{ print($1), /./ }|g> [perl #19078].
+
+=item *
+
+Several cases in which characters in the Latin-1 non-ASCII range (0x80 to
+0xFF) used not to match themselves, or used to match both a character class
+and its complement, have been fixed. For instance, U+00E2 could match both
+C<\w> and C<\W> [perl #78464] [perl #18281] [perl #60156].
+
+=item *
+
+Matching a Unicode character against an alternation containing characters
+that happened to match continuation bytes in the former's UTF8
+representation (like C<qq{\x{30ab}} =~ /\xab|\xa9/>) would cause erroneous
+warnings [perl #70998].
+
+=item *
+
+The trie optimisation was not taking empty groups into account, preventing
+"foo" from matching C</\A(?:(?:)foo|bar|zot)\z/> [perl #78356].
+
+=item *
+
+A pattern containing a C<+> inside a lookahead would sometimes cause an
+incorrect match failure in a global match (for example, C</(?=(\S+))/g>)
+[perl #68564].
+
+=item *
+
+A regular expression optimisation would sometimes cause a match with a
+C<{n,m}> quantifier to fail when it should have matched [perl #79152].
+
+=item *
+
+Case-insensitive matching in regular expressions compiled under
+C<use locale> now works much more sanely when the pattern or target
+string is internally encoded in UTF8. Previously, under these
+conditions the localeness was completely lost. Now, code points
+above 255 are treated as Unicode, but code points between 0 and 255
+are treated using the current locale rules, regardless of whether
+the pattern or the string is encoded in UTF8. The few case-insensitive
+matches that cross the 255/256 boundary are not allowed. For
+example, 0xFF does not caselessly match the character at 0x178,
+LATIN CAPITAL LETTER Y WITH DIAERESIS, because 0xFF may not be LATIN
+SMALL LETTER Y in the current locale, and Perl has no way of knowing
+if that character even exists in the locale, much less what code
+point it is.
+
+=item *
+
+The C<(?|...)> regular expression construct no longer crashes if the final
+branch has more sets of capturing parentheses than any other branch. This
+was fixed in Perl 5.10.1 for the case of a single branch, but that fix did
+not take multiple branches into account [perl #84746].
+
+=item *
+
+A bug has been fixed in the implementation of C<{...}> quantifiers in
+regular expressions that prevented the code block in
+C</((\w+)(?{ print $2 })){2}/> from seeing the C<$2> sometimes
+[perl #84294].
+
+=back
+
+=head2 Syntax/Parsing Bugs
+
+=over
+
+=item *
+
+C<when (scalar) {...}> no longer crashes, but produces a syntax error
+[perl #74114] (5.12.1).
+
+=item *
+
+A label right before a string eval (C<foo: eval $string>) no longer causes
+the label to be associated also with the first statement inside the eval
+[perl #74290] (5.12.1).
+
+=item *
+
+The C<no 5.13.2> form of C<no> no longer tries to turn on features or
+pragmata (like L<strict>) [perl #70075] (5.12.2).
+
+=item *
+
+C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
+identically to C<use 5.12.0>. Previously, C<require> in a C<BEGIN> block
+was erroneously executing the C<use feature ':5.12.0'> and
+C<use strict> behaviour, which only C<use> was documented to
+provide [perl #69050].
+
+=item *
+
+A regression introduced in Perl 5.12.0, making
+C<< my $x = 3; $x = length(undef) >> result in C<$x> set to C<3> has been
+fixed. C<$x> will now be C<undef> [perl #85508] (5.12.2).
+
+=item *
+
+When strict "refs" mode is off, C<%{...}> in rvalue context returns
+C<undef> if its argument is undefined. An optimisation introduced in Perl
+5.12.0 to make C<keys %{...}> faster when used as a boolean did not take
+this into account, causing C<keys %{+undef}> (and C<keys %$foo> when
+C<$foo> is undefined) to be an error, which it should be so in strict
+mode only [perl #81750].
+
+=item *
+
+Constant-folding used to cause
+
+ $text =~ ( 1 ? /phoo/ : /bear/)
+
+to turn into
+
+ $text =~ /phoo/
+
+at compile time. Now it correctly matches against C<$_> [perl #20444].
+
+=item *
+
+Parsing Perl code (either with string C<eval> or by loading modules) from
+within a C<UNITCHECK> block no longer causes the interpreter to crash
+[perl #70614].
+
+=item *
+
+String C<eval>s no longer fail after 2 billion scopes have been
+compiled [perl #83364].
+
+=item *
+
+The parser no longer hangs when encountering certain Unicode characters,
+such as U+387 [perl #74022].
+
+=item *
+
+Defining a constant with the same name as one of Perl's special blocks
+(like C<INIT>) stopped working in 5.12.0, but has now been fixed
+[perl #78634].
+
+=item *
+
+A reference to a literal value used as a hash key (C<$hash{\"foo"}>) used
+to be stringified, even if the hash was tied [perl #79178].
+
+=item *
+
+A closure containing an C<if> statement followed by a constant or variable
+is no longer treated as a constant [perl #63540].
+
+=item *
+
+C<state> can now be used with attributes. It
+used to mean the same thing as
+C<my> if any attributes were present [perl #68658].
+
+=item *
+
+Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
+the "Use of uninitialized value in numeric gt" warning when C<$a> is
+undefined (since it is not part of the C<< > >> expression, but the operand
+of the C<@>) [perl #72090].
+
+=item *
+
+Accessing an element of a package array with a hard-coded number (as
+opposed to an arbitrary expression) would crash if the array did not exist.
+Usually the array would be autovivified during compilation, but typeglob
+manipulation could remove it, as in these two cases which used to crash:
+
+ *d = *a; print $d[0];
+ undef *d; print $d[0];
+
+=item *
+
+The B<-C> command-line option, when used on the shebang line, can now be
+followed by other options [perl #72434].
+
+=item *
+
+The C<B> module was returning C<B::OP>s instead of C<B::LOGOP>s for
+C<entertry> [perl #80622]. This was due to a bug in the Perl core,
+not in C<B> itself.
+
+=back
+
+=head2 Stashes, Globs and Method Lookup
+
+Perl 5.10.0 introduced a new internal mechanism for caching MROs (method
+resolution orders, or lists of parent classes; aka "isa" caches) to make
+method lookup faster (so C<@ISA> arrays would not have to be searched
+repeatedly). Unfortunately, this brought with it quite a few bugs. Almost
+all of these have been fixed now, along with a few MRO-related bugs that
+existed before 5.10.0:
+
+=over
+
+=item *
+
+The following used to have erratic effects on method resolution, because
+the "isa" caches were not reset or otherwise ended up listing the wrong
+classes. These have been fixed.
+
+=over
+
+=item Aliasing packages by assigning to globs [perl #77358]
+
+=item Deleting packages by deleting their containing stash elements
+
+=item Undefining the glob containing a package (C<undef *Foo::>)
+
+=item Undefining an ISA glob (C<undef *Foo::ISA>)
+
+=item Deleting an ISA stash element (C<delete $Foo::{ISA}>)
+
+=item Sharing @ISA arrays between classes (via C<*Foo::ISA = \@Bar::ISA> or
+C<*Foo::ISA = *Bar::ISA>) [perl #77238]
+
+=back
+
+C<undef *Foo::ISA> would even stop a new C<@Foo::ISA> array from updating
+caches.
+
+=item *
+
+Typeglob assignments would crash if the glob's stash no longer existed, so
+long as the glob assigned to were named C<ISA> or the glob on either side of
+the assignment contained a subroutine.
+
+=item *
+
+C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
+updated properly when packages are deleted or removed from the C<@ISA> of
+other classes. This allows many packages to be created and deleted without
+causing a memory leak [perl #75176].
+
+=back
+
+In addition, various other bugs related to typeglobs and stashes have been
+fixed:
+
+=over
+
+=item *
+
+Some work has been done on the internal pointers that link between symbol
+tables (stashes), typeglobs, and subroutines. This has the effect that
+various edge cases related to deleting stashes or stash entries (for example,
+<%FOO:: = ()>), and complex typeglob or code-reference aliasing, will no
+longer crash the interpreter.
+
+=item *
+
+Assigning a reference to a glob copy now assigns to a glob slot instead of
+overwriting the glob with a scalar [perl #1804] [perl #77508].
+
+=item *
+
+A bug when replacing the glob of a loop variable within the loop has been fixed
+[perl #21469]. This
+means the following code will no longer crash:
+
+ for $x (...) {
+ *x = *y;
+ }
+
+=item *
+
+Assigning a glob to a PVLV used to convert it to a plain string. Now it
+works correctly, and a PVLV can hold a glob. This would happen when a
+nonexistent hash or array element was passed to a subroutine:
+
+ sub { $_[0] = *foo }->($hash{key});
+ # $_[0] would have been the string "*main::foo"
+
+It also happened when a glob was assigned to, or returned from, an element
+of a tied array or hash [perl #36051].
+
+=item *
+
+When trying to report C<Use of uninitialized value $Foo::BAR>, crashes could
+occur if the glob holding the global variable in question had been detached
+from its original stash by, for example, C<delete $::{"Foo::"}>. This has
+been fixed by disabling the reporting of variable names in those
+cases.
+
+=item *
+
+During the restoration of a localised typeglob on scope exit, any
+destructors called as a result would be able to see the typeglob in an
+inconsistent state, containing freed entries, which could result in a
+crash. This would affect code like this:
+
+ local *@;
+ eval { die bless [] }; # puts an object in $@
+ sub DESTROY {
+ local $@; # boom
+ }
+
+Now the glob entries are cleared before any destructors are called. This
+also means that destructors can vivify entries in the glob. So Perl tries
+again and, if the entries are re-created too many times, dies with a
+"panic: gp_free ..." error message.
+
+=item *
+
+If a typeglob is freed while a subroutine attached to it is still
+referenced elsewhere, the subroutine is renamed to C<__ANON__> in the same
+package, unless the package has been undefined, in which case the C<__ANON__>
+package is used. This could cause packages to be sometimes autovivified,
+such as if the package had been deleted. Now this no longer occurs.
+The C<__ANON__> package is also now used when the original package is
+no longer attached to the symbol table. This avoids memory leaks in some
+cases [perl #87664].
+
+=item *
+
+Subroutines and package variables inside a package whose name ends with
+C<::> can now be accessed with a fully qualified name.
+
+=back
+
+=head2 Unicode
+
+=over
+
+=item *
+
+What has become known as "the Unicode Bug" is almost completely resolved in
+this release. Under C<use feature 'unicode_strings'> (which is
+automatically selected by C<use 5.012> and above), the internal
+storage format of a string no longer affects the external semantics.
+[perl #58182].
+
+There are two known exceptions:
+
+=over
+
+=item 1
+
+The now-deprecated, user-defined case-changing
+functions require utf8-encoded strings to operate. The CPAN module
+L<Unicode::Casing> has been written to replace this feature without its
+drawbacks, and the feature is scheduled to be removed in 5.16.
+
+=item 2
+
+quotemeta() (and its in-line equivalent C<\Q>) can also give different
+results depending on whether a string is encoded in UTF-8. See
+L<perlunicode/The "Unicode Bug">.
+
+=back
+
+=item *
+
+Handling of Unicode non-character code points has changed.
+Previously they were mostly considered illegal, except that in some
+place only one of the 66 of them was known. The Unicode Standard
+considers them all legal, but forbids their "open interchange".
+This is part of the change to allow internal use of any code
+point (see L</Core Enhancements>). Together, these changes resolve
+[perl #38722], [perl #51918], [perl #51936], and [perl #63446].
+
+=item *
+
+Case-insensitive C<"/i"> regular expression matching of Unicode
+characters that match multiple characters now works much more as
+intended. For example
+
+ "\N{LATIN SMALL LIGATURE FFI}" =~ /ffi/ui
+
+and
+
+ "ffi" =~ /\N{LATIN SMALL LIGATURE FFI}/ui
+
+are both true. Previously, there were many bugs with this feature.
+What hasn't been fixed are the places where the pattern contains the
+multiple characters, but the characters are split up by other things,
+such as in
+
+ "\N{LATIN SMALL LIGATURE FFI}" =~ /(f)(f)i/ui
+
+or
+
+ "\N{LATIN SMALL LIGATURE FFI}" =~ /ffi*/ui
+
+or
+
+ "\N{LATIN SMALL LIGATURE FFI}" =~ /[a-f][f-m][g-z]/ui
+
+None of these match.
+
+Also, this matching doesn't fully conform to the current Unicode
+Standard, which asks that the matching be made upon the NFD
+(Normalization Form Decomposed) of the text. However, as of this
+writing (April 2010), the Unicode Standard is currently in flux about
+what they will recommend doing with regard in such scenarios. It may be
+that they will throw out the whole concept of multi-character matches.
+[perl #71736].
+
+=item *
+
+Naming a deprecated character in C<\N{I<NAME>}> no longer leaks memory.
+
+=item *
+
+We fixed a bug that could cause C<\N{I<NAME>}> constructs followed by
+a single C<"."> to be parsed incorrectly [perl #74978] (5.12.1).
+
+=item *
+
+C<chop> now correctly handles characters above C<"\x{7fffffff}">
+[perl #73246].
+
+=item *
+
+Passing to C<index> an offset beyond the end of the string when the string
+is encoded internally in UTF8 no longer causes panics [perl #75898].
+
+=item *
+
+warn() and die() now respect utf8-encoded scalars [perl #45549].
+
+=item *
+
+Sometimes the UTF8 length cache would not be reset on a value
+returned by substr, causing C<length(substr($uni_string, ...))> to give
+wrong answers. With C<${^UTF8CACHE}> set to -1, it would also produce
+a "panic" error message [perl #77692].
+
+=back
+
+=head2 Ties, Overloading and Other Magic
+
+=over
+
+=item *
+
+Overloading now works properly in conjunction with tied
+variables. What formerly happened was that most ops checked their
+arguments for overloading I<before> checking for magic, so for example
+an overloaded object returned by a tied array access would usually be
+treated as not overloaded [RT #57012].
+
+=item *
+
+Various instances of magic (like tie methods) being called on tied variables
+too many or too few times have been fixed:
+
+=over
+
+=item *
+
+C<< $tied->() >> did not always call FETCH [perl #8438].
+
+=item *
+
+Filetest operators and C<y///> and C<tr///> were calling FETCH too
+many times.
+
+=item *
+
+The C<=> operator used to ignore magic on its right-hand side if the
+scalar happened to hold a typeglob (if a typeglob was the last thing
+returned from or assigned to a tied scalar) [perl #77498].
+
+=item *
+
+Dereference operators used to ignore magic if the argument was a
+reference already (such as from a previous FETCH) [perl #72144].
+
+=item *
+
+C<splice> now calls set-magic (so changes made
+by C<splice @ISA> are respected by method calls) [perl #78400].
+
+=item *
+
+In-memory files created by C<< open($fh, ">", \$buffer) >> were not calling
+FETCH/STORE at all [perl #43789] (5.12.2).
+
+=item *
+
+utf8::is_utf8() now respects get-magic (like C<$1>) (5.12.1).
+
+=back
+
+=item *
+
+Non-commutative binary operators used to swap their operands if the same
+tied scalar was used for both operands and returned a different value for
+each FETCH. For instance, if C<$t> returned 2 the first time and 3 the
+second, then C<$t/$t> would evaluate to 1.5. This has been fixed
+[perl #87708].
+
+=item *
+
+String C<eval> now detects taintedness of overloaded or tied
+arguments [perl #75716].
+
+=item *
+
+String C<eval> and regular expression matches against objects with string
+overloading no longer cause memory corruption or crashes [perl #77084].
+
+=item *
+
+L<readline|perlfunc/"readline EXPR"> now honors C<< <> >> overloading on tied
+arguments.
+
+=item *
+
+C<< <expr> >> always respects overloading now if the expression is
+overloaded.
+
+Because "S<< <> as >> glob" was parsed differently from
+"S<< <> as >> filehandle" from 5.6 onwards, something like C<< <$foo[0]> >> did
+not handle overloading, even if C<$foo[0]> was an overloaded object. This
+was contrary to the documentation for L<overload>, and meant that C<< <> >>
+could not be used as a general overloaded iterator operator.
+
+=item *
+
+The fallback behaviour of overloading on binary operators was asymmetric
+[perl #71286].
+
+=item *
+
+Magic applied to variables in the main package no longer affects other packages.
+See L</Magic variables outside the main package> above [perl #76138].
+
+=item *
+
+Sometimes magic (ties, taintedness, etc.) attached to variables could cause
+an object to last longer than it should, or cause a crash if a tied
+variable were freed from within a tie method. These have been fixed
+[perl #81230].
+
+=item *
+
+DESTROY methods of objects implementing ties are no longer able to crash by
+accessing the tied variable through a weak reference [perl #86328].
+
+=item *
+
+Fixed a regression of kill() when a match variable is used for the
+process ID to kill [perl #75812].
+
+=item *
+
+C<$AUTOLOAD> used to remain tainted forever if it ever became tainted. Now
+it is correctly untainted if an autoloaded method is called and the method
+name was not tainted.
+
+=item *
+
+C<sprintf> now dies when passed a tainted scalar for the format. It did
+already die for arbitrary expressions, but not for simple scalars
+[perl #82250].
+
+=item *
+
+C<lc>, C<uc>, C<lcfirst>, and C<ucfirst> no longer return untainted strings
+when the argument is tainted. This has been broken since perl 5.8.9
+[perl #87336].
+
+=back
+
+=head2 The Debugger
+
+=over
+
+=item *
+
+The Perl debugger now also works in taint mode [perl #76872].
+
+=item *
+
+Subroutine redefinition works once more in the debugger [perl #48332].
+
+=item *
+
+When B<-d> is used on the shebang (C<#!>) line, the debugger now has access
+to the lines of the main program. In the past, this sometimes worked and
+sometimes did not, depending on the order in which things happened to be
+arranged in memory [perl #71806].
+
+=item *
+
+A possible memory leak when using L<caller()|perlfunc/"caller EXPR"> to set
+C<@DB::args> has been fixed (5.12.2).
+
+=item *
+
+Perl no longer stomps on C<$DB::single>, C<$DB::trace>, and C<$DB::signal>
+if these variables already have values when C<$^P> is assigned to [perl #72422].
+
+=item *
+
+C<#line> directives in string evals were not properly updating the arrays
+of lines of code (C<< @{"_< ..."} >>) that the debugger (or any debugging or
+profiling module) uses. In threaded builds, they were not being updated at
+all. In non-threaded builds, the line number was ignored, so any change to
+the existing line number would cause the lines to be misnumbered
+[perl #79442].
+
+=back
+
+=head2 Threads
+
+=over
+
+=item *
+
+Perl no longer accidentally clones lexicals in scope within active stack
+frames in the parent when creating a child thread [perl #73086].
+
+=item *
+
+Several memory leaks in cloning and freeing threaded Perl interpreters have been
+fixed [perl #77352].
+
+=item *
+
+Creating a new thread when directory handles were open used to cause a
+crash, because the handles were not cloned, but simply passed to the new
+thread, resulting in a double free.
+
+Now directory handles are cloned properly on Windows
+and on systems that have a C<fchdir> function. On other
+systems, new threads simply do not inherit directory
+handles from their parent threads [perl #75154].
+
+=item *
+
+The typeglob C<*,>, which holds the scalar variable C<$,> (output field
+separator), had the wrong reference count in child threads.
+
+=item *
+
+[perl #78494] When pipes are shared between threads, the C<close> function
+(and any implicit close, such as on thread exit) no longer blocks.
+
+=item *
+
+Perl now does a timely cleanup of SVs that are cloned into a new
+thread but then discovered to be orphaned (that is, their owners
+are I<not> cloned). This eliminates several "scalars leaked"
+warnings when joining threads.
+
+=back
+
+=head2 Scoping and Subroutines
+
+=over
+
+=item *
+
+Lvalue subroutines are again able to return copy-on-write scalars. This
+had been broken since version 5.10.0 [perl #75656] (5.12.3).
+
+=item *
+
+C<require> no longer causes C<caller> to return the wrong file name for
+the scope that called C<require> and other scopes higher up that had the
+same file name [perl #68712].
+
+=item *
+
+C<sort> with a C<($$)>-prototyped comparison routine used to cause the value
+of C<@_> to leak out of the sort. Taking a reference to C<@_> within the
+sorting routine could cause a crash [perl #72334].
+
+=item *
+
+Match variables (like C<$1>) no longer persist between calls to a sort
+subroutine [perl #76026].
+
+=item *
+
+Iterating with C<foreach> over an array returned by an lvalue sub now works
+[perl #23790].
+
+=item *
+
+C<$@> is now localised during calls to C<binmode> to prevent action at a
+distance [perl #78844].
+
+=item *
+
+Calling a closure prototype (what is passed to an attribute handler for a
+closure) now results in a "Closure prototype called" error message instead
+of a crash [perl #68560].
+
+=item *
+
+Mentioning a read-only lexical variable from the enclosing scope in a
+string C<eval> no longer causes the variable to become writable
+[perl #19135].
+
+=back
+
+=head2 Signals
+
+=over
+
+=item *
+
+Within signal handlers, C<$!> is now implicitly localized.
+
+=item *
+
+CHLD signals are no longer unblocked after a signal handler is called if
+they were blocked before by C<POSIX::sigprocmask> [perl #82040].
+
+=item *
+
+A signal handler called within a signal handler could cause leaks or
+double-frees. Now fixed [perl #76248].
+
+=back
+
+=head2 Miscellaneous Memory Leaks
+
+=over
+
+=item *
+
+Several memory leaks when loading XS modules were fixed (5.12.2).
+
+=item *
+
+L<substr()|perlfunc/"substr EXPR,OFFSET,LENGTH,REPLACEMENT">,
+L<pos()|perlfunc/"index STR,SUBSTR,POSITION">, L<keys()|perlfunc/"keys HASH">,
+and L<vec()|perlfunc/"vec EXPR,OFFSET,BITS"> could, when used in combination
+with lvalues, result in leaking the scalar value they operate on, and cause its
+destruction to happen too late. This has now been fixed.
+
+=item *
+
+The postincrement and postdecrement operators, C<++> and C<-->, used to cause
+leaks when used on references. This has now been fixed.
+
+=item *
+
+Nested C<map> and C<grep> blocks no longer leak memory when processing
+large lists [perl #48004].
+
+=item *
+
+C<use I<VERSION>> and C<no I<VERSION>> no longer leak memory [perl #78436]
+[perl #69050].
+
+=item *
+
+C<.=> followed by C<< <> >> or C<readline> would leak memory if C<$/>
+contained characters beyond the octet range and the scalar assigned to
+happened to be encoded as UTF8 internally [perl #72246].
+
+=item *
+
+C<eval 'BEGIN{die}'> no longer leaks memory on non-threaded builds.
+
+=back
+
+=head2 Memory Corruption and Crashes
+
+=over
+
+=item *
+
+glob() no longer crashes when C<%File::Glob::> is empty and
+C<CORE::GLOBAL::glob> isn't present [perl #75464] (5.12.2).
+
+=item *
+
+readline() has been fixed when interrupted by signals so it no longer
+returns the "same thing" as before or random memory.
+
+=item *
+
+When assigning a list with duplicated keys to a hash, the assignment used to
+return garbage and/or freed values:
+
+ @a = %h = (list with some duplicate keys);
+
+This has now been fixed [perl #31865].
+
+=item *
+
+The mechanism for freeing objects in globs used to leave dangling
+pointers to freed SVs, meaning Perl users could see corrupted state
+during destruction.
+
+Perl now frees only the affected slots of the GV, rather than freeing
+the GV itself. This makes sure that there are no dangling refs or
+corrupted state during destruction.
+
+=item *
+
+The interpreter no longer crashes when freeing deeply-nested arrays of
+arrays. Hashes have not been fixed yet [perl #44225].
+
+=item *
+
+Concatenating long strings under C<use encoding> no longer causes Perl to
+crash [perl #78674].
+
+=item *
+
+Calling C<< ->import >> on a class lacking an import method could corrupt
+the stack, resulting in strange behaviour. For instance,
+
+ push @a, "foo", $b = bar->import;
+
+would assign "foo" to C<$b> [perl #63790].
+
+=item *
+
+The C<recv> function could crash when called with the MSG_TRUNC flag
+[perl #75082].
+
+=item *
+
+C<formline> no longer crashes when passed a tainted format picture. It also
+taints C<$^A> now if its arguments are tainted [perl #79138].
+
+=item *
+
+A bug in how we process filetest operations could cause a segfault.
+Filetests don't always expect an op on the stack, so we now use
+TOPs only if we're sure that we're not C<stat>ing the C<_> filehandle.
+This is indicated by C<OPf_KIDS> (as checked in ck_ftst) [perl #74542]
+(5.12.1).
+
+=item *
+
+unpack() now handles scalar context correctly for C<%32H> and C<%32u>,
+fixing a potential crash. split() would crash because the third item
+on the stack wasn't the regular expression it expected. C<unpack("%2H",
+...)> would return both the unpacked result and the checksum on the stack,
+as would C<unpack("%2u", ...)> [perl #73814] (5.12.2).
+
+=back
+
+=head2 Fixes to Various Perl Operators
+
+=over
+
+=item *
+
+The C<&>, C<|>, and C<^> bitwise operators no longer coerce read-only arguments
+[perl #20661].
+
+=item *
+
+Stringifying a scalar containing "-0.0" no longer has the effect of turning
+false into true [perl #45133].
+
+=item *
+
+Some numeric operators were converting integers to floating point,
+resulting in loss of precision on 64-bit platforms [perl #77456].
+
+=item *
+
+sprintf() was ignoring locales when called with constant arguments
+[perl #78632].
+
+=item *
+
+Combining the vector (C<%v>) flag and dynamic precision would
+cause C<sprintf> to confuse the order of its arguments, making it
+treat the string as the precision and vice-versa [perl #83194].
+
+=back
+
+=head2 Bugs Relating to the C API
+
+=over
+
+=item *
+
+The C-level C<lex_stuff_pvn> function would sometimes cause a spurious
+syntax error on the last line of the file if it lacked a final semicolon
+[perl #74006] (5.12.1).
+
+=item *
+
+The C<eval_sv> and C<eval_pv> C functions now set C<$@> correctly when
+there is a syntax error and no C<G_KEEPERR> flag, and never set it if the
+C<G_KEEPERR> flag is present [perl #3719].
+
+=item *
+
+The XS multicall API no longer causes subroutines to lose reference counts
+if called via the multicall interface from within those very subroutines.
+This affects modules like L<List::Util>. Calling one of its functions with an
+active subroutine as the first argument could cause a crash [perl #78070].
+
+=item *
+
+The C<SvPVbyte> function available to XS modules now calls magic before
+downgrading the SV, to avoid warnings about wide characters [perl #72398].
+
+=item *
+
+The ref types in the typemap for XS bindings now support magical variables
+[perl #72684].
+
+=item *
+
+C<sv_catsv_flags> no longer calls C<mg_get> on its second argument (the
+source string) if the flags passed to it do not include SV_GMAGIC. So it
+now matches the documentation.
+
+=item *
+
+C<my_strftime> no longer leaks memory. This fixes a memory leak in
+C<POSIX::strftime> [perl #73520].
+
+=item *
+
+F<XSUB.h> now correctly redefines fgets under PERL_IMPLICIT_SYS [perl #55049]
+(5.12.1).
+
+=item *
+
+XS code using fputc() or fputs() on Windows could cause an error
+due to their arguments being swapped [perl #72704] (5.12.1).
+
+=item *
+
+A possible segfault in the C<T_PTROBJ> default typemap has been fixed
+(5.12.2).
+
+=item *
+
+A bug that could cause "Unknown error" messages when
+C<call_sv(code, G_EVAL)> is called from an XS destructor has been fixed
+(5.12.2).
+
+=back
+
+=head1 Known Problems
+
+This is a list of significant unresolved issues which are regressions
+from earlier versions of Perl or which affect widely-used CPAN modules.
+
+=over 4
+
+=item *
+
+C<List::Util::first> misbehaves in the presence of a lexical C<$_>
+(typically introduced by C<my $_> or implicitly by C<given>). The variable
+that gets set for each iteration is the package variable C<$_>, not the
+lexical C<$_>.
+
+A similar issue may occur in other modules that provide functions which
+take a block as their first argument, like
+
+ foo { ... $_ ...} list
+
+See also: L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=67694>
+
+=item *
+
+readline() returns an empty string instead of undef when it is
+interrupted by a signal.
+
+=item *
+
+The changes in prototype handling break L<Switch>. A patch has been sent
+upstream and will hopefully appear on CPAN soon.
+
+=item *
+
+The upgrade to F<ExtUtils-MakeMaker-6.57_05> has caused
+some tests in the F<Module-Install> distribution on CPAN to
+fail. (Specifically, F<02_mymeta.t> tests 5 and 21; F<18_all_from.t>
+tests 6 and 15; F<19_authors.t> tests 5, 13, 21, and 29; and
+F<20_authors_with_special_characters.t> tests 6, 15, and 23 in version
+1.00 of that distribution now fail.)
+
+=item *
+
+On VMS, C<Time::HiRes> tests will fail due to a bug in the CRTL's
+implementation of C<setitimer>: previous timer values would be cleared
+if a timer expired but not if the timer was reset before expiring. HP
+OpenVMS Engineering have corrected the problem and will release a patch
+in due course (Quix case # QXCM1001115136).
+
+=item *
+
+On VMS, there were a handful of C<Module::Build> test failures we didn't
+get to before the release; please watch CPAN for updates.
+
+=back
+
+=head1 Errata
+
+=head2 keys(), values(), and each() work on arrays
+
+You can now use the keys(), values(), and each() builtins on arrays;
+previously you could use them only on hashes. See L<perlfunc> for details.
+This is actually a change introduced in perl 5.12.0, but it was missed from
+that release's L<perl5120delta>.
+
+=head2 split() and C<@_>
+
+split() no longer modifies C<@_> when called in scalar or void context.
+In void context it now produces a "Useless use of split" warning.
+This was also a perl 5.12.0 change that missed the perldelta.
+
+=head1 Obituary
+
+Randy Kobes, creator of http://kobesearch.cpan.org/ and
+contributor/maintainer to several core Perl toolchain modules, passed
+away on September 18, 2010 after a battle with lung cancer. The community
+was richer for his involvement. He will be missed.
+
+=head1 Acknowledgements
+
+Perl 5.14.0 represents one year of development since
+Perl 5.12.0 and contains nearly 550,000 lines of changes across nearly
+3,000 files from 150 authors and committers.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.14.0:
+
+Aaron Crane, Abhijit Menon-Sen, Abigail, Ævar Arnfjörð Bjarmason,
+Alastair Douglas, Alexander Alekseev, Alexander Hartmaier, Alexandr
+Ciornii, Alex Davies, Alex Vandiver, Ali Polatel, Allen Smith, Andreas
+König, Andrew Rodland, Andy Armstrong, Andy Dougherty, Aristotle
+Pagaltzis, Arkturuz, Arvan, A. Sinan Unur, Ben Morrow, Bo Lindbergh,
+Boris Ratner, Brad Gilbert, Bram, brian d foy, Brian Phillips, Casey
+West, Charles Bailey, Chas. Owens, Chip Salzenberg, Chris 'BinGOs'
+Williams, chromatic, Craig A. Berry, Curtis Jewell, Dagfinn Ilmari
+Mannsåker, Dan Dascalescu, Dave Rolsky, David Caldwell, David Cantrell,
+David Golden, David Leadbeater, David Mitchell, David Wheeler, Eric
+Brine, Father Chrysostomos, Fingle Nark, Florian Ragwitz, Frank Wiegand,
+Franz Fasching, Gene Sullivan, George Greer, Gerard Goossen, Gisle Aas,
+Goro Fuji, Grant McLean, gregor herrmann, H.Merijn Brand, Hongwen Qiu,
+Hugo van der Sanden, Ian Goodacre, James E Keenan, James Mastros, Jan
+Dubois, Jay Hannah, Jerry D. Hedden, Jesse Vincent, Jim Cromie, Jirka
+Hruška, John Peacock, Joshua ben Jore, Joshua Pritikin, Karl Williamson,
+Kevin Ryde, kmx, Lars Dɪᴇᴄᴋá´á´¡ 迪拉斯, Larwan Berke, Leon Brocard, Leon
+Timmermans, Lubomir Rintel, Lukas Mai, Maik Hentsche, Marty Pauley,
+Marvin Humphrey, Matt Johnson, Matt S Trout, Max Maischein, Michael
+Breen, Michael Fig, Michael G Schwern, Michael Parker, Michael Stevens,
+Michael Witten, Mike Kelly, Moritz Lenz, Nicholas Clark, Nick Cleaton,
+Nick Johnston, Nicolas Kaiser, Niko Tyni, Noirin Shirley, Nuno Carvalho,
+Paul Evans, Paul Green, Paul Johnson, Paul Marquess, Peter J. Holzer,
+Peter John Acklam, Peter Martini, Philippe Bruhat (BooK), Piotr Fusik,
+Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Renee Baecker, Ricardo
+Signes, Richard Möhn, Richard Soderberg, Rob Hoelz, Robin Barker, Ruslan
+Zakirov, Salvador Fandiño, Salvador Ortiz Garcia, Shlomi Fish, Sinan
+Unur, Sisyphus, Slaven Rezic, Steffen Müller, Steve Hay, Steven
+Schubiger, Steve Peters, Sullivan Beck, Tatsuhiko Miyagawa, Tim Bunce,
+Todd Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook, Tye McQueen,
+Vadim Konovalov, Vernon Lyon, Vincent Pit, Walt Mankowski, Wolfram
+Humann, Yves Orton, Zefram, and Zsbán Ambrus.
+
+This is woefully incomplete as it's automatically generated from version
+control history. In particular, it doesn't include the names of the
+(very much appreciated) contributors who reported issues in previous
+versions of Perl that helped make Perl 5.14.0 better. For a more complete
+list of all of Perl's historical contributors, please see the C<AUTHORS>
+file in the Perl 5.14.0 distribution.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the Perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please use this address for
+security issues in the Perl core I<only>, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5141delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5141delta.pod
new file mode 100644
index 00000000000..db24343c695
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5141delta.pod
@@ -0,0 +1,361 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5141delta - what is new for perl v5.14.1
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.14.0 release and
+the 5.14.1 release.
+
+If you are upgrading from an earlier release such as 5.12.0, first read
+L<perl5140delta>, which describes differences between 5.12.0 and
+5.14.0.
+
+=head1 Core Enhancements
+
+No changes since 5.14.0.
+
+=head1 Security
+
+No changes since 5.14.0.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.14.0. If any
+exist, they are bugs and reports are welcome.
+
+=head1 Deprecations
+
+There have been no deprecations since 5.14.0.
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+None
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<B::Deparse> has been upgraded from version 1.03 to 1.04, to address two
+regressions in Perl 5.14.0:
+
+Deparsing of the C<glob> operator and its diamond (C<< <> >>) form now
+works again. [perl #90898]
+
+The presence of subroutines named C<::::> or C<::::::> no longer causes
+B::Deparse to hang.
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.15_04.
+
+It corrects the search paths on VMS. [perl #90640]
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+None
+
+=head1 Documentation
+
+=head2 New Documentation
+
+None
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlfunc>
+
+=over
+
+=item *
+
+C<given>, C<when> and C<default> are now listed in L<perlfunc>.
+
+=item *
+
+Documentation for C<use> now includes a pointer to F<if.pm>.
+
+=back
+
+=head3 L<perllol>
+
+=over
+
+=item *
+
+L<perllol> has been expanded with examples using the new C<push $scalar>
+syntax introduced in Perl 5.14.0.
+
+=back
+
+=head3 L<perlop>
+
+=over 4
+
+=item *
+
+The explanation of bitwise operators has been expanded to explain how they
+work on Unicode strings.
+
+=item *
+
+The section on the triple-dot or yada-yada operator has been moved up, as
+it used to separate two closely related sections about the comma operator.
+
+=item *
+
+More examples for C<m//g> have been added.
+
+=item *
+
+The C<<< <<\FOO >>> here-doc syntax has been documented.
+
+=back
+
+=head3 L<perlrun>
+
+=over
+
+=item *
+
+L<perlrun> has undergone a significant clean-up. Most notably, the
+B<-0x...> form of the B<-0> flag has been clarified, and the final section
+on environment variables has been corrected and expanded.
+
+=back
+
+=head3 L<POSIX>
+
+=over
+
+=item *
+
+The invocation documentation for C<WIFEXITED>, C<WEXITSTATUS>,
+C<WIFSIGNALED>, C<WTERMSIG>, C<WIFSTOPPED>, and C<WSTOPSIG> was corrected.
+
+=back
+
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+None
+
+=head2 Changes to Existing Diagnostics
+
+None
+
+=head1 Utility Changes
+
+None
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+F<regexp.h> has been modified for compatibility with GCC's C<-Werror>
+option, as used by some projects that include perl's header files.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+Some test failures in F<dist/Locale-Maketext/t/09_compile.t> that could
+occur depending on the environment have been fixed. [perl #89896]
+
+=item *
+
+A watchdog timer for F<t/re/re.t> was lengthened to accommodate SH-4 systems
+which were unable to complete the tests before the previous timer ran out.
+
+
+=back
+
+=head1 Platform Support
+
+=head2 New Platforms
+
+None
+
+=head2 Discontinued Platforms
+
+None
+
+=head2 Platform-Specific Notes
+
+=head3 Solaris
+
+=over
+
+=item *
+
+Documentation listing the Solaris packages required to build Perl on
+Solaris 9 and Solaris 10 has been corrected.
+
+=back
+
+=head3 Mac OS X
+
+=over
+
+=item *
+
+The F<lib/locale.t> test script has been updated to work on the upcoming
+Lion release.
+
+=item *
+
+Mac OS X specific compilation instructions have been clarified.
+
+=back
+
+=head3 Ubuntu Linux
+
+=over
+
+=item *
+
+The L<ODBM_File> installation process has been updated with the new library
+paths on Ubuntu natty.
+
+=back
+
+=head1 Internal Changes
+
+=over
+
+=item *
+
+The compiled representation of formats is now stored via the mg_ptr of
+their PERL_MAGIC_fm. Previously it was stored in the string buffer,
+beyond SvLEN(), the regular end of the string. SvCOMPILED() and
+SvCOMPILED_{on,off}() now exist solely for compatibility for XS code.
+The first is always 0, the other two now no-ops.
+
+=back
+
+=head1 Bug Fixes
+
+=over 4
+
+=item *
+
+A bug has been fixed that would cause a "Use of freed value in iteration"
+error if the next two hash elements that would be iterated over are
+deleted. [perl #85026]
+
+=item *
+
+Passing the same constant subroutine to both C<index> and C<formline> no
+longer causes one or the other to fail. [perl #89218]
+
+=item *
+
+5.14.0 introduced some memory leaks in regular expression character
+classes such as C<[\w\s]>, which have now been fixed.
+
+=item *
+
+An edge case in regular expression matching could potentially loop.
+This happened only under C</i> in bracketed character classes that have
+characters with multi-character folds, and the target string to match
+against includes the first portion of the fold, followed by another
+character that has a multi-character fold that begins with the remaining
+portion of the fold, plus some more.
+
+ "s\N{U+DF}" =~ /[\x{DF}foo]/i
+
+is one such case. C<\xDF> folds to C<"ss">.
+
+=item *
+
+Several Unicode case-folding bugs have been fixed.
+
+=item *
+
+The new (in 5.14.0) regular expression modifier C</a> when repeated like
+C</aa> forbids the characters outside the ASCII range that match
+characters inside that range from matching under C</i>. This did not
+work under some circumstances, all involving alternation, such as:
+
+ "\N{KELVIN SIGN}" =~ /k|foo/iaa;
+
+succeeded inappropriately. This is now fixed.
+
+=item *
+
+Fixed a case where it was possible that a freed buffer may have been read
+from when parsing a here document.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.14.1 represents approximately four weeks of development since
+Perl 5.14.0 and contains approximately 3500 lines of changes
+across 38 files from 17 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.14.1:
+
+Bo Lindbergh, Claudio Ramirez, Craig A. Berry, David Leadbeater, Father
+Chrysostomos, Jesse Vincent, Jim Cromie, Justin Case, Karl Williamson,
+Leo Lapworth, Nicholas Clark, Nobuhiro Iwamatsu, smash, Tom Christiansen,
+Ton Hospel, Vladimir Timofeev, and Zsbán Ambrus.
+
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod
new file mode 100644
index 00000000000..425708fbb46
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod
@@ -0,0 +1,242 @@
+=encoding utf8
+
+=head1 NAME
+
+perldelta - what is new for perl v5.14.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.14.1 release and
+the 5.14.2 release.
+
+If you are upgrading from an earlier release such as 5.14.0, first read
+L<perl5141delta>, which describes differences between 5.14.0 and
+5.14.1.
+
+=head1 Core Enhancements
+
+No changes since 5.14.0.
+
+=head1 Security
+
+=head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
+
+Calling C<File::Glob::bsd_glob> with the unsupported flag GLOB_ALTDIRFUNC would
+cause an access violation / segfault. A Perl program that accepts a flags value from
+an external source could expose itself to denial of service or arbitrary code
+execution attacks. There are no known exploits in the wild. The problem has been
+corrected by explicitly disabling all unsupported flags and setting unused function
+pointers to null. Bug reported by Clément Lecigne.
+
+=head2 C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
+
+A bug in C<Encode> could, on certain inputs, cause the heap to overflow.
+This problem has been corrected. Bug reported by Robert Zacek.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.14.0. If any
+exist, they are bugs and reports are welcome.
+
+=head1 Deprecations
+
+There have been no deprecations since 5.14.0.
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+None
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<CPAN> has been upgraded from version 1.9600 to version 1.9600_01.
+
+L<CPAN::Distribution> has been upgraded from version 1.9602 to 1.9602_01.
+
+Backported bugfixes from CPAN version 1.9800. Ensures proper
+detection of C<configure_requires> prerequisites from CPAN Meta files
+in the case where C<dynamic_config> is true. [rt.cpan.org #68835]
+
+Also ensures that C<configure_requires> is only checked in META files,
+not MYMETA files, so protect against MYMETA generation that drops
+C<configure_requires>.
+
+=item *
+
+L<Encode> has been upgraded from version 2.42 to 2.42_01.
+
+See L</Security>.
+
+=item *
+
+L<File::Glob> has been upgraded from version 1.12 to version 1.13.
+
+See L</Security>.
+
+=item *
+
+L<PerlIO::scalar> has been upgraded from version 0.11 to 0.11_01.
+
+It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
+C<$scalar> is a copy-on-write scalar.
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+None
+
+=head1 Platform Support
+
+=head2 New Platforms
+
+None
+
+=head2 Discontinued Platforms
+
+None
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item HP-UX PA-RISC/64 now supports gcc-4.x
+
+A fix to correct the socketsize now makes the test suite pass on HP-UX
+PA-RISC for 64bitall builds.
+
+=item Building on OS X 10.7 Lion and Xcode 4 works again
+
+The build system has been updated to work with the build tools under Mac OS X
+10.7.
+
+=back
+
+=head1 Bug Fixes
+
+=over 4
+
+=item *
+
+In @INC filters (subroutines returned by subroutines in @INC), $_ used to
+misbehave: If returned from a subroutine, it would not be copied, but the
+variable itself would be returned; and freeing $_ (e.g., with C<undef *_>)
+would cause perl to crash. This has been fixed [perl #91880].
+
+=item *
+
+Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
+a pack template equivalent to "U0" if the input string was empty. This has
+been fixed [perl #90160].
+
+=item *
+
+C<caller> no longer leaks memory when called from the DB package if
+C<@DB::args> was assigned to after the first call to C<caller>. L<Carp>
+was triggering this bug [perl #97010].
+
+=item *
+
+C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
+string buffers in place (i.e., skipping the copy). This could result in
+hashes having two elements with the same key [perl #91834].
+
+=item *
+
+Localising a tied variable used to make it read-only if it contained a
+copy-on-write string.
+
+=item *
+
+Elements of restricted hashes (see the L<fields> pragma) containing
+copy-on-write values couldn't be deleted, nor could such hashes be cleared
+(C<%hash = ()>).
+
+=item *
+
+Locking a hash element that is a glob copy no longer causes subsequent
+assignment to it to corrupt the glob.
+
+=item *
+
+A panic involving the combination of the regular expression modifiers
+C</aa> introduced in 5.14.0 and the C<\b> escape sequence has been
+fixed [perl #95964].
+
+=back
+
+=head1 Known Problems
+
+This is a list of some significant unfixed bugs, which are regressions
+from 5.12.0.
+
+=over 4
+
+=item *
+
+C<PERL_GLOBAL_STRUCT> is broken.
+
+Since perl 5.14.0, building with C<-DPERL_GLOBAL_STRUCT> hasn't been
+possible. This means that perl currently doesn't work on any platforms that
+require it to be built this way, including Symbian.
+
+While C<PERL_GLOBAL_STRUCT> now works again on recent development versions of
+perl, it actually working on Symbian again hasn't been verified.
+
+We'd be very interested in hearing from anyone working with Perl on Symbian.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.14.2 represents approximately three months of development since
+Perl 5.14.1 and contains approximately 1200 lines of changes
+across 61 files from 9 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.14.2:
+
+Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, H.Merijn
+Brand, Karl Williamson, Nicholas Clark, Pau Amma and Ricardo Signes.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl572delta.pod b/Master/tlpkg/tlperl/lib/pods/perl572delta.pod
index 21585edc4e0..67d091262e9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl572delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl572delta.pod
@@ -760,10 +760,10 @@ hard-to-fix ways. As a stop-gap measure to avoid people from getting
frustrated at the mysterious results (core dumps, most often) it is
for now forbidden (you will get a fatal error even from an attempt).
-=head2 Variable Attributes are not Currently Usable for Tieing
+=head2 Variable Attributes are not Currently Usable for Tying
This limitation will hopefully be fixed in future. (Subroutine
-attributes work fine for tieing, see L<Attribute::Handlers>).
+attributes work fine for tying, see L<Attribute::Handlers>).
=head2 Building Extensions Can Fail Because Of Largefiles
diff --git a/Master/tlpkg/tlperl/lib/pods/perl588delta.pod b/Master/tlpkg/tlperl/lib/pods/perl588delta.pod
index a3d1df35b38..b2203bcf71d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl588delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl588delta.pod
@@ -1,3 +1,5 @@
+=encoding utf8
+
=head1 NAME
perl588delta - what is new for perl v5.8.8
diff --git a/Master/tlpkg/tlperl/lib/pods/perl589delta.pod b/Master/tlpkg/tlperl/lib/pods/perl589delta.pod
index 2070cc3aa44..8cd1cf67348 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl589delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl589delta.pod
@@ -92,7 +92,7 @@ C<system> operator. See L<perlvar> for details. (Contributed by Gisle Aas.)
This variable controls the state of the internal UTF-8 offset caching code.
1 for on (the default), 0 for off, -1 to debug the caching code by checking
-all its results against linear scans, and panicing on any discrepancy.
+all its results against linear scans, and panicking on any discrepancy.
=back
@@ -1655,7 +1655,7 @@ a C<system> call.
=item *
-Fixed bug RT #37886, symbolic deferencing was allowed in the argument of
+Fixed bug RT #37886, symbolic dereferencing was allowed in the argument of
C<defined> even under the influence of C<use strict 'refs'>.
=item *
@@ -1811,7 +1811,7 @@ The process id is no longer truncated to 16 bits on some Windows platforms
=item *
-Fixed bug RT #54828 in F<perlio.c> where calling C<binmode> on Win32 and Cgywin
+Fixed bug RT #54828 in F<perlio.c> where calling C<binmode> on Win32 and Cygwin
may cause a segmentation fault.
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perl592delta.pod b/Master/tlpkg/tlperl/lib/pods/perl592delta.pod
index 9648843d79e..db8be417d2b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl592delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl592delta.pod
@@ -242,7 +242,7 @@ C<map> in scalar context is now optimized.
=item *
The regexp engine now implements the trie optimization : it's able to
-factorize common prefixes and suffixes in regular expressions. A new
+factor out common prefixes and suffixes in regular expressions. A new
special variable, ${^RE_TRIE_MAXBUF}, has been added to fine-tune this
optimization.
diff --git a/Master/tlpkg/tlperl/lib/pods/perl593delta.pod b/Master/tlpkg/tlperl/lib/pods/perl593delta.pod
index 6c8587aee9e..11f53ab0885 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl593delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl593delta.pod
@@ -1,3 +1,5 @@
+=encoding utf8
+
=head1 NAME
perl593delta - what is new for perl v5.9.3
diff --git a/Master/tlpkg/tlperl/lib/pods/perlaix.pod b/Master/tlpkg/tlperl/lib/pods/perlaix.pod
index 6b86ba62154..6437f51d5fa 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlaix.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlaix.pod
@@ -77,18 +77,18 @@ at least gdbm-devel-1.8.3-5 (or higher).
Perl | AIX Level | Compiler Level | w th | w/o th
-------+---------------------+-------------------------+------+-------
- 5.12.3 |5.1 TL9 32 bit | XL C/C++ V7 | OK | OK
- 5.12.3 |5.1 TL9 64 bit | XL C/C++ V7 | OK | OK
- 5.12.3 |5.2 TL10 SP8 32 bit | XL C/C++ V8 | OK | OK
- 5.12.3 |5.2 TL10 SP8 32 bit | gcc 3.2.2 | OK | OK
- 5.12.3 |5.2 TL10 SP8 64 bit | XL C/C++ V8 | OK | OK
- 5.12.3 |5.3 TL8 SP8 32 bit | XL C/C++ V9 + IZ35785 | OK | OK
- 5.12.3 |5.3 TL8 SP8 32 bit | gcc 4.2.4 | OK | OK
- 5.12.3 |5.3 TL8 SP8 64 bit | XL C/C++ V9 + IZ35785 | OK | OK
- 5.12.3 |5.3 TL10 SP3 32 bit | XL C/C++ V11 + Apr 2010 | OK | OK
- 5.12.3 |5.3 TL10 SP3 64 bit | XL C/C++ V11 + Apr 2010 | OK | OK
- 5.12.3 |6.1 TL1 SP7 32 bit | XL C/C++ V10 | OK | OK
- 5.12.3 |6.1 TL1 SP7 64 bit | XL C/C++ V10 | OK | OK
+ 5.12.2 |5.1 TL9 32 bit | XL C/C++ V7 | OK | OK
+ 5.12.2 |5.1 TL9 64 bit | XL C/C++ V7 | OK | OK
+ 5.12.2 |5.2 TL10 SP8 32 bit | XL C/C++ V8 | OK | OK
+ 5.12.2 |5.2 TL10 SP8 32 bit | gcc 3.2.2 | OK | OK
+ 5.12.2 |5.2 TL10 SP8 64 bit | XL C/C++ V8 | OK | OK
+ 5.12.2 |5.3 TL8 SP8 32 bit | XL C/C++ V9 + IZ35785 | OK | OK
+ 5.12.2 |5.3 TL8 SP8 32 bit | gcc 4.2.4 | OK | OK
+ 5.12.2 |5.3 TL8 SP8 64 bit | XL C/C++ V9 + IZ35785 | OK | OK
+ 5.12.2 |5.3 TL10 SP3 32 bit | XL C/C++ V11 + Apr 2010 | OK | OK
+ 5.12.2 |5.3 TL10 SP3 64 bit | XL C/C++ V11 + Apr 2010 | OK | OK
+ 5.12.2 |6.1 TL1 SP7 32 bit | XL C/C++ V10 | OK | OK
+ 5.12.2 |6.1 TL1 SP7 64 bit | XL C/C++ V10 | OK | OK
5.13 |7.1 TL0 SP1 32 bit | XL C/C++ V11 + Jul 2010 | OK | OK
5.13 |7.1 TL0 SP1 64 bit | XL C/C++ V11 + Jul 2010 | OK | OK
@@ -484,11 +484,6 @@ therefore in AIX 4.2 Perl is not linked against the libC_r.
=head1 AUTHORS
-H.Merijn Brand <h.m.brand@xs4all.nl>
Rainer Tammer <tammer@tammer.net>
-=head1 DATE
-
-Version 5.12.1 / 2010-05-14
-
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlamiga.pod b/Master/tlpkg/tlperl/lib/pods/perlamiga.pod
index 418a5fe635f..c86adefe7b4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlamiga.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlamiga.pod
@@ -67,7 +67,7 @@ Contents
You need the Unix emulation for AmigaOS, whose most important part is
B<ixemul.library>. For a minimum setup, get the latest versions
of the following packages from the Aminet archives
-( http://www.aminet.net/~aminet/ ):
+( L<http://www.aminet.net/~aminet/> ):
ixemul-bin
ixemul-env-bin
diff --git a/Master/tlpkg/tlperl/lib/pods/perlapi.pod b/Master/tlpkg/tlperl/lib/pods/perlapi.pod
index 3a8792b899d..5c7a2b98bfd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlapi.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlapi.pod
@@ -13,10 +13,12 @@ X<Perl API> X<API> X<api>
This file contains the documentation of the perl public API generated by
embed.pl, specifically a listing of functions, macros, flags, and variables
-that may be used by extension writers. The interfaces of any functions that
-are not listed here are subject to change without notice. For this reason,
-blindly using functions listed in proto.h is to be avoided when writing
-extensions.
+that may be used by extension writers. L<At the end|/Undocumented functions>
+is a list of functions which have yet to be documented. The interfaces of
+those are subject to change without notice. Any functions not listed here are
+not part of the public API, and should not be used by extension writers at
+all. For these reasons, blindly using functions listed in proto.h is to be
+avoided when writing extensions.
Note that all Perl API global variables must be referenced with the C<PL_>
prefix. Some macros are provided for compatibility with the older,
@@ -69,7 +71,7 @@ X<GIMME_V>
The XSUB-writer's equivalent to Perl's C<wantarray>. Returns C<G_VOID>,
C<G_SCALAR> or C<G_ARRAY> for void, scalar or list context,
-respectively.
+respectively. See L<perlcall> for a usage example.
U32 GIMME_V
@@ -150,7 +152,7 @@ Found in file av.h
X<av_clear>
Clears an array, making it empty. Does not free the memory used by the
-array itself.
+array itself. Perl equivalent: C<@myarray = ();>.
void av_clear(AV *av)
@@ -189,9 +191,11 @@ Found in file av.c
=item av_delete
X<av_delete>
-Deletes the element indexed by C<key> from the array. Returns the
-deleted element. If C<flags> equals C<G_DISCARD>, the element is freed
-and null is returned.
+Deletes the element indexed by C<key> from the array, makes the element mortal,
+and returns it. If C<flags> equals C<G_DISCARD>, the element is freed and null
+is returned. Perl equivalent: C<my $elem = delete($myarray[$idx]);> for the
+non-C<G_DISCARD> version and a void-context C<delete($myarray[$idx]);> for the
+C<G_DISCARD> version.
SV* av_delete(AV *av, I32 key, I32 flags)
@@ -206,6 +210,8 @@ Returns true if the element indexed by C<key> has been initialized.
This relies on the fact that uninitialized array elements are set to
C<&PL_sv_undef>.
+Perl equivalent: C<exists($myarray[$key])>.
+
bool av_exists(AV *av, I32 key)
=for hackers
@@ -226,12 +232,14 @@ Found in file av.c
X<av_fetch>
Returns the SV at the specified index in the array. The C<key> is the
-index. If C<lval> is set then the fetch will be part of a store. Check
-that the return value is non-null before dereferencing it to a C<SV*>.
+index. If lval is true, you are guaranteed to get a real SV back (in case
+it wasn't real before), which you can then modify. Check that the return
+value is non-null before dereferencing it to a C<SV*>.
See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for
more information on how to use this function on tied arrays.
+The rough perl equivalent is C<$myarray[$idx]>.
SV** av_fetch(AV *av, I32 key, I32 lval)
=for hackers
@@ -244,7 +252,7 @@ Set the highest index in the array to the given number, equivalent to
Perl's C<$#array = $fill;>.
The number of elements in the an array will be C<fill + 1> after
-av_fill() returns. If the array was previously shorter then the
+av_fill() returns. If the array was previously shorter, then the
additional elements appended are set to C<PL_sv_undef>. If the array
was longer, then the excess elements are freed. C<av_fill(av, -1)> is
the same as C<av_clear(av)>.
@@ -260,6 +268,8 @@ X<av_len>
Returns the highest index in the array. The number of elements in the
array is C<av_len(av) + 1>. Returns -1 if the array is empty.
+The Perl equivalent for this is C<$#myarray>.
+
I32 av_len(AV *av)
=for hackers
@@ -272,6 +282,8 @@ Creates a new AV and populates it with a list of SVs. The SVs are copied
into the array, so they may be freed after the call to av_make. The new AV
will have a reference count of 1.
+Perl equivalent: C<my @new_array = ($scalar1, $scalar2, $scalar3...);>
+
AV* av_make(I32 size, SV **strp)
=for hackers
@@ -292,8 +304,7 @@ Found in file av.c
X<av_push>
Pushes an SV onto the end of the array. The array will grow automatically
-to accommodate the addition. Like C<av_store>, this takes ownership of one
-reference count.
+to accommodate the addition. This takes ownership of one reference count.
void av_push(AV *av, SV *val)
@@ -484,7 +495,8 @@ Found in file perl.c
=item eval_sv
X<eval_sv>
-Tells Perl to C<eval> the string in the SV.
+Tells Perl to C<eval> the string in the SV. It supports the same flags
+as C<call_sv>, with the obvious exception of G_EVAL. See L<perlcall>.
NOTE: the perl_ form of this function is deprecated.
@@ -528,37 +540,92 @@ Found in file scope.h
=back
-=head1 Character classes
+=head1 Character case changing
=over 8
-=item isALNUM
-X<isALNUM>
+=item toLOWER
+X<toLOWER>
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-alphanumeric character (including underscore) or digit.
+Converts the specified character to lowercase in the platform's native
+character set, if possible; otherwise returns the input character itself.
- bool isALNUM(char ch)
+ char toLOWER(char ch)
=for hackers
Found in file handy.h
+=item toUPPER
+X<toUPPER>
+
+Converts the specified character to uppercase in the platform's native
+character set, if possible; otherwise returns the input character itself.
+
+ char toUPPER(char ch)
+
+=for hackers
+Found in file handy.h
+
+
+=back
+
+=head1 Character classes
+
+There are three variants for all the functions in this section. The base ones
+operate using the character set of the platform Perl is running on. The ones
+with an C<_A> suffix operate on the ASCII character set, and the ones with an
+C<_L1> suffix operate on the full Latin1 character set. All are unaffected by
+locale
+
+For ASCII platforms, the base function with no suffix and the one with the
+C<_A> suffix are identical. The function with the C<_L1> suffix imposes the
+Latin-1 character set onto the platform. That is, the code points that are
+ASCII are unaffected, since ASCII is a subset of Latin-1. But the non-ASCII
+code points are treated as if they are Latin-1 characters. For example,
+C<isSPACE_L1()> will return true when called with the code point 0xA0, which is
+the Latin-1 NO-BREAK SPACE.
+
+For EBCDIC platforms, the base function with no suffix and the one with the
+C<_L1> suffix should be identical, since, as of this writing, the EBCDIC code
+pages that Perl knows about all are equivalent to Latin-1. The function that
+ends in an C<_A> suffix will not return true unless the specified character also
+has an ASCII equivalent.
+
+
+=over 8
+
=item isALPHA
X<isALPHA>
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-alphabetic character.
+Returns a boolean indicating whether the specified character is an
+alphabetic character in the platform's native character set.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isALPHA_A> and C<isALPHA_L1>.
bool isALPHA(char ch)
=for hackers
Found in file handy.h
+=item isASCII
+X<isASCII>
+
+Returns a boolean indicating whether the specified character is one of the 128
+characters in the ASCII character set. On non-ASCII platforms, it is if this
+character corresponds to an ASCII character. Variants C<isASCII_A()> and
+C<isASCII_L1()> are identical to C<isASCII()>.
+
+ bool isASCII(char ch)
+
+=for hackers
+Found in file handy.h
+
=item isDIGIT
X<isDIGIT>
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-digit.
+Returns a boolean indicating whether the specified character is a
+digit in the platform's native character set.
+Variants C<isDIGIT_A> and C<isDIGIT_L1> are identical to C<isDIGIT>.
bool isDIGIT(char ch)
@@ -568,19 +635,36 @@ Found in file handy.h
=item isLOWER
X<isLOWER>
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-lowercase character.
+Returns a boolean indicating whether the specified character is a
+lowercase character in the platform's native character set.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isLOWER_A> and C<isLOWER_L1>.
bool isLOWER(char ch)
=for hackers
Found in file handy.h
+=item isOCTAL
+X<isOCTAL>
+
+Returns a boolean indicating whether the specified character is an
+octal digit, [0-7] in the platform's native character set.
+Variants C<isOCTAL_A> and C<isOCTAL_L1> are identical to C<isOCTAL>.
+
+ bool isOCTAL(char ch)
+
+=for hackers
+Found in file handy.h
+
=item isSPACE
X<isSPACE>
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-whitespace.
+Returns a boolean indicating whether the specified character is a
+whitespace character in the platform's native character set. This is the same
+as what C<\s> matches in a regular expression.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isSPACE_A> and C<isSPACE_L1>.
bool isSPACE(char ch)
@@ -590,32 +674,41 @@ Found in file handy.h
=item isUPPER
X<isUPPER>
-Returns a boolean indicating whether the C C<char> is a US-ASCII (Basic Latin)
-uppercase character.
+Returns a boolean indicating whether the specified character is an
+uppercase character in the platform's native character set.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isUPPER_A> and C<isUPPER_L1>.
bool isUPPER(char ch)
=for hackers
Found in file handy.h
-=item toLOWER
-X<toLOWER>
+=item isWORDCHAR
+X<isWORDCHAR>
-Converts the specified character to lowercase. Characters outside the
-US-ASCII (Basic Latin) range are viewed as not having any case.
+Returns a boolean indicating whether the specified character is a
+character that is any of: alphabetic, numeric, or an underscore. This is the
+same as what C<\w> matches in a regular expression.
+C<isALNUM()> is a synonym provided for backward compatibility. Note that it
+does not have the standard C language meaning of alphanumeric, since it matches
+an underscore and the standard meaning does not.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isWORDCHAR_A> and C<isWORDCHAR_L1>.
- char toLOWER(char ch)
+ bool isWORDCHAR(char ch)
=for hackers
Found in file handy.h
-=item toUPPER
-X<toUPPER>
+=item isXDIGIT
+X<isXDIGIT>
-Converts the specified character to uppercase. Characters outside the
-US-ASCII (Basic Latin) range are viewed as not having any case.
+Returns a boolean indicating whether the specified character is a hexadecimal
+digit, [0-9A-Fa-f]. Variants C<isXDIGIT_A()> and C<isXDIGIT_L1()> are
+identical to C<isXDIGIT()>.
- char toUPPER(char ch)
+ bool isXDIGIT(char ch)
=for hackers
Found in file handy.h
@@ -669,6 +762,486 @@ Found in file sv.c
=back
+=head1 Compile-time scope hooks
+
+=over 8
+
+=item BhkDISABLE
+X<BhkDISABLE>
+
+Temporarily disable an entry in this BHK structure, by clearing the
+appropriate flag. I<which> is a preprocessor token indicating which
+entry to disable.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void BhkDISABLE(BHK *hk, which)
+
+=for hackers
+Found in file op.h
+
+=item BhkENABLE
+X<BhkENABLE>
+
+Re-enable an entry in this BHK structure, by setting the appropriate
+flag. I<which> is a preprocessor token indicating which entry to enable.
+This will assert (under -DDEBUGGING) if the entry doesn't contain a valid
+pointer.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void BhkENABLE(BHK *hk, which)
+
+=for hackers
+Found in file op.h
+
+=item BhkENTRY_set
+X<BhkENTRY_set>
+
+Set an entry in the BHK structure, and set the flags to indicate it is
+valid. I<which> is a preprocessing token indicating which entry to set.
+The type of I<ptr> depends on the entry.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void BhkENTRY_set(BHK *hk, which, void *ptr)
+
+=for hackers
+Found in file op.h
+
+=item blockhook_register
+X<blockhook_register>
+
+Register a set of hooks to be called when the Perl lexical scope changes
+at compile time. See L<perlguts/"Compile-time scope hooks">.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+NOTE: this function must be explicitly called as Perl_blockhook_register with an aTHX_ parameter.
+
+ void Perl_blockhook_register(pTHX_ BHK *hk)
+
+=for hackers
+Found in file op.c
+
+
+=back
+
+=head1 COP Hint Hashes
+
+=over 8
+
+=item cophh_2hv
+X<cophh_2hv>
+
+Generates and returns a standard Perl hash representing the full set of
+key/value pairs in the cop hints hash I<cophh>. I<flags> is currently
+unused and must be zero.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ HV * cophh_2hv(const COPHH *cophh, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_copy
+X<cophh_copy>
+
+Make and return a complete copy of the cop hints hash I<cophh>.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_copy(COPHH *cophh)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_delete_pv
+X<cophh_delete_pv>
+
+Like L</cophh_delete_pvn>, but takes a nul-terminated string instead of
+a string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_delete_pv(const COPHH *cophh, const char *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_delete_pvn
+X<cophh_delete_pvn>
+
+Delete a key and its associated value from the cop hints hash I<cophh>,
+and returns the modified hash. The returned hash pointer is in general
+not the same as the hash pointer that was passed in. The input hash is
+consumed by the function, and the pointer to it must not be subsequently
+used. Use L</cophh_copy> if you need both hashes.
+
+The key is specified by I<keypv> and I<keylen>. If I<flags> has the
+C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8,
+otherwise they are interpreted as Latin-1. I<hash> is a precomputed
+hash of the key string, or zero if it has not been precomputed.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_delete_pvn(COPHH *cophh, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_delete_pvs
+X<cophh_delete_pvs>
+
+Like L</cophh_delete_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_delete_pvs(const COPHH *cophh, const char *key, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_delete_sv
+X<cophh_delete_sv>
+
+Like L</cophh_delete_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_delete_sv(const COPHH *cophh, SV *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_fetch_pv
+X<cophh_fetch_pv>
+
+Like L</cophh_fetch_pvn>, but takes a nul-terminated string instead of
+a string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ SV * cophh_fetch_pv(const COPHH *cophh, const char *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_fetch_pvn
+X<cophh_fetch_pvn>
+
+Look up the entry in the cop hints hash I<cophh> with the key specified by
+I<keypv> and I<keylen>. If I<flags> has the C<COPHH_KEY_UTF8> bit set,
+the key octets are interpreted as UTF-8, otherwise they are interpreted
+as Latin-1. I<hash> is a precomputed hash of the key string, or zero if
+it has not been precomputed. Returns a mortal scalar copy of the value
+associated with the key, or C<&PL_sv_placeholder> if there is no value
+associated with the key.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ SV * cophh_fetch_pvn(const COPHH *cophh, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_fetch_pvs
+X<cophh_fetch_pvs>
+
+Like L</cophh_fetch_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ SV * cophh_fetch_pvs(const COPHH *cophh, const char *key, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_fetch_sv
+X<cophh_fetch_sv>
+
+Like L</cophh_fetch_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ SV * cophh_fetch_sv(const COPHH *cophh, SV *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_free
+X<cophh_free>
+
+Discard the cop hints hash I<cophh>, freeing all resources associated
+with it.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void cophh_free(COPHH *cophh)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_new_empty
+X<cophh_new_empty>
+
+Generate and return a fresh cop hints hash containing no entries.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_new_empty()
+
+=for hackers
+Found in file cop.h
+
+=item cophh_store_pv
+X<cophh_store_pv>
+
+Like L</cophh_store_pvn>, but takes a nul-terminated string instead of
+a string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_store_pv(const COPHH *cophh, const char *key, U32 hash, SV *value, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_store_pvn
+X<cophh_store_pvn>
+
+Stores a value, associated with a key, in the cop hints hash I<cophh>,
+and returns the modified hash. The returned hash pointer is in general
+not the same as the hash pointer that was passed in. The input hash is
+consumed by the function, and the pointer to it must not be subsequently
+used. Use L</cophh_copy> if you need both hashes.
+
+The key is specified by I<keypv> and I<keylen>. If I<flags> has the
+C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8,
+otherwise they are interpreted as Latin-1. I<hash> is a precomputed
+hash of the key string, or zero if it has not been precomputed.
+
+I<value> is the scalar value to store for this key. I<value> is copied
+by this function, which thus does not take ownership of any reference
+to it, and later changes to the scalar will not be reflected in the
+value visible in the cop hints hash. Complex types of scalar will not
+be stored with referential integrity, but will be coerced to strings.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_store_pvn(COPHH *cophh, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_store_pvs
+X<cophh_store_pvs>
+
+Like L</cophh_store_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_store_pvs(const COPHH *cophh, const char *key, SV *value, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cophh_store_sv
+X<cophh_store_sv>
+
+Like L</cophh_store_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ COPHH * cophh_store_sv(const COPHH *cophh, SV *key, U32 hash, SV *value, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+
+=back
+
+=head1 COP Hint Reading
+
+=over 8
+
+=item cop_hints_2hv
+X<cop_hints_2hv>
+
+Generates and returns a standard Perl hash representing the full set of
+hint entries in the cop I<cop>. I<flags> is currently unused and must
+be zero.
+
+ HV * cop_hints_2hv(const COP *cop, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cop_hints_fetch_pv
+X<cop_hints_fetch_pv>
+
+Like L</cop_hints_fetch_pvn>, but takes a nul-terminated string instead
+of a string/length pair.
+
+ SV * cop_hints_fetch_pv(const COP *cop, const char *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cop_hints_fetch_pvn
+X<cop_hints_fetch_pvn>
+
+Look up the hint entry in the cop I<cop> with the key specified by
+I<keypv> and I<keylen>. If I<flags> has the C<COPHH_KEY_UTF8> bit set,
+the key octets are interpreted as UTF-8, otherwise they are interpreted
+as Latin-1. I<hash> is a precomputed hash of the key string, or zero if
+it has not been precomputed. Returns a mortal scalar copy of the value
+associated with the key, or C<&PL_sv_placeholder> if there is no value
+associated with the key.
+
+ SV * cop_hints_fetch_pvn(const COP *cop, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cop_hints_fetch_pvs
+X<cop_hints_fetch_pvs>
+
+Like L</cop_hints_fetch_pvn>, but takes a literal string instead of a
+string/length pair, and no precomputed hash.
+
+ SV * cop_hints_fetch_pvs(const COP *cop, const char *key, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+=item cop_hints_fetch_sv
+X<cop_hints_fetch_sv>
+
+Like L</cop_hints_fetch_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+ SV * cop_hints_fetch_sv(const COP *cop, SV *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file cop.h
+
+
+=back
+
+=head1 Custom Operators
+
+=over 8
+
+=item custom_op_register
+X<custom_op_register>
+
+Register a custom op. See L<perlguts/"Custom Operators">.
+
+NOTE: this function must be explicitly called as Perl_custom_op_register with an aTHX_ parameter.
+
+ void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop)
+
+=for hackers
+Found in file op.c
+
+=item custom_op_xop
+X<custom_op_xop>
+
+Return the XOP structure for a given custom op. This function should be
+considered internal to OP_NAME and the other access macros: use them instead.
+
+NOTE: this function must be explicitly called as Perl_custom_op_xop with an aTHX_ parameter.
+
+ const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
+
+=for hackers
+Found in file op.c
+
+=item XopDISABLE
+X<XopDISABLE>
+
+Temporarily disable a member of the XOP, by clearing the appropriate flag.
+
+ void XopDISABLE(XOP *xop, which)
+
+=for hackers
+Found in file op.h
+
+=item XopENABLE
+X<XopENABLE>
+
+Reenable a member of the XOP which has been disabled.
+
+ void XopENABLE(XOP *xop, which)
+
+=for hackers
+Found in file op.h
+
+=item XopENTRY
+X<XopENTRY>
+
+Return a member of the XOP structure. I<which> is a cpp token indicating
+which entry to return. If the member is not set this will return a
+default value. The return type depends on I<which>.
+
+ XopENTRY(XOP *xop, which)
+
+=for hackers
+Found in file op.h
+
+=item XopENTRY_set
+X<XopENTRY_set>
+
+Set a member of the XOP structure. I<which> is a cpp token indicating
+which entry to set. See L<perlguts/"Custom Operators"> for details about
+the available members and how they are used.
+
+ void XopENTRY_set(XOP *xop, which, value)
+
+=for hackers
+Found in file op.h
+
+=item XopFLAGS
+X<XopFLAGS>
+
+Return the XOP's flags.
+
+ U32 XopFLAGS(XOP *xop)
+
+=for hackers
+Found in file op.h
+
+
+=back
+
=head1 CV Manipulation Functions
=over 8
@@ -729,7 +1302,7 @@ children can still follow the full lexical scope chain.
void cv_undef(CV* cv)
=for hackers
-Found in file op.c
+Found in file pad.c
=item load_module
X<load_module>
@@ -763,6 +1336,34 @@ no threads.
=for hackers
Found in file perl.c
+=item pad_findmy
+X<pad_findmy>
+
+Given a lexical name, try to find its offset, first in the current pad,
+or failing that, in the pads of any lexically enclosing subs (including
+the complications introduced by eval). If the name is found in an outer pad,
+then a fake entry is added to the current pad.
+Returns the offset in the current pad, or NOT_IN_PAD on failure.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ PADOFFSET pad_findmy(const char* name, STRLEN len, U32 flags)
+
+=for hackers
+Found in file pad.c
+
+=item pad_sv
+X<pad_sv>
+
+Get the value at offset po in the current pad.
+Use macro PAD_SV instead of calling this function directly.
+
+ SV* pad_sv(PADOFFSET po)
+
+=for hackers
+Found in file pad.c
+
=item perl_alloc
X<perl_alloc>
@@ -880,18 +1481,18 @@ if PERL_PV_ESCAPE_UNI_DETECT is set then the input string is scanned
using C<is_utf8_string()> to determine if it is Unicode.
If PERL_PV_ESCAPE_ALL is set then all input chars will be output
-using C<\x01F1> style escapes, otherwise only chars above 255 will be
-escaped using this style, other non printable chars will use octal or
-common escaped patterns like C<\n>. If PERL_PV_ESCAPE_NOBACKSLASH
-then all chars below 255 will be treated as printable and
+using C<\x01F1> style escapes, otherwise if PERL_PV_ESCAPE_NONASCII is set, only
+chars above 127 will be escaped using this style; otherwise, only chars above
+255 will be so escaped; other non printable chars will use octal or
+common escaped patterns like C<\n>. Otherwise, if PERL_PV_ESCAPE_NOBACKSLASH
+then all chars below 255 will be treated as printable and
will be output as literals.
If PERL_PV_ESCAPE_FIRSTCHAR is set then only the first char of the
-string will be escaped, regardles of max. If the string is utf8 and
-the chars value is >255 then it will be returned as a plain hex
-sequence. Thus the output will either be a single char,
-an octal escape sequence, a special escape like C<\n> or a 3 or
-more digit hex value.
+string will be escaped, regardless of max. If the output is to be in hex,
+then it will be returned as a plain hex
+sequence. Thus the output will either be a single char,
+an octal escape sequence, a special escape like C<\n> or a hex value.
If PERL_PV_ESCAPE_RE is set then the escape char used will be a '%' and
not a '\\'. This is because regexes very often contain backslashed
@@ -914,18 +1515,18 @@ If the PERL_PV_PRETTY_QUOTE flag is set then the result will be
double quoted with any double quotes in the string escaped. Otherwise
if the PERL_PV_PRETTY_LTGT flag is set then the result be wrapped in
angle brackets.
-
+
If the PERL_PV_PRETTY_ELLIPSES flag is set and not all characters in
string were output then an ellipsis C<...> will be appended to the
string. Note that this happens AFTER it has been quoted.
-
+
If start_color is non-null then it will be inserted after the opening
quote (if there is one) but before the escaped text. If end_color
is non-null then it will be inserted after the escaped text but before
any quotes or ellipses.
Returns a pointer to the prettified text as held by dsv.
-
+
char* pv_pretty(SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags)
=for hackers
@@ -939,6 +1540,30 @@ Found in file dump.c
=over 8
+=item custom_op_desc
+X<custom_op_desc>
+
+Return the description of a given custom op. This was once used by the
+OP_DESC macro, but is no longer: it has only been kept for
+compatibility, and should not be used.
+
+ const char * custom_op_desc(const OP *o)
+
+=for hackers
+Found in file mathoms.c
+
+=item custom_op_name
+X<custom_op_name>
+
+Return the name for a given custom op. This was once used by the OP_NAME
+macro, but is no longer: it has only been kept for compatibility, and
+should not be used.
+
+ const char * custom_op_name(const OP *o)
+
+=for hackers
+Found in file mathoms.c
+
=item gv_fetchmethod
X<gv_fetchmethod>
@@ -1212,6 +1837,27 @@ Found in file mathoms.c
=back
+=head1 Functions in file op.c
+
+
+=over 8
+
+=item op_contextualize
+X<op_contextualize>
+
+Applies a syntactic context to an op tree representing an expression.
+I<o> is the op tree, and I<context> must be C<G_SCALAR>, C<G_ARRAY>,
+or C<G_VOID> to specify the context to apply. The modified op tree
+is returned.
+
+ OP * op_contextualize(OP *o, I32 context)
+
+=for hackers
+Found in file op.c
+
+
+=back
+
=head1 Functions in file perl.h
@@ -1261,6 +1907,27 @@ Found in file perl.h
=over 8
+=item caller_cx
+X<caller_cx>
+
+The XSUB-writer's equivalent of L<caller()|perlfunc/caller>. The
+returned C<PERL_CONTEXT> structure can be interrogated to find all the
+information returned to Perl by C<caller>. Note that XSUBs don't get a
+stack frame, so C<caller_cx(0, NULL)> will return information for the
+immediately-surrounding Perl code.
+
+This function skips over the automatic calls to C<&DB::sub> made on the
+behalf of the debugger. If the stack frame requested was a sub called by
+C<DB::sub>, the return value will be the frame for the call to
+C<DB::sub>, since that has the correct line number/etc. for the call
+site. If I<dbcxp> is non-C<NULL>, it will be set to a pointer to the
+frame for the sub call itself.
+
+ const PERL_CONTEXT * caller_cx(I32 level, const PERL_CONTEXT **dbcxp)
+
+=for hackers
+Found in file pp_ctl.c
+
=item find_runcv
X<find_runcv>
@@ -1329,6 +1996,52 @@ Found in file pp_sys.c
=back
+=head1 Functions in file utf8.h
+
+
+=over 8
+
+=item ibcmp_utf8
+X<ibcmp_utf8>
+
+This is a synonym for (! foldEQ_utf8())
+
+ I32 ibcmp_utf8(const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+
+=for hackers
+Found in file utf8.h
+
+
+=back
+
+=head1 Functions in file util.h
+
+
+=over 8
+
+=item ibcmp
+X<ibcmp>
+
+This is a synonym for (! foldEQ())
+
+ I32 ibcmp(const char* a, const char* b, I32 len)
+
+=for hackers
+Found in file util.h
+
+=item ibcmp_locale
+X<ibcmp_locale>
+
+This is a synonym for (! foldEQ_locale())
+
+ I32 ibcmp_locale(const char* a, const char* b, I32 len)
+
+=for hackers
+Found in file util.h
+
+
+=back
+
=head1 Global Variables
=over 8
@@ -1358,7 +2071,7 @@ introduced by the keyword. See L</Lexer interface> for details.
When a keyword is being handled, the plugin function must build
a tree of C<OP> structures, representing the code that was parsed.
The root of the tree must be stored in C<*op_ptr>. The function then
-returns a contant indicating the syntactic role of the construct that
+returns a constant indicating the syntactic role of the construct that
it has parsed: C<KEYWORD_PLUGIN_STMT> if it is a complete statement, or
C<KEYWORD_PLUGIN_EXPR> if it is an expression. Note that a statement
construct cannot be used inside an expression (except via C<do BLOCK>
@@ -1735,6 +2448,21 @@ Returns the value slot (type C<SV*>) stored in the hash entry.
=for hackers
Found in file hv.h
+=item HvENAME
+X<HvENAME>
+
+Returns the effective name of a stash, or NULL if there is none. The
+effective name represents a location in the symbol table where this stash
+resides. It is updated automatically when packages are aliased or deleted.
+A stash that is no longer in the symbol table has no effective name. This
+name is preferable to C<HvNAME> for use in MRO linearisations and isa
+caches.
+
+ char* HvENAME(HV* stash)
+
+=for hackers
+Found in file hv.h
+
=item HvNAME
X<HvNAME>
@@ -1782,13 +2510,27 @@ See Hash::Util::lock_keys() for an example of its use.
=for hackers
Found in file hv.c
+=item hv_copy_hints_hv
+X<hv_copy_hints_hv>
+
+A specialised version of L</newHVhv> for copying C<%^H>. I<ohv> must be
+a pointer to a hash (which may have C<%^H> magic, but should be generally
+non-magical), or C<NULL> (interpreted as an empty hash). The content
+of I<ohv> is copied to a new hash, which has the C<%^H>-specific magic
+added to it. A pointer to the new hash is returned.
+
+ HV * hv_copy_hints_hv(HV *ohv)
+
+=for hackers
+Found in file hv.c
+
=item hv_delete
X<hv_delete>
-Deletes a key/value pair in the hash. The value SV is removed from the
-hash and returned to the caller. The C<klen> is the length of the key.
-The C<flags> value will normally be zero; if set to G_DISCARD then NULL
-will be returned.
+Deletes a key/value pair in the hash. The value's SV is removed from the
+hash, made mortal, and returned to the caller. The C<klen> is the length of
+the key. The C<flags> value will normally be zero; if set to G_DISCARD then
+NULL will be returned. NULL will also be returned if the key is not found.
SV* hv_delete(HV *hv, const char *key, I32 klen, I32 flags)
@@ -1798,10 +2540,11 @@ Found in file hv.c
=item hv_delete_ent
X<hv_delete_ent>
-Deletes a key/value pair in the hash. The value SV is removed from the
-hash and returned to the caller. The C<flags> value will normally be zero;
-if set to G_DISCARD then NULL will be returned. C<hash> can be a valid
-precomputed hash value, or 0 to ask for it to be computed.
+Deletes a key/value pair in the hash. The value SV is removed from the hash,
+made mortal, and returned to the caller. The C<flags> value will normally be
+zero; if set to G_DISCARD then NULL will be returned. NULL will also be
+returned if the key is not found. C<hash> can be a valid precomputed hash
+value, or 0 to ask for it to be computed.
SV* hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash)
@@ -1864,7 +2607,7 @@ Returns the hash entry which corresponds to the specified key in the hash.
C<hash> must be a valid precomputed hash number for the given C<key>, or 0
if you want the function to compute it. IF C<lval> is set then the fetch
will be part of a store. Make sure the return value is non-null before
-accessing it. The return value when C<tb> is a tied hash is a pointer to a
+accessing it. The return value when C<hv> is a tied hash is a pointer to a
static location, so be sure to make a copy of the structure if you need to
store it somewhere.
@@ -1876,16 +2619,30 @@ information on how to use this function on tied hashes.
=for hackers
Found in file hv.c
+=item hv_fill
+X<hv_fill>
+
+Returns the number of hash buckets that happen to be in use. This function is
+wrapped by the macro C<HvFILL>.
+
+Previously this value was stored in the HV structure, rather than being
+calculated on demand.
+
+ STRLEN hv_fill(HV const *const hv)
+
+=for hackers
+Found in file hv.c
+
=item hv_iterinit
X<hv_iterinit>
Prepares a starting point to traverse a hash table. Returns the number of
-keys in the hash (i.e. the same as C<HvKEYS(tb)>). The return value is
+keys in the hash (i.e. the same as C<HvKEYS(hv)>). The return value is
currently only meaningful for hashes without tie magic.
NOTE: Before version 5.004_65, C<hv_iterinit> used to return the number of
hash buckets that happen to be in use. If you still need that esoteric
-value, you can get it through the macro C<HvFILL(tb)>.
+value, you can get it through the macro C<HvFILL(hv)>.
I32 hv_iterinit(HV *hv)
@@ -2135,7 +2892,7 @@ it is not permitted to discard text that has yet to be lexed.
Normally it is not necessarily to do this directly, because it suffices to
use the implicit discarding behaviour of L</lex_next_chunk> and things
based on it. However, if a token stretches across multiple lines,
-and the lexing code has kept multiple lines of text in the buffer fof
+and the lexing code has kept multiple lines of text in the buffer for
that purpose, then after completion of the token it would be wise to
explicitly discard the now-unneeded earlier lines, to avoid future
multi-line tokens growing the buffer without bound.
@@ -2288,6 +3045,63 @@ removed without notice.
=for hackers
Found in file toke.c
+=item lex_start
+X<lex_start>
+
+Creates and initialises a new lexer/parser state object, supplying
+a context in which to lex and parse from a new source of Perl code.
+A pointer to the new state object is placed in L</PL_parser>. An entry
+is made on the save stack so that upon unwinding the new state object
+will be destroyed and the former value of L</PL_parser> will be restored.
+Nothing else need be done to clean up the parsing context.
+
+The code to be parsed comes from I<line> and I<rsfp>. I<line>, if
+non-null, provides a string (in SV form) containing code to be parsed.
+A copy of the string is made, so subsequent modification of I<line>
+does not affect parsing. I<rsfp>, if non-null, provides an input stream
+from which code will be read to be parsed. If both are non-null, the
+code in I<line> comes first and must consist of complete lines of input,
+and I<rsfp> supplies the remainder of the source.
+
+The I<flags> parameter is reserved for future use, and must always
+be zero, except for one flag that is currently reserved for perl's internal
+use.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void lex_start(SV *line, PerlIO *rsfp, U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item lex_stuff_pv
+X<lex_stuff_pv>
+
+Insert characters into the lexer buffer (L</PL_parser-E<gt>linestr>),
+immediately after the current lexing point (L</PL_parser-E<gt>bufptr>),
+reallocating the buffer if necessary. This means that lexing code that
+runs later will see the characters as if they had appeared in the input.
+It is not recommended to do this as part of normal parsing, and most
+uses of this facility run the risk of the inserted characters being
+interpreted in an unintended manner.
+
+The string to be inserted is represented by octets starting at I<pv>
+and continuing to the first nul. These octets are interpreted as either
+UTF-8 or Latin-1, according to whether the C<LEX_STUFF_UTF8> flag is set
+in I<flags>. The characters are recoded for the lexer buffer, according
+to how the buffer is currently being interpreted (L</lex_bufutf8>).
+If it is not convenient to nul-terminate a string to be inserted, the
+L</lex_stuff_pvn> function is more appropriate.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void lex_stuff_pv(const char *pv, U32 flags)
+
+=for hackers
+Found in file toke.c
+
=item lex_stuff_pvn
X<lex_stuff_pvn>
@@ -2304,17 +3118,31 @@ at I<pv>. These octets are interpreted as either UTF-8 or Latin-1,
according to whether the C<LEX_STUFF_UTF8> flag is set in I<flags>.
The characters are recoded for the lexer buffer, according to how the
buffer is currently being interpreted (L</lex_bufutf8>). If a string
-to be interpreted is available as a Perl scalar, the L</lex_stuff_sv>
+to be inserted is available as a Perl scalar, the L</lex_stuff_sv>
function is more convenient.
NOTE: this function is experimental and may change or be
removed without notice.
- void lex_stuff_pvn(char *pv, STRLEN len, U32 flags)
+ void lex_stuff_pvn(const char *pv, STRLEN len, U32 flags)
=for hackers
Found in file toke.c
+=item lex_stuff_pvs
+X<lex_stuff_pvs>
+
+Like L</lex_stuff_pvn>, but takes a literal string instead of a
+string/length pair.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void lex_stuff_pvs(const char *pv, U32 flags)
+
+=for hackers
+Found in file handy.h
+
=item lex_stuff_sv
X<lex_stuff_sv>
@@ -2328,7 +3156,7 @@ interpreted in an unintended manner.
The string to be inserted is the string value of I<sv>. The characters
are recoded for the lexer buffer, according to how the buffer is currently
-being interpreted (L</lex_bufutf8>). If a string to be interpreted is
+being interpreted (L</lex_bufutf8>). If a string to be inserted is
not already a Perl scalar, the L</lex_stuff_pvn> function avoids the
need to construct a scalar.
@@ -2359,6 +3187,291 @@ removed without notice.
=for hackers
Found in file toke.c
+=item parse_arithexpr
+X<parse_arithexpr>
+
+Parse a Perl arithmetic expression. This may contain operators of precedence
+down to the bit shift operators. The expression must be followed (and thus
+terminated) either by a comparison or lower-precedence operator or by
+something that would normally terminate an expression such as semicolon.
+If I<flags> includes C<PARSE_OPTIONAL> then the expression is optional,
+otherwise it is mandatory. It is up to the caller to ensure that the
+dynamic parser state (L</PL_parser> et al) is correctly set to reflect
+the source of the code to be parsed and the lexical context for the
+expression.
+
+The op tree representing the expression is returned. If an optional
+expression is absent, a null pointer is returned, otherwise the pointer
+will be non-null.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree is returned anyway. The error is reflected in the parser state,
+normally resulting in a single exception at the top level of parsing
+which covers all the compilation errors that occurred. Some compilation
+errors, however, will throw an exception immediately.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_arithexpr(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_barestmt
+X<parse_barestmt>
+
+Parse a single unadorned Perl statement. This may be a normal imperative
+statement or a declaration that has compile-time effect. It does not
+include any label or other affixture. It is up to the caller to ensure
+that the dynamic parser state (L</PL_parser> et al) is correctly set to
+reflect the source of the code to be parsed and the lexical context for
+the statement.
+
+The op tree representing the statement is returned. This may be a
+null pointer if the statement is null, for example if it was actually
+a subroutine definition (which has compile-time side effects). If not
+null, it will be ops directly implementing the statement, suitable to
+pass to L</newSTATEOP>. It will not normally include a C<nextstate> or
+equivalent op (except for those embedded in a scope contained entirely
+within the statement).
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree (most likely null) is returned anyway. The error is reflected in
+the parser state, normally resulting in a single exception at the top
+level of parsing which covers all the compilation errors that occurred.
+Some compilation errors, however, will throw an exception immediately.
+
+The I<flags> parameter is reserved for future use, and must always
+be zero.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_barestmt(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_block
+X<parse_block>
+
+Parse a single complete Perl code block. This consists of an opening
+brace, a sequence of statements, and a closing brace. The block
+constitutes a lexical scope, so C<my> variables and various compile-time
+effects can be contained within it. It is up to the caller to ensure
+that the dynamic parser state (L</PL_parser> et al) is correctly set to
+reflect the source of the code to be parsed and the lexical context for
+the statement.
+
+The op tree representing the code block is returned. This is always a
+real op, never a null pointer. It will normally be a C<lineseq> list,
+including C<nextstate> or equivalent ops. No ops to construct any kind
+of runtime scope are included by virtue of it being a block.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree (most likely null) is returned anyway. The error is reflected in
+the parser state, normally resulting in a single exception at the top
+level of parsing which covers all the compilation errors that occurred.
+Some compilation errors, however, will throw an exception immediately.
+
+The I<flags> parameter is reserved for future use, and must always
+be zero.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_block(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_fullexpr
+X<parse_fullexpr>
+
+Parse a single complete Perl expression. This allows the full
+expression grammar, including the lowest-precedence operators such
+as C<or>. The expression must be followed (and thus terminated) by a
+token that an expression would normally be terminated by: end-of-file,
+closing bracketing punctuation, semicolon, or one of the keywords that
+signals a postfix expression-statement modifier. If I<flags> includes
+C<PARSE_OPTIONAL> then the expression is optional, otherwise it is
+mandatory. It is up to the caller to ensure that the dynamic parser
+state (L</PL_parser> et al) is correctly set to reflect the source of
+the code to be parsed and the lexical context for the expression.
+
+The op tree representing the expression is returned. If an optional
+expression is absent, a null pointer is returned, otherwise the pointer
+will be non-null.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree is returned anyway. The error is reflected in the parser state,
+normally resulting in a single exception at the top level of parsing
+which covers all the compilation errors that occurred. Some compilation
+errors, however, will throw an exception immediately.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_fullexpr(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_fullstmt
+X<parse_fullstmt>
+
+Parse a single complete Perl statement. This may be a normal imperative
+statement or a declaration that has compile-time effect, and may include
+optional labels. It is up to the caller to ensure that the dynamic
+parser state (L</PL_parser> et al) is correctly set to reflect the source
+of the code to be parsed and the lexical context for the statement.
+
+The op tree representing the statement is returned. This may be a
+null pointer if the statement is null, for example if it was actually
+a subroutine definition (which has compile-time side effects). If not
+null, it will be the result of a L</newSTATEOP> call, normally including
+a C<nextstate> or equivalent op.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree (most likely null) is returned anyway. The error is reflected in
+the parser state, normally resulting in a single exception at the top
+level of parsing which covers all the compilation errors that occurred.
+Some compilation errors, however, will throw an exception immediately.
+
+The I<flags> parameter is reserved for future use, and must always
+be zero.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_fullstmt(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_label
+X<parse_label>
+
+Parse a single label, possibly optional, of the type that may prefix a
+Perl statement. It is up to the caller to ensure that the dynamic parser
+state (L</PL_parser> et al) is correctly set to reflect the source of
+the code to be parsed. If I<flags> includes C<PARSE_OPTIONAL> then the
+label is optional, otherwise it is mandatory.
+
+The name of the label is returned in the form of a fresh scalar. If an
+optional label is absent, a null pointer is returned.
+
+If an error occurs in parsing, which can only occur if the label is
+mandatory, a valid label is returned anyway. The error is reflected in
+the parser state, normally resulting in a single exception at the top
+level of parsing which covers all the compilation errors that occurred.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ SV * parse_label(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_listexpr
+X<parse_listexpr>
+
+Parse a Perl list expression. This may contain operators of precedence
+down to the comma operator. The expression must be followed (and thus
+terminated) either by a low-precedence logic operator such as C<or> or by
+something that would normally terminate an expression such as semicolon.
+If I<flags> includes C<PARSE_OPTIONAL> then the expression is optional,
+otherwise it is mandatory. It is up to the caller to ensure that the
+dynamic parser state (L</PL_parser> et al) is correctly set to reflect
+the source of the code to be parsed and the lexical context for the
+expression.
+
+The op tree representing the expression is returned. If an optional
+expression is absent, a null pointer is returned, otherwise the pointer
+will be non-null.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree is returned anyway. The error is reflected in the parser state,
+normally resulting in a single exception at the top level of parsing
+which covers all the compilation errors that occurred. Some compilation
+errors, however, will throw an exception immediately.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_listexpr(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_stmtseq
+X<parse_stmtseq>
+
+Parse a sequence of zero or more Perl statements. These may be normal
+imperative statements, including optional labels, or declarations
+that have compile-time effect, or any mixture thereof. The statement
+sequence ends when a closing brace or end-of-file is encountered in a
+place where a new statement could have validly started. It is up to
+the caller to ensure that the dynamic parser state (L</PL_parser> et al)
+is correctly set to reflect the source of the code to be parsed and the
+lexical context for the statements.
+
+The op tree representing the statement sequence is returned. This may
+be a null pointer if the statements were all null, for example if there
+were no statements or if there were only subroutine definitions (which
+have compile-time side effects). If not null, it will be a C<lineseq>
+list, normally including C<nextstate> or equivalent ops.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree is returned anyway. The error is reflected in the parser state,
+normally resulting in a single exception at the top level of parsing
+which covers all the compilation errors that occurred. Some compilation
+errors, however, will throw an exception immediately.
+
+The I<flags> parameter is reserved for future use, and must always
+be zero.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_stmtseq(U32 flags)
+
+=for hackers
+Found in file toke.c
+
+=item parse_termexpr
+X<parse_termexpr>
+
+Parse a Perl term expression. This may contain operators of precedence
+down to the assignment operators. The expression must be followed (and thus
+terminated) either by a comma or lower-precedence operator or by
+something that would normally terminate an expression such as semicolon.
+If I<flags> includes C<PARSE_OPTIONAL> then the expression is optional,
+otherwise it is mandatory. It is up to the caller to ensure that the
+dynamic parser state (L</PL_parser> et al) is correctly set to reflect
+the source of the code to be parsed and the lexical context for the
+expression.
+
+The op tree representing the expression is returned. If an optional
+expression is absent, a null pointer is returned, otherwise the pointer
+will be non-null.
+
+If an error occurs in parsing or compilation, in most cases a valid op
+tree is returned anyway. The error is reflected in the parser state,
+normally resulting in a single exception at the top level of parsing
+which covers all the compilation errors that occurred. Some compilation
+errors, however, will throw an exception immediately.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * parse_termexpr(U32 flags)
+
+=for hackers
+Found in file toke.c
+
=item PL_parser
X<PL_parser>
@@ -2495,6 +3608,17 @@ Finds the magic pointer for type matching the SV. See C<sv_magic>.
=for hackers
Found in file mg.c
+=item mg_findext
+X<mg_findext>
+
+Finds the magic pointer of C<type> with the given C<vtbl> for the C<SV>. See
+C<sv_magicext>.
+
+ MAGIC* mg_findext(const SV* sv, int type, const MGVTBL *vtbl)
+
+=for hackers
+Found in file mg.c
+
=item mg_free
X<mg_free>
@@ -2505,6 +3629,16 @@ Free any magic storage used by the SV. See C<sv_magic>.
=for hackers
Found in file mg.c
+=item mg_free_type
+X<mg_free_type>
+
+Remove any magic of type I<how> from the SV I<sv>. See L</sv_magic>.
+
+ void mg_free_type(SV *sv, int how)
+
+=for hackers
+Found in file mg.c
+
=item mg_get
X<mg_get>
@@ -2864,6 +3998,28 @@ pointer is not acceptable)
=for hackers
Found in file util.c
+=item savesharedpvs
+X<savesharedpvs>
+
+A version of C<savepvs()> which allocates the duplicate string in memory
+which is shared between threads.
+
+ char* savesharedpvs(const char* s)
+
+=for hackers
+Found in file handy.h
+
+=item savesharedsvpv
+X<savesharedsvpv>
+
+A version of C<savesharedpv()> which allocates the duplicate string in
+memory which is shared between threads.
+
+ char* savesharedsvpv(SV *sv)
+
+=for hackers
+Found in file util.c
+
=item savesvpv
X<savesvpv>
@@ -2938,6 +4094,30 @@ then.
=for hackers
Found in file util.c
+=item foldEQ
+X<foldEQ>
+
+Returns true if the leading len bytes of the strings s1 and s2 are the same
+case-insensitively; false otherwise. Uppercase and lowercase ASCII range bytes
+match themselves and their opposite case counterparts. Non-cased and non-ASCII
+range bytes match only themselves.
+
+ I32 foldEQ(const char* a, const char* b, I32 len)
+
+=for hackers
+Found in file util.c
+
+=item foldEQ_locale
+X<foldEQ_locale>
+
+Returns true if the leading len bytes of the strings s1 and s2 are the same
+case-insensitively in the current locale; false otherwise.
+
+ I32 foldEQ_locale(const char* a, const char* b, I32 len)
+
+=for hackers
+Found in file util.c
+
=item form
X<form>
@@ -2969,6 +4149,49 @@ Fill the sv with current working directory
=for hackers
Found in file util.c
+=item mess
+X<mess>
+
+Take a sprintf-style format pattern and argument list. These are used to
+generate a string message. If the message does not end with a newline,
+then it will be extended with some indication of the current location
+in the code, as described for L</mess_sv>.
+
+Normally, the resulting message is returned in a new mortal SV.
+During global destruction a single SV may be shared between uses of
+this function.
+
+ SV * mess(const char *pat, ...)
+
+=for hackers
+Found in file util.c
+
+=item mess_sv
+X<mess_sv>
+
+Expands a message, intended for the user, to include an indication of
+the current location in the code, if the message does not already appear
+to be complete.
+
+C<basemsg> is the initial message or object. If it is a reference, it
+will be used as-is and will be the result of this function. Otherwise it
+is used as a string, and if it already ends with a newline, it is taken
+to be complete, and the result of this function will be the same string.
+If the message does not end with a newline, then a segment such as C<at
+foo.pl line 37> will be appended, and possibly other clauses indicating
+the current state of execution. The resulting message will end with a
+dot and a newline.
+
+Normally, the resulting message is returned in a new mortal SV.
+During global destruction a single SV may be shared between uses of this
+function. If C<consume> is true, then the function is permitted (but not
+required) to modify and return C<basemsg> instead of allocating a new SV.
+
+ SV * mess_sv(SV *basemsg, bool consume)
+
+=for hackers
+Found in file util.c
+
=item my_snprintf
X<my_snprintf>
@@ -3028,6 +4251,11 @@ Found in file util.c
=item prescan_version
X<prescan_version>
+Validate that a given string can be parsed as a version object, but doesn't
+actually perform the parsing. Can use either strict or lax validation rules.
+Can optionally set a number of hint variables to save the parsing code
+some time when tokenizing.
+
const char* prescan_version(const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha)
=for hackers
@@ -3198,6 +4426,24 @@ converted into version objects.
=for hackers
Found in file util.c
+=item vmess
+X<vmess>
+
+C<pat> and C<args> are a sprintf-style format pattern and encapsulated
+argument list. These are used to generate a string message. If the
+message does not end with a newline, then it will be extended with
+some indication of the current location in the code, as described for
+L</mess_sv>.
+
+Normally, the resulting message is returned in a new mortal SV.
+During global destruction a single SV may be shared between uses of
+this function.
+
+ SV * vmess(const char *pat, va_list *args)
+
+=for hackers
+Found in file util.c
+
=item vnormal
X<vnormal>
@@ -3209,6 +4455,8 @@ representation. Call like:
NOTE: you can pass either the object directly or the SV
contained within the RV.
+The SV returned has a refcount of 1.
+
SV* vnormal(SV *vs)
=for hackers
@@ -3225,6 +4473,8 @@ point representation. Call like:
NOTE: you can pass either the object directly or the SV
contained within the RV.
+The SV returned has a refcount of 1.
+
SV* vnumify(SV *vs)
=for hackers
@@ -3236,7 +4486,9 @@ X<vstringify>
In order to maintain maximum compatibility with earlier versions
of Perl, this function will return either the floating point
notation or the multiple dotted notation, depending on whether
-the original version contained 1 or more dots, respectively
+the original version contained 1 or more dots, respectively.
+
+The SV returned has a refcount of 1.
SV* vstringify(SV *vs)
@@ -3246,14 +4498,17 @@ Found in file util.c
=item vverify
X<vverify>
-Validates that the SV contains a valid version object.
+Validates that the SV contains valid internal structure for a version object.
+It may be passed either the version object (RV) or the hash itself (HV). If
+the structure is valid, it returns the HV. If the structure is invalid,
+it returns NULL.
- bool vverify(SV *vobj);
+ SV *hv = vverify(sv);
Note that it only confirms the bare minimum structure (so as not to get
confused by derived classes which may contain additional hash entries):
- bool vverify(SV *vs)
+ SV* vverify(SV *vs)
=for hackers
Found in file util.c
@@ -3477,7 +4732,7 @@ On entry I<start> and I<*len> give the string to scan, I<*flags> gives
conversion flags, and I<result> should be NULL or a pointer to an NV.
The scan stops at the end of the string, or the first invalid character.
Unless C<PERL_SCAN_SILENT_ILLDIGIT> is set in I<*flags>, encountering an
-invalid character will also trigger a warning.
+8 or 9 will also trigger a warning.
On return I<*len> is set to the length of the scanned string,
and I<*flags> gives output flags.
@@ -3559,10 +4814,451 @@ Found in file numeric.c
=back
+=head1 Optree construction
+
+=over 8
+
+=item newASSIGNOP
+X<newASSIGNOP>
+
+Constructs, checks, and returns an assignment op. I<left> and I<right>
+supply the parameters of the assignment; they are consumed by this
+function and become part of the constructed op tree.
+
+If I<optype> is C<OP_ANDASSIGN>, C<OP_ORASSIGN>, or C<OP_DORASSIGN>, then
+a suitable conditional optree is constructed. If I<optype> is the opcode
+of a binary operator, such as C<OP_BIT_OR>, then an op is constructed that
+performs the binary operation and assigns the result to the left argument.
+Either way, if I<optype> is non-zero then I<flags> has no effect.
+
+If I<optype> is zero, then a plain scalar or list assignment is
+constructed. Which type of assignment it is is automatically determined.
+I<flags> gives the eight bits of C<op_flags>, except that C<OPf_KIDS>
+will be set automatically, and, shifted up eight bits, the eight bits
+of C<op_private>, except that the bit with value 1 or 2 is automatically
+set as required.
+
+ OP * newASSIGNOP(I32 flags, OP *left, I32 optype, OP *right)
+
+=for hackers
+Found in file op.c
+
+=item newBINOP
+X<newBINOP>
+
+Constructs, checks, and returns an op of any binary type. I<type>
+is the opcode. I<flags> gives the eight bits of C<op_flags>, except
+that C<OPf_KIDS> will be set automatically, and, shifted up eight bits,
+the eight bits of C<op_private>, except that the bit with value 1 or
+2 is automatically set as required. I<first> and I<last> supply up to
+two ops to be the direct children of the binary op; they are consumed
+by this function and become part of the constructed op tree.
+
+ OP * newBINOP(I32 type, I32 flags, OP *first, OP *last)
+
+=for hackers
+Found in file op.c
+
+=item newCONDOP
+X<newCONDOP>
+
+Constructs, checks, and returns a conditional-expression (C<cond_expr>)
+op. I<flags> gives the eight bits of C<op_flags>, except that C<OPf_KIDS>
+will be set automatically, and, shifted up eight bits, the eight bits of
+C<op_private>, except that the bit with value 1 is automatically set.
+I<first> supplies the expression selecting between the two branches,
+and I<trueop> and I<falseop> supply the branches; they are consumed by
+this function and become part of the constructed op tree.
+
+ OP * newCONDOP(I32 flags, OP *first, OP *trueop, OP *falseop)
+
+=for hackers
+Found in file op.c
+
+=item newFOROP
+X<newFOROP>
+
+Constructs, checks, and returns an op tree expressing a C<foreach>
+loop (iteration through a list of values). This is a heavyweight loop,
+with structure that allows exiting the loop by C<last> and suchlike.
+
+I<sv> optionally supplies the variable that will be aliased to each
+item in turn; if null, it defaults to C<$_> (either lexical or global).
+I<expr> supplies the list of values to iterate over. I<block> supplies
+the main body of the loop, and I<cont> optionally supplies a C<continue>
+block that operates as a second half of the body. All of these optree
+inputs are consumed by this function and become part of the constructed
+op tree.
+
+I<flags> gives the eight bits of C<op_flags> for the C<leaveloop>
+op and, shifted up eight bits, the eight bits of C<op_private> for
+the C<leaveloop> op, except that (in both cases) some bits will be set
+automatically.
+
+ OP * newFOROP(I32 flags, OP *sv, OP *expr, OP *block, OP *cont)
+
+=for hackers
+Found in file op.c
+
+=item newGIVENOP
+X<newGIVENOP>
+
+Constructs, checks, and returns an op tree expressing a C<given> block.
+I<cond> supplies the expression that will be locally assigned to a lexical
+variable, and I<block> supplies the body of the C<given> construct; they
+are consumed by this function and become part of the constructed op tree.
+I<defsv_off> is the pad offset of the scalar lexical variable that will
+be affected.
+
+ OP * newGIVENOP(OP *cond, OP *block, PADOFFSET defsv_off)
+
+=for hackers
+Found in file op.c
+
+=item newGVOP
+X<newGVOP>
+
+Constructs, checks, and returns an op of any type that involves an
+embedded reference to a GV. I<type> is the opcode. I<flags> gives the
+eight bits of C<op_flags>. I<gv> identifies the GV that the op should
+reference; calling this function does not transfer ownership of any
+reference to it.
+
+ OP * newGVOP(I32 type, I32 flags, GV *gv)
+
+=for hackers
+Found in file op.c
+
+=item newLISTOP
+X<newLISTOP>
+
+Constructs, checks, and returns an op of any list type. I<type> is
+the opcode. I<flags> gives the eight bits of C<op_flags>, except that
+C<OPf_KIDS> will be set automatically if required. I<first> and I<last>
+supply up to two ops to be direct children of the list op; they are
+consumed by this function and become part of the constructed op tree.
+
+ OP * newLISTOP(I32 type, I32 flags, OP *first, OP *last)
+
+=for hackers
+Found in file op.c
+
+=item newLOGOP
+X<newLOGOP>
+
+Constructs, checks, and returns a logical (flow control) op. I<type>
+is the opcode. I<flags> gives the eight bits of C<op_flags>, except
+that C<OPf_KIDS> will be set automatically, and, shifted up eight bits,
+the eight bits of C<op_private>, except that the bit with value 1 is
+automatically set. I<first> supplies the expression controlling the
+flow, and I<other> supplies the side (alternate) chain of ops; they are
+consumed by this function and become part of the constructed op tree.
+
+ OP * newLOGOP(I32 type, I32 flags, OP *first, OP *other)
+
+=for hackers
+Found in file op.c
+
+=item newLOOPEX
+X<newLOOPEX>
+
+Constructs, checks, and returns a loop-exiting op (such as C<goto>
+or C<last>). I<type> is the opcode. I<label> supplies the parameter
+determining the target of the op; it is consumed by this function and
+become part of the constructed op tree.
+
+ OP * newLOOPEX(I32 type, OP *label)
+
+=for hackers
+Found in file op.c
+
+=item newLOOPOP
+X<newLOOPOP>
+
+Constructs, checks, and returns an op tree expressing a loop. This is
+only a loop in the control flow through the op tree; it does not have
+the heavyweight loop structure that allows exiting the loop by C<last>
+and suchlike. I<flags> gives the eight bits of C<op_flags> for the
+top-level op, except that some bits will be set automatically as required.
+I<expr> supplies the expression controlling loop iteration, and I<block>
+supplies the body of the loop; they are consumed by this function and
+become part of the constructed op tree. I<debuggable> is currently
+unused and should always be 1.
+
+ OP * newLOOPOP(I32 flags, I32 debuggable, OP *expr, OP *block)
+
+=for hackers
+Found in file op.c
+
+=item newNULLLIST
+X<newNULLLIST>
+
+Constructs, checks, and returns a new C<stub> op, which represents an
+empty list expression.
+
+ OP * newNULLLIST()
+
+=for hackers
+Found in file op.c
+
+=item newOP
+X<newOP>
+
+Constructs, checks, and returns an op of any base type (any type that
+has no extra fields). I<type> is the opcode. I<flags> gives the
+eight bits of C<op_flags>, and, shifted up eight bits, the eight bits
+of C<op_private>.
+
+ OP * newOP(I32 type, I32 flags)
+
+=for hackers
+Found in file op.c
+
+=item newPADOP
+X<newPADOP>
+
+Constructs, checks, and returns an op of any type that involves a
+reference to a pad element. I<type> is the opcode. I<flags> gives the
+eight bits of C<op_flags>. A pad slot is automatically allocated, and
+is populated with I<sv>; this function takes ownership of one reference
+to it.
+
+This function only exists if Perl has been compiled to use ithreads.
+
+ OP * newPADOP(I32 type, I32 flags, SV *sv)
+
+=for hackers
+Found in file op.c
+
+=item newPMOP
+X<newPMOP>
+
+Constructs, checks, and returns an op of any pattern matching type.
+I<type> is the opcode. I<flags> gives the eight bits of C<op_flags>
+and, shifted up eight bits, the eight bits of C<op_private>.
+
+ OP * newPMOP(I32 type, I32 flags)
+
+=for hackers
+Found in file op.c
+
+=item newPVOP
+X<newPVOP>
+
+Constructs, checks, and returns an op of any type that involves an
+embedded C-level pointer (PV). I<type> is the opcode. I<flags> gives
+the eight bits of C<op_flags>. I<pv> supplies the C-level pointer, which
+must have been allocated using L</PerlMemShared_malloc>; the memory will
+be freed when the op is destroyed.
+
+ OP * newPVOP(I32 type, I32 flags, char *pv)
+
+=for hackers
+Found in file op.c
+
+=item newRANGE
+X<newRANGE>
+
+Constructs and returns a C<range> op, with subordinate C<flip> and
+C<flop> ops. I<flags> gives the eight bits of C<op_flags> for the
+C<flip> op and, shifted up eight bits, the eight bits of C<op_private>
+for both the C<flip> and C<range> ops, except that the bit with value
+1 is automatically set. I<left> and I<right> supply the expressions
+controlling the endpoints of the range; they are consumed by this function
+and become part of the constructed op tree.
+
+ OP * newRANGE(I32 flags, OP *left, OP *right)
+
+=for hackers
+Found in file op.c
+
+=item newSLICEOP
+X<newSLICEOP>
+
+Constructs, checks, and returns an C<lslice> (list slice) op. I<flags>
+gives the eight bits of C<op_flags>, except that C<OPf_KIDS> will
+be set automatically, and, shifted up eight bits, the eight bits of
+C<op_private>, except that the bit with value 1 or 2 is automatically
+set as required. I<listval> and I<subscript> supply the parameters of
+the slice; they are consumed by this function and become part of the
+constructed op tree.
+
+ OP * newSLICEOP(I32 flags, OP *subscript, OP *listval)
+
+=for hackers
+Found in file op.c
+
+=item newSTATEOP
+X<newSTATEOP>
+
+Constructs a state op (COP). The state op is normally a C<nextstate> op,
+but will be a C<dbstate> op if debugging is enabled for currently-compiled
+code. The state op is populated from L</PL_curcop> (or L</PL_compiling>).
+If I<label> is non-null, it supplies the name of a label to attach to
+the state op; this function takes ownership of the memory pointed at by
+I<label>, and will free it. I<flags> gives the eight bits of C<op_flags>
+for the state op.
+
+If I<o> is null, the state op is returned. Otherwise the state op is
+combined with I<o> into a C<lineseq> list op, which is returned. I<o>
+is consumed by this function and becomes part of the returned op tree.
+
+ OP * newSTATEOP(I32 flags, char *label, OP *o)
+
+=for hackers
+Found in file op.c
+
+=item newSVOP
+X<newSVOP>
+
+Constructs, checks, and returns an op of any type that involves an
+embedded SV. I<type> is the opcode. I<flags> gives the eight bits
+of C<op_flags>. I<sv> gives the SV to embed in the op; this function
+takes ownership of one reference to it.
+
+ OP * newSVOP(I32 type, I32 flags, SV *sv)
+
+=for hackers
+Found in file op.c
+
+=item newUNOP
+X<newUNOP>
+
+Constructs, checks, and returns an op of any unary type. I<type> is
+the opcode. I<flags> gives the eight bits of C<op_flags>, except that
+C<OPf_KIDS> will be set automatically if required, and, shifted up eight
+bits, the eight bits of C<op_private>, except that the bit with value 1
+is automatically set. I<first> supplies an optional op to be the direct
+child of the unary op; it is consumed by this function and become part
+of the constructed op tree.
+
+ OP * newUNOP(I32 type, I32 flags, OP *first)
+
+=for hackers
+Found in file op.c
+
+=item newWHENOP
+X<newWHENOP>
+
+Constructs, checks, and returns an op tree expressing a C<when> block.
+I<cond> supplies the test expression, and I<block> supplies the block
+that will be executed if the test evaluates to true; they are consumed
+by this function and become part of the constructed op tree. I<cond>
+will be interpreted DWIMically, often as a comparison against C<$_>,
+and may be null to generate a C<default> block.
+
+ OP * newWHENOP(OP *cond, OP *block)
+
+=for hackers
+Found in file op.c
+
+=item newWHILEOP
+X<newWHILEOP>
+
+Constructs, checks, and returns an op tree expressing a C<while> loop.
+This is a heavyweight loop, with structure that allows exiting the loop
+by C<last> and suchlike.
+
+I<loop> is an optional preconstructed C<enterloop> op to use in the
+loop; if it is null then a suitable op will be constructed automatically.
+I<expr> supplies the loop's controlling expression. I<block> supplies the
+main body of the loop, and I<cont> optionally supplies a C<continue> block
+that operates as a second half of the body. All of these optree inputs
+are consumed by this function and become part of the constructed op tree.
+
+I<flags> gives the eight bits of C<op_flags> for the C<leaveloop>
+op and, shifted up eight bits, the eight bits of C<op_private> for
+the C<leaveloop> op, except that (in both cases) some bits will be set
+automatically. I<debuggable> is currently unused and should always be 1.
+I<has_my> can be supplied as true to force the
+loop body to be enclosed in its own scope.
+
+ OP * newWHILEOP(I32 flags, I32 debuggable, LOOP *loop, OP *expr, OP *block, OP *cont, I32 has_my)
+
+=for hackers
+Found in file op.c
+
+
+=back
+
=head1 Optree Manipulation Functions
=over 8
+=item ck_entersub_args_list
+X<ck_entersub_args_list>
+
+Performs the default fixup of the arguments part of an C<entersub>
+op tree. This consists of applying list context to each of the
+argument ops. This is the standard treatment used on a call marked
+with C<&>, or a method call, or a call through a subroutine reference,
+or any other call where the callee can't be identified at compile time,
+or a call where the callee has no prototype.
+
+ OP * ck_entersub_args_list(OP *entersubop)
+
+=for hackers
+Found in file op.c
+
+=item ck_entersub_args_proto
+X<ck_entersub_args_proto>
+
+Performs the fixup of the arguments part of an C<entersub> op tree
+based on a subroutine prototype. This makes various modifications to
+the argument ops, from applying context up to inserting C<refgen> ops,
+and checking the number and syntactic types of arguments, as directed by
+the prototype. This is the standard treatment used on a subroutine call,
+not marked with C<&>, where the callee can be identified at compile time
+and has a prototype.
+
+I<protosv> supplies the subroutine prototype to be applied to the call.
+It may be a normal defined scalar, of which the string value will be used.
+Alternatively, for convenience, it may be a subroutine object (a C<CV*>
+that has been cast to C<SV*>) which has a prototype. The prototype
+supplied, in whichever form, does not need to match the actual callee
+referenced by the op tree.
+
+If the argument ops disagree with the prototype, for example by having
+an unacceptable number of arguments, a valid op tree is returned anyway.
+The error is reflected in the parser state, normally resulting in a single
+exception at the top level of parsing which covers all the compilation
+errors that occurred. In the error message, the callee is referred to
+by the name defined by the I<namegv> parameter.
+
+ OP * ck_entersub_args_proto(OP *entersubop, GV *namegv, SV *protosv)
+
+=for hackers
+Found in file op.c
+
+=item ck_entersub_args_proto_or_list
+X<ck_entersub_args_proto_or_list>
+
+Performs the fixup of the arguments part of an C<entersub> op tree either
+based on a subroutine prototype or using default list-context processing.
+This is the standard treatment used on a subroutine call, not marked
+with C<&>, where the callee can be identified at compile time.
+
+I<protosv> supplies the subroutine prototype to be applied to the call,
+or indicates that there is no prototype. It may be a normal scalar,
+in which case if it is defined then the string value will be used
+as a prototype, and if it is undefined then there is no prototype.
+Alternatively, for convenience, it may be a subroutine object (a C<CV*>
+that has been cast to C<SV*>), of which the prototype will be used if it
+has one. The prototype (or lack thereof) supplied, in whichever form,
+does not need to match the actual callee referenced by the op tree.
+
+If the argument ops disagree with the prototype, for example by having
+an unacceptable number of arguments, a valid op tree is returned anyway.
+The error is reflected in the parser state, normally resulting in a single
+exception at the top level of parsing which covers all the compilation
+errors that occurred. In the error message, the callee is referred to
+by the name defined by the I<namegv> parameter.
+
+ OP * ck_entersub_args_proto_or_list(OP *entersubop, GV *namegv, SV *protosv)
+
+=for hackers
+Found in file op.c
+
=item cv_const_sv
X<cv_const_sv>
@@ -3577,6 +5273,81 @@ L<perlsub/"Constant Functions">.
=for hackers
Found in file op.c
+=item cv_get_call_checker
+X<cv_get_call_checker>
+
+Retrieves the function that will be used to fix up a call to I<cv>.
+Specifically, the function is applied to an C<entersub> op tree for a
+subroutine call, not marked with C<&>, where the callee can be identified
+at compile time as I<cv>.
+
+The C-level function pointer is returned in I<*ckfun_p>, and an SV
+argument for it is returned in I<*ckobj_p>. The function is intended
+to be called in this manner:
+
+ entersubop = (*ckfun_p)(aTHX_ entersubop, namegv, (*ckobj_p));
+
+In this call, I<entersubop> is a pointer to the C<entersub> op,
+which may be replaced by the check function, and I<namegv> is a GV
+supplying the name that should be used by the check function to refer
+to the callee of the C<entersub> op if it needs to emit any diagnostics.
+It is permitted to apply the check function in non-standard situations,
+such as to a call to a different subroutine or to a method call.
+
+By default, the function is
+L<Perl_ck_entersub_args_proto_or_list|/ck_entersub_args_proto_or_list>,
+and the SV parameter is I<cv> itself. This implements standard
+prototype processing. It can be changed, for a particular subroutine,
+by L</cv_set_call_checker>.
+
+ void cv_get_call_checker(CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p)
+
+=for hackers
+Found in file op.c
+
+=item cv_set_call_checker
+X<cv_set_call_checker>
+
+Sets the function that will be used to fix up a call to I<cv>.
+Specifically, the function is applied to an C<entersub> op tree for a
+subroutine call, not marked with C<&>, where the callee can be identified
+at compile time as I<cv>.
+
+The C-level function pointer is supplied in I<ckfun>, and an SV argument
+for it is supplied in I<ckobj>. The function is intended to be called
+in this manner:
+
+ entersubop = ckfun(aTHX_ entersubop, namegv, ckobj);
+
+In this call, I<entersubop> is a pointer to the C<entersub> op,
+which may be replaced by the check function, and I<namegv> is a GV
+supplying the name that should be used by the check function to refer
+to the callee of the C<entersub> op if it needs to emit any diagnostics.
+It is permitted to apply the check function in non-standard situations,
+such as to a call to a different subroutine or to a method call.
+
+The current setting for a particular CV can be retrieved by
+L</cv_get_call_checker>.
+
+ void cv_set_call_checker(CV *cv, Perl_call_checker ckfun, SV *ckobj)
+
+=for hackers
+Found in file op.c
+
+=item LINKLIST
+X<LINKLIST>
+
+Given the root of an optree, link the tree in execution order using the
+C<op_next> pointers and return the first op executed. If this has
+already been done, it will not be redone, and C<< o->op_next >> will be
+returned. If C<< o->op_next >> is not already set, I<o> should be at
+least an C<UNOP>.
+
+ OP* LINKLIST(OP *o)
+
+=for hackers
+Found in file op.h
+
=item newCONSTSUB
X<newCONSTSUB>
@@ -3602,40 +5373,181 @@ static storage, as it is used directly as CvFILE(), without a copy being made.
=for hackers
Found in file op.c
+=item op_append_elem
+X<op_append_elem>
-=back
+Append an item to the list of ops contained directly within a list-type
+op, returning the lengthened list. I<first> is the list-type op,
+and I<last> is the op to append to the list. I<optype> specifies the
+intended opcode for the list. If I<first> is not already a list of the
+right type, it will be upgraded into one. If either I<first> or I<last>
+is null, the other is returned unchanged.
-=head1 Pad Data Structures
+ OP * op_append_elem(I32 optype, OP *first, OP *last)
-=over 8
+=for hackers
+Found in file op.c
-=item pad_findmy
-X<pad_findmy>
+=item op_append_list
+X<op_append_list>
-Given a lexical name, try to find its offset, first in the current pad,
-or failing that, in the pads of any lexically enclosing subs (including
-the complications introduced by eval). If the name is found in an outer pad,
-then a fake entry is added to the current pad.
-Returns the offset in the current pad, or NOT_IN_PAD on failure.
+Concatenate the lists of ops contained directly within two list-type ops,
+returning the combined list. I<first> and I<last> are the list-type ops
+to concatenate. I<optype> specifies the intended opcode for the list.
+If either I<first> or I<last> is not already a list of the right type,
+it will be upgraded into one. If either I<first> or I<last> is null,
+the other is returned unchanged.
+
+ OP * op_append_list(I32 optype, OP *first, OP *last)
+
+=for hackers
+Found in file op.c
+
+=item OP_CLASS
+X<OP_CLASS>
+
+Return the class of the provided OP: that is, which of the *OP
+structures it uses. For core ops this currently gets the information out
+of PL_opargs, which does not always accurately reflect the type used.
+For custom ops the type is returned from the registration, and it is up
+to the registree to ensure it is accurate. The value returned will be
+one of the OA_* constants from op.h.
+
+ U32 OP_CLASS(OP *o)
+
+=for hackers
+Found in file op.h
+
+=item OP_DESC
+X<OP_DESC>
+
+Return a short description of the provided OP.
+
+ const char * OP_DESC(OP *o)
+
+=for hackers
+Found in file op.h
+
+=item op_linklist
+X<op_linklist>
+
+This function is the implementation of the L</LINKLIST> macro. It should
+not be called directly.
+
+ OP* op_linklist(OP *o)
+
+=for hackers
+Found in file op.c
+
+=item op_lvalue
+X<op_lvalue>
+
+Propagate lvalue ("modifiable") context to an op and its children.
+I<type> represents the context type, roughly based on the type of op that
+would do the modifying, although C<local()> is represented by OP_NULL,
+because it has no op type of its own (it is signalled by a flag on
+the lvalue op).
+
+This function detects things that can't be modified, such as C<$x+1>, and
+generates errors for them. For example, C<$x+1 = 2> would cause it to be
+called with an op of type OP_ADD and a C<type> argument of OP_SASSIGN.
+
+It also flags things that need to behave specially in an lvalue context,
+such as C<$$x = 5> which might have to vivify a reference in C<$x>.
NOTE: this function is experimental and may change or be
removed without notice.
- PADOFFSET pad_findmy(const char* name, STRLEN len, U32 flags)
+ OP * op_lvalue(OP *o, I32 type)
=for hackers
-Found in file pad.c
+Found in file op.c
-=item pad_sv
-X<pad_sv>
+=item OP_NAME
+X<OP_NAME>
-Get the value at offset po in the current pad.
-Use macro PAD_SV instead of calling this function directly.
+Return the name of the provided OP. For core ops this looks up the name
+from the op_type; for custom ops from the op_ppaddr.
- SV* pad_sv(PADOFFSET po)
+ const char * OP_NAME(OP *o)
=for hackers
-Found in file pad.c
+Found in file op.h
+
+=item op_prepend_elem
+X<op_prepend_elem>
+
+Prepend an item to the list of ops contained directly within a list-type
+op, returning the lengthened list. I<first> is the op to prepend to the
+list, and I<last> is the list-type op. I<optype> specifies the intended
+opcode for the list. If I<last> is not already a list of the right type,
+it will be upgraded into one. If either I<first> or I<last> is null,
+the other is returned unchanged.
+
+ OP * op_prepend_elem(I32 optype, OP *first, OP *last)
+
+=for hackers
+Found in file op.c
+
+=item op_scope
+X<op_scope>
+
+Wraps up an op tree with some additional ops so that at runtime a dynamic
+scope will be created. The original ops run in the new dynamic scope,
+and then, provided that they exit normally, the scope will be unwound.
+The additional ops used to create and unwind the dynamic scope will
+normally be an C<enter>/C<leave> pair, but a C<scope> op may be used
+instead if the ops are simple enough to not need the full dynamic scope
+structure.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ OP * op_scope(OP *o)
+
+=for hackers
+Found in file op.c
+
+=item rv2cv_op_cv
+X<rv2cv_op_cv>
+
+Examines an op, which is expected to identify a subroutine at runtime,
+and attempts to determine at compile time which subroutine it identifies.
+This is normally used during Perl compilation to determine whether
+a prototype can be applied to a function call. I<cvop> is the op
+being considered, normally an C<rv2cv> op. A pointer to the identified
+subroutine is returned, if it could be determined statically, and a null
+pointer is returned if it was not possible to determine statically.
+
+Currently, the subroutine can be identified statically if the RV that the
+C<rv2cv> is to operate on is provided by a suitable C<gv> or C<const> op.
+A C<gv> op is suitable if the GV's CV slot is populated. A C<const> op is
+suitable if the constant value must be an RV pointing to a CV. Details of
+this process may change in future versions of Perl. If the C<rv2cv> op
+has the C<OPpENTERSUB_AMPER> flag set then no attempt is made to identify
+the subroutine statically: this flag is used to suppress compile-time
+magic on a subroutine call, forcing it to use default runtime behaviour.
+
+If I<flags> has the bit C<RV2CVOPCV_MARK_EARLY> set, then the handling
+of a GV reference is modified. If a GV was examined and its CV slot was
+found to be empty, then the C<gv> op has the C<OPpEARLY_CV> flag set.
+If the op is not optimised away, and the CV slot is later populated with
+a subroutine having a prototype, that flag eventually triggers the warning
+"called too early to check prototype".
+
+If I<flags> has the bit C<RV2CVOPCV_RETURN_NAME_GV> set, then instead
+of returning a pointer to the subroutine it returns a pointer to the
+GV giving the most appropriate name for the subroutine in this context.
+Normally this is just the C<CvGV> of the subroutine, but for an anonymous
+(C<CvANON>) subroutine that is referenced through a GV it will be the
+referencing GV. The resulting C<GV*> is cast to C<CV*> to be returned.
+A null pointer is returned as usual if there is no statically-determinable
+subroutine.
+
+ CV * rv2cv_op_cv(OP *cvop, U32 flags)
+
+=for hackers
+Found in file op.c
=back
@@ -3685,6 +5597,53 @@ When you replace this variable, it is considered a good practice to store the po
=for hackers
Found in file intrpvar.h
+=item PL_peepp
+X<PL_peepp>
+
+Pointer to the per-subroutine peephole optimiser. This is a function
+that gets called at the end of compilation of a Perl subroutine (or
+equivalently independent piece of Perl code) to perform fixups of
+some ops and to perform small-scale optimisations. The function is
+called once for each subroutine that is compiled, and is passed, as sole
+parameter, a pointer to the op that is the entry point to the subroutine.
+It modifies the op tree in place.
+
+The peephole optimiser should never be completely replaced. Rather,
+add code to it by wrapping the existing optimiser. The basic way to do
+this can be seen in L<perlguts/Compile pass 3: peephole optimization>.
+If the new code wishes to operate on ops throughout the subroutine's
+structure, rather than just at the top level, it is likely to be more
+convenient to wrap the L</PL_rpeepp> hook.
+
+ peep_t PL_peepp
+
+=for hackers
+Found in file intrpvar.h
+
+=item PL_rpeepp
+X<PL_rpeepp>
+
+Pointer to the recursive peephole optimiser. This is a function
+that gets called at the end of compilation of a Perl subroutine (or
+equivalently independent piece of Perl code) to perform fixups of some
+ops and to perform small-scale optimisations. The function is called
+once for each chain of ops linked through their C<op_next> fields;
+it is recursively called to handle each side chain. It is passed, as
+sole parameter, a pointer to the op that is at the head of the chain.
+It modifies the op tree in place.
+
+The peephole optimiser should never be completely replaced. Rather,
+add code to it by wrapping the existing optimiser. The basic way to do
+this can be seen in L<perlguts/Compile pass 3: peephole optimization>.
+If the new code wishes to operate only on ops at a subroutine's top level,
+rather than throughout the structure, it is likely to be more convenient
+to wrap the L</PL_peepp> hook.
+
+ peep_t PL_rpeepp
+
+=for hackers
+Found in file intrpvar.h
+
=item PL_sv_no
X<PL_sv_no>
@@ -3732,13 +5691,10 @@ equivalent to the following snippet:
if (SvMAGICAL(sv))
mg_get(sv);
- if (SvROK(sv) &&
- (tmpsv = (SV*)SvRV(sv)) &&
- SvTYPE(tmpsv) == SVt_PVMG &&
- (tmpmg = mg_find(tmpsv, PERL_MAGIC_qr)))
- {
- return (REGEXP *)tmpmg->mg_obj;
- }
+ if (SvROK(sv))
+ sv = MUTABLE_SV(SvRV(sv));
+ if (SvTYPE(sv) == SVt_REGEXP)
+ return (REGEXP*) sv;
NULL will be returned if a REGEXP* is not found.
@@ -3750,8 +5706,8 @@ Found in file regexp.h
=item SvRXOK
X<SvRXOK>
-Returns a boolean indicating whether the SV contains qr magic
-(PERL_MAGIC_qr).
+Returns a boolean indicating whether the SV (or the one it references)
+is a REGEXP.
If you want to do something with the REGEXP* later use SvRX instead
and check for NULL.
@@ -4505,7 +6461,7 @@ A specialised variant of C<croak()> for emitting the usage message for xsubs
works out the package name and subroutine name from C<cv>, and then calls
C<croak()>. Hence if C<cv> is C<&ouch::awk>, it would call C<croak> as:
- Perl_croak(aTHX_ "Usage %s::%s(%s)", "ouch" "awk", "eee_yow");
+ Perl_croak(aTHX_ "Usage: %s::%s(%s)", "ouch" "awk", "eee_yow");
void croak_xs_usage(const CV *const cv, const char *const params)
@@ -4917,6 +6873,16 @@ otherwise use the more efficient C<SvNV>.
=for hackers
Found in file sv.h
+=item SvNV_nomg
+X<SvNV_nomg>
+
+Like C<SvNV> but doesn't process magic.
+
+ NV SvNV_nomg(SV* sv)
+
+=for hackers
+Found in file sv.h
+
=item SvNV_set
X<SvNV_set>
@@ -5221,6 +7187,16 @@ Like C<SvPV> but doesn't process magic.
=for hackers
Found in file sv.h
+=item SvPV_nomg_nolen
+X<SvPV_nomg_nolen>
+
+Like C<SvPV_nolen> but doesn't process magic.
+
+ char* SvPV_nomg_nolen(SV* sv)
+
+=for hackers
+Found in file sv.h
+
=item SvPV_set
X<SvPV_set>
@@ -5467,13 +7443,26 @@ Found in file sv.h
X<SvTRUE>
Returns a boolean indicating whether Perl would evaluate the SV as true or
-false. See SvOK() for a defined/undefined test. Does not handle 'get' magic.
+false. See SvOK() for a defined/undefined test. Handles 'get' magic
+unless the scalar is already SvPOK, SvIOK or SvNOK (the public, not the
+private flags).
bool SvTRUE(SV* sv)
=for hackers
Found in file sv.h
+=item SvTRUE_nomg
+X<SvTRUE_nomg>
+
+Returns a boolean indicating whether Perl would evaluate the SV as true or
+false. See SvOK() for a defined/undefined test. Does not handle 'get' magic.
+
+ bool SvTRUE_nomg(SV* sv)
+
+=for hackers
+Found in file sv.h
+
=item SvTYPE
X<SvTYPE>
@@ -5612,6 +7601,16 @@ Like C<sv_catpvn> but doesn't process magic.
=for hackers
Found in file sv.h
+=item sv_catpv_nomg
+X<sv_catpv_nomg>
+
+Like C<sv_catpv> but doesn't process magic.
+
+ void sv_catpv_nomg(SV* sv, const char* ptr)
+
+=for hackers
+Found in file sv.h
+
=item sv_catsv_nomg
X<sv_catsv_nomg>
@@ -5802,7 +7801,7 @@ SV is set to 1. Note that if C<len> is zero, Perl will create a zero length
string. You are responsible for ensuring that the source string is at least
C<len> bytes long. If the C<s> argument is NULL the new SV will be undefined.
Currently the only flag bits accepted are C<SVf_UTF8> and C<SVs_TEMP>.
-If C<SVs_TEMP> is set, then C<sv2mortal()> is called on the result before
+If C<SVs_TEMP> is set, then C<sv_2mortal()> is called on the result before
returning. If C<SVf_UTF8> is set, C<s> is considered to be in UTF-8 and the
C<SVf_UTF8> flag will be set on the new SV.
C<newSVpvn_utf8()> is a convenience wrapper for this function, defined as
@@ -5863,6 +7862,17 @@ pair and omits the hash parameter.
=for hackers
Found in file handy.h
+=item newSVpv_share
+X<newSVpv_share>
+
+Like C<newSVpvn_share>, but takes a nul-terminated string instead of a
+string/length pair.
+
+ SV* newSVpv_share(const char* s, U32 hash)
+
+=for hackers
+Found in file sv.c
+
=item newSVrv
X<newSVrv>
@@ -5912,14 +7922,28 @@ Found in file sv.c
=item sv_2bool
X<sv_2bool>
-This function is only called on magical items, and is only used by
-sv_true() or its macro equivalent.
+This macro is only used by sv_true() or its macro equivalent, and only if
+the latter's argument is neither SvPOK, SvIOK nor SvNOK.
+It calls sv_2bool_flags with the SV_GMAGIC flag.
bool sv_2bool(SV *const sv)
=for hackers
Found in file sv.c
+=item sv_2bool_flags
+X<sv_2bool_flags>
+
+This function is only used by sv_true() and friends, and only if
+the latter's argument is neither SvPOK, SvIOK nor SvNOK. If the flags
+contain SV_GMAGIC, then it does an mg_get() first.
+
+
+ bool sv_2bool_flags(SV *const sv, const I32 flags)
+
+=for hackers
+Found in file sv.c
+
=item sv_2cv
X<sv_2cv>
@@ -5970,14 +7994,14 @@ and C<sv_mortalcopy>.
=for hackers
Found in file sv.c
-=item sv_2nv
-X<sv_2nv>
+=item sv_2nv_flags
+X<sv_2nv_flags>
Return the num value of an SV, doing any necessary string or integer
-conversion, magic etc. Normally used via the C<SvNV(sv)> and C<SvNVx(sv)>
-macros.
+conversion. If flags includes SV_GMAGIC, does an mg_get() first.
+Normally used via the C<SvNV(sv)> and C<SvNVx(sv)> macros.
- NV sv_2nv(SV *const sv)
+ NV sv_2nv_flags(SV *const sv, const I32 flags)
=for hackers
Found in file sv.c
@@ -6134,6 +8158,52 @@ Like C<sv_catpvn>, but takes a literal string instead of a string/length pair.
=for hackers
Found in file handy.h
+=item sv_catpvs_flags
+X<sv_catpvs_flags>
+
+Like C<sv_catpvn_flags>, but takes a literal string instead of a
+string/length pair.
+
+ void sv_catpvs_flags(SV* sv, const char* s, I32 flags)
+
+=for hackers
+Found in file handy.h
+
+=item sv_catpvs_mg
+X<sv_catpvs_mg>
+
+Like C<sv_catpvn_mg>, but takes a literal string instead of a
+string/length pair.
+
+ void sv_catpvs_mg(SV* sv, const char* s)
+
+=for hackers
+Found in file handy.h
+
+=item sv_catpvs_nomg
+X<sv_catpvs_nomg>
+
+Like C<sv_catpvn_nomg>, but takes a literal string instead of a
+string/length pair.
+
+ void sv_catpvs_nomg(SV* sv, const char* s)
+
+=for hackers
+Found in file handy.h
+
+=item sv_catpv_flags
+X<sv_catpv_flags>
+
+Concatenates the string onto the end of the string which is in the SV.
+If the SV has the UTF-8 status set, then the bytes appended should
+be valid UTF-8. If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get>
+on the SVs if appropriate, else not.
+
+ void sv_catpv_flags(SV *dstr, const char *sstr, const I32 flags)
+
+=for hackers
+Found in file sv.c
+
=item sv_catpv_mg
X<sv_catpv_mg>
@@ -6195,7 +8265,7 @@ This function should only be called when REFCNT is zero. Most of the time
you'll want to call C<sv_free()> (or its macro wrapper C<SvREFCNT_dec>)
instead.
- void sv_clear(SV *const sv)
+ void sv_clear(SV *const orig_sv)
=for hackers
Found in file sv.c
@@ -6213,6 +8283,20 @@ coerce its args to strings if necessary. See also C<sv_cmp_locale>.
=for hackers
Found in file sv.c
+=item sv_cmp_flags
+X<sv_cmp_flags>
+
+Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the
+string in C<sv1> is less than, equal to, or greater than the string in
+C<sv2>. Is UTF-8 and 'use bytes' aware and will coerce its args to strings
+if necessary. If the flags include SV_GMAGIC, it handles get magic. See
+also C<sv_cmp_locale_flags>.
+
+ I32 sv_cmp_flags(SV *const sv1, SV *const sv2, const U32 flags)
+
+=for hackers
+Found in file sv.c
+
=item sv_cmp_locale
X<sv_cmp_locale>
@@ -6225,17 +8309,41 @@ if necessary. See also C<sv_cmp>.
=for hackers
Found in file sv.c
+=item sv_cmp_locale_flags
+X<sv_cmp_locale_flags>
+
+Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
+'use bytes' aware and will coerce its args to strings if necessary. If the
+flags contain SV_GMAGIC, it handles get magic. See also C<sv_cmp_flags>.
+
+ I32 sv_cmp_locale_flags(SV *const sv1, SV *const sv2, const U32 flags)
+
+=for hackers
+Found in file sv.c
+
=item sv_collxfrm
X<sv_collxfrm>
-Add Collate Transform magic to an SV if it doesn't already have it.
+This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag. See
+C<sv_collxfrm_flags>.
+
+ char* sv_collxfrm(SV *const sv, STRLEN *const nxp)
+
+=for hackers
+Found in file sv.c
+
+=item sv_collxfrm_flags
+X<sv_collxfrm_flags>
+
+Add Collate Transform magic to an SV if it doesn't already have it. If the
+flags contain SV_GMAGIC, it handles get-magic.
Any scalar variable may carry PERL_MAGIC_collxfrm magic that contains the
scalar data of the variable, but transformed to such a format that a normal
memory comparison can be used to compare the data according to the locale
settings.
- char* sv_collxfrm(SV *const sv, STRLEN *const nxp)
+ char* sv_collxfrm_flags(SV *const sv, STRLEN *const nxp, I32 const flags)
=for hackers
Found in file sv.c
@@ -6260,13 +8368,24 @@ Found in file sv.c
X<sv_dec>
Auto-decrement of the value in the SV, doing string to numeric conversion
-if necessary. Handles 'get' magic.
+if necessary. Handles 'get' magic and operator overloading.
void sv_dec(SV *const sv)
=for hackers
Found in file sv.c
+=item sv_dec_nomg
+X<sv_dec_nomg>
+
+Auto-decrement of the value in the SV, doing string to numeric conversion
+if necessary. Handles operator overloading. Skips handling 'get' magic.
+
+ void sv_dec_nomg(SV *const sv)
+
+=for hackers
+Found in file sv.c
+
=item sv_eq
X<sv_eq>
@@ -6279,6 +8398,18 @@ coerce its args to strings if necessary.
=for hackers
Found in file sv.c
+=item sv_eq_flags
+X<sv_eq_flags>
+
+Returns a boolean indicating whether the strings in the two SVs are
+identical. Is UTF-8 and 'use bytes' aware and coerces its args to strings
+if necessary. If the flags include SV_GMAGIC, it handles get-magic, too.
+
+ I32 sv_eq_flags(SV* sv1, SV* sv2, const U32 flags)
+
+=for hackers
+Found in file sv.c
+
=item sv_force_normal_flags
X<sv_force_normal_flags>
@@ -6289,7 +8420,7 @@ we do the copy, and is also used locally. If C<SV_COW_DROP_PV> is set
then a copy-on-write scalar drops its PV buffer (if any) and becomes
SvPOK_off rather than making a copy. (Used where this scalar is about to be
set to some other value.) In addition, the C<flags> parameter gets passed to
-C<sv_unref_flags()> when unrefing. C<sv_force_normal> calls this function
+C<sv_unref_flags()> when unreffing. C<sv_force_normal> calls this function
with flags set to 0.
void sv_force_normal_flags(SV *const sv, const U32 flags)
@@ -6337,13 +8468,24 @@ Found in file sv.c
X<sv_inc>
Auto-increment of the value in the SV, doing string to numeric conversion
-if necessary. Handles 'get' magic.
+if necessary. Handles 'get' magic and operator overloading.
void sv_inc(SV *const sv)
=for hackers
Found in file sv.c
+=item sv_inc_nomg
+X<sv_inc_nomg>
+
+Auto-increment of the value in the SV, doing string to numeric conversion
+if necessary. Handles operator overloading. Skips handling 'get' magic.
+
+ void sv_inc_nomg(SV *const sv)
+
+=for hackers
+Found in file sv.c
+
=item sv_insert
X<sv_insert>
@@ -6755,6 +8897,17 @@ Like C<sv_setpvn>, but takes a literal string instead of a string/length pair.
=for hackers
Found in file handy.h
+=item sv_setpvs_mg
+X<sv_setpvs_mg>
+
+Like C<sv_setpvn_mg>, but takes a literal string instead of a
+string/length pair.
+
+ void sv_setpvs_mg(SV* sv, const char* s)
+
+=for hackers
+Found in file handy.h
+
=item sv_setpv_mg
X<sv_setpv_mg>
@@ -6830,6 +8983,17 @@ Note that C<sv_setref_pv> copies the pointer while this copies the string.
=for hackers
Found in file sv.c
+=item sv_setref_pvs
+X<sv_setref_pvs>
+
+Like C<sv_setref_pvn>, but takes a literal string instead of a
+string/length pair.
+
+ SV * sv_setref_pvs(const char* s)
+
+=for hackers
+Found in file handy.h
+
=item sv_setref_uv
X<sv_setref_uv>
@@ -6949,6 +9113,16 @@ Removes all magic of type C<type> from an SV.
=for hackers
Found in file sv.c
+=item sv_unmagicext
+X<sv_unmagicext>
+
+Removes all magic of type C<type> with the specified C<vtbl> from an SV.
+
+ int sv_unmagicext(SV *const sv, const int type, MGVTBL *vtbl)
+
+=for hackers
+Found in file sv.c
+
=item sv_unref_flags
X<sv_unref_flags>
@@ -7190,6 +9364,23 @@ Found in file sv.c
=over 8
+=item bytes_cmp_utf8
+X<bytes_cmp_utf8>
+
+Compares the sequence of characters (stored as octets) in b, blen with the
+sequence of characters (stored as UTF-8) in u, ulen. Returns 0 if they are
+equal, -1 or -2 if the first string is less than the second string, +1 or +2
+if the first string is greater than the second string.
+
+-1 or +1 is returned if the shorter string was identical to the start of the
+longer string. -2 or +2 is returned if the was a difference between characters
+within the strings.
+
+ int bytes_cmp_utf8(const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen)
+
+=for hackers
+Found in file utf8.c
+
=item bytes_from_utf8
X<bytes_from_utf8>
@@ -7212,9 +9403,10 @@ Found in file utf8.c
=item bytes_to_utf8
X<bytes_to_utf8>
-Converts a string C<s> of length C<len> from the native encoding into UTF-8.
+Converts a string C<s> of length C<len> bytes from the native encoding into
+UTF-8.
Returns a pointer to the newly-created string, and sets C<len> to
-reflect the new length.
+reflect the new length in bytes.
A NUL character will be written after the end of the string.
@@ -7230,31 +9422,45 @@ removed without notice.
=for hackers
Found in file utf8.c
-=item ibcmp_utf8
-X<ibcmp_utf8>
+=item foldEQ_utf8
+X<foldEQ_utf8>
-Return true if the strings s1 and s2 differ case-insensitively, false
-if not (if they are equal case-insensitively). If u1 is true, the
-string s1 is assumed to be in UTF-8-encoded Unicode. If u2 is true,
-the string s2 is assumed to be in UTF-8-encoded Unicode. If u1 or u2
-are false, the respective string is assumed to be in native 8-bit
-encoding.
+Returns true if the leading portions of the strings s1 and s2 (either or both
+of which may be in UTF-8) are the same case-insensitively; false otherwise.
+How far into the strings to compare is determined by other input parameters.
+
+If u1 is true, the string s1 is assumed to be in UTF-8-encoded Unicode;
+otherwise it is assumed to be in native 8-bit encoding. Correspondingly for u2
+with respect to s2.
+
+If the byte length l1 is non-zero, it says how far into s1 to check for fold
+equality. In other words, s1+l1 will be used as a goal to reach. The
+scan will not be considered to be a match unless the goal is reached, and
+scanning won't continue past that goal. Correspondingly for l2 with respect to
+s2.
+
+If pe1 is non-NULL and the pointer it points to is not NULL, that pointer is
+considered an end pointer beyond which scanning of s1 will not continue under
+any circumstances. This means that if both l1 and pe1 are specified, and pe1
+is less than s1+l1, the match will never be successful because it can never
+get as far as its goal (and in fact is asserted against). Correspondingly for
+pe2 with respect to s2.
-If the pe1 and pe2 are non-NULL, the scanning pointers will be copied
-in there (they will point at the beginning of the I<next> character).
-If the pointers behind pe1 or pe2 are non-NULL, they are the end
-pointers beyond which scanning will not continue under any
-circumstances. If the byte lengths l1 and l2 are non-zero, s1+l1 and
-s2+l2 will be used as goal end pointers that will also stop the scan,
-and which qualify towards defining a successful match: all the scans
-that define an explicit length must reach their goal pointers for
-a match to succeed).
+At least one of s1 and s2 must have a goal (at least one of l1 and l2 must be
+non-zero), and if both do, both have to be
+reached for a successful match. Also, if the fold of a character is multiple
+characters, all of them must be matched (see tr21 reference below for
+'folding').
+
+Upon a successful match, if pe1 is non-NULL,
+it will be set to point to the beginning of the I<next> character of s1 beyond
+what was matched. Correspondingly for pe2 and s2.
For case-insensitiveness, the "casefolding" of Unicode is used
instead of upper/lowercasing both the characters, see
http://www.unicode.org/unicode/reports/tr21/ (Case Mappings).
- I32 ibcmp_utf8(const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+ I32 foldEQ_utf8(const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
=for hackers
Found in file utf8.c
@@ -7262,8 +9468,12 @@ Found in file utf8.c
=item is_ascii_string
X<is_ascii_string>
-Returns true if first C<len> bytes of the given string are ASCII (i.e. none
-of them even raise the question of UTF-8-ness).
+Returns true if the first C<len> bytes of the given string are the same whether
+or not the string is encoded in UTF-8 (or UTF-EBCDIC on EBCDIC machines). That
+is, if they are invariant. On ASCII-ish machines, only ASCII characters
+fit this definition, hence the function's name.
+
+If C<len> is 0, it will be calculated using C<strlen(s)>.
See also is_utf8_string(), is_utf8_string_loclen(), and is_utf8_string_loc().
@@ -7289,9 +9499,10 @@ Found in file utf8.c
X<is_utf8_string>
Returns true if first C<len> bytes of the given string form a valid
-UTF-8 string, false otherwise. Note that 'a valid UTF-8 string' does
-not mean 'a string that contains code points above 0x7F encoded in UTF-8'
-because a valid ASCII string is a valid UTF-8 string.
+UTF-8 string, false otherwise. If C<len> is 0, it will be calculated
+using C<strlen(s)>. Note that 'a valid UTF-8 string' does not mean 'a
+string that contains code points above 0x7F encoded in UTF-8' because a
+valid ASCII string is a valid UTF-8 string.
See also is_ascii_string(), is_utf8_string_loclen(), and is_utf8_string_loc().
@@ -7415,7 +9626,7 @@ of the result.
The "swashp" is a pointer to the swash to use.
-Both the special and normal mappings are stored lib/unicore/To/Foo.pl,
+Both the special and normal mappings are stored in lib/unicore/To/Foo.pl,
and loaded by SWASHNEW, using lib/utf8_heavy.pl. The special (usually,
but not always, a multicharacter mapping), is tried first.
@@ -7499,14 +9710,12 @@ Found in file utf8.c
=item utf8n_to_uvchr
X<utf8n_to_uvchr>
-flags
-
-Returns the native character value of the first character in the string
+Returns the native character value of the first character in the string
C<s>
which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
length, in bytes, of that character.
-Allows length and flags to be passed to low level routine.
+length and flags are the same as utf8n_to_uvuni().
UV utf8n_to_uvchr(const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
@@ -7517,20 +9726,62 @@ Found in file utf8.c
X<utf8n_to_uvuni>
Bottom level UTF-8 decode routine.
-Returns the Unicode code point value of the first character in the string C<s>
-which is assumed to be in UTF-8 encoding and no longer than C<curlen>;
-C<retlen> will be set to the length, in bytes, of that character.
-
-If C<s> does not point to a well-formed UTF-8 character, the behaviour
-is dependent on the value of C<flags>: if it contains UTF8_CHECK_ONLY,
-it is assumed that the caller will raise a warning, and this function
-will silently just set C<retlen> to C<-1> and return zero. If the
-C<flags> does not contain UTF8_CHECK_ONLY, warnings about
-malformations will be given, C<retlen> will be set to the expected
-length of the UTF-8 character in bytes, and zero will be returned.
-
-The C<flags> can also contain various flags to allow deviations from
-the strict UTF-8 encoding (see F<utf8.h>).
+Returns the code point value of the first character in the string C<s>
+which is assumed to be in UTF-8 (or UTF-EBCDIC) encoding and no longer than
+C<curlen> bytes; C<retlen> will be set to the length, in bytes, of that
+character.
+
+The value of C<flags> determines the behavior when C<s> does not point to a
+well-formed UTF-8 character. If C<flags> is 0, when a malformation is found,
+C<retlen> is set to the expected length of the UTF-8 character in bytes, zero
+is returned, and if UTF-8 warnings haven't been lexically disabled, a warning
+is raised.
+
+Various ALLOW flags can be set in C<flags> to allow (and not warn on)
+individual types of malformations, such as the sequence being overlong (that
+is, when there is a shorter sequence that can express the same code point;
+overlong sequences are expressly forbidden in the UTF-8 standard due to
+potential security issues). Another malformation example is the first byte of
+a character not being a legal first byte. See F<utf8.h> for the list of such
+flags. Of course, the value returned by this function under such conditions is
+not reliable.
+
+The UTF8_CHECK_ONLY flag overrides the behavior when a non-allowed (by other
+flags) malformation is found. If this flag is set, the routine assumes that
+the caller will raise a warning, and this function will silently just set
+C<retlen> to C<-1> and return zero.
+
+Certain code points are considered problematic. These are Unicode surrogates,
+Unicode non-characters, and code points above the Unicode maximum of 0x10FFF.
+By default these are considered regular code points, but certain situations
+warrant special handling for them. if C<flags> contains
+UTF8_DISALLOW_ILLEGAL_INTERCHANGE, all three classes are treated as
+malformations and handled as such. The flags UTF8_DISALLOW_SURROGATE,
+UTF8_DISALLOW_NONCHAR, and UTF8_DISALLOW_SUPER (meaning above the legal Unicode
+maximum) can be set to disallow these categories individually.
+
+The flags UTF8_WARN_ILLEGAL_INTERCHANGE, UTF8_WARN_SURROGATE,
+UTF8_WARN_NONCHAR, and UTF8_WARN_SUPER will cause warning messages to be raised
+for their respective categories, but otherwise the code points are considered
+valid (not malformations). To get a category to both be treated as a
+malformation and raise a warning, specify both the WARN and DISALLOW flags.
+(But note that warnings are not raised if lexically disabled nor if
+UTF8_CHECK_ONLY is also specified.)
+
+Very large code points (above 0x7FFF_FFFF) are considered more problematic than
+the others that are above the Unicode legal maximum. There are several
+reasons, one of which is that the original UTF-8 specification never went above
+this number (the current 0x10FFF limit was imposed later). The UTF-8 encoding
+on ASCII platforms for these large code point begins with a byte containing
+0xFE or 0xFF. The UTF8_DISALLOW_FE_FF flag will cause them to be treated as
+malformations, while allowing smaller above-Unicode code points. (Of course
+UTF8_DISALLOW_SUPER will treat all above-Unicode code points, including these,
+as malformations.) Similarly, UTF8_WARN_FE_FF acts just like the other WARN
+flags, but applies just to these code points.
+
+All other code points corresponding to Unicode characters, including private
+use and those yet to be assigned, are never considered malformed and never
+warn.
Most code should use utf8_to_uvchr() rather than call this directly.
@@ -7601,7 +9852,7 @@ Found in file utf8.c
=item utf8_to_uvchr
X<utf8_to_uvchr>
-Returns the native character value of the first character in the string C<s>
+Returns the native code point of the first character in the string C<s>
which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
length, in bytes, of that character.
@@ -7634,7 +9885,7 @@ Found in file utf8.c
=item uvchr_to_utf8
X<uvchr_to_utf8>
-Adds the UTF-8 representation of the Native codepoint C<uv> to the end
+Adds the UTF-8 representation of the Native code point C<uv> to the end
of the string C<d>; C<d> should be have at least C<UTF8_MAXBYTES+1> free
bytes available. The return value is the pointer to the byte after the
end of the new character. In other words,
@@ -7653,8 +9904,8 @@ Found in file utf8.c
=item uvuni_to_utf8_flags
X<uvuni_to_utf8_flags>
-Adds the UTF-8 representation of the Unicode codepoint C<uv> to the end
-of the string C<d>; C<d> should be have at least C<UTF8_MAXBYTES+1> free
+Adds the UTF-8 representation of the code point C<uv> to the end
+of the string C<d>; C<d> should have at least C<UTF8_MAXBYTES+1> free
bytes available. The return value is the pointer to the byte after the
end of the new character. In other words,
@@ -7668,10 +9919,31 @@ or, in most cases,
d = uvuni_to_utf8_flags(d, uv, 0);
-is the recommended Unicode-aware way of saying
+This is the recommended Unicode-aware way of saying
*(d++) = uv;
+This function will convert to UTF-8 (and not warn) even code points that aren't
+legal Unicode or are problematic, unless C<flags> contains one or more of the
+following flags.
+If C<uv> is a Unicode surrogate code point and UNICODE_WARN_SURROGATE is set,
+the function will raise a warning, provided UTF8 warnings are enabled. If instead
+UNICODE_DISALLOW_SURROGATE is set, the function will fail and return NULL.
+If both flags are set, the function will both warn and return NULL.
+
+The UNICODE_WARN_NONCHAR and UNICODE_DISALLOW_NONCHAR flags correspondingly
+affect how the function handles a Unicode non-character. And, likewise for the
+UNICODE_WARN_SUPER and UNICODE_DISALLOW_SUPER flags, and code points that are
+above the Unicode maximum of 0x10FFFF. Code points above 0x7FFF_FFFF (which are
+even less portable) can be warned and/or disallowed even if other above-Unicode
+code points are accepted by the UNICODE_WARN_FE_FF and UNICODE_DISALLOW_FE_FF
+flags.
+
+And finally, the flag UNICODE_WARN_ILLEGAL_INTERCHANGE selects all four of the
+above WARN flags; and UNICODE_DISALLOW_ILLEGAL_INTERCHANGE selects all four
+DISALLOW flags.
+
+
U8* uvuni_to_utf8_flags(U8 *d, UV uv, UV flags)
=for hackers
@@ -7743,8 +10015,9 @@ Found in file XSUB.h
=item dUNDERBAR
X<dUNDERBAR>
-Sets up the C<padoff_du> variable for an XSUB that wishes to use
-C<UNDERBAR>.
+Sets up any variable needed by the C<UNDERBAR> macro. It used to define
+C<padoff_du>, but it is currently a noop. However, it is strongly advised
+to still use it for ensuring past and future compatibility.
dUNDERBAR;
@@ -7857,6 +10130,17 @@ C<xsubpp>.
=for hackers
Found in file XSUB.h
+=item XS_APIVERSION_BOOTCHECK
+X<XS_APIVERSION_BOOTCHECK>
+
+Macro to verify that the perl api version an XS module has been compiled against
+matches the api version of the perl interpreter it's being loaded into.
+
+ XS_APIVERSION_BOOTCHECK;
+
+=for hackers
+Found in file XSUB.h
+
=item XS_VERSION
X<XS_VERSION>
@@ -7888,19 +10172,132 @@ Found in file XSUB.h
=item croak
X<croak>
-This is the XSUB-writer's interface to Perl's C<die> function.
-Normally call this function the same way you call the C C<printf>
-function. Calling C<croak> returns control directly to Perl,
-sidestepping the normal C order of execution. See C<warn>.
+This is an XS interface to Perl's C<die> function.
+
+Take a sprintf-style format pattern and argument list. These are used to
+generate a string message. If the message does not end with a newline,
+then it will be extended with some indication of the current location
+in the code, as described for L</mess_sv>.
+
+The error message will be used as an exception, by default
+returning control to the nearest enclosing C<eval>, but subject to
+modification by a C<$SIG{__DIE__}> handler. In any case, the C<croak>
+function never returns normally.
+
+For historical reasons, if C<pat> is null then the contents of C<ERRSV>
+(C<$@>) will be used as an error message or object instead of building an
+error message from arguments. If you want to throw a non-string object,
+or build an error message in an SV yourself, it is preferable to use
+the L</croak_sv> function, which does not involve clobbering C<ERRSV>.
+
+ void croak(const char *pat, ...)
+
+=for hackers
+Found in file util.c
+
+=item croak_no_modify
+X<croak_no_modify>
+
+Exactly equivalent to C<Perl_croak(aTHX_ "%s", PL_no_modify)>, but generates
+terser object code than using C<Perl_croak>. Less code used on exception code
+paths reduces CPU cache pressure.
+
+ void croak_no_modify()
+
+=for hackers
+Found in file util.c
+
+=item croak_sv
+X<croak_sv>
+
+This is an XS interface to Perl's C<die> function.
+
+C<baseex> is the error message or object. If it is a reference, it
+will be used as-is. Otherwise it is used as a string, and if it does
+not end with a newline then it will be extended with some indication of
+the current location in the code, as described for L</mess_sv>.
+
+The error message or object will be used as an exception, by default
+returning control to the nearest enclosing C<eval>, but subject to
+modification by a C<$SIG{__DIE__}> handler. In any case, the C<croak_sv>
+function never returns normally.
+
+To die with a simple string message, the L</croak> function may be
+more convenient.
+
+ void croak_sv(SV *baseex)
-If you want to throw an exception object, assign the object to
-C<$@> and then pass C<NULL> to croak():
+=for hackers
+Found in file util.c
+
+=item die
+X<die>
- errsv = get_sv("@", GV_ADD);
- sv_setsv(errsv, exception_object);
- croak(NULL);
+Behaves the same as L</croak>, except for the return type.
+It should be used only where the C<OP *> return type is required.
+The function never actually returns.
- void croak(const char* pat, ...)
+ OP * die(const char *pat, ...)
+
+=for hackers
+Found in file util.c
+
+=item die_sv
+X<die_sv>
+
+Behaves the same as L</croak_sv>, except for the return type.
+It should be used only where the C<OP *> return type is required.
+The function never actually returns.
+
+ OP * die_sv(SV *baseex)
+
+=for hackers
+Found in file util.c
+
+=item vcroak
+X<vcroak>
+
+This is an XS interface to Perl's C<die> function.
+
+C<pat> and C<args> are a sprintf-style format pattern and encapsulated
+argument list. These are used to generate a string message. If the
+message does not end with a newline, then it will be extended with
+some indication of the current location in the code, as described for
+L</mess_sv>.
+
+The error message will be used as an exception, by default
+returning control to the nearest enclosing C<eval>, but subject to
+modification by a C<$SIG{__DIE__}> handler. In any case, the C<croak>
+function never returns normally.
+
+For historical reasons, if C<pat> is null then the contents of C<ERRSV>
+(C<$@>) will be used as an error message or object instead of building an
+error message from arguments. If you want to throw a non-string object,
+or build an error message in an SV yourself, it is preferable to use
+the L</croak_sv> function, which does not involve clobbering C<ERRSV>.
+
+ void vcroak(const char *pat, va_list *args)
+
+=for hackers
+Found in file util.c
+
+=item vwarn
+X<vwarn>
+
+This is an XS interface to Perl's C<warn> function.
+
+C<pat> and C<args> are a sprintf-style format pattern and encapsulated
+argument list. These are used to generate a string message. If the
+message does not end with a newline, then it will be extended with
+some indication of the current location in the code, as described for
+L</mess_sv>.
+
+The error message or object will by default be written to standard error,
+but this is subject to modification by a C<$SIG{__WARN__}> handler.
+
+Unlike with L</vcroak>, C<pat> is not permitted to be null.
+
+ void vwarn(const char *pat, va_list *args)
=for hackers
Found in file util.c
@@ -7908,10 +10305,40 @@ Found in file util.c
=item warn
X<warn>
-This is the XSUB-writer's interface to Perl's C<warn> function. Call this
-function the same way you call the C C<printf> function. See C<croak>.
+This is an XS interface to Perl's C<warn> function.
+
+Take a sprintf-style format pattern and argument list. These are used to
+generate a string message. If the message does not end with a newline,
+then it will be extended with some indication of the current location
+in the code, as described for L</mess_sv>.
+
+The error message or object will by default be written to standard error,
+but this is subject to modification by a C<$SIG{__WARN__}> handler.
- void warn(const char* pat, ...)
+Unlike with L</croak>, C<pat> is not permitted to be null.
+
+ void warn(const char *pat, ...)
+
+=for hackers
+Found in file util.c
+
+=item warn_sv
+X<warn_sv>
+
+This is an XS interface to Perl's C<warn> function.
+
+C<baseex> is the error message or object. If it is a reference, it
+will be used as-is. Otherwise it is used as a string, and if it does
+not end with a newline then it will be extended with some indication of
+the current location in the code, as described for L</mess_sv>.
+
+The error message or object will by default be written to standard error,
+but this is subject to modification by a C<$SIG{__WARN__}> handler.
+
+To warn with a simple string message, the L</warn> function may be
+more convenient.
+
+ void warn_sv(SV *baseex)
=for hackers
Found in file util.c
@@ -7921,7 +10348,13 @@ Found in file util.c
=head1 Undocumented functions
-These functions are currently undocumented:
+The following functions have been flagged as part of the public API,
+but are currently undocumented. Use them at your own risk, as the
+interfaces are subject to change.
+
+If you use one of them, you may wish to consider creating and submitting
+documentation for it. If your patch is accepted, this will indicate that
+the interface is stable (unless it is explicitly marked otherwise).
=over
@@ -8006,9 +10439,18 @@ X<Slab_Alloc>
=item Slab_Free
X<Slab_Free>
+=item _to_uni_fold_flags
+X<_to_uni_fold_flags>
+
+=item _to_utf8_fold_flags
+X<_to_utf8_fold_flags>
+
=item amagic_call
X<amagic_call>
+=item amagic_deref_call
+X<amagic_deref_call>
+
=item any_dup
X<any_dup>
@@ -8063,18 +10505,18 @@ X<ckwarn>
=item ckwarn_d
X<ckwarn_d>
+=item clone_params_del
+X<clone_params_del>
+
+=item clone_params_new
+X<clone_params_new>
+
=item croak_nocontext
X<croak_nocontext>
=item csighandler
X<csighandler>
-=item custom_op_desc
-X<custom_op_desc>
-
-=item custom_op_name
-X<custom_op_name>
-
=item cx_dump
X<cx_dump>
@@ -8108,9 +10550,6 @@ X<delimcpy>
=item despatch_signals
X<despatch_signals>
-=item die
-X<die>
-
=item die_nocontext
X<die_nocontext>
@@ -8219,9 +10658,18 @@ X<filter_del>
=item filter_read
X<filter_read>
+=item find_rundefsv
+X<find_rundefsv>
+
=item find_rundefsvoffset
X<find_rundefsvoffset>
+=item foldEQ_latin1
+X<foldEQ_latin1>
+
+=item foldEQ_utf8_flags
+X<foldEQ_utf8_flags>
+
=item form_nocontext
X<form_nocontext>
@@ -8381,12 +10829,6 @@ X<hv_riter_set>
=item hv_store_flags
X<hv_store_flags>
-=item ibcmp
-X<ibcmp>
-
-=item ibcmp_locale
-X<ibcmp_locale>
-
=item init_global_struct
X<init_global_struct>
@@ -8540,6 +10982,12 @@ X<is_utf8_upper>
=item is_utf8_xdigit
X<is_utf8_xdigit>
+=item is_utf8_xidcont
+X<is_utf8_xidcont>
+
+=item is_utf8_xidfirst
+X<is_utf8_xidfirst>
+
=item leave_scope
X<leave_scope>
@@ -8555,9 +11003,6 @@ X<malloc>
=item markstack_grow
X<markstack_grow>
-=item mess
-X<mess>
-
=item mess_nocontext
X<mess_nocontext>
@@ -8684,36 +11129,18 @@ X<newANONLIST>
=item newANONSUB
X<newANONSUB>
-=item newASSIGNOP
-X<newASSIGNOP>
-
=item newATTRSUB
X<newATTRSUB>
=item newAVREF
X<newAVREF>
-=item newBINOP
-X<newBINOP>
-
-=item newCONDOP
-X<newCONDOP>
-
=item newCVREF
X<newCVREF>
=item newFORM
X<newFORM>
-=item newFOROP
-X<newFOROP>
-
-=item newGIVENOP
-X<newGIVENOP>
-
-=item newGVOP
-X<newGVOP>
-
=item newGVREF
X<newGVREF>
@@ -8729,72 +11156,24 @@ X<newHVhv>
=item newIO
X<newIO>
-=item newLISTOP
-X<newLISTOP>
-
-=item newLOGOP
-X<newLOGOP>
-
-=item newLOOPEX
-X<newLOOPEX>
-
-=item newLOOPOP
-X<newLOOPOP>
-
=item newMYSUB
X<newMYSUB>
-=item newNULLLIST
-X<newNULLLIST>
-
-=item newOP
-X<newOP>
-
-=item newPADOP
-X<newPADOP>
-
-=item newPMOP
-X<newPMOP>
-
=item newPROG
X<newPROG>
-=item newPVOP
-X<newPVOP>
-
-=item newRANGE
-X<newRANGE>
-
=item newRV
X<newRV>
-=item newSLICEOP
-X<newSLICEOP>
-
-=item newSTATEOP
-X<newSTATEOP>
-
=item newSUB
X<newSUB>
-=item newSVOP
-X<newSVOP>
-
=item newSVREF
X<newSVREF>
=item newSVpvf_nocontext
X<newSVpvf_nocontext>
-=item newUNOP
-X<newUNOP>
-
-=item newWHENOP
-X<newWHENOP>
-
-=item newWHILEOP
-X<newWHILEOP>
-
=item newXS_flags
X<newXS_flags>
@@ -9023,6 +11402,9 @@ X<save_destructor>
=item save_destructor_x
X<save_destructor_x>
+=item save_freeop
+X<save_freeop>
+
=item save_freepv
X<save_freepv>
@@ -9050,6 +11432,9 @@ X<save_helem>
=item save_helem_flags
X<save_helem_flags>
+=item save_hints
+X<save_hints>
+
=item save_hptr
X<save_hptr>
@@ -9074,15 +11459,24 @@ X<save_mortalizesv>
=item save_nogv
X<save_nogv>
+=item save_op
+X<save_op>
+
=item save_padsv_and_mortalize
X<save_padsv_and_mortalize>
=item save_pptr
X<save_pptr>
+=item save_pushi32ptr
+X<save_pushi32ptr>
+
=item save_pushptr
X<save_pushptr>
+=item save_pushptrptr
+X<save_pushptrptr>
+
=item save_re_context
X<save_re_context>
@@ -9179,6 +11573,9 @@ X<sv_dump>
=item sv_dup
X<sv_dup>
+=item sv_dup_inc
+X<sv_dup_inc>
+
=item sv_peek
X<sv_peek>
@@ -9266,9 +11663,6 @@ X<uvchr_to_utf8_flags>
=item uvuni_to_utf8
X<uvuni_to_utf8>
-=item vcroak
-X<vcroak>
-
=item vdeb
X<vdeb>
@@ -9278,15 +11672,9 @@ X<vform>
=item vload_module
X<vload_module>
-=item vmess
-X<vmess>
-
=item vnewSVpvf
X<vnewSVpvf>
-=item vwarn
-X<vwarn>
-
=item vwarner
X<vwarner>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlapollo.pod b/Master/tlpkg/tlperl/lib/pods/perlapollo.pod
deleted file mode 100644
index cc12e6a5cd6..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perlapollo.pod
+++ /dev/null
@@ -1,23 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you see.
-It is written in the POD format (see pod/perlpod.pod) which is specially
-designed to be readable as is.
-
-=head1 NAME
-
-README.apollo - Perl version 5 on Apollo DomainOS
-
-=head1 DESCRIPTION
-
-The following tests are known to fail as of Perl 5.005_03:
-
-comp/decl..........FAILED at test 0
-op/write...........FAILED at test 0
-lib/filefind.......FAILED at test 2
-lib/io_udp.........FAILED at test 2
-lib/findbin........stat(/ressel/ABT/USER/vta/jk/proj.local/perl/perl5.005_03-MAINT_TRIAL_5/t/lib/): No such file or directory at ../lib/FindBin.pm line 162
-stat(/ressel/ABT/USER/vta/jk/proj.local/perl/perl5.005_03-MAINT_TRIAL_5/t/lib/): No such file or directory at ../lib/FindBin.pm line 163
-FAILED at test 1
-
-=head1 AUTHOR
-
-Johann Klasek <jk@auto.tuwien.ac.at>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbook.pod b/Master/tlpkg/tlperl/lib/pods/perlbook.pod
index b48379f5644..f780c9bb6ac 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbook.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbook.pod
@@ -1,17 +1,295 @@
=head1 NAME
-perlbook - Perl book information
+perlbook - Books about and related to Perl
=head1 DESCRIPTION
-The Camel Book, officially known as I<Programming Perl, Third Edition>,
-by Larry Wall et al, is the definitive reference work covering nearly
-all of Perl. You can order it and other Perl books from O'Reilly &
-Associates, 1-800-998-9938. Local/overseas is +1 707 829 0515. If you
-can locate an O'Reilly order form, you can also fax to +1 707 829 0104.
-If you're web-connected, you can even mosey on over to
-L<http://www.oreilly.com/> for an online order form.
-
-Other Perl books from various publishers and authors
-can be found listed in L<perlfaq2> or on the web at
-L<http://books.perl.org/>.
+There are many books on Perl and Perl-related. A few of these are
+good, some are OK, but many aren't worth your money. There is a list
+of these books, some with extensive reviews, at http://books.perl.org/
+. We list some of the books here, and while listing a book implies our
+endorsement, don't think that not including a book means anything.
+
+Most of these books are available online through Safari Books Online
+( http://safaribooksonline.com/ ).
+
+=head2 The most popular books
+
+The major reference book on Perl, written by the creator of Perl, is
+I<Programming Perl>:
+
+=over 4
+
+=item I<Programming Perl> (the "Camel Book"):
+
+ by Larry Wall, Tom Christiansen, and Jon Orwant
+ ISBN 978-0-596-00027-1 [3rd edition July 2000]
+ http://oreilly.com/catalog/9780596000271/
+
+=back
+
+The Ram is a cookbook with hundreds of examples of using Perl to
+accomplish specific tasks:
+
+=over 4
+
+=item I<The Perl Cookbook> (the "Ram Book"):
+
+ by Tom Christiansen and Nathan Torkington,
+ with Foreword by Larry Wall
+ ISBN 978-0-596-00313-5 [2nd Edition August 2003]
+ http://oreilly.com/catalog/9780596003135/
+
+=back
+
+If you want to learn the basics of Perl, you might start with the
+Llama book, which assumes that you already know a little about
+programming:
+
+=over 4
+
+=item I<Learning Perl> (the "Llama Book")
+
+ by Randal L. Schwartz, Tom Phoenix, and brian d foy
+ ISBN 978-0-596-52011-3 [5th edition June 2008]
+ http://oreilly.com/catalog/9780596520113
+
+=back
+
+The tutorial started in the Llama continues in the Alpaca, which
+introduces the intermediate features of references, data structures,
+object-oriented programming, and modules:
+
+=over 4
+
+=item I<Intermediate Perl> (the "Alpaca Book")
+
+ by Randal L. Schwartz and brian d foy, with Tom Phoenix
+ foreword by Damian Conway
+ ISBN 978-0-596-00478-1 [1st edition March 2006]
+ http://oreilly.com/catalog/9780596004781/
+
+=back
+
+=head2 References
+
+You might want to keep these desktop references close by your keyboard:
+
+=over 4
+
+=item I<Perl 5 Pocket Reference>
+
+ by Johan Vromans
+ ISBN 978-0-596-00374-6 [4th edition July 2002]
+ http://oreilly.com/catalog/9780596003746/
+
+=item I<Perl Debugger Pocket Reference>
+
+ by Richard Foley
+ ISBN 978-0-596-00503-0 [1st edition January 2004]
+ http://oreilly.com/catalog/9780596005030/
+
+=item I<Regular Expression Pocket Reference>
+
+ by Tony Stubblebine
+ ISBN 978-0-596-51427-3 [July 2007]
+ http://oreilly.com/catalog/9780596514273/
+
+=back
+
+=head2 Tutorials
+
+=over 4
+
+=item I<Beginning Perl>
+
+ by James Lee
+ ISBN 1-59059-391-X [3rd edition April 2010]
+ http://www.apress.com/book/view/1430227931
+
+=item I<Learning Perl>
+
+ by Randal L. Schwartz, Tom Phoenix, and brian d foy
+ ISBN 978-0-596-52010-6 [5th edition June 2008]
+ http://oreilly.com/catalog/9780596520106
+
+=item I<Intermediate Perl> (the "Alpaca Book")
+
+ by Randal L. Schwartz and brian d foy, with Tom Phoenix
+ foreword by Damian Conway
+ ISBN 0-596-10206-2 [1st edition March 2006]
+ http://oreilly.com/catalog/9780596102067
+
+=item I<Mastering Perl>
+
+ by brian d foy
+ ISBN 978-0-596-10206-7 [1st edition July 2007]
+ http://www.oreilly.com/catalog/9780596527242
+
+=item I<Effective Perl Programming>
+
+ by Joseph N. Hall, Joshua A. McAdams, brian d foy
+ ISBN 0-321-49694-9 [2nd edition 2010]
+ http://www.effectiveperlprogramming.com/
+
+=back
+
+=head2 Task-Oriented
+
+=over 4
+
+=item I<Writing Perl Modules for CPAN>
+
+ by Sam Tregar
+ ISBN 1-59059-018-X [1st edition August 2002]
+ http://www.apress.com/book/view/159059018X
+
+=item I<The Perl Cookbook>
+
+ by Tom Christiansen and Nathan Torkington
+ with foreword by Larry Wall
+ ISBN 1-56592-243-3 [2nd edition August 2003]
+ http://oreilly.com/catalog/9780596003135
+
+
+=item I<Automating System Administration with Perl>
+
+ by David N. Blank-Edelman
+ ISBN 978-0-596-00639-6 [2nd edition May 2009]
+ http://oreilly.com/catalog/9780596006396
+
+=item I<Real World SQL Server Administration with Perl>
+
+ by Linchi Shea
+ ISBN 1-59059-097-X [1st edition July 2003]
+ http://www.apress.com/book/view/159059097X
+
+=back
+
+=head2 Special Topics
+
+=over 4
+
+=item I<Regular Expressions Cookbook>
+
+ by Jan Goyvaerts and Steven Levithan
+ ISBN 978-0-596-52069-4 [May 2009]
+ http://oreilly.com/catalog/9780596520694
+
+=item I<Programming the Perl DBI>
+
+ by Tim Bunce and Alligator Descartes
+ ISBN 978-1-56592-699-8 [February 2000]
+ http://oreilly.com/catalog/9781565926998
+
+=item I<Perl Best Practices>
+
+ by Damian Conway
+ ISBN: 978-0-596-00173-5 [1st edition July 2005]
+ http://oreilly.com/catalog/9780596001735
+
+=item I<Higher-Order Perl>
+
+ by Mark-Jason Dominus
+ ISBN: 1-55860-701-3 [1st edition March 2005]
+ http://hop.perl.plover.com/
+
+=item I<Mastering Regular Expressions>
+
+ by Jeffrey E. F. Friedl
+ ISBN 978-0-596-52812-6 [3rd edition August 2006]
+ http://oreilly.com/catalog/9780596528126
+
+=item I<Network Programming with Perl>
+
+ by Lincoln Stein
+ ISBN 0-201-61571-1 [1st edition 2001]
+ http://www.pearsonhighered.com/educator/product/Network-Programming-with-Perl/9780201615715.page
+
+=item I<Perl Template Toolkit>
+
+ by Darren Chamberlain, Dave Cross, and Andy Wardley
+ ISBN 978-0-596-00476-7 [December 2003]
+ http://oreilly.com/catalog/9780596004767
+
+=item I<Object Oriented Perl>
+
+ by Damian Conway
+ with foreword by Randal L. Schwartz
+ ISBN 1-884777-79-1 [1st edition August 1999]
+ http://www.manning.com/conway/
+
+=item I<Data Munging with Perl>
+
+ by Dave Cross
+ ISBN 1-930110-00-6 [1st edition 2001]
+ http://www.manning.com/cross
+
+=item I<Mastering Perl/Tk>
+
+ by Steve Lidie and Nancy Walsh
+ ISBN 978-1-56592-716-2 [1st edition January 2002]
+ http://oreilly.com/catalog/9781565927162
+
+=item I<Extending and Embedding Perl>
+
+ by Tim Jenness and Simon Cozens
+ ISBN 1-930110-82-0 [1st edition August 2002]
+ http://www.manning.com/jenness
+
+=item I<Pro Perl Debugging>
+
+ by Richard Foley with Andy Lester
+ ISBN 1-59059-454-1 [1st edition July 2005]
+ http://www.apress.com/book/view/1590594541
+
+=back
+
+=head2 Free (as in beer) books
+
+Some of these books are available as free downloads.
+
+I<Higher-Order Perl>: http://hop.perl.plover.com/
+
+I<Writing Perl Modules for CPAN>: http://www.apress.com/resource/freeebook/9781590590188
+
+=head2 Other interesting, non-Perl books
+
+You might notice several familiar Perl concepts in this collection of
+ACM columns from Jon Bentley. The similarity to the title of the major
+Perl book (which came later) is not completely accidental:
+
+=over 4
+
+=item I<Programming Pearls>
+
+ by Jon Bentley
+ ISBN 978-0-201-65788-3 [2 edition, October 1999]
+
+=item I<More Programming Pearls>
+
+ by Jon Bentley
+ ISBN 0-201-11889-0 [January 1988]
+
+=back
+
+=head2 A note on freshness
+
+Each version of Perl comes with the documentation that was current at
+the time of release. This poses a problem for content such as book
+lists. There are probably very nice books published after this list
+was included in your Perl release, and you can check the latest
+released version at http://perldoc.perl.org/perlbook.html .
+
+Some of the books we've listed appear almost ancient in internet
+scale, but we've included those books because they still describe the
+current way of doing things. Not everything in Perl changes every day.
+Many of the beginner-level books, too, go over basic features and
+techniques that are still valid today. In general though, we try to
+limit this list to books published in the past five years.
+
+=head2 Get your book listed
+
+If your Perl book isn't listed and you think it should be, let us know.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlboot.pod b/Master/tlpkg/tlperl/lib/pods/perlboot.pod
index a6b256a0fcc..5aa61795759 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlboot.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlboot.pod
@@ -253,7 +253,7 @@ The easiest is to just spell the package name out:
@Cow::ISA = qw(Animal);
-Or declare it as package global variable:
+Or declare it as a package global variable:
package Cow;
our @ISA = qw(Animal);
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbot.pod b/Master/tlpkg/tlperl/lib/pods/perlbot.pod
index 91723b70d78..305a6951b7f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbot.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbot.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perlbot - Bag'o Object Tricks (the BOT)
+perlbot - Bag o' Object Tricks (the BOT)
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod b/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod
index a7746c64e2b..b13d9840d27 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod
@@ -206,7 +206,7 @@ Perl, that it should use the native IO layer:
Now your IO would be ASCII on ASCII partitions and EBCDIC on EBCDIC
partitions. See the documentation of PerlIO (without C<Encode::>!)
-for further posibilities.
+for further possibilities.
=head1 AUTHORS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcall.pod b/Master/tlpkg/tlperl/lib/pods/perlcall.pod
index 359e097a18d..df03ed6f200 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcall.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcall.pod
@@ -25,10 +25,10 @@ function that will be called whenever something nasty occurs. What we
would like is to be able to specify a Perl subroutine that will be
called instead.
-=item * An Event Driven Program
+=item * An Event-Driven Program
The classic example of where callbacks are used is when writing an
-event driven program like for an X windows application. In this case
+event driven program, such as for an X windows application. In this case
you register functions to be called whenever specific events occur,
e.g., a mouse button is pressed, the cursor moves into a window or a
menu item is selected.
@@ -42,8 +42,8 @@ embedding Perl. For details on embedding Perl in C refer to
L<perlembed>.
Before you launch yourself head first into the rest of this document,
-it would be a good idea to have read the following two documents -
-L<perlxs> and L<perlguts>.
+it would be a good idea to have read the following two documents--L<perlxs>
+and L<perlguts>.
=head1 THE CALL_ FUNCTIONS
@@ -74,7 +74,7 @@ Each of the functions will now be discussed in turn.
=item call_sv
-I<call_sv> takes two parameters, the first, C<sv>, is an SV*.
+I<call_sv> takes two parameters. The first, C<sv>, is an SV*.
This allows you to specify the Perl subroutine to be called either as a
C string (which has first been converted to an SV) or a reference to a
subroutine. The section, I<Using call_sv>, shows how you can make
@@ -103,7 +103,7 @@ of using I<call_method>.
I<call_argv> calls the Perl subroutine specified by the C string
stored in the C<subname> parameter. It also takes the usual C<flags>
-parameter. The final parameter, C<argv>, consists of a NULL terminated
+parameter. The final parameter, C<argv>, consists of a NULL-terminated
list of C strings to be passed as parameters to the Perl subroutine.
See I<Using call_argv>.
@@ -121,10 +121,9 @@ been warned.
=head1 FLAG VALUES
-The C<flags> parameter in all the I<call_*> functions is a bit mask
-which can consist of any combination of the symbols defined below,
-OR'ed together.
-
+The C<flags> parameter in all the I<call_*> functions is one of G_VOID,
+G_SCALAR, or G_ARRAY, which indicate the call context, OR'ed together
+with a bit mask of any combination of the other G_* symbols defined below.
=head2 G_VOID
@@ -147,7 +146,7 @@ It ensures that nothing is actually returned from the subroutine.
=back
The value returned by the I<call_*> function indicates how many
-items have been returned by the Perl subroutine - in this case it will
+items have been returned by the Perl subroutine--in this case it will
be 0.
@@ -249,7 +248,7 @@ the effect of not creating the C<@_> array for the Perl subroutine.
Although the functionality provided by this flag may seem
straightforward, it should be used only if there is a good reason to do
-so. The reason for being cautious is that even if you have specified
+so. The reason for being cautious is that, even if you have specified
the G_NOARGS flag, it is still possible for the Perl subroutine that
has been called to think that you have passed it parameters.
@@ -321,33 +320,34 @@ See I<Using G_EVAL> for details on using G_EVAL.
=head2 G_KEEPERR
-You may have noticed that using the G_EVAL flag described above will
-B<always> clear the C<$@> variable and set it to a string describing
-the error iff there was an error in the called code. This unqualified
-resetting of C<$@> can be problematic in the reliable identification of
-errors using the C<eval {}> mechanism, because the possibility exists
-that perl will call other code (end of block processing code, for
-example) between the time the error causes C<$@> to be set within
-C<eval {}>, and the subsequent statement which checks for the value of
-C<$@> gets executed in the user's script.
-
-This scenario will mostly be applicable to code that is meant to be
-called from within destructors, asynchronous callbacks, signal
-handlers, C<__DIE__> or C<__WARN__> hooks, and C<tie> functions. In
-such situations, you will not want to clear C<$@> at all, but simply to
-append any new errors to any existing value of C<$@>.
+Using the G_EVAL flag described above will always set C<$@>: clearing
+it if there was no error, and setting it to describe the error if there
+was an error in the called code. This is what you want if your intention
+is to handle possible errors, but sometimes you just want to trap errors
+and stop them interfering with the rest of the program.
+
+This scenario will mostly be applicable to code that is meant to be called
+from within destructors, asynchronous callbacks, and signal handlers.
+In such situations, where the code being called has little relation to the
+surrounding dynamic context, the main program needs to be insulated from
+errors in the called code, even if they can't be handled intelligently.
+It may also be useful to do this with code for C<__DIE__> or C<__WARN__>
+hooks, and C<tie> functions.
The G_KEEPERR flag is meant to be used in conjunction with G_EVAL in
-I<call_*> functions that are used to implement such code. This flag
-has no effect when G_EVAL is not used.
+I<call_*> functions that are used to implement such code, or with
+C<eval_sv>. This flag has no effect on the C<call_*> functions when
+G_EVAL is not used.
-When G_KEEPERR is used, any errors in the called code will be prefixed
-with the string "\t(in cleanup)", and appended to the current value
-of C<$@>. an error will not be appended if that same error string is
-already at the end of C<$@>.
+When G_KEEPERR is used, any error in the called code will terminate the
+call as usual, and the error will not propagate beyond the call (as usual
+for G_EVAL), but it will not go into C<$@>. Instead the error will be
+converted into a warning, prefixed with the string "\t(in cleanup)".
+This can be disabled using C<no warnings 'misc'>. If there is no error,
+C<$@> will not be cleared.
-In addition, a warning is generated using the appended string. This can be
-disabled using C<no warnings 'misc'>.
+Note that the G_KEEPERR flag does not propagate into inner evals; these
+may still set C<$@>.
The G_KEEPERR flag was introduced in Perl version 5.002.
@@ -360,7 +360,7 @@ As mentioned above, you can determine the context of the currently
executing subroutine in Perl with I<wantarray>. The equivalent test
can be made in C by using the C<GIMME_V> macro, which returns
C<G_ARRAY> if you have been called in a list context, C<G_SCALAR> if
-in a scalar context, or C<G_VOID> if in a void context (i.e. the
+in a scalar context, or C<G_VOID> if in a void context (i.e., the
return value will not be used). An older version of this macro is
called C<GIMME>; in a void context it returns C<G_SCALAR> instead of
C<G_VOID>. An example of using the C<GIMME_V> macro is shown in
@@ -368,7 +368,7 @@ section I<Using GIMME_V>.
=head1 EXAMPLES
-Enough of the definition talk, let's have a few examples.
+Enough of the definition talk! Let's have a few examples.
Perl provides many macros to assist in accessing the Perl stack.
Wherever possible, these macros should always be used when interfacing
@@ -382,7 +382,7 @@ possible, if the choice is between using I<call_pv> and
I<call_sv>, you should always try to use I<call_sv>. See
I<Using call_sv> for details.
-=head2 No Parameters, Nothing returned
+=head2 No Parameters, Nothing Returned
This first trivial example will call a Perl subroutine, I<PrintUID>, to
print out the UID of the process.
@@ -403,9 +403,9 @@ and here is a C function to call it
call_pv("PrintUID", G_DISCARD|G_NOARGS);
}
-Simple, eh.
+Simple, eh?
-A few points to note about this example.
+A few points to note about this example:
=over 5
@@ -446,7 +446,7 @@ call a Perl subroutine, C<LeftString>, which will take 2 parameters--a
string ($s) and an integer ($n). The subroutine will simply
print the first $n characters of the string.
-So the Perl subroutine would look like this
+So the Perl subroutine would look like this:
sub LeftString
{
@@ -454,7 +454,7 @@ So the Perl subroutine would look like this
print substr($s, 0, $n), "\n";
}
-The C function required to call I<LeftString> would look like this.
+The C function required to call I<LeftString> would look like this:
static void
call_LeftString(a, b)
@@ -513,13 +513,13 @@ subroutine, it knows how big to make it.
The C<PUSHMARK> macro tells Perl to make a mental note of the current
stack pointer. Even if you aren't passing any parameters (like the
-example shown in the section I<No Parameters, Nothing returned>) you
+example shown in the section I<No Parameters, Nothing Returned>) you
must still call the C<PUSHMARK> macro before you can call any of the
I<call_*> functions--Perl still needs to know that there are no
parameters.
The C<PUTBACK> macro sets the global copy of the stack pointer to be
-the same as our local copy. If we didn't do this I<call_pv>
+the same as our local copy. If we didn't do this, I<call_pv>
wouldn't know where the two parameters we pushed were--remember that
up to now all the stack pointer manipulation we have done is with our
local copy, I<not> the global copy.
@@ -557,10 +557,10 @@ the Perl subroutine (see next example), plus it will also dump the
mortal SVs we have created. Having C<ENTER>/C<SAVETMPS> at the
beginning of the code makes sure that no other mortals are destroyed.
-Think of these macros as working a bit like using C<{> and C<}> in Perl
+Think of these macros as working a bit like C<{> and C<}> in Perl
to limit the scope of local variables.
-See the section I<Using Perl to dispose of temporaries> for details of
+See the section I<Using Perl to Dispose of Temporaries> for details of
an alternative to using these macros.
=item 6.
@@ -625,7 +625,7 @@ Points to note this time are
=item 1.
-The only flag specified this time was G_SCALAR. That means the C<@_>
+The only flag specified this time was G_SCALAR. That means that the C<@_>
array will be created and that the value returned by I<Adder> will
still exist after the call to I<call_pv>.
@@ -633,7 +633,7 @@ still exist after the call to I<call_pv>.
The purpose of the macro C<SPAGAIN> is to refresh the local copy of the
stack pointer. This is necessary because it is possible that the memory
-allocated to the Perl stack has been reallocated whilst in the
+allocated to the Perl stack has been reallocated during the
I<call_pv> call.
If you are making use of the Perl stack pointer in your code you must
@@ -678,7 +678,7 @@ stack pointer to be the same as our local copy.
=back
-=head2 Returning a list of values
+=head2 Returning a List of Values
Now, let's extend the previous example to return both the sum of the
parameters and the difference.
@@ -750,7 +750,7 @@ order.
=back
-=head2 Returning a list in a scalar context
+=head2 Returning a List in a Scalar Context
Say the Perl subroutine in the previous section was called in a scalar
context, like this
@@ -799,14 +799,14 @@ then the output will be
Value 1 = 3
In this case the main point to note is that only the last item in the
-list is returned from the subroutine, I<AddSubtract> actually made it back to
+list is returned from the subroutine. I<AddSubtract> actually made it back to
I<call_AddSubScalar>.
-=head2 Returning Data from Perl via the parameter list
+=head2 Returning Data from Perl via the Parameter List
-It is also possible to return values directly via the parameter list -
-whether it is actually desirable to do it is another matter entirely.
+It is also possible to return values directly via the parameter
+list--whether it is actually desirable to do it is another matter entirely.
The Perl subroutine, I<Inc>, below takes 2 parameters and increments
each directly.
@@ -965,7 +965,7 @@ C<SvTRUE(ERRSV)> is true. This is necessary because whenever a
I<call_*> function invoked with G_EVAL|G_SCALAR returns an error,
the top of the stack holds the value I<undef>. Because we want the
program to continue after detecting this error, it is essential that
-the stack is tidied up by removing the I<undef>.
+the stack be tidied up by removing the I<undef>.
=back
@@ -986,12 +986,15 @@ version of the call_Subtract example above inside a destructor:
sub foo { die "foo dies"; }
package main;
- eval { Foo->new->foo };
+ {
+ my $foo = Foo->new;
+ eval { $foo->foo };
+ }
print "Saw: $@" if $@; # should be, but isn't
This example will fail to recognize that an error occurred inside the
C<eval {}>. Here's why: the call_Subtract code got executed while perl
-was cleaning up temporaries when exiting the eval block, and because
+was cleaning up temporaries when exiting the outer braced block, and because
call_Subtract is implemented with I<call_pv> using the G_EVAL
flag, it promptly reset C<$@>. This results in the failure of the
outermost test for C<$@>, and thereby the failure of the error trap.
@@ -1044,7 +1047,7 @@ I<call_sv> instead of I<call_pv>.
PUSHMARK(SP);
call_sv(name, G_DISCARD|G_NOARGS);
-Because we are using an SV to call I<fred> the following can all be used
+Because we are using an SV to call I<fred> the following can all be used:
CallSubSV("fred");
CallSubSV(\&fred);
@@ -1055,10 +1058,10 @@ Because we are using an SV to call I<fred> the following can all be used
As you can see, I<call_sv> gives you much greater flexibility in
how you can specify the Perl subroutine.
-You should note that if it is necessary to store the SV (C<name> in the
+You should note that, if it is necessary to store the SV (C<name> in the
example above) which corresponds to the Perl subroutine so that it can
be used later in the program, it not enough just to store a copy of the
-pointer to the SV. Say the code above had been like this
+pointer to the SV. Say the code above had been like this:
static SV * rememberSub;
@@ -1074,10 +1077,10 @@ pointer to the SV. Say the code above had been like this
PUSHMARK(SP);
call_sv(rememberSub, G_DISCARD|G_NOARGS);
-The reason this is wrong is that by the time you come to use the
+The reason this is wrong is that, by the time you come to use the
pointer C<rememberSub> in C<CallSavedSub1>, it may or may not still refer
to the Perl subroutine that was recorded in C<SaveSub1>. This is
-particularly true for these cases
+particularly true for these cases:
SaveSub1(\&fred);
CallSavedSub1();
@@ -1085,7 +1088,7 @@ particularly true for these cases
SaveSub1( sub { print "Hello there\n" } );
CallSavedSub1();
-By the time each of the C<SaveSub1> statements above have been executed,
+By the time each of the C<SaveSub1> statements above has been executed,
the SV*s which corresponded to the parameters will no longer exist.
Expect an error message from Perl of the form
@@ -1116,19 +1119,19 @@ code which is referenced by the SV* C<rememberSub>. In this case
though, it now refers to the integer C<47>, so expect Perl to complain
loudly.
-A similar but more subtle problem is illustrated with this code
+A similar but more subtle problem is illustrated with this code:
$ref = \&fred;
SaveSub1($ref);
$ref = \&joe;
CallSavedSub1();
-This time whenever C<CallSavedSub1> get called it will execute the Perl
+This time whenever C<CallSavedSub1> gets called it will execute the Perl
subroutine C<joe> (assuming it exists) rather than C<fred> as was
originally requested in the call to C<SaveSub1>.
To get around these problems it is necessary to take a full copy of the
-SV. The code below shows C<SaveSub2> modified to do that
+SV. The code below shows C<SaveSub2> modified to do that.
static SV * keepSub = (SV*)NULL;
@@ -1153,8 +1156,8 @@ SV. The code below shows C<SaveSub2> modified to do that
To avoid creating a new SV every time C<SaveSub2> is called,
the function first checks to see if it has been called before. If not,
then space for a new SV is allocated and the reference to the Perl
-subroutine, C<name> is copied to the variable C<keepSub> in one
-operation using C<newSVsv>. Thereafter, whenever C<SaveSub2> is called
+subroutine C<name> is copied to the variable C<keepSub> in one
+operation using C<newSVsv>. Thereafter, whenever C<SaveSub2> is called,
the existing SV, C<keepSub>, is overwritten with the new value using
C<SvSetSV>.
@@ -1170,7 +1173,7 @@ to it.
foreach (@list) { print "$_\n" }
}
-and here is an example of I<call_argv> which will call
+And here is an example of I<call_argv> which will call
I<PrintList>.
static char * words[] = {"alpha", "beta", "gamma", "delta", NULL};
@@ -1188,7 +1191,7 @@ This is because I<call_argv> will do it for you.
=head2 Using call_method
-Consider the following Perl code
+Consider the following Perl code:
{
package Mine;
@@ -1216,7 +1219,7 @@ It implements just a very simple class to manage an array. Apart from
the constructor, C<new>, it declares methods, one static and one
virtual. The static method, C<PrintID>, prints out simply the class
name and a version number. The virtual method, C<Display>, prints out a
-single element of the array. Here is an all Perl example of using it.
+single element of the array. Here is an all-Perl example of using it.
$a = Mine->new('red', 'green', 'blue');
$a->Display(1);
@@ -1228,22 +1231,22 @@ will print
This is Class Mine version 1.0
Calling a Perl method from C is fairly straightforward. The following
-things are required
+things are required:
=over 5
=item *
-a reference to the object for a virtual method or the name of the class
-for a static method.
+A reference to the object for a virtual method or the name of the class
+for a static method
=item *
-the name of the method.
+The name of the method
=item *
-any other parameters specific to the method.
+Any other parameters specific to the method
=back
@@ -1275,13 +1278,13 @@ the C<PrintID> and C<Display> methods from C.
call_method(method, G_DISCARD);
-So the methods C<PrintID> and C<Display> can be invoked like this
+So the methods C<PrintID> and C<Display> can be invoked like this:
$a = Mine->new('red', 'green', 'blue');
call_Method($a, 'Display', 1);
call_PrintID('Mine', 'PrintID');
-The only thing to note is that in both the static and virtual methods,
+The only thing to note is that, in both the static and virtual methods,
the method name is not passed via the stack--it is used as the first
parameter to I<call_method>.
@@ -1301,7 +1304,7 @@ currently executing.
else
printf ("Context is Array\n");
-and here is some Perl to test it
+And here is some Perl to test it.
PrintContext;
$a = PrintContext;
@@ -1313,22 +1316,21 @@ The output from that will be
Context is Scalar
Context is Array
-=head2 Using Perl to dispose of temporaries
+=head2 Using Perl to Dispose of Temporaries
In the examples given to date, any temporaries created in the callback
(i.e., parameters passed on the stack to the I<call_*> function or
-values returned via the stack) have been freed by one of these methods
+values returned via the stack) have been freed by one of these methods:
=over 5
=item *
-specifying the G_DISCARD flag with I<call_*>.
+Specifying the G_DISCARD flag with I<call_*>
=item *
-explicitly disposed of using the C<ENTER>/C<SAVETMPS> -
-C<FREETMPS>/C<LEAVE> pairing.
+Explicitly using the C<ENTER>/C<SAVETMPS>--C<FREETMPS>/C<LEAVE> pairing
=back
@@ -1413,7 +1415,7 @@ So what is the big problem? Well, if you are expecting Perl to tidy up
those temporaries for you, you might be in for a long wait. For Perl
to dispose of your temporaries, control must drop back to the
enclosing scope at some stage. In the event driven scenario that may
-never happen. This means that as time goes on, your program will
+never happen. This means that, as time goes on, your program will
create more and more temporaries, none of which will ever be freed. As
each of these temporaries consumes some memory your program will
eventually consume all the available memory in your system--kapow!
@@ -1425,7 +1427,7 @@ any temporaries you may have created. Mind you, if you are at all
uncertain about what to do, it doesn't do any harm to tidy up anyway.
-=head2 Strategies for storing Callback Context Information
+=head2 Strategies for Storing Callback Context Information
Potentially one of the trickiest problems to overcome when designing a
@@ -1779,15 +1781,15 @@ returned from Perl subroutines, it is also possible to bypass these
macros and read the stack using the C<ST> macro (See L<perlxs> for a
full description of the C<ST> macro).
-Most of the time the C<POP*> macros should be adequate, the main
+Most of the time the C<POP*> macros should be adequate; the main
problem with them is that they force you to process the returned values
in sequence. This may not be the most suitable way to process the
values in some cases. What we want is to be able to access the stack in
a random order. The C<ST> macro as used when coding an XSUB is ideal
for this purpose.
-The code below is the example given in the section I<Returning a list
-of values> recoded to use C<ST> instead of C<POP*>.
+The code below is the example given in the section I<Returning a List
+of Values> recoded to use C<ST> instead of C<POP*>.
static void
call_AddSubtract2(a, b)
@@ -1832,7 +1834,7 @@ Notes
Notice that it was necessary to define the variable C<ax>. This is
because the C<ST> macro expects it to exist. If we were in an XSUB it
would not be necessary to define C<ax> as it is already defined for
-you.
+us.
=item 2.
@@ -1853,7 +1855,7 @@ refers to the last.
=back
-=head2 Creating and calling an anonymous subroutine in C
+=head2 Creating and Calling an Anonymous Subroutine in C
As we've already shown, C<call_sv> can be used to invoke an
anonymous subroutine. However, our example showed a Perl script
diff --git a/Master/tlpkg/tlperl/lib/pods/perlce.pod b/Master/tlpkg/tlperl/lib/pods/perlce.pod
index 25cef84af67..2ca2bf0ae60 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlce.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlce.pod
@@ -132,7 +132,7 @@ archive.
NOTE: during a build there could be created a number (or one) of C<Config.pm>
for cross-compilation ("foreign" C<Config.pm>) and those are hidden inside
-C<../xlib/$(CROSS_NAME)> with other auxilary files, but, and this is important to
+C<../xlib/$(CROSS_NAME)> with other auxiliary files, but, and this is important to
note, there should be B<no> C<Config.pm> for host miniperl.
If you'll get an error that perl could not find Config.pm somewhere in building
process this means something went wrong. Most probably you forgot to
@@ -160,7 +160,7 @@ works on non-hpc devices.
The simple stdio implementation creates the files C<stdin.txt>,
C<stdout.txt> and C<stderr.txt>, so you might examine them if your
-console has only a liminted number of cols.
+console has only a limited number of cols.
When exitcode is non-zero, a message box appears, otherwise the
console closes, so you might have to catch an exit with
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcheat.pod b/Master/tlpkg/tlperl/lib/pods/perlcheat.pod
index 7f2c83066f6..d210fa0a90b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcheat.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcheat.pod
@@ -88,6 +88,18 @@ Juerd Waalboer <#####@juerd.nl>, with the help of many Perl Monks.
=head1 SEE ALSO
- http://perlmonks.org/?node_id=216602 the original PM post
- http://perlmonks.org/?node_id=238031 Damian Conway's Perl 6 version
- http://juerd.nl/site.plp/perlcheat home of the Perl Cheat Sheet
+=over 4
+
+=item *
+
+L<http://perlmonks.org/?node_id=216602> - the original PM post
+
+=item *
+
+L<http://perlmonks.org/?node_id=238031> - Damian Conway's Perl 6 version
+
+=item *
+
+L<http://juerd.nl/site.plp/perlcheat> - home of the Perl Cheat Sheet
+
+=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlclib.pod b/Master/tlpkg/tlperl/lib/pods/perlclib.pod
index 1fe4699be1b..0785577dace 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlclib.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlclib.pod
@@ -138,7 +138,7 @@ pattern into it that should be illegal as pointers (and floating point
numbers), and also hopefully surprising enough as integers, so that
any code attempting to use the data without forethought will break
sooner rather than later. Poisoning can be done using the Poison()
-macros, which have similar arguments as Zero():
+macros, which have similar arguments to Zero():
PoisonWith(dst, n, t, b) scribble memory with byte b
PoisonNew(dst, n, t) equal to PoisonWith(dst, n, t, 0xAB)
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcommunity.pod b/Master/tlpkg/tlperl/lib/pods/perlcommunity.pod
index 8430c3fcc10..96c7b85486e 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcommunity.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcommunity.pod
@@ -14,15 +14,15 @@ evidence that the Perl users apply TMTOWTDI to all endeavors, not just
programming. From websites, to IRC, to mailing lists, there is more than one
way to get involved in the community.
-=head2 Where to find the community
+=head2 Where to Find the Community
There is a central directory for the Perl community: L<http://perl.org>
maintained by the Perl Foundation (L<http://www.perlfoundation.org/>),
which tracks and provides services for a variety of other community sites.
-=head2 Mailing lists and Newsgroups
+=head2 Mailing Lists and Newsgroups
-Perl runs on e-mail, there is no doubt about it. The Camel book was originally
+Perl runs on e-mail; there is no doubt about it. The Camel book was originally
written mostly over e-mail and today Perl's development is co-ordinated through
mailing lists. The largest repository of Perl mailing lists is located at
L<http://lists.perl.org>.
@@ -41,7 +41,7 @@ The Perl community has a rather large IRC presence. For starters, it has its
own IRC network, L<irc://irc.perl.org>. General (not help-oriented) chat can be
found at L<irc://irc.perl.org/#perl>. Many other more specific chats are also
hosted on the network. Information about irc.perl.org is located on the
-network's website: L<http://www.irc.perl.org>. For a more help oriented #perl,
+network's website: L<http://www.irc.perl.org>. For a more help-oriented #perl,
check out L<irc://irc.freenode.net/#perl>. Perl 6 development also has a
presence in L<irc://irc.freenode.net/#perl6>. Most Perl-related channels will
be kind enough to point you in the right direction if you ask nicely.
@@ -52,7 +52,7 @@ with varying activity levels.
=head2 Websites
Perl websites come in a variety of forms, but they fit into two large
-categories: forums and news websites. There are many Perl related
+categories: forums and news websites. There are many Perl-related
websites, so only a few of the community's largest are mentioned here.
=head3 News sites
@@ -61,7 +61,7 @@ websites, so only a few of the community's largest are mentioned here.
=item L<http://perl.com/>
-Run by O'Reilly Media (The publisher of L<the Camel Book|perlbook> among other
+Run by O'Reilly Media (the publisher of L<the Camel Book|perlbook>, among other
Perl-related literature), perl.com provides current Perl news, articles, and
resources for Perl developers as well as a directory of other useful websites.
@@ -119,7 +119,7 @@ L<irc://irc.perl.org/#perl>.
If you have never been to a hackathon, here are a few basic things you need to
know before attending: have a working laptop and know how to use it; check out
-the involved projects before hand; have the necessary version control client;
+the involved projects beforehand; have the necessary version control client;
and bring backup equipment (an extra LAN cable, additional power strips, etc.)
because someone will forget.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcompile.pod b/Master/tlpkg/tlperl/lib/pods/perlcompile.pod
index 505ce68384f..dc829f45efd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcompile.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcompile.pod
@@ -77,9 +77,9 @@ This is why all the back ends print:
before producing any other output.
-=head2 The Cross Referencing Back End
+=head2 The Cross-Referencing Back End
-The cross referencing back end (B::Xref) produces a report on your program,
+The cross-referencing back end (B::Xref) produces a report on your program,
breaking down declarations and uses of subroutines and variables (and
formats) by file and subroutine. For instance, here's part of the
report from the I<pod2man> program that comes with Perl:
@@ -215,7 +215,7 @@ This is like saying C<use O 'Deparse'> in your Perl program.
This module prints a concise (but complete) version of the Perl parse
tree. Its output is more customizable than the one of B::Terse or
-B::Debug (and it can emulate them). This module useful for people who
+B::Debug (and it can emulate them). This module is useful for people who
are writing their own back end, or who are learning about the Perl
internals. It's not useful to the average programmer.
@@ -269,7 +269,7 @@ average programmer.
This module prints a report on where the variables, subroutines, and
formats are defined and used within a program and the modules it
-loads. See L</"The Cross Referencing Back End"> for details about
+loads. See L</"The Cross-Referencing Back End"> for details about
usage.
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod b/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod
index 3933e562a47..713c2206793 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod
@@ -27,7 +27,7 @@ platforms. They run thanks to the Cygwin library which provides the UNIX
system calls and environment these programs expect. More information
about this project can be found at:
- F<http://www.cygwin.com/>
+L<http://www.cygwin.com/>
A recent net or commercial release of Cygwin is required.
@@ -368,7 +368,7 @@ C<Cygwin::posix_to_win_path()>.
Pathnames may not contain Unicode characters. C<Cygwin> still uses the
ANSI API calls and no Unicode calls because of newlib deficiencies.
There's an unofficial unicode patch for cygwin at
-F<http://www.okisoft.co.jp/esc/utf8-cygwin/>
+L<http://www.okisoft.co.jp/esc/utf8-cygwin/>
=item * Text/Binary
@@ -458,7 +458,7 @@ error like the following:
Use the rebase utility to resolve the conflicting dll addresses. The
rebase package is included in the Cygwin netrelease. Use setup.exe from
-F<http://www.cygwin.com/setup.exe> to install it and run rebaseall.
+L<http://www.cygwin.com/setup.exe> to install it and run rebaseall.
=back
@@ -563,17 +563,17 @@ be kept as clean as possible.
pod/perl561delta.pod pod/perl570delta.pod pod/perl572delta.pod
pod/perl573delta.pod pod/perl58delta.pod pod/perl581delta.pod
pod/perl590delta.pod pod/perlhist.pod pod/perlmodlib.pod
- pod/perltoc.pod pod.lst Porting/Glossary pod/perlrepository.pod
+ pod/perltoc.pod pod.lst Porting/Glossary pod/perlgit.pod
Porting/checkAUTHORS.pl
- ext/Compress-Raw-Zlib/Changes ext/Compress-Raw-Zlib/README
- ext/Compress-Zlib/Changes cpan/Cwd/Changes ext/DB_File/Changes
- ext/Encode/Changes ext/Sys-Syslog/Changes ext/Time-HiRes/Changes
- ext/Win32API-File/Changes lib/CGI/Changes lib/ExtUtils/CBuilder/Changes
- lib/ExtUtils/Changes lib/ExtUtils/NOTES lib/ExtUtils/PATCHING
- lib/ExtUtils/README lib/Module/Build/Changes lib/Net/Ping/Changes
- lib/Test/Harness/Changes
- lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README
- README.symbian symbian/TODO
+ dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
+ ext/Compress-Raw-Zlib/README ext/Compress-Zlib/Changes
+ ext/DB_File/Changes ext/Encode/Changes ext/Sys-Syslog/Changes
+ ext/Time-HiRes/Changes ext/Win32API-File/Changes lib/CGI/Changes
+ lib/ExtUtils/CBuilder/Changes lib/ExtUtils/Changes lib/ExtUtils/NOTES
+ lib/ExtUtils/PATCHING lib/ExtUtils/README lib/Module/Build/Changes
+ lib/Net/Ping/Changes lib/Test/Harness/Changes
+ lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README README.symbian
+ symbian/TODO
=item Build, Configure, Make, Install
@@ -673,7 +673,7 @@ be kept as clean as possible.
lib/CPANPLUS/Internals/Constants/Report.pm
- OS classifications
lib/CPANPLUS/Internals/Constants.pm
- - Contants for Cygwin
+ - Constants for Cygwin
lib/CPANPLUS/Internals/Report.pm
- Example of Cygwin report
lib/CPANPLUS/Module.pm
@@ -714,8 +714,8 @@ be kept as clean as possible.
=item Perl Module Tests
+ dist/Cwd/t/cwd.t
ext/Compress-Zlib/t/14gzopen.t
- cpan/Cwd/t/cwd.t
ext/DB_File/t/db-btree.t
ext/DB_File/t/db-hash.t
ext/DB_File/t/db-recno.t
diff --git a/Master/tlpkg/tlperl/lib/pods/perldata.pod b/Master/tlpkg/tlperl/lib/pods/perldata.pod
index bc564e650d4..1b1cbf4564b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldata.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldata.pod
@@ -52,7 +52,7 @@ X<scalar>
$#days # the last index of array @days
Entire arrays (and slices of arrays and hashes) are denoted by '@',
-which works much like the word "these" or "those" does in English,
+which works much as the word "these" or "those" does in English,
in that it indicates multiple values are expected.
X<array>
@@ -140,7 +140,7 @@ to determine the context for the right argument. Assignment to a
scalar evaluates the right-hand side in scalar context, while
assignment to an array or hash evaluates the righthand side in list
context. Assignment to a list (or slice, which is just a list
-anyway) also evaluates the righthand side in list context.
+anyway) also evaluates the right-hand side in list context.
When you use the C<use warnings> pragma or Perl's B<-w> command-line
option, you may see warnings
@@ -276,8 +276,8 @@ set. For example, you stick 10,000 things in a hash, but evaluating
%HASH in scalar context reveals C<"1/16">, which means only one out
of sixteen buckets has been touched, and presumably contains all
10,000 of your items. This isn't supposed to happen. If a tied hash
-is evaluated in scalar context, a fatal error will result, since this
-bucket usage information is currently not available for tied hashes.
+is evaluated in scalar context, the C<SCALAR> method is called (with a
+fallback to C<FIRSTKEY>).
X<hash, scalar context> X<hash, bucket> X<bucket>
You can preallocate space for a hash by assigning to the keys() function.
@@ -391,7 +391,7 @@ inet_aton()/inet_ntoa() routines of the Socket package.
Note that since Perl 5.8.1 the single-number v-strings (like C<v65>)
are not v-strings before the C<< => >> operator (which is usually used
-to separate a hash key from a hash value), instead they are interpreted
+to separate a hash key from a hash value); instead they are interpreted
as literal strings ('v65'). They were v-strings from Perl 5.6.0 to
Perl 5.8.0, but that caused more confusion and breakage than good.
Multi-number v-strings like C<v65.66> and C<65.66.67> continue to
@@ -406,7 +406,8 @@ represent the current filename, line number, and package name at that
point in your program. They may be used only as separate tokens; they
will not be interpolated into strings. If there is no current package
(due to an empty C<package;> directive), __PACKAGE__ is the undefined
-value.
+value. (But the empty C<package;> is no longer supported, as of version
+5.10.)
X<__FILE__> X<__LINE__> X<__PACKAGE__> X<line> X<file> X<package>
The two control characters ^D and ^Z, and the tokens __END__ and __DATA__
@@ -451,7 +452,7 @@ produces a compile-time error instead. The restriction lasts to the
end of the enclosing block. An inner block may countermand this
by saying C<no strict 'subs'>.
-=head3 Array Joining Delimiter
+=head3 Array Interpolation
X<array, interpolation> X<interpolation, array> X<$">
Arrays and slices are interpolated into double-quoted strings
@@ -667,7 +668,8 @@ of how to arrange for an output ordering.
=head2 Subscripts
-An array is subscripted by specifying a dollar sign (C<$>), then the
+An array can be accessed one scalar at a
+time by specifying a dollar sign (C<$>), then the
name of the array (without the leading C<@>), then the subscript inside
square brackets. For example:
@@ -691,15 +693,12 @@ are used. For example:
print "Darwin's First Name is ", $scientists{"Darwin"}, "\n";
-=head2 Slices
-X<slice> X<array, slice> X<hash, slice>
+You can also subscript a list to get a single element from it:
-A common way to access an array or a hash is one scalar element at a
-time. You can also subscript a list to get a single element from it.
+ $dir = (getpwnam("daemon"))[7];
- $whoami = $ENV{"USER"}; # one element from the hash
- $parent = $ISA[0]; # one element from the array
- $dir = (getpwnam("daemon"))[7]; # likewise, but with list
+=head2 Slices
+X<slice> X<array, slice> X<hash, slice>
A slice accesses several elements of a list, an array, or a hash
simultaneously using a list of subscripts. It's more convenient
@@ -761,6 +760,13 @@ is the number of elements on the right-hand side of the assignment.
The null list contains no elements, so when the password file is
exhausted, the result is 0, not 2.
+Slices in scalar context return the last item of the slice.
+
+ @a = qw/first second third/;
+ %h = (first => 'A', second => 'B');
+ $t = @a[0, 1]; # $t is now 'second'
+ $u = @h{'first', 'second'}; # $u is now 'B'
+
If you're confused about why you use an '@' there on a hash slice
instead of a '%', think of it like this. The type of bracket (square
or curly) governs whether it's an array or a hash being looked at.
@@ -856,8 +862,8 @@ C<use strict 'refs'> forbids such practice.
Another way to create anonymous filehandles is with the Symbol
module or with the IO::Handle module and its ilk. These modules
have the advantage of not hiding different types of the same name
-during the local(). See the bottom of L<perlfunc/open()> for an
-example.
+during the local(). See the bottom of L<perlfunc/"open FILEHANDLE">
+for an example.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod b/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod
index e58ce2013be..2a4c2399558 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod
@@ -17,7 +17,7 @@ The four C<filter_*> methods shown above are available in all the DBM
modules that ship with Perl, namely DB_File, GDBM_File, NDBM_File,
ODBM_File and SDBM_File.
-Each of the methods work identically, and are used to install (or
+Each of the methods works identically, and is used to install (or
uninstall) a single DBM Filter. The only difference between them is the
place that the filter is installed.
@@ -51,7 +51,7 @@ every time you read a value from a DBM database.
You can use any combination of the methods from none to all four.
All filter methods return the existing filter, if present, or C<undef>
-in not.
+if not.
To delete a filter pass C<undef> to it.
diff --git a/Master/tlpkg/tlperl/lib/pods/perldebguts.pod b/Master/tlpkg/tlperl/lib/pods/perldebguts.pod
index 402b67c242f..9bc0b63de46 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldebguts.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldebguts.pod
@@ -53,7 +53,7 @@ C<"$break_condition\0$action">.
The same holds for evaluated strings that contain subroutines, or
which are currently being executed. The $filename for C<eval>ed strings
-looks like C<(eval 34)> or C<(re_eval 19)>.
+looks like C<(eval 34)> or C<(re_eval 19)>.
=item *
@@ -151,9 +151,9 @@ after the debugger completes its own initialization.)
After the rc file is read, the debugger reads the PERLDB_OPTS
environment variable and uses it to set debugger options. The
contents of this variable are treated as if they were the argument
-of an C<o ...> debugger command (q.v. in L<perldebug/Options>).
+of an C<o ...> debugger command (q.v. in L<perldebug/"Configurable Options">).
-=head3 Debugger internal variables
+=head3 Debugger Internal Variables
In addition to the file and subroutine-related variables mentioned above,
the debugger also maintains various magical internal variables.
@@ -172,7 +172,7 @@ equal to zero only if the line is not breakable.
=item *
-C<%DB::dbline>, is an alias for C<%{"::_<current_file"}>, which
+C<%DB::dbline> is an alias for C<%{"::_<current_file"}>, which
contains breakpoints and actions keyed by line number in
the currently-selected file, either explicitly chosen with the
debugger's C<f> command, or implicitly by flow of execution.
@@ -184,7 +184,7 @@ C<"$break_condition\0$action">.
=back
-=head3 Debugger customization functions
+=head3 Debugger Customization Functions
Some functions are provided to simplify customization.
@@ -257,8 +257,8 @@ with this one, once the C<o>ption C<frame=2> has been set:
By way of demonstration, we present below a laborious listing
resulting from setting your C<PERLDB_OPTS> environment variable to
the value C<f=n N>, and running I<perl -d -V> from the command line.
-Examples use various values of C<n> are shown to give you a feel
-for the difference between settings. Long those it may be, this
+Examples using various values of C<n> are shown to give you a feel
+for the difference between settings. Long though it may be, this
is not a complete listing, but only excerpts.
=over 4
@@ -397,7 +397,7 @@ When a package is compiled, a line like this
is printed with proper indentation.
-=head1 Debugging regular expressions
+=head1 Debugging Regular Expressions
There are two ways to enable debugging output for regular expressions.
@@ -408,7 +408,7 @@ Otherwise, one can C<use re 'debug'>, which has effects at
compile time and run time. Since Perl 5.9.5, this pragma is lexically
scoped.
-=head2 Compile-time output
+=head2 Compile-time Output
The debugging output at compile time looks like this:
@@ -514,7 +514,7 @@ C<(??{ code })>.
=item C<anchored(TYPE)>
-If the pattern may match only at a handful of places, (with C<TYPE>
+If the pattern may match only at a handful of places, with C<TYPE>
being C<BOL>, C<MBOL>, or C<GPOS>. See the table below.
=back
@@ -532,119 +532,240 @@ form of the regex. Each line has format
C< >I<id>: I<TYPE> I<OPTIONAL-INFO> (I<next-id>)
-=head2 Types of nodes
+=head2 Types of Nodes
Here are the possible types, with short descriptions:
- # TYPE arg-description [num-args] [longjump-len] DESCRIPTION
-
- # Exit points
- END no End of program.
- SUCCEED no Return from a subroutine, basically.
-
- # Anchors:
- BOL no Match "" at beginning of line.
- MBOL no Same, assuming multiline.
- SBOL no Same, assuming singleline.
- EOS no Match "" at end of string.
- EOL no Match "" at end of line.
- MEOL no Same, assuming multiline.
- SEOL no Same, assuming singleline.
- BOUND no Match "" at any word boundary
- BOUNDL no Match "" at any word boundary
- NBOUND no Match "" at any word non-boundary
- NBOUNDL no Match "" at any word non-boundary
- GPOS no Matches where last m//g left off.
-
- # [Special] alternatives
- ANY no Match any one character (except newline).
- SANY no Match any one character.
- ANYOF sv Match character in (or not in) this class.
- ALNUM no Match any alphanumeric character
- ALNUML no Match any alphanumeric char in locale
- NALNUM no Match any non-alphanumeric character
- NALNUML no Match any non-alphanumeric char in locale
- SPACE no Match any whitespace character
- SPACEL no Match any whitespace char in locale
- NSPACE no Match any non-whitespace character
- NSPACEL no Match any non-whitespace char in locale
- DIGIT no Match any numeric character
- NDIGIT no Match any non-numeric character
-
- # BRANCH The set of branches constituting a single choice are hooked
- # together with their "next" pointers, since precedence prevents
- # anything being concatenated to any individual branch. The
- # "next" pointer of the last BRANCH in a choice points to the
- # thing following the whole choice. This is also where the
- # final "next" pointer of each individual branch points; each
- # branch starts with the operand node of a BRANCH node.
- #
- BRANCH node Match this alternative, or the next...
-
- # BACK Normal "next" pointers all implicitly point forward; BACK
- # exists to make loop structures possible.
- # not used
- BACK no Match "", "next" ptr points backward.
-
- # Literals
- EXACT sv Match this string (preceded by length).
- EXACTF sv Match this string, folded (prec. by length).
- EXACTFL sv Match this string, folded in locale (w/len).
-
- # Do nothing
- NOTHING no Match empty string.
- # A variant of above which delimits a group, thus stops optimizations
- TAIL no Match empty string. Can jump here from outside.
-
- # STAR,PLUS '?', and complex '*' and '+', are implemented as circular
- # BRANCH structures using BACK. Simple cases (one character
- # per match) are implemented with STAR and PLUS for speed
- # and to minimize recursive plunges.
- #
- STAR node Match this (simple) thing 0 or more times.
- PLUS node Match this (simple) thing 1 or more times.
-
- CURLY sv 2 Match this simple thing {n,m} times.
- CURLYN no 2 Match next-after-this simple thing
- # {n,m} times, set parens.
- CURLYM no 2 Match this medium-complex thing {n,m} times.
- CURLYX sv 2 Match this complex thing {n,m} times.
-
- # This terminator creates a loop structure for CURLYX
- WHILEM no Do curly processing and see if rest matches.
-
- # OPEN,CLOSE,GROUPP ...are numbered at compile time.
- OPEN num 1 Mark this point in input as start of #n.
- CLOSE num 1 Analogous to OPEN.
-
- REF num 1 Match some already matched string
- REFF num 1 Match already matched string, folded
- REFFL num 1 Match already matched string, folded in loc.
-
- # grouping assertions
- IFMATCH off 1 2 Succeeds if the following matches.
- UNLESSM off 1 2 Fails if the following matches.
- SUSPEND off 1 1 "Independent" sub-regex.
- IFTHEN off 1 1 Switch, should be preceded by switcher .
- GROUPP num 1 Whether the group matched.
-
- # Support for long regex
- LONGJMP off 1 1 Jump far away.
- BRANCHJ off 1 1 BRANCH with long offset.
-
- # The heavy worker
- EVAL evl 1 Execute some Perl code.
-
- # Modifiers
- MINMOD no Next operator is not greedy.
- LOGICAL no Next opcode should set the flag only.
-
- # This is not used yet
- RENUM off 1 1 Group with independently numbered parens.
-
- # This is not really a node, but an optimized away piece of a "long" node.
- # To simplify debugging output, we mark it as if it were a node
- OPTIMIZED off Placeholder for dump.
+ # TYPE arg-description [num-args] [longjump-len] DESCRIPTION
+
+ # Exit points
+ END no End of program.
+ SUCCEED no Return from a subroutine, basically.
+
+ # Anchors:
+
+ BOL no Match "" at beginning of line.
+ MBOL no Same, assuming multiline.
+ SBOL no Same, assuming singleline.
+ EOS no Match "" at end of string.
+ EOL no Match "" at end of line.
+ MEOL no Same, assuming multiline.
+ SEOL no Same, assuming singleline.
+ BOUND no Match "" at any word boundary using native charset
+ semantics for non-utf8
+ BOUNDL no Match "" at any locale word boundary
+ BOUNDU no Match "" at any word boundary using Unicode semantics
+ BOUNDA no Match "" at any word boundary using ASCII semantics
+ NBOUND no Match "" at any word non-boundary using native charset
+ semantics for non-utf8
+ NBOUNDL no Match "" at any locale word non-boundary
+ NBOUNDU no Match "" at any word non-boundary using Unicode semantics
+ NBOUNDA no Match "" at any word non-boundary using ASCII semantics
+ GPOS no Matches where last m//g left off.
+
+ # [Special] alternatives:
+
+ REG_ANY no Match any one character (except newline).
+ SANY no Match any one character.
+ CANY no Match any one byte.
+ ANYOF sv Match character in (or not in) this class, single char
+ match only
+ ANYOFV sv Match character in (or not in) this class, can
+ match-multiple chars
+ ALNUM no Match any alphanumeric character using native charset
+ semantics for non-utf8
+ ALNUML no Match any alphanumeric char in locale
+ ALNUMU no Match any alphanumeric char using Unicode semantics
+ ALNUMA no Match [A-Za-z_0-9]
+ NALNUM no Match any non-alphanumeric character using native charset
+ semantics for non-utf8
+ NALNUML no Match any non-alphanumeric char in locale
+ NALNUMU no Match any non-alphanumeric char using Unicode semantics
+ NALNUMA no Match [^A-Za-z_0-9]
+ SPACE no Match any whitespace character using native charset
+ semantics for non-utf8
+ SPACEL no Match any whitespace char in locale
+ SPACEU no Match any whitespace char using Unicode semantics
+ SPACEA no Match [ \t\n\f\r]
+ NSPACE no Match any non-whitespace character using native charset
+ semantics for non-utf8
+ NSPACEL no Match any non-whitespace char in locale
+ NSPACEU no Match any non-whitespace char using Unicode semantics
+ NSPACEA no Match [^ \t\n\f\r]
+ DIGIT no Match any numeric character using native charset semantics
+ for non-utf8
+ DIGITL no Match any numeric character in locale
+ DIGITA no Match [0-9]
+ NDIGIT no Match any non-numeric character using native charset
+ i semantics for non-utf8
+ NDIGITL no Match any non-numeric character in locale
+ NDIGITA no Match [^0-9]
+ CLUMP no Match any extended grapheme cluster sequence
+
+ # Alternation
+
+ # BRANCH The set of branches constituting a single choice are hooked
+ # together with their "next" pointers, since precedence prevents
+ # anything being concatenated to any individual branch. The
+ # "next" pointer of the last BRANCH in a choice points to the
+ # thing following the whole choice. This is also where the
+ # final "next" pointer of each individual branch points; each
+ # branch starts with the operand node of a BRANCH node.
+ #
+ BRANCH node Match this alternative, or the next...
+
+ # Back pointer
+
+ # BACK Normal "next" pointers all implicitly point forward; BACK
+ # exists to make loop structures possible.
+ # not used
+ BACK no Match "", "next" ptr points backward.
+
+ # Literals
+
+ EXACT str Match this string (preceded by length).
+ EXACTF str Match this string, folded, native charset semantics for
+ non-utf8 (prec. by length).
+ EXACTFL str Match this string, folded in locale (w/len).
+ EXACTFU str Match this string, folded, Unicode semantics for non-utf8
+ (prec. by length).
+ EXACTFA str Match this string, folded, Unicode semantics for non-utf8,
+ but no ASCII-range character matches outside ASCII (prec.
+ by length),.
+
+ # Do nothing types
+
+ NOTHING no Match empty string.
+ # A variant of above which delimits a group, thus stops optimizations
+ TAIL no Match empty string. Can jump here from outside.
+
+ # Loops
+
+ # STAR,PLUS '?', and complex '*' and '+', are implemented as circular
+ # BRANCH structures using BACK. Simple cases (one character
+ # per match) are implemented with STAR and PLUS for speed
+ # and to minimize recursive plunges.
+ #
+ STAR node Match this (simple) thing 0 or more times.
+ PLUS node Match this (simple) thing 1 or more times.
+
+ CURLY sv 2 Match this simple thing {n,m} times.
+ CURLYN no 2 Capture next-after-this simple thing
+ CURLYM no 2 Capture this medium-complex thing {n,m} times.
+ CURLYX sv 2 Match this complex thing {n,m} times.
+
+ # This terminator creates a loop structure for CURLYX
+ WHILEM no Do curly processing and see if rest matches.
+
+ # Buffer related
+
+ # OPEN,CLOSE,GROUPP ...are numbered at compile time.
+ OPEN num 1 Mark this point in input as start of #n.
+ CLOSE num 1 Analogous to OPEN.
+
+ REF num 1 Match some already matched string
+ REFF num 1 Match already matched string, folded using native charset
+ semantics for non-utf8
+ REFFL num 1 Match already matched string, folded in loc.
+ REFFU num 1 Match already matched string, folded using unicode
+ semantics for non-utf8
+ REFFA num 1 Match already matched string, folded using unicode
+ semantics for non-utf8, no mixing ASCII, non-ASCII
+
+ # Named references. Code in regcomp.c assumes that these all are after the
+ # numbered references
+ NREF no-sv 1 Match some already matched string
+ NREFF no-sv 1 Match already matched string, folded using native charset
+ semantics for non-utf8
+ NREFFL no-sv 1 Match already matched string, folded in loc.
+ NREFFU num 1 Match already matched string, folded using unicode
+ semantics for non-utf8
+ NREFFA num 1 Match already matched string, folded using unicode
+ semantics for non-utf8, no mixing ASCII, non-ASCII
+
+ IFMATCH off 1 2 Succeeds if the following matches.
+ UNLESSM off 1 2 Fails if the following matches.
+ SUSPEND off 1 1 "Independent" sub-RE.
+ IFTHEN off 1 1 Switch, should be preceded by switcher.
+ GROUPP num 1 Whether the group matched.
+
+ # Support for long RE
+
+ LONGJMP off 1 1 Jump far away.
+ BRANCHJ off 1 1 BRANCH with long offset.
+
+ # The heavy worker
+
+ EVAL evl 1 Execute some Perl code.
+
+ # Modifiers
+
+ MINMOD no Next operator is not greedy.
+ LOGICAL no Next opcode should set the flag only.
+
+ # This is not used yet
+ RENUM off 1 1 Group with independently numbered parens.
+
+ # Trie Related
+
+ # Behave the same as A|LIST|OF|WORDS would. The '..C' variants have
+ # inline charclass data (ascii only), the 'C' store it in the structure.
+ # NOTE: the relative order of the TRIE-like regops is significant
+
+ TRIE trie 1 Match many EXACT(F[ALU]?)? at once. flags==type
+ TRIEC charclass Same as TRIE, but with embedded charclass data
+
+ # For start classes, contains an added fail table.
+ AHOCORASICK trie 1 Aho Corasick stclass. flags==type
+ AHOCORASICKC charclass Same as AHOCORASICK, but with embedded charclass data
+
+ # Regex Subroutines
+ GOSUB num/ofs 2L recurse to paren arg1 at (signed) ofs arg2
+ GOSTART no recurse to start of pattern
+
+ # Special conditionals
+ NGROUPP no-sv 1 Whether the group matched.
+ INSUBP num 1 Whether we are in a specific recurse.
+ DEFINEP none 1 Never execute directly.
+
+ # Backtracking Verbs
+ ENDLIKE none Used only for the type field of verbs
+ OPFAIL none Same as (?!)
+ ACCEPT parno 1 Accepts the current matched string.
+
+
+ # Verbs With Arguments
+ VERB no-sv 1 Used only for the type field of verbs
+ PRUNE no-sv 1 Pattern fails at this startpoint if no-backtracking through this
+ MARKPOINT no-sv 1 Push the current location for rollback by cut.
+ SKIP no-sv 1 On failure skip forward (to the mark) before retrying
+ COMMIT no-sv 1 Pattern fails outright if backtracking through this
+ CUTGROUP no-sv 1 On failure go to the next alternation in the group
+
+ # Control what to keep in $&.
+ KEEPS no $& begins here.
+
+ # New charclass like patterns
+ LNBREAK none generic newline pattern
+ VERTWS none vertical whitespace (Perl 6)
+ NVERTWS none not vertical whitespace (Perl 6)
+ HORIZWS none horizontal whitespace (Perl 6)
+ NHORIZWS none not horizontal whitespace (Perl 6)
+
+ FOLDCHAR codepoint 1 codepoint with tricky case folding properties.
+
+ # SPECIAL REGOPS
+
+ # This is not really a node, but an optimized away piece of a "long" node.
+ # To simplify debugging output, we mark it as if it were a node
+ OPTIMIZED off Placeholder for dump.
+
+ # Special opcode with the property that no opcode in a compiled program
+ # will ever be of this type. Thus it can be used as a flag value that
+ # no other opcode has been seen. END is used similarly, in that an END
+ # node cant be optimized. So END implies "unoptimizable" and PSEUDO mean
+ # "not seen anything to optimize yet".
+ PSEUDO off Pseudo opcode for internal use.
=for unprinted-credits
Next section M-J. Dominus (mjd-perl-patch+@plover.com) 20010421
@@ -676,7 +797,7 @@ is, it corresponds to the C<+> symbol in the precompiled regex.
C<0[0]> items indicate that there is no corresponding node.
-=head2 Run-time output
+=head2 Run-time Output
First of all, when doing a match, one may get no run-time output even
if debugging is enabled. This means that the regex engine was never
@@ -719,7 +840,7 @@ C< >I<STRING-OFFSET> <I<PRE-STRING>> <I<POST-STRING>> |I<ID>: I<TYPE>
The I<TYPE> info is indented with respect to the backtracking level.
Other incidental information appears interspersed within.
-=head1 Debugging Perl memory usage
+=head1 Debugging Perl Memory Usage
Perl is a profligate wastrel when it comes to memory use. There
is a saying that to estimate memory usage of Perl, assume a reasonable
@@ -755,7 +876,7 @@ The B<-DL> command-line switch is obsolete since circa Perl 5.6.0
The switch was used to track Perl's memory allocations and possible
memory leaks. These days the use of malloc debugging tools like
F<Purify> or F<valgrind> is suggested instead. See also
-L<perlhack/PERL_MEM_LOG>.
+L<perlhacktips/PERL_MEM_LOG>.
One way to find out how much memory is being used by Perl data
structures is to install the Devel::Size module from CPAN: it gives
@@ -764,7 +885,7 @@ structure. Please be mindful of the difference between the size()
and total_size().
If Perl has been compiled using Perl's malloc you can analyze Perl
-memory usage by setting the $ENV{PERL_DEBUG_MSTATS}.
+memory usage by setting $ENV{PERL_DEBUG_MSTATS}.
=head2 Using C<$ENV{PERL_DEBUG_MSTATS}>
@@ -812,7 +933,7 @@ would have usable size 8188, and the memory footprint would be 8192.
In a Perl built for debugging, some buckets may have negative usable
size. This means that these buckets cannot (and will not) be used.
For larger buckets, the memory footprint may be one page greater
-than a power of 2. If so, case the corresponding power of two is
+than a power of 2. If so, the corresponding power of two is
printed in the C<APPROX> field above.
=item Free/Used
@@ -830,7 +951,7 @@ were
free: 8 16 32 64 128 256 512 1024 2048 4096 8192
4 12 24 48 80
-With non-C<DEBUGGING> perl, the buckets starting from C<128> have
+With a non-C<DEBUGGING> perl, the buckets starting from C<128> have
a 4-byte overhead, and thus an 8192-long bucket may take up to
8188-byte allocations.
diff --git a/Master/tlpkg/tlperl/lib/pods/perldebtut.pod b/Master/tlpkg/tlperl/lib/pods/perldebtut.pod
index b10f9b4066e..77b86905351 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldebtut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldebtut.pod
@@ -512,7 +512,7 @@ using the list 'L' command:
17: print "$out $deg\n";
break if (1)
-Note that to delete a breakpoint you use 'd' or 'D'.
+Note that to delete a breakpoint you use 'B'.
Now we'll continue down into our subroutine, this time rather than by line
number, we'll use the subroutine name, followed by the now familiar 'v':
diff --git a/Master/tlpkg/tlperl/lib/pods/perldebug.pod b/Master/tlpkg/tlperl/lib/pods/perldebug.pod
index 9e67b4df422..8fbb2312ad4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldebug.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldebug.pod
@@ -9,7 +9,7 @@ First of all, have you tried using the B<-w> switch?
If you're new to the Perl debugger, you may prefer to read
-L<perldebtut>, which is a tutorial introduction to the debugger .
+L<perldebtut>, which is a tutorial introduction to the debugger.
=head1 The Perl Debugger
@@ -54,7 +54,7 @@ function with something that doesn't look like a debugger command, such
as a leading C<;> or perhaps a C<+>, or by wrapping it with parentheses
or braces.
-=head2 Calling the debugger
+=head2 Calling the Debugger
There are several ways to call the debugger:
@@ -388,7 +388,7 @@ Delete all watch-expressions.
=item o
X<debugger command, o>
-Display all options
+Display all options.
=item o booloption ...
X<debugger command, o>
@@ -589,7 +589,7 @@ blessed object, or to a package name.
=item M
X<debugger command, M>
-Displays all loaded modules and their versions
+Display all loaded modules and their versions.
=item man [manpage]
@@ -654,7 +654,7 @@ X<debugger option, dieLevel>
Level of verbosity. By default, the debugger leaves your exceptions
and warnings alone, because altering them can break correctly running
programs. It will attempt to print a message when uncaught INT, BUS, or
-SEGV signals arrive. (But see the mention of signals in L<BUGS> below.)
+SEGV signals arrive. (But see the mention of signals in L</BUGS> below.)
To disable this default safe mode, set these values to something higher
than 0. At a level of 1, you get backtraces upon receiving any kind
@@ -876,7 +876,7 @@ corresponds to F</dev/ttyXX>, say, by issuing a command like
See L<perldebguts/"Debugger Internals"> for details.
-=head2 Debugger input/output
+=head2 Debugger Input/Output
=over 8
@@ -942,7 +942,7 @@ also from I<camel_flea>, but from line 4.
If you execute the C<T> command from inside an active C<use>
statement, the backtrace will contain both a C<require> frame and
-an C<eval>) frame.
+an C<eval> frame.
=item Line Listing Format
@@ -977,12 +977,12 @@ for incredibly long examples of these.
=back
-=head2 Debugging compile-time statements
+=head2 Debugging Compile-Time Statements
If you have compile-time executable statements (such as code within
BEGIN, UNITCHECK and CHECK blocks or C<use> statements), these will
I<not> be stopped by debugger, although C<require>s and INIT blocks
-will, and compile-time statements can be traced with C<AutoTrace>
+will, and compile-time statements can be traced with the C<AutoTrace>
option set in C<PERLDB_OPTS>). From your own Perl code, however, you
can transfer control back to the debugger using the following
statement, which is harmless if the debugger is not running:
@@ -1007,7 +1007,7 @@ compile subname> for the same purpose.
The debugger probably contains enough configuration hooks that you
won't ever have to modify it yourself. You may change the behaviour
-of debugger from within the debugger using its C<o> command, from
+of the debugger from within the debugger using its C<o> command, from
the command line via the C<PERLDB_OPTS> environment variable, and
from customization files.
@@ -1056,13 +1056,13 @@ Note that any variables and functions that are not documented in
this document (or in L<perldebguts>) are considered for internal
use only, and as such are subject to change without notice.
-=head2 Readline Support / History in the debugger
+=head2 Readline Support / History in the Debugger
As shipped, the only command-line history supplied is a simplistic one
that checks for leading exclamation points. However, if you install
the Term::ReadKey and Term::ReadLine modules from CPAN (such as
Term::ReadLine::Gnu, Term::ReadLine::Perl, ...) you will
-have full editing capabilities much like GNU I<readline>(3) provides.
+have full editing capabilities much like those GNU I<readline>(3) provides.
Look for these in the F<modules/by-module/Term> directory on CPAN.
These do not support normal B<vi> command-line editing, however.
@@ -1080,9 +1080,10 @@ it can interact with the Perl debugger to provide an integrated
software development environment reminiscent of its interactions
with C debuggers.
-Perl comes with a start file for making B<emacs> act like a
+Recent versions of Emacs come with a
+start file for making B<emacs> act like a
syntax-directed editor that understands (some of) Perl's syntax.
-Look in the I<emacs> directory of the Perl source distribution.
+See L<perlfaq3>.
A similar setup by Tom Christiansen for interacting with any
vendor-shipped B<vi> and the X11 window system is also available.
@@ -1117,7 +1118,7 @@ interpret the information in that profile. More powerful profilers,
such as C<Devel::NYTProf> are available from the CPAN: see L<perlperf>
for details.
-=head1 Debugging regular expressions
+=head1 Debugging Regular Expressions
X<regular expression, debugging>
X<regex, debugging> X<regexp, debugging>
@@ -1127,15 +1128,15 @@ voluminous output, one must not only have some idea about how regular
expression matching works in general, but also know how Perl's regular
expressions are internally compiled into an automaton. These matters
are explored in some detail in
-L<perldebguts/"Debugging regular expressions">.
+L<perldebguts/"Debugging Regular Expressions">.
-=head1 Debugging memory usage
+=head1 Debugging Memory Usage
X<memory usage>
Perl contains internal support for reporting its own memory usage,
but this is a fairly advanced concept that requires some understanding
of how memory allocation works.
-See L<perldebguts/"Debugging Perl memory usage"> for the details.
+See L<perldebguts/"Debugging Perl Memory Usage"> for the details.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/pods/perldelta.pod b/Master/tlpkg/tlperl/lib/pods/perldelta.pod
index 20d38bb15ca..425708fbb46 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldelta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldelta.pod
@@ -2,82 +2,208 @@
=head1 NAME
-perldelta - what is new for perl v5.12.3
+perldelta - what is new for perl v5.14.2
=head1 DESCRIPTION
-This document describes differences between the 5.12.2 release and
-the 5.12.3 release.
+This document describes differences between the 5.14.1 release and
+the 5.14.2 release.
-If you are upgrading from an earlier release such as 5.12.1, first read
-L<perl5122delta>, which describes differences between 5.12.1 and
-5.12.2. The major changes made in 5.12.0 are described in L<perl5120delta>.
+If you are upgrading from an earlier release such as 5.14.0, first read
+L<perl5141delta>, which describes differences between 5.14.0 and
+5.14.1.
+
+=head1 Core Enhancements
+
+No changes since 5.14.0.
+
+=head1 Security
+
+=head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
+
+Calling C<File::Glob::bsd_glob> with the unsupported flag GLOB_ALTDIRFUNC would
+cause an access violation / segfault. A Perl program that accepts a flags value from
+an external source could expose itself to denial of service or arbitrary code
+execution attacks. There are no known exploits in the wild. The problem has been
+corrected by explicitly disabling all unsupported flags and setting unused function
+pointers to null. Bug reported by Clément Lecigne.
+
+=head2 C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
+
+A bug in C<Encode> could, on certain inputs, cause the heap to overflow.
+This problem has been corrected. Bug reported by Robert Zacek.
=head1 Incompatible Changes
- There are no changes intentionally incompatible with 5.12.2. If any
- exist, they are bugs and reports are welcome.
+There are no changes intentionally incompatible with 5.14.0. If any
+exist, they are bugs and reports are welcome.
-=head1 Core Enhancements
+=head1 Deprecations
-=head2 C<keys>, C<values> work on arrays
+There have been no deprecations since 5.14.0.
-You can now use the C<keys>, C<values>, C<each> builtin functions on arrays
-(previously you could only use them on hashes). See L<perlfunc> for details.
-This is actually a change introduced in perl 5.12.0, but it was missed from
-that release's perldelta.
+=head1 Modules and Pragmata
-=head1 Bug Fixes
+=head2 New Modules and Pragmata
+
+None
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<CPAN> has been upgraded from version 1.9600 to version 1.9600_01.
+
+L<CPAN::Distribution> has been upgraded from version 1.9602 to 1.9602_01.
+
+Backported bugfixes from CPAN version 1.9800. Ensures proper
+detection of C<configure_requires> prerequisites from CPAN Meta files
+in the case where C<dynamic_config> is true. [rt.cpan.org #68835]
+
+Also ensures that C<configure_requires> is only checked in META files,
+not MYMETA files, so protect against MYMETA generation that drops
+C<configure_requires>.
+
+=item *
+
+L<Encode> has been upgraded from version 2.42 to 2.42_01.
+
+See L</Security>.
+
+=item *
+
+L<File::Glob> has been upgraded from version 1.12 to version 1.13.
+
+See L</Security>.
+
+=item *
+
+L<PerlIO::scalar> has been upgraded from version 0.11 to 0.11_01.
+
+It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
+C<$scalar> is a copy-on-write scalar.
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+None
-"no VERSION" will now correctly deparse with B::Deparse, as will certain
-constant expressions.
+=head1 Platform Support
-Module::Build should be more reliably pass its tests under cygwin.
+=head2 New Platforms
-lvalue sub return values are now COW.
+None
-=head1 Platform Specific Notes
+=head2 Discontinued Platforms
+
+None
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item HP-UX PA-RISC/64 now supports gcc-4.x
+
+A fix to correct the socketsize now makes the test suite pass on HP-UX
+PA-RISC for 64bitall builds.
+
+=item Building on OS X 10.7 Lion and Xcode 4 works again
+
+The build system has been updated to work with the build tools under Mac OS X
+10.7.
+
+=back
+
+=head1 Bug Fixes
=over 4
-=item Solaris
+=item *
+
+In @INC filters (subroutines returned by subroutines in @INC), $_ used to
+misbehave: If returned from a subroutine, it would not be copied, but the
+variable itself would be returned; and freeing $_ (e.g., with C<undef *_>)
+would cause perl to crash. This has been fixed [perl #91880].
+
+=item *
+
+Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
+a pack template equivalent to "U0" if the input string was empty. This has
+been fixed [perl #90160].
+
+=item *
-A separate DTrace is now build for miniperl, which means that perl can be
-compiled with -Dusedtrace on Solaris again.
+C<caller> no longer leaks memory when called from the DB package if
+C<@DB::args> was assigned to after the first call to C<caller>. L<Carp>
+was triggering this bug [perl #97010].
-=item VMS
+=item *
+
+C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
+string buffers in place (i.e., skipping the copy). This could result in
+hashes having two elements with the same key [perl #91834].
+
+=item *
+
+Localising a tied variable used to make it read-only if it contained a
+copy-on-write string.
+
+=item *
+
+Elements of restricted hashes (see the L<fields> pragma) containing
+copy-on-write values couldn't be deleted, nor could such hashes be cleared
+(C<%hash = ()>).
+
+=item *
+
+Locking a hash element that is a glob copy no longer causes subsequent
+assignment to it to corrupt the glob.
+
+=item *
+
+A panic involving the combination of the regular expression modifiers
+C</aa> introduced in 5.14.0 and the C<\b> escape sequence has been
+fixed [perl #95964].
+
+=back
+
+=head1 Known Problems
+
+This is a list of some significant unfixed bugs, which are regressions
+from 5.12.0.
+
+=over 4
-A number of regressions on VMS have been fixed. In addition to minor cleanup
-of questionable expressions in F<vms.c>, file permissions should no longer be
-garbled by the PerlIO layer, and spurious record boundaries should no longer be
-introduced by the PerlIO layer during output.
+=item *
-For more details and discussion on the latter, see:
+C<PERL_GLOBAL_STRUCT> is broken.
- http://www.nntp.perl.org/group/perl.vmsperl/2010/11/msg15419.html
+Since perl 5.14.0, building with C<-DPERL_GLOBAL_STRUCT> hasn't been
+possible. This means that perl currently doesn't work on any platforms that
+require it to be built this way, including Symbian.
-=item VOS
+While C<PERL_GLOBAL_STRUCT> now works again on recent development versions of
+perl, it actually working on Symbian again hasn't been verified.
-A few very small changes were made to the build process on VOS to better
-support the platform. Longer-than-32-character filenames are now supported on
-OpenVOS, and build properly without IPv6 support.
+We'd be very interested in hearing from anyone working with Perl on Symbian.
=back
=head1 Acknowledgements
-Perl 5.12.3 represents approximately four months of development since
-Perl 5.12.2 and contains approximately 2500 lines of changes across
-54 files from 16 authors.
+Perl 5.14.2 represents approximately three months of development since
+Perl 5.14.1 and contains approximately 1200 lines of changes
+across 61 files from 9 authors.
Perl continues to flourish into its third decade thanks to a vibrant
community of users and developers. The following people are known to
-have contributed the improvements that became Perl 5.12.3:
+have contributed the improvements that became Perl 5.14.2:
-Craig A. Berry, David Golden, David Leadbeater, Father Chrysostomos, Florian
-Ragwitz, Jesse Vincent, Karl Williamson, Nick Johnston, Nicolas Kaiser, Paul
-Green, Rafael Garcia-Suarez, Rainer Tammer, Ricardo Signes, Steffen Mueller,
-Zsbán Ambrus, Ævar Arnfjörð Bjarmason
+Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, H.Merijn
+Brand, Karl Williamson, Nicholas Clark, Pau Amma and Ricardo Signes.
=head1 Reporting Bugs
@@ -86,7 +212,7 @@ recently posted to the comp.lang.perl.misc newsgroup and the perl
bug database at http://rt.perl.org/perlbug/ . There may also be
information at http://www.perl.org/ , the Perl Home Page.
-If you believe you have an unreported bug, please run the B<perlbug>
+If you believe you have an unreported bug, please run the L<perlbug>
program included with your release. Be sure to trim your bug down
to a tiny but sufficient test case. Your bug report, along with the
output of C<perl -V>, will be sent off to perlbug@perl.org to be
diff --git a/Master/tlpkg/tlperl/lib/pods/perldgux.pod b/Master/tlpkg/tlperl/lib/pods/perldgux.pod
index 8e2cbf15cd3..fd6eaa3baa1 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldgux.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldgux.pod
@@ -102,7 +102,7 @@ Run the command "make install"
=head1 AUTHOR
Takis Psarogiannakopoulos
-Universirty of Cambridge
+University of Cambridge
Centre for Mathematical Sciences
Department of Pure Mathematics
Wilberforce road
diff --git a/Master/tlpkg/tlperl/lib/pods/perldiag.pod b/Master/tlpkg/tlperl/lib/pods/perldiag.pod
index 5d0f503ef36..8f2ad2913f2 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldiag.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldiag.pod
@@ -50,7 +50,7 @@ letter.
to check the return value of your socket() call? See
L<perlfunc/accept>.
-=item Allocation too large: %lx
+=item Allocation too large: %x
(X) You can't allocate more than 64K on an MS-DOS machine.
@@ -89,6 +89,64 @@ C<tr/a-y//>, which was probably not what you would have expected.)
you thought. Normally it's pretty easy to disambiguate it by supplying
a missing quote, operator, parenthesis pair or declaration.
+=item Ambiguous use of %c resolved as operator %c
+
+(W ambiguous) C<%>, C<&>, and C<*> are both infix operators (modulus,
+bitwise and, and multiplication) I<and> initial special characters
+(denoting hashes, subroutines and typeglobs), and you said something
+like C<*foo * foo> that might be interpreted as either of them. We
+assumed you meant the infix operator, but please try to make it more
+clear -- in the example given, you might write C<*foo * foo()> if you
+really meant to multiply a glob by the result of calling a function.
+
+=item Ambiguous use of %c{%s} resolved to %c%s
+
+(W ambiguous) You wrote something like C<@{foo}>, which might be
+asking for the variable C<@foo>, or it might be calling a function
+named foo, and dereferencing it as an array reference. If you wanted
+the varable, you can just write C<@foo>. If you wanted to call the
+function, write C<@{foo()}> ... or you could just not have a variable
+and a function with the same name, and save yourself a lot of trouble.
+
+=item Ambiguous use of %c{%s[...]} resolved to %c%s[...]
+
+=item Ambiguous use of %c{%s{...}} resolved to %c%s{...}
+
+(W ambiguous) You wrote something like C<${foo[2]}> (where foo
+represents the name of a Perl keyword), which might be looking for
+element number 2 of the array named C<@foo>, in which case please write
+C<$foo[2]>, or you might have meant to pass an anonymous arrayref to
+the function named foo, and then do a scalar deref on the value it
+returns. If you meant that, write C<${foo([2])}>.
+
+In regular expressions, the C<${foo[2]}> syntax is sometimes necessary
+to disambiguate between array subscripts and character classes.
+C</$length[2345]/>, for instance, will be interpreted as C<$length>
+followed by the character class C<[2345]>. If an array subscript is what
+you want, you can avoid the warning by changing C</${length[2345]}/>
+to the unsightly C</${\$length[2345]}/>, by renaming your array to
+something that does not coincide with a built-in keyword, or by
+simply turning off warnings with C<no warnings 'ambiguous';>.
+
+=item Ambiguous use of -%s resolved as -&%s()
+
+(W ambiguous) You wrote something like C<-foo>, which might be the
+string C<"-foo">, or a call to the function C<foo>, negated. If you meant
+the string, just write C<"-foo">. If you meant the function call,
+write C<-foo()>.
+
+=item Ambiguous use of 's//le...' resolved as 's// le...'; Rewrite as 's//el' if you meant 'use locale rules and evaluate rhs as an expression'. In Perl 5.16, it will be resolved the other way
+
+(W deprecated, ambiguous) You wrote a pattern match with substitution
+immediately followed by "le". In Perl 5.14 and earlier, this is
+resolved as meaning to take the result of the substitution, and see if
+it is stringwise less-than-or-equal-to what follows in the expression.
+Having the "le" immediately following a pattern is deprecated behavior,
+so in Perl 5.16, this expression will be resolved as meaning to do the
+pattern match using the rules of the current locale, and evaluate the
+rhs as an expression when doing the substitution. In 5.14, if you want
+the latter interpretation, you can simply write "el" instead.
+
=item '|' and '<' may not both be specified on command line
(F) An error peculiar to VMS. Perl does its own command line
@@ -120,13 +178,6 @@ hash) and then work on that scalar value. This is probably not what
you meant to do. See L<perlfunc/grep> and L<perlfunc/map> for
alternatives.
-=item Args must match #! line
-
-(F) The setuid emulator requires that the arguments Perl was invoked
-with match the arguments specified on the #! line. Since some systems
-impose a one-argument limit on the #! line, try combining switches;
-for example, turn C<-w -U> into C<-wU>.
-
=item Arg too short for msgsnd
(F) msgsnd() requires a string at least as long as sizeof(long).
@@ -197,8 +248,8 @@ know which context to supply to the right side.
(W threads)(S) When using threaded Perl, a thread (not necessarily the main
thread) exited while there were still other threads running.
-Usually it's a good idea to first collect the return values of the
-created threads by joining them, and only then exit from the main
+Usually it's a good idea first to collect the return values of the
+created threads by joining them, and only then to exit from the main
thread. See L<threads>.
=item Attempt to access disallowed key '%s' in a restricted hash
@@ -234,7 +285,7 @@ which is not in its key set.
(F) The failing code attempted to delete a key whose value has been
declared readonly from a restricted hash.
-=item Attempt to free non-arena SV: 0x%lx
+=item Attempt to free non-arena SV: 0x%x
(P internal) All SV objects are supposed to be allocated from arenas
that will be garbage collected on exit. An SV was discovered to be
@@ -242,7 +293,7 @@ outside any of those arenas.
=item Attempt to free nonexistent shared string
-(P internal) Perl maintains a reference counted internal table of
+(P internal) Perl maintains a reference-counted internal table of
strings to optimize the storage and access of hash keys and other
strings. This indicates someone tried to decrement the reference count
of a string that can no longer be found in the table.
@@ -308,19 +359,19 @@ dereference it first. See L<perlfunc/substr>.
=item Attribute "locked" is deprecated
-(D deprecated) You have used the attributes pragam to modify the "locked"
+(D deprecated) You have used the attributes pragma to modify the "locked"
attribute on a code reference. The :locked attribute is obsolete, has had no
-effect since 5005 threads were removed, and will be removed in the next major
+effect since 5005 threads were removed, and will be removed in a future
release of Perl 5.
=item Attribute "unique" is deprecated
-(D deprecated) You have used the attributes pragam to modify the "unique"
+(D deprecated) You have used the attributes pragma to modify the "unique"
attribute on an array, hash or scalar reference. The :unique attribute has
-had no effect since Perl 5.8.8, and will be removed in the next major
-release of Perl 5.
+had no effect since Perl 5.8.8, and will be removed in a future release
+of Perl 5.
-=item Bad arg length for %s, is %d, should be %d
+=item Bad arg length for %s, is %u, should be %d
(F) You passed a buffer of the wrong size to one of msgctl(), semctl()
or shmctl(). In C parlance, the correct sizes are, respectively,
@@ -382,7 +433,7 @@ plugin API.
(S malloc) An internal routine called realloc() on something that had
never been malloc()ed in the first place. Mandatory, but can be disabled
-by setting environment variable C<PERL_BADFREE> to 1.
+by setting the environment variable C<PERL_BADFREE> to 1.
=item Bad symbol for array
@@ -469,7 +520,15 @@ check the return value of your socket() call? See L<perlfunc/bind>.
=item binmode() on closed filehandle %s
(W unopened) You tried binmode() on a filehandle that was never opened.
-Check you control flow and number of arguments.
+Check your control flow and number of arguments.
+
+=item "\b{" is deprecated; use "\b\{" instead
+
+=item "\B{" is deprecated; use "\B\{" instead
+
+(W deprecated, regexp) Use of an unescaped "{" immediately following a
+C<\b> or C<\B> is now deprecated so as to reserve its use for Perl
+itself in a future release.
=item Bit vector size > 32 non-portable
@@ -478,7 +537,7 @@ Check you control flow and number of arguments.
=item Bizarre copy of %s in %s
(P) Perl detected an attempt to copy an internal value that is not
-copyable.
+copiable.
=item Buffer overflow in prime_env_iter: %s
@@ -524,7 +583,7 @@ from that type of reference to a typeglob.
=item Cannot copy to %s in %s
(P) Perl detected an attempt to copy a value to an internal type that cannot
-be directly assigned not.
+be directly assigned to.
=item Cannot find encoding "%s"
@@ -551,12 +610,6 @@ a C<given> block. You probably meant to use C<next> or C<last>.
(F) You called C<break>, but you're not inside a C<given> block.
-=item Can't call method "%s" in empty package "%s"
-
-(F) You called a method correctly, and it correctly indicated a package
-functioning as a class, but that package doesn't have ANYTHING defined
-in it, let alone methods. See L<perlobj>.
-
=item Can't call method "%s" on an undefined value
(F) You used the syntax of a method call, but the slot filled by the
@@ -595,13 +648,7 @@ that you can chdir to, possibly because it doesn't exist.
(P) For some reason you can't check the filesystem of the script for
nosuid.
-=item Can't coerce array into hash
-
-(F) You used an array where a hash was expected, but the array has no
-information on how to map from keys to array indices. You can do that
-only with arrays that have a hash reference at index 0.
-
-=item Can't coerce %s to integer in %s
+=item Can't coerce %s to %s in %s
(F) Certain types of SVs, in particular real symbol table entries
(typeglobs), can't be forced to stop being what they are. So you can't
@@ -616,16 +663,6 @@ You CAN say
but then $foo no longer contains a glob.
-=item Can't coerce %s to number in %s
-
-(F) Certain types of SVs, in particular real symbol table entries
-(typeglobs), can't be forced to stop being what they are.
-
-=item Can't coerce %s to string in %s
-
-(F) Certain types of SVs, in particular real symbol table entries
-(typeglobs), can't be forced to stop being what they are.
-
=item Can't "continue" outside a when block
(F) You called C<continue>, but you're not inside a C<when>
@@ -636,12 +673,6 @@ or C<default> block.
(P) An error peculiar to VMS. The process is suffering from exhausted
quotas or other plumbing problems.
-=item Can't declare class for non-scalar %s in "%s"
-
-(F) Currently, only scalar variables can be declared with a specific
-class qualifier in a "my", "our" or "state" declaration. The semantics may be
-extended for other types of variables in future.
-
=item Can't declare %s in "%s"
(F) Only scalar, array, and hash variables may be declared as "my", "our" or
@@ -750,20 +781,22 @@ nesting levels, the following is missing its final parenthesis:
print q(The character '(' starts a side comment.);
-If you're getting this error from a here-document, you may have included
-unseen whitespace before or after your closing tag. A good programmer's
-editor will have a way to help you find these characters.
+If you're getting this error from a here-document, you may have
+included unseen whitespace before or after your closing tag or there
+may not be a linebreak after it. A good programmer's editor will have
+a way to help you find these characters (or lack of characters). See
+L<perlop> for the full details on here-documents.
=item Can't find Unicode property definition "%s"
-(F) You may have tried to use C<\p> which means a Unicode property (for
-example C<\p{Lu}> matches all uppercase letters). If you did mean to use a
-Unicode property, see
+(F) You may have tried to use C<\p> which means a Unicode
+property (for example C<\p{Lu}> matches all uppercase
+letters). If you did mean to use a Unicode property, see
L<perluniprops/Properties accessible through \p{} and \P{}>
-for a complete list of available properties.
-If you didn't mean to use a Unicode property, escape the C<\p>, either
-by C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until
-possible C<\E>).
+for a complete list of available properties. If you didn't
+mean to use a Unicode property, escape the C<\p>, either by C<\\p>
+(just the C<\p>) or by C<\Q\p> (the rest of the string, or
+until C<\E>).
=item Can't fork: %s
@@ -783,12 +816,12 @@ Under VMS, access checks are done by filename, rather than by bits in
the stat buffer, so that ACLs and other protections can be taken into
account. Unfortunately, Perl assumes that the stat buffer contains all
the necessary information, and passes it, instead of the filespec, to
-the access checking routine. It will try to retrieve the filespec using
+the access-checking routine. It will try to retrieve the filespec using
the device name and FID present in the stat buffer, but this works only
if you haven't made a subsequent call to the CRTL stat() routine,
because the device name is overwritten with each call. If this warning
-appears, the name lookup failed, and the access checking routine gave up
-and returned FALSE, just to be conservative. (Note: The access checking
+appears, the name lookup failed, and the access-checking routine gave up
+and returned FALSE, just to be conservative. (Note: The access-checking
routine knows about the Perl C<stat> operator and file tests, so you
shouldn't ever see this warning in response to a Perl command; it arises
only if some internal code takes stat buffers lightly.)
@@ -944,7 +977,7 @@ a NULL.
=item Can't modify non-lvalue subroutine call
(F) Subroutines meant to be used in lvalue context should be declared as
-such, see L<perlsub/"Lvalue subroutines">.
+such. See L<perlsub/"Lvalue subroutines">.
=item Can't msgrcv to read-only var
@@ -971,7 +1004,7 @@ the command line.
=item Can't open a reference
(W io) You tried to open a scalar reference for reading or writing,
-using the 3-arg open() syntax :
+using the 3-arg open() syntax:
open FH, '>', $ref;
@@ -1054,7 +1087,7 @@ to reopen it to accept binary data. Alas, it failed.
(F|P) Error resolving overloading specified by a method name (as opposed
to a subroutine reference): no such method callable via the package. If
-method name is C<???>, this is an internal error.
+the method name is C<???>, this is an internal error.
=item Can't return %s from lvalue subroutine
@@ -1099,11 +1132,6 @@ with Perl, though, if you really want to do that.
however, redefine it while it's running, and you can even undef the
redefined subroutine while the old routine is running. Go figure.
-=item Can't unshift
-
-(F) You tried to unshift an "unreal" array that can't be unshifted, such
-as the main Perl stack.
-
=item Can't upgrade %s (%d) to %d
(P) The internal sv_upgrade routine adds "members" to an SV, making it
@@ -1211,6 +1239,15 @@ references can be weakened.
with an assignment operator, which implies modifying the value itself.
Perhaps you need to copy the value to a temporary, and repeat that.
+=item Character following "\c" must be ASCII
+
+(F|W deprecated, syntax) In C<\cI<X>>, I<X> must be an ASCII character.
+It is planned to make this fatal in all instances in Perl 5.16. In the
+cases where it isn't fatal, the character this evaluates to is
+derived by exclusive or'ing the code point of this character with 0x40.
+
+Note that non-alphabetic ASCII characters are discouraged here as well.
+
=item Character in 'C' format wrapped in pack
(W pack) You said
@@ -1289,6 +1326,21 @@ uses the character values modulus 256 instead, as if you had provided:
unpack("s", "\x{f3}b")
+=item "\c{" is deprecated and is more clearly written as ";"
+
+(D deprecated, syntax) The C<\cI<X>> construct is intended to be a way
+to specify non-printable characters. You used it with a "{" which
+evaluates to ";", which is printable. It is planned to remove the
+ability to specify a semi-colon this way in Perl 5.16. Just use a
+semi-colon or a backslash-semi-colon without the "\c".
+
+=item "\c%c" is more clearly written simply as "%s"
+
+(W syntax) The C<\cI<X>> construct is intended to be a way to specify
+non-printable characters. You used it for a printable one, which is better
+written as simply itself, perhaps preceded by a backslash for non-word
+characters.
+
=item close() on unopened filehandle %s
(W unopened) You tried to close a filehandle that was never opened.
@@ -1298,11 +1350,41 @@ uses the character values modulus 256 instead, as if you had provided:
(W io) The dirhandle you tried to close is either closed or not really
a dirhandle. Check your control flow.
+=item Closure prototype called
+
+(F) If a closure has attributes, the subroutine passed to an attribute
+handler is the prototype that is cloned when a new closure is created.
+This subroutine cannot be called.
+
=item Code missing after '/'
(F) You had a (sub-)template that ends with a '/'. There must be another
template code following the slash. See L<perlfunc/pack>.
+=item Code point 0x%X is not Unicode, may not be portable
+
+=item Code point 0x%X is not Unicode, no properties match it; all inverse properties do
+
+(W utf8, non_unicode) You had a code point above the Unicode maximum of U+10FFFF.
+
+Perl allows strings to contain a superset of Unicode code
+points, up to the limit of what is storable in an unsigned integer on
+your system, but these may not be accepted by other languages/systems.
+At one time, it was legal in some standards to have code points up to
+0x7FFF_FFFF, but not higher. Code points above 0xFFFF_FFFF require
+larger than a 32 bit word.
+
+None of the Unicode or Perl-defined properties will match a non-Unicode
+code point. For example,
+
+ chr(0x7FF_FFFF) =~ /\p{Any}/
+
+will not match, because the code point is not in Unicode. But
+
+ chr(0x7FF_FFFF) =~ /\P{Any}/
+
+will match.
+
=item %s: Command not found
(A) You've accidentally run your script through B<csh> instead of Perl.
@@ -1330,10 +1412,10 @@ on I<Mastering Regular Expressions>.)
(W threads) Within a thread-enabled program, you tried to call
cond_broadcast() on a variable which wasn't locked. The cond_broadcast()
-function is used to wake up another thread that is waiting in a
+function is used to wake up another thread that is waiting in a
cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread to
-first wait for a lock on variable. This lock attempt will only succeed
+has a chance to enter the wait, it is usual for the signaling thread
+first to wait for a lock on variable. This lock attempt will only succeed
after the other thread has entered cond_wait() and thus relinquished the
lock.
@@ -1341,10 +1423,10 @@ lock.
(W threads) Within a thread-enabled program, you tried to call
cond_signal() on a variable which wasn't locked. The cond_signal()
-function is used to wake up another thread that is waiting in a
+function is used to wake up another thread that is waiting in a
cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread to
-first wait for a lock on variable. This lock attempt will only succeed
+has a chance to enter the wait, it is usual for the signaling thread
+first to wait for a lock on variable. This lock attempt will only succeed
after the other thread has entered cond_wait() and thus relinquished the
lock.
@@ -1409,7 +1491,7 @@ expression compiler gave it.
(P) The regular expression engine got passed a regexp program without a
valid magic number.
-=item Corrupt malloc ptr 0x%lx at 0x%lx
+=item Corrupt malloc ptr 0x%x at 0x%x
(P) The malloc package that comes with Perl had an internal failure.
@@ -1441,6 +1523,15 @@ array is empty, just use C<if (@array) { # not empty }> for example.
checks for an undefined I<scalar> value. If you want to see if the hash
is empty, just use C<if (%hash) { # not empty }> for example.
+=item (?(DEFINE)....) does not allow branches in regex; marked by <-- HERE in m/%s/
+
+(F) You used something like C<(?(DEFINE)...|..)> which is illegal. The
+most likely cause of this error is that you left out a parenthesis inside
+of the C<....> part.
+
+The <-- HERE shows in the regular expression about where the problem was
+discovered.
+
=item %s defines neither package nor VERSION--version check failed
(F) You said something like "use Module 42" but in the Module file
@@ -1452,13 +1543,13 @@ there are neither package declarations nor a C<$VERSION>.
long for Perl to handle. You have to be seriously twisted to write code
that triggers this error.
-=item Deprecated character(s) in \\N{...} starting at '%s'
+=item Deprecated character in \N{...}; marked by <-- HERE in \N{%s<-- HERE %s
(D deprecated) Just about anything is legal for the C<...> in C<\N{...}>.
-But starting in 5.12, non-reasonable ones that don't look like names are
-deprecated. A reasonable name begins with an alphabetic character and
-continues with any combination of alphanumerics, dashes, spaces, parentheses or
-colons.
+But starting in 5.12, non-reasonable ones that don't look like names
+are deprecated. A reasonable name begins with an alphabetic character
+and continues with any combination of alphanumerics, dashes, spaces,
+parentheses or colons.
=item Deprecated use of my() in false conditional
@@ -1500,8 +1591,8 @@ do. See L<perlfunc/require>.
=item (Did you mean &%s instead?)
-(W) You probably referred to an imported subroutine &FOO as $FOO or some
-such.
+(W misc) You probably referred to an imported subroutine &FOO as $FOO or
+some such.
=item (Did you mean "local" instead of "our"?)
@@ -1518,7 +1609,7 @@ carried away.
=item Died
(F) You passed die() an empty string (the equivalent of C<die "">) or
-you called it with no args and both C<$@> and C<$_> were empty.
+you called it with no args and C<$@> was empty.
=item Document contains no data
@@ -1614,10 +1705,11 @@ is unsafe. See L<perlre/(?{ code })>, and L<perlsec>.
(F) Perl tried to compile a regular expression containing the
C<(?{ ... })> zero-width assertion at run time, as it would when the
-pattern contains interpolated values. Since that is a security risk, it
-is not allowed. If you insist, you may still do this by explicitly
-building the pattern from an interpolated string at run time and using
-that in an eval(). See L<perlre/(?{ code })>.
+pattern contains interpolated values. Since that is a security risk,
+it is not allowed. If you insist, you may still do this by using the
+C<re 'eval'> pragma or by explicitly building the pattern from an
+interpolated string at run time and using that in an eval(). See
+L<perlre/(?{ code })>.
=item %s: Eval-group not allowed, use re 'eval'
@@ -1642,7 +1734,8 @@ variable and glob that.
=item exec? I'm not *that* kind of operating system
-(F) The C<exec> function is not implemented in MacPerl. See L<perlport>.
+(F) The C<exec> function is not implemented on some systems, e.g., Symbian
+OS. See L<perlport>.
=item Execution of %s aborted due to compilation errors.
@@ -1700,7 +1793,7 @@ in your false range is interpreted as a literal "-". Consider quoting the
"-", "\-". The <-- HERE shows in the regular expression about where the
problem was discovered. See L<perlre>.
-=item Fatal VMS error at %s, line %d
+=item Fatal VMS error (status=%d) at %s, line %d
(P) An error peculiar to VMS. Something untoward happened in a VMS
system service or RTL routine; Perl's exit status should provide more
@@ -1722,7 +1815,7 @@ is not possible.
(W pack) Each line in an uuencoded string start with a length indicator
which can't encode values above 63. So there is no point in asking for
a line length bigger than that. Perl will behave as if you specified
-C<u63> as format.
+C<u63> as the format.
=item Filehandle %s opened only for input
@@ -1735,10 +1828,10 @@ write the file, use ">" or ">>". See L<perlfunc/open>.
(W io) You tried to read from a filehandle opened only for writing, If
you intended it to be a read/write filehandle, you needed to open it
-with "+<" or "+>" or "+>>" instead of with "<" or nothing. If you
-intended only to read from the file, use "<". See L<perlfunc/open>.
-Another possibility is that you attempted to open filedescriptor 0
-(also known as STDIN) for output (maybe you closed STDIN earlier?).
+with "+<" or "+>" or "+>>" instead of with ">". If you intended only to
+read from the file, use "<". See L<perlfunc/open>. Another possibility
+is that you attempted to open filedescriptor 0 (also known as STDIN) for
+output (maybe you closed STDIN earlier?).
=item Filehandle %s reopened as %s only for input
@@ -1852,16 +1945,16 @@ a term, so it's looking for the corresponding right angle bracket, and
not finding it. Chances are you left some needed parentheses out
earlier in the line, and you really meant a "less than".
-=item gmtime(%.0f) too large
+=item gmtime(%f) too large
-(W overflow) You called C<gmtime> with an number that was larger than
+(W overflow) You called C<gmtime> with a number that was larger than
it can reliably handle and C<gmtime> probably returned the wrong
date. This warning is also triggered with nan (the special
not-a-number value).
-=item gmtime(%.0f) too small
+=item gmtime(%f) too small
-(W overflow) You called C<gmtime> with an number that was smaller than
+(W overflow) You called C<gmtime> with a number that was smaller than
it can reliably handle and C<gmtime> probably returned the wrong
date. This warning is also triggered with nan (the special
not-a-number value).
@@ -1878,9 +1971,8 @@ unspecified destination. See L<perlfunc/goto>.
=item ()-group starts with a count
-(F) A ()-group started with a count. A count is
-supposed to follow something: a template character or a ()-group.
- See L<perlfunc/pack>.
+(F) A ()-group started with a count. A count is supposed to follow
+something: a template character or a ()-group. See L<perlfunc/pack>.
=item %s had compilation errors.
@@ -1902,6 +1994,26 @@ spots. This is now heavily deprecated.
(F) The parser has given up trying to parse the program after 10 errors.
Further error messages would likely be uninformative.
+=item Having no space between pattern and following word is deprecated
+
+(D syntax)
+
+You had a word that isn't a regex modifier immediately following a
+pattern without an intervening space. If you are trying to use the C</le>
+flags on a substitution, use C</el> instead. Otherwise, add white space
+between the pattern and following word to eliminate the warning. As an
+example of the latter, the two constructs:
+
+ $a =~ m/$foo/sand $bar
+ $a =~ m/$foo/s and $bar
+
+both currently mean the same thing, but it is planned to disallow the first
+form in Perl 5.16. And,
+
+ $a =~ m/$foo/and $bar
+
+will be disallowed too.
+
=item Hexadecimal number > 0xffffffff non-portable
(W portable) The hexadecimal number you specified is larger than 2**32-1
@@ -1932,7 +2044,7 @@ been used, and the correct charname handler is in scope.
binary number. Interpretation of the binary number stopped before the
offending digit.
-=item Illegal character %s (carriage return)
+=item Illegal character \%o (carriage return)
(F) Perl normally treats carriage returns in the program text as it
would any other whitespace, which means you should never see this error
@@ -1943,7 +2055,7 @@ to your Perl administrator.
=item Illegal character in prototype for %s : %s
(W illegalproto) An illegal character was found in a prototype declaration.
-Legal characters in prototypes are $, @, %, *, ;, [, ], &, and \.
+Legal characters in prototypes are $, @, %, *, ;, [, ], &, \, and +.
=item Illegal declaration of anonymous subroutine
@@ -2067,6 +2179,20 @@ C<$ENV{ENV}>, C<$ENV{BASH_ENV}> or C<$ENV{TERM}> are derived from data
supplied (or potentially supplied) by the user. The script must set
the path to a known value, using trustworthy data. See L<perlsec>.
+=item Insecure user-defined property %s
+
+(F) Perl detected tainted data when trying to compile a regular
+expression that contains a call to a user-defined character property
+function, i.e. C<\p{IsFoo}> or C<\p{InFoo}>.
+See L<perlunicode/User-Defined Character Properties> and L<perlsec>.
+
+
+=item Integer overflow in format string for %s
+
+(F) The indexes and widths specified in the format string of C<printf()>
+or C<sprintf()> are too large. The numbers must not overflow the size of
+integers for your architecture.
+
=item Integer overflow in %s number
(W overflow) The hexadecimal, octal or binary number you have specified
@@ -2079,12 +2205,6 @@ transparently promotes all numbers to a floating point representation
internally--subject to loss of precision errors in subsequent
operations.
-=item Integer overflow in format string for %s
-
-(F) The indexes and widths specified in the format string of C<printf()>
-or C<sprintf()> are too large. The numbers must not overflow the size of
-integers for your architecture.
-
=item Integer overflow in version
(F) Some portion of a version initialization is too large for the
@@ -2124,12 +2244,12 @@ L<perlop/Terms and List Operators (Leftward)>.
=item Invalid %s attribute: %s
-The indicated attribute for a subroutine or variable was not recognized
+(F) The indicated attribute for a subroutine or variable was not recognized
by Perl or by a user-supplied handler. See L<attributes>.
=item Invalid %s attributes: %s
-The indicated attributes for a subroutine or variable were not
+(F) The indicated attributes for a subroutine or variable were not
recognized by Perl or by a user-supplied handler. See L<attributes>.
=item Invalid conversion in %s: "%s"
@@ -2146,11 +2266,18 @@ The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
The <-- HERE shows in the regular expression about where the
escape was discovered.
+=item Invalid hexadecimal number in \N{U+...}
+
+(F) The character constant represented by C<...> is not a valid hexadecimal
+number. Either it is empty, or you tried to use a character other than
+0 - 9 or A - F, a - f in a hexadecimal number.
+
=item Invalid mro name: '%s'
-(F) You tried to C<mro::set_mro("classname", "foo")>
-or C<use mro 'foo'>, where C<foo> is not a valid method resolution order (MRO).
-(Currently, the only valid ones are C<dfs> and C<c3>). See L<mro>.
+(F) You tried to C<mro::set_mro("classname", "foo")> or C<use mro 'foo'>,
+where C<foo> is not a valid method resolution order (MRO). Currently,
+the only valid ones supported are C<dfs> and C<c3>, unless you have loaded
+a module that is a MRO plugin. See L<mro> and L<perlmroapi>.
=item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
@@ -2174,11 +2301,20 @@ See L<attributes>.
=item Invalid separator character %s in PerlIO layer specification %s
-(W layer) When pushing layers onto the Perl I/O system, something other than a
-colon or whitespace was seen between the elements of a layer list.
+(W layer) When pushing layers onto the Perl I/O system, something other
+than a colon or whitespace was seen between the elements of a layer list.
If the previous attribute had a parenthesised parameter list, perhaps that
list was terminated too soon.
+=item Invalid strict version format (%s)
+
+(F) A version number did not meet the "strict" criteria for versions.
+A "strict" version number is a positive decimal number (integer or
+decimal-fraction) without exponentiation or else a dotted-decimal
+v-string with a leading 'v' character and at least three components.
+The parenthesized text indicates which criteria were not met.
+See the L<version> module for more details on allowed version formats.
+
=item Invalid type '%s' in %s
(F) The given character is not a valid pack or unpack type.
@@ -2186,16 +2322,24 @@ See L<perlfunc/pack>.
(W) The given character is not a valid pack or unpack type but used to be
silently ignored.
-=item Invalid version format (multiple underscores)
+=item Invalid version format (%s)
-(F) Versions may contain at most a single underscore, which signals
-that the version is a beta release. See L<version> for the allowed
-version formats.
+(F) A version number did not meet the "lax" criteria for versions.
+A "lax" version number is a positive decimal number (integer or
+decimal-fraction) without exponentiation or else a dotted-decimal
+v-string. If the v-string has fewer than three components, it must
+have a leading 'v' character. Otherwise, the leading 'v' is optional.
+Both decimal and dotted-decimal versions may have a trailing "alpha"
+component separated by an underscore character after a fractional or
+dotted-decimal component. The parenthesized text indicates which
+criteria were not met. See the L<version> module for more details on
+allowed version formats.
-=item Invalid version format (underscores before decimal)
+=item Invalid version object
-(F) Versions may not contain decimals after the optional underscore.
-See L<version> for the allowed version formats.
+(F) The internal structure of the version object was invalid. Perhaps
+the internals were modified directly in some way or an arbitrary reference
+was blessed into the "version" class.
=item ioctl is not implemented
@@ -2205,34 +2349,36 @@ strange for a machine that supports C.
=item ioctl() on unopened %s
(W unopened) You tried ioctl() on a filehandle that was never opened.
-Check you control flow and number of arguments.
+Check your control flow and number of arguments.
=item IO layers (like '%s') unavailable
(F) Your Perl has not been configured to have PerlIO, and therefore
-you cannot use IO layers. To have PerlIO Perl must be configured
+you cannot use IO layers. To have PerlIO, Perl must be configured
with 'useperlio'.
=item IO::Socket::atmark not implemented on this architecture
(F) Your machine doesn't implement the sockatmark() functionality,
-neither as a system call or an ioctl call (SIOCATMARK).
+neither as a system call nor an ioctl call (SIOCATMARK).
=item $* is no longer supported
-(D deprecated, syntax) The special variable C<$*>, deprecated in older perls, has
-been removed as of 5.9.0 and is no longer supported. In previous versions of perl the use of
-C<$*> enabled or disabled multi-line matching within a string.
+(D deprecated, syntax) The special variable C<$*>, deprecated in older
+perls, has been removed as of 5.9.0 and is no longer supported. In
+previous versions of perl the use of C<$*> enabled or disabled multi-line
+matching within a string.
Instead of using C<$*> you should use the C</m> (and maybe C</s>) regexp
-modifiers. (In older versions: when C<$*> was set to a true value then all regular
-expressions behaved as if they were written using C</m>.)
+modifiers. You can enable C</m> for a lexical scope (even a whole file)
+with C<use re '/m'>. (In older versions: when C<$*> was set to a true value
+then all regular expressions behaved as if they were written using C</m>.)
=item $# is no longer supported
-(D deprecated, syntax) The special variable C<$#>, deprecated in older perls, has
-been removed as of 5.9.3 and is no longer supported. You should use the
-printf/sprintf functions instead.
+(D deprecated, syntax) The special variable C<$#>, deprecated in older
+perls, has been removed as of 5.9.3 and is no longer supported. You
+should use the printf/sprintf functions instead.
=item `%s' is not a code reference
@@ -2281,11 +2427,10 @@ an undefined value for the length. See L<perlfunc/pack>.
=item Lexing code attempted to stuff non-Latin-1 character into Latin-1 input
(F) An extension is attempting to insert text into the current parse
-(using L<lex_stuff_pvn_flags|perlapi/lex_stuff_pvn_flags> or similar), but
-tried to insert a character that couldn't be part of the current input.
-This is an inherent pitfall of the stuffing mechanism, and one of the
-reasons to avoid it. Where it is necessary to stuff, stuffing only
-plain ASCII is recommended.
+(using L<lex_stuff_pvn|perlapi/lex_stuff_pvn> or similar), but tried to insert a character
+that couldn't be part of the current input. This is an inherent pitfall
+of the stuffing mechanism, and one of the reasons to avoid it. Where it
+is necessary to stuff, stuffing only plain ASCII is recommended.
=item Lexing code internal error (%s)
@@ -2298,16 +2443,16 @@ detectable way.
to check the return value of your socket() call? See
L<perlfunc/listen>.
-=item localtime(%.0f) too large
+=item localtime(%f) too large
-(W overflow) You called C<localtime> with an number that was larger
+(W overflow) You called C<localtime> with a number that was larger
than it can reliably handle and C<localtime> probably returned the
wrong date. This warning is also triggered with nan (the special
not-a-number value).
-=item localtime(%.0f) too small
+=item localtime(%f) too small
-(W overflow) You called C<localtime> with an number that was smaller
+(W overflow) You called C<localtime> with a number that was smaller
than it can reliably handle and C<localtime> probably returned the
wrong date. This warning is also triggered with nan (the special
not-a-number value).
@@ -2335,9 +2480,9 @@ instead on the filehandle.)
=item lvalue attribute ignored after the subroutine has been defined
(W misc) Making a subroutine an lvalue subroutine after it has been defined
-by declaring the subroutine with a lvalue attribute is not
-possible. To make the the subroutine a lvalue subroutine add the
-lvalue attribute to the definition, or put the the declaration before
+by declaring the subroutine with an lvalue attribute is not
+possible. To make the subroutine an lvalue subroutine add the
+lvalue attribute to the definition, or put the declaration before
the definition.
=item Lvalue subs returning %s not implemented yet
@@ -2346,14 +2491,14 @@ the definition.
values cannot be returned in subroutines used in lvalue context. See
L<perlsub/"Lvalue subroutines">.
-=item Malformed integer in [] in pack
+=item Malformed integer in [] in pack
-(F) Between the brackets enclosing a numeric repeat count only digits
+(F) Between the brackets enclosing a numeric repeat count only digits
are permitted. See L<perlfunc/pack>.
=item Malformed integer in [] in unpack
-(F) Between the brackets enclosing a numeric repeat count only digits
+(F) Between the brackets enclosing a numeric repeat count only digits
are permitted. See L<perlfunc/pack>.
=item Malformed PERLLIB_PREFIX
@@ -2393,37 +2538,29 @@ message.
See also L<Encode/"Handling Malformed Data">.
-=item Malformed UTF-16 surrogate
-
-(F) Perl thought it was reading UTF-16 encoded character data but while
-doing it Perl met a malformed Unicode surrogate.
-
=item Malformed UTF-8 returned by \N
(F) The charnames handler returned malformed UTF-8.
-=item Malformed UTF-8 string in pack
+=item Malformed UTF-8 string in '%c' format in unpack
-(F) You tried to pack something that didn't comply with UTF-8 encoding
+(F) You tried to unpack something that didn't comply with UTF-8 encoding
rules and perl was unable to guess how to make more progress.
-=item Malformed UTF-8 string in unpack
+=item Malformed UTF-8 string in pack
-(F) You tried to unpack something that didn't comply with UTF-8 encoding
+(F) You tried to pack something that didn't comply with UTF-8 encoding
rules and perl was unable to guess how to make more progress.
-=item Malformed UTF-8 string in '%c' format in unpack
+=item Malformed UTF-8 string in unpack
(F) You tried to unpack something that didn't comply with UTF-8 encoding
rules and perl was unable to guess how to make more progress.
-=item Maximal count of pending signals (%d) exceeded
+=item Malformed UTF-16 surrogate
-(F) Perl aborted due to a too high number of signals pending. This
-usually indicates that your operating system tried to deliver signals
-too fast (with a very high priority), starving the perl process from
-resources it would need to reach a point where it can process signals
-safely. (See L<perlipc/"Deferred Signals (Safe Signals)">.)
+(F) Perl thought it was reading UTF-16 encoded character data but while
+doing it Perl met a malformed Unicode surrogate.
=item %s matches null string many times in regex; marked by <-- HERE in m/%s/
@@ -2432,6 +2569,14 @@ regular expression engine didn't specifically check for that. The <-- HERE
shows in the regular expression about where the problem was discovered.
See L<perlre>.
+=item Maximal count of pending signals (%u) exceeded
+
+(F) Perl aborted due to too high a number of signals pending. This
+usually indicates that your operating system tried to deliver signals
+too fast (with a very high priority), starving the perl process from
+resources it would need to reach a point where it can process signals
+safely. (See L<perlipc/"Deferred Signals (Safe Signals)">.)
+
=item "%s" may clash with future reserved word
(W) This warning may be due to running a perl5 script through a perl4
@@ -2477,10 +2622,14 @@ immediately after the switch, without intervening spaces.
=item Missing braces on \N{}
(F) Wrong syntax of character name literal C<\N{charname}> within
-double-quotish context. This can also happen when there is a space (or
-comment) between the C<\N> and the C<{> in a regex with the C</x> modifier.
-This modifier does not change the requirement that the brace immediately follow
-the C<\N>.
+double-quotish context. This can also happen when there is a space
+(or comment) between the C<\N> and the C<{> in a regex with the C</x> modifier.
+This modifier does not change the requirement that the brace immediately
+follow the C<\N>.
+
+=item Missing braces on \o{}
+
+(F) A C<\o> must be followed immediately by a C<{> in double-quotish context.
=item Missing comma after first argument to %s function
@@ -2518,32 +2667,31 @@ can vary from one line to the next.
(F) Missing right brace in C<\x{...}>, C<\p{...}>, C<\P{...}>, or C<\N{...}>.
-=item Missing right brace on \\N{} or unescaped left brace after \\N
+=item Missing right brace on \N{} or unescaped left brace after \N
-(F)
-C<\N> has two meanings.
+(F) C<\N> has two meanings.
-The traditional one has it followed by a name enclosed
-in braces, meaning the character (or sequence of characters) given by that name.
-Thus C<\N{ASTERISK}> is another way of writing C<*>, valid in both
-double-quoted strings and regular expression patterns. In patterns, it doesn't
-have the meaning an unescaped C<*> does.
+The traditional one has it followed by a name enclosed in braces,
+meaning the character (or sequence of characters) given by that
+name. Thus C<\N{ASTERISK}> is another way of writing C<*>, valid in both
+double-quoted strings and regular expression patterns. In patterns,
+it doesn't have the meaning an unescaped C<*> does.
-Starting in Perl 5.12.0, C<\N> also can have an additional meaning (only) in
-patterns, namely to match a non-newline character. (This is short for
-C<[^\n]>, and like C<.> but is not affected by the C</s> regex modifier.)
+Starting in Perl 5.12.0, C<\N> also can have an additional meaning (only)
+in patterns, namely to match a non-newline character. (This is short
+for C<[^\n]>, and like C<.> but is not affected by the C</s> regex modifier.)
-This can lead to some ambiguities. When C<\N> is not followed immediately by a
-left brace, Perl assumes the C<[^\n]> meaning. Also, if
-the braces form a valid quantifier such as C<\N{3}> or C<\N{5,}>, Perl assumes
-that this means to match the given quantity of non-newlines (in these examples,
-3; and 5 or more, respectively). In all other case, where there is a C<\N{>
-and a matching C<}>, Perl assumes that a character name is desired.
+This can lead to some ambiguities. When C<\N> is not followed immediately
+by a left brace, Perl assumes the C<[^\n]> meaning. Also, if the braces
+form a valid quantifier such as C<\N{3}> or C<\N{5,}>, Perl assumes that this
+means to match the given quantity of non-newlines (in these examples,
+3; and 5 or more, respectively). In all other case, where there is a
+C<\N{> and a matching C<}>, Perl assumes that a character name is desired.
-However, if there is no matching C<}>, Perl doesn't know if it was mistakenly
-omitted, or if C<[^\n]{> was desired, and
-raises this error. If you meant the former, add the right brace; if you meant
-the latter, escape the brace with a backslash, like so: C<\N\{>
+However, if there is no matching C<}>, Perl doesn't know if it was
+mistakenly omitted, or if C<[^\n]{> was desired, and raises this error.
+If you meant the former, add the right brace; if you meant the latter,
+escape the brace with a backslash, like so: C<\N\{>
=item Missing right curly or square bracket
@@ -2624,23 +2772,37 @@ See L<perlfunc/pack>.
(F) Lexically scoped subroutines are not yet implemented. Don't try
that yet.
-=item "%s" variable %s can't be in a package
+=item "my" variable %s can't be in a package
(F) Lexically scoped variables aren't in a package, so it doesn't make
sense to try to declare one with a package qualifier on the front. Use
local() if you want to localize a package variable.
-=item \\N in a character class must be a named character: \\N{...}
+=item Name "%s::%s" used only once: possible typo
+
+(W once) Typographical errors often show up as unique variable names.
+If you had a good reason for having a unique name, then just mention it
+again somehow to suppress the message. The C<our> declaration is
+provided for this purpose.
+
+NOTE: This warning detects symbols that have been used only once so $c, @c,
+%c, *c, &c, sub c{}, c(), and c (the filehandle or format) are considered
+the same; if a program uses $c only once but also uses any of the others it
+will not trigger this warning.
+
+=item \N in a character class must be a named character: \N{...}
(F) The new (5.12) meaning of C<\N> as C<[^\n]> is not valid in a bracketed
-character class, for the same reason that C<.> in a character class loses its
-specialness: it matches almost everything, which is probably not what you want.
+character class, for the same reason that C<.> in a character class loses
+its specialness: it matches almost everything, which is probably not
+what you want.
-=item \\N{NAME} must be resolved by the lexer
+=item \N{NAME} must be resolved by the lexer
-(F) When compiling a regex pattern, an unresolved named character or sequence
-was encountered. This can happen in any of several ways that bypass the lexer,
-such as using single-quotish context, or an extra backslash in double quotish:
+(F) When compiling a regex pattern, an unresolved named character or
+sequence was encountered. This can happen in any of several ways that
+bypass the lexer, such as using single-quotish context, or an extra
+backslash in double-quotish:
$re = '\N{SPACE}'; # Wrong!
$re = "\\N{SPACE}"; # Wrong!
@@ -2666,24 +2828,6 @@ C<\N> is separated by spaces from the C<{>, in which case, remove the spaces.
/\N {SPACE}/x; # Wrong!
/\N{SPACE}/x; # ok
-=item Name "%s::%s" used only once: possible typo
-
-(W once) Typographical errors often show up as unique variable names.
-If you had a good reason for having a unique name, then just mention it
-again somehow to suppress the message. The C<our> declaration is
-provided for this purpose.
-
-NOTE: This warning detects symbols that have been used only once so $c, @c,
-%c, *c, &c, sub c{}, c(), and c (the filehandle or format) are considered
-the same; if a program uses $c only once but also uses any of the others it
-will not trigger this warning.
-
-=item Invalid hexadecimal number in \\N{U+...}
-
-(F) The character constant represented by C<...> is not a valid hexadecimal
-number. Either it is empty, or you tried to use a character other than 0 - 9
-or A - F, a - f in a hexadecimal number.
-
=item Negative '/' count in unpack
(F) The length count obtained from a length/code unpack operation was
@@ -2736,7 +2880,7 @@ One possible cause for this is that you expected to have imported a
constant to your name space with B<use> or B<import> while no such
importing took place, it may for example be that your operating system
does not support that particular constant. Hopefully you did use an
-explicit import list for the constants you expect to see, please see
+explicit import list for the constants you expect to see; please see
L<perlfunc/use> and L<perlfunc/import>. While an explicit import list
would probably have caught this error earlier it naturally does not
remedy the fact that your operating system still does not support that
@@ -2753,7 +2897,7 @@ doesn't know where you want to pipe the output from this command.
=item No DB::DB routine defined
(F) The currently executing code was compiled with the B<-d> switch, but
-for some reason the current debugger (e.g. F<perl5db.pl> or a C<Devel::>
+for some reason the current debugger (e.g. F<perl5db.pl> or a C<Devel::>
module) didn't define a routine to be called at the beginning of each
statement.
@@ -2769,10 +2913,6 @@ for some reason the current debugger (e.g. F<perl5db.pl> or a C<Devel::>
module) didn't define a C<DB::sub> routine to be called at the beginning
of each ordinary subroutine call.
-=item No B<-e> allowed in setuid scripts
-
-(F) A setuid script can't be specified by the user.
-
=item No error file after 2> or 2>> on command line
(F) An error peculiar to VMS. Perl handles its own command line
@@ -2790,11 +2930,6 @@ matching counterpart. See L<perlfunc/pack>.
redirection, and found a '<' on the command line, but can't find the
name of the file from which to read data for stdin.
-=item No #! line
-
-(F) The setuid emulator requires that scripts have a well-formed #! line
-even on machines that don't support the #! construct.
-
=item No next::method '%s' found for %s
(F) C<next::method> found no further instances of this method name
@@ -2853,13 +2988,13 @@ package has restricted the set of allowed keys using the L<fields> pragma.
=item No such class %s
-(F) You provided a class qualifier in a "my", "our" or "state" declaration, but
-this class doesn't exist at this point in your program.
+(F) You provided a class qualifier in a "my", "our" or "state"
+declaration, but this class doesn't exist at this point in your program.
=item No such hook: %s
-(F) You specified a signal hook that was not recognized by Perl. Currently, Perl
-accepts C<__DIE__> and C<__WARN__> as valid signal hooks
+(F) You specified a signal hook that was not recognized by Perl.
+Currently, Perl accepts C<__DIE__> and C<__WARN__> as valid signal hooks.
=item No such pipe open
@@ -2904,11 +3039,11 @@ find out what kind of ref it really was. See L<perlref>.
a reference to something else instead. You can use the ref() function
to find out what kind of ref it really was. See L<perlref>.
-=item Not a perl script
+=item Not an unblessed ARRAY reference
-(F) The setuid emulator requires that scripts have a well-formed #! line
-even on machines that don't support the #! construct. The line must
-mention perl.
+(F) You passed a reference to a blessed array to C<push>, C<shift> or
+another array function. These only accept unblessed array references
+or arrays beginning explicitly with C<@>.
=item Not a SCALAR reference
@@ -2951,11 +3086,17 @@ to UTC. If it's not, define the logical name
F<SYS$TIMEZONE_DIFFERENTIAL> to translate to the number of seconds which
need to be added to UTC to get local time.
+=item Non-octal character '%c'. Resolved as "%s"
+
+(W digit) In parsing an octal numeric constant, a character was
+unexpectedly encountered that isn't octal. The resulting value is as
+indicated.
+
=item Non-string passed as bitmask
(W misc) A number has been passed as a bitmask argument to select().
Use the vec() function to construct the file descriptor bitmasks for
-select. See L<perlfunc/select>
+select. See L<perlfunc/select>.
=item Null filename used
@@ -2993,6 +3134,12 @@ versions of Perl are likely to eliminate this arbitrary limitation. In
the meantime, try using scientific notation (e.g. "1e6" instead of
"1_000_000").
+=item Number with no digits
+
+(F) Perl was looking for a number but found nothing that looked like
+a number. This happens, for example with C<\o{}>, with no number between
+the braces.
+
=item Octal number in vector unsupported
(F) Numbers with a leading C<0> are not currently allowed in vectors.
@@ -3005,8 +3152,6 @@ future version.
(4294967295) and therefore non-portable between systems. See
L<perlport> for more on portability concerns.
-See also L<perlport> for writing portable code.
-
=item Odd number of arguments for overload::constant
(W overload) The call to overload::constant contained an odd number of
@@ -3024,7 +3169,7 @@ which is odd, because hashes come in key/value pairs.
=item Offset outside string
-(F, W layer) You tried to do a read/write/send/recv/seek operation
+(F|W layer) You tried to do a read/write/send/recv/seek operation
with an offset pointing outside the buffer. This is difficult to
imagine. The sole exceptions to this are that zero padding will
take place when going past the end of the string when either
@@ -3053,14 +3198,14 @@ that isn't open. Check your control flow. See also L<perlfunc/-X>.
=item Opening dirhandle %s also as a file
-(W io deprecated) You used open() to associate a filehandle to
+(W io, deprecated) You used open() to associate a filehandle to
a symbol (glob or scalar) that already holds a dirhandle.
Although legal, this idiom might render your code confusing
and is deprecated.
=item Opening filehandle %s also as a directory
-(W io deprecated) You used opendir() to associate a dirhandle to
+(W io, deprecated) You used opendir() to associate a dirhandle to
a symbol (glob or scalar) that already holds a filehandle.
Although legal, this idiom might render your code confusing
and is deprecated.
@@ -3070,7 +3215,35 @@ and is deprecated.
(F) An attempt was made to perform an overloaded operation for which no
handler was defined. While some handlers can be autogenerated in terms
of other handlers, there is no default handler for any operation, unless
-C<fallback> overloading key is specified to be true. See L<overload>.
+the C<fallback> overloading key is specified to be true. See L<overload>.
+
+=item Operation "%s" returns its argument for non-Unicode code point 0x%X
+
+(W utf8, non_unicode) You performed an operation requiring Unicode
+semantics on a code
+point that is not in Unicode, so what it should do is not defined. Perl
+has chosen to have it do nothing, and warn you.
+
+If the operation shown is "ToFold", it means that case-insensitive
+matching in a regular expression was done on the code point.
+
+If you know what you are doing you can turn off this warning by
+C<no warnings 'non_unicode';>.
+
+=item Operation "%s" returns its argument for UTF-16 surrogate U+%X
+
+(W utf8, surrogate) You performed an operation requiring Unicode
+semantics on a Unicode
+surrogate. Unicode frowns upon the use of surrogates for anything but
+storing strings in UTF-16, but semantics are (reluctantly) defined for
+the surrogates, and they are to do nothing for this operation. Because
+the use of surrogates can be dangerous, Perl warns.
+
+If the operation shown is "ToFold", it means that case-insensitive
+matching in a regular expression was done on the code point.
+
+If you know what you are doing you can turn off this warning by
+C<no warnings 'surrogate';>.
=item Operator or semicolon missing before %s
@@ -3243,9 +3416,16 @@ failure was caught.
(P) We popped the context stack to a context with the specified label,
and then discovered it wasn't a context we know how to do a goto in.
+=item panic: gp_free failed to free glob pointer
+
+(P) The internal routine used to clear a typeglob's entries tried
+repeatedly, but each time something re-created entries in the glob. Most
+likely the glob contains an object with a reference back to the glob and a
+destructor that adds a new object to the glob.
+
=item panic: hfreeentries failed to free hash
-(P) The internal routine used to clear a hashes entries tried repeatedly,
+(P) The internal routine used to clear a hash's entries tried repeatedly,
but each time something added more entries to the hash. Most likely the hash
contains an object with a reference back to the hash and a destructor that
adds a new object to the hash.
@@ -3369,8 +3549,8 @@ was string.
=item panic: unimplemented op %s (#%d) called
-(P) The compiler is screwed up and attempted to use an op that isn't permitted
-at run time.
+(P) The compiler is screwed up and attempted to use an op that isn't
+permitted at run time.
=item panic: utf16_to_utf8: odd bytelen
@@ -3386,6 +3566,11 @@ to even) byte length.
(P) The lexer got into a bad state while processing a case modifier.
+=item Parsing code internal error (%s)
+
+(F) Parsing code supplied by an extension violated the parser's API in
+a detectable way.
+
=item Pattern subroutine nesting without pos change exceeded limit in regex; marked by <-- HERE in m/%s/
(F) You used a pattern that uses too many nested subpattern calls without
@@ -3419,6 +3604,15 @@ redirected it with select().)
"Can't locate object method \"%s\" via package \"%s\"". It often means
that a method requires a package that has not been loaded.
+=item Perl folding rules are not up-to-date for 0x%x; please use the perlbug utility to report
+
+(W regex, deprecated) You used a regular expression with
+case-insensitive matching, and there is a bug in Perl in which the
+built-in regular expression folding rules are not accurate. This may
+lead to incorrect results. Please report this as a bug using the
+"perlbug" utility. (This message is marked deprecated, so that it by
+default will be turned-on.)
+
=item Perl_my_%s() not available
(F) Your platform has very uncommon byte-order and integer size,
@@ -3426,13 +3620,6 @@ so it was not possible to set up some or all fixed-width byte-order
conversion functions. This is only a problem when you're using the
'<' or '>' modifiers in (un)pack templates. See L<perlfunc/pack>.
-=item Perl_pmflag() is deprecated, and will be removed from the XS API
-
-(D deprecated) XS code called the C function C<Perl_pmflag>. This was part of
-Perl's listed public API for extending or embedding the perl interpreter. It has
-now been removed from the public API, and will be removed in a future release,
-hence XS code should be re-written not to use it.
-
=item Perl %s required--this is only version %s, stopped
(F) The module in question uses features of a version of Perl more
@@ -3465,9 +3652,9 @@ This error means that Perl detected that you and/or your operating
system supplier and/or system administrator have set up the so-called
locale system but Perl could not use those settings. This was not
dead serious, fortunately: there is a "default locale" called "C" that
-Perl can and will use, the script will be run. Before you really fix
-the problem, however, you will get the same error message each time
-you run Perl. How to really fix the problem can be found in
+Perl can and will use, and the script will be run. Before you really
+fix the problem, however, you will get the same error message each
+time you run Perl. How to really fix the problem can be found in
L<perllocale> section B<LOCALE PROBLEMS>.
=item pid %x not a child
@@ -3584,13 +3771,6 @@ higher precedence of C<==>. This is probably not what you want. (If you
really meant to write this, disable the warning, or, better, put the
parentheses explicitly and write C<$x & ($y == 0)>).
-=item Possible unintended interpolation of %s in string
-
-(W ambiguous) You said something like `@foo' in a double-quoted string
-but there was no array C<@foo> in scope at the time. If you wanted a
-literal @foo, then write it as \@foo; otherwise find out what happened
-to the array you apparently lost track of.
-
=item Possible unintended interpolation of $\ in regex
(W ambiguous) You said something like C<m/$\/> in a regex.
@@ -3605,6 +3785,13 @@ If instead you intended to match the word 'foo' at the end of the line
followed by whitespace and the word 'bar' on the next line then you can use
C<m/$(?)\/> (for example: C<m/foo$(?)\s+bar/>).
+=item Possible unintended interpolation of %s in string
+
+(W ambiguous) You said something like `@foo' in a double-quoted string
+but there was no array C<@foo> in scope at the time. If you wanted a
+literal @foo, then write it as \@foo; otherwise find out what happened
+to the array you apparently lost track of.
+
=item Precedence problem: open %s should be open(%s)
(S precedence) The old irregular construct
@@ -3657,6 +3844,30 @@ declared or defined with a different function prototype.
(F) You've omitted the closing parenthesis in a function prototype
definition.
+=item \p{} uses Unicode rules, not locale rules
+
+(W) You compiled a regular expression that contained a Unicode property
+match (C<\p> or C<\P>), but the regular expression is also being told to
+use the run-time locale, not Unicode. Instead, use a POSIX character
+class, which should know about the locale's rules.
+(See L<perlrecharclass/POSIX Character Classes>.)
+
+Even if the run-time locale is ISO 8859-1 (Latin1), which is a subset of
+Unicode, some properties will give results that are not valid for that
+subset.
+
+Here are a couple of examples to help you see what's going on. If the
+locale is ISO 8859-7, the character at code point 0xD7 is the "GREEK
+CAPITAL LETTER CHI". But in Unicode that code point means the
+"MULTIPLICATION SIGN" instead, and C<\p> always uses the Unicode
+meaning. That means that C<\p{Alpha}> won't match, but C<[[:alpha:]]>
+should. Only in the Latin1 locale are all the characters in the same
+positions as they are in Unicode. But, even here, some properties give
+incorrect results. An example is C<\p{Changes_When_Uppercased}> which
+is true for "LATIN SMALL LETTER Y WITH DIAERESIS", but since the upper
+case of that character is not in Latin1, in that locale it doesn't
+change when upper cased.
+
=item Quantifier follows nothing in regex; marked by <-- HERE in m/%s/
(F) You started a regular expression with a quantifier. Backslash it if you
@@ -3705,7 +3916,7 @@ before now. Check your control flow.
(W unopened) You tried to read from a filehandle that was never opened.
-=item Reallocation too large: %lx
+=item Reallocation too large: %x
(F) You can't allocate more than 64K on an MS-DOS machine.
@@ -3726,11 +3937,14 @@ which is why it's currently left out of your copy.
believes it found an infinite loop in the C<@ISA> hierarchy. This is a
crude check that bails out after 100 levels of C<@ISA> depth.
-=item Recursive inheritance detected while looking for method %s
+=item refcnt_dec: fd %d%s
-(F) More than 100 levels of inheritance were encountered while invoking
-a method. Probably indicates an unintended loop in your inheritance
-hierarchy.
+=item refcnt: fd %d%s
+
+=item refcnt_inc: fd %d%s
+
+(P) Perl's I/O implementation failed an internal consistency check. If
+you see this message, something is very wrong.
=item Reference found where even-sized list expected
@@ -3752,30 +3966,21 @@ Doing so has no effect.
=item Reference miscount in sv_replace()
(W internal) The internal sv_replace() function was handed a new SV with
-a reference count of other than 1.
+a reference count other than 1.
=item Reference to invalid group 0
(F) You used C<\g0> or similar in a regular expression. You may refer to
capturing parentheses only with strictly positive integers (normal
backreferences) or with strictly negative integers (relative
-backreferences), but using 0 does not make sense.
+backreferences). Using 0 does not make sense.
=item Reference to nonexistent group in regex; marked by <-- HERE in m/%s/
(F) You used something like C<\7> in your regular expression, but there are
-not at least seven sets of capturing parentheses in the expression. If you
-wanted to have the character with value 7 inserted into the regular expression,
-prepend a zero to make the number at least two digits: C<\07>
-
-The <-- HERE shows in the regular expression about where the problem was
-discovered.
-
-=item Reference to nonexistent or unclosed group in regex; marked by <-- HERE in m/%s/
-
-(F) You used something like C<\g{-7}> in your regular expression, but there are
-not at least seven sets of closed capturing parentheses in the expression before
-where the C<\g{-7}> was located.
+not at least seven sets of capturing parentheses in the expression. If
+you wanted to have the character with ordinal 7 inserted into the regular
+expression, prepend zeroes to make it three digits long: C<\007>
The <-- HERE shows in the regular expression about where the problem was
discovered.
@@ -3783,18 +3988,18 @@ discovered.
=item Reference to nonexistent named group in regex; marked by <-- HERE in m/%s/
(F) You used something like C<\k'NAME'> or C<< \k<NAME> >> in your regular
-expression, but there is no corresponding named capturing parentheses such
-as C<(?'NAME'...)> or C<(?<NAME>...). Check if the name has been spelled
-correctly both in the backreference and the declaration.
+expression, but there is no corresponding named capturing parentheses
+such as C<(?'NAME'...)> or C<< (?<NAME>...) >>. Check if the name has been
+spelled correctly both in the backreference and the declaration.
The <-- HERE shows in the regular expression about where the problem was
discovered.
-=item (?(DEFINE)....) does not allow branches in regex; marked by <-- HERE in m/%s/
+=item Reference to nonexistent or unclosed group in regex; marked by <-- HERE in m/%s/
-(F) You used something like C<(?(DEFINE)...|..)> which is illegal. The
-most likely cause of this error is that you left out a parenthesis inside
-of the C<....> part.
+(F) You used something like C<\g{-7}> in your regular expression, but there
+are not at least seven sets of closed capturing parentheses in the
+expression before where the C<\g{-7}> was located.
The <-- HERE shows in the regular expression about where the problem was
discovered.
@@ -3804,6 +4009,26 @@ discovered.
(P) The regular expression engine got confused by what the regular
expression compiler gave it.
+=item Regexp modifier "/%c" may appear a maximum of twice
+
+=item Regexp modifier "/%c" may not appear twice
+
+(F syntax, regexp) The regular expression pattern had too many occurrences
+of the specified modifier. Remove the extraneous ones.
+
+=item Regexp modifier "%c" may not appear after the "-"
+
+(F regexp) Turning off the given modifier has the side effect of turning
+on another one. Perl currently doesn't allow this. Reword the regular
+expression to use the modifier you want to turn on (and place it before
+the minus), instead of the one you want to turn off.
+
+=item Regexp modifiers "/%c" and "/%c" are mutually exclusive
+
+(F syntax, regexp) The regular expression pattern had more than one of these
+mutually exclusive modifiers. Retain only the modifier that is
+supposed to be there.
+
=item Regexp out of space
(P) A "can't happen" error, because safemalloc() should have caught it
@@ -3824,7 +4049,7 @@ are meaningless.
=item Reversed %s= operator
(W syntax) You wrote your assignment operator backwards. The = must
-always comes last, to avoid ambiguity with subsequent unary operators.
+always come last, to avoid ambiguity with subsequent unary operators.
=item rewinddir() attempted on invalid dirhandle %s
@@ -3889,16 +4114,16 @@ C<foo ? 0 : 1>) leading to some ambiguous constructions being wrongly
parsed. One way to disambiguate the parsing is to put parentheses around
the conditional expression, i.e. C<(foo) ? 0 : 1>.
-=item %sseek() on unopened filehandle
-
-(W unopened) You tried to use the seek() or sysseek() function on a
-filehandle that was either never opened or has since been closed.
-
=item seekdir() attempted on invalid dirhandle %s
(W io) The dirhandle you are doing a seekdir() on is either closed or not
really a dirhandle. Check your control flow.
+=item %sseek() on unopened filehandle
+
+(W unopened) You tried to use the seek() or sysseek() function on a
+filehandle that was either never opened or has since been closed.
+
=item select not implemented
(F) This machine doesn't implement the select() system call.
@@ -3943,9 +4168,12 @@ where the problem was discovered. See L<perlre>.
(F) You used a regular expression extension that doesn't make sense. The
<-- HERE shows in the regular expression about where the problem was
-discovered. See L<perlre>.
+discovered. This happens when using the C<(?^...)> construct to tell
+Perl to use the default regular expression modifiers, and you
+redundantly specify a default modifier. For other
+causes, see L<perlre>.
-=item Sequence \\%s... not terminated in regex; marked by <-- HERE in m/%s/
+=item Sequence \%s... not terminated in regex; marked by <-- HERE in m/%s/
(F) The regular expression expects a mandatory argument following the escape
sequence and this has been omitted or incorrectly written.
@@ -3959,18 +4187,18 @@ L<perlre>.
=item Sequence (?{...}) not terminated or not {}-balanced in regex; marked by <-- HERE in m/%s/
-(F) If the contents of a (?{...}) clause contains braces, they must balance
-for Perl to properly detect the end of the clause. The <-- HERE shows in
+(F) If the contents of a (?{...}) clause contain braces, they must balance
+for Perl to detect the end of the clause properly. The <-- HERE shows in
the regular expression about where the problem was discovered. See
L<perlre>.
-=item 500 Server error
+=item Z<>500 Server error
See Server error.
=item Server error
-This is the error message generally seen in a browser window when trying
+(A) This is the error message generally seen in a browser window when trying
to run a CGI program (including SSI) over the web. The actual error text
varies widely from server to server. The most frequently-seen variants
are "500 Server error", "Method (something) not permitted", "Document
@@ -4028,16 +4256,6 @@ didn't think so.
forget to check the return value of your socket() call? See
L<perlfunc/setsockopt>.
-=item Setuid/gid script is writable by world
-
-(F) The setuid emulator won't run a script that is writable by the
-world, because the world might have written on it already.
-
-=item Setuid script not plain file
-
-(F) The setuid emulator won't run a script that isn't read from a file,
-but from a socket, a pipe or another device.
-
=item shm%s not implemented
(F) You don't have System V shared memory IPC on your system.
@@ -4108,6 +4326,12 @@ unless there was a failure. You probably wanted to use system()
instead, which does return. To suppress this warning, put the exec() in
a block by itself.
+=item "state" variable %s can't be in a package
+
+(F) Lexically scoped variables aren't in a package, so it doesn't make
+sense to try to declare one with a package qualifier on the front. Use
+local() if you want to localize a package variable.
+
=item stat() on unopened filehandle %s
(W unopened) You tried to use the stat() function on a filehandle that
@@ -4157,7 +4381,7 @@ assignment or as a subroutine argument for example).
=item sv_upgrade from type %d down to type %d
-(P) Perl tried to force the upgrade an SV to a type which was actually
+(P) Perl tried to force the upgrade of an SV to a type which was actually
inferior to its current type.
=item Switch (?(condition)... contains too many branches in regex; marked by <-- HERE in m/%s/
@@ -4174,16 +4398,16 @@ discovered. See L<perlre>.
=item Switch condition not recognized in regex; marked by <-- HERE in m/%s/
-(F) If the argument to the (?(...)if-clause|else-clause) construct is a
-number, it can be only a number. The <-- HERE shows in the regular expression
-about where the problem was discovered. See L<perlre>.
+(F) If the argument to the (?(...)if-clause|else-clause) construct is
+a number, it can be only a number. The <-- HERE shows in the regular
+expression about where the problem was discovered. See L<perlre>.
=item switching effective %s is not implemented
(F) While under the C<use filetest> pragma, we cannot switch the real
and effective uids or gids.
-=item %s syntax
+=item %s syntax OK
(F) The final summary message when a C<perl -c> succeeds.
@@ -4251,16 +4475,16 @@ know about your kind of stdio. You'll have to use a filename instead.
(F) You tried to use C<goto> to reach a label that was too deeply nested
for Perl to reach. Perl is doing you a favor by refusing.
-=item tell() on unopened filehandle
-
-(W unopened) You tried to use the tell() function on a filehandle that
-was either never opened or has since been closed.
-
=item telldir() attempted on invalid dirhandle %s
(W io) The dirhandle you tried to telldir() is either closed or not really
a dirhandle. Check your control flow.
+=item tell() on unopened filehandle
+
+(W unopened) You tried to use the tell() function on a filehandle that
+was either never opened or has since been closed.
+
=item That use of $[ is unsupported
(F) Assignment to C<$[> is now strictly circumscribed, and interpreted
@@ -4286,7 +4510,7 @@ will deny it.
=item The %s function is unimplemented
-The function indicated isn't implemented on this architecture, according
+(F) The function indicated isn't implemented on this architecture, according
to the probings of Configure.
=item The stat preceding %s wasn't an lstat
@@ -4425,6 +4649,11 @@ certain type. Arrays must be @NAME or C<@{EXPR}>. Hashes must be
%NAME or C<%{EXPR}>. No implicit dereferencing is allowed--use the
{EXPR} forms as an explicit dereference. See L<perlref>.
+=item Type of argument to %s must be unblessed hashref or arrayref
+
+(F) You called C<keys>, C<values> or C<each> with a scalar argument that
+was not a reference to an unblessed hash or array.
+
=item umask not implemented
(F) Your machine doesn't implement the umask function and you tried to
@@ -4500,16 +4729,25 @@ Check the #! line, or manually feed your script into Perl yourself.
(F) The unexec() routine failed for some reason. See your local FSF
representative, who probably put it there in the first place.
-=item Unicode non-character %s is illegal for interchange
+=item Unicode non-character U+%X is illegal for open interchange
-(W utf8) Certain codepoints, such as U+FFFE and U+FFFF, are defined by the
+(W utf8, nonchar) Certain codepoints, such as U+FFFE and U+FFFF, are
+defined by the
Unicode standard to be non-characters. Those are legal codepoints, but are
reserved for internal use; so, applications shouldn't attempt to exchange
-them. In some cases, this message is also given if you use a codepoint that
-isn't in Unicode--that is it is above the legal maximum of U+10FFFF. These
-aren't legal at all in Unicode, so they are illegal for interchange, but can be
-used internally in a Perl program. If you know what you are doing you can turn
-off this warning by C<no warnings 'utf8';>.
+them. If you know what you are doing you can turn
+off this warning by C<no warnings 'nonchar';>.
+
+=item Unicode surrogate U+%X is illegal in UTF-8
+
+(W utf8, surrogate) You had a UTF-16 surrogate in a context where they are
+not considered acceptable. These code points, between U+D800 and
+U+DFFF (inclusive), are used by Unicode only for UTF-16. However, Perl
+internally allows all unsigned integer code points (up to the size limit
+available on your platform), including surrogates. But these can cause
+problems when being input or output, which is likely where this message
+came from. If you really really know what you are doing you can turn
+off this warning by C<no warnings 'surrogate';>.
=item Unknown BYTEORDER
@@ -4540,45 +4778,50 @@ subvert Perl's population of %ENV for nefarious purposes.
=item Unknown "re" subpragma '%s' (known ones are: %s)
-You tried to use an unknown subpragma of the "re" pragma.
+(W) You tried to use an unknown subpragma of the "re" pragma.
-=item Unknown switch condition (?(%.2s in regex; marked by <-- HERE in m/%s/
+=item Unknown switch condition (?(%s in regex; marked by <-- HERE in m/%s/
(F) The condition part of a (?(condition)if-clause|else-clause) construct
-is not known. The condition may be lookahead or lookbehind (the condition
-is true if the lookahead or lookbehind is true), a (?{...}) construct (the
-condition is true if the code evaluates to a true value), or a number (the
-condition is true if the set of capturing parentheses named by the number
-matched).
+is not known. The condition must be one of the following:
+
+ (1) (2) ... true if 1st, 2nd, etc., capture matched
+ (<NAME>) ('NAME') true if named capture matched
+ (?=...) (?<=...) true if subpattern matches
+ (?!...) (?<!...) true if subpattern fails to match
+ (?{ CODE }) true if code returns a true value
+ (R) true if evaluating inside recursion
+ (R1) (R2) ... true if directly inside capture group 1, 2, etc.
+ (R&NAME) true if directly inside named capture
+ (DEFINE) always false; for defining named subpatterns
The <-- HERE shows in the regular expression about where the problem was
discovered. See L<perlre>.
=item Unknown Unicode option letter '%c'
-You specified an unknown Unicode option. See L<perlrun> documentation
+(F) You specified an unknown Unicode option. See L<perlrun> documentation
of the C<-C> switch for the list of known options.
=item Unknown Unicode option value %x
-You specified an unknown Unicode option. See L<perlrun> documentation
+(F) You specified an unknown Unicode option. See L<perlrun> documentation
of the C<-C> switch for the list of known options.
-=item Unknown warnings category '%s'
-
-(F) An error issued by the C<warnings> pragma. You specified a warnings
-category that is unknown to perl at this point.
-
-Note that if you want to enable a warnings category registered by a module
-(e.g. C<use warnings 'File::Find'>), you must have imported this module
-
=item Unknown verb pattern '%s' in regex; marked by <-- HERE in m/%s/
(F) You either made a typo or have incorrectly put a C<*> quantifier
after an open brace in your pattern. Check the pattern and review
L<perlre> for details on legal verb patterns.
-first.
+=item Unknown warnings category '%s'
+
+(F) An error issued by the C<warnings> pragma. You specified a warnings
+category that is unknown to perl at this point.
+
+Note that if you want to enable a warnings category registered by a
+module (e.g. C<use warnings 'File::Find'>), you must have loaded this
+module first.
=item unmatched [ in regex; marked by <-- HERE in m/%s/
@@ -4614,7 +4857,7 @@ subroutine.
in your Perl script (or eval) near the specified column. Perhaps you tried
to run a compressed script, a binary program, or a directory as a Perl program.
-=item Unrecognized escape \\%c in character class passed through in regex; marked by <-- HERE in m/%s/
+=item Unrecognized escape \%c in character class passed through in regex; marked by <-- HERE in m/%s/
(W regexp) You used a backslash-character combination which is not
recognized by Perl inside character classes. The character was
@@ -4622,16 +4865,16 @@ understood literally, but this may change in a future version of Perl.
The <-- HERE shows in the regular expression about where the
escape was discovered.
-=item Unrecognized escape \\%c passed through
+=item Unrecognized escape \%c passed through
(W misc) You used a backslash-character combination which is not
recognized by Perl. The character was understood literally, but this may
change in a future version of Perl.
-=item Unrecognized escape \\%c passed through in regex; marked by <-- HERE in m/%s/
+=item Unrecognized escape \%s passed through in regex; marked by <-- HERE in m/%s/
(W regexp) You used a backslash-character combination which is not
-recognized by Perl. The character was understood literally, but this may
+recognized by Perl. The character(s) were understood literally, but this may
change in a future version of Perl.
The <-- HERE shows in the regular expression about where the
escape was discovered.
@@ -4701,16 +4944,6 @@ character to get your parentheses to balance. See L<attributes>.
compressed integer format and could not be converted to an integer.
See L<perlfunc/pack>.
-=item Unterminated verb pattern in regex; marked by <-- HERE in m/%s/
-
-(F) You used a pattern of the form C<(*VERB)> but did not terminate
-the pattern with a C<)>. Fix the pattern and retry.
-
-=item Unterminated verb pattern argument in regex; marked by <-- HERE in m/%s/
-
-(F) You used a pattern of the form C<(*VERB:ARG)> but did not terminate
-the pattern with a C<)>. Fix the pattern and retry.
-
=item Unterminated \g{...} pattern in regex; marked by <-- HERE in m/%s/
(F) You missed a close brace on a \g{..} pattern (group reference) in
@@ -4723,6 +4956,16 @@ a term, so it's looking for the corresponding right angle bracket, and
not finding it. Chances are you left some needed parentheses out
earlier in the line, and you really meant a "less than".
+=item Unterminated verb pattern argument in regex; marked by <-- HERE in m/%s/
+
+(F) You used a pattern of the form C<(*VERB:ARG)> but did not terminate
+the pattern with a C<)>. Fix the pattern and retry.
+
+=item Unterminated verb pattern in regex; marked by <-- HERE in m/%s/
+
+(F) You used a pattern of the form C<(*VERB)> but did not terminate
+the pattern with a C<)>. Fix the pattern and retry.
+
=item untie attempted while %d inner references still exist
(W untie) A copy of the object returned from C<tie> (or C<tied>) was
@@ -4880,13 +5123,15 @@ modifier is not presently meaningful in substitutions.
use the /g modifier. Currently, /c is meaningful only when /g is
used. (This may change in the future.)
-=item Use of := for an empty attribute list is deprecated
+=item Use of := for an empty attribute list is not allowed
+
+(F) The construction C<my $x := 42> used to parse as equivalent to
+C<my $x : = 42> (applying an empty attribute list to C<$x>).
+This construct was deprecated in 5.12.0, and has now been made a syntax
+error, so C<:=> can be reclaimed as a new operator in the future.
-(D deprecated) The construction C<my $x := 42> currently
-parses correctly in perl, being equivalent to C<my $x : = 42>
-(applying an empty attribute list to C<$x>). This useless
-construct is now deprecated, so C<:=> can be reclaimed as a new
-operator in the future.
+If you need an empty attribute list, for example in a code generator, add
+a space before the C<=>.
=item Use of freed value in iteration
@@ -4919,11 +5164,11 @@ scope is deprecated and should be avoided.
=item Use of inherited AUTOLOAD for non-method %s() is deprecated
-(D deprecated) As an (ahem) accidental feature, C<AUTOLOAD> subroutines
-are looked up as methods (using the C<@ISA> hierarchy) even when the
-subroutines to be autoloaded were called as plain functions (e.g.
-C<Foo::bar()>), not as methods (e.g. C<< Foo->bar() >> or C<<
-$obj->bar() >>).
+(D deprecated) As an (ahem) accidental feature, C<AUTOLOAD>
+subroutines are looked up as methods (using the C<@ISA> hierarchy)
+even when the subroutines to be autoloaded were called as plain
+functions (e.g. C<Foo::bar()>), not as methods (e.g. C<< Foo->bar() >> or
+C<< $obj->bar() >>).
This bug will be rectified in future by using method lookup only for
methods' C<AUTOLOAD>s. However, there is a significant base of existing
@@ -4941,15 +5186,6 @@ In code that currently says C<use AutoLoader; @ISA = qw(AutoLoader);>
you should remove AutoLoader from @ISA and change C<use AutoLoader;> to
C<use AutoLoader 'AUTOLOAD';>.
-=item Use of octal value above 377 is deprecated
-
-(D deprecated, W regexp) There is a constant in the regular expression whose
-value is interpeted by Perl as octal and larger than 377 (255 decimal, 0xFF
-hex). Perl may take this to mean different things depending on the rest of
-the regular expression. If you meant such an octal value, convert it to
-hexadecimal and use C<\xHH> or C<\x{HH}> instead. If you meant to have
-part of it mean a backreference, use C<\g> for that. See L<perlre>.
-
=item Use of %s in printf format not supported
(F) You attempted to use a feature of printf that is accessible from
@@ -4967,12 +5203,37 @@ old way has bad side effects.
it already went past any symlink you are presumably trying to look for.
The operation returned C<undef>. Use a filename instead.
-=item Use of "package" with no arguments is deprecated
+=item Use of %s on a handle without * is deprecated
-(D deprecated) You used the C<package> keyword without specifying a package
-name. So no namespace is current at all. Using this can cause many
-otherwise reasonable constructs to fail in baffling ways. C<use strict;>
-instead.
+(D deprecated) You used C<tie>, C<tied> or C<untie> on a scalar but that
+scalar happens to hold a typeglob, which means its filehandle will
+be tied. If you mean to tie a handle, use an explicit * as in
+C<tie *$handle>.
+
+This is a long-standing bug that will be removed in Perl 5.16, as
+there is currently no way to tie the scalar itself when it holds
+a typeglob, and no way to untie a scalar that has had a typeglob
+assigned to it.
+
+=item Use of ?PATTERN? without explicit operator is deprecated
+
+(D deprecated) You have written something like C<?\w?>, for a regular
+expression that matches only once. Starting this term directly with
+the question mark delimiter is now deprecated, so that the question mark
+will be available for use in new operators in the future. Write C<m?\w?>
+instead, explicitly using the C<m> operator: the question mark delimiter
+still invokes match-once behaviour.
+
+=item Use of qw(...) as parentheses is deprecated
+
+(D deprecated) You have something like C<foreach $x qw(a b c) {...}>,
+using a C<qw(...)> list literal where a parenthesised expression is
+expected. Historically the parser fooled itself into thinking that
+C<qw(...)> literals were always enclosed in parentheses, and as a result
+you could sometimes omit parentheses around them. (You could never do
+the C<foreach qw(a b c) {...}> that you might have expected, though.)
+The parser no longer lies to itself in this way. Wrap the list literal
+in parentheses, like C<foreach $x (qw(a b c)) {...}>.
=item Use of reference "%s" as array index
@@ -4982,8 +5243,8 @@ to be huge numbers, and so usually indicates programmer error.
If you really do mean it, explicitly numify your reference, like so:
C<$array[0+$ref]>. This warning is not given for overloaded objects,
-either, because you can overload the numification and stringification
-operators and then you assumably know what you are doing.
+however, because you can overload the numification and stringification
+operators and then you presumably know what you are doing.
=item Use of reserved word "%s" is deprecated
@@ -5036,23 +5297,32 @@ removed in a future version.
Currently all but the first one are discarded when used in a regular
expression pattern bracketed character class.
-=item Using just the first characters returned by \N{}
+=item Using !~ with %s doesn't make sense
+
+(F) Using the C<!~> operator with C<s///r>, C<tr///r> or C<y///r> is
+currently reserved for future use, as the exact behaviour has not
+been decided. (Simply returning the boolean opposite of the
+modified string is usually not particularly useful.)
+
+=item User-defined case-mapping '%s' is deprecated
-(W) A charnames handler may return a sequence of characters. There is a finite
-limit as to the number of characters that can be used, which this sequence
-exceeded. In the message, the characters in the sequence are separated by
-dots, and each is shown by its ordinal in hex. Anything to the left of the
-C<HERE> was retained; anything to the right was discarded.
+(W deprecated) You defined a function, such as C<ToLower> that overrides
+the standard case mapping, such as C<lc()> gives. This feature is being
+deprecated due to its many issues, as documented in
+L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
+It is planned to remove this feature in Perl 5.16. A CPAN module
+providing improved functionality is being prepared.
-=item UTF-16 surrogate %s
+=item UTF-16 surrogate U+%X
-(W utf8) You tried to generate half of a UTF-16 surrogate by
-requesting a Unicode character between the code points 0xD800 and
-0xDFFF (inclusive). That range is reserved exclusively for the use of
-UTF-16 encoding (by having two 16-bit UCS-2 characters); but Perl
-encodes its characters in UTF-8, so what you got is a very illegal
-character. If you really really know what you are doing you can turn off
-this warning by C<no warnings 'utf8';>.
+(W utf8, surrogate) You had a UTF-16 surrogate in a context where they are
+not considered acceptable. These code points, between U+D800 and
+U+DFFF (inclusive), are used by Unicode only for UTF-16. However, Perl
+internally allows all unsigned integer code points (up to the size limit
+available on your platform), including surrogates. But these can cause
+problems when being input or output, which is likely where this message
+came from. If you really really know what you are doing you can turn
+off this warning by C<no warnings 'surrogate';>.
=item Value of %s can be "0"; test with defined()
@@ -5102,8 +5372,8 @@ executed, so its $a is not available for capture.
=item Variable "%s" is not imported%s
-(F) While "use strict" in effect, you referred to a global variable that
-you apparently thought was imported from another module, because
+(W misc) With "use strict" in effect, you referred to a global variable
+that you apparently thought was imported from another module, because
something else of the same name (usually a subroutine) is exported by
that module. It usually means you put the wrong funny character on the
front of your variable.
@@ -5115,11 +5385,11 @@ known at compile time. See L<perlre>.
=item "%s" variable %s masks earlier declaration in same %s
-(W misc) A "my", "our" or "state" variable has been redeclared in the current
-scope or statement, effectively eliminating all access to the previous
-instance. This is almost always a typographical error. Note that the
-earlier variable will still exist until the end of the scope or until
-all closure referents to it are destroyed.
+(W misc) A "my", "our" or "state" variable has been redeclared in the
+current scope or statement, effectively eliminating all access to the
+previous instance. This is almost always a typographical error. Note
+that the earlier variable will still exist until the end of the scope
+or until all closure referents to it are destroyed.
=item Variable syntax
@@ -5209,7 +5479,7 @@ filehandle with an encoding, see L<open> and L<perlfunc/binmode>.
(F) The count in the (un)pack template may be replaced by C<[TEMPLATE]> only if
C<TEMPLATE> always matches the same amount of packed bytes that can be
-determined from the template alone. This is not possible if it contains an
+determined from the template alone. This is not possible if it contains any
of the codes @, /, U, u, w or a *-length. Redesign the template.
=item write() on closed filehandle %s
@@ -5217,9 +5487,9 @@ of the codes @, /, U, u, w or a *-length. Redesign the template.
(W closed) The filehandle you're writing to got itself closed sometime
before now. Check your control flow.
-=item %s "\x%s" does not map to Unicode
+=item %s "\x%X" does not map to Unicode
-When reading in different encodings Perl tries to map everything
+(F) When reading in different encodings Perl tries to map everything
into Unicode characters. The bytes you read in are not legal in
this encoding, for example
diff --git a/Master/tlpkg/tlperl/lib/pods/perldoc.pod b/Master/tlpkg/tlperl/lib/pods/perldoc.pod
index 883a6184603..7a609590349 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldoc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldoc.pod
@@ -80,7 +80,7 @@ Consider arguments as file names; no search in directories will be performed.
=item B<-f> I<perlfunc>
-The B<-f> option followed by the name of a perl built in function will
+The B<-f> option followed by the name of a perl built-in function will
extract the documentation of this function from L<perlfunc>.
Example:
@@ -160,7 +160,7 @@ You can use C<-w optionname> (without a value) as shorthand for
C<-w optionname:I<TRUE>>. This is presumably useful in cases of on/off
features like: C<-w page_numbering>.
-You can use a "=" instead of the ":", as in: C<-w textsize=15>. This
+You can use an "=" instead of the ":", as in: C<-w textsize=15>. This
might be more (or less) convenient, depending on what shell you use.
=item B<-X>
@@ -172,12 +172,12 @@ qualified filenames, one per line.
=item B<-L> I<language_code>
-This allows to specify the I<language code> for desired language translation.
-If C<POD2::E<lt>language_codeE<gt>> package doesn't exist (or isn't installed
-in your system), the switch will be ignored.
-All available translation packages should be found under the C<POD2::>
-namespace. See L<POD2::IT> (or L<POD2::FR>) in order to see how to create and
-integrate new localized C<POD2::*> pod documentation packages in
+This allows one to specify the I<language code> for the desired language
+translation. If the C<POD2::E<lt>language_codeE<gt>> package isn't
+installed in your system, the switch is ignored.
+All available translation packages are to be found under the C<POD2::>
+namespace. See L<POD2::IT> (or L<POD2::FR>) to see how to create new
+localized C<POD2::*> documentation packages and integrate them into
L<Pod::Perldoc>.
=item B<PageName|ModuleName|ProgramName>
@@ -226,7 +226,7 @@ command line arguments.
Useful values for C<PERLDOC> include C<-oman>, C<-otext>, C<-otk>, C<-ortf>,
C<-oxml>, and so on, depending on what modules you have on hand; or
-exactly specify the formatter class with C<-MPod::Perldoc::ToMan>
+the formatter class may be specified exactly with C<-MPod::Perldoc::ToMan>
or the like.
C<perldoc> also searches directories
diff --git a/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod b/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod
index f17891237a0..6affdd7b8aa 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod
@@ -1,3 +1,5 @@
+=encoding utf8
+
=head1 NAME
perlebcdic - Considerations for running Perl on EBCDIC platforms
@@ -6,7 +8,7 @@ perlebcdic - Considerations for running Perl on EBCDIC platforms
An exploration of some of the issues facing Perl programmers
on EBCDIC based computers. We do not cover localization,
-internationalization, or multi byte character set issues other
+internationalization, or multi-byte character set issues other
than some discussion of UTF-8 and UTF-EBCDIC.
Portions that are still incomplete are marked with XXX.
@@ -24,7 +26,7 @@ set of
integers running from 0 to 127 (decimal) that imply character
interpretation by the display and other systems of computers.
The range 0..127 can be covered by setting the bits in a 7-bit binary
-digit, hence the set is sometimes referred to as a "7-bit ASCII".
+digit, hence the set is sometimes referred to as "7-bit ASCII".
ASCII was described by the American National Standards Institute
document ANSI X3.4-1986. It was also described by ISO 646:1991
(with localization for currency symbols). The full ASCII set is
@@ -61,10 +63,10 @@ also known as CCSID 819 (or sometimes 0819 or even 00819).
=head2 EBCDIC
The Extended Binary Coded Decimal Interchange Code refers to a
-large collection of single and multi byte coded character sets that are
+large collection of single- and multi-byte coded character sets that are
different from ASCII or ISO 8859-1 and are all slightly different from each
other; they typically run on host computers. The EBCDIC encodings derive from
-8 bit byte extensions of Hollerith punched card encodings. The layout on the
+8-bit byte extensions of Hollerith punched card encodings. The layout on the
cards was such that high bits were set for the upper and lower case alphabet
characters [a-z] and [A-Z], but there were gaps within each Latin alphabet
range.
@@ -122,8 +124,8 @@ The problem is: which code points to use for code points less than 256?
In EBCDIC, for the low 256 the EBCDIC code points are used. This
means that the equivalences
- pack("U", ord($character)) eq $character
- unpack("U", $character) == ord $character
+ pack("U", ord($character)) eq $character
+ unpack("U", $character) == ord $character
will hold. (If Unicode code points were applied consistently over
all the possible code points, pack("U",ord("A")) would in EBCDIC
@@ -180,23 +182,23 @@ to translate from EBCDIC to Latin-1 code points.
Encode knows about more EBCDIC character sets than Perl can currently
be compiled to run on.
- use Encode 'from_to';
+ use Encode 'from_to';
- my %ebcdic = ( 176 => 'cp37', 95 => 'cp1047', 106 => 'posix-bc' );
+ my %ebcdic = ( 176 => 'cp37', 95 => 'cp1047', 106 => 'posix-bc' );
- # $a is in EBCDIC code points
- from_to($a, $ebcdic{ord '^'}, 'latin1');
- # $a is ISO 8859-1 code points
+ # $a is in EBCDIC code points
+ from_to($a, $ebcdic{ord '^'}, 'latin1');
+ # $a is ISO 8859-1 code points
and from Latin-1 code points to EBCDIC code points
- use Encode 'from_to';
+ use Encode 'from_to';
- my %ebcdic = ( 176 => 'cp37', 95 => 'cp1047', 106 => 'posix-bc' );
+ my %ebcdic = ( 176 => 'cp37', 95 => 'cp1047', 106 => 'posix-bc' );
- # $a is ISO 8859-1 code points
- from_to($a, 'latin1', $ebcdic{ord '^'});
- # $a is in EBCDIC code points
+ # $a is ISO 8859-1 code points
+ from_to($a, 'latin1', $ebcdic{ord '^'});
+ # $a is in EBCDIC code points
For doing I/O it is suggested that you use the autotranslating features
of PerlIO, see L<perluniintro>.
@@ -237,7 +239,7 @@ s/CAPITAL LETTER// in some cases, and s/SMALL LETTER ([A-Z])/\l$1/
in some other cases. The "names" of the controls listed here are
the Unicode Version 1 names, except for the few that don't have names, in which
case the names in the Wikipedia article were used
-(L<http://en.wikipedia.org/wiki/C0_and_C1_control_codes>.
+(L<http://en.wikipedia.org/wiki/C0_and_C1_control_codes>).
The differences between the 0037 and 1047 sets are
flagged with ***. The differences between the 1047 and POSIX-BC sets
are flagged with ###. All ord() numbers listed are decimal. If you
@@ -252,7 +254,8 @@ work with a pod2_other_format translation) through:
=back
perl -ne 'if(/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/)' \
- -e '{printf("%s%-9o%-9o%-9o%o\n",$1,$2,$3,$4,$5)}' perlebcdic.pod
+ -e '{printf("%s%-9.03o%-9.03o%-9.03o%.03o\n",$1,$2,$3,$4,$5)}' \
+ perlebcdic.pod
If you want to retain the UTF-x code points then in script form you
might want to write:
@@ -263,20 +266,25 @@ might want to write:
=back
- open(FH,"<perlebcdic.pod") or die "Could not open perlebcdic.pod: $!";
- while (<FH>) {
- if (/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/) {
- if ($7 ne '' && $9 ne '') {
- printf("%s%-9o%-9o%-9o%-9o%-3o.%-5o%-3o.%o\n",$1,$2,$3,$4,$5,$6,$7,$8,$9);
- }
- elsif ($7 ne '') {
- printf("%s%-9o%-9o%-9o%-9o%-3o.%-5o%o\n",$1,$2,$3,$4,$5,$6,$7,$8);
- }
- else {
- printf("%s%-9o%-9o%-9o%-9o%-9o%o\n",$1,$2,$3,$4,$5,$6,$8);
- }
- }
- }
+ open(FH,"<perlebcdic.pod") or die "Could not open perlebcdic.pod: $!";
+ while (<FH>) {
+ if (/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/)
+ {
+ if ($7 ne '' && $9 ne '') {
+ printf(
+ "%s%-9.03o%-9.03o%-9.03o%-9.03o%-3o.%-5o%-3o.%.03o\n",
+ $1,$2,$3,$4,$5,$6,$7,$8,$9);
+ }
+ elsif ($7 ne '') {
+ printf("%s%-9.03o%-9.03o%-9.03o%-9.03o%-3o.%-5o%.03o\n",
+ $1,$2,$3,$4,$5,$6,$7,$8);
+ }
+ else {
+ printf("%s%-9.03o%-9.03o%-9.03o%-9.03o%-9.03o%.03o\n",
+ $1,$2,$3,$4,$5,$6,$8);
+ }
+ }
+ }
If you would rather see this table listing hexadecimal values then
run the table through:
@@ -288,7 +296,8 @@ run the table through:
=back
perl -ne 'if(/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/)' \
- -e '{printf("%s%-9X%-9X%-9X%X\n",$1,$2,$3,$4,$5)}' perlebcdic.pod
+ -e '{printf("%s%-9.02X%-9.02X%-9.02X%.02X\n",$1,$2,$3,$4,$5)}' \
+ perlebcdic.pod
Or, in order to retain the UTF-x code points in hexadecimal:
@@ -298,20 +307,25 @@ Or, in order to retain the UTF-x code points in hexadecimal:
=back
- open(FH,"<perlebcdic.pod") or die "Could not open perlebcdic.pod: $!";
- while (<FH>) {
- if (/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/) {
- if ($7 ne '' && $9 ne '') {
- printf("%s%-9X%-9X%-9X%-9X%-2X.%-6X%-2X.%X\n",$1,$2,$3,$4,$5,$6,$7,$8,$9);
- }
- elsif ($7 ne '') {
- printf("%s%-9X%-9X%-9X%-9X%-2X.%-6X%X\n",$1,$2,$3,$4,$5,$6,$7,$8);
- }
- else {
- printf("%s%-9X%-9X%-9X%-9X%-9X%X\n",$1,$2,$3,$4,$5,$6,$8);
- }
- }
- }
+ open(FH,"<perlebcdic.pod") or die "Could not open perlebcdic.pod: $!";
+ while (<FH>) {
+ if (/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/)
+ {
+ if ($7 ne '' && $9 ne '') {
+ printf(
+ "%s%-9.02X%-9.02X%-9.02X%-9.02X%-2X.%-6.02X%02X.%02X\n",
+ $1,$2,$3,$4,$5,$6,$7,$8,$9);
+ }
+ elsif ($7 ne '') {
+ printf("%s%-9.02X%-9.02X%-9.02X%-9.02X%-2X.%-6.02X%02X\n",
+ $1,$2,$3,$4,$5,$6,$7,$8);
+ }
+ else {
+ printf("%s%-9.02X%-9.02X%-9.02X%-9.02X%-9.02X%02X\n",
+ $1,$2,$3,$4,$5,$6,$8);
+ }
+ }
+ }
ISO 8859-1 CCSID CCSID CCSID 1047
@@ -583,7 +597,8 @@ ASCII + Latin-1 order then run the table through:
=back
- perl -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
+ perl \
+ -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
-e '{push(@l,$_)}' \
-e 'END{print map{$_->[0]}' \
-e ' sort{$a->[1] <=> $b->[1]}' \
@@ -598,11 +613,12 @@ If you would rather see it in CCSID 1047 order then change the number
=back
- perl -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
- -e '{push(@l,$_)}' \
- -e 'END{print map{$_->[0]}' \
- -e ' sort{$a->[1] <=> $b->[1]}' \
- -e ' map{[$_,substr($_,61,3)]}@l;}' perlebcdic.pod
+ perl \
+ -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
+ -e '{push(@l,$_)}' \
+ -e 'END{print map{$_->[0]}' \
+ -e ' sort{$a->[1] <=> $b->[1]}' \
+ -e ' map{[$_,substr($_,61,3)]}@l;}' perlebcdic.pod
If you would rather see it in POSIX-BC order then change the number
61 in the last line to 70, like this:
@@ -613,7 +629,8 @@ If you would rather see it in POSIX-BC order then change the number
=back
- perl -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
+ perl \
+ -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
-e '{push(@l,$_)}' \
-e 'END{print map{$_->[0]}' \
-e ' sort{$a->[1] <=> $b->[1]}' \
@@ -656,7 +673,7 @@ However, it would be unwise to write tests such as:
Obviously the first of these will fail to distinguish most ASCII platforms
from either a CCSID 0037, a 1047, or a POSIX-BC EBCDIC platform since "\r" eq
chr(13) under all of those coded character sets. But note too that
-because "\n" is chr(13) and "\r" is chr(10) on the MacIntosh (which is an
+because "\n" is chr(13) and "\r" is chr(10) on the Macintosh (which is an
ASCII platform) the second C<$is_ascii> test will lead to trouble there.
To determine whether or not perl was built under an EBCDIC
@@ -672,44 +689,49 @@ code page you can use the Config module like so:
In order to convert a string of characters from one character set to
another a simple list of numbers, such as in the right columns in the
above table, along with perl's tr/// operator is all that is needed.
-The data in the table are in ASCII order hence the EBCDIC columns
-provide easy to use ASCII to EBCDIC operations that are also easily
+The data in the table are in ASCII/Latin1 order, hence the EBCDIC columns
+provide easy-to-use ASCII/Latin1 to EBCDIC operations that are also easily
reversed.
-For example, to convert ASCII to code page 037 take the output of the second
-column from the output of recipe 0 (modified to add \\ characters) and use
-it in tr/// like so:
+For example, to convert ASCII/Latin1 to code page 037 take the output of the
+second numbers column from the output of recipe 2 (modified to add '\'
+characters) and use it in tr/// like so:
$cp_037 =
- '\000\001\002\003\234\011\206\177\227\215\216\013\014\015\016\017' .
- '\020\021\022\023\235\205\010\207\030\031\222\217\034\035\036\037' .
- '\200\201\202\203\204\012\027\033\210\211\212\213\214\005\006\007' .
- '\220\221\026\223\224\225\226\004\230\231\232\233\024\025\236\032' .
- '\040\240\342\344\340\341\343\345\347\361\242\056\074\050\053\174' .
- '\046\351\352\353\350\355\356\357\354\337\041\044\052\051\073\254' .
- '\055\057\302\304\300\301\303\305\307\321\246\054\045\137\076\077' .
- '\370\311\312\313\310\315\316\317\314\140\072\043\100\047\075\042' .
- '\330\141\142\143\144\145\146\147\150\151\253\273\360\375\376\261' .
- '\260\152\153\154\155\156\157\160\161\162\252\272\346\270\306\244' .
- '\265\176\163\164\165\166\167\170\171\172\241\277\320\335\336\256' .
- '\136\243\245\267\251\247\266\274\275\276\133\135\257\250\264\327' .
- '\173\101\102\103\104\105\106\107\110\111\255\364\366\362\363\365' .
- '\175\112\113\114\115\116\117\120\121\122\271\373\374\371\372\377' .
- '\134\367\123\124\125\126\127\130\131\132\262\324\326\322\323\325' .
- '\060\061\062\063\064\065\066\067\070\071\263\333\334\331\332\237' ;
+ '\x00\x01\x02\x03\x37\x2D\x2E\x2F\x16\x05\x25\x0B\x0C\x0D\x0E\x0F' .
+ '\x10\x11\x12\x13\x3C\x3D\x32\x26\x18\x19\x3F\x27\x1C\x1D\x1E\x1F' .
+ '\x40\x5A\x7F\x7B\x5B\x6C\x50\x7D\x4D\x5D\x5C\x4E\x6B\x60\x4B\x61' .
+ '\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\x7A\x5E\x4C\x7E\x6E\x6F' .
+ '\x7C\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xD1\xD2\xD3\xD4\xD5\xD6' .
+ '\xD7\xD8\xD9\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xBA\xE0\xBB\xB0\x6D' .
+ '\x79\x81\x82\x83\x84\x85\x86\x87\x88\x89\x91\x92\x93\x94\x95\x96' .
+ '\x97\x98\x99\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xC0\x4F\xD0\xA1\x07' .
+ '\x20\x21\x22\x23\x24\x15\x06\x17\x28\x29\x2A\x2B\x2C\x09\x0A\x1B' .
+ '\x30\x31\x1A\x33\x34\x35\x36\x08\x38\x39\x3A\x3B\x04\x14\x3E\xFF' .
+ '\x41\xAA\x4A\xB1\x9F\xB2\x6A\xB5\xBD\xB4\x9A\x8A\x5F\xCA\xAF\xBC' .
+ '\x90\x8F\xEA\xFA\xBE\xA0\xB6\xB3\x9D\xDA\x9B\x8B\xB7\xB8\xB9\xAB' .
+ '\x64\x65\x62\x66\x63\x67\x9E\x68\x74\x71\x72\x73\x78\x75\x76\x77' .
+ '\xAC\x69\xED\xEE\xEB\xEF\xEC\xBF\x80\xFD\xFE\xFB\xFC\xAD\xAE\x59' .
+ '\x44\x45\x42\x46\x43\x47\x9C\x48\x54\x51\x52\x53\x58\x55\x56\x57' .
+ '\x8C\x49\xCD\xCE\xCB\xCF\xCC\xE1\x70\xDD\xDE\xDB\xDC\x8D\x8E\xDF';
my $ebcdic_string = $ascii_string;
- eval '$ebcdic_string =~ tr/' . $cp_037 . '/\000-\377/';
+ eval '$ebcdic_string =~ tr/\000-\377/' . $cp_037 . '/';
To convert from EBCDIC 037 to ASCII just reverse the order of the tr///
arguments like so:
my $ascii_string = $ebcdic_string;
- eval '$ascii_string =~ tr/\000-\377/' . $cp_037 . '/';
+ eval '$ascii_string =~ tr/' . $cp_037 . '/\000-\377/';
+
+Similarly one could take the output of the third numbers column from recipe 2
+to obtain a C<$cp_1047> table. The fourth numbers column of the output from
+recipe 2 could provide a C<$cp_posix_bc> table suitable for transcoding as
+well.
-Similarly one could take the output of the third column from recipe 0 to
-obtain a C<$cp_1047> table. The fourth column of the output from recipe
-0 could provide a C<$cp_posix_bc> table suitable for transcoding as well.
+If you wanted to see the inverse tables, you would first have to sort on the
+desired numbers column as in recipes 4, 5 or 6, then take the output of the
+first numbers column.
=head2 iconv
@@ -728,11 +750,11 @@ or the inverse map:
# OS/390 or z/OS example
$ebcdic_data = `echo '$ascii_data'| iconv -f ISO8859-1 -t IBM-1047`
-For other perl based conversion options see the Convert::* modules on CPAN.
+For other perl-based conversion options see the Convert::* modules on CPAN.
=head2 C RTL
-The OS/390 and z/OS C run time libraries provide _atoe() and _etoa() functions.
+The OS/390 and z/OS C run-time libraries provide _atoe() and _etoa() functions.
=head1 OPERATOR DIFFERENCES
@@ -756,8 +778,8 @@ an example adapted from the one in L<perlop>:
An interesting property of the 32 C0 control characters
in the ASCII table is that they can "literally" be constructed
-as control characters in perl, e.g. C<(chr(0) eq C<\c@>)>
-C<(chr(1) eq C<\cA>)>, and so on. Perl on EBCDIC platforms has been
+as control characters in perl, e.g. C<(chr(0)> eq C<\c@>)>
+C<(chr(1)> eq C<\cA>)>, and so on. Perl on EBCDIC platforms has been
ported to take C<\c@> to chr(0) and C<\cA> to chr(1), etc. as well, but the
thirty three characters that result depend on which code page you are
using. The table below uses the standard acronyms for the controls.
@@ -771,7 +793,7 @@ or regex, as it will absorb the terminator. But C<\c\I<X>> is a C<FILE
SEPARATOR> concatenated with I<X> for all I<X>.
chr ord 8859-1 0037 1047 && POSIX-BC
- ------------------------------------------------------------------------
+ -----------------------------------------------------------------------
\c? 127 <DEL> " "
\c@ 0 <NUL> <NUL> <NUL>
\cA 1 <SOH> <SOH> <SOH>
@@ -851,7 +873,7 @@ recommend something similar to:
Under the IBM OS/390 USS Web Server or WebSphere on z/OS for example
you should instead write that as:
- print "Content-type:\ttext/html\r\n\r\n"; # OK for DGW et alia
+ print "Content-type:\ttext/html\r\n\r\n"; # OK for DGW et al
That is because the translation from EBCDIC to ASCII is done
by the web server in this case (such code will not be appropriate for
@@ -886,7 +908,7 @@ See the discussion of pack() above.
=head1 REGULAR EXPRESSION DIFFERENCES
-As of perl 5.005_03 the letter range regular expression such as
+As of perl 5.005_03 the letter range regular expressions such as
[A-Z] and [a-z] have been especially coded to not pick up gap
characters. For example, characters such as E<ocirc> C<o WITH CIRCUMFLEX>
that lie between I and J would not be matched by the
@@ -1024,21 +1046,21 @@ output.
=head1 SORTING
-One big difference between ASCII based character sets and EBCDIC ones
+One big difference between ASCII-based character sets and EBCDIC ones
are the relative positions of upper and lower case letters and the
-letters compared to the digits. If sorted on an ASCII based platform the
-two letter abbreviation for a physician comes before the two letter
-for drive, that is:
+letters compared to the digits. If sorted on an ASCII-based platform the
+two-letter abbreviation for a physician comes before the two letter
+abbreviation for drive; that is:
- @sorted = sort(qw(Dr. dr.)); # @sorted holds ('Dr.','dr.') on ASCII,
+ @sorted = sort(qw(Dr. dr.)); # @sorted holds ('Dr.','dr.') on ASCII,
# but ('dr.','Dr.') on EBCDIC
-The property of lower case before uppercase letters in EBCDIC is
+The property of lowercase before uppercase letters in EBCDIC is
even carried to the Latin 1 EBCDIC pages such as 0037 and 1047.
An example would be that E<Euml> C<E WITH DIAERESIS> (203) comes
before E<euml> C<e WITH DIAERESIS> (235) on an ASCII platform, but
the latter (83) comes before the former (115) on an EBCDIC platform.
-(Astute readers will note that the upper case version of E<szlig>
+(Astute readers will note that the uppercase version of E<szlig>
C<SMALL LETTER SHARP S> is simply "SS" and that the upper case version of
E<yuml> C<y WITH DIAERESIS> is not in the 0..255 range but it is
at U+x0178 in Unicode, or C<"\x{178}"> in a Unicode enabled Perl).
@@ -1054,7 +1076,7 @@ some user education.
=head2 MONO CASE then sort data.
-In order to minimize the expense of mono casing mixed test try to
+In order to minimize the expense of mono casing mixed-case text, try to
C<tr///> towards the character set case most employed within the data.
If the data are primarily UPPERCASE non Latin 1 then apply tr/[a-z]/[A-Z]/
then sort(). If the data are primarily lowercase non Latin 1 then
@@ -1069,7 +1091,7 @@ then sort(). Do note however that such Latin-1 manipulation does not
address the E<yuml> C<y WITH DIAERESIS> character that will remain at
code point 255 on ASCII platforms, but 223 on most EBCDIC platforms
where it will sort to a place less than the EBCDIC numerals. With a
-Unicode enabled Perl you might try:
+Unicode-enabled Perl you might try:
tr/^?/\x{178}/;
@@ -1212,7 +1234,7 @@ that the @e2a array is filled in appropriately:
=head2 Quoted-Printable encoding and decoding
-On ASCII encoded platforms it is possible to strip characters outside of
+On ASCII-encoded platforms it is possible to strip characters outside of
the printable set using:
# This QP encoder works on ASCII only
@@ -1250,14 +1272,14 @@ omitted for brevity):
$string =~ s/=([0-9A-Fa-f][0-9A-Fa-f])/chr $a2e[hex $1]/ge;
$string =~ s/=[\n\r]+$//;
-=head2 Caesarian ciphers
+=head2 Caesarean ciphers
The practice of shifting an alphabet one or more characters for encipherment
dates back thousands of years and was explicitly detailed by Gaius Julius
Caesar in his B<Gallic Wars> text. A single alphabet shift is sometimes
referred to as a rotation and the shift amount is given as a number $n after
the string 'rot' or "rot$n". Rot0 and rot26 would designate identity maps
-on the 26 letter English version of the Latin alphabet. Rot13 has the
+on the 26-letter English version of the Latin alphabet. Rot13 has the
interesting property that alternate subsequent invocations are identity maps
(thus rot13 is its own non-trivial inverse in the group of 26 alphabet
rotations). Hence the following is a rot13 encoder and decoder that will
@@ -1279,16 +1301,16 @@ In one-liner form:
To the extent that it is possible to write code that depends on
hashing order there may be differences between hashes as stored
-on an ASCII based platform and hashes stored on an EBCDIC based platform.
+on an ASCII-based platform and hashes stored on an EBCDIC-based platform.
XXX
=head1 I18N AND L10N
-Internationalization(I18N) and localization(L10N) are supported at least
-in principle even on EBCDIC platforms. The details are system dependent
+Internationalization (I18N) and localization (L10N) are supported at least
+in principle even on EBCDIC platforms. The details are system-dependent
and discussed under the L<perlebcdic/OS ISSUES> section below.
-=head1 MULTI OCTET CHARACTER SETS
+=head1 MULTI-OCTET CHARACTER SETS
Perl may work with an internal UTF-EBCDIC encoding form for wide characters
on EBCDIC platforms in a manner analogous to the way that it works with
@@ -1298,7 +1320,7 @@ Legacy multi byte EBCDIC code pages XXX.
=head1 OS ISSUES
-There may be a few system dependent issues
+There may be a few system-dependent issues
of concern to EBCDIC Perl programmers.
=head2 OS/400
@@ -1307,8 +1329,8 @@ of concern to EBCDIC Perl programmers.
=item PASE
-The PASE environment is runtime environment for OS/400 that can run
-executables built for PowerPC AIX in OS/400, see L<perlos400>. PASE
+The PASE environment is a runtime environment for OS/400 that can run
+executables built for PowerPC AIX in OS/400; see L<perlos400>. PASE
is ASCII-based, not EBCDIC-based as the ILE.
=item IFS access
diff --git a/Master/tlpkg/tlperl/lib/pods/perlembed.pod b/Master/tlpkg/tlperl/lib/pods/perlembed.pod
index 5ecaed04d06..1b2e0c1bbcd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlembed.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlembed.pod
@@ -490,7 +490,7 @@ been wrapped here):
SvREFCNT_dec(command);
*match_list = get_av("array", 0);
- num_matches = av_len(*match_list) + 1; /** assume $[ is 0 **/
+ num_matches = av_len(*match_list) + 1;
return num_matches;
}
@@ -931,7 +931,6 @@ Let's give it a try:
#include <perl.h>
/* we're going to embed two interpreters */
- /* we're going to embed two interpreters */
#define SAY_HELLO "-e", "print qq(Hi, I'm $^X\n)"
@@ -1070,34 +1069,6 @@ B<ExtUtils::Embed> can also automate writing the I<xs_init> glue code.
Consult L<perlxs>, L<perlguts>, and L<perlapi> for more details.
-=head1 Embedding Perl under Win32
-
-In general, all of the source code shown here should work unmodified under
-Windows.
-
-However, there are some caveats about the command-line examples shown.
-For starters, backticks won't work under the Win32 native command shell.
-The ExtUtils::Embed kit on CPAN ships with a script called
-B<genmake>, which generates a simple makefile to build a program from
-a single C source file. It can be used like this:
-
- C:\ExtUtils-Embed\eg> perl genmake interp.c
- C:\ExtUtils-Embed\eg> nmake
- C:\ExtUtils-Embed\eg> interp -e "print qq{I'm embedded in Win32!\n}"
-
-You may wish to use a more robust environment such as the Microsoft
-Developer Studio. In this case, run this to generate perlxsi.c:
-
- perl -MExtUtils::Embed -e xsinit
-
-Create a new project and Insert -> Files into Project: perlxsi.c,
-perl.lib, and your own source files, e.g. interp.c. Typically you'll
-find perl.lib in B<C:\perl\lib\CORE>, if not, you should see the
-B<CORE> directory relative to C<perl -V:archlib>. The studio will
-also need this path so it knows where to find Perl include files.
-This path can be added via the Tools -> Options -> Directories menu.
-Finally, select Build -> Build interp.exe and you're ready to go.
-
=head1 Hiding Perl_
If you completely hide the short forms of the Perl public API,
@@ -1110,8 +1081,8 @@ you will have to write the explicit full form
Perl_warn(aTHX_ "%d bottles of beer on the wall", bottlecount);
-(See L<perlguts/Background and PERL_IMPLICIT_CONTEXT for the explanation
-of the C<aTHX_>.> ) Hiding the short forms is very useful for avoiding
+(See L<perlguts/"Background and PERL_IMPLICIT_CONTEXT"> for the explanation
+of the C<aTHX_>. ) Hiding the short forms is very useful for avoiding
all sorts of nasty (C preprocessor or otherwise) conflicts with other
software packages (Perl defines about 2400 APIs with these short names,
take or leave few hundred, so there certainly is room for conflict.)
diff --git a/Master/tlpkg/tlperl/lib/pods/perlepoc.pod b/Master/tlpkg/tlperl/lib/pods/perlepoc.pod
index da33725acde..419e2e77121 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlepoc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlepoc.pod
@@ -12,18 +12,18 @@ Perl 5 README file for the EPOC Release 5 operating system.
=head1 INTRODUCTION
-EPOC is an OS for palmtops and mobile phones. For more informations look at:
-http://www.symbian.com/
+EPOC is an OS for palmtops and mobile phones. For more information look
+at: L<http://www.symbian.com/>
This is a port of perl to the epocemx SDK by Eberhard Mattes, which
itself uses the SDK by symbian. Essentially epocemx it is a POSIX
look alike environment for the EPOC OS. For more information look at:
-http://epocemx.sourceforge.net/
+L<http://epocemx.sourceforge.net/>
perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro,
Psion Revo, Psion Netbook and on the Ericsson M128. It may run on Epoc
Release 3 Hardware (Series 5 classic), too. For more information about
-this hardware please refer to http://www.psion.com/
+this hardware please refer to L<http://www.psion.com/>
Vendors which like to have support for their devices are free to send
me a sample.
@@ -31,12 +31,12 @@ me a sample.
=head1 INSTALLING PERL ON EPOC
You can download a ready-to-install version from
-http://www.oflebbe.de/perl/perl5.html
+L<http://www.oflebbe.de/perl/perl5.html>
You will need at least ~6MB free space in order to install and run perl.
Please install the emxusr.sis package from
-http://epocemx.sourceforge.net/ first.
+L<http://epocemx.sourceforge.net/> first.
Install perl.sis on the EPOC machine. If you do not know how to do
that, consult your PsiWin documentation.
@@ -145,7 +145,7 @@ Very special thanks to Eberhard Mattes for epocemx.
=head1 AUTHOR
Olaf Flebbe <olaf@oflebbe.de>
-http://www.oflebbe.de/perl/perl5.html
+L<http://www.oflebbe.de/perl/perl5.html>
=head1 LAST UPDATE
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq.pod
index 6eb7d2520aa..614ff564a93 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq.pod
@@ -23,12 +23,11 @@ The perlfaq is an evolving document and you can read the latest version
at http://faq.perl.org/ . The perlfaq-workers periodically post extracts
of the latest perlfaq to comp.lang.perl.misc.
-You can view the source tree at https://github.com/briandfoy/perlfaq
-(which is outside of the main Perl source tree). The git repository
-notes all changes to the FAQ and holds the latest version of the
-working documents and may vary significantly from the version
-distributed with the latest version of Perl. Check the repository
-before sending your corrections.
+The perlfaq documents are in the perl source tree (see
+L<perlgit>). The git repository notes all changes to the FAQ and
+holds the latest version of the working documents and may vary
+significantly from the version distributed with the latest version of
+Perl. Check the repository before sending your corrections.
=head2 How to contribute to the perlfaq
@@ -38,16 +37,13 @@ address to coordinate their efforts and track the perlfaq development.
They appreciate your contributions to the FAQ but do not have time to
provide individual help, so don't use this address to ask FAQs.
-The perlfaq server posts extracts of the perlfaq to that newsgroup every
-6 hours (or so), and the community of volunteers reviews and updates the
-answers. If you'd like to help review and update the answers, check out
-comp.lang.perl.misc.
+The perlfaq server posts extracts of the perlfaq to that newsgroup
+every 6 hours (or so), and the community of volunteers reviews and
+updates the answers. If you'd like to help review and update the
+answers, check out comp.lang.perl.misc.
-You can also fork the git repository for the perlfaq and send a pull
-request so the main repository can pull your changes. The repository
-is at:
-
- https://github.com/briandfoy/perlfaq
+You can also fork the perl repository, make your changes, and send them
+to Perl 5 Porters. See L<perlgit>.
=head2 What will happen if you mail your Perl programming problems to the authors?
@@ -67,13 +63,13 @@ it, try the resources in L<perlfaq2>.
Tom Christiansen wrote the original perlfaq then expanded it with the
help of Nat Torkington. The perlfaq-workers maintain current document
-and the dezinens of comp.lang.perl.misc regularly review and update the
+and the denizens of comp.lang.perl.misc regularly review and update the
FAQ. Several people have contributed answers, corrections, and comments,
and the perlfaq notes those contributions wherever appropriate.
=head1 AUTHOR AND COPYRIGHT
-Tom Christainsen wrote the original version of this document.
+Tom Christiansen wrote the original version of this document.
brian d foy C<< <bdfoy@cpan.org> >> wrote this version. See the
individual perlfaq documents for additional copyright information.
@@ -121,7 +117,7 @@ What is Perl?
=item *
-Who supports Perl? Who develops it? Why is it free?
+Who supports Perl? Who develops it? Why is it free?
=item *
@@ -311,7 +307,7 @@ Where can I get Perl macros for vi?
=item *
-Where can I get perl-mode for emacs?
+Where can I get perl-mode or cperl-mode for emacs?
=item *
@@ -516,7 +512,7 @@ How do I capitalize all the words on one line?
=item *
-How can I split a [character] delimited string except when inside [character]?
+How can I split a [character]-delimited string except when inside [character]?
=item *
@@ -676,6 +672,10 @@ How can I use a reference as a hash key?
=item *
+How can I check if a key exists in a multilevel hash?
+
+=item *
+
How do I handle binary data correctly?
=item *
@@ -801,11 +801,11 @@ Why can't I just open(FH, "E<gt>file.lock")?
=item *
-I still don't get locking. I just want to increment the number in the file. How can I do this?
+I still don't get locking. I just want to increment the number in the file. How can I do this?
=item *
-All I want to do is append a small amount of text to the end of a file. Do I still have to use locking?
+All I want to do is append a small amount of text to the end of a file. Do I still have to use locking?
=item *
@@ -898,7 +898,7 @@ How can I hope to use regular expressions without creating illegible and unmaint
=item *
-I'm having trouble matching over more than one line. What's wrong?
+I'm having trouble matching over more than one line. What's wrong?
=item *
@@ -914,7 +914,7 @@ I put a regular expression into $/ but it didn't work. What's wrong?
=item *
-How do I substitute case insensitively on the LHS while preserving case on the RHS?
+How do I substitute case-insensitively on the LHS while preserving case on the RHS?
=item *
@@ -934,7 +934,7 @@ What is C</o> really for?
=item *
-How do I use a regular expression to strip C style comments from a file?
+How do I use a regular expression to strip C-style comments from a file?
=item *
@@ -942,7 +942,7 @@ Can I use Perl regular expressions to match balanced text?
=item *
-What does it mean that regexes are greedy? How can I get around it?
+What does it mean that regexes are greedy? How can I get around it?
=item *
@@ -974,7 +974,7 @@ What good is C<\G> in a regular expression?
=item *
-Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
+Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
=item *
@@ -1341,7 +1341,7 @@ What is the correct form of response from a CGI script?
=item *
-My CGI script runs from the command line but not the browser. (500 Server Error)
+My CGI script runs from the command line but not the browser. (500 Server Error)
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod
index 16f58018049..ba70a822602 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod
@@ -2,7 +2,7 @@
perlfaq1 - General Questions About Perl
-=head1 DESCRIPTION
+=head1 DESCRIPTION
This section of the FAQ answers very general, high-level questions
about Perl.
@@ -61,7 +61,7 @@ users the informal support will more than suffice. See the answer to
There is often a matter of opinion and taste, and there isn't any one
answer that fits everyone. In general, you want to use either the current
stable release, or the stable release immediately prior to that one.
-Currently, those are perl5.10.x and perl5.8.x, respectively.
+Currently, those are perl5.14.x and perl5.12.x, respectively.
Beyond that, you have to consider several things and decide which is best
for you.
@@ -101,15 +101,17 @@ for a while, although not at the same level as the current releases.
=item *
-No one is actively supporting Perl 4. Five years ago it was a dead
+No one is actively supporting Perl 4. Ten years ago it was a dead
camel carcass (according to this document). Now it's barely a skeleton
as its whitewashed bones have fractured or eroded.
=item *
There is no Perl 6 release scheduled, but it will be available when
-it's ready. Stay tuned, but don't worry that you'll have to change
-major versions of Perl; no one is going to take Perl 5 away from you.
+it's ready. The joke is that it's scheduled for Christmas, but that we
+just don't know which one. Stay tuned, but don't worry that you'll
+have to change major versions of Perl; no one is going to take Perl 5
+away from you.
=item *
@@ -130,23 +132,24 @@ minor release (i.e. perl5.9.x, where 9 is the minor release).
In short, Perl 4 is the past, Perl 5 is the present, and Perl 6 is the
future.
-The number after perl (i.e. the 5 after Perl 5) is the major release
+The number after Perl (i.e. the 5 after Perl 5) is the major release
of the perl interpreter as well as the version of the language. Each
major version has significant differences that earlier versions cannot
support.
-The current major release of Perl is Perl 5, and was released in 1994.
-It can run scripts from the previous major release, Perl 4 (March 1991),
-but has significant differences. It introduced the concept of references,
-complex data structures, and modules. The Perl 5 interpreter was a
-complete re-write of the previous perl sources.
+The current major release of Perl is Perl 5, and was first released in
+1994. It can run scripts from the previous major release, Perl 4
+(March 1991), but has significant differences. It introduced the
+concept of references, complex data structures, and modules. The Perl
+5 interpreter was a complete re-write of the previous perl sources.
-Perl 6 is the next major version of Perl, but it's still in development
-in both its syntax and design. The work started in 2002 and is still
-ongoing. Many of the most interesting features have shown up in the
-latest versions of Perl 5, and some Perl 5 modules allow you to use some
-Perl 6 syntax in your programs. You can learn more about Perl 6 at
-http://dev.perl.org/perl6/ .
+Perl 6 is the next major version of Perl, although it's not intended to
+replace Perl 5. It's still in development in both its syntax and
+design. The work started in 2002 and is still ongoing. Some of the
+most interesting features have shown up in the latest versions of Perl
+5, and some Perl 5 modules allow you to use some Perl 6 syntax in your
+programs. The current leading implementation of Perl 6 is Rakudo (
+http://rakudo.org ).
See L<perlhist> for a history of Perl revisions.
@@ -367,7 +370,7 @@ might mean that Perl either saves them something (time, headaches, money)
or gives them something (flexibility, power, testability).
In general, the benefit of a language is closely related to the skill of
-the people using that language. If you or your team can be more faster,
+the people using that language. If you or your team can be faster,
better, and stronger through Perl, you'll deliver more value. Remember,
people often respond better to what they get out of it. If you run
into resistance, figure out what those people get out of the other
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod
index 036df5e9ab8..4e891a6865a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod
@@ -8,13 +8,13 @@ This section of the FAQ answers questions about where to find
source and documentation for Perl, support, and
related matters.
-=head2 What machines support perl? Where do I get it?
+=head2 What machines support perl? Where do I get it?
The standard release of perl (the one maintained by the perl
-development team) is distributed only in source code form. You
+development team) is distributed only in source code form. You
can find the latest releases at http://www.cpan.org/src/README.html .
-Perl builds and runs on a bewildering number of platforms. Virtually
+Perl builds and runs on a bewildering number of platforms. Virtually
all known and current Unix derivatives are supported (perl's native
platform), as are other systems like VMS, DOS, OS/2, Windows,
QNX, BeOS, OS X, MPE/iX and the Amiga.
@@ -23,7 +23,7 @@ Binary distributions for some proprietary platforms can be found
http://www.cpan.org/ports/ directory. Because these are not part of
the standard distribution, they may and in fact do differ from the
base perl port in a variety of ways. You'll have to check their
-respective release notes to see just what the differences are. These
+respective release notes to see just what the differences are. These
differences can be either positive (e.g. extensions for the features
of the particular platform that are not supported in the source
release of perl) or negative (e.g. might be based upon a less current
@@ -52,10 +52,10 @@ IndigoPerl: Windows
=head2 I don't have a C compiler. How can I build my own Perl interpreter?
Since you don't have a C compiler, you're doomed and your vendor
-should be sacrificed to the Sun gods. But that doesn't help you.
+should be sacrificed to the Sun gods. But that doesn't help you.
What you need to do is get a binary version of C<gcc> for your system
-first. Consult the Usenet FAQs for your operating system for
+first. Consult the Usenet FAQs for your operating system for
information on where to get such a binary version.
You might look around the net for a pre-built binary of Perl (or a
@@ -73,7 +73,7 @@ applications, including compilers and Perl.
That's probably because you forgot libraries, or library paths differ.
You really should build the whole distribution on the machine it will
-eventually live on, and then type C<make install>. Most other
+eventually live on, and then type C<make install>. Most other
approaches are doomed to failure.
One simple way to check that things are in the right place is to print out
@@ -83,7 +83,7 @@ the hard-coded C<@INC> that perl looks through for libraries:
If this command lists any paths that don't exist on your system, then you
may need to move the appropriate libraries to these locations, or create
-symbolic links, aliases, or shortcuts appropriately. C<@INC> is also printed as
+symbolic links, aliases, or shortcuts appropriately. C<@INC> is also printed as
part of the output of
% perl -V
@@ -91,14 +91,14 @@ part of the output of
You might also want to check out
L<perlfaq8/"How do I keep my own module/library directory?">.
-=head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
+=head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
Read the F<INSTALL> file, which is part of the source distribution.
It describes in detail how to cope with most idiosyncrasies that the
C<Configure> script can't work around for any given system or
architecture.
-=head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
+=head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
CPAN stands for Comprehensive Perl Archive Network, a multi-gigabyte
archive replicated on hundreds of machines all over the world. CPAN
@@ -108,7 +108,7 @@ commercial database interfaces to keyboard/screen control to web
walking and CGI scripts. The master web site for CPAN is
http://www.cpan.org/ and there is the CPAN Multiplexer at
http://www.cpan.org/CPAN.html which will choose a mirror near you via
-DNS. See http://www.perl.com/CPAN (without a slash at the end) for
+DNS. See http://www.perl.com/CPAN (without a slash at the end) for
how this process works. Also, http://mirror.cpan.org/ has a nice
interface to the http://www.cpan.org/MIRRORED.BY mirror directory.
@@ -117,7 +117,7 @@ to the most frequently asked questions about CPAN including how to
become a mirror.
C<CPAN/path/...> is a naming convention for files available on CPAN
-sites. CPAN indicates the base directory of a CPAN mirror, and the
+sites. CPAN indicates the base directory of a CPAN mirror, and the
rest of the path is the path from that directory to the file. For
instance, if you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN
as your CPAN site, the file C<CPAN/misc/japh> is downloadable as
@@ -143,7 +143,7 @@ CPAN is a free service and is not affiliated with O'Reilly Media.
=head2 Is there an ISO or ANSI certified version of Perl?
-Certainly not. Larry expects that he'll be certified before Perl is.
+Certainly not. Larry expects that he'll be certified before Perl is.
=head2 Where can I get information on Perl?
@@ -151,12 +151,12 @@ The complete Perl documentation is available with the Perl distribution.
If you have Perl installed locally, you probably have the documentation
installed as well: type C<man perl> if you're on a system resembling Unix.
This will lead you to other important man pages, including how to set your
-C<$MANPATH>. If you're not on a Unix system, access to the documentation
-will be different; for example, documentation might only be in HTML format. All
+C<$MANPATH>. If you're not on a Unix system, access to the documentation
+will be different; for example, documentation might only be in HTML format. All
proper perl installations have fully-accessible documentation.
You might also try C<perldoc perl> in case your system doesn't
-have a proper C<man> command, or it's been misinstalled. If that doesn't
+have a proper C<man> command, or it's been misinstalled. If that doesn't
work, try looking in C</usr/local/lib/perl5/pod> for documentation.
If all else fails, consult http://perldoc.perl.org/ which has the
@@ -165,18 +165,18 @@ complete documentation in HTML and PDF format.
Many good books have been written about Perl--see the section later in
L<perlfaq2> for more details.
-Tutorial documents are included in current or upcoming Perl releases
+Tutorial documents included in current or upcoming Perl releases
include L<perltoot> for objects or L<perlboot> for a beginner's
approach to objects, L<perlopentut> for file opening semantics,
L<perlreftut> for managing references, L<perlretut> for regular
expressions, L<perlthrtut> for threads, L<perldebtut> for debugging,
-and L<perlxstut> for linking C and Perl together. There may be more
-by the time you read this. These URLs might also be useful:
+and L<perlxstut> for linking C and Perl together. There may be more
+by the time you read this. These URLs might also be useful:
http://perldoc.perl.org/
http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials
-=head2 What are the Perl newsgroups on Usenet? Where do I post questions?
+=head2 What are the Perl newsgroups on Usenet? Where do I post questions?
Several groups devoted to the Perl language are on Usenet:
@@ -187,10 +187,10 @@ Several groups devoted to the Perl language are on Usenet:
comp.lang.perl.tk Using Tk (and X) from Perl
Some years ago, comp.lang.perl was divided into those groups, and
-comp.lang.perl itself officially removed. While that group may still
+comp.lang.perl itself officially removed. While that group may still
be found on some news servers, it is unwise to use it, because
postings there will not appear on news servers which honour the
-official list of group names. Use comp.lang.perl.misc for topics
+official list of group names. Use comp.lang.perl.misc for topics
which do not have a more-appropriate specific group.
There is also a Usenet gateway to Perl mailing lists sponsored by
@@ -211,202 +211,26 @@ but asking someone to write your code for free is not very cool.
=head2 Where should I post source code?
You should post source code to whichever group is most appropriate, but
-feel free to cross-post to comp.lang.perl.misc. If you want to cross-post
+feel free to cross-post to comp.lang.perl.misc. If you want to cross-post
to alt.sources, please make sure it follows their posting standards,
including setting the Followup-To header line to NOT include alt.sources;
see their FAQ ( http://www.faqs.org/faqs/alt-sources-intro/ ) for details.
If you're just looking for software, first use Google
( http://www.google.com ), Google's Usenet search interface
-( http://groups.google.com ), and CPAN Search ( http://search.cpan.org ).
+( http://groups.google.com ), and CPAN Search ( http://search.cpan.org ).
This is faster and more productive than just posting a request.
=head2 Perl Books
-A number of books on Perl and/or CGI programming are available. A few
-of these are good, some are OK, but many aren't worth your money.
-There is a list of these books, some with extensive reviews, at
-http://books.perl.org/ . If you don't see your book listed here, you
-can write to perlfaq-workers@perl.org .
-
-The incontestably definitive reference book on Perl, written by
-the creator of Perl, is Programming Perl:
-
- Programming Perl (the "Camel Book"):
- by Larry Wall, Tom Christiansen, and Jon Orwant
- ISBN 0-596-00027-8 [3rd edition July 2000]
- http://www.oreilly.com/catalog/pperl3/
- (English, translations to several languages are also available)
-
-The companion volume to the Camel containing thousands
-of real-world examples, mini-tutorials, and complete programs is:
-
- The Perl Cookbook (the "Ram Book"):
- by Tom Christiansen and Nathan Torkington,
- with Foreword by Larry Wall
- ISBN 0-596-00313-7 [2nd Edition August 2003]
- http://www.oreilly.com/catalog/perlckbk2/
-
-If you're already a seasoned programmer, then the Camel Book might
-suffice for you to learn Perl. If you're not, check out the
-Llama book:
-
- Learning Perl
- by Randal L. Schwartz, Tom Phoenix, and brian d foy
- ISBN 0-596-10105-8 [4th edition July 2005]
- http://www.oreilly.com/catalog/learnperl4/
-
-And for more advanced information on writing larger programs,
-presented in the same style as the Llama book, continue your education
-with the Alpaca book:
-
- Intermediate Perl (the "Alpaca Book")
- by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway)
- ISBN 0-596-10206-2 [1st edition March 2006]
- http://www.oreilly.com/catalog/lrnperlorm/
-
-Addison-Wesley ( http://www.awlonline.com/ ) and Manning
-( http://www.manning.com/ ) are also publishers of some fine Perl books
-such as I<Object Oriented Programming with Perl> by Damian Conway and
-I<Network Programming with Perl> by Lincoln Stein.
-
-An excellent technical book discounter is Bookpool at
-http://www.bookpool.com/ where a 30% discount or more is not unusual.
-
-What follows is a list of the books that the FAQ authors found personally
-useful. Your mileage may (but, we hope, probably won't) vary.
-
-Recommended books on (or mostly on) Perl follow.
-
-=over 4
-
-=item References
-
- Programming Perl
- by Larry Wall, Tom Christiansen, and Jon Orwant
- ISBN 0-596-00027-8 [3rd edition July 2000]
- http://www.oreilly.com/catalog/pperl3/
-
- Perl 5 Pocket Reference
- by Johan Vromans
- ISBN 0-596-00374-9 [4th edition July 2002]
- http://www.oreilly.com/catalog/perlpr4/
-
-=item Tutorials
-
- Beginning Perl
- by James Lee
- ISBN 1-59059-391-X [2nd edition August 2004]
- http://apress.com/book/bookDisplay.html?bID=344
-
- Elements of Programming with Perl
- by Andrew L. Johnson
- ISBN 1-884777-80-5 [1st edition October 1999]
- http://www.manning.com/johnson/
-
- Learning Perl
- by Randal L. Schwartz, Tom Phoenix, and brian d foy
- ISBN 0-596-52010-7 [5th edition June 2008]
- http://oreilly.com/catalog/9780596520106/
-
- Intermediate Perl (the "Alpaca Book")
- by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway)
- ISBN 0-596-10206-2 [1st edition March 2006]
- http://www.oreilly.com/catalog/intermediateperl/
-
- Mastering Perl
- by brian d foy
- ISBN 0-596-52724-1 [1st edition July 2007]
- http://www.oreilly.com/catalog/9780596527242/
-
-=item Task-Oriented
-
- Writing Perl Modules for CPAN
- by Sam Tregar
- ISBN 1-59059-018-X [1st edition August 2002]
- http://apress.com/book/bookDisplay.html?bID=14
-
- The Perl Cookbook
- by Tom Christiansen and Nathan Torkington
- with foreword by Larry Wall
- ISBN 1-56592-243-3 [1st edition August 1998]
- http://www.oreilly.com/catalog/cookbook/
-
- Effective Perl Programming
- by Joseph Hall
- ISBN 0-201-41975-0 [1st edition 1998]
- http://www.awl.com/
-
- Real World SQL Server Administration with Perl
- by Linchi Shea
- ISBN 1-59059-097-X [1st edition July 2003]
- http://apress.com/book/bookDisplay.html?bID=171
-
-=item Special Topics
-
- Perl Best Practices
- by Damian Conway
- ISBN: 0-596-00173-8 [1st edition July 2005]
- http://www.oreilly.com/catalog/perlbp/
-
- Higher Order Perl
- by Mark-Jason Dominus
- ISBN: 1558607013 [1st edition March 2005]
- http://hop.perl.plover.com/
-
- Perl 6 Now: The Core Ideas Illustrated with Perl 5
- by Scott Walters
- ISBN 1-59059-395-2 [1st edition December 2004]
- http://apress.com/book/bookDisplay.html?bID=355
-
- Mastering Regular Expressions
- by Jeffrey E. F. Friedl
- ISBN 0-596-00289-0 [2nd edition July 2002]
- http://www.oreilly.com/catalog/regex2/
-
- Network Programming with Perl
- by Lincoln Stein
- ISBN 0-201-61571-1 [1st edition 2001]
- http://www.awlonline.com/
-
- Object Oriented Perl
- by Damian Conway
- with foreword by Randal L. Schwartz
- ISBN 1-884777-79-1 [1st edition August 1999]
- http://www.manning.com/conway/
-
- Data Munging with Perl
- by Dave Cross
- ISBN 1-930110-00-6 [1st edition 2001]
- http://www.manning.com/cross
-
- Mastering Perl/Tk
- by Steve Lidie and Nancy Walsh
- ISBN 1-56592-716-8 [1st edition January 2002]
- http://www.oreilly.com/catalog/mastperltk/
-
- Extending and Embedding Perl
- by Tim Jenness and Simon Cozens
- ISBN 1-930110-82-0 [1st edition August 2002]
- http://www.manning.com/jenness
-
- Perl Debugger Pocket Reference
- by Richard Foley
- ISBN 0-596-00503-2 [1st edition January 2004]
- http://www.oreilly.com/catalog/perldebugpr/
-
- Pro Perl Debugging
- by Richard Foley with Andy Lester
- ISBN 1-59059-454-1 [1st edition July 2005]
- http://www.apress.com/book/view/1590594541
-
-=back
+There are many good books on Perl. See the L<perlbook> documentation or
+( http://books.perl.org ).
=head2 Which magazines have Perl content?
I<The Perl Review> ( http://www.theperlreview.com ) focuses on Perl
almost completely (although it sometimes sneaks in an article about
-another language). There's also I<$foo Magazin>, a german magazine
+another language). There's also I<$foo Magazin>, a German magazine
dedicated to Perl, at ( http://www.foo-magazin.de ).
The I<Perl-Zeitung> is a German-speaking magazine for Perl beginners
@@ -425,22 +249,23 @@ http://www.stonehenge.com/merlyn/LinuxMag/ .
The first (and for a long time, only) periodical devoted to All Things
Perl, I<The Perl Journal> contains tutorials, demonstrations, case
-studies, announcements, contests, and much more. I<TPJ> has columns
+studies, announcements, contests, and much more. I<TPJ> has columns
on web development, databases, Win32 Perl, graphical programming,
regular expressions, and networking, and sponsors the Obfuscated Perl
-Contest and the Perl Poetry Contests. Beginning in November 2002, I<TPJ>
+Contest and the Perl Poetry Contests. Beginning in November 2002, I<TPJ>
moved to a reader-supported monthly e-zine format in which subscribers
can download issues as PDF documents. In 2006, I<TPJ> merged with Dr.
Dobbs Journal (online edition). To read old I<TPJ> articles, see
-http://www.ddj.com/ .
+http://www.ddj.com/ or brian d foy's index of online TPJ content
+( http://www.perlmonks.org/index.pl?node_id=711609 ).
=head2 What mailing lists are there for Perl?
Most of the major modules (C<Tk>, C<CGI>, C<libwww-perl>) have their own
-mailing lists. Consult the documentation that came with the module for
+mailing lists. Consult the documentation that came with the module for
subscription information.
-A comprehensive list of Perl related mailing lists can be found at:
+A comprehensive list of Perl-related mailing lists can be found at:
http://lists.perl.org/
@@ -461,9 +286,9 @@ seek.
In a real sense, perl already I<is> commercial software: it has a license
that you can grab and carefully read to your manager. It is distributed
in releases and comes in well-defined packages. There is a very large
-user community and an extensive literature. The comp.lang.perl.*
+user community and an extensive literature. The comp.lang.perl.*
newsgroups and several of the mailing lists provide free answers to your
-questions in near real-time. Perl has traditionally been supported by
+questions in near real-time. Perl has traditionally been supported by
Larry, scores of software designers and developers, and myriad
programmers, all working for free to create a useful thing to make life
better for everyone.
@@ -472,7 +297,7 @@ However, these answers may not suffice for managers who require a
purchase order from a company whom they can sue should anything go awry.
Or maybe they need very serious hand-holding and contractual obligations.
Shrink-wrapped CDs with perl on them are available from several sources if
-that will help. For example, many Perl books include a distribution of perl,
+that will help. For example, many Perl books include a distribution of perl,
as do the O'Reilly Perl Resource Kits (in both the Unix flavor
and in the proprietary Microsoft flavor); the free Unix distributions
also all come with perl.
@@ -486,7 +311,7 @@ found an actual bug.
If you've found a bug with the perl interpreter or one of the modules
in the standard library (those that come with Perl), you can use the
-C<perlbug> utility that comes with Perl (>= 5.004). It collects
+L<perlbug> utility that comes with Perl (>= 5.004). It collects
information about your installation to include with your message, then
sends the message to the right place.
@@ -510,30 +335,32 @@ module documentation too.
=head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
-Perl.com at http://www.perl.com/ is part of the O'Reilly Network, a
-subsidiary of O'Reilly Media.
+Perl.com ( http://www.perl.com/ ) used to be part of the O'Reilly
+Network, a subsidiary of O'Reilly Media. Although it retains most of
+the original content from its O'Reilly Network, it is now hosted by
+The Perl Foundation.
The Perl Foundation is an advocacy organization for the Perl language
-which maintains the web site http://www.perl.org/ as a general
+which maintains the web site ( http://www.perl.org/ ) as a general
advocacy site for the Perl language. It uses the domain to provide
general support services to the Perl community, including the hosting
-of mailing lists, web sites, and other services. There are also many
-other sub-domains for special topics like learning Perl, Perl news, jobs
-in Perl, such as:
+of mailing lists, web sites, and other services. There are also many
+other sub-domains for special topics like learning Perl, Perl news,
+jobs in Perl, such as:
+ http://www.perl.org/
http://learn.perl.org/
- http://use.perl.org/
http://jobs.perl.org/
http://lists.perl.org/
Perl Mongers uses the pm.org domain for services related to Perl user
-groups, including the hosting of mailing lists and web sites. See the
-Perl user group web site at http://www.pm.org/ for more information about
+groups, including the hosting of mailing lists and web sites. See the
+Perl Mongers website ( http://www.pm.org/ ) for more information about
joining, starting, or requesting services for a Perl user group.
-http://www.cpan.org/ is the Comprehensive Perl Archive Network,
-a replicated worldwide repository of Perl software, see
-the I<What is CPAN?> question earlier in this document.
+CPAN, or the Comprehensive Perl Archive Network (
+http://www.cpan.org/ ), is a replicated, worldwide repository of Perl
+software. See I<What is CPAN?> in L<perlfaq2>.
=head1 AUTHOR AND COPYRIGHT
@@ -544,7 +371,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples here are in the public
-domain. You are permitted and encouraged to use this code and any
+domain. You are permitted and encouraged to use this code and any
derivatives thereof in your own programs for fun or for profit as you
-see fit. A simple comment in the code giving credit to the FAQ would
+see fit. A simple comment in the code giving credit to the FAQ would
be courteous but is not required.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod
index e2fe11621ba..3093d36afa7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod
@@ -44,7 +44,7 @@ operations typically found in symbolic debuggers.
The C<psh> (Perl sh) is currently at version 1.8. The Perl Shell is a shell
that combines the interactive nature of a Unix shell with the power of
-Perl. The goal is a full featured shell that behaves as expected for
+Perl. The goal is a full-featured shell that behaves as expected for
normal shell activity and uses Perl syntax and functionality for
control-flow statements and other things. You can get C<psh> at
http://sourceforge.net/projects/psh/ .
@@ -113,7 +113,7 @@ with C<File::Find> which is part of the standard library:
print join "\n", @files;
-If you simply need to quickly check to see if a module is
+If you simply need to check quickly to see if a module is
available, you can check for its documentation. If you can
read the documentation the module is most likely installed.
If you cannot read the documentation, the module might not
@@ -243,7 +243,7 @@ as you write it will help prevent bugs. Your editor can and should
help you with this. The perl-mode or newer cperl-mode for emacs
can provide remarkable amounts of help with most (but not all)
code, and even less programmable editors can provide significant
-assistance. Tom Christiansen and many other VI users swear by
+assistance. Tom Christiansen and many other VI users swear by
the following settings in vi and its clones:
set ai sw=4
@@ -267,7 +267,7 @@ Ctags uses an index to quickly find things in source code, and many
popular editors support ctags for several different languages,
including Perl.
-Exuberent ctags supports Perl: http://ctags.sourceforge.net/
+Exuberant ctags supports Perl: http://ctags.sourceforge.net/
You might also try pltags: http://www.mscha.com/pltags.zip
@@ -324,7 +324,7 @@ under Windows 95/98/NT/2000.
http://www.optiperl.com/
OptiPerl is a Windows IDE with simulated CGI environment, including
-debugger and syntax highlighting editor.
+debugger and syntax-highlighting editor.
=item Padre
@@ -357,7 +357,7 @@ Visual Perl is a Visual Studio.NET plug-in from ActiveState.
http://www.zeusedit.com/lookmain.html
Zeus for Window is another Win32 multi-language editor/IDE
-that comes with support for Perl:
+that comes with support for Perl.
=back
@@ -455,7 +455,7 @@ http://www.contexteditor.org/
There is also a toyedit Text widget based editor written in Perl
that is distributed with the Tk module on CPAN. The ptkdb
-( http://ptkdb.sourceforge.net/ ) is a Perl/tk based debugger that
+( http://ptkdb.sourceforge.net/ ) is a Perl/Tk-based debugger that
acts as a development environment of sorts. Perl Composer
( http://perlcomposer.sourceforge.net/ ) is an IDE for Perl/Tk
GUI creation.
@@ -510,7 +510,7 @@ is a full Perl development environment with full debugger support
=item Alpha
is an editor, written and extensible in Tcl, that nonetheless has
-built in support for several popular markup and programming languages
+built-in support for several popular markup and programming languages,
including Perl and HTML ( http://www.his.com/~jguyer/Alpha/Alpha8.html ).
=item BBEdit and BBEdit Lite
@@ -583,7 +583,7 @@ These are Perl bindings for the Gtk toolkit ( http://www.gtk.org ). The
interface changed significantly between versions 1 and 2 so they have
separate Perl modules. It runs under Unix, Win32 and Mac OS X (currently
it requires an X server on Mac OS, but a 'native' port is underway), and
-the widgets look the same on every plaform: i.e., they don't match the
+the widgets look the same on every platform: i.e., they don't match the
native widgets. As with Wx, the Perl bindings follow the C API closely,
and the documentation requires you to read the C documentation to
understand it.
@@ -761,7 +761,7 @@ requires some judgement, however, because any changes will be propagated
back to the original data. If you really want to mangle (er, modify) a
copy, you'll have to sacrifice the memory needed to make one.
-=item * Tie large variables to disk.
+=item * Tie large variables to disk
For "big" data stores (i.e. ones that exceed available memory) consider
using one of the DB modules to store it on disk instead of in RAM. This
@@ -840,7 +840,8 @@ Both of these solutions can have far-reaching effects on your system
and on the way you write your CGI programs, so investigate them with
care.
-See http://www.cpan.org/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/ .
+See also
+http://www.cpan.org/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/ .
=head2 How can I hide the source for my Perl program?
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod
index 45cc9e044dd..eb18743f822 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod
@@ -13,7 +13,7 @@ numbers, dates, strings, arrays, hashes, and miscellaneous data issues.
For the long explanation, see David Goldberg's "What Every Computer
Scientist Should Know About Floating-Point Arithmetic"
-(http://docs.sun.com/source/806-3568/ncg_goldberg.html).
+(L<http://web.cse.msu.edu/~cse320/Documents/FloatingPoint.pdf>).
Internally, your computer represents floating-point numbers in binary.
Digital (as in powers of two) computers cannot store all numbers
@@ -25,8 +25,8 @@ L<perlnumber> shows the gory details of number representations and
conversions.
To limit the number of decimal places in your numbers, you can use the
-C<printf> or C<sprintf> function. See the L<"Floating Point
-Arithmetic"|perlop> for more details.
+C<printf> or C<sprintf> function. See
+L<perlop/"Floating Point Arithmetic"> for more details.
printf "%.2f", 10/3;
@@ -117,8 +117,8 @@ the real axis into the complex plane, for example the inverse sine of
Rounding in financial applications can have serious implications, and
the rounding method used should be specified precisely. In these
-cases, it probably pays not to trust whichever system rounding is
-being used by Perl, but to instead implement the rounding function you
+cases, it probably pays not to trust whichever system of rounding is
+being used by Perl, but instead to implement the rounding function you
need yourself.
To see why, notice how you'll still have an issue on half-way-point
@@ -131,7 +131,7 @@ alternation:
Don't blame Perl. It's the same as in C. IEEE says we have to do
this. Perl numbers whose absolute values are integers under 2**31 (on
-32 bit machines) will work pretty much like mathematical integers.
+32-bit machines) will work pretty much like mathematical integers.
Other numbers are not guaranteed.
=head2 How do I convert between numeric representations/bases/radixes?
@@ -143,7 +143,7 @@ exhaustive.
Some of the examples later in L<perlfaq4> use the C<Bit::Vector>
module from CPAN. The reason you might choose C<Bit::Vector> over the
-perl built in functions is that it works with numbers of ANY size,
+perl built-in functions is that it works with numbers of ANY size,
that it is optimized for speed on some operations, and for at least
some programmers the notation might be familiar.
@@ -244,7 +244,7 @@ Using C<pack> and C<unpack> for larger strings:
substr("0" x 32 . "11110101011011011111011101111", -32)));
$dec = sprintf("%d", $int);
- # substr() is used to left pad a 32 character string with zeros.
+ # substr() is used to left-pad a 32-character string with zeros.
Using C<Bit::Vector>:
@@ -285,7 +285,9 @@ C<3>). Saying C<"11" & "3"> performs the "and" operation on strings
(yielding C<"1">).
Most problems with C<&> and C<|> arise because the programmer thinks
-they have a number but really it's a string. The rest arise because
+they have a number but really it's a string or vice versa. To avoid this,
+stringify the arguments explicitly (using C<""> or C<qq()>) or convert them
+to numbers explicitly (using C<0+$arg>). The rest arise because
the programmer says:
if ("\020\020" & "\101\101") {
@@ -326,12 +328,12 @@ To call a function on each integer in a (small) range, you B<can> use:
@results = map { some_func($_) } (5 .. 25);
-but you should be aware that the C<..> operator creates an array of
+but you should be aware that the C<..> operator creates a list of
all integers in the range. This can take a lot of memory for large
ranges. Instead use:
@results = ();
- for ($i=5; $i < 500_005; $i++) {
+ for ($i=5; $i <= 500_005; $i++) {
push(@results, some_func($i));
}
@@ -360,7 +362,7 @@ call C<srand> more than once--you make your numbers less random,
rather than more.
Computers are good at being predictable and bad at being random
-(despite appearances caused by bugs in your programs :-). see the
+(despite appearances caused by bugs in your programs :-). The
F<random> article in the "Far More Than You Ever Wanted To Know"
collection in L<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz>, courtesy
of Tom Phoenix, talks more about this. John von Neumann said, "Anyone
@@ -405,10 +407,11 @@ integers (inclusive), For example: C<random_int_between(50,120)>.
=head2 How do I find the day or week of the year?
-The C<localtime> function returns the day of the year. Without an
+The day of the year is in the list returned
+by the C<localtime> function. Without an
argument C<localtime> uses the current time.
- $day_of_year = (localtime)[7];
+ my $day_of_year = (localtime)[7];
The C<POSIX> module can also format a date as the day of the year or
week of the year.
@@ -424,7 +427,14 @@ a time in epoch seconds for the argument to C<localtime>.
my $week_of_year = strftime "%W",
localtime( mktime( 0, 0, 0, 18, 11, 87 ) );
-The C<Date::Calc> module provides two functions to calculate these.
+You can also use C<Time::Piece>, which comes with Perl and provides a
+C<localtime> that returns an object:
+
+ use Time::Piece;
+ my $day_of_year = localtime->yday;
+ my $week_of_year = localtime->week;
+
+The C<Date::Calc> module provides two functions to calculate these, too:
use Date::Calc;
my $day_of_year = Day_of_Year( 1987, 12, 18 );
@@ -446,7 +456,7 @@ On some systems, the C<POSIX> module's C<strftime()> function has been
extended in a non-standard way to use a C<%C> format, which they
sometimes claim is the "century". It isn't, because on most such
systems, this is only the first two digits of the four-digit year, and
-thus cannot be used to reliably determine the current century or
+thus cannot be used to determine reliably the current century or
millennium.
=head2 How can I compare two dates and find the difference?
@@ -454,43 +464,74 @@ millennium.
(contributed by brian d foy)
You could just store all your dates as a number and then subtract.
-Life isn't always that simple though. If you want to work with
-formatted dates, the C<Date::Manip>, C<Date::Calc>, or C<DateTime>
-modules can help you.
+Life isn't always that simple though.
+
+The C<Time::Piece> module, which comes with Perl, replaces C<localtime>
+with a version that returns an object. It also overloads the comparison
+operators so you can compare them directly:
+
+ use Time::Piece;
+ my $date1 = localtime( $some_time );
+ my $date2 = localtime( $some_other_time );
+
+ if( $date1 < $date2 ) {
+ print "The date was in the past\n";
+ }
+
+You can also get differences with a subtraction, which returns a
+C<Time::Seconds> object:
+
+ my $diff = $date1 - $date2;
+ print "The difference is ", $date_diff->days, " days\n";
+
+If you want to work with formatted dates, the C<Date::Manip>,
+C<Date::Calc>, or C<DateTime> modules can help you.
=head2 How can I take a string and turn it into epoch seconds?
If it's a regular enough string that it always has the same format,
you can split it up and pass the parts to C<timelocal> in the standard
-C<Time::Local> module. Otherwise, you should look into the C<Date::Calc>
-and C<Date::Manip> modules from CPAN.
+C<Time::Local> module. Otherwise, you should look into the C<Date::Calc>,
+C<Date::Parse>, and C<Date::Manip> modules from CPAN.
=head2 How can I find the Julian Day?
(contributed by brian d foy and Dave Cross)
-You can use the C<Time::JulianDay> module available on CPAN. Ensure
-that you really want to find a Julian day, though, as many people have
-different ideas about Julian days. See
-http://www.hermetic.ch/cal_stud/jdn.htm for instance.
+You can use the C<Time::Piece> module, part of the Standard Library,
+which can convert a date/time to a Julian Day:
-You can also try the C<DateTime> module, which can convert a date/time
-to a Julian Day.
+ $ perl -MTime::Piece -le 'print localtime->julian_day'
+ 2455607.7959375
- $ perl -MDateTime -le'print DateTime->today->jd'
- 2453401.5
+Or the modified Julian Day:
-Or the modified Julian Day
-
- $ perl -MDateTime -le'print DateTime->today->mjd'
- 53401
+ $ perl -MTime::Piece -le 'print localtime->mjd'
+ 55607.2961226851
Or even the day of the year (which is what some people think of as a
-Julian day)
+Julian day):
+
+ $ perl -MTime::Piece -le 'print localtime->yday'
+ 45
+
+You can also do the same things with the C<DateTime> module:
+ $ perl -MDateTime -le'print DateTime->today->jd'
+ 2453401.5
+ $ perl -MDateTime -le'print DateTime->today->mjd'
+ 53401
$ perl -MDateTime -le'print DateTime->today->doy'
31
+You can use the C<Time::JulianDay> module available on CPAN. Ensure
+that you really want to find a Julian day, though, as many people have
+different ideas about Julian days (see http://www.hermetic.ch/cal_stud/jdn.htm
+for instance):
+
+ $ perl -MTime::JulianDay -le 'print local_julian_day( time )'
+ 55608
+
=head2 How do I find yesterday's date?
X<date> X<yesterday> X<DateTime> X<Date::Calc> X<Time::Local>
X<daylight saving time> X<day> X<Today_and_Now> X<localtime>
@@ -498,8 +539,10 @@ X<timelocal>
(contributed by brian d foy)
-Use one of the Date modules. The C<DateTime> module makes it simple, and
-give you the same time of day, only the day before.
+To do it correctly, you can use one of the C<Date> modules since they
+work with calendars instead of times. The C<DateTime> module makes it
+simple, and give you the same time of day, only the day before,
+despite daylight saving time changes:
use DateTime;
@@ -519,24 +562,35 @@ function.
Most people try to use the time rather than the calendar to figure out
dates, but that assumes that days are twenty-four hours each. For
most people, there are two days a year when they aren't: the switch to
-and from summer time throws this off. Let the modules do the work.
+and from summer time throws this off. For example, the rest of the
+suggestions will be wrong sometimes:
+
+Starting with Perl 5.10, C<Time::Piece> and C<Time::Seconds> are part
+of the standard distribution, so you might think that you could do
+something like this:
+
+ use Time::Piece;
+ use Time::Seconds;
+
+ my $yesterday = localtime() - ONE_DAY; # WRONG
+ print "Yesterday was $yesterday\n";
-If you absolutely must do it yourself (or can't use one of the
-modules), here's a solution using C<Time::Local>, which comes with
-Perl:
+The C<Time::Piece> module exports a new C<localtime> that returns an
+object, and C<Time::Seconds> exports the C<ONE_DAY> constant that is a
+set number of seconds. This means that it always gives the time 24
+hours ago, which is not always yesterday. This can cause problems
+around the end of daylight saving time when there's one day that is 25
+hours long.
+
+You have the same problem with C<Time::Local>, which will give the wrong
+answer for those same special cases:
# contributed by Gunnar Hjalmarsson
use Time::Local;
my $today = timelocal 0, 0, 12, ( localtime )[3..5];
- my ($d, $m, $y) = ( localtime $today-86400 )[3..5];
+ my ($d, $m, $y) = ( localtime $today-86400 )[3..5]; # WRONG
printf "Yesterday: %d-%02d-%02d\n", $y+1900, $m+1, $d;
-In this case, you measure the day starting at noon, and subtract 24
-hours. Even if the length of the calendar day is 23 or 25 hours,
-you'll still end up on the previous calendar day, although not at
-noon. Since you don't care about the time, the one hour difference
-doesn't matter and you end up with the previous date.
-
=head2 Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant?
(contributed by brian d foy)
@@ -545,21 +599,21 @@ Perl itself never had a Y2K problem, although that never stopped people
from creating Y2K problems on their own. See the documentation for
C<localtime> for its proper use.
-Starting with Perl 5.11, C<localtime> and C<gmtime> can handle dates past
+Starting with Perl 5.12, C<localtime> and C<gmtime> can handle dates past
03:14:08 January 19, 2038, when a 32-bit based time would overflow. You
still might get a warning on a 32-bit C<perl>:
- % perl5.11.2 -E 'say scalar localtime( 0x9FFF_FFFFFFFF )'
+ % perl5.12 -E 'say scalar localtime( 0x9FFF_FFFFFFFF )'
Integer overflow in hexadecimal number at -e line 1.
Wed Nov 1 19:42:39 5576711
On a 64-bit C<perl>, you can get even larger dates for those really long
running projects:
- % perl5.11.2 -E 'say scalar gmtime( 0x9FFF_FFFFFFFF )'
+ % perl5.12 -E 'say scalar gmtime( 0x9FFF_FFFFFFFF )'
Thu Nov 2 00:42:39 5576711
-You're still out of luck if you need to keep tracking of decaying protons
+You're still out of luck if you need to keep track of decaying protons
though.
=head1 Data: Strings
@@ -594,11 +648,11 @@ This won't expand C<"\n"> or C<"\t"> or any other special escapes.
You can use the substitution operator to find pairs of characters (or
runs of characters) and replace them with a single instance. In this
substitution, we find a character in C<(.)>. The memory parentheses
-store the matched character in the back-reference C<\1> and we use
+store the matched character in the back-reference C<\g1> and we use
that to require that the same thing immediately follow it. We replace
that part of the string with the character in C<$1>.
- s/(.)\1/$1/g;
+ s/(.)\g1/$1/g;
We can also use the transliteration operator, C<tr///>. In this
example, the search list side of our C<tr///> contains nothing, but
@@ -849,7 +903,7 @@ that C<s> after the apostrophe? You could try a regular expression:
Now, what if you don't want to capitalize that "and"? Just use
L<Text::Autoformat> and get on with the next problem. :)
-=head2 How can I split a [character] delimited string except when inside [character]?
+=head2 How can I split a [character]-delimited string except when inside [character]?
Several modules can handle this sort of parsing--C<Text::Balanced>,
C<Text::CSV>, C<Text::CSV_XS>, and C<Text::ParseWords>, among others.
@@ -890,14 +944,14 @@ Perl distribution) lets you say:
A substitution can do this for you. For a single line, you want to
replace all the leading or trailing whitespace with nothing. You
-can do that with a pair of substitutions.
+can do that with a pair of substitutions:
s/^\s+//;
s/\s+$//;
You can also write that as a single substitution, although it turns
out the combined statement is slower than the separate ones. That
-might not matter to you, though.
+might not matter to you, though:
s/^\s+|\s+$//g;
@@ -906,30 +960,29 @@ beginning or the end of the string since the anchors have a lower
precedence than the alternation. With the C</g> flag, the substitution
makes all possible matches, so it gets both. Remember, the trailing
newline matches the C<\s+>, and the C<$> anchor can match to the
-physical end of the string, so the newline disappears too. Just add
+absolute end of the string, so the newline disappears too. Just add
the newline to the output, which has the added benefit of preserving
"blank" (consisting entirely of whitespace) lines which the C<^\s+>
-would remove all by itself.
+would remove all by itself:
- while( <> )
- {
+ while( <> ) {
s/^\s+|\s+$//g;
print "$_\n";
}
-For a multi-line string, you can apply the regular expression
-to each logical line in the string by adding the C</m> flag (for
+For a multi-line string, you can apply the regular expression to each
+logical line in the string by adding the C</m> flag (for
"multi-line"). With the C</m> flag, the C<$> matches I<before> an
-embedded newline, so it doesn't remove it. It still removes the
-newline at the end of the string.
+embedded newline, so it doesn't remove it. This pattern still removes
+the newline at the end of the string:
$string =~ s/^\s+|\s+$//gm;
Remember that lines consisting entirely of whitespace will disappear,
since the first part of the alternation can match the entire string
-and replace it with nothing. If need to keep embedded blank lines,
+and replace it with nothing. If you need to keep embedded blank lines,
you have to do a little more work. Instead of matching any whitespace
-(since that includes a newline), just match the other whitespace.
+(since that includes a newline), just match the other whitespace:
$string =~ s/^[\t\f ]+|[\t\f ]+$//mg;
@@ -1119,16 +1172,18 @@ Stringification also destroys arrays.
=head2 Why don't my E<lt>E<lt>HERE documents work?
-Check for these three things:
+Here documents are found in L<perlop>. Check for these three things:
=over 4
=item There must be no space after the E<lt>E<lt> part.
-=item There (probably) should be a semicolon at the end.
+=item There (probably) should be a semicolon at the end of the opening token
=item You can't (easily) have any space in front of the tag.
+=item There needs to be at least a line separator after the end token.
+
=back
If you want to indent the text in the here document, you
@@ -1162,7 +1217,7 @@ subsequent line.
sub fix {
local $_ = shift;
my ($white, $leader); # common whitespace and common leading string
- if (/^\s*(?:([^\w\s]+)(\s*).*\n)(?:\s*\1\2?.*\n)+$/) {
+ if (/^\s*(?:([^\w\s]+)(\s*).*\n)(?:\s*\g1\g2?.*\n)+$/) {
($white, $leader) = ($2, quotemeta($1));
} else {
($white, $leader) = (/^(\s+)/, '');
@@ -1222,7 +1277,7 @@ for list operations, so list operations also work on arrays:
wash_animals( qw( dog cat bird ) );
wash_animals( @animals );
-Array operations, which change the scalars, reaaranges them, or adds
+Array operations, which change the scalars, rearranges them, or adds
or subtracts some scalars, only work on arrays. These can't work on a
list, which is fixed. Array operations include C<shift>, C<unshift>,
C<push>, C<pop>, and C<splice>.
@@ -1269,7 +1324,7 @@ context. The comma operator (yes, it's an operator!) in scalar
context evaluates its lefthand side, throws away the result, and
evaluates it's righthand side and returns the result. In effect,
that list-lookalike assigns to C<$scalar> it's rightmost value. Many
-people mess this up becuase they choose a list-lookalike whose
+people mess this up because they choose a list-lookalike whose
last element is also the count they expect:
my $scalar = ( 1, 2, 3 ); # $scalar gets 3, accidentally
@@ -1562,53 +1617,23 @@ that satisfies the condition.
=head2 How do I handle linked lists?
-In general, you usually don't need a linked list in Perl, since with
-regular arrays, you can push and pop or shift and unshift at either
-end, or you can use splice to add and/or remove arbitrary number of
-elements at arbitrary points. Both pop and shift are O(1)
-operations on Perl's dynamic arrays. In the absence of shifts and
-pops, push in general needs to reallocate on the order every log(N)
-times, and unshift will need to copy pointers each time.
-
-If you really, really wanted, you could use structures as described in
-L<perldsc> or L<perltoot> and do just what the algorithm book tells
-you to do. For example, imagine a list node like this:
-
- $node = {
- VALUE => 42,
- LINK => undef,
- };
-
-You could walk the list this way:
+(contributed by brian d foy)
- print "List: ";
- for ($node = $head; $node; $node = $node->{LINK}) {
- print $node->{VALUE}, " ";
- }
- print "\n";
+Perl's arrays do not have a fixed size, so you don't need linked lists
+if you just want to add or remove items. You can use array operations
+such as C<push>, C<pop>, C<shift>, C<unshift>, or C<splice> to do
+that.
-You could add to the list this way:
+Sometimes, however, linked lists can be useful in situations where you
+want to "shard" an array so you have have many small arrays instead of
+a single big array. You can keep arrays longer than Perl's largest
+array index, lock smaller arrays separately in threaded programs,
+reallocate less memory, or quickly insert elements in the middle of
+the chain.
- my ($head, $tail);
- $tail = append($head, 1); # grow a new head
- for $value ( 2 .. 10 ) {
- $tail = append($tail, $value);
- }
-
- sub append {
- my($list, $value) = @_;
- my $node = { VALUE => $value };
- if ($list) {
- $node->{LINK} = $list->{LINK};
- $list->{LINK} = $node;
- }
- else {
- $_[0] = $node; # replace caller's version
- }
- return $node;
- }
-
-But again, Perl's built-in are virtually always good enough.
+Steve Lembark goes through the details in his YAPC::NA 2009 talk "Perly
+Linked Lists" ( http://www.slideshare.net/lembark/perly-linked-lists ),
+although you can just use his C<LinkedList::Single> module.
=head2 How do I handle circular lists?
X<circular> X<array> X<Tie::Cycle> X<Array::Iterator::Circular>
@@ -1745,7 +1770,7 @@ Or, simply:
my $element = $array[ rand @array ];
=head2 How do I permute N elements of a list?
-X<List::Permuter> X<permute> X<Algorithm::Loops> X<Knuth>
+X<List::Permutor> X<permute> X<Algorithm::Loops> X<Knuth>
X<The Art of Computer Programming> X<Fischer-Krause>
Use the C<List::Permutor> module on CPAN. If the list is actually an
@@ -2212,7 +2237,7 @@ You can look into using the C<DB_File> module and C<tie()> using the
C<$DB_BTREE> hash bindings as documented in L<DB_File/"In Memory
Databases">. The C<Tie::IxHash> module from CPAN might also be
instructive. Although this does keep your hash sorted, you might not
-like the slow down you suffer from the tie interface. Are you sure you
+like the slowdown you suffer from the tie interface. Are you sure you
need to do this? :)
=head2 What's the difference between "delete" and "undef" with hashes?
@@ -2347,7 +2372,8 @@ Or if you really want to save space:
Either stringify the structure yourself (no fun), or else
get the MLDBM (which uses Data::Dumper) module from CPAN and layer
-it on top of either DB_File or GDBM_File.
+it on top of either DB_File or GDBM_File. You might also try DBM::Deep, but
+it can be a bit slow.
=head2 How can I make my hash remember the order I put elements into it?
@@ -2418,7 +2444,7 @@ Usually a hash ref, perhaps like this:
PALS => [ "Norbert", "Rhys", "Phineas"],
};
-References are documented in L<perlref> and the upcoming L<perlreftut>.
+References are documented in L<perlref> and L<perlreftut>.
Examples of complex data structures are given in L<perldsc> and
L<perllol>. Examples of structures and object-oriented classes are
in L<perltoot>.
@@ -2451,11 +2477,79 @@ If you actually need to be able to get a real reference back from
each hash entry, you can use the Tie::RefHash module, which does the
required work for you.
+=head2 How can I check if a key exists in a multilevel hash?
+
+(contributed by brian d foy)
+
+The trick to this problem is avoiding accidental autovivification. If
+you want to check three keys deep, you might naïvely try this:
+
+ my %hash;
+ if( exists $hash{key1}{key2}{key3} ) {
+ ...;
+ }
+
+Even though you started with a completely empty hash, after that call to
+C<exists> you've created the structure you needed to check for C<key3>:
+
+ %hash = (
+ 'key1' => {
+ 'key2' => {}
+ }
+ );
+
+That's autovivification. You can get around this in a few ways. The
+easiest way is to just turn it off. The lexical C<autovivification>
+pragma is available on CPAN. Now you don't add to the hash:
+
+ {
+ no autovivification;
+ my %hash;
+ if( exists $hash{key1}{key2}{key3} ) {
+ ...;
+ }
+ }
+
+The C<Data::Diver> module on CPAN can do it for you too. Its C<Dive>
+subroutine can tell you not only if the keys exist but also get the
+value:
+
+ use Data::Diver qw(Dive);
+
+ my @exists = Dive( \%hash, qw(key1 key2 key3) );
+ if( ! @exists ) {
+ ...; # keys do not exist
+ }
+ elsif( ! defined $exists[0] ) {
+ ...; # keys exist but value is undef
+ }
+
+You can easily do this yourself too by checking each level of the hash
+before you move onto the next level. This is essentially what
+C<Data::Diver> does for you:
+
+ if( check_hash( \%hash, qw(key1 key2 key3) ) ) {
+ ...;
+ }
+
+ sub check_hash {
+ my( $hash, @keys ) = @_;
+
+ return unless @keys;
+
+ foreach my $key ( @keys ) {
+ return unless eval { exists $hash->{$key} };
+ $hash = $hash->{$key};
+ }
+
+ return 1;
+ }
+
=head1 Data: Misc
=head2 How do I handle binary data correctly?
-Perl is binary clean, so it can handle binary data just fine.
+Perl is binary-clean, so it can handle binary data just fine.
On Windows or DOS, however, you have to use C<binmode> for binary
files to avoid conversions for line endings. In general, you should
use C<binmode> any time you want to work with binary data.
@@ -2469,31 +2563,40 @@ some gotchas. See the section on Regular Expressions.
=head2 How do I determine whether a scalar is a number/whole/integer/float?
Assuming that you don't care about IEEE notations like "NaN" or
-"Infinity", you probably just want to use a regular expression.
+"Infinity", you probably just want to use a regular expression:
- if (/\D/) { print "has nondigits\n" }
- if (/^\d+$/) { print "is a whole number\n" }
- if (/^-?\d+$/) { print "is an integer\n" }
- if (/^[+-]?\d+$/) { print "is a +/- integer\n" }
- if (/^-?\d+\.?\d*$/) { print "is a real number\n" }
- if (/^-?(?:\d+(?:\.\d*)?|\.\d+)$/) { print "is a decimal number\n" }
- if (/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
- { print "a C float\n" }
+ use 5.010;
+
+ given( $number ) {
+ when( /\D/ )
+ { say "\thas nondigits"; continue }
+ when( /^\d+\z/ )
+ { say "\tis a whole number"; continue }
+ when( /^-?\d+\z/ )
+ { say "\tis an integer"; continue }
+ when( /^[+-]?\d+\z/ )
+ { say "\tis a +/- integer"; continue }
+ when( /^-?(?:\d+\.?|\.\d)\d*\z/ )
+ { say "\tis a real number"; continue }
+ when( /^[+-]?(?=\.?\d)\d*\.?\d*(?:e[+-]?\d+)?\z/i)
+ { say "\tis a C float" }
+ }
There are also some commonly used modules for the task.
L<Scalar::Util> (distributed with 5.8) provides access to perl's
internal function C<looks_like_number> for determining whether a
-variable looks like a number. L<Data::Types> exports functions that
+variable looks like a number. L<Data::Types> exports functions that
validate data types using both the above and other regular
expressions. Thirdly, there is C<Regexp::Common> which has regular
expressions to match various types of numbers. Those three modules are
available from the CPAN.
If you're on a POSIX system, Perl supports the C<POSIX::strtod>
-function. Its semantics are somewhat cumbersome, so here's a
-C<getnum> wrapper function for more convenient access. This function
+function for converting strings to doubles (and also C<POSIX::strtol>
+for longs). Its semantics are somewhat cumbersome, so here's a
+C<getnum> wrapper function for more convenient access. This function
takes a string and returns the number it found, or C<undef> for input
-that isn't a C float. The C<is_numeric> function is a front end to
+that isn't a C float. The C<is_numeric> function is a front end to
C<getnum> if you just want to say, "Is this a float?"
sub getnum {
@@ -2514,9 +2617,7 @@ C<getnum> if you just want to say, "Is this a float?"
sub is_numeric { defined getnum($_[0]) }
Or you could check out the L<String::Scanf> module on the CPAN
-instead. The C<POSIX> module (part of the standard Perl distribution)
-provides the C<strtod> and C<strtol> for converting strings to double
-and longs, respectively.
+instead.
=head2 How do I keep persistent data across program calls?
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod
index bd969f4393f..76b6d3e0e2e 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod
@@ -448,12 +448,12 @@ temporary files in one process, use a counter:
my $base_name = sprintf "%s/%d-%d-0000", $temp_dir, $$, time;
sub temp_file {
- local *FH;
+ my $fh;
my $count = 0;
- until( defined(fileno(FH)) || $count++ > 100 ) {
+ until( defined(fileno($fh)) || $count++ > 100 ) {
$base_name =~ s/-(\d+)$/"-" . (1 + $1)/e;
# O_EXCL is required for security reasons.
- sysopen my($fh), $base_name, O_WRONLY|O_EXCL|O_CREAT;
+ sysopen $fh, $base_name, O_WRONLY|O_EXCL|O_CREAT;
}
if( defined fileno($fh) ) {
@@ -494,8 +494,8 @@ Berkeley-style ps:
}
We've used a hash slice in order to easily handle the fields of each row.
-Storing the keys in an array means it's easy to operate on them as a
-group or loop over them with for. It also avoids polluting the program
+Storing the keys in an array makes it easy to operate on them as a
+group or loop over them with C<for>. It also avoids polluting the program
with global variables and using symbolic references.
=head2 How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
@@ -542,7 +542,7 @@ check out the Symbol or IO::Handle modules.
=head2 How can I use a filehandle indirectly?
X<filehandle, indirect>
-An indirect filehandle is using something other than a symbol
+An indirect filehandle is the use of something other than a symbol
in a place that a filehandle is expected. Here are ways
to get indirect filehandles:
@@ -553,8 +553,7 @@ to get indirect filehandles:
$fh = *SOME_FH{IO}; # blessed IO::Handle from *SOME_FH typeglob
Or, you can use the C<new> method from one of the IO::* modules to
-create an anonymous filehandle, store that in a scalar variable,
-and use it as though it were a normal filehandle.
+create an anonymous filehandle and store that in a scalar variable.
use IO::Handle; # 5.004 or higher
my $fh = IO::Handle->new();
@@ -644,7 +643,54 @@ techniques to make it possible for the intrepid hacker.
=head2 How can I write() into a string?
X<write, into a string>
-See L<perlform/"Accessing Formatting Internals"> for an C<swrite()> function.
+(contributed by brian d foy)
+
+If you want to C<write> into a string, you just have to <open> a
+filehandle to a string, which Perl has been able to do since Perl 5.6:
+
+ open FH, '>', \my $string;
+ write( FH );
+
+Since you want to be a good programmer, you probably want to use a lexical
+filehandle, even though formats are designed to work with bareword filehandles
+since the default format names take the filehandle name. However, you can
+control this with some Perl special per-filehandle variables: C<$^>, which
+names the top-of-page format, and C<$~> which shows the line format. You have
+to change the default filehandle to set these variables:
+
+ open my($fh), '>', \my $string;
+
+ { # set per-filehandle variables
+ my $old_fh = select( $fh );
+ $~ = 'ANIMAL';
+ $^ = 'ANIMAL_TOP';
+ select( $old_fh );
+ }
+
+ format ANIMAL_TOP =
+ ID Type Name
+ .
+
+ format ANIMAL =
+ @## @<<< @<<<<<<<<<<<<<<
+ $id, $type, $name
+ .
+
+Although write can work with lexical or package variables, whatever variables
+you use have to scope in the format. That most likely means you'll want to
+localize some package variables:
+
+ {
+ local( $id, $type, $name ) = qw( 12 cat Buster );
+ write( $fh );
+ }
+
+ print $string;
+
+There are also some tricks that you can play with C<formline> and the
+accumulator variable C<$^A>, but you lose a lot of the value of formats
+since C<formline> won't handle paging and so on. You end up reimplementing
+formats when you use them.
=head2 How can I open a filehandle to a string?
X<string> X<open> X<IO::String> X<filehandle>
@@ -727,64 +773,64 @@ Within Perl, you may use this directly:
=head2 How come when I open a file read-write it wipes it out?
X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
-Because you're using something like this, which truncates the file and
+Because you're using something like this, which truncates the file
I<then> gives you read-write access:
open my $fh, '+>', '/path/name'; # WRONG (almost always)
Whoops. You should instead use this, which will fail if the file
-doesn't exist.
+doesn't exist:
open my $fh, '+<', '/path/name'; # open for update
Using ">" always clobbers or creates. Using "<" never does
either. The "+" doesn't change this.
-Here are examples of many kinds of file opens. Those using sysopen()
-all assume
+Here are examples of many kinds of file opens. Those using C<sysopen>
+all assume that you've pulled in the constants from C<Fcntl>:
use Fcntl;
To open file for reading:
- open my $fh, '<', $path or die $!;
- sysopen my $fh, $path, O_RDONLY or die $!;
+ open my $fh, '<', $path or die $!;
+ sysopen my $fh, $path, O_RDONLY or die $!;
To open file for writing, create new file if needed or else truncate old file:
- open my $fh, '>', $path or die $!;
- sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT or die $!;
- sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT, 0666 or die $!;
+ open my $fh, '>', $path or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT, 0666 or die $!;
To open file for writing, create new file, file must not exist:
- sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT or die $!;
- sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT, 0666 or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT, 0666 or die $!;
To open file for appending, create if necessary:
- open my $fh, '>>' $path or die $!;
- sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT or die $!;
- sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT, 0666 or die $!;
+ open my $fh, '>>' $path or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT, 0666 or die $!;
To open file for appending, file must exist:
- sysopen my $fh, $path, O_WRONLY|O_APPEND or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_APPEND or die $!;
To open file for update, file must exist:
- open my $fh, '+<', $path or die $!;
- sysopen my $fh, $path, O_RDWR or die $!;
+ open my $fh, '+<', $path or die $!;
+ sysopen my $fh, $path, O_RDWR or die $!;
To open file for update, create file if necessary:
- sysopen my $fh, $path, O_RDWR|O_CREAT or die $!;
- sysopen my $fh, $path, O_RDWR|O_CREAT, 0666 or die $!;
+ sysopen my $fh, $path, O_RDWR|O_CREAT or die $!;
+ sysopen my $fh, $path, O_RDWR|O_CREAT, 0666 or die $!;
To open file for update, file must not exist:
- sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT or die $!;
- sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT, 0666 or die $!;
+ sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT or die $!;
+ sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT, 0666 or die $!;
To open a file without blocking, creating if necessary:
@@ -796,7 +842,7 @@ be an atomic operation over NFS. That is, two processes might both
successfully create or unlink the same file! Therefore O_EXCL
isn't as exclusive as you might wish.
-See also the new L<perlopentut>.
+See also L<perlopentut>.
=head2 Why do I sometimes get an "Argument list too long" when I use E<lt>*E<gt>?
X<argument list too long>
@@ -826,13 +872,13 @@ X<filename, special characters>
(contributed by Brian McCauley)
-The special two argument form of Perl's open() function ignores
+The special two-argument form of Perl's open() function ignores
trailing blanks in filenames and infers the mode from certain leading
characters (or a trailing "|"). In older versions of Perl this was the
only version of open() and so it is prevalent in old code and books.
-Unless you have a particular reason to use the two argument form you
-should use the three argument form of open() which does not treat any
+Unless you have a particular reason to use the two-argument form you
+should use the three-argument form of open() which does not treat any
characters in the filename as special.
open my $fh, "<", " file "; # filename is " file "
@@ -951,7 +997,7 @@ X<append> X<file, append>
If you are on a system that correctly implements C<flock> and you use
the example appending code from "perldoc -f flock" everything will be
OK even if the OS you are on doesn't implement append mode correctly
-(if such a system exists.) So if you are happy to restrict yourself to
+(if such a system exists). So if you are happy to restrict yourself to
OSs that implement C<flock> (and that's not really much of a
restriction) then that is what you should do.
@@ -970,7 +1016,7 @@ C<syswrite> function which is simply a wrapper around your system's
C<write(2)> system call.
There is still a small theoretical chance that a signal will interrupt
-the system level C<write()> operation before completion. There is also
+the system-level C<write()> operation before completion. There is also
a possibility that some STDIO implementations may call multiple system
level C<write()>s even if the buffer was empty to start. There may be
some systems where this probability is reduced to zero, and this is
@@ -1072,26 +1118,6 @@ to each filehandle.
=head2 How can I read in an entire file all at once?
X<slurp> X<file, slurping>
-Are you sure you want to read the entire file and store it in memory?
-If you mmap the file, you can virtually load the entire file into a
-string without actually storing it in memory:
-
- use File::Map qw(map_file);
-
- map_file my $string, $filename;
-
-Once mapped, you can treat C<$string> as you would any other string.
-Since you don't actually load the data, mmap-ing is very fast and does
-not increase your memory footprint.
-
-If you really want to load the entire file, you can use the
-C<File::Slurp> module to do it in one step.
-
- use File::Slurp;
-
- my $all_of_it = read_file($filename); # entire file in scalar
- my @all_lines = read_file($filename); # one line per element
-
The customary Perl approach for processing all the lines in a file is to
do so one line at a time:
@@ -1110,14 +1136,37 @@ you see someone do this:
my @lines = <INPUT>;
You should think long and hard about why you need everything loaded at
-once. It's just not a scalable solution. You might also find it more
-fun to use the standard Tie::File module, or the DB_File module's
-$DB_RECNO bindings, which allow you to tie an array to a file so that
-accessing an element the array actually accesses the corresponding
+once. It's just not a scalable solution.
+
+If you "mmap" the file with the File::Map module from
+CPAN, you can virtually load the entire file into a
+string without actually storing it in memory:
+
+ use File::Map qw(map_file);
+
+ map_file my $string, $filename;
+
+Once mapped, you can treat C<$string> as you would any other string.
+Since you don't necessarily have to load the data, mmap-ing can be
+very fast and may not increase your memory footprint.
+
+You might also find it more
+fun to use the standard C<Tie::File> module, or the C<DB_File> module's
+C<$DB_RECNO> bindings, which allow you to tie an array to a file so that
+accessing an element of the array actually accesses the corresponding
line in the file.
-You can read the entire filehandle contents into a scalar.
+If you want to load the entire file, you can use the C<File::Slurp>
+module to do it in one one simple and efficient step:
+ use File::Slurp;
+
+ my $all_of_it = read_file($filename); # entire file in scalar
+ my @all_lines = read_file($filename); # one line per element
+
+Or you can read the entire file contents into a scalar like this:
+
+ my $var;
{
local $/;
open my $fh, '<', $file or die "can't open $file: $!";
@@ -1127,14 +1176,18 @@ You can read the entire filehandle contents into a scalar.
That temporarily undefs your record separator, and will automatically
close the file at block exit. If the file is already open, just use this:
- $var = do { local $/; <$fh> };
+ my $var = do { local $/; <$fh> };
+
+You can also use a localized C<@ARGV> to eliminate the C<open>:
+
+ my $var = do { local( @ARGV, $/ ) = $file; <> };
-For ordinary files you can also use the read function.
+For ordinary files you can also use the C<read> function.
read( $fh, $var, -s $fh );
-The third argument tests the byte size of the data on the INPUT filehandle
-and reads that many bytes into the buffer $var.
+That third argument tests the byte size of the data on the C<$fh> filehandle
+and reads that many bytes into the buffer C<$var>.
=head2 How can I read in a file by paragraphs?
X<file, reading by paragraphs>
@@ -1228,7 +1281,7 @@ not POSIX, not Unix, etc.) systems.
You should also check out the Frequently Asked Questions list in
comp.unix.* for things like this: the answer is essentially the same.
-It's very system dependent. Here's one solution that works on BSD
+It's very system-dependent. Here's one solution that works on BSD
systems:
sub key_ready {
@@ -1267,7 +1320,7 @@ Or write a small C program using the editor of champions:
% ./fionread
0x4004667f
-And then hard code it, leaving porting as an exercise to your successor.
+And then hard-code it, leaving porting as an exercise to your successor.
$FIONREAD = 0x4004667f; # XXX: opsys dependent
@@ -1320,7 +1373,7 @@ Or even with a literal numeric descriptor:
my $fd = $ENV{MHCONTEXTFD};
open $mhcontext, "<&=$fd"; # like fdopen(3S)
-Note that "<&STDIN" makes a copy, but "<&=STDIN" make
+Note that "<&STDIN" makes a copy, but "<&=STDIN" makes
an alias. That means if you close an aliased handle, all
aliases become inaccessible. This is not true with
a copied one.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod
index 40965d09fcb..3066187fa60 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod
@@ -5,7 +5,7 @@ perlfaq6 - Regular Expressions
=head1 DESCRIPTION
This section is surprisingly small because the rest of the FAQ is
-littered with answers involving regular expressions. For example,
+littered with answers involving regular expressions. For example,
decoding a URL and checking whether something is a number are handled
with regular expressions, but those answers are found elsewhere in
this document (in L<perlfaq9>: "How do I decode or create those %-encodings
@@ -34,7 +34,7 @@ comments.
The C</x> modifier causes whitespace to be ignored in a regex pattern
(except in a character class and a few other places), and also allows you to
-use normal comments there, too. As you can imagine, whitespace and comments
+use normal comments there, too. As you can imagine, whitespace and comments
help a lot.
C</x> lets you turn this:
@@ -60,9 +60,9 @@ describing the meaning of each part of the pattern.
=item Different Delimiters
While we normally think of patterns as being delimited with C</>
-characters, they can be delimited by almost any character. L<perlre>
-describes this. For example, the C<s///> above uses braces as
-delimiters. Selecting another delimiter can avoid quoting the
+characters, they can be delimited by almost any character. L<perlre>
+describes this. For example, the C<s///> above uses braces as
+delimiters. Selecting another delimiter can avoid quoting the
delimiter within the pattern:
s/\/usr\/local/\/usr\/share/g; # bad delimiter choice
@@ -70,14 +70,14 @@ delimiter within the pattern:
=back
-=head2 I'm having trouble matching over more than one line. What's wrong?
+=head2 I'm having trouble matching over more than one line. What's wrong?
X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>
Either you don't have more than one line in the string you're looking
at (probably), or else you aren't using the correct modifier(s) on
your pattern (possibly).
-There are many ways to get multiline data into a string. If you want
+There are many ways to get multiline data into a string. If you want
it to happen automatically while reading input, you'll want to set $/
(probably to '' for paragraphs or C<undef> for the whole file) to
allow you to read more than one line at a time.
@@ -85,21 +85,21 @@ allow you to read more than one line at a time.
Read L<perlre> to help you decide which of C</s> and C</m> (or both)
you might want to use: C</s> allows dot to include newline, and C</m>
allows caret and dollar to match next to a newline, not just at the
-end of the string. You do need to make sure that you've actually
+end of the string. You do need to make sure that you've actually
got a multiline string in there.
For example, this program detects duplicate words, even when they span
-line breaks (but not paragraph ones). For this example, we don't need
+line breaks (but not paragraph ones). For this example, we don't need
C</s> because we aren't using dot in a regular expression that we want
-to cross line boundaries. Neither do we need C</m> because we aren't
+to cross line boundaries. Neither do we need C</m> because we aren't
wanting caret or dollar to match at any point inside the record next
-to newlines. But it's imperative that $/ be set to something other
+to newlines. But it's imperative that $/ be set to something other
than the default, or else we won't actually ever have a multiline
record read in.
$/ = ''; # read in whole paragraph, not just one line
while ( <> ) {
- while ( /\b([\w'-]+)(\s+\1)+\b/gi ) { # word starts alpha
+ while ( /\b([\w'-]+)(\s+\g1)+\b/gi ) { # word starts alpha
print "Duplicate $1 at paragraph $.\n";
}
}
@@ -194,7 +194,7 @@ Good luck!
X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
X<$RS, regexes in>
-$/ has to be a string. You can use these examples if you really need to
+$/ has to be a string. You can use these examples if you really need to
do this.
If you have File::Stream, this is easy.
@@ -211,7 +211,7 @@ If you have File::Stream, this is easy.
If you don't have File::Stream, you have to do a little more work.
You can use the four-argument form of sysread to continually add to
-a buffer. After you add to the buffer, you check if you have a
+a buffer. After you add to the buffer, you check if you have a
complete line (using your regular expression).
local $_ = "";
@@ -235,11 +235,11 @@ being in memory at the end.
}
-=head2 How do I substitute case insensitively on the LHS while preserving case on the RHS?
+=head2 How do I substitute case-insensitively on the LHS while preserving case on the RHS?
X<replace, case preserving> X<substitute, case preserving>
X<substitution, case preserving> X<s, case preserving>
-Here's a lovely Perlish solution by Larry Rosler. It exploits
+Here's a lovely Perlish solution by Larry Rosler. It exploits
properties of bitwise xor on ASCII strings.
$_= "this is a TEsT case";
@@ -329,7 +329,7 @@ the case of the last character is used for the rest of the substitution.
=head2 How can I make C<\w> match national character sets?
X<\w>
-Put C<use locale;> in your script. The \w character class is taken
+Put C<use locale;> in your script. The \w character class is taken
from the current locale.
See L<perllocale> for details.
@@ -342,7 +342,7 @@ documented in L<perlre>.
No matter which locale you are in, the alphabetic characters are
the characters in \w without the digits and the underscore.
-As a regex, that looks like C</[^\W\d_]/>. Its complement,
+As a regex, that looks like C</[^\W\d_]/>. Its complement,
the non-alphabetics, is then everything in \W along with
the digits and the underscore, or C</[\W\d_]/>.
@@ -350,11 +350,11 @@ the digits and the underscore, or C</[\W\d_]/>.
X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>
The Perl parser will expand $variable and @variable references in
-regular expressions unless the delimiter is a single quote. Remember,
+regular expressions unless the delimiter is a single quote. Remember,
too, that the right-hand side of a C<s///> substitution is considered
-a double-quoted string (see L<perlop> for more details). Remember
+a double-quoted string (see L<perlop> for more details). Remember
also that any regex special characters will be acted on unless you
-precede the substitution with \Q. Here's an example:
+precede the substitution with \Q. Here's an example:
$string = "Placido P. Octopus";
$regex = "P.";
@@ -436,16 +436,16 @@ later, you should only see C<re> report that for the first iteration.
print STDERR "\t$_ is good!\n" if m/$regex/;
}
-=head2 How do I use a regular expression to strip C style comments from a file?
+=head2 How do I use a regular expression to strip C-style comments from a file?
While this actually can be done, it's much harder than you'd think.
For example, this one-liner
perl -0777 -pe 's{/\*.*?\*/}{}gs' foo.c
-will work in many but not all cases. You see, it's too simple-minded for
+will work in many but not all cases. You see, it's too simple-minded for
certain kinds of C programs, in particular, those with what appear to be
-comments in quoted strings. For that, you'd need something like this,
+comments in quoted strings. For that, you'd need something like this,
created by Jeffrey Friedl and later modified by Fred Curtis.
$/ = undef;
@@ -454,7 +454,7 @@ created by Jeffrey Friedl and later modified by Fred Curtis.
print;
This could, of course, be more legibly written with the C</x> modifier, adding
-whitespace and comments. Here it is expanded, courtesy of Fred Curtis.
+whitespace and comments. Here it is expanded, courtesy of Fred Curtis.
s{
/\* ## Start of /* ... */ comment
@@ -524,7 +524,7 @@ nesting. There are five total groups in angle brackets:
<another group <nested once <nested twice> > >
and that's it.
-The regular expression to match the balanced text uses two new (to
+The regular expression to match the balanced text uses two new (to
Perl 5.10) regular expression features. These are covered in L<perlre>
and this example is a modified version of one in that documentation.
@@ -535,11 +535,11 @@ The group C<< [^<>]++ >> finds one or more non-angle brackets without
backtracking.
Second, the new C<(?PARNO)> refers to the sub-pattern in the
-particular capture buffer given by C<PARNO>. In the following regex,
-the first capture buffer finds (and remembers) the balanced text, and
-you need that same pattern within the first buffer to get past the
+particular capture group given by C<PARNO>. In the following regex,
+the first capture group finds (and remembers) the balanced text, and
+you need that same pattern within the first buffer to get past the
nested text. That's the recursive part. The C<(?1)> uses the pattern
-in the outer capture buffer as an independent part of the regex.
+in the outer capture group as an independent part of the regex.
Putting it all together, you have:
@@ -552,15 +552,15 @@ Putting it all together, you have:
HERE
my @groups = $string =~ m/
- ( # start of capture buffer 1
+ ( # start of capture group 1
< # match an opening angle bracket
(?:
[^<>]++ # one or more non angle brackets, non backtracking
|
- (?1) # found < or >, so recurse to capture buffer 1
+ (?1) # found < or >, so recurse to capture group 1
)*
> # match a closing angle bracket
- ) # end of capture buffer 1
+ ) # end of capture group 1
/xg;
$" = "\n\t";
@@ -626,13 +626,13 @@ first and the nested matches so up later:
Found:
<nested twice>
-=head2 What does it mean that regexes are greedy? How can I get around it?
+=head2 What does it mean that regexes are greedy? How can I get around it?
X<greedy> X<greediness>
Most people mean that greedy regexes match as much as they can.
Technically speaking, it's actually the quantifiers (C<?>, C<*>, C<+>,
C<{}>) that are greedy rather than the whole pattern; Perl prefers local
-greed and immediate gratification to overall greed. To get non-greedy
+greed and immediate gratification to overall greed. To get non-greedy
versions of the same quantifiers, use (C<??>, C<*?>, C<+?>, C<{}?>).
An example:
@@ -642,9 +642,9 @@ An example:
$s2 =~ s/ve.*?y //; # I am very cold
Notice how the second substitution stopped matching as soon as it
-encountered "y ". The C<*?> quantifier effectively tells the regular
+encountered "y ". The C<*?> quantifier effectively tells the regular
expression engine to find a match as quickly as possible and pass
-control on to whatever is next in line, like you would if you were
+control on to whatever is next in line, as you would if you were
playing hot potato.
=head2 How do I process each word on each line?
@@ -672,7 +672,7 @@ might consider
=head2 How can I print out a word-frequency or line-frequency summary?
-To do this, you have to parse out each word in the input stream. We'll
+To do this, you have to parse out each word in the input stream. We'll
pretend that by word you mean chunk of alphabetics, hyphens, or
apostrophes, rather than the non-whitespace chunk idea of a word given
in the previous question:
@@ -710,40 +710,47 @@ See the module String::Approx available from CPAN.
X<regex, efficiency> X<regexp, efficiency>
X<regular expression, efficiency>
-( contributed by brian d foy )
+(contributed by brian d foy)
-Avoid asking Perl to compile a regular expression every time
-you want to match it. In this example, perl must recompile
-the regular expression for every iteration of the C<foreach>
-loop since it has no way to know what $pattern will be.
+If you have Perl 5.10 or later, this is almost trivial. You just smart
+match against an array of regular expression objects:
- @patterns = qw( foo bar baz );
+ my @patterns = ( qr/Fr.d/, qr/B.rn.y/, qr/W.lm./ );
+
+ if( $string ~~ @patterns ) {
+ ...
+ };
- LINE: while( <DATA> )
- {
- foreach $pattern ( @patterns )
- {
- if( /\b$pattern\b/i )
- {
+The smart match stops when it finds a match, so it doesn't have to try
+every expression.
+
+Earlier than Perl 5.10, you have a bit of work to do. You want to
+avoid compiling a regular expression every time you want to match it.
+In this example, perl must recompile the regular expression for every
+iteration of the C<foreach> loop since it has no way to know what
+C<$pattern> will be:
+
+ my @patterns = qw( foo bar baz );
+
+ LINE: while( <DATA> ) {
+ foreach $pattern ( @patterns ) {
+ if( /\b$pattern\b/i ) {
print;
next LINE;
}
}
}
-The C<qr//> operator showed up in perl 5.005. It compiles a
-regular expression, but doesn't apply it. When you use the
-pre-compiled version of the regex, perl does less work. In
-this example, I inserted a C<map> to turn each pattern into
-its pre-compiled form. The rest of the script is the same,
-but faster.
+The C<qr//> operator showed up in perl 5.005. It compiles a regular
+expression, but doesn't apply it. When you use the pre-compiled
+version of the regex, perl does less work. In this example, I inserted
+a C<map> to turn each pattern into its pre-compiled form. The rest of
+the script is the same, but faster:
- @patterns = map { qr/\b$_\b/i } qw( foo bar baz );
+ my @patterns = map { qr/\b$_\b/i } qw( foo bar baz );
- LINE: while( <> )
- {
- foreach $pattern ( @patterns )
- {
+ LINE: while( <> ) {
+ foreach $pattern ( @patterns ) {
if( /$pattern/ )
{
print;
@@ -752,22 +759,21 @@ but faster.
}
}
-In some cases, you may be able to make several patterns into
-a single regular expression. Beware of situations that require
-backtracking though.
+In some cases, you may be able to make several patterns into a single
+regular expression. Beware of situations that require backtracking
+though.
- $regex = join '|', qw( foo bar baz );
+ my $regex = join '|', qw( foo bar baz );
- LINE: while( <> )
- {
+ LINE: while( <> ) {
print if /\b(?:$regex)\b/i;
}
For more details on regular expression efficiency, see I<Mastering
-Regular Expressions> by Jeffrey Freidl. He explains how regular
+Regular Expressions> by Jeffrey Friedl. He explains how regular
expressions engine work and why some patterns are surprisingly
-inefficient. Once you understand how perl applies regular
-expressions, you can tune them for individual situations.
+inefficient. Once you understand how perl applies regular expressions,
+you can tune them for individual situations.
=head2 Why don't word-boundary searches with C<\b> work for me?
X<\b>
@@ -787,7 +793,7 @@ meaning that it doesn't represent a character in the string, but a
condition at a certain position.
For the regular expression, /\bPerl\b/, there has to be a word
-boundary before the "P" and after the "l". As long as something other
+boundary before the "P" and after the "l". As long as something other
than a word character precedes the "P" and succeeds the "l", the
pattern will match. These strings match /\bPerl\b/.
@@ -801,8 +807,8 @@ These strings do not match /\bPerl\b/.
"Perl_" # _ is a word char!
"Perler" # no word char before P, but one after l
-You don't have to use \b to match words though. You can look for
-non-word characters surrounded by word characters. These strings
+You don't have to use \b to match words though. You can look for
+non-word characters surrounded by word characters. These strings
match the pattern /\b'\b/.
"don't" # the ' char is surrounded by "n" and "t"
@@ -843,7 +849,7 @@ really appreciate them. As of the 5.005 release, the $& variable is no
longer "expensive" the way the other two are.
Since Perl 5.6.1 the special variables @- and @+ can functionally replace
-$`, $& and $'. These arrays contain pointers to the beginning and end
+$`, $& and $'. These arrays contain pointers to the beginning and end
of each match (see perlvar for the full story), so they give you
essentially the same information, but without the risk of excessive
string copying.
@@ -857,12 +863,12 @@ regular expression with the C</p> modifier.
X<\G>
You use the C<\G> anchor to start the next match on the same
-string where the last match left off. The regular
+string where the last match left off. The regular
expression engine cannot skip over any characters to find
the next match with this anchor, so C<\G> is similar to the
-beginning of string anchor, C<^>. The C<\G> anchor is typically
-used with the C<g> flag. It uses the value of C<pos()>
-as the position to start the next match. As the match
+beginning of string anchor, C<^>. The C<\G> anchor is typically
+used with the C<g> flag. It uses the value of C<pos()>
+as the position to start the next match. As the match
operator makes successive matches, it updates C<pos()> with the
position of the next character past the last match (or the
first character of the next match, depending on how you like
@@ -870,7 +876,7 @@ to look at it). Each string has its own C<pos()> value.
Suppose you want to match all of consecutive pairs of digits
in a string like "1122a44" and stop matching when you
-encounter non-digits. You want to match C<11> and C<22> but
+encounter non-digits. You want to match C<11> and C<22> but
the letter <a> shows up between C<22> and C<44> and you want
to stop at C<a>. Simply matching pairs of digits skips over
the C<a> and still matches C<44>.
@@ -879,7 +885,7 @@ the C<a> and still matches C<44>.
my @pairs = m/(\d\d)/g; # qw( 11 22 44 )
If you use the C<\G> anchor, you force the match after C<22> to
-start with the C<a>. The regular expression cannot match
+start with the C<a>. The regular expression cannot match
there since it does not find a digit, so the next match
fails and the match operator returns the pairs it already
found.
@@ -939,7 +945,7 @@ which works in 5.004 or later.
}
For each line, the C<PARSER> loop first tries to match a series
-of digits followed by a word boundary. This match has to
+of digits followed by a word boundary. This match has to
start at the place the last match left off (or the beginning
of the string on the first match). Since C<m/ \G( \d+\b
)/gcx> uses the C<c> flag, if the string does not match that
@@ -947,16 +953,16 @@ regular expression, perl does not reset pos() and the next
match starts at the same position to try a different
pattern.
-=head2 Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
+=head2 Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
X<DFA> X<NFA> X<POSIX>
While it's true that Perl's regular expressions resemble the DFAs
(deterministic finite automata) of the egrep(1) program, they are in
fact implemented as NFAs (non-deterministic finite automata) to allow
-backtracking and backreferencing. And they aren't POSIX-style either,
-because those guarantee worst-case behavior for all cases. (It seems
+backtracking and backreferencing. And they aren't POSIX-style either,
+because those guarantee worst-case behavior for all cases. (It seems
that some people prefer guarantees of consistency, even when what's
-guaranteed is slowness.) See the book "Mastering Regular Expressions"
+guaranteed is slowness.) See the book "Mastering Regular Expressions"
(from O'Reilly) by Jeffrey Friedl for all the details you could ever
hope to know on these matters (a full citation appears in
L<perlfaq2>).
@@ -979,14 +985,14 @@ X<regex, and multibyte characters> X<regexp, and multibyte characters>
X<regular expression, and multibyte characters> X<martian> X<encoding, Martian>
Starting from Perl 5.6 Perl has had some level of multibyte character
-support. Perl 5.8 or later is recommended. Supported multibyte
+support. Perl 5.8 or later is recommended. Supported multibyte
character repertoires include Unicode, and legacy encodings
-through the Encode module. See L<perluniintro>, L<perlunicode>,
+through the Encode module. See L<perluniintro>, L<perlunicode>,
and L<Encode>.
If you are stuck with older Perls, you can do Unicode with the
C<Unicode::String> module, and character conversions using the
-C<Unicode::Map8> and C<Unicode::Map> modules. If you are using
+C<Unicode::Map8> and C<Unicode::Map> modules. If you are using
Japanese encodings, you might try using the jperl 5.005_03.
Finally, the following set of approaches was offered by Jeffrey
@@ -1004,9 +1010,9 @@ nine characters 'I', ' ', 'a', 'm', ' ', 'CV', 'SG', 'XX', '!'.
Now, say you want to search for the single character C</GX/>. Perl
doesn't know about Martian, so it'll find the two bytes "GX" in the "I
-am CVSGXX!" string, even though that character isn't there: it just
+am CVSGXX!" string, even though that character isn't there: it just
looks like it is because "SG" is next to "XX", but there's no real
-"GX". This is a big problem.
+"GX". This is a big problem.
Here are a few ways, all painful, to deal with it:
@@ -1040,7 +1046,7 @@ Goldberg, who uses a zero-width negative look-behind assertion.
/x;
This succeeds if the "martian" character GX is in the string, and fails
-otherwise. If you don't like using (?<!), a zero-width negative
+otherwise. If you don't like using (?<!), a zero-width negative
look-behind assertion, you can replace (?<![A-Z]) with (?:^|[^A-Z]).
It does have the drawback of putting the wrong thing in $-[0] and $+[0],
@@ -1099,7 +1105,7 @@ for more details).
if( $string =~ m/\Q$regex\E/ ) { ... }
Alternately, you can use C<qr//>, the regular expression quote operator (see
-L<perlop> for more details). It quotes and perhaps compiles the pattern,
+L<perlop> for more details). It quotes and perhaps compiles the pattern,
and you can apply regular expression flags to the pattern.
chomp( my $input = <STDIN> );
@@ -1137,7 +1143,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
+are hereby placed into the public domain. You are permitted and
encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
+or for profit as you see fit. A simple comment in the code giving
credit would be courteous but is not required.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod
index 3782351d68e..fcf270d9ce8 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod
@@ -29,7 +29,8 @@ They are type specifiers, as detailed in L<perldata>:
* for all types of that symbol name. In version 4 you used them like
pointers, but in modern perls you can just use references.
-There are couple of other symbols that you're likely to encounter that aren't
+There are a couple of other symbols that
+you're likely to encounter that aren't
really type specifiers:
<> are used for inputting a record from a filehandle.
@@ -48,8 +49,8 @@ I<not> use the brackets. These are correct: C<eof(FH)>, C<seek(FH, 0,
Normally, a bareword doesn't need to be quoted, but in most cases
probably should be (and must be under C<use strict>). But a hash key
-consisting of a simple word (that isn't the name of a defined
-subroutine) and the left-hand operand to the C<< => >> operator both
+consisting of a simple word and the left-hand
+operand to the C<< => >> operator both
count as though they were quoted:
This is like this
@@ -212,23 +213,23 @@ treat each case individually.
=over 4
-=item
+=item *
Get a login for the Perl Authors Upload Server (PAUSE) if you don't
already have one: http://pause.perl.org
-=item
+=item *
Write to modules@perl.org explaining what you did to contact the
current maintainer. The PAUSE admins will also try to reach the
maintainer.
-=item
+=item *
Post a public message in a heavily trafficked site announcing your
intention to take over the module.
-=item
+=item *
Wait a bit. The PAUSE admins don't want to act too quickly in case
the current maintainer is on holiday. If there's no response to
@@ -332,7 +333,7 @@ package:
sub next_id { ++$id }
}
-This is discussed in more detail in L<perlsub>, see the entry on
+This is discussed in more detail in L<perlsub>; see the entry on
I<Persistent Private Variables>.
=head2 What is variable suicide and how can I prevent it?
@@ -553,7 +554,7 @@ For instance:
Notice how at no point does the value "private" get printed. That's
because $var only has that value within the block of the lexical()
-function, and it is hidden from called subroutine.
+function, and it is hidden from the called subroutine.
In summary, local() doesn't make what you think of as private, local
variables. It gives a global variable a temporary value. my() is
@@ -633,8 +634,7 @@ Why do you want to do that? :-)
If you want to override a predefined function, such as open(),
then you'll have to import the new definition from a different
-module. See L<perlsub/"Overriding Built-in Functions">. There's
-also an example in L<perltoot/"Class::Template">.
+module. See L<perlsub/"Overriding Built-in Functions">.
If you want to overload a Perl operator, such as C<+> or C<**>,
then you'll want to use the C<use overload> pragma, documented
@@ -797,7 +797,7 @@ out L<perltoot> for details about any of the above cases. You may
also use C<print ref($object)> to find out the class C<$object> was
blessed into.
-Another possible reason for problems is because you've used the
+Another possible reason for problems is that you've used the
indirect object syntax (eg, C<find Guru "Samy">) on a class name
before Perl has seen that such a package exists. It's wisest to make
sure your packages are all defined before you start using them, which
@@ -831,10 +831,8 @@ diagnostics as C<Carp> does, use the C<caller> built-in:
print "I was called from package $package\n";
);
-By default, your program starts in package C<main>, so you should
-always be in some package unless someone uses the C<package> built-in
-with no namespace. See the C<package> entry in L<perlfunc> for the
-details of empty packages.
+By default, your program starts in package C<main>, so you will
+always be in some package.
This is different from finding out the package an object is blessed
into, which might not be the current package. For that, use C<blessed>
@@ -945,8 +943,8 @@ altogether. Global variables are bad because they can easily collide
accidentally and in general make for non-scalable and confusing code.
Symbolic references are forbidden under the C<use strict> pragma.
-They are not true references and consequently are not reference counted
-or garbage collected.
+They are not true references and consequently are not reference-counted
+or garbage-collected.
The other reason why using a variable to hold the name of another
variable is a bad idea is that the question often stems from a lack of
@@ -983,7 +981,7 @@ make it less confusing, like bracketed percent symbols, etc.
$str =~ s/%(\w+)%/$USER_VARS{$1}/g; # no /e here at all
Another reason that folks sometimes think they want a variable to
-contain the name of a variable is because they don't know how to build
+contain the name of a variable is that they don't know how to build
proper data structures using hashes. For example, let's say they
wanted two hashes in their program: %fred and %barney, and that they
wanted to use another scalar variable to refer to those by name.
@@ -1004,7 +1002,7 @@ And just use a multilevel hash to start with.
The only times that you absolutely I<must> use symbolic references are
when you really must refer to the symbol table. This may be because it's
-something that can't take a real reference to, such as a format name.
+something that one can't take a real reference to, such as a format name.
Doing so may also be important for method calls, since these always go
through the symbol table for resolution.
@@ -1020,8 +1018,8 @@ can play around with the symbol table. For example:
All those functions (red(), blue(), green(), etc.) appear to be separate,
but the real code in the closure actually was compiled only once.
-So, sometimes you might want to use symbolic references to directly
-manipulate the symbol table. This doesn't matter for formats, handles, and
+So, sometimes you might want to use symbolic references to manipulate
+the symbol table directly. This doesn't matter for formats, handles, and
subroutines, because they are always global--you can't use my() on them.
For scalars, arrays, and hashes, though--and usually for subroutines--
you probably only want to use hard references.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod
index 08a5b038b45..b64e8d038b7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod
@@ -289,7 +289,7 @@ L<perlfunc/"sysopen"> for more on this approach.
Some devices will be expecting a "\r" at the end of each line rather
than a "\n". In some ports of perl, "\r" and "\n" are different from
-their usual (Unix) ASCII values of "\012" and "\015". You may have to
+their usual (Unix) ASCII values of "\015" and "\012". You may have to
give the numeric values you want directly, using octal ("\015"), hex
("0x0D"), or as a control-character specification ("\cM").
@@ -524,7 +524,7 @@ L<perlfunc/syscall>.
=head2 How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
You can use the C<END> block to simulate C<atexit()>. Each package's
-C<END> block is called when the program or thread ends See L<perlmod>
+C<END> block is called when the program or thread ends. See the L<perlmod>
manpage for more details about C<END> blocks.
For example, you can use this to make sure your filter program managed
@@ -545,7 +545,7 @@ details of this, see the section on signals, especially the time-out
handler for a blocking C<flock()> in L<perlipc/"Signals"> or the
section on "Signals" in I<Programming Perl>.
-If exception handling is all you're interested in, use one of the
+If exception handling is all you're interested in, use one of the
many CPAN modules that handle exceptions, such as C<Try::Tiny>.
If you want the C<atexit()> syntax (and an C<rmexit()> as well), try the
@@ -860,7 +860,7 @@ list. Further examples of this can be found in L<perlipc/"Safe Pipe
Opens">.
Note that if you're using Windows, no solution to this vexing issue is
-even possible. Even if Perl were to emulate C<fork()>, you'd still be
+even possible. Even though Perl emulates C<fork()>, you'll still be
stuck, because Windows does not have an argc/argv-style API.
=head2 Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
@@ -933,7 +933,7 @@ approach will suffice:
=head2 How can I write expect in Perl?
-Once upon a time, there was a library called L<chat2.pl> (part of the
+Once upon a time, there was a library called F<chat2.pl> (part of the
standard perl distribution), which never really got finished. If you
find it somewhere, I<don't use it>. These days, your best bet is to
look at the Expect module available from CPAN, which also requires two
@@ -1192,7 +1192,7 @@ might not be perl's message.
(contributed by brian d foy)
The easiest way is to have a module also named CPAN do it for you by using
-the C<cpan> command the comes with Perl. You can give it a list of modules
+the C<cpan> command that comes with Perl. You can give it a list of modules
to install:
$ cpan IO::Interactive Getopt::Whatever
@@ -1263,7 +1263,7 @@ See the entry for C<use> in L<perlfunc> for more details.
=head2 How do I keep my own module/library directory?
-When you build modules, tell Perl where to install the modules.
+When you build modules, tell Perl where to install the modules.
If you want to install modules for your own use, the easiest way might
be C<local::lib>, which you can download from CPAN. It sets various
@@ -1302,11 +1302,11 @@ include path (@INC) at runtime?> for details on how to run your newly
installed modules.
There is one caveat with INSTALL_BASE, though, since it acts
-differently than the PREFIX and LIB settings that older versions of
+differently from the PREFIX and LIB settings that older versions of
C<ExtUtils::MakeMaker> advocated. INSTALL_BASE does not support
installing modules for multiple versions of Perl or different
-architectures under the same directory. You should consider if you
-really want that , and if you do, use the older PREFIX and LIB
+architectures under the same directory. You should consider whether you
+really want that and, if you do, use the older PREFIX and LIB
settings. See the C<ExtUtils::Makemaker> documentation for more details.
=head2 How do I add the directory my program lives in to the module/library search path?
@@ -1349,9 +1349,9 @@ directory of the currently running script and puts it in C<$Bin>, which
you can then use to construct the right library path:
use FindBin qw($Bin);
-
+
You can also use C<local::lib> to do much of the same thing. Install
-modules using C<local::lib>'s settings then use the module in your
+modules using C<local::lib>'s settings then use the module in your
program:
use local::lib; # sets up a local lib at ~/perl5
@@ -1386,13 +1386,13 @@ environment variables, run-time switches, and in-code statements:
=item the C<local::lib> module:
use local::lib;
-
+
use local::lib "~/myown_perllib";
-
+
=back
-The last is particularly useful because it knows about machine
-dependent architectures. The C<lib.pm> pragmatic module was first
+The last is particularly useful because it knows about machine-dependent
+architectures. The C<lib.pm> pragmatic module was first
included with the 5.002 release of Perl.
=head2 What is socket.ph and where do I get it?
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod
index fa9ef116737..d00d918deb2 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod
@@ -19,8 +19,6 @@ comp.infosystems.www.authoring.cgi
The CGI specification is outlined in an informational RFC:
http://www.ietf.org/rfc/rfc3875
-Other relevant documentation listed in: http://www.perl.org/CGI_MetaFAQ.html
-
These Perl FAQs very selectively cover some CGI issues. However, Perl
programmers are strongly advised to use the C<CGI.pm> module, to take care
of the details for them.
@@ -38,37 +36,27 @@ job to create an accurate HTTP response based on it). So "\n" written in
text mode is technically correct, and recommended. NPH scripts are more
tricky: they must put out a complete and accurate set of HTTP
transaction response headers; the HTTP specification calls for records
-to be terminated with carriage-return and line-feed, i.e ASCII \015\012
+to be terminated with carriage-return and line-feed; i.e., ASCII \015\012
written in binary mode.
Using C<CGI.pm> gives excellent platform independence, including EBCDIC
systems. C<CGI.pm> selects an appropriate newline representation
(C<$CGI::CRLF>) and sets binmode as appropriate.
-=head2 My CGI script runs from the command line but not the browser. (500 Server Error)
-
-Several things could be wrong. You can go through the "Troubleshooting
-Perl CGI scripts" guide at
+=head2 My CGI script runs from the command line but not the browser. (500 Server Error)
- http://www.perl.org/troubleshooting_CGI.html
-
-If, after that, you can demonstrate that you've read the FAQs and that
-your problem isn't something simple that can be easily answered, you'll
-probably receive a courteous and useful reply to your question if you
-post it on comp.infosystems.www.authoring.cgi (if it's something to do
-with HTTP or the CGI protocols). Questions that appear to be Perl
-questions but are really CGI ones that are posted to comp.lang.perl.misc
-are not so well received.
+(contributed by brian d foy)
-The useful FAQs, related documents, and troubleshooting guides are
-listed in the CGI Meta FAQ:
+There are many things that might be wrong with your CGI program, and only
+some of them might be related to Perl. Try going through the troubleshooting
+guide on Perlmonks:
- http://www.perl.org/CGI_MetaFAQ.html
+ http://www.perlmonks.org/?node_id=380424
=head2 How can I get better error messages from a CGI program?
Use the C<CGI::Carp> module. It replaces C<warn> and C<die>, plus the
-normal C<Carp> modules C<carp>, C<croak>, and C<confess> functions with
+normal C<Carp> module's C<carp>, C<croak>, and C<confess> functions with
more verbose and safer versions. It still sends them to the normal
server error log.
@@ -108,13 +96,13 @@ attempts to do a little simple formatting of the resulting plain text.
Many folks attempt a simple-minded regular expression approach, like
C<< s/<.*?>//g >>, but that fails in many cases because the tags
may continue over line breaks, they may contain quoted angle-brackets,
-or HTML comment may be present. Plus, folks forget to convert
+or HTML comments may be present. Plus, folks forget to convert
entities--like C<&lt;> for example.
Here's one "simple-minded" approach, that works for most files:
#!/usr/bin/perl -p0777
- s/<(?:[^>'"]*|(['"]).*?\1)*>//gs
+ s/<(?:[^>'"]*|(['"]).*?\g1)*>//gs
If you want a more complete solution, see the 3-stage striphtml
program in
@@ -159,14 +147,14 @@ You can use C<URI::Find> to extract URLs from an arbitrary text document.
Less complete solutions involving regular expressions can save
you a lot of processing time if you know that the input is simple. One
solution from Tom Christiansen runs 100 times faster than most
-module based approaches but only extracts URLs from anchors where the first
+module-based approaches but only extracts URLs from anchors where the first
attribute is HREF and there are no other attributes.
#!/usr/bin/perl -n00
# qxurl - tchrist@perl.com
print "$2\n" while m{
< \s*
- A \s+ HREF \s* = \s* (["']) (.*?) \1
+ A \s+ HREF \s* = \s* (["']) (.*?) \g1
\s* >
}gsix;
@@ -273,7 +261,7 @@ either on the way in or the way out.
If you have to encode a string yourself, remember that you should
never try to encode an already-composed URI. You need to escape the
components separately then put them together. To encode a string, you
-can use the the C<URI::Escape> module. The C<uri_escape> function
+can use the C<URI::Escape> module. The C<uri_escape> function
returns the escaped string:
my $original = "Colon : Hash # Percent %";
@@ -351,9 +339,21 @@ a DBI compatible driver. C<HTTPD::UserAdmin> supports files used by the
=head2 How do I make sure users can't enter values into a form that cause my CGI script to do bad things?
-See the security references listed in the CGI Meta FAQ
+(contributed by brian d foy)
+
+You can't prevent people from sending your script bad data. Even if
+you add some client-side checks, people may disable them or bypass
+them completely. For instance, someone might use a module such as
+C<LWP> to access your CGI program. If you want to prevent data that
+try to use SQL injection or other sorts of attacks (and you should
+want to), you have to not trust any data that enter your program.
- http://www.perl.org/CGI_MetaFAQ.html
+The L<perlsec> documentation has general advice about data security.
+If you are using the C<DBI> module, use placeholder to fill in data.
+If you are running external programs with C<system> or C<exec>, use
+the list forms. There are many other precautions that you should take,
+too many to list here, and most of them fall under the category of not
+using any data that you don't intend to use. Trust no one.
=head2 How do I parse a mail header?
@@ -657,12 +657,23 @@ This can make tasks like fetching the newsgroup list as simple as
=head2 How do I fetch/put an FTP file?
-C<LWP::Simple> (available from CPAN) can fetch but not put. C<Net::FTP> (also
-available from CPAN) is more complex but can put as well as fetch.
+(contributed by brian d foy)
+
+The C<LWP> family of modules (available on CPAN as the libwww-perl distribution)
+can work with FTP just like it can with many other protocols. C<LWP::Simple>
+makes it quite easy to fetch a file:
+
+ use LWP::Simple;
+
+ my $data = get( 'ftp://some.ftp.site/some/file.txt' );
+
+If you want more direct or low-level control of the FTP process, you can use
+the C<Net::FTP> module (in the Standard Library since Perl 5.8). It's
+documentation has examples showing you just how to do that.
=head2 How can I do RPC in Perl?
-(Contributed by brian d foy)
+(contributed by brian d foy)
Use one of the RPC modules you can find on CPAN (
http://search.cpan.org/search?query=RPC&mode=all ).
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfilter.pod b/Master/tlpkg/tlperl/lib/pods/perlfilter.pod
index ca5cfd9fb2e..27061883c1f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfilter.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfilter.pod
@@ -217,7 +217,7 @@ difficult for the potential cracker. The most important: Write your
decryption filter in C and statically link the decryption module into
the Perl binary. For further tips to make life difficult for the
potential cracker, see the file I<decrypt.pm> in the source filters
-module.
+distribution.
=back
@@ -234,7 +234,7 @@ The source filter distribution includes two modules that simplify this
task: C<Filter::exec> and C<Filter::sh>. Both allow you to run any
external executable. Both use a coprocess to control the flow of data
into and out of the external executable. (For details on coprocesses,
-see Stephens, W.R. "Advanced Programming in the UNIX Environment."
+see Stephens, W.R., "Advanced Programming in the UNIX Environment."
Addison-Wesley, ISBN 0-210-56317-7, pages 441-445.) The difference
between them is that C<Filter::exec> spawns the external command
directly, while C<Filter::sh> spawns a shell to execute the external
@@ -388,9 +388,9 @@ Two special marker lines will bracket debugging code, like this:
}
## DEBUG_END
-When the C<DEBUG> environment variable exists, the filter ensures that
-Perl parses only the code between the C<DEBUG_BEGIN> and C<DEBUG_END>
-markers. That means that when C<DEBUG> does exist, the code above
+The filter ensures that Perl parses the code between the <DEBUG_BEGIN>
+and C<DEBUG_END> markers only when the C<DEBUG> environment variable
+exists. That means that when C<DEBUG> does exist, the code above
should be passed through the filter unchanged. The marker lines can
also be passed through as-is, because the Perl parser will see them as
comment lines. When C<DEBUG> isn't set, we need a way to disable the
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfork.pod b/Master/tlpkg/tlperl/lib/pods/perlfork.pod
index 48d65ed4c58..709d053d28e 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfork.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfork.pod
@@ -37,7 +37,7 @@ thread that implements this child "process" as the pseudo-process.
To the Perl program that called fork(), all this is designed to be
transparent. The parent returns from the fork() with a pseudo-process
-ID that can be subsequently used in any process manipulation functions;
+ID that can be subsequently used in any process-manipulation functions;
the child returns from the fork() with a value of C<0> to signify that
it is the child pseudo-process.
@@ -77,12 +77,24 @@ and return its status.
=item kill()
-kill() can be used to terminate a pseudo-process by passing it the ID returned
-by fork(). This should not be used except under dire circumstances, because
-the operating system may not guarantee integrity of the process resources
-when a running thread is terminated. Note that using kill() on a
-pseudo-process() may typically cause memory leaks, because the thread that
-implements the pseudo-process does not get a chance to clean up its resources.
+C<kill('KILL', ...)> can be used to terminate a pseudo-process by
+passing it the ID returned by fork(). This should not be used except
+under dire circumstances, because the operating system may not
+guarantee integrity of the process resources when a running thread is
+terminated. Note that using C<kill('KILL', ...)> on a
+pseudo-process() may typically cause memory leaks, because the thread
+that implements the pseudo-process does not get a chance to clean up
+its resources.
+
+C<kill('TERM', ...)> can also be used on pseudo-processes, but the
+signal will not be delivered while the pseudo-process is blocked by a
+system call, e.g. waiting for a socket to connect, or trying to read
+from a socket with no data available. Starting in Perl 5.14 the
+parent process will not wait for children to exit once they have been
+signalled with C<kill('TERM', ...)> to avoid deadlock during process
+exit. You will have to explicitly call waitpid() to make sure the
+child has time to clean-up itself, but you are then also responsible
+that the child is not blocking on I/O either.
=item exec()
@@ -137,11 +149,12 @@ to complete before they exit. This means that the parent and every
pseudo-child created by it that is also a pseudo-parent will only exit
after their pseudo-children have exited.
-A way to mark a pseudo-processes as running detached from their parent (so
-that the parent would not have to wait() for them if it doesn't want to)
-will be provided in future.
+Starting with Perl 5.14 a parent will not wait() automatically
+for any child that has been signalled with C<sig('TERM', ...)>
+to avoid a deadlock in case the child is blocking on I/O and
+never receives the signal.
-=head2 CAVEATS AND LIMITATIONS
+=head1 CAVEATS AND LIMITATIONS
=over 8
@@ -184,9 +197,22 @@ On some operating systems, notably Solaris and Unixware, calling C<exit()>
from a child process will flush and close open filehandles in the parent,
thereby corrupting the filehandles. On these systems, calling C<_exit()>
is suggested instead. C<_exit()> is available in Perl through the
-C<POSIX> module. Please consult your systems manpages for more information
+C<POSIX> module. Please consult your system's manpages for more information
on this.
+=item Open directory handles
+
+Perl will completely read from all open directory handles until they
+reach the end of the stream. It will then seekdir() back to the
+original location and all future readdir() requests will be fulfilled
+from the cache buffer. That means that neither the directory handle held
+by the parent process nor the one held by the child process will see
+any changes made to the directory after the fork() call.
+
+Note that rewinddir() has a similar limitation on Windows and will not
+force readdir() to read the directory again either. Only a newly
+opened directory handle will reflect changes to the directory.
+
=item Forking pipe open() not yet implemented
The C<open(FOO, "|-")> and C<open(BAR, "-|")> constructs are not yet
diff --git a/Master/tlpkg/tlperl/lib/pods/perlform.pod b/Master/tlpkg/tlperl/lib/pods/perlform.pod
index 3cfa1b768d0..a2aa6588b76 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlform.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlform.pod
@@ -65,7 +65,7 @@ X<@*> X<^*> X<~> X<~~>
< pad character for left justification
| pad character for centering
> pad character for right justification
- # pad character for a right justified numeric field
+ # pad character for a right-justified numeric field
0 instead of first #: pad number with leading zeroes
. decimal point within a numeric field
... terminate a text field, show "..." as truncation evidence
@@ -122,7 +122,7 @@ filled with "#" as overflow evidence.
42 3.142 0.000 0 ####
-=head2 The Field @* for Variable Width Multi-Line Text
+=head2 The Field @* for Variable-Width Multi-Line Text
X<@*>
The field "@*" can be used for printing multi-line, nontruncated
@@ -130,10 +130,10 @@ values; it should (but need not) appear by itself on a line. A final
line feed is chomped off, but all other characters are emitted verbatim.
-=head2 The Field ^* for Variable Width One-line-at-a-time Text
+=head2 The Field ^* for Variable-Width One-line-at-a-time Text
X<^*>
-Like "@*", this is a variable width field. The value supplied must be a
+Like "@*", this is a variable-width field. The value supplied must be a
scalar variable. Perl puts the first line (up to the first "\n") of the
text into the field, and then chops off the front of the string so that
the next time the variable is referenced, more of the text can be printed.
@@ -166,9 +166,9 @@ token on the first line. If an expression evaluates to a number with a
decimal part, and if the corresponding picture specifies that the decimal
part should appear in the output (that is, any picture except multiple "#"
characters B<without> an embedded "."), the character used for the decimal
-point is B<always> determined by the current LC_NUMERIC locale. This
-means that, if, for example, the run-time environment happens to specify a
-German locale, "," will be used instead of the default ".". See
+point is determined by the current LC_NUMERIC locale if C<use locale> is in
+effect. This means that, if, for example, the run-time environment happens
+to specify a German locale, "," will be used instead of the default ".". See
L<perllocale> and L<"WARNINGS"> for more information.
@@ -182,7 +182,7 @@ the field, and then chops off the front of the string so that the next time
the variable is referenced, more of the text can be printed. (Yes, this
means that the variable itself is altered during execution of the write()
call, and is not restored.) The next portion of text is determined by
-a crude line breaking algorithm. You may use the carriage return character
+a crude line-breaking algorithm. You may use the carriage return character
(C<\r>) to force a line break. You can change which characters are legal
to break on by changing the variable C<$:> (that's
$FORMAT_LINE_BREAK_CHARACTERS if you're using the English module) to a
@@ -291,7 +291,7 @@ one to affect them:
Pretty ugly, eh? It's a common idiom though, so don't be too surprised
when you see it. You can at least use a temporary variable to hold
the previous filehandle: (this is a much better approach in general,
-because not only does legibility improve, you now have intermediary
+because not only does legibility improve, you now have an intermediary
stage in the expression to single-step the debugger through):
$ofh = select(OUTF);
@@ -393,7 +393,7 @@ by checking $FORMAT_LINES_LEFT before each write() and print the footer
yourself if necessary.
Here's another strategy: Open a pipe to yourself, using C<open(MYSELF, "|-")>
-(see L<perlfunc/open()>) and always write() to MYSELF instead of STDOUT.
+(see L<perlfunc/"open FILEHANDLE">) and always write() to MYSELF instead of STDOUT.
Have your child process massage its STDIN to rearrange headers and footers
however you like. Not very convenient, but doable.
@@ -442,17 +442,13 @@ Lexical variables (declared with "my") are not visible within a
format unless the format is declared within the scope of the lexical
variable. (They weren't visible at all before version 5.001.)
-Formats are the only part of Perl that unconditionally use information
-from a program's locale; if a program's environment specifies an
-LC_NUMERIC locale, it is always used to specify the decimal point
-character in formatted output. Perl ignores all other aspects of locale
-handling unless the C<use locale> pragma is in effect. Formatted output
-cannot be controlled by C<use locale> because the pragma is tied to the
-block structure of the program, and, for historical reasons, formats
-exist outside that block structure. See L<perllocale> for further
-discussion of locale handling.
-
-Within strings that are to be displayed in a fixed length text field,
+If a program's environment specifies an LC_NUMERIC locale and C<use
+locale> is in effect when the format is declared, the locale is used
+to specify the decimal point character in formatted output. Formatted
+output cannot be controlled by C<use locale> at the time when write()
+is called. See L<perllocale> for further discussion of locale handling.
+
+Within strings that are to be displayed in a fixed-length text field,
each control character is substituted by a space. (But remember the
special meaning of C<\r> when using fill mode.) This is done to avoid
misalignment when control characters "disappear" on some output media.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod b/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod
index 77c297bec6d..00a40593a36 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod
@@ -24,20 +24,12 @@ which has been integrated into FreeBSD 4.6.
perl 5.8.0 sets C<$^X> where possible to a full path by asking the operating
system. On FreeBSD the full path of the perl interpreter is found by reading
-the symlink F</proc/curproc/file>. There is a bug on FreeBSD, where the
-result of reading this symlink is can be wrong in certain circumstances
+the symlink F</proc/curproc/file>. FreeBSD has a bug where reading this
+symlink sometimes returns an incorrect value
(see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ).
In these cases perl will fall back to the old behaviour of using C's
argv[0] value for C<$^X>.
-=head2 Perl will no longer be part of "base FreeBSD"
-
-Not as bad as it sounds--what this means is that Perl will no longer be
-part of the B<kernel build system> of FreeBSD. Perl will still very
-probably be part of the "default install", and in any case the latest
-version will be in the ports system. The first FreeBSD version this
-change will affect is 5.0, all 4.n versions will keep the status quo.
-
=head1 AUTHOR
Nicholas Clark <nick@ccl4.org>, collating wisdom supplied by Slaven Rezic
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfunc.pod b/Master/tlpkg/tlperl/lib/pods/perlfunc.pod
index 6b454cc9a59..2ee3637c121 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfunc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfunc.pod
@@ -12,7 +12,7 @@ following comma. (See the precedence table in L<perlop>.) List
operators take more than one argument, while unary operators can never
take more than one argument. Thus, a comma terminates the argument of
a unary operator, but merely separates the arguments of a list
-operator. A unary operator generally provides a scalar context to its
+operator. A unary operator generally provides scalar context to its
argument, while a list operator may provide either scalar or list
contexts for its arguments. If it does both, scalar arguments
come first and list argument follow, and there can only ever
@@ -55,8 +55,8 @@ and C<endpwent>. For example, C<time+86_400> always means
C<time() + 86_400>.
For functions that can be used in either a scalar or list context,
-nonabortive failure is generally indicated in a scalar context by
-returning the undefined value, and in a list context by returning the
+nonabortive failure is generally indicated in scalar context by
+returning the undefined value, and in list context by returning the
empty list.
Remember the following important rule: There is B<no rule> that relates
@@ -79,10 +79,10 @@ there, not the list construction version of the comma. That means it
was never a list to start with.
In general, functions in Perl that serve as wrappers for system calls ("syscalls")
-of the same name (like chown(2), fork(2), closedir(2), etc.) all return
+of the same name (like chown(2), fork(2), closedir(2), etc.) return
true when they succeed and C<undef> otherwise, as is usually mentioned
in the descriptions below. This is different from the C interfaces,
-which return C<-1> on failure. Exceptions to this rule are C<wait>,
+which return C<-1> on failure. Exceptions to this rule include C<wait>,
C<waitpid>, and C<syscall>. System calls also set the special C<$!>
variable on failure. Other functions do not, except accidentally.
@@ -125,7 +125,7 @@ C<sin>, C<sqrt>, C<srand>
=item Functions for real @ARRAYs
X<array>
-C<pop>, C<push>, C<shift>, C<splice>, C<unshift>
+C<each>, C<keys>, C<pop>, C<push>, C<shift>, C<splice>, C<unshift>, C<values>
=item Functions for list data
X<list>
@@ -146,7 +146,7 @@ C<readdir>, C<rewinddir>, C<say>, C<seek>, C<seekdir>, C<select>, C<syscall>,
C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>, C<truncate>,
C<warn>, C<write>
-=item Functions for fixed length data or records
+=item Functions for fixed-length data or records
C<pack>, C<read>, C<syscall>, C<sysread>, C<syswrite>, C<unpack>, C<vec>
@@ -164,20 +164,20 @@ X<control flow>
C<caller>, C<continue>, C<die>, C<do>, C<dump>, C<eval>, C<exit>,
C<goto>, C<last>, C<next>, C<redo>, C<return>, C<sub>, C<wantarray>
-=item Keywords related to switch
+=item Keywords related to the switch feature
-C<break>, C<continue>, C<given>, C<when>, C<default>
+C<break>, C<continue>, C<default, >C<given>, C<when>
-(These are available only if you enable the C<"switch"> feature.
-See L<feature> and L<perlsyn/"Switch statements">.)
+These are available only if you enable the C<"switch"> feature.
+See L<feature> and L<perlsyn/"Switch statements">.
+Alternately, include a C<use v5.10> or later to the current scope.
=item Keywords related to scoping
-C<caller>, C<import>, C<local>, C<my>, C<our>, C<state>, C<package>,
-C<use>
+C<caller>, C<import>, C<local>, C<my>, C<our>, C<package>, C<state>, C<use>
-(C<state> is available only if the C<"state"> feature is enabled. See
-L<feature>.)
+C<state> is available only if the C<"state"> feature is enabled. See
+L<feature>. Alternately, include a C<use v5.10> or later to the current scope.
=item Miscellaneous functions
@@ -259,7 +259,7 @@ X<portability> X<Unix> X<portable>
Perl was born in Unix and can therefore access all common Unix
system calls. In non-Unix environments, the functionality of some
-Unix system calls may not be available, or details of the available
+Unix system calls may not be available or details of the available
functionality may differ slightly. The Perl functions affected
by this are:
@@ -349,6 +349,20 @@ Example:
#...
}
+Note that C<-s/a/b/> does not do a negated substitution. Saying
+C<-exp($foo)> still works as expected, however: only single letters
+following a minus are interpreted as file tests.
+
+These operators are exempt from the "looks like a function rule" described
+above. That is, an opening parenthesis after the operator does not affect
+how much of the following code constitutes the argument. Put the opening
+parentheses before the operator to separate it from code that follows (this
+applies only to operators with higher precedence than unary operators, of
+course):
+
+ -s($file) + 1024 # probably wrong; same as -s($file + 1024)
+ (-s $file) + 1024 # correct
+
The interpretation of the file permission operators C<-r>, C<-R>,
C<-w>, C<-W>, C<-x>, and C<-X> is by default based solely on the mode
of the file and the uids and gids of the user. There may be other
@@ -367,8 +381,8 @@ or temporarily set their effective uid to something else.
If you are using ACLs, there is a pragma called C<filetest> that may
produce more accurate results than the bare stat() mode bits.
-When under the C<use filetest 'access'> the above-mentioned filetests
-test whether the permission can (not) be granted using the
+When under C<use filetest 'access'> the above-mentioned filetests
+test whether the permission can(not) be granted using the
access(2) family of system calls. Also note that the C<-x> and C<-X> may
under this pragma return true even if there are no execute permission
bits set (nor any extra execute permission ACLs). This strangeness is
@@ -378,10 +392,6 @@ filehandle won't cache the results of the file tests when this pragma is
in effect. Read the documentation for the C<filetest> pragma for more
information.
-Note that C<-s/a/b/> does not do a negated substitution. Saying
-C<-exp($foo)> still works as expected, however: only single letters
-following a minus are interpreted as file tests.
-
The C<-T> and C<-B> switches work as follows. The first block or so of the
file is examined for odd characters such as strange control codes or
characters with the high bit set. If too many strange characters (>30%)
@@ -393,7 +403,7 @@ file, or a file at EOF when testing a filehandle. Because you have to
read a file to do the C<-T> test, on most occasions you want to use a C<-f>
against the file first, as in C<next unless -f $file && -T $file>.
-If any of the file tests (or either the C<stat> or C<lstat> operators) are given
+If any of the file tests (or either the C<stat> or C<lstat> operator) is given
the special filehandle consisting of a solitary underline, then the stat
structure of the previous file test (or stat operator) is used, saving
a system call. (This doesn't work with C<-t>, and you need to remember
@@ -522,18 +532,18 @@ binary and text files. If FILEHANDLE is an expression, the value is
taken as the name of the filehandle. Returns true on success,
otherwise it returns C<undef> and sets C<$!> (errno).
-On some systems (in general, DOS and Windows-based systems) binmode()
+On some systems (in general, DOS- and Windows-based systems) binmode()
is necessary when you're not working with a text file. For the sake
-of portability it is a good idea to always use it when appropriate,
-and to never use it when it isn't appropriate. Also, people can
-set their I/O to be by default UTF-8 encoded Unicode, not bytes.
+of portability it is a good idea always to use it when appropriate,
+and never to use it when it isn't appropriate. Also, people can
+set their I/O to be by default UTF8-encoded Unicode, not bytes.
In other words: regardless of platform, use binmode() on binary data,
-like for example images.
+like images, for example.
If LAYER is present it is a single string, but may contain multiple
directives. The directives alter the behaviour of the filehandle.
-When LAYER is present using binmode on a text file makes sense.
+When LAYER is present, using binmode on a text file makes sense.
If LAYER is omitted or specified as C<:raw> the filehandle is made
suitable for passing binary data. This includes turning off possible CRLF
@@ -555,44 +565,45 @@ functionality has moved from "discipline" to "layer". All documentation
of this version of Perl therefore refers to "layers" rather than to
"disciplines". Now back to the regularly scheduled documentation...>
-To mark FILEHANDLE as UTF-8, use C<:utf8> or C<:encoding(utf8)>.
+To mark FILEHANDLE as UTF-8, use C<:utf8> or C<:encoding(UTF-8)>.
C<:utf8> just marks the data as UTF-8 without further checking,
-while C<:encoding(utf8)> checks the data for actually being valid
+while C<:encoding(UTF-8)> checks the data for actually being valid
UTF-8. More details can be found in L<PerlIO::encoding>.
In general, binmode() should be called after open() but before any I/O
is done on the filehandle. Calling binmode() normally flushes any
pending buffered output data (and perhaps pending input data) on the
handle. An exception to this is the C<:encoding> layer that
-changes the default character encoding of the handle, see L<open>.
+changes the default character encoding of the handle; see L</open>.
The C<:encoding> layer sometimes needs to be called in
mid-stream, and it doesn't flush the stream. The C<:encoding>
also implicitly pushes on top of itself the C<:utf8> layer because
internally Perl operates on UTF8-encoded Unicode characters.
The operating system, device drivers, C libraries, and Perl run-time
-system all work together to let the programmer treat a single
-character (C<\n>) as the line terminator, irrespective of the external
+system all conspire to let the programmer treat a single
+character (C<\n>) as the line terminator, irrespective of external
representation. On many operating systems, the native text file
representation matches the internal representation, but on some
platforms the external representation of C<\n> is made up of more than
one character.
-Mac OS, all variants of Unix, and Stream_LF files on VMS use a single
-character to end each line in the external representation of text (even
-though that single character is CARRIAGE RETURN on Mac OS and LINE FEED
-on Unix and most VMS files). In other systems like OS/2, DOS and the
-various flavors of MS-Windows your program sees a C<\n> as a simple C<\cJ>,
-but what's stored in text files are the two characters C<\cM\cJ>. That
-means that, if you don't use binmode() on these systems, C<\cM\cJ>
-sequences on disk will be converted to C<\n> on input, and any C<\n> in
-your program will be converted back to C<\cM\cJ> on output. This is what
-you want for text files, but it can be disastrous for binary files.
+All variants of Unix, Mac OS (old and new), and Stream_LF files on VMS use
+a single character to end each line in the external representation of text
+(even though that single character is CARRIAGE RETURN on old, pre-Darwin
+flavors of Mac OS, and is LINE FEED on Unix and most VMS files). In other
+systems like OS/2, DOS, and the various flavors of MS-Windows, your program
+sees a C<\n> as a simple C<\cJ>, but what's stored in text files are the
+two characters C<\cM\cJ>. That means that if you don't use binmode() on
+these systems, C<\cM\cJ> sequences on disk will be converted to C<\n> on
+input, and any C<\n> in your program will be converted back to C<\cM\cJ> on
+output. This is what you want for text files, but it can be disastrous for
+binary files.
Another consequence of using binmode() (on some systems) is that
special end-of-file markers will be seen as part of the data stream.
-For systems from the Microsoft family this means that if your binary
-data contains C<\cZ>, the I/O subsystem will regard it as the end of
+For systems from the Microsoft family this means that, if your binary
+data contain C<\cZ>, the I/O subsystem will regard it as the end of
the file, unless you use binmode().
binmode() is important not only for readline() and print() operations,
@@ -626,8 +637,9 @@ See L<perlmod/"Perl Modules">.
Break out of a C<given()> block.
-This keyword is enabled by the C<"switch"> feature: see L<feature>
-for more information.
+This keyword is enabled by the C<"switch"> feature: see
+L<feature> for more information. Alternately, include a C<use
+v5.10> or later to the current scope.
=item caller EXPR
X<caller> X<call stack> X<stack> X<stack trace>
@@ -681,7 +693,7 @@ might not return information about the call frame you expect it to, for
C<< N > 1 >>. In particular, C<@DB::args> might have information from the
previous time C<caller> was called.
-Also be aware that setting C<@DB::args> is I<best effort>, intended for
+Be aware that setting C<@DB::args> is I<best effort>, intended for
debugging or generating backtraces, and should not be relied upon. In
particular, as C<@_> contains aliases to the caller's arguments, Perl does
not take a copy of C<@_>, so C<@DB::args> will contain modifications the
@@ -689,9 +701,9 @@ subroutine makes to C<@_> or its contents, not the original values at call
time. C<@DB::args>, like C<@_>, does not hold explicit references to its
elements, so under certain cases its elements may have become freed and
reallocated for other variables or temporary values. Finally, a side effect
-of the current implementation means that the effects of C<shift @_> can
-I<normally> be undone (but not C<pop @_> or other splicing, and not if a
-reference to C<@_> has been taken, and subject to the caveat about reallocated
+of the current implementation is that the effects of C<shift @_> can
+I<normally> be undone (but not C<pop @_> or other splicing, I<and> not if a
+reference to C<@_> has been taken, I<and> subject to the caveat about reallocated
elements), so C<@DB::args> is actually a hybrid of the current state and
initial state of C<@_>. Buyer beware.
@@ -714,17 +726,17 @@ neither is set, C<chdir> does nothing. It returns true on success,
false otherwise. See the example under C<die>.
On systems that support fchdir(2), you may pass a filehandle or
-directory handle as argument. On systems that don't support fchdir(2),
+directory handle as the argument. On systems that don't support fchdir(2),
passing handles raises an exception.
=item chmod LIST
X<chmod> X<permission> X<mode>
Changes the permissions of a list of files. The first element of the
-list must be the numerical mode, which should probably be an octal
+list must be the numeric mode, which should probably be an octal
number, and which definitely should I<not> be a string of octal digits:
C<0644> is okay, but C<"0644"> is not. Returns the number of files
-successfully changed. See also L</oct>, if all you have is a string.
+successfully changed. See also L</oct> if all you have is a string.
$cnt = chmod 0755, "foo", "bar";
chmod 0755, @executables;
@@ -764,7 +776,7 @@ remove the newline from the end of an input record when you're worried
that the final record may be missing its newline. When in paragraph
mode (C<$/ = "">), it removes all trailing newlines from the string.
When in slurp mode (C<$/ = undef>) or fixed-length record mode (C<$/> is
-a reference to an integer or the like, see L<perlvar>) chomp() won't
+a reference to an integer or the like; see L<perlvar>) chomp() won't
remove anything.
If VARIABLE is omitted, it chomps C<$_>. Example:
@@ -893,7 +905,7 @@ X<close>
Closes the file or pipe associated with the filehandle, flushes the IO
buffers, and closes the system file descriptor. Returns true if those
-operations have succeeded and if no error was reported by any PerlIO
+operations succeed and if no error was reported by any PerlIO
layer. Closes the currently selected filehandle if the argument is
omitted.
@@ -910,6 +922,10 @@ on the pipe to exit--in case you wish to look at the output of the pipe
afterwards--and implicitly puts the exit status value of that command into
C<$?> and C<${^CHILD_ERROR_NATIVE}>.
+If there are multiple threads running, C<close> on a filehandle from a
+piped open returns true without waiting for the child process to terminate,
+if the filehandle is still open in another thread.
+
Closing the read end of a pipe before the process writing to it at the
other end is done writing results in the writer receiving a SIGPIPE. If
the other end can't handle that, be sure to read all the data before
@@ -927,7 +943,7 @@ Example:
or die "Can't open 'foo' for input: $!";
FILEHANDLE may be an expression whose value can be used as an indirect
-filehandle, usually the real filehandle name.
+filehandle, usually the real filehandle name or an autovivified handle.
=item closedir DIRHANDLE
X<closedir>
@@ -975,11 +991,11 @@ Omitting the C<continue> section is equivalent to using an
empty one, logically enough, so C<next> goes directly back
to check the condition at the top of the loop.
-If the C<"switch"> feature is enabled, C<continue> is also a
-function that exits the current C<when> (or C<default>) block and
-falls through to the next one. See L<feature> and
-L<perlsyn/"Switch statements"> for more information.
-
+If the C<"switch"> feature is enabled, C<continue> is also a function that
+falls through the current C<when> or C<default> block instead of iterating
+a dynamically enclosing C<foreach> or exiting a lexically enclosing C<given>.
+See L<feature> and L<perlsyn/"Switch statements"> for more
+information.
=item cos EXPR
X<cos> X<cosine> X<acos> X<arccosine>
@@ -987,7 +1003,7 @@ X<cos> X<cosine> X<acos> X<arccosine>
=item cos
Returns the cosine of EXPR (expressed in radians). If EXPR is omitted,
-takes cosine of C<$_>.
+takes the cosine of C<$_>.
For the inverse cosine operation, you may use the C<Math::Trig::acos()>
function, or use this relation:
@@ -1002,7 +1018,7 @@ Creates a digest string exactly like the crypt(3) function in the C
library (assuming that you actually have a version there that has not
been extirpated as a potential munition).
-crypt() is a one-way hash function. The PLAINTEXT and SALT is turned
+crypt() is a one-way hash function. The PLAINTEXT and SALT are turned
into a short string, called a digest, which is returned. The same
PLAINTEXT and SALT will always return the same string, but there is no
(known) way to get the original PLAINTEXT from the hash. Small
@@ -1017,16 +1033,16 @@ having to transmit or store the text itself. An example is checking
if a correct password is given. The digest of the password is stored,
not the password itself. The user types in a password that is
crypt()'d with the same salt as the stored digest. If the two digests
-match the password is correct.
+match, the password is correct.
When verifying an existing digest string you should use the digest as
the salt (like C<crypt($plain, $digest) eq $digest>). The SALT used
to create the digest is visible as part of the digest. This ensures
crypt() will hash the new string with the same salt as the digest.
This allows your code to work with the standard L<crypt|/crypt> and
-with more exotic implementations. In other words, do not assume
-anything about the returned string itself, or how many bytes in the
-digest matter.
+with more exotic implementations. In other words, assume
+nothing about the returned string itself nor about how many bytes
+of SALT may matter.
Traditionally the result is a string of 13 bytes: two first bytes of
the salt, followed by 11 bytes from the set C<[./0-9A-Za-z]>, and only
@@ -1068,7 +1084,7 @@ back. Look at the L<Digest> module for more robust algorithms.
If using crypt() on a Unicode string (which I<potentially> has
characters with codepoints above 255), Perl tries to make sense
-of the situation by trying to downgrade (a copy of the string)
+of the situation by trying to downgrade (a copy of)
the string back to an eight-bit byte string before calling crypt()
(on that copy). If that works, good. If not, crypt() dies with
C<Wide character in crypt>.
@@ -1123,6 +1139,12 @@ before you call dbmopen():
dbmopen(%NS_Hist, "$ENV{HOME}/.netscape/history.db")
or die "Can't open netscape history file: $!";
+=item default BLOCK
+
+Within a C<foreach> or a C<given>, a C<default> BLOCK acts like a C<when>
+that's always true. Only available after Perl 5.10, and only if the
+C<switch> feature has been requested. See L</when>.
+
=item defined EXPR
X<defined> X<undef> X<undefined>
@@ -1150,7 +1172,7 @@ makes it spring into existence the first time that it is called; see
L<perlsub>.
Use of C<defined> on aggregates (hashes and arrays) is deprecated. It
-used to report whether memory for that aggregate has ever been
+used to report whether memory for that aggregate had ever been
allocated. This behavior may disappear in future versions of Perl.
You should instead use a simple test for size:
@@ -1163,14 +1185,14 @@ purpose.
Examples:
- print if defined $switch{'D'};
+ print if defined $switch{D};
print "$val\n" while defined($val = pop(@ary));
die "Can't readlink $sym: $!"
unless defined($value = readlink $sym);
sub foo { defined &$bar ? &$bar(@_) : die "No bar"; }
$debugging = 0 unless defined $debugging;
-Note: Many folks tend to overuse C<defined>, and then are surprised to
+Note: Many folks tend to overuse C<defined> and are then surprised to
discover that the number C<0> and C<""> (the zero-length string) are, in fact,
defined values. For example, if you say
@@ -1195,7 +1217,7 @@ deletes the specified elements from that hash so that exists() on that element
no longer returns true. Setting a hash element to the undefined value does
not remove its key, but deleting it does; see L</exists>.
-It returns the value or values deleted in list context, or the last such
+In list context, returns the value or values deleted, or the last such
element in scalar context. The return list's length always matches that of
the argument list: deleting non-existent elements returns the undefined value
in their corresponding positions.
@@ -1207,7 +1229,7 @@ or splice() for that. However, if all deleted elements fall at the end of an
array, the array's size shrinks to the position of the highest element that
still tests true for exists(), or to 0 if none do.
-B<Be aware> that calling delete on array values is deprecated and likely to
+B<WARNING:> Calling delete on array values is deprecated and likely to
be removed in a future version of Perl.
Deleting from C<%ENV> modifies the environment. Deleting from a hash tied to
@@ -1267,7 +1289,7 @@ C<die> raises an exception. Inside an C<eval> the error message is stuffed
into C<$@> and the C<eval> is terminated with the undefined value.
If the exception is outside of all enclosing C<eval>s, then the uncaught
exception prints LIST to C<STDERR> and exits with a non-zero value. If you
-need to exit the process with a specific exit code, see L<exit>.
+need to exit the process with a specific exit code, see L</exit>.
Equivalent examples:
@@ -1303,7 +1325,7 @@ This is useful for propagating exceptions:
If the output is empty and C<$@> contains an object reference that has a
C<PROPAGATE> method, that method will be called with additional file
and line number parameters. The return value replaces the value in
-C<$@>. i.e., as if C<< $@ = eval { $@->PROPAGATE(__FILE__, __LINE__) }; >>
+C<$@>; i.e., as if C<< $@ = eval { $@->PROPAGATE(__FILE__, __LINE__) }; >>
were called.
If C<$@> is empty then the string C<"Died"> is used.
@@ -1351,7 +1373,7 @@ You can arrange for a callback to be run just before the C<die>
does its deed, by setting the C<$SIG{__DIE__}> hook. The associated
handler is called with the error text and can change the error
message, if it sees fit, by calling C<die> again. See
-L<perlvar/$SIG{expr}> for details on setting C<%SIG> entries, and
+L<perlvar/%SIG> for details on setting C<%SIG> entries, and
L<"eval BLOCK"> for some examples. Although this feature was
to be run only right before your program was to exit, this is not
currently so: the C<$SIG{__DIE__}> hook is currently called
@@ -1382,7 +1404,8 @@ See L<perlsyn> for alternative strategies.
=item do SUBROUTINE(LIST)
X<do>
-This form of subroutine call is deprecated. See L<perlsub>.
+This form of subroutine call is deprecated. SUBROUTINE can be a bareword,
+a scalar variable or a subroutine beginning with C<&>.
=item do EXPR
X<do>
@@ -1397,18 +1420,18 @@ is just like
eval `cat stat.pl`;
except that it's more efficient and concise, keeps track of the current
-filename for error messages, searches the @INC directories, and updates
-C<%INC> if the file is found. See L<perlvar/Predefined Names> for these
-variables. It also differs in that code evaluated with C<do FILENAME>
+filename for error messages, searches the C<@INC> directories, and updates
+C<%INC> if the file is found. See L<perlvar/@INC> and L<perlvar/%INC> for
+these variables. It also differs in that code evaluated with C<do FILENAME>
cannot see lexicals in the enclosing scope; C<eval STRING> does. It's the
same, however, in that it does reparse the file every time you call it,
so you probably don't want to do this inside a loop.
-If C<do> cannot read the file, it returns undef and sets C<$!> to the
-error. If C<do> can read the file but cannot compile it, it
-returns undef and sets an error message in C<$@>. If the file is
-successfully compiled, C<do> returns the value of the last expression
-evaluated.
+If C<do> can read the file but cannot compile it, it returns C<undef> and sets
+an error message in C<$@>. If C<do> cannot read the file, it returns undef
+and sets C<$!> to the error. Always check C<$@> first, as compilation
+could fail in a way that also sets C<$!>. If the file is successfully
+compiled, C<do> returns the value of the last expression evaluated.
Inclusion of library modules is better done with the
C<use> and C<require> operators, which also do automatic error checking
@@ -1458,6 +1481,8 @@ X<each> X<hash, iterator>
=item each ARRAY
X<array, iterator>
+=item each EXPR
+
When called in list context, returns a 2-element list consisting of the key
and value for the next element of a hash, or the index and value for the
next element of an array, so that you can iterate over it. When called in
@@ -1494,7 +1519,14 @@ but in a different order:
print "$key=$value\n";
}
-See also C<keys>, C<values> and C<sort>.
+Starting with Perl 5.14, C<each> can take a scalar EXPR, which must hold
+reference to an unblessed hash or array. The argument will be dereferenced
+automatically. This aspect of C<each> is considered highly experimental.
+The exact behaviour may change in a future version of Perl.
+
+ while (($key,$value) = each $hashref) { ... }
+
+See also C<keys>, C<values>, and C<sort>.
=item eof FILEHANDLE
X<eof>
@@ -1505,7 +1537,7 @@ X<end-of-file>
=item eof
-Returns 1 if the next read on FILEHANDLE will return end of file, or if
+Returns 1 if the next read on FILEHANDLE will return end of file I<or> if
FILEHANDLE is not open. FILEHANDLE may be an expression whose value
gives the real filehandle. (Note that this function actually
reads a character and then C<ungetc>s it, so isn't useful in an
@@ -1525,8 +1557,8 @@ and if you haven't set C<@ARGV>, will read input from C<STDIN>;
see L<perlop/"I/O Operators">.
In a C<< while (<>) >> loop, C<eof> or C<eof(ARGV)> can be used to
-detect the end of each file, C<eof()> will detect the end of only the
-last file. Examples:
+detect the end of each file, whereas C<eof()> will detect the end
+of the very last file only. Examples:
# reset line numbering on each input file
while (<>) {
@@ -1546,8 +1578,8 @@ last file. Examples:
}
Practical hint: you almost never need to use C<eof> in Perl, because the
-input operators typically return C<undef> when they run out of data, or if
-there was an error.
+input operators typically return C<undef> when they run out of data or
+encounter an error.
=item eval EXPR
X<eval> X<try> X<catch> X<evaluate> X<parse> X<execute>
@@ -1559,7 +1591,7 @@ X<error, handling> X<exception, handling>
In the first form, the return value of EXPR is parsed and executed as if it
were a little Perl program. The value of the expression (which is itself
-determined within scalar context) is first parsed, and if there weren't any
+determined within scalar context) is first parsed, and if there were no
errors, executed in the lexical context of the current Perl program, so
that any variable settings or subroutine and format definitions remain
afterwards. Note that the value is parsed every time the C<eval> executes.
@@ -1584,9 +1616,12 @@ itself. See L</wantarray> for more on how the evaluation context can be
determined.
If there is a syntax error or runtime error, or a C<die> statement is
-executed, C<eval> returns an undefined value in scalar context
-or an empty list in list context, and C<$@> is set to the
-error message. If there was no error, C<$@> is guaranteed to be the empty
+executed, C<eval> returns C<undef> in scalar context
+or an empty list--or, for syntax errors, a list containing a single
+undefined value--in list context, and C<$@> is set to the error
+message. The discrepancy in the return values in list context is
+considered a bug by some, and will probably be fixed in a future
+release. If there was no error, C<$@> is guaranteed to be the empty
string. Beware that using C<eval> neither silences Perl from printing
warnings to STDERR, nor does it stuff the text of warning messages into C<$@>.
To do either of those, you have to use the C<$SIG{__WARN__}> facility, or
@@ -1595,7 +1630,7 @@ See L</warn>, L<perlvar>, L<warnings> and L<perllexwarn>.
Note that, because C<eval> traps otherwise-fatal errors, it is useful for
determining whether a particular feature (such as C<socket> or C<symlink>)
-is implemented. It is also Perl's exception trapping mechanism, where
+is implemented. It is also Perl's exception-trapping mechanism, where
the die operator is used to raise exceptions.
If you want to trap errors when loading an XS module, some problems with
@@ -1666,8 +1701,9 @@ normally you I<would> like to use double quotes, except that in this
particular situation, you can just use symbolic references instead, as
in case 6.
-The assignment to C<$@> occurs before restoration of localised variables,
-which means a temporary is required if you want to mask some but not all
+Before Perl 5.14, the assignment to C<$@> occurred before restoration
+of localised variables, which means that for your code to run on older
+versions, a temporary is required if you want to mask some but not all
errors:
# alter $@ on nefarious repugnancy only
@@ -1676,7 +1712,7 @@ errors:
{
local $@; # protect existing $@
eval { test_repugnancy() };
- # $@ =~ /nefarious/ and die $@; # DOES NOT WORK
+ # $@ =~ /nefarious/ and die $@; # Perl 5.14 and higher only
$@ =~ /nefarious/ and $e = $@;
}
die $e if defined $e
@@ -1778,7 +1814,7 @@ corresponding value is undefined.
print "True\n" if $hash{$key};
exists may also be called on array elements, but its behavior is much less
-obvious, and is strongly tied to the use of L</delete> on arrays. B<Be aware>
+obvious and is strongly tied to the use of L</delete> on arrays. B<Be aware>
that calling exists on array values is deprecated and likely to be removed in
a future version of Perl.
@@ -1786,7 +1822,7 @@ a future version of Perl.
print "Defined\n" if defined $array[$index];
print "True\n" if $array[$index];
-A hash or array element can be true only if it's defined, and defined if
+A hash or array element can be true only if it's defined and defined only if
it exists, but the reverse doesn't necessarily hold true.
Given an expression that specifies the name of a subroutine,
@@ -1855,7 +1891,8 @@ which can be trapped by an C<eval>.
The exit() function does not always exit immediately. It calls any
defined C<END> routines first, but these C<END> routines may not
themselves abort the exit. Likewise any object destructors that need to
-be called are called before the real exit. If this is a problem, you
+be called are called before the real exit. C<END> routines and destructors
+can change the exit status by modifying C<$?>. If this is a problem, you
can call C<POSIX:_exit($status)> to avoid END and destructor processing.
See L<perlmod> for details.
@@ -1908,7 +1945,11 @@ on your own, though.
X<fileno>
Returns the file descriptor for a filehandle, or undefined if the
-filehandle is not open. This is mainly useful for constructing
+filehandle is not open. If there is no real file descriptor at the OS
+level, as can happen with filehandles connected to memory objects via
+C<open> with a reference for the third argument, -1 is returned.
+
+This is mainly useful for constructing
bitmaps for C<select> and low-level POSIX tty-handling operations.
If FILEHANDLE is an expression, the value is taken as an indirect
filehandle, generally its name.
@@ -1920,25 +1961,21 @@ same underlying descriptor:
print "THIS and THAT are dups\n";
}
-(Filehandles connected to memory objects via new features of C<open> may
-return undefined even though they are open.)
-
-
=item flock FILEHANDLE,OPERATION
X<flock> X<lock> X<locking>
Calls flock(2), or an emulation of it, on FILEHANDLE. Returns true
for success, false on failure. Produces a fatal error if used on a
machine that doesn't implement flock(2), fcntl(2) locking, or lockf(3).
-C<flock> is Perl's portable file locking interface, although it locks
+C<flock> is Perl's portable file-locking interface, although it locks
entire files only, not records.
Two potentially non-obvious but traditional C<flock> semantics are
that it waits indefinitely until the lock is granted, and that its locks
-B<merely advisory>. Such discretionary locks are more flexible, but offer
-fewer guarantees. This means that programs that do not also use C<flock>
-may modify files locked with C<flock>. See L<perlport>,
-your port's specific documentation, or your system-specific local manpages
+are B<merely advisory>. Such discretionary locks are more flexible, but
+offer fewer guarantees. This means that programs that do not also use
+C<flock> may modify files locked with C<flock>. See L<perlport>,
+your port's specific documentation, and your system-specific local manpages
for details. It's best to assume traditional behavior if you're writing
portable programs. (But if you're not, you should as always feel perfectly
free to write for your own system's idiosyncrasies (sometimes called
@@ -1947,11 +1984,11 @@ in the way of your getting your job done.)
OPERATION is one of LOCK_SH, LOCK_EX, or LOCK_UN, possibly combined with
LOCK_NB. These constants are traditionally valued 1, 2, 8 and 4, but
-you can use the symbolic names if you import them from the Fcntl module,
-either individually, or as a group using the ':flock' tag. LOCK_SH
+you can use the symbolic names if you import them from the L<Fcntl> module,
+either individually, or as a group using the C<:flock> tag. LOCK_SH
requests a shared lock, LOCK_EX requests an exclusive lock, and LOCK_UN
releases a previously requested lock. If LOCK_NB is bitwise-or'ed with
-LOCK_SH or LOCK_EX then C<flock> returns immediately rather than blocking
+LOCK_SH or LOCK_EX, then C<flock> returns immediately rather than blocking
waiting for the lock; check the return status to see if you got it.
To avoid the possibility of miscoordination, Perl now flushes FILEHANDLE
@@ -1972,7 +2009,7 @@ network; you would need to use the more system-specific C<fcntl> for
that. If you like you can force Perl to ignore your system's flock(2)
function, and so provide its own fcntl(2)-based emulation, by passing
the switch C<-Ud_flock> to the F<Configure> program when you configure
-Perl.
+and build a new Perl.
Here's a mailbox appender for BSD systems.
@@ -2071,6 +2108,10 @@ Be careful if you put double quotes around the picture, because an C<@>
character may be taken to mean the beginning of an array name.
C<formline> always returns true. See L<perlform> for other examples.
+If you are trying to use this instead of C<write> to capture the output,
+you may find it easier to open a filehandle to a scalar
+(C<< open $fh, ">", \$output >>) and write to that instead.
+
=item getc FILEHANDLE
X<getc> X<getchar> X<character> X<file, read>
@@ -2105,7 +2146,7 @@ is left as an exercise to the reader.
The C<POSIX::getattr> function can do this more portably on
systems purporting POSIX compliance. See also the C<Term::ReadKey>
-module from your nearest CPAN site; details on CPAN can be found on
+module from your nearest CPAN site; details on CPAN can be found under
L<perlmodlib/CPAN>.
=item getlogin
@@ -2123,7 +2164,8 @@ secure as C<getpwuid>.
=item getpeername SOCKET
X<getpeername> X<peer>
-Returns the packed sockaddr address of other end of the SOCKET connection.
+Returns the packed sockaddr address of the other end of the SOCKET
+connection.
use Socket;
$hersockaddr = getpeername(SOCK);
@@ -2137,8 +2179,8 @@ X<getpgrp> X<group>
Returns the current process group for the specified PID. Use
a PID of C<0> to get the current process group for the
current process. Will raise an exception if used on a machine that
-doesn't implement getpgrp(2). If PID is omitted, returns process
-group of current process. Note that the POSIX version of C<getpgrp>
+doesn't implement getpgrp(2). If PID is omitted, returns the process
+group of the current process. Note that the POSIX version of C<getpgrp>
does not accept a PID argument, so only C<PID==0> is truly portable.
=item getppid
@@ -2246,7 +2288,7 @@ information pertaining to the user. Beware, however, that in many
system users are able to change this information and therefore it
cannot be trusted and therefore the $gcos is tainted (see
L<perlsec>). The $passwd and $shell, user's encrypted password and
-login shell, are also tainted, because of the same reason.
+login shell, are also tainted, for the same reason.
In scalar context, you get the name, unless the function was a
lookup by name, in which case you get the other thing, whatever it is.
@@ -2270,7 +2312,7 @@ field may be $change or $age, fields that have to do with password
aging. In some systems the $comment field may be $class. The $expire
field, if present, encodes the expiration period of the account or the
password. For the availability and the exact meaning of these fields
-in your system, please consult your getpwnam(3) documentation and your
+in your system, please consult getpwnam(3) and your system's
F<pwd.h> file. You can also find out from within Perl what your
$quota and $comment fields mean and whether you have the $expire field
by using the C<Config> module and the values C<d_pwquota>, C<d_pwage>,
@@ -2279,10 +2321,10 @@ files are supported only if your vendor has implemented them in the
intuitive fashion that calling the regular C library routines gets the
shadow versions if you're running under privilege or if there exists
the shadow(3) functions as found in System V (this includes Solaris
-and Linux.) Those systems that implement a proprietary shadow password
+and Linux). Those systems that implement a proprietary shadow password
facility are unlikely to be supported.
-The $members value returned by I<getgr*()> is a space separated list of
+The $members value returned by I<getgr*()> is a space-separated list of
the login names of the members of the group.
For the I<gethost*()> functions, if the C<h_errno> variable is supported in
@@ -2327,7 +2369,7 @@ for each field. For example:
use User::pwent;
$is_his = (stat($filename)->uid == pwent($whoever)->uid);
-Even though it looks like they're the same method calls (uid),
+Even though it looks as though they're the same method calls (uid),
they aren't, because a C<File::stat> object is different from
a C<User::pwent> object.
@@ -2359,12 +2401,12 @@ number of TCP, which you can get using C<getprotobyname>.
The function returns a packed string representing the requested socket
option, or C<undef> on error, with the reason for the error placed in
-C<$!>). Just what is in the packed string depends on LEVEL and OPTNAME;
+C<$!>. Just what is in the packed string depends on LEVEL and OPTNAME;
consult getsockopt(2) for details. A common case is that the option is an
integer, in which case the result is a packed integer, which you can decode
using C<unpack> with the C<i> (or C<I>) format.
-An example to test whether Nagle's algorithm is turned on on a socket:
+Here's an example to test whether Nagle's algorithm is enabled on a socket:
use Socket qw(:all);
@@ -2377,6 +2419,30 @@ An example to test whether Nagle's algorithm is turned on on a socket:
print "Nagle's algorithm is turned ", $nodelay ? "off\n" : "on\n";
+=item given EXPR BLOCK
+X<given>
+
+=item given BLOCK
+
+C<given> is analogous to the C<switch> keyword in other languages. C<given>
+and C<when> are used in Perl to implement C<switch>/C<case> like statements.
+Only available after Perl 5.10. For example:
+
+ use v5.10;
+ given ($fruit) {
+ when (/apples?/) {
+ print "I like apples."
+ }
+ when (/oranges?/) {
+ print "I don't like oranges."
+ }
+ default {
+ print "I don't like anything"
+ }
+ }
+
+See L<perlsyn/"Switch statements"> for detailed information.
+
=item glob EXPR
X<glob> X<wildcard> X<filename, expansion> X<expand>
@@ -2393,7 +2459,7 @@ more detail in L<perlop/"I/O Operators">.
Note that C<glob> splits its arguments on whitespace and treats
each segment as separate pattern. As such, C<glob("*.c *.h")>
matches all files with a F<.c> or F<.h> extension. The expression
-C<glob(".* *")> matchs all files in the current working directory.
+C<glob(".* *")> matches all files in the current working directory.
If non-empty braces are the only wildcard characters used in the
C<glob>, no filenames are matched, but potentially many strings
@@ -2414,8 +2480,8 @@ X<gmtime> X<UTC> X<Greenwich>
Works just like L<localtime> but the returned values are
localized for the standard Greenwich time zone.
-Note: when called in list context, $isdst, the last value
-returned by gmtime is always C<0>. There is no
+Note: When called in list context, $isdst, the last value
+returned by gmtime, is always C<0>. There is no
Daylight Saving Time in GMT.
See L<perlport/gmtime> for portability concerns.
@@ -2443,6 +2509,10 @@ necessarily recommended if you're optimizing for maintainability:
goto ("FOO", "BAR", "GLARCH")[$i];
+As shown in this example, C<goto-EXPR> is exempt from the "looks like a
+function" rule. A pair of parentheses following it does not (necessarily)
+delimit its argument. C<goto("NE")."XT"> is equivalent to C<goto NEXT>.
+
Use of C<goto-LABEL> or C<goto-EXPR> to jump into a construct is
deprecated and will issue a warning. Even then, it may not be used to
go into any construct that requires initialization, such as a
@@ -2462,7 +2532,7 @@ After the C<goto>, not even C<caller> will be able to tell that this
routine was called first.
NAME needn't be the name of a subroutine; it can be a scalar variable
-containing a code reference, or a block that evaluates to a code
+containing a code reference or a block that evaluates to a code
reference.
=item grep BLOCK LIST
@@ -2515,7 +2585,7 @@ L</oct>.) If EXPR is omitted, uses C<$_>.
Hex strings may only represent integers. Strings that would cause
integer overflow trigger a warning. Leading whitespace is not stripped,
unlike oct(). To present something as hex, look into L</printf>,
-L</sprintf>, or L</unpack>.
+L</sprintf>, and L</unpack>.
=item import LIST
X<import>
@@ -2607,6 +2677,8 @@ X<keys> X<key>
=item keys ARRAY
+=item keys EXPR
+
Returns a list consisting of all the keys of the named hash, or the indices
of an array. (In scalar context, returns the number of keys or indices.)
@@ -2614,11 +2686,11 @@ The keys of a hash are returned in an apparently random order. The actual
random order is subject to change in future versions of Perl, but it
is guaranteed to be the same order as either the C<values> or C<each>
function produces (given that the hash has not been modified). Since
-Perl 5.8.1 the ordering is different even between different runs of
+Perl 5.8.1 the ordering can be different even between different runs of
Perl for security reasons (see L<perlsec/"Algorithmic Complexity
Attacks">).
-As a side effect, calling keys() resets the HASH or ARRAY's internal iterator
+As a side effect, calling keys() resets the internal interator of the HASH or ARRAY
(see L</each>). In particular, calling keys() in void context resets
the iterator with no other overhead.
@@ -2662,7 +2734,15 @@ C<keys> in this way (but you needn't worry about doing this by accident,
as trying has no effect). C<keys @array> in an lvalue context is a syntax
error.
-See also C<each>, C<values> and C<sort>.
+Starting with Perl 5.14, C<keys> can take a scalar EXPR, which must contain
+a reference to an unblessed hash or array. The argument will be
+dereferenced automatically. This aspect of C<keys> is considered highly
+experimental. The exact behaviour may change in a future version of Perl.
+
+ for (keys $hashref) { ... }
+ for (keys $obj->get_arrayref) { ... }
+
+See also C<each>, C<values>, and C<sort>.
=item kill SIGNAL, LIST
X<kill> X<signal>
@@ -2707,7 +2787,7 @@ C<continue> block, if any, is not executed:
}
C<last> cannot be used to exit a block that returns a value such as
-C<eval {}>, C<sub {}> or C<do {}>, and should not be used to exit
+C<eval {}>, C<sub {}>, or C<do {}>, and should not be used to exit
a grep() or map() operation.
Note that a block by itself is semantically identical to a loop
@@ -2749,7 +2829,8 @@ respectively.
=item Otherwise, If EXPR has the UTF8 flag set
If the current package has a subroutine named C<ToLower>, it will be used to
-change the case (See L<perlunicode/User-Defined Case Mappings>.)
+change the case
+(See L<perlunicode/"User-Defined Case Mappings (for serious hackers only)">.)
Otherwise Unicode semantics are used for the case change.
=item Otherwise, if C<use locale> is in effect
@@ -2759,7 +2840,7 @@ Respects current LC_CTYPE locale. See L<perllocale>.
=item Otherwise, if C<use feature 'unicode_strings'> is in effect:
Unicode semantics are used for the case change. Any subroutine named
-C<ToLower> will not be used.
+C<ToLower> will be ignored.
=item Otherwise:
@@ -2789,7 +2870,7 @@ double-quoted strings.
If EXPR is omitted, uses C<$_>.
-This function behaves the same way under various pragma, such as in a locale,
+This function behaves the same way under various pragmata, such as in a locale,
as L</lc> does.
=item length EXPR
@@ -2798,7 +2879,8 @@ X<length> X<size>
=item length
Returns the length in I<characters> of the value of EXPR. If EXPR is
-omitted, returns length of C<$_>. If EXPR is undefined, returns C<undef>.
+omitted, returns the length of C<$_>. If EXPR is undefined, returns
+C<undef>.
This function cannot be used on an entire array or hash to find out how
many elements these have. For that, use C<scalar @array> and C<scalar keys
@@ -2851,19 +2933,19 @@ follows:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
-All list elements are numeric, and come straight out of the C `struct
+All list elements are numeric and come straight out of the C `struct
tm'. C<$sec>, C<$min>, and C<$hour> are the seconds, minutes, and hours
of the specified time.
-C<$mday> is the day of the month, and C<$mon> is the month itself, in
-the range C<0..11> with 0 indicating January and 11 indicating December.
+C<$mday> is the day of the month and C<$mon> the month in
+the range C<0..11>, with 0 indicating January and 11 indicating December.
This makes it easy to get a month name from a list:
my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
print "$abbr[$mon] $mday";
# $mon=9, $mday=18 gives "Oct 18"
-C<$year> is the number of years since 1900, not just the last two digits
+C<$year> is the number of years since 1900, B<not> just the last two digits
of the year. That is, C<$year> is C<123> in year 2023. The proper way
to get a 4-digit year is simply:
@@ -2872,7 +2954,7 @@ to get a 4-digit year is simply:
Otherwise you create non-Y2K-compliant programs--and you wouldn't want
to do that, would you?
-To get the last two digits of the year (e.g., '01' in 2001) do:
+To get the last two digits of the year (e.g., "01" in 2001) do:
$year = sprintf("%02d", $year % 100);
@@ -2890,13 +2972,13 @@ In scalar context, C<localtime()> returns the ctime(3) value:
$now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"
-This scalar value is B<not> locale dependent but is a Perl builtin. For GMT
+This scalar value is B<not> locale-dependent but is a Perl builtin. For GMT
instead of local time use the L</gmtime> builtin. See also the
-C<Time::Local> module (to convert the second, minutes, hours, ... back to
+C<Time::Local> module (for converting seconds, minutes, hours, and such back to
the integer value returned by time()), and the L<POSIX> module's strftime(3)
and mktime(3) functions.
-To get somewhat similar but locale dependent date strings, set up your
+To get somewhat similar but locale-dependent date strings, set up your
locale environment variables appropriately (please see L<perllocale>) and
try for example:
@@ -2910,7 +2992,7 @@ and the month of the year, may not necessarily be three characters wide.
See L<perlport/localtime> for portability concerns.
-The L<Time::gmtime> and L<Time::localtime> modules provides a convenient,
+The L<Time::gmtime> and L<Time::localtime> modules provide a convenient,
by-name access mechanism to the gmtime() and localtime() functions,
respectively.
@@ -2920,7 +3002,7 @@ L<DateTime> module on CPAN.
=item lock THING
X<lock>
-This function places an advisory lock on a shared variable, or referenced
+This function places an advisory lock on a shared variable or referenced
object contained in I<THING> until the lock goes out of scope.
lock() is a "weak keyword" : this means that if you've defined a function
@@ -2934,7 +3016,8 @@ X<log> X<logarithm> X<e> X<ln> X<base>
=item log
Returns the natural logarithm (base I<e>) of EXPR. If EXPR is omitted,
-returns log of C<$_>. To get the log of another base, use basic algebra:
+returns the log of C<$_>. To get the
+log of another base, use basic algebra:
The base-N log of a number is equal to the natural log of that number
divided by the natural log of N. For example:
@@ -2974,9 +3057,27 @@ total number of elements so generated. Evaluates BLOCK or EXPR in
list context, so each element of LIST may produce zero, one, or
more elements in the returned value.
- @chars = map(chr, @nums);
+ @chars = map(chr, @numbers);
+
+translates a list of numbers to the corresponding characters.
+
+ my @squares = map { $_ * $_ } @numbers;
-translates a list of numbers to the corresponding characters. And
+translates a list of numbers to their squared values.
+
+ my @squares = map { $_ > 5 ? ($_ * $_) : () } @numbers;
+
+shows that number of returned elements can differ from the number of
+input elements. To omit an element, return an empty list ().
+This could also be achieved by writing
+
+ my @squares = map { $_ * $_ } grep { $_ > 5 } @numbers;
+
+which makes the intention more clear.
+
+Map always returns a list, which can be
+assigned to a hash such that the elements
+become key/value pairs. See L<perldata> for more details.
%hash = map { get_a_key_for($_) => $_ } @array;
@@ -3031,12 +3132,12 @@ X<mkdir> X<md> X<directory, create>
Creates the directory specified by FILENAME, with permissions
specified by MASK (as modified by C<umask>). If it succeeds it
-returns true, otherwise it returns false and sets C<$!> (errno).
-If omitted, MASK defaults to 0777. If omitted, FILENAME defaults
-to C<$_>.
+returns true; otherwise it returns false and sets C<$!> (errno).
+MASK defaults to 0777 if omitted, and FILENAME defaults
+to C<$_> if omitted.
-In general, it is better to create directories with permissive MASK,
-and let the user modify that with their C<umask>, than it is to supply
+In general, it is better to create directories with a permissive MASK
+and let the user modify that with their C<umask> than it is to supply
a restrictive MASK and give the user no way to be more permissive.
The exceptions to this rule are when the file or directory should be
kept private (mail files, for instance). The perlfunc(1) entry on
@@ -3061,14 +3162,16 @@ first to get the correct constant definitions. If CMD is C<IPC_STAT>,
then ARG must be a variable that will hold the returned C<msqid_ds>
structure. Returns like C<ioctl>: the undefined value for error,
C<"0 but true"> for zero, or the actual return value otherwise. See also
-L<perlipc/"SysV IPC">, C<IPC::SysV>, and C<IPC::Semaphore> documentation.
+L<perlipc/"SysV IPC"> and the documentation for C<IPC::SysV> and
+C<IPC::Semaphore>.
=item msgget KEY,FLAGS
X<msgget>
Calls the System V IPC function msgget(2). Returns the message queue
-id, or the undefined value if there is an error. See also
-L<perlipc/"SysV IPC"> and C<IPC::SysV> and C<IPC::Msg> documentation.
+id, or C<undef> on error. See also
+L<perlipc/"SysV IPC"> and the documentation for C<IPC::SysV> and
+C<IPC::Msg>.
=item msgrcv ID,VAR,SIZE,TYPE,FLAGS
X<msgrcv>
@@ -3078,19 +3181,19 @@ message queue ID into variable VAR with a maximum message size of
SIZE. Note that when a message is received, the message type as a
native long integer will be the first thing in VAR, followed by the
actual message. This packing may be opened with C<unpack("l! a*")>.
-Taints the variable. Returns true if successful, or false if there is
-an error. See also L<perlipc/"SysV IPC">, C<IPC::SysV>, and
-C<IPC::SysV::Msg> documentation.
+Taints the variable. Returns true if successful, false
+on error. See also L<perlipc/"SysV IPC"> and the documentation for
+C<IPC::SysV> and C<IPC::SysV::Msg>.
=item msgsnd ID,MSG,FLAGS
X<msgsnd>
Calls the System V IPC function msgsnd to send the message MSG to the
message queue ID. MSG must begin with the native long integer message
-type, and be followed by the length of the actual message, and finally
+type, be followed by the length of the actual message, and then finally
the message itself. This kind of packing can be achieved with
C<pack("l! a*", $type, $message)>. Returns true if successful,
-or false if there is an error. See also C<IPC::SysV>
+false on error. See also the C<IPC::SysV>
and C<IPC::SysV::Msg> documentation.
=item my EXPR
@@ -3107,7 +3210,7 @@ enclosing block, file, or C<eval>. If more than one value is listed,
the list must be placed in parentheses.
The exact semantics and interface of TYPE and ATTRS are still
-evolving. TYPE is currently bound to the use of C<fields> pragma,
+evolving. TYPE is currently bound to the use of the C<fields> pragma,
and attributes are handled using the C<attributes> pragma, or starting
from Perl 5.8.0 also via the C<Attribute::Handlers> module. See
L<perlsub/"Private Variables via my()"> for details, and L<fields>,
@@ -3131,7 +3234,7 @@ executed even on discarded lines. If LABEL is omitted, the command
refers to the innermost enclosing loop.
C<next> cannot be used to exit a block which returns a value such as
-C<eval {}>, C<sub {}> or C<do {}>, and should not be used to exit
+C<eval {}>, C<sub {}>, or C<do {}>, and should not be used to exit
a grep() or map() operation.
Note that a block by itself is semantically identical to a loop
@@ -3199,67 +3302,66 @@ FILEHANDLE.
Simple examples to open a file for reading:
- open(my $fh, '<', "input.txt") or die $!;
+ open(my $fh, "<", "input.txt")
+ or die "cannot open < input.txt: $!";
and for writing:
- open(my $fh, '>', "output.txt") or die $!;
+ open(my $fh, ">", "output.txt")
+ or die "cannot open > output.txt: $!";
(The following is a comprehensive reference to open(): for a gentler
introduction you may consider L<perlopentut>.)
-If FILEHANDLE is an undefined scalar variable (or array or hash element)
-the variable is assigned a reference to a new anonymous filehandle,
-otherwise if FILEHANDLE is an expression, its value is used as the name of
-the real filehandle wanted. (This is considered a symbolic reference, so
-C<use strict 'refs'> should I<not> be in effect.)
-
-If EXPR is omitted, the scalar variable of the same name as the
-FILEHANDLE contains the filename. (Note that lexical variables--those
-declared with C<my>--will not work for this purpose; so if you're
-using C<my>, specify EXPR in your call to open.)
-
-If three or more arguments are specified then the mode of opening and
-the filename are separate. If MODE is C<< '<' >> or nothing, the file
-is opened for input. If MODE is C<< '>' >>, the file is truncated and
-opened for output, being created if necessary. If MODE is C<<< '>>' >>>,
-the file is opened for appending, again being created if necessary.
-
-You can put a C<'+'> in front of the C<< '>' >> or C<< '<' >> to
+If FILEHANDLE is an undefined scalar variable (or array or hash element), a
+new filehandle is autovivified, meaning that the variable is assigned a
+reference to a newly allocated anonymous filehandle. Otherwise if
+FILEHANDLE is an expression, its value is the real filehandle. (This is
+considered a symbolic reference, so C<use strict "refs"> should I<not> be
+in effect.)
+
+If EXPR is omitted, the global (package) scalar variable of the same
+name as the FILEHANDLE contains the filename. (Note that lexical
+variables--those declared with C<my> or C<state>--will not work for this
+purpose; so if you're using C<my> or C<state>, specify EXPR in your
+call to open.)
+
+If three (or more) arguments are specified, the open mode (including
+optional encoding) in the second argument are distinct from the filename in
+the third. If MODE is C<< < >> or nothing, the file is opened for input.
+If MODE is C<< > >>, the file is opened for output, with existing files
+first being truncated ("clobbered") and nonexisting files newly created.
+If MODE is C<<< >> >>>, the file is opened for appending, again being
+created if necessary.
+
+You can put a C<+> in front of the C<< > >> or C<< < >> to
indicate that you want both read and write access to the file; thus
-C<< '+<' >> is almost always preferred for read/write updates--the
-C<< '+>' >> mode would clobber the file first. You can't usually use
+C<< +< >> is almost always preferred for read/write updates--the
+C<< +> >> mode would clobber the file first. You cant usually use
either read-write mode for updating textfiles, since they have
-variable length records. See the B<-i> switch in L<perlrun> for a
+variable-length records. See the B<-i> switch in L<perlrun> for a
better approach. The file is created with permissions of C<0666>
modified by the process's C<umask> value.
-These various prefixes correspond to the fopen(3) modes of C<'r'>,
-C<'r+'>, C<'w'>, C<'w+'>, C<'a'>, and C<'a+'>.
+These various prefixes correspond to the fopen(3) modes of C<r>,
+C<r+>, C<w>, C<w+>, C<a>, and C<a+>.
-In the two-argument (and one-argument) form of the call, the mode and
-filename should be concatenated (in that order), possibly separated by
-spaces. You may omit the mode in these forms when that mode is
-C<< '<' >>.
+In the one- and two-argument forms of the call, the mode and filename
+should be concatenated (in that order), preferably separated by white
+space. You can--but shouldn't--omit the mode in these forms when that mode
+is C<< < >>. It is always safe to use the two-argument form of C<open> if
+the filename argument is a known literal.
-If the filename begins with C<'|'>, the filename is interpreted as a
-command to which output is to be piped, and if the filename ends with a
-C<'|'>, the filename is interpreted as a command that pipes output to
-us. See L<perlipc/"Using open() for IPC">
-for more examples of this. (You are not allowed to C<open> to a command
-that pipes both in I<and> out, but see L<IPC::Open2>, L<IPC::Open3>,
-and L<perlipc/"Bidirectional Communication with Another Process">
-for alternatives.)
-
-For three or more arguments if MODE is C<'|-'>, the filename is
+For three or more arguments if MODE is C<|->, the filename is
interpreted as a command to which output is to be piped, and if MODE
-is C<'-|'>, the filename is interpreted as a command that pipes
+is C<-|>, the filename is interpreted as a command that pipes
output to us. In the two-argument (and one-argument) form, one should
-replace dash (C<'-'>) with the command.
+replace dash (C<->) with the command.
See L<perlipc/"Using open() for IPC"> for more examples of this.
(You are not allowed to C<open> to a command that pipes both in I<and>
out, but see L<IPC::Open2>, L<IPC::Open3>, and
-L<perlipc/"Bidirectional Communication"> for alternatives.)
+L<perlipc/"Bidirectional Communication with Another Process"> for
+alternatives.)
In the form of pipe opens taking three or more arguments, if LIST is specified
(extra arguments after the command name) then LIST becomes arguments
@@ -3268,18 +3370,18 @@ C<open> with more than three arguments for non-pipe modes is not yet
defined, but experimental "layers" may give extra LIST arguments
meaning.
-In the two-argument (and one-argument) form, opening C<< '<-' >>
-or C<'-'> opens STDIN and opening C<< '>-' >> opens STDOUT.
+In the two-argument (and one-argument) form, opening C<< <- >>
+or C<-> opens STDIN and opening C<< >- >> opens STDOUT.
-You may use the three-argument form of open to specify I/O layers
-(sometimes referred to as "disciplines") to apply to the handle
+You may (and usually should) use the three-argument form of open to specify
+I/O layers (sometimes referred to as "disciplines") to apply to the handle
that affect how the input and output are processed (see L<open> and
L<PerlIO> for more details). For example:
open(my $fh, "<:encoding(UTF-8)", "filename")
|| die "can't open UTF-8 encoded filename: $!";
-opens the UTF-8 encoded file containing Unicode characters;
+opens the UTF8-encoded file containing Unicode characters;
see L<perluniintro>. Note that if layers are specified in the
three-argument form, then default layers stored in ${^OPEN} (see L<perlvar>;
usually set by the B<open> pragma or the switch B<-CioD>) are ignored.
@@ -3303,43 +3405,44 @@ where you want to format a suitable error message (but there are
modules that can help with that problem)) always check
the return value from opening a file.
-As a special case the 3-arg form with a read/write mode and the third
+As a special case the three-argument form with a read/write mode and the third
argument being C<undef>:
open(my $tmp, "+>", undef) or die ...
-opens a filehandle to an anonymous temporary file. Also using "+<"
+opens a filehandle to an anonymous temporary file. Also using C<< +< >>
works for symmetry, but you really should consider writing something
to the temporary file first. You will need to seek() to do the
reading.
Since v5.8.0, Perl has built using PerlIO by default. Unless you've
-changed this (i.e., Configure -Uuseperlio), you can open filehandles
-directly to Perl scalars via:
+changed this (such as building Perl with C<Configure -Uuseperlio>), you can
+open filehandles directly to Perl scalars via:
- open($fh, '>', \$variable) || ..
+ open($fh, ">", \$variable) || ..
To (re)open C<STDOUT> or C<STDERR> as an in-memory file, close it first:
close STDOUT;
- open STDOUT, '>', \$variable or die "Can't open STDOUT: $!";
+ open(STDOUT, ">", \$variable)
+ or die "Can't open STDOUT: $!";
General examples:
$ARTICLE = 100;
- open ARTICLE or die "Can't find article $ARTICLE: $!\n";
+ open(ARTICLE) or die "Can't find article $ARTICLE: $!\n";
while (<ARTICLE>) {...
- open(LOG, '>>/usr/spool/news/twitlog'); # (log is reserved)
+ open(LOG, ">>/usr/spool/news/twitlog"); # (log is reserved)
# if the open fails, output is discarded
- open(my $dbase, '+<', 'dbase.mine') # open for update
+ open(my $dbase, "+<", "dbase.mine") # open for update
or die "Can't open 'dbase.mine' for update: $!";
- open(my $dbase, '+<dbase.mine') # ditto
+ open(my $dbase, "+<dbase.mine") # ditto
or die "Can't open 'dbase.mine' for update: $!";
- open(ARTICLE, '-|', "caesar <$article") # decrypt article
+ open(ARTICLE, "-|", "caesar <$article") # decrypt article
or die "Can't start caesar: $!";
open(ARTICLE, "caesar <$article |") # ditto
@@ -3349,20 +3452,20 @@ General examples:
or die "Can't start sort: $!";
# in-memory files
- open(MEMORY,'>', \$var)
+ open(MEMORY, ">", \$var)
or die "Can't open memory file: $!";
print MEMORY "foo!\n"; # output will appear in $var
# process argument list of files along with any includes
foreach $file (@ARGV) {
- process($file, 'fh00');
+ process($file, "fh00");
}
sub process {
my($filename, $input) = @_;
$input++; # this is a string increment
- unless (open($input, $filename)) {
+ unless (open($input, "<", $filename)) {
print STDERR "Can't open $filename: $!\n";
return;
}
@@ -3380,24 +3483,24 @@ General examples:
See L<perliol> for detailed info on PerlIO.
You may also, in the Bourne shell tradition, specify an EXPR beginning
-with C<< '>&' >>, in which case the rest of the string is interpreted
+with C<< >& >>, in which case the rest of the string is interpreted
as the name of a filehandle (or file descriptor, if numeric) to be
duped (as C<dup(2)>) and opened. You may use C<&> after C<< > >>,
C<<< >> >>>, C<< < >>, C<< +> >>, C<<< +>> >>>, and C<< +< >>.
The mode you specify should match the mode of the original filehandle.
(Duping a filehandle does not take into account any existing contents
-of IO buffers.) If you use the 3-arg form then you can pass either a
-number, the name of a filehandle or the normal "reference to a glob".
+of IO buffers.) If you use the three-argument form, then you can pass either a
+number, the name of a filehandle, or the normal "reference to a glob".
Here is a script that saves, redirects, and restores C<STDOUT> and
C<STDERR> using various methods:
#!/usr/bin/perl
- open my $oldout, ">&STDOUT" or die "Can't dup STDOUT: $!";
- open OLDERR, ">&", \*STDERR or die "Can't dup STDERR: $!";
+ open(my $oldout, ">&STDOUT") or die "Can't dup STDOUT: $!";
+ open(OLDERR, ">&", \*STDERR) or die "Can't dup STDERR: $!";
- open STDOUT, '>', "foo.out" or die "Can't redirect STDOUT: $!";
- open STDERR, ">&STDOUT" or die "Can't dup STDOUT: $!";
+ open(STDOUT, '>', "foo.out") or die "Can't redirect STDOUT: $!";
+ open(STDERR, ">&STDOUT") or die "Can't dup STDOUT: $!";
select STDERR; $| = 1; # make unbuffered
select STDOUT; $| = 1; # make unbuffered
@@ -3405,8 +3508,8 @@ C<STDERR> using various methods:
print STDOUT "stdout 1\n"; # this works for
print STDERR "stderr 1\n"; # subprocesses too
- open STDOUT, ">&", $oldout or die "Can't dup \$oldout: $!";
- open STDERR, ">&OLDERR" or die "Can't dup OLDERR: $!";
+ open(STDOUT, ">&", $oldout) or die "Can't dup \$oldout: $!";
+ open(STDERR, ">&OLDERR") or die "Can't dup OLDERR: $!";
print STDOUT "stdout 2\n";
print STDERR "stderr 2\n";
@@ -3435,26 +3538,47 @@ or
Being parsimonious on filehandles is also useful (besides being
parsimonious) for example when something is dependent on file
descriptors, like for example locking using flock(). If you do just
-C<< open(A, '>>&B') >>, the filehandle A will not have the same file
-descriptor as B, and therefore flock(A) will not flock(B), and vice
-versa. But with C<< open(A, '>>&=B') >> the filehandles will share
-the same file descriptor.
-
-Note that if you are using Perls older than 5.8.0, Perl will be using
-the standard C libraries' fdopen() to implement the "=" functionality.
-On many Unix systems fdopen() fails when file descriptors exceed a
-certain value, typically 255. For Perls 5.8.0 and later, PerlIO is
-most often the default.
-
-You can see whether Perl has been compiled with PerlIO or not by
-running C<perl -V> and looking for C<useperlio=> line. If C<useperlio>
-is C<define>, you have PerlIO, otherwise you don't.
-
-If you open a pipe on the command C<'-'>, i.e., either C<'|-'> or C<'-|'>
-with 2-arguments (or 1-argument) form of open(), then
-there is an implicit fork done, and the return value of open is the pid
-of the child within the parent process, and C<0> within the child
-process. (Use C<defined($pid)> to determine whether the open was successful.)
+C<< open(A, ">>&B") >>, the filehandle A will not have the same file
+descriptor as B, and therefore flock(A) will not flock(B) nor vice
+versa. But with C<< open(A, ">>&=B") >>, the filehandles will share
+the same underlying system file descriptor.
+
+Note that under Perls older than 5.8.0, Perl uses the standard C library's'
+fdopen() to implement the C<=> functionality. On many Unix systems,
+fdopen() fails when file descriptors exceed a certain value, typically 255.
+For Perls 5.8.0 and later, PerlIO is (most often) the default.
+
+You can see whether your Perl was built with PerlIO by running C<perl -V>
+and looking for the C<useperlio=> line. If C<useperlio> is C<define>, you
+have PerlIO; otherwise you don't.
+
+If you open a pipe on the command C<-> (that is, specify either C<|-> or C<-|>
+with the one- or two-argument forms of C<open>),
+an implicit C<fork> is done, so C<open> returns twice: in the parent
+process it returns the pid
+of the child process, and in the child process it returns (a defined) C<0>.
+Use C<defined($pid)> or C<//> to determine whether the open was successful.
+
+For example, use either
+
+ $child_pid = open(FROM_KID, "|-") // die "can't fork: $!";
+
+or
+ $child_pid = open(TO_KID, "|-") // die "can't fork: $!";
+
+followed by
+
+ if ($child_pid) {
+ # am the parent:
+ # either write TO_KID or else read FROM_KID
+ ...
+ wait $child_pid;
+ } else {
+ # am the child; use STDIN/STDOUT normally
+ ...
+ exit;
+ }
+
The filehandle behaves normally for the parent, but I/O to that
filehandle is piped from/to the STDOUT/STDIN of the child process.
In the child process, the filehandle isn't opened--I/O happens from/to
@@ -3463,22 +3587,29 @@ piped open when you want to exercise more control over just how the
pipe command gets executed, such as when running setuid and
you don't want to have to scan shell commands for metacharacters.
-The following triples are more or less equivalent:
+The following blocks are more or less equivalent:
open(FOO, "|tr '[a-z]' '[A-Z]'");
- open(FOO, '|-', "tr '[a-z]' '[A-Z]'");
- open(FOO, '|-') || exec 'tr', '[a-z]', '[A-Z]';
- open(FOO, '|-', "tr", '[a-z]', '[A-Z]');
+ open(FOO, "|-", "tr '[a-z]' '[A-Z]'");
+ open(FOO, "|-") || exec 'tr', '[a-z]', '[A-Z]';
+ open(FOO, "|-", "tr", '[a-z]', '[A-Z]');
open(FOO, "cat -n '$file'|");
- open(FOO, '-|', "cat -n '$file'");
- open(FOO, '-|') || exec 'cat', '-n', $file;
- open(FOO, '-|', "cat", '-n', $file);
+ open(FOO, "-|", "cat -n '$file'");
+ open(FOO, "-|") || exec "cat", "-n", $file;
+ open(FOO, "-|", "cat", "-n", $file);
-The last example in each block shows the pipe as "list form", which is
+The last two examples in each block show the pipe as "list form", which is
not yet supported on all platforms. A good rule of thumb is that if
-your platform has true C<fork()> (in other words, if your platform is
-Unix) you can use the list form.
+your platform has a real C<fork()> (in other words, if your platform is
+Unix, including Linux and MacOS X), you can use the list form. You would
+want to use the list form of the pipe so you can pass literal arguments
+to the command without risk of the shell interpreting any shell metacharacters
+in them. However, this also bars you from opening pipes to commands
+that intentionally contain shell metacharacters, such as:
+
+ open(FOO, "|cat -n | expand -4 | lpr")
+ // die "Can't open pipeline to lpr: $!";
See L<perlipc/"Safe Pipe Opens"> for more examples of this.
@@ -3490,14 +3621,14 @@ of C<IO::Handle> on any open handles.
On systems that support a close-on-exec flag on files, the flag will
be set for the newly opened file descriptor as determined by the value
-of $^F. See L<perlvar/$^F>.
+of C<$^F>. See L<perlvar/$^F>.
Closing any piped filehandle causes the parent process to wait for the
-child to finish, and returns the status value in C<$?> and
+child to finish, then returns the status value in C<$?> and
C<${^CHILD_ERROR_NATIVE}>.
-The filename passed to 2-argument (or 1-argument) form of open() will
-have leading and trailing whitespace deleted, and the normal
+The filename passed to the one- and two-argument forms of open() will
+have leading and trailing whitespace deleted and normal
redirection characters honored. This property, known as "magic open",
can often be used to good effect. A user could specify a filename of
F<"rsh cat file |">, or you could change certain filenames as needed:
@@ -3505,33 +3636,36 @@ F<"rsh cat file |">, or you could change certain filenames as needed:
$filename =~ s/(.*\.gz)\s*$/gzip -dc < $1|/;
open(FH, $filename) or die "Can't open $filename: $!";
-Use 3-argument form to open a file with arbitrary weird characters in it,
+Use the three-argument form to open a file with arbitrary weird characters in it,
- open(FOO, '<', $file);
+ open(FOO, "<", $file)
+ || die "can't open < $file: $!";
otherwise it's necessary to protect any leading and trailing whitespace:
$file =~ s#^(\s)#./$1#;
- open(FOO, "< $file\0");
+ open(FOO, "< $file\0")
+ || die "open failed: $!";
(this may not work on some bizarre filesystems). One should
-conscientiously choose between the I<magic> and 3-arguments form
+conscientiously choose between the I<magic> and I<three-argument> form
of open():
- open IN, $ARGV[0];
+ open(IN, $ARGV[0]) || die "can't open $ARGV[0]: $!";
will allow the user to specify an argument of the form C<"rsh cat file |">,
but will not work on a filename that happens to have a trailing space, while
- open IN, '<', $ARGV[0];
+ open(IN, "<", $ARGV[0])
+ || die "can't open < $ARGV[0]: $!";
will have exactly the opposite restrictions.
If you want a "real" C C<open> (see C<open(2)> on your system), then you
-should use the C<sysopen> function, which involves no such magic (but
-may use subtly different filemodes than Perl open(), which is mapped
-to C fopen()). This is
-another way to protect your filenames from interpretation. For example:
+should use the C<sysopen> function, which involves no such magic (but may
+use subtly different filemodes than Perl open(), which is mapped to C
+fopen()). This is another way to protect your filenames from
+interpretation. For example:
use IO::Handle;
sysopen(HANDLE, $path, O_RDWR|O_CREAT|O_EXCL)
@@ -3543,22 +3677,32 @@ another way to protect your filenames from interpretation. For example:
Using the constructor from the C<IO::Handle> package (or one of its
subclasses, such as C<IO::File> or C<IO::Socket>), you can generate anonymous
-filehandles that have the scope of whatever variables hold references to
-them, and automatically close whenever and however you leave that scope:
+filehandles that have the scope of the variables used to hold them, then
+automatically (but silently) close once their reference counts become
+zero, typically at scope exit:
use IO::File;
#...
sub read_myfile_munged {
my $ALL = shift;
+ # or just leave it undef to autoviv
my $handle = IO::File->new;
- open($handle, "myfile") or die "myfile: $!";
+ open($handle, "<", "myfile") or die "myfile: $!";
$first = <$handle>
or return (); # Automatically closed here.
- mung $first or die "mung failed"; # Or here.
- return $first, <$handle> if $ALL; # Or here.
- $first; # Or here.
+ mung($first) or die "mung failed"; # Or here.
+ return (first, <$handle>) if $ALL; # Or here.
+ return $first; # Or here.
}
+B<WARNING:> The previous example has a bug because the automatic
+close that happens when the refcount on C<handle> does not
+properly detect and report failures. I<Always> close the handle
+yourself and inspect the return value.
+
+ close($handle)
+ || warn "close failed: $!";
+
See L</seek> for some details about mixing reading and writing.
=item opendir DIRHANDLE,EXPR
@@ -3569,10 +3713,10 @@ C<seekdir>, C<rewinddir>, and C<closedir>. Returns true if successful.
DIRHANDLE may be an expression whose value can be used as an indirect
dirhandle, usually the real dirhandle name. If DIRHANDLE is an undefined
scalar variable (or array or hash element), the variable is assigned a
-reference to a new anonymous dirhandle.
+reference to a new anonymous dirhandle; that is, it's autovivified.
DIRHANDLEs have their own namespace separate from FILEHANDLEs.
-See example at C<readdir>.
+See the example at C<readdir>.
=item ord EXPR
X<ord> X<encoding>
@@ -3580,8 +3724,9 @@ X<ord> X<encoding>
=item ord
Returns the numeric (the native 8-bit encoding, like ASCII or EBCDIC,
-or Unicode) value of the first character of EXPR. If EXPR is omitted,
-uses C<$_>.
+or Unicode) value of the first character of EXPR.
+If EXPR is an empty string, returns 0. If EXPR is omitted, uses C<$_>.
+(Note I<character>, not byte.)
For the reverse, see L</chr>.
See L<perlunicode> for more about Unicode.
@@ -3599,14 +3744,14 @@ C<our> associates a simple name with a package variable in the current
package for use within the current scope. When C<use strict 'vars'> is in
effect, C<our> lets you use declared global variables without qualifying
them with package names, within the lexical scope of the C<our> declaration.
-In this way C<our> differs from C<use vars>, which is package scoped.
+In this way C<our> differs from C<use vars>, which is package-scoped.
-Unlike C<my>, which both allocates storage for a variable and associates
-a simple name with that storage for use within the current scope, C<our>
-associates a simple name with a package variable in the current package,
-for use within the current scope. In other words, C<our> has the same
-scoping rules as C<my>, but does not necessarily create a
-variable.
+Unlike C<my> or C<state>, which allocates storage for a variable and
+associates a simple name with that storage for use within the current
+scope, C<our> associates a simple name with a package (read: global)
+variable in the current package, for use within the current lexical scope.
+In other words, C<our> has the same scoping rules as C<my> or C<state>, but
+does not necessarily create a variable.
If more than one value is listed, the list must be placed
in parentheses.
@@ -3826,7 +3971,7 @@ packed string.
=item *
And if it's an integer I<n>, the offset is relative to the start of the
-I<n>th innermost C<()> group, or to the start of the string if I<n> is
+I<n>th innermost C<( )> group, or to the start of the string if I<n> is
bigger then the group level.
=back
@@ -3840,17 +3985,18 @@ count should not be more than 65.
The C<a>, C<A>, and C<Z> types gobble just one value, but pack it as a
string of length count, padding with nulls or spaces as needed. When
unpacking, C<A> strips trailing whitespace and nulls, C<Z> strips everything
-after the first null, and C<a> returns data without any sort of trimming.
+after the first null, and C<a> returns data with no stripping at all.
If the value to pack is too long, the result is truncated. If it's too
long and an explicit count is provided, C<Z> packs only C<$count-1> bytes,
followed by a null byte. Thus C<Z> always packs a trailing null, except
-for when the count is 0.
+when the count is 0.
=item *
Likewise, the C<b> and C<B> formats pack a string that's that many bits long.
-Each such format generates 1 bit of the result.
+Each such format generates 1 bit of the result. These are typically followed
+by a repeat count like C<B8> or C<B64>.
Each result bit is based on the least-significant bit of the corresponding
input character, i.e., on C<ord($char)%2>. In particular, characters C<"0">
@@ -3869,21 +4015,21 @@ at the end. Similarly during unpacking, "extra" bits are ignored.
If the input string is longer than needed, remaining characters are ignored.
A C<*> for the repeat count uses all characters of the input field.
-On unpacking, bits are converted to a string of C<"0">s and C<"1">s.
+On unpacking, bits are converted to a string of C<0>s and C<1>s.
=item *
The C<h> and C<H> formats pack a string that many nybbles (4-bit groups,
representable as hexadecimal digits, C<"0".."9"> C<"a".."f">) long.
-For each such format, pack() generates 4 bits of the result.
+For each such format, pack() generates 4 bits of result.
With non-alphabetical characters, the result is based on the 4 least-significant
bits of the input character, i.e., on C<ord($char)%16>. In particular,
characters C<"0"> and C<"1"> generate nybbles 0 and 1, as do bytes
-C<"\0"> and C<"\1">. For characters C<"a".."f"> and C<"A".."F">, the result
+C<"\000"> and C<"\001">. For characters C<"a".."f"> and C<"A".."F">, the result
is compatible with the usual hexadecimal digits, so that C<"a"> and
-C<"A"> both generate the nybble C<0xa==10>. Do not use any characters
-but these with this format.
+C<"A"> both generate the nybble C<0xA==10>. Use only these specific hex
+characters with this format.
Starting from the beginning of the template to pack(), each pair
of characters is converted to 1 character of output. With format C<h>, the
@@ -3943,7 +4089,7 @@ the I<length-item> is the string length, not the number of strings. With
an explicit repeat count for pack, the packed string is adjusted to that
length. For example:
- unpack("W/a", "\04Gurusamy") gives ("Guru")
+ unpack("W/a", "\004Gurusamy") gives ("Guru")
unpack("a3/A A*", "007 Bond J ") gives (" Bond", "J")
unpack("a3 x2 /A A*", "007: Bond, J.") gives ("Bond, J", ".")
@@ -4010,8 +4156,8 @@ handled by the CPU registers) into bytes as
Basically, Intel and VAX CPUs are little-endian, while everybody else,
including Motorola m68k/88k, PPC, Sparc, HP PA, Power, and Cray, are
-big-endian. Alpha and MIPS can be either: Digital/Compaq used/uses them in
-little-endian mode, but SGI/Cray uses them in big-endian mode.
+big-endian. Alpha and MIPS can be either: Digital/Compaq uses (well, used)
+them in little-endian mode, but SGI/Cray uses them in big-endian mode.
The names I<big-endian> and I<little-endian> are comic references to the
egg-eating habits of the little-endian Lilliputians and the big-endian
@@ -4051,10 +4197,10 @@ Starting with Perl 5.9.2, integer and floating-point formats, along with
the C<p> and C<P> formats and C<()> groups, may all be followed by the
C<< > >> or C<< < >> endianness modifiers to respectively enforce big-
or little-endian byte-order. These modifiers are especially useful
-given how C<n>, C<N>, C<v> and C<V> don't cover signed integers,
+given how C<n>, C<N>, C<v>, and C<V> don't cover signed integers,
64-bit integers, or floating-point values.
-Here are some concerns to keep in mind when using endianness modifier:
+Here are some concerns to keep in mind when using an endianness modifier:
=over
@@ -4118,6 +4264,26 @@ starts with C<U>. You can always switch mode mid-format with an explicit
C<C0> or C<U0> in the format. This mode remains in effect until the next
mode change, or until the end of the C<()> group it (directly) applies to.
+Using C<C0> to get Unicode characters while using C<U0> to get I<non>-Unicode
+bytes is not necessarily obvious. Probably only the first of these
+is what you want:
+
+ $ perl -CS -E 'say "\x{3B1}\x{3C9}"' |
+ perl -CS -ne 'printf "%v04X\n", $_ for unpack("C0A*", $_)'
+ 03B1.03C9
+ $ perl -CS -E 'say "\x{3B1}\x{3C9}"' |
+ perl -CS -ne 'printf "%v02X\n", $_ for unpack("U0A*", $_)'
+ CE.B1.CF.89
+ $ perl -CS -E 'say "\x{3B1}\x{3C9}"' |
+ perl -C0 -ne 'printf "%v02X\n", $_ for unpack("C0A*", $_)'
+ CE.B1.CF.89
+ $ perl -CS -E 'say "\x{3B1}\x{3C9}"' |
+ perl -C0 -ne 'printf "%v02X\n", $_ for unpack("U0A*", $_)'
+ C3.8E.C2.B1.C3.8F.C2.89
+
+Those examples also illustrate that you should not try to use
+C<pack>/C<unpack> as a substitute for the L<Encode> module.
+
=item *
You must yourself do any alignment or padding by inserting, for example,
@@ -4173,7 +4339,7 @@ for complicated pattern matches.
=item *
-If TEMPLATE requires more arguments that pack() is given, pack()
+If TEMPLATE requires more arguments than pack() is given, pack()
assumes additional C<""> arguments. If TEMPLATE requires fewer arguments
than given, extra arguments are ignored.
@@ -4204,8 +4370,8 @@ Examples:
# $foo = pack("WWWW",193,194,195,196);
$foo = pack("s2",1,2);
- # "\1\0\2\0" on little-endian
- # "\0\1\0\2" on big-endian
+ # "\001\000\002\000" on little-endian
+ # "\000\001\000\002" on big-endian
$foo = pack("a4","abcd","x","y","z");
# "abcd"
@@ -4249,18 +4415,30 @@ Examples:
The same template may generally also be used in unpack().
+=item package NAMESPACE
+
=item package NAMESPACE VERSION
X<package> X<module> X<namespace> X<version>
-=item package NAMESPACE
+=item package NAMESPACE BLOCK
+
+=item package NAMESPACE VERSION BLOCK
+X<package> X<module> X<namespace> X<version>
+
+Declares the BLOCK or the rest of the compilation unit as being in the
+given namespace. The scope of the package declaration is either the
+supplied code BLOCK or, in the absence of a BLOCK, from the declaration
+itself through the end of current scope (the enclosing block, file, or
+C<eval>). That is, the forms without a BLOCK are operative through the end
+of the current scope, just like the C<my>, C<state>, and C<our> operators.
+All unqualified dynamic identifiers in this scope will be in the given
+namespace, except where overridden by another C<package> declaration or
+when they're one of the special identifiers that qualify into C<main::>,
+like C<STDOUT>, C<ARGV>, C<ENV>, and the punctuation variables.
-Declares the compilation unit as being in the given namespace. The scope
-of the package declaration is from the declaration itself through the end
-of the enclosing block, file, or eval (the same as the C<my> operator).
-All further unqualified dynamic identifiers will be in this namespace.
A package statement affects dynamic variables only, including those
you've used C<local> on, but I<not> lexical variables, which are created
-with C<my> (or C<our> (or C<state>)). Typically it would be the first
+with C<my>, C<state>, or C<our>. Typically it would be the first
declaration in a file included by C<require> or C<use>. You can switch into a
package in more than one place, since this only determines which default
symbol table the compiler uses for the rest of that block. You can refer to
@@ -4290,7 +4468,8 @@ unless you are very careful. In addition, note that Perl's pipes use
IO buffering, so you may need to set C<$|> to flush your WRITEHANDLE
after each command, depending on the application.
-See L<IPC::Open2>, L<IPC::Open3>, and L<perlipc/"Bidirectional Communication">
+See L<IPC::Open2>, L<IPC::Open3>, and
+L<perlipc/"Bidirectional Communication with Another Process">
for examples of such things.
On systems that support a close-on-exec flag on files, that flag is set
@@ -4300,6 +4479,8 @@ the current value of $^F (by default 2 for C<STDERR>). See L<perlvar/$^F>.
=item pop ARRAY
X<pop> X<stack>
+=item pop EXPR
+
=item pop
Pops and returns the last value of the array, shortening the array by
@@ -4309,53 +4490,71 @@ Returns the undefined value if the array is empty, although this may also
happen at other times. If ARRAY is omitted, pops the C<@ARGV> array in the
main program, but the C<@_> array in subroutines, just like C<shift>.
+Starting with Perl 5.14, C<pop> can take a scalar EXPR, which must hold a
+reference to an unblessed array. The argument will be dereferenced
+automatically. This aspect of C<pop> is considered highly experimental.
+The exact behaviour may change in a future version of Perl.
+
=item pos SCALAR
X<pos> X<match, position>
=item pos
-Returns the offset of where the last C<m//g> search left off for the variable
-in question (C<$_> is used when the variable is not specified). Note that
-0 is a valid match offset. C<undef> indicates that the search position
-is reset (usually due to match failure, but can also be because no match has
-yet been run on the scalar). C<pos> directly accesses the location used
-by the regexp engine to store the offset, so assigning to C<pos> will change
-that offset, and so will also influence the C<\G> zero-width assertion in
-regular expressions. Because a failed C<m//gc> match doesn't reset the offset,
-the return from C<pos> won't change either in this case. See L<perlre> and
+Returns the offset of where the last C<m//g> search left off for the
+variable in question (C<$_> is used when the variable is not
+specified). Note that 0 is a valid match offset. C<undef> indicates
+that the search position is reset (usually due to match failure, but
+can also be because no match has yet been run on the scalar).
+
+C<pos> directly accesses the location used by the regexp engine to
+store the offset, so assigning to C<pos> will change that offset, and
+so will also influence the C<\G> zero-width assertion in regular
+expressions. Both of these effects take place for the next match, so
+you can't affect the position with C<pos> during the current match,
+such as in C<(?{pos() = 5})> or C<s//pos() = 5/e>.
+
+Setting C<pos> also resets the I<matched with zero-length> flag, described
+under L<perlre/"Repeated Patterns Matching a Zero-length Substring">.
+
+Because a failed C<m//gc> match doesn't reset the offset, the return
+from C<pos> won't change either in this case. See L<perlre> and
L<perlop>.
=item print FILEHANDLE LIST
X<print>
+=item print FILEHANDLE
+
=item print LIST
=item print
Prints a string or a list of strings. Returns true if successful.
-FILEHANDLE may be a scalar variable containing
-the name of or a reference to the filehandle, thus introducing
-one level of indirection. (NOTE: If FILEHANDLE is a variable and
-the next token is a term, it may be misinterpreted as an operator
-unless you interpose a C<+> or put parentheses around the arguments.)
-If FILEHANDLE is omitted, prints to standard output by default, or
-to the last selected output channel; see L</select>. If LIST is
-also omitted, prints C<$_> to the currently selected output handle.
-To set the default output handle to something other than STDOUT
-use the select operation. The current value of C<$,> (if any) is
-printed between each LIST item. The current value of C<$\> (if
-any) is printed after the entire LIST has been printed. Because
-print takes a LIST, anything in the LIST is evaluated in list
-context, and any subroutine that you call will have one or more of
-its expressions evaluated in list context. Also be careful not to
-follow the print keyword with a left parenthesis unless you want
-the corresponding right parenthesis to terminate the arguments to
-the print; put parentheses around all the arguments
+FILEHANDLE may be a scalar variable containing the name of or a reference
+to the filehandle, thus introducing one level of indirection. (NOTE: If
+FILEHANDLE is a variable and the next token is a term, it may be
+misinterpreted as an operator unless you interpose a C<+> or put
+parentheses around the arguments.) If FILEHANDLE is omitted, prints to the
+last selected (see L</select>) output handle. If LIST is omitted, prints
+C<$_> to the currently selected output handle. To use FILEHANDLE alone to
+print the content of C<$_> to it, you must use a real filehandle like
+C<FH>, not an indirect one like C<$fh>. To set the default output handle
+to something other than STDOUT, use the select operation.
+
+The current value of C<$,> (if any) is printed between each LIST item. The
+current value of C<$\> (if any) is printed after the entire LIST has been
+printed. Because print takes a LIST, anything in the LIST is evaluated in
+list context, including any subroutines whose return lists you pass to
+C<print>. Be careful not to follow the print keyword with a left
+parenthesis unless you want the corresponding right parenthesis to
+terminate the arguments to the print; put parentheses around all arguments
(or interpose a C<+>, but that doesn't look as good).
-Note that if you're storing FILEHANDLEs in an array, or if you're using
-any other expression more complex than a scalar variable to retrieve it,
-you will have to use a block returning the filehandle value instead:
+If you're storing handles in an array or hash, or in general whenever
+you're using any expression more complex than a bareword handle or a plain,
+unsubscripted scalar variable to retrieve it, you will have to use a block
+returning the filehandle value instead, in which case the LIST may not be
+omitted:
print { $files[$i] } "stuff\n";
print { $OK ? STDOUT : STDERR } "stuff\n";
@@ -4366,15 +4565,21 @@ L<perlipc> for more on signal handling.
=item printf FILEHANDLE FORMAT, LIST
X<printf>
+=item printf FILEHANDLE
+
=item printf FORMAT, LIST
+=item printf
+
Equivalent to C<print FILEHANDLE sprintf(FORMAT, LIST)>, except that C<$\>
-(the output record separator) is not appended. The first argument
-of the list will be interpreted as the C<printf> format. See C<sprintf>
-for an explanation of the format argument. If C<use locale> is in effect,
-and POSIX::setlocale() has been called, the character used for the decimal
+(the output record separator) is not appended. The first argument of the
+list will be interpreted as the C<printf> format. See C<sprintf> for an
+explanation of the format argument. If you omit the LIST, C<$_> is used;
+to use FILEHANDLE without a LIST, you must use a real filehandle like
+C<FH>, not an indirect one like C<$fh>. If C<use locale> is in effect and
+POSIX::setlocale() has been called, the character used for the decimal
separator in formatted floating-point numbers is affected by the LC_NUMERIC
-locale. See L<perllocale> and L<POSIX>.
+locale setting. See L<perllocale> and L<POSIX>.
Don't fall into the trap of using a C<printf> when a simple
C<print> would do. The C<print> is more efficient and less
@@ -4397,9 +4602,11 @@ describing the equivalent prototype is returned.
=item push ARRAY,LIST
X<push> X<stack>
-Treats ARRAY as a stack, and pushes the values of LIST
-onto the end of ARRAY. The length of ARRAY increases by the length of
-LIST. Has the same effect as
+=item push EXPR,LIST
+
+Treats ARRAY as a stack by appending the values of LIST to the end of
+ARRAY. The length of ARRAY increases by the length of LIST. Has the same
+effect as
for $value (LIST) {
$ARRAY[++$#ARRAY] = $value;
@@ -4408,6 +4615,11 @@ LIST. Has the same effect as
but is more efficient. Returns the number of elements in the array following
the completed C<push>.
+Starting with Perl 5.14, C<push> can take a scalar EXPR, which must hold a
+reference to an unblessed array. The argument will be dereferenced
+automatically. This aspect of C<push> is considered highly experimental.
+The exact behaviour may change in a future version of Perl.
+
=item q/STRING/
=item qq/STRING/
@@ -4459,8 +4671,13 @@ Or:
my $quoted_substring = quotemeta($substring);
$sentence =~ s{$quoted_substring}{big bad wolf};
-Will both leave the sentence as is. Normally, when accepting string input from
-the user, quotemeta() or C<\Q> must be used.
+Will both leave the sentence as is. Normally, when accepting literal string
+input from the user, quotemeta() or C<\Q> must be used.
+
+In Perl 5.14, all characters whose code points are above 127 are not
+quoted in UTF8-encoded strings, but all are quoted in UTF-8 strings.
+It is planned to change this behavior in 5.16, but the exact rules
+haven't been determined yet.
=item rand EXPR
X<rand> X<random>
@@ -4485,6 +4702,13 @@ returns a random integer between C<0> and C<9>, inclusive.
large or too small, then your version of Perl was probably compiled
with the wrong number of RANDBITS.)
+B<C<rand()> is not cryptographically secure. You should not rely
+on it in security-sensitive situations.> As of this writing, a
+number of third-party CPAN modules offer random number generators
+intended by their authors to be cryptographically secure,
+including: L<Math::Random::Secure>, L<Math::Random::MT::Perl>, and
+L<Math::TrulyRandom>.
+
=item read FILEHANDLE,SCALAR,LENGTH,OFFSET
X<read> X<file, read>
@@ -4508,10 +4732,10 @@ The call is implemented in terms of either Perl's or your system's native
fread(3) library function. To get a true read(2) system call, see C<sysread>.
Note the I<characters>: depending on the status of the filehandle,
-either (8-bit) bytes or characters are read. By default all
+either (8-bit) bytes or characters are read. By default, all
filehandles operate on bytes, but for example if the filehandle has
been opened with the C<:utf8> I/O layer (see L</open>, and the C<open>
-pragma, L<open>), the I/O will operate on UTF-8 encoded Unicode
+pragma, L<open>), the I/O will operate on UTF8-encoded Unicode
characters, not bytes. Similarly for the C<:encoding> pragma:
in that case pretty much any characters can be read.
@@ -4546,7 +4770,7 @@ which will set C<$_> on every iteration.
X<readline> X<gets> X<fgets>
Reads from the filehandle whose typeglob is contained in EXPR (or from
-*ARGV if EXPR is not provided). In scalar context, each call reads and
+C<*ARGV> if EXPR is not provided). In scalar context, each call reads and
returns the next line until end-of-file is reached, whereupon the
subsequent call returns C<undef>. In list context, reads until end-of-file
is reached and returns a list of lines. Note that the notion of "line"
@@ -4630,7 +4854,7 @@ Note the I<characters>: depending on the status of the socket, either
(8-bit) bytes or characters are received. By default all sockets
operate on bytes, but for example if the socket has been changed using
binmode() to operate with the C<:encoding(utf8)> I/O layer (see the
-C<open> pragma, L<open>), the I/O will operate on UTF-8 encoded Unicode
+C<open> pragma, L<open>), the I/O will operate on UTF8-encoded Unicode
characters, not bytes. Similarly for the C<:encoding> pragma: in that
case pretty much any characters can be read.
@@ -4663,7 +4887,7 @@ normally use this command:
}
C<redo> cannot be used to retry a block that returns a value such as
-C<eval {}>, C<sub {}> or C<do {}>, and should not be used to exit
+C<eval {}>, C<sub {}>, or C<do {}>, and should not be used to exit
a grep() or map() operation.
Note that a block by itself is semantically identical to a loop
@@ -4832,9 +5056,9 @@ first look for a similar filename with a "F<.pmc>" extension. If this file
is found, it will be loaded in place of any file ending in a "F<.pm>"
extension.
-You can also insert hooks into the import facility, by putting Perl code
+You can also insert hooks into the import facility by putting Perl code
directly into the @INC array. There are three forms of hooks: subroutine
-references, array references and blessed objects.
+references, array references, and blessed objects.
Subroutine references are the simplest case. When the inclusion system
walks through @INC and encounters a subroutine, this subroutine gets
@@ -4853,8 +5077,8 @@ A filehandle, from which the file will be read.
A reference to a subroutine. If there is no filehandle (previous item),
then this subroutine is expected to generate one line of source code per
-call, writing the line into C<$_> and returning 1, then returning 0 at
-end of file. If there is a filehandle, then the subroutine will be
+call, writing the line into C<$_> and returning 1, then finally at end of
+file returning 0. If there is a filehandle, then the subroutine will be
called to act as a simple source filter, with the line as read in C<$_>.
Again, return 1 for each valid line, and 0 after all lines have been
returned.
@@ -4869,8 +5093,8 @@ reference to the subroutine itself is passed in as C<$_[0]>.
If an empty list, C<undef>, or nothing that matches the first 3 values above
is returned, then C<require> looks at the remaining elements of @INC.
Note that this filehandle must be a real filehandle (strictly a typeglob
-or reference to a typeglob, blessed or unblessed); tied filehandles will be
-ignored and return value processing will stop there.
+or reference to a typeglob, whether blessed or unblessed); tied filehandles
+will be ignored and processing will stop there.
If the hook is an array reference, its first element must be a subroutine
reference. This subroutine is called as above, but the first parameter is
@@ -5007,7 +5231,7 @@ X<rmdir> X<rd> X<directory, remove>
=item rmdir
Deletes the directory specified by FILENAME if that directory is
-empty. If it succeeds it returns true, otherwise it returns false and
+empty. If it succeeds it returns true; otherwise it returns false and
sets C<$!> (errno). If FILENAME is omitted, uses C<$_>.
To remove a directory tree recursively (C<rm -rf> on Unix) look at
@@ -5020,16 +5244,20 @@ The substitution operator. See L<perlop/"Regexp Quote-Like Operators">.
=item say FILEHANDLE LIST
X<say>
+=item say FILEHANDLE
+
=item say LIST
=item say
-Just like C<print>, but implicitly appends a newline.
-C<say LIST> is simply an abbreviation for C<{ local $\ = "\n"; print
-LIST }>.
+Just like C<print>, but implicitly appends a newline. C<say LIST> is
+simply an abbreviation for C<{ local $\ = "\n"; print LIST }>. To use
+FILEHANDLE without a LIST to print the contents of C<$_> to it, you must
+use a real filehandle like C<FH>, not an indirect one like C<$fh>.
-This keyword is available only when the "say" feature is
-enabled: see L<feature>.
+This keyword is available only when the C<"say"> feature is enabled; see
+L<feature>. Alternately, include a C<use v5.10> or later to the current
+scope.
=item scalar EXPR
X<scalar> X<context>
@@ -5045,10 +5273,10 @@ needed. If you really wanted to do so, however, you could use
the construction C<@{[ (some expression) ]}>, but usually a simple
C<(some expression)> suffices.
-Because C<scalar> is a unary operator, if you accidentally use for EXPR a
-parenthesized list, this behaves as a scalar comma expression, evaluating
-all but the last element in void context and returning the final element
-evaluated in scalar context. This is seldom what you want.
+Because C<scalar> is a unary operator, if you accidentally use a
+parenthesized list for the EXPR, this behaves as a scalar comma expression,
+evaluating all but the last element in void context and returning the final
+element evaluated in scalar context. This is seldom what you want.
The following single statement:
@@ -5067,11 +5295,11 @@ X<seek> X<fseek> X<filehandle, position>
Sets FILEHANDLE's position, just like the C<fseek> call of C<stdio>.
FILEHANDLE may be an expression whose value gives the name of the
filehandle. The values for WHENCE are C<0> to set the new position
-I<in bytes> to POSITION, C<1> to set it to the current position plus
-POSITION, and C<2> to set it to EOF plus POSITION (typically
-negative). For WHENCE you may use the constants C<SEEK_SET>,
+I<in bytes> to POSITION; C<1> to set it to the current position plus
+POSITION; and C<2> to set it to EOF plus POSITION, typically
+negative. For WHENCE you may use the constants C<SEEK_SET>,
C<SEEK_CUR>, and C<SEEK_END> (start of the file, current position, end
-of the file) from the Fcntl module. Returns C<1> on success, C<0>
+of the file) from the L<Fcntl> module. Returns C<1> on success, false
otherwise.
Note the I<in bytes>: even if the filehandle has been set to
@@ -5123,11 +5351,12 @@ X<select> X<filehandle, default>
Returns the currently selected filehandle. If FILEHANDLE is supplied,
sets the new current default filehandle for output. This has two
-effects: first, a C<write> or a C<print> without a filehandle will
+effects: first, a C<write> or a C<print> without a filehandle
default to this FILEHANDLE. Second, references to variables related to
-output will refer to this output channel. For example, if you have to
-set the top of form format for more than one output channel, you might
-do the following:
+output will refer to this output channel.
+
+For example, to set the top-of-form format for more than one
+output channel, you might do the following:
select(REPORT1);
$^ = 'report1_top';
@@ -5197,11 +5426,10 @@ portability of C<select>.
On error, C<select> behaves like select(2): it returns
-1 and sets C<$!>.
-On some Unixes, select(2) may report a socket file
-descriptor as "ready for reading" when no data is available, and
-thus a subsequent read blocks. This can be avoided if you always use
-O_NONBLOCK on the socket. See select(2) and fcntl(2) for further
-details.
+On some Unixes, select(2) may report a socket file descriptor as "ready for
+reading" even when no data is available, and thus any subsequent C<read>
+would block. This can be avoided if you always use O_NONBLOCK on the
+socket. See select(2) and fcntl(2) for further details.
B<WARNING>: One should not attempt to mix buffered I/O (like C<read>
or <FH>) with C<select>, except as permitted by POSIX, and even
@@ -5227,7 +5455,7 @@ documentation.
X<semget>
Calls the System V IPC function semget(2). Returns the semaphore id, or
-the undefined value if there is an error. See also
+the undefined value on error. See also
L<perlipc/"SysV IPC">, C<IPC::SysV>, C<IPC::SysV::Semaphore>
documentation.
@@ -5239,7 +5467,7 @@ such as signalling and waiting. OPSTRING must be a packed array of
semop structures. Each semop structure can be generated with
C<pack("s!3", $semnum, $semop, $semflag)>. The length of OPSTRING
implies the number of semaphore operations. Returns true if
-successful, or false if there is an error. As an example, the
+successful, false on error. As an example, the
following code waits on semaphore $semnum of semaphore id $semid:
$semop = pack("s!3", $semnum, -1, 0);
@@ -5289,8 +5517,8 @@ that doesn't implement setpriority(2).
=item setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
X<setsockopt>
-Sets the socket option requested. Returns undefined if there is an
-error. Use integer constants provided by the C<Socket> module for
+Sets the socket option requested. Returns C<undef> on error.
+Use integer constants provided by the C<Socket> module for
LEVEL and OPNAME. Values for LEVEL can also be obtained from
getprotobyname. OPTVAL might either be a packed string or an integer.
An integer OPTVAL is shorthand for pack("i", OPTVAL).
@@ -5303,6 +5531,8 @@ An example disabling Nagle's algorithm on a socket:
=item shift ARRAY
X<shift>
+=item shift EXPR
+
=item shift
Shifts the first value of the array off and returns it, shortening the
@@ -5311,7 +5541,12 @@ array, returns the undefined value. If ARRAY is omitted, shifts the
C<@_> array within the lexical scope of subroutines and formats, and the
C<@ARGV> array outside a subroutine and also within the lexical scopes
established by the C<eval STRING>, C<BEGIN {}>, C<INIT {}>, C<CHECK {}>,
-C<UNITCHECK {}> and C<END {}> constructs.
+C<UNITCHECK {}>, and C<END {}> constructs.
+
+Starting with Perl 5.14, C<shift> can take a scalar EXPR, which must hold a
+reference to an unblessed array. The argument will be dereferenced
+automatically. This aspect of C<shift> is considered highly experimental.
+The exact behaviour may change in a future version of Perl.
See also C<unshift>, C<push>, and C<pop>. C<shift> and C<unshift> do the
same thing to the left end of an array that C<pop> and C<push> do to the
@@ -5326,15 +5561,15 @@ Calls the System V IPC function shmctl. You'll probably have to say
first to get the correct constant definitions. If CMD is C<IPC_STAT>,
then ARG must be a variable that will hold the returned C<shmid_ds>
-structure. Returns like ioctl: the undefined value for error, "C<0> but
-true" for zero, or the actual return value otherwise.
+structure. Returns like ioctl: C<undef> for error; "C<0> but
+true" for zero; and the actual return value otherwise.
See also L<perlipc/"SysV IPC"> and C<IPC::SysV> documentation.
=item shmget KEY,SIZE,FLAGS
X<shmget>
Calls the System V IPC function shmget. Returns the shared memory
-segment id, or the undefined value if there is an error.
+segment id, or C<undef> on error.
See also L<perlipc/"SysV IPC"> and C<IPC::SysV> documentation.
=item shmread ID,VAR,POS,SIZE
@@ -5348,9 +5583,9 @@ position POS for size SIZE by attaching to it, copying in/out, and
detaching from it. When reading, VAR must be a variable that will
hold the data read. When writing, if STRING is too long, only SIZE
bytes are used; if STRING is too short, nulls are written to fill out
-SIZE bytes. Return true if successful, or false if there is an error.
+SIZE bytes. Return true if successful, false on error.
shmread() taints the variable. See also L<perlipc/"SysV IPC">,
-C<IPC::SysV> documentation, and the C<IPC::Shareable> module from CPAN.
+C<IPC::SysV>, and the C<IPC::Shareable> module from CPAN.
=item shutdown SOCKET,HOW
X<shutdown>
@@ -5476,13 +5711,12 @@ the value provides the name of (or a reference to) the actual
subroutine to use. In place of a SUBNAME, you can provide a BLOCK as
an anonymous, in-line sort subroutine.
-If the subroutine's prototype is C<($$)>, the elements to be compared
-are passed by reference in C<@_>, as for a normal subroutine. This is
-slower than unprototyped subroutines, where the elements to be
-compared are passed into the subroutine
-as the package global variables $a and $b (see example below). Note that
-in the latter case, it is usually counter-productive to declare $a and
-$b as lexicals.
+If the subroutine's prototype is C<($$)>, the elements to be compared are
+passed by reference in C<@_>, as for a normal subroutine. This is slower
+than unprototyped subroutines, where the elements to be compared are passed
+into the subroutine as the package global variables $a and $b (see example
+below). Note that in the latter case, it is usually highly counter-productive
+to declare $a and $b as lexicals.
The values to be compared are always passed by reference and should not
be modified.
@@ -5500,7 +5734,7 @@ actually modifies the element in the original list. This is usually
something to be avoided when writing clear code.
Perl 5.6 and earlier used a quicksort algorithm to implement sort.
-That algorithm was not stable, and I<could> go quadratic. (A I<stable> sort
+That algorithm was not stable, so I<could> go quadratic. (A I<stable> sort
preserves the input order of elements that compare equal. Although
quicksort's run time is O(NlogN) when averaged over all arrays of
length N, the time can be O(N**2), I<quadratic> behavior, for some
@@ -5636,22 +5870,22 @@ sometimes saying the opposite, for example) the results are not
well-defined.
Because C<< <=> >> returns C<undef> when either operand is C<NaN>
-(not-a-number), and because C<sort> raises an exception unless the
-result of a comparison is defined, when sorting with a comparison function
-like C<< $a <=> $b >>, be careful about lists that might contain a C<NaN>.
-The following example takes advantage that C<NaN != NaN> to
+(not-a-number), and laso because C<sort> raises an exception unless the
+result of a comparison is defined, be careful when sorting with a
+comparison function like C<< $a <=> $b >> any lists that might contain a
+C<NaN>. The following example takes advantage that C<NaN != NaN> to
eliminate any C<NaN>s from the input list.
@result = sort { $a <=> $b } grep { $_ == $_ } @input;
-=item splice ARRAY,OFFSET,LENGTH,LIST
+=item splice ARRAY or EXPR,OFFSET,LENGTH,LIST
X<splice>
-=item splice ARRAY,OFFSET,LENGTH
+=item splice ARRAY or EXPR,OFFSET,LENGTH
-=item splice ARRAY,OFFSET
+=item splice ARRAY or EXPR,OFFSET
-=item splice ARRAY
+=item splice ARRAY or EXPR
Removes the elements designated by OFFSET and LENGTH from an array, and
replaces them with the elements of LIST, if any. In list context,
@@ -5687,6 +5921,11 @@ Example, assuming array lengths are passed before arrays:
}
if (&aeq($len,@foo[1..$len],0+@bar,@bar)) { ... }
+Starting with Perl 5.14, C<splice> can take scalar EXPR, which must hold a
+reference to an unblessed array. The argument will be dereferenced
+automatically. This aspect of C<splice> is considered highly experimental.
+The exact behaviour may change in a future version of Perl.
+
=item split /PATTERN/,EXPR,LIMIT
X<split>
@@ -5957,11 +6196,11 @@ display the given value. You can override the width by putting
a number here, or get the width from the next argument (with C<*>)
or from a specified argument (e.g., with C<*2$>):
- printf '<%s>', "a"; # prints "<a>"
- printf '<%6s>', "a"; # prints "< a>"
- printf '<%*s>', 6, "a"; # prints "< a>"
- printf '<%*2$s>', "a", 6; # prints "< a>"
- printf '<%2s>', "long"; # prints "<long>" (does not truncate)
+ printf "<%s>", "a"; # prints "<a>"
+ printf "<%6s>", "a"; # prints "< a>"
+ printf "<%*s>", 6, "a"; # prints "< a>"
+ printf "<%*2$s>", "a", 6; # prints "< a>"
+ printf "<%2s>", "long"; # prints "<long>" (does not truncate)
If a field width obtained through C<*> is negative, it has the same
effect as the C<-> flag: left-justification.
@@ -5971,7 +6210,7 @@ X<precision>
You can specify a precision (for numeric conversions) or a maximum
width (for string conversions) by specifying a C<.> followed by a number.
-For floating-point formats except 'g' and 'G', this specifies
+For floating-point formats except C<g> and C<G>, this specifies
how many places right of the decimal point to show (the default being 6).
For example:
@@ -6051,15 +6290,30 @@ whatever the default integer size is on your platform (usually 32 or 64
bits), but you can override this to use instead one of the standard C types,
as supported by the compiler used to build Perl:
- l interpret integer as C type "long" or "unsigned long"
+ hh interpret integer as C type "char" or "unsigned char"
+ on Perl 5.14 or later
h interpret integer as C type "short" or "unsigned short"
- q, L or ll interpret integer as C type "long long", "unsigned long long".
- or "quads" (typically 64-bit integers)
+ j intepret integer as C type "intmax_t" on Perl 5.14
+ or later, and only with a C99 compiler (unportable)
+ l interpret integer as C type "long" or "unsigned long"
+ q, L, or ll interpret integer as C type "long long", "unsigned long long",
+ or "quad" (typically 64-bit integers)
+ t intepret integer as C type "ptrdiff_t" on Perl 5.14 or later
+ z intepret integer as C type "size_t" on Perl 5.14 or later
-The last will raise an exception if Perl does not understand "quads" in your
-installation. (This requires either that the platform natively support quads,
-or that Perl were specifically compiled to support quads.) You can find out
-whether your Perl supports quads via L<Config>:
+As of 5.14, none of these raises an exception if they are not supported on
+your platform. However, if warnings are enabled, a warning of the
+C<printf> warning class is issued on an unsupported conversion flag.
+Should you instead prefer an exception, do this:
+
+ use warnings FATAL => "printf";
+
+If you would like to know about a version dependency before you
+start running the program, put something like this at its top:
+
+ use 5.014; # for hh/j/t/z/ printf modifiers
+
+You can find out whether your Perl supports quads via L<Config>:
use Config;
if ($Config{use64bitint} eq "define" || $Config{longsize} >= 8) {
@@ -6148,34 +6402,34 @@ X<srand> X<seed> X<randseed>
=item srand
-Sets the random number seed for the C<rand> operator.
+Sets and returns the random number seed for the C<rand> operator.
The point of the function is to "seed" the C<rand> function so that
C<rand> can produce a different sequence each time you run your
-program.
-
-If srand() is not called explicitly, it is called implicitly at the
-first use of the C<rand> operator. However, this was not true of
-versions of Perl before 5.004, so if your script will run under older
-Perl versions, it should call C<srand>.
-
-Most programs won't even call srand() at all, except those that
-need a cryptographically-strong starting point rather than the
-generally acceptable default, which is based on time of day,
-process ID, and memory allocation, or the F</dev/urandom> device
-if available. You may also want to call srand() after a fork() to
-avoid child processes sharing the same seed value as the parent (and
-consequently each other).
-
-You can call srand($seed) with the same $seed to reproduce the
-I<same> sequence from rand(), but this is usually reserved for
-generating predictable results for testing or debugging.
-Otherwise, don't call srand() more than once in your program.
-
-Do B<not> call srand() (i.e., without an argument) more than once per
+program. When called with a parameter, C<srand> uses that for the seed;
+otherwise it (semi-)randomly chooses a seed. In either case, starting with
+Perl 5.14, it returns the seed.
+
+If C<srand()> is not called explicitly, it is called implicitly without a
+parameter at the first use of the C<rand> operator. However, this was not true
+of versions of Perl before 5.004, so if your script will run under older
+Perl versions, it should call C<srand>; otherwise most programs won't call
+C<srand()> at all.
+
+But there are a few situations in recent Perls where programs are likely to
+want to call C<srand>. One is for generating predictable results generally for
+testing or debugging. There, you use C<srand($seed)>, with the same C<$seed>
+each time. Another other case is where you need a cryptographically-strong
+starting point rather than the generally acceptable default, which is based on
+time of day, process ID, and memory allocation, or the F</dev/urandom> device
+if available. And still another case is that you may want to call C<srand()>
+after a C<fork()> to avoid child processes sharing the same seed value as the
+parent (and consequently each other).
+
+Do B<not> call C<srand()> (i.e., without an argument) more than once per
process. The internal state of the random number generator should
contain more entropy than can be provided by any seed, so calling
-srand() again actually I<loses> randomness.
+C<srand()> again actually I<loses> randomness.
Most implementations of C<srand> take an integer and will silently
truncate decimal numbers. This means C<srand(42)> will usually
@@ -6207,6 +6461,11 @@ for a seed can fall prey to the mathematical property that
one-third of the time. So don't do that.
+A typical use of the returned seed is for a test program which has too many
+combinations to test comprehensively in the time available to it each run. It
+can test a random subset each time, and should there be a failure, log the seed
+used for that run so that it can later be used to reproduce the same results.
+
=item stat FILEHANDLE
X<stat> X<file, status> X<ctime>
@@ -6218,7 +6477,7 @@ X<stat> X<file, status> X<ctime>
Returns a 13-element list giving the status info for a file, either
the file opened via FILEHANDLE or DIRHANDLE, or named by EXPR. If EXPR is
-omitted, it stats C<$_>. Returns the empty list if C<stat> fails. Typically
+omitted, it stats C<$_> (not C<_>!). Returns the empty list if C<stat> fails. Typically
used as follows:
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
@@ -6246,7 +6505,7 @@ meanings of the fields:
(*) Not all fields are supported on all filesystem types. Notably, the
ctime field is non-portable. In particular, you cannot expect it to be a
-"creation time", see L<perlport/"Files and Filesystems"> for details.
+"creation time"; see L<perlport/"Files and Filesystems"> for details.
If C<stat> is passed the special filehandle consisting of an underline, no
stat is done, but the current contents of the stat structure from the
@@ -6365,9 +6624,9 @@ X<study>
Takes extra time to study SCALAR (C<$_> if unspecified) in anticipation of
doing many pattern matches on the string before it is next modified.
This may or may not save time, depending on the nature and number of
-patterns you are searching on, and on the distribution of character
+patterns you are searching and the distribution of character
frequencies in the string to be searched; you probably want to compare
-run times with and without it to see which runs faster. Those loops
+run times with and without it to see which is faster. Those loops
that scan for many short constant strings (including the constant
parts of more complex patterns) will benefit most. You may have only
one C<study> active at a time: if you study a different scalar the first
@@ -6426,13 +6685,13 @@ X<sub>
=item sub NAME (PROTO) : ATTRS BLOCK
-This is subroutine definition, not a real function I<per se>.
-Without a BLOCK it's just a forward declaration. Without a NAME,
-it's an anonymous function declaration, and does actually return
-a value: the CODE ref of the closure you just created.
+This is subroutine definition, not a real function I<per se>. Without a
+BLOCK it's just a forward declaration. Without a NAME, it's an anonymous
+function declaration, so does return a value: the CODE ref of the closure
+just created.
See L<perlsub> and L<perlref> for details about subroutines and
-references, and L<attributes> and L<Attribute::Handlers> for more
+references; see L<attributes> and L<Attribute::Handlers> for more
information about attributes.
=item substr EXPR,OFFSET,LENGTH,REPLACEMENT
@@ -6443,10 +6702,10 @@ X<substr> X<substring> X<mid> X<left> X<right>
=item substr EXPR,OFFSET
Extracts a substring out of EXPR and returns it. First character is at
-offset C<0>, or whatever you've set C<$[> to (but don't do that).
+offset C<0> (or whatever you've set C<$[> to (but B<<don't do that>)).
If OFFSET is negative (or more precisely, less than C<$[>), starts
-that far from the end of the string. If LENGTH is omitted, returns
-everything to the end of the string. If LENGTH is negative, leaves that
+that far back from the end of the string. If LENGTH is omitted, returns
+everything through the end of the string. If LENGTH is negative, leaves that
many characters off the end of the string.
my $s = "The black cat climbed the green tree";
@@ -6484,7 +6743,7 @@ just as you can with splice().
my $z = substr $s, 14, 7, "jumped from"; # climbed
# $s is now "The black cat jumped from the green tree"
-Note that the lvalue returned by the 3-arg version of substr() acts as
+Note that the lvalue returned by the three-argument version of substr() acts as
a 'magic bullet'; each time it is assigned to, it remembers which part
of the original string is being modified; for example:
@@ -6535,12 +6794,12 @@ which in practice should (usually) suffice.
Syscall returns whatever value returned by the system call it calls.
If the system call fails, C<syscall> returns C<-1> and sets C<$!> (errno).
-Note that some system calls can legitimately return C<-1>. The proper
-way to handle such calls is to assign C<$!=0;> before the call and
-check the value of C<$!> if syscall returns C<-1>.
+Note that some system calls I<can> legitimately return C<-1>. The proper
+way to handle such calls is to assign C<$!=0> before the call, then
+check the value of C<$!> if C<syscall> returns C<-1>.
There's a problem with C<syscall(&SYS_pipe)>: it returns the file
-number of the read end of the pipe it creates. There is no way
+number of the read end of the pipe it creates, but there is no way
to retrieve the file number of the other end. You can avoid this
problem by using C<pipe> instead.
@@ -6549,16 +6808,16 @@ X<sysopen>
=item sysopen FILEHANDLE,FILENAME,MODE,PERMS
-Opens the file whose filename is given by FILENAME, and associates it
-with FILEHANDLE. If FILEHANDLE is an expression, its value is used as
-the name of the real filehandle wanted. This function calls the
-underlying operating system's C<open> function with the parameters
-FILENAME, MODE, PERMS.
+Opens the file whose filename is given by FILENAME, and associates it with
+FILEHANDLE. If FILEHANDLE is an expression, its value is used as the real
+filehandle wanted; an undefined scalar will be suitably autovivified. This
+function calls the underlying operating system's I<open>(2) function with the
+parameters FILENAME, MODE, and PERMS.
The possible values and flag bits of the MODE parameter are
-system-dependent; they are available via the standard module C<Fcntl>.
-See the documentation of your operating system's C<open> to see which
-values and flag bits are available. You may combine several flags
+system-dependent; they are available via the standard module C<Fcntl>. See
+the documentation of your operating system's I<open>(2) syscall to see
+which values and flag bits are available. You may combine several flags
using the C<|>-operator.
Some of the most common values are C<O_RDONLY> for opening the file in
@@ -6642,20 +6901,19 @@ See L</binmode>, L</open>, and the C<open> pragma, L<open>.
=item sysseek FILEHANDLE,POSITION,WHENCE
X<sysseek> X<lseek>
-Sets FILEHANDLE's system position in bytes using
-lseek(2). FILEHANDLE may be an expression whose value gives the name
-of the filehandle. The values for WHENCE are C<0> to set the new
-position to POSITION, C<1> to set the it to the current position plus
-POSITION, and C<2> to set it to EOF plus POSITION (typically
-negative).
+Sets FILEHANDLE's system position in bytes using lseek(2). FILEHANDLE may
+be an expression whose value gives the name of the filehandle. The values
+for WHENCE are C<0> to set the new position to POSITION; C<1> to set the it
+to the current position plus POSITION; and C<2> to set it to EOF plus
+POSITION, typically negative.
Note the I<in bytes>: even if the filehandle has been set to operate
on characters (for example by using the C<:encoding(utf8)> I/O layer),
tell() will return byte offsets, not character offsets (because
implementing that would render sysseek() unacceptably slow).
-sysseek() bypasses normal buffered IO, so mixing this with reads (other
-than C<sysread>, for example C<< <> >> or read()) C<print>, C<write>,
+sysseek() bypasses normal buffered IO, so mixing it with reads other
+than C<sysread> (for example C<< <> >> or read()) C<print>, C<write>,
C<seek>, C<tell>, or C<eof> may cause confusion.
For WHENCE, you may also use the constants C<SEEK_SET>, C<SEEK_CUR>,
@@ -6677,7 +6935,7 @@ X<system> X<shell>
=item system PROGRAM LIST
Does exactly the same thing as C<exec LIST>, except that a fork is
-done first, and the parent process waits for the child process to
+done first and the parent process waits for the child process to
exit. Note that argument processing varies depending on the
number of arguments. If there is more than one argument in LIST,
or if LIST is an array with more than one value, starts the program
@@ -6699,7 +6957,7 @@ of C<IO::Handle> on any open handles.
The return value is the exit status of the program as returned by the
C<wait> call. To get the actual exit value, shift right by eight (see
below). See also L</exec>. This is I<not> what you want to use to capture
-the output from a command, for that you should use merely backticks or
+the output from a command; for that you should use merely backticks or
C<qx//>, as described in L<perlop/"`STRING`">. Return value of -1
indicates a failure to start the program or an error of the wait(2) system
call (inspect $! for the reason).
@@ -6755,7 +7013,7 @@ specified FILEHANDLE, using write(2). If LENGTH is
not specified, writes whole SCALAR. It bypasses buffered IO, so
mixing this with reads (other than C<sysread())>, C<print>, C<write>,
C<seek>, C<tell>, or C<eof> may cause confusion because the perlio and
-stdio layers usually buffers data. Returns the number of bytes
+stdio layers usually buffer data. Returns the number of bytes
actually written, or C<undef> if there was an error (in this case the
errno variable C<$!> is also set). If the LENGTH is greater than the
data available in the SCALAR after the OFFSET, only as much data as is
@@ -6766,10 +7024,12 @@ string other than the beginning. A negative OFFSET specifies writing
that many characters counting backwards from the end of the string.
If SCALAR is of length zero, you can only use an OFFSET of 0.
-B<Warning>: If the filehandle is marked C<:utf8>, Unicode characters
+B<WARNING>: If the filehandle is marked C<:utf8>, Unicode characters
encoded in UTF-8 are written instead of bytes, and the LENGTH, OFFSET, and
-return value of syswrite() are in (UTF-8 encoded Unicode) characters.
+return value of syswrite() are in (UTF8-encoded Unicode) characters.
The C<:encoding(...)> layer implicitly introduces the C<:utf8> layer.
+Alternately, if the handle is not marked with an encoding but you
+attempt to write characters with code points over 255, raises an exception.
See L</binmode>, L</open>, and the C<open> pragma, L<open>.
=item tell FILEHANDLE
@@ -6794,7 +7054,7 @@ tell() on pipes, fifos, and sockets usually returns -1.
There is no C<systell> function. Use C<sysseek(FH, 0, 1)> for that.
Do not use tell() (or other buffered I/O operations) on a filehandle
-that has been manipulated by sysread(), syswrite() or sysseek().
+that has been manipulated by sysread(), syswrite(), or sysseek().
Those functions ignore the buffering, while tell() does not.
=item telldir DIRHANDLE
@@ -6914,11 +7174,10 @@ C<localtime>. On most systems the epoch is 00:00:00 UTC, January 1, 1970;
a prominent exception being Mac OS Classic which uses 00:00:00, January 1,
1904 in the current local time zone for its epoch.
-For measuring time in better granularity than one second,
-you may use either the L<Time::HiRes> module (from CPAN, and starting from
-Perl 5.8 part of the standard distribution), or if you have
-gettimeofday(2), you may be able to use the C<syscall> interface of Perl.
-See L<perlfaq8> for details.
+For measuring time in better granularity than one second, use the
+L<Time::HiRes> module from Perl 5.8 onwards (or from CPAN before then), or,
+if you have gettimeofday(2), you may be able to use the C<syscall>
+interface of Perl. See L<perlfaq8> for details.
For date and time processing look at the many related modules on CPAN.
For a comprehensive date and time representation look at the
@@ -6927,8 +7186,8 @@ L<DateTime> module.
=item times
X<times>
-Returns a four-element list giving the user and system times, in
-seconds, for this process and the children of this process.
+Returns a four-element list giving the user and system times in
+seconds for this process and any exited children of this process.
($user,$system,$cuser,$csystem) = times;
@@ -6948,14 +7207,13 @@ X<truncate>
Truncates the file opened on FILEHANDLE, or named by EXPR, to the
specified length. Raises an exception if truncate isn't implemented
-on your system. Returns true if successful, the undefined value
-otherwise.
+on your system. Returns true if successful, C<undef> on error.
The behavior is undefined if LENGTH is greater than the length of the
file.
The position in the file of FILEHANDLE is left unchanged. You may want to
-call L<seek> before writing to the file.
+call L<seek|/"seek FILEHANDLE,POSITION,WHENCE"> before writing to the file.
=item uc EXPR
X<uc> X<uppercase> X<toupper>
@@ -7000,11 +7258,11 @@ and isn't one of the digits). The C<umask> value is such a number
representing disabled permissions bits. The permission (or "mode")
values you pass C<mkdir> or C<sysopen> are modified by your umask, so
even if you tell C<sysopen> to create a file with permissions C<0777>,
-if your umask is C<0022> then the file will actually be created with
+if your umask is C<0022>, then the file will actually be created with
permissions C<0755>. If your C<umask> were C<0027> (group can't
write; others can't read, write, or execute), then passing
-C<sysopen> C<0666> would create a file with mode C<0640> (C<0666 &~
-027> is C<0640>).
+C<sysopen> C<0666> would create a file with mode C<0640> (because
+C<0666 &~ 027> is C<0640>).
Here's some advice: supply a creation mode of C<0666> for regular
files (in C<sysopen>) and one of C<0777> for directories (in
@@ -7114,7 +7372,7 @@ a %<number> to indicate that
you want a <number>-bit checksum of the items instead of the items
themselves. Default is a 16-bit checksum. Checksum is calculated by
summing numeric values of expanded values (for string fields the sum of
-C<ord($char)> is taken, for bit fields the sum of zeroes and ones).
+C<ord($char)> is taken; for bit fields the sum of zeroes and ones).
For example, the following
computes the same number as the System V sum program:
@@ -7151,9 +7409,11 @@ Has no effect if the variable is not tied.
=item unshift ARRAY,LIST
X<unshift>
+=item unshift EXPR,LIST
+
Does the opposite of a C<shift>. Or the opposite of a C<push>,
depending on how you look at it. Prepends list to the front of the
-array, and returns the new number of elements in the array.
+array and returns the new number of elements in the array.
unshift(@ARGV, '-e') unless $ARGV[0] =~ /^-/;
@@ -7161,6 +7421,11 @@ Note the LIST is prepended whole, not one element at a time, so the
prepended elements stay in the same order. Use C<reverse> to do the
reverse.
+Starting with Perl 5.14, C<unshift> can take a scalar EXPR, which must hold
+a reference to an unblessed array. The argument will be dereferenced
+automatically. This aspect of C<unshift> is considered highly
+experimental. The exact behaviour may change in a future version of Perl.
+
=item use Module VERSION LIST
X<use> X<module> X<import>
@@ -7179,6 +7444,7 @@ package. It is exactly equivalent to
BEGIN { require Module; Module->import( LIST ); }
except that Module I<must> be a bareword.
+The importation can be made conditional; see L<if>.
In the peculiar C<use VERSION> form, VERSION may be either a positive
decimal fraction such as 5.006, which will be compared to C<$]>, or a v-string
@@ -7265,7 +7531,7 @@ conditionally, this can be done using the L<if> pragma:
use if $] < 5.008, "utf8";
use if WANT_WARNINGS, warnings => qw(all);
-There's a corresponding C<no> command that unimports meanings imported
+There's a corresponding C<no> declaration that unimports meanings imported
by C<use>, i.e., it calls C<unimport Module LIST> instead of C<import>.
It behaves just as C<import> does with VERSION, an omitted or empty LIST,
or no unimport method being found.
@@ -7275,7 +7541,7 @@ or no unimport method being found.
no warnings;
Care should be taken when using the C<no VERSION> form of C<no>. It is
-I<only> meant to be used to assert that the running perl is of a earlier
+I<only> meant to be used to assert that the running Perl is of a earlier
version than its argument and I<not> to undo the feature-enabling side effects
of C<use VERSION>.
@@ -7287,7 +7553,7 @@ functionality from the command-line.
X<utime>
Changes the access and modification times on each file of a list of
-files. The first two elements of the list must be the NUMERICAL access
+files. The first two elements of the list must be the NUMERIC access
and modification times, in that order. Returns the number of files
successfully changed. The inode change time of each file is set
to the current time. For example, this code has the same effect as the
@@ -7331,8 +7597,10 @@ X<values>
=item values ARRAY
+=item values EXPR
+
Returns a list consisting of all the values of the named hash, or the values
-of an array. (In a scalar context, returns the number of values.)
+of an array. (In scalar context, returns the number of values.)
The values are returned in an apparently random order. The actual
random order is subject to change in future versions of Perl, but it
@@ -7342,7 +7610,7 @@ function would produce on the same (unmodified) hash. Since Perl
for security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
As a side effect, calling values() resets the HASH or ARRAY's internal
-iterator,
+iterator;
see L</each>. (In particular, calling values() in void context resets
the iterator with no other overhead. Apart from resetting the iterator,
C<values @array> in list context is the same as plain C<@array>.
@@ -7350,20 +7618,27 @@ We recommend that you use void context C<keys @array> for this, but reasoned
that it taking C<values @array> out would require more documentation than
leaving it in.)
-
Note that the values are not copied, which means modifying them will
modify the contents of the hash:
for (values %hash) { s/foo/bar/g } # modifies %hash values
for (@hash{keys %hash}) { s/foo/bar/g } # same
+Starting with Perl 5.14, C<values> can take a scalar EXPR, which must hold
+a reference to an unblessed hash or array. The argument will be
+dereferenced automatically. This aspect of C<values> is considered highly
+experimental. The exact behaviour may change in a future version of Perl.
+
+ for (values $hashref) { ... }
+ for (values $obj->get_arrayref) { ... }
+
See also C<keys>, C<each>, and C<sort>.
=item vec EXPR,OFFSET,BITS
X<vec> X<bit> X<bit vector>
Treats the string in EXPR as a bit vector made up of elements of
-width BITS, and returns the value of the element specified by OFFSET
+width BITS and returns the value of the element specified by OFFSET
as an unsigned integer. BITS therefore specifies the number of bits
that are reserved for each element in the bit vector. This must
be a power of two from 1 to 32 (or 64, if your platform supports
@@ -7607,7 +7882,7 @@ and C<${^CHILD_ERROR_NATIVE}>.
Note that a return value of C<-1> could mean that child processes are
being automatically reaped, as described in L<perlipc>.
-If you use wait in your handler for $SIG{CHLD} it may accidently wait for the
+If you use wait in your handler for $SIG{CHLD} it may accidentally for the
child created by qx() or system(). See L<perlipc> for details.
=item waitpid PID,FLAGS
@@ -7694,10 +7969,57 @@ warnings (even the so-called mandatory ones). An example:
# run-time warnings enabled after here
warn "\$foo is alive and $foo!"; # does show up
-See L<perlvar> for details on setting C<%SIG> entries, and for more
+See L<perlvar> for details on setting C<%SIG> entries and for more
examples. See the Carp module for other kinds of warnings using its
carp() and cluck() functions.
+=item when EXPR BLOCK
+X<when>
+
+=item when BLOCK
+
+C<when> is analogous to the C<case> keyword in other languages. Used with a
+C<foreach> loop or the experimental C<given> block, C<when> can be used in
+Perl to implement C<switch>/C<case> like statements. Available as a
+statement after Perl 5.10 and as a statement modifier after 5.14.
+Here are three examples:
+
+ use v5.10;
+ foreach (@fruits) {
+ when (/apples?/) {
+ say "I like apples."
+ }
+ when (/oranges?/) {
+ say "I don't like oranges."
+ }
+ default {
+ say "I don't like anything"
+ }
+ }
+
+ # require 5.14 for when as statement modifier
+ use v5.14;
+ foreach (@fruits) {
+ say "I like apples." when /apples?/;
+ say "I don't like oranges." when /oranges?;
+ default { say "I don't like anything" }
+ }
+
+ use v5.10;
+ given ($fruit) {
+ when (/apples?/) {
+ say "I like apples."
+ }
+ when (/oranges?/) {
+ say "I don't like oranges."
+ }
+ default {
+ say "I don't like anything"
+ }
+ }
+
+See L<perlsyn/"Switch statements"> for detailed information.
+
=item write FILEHANDLE
X<write>
@@ -7711,15 +8033,15 @@ a file is the one having the same name as the filehandle, but the
format for the current output channel (see the C<select> function) may be set
explicitly by assigning the name of the format to the C<$~> variable.
-Top of form processing is handled automatically: if there is
-insufficient room on the current page for the formatted record, the
-page is advanced by writing a form feed, a special top-of-page format
-is used to format the new page header, and then the record is written.
-By default the top-of-page format is the name of the filehandle with
-"_TOP" appended, but it may be dynamically set to the format of your
-choice by assigning the name to the C<$^> variable while the filehandle is
-selected. The number of lines remaining on the current page is in
-variable C<$->, which can be set to C<0> to force a new page.
+Top of form processing is handled automatically: if there is insufficient
+room on the current page for the formatted record, the page is advanced by
+writing a form feed, a special top-of-page format is used to format the new
+page header before the record is written. By default, the top-of-page
+format is the name of the filehandle with "_TOP" appended. This would be a
+problem with autovivified filehandles, but it may be dynamically set to the
+format of your choice by assigning the name to the C<$^> variable while
+that filehandle is selected. The number of lines remaining on the current
+page is in variable C<$->, which can be set to C<0> to force a new page.
If FILEHANDLE is unspecified, output goes to the current default output
channel, which starts out as STDOUT but may be changed by the
@@ -7735,3 +8057,5 @@ The transliteration operator. Same as C<tr///>. See
L<perlop/"Quote and Quote-like Operators">.
=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrepository.pod b/Master/tlpkg/tlperl/lib/pods/perlgit.pod
index 3f1bb8adfc9..eac7bb84b5e 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrepository.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlgit.pod
@@ -1,130 +1,41 @@
+=encoding utf8
+
=for comment
Consistent formatting of this file is achieved with:
- perl ./Porting/podtidy pod/perlrepository.pod
+ perl ./Porting/podtidy pod/perlgit.pod
=head1 NAME
-perlrepository - Using the Perl source repository
-
-=head1 SYNOPSIS
-
-All of Perl's source code is kept centrally in a Git repository at
-I<perl5.git.perl.org>. The repository contains many Perl revisions from
-Perl 1 onwards and all the revisions from Perforce, the version control
-system we were using previously. This repository is accessible in
-different ways.
-
-The full repository takes up about 80MB of disk space. A check out of
-the blead branch (that is, the main development branch, which contains
-bleadperl, the development version of perl 5) takes up about 160MB of
-disk space (including the repository). A build of bleadperl takes up
-about 200MB (including the repository and the check out).
-
-=head1 Getting access to the repository
-
-=head2 Read access via the web
-
-You may access the repository over the web. This allows you to browse
-the tree, see recent commits, subscribe to RSS feeds for the changes,
-search for particular commits and more. You may access it at:
-
- http://perl5.git.perl.org/perl.git
-
-A mirror of the repository is found at:
-
- http://github.com/mirrors/perl
-
-=head2 Read access via Git
-
-You will need a copy of Git for your computer. You can fetch a copy of
-the repository using the Git protocol (which uses port 9418):
-
- % git clone git://perl5.git.perl.org/perl.git perl-git
-
-This clones the repository and makes a local copy in the F<perl-git>
-directory.
+perlgit - Detailed information about git and the Perl repository
-If your local network does not allow you to use port 9418, then you can
-fetch a copy of the repository over HTTP (this is at least 4x slower):
+=head1 DESCRIPTION
- % git clone http://perl5.git.perl.org/perl.git perl-http
+This document provides details on using git to develop Perl. If you are
+just interested in working on a quick patch, see L<perlhack> first.
+This document is intended for people who are regular contributors to
+Perl, including those with write access to the git repository.
-This clones the repository and makes a local copy in the F<perl-http>
-directory.
+=head1 CLONING THE REPOSITORY
-=head2 Write access to the repository
-
-If you are a committer, then you can fetch a copy of the repository
-that you can push back on with:
-
- % git clone ssh://perl5.git.perl.org/perl.git perl-ssh
-
-This clones the repository and makes a local copy in the F<perl-ssh>
-directory.
-
-If you cloned using the git protocol, which is faster than ssh, then
-you will need to modify the URL for the origin remote to enable
-pushing. To do that edit F<.git/config> with git-config(1) like
-this:
-
- % git config remote.origin.url ssh://perl5.git.perl.org/perl.git
-
-You can also set up your user name and e-mail address. Most people do
-this once globally in their F<~/.gitconfig> by doing something like:
-
- % git config --global user.name "Ævar Arnfjörð Bjarmason"
- % git config --global user.email avarab@gmail.com
-
-However if you'd like to override that just for perl then execute then
-execute something like the following in F<perl-git>:
+All of Perl's source code is kept centrally in a Git repository at
+I<perl5.git.perl.org>.
- % git config user.email avar@cpan.org
+You can make a read-only clone of the repository by running:
-It is also possible to keep C<origin> as a git remote, and add a new
-remote for ssh access:
+ % git clone git://perl5.git.perl.org/perl.git perl
- % git remote add camel perl5.git.perl.org:/perl.git
+This uses the git protocol (port 9418).
-This allows you to update your local repository by pulling from
-C<origin>, which is faster and doesn't require you to authenticate, and
-to push your changes back with the C<camel> remote:
+If you cannot use the git protocol for firewall reasons, you can also
+clone via http, though this is much slower:
- % git fetch camel
- % git push camel
+ % git clone http://perl5.git.perl.org/perl.git perl
-The C<fetch> command just updates the C<camel> refs, as the objects
-themselves should have been fetched when pulling from C<origin>.
-
-=head2 A note on camel and dromedary
-
-The committers have SSH access to the two servers that serve
-C<perl5.git.perl.org>. One is C<perl5.git.perl.org> itself (I<camel>),
-which is the 'master' repository. The second one is
-C<users.perl5.git.perl.org> (I<dromedary>), which can be used for
-general testing and development. Dromedary syncs the git tree from
-camel every few minutes, you should not push there. Both machines also
-have a full CPAN mirror in /srv/CPAN, please use this. To share files
-with the general public, dromedary serves your ~/public_html/ as
-C<http://users.perl5.git.perl.org/~yourlogin/>
-
-These hosts have fairly strict firewalls to the outside. Outgoing, only
-rsync, ssh and git are allowed. For http and ftp, you can use
-http://webproxy:3128 as proxy. Incoming, the firewall tries to detect
-attacks and blocks IP addresses with suspicious activity. This
-sometimes (but very rarely) has false positives and you might get
-blocked. The quickest way to get unblocked is to notify the admins.
-
-These two boxes are owned, hosted, and operated by booking.com. You can
-reach the sysadmins in #p5p on irc.perl.org or via mail to
-C<perl5-porters@perl.org>
-
-=head1 Overview of the repository
+=head1 WORKING WITH THE REPOSITORY
Once you have changed into the repository directory, you can inspect
-it.
-
-After a clone the repository will contain a single local branch, which
-will be the current branch as well, as indicated by the asterisk.
+it. After a clone the repository will contain a single local branch,
+which will be the current branch as well, as indicated by the asterisk.
% git branch
* blead
@@ -203,12 +114,12 @@ how to change things. For instance the following:
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
- # modified: pod/perlrepository.pod
+ # modified: pod/perlgit.pod
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
- # modified: pod/perlrepository.pod
+ # modified: pod/perlgit.pod
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
@@ -224,64 +135,20 @@ not been pushed to the C<origin> remote yet. B<NOTE>: that this output
is also what you see as a template if you do not provide a message to
C<git commit>.
-Assuming that you'd like to commit all the changes you've just made as a
-a single atomic unit, run this command:
-
- % git commit -a
-
-(That C<-a> tells git to add every file you've changed to this commit.
-New files aren't automatically added to your commit when you use C<commit
--a> If you want to add files or to commit some, but not all of your
-changes, have a look at the documentation for C<git add>.)
-
-Git will start up your favorite text editor, so that you can craft a
-commit message for your change. See L</Commit message> below for more
-information about what makes a good commit message.
-
-Once you've finished writing your commit message and exited your editor,
-git will write your change to disk and tell you something like this:
-
- Created commit daf8e63: explain git status and stuff about remotes
- 1 files changed, 83 insertions(+), 3 deletions(-)
-
-
-If you re-run C<git status>, you should see something like this:
-
- % git status
- # On branch blead
- # Your branch is ahead of 'origin/blead' by 2 commits.
- #
- # Untracked files:
- # (use "git add <file>..." to include in what will be committed)
- #
- # deliberate.untracked
- nothing added to commit but untracked files present (use "git add" to track)
-
-
-When in doubt, before you do anything else, check your status and read
-it carefully, many questions are answered directly by the git status
-output.
-
-=head1 Submitting a patch
+=head2 Patch workflow
-If you have a patch in mind for Perl, you should first get a copy of
-the repository:
+First, please read L<perlhack> for details on hacking the Perl core.
+That document covers many details on how to create a good patch.
- % git clone git://perl5.git.perl.org/perl.git perl-git
-
-Then change into the directory:
-
- % cd perl-git
-
-Alternatively, if you already have a Perl repository, you should ensure
-that you're on the I<blead> branch, and your repository is up to date:
+If you already have a Perl repository, you should ensure that you're on
+the I<blead> branch, and your repository is up to date:
% git checkout blead
% git pull
It's preferable to patch against the latest blead version, since this
is where new development occurs for all changes other than critical bug
-fixes. Critical bug fix patches should be made against the relevant
+fixes. Critical bug fix patches should be made against the relevant
maint branches, or should be submitted with a note indicating all the
branches where the fix should be applied.
@@ -297,11 +164,10 @@ which is the short form of
Creating a topic branch makes it easier for the maintainers to rebase
or merge back into the master blead for a more linear history. If you
-don't work on a topic branch the maintainer has to manually cherry
-pick your changes onto blead before they can be applied.
+don't work on a topic branch the maintainer has to manually cherry pick
+your changes onto blead before they can be applied.
-That'll get you scolded on perl5-porters, so don't do that. Be
-Awesome.
+That'll get you scolded on perl5-porters, so don't do that. Be Awesome.
Then make your changes. For example, if Leon Brocard changes his name
to Orange Brocard, we should change his name in the AUTHORS file:
@@ -341,6 +207,43 @@ Now commit your change locally:
Created commit 6196c1d: Rename Leon Brocard to Orange Brocard
1 files changed, 1 insertions(+), 1 deletions(-)
+The C<-a> option is used to include all files that git tracks that you
+have changed. If at this time, you only want to commit some of the
+files you have worked on, you can omit the C<-a> and use the command
+C<S<git add I<FILE ...>>> before doing the commit. C<S<git add
+--interactive>> allows you to even just commit portions of files
+instead of all the changes in them.
+
+The C<-m> option is used to specify the commit message. If you omit it,
+git will open a text editor for you to compose the message
+interactively. This is useful when the changes are more complex than
+the sample given here, and, depending on the editor, to know that the
+first line of the commit message doesn't exceed the 50 character legal
+maximum.
+
+Once you've finished writing your commit message and exited your
+editor, git will write your change to disk and tell you something like
+this:
+
+ Created commit daf8e63: explain git status and stuff about remotes
+ 1 files changed, 83 insertions(+), 3 deletions(-)
+
+If you re-run C<git status>, you should see something like this:
+
+ % git status
+ # On branch blead
+ # Your branch is ahead of 'origin/blead' by 2 commits.
+ #
+ # Untracked files:
+ # (use "git add <file>..." to include in what will be committed)
+ #
+ # deliberate.untracked
+ nothing added to commit but untracked files present (use "git add" to track)
+
+When in doubt, before you do anything else, check your status and read
+it carefully, many questions are answered directly by the git status
+output.
+
You can examine your last commit with:
% git show HEAD
@@ -358,8 +261,9 @@ Now you should create a patch file for all your local changes:
You should now send an email to to
L<perlbug@perl.org|mailto:perlbug@perl.org> with a description of your
changes, and include this patch file as an attachment. In addition to
-being tracked by RT, mail to perlbug will automatically be forwarded
-to perl5-porters. You should only send patches to
+being tracked by RT, mail to perlbug will automatically be forwarded to
+perl5-porters (with manual moderation, so please be patient). You
+should only send patches to
L<perl5-porters@perl.org|mailto:perl5-porters@perl.org> directly if the
patch is not ready to be applied, but intended for discussion.
@@ -375,14 +279,56 @@ If you want to delete your temporary branch, you may do so with:
% git branch -D orange
Deleted branch orange.
+=head2 Committing your changes
+
+Assuming that you'd like to commit all the changes you've made as a
+single atomic unit, run this command:
+
+ % git commit -a
+
+(That C<-a> tells git to add every file you've changed to this commit.
+New files aren't automatically added to your commit when you use
+C<commit -a> If you want to add files or to commit some, but not all of
+your changes, have a look at the documentation for C<git add>.)
+
+Git will start up your favorite text editor, so that you can craft a
+commit message for your change. See L<perlhack/Commit message> for more
+information about what makes a good commit message.
+
+Once you've finished writing your commit message and exited your
+editor, git will write your change to disk and tell you something like
+this:
+
+ Created commit daf8e63: explain git status and stuff about remotes
+ 1 files changed, 83 insertions(+), 3 deletions(-)
+
+If you re-run C<git status>, you should see something like this:
+
+ % git status
+ # On branch blead
+ # Your branch is ahead of 'origin/blead' by 2 commits.
+ #
+ # Untracked files:
+ # (use "git add <file>..." to include in what will be committed)
+ #
+ # deliberate.untracked
+ nothing added to commit but untracked files present (use "git add" to track)
+
+When in doubt, before you do anything else, check your status and read
+it carefully, many questions are answered directly by the git status
+output.
+
=head2 Using git to send patch emails
+Please read L<perlhack> first in order to figure out where your patches
+should be sent.
+
In your ~/git/perl repository, set the destination email to perl's bug
tracker:
$ git config sendemail.to perlbug@perl.org
-Or maybe perl5-porters (discussed above):
+Or maybe perl5-porters:
$ git config sendemail.to perl5-porters@perl.org
@@ -399,7 +345,7 @@ send email via a gmail account:
$ git config --global sendemail.smtpuser YOURUSERNAME@gmail.com
With this configuration, you will be prompted for your gmail password
-when you run 'git send-email'. You can also configure
+when you run 'git send-email'. You can also configure
C<sendemail.smtppass> with your password if you don't care about having
your password in the .gitconfig file.
@@ -407,223 +353,15 @@ your password in the .gitconfig file.
Be aware that many files in the distribution are derivative--avoid
patching them, because git won't see the changes to them, and the build
-process will overwrite them. Patch the originals instead. Most
+process will overwrite them. Patch the originals instead. Most
utilities (like perldoc) are in this category, i.e. patch
-F<utils/perldoc.PL> rather than F<utils/perldoc>. Similarly, don't create
-patches for files under $src_root/ext from their copies found in
-$install_root/lib. If you are unsure about the proper location of a
+F<utils/perldoc.PL> rather than F<utils/perldoc>. Similarly, don't
+create patches for files under $src_root/ext from their copies found in
+$install_root/lib. If you are unsure about the proper location of a
file that may have gotten copied while building the source
distribution, consult the C<MANIFEST>.
-As a special case, several files are regenerated by 'make regen' if
-your patch alters C<embed.fnc>. These are needed for compilation, but
-are included in the distribution so that you can build perl without
-needing another perl to generate the files. You must test with these
-regenerated files, but it is preferred that you instead note that
-'make regen is needed' in both the email and the commit message, and
-submit your patch without them. If you're submitting a series of
-patches, it might be best to submit the regenerated changes
-immediately after the source-changes that caused them, so as to have
-as little effect as possible on the bisectability of your patchset.
-
-=for XXX
-What should we recommend about binary files now? Do we need anything?
-
-=head2 Getting your patch accepted
-
-If you are submitting a code patch there are several things that
-you need to do.
-
-=over 4
-
-=item Commit message
-
-As you craft each patch you intend to submit to the Perl core, it's
-important to write a good commit message.
-
-The first line of the commit message should be a short description and
-should skip the full stop. It should be no longer than the subject
-line of an E-Mail, 50 characters being a good rule of thumb.
-
-A lot of Git tools (Gitweb, GitHub, git log --pretty=oneline, ..) will
-only display the first line (cut off at 50 characters) when presenting
-commit summaries.
-
-The commit message should include description of the problem that the
-patch corrects or new functionality that the patch adds.
-
-As a general rule of thumb, your commit message should let a programmer
-with a reasonable familiarity with the Perl core quickly understand what
-you were trying to do, how you were trying to do it and why the change
-matters to Perl.
-
-=over 4
-
-=item What
-
-Your commit message should describe what part of the Perl core you're
-changing and what you expect your patch to do.
-
-=item Why
-
-Perhaps most importantly, your commit message should describe why the
-change you are making is important. When someone looks at your change
-in six months or six years, your intent should be clear. If you're
-deprecating a feature with the intent of later simplifying another bit
-of code, say so. If you're fixing a performance problem or adding a new
-feature to support some other bit of the core, mention that.
-
-=item How
-
-While it's not necessary for documentation changes, new tests or
-trivial patches, it's often worth explaining how your change works.
-Even if it's clear to you today, it may not be clear to a porter next
-month or next year.
-
-=back
-
-A commit message isn't intended to take the place of comments in your
-code. Commit messages should describe the change you made, while code
-comments should describe the current state of the code. If you've just
-implemented a new feature, complete with doc, tests and well-commented
-code, a brief commit message will often suffice. If, however, you've
-just changed a single character deep in the parser or lexer, you might
-need to write a small novel to ensure that future readers understand
-what you did and why you did it.
-
-=item Comments, Comments, Comments
-
-Be sure to adequately comment your code. While commenting every line
-is unnecessary, anything that takes advantage of side effects of
-operators, that creates changes that will be felt outside of the
-function being patched, or that others may find confusing should be
-documented. If you are going to err, it is better to err on the side
-of adding too many comments than too few.
-
-=item Style
-
-In general, please follow the particular style of the code you are
-patching.
-
-In particular, follow these general guidelines for patching Perl
-sources:
-
- 8-wide tabs (no exceptions!)
- 4-wide indents for code, 2-wide indents for nested CPP #defines
- try hard not to exceed 79-columns
- ANSI C prototypes
- uncuddled elses and "K&R" style for indenting control constructs
- no C++ style (//) comments
- mark places that need to be revisited with XXX (and revisit often!)
- opening brace lines up with "if" when conditional spans multiple
- lines; should be at end-of-line otherwise
- in function definitions, name starts in column 0 (return value is on
- previous line)
- single space after keywords that are followed by parens, no space
- between function name and following paren
- avoid assignments in conditionals, but if they're unavoidable, use
- extra paren, e.g. "if (a && (b = c)) ..."
- "return foo;" rather than "return(foo);"
- "if (!foo) ..." rather than "if (foo == FALSE) ..." etc.
-
-=item Testsuite
-
-If your patch changes code (rather than just changing documentation) you
-should also include one or more test cases which illustrate the bug you're
-fixing or validate the new functionality you're adding. In general,
-you should update an existing test file rather than create a new one.
-
-Your testsuite additions should generally follow these guidelines
-(courtesy of Gurusamy Sarathy <gsar@activestate.com>):
-
- Know what you're testing. Read the docs, and the source.
- Tend to fail, not succeed.
- Interpret results strictly.
- Use unrelated features (this will flush out bizarre interactions).
- Use non-standard idioms (otherwise you are not testing TIMTOWTDI).
- Avoid using hardcoded test numbers whenever possible (the
- EXPECTED/GOT found in t/op/tie.t is much more maintainable,
- and gives better failure reports).
- Give meaningful error messages when a test fails.
- Avoid using qx// and system() unless you are testing for them. If you
- do use them, make sure that you cover _all_ perl platforms.
- Unlink any temporary files you create.
- Promote unforeseen warnings to errors with $SIG{__WARN__}.
- Be sure to use the libraries and modules shipped with the version
- being tested, not those that were already installed.
- Add comments to the code explaining what you are testing for.
- Make updating the '1..42' string unnecessary. Or make sure that
- you update it.
- Test _all_ behaviors of a given operator, library, or function:
- - All optional arguments
- - Return values in various contexts (boolean, scalar, list, lvalue)
- - Use both global and lexical variables
- - Don't forget the exceptional, pathological cases.
-
-=back
-
-=head1 Accepting a patch
-
-If you have received a patch file generated using the above section,
-you should try out the patch.
-
-First we need to create a temporary new branch for these changes and
-switch into it:
-
- % git checkout -b experimental
-
-Patches that were formatted by C<git format-patch> are applied with
-C<git am>:
-
- % git am 0001-Rename-Leon-Brocard-to-Orange-Brocard.patch
- Applying Rename Leon Brocard to Orange Brocard
-
-If just a raw diff is provided, it is also possible use this two-step
-process:
-
- % git apply bugfix.diff
- % git commit -a -m "Some fixing" --author="That Guy <that.guy@internets.com>"
-
-Now we can inspect the change:
-
- % git show HEAD
- commit b1b3dab48344cff6de4087efca3dbd63548ab5e2
- Author: Leon Brocard <acme@astray.com>
- Date: Fri Dec 19 17:02:59 2008 +0000
-
- Rename Leon Brocard to Orange Brocard
-
- diff --git a/AUTHORS b/AUTHORS
- index 293dd70..722c93e 100644
- --- a/AUTHORS
- +++ b/AUTHORS
- @@ -541,7 +541,7 @@ Lars Hecking <lhecking@nmrc.ucc.ie>
- Laszlo Molnar <laszlo.molnar@eth.ericsson.se>
- Leif Huhn <leif@hale.dkstat.com>
- Len Johnson <lenjay@ibm.net>
- -Leon Brocard <acme@astray.com>
- +Orange Brocard <acme@astray.com>
- Les Peters <lpeters@aol.net>
- Lesley Binks <lesley.binks@gmail.com>
- Lincoln D. Stein <lstein@cshl.org>
-
-If you are a committer to Perl and you think the patch is good, you can
-then merge it into blead then push it out to the main repository:
-
- % git checkout blead
- % git merge experimental
- % git push
-
-If you want to delete your temporary branch, you may do so with:
-
- % git checkout blead
- % git branch -d experimental
- error: The branch 'experimental' is not an ancestor of your current HEAD.
- If you are sure you want to delete it, run 'git branch -D experimental'.
- % git branch -D experimental
- Deleted branch experimental.
-
-=head1 Cleaning a working directory
+=head2 Cleaning a working directory
The command C<git clean> can with varying arguments be used as a
replacement for C<make clean>.
@@ -645,19 +383,27 @@ checkout> and give it a list of files to be reverted, or C<git checkout
If you want to cancel one or several commits, you can use C<git reset>.
-=head1 Bisecting
+=head2 Bisecting
C<git> provides a built-in way to determine, with a binary search in
the history, which commit should be blamed for introducing a given bug.
Suppose that we have a script F<~/testcase.pl> that exits with C<0>
-when some behaviour is correct, and with C<1> when it's faulty. You need
-an helper script that automates building C<perl> and running the
+when some behaviour is correct, and with C<1> when it's faulty. You
+need an helper script that automates building C<perl> and running the
testcase:
% cat ~/run
#!/bin/sh
git clean -dxf
+
+ # If you get './makedepend: 1: Syntax error: Unterminated quoted
+ # string' when bisecting versions of perl older than 5.9.5 this hack
+ # will work around the bug in makedepend.SH which was fixed in
+ # version 96a8704c. Make sure to comment out `git checkout makedepend.SH'
+ # below too.
+ git show blead:makedepend.SH > makedepend.SH
+
# If you can use ccache, add -Dcc=ccache\ gcc -Dld=gcc to the Configure line
# if Encode is not needed for the test, you can speed up the bisect by
# excluding it from the runs with -Dnoextensions=Encode
@@ -666,11 +412,12 @@ testcase:
# Correct makefile for newer GNU gcc
perl -ni -we 'print unless /<(?:built-in|command)/' makefile x2p/makefile
# if you just need miniperl, replace test_prep with miniperl
- make -j4 test_prep
+ make test_prep
[ -x ./perl ] || exit 125
./perl -Ilib ~/testcase.pl
ret=$?
[ $ret -gt 127 ] && ret=127
+ # git checkout makedepend.SH
git clean -dxf
exit $ret
@@ -719,69 +466,98 @@ the "first commit where the bug is solved".
C<git help bisect> has much more information on how you can tweak your
binary searches.
+=head1 Topic branches and rewriting history
-=head1 Submitting a patch via GitHub
-
-GitHub is a website that makes it easy to fork and publish projects
-with Git. First you should set up a GitHub account and log in.
-
-Perl's git repository is mirrored on GitHub at this page:
-
- http://github.com/mirrors/perl/tree/blead
-
-Visit the page and click the "fork" button. This clones the Perl git
-repository for you and provides you with "Your Clone URL" from which
-you should clone:
-
- % git clone git@github.com:USERNAME/perl.git perl-github
+Individual committers should create topic branches under
+B<yourname>/B<some_descriptive_name>. Other committers should check
+with a topic branch's creator before making any change to it.
-The same patch as above, using github might look like this:
+The simplest way to create a remote topic branch that works on all
+versions of git is to push the current head as a new branch on the
+remote, then check it out locally:
- % cd perl-github
- % git remote add upstream git://perl5.git.perl.org/perl.git
- % git pull upstream blead
- % git checkout -b orange
- % perl -pi -e 's{Leon Brocard}{Orange Brocard}' AUTHORS
- % git commit -a -m 'Rename Leon Brocard to Orange Brocard'
- % git push origin orange
+ $ branch="$yourname/$some_descriptive_name"
+ $ git push origin HEAD:$branch
+ $ git checkout -b $branch origin/$branch
-The orange branch has been pushed to GitHub, so you should now send an
-email (see L</Submitting a patch>) with a description of your changes
-and the following information:
+Users of git 1.7 or newer can do it in a more obvious manner:
- http://github.com/USERNAME/perl/tree/orange
- git@github.com:USERNAME/perl.git branch orange
+ $ branch="$yourname/$some_descriptive_name"
+ $ git checkout -b $branch
+ $ git push origin -u $branch
-=head1 Merging from a branch via GitHub
+If you are not the creator of B<yourname>/B<some_descriptive_name>, you
+might sometimes find that the original author has edited the branch's
+history. There are lots of good reasons for this. Sometimes, an author
+might simply be rebasing the branch onto a newer source point.
+Sometimes, an author might have found an error in an early commit which
+they wanted to fix before merging the branch to blead.
-If someone has provided a branch via GitHub and you are a committer,
-you should use the following in your perl-ssh directory:
+Currently the master repository is configured to forbid
+non-fast-forward merges. This means that the branches within can not be
+rebased and pushed as a single step.
- % git remote add dandv git://github.com/dandv/perl.git
- % git fetch dandv
+The only way you will ever be allowed to rebase or modify the history
+of a pushed branch is to delete it and push it as a new branch under
+the same name. Please think carefully about doing this. It may be
+better to sequentially rename your branches so that it is easier for
+others working with you to cherry-pick their local changes onto the new
+version. (XXX: needs explanation).
-Now you can see the differences between the branch and blead:
+If you want to rebase a personal topic branch, you will have to delete
+your existing topic branch and push as a new version of it. You can do
+this via the following formula (see the explanation about C<refspec>'s
+in the git push documentation for details) after you have rebased your
+branch:
- % git diff dandv/blead
+ # first rebase
+ $ git checkout $user/$topic
+ $ git fetch
+ $ git rebase origin/blead
-And you can see the commits:
+ # then "delete-and-push"
+ $ git push origin :$user/$topic
+ $ git push origin $user/$topic
- % git log dandv/blead
+B<NOTE:> it is forbidden at the repository level to delete any of the
+"primary" branches. That is any branch matching
+C<m!^(blead|maint|perl)!>. Any attempt to do so will result in git
+producing an error like this:
-If you approve of a specific commit, you can cherry pick it:
+ $ git push origin :blead
+ *** It is forbidden to delete blead/maint branches in this repository
+ error: hooks/update exited with error code 1
+ error: hook declined to update refs/heads/blead
+ To ssh://perl5.git.perl.org/perl
+ ! [remote rejected] blead (hook declined)
+ error: failed to push some refs to 'ssh://perl5.git.perl.org/perl'
- % git cherry-pick 3adac458cb1c1d41af47fc66e67b49c8dec2323f
+As a matter of policy we do B<not> edit the history of the blead and
+maint-* branches. If a typo (or worse) sneaks into a commit to blead or
+maint-*, we'll fix it in another commit. The only types of updates
+allowed on these branches are "fast-forward's", where all history is
+preserved.
-Or you could just merge the whole branch if you like it all:
+Annotated tags in the canonical perl.git repository will never be
+deleted or modified. Think long and hard about whether you want to push
+a local tag to perl.git before doing so. (Pushing unannotated tags is
+not allowed.)
- % git merge dandv/blead
+=head3 Grafts
-And then push back to the repository:
+The perl history contains one mistake which was not caught in the
+conversion: a merge was recorded in the history between blead and
+maint-5.10 where no merge actually occurred. Due to the nature of git,
+this is now impossible to fix in the public repository. You can remove
+this mis-merge locally by adding the following line to your
+C<.git/info/grafts> file:
- % git push
+ 296f12bbbbaa06de9be9d09d3dcf8f4528898a49 434946e0cb7a32589ed92d18008aaa1d88515930
+It is particularly important to have this graft line if any bisecting
+is done in the area of the "merge" in question.
-=head1 Topic branches and rewriting history
+=head2 Topic branches and rewriting history
Individual committers should create topic branches under
B<yourname>/B<some_descriptive_name>. Other committers should check
@@ -809,8 +585,8 @@ Sometimes, an author might have found an error in an early commit which
they wanted to fix before merging the branch to blead.
Currently the master repository is configured to forbid
-non-fast-forward merges. This means that the branches within can not
-be rebased and pushed as a single step.
+non-fast-forward merges. This means that the branches within can not be
+rebased and pushed as a single step.
The only way you will ever be allowed to rebase or modify the history
of a pushed branch is to delete it and push it as a new branch under
@@ -858,10 +634,145 @@ deleted or modified. Think long and hard about whether you want to push
a local tag to perl.git before doing so. (Pushing unannotated tags is
not allowed.)
-=head1 Committing to maintenance versions
+=head1 WRITE ACCESS TO THE GIT REPOSITORY
+
+Once you have write access, you will need to modify the URL for the
+origin remote to enable pushing. Edit F<.git/config> with the
+git-config(1) command:
+
+ % git config remote.origin.url ssh://perl5.git.perl.org/perl.git
+
+You can also set up your user name and e-mail address. Most people do
+this once globally in their F<~/.gitconfig> by doing something like:
+
+ % git config --global user.name "Ævar Arnfjörð Bjarmason"
+ % git config --global user.email avarab@gmail.com
+
+However if you'd like to override that just for perl then execute then
+execute something like the following in F<perl>:
+
+ % git config user.email avar@cpan.org
+
+It is also possible to keep C<origin> as a git remote, and add a new
+remote for ssh access:
+
+ % git remote add camel perl5.git.perl.org:/perl.git
+
+This allows you to update your local repository by pulling from
+C<origin>, which is faster and doesn't require you to authenticate, and
+to push your changes back with the C<camel> remote:
+
+ % git fetch camel
+ % git push camel
+
+The C<fetch> command just updates the C<camel> refs, as the objects
+themselves should have been fetched when pulling from C<origin>.
+=head1 Accepting a patch
+
+If you have received a patch file generated using the above section,
+you should try out the patch.
+
+First we need to create a temporary new branch for these changes and
+switch into it:
+
+ % git checkout -b experimental
+
+Patches that were formatted by C<git format-patch> are applied with
+C<git am>:
+
+ % git am 0001-Rename-Leon-Brocard-to-Orange-Brocard.patch
+ Applying Rename Leon Brocard to Orange Brocard
+
+If just a raw diff is provided, it is also possible use this two-step
+process:
+
+ % git apply bugfix.diff
+ % git commit -a -m "Some fixing" --author="That Guy <that.guy@internets.com>"
+
+Now we can inspect the change:
+
+ % git show HEAD
+ commit b1b3dab48344cff6de4087efca3dbd63548ab5e2
+ Author: Leon Brocard <acme@astray.com>
+ Date: Fri Dec 19 17:02:59 2008 +0000
+
+ Rename Leon Brocard to Orange Brocard
+
+ diff --git a/AUTHORS b/AUTHORS
+ index 293dd70..722c93e 100644
+ --- a/AUTHORS
+ +++ b/AUTHORS
+ @@ -541,7 +541,7 @@ Lars Hecking <lhecking@nmrc.ucc.ie>
+ Laszlo Molnar <laszlo.molnar@eth.ericsson.se>
+ Leif Huhn <leif@hale.dkstat.com>
+ Len Johnson <lenjay@ibm.net>
+ -Leon Brocard <acme@astray.com>
+ +Orange Brocard <acme@astray.com>
+ Les Peters <lpeters@aol.net>
+ Lesley Binks <lesley.binks@gmail.com>
+ Lincoln D. Stein <lstein@cshl.org>
+
+If you are a committer to Perl and you think the patch is good, you can
+then merge it into blead then push it out to the main repository:
+
+ % git checkout blead
+ % git merge experimental
+ % git push
+
+If you want to delete your temporary branch, you may do so with:
+
+ % git checkout blead
+ % git branch -d experimental
+ error: The branch 'experimental' is not an ancestor of your current HEAD.
+ If you are sure you want to delete it, run 'git branch -D experimental'.
+ % git branch -D experimental
+ Deleted branch experimental.
+
+=head2 Committing to blead
-Maintenance versions should only be altered to add critical bug
-fixes, see L<perlpolicy>.
+The 'blead' branch will become the next production release of Perl.
+
+Before pushing I<any> local change to blead, it's incredibly important
+that you do a few things, lest other committers come after you with
+pitchforks and torches:
+
+=over
+
+=item *
+
+Make sure you have a good commit message. See L<perlhack/Commit
+message> for details.
+
+=item *
+
+Run the test suite. You might not think that one typo fix would break a
+test file. You'd be wrong. Here's an example of where not running the
+suite caused problems. A patch was submitted that added a couple of
+tests to an existing .t. It couldn't possibly affect anything else, so
+no need to test beyond the single affected .t, right? But, the
+submitter's email address had changed since the last of their
+submissions, and this caused other tests to fail. Running the test
+target given in the next item would have caught this problem.
+
+=item *
+
+If you don't run the full test suite, at least C<make test_porting>.
+This will run basic sanity checks. To see which sanity checks, have a
+look in F<t/porting>.
+
+=item *
+
+If you make any changes that affect miniperl or core routines that have
+different code paths for miniperl, be sure to run C<make minitest>.
+This will catch problems that even the full test suite will not catch
+because it runs a subset of tests under miniperl rather than perl.
+
+=back
+
+=head2 Committing to maintenance versions
+
+Maintenance versions should only be altered to add critical bug fixes,
+see L<perlpolicy>.
To commit to a maintenance version of perl, you need to create a local
tracking branch:
@@ -877,12 +788,15 @@ using the C<git cherry-pick> command. It is recommended to use the
B<-x> option to C<git cherry-pick> in order to record the SHA1 of the
original commit in the new commit message.
-=head1 Grafts
+Before pushing any change to a maint version, make sure you've
+satisfied the steps in L</Committing to blead> above.
+
+=head2 Grafts
The perl history contains one mistake which was not caught in the
conversion: a merge was recorded in the history between blead and
-maint-5.10 where no merge actually occurred. Due to the nature of git,
-this is now impossible to fix in the public repository. You can remove
+maint-5.10 where no merge actually occurred. Due to the nature of git,
+this is now impossible to fix in the public repository. You can remove
this mis-merge locally by adding the following line to your
C<.git/info/grafts> file:
@@ -891,18 +805,54 @@ C<.git/info/grafts> file:
It is particularly important to have this graft line if any bisecting
is done in the area of the "merge" in question.
-=head1 SEE ALSO
+=head2 Merging from a branch via GitHub
-=over
+While we don't encourage the submission of patches via GitHub, that
+will still happen. Here is a guide to merging patches from a GitHub
+repository.
-=item *
+ % git remote add avar git://github.com/avar/perl.git
+ % git fetch avar
-The git documentation, accessible via the C<git help> command
+Now you can see the differences between the branch and blead:
-=item *
+ % git diff avar/orange
-L<perlpolicy> - Perl core development policy
+And you can see the commits:
-=back
+ % git log avar/orange
+
+If you approve of a specific commit, you can cherry pick it:
-=cut
+ % git cherry-pick 0c24b290ae02b2ab3304f51d5e11e85eb3659eae
+
+Or you could just merge the whole branch if you like it all:
+
+ % git merge avar/orange
+
+And then push back to the repository:
+
+ % git push
+
+=head2 A note on camel and dromedary
+
+The committers have SSH access to the two servers that serve
+C<perl5.git.perl.org>. One is C<perl5.git.perl.org> itself (I<camel>),
+which is the 'master' repository. The second one is
+C<users.perl5.git.perl.org> (I<dromedary>), which can be used for
+general testing and development. Dromedary syncs the git tree from
+camel every few minutes, you should not push there. Both machines also
+have a full CPAN mirror in /srv/CPAN, please use this. To share files
+with the general public, dromedary serves your ~/public_html/ as
+C<http://users.perl5.git.perl.org/~yourlogin/>
+
+These hosts have fairly strict firewalls to the outside. Outgoing, only
+rsync, ssh and git are allowed. For http and ftp, you can use
+http://webproxy:3128 as proxy. Incoming, the firewall tries to detect
+attacks and blocks IP addresses with suspicious activity. This
+sometimes (but very rarely) has false positives and you might get
+blocked. The quickest way to get unblocked is to notify the admins.
+
+These two boxes are owned, hosted, and operated by booking.com. You can
+reach the sysadmins in #p5p on irc.perl.org or via mail to
+C<perl5-porters@perl.org>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlglossary.pod b/Master/tlpkg/tlperl/lib/pods/perlglossary.pod
index b44fcd447f9..639ce3349f8 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlglossary.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlglossary.pod
@@ -234,12 +234,14 @@ some of its high-level ideas.
=item backreference
A substring L<captured|/capturing> by a subpattern within
-unadorned parentheses in a L</regex>. Backslashed decimal numbers
-(C<\1>, C<\2>, etc.) later in the same pattern refer back to the
-corresponding subpattern in the current match. Outside the pattern,
+unadorned parentheses in a L</regex>, also referred to as a capture group. The
+sequences (C<\g1>, C<\g2>, etc.) later in the same pattern refer back to
+the corresponding subpattern in the current match. Outside the pattern,
the numbered variables (C<$1>, C<$2>, etc.) continue to refer to these
same values, as long as the pattern was the last successful match of
-the current dynamic scope.
+the current dynamic scope. C<\g{-1}> can be used to refer to a group by
+relative rather than absolute position; and groups can be also be named, and
+referred to later by name rather than number. See L<perlre/"Capture groups">.
=item backtracking
@@ -458,10 +460,16 @@ handler when some event of interest transpires.
Reduced to a standard form to facilitate comparison.
+=item capture buffer, capture group
+
+These two terms are synonymous:
+a L<captured substring|/capturing> by a regex subpattern.
+
=item capturing
The use of parentheses around a L</subpattern> in a L</regular
-expression> to store the matched L</substring> as a L</backreference>.
+expression> to store the matched L</substring> as a L</backreference>
+or L<capture group|/capture buffer, capture group>.
(Captured strings are also returned as a list in L</list context>.)
=item character
@@ -499,7 +507,7 @@ the class (its L<objects|/object>). See also L</inheritance>.
=item class method
-A L</method> whose L</invocant> is a L</package> name, not an
+A L</method> whose L</invocand> is a L</package> name, not an
L</object> reference. A method associated with the class as a whole.
=item client
@@ -537,6 +545,17 @@ A system that writes code for you in a low-level language, such as
code to implement the backend of a compiler. See L</program
generator>.
+=item code point
+
+The position of a character in a character set encoding. The character
+C<NULL> is almost certainly at the zeroth position in all character
+sets, so its code point is 0. The code point for the C<SPACE>
+character in the ASCII character set is 0x20, or 32 decimal; in EBCDIC
+it is 0x40, or 64 decimal. The L<ord|perlfunc/ord> function returns
+the code point of a character.
+
+"code position" and "ordinal" mean the same thing as "code point".
+
=item code subpattern
A L</regular expression> subpattern whose real purpose is to execute
@@ -875,7 +894,7 @@ will be called a "binary-only" distribution.
=item (to be) dropped modules
-When Perl 5 was first released (see L<perlhistory>), several modules were
+When Perl 5 was first released (see L<perlhist>), several modules were
included, which have now fallen out of common use. It has been suggested
that these modules should be removed, since the distribution became rather
large, and the common criterion for new module additions is now limited to
@@ -1221,6 +1240,12 @@ Someone like Larry, or one of his peculiar friends. Also refers to
the strange prefixes that Perl requires as noun markers on its
variables.
+=back
+
+=head2 G
+
+=over 4
+
=item garbage collection
A misnamed feature--it should be called, "expecting your mother to
@@ -1232,12 +1257,6 @@ any comfort, when your interpreter exits, a "real" garbage collector
runs to make sure everything is cleaned up if you've been messy with
circular references and such.)
-=back
-
-=head2 G
-
-=over 4
-
=item GID
Group ID--in Unix, the numeric group ID that the L</operating system>
@@ -1451,7 +1470,7 @@ Perl, C<print STDOUT "$foo\n";> can be understood as "verb
indirect-object object" where L</STDOUT> is the recipient of the
L<print|perlfunc/print> action, and C<"$foo"> is the object being
printed. Similarly, when invoking a L</method>, you might place the
-invocant between the method and its arguments:
+invocand between the method and its arguments:
$gollum = new Pathetic::Creature "Smeagol";
give $gollum "Fisssssh!";
@@ -1529,11 +1548,11 @@ of compiler that takes a program and turns it into a more executable
form (L<syntax trees|/syntax tree>) within the I<perl> process itself,
which the Perl L</run time> system then interprets.
-=item invocant
+=item invocand
The agent on whose behalf a L</method> is invoked. In a L</class>
-method, the invocant is a package name. In an L</instance> method,
-the invocant is an object reference.
+method, the invocand is a package name. In an L</instance> method,
+the invocand is an object reference.
=item invocation
@@ -2106,6 +2125,10 @@ L</pragma>.
See either L<switches|/switch> or L</regular expression modifier>.
+=item ordinal
+
+Another name for L</code point>
+
=item overloading
Giving additional meanings to a symbol or construct. Actually, all
@@ -2962,9 +2985,8 @@ L</argument> must be the last switch in a cluster.
A program technique that lets you evaluate an L</expression> and then,
based on the value of the expression, do a multiway branch to the
appropriate piece of code for that value. Also called a "case
-structure", named after the similar Pascal construct. Most switch
-statements in Perl are spelled C<for>. See L<perlsyn/Basic BLOCKs and
-Switch Statements>.
+structure", named after the similar Pascal construct. See
+L<perlsyn/"Switch statements">.
=item symbol
@@ -3132,7 +3154,7 @@ to build special tools. Perl is sort of a machine shop.
To turn one string representation into another by mapping each
character of the source string to its corresponding character in the
result string. See
-L<perlop/trE<sol>SEARCHLISTE<sol>REPLACEMENTLISTE<sol>cds>.
+L<perlop/trE<sol>SEARCHLISTE<sol>REPLACEMENTLISTE<sol>cdsr>.
=item trigger
diff --git a/Master/tlpkg/tlperl/lib/pods/perlguts.pod b/Master/tlpkg/tlperl/lib/pods/perlguts.pod
index b6cec65bbbb..fcf436b7a0c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlguts.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlguts.pod
@@ -539,14 +539,14 @@ in restricted hashes. This caused such hash entries not to appear
when iterating over the hash or when checking for the keys
with the C<hv_exists> function.
-You can run into similar problems when you store C<&PL_sv_true> or
-C<&PL_sv_false> into AVs or HVs. Trying to modify such elements
+You can run into similar problems when you store C<&PL_sv_yes> or
+C<&PL_sv_no> into AVs or HVs. Trying to modify such elements
will give you the following error:
Modification of a read-only value attempted
To make a long story short, you can use the special variables
-C<&PL_sv_undef>, C<&PL_sv_true> and C<&PL_sv_false> with AVs and
+C<&PL_sv_undef>, C<&PL_sv_yes> and C<&PL_sv_no> with AVs and
HVs, but you have to make sure you know what you're doing.
Generally, if you want to store an undefined value in an AV
@@ -671,11 +671,11 @@ your Perl script, use the following routines, depending on the variable type.
AV* get_av("package::varname", GV_ADD);
HV* get_hv("package::varname", GV_ADD);
-Notice the use of TRUE as the second parameter. The new variable can now
+Notice the use of GV_ADD as the second parameter. The new variable can now
be set, using the routines appropriate to the data type.
There are additional macros whose values may be bitwise OR'ed with the
-C<TRUE> argument to enable certain extra features. Those bits are:
+C<GV_ADD> argument to enable certain extra features. Those bits are:
=over
@@ -958,11 +958,17 @@ This simply calls C<sv_magic> and coerces the C<gv> argument into an C<SV>.
To remove the magic from an SV, call the function sv_unmagic:
- void sv_unmagic(SV *sv, int type);
+ int sv_unmagic(SV *sv, int type);
The C<type> argument should be equal to the C<how> value when the C<SV>
was initially made magical.
+However, note that C<sv_unmagic> removes all magic of a certain C<type> from the
+C<SV>. If you want to remove only certain magic of a C<type> based on the magic
+virtual table, use C<sv_unmagicext> instead:
+
+ int sv_unmagicext(SV *sv, int type, MGVTBL *vtbl);
+
=head2 Magic Virtual Tables
The C<mg_virtual> field in the C<MAGIC> structure is a pointer to an
@@ -1125,8 +1131,20 @@ Note that because multiple extensions may be using C<PERL_MAGIC_ext>
or C<PERL_MAGIC_uvar> magic, it is important for extensions to take
extra care to avoid conflict. Typically only using the magic on
objects blessed into the same class as the extension is sufficient.
-For C<PERL_MAGIC_ext> magic, it may also be appropriate to add an I32
-'signature' at the top of the private data area and check that.
+For C<PERL_MAGIC_ext> magic, it is usually a good idea to define an
+C<MGVTBL>, even if all its fields will be C<0>, so that individual
+C<MAGIC> pointers can be identified as a particular kind of magic
+using their magic virtual table. C<mg_findext> provides an easy way
+to do that:
+
+ STATIC MGVTBL my_vtbl = { 0, 0, 0, 0, 0, 0, 0, 0 };
+
+ MAGIC *mg;
+ if ((mg = mg_findext(sv, PERL_MAGIC_ext, &my_vtbl))) {
+ /* this is really ours, not another module's PERL_MAGIC_ext */
+ my_priv_data_t *priv = (my_priv_data_t *)mg->mg_ptr;
+ ...
+ }
Also note that the C<sv_set*()> and C<sv_cat*()> functions described
earlier do B<not> invoke 'set' magic on their targets. This must
@@ -1142,11 +1160,18 @@ since their implementation handles 'get' magic.
=head2 Finding Magic
- MAGIC* mg_find(SV*, int type); /* Finds the magic pointer of that type */
+ MAGIC *mg_find(SV *sv, int type); /* Finds the magic pointer of that type */
+
+This routine returns a pointer to a C<MAGIC> structure stored in the SV.
+If the SV does not have that magical feature, C<NULL> is returned. If the
+SV has multiple instances of that magical feature, the first one will be
+returned. C<mg_findext> can be used to find a C<MAGIC> structure of an SV
+based on both it's magic type and it's magic virtual table:
-This routine returns a pointer to the C<MAGIC> structure stored in the SV.
-If the SV does not have that magical feature, C<NULL> is returned. Also,
-if the SV is not of type SVt_PVMG, Perl may core dump.
+ MAGIC *mg_findext(SV *sv, int type, MGVTBL *vtbl);
+
+Also, if the SV passed to C<mg_find> or C<mg_findext> is not of type
+SVt_PVMG, Perl may core dump.
int mg_copy(SV* sv, SV* nsv, const char* key, STRLEN klen);
@@ -1438,6 +1463,8 @@ L</Reference Counts and Mortality>):
PUSHs(sv_2mortal(newSVuv(an_unsigned_integer)))
PUSHs(sv_2mortal(newSVnv(a_double)))
PUSHs(sv_2mortal(newSVpv("Some String",0)))
+ /* Although the last example is better written as the more efficient: */
+ PUSHs(newSVpvs_flags("Some String", SVs_TEMP))
And now the Perl program calling C<tzname>, the two values will be assigned
as in:
@@ -1821,9 +1848,41 @@ of free()ing (i.e. their type is changed to OP_NULL).
After the compile tree for a subroutine (or for an C<eval> or a file)
is created, an additional pass over the code is performed. This pass
is neither top-down or bottom-up, but in the execution order (with
-additional complications for conditionals). These optimizations are
-done in the subroutine peep(). Optimizations performed at this stage
-are subject to the same restrictions as in the pass 2.
+additional complications for conditionals). Optimizations performed
+at this stage are subject to the same restrictions as in the pass 2.
+
+Peephole optimizations are done by calling the function pointed to
+by the global variable C<PL_peepp>. By default, C<PL_peepp> just
+calls the function pointed to by the global variable C<PL_rpeepp>.
+By default, that performs some basic op fixups and optimisations along
+the execution-order op chain, and recursively calls C<PL_rpeepp> for
+each side chain of ops (resulting from conditionals). Extensions may
+provide additional optimisations or fixups, hooking into either the
+per-subroutine or recursive stage, like this:
+
+ static peep_t prev_peepp;
+ static void my_peep(pTHX_ OP *o)
+ {
+ /* custom per-subroutine optimisation goes here */
+ prev_peepp(o);
+ /* custom per-subroutine optimisation may also go here */
+ }
+ BOOT:
+ prev_peepp = PL_peepp;
+ PL_peepp = my_peep;
+
+ static peep_t prev_rpeepp;
+ static void my_rpeep(pTHX_ OP *o)
+ {
+ OP *orig_o = o;
+ for(; o; o = o->op_next) {
+ /* custom per-op optimisation goes here */
+ }
+ prev_rpeepp(orig_o);
+ }
+ BOOT:
+ prev_rpeepp = PL_rpeepp;
+ PL_rpeepp = my_rpeep;
=head2 Pluggable runops
@@ -1842,6 +1901,76 @@ file, add the line:
This function should be as efficient as possible to keep your programs
running as fast as possible.
+=head2 Compile-time scope hooks
+
+As of perl 5.14 it is possible to hook into the compile-time lexical
+scope mechanism using C<Perl_blockhook_register>. This is used like
+this:
+
+ STATIC void my_start_hook(pTHX_ int full);
+ STATIC BHK my_hooks;
+
+ BOOT:
+ BhkENTRY_set(&my_hooks, bhk_start, my_start_hook);
+ Perl_blockhook_register(aTHX_ &my_hooks);
+
+This will arrange to have C<my_start_hook> called at the start of
+compiling every lexical scope. The available hooks are:
+
+=over 4
+
+=item C<void bhk_start(pTHX_ int full)>
+
+This is called just after starting a new lexical scope. Note that Perl
+code like
+
+ if ($x) { ... }
+
+creates two scopes: the first starts at the C<(> and has C<full == 1>,
+the second starts at the C<{> and has C<full == 0>. Both end at the
+C<}>, so calls to C<start> and C<pre/post_end> will match. Anything
+pushed onto the save stack by this hook will be popped just before the
+scope ends (between the C<pre_> and C<post_end> hooks, in fact).
+
+=item C<void bhk_pre_end(pTHX_ OP **o)>
+
+This is called at the end of a lexical scope, just before unwinding the
+stack. I<o> is the root of the optree representing the scope; it is a
+double pointer so you can replace the OP if you need to.
+
+=item C<void bhk_post_end(pTHX_ OP **o)>
+
+This is called at the end of a lexical scope, just after unwinding the
+stack. I<o> is as above. Note that it is possible for calls to C<pre_>
+and C<post_end> to nest, if there is something on the save stack that
+calls string eval.
+
+=item C<void bhk_eval(pTHX_ OP *const o)>
+
+This is called just before starting to compile an C<eval STRING>, C<do
+FILE>, C<require> or C<use>, after the eval has been set up. I<o> is the
+OP that requested the eval, and will normally be an C<OP_ENTEREVAL>,
+C<OP_DOFILE> or C<OP_REQUIRE>.
+
+=back
+
+Once you have your hook functions, you need a C<BHK> structure to put
+them in. It's best to allocate it statically, since there is no way to
+free it once it's registered. The function pointers should be inserted
+into this structure using the C<BhkENTRY_set> macro, which will also set
+flags indicating which entries are valid. If you do need to allocate
+your C<BHK> dynamically for some reason, be sure to zero it before you
+start.
+
+Once registered, there is no mechanism to switch these hooks off, so if
+that is necessary you will need to do this yourself. An entry in C<%^H>
+is probably the best way, so the effect is lexically scoped; however it
+is also possible to use the C<BhkDISABLE> and C<BhkENABLE> macros to
+temporarily switch entries on and off. You should also be aware that
+generally speaking at least one scope will have opened before your
+extension is loaded, so you will see some C<pre/post_end> pairs that
+didn't have a matching C<start>.
+
=head1 Examining internal data structures with the C<dump> functions
To aid debugging, the source file F<dump.c> contains a number of
@@ -2651,10 +2780,79 @@ responsible for adding stack marks if necessary.
You should also "register" your op with the Perl interpreter so that it
can produce sensible error and warning messages. Since it is possible to
have multiple custom ops within the one "logical" op type C<OP_CUSTOM>,
-Perl uses the value of C<< o->op_ppaddr >> as a key into the
-C<PL_custom_op_descs> and C<PL_custom_op_names> hashes. This means you
-need to enter a name and description for your op at the appropriate
-place in the C<PL_custom_op_names> and C<PL_custom_op_descs> hashes.
+Perl uses the value of C<< o->op_ppaddr >> to determine which custom op
+it is dealing with. You should create an C<XOP> structure for each
+ppaddr you use, set the properties of the custom op with
+C<XopENTRY_set>, and register the structure against the ppaddr using
+C<Perl_custom_op_register>. A trivial example might look like:
+
+ static XOP my_xop;
+ static OP *my_pp(pTHX);
+
+ BOOT:
+ XopENTRY_set(&my_xop, xop_name, "myxop");
+ XopENTRY_set(&my_xop, xop_desc, "Useless custom op");
+ Perl_custom_op_register(aTHX_ my_pp, &my_xop);
+
+The available fields in the structure are:
+
+=over 4
+
+=item xop_name
+
+A short name for your op. This will be included in some error messages,
+and will also be returned as C<< $op->name >> by the L<B|B> module, so
+it will appear in the output of module like L<B::Concise|B::Concise>.
+
+=item xop_desc
+
+A short description of the function of the op.
+
+=item xop_class
+
+Which of the various C<*OP> structures this op uses. This should be one of
+the C<OA_*> constants from F<op.h>, namely
+
+=over 4
+
+=item OA_BASEOP
+
+=item OA_UNOP
+
+=item OA_BINOP
+
+=item OA_LOGOP
+
+=item OA_LISTOP
+
+=item OA_PMOP
+
+=item OA_SVOP
+
+=item OA_PADOP
+
+=item OA_PVOP_OR_SVOP
+
+This should be interpreted as 'C<PVOP>' only. The C<_OR_SVOP> is because
+the only core C<PVOP>, C<OP_TRANS>, can sometimes be a C<SVOP> instead.
+
+=item OA_LOOP
+
+=item OA_COP
+
+=back
+
+The other C<OA_*> constants should not be used.
+
+=item xop_peep
+
+This member is of type C<Perl_cpeep_t>, which expands to C<void
+(*Perl_cpeep_t)(aTHX_ OP *o, OP *oldop)>. If it is set, this function
+will be called from C<Perl_rpeep> when ops of this type are encountered
+by the peephole optimizer. I<o> is the OP that needs optimizing;
+I<oldop> is the previous OP optimized, whose C<op_next> points to I<o>.
+
+=back
C<B::Generate> directly supports the creation of custom ops by name.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhack.pod b/Master/tlpkg/tlperl/lib/pods/perlhack.pod
index 844b83b7b05..dbb020f09a7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhack.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhack.pod
@@ -1,1993 +1,840 @@
-=head1 NAME
+=encoding utf8
-perlhack - How to hack at the Perl internals
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlhack.pod
-=head1 DESCRIPTION
+=head1 NAME
-This document attempts to explain how Perl development takes place,
-and ends with some suggestions for people wanting to become bona fide
-porters.
+perlhack - How to hack on Perl
-The perl5-porters mailing list is where the Perl standard distribution
-is maintained and developed. The list can get anywhere from 10 to 150
-messages a day, depending on the heatedness of the debate. Most days
-there are two or three patches, extensions, features, or bugs being
-discussed at a time.
+=head1 DESCRIPTION
-A searchable archive of the list is at either:
+This document explains how Perl development works. It includes details
+about the Perl 5 Porters email list, the Perl repository, the Perlbug
+bug tracker, patch guidelines, and commentary on Perl development
+philosophy.
- http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
+=head1 SUPER QUICK PATCH GUIDE
-or
-
- http://archive.develooper.com/perl5-porters@perl.org/
-
-List subscribers (the porters themselves) come in several flavours.
-Some are quiet curious lurkers, who rarely pitch in and instead watch
-the ongoing development to ensure they're forewarned of new changes or
-features in Perl. Some are representatives of vendors, who are there
-to make sure that Perl continues to compile and work on their
-platforms. Some patch any reported bug that they know how to fix,
-some are actively patching their pet area (threads, Win32, the regexp
-engine), while others seem to do nothing but complain. In other
-words, it's your usual mix of technical people.
-
-Over this group of porters presides Larry Wall. He has the final word
-in what does and does not change in the Perl language. Various
-releases of Perl are shepherded by a "pumpking", a porter
-responsible for gathering patches, deciding on a patch-by-patch,
-feature-by-feature basis what will and will not go into the release.
-For instance, Gurusamy Sarathy was the pumpking for the 5.6 release of
-Perl, and Jarkko Hietaniemi was the pumpking for the 5.8 release, and
-Rafael Garcia-Suarez holds the pumpking crown for the 5.10 release.
-
-In addition, various people are pumpkings for different things. For
-instance, Andy Dougherty and Jarkko Hietaniemi did a grand job as the
-I<Configure> pumpkin up till the 5.8 release. For the 5.10 release
-H.Merijn Brand took over.
-
-Larry sees Perl development along the lines of the US government:
-there's the Legislature (the porters), the Executive branch (the
-pumpkings), and the Supreme Court (Larry). The legislature can
-discuss and submit patches to the executive branch all they like, but
-the executive branch is free to veto them. Rarely, the Supreme Court
-will side with the executive branch over the legislature, or the
-legislature over the executive branch. Mostly, however, the
-legislature and the executive branch are supposed to get along and
-work out their differences without impeachment or court cases.
-
-You might sometimes see reference to Rule 1 and Rule 2. Larry's power
-as Supreme Court is expressed in The Rules:
+If you just want to submit a single small patch like a pod fix, a test
+for a bug, comment fixes, etc., it's easy! Here's how:
=over 4
-=item 1
-
-Larry is always by definition right about how Perl should behave.
-This means he has final veto power on the core functionality.
+=item * Check out the source repository
-=item 2
+The perl source is in a git repository. You can clone the repository
+with the following command:
-Larry is allowed to change his mind about any matter at a later date,
-regardless of whether he previously invoked Rule 1.
+ % git clone git://perl5.git.perl.org/perl.git perl
-=back
+=item * Make your change
-Got that? Larry is always right, even when he was wrong. It's rare
-to see either Rule exercised, but they are often alluded to.
+Hack, hack, hack.
-New features and extensions to the language are contentious, because
-the criteria used by the pumpkings, Larry, and other porters to decide
-which features should be implemented and incorporated are not codified
-in a few small design goals as with some other languages. Instead,
-the heuristics are flexible and often difficult to fathom. Here is
-one person's list, roughly in decreasing order of importance, of
-heuristics that new features have to be weighed against:
+=item * Test your change
-=over 4
+You can run all the tests with the following commands:
-=item Does concept match the general goals of Perl?
+ % ./Configure -des -Dusedevel
+ % make test
-These haven't been written anywhere in stone, but one approximation
-is:
+Keep hacking until the tests pass.
- 1. Keep it fast, simple, and useful.
- 2. Keep features/concepts as orthogonal as possible.
- 3. No arbitrary limits (platforms, data sizes, cultures).
- 4. Keep it open and exciting to use/patch/advocate Perl everywhere.
- 5. Either assimilate new technologies, or build bridges to them.
+=item * Commit your change
-=item Where is the implementation?
+Committing your work will save the change I<on your local system>:
-All the talk in the world is useless without an implementation. In
-almost every case, the person or people who argue for a new feature
-will be expected to be the ones who implement it. Porters capable
-of coding new features have their own agendas, and are not available
-to implement your (possibly good) idea.
+ % git commit -a -m 'Commit message goes here'
-=item Backwards compatibility
+Make sure the commit message describes your change in a single
+sentence. For example, "Fixed spelling errors in perlhack.pod".
-It's a cardinal sin to break existing Perl programs. New warnings are
-contentious--some say that a program that emits warnings is not
-broken, while others say it is. Adding keywords has the potential to
-break programs, changing the meaning of existing token sequences or
-functions might break programs.
+=item * Send your change to perlbug
-=item Could it be a module instead?
+The next step is to submit your patch to the Perl core ticket system
+via email.
-Perl 5 has extension mechanisms, modules and XS, specifically to avoid
-the need to keep changing the Perl interpreter. You can write modules
-that export functions, you can give those functions prototypes so they
-can be called like built-in functions, you can even write XS code to
-mess with the runtime data structures of the Perl interpreter if you
-want to implement really complicated things. If it can be done in a
-module instead of in the core, it's highly unlikely to be added.
+Assuming your patch consists of a single git commit, you can send it to
+perlbug with this command line:
-=item Is the feature generic enough?
+ % git format-patch HEAD^1..HEAD
+ % perlbug -s '[PATCH] `git log --pretty=format:%s HEAD^1..HEAD`' -f 0001-*.patch
-Is this something that only the submitter wants added to the language,
-or would it be broadly useful? Sometimes, instead of adding a feature
-with a tight focus, the porters might decide to wait until someone
-implements the more generalized feature. For instance, instead of
-implementing a "delayed evaluation" feature, the porters are waiting
-for a macro system that would permit delayed evaluation and much more.
+The perlbug program will ask you a few questions about your email
+address and the patch you're submitting. Once you've answered them you
+can submit your patch.
-=item Does it potentially introduce new bugs?
+=item * Thank you
-Radical rewrites of large chunks of the Perl interpreter have the
-potential to introduce new bugs. The smaller and more localized the
-change, the better.
+The porters appreciate the time you spent helping to make Perl better.
+Thank you!
-=item Does it preclude other desirable features?
+=back
-A patch is likely to be rejected if it closes off future avenues of
-development. For instance, a patch that placed a true and final
-interpretation on prototypes is likely to be rejected because there
-are still options for the future of prototypes that haven't been
-addressed.
+=head1 BUG REPORTING
-=item Is the implementation robust?
+If you want to report a bug in Perl, you must use the F<perlbug> command
+line tool. This tool will ensure that your bug report includes all the
+relevant system and configuration information.
-Good patches (tight code, complete, correct) stand more chance of
-going in. Sloppy or incorrect patches might be placed on the back
-burner until the pumpking has time to fix, or might be discarded
-altogether without further notice.
+To browse existing Perl bugs and patches, you can use the web interface
+at L<http://rt.perl.org/>.
-=item Is the implementation generic enough to be portable?
+Please check the archive of the perl5-porters list (see below) and/or
+the bug tracking system before submitting a bug report. Often, you'll
+find that the bug has been reported already.
-The worst patches make use of a system-specific features. It's highly
-unlikely that non-portable additions to the Perl language will be
-accepted.
+You can log in to the bug tracking system and comment on existing bug
+reports. If you have additional information regarding an existing bug,
+please add it. This will help the porters fix the bug.
-=item Is the implementation tested?
+=head1 PERL 5 PORTERS
-Patches which change behaviour (fixing bugs or introducing new features)
-must include regression tests to verify that everything works as expected.
-Without tests provided by the original author, how can anyone else changing
-perl in the future be sure that they haven't unwittingly broken the behaviour
-the patch implements? And without tests, how can the patch's author be
-confident that his/her hard work put into the patch won't be accidentally
-thrown away by someone in the future?
+The perl5-porters (p5p) mailing list is where the Perl standard
+distribution is maintained and developed. The people who maintain Perl
+are also referred to as the "Perl 5 Porters", or just the "porters".
-=item Is there enough documentation?
+A searchable archive of the list is available at
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>. There is
+also another archive at
+L<http://archive.develooper.com/perl5-porters@perl.org/>.
-Patches without documentation are probably ill-thought out or
-incomplete. Nothing can be added without documentation, so submitting
-a patch for the appropriate manpages as well as the source code is
-always a good idea.
+=head2 perl-changes mailing list
-=item Is there another way to do it?
+The perl5-changes mailing list receives a copy of each patch that gets
+submitted to the maintenance and development branches of the perl
+repository. See L<http://lists.perl.org/list/perl5-changes.html> for
+subscription and archive information.
-Larry said "Although the Perl Slogan is I<There's More Than One Way
-to Do It>, I hesitate to make 10 ways to do something". This is a
-tricky heuristic to navigate, though--one man's essential addition is
-another man's pointless cruft.
+=head1 GETTING THE PERL SOURCE
-=item Does it create too much work?
+All of Perl's source code is kept centrally in a Git repository at
+I<perl5.git.perl.org>. The repository contains many Perl revisions from
+Perl 1 onwards and all the revisions from Perforce, the previous
+version control system.
-Work for the pumpking, work for Perl programmers, work for module
-authors, ... Perl is supposed to be easy.
+For much more detail on using git with the Perl repository, please see
+L<perlgit>.
-=item Patches speak louder than words
+=head2 Read access via Git
-Working code is always preferred to pie-in-the-sky ideas. A patch to
-add a feature stands a much higher chance of making it to the language
-than does a random feature request, no matter how fervently argued the
-request might be. This ties into "Will it be useful?", as the fact
-that someone took the time to make the patch demonstrates a strong
-desire for the feature.
+You will need a copy of Git for your computer. You can fetch a copy of
+the repository using the git protocol:
-=back
+ % git clone git://perl5.git.perl.org/perl.git perl
-If you're on the list, you might hear the word "core" bandied
-around. It refers to the standard distribution. "Hacking on the
-core" means you're changing the C source code to the Perl
-interpreter. "A core module" is one that ships with Perl.
+This clones the repository and makes a local copy in the F<perl>
+directory.
-=head2 Keeping in sync
+If you cannot use the git protocol for firewall reasons, you can also
+clone via http, though this is much slower:
-The source code to the Perl interpreter, in its different versions, is
-kept in a repository managed by the git revision control system. The
-pumpkings and a few others have write access to the repository to check in
-changes.
+ % git clone http://perl5.git.perl.org/perl.git perl
-How to clone and use the git perl repository is described in L<perlrepository>.
+=head2 Read access via the web
-You can also choose to use rsync to get a copy of the current source tree
-for the bleadperl branch and all maintenance branches:
+You may access the repository over the web. This allows you to browse
+the tree, see recent commits, subscribe to RSS feeds for the changes,
+search for particular commits and more. You may access it at
+L<http://perl5.git.perl.org/perl.git>. A mirror of the repository is
+found at L<http://github.com/mirrors/perl>.
- $ rsync -avz rsync://perl5.git.perl.org/perl-current .
- $ rsync -avz rsync://perl5.git.perl.org/perl-5.12.x .
- $ rsync -avz rsync://perl5.git.perl.org/perl-5.10.x .
- $ rsync -avz rsync://perl5.git.perl.org/perl-5.8.x .
- $ rsync -avz rsync://perl5.git.perl.org/perl-5.6.x .
- $ rsync -avz rsync://perl5.git.perl.org/perl-5.005xx .
+=head2 Read access via rsync
-(Add the C<--delete> option to remove leftover files)
+You can also choose to use rsync to get a copy of the current source
+tree for the bleadperl branch and all maintenance branches:
-To get a full list of the available sync points:
-
- $ rsync perl5.git.perl.org::
+ % rsync -avz rsync://perl5.git.perl.org/perl-current .
+ % rsync -avz rsync://perl5.git.perl.org/perl-5.12.x .
+ % rsync -avz rsync://perl5.git.perl.org/perl-5.10.x .
+ % rsync -avz rsync://perl5.git.perl.org/perl-5.8.x .
+ % rsync -avz rsync://perl5.git.perl.org/perl-5.6.x .
+ % rsync -avz rsync://perl5.git.perl.org/perl-5.005xx .
-You may also want to subscribe to the perl5-changes mailing list to
-receive a copy of each patch that gets submitted to the maintenance
-and development "branches" of the perl repository. See
-http://lists.perl.org/ for subscription information.
+(Add the C<--delete> option to remove leftover files.)
-If you are a member of the perl5-porters mailing list, it is a good
-thing to keep in touch with the most recent changes. If not only to
-verify if what you would have posted as a bug report isn't already
-solved in the most recent available perl development branch, also
-known as perl-current, bleading edge perl, bleedperl or bleadperl.
-
-Needless to say, the source code in perl-current is usually in a perpetual
-state of evolution. You should expect it to be very buggy. Do B<not> use
-it for any purpose other than testing and development.
+To get a full list of the available sync points:
-=head2 Perlbug administration
+ % rsync perl5.git.perl.org::
-There is a single remote administrative interface for modifying bug status,
-category, open issues etc. using the B<RT> bugtracker system, maintained
-by Robert Spier. Become an administrator, and close any bugs you can get
-your sticky mitts on:
+=head2 Write access via git
- http://bugs.perl.org/
+If you have a commit bit, please see L<perlgit> for more details on
+using git.
-To email the bug system administrators:
+=head1 PATCHING PERL
- "perlbug-admin" <perlbug-admin@perl.org>
+If you're planning to do more extensive work than a single small fix,
+we encourage you to read the documentation below. This will help you
+focus your work and make your patches easier to incorporate into the
+Perl source.
=head2 Submitting patches
-Always submit patches to I<perl5-porters@perl.org>. If you're
-patching a core module and there's an author listed, send the author a
-copy (see L<Patching a core module>). This lets other porters review
-your patch, which catches a surprising number of errors in patches.
-Please patch against the latest B<development> version. (e.g., even if
-you're fixing a bug in the 5.8 track, patch against the C<blead> branch in
-the git repository.)
-
-If changes are accepted, they are applied to the development branch. Then
-the maintenance pumpking decides which of those patches is to be
-backported to the maint branch. Only patches that survive the heat of the
-development branch get applied to maintenance versions.
-
-Your patch should update the documentation and test suite. See
-L<Writing a test>. If you have added or removed files in the distribution,
-edit the MANIFEST file accordingly, sort the MANIFEST file using
-C<make manisort>, and include those changes as part of your patch.
-
-Patching documentation also follows the same order: if accepted, a patch
-is first applied to B<development>, and if relevant then it's backported
-to B<maintenance>. (With an exception for some patches that document
-behaviour that only appears in the maintenance branch, but which has
-changed in the development version.)
-
-To report a bug in Perl, use the program I<perlbug> which comes with
-Perl (if you can't get Perl to work, send mail to the address
-I<perlbug@perl.org> or I<perlbug@perl.com>). Reporting bugs through
-I<perlbug> feeds into the automated bug-tracking system, access to
-which is provided through the web at http://rt.perl.org/rt3/ . It
-often pays to check the archives of the perl5-porters mailing list to
-see whether the bug you're reporting has been reported before, and if
-so whether it was considered a bug. See above for the location of
-the searchable archives.
-
-The CPAN testers ( http://testers.cpan.org/ ) are a group of
-volunteers who test CPAN modules on a variety of platforms. Perl
-Smokers ( http://www.nntp.perl.org/group/perl.daily-build and
-http://www.nntp.perl.org/group/perl.daily-build.reports/ )
-automatically test Perl source releases on platforms with various
-configurations. Both efforts welcome volunteers. In order to get
-involved in smoke testing of the perl itself visit
-L<http://search.cpan.org/dist/Test-Smoke>. In order to start smoke
-testing CPAN modules visit L<http://search.cpan.org/dist/CPANPLUS-YACSmoke/>
-or L<http://search.cpan.org/dist/minismokebox/> or
-L<http://search.cpan.org/dist/CPAN-Reporter/>.
+If you have a small patch to submit, please submit it via perlbug. You
+can also send email directly to perlbug@perl.org. Please note that
+messages sent to perlbug may be held in a moderation queue, so you
+won't receive a response immediately.
-It's a good idea to read and lurk for a while before chipping in.
-That way you'll get to see the dynamic of the conversations, learn the
-personalities of the players, and hopefully be better prepared to make
-a useful contribution when do you speak up.
+You'll know your submission has been processed when you receive an
+email from our ticket tracking system. This email will give you a
+ticket number. Once your patch has made it to the ticket tracking
+system, it will also be sent to the perl5-porters@perl.org list.
-If after all this you still think you want to join the perl5-porters
-mailing list, send mail to I<perl5-porters-subscribe@perl.org>. To
-unsubscribe, send mail to I<perl5-porters-unsubscribe@perl.org>.
+Patches are reviewed and discussed on the p5p list. Simple,
+uncontroversial patches will usually be applied without any discussion.
+When the patch is applied, the ticket will be updated and you will
+receive email. In addition, an email will be sent to the p5p list.
-To hack on the Perl guts, you'll need to read the following things:
+In other cases, the patch will need more work or discussion. That will
+happen on the p5p list.
-=over 3
+You are encouraged to participate in the discussion and advocate for
+your patch. Sometimes your patch may get lost in the shuffle. It's
+appropriate to send a reminder email to p5p if no action has been taken
+in a month. Please remember that the Perl 5 developers are all
+volunteers, and be polite.
-=item L<perlguts>
+Changes are always applied directly to the main development branch,
+called "blead". Some patches may be backported to a maintenance branch.
+If you think your patch is appropriate for the maintenance branch,
+please explain why when you submit it.
-This is of paramount importance, since it's the documentation of what
-goes where in the Perl source. Read it over a couple of times and it
-might start to make sense - don't worry if it doesn't yet, because the
-best way to study it is to read it in conjunction with poking at Perl
-source, and we'll do that later on.
-
-Gisle Aas's "illustrated perlguts", also known as I<illguts>, has very
-helpful pictures:
-
-L<http://search.cpan.org/dist/illguts/>
-
-=item L<perlxstut> and L<perlxs>
-
-A working knowledge of XSUB programming is incredibly useful for core
-hacking; XSUBs use techniques drawn from the PP code, the portion of the
-guts that actually executes a Perl program. It's a lot gentler to learn
-those techniques from simple examples and explanation than from the core
-itself.
-
-=item L<perlapi>
-
-The documentation for the Perl API explains what some of the internal
-functions do, as well as the many macros used in the source.
+=head2 Getting your patch accepted
-=item F<Porting/pumpkin.pod>
+If you are submitting a code patch there are several things that you
+can do to help the Perl 5 Porters accept your patch.
-This is a collection of words of wisdom for a Perl porter; some of it is
-only useful to the pumpkin holder, but most of it applies to anyone
-wanting to go about Perl development.
-
-=item The perl5-porters FAQ
-
-This should be available from http://dev.perl.org/perl5/docs/p5p-faq.html .
-It contains hints on reading perl5-porters, information on how
-perl5-porters works and how Perl development in general works.
-
-=back
+=head3 Patch style
-=head2 Finding Your Way Around
+If you used git to check out the Perl source, then using C<git
+format-patch> will produce a patch in a style suitable for Perl. The
+C<format-patch> command produces one patch file for each commit you
+made. If you prefer to send a single patch for all commits, you can use
+C<git diff>.
-Perl maintenance can be split into a number of areas, and certain people
-(pumpkins) will have responsibility for each area. These areas sometimes
-correspond to files or directories in the source kit. Among the areas are:
+ % git co blead
+ % git pull
+ % git diff blead my-branch-name
-=over 3
+This produces a patch based on the difference between blead and your
+current branch. It's important to make sure that blead is up to date
+before producing the diff, that's why we call C<git pull> first.
-=item Core modules
+We strongly recommend that you use git if possible. It will make your
+life easier, and ours as well.
-Modules shipped as part of the Perl core live in various subdirectories, where
-two are dedicated to core-only modules, and two are for the dual-life modules
-which live on CPAN and may be maintained separately with respect to the Perl
-core:
+However, if you're not using git, you can still produce a suitable
+patch. You'll need a pristine copy of the Perl source to diff against.
+The porters prefer unified diffs. Using GNU C<diff>, you can produce a
+diff like this:
- lib/ is for pure-Perl modules, which exist in the core only.
+ % diff -Npurd perl.pristine perl.mine
- ext/ is for XS extensions, and modules with special Makefile.PL
- requirements, which exist in the core only.
+Make sure that you C<make realclean> in your copy of Perl to remove any
+build artifacts, or you may get a confusing result.
- cpan/ is for dual-life modules, where the CPAN module is
- canonical (should be patched first).
+=head3 Commit message
- dist/ is for dual-life modules, where the blead source is
- canonical.
+As you craft each patch you intend to submit to the Perl core, it's
+important to write a good commit message. This is especially important
+if your submission will consist of a series of commits.
-For some dual-life modules it has not been discussed if the CPAN version or the
-blead source is canonical. Until that is done, those modules should be in
-F<cpan/>.
+The first line of the commit message should be a short description
+without a period. It should be no longer than the subject line of an
+email, 50 characters being a good rule of thumb.
-=item Tests
+A lot of Git tools (Gitweb, GitHub, git log --pretty=oneline, ...) will
+only display the first line (cut off at 50 characters) when presenting
+commit summaries.
-There are tests for nearly all the modules, built-ins and major bits
-of functionality. Test files all have a .t suffix. Module tests live
-in the F<lib/> and F<ext/> directories next to the module being
-tested. Others live in F<t/>. See L<Writing a test>
+The commit message should include a description of the problem that the
+patch corrects or new functionality that the patch adds.
-=item Documentation
+As a general rule of thumb, your commit message should help a
+programmer who knows the Perl core quickly understand what you were
+trying to do, how you were trying to do it, and why the change matters
+to Perl.
-Documentation maintenance includes looking after everything in the
-F<pod/> directory, (as well as contributing new documentation) and
-the documentation to the modules in core.
+=over 4
-=item Configure
+=item * Why
-The Configure process is the way we make Perl portable across the
-myriad of operating systems it supports. Responsibility for the
-Configure, build and installation process, as well as the overall
-portability of the core code rests with the Configure pumpkin -
-others help out with individual operating systems.
+Your commit message should describe why the change you are making is
+important. When someone looks at your change in six months or six
+years, your intent should be clear.
-The three files that fall under his/her responsibility are Configure,
-config_h.SH, and Porting/Glossary (and a whole bunch of small related
-files that are less important here). The Configure pumpkin decides how
-patches to these are dealt with. Currently, the Configure pumpkin will
-accept patches in most common formats, even directly to these files.
-Other committers are allowed to commit to these files under the strict
-condition that they will inform the Configure pumpkin, either on IRC
-(if he/she happens to be around) or through (personal) e-mail.
+If you're deprecating a feature with the intent of later simplifying
+another bit of code, say so. If you're fixing a performance problem or
+adding a new feature to support some other bit of the core, mention
+that.
-The files involved are the operating system directories, (F<win32/>,
-F<os2/>, F<vms/> and so on) the shell scripts which generate F<config.h>
-and F<Makefile>, as well as the metaconfig files which generate
-F<Configure>. (metaconfig isn't included in the core distribution.)
+=item * What
-See http://perl5.git.perl.org/metaconfig.git/blob/HEAD:/README for a
-description of the full process involved.
+Your commit message should describe what part of the Perl core you're
+changing and what you expect your patch to do.
-=item Interpreter
+=item * How
-And of course, there's the core of the Perl interpreter itself. Let's
-have a look at that in a little more detail.
+While it's not necessary for documentation changes, new tests or
+trivial patches, it's often worth explaining how your change works.
+Even if it's clear to you today, it may not be clear to a porter next
+month or next year.
=back
-Before we leave looking at the layout, though, don't forget that
-F<MANIFEST> contains not only the file names in the Perl distribution,
-but short descriptions of what's in them, too. For an overview of the
-important files, try this:
-
- perl -lne 'print if /^[^\/]+\.[ch]\s+/' MANIFEST
-
-=head2 Elements of the interpreter
-
-The work of the interpreter has two main stages: compiling the code
-into the internal representation, or bytecode, and then executing it.
-L<perlguts/Compiled code> explains exactly how the compilation stage
-happens.
+A commit message isn't intended to take the place of comments in your
+code. Commit messages should describe the change you made, while code
+comments should describe the current state of the code.
-Here is a short breakdown of perl's operation:
-
-=over 3
+If you've just implemented a new feature, complete with doc, tests and
+well-commented code, a brief commit message will often suffice. If,
+however, you've just changed a single character deep in the parser or
+lexer, you might need to write a small novel to ensure that future
+readers understand what you did and why you did it.
-=item Startup
+=head3 Comments, Comments, Comments
-The action begins in F<perlmain.c>. (or F<miniperlmain.c> for miniperl)
-This is very high-level code, enough to fit on a single screen, and it
-resembles the code found in L<perlembed>; most of the real action takes
-place in F<perl.c>
+Be sure to adequately comment your code. While commenting every line is
+unnecessary, anything that takes advantage of side effects of
+operators, that creates changes that will be felt outside of the
+function being patched, or that others may find confusing should be
+documented. If you are going to err, it is better to err on the side of
+adding too many comments than too few.
-F<perlmain.c> is generated by L<writemain> from F<miniperlmain.c> at
-make time, so you should make perl to follow this along.
+The best comments explain I<why> the code does what it does, not I<what
+it does>.
-First, F<perlmain.c> allocates some memory and constructs a Perl
-interpreter, along these lines:
+=head3 Style
- 1 PERL_SYS_INIT3(&argc,&argv,&env);
- 2
- 3 if (!PL_do_undump) {
- 4 my_perl = perl_alloc();
- 5 if (!my_perl)
- 6 exit(1);
- 7 perl_construct(my_perl);
- 8 PL_perl_destruct_level = 0;
- 9 }
+In general, please follow the particular style of the code you are
+patching.
-Line 1 is a macro, and its definition is dependent on your operating
-system. Line 3 references C<PL_do_undump>, a global variable - all
-global variables in Perl start with C<PL_>. This tells you whether the
-current running program was created with the C<-u> flag to perl and then
-F<undump>, which means it's going to be false in any sane context.
-
-Line 4 calls a function in F<perl.c> to allocate memory for a Perl
-interpreter. It's quite a simple function, and the guts of it looks like
-this:
-
- my_perl = (PerlInterpreter*)PerlMem_malloc(sizeof(PerlInterpreter));
-
-Here you see an example of Perl's system abstraction, which we'll see
-later: C<PerlMem_malloc> is either your system's C<malloc>, or Perl's
-own C<malloc> as defined in F<malloc.c> if you selected that option at
-configure time.
-
-Next, in line 7, we construct the interpreter using perl_construct,
-also in F<perl.c>; this sets up all the special variables that Perl
-needs, the stacks, and so on.
-
-Now we pass Perl the command line options, and tell it to go:
-
- exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL);
- if (!exitstatus)
- perl_run(my_perl);
-
- exitstatus = perl_destruct(my_perl);
-
- perl_free(my_perl);
-
-C<perl_parse> is actually a wrapper around C<S_parse_body>, as defined
-in F<perl.c>, which processes the command line options, sets up any
-statically linked XS modules, opens the program and calls C<yyparse> to
-parse it.
-
-=item Parsing
-
-The aim of this stage is to take the Perl source, and turn it into an op
-tree. We'll see what one of those looks like later. Strictly speaking,
-there's three things going on here.
-
-C<yyparse>, the parser, lives in F<perly.c>, although you're better off
-reading the original YACC input in F<perly.y>. (Yes, Virginia, there
-B<is> a YACC grammar for Perl!) The job of the parser is to take your
-code and "understand" it, splitting it into sentences, deciding which
-operands go with which operators and so on.
-
-The parser is nobly assisted by the lexer, which chunks up your input
-into tokens, and decides what type of thing each token is: a variable
-name, an operator, a bareword, a subroutine, a core function, and so on.
-The main point of entry to the lexer is C<yylex>, and that and its
-associated routines can be found in F<toke.c>. Perl isn't much like
-other computer languages; it's highly context sensitive at times, it can
-be tricky to work out what sort of token something is, or where a token
-ends. As such, there's a lot of interplay between the tokeniser and the
-parser, which can get pretty frightening if you're not used to it.
-
-As the parser understands a Perl program, it builds up a tree of
-operations for the interpreter to perform during execution. The routines
-which construct and link together the various operations are to be found
-in F<op.c>, and will be examined later.
-
-=item Optimization
-
-Now the parsing stage is complete, and the finished tree represents
-the operations that the Perl interpreter needs to perform to execute our
-program. Next, Perl does a dry run over the tree looking for
-optimisations: constant expressions such as C<3 + 4> will be computed
-now, and the optimizer will also see if any multiple operations can be
-replaced with a single one. For instance, to fetch the variable C<$foo>,
-instead of grabbing the glob C<*foo> and looking at the scalar
-component, the optimizer fiddles the op tree to use a function which
-directly looks up the scalar in question. The main optimizer is C<peep>
-in F<op.c>, and many ops have their own optimizing functions.
-
-=item Running
-
-Now we're finally ready to go: we have compiled Perl byte code, and all
-that's left to do is run it. The actual execution is done by the
-C<runops_standard> function in F<run.c>; more specifically, it's done by
-these three innocent looking lines:
-
- while ((PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX))) {
- PERL_ASYNC_CHECK();
- }
-
-You may be more comfortable with the Perl version of that:
-
- PERL_ASYNC_CHECK() while $Perl::op = &{$Perl::op->{function}};
-
-Well, maybe not. Anyway, each op contains a function pointer, which
-stipulates the function which will actually carry out the operation.
-This function will return the next op in the sequence - this allows for
-things like C<if> which choose the next op dynamically at run time.
-The C<PERL_ASYNC_CHECK> makes sure that things like signals interrupt
-execution if required.
-
-The actual functions called are known as PP code, and they're spread
-between four files: F<pp_hot.c> contains the "hot" code, which is most
-often used and highly optimized, F<pp_sys.c> contains all the
-system-specific functions, F<pp_ctl.c> contains the functions which
-implement control structures (C<if>, C<while> and the like) and F<pp.c>
-contains everything else. These are, if you like, the C code for Perl's
-built-in functions and operators.
-
-Note that each C<pp_> function is expected to return a pointer to the next
-op. Calls to perl subs (and eval blocks) are handled within the same
-runops loop, and do not consume extra space on the C stack. For example,
-C<pp_entersub> and C<pp_entertry> just push a C<CxSUB> or C<CxEVAL> block
-struct onto the context stack which contain the address of the op
-following the sub call or eval. They then return the first op of that sub
-or eval block, and so execution continues of that sub or block. Later, a
-C<pp_leavesub> or C<pp_leavetry> op pops the C<CxSUB> or C<CxEVAL>,
-retrieves the return op from it, and returns it.
-
-=item Exception handing
-
-Perl's exception handing (i.e. C<die> etc.) is built on top of the low-level
-C<setjmp()>/C<longjmp()> C-library functions. These basically provide a
-way to capture the current PC and SP registers and later restore them; i.e.
-a C<longjmp()> continues at the point in code where a previous C<setjmp()>
-was done, with anything further up on the C stack being lost. This is why
-code should always save values using C<SAVE_FOO> rather than in auto
-variables.
-
-The perl core wraps C<setjmp()> etc in the macros C<JMPENV_PUSH> and
-C<JMPENV_JUMP>. The basic rule of perl exceptions is that C<exit>, and
-C<die> (in the absence of C<eval>) perform a C<JMPENV_JUMP(2)>, while
-C<die> within C<eval> does a C<JMPENV_JUMP(3)>.
-
-At entry points to perl, such as C<perl_parse()>, C<perl_run()> and
-C<call_sv(cv, G_EVAL)> each does a C<JMPENV_PUSH>, then enter a runops
-loop or whatever, and handle possible exception returns. For a 2 return,
-final cleanup is performed, such as popping stacks and calling C<CHECK> or
-C<END> blocks. Amongst other things, this is how scope cleanup still
-occurs during an C<exit>.
-
-If a C<die> can find a C<CxEVAL> block on the context stack, then the
-stack is popped to that level and the return op in that block is assigned
-to C<PL_restartop>; then a C<JMPENV_JUMP(3)> is performed. This normally
-passes control back to the guard. In the case of C<perl_run> and
-C<call_sv>, a non-null C<PL_restartop> triggers re-entry to the runops
-loop. The is the normal way that C<die> or C<croak> is handled within an
-C<eval>.
-
-Sometimes ops are executed within an inner runops loop, such as tie, sort
-or overload code. In this case, something like
-
- sub FETCH { eval { die } }
-
-would cause a longjmp right back to the guard in C<perl_run>, popping both
-runops loops, which is clearly incorrect. One way to avoid this is for the
-tie code to do a C<JMPENV_PUSH> before executing C<FETCH> in the inner
-runops loop, but for efficiency reasons, perl in fact just sets a flag,
-using C<CATCH_SET(TRUE)>. The C<pp_require>, C<pp_entereval> and
-C<pp_entertry> ops check this flag, and if true, they call C<docatch>,
-which does a C<JMPENV_PUSH> and starts a new runops level to execute the
-code, rather than doing it on the current loop.
-
-As a further optimisation, on exit from the eval block in the C<FETCH>,
-execution of the code following the block is still carried on in the inner
-loop. When an exception is raised, C<docatch> compares the C<JMPENV>
-level of the C<CxEVAL> with C<PL_top_env> and if they differ, just
-re-throws the exception. In this way any inner loops get popped.
-
-Here's an example.
-
- 1: eval { tie @a, 'A' };
- 2: sub A::TIEARRAY {
- 3: eval { die };
- 4: die;
- 5: }
-
-To run this code, C<perl_run> is called, which does a C<JMPENV_PUSH> then
-enters a runops loop. This loop executes the eval and tie ops on line 1,
-with the eval pushing a C<CxEVAL> onto the context stack.
-
-The C<pp_tie> does a C<CATCH_SET(TRUE)>, then starts a second runops loop
-to execute the body of C<TIEARRAY>. When it executes the entertry op on
-line 3, C<CATCH_GET> is true, so C<pp_entertry> calls C<docatch> which
-does a C<JMPENV_PUSH> and starts a third runops loop, which then executes
-the die op. At this point the C call stack looks like this:
-
- Perl_pp_die
- Perl_runops # third loop
- S_docatch_body
- S_docatch
- Perl_pp_entertry
- Perl_runops # second loop
- S_call_body
- Perl_call_sv
- Perl_pp_tie
- Perl_runops # first loop
- S_run_body
- perl_run
- main
-
-and the context and data stacks, as shown by C<-Dstv>, look like:
-
- STACK 0: MAIN
- CX 0: BLOCK =>
- CX 1: EVAL => AV() PV("A"\0)
- retop=leave
- STACK 1: MAGIC
- CX 0: SUB =>
- retop=(null)
- CX 1: EVAL => *
- retop=nextstate
-
-The die pops the first C<CxEVAL> off the context stack, sets
-C<PL_restartop> from it, does a C<JMPENV_JUMP(3)>, and control returns to
-the top C<docatch>. This then starts another third-level runops level,
-which executes the nextstate, pushmark and die ops on line 4. At the point
-that the second C<pp_die> is called, the C call stack looks exactly like
-that above, even though we are no longer within an inner eval; this is
-because of the optimization mentioned earlier. However, the context stack
-now looks like this, ie with the top CxEVAL popped:
-
- STACK 0: MAIN
- CX 0: BLOCK =>
- CX 1: EVAL => AV() PV("A"\0)
- retop=leave
- STACK 1: MAGIC
- CX 0: SUB =>
- retop=(null)
-
-The die on line 4 pops the context stack back down to the CxEVAL, leaving
-it as:
-
- STACK 0: MAIN
- CX 0: BLOCK =>
-
-As usual, C<PL_restartop> is extracted from the C<CxEVAL>, and a
-C<JMPENV_JUMP(3)> done, which pops the C stack back to the docatch:
-
- S_docatch
- Perl_pp_entertry
- Perl_runops # second loop
- S_call_body
- Perl_call_sv
- Perl_pp_tie
- Perl_runops # first loop
- S_run_body
- perl_run
- main
-
-In this case, because the C<JMPENV> level recorded in the C<CxEVAL>
-differs from the current one, C<docatch> just does a C<JMPENV_JUMP(3)>
-and the C stack unwinds to:
-
- perl_run
- main
-
-Because C<PL_restartop> is non-null, C<run_body> starts a new runops loop
-and execution continues.
+In particular, follow these general guidelines for patching Perl
+sources:
-=back
-
-=head2 Internal Variable Types
-
-You should by now have had a look at L<perlguts>, which tells you about
-Perl's internal variable types: SVs, HVs, AVs and the rest. If not, do
-that now.
-
-These variables are used not only to represent Perl-space variables, but
-also any constants in the code, as well as some structures completely
-internal to Perl. The symbol table, for instance, is an ordinary Perl
-hash. Your code is represented by an SV as it's read into the parser;
-any program files you call are opened via ordinary Perl filehandles, and
-so on.
-
-The core L<Devel::Peek|Devel::Peek> module lets us examine SVs from a
-Perl program. Let's see, for instance, how Perl treats the constant
-C<"hello">.
-
- % perl -MDevel::Peek -e 'Dump("hello")'
- 1 SV = PV(0xa041450) at 0xa04ecbc
- 2 REFCNT = 1
- 3 FLAGS = (POK,READONLY,pPOK)
- 4 PV = 0xa0484e0 "hello"\0
- 5 CUR = 5
- 6 LEN = 6
-
-Reading C<Devel::Peek> output takes a bit of practise, so let's go
-through it line by line.
-
-Line 1 tells us we're looking at an SV which lives at C<0xa04ecbc> in
-memory. SVs themselves are very simple structures, but they contain a
-pointer to a more complex structure. In this case, it's a PV, a
-structure which holds a string value, at location C<0xa041450>. Line 2
-is the reference count; there are no other references to this data, so
-it's 1.
-
-Line 3 are the flags for this SV - it's OK to use it as a PV, it's a
-read-only SV (because it's a constant) and the data is a PV internally.
-Next we've got the contents of the string, starting at location
-C<0xa0484e0>.
-
-Line 5 gives us the current length of the string - note that this does
-B<not> include the null terminator. Line 6 is not the length of the
-string, but the length of the currently allocated buffer; as the string
-grows, Perl automatically extends the available storage via a routine
-called C<SvGROW>.
-
-You can get at any of these quantities from C very easily; just add
-C<Sv> to the name of the field shown in the snippet, and you've got a
-macro which will return the value: C<SvCUR(sv)> returns the current
-length of the string, C<SvREFCOUNT(sv)> returns the reference count,
-C<SvPV(sv, len)> returns the string itself with its length, and so on.
-More macros to manipulate these properties can be found in L<perlguts>.
-
-Let's take an example of manipulating a PV, from C<sv_catpvn>, in F<sv.c>
-
- 1 void
- 2 Perl_sv_catpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
- 3 {
- 4 STRLEN tlen;
- 5 char *junk;
-
- 6 junk = SvPV_force(sv, tlen);
- 7 SvGROW(sv, tlen + len + 1);
- 8 if (ptr == junk)
- 9 ptr = SvPVX(sv);
- 10 Move(ptr,SvPVX(sv)+tlen,len,char);
- 11 SvCUR(sv) += len;
- 12 *SvEND(sv) = '\0';
- 13 (void)SvPOK_only_UTF8(sv); /* validate pointer */
- 14 SvTAINT(sv);
- 15 }
-
-This is a function which adds a string, C<ptr>, of length C<len> onto
-the end of the PV stored in C<sv>. The first thing we do in line 6 is
-make sure that the SV B<has> a valid PV, by calling the C<SvPV_force>
-macro to force a PV. As a side effect, C<tlen> gets set to the current
-value of the PV, and the PV itself is returned to C<junk>.
-
-In line 7, we make sure that the SV will have enough room to accommodate
-the old string, the new string and the null terminator. If C<LEN> isn't
-big enough, C<SvGROW> will reallocate space for us.
-
-Now, if C<junk> is the same as the string we're trying to add, we can
-grab the string directly from the SV; C<SvPVX> is the address of the PV
-in the SV.
-
-Line 10 does the actual catenation: the C<Move> macro moves a chunk of
-memory around: we move the string C<ptr> to the end of the PV - that's
-the start of the PV plus its current length. We're moving C<len> bytes
-of type C<char>. After doing so, we need to tell Perl we've extended the
-string, by altering C<CUR> to reflect the new length. C<SvEND> is a
-macro which gives us the end of the string, so that needs to be a
-C<"\0">.
-
-Line 13 manipulates the flags; since we've changed the PV, any IV or NV
-values will no longer be valid: if we have C<$a=10; $a.="6";> we don't
-want to use the old IV of 10. C<SvPOK_only_utf8> is a special UTF-8-aware
-version of C<SvPOK_only>, a macro which turns off the IOK and NOK flags
-and turns on POK. The final C<SvTAINT> is a macro which launders tainted
-data if taint mode is turned on.
-
-AVs and HVs are more complicated, but SVs are by far the most common
-variable type being thrown around. Having seen something of how we
-manipulate these, let's go on and look at how the op tree is
-constructed.
-
-=head2 Op Trees
-
-First, what is the op tree, anyway? The op tree is the parsed
-representation of your program, as we saw in our section on parsing, and
-it's the sequence of operations that Perl goes through to execute your
-program, as we saw in L</Running>.
-
-An op is a fundamental operation that Perl can perform: all the built-in
-functions and operators are ops, and there are a series of ops which
-deal with concepts the interpreter needs internally - entering and
-leaving a block, ending a statement, fetching a variable, and so on.
-
-The op tree is connected in two ways: you can imagine that there are two
-"routes" through it, two orders in which you can traverse the tree.
-First, parse order reflects how the parser understood the code, and
-secondly, execution order tells perl what order to perform the
-operations in.
-
-The easiest way to examine the op tree is to stop Perl after it has
-finished parsing, and get it to dump out the tree. This is exactly what
-the compiler backends L<B::Terse|B::Terse>, L<B::Concise|B::Concise>
-and L<B::Debug|B::Debug> do.
-
-Let's have a look at how Perl sees C<$a = $b + $c>:
-
- % perl -MO=Terse -e '$a=$b+$c'
- 1 LISTOP (0x8179888) leave
- 2 OP (0x81798b0) enter
- 3 COP (0x8179850) nextstate
- 4 BINOP (0x8179828) sassign
- 5 BINOP (0x8179800) add [1]
- 6 UNOP (0x81796e0) null [15]
- 7 SVOP (0x80fafe0) gvsv GV (0x80fa4cc) *b
- 8 UNOP (0x81797e0) null [15]
- 9 SVOP (0x8179700) gvsv GV (0x80efeb0) *c
- 10 UNOP (0x816b4f0) null [15]
- 11 SVOP (0x816dcf0) gvsv GV (0x80fa460) *a
-
-Let's start in the middle, at line 4. This is a BINOP, a binary
-operator, which is at location C<0x8179828>. The specific operator in
-question is C<sassign> - scalar assignment - and you can find the code
-which implements it in the function C<pp_sassign> in F<pp_hot.c>. As a
-binary operator, it has two children: the add operator, providing the
-result of C<$b+$c>, is uppermost on line 5, and the left hand side is on
-line 10.
-
-Line 10 is the null op: this does exactly nothing. What is that doing
-there? If you see the null op, it's a sign that something has been
-optimized away after parsing. As we mentioned in L</Optimization>,
-the optimization stage sometimes converts two operations into one, for
-example when fetching a scalar variable. When this happens, instead of
-rewriting the op tree and cleaning up the dangling pointers, it's easier
-just to replace the redundant operation with the null op. Originally,
-the tree would have looked like this:
-
- 10 SVOP (0x816b4f0) rv2sv [15]
- 11 SVOP (0x816dcf0) gv GV (0x80fa460) *a
-
-That is, fetch the C<a> entry from the main symbol table, and then look
-at the scalar component of it: C<gvsv> (C<pp_gvsv> into F<pp_hot.c>)
-happens to do both these things.
-
-The right hand side, starting at line 5 is similar to what we've just
-seen: we have the C<add> op (C<pp_add> also in F<pp_hot.c>) add together
-two C<gvsv>s.
-
-Now, what's this about?
-
- 1 LISTOP (0x8179888) leave
- 2 OP (0x81798b0) enter
- 3 COP (0x8179850) nextstate
-
-C<enter> and C<leave> are scoping ops, and their job is to perform any
-housekeeping every time you enter and leave a block: lexical variables
-are tidied up, unreferenced variables are destroyed, and so on. Every
-program will have those first three lines: C<leave> is a list, and its
-children are all the statements in the block. Statements are delimited
-by C<nextstate>, so a block is a collection of C<nextstate> ops, with
-the ops to be performed for each statement being the children of
-C<nextstate>. C<enter> is a single op which functions as a marker.
-
-That's how Perl parsed the program, from top to bottom:
-
- Program
- |
- Statement
- |
- =
- / \
- / \
- $a +
- / \
- $b $c
-
-However, it's impossible to B<perform> the operations in this order:
-you have to find the values of C<$b> and C<$c> before you add them
-together, for instance. So, the other thread that runs through the op
-tree is the execution order: each op has a field C<op_next> which points
-to the next op to be run, so following these pointers tells us how perl
-executes the code. We can traverse the tree in this order using
-the C<exec> option to C<B::Terse>:
-
- % perl -MO=Terse,exec -e '$a=$b+$c'
- 1 OP (0x8179928) enter
- 2 COP (0x81798c8) nextstate
- 3 SVOP (0x81796c8) gvsv GV (0x80fa4d4) *b
- 4 SVOP (0x8179798) gvsv GV (0x80efeb0) *c
- 5 BINOP (0x8179878) add [1]
- 6 SVOP (0x816dd38) gvsv GV (0x80fa468) *a
- 7 BINOP (0x81798a0) sassign
- 8 LISTOP (0x8179900) leave
-
-This probably makes more sense for a human: enter a block, start a
-statement. Get the values of C<$b> and C<$c>, and add them together.
-Find C<$a>, and assign one to the other. Then leave.
-
-The way Perl builds up these op trees in the parsing process can be
-unravelled by examining F<perly.y>, the YACC grammar. Let's take the
-piece we need to construct the tree for C<$a = $b + $c>
-
- 1 term : term ASSIGNOP term
- 2 { $$ = newASSIGNOP(OPf_STACKED, $1, $2, $3); }
- 3 | term ADDOP term
- 4 { $$ = newBINOP($2, 0, scalar($1), scalar($3)); }
-
-If you're not used to reading BNF grammars, this is how it works: You're
-fed certain things by the tokeniser, which generally end up in upper
-case. Here, C<ADDOP>, is provided when the tokeniser sees C<+> in your
-code. C<ASSIGNOP> is provided when C<=> is used for assigning. These are
-"terminal symbols", because you can't get any simpler than them.
-
-The grammar, lines one and three of the snippet above, tells you how to
-build up more complex forms. These complex forms, "non-terminal symbols"
-are generally placed in lower case. C<term> here is a non-terminal
-symbol, representing a single expression.
-
-The grammar gives you the following rule: you can make the thing on the
-left of the colon if you see all the things on the right in sequence.
-This is called a "reduction", and the aim of parsing is to completely
-reduce the input. There are several different ways you can perform a
-reduction, separated by vertical bars: so, C<term> followed by C<=>
-followed by C<term> makes a C<term>, and C<term> followed by C<+>
-followed by C<term> can also make a C<term>.
-
-So, if you see two terms with an C<=> or C<+>, between them, you can
-turn them into a single expression. When you do this, you execute the
-code in the block on the next line: if you see C<=>, you'll do the code
-in line 2. If you see C<+>, you'll do the code in line 4. It's this code
-which contributes to the op tree.
-
- | term ADDOP term
- { $$ = newBINOP($2, 0, scalar($1), scalar($3)); }
-
-What this does is creates a new binary op, and feeds it a number of
-variables. The variables refer to the tokens: C<$1> is the first token in
-the input, C<$2> the second, and so on - think regular expression
-backreferences. C<$$> is the op returned from this reduction. So, we
-call C<newBINOP> to create a new binary operator. The first parameter to
-C<newBINOP>, a function in F<op.c>, is the op type. It's an addition
-operator, so we want the type to be C<ADDOP>. We could specify this
-directly, but it's right there as the second token in the input, so we
-use C<$2>. The second parameter is the op's flags: 0 means "nothing
-special". Then the things to add: the left and right hand side of our
-expression, in scalar context.
-
-=head2 Stacks
-
-When perl executes something like C<addop>, how does it pass on its
-results to the next op? The answer is, through the use of stacks. Perl
-has a number of stacks to store things it's currently working on, and
-we'll look at the three most important ones here.
-
-=over 3
-
-=item Argument stack
-
-Arguments are passed to PP code and returned from PP code using the
-argument stack, C<ST>. The typical way to handle arguments is to pop
-them off the stack, deal with them how you wish, and then push the result
-back onto the stack. This is how, for instance, the cosine operator
-works:
-
- NV value;
- value = POPn;
- value = Perl_cos(value);
- XPUSHn(value);
-
-We'll see a more tricky example of this when we consider Perl's macros
-below. C<POPn> gives you the NV (floating point value) of the top SV on
-the stack: the C<$x> in C<cos($x)>. Then we compute the cosine, and push
-the result back as an NV. The C<X> in C<XPUSHn> means that the stack
-should be extended if necessary - it can't be necessary here, because we
-know there's room for one more item on the stack, since we've just
-removed one! The C<XPUSH*> macros at least guarantee safety.
-
-Alternatively, you can fiddle with the stack directly: C<SP> gives you
-the first element in your portion of the stack, and C<TOP*> gives you
-the top SV/IV/NV/etc. on the stack. So, for instance, to do unary
-negation of an integer:
-
- SETi(-TOPi);
-
-Just set the integer value of the top stack entry to its negation.
-
-Argument stack manipulation in the core is exactly the same as it is in
-XSUBs - see L<perlxstut>, L<perlxs> and L<perlguts> for a longer
-description of the macros used in stack manipulation.
-
-=item Mark stack
-
-I say "your portion of the stack" above because PP code doesn't
-necessarily get the whole stack to itself: if your function calls
-another function, you'll only want to expose the arguments aimed for the
-called function, and not (necessarily) let it get at your own data. The
-way we do this is to have a "virtual" bottom-of-stack, exposed to each
-function. The mark stack keeps bookmarks to locations in the argument
-stack usable by each function. For instance, when dealing with a tied
-variable, (internally, something with "P" magic) Perl has to call
-methods for accesses to the tied variables. However, we need to separate
-the arguments exposed to the method to the argument exposed to the
-original function - the store or fetch or whatever it may be. Here's
-roughly how the tied C<push> is implemented; see C<av_push> in F<av.c>:
-
- 1 PUSHMARK(SP);
- 2 EXTEND(SP,2);
- 3 PUSHs(SvTIED_obj((SV*)av, mg));
- 4 PUSHs(val);
- 5 PUTBACK;
- 6 ENTER;
- 7 call_method("PUSH", G_SCALAR|G_DISCARD);
- 8 LEAVE;
-
-Let's examine the whole implementation, for practice:
-
- 1 PUSHMARK(SP);
-
-Push the current state of the stack pointer onto the mark stack. This is
-so that when we've finished adding items to the argument stack, Perl
-knows how many things we've added recently.
-
- 2 EXTEND(SP,2);
- 3 PUSHs(SvTIED_obj((SV*)av, mg));
- 4 PUSHs(val);
-
-We're going to add two more items onto the argument stack: when you have
-a tied array, the C<PUSH> subroutine receives the object and the value
-to be pushed, and that's exactly what we have here - the tied object,
-retrieved with C<SvTIED_obj>, and the value, the SV C<val>.
-
- 5 PUTBACK;
-
-Next we tell Perl to update the global stack pointer from our internal
-variable: C<dSP> only gave us a local copy, not a reference to the global.
-
- 6 ENTER;
- 7 call_method("PUSH", G_SCALAR|G_DISCARD);
- 8 LEAVE;
-
-C<ENTER> and C<LEAVE> localise a block of code - they make sure that all
-variables are tidied up, everything that has been localised gets
-its previous value returned, and so on. Think of them as the C<{> and
-C<}> of a Perl block.
-
-To actually do the magic method call, we have to call a subroutine in
-Perl space: C<call_method> takes care of that, and it's described in
-L<perlcall>. We call the C<PUSH> method in scalar context, and we're
-going to discard its return value. The call_method() function
-removes the top element of the mark stack, so there is nothing for
-the caller to clean up.
-
-=item Save stack
-
-C doesn't have a concept of local scope, so perl provides one. We've
-seen that C<ENTER> and C<LEAVE> are used as scoping braces; the save
-stack implements the C equivalent of, for example:
-
- {
- local $foo = 42;
- ...
- }
-
-See L<perlguts/Localising Changes> for how to use the save stack.
-
-=back
+=over 4
-=head2 Millions of Macros
+=item *
-One thing you'll notice about the Perl source is that it's full of
-macros. Some have called the pervasive use of macros the hardest thing
-to understand, others find it adds to clarity. Let's take an example,
-the code which implements the addition operator:
+8-wide tabs (no exceptions!)
- 1 PP(pp_add)
- 2 {
- 3 dSP; dATARGET; tryAMAGICbin(add,opASSIGN);
- 4 {
- 5 dPOPTOPnnrl_ul;
- 6 SETn( left + right );
- 7 RETURN;
- 8 }
- 9 }
+=item *
-Every line here (apart from the braces, of course) contains a macro. The
-first line sets up the function declaration as Perl expects for PP code;
-line 3 sets up variable declarations for the argument stack and the
-target, the return value of the operation. Finally, it tries to see if
-the addition operation is overloaded; if so, the appropriate subroutine
-is called.
+4-wide indents for code, 2-wide indents for nested CPP #defines
-Line 5 is another variable declaration - all variable declarations start
-with C<d> - which pops from the top of the argument stack two NVs (hence
-C<nn>) and puts them into the variables C<right> and C<left>, hence the
-C<rl>. These are the two operands to the addition operator. Next, we
-call C<SETn> to set the NV of the return value to the result of adding
-the two values. This done, we return - the C<RETURN> macro makes sure
-that our return value is properly handled, and we pass the next operator
-to run back to the main run loop.
+=item *
-Most of these macros are explained in L<perlapi>, and some of the more
-important ones are explained in L<perlxs> as well. Pay special attention
-to L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for information on
-the C<[pad]THX_?> macros.
+Try hard not to exceed 79-columns
-=head2 The .i Targets
+=item *
-You can expand the macros in a F<foo.c> file by saying
+ANSI C prototypes
- make foo.i
+=item *
-which will expand the macros using cpp. Don't be scared by the results.
+Uncuddled elses and "K&R" style for indenting control constructs
-=head1 SOURCE CODE STATIC ANALYSIS
+=item *
-Various tools exist for analysing C source code B<statically>, as
-opposed to B<dynamically>, that is, without executing the code.
-It is possible to detect resource leaks, undefined behaviour, type
-mismatches, portability problems, code paths that would cause illegal
-memory accesses, and other similar problems by just parsing the C code
-and looking at the resulting graph, what does it tell about the
-execution and data flows. As a matter of fact, this is exactly
-how C compilers know to give warnings about dubious code.
+No C++ style (//) comments
-=head2 lint, splint
+=item *
-The good old C code quality inspector, C<lint>, is available in
-several platforms, but please be aware that there are several
-different implementations of it by different vendors, which means that
-the flags are not identical across different platforms.
+Mark places that need to be revisited with XXX (and revisit often!)
-There is a lint variant called C<splint> (Secure Programming Lint)
-available from http://www.splint.org/ that should compile on any
-Unix-like platform.
+=item *
-There are C<lint> and <splint> targets in Makefile, but you may have
-to diddle with the flags (see above).
+Opening brace lines up with "if" when conditional spans multiple lines;
+should be at end-of-line otherwise
-=head2 Coverity
+=item *
-Coverity (http://www.coverity.com/) is a product similar to lint and
-as a testbed for their product they periodically check several open
-source projects, and they give out accounts to open source developers
-to the defect databases.
+In function definitions, name starts in column 0 (return value is on
+previous line)
-=head2 cpd (cut-and-paste detector)
+=item *
-The cpd tool detects cut-and-paste coding. If one instance of the
-cut-and-pasted code changes, all the other spots should probably be
-changed, too. Therefore such code should probably be turned into a
-subroutine or a macro.
+Single space after keywords that are followed by parens, no space
+between function name and following paren
-cpd (http://pmd.sourceforge.net/cpd.html) is part of the pmd project
-(http://pmd.sourceforge.net/). pmd was originally written for static
-analysis of Java code, but later the cpd part of it was extended to
-parse also C and C++.
+=item *
-Download the pmd-bin-X.Y.zip () from the SourceForge site, extract the
-pmd-X.Y.jar from it, and then run that on source code thusly:
+Avoid assignments in conditionals, but if they're unavoidable, use
+extra paren, e.g. "if (a && (b = c)) ..."
- java -cp pmd-X.Y.jar net.sourceforge.pmd.cpd.CPD --minimum-tokens 100 --files /some/where/src --language c > cpd.txt
+=item *
-You may run into memory limits, in which case you should use the -Xmx option:
+"return foo;" rather than "return(foo);"
- java -Xmx512M ...
+=item *
-=head2 gcc warnings
+"if (!foo) ..." rather than "if (foo == FALSE) ..." etc.
-Though much can be written about the inconsistency and coverage
-problems of gcc warnings (like C<-Wall> not meaning "all the
-warnings", or some common portability problems not being covered by
-C<-Wall>, or C<-ansi> and C<-pedantic> both being a poorly defined
-collection of warnings, and so forth), gcc is still a useful tool in
-keeping our coding nose clean.
+=back
-The C<-Wall> is by default on.
+=head3 Test suite
-The C<-ansi> (and its sidekick, C<-pedantic>) would be nice to be on
-always, but unfortunately they are not safe on all platforms, they can
-for example cause fatal conflicts with the system headers (Solaris
-being a prime example). If Configure C<-Dgccansipedantic> is used,
-the C<cflags> frontend selects C<-ansi -pedantic> for the platforms
-where they are known to be safe.
+If your patch changes code (rather than just changing documentation),
+you should also include one or more test cases which illustrate the bug
+you're fixing or validate the new functionality you're adding. In
+general, you should update an existing test file rather than create a
+new one.
-Starting from Perl 5.9.4 the following extra flags are added:
+Your test suite additions should generally follow these guidelines
+(courtesy of Gurusamy Sarathy <gsar@activestate.com>):
=over 4
=item *
-C<-Wendif-labels>
+Know what you're testing. Read the docs, and the source.
=item *
-C<-Wextra>
+Tend to fail, not succeed.
=item *
-C<-Wdeclaration-after-statement>
-
-=back
-
-The following flags would be nice to have but they would first need
-their own Augean stablemaster:
-
-=over 4
+Interpret results strictly.
=item *
-C<-Wpointer-arith>
+Use unrelated features (this will flush out bizarre interactions).
=item *
-C<-Wshadow>
+Use non-standard idioms (otherwise you are not testing TIMTOWTDI).
=item *
-C<-Wstrict-prototypes>
-
-=back
+Avoid using hardcoded test numbers whenever possible (the EXPECTED/GOT
+found in t/op/tie.t is much more maintainable, and gives better failure
+reports).
-The C<-Wtraditional> is another example of the annoying tendency of
-gcc to bundle a lot of warnings under one switch (it would be
-impossible to deploy in practice because it would complain a lot) but
-it does contain some warnings that would be beneficial to have available
-on their own, such as the warning about string constants inside macros
-containing the macro arguments: this behaved differently pre-ANSI
-than it does in ANSI, and some C compilers are still in transition,
-AIX being an example.
-
-=head2 Warnings of other C compilers
-
-Other C compilers (yes, there B<are> other C compilers than gcc) often
-have their "strict ANSI" or "strict ANSI with some portability extensions"
-modes on, like for example the Sun Workshop has its C<-Xa> mode on
-(though implicitly), or the DEC (these days, HP...) has its C<-std1>
-mode on.
+=item *
-=head2 DEBUGGING
+Give meaningful error messages when a test fails.
-You can compile a special debugging version of Perl, which allows you
-to use the C<-D> option of Perl to tell more about what Perl is doing.
-But sometimes there is no alternative than to dive in with a debugger,
-either to see the stack trace of a core dump (very useful in a bug
-report), or trying to figure out what went wrong before the core dump
-happened, or how did we end up having wrong or unexpected results.
+=item *
-=head2 Poking at Perl
+Avoid using qx// and system() unless you are testing for them. If you
+do use them, make sure that you cover _all_ perl platforms.
-To really poke around with Perl, you'll probably want to build Perl for
-debugging, like this:
+=item *
- ./Configure -d -D optimize=-g
- make
+Unlink any temporary files you create.
-C<-g> is a flag to the C compiler to have it produce debugging
-information which will allow us to step through a running program,
-and to see in which C function we are at (without the debugging
-information we might see only the numerical addresses of the functions,
-which is not very helpful).
+=item *
-F<Configure> will also turn on the C<DEBUGGING> compilation symbol which
-enables all the internal debugging code in Perl. There are a whole bunch
-of things you can debug with this: L<perlrun> lists them all, and the
-best way to find out about them is to play about with them. The most
-useful options are probably
+Promote unforeseen warnings to errors with $SIG{__WARN__}.
- l Context (loop) stack processing
- t Trace execution
- o Method and overloading resolution
- c String/numeric conversions
+=item *
-Some of the functionality of the debugging code can be achieved using XS
-modules.
+Be sure to use the libraries and modules shipped with the version being
+tested, not those that were already installed.
- -Dr => use re 'debug'
- -Dx => use O 'Debug'
+=item *
-=head2 Using a source-level debugger
+Add comments to the code explaining what you are testing for.
-If the debugging output of C<-D> doesn't help you, it's time to step
-through perl's execution with a source-level debugger.
+=item *
-=over 3
+Make updating the '1..42' string unnecessary. Or make sure that you
+update it.
=item *
-We'll use C<gdb> for our examples here; the principles will apply to
-any debugger (many vendors call their debugger C<dbx>), but check the
-manual of the one you're using.
+Test _all_ behaviors of a given operator, library, or function.
-=back
+Test all optional arguments.
-To fire up the debugger, type
+Test return values in various contexts (boolean, scalar, list, lvalue).
- gdb ./perl
+Use both global and lexical variables.
-Or if you have a core dump:
+Don't forget the exceptional, pathological cases.
- gdb ./perl core
+=back
-You'll want to do that in your Perl source tree so the debugger can read
-the source code. You should see the copyright message, followed by the
-prompt.
+=head2 Patching a core module
- (gdb)
+This works just like patching anything else, with one extra
+consideration.
-C<help> will get you into the documentation, but here are the most
-useful commands:
+Some core modules also live on CPAN and are maintained outside of the
+Perl core. When the author updates the module, the updates are simply
+copied into the core.
-=over 3
+Modules in the F<cpan/> directory of the source tree are maintained
+outside of the Perl core. See that module's listing on documentation or
+its listing on L<http://search.cpan.org/> for more information on
+reporting bugs and submitting patches.
-=item run [args]
+In contrast, modules in the F<dist/> directory are maintained in the
+core.
-Run the program with the given arguments.
+=head2 Updating perldelta
-=item break function_name
+For changes significant enough to warrant a F<pod/perldelta.pod> entry,
+the porters will greatly appreciate it if you submit a delta entry
+along with your actual change. Significant changes include, but are not
+limited to:
-=item break source.c:xxx
+=over 4
-Tells the debugger that we'll want to pause execution when we reach
-either the named function (but see L<perlguts/Internal Functions>!) or the given
-line in the named source file.
+=item *
-=item step
+Adding, deprecating, or removing core features
-Steps through the program a line at a time.
+=item *
-=item next
+Adding, deprecating, removing, or upgrading core or dual-life modules
-Steps through the program a line at a time, without descending into
-functions.
+=item *
-=item continue
+Adding new core tests
-Run until the next breakpoint.
+=item *
-=item finish
+Fixing security issues and user-visible bugs in the core
-Run until the end of the current function, then stop again.
+=item *
-=item 'enter'
+Changes that might break existing code, either on the perl or C level
-Just pressing Enter will do the most recent operation again - it's a
-blessing when stepping through miles of source code.
+=item *
-=item print
+Significant performance improvements
-Execute the given C code and print its results. B<WARNING>: Perl makes
-heavy use of macros, and F<gdb> does not necessarily support macros
-(see later L</"gdb macro support">). You'll have to substitute them
-yourself, or to invoke cpp on the source code files
-(see L</"The .i Targets">)
-So, for instance, you can't say
+=item *
- print SvPV_nolen(sv)
+Adding, removing, or significantly changing documentation in the
+F<pod/> directory
-but you have to say
+=item *
- print Perl_sv_2pv_nolen(sv)
+Important platform-specific changes
=back
-You may find it helpful to have a "macro dictionary", which you can
-produce by saying C<cpp -dM perl.c | sort>. Even then, F<cpp> won't
-recursively apply those macros for you.
-
-=head2 gdb macro support
-
-Recent versions of F<gdb> have fairly good macro support, but
-in order to use it you'll need to compile perl with macro definitions
-included in the debugging information. Using F<gcc> version 3.1, this
-means configuring with C<-Doptimize=-g3>. Other compilers might use a
-different switch (if they support debugging macros at all).
-
-=head2 Dumping Perl Data Structures
-
-One way to get around this macro hell is to use the dumping functions in
-F<dump.c>; these work a little like an internal
-L<Devel::Peek|Devel::Peek>, but they also cover OPs and other structures
-that you can't get at from Perl. Let's take an example. We'll use the
-C<$a = $b + $c> we used before, but give it a bit of context:
-C<$b = "6XXXX"; $c = 2.3;>. Where's a good place to stop and poke around?
-
-What about C<pp_add>, the function we examined earlier to implement the
-C<+> operator:
-
- (gdb) break Perl_pp_add
- Breakpoint 1 at 0x46249f: file pp_hot.c, line 309.
-
-Notice we use C<Perl_pp_add> and not C<pp_add> - see L<perlguts/Internal Functions>.
-With the breakpoint in place, we can run our program:
-
- (gdb) run -e '$b = "6XXXX"; $c = 2.3; $a = $b + $c'
-
-Lots of junk will go past as gdb reads in the relevant source files and
-libraries, and then:
-
- Breakpoint 1, Perl_pp_add () at pp_hot.c:309
- 309 dSP; dATARGET; tryAMAGICbin(add,opASSIGN);
- (gdb) step
- 311 dPOPTOPnnrl_ul;
- (gdb)
-
-We looked at this bit of code before, and we said that C<dPOPTOPnnrl_ul>
-arranges for two C<NV>s to be placed into C<left> and C<right> - let's
-slightly expand it:
-
- #define dPOPTOPnnrl_ul NV right = POPn; \
- SV *leftsv = TOPs; \
- NV left = USE_LEFT(leftsv) ? SvNV(leftsv) : 0.0
-
-C<POPn> takes the SV from the top of the stack and obtains its NV either
-directly (if C<SvNOK> is set) or by calling the C<sv_2nv> function.
-C<TOPs> takes the next SV from the top of the stack - yes, C<POPn> uses
-C<TOPs> - but doesn't remove it. We then use C<SvNV> to get the NV from
-C<leftsv> in the same way as before - yes, C<POPn> uses C<SvNV>.
-
-Since we don't have an NV for C<$b>, we'll have to use C<sv_2nv> to
-convert it. If we step again, we'll find ourselves there:
-
- Perl_sv_2nv (sv=0xa0675d0) at sv.c:1669
- 1669 if (!sv)
- (gdb)
-
-We can now use C<Perl_sv_dump> to investigate the SV:
-
- SV = PV(0xa057cc0) at 0xa0675d0
- REFCNT = 1
- FLAGS = (POK,pPOK)
- PV = 0xa06a510 "6XXXX"\0
- CUR = 5
- LEN = 6
- $1 = void
-
-We know we're going to get C<6> from this, so let's finish the
-subroutine:
-
- (gdb) finish
- Run till exit from #0 Perl_sv_2nv (sv=0xa0675d0) at sv.c:1671
- 0x462669 in Perl_pp_add () at pp_hot.c:311
- 311 dPOPTOPnnrl_ul;
-
-We can also dump out this op: the current op is always stored in
-C<PL_op>, and we can dump it with C<Perl_op_dump>. This'll give us
-similar output to L<B::Debug|B::Debug>.
-
- {
- 13 TYPE = add ===> 14
- TARG = 1
- FLAGS = (SCALAR,KIDS)
- {
- TYPE = null ===> (12)
- (was rv2sv)
- FLAGS = (SCALAR,KIDS)
- {
- 11 TYPE = gvsv ===> 12
- FLAGS = (SCALAR)
- GV = main::b
- }
- }
-
-# finish this later #
-
-=head2 Patching
-
-All right, we've now had a look at how to navigate the Perl sources and
-some things you'll need to know when fiddling with them. Let's now get
-on and create a simple patch. Here's something Larry suggested: if a
-C<U> is the first active format during a C<pack>, (for example,
-C<pack "U3C8", @stuff>) then the resulting string should be treated as
-UTF-8 encoded.
-
-If you are working with a git clone of the Perl repository, you will want to
-create a branch for your changes. This will make creating a proper patch much
-simpler. See the L<perlrepository> for details on how to do this.
-
-How do we prepare to fix this up? First we locate the code in question -
-the C<pack> happens at runtime, so it's going to be in one of the F<pp>
-files. Sure enough, C<pp_pack> is in F<pp.c>. Since we're going to be
-altering this file, let's copy it to F<pp.c~>.
-
-[Well, it was in F<pp.c> when this tutorial was written. It has now been
-split off with C<pp_unpack> to its own file, F<pp_pack.c>]
-
-Now let's look over C<pp_pack>: we take a pattern into C<pat>, and then
-loop over the pattern, taking each format character in turn into
-C<datum_type>. Then for each possible format character, we swallow up
-the other arguments in the pattern (a field width, an asterisk, and so
-on) and convert the next chunk input into the specified format, adding
-it onto the output SV C<cat>.
-
-How do we know if the C<U> is the first format in the C<pat>? Well, if
-we have a pointer to the start of C<pat> then, if we see a C<U> we can
-test whether we're still at the start of the string. So, here's where
-C<pat> is set up:
-
- STRLEN fromlen;
- register char *pat = SvPVx(*++MARK, fromlen);
- register char *patend = pat + fromlen;
- register I32 len;
- I32 datumtype;
- SV *fromstr;
-
-We'll have another string pointer in there:
-
- STRLEN fromlen;
- register char *pat = SvPVx(*++MARK, fromlen);
- register char *patend = pat + fromlen;
- + char *patcopy;
- register I32 len;
- I32 datumtype;
- SV *fromstr;
-
-And just before we start the loop, we'll set C<patcopy> to be the start
-of C<pat>:
-
- items = SP - MARK;
- MARK++;
- sv_setpvn(cat, "", 0);
- + patcopy = pat;
- while (pat < patend) {
-
-Now if we see a C<U> which was at the start of the string, we turn on
-the C<UTF8> flag for the output SV, C<cat>:
-
- + if (datumtype == 'U' && pat==patcopy+1)
- + SvUTF8_on(cat);
- if (datumtype == '#') {
- while (pat < patend && *pat != '\n')
- pat++;
-
-Remember that it has to be C<patcopy+1> because the first character of
-the string is the C<U> which has been swallowed into C<datumtype!>
-
-Oops, we forgot one thing: what if there are spaces at the start of the
-pattern? C<pack(" U*", @stuff)> will have C<U> as the first active
-character, even though it's not the first thing in the pattern. In this
-case, we have to advance C<patcopy> along with C<pat> when we see spaces:
-
- if (isSPACE(datumtype))
- continue;
-
-needs to become
-
- if (isSPACE(datumtype)) {
- patcopy++;
- continue;
- }
-
-OK. That's the C part done. Now we must do two additional things before
-this patch is ready to go: we've changed the behaviour of Perl, and so
-we must document that change. We must also provide some more regression
-tests to make sure our patch works and doesn't create a bug somewhere
-else along the line.
-
-The regression tests for each operator live in F<t/op/>, and so we
-make a copy of F<t/op/pack.t> to F<t/op/pack.t~>. Now we can add our
-tests to the end. First, we'll test that the C<U> does indeed create
-Unicode strings.
-
-t/op/pack.t has a sensible ok() function, but if it didn't we could
-use the one from t/test.pl.
-
- require './test.pl';
- plan( tests => 159 );
-
-so instead of this:
-
- print 'not ' unless "1.20.300.4000" eq sprintf "%vd",
- pack("U*",1,20,300,4000);
- print "ok $test\n"; $test++;
+Please make sure you add the perldelta entry to the right section
+within F<pod/perldelta.pod>. More information on how to write good
+perldelta entries is available in the C<Style> section of
+F<Porting/how_to_write_a_perldelta.pod>.
-we can write the more sensible (see L<Test::More> for a full
-explanation of is() and other testing functions).
+=head2 What makes for a good patch?
- is( "1.20.300.4000", sprintf "%vd", pack("U*",1,20,300,4000),
- "U* produces Unicode" );
+New features and extensions to the language can be contentious. There
+is no specific set of criteria which determine what features get added,
+but here are some questions to consider when developing a patch:
-Now we'll test that we got that space-at-the-beginning business right:
+=head3 Does the concept match the general goals of Perl?
- is( "1.20.300.4000", sprintf "%vd", pack(" U*",1,20,300,4000),
- " with spaces at the beginning" );
+Our goals include, but are not limited to:
-And finally we'll test that we don't make Unicode strings if C<U> is B<not>
-the first active format:
-
- isnt( v1.20.300.4000, sprintf "%vd", pack("C0U*",1,20,300,4000),
- "U* not first isn't Unicode" );
-
-Mustn't forget to change the number of tests which appears at the top,
-or else the automated tester will get confused. This will either look
-like this:
-
- print "1..156\n";
-
-or this:
+=over 4
- plan( tests => 156 );
+=item 1.
-We now compile up Perl, and run it through the test suite. Our new
-tests pass, hooray!
+Keep it fast, simple, and useful.
-Finally, the documentation. The job is never done until the paperwork is
-over, so let's describe the change we've just made. The relevant place
-is F<pod/perlfunc.pod>; again, we make a copy, and then we'll insert
-this text in the description of C<pack>:
+=item 2.
- =item *
+Keep features/concepts as orthogonal as possible.
- If the pattern begins with a C<U>, the resulting string will be treated
- as UTF-8-encoded Unicode. You can force UTF-8 encoding on in a string
- with an initial C<U0>, and the bytes that follow will be interpreted as
- Unicode characters. If you don't want this to happen, you can begin
- your pattern with C<C0> (or anything else) to force Perl not to UTF-8
- encode your string, and then follow this with a C<U*> somewhere in your
- pattern.
+=item 3.
-=head2 Patching a core module
+No arbitrary limits (platforms, data sizes, cultures).
-This works just like patching anything else, with an extra
-consideration. Many core modules also live on CPAN. If this is so,
-patch the CPAN version instead of the core and send the patch off to
-the module maintainer (with a copy to p5p). This will help the module
-maintainer keep the CPAN version in sync with the core version without
-constantly scanning p5p.
-
-The list of maintainers of core modules is usefully documented in
-F<Porting/Maintainers.pl>.
-
-=head2 Adding a new function to the core
-
-If, as part of a patch to fix a bug, or just because you have an
-especially good idea, you decide to add a new function to the core,
-discuss your ideas on p5p well before you start work. It may be that
-someone else has already attempted to do what you are considering and
-can give lots of good advice or even provide you with bits of code
-that they already started (but never finished).
-
-You have to follow all of the advice given above for patching. It is
-extremely important to test any addition thoroughly and add new tests
-to explore all boundary conditions that your new function is expected
-to handle. If your new function is used only by one module (e.g. toke),
-then it should probably be named S_your_function (for static); on the
-other hand, if you expect it to accessible from other functions in
-Perl, you should name it Perl_your_function. See L<perlguts/Internal Functions>
-for more details.
+=item 4.
-The location of any new code is also an important consideration. Don't
-just create a new top level .c file and put your code there; you would
-have to make changes to Configure (so the Makefile is created properly),
-as well as possibly lots of include files. This is strictly pumpking
-business.
+Keep it open and exciting to use/patch/advocate Perl everywhere.
-It is better to add your function to one of the existing top level
-source code files, but your choice is complicated by the nature of
-the Perl distribution. Only the files that are marked as compiled
-static are located in the perl executable. Everything else is located
-in the shared library (or DLL if you are running under WIN32). So,
-for example, if a function was only used by functions located in
-toke.c, then your code can go in toke.c. If, however, you want to call
-the function from universal.c, then you should put your code in another
-location, for example util.c.
+=item 5.
-In addition to writing your c-code, you will need to create an
-appropriate entry in embed.pl describing your function, then run
-'make regen_headers' to create the entries in the numerous header
-files that perl needs to compile correctly. See L<perlguts/Internal Functions>
-for information on the various options that you can set in embed.pl.
-You will forget to do this a few (or many) times and you will get
-warnings during the compilation phase. Make sure that you mention
-this when you post your patch to P5P; the pumpking needs to know this.
+Either assimilate new technologies, or build bridges to them.
-When you write your new code, please be conscious of existing code
-conventions used in the perl source files. See L<perlstyle> for
-details. Although most of the guidelines discussed seem to focus on
-Perl code, rather than c, they all apply (except when they don't ;).
-Also see L<perlrepository> for lots of details about both formatting and
-submitting patches of your changes.
+=back
-Lastly, TEST TEST TEST TEST TEST any code before posting to p5p.
-Test on as many platforms as you can find. Test as many perl
-Configure options as you can (e.g. MULTIPLICITY). If you have
-profiling or memory tools, see L<EXTERNAL TOOLS FOR DEBUGGING PERL>
-below for how to use them to further test your code. Remember that
-most of the people on P5P are doing this on their own time and
-don't have the time to debug your code.
+=head3 Where is the implementation?
-=head2 Writing a test
+All the talk in the world is useless without an implementation. In
+almost every case, the person or people who argue for a new feature
+will be expected to be the ones who implement it. Porters capable of
+coding new features have their own agendas, and are not available to
+implement your (possibly good) idea.
-Every module and built-in function has an associated test file (or
-should...). If you add or change functionality, you have to write a
-test. If you fix a bug, you have to write a test so that bug never
-comes back. If you alter the docs, it would be nice to test what the
-new documentation says.
+=head3 Backwards compatibility
-In short, if you submit a patch you probably also have to patch the
-tests.
+It's a cardinal sin to break existing Perl programs. New warnings can
+be contentious--some say that a program that emits warnings is not
+broken, while others say it is. Adding keywords has the potential to
+break programs, changing the meaning of existing token sequences or
+functions might break programs.
-For modules, the test file is right next to the module itself.
-F<lib/strict.t> tests F<lib/strict.pm>. This is a recent innovation,
-so there are some snags (and it would be wonderful for you to brush
-them out), but it basically works that way. Everything else lives in
-F<t/>.
+The Perl 5 core includes mechanisms to help porters make backwards
+incompatible changes more compatible such as the L<feature> and
+L<deprecate> modules. Please use them when appropriate.
-If you add a new test directory under F<t/>, it is imperative that you
-add that directory to F<t/HARNESS> and F<t/TEST>.
+=head3 Could it be a module instead?
-=over 3
+Perl 5 has extension mechanisms, modules and XS, specifically to avoid
+the need to keep changing the Perl interpreter. You can write modules
+that export functions, you can give those functions prototypes so they
+can be called like built-in functions, you can even write XS code to
+mess with the runtime data structures of the Perl interpreter if you
+want to implement really complicated things.
-=item F<t/base/>
+Whenever possible, new features should be prototyped in a CPAN module
+before they will be considered for the core.
-Testing of the absolute basic functionality of Perl. Things like
-C<if>, basic file reads and writes, simple regexes, etc. These are
-run first in the test suite and if any of them fail, something is
-I<really> broken.
+=head3 Is the feature generic enough?
-=item F<t/cmd/>
+Is this something that only the submitter wants added to the language,
+or is it broadly useful? Sometimes, instead of adding a feature with a
+tight focus, the porters might decide to wait until someone implements
+the more generalized feature.
-These test the basic control structures, C<if/else>, C<while>,
-subroutines, etc.
+=head3 Does it potentially introduce new bugs?
-=item F<t/comp/>
+Radical rewrites of large chunks of the Perl interpreter have the
+potential to introduce new bugs.
-Tests basic issues of how Perl parses and compiles itself.
+=head3 How big is it?
-=item F<t/io/>
+The smaller and more localized the change, the better. Similarly, a
+series of small patches is greatly preferred over a single large patch.
-Tests for built-in IO functions, including command line arguments.
+=head3 Does it preclude other desirable features?
-=item F<t/lib/>
+A patch is likely to be rejected if it closes off future avenues of
+development. For instance, a patch that placed a true and final
+interpretation on prototypes is likely to be rejected because there are
+still options for the future of prototypes that haven't been addressed.
-The old home for the module tests, you shouldn't put anything new in
-here. There are still some bits and pieces hanging around in here
-that need to be moved. Perhaps you could move them? Thanks!
+=head3 Is the implementation robust?
-=item F<t/mro/>
+Good patches (tight code, complete, correct) stand more chance of going
+in. Sloppy or incorrect patches might be placed on the back burner
+until the pumpking has time to fix, or might be discarded altogether
+without further notice.
-Tests for perl's method resolution order implementations
-(see L<mro>).
+=head3 Is the implementation generic enough to be portable?
-=item F<t/op/>
+The worst patches make use of system-specific features. It's highly
+unlikely that non-portable additions to the Perl language will be
+accepted.
-Tests for perl's built in functions that don't fit into any of the
-other directories.
+=head3 Is the implementation tested?
-=item F<t/re/>
+Patches which change behaviour (fixing bugs or introducing new
+features) must include regression tests to verify that everything works
+as expected.
-Tests for regex related functions or behaviour. (These used to live
-in t/op).
+Without tests provided by the original author, how can anyone else
+changing perl in the future be sure that they haven't unwittingly
+broken the behaviour the patch implements? And without tests, how can
+the patch's author be confident that his/her hard work put into the
+patch won't be accidentally thrown away by someone in the future?
-=item F<t/run/>
+=head3 Is there enough documentation?
-Testing features of how perl actually runs, including exit codes and
-handling of PERL* environment variables.
+Patches without documentation are probably ill-thought out or
+incomplete. No features can be added or changed without documentation,
+so submitting a patch for the appropriate pod docs as well as the
+source code is important.
-=item F<t/uni/>
+=head3 Is there another way to do it?
-Tests for the core support of Unicode.
+Larry said "Although the Perl Slogan is I<There's More Than One Way to
+Do It>, I hesitate to make 10 ways to do something". This is a tricky
+heuristic to navigate, though--one man's essential addition is another
+man's pointless cruft.
-=item F<t/win32/>
+=head3 Does it create too much work?
-Windows-specific tests.
+Work for the pumpking, work for Perl programmers, work for module
+authors, ... Perl is supposed to be easy.
-=item F<t/x2p>
+=head3 Patches speak louder than words
-A test suite for the s2p converter.
+Working code is always preferred to pie-in-the-sky ideas. A patch to
+add a feature stands a much higher chance of making it to the language
+than does a random feature request, no matter how fervently argued the
+request might be. This ties into "Will it be useful?", as the fact that
+someone took the time to make the patch demonstrates a strong desire
+for the feature.
-=back
+=head1 TESTING
The core uses the same testing style as the rest of Perl, a simple
"ok/not ok" run through Test::Harness, but there are a few special
considerations.
-There are three ways to write a test in the core. Test::More,
-t/test.pl and ad hoc C<print $test ? "ok 42\n" : "not ok 42\n">. The
+There are three ways to write a test in the core. L<Test::More>,
+F<t/test.pl> and ad hoc C<print $test ? "ok 42\n" : "not ok 42\n">. The
decision of which to use depends on what part of the test suite you're
-working on. This is a measure to prevent a high-level failure (such
-as Config.pm breaking) from causing basic functionality tests to fail.
+working on. This is a measure to prevent a high-level failure (such as
+Config.pm breaking) from causing basic functionality tests to fail.
+
+The F<t/test.pl> library provides some of the features of
+L<Test::More>, but avoids loading most modules and uses as few core
+features as possible.
+
If you write your own test, use the L<Test Anything Protocol|TAP>.
=over 4
-=item t/base t/comp
+=item * F<t/base> and F<t/comp>
Since we don't know if require works, or even subroutines, use ad hoc
-tests for these two. Step carefully to avoid using the feature being
+tests for these two. Step carefully to avoid using the feature being
tested.
-=item t/cmd t/run t/io t/op
+=item * F<t/cmd>, F<t/run>, F<t/io> and F<t/op>
Now that basic require() and subroutines are tested, you can use the
-t/test.pl library which emulates the important features of Test::More
-while using a minimum of core features.
+F<t/test.pl> library.
-You can also conditionally use certain libraries like Config, but be
+You can also use certain libraries like Config conditionally, but be
sure to skip the test gracefully if it's not there.
-=item t/lib ext lib
+=item * Everything else
-Now that the core of Perl is tested, Test::More can be used. You can
-also use the full suite of core modules in the tests.
+Now that the core of Perl is tested, L<Test::More> can and should be
+used. You can also use the full suite of core modules in the tests.
=back
-When you say "make test" Perl uses the F<t/TEST> program to run the
-test suite (except under Win32 where it uses F<t/harness> instead.)
-All tests are run from the F<t/> directory, B<not> the directory
-which contains the test. This causes some problems with the tests
-in F<lib/>, so here's some opportunity for some patching.
+When you say "make test", Perl uses the F<t/TEST> program to run the
+test suite (except under Win32 where it uses F<t/harness> instead). All
+tests are run from the F<t/> directory, B<not> the directory which
+contains the test. This causes some problems with the tests in F<lib/>,
+so here's some opportunity for some patching.
-You must be triply conscious of cross-platform concerns. This usually
-boils down to using File::Spec and avoiding things like C<fork()> and
-C<system()> unless absolutely necessary.
+You must be triply conscious of cross-platform concerns. This usually
+boils down to using L<File::Spec> and avoiding things like C<fork()>
+and C<system()> unless absolutely necessary.
-=head2 Special Make Test Targets
+=head2 Special C<make test> targets
There are various special make targets that can be used to test Perl
-slightly differently than the standard "test" target. Not all them
-are expected to give a 100% success rate. Many of them have several
+slightly differently than the standard "test" target. Not all them are
+expected to give a 100% success rate. Many of them have several
aliases, and many of them are not available on certain operating
systems.
=over 4
-=item coretest
+=item * test_porting
+
+This runs some basic sanity tests on the source tree and helps catch
+basic errors before you submit a patch.
+
+=item * coretest
Run F<perl> on all core tests (F<t/*> and F<lib/[a-z]*> pragma tests).
(Not available on Win32)
-=item test.deparse
+=item * test.deparse
-Run all the tests through B::Deparse. Not all tests will succeed.
+Run all the tests through L<B::Deparse>. Not all tests will succeed.
(Not available on Win32)
-=item test.taintwarn
+=item * test.taintwarn
-Run all tests with the B<-t> command-line switch. Not all tests
-are expected to succeed (until they're specifically fixed, of course).
+Run all tests with the B<-t> command-line switch. Not all tests are
+expected to succeed (until they're specifically fixed, of course).
(Not available on Win32)
-=item minitest
+=item * minitest
Run F<miniperl> on F<t/base>, F<t/comp>, F<t/cmd>, F<t/run>, F<t/io>,
F<t/op>, F<t/uni> and F<t/mro> tests.
-=item test.valgrind check.valgrind utest.valgrind ucheck.valgrind
+=item * test.valgrind check.valgrind utest.valgrind ucheck.valgrind
(Only in Linux) Run all the tests using the memory leak + naughty
-memory access tool "valgrind". The log files will be named
+memory access tool "valgrind". The log files will be named
F<testname.valgrind>.
-=item test.third check.third utest.third ucheck.third
-
-(Only in Tru64) Run all the tests using the memory leak + naughty
-memory access tool "Third Degree". The log files will be named
-F<perl.3log.testname>.
-
-=item test.torture torturetest
+=item * test.torture torturetest
-Run all the usual tests and some extra tests. As of Perl 5.8.0 the
-only extra tests are Abigail's JAPHs, F<t/japh/abigail.t>.
+Run all the usual tests and some extra tests. As of Perl 5.8.0, the only
+extra tests are Abigail's JAPHs, F<t/japh/abigail.t>.
You can also run the torture test with F<t/harness> by giving
C<-torture> argument to F<t/harness>.
-=item utest ucheck test.utf8 check.utf8
+=item * utest ucheck test.utf8 check.utf8
-Run all the tests with -Mutf8. Not all tests will succeed.
+Run all the tests with -Mutf8. Not all tests will succeed.
(Not available on Win32)
-=item minitest.utf16 test.utf16
+=item * minitest.utf16 test.utf16
Runs the tests with UTF-16 encoded scripts, encoded with different
versions of this encoding.
-C<make utest.utf16> runs the test suite with a combination of C<-utf8> and
-C<-utf16> arguments to F<t/TEST>.
+C<make utest.utf16> runs the test suite with a combination of C<-utf8>
+and C<-utf16> arguments to F<t/TEST>.
(Not available on Win32)
-=item test_harness
+=item * test_harness
-Run the test suite with the F<t/harness> controlling program, instead of
-F<t/TEST>. F<t/harness> is more sophisticated, and uses the
+Run the test suite with the F<t/harness> controlling program, instead
+of F<t/TEST>. F<t/harness> is more sophisticated, and uses the
L<Test::Harness> module, thus using this test target supposes that perl
mostly works. The main advantage for our purposes is that it prints a
detailed summary of failed tests at the end. Also, unlike F<t/TEST>, it
doesn't redirect stderr to stdout.
-Note that under Win32 F<t/harness> is always used instead of F<t/TEST>, so
-there is no special "test_harness" target.
+Note that under Win32 F<t/harness> is always used instead of F<t/TEST>,
+so there is no special "test_harness" target.
-Under Win32's "test" target you may use the TEST_SWITCHES and TEST_FILES
-environment variables to control the behaviour of F<t/harness>. This means
-you can say
+Under Win32's "test" target you may use the TEST_SWITCHES and
+TEST_FILES environment variables to control the behaviour of
+F<t/harness>. This means you can say
nmake test TEST_FILES="op/*.t"
nmake test TEST_SWITCHES="-torture" TEST_FILES="op/*.t"
-=item Parallel tests
+=item * test-notty test_notty
+
+Sets PERL_SKIP_TTY_TEST to true before running normal test.
+
+=back
+
+=head2 Parallel tests
The core distribution can now run its regression tests in parallel on
-Unix-like platforms. Instead of running C<make test>, set C<TEST_JOBS> in
-your environment to the number of tests to run in parallel, and run
+Unix-like platforms. Instead of running C<make test>, set C<TEST_JOBS>
+in your environment to the number of tests to run in parallel, and run
C<make test_harness>. On a Bourne-like shell, this can be done as
TEST_JOBS=3 make test_harness # Run 3 tests in parallel
-An environment variable is used, rather than parallel make itself, because
-L<TAP::Harness> needs to be able to schedule individual non-conflicting test
-scripts itself, and there is no standard interface to C<make> utilities to
-interact with their job schedulers.
+An environment variable is used, rather than parallel make itself,
+because L<TAP::Harness> needs to be able to schedule individual
+non-conflicting test scripts itself, and there is no standard interface
+to C<make> utilities to interact with their job schedulers.
Note that currently some test scripts may fail when run in parallel (most
-notably C<ext/IO/t/io_dir.t>). If necessary run just the failing scripts
+notably C<ext/IO/t/io_dir.t>). If necessary, run just the failing scripts
again sequentially and see if the failures go away.
-=item test-notty test_notty
-
-Sets PERL_SKIP_TTY_TEST to true before running normal test.
-
-=back
=head2 Running tests by hand
-You can run part of the test suite by hand by using one the following
-commands from the F<t/> directory :
+You can run part of the test suite by hand by using one of the following
+commands from the F<t/> directory:
./perl -I../lib TEST list-of-.t-files
@@ -1995,71 +842,73 @@ or
./perl -I../lib harness list-of-.t-files
-(if you don't specify test scripts, the whole test suite will be run.)
+(If you don't specify test scripts, the whole test suite will be run.)
-=head3 Using t/harness for testing
+=head2 Using F<t/harness> for testing
-If you use C<harness> for testing you have several command line options
+If you use C<harness> for testing, you have several command line options
available to you. The arguments are as follows, and are in the order
that they must appear if used together.
harness -v -torture -re=pattern LIST OF FILES TO TEST
harness -v -torture -re LIST OF PATTERNS TO MATCH
-If C<LIST OF FILES TO TEST> is omitted the file list is obtained from
+If C<LIST OF FILES TO TEST> is omitted, the file list is obtained from
the manifest. The file list may include shell wildcards which will be
expanded out.
=over 4
-=item -v
+=item * -v
Run the tests under verbose mode so you can see what tests were run,
and debug output.
-=item -torture
+=item * -torture
Run the torture tests as well as the normal set.
-=item -re=PATTERN
+=item * -re=PATTERN
-Filter the file list so that all the test files run match PATTERN.
-Note that this form is distinct from the B<-re LIST OF PATTERNS> form below
+Filter the file list so that all the test files run match PATTERN. Note
+that this form is distinct from the B<-re LIST OF PATTERNS> form below
in that it allows the file list to be provided as well.
-=item -re LIST OF PATTERNS
+=item * -re LIST OF PATTERNS
Filter the file list so that all the test files run match
-/(LIST|OF|PATTERNS)/. Note that with this form the patterns
-are joined by '|' and you cannot supply a list of files, instead
-the test files are obtained from the MANIFEST.
+/(LIST|OF|PATTERNS)/. Note that with this form the patterns are joined
+by '|' and you cannot supply a list of files, instead the test files
+are obtained from the MANIFEST.
=back
You can run an individual test by a command similar to
- ./perl -I../lib patho/to/foo.t
+ ./perl -I../lib path/to/foo.t
except that the harnesses set up some environment variables that may
-affect the execution of the test :
+affect the execution of the test:
=over 4
-=item PERL_CORE=1
+=item * PERL_CORE=1
-indicates that we're running this test part of the perl core test suite.
-This is useful for modules that have a dual life on CPAN.
+indicates that we're running this test as part of the perl core test
+suite. This is useful for modules that have a dual life on CPAN.
-=item PERL_DESTRUCT_LEVEL=2
+=item * PERL_DESTRUCT_LEVEL=2
-is set to 2 if it isn't set already (see L</PERL_DESTRUCT_LEVEL>)
+is set to 2 if it isn't set already (see
+L<perlhacktips/PERL_DESTRUCT_LEVEL>).
-=item PERL
+=item * PERL
-(used only by F<t/TEST>) if set, overrides the path to the perl executable
-that should be used to run the tests (the default being F<./perl>).
+(used only by F<t/TEST>) if set, overrides the path to the perl
+executable that should be used to run the tests (the default being
+F<./perl>).
-=item PERL_SKIP_TTY_TEST
+=item * PERL_SKIP_TTY_TEST
if set, tells to skip the tests that need a terminal. It's actually set
automatically by the Makefile, but can also be forced artificially by
@@ -2071,1331 +920,211 @@ running 'make test_notty'.
=over 4
-=item PERL_TEST_Net_Ping
+=item * PERL_TEST_Net_Ping
-Setting this variable runs all the Net::Ping modules tests,
-otherwise some tests that interact with the outside world are skipped.
-See L<perl58delta>.
+Setting this variable runs all the Net::Ping modules tests, otherwise
+some tests that interact with the outside world are skipped. See
+L<perl58delta>.
-=item PERL_TEST_NOVREXX
+=item * PERL_TEST_NOVREXX
Setting this variable skips the vrexx.t tests for OS2::REXX.
-=item PERL_TEST_NUMCONVERTS
+=item * PERL_TEST_NUMCONVERTS
This sets a variable in op/numconvert.t.
=back
-See also the documentation for the Test and Test::Harness modules,
-for more environment variables that affect testing.
-
-=head2 Common problems when patching Perl source code
-
-Perl source plays by ANSI C89 rules: no C99 (or C++) extensions. In
-some cases we have to take pre-ANSI requirements into consideration.
-You don't care about some particular platform having broken Perl?
-I hear there is still a strong demand for J2EE programmers.
-
-=head2 Perl environment problems
-
-=over 4
-
-=item *
-
-Not compiling with threading
-
-Compiling with threading (-Duseithreads) completely rewrites
-the function prototypes of Perl. You better try your changes
-with that. Related to this is the difference between "Perl_-less"
-and "Perl_-ly" APIs, for example:
-
- Perl_sv_setiv(aTHX_ ...);
- sv_setiv(...);
-
-The first one explicitly passes in the context, which is needed for e.g.
-threaded builds. The second one does that implicitly; do not get them
-mixed. If you are not passing in a aTHX_, you will need to do a dTHX
-(or a dVAR) as the first thing in the function.
-
-See L<perlguts/"How multiple interpreters and concurrency are supported">
-for further discussion about context.
-
-=item *
-
-Not compiling with -DDEBUGGING
-
-The DEBUGGING define exposes more code to the compiler,
-therefore more ways for things to go wrong. You should try it.
-
-=item *
-
-Introducing (non-read-only) globals
-
-Do not introduce any modifiable globals, truly global or file static.
-They are bad form and complicate multithreading and other forms of
-concurrency. The right way is to introduce them as new interpreter
-variables, see F<intrpvar.h> (at the very end for binary compatibility).
-
-Introducing read-only (const) globals is okay, as long as you verify
-with e.g. C<nm libperl.a|egrep -v ' [TURtr] '> (if your C<nm> has
-BSD-style output) that the data you added really is read-only.
-(If it is, it shouldn't show up in the output of that command.)
-
-If you want to have static strings, make them constant:
-
- static const char etc[] = "...";
-
-If you want to have arrays of constant strings, note carefully
-the right combination of C<const>s:
-
- static const char * const yippee[] =
- {"hi", "ho", "silver"};
-
-There is a way to completely hide any modifiable globals (they are all
-moved to heap), the compilation setting C<-DPERL_GLOBAL_STRUCT_PRIVATE>.
-It is not normally used, but can be used for testing, read more
-about it in L<perlguts/"Background and PERL_IMPLICIT_CONTEXT">.
-
-=item *
-
-Not exporting your new function
-
-Some platforms (Win32, AIX, VMS, OS/2, to name a few) require any
-function that is part of the public API (the shared Perl library)
-to be explicitly marked as exported. See the discussion about
-F<embed.pl> in L<perlguts>.
-
-=item *
-
-Exporting your new function
-
-The new shiny result of either genuine new functionality or your
-arduous refactoring is now ready and correctly exported. So what
-could possibly go wrong?
-
-Maybe simply that your function did not need to be exported in the
-first place. Perl has a long and not so glorious history of exporting
-functions that it should not have.
-
-If the function is used only inside one source code file, make it
-static. See the discussion about F<embed.pl> in L<perlguts>.
-
-If the function is used across several files, but intended only for
-Perl's internal use (and this should be the common case), do not
-export it to the public API. See the discussion about F<embed.pl>
-in L<perlguts>.
-
-=back
-
-=head2 Portability problems
-
-The following are common causes of compilation and/or execution
-failures, not common to Perl as such. The C FAQ is good bedtime
-reading. Please test your changes with as many C compilers and
-platforms as possible; we will, anyway, and it's nice to save
-oneself from public embarrassment.
-
-If using gcc, you can add the C<-std=c89> option which will hopefully
-catch most of these unportabilities. (However it might also catch
-incompatibilities in your system's header files.)
-
-Use the Configure C<-Dgccansipedantic> flag to enable the gcc
-C<-ansi -pedantic> flags which enforce stricter ANSI rules.
-
-If using the C<gcc -Wall> note that not all the possible warnings
-(like C<-Wunitialized>) are given unless you also compile with C<-O>.
-
-Note that if using gcc, starting from Perl 5.9.5 the Perl core source
-code files (the ones at the top level of the source code distribution,
-but not e.g. the extensions under ext/) are automatically compiled
-with as many as possible of the C<-std=c89>, C<-ansi>, C<-pedantic>,
-and a selection of C<-W> flags (see cflags.SH).
-
-Also study L<perlport> carefully to avoid any bad assumptions
-about the operating system, filesystems, and so forth.
-
-You may once in a while try a "make microperl" to see whether we
-can still compile Perl with just the bare minimum of interfaces.
-(See README.micro.)
-
-Do not assume an operating system indicates a certain compiler.
-
-=over 4
-
-=item *
-
-Casting pointers to integers or casting integers to pointers
-
- void castaway(U8* p)
- {
- IV i = p;
-
-or
-
- void castaway(U8* p)
- {
- IV i = (IV)p;
-
-Both are bad, and broken, and unportable. Use the PTR2IV()
-macro that does it right. (Likewise, there are PTR2UV(), PTR2NV(),
-INT2PTR(), and NUM2PTR().)
-
-=item *
-
-Casting between data function pointers and data pointers
-
-Technically speaking casting between function pointers and data
-pointers is unportable and undefined, but practically speaking
-it seems to work, but you should use the FPTR2DPTR() and DPTR2FPTR()
-macros. Sometimes you can also play games with unions.
-
-=item *
-
-Assuming sizeof(int) == sizeof(long)
-
-There are platforms where longs are 64 bits, and platforms where ints
-are 64 bits, and while we are out to shock you, even platforms where
-shorts are 64 bits. This is all legal according to the C standard.
-(In other words, "long long" is not a portable way to specify 64 bits,
-and "long long" is not even guaranteed to be any wider than "long".)
-
-Instead, use the definitions IV, UV, IVSIZE, I32SIZE, and so forth.
-Avoid things like I32 because they are B<not> guaranteed to be
-I<exactly> 32 bits, they are I<at least> 32 bits, nor are they
-guaranteed to be B<int> or B<long>. If you really explicitly need
-64-bit variables, use I64 and U64, but only if guarded by HAS_QUAD.
-
-=item *
-
-Assuming one can dereference any type of pointer for any type of data
-
- char *p = ...;
- long pony = *p; /* BAD */
-
-Many platforms, quite rightly so, will give you a core dump instead
-of a pony if the p happens not be correctly aligned.
-
-=item *
-
-Lvalue casts
-
- (int)*p = ...; /* BAD */
-
-Simply not portable. Get your lvalue to be of the right type,
-or maybe use temporary variables, or dirty tricks with unions.
-
-=item *
-
-Assume B<anything> about structs (especially the ones you
-don't control, like the ones coming from the system headers)
-
-=over 8
-
-=item *
-
-That a certain field exists in a struct
-
-=item *
-
-That no other fields exist besides the ones you know of
-
-=item *
-
-That a field is of certain signedness, sizeof, or type
-
-=item *
-
-That the fields are in a certain order
-
-=over 8
-
-=item *
-
-While C guarantees the ordering specified in the struct definition,
-between different platforms the definitions might differ
-
-=back
-
-=item *
-
-That the sizeof(struct) or the alignments are the same everywhere
-
-=over 8
-
-=item *
-
-There might be padding bytes between the fields to align the fields -
-the bytes can be anything
-
-=item *
-
-Structs are required to be aligned to the maximum alignment required
-by the fields - which for native types is for usually equivalent to
-sizeof() of the field
-
-=back
-
-=back
-
-=item *
-
-Assuming the character set is ASCIIish
-
-Perl can compile and run under EBCDIC platforms. See L<perlebcdic>.
-This is transparent for the most part, but because the character sets
-differ, you shouldn't use numeric (decimal, octal, nor hex) constants
-to refer to characters. You can safely say 'A', but not 0x41.
-You can safely say '\n', but not \012.
-If a character doesn't have a trivial input form, you can
-create a #define for it in both C<utfebcdic.h> and C<utf8.h>, so that
-it resolves to different values depending on the character set being used.
-(There are three different EBCDIC character sets defined in C<utfebcdic.h>,
-so it might be best to insert the #define three times in that file.)
-
-Also, the range 'A' - 'Z' in ASCII is an unbroken sequence of 26 upper case
-alphabetic characters. That is not true in EBCDIC. Nor for 'a' to 'z'.
-But '0' - '9' is an unbroken range in both systems. Don't assume anything
-about other ranges.
-
-Many of the comments in the existing code ignore the possibility of EBCDIC,
-and may be wrong therefore, even if the code works.
-This is actually a tribute to the successful transparent insertion of being
-able to handle EBCDIC without having to change pre-existing code.
-
-UTF-8 and UTF-EBCDIC are two different encodings used to represent Unicode
-code points as sequences of bytes. Macros
-with the same names (but different definitions)
-in C<utf8.h> and C<utfebcdic.h>
-are used to allow the calling code to think that there is only one such
-encoding.
-This is almost always referred to as C<utf8>, but it means the EBCDIC version
-as well. Again, comments in the code may well be wrong even if the code itself
-is right.
-For example, the concept of C<invariant characters> differs between ASCII and
-EBCDIC.
-On ASCII platforms, only characters that do not have the high-order
-bit set (i.e. whose ordinals are strict ASCII, 0 - 127)
-are invariant, and the documentation and comments in the code
-may assume that,
-often referring to something like, say, C<hibit>.
-The situation differs and is not so simple on EBCDIC machines, but as long as
-the code itself uses the C<NATIVE_IS_INVARIANT()> macro appropriately, it
-works, even if the comments are wrong.
-
-=item *
-
-Assuming the character set is just ASCII
-
-ASCII is a 7 bit encoding, but bytes have 8 bits in them. The 128 extra
-characters have different meanings depending on the locale. Absent a locale,
-currently these extra characters are generally considered to be unassigned,
-and this has presented some problems.
-This is being changed starting in 5.12 so that these characters will
-be considered to be Latin-1 (ISO-8859-1).
-
-=item *
-
-Mixing #define and #ifdef
-
- #define BURGLE(x) ... \
- #ifdef BURGLE_OLD_STYLE /* BAD */
- ... do it the old way ... \
- #else
- ... do it the new way ... \
- #endif
-
-You cannot portably "stack" cpp directives. For example in the above
-you need two separate BURGLE() #defines, one for each #ifdef branch.
-
-=item *
-
-Adding non-comment stuff after #endif or #else
-
- #ifdef SNOSH
- ...
- #else !SNOSH /* BAD */
- ...
- #endif SNOSH /* BAD */
-
-The #endif and #else cannot portably have anything non-comment after
-them. If you want to document what is going (which is a good idea
-especially if the branches are long), use (C) comments:
-
- #ifdef SNOSH
- ...
- #else /* !SNOSH */
- ...
- #endif /* SNOSH */
-
-The gcc option C<-Wendif-labels> warns about the bad variant
-(by default on starting from Perl 5.9.4).
-
-=item *
-
-Having a comma after the last element of an enum list
-
- enum color {
- CERULEAN,
- CHARTREUSE,
- CINNABAR, /* BAD */
- };
-
-is not portable. Leave out the last comma.
-
-Also note that whether enums are implicitly morphable to ints
-varies between compilers, you might need to (int).
-
-=item *
-
-Using //-comments
-
- // This function bamfoodles the zorklator. /* BAD */
-
-That is C99 or C++. Perl is C89. Using the //-comments is silently
-allowed by many C compilers but cranking up the ANSI C89 strictness
-(which we like to do) causes the compilation to fail.
-
-=item *
-
-Mixing declarations and code
-
- void zorklator()
- {
- int n = 3;
- set_zorkmids(n); /* BAD */
- int q = 4;
-
-That is C99 or C++. Some C compilers allow that, but you shouldn't.
-
-The gcc option C<-Wdeclaration-after-statements> scans for such problems
-(by default on starting from Perl 5.9.4).
-
-=item *
-
-Introducing variables inside for()
-
- for(int i = ...; ...; ...) { /* BAD */
-
-That is C99 or C++. While it would indeed be awfully nice to have that
-also in C89, to limit the scope of the loop variable, alas, we cannot.
-
-=item *
-
-Mixing signed char pointers with unsigned char pointers
-
- int foo(char *s) { ... }
- ...
- unsigned char *t = ...; /* Or U8* t = ... */
- foo(t); /* BAD */
-
-While this is legal practice, it is certainly dubious, and downright
-fatal in at least one platform: for example VMS cc considers this a
-fatal error. One cause for people often making this mistake is that a
-"naked char" and therefore dereferencing a "naked char pointer" have
-an undefined signedness: it depends on the compiler and the flags of
-the compiler and the underlying platform whether the result is signed
-or unsigned. For this very same reason using a 'char' as an array
-index is bad.
-
-=item *
-
-Macros that have string constants and their arguments as substrings of
-the string constants
-
- #define FOO(n) printf("number = %d\n", n) /* BAD */
- FOO(10);
-
-Pre-ANSI semantics for that was equivalent to
-
- printf("10umber = %d\10");
-
-which is probably not what you were expecting. Unfortunately at least
-one reasonably common and modern C compiler does "real backward
-compatibility" here, in AIX that is what still happens even though the
-rest of the AIX compiler is very happily C89.
-
-=item *
-
-Using printf formats for non-basic C types
-
- IV i = ...;
- printf("i = %d\n", i); /* BAD */
-
-While this might by accident work in some platform (where IV happens
-to be an C<int>), in general it cannot. IV might be something larger.
-Even worse the situation is with more specific types (defined by Perl's
-configuration step in F<config.h>):
-
- Uid_t who = ...;
- printf("who = %d\n", who); /* BAD */
-
-The problem here is that Uid_t might be not only not C<int>-wide
-but it might also be unsigned, in which case large uids would be
-printed as negative values.
-
-There is no simple solution to this because of printf()'s limited
-intelligence, but for many types the right format is available as
-with either 'f' or '_f' suffix, for example:
-
- IVdf /* IV in decimal */
- UVxf /* UV is hexadecimal */
-
- printf("i = %"IVdf"\n", i); /* The IVdf is a string constant. */
-
- Uid_t_f /* Uid_t in decimal */
-
- printf("who = %"Uid_t_f"\n", who);
-
-Or you can try casting to a "wide enough" type:
-
- printf("i = %"IVdf"\n", (IV)something_very_small_and_signed);
-
-Also remember that the C<%p> format really does require a void pointer:
-
- U8* p = ...;
- printf("p = %p\n", (void*)p);
-
-The gcc option C<-Wformat> scans for such problems.
-
-=item *
-
-Blindly using variadic macros
-
-gcc has had them for a while with its own syntax, and C99 brought
-them with a standardized syntax. Don't use the former, and use
-the latter only if the HAS_C99_VARIADIC_MACROS is defined.
-
-=item *
-
-Blindly passing va_list
-
-Not all platforms support passing va_list to further varargs (stdarg)
-functions. The right thing to do is to copy the va_list using the
-Perl_va_copy() if the NEED_VA_COPY is defined.
-
-=item *
-
-Using gcc statement expressions
-
- val = ({...;...;...}); /* BAD */
-
-While a nice extension, it's not portable. The Perl code does
-admittedly use them if available to gain some extra speed
-(essentially as a funky form of inlining), but you shouldn't.
-
-=item *
-
-Binding together several statements in a macro
-
-Use the macros STMT_START and STMT_END.
-
- STMT_START {
- ...
- } STMT_END
-
-=item *
-
-Testing for operating systems or versions when should be testing for features
-
- #ifdef __FOONIX__ /* BAD */
- foo = quux();
- #endif
-
-Unless you know with 100% certainty that quux() is only ever available
-for the "Foonix" operating system B<and> that is available B<and>
-correctly working for B<all> past, present, B<and> future versions of
-"Foonix", the above is very wrong. This is more correct (though still
-not perfect, because the below is a compile-time check):
-
- #ifdef HAS_QUUX
- foo = quux();
- #endif
-
-How does the HAS_QUUX become defined where it needs to be? Well, if
-Foonix happens to be Unixy enough to be able to run the Configure
-script, and Configure has been taught about detecting and testing
-quux(), the HAS_QUUX will be correctly defined. In other platforms,
-the corresponding configuration step will hopefully do the same.
-
-In a pinch, if you cannot wait for Configure to be educated,
-or if you have a good hunch of where quux() might be available,
-you can temporarily try the following:
-
- #if (defined(__FOONIX__) || defined(__BARNIX__))
- # define HAS_QUUX
- #endif
-
- ...
-
- #ifdef HAS_QUUX
- foo = quux();
- #endif
-
-But in any case, try to keep the features and operating systems separate.
-
-=back
-
-=head2 Problematic System Interfaces
-
-=over 4
-
-=item *
-
-malloc(0), realloc(0), calloc(0, 0) are non-portable. To be portable
-allocate at least one byte. (In general you should rarely need to
-work at this low level, but instead use the various malloc wrappers.)
-
-=item *
-
-snprintf() - the return type is unportable. Use my_snprintf() instead.
-
-=back
-
-=head2 Security problems
-
-Last but not least, here are various tips for safer coding.
-
-=over 4
-
-=item *
-
-Do not use gets()
-
-Or we will publicly ridicule you. Seriously.
-
-=item *
-
-Do not use strcpy() or strcat() or strncpy() or strncat()
-
-Use my_strlcpy() and my_strlcat() instead: they either use the native
-implementation, or Perl's own implementation (borrowed from the public
-domain implementation of INN).
-
-=item *
-
-Do not use sprintf() or vsprintf()
-
-If you really want just plain byte strings, use my_snprintf()
-and my_vsnprintf() instead, which will try to use snprintf() and
-vsnprintf() if those safer APIs are available. If you want something
-fancier than a plain byte string, use SVs and Perl_sv_catpvf().
-
-=back
-
-=head1 EXTERNAL TOOLS FOR DEBUGGING PERL
-
-Sometimes it helps to use external tools while debugging and
-testing Perl. This section tries to guide you through using
-some common testing and debugging tools with Perl. This is
-meant as a guide to interfacing these tools with Perl, not
-as any kind of guide to the use of the tools themselves.
-
-B<NOTE 1>: Running under memory debuggers such as Purify, valgrind, or
-Third Degree greatly slows down the execution: seconds become minutes,
-minutes become hours. For example as of Perl 5.8.1, the
-ext/Encode/t/Unicode.t takes extraordinarily long to complete under
-e.g. Purify, Third Degree, and valgrind. Under valgrind it takes more
-than six hours, even on a snappy computer. The said test must be
-doing something that is quite unfriendly for memory debuggers. If you
-don't feel like waiting, that you can simply kill away the perl
-process.
-
-B<NOTE 2>: To minimize the number of memory leak false alarms (see
-L</PERL_DESTRUCT_LEVEL> for more information), you have to set the
-environment variable PERL_DESTRUCT_LEVEL to 2.
-
-For csh-like shells:
-
- setenv PERL_DESTRUCT_LEVEL 2
-
-For Bourne-type shells:
-
- PERL_DESTRUCT_LEVEL=2
- export PERL_DESTRUCT_LEVEL
-
-In Unixy environments you can also use the C<env> command:
-
- env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib ...
-
-B<NOTE 3>: There are known memory leaks when there are compile-time
-errors within eval or require, seeing C<S_doeval> in the call stack
-is a good sign of these. Fixing these leaks is non-trivial,
-unfortunately, but they must be fixed eventually.
-
-B<NOTE 4>: L<DynaLoader> will not clean up after itself completely
-unless Perl is built with the Configure option
-C<-Accflags=-DDL_UNLOAD_ALL_AT_EXIT>.
-
-=head2 Rational Software's Purify
-
-Purify is a commercial tool that is helpful in identifying
-memory overruns, wild pointers, memory leaks and other such
-badness. Perl must be compiled in a specific way for
-optimal testing with Purify. Purify is available under
-Windows NT, Solaris, HP-UX, SGI, and Siemens Unix.
-
-=head2 Purify on Unix
-
-On Unix, Purify creates a new Perl binary. To get the most
-benefit out of Purify, you should create the perl to Purify
-using:
-
- sh Configure -Accflags=-DPURIFY -Doptimize='-g' \
- -Uusemymalloc -Dusemultiplicity
+See also the documentation for the Test and Test::Harness modules, for
+more environment variables that affect testing.
-where these arguments mean:
+=head1 MORE READING FOR GUTS HACKERS
-=over 4
-
-=item -Accflags=-DPURIFY
-
-Disables Perl's arena memory allocation functions, as well as
-forcing use of memory allocation functions derived from the
-system malloc.
-
-=item -Doptimize='-g'
-
-Adds debugging information so that you see the exact source
-statements where the problem occurs. Without this flag, all
-you will see is the source filename of where the error occurred.
-
-=item -Uusemymalloc
-
-Disable Perl's malloc so that Purify can more closely monitor
-allocations and leaks. Using Perl's malloc will make Purify
-report most leaks in the "potential" leaks category.
-
-=item -Dusemultiplicity
-
-Enabling the multiplicity option allows perl to clean up
-thoroughly when the interpreter shuts down, which reduces the
-number of bogus leak reports from Purify.
-
-=back
-
-Once you've compiled a perl suitable for Purify'ing, then you
-can just:
-
- make pureperl
-
-which creates a binary named 'pureperl' that has been Purify'ed.
-This binary is used in place of the standard 'perl' binary
-when you want to debug Perl memory problems.
-
-As an example, to show any memory leaks produced during the
-standard Perl testset you would create and run the Purify'ed
-perl as:
-
- make pureperl
- cd t
- ../pureperl -I../lib harness
-
-which would run Perl on test.pl and report any memory problems.
-
-Purify outputs messages in "Viewer" windows by default. If
-you don't have a windowing environment or if you simply
-want the Purify output to unobtrusively go to a log file
-instead of to the interactive window, use these following
-options to output to the log file "perl.log":
-
- setenv PURIFYOPTIONS "-chain-length=25 -windows=no \
- -log-file=perl.log -append-logfile=yes"
-
-If you plan to use the "Viewer" windows, then you only need this option:
-
- setenv PURIFYOPTIONS "-chain-length=25"
-
-In Bourne-type shells:
-
- PURIFYOPTIONS="..."
- export PURIFYOPTIONS
-
-or if you have the "env" utility:
-
- env PURIFYOPTIONS="..." ../pureperl ...
-
-=head2 Purify on NT
-
-Purify on Windows NT instruments the Perl binary 'perl.exe'
-on the fly. There are several options in the makefile you
-should change to get the most use out of Purify:
-
-=over 4
-
-=item DEFINES
-
-You should add -DPURIFY to the DEFINES line so the DEFINES
-line looks something like:
-
- DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) -DPURIFY=1
-
-to disable Perl's arena memory allocation functions, as
-well as to force use of memory allocation functions derived
-from the system malloc.
-
-=item USE_MULTI = define
-
-Enabling the multiplicity option allows perl to clean up
-thoroughly when the interpreter shuts down, which reduces the
-number of bogus leak reports from Purify.
-
-=item #PERL_MALLOC = define
-
-Disable Perl's malloc so that Purify can more closely monitor
-allocations and leaks. Using Perl's malloc will make Purify
-report most leaks in the "potential" leaks category.
-
-=item CFG = Debug
-
-Adds debugging information so that you see the exact source
-statements where the problem occurs. Without this flag, all
-you will see is the source filename of where the error occurred.
-
-=back
-
-As an example, to show any memory leaks produced during the
-standard Perl testset you would create and run Purify as:
-
- cd win32
- make
- cd ../t
- purify ../perl -I../lib harness
-
-which would instrument Perl in memory, run Perl on test.pl,
-then finally report any memory problems.
-
-=head2 valgrind
-
-The excellent valgrind tool can be used to find out both memory leaks
-and illegal memory accesses. As of version 3.3.0, Valgrind only
-supports Linux on x86, x86-64 and PowerPC. The special "test.valgrind"
-target can be used to run the tests under valgrind. Found errors
-and memory leaks are logged in files named F<testfile.valgrind>.
-
-Valgrind also provides a cachegrind tool, invoked on perl as:
-
- VG_OPTS=--tool=cachegrind make test.valgrind
-
-As system libraries (most notably glibc) are also triggering errors,
-valgrind allows to suppress such errors using suppression files. The
-default suppression file that comes with valgrind already catches a lot
-of them. Some additional suppressions are defined in F<t/perl.supp>.
-
-To get valgrind and for more information see
-
- http://developer.kde.org/~sewardj/
-
-=head2 Compaq's/Digital's/HP's Third Degree
-
-Third Degree is a tool for memory leak detection and memory access checks.
-It is one of the many tools in the ATOM toolkit. The toolkit is only
-available on Tru64 (formerly known as Digital UNIX formerly known as
-DEC OSF/1).
-
-When building Perl, you must first run Configure with -Doptimize=-g
-and -Uusemymalloc flags, after that you can use the make targets
-"perl.third" and "test.third". (What is required is that Perl must be
-compiled using the C<-g> flag, you may need to re-Configure.)
-
-The short story is that with "atom" you can instrument the Perl
-executable to create a new executable called F<perl.third>. When the
-instrumented executable is run, it creates a log of dubious memory
-traffic in file called F<perl.3log>. See the manual pages of atom and
-third for more information. The most extensive Third Degree
-documentation is available in the Compaq "Tru64 UNIX Programmer's
-Guide", chapter "Debugging Programs with Third Degree".
-
-The "test.third" leaves a lot of files named F<foo_bar.3log> in the t/
-subdirectory. There is a problem with these files: Third Degree is so
-effective that it finds problems also in the system libraries.
-Therefore you should used the Porting/thirdclean script to cleanup
-the F<*.3log> files.
-
-There are also leaks that for given certain definition of a leak,
-aren't. See L</PERL_DESTRUCT_LEVEL> for more information.
-
-=head2 PERL_DESTRUCT_LEVEL
-
-If you want to run any of the tests yourself manually using e.g.
-valgrind, or the pureperl or perl.third executables, please note that
-by default perl B<does not> explicitly cleanup all the memory it has
-allocated (such as global memory arenas) but instead lets the exit()
-of the whole program "take care" of such allocations, also known as
-"global destruction of objects".
-
-There is a way to tell perl to do complete cleanup: set the
-environment variable PERL_DESTRUCT_LEVEL to a non-zero value.
-The t/TEST wrapper does set this to 2, and this is what you
-need to do too, if you don't want to see the "global leaks":
-For example, for "third-degreed" Perl:
-
- env PERL_DESTRUCT_LEVEL=2 ./perl.third -Ilib t/foo/bar.t
-
-(Note: the mod_perl apache module uses also this environment variable
-for its own purposes and extended its semantics. Refer to the mod_perl
-documentation for more information. Also, spawned threads do the
-equivalent of setting this variable to the value 1.)
-
-If, at the end of a run you get the message I<N scalars leaked>, you can
-recompile with C<-DDEBUG_LEAKING_SCALARS>, which will cause the addresses
-of all those leaked SVs to be dumped along with details as to where each
-SV was originally allocated. This information is also displayed by
-Devel::Peek. Note that the extra details recorded with each SV increases
-memory usage, so it shouldn't be used in production environments. It also
-converts C<new_SV()> from a macro into a real function, so you can use
-your favourite debugger to discover where those pesky SVs were allocated.
-
-If you see that you're leaking memory at runtime, but neither valgrind
-nor C<-DDEBUG_LEAKING_SCALARS> will find anything, you're probably
-leaking SVs that are still reachable and will be properly cleaned up
-during destruction of the interpreter. In such cases, using the C<-Dm>
-switch can point you to the source of the leak. If the executable was
-built with C<-DDEBUG_LEAKING_SCALARS>, C<-Dm> will output SV allocations
-in addition to memory allocations. Each SV allocation has a distinct
-serial number that will be written on creation and destruction of the SV.
-So if you're executing the leaking code in a loop, you need to look for
-SVs that are created, but never destroyed between each cycle. If such an
-SV is found, set a conditional breakpoint within C<new_SV()> and make it
-break only when C<PL_sv_serial> is equal to the serial number of the
-leaking SV. Then you will catch the interpreter in exactly the state
-where the leaking SV is allocated, which is sufficient in many cases to
-find the source of the leak.
-
-As C<-Dm> is using the PerlIO layer for output, it will by itself
-allocate quite a bunch of SVs, which are hidden to avoid recursion.
-You can bypass the PerlIO layer if you use the SV logging provided
-by C<-DPERL_MEM_LOG> instead.
-
-=head2 PERL_MEM_LOG
-
-If compiled with C<-DPERL_MEM_LOG>, both memory and SV allocations go
-through logging functions, which is handy for breakpoint setting.
-
-Unless C<-DPERL_MEM_LOG_NOIMPL> is also compiled, the logging
-functions read $ENV{PERL_MEM_LOG} to determine whether to log the
-event, and if so how:
-
- $ENV{PERL_MEM_LOG} =~ /m/ Log all memory ops
- $ENV{PERL_MEM_LOG} =~ /s/ Log all SV ops
- $ENV{PERL_MEM_LOG} =~ /t/ include timestamp in Log
- $ENV{PERL_MEM_LOG} =~ /^(\d+)/ write to FD given (default is 2)
-
-Memory logging is somewhat similar to C<-Dm> but is independent of
-C<-DDEBUGGING>, and at a higher level; all uses of Newx(), Renew(),
-and Safefree() are logged with the caller's source code file and line
-number (and C function name, if supported by the C compiler). In
-contrast, C<-Dm> is directly at the point of C<malloc()>. SV logging
-is similar.
-
-Since the logging doesn't use PerlIO, all SV allocations are logged
-and no extra SV allocations are introduced by enabling the logging.
-If compiled with C<-DDEBUG_LEAKING_SCALARS>, the serial number for
-each SV allocation is also logged.
-
-=head2 Profiling
-
-Depending on your platform there are various of profiling Perl.
-
-There are two commonly used techniques of profiling executables:
-I<statistical time-sampling> and I<basic-block counting>.
-
-The first method takes periodically samples of the CPU program
-counter, and since the program counter can be correlated with the code
-generated for functions, we get a statistical view of in which
-functions the program is spending its time. The caveats are that very
-small/fast functions have lower probability of showing up in the
-profile, and that periodically interrupting the program (this is
-usually done rather frequently, in the scale of milliseconds) imposes
-an additional overhead that may skew the results. The first problem
-can be alleviated by running the code for longer (in general this is a
-good idea for profiling), the second problem is usually kept in guard
-by the profiling tools themselves.
-
-The second method divides up the generated code into I<basic blocks>.
-Basic blocks are sections of code that are entered only in the
-beginning and exited only at the end. For example, a conditional jump
-starts a basic block. Basic block profiling usually works by
-I<instrumenting> the code by adding I<enter basic block #nnnn>
-book-keeping code to the generated code. During the execution of the
-code the basic block counters are then updated appropriately. The
-caveat is that the added extra code can skew the results: again, the
-profiling tools usually try to factor their own effects out of the
-results.
-
-=head2 Gprof Profiling
-
-gprof is a profiling tool available in many Unix platforms,
-it uses F<statistical time-sampling>.
-
-You can build a profiled version of perl called "perl.gprof" by
-invoking the make target "perl.gprof" (What is required is that Perl
-must be compiled using the C<-pg> flag, you may need to re-Configure).
-Running the profiled version of Perl will create an output file called
-F<gmon.out> is created which contains the profiling data collected
-during the execution.
-
-The gprof tool can then display the collected data in various ways.
-Usually gprof understands the following options:
+To hack on the Perl guts, you'll need to read the following things:
=over 4
-=item -a
-
-Suppress statically defined functions from the profile.
-
-=item -b
-
-Suppress the verbose descriptions in the profile.
-
-=item -e routine
-
-Exclude the given routine and its descendants from the profile.
-
-=item -f routine
-
-Display only the given routine and its descendants in the profile.
-
-=item -s
-
-Generate a summary file called F<gmon.sum> which then may be given
-to subsequent gprof runs to accumulate data over several runs.
+=item * L<perlsource>
-=item -z
+An overview of the Perl source tree. This will help you find the files
+you're looking for.
-Display routines that have zero usage.
+=item * L<perlinterp>
-=back
-
-For more detailed explanation of the available commands and output
-formats, see your own local documentation of gprof.
-
-quick hint:
-
- $ sh Configure -des -Dusedevel -Doptimize='-pg' && make perl.gprof
- $ ./perl.gprof someprog # creates gmon.out in current directory
- $ gprof ./perl.gprof > out
- $ view out
-
-=head2 GCC gcov Profiling
-
-Starting from GCC 3.0 I<basic block profiling> is officially available
-for the GNU CC.
-
-You can build a profiled version of perl called F<perl.gcov> by
-invoking the make target "perl.gcov" (what is required that Perl must
-be compiled using gcc with the flags C<-fprofile-arcs
--ftest-coverage>, you may need to re-Configure).
-
-Running the profiled version of Perl will cause profile output to be
-generated. For each source file an accompanying ".da" file will be
-created.
-
-To display the results you use the "gcov" utility (which should
-be installed if you have gcc 3.0 or newer installed). F<gcov> is
-run on source code files, like this
+An overview of the Perl interpreter source code and some details on how
+Perl does what it does.
- gcov sv.c
+=item * L<perlhacktut>
-which will cause F<sv.c.gcov> to be created. The F<.gcov> files
-contain the source code annotated with relative frequencies of
-execution indicated by "#" markers.
+This document walks through the creation of a small patch to Perl's C
+code. If you're just getting started with Perl core hacking, this will
+help you understand how it works.
-Useful options of F<gcov> include C<-b> which will summarise the
-basic block, branch, and function call coverage, and C<-c> which
-instead of relative frequencies will use the actual counts. For
-more information on the use of F<gcov> and basic block profiling
-with gcc, see the latest GNU CC manual, as of GCC 3.0 see
+=item * L<perlhacktips>
- http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc.html
+More details on hacking the Perl core. This document focuses on lower
+level details such as how to write tests, compilation issues,
+portability, debugging, etc.
-and its section titled "8. gcov: a Test Coverage Program"
+If you plan on doing serious C hacking, make sure to read this.
- http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html#SEC132
+=item * L<perlguts>
-quick hint:
-
- $ sh Configure -des -Doptimize='-g' -Accflags='-fprofile-arcs -ftest-coverage' \
- -Aldflags='-fprofile-arcs -ftest-coverage' && make perl.gcov
- $ rm -f regexec.c.gcov regexec.gcda
- $ ./perl.gcov
- $ gcov regexec.c
- $ view regexec.c.gcov
-
-=head2 Pixie Profiling
+This is of paramount importance, since it's the documentation of what
+goes where in the Perl source. Read it over a couple of times and it
+might start to make sense - don't worry if it doesn't yet, because the
+best way to study it is to read it in conjunction with poking at Perl
+source, and we'll do that later on.
-Pixie is a profiling tool available on IRIX and Tru64 (aka Digital
-UNIX aka DEC OSF/1) platforms. Pixie does its profiling using
-I<basic-block counting>.
+Gisle Aas's "illustrated perlguts", also known as I<illguts>, has very
+helpful pictures:
-You can build a profiled version of perl called F<perl.pixie> by
-invoking the make target "perl.pixie" (what is required is that Perl
-must be compiled using the C<-g> flag, you may need to re-Configure).
+L<http://search.cpan.org/dist/illguts/>
-In Tru64 a file called F<perl.Addrs> will also be silently created,
-this file contains the addresses of the basic blocks. Running the
-profiled version of Perl will create a new file called "perl.Counts"
-which contains the counts for the basic block for that particular
-program execution.
+=item * L<perlxstut> and L<perlxs>
-To display the results you use the F<prof> utility. The exact
-incantation depends on your operating system, "prof perl.Counts" in
-IRIX, and "prof -pixie -all -L. perl" in Tru64.
+A working knowledge of XSUB programming is incredibly useful for core
+hacking; XSUBs use techniques drawn from the PP code, the portion of
+the guts that actually executes a Perl program. It's a lot gentler to
+learn those techniques from simple examples and explanation than from
+the core itself.
-In IRIX the following prof options are available:
+=item * L<perlapi>
-=over 4
+The documentation for the Perl API explains what some of the internal
+functions do, as well as the many macros used in the source.
-=item -h
+=item * F<Porting/pumpkin.pod>
-Reports the most heavily used lines in descending order of use.
-Useful for finding the hotspot lines.
+This is a collection of words of wisdom for a Perl porter; some of it
+is only useful to the pumpkin holder, but most of it applies to anyone
+wanting to go about Perl development.
-=item -l
+=item * The perl5-porters FAQ
-Groups lines by procedure, with procedures sorted in descending order of use.
-Within a procedure, lines are listed in source order.
-Useful for finding the hotspots of procedures.
+This should be available from
+http://dev.perl.org/perl5/docs/p5p-faq.html . It contains hints on
+reading perl5-porters, information on how perl5-porters works and how
+Perl development in general works.
=back
-In Tru64 the following options are available:
-
-=over 4
-
-=item -p[rocedures]
-
-Procedures sorted in descending order by the number of cycles executed
-in each procedure. Useful for finding the hotspot procedures.
-(This is the default option.)
-
-=item -h[eavy]
-
-Lines sorted in descending order by the number of cycles executed in
-each line. Useful for finding the hotspot lines.
-
-=item -i[nvocations]
-
-The called procedures are sorted in descending order by number of calls
-made to the procedures. Useful for finding the most used procedures.
-
-=item -l[ines]
-
-Grouped by procedure, sorted by cycles executed per procedure.
-Useful for finding the hotspots of procedures.
+=head1 CPAN TESTERS AND PERL SMOKERS
-=item -testcoverage
+The CPAN testers ( http://testers.cpan.org/ ) are a group of volunteers
+who test CPAN modules on a variety of platforms.
-The compiler emitted code for these lines, but the code was unexecuted.
-
-=item -z[ero]
+Perl Smokers ( http://www.nntp.perl.org/group/perl.daily-build/ and
+http://www.nntp.perl.org/group/perl.daily-build.reports/ )
+automatically test Perl source releases on platforms with various
+configurations.
+
+Both efforts welcome volunteers. In order to get involved in smoke
+testing of the perl itself visit
+L<http://search.cpan.org/dist/Test-Smoke/>. In order to start smoke
+testing CPAN modules visit
+L<http://search.cpan.org/dist/CPANPLUS-YACSmoke/> or
+L<http://search.cpan.org/dist/minismokebox/> or
+L<http://search.cpan.org/dist/CPAN-Reporter/>.
-Unexecuted procedures.
+=head1 WHAT NEXT?
-=back
+If you've read all the documentation in the document and the ones
+listed above, you're more than ready to hack on Perl.
-For further information, see your system's manual pages for pixie and prof.
-
-=head2 Miscellaneous tricks
+Here's some more recommendations
=over 4
=item *
-Those debugging perl with the DDD frontend over gdb may find the
-following useful:
-
-You can extend the data conversion shortcuts menu, so for example you
-can display an SV's IV value with one click, without doing any typing.
-To do that simply edit ~/.ddd/init file and add after:
-
- ! Display shortcuts.
- Ddd*gdbDisplayShortcuts: \
- /t () // Convert to Bin\n\
- /d () // Convert to Dec\n\
- /x () // Convert to Hex\n\
- /o () // Convert to Oct(\n\
-
-the following two lines:
-
- ((XPV*) (())->sv_any )->xpv_pv // 2pvx\n\
- ((XPVIV*) (())->sv_any )->xiv_iv // 2ivx
-
-so now you can do ivx and pvx lookups or you can plug there the
-sv_peek "conversion":
-
- Perl_sv_peek(my_perl, (SV*)()) // sv_peek
-
-(The my_perl is for threaded builds.)
-Just remember that every line, but the last one, should end with \n\
-
-Alternatively edit the init file interactively via:
-3rd mouse button -> New Display -> Edit Menu
-
-Note: you can define up to 20 conversion shortcuts in the gdb
-section.
-
-=item *
-
-If you see in a debugger a memory area mysteriously full of 0xABABABAB
-or 0xEFEFEFEF, you may be seeing the effect of the Poison() macros,
-see L<perlclib>.
-
-=item *
-
-Under ithreads the optree is read only. If you want to enforce this, to check
-for write accesses from buggy code, compile with C<-DPL_OP_SLAB_ALLOC> to
-enable the OP slab allocator and C<-DPERL_DEBUG_READONLY_OPS> to enable code
-that allocates op memory via C<mmap>, and sets it read-only at run time.
-Any write access to an op results in a C<SIGBUS> and abort.
-
-This code is intended for development only, and may not be portable even to
-all Unix variants. Also, it is an 80% solution, in that it isn't able to make
-all ops read only. Specifically it
-
-=over
-
-=item 1
-
-Only sets read-only on all slabs of ops at C<CHECK> time, hence ops allocated
-later via C<require> or C<eval> will be re-write
-
-=item 2
-
-Turns an entire slab of ops read-write if the refcount of any op in the slab
-needs to be decreased.
-
-=item 3
-
-Turns an entire slab of ops read-write if any op from the slab is freed.
-
-=back
-
-It's not possible to turn the slabs to read-only after an action requiring
-read-write access, as either can happen during op tree building time, so
-there may still be legitimate write access.
-
-However, as an 80% solution it is still effective, as currently it catches
-a write access during the generation of F<Config.pm>, which means that we
-can't yet build F<perl> with this enabled.
-
-=back
-
-
-=head1 CONCLUSION
-
-We've had a brief look around the Perl source, how to maintain quality
-of the source code, an overview of the stages F<perl> goes through
-when it's running your code, how to use debuggers to poke at the Perl
-guts, and finally how to analyse the execution of Perl. We took a very
-simple problem and demonstrated how to solve it fully - with
-documentation, regression tests, and finally a patch for submission to
-p5p. Finally, we talked about how to use external tools to debug and
-test Perl.
-
-I'd now suggest you read over those references again, and then, as soon
-as possible, get your hands dirty. The best way to learn is by doing,
-so:
-
-=over 3
-
-=item *
-
Subscribe to perl5-porters, follow the patches and try and understand
them; don't be afraid to ask if there's a portion you're not clear on -
who knows, you may unearth a bug in the patch...
=item *
-Keep up to date with the bleeding edge Perl distributions and get
-familiar with the changes. Try and get an idea of what areas people are
-working on and the changes they're making.
-
-=item *
-
-Do read the README associated with your operating system, e.g. README.aix
-on the IBM AIX OS. Don't hesitate to supply patches to that README if
-you find anything missing or changed over a new OS release.
+Do read the README associated with your operating system, e.g.
+README.aix on the IBM AIX OS. Don't hesitate to supply patches to that
+README if you find anything missing or changed over a new OS release.
=item *
Find an area of Perl that seems interesting to you, and see if you can
work out how it works. Scan through the source, and step over it in the
debugger. Play, poke, investigate, fiddle! You'll probably get to
-understand not just your chosen area but a much wider range of F<perl>'s
-activity as well, and probably sooner than you'd think.
+understand not just your chosen area but a much wider range of
+F<perl>'s activity as well, and probably sooner than you'd think.
=back
-=over 3
-
-=item I<The Road goes ever on and on, down from the door where it began.>
+=head2 "The Road goes ever on and on, down from the door where it began."
-=back
-
-If you can do these things, you've started on the long road to Perl porting.
-Thanks for wanting to help make Perl better - and happy hacking!
+If you can do these things, you've started on the long road to Perl
+porting. Thanks for wanting to help make Perl better - and happy
+hacking!
=head2 Metaphoric Quotations
If you recognized the quote about the Road above, you're in luck.
-Most software projects begin each file with a literal description of each
-file's purpose. Perl instead begins each with a literary allusion to that
-file's purpose.
+Most software projects begin each file with a literal description of
+each file's purpose. Perl instead begins each with a literary allusion
+to that file's purpose.
-Like chapters in many books, all top-level Perl source files (along with a
-few others here and there) begin with an epigramic inscription that alludes,
-indirectly and metaphorically, to the material you're about to read.
+Like chapters in many books, all top-level Perl source files (along
+with a few others here and there) begin with an epigramic inscription
+that alludes, indirectly and metaphorically, to the material you're
+about to read.
-Quotations are taken from writings of J.R.R Tolkien pertaining to his
-Legendarium, almost always from I<The Lord of the Rings>. Chapters and
+Quotations are taken from writings of J.R.R. Tolkien pertaining to his
+Legendarium, almost always from I<The Lord of the Rings>. Chapters and
page numbers are given using the following editions:
=over 4
-=item *
+=item *
-I<The Hobbit>, by J.R.R. Tolkien. The hardcover, 70th-anniversary
-edition of 2007 was used, published in the UK by Harper Collins Publishers
-and in the US by the Houghton Mifflin Company.
+I<The Hobbit>, by J.R.R. Tolkien. The hardcover, 70th-anniversary
+edition of 2007 was used, published in the UK by Harper Collins
+Publishers and in the US by the Houghton Mifflin Company.
=item *
-I<The Lord of the Rings>, by J.R.R. Tolkien. The hardcover,
-50th-anniversary edition of 2004 was used, published in the UK by Harper
-Collins Publishers and in the US by the Houghton Mifflin Company.
+I<The Lord of the Rings>, by J.R.R. Tolkien. The hardcover,
+50th-anniversary edition of 2004 was used, published in the UK by
+Harper Collins Publishers and in the US by the Houghton Mifflin
+Company.
=item *
-I<The Lays of Beleriand>, by J.R.R. Tolkien and published posthumously by his
-son and literary executor, C.J.R. Tolkien, being the 3rd of the 12 volumes
-in Christopher's mammoth I<History of Middle Earth>. Page numbers derive
-from the hardcover edition, first published in 1983 by George Allen &
-Unwin; no page numbers changed for the special 3-volume omnibus edition of
-2002 or the various trade-paper editions, all again now by Harper Collins
-or Houghton Mifflin.
+I<The Lays of Beleriand>, by J.R.R. Tolkien and published posthumously
+by his son and literary executor, C.J.R. Tolkien, being the 3rd of the
+12 volumes in Christopher's mammoth I<History of Middle Earth>. Page
+numbers derive from the hardcover edition, first published in 1983 by
+George Allen & Unwin; no page numbers changed for the special 3-volume
+omnibus edition of 2002 or the various trade-paper editions, all again
+now by Harper Collins or Houghton Mifflin.
=back
-Other JRRT books fair game for quotes would thus include I<The Adventures of
-Tom Bombadil>, I<The Silmarillion>, I<Unfinished Tales>, and I<The Tale of
-the Children of Hurin>, all but the first posthumously assembled by CJRT.
-But I<The Lord of the Rings> itself is perfectly fine and probably best to
-quote from, provided you can find a suitable quote there.
+Other JRRT books fair game for quotes would thus include I<The
+Adventures of Tom Bombadil>, I<The Silmarillion>, I<Unfinished Tales>,
+and I<The Tale of the Children of Hurin>, all but the first
+posthumously assembled by CJRT. But I<The Lord of the Rings> itself is
+perfectly fine and probably best to quote from, provided you can find a
+suitable quote there.
-So if you were to supply a new, complete, top-level source file to add to
-Perl, you should conform to this peculiar practice by yourself selecting an
-appropriate quotation from Tolkien, retaining the original spelling and
-punctuation and using the same format the rest of the quotes are in.
-Indirect and oblique is just fine; remember, it's a metaphor, so being meta
-is, after all, what it's for.
+So if you were to supply a new, complete, top-level source file to add
+to Perl, you should conform to this peculiar practice by yourself
+selecting an appropriate quotation from Tolkien, retaining the original
+spelling and punctuation and using the same format the rest of the
+quotes are in. Indirect and oblique is just fine; remember, it's a
+metaphor, so being meta is, after all, what it's for.
=head1 AUTHOR
-This document was written by Nathan Torkington, and is maintained by
-the perl5-porters mailing list.
-
-=head1 SEE ALSO
+This document was originally written by Nathan Torkington, and is
+maintained by the perl5-porters mailing list.
-L<perlrepository>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod b/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod
new file mode 100644
index 00000000000..943ad4631b8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod
@@ -0,0 +1,1459 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlhacktips.pod
+
+=head1 NAME
+
+perlhacktips - Tips for Perl core C code hacking
+
+=head1 DESCRIPTION
+
+This document will help you learn the best way to go about hacking on
+the Perl core C code. It covers common problems, debugging, profiling,
+and more.
+
+If you haven't read L<perlhack> and L<perlhacktut> yet, you might want
+to do that first.
+
+=head1 COMMON PROBLEMS
+
+Perl source plays by ANSI C89 rules: no C99 (or C++) extensions. In
+some cases we have to take pre-ANSI requirements into consideration.
+You don't care about some particular platform having broken Perl? I
+hear there is still a strong demand for J2EE programmers.
+
+=head2 Perl environment problems
+
+=over 4
+
+=item *
+
+Not compiling with threading
+
+Compiling with threading (-Duseithreads) completely rewrites the
+function prototypes of Perl. You better try your changes with that.
+Related to this is the difference between "Perl_-less" and "Perl_-ly"
+APIs, for example:
+
+ Perl_sv_setiv(aTHX_ ...);
+ sv_setiv(...);
+
+The first one explicitly passes in the context, which is needed for
+e.g. threaded builds. The second one does that implicitly; do not get
+them mixed. If you are not passing in a aTHX_, you will need to do a
+dTHX (or a dVAR) as the first thing in the function.
+
+See L<perlguts/"How multiple interpreters and concurrency are
+supported"> for further discussion about context.
+
+=item *
+
+Not compiling with -DDEBUGGING
+
+The DEBUGGING define exposes more code to the compiler, therefore more
+ways for things to go wrong. You should try it.
+
+=item *
+
+Introducing (non-read-only) globals
+
+Do not introduce any modifiable globals, truly global or file static.
+They are bad form and complicate multithreading and other forms of
+concurrency. The right way is to introduce them as new interpreter
+variables, see F<intrpvar.h> (at the very end for binary
+compatibility).
+
+Introducing read-only (const) globals is okay, as long as you verify
+with e.g. C<nm libperl.a|egrep -v ' [TURtr] '> (if your C<nm> has
+BSD-style output) that the data you added really is read-only. (If it
+is, it shouldn't show up in the output of that command.)
+
+If you want to have static strings, make them constant:
+
+ static const char etc[] = "...";
+
+If you want to have arrays of constant strings, note carefully the
+right combination of C<const>s:
+
+ static const char * const yippee[] =
+ {"hi", "ho", "silver"};
+
+There is a way to completely hide any modifiable globals (they are all
+moved to heap), the compilation setting
+C<-DPERL_GLOBAL_STRUCT_PRIVATE>. It is not normally used, but can be
+used for testing, read more about it in L<perlguts/"Background and
+PERL_IMPLICIT_CONTEXT">.
+
+=item *
+
+Not exporting your new function
+
+Some platforms (Win32, AIX, VMS, OS/2, to name a few) require any
+function that is part of the public API (the shared Perl library) to be
+explicitly marked as exported. See the discussion about F<embed.pl> in
+L<perlguts>.
+
+=item *
+
+Exporting your new function
+
+The new shiny result of either genuine new functionality or your
+arduous refactoring is now ready and correctly exported. So what could
+possibly go wrong?
+
+Maybe simply that your function did not need to be exported in the
+first place. Perl has a long and not so glorious history of exporting
+functions that it should not have.
+
+If the function is used only inside one source code file, make it
+static. See the discussion about F<embed.pl> in L<perlguts>.
+
+If the function is used across several files, but intended only for
+Perl's internal use (and this should be the common case), do not export
+it to the public API. See the discussion about F<embed.pl> in
+L<perlguts>.
+
+=back
+
+=head2 Portability problems
+
+The following are common causes of compilation and/or execution
+failures, not common to Perl as such. The C FAQ is good bedtime
+reading. Please test your changes with as many C compilers and
+platforms as possible; we will, anyway, and it's nice to save oneself
+from public embarrassment.
+
+If using gcc, you can add the C<-std=c89> option which will hopefully
+catch most of these unportabilities. (However it might also catch
+incompatibilities in your system's header files.)
+
+Use the Configure C<-Dgccansipedantic> flag to enable the gcc C<-ansi
+-pedantic> flags which enforce stricter ANSI rules.
+
+If using the C<gcc -Wall> note that not all the possible warnings (like
+C<-Wunitialized>) are given unless you also compile with C<-O>.
+
+Note that if using gcc, starting from Perl 5.9.5 the Perl core source
+code files (the ones at the top level of the source code distribution,
+but not e.g. the extensions under ext/) are automatically compiled with
+as many as possible of the C<-std=c89>, C<-ansi>, C<-pedantic>, and a
+selection of C<-W> flags (see cflags.SH).
+
+Also study L<perlport> carefully to avoid any bad assumptions about the
+operating system, filesystems, and so forth.
+
+You may once in a while try a "make microperl" to see whether we can
+still compile Perl with just the bare minimum of interfaces. (See
+README.micro.)
+
+Do not assume an operating system indicates a certain compiler.
+
+=over 4
+
+=item *
+
+Casting pointers to integers or casting integers to pointers
+
+ void castaway(U8* p)
+ {
+ IV i = p;
+
+or
+
+ void castaway(U8* p)
+ {
+ IV i = (IV)p;
+
+Both are bad, and broken, and unportable. Use the PTR2IV() macro that
+does it right. (Likewise, there are PTR2UV(), PTR2NV(), INT2PTR(), and
+NUM2PTR().)
+
+=item *
+
+Casting between data function pointers and data pointers
+
+Technically speaking casting between function pointers and data
+pointers is unportable and undefined, but practically speaking it seems
+to work, but you should use the FPTR2DPTR() and DPTR2FPTR() macros.
+Sometimes you can also play games with unions.
+
+=item *
+
+Assuming sizeof(int) == sizeof(long)
+
+There are platforms where longs are 64 bits, and platforms where ints
+are 64 bits, and while we are out to shock you, even platforms where
+shorts are 64 bits. This is all legal according to the C standard. (In
+other words, "long long" is not a portable way to specify 64 bits, and
+"long long" is not even guaranteed to be any wider than "long".)
+
+Instead, use the definitions IV, UV, IVSIZE, I32SIZE, and so forth.
+Avoid things like I32 because they are B<not> guaranteed to be
+I<exactly> 32 bits, they are I<at least> 32 bits, nor are they
+guaranteed to be B<int> or B<long>. If you really explicitly need
+64-bit variables, use I64 and U64, but only if guarded by HAS_QUAD.
+
+=item *
+
+Assuming one can dereference any type of pointer for any type of data
+
+ char *p = ...;
+ long pony = *p; /* BAD */
+
+Many platforms, quite rightly so, will give you a core dump instead of
+a pony if the p happens not be correctly aligned.
+
+=item *
+
+Lvalue casts
+
+ (int)*p = ...; /* BAD */
+
+Simply not portable. Get your lvalue to be of the right type, or maybe
+use temporary variables, or dirty tricks with unions.
+
+=item *
+
+Assume B<anything> about structs (especially the ones you don't
+control, like the ones coming from the system headers)
+
+=over 8
+
+=item *
+
+That a certain field exists in a struct
+
+=item *
+
+That no other fields exist besides the ones you know of
+
+=item *
+
+That a field is of certain signedness, sizeof, or type
+
+=item *
+
+That the fields are in a certain order
+
+=over 8
+
+=item *
+
+While C guarantees the ordering specified in the struct definition,
+between different platforms the definitions might differ
+
+=back
+
+=item *
+
+That the sizeof(struct) or the alignments are the same everywhere
+
+=over 8
+
+=item *
+
+There might be padding bytes between the fields to align the fields -
+the bytes can be anything
+
+=item *
+
+Structs are required to be aligned to the maximum alignment required by
+the fields - which for native types is for usually equivalent to
+sizeof() of the field
+
+=back
+
+=back
+
+=item *
+
+Assuming the character set is ASCIIish
+
+Perl can compile and run under EBCDIC platforms. See L<perlebcdic>.
+This is transparent for the most part, but because the character sets
+differ, you shouldn't use numeric (decimal, octal, nor hex) constants
+to refer to characters. You can safely say 'A', but not 0x41. You can
+safely say '\n', but not \012. If a character doesn't have a trivial
+input form, you can create a #define for it in both C<utfebcdic.h> and
+C<utf8.h>, so that it resolves to different values depending on the
+character set being used. (There are three different EBCDIC character
+sets defined in C<utfebcdic.h>, so it might be best to insert the
+#define three times in that file.)
+
+Also, the range 'A' - 'Z' in ASCII is an unbroken sequence of 26 upper
+case alphabetic characters. That is not true in EBCDIC. Nor for 'a' to
+'z'. But '0' - '9' is an unbroken range in both systems. Don't assume
+anything about other ranges.
+
+Many of the comments in the existing code ignore the possibility of
+EBCDIC, and may be wrong therefore, even if the code works. This is
+actually a tribute to the successful transparent insertion of being
+able to handle EBCDIC without having to change pre-existing code.
+
+UTF-8 and UTF-EBCDIC are two different encodings used to represent
+Unicode code points as sequences of bytes. Macros with the same names
+(but different definitions) in C<utf8.h> and C<utfebcdic.h> are used to
+allow the calling code to think that there is only one such encoding.
+This is almost always referred to as C<utf8>, but it means the EBCDIC
+version as well. Again, comments in the code may well be wrong even if
+the code itself is right. For example, the concept of C<invariant
+characters> differs between ASCII and EBCDIC. On ASCII platforms, only
+characters that do not have the high-order bit set (i.e. whose ordinals
+are strict ASCII, 0 - 127) are invariant, and the documentation and
+comments in the code may assume that, often referring to something
+like, say, C<hibit>. The situation differs and is not so simple on
+EBCDIC machines, but as long as the code itself uses the
+C<NATIVE_IS_INVARIANT()> macro appropriately, it works, even if the
+comments are wrong.
+
+=item *
+
+Assuming the character set is just ASCII
+
+ASCII is a 7 bit encoding, but bytes have 8 bits in them. The 128 extra
+characters have different meanings depending on the locale. Absent a
+locale, currently these extra characters are generally considered to be
+unassigned, and this has presented some problems. This is being changed
+starting in 5.12 so that these characters will be considered to be
+Latin-1 (ISO-8859-1).
+
+=item *
+
+Mixing #define and #ifdef
+
+ #define BURGLE(x) ... \
+ #ifdef BURGLE_OLD_STYLE /* BAD */
+ ... do it the old way ... \
+ #else
+ ... do it the new way ... \
+ #endif
+
+You cannot portably "stack" cpp directives. For example in the above
+you need two separate BURGLE() #defines, one for each #ifdef branch.
+
+=item *
+
+Adding non-comment stuff after #endif or #else
+
+ #ifdef SNOSH
+ ...
+ #else !SNOSH /* BAD */
+ ...
+ #endif SNOSH /* BAD */
+
+The #endif and #else cannot portably have anything non-comment after
+them. If you want to document what is going (which is a good idea
+especially if the branches are long), use (C) comments:
+
+ #ifdef SNOSH
+ ...
+ #else /* !SNOSH */
+ ...
+ #endif /* SNOSH */
+
+The gcc option C<-Wendif-labels> warns about the bad variant (by
+default on starting from Perl 5.9.4).
+
+=item *
+
+Having a comma after the last element of an enum list
+
+ enum color {
+ CERULEAN,
+ CHARTREUSE,
+ CINNABAR, /* BAD */
+ };
+
+is not portable. Leave out the last comma.
+
+Also note that whether enums are implicitly morphable to ints varies
+between compilers, you might need to (int).
+
+=item *
+
+Using //-comments
+
+ // This function bamfoodles the zorklator. /* BAD */
+
+That is C99 or C++. Perl is C89. Using the //-comments is silently
+allowed by many C compilers but cranking up the ANSI C89 strictness
+(which we like to do) causes the compilation to fail.
+
+=item *
+
+Mixing declarations and code
+
+ void zorklator()
+ {
+ int n = 3;
+ set_zorkmids(n); /* BAD */
+ int q = 4;
+
+That is C99 or C++. Some C compilers allow that, but you shouldn't.
+
+The gcc option C<-Wdeclaration-after-statements> scans for such
+problems (by default on starting from Perl 5.9.4).
+
+=item *
+
+Introducing variables inside for()
+
+ for(int i = ...; ...; ...) { /* BAD */
+
+That is C99 or C++. While it would indeed be awfully nice to have that
+also in C89, to limit the scope of the loop variable, alas, we cannot.
+
+=item *
+
+Mixing signed char pointers with unsigned char pointers
+
+ int foo(char *s) { ... }
+ ...
+ unsigned char *t = ...; /* Or U8* t = ... */
+ foo(t); /* BAD */
+
+While this is legal practice, it is certainly dubious, and downright
+fatal in at least one platform: for example VMS cc considers this a
+fatal error. One cause for people often making this mistake is that a
+"naked char" and therefore dereferencing a "naked char pointer" have an
+undefined signedness: it depends on the compiler and the flags of the
+compiler and the underlying platform whether the result is signed or
+unsigned. For this very same reason using a 'char' as an array index is
+bad.
+
+=item *
+
+Macros that have string constants and their arguments as substrings of
+the string constants
+
+ #define FOO(n) printf("number = %d\n", n) /* BAD */
+ FOO(10);
+
+Pre-ANSI semantics for that was equivalent to
+
+ printf("10umber = %d\10");
+
+which is probably not what you were expecting. Unfortunately at least
+one reasonably common and modern C compiler does "real backward
+compatibility" here, in AIX that is what still happens even though the
+rest of the AIX compiler is very happily C89.
+
+=item *
+
+Using printf formats for non-basic C types
+
+ IV i = ...;
+ printf("i = %d\n", i); /* BAD */
+
+While this might by accident work in some platform (where IV happens to
+be an C<int>), in general it cannot. IV might be something larger. Even
+worse the situation is with more specific types (defined by Perl's
+configuration step in F<config.h>):
+
+ Uid_t who = ...;
+ printf("who = %d\n", who); /* BAD */
+
+The problem here is that Uid_t might be not only not C<int>-wide but it
+might also be unsigned, in which case large uids would be printed as
+negative values.
+
+There is no simple solution to this because of printf()'s limited
+intelligence, but for many types the right format is available as with
+either 'f' or '_f' suffix, for example:
+
+ IVdf /* IV in decimal */
+ UVxf /* UV is hexadecimal */
+
+ printf("i = %"IVdf"\n", i); /* The IVdf is a string constant. */
+
+ Uid_t_f /* Uid_t in decimal */
+
+ printf("who = %"Uid_t_f"\n", who);
+
+Or you can try casting to a "wide enough" type:
+
+ printf("i = %"IVdf"\n", (IV)something_very_small_and_signed);
+
+Also remember that the C<%p> format really does require a void pointer:
+
+ U8* p = ...;
+ printf("p = %p\n", (void*)p);
+
+The gcc option C<-Wformat> scans for such problems.
+
+=item *
+
+Blindly using variadic macros
+
+gcc has had them for a while with its own syntax, and C99 brought them
+with a standardized syntax. Don't use the former, and use the latter
+only if the HAS_C99_VARIADIC_MACROS is defined.
+
+=item *
+
+Blindly passing va_list
+
+Not all platforms support passing va_list to further varargs (stdarg)
+functions. The right thing to do is to copy the va_list using the
+Perl_va_copy() if the NEED_VA_COPY is defined.
+
+=item *
+
+Using gcc statement expressions
+
+ val = ({...;...;...}); /* BAD */
+
+While a nice extension, it's not portable. The Perl code does
+admittedly use them if available to gain some extra speed (essentially
+as a funky form of inlining), but you shouldn't.
+
+=item *
+
+Binding together several statements in a macro
+
+Use the macros STMT_START and STMT_END.
+
+ STMT_START {
+ ...
+ } STMT_END
+
+=item *
+
+Testing for operating systems or versions when should be testing for
+features
+
+ #ifdef __FOONIX__ /* BAD */
+ foo = quux();
+ #endif
+
+Unless you know with 100% certainty that quux() is only ever available
+for the "Foonix" operating system B<and> that is available B<and>
+correctly working for B<all> past, present, B<and> future versions of
+"Foonix", the above is very wrong. This is more correct (though still
+not perfect, because the below is a compile-time check):
+
+ #ifdef HAS_QUUX
+ foo = quux();
+ #endif
+
+How does the HAS_QUUX become defined where it needs to be? Well, if
+Foonix happens to be Unixy enough to be able to run the Configure
+script, and Configure has been taught about detecting and testing
+quux(), the HAS_QUUX will be correctly defined. In other platforms, the
+corresponding configuration step will hopefully do the same.
+
+In a pinch, if you cannot wait for Configure to be educated, or if you
+have a good hunch of where quux() might be available, you can
+temporarily try the following:
+
+ #if (defined(__FOONIX__) || defined(__BARNIX__))
+ # define HAS_QUUX
+ #endif
+
+ ...
+
+ #ifdef HAS_QUUX
+ foo = quux();
+ #endif
+
+But in any case, try to keep the features and operating systems
+separate.
+
+=back
+
+=head2 Problematic System Interfaces
+
+=over 4
+
+=item *
+
+malloc(0), realloc(0), calloc(0, 0) are non-portable. To be portable
+allocate at least one byte. (In general you should rarely need to work
+at this low level, but instead use the various malloc wrappers.)
+
+=item *
+
+snprintf() - the return type is unportable. Use my_snprintf() instead.
+
+=back
+
+=head2 Security problems
+
+Last but not least, here are various tips for safer coding.
+
+=over 4
+
+=item *
+
+Do not use gets()
+
+Or we will publicly ridicule you. Seriously.
+
+=item *
+
+Do not use strcpy() or strcat() or strncpy() or strncat()
+
+Use my_strlcpy() and my_strlcat() instead: they either use the native
+implementation, or Perl's own implementation (borrowed from the public
+domain implementation of INN).
+
+=item *
+
+Do not use sprintf() or vsprintf()
+
+If you really want just plain byte strings, use my_snprintf() and
+my_vsnprintf() instead, which will try to use snprintf() and
+vsnprintf() if those safer APIs are available. If you want something
+fancier than a plain byte string, use SVs and Perl_sv_catpvf().
+
+=back
+
+=head1 DEBUGGING
+
+You can compile a special debugging version of Perl, which allows you
+to use the C<-D> option of Perl to tell more about what Perl is doing.
+But sometimes there is no alternative than to dive in with a debugger,
+either to see the stack trace of a core dump (very useful in a bug
+report), or trying to figure out what went wrong before the core dump
+happened, or how did we end up having wrong or unexpected results.
+
+=head2 Poking at Perl
+
+To really poke around with Perl, you'll probably want to build Perl for
+debugging, like this:
+
+ ./Configure -d -D optimize=-g
+ make
+
+C<-g> is a flag to the C compiler to have it produce debugging
+information which will allow us to step through a running program, and
+to see in which C function we are at (without the debugging information
+we might see only the numerical addresses of the functions, which is
+not very helpful).
+
+F<Configure> will also turn on the C<DEBUGGING> compilation symbol
+which enables all the internal debugging code in Perl. There are a
+whole bunch of things you can debug with this: L<perlrun> lists them
+all, and the best way to find out about them is to play about with
+them. The most useful options are probably
+
+ l Context (loop) stack processing
+ t Trace execution
+ o Method and overloading resolution
+ c String/numeric conversions
+
+Some of the functionality of the debugging code can be achieved using
+XS modules.
+
+ -Dr => use re 'debug'
+ -Dx => use O 'Debug'
+
+=head2 Using a source-level debugger
+
+If the debugging output of C<-D> doesn't help you, it's time to step
+through perl's execution with a source-level debugger.
+
+=over 3
+
+=item *
+
+We'll use C<gdb> for our examples here; the principles will apply to
+any debugger (many vendors call their debugger C<dbx>), but check the
+manual of the one you're using.
+
+=back
+
+To fire up the debugger, type
+
+ gdb ./perl
+
+Or if you have a core dump:
+
+ gdb ./perl core
+
+You'll want to do that in your Perl source tree so the debugger can
+read the source code. You should see the copyright message, followed by
+the prompt.
+
+ (gdb)
+
+C<help> will get you into the documentation, but here are the most
+useful commands:
+
+=over 3
+
+=item * run [args]
+
+Run the program with the given arguments.
+
+=item * break function_name
+
+=item * break source.c:xxx
+
+Tells the debugger that we'll want to pause execution when we reach
+either the named function (but see L<perlguts/Internal Functions>!) or
+the given line in the named source file.
+
+=item * step
+
+Steps through the program a line at a time.
+
+=item * next
+
+Steps through the program a line at a time, without descending into
+functions.
+
+=item * continue
+
+Run until the next breakpoint.
+
+=item * finish
+
+Run until the end of the current function, then stop again.
+
+=item * 'enter'
+
+Just pressing Enter will do the most recent operation again - it's a
+blessing when stepping through miles of source code.
+
+=item * print
+
+Execute the given C code and print its results. B<WARNING>: Perl makes
+heavy use of macros, and F<gdb> does not necessarily support macros
+(see later L</"gdb macro support">). You'll have to substitute them
+yourself, or to invoke cpp on the source code files (see L</"The .i
+Targets">) So, for instance, you can't say
+
+ print SvPV_nolen(sv)
+
+but you have to say
+
+ print Perl_sv_2pv_nolen(sv)
+
+=back
+
+You may find it helpful to have a "macro dictionary", which you can
+produce by saying C<cpp -dM perl.c | sort>. Even then, F<cpp> won't
+recursively apply those macros for you.
+
+=head2 gdb macro support
+
+Recent versions of F<gdb> have fairly good macro support, but in order
+to use it you'll need to compile perl with macro definitions included
+in the debugging information. Using F<gcc> version 3.1, this means
+configuring with C<-Doptimize=-g3>. Other compilers might use a
+different switch (if they support debugging macros at all).
+
+=head2 Dumping Perl Data Structures
+
+One way to get around this macro hell is to use the dumping functions
+in F<dump.c>; these work a little like an internal
+L<Devel::Peek|Devel::Peek>, but they also cover OPs and other
+structures that you can't get at from Perl. Let's take an example.
+We'll use the C<$a = $b + $c> we used before, but give it a bit of
+context: C<$b = "6XXXX"; $c = 2.3;>. Where's a good place to stop and
+poke around?
+
+What about C<pp_add>, the function we examined earlier to implement the
+C<+> operator:
+
+ (gdb) break Perl_pp_add
+ Breakpoint 1 at 0x46249f: file pp_hot.c, line 309.
+
+Notice we use C<Perl_pp_add> and not C<pp_add> - see
+L<perlguts/Internal Functions>. With the breakpoint in place, we can
+run our program:
+
+ (gdb) run -e '$b = "6XXXX"; $c = 2.3; $a = $b + $c'
+
+Lots of junk will go past as gdb reads in the relevant source files and
+libraries, and then:
+
+ Breakpoint 1, Perl_pp_add () at pp_hot.c:309
+ 309 dSP; dATARGET; tryAMAGICbin(add,opASSIGN);
+ (gdb) step
+ 311 dPOPTOPnnrl_ul;
+ (gdb)
+
+We looked at this bit of code before, and we said that
+C<dPOPTOPnnrl_ul> arranges for two C<NV>s to be placed into C<left> and
+C<right> - let's slightly expand it:
+
+ #define dPOPTOPnnrl_ul NV right = POPn; \
+ SV *leftsv = TOPs; \
+ NV left = USE_LEFT(leftsv) ? SvNV(leftsv) : 0.0
+
+C<POPn> takes the SV from the top of the stack and obtains its NV
+either directly (if C<SvNOK> is set) or by calling the C<sv_2nv>
+function. C<TOPs> takes the next SV from the top of the stack - yes,
+C<POPn> uses C<TOPs> - but doesn't remove it. We then use C<SvNV> to
+get the NV from C<leftsv> in the same way as before - yes, C<POPn> uses
+C<SvNV>.
+
+Since we don't have an NV for C<$b>, we'll have to use C<sv_2nv> to
+convert it. If we step again, we'll find ourselves there:
+
+ Perl_sv_2nv (sv=0xa0675d0) at sv.c:1669
+ 1669 if (!sv)
+ (gdb)
+
+We can now use C<Perl_sv_dump> to investigate the SV:
+
+ SV = PV(0xa057cc0) at 0xa0675d0
+ REFCNT = 1
+ FLAGS = (POK,pPOK)
+ PV = 0xa06a510 "6XXXX"\0
+ CUR = 5
+ LEN = 6
+ $1 = void
+
+We know we're going to get C<6> from this, so let's finish the
+subroutine:
+
+ (gdb) finish
+ Run till exit from #0 Perl_sv_2nv (sv=0xa0675d0) at sv.c:1671
+ 0x462669 in Perl_pp_add () at pp_hot.c:311
+ 311 dPOPTOPnnrl_ul;
+
+We can also dump out this op: the current op is always stored in
+C<PL_op>, and we can dump it with C<Perl_op_dump>. This'll give us
+similar output to L<B::Debug|B::Debug>.
+
+ {
+ 13 TYPE = add ===> 14
+ TARG = 1
+ FLAGS = (SCALAR,KIDS)
+ {
+ TYPE = null ===> (12)
+ (was rv2sv)
+ FLAGS = (SCALAR,KIDS)
+ {
+ 11 TYPE = gvsv ===> 12
+ FLAGS = (SCALAR)
+ GV = main::b
+ }
+ }
+
+# finish this later #
+
+=head1 SOURCE CODE STATIC ANALYSIS
+
+Various tools exist for analysing C source code B<statically>, as
+opposed to B<dynamically>, that is, without executing the code. It is
+possible to detect resource leaks, undefined behaviour, type
+mismatches, portability problems, code paths that would cause illegal
+memory accesses, and other similar problems by just parsing the C code
+and looking at the resulting graph, what does it tell about the
+execution and data flows. As a matter of fact, this is exactly how C
+compilers know to give warnings about dubious code.
+
+=head2 lint, splint
+
+The good old C code quality inspector, C<lint>, is available in several
+platforms, but please be aware that there are several different
+implementations of it by different vendors, which means that the flags
+are not identical across different platforms.
+
+There is a lint variant called C<splint> (Secure Programming Lint)
+available from http://www.splint.org/ that should compile on any
+Unix-like platform.
+
+There are C<lint> and <splint> targets in Makefile, but you may have to
+diddle with the flags (see above).
+
+=head2 Coverity
+
+Coverity (http://www.coverity.com/) is a product similar to lint and as
+a testbed for their product they periodically check several open source
+projects, and they give out accounts to open source developers to the
+defect databases.
+
+=head2 cpd (cut-and-paste detector)
+
+The cpd tool detects cut-and-paste coding. If one instance of the
+cut-and-pasted code changes, all the other spots should probably be
+changed, too. Therefore such code should probably be turned into a
+subroutine or a macro.
+
+cpd (http://pmd.sourceforge.net/cpd.html) is part of the pmd project
+(http://pmd.sourceforge.net/). pmd was originally written for static
+analysis of Java code, but later the cpd part of it was extended to
+parse also C and C++.
+
+Download the pmd-bin-X.Y.zip () from the SourceForge site, extract the
+pmd-X.Y.jar from it, and then run that on source code thusly:
+
+ java -cp pmd-X.Y.jar net.sourceforge.pmd.cpd.CPD --minimum-tokens 100 --files /some/where/src --language c > cpd.txt
+
+You may run into memory limits, in which case you should use the -Xmx
+option:
+
+ java -Xmx512M ...
+
+=head2 gcc warnings
+
+Though much can be written about the inconsistency and coverage
+problems of gcc warnings (like C<-Wall> not meaning "all the warnings",
+or some common portability problems not being covered by C<-Wall>, or
+C<-ansi> and C<-pedantic> both being a poorly defined collection of
+warnings, and so forth), gcc is still a useful tool in keeping our
+coding nose clean.
+
+The C<-Wall> is by default on.
+
+The C<-ansi> (and its sidekick, C<-pedantic>) would be nice to be on
+always, but unfortunately they are not safe on all platforms, they can
+for example cause fatal conflicts with the system headers (Solaris
+being a prime example). If Configure C<-Dgccansipedantic> is used, the
+C<cflags> frontend selects C<-ansi -pedantic> for the platforms where
+they are known to be safe.
+
+Starting from Perl 5.9.4 the following extra flags are added:
+
+=over 4
+
+=item *
+
+C<-Wendif-labels>
+
+=item *
+
+C<-Wextra>
+
+=item *
+
+C<-Wdeclaration-after-statement>
+
+=back
+
+The following flags would be nice to have but they would first need
+their own Augean stablemaster:
+
+=over 4
+
+=item *
+
+C<-Wpointer-arith>
+
+=item *
+
+C<-Wshadow>
+
+=item *
+
+C<-Wstrict-prototypes>
+
+=back
+
+The C<-Wtraditional> is another example of the annoying tendency of gcc
+to bundle a lot of warnings under one switch (it would be impossible to
+deploy in practice because it would complain a lot) but it does contain
+some warnings that would be beneficial to have available on their own,
+such as the warning about string constants inside macros containing the
+macro arguments: this behaved differently pre-ANSI than it does in
+ANSI, and some C compilers are still in transition, AIX being an
+example.
+
+=head2 Warnings of other C compilers
+
+Other C compilers (yes, there B<are> other C compilers than gcc) often
+have their "strict ANSI" or "strict ANSI with some portability
+extensions" modes on, like for example the Sun Workshop has its C<-Xa>
+mode on (though implicitly), or the DEC (these days, HP...) has its
+C<-std1> mode on.
+
+=head1 MEMORY DEBUGGERS
+
+B<NOTE 1>: Running under memory debuggers such as Purify, valgrind, or
+Third Degree greatly slows down the execution: seconds become minutes,
+minutes become hours. For example as of Perl 5.8.1, the
+ext/Encode/t/Unicode.t takes extraordinarily long to complete under
+e.g. Purify, Third Degree, and valgrind. Under valgrind it takes more
+than six hours, even on a snappy computer. The said test must be doing
+something that is quite unfriendly for memory debuggers. If you don't
+feel like waiting, that you can simply kill away the perl process.
+
+B<NOTE 2>: To minimize the number of memory leak false alarms (see
+L</PERL_DESTRUCT_LEVEL> for more information), you have to set the
+environment variable PERL_DESTRUCT_LEVEL to 2.
+
+For csh-like shells:
+
+ setenv PERL_DESTRUCT_LEVEL 2
+
+For Bourne-type shells:
+
+ PERL_DESTRUCT_LEVEL=2
+ export PERL_DESTRUCT_LEVEL
+
+In Unixy environments you can also use the C<env> command:
+
+ env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib ...
+
+B<NOTE 3>: There are known memory leaks when there are compile-time
+errors within eval or require, seeing C<S_doeval> in the call stack is
+a good sign of these. Fixing these leaks is non-trivial, unfortunately,
+but they must be fixed eventually.
+
+B<NOTE 4>: L<DynaLoader> will not clean up after itself completely
+unless Perl is built with the Configure option
+C<-Accflags=-DDL_UNLOAD_ALL_AT_EXIT>.
+
+=head2 Rational Software's Purify
+
+Purify is a commercial tool that is helpful in identifying memory
+overruns, wild pointers, memory leaks and other such badness. Perl must
+be compiled in a specific way for optimal testing with Purify. Purify
+is available under Windows NT, Solaris, HP-UX, SGI, and Siemens Unix.
+
+=head3 Purify on Unix
+
+On Unix, Purify creates a new Perl binary. To get the most benefit out
+of Purify, you should create the perl to Purify using:
+
+ sh Configure -Accflags=-DPURIFY -Doptimize='-g' \
+ -Uusemymalloc -Dusemultiplicity
+
+where these arguments mean:
+
+=over 4
+
+=item * -Accflags=-DPURIFY
+
+Disables Perl's arena memory allocation functions, as well as forcing
+use of memory allocation functions derived from the system malloc.
+
+=item * -Doptimize='-g'
+
+Adds debugging information so that you see the exact source statements
+where the problem occurs. Without this flag, all you will see is the
+source filename of where the error occurred.
+
+=item * -Uusemymalloc
+
+Disable Perl's malloc so that Purify can more closely monitor
+allocations and leaks. Using Perl's malloc will make Purify report most
+leaks in the "potential" leaks category.
+
+=item * -Dusemultiplicity
+
+Enabling the multiplicity option allows perl to clean up thoroughly
+when the interpreter shuts down, which reduces the number of bogus leak
+reports from Purify.
+
+=back
+
+Once you've compiled a perl suitable for Purify'ing, then you can just:
+
+ make pureperl
+
+which creates a binary named 'pureperl' that has been Purify'ed. This
+binary is used in place of the standard 'perl' binary when you want to
+debug Perl memory problems.
+
+As an example, to show any memory leaks produced during the standard
+Perl testset you would create and run the Purify'ed perl as:
+
+ make pureperl
+ cd t
+ ../pureperl -I../lib harness
+
+which would run Perl on test.pl and report any memory problems.
+
+Purify outputs messages in "Viewer" windows by default. If you don't
+have a windowing environment or if you simply want the Purify output to
+unobtrusively go to a log file instead of to the interactive window,
+use these following options to output to the log file "perl.log":
+
+ setenv PURIFYOPTIONS "-chain-length=25 -windows=no \
+ -log-file=perl.log -append-logfile=yes"
+
+If you plan to use the "Viewer" windows, then you only need this
+option:
+
+ setenv PURIFYOPTIONS "-chain-length=25"
+
+In Bourne-type shells:
+
+ PURIFYOPTIONS="..."
+ export PURIFYOPTIONS
+
+or if you have the "env" utility:
+
+ env PURIFYOPTIONS="..." ../pureperl ...
+
+=head3 Purify on NT
+
+Purify on Windows NT instruments the Perl binary 'perl.exe' on the fly.
+ There are several options in the makefile you should change to get the
+most use out of Purify:
+
+=over 4
+
+=item * DEFINES
+
+You should add -DPURIFY to the DEFINES line so the DEFINES line looks
+something like:
+
+ DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) -DPURIFY=1
+
+to disable Perl's arena memory allocation functions, as well as to
+force use of memory allocation functions derived from the system
+malloc.
+
+=item * USE_MULTI = define
+
+Enabling the multiplicity option allows perl to clean up thoroughly
+when the interpreter shuts down, which reduces the number of bogus leak
+reports from Purify.
+
+=item * #PERL_MALLOC = define
+
+Disable Perl's malloc so that Purify can more closely monitor
+allocations and leaks. Using Perl's malloc will make Purify report most
+leaks in the "potential" leaks category.
+
+=item * CFG = Debug
+
+Adds debugging information so that you see the exact source statements
+where the problem occurs. Without this flag, all you will see is the
+source filename of where the error occurred.
+
+=back
+
+As an example, to show any memory leaks produced during the standard
+Perl testset you would create and run Purify as:
+
+ cd win32
+ make
+ cd ../t
+ purify ../perl -I../lib harness
+
+which would instrument Perl in memory, run Perl on test.pl, then
+finally report any memory problems.
+
+=head2 valgrind
+
+The excellent valgrind tool can be used to find out both memory leaks
+and illegal memory accesses. As of version 3.3.0, Valgrind only
+supports Linux on x86, x86-64 and PowerPC. The special "test.valgrind"
+target can be used to run the tests under valgrind. Found errors and
+memory leaks are logged in files named F<testfile.valgrind>.
+
+Valgrind also provides a cachegrind tool, invoked on perl as:
+
+ VG_OPTS=--tool=cachegrind make test.valgrind
+
+As system libraries (most notably glibc) are also triggering errors,
+valgrind allows to suppress such errors using suppression files. The
+default suppression file that comes with valgrind already catches a lot
+of them. Some additional suppressions are defined in F<t/perl.supp>.
+
+To get valgrind and for more information see
+
+ http://developer.kde.org/~sewardj/
+
+=head1 PROFILING
+
+Depending on your platform there are various ways of profiling Perl.
+
+There are two commonly used techniques of profiling executables:
+I<statistical time-sampling> and I<basic-block counting>.
+
+The first method takes periodically samples of the CPU program counter,
+and since the program counter can be correlated with the code generated
+for functions, we get a statistical view of in which functions the
+program is spending its time. The caveats are that very small/fast
+functions have lower probability of showing up in the profile, and that
+periodically interrupting the program (this is usually done rather
+frequently, in the scale of milliseconds) imposes an additional
+overhead that may skew the results. The first problem can be alleviated
+by running the code for longer (in general this is a good idea for
+profiling), the second problem is usually kept in guard by the
+profiling tools themselves.
+
+The second method divides up the generated code into I<basic blocks>.
+Basic blocks are sections of code that are entered only in the
+beginning and exited only at the end. For example, a conditional jump
+starts a basic block. Basic block profiling usually works by
+I<instrumenting> the code by adding I<enter basic block #nnnn>
+book-keeping code to the generated code. During the execution of the
+code the basic block counters are then updated appropriately. The
+caveat is that the added extra code can skew the results: again, the
+profiling tools usually try to factor their own effects out of the
+results.
+
+=head2 Gprof Profiling
+
+gprof is a profiling tool available in many Unix platforms, it uses
+F<statistical time-sampling>.
+
+You can build a profiled version of perl called "perl.gprof" by
+invoking the make target "perl.gprof" (What is required is that Perl
+must be compiled using the C<-pg> flag, you may need to re-Configure).
+Running the profiled version of Perl will create an output file called
+F<gmon.out> is created which contains the profiling data collected
+during the execution.
+
+The gprof tool can then display the collected data in various ways.
+Usually gprof understands the following options:
+
+=over 4
+
+=item * -a
+
+Suppress statically defined functions from the profile.
+
+=item * -b
+
+Suppress the verbose descriptions in the profile.
+
+=item * -e routine
+
+Exclude the given routine and its descendants from the profile.
+
+=item * -f routine
+
+Display only the given routine and its descendants in the profile.
+
+=item * -s
+
+Generate a summary file called F<gmon.sum> which then may be given to
+subsequent gprof runs to accumulate data over several runs.
+
+=item * -z
+
+Display routines that have zero usage.
+
+=back
+
+For more detailed explanation of the available commands and output
+formats, see your own local documentation of gprof.
+
+quick hint:
+
+ $ sh Configure -des -Dusedevel -Doptimize='-pg' && make perl.gprof
+ $ ./perl.gprof someprog # creates gmon.out in current directory
+ $ gprof ./perl.gprof > out
+ $ view out
+
+=head2 GCC gcov Profiling
+
+Starting from GCC 3.0 I<basic block profiling> is officially available
+for the GNU CC.
+
+You can build a profiled version of perl called F<perl.gcov> by
+invoking the make target "perl.gcov" (what is required that Perl must
+be compiled using gcc with the flags C<-fprofile-arcs -ftest-coverage>,
+you may need to re-Configure).
+
+Running the profiled version of Perl will cause profile output to be
+generated. For each source file an accompanying ".da" file will be
+created.
+
+To display the results you use the "gcov" utility (which should be
+installed if you have gcc 3.0 or newer installed). F<gcov> is run on
+source code files, like this
+
+ gcov sv.c
+
+which will cause F<sv.c.gcov> to be created. The F<.gcov> files contain
+the source code annotated with relative frequencies of execution
+indicated by "#" markers.
+
+Useful options of F<gcov> include C<-b> which will summarise the basic
+block, branch, and function call coverage, and C<-c> which instead of
+relative frequencies will use the actual counts. For more information
+on the use of F<gcov> and basic block profiling with gcc, see the
+latest GNU CC manual, as of GCC 3.0 see
+
+ http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc.html
+
+and its section titled "8. gcov: a Test Coverage Program"
+
+ http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html#SEC132
+
+quick hint:
+
+ $ sh Configure -des -Dusedevel -Doptimize='-g' \
+ -Accflags='-fprofile-arcs -ftest-coverage' \
+ -Aldflags='-fprofile-arcs -ftest-coverage' && make perl.gcov
+ $ rm -f regexec.c.gcov regexec.gcda
+ $ ./perl.gcov
+ $ gcov regexec.c
+ $ view regexec.c.gcov
+
+=head1 MISCELLANEOUS TRICKS
+
+=head2 PERL_DESTRUCT_LEVEL
+
+If you want to run any of the tests yourself manually using e.g.
+valgrind, or the pureperl or perl.third executables, please note that
+by default perl B<does not> explicitly cleanup all the memory it has
+allocated (such as global memory arenas) but instead lets the exit() of
+the whole program "take care" of such allocations, also known as
+"global destruction of objects".
+
+There is a way to tell perl to do complete cleanup: set the environment
+variable PERL_DESTRUCT_LEVEL to a non-zero value. The t/TEST wrapper
+does set this to 2, and this is what you need to do too, if you don't
+want to see the "global leaks": For example, for "third-degreed" Perl:
+
+ env PERL_DESTRUCT_LEVEL=2 ./perl.third -Ilib t/foo/bar.t
+
+(Note: the mod_perl apache module uses also this environment variable
+for its own purposes and extended its semantics. Refer to the mod_perl
+documentation for more information. Also, spawned threads do the
+equivalent of setting this variable to the value 1.)
+
+If, at the end of a run you get the message I<N scalars leaked>, you
+can recompile with C<-DDEBUG_LEAKING_SCALARS>, which will cause the
+addresses of all those leaked SVs to be dumped along with details as to
+where each SV was originally allocated. This information is also
+displayed by Devel::Peek. Note that the extra details recorded with
+each SV increases memory usage, so it shouldn't be used in production
+environments. It also converts C<new_SV()> from a macro into a real
+function, so you can use your favourite debugger to discover where
+those pesky SVs were allocated.
+
+If you see that you're leaking memory at runtime, but neither valgrind
+nor C<-DDEBUG_LEAKING_SCALARS> will find anything, you're probably
+leaking SVs that are still reachable and will be properly cleaned up
+during destruction of the interpreter. In such cases, using the C<-Dm>
+switch can point you to the source of the leak. If the executable was
+built with C<-DDEBUG_LEAKING_SCALARS>, C<-Dm> will output SV
+allocations in addition to memory allocations. Each SV allocation has a
+distinct serial number that will be written on creation and destruction
+of the SV. So if you're executing the leaking code in a loop, you need
+to look for SVs that are created, but never destroyed between each
+cycle. If such an SV is found, set a conditional breakpoint within
+C<new_SV()> and make it break only when C<PL_sv_serial> is equal to the
+serial number of the leaking SV. Then you will catch the interpreter in
+exactly the state where the leaking SV is allocated, which is
+sufficient in many cases to find the source of the leak.
+
+As C<-Dm> is using the PerlIO layer for output, it will by itself
+allocate quite a bunch of SVs, which are hidden to avoid recursion. You
+can bypass the PerlIO layer if you use the SV logging provided by
+C<-DPERL_MEM_LOG> instead.
+
+=head2 PERL_MEM_LOG
+
+If compiled with C<-DPERL_MEM_LOG>, both memory and SV allocations go
+through logging functions, which is handy for breakpoint setting.
+
+Unless C<-DPERL_MEM_LOG_NOIMPL> is also compiled, the logging functions
+read $ENV{PERL_MEM_LOG} to determine whether to log the event, and if
+so how:
+
+ $ENV{PERL_MEM_LOG} =~ /m/ Log all memory ops
+ $ENV{PERL_MEM_LOG} =~ /s/ Log all SV ops
+ $ENV{PERL_MEM_LOG} =~ /t/ include timestamp in Log
+ $ENV{PERL_MEM_LOG} =~ /^(\d+)/ write to FD given (default is 2)
+
+Memory logging is somewhat similar to C<-Dm> but is independent of
+C<-DDEBUGGING>, and at a higher level; all uses of Newx(), Renew(), and
+Safefree() are logged with the caller's source code file and line
+number (and C function name, if supported by the C compiler). In
+contrast, C<-Dm> is directly at the point of C<malloc()>. SV logging is
+similar.
+
+Since the logging doesn't use PerlIO, all SV allocations are logged and
+no extra SV allocations are introduced by enabling the logging. If
+compiled with C<-DDEBUG_LEAKING_SCALARS>, the serial number for each SV
+allocation is also logged.
+
+=head2 DDD over gdb
+
+Those debugging perl with the DDD frontend over gdb may find the
+following useful:
+
+You can extend the data conversion shortcuts menu, so for example you
+can display an SV's IV value with one click, without doing any typing.
+To do that simply edit ~/.ddd/init file and add after:
+
+ ! Display shortcuts.
+ Ddd*gdbDisplayShortcuts: \
+ /t () // Convert to Bin\n\
+ /d () // Convert to Dec\n\
+ /x () // Convert to Hex\n\
+ /o () // Convert to Oct(\n\
+
+the following two lines:
+
+ ((XPV*) (())->sv_any )->xpv_pv // 2pvx\n\
+ ((XPVIV*) (())->sv_any )->xiv_iv // 2ivx
+
+so now you can do ivx and pvx lookups or you can plug there the sv_peek
+"conversion":
+
+ Perl_sv_peek(my_perl, (SV*)()) // sv_peek
+
+(The my_perl is for threaded builds.) Just remember that every line,
+but the last one, should end with \n\
+
+Alternatively edit the init file interactively via: 3rd mouse button ->
+New Display -> Edit Menu
+
+Note: you can define up to 20 conversion shortcuts in the gdb section.
+
+=head2 Poison
+
+If you see in a debugger a memory area mysteriously full of 0xABABABAB
+or 0xEFEFEFEF, you may be seeing the effect of the Poison() macros, see
+L<perlclib>.
+
+=head2 Read-only optrees
+
+Under ithreads the optree is read only. If you want to enforce this, to
+check for write accesses from buggy code, compile with
+C<-DPL_OP_SLAB_ALLOC> to enable the OP slab allocator and
+C<-DPERL_DEBUG_READONLY_OPS> to enable code that allocates op memory
+via C<mmap>, and sets it read-only at run time. Any write access to an
+op results in a C<SIGBUS> and abort.
+
+This code is intended for development only, and may not be portable
+even to all Unix variants. Also, it is an 80% solution, in that it
+isn't able to make all ops read only. Specifically it
+
+=over
+
+=item * 1
+
+Only sets read-only on all slabs of ops at C<CHECK> time, hence ops
+allocated later via C<require> or C<eval> will be re-write
+
+=item * 2
+
+Turns an entire slab of ops read-write if the refcount of any op in the
+slab needs to be decreased.
+
+=item * 3
+
+Turns an entire slab of ops read-write if any op from the slab is
+freed.
+
+=back
+
+It's not possible to turn the slabs to read-only after an action
+requiring read-write access, as either can happen during op tree
+building time, so there may still be legitimate write access.
+
+However, as an 80% solution it is still effective, as currently it
+catches a write access during the generation of F<Config.pm>, which
+means that we can't yet build F<perl> with this enabled.
+
+=head2 The .i Targets
+
+You can expand the macros in a F<foo.c> file by saying
+
+ make foo.i
+
+which will expand the macros using cpp. Don't be scared by the results.
+
+=head1 AUTHOR
+
+This document was originally written by Nathan Torkington, and is
+maintained by the perl5-porters mailing list.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhacktut.pod b/Master/tlpkg/tlperl/lib/pods/perlhacktut.pod
new file mode 100644
index 00000000000..33a9ef23e8d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlhacktut.pod
@@ -0,0 +1,188 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlhacktut.pod
+
+=head1 NAME
+
+perlhacktut - Walk through the creation of a simple C code patch
+
+=head1 DESCRIPTION
+
+This document takes you through a simple patch example.
+
+If you haven't read L<perlhack> yet, go do that first! You might also
+want to read through L<perlsource> too.
+
+Once you're done here, check out L<perlhacktips> next.
+
+=head1 EXAMPLE OF A SIMPLE PATCH
+
+Let's take a simple patch from start to finish.
+
+Here's something Larry suggested: if a C<U> is the first active format
+during a C<pack>, (for example, C<pack "U3C8", @stuff>) then the
+resulting string should be treated as UTF-8 encoded.
+
+If you are working with a git clone of the Perl repository, you will
+want to create a branch for your changes. This will make creating a
+proper patch much simpler. See the L<perlgit> for details on how to do
+this.
+
+=head2 Writing the patch
+
+How do we prepare to fix this up? First we locate the code in question
+- the C<pack> happens at runtime, so it's going to be in one of the
+F<pp> files. Sure enough, C<pp_pack> is in F<pp.c>. Since we're going
+to be altering this file, let's copy it to F<pp.c~>.
+
+[Well, it was in F<pp.c> when this tutorial was written. It has now
+been split off with C<pp_unpack> to its own file, F<pp_pack.c>]
+
+Now let's look over C<pp_pack>: we take a pattern into C<pat>, and then
+loop over the pattern, taking each format character in turn into
+C<datum_type>. Then for each possible format character, we swallow up
+the other arguments in the pattern (a field width, an asterisk, and so
+on) and convert the next chunk input into the specified format, adding
+it onto the output SV C<cat>.
+
+How do we know if the C<U> is the first format in the C<pat>? Well, if
+we have a pointer to the start of C<pat> then, if we see a C<U> we can
+test whether we're still at the start of the string. So, here's where
+C<pat> is set up:
+
+ STRLEN fromlen;
+ register char *pat = SvPVx(*++MARK, fromlen);
+ register char *patend = pat + fromlen;
+ register I32 len;
+ I32 datumtype;
+ SV *fromstr;
+
+We'll have another string pointer in there:
+
+ STRLEN fromlen;
+ register char *pat = SvPVx(*++MARK, fromlen);
+ register char *patend = pat + fromlen;
+ + char *patcopy;
+ register I32 len;
+ I32 datumtype;
+ SV *fromstr;
+
+And just before we start the loop, we'll set C<patcopy> to be the start
+of C<pat>:
+
+ items = SP - MARK;
+ MARK++;
+ sv_setpvn(cat, "", 0);
+ + patcopy = pat;
+ while (pat < patend) {
+
+Now if we see a C<U> which was at the start of the string, we turn on
+the C<UTF8> flag for the output SV, C<cat>:
+
+ + if (datumtype == 'U' && pat==patcopy+1)
+ + SvUTF8_on(cat);
+ if (datumtype == '#') {
+ while (pat < patend && *pat != '\n')
+ pat++;
+
+Remember that it has to be C<patcopy+1> because the first character of
+the string is the C<U> which has been swallowed into C<datumtype!>
+
+Oops, we forgot one thing: what if there are spaces at the start of the
+pattern? C<pack(" U*", @stuff)> will have C<U> as the first active
+character, even though it's not the first thing in the pattern. In this
+case, we have to advance C<patcopy> along with C<pat> when we see
+spaces:
+
+ if (isSPACE(datumtype))
+ continue;
+
+needs to become
+
+ if (isSPACE(datumtype)) {
+ patcopy++;
+ continue;
+ }
+
+OK. That's the C part done. Now we must do two additional things before
+this patch is ready to go: we've changed the behaviour of Perl, and so
+we must document that change. We must also provide some more regression
+tests to make sure our patch works and doesn't create a bug somewhere
+else along the line.
+
+=head2 Testing the patch
+
+The regression tests for each operator live in F<t/op/>, and so we make
+a copy of F<t/op/pack.t> to F<t/op/pack.t~>. Now we can add our tests
+to the end. First, we'll test that the C<U> does indeed create Unicode
+strings.
+
+t/op/pack.t has a sensible ok() function, but if it didn't we could use
+the one from t/test.pl.
+
+ require './test.pl';
+ plan( tests => 159 );
+
+so instead of this:
+
+ print 'not ' unless "1.20.300.4000" eq sprintf "%vd",
+ pack("U*",1,20,300,4000);
+ print "ok $test\n"; $test++;
+
+we can write the more sensible (see L<Test::More> for a full
+explanation of is() and other testing functions).
+
+ is( "1.20.300.4000", sprintf "%vd", pack("U*",1,20,300,4000),
+ "U* produces Unicode" );
+
+Now we'll test that we got that space-at-the-beginning business right:
+
+ is( "1.20.300.4000", sprintf "%vd", pack(" U*",1,20,300,4000),
+ " with spaces at the beginning" );
+
+And finally we'll test that we don't make Unicode strings if C<U> is
+B<not> the first active format:
+
+ isnt( v1.20.300.4000, sprintf "%vd", pack("C0U*",1,20,300,4000),
+ "U* not first isn't Unicode" );
+
+Mustn't forget to change the number of tests which appears at the top,
+or else the automated tester will get confused. This will either look
+like this:
+
+ print "1..156\n";
+
+or this:
+
+ plan( tests => 156 );
+
+We now compile up Perl, and run it through the test suite. Our new
+tests pass, hooray!
+
+=head2 Documenting the patch
+
+Finally, the documentation. The job is never done until the paperwork
+is over, so let's describe the change we've just made. The relevant
+place is F<pod/perlfunc.pod>; again, we make a copy, and then we'll
+insert this text in the description of C<pack>:
+
+ =item *
+
+ If the pattern begins with a C<U>, the resulting string will be treated
+ as UTF-8-encoded Unicode. You can force UTF-8 encoding on in a string
+ with an initial C<U0>, and the bytes that follow will be interpreted as
+ Unicode characters. If you don't want this to happen, you can begin
+ your pattern with C<C0> (or anything else) to force Perl not to UTF-8
+ encode your string, and then follow this with a C<U*> somewhere in your
+ pattern.
+
+=head2 Submit
+
+See L<perlhack> for details on how to submit this patch.
+
+=head1 AUTHOR
+
+This document was originally written by Nathan Torkington, and is
+maintained by the perl5-porters mailing list.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod b/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod
index c4b6ab79ef3..43215cde720 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod
@@ -22,9 +22,9 @@ The build procedure is completely standard:
Make perl executable and create a symlink for libperl:
chmod a+x /boot/common/bin/perl
- cd /boot/common/lib; ln -s perl5/5.12.3/BePC-haiku/CORE/libperl.so .
+ cd /boot/common/lib; ln -s perl5/5.14.2/BePC-haiku/CORE/libperl.so .
-Replace C<5.12.3> with your respective version of Perl.
+Replace C<5.14.2> with your respective version of Perl.
=head1 KNOWN PROBLEMS
@@ -57,7 +57,7 @@ fail. This is due to bugs in Haiku's network stack implementation.
=head1 CONTACT
For Haiku specific problems contact the HaikuPorts developers:
-http://ports.haiku-files.org/
+L<http://ports.haiku-files.org/>
The initial Haiku port was done by Ingo Weinhold <ingo_weinhold@gmx.de>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhist.pod b/Master/tlpkg/tlperl/lib/pods/perlhist.pod
index 43ac8e91630..c694cc1c254 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhist.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhist.pod
@@ -1,3 +1,5 @@
+=encoding utf8
+
=head1 NAME
perlhist - the Perl history records
@@ -26,7 +28,9 @@ Larry Wall, Andy Dougherty, Tom Christiansen, Charles Bailey, Nick
Ing-Simmons, Chip Salzenberg, Tim Bunce, Malcolm Beattie, Gurusamy
Sarathy, Graham Barr, Jarkko Hietaniemi, Hugo van der Sanden,
Michael Schwern, Rafael Garcia-Suarez, Nicholas Clark, Richard Clamp,
-Leon Brocard, Dave Mitchell, Jesse Vincent, Ricardo Signes, Steve Hay.
+Leon Brocard, Dave Mitchell, Jesse Vincent, Ricardo Signes, Steve Hay,
+Matt S Trout, David Golden, Florian Ragwitz, Tatsuhiko Miyagawa,
+Chris C<BinGOs> Williams, Zefram and Ævar Arnfjörð Bjarmason.
=head2 PUMPKIN?
@@ -68,7 +72,7 @@ the strings?).
1.001..10 1988-Jan-30
1.011..14 1988-Feb-02
Schwern 1.0.15 2002-Dec-18 Modernization
- Richard 1.0.16 2003-Dec-18
+ Richard 1.0_16 2003-Dec-18
Larry 2.000 1988-Jun-05
@@ -324,6 +328,7 @@ the strings?).
Leon 5.005_04-RC1 2004-Feb-05
5.005_04-RC2 2004-Feb-18
5.005_04 2004-Feb-23
+ 5.005_05-RC1 2009-Feb-16
Sarathy 5.005_50 1998-Jul-26 The 5.6 development track.
5.005_51 1998-Aug-10
@@ -405,7 +410,7 @@ the strings?).
Rafael 5.10.0 2007-Dec-18
- David 5.10.1-RC1 2009-Aug-06 The 5.10 maintenance track
+ David M 5.10.1-RC1 2009-Aug-06 The 5.10 maintenance track
5.10.1-RC2 2009-Aug-18
5.10.1 2009-Aug-22
@@ -415,16 +420,47 @@ the strings?).
Jesse 5.11.3 2009-Dec-20
Ricardo 5.11.4 2010-Jan-20
Steve 5.11.5 2010-Feb-20
- Jesse 5.12.0-RC1 2010-Mar-29
+ Jesse 5.12.0-RC0 2010-Mar-21
+ 5.12.0-RC1 2010-Mar-29
+ 5.12.0-RC2 2010-Apr-01
+ 5.12.0-RC3 2010-Apr-02
+ 5.12.0-RC4 2010-Apr-06
+ 5.12.0-RC5 2010-Apr-09
Jesse 5.12.0 2010-Apr-12
- Jesse 5.12.1 2010-May-16
- Jesse 5.12.2 2010-Sep-06
+
+ Jesse 5.12.1-RC2 2010-May-13 The 5.12 maintenance track
+ 5.12.1-RC1 2010-May-09
+ 5.12.1 2010-May-16
+ 5.12.2-RC2 2010-Aug-31
+ 5.12.2 2010-Sep-06
Ricardo 5.12.3-RC1 2011-Jan-09
Ricardo 5.12.3-RC2 2011-Jan-14
Ricardo 5.12.3-RC3 2011-Jan-17
Ricardo 5.12.3 2011-Jan-21
+ Leon 5.13.0 2010-Apr-20 The 5.13 development track
+ Ricardo 5.13.1 2010-May-20
+ Matt 5.13.2 2010-Jun-22
+ David G 5.13.3 2010-Jul-20
+ Florian 5.13.4 2010-Aug-20
+ Steve 5.13.5 2010-Sep-19
+ Miyagawa 5.13.6 2010-Oct-20
+ BinGOs 5.13.7 2010-Nov-20
+ Zefram 5.13.8 2010-Dec-20
+ Jesse 5.13.9 2011-Jan-20
+ Ævar 5.13.10 2011-Feb-20
+ Florian 5.13.11 2011-Mar-20
+ Jesse 5.14.0RC1 2011-Apr-20
+ Jesse 5.14.0RC2 2011-May-04
+ Jesse 5.14.0RC3 2011-May-11
+
+ Jesse 5.14.0 2011-May-14 The 5.14 maintenance track
+ Jesse 5.14.1 2011-Jun-16
+ Florian 5.14.2-RC1 2011-Sep-19
+ 5.14.2 2011-Sep-26
+
+
=head2 SELECTED RELEASE SIZES
For example the notation "core: 212 29" in the release 1.000 means that
@@ -499,6 +535,8 @@ explained below.
5.10.1 4858 98 7440 519 6195 921 6147 1751 5151 163
5.12.0 4999 100 1146 121 15227 2176 6400 1843 5342 168
5.12.1 5000 100 1146 121 15283 2178 6407 1846 5354 169
+ 5.12.2 5003 100 1146 121 15404 2178 6413 1846 5376 170
+ 5.12.3 5004 100 1146 121 15529 2180 6417 1848 5391 171
The "core"..."doc" mean the following files from the Perl source code
distribution. The glob notation ** means recursively, (.) means
@@ -772,6 +810,35 @@ the Perl source distribution for somewhat more selected releases.
win32 1482 68 1485 68 1497 70 1841 73 1841 73
x2p 349 19 349 19 345 19 345 19 345 19
+ ======================================================================
+
+ 5.12.2 5.12.3
+
+ apollo 0 3 0 3
+ beos 4 4 4 4
+ Configure 536 1 536 1
+ Cross 118 15 118 15
+ djgpp 17 7 17 7
+ emacs 402 4 402 4
+ epoc 31 8 31 8
+ h2pl 12 15 12 15
+ hints 368 97 368 97
+ mad 174 8 174 8
+ mpeix 45 6 45 6
+ NetWare 466 61 466 61
+ os2 507 70 507 70
+ plan9 316 17 316 17
+ Porting 750 54 750 54
+ qnx 1 4 1 4
+ symbian 288 54 288 54
+ utils 269 27 269 27
+ uts 8 3 8 3
+ vmesa 21 4 21 4
+ vms 646 18 644 18
+ vos 16 8 16 8
+ win32 1841 73 1841 73
+ x2p 345 19 345 19
+
=head2 SELECTED PATCH SIZES
The "diff lines kB" means that for example the patch 5.003_08, to be
@@ -878,7 +945,7 @@ Jarkko Hietaniemi <F<jhi@iki.fi>>.
Thanks to the collective memory of the Perlfolk. In addition to the
Keepers of the Pumpkin also Alan Champion, Mark Dominus,
-Andreas König, John Macdonald, Matthias Neeracher, Jeff Okamoto,
+Andreas KE<0xf6>nig, John Macdonald, Matthias Neeracher, Jeff Okamoto,
Michael Peppler, Randal Schwartz, and Paul D. Smith sent corrections
and additions. Abigail added file and patch size data for the 5.6.0 - 5.10
era.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhpux.pod b/Master/tlpkg/tlperl/lib/pods/perlhpux.pod
index df3e6a8ef41..a1b59dec8d1 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhpux.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhpux.pod
@@ -41,7 +41,7 @@ of Perl and the updated modules.
The official (threaded) builds from HP, as they are shipped on the
Application DVD/CD's are available on
-http://www.software.hp.com/portal/swdepot/displayProductInfo.do?productNumber=PERL
+L<http://www.software.hp.com/portal/swdepot/displayProductInfo.do?productNumber=PERL>
for both PA-RISC and IPF (Itanium Processor Family). They are built
with the HP ANSI-C compiler. Up till 5.8.8 that was done by ActiveState.
@@ -69,7 +69,7 @@ HP has asked the porting centre to move Open Source binaries
from /opt to /usr/local, so binaries produced since the start
of July 2002 are located in /usr/local.
-One of HP porting centres URL's is http://hpux.connect.org.uk/
+One of HP porting centres URL's is L<http://hpux.connect.org.uk/>
The port currently available is built with GNU gcc.
=head2 Compiling Perl 5 on HP-UX
@@ -122,7 +122,7 @@ ends as shown in the following table:
| cores | | PA-8900/rp34x0 | 2014 |
+--------+----------------+----------------+-----------------+
-From http://www.hp.com/products1/evolution/9000/faqs.html
+From L<http://www.hp.com/products1/evolution/9000/faqs.html>
The last order date for HP 9000 systems was December 31, 2008.
@@ -272,7 +272,7 @@ support all versions of HP-UX, here is a short list
11.31 11i v3 64 PA & IPF
See for the full list of hardware/OS support and expected end-of-life
-http://www.hp.com/go/hpuxservermatrix
+L<http://www.hp.com/go/hpuxservermatrix>
=head2 Building Dynamic Extensions on HP-UX
@@ -402,16 +402,16 @@ for updates/patches. Enter "ANSI" as keyword.
When you are going to use the GNU C compiler (gcc), and you don't have
gcc yet, you can either build it yourself from the sources (available
-from e.g. http://www.gnu.ai.mit.edu/software/gcc/releases.html) or fetch
+from e.g. L<http://www.gnu.ai.mit.edu/software/gcc/releases.html>) or fetch
a prebuilt binary from the HP porting center. gcc prebuilds can be
fetched from
-http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html
+L<http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html>
(Browse through the list, because there are often multiple versions of
the same package available).
Above mentioned distributions are depots. H.Merijn Brand has made prebuilt
-gcc binaries available on http://mirrors.develooper.com/hpux/ and/or
-http://www.cmve.net/~merijn/ for HP-UX 10.20, HP-UX 11.00, HP-UX 11.11
+gcc binaries available on L<http://mirrors.develooper.com/hpux/> and/or
+L<http://www.cmve.net/~merijn/> for HP-UX 10.20, HP-UX 11.00, HP-UX 11.11
(HP-UX 11i v1), and HP-UX 11.23 (HP-UX 11i v2) in both 32- and 64-bit
versions. These are bzipped tar archives that also include recent GNU
binutils and GNU gdb. Read the instructions on that page to rebuild gcc
@@ -481,7 +481,7 @@ HP-UX versions before 10.30 require a separate installation of a POSIX
threads library package. Two examples are the HP DCE package, available
on "HP-UX Hardware Extensions 3.0, Install and Core OS, Release 10.20,
April 1999 (B3920-13941)" or the Freely available PTH package, available
-on H.Merijn's site (http://mirrors.develooper.com/hpux/). The use of PTH
+on H.Merijn's site (L<http://mirrors.develooper.com/hpux/>). The use of PTH
will be unsupported in perl-5.12 and up and is rather buggy in 5.11.x.
If you are going to use the HP DCE package, the library used for threading
diff --git a/Master/tlpkg/tlperl/lib/pods/perlintern.pod b/Master/tlpkg/tlperl/lib/pods/perlintern.pod
index b26ba099c34..5f09dcdc6d0 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlintern.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlintern.pod
@@ -18,6 +18,56 @@ format but are not marked as part of the Perl API. In other words,
B<they are not for use in extensions>!
+=head1 Compile-time scope hooks
+
+=over 8
+
+=item BhkENTRY
+X<BhkENTRY>
+
+Return an entry from the BHK structure. I<which> is a preprocessor token
+indicating which entry to return. If the appropriate flag is not set
+this will return NULL. The type of the return value depends on which
+entry you ask for.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void * BhkENTRY(BHK *hk, which)
+
+=for hackers
+Found in file op.h
+
+=item BhkFLAGS
+X<BhkFLAGS>
+
+Return the BHK's flags.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ U32 BhkFLAGS(BHK *hk)
+
+=for hackers
+Found in file op.h
+
+=item CALL_BLOCK_HOOKS
+X<CALL_BLOCK_HOOKS>
+
+Call all the registered block hooks for type I<which>. I<which> is a
+preprocessing token; the type of I<arg> depends on I<which>.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void CALL_BLOCK_HOOKS(which, arg)
+
+=for hackers
+Found in file op.h
+
+
+=back
+
=head1 CV reference counts and CvOUTSIDE
=over 8
@@ -80,6 +130,236 @@ Found in file cv.h
=back
+=head1 Embedding Functions
+
+=over 8
+
+=item cv_clone
+X<cv_clone>
+
+Clone a CV: make a new CV which points to the same code etc, but which
+has a newly-created pad built by copying the prototype pad and capturing
+any outer lexicals.
+
+ CV* cv_clone(CV* proto)
+
+=for hackers
+Found in file pad.c
+
+=item cv_dump
+X<cv_dump>
+
+dump the contents of a CV
+
+ void cv_dump(const CV *cv, const char *title)
+
+=for hackers
+Found in file pad.c
+
+=item do_dump_pad
+X<do_dump_pad>
+
+Dump the contents of a padlist
+
+ void do_dump_pad(I32 level, PerlIO *file, PADLIST *padlist, int full)
+
+=for hackers
+Found in file pad.c
+
+=item intro_my
+X<intro_my>
+
+"Introduce" my variables to visible status.
+
+ U32 intro_my()
+
+=for hackers
+Found in file pad.c
+
+=item pad_add_anon
+X<pad_add_anon>
+
+Add an anon code entry to the current compiling pad
+
+ PADOFFSET pad_add_anon(SV* sv, OPCODE op_type)
+
+=for hackers
+Found in file pad.c
+
+=item pad_add_name
+X<pad_add_name>
+
+Create a new name and associated PADMY SV in the current pad; return the
+offset.
+If C<typestash> is valid, the name is for a typed lexical; set the
+name's stash to that value.
+If C<ourstash> is valid, it's an our lexical, set the name's
+SvOURSTASH to that value
+
+If fake, it means we're cloning an existing entry
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ PADOFFSET pad_add_name(const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
+
+=for hackers
+Found in file pad.c
+
+=item pad_alloc
+X<pad_alloc>
+
+Allocate a new my or tmp pad entry. For a my, simply push a null SV onto
+the end of PL_comppad, but for a tmp, scan the pad from PL_padix upwards
+for a slot which has no name and no active value.
+
+ PADOFFSET pad_alloc(I32 optype, U32 tmptype)
+
+=for hackers
+Found in file pad.c
+
+=item pad_block_start
+X<pad_block_start>
+
+Update the pad compilation state variables on entry to a new block
+
+ void pad_block_start(int full)
+
+=for hackers
+Found in file pad.c
+
+=item pad_check_dup
+X<pad_check_dup>
+
+Check for duplicate declarations: report any of:
+ * a my in the current scope with the same name;
+ * an our (anywhere in the pad) with the same name and the same stash
+ as C<ourstash>
+C<is_our> indicates that the name to check is an 'our' declaration
+
+ void pad_check_dup(SV *name, const U32 flags, const HV *ourstash)
+
+=for hackers
+Found in file pad.c
+
+=item pad_findlex
+X<pad_findlex>
+
+Find a named lexical anywhere in a chain of nested pads. Add fake entries
+in the inner pads if it's found in an outer one.
+
+Returns the offset in the bottom pad of the lex or the fake lex.
+cv is the CV in which to start the search, and seq is the current cop_seq
+to match against. If warn is true, print appropriate warnings. The out_*
+vars return values, and so are pointers to where the returned values
+should be stored. out_capture, if non-null, requests that the innermost
+instance of the lexical is captured; out_name_sv is set to the innermost
+matched namesv or fake namesv; out_flags returns the flags normally
+associated with the IVX field of a fake namesv.
+
+Note that pad_findlex() is recursive; it recurses up the chain of CVs,
+then comes back down, adding fake entries as it goes. It has to be this way
+because fake namesvs in anon protoypes have to store in xlow the index into
+the parent pad.
+
+ PADOFFSET pad_findlex(const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+
+=for hackers
+Found in file pad.c
+
+=item pad_fixup_inner_anons
+X<pad_fixup_inner_anons>
+
+For any anon CVs in the pad, change CvOUTSIDE of that CV from
+old_cv to new_cv if necessary. Needed when a newly-compiled CV has to be
+moved to a pre-existing CV struct.
+
+ void pad_fixup_inner_anons(PADLIST *padlist, CV *old_cv, CV *new_cv)
+
+=for hackers
+Found in file pad.c
+
+=item pad_free
+X<pad_free>
+
+Free the SV at offset po in the current pad.
+
+ void pad_free(PADOFFSET po)
+
+=for hackers
+Found in file pad.c
+
+=item pad_leavemy
+X<pad_leavemy>
+
+Cleanup at end of scope during compilation: set the max seq number for
+lexicals in this scope and warn of any lexicals that never got introduced.
+
+ void pad_leavemy()
+
+=for hackers
+Found in file pad.c
+
+=item pad_push
+X<pad_push>
+
+Push a new pad frame onto the padlist, unless there's already a pad at
+this depth, in which case don't bother creating a new one. Then give
+the new pad an @_ in slot zero.
+
+ void pad_push(PADLIST *padlist, int depth)
+
+=for hackers
+Found in file pad.c
+
+=item pad_reset
+X<pad_reset>
+
+Mark all the current temporaries for reuse
+
+ void pad_reset()
+
+=for hackers
+Found in file pad.c
+
+=item pad_setsv
+X<pad_setsv>
+
+Set the entry at offset po in the current pad to sv.
+Use the macro PAD_SETSV() rather than calling this function directly.
+
+ void pad_setsv(PADOFFSET po, SV* sv)
+
+=for hackers
+Found in file pad.c
+
+=item pad_swipe
+X<pad_swipe>
+
+Abandon the tmp in the current pad at offset po and replace with a
+new one.
+
+ void pad_swipe(PADOFFSET po, bool refadjust)
+
+=for hackers
+Found in file pad.c
+
+=item pad_tidy
+X<pad_tidy>
+
+Tidy up a pad after we've finished compiling it:
+ * remove most stuff from the pads of anonsub prototypes;
+ * give it a @_;
+ * mark tmps as such.
+
+ void pad_tidy(padtidy_type type)
+
+=for hackers
+Found in file pad.c
+
+
+=back
+
=head1 Functions in file pad.h
@@ -411,16 +691,91 @@ Found in file gv.c
=over 8
+=item hv_ename_add
+X<hv_ename_add>
+
+Adds a name to a stash's internal list of effective names. See
+C<hv_ename_delete>.
+
+This is called when a stash is assigned to a new location in the symbol
+table.
+
+ void hv_ename_add(HV *hv, const char *name, U32 len, U32 flags)
+
+=for hackers
+Found in file hv.c
+
+=item hv_ename_delete
+X<hv_ename_delete>
+
+Removes a name from a stash's internal list of effective names. If this is
+the name returned by C<HvENAME>, then another name in the list will take
+its place (C<HvENAME> will use it).
+
+This is called when a stash is deleted from the symbol table.
+
+ void hv_ename_delete(HV *hv, const char *name, U32 len, U32 flags)
+
+=for hackers
+Found in file hv.c
+
=item refcounted_he_chain_2hv
X<refcounted_he_chain_2hv>
-Generates and returns a C<HV *> by walking up the tree starting at the passed
-in C<struct refcounted_he *>.
+Generates and returns a C<HV *> representing the content of a
+C<refcounted_he> chain.
+I<flags> is currently unused and must be zero.
-NOTE: this function is experimental and may change or be
-removed without notice.
+ HV * refcounted_he_chain_2hv(const struct refcounted_he *c, U32 flags)
+
+=for hackers
+Found in file hv.c
+
+=item refcounted_he_fetch_pv
+X<refcounted_he_fetch_pv>
+
+Like L</refcounted_he_fetch_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
+
+ SV * refcounted_he_fetch_pv(const struct refcounted_he *chain, const char *key, U32 hash, U32 flags)
+
+=for hackers
+Found in file hv.c
- HV * refcounted_he_chain_2hv(const struct refcounted_he *c)
+=item refcounted_he_fetch_pvn
+X<refcounted_he_fetch_pvn>
+
+Search along a C<refcounted_he> chain for an entry with the key specified
+by I<keypv> and I<keylen>. If I<flags> has the C<REFCOUNTED_HE_KEY_UTF8>
+bit set, the key octets are interpreted as UTF-8, otherwise they
+are interpreted as Latin-1. I<hash> is a precomputed hash of the key
+string, or zero if it has not been precomputed. Returns a mortal scalar
+representing the value associated with the key, or C<&PL_sv_placeholder>
+if there is no value associated with the key.
+
+ SV * refcounted_he_fetch_pvn(const struct refcounted_he *chain, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+
+=for hackers
+Found in file hv.c
+
+=item refcounted_he_fetch_pvs
+X<refcounted_he_fetch_pvs>
+
+Like L</refcounted_he_fetch_pvn>, but takes a literal string instead of
+a string/length pair, and no precomputed hash.
+
+ SV * refcounted_he_fetch_pvs(const struct refcounted_he *chain, const char *key, U32 flags)
+
+=for hackers
+Found in file hv.h
+
+=item refcounted_he_fetch_sv
+X<refcounted_he_fetch_sv>
+
+Like L</refcounted_he_fetch_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+ SV * refcounted_he_fetch_sv(const struct refcounted_he *chain, SV *key, U32 hash, U32 flags)
=for hackers
Found in file hv.c
@@ -428,29 +783,93 @@ Found in file hv.c
=item refcounted_he_free
X<refcounted_he_free>
-Decrements the reference count of the passed in C<struct refcounted_he *>
-by one. If the reference count reaches zero the structure's memory is freed,
-and C<refcounted_he_free> iterates onto the parent node.
-
-NOTE: this function is experimental and may change or be
-removed without notice.
+Decrements the reference count of a C<refcounted_he> by one. If the
+reference count reaches zero the structure's memory is freed, which
+(recursively) causes a reduction of its parent C<refcounted_he>'s
+reference count. It is safe to pass a null pointer to this function:
+no action occurs in this case.
void refcounted_he_free(struct refcounted_he *he)
=for hackers
Found in file hv.c
-=item refcounted_he_new
-X<refcounted_he_new>
+=item refcounted_he_inc
+X<refcounted_he_inc>
-Creates a new C<struct refcounted_he>. As S<key> is copied, and value is
-stored in a compact form, all references remain the property of the caller.
-The C<struct refcounted_he> is returned with a reference count of 1.
+Increment the reference count of a C<refcounted_he>. The pointer to the
+C<refcounted_he> is also returned. It is safe to pass a null pointer
+to this function: no action occurs and a null pointer is returned.
-NOTE: this function is experimental and may change or be
-removed without notice.
+ struct refcounted_he * refcounted_he_inc(struct refcounted_he *he)
+
+=for hackers
+Found in file hv.c
+
+=item refcounted_he_new_pv
+X<refcounted_he_new_pv>
- struct refcounted_he * refcounted_he_new(struct refcounted_he *const parent, SV *const key, SV *const value)
+Like L</refcounted_he_new_pvn>, but takes a nul-terminated string instead
+of a string/length pair.
+
+ struct refcounted_he * refcounted_he_new_pv(struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags)
+
+=for hackers
+Found in file hv.c
+
+=item refcounted_he_new_pvn
+X<refcounted_he_new_pvn>
+
+Creates a new C<refcounted_he>. This consists of a single key/value
+pair and a reference to an existing C<refcounted_he> chain (which may
+be empty), and thus forms a longer chain. When using the longer chain,
+the new key/value pair takes precedence over any entry for the same key
+further along the chain.
+
+The new key is specified by I<keypv> and I<keylen>. If I<flags> has
+the C<REFCOUNTED_HE_KEY_UTF8> bit set, the key octets are interpreted
+as UTF-8, otherwise they are interpreted as Latin-1. I<hash> is
+a precomputed hash of the key string, or zero if it has not been
+precomputed.
+
+I<value> is the scalar value to store for this key. I<value> is copied
+by this function, which thus does not take ownership of any reference
+to it, and later changes to the scalar will not be reflected in the
+value visible in the C<refcounted_he>. Complex types of scalar will not
+be stored with referential integrity, but will be coerced to strings.
+I<value> may be either null or C<&PL_sv_placeholder> to indicate that no
+value is to be associated with the key; this, as with any non-null value,
+takes precedence over the existence of a value for the key further along
+the chain.
+
+I<parent> points to the rest of the C<refcounted_he> chain to be
+attached to the new C<refcounted_he>. This function takes ownership
+of one reference to I<parent>, and returns one reference to the new
+C<refcounted_he>.
+
+ struct refcounted_he * refcounted_he_new_pvn(struct refcounted_he *parent, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
+
+=for hackers
+Found in file hv.c
+
+=item refcounted_he_new_pvs
+X<refcounted_he_new_pvs>
+
+Like L</refcounted_he_new_pvn>, but takes a literal string instead of
+a string/length pair, and no precomputed hash.
+
+ struct refcounted_he * refcounted_he_new_pvs(struct refcounted_he *parent, const char *key, SV *value, U32 flags)
+
+=for hackers
+Found in file hv.h
+
+=item refcounted_he_new_sv
+X<refcounted_he_new_sv>
+
+Like L</refcounted_he_new_pvn>, but takes a Perl scalar instead of a
+string/length pair.
+
+ struct refcounted_he * refcounted_he_new_sv(struct refcounted_he *parent, SV *key, U32 hash, SV *value, U32 flags)
=for hackers
Found in file hv.c
@@ -506,6 +925,27 @@ Triggered by clearing %^H, resets C<PL_compiling.cop_hints_hash>.
=for hackers
Found in file mg.c
+=item magic_methcall
+X<magic_methcall>
+
+Invoke a magic method (like FETCH).
+
+* sv and mg are the tied thingy and the tie magic;
+* meth is the name of the method to call;
+* argc is the number of args (in addition to $self) to pass to the method;
+ the args themselves are any values following the argc argument.
+* flags:
+ G_DISCARD: invoke method with G_DISCARD flag and don't return a value
+ G_UNDEF_FILL: fill the stack with argc pointers to PL_sv_undef.
+
+Returns the SV (if any) returned by the method, or NULL on failure.
+
+
+ SV* magic_methcall(SV *sv, const MAGIC *mg, const char *meth, U32 flags, U32 argc, ...)
+
+=for hackers
+Found in file mg.c
+
=item magic_sethint
X<magic_sethint>
@@ -573,6 +1013,32 @@ by the C<setisa> magic, should not need to invoke directly.
=for hackers
Found in file mro.c
+=item mro_package_moved
+X<mro_package_moved>
+
+Call this function to signal to a stash that it has been assigned to
+another spot in the stash hierarchy. C<stash> is the stash that has been
+assigned. C<oldstash> is the stash it replaces, if any. C<gv> is the glob
+that is actually being assigned to.
+
+This can also be called with a null first argument to
+indicate that C<oldstash> has been deleted.
+
+This function invalidates isa caches on the old stash, on all subpackages
+nested inside it, and on the subclasses of all those, including
+non-existent packages that have corresponding entries in C<stash>.
+
+It also sets the effective names (C<HvENAME>) on all the stashes as
+appropriate.
+
+If the C<gv> is present and is not in the symbol table, then this function
+simply returns. This checked will be skipped if C<flags & 1>.
+
+ void mro_package_moved(HV * const stash, HV * const oldstash, const GV * const gv, U32 flags)
+
+=for hackers
+Found in file mro.c
+
=back
@@ -628,7 +1094,17 @@ in PL_op->op_targ), wasting a name SV for them doesn't make sense.
The SVs in the names AV have their PV being the name of the variable.
xlow+1..xhigh inclusive in the NV union is a range of cop_seq numbers for
-which the name is valid. For typed lexicals name SV is SVt_PVMG and SvSTASH
+which the name is valid (accessed through the macros COP_SEQ_RANGE_LOW and
+_HIGH). During compilation, these fields may hold the special value
+PERL_PADSEQ_INTRO to indicate various stages:
+
+ COP_SEQ_RANGE_LOW _HIGH
+ ----------------- -----
+ PERL_PADSEQ_INTRO 0 variable not yet introduced: { my ($x
+ valid-seq# PERL_PADSEQ_INTRO variable in scope: { my ($x)
+ valid-seq# valid-seq# compilation of scope complete: { my ($x) }
+
+For typed lexicals name SV is SVt_PVMG and SvSTASH
points at the type. For C<our> lexicals, the type is also SVt_PVMG, with the
SvOURSTASH slot pointing at the stash of the associated global (so that
duplicate C<our> declarations in the same package can be detected). SvUVX is
@@ -664,172 +1140,6 @@ For state vars, SVs_PADSTALE is overloaded to mean 'not yet initialised'
=for hackers
Found in file pad.c
-=item cv_clone
-X<cv_clone>
-
-Clone a CV: make a new CV which points to the same code etc, but which
-has a newly-created pad built by copying the prototype pad and capturing
-any outer lexicals.
-
- CV* cv_clone(CV* proto)
-
-=for hackers
-Found in file pad.c
-
-=item cv_dump
-X<cv_dump>
-
-dump the contents of a CV
-
- void cv_dump(const CV *cv, const char *title)
-
-=for hackers
-Found in file pad.c
-
-=item do_dump_pad
-X<do_dump_pad>
-
-Dump the contents of a padlist
-
- void do_dump_pad(I32 level, PerlIO *file, PADLIST *padlist, int full)
-
-=for hackers
-Found in file pad.c
-
-=item intro_my
-X<intro_my>
-
-"Introduce" my variables to visible status.
-
- U32 intro_my()
-
-=for hackers
-Found in file pad.c
-
-=item pad_add_anon
-X<pad_add_anon>
-
-Add an anon code entry to the current compiling pad
-
- PADOFFSET pad_add_anon(SV* sv, OPCODE op_type)
-
-=for hackers
-Found in file pad.c
-
-=item pad_add_name
-X<pad_add_name>
-
-Create a new name and associated PADMY SV in the current pad; return the
-offset.
-If C<typestash> is valid, the name is for a typed lexical; set the
-name's stash to that value.
-If C<ourstash> is valid, it's an our lexical, set the name's
-SvOURSTASH to that value
-
-If fake, it means we're cloning an existing entry
-
-NOTE: this function is experimental and may change or be
-removed without notice.
-
- PADOFFSET pad_add_name(const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
-
-=for hackers
-Found in file pad.c
-
-=item pad_alloc
-X<pad_alloc>
-
-Allocate a new my or tmp pad entry. For a my, simply push a null SV onto
-the end of PL_comppad, but for a tmp, scan the pad from PL_padix upwards
-for a slot which has no name and no active value.
-
- PADOFFSET pad_alloc(I32 optype, U32 tmptype)
-
-=for hackers
-Found in file pad.c
-
-=item pad_block_start
-X<pad_block_start>
-
-Update the pad compilation state variables on entry to a new block
-
- void pad_block_start(int full)
-
-=for hackers
-Found in file pad.c
-
-=item pad_check_dup
-X<pad_check_dup>
-
-Check for duplicate declarations: report any of:
- * a my in the current scope with the same name;
- * an our (anywhere in the pad) with the same name and the same stash
- as C<ourstash>
-C<is_our> indicates that the name to check is an 'our' declaration
-
- void pad_check_dup(SV *name, const U32 flags, const HV *ourstash)
-
-=for hackers
-Found in file pad.c
-
-=item pad_findlex
-X<pad_findlex>
-
-Find a named lexical anywhere in a chain of nested pads. Add fake entries
-in the inner pads if it's found in an outer one.
-
-Returns the offset in the bottom pad of the lex or the fake lex.
-cv is the CV in which to start the search, and seq is the current cop_seq
-to match against. If warn is true, print appropriate warnings. The out_*
-vars return values, and so are pointers to where the returned values
-should be stored. out_capture, if non-null, requests that the innermost
-instance of the lexical is captured; out_name_sv is set to the innermost
-matched namesv or fake namesv; out_flags returns the flags normally
-associated with the IVX field of a fake namesv.
-
-Note that pad_findlex() is recursive; it recurses up the chain of CVs,
-then comes back down, adding fake entries as it goes. It has to be this way
-because fake namesvs in anon protoypes have to store in xlow the index into
-the parent pad.
-
- PADOFFSET pad_findlex(const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
-
-=for hackers
-Found in file pad.c
-
-=item pad_fixup_inner_anons
-X<pad_fixup_inner_anons>
-
-For any anon CVs in the pad, change CvOUTSIDE of that CV from
-old_cv to new_cv if necessary. Needed when a newly-compiled CV has to be
-moved to a pre-existing CV struct.
-
- void pad_fixup_inner_anons(PADLIST *padlist, CV *old_cv, CV *new_cv)
-
-=for hackers
-Found in file pad.c
-
-=item pad_free
-X<pad_free>
-
-Free the SV at offset po in the current pad.
-
- void pad_free(PADOFFSET po)
-
-=for hackers
-Found in file pad.c
-
-=item pad_leavemy
-X<pad_leavemy>
-
-Cleanup at end of scope during compilation: set the max seq number for
-lexicals in this scope and warn of any lexicals that never got introduced.
-
- void pad_leavemy()
-
-=for hackers
-Found in file pad.c
-
=item pad_new
X<pad_new>
@@ -846,80 +1156,6 @@ can be OR'ed together:
=for hackers
Found in file pad.c
-=item pad_push
-X<pad_push>
-
-Push a new pad frame onto the padlist, unless there's already a pad at
-this depth, in which case don't bother creating a new one. Then give
-the new pad an @_ in slot zero.
-
- void pad_push(PADLIST *padlist, int depth)
-
-=for hackers
-Found in file pad.c
-
-=item pad_reset
-X<pad_reset>
-
-Mark all the current temporaries for reuse
-
- void pad_reset()
-
-=for hackers
-Found in file pad.c
-
-=item pad_setsv
-X<pad_setsv>
-
-Set the entry at offset po in the current pad to sv.
-Use the macro PAD_SETSV() rather than calling this function directly.
-
- void pad_setsv(PADOFFSET po, SV* sv)
-
-=for hackers
-Found in file pad.c
-
-=item pad_swipe
-X<pad_swipe>
-
-Abandon the tmp in the current pad at offset po and replace with a
-new one.
-
- void pad_swipe(PADOFFSET po, bool refadjust)
-
-=for hackers
-Found in file pad.c
-
-=item pad_tidy
-X<pad_tidy>
-
-Tidy up a pad after we've finished compiling it:
- * remove most stuff from the pads of anonsub prototypes;
- * give it a @_;
- * mark tmps as such.
-
- void pad_tidy(padtidy_type type)
-
-=for hackers
-Found in file pad.c
-
-=item pad_undef
-X<pad_undef>
-
-Free the padlist associated with a CV.
-If parts of it happen to be current, we null the relevant
-PL_*pad* global vars so that we don't have any dangling references left.
-We also repoint the CvOUTSIDE of any about-to-be-orphaned
-inner subs to the outer of this cv.
-
-(This function should really be called pad_free, but the name was already
-taken)
-
- void pad_undef(CV* cv)
-
-=for hackers
-Found in file pad.c
-
=back
@@ -1154,7 +1390,13 @@ Found in file sv.c
=head1 Undocumented functions
-These functions are currently undocumented:
+The following functions have been flagged as part of the public API,
+but are currently undocumented. Use them at your own risk, as the
+interfaces are subject to change.
+
+If you use one of them, you may wish to consider creating and submitting
+documentation for it. If your patch is accepted, this will indicate that
+the interface is stable (unless it is explicitly marked otherwise).
=over
@@ -1164,9 +1406,30 @@ X<F0convert>
=item Slab_to_rw
X<Slab_to_rw>
+=item _append_range_to_invlist
+X<_append_range_to_invlist>
+
+=item _new_invlist
+X<_new_invlist>
+
+=item _swash_inversion_hash
+X<_swash_inversion_hash>
+
+=item _swash_to_invlist
+X<_swash_to_invlist>
+
+=item add_alternate
+X<add_alternate>
+
+=item add_cp_to_invlist
+X<add_cp_to_invlist>
+
=item add_data
X<add_data>
+=item add_range_to_invlist
+X<add_range_to_invlist>
+
=item add_utf16_textfilter
X<add_utf16_textfilter>
@@ -1188,18 +1451,12 @@ X<amagic_i_ncmp>
=item amagic_ncmp
X<amagic_ncmp>
-=item anonymise_cv
-X<anonymise_cv>
+=item anonymise_cv_maybe
+X<anonymise_cv_maybe>
=item ao
X<ao>
-=item append_elem
-X<append_elem>
-
-=item append_list
-X<append_list>
-
=item append_madprops
X<append_madprops>
@@ -1212,6 +1469,9 @@ X<apply_attrs>
=item apply_attrs_my
X<apply_attrs_my>
+=item assert_uft8_cache_coherent
+X<assert_uft8_cache_coherent>
+
=item av_reify
X<av_reify>
@@ -1248,135 +1508,15 @@ X<check_type_and_open>
=item check_uni
X<check_uni>
+=item check_utf8_print
+X<check_utf8_print>
+
=item checkcomma
X<checkcomma>
=item checkposixcc
X<checkposixcc>
-=item ck_anoncode
-X<ck_anoncode>
-
-=item ck_bitop
-X<ck_bitop>
-
-=item ck_concat
-X<ck_concat>
-
-=item ck_defined
-X<ck_defined>
-
-=item ck_delete
-X<ck_delete>
-
-=item ck_die
-X<ck_die>
-
-=item ck_each
-X<ck_each>
-
-=item ck_eof
-X<ck_eof>
-
-=item ck_eval
-X<ck_eval>
-
-=item ck_exec
-X<ck_exec>
-
-=item ck_exists
-X<ck_exists>
-
-=item ck_exit
-X<ck_exit>
-
-=item ck_ftst
-X<ck_ftst>
-
-=item ck_fun
-X<ck_fun>
-
-=item ck_glob
-X<ck_glob>
-
-=item ck_grep
-X<ck_grep>
-
-=item ck_index
-X<ck_index>
-
-=item ck_join
-X<ck_join>
-
-=item ck_lfun
-X<ck_lfun>
-
-=item ck_listiob
-X<ck_listiob>
-
-=item ck_match
-X<ck_match>
-
-=item ck_method
-X<ck_method>
-
-=item ck_null
-X<ck_null>
-
-=item ck_open
-X<ck_open>
-
-=item ck_readline
-X<ck_readline>
-
-=item ck_repeat
-X<ck_repeat>
-
-=item ck_require
-X<ck_require>
-
-=item ck_return
-X<ck_return>
-
-=item ck_rfun
-X<ck_rfun>
-
-=item ck_rvconst
-X<ck_rvconst>
-
-=item ck_sassign
-X<ck_sassign>
-
-=item ck_select
-X<ck_select>
-
-=item ck_shift
-X<ck_shift>
-
-=item ck_sort
-X<ck_sort>
-
-=item ck_spair
-X<ck_spair>
-
-=item ck_split
-X<ck_split>
-
-=item ck_subr
-X<ck_subr>
-
-=item ck_substr
-X<ck_substr>
-
-=item ck_svconst
-X<ck_svconst>
-
-=item ck_trunc
-X<ck_trunc>
-
-=item ck_unpack
-X<ck_unpack>
-
=item ckwarn_common
X<ckwarn_common>
@@ -1389,9 +1529,6 @@ X<cl_anything>
=item cl_init
X<cl_init>
-=item cl_init_zero
-X<cl_init_zero>
-
=item cl_is_anything
X<cl_is_anything>
@@ -1419,9 +1556,18 @@ X<create_eval_scope>
=item curmad
X<curmad>
+=item curse
+X<curse>
+
=item cv_ckproto_len
X<cv_ckproto_len>
+=item cvgv_set
+X<cvgv_set>
+
+=item cvstash_set
+X<cvstash_set>
+
=item deb_curcv
X<deb_curcv>
@@ -1449,8 +1595,8 @@ X<deprecate_commaless_var_list>
=item destroy_matcher
X<destroy_matcher>
-=item die_where
-X<die_where>
+=item die_unwind
+X<die_unwind>
=item div128
X<div128>
@@ -1464,9 +1610,6 @@ X<do_aexec5>
=item do_chomp
X<do_chomp>
-=item do_chop
-X<do_chop>
-
=item do_delete_local
X<do_delete_local>
@@ -1488,9 +1631,6 @@ X<do_ipcctl>
=item do_ipcget
X<do_ipcget>
-=item do_kv
-X<do_kv>
-
=item do_msgrcv
X<do_msgrcv>
@@ -1701,9 +1841,6 @@ X<free_tied_hv_pool>
=item gen_constant_list
X<gen_constant_list>
-=item get_arena
-X<get_arena>
-
=item get_aux_mg
X<get_aux_mg>
@@ -1716,9 +1853,6 @@ X<get_debug_opts>
=item get_hash_seed
X<get_hash_seed>
-=item get_isa_hash
-X<get_isa_hash>
-
=item get_no_modify
X<get_no_modify>
@@ -1743,6 +1877,12 @@ X<glob_assign_glob>
=item glob_assign_ref
X<glob_assign_ref>
+=item grok_bslash_c
+X<grok_bslash_c>
+
+=item grok_bslash_o
+X<grok_bslash_o>
+
=item group_end
X<group_end>
@@ -1755,6 +1895,12 @@ X<gv_get_super_pkg>
=item gv_init_sv
X<gv_init_sv>
+=item gv_magicalize_isa
+X<gv_magicalize_isa>
+
+=item gv_magicalize_overload
+X<gv_magicalize_overload>
+
=item hfreeentries
X<hfreeentries>
@@ -1767,9 +1913,6 @@ X<hv_auxinit>
=item hv_backreferences_p
X<hv_backreferences_p>
-=item hv_copy_hints_hv
-X<hv_copy_hints_hv>
-
=item hv_delete_common
X<hv_delete_common>
@@ -1782,6 +1925,9 @@ X<hv_magic_check>
=item hv_notallowed
X<hv_notallowed>
+=item hv_undef_flags
+X<hv_undef_flags>
+
=item incline
X<incline>
@@ -1833,6 +1979,39 @@ X<intuit_more>
=item invert
X<invert>
+=item invlist_array
+X<invlist_array>
+
+=item invlist_destroy
+X<invlist_destroy>
+
+=item invlist_extend
+X<invlist_extend>
+
+=item invlist_intersection
+X<invlist_intersection>
+
+=item invlist_len
+X<invlist_len>
+
+=item invlist_max
+X<invlist_max>
+
+=item invlist_set_len
+X<invlist_set_len>
+
+=item invlist_set_max
+X<invlist_set_max>
+
+=item invlist_trim
+X<invlist_trim>
+
+=item invlist_union
+X<invlist_union>
+
+=item invoke_exception_hook
+X<invoke_exception_hook>
+
=item io_close
X<io_close>
@@ -1899,15 +2078,6 @@ X<keyword>
=item keyword_plugin_standard
X<keyword_plugin_standard>
-=item lex_end
-X<lex_end>
-
-=item lex_start
-X<lex_start>
-
-=item linklist
-X<linklist>
-
=item list
X<list>
@@ -1995,8 +2165,8 @@ X<magic_killbackrefs>
=item magic_len
X<magic_len>
-=item magic_methcall
-X<magic_methcall>
+=item magic_methcall1
+X<magic_methcall1>
=item magic_methpack
X<magic_methpack>
@@ -2133,6 +2303,12 @@ X<more_bodies>
=item more_sv
X<more_sv>
+=item mro_clean_isarev
+X<mro_clean_isarev>
+
+=item mro_gather_and_rename
+X<mro_gather_and_rename>
+
=item mro_meta_dup
X<mro_meta_dup>
@@ -2145,6 +2321,9 @@ X<mul128>
=item mulexp10
X<mulexp10>
+=item munge_qwlist_to_paren_list
+X<munge_qwlist_to_paren_list>
+
=item my_attrs
X<my_attrs>
@@ -2229,6 +2408,12 @@ X<my_letohl>
=item my_letohs
X<my_letohs>
+=item my_lstat_flags
+X<my_lstat_flags>
+
+=item my_stat_flags
+X<my_stat_flags>
+
=item my_swabn
X<my_swabn>
@@ -2295,9 +2480,6 @@ X<nuke_stacks>
=item num_overflow
X<num_overflow>
-=item offer_nice_chunk
-X<offer_nice_chunk>
-
=item oopsAV
X<oopsAV>
@@ -2349,6 +2531,9 @@ X<pad_compname_type>
=item pad_peg
X<pad_peg>
+=item padlist_dup
+X<padlist_dup>
+
=item parse_body
X<parse_body>
@@ -2373,9 +2558,6 @@ X<pidgone>
=item pm_description
X<pm_description>
-=item pmflag
-X<pmflag>
-
=item pmop_xmldump
X<pmop_xmldump>
@@ -2385,8 +2567,8 @@ X<pmruntime>
=item pmtrans
X<pmtrans>
-=item prepend_elem
-X<prepend_elem>
+=item populate_isa
+X<populate_isa>
=item prepend_madprops
X<prepend_madprops>
@@ -2418,12 +2600,6 @@ X<readpipe_override>
=item ref_array_or_hash
X<ref_array_or_hash>
-=item refcounted_he_fetch
-X<refcounted_he_fetch>
-
-=item refcounted_he_new_common
-X<refcounted_he_new_common>
-
=item refcounted_he_value
X<refcounted_he_value>
@@ -2547,12 +2723,18 @@ X<regwhite>
=item report_evil_fh
X<report_evil_fh>
+=item report_wrongway_fh
+X<report_wrongway_fh>
+
=item require_tie_mod
X<require_tie_mod>
=item restore_magic
X<restore_magic>
+=item rpeep
+X<rpeep>
+
=item rsignal_restore
X<rsignal_restore>
@@ -2577,33 +2759,18 @@ X<rxres_save>
=item same_dirent
X<same_dirent>
-=item save_freeop
-X<save_freeop>
-
=item save_hek_flags
X<save_hek_flags>
-=item save_hints
-X<save_hints>
-
=item save_lines
X<save_lines>
=item save_magic
X<save_magic>
-=item save_op
-X<save_op>
-
-=item save_pushi32ptr
-X<save_pushi32ptr>
-
=item save_pushptri32ptr
X<save_pushptri32ptr>
-=item save_pushptrptr
-X<save_pushptrptr>
-
=item save_scalar_at
X<save_scalar_at>
@@ -2661,9 +2828,6 @@ X<scan_trans>
=item scan_word
X<scan_word>
-=item scope
-X<scope>
-
=item search_const
X<search_const>
@@ -2676,6 +2840,12 @@ X<sequence_num>
=item sequence_tail
X<sequence_tail>
+=item set_regclass_bit
+X<set_regclass_bit>
+
+=item set_regclass_bit_fold
+X<set_regclass_bit_fold>
+
=item share_hek_flags
X<share_hek_flags>
@@ -2748,15 +2918,24 @@ X<sv_2iuv_non_preserve>
=item sv_add_backref
X<sv_add_backref>
+=item sv_catxmlpv
+X<sv_catxmlpv>
+
=item sv_catxmlpvn
X<sv_catxmlpvn>
=item sv_catxmlsv
X<sv_catxmlsv>
+=item sv_compile_2op_is_broken
+X<sv_compile_2op_is_broken>
+
=item sv_del_backref
X<sv_del_backref>
+=item sv_dup_common
+X<sv_dup_common>
+
=item sv_dup_inc_multiple
X<sv_dup_inc_multiple>
@@ -2805,6 +2984,9 @@ X<swallow_bom>
=item swash_get
X<swash_get>
+=item tied_method
+X<tied_method>
+
=item to_byte_substr
X<to_byte_substr>
@@ -2832,12 +3014,21 @@ X<too_few_arguments>
=item too_many_arguments
X<too_many_arguments>
+=item try_amagic_bin
+X<try_amagic_bin>
+
+=item try_amagic_un
+X<try_amagic_un>
+
=item uiv_2buf
X<uiv_2buf>
=item unpack_rec
X<unpack_rec>
+=item unreferenced_to_tmp_stack
+X<unreferenced_to_tmp_stack>
+
=item unshare_hek
X<unshare_hek>
@@ -2856,6 +3047,9 @@ X<usage>
=item utf16_textfilter
X<utf16_textfilter>
+=item utf8_mg_len_cache_update
+X<utf8_mg_len_cache_update>
+
=item utf8_mg_pos_cache_update
X<utf8_mg_pos_cache_update>
@@ -2868,15 +3062,6 @@ X<validate_suid>
=item varname
X<varname>
-=item vdie
-X<vdie>
-
-=item vdie_common
-X<vdie_common>
-
-=item vdie_croak_common
-X<vdie_croak_common>
-
=item visit
X<visit>
@@ -2892,6 +3077,9 @@ X<wait4pid>
=item watch
X<watch>
+=item with_queued_errors
+X<with_queued_errors>
+
=item write_no_mem
X<write_no_mem>
@@ -2931,6 +3119,12 @@ X<xmldump_sub_perl>
=item xmldump_vindent
X<xmldump_vindent>
+=item xs_apiversion_bootcheck
+X<xs_apiversion_bootcheck>
+
+=item xs_version_bootcheck
+X<xs_version_bootcheck>
+
=item yyerror
X<yyerror>
@@ -2940,6 +3134,9 @@ X<yylex>
=item yyparse
X<yyparse>
+=item yyunlex
+X<yyunlex>
+
=item yywarn
X<yywarn>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlinterp.pod b/Master/tlpkg/tlperl/lib/pods/perlinterp.pod
new file mode 100644
index 00000000000..74a5e4eb968
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlinterp.pod
@@ -0,0 +1,742 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlinterp.pod
+
+=head1 NAME
+
+perlinterp - An overview of the Perl interpreter
+
+=head1 DESCRIPTION
+
+This document provides an overview of how the Perl interpreter works at
+the level of C code, along with pointers to the relevant C source code
+files.
+
+=head1 ELEMENTS OF THE INTERPRETER
+
+The work of the interpreter has two main stages: compiling the code
+into the internal representation, or bytecode, and then executing it.
+L<perlguts/Compiled code> explains exactly how the compilation stage
+happens.
+
+Here is a short breakdown of perl's operation:
+
+=head2 Startup
+
+The action begins in F<perlmain.c>. (or F<miniperlmain.c> for miniperl)
+This is very high-level code, enough to fit on a single screen, and it
+resembles the code found in L<perlembed>; most of the real action takes
+place in F<perl.c>
+
+F<perlmain.c> is generated by C<ExtUtils::Miniperl> from
+F<miniperlmain.c> at make time, so you should make perl to follow this
+along.
+
+First, F<perlmain.c> allocates some memory and constructs a Perl
+interpreter, along these lines:
+
+ 1 PERL_SYS_INIT3(&argc,&argv,&env);
+ 2
+ 3 if (!PL_do_undump) {
+ 4 my_perl = perl_alloc();
+ 5 if (!my_perl)
+ 6 exit(1);
+ 7 perl_construct(my_perl);
+ 8 PL_perl_destruct_level = 0;
+ 9 }
+
+Line 1 is a macro, and its definition is dependent on your operating
+system. Line 3 references C<PL_do_undump>, a global variable - all
+global variables in Perl start with C<PL_>. This tells you whether the
+current running program was created with the C<-u> flag to perl and
+then F<undump>, which means it's going to be false in any sane context.
+
+Line 4 calls a function in F<perl.c> to allocate memory for a Perl
+interpreter. It's quite a simple function, and the guts of it looks
+like this:
+
+ my_perl = (PerlInterpreter*)PerlMem_malloc(sizeof(PerlInterpreter));
+
+Here you see an example of Perl's system abstraction, which we'll see
+later: C<PerlMem_malloc> is either your system's C<malloc>, or Perl's
+own C<malloc> as defined in F<malloc.c> if you selected that option at
+configure time.
+
+Next, in line 7, we construct the interpreter using perl_construct,
+also in F<perl.c>; this sets up all the special variables that Perl
+needs, the stacks, and so on.
+
+Now we pass Perl the command line options, and tell it to go:
+
+ exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL);
+ if (!exitstatus)
+ perl_run(my_perl);
+
+ exitstatus = perl_destruct(my_perl);
+
+ perl_free(my_perl);
+
+C<perl_parse> is actually a wrapper around C<S_parse_body>, as defined
+in F<perl.c>, which processes the command line options, sets up any
+statically linked XS modules, opens the program and calls C<yyparse> to
+parse it.
+
+=head2 Parsing
+
+The aim of this stage is to take the Perl source, and turn it into an
+op tree. We'll see what one of those looks like later. Strictly
+speaking, there's three things going on here.
+
+C<yyparse>, the parser, lives in F<perly.c>, although you're better off
+reading the original YACC input in F<perly.y>. (Yes, Virginia, there
+B<is> a YACC grammar for Perl!) The job of the parser is to take your
+code and "understand" it, splitting it into sentences, deciding which
+operands go with which operators and so on.
+
+The parser is nobly assisted by the lexer, which chunks up your input
+into tokens, and decides what type of thing each token is: a variable
+name, an operator, a bareword, a subroutine, a core function, and so
+on. The main point of entry to the lexer is C<yylex>, and that and its
+associated routines can be found in F<toke.c>. Perl isn't much like
+other computer languages; it's highly context sensitive at times, it
+can be tricky to work out what sort of token something is, or where a
+token ends. As such, there's a lot of interplay between the tokeniser
+and the parser, which can get pretty frightening if you're not used to
+it.
+
+As the parser understands a Perl program, it builds up a tree of
+operations for the interpreter to perform during execution. The
+routines which construct and link together the various operations are
+to be found in F<op.c>, and will be examined later.
+
+=head2 Optimization
+
+Now the parsing stage is complete, and the finished tree represents the
+operations that the Perl interpreter needs to perform to execute our
+program. Next, Perl does a dry run over the tree looking for
+optimisations: constant expressions such as C<3 + 4> will be computed
+now, and the optimizer will also see if any multiple operations can be
+replaced with a single one. For instance, to fetch the variable
+C<$foo>, instead of grabbing the glob C<*foo> and looking at the scalar
+component, the optimizer fiddles the op tree to use a function which
+directly looks up the scalar in question. The main optimizer is C<peep>
+in F<op.c>, and many ops have their own optimizing functions.
+
+=head2 Running
+
+Now we're finally ready to go: we have compiled Perl byte code, and all
+that's left to do is run it. The actual execution is done by the
+C<runops_standard> function in F<run.c>; more specifically, it's done
+by these three innocent looking lines:
+
+ while ((PL_op = PL_op->op_ppaddr(aTHX))) {
+ PERL_ASYNC_CHECK();
+ }
+
+You may be more comfortable with the Perl version of that:
+
+ PERL_ASYNC_CHECK() while $Perl::op = &{$Perl::op->{function}};
+
+Well, maybe not. Anyway, each op contains a function pointer, which
+stipulates the function which will actually carry out the operation.
+This function will return the next op in the sequence - this allows for
+things like C<if> which choose the next op dynamically at run time. The
+C<PERL_ASYNC_CHECK> makes sure that things like signals interrupt
+execution if required.
+
+The actual functions called are known as PP code, and they're spread
+between four files: F<pp_hot.c> contains the "hot" code, which is most
+often used and highly optimized, F<pp_sys.c> contains all the
+system-specific functions, F<pp_ctl.c> contains the functions which
+implement control structures (C<if>, C<while> and the like) and F<pp.c>
+contains everything else. These are, if you like, the C code for Perl's
+built-in functions and operators.
+
+Note that each C<pp_> function is expected to return a pointer to the
+next op. Calls to perl subs (and eval blocks) are handled within the
+same runops loop, and do not consume extra space on the C stack. For
+example, C<pp_entersub> and C<pp_entertry> just push a C<CxSUB> or
+C<CxEVAL> block struct onto the context stack which contain the address
+of the op following the sub call or eval. They then return the first op
+of that sub or eval block, and so execution continues of that sub or
+block. Later, a C<pp_leavesub> or C<pp_leavetry> op pops the C<CxSUB>
+or C<CxEVAL>, retrieves the return op from it, and returns it.
+
+=head2 Exception handing
+
+Perl's exception handing (i.e. C<die> etc.) is built on top of the
+low-level C<setjmp()>/C<longjmp()> C-library functions. These basically
+provide a way to capture the current PC and SP registers and later
+restore them; i.e. a C<longjmp()> continues at the point in code where
+a previous C<setjmp()> was done, with anything further up on the C
+stack being lost. This is why code should always save values using
+C<SAVE_FOO> rather than in auto variables.
+
+The perl core wraps C<setjmp()> etc in the macros C<JMPENV_PUSH> and
+C<JMPENV_JUMP>. The basic rule of perl exceptions is that C<exit>, and
+C<die> (in the absence of C<eval>) perform a C<JMPENV_JUMP(2)>, while
+C<die> within C<eval> does a C<JMPENV_JUMP(3)>.
+
+At entry points to perl, such as C<perl_parse()>, C<perl_run()> and
+C<call_sv(cv, G_EVAL)> each does a C<JMPENV_PUSH>, then enter a runops
+loop or whatever, and handle possible exception returns. For a 2
+return, final cleanup is performed, such as popping stacks and calling
+C<CHECK> or C<END> blocks. Amongst other things, this is how scope
+cleanup still occurs during an C<exit>.
+
+If a C<die> can find a C<CxEVAL> block on the context stack, then the
+stack is popped to that level and the return op in that block is
+assigned to C<PL_restartop>; then a C<JMPENV_JUMP(3)> is performed.
+This normally passes control back to the guard. In the case of
+C<perl_run> and C<call_sv>, a non-null C<PL_restartop> triggers
+re-entry to the runops loop. The is the normal way that C<die> or
+C<croak> is handled within an C<eval>.
+
+Sometimes ops are executed within an inner runops loop, such as tie,
+sort or overload code. In this case, something like
+
+ sub FETCH { eval { die } }
+
+would cause a longjmp right back to the guard in C<perl_run>, popping
+both runops loops, which is clearly incorrect. One way to avoid this is
+for the tie code to do a C<JMPENV_PUSH> before executing C<FETCH> in
+the inner runops loop, but for efficiency reasons, perl in fact just
+sets a flag, using C<CATCH_SET(TRUE)>. The C<pp_require>,
+C<pp_entereval> and C<pp_entertry> ops check this flag, and if true,
+they call C<docatch>, which does a C<JMPENV_PUSH> and starts a new
+runops level to execute the code, rather than doing it on the current
+loop.
+
+As a further optimisation, on exit from the eval block in the C<FETCH>,
+execution of the code following the block is still carried on in the
+inner loop. When an exception is raised, C<docatch> compares the
+C<JMPENV> level of the C<CxEVAL> with C<PL_top_env> and if they differ,
+just re-throws the exception. In this way any inner loops get popped.
+
+Here's an example.
+
+ 1: eval { tie @a, 'A' };
+ 2: sub A::TIEARRAY {
+ 3: eval { die };
+ 4: die;
+ 5: }
+
+To run this code, C<perl_run> is called, which does a C<JMPENV_PUSH>
+then enters a runops loop. This loop executes the eval and tie ops on
+line 1, with the eval pushing a C<CxEVAL> onto the context stack.
+
+The C<pp_tie> does a C<CATCH_SET(TRUE)>, then starts a second runops
+loop to execute the body of C<TIEARRAY>. When it executes the entertry
+op on line 3, C<CATCH_GET> is true, so C<pp_entertry> calls C<docatch>
+which does a C<JMPENV_PUSH> and starts a third runops loop, which then
+executes the die op. At this point the C call stack looks like this:
+
+ Perl_pp_die
+ Perl_runops # third loop
+ S_docatch_body
+ S_docatch
+ Perl_pp_entertry
+ Perl_runops # second loop
+ S_call_body
+ Perl_call_sv
+ Perl_pp_tie
+ Perl_runops # first loop
+ S_run_body
+ perl_run
+ main
+
+and the context and data stacks, as shown by C<-Dstv>, look like:
+
+ STACK 0: MAIN
+ CX 0: BLOCK =>
+ CX 1: EVAL => AV() PV("A"\0)
+ retop=leave
+ STACK 1: MAGIC
+ CX 0: SUB =>
+ retop=(null)
+ CX 1: EVAL => *
+ retop=nextstate
+
+The die pops the first C<CxEVAL> off the context stack, sets
+C<PL_restartop> from it, does a C<JMPENV_JUMP(3)>, and control returns
+to the top C<docatch>. This then starts another third-level runops
+level, which executes the nextstate, pushmark and die ops on line 4. At
+the point that the second C<pp_die> is called, the C call stack looks
+exactly like that above, even though we are no longer within an inner
+eval; this is because of the optimization mentioned earlier. However,
+the context stack now looks like this, ie with the top CxEVAL popped:
+
+ STACK 0: MAIN
+ CX 0: BLOCK =>
+ CX 1: EVAL => AV() PV("A"\0)
+ retop=leave
+ STACK 1: MAGIC
+ CX 0: SUB =>
+ retop=(null)
+
+The die on line 4 pops the context stack back down to the CxEVAL,
+leaving it as:
+
+ STACK 0: MAIN
+ CX 0: BLOCK =>
+
+As usual, C<PL_restartop> is extracted from the C<CxEVAL>, and a
+C<JMPENV_JUMP(3)> done, which pops the C stack back to the docatch:
+
+ S_docatch
+ Perl_pp_entertry
+ Perl_runops # second loop
+ S_call_body
+ Perl_call_sv
+ Perl_pp_tie
+ Perl_runops # first loop
+ S_run_body
+ perl_run
+ main
+
+In this case, because the C<JMPENV> level recorded in the C<CxEVAL>
+differs from the current one, C<docatch> just does a C<JMPENV_JUMP(3)>
+and the C stack unwinds to:
+
+ perl_run
+ main
+
+Because C<PL_restartop> is non-null, C<run_body> starts a new runops
+loop and execution continues.
+
+=head2 INTERNAL VARIABLE TYPES
+
+You should by now have had a look at L<perlguts>, which tells you about
+Perl's internal variable types: SVs, HVs, AVs and the rest. If not, do
+that now.
+
+These variables are used not only to represent Perl-space variables,
+but also any constants in the code, as well as some structures
+completely internal to Perl. The symbol table, for instance, is an
+ordinary Perl hash. Your code is represented by an SV as it's read into
+the parser; any program files you call are opened via ordinary Perl
+filehandles, and so on.
+
+The core L<Devel::Peek|Devel::Peek> module lets us examine SVs from a
+Perl program. Let's see, for instance, how Perl treats the constant
+C<"hello">.
+
+ % perl -MDevel::Peek -e 'Dump("hello")'
+ 1 SV = PV(0xa041450) at 0xa04ecbc
+ 2 REFCNT = 1
+ 3 FLAGS = (POK,READONLY,pPOK)
+ 4 PV = 0xa0484e0 "hello"\0
+ 5 CUR = 5
+ 6 LEN = 6
+
+Reading C<Devel::Peek> output takes a bit of practise, so let's go
+through it line by line.
+
+Line 1 tells us we're looking at an SV which lives at C<0xa04ecbc> in
+memory. SVs themselves are very simple structures, but they contain a
+pointer to a more complex structure. In this case, it's a PV, a
+structure which holds a string value, at location C<0xa041450>. Line 2
+is the reference count; there are no other references to this data, so
+it's 1.
+
+Line 3 are the flags for this SV - it's OK to use it as a PV, it's a
+read-only SV (because it's a constant) and the data is a PV internally.
+Next we've got the contents of the string, starting at location
+C<0xa0484e0>.
+
+Line 5 gives us the current length of the string - note that this does
+B<not> include the null terminator. Line 6 is not the length of the
+string, but the length of the currently allocated buffer; as the string
+grows, Perl automatically extends the available storage via a routine
+called C<SvGROW>.
+
+You can get at any of these quantities from C very easily; just add
+C<Sv> to the name of the field shown in the snippet, and you've got a
+macro which will return the value: C<SvCUR(sv)> returns the current
+length of the string, C<SvREFCOUNT(sv)> returns the reference count,
+C<SvPV(sv, len)> returns the string itself with its length, and so on.
+More macros to manipulate these properties can be found in L<perlguts>.
+
+Let's take an example of manipulating a PV, from C<sv_catpvn>, in
+F<sv.c>
+
+ 1 void
+ 2 Perl_sv_catpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
+ 3 {
+ 4 STRLEN tlen;
+ 5 char *junk;
+
+ 6 junk = SvPV_force(sv, tlen);
+ 7 SvGROW(sv, tlen + len + 1);
+ 8 if (ptr == junk)
+ 9 ptr = SvPVX(sv);
+ 10 Move(ptr,SvPVX(sv)+tlen,len,char);
+ 11 SvCUR(sv) += len;
+ 12 *SvEND(sv) = '\0';
+ 13 (void)SvPOK_only_UTF8(sv); /* validate pointer */
+ 14 SvTAINT(sv);
+ 15 }
+
+This is a function which adds a string, C<ptr>, of length C<len> onto
+the end of the PV stored in C<sv>. The first thing we do in line 6 is
+make sure that the SV B<has> a valid PV, by calling the C<SvPV_force>
+macro to force a PV. As a side effect, C<tlen> gets set to the current
+value of the PV, and the PV itself is returned to C<junk>.
+
+In line 7, we make sure that the SV will have enough room to
+accommodate the old string, the new string and the null terminator. If
+C<LEN> isn't big enough, C<SvGROW> will reallocate space for us.
+
+Now, if C<junk> is the same as the string we're trying to add, we can
+grab the string directly from the SV; C<SvPVX> is the address of the PV
+in the SV.
+
+Line 10 does the actual catenation: the C<Move> macro moves a chunk of
+memory around: we move the string C<ptr> to the end of the PV - that's
+the start of the PV plus its current length. We're moving C<len> bytes
+of type C<char>. After doing so, we need to tell Perl we've extended
+the string, by altering C<CUR> to reflect the new length. C<SvEND> is a
+macro which gives us the end of the string, so that needs to be a
+C<"\0">.
+
+Line 13 manipulates the flags; since we've changed the PV, any IV or NV
+values will no longer be valid: if we have C<$a=10; $a.="6";> we don't
+want to use the old IV of 10. C<SvPOK_only_utf8> is a special
+UTF-8-aware version of C<SvPOK_only>, a macro which turns off the IOK
+and NOK flags and turns on POK. The final C<SvTAINT> is a macro which
+launders tainted data if taint mode is turned on.
+
+AVs and HVs are more complicated, but SVs are by far the most common
+variable type being thrown around. Having seen something of how we
+manipulate these, let's go on and look at how the op tree is
+constructed.
+
+=head1 OP TREES
+
+First, what is the op tree, anyway? The op tree is the parsed
+representation of your program, as we saw in our section on parsing,
+and it's the sequence of operations that Perl goes through to execute
+your program, as we saw in L</Running>.
+
+An op is a fundamental operation that Perl can perform: all the
+built-in functions and operators are ops, and there are a series of ops
+which deal with concepts the interpreter needs internally - entering
+and leaving a block, ending a statement, fetching a variable, and so
+on.
+
+The op tree is connected in two ways: you can imagine that there are
+two "routes" through it, two orders in which you can traverse the tree.
+First, parse order reflects how the parser understood the code, and
+secondly, execution order tells perl what order to perform the
+operations in.
+
+The easiest way to examine the op tree is to stop Perl after it has
+finished parsing, and get it to dump out the tree. This is exactly what
+the compiler backends L<B::Terse|B::Terse>, L<B::Concise|B::Concise>
+and L<B::Debug|B::Debug> do.
+
+Let's have a look at how Perl sees C<$a = $b + $c>:
+
+ % perl -MO=Terse -e '$a=$b+$c'
+ 1 LISTOP (0x8179888) leave
+ 2 OP (0x81798b0) enter
+ 3 COP (0x8179850) nextstate
+ 4 BINOP (0x8179828) sassign
+ 5 BINOP (0x8179800) add [1]
+ 6 UNOP (0x81796e0) null [15]
+ 7 SVOP (0x80fafe0) gvsv GV (0x80fa4cc) *b
+ 8 UNOP (0x81797e0) null [15]
+ 9 SVOP (0x8179700) gvsv GV (0x80efeb0) *c
+ 10 UNOP (0x816b4f0) null [15]
+ 11 SVOP (0x816dcf0) gvsv GV (0x80fa460) *a
+
+Let's start in the middle, at line 4. This is a BINOP, a binary
+operator, which is at location C<0x8179828>. The specific operator in
+question is C<sassign> - scalar assignment - and you can find the code
+which implements it in the function C<pp_sassign> in F<pp_hot.c>. As a
+binary operator, it has two children: the add operator, providing the
+result of C<$b+$c>, is uppermost on line 5, and the left hand side is
+on line 10.
+
+Line 10 is the null op: this does exactly nothing. What is that doing
+there? If you see the null op, it's a sign that something has been
+optimized away after parsing. As we mentioned in L</Optimization>, the
+optimization stage sometimes converts two operations into one, for
+example when fetching a scalar variable. When this happens, instead of
+rewriting the op tree and cleaning up the dangling pointers, it's
+easier just to replace the redundant operation with the null op.
+Originally, the tree would have looked like this:
+
+ 10 SVOP (0x816b4f0) rv2sv [15]
+ 11 SVOP (0x816dcf0) gv GV (0x80fa460) *a
+
+That is, fetch the C<a> entry from the main symbol table, and then look
+at the scalar component of it: C<gvsv> (C<pp_gvsv> into F<pp_hot.c>)
+happens to do both these things.
+
+The right hand side, starting at line 5 is similar to what we've just
+seen: we have the C<add> op (C<pp_add> also in F<pp_hot.c>) add
+together two C<gvsv>s.
+
+Now, what's this about?
+
+ 1 LISTOP (0x8179888) leave
+ 2 OP (0x81798b0) enter
+ 3 COP (0x8179850) nextstate
+
+C<enter> and C<leave> are scoping ops, and their job is to perform any
+housekeeping every time you enter and leave a block: lexical variables
+are tidied up, unreferenced variables are destroyed, and so on. Every
+program will have those first three lines: C<leave> is a list, and its
+children are all the statements in the block. Statements are delimited
+by C<nextstate>, so a block is a collection of C<nextstate> ops, with
+the ops to be performed for each statement being the children of
+C<nextstate>. C<enter> is a single op which functions as a marker.
+
+That's how Perl parsed the program, from top to bottom:
+
+ Program
+ |
+ Statement
+ |
+ =
+ / \
+ / \
+ $a +
+ / \
+ $b $c
+
+However, it's impossible to B<perform> the operations in this order:
+you have to find the values of C<$b> and C<$c> before you add them
+together, for instance. So, the other thread that runs through the op
+tree is the execution order: each op has a field C<op_next> which
+points to the next op to be run, so following these pointers tells us
+how perl executes the code. We can traverse the tree in this order
+using the C<exec> option to C<B::Terse>:
+
+ % perl -MO=Terse,exec -e '$a=$b+$c'
+ 1 OP (0x8179928) enter
+ 2 COP (0x81798c8) nextstate
+ 3 SVOP (0x81796c8) gvsv GV (0x80fa4d4) *b
+ 4 SVOP (0x8179798) gvsv GV (0x80efeb0) *c
+ 5 BINOP (0x8179878) add [1]
+ 6 SVOP (0x816dd38) gvsv GV (0x80fa468) *a
+ 7 BINOP (0x81798a0) sassign
+ 8 LISTOP (0x8179900) leave
+
+This probably makes more sense for a human: enter a block, start a
+statement. Get the values of C<$b> and C<$c>, and add them together.
+Find C<$a>, and assign one to the other. Then leave.
+
+The way Perl builds up these op trees in the parsing process can be
+unravelled by examining F<perly.y>, the YACC grammar. Let's take the
+piece we need to construct the tree for C<$a = $b + $c>
+
+ 1 term : term ASSIGNOP term
+ 2 { $$ = newASSIGNOP(OPf_STACKED, $1, $2, $3); }
+ 3 | term ADDOP term
+ 4 { $$ = newBINOP($2, 0, scalar($1), scalar($3)); }
+
+If you're not used to reading BNF grammars, this is how it works:
+You're fed certain things by the tokeniser, which generally end up in
+upper case. Here, C<ADDOP>, is provided when the tokeniser sees C<+> in
+your code. C<ASSIGNOP> is provided when C<=> is used for assigning.
+These are "terminal symbols", because you can't get any simpler than
+them.
+
+The grammar, lines one and three of the snippet above, tells you how to
+build up more complex forms. These complex forms, "non-terminal
+symbols" are generally placed in lower case. C<term> here is a
+non-terminal symbol, representing a single expression.
+
+The grammar gives you the following rule: you can make the thing on the
+left of the colon if you see all the things on the right in sequence.
+This is called a "reduction", and the aim of parsing is to completely
+reduce the input. There are several different ways you can perform a
+reduction, separated by vertical bars: so, C<term> followed by C<=>
+followed by C<term> makes a C<term>, and C<term> followed by C<+>
+followed by C<term> can also make a C<term>.
+
+So, if you see two terms with an C<=> or C<+>, between them, you can
+turn them into a single expression. When you do this, you execute the
+code in the block on the next line: if you see C<=>, you'll do the code
+in line 2. If you see C<+>, you'll do the code in line 4. It's this
+code which contributes to the op tree.
+
+ | term ADDOP term
+ { $$ = newBINOP($2, 0, scalar($1), scalar($3)); }
+
+What this does is creates a new binary op, and feeds it a number of
+variables. The variables refer to the tokens: C<$1> is the first token
+in the input, C<$2> the second, and so on - think regular expression
+backreferences. C<$$> is the op returned from this reduction. So, we
+call C<newBINOP> to create a new binary operator. The first parameter
+to C<newBINOP>, a function in F<op.c>, is the op type. It's an addition
+operator, so we want the type to be C<ADDOP>. We could specify this
+directly, but it's right there as the second token in the input, so we
+use C<$2>. The second parameter is the op's flags: 0 means "nothing
+special". Then the things to add: the left and right hand side of our
+expression, in scalar context.
+
+=head1 STACKS
+
+When perl executes something like C<addop>, how does it pass on its
+results to the next op? The answer is, through the use of stacks. Perl
+has a number of stacks to store things it's currently working on, and
+we'll look at the three most important ones here.
+
+=head2 Argument stack
+
+Arguments are passed to PP code and returned from PP code using the
+argument stack, C<ST>. The typical way to handle arguments is to pop
+them off the stack, deal with them how you wish, and then push the
+result back onto the stack. This is how, for instance, the cosine
+operator works:
+
+ NV value;
+ value = POPn;
+ value = Perl_cos(value);
+ XPUSHn(value);
+
+We'll see a more tricky example of this when we consider Perl's macros
+below. C<POPn> gives you the NV (floating point value) of the top SV on
+the stack: the C<$x> in C<cos($x)>. Then we compute the cosine, and
+push the result back as an NV. The C<X> in C<XPUSHn> means that the
+stack should be extended if necessary - it can't be necessary here,
+because we know there's room for one more item on the stack, since
+we've just removed one! The C<XPUSH*> macros at least guarantee safety.
+
+Alternatively, you can fiddle with the stack directly: C<SP> gives you
+the first element in your portion of the stack, and C<TOP*> gives you
+the top SV/IV/NV/etc. on the stack. So, for instance, to do unary
+negation of an integer:
+
+ SETi(-TOPi);
+
+Just set the integer value of the top stack entry to its negation.
+
+Argument stack manipulation in the core is exactly the same as it is in
+XSUBs - see L<perlxstut>, L<perlxs> and L<perlguts> for a longer
+description of the macros used in stack manipulation.
+
+=head2 Mark stack
+
+I say "your portion of the stack" above because PP code doesn't
+necessarily get the whole stack to itself: if your function calls
+another function, you'll only want to expose the arguments aimed for
+the called function, and not (necessarily) let it get at your own data.
+The way we do this is to have a "virtual" bottom-of-stack, exposed to
+each function. The mark stack keeps bookmarks to locations in the
+argument stack usable by each function. For instance, when dealing with
+a tied variable, (internally, something with "P" magic) Perl has to
+call methods for accesses to the tied variables. However, we need to
+separate the arguments exposed to the method to the argument exposed to
+the original function - the store or fetch or whatever it may be.
+Here's roughly how the tied C<push> is implemented; see C<av_push> in
+F<av.c>:
+
+ 1 PUSHMARK(SP);
+ 2 EXTEND(SP,2);
+ 3 PUSHs(SvTIED_obj((SV*)av, mg));
+ 4 PUSHs(val);
+ 5 PUTBACK;
+ 6 ENTER;
+ 7 call_method("PUSH", G_SCALAR|G_DISCARD);
+ 8 LEAVE;
+
+Let's examine the whole implementation, for practice:
+
+ 1 PUSHMARK(SP);
+
+Push the current state of the stack pointer onto the mark stack. This
+is so that when we've finished adding items to the argument stack, Perl
+knows how many things we've added recently.
+
+ 2 EXTEND(SP,2);
+ 3 PUSHs(SvTIED_obj((SV*)av, mg));
+ 4 PUSHs(val);
+
+We're going to add two more items onto the argument stack: when you
+have a tied array, the C<PUSH> subroutine receives the object and the
+value to be pushed, and that's exactly what we have here - the tied
+object, retrieved with C<SvTIED_obj>, and the value, the SV C<val>.
+
+ 5 PUTBACK;
+
+Next we tell Perl to update the global stack pointer from our internal
+variable: C<dSP> only gave us a local copy, not a reference to the
+global.
+
+ 6 ENTER;
+ 7 call_method("PUSH", G_SCALAR|G_DISCARD);
+ 8 LEAVE;
+
+C<ENTER> and C<LEAVE> localise a block of code - they make sure that
+all variables are tidied up, everything that has been localised gets
+its previous value returned, and so on. Think of them as the C<{> and
+C<}> of a Perl block.
+
+To actually do the magic method call, we have to call a subroutine in
+Perl space: C<call_method> takes care of that, and it's described in
+L<perlcall>. We call the C<PUSH> method in scalar context, and we're
+going to discard its return value. The call_method() function removes
+the top element of the mark stack, so there is nothing for the caller
+to clean up.
+
+=head2 Save stack
+
+C doesn't have a concept of local scope, so perl provides one. We've
+seen that C<ENTER> and C<LEAVE> are used as scoping braces; the save
+stack implements the C equivalent of, for example:
+
+ {
+ local $foo = 42;
+ ...
+ }
+
+See L<perlguts/"Localizing Changes"> for how to use the save stack.
+
+=head1 MILLIONS OF MACROS
+
+One thing you'll notice about the Perl source is that it's full of
+macros. Some have called the pervasive use of macros the hardest thing
+to understand, others find it adds to clarity. Let's take an example,
+the code which implements the addition operator:
+
+ 1 PP(pp_add)
+ 2 {
+ 3 dSP; dATARGET; tryAMAGICbin(add,opASSIGN);
+ 4 {
+ 5 dPOPTOPnnrl_ul;
+ 6 SETn( left + right );
+ 7 RETURN;
+ 8 }
+ 9 }
+
+Every line here (apart from the braces, of course) contains a macro.
+The first line sets up the function declaration as Perl expects for PP
+code; line 3 sets up variable declarations for the argument stack and
+the target, the return value of the operation. Finally, it tries to see
+if the addition operation is overloaded; if so, the appropriate
+subroutine is called.
+
+Line 5 is another variable declaration - all variable declarations
+start with C<d> - which pops from the top of the argument stack two NVs
+(hence C<nn>) and puts them into the variables C<right> and C<left>,
+hence the C<rl>. These are the two operands to the addition operator.
+Next, we call C<SETn> to set the NV of the return value to the result
+of adding the two values. This done, we return - the C<RETURN> macro
+makes sure that our return value is properly handled, and we pass the
+next operator to run back to the main run loop.
+
+Most of these macros are explained in L<perlapi>, and some of the more
+important ones are explained in L<perlxs> as well. Pay special
+attention to L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for
+information on the C<[pad]THX_?> macros.
+
+=head1 FURTHER READING
+
+For more information on the Perl internals, please see the documents
+listed at L<perl/Internals and C Language Interface>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlintro.pod b/Master/tlpkg/tlperl/lib/pods/perlintro.pod
index c47274bc646..2d0076a029d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlintro.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlintro.pod
@@ -22,6 +22,25 @@ Throughout this document you'll see references to other parts of the
Perl documentation. You can read that documentation using the C<perldoc>
command or whatever method you're using to read this document.
+Throughout Perl's documentation, you'll find numerous examples intended
+to help explain the discussed features. Please keep in mind that many
+of them are code fragments rather than complete programs.
+
+These examples often reflect the style and preference of the author of
+that piece of the documentation, and may be briefer than a corresponding
+line of code in a real program. Except where otherwise noted, you
+should assume that C<use strict> and C<use warnings> statements
+appear earlier in the "program", and that any variables used have
+already been declared, even if those declarations have been omitted
+to make the example easier to read.
+
+Do note that the examples have been written by many different authors over
+a period of several decades. Styles and techniques will therefore differ,
+although some effort has been made to not vary styles too widely in the
+same sections. Do not consider one style to be better than others - "There
+Is More Than One Way Of Doing It" is one Perl's mottos. After all, in your
+journey as a programmer, you are likely to encounter different styles.
+
=head2 What is Perl?
Perl is a general-purpose programming language originally developed for
diff --git a/Master/tlpkg/tlperl/lib/pods/perliol.pod b/Master/tlpkg/tlperl/lib/pods/perliol.pod
index e81484772a7..0f71b93078f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perliol.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perliol.pod
@@ -526,11 +526,12 @@ passed to C<open>, otherwise it will be 1 if for example
C<PerlIO_open> was called. In simple cases SvPV_nolen(*args) is the
pathname to open.
-Having said all that translation-only layers do not need to provide
-C<Open()> at all, but rather leave the opening to a lower level layer
-and wait to be "pushed". If a layer does provide C<Open()> it should
-normally call the C<Open()> method of next layer down (if any) and
-then push itself on top if that succeeds.
+If a layer provides C<Open()> it should normally call the C<Open()>
+method of next layer down (if any) and then push itself on top if that
+succeeds. C<PerlIOBase_open> is provided to do exactly that, so in
+most cases you don't have to write your own C<Open()> method. If this
+method is not defined, other layers may have difficulty pushing
+themselves on top of it during open.
If C<PerlIO_push> was performed and open has failed, it must
C<PerlIO_pop> itself, since if it's not, the layer won't be removed
diff --git a/Master/tlpkg/tlperl/lib/pods/perlipc.pod b/Master/tlpkg/tlperl/lib/pods/perlipc.pod
index 8d9ea9757d0..3009913147c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlipc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlipc.pod
@@ -16,17 +16,19 @@ be called with an argument which is the name of the signal that
triggered it. A signal may be generated intentionally from a
particular keyboard sequence like control-C or control-Z, sent to you
from another process, or triggered automatically by the kernel when
-special events transpire, like a child process exiting, your process
-running out of stack space, or hitting file size limit.
+special events transpire, like a child process exiting, your own process
+running out of stack space, or hitting a process file-size limit.
For example, to trap an interrupt signal, set up a handler like this:
+ our $shucks;
+
sub catch_zap {
- my $signame = shift;
- $shucks++;
- die "Somebody sent me a SIG$signame";
+ my $signame = shift;
+ $shucks++;
+ die "Somebody sent me a SIG$signame";
}
- $SIG{INT} = 'catch_zap'; # could fail in modules
+ $SIG{INT} = __PACKAGE__ . "::catch_zap";
$SIG{INT} = \&catch_zap; # best strategy
Prior to Perl 5.7.3 it was necessary to do as little as you possibly
@@ -39,59 +41,61 @@ dump - see L</Deferred Signals (Safe Signals)> below.
The names of the signals are the ones listed out by C<kill -l> on your
system, or you can retrieve them from the Config module. Set up an
-@signame list indexed by number to get the name and a %signo table
+@signame list indexed by number to get the name and a %signo hash table
indexed by name to get the number:
use Config;
- defined $Config{sig_name} || die "No sigs?";
- foreach $name (split(' ', $Config{sig_name})) {
- $signo{$name} = $i;
- $signame[$i] = $name;
- $i++;
+ defined($Config{sig_name}) || die "No sigs?";
+ foreach $name (split(" ", $Config{sig_name})) {
+ $signo{$name} = $i;
+ $signame[$i] = $name;
+ $i++;
}
So to check whether signal 17 and SIGALRM were the same, do just this:
print "signal #17 = $signame[17]\n";
if ($signo{ALRM}) {
- print "SIGALRM is $signo{ALRM}\n";
+ print "SIGALRM is $signo{ALRM}\n";
}
-You may also choose to assign the strings C<'IGNORE'> or C<'DEFAULT'> as
+You may also choose to assign the strings C<"IGNORE"> or C<"DEFAULT"> as
the handler, in which case Perl will try to discard the signal or do the
default thing.
On most Unix platforms, the C<CHLD> (sometimes also known as C<CLD>) signal
-has special behavior with respect to a value of C<'IGNORE'>.
-Setting C<$SIG{CHLD}> to C<'IGNORE'> on such a platform has the effect of
+has special behavior with respect to a value of C<"IGNORE">.
+Setting C<$SIG{CHLD}> to C<"IGNORE"> on such a platform has the effect of
not creating zombie processes when the parent process fails to C<wait()>
-on its child processes (i.e. child processes are automatically reaped).
-Calling C<wait()> with C<$SIG{CHLD}> set to C<'IGNORE'> usually returns
+on its child processes (i.e., child processes are automatically reaped).
+Calling C<wait()> with C<$SIG{CHLD}> set to C<"IGNORE"> usually returns
C<-1> on such platforms.
-Some signals can be neither trapped nor ignored, such as
-the KILL and STOP (but not the TSTP) signals. One strategy for
-temporarily ignoring signals is to use a local() statement, which will be
-automatically restored once your block is exited. (Remember that local()
-values are "inherited" by functions called from within that block.)
+Some signals can be neither trapped nor ignored, such as the KILL and STOP
+(but not the TSTP) signals. One strategy for temporarily ignoring signals
+is to use a local() on that hash element, automatically restoring a
+previous value once your block is exited. Remember that values created by
+the dynamically-scoped local() are "inherited" by functions called from
+within their caller's scope.
sub precious {
- local $SIG{INT} = 'IGNORE';
- &more_functions;
+ local $SIG{INT} = "IGNORE";
+ more_functions();
}
sub more_functions {
- # interrupts still ignored, for now...
+ # interrupts still ignored, for now...
}
Sending a signal to a negative process ID means that you send the signal
-to the entire Unix process-group. This code sends a hang-up signal to all
-processes in the current process group (and sets $SIG{HUP} to IGNORE so
-it doesn't kill itself):
+to the entire Unix process group. This code sends a hang-up signal to all
+processes in the current process group, and also sets $SIG{HUP} to C<"IGNORE">
+so it doesn't kill itself:
+ # block scope for local
{
- local $SIG{HUP} = 'IGNORE';
- kill HUP => -$$;
- # snazzy writing of: kill('HUP', -$$)
+ local $SIG{HUP} = "IGNORE";
+ kill HUP => -$$;
+ # snazzy writing of: kill("HUP", -$$)
}
Another interesting signal to send is signal number zero. This doesn't
@@ -99,7 +103,7 @@ actually affect a child process, but instead checks whether it's alive
or has changed its UID.
unless (kill 0 => $kid_pid) {
- warn "something wicked happened to $kid_pid";
+ warn "something wicked happened to $kid_pid";
}
When directed at a process whose UID is not identical to that
@@ -107,8 +111,8 @@ of the sending process, signal number zero may fail because
you lack permission to send the signal, even though the process is alive.
You may be able to determine the cause of failure using C<%!>.
- unless (kill 0 => $pid or $!{EPERM}) {
- warn "$pid looks dead";
+ unless (kill(0 => $pid) || $!{EPERM}) {
+ warn "$pid looks dead";
}
You might also want to employ anonymous functions for simple signal
@@ -119,16 +123,16 @@ handlers:
But that will be problematic for the more complicated handlers that need
to reinstall themselves. Because Perl's signal mechanism is currently
based on the signal(3) function from the C library, you may sometimes be so
-unfortunate as to run on systems where that function is "broken", that
+unfortunate as to run on systems where that function is "broken"; that
is, it behaves in the old unreliable SysV way rather than the newer, more
reasonable BSD and POSIX fashion. So you'll see defensive people writing
signal handlers like this:
sub REAPER {
- $waitedpid = wait;
- # loathe SysV: it makes us not only reinstate
- # the handler, but place it after the wait
- $SIG{CHLD} = \&REAPER;
+ $waitedpid = wait;
+ # loathe SysV: it makes us not only reinstate
+ # the handler, but place it after the wait
+ $SIG{CHLD} = \&REAPER;
}
$SIG{CHLD} = \&REAPER;
# now do something that forks...
@@ -137,26 +141,26 @@ or better still:
use POSIX ":sys_wait_h";
sub REAPER {
- my $child;
- # If a second child dies while in the signal handler caused by the
- # first death, we won't get another signal. So must loop here else
- # we will leave the unreaped child as a zombie. And the next time
- # two children die we get another zombie. And so on.
- while (($child = waitpid(-1,WNOHANG)) > 0) {
- $Kid_Status{$child} = $?;
- }
- $SIG{CHLD} = \&REAPER; # still loathe SysV
+ my $child;
+ # If a second child dies while in the signal handler caused by the
+ # first death, we won't get another signal. So must loop here else
+ # we will leave the unreaped child as a zombie. And the next time
+ # two children die we get another zombie. And so on.
+ while (($child = waitpid(-1, WNOHANG)) > 0) {
+ $Kid_Status{$child} = $?;
+ }
+ $SIG{CHLD} = \&REAPER; # still loathe SysV
}
$SIG{CHLD} = \&REAPER;
# do something that forks...
-Note: qx(), system() and some modules for calling external commands do a
-fork() and wait() for the result. Thus, your signal handler (REAPER in the
-example) will be called. Since wait() was already called by system() or qx()
-the wait() in the signal handler will not see any more zombies and therefore
-block.
+Be careful: qx(), system(), and some modules for calling external commands
+do a fork(), then wait() for the result. Thus, your signal handler
+(C<&REAPER> in the example) will be called. Because wait() was already
+called by system() or qx(), the wait() in the signal handler will see no
+more zombies and will therefore block.
-The best way to prevent this issue is to use waitpid, as in the following
+The best way to prevent this issue is to use waitpid(), as in the following
example:
use POSIX ":sys_wait_h"; # for nonblocking read
@@ -165,7 +169,7 @@ example:
$SIG{CHLD} = sub {
# don't change $! and $? outside handler
- local ($!,$?);
+ local ($!, $?);
my $pid = waitpid(-1, WNOHANG);
return if $pid == -1;
return unless defined $children{$pid};
@@ -175,11 +179,12 @@ example:
while (1) {
my $pid = fork();
+ die "cannot fork" unless defined $pid;
if ($pid == 0) {
# ...
exit 0;
} else {
- $children{$pid}=1;
+ $children{$pid}=1;
# ...
system($command);
# ...
@@ -196,13 +201,15 @@ using longjmp() or throw() in other languages.
Here's an example:
+ my $ALARM_EXCEPTION = "alarm clock restart";
eval {
- local $SIG{ALRM} = sub { die "alarm clock restart" };
+ local $SIG{ALRM} = sub { die $ALARM_EXCEPTION };
alarm 10;
- flock(FH, 2); # blocking write lock
+ flock(FH, 2) # blocking write lock
+ || die "cannot flock: $!";
alarm 0;
};
- if ($@ and $@ !~ /alarm clock restart/) { die }
+ if ($@ && $@ !~ quotemeta($ALARM_EXCEPTION)) { die }
If the operation being timed out is system() or qx(), this technique
is liable to generate zombies. If this matters to you, you'll
@@ -219,21 +226,21 @@ A process that usually starts when the system boots and shuts down
when the system is shut down is called a daemon (Disk And Execution
MONitor). If a daemon process has a configuration file which is
modified after the process has been started, there should be a way to
-tell that process to re-read its configuration file, without stopping
-the process. Many daemons provide this mechanism using the C<SIGHUP>
-signal handler. When you want to tell the daemon to re-read the file
-you simply send it the C<SIGHUP> signal.
+tell that process to reread its configuration file without stopping
+the process. Many daemons provide this mechanism using a C<SIGHUP>
+signal handler. When you want to tell the daemon to reread the file,
+simply send it the C<SIGHUP> signal.
Not all platforms automatically reinstall their (native) signal
handlers after a signal delivery. This means that the handler works
-only the first time the signal is sent. The solution to this problem
-is to use C<POSIX> signal handlers if available, their behaviour
+the first time the signal is sent, only. The solution to this problem
+is to use C<POSIX> signal handlers if available; their behavior
is well-defined.
The following example implements a simple daemon, which restarts
itself every time the C<SIGHUP> signal is received. The actual code is
-located in the subroutine C<code()>, which simply prints some debug
-info to show that it works and should be replaced with the real code.
+located in the subroutine C<code()>, which just prints some debugging
+info to show that it works; it should be replaced with the real code.
#!/usr/bin/perl -w
@@ -242,23 +249,23 @@ info to show that it works and should be replaced with the real code.
use File::Basename ();
use File::Spec::Functions;
- $|=1;
+ $| = 1;
# make the daemon cross-platform, so exec always calls the script
# itself with the right path, no matter how the script was invoked.
my $script = File::Basename::basename($0);
- my $SELF = catfile $FindBin::Bin, $script;
+ my $SELF = catfile($FindBin::Bin, $script);
# POSIX unmasks the sigprocmask properly
my $sigset = POSIX::SigSet->new();
- my $action = POSIX::SigAction->new('sigHUP_handler',
+ my $action = POSIX::SigAction->new("sigHUP_handler",
$sigset,
&POSIX::SA_NODEFER);
POSIX::sigaction(&POSIX::SIGHUP, $action);
sub sigHUP_handler {
print "got SIGHUP\n";
- exec($SELF, @ARGV) or die "Couldn't restart: $!\n";
+ exec($SELF, @ARGV) || die "$0: couldn't restart: $!";
}
code();
@@ -266,80 +273,24 @@ info to show that it works and should be replaced with the real code.
sub code {
print "PID: $$\n";
print "ARGV: @ARGV\n";
- my $c = 0;
- while (++$c) {
+ my $count = 0;
+ while (++$count) {
sleep 2;
- print "$c\n";
+ print "$count\n";
}
}
- __END__
-
-
-=head1 Named Pipes
-
-A named pipe (often referred to as a FIFO) is an old Unix IPC
-mechanism for processes communicating on the same machine. It works
-just like a regular, connected anonymous pipes, except that the
-processes rendezvous using a filename and don't have to be related.
-
-To create a named pipe, use the C<POSIX::mkfifo()> function.
-
- use POSIX qw(mkfifo);
- mkfifo($path, 0700) or die "mkfifo $path failed: $!";
-
-You can also use the Unix command mknod(1) or on some
-systems, mkfifo(1). These may not be in your normal path.
-
- # system return val is backwards, so && not ||
- #
- $ENV{PATH} .= ":/etc:/usr/etc";
- if ( system('mknod', $path, 'p')
- && system('mkfifo', $path) )
- {
- die "mk{nod,fifo} $path failed";
- }
-A fifo is convenient when you want to connect a process to an unrelated
-one. When you open a fifo, the program will block until there's something
-on the other end.
-
-For example, let's say you'd like to have your F<.signature> file be a
-named pipe that has a Perl program on the other end. Now every time any
-program (like a mailer, news reader, finger program, etc.) tries to read
-from that file, the reading program will block and your program will
-supply the new signature. We'll use the pipe-checking file test B<-p>
-to find out whether anyone (or anything) has accidentally removed our fifo.
-
- chdir; # go home
- $FIFO = '.signature';
-
- while (1) {
- unless (-p $FIFO) {
- unlink $FIFO;
- require POSIX;
- POSIX::mkfifo($FIFO, 0700)
- or die "can't mkfifo $FIFO: $!";
- }
-
- # next line blocks until there's a reader
- open (FIFO, "> $FIFO") || die "can't write $FIFO: $!";
- print FIFO "John Smith (smith\@host.org)\n", `fortune -s`;
- close FIFO;
- sleep 2; # to avoid dup signals
- }
-
=head2 Deferred Signals (Safe Signals)
-In Perls before Perl 5.7.3 by installing Perl code to deal with
-signals, you were exposing yourself to danger from two things. First,
-few system library functions are re-entrant. If the signal interrupts
-while Perl is executing one function (like malloc(3) or printf(3)),
-and your signal handler then calls the same function again, you could
-get unpredictable behavior--often, a core dump. Second, Perl isn't
-itself re-entrant at the lowest levels. If the signal interrupts Perl
-while Perl is changing its own internal data structures, similarly
-unpredictable behaviour may result.
+Before Perl 5.7.3, installing Perl code to deal with signals exposed you to
+danger from two things. First, few system library functions are
+re-entrant. If the signal interrupts while Perl is executing one function
+(like malloc(3) or printf(3)), and your signal handler then calls the same
+function again, you could get unpredictable behavior--often, a core dump.
+Second, Perl isn't itself re-entrant at the lowest levels. If the signal
+interrupts Perl while Perl is changing its own internal data structures,
+similarly unpredictable behavior may result.
There were two things you could do, knowing this: be paranoid or be
pragmatic. The paranoid approach was to do as little as possible in your
@@ -352,30 +303,28 @@ The pragmatic approach was to say "I know the risks, but prefer the
convenience", and to do anything you wanted in your signal handler,
and be prepared to clean up core dumps now and again.
-Perl 5.7.3 and later avoid these problems by "deferring" signals.
-That is, when the signal is delivered to the process by
-the system (to the C code that implements Perl) a flag is set, and the
-handler returns immediately. Then at strategic "safe" points in the
-Perl interpreter (e.g. when it is about to execute a new opcode) the
-flags are checked and the Perl level handler from %SIG is
-executed. The "deferred" scheme allows much more flexibility in the
-coding of signal handler as we know Perl interpreter is in a safe
-state, and that we are not in a system library function when the
-handler is called. However the implementation does differ from
-previous Perls in the following ways:
+Perl 5.7.3 and later avoid these problems by "deferring" signals. That is,
+when the signal is delivered to the process by the system (to the C code
+that implements Perl) a flag is set, and the handler returns immediately.
+Then at strategic "safe" points in the Perl interpreter (e.g. when it is
+about to execute a new opcode) the flags are checked and the Perl level
+handler from %SIG is executed. The "deferred" scheme allows much more
+flexibility in the coding of signal handlers as we know the Perl
+interpreter is in a safe state, and that we are not in a system library function when the handler is called. However the implementation does
+differ from previous Perls in the following ways:
=over 4
=item Long-running opcodes
-As the Perl interpreter only looks at the signal flags when it is about
+As the Perl interpreter looks at signal flags only when it is about
to execute a new opcode, a signal that arrives during a long-running
opcode (e.g. a regular expression operation on a very large string) will
not be seen until the current opcode completes.
-N.B. If a signal of any given type fires multiple times during an opcode
+If a signal of any given type fires multiple times during an opcode
(such as from a fine-grained timer), the handler for that signal will
-only be called once after the opcode completes, and all the other
+be called only once, after the opcode completes; all other
instances will be discarded. Furthermore, if your system's signal queue
gets flooded to the point that there are signals that have been raised
but not yet caught (and thus not deferred) at the time an opcode
@@ -387,31 +336,37 @@ raised but not yet caught. Do not depend on the behaviors described in
this paragraph as they are side effects of the current implementation and
may change in future versions of Perl.
-
=item Interrupting IO
-When a signal is delivered (e.g. INT control-C) the operating system
-breaks into IO operations like C<read> (used to implement Perls
-E<lt>E<gt> operator). On older Perls the handler was called
-immediately (and as C<read> is not "unsafe" this worked well). With
-the "deferred" scheme the handler is not called immediately, and if
-Perl is using system's C<stdio> library that library may re-start the
-C<read> without returning to Perl and giving it a chance to call the
-%SIG handler. If this happens on your system the solution is to use
-C<:perlio> layer to do IO - at least on those handles which you want
-to be able to break into with signals. (The C<:perlio> layer checks
-the signal flags and calls %SIG handlers before resuming IO operation.)
-
-Note that the default in Perl 5.7.3 and later is to automatically use
+When a signal is delivered (e.g., SIGINT from a control-C) the operating
+system breaks into IO operations like I<read>(2), which is used to
+implement Perl's readline() function, the C<< <> >> operator. On older
+Perls the handler was called immediately (and as C<read> is not "unsafe",
+this worked well). With the "deferred" scheme the handler is I<not> called
+immediately, and if Perl is using the system's C<stdio> library that
+library may restart the C<read> without returning to Perl to give it a
+chance to call the %SIG handler. If this happens on your system the
+solution is to use the C<:perlio> layer to do IO--at least on those handles
+that you want to be able to break into with signals. (The C<:perlio> layer
+checks the signal flags and calls %SIG handlers before resuming IO
+operation.)
+
+The default in Perl 5.7.3 and later is to automatically use
the C<:perlio> layer.
-Note that some networking library functions like gethostbyname() are
-known to have their own implementations of timeouts which may conflict
-with your timeouts. If you are having problems with such functions,
-you can try using the POSIX sigaction() function, which bypasses the
-Perl safe signals (note that this means subjecting yourself to
-possible memory corruption, as described above). Instead of setting
-C<$SIG{ALRM}>:
+Note that it is not advisable to access a file handle within a signal
+handler where that signal has interrupted an I/O operation on that same
+handle. While perl will at least try hard not to crash, there are no
+guarantees of data integrity; for example, some data might get dropped or
+written twice.
+
+Some networking library functions like gethostbyname() are known to have
+their own implementations of timeouts which may conflict with your
+timeouts. If you have problems with such functions, try using the POSIX
+sigaction() function, which bypasses Perl safe signals. Be warned that
+this does subject you to possible memory corruption, as described above.
+
+Instead of setting C<$SIG{ALRM}>:
local $SIG{ALRM} = sub { die "alarm" };
@@ -420,11 +375,11 @@ try something like the following:
use POSIX qw(SIGALRM);
POSIX::sigaction(SIGALRM,
POSIX::SigAction->new(sub { die "alarm" }))
- or die "Error setting SIGALRM handler: $!\n";
+ || die "Error setting SIGALRM handler: $!\n";
Another way to disable the safe signal behavior locally is to use
-the C<Perl::Unsafe::Signals> module from CPAN (which will affect
-all signals).
+the C<Perl::Unsafe::Signals> module from CPAN, which affects
+all signals.
=item Restartable system calls
@@ -436,33 +391,87 @@ Perl 5.7.3 and later do I<not> use SA_RESTART. Consequently,
restartable system calls can fail (with $! set to C<EINTR>) in places
where they previously would have succeeded.
-Note that the default C<:perlio> layer will retry C<read>, C<write>
-and C<close> as described above and that interrupted C<wait> and
+The default C<:perlio> layer retries C<read>, C<write>
+and C<close> as described above; interrupted C<wait> and
C<waitpid> calls will always be retried.
=item Signals as "faults"
-Certain signals, e.g. SEGV, ILL, and BUS, are generated as a result of
-virtual memory or other "faults". These are normally fatal and there is
-little a Perl-level handler can do with them, so Perl now delivers them
+Certain signals like SEGV, ILL, and BUS are generated by virtual memory
+addressing errors and similar "faults". These are normally fatal: there is
+little a Perl-level handler can do with them. So Perl now delivers them
immediately rather than attempting to defer them.
=item Signals triggered by operating system state
On some operating systems certain signal handlers are supposed to "do
-something" before returning. One example can be CHLD or CLD which
+something" before returning. One example can be CHLD or CLD, which
indicates a child process has completed. On some operating systems the
signal handler is expected to C<wait> for the completed child
process. On such systems the deferred signal scheme will not work for
-those signals (it does not do the C<wait>). Again the failure will
-look like a loop as the operating system will re-issue the signal as
-there are un-waited-for completed child processes.
+those signals: it does not do the C<wait>. Again the failure will
+look like a loop as the operating system will reissue the signal because
+there are completed child processes that have not yet been C<wait>ed for.
=back
-If you want the old signal behaviour back regardless of possible
+If you want the old signal behavior back despite possible
memory corruption, set the environment variable C<PERL_SIGNALS> to
-C<"unsafe"> (a new feature since Perl 5.8.1).
+C<"unsafe">. This feature first appeared in Perl 5.8.1.
+
+=head1 Named Pipes
+
+A named pipe (often referred to as a FIFO) is an old Unix IPC
+mechanism for processes communicating on the same machine. It works
+just like regular anonymous pipes, except that the
+processes rendezvous using a filename and need not be related.
+
+To create a named pipe, use the C<POSIX::mkfifo()> function.
+
+ use POSIX qw(mkfifo);
+ mkfifo($path, 0700) || die "mkfifo $path failed: $!";
+
+You can also use the Unix command mknod(1), or on some
+systems, mkfifo(1). These may not be in your normal path, though.
+
+ # system return val is backwards, so && not ||
+ #
+ $ENV{PATH} .= ":/etc:/usr/etc";
+ if ( system("mknod", $path, "p")
+ && system("mkfifo", $path) )
+ {
+ die "mk{nod,fifo} $path failed";
+ }
+
+
+A fifo is convenient when you want to connect a process to an unrelated
+one. When you open a fifo, the program will block until there's something
+on the other end.
+
+For example, let's say you'd like to have your F<.signature> file be a
+named pipe that has a Perl program on the other end. Now every time any
+program (like a mailer, news reader, finger program, etc.) tries to read
+from that file, the reading program will read the new signature from your
+program. We'll use the pipe-checking file-test operator, B<-p>, to find
+out whether anyone (or anything) has accidentally removed our fifo.
+
+ chdir(); # go home
+ my $FIFO = ".signature";
+
+ while (1) {
+ unless (-p $FIFO) {
+ unlink $FIFO; # discard any failure, will catch later
+ require POSIX; # delayed loading of heavy module
+ POSIX::mkfifo($FIFO, 0700)
+ || die "can't mkfifo $FIFO: $!";
+ }
+
+ # next line blocks till there's a reader
+ open (FIFO, "> $FIFO") || die "can't open $FIFO: $!";
+ print FIFO "John Smith (smith\@host.org)\n", `fortune -s`;
+ close(FIFO) || die "can't close $FIFO: $!";
+ sleep 2; # to avoid dup signals
+ }
=head1 Using open() for IPC
@@ -472,28 +481,27 @@ symbol to the second argument to open(). Here's how to start
something up in a child process you intend to write to:
open(SPOOLER, "| cat -v | lpr -h 2>/dev/null")
- || die "can't fork: $!";
+ || die "can't fork: $!";
local $SIG{PIPE} = sub { die "spooler pipe broke" };
print SPOOLER "stuff\n";
- close SPOOLER || die "bad spool: $! $?";
+ close SPOOLER || die "bad spool: $! $?";
And here's how to start up a child process you intend to read from:
open(STATUS, "netstat -an 2>&1 |")
- || die "can't fork: $!";
+ || die "can't fork: $!";
while (<STATUS>) {
- next if /^(tcp|udp)/;
- print;
+ next if /^(tcp|udp)/;
+ print;
}
- close STATUS || die "bad netstat: $! $?";
+ close STATUS || die "bad netstat: $! $?";
-If one can be sure that a particular program is a Perl script that is
-expecting filenames in @ARGV, the clever programmer can write something
-like this:
+If one can be sure that a particular program is a Perl script expecting
+filenames in @ARGV, the clever programmer can write something like this:
% program f1 "cmd1|" - f2 "cmd2|" f3 < tmpfile
-and irrespective of which shell it's called from, the Perl program will
+and no matter which sort of shell it's called from, the Perl program will
read from the file F<f1>, the process F<cmd1>, standard input (F<tmpfile>
in this case), the F<f2> file, the F<cmd2> command, and finally the F<f3>
file. Pretty nifty, eh?
@@ -502,36 +510,38 @@ You might notice that you could use backticks for much the
same effect as opening a pipe for reading:
print grep { !/^(tcp|udp)/ } `netstat -an 2>&1`;
- die "bad netstat" if $?;
+ die "bad netstatus ($?)" if $?;
While this is true on the surface, it's much more efficient to process the
file one line or record at a time because then you don't have to read the
whole thing into memory at once. It also gives you finer control of the
-whole process, letting you to kill off the child process early if you'd
-like.
+whole process, letting you kill off the child process early if you'd like.
-Be careful to check both the open() and the close() return values. If
+Be careful to check the return values from both open() and close(). If
you're I<writing> to a pipe, you should also trap SIGPIPE. Otherwise,
think of what happens when you start up a pipe to a command that doesn't
exist: the open() will in all likelihood succeed (it only reflects the
fork()'s success), but then your output will fail--spectacularly. Perl
-can't know whether the command worked because your command is actually
+can't know whether the command worked, because your command is actually
running in a separate process whose exec() might have failed. Therefore,
-while readers of bogus commands return just a quick end of file, writers
-to bogus command will trigger a signal they'd better be prepared to
-handle. Consider:
+while readers of bogus commands return just a quick EOF, writers
+to bogus commands will get hit with a signal, which they'd best be prepared
+to handle. Consider:
- open(FH, "|bogus") or die "can't fork: $!";
- print FH "bang\n" or die "can't write: $!";
- close FH or die "can't close: $!";
+ open(FH, "|bogus") || die "can't fork: $!";
+ print FH "bang\n"; # neither necessary nor sufficient
+ # to check print retval!
+ close(FH) || die "can't close: $!";
-That won't blow up until the close, and it will blow up with a SIGPIPE.
-To catch it, you could use this:
+The reason for not checking the return value from print() is because of
+pipe buffering; physical writes are delayed. That won't blow up until the
+close, and it will blow up with a SIGPIPE. To catch it, you could use
+this:
- $SIG{PIPE} = 'IGNORE';
- open(FH, "|bogus") or die "can't fork: $!";
- print FH "bang\n" or die "can't write: $!";
- close FH or die "can't close: status=$?";
+ $SIG{PIPE} = "IGNORE";
+ open(FH, "|bogus") || die "can't fork: $!";
+ print FH "bang\n";
+ close(FH) || die "can't close: status=$?";
=head2 Filehandles
@@ -550,76 +560,78 @@ You can run a command in the background with:
The command's STDOUT and STDERR (and possibly STDIN, depending on your
shell) will be the same as the parent's. You won't need to catch
-SIGCHLD because of the double-fork taking place (see below for more
-details).
+SIGCHLD because of the double-fork taking place; see below for details.
=head2 Complete Dissociation of Child from Parent
In some cases (starting server processes, for instance) you'll want to
completely dissociate the child process from the parent. This is
-often called daemonization. A well behaved daemon will also chdir()
-to the root directory (so it doesn't prevent unmounting the filesystem
-containing the directory from which it was launched) and redirect its
-standard file descriptors from and to F</dev/null> (so that random
-output doesn't wind up on the user's terminal).
+often called daemonization. A well-behaved daemon will also chdir()
+to the root directory so it doesn't prevent unmounting the filesystem
+containing the directory from which it was launched, and redirect its
+standard file descriptors from and to F</dev/null> so that random
+output doesn't wind up on the user's terminal.
- use POSIX 'setsid';
+ use POSIX "setsid";
sub daemonize {
- chdir '/' or die "Can't chdir to /: $!";
- open STDIN, '/dev/null' or die "Can't read /dev/null: $!";
- open STDOUT, '>/dev/null'
- or die "Can't write to /dev/null: $!";
- defined(my $pid = fork) or die "Can't fork: $!";
- exit if $pid;
- die "Can't start a new session: $!" if setsid == -1;
- open STDERR, '>&STDOUT' or die "Can't dup stdout: $!";
+ chdir("/") || die "can't chdir to /: $!";
+ open(STDIN, "< /dev/null") || die "can't read /dev/null: $!";
+ open(STDOUT, "> /dev/null") || die "can't write to /dev/null: $!";
+ defined(my $pid = fork()) || die "can't fork: $!";
+ exit if $pid; # non-zero now means I am the parent
+ (setsid() != -1) || die "Can't start a new session: $!"
+ open(STDERR, ">&STDOUT") || die "can't dup stdout: $!";
}
-The fork() has to come before the setsid() to ensure that you aren't a
-process group leader (the setsid() will fail if you are). If your
+The fork() has to come before the setsid() to ensure you aren't a
+process group leader; the setsid() will fail if you are. If your
system doesn't have the setsid() function, open F</dev/tty> and use the
C<TIOCNOTTY> ioctl() on it instead. See tty(4) for details.
-Non-Unix users should check their Your_OS::Process module for other
-solutions.
+Non-Unix users should check their C<< I<Your_OS>::Process >> module for
+other possible solutions.
=head2 Safe Pipe Opens
Another interesting approach to IPC is making your single program go
-multiprocess and communicate between (or even amongst) yourselves. The
+multiprocess and communicate between--or even amongst--yourselves. The
open() function will accept a file argument of either C<"-|"> or C<"|-">
to do a very interesting thing: it forks a child connected to the
filehandle you've opened. The child is running the same program as the
parent. This is useful for safely opening a file when running under an
assumed UID or GID, for example. If you open a pipe I<to> minus, you can
-write to the filehandle you opened and your kid will find it in his
+write to the filehandle you opened and your kid will find it in I<his>
STDIN. If you open a pipe I<from> minus, you can read from the filehandle
-you opened whatever your kid writes to his STDOUT.
+you opened whatever your kid writes to I<his> STDOUT.
- use English '-no_match_vars';
- my $sleep_count = 0;
+ use English qw[ -no_match_vars ];
+ my $PRECIOUS = "/path/to/some/safe/file";
+ my $sleep_count;
+ my $pid;
do {
- $pid = open(KID_TO_WRITE, "|-");
- unless (defined $pid) {
- warn "cannot fork: $!";
- die "bailing out" if $sleep_count++ > 6;
- sleep 10;
- }
+ $pid = open(KID_TO_WRITE, "|-");
+ unless (defined $pid) {
+ warn "cannot fork: $!";
+ die "bailing out" if $sleep_count++ > 6;
+ sleep 10;
+ }
} until defined $pid;
- if ($pid) { # parent
- print KID_TO_WRITE @some_data;
- close(KID_TO_WRITE) || warn "kid exited $?";
- } else { # child
- ($EUID, $EGID) = ($UID, $GID); # suid progs only
- open (FILE, "> /safe/file")
- || die "can't open /safe/file: $!";
- while (<STDIN>) {
- print FILE; # child's STDIN is parent's KID_TO_WRITE
- }
- exit; # don't forget this
+ if ($pid) { # I am the parent
+ print KID_TO_WRITE @some_data;
+ close(KID_TO_WRITE) || warn "kid exited $?";
+ } else { # I am the child
+ # drop permissions in setuid and/or setgid programs:
+ ($EUID, $EGID) = ($UID, $GID);
+ open (OUTFILE, "> $PRECIOUS")
+ || die "can't open $PRECIOUS: $!";
+ while (<STDIN>) {
+ print OUTFILE; # child's STDIN is parent's KID_TO_WRITE
+ }
+ close(OUTFILE) || die "can't close $PRECIOUS: $!";
+ exit(0); # don't forget this!!
}
Another common use for this construct is when you need to execute
@@ -630,45 +642,43 @@ your arguments. Instead, use lower-level control to call exec() directly.
Here's a safe backtick or pipe open for read:
- # add error processing as above
- $pid = open(KID_TO_READ, "-|");
+ my $pid = open(KID_TO_READ, "-|");
+ defined($pid) || die "can't fork: $!";
- if ($pid) { # parent
- while (<KID_TO_READ>) {
- # do something interesting
- }
- close(KID_TO_READ) || warn "kid exited $?";
+ if ($pid) { # parent
+ while (<KID_TO_READ>) {
+ # do something interesting
+ }
+ close(KID_TO_READ) || warn "kid exited $?";
- } else { # child
- ($EUID, $EGID) = ($UID, $GID); # suid only
- exec($program, @options, @args)
- || die "can't exec program: $!";
- # NOTREACHED
+ } else { # child
+ ($EUID, $EGID) = ($UID, $GID); # suid only
+ exec($program, @options, @args)
+ || die "can't exec program: $!";
+ # NOTREACHED
}
-
And here's a safe pipe open for writing:
- # add error processing as above
- $pid = open(KID_TO_WRITE, "|-");
+ my $pid = open(KID_TO_WRITE, "|-");
+ defined($pid) || die "can't fork: $!";
+
$SIG{PIPE} = sub { die "whoops, $program pipe broke" };
- if ($pid) { # parent
- for (@data) {
- print KID_TO_WRITE;
- }
- close(KID_TO_WRITE) || warn "kid exited $?";
-
- } else { # child
- ($EUID, $EGID) = ($UID, $GID);
- exec($program, @options, @args)
- || die "can't exec program: $!";
- # NOTREACHED
+ if ($pid) { # parent
+ print KID_TO_WRITE @data;
+ close(KID_TO_WRITE) || warn "kid exited $?";
+
+ } else { # child
+ ($EUID, $EGID) = ($UID, $GID);
+ exec($program, @options, @args)
+ || die "can't exec program: $!";
+ # NOTREACHED
}
It is very easy to dead-lock a process using this form of open(), or
-indeed any use of pipe() and multiple sub-processes. The above
-example is 'safe' because it is simple and calls exec(). See
+indeed with any use of pipe() with multiple subprocesses. The
+example above is "safe" because it is simple and calls exec(). See
L</"Avoiding Pipe Deadlocks"> for general safety principles, but there
are extra gotchas with Safe Pipe Opens.
@@ -676,194 +686,218 @@ In particular, if you opened the pipe using C<open FH, "|-">, then you
cannot simply use close() in the parent process to close an unwanted
writer. Consider this code:
- $pid = open WRITER, "|-";
- defined $pid or die "fork failed; $!";
+ my $pid = open(WRITER, "|-"); # fork open a kid
+ defined($pid) || die "first fork failed: $!";
if ($pid) {
if (my $sub_pid = fork()) {
- close WRITER;
- # do something else...
+ defined($sub_pid) || die "second fork failed: $!";
+ close(WRITER) || die "couldn't close WRITER: $!";
+ # now do something else...
}
else {
- # write to WRITER...
- exit;
+ # first write to WRITER
+ # ...
+ # then when finished
+ close(WRITER) || die "couldn't close WRITER: $!";
+ exit(0);
}
}
else {
- # do something with STDIN...
- exit;
+ # first do something with STDIN, then
+ exit(0);
}
-In the above, the true parent does not want to write to the WRITER
+In the example above, the true parent does not want to write to the WRITER
filehandle, so it closes it. However, because WRITER was opened using
-C<open FH, "|-">, it has a special behaviour: closing it will call
-waitpid() (see L<perlfunc/waitpid>), which waits for the sub-process
+C<open FH, "|-">, it has a special behavior: closing it calls
+waitpid() (see L<perlfunc/waitpid>), which waits for the subprocess
to exit. If the child process ends up waiting for something happening
-in the section marked "do something else", then you have a deadlock.
+in the section marked "do something else", you have deadlock.
-This can also be a problem with intermediate sub-processes in more
+This can also be a problem with intermediate subprocesses in more
complicated code, which will call waitpid() on all open filehandles
-during global destruction; in no predictable order.
+during global destruction--in no predictable order.
To solve this, you must manually use pipe(), fork(), and the form of
-open() which sets one file descriptor to another, as below:
+open() which sets one file descriptor to another, as shown below:
- pipe(READER, WRITER);
+ pipe(READER, WRITER) || die "pipe failed: $!";
$pid = fork();
- defined $pid or die "fork failed; $!";
+ defined($pid) || die "first fork failed: $!";
if ($pid) {
- close READER;
+ close READER;
if (my $sub_pid = fork()) {
- close WRITER;
+ defined($sub_pid) || die "first fork failed: $!";
+ close(WRITER) || die "can't close WRITER: $!";
}
else {
# write to WRITER...
- exit;
+ # ...
+ # then when finished
+ close(WRITER) || die "can't close WRITER: $!";
+ exit(0);
}
# write to WRITER...
}
else {
- open STDIN, "<&READER";
- close WRITER;
+ open(STDIN, "<&READER") || die "can't reopen STDIN: $!";
+ close(WRITER) || die "can't close WRITER: $!";
# do something...
- exit;
+ exit(0);
}
-Since Perl 5.8.0, you can also use the list form of C<open> for pipes :
-the syntax
+Since Perl 5.8.0, you can also use the list form of C<open> for pipes.
+This is preferred when you wish to avoid having the shell interpret
+metacharacters that may be in your command string.
- open KID_PS, "-|", "ps", "aux" or die $!;
+So for example, instead of using:
-forks the ps(1) command (without spawning a shell, as there are more than
-three arguments to open()), and reads its standard output via the
-C<KID_PS> filehandle. The corresponding syntax to write to command
-pipes (with C<"|-"> in place of C<"-|">) is also implemented.
+ open(PS_PIPE, "ps aux|") || die "can't open ps pipe: $!";
-Note that these operations are full Unix forks, which means they may not be
-correctly implemented on alien systems. Additionally, these are not true
-multithreading. If you'd like to learn more about threading, see the
-F<modules> file mentioned below in the SEE ALSO section.
+One would use either of these:
-=head2 Avoiding Pipe Deadlocks
+ open(PS_PIPE, "-|", "ps", "aux")
+ || die "can't open ps pipe: $!";
-In general, if you have more than one sub-process, you need to be very
-careful that any process which does not need the writer half of any
-pipe you create for inter-process communication does not have it open.
+ @ps_args = qw[ ps aux ];
+ open(PS_PIPE, "-|", @ps_args)
+ || die "can't open @ps_args|: $!";
-The reason for this is that any child process which is reading from
-the pipe and expecting an EOF will never receive it, and therefore
-never exit. A single process closing a pipe is not enough to close it;
-the last process with the pipe open must close it for it to read EOF.
+Because there are more than three arguments to open(), forks the ps(1)
+command I<without> spawning a shell, and reads its standard output via the
+C<PS_PIPE> filehandle. The corresponding syntax to I<write> to command
+pipes is to use C<"|-"> in place of C<"-|">.
-Certain built-in Unix features help prevent this most of
-the time. For instance, filehandles have a 'close on exec' flag (set
-I<en masse> with Perl using the C<$^F> L<perlvar>), so that any
-filehandles which you didn't explicitly route to the STDIN, STDOUT or
-STDERR of a child I<program> will automatically be closed for you.
+This was admittedly a rather silly example, because you're using string
+literals whose content is perfectly safe. There is therefore no cause to
+resort to the harder-to-read, multi-argument form of pipe open(). However,
+whenever you cannot be assured that the program arguments are free of shell
+metacharacters, the fancier form of open() should be used. For example:
-So, always explicitly and immediately call close() on the writable end
-of any pipe, unless that process is actually writing to it. If you
-don't explicitly call close() then be warned Perl will still close()
-all the filehandles during global destruction. As warned above, if
-those filehandles were opened with Safe Pipe Open, they will also call
-waitpid() and you might again deadlock.
+ @grep_args = ("egrep", "-i", $some_pattern, @many_files);
+ open(GREP_PIPE, "-|", @grep_args)
+ || die "can't open @grep_args|: $!";
+
+Here the multi-argument form of pipe open() is preferred because the
+pattern and indeed even the filenames themselves might hold metacharacters.
+
+Be aware that these operations are full Unix forks, which means they may
+not be correctly implemented on all alien systems. Additionally, these are
+not true multithreading. To learn more about threading, see the F<modules>
+file mentioned below in the SEE ALSO section.
+
+=head2 Avoiding Pipe Deadlocks
+
+Whenever you have more than one subprocess, you must be careful that each
+closes whichever half of any pipes created for interprocess communication
+it is not using. This is because any child process reading from the pipe
+and expecting an EOF will never receive it, and therefore never exit. A
+single process closing a pipe is not enough to close it; the last process
+with the pipe open must close it for it to read EOF.
+
+Certain built-in Unix features help prevent this most of the time. For
+instance, filehandles have a "close on exec" flag, which is set I<en masse>
+under control of the C<$^F> variable. This is so any filehandles you
+didn't explicitly route to the STDIN, STDOUT or STDERR of a child
+I<program> will be automatically closed.
+
+Always explicitly and immediately call close() on the writable end of any
+pipe, unless that process is actually writing to it. Even if you don't
+explicitly call close(), Perl will still close() all filehandles during
+global destruction. As previously discussed, if those filehandles have
+been opened with Safe Pipe Open, this will result in calling waitpid(),
+which may again deadlock.
=head2 Bidirectional Communication with Another Process
While this works reasonably well for unidirectional communication, what
-about bidirectional communication? The obvious thing you'd like to do
-doesn't actually work:
+about bidirectional communication? The most obvious approach doesn't work:
+ # THIS DOES NOT WORK!!
open(PROG_FOR_READING_AND_WRITING, "| some program |")
-and if you forget to use the C<use warnings> pragma or the B<-w> flag,
-then you'll miss out entirely on the diagnostic message:
+If you forget to C<use warnings>, you'll miss out entirely on the
+helpful diagnostic message:
Can't do bidirectional pipe at -e line 1.
-If you really want to, you can use the standard open2() library function
-to catch both ends. There's also an open3() for tridirectional I/O so you
-can also catch your child's STDERR, but doing so would then require an
-awkward select() loop and wouldn't allow you to use normal Perl input
-operations.
+If you really want to, you can use the standard open2() from the
+C<IPC::Open2> module to catch both ends. There's also an open3() in
+C<IPC::Open3> for tridirectional I/O so you can also catch your child's
+STDERR, but doing so would then require an awkward select() loop and
+wouldn't allow you to use normal Perl input operations.
If you look at its source, you'll see that open2() uses low-level
-primitives like Unix pipe() and exec() calls to create all the connections.
-While it might have been slightly more efficient by using socketpair(), it
-would have then been even less portable than it already is. The open2()
-and open3() functions are unlikely to work anywhere except on a Unix
-system or some other one purporting to be POSIX compliant.
+primitives like the pipe() and exec() syscalls to create all the
+connections. Although it might have been more efficient by using
+socketpair(), this would have been even less portable than it already
+is. The open2() and open3() functions are unlikely to work anywhere
+except on a Unix system, or at least one purporting POSIX compliance.
+
+=for TODO
+Hold on, is this even true? First it says that socketpair() is avoided
+for portability, but then it says it probably won't work except on
+Unixy systems anyway. Which one of those is true?
Here's an example of using open2():
use FileHandle;
use IPC::Open2;
- $pid = open2(*Reader, *Writer, "cat -u -n" );
+ $pid = open2(*Reader, *Writer, "cat -un");
print Writer "stuff\n";
$got = <Reader>;
-The problem with this is that Unix buffering is really going to
-ruin your day. Even though your C<Writer> filehandle is auto-flushed,
-and the process on the other end will get your data in a timely manner,
-you can't usually do anything to force it to give it back to you
-in a similarly quick fashion. In this case, we could, because we
-gave I<cat> a B<-u> flag to make it unbuffered. But very few Unix
-commands are designed to operate over pipes, so this seldom works
-unless you yourself wrote the program on the other end of the
-double-ended pipe.
-
-A solution to this is the nonstandard F<Comm.pl> library. It uses
-pseudo-ttys to make your program behave more reasonably:
-
- require 'Comm.pl';
- $ph = open_proc('cat -n');
- for (1..10) {
- print $ph "a line\n";
- print "got back ", scalar <$ph>;
- }
-
-This way you don't have to have control over the source code of the
-program you're using. The F<Comm> library also has expect()
-and interact() functions. Find the library (and we hope its
-successor F<IPC::Chat>) at your nearest CPAN archive as detailed
-in the SEE ALSO section below.
-
-The newer Expect.pm module from CPAN also addresses this kind of thing.
-This module requires two other modules from CPAN: IO::Pty and IO::Stty.
-It sets up a pseudo-terminal to interact with programs that insist on
-using talking to the terminal device driver. If your system is
-amongst those supported, this may be your best bet.
+The problem with this is that buffering is really going to ruin your
+day. Even though your C<Writer> filehandle is auto-flushed so the process
+on the other end gets your data in a timely manner, you can't usually do
+anything to force that process to give its data to you in a similarly quick
+fashion. In this special case, we could actually so, because we gave
+I<cat> a B<-u> flag to make it unbuffered. But very few commands are
+designed to operate over pipes, so this seldom works unless you yourself
+wrote the program on the other end of the double-ended pipe.
+
+A solution to this is to use a library which uses pseudottys to make your
+program behave more reasonably. This way you don't have to have control
+over the source code of the program you're using. The C<Expect> module
+from CPAN also addresses this kind of thing. This module requires two
+other modules from CPAN, C<IO::Pty> and C<IO::Stty>. It sets up a pseudo
+terminal to interact with programs that insist on talking to the terminal
+device driver. If your system is supported, this may be your best bet.
=head2 Bidirectional Communication with Yourself
-If you want, you may make low-level pipe() and fork()
-to stitch this together by hand. This example only
-talks to itself, but you could reopen the appropriate
-handles to STDIN and STDOUT and call other processes.
+If you want, you may make low-level pipe() and fork() syscalls to stitch
+this together by hand. This example only talks to itself, but you could
+reopen the appropriate handles to STDIN and STDOUT and call other processes.
+(The following example lacks proper error checking.)
#!/usr/bin/perl -w
# pipe1 - bidirectional communication using two pipe pairs
# designed for the socketpair-challenged
- use IO::Handle; # thousands of lines just for autoflush :-(
- pipe(PARENT_RDR, CHILD_WTR); # XXX: failure?
- pipe(CHILD_RDR, PARENT_WTR); # XXX: failure?
+ use IO::Handle; # thousands of lines just for autoflush :-(
+ pipe(PARENT_RDR, CHILD_WTR); # XXX: check failure?
+ pipe(CHILD_RDR, PARENT_WTR); # XXX: check failure?
CHILD_WTR->autoflush(1);
PARENT_WTR->autoflush(1);
- if ($pid = fork) {
- close PARENT_RDR; close PARENT_WTR;
- print CHILD_WTR "Parent Pid $$ is sending this\n";
- chomp($line = <CHILD_RDR>);
- print "Parent Pid $$ just read this: `$line'\n";
- close CHILD_RDR; close CHILD_WTR;
- waitpid($pid,0);
+ if ($pid = fork()) {
+ close PARENT_RDR;
+ close PARENT_WTR;
+ print CHILD_WTR "Parent Pid $$ is sending this\n";
+ chomp($line = <CHILD_RDR>);
+ print "Parent Pid $$ just read this: `$line'\n";
+ close CHILD_RDR; close CHILD_WTR;
+ waitpid($pid, 0);
} else {
- die "cannot fork: $!" unless defined $pid;
- close CHILD_RDR; close CHILD_WTR;
- chomp($line = <PARENT_RDR>);
- print "Child Pid $$ just read this: `$line'\n";
- print PARENT_WTR "Child Pid $$ is sending this\n";
- close PARENT_RDR; close PARENT_WTR;
- exit;
+ die "cannot fork: $!" unless defined $pid;
+ close CHILD_RDR;
+ close CHILD_WTR;
+ chomp($line = <PARENT_RDR>);
+ print "Child Pid $$ just read this: `$line'\n";
+ print PARENT_WTR "Child Pid $$ is sending this\n";
+ close PARENT_RDR;
+ close PARENT_WTR;
+ exit(0);
}
But you don't actually have to make two pipe calls. If you
@@ -874,54 +908,55 @@ have the socketpair() system call, it will do this all for you.
# "the best ones always go both ways"
use Socket;
- use IO::Handle; # thousands of lines just for autoflush :-(
+ use IO::Handle; # thousands of lines just for autoflush :-(
+
# We say AF_UNIX because although *_LOCAL is the
# POSIX 1003.1g form of the constant, many machines
# still don't have it.
socketpair(CHILD, PARENT, AF_UNIX, SOCK_STREAM, PF_UNSPEC)
- or die "socketpair: $!";
+ || die "socketpair: $!";
CHILD->autoflush(1);
PARENT->autoflush(1);
- if ($pid = fork) {
- close PARENT;
- print CHILD "Parent Pid $$ is sending this\n";
- chomp($line = <CHILD>);
- print "Parent Pid $$ just read this: `$line'\n";
- close CHILD;
- waitpid($pid,0);
+ if ($pid = fork()) {
+ close PARENT;
+ print CHILD "Parent Pid $$ is sending this\n";
+ chomp($line = <CHILD>);
+ print "Parent Pid $$ just read this: `$line'\n";
+ close CHILD;
+ waitpid($pid, 0);
} else {
- die "cannot fork: $!" unless defined $pid;
- close CHILD;
- chomp($line = <PARENT>);
- print "Child Pid $$ just read this: `$line'\n";
- print PARENT "Child Pid $$ is sending this\n";
- close PARENT;
- exit;
+ die "cannot fork: $!" unless defined $pid;
+ close CHILD;
+ chomp($line = <PARENT>);
+ print "Child Pid $$ just read this: '$line'\n";
+ print PARENT "Child Pid $$ is sending this\n";
+ close PARENT;
+ exit(0);
}
=head1 Sockets: Client/Server Communication
-While not limited to Unix-derived operating systems (e.g., WinSock on PCs
-provides socket support, as do some VMS libraries), you may not have
-sockets on your system, in which case this section probably isn't going to do
-you much good. With sockets, you can do both virtual circuits (i.e., TCP
-streams) and datagrams (i.e., UDP packets). You may be able to do even more
+While not entirely limited to Unix-derived operating systems (e.g., WinSock
+on PCs provides socket support, as do some VMS libraries), you might not have
+sockets on your system, in which case this section probably isn't going to
+do you much good. With sockets, you can do both virtual circuits like TCP
+streams and datagrams like UDP packets. You may be able to do even more
depending on your system.
-The Perl function calls for dealing with sockets have the same names as
+The Perl functions for dealing with sockets have the same names as
the corresponding system calls in C, but their arguments tend to differ
-for two reasons: first, Perl filehandles work differently than C file
+for two reasons. First, Perl filehandles work differently than C file
descriptors. Second, Perl already knows the length of its strings, so you
don't need to pass that information.
-One of the major problems with old socket code in Perl was that it used
-hard-coded values for some of the constants, which severely hurt
-portability. If you ever see code that does anything like explicitly
-setting C<$AF_INET = 2>, you know you're in for big trouble: An
-immeasurably superior approach is to use the C<Socket> module, which more
-reliably grants access to various constants and functions you'll need.
+One of the major problems with ancient, antemillennial socket code in Perl
+was that it used hard-coded values for some of the constants, which
+severely hurt portability. If you ever see code that does anything like
+explicitly setting C<$AF_INET = 2>, you know you're in for big trouble.
+An immeasurably superior approach is to use the C<Socket> module, which more
+reliably grants access to the various constants and functions you'll need.
If you're not writing a server/client for an existing protocol like
NNTP or SMTP, you should give some thought to how your server will
@@ -938,9 +973,10 @@ Unix, that could usually be written as "\r\n", but under other systems,
"\r\n" might at times be "\015\015\012", "\012\012\015", or something
completely different. The standards specify writing "\015\012" to be
conformant (be strict in what you provide), but they also recommend
-accepting a lone "\012" on input (but be lenient in what you require).
+accepting a lone "\012" on input (be lenient in what you require).
We haven't always been very good about that in the code in this manpage,
-but unless you're on a Mac, you'll probably be ok.
+but unless you're on a Mac from way back in its pre-Unix dark ages, you'll
+probably be ok.
=head2 Internet TCP Clients and Servers
@@ -952,51 +988,50 @@ Here's a sample TCP client using Internet-domain sockets:
#!/usr/bin/perl -w
use strict;
use Socket;
- my ($remote,$port, $iaddr, $paddr, $proto, $line);
+ my ($remote, $port, $iaddr, $paddr, $proto, $line);
- $remote = shift || 'localhost';
+ $remote = shift || "localhost";
$port = shift || 2345; # random port
- if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
+ if ($port =~ /\D/) { $port = getservbyname($port, "tcp") }
die "No port" unless $port;
- $iaddr = inet_aton($remote) || die "no host: $remote";
+ $iaddr = inet_aton($remote) || die "no host: $remote";
$paddr = sockaddr_in($port, $iaddr);
- $proto = getprotobyname('tcp');
- socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
- connect(SOCK, $paddr) || die "connect: $!";
- while (defined($line = <SOCK>)) {
- print $line;
+ $proto = getprotobyname("tcp");
+ socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
+ connect(SOCK, $paddr) || die "connect: $!";
+ while ($line = <SOCK>) {
+ print $line;
}
- close (SOCK) || die "close: $!";
- exit;
+ close (SOCK) || die "close: $!";
+ exit(0);
And here's a corresponding server to go along with it. We'll
-leave the address as INADDR_ANY so that the kernel can choose
+leave the address as C<INADDR_ANY> so that the kernel can choose
the appropriate interface on multihomed hosts. If you want sit
on a particular interface (like the external side of a gateway
-or firewall machine), you should fill this in with your real address
-instead.
+or firewall machine), fill this in with your real address instead.
#!/usr/bin/perl -Tw
use strict;
- BEGIN { $ENV{PATH} = '/usr/ucb:/bin' }
+ BEGIN { $ENV{PATH} = "/usr/bin:/bin" }
use Socket;
use Carp;
my $EOL = "\015\012";
- sub logmsg { print "$0 $$: @_ at ", scalar localtime, "\n" }
+ sub logmsg { print "$0 $$: @_ at ", scalar localtime(), "\n" }
- my $port = shift || 2345;
- my $proto = getprotobyname('tcp');
+ my $port = shift || 2345;
+ die "invalid port" unless if $port =~ /^ \d+ $/x;
- ($port) = $port =~ /^(\d+)$/ or die "invalid port";
+ my $proto = getprotobyname("tcp");
- socket(Server, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
- setsockopt(Server, SOL_SOCKET, SO_REUSEADDR,
- pack("l", 1)) || die "setsockopt: $!";
- bind(Server, sockaddr_in($port, INADDR_ANY)) || die "bind: $!";
- listen(Server,SOMAXCONN) || die "listen: $!";
+ socket(Server, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
+ setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))
+ || die "setsockopt: $!";
+ bind(Server, sockaddr_in($port, INADDR_ANY)) || die "bind: $!";
+ listen(Server, SOMAXCONN) || die "listen: $!";
logmsg "server started on port $port";
@@ -1004,43 +1039,43 @@ instead.
$SIG{CHLD} = \&REAPER;
- for ( ; $paddr = accept(Client,Server); close Client) {
- my($port,$iaddr) = sockaddr_in($paddr);
- my $name = gethostbyaddr($iaddr,AF_INET);
+ for ( ; $paddr = accept(Client, Server); close Client) {
+ my($port, $iaddr) = sockaddr_in($paddr);
+ my $name = gethostbyaddr($iaddr, AF_INET);
- logmsg "connection from $name [",
- inet_ntoa($iaddr), "]
- at port $port";
+ logmsg "connection from $name [",
+ inet_ntoa($iaddr), "]
+ at port $port";
- print Client "Hello there, $name, it's now ",
- scalar localtime, $EOL;
+ print Client "Hello there, $name, it's now ",
+ scalar localtime(), $EOL;
}
And here's a multithreaded version. It's multithreaded in that
-like most typical servers, it spawns (forks) a slave server to
+like most typical servers, it spawns (fork()s) a slave server to
handle the client request so that the master server can quickly
go back to service a new client.
#!/usr/bin/perl -Tw
use strict;
- BEGIN { $ENV{PATH} = '/usr/ucb:/bin' }
+ BEGIN { $ENV{PATH} = "/usr/bin:/bin" }
use Socket;
use Carp;
my $EOL = "\015\012";
sub spawn; # forward declaration
- sub logmsg { print "$0 $$: @_ at ", scalar localtime, "\n" }
+ sub logmsg { print "$0 $$: @_ at ", scalar localtime(), "\n" }
- my $port = shift || 2345;
- my $proto = getprotobyname('tcp');
+ my $port = shift || 2345;
+ die "invalid port" unless if $port =~ /^ \d+ $/x;
- ($port) = $port =~ /^(\d+)$/ or die "invalid port";
+ my $proto = getprotobyname("tcp");
- socket(Server, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
- setsockopt(Server, SOL_SOCKET, SO_REUSEADDR,
- pack("l", 1)) || die "setsockopt: $!";
- bind(Server, sockaddr_in($port, INADDR_ANY)) || die "bind: $!";
- listen(Server,SOMAXCONN) || die "listen: $!";
+ socket(Server, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
+ setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))
+ || die "setsockopt: $!";
+ bind(Server, sockaddr_in($port, INADDR_ANY)) || die "bind: $!";
+ listen(Server, SOMAXCONN) || die "listen: $!";
logmsg "server started on port $port";
@@ -1052,17 +1087,17 @@ go back to service a new client.
sub REAPER {
local $!; # don't let waitpid() overwrite current error
- while ((my $pid = waitpid(-1,WNOHANG)) > 0 && WIFEXITED($?)) {
- logmsg "reaped $waitedpid" . ($? ? " with exit $?" : '');
+ while ((my $pid = waitpid(-1, WNOHANG)) > 0 && WIFEXITED($?)) {
+ logmsg "reaped $waitedpid" . ($? ? " with exit $?" : "");
}
$SIG{CHLD} = \&REAPER; # loathe SysV
}
$SIG{CHLD} = \&REAPER;
- while(1) {
+ while (1) {
$paddr = accept(Client, Server) || do {
- # try again if accept() returned because a signal was received
+ # try again if accept() returned because got a signal
next if $!{EINTR};
die "accept: $!";
};
@@ -1074,9 +1109,9 @@ go back to service a new client.
"] at port $port";
spawn sub {
- $|=1;
- print "Hello there, $name, it's now ", scalar localtime, $EOL;
- exec '/usr/games/fortune' # XXX: `wrong' line terminators
+ $| = 1;
+ print "Hello there, $name, it's now ", scalar localtime(), $EOL;
+ exec "/usr/games/fortune" # XXX: "wrong" line terminators
or confess "can't exec fortune: $!";
};
close Client;
@@ -1085,12 +1120,12 @@ go back to service a new client.
sub spawn {
my $coderef = shift;
- unless (@_ == 0 && $coderef && ref($coderef) eq 'CODE') {
+ unless (@_ == 0 && $coderef && ref($coderef) eq "CODE") {
confess "usage: spawn CODEREF";
}
my $pid;
- if (! defined($pid = fork)) {
+ unless (defined($pid = fork())) {
logmsg "cannot fork: $!";
return;
}
@@ -1100,10 +1135,10 @@ go back to service a new client.
}
# else I'm the child -- go spawn
- open(STDIN, "<&Client") || die "can't dup client to stdin";
- open(STDOUT, ">&Client") || die "can't dup client to stdout";
+ open(STDIN, "<&Client") || die "can't dup client to stdin";
+ open(STDOUT, ">&Client") || die "can't dup client to stdout";
## open(STDERR, ">&STDOUT") || die "can't dup stdout to stderr";
- exit &$coderef();
+ exit($coderef->());
}
This server takes the trouble to clone off a child version via fork()
@@ -1118,25 +1153,25 @@ ensuring that they terminate cleanly and don't join the ranks of the
living dead.
Within the while loop we call accept() and check to see if it returns
-a false value. This would normally indicate a system error that needs
-to be reported. However the introduction of safe signals (see
+a false value. This would normally indicate a system error needs
+to be reported. However, the introduction of safe signals (see
L</Deferred Signals (Safe Signals)> above) in Perl 5.7.3 means that
-accept() may also be interrupted when the process receives a signal.
-This typically happens when one of the forked sub-processes exits and
+accept() might also be interrupted when the process receives a signal.
+This typically happens when one of the forked subprocesses exits and
notifies the parent process with a CHLD signal.
-If accept() is interrupted by a signal then $! will be set to EINTR.
-If this happens then we can safely continue to the next iteration of
+If accept() is interrupted by a signal, $! will be set to EINTR.
+If this happens, we can safely continue to the next iteration of
the loop and another call to accept(). It is important that your
-signal handling code doesn't modify the value of $! or this test will
-most likely fail. In the REAPER subroutine we create a local version
-of $! before calling waitpid(). When waitpid() sets $! to ECHILD (as
-it inevitably does when it has no more children waiting), it will
-update the local copy leaving the original unchanged.
+signal handling code not modify the value of $!, or else this test
+will likely fail. In the REAPER subroutine we create a local version
+of $! before calling waitpid(). When waitpid() sets $! to ECHILD as
+it inevitably does when it has no more children waiting, it
+updates the local copy and leaves the original unchanged.
-We suggest that you use the B<-T> flag to use taint checking (see L<perlsec>)
+You should use the B<-T> flag to enable taint checking (see L<perlsec>)
even if we aren't running setuid or setgid. This is always a good idea
-for servers and other programs run on behalf of someone else (like CGI
+for servers or any program run on behalf of someone else (like CGI
scripts), because it lessens the chances that people from the outside will
be able to compromise your system.
@@ -1148,29 +1183,30 @@ differ from the system on which it's being run:
use strict;
use Socket;
- my $SECS_of_70_YEARS = 2208988800;
- sub ctime { scalar localtime(shift) }
+ my $SECS_OF_70_YEARS = 2208988800;
+ sub ctime { scalar localtime(shift() || time()) }
- my $iaddr = gethostbyname('localhost');
- my $proto = getprotobyname('tcp');
- my $port = getservbyname('time', 'tcp');
+ my $iaddr = gethostbyname("localhost");
+ my $proto = getprotobyname("tcp");
+ my $port = getservbyname("time", "tcp");
my $paddr = sockaddr_in(0, $iaddr);
my($host);
$| = 1;
- printf "%-24s %8s %s\n", "localhost", 0, ctime(time());
+ printf "%-24s %8s %s\n", "localhost", 0, ctime();
foreach $host (@ARGV) {
- printf "%-24s ", $host;
- my $hisiaddr = inet_aton($host) || die "unknown host";
- my $hispaddr = sockaddr_in($port, $hisiaddr);
- socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
- connect(SOCKET, $hispaddr) || die "connect: $!";
- my $rtime = ' ';
- read(SOCKET, $rtime, 4);
- close(SOCKET);
- my $histime = unpack("N", $rtime) - $SECS_of_70_YEARS;
- printf "%8d %s\n", $histime - time, ctime($histime);
+ printf "%-24s ", $host;
+ my $hisiaddr = inet_aton($host) || die "unknown host";
+ my $hispaddr = sockaddr_in($port, $hisiaddr);
+ socket(SOCKET, PF_INET, SOCK_STREAM, $proto)
+ || die "socket: $!";
+ connect(SOCKET, $hispaddr) || die "connect: $!";
+ my $rtime = pack("C4", ());
+ read(SOCKET, $rtime, 4);
+ close(SOCKET);
+ my $histime = unpack("N", $rtime) - $SECS_OF_70_YEARS;
+ printf "%8d %s\n", $histime - time(), ctime($histime);
}
=head2 Unix-Domain TCP Clients and Servers
@@ -1186,8 +1222,8 @@ domain sockets can show up in the file system with an ls(1) listing.
You can test for these with Perl's B<-S> file test:
- unless ( -S '/dev/log' ) {
- die "something's wicked with the log system";
+ unless (-S "/dev/log") {
+ die "something's wicked with the log system";
}
Here's a sample Unix-domain client:
@@ -1197,13 +1233,13 @@ Here's a sample Unix-domain client:
use strict;
my ($rendezvous, $line);
- $rendezvous = shift || 'catsock';
- socket(SOCK, PF_UNIX, SOCK_STREAM, 0) || die "socket: $!";
- connect(SOCK, sockaddr_un($rendezvous)) || die "connect: $!";
+ $rendezvous = shift || "catsock";
+ socket(SOCK, PF_UNIX, SOCK_STREAM, 0) || die "socket: $!";
+ connect(SOCK, sockaddr_un($rendezvous)) || die "connect: $!";
while (defined($line = <SOCK>)) {
- print $line;
+ print $line;
}
- exit;
+ exit(0);
And here's a corresponding server. You don't have to worry about silly
network terminators here because Unix domain sockets are guaranteed
@@ -1214,18 +1250,18 @@ to be on the localhost, and thus everything works right.
use Socket;
use Carp;
- BEGIN { $ENV{PATH} = '/usr/ucb:/bin' }
+ BEGIN { $ENV{PATH} = "/usr/bin:/bin" }
sub spawn; # forward declaration
- sub logmsg { print "$0 $$: @_ at ", scalar localtime, "\n" }
+ sub logmsg { print "$0 $$: @_ at ", scalar localtime(), "\n" }
- my $NAME = 'catsock';
+ my $NAME = "catsock";
my $uaddr = sockaddr_un($NAME);
- my $proto = getprotobyname('tcp');
+ my $proto = getprotobyname("tcp");
- socket(Server,PF_UNIX,SOCK_STREAM,0) || die "socket: $!";
+ socket(Server, PF_UNIX, SOCK_STREAM, 0) || die "socket: $!";
unlink($NAME);
- bind (Server, $uaddr) || die "bind: $!";
- listen(Server,SOMAXCONN) || die "listen: $!";
+ bind (Server, $uaddr) || die "bind: $!";
+ listen(Server, SOMAXCONN) || die "listen: $!";
logmsg "server started on $NAME";
@@ -1233,64 +1269,66 @@ to be on the localhost, and thus everything works right.
use POSIX ":sys_wait_h";
sub REAPER {
- my $child;
- while (($waitedpid = waitpid(-1,WNOHANG)) > 0) {
- logmsg "reaped $waitedpid" . ($? ? " with exit $?" : '');
- }
- $SIG{CHLD} = \&REAPER; # loathe SysV
+ my $child;
+ while (($waitedpid = waitpid(-1, WNOHANG)) > 0) {
+ logmsg "reaped $waitedpid" . ($? ? " with exit $?" : "");
+ }
+ $SIG{CHLD} = \&REAPER; # loathe SysV
}
$SIG{CHLD} = \&REAPER;
for ( $waitedpid = 0;
- accept(Client,Server) || $waitedpid;
- $waitedpid = 0, close Client)
+ accept(Client, Server) || $waitedpid;
+ $waitedpid = 0, close Client)
{
- next if $waitedpid;
- logmsg "connection on $NAME";
- spawn sub {
- print "Hello there, it's now ", scalar localtime, "\n";
- exec '/usr/games/fortune' or die "can't exec fortune: $!";
- };
+ next if $waitedpid;
+ logmsg "connection on $NAME";
+ spawn sub {
+ print "Hello there, it's now ", scalar localtime(), "\n";
+ exec("/usr/games/fortune") || die "can't exec fortune: $!";
+ };
}
sub spawn {
- my $coderef = shift;
-
- unless (@_ == 0 && $coderef && ref($coderef) eq 'CODE') {
- confess "usage: spawn CODEREF";
- }
-
- my $pid;
- if (!defined($pid = fork)) {
- logmsg "cannot fork: $!";
- return;
- } elsif ($pid) {
- logmsg "begat $pid";
- return; # I'm the parent
- }
- # else I'm the child -- go spawn
-
- open(STDIN, "<&Client") || die "can't dup client to stdin";
- open(STDOUT, ">&Client") || die "can't dup client to stdout";
- ## open(STDERR, ">&STDOUT") || die "can't dup stdout to stderr";
- exit &$coderef();
+ my $coderef = shift();
+
+ unless (@_ == 0 && $coderef && ref($coderef) eq "CODE") {
+ confess "usage: spawn CODEREF";
+ }
+
+ my $pid;
+ unless (defined($pid = fork())) {
+ logmsg "cannot fork: $!";
+ return;
+ }
+ elsif ($pid) {
+ logmsg "begat $pid";
+ return; # I'm the parent
+ }
+ else {
+ # I'm the child -- go spawn
+ }
+
+ open(STDIN, "<&Client") || die "can't dup client to stdin";
+ open(STDOUT, ">&Client") || die "can't dup client to stdout";
+ ## open(STDERR, ">&STDOUT") || die "can't dup stdout to stderr";
+ exit($coderef->());
}
As you see, it's remarkably similar to the Internet domain TCP server, so
much so, in fact, that we've omitted several duplicate functions--spawn(),
-logmsg(), ctime(), and REAPER()--which are exactly the same as in the
-other server.
+logmsg(), ctime(), and REAPER()--which are the same as in the other server.
So why would you ever want to use a Unix domain socket instead of a
simpler named pipe? Because a named pipe doesn't give you sessions. You
can't tell one process's data from another's. With socket programming,
-you get a separate session for each client: that's why accept() takes two
+you get a separate session for each client; that's why accept() takes two
arguments.
-For example, let's say that you have a long running database server daemon
-that you want folks from the World Wide Web to be able to access, but only
+For example, let's say that you have a long-running database server daemon
+that you want folks to be able to access from the Web, but only
if they go through a CGI interface. You'd have a small, simple CGI
program that does whatever checks and logging you feel like, and then acts
as a Unix-domain client and connects to your private server.
@@ -1298,13 +1336,13 @@ as a Unix-domain client and connects to your private server.
=head1 TCP Clients with IO::Socket
For those preferring a higher-level interface to socket programming, the
-IO::Socket module provides an object-oriented approach. IO::Socket is
-included as part of the standard Perl distribution as of the 5.004
-release. If you're running an earlier version of Perl, just fetch
-IO::Socket from CPAN, where you'll also find modules providing easy
-interfaces to the following systems: DNS, FTP, Ident (RFC 931), NIS and
-NISPlus, NNTP, Ping, POP3, SMTP, SNMP, SSLeay, Telnet, and Time--just
-to name a few.
+IO::Socket module provides an object-oriented approach. IO::Socket has
+been included in the standard Perl distribution ever since Perl 5.004. If
+you're running an earlier version of Perl (in which case, how are you
+reading this manpage?), just fetch IO::Socket from CPAN, where you'll also
+find modules providing easy interfaces to the following systems: DNS, FTP,
+Ident (RFC 931), NIS and NISPlus, NNTP, Ping, POP3, SMTP, SNMP, SSLeay,
+Telnet, and Time--to name just a few.
=head2 A Simple Client
@@ -1315,19 +1353,19 @@ that the server there cares to provide.
#!/usr/bin/perl -w
use IO::Socket;
$remote = IO::Socket::INET->new(
- Proto => "tcp",
- PeerAddr => "localhost",
- PeerPort => "daytime(13)",
- )
- or die "cannot connect to daytime port at localhost";
- while ( <$remote> ) { print }
+ Proto => "tcp",
+ PeerAddr => "localhost",
+ PeerPort => "daytime(13)",
+ )
+ || die "can't connect to daytime service on localhost";
+ while (<$remote>) { print }
When you run this program, you should get something back that
looks like this:
Wed May 14 08:40:46 MDT 1997
-Here are what those parameters to the C<new> constructor mean:
+Here are what those parameters to the new() constructor mean:
=over 4
@@ -1343,25 +1381,25 @@ can be used to make a datagram socket, used for message-passing.
This is the name or Internet address of the remote host the server is
running on. We could have specified a longer name like C<"www.perl.com">,
-or an address like C<"204.148.40.9">. For demonstration purposes, we've
+or an address like C<"207.171.7.72">. For demonstration purposes, we've
used the special hostname C<"localhost">, which should always mean the
current machine you're running on. The corresponding Internet address
-for localhost is C<"127.1">, if you'd rather use that.
+for localhost is C<"127.0.0.1">, if you'd rather use that.
=item C<PeerPort>
This is the service name or port number we'd like to connect to.
We could have gotten away with using just C<"daytime"> on systems with a
well-configured system services file,[FOOTNOTE: The system services file
-is in I</etc/services> under Unix] but just in case, we've specified the
-port number (13) in parentheses. Using just the number would also have
-worked, but constant numbers make careful programmers nervous.
+is found in I</etc/services> under Unixy systems.] but here we've specified the
+port number (13) in parentheses. Using just the number would have also
+worked, but numeric literals make careful programmers nervous.
=back
Notice how the return value from the C<new> constructor is used as
-a filehandle in the C<while> loop? That's what's called an indirect
-filehandle, a scalar variable containing a filehandle. You can use
+a filehandle in the C<while> loop? That's what's called an I<indirect
+filehandle>, a scalar variable containing a filehandle. You can use
it the same way you would a normal filehandle. For example, you
can read one line from it this way:
@@ -1378,36 +1416,35 @@ and send a line of data to it this way:
=head2 A Webget Client
Here's a simple client that takes a remote host to fetch a document
-from, and then a list of documents to get from that host. This is a
+from, and then a list of files to get from that host. This is a
more interesting client than the previous one because it first sends
something to the server before fetching the server's response.
#!/usr/bin/perl -w
use IO::Socket;
- unless (@ARGV > 1) { die "usage: $0 host document ..." }
+ unless (@ARGV > 1) { die "usage: $0 host url ..." }
$host = shift(@ARGV);
$EOL = "\015\012";
$BLANK = $EOL x 2;
- foreach $document ( @ARGV ) {
- $remote = IO::Socket::INET->new( Proto => "tcp",
- PeerAddr => $host,
- PeerPort => "http(80)",
- );
- unless ($remote) { die "cannot connect to http daemon on $host" }
- $remote->autoflush(1);
- print $remote "GET $document HTTP/1.0" . $BLANK;
- while ( <$remote> ) { print }
- close $remote;
+ for my $document (@ARGV) {
+ $remote = IO::Socket::INET->new( Proto => "tcp",
+ PeerAddr => $host,
+ PeerPort => "http(80)",
+ ) || die "cannot connect to httpd on $host";
+ $remote->autoflush(1);
+ print $remote "GET $document HTTP/1.0" . $BLANK;
+ while ( <$remote> ) { print }
+ close $remote;
}
-The web server handing the "http" service, which is assumed to be at
-its standard port, number 80. If the web server you're trying to
-connect to is at a different port (like 1080 or 8080), you should specify
+The web server handling the HTTP service is assumed to be at
+its standard port, number 80. If the server you're trying to
+connect to is at a different port, like 1080 or 8080, you should specify it
as the named-parameter pair, C<< PeerPort => 8080 >>. The C<autoflush>
method is used on the socket because otherwise the system would buffer
-up the output we sent it. (If you're on a Mac, you'll also need to
-change every C<"\n"> in your code that sends data over the network to
-be a C<"\015\012"> instead.)
+up the output we sent it. (If you're on a prehistoric Mac, you'll also
+need to change every C<"\n"> in your code that sends data over the network
+to be a C<"\015\012"> instead.)
Connecting to the server is only the first part of the process: once you
have the connection, you have to use the server's language. Each server
@@ -1437,7 +1474,7 @@ Here's an example of running that program, which we'll call I<webget>:
Ok, so that's not very interesting, because it didn't find that
particular document. But a long response wouldn't have fit on this page.
-For a more fully-featured version of this program, you should look to
+For a more featureful version of this program, you should look to
the I<lwp-request> program included with the LWP modules from CPAN.
=head2 Interactive Client with IO::Socket
@@ -1472,11 +1509,11 @@ Here's the code:
# create a tcp connection to the specified host and port
$handle = IO::Socket::INET->new(Proto => "tcp",
- PeerAddr => $host,
- PeerPort => $port)
- or die "can't connect to port $port on $host: $!";
+ PeerAddr => $host,
+ PeerPort => $port)
+ || die "can't connect to port $port on $host: $!";
- $handle->autoflush(1); # so output gets there right away
+ $handle->autoflush(1); # so output gets there right away
print STDERR "[Connected to $host:$port]\n";
# split the program into two processes, identical twins
@@ -1484,22 +1521,23 @@ Here's the code:
# the if{} block runs only in the parent process
if ($kidpid) {
- # copy the socket to standard output
- while (defined ($line = <$handle>)) {
- print STDOUT $line;
- }
- kill("TERM", $kidpid); # send SIGTERM to child
+ # copy the socket to standard output
+ while (defined ($line = <$handle>)) {
+ print STDOUT $line;
+ }
+ kill("TERM", $kidpid); # send SIGTERM to child
}
# the else{} block runs only in the child process
else {
- # copy standard input to the socket
- while (defined ($line = <STDIN>)) {
- print $handle $line;
- }
+ # copy standard input to the socket
+ while (defined ($line = <STDIN>)) {
+ print $handle $line;
+ }
+ exit(0); # just in case
}
The C<kill> function in the parent's C<if> block is there to send a
-signal to our child process (current running in the C<else> block)
+signal to our child process, currently running in the C<else> block,
as soon as the remote server has closed its end of the connection.
If the remote server sends data a byte at time, and you need that
@@ -1509,7 +1547,7 @@ following:
my $byte;
while (sysread($handle, $byte, 1) == 1) {
- print STDOUT $byte;
+ print STDOUT $byte;
}
Making a system call for each byte you want to read is not very efficient
@@ -1569,20 +1607,20 @@ To add to user-friendliness, our server prompts the user for commands.
Most servers don't do this. Because of the prompt without a newline,
you'll have to use the C<sysread> variant of the interactive client above.
-This server accepts one of five different commands, sending output
-back to the client. Note that unlike most network servers, this one
-only handles one incoming client at a time. Multithreaded servers are
-covered in Chapter 6 of the Camel.
+This server accepts one of five different commands, sending output back to
+the client. Unlike most network servers, this one handles only one
+incoming client at a time. Multithreaded servers are covered in
+Chapter 16 of the Camel.
Here's the code. We'll
#!/usr/bin/perl -w
use IO::Socket;
- use Net::hostent; # for OO version of gethostbyaddr
+ use Net::hostent; # for OOish version of gethostbyaddr
- $PORT = 9000; # pick something not in use
+ $PORT = 9000; # pick something not in use
- $server = IO::Socket::INET->new( Proto => 'tcp',
+ $server = IO::Socket::INET->new( Proto => "tcp",
LocalPort => $PORT,
Listen => SOMAXCONN,
Reuse => 1);
@@ -1597,12 +1635,12 @@ Here's the code. We'll
printf "[Connect from %s]\n", $hostinfo ? $hostinfo->name : $client->peerhost;
print $client "Command? ";
while ( <$client>) {
- next unless /\S/; # blank line
- if (/quit|exit/i) { last; }
- elsif (/date|time/i) { printf $client "%s\n", scalar localtime; }
- elsif (/who/i ) { print $client `who 2>&1`; }
- elsif (/cookie/i ) { print $client `/usr/games/fortune 2>&1`; }
- elsif (/motd/i ) { print $client `cat /etc/motd 2>&1`; }
+ next unless /\S/; # blank line
+ if (/quit|exit/i) { last }
+ elsif (/date|time/i) { printf $client "%s\n", scalar localtime() }
+ elsif (/who/i ) { print $client `who 2>&1` }
+ elsif (/cookie/i ) { print $client `/usr/games/fortune 2>&1` }
+ elsif (/motd/i ) { print $client `cat /etc/motd 2>&1` }
else {
print $client "Commands: quit date who cookie motd\n";
}
@@ -1624,10 +1662,10 @@ find yourself overly concerned about reliability and start building checks
into your message system, then you probably should use just TCP to start
with.
-Note that UDP datagrams are I<not> a bytestream and should not be treated
-as such. This makes using I/O mechanisms with internal buffering
-like stdio (i.e. print() and friends) especially cumbersome. Use syswrite(),
-or better send(), like in the example below.
+UDP datagrams are I<not> a bytestream and should not be treated as such.
+This makes using I/O mechanisms with internal buffering like stdio (i.e.
+print() and friends) especially cumbersome. Use syswrite(), or better
+send(), like in the example below.
Here's a UDP program similar to the sample Internet TCP client given
earlier. However, instead of checking one host at a time, the UDP version
@@ -1641,85 +1679,87 @@ with TCP, you'd have to use a different socket handle for each host.
use Sys::Hostname;
my ( $count, $hisiaddr, $hispaddr, $histime,
- $host, $iaddr, $paddr, $port, $proto,
- $rin, $rout, $rtime, $SECS_of_70_YEARS);
+ $host, $iaddr, $paddr, $port, $proto,
+ $rin, $rout, $rtime, $SECS_OF_70_YEARS);
- $SECS_of_70_YEARS = 2208988800;
+ $SECS_OF_70_YEARS = 2_208_988_800;
$iaddr = gethostbyname(hostname());
- $proto = getprotobyname('udp');
- $port = getservbyname('time', 'udp');
+ $proto = getprotobyname("udp");
+ $port = getservbyname("time", "udp");
$paddr = sockaddr_in(0, $iaddr); # 0 means let kernel pick
socket(SOCKET, PF_INET, SOCK_DGRAM, $proto) || die "socket: $!";
bind(SOCKET, $paddr) || die "bind: $!";
$| = 1;
- printf "%-12s %8s %s\n", "localhost", 0, scalar localtime time;
+ printf "%-12s %8s %s\n", "localhost", 0, scalar localtime();
$count = 0;
for $host (@ARGV) {
- $count++;
- $hisiaddr = inet_aton($host) || die "unknown host";
- $hispaddr = sockaddr_in($port, $hisiaddr);
- defined(send(SOCKET, 0, 0, $hispaddr)) || die "send $host: $!";
+ $count++;
+ $hisiaddr = inet_aton($host) || die "unknown host";
+ $hispaddr = sockaddr_in($port, $hisiaddr);
+ defined(send(SOCKET, 0, 0, $hispaddr)) || die "send $host: $!";
}
- $rin = '';
+ $rin = "";
vec($rin, fileno(SOCKET), 1) = 1;
# timeout after 10.0 seconds
while ($count && select($rout = $rin, undef, undef, 10.0)) {
- $rtime = '';
- ($hispaddr = recv(SOCKET, $rtime, 4, 0)) || die "recv: $!";
- ($port, $hisiaddr) = sockaddr_in($hispaddr);
- $host = gethostbyaddr($hisiaddr, AF_INET);
- $histime = unpack("N", $rtime) - $SECS_of_70_YEARS;
- printf "%-12s ", $host;
- printf "%8d %s\n", $histime - time, scalar localtime($histime);
- $count--;
+ $rtime = "";
+ $hispaddr = recv(SOCKET, $rtime, 4, 0) || die "recv: $!";
+ ($port, $hisiaddr) = sockaddr_in($hispaddr);
+ $host = gethostbyaddr($hisiaddr, AF_INET);
+ $histime = unpack("N", $rtime) - $SECS_OF_70_YEARS;
+ printf "%-12s ", $host;
+ printf "%8d %s\n", $histime - time(), scalar localtime($histime);
+ $count--;
}
-Note that this example does not include any retries and may consequently
-fail to contact a reachable host. The most prominent reason for this
-is congestion of the queues on the sending host if the number of
-list of hosts to contact is sufficiently large.
+This example does not include any retries and may consequently fail to
+contact a reachable host. The most prominent reason for this is congestion
+of the queues on the sending host if the number of hosts to contact is
+sufficiently large.
=head1 SysV IPC
While System V IPC isn't so widely used as sockets, it still has some
-interesting uses. You can't, however, effectively use SysV IPC or
-Berkeley mmap() to have shared memory so as to share a variable amongst
-several processes. That's because Perl would reallocate your string when
-you weren't wanting it to.
+interesting uses. However, you cannot use SysV IPC or Berkeley mmap() to
+have a variable shared amongst several processes. That's because Perl
+would reallocate your string when you weren't wanting it to. You might
+look into the C<IPC::Shareable> or C<threads::shared> modules for that.
Here's a small example showing shared memory usage.
use IPC::SysV qw(IPC_PRIVATE IPC_RMID S_IRUSR S_IWUSR);
$size = 2000;
- $id = shmget(IPC_PRIVATE, $size, S_IRUSR|S_IWUSR) // die "$!";
+ $id = shmget(IPC_PRIVATE, $size, S_IRUSR | S_IWUSR);
+ defined($id) || die "shmget: $!";
print "shm key $id\n";
$message = "Message #1";
- shmwrite($id, $message, 0, 60) || die "$!";
+ shmwrite($id, $message, 0, 60) || die "shmwrite: $!";
print "wrote: '$message'\n";
- shmread($id, $buff, 0, 60) || die "$!";
+ shmread($id, $buff, 0, 60) || die "shmread: $!";
print "read : '$buff'\n";
# the buffer of shmread is zero-character end-padded.
- substr($buff, index($buff, "\0")) = '';
+ substr($buff, index($buff, "\0")) = "":
print "un" unless $buff eq $message;
print "swell\n";
print "deleting shm $id\n";
- shmctl($id, IPC_RMID, 0) || die "$!";
+ shmctl($id, IPC_RMID, 0) || die "shmctl: $!";
Here's an example of a semaphore:
use IPC::SysV qw(IPC_CREAT);
$IPC_KEY = 1234;
- $id = semget($IPC_KEY, 10, 0666 | IPC_CREAT ) // die "$!";
+ $id = semget($IPC_KEY, 10, 0666 | IPC_CREAT);
+ defined($id) || die "shmget: $!";
print "shm key $id\n";
Put this code in a separate file to be run in more than one process.
@@ -1728,13 +1768,13 @@ Call the file F<take>:
# create a semaphore
$IPC_KEY = 1234;
- $id = semget($IPC_KEY, 0 , 0 );
- die if !defined($id);
+ $id = semget($IPC_KEY, 0, 0);
+ defined($id) || die "shmget: $!";
- $semnum = 0;
+ $semnum = 0;
$semflag = 0;
- # 'take' semaphore
+ # "take" semaphore
# wait for semaphore to be zero
$semop = 0;
$opstring1 = pack("s!s!s!", $semnum, $semop, $semflag);
@@ -1742,29 +1782,29 @@ Call the file F<take>:
# Increment the semaphore count
$semop = 1;
$opstring2 = pack("s!s!s!", $semnum, $semop, $semflag);
- $opstring = $opstring1 . $opstring2;
+ $opstring = $opstring1 . $opstring2;
- semop($id,$opstring) || die "$!";
+ semop($id, $opstring) || die "semop: $!";
Put this code in a separate file to be run in more than one process.
Call this file F<give>:
- # 'give' the semaphore
+ # "give" the semaphore
# run this in the original process and you will see
# that the second process continues
$IPC_KEY = 1234;
$id = semget($IPC_KEY, 0, 0);
- die if !defined($id);
+ die unless defined($id);
- $semnum = 0;
+ $semnum = 0;
$semflag = 0;
# Decrement the semaphore count
$semop = -1;
$opstring = pack("s!s!s!", $semnum, $semop, $semflag);
- semop($id,$opstring) || die "$!";
+ semop($id, $opstring) || die "semop: $!";
The SysV IPC code above was written long ago, and it's definitely
clunky looking. For a more modern look, see the IPC::SysV module
@@ -1775,41 +1815,36 @@ A small example demonstrating SysV message queues:
use IPC::SysV qw(IPC_PRIVATE IPC_RMID IPC_CREAT S_IRUSR S_IWUSR);
my $id = msgget(IPC_PRIVATE, IPC_CREAT | S_IRUSR | S_IWUSR);
+ defined($id) || die "msgget failed: $!";
- my $sent = "message";
+ my $sent = "message";
my $type_sent = 1234;
- my $rcvd;
- my $type_rcvd;
-
- if (defined $id) {
- if (msgsnd($id, pack("l! a*", $type_sent, $sent), 0)) {
- if (msgrcv($id, $rcvd, 60, 0, 0)) {
- ($type_rcvd, $rcvd) = unpack("l! a*", $rcvd);
- if ($rcvd eq $sent) {
- print "okay\n";
- } else {
- print "not okay\n";
- }
- } else {
- die "# msgrcv failed\n";
- }
- } else {
- die "# msgsnd failed\n";
- }
- msgctl($id, IPC_RMID, 0) || die "# msgctl failed: $!\n";
+
+ msgsnd($id, pack("l! a*", $type_sent, $sent), 0)
+ || die "msgsnd failed: $!";
+
+ msgrcv($id, my $rcvd_buf, 60, 0, 0)
+ || die "msgrcv failed: $!";
+
+ my($type_rcvd, $rcvd) = unpack("l! a*", $rcvd_buf);
+
+ if ($rcvd eq $sent) {
+ print "okay\n";
} else {
- die "# msgget failed\n";
+ print "not okay\n";
}
+ msgctl($id, IPC_RMID, 0) || die "msgctl failed: $!\n";
+
=head1 NOTES
Most of these routines quietly but politely return C<undef> when they
fail instead of causing your program to die right then and there due to
an uncaught exception. (Actually, some of the new I<Socket> conversion
-functions croak() on bad arguments.) It is therefore essential to
+functions do croak() on bad arguments.) It is therefore essential to
check return values from these functions. Always begin your socket
-programs this way for optimal success, and don't forget to add B<-T>
-taint checking flag to the #! line for servers:
+programs this way for optimal success, and don't forget to add the B<-T>
+taint-checking flag to the C<#!> line for servers:
#!/usr/bin/perl -Tw
use strict;
@@ -1818,9 +1853,9 @@ taint checking flag to the #! line for servers:
=head1 BUGS
-All these routines create system-specific portability problems. As noted
+These routines all create system-specific portability problems. As noted
elsewhere, Perl is at the mercy of your C libraries for much of its system
-behaviour. It's probably safest to assume broken SysV semantics for
+behavior. It's probably safest to assume broken SysV semantics for
signals and to stick with simple TCP and UDP socket operations; e.g., don't
try to pass open file descriptors over a local UDP datagram socket if you
want your code to stand a chance of being portable.
@@ -1835,20 +1870,23 @@ version and suggestions from the Perl Porters.
There's a lot more to networking than this, but this should get you
started.
-For intrepid programmers, the indispensable textbook is I<Unix
-Network Programming, 2nd Edition, Volume 1> by W. Richard Stevens
-(published by Prentice-Hall). Note that most books on networking
-address the subject from the perspective of a C programmer; translation
-to Perl is left as an exercise for the reader.
+For intrepid programmers, the indispensable textbook is I<Unix Network
+Programming, 2nd Edition, Volume 1> by W. Richard Stevens (published by
+Prentice-Hall). Most books on networking address the subject from the
+perspective of a C programmer; translation to Perl is left as an exercise
+for the reader.
The IO::Socket(3) manpage describes the object library, and the Socket(3)
manpage describes the low-level interface to sockets. Besides the obvious
-functions in L<perlfunc>, you should also check out the F<modules> file
-at your nearest CPAN site. (See L<perlmodlib> or best yet, the F<Perl
-FAQ> for a description of what CPAN is and where to get it.)
-
-Section 5 of the F<modules> file is devoted to "Networking, Device Control
-(modems), and Interprocess Communication", and contains numerous unbundled
-modules numerous networking modules, Chat and Expect operations, CGI
-programming, DCE, FTP, IPC, NNTP, Proxy, Ptty, RPC, SNMP, SMTP, Telnet,
-Threads, and ToolTalk--just to name a few.
+functions in L<perlfunc>, you should also check out the F<modules> file at
+your nearest CPAN site, especially
+L<http://www.cpan.org/modules/00modlist.long.html#ID5_Networking_>.
+See L<perlmodlib> or best yet, the F<Perl FAQ> for a description
+of what CPAN is and where to get it if the previous link doesn't work
+for you.
+
+Section 5 of CPAN's F<modules> file is devoted to "Networking, Device
+Control (modems), and Interprocess Communication", and contains numerous
+unbundled modules numerous networking modules, Chat and Expect operations,
+CGI programming, DCE, FTP, IPC, NNTP, Proxy, Ptty, RPC, SNMP, SMTP, Telnet,
+Threads, and ToolTalk--to name just a few.
diff --git a/Master/tlpkg/tlperl/lib/pods/perljp.pod b/Master/tlpkg/tlperl/lib/pods/perljp.pod
index 6f022bbdbe1..934a91f9180 100644
--- a/Master/tlpkg/tlperl/lib/pods/perljp.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perljp.pod
@@ -178,7 +178,7 @@ Unicode ¥³¥ó¥½¡¼¥·¥¢¥à (Unicodeµ¬³Ê¤ÎÁªÄêÃÄÂÎ)
UTF-8 and Unicode FAQ for Unix/Linux
-=item L<http://kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>
+=item L<http://wiki.kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>
UTF-8 and Unicode FAQ for Unix/Linux (¥Ï¥ó¥°¥ëÌõ)
diff --git a/Master/tlpkg/tlperl/lib/pods/perlko.pod b/Master/tlpkg/tlperl/lib/pods/perlko.pod
index 611ed7c3fde..5e9c4760192 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlko.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlko.pod
@@ -188,7 +188,7 @@ Character Set)À» ¸¸µå´Â ISO/IEC JTC1/SC2/WG2ÀÇ À¥ ÆäÀÌÁö.
À¯´Ð½º/¸®´ª½º¿¡¼­ À¯´ÏÄÚµå¿Í UTF-8 »ç¿ë¿¡ ´ëÇÑ ¹®´äÁý(FAQ)
-=item L<http://kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>
+=item L<http://wiki.kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>
À¯´Ð½º/¸®´ª½º¿¡¼­ À¯´ÏÄÚµå¿Í UTF-8 »ç¿ë¿¡ ´ëÇÑ ¹®´äÁý(FAQ)ÀÇ Çѱ¹¾î ¹ø¿ª
diff --git a/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod b/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod
index 835914e4869..accbfdf7923 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod
@@ -304,7 +304,13 @@ The current hierarchy is:
|
+- untie
|
- +- utf8
+ +- utf8----------+
+ | |
+ | +- surrogate
+ | |
+ | +- non_unicode
+ | |
+ | +- nonchar
|
+- void
@@ -520,6 +526,16 @@ a warning.
Notice also that the warning is reported at the line where the object is first
used.
+When registering new categories of warning, you can supply more names to
+warnings::register like this:
+
+ package MyModule;
+ use warnings::register qw(format precision);
+
+ ...
+
+ warnings::warnif('MyModule::format', '...');
+
=head1 SEE ALSO
L<warnings>, L<perldiag>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perllinux.pod b/Master/tlpkg/tlperl/lib/pods/perllinux.pod
index c02ddd3fa1e..2f9943c2240 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllinux.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllinux.pod
@@ -13,7 +13,7 @@ version 5 (hereafter just Perl) is compiled and/or runs.
=head2 Experimental Support for Sun Studio Compilers for Linux OS
-Sun Microsystems has released a port of their Sun Studio compiliers for
+Sun Microsystems has released a port of their Sun Studio compilers for
Linux. As of November 2005, only an alpha version has been released.
Until a release of these compilers is made, support for compiling Perl with
these compiler experimental.
diff --git a/Master/tlpkg/tlperl/lib/pods/perllocale.pod b/Master/tlpkg/tlperl/lib/pods/perllocale.pod
index 0dbabe7d401..8926d8bc813 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllocale.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllocale.pod
@@ -4,13 +4,16 @@ perllocale - Perl locale handling (internationalization and localization)
=head1 DESCRIPTION
+Locales these days have been mostly been supplanted by Unicode, but Perl
+continues to support them. See L</Unicode and UTF-8> below.
+
Perl supports language-specific notions of data such as "is this
a letter", "what is the uppercase equivalent of this letter", and
"which of these letters comes first". These are important issues,
especially for languages other than English--but also for English: it
would be naE<iuml>ve to imagine that C<A-Za-z> defines all the "letters"
-needed to write in English. Perl is also aware that some character other
-than '.' may be preferred as a decimal point, and that output date
+needed to write correct English. Perl is also aware that some character other
+than "." may be preferred as a decimal point, and that output date
representations may be language-specific. The process of making an
application take account of its users' preferences in such matters is
called B<internationalization> (often abbreviated as B<i18n>); telling
@@ -69,13 +72,13 @@ appropriate, and B<at least one> of the following must be true:
=over 4
-=item *
+=item 1
B<The locale-determining environment variables (see L<"ENVIRONMENT">)
must be correctly set up> at the time the application is started, either
-by yourself or by whoever set up your system account.
+by yourself or by whoever set up your system account; or
-=item *
+=item 2
B<The application must set its own locale> using the method described in
L<The setlocale function>.
@@ -87,7 +90,20 @@ L<The setlocale function>.
=head2 The use locale pragma
By default, Perl ignores the current locale. The S<C<use locale>>
-pragma tells Perl to use the current locale for some operations:
+pragma and the C</l> regular expression modifier tell Perl to use the
+current locale for some operations (C</l> for just pattern matching).
+
+The current locale is set at execution time by
+L<setlocale()|/The setlocale function> described below. If that function
+hasn't yet been called in the course of the program's execution, the
+current locale is that which was determined by the L<"ENVIRONMENT"> in
+effect at the start of the program, except that
+C<L<LC_NUMERIC|/Category LC_NUMERIC: Numeric Formatting>> is always
+initialized to the C locale (mentioned under L<Finding locales>).
+If there is no valid environment, the current locale is undefined. It
+is likely, but not necessarily, the "C" locale.
+
+The operations that are affected by locale are:
=over 4
@@ -115,8 +131,7 @@ ucfirst(), and lcfirst()) use C<LC_CTYPE>
=item *
-B<The formatting functions> (printf(), sprintf() and write()) use
-C<LC_NUMERIC>
+B<Format declarations> (format()) use C<LC_NUMERIC>
=item *
@@ -176,7 +191,7 @@ subsequent call to setlocale().
If no second argument is provided and the category is LC_ALL, the
result is implementation-dependent. It may be a string of
-concatenated locales names (separator also implementation-dependent)
+concatenated locale names (separator also implementation-dependent)
or a single locale name. Please consult your setlocale(3) man page for
details.
@@ -247,6 +262,8 @@ the POSIX standard. They define the B<default locale> in which
every program starts in the absence of locale information in its
environment. (The I<default> default locale, if you will.) Its language
is (American) English and its character codeset ASCII.
+B<Warning>. The C locale delivered by some vendors may not
+actually exactly match what the C standard calls for. So beware.
B<NOTE>: Not all systems have the "POSIX" locale (not all systems are
POSIX-conformant), so use "C" when you need explicitly to specify this
@@ -466,9 +483,9 @@ basic category at a time. See L<"ENVIRONMENT"> for a discussion of these.
In the scope of S<C<use locale>>, Perl looks to the C<LC_COLLATE>
environment variable to determine the application's notions on collation
-(ordering) of characters. For example, 'b' follows 'a' in Latin
-alphabets, but where do 'E<aacute>' and 'E<aring>' belong? And while
-'color' follows 'chocolate' in English, what about in Spanish?
+(ordering) of characters. For example, "b" follows "a" in Latin
+alphabets, but where do "E<aacute>" and "E<aring>" belong? And while
+"color" follows "chocolate" in English, what about in Spanish?
The following collations all make sense and you may meet any of them
if you "use locale".
@@ -551,8 +568,8 @@ which stands for alphanumeric characters--that is, alphabetic,
numeric, and including other special characters such as the underscore or
hyphen. (Consult L<perlre> for more information about
regular expressions.) Thanks to C<LC_CTYPE>, depending on your locale
-setting, characters like 'E<aelig>', 'E<eth>', 'E<szlig>', and
-'E<oslash>' may be understood as C<\w> characters.
+setting, characters like "E<aelig>", "E<eth>", "E<szlig>", and
+"E<oslash>" may be understood as C<\w> characters.
The C<LC_CTYPE> locale also provides the map used in transliterating
characters between lower and uppercase. This affects the case-mapping
@@ -568,9 +585,9 @@ to your surprise--that "|" moves from the ispunct() class to isalpha().
B<Note:> A broken or malicious C<LC_CTYPE> locale definition may result
in clearly ineligible characters being considered to be alphanumeric by
-your application. For strict matching of (mundane) letters and
+your application. For strict matching of (mundane) ASCII letters and
digits--for example, in command strings--locale-aware applications
-should use C<\w> inside a C<no locale> block. See L<"SECURITY">.
+should use C<\w> with the C</a> regular expression modifier. See L<"SECURITY">.
=head2 Category LC_NUMERIC: Numeric Formatting
@@ -579,7 +596,7 @@ locale information, which controls an application's idea of how numbers
should be formatted for human readability by the printf(), sprintf(), and
write() functions. String-to-numeric conversion by the POSIX::strtod()
function is also affected. In most implementations the only effect is to
-change the character used for the decimal point--perhaps from '.' to ','.
+change the character used for the decimal point--perhaps from "." to ",".
These functions aren't aware of such niceties as thousands separation and
so on. (See L<The localeconv function> if you care about these things.)
@@ -607,7 +624,7 @@ See also L<I18N::Langinfo> and C<RADIXCHAR>.
=head2 Category LC_MONETARY: Formatting of monetary amounts
-The C standard defines the C<LC_MONETARY> category, but no function
+The C standard defines the C<LC_MONETARY> category, but not a function
that is affected by its contents. (Those with experience of standards
committees will recognize that the working group decided to punt on the
issue.) Consequently, Perl takes no notice of it. If you really want
@@ -867,7 +884,7 @@ using GNU libc and you can ignore C<LANGUAGE>.
However, in the case you are using C<LANGUAGE>: it affects the
language of informational, warning, and error messages output by
commands (in other words, it's like C<LC_MESSAGES>) but it has higher
-priority than L<LC_ALL>. Moreover, it's not a single value but
+priority than C<LC_ALL>. Moreover, it's not a single value but
instead a "path" (":"-separated list) of I<languages> (not locales).
See the GNU C<gettext> library documentation for more information.
@@ -936,7 +953,9 @@ always in force, even if the program environment suggested otherwise
(see L<The setlocale function>). By default, Perl still behaves this
way for backward compatibility. If you want a Perl application to pay
attention to locale information, you B<must> use the S<C<use locale>>
-pragma (see L<The use locale pragma>) to instruct it to do so.
+pragma (see L<The use locale pragma>) or for just pattern matching, the
+C</l> regular expression modifier (see L<perlre/Character set
+modifiers>) to instruct it to do so.
Versions of Perl from 5.002 to 5.003 did use the C<LC_CTYPE>
information if available; that is, C<\w> did understand what
@@ -967,13 +986,11 @@ system's implementation of the locale system than by Perl.
=head2 write() and LC_NUMERIC
-Formats are the only part of Perl that unconditionally use information
-from a program's locale; if a program's environment specifies an
-LC_NUMERIC locale, it is always used to specify the decimal point
-character in formatted output. Formatted output cannot be controlled by
-C<use locale> because the pragma is tied to the block structure of the
-program, and, for historical reasons, formats exist outside that block
-structure.
+If a program's environment specifies an LC_NUMERIC locale and C<use
+locale> is in effect when the format is declared, the locale is used
+to specify the decimal point character in formatted output. Formatted
+output cannot be controlled by C<use locale> at the time when write()
+is called.
=head2 Freely available locale definitions
@@ -1002,17 +1019,61 @@ criticized as incomplete, ungainly, and having too large a granularity.
to have them apply to a single thread, window group, or whatever.) They
also have a tendency, like standards groups, to divide the world into
nations, when we all know that the world can equally well be divided
-into bankers, bikers, gamers, and so on. But, for now, it's the only
-standard we've got. This may be construed as a bug.
+into bankers, bikers, gamers, and so on.
=head1 Unicode and UTF-8
-The support of Unicode is new starting from Perl version 5.6, and
-more fully implemented in the version 5.8. See L<perluniintro> and
-L<perlunicode> for more details.
-
-Usually locale settings and Unicode do not affect each other, but
-there are exceptions, see L<perlunicode/Locales> for examples.
+The support of Unicode is new starting from Perl version 5.6, and more fully
+implemented in version 5.8 and later. See L<perluniintro>. Perl tries to
+work with both Unicode and locales--but of course, there are problems.
+
+Perl does not handle multi-byte locales, such as have been used for various
+Asian languages, such as Big5 or Shift JIS. However, the increasingly common
+multi-byte UTF-8 locales, if properly implemented, tend to work
+reasonably well in Perl, simply because both they and Perl store
+characters that take up multiple bytes the same way.
+
+Perl generally takes the tack to use locale rules on code points that can fit
+in a single byte, and Unicode rules for those that can't (though this wasn't
+uniformly applied prior to Perl 5.14). This prevents many problems in locales
+that aren't UTF-8. Suppose the locale is ISO8859-7, Greek. The character at
+0xD7 there is a capital Chi. But in the ISO8859-1 locale, Latin1, it is a
+multiplication sign. The POSIX regular expression character class
+C<[[:alpha:]]> will magically match 0xD7 in the Greek locale but not in the
+Latin one, even if the string is encoded in UTF-8, which would normally imply
+Unicode semantics. (The "U" in UTF-8 stands for Unicode.)
+
+However, there are places where this breaks down. Certain constructs are
+for Unicode only, such as C<\p{Alpha}>. They assume that 0xD7 always has its
+Unicode meaning (or the equivalent on EBCDIC platforms). Since Latin1 is a
+subset of Unicode and 0xD7 is the multiplication sign in both Latin1 and
+Unicode, C<\p{Alpha}> will never match it, regardless of locale. A similar
+issue occurs with C<\N{...}>. It is therefore a bad idea to use C<\p{}> or
+C<\N{}> under C<use locale>--I<unless> you can guarantee that the locale will
+be a ISO8859-1 or UTF-8 one. Use POSIX character classes instead.
+
+
+The same problem ensues if you enable automatic UTF-8-ification of your
+standard file handles, default C<open()> layer, and C<@ARGV> on non-ISO8859-1,
+non-UTF-8 locales (by using either the B<-C> command line switch or the
+C<PERL_UNICODE> environment variable; see L<perlrun>).
+Things are read in as UTF-8, which would normally imply a Unicode
+interpretation, but the presence of a locale causes them to be interpreted
+in that locale instead. For example, a 0xD7 code point in the Unicode
+input, which should mean the multiplication sign, won't be interpreted by
+Perl that way under the Greek locale. Again, this is not a problem
+I<provided> you make certain that all locales will always and only be either
+an ISO8859-1 or a UTF-8 locale.
+
+Vendor locales are notoriously buggy, and it is difficult for Perl to test
+its locale-handling code because this interacts with code that Perl has no
+control over; therefore the locale-handling code in Perl may be buggy as
+well. But if you I<do> have locales that work, using them may be
+worthwhile for certain specific purposes, as long as you keep in mind the
+gotchas already mentioned. For example, collation runs faster under
+locales than under L<Unicode::Collate> (albeit with less flexibility), and
+you gain access to such things as the local currency symbol and the names
+of the months and days of the week.
=head1 BUGS
@@ -1020,10 +1081,10 @@ there are exceptions, see L<perlunicode/Locales> for examples.
In certain systems, the operating system's locale support
is broken and cannot be fixed or used by Perl. Such deficiencies can
-and will result in mysterious hangs and/or Perl core dumps when the
+and will result in mysterious hangs and/or Perl core dumps when
C<use locale> is in effect. When confronted with such a system,
please report in excruciating detail to <F<perlbug@perl.org>>, and
-complain to your vendor: bug fixes may exist for these problems
+also contact your vendor: bug fixes may exist for these problems
in your operating system. Sometimes such bug fixes are called an
operating system upgrade.
@@ -1041,6 +1102,4 @@ L<POSIX/strtod>, L<POSIX/strxfrm>.
Jarkko Hietaniemi's original F<perli18n.pod> heavily hacked by Dominic
Dunlop, assisted by the perl5-porters. Prose worked over a bit by
-Tom Christiansen.
-
-Last update: Thu Jun 11 08:44:13 MDT 1998
+Tom Christiansen, and updated by Perl 5 porters.
diff --git a/Master/tlpkg/tlperl/lib/pods/perllol.pod b/Master/tlpkg/tlperl/lib/pods/perllol.pod
index 58d532b12fc..8c6c0563f89 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllol.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllol.pod
@@ -6,23 +6,24 @@ perllol - Manipulating Arrays of Arrays in Perl
=head2 Declaration and Access of Arrays of Arrays
-The simplest thing to build is an array of arrays (sometimes imprecisely
-called a list of lists). It's reasonably easy to understand, and
-almost everything that applies here will also be applicable later
-on with the fancier data structures.
+The simplest two-level data structure to build in Perl is an array of
+arrays, sometimes casually called a list of lists. It's reasonably easy to
+understand, and almost everything that applies here will also be applicable
+later on with the fancier data structures.
An array of an array is just a regular old array @AoA that you can
get at with two subscripts, like C<$AoA[3][2]>. Here's a declaration
of the array:
+ use 5.010; # so we can use say()
+
# assign to our array, an array of array references
@AoA = (
- [ "fred", "barney" ],
- [ "george", "jane", "elroy" ],
- [ "homer", "marge", "bart" ],
+ [ "fred", "barney", "pebbles", "bambam", "dino", ],
+ [ "george", "jane", "elroy", "judy", ],
+ [ "homer", "bart", "marge", "maggie", ],
);
-
- print $AoA[2][2];
+ say $AoA[2][1];
bart
Now you should be very careful that the outer bracket type
@@ -33,11 +34,11 @@ but rather just a reference to it, you could do something more like this:
# assign a reference to array of array references
$ref_to_AoA = [
[ "fred", "barney", "pebbles", "bambam", "dino", ],
- [ "homer", "bart", "marge", "maggie", ],
[ "george", "jane", "elroy", "judy", ],
+ [ "homer", "bart", "marge", "maggie", ],
];
-
- print $ref_to_AoA->[2][2];
+ say $ref_to_AoA->[2][1];
+ bart
Notice that the outer bracket type has changed, and so our access syntax
has also changed. That's because unlike C, in perl you can't freely
@@ -88,16 +89,18 @@ array in it.
$AoA[$i] = [ @tmp ];
}
-It's very important that you make sure to use the C<[]> array reference
-constructor. That's because this will be very wrong:
+It's important you make sure to use the C<[ ]> array reference
+constructor. That's because this wouldn't work:
- $AoA[$i] = @tmp;
+ $AoA[$i] = @tmp; # WRONG!
-You see, assigning a named array like that to a scalar just counts the
-number of elements in @tmp, which probably isn't what you want.
+The reason that doesn't do what you want is because assigning a
+named array like that to a scalar is taking an array in scalar
+context, which means just counts the number of elements in @tmp.
-If you are running under C<use strict>, you'll have to add some
-declarations to make it happy:
+If you are running under C<use strict> (and if you aren't, why in
+the world aren't you?), you'll have to add some declarations to
+make it happy:
use strict;
my(@AoA, @tmp);
@@ -118,14 +121,14 @@ if you knew where you wanted to put it:
my (@AoA, $i, $line);
for $i ( 0 .. 10 ) {
$line = <>;
- $AoA[$i] = [ split ' ', $line ];
+ $AoA[$i] = [ split " ", $line ];
}
or even just
my (@AoA, $i);
for $i ( 0 .. 10 ) {
- $AoA[$i] = [ split ' ', <> ];
+ $AoA[$i] = [ split " ", <> ];
}
You should in general be leery of using functions that could
@@ -134,7 +137,7 @@ such. This would be clearer to the casual reader:
my (@AoA, $i);
for $i ( 0 .. 10 ) {
- $AoA[$i] = [ split ' ', scalar(<>) ];
+ $AoA[$i] = [ split " ", scalar(<>) ];
}
If you wanted to have a $ref_to_AoA variable as a reference to an array,
@@ -165,14 +168,45 @@ If you wanted just to append to a row, you'd have
to do something a bit funnier looking:
# add new columns to an existing row
- push @{ $AoA[0] }, "wilma", "betty";
+ push @{ $AoA[0] }, "wilma", "betty"; # explicit deref
+
+Prior to Perl 5.14, this wouldn't even compile:
+
+ push $AoA[0], "wilma", "betty"; # implicit deref
+
+How come? Because once upon a time, the argument to push() had to be be a
+real array, not just a reference to one. That's no longer true. In fact,
+the line marked "implicit deref" above works just fine--in this
+instance--to do what the one that says explicit deref did.
+
+The reason I said "in this instance" is because that I<only> works
+because C<$AoA[0]> already held an array reference. If you try that on an
+undefined variable, you'll take an exception. That's because the implicit
+derefererence will never autovivify an undefined variable the way C<@{ }>
+always will:
-Notice that I I<couldn't> say just:
+ my $aref = undef;
+ push $aref, qw(some more values); # WRONG!
+ push @$aref, qw(a few more); # ok
- push $AoA[0], "wilma", "betty"; # WRONG!
+If you want to take advantage of this new implicit dereferencing behavior,
+go right ahead: it makes code easier on the eye and wrist. Just understand
+that older releases will choke on it during compilation. Whenever you make
+use of something that works only in some given release of Perl and later,
+but not earlier, you should place a prominent
-In fact, that wouldn't even compile. How come? Because the argument
-to push() must be a real array, not just a reference to such.
+ use v5.14; # needed for implicit deref of array refs by array ops
+
+directive at the top of the file that needs it. That way when somebody
+tries to run the new code under an old perl, rather than getting an error like
+
+ Type of arg 1 to push must be array (not array element) at /tmp/a line 8, near ""betty";"
+ Execution of /tmp/a aborted due to compilation errors.
+
+they'll be politely informed that
+
+ Perl v5.14.0 required--this is only v5.12.3, stopped at /tmp/a line 1.
+ BEGIN failed--compilation aborted at /tmp/a line 1.
=head2 Access and Printing
@@ -194,20 +228,20 @@ using the shell-style for() construct to loop across the outer
set of subscripts.
for $aref ( @AoA ) {
- print "\t [ @$aref ],\n";
+ say "\t [ @$aref ],";
}
If you wanted to keep track of subscripts, you might do this:
for $i ( 0 .. $#AoA ) {
- print "\t elt $i is [ @{$AoA[$i]} ],\n";
+ say "\t elt $i is [ @{$AoA[$i]} ],";
}
or maybe even this. Notice the inner loop.
for $i ( 0 .. $#AoA ) {
for $j ( 0 .. $#{$AoA[$i]} ) {
- print "elt $i $j is $AoA[$i][$j]\n";
+ say "elt $i $j is $AoA[$i][$j]";
}
}
@@ -217,7 +251,7 @@ sometimes is easier to take a temporary on your way through:
for $i ( 0 .. $#AoA ) {
$aref = $AoA[$i];
for $j ( 0 .. $#{$aref} ) {
- print "elt $i $j is $AoA[$i][$j]\n";
+ say "elt $i $j is $AoA[$i][$j]";
}
}
@@ -227,18 +261,65 @@ Hmm... that's still a bit ugly. How about this:
$aref = $AoA[$i];
$n = @$aref - 1;
for $j ( 0 .. $n ) {
- print "elt $i $j is $AoA[$i][$j]\n";
+ say "elt $i $j is $AoA[$i][$j]";
}
}
+When you get tired of writing a custom print for your data structures,
+you might look at the standard L<Dumpvalue> or L<Data::Dumper> modules.
+The former is what the Perl debugger uses, while the latter generates
+parsable Perl code. For example:
+
+ use v5.14; # using the + prototype, new to v5.14
+
+ sub show(+) {
+ require Dumpvalue;
+ state $prettily = new Dumpvalue::
+ tick => q("),
+ compactDump => 1, # comment these two lines out
+ veryCompact => 1, # if you want a bigger dump
+ ;
+ dumpValue $prettily @_;
+ }
+
+ # Assign a list of array references to an array.
+ my @AoA = (
+ [ "fred", "barney" ],
+ [ "george", "jane", "elroy" ],
+ [ "homer", "marge", "bart" ],
+ );
+ push $AoA[0], "wilma", "betty";
+ show @AoA;
+
+will print out:
+
+ 0 0..3 "fred" "barney" "wilma" "betty"
+ 1 0..2 "george" "jane" "elroy"
+ 2 0..2 "homer" "marge" "bart"
+
+Whereas if you comment out the two lines I said you might wish to,
+then it shows it to you this way instead:
+
+ 0 ARRAY(0x8031d0)
+ 0 "fred"
+ 1 "barney"
+ 2 "wilma"
+ 3 "betty"
+ 1 ARRAY(0x803d40)
+ 0 "george"
+ 1 "jane"
+ 2 "elroy"
+ 2 ARRAY(0x803e10)
+ 0 "homer"
+ 1 "marge"
+ 2 "bart"
+
=head2 Slices
If you want to get at a slice (part of a row) in a multidimensional
array, you're going to have to do some fancy subscripting. That's
because while we have a nice synonym for single elements via the
pointer arrow for dereferencing, no such convenience exists for slices.
-(Remember, of course, that you can always write a loop to do a slice
-operation.)
Here's how to do one operation using a loop. We'll assume an @AoA
variable as before.
@@ -251,9 +332,13 @@ variable as before.
That same loop could be replaced with a slice operation:
+ @part = @{$AoA[4]}[7..12];
+
+or spaced out a bit:
+
@part = @{ $AoA[4] } [ 7..12 ];
-but as you might well imagine, this is pretty rough on the reader.
+But as you might well imagine, this can get pretty rough on the reader.
Ah, but what if you wanted a I<two-dimensional slice>, such as having
$x run from 4..8 and $y run from 7 to 12? Hmm... here's the simple way:
@@ -300,4 +385,4 @@ L<perldata>, L<perlref>, L<perldsc>
Tom Christiansen <F<tchrist@perl.com>>
-Last update: Thu Jun 4 16:16:23 MDT 1998
+Last update: Tue Apr 26 18:30:55 MDT 2011
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmacos.pod b/Master/tlpkg/tlperl/lib/pods/perlmacos.pod
index 8c0a66fa601..ba7d78a2784 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmacos.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmacos.pod
@@ -8,27 +8,23 @@ README.macos - Perl under Mac OS (Classic)
=head1 SYNOPSIS
-This document briefly describes perl under Mac OS (Classic).
-If you are running perl under Mac OS X, you don't want to be
-here (unless you are in the Classic environment under early versions of
-Mac OS X).
+For Mac OS X see README.macosx
+
+Perl under Mac OS Classic has not been supported since before Perl 5.10
+(April 2004).
When we say "Mac OS" below, we mean Mac OS 7, 8, and 9, and I<not>
Mac OS X.
-
=head1 DESCRIPTION
The port of Perl to to Mac OS was officially removed as of Perl 5.12,
-though the last offical production release of MacPerl corresponded to
+though the last official production release of MacPerl corresponded to
Perl 5.6. While Perl 5.10 included the port to Mac OS, ExtUtils::MakeMaker,
a core part of Perl's module installation infrastructure officially dropped support for Mac OS in April 2004.
-Historical information (and working binaries of the last released version)
-are available from L<http://dev.macperl.org> as of October 2009.
-
=head1 AUTHOR
-perl was ported to Mac OS by Matthias Neeracher
+Perl was ported to Mac OS by Matthias Neeracher
E<lt>neeracher@mac.comE<gt>. Chris Nandor E<lt>pudge@pobox.comE<gt>
continued development and maintenance for the duration of the port's life.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod b/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod
index a0b21af8c7b..2ba5b1becdb 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod
@@ -8,14 +8,25 @@ README.macosx - Perl under Mac OS X
=head1 SYNOPSIS
-This document briefly describes perl under Mac OS X.
+This document briefly describes Perl under Mac OS X.
+ curl http://www.cpan.org/src/perl-5.12.3.tar.gz > perl-5.12.3.tar.gz
+ tar -xzf perl-5.12.3.tar.gz
+ cd perl-5.12.3
+ ./Configure -des -Dprefix=/usr/local/
+ make
+ make test
+ sudo make install
=head1 DESCRIPTION
-The latest Perl release (5.8.8 as of this writing) builds without changes
-under Mac OS X. Under 10.3 "Panther" and newer OS versions, all self-tests
-pass, and all standard features are supported.
+The latest Perl release (5.12.3 as of this writing) builds without changes
+under all versions of Mac OS X from 10.3 "Panther" onwards.
+
+In order to build your own version of Perl you will need 'make'
+this is part of the Apples developer tools (you only need the 'unix tools'),
+usually supplied with Mac OS install DVDs. You do not need the latest
+version of Xcode (which is now charged for) in order to install make.
Earlier Mac OS X releases (10.2 "Jaguar" and older) did not include a
completely thread-safe libc, so threading is not fully supported. Also,
@@ -93,7 +104,7 @@ omitted or buggy. Note the messages output by F<Configure> for further
information. Please use C<perlbug> to submit a problem report in the
event that you encounter difficulties.
-When building 64-bit modules, it is your responsiblity to ensure that linked
+When building 64-bit modules, it is your responsibility to ensure that linked
external libraries and frameworks provide 64-bit support: if they do not,
module building may appear to succeed, but attempts to use the module will
result in run-time dynamic linking errors, and subsequent test failures.
@@ -179,35 +190,10 @@ but remember that there's a startup cost to pay in that case (see above
Starting with Tiger (Mac OS X 10.4), Apple shipped broken locale files for
the eu_ES locale (Basque-Spain). In previous releases of Perl, this resulted in
-failures in the C<lib/locale> test. These failures have been supressed
+failures in the C<lib/locale> test. These failures have been suppressed
in the current release of Perl by making the test ignore the broken locale.
If you need to use the eu_ES locale, you should contact Apple support.
-=head2 MacPerl
-
-Quite a bit has been written about MacPerl, the Perl distribution for
-"Classic MacOS" - that is, versions 9 and earlier of MacOS. Because it
-runs in environment that's very different from that of UNIX, many things
-are done differently in MacPerl. Modules are installed using a different
-procedure, Perl itself is built differently, path names are different,
-etc.
-
-From the perspective of a Perl programmer, Mac OS X is more like a
-traditional UNIX than Classic MacOS. If you find documentation that
-refers to a special procedure that's needed for MacOS that's drastically
-different from the instructions provided for UNIX, the MacOS
-instructions are quite often intended for MacPerl on Classic MacOS. In
-that case, the correct procedure on Mac OS X is usually to follow the
-UNIX instructions, rather than the MacPerl instructions.
-
-
-=head2 Carbon
-
-MacPerl ships with a number of modules that are used to access the
-classic MacOS toolbox. Many of these modules have been updated to use
-Mac OS X's newer "Carbon" toolbox, and are available from CPAN in the
-"Mac::Carbon" module.
-
=head2 Cocoa
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmod.pod b/Master/tlpkg/tlperl/lib/pods/perlmod.pod
index eaa8ba91dbf..5266f199df0 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmod.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmod.pod
@@ -66,7 +66,7 @@ main, but we decided it was more useful for package writers to be able
to use leading underscore to indicate private variables and method names.
However, variables and functions named with a single C<_>, such as
$_ and C<sub _>, are still forced into the package C<main>. See also
-L<perlvar/"Technical Note on the Syntax of Variable Names">.
+L<perlvar/"The Syntax of Variable Names">.
C<eval>ed strings are compiled in the package in which the eval() was
compiled. (Assignments to C<$SIG{}>, however, assume the signal
@@ -294,6 +294,9 @@ value of the program. Beware of changing C<$?> by accident (e.g. by
running something via C<system>).
X<$?>
+Inside of a C<END> block, the value of C<${^GLOBAL_PHASE}> will be
+C<"END">.
+
C<UNITCHECK>, C<CHECK> and C<INIT> code blocks are useful to catch the
transition between the compilation phase and the execution phase of
the main program.
@@ -304,17 +307,25 @@ compilation units, as are string C<eval>s, code compiled using the
C<(?{ })> construct in a regex, calls to C<do FILE>, C<require FILE>,
and code after the C<-e> switch on the command line.
+C<BEGIN> and C<UNITCHECK> blocks are not directly related to the phase of
+the interpreter. They can be created and executed during any phase.
+
C<CHECK> code blocks are run just after the B<initial> Perl compile phase ends
and before the run time begins, in LIFO order. C<CHECK> code blocks are used
in the Perl compiler suite to save the compiled state of the program.
+Inside of a C<CHECK> block, the value of C<${^GLOBAL_PHASE}> will be
+C<"CHECK">.
+
C<INIT> blocks are run just before the Perl runtime begins execution, in
"first in, first out" (FIFO) order.
-The C<CHECK> and C<INIT> code blocks will not be executed inside a string
-eval(), if that eval() happens after the end of the main compilation
-phase; that can be a problem in mod_perl and other persistent environments
-which use C<eval STRING> to load code at runtime.
+Inside of an C<INIT> block, the value of C<${^GLOBAL_PHASE}> will be C<"INIT">.
+
+The C<CHECK> and C<INIT> blocks in code compiled by C<require>, string C<do>,
+or string C<eval> will not be executed if they occur after the end of the
+main compilation phase; that can be a problem in mod_perl and other persistent
+environments which use those functions to load code at runtime.
When you use the B<-n> and B<-p> switches to Perl, C<BEGIN> and
C<END> work just as they do in B<awk>, as a degenerate case.
@@ -560,7 +571,7 @@ like for example handle the cloning of non-Perl data, if necessary.
C<CLONE> will be called once as a class method for every package that has it
defined (or inherits it). It will be called in the context of the new thread,
so all modifications are made in the new area. Currently CLONE is called with
-no parameters other than the invocant package name, but code should not assume
+no parameters other than the invocand package name, but code should not assume
that this will remain unchanged, as it is likely that in future extra parameters
will be passed in to give more information about the state of cloning.
@@ -576,13 +587,13 @@ For example: if in the parent there are two references to a single blessed
hash, then in the child there will be two references to a single undefined
scalar value instead.
This provides a simple mechanism for making a module threadsafe; just add
-C<sub CLONE_SKIP { 1 }> at the top of the class, and C<DESTROY()> will be
+C<sub CLONE_SKIP { 1 }> at the top of the class, and C<DESTROY()> will
now only be called once per object. Of course, if the child thread needs
to make use of the objects, then a more sophisticated approach is
needed.
Like C<CLONE>, C<CLONE_SKIP> is currently called with no parameters other
-than the invocant package name, although that may change. Similarly, to
+than the invocand package name, although that may change. Similarly, to
allow for future expansion, the return value should be a single C<0> or
C<1> value.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod b/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod
index 05c2dd5c72b..c7148c0550d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod
@@ -97,7 +97,7 @@ Force byte semantics rather than character semantics
=item charnames
-Define character names for C<\N{named}> string literal escapes
+Access to Unicode character names and named character sequences; also define character names
=item constant
@@ -347,7 +347,7 @@ CGI routines for writing to the HTTPD (or other) error log
=item CGI::Cookie
-Interface to Netscape Cookies
+Interface to HTTP Cookies
=item CGI::Fast
@@ -393,6 +393,38 @@ Utility for CPAN::Config file Initialization
Interface between CPAN.pm and Kwalify.pm
+=item CPAN::Meta
+
+The distribution metadata for a CPAN dist
+
+=item CPAN::Meta::Converter
+
+Convert CPAN distribution metadata structures
+
+=item CPAN::Meta::Feature
+
+An optional feature provided by a CPAN distribution
+
+=item CPAN::Meta::History
+
+History of CPAN Meta Spec changes
+
+=item CPAN::Meta::Prereqs
+
+A set of distribution prerequisites by phase and type
+
+=item CPAN::Meta::Spec
+
+Specification for CPAN distribution metadata
+
+=item CPAN::Meta::Validator
+
+Validate CPAN distribution metadata structures
+
+=item CPAN::Meta::YAML
+
+Read and write a subset of YAML for CPAN Meta files
+
=item CPAN::Nox
Wrapper around CPAN.pm without using any XS module
@@ -439,11 +471,7 @@ Documentation on how to write your own plugins
=item Carp
-Warn of errors (from perspective of caller)
-
-=item Class::ISA
-
-Report the search path for a class's ISA tree
+Alternative warn and die for modules
=item Class::Struct
@@ -515,7 +543,7 @@ Stringified perl data structures, suitable for both printing and C<eval>
=item Devel::DProf
-A Perl code profiler
+A B<DEPRECATED> Perl code profiler
=item Devel::InnerPackage
@@ -821,6 +849,10 @@ Frequently Asked Questions About MakeMaker
Writing a module with MakeMaker
+=item ExtUtils::MakeMaker::YAML
+
+Clone of YAML::Tiny
+
=item ExtUtils::Manifest
Utilities to write and check a MANIFEST file
@@ -973,6 +1005,10 @@ Extended processing of command line options
Process single-character switches with switch clustering
+=item HTTP::Tiny
+
+A small, simple, correct HTTP/1.1 client
+
=item Hash::Util
A selection of general-utility hash subroutines
@@ -1137,6 +1173,14 @@ SysV Shared Memory IPC object class
System V IPC constants and system calls
+=item JSON::PP
+
+JSON::XS compatible pure-Perl module.
+
+=item JSON::PP::Boolean
+
+Dummy module providing JSON::PP::Boolean
+
=item List::Util
A selection of general-utility list subroutines
@@ -1145,26 +1189,62 @@ A selection of general-utility list subroutines
Indicate if List::Util was compiled with a C compiler
+=item Locale::Codes
+
+A distribution of modules to handle locale codes
+
+=item Locale::Codes::Changes
+
+Details important changes after 2.07
+
+=item Locale::Codes::Country
+
+Country codes for the Locale::Country module
+
+=item Locale::Codes::Currency
+
+Currency codes for the Locale::Currency module
+
+=item Locale::Codes::Language
+
+Language codes for the Locale::Language module
+
+=item Locale::Codes::Script
+
+Script codes for the Locale::Script module
+
=item Locale::Constants
Constants for Locale codes
=item Locale::Country
-ISO codes for country identification (ISO 3166)
+Standard codes for country identification
=item Locale::Currency
-ISO three letter codes for currency identification (ISO 4217)
+Standard codes for currency identification
=item Locale::Language
-ISO two letter codes for language identification (ISO 639)
+Standard codes for language identification
=item Locale::Maketext
Framework for localization
+=item Locale::Maketext::Cookbook
+
+Recipes for using Locale::Maketext
+
+=item Locale::Maketext::Guts
+
+Deprecated module to load Locale::Maketext utf8 code
+
+=item Locale::Maketext::GutsLoader
+
+Deprecated module to load Locale::Maketext utf8 code
+
=item Locale::Maketext::Simple
Simple interface to Locale::Maketext::Lexicon
@@ -1175,7 +1255,7 @@ Article about software localization
=item Locale::Script
-ISO codes for script identification (ISO 15924)
+Standard codes for script identification
=item Log::Message
@@ -1303,7 +1383,7 @@ Examples of Module::Build Usage
=item Module::Build::ModuleInfo
-Gather package and POD information from a perl module file
+DEPRECATED
=item Module::Build::Notes
@@ -1369,6 +1449,14 @@ Builder class for Mac OS X platform
Builder class for OS/2 platform
+=item Module::Build::Version
+
+DEPRECATED
+
+=item Module::Build::YAML
+
+DEPRECATED
+
=item Module::CoreList
What modules shipped with versions of perl
@@ -1385,6 +1473,10 @@ Looking up module information / loading at runtime
Mark modules as loaded or unloaded
+=item Module::Metadata
+
+Gather package and POD information from perl module files
+
=item Module::Pluggable
Automatically give your module the ability to have plugins
@@ -1491,7 +1583,11 @@ A generic input parsing/checking mechanism.
=item Parse::CPAN::Meta
-Parse META.yml and other similar CPAN metadata files
+Parse META.yml and META.json CPAN metadata files
+
+=item Perl::OSType
+
+Map Perl operating system names to generic types
=item PerlIO
@@ -1605,10 +1701,6 @@ Let Perldoc render Pod as XML
Convert POD data to formatted ASCII text
-=item Pod::Plainer
-
-Perl extension for converting Pod to old-style Pod.
-
=item Pod::Select
Extract selected sections of POD from input
@@ -1753,10 +1845,6 @@ Load the C socket.h defines and structure manipulators
Persistence for Perl data structures
-=item Switch
-
-A switch statement for Perl
-
=item Symbol
Manipulate Perl symbols and their names
@@ -1777,13 +1865,13 @@ Win32 support for Sys::Syslog
Base class that provides common functionality to L<TAP::Parser>
-=item TAP::Formatter::Color
+=item TAP::Formatter::Base
-Run Perl test scripts with color
+Base class for harness output delegates
-=item TAP::Formatter::Console
+=item TAP::Formatter::Color
-Harness output delegate for default console output
+Run Perl test scripts with color
=item TAP::Formatter::Console
@@ -1831,23 +1919,23 @@ A grammar for the Test Anything Protocol.
=item TAP::Parser::Iterator
-Internal base class for TAP::Parser Iterators
+Base class for TAP source iterators
=item TAP::Parser::Iterator::Array
-Internal TAP::Parser array Iterator
+Iterator for array-based TAP sources
=item TAP::Parser::Iterator::Process
-Internal TAP::Parser Iterator
+Iterator for process-based TAP sources
=item TAP::Parser::Iterator::Stream
-Internal TAP::Parser Iterator
+Iterator for filehandle-based TAP sources
=item TAP::Parser::IteratorFactory
-Internal TAP::Parser Iterator
+Figures out which SourceHandler objects to use for a given Source
=item TAP::Parser::Multiplexer
@@ -1907,11 +1995,31 @@ A no-op job.
=item TAP::Parser::Source
-Stream output from some source
+A TAP source & meta data about it
+
+=item TAP::Parser::SourceHandler
+
+Base class for different TAP source handlers
+
+=item TAP::Parser::SourceHandler::Executable
+
+Stream output from an executable TAP source
+
+=item TAP::Parser::SourceHandler::File
+
+Stream TAP from a text file.
+
+=item TAP::Parser::SourceHandler::Handle
+
+Stream TAP from an IO::Handle or a GLOB.
+
+=item TAP::Parser::SourceHandler::Perl
-=item TAP::Parser::Source::Perl
+Stream TAP from a Perl executable
-Stream Perl output
+=item TAP::Parser::SourceHandler::RawTAP
+
+Stream output from raw TAP in a scalar/array ref.
=item TAP::Parser::Utils
@@ -2093,6 +2201,34 @@ Base class for ALL classes (blessed references)
Unicode Collation Algorithm
+=item Unicode::Collate::CJK::Big5
+
+Weighting CJK Unified Ideographs
+
+=item Unicode::Collate::CJK::GB2312
+
+Weighting CJK Unified Ideographs
+
+=item Unicode::Collate::CJK::JISX0208
+
+Weighting JIS KANJI for Unicode::Collate
+
+=item Unicode::Collate::CJK::Korean
+
+Weighting CJK Unified Ideographs
+
+=item Unicode::Collate::CJK::Pinyin
+
+Weighting CJK Unified Ideographs
+
+=item Unicode::Collate::CJK::Stroke
+
+Weighting CJK Unified Ideographs
+
+=item Unicode::Collate::Locale
+
+Linguistic tailoring for DUCET via Unicode::Collate
+
=item Unicode::Normalize
Unicode Normalization Forms
@@ -2117,6 +2253,10 @@ Perl extension to manipulate DCL symbols
Standard I/O functions via VMS extensions
+=item Version::Requirements
+
+A set of version requirements for a CPAN dist
+
=item Win32
Interfaces to some Win32 API Functions
@@ -2133,10 +2273,6 @@ Win32 CORE function stubs
Test the perl C API
-=item XS::APItest::KeywordRPN
-
-Write arithmetic expressions in RPN
-
=item XS::Typemap
Module to test the XS typemaps distributed with perl
@@ -3397,6 +3533,8 @@ old behavior if people rely on it. Document incompatible changes.
=back
+=back
+
=head2 Guidelines for Converting Perl 4 Library Scripts into Modules
=over 4
@@ -3495,8 +3633,6 @@ or
=back
-=back
-
=head1 NOTE
Perl does not enforce private and public parts of its modules as you may
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod b/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod
index f3cbe8e7bb8..44dea99e10b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod
@@ -104,7 +104,7 @@ libwww-perl (LWP) which lets Perl programs behave like web browsers:
mod_perl (just the perl portion; the actual DSO will be released
soon with Apache/iX 1.3.12 from bixby.org). This module allows you to
write high performance persistent Perl CGI scripts and all sorts of
-cool things. (http://perl.apache.org/)
+cool things. (L<http://perl.apache.org/>)
and much much more hiding under /PERL/PUB/.cpan/
@@ -117,7 +117,7 @@ installing of add-on packages:
2. perl -MCPAN -e shell
3. Ignore any terminal I/O related complaints!
-(http://search.cpan.org/dist/CPAN/)
+(L<http://search.cpan.org/dist/CPAN/>)
=back
@@ -151,12 +151,12 @@ Migrated from cccd.edu to bixby.org.
=head1 Welcome to Perl/iX
This is the official home page for the HP e3000 MPE/iX
-( http://www.hp.com/go/e3000 ) port of the Perl scripting
-language ( http://www.perl.com/ ) which gives you all of the power of C,
+( L<http://www.hp.com/go/e3000> ) port of the Perl scripting
+language ( L<http://www.perl.com/> ) which gives you all of the power of C,
awk, sed, and sh in a single language. Check here for the latest news,
implemented functionality, known bugs, to-do list, etc. Status reports
about major milestones will also be posted to the HP3000-L mailing list
-( http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU ) and
+( L<http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU> ) and
its associated gatewayed newsgroup comp.sys.hp.mpe.
I'm doing this port because I can't live without Perl on the Unix
@@ -164,14 +164,14 @@ machines that I administer, and I want to have the same power
available to me on MPE.
Please send your comments, questions, and bug reports directly to me,
-Mark Bixby ( http://www.bixby.org/mark/ ). Or just post them to HP3000-L.
+Mark Bixby ( L<http://www.bixby.org/mark/> ). Or just post them to HP3000-L.
The platform I'm using to do this port is an HP 3000 957RX running
MPE/iX 6.0 and using the GNU gcc C compiler
-( http://jazz.external.hp.com/src/gnu/gnuframe.html ).
+( L<http://jazz.external.hp.com/src/gnu/gnuframe.html> ).
The combined porting wisdom from all of my ports can be found in my
-MPE/iX Porting Guide (http://www.bixby.org/mark/porting.html).
+MPE/iX Porting Guide (L<http://www.bixby.org/mark/porting.html>).
IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL of
the software you download from bixby.org is my personal freeware that
@@ -189,7 +189,7 @@ MPE/iX 5.0 or earlier, nor does it run on "classic" MPE/V machines.
=item *
If you wish to recompile Perl, you must install both GNUCORE and
-GNUGCC from jazz (http://jazz.external.hp.com/src/gnu/gnuframe.html).
+GNUGCC from jazz (L<http://jazz.external.hp.com/src/gnu/gnuframe.html>).
=item *
@@ -205,9 +205,9 @@ to _getenv_libc.
=item *
If you will be compiling Perl/iX yourself, you will also need
-Syslog/iX ( http://www.bixby.org/mark/syslogix.html ) and the
+Syslog/iX ( L<http://www.bixby.org/mark/syslogix.html> ) and the
/BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX
-( http://www.bixby.org/mark/bindix.html ).
+( L<http://www.bixby.org/mark/bindix.html> ).
=back
@@ -418,9 +418,9 @@ equivalent symbolic link) as the first line. Use the chmod command to
make sure that your script has execute permission. Run your script!
Be sure to take a look at the CPAN module list
-( http://www.cpan.org/CPAN.html ). A wide variety of free Perl software
+( L<http://www.cpan.org/CPAN.html> ). A wide variety of free Perl software
is available. You can automatically download these packages by using
-the CPAN module ( http://search.cpan.org/dist/CPAN/ ).
+the CPAN module ( L<http://search.cpan.org/dist/CPAN/> ).
=head1 MPE/iX Implementation Considerations
@@ -707,5 +707,5 @@ Porting begins.
=head1 AUTHOR
-Mark Bixby, http://www.bixby.org/mark/
+Mark Bixby, L<http://www.bixby.org/mark/>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod b/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod
index 2200becded2..74bd9b2a77d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod
@@ -54,8 +54,12 @@ function - the parameter is provided to allow your implementation to track
depth if it needs to recurse.
The function should return a reference to an array containing the parent
-classes in order. The caller is responsible for incrementing the reference
-count if it wants to keep the structure. Hence if you have created a
+classes in order. The names of the classes should be the result of calling
+C<HvENAME()> on the stash. In those cases where C<HvENAME()> returns null,
+C<HvNAME()> should be used instead.
+
+The caller is responsible for incrementing the reference count of the array
+returned if it wants to keep the structure. Hence, if you have created a
temporary value that you keep no pointer to, C<sv_2mortal()> to ensure that
it is disposed of correctly. If you have cached your return value, then
return a pointer to it without changing the reference count.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlnetware.pod b/Master/tlpkg/tlperl/lib/pods/perlnetware.pod
index 1e92b84890a..6720a58212a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlnetware.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlnetware.pod
@@ -48,14 +48,25 @@ sets the build type to Release by default.
This is used to set the build type to debug or release. Change the
build type only after executing SetNWBld.bat
-=item *
-
Example:
- 1. Typing "buildtype d on" at the command prompt causes the buildtype
- to be set to Debug type with D2 flag set.
- 2. Typing "buildtype d off" or "buildtype d" at the command prompt causes
- the buildtype to be set to Debug type with D1 flag set.
- 2. Typing "buildtype r" at the command prompt sets it to Release Build type.
+
+=over
+
+=item 1.
+
+Typing "buildtype d on" at the command prompt causes the buildtype
+to be set to Debug type with D2 flag set.
+
+=item 2.
+
+Typing "buildtype d off" or "buildtype d" at the command prompt causes
+the buildtype to be set to Debug type with D1 flag set.
+
+=item 3.
+
+Typing "buildtype r" at the command prompt sets it to Release Build type.
+
+=back
=back
@@ -64,7 +75,7 @@ Example:
The make process runs only under WinNT shell. The NetWare makefile is
located under the NetWare folder. This makes use of miniperl.exe to
run some of the Perl scripts. To create miniperl.exe, first set the
-required paths for Visual c++ compilier (specify vcvars32 location) at
+required paths for Visual c++ compiler (specify vcvars32 location) at
the command prompt. Then run nmake from win32 folder through WinNT
command prompt. The build process can be stopped after miniperl.exe
is created. Then run nmake from NetWare folder through WinNT command
@@ -107,8 +118,8 @@ I<sys:\perl\system> folder. Copy this to I<sys:\system> folder.
Example: At the command prompt Type "nmake nwinstall".
This will install NetWare Perl on the NetWare Server.
- Similiarly if you type "nmake install",
- This will cause the binaries to be installed on the local machine.
+ Similarly, if you type "nmake install",
+ this will cause the binaries to be installed on the local machine.
(Typically under the c:\perl folder)
=head1 BUILD NEW EXTENSIONS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlobj.pod b/Master/tlpkg/tlperl/lib/pods/perlobj.pod
index fdecd84a688..850225f64a9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlobj.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlobj.pod
@@ -576,7 +576,7 @@ destructed. Plain refs are only garbage-collected if the destruct level
is greater than 0. You can test the higher levels of global destruction
by setting the PERL_DESTRUCT_LEVEL environment variable, presuming
C<-DDEBUGGING> was enabled during perl build time.
-See L<perlhack/PERL_DESTRUCT_LEVEL> for more information.
+See L<perlhacktips/PERL_DESTRUCT_LEVEL> for more information.
A more complete garbage collection strategy will be implemented
at a future date.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlop.pod b/Master/tlpkg/tlperl/lib/pods/perlop.pod
index ebe32fb3102..665a6b58aba 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlop.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlop.pod
@@ -152,7 +152,7 @@ value.
Note that just as in C, Perl doesn't define B<when> the variable is
incremented or decremented. You just know it will be done sometime
before or after the value is returned. This also means that modifying
-a variable twice in the same statement will lead to undefined behaviour.
+a variable twice in the same statement will lead to undefined behavior.
Avoid statements like:
$i = $i ++;
@@ -168,10 +168,10 @@ has a value that is not the empty string and matches the pattern
C</^[a-zA-Z]*[0-9]*\z/>, the increment is done as a string, preserving each
character within its range, with carry:
- print ++($foo = '99'); # prints '100'
- print ++($foo = 'a0'); # prints 'a1'
- print ++($foo = 'Az'); # prints 'Ba'
- print ++($foo = 'zz'); # prints 'aaa'
+ print ++($foo = "99"); # prints "100"
+ print ++($foo = "a0"); # prints "a1"
+ print ++($foo = "Az"); # prints "Ba"
+ print ++($foo = "zz"); # prints "aaa"
C<undef> is always treated as numeric, and in particular is changed
to C<0> before incrementing (so that a post-increment of an undef value
@@ -194,11 +194,12 @@ Unary "!" performs logical negation, i.e., "not". See also C<not> for a lower
precedence version of this.
X<!>
-Unary "-" performs arithmetic negation if the operand is numeric. If
-the operand is an identifier, a string consisting of a minus sign
-concatenated with the identifier is returned. Otherwise, if the string
-starts with a plus or minus, a string starting with the opposite sign
-is returned. One effect of these rules is that -bareword is equivalent
+Unary "-" performs arithmetic negation if the operand is numeric,
+including any string that looks like a number. If the operand is
+an identifier, a string consisting of a minus sign concatenated
+with the identifier is returned. Otherwise, if the string starts
+with a plus or minus, a string starting with the opposite sign is
+returned. One effect of these rules is that -bareword is equivalent
to the string "-bareword". If, however, the string begins with a
non-alphabetic character (excluding "+" or "-"), Perl will attempt to convert
the string to a numeric and the arithmetic negation is performed. If the
@@ -211,9 +212,15 @@ example, C<0666 & ~027> is 0640. (See also L<Integer Arithmetic> and
L<Bitwise String Operators>.) Note that the width of the result is
platform-dependent: ~0 is 32 bits wide on a 32-bit platform, but 64
bits wide on a 64-bit platform, so if you are expecting a certain bit
-width, remember to use the & operator to mask off the excess bits.
+width, remember to use the "&" operator to mask off the excess bits.
X<~> X<negation, binary>
+When complementing strings, if all characters have ordinal values under
+256, then their complements will, also. But if they do not, all
+characters will be in either 32- or 64-bit complements, depending on your
+architecture. So for example, C<~"\x{3B1}"> is C<"\x{FFFF_FC4E}"> on
+32-bit machines and C<"\x{FFFF_FFFF_FFFF_FC4E}"> on 64-bit machines.
+
Unary "+" has no effect whatsoever, even on strings. It is useful
syntactically for separating a function name from a parenthesized expression
that would otherwise be interpreted as the complete list of function
@@ -235,9 +242,12 @@ of operation work on some other string. The right argument is a search
pattern, substitution, or transliteration. The left argument is what is
supposed to be searched, substituted, or transliterated instead of the default
$_. When used in scalar context, the return value generally indicates the
-success of the operation. Behavior in list context depends on the particular
-operator. See L</"Regexp Quote-Like Operators"> for details and
-L<perlretut> for examples using these operators.
+success of the operation. The exceptions are substitution (s///)
+and transliteration (y///) with the C</r> (non-destructive) option,
+which cause the B<r>eturn value to be the result of the substitution.
+Behavior in list context depends on the particular operator.
+See L</"Regexp Quote-Like Operators"> for details and L<perlretut> for
+examples using these operators.
If the right argument is an expression rather than a search pattern,
substitution, or transliteration, it is interpreted as a search pattern at run
@@ -251,6 +261,9 @@ pattern C<\>, which it will consider a syntax error.
Binary "!~" is just like "=~" except the return value is negated in
the logical sense.
+Binary "!~" with a non-destructive substitution (s///r) or transliteration
+(y///r) is a syntax error.
+
=head2 Multiplicative Operators
X<operator, multiplicative>
@@ -503,17 +516,20 @@ Although it has no direct equivalent in C, Perl's C<//> operator is related
to its C-style or. In fact, it's exactly the same as C<||>, except that it
tests the left hand side's definedness instead of its truth. Thus, C<$a // $b>
is similar to C<defined($a) || $b> (except that it returns the value of C<$a>
-rather than the value of C<defined($a)>) and is exactly equivalent to
-C<defined($a) ? $a : $b>. This is very useful for providing default values
-for variables. If you actually want to test if at least one of C<$a> and
-C<$b> is defined, use C<defined($a // $b)>.
+rather than the value of C<defined($a)>) and yields the same result as
+C<defined($a) ? $a : $b> (except that the ternary-operator form can be
+used as a lvalue, while C<$a // $b> cannot). This is very useful for
+providing default values for variables. If you actually want to test if
+at least one of C<$a> and C<$b> is defined, use C<defined($a // $b)>.
The C<||>, C<//> and C<&&> operators return the last value evaluated
(unlike C's C<||> and C<&&>, which return 0 or 1). Thus, a reasonably
portable way to find out the home directory might be:
- $home = $ENV{'HOME'} // $ENV{'LOGDIR'} //
- (getpwuid($<))[7] // die "You're homeless!\n";
+ $home = $ENV{HOME}
+ // $ENV{LOGDIR}
+ // (getpwuid($<))[7]
+ // die "You're homeless!\n";
In particular, this means that you shouldn't use this
for selecting between two aggregates for assignment:
@@ -602,7 +618,7 @@ Examples:
As a scalar operator:
if (101 .. 200) { print; } # print 2nd hundred lines, short for
- # if ($. == 101 .. $. == 200) { print; }
+ # if ($. == 101 .. $. == 200) { print; }
next LINE if (1 .. /^$/); # skip header lines, short for
# next LINE if ($. == 1 .. /^$/);
@@ -651,15 +667,15 @@ The range operator (in list context) makes use of the magical
auto-increment algorithm if the operands are strings. You
can say
- @alphabet = ('A' .. 'Z');
+ @alphabet = ("A" .. "Z");
to get all normal letters of the English alphabet, or
- $hexdigit = (0 .. 9, 'a' .. 'f')[$num & 15];
+ $hexdigit = (0 .. 9, "a" .. "f")[$num & 15];
to get a hexadecimal digit, or
- @z2 = ('01' .. '31'); print $z2[$mday];
+ @z2 = ("01" .. "31"); print $z2[$mday];
to get dates with leading zeros.
@@ -668,16 +684,23 @@ increment would produce, the sequence goes until the next value would
be longer than the final value specified.
If the initial value specified isn't part of a magical increment
-sequence (that is, a non-empty string matching "/^[a-zA-Z]*[0-9]*\z/"),
+sequence (that is, a non-empty string matching C</^[a-zA-Z]*[0-9]*\z/>),
only the initial value will be returned. So the following will only
return an alpha:
- use charnames 'greek';
+ use charnames "greek";
my @greek_small = ("\N{alpha}" .. "\N{omega}");
-To get lower-case greek letters, use this instead:
+To get the 25 traditional lowercase Greek letters, including both sigmas,
+you could use this instead:
- my @greek_small = map { chr } ( ord("\N{alpha}") .. ord("\N{omega}") );
+ use charnames "greek";
+ my @greek_small = map { chr }
+ ord "\N{alpha}" .. ord "\N{omega}";
+
+However, because there are I<many> other lowercase Greek characters than
+just those, to match lowercase Greek characters in a regular expression,
+you would use the pattern C</(?:(?=\p{Greek})\p{Lower})+/>.
Because each operand is evaluated in integer form, C<2.18 .. 3.14> will
return two elements in list context.
@@ -693,7 +716,7 @@ argument before the : is returned, otherwise the argument after the :
is returned. For example:
printf "I have %d dog%s.\n", $n,
- ($n == 1) ? '' : "s";
+ ($n == 1) ? "" : "s";
Scalar or list context propagates downward into the 2nd
or 3rd argument, whichever is selected.
@@ -756,7 +779,7 @@ Modifying an assignment is equivalent to doing the assignment and
then modifying the variable that was assigned to. This is useful
for modifying a copy of something, like this:
- ($tmp = $global) =~ tr [A-Z] [a-z];
+ ($tmp = $global) =~ tr [0-9] [a-j];
Likewise,
@@ -772,6 +795,72 @@ lvalues assigned to, and a list assignment in scalar context returns
the number of elements produced by the expression on the right hand
side of the assignment.
+=head2 The Triple-Dot Operator
+X<...> X<... operator> X<yada-yada operator> X<whatever operator>
+X<triple-dot operator>
+
+The triple-dot operator, C<...>, sometimes called the "whatever operator", the
+"yada-yada operator", or the "I<et cetera>" operator, is a placeholder for
+code. Perl parses it without error, but when you try to execute a whatever,
+it throws an exception with the text C<Unimplemented>:
+
+ sub unimplemented { ... }
+
+ eval { unimplemented() };
+ if ($@ eq "Unimplemented" ) {
+ say "Oh look, an exception--whatever.";
+ }
+
+You can only use the triple-dot operator to stand in for a complete statement.
+These examples of the triple-dot work:
+
+ { ... }
+
+ sub foo { ... }
+
+ ...;
+
+ eval { ... };
+
+ sub foo {
+ my ($self) = shift;
+ ...;
+ }
+
+ do {
+ my $variable;
+ ...;
+ say "Hurrah!";
+ } while $cheering;
+
+The yada-yada--or whatever--cannot stand in for an expression that is
+part of a larger statement since the C<...> is also the three-dot version
+of the binary range operator (see L<Range Operators>). These examples of
+the whatever operator are still syntax errors:
+
+ print ...;
+
+ open(PASSWD, ">", "/dev/passwd") or ...;
+
+ if ($condition && ...) { say "Hello" }
+
+There are some cases where Perl can't immediately tell the difference
+between an expression and a statement. For instance, the syntax for a
+block and an anonymous hash reference constructor look the same unless
+there's something in the braces that give Perl a hint. The whatever
+is a syntax error if Perl doesn't guess that the C<{ ... }> is a
+block. In that case, it doesn't think the C<...> is the whatever
+because it's expecting an expression instead of a statement:
+
+ my @transformed = map { ... } @input; # syntax error
+
+You can use a C<;> inside your block to denote that the C<{ ... }> is
+a block and not a hash reference constructor. Now the whatever works:
+
+ my @transformed = map {; ... } @input; # ; disambiguates
+
+ my @transformed = map { ...; } @input; # ; disambiguates
+
=head2 Comma Operator
X<comma> X<operator, comma> X<,>
@@ -788,7 +877,7 @@ its left operand to be interpreted as a string if it begins with a letter
or underscore and is composed only of letters, digits and underscores.
This includes operands that might otherwise be interpreted as operators,
constants, single number v-strings or function calls. If in doubt about
-this behaviour, the left operand can be quoted explicitly.
+this behavior, the left operand can be quoted explicitly.
Otherwise, the C<< => >> operator behaves exactly as the comma operator
or list argument separator, according to context.
@@ -813,78 +902,17 @@ between keys and values in hashes, and other paired elements in lists.
%hash = ( $key => $value );
login( $username => $password );
-=head2 Yada Yada Operator
-X<...> X<... operator> X<yada yada operator>
-
-The yada yada operator (noted C<...>) is a placeholder for code. Perl
-parses it without error, but when you try to execute a yada yada, it
-throws an exception with the text C<Unimplemented>:
-
- sub unimplemented { ... }
-
- eval { unimplemented() };
- if( $@ eq 'Unimplemented' ) {
- print "I found the yada yada!\n";
- }
-
-You can only use the yada yada to stand in for a complete statement.
-These examples of the yada yada work:
-
- { ... }
-
- sub foo { ... }
-
- ...;
-
- eval { ... };
-
- sub foo {
- my( $self ) = shift;
-
- ...;
- }
-
- do { my $n; ...; print 'Hurrah!' };
-
-The yada yada cannot stand in for an expression that is part of a
-larger statement since the C<...> is also the three-dot version of the
-range operator (see L<Range Operators>). These examples of the yada
-yada are still syntax errors:
-
- print ...;
-
- open my($fh), '>', '/dev/passwd' or ...;
-
- if( $condition && ... ) { print "Hello\n" };
-
-There are some cases where Perl can't immediately tell the difference
-between an expression and a statement. For instance, the syntax for a
-block and an anonymous hash reference constructor look the same unless
-there's something in the braces that give Perl a hint. The yada yada
-is a syntax error if Perl doesn't guess that the C<{ ... }> is a
-block. In that case, it doesn't think the C<...> is the yada yada
-because it's expecting an expression instead of a statement:
-
- my @transformed = map { ... } @input; # syntax error
-
-You can use a C<;> inside your block to denote that the C<{ ... }> is
-a block and not a hash reference constructor. Now the yada yada works:
-
- my @transformed = map {; ... } @input; # ; disambiguates
-
- my @transformed = map { ...; } @input; # ; disambiguates
-
=head2 List Operators (Rightward)
X<operator, list, rightward> X<list operator>
-On the right side of a list operator, it has very low precedence,
+On the right side of a list operator, the comma has very low precedence,
such that it controls all comma-separated expressions found there.
The only operators with lower precedence are the logical operators
"and", "or", and "not", which may be used to evaluate calls to list
operators without the need for extra parentheses:
- open HANDLE, "filename"
- or die "Can't open: $!\n";
+ open HANDLE, "< $file"
+ or die "Can't open $file: $!\n";
See also discussion of list operators in L<Terms and List Operators (Leftward)>.
@@ -898,8 +926,8 @@ It's the equivalent of "!" except for the very low precedence.
X<operator, logical, and> X<and>
Binary "and" returns the logical conjunction of the two surrounding
-expressions. It's equivalent to && except for the very low
-precedence. This means that it short-circuits: i.e., the right
+expressions. It's equivalent to C<&&> except for the very low
+precedence. This means that it short-circuits: the right
expression is evaluated only if the left expression is true.
=head2 Logical or, Defined or, and Exclusive Or
@@ -908,21 +936,22 @@ X<operator, logical, defined or> X<operator, logical, exclusive or>
X<or> X<xor>
Binary "or" returns the logical disjunction of the two surrounding
-expressions. It's equivalent to || except for the very low precedence.
-This makes it useful for control flow
+expressions. It's equivalent to C<||> except for the very low precedence.
+This makes it useful for control flow:
print FH $data or die "Can't write to FH: $!";
-This means that it short-circuits: i.e., the right expression is evaluated
-only if the left expression is false. Due to its precedence, you should
-probably avoid using this for assignment, only for control flow.
+This means that it short-circuits: the right expression is evaluated
+only if the left expression is false. Due to its precedence, you must
+be careful to avoid using it as replacement for the C<||> operator.
+It usually works out better for flow control than in assignments:
$a = $b or $c; # bug: this is wrong
($a = $b) or $c; # really means this
$a = $b || $c; # better written this way
However, when it's a list-context assignment and you're trying to use
-"||" for control flow, you probably need "or" so that the assignment
+C<||> for control flow, you probably need "or" so that the assignment
takes higher precedence.
@info = stat($file) || die; # oops, scalar sense of stat!
@@ -931,7 +960,7 @@ takes higher precedence.
Then again, you could always use parentheses.
Binary "xor" returns the exclusive-OR of the two surrounding expressions.
-It cannot short circuit, of course.
+It cannot short-circuit (of course).
=head2 C Operators Missing From Perl
X<operator, missing from perl> X<&> X<*>
@@ -961,7 +990,6 @@ X<operator, quote> X<operator, quote-like> X<q> X<qq> X<qx> X<qw> X<m>
X<qr> X<s> X<tr> X<'> X<''> X<"> X<""> X<//> X<`> X<``> X<<< << >>>
X<escape sequence> X<escape>
-
While we usually think of quotes as literal values, in Perl they
function as operators, providing various kinds of interpolating and
pattern matching capabilities. Perl provides customary quote characters
@@ -978,27 +1006,27 @@ any pair of delimiters you choose.
qr{} Pattern yes*
s{}{} Substitution yes*
tr{}{} Transliteration no (but see below)
+ y{}{} Transliteration no (but see below)
<<EOF here-doc yes*
* unless the delimiter is ''.
Non-bracketing delimiters use the same character fore and aft, but the four
-sorts of brackets (round, angle, square, curly) will all nest, which means
+sorts of ASCII brackets (round, angle, square, curly) all nest, which means
that
- q{foo{bar}baz}
+ q{foo{bar}baz}
is the same as
- 'foo{bar}baz'
+ 'foo{bar}baz'
Note, however, that this does not always work for quoting Perl code:
- $s = q{ if($a eq "}") ... }; # WRONG
+ $s = q{ if($a eq "}") ... }; # WRONG
-is a syntax error. The C<Text::Balanced> module (from CPAN, and
-starting from Perl 5.8 part of the standard distribution) is able
-to do this properly.
+is a syntax error. The C<Text::Balanced> module (standard as of v5.8,
+and from CPAN before then) is able to do this properly.
There can be whitespace between the operator and the quoting
characters, except when C<#> is being used as the quoting character.
@@ -1009,35 +1037,167 @@ from the next line. This allows you to write:
s {foo} # Replace foo
{bar} # with bar.
-The following escape sequences are available in constructs that interpolate
-and in transliterations.
-X<\t> X<\n> X<\r> X<\f> X<\b> X<\a> X<\e> X<\x> X<\0> X<\c> X<\N>
-
- \t tab (HT, TAB)
- \n newline (NL)
- \r return (CR)
- \f form feed (FF)
- \b backspace (BS)
- \a alarm (bell) (BEL)
- \e escape (ESC)
- \033 octal char (example: ESC)
- \x1b hex char (example: ESC)
- \x{263a} wide hex char (example: SMILEY)
- \c[ control char (example: ESC)
- \N{name} named Unicode character
- \N{U+263D} Unicode character (example: FIRST QUARTER MOON)
-
-The character following C<\c> is mapped to some other character by
-converting letters to upper case and then (on ASCII systems) by inverting
-the 7th bit (0x40). The most interesting range is from '@' to '_'
-(0x40 through 0x5F), resulting in a control character from 0x00
-through 0x1F. A '?' maps to the DEL character. On EBCDIC systems only
-'@', the letters, '[', '\', ']', '^', '_' and '?' will work, resulting
-in 0x00 through 0x1F and 0x7F.
-
-C<\N{U+I<wide hex char>}> means the Unicode character whose Unicode ordinal
-number is I<wide hex char>.
-For documentation of C<\N{name}>, see L<charnames>.
+The following escape sequences are available in constructs that interpolate,
+and in transliterations:
+X<\t> X<\n> X<\r> X<\f> X<\b> X<\a> X<\e> X<\x> X<\0> X<\c> X<\N> X<\N{}>
+X<\o{}>
+
+ Sequence Note Description
+ \t tab (HT, TAB)
+ \n newline (NL)
+ \r return (CR)
+ \f form feed (FF)
+ \b backspace (BS)
+ \a alarm (bell) (BEL)
+ \e escape (ESC)
+ \x{263A} [1,8] hex char (example: SMILEY)
+ \x1b [2,8] restricted range hex char (example: ESC)
+ \N{name} [3] named Unicode character or character sequence
+ \N{U+263D} [4,8] Unicode character (example: FIRST QUARTER MOON)
+ \c[ [5] control char (example: chr(27))
+ \o{23072} [6,8] octal char (example: SMILEY)
+ \033 [7,8] restricted range octal char (example: ESC)
+
+=over 4
+
+=item [1]
+
+The result is the character specified by the hexadecimal number between
+the braces. See L</[8]> below for details on which character.
+
+Only hexadecimal digits are valid between the braces. If an invalid
+character is encountered, a warning will be issued and the invalid
+character and all subsequent characters (valid or invalid) within the
+braces will be discarded.
+
+If there are no valid digits between the braces, the generated character is
+the NULL character (C<\x{00}>). However, an explicit empty brace (C<\x{}>)
+will not cause a warning (currently).
+
+=item [2]
+
+The result is the character specified by the hexadecimal number in the range
+0x00 to 0xFF. See L</[8]> below for details on which character.
+
+Only hexadecimal digits are valid following C<\x>. When C<\x> is followed
+by fewer than two valid digits, any valid digits will be zero-padded. This
+means that C<\x7> will be interpreted as C<\x07>, and a lone <\x> will be
+interpreted as C<\x00>. Except at the end of a string, having fewer than
+two valid digits will result in a warning. Note that although the warning
+says the illegal character is ignored, it is only ignored as part of the
+escape and will still be used as the subsequent character in the string.
+For example:
+
+ Original Result Warns?
+ "\x7" "\x07" no
+ "\x" "\x00" no
+ "\x7q" "\x07q" yes
+ "\xq" "\x00q" yes
+
+=item [3]
+
+The result is the Unicode character or character sequence given by I<name>.
+See L<charnames>.
+
+=item [4]
+
+C<\N{U+I<hexadecimal number>}> means the Unicode character whose Unicode code
+point is I<hexadecimal number>.
+
+=item [5]
+
+The character following C<\c> is mapped to some other character as shown in the
+table:
+
+ Sequence Value
+ \c@ chr(0)
+ \cA chr(1)
+ \ca chr(1)
+ \cB chr(2)
+ \cb chr(2)
+ ...
+ \cZ chr(26)
+ \cz chr(26)
+ \c[ chr(27)
+ \c] chr(29)
+ \c^ chr(30)
+ \c? chr(127)
+
+Also, C<\c\I<X>> yields C< chr(28) . "I<X>"> for any I<X>, but cannot come at the
+end of a string, because the backslash would be parsed as escaping the end
+quote.
+
+On ASCII platforms, the resulting characters from the list above are the
+complete set of ASCII controls. This isn't the case on EBCDIC platforms; see
+L<perlebcdic/OPERATOR DIFFERENCES> for the complete list of what these
+sequences mean on both ASCII and EBCDIC platforms.
+
+Use of any other character following the "c" besides those listed above is
+discouraged, and some are deprecated with the intention of removing
+those in Perl 5.16. What happens for any of these
+other characters currently though, is that the value is derived by inverting
+the 7th bit (0x40).
+
+To get platform independent controls, you can use C<\N{...}>.
+
+=item [6]
+
+The result is the character specified by the octal number between the braces.
+See L</[8]> below for details on which character.
+
+If a character that isn't an octal digit is encountered, a warning is raised,
+and the value is based on the octal digits before it, discarding it and all
+following characters up to the closing brace. It is a fatal error if there are
+no octal digits at all.
+
+=item [7]
+
+The result is the character specified by the three-digit octal number in the
+range 000 to 777 (but best to not use above 077, see next paragraph). See
+L</[8]> below for details on which character.
+
+Some contexts allow 2 or even 1 digit, but any usage without exactly
+three digits, the first being a zero, may give unintended results. (For
+example, see L<perlrebackslash/Octal escapes>.) Starting in Perl 5.14, you may
+use C<\o{}> instead, which avoids all these problems. Otherwise, it is best to
+use this construct only for ordinals C<\077> and below, remembering to pad to
+the left with zeros to make three digits. For larger ordinals, either use
+C<\o{}> , or convert to something else, such as to hex and use C<\x{}>
+instead.
+
+Having fewer than 3 digits may lead to a misleading warning message that says
+that what follows is ignored. For example, C<"\128"> in the ASCII character set
+is equivalent to the two characters C<"\n8">, but the warning C<Illegal octal
+digit '8' ignored> will be thrown. To avoid this warning, make sure to pad
+your octal number with C<0>'s: C<"\0128">.
+
+=item [8]
+
+Several constructs above specify a character by a number. That number
+gives the character's position in the character set encoding (indexed from 0).
+This is called synonymously its ordinal, code position, or code point. Perl
+works on platforms that have a native encoding currently of either ASCII/Latin1
+or EBCDIC, each of which allow specification of 256 characters. In general, if
+the number is 255 (0xFF, 0377) or below, Perl interprets this in the platform's
+native encoding. If the number is 256 (0x100, 0400) or above, Perl interprets
+it as a Unicode code point and the result is the corresponding Unicode
+character. For example C<\x{50}> and C<\o{120}> both are the number 80 in
+decimal, which is less than 256, so the number is interpreted in the native
+character set encoding. In ASCII the character in the 80th position (indexed
+from 0) is the letter "P", and in EBCDIC it is the ampersand symbol "&".
+C<\x{100}> and C<\o{400}> are both 256 in decimal, so the number is interpreted
+as a Unicode code point no matter what the native encoding is. The name of the
+character in the 100th position (indexed by 0) in Unicode is
+C<LATIN CAPITAL LETTER A WITH MACRON>.
+
+There are a couple of exceptions to the above rule. C<\N{U+I<hex number>}> is
+always interpreted as a Unicode code point, so that C<\N{U+0050}> is "P" even
+on EBCDIC platforms. And if L<C<S<use encoding>>|encoding> is in effect, the
+number is considered to be in that encoding, and is translated from that into
+the platform's native encoding if there is a corresponding native character;
+otherwise to Unicode.
+
+=back
B<NOTE>: Unlike C and other languages, Perl has no C<\v> escape sequence for
the vertical tab (VT - ASCII 11), but you may use C<\ck> or C<\x0b>. (C<\v>
@@ -1047,26 +1207,35 @@ The following escape sequences are available in constructs that interpolate,
but not in transliterations.
X<\l> X<\u> X<\L> X<\U> X<\E> X<\Q>
- \l lowercase next char
- \u uppercase next char
- \L lowercase till \E
- \U uppercase till \E
- \E end case modification
+ \l lowercase next character only
+ \u titlecase (not uppercase!) next character only
+ \L lowercase all characters till \E seen
+ \U uppercase all characters till \E seen
\Q quote non-word characters till \E
+ \E end either case modification or quoted section
+ (whichever was last seen)
+
+C<\L>, C<\U>, and C<\Q> can stack, in which case you need one
+C<\E> for each. For example:
+
+ say "This \Qquoting \ubusiness \Uhere isn't quite\E done yet,\E is it?";
+ This quoting\ Business\ HERE\ ISN\'T\ QUITE\ done\ yet\, is it?
If C<use locale> is in effect, the case map used by C<\l>, C<\L>,
-C<\u> and C<\U> is taken from the current locale. See L<perllocale>.
-If Unicode (for example, C<\N{}> or wide hex characters of 0x100 or
-beyond) is being used, the case map used by C<\l>, C<\L>, C<\u> and
-C<\U> is as defined by Unicode.
+C<\u>, and C<\U> is taken from the current locale. See L<perllocale>.
+If Unicode (for example, C<\N{}> or code points of 0x100 or
+beyond) is being used, the case map used by C<\l>, C<\L>, C<\u>, and
+C<\U> is as defined by Unicode. That means that case-mapping
+a single character can sometimes produce several characters.
All systems use the virtual C<"\n"> to represent a line terminator,
called a "newline". There is no such thing as an unvarying, physical
newline character. It is only an illusion that the operating system,
device drivers, C libraries, and Perl all conspire to preserve. Not all
systems read C<"\r"> as ASCII CR and C<"\n"> as ASCII LF. For example,
-on a Mac, these are reversed, and on systems without line terminator,
-printing C<"\n"> may emit no actual data. In general, use C<"\n"> when
+on the ancient Macs (pre-MacOS X) of yesteryear, these used to be reversed,
+and on systems without line terminator,
+printing C<"\n"> might emit no actual data. In general, use C<"\n"> when
you mean a "newline" for your system, but use the literal ASCII when you
need an exact character. For example, most networking protocols expect
and prefer a CR+LF (C<"\015\012"> or C<"\cM\cJ">) for line terminators,
@@ -1083,14 +1252,28 @@ But method calls such as C<< $obj->meth >> are not.
Interpolating an array or slice interpolates the elements in order,
separated by the value of C<$">, so is equivalent to interpolating
-C<join $", @array>. "Punctuation" arrays such as C<@*> are only
-interpolated if the name is enclosed in braces C<@{*}>, but special
-arrays C<@_>, C<@+>, and C<@-> are interpolated, even without braces.
+C<join $", @array>. "Punctuation" arrays such as C<@*> are usually
+interpolated only if the name is enclosed in braces C<@{*}>, but the
+arrays C<@_>, C<@+>, and C<@-> are interpolated even without braces.
+
+For double-quoted strings, the quoting from C<\Q> is applied after
+interpolation and escapes are processed.
-You cannot include a literal C<$> or C<@> within a C<\Q> sequence.
-An unescaped C<$> or C<@> interpolates the corresponding variable,
-while escaping will cause the literal string C<\$> to be inserted.
-You'll need to write something like C<m/\Quser\E\@\Qhost/>.
+ "abc\Qfoo\tbar$s\Exyz"
+
+is equivalent to
+
+ "abc" . quotemeta("foo\tbar$s") . "xyz"
+
+For the pattern of regex operators (C<qr//>, C<m//> and C<s///>),
+the quoting from C<\Q> is applied after interpolation is processed,
+but before escapes are processed. This allows the pattern to match
+literally (except for C<$> and C<@>). For example, the following matches:
+
+ '\s\t' =~ /\Q\s\t/
+
+Because C<$> or C<@> trigger interpolation, you'll need to use something
+like C</\Quser\E\@\Qhost/> to match them literally.
Patterns are subject to an additional level of interpretation as a
regular expression. This is done as a second pass, after variables are
@@ -1112,14 +1295,14 @@ matching and related activities.
=over 8
-=item qr/STRING/msixpo
+=item qr/STRING/msixpodual
X<qr> X</i> X</m> X</o> X</s> X</x> X</p>
This operator quotes (and possibly compiles) its I<STRING> as a regular
expression. I<STRING> is interpolated the same way as I<PATTERN>
in C<m/PATTERN/>. If "'" is used as the delimiter, no interpolation
is done. Returns a Perl value which may be used instead of the
-corresponding C</STRING/msixpo> expression. The returned value is a
+corresponding C</STRING/msixpodual> expression. The returned value is a
normalized version of the original pattern. It magically differs from
a string containing the same characters: C<ref(qr/x/)> returns "Regexp",
even though dereferencing the result returns undef.
@@ -1141,7 +1324,7 @@ The result may be used as a subpattern in a match:
$string =~ $re; # or used standalone
$string =~ /$re/; # or this way
-Since Perl may compile the pattern at the moment of execution of qr()
+Since Perl may compile the pattern at the moment of execution of the qr()
operator, using qr() may have speed advantages in some situations,
notably if the result of qr() is used standalone:
@@ -1163,7 +1346,7 @@ time a match C</$pat/> is attempted. (Perl has many other internal
optimizations, but none would be triggered in the above example if
we did not use qr() operator.)
-Options are:
+Options (specified by the following modifiers) are:
m Treat string as multiple lines.
s Treat string as single line. (Make . match a newline)
@@ -1172,62 +1355,92 @@ Options are:
p When matching preserve a copy of the matched string so
that ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be defined.
o Compile pattern only once.
+ l Use the locale
+ u Use Unicode rules
+ a Use ASCII for \d, \s, \w; specifying two a's further restricts
+ /i matching so that no ASCII character will match a non-ASCII
+ one
+ d Use Unicode or native charset, as in 5.12 and earlier
If a precompiled pattern is embedded in a larger pattern then the effect
-of 'msixp' will be propagated appropriately. The effect of the 'o'
+of "msixpluad" will be propagated appropriately. The effect the "o"
modifier has is not propagated, being restricted to those patterns
explicitly using it.
+The last four modifiers listed above, added in Perl 5.14,
+control the character set semantics.
+
See L<perlre> for additional information on valid syntax for STRING, and
-for a detailed look at the semantics of regular expressions.
+for a detailed look at the semantics of regular expressions. In
+particular, all the modifiers execpt C</o> are further explained in
+L<perlre/Modifiers>. C</o> is described in the next section.
-=item m/PATTERN/msixpogc
+=item m/PATTERN/msixpodualgc
X<m> X<operator, match>
X<regexp, options> X<regexp> X<regex, options> X<regex>
X</m> X</s> X</i> X</x> X</p> X</o> X</g> X</c>
-=item /PATTERN/msixpogc
+=item /PATTERN/msixpodualgc
Searches a string for a pattern match, and in scalar context returns
true if it succeeds, false if it fails. If no string is specified
via the C<=~> or C<!~> operator, the $_ string is searched. (The
string specified with C<=~> need not be an lvalue--it may be the
result of an expression evaluation, but remember the C<=~> binds
-rather tightly.) See also L<perlre>. See L<perllocale> for
-discussion of additional considerations that apply when C<use locale>
-is in effect.
+rather tightly.) See also L<perlre>.
-Options are as described in C<qr//>; in addition, the following match
+Options are as described in C<qr//> above; in addition, the following match
process modifiers are available:
- g Match globally, i.e., find all occurrences.
- c Do not reset search position on a failed match when /g is in effect.
+ g Match globally, i.e., find all occurrences.
+ c Do not reset search position on a failed match when /g is in effect.
If "/" is the delimiter then the initial C<m> is optional. With the C<m>
-you can use any pair of non-whitespace characters
+you can use any pair of non-whitespace (ASCII) characters
as delimiters. This is particularly useful for matching path names
that contain "/", to avoid LTS (leaning toothpick syndrome). If "?" is
-the delimiter, then the match-only-once rule of C<?PATTERN?> applies.
+the delimiter, then a match-only-once rule applies,
+described in C<m?PATTERN?> below.
If "'" is the delimiter, no interpolation is performed on the PATTERN.
When using a character valid in an identifier, whitespace is required
after the C<m>.
-PATTERN may contain variables, which will be interpolated (and the
-pattern recompiled) every time the pattern search is evaluated, except
+PATTERN may contain variables, which will be interpolated
+every time the pattern search is evaluated, except
for when the delimiter is a single quote. (Note that C<$(>, C<$)>, and
C<$|> are not interpolated because they look like end-of-string tests.)
-If you want such a pattern to be compiled only once, add a C</o> after
-the trailing delimiter. This avoids expensive run-time recompilations,
-and is useful when the value you are interpolating won't change over
-the life of the script. However, mentioning C</o> constitutes a promise
-that you won't change the variables in the pattern. If you change them,
-Perl won't even notice. See also L<"qr/STRING/msixpo">.
+Perl will not recompile the pattern unless an interpolated
+variable that it contains changes. You can force Perl to skip the
+test and never recompile by adding a C</o> (which stands for "once")
+after the trailing delimiter.
+Once upon a time, Perl would recompile regular expressions
+unnecessarily, and this modifier was useful to tell it not to do so, in the
+interests of speed. But now, the only reasons to use C</o> are either:
+
+=over
+
+=item 1
+
+The variables are thousands of characters long and you know that they
+don't change, and you need to wring out the last little bit of speed by
+having Perl skip testing for that. (There is a maintenance penalty for
+doing this, as mentioning C</o> constitutes a promise that you won't
+change the variables in the pattern. If you change them, Perl won't
+even notice.)
+
+=item 2
+
+you want the pattern to use the initial values of the variables
+regardless of whether they change or not. (But there are saner ways
+of accomplishing this than using C</o>.)
+
+=back
=item The empty pattern //
If the PATTERN evaluates to the empty string, the last
I<successfully> matched regular expression is used instead. In this
-case, only the C<g> and C<c> flags on the empty pattern is honoured -
+case, only the C<g> and C<c> flags on the empty pattern are honored;
the other flags are taken from the original pattern. If no match has
previously succeeded, this will (silently) act instead as a genuine
empty pattern (which will always match).
@@ -1253,7 +1466,9 @@ failure.
Examples:
- open(TTY, '/dev/tty');
+ open(TTY, "+>/dev/tty")
+ || die "can't access /dev/tty: $!";
+
<TTY> =~ /^y/i && foo(); # do foo if desired
if (/Version: *([0-9.]*)/) { $version = $1; }
@@ -1263,42 +1478,44 @@ Examples:
# poor man's grep
$arg = shift;
while (<>) {
- print if /$arg/o; # compile only once
+ print if /$arg/o; # compile only once (no longer needed!)
}
if (($F1, $F2, $Etc) = ($foo =~ /^(\S+)\s+(\S+)\s*(.*)/))
This last example splits $foo into the first two words and the
remainder of the line, and assigns those three fields to $F1, $F2, and
-$Etc. The conditional is true if any variables were assigned, i.e., if
-the pattern matched.
+$Etc. The conditional is true if any variables were assigned; that is,
+if the pattern matched.
The C</g> modifier specifies global pattern matching--that is,
-matching as many times as possible within the string. How it behaves
-depends on the context. In list context, it returns a list of the
+matching as many times as possible within the string. How it behaves
+depends on the context. In list context, it returns a list of the
substrings matched by any capturing parentheses in the regular
-expression. If there are no parentheses, it returns a list of all
+expression. If there are no parentheses, it returns a list of all
the matched strings, as if there were parentheses around the whole
pattern.
In scalar context, each execution of C<m//g> finds the next match,
returning true if it matches, and false if there is no further match.
-The position after the last match can be read or set using the pos()
-function; see L<perlfunc/pos>. A failed match normally resets the
+The position after the last match can be read or set using the C<pos()>
+function; see L<perlfunc/pos>. A failed match normally resets the
search position to the beginning of the string, but you can avoid that
-by adding the C</c> modifier (e.g. C<m//gc>). Modifying the target
+by adding the C</c> modifier (e.g. C<m//gc>). Modifying the target
string also resets the search position.
=item \G assertion
You can intermix C<m//g> matches with C<m/\G.../g>, where C<\G> is a
-zero-width assertion that matches the exact position where the previous
-C<m//g>, if any, left off. Without the C</g> modifier, the C<\G> assertion
-still anchors at pos(), but the match is of course only attempted once.
-Using C<\G> without C</g> on a target string that has not previously had a
-C</g> match applied to it is the same as using the C<\A> assertion to match
-the beginning of the string. Note also that, currently, C<\G> is only
-properly supported when anchored at the very beginning of the pattern.
+zero-width assertion that matches the exact position where the
+previous C<m//g>, if any, left off. Without the C</g> modifier, the
+C<\G> assertion still anchors at C<pos()> as it was at the start of
+the operation (see L<perlfunc/pos>), but the match is of course only
+attempted once. Using C<\G> without C</g> on a target string that has
+not previously had a C</g> match applied to it is the same as using
+the C<\A> assertion to match the beginning of the string. Note also
+that, currently, C<\G> is only properly supported when anchored at the
+very beginning of the pattern.
Examples:
@@ -1306,15 +1523,39 @@ Examples:
($one,$five,$fifteen) = (`uptime` =~ /(\d+\.\d+)/g);
# scalar context
- $/ = "";
- while (defined($paragraph = <>)) {
- while ($paragraph =~ /[a-z]['")]*[.!?]+['")]*\s/g) {
+ local $/ = "";
+ while ($paragraph = <>) {
+ while ($paragraph =~ /\p{Ll}['")]*[.!?]+['")]*\s/g) {
$sentences++;
}
}
- print "$sentences\n";
+ say $sentences;
+
+Here's another way to check for sentences in a paragraph:
+
+ my $sentence_rx = qr{
+ (?: (?<= ^ ) | (?<= \s ) ) # after start-of-string or whitespace
+ \p{Lu} # capital letter
+ .*? # a bunch of anything
+ (?<= \S ) # that ends in non-whitespace
+ (?<! \b [DMS]r ) # but isn't a common abbreviation
+ (?<! \b Mrs )
+ (?<! \b Sra )
+ (?<! \b St )
+ [.?!] # followed by a sentence ender
+ (?= $ | \s ) # in front of end-of-string or whitespace
+ }sx;
+ local $/ = "";
+ while (my $paragraph = <>) {
+ say "NEW PARAGRAPH";
+ my $count = 0;
+ while ($paragraph =~ /($sentence_rx)/g) {
+ printf "\tgot sentence %d: <%s>\n", ++$count, $1;
+ }
+ }
+
+Here's how to use C<m//gc> with C<\G>:
- # using m//gc with \G
$_ = "ppooqppqq";
while ($i++ < 2) {
print "1: '";
@@ -1339,8 +1580,8 @@ The last example should print:
Notice that the final match matched C<q> instead of C<p>, which a match
without the C<\G> anchor would have done. Also note that the final match
did not update C<pos>. C<pos> is only updated on a C</g> match. If the
-final match did indeed match C<p>, it's a good bet that you're running an
-older (pre-5.6.0) Perl.
+final match did indeed match C<p>, it's a good bet that you're running a
+very old (pre-5.6.0) version of Perl.
A useful idiom for C<lex>-like scanners is C</\G.../gc>. You can
combine several regexps like this to process a string part-by-part,
@@ -1348,60 +1589,79 @@ doing different actions depending on which regexp matched. Each
regexp tries to match where the previous one leaves off.
$_ = <<'EOL';
- $url = URI::URL->new( "http://example.com/" ); die if $url eq "xXx";
+ $url = URI::URL->new( "http://example.com/" ); die if $url eq "xXx";
EOL
- LOOP:
- {
- print(" digits"), redo LOOP if /\G\d+\b[,.;]?\s*/gc;
- print(" lowercase"), redo LOOP if /\G[a-z]+\b[,.;]?\s*/gc;
- print(" UPPERCASE"), redo LOOP if /\G[A-Z]+\b[,.;]?\s*/gc;
- print(" Capitalized"), redo LOOP if /\G[A-Z][a-z]+\b[,.;]?\s*/gc;
- print(" MiXeD"), redo LOOP if /\G[A-Za-z]+\b[,.;]?\s*/gc;
- print(" alphanumeric"), redo LOOP if /\G[A-Za-z0-9]+\b[,.;]?\s*/gc;
- print(" line-noise"), redo LOOP if /\G[^A-Za-z0-9]+/gc;
- print ". That's all!\n";
- }
+
+ LOOP: {
+ print(" digits"), redo LOOP if /\G\d+\b[,.;]?\s*/gc;
+ print(" lowercase"), redo LOOP if /\G\p{Ll}+\b[,.;]?\s*/gc;
+ print(" UPPERCASE"), redo LOOP if /\G\p{Lu}+\b[,.;]?\s*/gc;
+ print(" Capitalized"), redo LOOP if /\G\p{Lu}\p{Ll}+\b[,.;]?\s*/gc;
+ print(" MiXeD"), redo LOOP if /\G\pL+\b[,.;]?\s*/gc;
+ print(" alphanumeric"), redo LOOP if /\G[\p{Alpha}\pN]+\b[,.;]?\s*/gc;
+ print(" line-noise"), redo LOOP if /\G\W+/gc;
+ print ". That's all!\n";
+ }
Here is the output (split into several lines):
- line-noise lowercase line-noise lowercase UPPERCASE line-noise
- UPPERCASE line-noise lowercase line-noise lowercase line-noise
- lowercase lowercase line-noise lowercase lowercase line-noise
- MiXeD line-noise. That's all!
+ line-noise lowercase line-noise UPPERCASE line-noise UPPERCASE
+ line-noise lowercase line-noise lowercase line-noise lowercase
+ lowercase line-noise lowercase lowercase line-noise lowercase
+ lowercase line-noise MiXeD line-noise. That's all!
-=item ?PATTERN?
-X<?>
+=item m?PATTERN?msixpodualgc
+X<?> X<operator, match-once>
-This is just like the C</pattern/> search, except that it matches only
-once between calls to the reset() operator. This is a useful
+=item ?PATTERN?msixpodualgc
+
+This is just like the C<m/PATTERN/> search, except that it matches
+only once between calls to the reset() operator. This is a useful
optimization when you want to see only the first occurrence of
-something in each file of a set of files, for instance. Only C<??>
+something in each file of a set of files, for instance. Only C<m??>
patterns local to the current package are reset.
while (<>) {
- if (?^$?) {
+ if (m?^$?) {
# blank line between header and body
}
} continue {
- reset if eof; # clear ?? status for next file
+ reset if eof; # clear m?? status for next file
}
-This usage is vaguely deprecated, which means it just might possibly
-be removed in some distant future version of Perl, perhaps somewhere
-around the year 2168.
+Another example switched the first "latin1" encoding it finds
+to "utf8" in a pod file:
+
+ s//utf8/ if m? ^ =encoding \h+ \K latin1 ?x;
+
+The match-once behavior is controlled by the match delimiter being
+C<?>; with any other delimiter this is the normal C<m//> operator.
+
+For historical reasons, the leading C<m> in C<m?PATTERN?> is optional,
+but the resulting C<?PATTERN?> syntax is deprecated, will warn on
+usage and might be removed from a future stable release of Perl (without
+further notice!).
-=item s/PATTERN/REPLACEMENT/msixpogce
+=item s/PATTERN/REPLACEMENT/msixpodualgcer
X<substitute> X<substitution> X<replace> X<regexp, replace>
-X<regexp, substitute> X</m> X</s> X</i> X</x> X</p> X</o> X</g> X</c> X</e>
+X<regexp, substitute> X</m> X</s> X</i> X</x> X</p> X</o> X</g> X</c> X</e> X</r>
Searches a string for a pattern, and if found, replaces that pattern
with the replacement text and returns the number of substitutions
made. Otherwise it returns false (specifically, the empty string).
+If the C</r> (non-destructive) option is used then it runs the
+substitution on a copy of the string and instead of returning the
+number of substitutions, it returns the copy whether or not a
+substitution occurred. The original string is never changed when
+C</r> is used. The copy will always be a plain string, even if the
+input is an object or a tied variable.
+
If no string is specified via the C<=~> or C<!~> operator, the C<$_>
-variable is searched and modified. (The string specified with C<=~> must
-be scalar variable, an array element, a hash element, or an assignment
-to one of those, i.e., an lvalue.)
+variable is searched and modified. Unless the C</r> option is used,
+the string specified must be a scalar variable, an array element, a
+hash element, or an assignment to one of those; that is, some sort of
+scalar lvalue.
If the delimiter chosen is a single quote, no interpolation is
done on either the PATTERN or the REPLACEMENT. Otherwise, if the
@@ -1411,14 +1671,13 @@ at run-time. If you want the pattern compiled only once the first time
the variable is interpolated, use the C</o> option. If the pattern
evaluates to the empty string, the last successfully executed regular
expression is used instead. See L<perlre> for further explanation on these.
-See L<perllocale> for discussion of additional considerations that apply
-when C<use locale> is in effect.
Options are as with m// with the addition of the following replacement
specific options:
e Evaluate the right side as an expression.
- ee Evaluate the right side as a string then eval the result
+ ee Evaluate the right side as a string then eval the result.
+ r Return substitution and leave the original string untouched.
Any non-whitespace delimiter may replace the slashes. Add space after
the C<s> when using a character allowed in identifiers. If single quotes
@@ -1442,6 +1701,11 @@ Examples:
s/Login: $foo/Login: $bar/; # run-time pattern
($foo = $bar) =~ s/this/that/; # copy first, then change
+ ($foo = "$bar") =~ s/this/that/; # convert to string, copy, then change
+ $foo = $bar =~ s/this/that/r; # Same as above using /r
+ $foo = $bar =~ s/this/that/r
+ =~ s/that/the other/r; # Chained substitutes using /r
+ @foo = map { s/this/that/r } @bar # /r is very useful in maps
$count = ($paragraph =~ s/Mister\b/Mr./g); # get change-count
@@ -1454,6 +1718,10 @@ Examples:
s/%(.)/$percent{$1} || $&/ge; # expr now, so /e
s/^=(\w+)/pod($1)/ge; # use function call
+ $_ = 'abc123xyz';
+ $a = s/abc/def/r; # $a is 'def123xyz' and
+ # $_ remains 'abc123xyz'.
+
# expand variables in $_, but dynamics only, using
# symbolic dereferencing
s/\$(\w+)/${$1}/g;
@@ -1461,6 +1729,9 @@ Examples:
# Add one to the value of any numbers in the string
s/(\d+)/1 + $1/eg;
+ # Titlecase words in the last 30 characters only
+ substr($str, -30) =~ s/\b(\p{Alpha}+)\b/\u\L$1/g;
+
# This will expand any embedded scalar variable
# (including lexicals) in $_ : First $1 is interpolated
# to the variable name, and then evaluated
@@ -1495,6 +1766,14 @@ to occur that you might want. Here are two common cases:
# expand tabs to 8-column spacing
1 while s/\t+/' ' x (length($&)*8 - length($`)%8)/e;
+C<s///le> is treated as a substitution followed by the C<le> operator, not
+the C</le> flags. This may change in a future version of Perl. It
+produces a warning if warnings are enabled. To disambiguate, use a space
+or change the order of the flags:
+
+ s/foo/bar/ le 5; # "le" infix operator
+ s/foo/bar/el; # "e" and "l" flags
+
=back
=head2 Quote-Like Operators
@@ -1570,11 +1849,11 @@ when the program is done:
The STDIN filehandle used by the command is inherited from Perl's STDIN.
For example:
- open BLAM, "blam" || die "Can't open: $!";
- open STDIN, "<&BLAM";
- print `sort`;
+ open(SPLAT, "stuff") || die "can't open stuff: $!";
+ open(STDIN, "<&SPLAT") || die "can't dupe SPLAT: $!";
+ print STDOUT `sort`;
-will print the sorted contents of the file "blam".
+will print the sorted contents of the file named F<"stuff">.
Using single-quote as a delimiter protects the command from Perl's
double-quote interpolation, passing it on to the shell instead:
@@ -1625,7 +1904,7 @@ Evaluates to a list of the words extracted out of STRING, using embedded
whitespace as the word delimiters. It can be understood as being roughly
equivalent to:
- split(' ', q/STRING/);
+ split(" ", q/STRING/);
the differences being that it generates a real list at compile time, and
in scalar context it returns the last element in the list. So
@@ -1635,7 +1914,7 @@ this expression:
is semantically equivalent to the list:
- 'foo', 'bar', 'baz'
+ "foo", "bar", "baz"
Some frequently seen examples:
@@ -1647,31 +1926,41 @@ put comments into a multi-line C<qw>-string. For this reason, the
C<use warnings> pragma and the B<-w> switch (that is, the C<$^W> variable)
produces warnings if the STRING contains the "," or the "#" character.
-
-=item tr/SEARCHLIST/REPLACEMENTLIST/cds
+=item tr/SEARCHLIST/REPLACEMENTLIST/cdsr
X<tr> X<y> X<transliterate> X</c> X</d> X</s>
-=item y/SEARCHLIST/REPLACEMENTLIST/cds
+=item y/SEARCHLIST/REPLACEMENTLIST/cdsr
Transliterates all occurrences of the characters found in the search list
with the corresponding character in the replacement list. It returns
the number of characters replaced or deleted. If no string is
-specified via the =~ or !~ operator, the $_ string is transliterated. (The
-string specified with =~ must be a scalar variable, an array element, a
-hash element, or an assignment to one of those, i.e., an lvalue.)
+specified via the C<=~> or C<!~> operator, the $_ string is transliterated.
+
+If the C</r> (non-destructive) option is present, a new copy of the string
+is made and its characters transliterated, and this copy is returned no
+matter whether it was modified or not: the original string is always
+left unchanged. The new copy is always a plain string, even if the input
+string is an object or a tied variable.
+
+Unless the C</r> option is used, the string specified with C<=~> must be a
+scalar variable, an array element, a hash element, or an assignment to one
+of those; in other words, an lvalue.
A character range may be specified with a hyphen, so C<tr/A-J/0-9/>
does the same replacement as C<tr/ACEGIBDFHJ/0246813579/>.
For B<sed> devotees, C<y> is provided as a synonym for C<tr>. If the
SEARCHLIST is delimited by bracketing quotes, the REPLACEMENTLIST has
-its own pair of quotes, which may or may not be bracketing quotes,
-e.g., C<tr[A-Z][a-z]> or C<tr(+\-*/)/ABCD/>.
-
-Note that C<tr> does B<not> do regular expression character classes
-such as C<\d> or C<[:lower:]>. The C<tr> operator is not equivalent to
-the tr(1) utility. If you want to map strings between lower/upper
-cases, see L<perlfunc/lc> and L<perlfunc/uc>, and in general consider
-using the C<s> operator if you need regular expressions.
+its own pair of quotes, which may or may not be bracketing quotes;
+for example, C<tr[aeiouy][yuoiea]> or C<tr(+\-*/)/ABCD/>.
+
+Note that C<tr> does B<not> do regular expression character classes such as
+C<\d> or C<\pL>. The C<tr> operator is not equivalent to the tr(1)
+utility. If you want to map strings between lower/upper cases, see
+L<perlfunc/lc> and L<perlfunc/uc>, and in general consider using the C<s>
+operator if you need regular expressions. The C<\U>, C<\u>, C<\L>, and
+C<\l> string-interpolation escapes on the right side of a substitution
+operator will perform correct case-mappings, but C<tr[a-z][A-Z]> will not
+(except sometimes on legacy 7-bit data).
Note also that the whole range idea is rather unportable between
character sets--and even within character sets they may cause results
@@ -1685,6 +1974,8 @@ Options:
c Complement the SEARCHLIST.
d Delete found but unreplaced characters.
s Squash duplicate replaced characters.
+ r Return the modified string and leave the original string
+ untouched.
If the C</c> modifier is specified, the SEARCHLIST character set
is complemented. If the C</d> modifier is specified, any characters
@@ -1704,7 +1995,7 @@ squashing character sequences in a class.
Examples:
- $ARGV[1] =~ tr/A-Z/a-z/; # canonicalize to lower case
+ $ARGV[1] =~ tr/A-Z/a-z/; # canonicalize to lower case ASCII
$cnt = tr/*/*/; # count the stars in $_
@@ -1715,11 +2006,18 @@ Examples:
tr/a-zA-Z//s; # bookkeeper -> bokeper
($HOST = $host) =~ tr/a-z/A-Z/;
+ $HOST = $host =~ tr/a-z/A-Z/r; # same thing
+
+ $HOST = $host =~ tr/a-z/A-Z/r # chained with s///r
+ =~ s/:/ -p/r;
tr/a-zA-Z/ /cs; # change non-alphas to single space
+ @stripped = map tr/a-zA-Z/ /csr, @original;
+ # /r with map
+
tr [\200-\377]
- [\000-\177]; # delete 8th bit
+ [\000-\177]; # wickedly delete 8th bit
If multiple transliterations are given for a character, only the
first one is used:
@@ -1781,6 +2079,17 @@ strings except that backslashes have no special meaning, with C<\\>
being treated as two backslashes and not one as they would in every
other quoting construct.
+Just as in the shell, a backslashed bareword following the C<<< << >>>
+means the same thing as a single-quoted string does:
+
+ $cost = <<'VISTA'; # hasta la ...
+ That'll be $10 please, ma'am.
+ VISTA
+
+ $cost = <<\VISTA; # Same thing!
+ That'll be $10 please, ma'am.
+ VISTA
+
This is the only form of quoting in perl where there is no need
to worry about escaping content, something that code generators
can and do make good use of.
@@ -1857,8 +2166,8 @@ If the terminating identifier is on the last line of the program, you
must be sure there is a newline after it; otherwise, Perl will give the
warning B<Can't find string terminator "END" anywhere before EOF...>.
-Additionally, the quoting rules for the end of string identifier are not
-related to Perl's quoting rules. C<q()>, C<qq()>, and the like are not
+Additionally, quoting rules for the end-of-string identifier are
+unrelated to Perl's quoting rules. C<q()>, C<qq()>, and the like are not
supported in place of C<''> and C<"">, and the only interpolation is for
backslashing the quoting character:
@@ -1941,12 +2250,12 @@ C<tr///>), the search is repeated once more.
If the first delimiter is not an opening punctuation, three delimiters must
be same such as C<s!!!> and C<tr)))>, in which case the second delimiter
terminates the left part and starts the right part at once.
-If the left part is delimited by bracketing punctuations (that is C<()>,
+If the left part is delimited by bracketing punctuation (that is C<()>,
C<[]>, C<{}>, or C<< <> >>), the right part needs another pair of
-delimiters such as C<s(){}> and C<tr[]//>. In these cases, whitespaces
+delimiters such as C<s(){}> and C<tr[]//>. In these cases, whitespace
and comments are allowed between both parts, though the comment must follow
-at least one whitespace; otherwise a character expected as the start of
-the comment may be regarded as the starting delimiter of the right part.
+at least one whitespace character; otherwise a character expected as the
+start of the comment may be regarded as the starting delimiter of the right part.
During this search no attention is paid to the semantics of the construct.
Thus:
@@ -2483,17 +2792,17 @@ floating point. But by saying
use integer;
-you may tell the compiler that it's okay to use integer operations
-(if it feels like it) from here to the end of the enclosing BLOCK.
-An inner BLOCK may countermand this by saying
+you may tell the compiler to use integer operations
+(see L<integer> for a detailed explanation) from here to the end of
+the enclosing BLOCK. An inner BLOCK may countermand this by saying
no integer;
which lasts until the end of that BLOCK. Note that this doesn't
-mean everything is only an integer, merely that Perl may use integer
-operations if it is so inclined. For example, even under C<use
-integer>, if you take the C<sqrt(2)>, you'll still get C<1.4142135623731>
-or so.
+mean everything is an integer, merely that Perl will use integer
+operations for arithmetic, comparison, and bitwise operators. For
+example, even under C<use integer>, if you take the C<sqrt(2)>, you'll
+still get C<1.4142135623731> or so.
Used on numbers, the bitwise operators ("&", "|", "^", "~", "<<",
and ">>") always produce integral results. (But see also
@@ -2550,36 +2859,47 @@ need yourself.
=head2 Bigger Numbers
X<number, arbitrary precision>
-The standard Math::BigInt and Math::BigFloat modules provide
+The standard C<Math::BigInt>, C<Math::BigRat>, and C<Math::BigFloat> modules,
+along with the C<bigint>, C<bigrat>, and C<bitfloat> pragmas, provide
variable-precision arithmetic and overloaded operators, although
they're currently pretty slow. At the cost of some space and
considerable speed, they avoid the normal pitfalls associated with
limited-precision representations.
- use Math::BigInt;
- $x = Math::BigInt->new('123456789123456789');
- print $x * $x;
+ use 5.010;
+ use bigint; # easy interface to Math::BigInt
+ $x = 123456789123456789;
+ say $x * $x;
+ +15241578780673678515622620750190521
+
+Or with rationals:
- # prints +15241578780673678515622620750190521
+ use 5.010;
+ use bigrat;
+ $a = 3/22;
+ $b = 4/6;
+ say "a/b is ", $a/$b;
+ say "a*b is ", $a*$b;
+ a/b is 9/44
+ a*b is 1/11
-There are several modules that let you calculate with (bound only by
-memory and cpu-time) unlimited or fixed precision. There are also
-some non-standard modules that provide faster implementations via
-external C libraries.
+Several modules let you calculate with (bound only by memory and CPU time)
+unlimited or fixed precision. There are also some non-standard modules that
+provide faster implementations via external C libraries.
Here is a short, but incomplete summary:
- Math::Fraction big, unlimited fractions like 9973 / 12967
- Math::String treat string sequences like numbers
- Math::FixedPrecision calculate with a fixed precision
- Math::Currency for currency calculations
- Bit::Vector manipulate bit vectors fast (uses C)
- Math::BigIntFast Bit::Vector wrapper for big numbers
- Math::Pari provides access to the Pari C library
- Math::BigInteger uses an external C library
- Math::Cephes uses external Cephes C library (no big numbers)
- Math::Cephes::Fraction fractions via the Cephes library
- Math::GMP another one using an external C library
+ Math::Fraction big, unlimited fractions like 9973 / 12967
+ Math::String treat string sequences like numbers
+ Math::FixedPrecision calculate with a fixed precision
+ Math::Currency for currency calculations
+ Bit::Vector manipulate bit vectors fast (uses C)
+ Math::BigIntFast Bit::Vector wrapper for big numbers
+ Math::Pari provides access to the Pari C library
+ Math::BigInteger uses an external C library
+ Math::Cephes uses external Cephes C library (no big numbers)
+ Math::Cephes::Fraction fractions via the Cephes library
+ Math::GMP another one using an external C library
Choose wisely.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod b/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod
index b1d5eea14f4..0c9b3c4f365 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod
@@ -14,7 +14,7 @@ version 5 (hereafter just Perl) is compiled and/or runs.
=head2 OpenBSD core dumps from getprotobyname_r and getservbyname_r with ithreads
When Perl is configured to use ithreads, it will use re-entrant library calls
-in preference to non-re-entrant versions. There is an incompatability in
+in preference to non-re-entrant versions. There is an incompatibility in
OpenBSD's C<getprotobyname_r> and C<getservbyname_r> function in versions 3.7
and later that will cause a SEGV when called without doing a C<bzero> on
their return structs prior to calling these functions. Current Perl's
diff --git a/Master/tlpkg/tlperl/lib/pods/perlopentut.pod b/Master/tlpkg/tlperl/lib/pods/perlopentut.pod
index ea4b307b459..4bb43bffd76 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlopentut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlopentut.pod
@@ -55,7 +55,7 @@ If you prefer the low-punctuation version, you could write that this way:
open RESULTS,"> runstats" or die "can't open runstats: $!";
open LOG, ">> logfile " or die "can't open logfile: $!";
-A few things to notice. First, the leading less-than is optional.
+A few things to notice. First, the leading C<< < >> is optional.
If omitted, Perl assumes that you want to open the file for reading.
Note also that the first example uses the C<||> logical operator, and the
@@ -117,13 +117,30 @@ like C<my $infile>, there's no clash and no need to worry about future
conflicts.
Another convenient behavior is that an indirect filehandle automatically
-closes when it goes out of scope or when you undefine it:
+closes when there are no more references to it:
sub firstline {
open( my $in, shift ) && return scalar <$in>;
# no close() required
}
+Indirect filehandles also make it easy to pass filehandles to and return
+filehandles from subroutines:
+
+ for my $file ( qw(this.conf that.conf) ) {
+ my $fin = open_or_throw('<', $file);
+ process_conf( $fin );
+ # no close() needed
+ }
+
+ use Carp;
+ sub open_or_throw {
+ my ($mode, $filename) = @_;
+ open my $h, $mode, $filename
+ or croak "Could not open '$filename': $!";
+ return $h;
+ }
+
=head2 Pipe Opens
In C, when you want to open a file using the standard I/O library,
diff --git a/Master/tlpkg/tlperl/lib/pods/perlos2.pod b/Master/tlpkg/tlperl/lib/pods/perlos2.pod
index 1d4083f8d5f..e7d6cca342f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlos2.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlos2.pod
@@ -487,7 +487,7 @@ DPMI is required for RSX.
The whole idea of the "standard C API to start applications" is that
the forms C<foo> and C<"foo"> of program arguments are completely
-interchangable. F<find> breaks this paradigm;
+interchangeable. F<find> breaks this paradigm;
find "pattern" file
find pattern file
@@ -618,7 +618,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L<"PERLLIB_PREFIX">.
=item Additional Perl modules
- unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.12.3/
+ unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.14.2/
Same remark as above applies. Additionally, if this directory is not
one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
@@ -1499,7 +1499,7 @@ Here is the sample C file:
{
main_t f;
handler_t h;
-
+
me = argv[0];
/**/
handle = load_perl_dll(PERL_DLL_BASENAME);
@@ -1649,7 +1649,7 @@ leaves drive as it is.
=item C<Cwd::change_drive(name)>
-chanes the "current" drive.
+changes the "current" drive.
=item C<Cwd::sys_is_absolute(name)>
@@ -1896,7 +1896,7 @@ _DLLInitTerm() (e.g., F<TCP32IP>). This means that even if you do not I<call>
any function in the DLL, just the act of loading this DLL will reset your
flags. What is worse, the same compiler was used to compile some HOOK DLLs.
Given that HOOK dlls are executed in the context of I<all> the applications
-in the system, this means a complete unpredictablity of floating point
+in the system, this means a complete unpredictability of floating point
flags on systems using such HOOK DLLs. E.g., F<GAMESRVR.DLL> of B<DIVE>
origin changes the floating point flags on each write to the TTY of a VIO
(windowed text-mode) applications.
@@ -2025,7 +2025,7 @@ WM_QUIT, and which did not process the received WM_QUIT message, the
shutdown will be automatically cancelled. Do not call C<perl_hmq_GET(1)>
unless you are going to process messages on an orderly basis.
-=item * Treating errors reported by OS/2 API
+=item Treating errors reported by OS/2 API
There are two principal conventions (it is useful to call them C<Dos*>
and C<Win*> - though this part of the function signature is not always
@@ -2102,7 +2102,7 @@ Sets C<Perl_rc> to C<rc>, and sets $^E to the corresponding value.
=back
-=item * Loading DLLs and ordinals in DLLs
+=item Loading DLLs and ordinals in DLLs
Some DLLs are only present in some versions of OS/2, or in some
configurations of OS/2. Some exported entry points are present only
diff --git a/Master/tlpkg/tlperl/lib/pods/perlos390.pod b/Master/tlpkg/tlperl/lib/pods/perlos390.pod
index 4229e2b317e..93459346c37 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlos390.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlos390.pod
@@ -260,7 +260,7 @@ from an account with write access to the directory entry for /tmp.
Out of Memory!
-Recent perl test suite is quite memory hunrgy. In addition to the comments
+Recent perl test suite is quite memory hungry. In addition to the comments
above on memory limitations it is also worth checking for _CEE_RUNOPTS
in your environment. Perl now has (in miniperlmain.c) a C #pragma
to set CEE run options, but the environment variable wins.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlos400.pod b/Master/tlpkg/tlperl/lib/pods/perlos400.pod
index cd789166955..0dcee2e4290 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlos400.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlos400.pod
@@ -14,7 +14,7 @@ compiled and/or runs.
By far the easiest way to build Perl for OS/400 is to use the PASE
(Portable Application Solutions Environment), for more information see
-http://www.iseries.ibm.com/developer/factory/pase/index.html
+L<http://www.iseries.ibm.com/developer/factory/pase/index.html>
This environment allows one to use AIX APIs while programming, and it
provides a runtime that allows AIX binaries to execute directly on the
PowerPC iSeries.
@@ -105,7 +105,7 @@ There exists a port of Perl to the ILE environment. This port, however,
is based quite an old release of Perl, Perl 5.00502 (August 1998).
(As of July 2002 the latest release of Perl is 5.8.0, and even 5.6.1
has been out since April 2001.) If you need to run Perl on ILE, though,
-you may need this older port: http://www.cpan.org/ports/#os400
+you may need this older port: L<http://www.cpan.org/ports/#os400>
Note that any Perl release later than 5.00502 has not been ported to ILE.
If you need to use Perl in the ILE environment, you may want to consider
diff --git a/Master/tlpkg/tlperl/lib/pods/perlperf.pod b/Master/tlpkg/tlperl/lib/pods/perlperf.pod
index a934271088b..cac6eee6655 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlperf.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlperf.pod
@@ -567,7 +567,7 @@ to execute, C<if ( $debug ) { > and C<my $message = shift;>, for example. The
differences in the actual times recorded might be in the algorithm used
internally, or it could be due to system resource limitations or contention.
-See also the L<DBIx::Profiler> which will profile database queries running
+See also the L<DBIx::Profile> which will profile database queries running
under the C<DBIx::*> namespace.
=head2 Devel::NYTProf
@@ -1137,7 +1137,7 @@ deserve further attention.
Apache::DProf
Apache::SmallProf
Benchmark
- DBIx::Profiler
+ DBIx::Profile
Devel::AutoProfiler
Devel::DProf
Devel::DProfLB
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpod.pod b/Master/tlpkg/tlperl/lib/pods/perlpod.pod
index 90bc5b1d8f8..068afe4177d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpod.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpod.pod
@@ -474,7 +474,7 @@ C<EE<lt>verbarE<gt>> -- a literal | (I<ver>tical I<bar>)
=item *
-C<EE<lt>solE<gt>> = a literal / (I<sol>idus)
+C<EE<lt>solE<gt>> -- a literal / (I<sol>idus)
The above four are optional except in other formatting codes,
notably C<LE<lt>...E<gt>>, and when preceded by a
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod b/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod
index 0bf84e09104..dbe05391dff 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod
@@ -1,3 +1,4 @@
+=encoding utf8
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod b/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod
new file mode 100644
index 00000000000..6c4cfa04afc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod
@@ -0,0 +1,295 @@
+=head1 NAME
+
+perlpodstyle - Perl POD style guide
+
+=head1 DESCRIPTION
+
+These are general guidelines for how to write POD documentation for Perl
+scripts and modules, based on general guidelines for writing good UNIX man
+pages. All of these guidelines are, of course, optional, but following
+them will make your documentation more consistent with other documentation
+on the system.
+
+The name of the program being documented is conventionally written in bold
+(using BE<lt>E<gt>) wherever it occurs, as are all program options.
+Arguments should be written in italics (IE<lt>E<gt>). Function names are
+traditionally written in italics; if you write a function as function(),
+Pod::Man will take care of this for you. Literal code or commands should
+be in CE<lt>E<gt>. References to other man pages should be in the form
+C<manpage(section)> or C<LE<lt>manpage(section)E<gt>>, and Pod::Man will
+automatically format those appropriately. The second form, with
+LE<lt>E<gt>, is used to request that a POD formatter make a link to the
+man page if possible. As an exception, one normally omits the section
+when referring to module documentation since it's not clear what section
+module documentation will be in; use C<LE<lt>Module::NameE<gt>> for module
+references instead.
+
+References to other programs or functions are normally in the form of man
+page references so that cross-referencing tools can provide the user with
+links and the like. It's possible to overdo this, though, so be careful not
+to clutter your documentation with too much markup. References to other
+programs that are not given as man page references should be enclosed in
+BE<lt>E<gt>.
+
+The major headers should be set out using a C<=head1> directive, and are
+historically written in the rather startling ALL UPPER CASE format; this
+is not mandatory, but it's strongly recommended so that sections have
+consistent naming across different software packages. Minor headers may
+be included using C<=head2>, and are typically in mixed case.
+
+The standard sections of a manual page are:
+
+=over 4
+
+=item NAME
+
+Mandatory section; should be a comma-separated list of programs or
+functions documented by this POD page, such as:
+
+ foo, bar - programs to do something
+
+Manual page indexers are often extremely picky about the format of this
+section, so don't put anything in it except this line. Every program or
+function documented by this POD page should be listed, separated by a
+comma and a space. For a Perl module, just give the module name. A
+single dash, and only a single dash, should separate the list of programs
+or functions from the description. Do not use any markup such as
+CE<lt>E<gt> or BE<lt>E<gt> anywhere in this line. Functions should not be
+qualified with C<()> or the like. The description should ideally fit on a
+single line, even if a man program replaces the dash with a few tabs.
+
+=item SYNOPSIS
+
+A short usage summary for programs and functions. This section is
+mandatory for section 3 pages. For Perl module documentation, it's
+usually convenient to have the contents of this section be a verbatim
+block showing some (brief) examples of typical ways the module is used.
+
+=item DESCRIPTION
+
+Extended description and discussion of the program or functions, or the
+body of the documentation for man pages that document something else. If
+particularly long, it's a good idea to break this up into subsections
+C<=head2> directives like:
+
+ =head2 Normal Usage
+
+ =head2 Advanced Features
+
+ =head2 Writing Configuration Files
+
+or whatever is appropriate for your documentation.
+
+For a module, this is generally where the documentation of the interfaces
+provided by the module goes, usually in the form of a list with an
+C<=item> for each interface. Depending on how many interfaces there are,
+you may want to put that documentation in separate METHODS, FUNCTIONS,
+CLASS METHODS, or INSTANCE METHODS sections instead and save the
+DESCRIPTION section for an overview.
+
+=item OPTIONS
+
+Detailed description of each of the command-line options taken by the
+program. This should be separate from the description for the use of
+parsers like L<Pod::Usage>. This is normally presented as a list, with
+each option as a separate C<=item>. The specific option string should be
+enclosed in BE<lt>E<gt>. Any values that the option takes should be
+enclosed in IE<lt>E<gt>. For example, the section for the option
+B<--section>=I<manext> would be introduced with:
+
+ =item B<--section>=I<manext>
+
+Synonymous options (like both the short and long forms) are separated by a
+comma and a space on the same C<=item> line, or optionally listed as their
+own item with a reference to the canonical name. For example, since
+B<--section> can also be written as B<-s>, the above would be:
+
+ =item B<-s> I<manext>, B<--section>=I<manext>
+
+Writing the short option first is recommended because it's easier to read.
+The long option is long enough to draw the eye to it anyway and the short
+option can otherwise get lost in visual noise.
+
+=item RETURN VALUE
+
+What the program or function returns, if successful. This section can be
+omitted for programs whose precise exit codes aren't important, provided
+they return 0 on success and non-zero on failure as is standard. It
+should always be present for functions. For modules, it may be useful to
+summarize return values from the module interface here, or it may be more
+useful to discuss return values separately in the documentation of each
+function or method the module provides.
+
+=item ERRORS
+
+Exceptions, error return codes, exit statuses, and errno settings.
+Typically used for function or module documentation; program documentation
+uses DIAGNOSTICS instead. The general rule of thumb is that errors
+printed to C<STDOUT> or C<STDERR> and intended for the end user are
+documented in DIAGNOSTICS while errors passed internal to the calling
+program and intended for other programmers are documented in ERRORS. When
+documenting a function that sets errno, a full list of the possible errno
+values should be given here.
+
+=item DIAGNOSTICS
+
+All possible messages the program can print out and what they mean. You
+may wish to follow the same documentation style as the Perl documentation;
+see perldiag(1) for more details (and look at the POD source as well).
+
+If applicable, please include details on what the user should do to
+correct the error; documenting an error as indicating "the input buffer is
+too small" without telling the user how to increase the size of the input
+buffer (or at least telling them that it isn't possible) aren't very
+useful.
+
+=item EXAMPLES
+
+Give some example uses of the program or function. Don't skimp; users
+often find this the most useful part of the documentation. The examples
+are generally given as verbatim paragraphs.
+
+Don't just present an example without explaining what it does. Adding a
+short paragraph saying what the example will do can increase the value of
+the example immensely.
+
+=item ENVIRONMENT
+
+Environment variables that the program cares about, normally presented as
+a list using C<=over>, C<=item>, and C<=back>. For example:
+
+ =over 6
+
+ =item HOME
+
+ Used to determine the user's home directory. F<.foorc> in this
+ directory is read for configuration details, if it exists.
+
+ =back
+
+Since environment variables are normally in all uppercase, no additional
+special formatting is generally needed; they're glaring enough as it is.
+
+=item FILES
+
+All files used by the program or function, normally presented as a list,
+and what it uses them for. File names should be enclosed in FE<lt>E<gt>.
+It's particularly important to document files that will be potentially
+modified.
+
+=item CAVEATS
+
+Things to take special care with, sometimes called WARNINGS.
+
+=item BUGS
+
+Things that are broken or just don't work quite right.
+
+=item RESTRICTIONS
+
+Bugs you don't plan to fix. :-)
+
+=item NOTES
+
+Miscellaneous commentary.
+
+=item AUTHOR
+
+Who wrote it (use AUTHORS for multiple people). It's a good idea to
+include your current e-mail address (or some e-mail address to which bug
+reports should be sent) or some other contact information so that users
+have a way of contacting you. Remember that program documentation tends
+to roam the wild for far longer than you expect and pick a contact method
+that's likely to last.
+
+=item HISTORY
+
+Programs derived from other sources sometimes have this. Some people keep
+a modification log here, but that usually gets long and is normally better
+maintained in a separate file.
+
+=item COPYRIGHT AND LICENSE
+
+For copyright
+
+ Copyright YEAR(s) YOUR NAME(s)
+
+(No, (C) is not needed. No, "all rights reserved" is not needed.)
+
+For licensing the easiest way is to use the same licensing as Perl itself:
+
+ This library is free software; you may redistribute it and/or modify
+ it under the same terms as Perl itself.
+
+This makes it easy for people to use your module with Perl. Note that
+this licensing example is neither an endorsement or a requirement, you are
+of course free to choose any licensing.
+
+=item SEE ALSO
+
+Other man pages to check out, like man(1), man(7), makewhatis(8), or
+catman(8). Normally a simple list of man pages separated by commas, or a
+paragraph giving the name of a reference work. Man page references, if
+they use the standard C<name(section)> form, don't have to be enclosed in
+LE<lt>E<gt> (although it's recommended), but other things in this section
+probably should be when appropriate.
+
+If the package has a mailing list, include a URL or subscription
+instructions here.
+
+If the package has a web site, include a URL here.
+
+=back
+
+Documentation of object-oriented libraries or modules may want to use
+CONSTRUCTORS and METHODS sections, or CLASS METHODS and INSTANCE METHODS
+sections, for detailed documentation of the parts of the library and save
+the DESCRIPTION section for an overview. Large modules with a function
+interface may want to use FUNCTIONS for similar reasons. Some people use
+OVERVIEW to summarize the description if it's quite long.
+
+Section ordering varies, although NAME must always be the first section
+(you'll break some man page systems otherwise), and NAME, SYNOPSIS,
+DESCRIPTION, and OPTIONS generally always occur first and in that order if
+present. In general, SEE ALSO, AUTHOR, and similar material should be
+left for last. Some systems also move WARNINGS and NOTES to last. The
+order given above should be reasonable for most purposes.
+
+Some systems use CONFORMING TO to note conformance to relevant standards
+and MT-LEVEL to note safeness for use in threaded programs or signal
+handlers. These headings are primarily useful when documenting parts of a
+C library.
+
+Finally, as a general note, try not to use an excessive amount of markup.
+As documented here and in L<Pod::Man>, you can safely leave Perl
+variables, function names, man page references, and the like unadorned by
+markup and the POD translators will figure it out for you. This makes it
+much easier to later edit the documentation. Note that many existing
+translators will do the wrong thing with e-mail addresses when wrapped in
+LE<lt>E<gt>, so don't do that.
+
+=head1 SEE ALSO
+
+For additional information that may be more accurate for your specific
+system, see either L<man(5)> or L<man(7)> depending on your system manual
+section numbering conventions.
+
+This documentation is maintained as part of the podlators distribution.
+The current version is always available from its web site at
+<http://www.eyrie.org/~eagle/software/podlators/>.
+
+=head1 AUTHOR
+
+Russ Allbery <rra@stanford.edu>, with large portions of this documentation
+taken from the documentation of the original B<pod2man> implementation by
+Larry Wall and Tom Christiansen.
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010 Russ Allbery
+<rra@stanford.edu>.
+
+This documentation is free software; you may redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod b/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod
index 5b078781588..2341414cc48 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perlpolicy - Various and sundry policies and commitments related to the perl core
+perlpolicy - Various and sundry policies and commitments related to the Perl core
=head1 DESCRIPTION
@@ -20,7 +20,7 @@ As a volunteer organization, the commitments we make are heavily dependent
on the goodwill and hard work of individuals who have no obligation to
contribute to Perl.
-That being said, we value Perl's stabilty and security and have long
+That being said, we value Perl's stability and security and have long
had an unwritten covenant with the broader Perl community to support
and maintain releases of Perl.
@@ -32,23 +32,23 @@ the Perl community should expect from Perl's developers:
=item *
We "officially" support the two most recent stable release
-series'. As of the release of 5.14.0, we will "officially"
+series. As of the release of 5.14.0, we will "officially"
end support for Perl 5.10, other than providing security
updates as described below.
=item *
To the best of our ability, we will attempt to fix critical issues
-in the two most recent stable 5.x release series'. Fixes for the
+in the two most recent stable 5.x release series. Fixes for the
current release series take precedence over fixes for the previous
release series.
=item *
To the best of our ability, we will provide "critical" security patches
-/ releases for any major version of Perl initially released within the
-past three years. We can only commit to providing these for the most
-recent .y release in any 5.x.y series.
+/ releases for any major version of Perl whose 5.x.0 release was within
+the past three years. We can only commit to providing these for the
+most recent .y release in any 5.x.y series.
=item *
@@ -133,7 +133,7 @@ bug as a feature, we need to treat it as such.
New syntax and semantics which don't break existing language constructs
and syntax have a much lower bar. They merely need to prove themselves
-to be useful, elegant, well designed and well tested.
+to be useful, elegant, well designed, and well tested.
=head2 Terminology
@@ -154,7 +154,7 @@ an experimental feature useful and want to help shape its future.
=item deprecated
If something in the Perl core is marked as B<deprecated>, we may remove it
-from thecore in the next stable release series, though we may not. As of
+from the core in the next stable release series, though we may not. As of
Perl 5.12, deprecated features and modules warn the user as they're used.
If you use a deprecated feature and believe that its removal from the Perl
core would be a mistake, please contact the perl5-porters mailinglist and
@@ -168,12 +168,12 @@ From time to time, we may mark language constructs and features which we
consider to have been mistakes as B<discouraged>. Discouraged features
aren't candidates for removal in the next major release series, but
we may later deprecate them if they're found to stand in the way of a
-significant improvement to the core.
+significant improvement to the Perl core.
=item removed
Once a feature, construct or module has been marked as deprecated for a
-stable release cycle, we may remove it from the core. Unsurprisingly,
+stable release cycle, we may remove it from the Perl core. Unsurprisingly,
we say we've B<removed> these things.
=back
@@ -198,7 +198,9 @@ acceptable.
=item *
-Documentation updates are acceptable.
+Acceptable documentation updates are those that correct factual errors,
+explain significant bugs or deficiencies in the current implementation,
+or fix broken markup.
=item *
@@ -223,6 +225,13 @@ fix crashing or security issues (as above).
=item *
+Minimal patches that fix platform-specific test failures or
+installation issues are acceptable. When these changes are made
+to dual-life modules for which CPAN is canonical, any changes
+should be coordinated with the upstream author.
+
+=item *
+
New versions of dual-life modules should NOT be imported into maint.
Those belong in the next stable series.
@@ -277,7 +286,7 @@ the heart of Perl itself, is a joint project on the part of all of us.
From time to time, a script, module, or set of modules (hereafter referred
to simply as a "module") will prove so widely useful and/or so integral to
the correct functioning of Perl itself that it should be distributed with
-Perl core. This should never be done without the author's explicit
+the Perl core. This should never be done without the author's explicit
consent, and a clear recognition on all parts that this means the module
is being distributed under the same terms as Perl itself. A module author
should realize that inclusion of a module into the Perl core will
@@ -294,7 +303,7 @@ gives up their ownership of it. In particular:
=item *
-The version of the module in the core should still be considered the
+The version of the module in the Perl core should still be considered the
work of the original author. All patches, bug reports, and so
forth should be fed back to them. Their development directions
should be respected whenever possible.
@@ -333,11 +342,11 @@ As a last resort, however:
If the author's vision of the future of their module is sufficiently
different from the vision of the pumpkin holder and perl5-porters as a
whole so as to cause serious problems for Perl, the pumpkin holder may
-choose to formally fork the version of the module in the core from the
+choose to formally fork the version of the module in the Perl core from the
one maintained by the author. This should not be done lightly and
should B<always> if at all possible be done only after direct input
from Larry. If this is done, it must then be made explicit in the
-module as distributed with Perl core that it is a forked version and
+module as distributed with the Perl core that it is a forked version and
that while it is based on the original author's work, it is no longer
maintained by them. This must be noted in both the documentation and
in the comments in the source of the module.
@@ -370,7 +379,45 @@ necessary, and certainly no more drastic measure should be used until
every avenue of communication and discussion has failed.
+=head1 DOCUMENTATION
+
+Perl's documentation is an important resource for our users. It's
+incredibly important for Perl's documentation to be reasonably coherent
+and to accurately reflect the current implementation.
+
+Just as P5P collectively maintains the codebase, we collectively
+maintain the documentation. Writing a particular bit of documentation
+doesn't give an author control of the future of that documentation.
+At the same time, just as source code changes should match the style
+of their surrounding blocks, so should documentation changes.
+
+Examples in documentation should be illustrative of the concept
+they're explaining. Sometimes, the best way to show how a
+language feature works is with a small program the reader can
+run without modification. More often, examples will consist
+of a snippet of code containing only the "important" bits.
+The definition of "important" varies from snippet to snippet.
+Sometimes it's important to declare C<use strict> and C<use warnings>,
+initialize all variables and fully catch every error condition.
+More often than not, though, those things obscure the lesson
+the example was intended to teach.
+
+As Perl is developed by a global team of volunteers, our
+documentation often contains spellings which look funny
+to I<somebody>. Choice of American/British/Other spellings
+is left as an exercise for the author of each bit of
+documentation. When patching documentation, try to emulate
+the documentation around you, rather than changing the existing
+prose.
+
+In general, documentation should describe what Perl does "now" rather
+than what it used to do. It's perfectly reasonable to include notes
+in documentation about how behaviour has changed from previous releases,
+but, with very few exceptions, documentation isn't "dual-life" --
+it doesn't need to fully describe how all old versions used to work.
+
+
=head1 CREDITS
-Social Contract about Contributed Modules originally by Russ Allbery E<lt>rra@stanford.eduE<gt> and the perl5-porters.
+"Social Contract about Contributed Modules" originally by Russ Allbery E<lt>rra@stanford.eduE<gt> and the perl5-porters.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlport.pod b/Master/tlpkg/tlperl/lib/pods/perlport.pod
index 9c81e73e445..0193dc852ca 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlport.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlport.pod
@@ -480,17 +480,17 @@ file name.
To convert $^X to a file pathname, taking account of the requirements
of the various operating system possibilities, say:
- use Config;
- my $thisperl = $^X;
- if ($^O ne 'VMS')
- {$thisperl .= $Config{_exe} unless $thisperl =~ m/$Config{_exe}$/i;}
+ use Config;
+ my $thisperl = $^X;
+ if ($^O ne 'VMS')
+ {$thisperl .= $Config{_exe} unless $thisperl =~ m/$Config{_exe}$/i;}
To convert $Config{perlpath} to a file pathname, say:
- use Config;
- my $thisperl = $Config{perlpath};
- if ($^O ne 'VMS')
- {$thisperl .= $Config{_exe} unless $thisperl =~ m/$Config{_exe}$/i;}
+ use Config;
+ my $thisperl = $Config{perlpath};
+ if ($^O ne 'VMS')
+ {$thisperl .= $Config{_exe} unless $thisperl =~ m/$Config{_exe}$/i;}
=head2 Networking
@@ -624,7 +624,7 @@ because that is OS- and implementation-specific. It is better to
store a date in an unambiguous representation. The ISO 8601 standard
defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH-MM-SS
(that's a literal "T" separating the date from the time).
-Please do use the ISO 8601 instead of making us to guess what
+Please do use the ISO 8601 instead of making us guess what
date 02/03/04 might be. ISO 8601 even sorts nicely as-is.
A text representation (like "1987-12-18") can be easily converted
into an OS-specific value using a module like Date::Parse.
@@ -771,11 +771,11 @@ Also see:
=item *
-Mailing list: cpan-testers@perl.org
+Mailing list: cpan-testers-discuss@perl.org
=item *
-Testing results: http://testers.cpan.org/
+Testing results: L<http://www.cpantesters.org/>
=back
@@ -929,13 +929,13 @@ Also see:
=item *
-The djgpp environment for DOS, http://www.delorie.com/djgpp/
+The djgpp environment for DOS, L<http://www.delorie.com/djgpp/>
and L<perldos>.
=item *
The EMX environment for DOS, OS/2, etc. emx@iaehv.nl,
-ftp://hobbes.nmsu.edu/pub/os2/dev/emx/ Also L<perlos2>.
+L<ftp://hobbes.nmsu.edu/pub/os2/dev/emx/> Also L<perlos2>.
=item *
@@ -948,17 +948,17 @@ The C<Win32::*> modules in L<Win32>.
=item *
-The ActiveState Pages, http://www.activestate.com/
+The ActiveState Pages, L<http://www.activestate.com/>
=item *
The Cygwin environment for Win32; F<README.cygwin> (installed
-as L<perlcygwin>), http://www.cygwin.com/
+as L<perlcygwin>), L<http://www.cygwin.com/>
=item *
The U/WIN environment for Win32,
-http://www.research.att.com/sw/tools/uwin/
+L<http://www.research.att.com/sw/tools/uwin/>
=item *
@@ -1092,7 +1092,7 @@ Pumpkings and module integrators can easily see whether files with too many
directory levels have snuck into the core by running the following in the
top-level source directory:
- $ perl -ne "$_=~s/\s+.*//; print if scalar(split /\//) > 8;" < MANIFEST
+ $ perl -ne "$_=~s/\s+.*//; print if scalar(split /\//) > 8;" < MANIFEST
The VMS::Filespec module, which gets installed as part of the build
@@ -1145,7 +1145,7 @@ Also see:
=item *
-F<README.vms> (installed as L<README_vms>), L<perlvms>
+F<README.vms> (installed as F<README_vms>), L<perlvms>
=item *
@@ -1153,7 +1153,7 @@ vmsperl list, vmsperl-subscribe@perl.org
=item *
-vmsperl on the web, http://www.sidhe.org/vmsperl/index.html
+vmsperl on the web, L<http://www.sidhe.org/vmsperl/index.html>
=back
@@ -1187,7 +1187,7 @@ feature known as extended names. On these releases, file names
can contain up to 255 characters, are prohibited from starting
with a C<-> character, and the set of prohibited characters is
reduced to any character matching C<< tr/#%*<>?// >>. There are
-restrictions involving spaces and apostrophies: these characters
+restrictions involving spaces and apostrophes: these characters
must not begin or end a name, nor can they immediately precede or
follow a period. Additionally, a space must not immediately
precede another space or hyphen. Specifically, the following
@@ -1229,7 +1229,7 @@ Anonymous FTP site.
=item *
-VOS Perl on the web at http://ftp.stratus.com/pub/vos/posix/posix.html
+VOS Perl on the web at L<http://ftp.stratus.com/pub/vos/posix/posix.html>
=back
@@ -1298,7 +1298,7 @@ The values of C<$^O> on some of these platforms includes:
Some simple tricks for determining if you are running on an EBCDIC
platform could include any of the following (perhaps all):
- if ("\t" eq "\05") { print "EBCDIC may be spoken here!\n"; }
+ if ("\t" eq "\005") { print "EBCDIC may be spoken here!\n"; }
if (ord('A') == 193) { print "EBCDIC may be spoken here!\n"; }
@@ -1327,7 +1327,7 @@ general usage issues for all EBCDIC Perls. Send a message body of
=item *
AS/400 Perl information at
-http://as400.rochester.ibm.com/
+L<http://as400.rochester.ibm.com/>
as well as on CPAN in the F<ports/> directory.
=back
@@ -1470,12 +1470,12 @@ Be OS, F<README.beos>
=item *
HP 300 MPE/iX, F<README.mpeix> and Mark Bixby's web page
-http://www.bixby.org/mark/porting.html
+L<http://www.bixby.org/mark/porting.html>
=item *
A free perl5-based PERL.NLM for Novell Netware is available in
-precompiled binary and source code form from http://www.novell.com/
+precompiled binary and source code form from L<http://www.novell.com/>
as well as from CPAN.
=item *
@@ -1618,6 +1618,8 @@ Implemented via Spawn. (VM/ESA)
Does not automatically flush output handles on some platforms.
(SunOS, Solaris, HP-UX)
+Not supported. (Symbian OS)
+
=item exit
Emulates Unix exit() (which considers C<exit 1> to indicate an error) by
@@ -1632,17 +1634,23 @@ enabled, a generic number will be encoded in a method compatible with
the C library _POSIX_EXIT macro so that it can be decoded by other
programs, particularly ones written in C, like the GNV package. (VMS)
+C<exit()> resets file pointers, which is a problem when called
+from a child process (created by C<fork()>) in C<BEGIN>.
+A workaround is to use C<POSIX::_exit>. (Solaris)
+
+ exit unless $Config{archname} =~ /\bsolaris\b/;
+ require POSIX and POSIX::_exit(0);
+
=item fcntl
Not implemented. (Win32)
+
Some functions available based on the version of VMS. (VMS)
=item flock
Not implemented (VMS, S<RISC OS>, VOS).
-Available only on Windows NT (not on Windows 95). (Win32)
-
=item fork
Not implemented. (AmigaOS, S<RISC OS>, VM/ESA, VMS)
@@ -1833,7 +1841,7 @@ Available on 64 bit OpenVMS 8.2 and later. (VMS)
=item localtime
-localtime() has the same range as L<gmtime>, but because time zone
+localtime() has the same range as L</gmtime>, but because time zone
rules change its accuracy for historical and future times may degrade
but usually by no more than an hour.
@@ -1868,6 +1876,12 @@ Not implemented. (Win32, VMS, S<RISC OS>)
Can't move directories between directories on different logical volumes. (Win32)
+=item rewinddir
+
+Will not cause readdir() to re-read the directory stream. The entries
+already read before the rewinddir() call will just be returned again
+from a cache buffer. (Win32)
+
=item select
Only implemented on sockets. (Win32, VMS)
@@ -2057,7 +2071,7 @@ Not useful. (S<RISC OS>)
The following platforms are known to build Perl 5.12 (as of April 2010,
its release date) from the standard source code distribution available
-at http://www.cpan.org/src
+at L<http://www.cpan.org/src>
=over
@@ -2105,6 +2119,8 @@ at http://www.cpan.org/src
=item FreeBSD
+=item Debian GNU/kFreeBSD
+
=item Haiku
=item Irix (6.5. What else?)
@@ -2113,6 +2129,8 @@ at http://www.cpan.org/src
=item Dragonfly BSD
+=item QNX Neutrino RTOS (6.5.0)
+
=item MirOS BSD
Caveats:
@@ -2132,7 +2150,7 @@ Caveats:
=back
-=head1 EOL Platforms (Perl 5.12)
+=head1 EOL Platforms (Perl 5.14)
The following platforms were supported by a previous version of
Perl but have been officially removed from Perl's source code
@@ -2150,9 +2168,8 @@ as of 5.12:
=back
-The following platforms may still work as of Perl 5.12, but Perl's
-developers have made an explicit decision to discontinue support for
-them:
+The following platforms were supported up to 5.10. They may still
+have worked in 5.12, but supporting code has been removed for 5.14:
=over
@@ -2170,7 +2187,7 @@ them:
As of July 2002 (the Perl release 5.8.0), the following platforms were
able to build Perl from the standard source code distribution
-available at http://www.cpan.org/src/
+available at L<http://www.cpan.org/src/>
AIX
BeOS
@@ -2275,7 +2292,7 @@ of any trouble.
Unisys Dynix
The following platforms have their own source code distributions and
-binaries available via http://www.cpan.org/ports/
+binaries available via L<http://www.cpan.org/ports/>
Perl release
@@ -2283,7 +2300,7 @@ binaries available via http://www.cpan.org/ports/
Tandem Guardian 5.004
The following platforms have only binaries available via
-http://www.cpan.org/ports/index.html :
+L<http://www.cpan.org/ports/index.html> :
Perl release
@@ -2294,7 +2311,7 @@ http://www.cpan.org/ports/index.html :
Although we do suggest that you always build your own Perl from
the source code, both for maximal configurability and for security,
in case you are in a hurry you can check
-http://www.cpan.org/ports/index.html for binary distributions.
+L<http://www.cpan.org/ports/index.html> for binary distributions.
=head1 SEE ALSO
@@ -2341,5 +2358,5 @@ Gurusamy Sarathy <gsar@activestate.com>,
Paul J. Schinder <schinder@pobox.com>,
Michael G Schwern <schwern@pobox.com>,
Dan Sugalski <dan@sidhe.org>,
-Nathan Torkington <gnat@frii.com>.
+Nathan Torkington <gnat@frii.com>,
John Malmberg <wb8tyw@qsl.net>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlqnx.pod b/Master/tlpkg/tlperl/lib/pods/perlqnx.pod
index 0ad269a2725..cf9dc1fd958 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlqnx.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlqnx.pod
@@ -86,7 +86,7 @@ they both point to the correct library, that is,
The following tests may report errors under QNX4:
-cpan/Cwd/Cwd.t will complain if `pwd` and cwd don't give
+dist/Cwd/Cwd.t will complain if `pwd` and cwd don't give
the same results. cwd calls `fullpath -t`, so if you
cd `fullpath -t` before running the test, it will
pass.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlre.pod b/Master/tlpkg/tlperl/lib/pods/perlre.pod
index 527da4cb38a..c4ec417a1d2 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlre.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlre.pod
@@ -51,13 +51,41 @@ X<regular expression, case-insensitive>
Do case-insensitive pattern matching.
-If C<use locale> is in effect, the case map is taken from the current
-locale. See L<perllocale>.
+If locale matching rules are in effect, the case map is taken from the
+current
+locale for code points less than 255, and from Unicode rules for larger
+code points. However, matches that would cross the Unicode
+rules/non-Unicode rules boundary (ords 255/256) will not succeed. See
+L<perllocale>.
+
+There are a number of Unicode characters that match multiple characters
+under C</i>. For example, C<LATIN SMALL LIGATURE FI>
+should match the sequence C<fi>. Perl is not
+currently able to do this when the multiple characters are in the pattern and
+are split between groupings, or when one or more are quantified. Thus
+
+ "\N{LATIN SMALL LIGATURE FI}" =~ /fi/i; # Matches
+ "\N{LATIN SMALL LIGATURE FI}" =~ /[fi][fi]/i; # Doesn't match!
+ "\N{LATIN SMALL LIGATURE FI}" =~ /fi*/i; # Doesn't match!
+
+ # The below doesn't match, and it isn't clear what $1 and $2 would
+ # be even if it did!!
+ "\N{LATIN SMALL LIGATURE FI}" =~ /(f)(i)/i; # Doesn't match!
+
+Perl doesn't match multiple characters in an inverted bracketed
+character class, which otherwise could be highly confusing. See
+L<perlrecharclass/Negation>.
+
+Also, Perl matching doesn't fully conform to the current Unicode C</i>
+recommendations, which ask that the matching be made upon the NFD
+(Normalization Form Decomposed) of the text. However, Unicode is
+in the process of reconsidering and revising their recommendations.
=item x
X</x>
Extend your pattern's legibility by permitting whitespace and comments.
+Details in L</"/x">
=item p
X</p> X<regex, preserve> X<regexp, preserve>
@@ -74,14 +102,26 @@ rather than the regex itself. See
L<perlretut/"Using regular expressions in Perl"> for further explanation
of the g and c modifiers.
+=item a, d, l and u
+X</a> X</d> X</l> X</u>
+
+These modifiers, new in 5.14, affect which character-set semantics
+(Unicode, ASCII, etc.) are used, as described below in
+L</Character set modifiers>.
+
=back
These are usually written as "the C</x> modifier", even though the delimiter
-in question might not really be a slash. Any of these
-modifiers may also be embedded within the regular expression itself using
-the C<(?...)> construct. See below.
+in question might not really be a slash. The modifiers C</imsxadlup>
+may also be embedded within the regular expression itself using
+the C<(?...)> construct, see L</Extended Patterns> below.
+
+The C</x>, C</l>, C</u>, C</a> and C</d> modifiers need a little more
+explanation.
-The C</x> modifier itself needs a little more explanation. It tells
+=head3 /x
+
+C</x> tells
the regular expression parser to ignore most whitespace that is neither
backslashed nor within a character class. You can use this to break up
your regular expression into (slightly) more readable parts. The C<#>
@@ -96,7 +136,7 @@ be careful not to include the pattern delimiter in the comment--perl has
no way of knowing you did not intend to close the pattern early. See
the C-comment deletion code in L<perlop>. Also note that anything inside
a C<\Q...\E> stays unaffected by C</x>. And note that C</x> doesn't affect
-whether space interpretation within a single multi-character construct. For
+space interpretation within a single multi-character construct. For
example in C<\x{...}>, regardless of the C</x> modifier, there can be no
spaces. Same for a L<quantifier|/Quantifiers> such as C<{3}> or
C<{5,}>. Similarly, C<(?:...)> can't have a space between the C<?> and C<:>,
@@ -104,10 +144,229 @@ but can between the C<(> and C<?>. Within any delimiters for such a
construct, allowed spaces are not affected by C</x>, and depend on the
construct. For example, C<\x{...}> can't have spaces because hexadecimal
numbers don't have spaces in them. But, Unicode properties can have spaces, so
-in C<\p{...}> there can be spaces that follow the Unicode rules, for which see
+in C<\p{...}> there can be spaces that follow the Unicode rules, for which see
L<perluniprops/Properties accessible through \p{} and \P{}>.
X</x>
+=head3 Character set modifiers
+
+C</d>, C</u>, C</a>, and C</l>, available starting in 5.14, are called
+the character set modifiers; they affect the character set semantics
+used for the regular expression.
+
+At any given time, exactly one of these modifiers is in effect. Once
+compiled, the behavior doesn't change regardless of what rules are in
+effect when the regular expression is executed. And if a regular
+expression is interpolated into a larger one, the original's rules
+continue to apply to it, and only it.
+
+Note that the modifiers affect only pattern matching, and do not extend
+to any replacement done. For example,
+
+ s/foo/\Ubar/l
+
+will uppercase "bar", but the C</l> does not affect how the C<\U>
+operates. If C<use locale> is in effect, the C<\U> will use locale
+rules; if C<use feature 'unicode_strings'> is in effect, it will
+use Unicode rules, etc.
+
+=head4 /l
+
+means to use the current locale's rules (see L<perllocale>) when pattern
+matching. For example, C<\w> will match the "word" characters of that
+locale, and C<"/i"> case-insensitive matching will match according to
+the locale's case folding rules. The locale used will be the one in
+effect at the time of execution of the pattern match. This may not be
+the same as the compilation-time locale, and can differ from one match
+to another if there is an intervening call of the
+L<setlocale() function|perllocale/The setlocale function>.
+
+Perl only supports single-byte locales. This means that code points
+above 255 are treated as Unicode no matter what locale is in effect.
+Under Unicode rules, there are a few case-insensitive matches that cross
+the 255/256 boundary. These are disallowed under C</l>. For example,
+0xFF does not caselessly match the character at 0x178, C<LATIN CAPITAL
+LETTER Y WITH DIAERESIS>, because 0xFF may not be C<LATIN SMALL LETTER Y
+WITH DIAERESIS> in the current locale, and Perl has no way of knowing if
+that character even exists in the locale, much less what code point it
+is.
+
+This modifier may be specified to be the default by C<use locale>, but
+see L</Which character set modifier is in effect?>.
+X</l>
+
+=head4 /u
+
+means to use Unicode rules when pattern matching. On ASCII platforms,
+this means that the code points between 128 and 255 take on their
+Latin-1 (ISO-8859-1) meanings (which are the same as Unicode's), whereas
+in strict ASCII their meanings are undefined. Thus the platform
+effectively becomes a Unicode platform, hence, for example, C<\w> will
+match any of the more than 100_000 word characters in Unicode.
+
+Unlike most locales, which are specific to a language and country pair,
+Unicode classifies all the characters that are letters I<somewhere> as
+C<\w>. For example, your locale might not think that C<LATIN SMALL
+LETTER ETH> is a letter (unless you happen to speak Icelandic), but
+Unicode does. Similarly, all the characters that are decimal digits
+somewhere in the world will match C<\d>; this is hundreds, not 10,
+possible matches. And some of those digits look like some of the 10
+ASCII digits, but mean a different number, so a human could easily think
+a number is a different quantity than it really is. For example,
+C<BENGALI DIGIT FOUR> (U+09EA) looks very much like an
+C<ASCII DIGIT EIGHT> (U+0038). And, C<\d+>, may match strings of digits
+that are a mixture from different writing systems, creating a security
+issue. L<Unicode::UCD/num()> can be used to sort this out.
+
+Also, case-insensitive matching works on the full set of Unicode
+characters. The C<KELVIN SIGN>, for example matches the letters "k" and
+"K"; and C<LATIN SMALL LIGATURE FF> matches the sequence "ff", which,
+if you're not prepared, might make it look like a hexadecimal constant,
+presenting another potential security issue. See
+L<http://unicode.org/reports/tr36> for a detailed discussion of Unicode
+security issues.
+
+On the EBCDIC platforms that Perl handles, the native character set is
+equivalent to Latin-1. Thus this modifier changes behavior only when
+the C<"/i"> modifier is also specified, and it turns out it affects only
+two characters, giving them full Unicode semantics: the C<MICRO SIGN>
+will match the Greek capital and small letters C<MU>, otherwise not; and
+the C<LATIN CAPITAL LETTER SHARP S> will match any of C<SS>, C<Ss>,
+C<sS>, and C<ss>, otherwise not.
+
+This modifier may be specified to be the default by C<use feature
+'unicode_strings>, but see
+L</Which character set modifier is in effect?>.
+X</u>
+
+=head4 /a
+
+is the same as C</u>, except that C<\d>, C<\s>, C<\w>, and the
+Posix character classes are restricted to matching in the ASCII range
+only. That is, with this modifier, C<\d> always means precisely the
+digits C<"0"> to C<"9">; C<\s> means the five characters C<[ \f\n\r\t]>;
+C<\w> means the 63 characters C<[A-Za-z0-9_]>; and likewise, all the
+Posix classes such as C<[[:print:]]> match only the appropriate
+ASCII-range characters.
+
+This modifier is useful for people who only incidentally use Unicode.
+With it, one can write C<\d> with confidence that it will only match
+ASCII characters, and should the need arise to match beyond ASCII, you
+can use C<\p{Digit}>, or C<\p{Word}> for C<\w>. There are similar
+C<\p{...}> constructs that can match white space and Posix classes
+beyond ASCII. See L<perlrecharclass/POSIX Character Classes>.
+
+As you would expect, this modifier causes, for example, C<\D> to mean
+the same thing as C<[^0-9]>; in fact, all non-ASCII characters match
+C<\D>, C<\S>, and C<\W>. C<\b> still means to match at the boundary
+between C<\w> and C<\W>, using the C</a> definitions of them (similarly
+for C<\B>).
+
+Otherwise, C</a> behaves like the C</u> modifier, in that
+case-insensitive matching uses Unicode semantics; for example, "k" will
+match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
+points in the Latin1 range, above ASCII will have Unicode rules when it
+comes to case-insensitive matching.
+
+To forbid ASCII/non-ASCII matches (like "k" with C<\N{KELVIN SIGN}>),
+specify the "a" twice, for example C</aai> or C</aia>
+
+To reiterate, this modifier provides protection for applications that
+don't wish to be exposed to all of Unicode. Specifying it twice
+gives added protection.
+
+This modifier may be specified to be the default by C<use re '/a'>
+or C<use re '/aa'>, but see
+L</Which character set modifier is in effect?>.
+X</a>
+X</aa>
+
+=head4 /d
+
+This modifier means to use the "Default" native rules of the platform
+except when there is cause to use Unicode rules instead, as follows:
+
+=over 4
+
+=item 1
+
+the target string is encoded in UTF-8; or
+
+=item 2
+
+the pattern is encoded in UTF-8; or
+
+=item 3
+
+the pattern explicitly mentions a code point that is above 255 (say by
+C<\x{100}>); or
+
+=item 4
+
+the pattern uses a Unicode name (C<\N{...}>); or
+
+=item 5
+
+the pattern uses a Unicode property (C<\p{...}>)
+
+=back
+
+Another mnemonic for this modifier is "Depends", as the rules actually
+used depend on various things, and as a result you can get unexpected
+results. See L<perlunicode/The "Unicode Bug">.
+
+On ASCII platforms, the native rules are ASCII, and on EBCDIC platforms
+(at least the ones that Perl handles), they are Latin-1.
+
+Here are some examples of how that works on an ASCII platform:
+
+ $str = "\xDF"; # $str is not in UTF-8 format.
+ $str =~ /^\w/; # No match, as $str isn't in UTF-8 format.
+ $str .= "\x{0e0b}"; # Now $str is in UTF-8 format.
+ $str =~ /^\w/; # Match! $str is now in UTF-8 format.
+ chop $str;
+ $str =~ /^\w/; # Still a match! $str remains in UTF-8 format.
+
+=head4 Which character set modifier is in effect?
+
+Which of these modifiers is in effect at any given point in a regular
+expression depends on a fairly complex set of interactions. As
+explained below in L</Extended Patterns> it is possible to explicitly
+specify modifiers that apply only to portions of a regular expression.
+The innermost always has priority over any outer ones, and one applying
+to the whole expression has priority over any of the default settings that are
+described in the remainder of this section.
+
+The C<L<use re 'E<sol>foo'|re/'E<sol>flags' mode">> pragma can be used to set
+default modifiers (including these) for regular expressions compiled
+within its scope. This pragma has precedence over the other pragmas
+listed below that change the defaults.
+
+Otherwise, C<L<use locale|perllocale>> sets the default modifier to C</l>;
+and C<L<use feature 'unicode_strings|feature>> or
+C<L<use 5.012|perlfunc/use VERSION>> (or higher) set the default to
+C</u> when not in the same scope as either C<L<use locale|perllocale>>
+or C<L<use bytes|bytes>>. Unlike the mechanisms mentioned above, these
+affect operations besides regular expressions pattern matching, and so
+give more consistent results with other operators, including using
+C<\U>, C<\l>, etc. in substitution replacements.
+
+If none of the above apply, for backwards compatibility reasons, the
+C</d> modifier is the one in effect by default. As this can lead to
+unexpected results, it is best to specify which other rule set should be
+used.
+
+=head4 Character set modifier behavior prior to Perl 5.14
+
+Prior to 5.14, there were no explicit modifiers, but C</l> was implied
+for regexes compiled within the scope of C<use locale>, and C</d> was
+implied otherwise. However, interpolating a regex into a larger regex
+would ignore the original compilation in favor of whatever was in effect
+at the time of the second compilation. There were a number of
+inconsistencies (bugs) with the C</d> modifier, where Unicode rules
+would be used when inappropriate, and vice versa. C<\p{}> did not imply
+Unicode rules, and neither did all occurrences of C<\N{}>, until 5.12.
+
=head2 Regular Expressions
=head3 Metacharacters
@@ -124,13 +383,13 @@ X<metacharacter>
X<\> X<^> X<.> X<$> X<|> X<(> X<()> X<[> X<[]>
- \ Quote the next metacharacter
- ^ Match the beginning of the line
- . Match any character (except newline)
- $ Match the end of the line (or before newline at the end)
- | Alternation
- () Grouping
- [] Bracketed Character class
+ \ Quote the next metacharacter
+ ^ Match the beginning of the line
+ . Match any character (except newline)
+ $ Match the end of the line (or before newline at the end)
+ | Alternation
+ () Grouping
+ [] Bracketed Character class
By default, the "^" character is guaranteed to match only the
beginning of the string, the "$" character only the end (or before the
@@ -142,7 +401,7 @@ newline within the string (except if the newline is the last character in
the string), and "$" will match before any newline. At the
cost of a little more overhead, you can do this by using the /m modifier
on the pattern match operator. (Older programs did this by setting C<$*>,
-but this practice has been removed in perl 5.9.)
+but this option was removed in perl 5.9.)
X<^> X<$> X</m>
To simplify multi-line substitutions, the "." character never matches a
@@ -155,14 +414,15 @@ X<.> X</s>
The following standard quantifiers are recognized:
X<metacharacter> X<quantifier> X<*> X<+> X<?> X<{n}> X<{n,}> X<{n,m}>
- * Match 0 or more times
- + Match 1 or more times
- ? Match 1 or 0 times
- {n} Match exactly n times
- {n,} Match at least n times
- {n,m} Match at least n but not more than m times
+ * Match 0 or more times
+ + Match 1 or more times
+ ? Match 1 or 0 times
+ {n} Match exactly n times
+ {n,} Match at least n times
+ {n,m} Match at least n but not more than m times
-(If a curly bracket occurs in any other context, it is treated
+(If a curly bracket occurs in any other context and does not form part of
+a backslashed sequence like C<\x{...}>, it is treated
as a regular character. In particular, the lower bound
is not optional.) The "*" quantifier is equivalent to C<{0,}>, the "+"
quantifier to C<{1,}>, and the "?" quantifier to C<{0,1}>. n and m are limited
@@ -180,24 +440,24 @@ that the meanings don't change, just the "greediness":
X<metacharacter> X<greedy> X<greediness>
X<?> X<*?> X<+?> X<??> X<{n}?> X<{n,}?> X<{n,m}?>
- *? Match 0 or more times, not greedily
- +? Match 1 or more times, not greedily
- ?? Match 0 or 1 time, not greedily
- {n}? Match exactly n times, not greedily
- {n,}? Match at least n times, not greedily
- {n,m}? Match at least n but not more than m times, not greedily
+ *? Match 0 or more times, not greedily
+ +? Match 1 or more times, not greedily
+ ?? Match 0 or 1 time, not greedily
+ {n}? Match exactly n times, not greedily (redundant)
+ {n,}? Match at least n times, not greedily
+ {n,m}? Match at least n but not more than m times, not greedily
By default, when a quantified subpattern does not allow the rest of the
overall pattern to match, Perl will backtrack. However, this behaviour is
sometimes undesirable. Thus Perl provides the "possessive" quantifier form
as well.
- *+ Match 0 or more times and give nothing back
- ++ Match 1 or more times and give nothing back
- ?+ Match 0 or 1 time and give nothing back
- {n}+ Match exactly n times and give nothing back (redundant)
- {n,}+ Match at least n times and give nothing back
- {n,m}+ Match at least n but not more than m times and give nothing back
+ *+ Match 0 or more times and give nothing back
+ ++ Match 1 or more times and give nothing back
+ ?+ Match 0 or 1 time and give nothing back
+ {n}+ Match exactly n times and give nothing back (redundant)
+ {n,}+ Match at least n times and give nothing back
+ {n,m}+ Match at least n but not more than m times and give nothing back
For instance,
@@ -212,7 +472,8 @@ string" problem can be most efficiently performed when written as:
/"(?:[^"\\]++|\\.)*+"/
as we know that if the final quote does not match, backtracking will not
-help. See the independent subexpression C<< (?>...) >> for more details;
+help. See the independent subexpression
+L</C<< (?>pattern) >>> for more details;
possessive quantifiers are just syntactic sugar for that construct. For
instance the above example could also be written as follows:
@@ -220,27 +481,26 @@ instance the above example could also be written as follows:
=head3 Escape sequences
-Because patterns are processed as double quoted strings, the following
+Because patterns are processed as double-quoted strings, the following
also work:
- \t tab (HT, TAB)
- \n newline (LF, NL)
- \r return (CR)
- \f form feed (FF)
- \a alarm (bell) (BEL)
- \e escape (think troff) (ESC)
- \033 octal char (example: ESC)
- \x1B hex char (example: ESC)
- \x{263a} long hex char (example: Unicode SMILEY)
- \cK control char (example: VT)
- \N{name} named Unicode character
- \N{U+263D} Unicode character (example: FIRST QUARTER MOON)
- \l lowercase next char (think vi)
- \u uppercase next char (think vi)
- \L lowercase till \E (think vi)
- \U uppercase till \E (think vi)
- \Q quote (disable) pattern metacharacters till \E
- \E end either case modification or quoted section (think vi)
+ \t tab (HT, TAB)
+ \n newline (LF, NL)
+ \r return (CR)
+ \f form feed (FF)
+ \a alarm (bell) (BEL)
+ \e escape (think troff) (ESC)
+ \cK control char (example: VT)
+ \x{}, \x00 character whose ordinal is the given hexadecimal number
+ \N{name} named Unicode character or character sequence
+ \N{U+263D} Unicode character (example: FIRST QUARTER MOON)
+ \o{}, \000 character whose ordinal is the given octal number
+ \l lowercase next char (think vi)
+ \u uppercase next char (think vi)
+ \L lowercase till \E (think vi)
+ \U uppercase till \E (think vi)
+ \Q quote (disable) pattern metacharacters till \E
+ \E end either case modification or quoted section, think vi
Details are in L<perlop/Quote and Quote-like Operators>.
@@ -249,43 +509,46 @@ Details are in L<perlop/Quote and Quote-like Operators>.
In addition, Perl defines the following:
X<\g> X<\k> X<\K> X<backreference>
- Sequence Note Description
- [...] [1] Match a character according to the rules of the bracketed
- character class defined by the "...". Example: [a-z]
- matches "a" or "b" or "c" ... or "z"
- [[:...:]] [2] Match a character according to the rules of the POSIX
- character class "..." within the outer bracketed character
- class. Example: [[:upper:]] matches any uppercase
- character.
- \w [3] Match a "word" character (alphanumeric plus "_")
- \W [3] Match a non-"word" character
- \s [3] Match a whitespace character
- \S [3] Match a non-whitespace character
- \d [3] Match a decimal digit character
- \D [3] Match a non-digit character
- \pP [3] Match P, named property. Use \p{Prop} for longer names.
- \PP [3] Match non-P
- \X [4] Match Unicode "eXtended grapheme cluster"
- \C Match a single C-language char (octet) even if that is part
- of a larger UTF-8 character. Thus it breaks up characters
- into their UTF-8 bytes, so you may end up with malformed
- pieces of UTF-8. Unsupported in lookbehind.
- \1 [5] Backreference to a specific capture buffer or group.
- '1' may actually be any positive integer.
- \g1 [5] Backreference to a specific or previous group,
- \g{-1} [5] The number may be negative indicating a relative previous
- buffer and may optionally be wrapped in curly brackets for
- safer parsing.
- \g{name} [5] Named backreference
- \k<name> [5] Named backreference
- \K [6] Keep the stuff left of the \K, don't include it in $&
- \N [7] Any character but \n (experimental). Not affected by /s
- modifier
- \v [3] Vertical whitespace
- \V [3] Not vertical whitespace
- \h [3] Horizontal whitespace
- \H [3] Not horizontal whitespace
- \R [4] Linebreak
+ Sequence Note Description
+ [...] [1] Match a character according to the rules of the
+ bracketed character class defined by the "...".
+ Example: [a-z] matches "a" or "b" or "c" ... or "z"
+ [[:...:]] [2] Match a character according to the rules of the POSIX
+ character class "..." within the outer bracketed
+ character class. Example: [[:upper:]] matches any
+ uppercase character.
+ \w [3] Match a "word" character (alphanumeric plus "_", plus
+ other connector punctuation chars plus Unicode
+ marks)
+ \W [3] Match a non-"word" character
+ \s [3] Match a whitespace character
+ \S [3] Match a non-whitespace character
+ \d [3] Match a decimal digit character
+ \D [3] Match a non-digit character
+ \pP [3] Match P, named property. Use \p{Prop} for longer names
+ \PP [3] Match non-P
+ \X [4] Match Unicode "eXtended grapheme cluster"
+ \C Match a single C-language char (octet) even if that is
+ part of a larger UTF-8 character. Thus it breaks up
+ characters into their UTF-8 bytes, so you may end up
+ with malformed pieces of UTF-8. Unsupported in
+ lookbehind.
+ \1 [5] Backreference to a specific capture group or buffer.
+ '1' may actually be any positive integer.
+ \g1 [5] Backreference to a specific or previous group,
+ \g{-1} [5] The number may be negative indicating a relative
+ previous group and may optionally be wrapped in
+ curly brackets for safer parsing.
+ \g{name} [5] Named backreference
+ \k<name> [5] Named backreference
+ \K [6] Keep the stuff left of the \K, don't include it in $&
+ \N [7] Any character but \n (experimental). Not affected by
+ /s modifier
+ \v [3] Vertical whitespace
+ \V [3] Not vertical whitespace
+ \h [3] Horizontal whitespace
+ \H [3] Not horizontal whitespace
+ \R [4] Linebreak
=over 4
@@ -307,7 +570,7 @@ See L<perlrebackslash/Misc> for details.
=item [5]
-See L</Capture buffers> below for details.
+See L</Capture groups> below for details.
=item [6]
@@ -316,9 +579,9 @@ See L</Extended Patterns> below for details.
=item [7]
Note that C<\N> has two meanings. When of the form C<\N{NAME}>, it matches the
-character whose name is C<NAME>; and similarly when of the form
-C<\N{U+I<wide hex char>}>, it matches the character whose Unicode ordinal is
-I<wide hex char>. Otherwise it matches any character but C<\n>.
+character or character sequence whose name is C<NAME>; and similarly
+when of the form C<\N{U+I<hex>}>, it matches the character whose Unicode
+code point is I<hex>. Otherwise it matches any character but C<\n>.
=back
@@ -355,19 +618,20 @@ The C<\G> assertion can be used to chain global matches (using
C<m//g>), as described in L<perlop/"Regexp Quote-Like Operators">.
It is also useful when writing C<lex>-like scanners, when you have
several patterns that you want to match against consequent substrings
-of your string, see the previous reference. The actual location
+of your string; see the previous reference. The actual location
where C<\G> will match can also be influenced by using C<pos()> as
an lvalue: see L<perlfunc/pos>. Note that the rule for zero-length
-matches is modified somewhat, in that contents to the left of C<\G> is
+matches (see L</"Repeated Patterns Matching a Zero-length Substring">)
+is modified somewhat, in that contents to the left of C<\G> are
not counted when determining the length of the match. Thus the following
will not match forever:
X<\G>
- $str = 'ABC';
- pos($str) = 1;
- while (/.\G/g) {
- print $&;
- }
+ my $string = 'ABC';
+ pos($string) = 1;
+ while ($string =~ /(.\G)/g) {
+ print $1;
+ }
It will print 'A' and then terminate, as it considers the match to
be zero-width, and thus will not match at the same position twice in a
@@ -376,90 +640,124 @@ row.
It is worth noting that C<\G> improperly used can result in an infinite
loop. Take care when using patterns that include C<\G> in an alternation.
-=head3 Capture buffers
+=head3 Capture groups
-The bracketing construct C<( ... )> creates capture buffers. To refer
-to the current contents of a buffer later on, within the same pattern,
-use \1 for the first, \2 for the second, and so on.
-Outside the match use "$" instead of "\". (The
-\<digit> notation works in certain circumstances outside
-the match. See L</Warning on \1 Instead of $1> below for details.)
-Referring back to another part of the match is called a
-I<backreference>.
+The bracketing construct C<( ... )> creates capture groups (also referred to as
+capture buffers). To refer to the current contents of a group later on, within
+the same pattern, use C<\g1> (or C<\g{1}>) for the first, C<\g2> (or C<\g{2}>)
+for the second, and so on.
+This is called a I<backreference>.
X<regex, capture buffer> X<regexp, capture buffer>
+X<regex, capture group> X<regexp, capture group>
X<regular expression, capture buffer> X<backreference>
-
-There is no limit to the number of captured substrings that you may
-use. However Perl also uses \10, \11, etc. as aliases for \010,
-\011, etc. (Recall that 0 means octal, so \011 is the character at
-number 9 in your coded character set; which would be the 10th character,
-a horizontal tab under ASCII.) Perl resolves this
-ambiguity by interpreting \10 as a backreference only if at least 10
-left parentheses have opened before it. Likewise \11 is a
-backreference only if at least 11 left parentheses have opened
-before it. And so on. \1 through \9 are always interpreted as
-backreferences.
-If the bracketing group did not match, the associated backreference won't
-match either. (This can happen if the bracketing group is optional, or
-in a different branch of an alternation.)
-
+X<regular expression, capture group> X<backreference>
X<\g{1}> X<\g{-1}> X<\g{name}> X<relative backreference> X<named backreference>
-In order to provide a safer and easier way to construct patterns using
-backreferences, Perl provides the C<\g{N}> notation (starting with perl
-5.10.0). The curly brackets are optional, however omitting them is less
-safe as the meaning of the pattern can be changed by text (such as digits)
-following it. When N is a positive integer the C<\g{N}> notation is
-exactly equivalent to using normal backreferences. When N is a negative
-integer then it is a relative backreference referring to the previous N'th
-capturing group. When the bracket form is used and N is not an integer, it
-is treated as a reference to a named buffer.
-
-Thus C<\g{-1}> refers to the last buffer, C<\g{-2}> refers to the
-buffer before that. For example:
+X<named capture buffer> X<regular expression, named capture buffer>
+X<named capture group> X<regular expression, named capture group>
+X<%+> X<$+{name}> X<< \k<name> >>
+There is no limit to the number of captured substrings that you may use.
+Groups are numbered with the leftmost open parenthesis being number 1, etc. If
+a group did not match, the associated backreference won't match either. (This
+can happen if the group is optional, or in a different branch of an
+alternation.)
+You can omit the C<"g">, and write C<"\1">, etc, but there are some issues with
+this form, described below.
+
+You can also refer to capture groups relatively, by using a negative number, so
+that C<\g-1> and C<\g{-1}> both refer to the immediately preceding capture
+group, and C<\g-2> and C<\g{-2}> both refer to the group before it. For
+example:
/
- (Y) # buffer 1
- ( # buffer 2
- (X) # buffer 3
- \g{-1} # backref to buffer 3
- \g{-3} # backref to buffer 1
+ (Y) # group 1
+ ( # group 2
+ (X) # group 3
+ \g{-1} # backref to group 3
+ \g{-3} # backref to group 1
)
/x
-and would match the same as C</(Y) ( (X) \3 \1 )/x>.
-
-Additionally, as of Perl 5.10.0 you may use named capture buffers and named
-backreferences. The notation is C<< (?<name>...) >> to declare and C<< \k<name> >>
-to reference. You may also use apostrophes instead of angle brackets to delimit the
-name; and you may use the bracketed C<< \g{name} >> backreference syntax.
-It's possible to refer to a named capture buffer by absolute and relative number as well.
-Outside the pattern, a named capture buffer is available via the C<%+> hash.
-When different buffers within the same pattern have the same name, C<$+{name}>
-and C<< \k<name> >> refer to the leftmost defined group. (Thus it's possible
-to do things with named capture buffers that would otherwise require C<(??{})>
-code to accomplish.)
-X<named capture buffer> X<regular expression, named capture buffer>
-X<%+> X<$+{name}> X<< \k<name> >>
+would match the same as C</(Y) ( (X) \g3 \g1 )/x>. This allows you to
+interpolate regexes into larger regexes and not have to worry about the
+capture groups being renumbered.
+
+You can dispense with numbers altogether and create named capture groups.
+The notation is C<(?E<lt>I<name>E<gt>...)> to declare and C<\g{I<name>}> to
+reference. (To be compatible with .Net regular expressions, C<\g{I<name>}> may
+also be written as C<\k{I<name>}>, C<\kE<lt>I<name>E<gt>> or C<\k'I<name>'>.)
+I<name> must not begin with a number, nor contain hyphens.
+When different groups within the same pattern have the same name, any reference
+to that name assumes the leftmost defined group. Named groups count in
+absolute and relative numbering, and so can also be referred to by those
+numbers.
+(It's possible to do things with named capture groups that would otherwise
+require C<(??{})>.)
+
+Capture group contents are dynamically scoped and available to you outside the
+pattern until the end of the enclosing block or until the next successful
+match, whichever comes first. (See L<perlsyn/"Compound Statements">.)
+You can refer to them by absolute number (using C<"$1"> instead of C<"\g1">,
+etc); or by name via the C<%+> hash, using C<"$+{I<name>}">.
+
+Braces are required in referring to named capture groups, but are optional for
+absolute or relative numbered ones. Braces are safer when creating a regex by
+concatenating smaller strings. For example if you have C<qr/$a$b/>, and C<$a>
+contained C<"\g1">, and C<$b> contained C<"37">, you would get C</\g137/> which
+is probably not what you intended.
+
+The C<\g> and C<\k> notations were introduced in Perl 5.10.0. Prior to that
+there were no named nor relative numbered capture groups. Absolute numbered
+groups were referred to using C<\1>,
+C<\2>, etc., and this notation is still
+accepted (and likely always will be). But it leads to some ambiguities if
+there are more than 9 capture groups, as C<\10> could mean either the tenth
+capture group, or the character whose ordinal in octal is 010 (a backspace in
+ASCII). Perl resolves this ambiguity by interpreting C<\10> as a backreference
+only if at least 10 left parentheses have opened before it. Likewise C<\11> is
+a backreference only if at least 11 left parentheses have opened before it.
+And so on. C<\1> through C<\9> are always interpreted as backreferences.
+There are several examples below that illustrate these perils. You can avoid
+the ambiguity by always using C<\g{}> or C<\g> if you mean capturing groups;
+and for octal constants always using C<\o{}>, or for C<\077> and below, using 3
+digits padded with leading zeros, since a leading zero implies an octal
+constant.
+
+The C<\I<digit>> notation also works in certain circumstances outside
+the pattern. See L</Warning on \1 Instead of $1> below for details.
Examples:
s/^([^ ]*) *([^ ]*)/$2 $1/; # swap first two words
- /(.)\1/ # find first doubled char
+ /(.)\g1/ # find first doubled char
and print "'$1' is the first doubled character\n";
/(?<char>.)\k<char>/ # ... a different way
and print "'$+{char}' is the first doubled character\n";
- /(?'char'.)\1/ # ... mix and match
+ /(?'char'.)\g1/ # ... mix and match
and print "'$1' is the first doubled character\n";
if (/Time: (..):(..):(..)/) { # parse out values
- $hours = $1;
- $minutes = $2;
- $seconds = $3;
+ $hours = $1;
+ $minutes = $2;
+ $seconds = $3;
}
+ /(.)(.)(.)(.)(.)(.)(.)(.)(.)\g10/ # \g10 is a backreference
+ /(.)(.)(.)(.)(.)(.)(.)(.)(.)\10/ # \10 is octal
+ /((.)(.)(.)(.)(.)(.)(.)(.)(.))\10/ # \10 is a backreference
+ /((.)(.)(.)(.)(.)(.)(.)(.)(.))\010/ # \010 is octal
+
+ $a = '(.)\1'; # Creates problems when concatenated.
+ $b = '(.)\g{1}'; # Avoids the problems.
+ "aa" =~ /${a}/; # True
+ "aa" =~ /${b}/; # True
+ "aa0" =~ /${a}0/; # False!
+ "aa0" =~ /${b}0/; # True
+ "aa\x08" =~ /${a}0/; # True!
+ "aa\x08" =~ /${b}0/; # False
+
Several special variables also refer back to portions of the previous
match. C<$+> returns whatever the last bracket match matched.
C<$&> returns the entire matched string. (At one point C<$0> did
@@ -471,14 +769,13 @@ extended patterns (see below), for example to assign a submatch to a
variable.
X<$+> X<$^N> X<$&> X<$`> X<$'>
-The numbered match variables ($1, $2, $3, etc.) and the related punctuation
-set (C<$+>, C<$&>, C<$`>, C<$'>, and C<$^N>) are all dynamically scoped
+These special variables, like the C<%+> hash and the numbered match variables
+(C<$1>, C<$2>, C<$3>, etc.) are dynamically scoped
until the end of the enclosing block or until the next successful
match, whichever comes first. (See L<perlsyn/"Compound Statements">.)
X<$+> X<$^N> X<$&> X<$`> X<$'>
X<$1> X<$2> X<$3> X<$4> X<$5> X<$6> X<$7> X<$8> X<$9>
-
B<NOTE>: Failed matches in Perl do not reset the match variables,
which makes it easier to write code that tests for a series of more
specific cases and remembers the best match.
@@ -486,7 +783,7 @@ specific cases and remembers the best match.
B<WARNING>: Once Perl sees that you need one of C<$&>, C<$`>, or
C<$'> anywhere in the program, it has to provide them for every
pattern match. This may substantially slow your program. Perl
-uses the same mechanism to produce $1, $2, etc, so you also pay a
+uses the same mechanism to produce C<$1>, C<$2>, etc, so you also pay a
price for each pattern that contains capturing parentheses. (To
avoid this cost while retaining the grouping behaviour, use the
extended regular expression C<(?: ... )> instead.) But if you never
@@ -536,7 +833,8 @@ consult L<perlop/"Gory details of parsing quoted constructs">.
=head2 Extended Patterns
Perl also defines a consistent extension syntax for features not
-found in standard tools like B<awk> and B<lex>. The syntax is a
+found in standard tools like B<awk> and
+B<lex>. The syntax for most of these is a
pair of parentheses with a question mark as the first thing within
the parentheses. The character after the question mark indicates
the extension.
@@ -550,7 +848,7 @@ status.
A question mark was chosen for this and for the minimal-matching
construct because 1) question marks are rare in older regular
expressions, and 2) whenever you see one, you should stop and
-"question" exactly what is going on. That's psychology...
+"question" exactly what is going on. That's psychology....
=over 10
@@ -562,16 +860,19 @@ whitespace formatting, a simple C<#> will suffice. Note that Perl closes
the comment as soon as it sees a C<)>, so there is no way to put a literal
C<)> in the comment.
-=item C<(?pimsx-imsx)>
-X<(?)>
+=item C<(?adlupimsx-imsx)>
+
+=item C<(?^alupimsx)>
+X<(?)> X<(?^)>
One or more embedded pattern-match modifiers, to be turned on (or
turned off, if preceded by C<->) for the remainder of the pattern or
-the remainder of the enclosing pattern group (if any). This is
-particularly useful for dynamic patterns, such as those read in from a
+the remainder of the enclosing pattern group (if any).
+
+This is particularly useful for dynamic patterns, such as those read in from a
configuration file, taken from an argument, or specified in a table
-somewhere. Consider the case where some patterns want to be case
-sensitive and some do not: The case insensitive ones merely need to
+somewhere. Consider the case where some patterns want to be
+case-sensitive and some do not: The case-insensitive ones merely need to
include C<(?i)> at the front of the pattern. For example:
$pattern = "foobar";
@@ -584,7 +885,7 @@ include C<(?i)> at the front of the pattern. For example:
These modifiers are restored at the end of the enclosing group. For example,
- ( (?i) blah ) \s+ \1
+ ( (?i) blah ) \s+ \g1
will match C<blah> in any case, some spaces, and an exact (I<including the case>!)
repetition of the previous word, assuming the C</x> modifier, and no C</i>
@@ -594,15 +895,33 @@ These modifiers do not carry over into named subpatterns called in the
enclosing group. In other words, a pattern such as C<((?i)(&NAME))> does not
change the case-sensitivity of the "NAME" pattern.
-Note that the C<p> modifier is special in that it can only be enabled,
-not disabled, and that its presence anywhere in a pattern has a global
-effect. Thus C<(?-p)> and C<(?-p:...)> are meaningless and will warn
-when executed under C<use warnings>.
+Any of these modifiers can be set to apply globally to all regular
+expressions compiled within the scope of a C<use re>. See
+L<re/"'/flags' mode">.
+
+Starting in Perl 5.14, a C<"^"> (caret or circumflex accent) immediately
+after the C<"?"> is a shorthand equivalent to C<d-imsx>. Flags (except
+C<"d">) may follow the caret to override it.
+But a minus sign is not legal with it.
+
+Note that the C<a>, C<d>, C<l>, C<p>, and C<u> modifiers are special in
+that they can only be enabled, not disabled, and the C<a>, C<d>, C<l>, and
+C<u> modifiers are mutually exclusive: specifying one de-specifies the
+others, and a maximum of one (or two C<a>'s) may appear in the
+construct. Thus, for
+example, C<(?-p)> will warn when compiled under C<use warnings>;
+C<(?-d:...)> and C<(?dl:...)> are fatal errors.
+
+Note also that the C<p> modifier is special in that its presence
+anywhere in a pattern has a global effect.
=item C<(?:pattern)>
X<(?:)>
-=item C<(?imsx-imsx:pattern)>
+=item C<(?adluimsx-imsx:pattern)>
+
+=item C<(?^aluimsx:pattern)>
+X<(?^:)>
This is for clustering, not capturing; it groups subexpressions like
"()", but doesn't make backreferences as "()" does. So
@@ -617,7 +936,7 @@ but doesn't spit out extra fields. It's also cheaper not to capture
characters if you don't need to.
Any letters between C<?> and C<:> act as flags modifiers as with
-C<(?imsx-imsx)>. For example,
+C<(?adluimsx-imsx)>. For example,
/(?s-i:more.*than).*million/i
@@ -625,26 +944,57 @@ is equivalent to the more verbose
/(?:(?s-i)more.*than).*million/i
+Starting in Perl 5.14, a C<"^"> (caret or circumflex accent) immediately
+after the C<"?"> is a shorthand equivalent to C<d-imsx>. Any positive
+flags (except C<"d">) may follow the caret, so
+
+ (?^x:foo)
+
+is equivalent to
+
+ (?x-ims:foo)
+
+The caret tells Perl that this cluster doesn't inherit the flags of any
+surrounding pattern, but uses the system defaults (C<d-imsx>),
+modified by any flags specified.
+
+The caret allows for simpler stringification of compiled regular
+expressions. These look like
+
+ (?^:pattern)
+
+with any non-default flags appearing between the caret and the colon.
+A test that looks at such stringification thus doesn't need to have the
+system default flags hard-coded in it, just the caret. If new flags are
+added to Perl, the meaning of the caret's expansion will change to include
+the default for those flags, so the test will still work, unchanged.
+
+Specifying a negative flag after the caret is an error, as the flag is
+redundant.
+
+Mnemonic for C<(?^...)>: A fresh beginning since the usual use of a caret is
+to match at the beginning.
+
=item C<(?|pattern)>
X<(?|)> X<Branch reset>
This is the "branch reset" pattern, which has the special property
-that the capture buffers are numbered from the same starting point
+that the capture groups are numbered from the same starting point
in each alternation branch. It is available starting from perl 5.10.0.
-Capture buffers are numbered from left to right, but inside this
+Capture groups are numbered from left to right, but inside this
construct the numbering is restarted for each branch.
-The numbering within each branch will be as normal, and any buffers
+The numbering within each branch will be as normal, and any groups
following this construct will be numbered as though the construct
contained only one branch, that being the one with the most capture
-buffers in it.
+groups in it.
-This construct will be useful when you want to capture one of a
+This construct is useful when you want to capture one of a
number of alternative matches.
Consider the following pattern. The numbers underneath show in
-which buffer the captured content will be stored.
+which group the captured content will be stored.
# before ---------------branch-reset----------- after
@@ -653,7 +1003,7 @@ which buffer the captured content will be stored.
Be careful when using the branch reset pattern in combination with
named captures. Named captures are implemented as being aliases to
-numbered buffers holding the captures, and that interferes with the
+numbered groups holding the captures, and that interferes with the
implementation of the branch reset pattern. If you are using named
captures in a branch reset pattern, it's best to use the same names,
in the same order, in each of the alternations:
@@ -667,13 +1017,13 @@ Not doing so may lead to surprises:
say $+ {a}; # Prints '12'
say $+ {b}; # *Also* prints '12'.
-The problem here is that both the buffer named C<< a >> and the buffer
-named C<< b >> are aliases for the buffer belonging to C<< $1 >>.
+The problem here is that both the group named C<< a >> and the group
+named C<< b >> are aliases for the group belonging to C<< $1 >>.
=item Look-Around Assertions
X<look-around assertion> X<lookaround assertion> X<look-around> X<lookaround>
-Look-around assertions are zero width patterns which match a specific
+Look-around assertions are zero-width patterns which match a specific
pattern without including it in C<$&>. Positive assertions match when
their subpattern matches, negative assertions match when their subpattern
fails. Look-behind matches text up to the current match position,
@@ -698,14 +1048,7 @@ use this for look-behind.
If you are looking for a "bar" that isn't preceded by a "foo", C</(?!foo)bar/>
will not do what you want. That's because the C<(?!foo)> is just saying that
the next thing cannot be "foo"--and it's not, it's a "bar", so "foobar" will
-match. You would have to do something like C</(?!foo)...bar/> for that. We
-say "like" because there's the case of your "bar" not having three characters
-before it. You could cover that this way: C</(?:(?!foo)...|^.{0,2})bar/>.
-Sometimes it's still easier just to say:
-
- if (/bar/ && $` !~ /foo$/)
-
-For look-behind see below.
+match. Use look-behind instead (see below).
=item C<(?<=pattern)> C<\K>
X<(?<=)> X<look-behind, positive> X<lookbehind, positive> X<\K>
@@ -716,7 +1059,7 @@ Works only for fixed-width look-behind.
There is a special form of this construct, called C<\K>, which causes the
regex engine to "keep" everything it had matched prior to the C<\K> and
-not include it in C<$&>. This effectively provides variable length
+not include it in C<$&>. This effectively provides variable-length
look-behind. The use of C<\K> inside of another look-around assertion
is allowed, but the behaviour is currently not well defined.
@@ -745,18 +1088,20 @@ only for fixed-width look-behind.
=item C<< (?<NAME>pattern) >>
X<< (?<NAME>) >> X<(?'NAME')> X<named capture> X<capture>
-A named capture buffer. Identical in every respect to normal capturing
-parentheses C<()> but for the additional fact that C<%+> or C<%-> may be
-used after a successful match to refer to a named buffer. See C<perlvar>
+A named capture group. Identical in every respect to normal capturing
+parentheses C<()> but for the additional fact that the group
+can be referred to by name in various regular expression
+constructs (like C<\g{NAME}>) and can be accessed by name
+after a successful match via C<%+> or C<%->. See L<perlvar>
for more details on the C<%+> and C<%-> hashes.
-If multiple distinct capture buffers have the same name then the
-$+{NAME} will refer to the leftmost defined buffer in the match.
+If multiple distinct capture groups have the same name then the
+$+{NAME} will refer to the leftmost defined group in the match.
The forms C<(?'NAME'pattern)> and C<< (?<NAME>pattern) >> are equivalent.
B<NOTE:> While the notation of this construct is the same as the similar
-function in .NET regexes, the behavior is not. In Perl the buffers are
+function in .NET regexes, the behavior is not. In Perl the groups are
numbered sequentially regardless of being named or not. Thus in the
pattern
@@ -823,16 +1168,16 @@ C<local>ization are undone, so that
$_ = 'a' x 8;
m<
- (?{ $cnt = 0 }) # Initialize $cnt.
+ (?{ $cnt = 0 }) # Initialize $cnt.
(
a
(?{
- local $cnt = $cnt + 1; # Update $cnt, backtracking-safe.
+ local $cnt = $cnt + 1; # Update $cnt, backtracking-safe.
})
)*
aaaa
- (?{ $res = $cnt }) # On success copy to non-localized
- # location.
+ (?{ $res = $cnt }) # On success copy to
+ # non-localized location.
>x;
will set C<$res = 4>. Note that after the match, C<$cnt> returns to the globally
@@ -852,8 +1197,8 @@ L<"Backtracking">.
For reasons of security, this construct is forbidden if the regular
expression involves run-time interpolation of variables, unless the
perilous C<use re 'eval'> pragma has been used (see L<re>), or the
-variables contain results of C<qr//> operator (see
-L<perlop/"qr/STRINGE<sol>msixpo">).
+variables contain results of the C<qr//> operator (see
+L<perlop/"qr/STRINGE<sol>msixpodual">).
This restriction is due to the wide-spread and remarkably convenient
custom of using run-time determined strings as patterns. For example:
@@ -874,10 +1219,11 @@ B<WARNING>: Use of lexical (C<my>) variables in these blocks is
broken. The result is unpredictable and will make perl unstable. The
workaround is to use global (C<our>) variables.
-B<WARNING>: Because Perl's regex engine is currently not re-entrant,
-interpolated code may not invoke the regex engine either directly with
+B<WARNING>: In perl 5.12.x and earlier, the regex engine
+was not re-entrant, so interpolated code could not
+safely invoke the regex engine either directly with
C<m//> or C<s///>), or indirectly with functions such as
-C<split>. Invoking the regex engine in these blocks will make perl
+C<split>. Invoking the regex engine in these blocks would make perl
unstable.
=item C<(??{ code })>
@@ -891,11 +1237,11 @@ due to the effect of future optimisations in the regex engine.
This is a "postponed" regular subexpression. The C<code> is evaluated
at run time, at the moment this subexpression may match. The result
-of evaluation is considered as a regular expression and matched as
+of evaluation is considered a regular expression and matched as
if it were inserted instead of this construct. Note that this means
-that the contents of capture buffers defined inside an eval'ed pattern
+that the contents of capture groups defined inside an eval'ed pattern
are not available outside of the pattern, and vice versa, there is no
-way for the inner pattern to refer to a capture buffer defined outside.
+way for the inner pattern to refer to a capture group defined outside.
Thus,
('a' x 100)=~/(??{'(.)' x 100})/
@@ -908,14 +1254,14 @@ where the C<code> ends are currently somewhat convoluted.
The following pattern matches a parenthesized group:
$re = qr{
- \(
- (?:
- (?> [^()]+ ) # Non-parens without backtracking
- |
- (??{ $re }) # Group with matching parens
- )*
- \)
- }x;
+ \(
+ (?:
+ (?> [^()]+ ) # Non-parens without backtracking
+ |
+ (??{ $re }) # Group with matching parens
+ )*
+ \)
+ }x;
See also C<(?PARNO)> for a different, more efficient way to accomplish
the same task.
@@ -923,12 +1269,12 @@ the same task.
For reasons of security, this construct is forbidden if the regular
expression involves run-time interpolation of variables, unless the
perilous C<use re 'eval'> pragma has been used (see L<re>), or the
-variables contain results of C<qr//> operator (see
-L<perlop/"qrE<sol>STRINGE<sol>msixpo">).
+variables contain results of the C<qr//> operator (see
+L<perlop/"qrE<sol>STRINGE<sol>msixpodual">).
-Because perl's regex engine is not currently re-entrant, delayed
-code may not invoke the regex engine either directly with C<m//> or C<s///>),
-or indirectly with functions such as C<split>.
+In perl 5.12.x and earlier, because the regex engine was not re-entrant,
+delayed code could not safely invoke the regex engine either directly with
+C<m//> or C<s///>), or indirectly with functions such as C<split>.
Recursing deeper than 50 times without consuming any input string will
result in a fatal error. The maximum depth is compiled into perl, so
@@ -940,20 +1286,20 @@ X<regex, recursive> X<regexp, recursive> X<regular expression, recursive>
X<regex, relative recursion>
Similar to C<(??{ code })> except it does not involve compiling any code,
-instead it treats the contents of a capture buffer as an independent
-pattern that must match at the current position. Capture buffers
+instead it treats the contents of a capture group as an independent
+pattern that must match at the current position. Capture groups
contained by the pattern will have the value as determined by the
outermost recursion.
PARNO is a sequence of digits (not starting with 0) whose value reflects
-the paren-number of the capture buffer to recurse to. C<(?R)> recurses to
+the paren-number of the capture group to recurse to. C<(?R)> recurses to
the beginning of the whole pattern. C<(?0)> is an alternate syntax for
C<(?R)>. If PARNO is preceded by a plus or minus sign then it is assumed
-to be relative, with negative numbers indicating preceding capture buffers
+to be relative, with negative numbers indicating preceding capture groups
and positive ones following. Thus C<(?-1)> refers to the most recently
-declared buffer, and C<(?+1)> indicates the next buffer to be declared.
+declared group, and C<(?+1)> indicates the next group to be declared.
Note that the counting for relative recursion differs from that of
-relative backreferences, in that with recursion unclosed buffers B<are>
+relative backreferences, in that with recursion unclosed groups B<are>
included.
The following pattern matches a function foo() which may contain
@@ -988,7 +1334,7 @@ the output produced should be the following:
$2 = (bar(baz)+baz(bop))
$3 = bar(baz)+baz(bop)
-If there is no corresponding capture buffer defined, then it is a
+If there is no corresponding capture group defined, then it is a
fatal error. Recursing deeper than 50 times without consuming any input
string will also result in a fatal error. The maximum depth is compiled
into perl, so changing it requires a custom build.
@@ -1028,10 +1374,14 @@ X<(?()>
=item C<(?(condition)yes-pattern)>
-Conditional expression. C<(condition)> should be either an integer in
+Conditional expression. Matches C<yes-pattern> if C<condition> yields
+a true value, matches C<no-pattern> otherwise. A missing pattern always
+matches.
+
+C<(condition)> should be either an integer in
parentheses (which is valid if the corresponding pair of parentheses
matched), a look-ahead/look-behind/evaluate zero-width assertion, a
-name in angle brackets or single quotes (which is valid if a buffer
+name in angle brackets or single quotes (which is valid if a group
with the given name matched), or the special symbol (R) (true when
evaluated inside of recursion or eval). Additionally the R may be
followed by a number, (which will be true when evaluated when recursing
@@ -1044,15 +1394,20 @@ Here's a summary of the possible predicates:
=item (1) (2) ...
-Checks if the numbered capturing buffer has matched something.
+Checks if the numbered capturing group has matched something.
=item (<NAME>) ('NAME')
-Checks if a buffer with the given name has matched something.
+Checks if a group with the given name has matched something.
+
+=item (?=...) (?!...) (?<=...) (?<!...)
+
+Checks whether the pattern matches (or does not match, for the '!'
+variants).
=item (?{ CODE })
-Treats the code block as the condition.
+Treats the return value of the code block as the condition.
=item (R)
@@ -1092,9 +1447,9 @@ For example:
matches a chunk of non-parentheses, possibly included in parentheses
themselves.
-A special form is the C<(DEFINE)> predicate, which never executes directly
-its yes-pattern, and does not allow a no-pattern. This allows to define
-subpatterns which will be executed only by using the recursion mechanism.
+A special form is the C<(DEFINE)> predicate, which never executes its
+yes-pattern directly, and does not allow a no-pattern. This allows one to
+define subpatterns which will be executed only by the recursion mechanism.
This way, you can define a set of regular expression rules that can be
bundled into any pattern you choose.
@@ -1113,8 +1468,8 @@ An example of how this might be used is as follows:
(?<ADRESS_PAT>....)
)/x
-Note that capture buffers matched inside of recursion are not accessible
-after the recursion returns, so the extra layer of capturing buffers is
+Note that capture groups matched inside of recursion are not accessible
+after the recursion returns, so the extra layer of capturing groups is
necessary. Thus C<$+{NAME_PAT}> would not be defined even though
C<$+{NAME}> would be.
@@ -1138,9 +1493,13 @@ group C<ab> (see L<"Backtracking">). In particular, C<a*> inside
C<a*ab> will match fewer characters than a standalone C<a*>, since
this makes the tail match.
+C<< (?>pattern) >> does not disable backtracking altogether once it has
+matched. It is still possible to backtrack past the construct, but not
+into it. So C<< ((?>a*)|(?>b*))ar >> will still match "bar".
+
An effect similar to C<< (?>pattern) >> may be achieved by writing
-C<(?=(pattern))\1>. This matches the same substring as a standalone
-C<a+>, and the following C<\1> eats the matched string; it therefore
+C<(?=(pattern))\g{-1}>. This matches the same substring as a standalone
+C<a+>, and the following C<\g{-1}> eats the matched string; it therefore
makes a zero-length assertion into an analogue of C<< (?>...) >>.
(The difference between these two constructs is that the second one
uses a capturing group, thus shifting ordinals of backreferences
@@ -1150,7 +1509,7 @@ Consider this pattern:
m{ \(
(
- [^()]+ # x+
+ [^()]+ # x+
|
\( [^()]* \)
)+
@@ -1170,7 +1529,7 @@ hung. However, a tiny change to this pattern
m{ \(
(
- (?> [^()]+ ) # change x+ above to (?> x+ )
+ (?> [^()]+ ) # change x+ above to (?> x+ )
|
\( [^()]* \)
)+
@@ -1180,7 +1539,8 @@ hung. However, a tiny change to this pattern
which uses C<< (?>...) >> matches exactly when the one above does (verifying
this yourself would be a productive exercise), but finishes in a fourth
the time when used on a similar string with 1000000 C<a>s. Be aware,
-however, that this pattern currently triggers a warning message under
+however, that, when this construct is followed by a
+quantifier, it currently triggers a warning message under
the C<use warnings> pragma or B<-w> switch saying it
C<"matches null string many times in regex">.
@@ -1251,7 +1611,7 @@ C<(*MARK:NAME)> pattern executed. See the explanation for the
C<(*MARK:NAME)> verb below for more details.
B<NOTE:> C<$REGERROR> and C<$REGMARK> are not magic variables like C<$1>
-and most other regex related variables. They are not local to a scope, nor
+and most other regex-related variables. They are not local to a scope, nor
readonly, but instead are volatile package variables similar to C<$AUTOLOAD>.
Use C<local> to localize changes to them to a specific scope if necessary.
@@ -1299,7 +1659,7 @@ If we add a C<(*PRUNE)> before the count like the following
'aaab' =~ /a+b?(*PRUNE)(?{print "$&\n"; $count++})(*FAIL)/;
print "Count=$count\n";
-we prevent backtracking and find the count of the longest matching
+we prevent backtracking and find the count of the longest matching string
at each matching starting point like so:
aaab
@@ -1333,7 +1693,7 @@ encountered, then the C<(*SKIP)> operator has no effect. When used
without a name the "skip point" is where the match point was when
executing the (*SKIP) pattern.
-Compare the following to the examples in C<(*PRUNE)>, note the string
+Compare the following to the examples in C<(*PRUNE)>; note the string
is twice as long:
'aaabaaab' =~ /a+b?(*SKIP)(?{print "$&\n"; $count++})(*FAIL)/;
@@ -1368,7 +1728,7 @@ name of the most recently executed C<(*MARK:NAME)> that was involved
in the match.
This can be used to determine which branch of a pattern was matched
-without using a separate capture buffer for each branch, which in turn
+without using a separate capture group for each branch, which in turn
can result in a performance improvement, as perl cannot optimize
C</(?:(x)|(y)|(z))/> as efficiently as something like
C</(?:x(*MARK:x)|y(*MARK:y)|z(*MARK:z))/>.
@@ -1463,14 +1823,14 @@ whether there is actually more to match in the string. When inside of a
nested pattern, such as recursion, or in a subpattern dynamically generated
via C<(??{})>, only the innermost pattern is ended immediately.
-If the C<(*ACCEPT)> is inside of capturing buffers then the buffers are
+If the C<(*ACCEPT)> is inside of capturing groups then the groups are
marked as ended at the point at which the C<(*ACCEPT)> was encountered.
For instance:
'AB' =~ /(A (A|B(*ACCEPT)|C) D)(E)/x;
will match, and C<$1> will be C<AB> and C<$2> will be C<B>, C<$3> will not
-be set. If another branch in the inner parentheses were matched, such as in the
+be set. If another branch in the inner parentheses was matched, such as in the
string 'ACDE', then the C<D> and C<E> would have to be matched as well.
=back
@@ -1502,7 +1862,7 @@ word following "foo" in the string "Food is on the foo table.":
$_ = "Food is on the foo table.";
if ( /\b(foo)\s+(\w+)/i ) {
- print "$2 follows $1.\n";
+ print "$2 follows $1.\n";
}
When the match runs, the first part of the regular expression (C<\b(foo)>)
@@ -1520,7 +1880,7 @@ like this:
$_ = "The food is under the bar in the barn.";
if ( /foo(.*)bar/ ) {
- print "got <$1>\n";
+ print "got <$1>\n";
}
Which perhaps unexpectedly yields:
@@ -1540,8 +1900,8 @@ of a string, and you also want to keep the preceding part of the match.
So you write this:
$_ = "I have 2 numbers: 53147";
- if ( /(.*)(\d*)/ ) { # Wrong!
- print "Beginning is <$1>, number is <$2>.\n";
+ if ( /(.*)(\d*)/ ) { # Wrong!
+ print "Beginning is <$1>, number is <$2>.\n";
}
That won't work at all, because C<.*> was greedy and gobbled up the
@@ -1554,23 +1914,23 @@ Here are some variants, most of which don't work:
$_ = "I have 2 numbers: 53147";
@pats = qw{
- (.*)(\d*)
- (.*)(\d+)
- (.*?)(\d*)
- (.*?)(\d+)
- (.*)(\d+)$
- (.*?)(\d+)$
- (.*)\b(\d+)$
- (.*\D)(\d+)$
+ (.*)(\d*)
+ (.*)(\d+)
+ (.*?)(\d*)
+ (.*?)(\d+)
+ (.*)(\d+)$
+ (.*?)(\d+)$
+ (.*)\b(\d+)$
+ (.*\D)(\d+)$
};
for $pat (@pats) {
- printf "%-12s ", $pat;
- if ( /$pat/ ) {
- print "<$1> <$2>\n";
- } else {
- print "FAIL\n";
- }
+ printf "%-12s ", $pat;
+ if ( /$pat/ ) {
+ print "<$1> <$2>\n";
+ } else {
+ print "FAIL\n";
+ }
}
That will print out:
@@ -1596,8 +1956,8 @@ trickier. Imagine you'd like to find a sequence of non-digits not
followed by "123". You might try to write that as
$_ = "ABC123";
- if ( /^\D*(?!123)/ ) { # Wrong!
- print "Yup, no 123 in $_\n";
+ if ( /^\D*(?!123)/ ) { # Wrong!
+ print "Yup, no 123 in $_\n";
}
But that isn't going to match; at least, not the way you're hoping. It
@@ -1629,7 +1989,7 @@ let C<\D*> expand to "ABC", this would have caused the whole pattern to
fail.
The search engine will initially match C<\D*> with "ABC". Then it will
-try to match C<(?!123> with "123", which fails. But because
+try to match C<(?!123)> with "123", which fails. But because
a quantifier (C<\D*>) has been used in the regular expression, the
search engine can backtrack and retry the match differently
in the hope of matching the complete regular expression.
@@ -1677,12 +2037,12 @@ match takes a long time to finish.
A powerful tool for optimizing such beasts is what is known as an
"independent group",
-which does not backtrack (see L<C<< (?>pattern) >>>). Note also that
+which does not backtrack (see L</C<< (?>pattern) >>>). Note also that
zero-length look-ahead/look-behind assertions will not backtrack to make
the tail match, since they are in "logical" context: only
whether they match is considered relevant. For an example
where side-effects of look-ahead I<might> have influenced the
-following match, see L<C<< (?>pattern) >>>.
+following match, see L</C<< (?>pattern) >>>.
=head2 Version 8 Regular Expressions
X<regular expression, version 8> X<regex, version 8> X<regexp, version 8>
@@ -1698,7 +2058,7 @@ character; "\\" matches a "\"). This escape mechanism is also required
for the character used as the pattern delimiter.
A series of characters matches that series of characters in the target
-string, so the pattern C<blurfl> would match "blurfl" in the target
+string, so the pattern C<blurfl> would match "blurfl" in the target
string.
You can specify a character class, by enclosing a list of characters
@@ -1727,9 +2087,9 @@ spell out the character sets in full.
Characters may be specified using a metacharacter syntax much like that
used in C: "\n" matches a newline, "\t" a tab, "\r" a carriage return,
"\f" a form feed, etc. More generally, \I<nnn>, where I<nnn> is a string
-of octal digits, matches the character whose coded character set value
+of three octal digits, matches the character whose coded character set value
is I<nnn>. Similarly, \xI<nn>, where I<nn> are hexadecimal digits,
-matches the character whose numeric value is I<nn>. The expression \cI<x>
+matches the character whose ordinal is I<nn>. The expression \cI<x>
matches the character control-I<x>. Finally, the "." metacharacter
matches any character except "\n" (unless you use C</s>).
@@ -1737,9 +2097,9 @@ You can specify a series of alternatives for a pattern using "|" to
separate them, so that C<fee|fie|foe> will match any of "fee", "fie",
or "foe" in the target string (as would C<f(e|i|o)e>). The
first alternative includes everything from the last pattern delimiter
-("(", "[", or the beginning of the pattern) up to the first "|", and
+("(", "(?:", etc. or the beginning of the pattern) up to the first "|", and
the last alternative contains everything from the last "|" to the next
-pattern delimiter. That's why it's common practice to include
+closing pattern delimiter. That's why it's common practice to include
alternatives in parentheses: to minimize confusion about where they
start and end.
@@ -1757,10 +2117,10 @@ so if you write C<[fee|fie|foe]> you're really only matching C<[feio|]>.
Within a pattern, you may designate subpatterns for later reference
by enclosing them in parentheses, and you may refer back to the
I<n>th subpattern later in the pattern using the metacharacter
-\I<n>. Subpatterns are numbered based on the left to right order
+\I<n> or \gI<n>. Subpatterns are numbered based on the left to right order
of their opening parenthesis. A backreference matches whatever
actually matched the subpattern in the string being examined, not
-the rules for that subpattern. Therefore, C<(0|0x)\d*\s\1\d*> will
+the rules for that subpattern. Therefore, C<(0|0x)\d*\s\g1\d*> will
match "0x1234 0x4321", but not "0x1234 01234", because subpattern
1 matched "0x", even though the rule C<0|0x> could potentially match
the leading 0 in the second number.
@@ -1780,7 +2140,7 @@ meaning of C<\1> is kludged in for C<s///>. However, if you get into the habit
of doing that, you get yourself into trouble if you then add an C</e>
modifier.
- s/(\d+)/ \1 + 1 /eg; # causes warning under -w
+ s/(\d+)/ \1 + 1 /eg; # causes warning under -w
Or if you try to do
@@ -1821,7 +2181,7 @@ However, long experience has shown that many programming tasks may
be significantly simplified by using repeated subexpressions that
may match zero-length substrings. Here's a simple example being:
- @chars = split //, $string; # // is not magic in split
+ @chars = split //, $string; # // is not magic in split
($whitewashed = $string) =~ s/()/ /g; # parens avoid magic s// /
Thus Perl allows such constructs, by I<forcefully breaking
@@ -1837,12 +2197,34 @@ zero-length substring. Thus
is made equivalent to
- m{ (?: NON_ZERO_LENGTH )*
- |
- (?: ZERO_LENGTH )?
- }x;
+ m{ (?: NON_ZERO_LENGTH )* (?: ZERO_LENGTH )? }x;
+
+For example, this program
-The higher level-loops preserve an additional state between iterations:
+ #!perl -l
+ "aaaaab" =~ /
+ (?:
+ a # non-zero
+ | # or
+ (?{print "hello"}) # print hello whenever this
+ # branch is tried
+ (?=(b)) # zero-width assertion
+ )* # any number of times
+ /x;
+ print $&;
+ print $1;
+
+prints
+
+ hello
+ aaaaa
+ b
+
+Notice that "hello" is only printed once, as when Perl sees that the sixth
+iteration of the outermost C<(?:)*> matches a zero-length string, it stops
+the C<*>.
+
+The higher-level loops preserve an additional state between iterations:
whether the last match was zero-length. To break the loop, the following
match after a zero-length match is prohibited to have a length of zero.
This prohibition interacts with backtracking (see L<"Backtracking">),
@@ -1873,7 +2255,7 @@ Each of the elementary pieces of regular expressions which were described
before (such as C<ab> or C<\Z>) could match at most one substring
at the given position of the input string. However, in a typical regular
expression these elementary pieces are combined into more complicated
-patterns using combining operators C<ST>, C<S|T>, C<S*> etc
+patterns using combining operators C<ST>, C<S|T>, C<S*> etc.
(in these examples C<S> and C<T> are regular subexpressions).
Such combinations can include alternatives, leading to a problem of choice:
@@ -1902,11 +2284,11 @@ Consider two possible matches, C<AB> and C<A'B'>, C<A> and C<A'> are
substrings which can be matched by C<S>, C<B> and C<B'> are substrings
which can be matched by C<T>.
-If C<A> is better match for C<S> than C<A'>, C<AB> is a better
+If C<A> is a better match for C<S> than C<A'>, C<AB> is a better
match than C<A'B'>.
If C<A> and C<A'> coincide: C<AB> is a better match than C<AB'> if
-C<B> is better match for C<T> than C<B'>.
+C<B> is a better match for C<T> than C<B'>.
=item C<S|T>
@@ -1953,7 +2335,7 @@ only whether or not C<S> can match is important.
=item C<(??{ EXPR })>, C<(?PARNO)>
The ordering is the same as for the regular expression which is
-the result of EXPR, or the pattern contained by capture buffer PARNO.
+the result of EXPR, or the pattern contained by capture group PARNO.
=item C<(?(condition)yes-pattern|no-pattern)>
@@ -1970,8 +2352,13 @@ than a match at a later position.
=head2 Creating Custom RE Engines
-Overloaded constants (see L<overload>) provide a simple way to extend
-the functionality of the RE engine.
+As of Perl 5.10.0, one can create custom regular expression engines. This
+is not for the faint of heart, as they have to plug in at the C level. See
+L<perlreapi> for more details.
+
+As an alternative, overloaded constants (see L<overload>) provide a simple
+way to extend the functionality of the RE engine, by substituting one
+pattern for another.
Suppose that we want to enable a new RE escape-sequence C<\Y|> which
matches at a boundary between whitespace characters and non-whitespace
@@ -1994,7 +2381,7 @@ this:
# We must also take care of not escaping the legitimate \\Y|
# sequence, hence the presence of '\\' in the conversion rules.
my %rules = ( '\\' => '\\\\',
- 'Y|' => qr/(?=\S)(?<!\S)|(?!\S)(?<=\S)/ );
+ 'Y|' => qr/(?=\S)(?<!\S)|(?!\S)(?<=\S)/ );
sub convert {
my $re = shift;
$re =~ s{
@@ -2017,41 +2404,35 @@ part of this regular expression needs to be converted explicitly
$re = customre::convert $re;
/\Y|$re\Y|/;
-=head1 PCRE/Python Support
+=head2 PCRE/Python Support
-As of Perl 5.10.0, Perl supports several Python/PCRE specific extensions
+As of Perl 5.10.0, Perl supports several Python/PCRE-specific extensions
to the regex syntax. While Perl programmers are encouraged to use the
-Perl specific syntax, the following are also accepted:
+Perl-specific syntax, the following are also accepted:
=over 4
=item C<< (?PE<lt>NAMEE<gt>pattern) >>
-Define a named capture buffer. Equivalent to C<< (?<NAME>pattern) >>.
+Define a named capture group. Equivalent to C<< (?<NAME>pattern) >>.
=item C<< (?P=NAME) >>
-Backreference to a named capture buffer. Equivalent to C<< \g{NAME} >>.
+Backreference to a named capture group. Equivalent to C<< \g{NAME} >>.
=item C<< (?P>NAME) >>
-Subroutine call to a named capture buffer. Equivalent to C<< (?&NAME) >>.
+Subroutine call to a named capture group. Equivalent to C<< (?&NAME) >>.
=back
=head1 BUGS
-There are numerous problems with case insensitive matching of characters
-outside the ASCII range, especially with those whose folds are multiple
-characters, such as ligatures like C<LATIN SMALL LIGATURE FF>.
-
-In a bracketed character class with case insensitive matching, ranges only work
-for ASCII characters. For example,
-C<m/[\N{CYRILLIC CAPITAL LETTER A}-\N{CYRILLIC CAPITAL LETTER YA}]/i>
-doesn't match all the Russian upper and lower case letters.
-
Many regular expression constructs don't work on EBCDIC platforms.
+There are a number of issues with regard to case-insensitive matching
+in Unicode rules. See C<i> under L</Modifiers> above.
+
This document varies from difficult to understand to completely
and utterly opaque. The wandering prose riddled with jargon is
hard to fathom in several places.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlreapi.pod b/Master/tlpkg/tlperl/lib/pods/perlreapi.pod
index d1d947b8a74..1c694a72318 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlreapi.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlreapi.pod
@@ -120,21 +120,26 @@ TODO: Document those cases.
=item C</p> - RXf_PMf_KEEPCOPY
+=item Character set
+
+The character set semantics are determined by an enum that is contained
+in this field. This is still experimental and subject to change, but
+the current interface returns the rules by use of the in-line function
+C<get_regex_charset(const U32 flags)>. The only currently documented
+value returned from it is REGEX_LOCALE_CHARSET, which is set if
+C<use locale> is in effect. If present in C<< rx->extflags >>
+C<split> will use the locale dependent definition of whitespace under
+when RXf_SKIPWHITE or RXf_WHITE are in effect. Under ASCII whitespace
+is defined as per L<isSPACE|perlapi/isSPACE>, and by the internal
+macros C<is_utf8_space> under UTF-8 and C<isSPACE_LC> under C<use
+locale>.
+
=back
Additional flags:
=over 4
-=item RXf_PMf_LOCALE
-
-Set if C<use locale> is in effect. If present in C<< rx->extflags >>
-C<split> will use the locale dependent definition of whitespace under
-when RXf_SKIPWHITE or RXf_WHITE are in effect. Under ASCII whitespace
-is defined as per L<isSPACE|perlapi/ISSPACE>, and by the internal
-macros C<is_utf8_space> under UTF-8 and C<isSPACE_LC> under C<use
-locale>.
-
=item RXf_UTF8
Set if the pattern is L<SvUTF8()|perlapi/SvUTF8>, set by Perl_pmruntime.
@@ -243,7 +248,7 @@ perl will handle releasing anything else contained in the regexp structure.
Called to get/set the value of C<$`>, C<$'>, C<$&> and their named
equivalents, ${^PREMATCH}, ${^POSTMATCH} and $^{MATCH}, as well as the
-numbered capture buffers (C<$1>, C<$2>, ...).
+numbered capture groups (C<$1>, C<$2>, ...).
The C<paren> parameter will be C<-2> for C<$`>, C<-1> for C<$'>, C<0>
for C<$&>, C<1> for C<$1> and so forth.
@@ -317,7 +322,7 @@ behave in the same situation:
package main;
- tie my $sv => "CatptureVar";
+ tie my $sv => "CaptureVar";
$sv =~ y/a/b/;
Because C<$sv> is C<undef> when the C<y///> operator is applied to it
@@ -492,7 +497,7 @@ values.
in the final match, used for optimisations */
struct reg_substr_data *substrs;
- U32 nparens; /* number of capture buffers */
+ U32 nparens; /* number of capture groups */
/* private engine specific data */
U32 intflags; /* Engine Specific Internal flags */
@@ -612,7 +617,7 @@ C<regexp_paren_pair> struct is defined as follows:
} regexp_paren_pair;
If C<< ->offs[num].start >> or C<< ->offs[num].end >> is C<-1> then that
-capture buffer did not match. C<< ->offs[0].start/end >> represents C<$&> (or
+capture group did not match. C<< ->offs[0].start/end >> represents C<$&> (or
C<${^MATCH> under C<//p>) and C<< ->offs[paren].end >> matches C<$$paren> where
C<$paren >= 1>.
@@ -633,7 +638,7 @@ The relevant snippet from C<Perl_pp_regcomp>:
=head2 C<paren_names>
-This is a hash used internally to track named capture buffers and their
+This is a hash used internally to track named capture groups and their
offsets. The keys are the names of the buffers the values are dualvars,
with the IV slot holding the number of buffers with the given name and the
pv being an embedded array of I32. The values may also be contained
@@ -655,7 +660,7 @@ Used during execution phase for managing search and replace patterns.
=head2 C<wrapped> C<wraplen>
Stores the string C<qr//> stringifies to. The perl engine for example
-stores C<(?-xism:eek)> in the case of C<qr/eek/>.
+stores C<(?^:eek)> in the case of C<qr/eek/>.
When using a custom engine that doesn't support the C<(?:)> construct
for inline modifiers, it's probably best to have C<qr//> stringify to
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod b/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod
index 489ba2b648f..8f2490d78ee 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod
@@ -25,14 +25,14 @@ or it is the start of a backslash or escape sequence.
The rules determining what it is are quite simple: if the character
following the backslash is an ASCII punctuation (non-word) character (that is,
-anything that is not a letter, digit or underscore), then the backslash just
-takes away the special meaning (if any) of the character following it.
+anything that is not a letter, digit, or underscore), then the backslash just
+takes away any special meaning of the character following it.
If the character following the backslash is an ASCII letter or an ASCII digit,
then the sequence may be special; if so, it's listed below. A few letters have
not been used yet, so escaping them with a backslash doesn't change them to be
special. A future version of Perl may assign a special meaning to them, so if
-you have warnings turned on, Perl will issue a warning if you use such a
+you have warnings turned on, Perl issues a warning if you use such a
sequence. [1].
It is however guaranteed that backslash or escape sequences never have a
@@ -48,9 +48,9 @@ backslash.
=item [1]
-There is one exception. If you use an alphanumerical character as the
+There is one exception. If you use an alphanumeric character as the
delimiter of your pattern (which you probably shouldn't do for readability
-reasons), you will have to escape the delimiter if you want to match
+reasons), you have to escape the delimiter if you want to match
it. Perl won't warn then. See also L<perlop/Gory details of parsing
quoted constructs>.
@@ -62,7 +62,7 @@ quoted constructs>.
Those not usable within a bracketed character class (like C<[\da-z]>) are marked
as C<Not in [].>
- \000 Octal escape sequence.
+ \000 Octal escape sequence. See also \o{}.
\1 Absolute backreference. Not in [].
\a Alarm or bell.
\A Beginning of string. Not in [].
@@ -75,7 +75,7 @@ as C<Not in [].>
\e Escape character.
\E Turn off \Q, \L and \U processing. Not in [].
\f Form feed.
- \g{}, \g1 Named, absolute or relative backreference. Not in [].
+ \g{}, \g1 Named, absolute or relative backreference. Not in []
\G Pos assertion. Not in [].
\h Character class for horizontal whitespace.
\H Character class for non horizontal whitespace.
@@ -85,7 +85,8 @@ as C<Not in [].>
\L Lowercase till \E. Not in [].
\n (Logical) newline character.
\N Any character but newline. Experimental. Not in [].
- \N{} Named or numbered (Unicode) character.
+ \N{} Named or numbered (Unicode) character or sequence.
+ \o{} Octal escape sequence.
\p{}, \pP Character with the given Unicode property.
\P{}, \PP Character without the given Unicode property.
\Q Quotemeta till \E. Not in [].
@@ -133,7 +134,7 @@ character class, C<\b> is a word/non-word boundary.
=item [2]
-C<\n> matches a logical newline. Perl will convert between C<\n> and your
+C<\n> matches a logical newline. Perl converts between C<\n> and your
OS's native newline character when reading from or writing to text files.
=back
@@ -164,38 +165,39 @@ Mnemonic: I<c>ontrol character.
$str =~ /\cK/; # Matches if $str contains a vertical tab (control-K).
-=head3 Named or numbered characters
+=head3 Named or numbered characters and character sequences
-Unicode characters have a Unicode name and numeric ordinal value. Use the
+Unicode characters have a Unicode name and numeric code point (ordinal)
+value. Use the
C<\N{}> construct to specify a character by either of these values.
+Certain sequences of characters also have names.
-To specify by name, the name of the character goes between the curly braces.
-In this case, you have to C<use charnames> to load the Unicode names of the
-characters, otherwise Perl will complain.
+To specify by name, the name of the character or character sequence goes
+between the curly braces. In this case, you have to C<use charnames> to
+load the Unicode names of the characters; otherwise Perl will complain.
-To specify by Unicode ordinal number, use the form
-C<\N{U+I<wide hex character>}>, where I<wide hex character> is a number in
-hexadecimal that gives the ordinal number that Unicode has assigned to the
-desired character. It is customary (but not required) to use leading zeros to
-pad the number to 4 digits. Thus C<\N{U+0041}> means
-C<Latin Capital Letter A>, and you will rarely see it written without the two
-leading zeros. C<\N{U+0041}> means "A" even on EBCDIC machines (where the
-ordinal value of "A" is not 0x41).
+To specify a character by Unicode code point, use the form C<\N{U+I<code
+point>}>, where I<code point> is a number in hexadecimal that gives the
+code point that Unicode has assigned to the desired character. It is
+customary but not required to use leading zeros to pad the number to 4
+digits. Thus C<\N{U+0041}> means C<LATIN CAPITAL LETTER A>, and you will
+rarely see it written without the two leading zeros. C<\N{U+0041}> means
+"A" even on EBCDIC machines (where the ordinal value of "A" is not 0x41).
-It is even possible to give your own names to characters, and even to short
-sequences of characters. For details, see L<charnames>.
+It is even possible to give your own names to characters and character
+sequences. For details, see L<charnames>.
(There is an expanded internal form that you may see in debug output:
-C<\N{U+I<wide hex character>.I<wide hex character>...}>.
-The C<...> means any number of these I<wide hex character>s separated by dots.
+C<\N{U+I<code point>.I<code point>...}>.
+The C<...> means any number of these I<code point>s separated by dots.
This represents the sequence formed by the characters. This is an internal
form only, subject to change, and you should not try to use it yourself.)
Mnemonic: I<N>amed character.
-Note that a character that is expressed as a named or numbered character is
-considered as a character without special meaning by the regex engine, and will
-match "as is".
+Note that a character or character sequence expressed as a named
+or numbered character is considered a character without special
+meaning by the regex engine, and will match "as is".
=head4 Example
@@ -207,30 +209,56 @@ match "as is".
=head3 Octal escapes
-Octal escapes consist of a backslash followed by two or three octal digits
-matching the code point of the character you want to use. This allows for
-512 characters (C<\00> up to C<\777>) that can be expressed this way (but
-anything above C<\377> is deprecated).
-Enough in pre-Unicode days, but most Unicode characters cannot be escaped
-this way.
-
-Note that a character that is expressed as an octal escape is considered
-as a character without special meaning by the regex engine, and will match
+There are two forms of octal escapes. Each is used to specify a character by
+its code point specified in octal notation.
+
+One form, available starting in Perl 5.14 looks like C<\o{...}>, where the dots
+represent one or more octal digits. It can be used for any Unicode character.
+
+It was introduced to avoid the potential problems with the other form,
+available in all Perls. That form consists of a backslash followed by three
+octal digits. One problem with this form is that it can look exactly like an
+old-style backreference (see
+L</Disambiguation rules between old-style octal escapes and backreferences>
+below.) You can avoid this by making the first of the three digits always a
+zero, but that makes \077 the largest code point specifiable.
+
+In some contexts, a backslash followed by two or even one octal digits may be
+interpreted as an octal escape, sometimes with a warning, and because of some
+bugs, sometimes with surprising results. Also, if you are creating a regex
+out of smaller snippets concatenated together, and you use fewer than three
+digits, the beginning of one snippet may be interpreted as adding digits to the
+ending of the snippet before it. See L</Absolute referencing> for more
+discussion and examples of the snippet problem.
+
+Note that a character expressed as an octal escape is considered
+a character without special meaning by the regex engine, and will match
"as is".
-=head4 Examples (assuming an ASCII platform)
+To summarize, the C<\o{}> form is always safe to use, and the other form is
+safe to use for code points through \077 when you use exactly three digits to
+specify them.
- $str = "Perl";
- $str =~ /\120/; # Match, "\120" is "P".
- $str =~ /\120+/; # Match, "\120" is "P", it is repeated at least once.
- $str =~ /P\053/; # No match, "\053" is "+" and taken literally.
+Mnemonic: I<0>ctal or I<o>ctal.
-=head4 Caveat
+=head4 Examples (assuming an ASCII platform)
-Octal escapes potentially clash with backreferences. They both consist
-of a backslash followed by numbers. So Perl has to use heuristics to
-determine whether it is a backreference or an octal escape. Perl uses
-the following rules:
+ $str = "Perl";
+ $str =~ /\o{120}/; # Match, "\120" is "P".
+ $str =~ /\120/; # Same.
+ $str =~ /\o{120}+/; # Match, "\120" is "P", it's repeated at least once
+ $str =~ /\120+/; # Same.
+ $str =~ /P\053/; # No match, "\053" is "+" and taken literally.
+ /\o{23073}/ # Black foreground, white background smiling face.
+ /\o{4801234567}/ # Raises a warning, and yields chr(4)
+
+=head4 Disambiguation rules between old-style octal escapes and backreferences
+
+Octal escapes of the C<\000> form outside of bracketed character classes
+potentially clash with old-style backreferences. (see L</Absolute referencing>
+below). They both consist of a backslash followed by numbers. So Perl has to
+use heuristics to determine whether it is a backreference or an octal escape.
+Perl uses the following rules to disambiguate:
=over 4
@@ -244,30 +272,35 @@ If the first digit following the backslash is a 0, it's an octal escape.
=item 3
-If the number following the backslash is N (in decimal), and Perl already has
-seen N capture groups, Perl will consider this to be a backreference.
-Otherwise, it will consider it to be an octal escape. Note that if N has more
-than three digits, Perl only takes the first three for the octal escape;
-the rest are matched as is.
+If the number following the backslash is N (in decimal), and Perl already
+has seen N capture groups, Perl considers this a backreference. Otherwise,
+it considers it an octal escape. If N has more than three digits, Perl
+takes only the first three for the octal escape; the rest are matched as is.
my $pat = "(" x 999;
$pat .= "a";
$pat .= ")" x 999;
/^($pat)\1000$/; # Matches 'aa'; there are 1000 capture groups.
/^$pat\1000$/; # Matches 'a@0'; there are 999 capture groups
- # and \1000 is seen as \100 (a '@') and a '0'.
+ # and \1000 is seen as \100 (a '@') and a '0'
=back
+You can force a backreference interpretation always by using the C<\g{...}>
+form. You can the force an octal interpretation always by using the C<\o{...}>
+form, or for numbers up through \077 (= 63 decimal), by using three digits,
+beginning with a "0".
+
=head3 Hexadecimal escapes
-Hexadecimal escapes start with C<\x> and are then either followed by a
-two digit hexadecimal number, or a hexadecimal number of arbitrary length
-surrounded by curly braces. The hexadecimal number is the code point of
-the character you want to express.
+Like octal escapes, there are two forms of hexadecimal escapes, but both start
+with the same thing, C<\x>. This is followed by either exactly two hexadecimal
+digits forming a number, or a hexadecimal number of arbitrary length surrounded
+by curly braces. The hexadecimal number is the code point of the character you
+want to express.
-Note that a character that is expressed as a hexadecimal escape is considered
-as a character without special meaning by the regex engine, and will match
+Note that a character expressed as one of these escapes is considered a
+character without special meaning by the regex engine, and will match
"as is".
Mnemonic: heI<x>adecimal.
@@ -276,7 +309,7 @@ Mnemonic: heI<x>adecimal.
$str = "Perl";
$str =~ /\x50/; # Match, "\x50" is "P".
- $str =~ /\x50+/; # Match, "\x50" is "P", it is repeated at least once.
+ $str =~ /\x50+/; # Match, "\x50" is "P", it is repeated at least once
$str =~ /P\x2B/; # No match, "\x2B" is "+" and taken literally.
/\x{2603}\x{2602}/ # Snowman with an umbrella.
@@ -290,20 +323,20 @@ Mnemonic: heI<x>adecimal.
A number of backslash sequences have to do with changing the character,
or characters following them. C<\l> will lowercase the character following
it, while C<\u> will uppercase (or, more accurately, titlecase) the
-character following it. (They perform similar functionality as the
-functions C<lcfirst> and C<ucfirst>).
+character following it. They provide functionality similar to the
+functions C<lcfirst> and C<ucfirst>.
To uppercase or lowercase several characters, one might want to use
C<\L> or C<\U>, which will lowercase/uppercase all characters following
-them, until either the end of the pattern, or the next occurrence of
-C<\E>, whatever comes first. They perform similar functionality as the
-functions C<lc> and C<uc> do.
+them, until either the end of the pattern or the next occurrence of
+C<\E>, whichever comes first. They provide functionality similar to what
+the functions C<lc> and C<uc> provide.
C<\Q> is used to escape all characters following, up to the next C<\E>
or the end of the pattern. C<\Q> adds a backslash to any character that
-isn't a letter, digit or underscore. This will ensure that any character
-between C<\Q> and C<\E> is matched literally, and will not be interpreted
-by the regexp engine.
+isn't a letter, digit, or underscore. This ensures that any character
+between C<\Q> and C<\E> shall be matched literally, not interpreted
+as a metacharacter by the regex engine.
Mnemonic: I<L>owercase, I<U>ppercase, I<Q>uotemeta, I<E>nd.
@@ -324,15 +357,22 @@ the character classes are written as a backslash sequence. We will briefly
discuss those here; full details of character classes can be found in
L<perlrecharclass>.
-C<\w> is a character class that matches any single I<word> character (letters,
-digits, underscore). C<\d> is a character class that matches any decimal digit,
-while the character class C<\s> matches any whitespace character.
+C<\w> is a character class that matches any single I<word> character
+(letters, digits, Unicode marks, and connector punctuation (like the
+underscore)). C<\d> is a character class that matches any decimal
+digit, while the character class C<\s> matches any whitespace character.
New in perl 5.10.0 are the classes C<\h> and C<\v> which match horizontal
and vertical whitespace characters.
+The exact set of characters matched by C<\d>, C<\s>, and C<\w> varies
+depending on various pragma and regular expression modifiers. It is
+possible to restrict the match to the ASCII range by using the C</a>
+regular expression modifier. See L<perlrecharclass>.
+
The uppercase variants (C<\W>, C<\D>, C<\S>, C<\H>, and C<\V>) are
-character classes that match any character that isn't a word character,
-digit, whitespace, horizontal whitespace nor vertical whitespace.
+character classes that match, respectively, any character that isn't a
+word character, digit, whitespace, horizontal whitespace, or vertical
+whitespace.
Mnemonics: I<w>ord, I<d>igit, I<s>pace, I<h>orizontal, I<v>ertical.
@@ -348,7 +388,6 @@ L<perlunicode/Unicode Character Properties>.
Mnemonic: I<p>roperty.
-
=head2 Referencing
If capturing parenthesis are used in a regular expression, we can refer
@@ -360,41 +399,51 @@ absolutely, relatively, and by name.
=head3 Absolute referencing
-A backslash sequence that starts with a backslash and is followed by a
-number is an absolute reference (but be aware of the caveat mentioned above).
-If the number is I<N>, it refers to the Nth set of parentheses - whatever
-has been matched by that set of parenthesis has to be matched by the C<\N>
-as well.
+Either C<\gI<N>> (starting in Perl 5.10.0), or C<\I<N>> (old-style) where I<N>
+is a positive (unsigned) decimal number of any length is an absolute reference
+to a capturing group.
+
+I<N> refers to the Nth set of parentheses, so C<\gI<N>> refers to whatever has
+been matched by that set of parentheses. Thus C<\g1> refers to the first
+capture group in the regex.
+
+The C<\gI<N>> form can be equivalently written as C<\g{I<N>}>
+which avoids ambiguity when building a regex by concatenating shorter
+strings. Otherwise if you had a regex C<qr/$a$b/>, and C<$a> contained
+C<"\g1">, and C<$b> contained C<"37">, you would get C</\g137/> which is
+probably not what you intended.
+
+In the C<\I<N>> form, I<N> must not begin with a "0", and there must be at
+least I<N> capturing groups, or else I<N> is considered an octal escape
+(but something like C<\18> is the same as C<\0018>; that is, the octal escape
+C<"\001"> followed by a literal digit C<"8">).
+
+Mnemonic: I<g>roup.
=head4 Examples
- /(\w+) \1/; # Finds a duplicated word, (e.g. "cat cat").
- /(.)(.)\2\1/; # Match a four letter palindrome (e.g. "ABBA").
+ /(\w+) \g1/; # Finds a duplicated word, (e.g. "cat cat").
+ /(\w+) \1/; # Same thing; written old-style
+ /(.)(.)\g2\g1/; # Match a four letter palindrome (e.g. "ABBA").
=head3 Relative referencing
-New in perl 5.10.0 is a different way of referring to capture buffers: C<\g>.
-C<\g> takes a number as argument, with the number in curly braces (the
-braces are optional). If the number (N) does not have a sign, it's a reference
-to the Nth capture group (so C<\g{2}> is equivalent to C<\2> - except that
-C<\g> always refers to a capture group and will never be seen as an octal
-escape). If the number is negative, the reference is relative, referring to
-the Nth group before the C<\g{-N}>.
+C<\g-I<N>> (starting in Perl 5.10.0) is used for relative addressing. (It can
+be written as C<\g{-I<N>>.) It refers to the I<N>th group before the
+C<\g{-I<N>}>.
-The big advantage of C<\g{-N}> is that it makes it much easier to write
+The big advantage of this form is that it makes it much easier to write
patterns with references that can be interpolated in larger patterns,
even if the larger pattern also contains capture groups.
-Mnemonic: I<g>roup.
-
=head4 Examples
- /(A) # Buffer 1
- ( # Buffer 2
- (B) # Buffer 3
- \g{-1} # Refers to buffer 3 (B)
- \g{-3} # Refers to buffer 1 (A)
+ /(A) # Group 1
+ ( # Group 2
+ (B) # Group 3
+ \g{-1} # Refers to group 3 (B)
+ \g{-3} # Refers to group 1 (A)
)
/x; # Matches "ABBA".
@@ -403,17 +452,15 @@ Mnemonic: I<g>roup.
=head3 Named referencing
-Also new in perl 5.10.0 is the use of named capture buffers, which can be
-referred to by name. This is done with C<\g{name}>, which is a
-backreference to the capture buffer with the name I<name>.
+C<\g{I<name>}> (starting in Perl 5.10.0) can be used to back refer to a
+named capture group, dispensing completely with having to think about capture
+buffer positions.
To be compatible with .Net regular expressions, C<\g{name}> may also be
written as C<\k{name}>, C<< \k<name> >> or C<\k'name'>.
-Note that C<\g{}> has the potential to be ambiguous, as it could be a named
-reference, or an absolute or relative reference (if its argument is numeric).
-However, names are not allowed to start with digits, nor are they allowed to
-contain a hyphen, so there is no ambiguity.
+To prevent any ambiguity, I<name> must not start with a digit nor contain a
+hyphen.
=head4 Examples
@@ -434,7 +481,7 @@ backslash sequences.
=item \A
C<\A> only matches at the beginning of the string. If the C</m> modifier
-isn't used, then C</\A/> is equivalent with C</^/>. However, if the C</m>
+isn't used, then C</\A/> is equivalent to C</^/>. However, if the C</m>
modifier is used, then C</^/> matches internal newlines, but the meaning
of C</\A/> isn't changed by the C</m> modifier. C<\A> matches at the beginning
of the string regardless whether the C</m> modifier is used.
@@ -442,26 +489,27 @@ of the string regardless whether the C</m> modifier is used.
=item \z, \Z
C<\z> and C<\Z> match at the end of the string. If the C</m> modifier isn't
-used, then C</\Z/> is equivalent with C</$/>, that is, it matches at the
-end of the string, or before the newline at the end of the string. If the
+used, then C</\Z/> is equivalent to C</$/>; that is, it matches at the
+end of the string, or one before the newline at the end of the string. If the
C</m> modifier is used, then C</$/> matches at internal newlines, but the
meaning of C</\Z/> isn't changed by the C</m> modifier. C<\Z> matches at
the end of the string (or just before a trailing newline) regardless whether
the C</m> modifier is used.
-C<\z> is just like C<\Z>, except that it will not match before a trailing
-newline. C<\z> will only match at the end of the string - regardless of the
-modifiers used, and not before a newline.
+C<\z> is just like C<\Z>, except that it does not match before a trailing
+newline. C<\z> matches at the end of the string only, regardless of the
+modifiers used, and not just before a newline. It is how to anchor the
+match to the true end of the string under all conditions.
=item \G
-C<\G> is usually only used in combination with the C</g> modifier. If the
-C</g> modifier is used (and the match is done in scalar context), Perl will
-remember where in the source string the last match ended, and the next time,
+C<\G> is usually used only in combination with the C</g> modifier. If the
+C</g> modifier is used and the match is done in scalar context, Perl
+remembers where in the source string the last match ended, and the next time,
it will start the match from where it ended the previous time.
-C<\G> matches the point where the previous match ended, or the beginning
-of the string if there was no previous match.
+C<\G> matches the point where the previous match on that string ended,
+or the beginning of that string if there was no previous match.
=for later add link to perlremodifiers
@@ -474,7 +522,17 @@ matches at any place between characters where C<\b> doesn't match. C<\b>
and C<\B> assume there's a non-word character before the beginning and after
the end of the source string; so C<\b> will match at the beginning (or end)
of the source string if the source string begins (or ends) with a word
-character. Otherwise, C<\B> will match.
+character. Otherwise, C<\B> will match.
+
+Do not use something like C<\b=head\d\b> and expect it to match the
+beginning of a line. It can't, because for there to be a boundary before
+the non-word "=", there must be a word character immediately previous.
+All boundary determinations look for word characters alone, not for
+non-words characters nor for string ends. It may help to understand how
+<\b> and <\B> work by equating them as follows:
+
+ \b really means (?:(?<=\w)(?!\w)|(?<!\w)(?=\w))
+ \B really means (?:(?<=\w)(?=\w)|(?<!\w)(?!\w))
Mnemonic: I<b>oundary.
@@ -502,7 +560,7 @@ Mnemonic: I<b>oundary.
=head2 Misc
Here we document the backslash sequences that don't fall in one of the
-categories above. They are:
+categories above. These are:
=over 4
@@ -510,46 +568,49 @@ categories above. They are:
C<\C> always matches a single octet, even if the source string is encoded
in UTF-8 format, and the character to be matched is a multi-octet character.
-C<\C> was introduced in perl 5.6.
+C<\C> was introduced in perl 5.6. This is very dangerous, because it violates
+the logical character abstraction and can cause UTF-8 sequences to become malformed.
Mnemonic: oI<C>tet.
=item \K
-This is new in perl 5.10.0. Anything that is matched left of C<\K> is
-not included in C<$&> - and will not be replaced if the pattern is
-used in a substitution. This will allow you to write C<s/PAT1 \K PAT2/REPL/x>
+This appeared in perl 5.10.0. Anything matched left of C<\K> is
+not included in C<$&>, and will not be replaced if the pattern is
+used in a substitution. This lets you write C<s/PAT1 \K PAT2/REPL/x>
instead of C<s/(PAT1) PAT2/${1}REPL/x> or C<s/(?<=PAT1) PAT2/REPL/x>.
Mnemonic: I<K>eep.
=item \N
-This is a new experimental feature in perl 5.12.0. It matches any character
-that is not a newline. It is a short-hand for writing C<[^\n]>, and is
+This is an experimental feature new to perl 5.12.0. It matches any character
+that is B<not> a newline. It is a short-hand for writing C<[^\n]>, and is
identical to the C<.> metasymbol, except under the C</s> flag, which changes
the meaning of C<.>, but not C<\N>.
Note that C<\N{...}> can mean a
-L<named or numbered character|/Named or numbered characters>.
+L<named or numbered character
+|/Named or numbered characters and character sequences>.
Mnemonic: Complement of I<\n>.
=item \R
X<\R>
-C<\R> matches a I<generic newline>, that is, anything that is considered
-a newline by Unicode. This includes all characters matched by C<\v>
-(vertical whitespace), and the multi character sequence C<"\x0D\x0A">
-(carriage return followed by a line feed, aka the network newline, or
-the newline used in Windows text files). C<\R> is equivalent to
-C<< (?>\x0D\x0A)|\v) >>. Since C<\R> can match a sequence of more than one
-character, it cannot be put inside a bracketed character class; C</[\R]/> is an
-error; use C<\v> instead. C<\R> was introduced in perl 5.10.0.
+C<\R> matches a I<generic newline>; that is, anything considered a
+linebreak sequence by Unicode. This includes all characters matched by
+C<\v> (vertical whitespace), and the multi character sequence C<"\x0D\x0A">
+(carriage return followed by a line feed, sometimes called the network
+newline; it's the end of line sequence used in Microsoft text files opened
+in binary mode). C<\R> is equivalent to C<< (?>\x0D\x0A)|\v) >>. Since
+C<\R> can match a sequence of more than one character, it cannot be put
+inside a bracketed character class; C</[\R]/> is an error; use C<\v>
+instead. C<\R> was introduced in perl 5.10.0.
Mnemonic: none really. C<\R> was picked because PCRE already uses C<\R>,
and more importantly because Unicode recommends such a regular expression
-metacharacter, and suggests C<\R> as the notation.
+metacharacter, and suggests C<\R> as its notation.
=item \X
X<\X>
@@ -569,15 +630,15 @@ Mnemonic: eI<X>tended Unicode character.
=head4 Examples
- "\x{256}" =~ /^\C\C$/; # Match as chr (256) takes 2 octets in UTF-8.
+ "\x{256}" =~ /^\C\C$/; # Match as chr (0x256) takes 2 octets in UTF-8.
- $str =~ s/foo\Kbar/baz/g; # Change any 'bar' following a 'foo' to 'baz'.
- $str =~ s/(.)\K\1//g; # Delete duplicated characters.
+ $str =~ s/foo\Kbar/baz/g; # Change any 'bar' following a 'foo' to 'baz'
+ $str =~ s/(.)\K\g1//g; # Delete duplicated characters.
"\n" =~ /^\R$/; # Match, \n is a generic newline.
"\r" =~ /^\R$/; # Match, \r is a generic newline.
"\r\n" =~ /^\R$/; # Match, \r\n is a generic newline.
- "P\x{0307}" =~ /^\X$/ # \X matches a P with a dot above.
+ "P\x{307}" =~ /^\X$/ # \X matches a P with a dot above.
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod b/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod
index a9b5ea37c74..b7526b45fae 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod
@@ -44,7 +44,7 @@ Here are some examples:
"ab" =~ /^.$/ # No match (dot matches one character)
=head2 Backslash sequences
-X<\w> X<\W> X<\s> X<\S> X<\d> X<\D> X<\p> X<\P>
+X<\w> X<\W> X<\s> X<\S> X<\d> X<\D> X<\p> X<\P>
X<\N> X<\v> X<\V> X<\h> X<\H>
X<word> X<whitespace>
@@ -74,57 +74,104 @@ character classes, see L<perlrebackslash>.)
=head3 Digits
-C<\d> matches a single character that is considered to be a decimal I<digit>.
-What is considered a decimal digit depends on the internal encoding of the
-source string and the locale that is in effect. If the source string is in
-UTF-8 format, C<\d> not only matches the digits '0' - '9', but also Arabic,
-Devanagari and digits from other languages. Otherwise, if there is a locale in
-effect, it will match whatever characters the locale considers decimal digits.
-Without a locale, C<\d> matches just the digits '0' to '9'.
-See L</Locale, EBCDIC, Unicode and UTF-8>.
-
-Unicode digits may cause some confusion, and some security issues. In UTF-8
-strings, C<\d> matches the same characters matched by
-C<\p{General_Category=Decimal_Number}>, or synonymously,
-C<\p{General_Category=Digit}>. Starting with Unicode version 4.1, this is the
-same set of characters matched by C<\p{Numeric_Type=Decimal}>.
-
+C<\d> matches a single character considered to be a decimal I<digit>.
+If the C</a> modifier in effect, it matches [0-9]. Otherwise, it
+matches anything that is matched by C<\p{Digit}>, which includes [0-9].
+(An unlikely possible exception is that under locale matching rules, the
+current locale might not have [0-9] matched by C<\d>, and/or might match
+other characters whose code point is less than 256. Such a locale
+definition would be in violation of the C language standard, but Perl
+doesn't currently assume anything in regard to this.)
+
+What this means is that unless the C</a> modifier is in effect C<\d> not
+only matches the digits '0' - '9', but also Arabic, Devanagari, and
+digits from other languages. This may cause some confusion, and some
+security issues.
+
+Some digits that C<\d> matches look like some of the [0-9] ones, but
+have different values. For example, BENGALI DIGIT FOUR (U+09EA) looks
+very much like an ASCII DIGIT EIGHT (U+0038). An application that
+is expecting only the ASCII digits might be misled, or if the match is
+C<\d+>, the matched string might contain a mixture of digits from
+different writing systems that look like they signify a number different
+than they actually do. L<Unicode::UCD/num()> can be used to safely
+calculate the value, returning C<undef> if the input string contains
+such a mixture.
+
+What C<\p{Digit}> means (and hence C<\d> except under the C</a>
+modifier) is C<\p{General_Category=Decimal_Number}>, or synonymously,
+C<\p{General_Category=Digit}>. Starting with Unicode version 4.1, this
+is the same set of characters matched by C<\p{Numeric_Type=Decimal}>.
But Unicode also has a different property with a similar name,
C<\p{Numeric_Type=Digit}>, which matches a completely different set of
-characters. These characters are things such as subscripts.
-
-The design intent is for C<\d> to match all the digits (and no other characters)
-that can be used with "normal" big-endian positional decimal syntax, whereby a
-sequence of such digits {N0, N1, N2, ...Nn} has the numeric value (...(N0 * 10
-+ N1) * 10 + N2) * 10 ... + Nn). In Unicode 5.2, the Tamil digits (U+0BE6 -
-U+0BEF) can also legally be used in old-style Tamil numbers in which they would
-appear no more than one in a row, separated by characters that mean "times 10",
-"times 100", etc. (See L<http://www.unicode.org/notes/tn21>.)
+characters. These characters are things such as C<CIRCLED DIGIT ONE>
+or subscripts, or are from writing systems that lack all ten digits.
-Some of the non-European digits that C<\d> matches look like European ones, but
-have different values. For example, BENGALI DIGIT FOUR (U+09A) looks very much
-like an ASCII DIGIT EIGHT (U+0038).
+The design intent is for C<\d> to exactly match the set of characters
+that can safely be used with "normal" big-endian positional decimal
+syntax, where, for example 123 means one 'hundred', plus two 'tens',
+plus three 'ones'. This positional notation does not necessarily apply
+to characters that match the other type of "digit",
+C<\p{Numeric_Type=Digit}>, and so C<\d> doesn't match them.
-It may be useful for security purposes for an application to require that all
-digits in a row be from the same script. See L<Unicode::UCD/charscript()>.
+In Unicode 5.2, the Tamil digits (U+0BE6 - U+0BEF) can also legally be
+used in old-style Tamil numbers in which they would appear no more than
+one in a row, separated by characters that mean "times 10", "times 100",
+etc. (See L<http://www.unicode.org/notes/tn21>.)
-Any character that isn't matched by C<\d> will be matched by C<\D>.
+Any character not matched by C<\d> is matched by C<\D>.
=head3 Word characters
A C<\w> matches a single alphanumeric character (an alphabetic character, or a
-decimal digit) or an underscore (C<_>), not a whole word. To match a whole
-word, use C<\w+>. This isn't the same thing as matching an English word, but
-is the same as a string of Perl-identifier characters. What is considered a
-word character depends on the internal
-encoding of the string and the locale or EBCDIC code page that is in effect. If
-it's in UTF-8 format, C<\w> matches those characters that are considered word
-characters in the Unicode database. That is, it not only matches ASCII letters,
-but also Thai letters, Greek letters, etc. If the source string isn't in UTF-8
-format, C<\w> matches those characters that are considered word characters by
-the current locale or EBCDIC code page. Without a locale or EBCDIC code page,
-C<\w> matches the ASCII letters, digits and the underscore.
-See L</Locale, EBCDIC, Unicode and UTF-8>.
+decimal digit) or a connecting punctuation character, such as an
+underscore ("_"). It does not match a whole word. To match a whole
+word, use C<\w+>. This isn't the same thing as matching an English word, but
+in the ASCII range it is the same as a string of Perl-identifier
+characters.
+
+=over
+
+=item If the C</a> modifier is in effect ...
+
+C<\w> matches the 63 characters [a-zA-Z0-9_].
+
+=item otherwise ...
+
+=over
+
+=item For code points above 255 ...
+
+C<\w> matches the same as C<\p{Word}> matches in this range. That is,
+it matches Thai letters, Greek letters, etc. This includes connector
+punctuation (like the underscore) which connect two words together, or
+diacritics, such as a C<COMBINING TILDE> and the modifier letters, which
+are generally used to add auxiliary markings to letters.
+
+=item For code points below 256 ...
+
+=over
+
+=item if locale rules are in effect ...
+
+C<\w> matches the platform's native underscore character plus whatever
+the locale considers to be alphanumeric.
+
+=item if Unicode rules are in effect or if on an EBCDIC platform ...
+
+C<\w> matches exactly what C<\p{Word}> matches.
+
+=item otherwise ...
+
+C<\w> matches [a-zA-Z0-9_].
+
+=back
+
+=back
+
+=back
+
+Which rules apply are determined as described in L<perlre/Which character set modifier is in effect?>.
There are a number of security issues with the full Unicode list of word
characters. See L<http://unicode.org/reports/tr36>.
@@ -134,36 +181,68 @@ language identifiers beyond the ASCII range, you may wish to instead use the
more customized Unicode properties, "ID_Start", ID_Continue", "XID_Start", and
"XID_Continue". See L<http://unicode.org/reports/tr31>.
-Any character that isn't matched by C<\w> will be matched by C<\W>.
+Any character not matched by C<\w> is matched by C<\W>.
=head3 Whitespace
-C<\s> matches any single character that is considered whitespace. The exact
-set of characters matched by C<\s> depends on whether the source string is in
-UTF-8 format and the locale or EBCDIC code page that is in effect. If it's in
-UTF-8 format, C<\s> matches what is considered whitespace in the Unicode
-database; the complete list is in the table below. Otherwise, if there is a
-locale or EBCDIC code page in effect, C<\s> matches whatever is considered
-whitespace by the current locale or EBCDIC code page. Without a locale or
-EBCDIC code page, C<\s> matches the horizontal tab (C<\t>), the newline
-(C<\n>), the form feed (C<\f>), the carriage return (C<\r>), and the space.
-(Note that it doesn't match the vertical tab, C<\cK>.) Perhaps the most notable
-possible surprise is that C<\s> matches a non-breaking space only if the
-non-breaking space is in a UTF-8 encoded string or the locale or EBCDIC code
-page that is in effect has that character.
-See L</Locale, EBCDIC, Unicode and UTF-8>.
-
-Any character that isn't matched by C<\s> will be matched by C<\S>.
-
-C<\h> will match any character that is considered horizontal whitespace;
-this includes the space and the tab characters and a number other characters,
-all of which are listed in the table below. C<\H> will match any character
-that is not considered horizontal whitespace.
-
-C<\v> will match any character that is considered vertical whitespace;
-this includes the carriage return and line feed characters (newline) plus several
-other characters, all listed in the table below.
-C<\V> will match any character that is not considered vertical whitespace.
+C<\s> matches any single character considered whitespace.
+
+=over
+
+=item If the C</a> modifier is in effect ...
+
+C<\s> matches the 5 characters [\t\n\f\r ]; that is, the horizontal tab,
+the newline, the form feed, the carriage return, and the space. (Note
+that it doesn't match the vertical tab, C<\cK> on ASCII platforms.)
+
+=item otherwise ...
+
+=over
+
+=item For code points above 255 ...
+
+C<\s> matches exactly the code points above 255 shown with an "s" column
+in the table below.
+
+=item For code points below 256 ...
+
+=over
+
+=item if locale rules are in effect ...
+
+C<\s> matches whatever the locale considers to be whitespace. Note that
+this is likely to include the vertical space, unlike non-locale C<\s>
+matching.
+
+=item if Unicode rules are in effect or if on an EBCDIC platform ...
+
+C<\s> matches exactly the characters shown with an "s" column in the
+table below.
+
+=item otherwise ...
+
+C<\s> matches [\t\n\f\r ].
+Note that this list doesn't include the non-breaking space.
+
+=back
+
+=back
+
+=back
+
+Which rules apply are determined as described in L<perlre/Which character set modifier is in effect?>.
+
+Any character not matched by C<\s> is matched by C<\S>.
+
+C<\h> matches any character considered horizontal whitespace;
+this includes the space and tab characters and several others
+listed in the table below. C<\H> matches any character
+not considered horizontal whitespace.
+
+C<\v> matches any character considered vertical whitespace;
+this includes the carriage return and line feed characters (newline)
+plus several other characters, all listed in the table below.
+C<\V> matches any character not considered vertical whitespace.
C<\R> matches anything that can be considered a newline under Unicode
rules. It's not a character class, as it can match a multi-character
@@ -171,22 +250,16 @@ sequence. Therefore, it cannot be used inside a bracketed character
class; use C<\v> instead (vertical whitespace).
Details are discussed in L<perlrebackslash>.
-Note that unlike C<\s>, C<\d> and C<\w>, C<\h> and C<\v> always match
-the same characters, regardless whether the source string is in UTF-8
-format or not. The set of characters they match is also not influenced
-by locale nor EBCDIC code page.
+Note that unlike C<\s> (and C<\d> and C<\w>), C<\h> and C<\v> always match
+the same characters, without regard to other factors, such as whether the
+source string is in UTF-8 format.
-One might think that C<\s> is equivalent to C<[\h\v]>. This is not true. The
-vertical tab (C<"\x0b">) is not matched by C<\s>, it is however considered
-vertical whitespace. Furthermore, if the source string is not in UTF-8 format,
-and any locale or EBCDIC code page that is in effect doesn't include them, the
-next line (ASCII-platform C<"\x85">) and the no-break space (ASCII-platform
-C<"\xA0">) characters are not matched by C<\s>, but are by C<\v> and C<\h>
-respectively. If the source string is in UTF-8 format, both the next line and
-the no-break space are matched by C<\s>.
+One might think that C<\s> is equivalent to C<[\h\v]>. This is not true.
+For example, the vertical tab (C<"\x0b">) is not matched by C<\s>, it is
+however considered vertical whitespace.
The following table is a complete listing of characters matched by
-C<\s>, C<\h> and C<\v> as of Unicode 5.2.
+C<\s>, C<\h> and C<\v> as of Unicode 6.0.
The first column gives the code point of the character (in hex format),
the second column gives the (Unicode) name. The third column indicates
@@ -224,18 +297,15 @@ page is in effect that changes the C<\s> matching).
=item [1]
-NEXT LINE and NO-BREAK SPACE only match C<\s> if the source string is in
-UTF-8 format, or the locale or EBCDIC code page that is in effect includes them.
+NEXT LINE and NO-BREAK SPACE may or may not match C<\s> depending
+on the rules in effect. See
+L<the beginning of this section|/Whitespace>.
=back
-It is worth noting that C<\d>, C<\w>, etc, match single characters, not
-complete numbers or words. To match a number (that consists of integers),
-use C<\d+>; to match a word, use C<\w+>.
-
=head3 \N
-C<\N> is new in 5.12, and is experimental. It, like the dot, will match any
+C<\N> is new in 5.12, and is experimental. It, like the dot, matches any
character that is not a newline. The difference is that C<\N> is not influenced
by the I<single line> regular expression modifier (see L</The dot> above). Note
that the form C<\N{...}> may mean something completely different. When the
@@ -245,7 +315,7 @@ non-newlines; C<\N{5,}> means to match 5 or more non-newlines. But if C<{...}>
is not a legal quantifier, it is presumed to be a named character. See
L<charnames> for those. For example, none of C<\N{COLON}>, C<\N{4F}>, and
C<\N{F4}> contain legal quantifiers, so Perl will try to find characters whose
-names are, respectively, C<COLON>, C<4F>, and C<F4>.
+names are respectively C<COLON>, C<4F>, and C<F4>.
=head3 Unicode Properties
@@ -254,7 +324,7 @@ Unicode properties. One letter property names can be used in the C<\pP> form,
with the property name following the C<\p>, otherwise, braces are required.
When using braces, there is a single form, which is just the property name
enclosed in the braces, and a compound form which looks like C<\p{name=value}>,
-which means to match if the property "name" for the character has the particular
+which means to match if the property "name" for the character has that particular
"value".
For instance, a match for a number can be written as C</\pN/> or as
C</\p{Number}/>, or as C</\p{Number=True}/>.
@@ -266,13 +336,37 @@ C</\pLl/> is valid, but means something different.
It matches a two character string: a letter (Unicode property C<\pL>),
followed by a lowercase C<l>.
-For more details, see L<perlunicode/Unicode Character Properties>; for a
+If neither the C</a> modifier nor locale rules are in effect, the use of
+a Unicode property will force the regular expression into using Unicode
+rules.
+
+Note that almost all properties are immune to case-insensitive matching.
+That is, adding a C</i> regular expression modifier does not change what
+they match. There are two sets that are affected. The first set is
+C<Uppercase_Letter>,
+C<Lowercase_Letter>,
+and C<Titlecase_Letter>,
+all of which match C<Cased_Letter> under C</i> matching.
+The second set is
+C<Uppercase>,
+C<Lowercase>,
+and C<Titlecase>,
+all of which match C<Cased> under C</i> matching.
+(The difference between these sets is that some things, such as Roman
+Numerals, come in both upper and lower case so they are C<Cased>, but
+aren't considered to be letters, so they aren't C<Cased_Letter>s. They're
+actually C<Letter_Number>s.)
+This set also includes its subsets C<PosixUpper> and C<PosixLower>, both
+of which under C</i> matching match C<PosixAlpha>.
+
+For more details on Unicode properties, see L<perlunicode/Unicode
+Character Properties>; for a
complete list of possible properties, see
-L<perluniprops/Properties accessible through \p{} and \P{}>.
+L<perluniprops/Properties accessible through \p{} and \P{}>,
+which notes all forms that have C</i> differences.
It is also possible to define your own properties. This is discussed in
L<perlunicode/User-Defined Character Properties>.
-
=head4 Examples
"a" =~ /\w/ # Match, "a" is a 'word' character.
@@ -296,6 +390,10 @@ L<perlunicode/User-Defined Character Properties>.
# Thai Unicode class.
"a" =~ /\P{Lao}/ # Match, as "a" is not a Laotian character.
+It is worth emphasizing that C<\d>, C<\w>, etc, match single characters, not
+complete numbers or words. To match a number (that consists of digits),
+use C<\d+>; to match a word, use C<\w+>. But be aware of the security
+considerations in doing so, as mentioned above.
=head2 Bracketed Character Classes
@@ -303,10 +401,10 @@ The third form of character class you can use in Perl regular expressions
is the bracketed character class. In its simplest form, it lists the characters
that may be matched, surrounded by square brackets, like this: C<[aeiou]>.
This matches one of C<a>, C<e>, C<i>, C<o> or C<u>. Like the other
-character classes, exactly one character will be matched. To match
+character classes, exactly one character is matched.* To match
a longer string consisting of characters mentioned in the character
class, follow the character class with a L<quantifier|perlre/Quantifiers>. For
-instance, C<[aeiou]+> matches a string of one or more lowercase English vowels.
+instance, C<[aeiou]+> matches one or more lowercase English vowels.
Repeating a character in a character class has no
effect; it's considered to be in the set only once.
@@ -319,6 +417,19 @@ Examples:
# a single character.
"ae" =~ /^[aeiou]+$/ # Match, due to the quantifier.
+ -------
+
+* There is an exception to a bracketed character class matching only a
+single character. When the class is to match caselessely under C</i>
+matching rules, and a character inside the class matches a
+multiple-character sequence caselessly under Unicode rules, the class
+(when not L<inverted|/Negation>) will also match that sequence. For
+example, Unicode says that the letter C<LATIN SMALL LETTER SHARP S>
+should match the sequence C<ss> under C</i> rules. Thus,
+
+ 'ss' =~ /\A\N{LATIN SMALL LETTER SHARP S}\z/i # Matches
+ 'ss' =~ /\A[aeioust\N{LATIN SMALL LETTER SHARP S}]\z/i # Matches
+
=head3 Special Characters Inside a Bracketed Character Class
Most characters that are meta characters in regular expressions (that
@@ -346,13 +457,15 @@ C<\e>,
C<\f>,
C<\n>,
C<\N{I<NAME>}>,
-C<\N{U+I<wide hex char>}>,
+C<\N{U+I<hex char>}>,
C<\r>,
C<\t>,
and
C<\x>
-are also special and have the same meanings as they do outside a bracketed character
-class.
+are also special and have the same meanings as they do outside a
+bracketed character class. (However, inside a bracketed character
+class, if C<\N{I<NAME>}> expands to a sequence of characters, only the first
+one in the sequence is used, with a warning.)
Also, a backslash followed by two or three octal digits is considered an octal
number.
@@ -365,6 +478,7 @@ A C<]> is normally either the end of a POSIX character class (see
L</POSIX Character Classes> below), or it signals the end of the bracketed
character class. If you want to include a C<]> in the set of characters, you
must generally escape it.
+
However, if the C<]> is the I<first> (or the second if the first
character is a caret) character of a bracketed character class, it
does not denote the end of the class (as you cannot have an empty class)
@@ -385,26 +499,26 @@ Examples:
=head3 Character Ranges
It is not uncommon to want to match a range of characters. Luckily, instead
-of listing all the characters in the range, one may use the hyphen (C<->).
+of listing all characters in the range, one may use the hyphen (C<->).
If inside a bracketed character class you have two characters separated
-by a hyphen, it's treated as if all the characters between the two are in
+by a hyphen, it's treated as if all characters between the two were in
the class. For instance, C<[0-9]> matches any ASCII digit, and C<[a-m]>
-matches any lowercase letter from the first half of the ASCII alphabet.
+matches any lowercase letter from the first half of the old ASCII alphabet.
Note that the two characters on either side of the hyphen are not
-necessary both letters or both digits. Any character is possible,
+necessarily both letters or both digits. Any character is possible,
although not advisable. C<['-?]> contains a range of characters, but
-most people will not know which characters that will be. Furthermore,
+most people will not know which characters that means. Furthermore,
such ranges may lead to portability problems if the code has to run on
a platform that uses a different character set, such as EBCDIC.
If a hyphen in a character class cannot syntactically be part of a range, for
instance because it is the first or the last character of the character class,
-or if it immediately follows a range, the hyphen isn't special, and will be
-considered a character that is to be matched literally. You have to escape the
-hyphen with a backslash if you want to have a hyphen in your set of characters
-to be matched, and its position in the class is such that it could be
-considered part of a range.
+or if it immediately follows a range, the hyphen isn't special, and so is
+considered a character to be matched literally. If you want a hyphen in
+your set of characters to be matched and its position in the class is such
+that it could be considered part of a range, you must escape that hyphen
+with a backslash.
Examples:
@@ -422,13 +536,27 @@ Examples:
It is also possible to instead list the characters you do not want to
match. You can do so by using a caret (C<^>) as the first character in the
-character class. For instance, C<[^a-z]> matches a character that is not a
-lowercase ASCII letter.
+character class. For instance, C<[^a-z]> matches any character that is not a
+lowercase ASCII letter, which therefore includes almost a hundred thousand
+Unicode letters. The class is said to be "negated" or "inverted".
This syntax make the caret a special character inside a bracketed character
class, but only if it is the first character of the class. So if you want
-to have the caret as one of the characters you want to match, you either
-have to escape the caret, or not list it first.
+the caret as one of the characters to match, either escape the caret or
+else not list it first.
+
+In inverted bracketed character classes, Perl ignores the Unicode rules
+that normally say that a given character matches a sequence of multiple
+characters under caseless C</i> matching, which otherwise could be
+highly confusing:
+
+ "ss" =~ /^[^\xDF]+$/ui;
+
+This should match any sequences of characters that aren't C<\xDF> nor
+what C<\xDF> matches under C</i>. C<"s"> isn't C<\xDF>, but Unicode
+says that C<"ss"> is what C<\xDF> matches under C</i>. So which one
+"wins"? Do you fail the match because the string has C<ss> or accept it
+because it has an C<s> followed by another C<s>?
Examples:
@@ -440,13 +568,13 @@ Examples:
=head3 Backslash Sequences
You can put any backslash sequence character class (with the exception of
-C<\N>) inside a bracketed character class, and it will act just
-as if you put all the characters matched by the backslash sequence inside the
-character class. For instance, C<[a-f\d]> will match any decimal digit, or any
+C<\N> and C<\R>) inside a bracketed character class, and it will act just
+as if you had put all characters matched by the backslash sequence inside the
+character class. For instance, C<[a-f\d]> matches any decimal digit, or any
of the lowercase letters between 'a' and 'f' inclusive.
C<\N> within a bracketed character class must be of the forms C<\N{I<name>}>
-or C<\N{U+I<wide hex char>}>, and NOT be the form that matches non-newlines,
+or C<\N{U+I<hex char>}>, and NOT be the form that matches non-newlines,
for the same reason that a dot C<.> inside a bracketed character class loses
its special meaning: it matches nearly anything, which generally isn't what you
want to happen.
@@ -472,8 +600,7 @@ X<lower> X<print> X<punct> X<space> X<upper> X<word> X<xdigit>
POSIX character classes have the form C<[:class:]>, where I<class> is
name, and the C<[:> and C<:]> delimiters. POSIX character classes only appear
I<inside> bracketed character classes, and are a convenient and descriptive
-way of listing a group of characters, though they currently suffer from
-portability issues (see below and L<Locale, EBCDIC, Unicode and UTF-8>).
+way of listing a group of characters.
Be careful about the syntax,
@@ -485,8 +612,8 @@ Be careful about the syntax,
The latter pattern would be a character class consisting of a colon,
and the letters C<a>, C<l>, C<p> and C<h>.
-POSIX character classes can be part of a larger bracketed character class. For
-example,
+POSIX character classes can be part of a larger bracketed character class.
+For example,
[01[:alpha:]%]
@@ -495,7 +622,7 @@ is valid and matches '0', '1', any alphabetic character, and the percent sign.
Perl recognizes the following POSIX character classes:
alpha Any alphabetical character ("[A-Za-z]").
- alnum Any alphanumerical character. ("[A-Za-z0-9]")
+ alnum Any alphanumeric character. ("[A-Za-z0-9]")
ascii Any character in the ASCII character set.
blank A GNU extension, equal to a space or a horizontal tab ("\t").
cntrl Any control character. See Note [2] below.
@@ -515,57 +642,93 @@ derived from official Unicode properties.) The table below shows the relation
between POSIX character classes and these counterparts.
One counterpart, in the column labelled "ASCII-range Unicode" in
-the table, will only match characters in the ASCII character set.
+the table, matches only characters in the ASCII character set.
The other counterpart, in the column labelled "Full-range Unicode", matches any
appropriate characters in the full Unicode character set. For example,
-C<\p{Alpha}> will match not just the ASCII alphabetic characters, but any
-character in the entire Unicode character set that is considered to be
-alphabetic.
+C<\p{Alpha}> matches not just the ASCII alphabetic characters, but any
+character in the entire Unicode character set considered alphabetic.
+The column labelled "backslash sequence" is a (short) synonym for
+the Full-range Unicode form.
(Each of the counterparts has various synonyms as well.
-L<perluniprops/Properties accessible through \p{} and \P{}> lists all the
-synonyms, plus all the characters matched by each of the ASCII-range
-properties. For example C<\p{AHex}> is a synonym for C<\p{ASCII_Hex_Digit}>,
+L<perluniprops/Properties accessible through \p{} and \P{}> lists all
+synonyms, plus all characters matched by each ASCII-range property.
+For example, C<\p{AHex}> is a synonym for C<\p{ASCII_Hex_Digit}>,
and any C<\p> property name can be prefixed with "Is" such as C<\p{IsAlpha}>.)
-Both the C<\p> forms are unaffected by any locale that is in effect, or whether
-the string is in UTF-8 format or not, or whether the platform is EBCDIC or not.
-In contrast, the POSIX character classes are affected. If the source string is
-in UTF-8 format, the POSIX classes (with the exception of C<[[:punct:]]>, see
-Note [5] below) behave like their "Full-range" Unicode counterparts. If the
-source string is not in UTF-8 format, and no locale is in effect, and the
-platform is not EBCDIC, all the POSIX classes behave like their ASCII-range
-counterparts. Otherwise, they behave based on the rules of the locale or
-EBCDIC code page.
-
-It is proposed to change this behavior in a future release of Perl so that the
-the UTF8ness of the source string will be irrelevant to the behavior of the
-POSIX character classes. This means they will always behave in strict
-accordance with the official POSIX standard. That is, if either locale or
-EBCDIC code page is present, they will behave in accordance with those; if
-absent, the classes will match only their ASCII-range counterparts. If you
-disagree with this proposal, send email to C<perl5-porters@perl.org>.
-
- [[:...:]] ASCII-range Full-range backslash Note
- Unicode Unicode sequence
+Both the C<\p> counterparts always assume Unicode rules are in effect.
+On ASCII platforms, this means they assume that the code points from 128
+to 255 are Latin-1, and that means that using them under locale rules is
+unwise unless the locale is guaranteed to be Latin-1 or UTF-8. In contrast, the
+POSIX character classes are useful under locale rules. They are
+affected by the actual rules in effect, as follows:
+
+=over
+
+=item If the C</a> modifier, is in effect ...
+
+Each of the POSIX classes matches exactly the same as their ASCII-range
+counterparts.
+
+=item otherwise ...
+
+=over
+
+=item For code points above 255 ...
+
+The POSIX class matches the same as its Full-range counterpart.
+
+=item For code points below 256 ...
+
+=over
+
+=item if locale rules are in effect ...
+
+The POSIX class matches according to the locale.
+
+=item if Unicode rules are in effect or if on an EBCDIC platform ...
+
+The POSIX class matches the same as the Full-range counterpart.
+
+=item otherwise ...
+
+The POSIX class matches the same as the ASCII range counterpart.
+
+=back
+
+=back
+
+=back
+
+Which rules apply are determined as described in
+L<perlre/Which character set modifier is in effect?>.
+
+It is proposed to change this behavior in a future release of Perl so that
+whether or not Unicode rules are in effect would not change the
+behavior: Outside of locale or an EBCDIC code page, the POSIX classes
+would behave like their ASCII-range counterparts. If you wish to
+comment on this proposal, send email to C<perl5-porters@perl.org>.
+
+ [[:...:]] ASCII-range Full-range backslash Note
+ Unicode Unicode sequence
-----------------------------------------------------
- alpha \p{PosixAlpha} \p{Alpha}
- alnum \p{PosixAlnum} \p{Alnum}
- ascii \p{ASCII}
- blank \p{PosixBlank} \p{Blank} = [1]
- \p{HorizSpace} \h [1]
- cntrl \p{PosixCntrl} \p{Cntrl} [2]
- digit \p{PosixDigit} \p{Digit} \d
- graph \p{PosixGraph} \p{Graph} [3]
- lower \p{PosixLower} \p{Lower}
- print \p{PosixPrint} \p{Print} [4]
- punct \p{PosixPunct} \p{Punct} [5]
- \p{PerlSpace} \p{SpacePerl} \s [6]
- space \p{PosixSpace} \p{Space} [6]
- upper \p{PosixUpper} \p{Upper}
- word \p{PerlWord} \p{Word} \w
- xdigit \p{ASCII_Hex_Digit} \p{XDigit}
+ alpha \p{PosixAlpha} \p{XPosixAlpha}
+ alnum \p{PosixAlnum} \p{XPosixAlnum}
+ ascii \p{ASCII}
+ blank \p{PosixBlank} \p{XPosixBlank} \h [1]
+ or \p{HorizSpace} [1]
+ cntrl \p{PosixCntrl} \p{XPosixCntrl} [2]
+ digit \p{PosixDigit} \p{XPosixDigit} \d
+ graph \p{PosixGraph} \p{XPosixGraph} [3]
+ lower \p{PosixLower} \p{XPosixLower}
+ print \p{PosixPrint} \p{XPosixPrint} [4]
+ punct \p{PosixPunct} \p{XPosixPunct} [5]
+ \p{PerlSpace} \p{XPerlSpace} \s [6]
+ space \p{PosixSpace} \p{XPosixSpace} [6]
+ upper \p{PosixUpper} \p{XPosixUpper}
+ word \p{PosixWord} \p{XPosixWord} \w
+ xdigit \p{PosixXDigit} \p{XPosixXDigit}
=over 4
@@ -576,51 +739,59 @@ C<\p{Blank}> and C<\p{HorizSpace}> are synonyms.
=item [2]
Control characters don't produce output as such, but instead usually control
-the terminal somehow: for example newline and backspace are control characters.
-In the ASCII range, characters whose ordinals are between 0 and 31 inclusive,
+the terminal somehow: for example, newline and backspace are control characters.
+In the ASCII range, characters whose code points are between 0 and 31 inclusive,
plus 127 (C<DEL>) are control characters.
On EBCDIC platforms, it is likely that the code page will define C<[[:cntrl:]]>
to be the EBCDIC equivalents of the ASCII controls, plus the controls
-that in Unicode have ordinals from 128 through 159.
+that in Unicode have code pointss from 128 through 159.
=item [3]
Any character that is I<graphical>, that is, visible. This class consists
-of all the alphanumerical characters and all punctuation characters.
+of all alphanumeric characters and all punctuation characters.
=item [4]
-All printable characters, which is the set of all the graphical characters
-plus whitespace characters that are not also controls.
+All printable characters, which is the set of all graphical characters
+plus those whitespace characters which are not also controls.
-=item [5] (punct)
+=item [5]
-C<\p{PosixPunct}> and C<[[:punct:]]> in the ASCII range match all the
+C<\p{PosixPunct}> and C<[[:punct:]]> in the ASCII range match all
non-controls, non-alphanumeric, non-space characters:
C<[-!"#$%&'()*+,./:;<=E<gt>?@[\\\]^_`{|}~]> (although if a locale is in effect,
it could alter the behavior of C<[[:punct:]]>).
-C<\p{Punct}> matches a somewhat different set in the ASCII range, namely
+The similarly named property, C<\p{Punct}>, matches a somewhat different
+set in the ASCII range, namely
C<[-!"#%&'()*,./:;?@[\\\]_{}]>. That is, it is missing C<[$+E<lt>=E<gt>^`|~]>.
This is because Unicode splits what POSIX considers to be punctuation into two
categories, Punctuation and Symbols.
-When the matching string is in UTF-8 format, C<[[:punct:]]> matches what it
-matches in the ASCII range, plus what C<\p{Punct}> matches. This is different
-than strictly matching according to C<\p{Punct}>. Another way to say it is that
-for a UTF-8 string, C<[[:punct:]]> matches all the characters that Unicode
-considers to be punctuation, plus all the ASCII-range characters that Unicode
-considers to be symbols.
+C<\p{XPosixPunct}> and (in Unicode mode) C<[[:punct:]]>, match what
+C<\p{PosixPunct}> matches in the ASCII range, plus what C<\p{Punct}>
+matches. This is different than strictly matching according to
+C<\p{Punct}>. Another way to say it is that
+if Unicode rules are in effect, C<[[:punct:]]> matches all characters
+that Unicode considers punctuation, plus all ASCII-range characters that
+Unicode considers symbols.
=item [6]
-C<\p{SpacePerl}> and C<\p{Space}> differ only in that C<\p{Space}> additionally
+C<\p{SpacePerl}> and C<\p{Space}> differ only in that in non-locale
+matching, C<\p{Space}> additionally
matches the vertical tab, C<\cK>. Same for the two ASCII-only range forms.
=back
-=head4 Negation
+There are various other synonyms that can be used for these besides
+C<\p{HorizSpace}> and \C<\p{XPosixBlank}>. For example,
+C<\p{PosixAlpha}> can be written as C<\p{Alpha}>. All are listed
+in L<perluniprops/Properties accessible through \p{} and \P{}>.
+
+=head4 Negation of POSIX character classes
X<character class, negation>
A Perl extension to the POSIX character class is the ability to
@@ -630,17 +801,19 @@ Some examples:
POSIX ASCII-range Full-range backslash
Unicode Unicode sequence
-----------------------------------------------------
- [[:^digit:]] \P{PosixDigit} \P{Digit} \D
- [[:^space:]] \P{PosixSpace} \P{Space}
- \P{PerlSpace} \P{SpacePerl} \S
- [[:^word:]] \P{PerlWord} \P{Word} \W
+ [[:^digit:]] \P{PosixDigit} \P{XPosixDigit} \D
+ [[:^space:]] \P{PosixSpace} \P{XPosixSpace}
+ \P{PerlSpace} \P{XPerlSpace} \S
+ [[:^word:]] \P{PerlWord} \P{XPosixWord} \W
-=head4 [= =] and [. .]
+The backslash sequence can mean either ASCII- or Full-range Unicode,
+depending on various factors as described in L<perlre/Which character set modifier is in effect?>.
-Perl will recognize the POSIX character classes C<[=class=]>, and
-C<[.class.]>, but does not (yet?) support them. Use of
-such a construct will lead to an error.
+=head4 [= =] and [. .]
+Perl recognizes the POSIX character classes C<[=class=]> and
+C<[.class.]>, but does not (yet?) support them. Any attempt to use
+either construct raises an exception.
=head4 Examples
@@ -656,44 +829,3 @@ such a construct will lead to an error.
# hex digit. The result matches all
# characters except the letters 'a' to 'f' and
# 'A' to 'F'.
-
-
-=head2 Locale, EBCDIC, Unicode and UTF-8
-
-Some of the character classes have a somewhat different behaviour depending
-on the internal encoding of the source string, and the locale that is
-in effect, and if the program is running on an EBCDIC platform.
-
-C<\w>, C<\d>, C<\s> and the POSIX character classes (and their negations,
-including C<\W>, C<\D>, C<\S>) suffer from this behaviour. (Since the backslash
-sequences C<\b> and C<\B> are defined in terms of C<\w> and C<\W>, they also are
-affected.)
-
-The rule is that if the source string is in UTF-8 format, the character
-classes match according to the Unicode properties. If the source string
-isn't, then the character classes match according to whatever locale or EBCDIC
-code page is in effect. If there is no locale nor EBCDIC, they match the ASCII
-defaults (0 to 9 for C<\d>; 52 letters, 10 digits and underscore for C<\w>;
-etc.).
-
-This usually means that if you are matching against characters whose C<ord()>
-values are between 128 and 255 inclusive, your character class may match
-or not depending on the current locale or EBCDIC code page, and whether the
-source string is in UTF-8 format. The string will be in UTF-8 format if it
-contains characters whose C<ord()> value exceeds 255. But a string may be in
-UTF-8 format without it having such characters. See L<perlunicode/The
-"Unicode Bug">.
-
-For portability reasons, it may be better to not use C<\w>, C<\d>, C<\s>
-or the POSIX character classes, and use the Unicode properties instead.
-
-=head4 Examples
-
- $str = "\xDF"; # $str is not in UTF-8 format.
- $str =~ /^\w/; # No match, as $str isn't in UTF-8 format.
- $str .= "\x{0e0b}"; # Now $str is in UTF-8 format.
- $str =~ /^\w/; # Match! $str is now in UTF-8 format.
- chop $str;
- $str =~ /^\w/; # Still a match! $str remains in UTF-8 format.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrequick.pod b/Master/tlpkg/tlperl/lib/pods/perlrequick.pod
index 4b5e19a0fb1..d543389d488 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrequick.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrequick.pod
@@ -19,7 +19,7 @@ contains that word:
"Hello World" =~ /World/; # matches
In this statement, C<World> is a regex and the C<//> enclosing
-C</World/> tells perl to search a string for a match. The operator
+C</World/> tells Perl to search a string for a match. The operator
C<=~> associates the string with the regex match and produces a true
value if the regex matched, or false if the regex did not match. In
our case, C<World> matches the second word in C<"Hello World">, so the
@@ -58,7 +58,7 @@ statement to be true:
"Hello World" =~ /o W/; # matches, ' ' is an ordinary char
"Hello World" =~ /World /; # doesn't match, no ' ' at end
-perl will always match at the earliest possible point in the string:
+Perl will always match at the earliest possible point in the string:
"Hello World" =~ /o/; # matches 'o' in 'Hello'
"That hat is red" =~ /hat/; # matches 'hat' in 'That'
@@ -88,7 +88,7 @@ e.g., C<\x1B>:
"1000\t2000" =~ m(0\t2) # matches
"cat" =~ /\143\x61\x74/ # matches in ASCII, but a weird way to spell cat
-Regexes are treated mostly as double quoted strings, so variable
+Regexes are treated mostly as double-quoted strings, so variable
substitution works:
$foo = 'house';
@@ -161,7 +161,9 @@ character, or the match fails. Then
/[^0-9]/; # matches a non-numeric character
/[a^]at/; # matches 'aat' or '^at'; here '^' is ordinary
-Perl has several abbreviations for common character classes:
+Perl has several abbreviations for common character classes. (These
+definitions are those that Perl uses in ASCII mode with the C</a> modifier.
+See L<perlrecharclass/Backslash sequences> for details.)
=over 4
@@ -233,11 +235,11 @@ boundary.
We can match different character strings with the B<alternation>
metacharacter C<'|'>. To match C<dog> or C<cat>, we form the regex
-C<dog|cat>. As before, perl will try to match the regex at the
+C<dog|cat>. As before, Perl will try to match the regex at the
earliest possible point in the string. At each character position,
-perl will first try to match the first alternative, C<dog>. If
-C<dog> doesn't match, perl will then try the next alternative, C<cat>.
-If C<cat> doesn't match either, then the match fails and perl moves to
+Perl will first try to match the first alternative, C<dog>. If
+C<dog> doesn't match, Perl will then try the next alternative, C<cat>.
+If C<cat> doesn't match either, then the match fails and Perl moves to
the next position in the string. Some examples:
"cats and dogs" =~ /cat|dog|bird/; # matches "cat"
@@ -298,13 +300,13 @@ indicated below it:
1 2 34
Associated with the matching variables C<$1>, C<$2>, ... are
-the B<backreferences> C<\1>, C<\2>, ... Backreferences are
+the B<backreferences> C<\g1>, C<\g2>, ... Backreferences are
matching variables that can be used I<inside> a regex:
- /(\w\w\w)\s\1/; # find sequences like 'the the' in string
+ /(\w\w\w)\s\g1/; # find sequences like 'the the' in string
-C<$1>, C<$2>, ... should only be used outside of a regex, and C<\1>,
-C<\2>, ... only inside a regex.
+C<$1>, C<$2>, ... should only be used outside of a regex, and C<\g1>,
+C<\g2>, ... only inside a regex.
=head2 Matching repetitions
@@ -347,10 +349,10 @@ Here are some examples:
/[a-z]+\s+\d*/; # match a lowercase word, at least some space, and
# any number of digits
- /(\w+)\s+\1/; # match doubled words of arbitrary length
- $year =~ /\d{2,4}/; # make sure year is at least 2 but not more
- # than 4 digits
- $year =~ /\d{4}|\d{2}/; # better match; throw out 3 digit dates
+ /(\w+)\s+\g1/; # match doubled words of arbitrary length
+ $year =~ /^\d{2,4}$/; # make sure year is at least 2 but not more
+ # than 4 digits
+ $year =~ /^\d{4}$|^\d{2}$/; # better match; throw out 3 digit dates
These quantifiers will try to match as much of the string as possible,
while still allowing the regex to match. So we have
@@ -368,22 +370,7 @@ no string left to it, so it matches 0 times.
=head2 More matching
There are a few more things you might want to know about matching
-operators. In the code
-
- $pattern = 'Seuss';
- while (<>) {
- print if /$pattern/;
- }
-
-perl has to re-evaluate C<$pattern> each time through the loop. If
-C<$pattern> won't be changing, use the C<//o> modifier, to only
-perform variable substitutions once. If you don't want any
-substitutions at all, use the special delimiter C<m''>:
-
- @pattern = ('Seuss');
- m/@pattern/; # matches 'Seuss'
- m'@pattern'; # matches the literal string '@pattern'
-
+operators.
The global modifier C<//g> allows the matching operator to match
within a string as many times as possible. In scalar context,
successive matches against a string will have C<//g> jump from match
@@ -417,11 +404,11 @@ there are no groupings, a list of matches to the whole regex. So
=head2 Search and replace
Search and replace is performed using C<s/regex/replacement/modifiers>.
-The C<replacement> is a Perl double quoted string that replaces in the
+The C<replacement> is a Perl double-quoted string that replaces in the
string whatever is matched with the C<regex>. The operator C<=~> is
also used here to associate a string with C<s///>. If matching
-against C<$_>, the S<C<$_ =~> > can be dropped. If there is a match,
-C<s///> returns the number of substitutions made, otherwise it returns
+against C<$_>, the S<C<$_ =~>> can be dropped. If there is a match,
+C<s///> returns the number of substitutions made; otherwise it returns
false. Here are a few examples:
$x = "Time to feed the cat!";
@@ -440,6 +427,21 @@ of the regex in the string:
$x = "I batted 4 for 4";
$x =~ s/4/four/g; # $x contains "I batted four for four"
+The non-destructive modifier C<s///r> causes the result of the substitution
+to be returned instead of modifying C<$_> (or whatever variable the
+substitute was bound to with C<=~>):
+
+ $x = "I like dogs.";
+ $y = $x =~ s/dogs/cats/r;
+ print "$x $y\n"; # prints "I like dogs. I like cats."
+
+ $x = "Cats are great.";
+ print $x =~ s/Cats/Dogs/r =~ s/Dogs/Frogs/r =~ s/Frogs/Hedgehogs/r, "\n";
+ # prints "Hedgehogs are great."
+
+ @foo = map { s/[a-z]/X/r } qw(a b c 1 2 3);
+ # @foo is now qw(X X X 1 2 3)
+
The evaluation modifier C<s///e> wraps an C<eval{...}> around the
replacement string and the evaluated result is substituted for the
matched substring. Some examples:
@@ -454,7 +456,7 @@ matched substring. Some examples:
The last example shows that C<s///> can use other delimiters, such as
C<s!!!> and C<s{}{}>, and even C<s{}//>. If single quotes are used
-C<s'''>, then the regex and replacement are treated as single quoted
+C<s'''>, then the regex and replacement are treated as single-quoted
strings.
=head2 The split operator
diff --git a/Master/tlpkg/tlperl/lib/pods/perlreref.pod b/Master/tlpkg/tlperl/lib/pods/perlreref.pod
index ad970d2dce7..f5a79759296 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlreref.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlreref.pod
@@ -21,7 +21,7 @@ false if the match succeeds, and true if it fails.
$var !~ /foo/;
-C<m/pattern/msixpogc> searches a string for a pattern match,
+C<m/pattern/msixpogcdual> searches a string for a pattern match,
applying the given options.
m Multiline mode - ^ and $ match internal lines
@@ -33,21 +33,28 @@ applying the given options.
o compile pattern Once
g Global - all occurrences
c don't reset pos on failed matches when using /g
+ a restrict \d, \s, \w and [:posix:] to match ASCII only
+ aa (two a's) also /i matches exclude ASCII/non-ASCII
+ l match according to current locale
+ u match according to Unicode rules
+ d match according to native rules unless something indicates
+ Unicode
If 'pattern' is an empty string, the last I<successfully> matched
regex is used. Delimiters other than '/' may be used for both this
operator and the following ones. The leading C<m> can be omitted
if the delimiter is '/'.
-C<qr/pattern/msixpo> lets you store a regex in a variable,
+C<qr/pattern/msixpodual> lets you store a regex in a variable,
or pass one around. Modifiers as for C<m//>, and are stored
within the regex.
-C<s/pattern/replacement/msixpogce> substitutes matches of
+C<s/pattern/replacement/msixpogcedual> substitutes matches of
'pattern' with 'replacement'. Modifiers as for C<m//>,
-with one addition:
+with two additions:
e Evaluate 'replacement' as an expression
+ r Return substitution and leave the original string untouched.
'e' may be specified multiple times. 'replacement' is interpreted
as a double quoted string unless a single-quote (C<'>) is the delimiter.
@@ -70,8 +77,8 @@ delimiters can be used. Must be reset with reset().
(...) Groups subexpressions for capturing to $1, $2...
(?:...) Groups subexpressions without capturing (cluster)
| Matches either the subexpression preceding or following it
- \1, \2, \3 ... Matches the text from the Nth group
\g1 or \g{1}, \g2 ... Matches the text from the Nth group
+ \1, \2, \3 ... Matches the text from the Nth group
\g-1 or \g{-1}, \g-2 ... Matches the text from the Nth previous group
\g{name} Named backreference
\k<name> Named backreference
@@ -93,7 +100,7 @@ These work as in normal strings.
\x7f Char whose ordinal is the 2 hex digits, max \xFF
\x{263a} Char whose ordinal is the hex number, unrestricted
\cx Control-x
- \N{name} A named Unicode character
+ \N{name} A named Unicode character or character sequence
\N{U+263D} A Unicode character by hex ordinal
\l Lowercase next character
@@ -144,44 +151,40 @@ and L<perlunicode> for details.
POSIX character classes and their Unicode and Perl equivalents:
- ASCII- Full-
- range range backslash
- POSIX \p{...} \p{} sequence Description
+ ASCII- Full-
+ POSIX range range backslash
+ [[:...:]] \p{...} \p{...} sequence Description
+
-----------------------------------------------------------------------
- alnum PosixAlnum Alnum Alpha plus Digit
- alpha PosixAlpha Alpha Alphabetic characters
- ascii ASCII Any ASCII character
- blank PosixBlank Blank \h Horizontal whitespace;
- full-range also written
- as \p{HorizSpace} (GNU
- extension)
- cntrl PosixCntrl Cntrl Control characters
- digit PosixDigit Digit \d Decimal digits
- graph PosixGraph Graph Alnum plus Punct
- lower PosixLower Lower Lowercase characters
- print PosixPrint Print Graph plus Print, but not
- any Cntrls
- punct PosixPunct Punct These aren't precisely
- equivalent. See NOTE,
- below.
- space PosixSpace Space [\s\cK] Whitespace
- PerlSpace SpacePerl \s Perl's whitespace
- definition
- upper PosixUpper Upper Uppercase characters
- word PerlWord Word \w Alnum plus '_' (Perl
- extension)
- xdigit ASCII_Hex_Digit XDigit Hexadecimal digit,
- ASCII-range is
- [0-9A-Fa-f]
-
-NOTE on C<[[:punct:]]>, C<\p{PosixPunct}> and C<\p{Punct}>:
-In the ASCII range, C<[[:punct:]]> and C<\p{PosixPunct}> match
-C<[-!"#$%&'()*+,./:;<=E<gt>?@[\\\]^_`{|}~]> (although if a locale is in
-effect, it could alter the behavior of C<[[:punct:]]>); and C<\p{Punct}>
-matches C<[-!"#%&'()*,./:;?@[\\\]_{}]>. When matching a UTF-8 string,
-C<[[:punct:]]> matches what it does in the ASCII range, plus what
-C<\p{Punct}> matches. C<\p{Punct}> matches, anything that isn't a
-control, an alphanumeric, a space, nor a symbol.
+ alnum PosixAlnum XPosixAlnum Alpha plus Digit
+ alpha PosixAlpha XPosixAlpha Alphabetic characters
+ ascii ASCII Any ASCII character
+ blank PosixBlank XPosixBlank \h Horizontal whitespace;
+ full-range also
+ written as
+ \p{HorizSpace} (GNU
+ extension)
+ cntrl PosixCntrl XPosixCntrl Control characters
+ digit PosixDigit XPosixDigit \d Decimal digits
+ graph PosixGraph XPosixGraph Alnum plus Punct
+ lower PosixLower XPosixLower Lowercase characters
+ print PosixPrint XPosixPrint Graph plus Print, but
+ not any Cntrls
+ punct PosixPunct XPosixPunct Punctuation and Symbols
+ in ASCII-range; just
+ punct outside it
+ space PosixSpace XPosixSpace [\s\cK]
+ PerlSpace XPerlSpace \s Perl's whitespace def'n
+ upper PosixUpper XPosixUpper Uppercase characters
+ word PerlWord XPosixWord \w Alnum + Unicode marks +
+ connectors, like '_'
+ (Perl extension)
+ xdigit ASCII_Hex_Digit XPosixDigit Hexadecimal digit,
+ ASCII-range is
+ [0-9A-Fa-f]
+
+Also, various synonyms like C<\p{Alpha}> for C<\p{XPosixAlpha}>; all listed
+in L<perluniprops/Properties accessible through \p{} and \P{}>
Within a character class:
@@ -246,6 +249,10 @@ There is no quantifier C<{,n}>. That's interpreted as a literal string.
(?P>name) Recurse into a named subpattern (python syntax)
(?(cond)yes|no)
(?(cond)yes) Conditional expression, where "cond" can be:
+ (?=pat) look-ahead
+ (?!pat) negative look-ahead
+ (?<=pat) look-behind
+ (?<!pat) negative look-behind
(N) subpattern N has matched something
(<name>) named subpattern has matched something
('name') named subpattern has matched something
@@ -281,8 +288,8 @@ specify the C</p> (preserve) modifier on your regular expression.
$^R Holds the result of the last (?{...}) expr
@- Offsets of starts of groups. $-[0] holds start of whole match
@+ Offsets of ends of groups. $+[0] holds end of whole match
- %+ Named capture buffers
- %- Named capture buffers, as array refs
+ %+ Named capture groups
+ %- Named capture groups, as array refs
Captured groups are numbered according to their I<opening> paren.
@@ -363,7 +370,7 @@ debugging.
=item *
-L<perldebug/"Debugging regular expressions">
+L<perldebug/"Debugging Regular Expressions">
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perlretut.pod b/Master/tlpkg/tlperl/lib/pods/perlretut.pod
index 0ff743838c4..ea80594e605 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlretut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlretut.pod
@@ -41,7 +41,7 @@ you master the first part, you will have all the tools needed to solve
about 98% of your needs. The second part of the tutorial is for those
comfortable with the basics and hungry for more power tools. It
discusses the more advanced regular expression operators and
-introduces the latest cutting edge innovations in 5.6.0.
+introduces the latest cutting-edge innovations.
A note: to save time, 'regular expression' is often abbreviated as
regexp or regex. Regexp is a more natural abbreviation than regex, but
@@ -60,7 +60,7 @@ contains that word:
"Hello World" =~ /World/; # matches
What is this Perl statement all about? C<"Hello World"> is a simple
-double quoted string. C<World> is the regular expression and the
+double-quoted string. C<World> is the regular expression and the
C<//> enclosing C</World/> tells Perl to search a string for a match.
The operator C<=~> associates the string with the regexp match and
produces a true value if the regexp matched, or false if the regexp
@@ -176,7 +176,7 @@ In addition to the metacharacters, there are some ASCII characters
which don't have printable character equivalents and are instead
represented by I<escape sequences>. Common examples are C<\t> for a
tab, C<\n> for a newline, C<\r> for a carriage return and C<\a> for a
-bell. If your string is better thought of as a sequence of arbitrary
+bell (or alert). If your string is better thought of as a sequence of arbitrary
bytes, the octal escape sequence, e.g., C<\033>, or hexadecimal escape
sequence, e.g., C<\x1B> may be a more natural representation for your
bytes. Here are some examples of escapes:
@@ -184,7 +184,8 @@ bytes. Here are some examples of escapes:
"1000\t2000" =~ m(0\t2) # matches
"1000\n2000" =~ /0\n20/ # matches
"1000\t2000" =~ /\000\t2/ # doesn't match, "0" ne "\000"
- "cat" =~ /\143\x61\x74/ # matches in ASCII, but a weird way to spell cat
+ "cat" =~ /\o{143}\x61\x74/ # matches in ASCII, but a weird way
+ # to spell cat
If you've been around Perl a while, all this talk of escape sequences
may seem familiar. Similar escape sequences are used in double-quoted
@@ -286,7 +287,7 @@ Although one can already do quite a lot with the literal string
regexps above, we've only scratched the surface of regular expression
technology. In this and subsequent sections we will introduce regexp
concepts (and associated metacharacter notations) that will allow a
-regexp to not just represent a single character sequence, but a I<whole
+regexp to represent not just a single character sequence, but a I<whole
class> of them.
One such concept is that of a I<character class>. A character class
@@ -366,8 +367,9 @@ character, or the match fails. Then
Now, even C<[0-9]> can be a bother to write multiple times, so in the
interest of saving keystrokes and making regexps more readable, Perl
has several abbreviations for common character classes, as shown below.
-Since the introduction of Unicode, these character classes match more
-than just a few characters in the ISO 8859-1 range.
+Since the introduction of Unicode, unless the C<//a> modifier is in
+effect, these character classes match more than just a few characters in
+the ASCII range.
=over 4
@@ -401,8 +403,22 @@ but also digits and characters from non-roman scripts
The period '.' matches any character but "\n" (unless the modifier C<//s> is
in effect, as explained below).
+=item *
+
+\N, like the period, matches any character but "\n", but it does so
+regardless of whether the modifier C<//s> is in effect.
+
=back
+The C<//a> modifier, available starting in Perl 5.14, is used to
+restrict the matches of \d, \s, and \w to just those in the ASCII range.
+It is useful to keep your program from being needlessly exposed to full
+Unicode (and its accompanying security considerations) when all you want
+is to process English-like text. (The "a" may be doubled, C<//aa>, to
+provide even more restrictions, preventing case-insensitive matching of
+ASCII with non-ASCII characters; otherwise a Unicode "Kelvin Sign"
+would caselessly match a "k" or "K".)
+
The C<\d\s\w\D\S\W> abbreviations can be used both inside and outside
of character classes. Here are some in use:
@@ -732,21 +748,21 @@ match).
=head2 Backreferences
Closely associated with the matching variables C<$1>, C<$2>, ... are
-the I<backreferences> C<\1>, C<\2>,... Backreferences are simply
+the I<backreferences> C<\g1>, C<\g2>,... Backreferences are simply
matching variables that can be used I<inside> a regexp. This is a
really nice feature; what matches later in a regexp is made to depend on
what matched earlier in the regexp. Suppose we wanted to look
for doubled words in a text, like 'the the'. The following regexp finds
all 3-letter doubles with a space in between:
- /\b(\w\w\w)\s\1\b/;
+ /\b(\w\w\w)\s\g1\b/;
-The grouping assigns a value to \1, so that the same 3 letter sequence
+The grouping assigns a value to \g1, so that the same 3-letter sequence
is used for both parts.
A similar task is to find words consisting of two identical parts:
- % simple_grep '^(\w\w\w\w|\w\w\w|\w\w|\w)\1$' /usr/dict/words
+ % simple_grep '^(\w\w\w\w|\w\w\w|\w\w|\w)\g1$' /usr/dict/words
beriberi
booboo
coco
@@ -755,10 +771,10 @@ A similar task is to find words consisting of two identical parts:
papa
The regexp has a single grouping which considers 4-letter
-combinations, then 3-letter combinations, etc., and uses C<\1> to look for
-a repeat. Although C<$1> and C<\1> represent the same thing, care should be
+combinations, then 3-letter combinations, etc., and uses C<\g1> to look for
+a repeat. Although C<$1> and C<\g1> represent the same thing, care should be
taken to use matched variables C<$1>, C<$2>,... only I<outside> a regexp
-and backreferences C<\1>, C<\2>,... only I<inside> a regexp; not doing
+and backreferences C<\g1>, C<\g2>,... only I<inside> a regexp; not doing
so may lead to surprising and unsatisfactory results.
@@ -772,10 +788,10 @@ preceding capture group one now may write C<\g{-1}>, the next but
last is available via C<\g{-2}>, and so on.
Another good reason in addition to readability and maintainability
-for using relative backreferences is illustrated by the following example,
+for using relative backreferences is illustrated by the following example,
where a simple pattern for matching peculiar strings is used:
- $a99a = '([a-z])(\d)\2\1'; # matches a11a, g22g, x33x, etc.
+ $a99a = '([a-z])(\d)\g2\g1'; # matches a11a, g22g, x33x, etc.
Now that we have this pattern stored as a handy string, we might feel
tempted to use it as a part of some other pattern:
@@ -799,18 +815,18 @@ using relative backreferences:
=head2 Named backreferences
-Perl 5.10 also introduced named capture buffers and named backreferences.
+Perl 5.10 also introduced named capture groups and named backreferences.
To attach a name to a capturing group, you write either
C<< (?<name>...) >> or C<< (?'name'...) >>. The backreference may
then be written as C<\g{name}>. It is permissible to attach the
same name to more than one group, but then only the leftmost one of the
eponymous set can be referenced. Outside of the pattern a named
-capture buffer is accessible through the C<%+> hash.
+capture group is accessible through the C<%+> hash.
Assuming that we have to match calendar dates which may be given in one
of the three formats yyyy-mm-dd, mm/dd/yyyy or dd.mm.yyyy, we can write
three suitable patterns where we use 'd', 'm' and 'y' respectively as the
-names of the buffers capturing the pertaining components of a date. The
+names of the groups capturing the pertaining components of a date. The
matching operation combines the three patterns as alternatives:
$fmt1 = '(?<y>\d\d\d\d)-(?<m>\d\d)-(?<d>\d\d)';
@@ -838,7 +854,7 @@ Consider a pattern for matching a time of the day, civil or military style:
Processing the results requires an additional if statement to determine
whether C<$1> and C<$2> or C<$3> and C<$4> contain the goodies. It would
-be easier if we could use buffer numbers 1 and 2 in second alternative as
+be easier if we could use group numbers 1 and 2 in second alternative as
well, and this is exactly what the parenthesized construct C<(?|...)>,
set around an alternative achieves. Here is an extended version of the
previous pattern:
@@ -847,7 +863,7 @@ previous pattern:
print "hour=$1 minute=$2 zone=$3\n";
}
-Within the alternative numbering group, buffer numbers start at the same
+Within the alternative numbering group, group numbers start at the same
position for each alternative. After the group, numbering continues
with one higher than the maximum reached across all the alternatives.
@@ -896,15 +912,18 @@ C<@+> instead:
$& is the same as substr( $x, $-[0], $+[0]-$-[0] )
$' is the same as substr( $x, $+[0] )
+As of Perl 5.10, the C<${^PREMATCH}>, C<${^MATCH}> and C<${^POSTMATCH}>
+variables may be used. These are only set if the C</p> modifier is present.
+Consequently they do not penalize the rest of the program.
=head2 Non-capturing groupings
A group that is required to bundle a set of alternatives may or may not be
useful as a capturing group. If it isn't, it just creates a superfluous
-addition to the set of available capture buffer values, inside as well as
+addition to the set of available capture group values, inside as well as
outside the regexp. Non-capturing groupings, denoted by C<(?:regexp)>,
still allow the regexp to be treated as a single unit, but don't establish
-a capturing buffer at the same time. Both capturing and non-capturing
+a capturing group at the same time. Both capturing and non-capturing
groupings are allowed to co-exist in the same regexp. Because there is
no extraction, non-capturing groupings are faster than capturing
groupings. Non-capturing groupings are also handy for choosing exactly
@@ -924,7 +943,7 @@ elements gathered from a split operation where parentheses are
required for some reason:
$x = '12aba34ba5';
- @num = split /(a|b)+/, $x; # @num = ('12','a','34','b','5')
+ @num = split /(a|b)+/, $x; # @num = ('12','a','34','a','5')
@num = split /(?:a|b)+/, $x; # @num = ('12','34','5')
@@ -976,15 +995,16 @@ Here are some examples:
/[a-z]+\s+\d*/; # match a lowercase word, at least one space, and
# any number of digits
- /(\w+)\s+\1/; # match doubled words of arbitrary length
+ /(\w+)\s+\g1/; # match doubled words of arbitrary length
/y(es)?/i; # matches 'y', 'Y', or a case-insensitive 'yes'
- $year =~ /\d{2,4}/; # make sure year is at least 2 but not more
- # than 4 digits
- $year =~ /\d{4}|\d{2}/; # better match; throw out 3 digit dates
- $year =~ /\d{2}(\d{2})?/; # same thing written differently. However,
- # this produces $1 and the other does not.
-
- % simple_grep '^(\w+)\1$' /usr/dict/words # isn't this easier?
+ $year =~ /^\d{2,4}$/; # make sure year is at least 2 but not more
+ # than 4 digits
+ $year =~ /^\d{4}$|^\d{2}$/; # better match; throw out 3-digit dates
+ $year =~ /^\d{2}(\d{2})?$/; # same thing written differently. However,
+ # this captures the last two digits in $1
+ # and the other does not.
+
+ % simple_grep '^(\w+)\g1$' /usr/dict/words # isn't this easier?
beriberi
booboo
coco
@@ -1017,9 +1037,9 @@ stop there, but that wouldn't give the longest possible string to the
first quantifier C<.*>. Instead, the first quantifier C<.*> grabs as
much of the string as possible while still having the regexp match. In
this example, that means having the C<at> sequence with the final C<at>
-in the string. The other important principle illustrated here is that
+in the string. The other important principle illustrated here is that,
when there are two or more elements in a regexp, the I<leftmost>
-quantifier, if there is one, gets to grab as much the string as
+quantifier, if there is one, gets to grab as much of the string as
possible, leaving the rest of the regexp to fight over scraps. Thus in
our example, the first quantifier C<.*> grabs most of the string, while
the second quantifier C<.*> gets the empty string. Quantifiers that
@@ -1417,7 +1437,7 @@ we can rewrite our 'extended' regexp in the more pleasing form
If whitespace is mostly irrelevant, how does one include space
characters in an extended regexp? The answer is to backslash it
S<C<'\ '>> or put it in a character class S<C<[ ]>>. The same thing
-goes for pound signs, use C<\#> or C<[#]>. For instance, Perl allows
+goes for pound signs: use C<\#> or C<[#]>. For instance, Perl allows
a space between the sign and the mantissa or integer, and we could add
this to our regexp as follows:
@@ -1496,31 +1516,6 @@ single line C<//s>, multi-line C<//m>, case-insensitive C<//i> and
extended C<//x> modifiers. There are a few more things you might
want to know about matching operators.
-=head3 Optimizing pattern evaluation
-
-We pointed out earlier that variables in regexps are substituted
-before the regexp is evaluated:
-
- $pattern = 'Seuss';
- while (<>) {
- print if /$pattern/;
- }
-
-This will print any lines containing the word C<Seuss>. It is not as
-efficient as it could be, however, because Perl has to re-evaluate
-(or compile) C<$pattern> each time through the loop. If C<$pattern> won't be
-changing over the lifetime of the script, we can add the C<//o>
-modifier, which directs Perl to only perform variable substitutions
-once:
-
- #!/usr/bin/perl
- # Improved simple_grep
- $regexp = shift;
- while (<>) {
- print if /$regexp/o; # a good deal faster
- }
-
-
=head3 Prohibiting substitution
If you change C<$pattern> after the first substitution happens, Perl
@@ -1542,11 +1537,12 @@ the regexp in the I<last successful match> is used instead. So we have
=head3 Global matching
-The final two modifiers C<//g> and C<//c> concern multiple matches.
+The final two modifiers we will disccuss here,
+C<//g> and C<//c>, concern multiple matches.
The modifier C<//g> stands for global matching and allows the
matching operator to match within a string as many times as possible.
In scalar context, successive invocations against a string will have
-`C<//g> jump from match to match, keeping track of position in the
+C<//g> jump from match to match, keeping track of position in the
string as it goes along. You can get or set the position with the
C<pos()> function.
@@ -1613,7 +1609,7 @@ bit at a time and use arbitrary Perl logic to decide what to do next.
Currently, the C<\G> anchor is only fully supported when used to anchor
to the start of the pattern.
-C<\G> is also invaluable in processing fixed length records with
+C<\G> is also invaluable in processing fixed-length records with
regexps. Suppose we have a snippet of coding region DNA, encoded as
base pair letters C<ATCGTTGAAT...> and we want to find all the stop
codons C<TGA>. In a coding region, codons are 3-letter sequences, so
@@ -1657,6 +1653,10 @@ which is the correct answer. This example illustrates that it is
important not only to match what is desired, but to reject what is not
desired.
+(There are other regexp modifiers that are available, such as
+C<//o>, C<//d>, and C<//l>, but their specialized uses are beyond the
+scope of this introduction. )
+
=head3 Search and replace
Regular expressions also play a big role in I<search and replace>
@@ -1664,11 +1664,11 @@ operations in Perl. Search and replace is accomplished with the
C<s///> operator. The general form is
C<s/regexp/replacement/modifiers>, with everything we know about
regexps and modifiers applying in this case as well. The
-C<replacement> is a Perl double quoted string that replaces in the
+C<replacement> is a Perl double-quoted string that replaces in the
string whatever is matched with the C<regexp>. The operator C<=~> is
also used here to associate a string with C<s///>. If matching
against C<$_>, the S<C<$_ =~>> can be dropped. If there is a match,
-C<s///> returns the number of substitutions made, otherwise it returns
+C<s///> returns the number of substitutions made; otherwise it returns
false. Here are a few examples:
$x = "Time to feed the cat!";
@@ -1682,7 +1682,7 @@ false. Here are a few examples:
In the last example, the whole string was matched, but only the part
inside the single quotes was grouped. With the C<s///> operator, the
-matched variables C<$1>, C<$2>, etc. are immediately available for use
+matched variables C<$1>, C<$2>, etc. are immediately available for use
in the replacement expression, so we use C<$1> to replace the quoted
string with just what was quoted. With the global modifier, C<s///g>
will search and replace all occurrences of the regexp in the string:
@@ -1702,7 +1702,7 @@ the following program to replace it:
$regexp = shift;
$replacement = shift;
while (<>) {
- s/$regexp/$replacement/go;
+ s/$regexp/$replacement/g;
print;
}
^D
@@ -1710,13 +1710,41 @@ the following program to replace it:
% simple_replace regexp regex perlretut.pod
In C<simple_replace> we used the C<s///g> modifier to replace all
-occurrences of the regexp on each line and the C<s///o> modifier to
-compile the regexp only once. As with C<simple_grep>, both the
-C<print> and the C<s/$regexp/$replacement/go> use C<$_> implicitly.
+occurrences of the regexp on each line. (Even though the regular
+expression appears in a loop, Perl is smart enough to compile it
+only once.) As with C<simple_grep>, both the
+C<print> and the C<s/$regexp/$replacement/g> use C<$_> implicitly.
+
+If you don't want C<s///> to change your original variable you can use
+the non-destructive substitute modifier, C<s///r>. This changes the
+behavior so that C<s///r> returns the final substituted string
+(instead of the number of substitutions):
+
+ $x = "I like dogs.";
+ $y = $x =~ s/dogs/cats/r;
+ print "$x $y\n";
+
+That example will print "I like dogs. I like cats". Notice the original
+C<$x> variable has not been affected. The overall
+result of the substitution is instead stored in C<$y>. If the
+substitution doesn't affect anything then the original string is
+returned:
+
+ $x = "I like dogs.";
+ $y = $x =~ s/elephants/cougars/r;
+ print "$x $y\n"; # prints "I like dogs. I like dogs."
+
+One other interesting thing that the C<s///r> flag allows is chaining
+substitutions:
+
+ $x = "Cats are great.";
+ print $x =~ s/Cats/Dogs/r =~ s/Dogs/Frogs/r =~ s/Frogs/Hedgehogs/r, "\n";
+ # prints "Hedgehogs are great."
A modifier available specifically to search and replace is the
-C<s///e> evaluation modifier. C<s///e> wraps an C<eval{...}> around
-the replacement string and the evaluated result is substituted for the
+C<s///e> evaluation modifier. C<s///e> treats the
+replacement text as Perl code, rather than a double-quoted
+string. The value that the code returns is substituted for the
matched substring. C<s///e> is useful if you need to do a bit of
computation in the process of replacing text. This example counts
character frequencies in a line:
@@ -1740,8 +1768,9 @@ This prints
As with the match C<m//> operator, C<s///> can use other delimiters,
such as C<s!!!> and C<s{}{}>, and even C<s{}//>. If single quotes are
-used C<s'''>, then the regexp and replacement are treated as single
-quoted strings and there are no substitutions. C<s///> in list context
+used C<s'''>, then the regexp and replacement are
+treated as single-quoted strings and there are no
+variable substitutions. C<s///> in list context
returns the same thing as in scalar context, i.e., the number of
matches.
@@ -1783,7 +1812,7 @@ an empty initial element to the list.
If you have read this far, congratulations! You now have all the basic
tools needed to use regular expressions to solve a wide range of text
processing problems. If this is your first time through the tutorial,
-why not stop here and play around with regexps a while... S<Part 2>
+why not stop here and play around with regexps a while.... S<Part 2>
concerns the more esoteric aspects of regular expressions and those
concepts certainly aren't needed right at the start.
@@ -1798,7 +1827,7 @@ too often on a hike, but when we are stuck, they can be invaluable.
What follows are the more advanced, less used, or sometimes esoteric
capabilities of Perl regexps. In Part 2, we will assume you are
-comfortable with the basics and concentrate on the new features.
+comfortable with the basics and concentrate on the advanced features.
=head2 More on characters, strings, and character classes
@@ -1839,21 +1868,27 @@ instance,
It does not protect C<$> or C<@>, so that variables can still be
substituted.
+C<\Q>, C<\L>, C<\l>, C<\U>, C<\u> and C<\E> are actually part of
+double-quotish syntax, and not part of regexp syntax proper. They will
+work if they appear in a regular expression embeddded directly in a
+program, but not when contained in a string that is interpolated in a
+pattern.
+
With the advent of 5.6.0, Perl regexps can handle more than just the
standard ASCII character set. Perl now supports I<Unicode>, a standard
for representing the alphabets from virtually all of the world's written
languages, and a host of symbols. Perl's text strings are Unicode strings, so
they can contain characters with a value (codepoint or character number) higher
-than 255
+than 255.
What does this mean for regexps? Well, regexp users don't need to know
much about Perl's internal representation of strings. But they do need
to know 1) how to represent Unicode characters in a regexp and 2) that
a matching operation will treat the string to be searched as a sequence
of characters, not bytes. The answer to 1) is that Unicode characters
-greater than C<chr(255)> are represented using the C<\x{hex}> notation,
-because the \0 octal and \x hex (without curly braces) don't go further
-than 255.
+greater than C<chr(255)> are represented using the C<\x{hex}> notation, because
+\x hex (without curly braces) doesn't go further than 255. (Starting in Perl
+5.14, if you're an octal fan, you can also use C<\o{oct}>.)
/\x{263a}/; # match a Unicode smiley face :)
@@ -1887,15 +1922,21 @@ One can also use short names or restrict names to a certain alphabet:
use charnames qw(greek);
print "\N{sigma} is Greek sigma\n";
-A list of full names is found in the file NamesList.txt in the
-lib/perl5/X.X.X/unicore directory (where X.X.X is the perl
-version number as it is installed on your system).
-
-The answer to requirement 2), as of 5.6.0, is that a regexp uses Unicode
-characters. Internally, this is encoded to bytes using either UTF-8 or a
-native 8 bit encoding, depending on the history of the string, but
-conceptually it is a sequence of characters, not bytes. See
-L<perlunitut> for a tutorial about that.
+A list of full names can be found in F<NamesList.txt> in the Unicode standard
+(available at L<http://www.unicode.org/Public/UNIDATA/>).
+
+The answer to requirement 2), as of 5.6.0, is that a regexp (mostly)
+uses Unicode characters. (For messy backward compatibility reasons,
+most but not all semantics of a match will assume Unicode, unless,
+starting in Perl 5.14, you tell it to use full Unicode. You can do this
+explicitly by using the C<//u> modifier, or you can ask Perl to use the
+modifier implicitly for all regexes in a scope by using C<use 5.012> (or
+higher) or C<use feature 'unicode_strings'>.) If you want to handle
+Unicode properly, you should ensure that one of these is the case.)
+Internally, this is encoded to bytes using either UTF-8 or a native 8
+bit encoding, depending on the history of the string, but conceptually
+it is a sequence of characters, not bytes. See L<perlunitut> for a
+tutorial about that.
Let us now discuss Unicode character classes. Just as with Unicode
characters, there are named Unicode character classes represented by the
@@ -1910,6 +1951,8 @@ example, to match lower and uppercase characters,
$x =~ /^\p{IsLower}/; # doesn't match, lowercase char class
$x =~ /^\P{IsLower}/; # matches, char class sans lowercase
+(The "Is" is optional.)
+
Here is the association between some Perl named classes and the
traditional Unicode classes:
@@ -1931,21 +1974,18 @@ traditional Unicode classes:
IsWord /^[LMN]/ || $code eq "005F"
IsXDigit $code =~ /^00(3[0-9]|[46][1-6])$/
-You can also use the official Unicode class names with the C<\p> and
-C<\P>, like C<\p{L}> for Unicode 'letters', or C<\p{Lu}> for uppercase
+You can also use the official Unicode class names with C<\p> and
+C<\P>, like C<\p{L}> for Unicode 'letters', C<\p{Lu}> for uppercase
letters, or C<\P{Nd}> for non-digits. If a C<name> is just one
letter, the braces can be dropped. For instance, C<\pM> is the
character class of Unicode 'marks', for example accent marks.
For the full list see L<perlunicode>.
-The Unicode has also been separated into various sets of characters
+Unicode has also been separated into various sets of characters
which you can test with C<\p{...}> (in) and C<\P{...}> (not in).
To test whether a character is (or is not) an element of a script
you would use the script name, for example C<\p{Latin}>, C<\p{Greek}>,
-or C<\P{Katakana}>. Other sets are the Unicode blocks, the names
-of which begin with "In". One such block is dedicated to mathematical
-operators, and its pattern formula is <C\p{InMathematicalOperators>}>.
-For the full list see L<perluniprops>.
+or C<\P{Katakana}>.
What we have described so far is the single form of the C<\p{...}> character
classes. There is also a compound form which you may run into. These
@@ -1959,7 +1999,7 @@ never have to use the compound forms, but sometimes it is necessary, and their
use can make your code easier to understand.
C<\X> is an abbreviation for a character class that comprises
-a Unicode I<extended grapheme cluster>. This represents a "logical character",
+a Unicode I<extended grapheme cluster>. This represents a "logical character":
what appears to be a single character, but may be represented internally by more
than one. As an example, using the Unicode full names, e.g., S<C<A + COMBINING
RING>> is a grapheme cluster with base character C<A> and combining character
@@ -1969,27 +2009,27 @@ as in the word Angstrom.
For the full and latest information about Unicode see the latest
Unicode standard, or the Unicode Consortium's website L<http://www.unicode.org>
-As if all those classes weren't enough, Perl also defines POSIX style
+As if all those classes weren't enough, Perl also defines POSIX-style
character classes. These have the form C<[:name:]>, with C<name> the
name of the POSIX class. The POSIX classes are C<alpha>, C<alnum>,
C<ascii>, C<cntrl>, C<digit>, C<graph>, C<lower>, C<print>, C<punct>,
C<space>, C<upper>, and C<xdigit>, and two extensions, C<word> (a Perl
-extension to match C<\w>), and C<blank> (a GNU extension). If C<utf8>
-is being used, then these classes are defined the same as their
-corresponding Perl Unicode classes: C<[:upper:]> is the same as
-C<\p{IsUpper}>, etc. The POSIX character classes, however, don't
-require using C<utf8>. The C<[:digit:]>, C<[:word:]>, and
+extension to match C<\w>), and C<blank> (a GNU extension). The C<//a>
+modifier restricts these to matching just in the ASCII range; otherwise
+they can match the same as their corresponding Perl Unicode classes:
+C<[:upper:]> is the same as C<\p{IsUpper}>, etc. (There are some
+exceptions and gotchas with this; see L<perlrecharclass> for a full
+discussion.) The C<[:digit:]>, C<[:word:]>, and
C<[:space:]> correspond to the familiar C<\d>, C<\w>, and C<\s>
character classes. To negate a POSIX class, put a C<^> in front of
-the name, so that, e.g., C<[:^digit:]> corresponds to C<\D> and under
-C<utf8>, C<\P{IsDigit}>. The Unicode and POSIX character classes can
+the name, so that, e.g., C<[:^digit:]> corresponds to C<\D> and, under
+Unicode, C<\P{IsDigit}>. The Unicode and POSIX character classes can
be used just like C<\d>, with the exception that POSIX character
classes can only be used inside of a character class:
/\s+[abc[:digit:]xyz]\s*/; # match a,b,c,x,y,z, or a digit
/^=item\s[[:digit:]]/; # match '=item',
# followed by a space and a digit
- use charnames ":full";
/\s+[abc\p{IsDigit}xyz]\s+/; # match a,b,c,x,y,z, or a digit
/^=item\s\p{IsDigit}/; # match '=item',
# followed by a space and a digit
@@ -1998,8 +2038,8 @@ Whew! That is all the rest of the characters and character classes.
=head2 Compiling and saving regular expressions
-In Part 1 we discussed the C<//o> modifier, which compiles a regexp
-just once. This suggests that a compiled regexp is some data structure
+In Part 1 we mentioned that Perl compiles a regexp into a compact
+sequence of opcodes. Thus, a compiled regexp is a data structure
that can be stored once and used again and again. The regexp quote
C<qr//> does exactly that: C<qr/string/> compiles the C<string> as a
regexp and transforms the result into a form that can be assigned to a
@@ -2074,7 +2114,7 @@ multiple patterns:
$pattern = join '|', @regexp;
while ($line = <>) {
- print $line if $line =~ /$pattern/o;
+ print $line if $line =~ /$pattern/;
}
^D
@@ -2128,8 +2168,8 @@ Starting with this section, we will be discussing Perl's set of
I<extended patterns>. These are extensions to the traditional regular
expression syntax that provide powerful new tools for pattern
matching. We have already seen extensions in the form of the minimal
-matching constructs C<??>, C<*?>, C<+?>, C<{n,m}?>, and C<{n,}?>. The
-rest of the extensions below have the form C<(?char...)>, where the
+matching constructs C<??>, C<*?>, C<+?>, C<{n,m}?>, and C<{n,}?>. Most
+of the extensions below have the form C<(?char...)>, where the
C<char> is a character that determines the type of extension.
The first extension is an embedded comment C<(?#text)>. This embeds a
@@ -2142,7 +2182,7 @@ example is
This style of commenting has been largely superseded by the raw,
freeform commenting that is allowed with the C<//x> modifier.
-The modifiers C<//i>, C<//m>, C<//s> and C<//x> (or any
+Most modifiers, such as C<//i>, C<//m>, C<//s> and C<//x> (or any
combination thereof) can also be embedded in
a regexp using C<(?i)>, C<(?m)>, C<(?s)>, and C<(?x)>. For instance,
@@ -2200,8 +2240,8 @@ we have seen so far are the anchors. The anchor C<^> matches the
beginning of the line, but doesn't eat any characters. Similarly, the
word boundary anchor C<\b> matches wherever a character matching C<\w>
is next to a character that doesn't, but it doesn't eat up any
-characters itself. Anchors are examples of I<zero-width assertions>.
-Zero-width, because they consume
+characters itself. Anchors are examples of I<zero-width assertions>:
+zero-width, because they consume
no characters, and assertions, because they test some property of the
string. In the context of our walk in the woods analogy to regexp
matching, most regexp elements move us along a trail, but anchors have
@@ -2347,9 +2387,9 @@ matched, otherwise the C<no-regexp> will be matched.
The C<condition> can have several forms. The first form is simply an
integer in parentheses C<(integer)>. It is true if the corresponding
backreference C<\integer> matched earlier in the regexp. The same
-thing can be done with a name associated with a capture buffer, written
+thing can be done with a name associated with a capture group, written
as C<< (<name>) >> or C<< ('name') >>. The second form is a bare
-zero width assertion C<(?...)>, either a lookahead, a lookbehind, or a
+zero-width assertion C<(?...)>, either a lookahead, a lookbehind, or a
code assertion (discussed in the next section). The third set of forms
provides tests that return true if the expression is executed within
a recursion (C<(R)>) or is being called from some capturing group,
@@ -2360,7 +2400,7 @@ The integer or name form of the C<condition> allows us to choose,
with more flexibility, what to match based on what matched earlier in the
regexp. This searches for words of the form C<"$x$x"> or C<"$x$y$y$x">:
- % simple_grep '^(\w+)(\w+)?(?(2)\2\1|\1)$' /usr/dict/words
+ % simple_grep '^(\w+)(\w+)?(?(2)\g2\g1|\g1)$' /usr/dict/words
beriberi
coco
couscous
@@ -2441,8 +2481,8 @@ have the full pattern:
In C<(?...)> both absolute and relative backreferences may be used.
The entire pattern can be reinserted with C<(?R)> or C<(?0)>.
-If you prefer to name your buffers, you can use C<(?&name)> to
-recurse into that buffer.
+If you prefer to name your groups, you can use C<(?&name)> to
+recurse into that group.
=head2 A bit of magic: executing Perl code in a regular expression
@@ -2683,23 +2723,24 @@ detailed description.
Below is just one example, illustrating the control verb C<(*FAIL)>,
which may be abbreviated as C<(*F)>. If this is inserted in a regexp
-it will cause to fail, just like at some mismatch between the pattern
-and the string. Processing of the regexp continues like after any "normal"
+it will cause it to fail, just as it would at some
+mismatch between the pattern and the string. Processing
+of the regexp continues as it would after any "normal"
failure, so that, for instance, the next position in the string or another
alternative will be tried. As failing to match doesn't preserve capture
-buffers or produce results, it may be necessary to use this in
+groups or produce results, it may be necessary to use this in
combination with embedded code.
%count = ();
"supercalifragilisticexpialidoceous" =~
- /([aeiou])(?{ $count{$1}++; })(*FAIL)/oi;
+ /([aeiou])(?{ $count{$1}++; })(*FAIL)/i;
printf "%3d '%s'\n", $count{$_}, $_ for (sort keys %count);
The pattern begins with a class matching a subset of letters. Whenever
this matches, a statement like C<$count{'a'}++;> is executed, incrementing
the letter's counter. Then C<(*FAIL)> does what it says, and
-the regexp engine proceeds according to the book: as long as the end of
-the string hasn't been reached, the position is advanced before looking
+the regexp engine proceeds according to the book: as long as the end of
+the string hasn't been reached, the position is advanced before looking
for another vowel. Thus, match or no match makes no difference, and the
regexp engine proceeds until the entire string has been inspected.
(It's remarkable that an alternative solution using something like
@@ -2730,6 +2771,14 @@ performing some other processing. Both C<taint> and C<eval> pragmas
are lexically scoped, which means they are in effect only until
the end of the block enclosing the pragmas.
+ use re '/m'; # or any other flags
+ $multiline_string =~ /^foo/; # /m is implied
+
+The C<re '/flags'> pragma (introduced in Perl
+5.14) turns on the given regular expression flags
+until the end of the lexical scope. See C<re/"'/flags' mode"> for more
+detail.
+
use re 'debug';
/^(.*)$/s; # output debugging info
@@ -2810,8 +2859,8 @@ process:
Each step is of the form S<C<< n <x> <y> >>>, with C<< <x> >> the
part of the string matched and C<< <y> >> the part not yet
matched. The S<C<< | 1: STAR >>> says that Perl is at line number 1
-n the compilation list above. See
-L<perldebguts/"Debugging regular expressions"> for much more detail.
+in the compilation list above. See
+L<perldebguts/"Debugging Regular Expressions"> for much more detail.
An alternative method of debugging regexps is to embed C<print>
statements within the regexp. This provides a blow-by-blow account of
diff --git a/Master/tlpkg/tlperl/lib/pods/perlriscos.pod b/Master/tlpkg/tlperl/lib/pods/perlriscos.pod
index 93c365bf654..62a1a5647c7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlriscos.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlriscos.pod
@@ -25,11 +25,11 @@ Then, in the source to be cross compiled:
=over 4
-=item
+=item 1.
$ ./Configure
-=item
+=item 2.
Select the riscos hint file. The default answers for the rest of the
questions are usually sufficient.
@@ -39,24 +39,24 @@ document for details), to have it select the correct hint file, you'll
need to provide the argument -Dhintfile=riscos on the Configure
command-line.
-=item
+=item 3.
$ make miniperl
-=item
+=item 4.
This should build miniperl and then fail when it tries to run it.
-=item
+=item 5.
Copy the miniperl executable from the native build done earlier to
replace the cross compiled miniperl.
-=item
+=item 6.
$ make
-=item
+=item 7.
This will use miniperl to complete the rest of the build.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrun.pod b/Master/tlpkg/tlperl/lib/pods/perlrun.pod
index 75e7ce10097..d51342f8f80 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrun.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrun.pod
@@ -33,7 +33,7 @@ Specified line by line via B<-e> or B<-E> switches on the command line.
=item 2.
Contained in the file specified by the first filename on the command line.
-(Note that systems supporting the #! notation invoke interpreters this
+(Note that systems supporting the C<#!> notation invoke interpreters this
way. See L<Location of Perl>.)
=item 3.
@@ -46,19 +46,19 @@ must explicitly specify a "-" for the program name.
With methods 2 and 3, Perl starts parsing the input file from the
beginning, unless you've specified a B<-x> switch, in which case it
-scans for the first line starting with #! and containing the word
+scans for the first line starting with C<#!> and containing the word
"perl", and starts there instead. This is useful for running a program
embedded in a larger message. (In this case you would indicate the end
of the program using the C<__END__> token.)
-The #! line is always examined for switches as the line is being
+The C<#!> line is always examined for switches as the line is being
parsed. Thus, if you're on a machine that allows only one argument
-with the #! line, or worse, doesn't even recognize the #! line, you
-still can get consistent switch behavior regardless of how Perl was
+with the C<#!> line, or worse, doesn't even recognize the C<#!> line, you
+still can get consistent switch behaviour regardless of how Perl was
invoked, even if B<-x> was used to find the beginning of the program.
Because historically some operating systems silently chopped off
-kernel interpretation of the #! line after 32 characters, some
+kernel interpretation of the C<#!> line after 32 characters, some
switches may be passed in on the command line, and some may not;
you could even get a "-" without its letter, if you're not careful.
You probably want to make sure that all your switches fall either
@@ -73,7 +73,7 @@ combinations of B<-l> and B<-0>. Either put all the switches after
the 32-character boundary (if applicable), or replace the use of
B<-0>I<digits> by C<BEGIN{ $/ = "\0digits"; }>.
-Parsing of the #! switches starts wherever "perl" is mentioned in the line.
+Parsing of the C<#!> switches starts wherever "perl" is mentioned in the line.
The sequences "-*" and "- " are specifically ignored so that you could,
if you were so inclined, say
@@ -84,18 +84,18 @@ if you were so inclined, say
to let Perl see the B<-p> switch.
-A similar trick involves the B<env> program, if you have it.
+A similar trick involves the I<env> program, if you have it.
#!/usr/bin/env perl
The examples above use a relative path to the perl interpreter,
getting whatever version is first in the user's path. If you want
a specific version of Perl, say, perl5.005_57, you should place
-that directly in the #! line's path.
+that directly in the C<#!> line's path.
-If the #! line does not contain the word "perl", the program named after
-the #! is executed instead of the Perl interpreter. This is slightly
-bizarre, but it helps people on machines that don't do #!, because they
+If the C<#!> line does not contain the word "perl", the program named after
+the C<#!> is executed instead of the Perl interpreter. This is slightly
+bizarre, but it helps people on machines that don't do C<#!>, because they
can tell a program that their SHELL is F</usr/bin/perl>, and Perl will then
dispatch the program to the correct interpreter for them.
@@ -111,7 +111,7 @@ C<exit(0)> is provided to indicate successful completion.
=head2 #! and quoting on non-Unix systems
X<hashbang> X<#!>
-Unix's #! technique can be simulated on other systems:
+Unix's C<#!> technique can be simulated on other systems:
=over 4
@@ -178,7 +178,7 @@ For example:
perl -e "print ""Hello world\n"""
The problem is that none of this is reliable: it depends on the
-command and it is entirely possible neither works. If B<4DOS> were
+command and it is entirely possible neither works. If I<4DOS> were
the command shell, this would probably work better:
perl -e "print <Ctrl-x>"Hello world\n<Ctrl-x>""
@@ -229,7 +229,7 @@ X<-0> X<$/>
specifies the input record separator (C<$/>) as an octal or
hexadecimal number. If there are no digits, the null character is the
separator. Other switches may precede or follow the digits. For
-example, if you have a version of B<find> which can print filenames
+example, if you have a version of I<find> which can print filenames
terminated by the null character, you can say this:
find . -name '*.orig' -print0 | perl -n0e unlink
@@ -239,11 +239,12 @@ Any value 0400 or above will cause Perl to slurp files whole, but by convention
the value 0777 is the one normally used for this purpose.
You can also specify the separator character using hexadecimal notation:
-C<-0xHHH...>, where the C<H> are valid hexadecimal digits. Unlike the octal
-form, this one may be used to specify any Unicode character, even those beyond
-0xFF.
-(This means that you cannot use the C<-x> with a directory name that
-consists of hexadecimal digits.)
+B<-0xI<HHH...>>, where the C<I<H>> are valid hexadecimal digits. Unlike
+the octal form, this one may be used to specify any Unicode character, even
+those beyond 0xFF. So if you I<really> want a record separator of 0777,
+specify it as B<-0x1FF>. (This means that you cannot use the B<-x> option
+with a directory name that consists of hexadecimal digits, or else Perl
+will think you have specified a hex number to B<-0>.)
=item B<-a>
X<-a> X<autosplit>
@@ -266,9 +267,9 @@ An alternate delimiter may be specified using B<-F>.
=item B<-C [I<number/list>]>
X<-C>
-The C<-C> flag controls some of the Perl Unicode features.
+The B<-C> flag controls some of the Perl Unicode features.
-As of 5.8.1, the C<-C> can be followed either by a number or a list
+As of 5.8.1, the B<-C> can be followed either by a number or a list
of option letters. The letters, their numeric values, and effects
are as follows; listing the letters is equal to summing the numbers.
@@ -296,25 +297,25 @@ perl.h gives W/128 as PERL_UNICODE_WIDESYSCALLS "/* for Sarathy */"
perltodo mentions Unicode in %ENV and filenames. I guess that these will be
options e and f (or F).
-For example, C<-COE> and C<-C6> will both turn on UTF-8-ness on both
+For example, B<-COE> and B<-C6> will both turn on UTF-8-ness on both
STDOUT and STDERR. Repeating letters is just redundant, not cumulative
nor toggling.
The C<io> options mean that any subsequent open() (or similar I/O
-operations) will have the C<:utf8> PerlIO layer implicitly applied
-to them, in other words, UTF-8 is expected from any input stream,
-and UTF-8 is produced to any output stream. This is just the default,
-with explicit layers in open() and with binmode() one can manipulate
-streams as usual.
+operations) in the current file scope will have the C<:utf8> PerlIO layer
+implicitly applied to them, in other words, UTF-8 is expected from any
+input stream, and UTF-8 is produced to any output stream. This is just
+the default, with explicit layers in open() and with binmode() one can
+manipulate streams as usual.
-C<-C> on its own (not followed by any number or option list), or the
+B<-C> on its own (not followed by any number or option list), or the
empty string C<""> for the C<PERL_UNICODE> environment variable, has the
-same effect as C<-CSDL>. In other words, the standard I/O handles and
-the default C<open()> layer are UTF-8-fied B<but> only if the locale
+same effect as B<-CSDL>. In other words, the standard I/O handles and
+the default C<open()> layer are UTF-8-fied I<but> only if the locale
environment variables indicate a UTF-8 locale. This behaviour follows
the I<implicit> (and problematic) UTF-8 behaviour of Perl 5.8.0.
-You can use C<-C0> (or C<"0"> for C<PERL_UNICODE>) to explicitly
+You can use B<-C0> (or C<"0"> for C<PERL_UNICODE>) to explicitly
disable all the above Unicode features.
The read-only magic variable C<${^UNICODE}> reflects the numeric value
@@ -323,13 +324,13 @@ thereafter read-only. If you want runtime effects, use the three-arg
open() (see L<perlfunc/open>), the two-arg binmode() (see L<perlfunc/binmode>),
and the C<open> pragma (see L<open>).
-(In Perls earlier than 5.8.1 the C<-C> switch was a Win32-only switch
+(In Perls earlier than 5.8.1 the B<-C> switch was a Win32-only switch
that enabled the use of Unicode-aware "wide system call" Win32 APIs.
This feature was practically unused, however, and the command line
switch was therefore "recycled".)
-B<Note:> Since perl 5.10.1, if the -C option is used on the #! line, it
-must be specified on the command line as well, since the standard streams
+B<Note:> Since perl 5.10.1, if the B<-C> option is used on the C<#!> line,
+it must be specified on the command line as well, since the standard streams
are already set up at this point in the execution of the perl interpreter.
You can also use binmode() to set the encoding of an I/O stream.
@@ -337,10 +338,10 @@ You can also use binmode() to set the encoding of an I/O stream.
X<-c>
causes Perl to check the syntax of the program and then exit without
-executing it. Actually, it I<will> execute C<BEGIN>, C<UNITCHECK>,
-C<CHECK>, and C<use> blocks, because these are considered as occurring
-outside the execution of your program. C<INIT> and C<END> blocks,
-however, will be skipped.
+executing it. Actually, it I<will> execute and C<BEGIN>, C<UNITCHECK>,
+or C<CHECK> blocks and any C<use> statements: these are considered as
+occurring outside the execution of your program. C<INIT> and C<END>
+blocks, however, will be skipped.
=item B<-d>
X<-d> X<-dt>
@@ -351,20 +352,20 @@ runs the program under the Perl debugger. See L<perldebug>.
If B<t> is specified, it indicates to the debugger that threads
will be used in the code being debugged.
-=item B<-d:>I<foo[=bar,baz]>
+=item B<-d:>I<MOD[=bar,baz]>
X<-d> X<-dt>
-=item B<-dt:>I<foo[=bar,baz]>
+=item B<-dt:>I<MOD[=bar,baz]>
-runs the program under the control of a debugging, profiling, or
-tracing module installed as Devel::foo. E.g., B<-d:DProf> executes
-the program using the Devel::DProf profiler. As with the B<-M>
-flag, options may be passed to the Devel::foo package where they
-will be received and interpreted by the Devel::foo::import routine.
-The comma-separated list of options must follow a C<=> character.
-If B<t> is specified, it indicates to the debugger that threads
-will be used in the code being debugged.
-See L<perldebug>.
+runs the program under the control of a debugging, profiling, or tracing
+module installed as C<Devel::I<MOD>>. E.g., B<-d:DProf> executes the
+program using the C<Devel::DProf> profiler. As with the B<-M> flag, options
+may be passed to the C<Devel::I<MOD>> package where they will be received
+and interpreted by the C<Devel::I<MOD>::import> routine. Again, like B<-M>,
+use -B<-d:-I<MOD>> to call C<Devel::I<MOD>::unimport> instead of import. The
+comma-separated list of options must follow a C<=> character. If B<t> is
+specified, it indicates to the debugger that threads will be used in the
+code being debugged. See L<perldebug>.
=item B<-D>I<letters>
X<-D> X<DEBUGGING> X<-DDEBUGGING>
@@ -396,9 +397,9 @@ B<-D14> is equivalent to B<-Dtls>):
8192 H Hash dump -- usurps values()
16384 X Scratchpad allocation
32768 D Cleaning up
- 131072 T Tokenising
+ 131072 T Tokenizing
262144 R Include reference counts of dumped variables (eg when using -Ds)
- 524288 J Do not s,t,P-debug (Jump over) opcodes within package DB
+ 524288 J show s,t,P-debug (don't Jump over) on opcodes within package DB
1048576 v Verbose: use in conjunction with other flags
2097152 C Copy On Write
4194304 A Consistency checks on internal structures
@@ -407,7 +408,8 @@ B<-D14> is equivalent to B<-Dtls>):
33554432 B dump suBroutine definitions, including special Blocks like BEGIN
All these flags require B<-DDEBUGGING> when you compile the Perl
-executable (but see L<Devel::Peek>, L<re> which may change this).
+executable (but see C<:opd> in L<Devel::Peek> or L<re/'debug' mode>
+which may change this).
See the F<INSTALL> file in the Perl source distribution
for how to do this. This flag is automatically set if you include B<-g>
option when C<Configure> asks you about optimizer/debugger flags.
@@ -448,8 +450,8 @@ Disable executing F<$Config{sitelib}/sitecustomize.pl> at startup.
Perl can be built so that it by default will try to execute
F<$Config{sitelib}/sitecustomize.pl> at startup (in a BEGIN block).
-This is a hook that allows the sysadmin to customize how perl behaves.
-It can for instance be used to add entries to the @INC array to make perl
+This is a hook that allows the sysadmin to customize how Perl behaves.
+It can for instance be used to add entries to the @INC array to make Perl
find modules in non-standard locations.
Perl actually inserts the following code:
@@ -467,7 +469,7 @@ be set.
The value of C<$Config{sitelib}> is also determined in C code and not
read from C<Config.pm>, which is not loaded.
-The code is executed B<very> early. For example, any changes made to
+The code is executed I<very> early. For example, any changes made to
C<@INC> will show up in the output of `perl -V`. Of course, C<END>
blocks will be likewise executed very late.
@@ -639,28 +641,28 @@ program.
B<-M>I<module> executes C<use> I<module> C<;> before executing your
program. You can use quotes to add extra code after the module name,
-e.g., C<'-Mmodule qw(foo bar)'>.
+e.g., C<'-MI<MODULE> qw(foo bar)'>.
-If the first character after the B<-M> or B<-m> is a dash (C<->)
+If the first character after the B<-M> or B<-m> is a dash (B<->)
then the 'use' is replaced with 'no'.
A little builtin syntactic sugar means you can also say
-B<-mmodule=foo,bar> or B<-Mmodule=foo,bar> as a shortcut for
-C<'-Mmodule qw(foo bar)'>. This avoids the need to use quotes when
-importing symbols. The actual code generated by B<-Mmodule=foo,bar> is
+B<-mI<MODULE>=foo,bar> or B<-MI<MODULE>=foo,bar> as a shortcut for
+B<'-MI<MODULE> qw(foo bar)'>. This avoids the need to use quotes when
+importing symbols. The actual code generated by B<-MI<MODULE>=foo,bar> is
C<use module split(/,/,q{foo,bar})>. Note that the C<=> form
removes the distinction between B<-m> and B<-M>.
-A consequence of this is that B<-MFoo=number> never does a version check
-(unless C<Foo::import()> itself is set up to do a version check, which
-could happen for example if Foo inherits from Exporter.)
+A consequence of this is that B<-MI<MODULE>=number> never does a version check,
+unless C<I<MODULE>::import()> itself is set up to do a version check, which
+could happen for example if I<MODULE> inherits from L<Exporter>.
=item B<-n>
X<-n>
causes Perl to assume the following loop around your program, which
-makes it iterate over filename arguments somewhat like B<sed -n> or
-B<awk>:
+makes it iterate over filename arguments somewhat like I<sed -n> or
+I<awk>:
LINE:
while (<>) {
@@ -680,19 +682,19 @@ at least a week:
find . -mtime +7 -print | perl -nle unlink
-This is faster than using the B<-exec> switch of B<find> because you don't
+This is faster than using the B<-exec> switch of I<find> because you don't
have to start a process on every filename found. It does suffer from
the bug of mishandling newlines in pathnames, which you can fix if
you follow the example under B<-0>.
C<BEGIN> and C<END> blocks may be used to capture control before or after
-the implicit program loop, just as in B<awk>.
+the implicit program loop, just as in I<awk>.
=item B<-p>
X<-p>
causes Perl to assume the following loop around your program, which
-makes it iterate over filename arguments somewhat like B<sed>:
+makes it iterate over filename arguments somewhat like I<sed>:
LINE:
@@ -709,7 +711,7 @@ treated as fatal. To suppress printing use the B<-n> switch. A B<-p>
overrides a B<-n> switch.
C<BEGIN> and C<END> blocks may be used to capture control before or after
-the implicit loop, just as in B<awk>.
+the implicit loop, just as in I<awk>.
=item B<-s>
X<-s>
@@ -724,25 +726,25 @@ if it is invoked with B<-xyz=abc>.
#!/usr/bin/perl -s
if ($xyz) { print "$xyz\n" }
-Do note that a switch like B<--help> creates the variable ${-help}, which is not compliant
-with C<strict refs>. Also, when using this option on a script with
+Do note that a switch like B<--help> creates the variable C<${-help}>, which is not compliant
+with C<use strict "refs">. Also, when using this option on a script with
warnings enabled you may get a lot of spurious "used only once" warnings.
=item B<-S>
X<-S>
makes Perl use the PATH environment variable to search for the
-program (unless the name of the program contains directory separators).
+program unless the name of the program contains path separators.
On some platforms, this also makes Perl append suffixes to the
filename while searching for it. For example, on Win32 platforms,
the ".bat" and ".cmd" suffixes are appended if a lookup for the
original name fails, and if the name does not already end in one
-of those suffixes. If your Perl was compiled with DEBUGGING turned
-on, using the -Dp switch to Perl shows how the search progresses.
+of those suffixes. If your Perl was compiled with C<DEBUGGING> turned
+on, using the B<-Dp> switch to Perl shows how the search progresses.
-Typically this is used to emulate #! startup on platforms that don't
-support #!. Its also convenient when debugging a script that uses #!,
+Typically this is used to emulate C<#!> startup on platforms that don't
+support C<#!>. It's also convenient when debugging a script that uses C<#!>,
and is thus normally found by the shell's $PATH search mechanism.
This example works on many platforms that have a shell compatible with
@@ -761,17 +763,17 @@ program if necessary. After Perl locates the program, it parses the
lines and ignores them because the variable $running_under_some_shell
is never true. If the program will be interpreted by csh, you will need
to replace C<${1+"$@"}> with C<$*>, even though that doesn't understand
-embedded spaces (and such) in the argument list. To start up sh rather
-than csh, some systems may have to replace the #! line with a line
+embedded spaces (and such) in the argument list. To start up I<sh> rather
+than I<csh>, some systems may have to replace the C<#!> line with a line
containing just a colon, which will be politely ignored by Perl. Other
systems can't control that, and need a totally devious construct that
-will work under any of B<csh>, B<sh>, or Perl, such as the following:
+will work under any of I<csh>, I<sh>, or Perl, such as the following:
eval '(exit $?0)' && eval 'exec perl -wS $0 ${1+"$@"}'
& eval 'exec /usr/bin/perl -wS $0 $argv:q'
if $running_under_some_shell;
-If the filename supplied contains directory separators (i.e., is an
+If the filename supplied contains directory separators (and so is an
absolute or relative pathname), and if that file is not found,
platforms that append file extensions will do so and try to look
for the file with those extensions added, one by one.
@@ -785,49 +787,48 @@ program will be searched for strictly on the PATH.
X<-t>
Like B<-T>, but taint checks will issue warnings rather than fatal
-errors. These warnings can be controlled normally with C<no warnings
+errors. These warnings can now be controlled normally with C<no warnings
qw(taint)>.
-B<NOTE: this is not a substitute for -T.> This is meant only to be
-used as a temporary development aid while securing legacy code:
-for real production code and for new secure code written from scratch
+B<Note: This is not a substitute for C<-T>!> This is meant to be
+used I<only> as a temporary development aid while securing legacy code:
+for real production code and for new secure code written from scratch,
always use the real B<-T>.
=item B<-T>
X<-T>
-forces "taint" checks to be turned on so you can test them. Ordinarily
+turns on "taint" so you can test them. Ordinarily
these checks are done only when running setuid or setgid. It's a
good idea to turn them on explicitly for programs that run on behalf
of someone else whom you might not necessarily trust, such as CGI
programs or any internet servers you might write in Perl. See
L<perlsec> for details. For security reasons, this option must be
seen by Perl quite early; usually this means it must appear early
-on the command line or in the #! line for systems which support
+on the command line or in the C<#!> line for systems which support
that construct.
=item B<-u>
X<-u>
-This obsolete switch causes Perl to dump core after compiling your
+This switch causes Perl to dump core after compiling your
program. You can then in theory take this core dump and turn it
-into an executable file by using the B<undump> program (not supplied).
+into an executable file by using the I<undump> program (not supplied).
This speeds startup at the expense of some disk space (which you
can minimize by stripping the executable). (Still, a "hello world"
executable comes out to about 200K on my machine.) If you want to
execute a portion of your program before dumping, use the dump()
-operator instead. Note: availability of B<undump> is platform
+operator instead. Note: availability of I<undump> is platform
specific and may not be available for a specific port of Perl.
=item B<-U>
X<-U>
allows Perl to do unsafe operations. Currently the only "unsafe"
-operations are attempting to unlink directories while running as
-superuser, and running setuid programs with fatal taint checks turned
-into warnings. Note that the B<-w> switch (or the C<$^W> variable)
-must be used along with this option to actually I<generate> the
-taint-check warnings.
+operations are attempting to unlink directories while running as superuser
+and running setuid programs with fatal taint checks turned into warnings.
+Note that warnings must be enabled along with this option to actually
+I<generate> the taint-check warnings.
=item B<-v>
X<-v>
@@ -843,7 +844,7 @@ values of @INC.
=item B<-V:>I<configvar>
Prints to STDOUT the value of the named configuration variable(s),
-with multiples when your configvar argument looks like a regex (has
+with multiples when your C<I<configvar>> argument looks like a regex (has
non-letters). For example:
$ perl -V:libc
@@ -860,14 +861,14 @@ non-letters). For example:
....
Additionally, extra colons can be used to control formatting. A
-trailing colon suppresses the linefeed and terminator ';', allowing
+trailing colon suppresses the linefeed and terminator ";", allowing
you to embed queries into shell commands. (mnemonic: PATH separator
-':'.)
+":".)
$ echo "compression-vars: " `perl -V:z.*: ` " are here !"
compression-vars: zcat='' zip='zip' are here !
-A leading colon removes the 'name=' part of the response, this allows
+A leading colon removes the "name=" part of the response, this allows
you to map to the name you need. (mnemonic: empty label)
$ echo "goodvfork="`./perl -Ilib -V::usevfork`
@@ -875,7 +876,7 @@ you to map to the name you need. (mnemonic: empty label)
Leading and trailing colons can be used together if you need
positional parameter values without the names. Note that in the case
-below, the PERL_API params are returned in alphabetical order.
+below, the C<PERL_API> params are returned in alphabetical order.
$ echo building_on `perl -V::osname: -V::PERL_API_.*:` now
building_on 'linux' '5' '1' '9' now
@@ -884,17 +885,18 @@ below, the PERL_API params are returned in alphabetical order.
X<-w>
prints warnings about dubious constructs, such as variable names
-that are mentioned only once and scalar variables that are used
-before being set, redefined subroutines, references to undefined
-filehandles or filehandles opened read-only that you are attempting
-to write on, values used as a number that don't look like numbers,
-using an array as though it were a scalar, if your subroutines
-recurse more than 100 deep, and innumerable other things.
-
-This switch really just enables the internal C<$^W> variable. You
+mentioned only once and scalar variables used
+before being set; redefined subroutines; references to undefined
+filehandles; filehandles opened read-only that you are attempting
+to write on; values used as a number that don't I<look> like numbers;
+using an array as though it were a scalar; if your subroutines
+recurse more than 100 deep; and innumerable other things.
+
+This switch really just enables the global C<$^W> variable; normally,
+the lexically scoped C<use warnings> pragma is preferred. You
can disable or promote into fatal errors specific warnings using
C<__WARN__> hooks, as described in L<perlvar> and L<perlfunc/warn>.
-See also L<perldiag> and L<perltrap>. A new, fine-grained warning
+See also L<perldiag> and L<perltrap>. A fine-grained warning
facility is also available if you want to manipulate entire classes
of warnings; see L<warnings> or L<perllexwarn>.
@@ -916,23 +918,23 @@ X<-x>
=item B<-x>I<directory>
tells Perl that the program is embedded in a larger chunk of unrelated
-ASCII text, such as in a mail message. Leading garbage will be
-discarded until the first line that starts with #! and contains the
+text, such as in a mail message. Leading garbage will be
+discarded until the first line that starts with C<#!> and contains the
string "perl". Any meaningful switches on that line will be applied.
All references to line numbers by the program (warnings, errors, ...)
-will treat the #! line as the first line.
-Thus a warning on the 2nd line of the program (which is on the 100th
-line in the file) will be reported as line 2, and not as line 100.
-This can be overridden by using the #line directive.
-(See L<perlsyn/"Plain-Old-Comments-(Not!)">)
+will treat the C<#!> line as the first line.
+Thus a warning on the 2nd line of the program, which is on the 100th
+line in the file will be reported as line 2, not as line 100.
+This can be overridden by using the C<#line> directive.
+(See L<perlsyn/"Plain Old Comments (Not!)">)
If a directory name is specified, Perl will switch to that directory
before running the program. The B<-x> switch controls only the
disposal of leading garbage. The program must be terminated with
-C<__END__> if there is trailing garbage to be ignored (the program
-can process any or all of the trailing garbage via the DATA filehandle
-if desired).
+C<__END__> if there is trailing garbage to be ignored; the program
+can process any or all of the trailing garbage via the C<DATA> filehandle
+if desired.
The directory, if specified, must appear immediately following the B<-x>
with no intervening whitespace.
@@ -947,12 +949,12 @@ X<perl, environment variables>
=item HOME
X<HOME>
-Used if chdir has no argument.
+Used if C<chdir> has no argument.
=item LOGDIR
X<LOGDIR>
-Used if chdir has no argument and HOME is not set.
+Used if C<chdir> has no argument and HOME is not set.
=item PATH
X<PATH>
@@ -966,66 +968,68 @@ X<PERL5LIB>
A list of directories in which to look for Perl library
files before looking in the standard library and the current
directory. Any architecture-specific directories under the specified
-locations are automatically included if they exist (this lookup
-being done at interpreter startup time.)
+locations are automatically included if they exist, with this lookup
+done at interpreter startup time.
If PERL5LIB is not defined, PERLLIB is used. Directories are separated
(like in PATH) by a colon on Unixish platforms and by a semicolon on
Windows (the proper path separator being given by the command C<perl
--V:path_sep>).
+-V:I<path_sep>>).
-When running taint checks (either because the program was running setuid
-or setgid, or the B<-T> or B<-t> switch was specified), neither variable
-is used. The program should instead say:
+When running taint checks, either because the program was running setuid or
+setgid, or the B<-T> or B<-t> switch was specified, neither PERL5LIB nor
+PERLLIB is consulted. The program should instead say:
use lib "/my/directory";
=item PERL5OPT
X<PERL5OPT>
-Command-line options (switches). Switches in this variable are taken
+Command-line options (switches). Switches in this variable are treated
as if they were on every Perl command line. Only the B<-[CDIMUdmtwW]>
-switches are allowed. When running taint checks (because the program
-was running setuid or setgid, or the B<-T> switch was used), this
-variable is ignored. If PERL5OPT begins with B<-T>, tainting will be
-enabled, and any subsequent options ignored.
+switches are allowed. When running taint checks (either because the
+program was running setuid or setgid, or because the B<-T> or B<-t>
+switch was used), this variable is ignored. If PERL5OPT begins with
+B<- T>, tainting will be enabled and subsequent options ignored. If
+PERL5OPT begins with B<-t>, tainting will be enabled, a writable dot
+removed from @INC, and subsequent options honored.
=item PERLIO
X<PERLIO>
A space (or colon) separated list of PerlIO layers. If perl is built
-to use PerlIO system for IO (the default) these layers effect perl's IO.
+to use PerlIO system for IO (the default) these layers affect Perl's IO.
-It is conventional to start layer names with a colon e.g. C<:perlio> to
-emphasise their similarity to variable "attributes". But the code that parses
-layer specification strings (which is also used to decode the PERLIO
-environment variable) treats the colon as a separator.
+It is conventional to start layer names with a colon (for example, C<:perlio>) to
+emphasize their similarity to variable "attributes". But the code that parses
+layer specification strings, which is also used to decode the PERLIO
+environment variable, treats the colon as a separator.
An unset or empty PERLIO is equivalent to the default set of layers for
-your platform, for example C<:unix:perlio> on Unix-like systems
+your platform; for example, C<:unix:perlio> on Unix-like systems
and C<:unix:crlf> on Windows and other DOS-like systems.
-The list becomes the default for I<all> perl's IO. Consequently only built-in
-layers can appear in this list, as external layers (such as :encoding()) need
+The list becomes the default for I<all> Perl's IO. Consequently only built-in
+layers can appear in this list, as external layers (such as C<:encoding()>) need
IO in order to load them!. See L<"open pragma"|open> for how to add external
encodings as defaults.
-The layers that it makes sense to include in the PERLIO environment
-variable are briefly summarised below. For more details see L<PerlIO>.
+Layers it makes sense to include in the PERLIO environment
+variable are briefly summarized below. For more details see L<PerlIO>.
=over 8
=item :bytes
X<:bytes>
-A pseudolayer that turns I<off> the C<:utf8> flag for the layer below.
-Unlikely to be useful on its own in the global PERLIO environment variable.
+A pseudolayer that turns the C<:utf8> flag I<off> for the layer below;
+unlikely to be useful on its own in the global PERLIO environment variable.
You perhaps were thinking of C<:crlf:bytes> or C<:perlio:bytes>.
=item :crlf
X<:crlf>
-A layer which does CRLF to "\n" translation distinguishing "text" and
+A layer which does CRLF to C<"\n"> translation distinguishing "text" and
"binary" files in the manner of MS-DOS and similar operating systems.
(It currently does I<not> mimic MS-DOS as far as treating of Control-Z
as being an end-of-file marker.)
@@ -1033,101 +1037,101 @@ as being an end-of-file marker.)
=item :mmap
X<:mmap>
-A layer which implements "reading" of files by using C<mmap()> to
-make (whole) file appear in the process's address space, and then
+A layer that implements "reading" of files by using I<mmap>(2) to
+make an entire file appear in the process's address space, and then
using that as PerlIO's "buffer".
=item :perlio
X<:perlio>
-This is a re-implementation of "stdio-like" buffering written as a
-PerlIO "layer". As such it will call whatever layer is below it for
-its operations (typically C<:unix>).
+This is a re-implementation of stdio-like buffering written as a
+PerlIO layer. As such it will call whatever layer is below it for
+its operations, typically C<:unix>.
=item :pop
X<:pop>
An experimental pseudolayer that removes the topmost layer.
-Use with the same care as is reserved for nitroglycerin.
+Use with the same care as is reserved for nitroglycerine.
=item :raw
X<:raw>
A pseudolayer that manipulates other layers. Applying the C<:raw>
layer is equivalent to calling C<binmode($fh)>. It makes the stream
-pass each byte as-is without any translation. In particular CRLF
-translation, and/or :utf8 intuited from locale are disabled.
+pass each byte as-is without translation. In particular, both CRLF
+translation and intuiting C<:utf8> from the locale are disabled.
-Unlike in the earlier versions of Perl C<:raw> is I<not>
-just the inverse of C<:crlf> - other layers which would affect the
+Unlike in earlier versions of Perl, C<:raw> is I<not>
+just the inverse of C<:crlf>: other layers which would affect the
binary nature of the stream are also removed or disabled.
=item :stdio
X<:stdio>
-This layer provides PerlIO interface by wrapping system's ANSI C "stdio"
+This layer provides a PerlIO interface by wrapping system's ANSI C "stdio"
library calls. The layer provides both buffering and IO.
-Note that C<:stdio> layer does I<not> do CRLF translation even if that
-is platforms normal behaviour. You will need a C<:crlf> layer above it
+Note that the C<:stdio> layer does I<not> do CRLF translation even if that
+is the platform's normal behaviour. You will need a C<:crlf> layer above it
to do that.
=item :unix
X<:unix>
-Low level layer which calls C<read>, C<write> and C<lseek> etc.
+Low-level layer that calls C<read>, C<write>, C<lseek>, etc.
=item :utf8
X<:utf8>
-A pseudolayer that turns on a flag on the layer below to tell perl
+A pseudolayer that enables a flag in the layer below to tell Perl
that output should be in utf8 and that input should be regarded as
-already in valid utf8 form. It does not check for validity and as such
-should be handled with caution for input. Generally C<:encoding(utf8)> is
+already in valid utf8 form. B<WARNING: It does not check for validity and as such
+should be handled with extreme caution for input, because security violations
+can occur with non-shortest UTF-8 encodings, etc.> Generally C<:encoding(utf8)> is
the best option when reading UTF-8 encoded data.
=item :win32
X<:win32>
On Win32 platforms this I<experimental> layer uses native "handle" IO
-rather than unix-like numeric file descriptor layer. Known to be
-buggy in this release.
+rather than a Unix-like numeric file descriptor layer. Known to be
+buggy in this release (5.14).
=back
-On all platforms the default set of layers should give acceptable results.
+The default set of layers should give acceptable results on all platforms
-For Unix platforms that will equivalent of "unix perlio" or "stdio".
-Configure is setup to prefer "stdio" implementation if system's library
-provides for fast access to the buffer, otherwise it uses the "unix perlio"
+For Unix platforms that will be the equivalent of "unix perlio" or "stdio".
+Configure is set up to prefer the "stdio" implementation if the system's library
+provides for fast access to the buffer; otherwise, it uses the "unix perlio"
implementation.
-On Win32 the default in this release is "unix crlf". Win32's "stdio"
-has a number of bugs/mis-features for perl IO which are somewhat
-C compiler vendor/version dependent. Using our own C<crlf> layer as
-the buffer avoids those issues and makes things more uniform.
-The C<crlf> layer provides CRLF to/from "\n" conversion as well as
-buffering.
+On Win32 the default in this release (5.14) is "unix crlf". Win32's "stdio"
+has a number of bugs/mis-features for Perl IO which are somewhat depending
+on the version and vendor of the C compiler. Using our own C<crlf> layer as
+the buffer avoids those issues and makes things more uniform. The C<crlf>
+layer provides CRLF conversion as well as buffering.
-This release uses C<unix> as the bottom layer on Win32 and so still uses C
-compiler's numeric file descriptor routines. There is an experimental native
-C<win32> layer which is expected to be enhanced and should eventually be
-the default under Win32.
+This release (5.14) uses C<unix> as the bottom layer on Win32, and so still
+uses the C compiler's numeric file descriptor routines. There is an
+experimental native C<win32> layer, which is expected to be enhanced and
+should eventually become the default under Win32.
-The PERLIO environment variable is completely ignored when perl
+The PERLIO environment variable is completely ignored when Perl
is run in taint mode.
=item PERLIO_DEBUG
X<PERLIO_DEBUG>
-If set to the name of a file or device then certain operations of PerlIO
-sub-system will be logged to that file (opened as append). Typical uses
-are Unix:
+If set to the name of a file or device, certain operations of PerlIO
+subsystem will be logged to that file, which is opened in append mode
+Typical uses are in Unix:
- PERLIO_DEBUG=/dev/tty perl script ...
+ % env PERLIO_DEBUG=/dev/tty perl script ...
-and Win32 approximate equivalent:
+and under Win32, the approximately equivalent:
- set PERLIO_DEBUG=CON
+ > set PERLIO_DEBUG=CON
perl script ...
This functionality is disabled for setuid scripts and for scripts run
@@ -1140,7 +1144,7 @@ A list of directories in which to look for Perl library
files before looking in the standard library and the current directory.
If PERL5LIB is defined, PERLLIB is not used.
-The PERLLIB environment variable is completely ignored when perl
+The PERLLIB environment variable is completely ignored when Perl
is run in taint mode.
=item PERL5DB
@@ -1148,9 +1152,9 @@ X<PERL5DB>
The command used to load the debugger code. The default is:
- BEGIN { require 'perl5db.pl' }
+ BEGIN { require "perl5db.pl" }
-The PERL5DB environment variable only used when perl is started with
+The PERL5DB environment variable is only used when Perl is started with
a bare B<-d> switch.
=item PERL5DB_THREADED
@@ -1162,15 +1166,15 @@ debugged uses threads.
=item PERL5SHELL (specific to the Win32 port)
X<PERL5SHELL>
-May be set to an alternative shell that perl must use internally for
-executing "backtick" commands or system(). Default is C<cmd.exe /x/d/c>
-on WindowsNT and C<command.com /c> on Windows95. The value is considered
-to be space-separated. Precede any character that needs to be protected
-(like a space or backslash) with a backslash.
+On Win32 ports only, may be set to an alternative shell that Perl must use
+internally for executing "backtick" commands or system(). Default is
+C<cmd.exe /x/d/c> on WindowsNT and C<command.com /c> on Windows95. The
+value is considered space-separated. Precede any character that
+needs to be protected, like a space or backslash, with another backslash.
Note that Perl doesn't use COMSPEC for this purpose because
COMSPEC has a high degree of variability among users, leading to
-portability concerns. Besides, perl can use a shell that may not be
+portability concerns. Besides, Perl can use a shell that may not be
fit for interactive use, and setting COMSPEC to such a shell may
interfere with the proper functioning of other programs (which usually
look in COMSPEC to find a shell fit for interactive use).
@@ -1183,73 +1187,75 @@ in taint mode under Windows.
=item PERL_ALLOW_NON_IFS_LSP (specific to the Win32 port)
X<PERL_ALLOW_NON_IFS_LSP>
-Set to 1 to allow the use of non-IFS compatible LSP's.
+Set to 1 to allow the use of non-IFS compatible LSPs (Layered Service Providers).
Perl normally searches for an IFS-compatible LSP because this is required
for its emulation of Windows sockets as real filehandles. However, this may
-cause problems if you have a firewall such as McAfee Guardian which requires
-all applications to use its LSP which is not IFS-compatible, because clearly
+cause problems if you have a firewall such as I<McAfee Guardian>, which requires
+that all applications use its LSP but which is not IFS-compatible, because clearly
Perl will normally avoid using such an LSP.
+
Setting this environment variable to 1 means that Perl will simply use the
-first suitable LSP enumerated in the catalog, which keeps McAfee Guardian
-happy (and in that particular case Perl still works too because McAfee
-Guardian's LSP actually plays some other games which allow applications
-requiring IFS compatibility to work).
+first suitable LSP enumerated in the catalog, which keeps I<McAfee Guardian>
+happy--and in that particular case Perl still works too because I<McAfee
+Guardian>'s LSP actually plays other games which allow applications
+requiring IFS compatibility to work.
=item PERL_DEBUG_MSTATS
X<PERL_DEBUG_MSTATS>
-Relevant only if perl is compiled with the malloc included with the perl
-distribution (that is, if C<perl -V:d_mymalloc> is 'define').
-If set, this causes memory statistics to be dumped after execution. If set
-to an integer greater than one, also causes memory statistics to be dumped
+Relevant only if Perl is compiled with the C<malloc> included with the Perl
+distribution; that is, if C<perl -V:d_mymalloc> is "define".
+
+If set, this dumps out memory statistics after execution. If set
+to an integer greater than one, also dumps out memory statistics
after compilation.
=item PERL_DESTRUCT_LEVEL
X<PERL_DESTRUCT_LEVEL>
-Relevant only if your perl executable was built with B<-DDEBUGGING>,
-this controls the behavior of global destruction of objects and other
-references. See L<perlhack/PERL_DESTRUCT_LEVEL> for more information.
+Relevant only if your Perl executable was built with B<-DDEBUGGING>,
+this controls the behaviour of global destruction of objects and other
+references. See L<perlhacktips/PERL_DESTRUCT_LEVEL> for more information.
=item PERL_DL_NONLAZY
X<PERL_DL_NONLAZY>
-Set to one to have perl resolve B<all> undefined symbols when it loads
+Set to C<"1"> to have Perl resolve I<all> undefined symbols when it loads
a dynamic library. The default behaviour is to resolve symbols when
they are used. Setting this variable is useful during testing of
-extensions as it ensures that you get an error on misspelled function
-names even if the test suite doesn't call it.
+extensions, as it ensures that you get an error on misspelled function
+names even if the test suite doesn't call them.
=item PERL_ENCODING
X<PERL_ENCODING>
-If using the C<encoding> pragma without an explicit encoding name, the
+If using the C<use encoding> pragma without an explicit encoding name, the
PERL_ENCODING environment variable is consulted for an encoding name.
=item PERL_HASH_SEED
X<PERL_HASH_SEED>
-(Since Perl 5.8.1.) Used to randomise perl's internal hash function.
-To emulate the pre-5.8.1 behaviour, set to an integer (zero means
-exactly the same order as 5.8.0). "Pre-5.8.1" means, among other
+(Since Perl 5.8.1.) Used to randomize Perl's internal hash function.
+To emulate the pre-5.8.1 behaviour, set to an integer; C<"0"> means
+exactly the same order as in 5.8.0. "Pre-5.8.1" means, among other
things, that hash keys will always have the same ordering between
-different runs of perl.
+different runs of Perl.
-Most hashes return elements in the same order as Perl 5.8.0 by default.
+Most hashes by default return elements in the same order as in Perl 5.8.0.
On a hash by hash basis, if pathological data is detected during a hash
key insertion, then that hash will switch to an alternative random hash
seed.
-The default behaviour is to randomise unless the PERL_HASH_SEED is set.
-If perl has been compiled with C<-DUSE_HASH_SEED_EXPLICIT>, the default
-behaviour is B<not> to randomise unless the PERL_HASH_SEED is set.
+The default behaviour is to randomize unless the PERL_HASH_SEED is set.
+If Perl has been compiled with B<-DUSE_HASH_SEED_EXPLICIT>, the default
+behaviour is I<not> to randomize unless the PERL_HASH_SEED is set.
-If PERL_HASH_SEED is unset or set to a non-numeric string, perl uses
+If PERL_HASH_SEED is unset or set to a non-numeric string, Perl uses
the pseudorandom seed supplied by the operating system and libraries.
-B<Please note that the hash seed is sensitive information>. Hashes are
+B<PLEASE NOTE: The hash seed is sensitive information>. Hashes are
randomized to protect against local and remote attacks against Perl
-code. By manually setting a seed this protection may be partially or
+code. By manually setting a seed, this protection may be partially or
completely lost.
See L<perlsec/"Algorithmic Complexity Attacks"> and
@@ -1258,48 +1264,48 @@ L</PERL_HASH_SEED_DEBUG> for more information.
=item PERL_HASH_SEED_DEBUG
X<PERL_HASH_SEED_DEBUG>
-(Since Perl 5.8.1.) Set to one to display (to STDERR) the value of
+(Since Perl 5.8.1.) Set to C<"1"> to display (to STDERR) the value of
the hash seed at the beginning of execution. This, combined with
L</PERL_HASH_SEED> is intended to aid in debugging nondeterministic
-behavior caused by hash randomization.
+behaviour caused by hash randomization.
-B<Note that the hash seed is sensitive information>: by knowing it one
-can craft a denial-of-service attack against Perl code, even remotely,
+B<Note that the hash seed is sensitive information>: by knowing it, one
+can craft a denial-of-service attack against Perl code, even remotely;
see L<perlsec/"Algorithmic Complexity Attacks"> for more information.
B<Do not disclose the hash seed> to people who don't need to know it.
-See also hash_seed() of L<Hash::Util>.
+See also hash_seed() in L<Hash::Util>.
=item PERL_MEM_LOG
X<PERL_MEM_LOG>
-If your perl was configured with C<-Accflags=-DPERL_MEM_LOG>, setting
+If your Perl was configured with B<-Accflags=-DPERL_MEM_LOG>, setting
the environment variable C<PERL_MEM_LOG> enables logging debug
-messages. The value has the form C<< <number>[m][s][t] >>, where
-C<number> is the filedescriptor number you want to write to (2 is
+messages. The value has the form C<< <I<number>>[m][s][t] >>, where
+C<I<number>> is the file descriptor number you want to write to (2 is
default), and the combination of letters specifies that you want
information about (m)emory and/or (s)v, optionally with
-(t)imestamps. For example C<PERL_MEM_LOG=1mst> will log all
-information to stdout. You can write to other opened filedescriptors
-too, in a variety of ways;
+(t)imestamps. For example, C<PERL_MEM_LOG=1mst> logs all
+information to stdout. You can write to other opened file descriptors
+in a variety of ways:
- bash$ 3>foo3 PERL_MEM_LOG=3m perl ...
+ $ 3>foo3 PERL_MEM_LOG=3m perl ...
=item PERL_ROOT (specific to the VMS port)
X<PERL_ROOT>
-A translation concealed rooted logical name that contains perl and the
+A translation-concealed rooted logical name that contains Perl and the
logical device for the @INC path on VMS only. Other logical names that
-affect perl on VMS include PERLSHR, PERL_ENV_TABLES, and
-SYS$TIMEZONE_DIFFERENTIAL but are optional and discussed further in
+affect Perl on VMS include PERLSHR, PERL_ENV_TABLES, and
+SYS$TIMEZONE_DIFFERENTIAL, but are optional and discussed further in
L<perlvms> and in F<README.vms> in the Perl source distribution.
=item PERL_SIGNALS
X<PERL_SIGNALS>
-In Perls 5.8.1 and later. If set to C<unsafe> the pre-Perl-5.8.0
-signals behaviour (immediate but unsafe) is restored. If set to
-C<safe> the safe (or deferred) signals are used.
-See L<perlipc/"Deferred Signals (Safe Signals)">.
+Available in Perls 5.8.1 and later. If set to C<"unsafe">, the pre-Perl-5.8.0
+signal behaviour (which is immediate but unsafe) is restored. If set
+to C<safe>, then safe (but deferred) signals are used. See
+L<perlipc/"Deferred Signals (Safe Signals)">.
=item PERL_UNICODE
X<PERL_UNICODE>
@@ -1308,7 +1314,7 @@ Equivalent to the B<-C> command-line switch. Note that this is not
a boolean variable. Setting this to C<"1"> is not the right way to
"enable Unicode" (whatever that would mean). You can use C<"0"> to
"disable Unicode", though (or alternatively unset PERL_UNICODE in
-your shell before starting Perl). See the description of the C<-C>
+your shell before starting Perl). See the description of the B<-C>
switch for more information.
=item SYS$LOGIN (specific to the VMS port)
@@ -1319,14 +1325,20 @@ Used if chdir has no argument and HOME and LOGDIR are not set.
=back
Perl also has environment variables that control how Perl handles data
-specific to particular natural languages. See L<perllocale>.
-
-Apart from these, Perl uses no other environment variables, except
-to make them available to the program being executed, and to child
-processes. However, programs running setuid would do well to execute
-the following lines before doing anything else, just to keep people
-honest:
-
- $ENV{PATH} = '/bin:/usr/bin'; # or whatever you need
- $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL};
+specific to particular natural languages; see L<perllocale>.
+
+Perl and its various modules and components, including its test frameworks,
+may sometimes make use of certain other environment variables. Some of
+these are specific to a particular platform. Please consult the
+appropriate module documentation and any documentation for your platform
+(like L<perlsolaris>, L<perllinux>, L<perlmacosx>, L<perlwin32>, etc) for
+variables peculiar to those specific situations.
+
+Perl makes all environment variables available to the program being
+executed, and passes these along to any child processes it starts.
+However, programs running setuid would do well to execute the following
+lines before doing anything else, just to keep people honest:
+
+ $ENV{PATH} = "/bin:/usr/bin"; # or whatever you need
+ $ENV{SHELL} = "/bin/sh" if exists $ENV{SHELL};
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod b/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod
index 427e08de6ed..b8c8dbf71e4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod
@@ -18,7 +18,7 @@ For the most part, everything should just work.
Starting with Solaris 8, perl5.00503 (or higher) is supplied with the
operating system, so you might not even need to build a newer version
of perl at all. The Sun-supplied version is installed in /usr/perl5
-with /usr/bin/perl pointing to /usr/perl5/bin/perl. Do not disturb
+with F</usr/bin/perl> pointing to F</usr/perl5/bin/perl>. Do not disturb
that installation unless you really know what you are doing. If you
remove the perl supplied with the OS, you will render some bits of
your system inoperable. If you wish to install a newer version of perl,
@@ -26,9 +26,9 @@ install it under a different prefix from /usr/perl5. Common prefixes
to use are /usr/local and /opt/perl.
You may wish to put your version of perl in the PATH of all users by
-changing the link /usr/bin/perl. This is probably OK, as most perl
+changing the link F</usr/bin/perl>. This is probably OK, as most perl
scripts shipped with Solaris use an explicit path. (There are a few
-exceptions, such as /usr/bin/rpm2cpio and /etc/rcm/scripts/README, but
+exceptions, such as F</usr/bin/rpm2cpio> and F</etc/rcm/scripts/README>, but
these are also sufficiently generic that the actual version of perl
probably doesn't matter too much.)
@@ -39,7 +39,7 @@ these modules is available on CPAN under the Sun::Solaris:: namespace.
Solaris may include two versions of perl, e.g. Solaris 9 includes
both 5.005_03 and 5.6.1. This is to provide stability across Solaris
releases, in cases where a later perl version has incompatibilities
-with the version included in the preceeding Solaris release. The
+with the version included in the preceding Solaris release. The
default perl version will always be the most recent, and in general
the old version will only be retained for one Solaris release. Note
also that the default perl will NOT be configured to search for modules
@@ -143,18 +143,25 @@ shipped with SunOS4 will not do.
Several tools needed to build perl are located in /usr/ccs/bin/: ar,
as, ld, and make. Make sure that /usr/ccs/bin/ is in your PATH.
-You need to make sure the following packages are installed
-(this info is extracted from the Solaris FAQ):
+
+On all the released versions of Solaris (8, 9 and 10) you need to make sure the following packages are installed (this info is extracted from the Solaris FAQ):
for tools (sccs, lex, yacc, make, nm, truss, ld, as): SUNWbtool,
SUNWsprot, SUNWtoo
for libraries & headers: SUNWhea, SUNWarc, SUNWlibm, SUNWlibms, SUNWdfbh,
-SUNWcg6h, SUNWxwinc, SUNWolinc
+SUNWcg6h, SUNWxwinc
+
+Additionaly, on Solaris 8 and 9 you also need:
for 64 bit development: SUNWarcx, SUNWbtoox, SUNWdplx, SUNWscpux,
SUNWsprox, SUNWtoox, SUNWlmsx, SUNWlmx, SUNWlibCx
+And only on Solaris 8 you also need:
+
+for libraries & headers: SUNWolinc
+
+
If you are in doubt which package contains a file you are missing,
try to find an installation that has that file. Then do a
@@ -213,7 +220,7 @@ details.
=head3 GNU as and GNU ld
The following information applies to gcc version 2. Volunteers to
-update it as appropropriate for gcc version 3 would be appreciated.
+update it as appropriately for gcc version 3 would be appreciated.
The versions of as and ld supplied with Solaris work fine for building
perl. There is normally no need to install the GNU versions to
@@ -514,7 +521,7 @@ directory.
=head2 op/stat.t test 4 in Solaris
-op/stat.t test 4 may fail if you are on a tmpfs of some sort.
+F<op/stat.t> test 4 may fail if you are on a tmpfs of some sort.
Building in /tmp sometimes shows this behavior. The
test suite detects if you are building in /tmp, but it may not be able
to catch all tmpfs situations.
@@ -594,7 +601,7 @@ L<http://www.cosy.sbg.ac.at/~andi/>. If you use SUNWski, make a
symbolic link /dev/urandom pointing to /dev/random. For more details,
see Document ID27606 entitled "Differing /dev/random support requirements
within Solaris[TM] Operating Environments", available at
-http://sunsolve.sun.com .
+L<http://sunsolve.sun.com> .
It may be possible to use the Entropy Gathering Daemon (written in
Perl!), available from L<http://www.lothar.com/tech/crypto/>.
@@ -609,7 +616,7 @@ GNU ld gets very unhappy and spews a lot of errors like this
... relocation truncated to fit: BASE13 ...
and dies. Therefore the SunOS 4.1 hints file explicitly sets the
-ld to be /usr/bin/ld.
+ld to be F</usr/bin/ld>.
As of Perl 5.8.1 the dynamic loading of libraries (DynaLoader, XSLoader)
also seems to have become broken in in SunOS 4.x. Therefore the default
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsource.pod b/Master/tlpkg/tlperl/lib/pods/perlsource.pod
new file mode 100644
index 00000000000..94ceec00bd3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlsource.pod
@@ -0,0 +1,216 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlsource.pod
+
+=head1 NAME
+
+perlsource - A guide to the Perl source tree
+
+=head1 DESCRIPTION
+
+This document describes the layout of the Perl source tree. If you're hacking
+on the Perl core, this will help you find what you're looking for.
+
+=head1 FINDING YOUR WAY AROUND
+
+The Perl source tree is big. Here's some of the thing you'll find in it:
+
+=head2 C code
+
+The C source code and header files mostly live in the root of the source
+tree. There are a few platform-specific directories which contain C code. In
+addition, some of the modules shipped with Perl include C or XS code.
+
+See L<perlinterp> for more details on the files that make up the Perl
+interpreter, as well as details on how it works.
+
+=head2 Core modules
+
+Modules shipped as part of the Perl core live in four subdirectories. Two of
+these directories contain modules that live in the core, and two contain
+modules that can also be released separately on CPAN. Modules which can be
+released on cpan are known as "dual-life" modules.
+
+=over 4
+
+=item * F<lib/>
+
+This directory contains pure-Perl modules which are only released as part of
+the core. This directory contains I<all> of the modules and their tests,
+unlike other core modules.
+
+=item * F<ext/>
+
+This directory contains XS-using modules which are only released as part of
+the core. These modules generally have their F<Makefile.PL> and are laid out
+more like a typical CPAN module.
+
+=item * F<dist/>
+
+This directory is for dual-life modules where the blead source is
+canonical. Note that some modules in this directory may not yet have been
+released separately on CPAN.
+
+=item * F<cpan/>
+
+This directory contains dual-life modules where the CPAN module is
+canonical. Do not patch these modules directly! Changes to these modules
+should be submitted to the maintainer of the CPAN module. Once those changes
+are applied and released, the new version of the module will be incorporated
+into the core.
+
+=back
+
+For some dual-life modules, it has not yet been determined if the CPAN version
+or the blead source is canonical. Until that is done, those modules should be
+in F<cpan/>.
+
+=head2 Tests
+
+The Perl core has an extensive test suite. If you add new tests (or new
+modules with tests), you may need to update the F<t/TEST> file so that the
+tests are run.
+
+=over 4
+
+=item * Module tests
+
+Tests for core modules in the F<lib/> directory are right next to the module
+itself. For example, we have F<lib/strict.pm> and F<lib/strict.t>.
+
+Tests for modules in F<ext/> and the dual-life modules are in F<t/>
+subdirectories for each module, like a standard CPAN distribution.
+
+=item * F<t/base/>
+
+Tests for the absolute basic functionality of Perl. This includes C<if>, basic
+file reads and writes, simple regexes, etc. These are run first in the test
+suite and if any of them fail, something is I<really> broken.
+
+=item * F<t/cmd/>
+
+Tests for basic control structures, C<if/else>, C<while>,
+subroutines, etc.
+
+=item * F<t/comp/>
+
+Tests for basic issues of how Perl parses and compiles itself.
+
+=item * F<t/io/>
+
+Tests for built-in IO functions, including command line arguments.
+
+=item * F<t/mro/>
+
+Tests for perl's method resolution order implementations (see L<mro>).
+
+=item * F<t/op/>
+
+Tests for perl's built in functions that don't fit into any of the
+other directories.
+
+=item * F<t/re/>
+
+Tests for regex related functions or behaviour. (These used to live in
+t/op).
+
+=item * F<t/run/>
+
+Tests for features of how perl actually runs, including exit codes and
+handling of PERL* environment variables.
+
+=item * F<t/uni/>
+
+Tests for the core support of Unicode.
+
+=item * F<t/win32/>
+
+Windows-specific tests.
+
+=item * F<t/porting/>
+
+Tests the state of the source tree for various common errors. For example, it
+tests that everyone who is listed in the git log has a corresponding entry in
+the F<AUTHORS> file.
+
+=item * F<t/lib/>
+
+The old home for the module tests, you shouldn't put anything new in
+here. There are still some bits and pieces hanging around in here that
+need to be moved. Perhaps you could move them? Thanks!
+
+=item * F<t/x2p>
+
+A test suite for the s2p converter.
+
+=back
+
+=head2 Documentation
+
+All of the core documentation intended for end users lives in
+F<pod/>. Individual modules in F<lib/>, F<ext/>, F<dist/>, and F<cpan/>
+usually have their own documentation, either in the F<Module.pm> file or an
+accompanying F<Module.pod> file.
+
+Finally, documentation intended for core Perl developers lives in the
+F<Porting/> directory.
+
+=head2 Hacking toolks and documentation
+
+The F<Porting> directory contains a grab bag of code and documentation
+intended to help porters work on Perl. Some of the highlights include:
+
+=over 4
+
+=item * F<check*>
+
+These are scripts which will check the source things like ANSI C violations,
+POD encoding issues, etc.
+
+=item * F<Maintainers>, F<Maintainers.pl>, and F<Maintainers.pm>
+
+These files contain information on who maintains which modules. Run C<perl
+Porting/Maintainers -M Module::Name> to find out more information about a
+dual-life module.
+
+=item * F<podtidy>
+
+Tidies a pod file. It's a good idea to run this on a pod file you've patched.
+
+=back
+
+=head2 Build system
+
+The Perl build system starts with the F<Configure> script in the root
+directory.
+
+Platform-specific pieces of the build system also live in platform-specific
+directories like F<win32/>, F<vms/>, etc.
+
+The F<Configure> script is ultimately responsible for generating a
+F<Makefile>.
+
+The build system that Perl uses is called metaconfig. This system is
+maintained separately from the Perl core.
+
+The metaconfig system has its own git repository. Please see its README file
+in L<http://perl5.git.perl.org/metaconfig.git/> for more details.
+
+The F<Cross> directory contains various files related to cross-compiling
+Perl. See F<Cross/README> for more details.
+
+=head2 F<AUTHORS>
+
+This file everyone who's contributed to Perl. If you submit a patch, you
+should add your name to this file as part of the patch.
+
+=head2 F<MANIFEST>
+
+The F<MANIFEST> file in the root of the source tree contains a list of every
+file in the Perl core, as well as a brief description of each file.
+
+You can get an overview of all the files with this command:
+
+ % perl -lne 'print if /^[^\/]+\.[ch]\s+/' MANIFEST
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsub.pod b/Master/tlpkg/tlperl/lib/pods/perlsub.pod
index 325c823bff4..ea5fa207cc8 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsub.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsub.pod
@@ -351,7 +351,7 @@ it. Similarly, in the conditional
the scope of $answer extends from its declaration through the rest
of that conditional, including any C<elsif> and C<else> clauses,
-but not beyond it. See L<perlsyn/"Simple statements"> for information
+but not beyond it. See L<perlsyn/"Simple Statements"> for information
on the scope of variables in statements with modifiers.
The C<foreach> loop defaults to scoping its index variable dynamically
@@ -608,16 +608,9 @@ magical and read-only :
local $1 = 2;
-Similarly, but in a way more difficult to spot, the following snippet will
-die in perl 5.9.0 :
-
- sub f { local $_ = "foo"; print }
- for ($1) {
- # now $_ is aliased to $1, thus is magic and readonly
- f();
- }
-
-See next section for an alternative to this situation.
+One exception is the default scalar variable: starting with perl 5.14
+C<local($_)> will always strip all magic from $_, to make it possible
+to safely reuse $_ in a subroutine.
B<WARNING>: Localization of tied arrays and hashes does not currently
work as described.
@@ -644,12 +637,6 @@ those variables is locally lost. In other words, saying C<local */>
will not have any effect on the internal value of the input record
separator.
-Notably, if you want to work with a brand new value of the default scalar
-$_, and avoid the potential problem listed above about $_ previously
-carrying a magic value, you should use C<local *_> instead of C<local $_>.
-As of perl 5.9.1, you can also use the lexical form of C<$_> (declaring it
-with C<my $_>), which avoids completely this problem.
-
=head3 Localization of elements of composite types
X<local, composite type element> X<local, array element> X<local, hash element>
@@ -1053,7 +1040,7 @@ X<prototype> X<subroutine, prototype>
Perl supports a very limited kind of compile-time argument checking
using function prototyping. If you declare
- sub mypush (\@@)
+ sub mypush (+@)
then C<mypush()> takes arguments exactly like C<push()> does. The
function declaration must be visible at compile time. The prototype
@@ -1083,9 +1070,9 @@ corresponding built-in.
sub mysyswrite ($$$;$) mysyswrite $buf, 0, length($buf) - $off, $off
sub myreverse (@) myreverse $a, $b, $c
sub myjoin ($@) myjoin ":", $a, $b, $c
- sub mypop (\@) mypop @array
- sub mysplice (\@$$@) mysplice @array, 0, 2, @pushme
- sub mykeys (\%) mykeys %{$hashref}
+ sub mypop (+) mypop @array
+ sub mysplice (+$$@) mysplice @array, 0, 2, @pushme
+ sub mykeys (+) mykeys %{$hashref}
sub myopen (*;$) myopen HANDLE, $name
sub mypipe (**) mypipe READHANDLE, WRITEHANDLE
sub mygrep (&@) mygrep { /foo/ } $a, $b, $c
@@ -1093,12 +1080,15 @@ corresponding built-in.
sub mytime () mytime
Any backslashed prototype character represents an actual argument
-that absolutely must start with that character. The value passed
-as part of C<@_> will be a reference to the actual argument given
-in the subroutine call, obtained by applying C<\> to that argument.
+that must start with that character (optionally preceded by C<my>,
+C<our> or C<local>), with the exception of C<$>, which will accept a
+hash or array element even without a dollar sign, such as
+C<< my_function()->[0] >>. The value passed as part of C<@_> will be a
+reference to the actual argument given in the subroutine call,
+obtained by applying C<\> to that argument.
-You can also backslash several argument types simultaneously by using
-the C<\[]> notation:
+You can use the C<\[]> backslash group notation to specify more than one
+allowed argument type. For example:
sub myref (\[$@%&*])
@@ -1133,6 +1123,20 @@ follows:
...
}
+The C<+> prototype is a special alternative to C<$> that will act like
+C<\[@%]> when given a literal array or hash variable, but will otherwise
+force scalar context on the argument. This is useful for functions which
+should accept either a literal array or an array reference as the argument:
+
+ sub mypush (+@) {
+ my $aref = shift;
+ die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
+ push @$aref, @_;
+ }
+
+When using the C<+> prototype, your function must check that the argument
+is of an acceptable type.
+
A semicolon (C<;>) separates mandatory arguments from optional arguments.
It is redundant before C<@> or C<%>, which gobble up everything else.
@@ -1425,7 +1429,11 @@ of the original subroutine magically appears in the global $AUTOLOAD
variable of the same package as the C<AUTOLOAD> routine. The name
is not passed as an ordinary argument because, er, well, just
because, that's why. (As an exception, a method call to a nonexistent
-C<import> or C<unimport> method is just skipped instead.)
+C<import> or C<unimport> method is just skipped instead. Also, if
+the AUTOLOAD subroutine is an XSUB, C<$AUTOLOAD> is not populated;
+instead, you should call L<< C<SvPVX>E<sol>C<SvCUR>|perlapi >> on the
+C<CV> for C<AUTOLOAD> to retrieve the method name.)
+
Many C<AUTOLOAD> routines load in a definition for the requested
subroutine using eval(), then execute that subroutine using a special
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod b/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod
index 341c0269fb5..04678fe8f55 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod
@@ -33,11 +33,11 @@ mainly as demonstrations.
These instructions have been tested under various Nokia Series 60
Symbian SDKs (1.2 to 2.6, 2.8 should also work, 1.2 compiles but
does not work), Series 80 2.0, and Nokia 7710 (Series 90) SDK.
- You can get the SDKs from Forum Nokia (http://www.forum.nokia.com/).
+ You can get the SDKs from Forum Nokia (L<http://www.forum.nokia.com/>).
A very rough port ("it compiles") to UIQ 2.1 has also been made.
A prerequisite for any of the SDKs is to install ActivePerl
- from ActiveState, http://www.activestate.com/Products/ActivePerl/
+ from ActiveState, L<http://www.activestate.com/Products/ActivePerl/>
Having the SDK installed also means that you need to have either
the Metrowerks CodeWarrior installed (2.8 and 3.0 were used in testing)
@@ -57,7 +57,7 @@ mainly as demonstrations.
releases, SDKs, compilers, platforms, or devices are naturally welcome.
(1) Get a Perl source code distribution (for example the file
- perl-5.9.2.tar.gz is fine) from http://www.cpan.org/src/
+ perl-5.9.2.tar.gz is fine) from L<http://www.cpan.org/src/>
and unpack it in your the C:/Symbian directory of your Windows
system.
@@ -215,7 +215,7 @@ If you see right after "make" this
'cat' is not recognized as an internal or external command,
operable program or batch file.
-it means you need to (re)run the symbian\config.pl.
+it means you need to (re)run the F<symbian\config.pl>.
If you get the error
@@ -243,19 +243,19 @@ the "Oneliner" allows one to type in Perl code, and the "Run"
opens a file chooser for selecting a Perl file to run.
The PerlApp also is started when the "Perl recognizer" (also included
-and installed) detects a Perl file being activated througg the GUI,
+and installed) detects a Perl file being activated through the GUI,
and offers either to install it under \Perl (if the Perl file is in
the inbox of the messaging application) or to run it (if the Perl file
is under \Perl).
=head2 sisify.pl
-In the symbian subdirectory there is sisify.pl utility which can be
-used to package Perl scripts and/or Perl library directories into SIS
-files, which can be installed to the device. To run the sisify.pl
-utility, you will need to have the 'makesis' and 'uidcrc' utilities
-already installed. If you don't have the Win32 SDKs, you may try
-for example http://gnupoc.sourceforge.net/ or http://symbianos.org/~andreh/.
+In the symbian subdirectory there is F<sisify.pl> utility which can be used
+to package Perl scripts and/or Perl library directories into SIS files,
+which can be installed to the device. To run the sisify.pl utility,
+you will need to have the 'makesis' and 'uidcrc' utilities already
+installed. If you don't have the Win32 SDKs, you may try for example
+L<http://gnupoc.sourceforge.net/> or L<http://symbianos.org/~andreh/>.
=head2 Using Perl in Symbian
@@ -270,9 +270,9 @@ library, but certain corners of such emulation libraries that tend
to be left unimplemented on non-UNIX platforms have been left
unimplemented also this time: fork(), signals(), user/group ids,
select() working for sockets, non-blocking sockets, and so forth.
-See the file symbian/config.sh and look for 'undef' to find the
+See the file F<symbian/config.sh> and look for 'undef' to find the
unsupported APIs (or from Perl use Config).
-
+
The filesystem of Symbian devices uses DOSish syntax, "drives"
separated from paths by a colon, and backslashes for the path. The
exact assignment of the drives probably varies between platforms, but
@@ -319,7 +319,7 @@ the API names. Instead, developers should consider basing the API
naming in the existing (C++, or maybe Java) public component and API
naming, modified as appropriate by the rules of the programming
language the new APIs are for.
-
+
Nokia is a registered trademark of Nokia Corporation. Nokia's product
names are trademarks or registered trademarks of Nokia. Other product
and company names mentioned herein may be trademarks or trade names of
@@ -430,4 +430,3 @@ We maintain the binary incompatibility.
=back
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsyn.pod b/Master/tlpkg/tlperl/lib/pods/perlsyn.pod
index 6359df4e141..603dd15ae83 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsyn.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsyn.pod
@@ -281,7 +281,7 @@ the C<next> statement.
Extension modules can also hook into the Perl parser to define new
kinds of compound statement. These are introduced by a keyword which
-the extension recognises, and the syntax following the keyword is
+the extension recognizes, and the syntax following the keyword is
defined entirely by the extension. If you are an implementor, see
L<perlapi/PL_keyword_plugin> for the mechanism. If you are using such
a module, see the module's documentation for details of the syntax that
@@ -337,17 +337,17 @@ which is Perl short-hand for the more explicitly written version:
Note that if there were a C<continue> block on the above code, it would
get executed only on lines discarded by the regex (since redo skips the
continue block). A continue block is often used to reset line counters
-or C<?pat?> one-time matches:
+or C<m?pat?> one-time matches:
# inspired by :1,$g/fred/s//WILMA/
while (<>) {
- ?(fred)? && s//WILMA $1 WILMA/;
- ?(barney)? && s//BETTY $1 BETTY/;
- ?(homer)? && s//MARGE $1 MARGE/;
+ m?(fred)? && s//WILMA $1 WILMA/;
+ m?(barney)? && s//BETTY $1 BETTY/;
+ m?(homer)? && s//MARGE $1 MARGE/;
} continue {
print "$ARGV $.: $_";
- close ARGV if eof(); # reset $.
- reset if eof(); # reset ?pat?
+ close ARGV if eof; # reset $.
+ reset if eof; # reset ?pat?
}
If the word C<while> is replaced by the word C<until>, the sense of the
@@ -426,7 +426,7 @@ is therefore visible only within the loop. Otherwise, the variable is
implicitly local to the loop and regains its former value upon exiting
the loop. If the variable was previously declared with C<my>, it uses
that variable instead of the global one, but it's still localized to
-the loop. This implicit localisation occurs I<only> in a C<foreach>
+the loop. This implicit localization occurs I<only> in a C<foreach>
loop.
X<my> X<local>
@@ -626,29 +626,71 @@ the C<..> and C<...> flip-flop operators.
In those cases the value of EXPR is used directly as a boolean.
-Furthermore:
+Furthermore, Perl inspects the operands of the binary boolean operators to
+decide whether to use smart matching for each one by applying the above test to
+the operands:
=over 4
=item *
If EXPR is C<... && ...> or C<... and ...>, the test
-is applied recursively to both arguments. If I<both>
-arguments pass the test, then the argument is treated
-as boolean.
+is applied recursively to both operands. If I<both>
+operands pass the test, then the expression is treated
+as boolean; otherwise, smart matching is used.
=item *
If EXPR is C<... || ...>, C<... // ...> or C<... or ...>, the test
-is applied recursively to the first argument.
+is applied recursively to the first operand (which may be a
+higher-precedence AND operator, for example). If the first operand
+is to use smart matching, then both operands will do so; if it is
+not, then the second argument will not be either.
=back
These rules look complicated, but usually they will do what
-you want. For example you could write:
+you want. For example:
when (/^\d+$/ && $_ < 75) { ... }
+will be treated as a boolean match because the rules say both a regex match and
+an explicit test on $_ will be treated as boolean.
+
+Also:
+
+ when ([qw(foo bar)] && /baz/) { ... }
+
+will use smart matching because only I<one> of the operands is a boolean; the
+other uses smart matching, and that wins.
+
+Further:
+
+ when ([qw(foo bar)] || /^baz/) { ... }
+
+will use smart matching (only the first operand is considered), whereas
+
+ when (/^baz/ || [qw(foo bar)]) { ... }
+
+will test only the regex, which causes both operands to be treated as boolean.
+Watch out for this one, then, because an arrayref is always a true value, which
+makes it effectively redundant.
+
+Tautologous boolean operators are still going to be optimized away. Don't be
+tempted to write
+
+ when ('foo' or 'bar') { ... }
+
+This will optimize down to C<'foo'>, so C<'bar'> will never be considered (even
+though the rules say to use a smart match on C<'foo'>). For an alternation like
+this, an array ref will work, because this will instigate smart matching:
+
+ when ([qw(foo bar)] { ... }
+
+This is somewhat equivalent to the C-style switch statement's fallthrough
+functionality (not to be confused with I<Perl's> fallthrough functionality - see
+below), wherein the same block is used for several C<case> statements.
+
Another useful shortcut is that, if you use a literal array
or hash as the argument to C<given>, it is turned into a
reference. So C<given(@foo)> is the same as C<given(\@foo)>,
@@ -674,6 +716,45 @@ case to the next:
default { say '$foo does not contain a y' }
}
+=head3 Return value
+
+When a C<given> statement is also a valid expression (e.g.
+when it's the last statement of a block), it evaluates to :
+
+=over 4
+
+=item *
+
+an empty list as soon as an explicit C<break> is encountered.
+
+=item *
+
+the value of the last evaluated expression of the successful
+C<when>/C<default> clause, if there's one.
+
+=item *
+
+the value of the last evaluated expression of the C<given> block if no
+condition is true.
+
+=back
+
+In both last cases, the last expression is evaluated in the context that
+was applied to the C<given> block.
+
+Note that, unlike C<if> and C<unless>, failed C<when> statements always
+evaluate to an empty list.
+
+ my $price = do { given ($item) {
+ when ([ 'pear', 'apple' ]) { 1 }
+ break when 'vote'; # My vote cannot be bought
+ 1e10 when /Mona Lisa/;
+ 'unknown';
+ } };
+
+Currently, C<given> blocks can't always be used as proper expressions. This
+may be addressed in a future version of perl.
+
=head3 Switching in a loop
Instead of using C<given()>, you can use a C<foreach()> loop.
@@ -886,17 +967,18 @@ X<comment> X<line> X<#> X<preprocessor> X<eval>
Perl can process line directives, much like the C preprocessor. Using
this, one can control Perl's idea of filenames and line numbers in
error or warning messages (especially for strings that are processed
-with C<eval()>). The syntax for this mechanism is the same as for most
-C preprocessors: it matches the regular expression
+with C<eval()>). The syntax for this mechanism is almost the same as for
+most C preprocessors: it matches the regular expression
# example: '# line 42 "new_filename.plx"'
/^\# \s*
line \s+ (\d+) \s*
- (?:\s("?)([^"]+)\2)? \s*
+ (?:\s("?)([^"]+)\g2)? \s*
$/x
with C<$1> being the line number for the next line, and C<$3> being
-the optional filename (specified with or without quotes).
+the optional filename (specified with or without quotes). Note that
+no whitespace may precede the C<< # >>, unlike modern C preprocessors.
There is a fairly obvious gotcha included with the line directive:
Debuggers and profilers will only show the last source line to appear
diff --git a/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod b/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod
index 18a6f46daa2..30f83577482 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod
@@ -1,3 +1,5 @@
+=encoding utf8
+
=head1 NAME
perlthrtut - Tutorial on threads in Perl
@@ -1078,13 +1080,13 @@ on your way to becoming a threaded Perl expert.
Annotated POD for L<threads>:
L<http://annocpan.org/?mode=search&field=Module&name=threads>
-Lastest version of L<threads> on CPAN:
+Latest version of L<threads> on CPAN:
L<http://search.cpan.org/search?module=threads>
Annotated POD for L<threads::shared>:
L<http://annocpan.org/?mode=search&field=Module&name=threads%3A%3Ashared>
-Lastest version of L<threads::shared> on CPAN:
+Latest version of L<threads::shared> on CPAN:
L<http://search.cpan.org/search?module=threads%3A%3Ashared>
Perl threads mailing list:
diff --git a/Master/tlpkg/tlperl/lib/pods/perltie.pod b/Master/tlpkg/tlperl/lib/pods/perltie.pod
index 370f644209d..456cc60cbab 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltie.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltie.pod
@@ -673,9 +673,9 @@ method on the original object reference returned by tie().
croak "@{[&whowasi]}: $file not clobberable"
unless $self->{CLOBBER};
- open(F, "> $file") || croak "can't open $file: $!";
- print F $value;
- close(F);
+ open(my $f, '>', $file) || croak "can't open $file: $!";
+ print $f $value;
+ close($f);
}
If they wanted to clobber something, they might say:
@@ -869,6 +869,13 @@ All of this is especially useful when perl is embedded in some other
program, where output to STDOUT and STDERR may have to be redirected
in some special way. See nvi and the Apache module for examples.
+When tying a handle, the first argument to C<tie> should begin with an
+asterisk. So, if you are tying STDOUT, use C<*STDOUT>. If you have assigned
+it to a scalar variable, say C<$handle>, use C<*$handle>. C<tie $handle>
+works, too, but that is considered a bug and will be fixed in Perl 5.16. It
+is supposed to tie the scalar C<$handle>, not the handle inside it.
+C<tie $handle> emits a deprecation warning as of Perl 5.14.
+
In our example we're going to create a shouting handle.
package Shout;
@@ -940,10 +947,25 @@ or C<sysread> functions.
=item READLINE this
X<READLINE>
-This method will be called when the handle is read from via <HANDLE>.
-The method should return undef when there is no more data.
-
- sub READLINE { $r = shift; "READLINE called $$r times\n"; }
+This method is called when the handle is read via C<E<lt>HANDLEE<gt>>
+or C<readline HANDLE>.
+
+As per L<C<readline>|perlfunc/readline>, in scalar context it should return
+the next line, or C<undef> for no more data. In list context it should
+return all remaining lines, or an empty list for no more data. The strings
+returned should include the input record separator C<$/> (see L<perlvar>),
+unless it is C<undef> (which means "slurp" mode).
+
+ sub READLINE {
+ my $r = shift;
+ if (wantarray) {
+ return ("all remaining\n",
+ "lines up\n",
+ "to eof\n");
+ } else {
+ return "READLINE called " . ++$$r . " times\n";
+ }
+ }
=item GETC this
X<GETC>
diff --git a/Master/tlpkg/tlperl/lib/pods/perltoc.pod b/Master/tlpkg/tlperl/lib/pods/perltoc.pod
index f1bd988bf30..a72f910d4dc 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltoc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltoc.pod
@@ -15,7 +15,7 @@ through to locate the proper section you're looking for.
=head1 BASIC DOCUMENTATION
-=head2 perl - The Perl language interpreter
+=head2 perl - The Perl 5 language interpreter
=over 4
@@ -623,7 +623,7 @@ X<record> X<structure> X<struct>
=back
-=head2 perlbot - Bag'o Object Tricks (the BOT)
+=head2 perlbot - Bag o' Object Tricks (the BOT)
=over 4
@@ -969,7 +969,7 @@ Interaction, perlfaq9 - Networking
=over 4
-=item DESCRIPTION
+=item DESCRIPTION
=over 4
@@ -1023,7 +1023,7 @@ http://www.perl.org/advocacy/whyperl.html
=over 4
-=item What machines support perl? Where do I get it?
+=item What machines support perl? Where do I get it?
=item How can I get a binary version of perl?
@@ -1033,23 +1033,21 @@ http://www.perl.org/advocacy/whyperl.html
don't work.
=item I grabbed the sources and tried to compile but gdbm/dynamic
-loading/malloc/linking/... failed. How do I make it work?
+loading/malloc/linking/... failed. How do I make it work?
-=item What modules and extensions are available for Perl? What is CPAN?
+=item What modules and extensions are available for Perl? What is CPAN?
What does CPAN/src/... mean?
=item Is there an ISO or ANSI certified version of Perl?
=item Where can I get information on Perl?
-=item What are the Perl newsgroups on Usenet? Where do I post questions?
+=item What are the Perl newsgroups on Usenet? Where do I post questions?
=item Where should I post source code?
=item Perl Books
-References, Tutorials, Task-Oriented, Special Topics
-
=item Which magazines have Perl content?
=item What mailing lists are there for Perl?
@@ -1249,7 +1247,7 @@ string?
=item How do I capitalize all the words on one line?
X<Text::Autoformat> X<capitalize> X<case, title> X<case, sentence>
-=item How can I split a [character] delimited string except when inside
+=item How can I split a [character]-delimited string except when inside
[character]?
=item How do I strip blank space from the beginning/end of a string?
@@ -1267,8 +1265,9 @@ X<Text::Autoformat> X<capitalize> X<case, title> X<case, sentence>
=item Why don't my E<lt>E<lt>HERE documents work?
There must be no space after the E<lt>E<lt> part, There (probably) should
-be a semicolon at the end, You can't (easily) have any space in front of
-the tag
+be a semicolon at the end of the opening token, You can't (easily) have any
+space in front of the tag, There needs to be at least a line separator
+after the end token
=back
@@ -1305,7 +1304,7 @@ X<cycle> X<modulus>
=item How do I select a random element from an array?
=item How do I permute N elements of a list?
-X<List::Permuter> X<permute> X<Algorithm::Loops> X<Knuth>
+X<List::Permutor> X<permute> X<Algorithm::Loops> X<Knuth>
X<The Art of Computer Programming> X<Fischer-Krause>
=item How do I sort an array by (anything)?
@@ -1357,6 +1356,8 @@ array of hashes or arrays?
=item How can I use a reference as a hash key?
+=item How can I check if a key exists in a multilevel hash?
+
=back
=item Data: Misc
@@ -1542,7 +1543,7 @@ X<regular expression, legibility> X</x>
Comments Outside the Regex, Comments Inside the Regex, Different Delimiters
-=item I'm having trouble matching over more than one line. What's wrong?
+=item I'm having trouble matching over more than one line. What's wrong?
X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>
=item How can I pull out lines between two patterns that are themselves on
@@ -1563,7 +1564,7 @@ Convince everyone not to use XML or HTML in the first place
X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
X<$RS, regexes in>
-=item How do I substitute case insensitively on the LHS while preserving
+=item How do I substitute case-insensitively on the LHS while preserving
case on the RHS?
X<replace, case preserving> X<substitute, case preserving>
X<substitution, case preserving> X<s, case preserving>
@@ -1580,7 +1581,7 @@ X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>
=item What is C</o> really for?
X</o, regular expressions> X<compile, regular expressions>
-=item How do I use a regular expression to strip C style comments from a
+=item How do I use a regular expression to strip C-style comments from a
file?
=item Can I use Perl regular expressions to match balanced text?
@@ -1588,7 +1589,7 @@ X<regex, matching balanced test> X<regexp, matching balanced test>
X<regular expression, matching balanced test> X<possessive> X<PARNO>
X<Text::Balanced> X<Regexp::Common> X<backtracking> X<recursion>
-=item What does it mean that regexes are greedy? How can I get around it?
+=item What does it mean that regexes are greedy? How can I get around it?
X<greedy> X<greediness>
=item How do I process each word on each line?
@@ -1612,7 +1613,7 @@ X<$MATCH> X<$&> X<$POSTMATCH> X<$'> X<$PREMATCH> X<$`>
=item What good is C<\G> in a regular expression?
X<\G>
-=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
+=item Are Perl regexes DFAs or NFAs? Are they POSIX compliant?
X<DFA> X<NFA> X<POSIX>
=item What's wrong with using grep in a void context?
@@ -1864,7 +1865,7 @@ module:
=item What is the correct form of response from a CGI script?
-=item My CGI script runs from the command line but not the browser. (500
+=item My CGI script runs from the command line but not the browser. (500
Server Error)
=item How can I get better error messages from a CGI program?
@@ -2095,12 +2096,13 @@ X<assignment> X<operator, assignment> X<=> X<**=> X<+=> X<*=> X<&=>
X<<< <<= >>> X<&&=> X<-=> X</=> X<|=> X<<< >>= >>> X<||=> X<//=> X<.=>
X<%=> X<^=> X<x=>
+=item The Triple-Dot Operator
+X<...> X<... operator> X<yada-yada operator> X<whatever operator>
+X<triple-dot operator>
+
=item Comma Operator
X<comma> X<operator, comma> X<,>
-=item Yada Yada Operator
-X<...> X<... operator> X<yada yada operator>
-
=item List Operators (Rightward)
X<operator, list, rightward> X<list operator>
@@ -2126,16 +2128,19 @@ X<operator, quote> X<operator, quote-like> X<q> X<qq> X<qx> X<qw> X<m>
X<qr> X<s> X<tr> X<'> X<''> X<"> X<""> X<//> X<`> X<``> X<<< << >>>
X<escape sequence> X<escape>
+[1], [2], [3], [4], [5], [6], [7], [8]
+
=item Regexp Quote-Like Operators
X<operator, regexp>
-qr/STRING/msixpo X<qr> X</i> X</m> X</o> X</s> X</x> X</p>,
-m/PATTERN/msixpogc X<m> X<operator, match> X<regexp, options> X<regexp>
+qr/STRING/msixpodual X<qr> X</i> X</m> X</o> X</s> X</x> X</p>,
+m/PATTERN/msixpodualgc X<m> X<operator, match> X<regexp, options> X<regexp>
X<regex, options> X<regex> X</m> X</s> X</i> X</x> X</p> X</o> X</g> X</c>,
-/PATTERN/msixpogc, The empty pattern //, Matching in list context, \G
-assertion, ?PATTERN? X<?>, s/PATTERN/REPLACEMENT/msixpogce X<substitute>
+/PATTERN/msixpodualgc, The empty pattern //, Matching in list context, \G
+assertion, m?PATTERN?msixpodualgc X<?> X<operator, match-once>,
+?PATTERN?msixpodualgc, s/PATTERN/REPLACEMENT/msixpodualgcer X<substitute>
X<substitution> X<replace> X<regexp, replace> X<regexp, substitute> X</m>
-X</s> X</i> X</x> X</p> X</o> X</g> X</c> X</e>
+X</s> X</i> X</x> X</p> X</o> X</g> X</c> X</e> X</r>
=item Quote-Like Operators
X<operator, quote-like>
@@ -2143,8 +2148,8 @@ X<operator, quote-like>
q/STRING/ X<q> X<quote, single> X<'> X<''>, 'STRING', qq/STRING/ X<qq>
X<quote, double> X<"> X<"">, "STRING", qx/STRING/ X<qx> X<`> X<``>
X<backtick>, `STRING`, qw/STRING/ X<qw> X<quote, list> X<quote, words>,
-tr/SEARCHLIST/REPLACEMENTLIST/cds X<tr> X<y> X<transliterate> X</c> X</d>
-X</s>, y/SEARCHLIST/REPLACEMENTLIST/cds, <<EOF X<here-doc> X<heredoc>
+tr/SEARCHLIST/REPLACEMENTLIST/cdsr X<tr> X<y> X<transliterate> X</c> X</d>
+X</s>, y/SEARCHLIST/REPLACEMENTLIST/cdsr, <<EOF X<here-doc> X<heredoc>
X<here-document> X<<< << >>>, Double Quotes, Single Quotes, Backticks
=item Gory details of parsing quoted constructs
@@ -2256,12 +2261,12 @@ expressions and pattern matching X<regular expression> X<regex> X<regexp>,
Numeric functions X<numeric> X<number> X<trigonometric> X<trigonometry>,
Functions for real @ARRAYs X<array>, Functions for list data X<list>,
Functions for real %HASHes X<hash>, Input and output functions X<I/O>
-X<input> X<output> X<dbm>, Functions for fixed length data or records,
+X<input> X<output> X<dbm>, Functions for fixed-length data or records,
Functions for filehandles, files, or directories X<file> X<filehandle>
X<directory> X<pipe> X<link> X<symlink>, Keywords related to the control
-flow of your Perl program X<control flow>, Keywords related to switch,
-Keywords related to scoping, Miscellaneous functions, Functions for
-processes and process groups X<process> X<pid> X<process id>, Keywords
+flow of your Perl program X<control flow>, Keywords related to the switch
+feature, Keywords related to scoping, Miscellaneous functions, Functions
+for processes and process groups X<process> X<pid> X<process id>, Keywords
related to Perl modules X<module>, Keywords related to classes and
object-orientation X<object> X<class> X<package>, Low-level socket
functions X<socket> X<sock>, System V interprocess communication functions
@@ -2297,76 +2302,80 @@ SOCKET,NAME X<connect>, continue BLOCK X<continue>, continue, cos EXPR
X<cos> X<cosine> X<acos> X<arccosine>, cos, crypt PLAINTEXT,SALT X<crypt>
X<digest> X<hash> X<salt> X<plaintext> X<password> X<decrypt>
X<cryptography> X<passwd> X<encrypt>, dbmclose HASH X<dbmclose>, dbmopen
-HASH,DBNAME,MASK X<dbmopen> X<dbm> X<ndbm> X<sdbm> X<gdbm>, defined EXPR
-X<defined> X<undef> X<undefined>, defined, delete EXPR X<delete>, die LIST
-X<die> X<throw> X<exception> X<raise> X<$@> X<abort>, do BLOCK X<do>
-X<block>, do SUBROUTINE(LIST) X<do>, do EXPR X<do>, dump LABEL X<dump>
-X<core> X<undump>, dump, each HASH X<each> X<hash, iterator>, each ARRAY
-X<array, iterator>, eof FILEHANDLE X<eof> X<end of file> X<end-of-file>,
-eof (), eof, eval EXPR X<eval> X<try> X<catch> X<evaluate> X<parse>
-X<execute> X<error, handling> X<exception, handling>, eval BLOCK, eval,
-exec LIST X<exec> X<execute>, exec PROGRAM LIST, exists EXPR X<exists>
-X<autovivification>, exit EXPR X<exit> X<terminate> X<abort>, exit, exp
-EXPR X<exp> X<exponential> X<antilog> X<antilogarithm> X<e>, exp, fcntl
-FILEHANDLE,FUNCTION,SCALAR X<fcntl>, fileno FILEHANDLE X<fileno>, flock
-FILEHANDLE,OPERATION X<flock> X<lock> X<locking>, fork X<fork> X<child>
-X<parent>, format X<format>, formline PICTURE,LIST X<formline>, getc
-FILEHANDLE X<getc> X<getchar> X<character> X<file, read>, getc, getlogin
-X<getlogin> X<login>, getpeername SOCKET X<getpeername> X<peer>, getpgrp
-PID X<getpgrp> X<group>, getppid X<getppid> X<parent> X<pid>, getpriority
-WHICH,WHO X<getpriority> X<priority> X<nice>, getpwnam NAME X<getpwnam>
-X<getgrnam> X<gethostbyname> X<getnetbyname> X<getprotobyname> X<getpwuid>
-X<getgrgid> X<getservbyname> X<gethostbyaddr> X<getnetbyaddr>
-X<getprotobynumber> X<getservbyport> X<getpwent> X<getgrent> X<gethostent>
-X<getnetent> X<getprotoent> X<getservent> X<setpwent> X<setgrent>
-X<sethostent> X<setnetent> X<setprotoent> X<setservent> X<endpwent>
-X<endgrent> X<endhostent> X<endnetent> X<endprotoent> X<endservent>,
-getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME,
-getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
-ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
-getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
-getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
-STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
-endhostent, endnetent, endprotoent, endservent, getsockname SOCKET
-X<getsockname>, getsockopt SOCKET,LEVEL,OPTNAME X<getsockopt>, glob EXPR
-X<glob> X<wildcard> X<filename, expansion> X<expand>, glob, gmtime EXPR
-X<gmtime> X<UTC> X<Greenwich>, gmtime, goto LABEL X<goto> X<jump> X<jmp>,
-goto EXPR, goto &NAME, grep BLOCK LIST X<grep>, grep EXPR,LIST, hex EXPR
-X<hex> X<hexadecimal>, hex, import LIST X<import>, index
-STR,SUBSTR,POSITION X<index> X<indexOf> X<InStr>, index STR,SUBSTR, int
-EXPR X<int> X<integer> X<truncate> X<trunc> X<floor>, int, ioctl
+HASH,DBNAME,MASK X<dbmopen> X<dbm> X<ndbm> X<sdbm> X<gdbm>, default BLOCK,
+defined EXPR X<defined> X<undef> X<undefined>, defined, delete EXPR
+X<delete>, die LIST X<die> X<throw> X<exception> X<raise> X<$@> X<abort>,
+do BLOCK X<do> X<block>, do SUBROUTINE(LIST) X<do>, do EXPR X<do>, dump
+LABEL X<dump> X<core> X<undump>, dump, each HASH X<each> X<hash, iterator>,
+each ARRAY X<array, iterator>, each EXPR, eof FILEHANDLE X<eof> X<end of
+file> X<end-of-file>, eof (), eof, eval EXPR X<eval> X<try> X<catch>
+X<evaluate> X<parse> X<execute> X<error, handling> X<exception, handling>,
+eval BLOCK, eval, exec LIST X<exec> X<execute>, exec PROGRAM LIST, exists
+EXPR X<exists> X<autovivification>, exit EXPR X<exit> X<terminate>
+X<abort>, exit, exp EXPR X<exp> X<exponential> X<antilog> X<antilogarithm>
+X<e>, exp, fcntl FILEHANDLE,FUNCTION,SCALAR X<fcntl>, fileno FILEHANDLE
+X<fileno>, flock FILEHANDLE,OPERATION X<flock> X<lock> X<locking>, fork
+X<fork> X<child> X<parent>, format X<format>, formline PICTURE,LIST
+X<formline>, getc FILEHANDLE X<getc> X<getchar> X<character> X<file, read>,
+getc, getlogin X<getlogin> X<login>, getpeername SOCKET X<getpeername>
+X<peer>, getpgrp PID X<getpgrp> X<group>, getppid X<getppid> X<parent>
+X<pid>, getpriority WHICH,WHO X<getpriority> X<priority> X<nice>, getpwnam
+NAME X<getpwnam> X<getgrnam> X<gethostbyname> X<getnetbyname>
+X<getprotobyname> X<getpwuid> X<getgrgid> X<getservbyname> X<gethostbyaddr>
+X<getnetbyaddr> X<getprotobynumber> X<getservbyport> X<getpwent>
+X<getgrent> X<gethostent> X<getnetent> X<getprotoent> X<getservent>
+X<setpwent> X<setgrent> X<sethostent> X<setnetent> X<setprotoent>
+X<setservent> X<endpwent> X<endgrent> X<endhostent> X<endnetent>
+X<endprotoent> X<endservent>, getgrnam NAME, gethostbyname NAME,
+getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
+getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
+ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
+getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
+setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
+setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
+endprotoent, endservent, getsockname SOCKET X<getsockname>, getsockopt
+SOCKET,LEVEL,OPTNAME X<getsockopt>, given EXPR BLOCK X<given>, given BLOCK,
+glob EXPR X<glob> X<wildcard> X<filename, expansion> X<expand>, glob,
+gmtime EXPR X<gmtime> X<UTC> X<Greenwich>, gmtime, goto LABEL X<goto>
+X<jump> X<jmp>, goto EXPR, goto &NAME, grep BLOCK LIST X<grep>, grep
+EXPR,LIST, hex EXPR X<hex> X<hexadecimal>, hex, import LIST X<import>,
+index STR,SUBSTR,POSITION X<index> X<indexOf> X<InStr>, index STR,SUBSTR,
+int EXPR X<int> X<integer> X<truncate> X<trunc> X<floor>, int, ioctl
FILEHANDLE,FUNCTION,SCALAR X<ioctl>, join EXPR,LIST X<join>, keys HASH
-X<keys> X<key>, keys ARRAY, kill SIGNAL, LIST X<kill> X<signal>, last LABEL
-X<last> X<break>, last, lc EXPR X<lc> X<lowercase>, lc, If C<use bytes> is
-in effect:, On EBCDIC platforms, On ASCII platforms, Otherwise, If EXPR has
-the UTF8 flag set, Otherwise, if C<use locale> is in effect, Otherwise, if
-C<use feature 'unicode_strings'> is in effect:, Otherwise:, On EBCDIC
-platforms, On ASCII platforms, lcfirst EXPR X<lcfirst> X<lowercase>,
-lcfirst, length EXPR X<length> X<size>, length, link OLDFILE,NEWFILE
-X<link>, listen SOCKET,QUEUESIZE X<listen>, local EXPR X<local>, localtime
-EXPR X<localtime> X<ctime>, localtime, lock THING X<lock>, log EXPR X<log>
-X<logarithm> X<e> X<ln> X<base>, log, lstat EXPR X<lstat>, lstat, m//, map
-BLOCK LIST X<map>, map EXPR,LIST, mkdir FILENAME,MASK X<mkdir> X<md>
-X<directory, create>, mkdir FILENAME, mkdir, msgctl ID,CMD,ARG X<msgctl>,
-msgget KEY,FLAGS X<msgget>, msgrcv ID,VAR,SIZE,TYPE,FLAGS X<msgrcv>, msgsnd
-ID,MSG,FLAGS X<msgsnd>, my EXPR X<my>, my TYPE EXPR, my EXPR : ATTRS, my
-TYPE EXPR : ATTRS, next LABEL X<next> X<continue>, next, no MODULE VERSION
-LIST X<no declarations> X<unimporting>, no MODULE VERSION, no MODULE LIST,
-no MODULE, no VERSION, oct EXPR X<oct> X<octal> X<hex> X<hexadecimal>
-X<binary> X<bin>, oct, open FILEHANDLE,EXPR X<open> X<pipe> X<file, open>
-X<fopen>, open FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open
+X<keys> X<key>, keys ARRAY, keys EXPR, kill SIGNAL, LIST X<kill> X<signal>,
+last LABEL X<last> X<break>, last, lc EXPR X<lc> X<lowercase>, lc, If C<use
+bytes> is in effect:, On EBCDIC platforms, On ASCII platforms, Otherwise,
+If EXPR has the UTF8 flag set, Otherwise, if C<use locale> is in effect,
+Otherwise, if C<use feature 'unicode_strings'> is in effect:, Otherwise:,
+On EBCDIC platforms, On ASCII platforms, lcfirst EXPR X<lcfirst>
+X<lowercase>, lcfirst, length EXPR X<length> X<size>, length, link
+OLDFILE,NEWFILE X<link>, listen SOCKET,QUEUESIZE X<listen>, local EXPR
+X<local>, localtime EXPR X<localtime> X<ctime>, localtime, lock THING
+X<lock>, log EXPR X<log> X<logarithm> X<e> X<ln> X<base>, log, lstat EXPR
+X<lstat>, lstat, m//, map BLOCK LIST X<map>, map EXPR,LIST, mkdir
+FILENAME,MASK X<mkdir> X<md> X<directory, create>, mkdir FILENAME, mkdir,
+msgctl ID,CMD,ARG X<msgctl>, msgget KEY,FLAGS X<msgget>, msgrcv
+ID,VAR,SIZE,TYPE,FLAGS X<msgrcv>, msgsnd ID,MSG,FLAGS X<msgsnd>, my EXPR
+X<my>, my TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL
+X<next> X<continue>, next, no MODULE VERSION LIST X<no declarations>
+X<unimporting>, no MODULE VERSION, no MODULE LIST, no MODULE, no VERSION,
+oct EXPR X<oct> X<octal> X<hex> X<hexadecimal> X<binary> X<bin>, oct, open
+FILEHANDLE,EXPR X<open> X<pipe> X<file, open> X<fopen>, open
+FILEHANDLE,MODE,EXPR, open FILEHANDLE,MODE,EXPR,LIST, open
FILEHANDLE,MODE,REFERENCE, open FILEHANDLE, opendir DIRHANDLE,EXPR
X<opendir>, ord EXPR X<ord> X<encoding>, ord, our EXPR X<our> X<global>,
our TYPE EXPR, our EXPR : ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST
-X<pack>, package NAMESPACE VERSION X<package> X<module> X<namespace>
-X<version>, package NAMESPACE, pipe READHANDLE,WRITEHANDLE X<pipe>, pop
-ARRAY X<pop> X<stack>, pop, pos SCALAR X<pos> X<match, position>, pos,
-print FILEHANDLE LIST X<print>, print LIST, print, printf FILEHANDLE
-FORMAT, LIST X<printf>, printf FORMAT, LIST, prototype FUNCTION
-X<prototype>, push ARRAY,LIST X<push> X<stack>, q/STRING/, qq/STRING/,
-qx/STRING/, qw/STRING/, qr/STRING/, quotemeta EXPR X<quotemeta>
-X<metacharacter>, quotemeta, rand EXPR X<rand> X<random>, rand, read
-FILEHANDLE,SCALAR,LENGTH,OFFSET X<read> X<file, read>, read
+X<pack>, package NAMESPACE, package NAMESPACE VERSION X<package> X<module>
+X<namespace> X<version>, package NAMESPACE BLOCK, package NAMESPACE VERSION
+BLOCK X<package> X<module> X<namespace> X<version>, pipe
+READHANDLE,WRITEHANDLE X<pipe>, pop ARRAY X<pop> X<stack>, pop EXPR, pop,
+pos SCALAR X<pos> X<match, position>, pos, print FILEHANDLE LIST X<print>,
+print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST
+X<printf>, printf FILEHANDLE, printf FORMAT, LIST, printf, prototype
+FUNCTION X<prototype>, push ARRAY,LIST X<push> X<stack>, push EXPR,LIST,
+q/STRING/, qq/STRING/, qx/STRING/, qw/STRING/, qr/STRING/, quotemeta EXPR
+X<quotemeta> X<metacharacter>, quotemeta, rand EXPR X<rand> X<random>,
+rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET X<read> X<file, read>, read
FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE X<readdir>, readline EXPR,
readline X<readline> X<gets> X<fgets>, readlink EXPR X<readlink>, readlink,
readpipe EXPR, readpipe X<readpipe>, recv SOCKET,SCALAR,LENGTH,FLAGS
@@ -2376,36 +2385,37 @@ X<require>, require EXPR, require, reset EXPR X<reset>, reset, return EXPR
X<return>, return, reverse LIST X<reverse> X<rev> X<invert>, rewinddir
DIRHANDLE X<rewinddir>, rindex STR,SUBSTR,POSITION X<rindex>, rindex
STR,SUBSTR, rmdir FILENAME X<rmdir> X<rd> X<directory, remove>, rmdir,
-s///, say FILEHANDLE LIST X<say>, say LIST, say, scalar EXPR X<scalar>
-X<context>, seek FILEHANDLE,POSITION,WHENCE X<seek> X<fseek> X<filehandle,
-position>, seekdir DIRHANDLE,POS X<seekdir>, select FILEHANDLE X<select>
-X<filehandle, default>, select, select RBITS,WBITS,EBITS,TIMEOUT X<select>,
-semctl ID,SEMNUM,CMD,ARG X<semctl>, semget KEY,NSEMS,FLAGS X<semget>, semop
-KEY,OPSTRING X<semop>, send SOCKET,MSG,FLAGS,TO X<send>, send
-SOCKET,MSG,FLAGS, setpgrp PID,PGRP X<setpgrp> X<group>, setpriority
-WHICH,WHO,PRIORITY X<setpriority> X<priority> X<nice> X<renice>, setsockopt
-SOCKET,LEVEL,OPTNAME,OPTVAL X<setsockopt>, shift ARRAY X<shift>, shift,
-shmctl ID,CMD,ARG X<shmctl>, shmget KEY,SIZE,FLAGS X<shmget>, shmread
-ID,VAR,POS,SIZE X<shmread> X<shmwrite>, shmwrite ID,STRING,POS,SIZE,
-shutdown SOCKET,HOW X<shutdown>, sin EXPR X<sin> X<sine> X<asin>
-X<arcsine>, sin, sleep EXPR X<sleep> X<pause>, sleep, socket
-SOCKET,DOMAIN,TYPE,PROTOCOL X<socket>, socketpair
-SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL X<socketpair>, sort SUBNAME LIST
-X<sort> X<qsort> X<quicksort> X<mergesort>, sort BLOCK LIST, sort LIST,
-splice ARRAY,OFFSET,LENGTH,LIST X<splice>, splice ARRAY,OFFSET,LENGTH,
-splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT X<split>,
-split /PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST
-X<sprintf>, format parameter index, flags, vector flag, (minimum) width,
-precision, or maximum width X<precision>, size, order of arguments, sqrt
-EXPR X<sqrt> X<root> X<square root>, sqrt, srand EXPR X<srand> X<seed>
-X<randseed>, srand, stat FILEHANDLE X<stat> X<file, status> X<ctime>, stat
-EXPR, stat DIRHANDLE, stat, state EXPR X<state>, state TYPE EXPR, state
-EXPR : ATTRS, state TYPE EXPR : ATTRS, study SCALAR X<study>, study, sub
-NAME BLOCK X<sub>, sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub NAME
-(PROTO) : ATTRS BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT X<substr>
-X<substring> X<mid> X<left> X<right>, substr EXPR,OFFSET,LENGTH, substr
-EXPR,OFFSET, symlink OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link>
-X<link, symbolic>, syscall NUMBER, LIST X<syscall> X<system call>, sysopen
+s///, say FILEHANDLE LIST X<say>, say FILEHANDLE, say LIST, say, scalar
+EXPR X<scalar> X<context>, seek FILEHANDLE,POSITION,WHENCE X<seek> X<fseek>
+X<filehandle, position>, seekdir DIRHANDLE,POS X<seekdir>, select
+FILEHANDLE X<select> X<filehandle, default>, select, select
+RBITS,WBITS,EBITS,TIMEOUT X<select>, semctl ID,SEMNUM,CMD,ARG X<semctl>,
+semget KEY,NSEMS,FLAGS X<semget>, semop KEY,OPSTRING X<semop>, send
+SOCKET,MSG,FLAGS,TO X<send>, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP
+X<setpgrp> X<group>, setpriority WHICH,WHO,PRIORITY X<setpriority>
+X<priority> X<nice> X<renice>, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
+X<setsockopt>, shift ARRAY X<shift>, shift EXPR, shift, shmctl ID,CMD,ARG
+X<shmctl>, shmget KEY,SIZE,FLAGS X<shmget>, shmread ID,VAR,POS,SIZE
+X<shmread> X<shmwrite>, shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW
+X<shutdown>, sin EXPR X<sin> X<sine> X<asin> X<arcsine>, sin, sleep EXPR
+X<sleep> X<pause>, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL X<socket>,
+socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL X<socketpair>, sort SUBNAME
+LIST X<sort> X<qsort> X<quicksort> X<mergesort>, sort BLOCK LIST, sort
+LIST, splice ARRAY or EXPR,OFFSET,LENGTH,LIST X<splice>, splice ARRAY or
+EXPR,OFFSET,LENGTH, splice ARRAY or EXPR,OFFSET, splice ARRAY or EXPR,
+split /PATTERN/,EXPR,LIMIT X<split>, split /PATTERN/,EXPR, split /PATTERN/,
+split, sprintf FORMAT, LIST X<sprintf>, format parameter index, flags,
+vector flag, (minimum) width, precision, or maximum width X<precision>,
+size, order of arguments, sqrt EXPR X<sqrt> X<root> X<square root>, sqrt,
+srand EXPR X<srand> X<seed> X<randseed>, srand, stat FILEHANDLE X<stat>
+X<file, status> X<ctime>, stat EXPR, stat DIRHANDLE, stat, state EXPR
+X<state>, state TYPE EXPR, state EXPR : ATTRS, state TYPE EXPR : ATTRS,
+study SCALAR X<study>, study, sub NAME BLOCK X<sub>, sub NAME (PROTO)
+BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr
+EXPR,OFFSET,LENGTH,REPLACEMENT X<substr> X<substring> X<mid> X<left>
+X<right>, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink
+OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link> X<link, symbolic>,
+syscall NUMBER, LIST X<syscall> X<system call>, sysopen
FILEHANDLE,FILENAME,MODE X<sysopen>, sysopen
FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET
X<sysread>, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
@@ -2419,12 +2429,13 @@ truncate EXPR,LENGTH, uc EXPR X<uc> X<uppercase> X<toupper>, uc, ucfirst
EXPR X<ucfirst> X<uppercase>, ucfirst, umask EXPR X<umask>, umask, undef
EXPR X<undef> X<undefine>, undef, unlink LIST X<unlink> X<delete> X<remove>
X<rm> X<del>, unlink, unpack TEMPLATE,EXPR X<unpack>, unpack TEMPLATE,
-untie VARIABLE X<untie>, unshift ARRAY,LIST X<unshift>, use Module VERSION
-LIST X<use> X<module> X<import>, use Module VERSION, use Module LIST, use
-Module, use VERSION, utime LIST X<utime>, values HASH X<values>, values
-ARRAY, vec EXPR,OFFSET,BITS X<vec> X<bit> X<bit vector>, wait X<wait>,
-waitpid PID,FLAGS X<waitpid>, wantarray X<wantarray> X<context>, warn LIST
-X<warn> X<warning> X<STDERR>, write FILEHANDLE X<write>, write EXPR, write,
+untie VARIABLE X<untie>, unshift ARRAY,LIST X<unshift>, unshift EXPR,LIST,
+use Module VERSION LIST X<use> X<module> X<import>, use Module VERSION, use
+Module LIST, use Module, use VERSION, utime LIST X<utime>, values HASH
+X<values>, values ARRAY, values EXPR, vec EXPR,OFFSET,BITS X<vec> X<bit>
+X<bit vector>, wait X<wait>, waitpid PID,FLAGS X<waitpid>, wantarray
+X<wantarray> X<context>, warn LIST X<warn> X<warning> X<STDERR>, when EXPR
+BLOCK X<when>, when BLOCK, write FILEHANDLE X<write>, write EXPR, write,
y///
=back
@@ -2690,6 +2701,24 @@ First:, Second:, Third:, Fourth:, Fifth:, Sixth:
=back
+=head2 perlpodstyle - Perl POD style guide
+
+=over 4
+
+=item DESCRIPTION
+
+NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS, DIAGNOSTICS,
+EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, RESTRICTIONS, NOTES, AUTHOR,
+HISTORY, COPYRIGHT AND LICENSE, SEE ALSO
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
=head2 perlrun - how to execute the Perl interpreter
=over 4
@@ -2713,7 +2742,7 @@ X<perl, command switches> X<command switches>
B<-0>[I<octal/hexadecimal>] X<-0> X<$/>, B<-a> X<-a> X<autosplit>, B<-C
[I<number/list>]> X<-C>, B<-c> X<-c>, B<-d> X<-d> X<-dt>, B<-dt>,
-B<-d:>I<foo[=bar,baz]> X<-d> X<-dt>, B<-dt:>I<foo[=bar,baz]>,
+B<-d:>I<MOD[=bar,baz]> X<-d> X<-dt>, B<-dt:>I<MOD[=bar,baz]>,
B<-D>I<letters> X<-D> X<DEBUGGING> X<-DDEBUGGING>, B<-D>I<number>, B<-e>
I<commandline> X<-e>, B<-E> I<commandline> X<-E>, B<-f> X<-f>
X<sitecustomize> X<sitecustomize.pl>, B<-F>I<pattern> X<-F>, B<-h> X<-h>,
@@ -2802,7 +2831,7 @@ X<warning, reporting> X<warning, registering>
=over 4
-=item Calling the debugger
+=item Calling the Debugger
perl -d program_name, perl -d -e 0, perl -d:Ptkdb program_name, perl -dt
threaded_program_name
@@ -2867,16 +2896,16 @@ X<debugger option, UsageOnly>, C<TTY> X<debugger option, TTY>, C<noTTY>
X<debugger option, noTTY>, C<ReadLine> X<debugger option, ReadLine>,
C<NonStop> X<debugger option, NonStop>
-=item Debugger input/output
+=item Debugger Input/Output
Prompt, Multiline commands, Stack backtrace X<backtrace> X<stack,
backtrace>, Line Listing Format, Frame listing
-=item Debugging compile-time statements
+=item Debugging Compile-Time Statements
=item Debugger Customization
-=item Readline Support / History in the debugger
+=item Readline Support / History in the Debugger
=item Editor Support for Debugging
@@ -2885,11 +2914,11 @@ X<profile> X<profiling> X<profiler>
=back
-=item Debugging regular expressions
+=item Debugging Regular Expressions
X<regular expression, debugging>
X<regex, debugging> X<regexp, debugging>
-=item Debugging memory usage
+=item Debugging Memory Usage
X<memory usage>
=item SEE ALSO
@@ -2906,78 +2935,98 @@ X<memory usage>
=over 4
-=item Predefined Names
+=item The Syntax of Variable Names
-$ARG, $_ X<$_> X<$ARG>, $a, $b X<$a> X<$b>, $<I<digits>> ($1, $2, ...)
-X<$1> X<$2> X<$3>, $MATCH, $& X<$&> X<$MATCH>, ${^MATCH} X<${^MATCH}>,
-$PREMATCH, $` X<$`> X<$PREMATCH>, ${^PREMATCH} X<${^PREMATCH}>, $POSTMATCH,
-$' X<$'> X<$POSTMATCH>, ${^POSTMATCH} X<${^POSTMATCH}>, $LAST_PAREN_MATCH,
-$+ X<$+> X<$LAST_PAREN_MATCH>, $LAST_SUBMATCH_RESULT, $^N X<$^N>,
-@LAST_MATCH_END, @+ X<@+> X<@LAST_MATCH_END>, %LAST_PAREN_MATCH, %+ X<%+>,
-HANDLE->input_line_number(EXPR), $INPUT_LINE_NUMBER, $NR, $. X<$.> X<$NR>
-X<$INPUT_LINE_NUMBER> X<line number>,
-IO::Handle->input_record_separator(EXPR), $INPUT_RECORD_SEPARATOR, $RS, $/
-X<$/> X<$RS> X<$INPUT_RECORD_SEPARATOR>, HANDLE->autoflush(EXPR),
-$OUTPUT_AUTOFLUSH, $| X<$|> X<autoflush> X<flush> X<$OUTPUT_AUTOFLUSH>,
-IO::Handle->output_field_separator EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,
-X<$,> X<$OFS> X<$OUTPUT_FIELD_SEPARATOR>,
-IO::Handle->output_record_separator EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS,
-$\ X<$\> X<$ORS> X<$OUTPUT_RECORD_SEPARATOR>, $LIST_SEPARATOR, $" X<$">
-X<$LIST_SEPARATOR>, $SUBSCRIPT_SEPARATOR, $SUBSEP, $; X<$;> X<$SUBSEP>
-X<SUBSCRIPT_SEPARATOR>, HANDLE->format_page_number(EXPR),
-$FORMAT_PAGE_NUMBER, $% X<$%> X<$FORMAT_PAGE_NUMBER>,
-HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= X<$=>
-X<$FORMAT_LINES_PER_PAGE>, HANDLE->format_lines_left(EXPR),
-$FORMAT_LINES_LEFT, $- X<$-> X<$FORMAT_LINES_LEFT>, @LAST_MATCH_START, @-
-X<@-> X<@LAST_MATCH_START>, C<$`> is the same as C<substr($var, 0, $-[0])>,
-C<$&> is the same as C<substr($var, $-[0], $+[0] - $-[0])>, C<$'> is the
-same as C<substr($var, $+[0])>, C<$1> is the same as C<substr($var, $-[1],
-$+[1] - $-[1])>, C<$2> is the same as C<substr($var, $-[2], $+[2] -
-$-[2])>, C<$3> is the same as C<substr($var, $-[3], $+[3] - $-[3])>, %-
-X<%->, HANDLE->format_name(EXPR), $FORMAT_NAME, $~ X<$~> X<$FORMAT_NAME>,
-HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME, $^ X<$^>
-X<$FORMAT_TOP_NAME>, IO::Handle->format_line_break_characters EXPR,
-$FORMAT_LINE_BREAK_CHARACTERS, $: X<$:> X<FORMAT_LINE_BREAK_CHARACTERS>,
-IO::Handle->format_formfeed EXPR, $FORMAT_FORMFEED, $^L X<$^L>
-X<$FORMAT_FORMFEED>, $ACCUMULATOR, $^A X<$^A> X<$ACCUMULATOR>,
-$CHILD_ERROR, $? X<$?> X<$CHILD_ERROR>, ${^CHILD_ERROR_NATIVE}
-X<$^CHILD_ERROR_NATIVE>, ${^ENCODING} X<$^ENCODING>, $OS_ERROR, $ERRNO, $!
-X<$!> X<$ERRNO> X<$OS_ERROR>, %OS_ERROR, %ERRNO, %! X<%!>,
-$EXTENDED_OS_ERROR, $^E X<$^E> X<$EXTENDED_OS_ERROR>, $EVAL_ERROR, $@ X<$@>
-X<$EVAL_ERROR>, $PROCESS_ID, $PID, $$ X<$$> X<$PID> X<$PROCESS_ID>,
-$REAL_USER_ID, $UID, $< X<< $< >> X<$UID> X<$REAL_USER_ID>,
-$EFFECTIVE_USER_ID, $EUID, $> X<< $> >> X<$EUID> X<$EFFECTIVE_USER_ID>,
+=back
+
+=item SPECIAL VARIABLES
+
+=over 4
+
+=item General Variables
+
+$ARG, $_ X<$_> X<$ARG>, @ARG, @_ X<@_> X<@ARG>, $LIST_SEPARATOR, $" X<$">
+X<$LIST_SEPARATOR>, $PROCESS_ID, $PID, $$ X<$$> X<$PID> X<$PROCESS_ID>,
$REAL_GROUP_ID, $GID, $( X<$(> X<$GID> X<$REAL_GROUP_ID>,
$EFFECTIVE_GROUP_ID, $EGID, $) X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>,
-$PROGRAM_NAME, $0 X<$0> X<$PROGRAM_NAME>, $[ X<$[>, $] X<$]>, $COMPILING,
-$^C X<$^C> X<$COMPILING>, $DEBUGGING, $^D X<$^D> X<$DEBUGGING>,
-${^RE_DEBUG_FLAGS}, ${^RE_TRIE_MAXBUF}, $SYSTEM_FD_MAX, $^F X<$^F>
-X<$SYSTEM_FD_MAX>, $^H, %^H, $INPLACE_EDIT, $^I X<$^I> X<$INPLACE_EDIT>,
-$^M X<$^M>, $OSNAME, $^O X<$^O> X<$OSNAME>, ${^OPEN}, $PERLDB, $^P X<$^P>
-X<$PERLDB>, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200,
-0x400, $LAST_REGEXP_CODE_RESULT, $^R X<$^R> X<$LAST_REGEXP_CODE_RESULT>,
-$EXCEPTIONS_BEING_CAUGHT, $^S X<$^S> X<$EXCEPTIONS_BEING_CAUGHT>,
-$BASETIME, $^T X<$^T> X<$BASETIME>, ${^TAINT}, ${^UNICODE}, ${^UTF8CACHE},
-${^UTF8LOCALE}, $PERL_VERSION, $^V X<$^V> X<$PERL_VERSION>, $WARNING, $^W
-X<$^W> X<$WARNING>, ${^WARNING_BITS}, ${^WIN32_SLOPPY_STAT}
+$PROGRAM_NAME, $0 X<$0> X<$PROGRAM_NAME>, $SUBSCRIPT_SEPARATOR, $SUBSEP, $;
+X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>, $REAL_USER_ID, $UID, $< X<< $< >>
+X<$UID> X<$REAL_USER_ID>, $EFFECTIVE_USER_ID, $EUID, $> X<< $> >> X<$EUID>
+X<$EFFECTIVE_USER_ID>, $a, $b X<$a> X<$b>, $COMPILING, $^C X<$^C>
+X<$COMPILING>, $DEBUGGING, $^D X<$^D> X<$DEBUGGING>, ${^ENCODING}
+X<${^ENCODING}>, %ENV X<%ENV>, $SYSTEM_FD_MAX, $^F X<$^F>
+X<$SYSTEM_FD_MAX>, @F X<@F>, ${^GLOBAL_PHASE} X<${^GLOBAL_PHASE}>,
+CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H X<$^H>, %^H X<%^H>,
+@INC X<@INC>, %INC X<%INC>, $INPLACE_EDIT, $^I X<$^I> X<$INPLACE_EDIT>, $^M
+X<$^M>, $OSNAME, $^O X<$^O> X<$OSNAME>, ${^OPEN} X<${^OPEN}>, $PERLDB, $^P
+X<$^P> X<$PERLDB>, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100,
+0x200, 0x400, %SIG X<%SIG>, $BASETIME, $^T X<$^T> X<$BASETIME>, ${^TAINT}
+X<${^TAINT}>, ${^UNICODE} X<${^UNICODE}>, ${^UTF8CACHE} X<${^UTF8CACHE}>,
+${^UTF8LOCALE} X<${^UTF8LOCALE}>, $PERL_VERSION, $^V X<$^V>
+X<$PERL_VERSION>, ${^WIN32_SLOPPY_STAT} X<${^WIN32_SLOPPY_STAT}>
X<sitecustomize> X<sitecustomize.pl>, $EXECUTABLE_NAME, $^X X<$^X>
-X<$EXECUTABLE_NAME>, ARGV X<ARGV>, $ARGV X<$ARGV>, @ARGV X<@ARGV>, ARGVOUT
-X<ARGVOUT>, @F X<@F>, @INC X<@INC>, @ARG, @_ X<@_> X<@ARG>, %INC X<%INC>,
-%ENV, $ENV{expr} X<%ENV>, %SIG, $SIG{expr} X<%SIG>
+X<$EXECUTABLE_NAME>
+
+=item Variables related to regular expressions
+
+$<I<digits>> ($1, $2, ...) X<$1> X<$2> X<$3>, $MATCH, $& X<$&> X<$MATCH>,
+${^MATCH} X<${^MATCH}>, $PREMATCH, $` X<$`> X<$PREMATCH> X<${^PREMATCH}>,
+${^PREMATCH} X<$`> X<${^PREMATCH}>, $POSTMATCH, $' X<$'> X<$POSTMATCH>
+X<${^POSTMATCH}> X<@->, ${^POSTMATCH} X<${^POSTMATCH}> X<$'> X<$POSTMATCH>,
+$LAST_PAREN_MATCH, $+ X<$+> X<$LAST_PAREN_MATCH>, $LAST_SUBMATCH_RESULT,
+$^N X<$^N> X<$LAST_SUBMATCH_RESULT>, @LAST_MATCH_END, @+ X<@+>
+X<@LAST_MATCH_END>, %LAST_PAREN_MATCH, %+ X<%+> X<%LAST_PAREN_MATCH>,
+@LAST_MATCH_START, @- X<@-> X<@LAST_MATCH_START>, C<$`> is the same as
+C<substr($var, 0, $-[0])>, C<$&> is the same as C<substr($var, $-[0], $+[0]
+- $-[0])>, C<$'> is the same as C<substr($var, $+[0])>, C<$1> is the same
+as C<substr($var, $-[1], $+[1] - $-[1])>, C<$2> is the same as
+C<substr($var, $-[2], $+[2] - $-[2])>, C<$3> is the same as C<substr($var,
+$-[3], $+[3] - $-[3])>, %LAST_MATCH_START, %- X<%-> X<%LAST_MATCH_START>,
+$LAST_REGEXP_CODE_RESULT, $^R X<$^R> X<$LAST_REGEXP_CODE_RESULT>,
+${^RE_DEBUG_FLAGS} X<${^RE_DEBUG_FLAGS}>, ${^RE_TRIE_MAXBUF}
+X<${^RE_TRIE_MAXBUF}>
+
+=item Variables related to filehandles
+
+$ARGV X<$ARGV>, @ARGV X<@ARGV>, ARGV X<ARGV>, ARGVOUT X<ARGVOUT>,
+Handle->output_field_separator( EXPR ), $OUTPUT_FIELD_SEPARATOR, $OFS, $,
+X<$,> X<$OFS> X<$OUTPUT_FIELD_SEPARATOR>, HANDLE->input_line_number( EXPR
+), $INPUT_LINE_NUMBER, $NR, $. X<$.> X<$NR> X<$INPUT_LINE_NUMBER> X<line
+number>, HANDLE->input_record_separator( EXPR ), $INPUT_RECORD_SEPARATOR,
+$RS, $/ X<$/> X<$RS> X<$INPUT_RECORD_SEPARATOR>,
+Handle->output_record_separator( EXPR ), $OUTPUT_RECORD_SEPARATOR, $ORS, $\
+X<$\> X<$ORS> X<$OUTPUT_RECORD_SEPARATOR>, HANDLE->autoflush( EXPR ),
+$OUTPUT_AUTOFLUSH, $| X<$|> X<autoflush> X<flush> X<$OUTPUT_AUTOFLUSH>,
+$ACCUMULATOR, $^A X<$^A> X<$ACCUMULATOR>, HANDLE->format_formfeed(EXPR),
+$FORMAT_FORMFEED, $^L X<$^L> X<$FORMAT_FORMFEED>,
+HANDLE->format_page_number(EXPR), $FORMAT_PAGE_NUMBER, $% X<$%>
+X<$FORMAT_PAGE_NUMBER>, HANDLE->format_lines_left(EXPR),
+$FORMAT_LINES_LEFT, $- X<$-> X<$FORMAT_LINES_LEFT>,
+Handle->format_line_break_characters EXPR, $FORMAT_LINE_BREAK_CHARACTERS,
+$: X<$:> X<FORMAT_LINE_BREAK_CHARACTERS>,
+HANDLE->format_lines_per_page(EXPR), $FORMAT_LINES_PER_PAGE, $= X<$=>
+X<$FORMAT_LINES_PER_PAGE>, HANDLE->format_top_name(EXPR), $FORMAT_TOP_NAME,
+$^ X<$^> X<$FORMAT_TOP_NAME>, HANDLE->format_name(EXPR), $FORMAT_NAME, $~
+X<$~> X<$FORMAT_NAME>
-=item Names that are no longer special
+=item Error Variables
+X<error> X<exception>
-$# X<$#>, $* X<$*>
+${^CHILD_ERROR_NATIVE} X<$^CHILD_ERROR_NATIVE>, $EXTENDED_OS_ERROR, $^E
+X<$^E> X<$EXTENDED_OS_ERROR>, $EXCEPTIONS_BEING_CAUGHT, $^S X<$^S>
+X<$EXCEPTIONS_BEING_CAUGHT>, $WARNING, $^W X<$^W> X<$WARNING>,
+${^WARNING_BITS} X<${^WARNING_BITS}>, $OS_ERROR, $ERRNO, $! X<$!> X<$ERRNO>
+X<$OS_ERROR>, %OS_ERROR, %ERRNO, %! X<%!> X<%OS_ERROR> X<%ERRNO>,
+$CHILD_ERROR, $? X<$?> X<$CHILD_ERROR>, $EVAL_ERROR, $@ X<$@>
+X<$EVAL_ERROR>
-=item Error Indicators
-X<error> X<exception>
+=item Deprecated and removed variables
-=item Technical Note on the Syntax of Variable Names
+$OFMT, $# X<$#> X<$OFMT>, $* X<$*>, $ARRAY_BASE, $[ X<$[> X<$ARRAY_BASE>,
+$OLD_PERL_VERSION, $] X<$]> X<$OLD_PERL_VERSION>
=back
-=item BUGS
-
=back
=head2 perlre - Perl regular expressions
@@ -2994,7 +3043,8 @@ m X</m> X<regex, multiline> X<regexp, multiline> X<regular expression,
multiline>, s X</s> X<regex, single-line> X<regexp, single-line> X<regular
expression, single-line>, i X</i> X<regex, case-insensitive> X<regexp,
case-insensitive> X<regular expression, case-insensitive>, x X</x>, p X</p>
-X<regex, preserve> X<regexp, preserve>, g and c X</g> X</c>
+X<regex, preserve> X<regexp, preserve>, g and c X</g> X</c>, a, d, l and u
+X</a> X</d> X</l> X</u>
=item Regular Expressions
@@ -3004,26 +3054,28 @@ X<regex, preserve> X<regexp, preserve>, g and c X</g> X</c>
=item Extended Patterns
-C<(?#text)> X<(?#)>, C<(?pimsx-imsx)> X<(?)>, C<(?:pattern)> X<(?:)>,
-C<(?imsx-imsx:pattern)>, C<(?|pattern)> X<(?|)> X<Branch reset>,
-Look-Around Assertions X<look-around assertion> X<lookaround assertion>
-X<look-around> X<lookaround>, C<(?=pattern)> X<(?=)> X<look-ahead,
-positive> X<lookahead, positive>, C<(?!pattern)> X<(?!)> X<look-ahead,
-negative> X<lookahead, negative>, C<(?<=pattern)> C<\K> X<(?<=)>
-X<look-behind, positive> X<lookbehind, positive> X<\K>, C<(?<!pattern)>
-X<(?<!)> X<look-behind, negative> X<lookbehind, negative>,
-C<(?'NAME'pattern)>, C<< (?<NAME>pattern) >> X<< (?<NAME>) >> X<(?'NAME')>
-X<named capture> X<capture>, C<< \k<NAME> >>, C<< \k'NAME' >>, C<(?{ code
-})> X<(?{})> X<regex, code in> X<regexp, code in> X<regular expression,
-code in>, C<(??{ code })> X<(??{})> X<regex, postponed> X<regexp,
-postponed> X<regular expression, postponed>, C<(?PARNO)> C<(?-PARNO)>
-C<(?+PARNO)> C<(?R)> C<(?0)> X<(?PARNO)> X<(?1)> X<(?R)> X<(?0)> X<(?-1)>
-X<(?+1)> X<(?-PARNO)> X<(?+PARNO)> X<regex, recursive> X<regexp, recursive>
-X<regular expression, recursive> X<regex, relative recursion>, C<(?&NAME)>
-X<(?&NAME)>, C<(?(condition)yes-pattern|no-pattern)> X<(?()>,
-C<(?(condition)yes-pattern)>, (1) (2) .., (<NAME>) ('NAME'), (?{ CODE }),
-(R), (R1) (R2) .., (R&NAME), (DEFINE), C<< (?>pattern) >> X<backtrack>
-X<backtracking> X<atomic> X<possessive>
+C<(?#text)> X<(?#)>, C<(?adlupimsx-imsx)>, C<(?^alupimsx)> X<(?)> X<(?^)>,
+C<(?:pattern)> X<(?:)>, C<(?adluimsx-imsx:pattern)>, C<(?^aluimsx:pattern)>
+X<(?^:)>, C<(?|pattern)> X<(?|)> X<Branch reset>, Look-Around Assertions
+X<look-around assertion> X<lookaround assertion> X<look-around>
+X<lookaround>, C<(?=pattern)> X<(?=)> X<look-ahead, positive> X<lookahead,
+positive>, C<(?!pattern)> X<(?!)> X<look-ahead, negative> X<lookahead,
+negative>, C<(?<=pattern)> C<\K> X<(?<=)> X<look-behind, positive>
+X<lookbehind, positive> X<\K>, C<(?<!pattern)> X<(?<!)> X<look-behind,
+negative> X<lookbehind, negative>, C<(?'NAME'pattern)>, C<<
+(?<NAME>pattern) >> X<< (?<NAME>) >> X<(?'NAME')> X<named capture>
+X<capture>, C<< \k<NAME> >>, C<< \k'NAME' >>, C<(?{ code })> X<(?{})>
+X<regex, code in> X<regexp, code in> X<regular expression, code in>, C<(??{
+code })> X<(??{})> X<regex, postponed> X<regexp, postponed> X<regular
+expression, postponed>, C<(?PARNO)> C<(?-PARNO)> C<(?+PARNO)> C<(?R)>
+C<(?0)> X<(?PARNO)> X<(?1)> X<(?R)> X<(?0)> X<(?-1)> X<(?+1)> X<(?-PARNO)>
+X<(?+PARNO)> X<regex, recursive> X<regexp, recursive> X<regular expression,
+recursive> X<regex, relative recursion>, C<(?&NAME)> X<(?&NAME)>,
+C<(?(condition)yes-pattern|no-pattern)> X<(?()>,
+C<(?(condition)yes-pattern)>, (1) (2) .., (<NAME>) ('NAME'), (?=...)
+(?!...) (?<=...) (?<!...), (?{ CODE }), (R), (R1) (R2) .., (R&NAME),
+(DEFINE), C<< (?>pattern) >> X<backtrack> X<backtracking> X<atomic>
+X<possessive>
=item Special Backtracking Control Verbs
@@ -3052,12 +3104,12 @@ C<(?(condition)yes-pattern|no-pattern)>
=item Creating Custom RE Engines
-=back
-
=item PCRE/Python Support
C<< (?PE<lt>NAMEE<gt>pattern) >>, C<< (?P=NAME) >>, C<< (?P>NAME) >>
+=back
+
=item BUGS
=item SEE ALSO
@@ -3112,17 +3164,24 @@ Escapes
=item The dot
=item Backslash sequences
-X<\w> X<\W> X<\s> X<\S> X<\d> X<\D> X<\p> X<\P>
+X<\w> X<\W> X<\s> X<\S> X<\d> X<\D> X<\p> X<\P>
X<\N> X<\v> X<\V> X<\h> X<\H>
X<word> X<whitespace>
+If the C</a> modifier is in effect .., otherwise .., For code points above
+255 .., For code points below 256 .., if locale rules are in effect .., if
+Unicode rules are in effect or if on an EBCDIC platform .., otherwise ..,
+If the C</a> modifier is in effect .., otherwise .., For code points above
+255 .., For code points below 256 .., if locale rules are in effect .., if
+Unicode rules are in effect or if on an EBCDIC platform .., otherwise ..,
[1]
=item Bracketed Character Classes
-[1], [2], [3], [4], [5] (punct), [6]
-
-=item Locale, EBCDIC, Unicode and UTF-8
+If the C</a> modifier, is in effect .., otherwise .., For code points above
+255 .., For code points below 256 .., if locale rules are in effect .., if
+Unicode rules are in effect or if on an EBCDIC platform .., otherwise ..,
+[1], [2], [3], [4], [5], [6]
=back
@@ -3226,10 +3285,10 @@ X<format, text field>
=item Numeric Fields
X<#> X<format, numeric field>
-=item The Field @* for Variable Width Multi-Line Text
+=item The Field @* for Variable-Width Multi-Line Text
X<@*>
-=item The Field ^* for Variable Width One-line-at-a-time Text
+=item The Field ^* for Variable-Width One-line-at-a-time Text
X<^*>
=item Specifying Values
@@ -3413,12 +3472,6 @@ safe subprocesses, sockets, and semaphores)
=item Handling the SIGHUP Signal in Daemons
-=back
-
-=item Named Pipes
-
-=over 4
-
=item Deferred Signals (Safe Signals)
Long-running opcodes, Interrupting IO, Restartable system calls, Signals as
@@ -3426,6 +3479,8 @@ Long-running opcodes, Interrupting IO, Restartable system calls, Signals as
=back
+=item Named Pipes
+
=item Using open() for IPC
=over 4
@@ -3512,13 +3567,13 @@ files, directories and network sockets
=item Lifetime of the parent process and pseudo-processes
-=item CAVEATS AND LIMITATIONS
+=back
-BEGIN blocks, Open filehandles, Forking pipe open() not yet implemented,
-Global state maintained by XSUBs, Interpreter embedded in larger
-application, Thread-safety of extensions
+=item CAVEATS AND LIMITATIONS
-=back
+BEGIN blocks, Open filehandles, Open directory handles, Forking pipe open()
+not yet implemented, Global state maintained by XSUBs, Interpreter embedded
+in larger application, Thread-safety of extensions
=item BUGS
@@ -3756,10 +3811,11 @@ gethostbyname, gethostent, getnetent, getprotoent, getservent, sethostent,
setnetent, setprotoent, setservent, endpwent, endgrent, endhostent,
endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob,
gmtime, ioctl FILEHANDLE,FUNCTION,SCALAR, kill, link, localtime, lstat,
-msgctl, msgget, msgsnd, msgrcv, open, readlink, rename, select, semctl,
-semget, semop, setgrent, setpgrp, setpriority, setpwent, setsockopt,
-shmctl, shmget, shmread, shmwrite, sockatmark, socketpair, stat, symlink,
-syscall, sysopen, system, times, truncate, umask, utime, wait, waitpid
+msgctl, msgget, msgsnd, msgrcv, open, readlink, rename, rewinddir, select,
+semctl, semget, semop, setgrent, setpgrp, setpriority, setpwent,
+setsockopt, shmctl, shmget, shmread, shmwrite, sockatmark, socketpair,
+stat, symlink, syscall, sysopen, system, times, truncate, umask, utime,
+wait, waitpid
=back
@@ -3768,11 +3824,12 @@ syscall, sysopen, system, times, truncate, umask, utime, wait, waitpid
Linux (x86, ARM, IA64), HP-UX, AIX, Win32, Windows 2000, Windows XP,
Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Cygwin,
Solaris (x86, SPARC), OpenVMS, Alpha (7.2 and later), I64 (8.2 and later),
-Symbian, NetBSD, FreeBSD, Haiku, Irix (6.5. What else?), OpenBSD, Dragonfly
-BSD, MirOS BSD, time_t issues that may or may not be fixed, Symbian (Series
-60 v3, 3.2 and 5 - what else?), Stratus VOS / OpenVOS, AIX
+Symbian, NetBSD, FreeBSD, Debian GNU/kFreeBSD, Haiku, Irix (6.5. What
+else?), OpenBSD, Dragonfly BSD, QNX Neutrino RTOS (6.5.0), MirOS BSD,
+time_t issues that may or may not be fixed, Symbian (Series 60 v3, 3.2 and
+5 - what else?), Stratus VOS / OpenVOS, AIX
-=item EOL Platforms (Perl 5.12)
+=item EOL Platforms (Perl 5.14)
Atari MiNT, Apollo Domain/OS, Apple Mac OS 8/9, Tenon Machten, Windows 95,
Windows 98, Windows ME, Windows NT4
@@ -3947,9 +4004,10 @@ LC_NUMERIC, LC_TIME, LANG
=item Important Caveats
-Input and Output Layers, Regular Expressions, C<use utf8> still needed to
-enable UTF-8/UTF-EBCDIC in scripts, BOM-marked scripts and UTF-16 scripts
-autodetected, C<use encoding> needed to upgrade non-Latin-1 byte strings
+Safest if you "use feature 'unicode_strings'", Input and Output Layers,
+C<use utf8> still needed to enable UTF-8/UTF-EBCDIC in scripts, BOM-marked
+scripts and UTF-16 scripts autodetected, C<use encoding> needed to upgrade
+non-Latin-1 byte strings
=item Byte and Character Semantics
@@ -3957,19 +4015,17 @@ autodetected, C<use encoding> needed to upgrade non-Latin-1 byte strings
=item Unicode Character Properties
-B<C<\p{All}>>, B<C<\p{Alnum}>>, B<C<\p{Any}>>, B<C<\p{Assigned}>>,
-B<C<\p{Blank}>>, B<C<\p{Decomposition_Type: Non_Canonical}>> (Short:
-C<\p{Dt=NonCanon}>), B<C<\p{Graph}>>, B<C<\p{HorizSpace}>>, B<C<\p{In=*}>>,
-B<C<\p{PerlSpace}>>, B<C<\p{PerlWord}>>, B<C<\p{PosixAlnum}>>,
-B<C<\p{PosixAlpha}>>, B<C<\p{PosixBlank}>>, B<C<\p{PosixCntrl}>>,
-B<C<\p{PosixDigit}>>, B<C<\p{PosixGraph}>>, B<C<\p{PosixLower}>>,
-B<C<\p{PosixPrint}>>, B<C<\p{PosixPunct}>>, B<C<\p{PosixSpace}>>,
-B<C<\p{PosixUpper}>>, B<C<\p{Present_In: *}>> (Short: C<\p{In=*}>),
-B<C<\p{Print}>>, B<C<\p{SpacePerl}>>, B<C<\p{VertSpace}>>, B<C<\p{Word}>>
+B<C<\p{All}>>, B<C<\p{Alnum}>>, B<C<\p{Any}>>, B<C<\p{ASCII}>>,
+B<C<\p{Assigned}>>, B<C<\p{Blank}>>, B<C<\p{Decomposition_Type:
+Non_Canonical}>> (Short: C<\p{Dt=NonCanon}>), B<C<\p{Graph}>>,
+B<C<\p{HorizSpace}>>, B<C<\p{In=*}>>, B<C<\p{PerlSpace}>>,
+B<C<\p{PerlWord}>>, B<C<\p{Posix...}>>, B<C<\p{Present_In: *}>> (Short:
+C<\p{In=*}>), B<C<\p{Print}>>, B<C<\p{SpacePerl}>>, B<C<\p{VertSpace}>>,
+B<C<\p{Word}>>, B<C<\p{XPosix...}>>
=item User-Defined Character Properties
-=item User-Defined Case Mappings
+=item User-Defined Case Mappings (for serious hackers only)
=item Character Encodings for Input and Output
@@ -3977,6 +4033,10 @@ B<C<\p{Print}>>, B<C<\p{SpacePerl}>>, B<C<\p{VertSpace}>>, B<C<\p{Word}>>
=item Unicode Encodings
+=item Non-character code points
+
+=item Beyond Unicode code points
+
=item Security Implications of Unicode
=item Unicode in Perl on EBCDIC
@@ -4004,8 +4064,6 @@ hackers only)
=item Problems with characters in the Latin-1 Supplement range
-=item Problems with case-insensitive regular expression matching
-
=item Interaction with Extensions
=item Speed
@@ -4089,7 +4147,7 @@ range?
=back
-=head2 perluniprops - Index of Unicode Version 5.2.0 properties in Perl
+=head2 perluniprops - Index of Unicode Version 6.0.0 properties in Perl
=over 4
@@ -4119,6 +4177,10 @@ form is discouraged
=item Unicode regular expression properties that are NOT accepted by Perl
+I<Expands_On_NFC> (XO_NFC), I<Expands_On_NFD> (XO_NFD), I<Expands_On_NFKC>
+(XO_NFKC), I<Expands_On_NFKD> (XO_NFKD), I<Grapheme_Link> (Gr_Link),
+I<Jamo_Short_Name> (JSN), I<Script=Katakana_Or_Hiragana> (sc=Hrkt)
+
=item Files in the I<To> directory (for serious hackers only)
=item SEE ALSO
@@ -4241,7 +4303,7 @@ chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
=item Quoted-Printable encoding and decoding
-=item Caesarian ciphers
+=item Caesarean ciphers
=back
@@ -4249,7 +4311,7 @@ chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack()
=item I18N AND L10N
-=item MULTI OCTET CHARACTER SETS
+=item MULTI-OCTET CHARACTER SETS
=item OS ISSUES
@@ -4378,12 +4440,14 @@ AutoLoader, AutoSplit, B, B::Concise, B::Debug, B::Deparse, B::Lint,
B::Lint::Debug, B::Showlex, B::Terse, B::Xref, Benchmark, CGI, CGI::Apache,
CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch,
CGI::Util, CORE, CPAN, CPAN::API::HOWTO, CPAN::Distroprefs,
-CPAN::FirstTime, CPAN::Kwalify, CPAN::Nox, CPAN::Version, CPANPLUS,
-CPANPLUS::Dist::Base, CPANPLUS::Dist::Build,
+CPAN::FirstTime, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter,
+CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::Prereqs,
+CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox,
+CPAN::Version, CPANPLUS, CPANPLUS::Dist::Base, CPANPLUS::Dist::Build,
CPANPLUS::Dist::Build::Constants, CPANPLUS::Dist::Sample,
CPANPLUS::Internals::Source::Memory, CPANPLUS::Internals::Source::SQLite,
CPANPLUS::Shell::Classic, CPANPLUS::Shell::Default::Plugins::HOWTO, Carp,
-Class::ISA, Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Bzip2::FAQ,
+Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Bzip2::FAQ,
Compress::Raw::Zlib, Compress::Raw::Zlib::FAQ, Compress::Zlib, Config, Cwd,
DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode,
DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File,
@@ -4408,31 +4472,36 @@ ExtUtils::MM_OS2, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix,
ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95,
ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config,
ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial,
-ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists,
-ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::XSSymSet,
-ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree,
-File::Compare, File::Copy, File::DosGlob, File::Fetch, File::Find,
-File::Glob, File::GlobMapper, File::Path, File::Spec, File::Spec::Cygwin,
-File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2,
-File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp,
-File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call,
-FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util,
-Hash::Util::FieldHash, I18N::Collate, I18N::LangTags,
-I18N::LangTags::Detect, I18N::LangTags::List, I18N::Langinfo, IO,
-IO::Compress::Base, IO::Compress::Bzip2, IO::Compress::Deflate,
-IO::Compress::FAQ, IO::Compress::Gzip, IO::Compress::RawDeflate,
-IO::Compress::Zip, IO::Dir, IO::File, IO::Handle, IO::Pipe, IO::Poll,
-IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET, IO::Socket::UNIX,
-IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress,
-IO::Uncompress::Base, IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip,
-IO::Uncompress::Inflate, IO::Uncompress::RawInflate, IO::Uncompress::Unzip,
-IO::Zlib, IPC::Cmd, IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore,
-IPC::SharedMem, IPC::SysV, List::Util, List::Util::XS, Locale::Constants,
-Locale::Country, Locale::Currency, Locale::Language, Locale::Maketext,
-Locale::Maketext::Simple, Locale::Maketext::TPJ13, Locale::Script,
-Log::Message, Log::Message::Config, Log::Message::Handlers,
-Log::Message::Item, Log::Message::Simple, MIME::Base64, MIME::QuotedPrint,
-Math::BigFloat, Math::BigInt, Math::BigInt::Calc, Math::BigInt::CalcEmu,
+ExtUtils::MakeMaker::YAML, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
+ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
+ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename,
+File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Fetch,
+File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec,
+File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions,
+File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS,
+File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle,
+Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long,
+Getopt::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, I18N::Collate,
+I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List,
+I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2,
+IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip,
+IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle,
+IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
+IO::Socket::UNIX, IO::Uncompress::AnyInflate,
+IO::Uncompress::AnyUncompress, IO::Uncompress::Base,
+IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate,
+IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd,
+IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem,
+IPC::SysV, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS,
+Locale::Codes, Locale::Codes::Changes, Locale::Codes::Country,
+Locale::Codes::Currency, Locale::Codes::Language, Locale::Codes::Script,
+Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
+Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts,
+Locale::Maketext::GutsLoader, Locale::Maketext::Simple,
+Locale::Maketext::TPJ13, Locale::Script, Log::Message,
+Log::Message::Config, Log::Message::Handlers, Log::Message::Item,
+Log::Message::Simple, MIME::Base64, MIME::QuotedPrint, Math::BigFloat,
+Math::BigInt, Math::BigInt::Calc, Math::BigInt::CalcEmu,
Math::BigInt::FastCalc, Math::BigRat, Math::Complex, Math::Trig, Memoize,
Memoize::AnyDBM_File, Memoize::Expire, Memoize::ExpireFile,
Memoize::ExpireTest, Memoize::NDBM_File, Memoize::SDBM_File,
@@ -4447,20 +4516,21 @@ Module::Build::Platform::Unix, Module::Build::Platform::VMS,
Module::Build::Platform::VOS, Module::Build::Platform::Windows,
Module::Build::Platform::aix, Module::Build::Platform::cygwin,
Module::Build::Platform::darwin, Module::Build::Platform::os2,
-Module::CoreList, Module::Load, Module::Load::Conditional, Module::Loaded,
+Module::Build::Version, Module::Build::YAML, Module::CoreList,
+Module::Load, Module::Load::Conditional, Module::Loaded, Module::Metadata,
Module::Pluggable, Module::Pluggable::Object, NDBM_File, NEXT, Net::Cmd,
Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3,
Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent,
Net::protoent, Net::servent, O, ODBM_File, Object::Accessor, Opcode, POSIX,
-Package::Constants, Params::Check, Parse::CPAN::Meta, PerlIO,
+Package::Constants, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO,
PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint,
Pod::Checker, Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html,
Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils,
Pod::Parser, Pod::Perldoc, Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO,
Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
-Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer,
-Pod::Select, Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
+Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Select,
+Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML,
Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody,
Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
@@ -4470,8 +4540,8 @@ Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream,
Pod::Text, Pod::Text::Color, Pod::Text::Termcap, Pod::Usage, SDBM_File,
Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Shell, Socket,
-Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32,
-TAP::Base, TAP::Formatter::Color, TAP::Formatter::Console,
+Storable, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32,
+TAP::Base, TAP::Formatter::Base, TAP::Formatter::Color,
TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession,
TAP::Formatter::Console::Session, TAP::Formatter::File,
TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness,
@@ -4486,21 +4556,26 @@ TAP::Parser::Result::Unknown, TAP::Parser::Result::Version,
TAP::Parser::Result::YAML, TAP::Parser::ResultFactory,
TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job,
TAP::Parser::Scheduler::Spinner, TAP::Parser::Source,
-TAP::Parser::Source::Perl, TAP::Parser::Utils,
-TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer,
-Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::UI, Test,
-Test::Builder, Test::Builder::Module, Test::Builder::Tester,
-Test::Builder::Tester::Color, Test::Harness, Test::More, Test::Simple,
-Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords,
-Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue,
-Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash,
-Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, Tie::Scalar,
-Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece,
-Time::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL,
-Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent,
-User::pwent, VMS::DCLsym, VMS::Stdio, Win32, Win32API::File, Win32CORE,
-XS::APItest, XS::APItest::KeywordRPN, XS::Typemap, XSLoader,
-version::Internals
+TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable,
+TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle,
+TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP,
+TAP::Parser::Utils, TAP::Parser::YAMLish::Reader,
+TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete,
+Term::ReadLine, Term::UI, Test, Test::Builder, Test::Builder::Module,
+Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness,
+Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced,
+Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread,
+Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle,
+Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash,
+Tie::Scalar, Tie::StdHandle, Tie::SubstrHash, Time::HiRes, Time::Local,
+Time::Piece, Time::Seconds, Time::gmtime, Time::localtime, Time::tm,
+UNIVERSAL, Unicode::Collate, Unicode::Collate::CJK::Big5,
+Unicode::Collate::CJK::GB2312, Unicode::Collate::CJK::JISX0208,
+Unicode::Collate::CJK::Korean, Unicode::Collate::CJK::Pinyin,
+Unicode::Collate::CJK::Stroke, Unicode::Collate::Locale,
+Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, VMS::DCLsym,
+VMS::Stdio, Version::Requirements, Win32, Win32API::File, Win32CORE,
+XS::APItest, XS::Typemap, XSLoader, version::Internals
=item Extension Modules
@@ -4760,7 +4835,7 @@ L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
L<roffitall|roffitall>
-=item Convertors
+=item Converters
L<a2p|a2p>, L<s2p|s2p> and L<psed>, L<find2perl|find2perl>
@@ -4776,7 +4851,7 @@ L<dprofpp|dprofpp>, L<prove>, L<corelist>
=item General tools
-L<piconv>, L<ptar>, L<ptardiff>, L<shasum>
+L<piconv>, L<ptar>, L<ptardiff>, L<ptargrep>, L<shasum>
=item Installation
@@ -4806,7 +4881,7 @@ B::Lint, B::Deparse, B::Xref
=over 4
-=item The Cross Referencing Back End
+=item The Cross-Referencing Back End
i, &, s, r
@@ -4890,14 +4965,15 @@ broadcast, BSD, bucket, buffer, built-in, bundle, byte, bytecode
=item C
C, C preprocessor, call by reference, call by value, callback, canonical,
-capturing, character, character class, character property, circumfix
-operator, class, class method, client, cloister, closure, cluster, CODE,
-code generator, code subpattern, collating sequence, command, command
-buffering, command name, command-line arguments, comment, compilation unit,
-compile phase, compile time, compiler, composer, concatenation,
-conditional, connection, construct, constructor, context, continuation,
-core dump, CPAN, cracker, current package, current working directory,
-currently selected output channel, CV
+capture buffer, capture group, capturing, character, character class,
+character property, circumfix operator, class, class method, client,
+cloister, closure, cluster, CODE, code generator, code point, code
+subpattern, collating sequence, command, command buffering, command name,
+command-line arguments, comment, compilation unit, compile phase, compile
+time, compiler, composer, concatenation, conditional, connection,
+construct, constructor, context, continuation, core dump, CPAN, cracker,
+current package, current working directory, currently selected output
+channel, CV
=item D
@@ -4919,13 +4995,12 @@ file, execute, execute bit, exit status, export, expression, extension
false, FAQ, fatal error, field, FIFO, file, file descriptor, file test
operator, fileglob, filehandle, filename, filesystem, filter, flag,
floating point, flush, FMTEYEWTK, fork, formal arguments, format, freely
-available, freely redistributable, freeware, function, funny character,
-garbage collection
+available, freely redistributable, freeware, function, funny character
=item G
-GID, glob, global, global destruction, glue language, granularity, greedy,
-grep, group, GV
+garbage collection, GID, glob, global, global destruction, glue language,
+granularity, greedy, grep, group, GV
=item H
@@ -4937,7 +5012,7 @@ document, hexadecimal, home directory, host, hubris, HV
identifier, impatience, implementation, import, increment, indexing,
indirect filehandle, indirect object, indirect object slot, indirection,
infix, inheritance, instance, instance variable, integer, interface,
-interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
+interpolation, interpreter, invocand, invocation, I/O, IO, IP, IPC, is-a,
iteration, iterator, IV
=item J
@@ -4972,8 +5047,8 @@ list, null string, numeric context, NV, nybble
=item O
object, octal, offset, one-liner, open source software, operand, operating
-system, operator, operator overloading, options, overloading, overriding,
-owner
+system, operator, operator overloading, options, ordinal, overloading,
+overriding, owner
=item P
@@ -5091,8 +5166,6 @@ program
=back
-=item Embedding Perl under Win32
-
=item Hiding Perl_
=item MORAL
@@ -5119,24 +5192,24 @@ program
=item Frame Listing Output Examples
-=item Debugging regular expressions
+=item Debugging Regular Expressions
=over 4
-=item Compile-time output
+=item Compile-time Output
C<anchored> I<STRING> C<at> I<POS>, C<floating> I<STRING> C<at>
I<POS1..POS2>, C<matching floating/anchored>, C<minlen>, C<stclass>
I<TYPE>, C<noscan>, C<isall>, C<GPOS>, C<plus>, C<implicit>, C<with eval>,
C<anchored(TYPE)>
-=item Types of nodes
+=item Types of Nodes
-=item Run-time output
+=item Run-time Output
=back
-=item Debugging Perl memory usage
+=item Debugging Perl Memory Usage
=over 4
@@ -5326,6 +5399,8 @@ SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
=item The INCLUDE: Keyword
+=item The INCLUDE_COMMAND: Keyword
+
=item The CASE: Keyword
=item The & Unary Operator
@@ -5495,6 +5570,11 @@ save_hptr(HV **hptr)>
=item Pluggable runops
+=item Compile-time scope hooks
+
+C<void bhk_start(pTHX_ int full)>, C<void bhk_pre_end(pTHX_ OP **o)>,
+C<void bhk_post_end(pTHX_ OP **o)>, C<void bhk_eval(pTHX_ OP *const o)>
+
=back
=item Examining internal data structures with the C<dump> functions
@@ -5553,6 +5633,10 @@ A, p, d, s, n, r, f, M, o, x, m, X, E, b, others
=item Custom Operators
+xop_name, xop_desc, xop_class, OA_BASEOP, OA_UNOP, OA_BINOP, OA_LOGOP,
+OA_LISTOP, OA_PMOP, OA_SVOP, OA_PADOP, OA_PVOP_OR_SVOP, OA_LOOP, OA_COP,
+xop_peep
+
=item AUTHORS
=item SEE ALSO
@@ -5565,7 +5649,7 @@ A, p, d, s, n, r, f, M, o, x, m, X, E, b, others
=item DESCRIPTION
-An Error Handler, An Event Driven Program
+An Error Handler, An Event-Driven Program
=item THE CALL_ FUNCTIONS
@@ -5597,17 +5681,17 @@ call_sv, call_pv, call_method, call_argv
=over 4
-=item No Parameters, Nothing returned
+=item No Parameters, Nothing Returned
=item Passing Parameters
=item Returning a Scalar
-=item Returning a list of values
+=item Returning a List of Values
-=item Returning a list in a scalar context
+=item Returning a List in a Scalar Context
-=item Returning Data from Perl via the parameter list
+=item Returning Data from Perl via the Parameter List
=item Using G_EVAL
@@ -5621,9 +5705,9 @@ call_sv, call_pv, call_method, call_argv
=item Using GIMME_V
-=item Using Perl to dispose of temporaries
+=item Using Perl to Dispose of Temporaries
-=item Strategies for storing Callback Context Information
+=item Strategies for Storing Callback Context Information
1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of
callbacks - hard wired limit, 3. Use a parameter to map to the Perl
@@ -5631,7 +5715,7 @@ callback
=item Alternate Stack Manipulation
-=item Creating and calling an anonymous subroutine in C
+=item Creating and Calling an Anonymous Subroutine in C
=back
@@ -5676,9 +5760,9 @@ resolve, name, length, kflags, hash
=item comp
C</m> - RXf_PMf_MULTILINE, C</s> - RXf_PMf_SINGLELINE, C</i> -
-RXf_PMf_FOLD, C</x> - RXf_PMf_EXTENDED, C</p> - RXf_PMf_KEEPCOPY,
-RXf_PMf_LOCALE, RXf_UTF8, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY,
-RXf_WHITE, RXf_NULL
+RXf_PMf_FOLD, C</x> - RXf_PMf_EXTENDED, C</p> - RXf_PMf_KEEPCOPY, Character
+set, RXf_UTF8, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, RXf_WHITE,
+RXf_NULL
=item exec
@@ -5838,16 +5922,48 @@ call_argv X<call_argv>, call_method X<call_method>, call_pv X<call_pv>,
call_sv X<call_sv>, ENTER X<ENTER>, eval_pv X<eval_pv>, eval_sv X<eval_sv>,
FREETMPS X<FREETMPS>, LEAVE X<LEAVE>, SAVETMPS X<SAVETMPS>
+=item Character case changing
+
+toLOWER X<toLOWER>, toUPPER X<toUPPER>
+
=item Character classes
-isALNUM X<isALNUM>, isALPHA X<isALPHA>, isDIGIT X<isDIGIT>, isLOWER
-X<isLOWER>, isSPACE X<isSPACE>, isUPPER X<isUPPER>, toLOWER X<toLOWER>,
-toUPPER X<toUPPER>
+isALPHA X<isALPHA>, isASCII X<isASCII>, isDIGIT X<isDIGIT>, isLOWER
+X<isLOWER>, isOCTAL X<isOCTAL>, isSPACE X<isSPACE>, isUPPER X<isUPPER>,
+isWORDCHAR X<isWORDCHAR>, isXDIGIT X<isXDIGIT>
=item Cloning an interpreter
perl_clone X<perl_clone>
+=item Compile-time scope hooks
+
+BhkDISABLE X<BhkDISABLE>, BhkENABLE X<BhkENABLE>, BhkENTRY_set
+X<BhkENTRY_set>, blockhook_register X<blockhook_register>
+
+=item COP Hint Hashes
+
+cophh_2hv X<cophh_2hv>, cophh_copy X<cophh_copy>, cophh_delete_pv
+X<cophh_delete_pv>, cophh_delete_pvn X<cophh_delete_pvn>, cophh_delete_pvs
+X<cophh_delete_pvs>, cophh_delete_sv X<cophh_delete_sv>, cophh_fetch_pv
+X<cophh_fetch_pv>, cophh_fetch_pvn X<cophh_fetch_pvn>, cophh_fetch_pvs
+X<cophh_fetch_pvs>, cophh_fetch_sv X<cophh_fetch_sv>, cophh_free
+X<cophh_free>, cophh_new_empty X<cophh_new_empty>, cophh_store_pv
+X<cophh_store_pv>, cophh_store_pvn X<cophh_store_pvn>, cophh_store_pvs
+X<cophh_store_pvs>, cophh_store_sv X<cophh_store_sv>
+
+=item COP Hint Reading
+
+cop_hints_2hv X<cop_hints_2hv>, cop_hints_fetch_pv X<cop_hints_fetch_pv>,
+cop_hints_fetch_pvn X<cop_hints_fetch_pvn>, cop_hints_fetch_pvs
+X<cop_hints_fetch_pvs>, cop_hints_fetch_sv X<cop_hints_fetch_sv>
+
+=item Custom Operators
+
+custom_op_register X<custom_op_register>, custom_op_xop X<custom_op_xop>,
+XopDISABLE X<XopDISABLE>, XopENABLE X<XopENABLE>, XopENTRY X<XopENTRY>,
+XopENTRY_set X<XopENTRY_set>, XopFLAGS X<XopFLAGS>
+
=item CV Manipulation Functions
CvSTASH X<CvSTASH>, get_cv X<get_cv>, get_cvn_flags X<get_cvn_flags>
@@ -5855,9 +5971,10 @@ CvSTASH X<CvSTASH>, get_cv X<get_cv>, get_cvn_flags X<get_cvn_flags>
=item Embedding Functions
cv_undef X<cv_undef>, load_module X<load_module>, nothreadhook
-X<nothreadhook>, perl_alloc X<perl_alloc>, perl_construct
-X<perl_construct>, perl_destruct X<perl_destruct>, perl_free X<perl_free>,
-perl_parse X<perl_parse>, perl_run X<perl_run>, require_pv X<require_pv>
+X<nothreadhook>, pad_findmy X<pad_findmy>, pad_sv X<pad_sv>, perl_alloc
+X<perl_alloc>, perl_construct X<perl_construct>, perl_destruct
+X<perl_destruct>, perl_free X<perl_free>, perl_parse X<perl_parse>,
+perl_run X<perl_run>, require_pv X<require_pv>
=item Functions in file dump.c
@@ -5865,6 +5982,7 @@ pv_display X<pv_display>, pv_escape X<pv_escape>, pv_pretty X<pv_pretty>
=item Functions in file mathoms.c
+custom_op_desc X<custom_op_desc>, custom_op_name X<custom_op_name>,
gv_fetchmethod X<gv_fetchmethod>, pack_cat X<pack_cat>, sv_2pvbyte_nolen
X<sv_2pvbyte_nolen>, sv_2pvutf8_nolen X<sv_2pvutf8_nolen>, sv_2pv_nolen
X<sv_2pv_nolen>, sv_catpvn_mg X<sv_catpvn_mg>, sv_catsv_mg X<sv_catsv_mg>,
@@ -5875,6 +5993,10 @@ X<sv_pvn>, sv_pvutf8 X<sv_pvutf8>, sv_pvutf8n X<sv_pvutf8n>, sv_taint
X<sv_taint>, sv_unref X<sv_unref>, sv_usepvn X<sv_usepvn>, sv_usepvn_mg
X<sv_usepvn_mg>, sv_uv X<sv_uv>, unpack_str X<unpack_str>
+=item Functions in file op.c
+
+op_contextualize X<op_contextualize>
+
=item Functions in file perl.h
PERL_SYS_INIT X<PERL_SYS_INIT>, PERL_SYS_INIT3 X<PERL_SYS_INIT3>,
@@ -5882,7 +6004,7 @@ PERL_SYS_TERM X<PERL_SYS_TERM>
=item Functions in file pp_ctl.c
-find_runcv X<find_runcv>
+caller_cx X<caller_cx>, find_runcv X<find_runcv>
=item Functions in file pp_pack.c
@@ -5892,6 +6014,14 @@ packlist X<packlist>, unpackstring X<unpackstring>
setdefout X<setdefout>
+=item Functions in file utf8.h
+
+ibcmp_utf8 X<ibcmp_utf8>
+
+=item Functions in file util.h
+
+ibcmp X<ibcmp>, ibcmp_locale X<ibcmp_locale>
+
=item Global Variables
PL_keyword_plugin X<PL_keyword_plugin>
@@ -5913,38 +6043,45 @@ Nullsv X<Nullsv>
get_hv X<get_hv>, HEf_SVKEY X<HEf_SVKEY>, HeHASH X<HeHASH>, HeKEY X<HeKEY>,
HeKLEN X<HeKLEN>, HePV X<HePV>, HeSVKEY X<HeSVKEY>, HeSVKEY_force
X<HeSVKEY_force>, HeSVKEY_set X<HeSVKEY_set>, HeUTF8 X<HeUTF8>, HeVAL
-X<HeVAL>, HvNAME X<HvNAME>, hv_assert X<hv_assert>, hv_clear X<hv_clear>,
-hv_clear_placeholders X<hv_clear_placeholders>, hv_delete X<hv_delete>,
-hv_delete_ent X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent
-X<hv_exists_ent>, hv_fetch X<hv_fetch>, hv_fetchs X<hv_fetchs>,
-hv_fetch_ent X<hv_fetch_ent>, hv_iterinit X<hv_iterinit>, hv_iterkey
-X<hv_iterkey>, hv_iterkeysv X<hv_iterkeysv>, hv_iternext X<hv_iternext>,
-hv_iternextsv X<hv_iternextsv>, hv_iternext_flags X<hv_iternext_flags>,
-hv_iterval X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>,
-hv_store X<hv_store>, hv_stores X<hv_stores>, hv_store_ent X<hv_store_ent>,
-hv_undef X<hv_undef>, newHV X<newHV>
+X<HeVAL>, HvENAME X<HvENAME>, HvNAME X<HvNAME>, hv_assert X<hv_assert>,
+hv_clear X<hv_clear>, hv_clear_placeholders X<hv_clear_placeholders>,
+hv_copy_hints_hv X<hv_copy_hints_hv>, hv_delete X<hv_delete>, hv_delete_ent
+X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent X<hv_exists_ent>,
+hv_fetch X<hv_fetch>, hv_fetchs X<hv_fetchs>, hv_fetch_ent X<hv_fetch_ent>,
+hv_fill X<hv_fill>, hv_iterinit X<hv_iterinit>, hv_iterkey X<hv_iterkey>,
+hv_iterkeysv X<hv_iterkeysv>, hv_iternext X<hv_iternext>, hv_iternextsv
+X<hv_iternextsv>, hv_iternext_flags X<hv_iternext_flags>, hv_iterval
+X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>, hv_store
+X<hv_store>, hv_stores X<hv_stores>, hv_store_ent X<hv_store_ent>, hv_undef
+X<hv_undef>, newHV X<newHV>
=item Lexer interface
lex_bufutf8 X<lex_bufutf8>, lex_discard_to X<lex_discard_to>,
lex_grow_linestr X<lex_grow_linestr>, lex_next_chunk X<lex_next_chunk>,
lex_peek_unichar X<lex_peek_unichar>, lex_read_space X<lex_read_space>,
-lex_read_to X<lex_read_to>, lex_read_unichar X<lex_read_unichar>,
-lex_stuff_pvn X<lex_stuff_pvn>, lex_stuff_sv X<lex_stuff_sv>, lex_unstuff
-X<lex_unstuff>, PL_parser X<PL_parser>, PL_parser-E<gt>bufend
-X<PL_parser-E<gt>bufend>, PL_parser-E<gt>bufptr X<PL_parser-E<gt>bufptr>,
-PL_parser-E<gt>linestart X<PL_parser-E<gt>linestart>,
-PL_parser-E<gt>linestr X<PL_parser-E<gt>linestr>
+lex_read_to X<lex_read_to>, lex_read_unichar X<lex_read_unichar>, lex_start
+X<lex_start>, lex_stuff_pv X<lex_stuff_pv>, lex_stuff_pvn X<lex_stuff_pvn>,
+lex_stuff_pvs X<lex_stuff_pvs>, lex_stuff_sv X<lex_stuff_sv>, lex_unstuff
+X<lex_unstuff>, parse_arithexpr X<parse_arithexpr>, parse_barestmt
+X<parse_barestmt>, parse_block X<parse_block>, parse_fullexpr
+X<parse_fullexpr>, parse_fullstmt X<parse_fullstmt>, parse_label
+X<parse_label>, parse_listexpr X<parse_listexpr>, parse_stmtseq
+X<parse_stmtseq>, parse_termexpr X<parse_termexpr>, PL_parser X<PL_parser>,
+PL_parser-E<gt>bufend X<PL_parser-E<gt>bufend>, PL_parser-E<gt>bufptr
+X<PL_parser-E<gt>bufptr>, PL_parser-E<gt>linestart
+X<PL_parser-E<gt>linestart>, PL_parser-E<gt>linestr
+X<PL_parser-E<gt>linestr>
=item Magical Functions
-mg_clear X<mg_clear>, mg_copy X<mg_copy>, mg_find X<mg_find>, mg_free
-X<mg_free>, mg_get X<mg_get>, mg_length X<mg_length>, mg_magical
-X<mg_magical>, mg_set X<mg_set>, SvGETMAGIC X<SvGETMAGIC>, SvLOCK
-X<SvLOCK>, SvSETMAGIC X<SvSETMAGIC>, SvSetMagicSV X<SvSetMagicSV>,
-SvSetMagicSV_nosteal X<SvSetMagicSV_nosteal>, SvSetSV X<SvSetSV>,
-SvSetSV_nosteal X<SvSetSV_nosteal>, SvSHARE X<SvSHARE>, SvUNLOCK
-X<SvUNLOCK>
+mg_clear X<mg_clear>, mg_copy X<mg_copy>, mg_find X<mg_find>, mg_findext
+X<mg_findext>, mg_free X<mg_free>, mg_free_type X<mg_free_type>, mg_get
+X<mg_get>, mg_length X<mg_length>, mg_magical X<mg_magical>, mg_set
+X<mg_set>, SvGETMAGIC X<SvGETMAGIC>, SvLOCK X<SvLOCK>, SvSETMAGIC
+X<SvSETMAGIC>, SvSetMagicSV X<SvSetMagicSV>, SvSetMagicSV_nosteal
+X<SvSetMagicSV_nosteal>, SvSetSV X<SvSetSV>, SvSetSV_nosteal
+X<SvSetSV_nosteal>, SvSHARE X<SvSHARE>, SvUNLOCK X<SvUNLOCK>
=item Memory Management
@@ -5953,20 +6090,22 @@ Newxc X<Newxc>, Newxz X<Newxz>, Poison X<Poison>, PoisonFree X<PoisonFree>,
PoisonNew X<PoisonNew>, PoisonWith X<PoisonWith>, Renew X<Renew>, Renewc
X<Renewc>, Safefree X<Safefree>, savepv X<savepv>, savepvn X<savepvn>,
savepvs X<savepvs>, savesharedpv X<savesharedpv>, savesharedpvn
-X<savesharedpvn>, savesvpv X<savesvpv>, StructCopy X<StructCopy>, Zero
+X<savesharedpvn>, savesharedpvs X<savesharedpvs>, savesharedsvpv
+X<savesharedsvpv>, savesvpv X<savesvpv>, StructCopy X<StructCopy>, Zero
X<Zero>, ZeroD X<ZeroD>
=item Miscellaneous Functions
-fbm_compile X<fbm_compile>, fbm_instr X<fbm_instr>, form X<form>, getcwd_sv
-X<getcwd_sv>, my_snprintf X<my_snprintf>, my_sprintf X<my_sprintf>,
-my_vsnprintf X<my_vsnprintf>, new_version X<new_version>, prescan_version
-X<prescan_version>, scan_version X<scan_version>, strEQ X<strEQ>, strGE
-X<strGE>, strGT X<strGT>, strLE X<strLE>, strLT X<strLT>, strNE X<strNE>,
-strnEQ X<strnEQ>, strnNE X<strnNE>, sv_destroyable X<sv_destroyable>,
-sv_nosharing X<sv_nosharing>, upg_version X<upg_version>, vcmp X<vcmp>,
-vnormal X<vnormal>, vnumify X<vnumify>, vstringify X<vstringify>, vverify
-X<vverify>
+fbm_compile X<fbm_compile>, fbm_instr X<fbm_instr>, foldEQ X<foldEQ>,
+foldEQ_locale X<foldEQ_locale>, form X<form>, getcwd_sv X<getcwd_sv>, mess
+X<mess>, mess_sv X<mess_sv>, my_snprintf X<my_snprintf>, my_sprintf
+X<my_sprintf>, my_vsnprintf X<my_vsnprintf>, new_version X<new_version>,
+prescan_version X<prescan_version>, scan_version X<scan_version>, strEQ
+X<strEQ>, strGE X<strGE>, strGT X<strGT>, strLE X<strLE>, strLT X<strLT>,
+strNE X<strNE>, strnEQ X<strnEQ>, strnNE X<strnNE>, sv_destroyable
+X<sv_destroyable>, sv_nosharing X<sv_nosharing>, upg_version
+X<upg_version>, vcmp X<vcmp>, vmess X<vmess>, vnormal X<vnormal>, vnumify
+X<vnumify>, vstringify X<vstringify>, vverify X<vverify>
=item MRO Functions
@@ -5985,19 +6124,34 @@ grok_numeric_radix X<grok_numeric_radix>, grok_oct X<grok_oct>,
Perl_signbit X<Perl_signbit>, scan_bin X<scan_bin>, scan_hex X<scan_hex>,
scan_oct X<scan_oct>
-=item Optree Manipulation Functions
+=item Optree construction
-cv_const_sv X<cv_const_sv>, newCONSTSUB X<newCONSTSUB>, newXS X<newXS>
+newASSIGNOP X<newASSIGNOP>, newBINOP X<newBINOP>, newCONDOP X<newCONDOP>,
+newFOROP X<newFOROP>, newGIVENOP X<newGIVENOP>, newGVOP X<newGVOP>,
+newLISTOP X<newLISTOP>, newLOGOP X<newLOGOP>, newLOOPEX X<newLOOPEX>,
+newLOOPOP X<newLOOPOP>, newNULLLIST X<newNULLLIST>, newOP X<newOP>,
+newPADOP X<newPADOP>, newPMOP X<newPMOP>, newPVOP X<newPVOP>, newRANGE
+X<newRANGE>, newSLICEOP X<newSLICEOP>, newSTATEOP X<newSTATEOP>, newSVOP
+X<newSVOP>, newUNOP X<newUNOP>, newWHENOP X<newWHENOP>, newWHILEOP
+X<newWHILEOP>
-=item Pad Data Structures
+=item Optree Manipulation Functions
-pad_findmy X<pad_findmy>, pad_sv X<pad_sv>
+ck_entersub_args_list X<ck_entersub_args_list>, ck_entersub_args_proto
+X<ck_entersub_args_proto>, ck_entersub_args_proto_or_list
+X<ck_entersub_args_proto_or_list>, cv_const_sv X<cv_const_sv>,
+cv_get_call_checker X<cv_get_call_checker>, cv_set_call_checker
+X<cv_set_call_checker>, LINKLIST X<LINKLIST>, newCONSTSUB X<newCONSTSUB>,
+newXS X<newXS>, op_append_elem X<op_append_elem>, op_append_list
+X<op_append_list>, OP_CLASS X<OP_CLASS>, OP_DESC X<OP_DESC>, op_linklist
+X<op_linklist>, op_lvalue X<op_lvalue>, OP_NAME X<OP_NAME>, op_prepend_elem
+X<op_prepend_elem>, op_scope X<op_scope>, rv2cv_op_cv X<rv2cv_op_cv>
=item Per-Interpreter Variables
PL_modglobal X<PL_modglobal>, PL_na X<PL_na>, PL_opfreehook
-X<PL_opfreehook>, PL_sv_no X<PL_sv_no>, PL_sv_undef X<PL_sv_undef>,
-PL_sv_yes X<PL_sv_yes>
+X<PL_opfreehook>, PL_peepp X<PL_peepp>, PL_rpeepp X<PL_rpeepp>, PL_sv_no
+X<PL_sv_no>, PL_sv_undef X<PL_sv_undef>, PL_sv_yes X<PL_sv_yes>
=item REGEXP Functions
@@ -6046,34 +6200,36 @@ SvIVx X<SvIVx>, SvIV_nomg X<SvIV_nomg>, SvIV_set X<SvIV_set>, SvLEN
X<SvLEN>, SvLEN_set X<SvLEN_set>, SvMAGIC_set X<SvMAGIC_set>, SvNIOK
X<SvNIOK>, SvNIOKp X<SvNIOKp>, SvNIOK_off X<SvNIOK_off>, SvNOK X<SvNOK>,
SvNOKp X<SvNOKp>, SvNOK_off X<SvNOK_off>, SvNOK_on X<SvNOK_on>, SvNOK_only
-X<SvNOK_only>, SvNV X<SvNV>, SvNVX X<SvNVX>, SvNVx X<SvNVx>, SvNV_set
-X<SvNV_set>, SvOK X<SvOK>, SvOOK X<SvOOK>, SvOOK_offset X<SvOOK_offset>,
-SvPOK X<SvPOK>, SvPOKp X<SvPOKp>, SvPOK_off X<SvPOK_off>, SvPOK_on
-X<SvPOK_on>, SvPOK_only X<SvPOK_only>, SvPOK_only_UTF8 X<SvPOK_only_UTF8>,
-SvPV X<SvPV>, SvPVbyte X<SvPVbyte>, SvPVbytex X<SvPVbytex>, SvPVbytex_force
-X<SvPVbytex_force>, SvPVbyte_force X<SvPVbyte_force>, SvPVbyte_nolen
-X<SvPVbyte_nolen>, SvPVutf8 X<SvPVutf8>, SvPVutf8x X<SvPVutf8x>,
-SvPVutf8x_force X<SvPVutf8x_force>, SvPVutf8_force X<SvPVutf8_force>,
-SvPVutf8_nolen X<SvPVutf8_nolen>, SvPVX X<SvPVX>, SvPVx X<SvPVx>,
-SvPV_force X<SvPV_force>, SvPV_force_nomg X<SvPV_force_nomg>, SvPV_nolen
-X<SvPV_nolen>, SvPV_nomg X<SvPV_nomg>, SvPV_set X<SvPV_set>, SvREFCNT
-X<SvREFCNT>, SvREFCNT_dec X<SvREFCNT_dec>, SvREFCNT_inc X<SvREFCNT_inc>,
-SvREFCNT_inc_NN X<SvREFCNT_inc_NN>, SvREFCNT_inc_simple
-X<SvREFCNT_inc_simple>, SvREFCNT_inc_simple_NN X<SvREFCNT_inc_simple_NN>,
-SvREFCNT_inc_simple_void X<SvREFCNT_inc_simple_void>,
-SvREFCNT_inc_simple_void_NN X<SvREFCNT_inc_simple_void_NN>,
-SvREFCNT_inc_void X<SvREFCNT_inc_void>, SvREFCNT_inc_void_NN
-X<SvREFCNT_inc_void_NN>, SvROK X<SvROK>, SvROK_off X<SvROK_off>, SvROK_on
-X<SvROK_on>, SvRV X<SvRV>, SvRV_set X<SvRV_set>, SvSTASH X<SvSTASH>,
-SvSTASH_set X<SvSTASH_set>, SvTAINT X<SvTAINT>, SvTAINTED X<SvTAINTED>,
-SvTAINTED_off X<SvTAINTED_off>, SvTAINTED_on X<SvTAINTED_on>, SvTRUE
-X<SvTRUE>, SvTYPE X<SvTYPE>, SvUOK X<SvUOK>, SvUPGRADE X<SvUPGRADE>, SvUTF8
-X<SvUTF8>, SvUTF8_off X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>,
-SvUVX X<SvUVX>, SvUVx X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set
-X<SvUV_set>, SvVOK X<SvVOK>, sv_catpvn_nomg X<sv_catpvn_nomg>,
-sv_catsv_nomg X<sv_catsv_nomg>, sv_derived_from X<sv_derived_from>, sv_does
-X<sv_does>, sv_report_used X<sv_report_used>, sv_setsv_nomg
-X<sv_setsv_nomg>, sv_utf8_upgrade_nomg X<sv_utf8_upgrade_nomg>
+X<SvNOK_only>, SvNV X<SvNV>, SvNVX X<SvNVX>, SvNVx X<SvNVx>, SvNV_nomg
+X<SvNV_nomg>, SvNV_set X<SvNV_set>, SvOK X<SvOK>, SvOOK X<SvOOK>,
+SvOOK_offset X<SvOOK_offset>, SvPOK X<SvPOK>, SvPOKp X<SvPOKp>, SvPOK_off
+X<SvPOK_off>, SvPOK_on X<SvPOK_on>, SvPOK_only X<SvPOK_only>,
+SvPOK_only_UTF8 X<SvPOK_only_UTF8>, SvPV X<SvPV>, SvPVbyte X<SvPVbyte>,
+SvPVbytex X<SvPVbytex>, SvPVbytex_force X<SvPVbytex_force>, SvPVbyte_force
+X<SvPVbyte_force>, SvPVbyte_nolen X<SvPVbyte_nolen>, SvPVutf8 X<SvPVutf8>,
+SvPVutf8x X<SvPVutf8x>, SvPVutf8x_force X<SvPVutf8x_force>, SvPVutf8_force
+X<SvPVutf8_force>, SvPVutf8_nolen X<SvPVutf8_nolen>, SvPVX X<SvPVX>, SvPVx
+X<SvPVx>, SvPV_force X<SvPV_force>, SvPV_force_nomg X<SvPV_force_nomg>,
+SvPV_nolen X<SvPV_nolen>, SvPV_nomg X<SvPV_nomg>, SvPV_nomg_nolen
+X<SvPV_nomg_nolen>, SvPV_set X<SvPV_set>, SvREFCNT X<SvREFCNT>,
+SvREFCNT_dec X<SvREFCNT_dec>, SvREFCNT_inc X<SvREFCNT_inc>, SvREFCNT_inc_NN
+X<SvREFCNT_inc_NN>, SvREFCNT_inc_simple X<SvREFCNT_inc_simple>,
+SvREFCNT_inc_simple_NN X<SvREFCNT_inc_simple_NN>, SvREFCNT_inc_simple_void
+X<SvREFCNT_inc_simple_void>, SvREFCNT_inc_simple_void_NN
+X<SvREFCNT_inc_simple_void_NN>, SvREFCNT_inc_void X<SvREFCNT_inc_void>,
+SvREFCNT_inc_void_NN X<SvREFCNT_inc_void_NN>, SvROK X<SvROK>, SvROK_off
+X<SvROK_off>, SvROK_on X<SvROK_on>, SvRV X<SvRV>, SvRV_set X<SvRV_set>,
+SvSTASH X<SvSTASH>, SvSTASH_set X<SvSTASH_set>, SvTAINT X<SvTAINT>,
+SvTAINTED X<SvTAINTED>, SvTAINTED_off X<SvTAINTED_off>, SvTAINTED_on
+X<SvTAINTED_on>, SvTRUE X<SvTRUE>, SvTRUE_nomg X<SvTRUE_nomg>, SvTYPE
+X<SvTYPE>, SvUOK X<SvUOK>, SvUPGRADE X<SvUPGRADE>, SvUTF8 X<SvUTF8>,
+SvUTF8_off X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>, SvUVX
+X<SvUVX>, SvUVx X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set X<SvUV_set>,
+SvVOK X<SvVOK>, sv_catpvn_nomg X<sv_catpvn_nomg>, sv_catpv_nomg
+X<sv_catpv_nomg>, sv_catsv_nomg X<sv_catsv_nomg>, sv_derived_from
+X<sv_derived_from>, sv_does X<sv_does>, sv_report_used X<sv_report_used>,
+sv_setsv_nomg X<sv_setsv_nomg>, sv_utf8_upgrade_nomg
+X<sv_utf8_upgrade_nomg>
=item SV-Body Allocation
@@ -6082,56 +6238,65 @@ X<newSV>, newSVhek X<newSVhek>, newSViv X<newSViv>, newSVnv X<newSVnv>,
newSVpv X<newSVpv>, newSVpvf X<newSVpvf>, newSVpvn X<newSVpvn>,
newSVpvn_flags X<newSVpvn_flags>, newSVpvn_share X<newSVpvn_share>,
newSVpvs X<newSVpvs>, newSVpvs_flags X<newSVpvs_flags>, newSVpvs_share
-X<newSVpvs_share>, newSVrv X<newSVrv>, newSVsv X<newSVsv>, newSVuv
-X<newSVuv>, newSV_type X<newSV_type>, sv_2bool X<sv_2bool>, sv_2cv
-X<sv_2cv>, sv_2io X<sv_2io>, sv_2iv_flags X<sv_2iv_flags>, sv_2mortal
-X<sv_2mortal>, sv_2nv X<sv_2nv>, sv_2pvbyte X<sv_2pvbyte>, sv_2pvutf8
+X<newSVpvs_share>, newSVpv_share X<newSVpv_share>, newSVrv X<newSVrv>,
+newSVsv X<newSVsv>, newSVuv X<newSVuv>, newSV_type X<newSV_type>, sv_2bool
+X<sv_2bool>, sv_2bool_flags X<sv_2bool_flags>, sv_2cv X<sv_2cv>, sv_2io
+X<sv_2io>, sv_2iv_flags X<sv_2iv_flags>, sv_2mortal X<sv_2mortal>,
+sv_2nv_flags X<sv_2nv_flags>, sv_2pvbyte X<sv_2pvbyte>, sv_2pvutf8
X<sv_2pvutf8>, sv_2pv_flags X<sv_2pv_flags>, sv_2uv_flags X<sv_2uv_flags>,
sv_backoff X<sv_backoff>, sv_bless X<sv_bless>, sv_catpv X<sv_catpv>,
sv_catpvf X<sv_catpvf>, sv_catpvf_mg X<sv_catpvf_mg>, sv_catpvn
X<sv_catpvn>, sv_catpvn_flags X<sv_catpvn_flags>, sv_catpvs X<sv_catpvs>,
+sv_catpvs_flags X<sv_catpvs_flags>, sv_catpvs_mg X<sv_catpvs_mg>,
+sv_catpvs_nomg X<sv_catpvs_nomg>, sv_catpv_flags X<sv_catpv_flags>,
sv_catpv_mg X<sv_catpv_mg>, sv_catsv X<sv_catsv>, sv_catsv_flags
X<sv_catsv_flags>, sv_chop X<sv_chop>, sv_clear X<sv_clear>, sv_cmp
-X<sv_cmp>, sv_cmp_locale X<sv_cmp_locale>, sv_collxfrm X<sv_collxfrm>,
-sv_copypv X<sv_copypv>, sv_dec X<sv_dec>, sv_eq X<sv_eq>,
-sv_force_normal_flags X<sv_force_normal_flags>, sv_free X<sv_free>, sv_gets
-X<sv_gets>, sv_grow X<sv_grow>, sv_inc X<sv_inc>, sv_insert X<sv_insert>,
-sv_insert_flags X<sv_insert_flags>, sv_isa X<sv_isa>, sv_isobject
-X<sv_isobject>, sv_len X<sv_len>, sv_len_utf8 X<sv_len_utf8>, sv_magic
-X<sv_magic>, sv_magicext X<sv_magicext>, sv_mortalcopy X<sv_mortalcopy>,
-sv_newmortal X<sv_newmortal>, sv_newref X<sv_newref>, sv_pos_b2u
-X<sv_pos_b2u>, sv_pos_u2b X<sv_pos_u2b>, sv_pos_u2b_flags
-X<sv_pos_u2b_flags>, sv_pvbyten_force X<sv_pvbyten_force>, sv_pvn_force
-X<sv_pvn_force>, sv_pvn_force_flags X<sv_pvn_force_flags>, sv_pvutf8n_force
+X<sv_cmp>, sv_cmp_flags X<sv_cmp_flags>, sv_cmp_locale X<sv_cmp_locale>,
+sv_cmp_locale_flags X<sv_cmp_locale_flags>, sv_collxfrm X<sv_collxfrm>,
+sv_collxfrm_flags X<sv_collxfrm_flags>, sv_copypv X<sv_copypv>, sv_dec
+X<sv_dec>, sv_dec_nomg X<sv_dec_nomg>, sv_eq X<sv_eq>, sv_eq_flags
+X<sv_eq_flags>, sv_force_normal_flags X<sv_force_normal_flags>, sv_free
+X<sv_free>, sv_gets X<sv_gets>, sv_grow X<sv_grow>, sv_inc X<sv_inc>,
+sv_inc_nomg X<sv_inc_nomg>, sv_insert X<sv_insert>, sv_insert_flags
+X<sv_insert_flags>, sv_isa X<sv_isa>, sv_isobject X<sv_isobject>, sv_len
+X<sv_len>, sv_len_utf8 X<sv_len_utf8>, sv_magic X<sv_magic>, sv_magicext
+X<sv_magicext>, sv_mortalcopy X<sv_mortalcopy>, sv_newmortal
+X<sv_newmortal>, sv_newref X<sv_newref>, sv_pos_b2u X<sv_pos_b2u>,
+sv_pos_u2b X<sv_pos_u2b>, sv_pos_u2b_flags X<sv_pos_u2b_flags>,
+sv_pvbyten_force X<sv_pvbyten_force>, sv_pvn_force X<sv_pvn_force>,
+sv_pvn_force_flags X<sv_pvn_force_flags>, sv_pvutf8n_force
X<sv_pvutf8n_force>, sv_reftype X<sv_reftype>, sv_replace X<sv_replace>,
sv_reset X<sv_reset>, sv_rvweaken X<sv_rvweaken>, sv_setiv X<sv_setiv>,
sv_setiv_mg X<sv_setiv_mg>, sv_setnv X<sv_setnv>, sv_setnv_mg
X<sv_setnv_mg>, sv_setpv X<sv_setpv>, sv_setpvf X<sv_setpvf>, sv_setpvf_mg
X<sv_setpvf_mg>, sv_setpviv X<sv_setpviv>, sv_setpviv_mg X<sv_setpviv_mg>,
sv_setpvn X<sv_setpvn>, sv_setpvn_mg X<sv_setpvn_mg>, sv_setpvs
-X<sv_setpvs>, sv_setpv_mg X<sv_setpv_mg>, sv_setref_iv X<sv_setref_iv>,
-sv_setref_nv X<sv_setref_nv>, sv_setref_pv X<sv_setref_pv>, sv_setref_pvn
-X<sv_setref_pvn>, sv_setref_uv X<sv_setref_uv>, sv_setsv X<sv_setsv>,
+X<sv_setpvs>, sv_setpvs_mg X<sv_setpvs_mg>, sv_setpv_mg X<sv_setpv_mg>,
+sv_setref_iv X<sv_setref_iv>, sv_setref_nv X<sv_setref_nv>, sv_setref_pv
+X<sv_setref_pv>, sv_setref_pvn X<sv_setref_pvn>, sv_setref_pvs
+X<sv_setref_pvs>, sv_setref_uv X<sv_setref_uv>, sv_setsv X<sv_setsv>,
sv_setsv_flags X<sv_setsv_flags>, sv_setsv_mg X<sv_setsv_mg>, sv_setuv
X<sv_setuv>, sv_setuv_mg X<sv_setuv_mg>, sv_tainted X<sv_tainted>, sv_true
-X<sv_true>, sv_unmagic X<sv_unmagic>, sv_unref_flags X<sv_unref_flags>,
-sv_untaint X<sv_untaint>, sv_upgrade X<sv_upgrade>, sv_usepvn_flags
-X<sv_usepvn_flags>, sv_utf8_decode X<sv_utf8_decode>, sv_utf8_downgrade
-X<sv_utf8_downgrade>, sv_utf8_encode X<sv_utf8_encode>, sv_utf8_upgrade
-X<sv_utf8_upgrade>, sv_utf8_upgrade_flags X<sv_utf8_upgrade_flags>,
-sv_utf8_upgrade_nomg X<sv_utf8_upgrade_nomg>, sv_vcatpvf X<sv_vcatpvf>,
-sv_vcatpvfn X<sv_vcatpvfn>, sv_vcatpvf_mg X<sv_vcatpvf_mg>, sv_vsetpvf
-X<sv_vsetpvf>, sv_vsetpvfn X<sv_vsetpvfn>, sv_vsetpvf_mg X<sv_vsetpvf_mg>
+X<sv_true>, sv_unmagic X<sv_unmagic>, sv_unmagicext X<sv_unmagicext>,
+sv_unref_flags X<sv_unref_flags>, sv_untaint X<sv_untaint>, sv_upgrade
+X<sv_upgrade>, sv_usepvn_flags X<sv_usepvn_flags>, sv_utf8_decode
+X<sv_utf8_decode>, sv_utf8_downgrade X<sv_utf8_downgrade>, sv_utf8_encode
+X<sv_utf8_encode>, sv_utf8_upgrade X<sv_utf8_upgrade>,
+sv_utf8_upgrade_flags X<sv_utf8_upgrade_flags>, sv_utf8_upgrade_nomg
+X<sv_utf8_upgrade_nomg>, sv_vcatpvf X<sv_vcatpvf>, sv_vcatpvfn
+X<sv_vcatpvfn>, sv_vcatpvf_mg X<sv_vcatpvf_mg>, sv_vsetpvf X<sv_vsetpvf>,
+sv_vsetpvfn X<sv_vsetpvfn>, sv_vsetpvf_mg X<sv_vsetpvf_mg>
=item Unicode Support
-bytes_from_utf8 X<bytes_from_utf8>, bytes_to_utf8 X<bytes_to_utf8>,
-ibcmp_utf8 X<ibcmp_utf8>, is_ascii_string X<is_ascii_string>, is_utf8_char
-X<is_utf8_char>, is_utf8_string X<is_utf8_string>, is_utf8_string_loc
-X<is_utf8_string_loc>, is_utf8_string_loclen X<is_utf8_string_loclen>,
-pv_uni_display X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>,
-sv_recode_to_utf8 X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>,
-to_utf8_case X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
+bytes_cmp_utf8 X<bytes_cmp_utf8>, bytes_from_utf8 X<bytes_from_utf8>,
+bytes_to_utf8 X<bytes_to_utf8>, foldEQ_utf8 X<foldEQ_utf8>, is_ascii_string
+X<is_ascii_string>, is_utf8_char X<is_utf8_char>, is_utf8_string
+X<is_utf8_string>, is_utf8_string_loc X<is_utf8_string_loc>,
+is_utf8_string_loclen X<is_utf8_string_loclen>, pv_uni_display
+X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>, sv_recode_to_utf8
+X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>, to_utf8_case
+X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
X<to_utf8_lower>, to_utf8_title X<to_utf8_title>, to_utf8_upper
X<to_utf8_upper>, utf8n_to_uvchr X<utf8n_to_uvchr>, utf8n_to_uvuni
X<utf8n_to_uvuni>, utf8_distance X<utf8_distance>, utf8_hop X<utf8_hop>,
@@ -6144,12 +6309,15 @@ X<uvchr_to_utf8>, uvuni_to_utf8_flags X<uvuni_to_utf8_flags>
ax X<ax>, CLASS X<CLASS>, dAX X<dAX>, dAXMARK X<dAXMARK>, dITEMS X<dITEMS>,
dUNDERBAR X<dUNDERBAR>, dXSARGS X<dXSARGS>, dXSI32 X<dXSI32>, items
X<items>, ix X<ix>, newXSproto X<newXSproto>, RETVAL X<RETVAL>, ST X<ST>,
-THIS X<THIS>, UNDERBAR X<UNDERBAR>, XS X<XS>, XS_VERSION X<XS_VERSION>,
-XS_VERSION_BOOTCHECK X<XS_VERSION_BOOTCHECK>
+THIS X<THIS>, UNDERBAR X<UNDERBAR>, XS X<XS>, XS_APIVERSION_BOOTCHECK
+X<XS_APIVERSION_BOOTCHECK>, XS_VERSION X<XS_VERSION>, XS_VERSION_BOOTCHECK
+X<XS_VERSION_BOOTCHECK>
=item Warning and Dieing
-croak X<croak>, warn X<warn>
+croak X<croak>, croak_no_modify X<croak_no_modify>, croak_sv X<croak_sv>,
+die X<die>, die_sv X<die_sv>, vcroak X<vcroak>, vwarn X<vwarn>, warn
+X<warn>, warn_sv X<warn_sv>
=item Undocumented functions
@@ -6166,21 +6334,23 @@ PerlIO_setlinebuf X<PerlIO_setlinebuf>, PerlIO_stderr X<PerlIO_stderr>,
PerlIO_stdin X<PerlIO_stdin>, PerlIO_stdout X<PerlIO_stdout>, PerlIO_tell
X<PerlIO_tell>, PerlIO_unread X<PerlIO_unread>, PerlIO_write
X<PerlIO_write>, Slab_Alloc X<Slab_Alloc>, Slab_Free X<Slab_Free>,
-amagic_call X<amagic_call>, any_dup X<any_dup>, apply_attrs_string
+_to_uni_fold_flags X<_to_uni_fold_flags>, _to_utf8_fold_flags
+X<_to_utf8_fold_flags>, amagic_call X<amagic_call>, amagic_deref_call
+X<amagic_deref_call>, any_dup X<any_dup>, apply_attrs_string
X<apply_attrs_string>, atfork_lock X<atfork_lock>, atfork_unlock
X<atfork_unlock>, av_arylen_p X<av_arylen_p>, av_iter_p X<av_iter_p>,
block_gimme X<block_gimme>, call_atexit X<call_atexit>, call_list
X<call_list>, calloc X<calloc>, cast_i32 X<cast_i32>, cast_iv X<cast_iv>,
cast_ulong X<cast_ulong>, cast_uv X<cast_uv>, ck_warner X<ck_warner>,
ck_warner_d X<ck_warner_d>, ckwarn X<ckwarn>, ckwarn_d X<ckwarn_d>,
-croak_nocontext X<croak_nocontext>, csighandler X<csighandler>,
-custom_op_desc X<custom_op_desc>, custom_op_name X<custom_op_name>, cx_dump
+clone_params_del X<clone_params_del>, clone_params_new X<clone_params_new>,
+croak_nocontext X<croak_nocontext>, csighandler X<csighandler>, cx_dump
X<cx_dump>, cx_dup X<cx_dup>, cxinc X<cxinc>, deb X<deb>, deb_nocontext
X<deb_nocontext>, debop X<debop>, debprofdump X<debprofdump>, debstack
X<debstack>, debstackptrs X<debstackptrs>, delimcpy X<delimcpy>,
-despatch_signals X<despatch_signals>, die X<die>, die_nocontext
-X<die_nocontext>, dirp_dup X<dirp_dup>, do_aspawn X<do_aspawn>, do_binmode
-X<do_binmode>, do_close X<do_close>, do_gv_dump X<do_gv_dump>, do_gvgv_dump
+despatch_signals X<despatch_signals>, die_nocontext X<die_nocontext>,
+dirp_dup X<dirp_dup>, do_aspawn X<do_aspawn>, do_binmode X<do_binmode>,
+do_close X<do_close>, do_gv_dump X<do_gv_dump>, do_gvgv_dump
X<do_gvgv_dump>, do_hv_dump X<do_hv_dump>, do_join X<do_join>,
do_magic_dump X<do_magic_dump>, do_op_dump X<do_op_dump>, do_open
X<do_open>, do_open9 X<do_open9>, do_openn X<do_openn>, do_pmop_dump
@@ -6192,13 +6362,15 @@ X<dump_fds>, dump_form X<dump_form>, dump_indent X<dump_indent>,
dump_mstats X<dump_mstats>, dump_packsubs X<dump_packsubs>, dump_sub
X<dump_sub>, dump_vindent X<dump_vindent>, fetch_cop_label
X<fetch_cop_label>, filter_add X<filter_add>, filter_del X<filter_del>,
-filter_read X<filter_read>, find_rundefsvoffset X<find_rundefsvoffset>,
-form_nocontext X<form_nocontext>, fp_dup X<fp_dup>, fprintf_nocontext
-X<fprintf_nocontext>, free_global_struct X<free_global_struct>, free_tmps
-X<free_tmps>, get_context X<get_context>, get_mstats X<get_mstats>,
-get_op_descs X<get_op_descs>, get_op_names X<get_op_names>, get_ppaddr
-X<get_ppaddr>, get_vtbl X<get_vtbl>, gp_dup X<gp_dup>, gp_free X<gp_free>,
-gp_ref X<gp_ref>, gv_AVadd X<gv_AVadd>, gv_HVadd X<gv_HVadd>, gv_IOadd
+filter_read X<filter_read>, find_rundefsv X<find_rundefsv>,
+find_rundefsvoffset X<find_rundefsvoffset>, foldEQ_latin1 X<foldEQ_latin1>,
+foldEQ_utf8_flags X<foldEQ_utf8_flags>, form_nocontext X<form_nocontext>,
+fp_dup X<fp_dup>, fprintf_nocontext X<fprintf_nocontext>,
+free_global_struct X<free_global_struct>, free_tmps X<free_tmps>,
+get_context X<get_context>, get_mstats X<get_mstats>, get_op_descs
+X<get_op_descs>, get_op_names X<get_op_names>, get_ppaddr X<get_ppaddr>,
+get_vtbl X<get_vtbl>, gp_dup X<gp_dup>, gp_free X<gp_free>, gp_ref
+X<gp_ref>, gv_AVadd X<gv_AVadd>, gv_HVadd X<gv_HVadd>, gv_IOadd
X<gv_IOadd>, gv_SVadd X<gv_SVadd>, gv_add_by_type X<gv_add_by_type>,
gv_autoload4 X<gv_autoload4>, gv_check X<gv_check>, gv_dump X<gv_dump>,
gv_efullname X<gv_efullname>, gv_efullname3 X<gv_efullname3>, gv_efullname4
@@ -6214,36 +6386,36 @@ hv_eiter_set X<hv_eiter_set>, hv_free_ent X<hv_free_ent>, hv_ksplit
X<hv_ksplit>, hv_name_set X<hv_name_set>, hv_placeholders_get
X<hv_placeholders_get>, hv_placeholders_p X<hv_placeholders_p>,
hv_placeholders_set X<hv_placeholders_set>, hv_riter_p X<hv_riter_p>,
-hv_riter_set X<hv_riter_set>, hv_store_flags X<hv_store_flags>, ibcmp
-X<ibcmp>, ibcmp_locale X<ibcmp_locale>, init_global_struct
-X<init_global_struct>, init_i18nl10n X<init_i18nl10n>, init_i18nl14n
-X<init_i18nl14n>, init_stacks X<init_stacks>, init_tm X<init_tm>, instr
-X<instr>, is_lvalue_sub X<is_lvalue_sub>, is_uni_alnum X<is_uni_alnum>,
-is_uni_alnum_lc X<is_uni_alnum_lc>, is_uni_alpha X<is_uni_alpha>,
-is_uni_alpha_lc X<is_uni_alpha_lc>, is_uni_ascii X<is_uni_ascii>,
-is_uni_ascii_lc X<is_uni_ascii_lc>, is_uni_cntrl X<is_uni_cntrl>,
-is_uni_cntrl_lc X<is_uni_cntrl_lc>, is_uni_digit X<is_uni_digit>,
-is_uni_digit_lc X<is_uni_digit_lc>, is_uni_graph X<is_uni_graph>,
-is_uni_graph_lc X<is_uni_graph_lc>, is_uni_idfirst X<is_uni_idfirst>,
-is_uni_idfirst_lc X<is_uni_idfirst_lc>, is_uni_lower X<is_uni_lower>,
-is_uni_lower_lc X<is_uni_lower_lc>, is_uni_print X<is_uni_print>,
-is_uni_print_lc X<is_uni_print_lc>, is_uni_punct X<is_uni_punct>,
-is_uni_punct_lc X<is_uni_punct_lc>, is_uni_space X<is_uni_space>,
-is_uni_space_lc X<is_uni_space_lc>, is_uni_upper X<is_uni_upper>,
-is_uni_upper_lc X<is_uni_upper_lc>, is_uni_xdigit X<is_uni_xdigit>,
-is_uni_xdigit_lc X<is_uni_xdigit_lc>, is_utf8_alnum X<is_utf8_alnum>,
-is_utf8_alpha X<is_utf8_alpha>, is_utf8_ascii X<is_utf8_ascii>,
-is_utf8_cntrl X<is_utf8_cntrl>, is_utf8_digit X<is_utf8_digit>,
-is_utf8_graph X<is_utf8_graph>, is_utf8_idcont X<is_utf8_idcont>,
-is_utf8_idfirst X<is_utf8_idfirst>, is_utf8_lower X<is_utf8_lower>,
-is_utf8_mark X<is_utf8_mark>, is_utf8_perl_space X<is_utf8_perl_space>,
-is_utf8_perl_word X<is_utf8_perl_word>, is_utf8_posix_digit
-X<is_utf8_posix_digit>, is_utf8_print X<is_utf8_print>, is_utf8_punct
-X<is_utf8_punct>, is_utf8_space X<is_utf8_space>, is_utf8_upper
-X<is_utf8_upper>, is_utf8_xdigit X<is_utf8_xdigit>, leave_scope
-X<leave_scope>, load_module_nocontext X<load_module_nocontext>, magic_dump
-X<magic_dump>, malloc X<malloc>, markstack_grow X<markstack_grow>, mess
-X<mess>, mess_nocontext X<mess_nocontext>, mfree X<mfree>, mg_dup
+hv_riter_set X<hv_riter_set>, hv_store_flags X<hv_store_flags>,
+init_global_struct X<init_global_struct>, init_i18nl10n X<init_i18nl10n>,
+init_i18nl14n X<init_i18nl14n>, init_stacks X<init_stacks>, init_tm
+X<init_tm>, instr X<instr>, is_lvalue_sub X<is_lvalue_sub>, is_uni_alnum
+X<is_uni_alnum>, is_uni_alnum_lc X<is_uni_alnum_lc>, is_uni_alpha
+X<is_uni_alpha>, is_uni_alpha_lc X<is_uni_alpha_lc>, is_uni_ascii
+X<is_uni_ascii>, is_uni_ascii_lc X<is_uni_ascii_lc>, is_uni_cntrl
+X<is_uni_cntrl>, is_uni_cntrl_lc X<is_uni_cntrl_lc>, is_uni_digit
+X<is_uni_digit>, is_uni_digit_lc X<is_uni_digit_lc>, is_uni_graph
+X<is_uni_graph>, is_uni_graph_lc X<is_uni_graph_lc>, is_uni_idfirst
+X<is_uni_idfirst>, is_uni_idfirst_lc X<is_uni_idfirst_lc>, is_uni_lower
+X<is_uni_lower>, is_uni_lower_lc X<is_uni_lower_lc>, is_uni_print
+X<is_uni_print>, is_uni_print_lc X<is_uni_print_lc>, is_uni_punct
+X<is_uni_punct>, is_uni_punct_lc X<is_uni_punct_lc>, is_uni_space
+X<is_uni_space>, is_uni_space_lc X<is_uni_space_lc>, is_uni_upper
+X<is_uni_upper>, is_uni_upper_lc X<is_uni_upper_lc>, is_uni_xdigit
+X<is_uni_xdigit>, is_uni_xdigit_lc X<is_uni_xdigit_lc>, is_utf8_alnum
+X<is_utf8_alnum>, is_utf8_alpha X<is_utf8_alpha>, is_utf8_ascii
+X<is_utf8_ascii>, is_utf8_cntrl X<is_utf8_cntrl>, is_utf8_digit
+X<is_utf8_digit>, is_utf8_graph X<is_utf8_graph>, is_utf8_idcont
+X<is_utf8_idcont>, is_utf8_idfirst X<is_utf8_idfirst>, is_utf8_lower
+X<is_utf8_lower>, is_utf8_mark X<is_utf8_mark>, is_utf8_perl_space
+X<is_utf8_perl_space>, is_utf8_perl_word X<is_utf8_perl_word>,
+is_utf8_posix_digit X<is_utf8_posix_digit>, is_utf8_print X<is_utf8_print>,
+is_utf8_punct X<is_utf8_punct>, is_utf8_space X<is_utf8_space>,
+is_utf8_upper X<is_utf8_upper>, is_utf8_xdigit X<is_utf8_xdigit>,
+is_utf8_xidcont X<is_utf8_xidcont>, is_utf8_xidfirst X<is_utf8_xidfirst>,
+leave_scope X<leave_scope>, load_module_nocontext X<load_module_nocontext>,
+magic_dump X<magic_dump>, malloc X<malloc>, markstack_grow
+X<markstack_grow>, mess_nocontext X<mess_nocontext>, mfree X<mfree>, mg_dup
X<mg_dup>, mg_size X<mg_size>, mini_mktime X<mini_mktime>, moreswitches
X<moreswitches>, mro_get_from_name X<mro_get_from_name>,
mro_get_private_data X<mro_get_private_data>, mro_register X<mro_register>,
@@ -6259,37 +6431,29 @@ my_setenv X<my_setenv>, my_socketpair X<my_socketpair>, my_stat X<my_stat>,
my_strftime X<my_strftime>, my_strlcat X<my_strlcat>, my_strlcpy
X<my_strlcpy>, my_swap X<my_swap>, newANONATTRSUB X<newANONATTRSUB>,
newANONHASH X<newANONHASH>, newANONLIST X<newANONLIST>, newANONSUB
-X<newANONSUB>, newASSIGNOP X<newASSIGNOP>, newATTRSUB X<newATTRSUB>,
-newAVREF X<newAVREF>, newBINOP X<newBINOP>, newCONDOP X<newCONDOP>,
-newCVREF X<newCVREF>, newFORM X<newFORM>, newFOROP X<newFOROP>, newGIVENOP
-X<newGIVENOP>, newGVOP X<newGVOP>, newGVREF X<newGVREF>, newGVgen
+X<newANONSUB>, newATTRSUB X<newATTRSUB>, newAVREF X<newAVREF>, newCVREF
+X<newCVREF>, newFORM X<newFORM>, newGVREF X<newGVREF>, newGVgen
X<newGVgen>, newHVREF X<newHVREF>, newHVhv X<newHVhv>, newIO X<newIO>,
-newLISTOP X<newLISTOP>, newLOGOP X<newLOGOP>, newLOOPEX X<newLOOPEX>,
-newLOOPOP X<newLOOPOP>, newMYSUB X<newMYSUB>, newNULLLIST X<newNULLLIST>,
-newOP X<newOP>, newPADOP X<newPADOP>, newPMOP X<newPMOP>, newPROG
-X<newPROG>, newPVOP X<newPVOP>, newRANGE X<newRANGE>, newRV X<newRV>,
-newSLICEOP X<newSLICEOP>, newSTATEOP X<newSTATEOP>, newSUB X<newSUB>,
-newSVOP X<newSVOP>, newSVREF X<newSVREF>, newSVpvf_nocontext
-X<newSVpvf_nocontext>, newUNOP X<newUNOP>, newWHENOP X<newWHENOP>,
-newWHILEOP X<newWHILEOP>, newXS_flags X<newXS_flags>, new_collate
-X<new_collate>, new_ctype X<new_ctype>, new_numeric X<new_numeric>,
-new_stackinfo X<new_stackinfo>, ninstr X<ninstr>, op_dump X<op_dump>,
-op_free X<op_free>, op_null X<op_null>, op_refcnt_lock X<op_refcnt_lock>,
-op_refcnt_unlock X<op_refcnt_unlock>, parser_dup X<parser_dup>,
-perl_alloc_using X<perl_alloc_using>, perl_clone_using X<perl_clone_using>,
-pmop_dump X<pmop_dump>, pop_scope X<pop_scope>, pregcomp X<pregcomp>,
-pregexec X<pregexec>, pregfree X<pregfree>, pregfree2 X<pregfree2>,
-printf_nocontext X<printf_nocontext>, ptr_table_clear X<ptr_table_clear>,
-ptr_table_fetch X<ptr_table_fetch>, ptr_table_free X<ptr_table_free>,
-ptr_table_new X<ptr_table_new>, ptr_table_split X<ptr_table_split>,
-ptr_table_store X<ptr_table_store>, push_scope X<push_scope>, re_compile
-X<re_compile>, re_dup_guts X<re_dup_guts>, re_intuit_start
-X<re_intuit_start>, re_intuit_string X<re_intuit_string>, realloc
-X<realloc>, reentrant_free X<reentrant_free>, reentrant_init
-X<reentrant_init>, reentrant_retry X<reentrant_retry>, reentrant_size
-X<reentrant_size>, ref X<ref>, reg_named_buff_all X<reg_named_buff_all>,
-reg_named_buff_exists X<reg_named_buff_exists>, reg_named_buff_fetch
-X<reg_named_buff_fetch>, reg_named_buff_firstkey
+newMYSUB X<newMYSUB>, newPROG X<newPROG>, newRV X<newRV>, newSUB X<newSUB>,
+newSVREF X<newSVREF>, newSVpvf_nocontext X<newSVpvf_nocontext>, newXS_flags
+X<newXS_flags>, new_collate X<new_collate>, new_ctype X<new_ctype>,
+new_numeric X<new_numeric>, new_stackinfo X<new_stackinfo>, ninstr
+X<ninstr>, op_dump X<op_dump>, op_free X<op_free>, op_null X<op_null>,
+op_refcnt_lock X<op_refcnt_lock>, op_refcnt_unlock X<op_refcnt_unlock>,
+parser_dup X<parser_dup>, perl_alloc_using X<perl_alloc_using>,
+perl_clone_using X<perl_clone_using>, pmop_dump X<pmop_dump>, pop_scope
+X<pop_scope>, pregcomp X<pregcomp>, pregexec X<pregexec>, pregfree
+X<pregfree>, pregfree2 X<pregfree2>, printf_nocontext X<printf_nocontext>,
+ptr_table_clear X<ptr_table_clear>, ptr_table_fetch X<ptr_table_fetch>,
+ptr_table_free X<ptr_table_free>, ptr_table_new X<ptr_table_new>,
+ptr_table_split X<ptr_table_split>, ptr_table_store X<ptr_table_store>,
+push_scope X<push_scope>, re_compile X<re_compile>, re_dup_guts
+X<re_dup_guts>, re_intuit_start X<re_intuit_start>, re_intuit_string
+X<re_intuit_string>, realloc X<realloc>, reentrant_free X<reentrant_free>,
+reentrant_init X<reentrant_init>, reentrant_retry X<reentrant_retry>,
+reentrant_size X<reentrant_size>, ref X<ref>, reg_named_buff_all
+X<reg_named_buff_all>, reg_named_buff_exists X<reg_named_buff_exists>,
+reg_named_buff_fetch X<reg_named_buff_fetch>, reg_named_buff_firstkey
X<reg_named_buff_firstkey>, reg_named_buff_nextkey
X<reg_named_buff_nextkey>, reg_named_buff_scalar X<reg_named_buff_scalar>,
regclass_swash X<regclass_swash>, regdump X<regdump>, regdupe_internal
@@ -6305,15 +6469,17 @@ save_aelem X<save_aelem>, save_aelem_flags X<save_aelem_flags>, save_alloc
X<save_alloc>, save_aptr X<save_aptr>, save_ary X<save_ary>, save_bool
X<save_bool>, save_clearsv X<save_clearsv>, save_delete X<save_delete>,
save_destructor X<save_destructor>, save_destructor_x X<save_destructor_x>,
-save_freepv X<save_freepv>, save_freesv X<save_freesv>, save_generic_pvref
-X<save_generic_pvref>, save_generic_svref X<save_generic_svref>, save_gp
-X<save_gp>, save_hash X<save_hash>, save_hdelete X<save_hdelete>,
-save_helem X<save_helem>, save_helem_flags X<save_helem_flags>, save_hptr
+save_freeop X<save_freeop>, save_freepv X<save_freepv>, save_freesv
+X<save_freesv>, save_generic_pvref X<save_generic_pvref>,
+save_generic_svref X<save_generic_svref>, save_gp X<save_gp>, save_hash
+X<save_hash>, save_hdelete X<save_hdelete>, save_helem X<save_helem>,
+save_helem_flags X<save_helem_flags>, save_hints X<save_hints>, save_hptr
X<save_hptr>, save_int X<save_int>, save_item X<save_item>, save_iv
X<save_iv>, save_list X<save_list>, save_long X<save_long>,
-save_mortalizesv X<save_mortalizesv>, save_nogv X<save_nogv>,
-save_padsv_and_mortalize X<save_padsv_and_mortalize>, save_pptr
-X<save_pptr>, save_pushptr X<save_pushptr>, save_re_context
+save_mortalizesv X<save_mortalizesv>, save_nogv X<save_nogv>, save_op
+X<save_op>, save_padsv_and_mortalize X<save_padsv_and_mortalize>, save_pptr
+X<save_pptr>, save_pushi32ptr X<save_pushi32ptr>, save_pushptr
+X<save_pushptr>, save_pushptrptr X<save_pushptrptr>, save_re_context
X<save_re_context>, save_scalar X<save_scalar>, save_set_svflags
X<save_set_svflags>, save_shared_pvref X<save_shared_pvref>, save_sptr
X<save_sptr>, save_svref X<save_svref>, save_vptr X<save_vptr>,
@@ -6328,24 +6494,23 @@ X<stashpv_hvname_match>, str_to_version X<str_to_version>, sv_2iv
X<sv_2iv>, sv_2pv X<sv_2pv>, sv_2uv X<sv_2uv>, sv_catpvf_mg_nocontext
X<sv_catpvf_mg_nocontext>, sv_catpvf_nocontext X<sv_catpvf_nocontext>,
sv_compile_2op X<sv_compile_2op>, sv_dump X<sv_dump>, sv_dup X<sv_dup>,
-sv_peek X<sv_peek>, sv_pvn_nomg X<sv_pvn_nomg>, sv_setpvf_mg_nocontext
-X<sv_setpvf_mg_nocontext>, sv_setpvf_nocontext X<sv_setpvf_nocontext>,
-sv_utf8_upgrade_flags_grow X<sv_utf8_upgrade_flags_grow>, swash_fetch
-X<swash_fetch>, swash_init X<swash_init>, sys_init X<sys_init>, sys_init3
-X<sys_init3>, sys_intern_clear X<sys_intern_clear>, sys_intern_dup
-X<sys_intern_dup>, sys_intern_init X<sys_intern_init>, sys_term
-X<sys_term>, taint_env X<taint_env>, taint_proper X<taint_proper>,
-tmps_grow X<tmps_grow>, to_uni_fold X<to_uni_fold>, to_uni_lower
-X<to_uni_lower>, to_uni_lower_lc X<to_uni_lower_lc>, to_uni_title
-X<to_uni_title>, to_uni_title_lc X<to_uni_title_lc>, to_uni_upper
-X<to_uni_upper>, to_uni_upper_lc X<to_uni_upper_lc>, unlnk X<unlnk>,
-unsharepvn X<unsharepvn>, utf16_to_utf8 X<utf16_to_utf8>,
-utf16_to_utf8_reversed X<utf16_to_utf8_reversed>, uvchr_to_utf8_flags
-X<uvchr_to_utf8_flags>, uvuni_to_utf8 X<uvuni_to_utf8>, vcroak X<vcroak>,
-vdeb X<vdeb>, vform X<vform>, vload_module X<vload_module>, vmess X<vmess>,
-vnewSVpvf X<vnewSVpvf>, vwarn X<vwarn>, vwarner X<vwarner>, warn_nocontext
-X<warn_nocontext>, warner X<warner>, warner_nocontext X<warner_nocontext>,
-whichsig X<whichsig>
+sv_dup_inc X<sv_dup_inc>, sv_peek X<sv_peek>, sv_pvn_nomg X<sv_pvn_nomg>,
+sv_setpvf_mg_nocontext X<sv_setpvf_mg_nocontext>, sv_setpvf_nocontext
+X<sv_setpvf_nocontext>, sv_utf8_upgrade_flags_grow
+X<sv_utf8_upgrade_flags_grow>, swash_fetch X<swash_fetch>, swash_init
+X<swash_init>, sys_init X<sys_init>, sys_init3 X<sys_init3>,
+sys_intern_clear X<sys_intern_clear>, sys_intern_dup X<sys_intern_dup>,
+sys_intern_init X<sys_intern_init>, sys_term X<sys_term>, taint_env
+X<taint_env>, taint_proper X<taint_proper>, tmps_grow X<tmps_grow>,
+to_uni_fold X<to_uni_fold>, to_uni_lower X<to_uni_lower>, to_uni_lower_lc
+X<to_uni_lower_lc>, to_uni_title X<to_uni_title>, to_uni_title_lc
+X<to_uni_title_lc>, to_uni_upper X<to_uni_upper>, to_uni_upper_lc
+X<to_uni_upper_lc>, unlnk X<unlnk>, unsharepvn X<unsharepvn>, utf16_to_utf8
+X<utf16_to_utf8>, utf16_to_utf8_reversed X<utf16_to_utf8_reversed>,
+uvchr_to_utf8_flags X<uvchr_to_utf8_flags>, uvuni_to_utf8 X<uvuni_to_utf8>,
+vdeb X<vdeb>, vform X<vform>, vload_module X<vload_module>, vnewSVpvf
+X<vnewSVpvf>, vwarner X<vwarner>, warn_nocontext X<warn_nocontext>, warner
+X<warner>, warner_nocontext X<warner_nocontext>, whichsig X<whichsig>
=item AUTHORS
@@ -6361,10 +6526,26 @@ whichsig X<whichsig>
=item DESCRIPTION
X<internal Perl functions> X<interpreter functions>
+=item Compile-time scope hooks
+
+BhkENTRY X<BhkENTRY>, BhkFLAGS X<BhkFLAGS>, CALL_BLOCK_HOOKS
+X<CALL_BLOCK_HOOKS>
+
=item CV reference counts and CvOUTSIDE
CvWEAKOUTSIDE X<CvWEAKOUTSIDE>
+=item Embedding Functions
+
+cv_clone X<cv_clone>, cv_dump X<cv_dump>, do_dump_pad X<do_dump_pad>,
+intro_my X<intro_my>, pad_add_anon X<pad_add_anon>, pad_add_name
+X<pad_add_name>, pad_alloc X<pad_alloc>, pad_block_start
+X<pad_block_start>, pad_check_dup X<pad_check_dup>, pad_findlex
+X<pad_findlex>, pad_fixup_inner_anons X<pad_fixup_inner_anons>, pad_free
+X<pad_free>, pad_leavemy X<pad_leavemy>, pad_push X<pad_push>, pad_reset
+X<pad_reset>, pad_setsv X<pad_setsv>, pad_swipe X<pad_swipe>, pad_tidy
+X<pad_tidy>
+
=item Functions in file pad.h
CX_CURPAD_SAVE X<CX_CURPAD_SAVE>, CX_CURPAD_SV X<CX_CURPAD_SV>, PAD_BASE_SV
@@ -6389,8 +6570,16 @@ gv_try_downgrade X<gv_try_downgrade>, is_gv_magical_sv X<is_gv_magical_sv>
=item Hash Manipulation Functions
-refcounted_he_chain_2hv X<refcounted_he_chain_2hv>, refcounted_he_free
-X<refcounted_he_free>, refcounted_he_new X<refcounted_he_new>
+hv_ename_add X<hv_ename_add>, hv_ename_delete X<hv_ename_delete>,
+refcounted_he_chain_2hv X<refcounted_he_chain_2hv>, refcounted_he_fetch_pv
+X<refcounted_he_fetch_pv>, refcounted_he_fetch_pvn
+X<refcounted_he_fetch_pvn>, refcounted_he_fetch_pvs
+X<refcounted_he_fetch_pvs>, refcounted_he_fetch_sv
+X<refcounted_he_fetch_sv>, refcounted_he_free X<refcounted_he_free>,
+refcounted_he_inc X<refcounted_he_inc>, refcounted_he_new_pv
+X<refcounted_he_new_pv>, refcounted_he_new_pvn X<refcounted_he_new_pvn>,
+refcounted_he_new_pvs X<refcounted_he_new_pvs>, refcounted_he_new_sv
+X<refcounted_he_new_sv>
=item IO Functions
@@ -6399,23 +6588,17 @@ start_glob X<start_glob>
=item Magical Functions
magic_clearhint X<magic_clearhint>, magic_clearhints X<magic_clearhints>,
-magic_sethint X<magic_sethint>, mg_localize X<mg_localize>
+magic_methcall X<magic_methcall>, magic_sethint X<magic_sethint>,
+mg_localize X<mg_localize>
=item MRO Functions
mro_get_linear_isa_dfs X<mro_get_linear_isa_dfs>, mro_isa_changed_in
-X<mro_isa_changed_in>
+X<mro_isa_changed_in>, mro_package_moved X<mro_package_moved>
=item Pad Data Structures
-CvPADLIST X<CvPADLIST>, cv_clone X<cv_clone>, cv_dump X<cv_dump>,
-do_dump_pad X<do_dump_pad>, intro_my X<intro_my>, pad_add_anon
-X<pad_add_anon>, pad_add_name X<pad_add_name>, pad_alloc X<pad_alloc>,
-pad_block_start X<pad_block_start>, pad_check_dup X<pad_check_dup>,
-pad_findlex X<pad_findlex>, pad_fixup_inner_anons X<pad_fixup_inner_anons>,
-pad_free X<pad_free>, pad_leavemy X<pad_leavemy>, pad_new X<pad_new>,
-pad_push X<pad_push>, pad_reset X<pad_reset>, pad_setsv X<pad_setsv>,
-pad_swipe X<pad_swipe>, pad_tidy X<pad_tidy>, pad_undef X<pad_undef>
+CvPADLIST X<CvPADLIST>, pad_new X<pad_new>
=item Per-Interpreter Variables
@@ -6442,59 +6625,51 @@ find_uninit_var X<find_uninit_var>, report_uninit X<report_uninit>
=item Undocumented functions
-F0convert X<F0convert>, Slab_to_rw X<Slab_to_rw>, add_data X<add_data>,
-add_utf16_textfilter X<add_utf16_textfilter>, addmad X<addmad>, allocmy
-X<allocmy>, amagic_cmp X<amagic_cmp>, amagic_cmp_locale
-X<amagic_cmp_locale>, amagic_i_ncmp X<amagic_i_ncmp>, amagic_ncmp
-X<amagic_ncmp>, anonymise_cv X<anonymise_cv>, ao X<ao>, append_elem
-X<append_elem>, append_list X<append_list>, append_madprops
-X<append_madprops>, apply X<apply>, apply_attrs X<apply_attrs>,
-apply_attrs_my X<apply_attrs_my>, av_reify X<av_reify>, bad_type
-X<bad_type>, bind_match X<bind_match>, block_end X<block_end>, block_start
-X<block_start>, boot_core_PerlIO X<boot_core_PerlIO>, boot_core_UNIVERSAL
-X<boot_core_UNIVERSAL>, boot_core_mro X<boot_core_mro>, bytes_to_uni
-X<bytes_to_uni>, cando X<cando>, check_type_and_open
-X<check_type_and_open>, check_uni X<check_uni>, checkcomma X<checkcomma>,
-checkposixcc X<checkposixcc>, ck_anoncode X<ck_anoncode>, ck_bitop
-X<ck_bitop>, ck_concat X<ck_concat>, ck_defined X<ck_defined>, ck_delete
-X<ck_delete>, ck_die X<ck_die>, ck_each X<ck_each>, ck_eof X<ck_eof>,
-ck_eval X<ck_eval>, ck_exec X<ck_exec>, ck_exists X<ck_exists>, ck_exit
-X<ck_exit>, ck_ftst X<ck_ftst>, ck_fun X<ck_fun>, ck_glob X<ck_glob>,
-ck_grep X<ck_grep>, ck_index X<ck_index>, ck_join X<ck_join>, ck_lfun
-X<ck_lfun>, ck_listiob X<ck_listiob>, ck_match X<ck_match>, ck_method
-X<ck_method>, ck_null X<ck_null>, ck_open X<ck_open>, ck_readline
-X<ck_readline>, ck_repeat X<ck_repeat>, ck_require X<ck_require>, ck_return
-X<ck_return>, ck_rfun X<ck_rfun>, ck_rvconst X<ck_rvconst>, ck_sassign
-X<ck_sassign>, ck_select X<ck_select>, ck_shift X<ck_shift>, ck_sort
-X<ck_sort>, ck_spair X<ck_spair>, ck_split X<ck_split>, ck_subr X<ck_subr>,
-ck_substr X<ck_substr>, ck_svconst X<ck_svconst>, ck_trunc X<ck_trunc>,
-ck_unpack X<ck_unpack>, ckwarn_common X<ckwarn_common>, cl_and X<cl_and>,
-cl_anything X<cl_anything>, cl_init X<cl_init>, cl_init_zero
-X<cl_init_zero>, cl_is_anything X<cl_is_anything>, cl_or X<cl_or>,
+F0convert X<F0convert>, Slab_to_rw X<Slab_to_rw>, _append_range_to_invlist
+X<_append_range_to_invlist>, _new_invlist X<_new_invlist>,
+_swash_inversion_hash X<_swash_inversion_hash>, _swash_to_invlist
+X<_swash_to_invlist>, add_alternate X<add_alternate>, add_cp_to_invlist
+X<add_cp_to_invlist>, add_data X<add_data>, add_range_to_invlist
+X<add_range_to_invlist>, add_utf16_textfilter X<add_utf16_textfilter>,
+addmad X<addmad>, allocmy X<allocmy>, amagic_cmp X<amagic_cmp>,
+amagic_cmp_locale X<amagic_cmp_locale>, amagic_i_ncmp X<amagic_i_ncmp>,
+amagic_ncmp X<amagic_ncmp>, anonymise_cv_maybe X<anonymise_cv_maybe>, ao
+X<ao>, append_madprops X<append_madprops>, apply X<apply>, apply_attrs
+X<apply_attrs>, apply_attrs_my X<apply_attrs_my>,
+assert_uft8_cache_coherent X<assert_uft8_cache_coherent>, av_reify
+X<av_reify>, bad_type X<bad_type>, bind_match X<bind_match>, block_end
+X<block_end>, block_start X<block_start>, boot_core_PerlIO
+X<boot_core_PerlIO>, boot_core_UNIVERSAL X<boot_core_UNIVERSAL>,
+boot_core_mro X<boot_core_mro>, bytes_to_uni X<bytes_to_uni>, cando
+X<cando>, check_type_and_open X<check_type_and_open>, check_uni
+X<check_uni>, check_utf8_print X<check_utf8_print>, checkcomma
+X<checkcomma>, checkposixcc X<checkposixcc>, ckwarn_common
+X<ckwarn_common>, cl_and X<cl_and>, cl_anything X<cl_anything>, cl_init
+X<cl_init>, cl_is_anything X<cl_is_anything>, cl_or X<cl_or>,
clear_placeholders X<clear_placeholders>, closest_cop X<closest_cop>,
convert X<convert>, cop_free X<cop_free>, cr_textfilter X<cr_textfilter>,
-create_eval_scope X<create_eval_scope>, curmad X<curmad>, cv_ckproto_len
-X<cv_ckproto_len>, deb_curcv X<deb_curcv>, deb_stack_all X<deb_stack_all>,
+create_eval_scope X<create_eval_scope>, curmad X<curmad>, curse X<curse>,
+cv_ckproto_len X<cv_ckproto_len>, cvgv_set X<cvgv_set>, cvstash_set
+X<cvstash_set>, deb_curcv X<deb_curcv>, deb_stack_all X<deb_stack_all>,
deb_stack_n X<deb_stack_n>, debprof X<debprof>, debug_start_match
X<debug_start_match>, del_sv X<del_sv>, delete_eval_scope
X<delete_eval_scope>, deprecate_commaless_var_list
X<deprecate_commaless_var_list>, destroy_matcher X<destroy_matcher>,
-die_where X<die_where>, div128 X<div128>, do_aexec X<do_aexec>, do_aexec5
-X<do_aexec5>, do_chomp X<do_chomp>, do_chop X<do_chop>, do_delete_local
-X<do_delete_local>, do_eof X<do_eof>, do_exec X<do_exec>, do_exec3
-X<do_exec3>, do_execfree X<do_execfree>, do_ipcctl X<do_ipcctl>, do_ipcget
-X<do_ipcget>, do_kv X<do_kv>, do_msgrcv X<do_msgrcv>, do_msgsnd
-X<do_msgsnd>, do_oddball X<do_oddball>, do_op_xmldump X<do_op_xmldump>,
-do_pmop_xmldump X<do_pmop_xmldump>, do_print X<do_print>, do_readline
-X<do_readline>, do_seek X<do_seek>, do_semop X<do_semop>, do_shmio
-X<do_shmio>, do_smartmatch X<do_smartmatch>, do_sysseek X<do_sysseek>,
-do_tell X<do_tell>, do_trans X<do_trans>, do_trans_complex
-X<do_trans_complex>, do_trans_complex_utf8 X<do_trans_complex_utf8>,
-do_trans_count X<do_trans_count>, do_trans_count_utf8
-X<do_trans_count_utf8>, do_trans_simple X<do_trans_simple>,
-do_trans_simple_utf8 X<do_trans_simple_utf8>, do_vecget X<do_vecget>,
-do_vecset X<do_vecset>, do_vop X<do_vop>, doeval X<doeval>, dofile
-X<dofile>, dofindlabel X<dofindlabel>, doform X<doform>, dooneliner
+die_unwind X<die_unwind>, div128 X<div128>, do_aexec X<do_aexec>, do_aexec5
+X<do_aexec5>, do_chomp X<do_chomp>, do_delete_local X<do_delete_local>,
+do_eof X<do_eof>, do_exec X<do_exec>, do_exec3 X<do_exec3>, do_execfree
+X<do_execfree>, do_ipcctl X<do_ipcctl>, do_ipcget X<do_ipcget>, do_msgrcv
+X<do_msgrcv>, do_msgsnd X<do_msgsnd>, do_oddball X<do_oddball>,
+do_op_xmldump X<do_op_xmldump>, do_pmop_xmldump X<do_pmop_xmldump>,
+do_print X<do_print>, do_readline X<do_readline>, do_seek X<do_seek>,
+do_semop X<do_semop>, do_shmio X<do_shmio>, do_smartmatch X<do_smartmatch>,
+do_sysseek X<do_sysseek>, do_tell X<do_tell>, do_trans X<do_trans>,
+do_trans_complex X<do_trans_complex>, do_trans_complex_utf8
+X<do_trans_complex_utf8>, do_trans_count X<do_trans_count>,
+do_trans_count_utf8 X<do_trans_count_utf8>, do_trans_simple
+X<do_trans_simple>, do_trans_simple_utf8 X<do_trans_simple_utf8>, do_vecget
+X<do_vecget>, do_vecset X<do_vecset>, do_vop X<do_vop>, doeval X<doeval>,
+dofile X<dofile>, dofindlabel X<dofindlabel>, doform X<doform>, dooneliner
X<dooneliner>, doopen_pm X<doopen_pm>, doparseform X<doparseform>,
dopoptoeval X<dopoptoeval>, dopoptogiven X<dopoptogiven>, dopoptolabel
X<dopoptolabel>, dopoptoloop X<dopoptoloop>, dopoptosub_at
@@ -6516,119 +6691,126 @@ X<forbid_setid>, force_ident X<force_ident>, force_list X<force_list>,
force_next X<force_next>, force_strict_version X<force_strict_version>,
force_version X<force_version>, force_word X<force_word>, forget_pmop
X<forget_pmop>, free_tied_hv_pool X<free_tied_hv_pool>, gen_constant_list
-X<gen_constant_list>, get_arena X<get_arena>, get_aux_mg X<get_aux_mg>,
-get_db_sub X<get_db_sub>, get_debug_opts X<get_debug_opts>, get_hash_seed
-X<get_hash_seed>, get_isa_hash X<get_isa_hash>, get_no_modify
-X<get_no_modify>, get_num X<get_num>, get_opargs X<get_opargs>, get_re_arg
-X<get_re_arg>, getenv_len X<getenv_len>, glob_2number X<glob_2number>,
-glob_assign_glob X<glob_assign_glob>, glob_assign_ref X<glob_assign_ref>,
-group_end X<group_end>, gv_ename X<gv_ename>, gv_get_super_pkg
-X<gv_get_super_pkg>, gv_init_sv X<gv_init_sv>, hfreeentries
+X<gen_constant_list>, get_aux_mg X<get_aux_mg>, get_db_sub X<get_db_sub>,
+get_debug_opts X<get_debug_opts>, get_hash_seed X<get_hash_seed>,
+get_no_modify X<get_no_modify>, get_num X<get_num>, get_opargs
+X<get_opargs>, get_re_arg X<get_re_arg>, getenv_len X<getenv_len>,
+glob_2number X<glob_2number>, glob_assign_glob X<glob_assign_glob>,
+glob_assign_ref X<glob_assign_ref>, grok_bslash_c X<grok_bslash_c>,
+grok_bslash_o X<grok_bslash_o>, group_end X<group_end>, gv_ename
+X<gv_ename>, gv_get_super_pkg X<gv_get_super_pkg>, gv_init_sv
+X<gv_init_sv>, gv_magicalize_isa X<gv_magicalize_isa>,
+gv_magicalize_overload X<gv_magicalize_overload>, hfreeentries
X<hfreeentries>, hsplit X<hsplit>, hv_auxinit X<hv_auxinit>,
-hv_backreferences_p X<hv_backreferences_p>, hv_copy_hints_hv
-X<hv_copy_hints_hv>, hv_delete_common X<hv_delete_common>, hv_kill_backrefs
-X<hv_kill_backrefs>, hv_magic_check X<hv_magic_check>, hv_notallowed
-X<hv_notallowed>, incline X<incline>, incpush X<incpush>, incpush_if_exists
-X<incpush_if_exists>, incpush_use_sep X<incpush_use_sep>, ingroup
-X<ingroup>, init_argv_symbols X<init_argv_symbols>, init_dbargs
+hv_backreferences_p X<hv_backreferences_p>, hv_delete_common
+X<hv_delete_common>, hv_kill_backrefs X<hv_kill_backrefs>, hv_magic_check
+X<hv_magic_check>, hv_notallowed X<hv_notallowed>, hv_undef_flags
+X<hv_undef_flags>, incline X<incline>, incpush X<incpush>,
+incpush_if_exists X<incpush_if_exists>, incpush_use_sep X<incpush_use_sep>,
+ingroup X<ingroup>, init_argv_symbols X<init_argv_symbols>, init_dbargs
X<init_dbargs>, init_debugger X<init_debugger>, init_ids X<init_ids>,
init_interp X<init_interp>, init_main_stash X<init_main_stash>,
init_perllib X<init_perllib>, init_postdump_symbols
X<init_postdump_symbols>, init_predump_symbols X<init_predump_symbols>,
intuit_method X<intuit_method>, intuit_more X<intuit_more>, invert
-X<invert>, io_close X<io_close>, is_an_int X<is_an_int>,
-is_handle_constructor X<is_handle_constructor>, is_inplace_av
-X<is_inplace_av>, is_list_assignment X<is_list_assignment>, is_utf8_X_L
-X<is_utf8_X_L>, is_utf8_X_LV X<is_utf8_X_LV>, is_utf8_X_LVT
-X<is_utf8_X_LVT>, is_utf8_X_LV_LVT_V X<is_utf8_X_LV_LVT_V>, is_utf8_X_T
-X<is_utf8_X_T>, is_utf8_X_V X<is_utf8_X_V>, is_utf8_X_begin
-X<is_utf8_X_begin>, is_utf8_X_extend X<is_utf8_X_extend>,
-is_utf8_X_non_hangul X<is_utf8_X_non_hangul>, is_utf8_X_prepend
-X<is_utf8_X_prepend>, is_utf8_char_slow X<is_utf8_char_slow>,
-is_utf8_common X<is_utf8_common>, isa_lookup X<isa_lookup>, jmaybe
-X<jmaybe>, join_exact X<join_exact>, keyword X<keyword>,
-keyword_plugin_standard X<keyword_plugin_standard>, lex_end X<lex_end>,
-lex_start X<lex_start>, linklist X<linklist>, list X<list>, listkids
-X<listkids>, localize X<localize>, looks_like_bool X<looks_like_bool>, lop
-X<lop>, mad_free X<mad_free>, madlex X<madlex>, madparse X<madparse>,
-magic_clear_all_env X<magic_clear_all_env>, magic_clearenv
-X<magic_clearenv>, magic_clearisa X<magic_clearisa>, magic_clearpack
-X<magic_clearpack>, magic_clearsig X<magic_clearsig>, magic_existspack
-X<magic_existspack>, magic_freearylen_p X<magic_freearylen_p>,
-magic_freeovrld X<magic_freeovrld>, magic_get X<magic_get>, magic_getarylen
-X<magic_getarylen>, magic_getdefelem X<magic_getdefelem>, magic_getnkeys
-X<magic_getnkeys>, magic_getpack X<magic_getpack>, magic_getpos
-X<magic_getpos>, magic_getsig X<magic_getsig>, magic_getsubstr
-X<magic_getsubstr>, magic_gettaint X<magic_gettaint>, magic_getuvar
-X<magic_getuvar>, magic_getvec X<magic_getvec>, magic_killbackrefs
-X<magic_killbackrefs>, magic_len X<magic_len>, magic_methcall
-X<magic_methcall>, magic_methpack X<magic_methpack>, magic_nextpack
-X<magic_nextpack>, magic_regdata_cnt X<magic_regdata_cnt>,
-magic_regdatum_get X<magic_regdatum_get>, magic_regdatum_set
-X<magic_regdatum_set>, magic_scalarpack X<magic_scalarpack>, magic_set
-X<magic_set>, magic_set_all_env X<magic_set_all_env>, magic_setamagic
-X<magic_setamagic>, magic_setarylen X<magic_setarylen>, magic_setcollxfrm
-X<magic_setcollxfrm>, magic_setdbline X<magic_setdbline>, magic_setdefelem
-X<magic_setdefelem>, magic_setenv X<magic_setenv>, magic_setisa
-X<magic_setisa>, magic_setmglob X<magic_setmglob>, magic_setnkeys
-X<magic_setnkeys>, magic_setpack X<magic_setpack>, magic_setpos
-X<magic_setpos>, magic_setregexp X<magic_setregexp>, magic_setsig
-X<magic_setsig>, magic_setsubstr X<magic_setsubstr>, magic_settaint
-X<magic_settaint>, magic_setutf8 X<magic_setutf8>, magic_setuvar
-X<magic_setuvar>, magic_setvec X<magic_setvec>, magic_sizepack
-X<magic_sizepack>, magic_wipepack X<magic_wipepack>, make_matcher
-X<make_matcher>, make_trie X<make_trie>, make_trie_failtable
-X<make_trie_failtable>, malloc_good_size X<malloc_good_size>, malloced_size
-X<malloced_size>, matcher_matches_sv X<matcher_matches_sv>, measure_struct
-X<measure_struct>, mem_collxfrm X<mem_collxfrm>, mem_log_common
-X<mem_log_common>, mess_alloc X<mess_alloc>, method_common
-X<method_common>, missingterm X<missingterm>, mod X<mod>,
-mode_from_discipline X<mode_from_discipline>, modkids X<modkids>,
-more_bodies X<more_bodies>, more_sv X<more_sv>, mro_meta_dup
-X<mro_meta_dup>, mro_meta_init X<mro_meta_init>, mul128 X<mul128>, mulexp10
-X<mulexp10>, my_attrs X<my_attrs>, my_betoh16 X<my_betoh16>, my_betoh32
-X<my_betoh32>, my_betoh64 X<my_betoh64>, my_betohi X<my_betohi>, my_betohl
-X<my_betohl>, my_betohs X<my_betohs>, my_clearenv X<my_clearenv>,
-my_exit_jump X<my_exit_jump>, my_htobe16 X<my_htobe16>, my_htobe32
-X<my_htobe32>, my_htobe64 X<my_htobe64>, my_htobei X<my_htobei>, my_htobel
-X<my_htobel>, my_htobes X<my_htobes>, my_htole16 X<my_htole16>, my_htole32
-X<my_htole32>, my_htole64 X<my_htole64>, my_htolei X<my_htolei>, my_htolel
-X<my_htolel>, my_htoles X<my_htoles>, my_kid X<my_kid>, my_letoh16
-X<my_letoh16>, my_letoh32 X<my_letoh32>, my_letoh64 X<my_letoh64>,
-my_letohi X<my_letohi>, my_letohl X<my_letohl>, my_letohs X<my_letohs>,
-my_swabn X<my_swabn>, my_unexec X<my_unexec>, need_utf8 X<need_utf8>,
-newDEFSVOP X<newDEFSVOP>, newGIVWHENOP X<newGIVWHENOP>, newGP X<newGP>,
-newMADPROP X<newMADPROP>, newMADsv X<newMADsv>, newTOKEN X<newTOKEN>,
-new_constant X<new_constant>, new_he X<new_he>, new_logop X<new_logop>,
-new_warnings_bitfield X<new_warnings_bitfield>, next_symbol X<next_symbol>,
-nextargv X<nextargv>, nextchar X<nextchar>, no_bareword_allowed
-X<no_bareword_allowed>, no_fh_allowed X<no_fh_allowed>, no_op X<no_op>,
-not_a_number X<not_a_number>, nuke_stacks X<nuke_stacks>, num_overflow
-X<num_overflow>, offer_nice_chunk X<offer_nice_chunk>, oopsAV X<oopsAV>,
-oopsHV X<oopsHV>, op_clear X<op_clear>, op_const_sv X<op_const_sv>,
-op_getmad X<op_getmad>, op_getmad_weak X<op_getmad_weak>, op_refcnt_dec
-X<op_refcnt_dec>, op_refcnt_inc X<op_refcnt_inc>, op_xmldump X<op_xmldump>,
-open_script X<open_script>, opt_scalarhv X<opt_scalarhv>, pack_rec
-X<pack_rec>, package X<package>, package_version X<package_version>,
-pad_add_name_sv X<pad_add_name_sv>, pad_compname_type X<pad_compname_type>,
-pad_peg X<pad_peg>, parse_body X<parse_body>, parse_unicode_opts
-X<parse_unicode_opts>, parser_free X<parser_free>, path_is_absolute
-X<path_is_absolute>, peep X<peep>, pending_Slabs_to_ro
-X<pending_Slabs_to_ro>, pidgone X<pidgone>, pm_description
-X<pm_description>, pmflag X<pmflag>, pmop_xmldump X<pmop_xmldump>,
-pmruntime X<pmruntime>, pmtrans X<pmtrans>, prepend_elem X<prepend_elem>,
+X<invert>, invlist_array X<invlist_array>, invlist_destroy
+X<invlist_destroy>, invlist_extend X<invlist_extend>, invlist_intersection
+X<invlist_intersection>, invlist_len X<invlist_len>, invlist_max
+X<invlist_max>, invlist_set_len X<invlist_set_len>, invlist_set_max
+X<invlist_set_max>, invlist_trim X<invlist_trim>, invlist_union
+X<invlist_union>, invoke_exception_hook X<invoke_exception_hook>, io_close
+X<io_close>, is_an_int X<is_an_int>, is_handle_constructor
+X<is_handle_constructor>, is_inplace_av X<is_inplace_av>,
+is_list_assignment X<is_list_assignment>, is_utf8_X_L X<is_utf8_X_L>,
+is_utf8_X_LV X<is_utf8_X_LV>, is_utf8_X_LVT X<is_utf8_X_LVT>,
+is_utf8_X_LV_LVT_V X<is_utf8_X_LV_LVT_V>, is_utf8_X_T X<is_utf8_X_T>,
+is_utf8_X_V X<is_utf8_X_V>, is_utf8_X_begin X<is_utf8_X_begin>,
+is_utf8_X_extend X<is_utf8_X_extend>, is_utf8_X_non_hangul
+X<is_utf8_X_non_hangul>, is_utf8_X_prepend X<is_utf8_X_prepend>,
+is_utf8_char_slow X<is_utf8_char_slow>, is_utf8_common X<is_utf8_common>,
+isa_lookup X<isa_lookup>, jmaybe X<jmaybe>, join_exact X<join_exact>,
+keyword X<keyword>, keyword_plugin_standard X<keyword_plugin_standard>,
+list X<list>, listkids X<listkids>, localize X<localize>, looks_like_bool
+X<looks_like_bool>, lop X<lop>, mad_free X<mad_free>, madlex X<madlex>,
+madparse X<madparse>, magic_clear_all_env X<magic_clear_all_env>,
+magic_clearenv X<magic_clearenv>, magic_clearisa X<magic_clearisa>,
+magic_clearpack X<magic_clearpack>, magic_clearsig X<magic_clearsig>,
+magic_existspack X<magic_existspack>, magic_freearylen_p
+X<magic_freearylen_p>, magic_freeovrld X<magic_freeovrld>, magic_get
+X<magic_get>, magic_getarylen X<magic_getarylen>, magic_getdefelem
+X<magic_getdefelem>, magic_getnkeys X<magic_getnkeys>, magic_getpack
+X<magic_getpack>, magic_getpos X<magic_getpos>, magic_getsig
+X<magic_getsig>, magic_getsubstr X<magic_getsubstr>, magic_gettaint
+X<magic_gettaint>, magic_getuvar X<magic_getuvar>, magic_getvec
+X<magic_getvec>, magic_killbackrefs X<magic_killbackrefs>, magic_len
+X<magic_len>, magic_methcall1 X<magic_methcall1>, magic_methpack
+X<magic_methpack>, magic_nextpack X<magic_nextpack>, magic_regdata_cnt
+X<magic_regdata_cnt>, magic_regdatum_get X<magic_regdatum_get>,
+magic_regdatum_set X<magic_regdatum_set>, magic_scalarpack
+X<magic_scalarpack>, magic_set X<magic_set>, magic_set_all_env
+X<magic_set_all_env>, magic_setamagic X<magic_setamagic>, magic_setarylen
+X<magic_setarylen>, magic_setcollxfrm X<magic_setcollxfrm>, magic_setdbline
+X<magic_setdbline>, magic_setdefelem X<magic_setdefelem>, magic_setenv
+X<magic_setenv>, magic_setisa X<magic_setisa>, magic_setmglob
+X<magic_setmglob>, magic_setnkeys X<magic_setnkeys>, magic_setpack
+X<magic_setpack>, magic_setpos X<magic_setpos>, magic_setregexp
+X<magic_setregexp>, magic_setsig X<magic_setsig>, magic_setsubstr
+X<magic_setsubstr>, magic_settaint X<magic_settaint>, magic_setutf8
+X<magic_setutf8>, magic_setuvar X<magic_setuvar>, magic_setvec
+X<magic_setvec>, magic_sizepack X<magic_sizepack>, magic_wipepack
+X<magic_wipepack>, make_matcher X<make_matcher>, make_trie X<make_trie>,
+make_trie_failtable X<make_trie_failtable>, malloc_good_size
+X<malloc_good_size>, malloced_size X<malloced_size>, matcher_matches_sv
+X<matcher_matches_sv>, measure_struct X<measure_struct>, mem_collxfrm
+X<mem_collxfrm>, mem_log_common X<mem_log_common>, mess_alloc
+X<mess_alloc>, method_common X<method_common>, missingterm X<missingterm>,
+mod X<mod>, mode_from_discipline X<mode_from_discipline>, modkids
+X<modkids>, more_bodies X<more_bodies>, more_sv X<more_sv>,
+mro_clean_isarev X<mro_clean_isarev>, mro_gather_and_rename
+X<mro_gather_and_rename>, mro_meta_dup X<mro_meta_dup>, mro_meta_init
+X<mro_meta_init>, mul128 X<mul128>, mulexp10 X<mulexp10>,
+munge_qwlist_to_paren_list X<munge_qwlist_to_paren_list>, my_attrs
+X<my_attrs>, my_betoh16 X<my_betoh16>, my_betoh32 X<my_betoh32>, my_betoh64
+X<my_betoh64>, my_betohi X<my_betohi>, my_betohl X<my_betohl>, my_betohs
+X<my_betohs>, my_clearenv X<my_clearenv>, my_exit_jump X<my_exit_jump>,
+my_htobe16 X<my_htobe16>, my_htobe32 X<my_htobe32>, my_htobe64
+X<my_htobe64>, my_htobei X<my_htobei>, my_htobel X<my_htobel>, my_htobes
+X<my_htobes>, my_htole16 X<my_htole16>, my_htole32 X<my_htole32>,
+my_htole64 X<my_htole64>, my_htolei X<my_htolei>, my_htolel X<my_htolel>,
+my_htoles X<my_htoles>, my_kid X<my_kid>, my_letoh16 X<my_letoh16>,
+my_letoh32 X<my_letoh32>, my_letoh64 X<my_letoh64>, my_letohi X<my_letohi>,
+my_letohl X<my_letohl>, my_letohs X<my_letohs>, my_lstat_flags
+X<my_lstat_flags>, my_stat_flags X<my_stat_flags>, my_swabn X<my_swabn>,
+my_unexec X<my_unexec>, need_utf8 X<need_utf8>, newDEFSVOP X<newDEFSVOP>,
+newGIVWHENOP X<newGIVWHENOP>, newGP X<newGP>, newMADPROP X<newMADPROP>,
+newMADsv X<newMADsv>, newTOKEN X<newTOKEN>, new_constant X<new_constant>,
+new_he X<new_he>, new_logop X<new_logop>, new_warnings_bitfield
+X<new_warnings_bitfield>, next_symbol X<next_symbol>, nextargv X<nextargv>,
+nextchar X<nextchar>, no_bareword_allowed X<no_bareword_allowed>,
+no_fh_allowed X<no_fh_allowed>, no_op X<no_op>, not_a_number
+X<not_a_number>, nuke_stacks X<nuke_stacks>, num_overflow X<num_overflow>,
+oopsAV X<oopsAV>, oopsHV X<oopsHV>, op_clear X<op_clear>, op_const_sv
+X<op_const_sv>, op_getmad X<op_getmad>, op_getmad_weak X<op_getmad_weak>,
+op_refcnt_dec X<op_refcnt_dec>, op_refcnt_inc X<op_refcnt_inc>, op_xmldump
+X<op_xmldump>, open_script X<open_script>, opt_scalarhv X<opt_scalarhv>,
+pack_rec X<pack_rec>, package X<package>, package_version
+X<package_version>, pad_add_name_sv X<pad_add_name_sv>, pad_compname_type
+X<pad_compname_type>, pad_peg X<pad_peg>, padlist_dup X<padlist_dup>,
+parse_body X<parse_body>, parse_unicode_opts X<parse_unicode_opts>,
+parser_free X<parser_free>, path_is_absolute X<path_is_absolute>, peep
+X<peep>, pending_Slabs_to_ro X<pending_Slabs_to_ro>, pidgone X<pidgone>,
+pm_description X<pm_description>, pmop_xmldump X<pmop_xmldump>, pmruntime
+X<pmruntime>, pmtrans X<pmtrans>, populate_isa X<populate_isa>,
prepend_madprops X<prepend_madprops>, printbuf X<printbuf>,
process_special_blocks X<process_special_blocks>, ptr_table_find
X<ptr_table_find>, put_byte X<put_byte>, qerror X<qerror>, qsortsvu
X<qsortsvu>, re_croak2 X<re_croak2>, readpipe_override
X<readpipe_override>, ref_array_or_hash X<ref_array_or_hash>,
-refcounted_he_fetch X<refcounted_he_fetch>, refcounted_he_new_common
-X<refcounted_he_new_common>, refcounted_he_value X<refcounted_he_value>,
-refkids X<refkids>, refto X<refto>, reg X<reg>,
-reg_check_named_buff_matched X<reg_check_named_buff_matched>,
-reg_named_buff X<reg_named_buff>, reg_named_buff_iter
-X<reg_named_buff_iter>, reg_namedseq X<reg_namedseq>, reg_node X<reg_node>,
-reg_numbered_buff_fetch X<reg_numbered_buff_fetch>,
+refcounted_he_value X<refcounted_he_value>, refkids X<refkids>, refto
+X<refto>, reg X<reg>, reg_check_named_buff_matched
+X<reg_check_named_buff_matched>, reg_named_buff X<reg_named_buff>,
+reg_named_buff_iter X<reg_named_buff_iter>, reg_namedseq X<reg_namedseq>,
+reg_node X<reg_node>, reg_numbered_buff_fetch X<reg_numbered_buff_fetch>,
reg_numbered_buff_length X<reg_numbered_buff_length>,
reg_numbered_buff_store X<reg_numbered_buff_store>, reg_qr_package
X<reg_qr_package>, reg_recode X<reg_recode>, reg_scan_name
@@ -6641,24 +6823,24 @@ reginclass X<reginclass>, reginsert X<reginsert>, regmatch X<regmatch>,
regpiece X<regpiece>, regpposixcc X<regpposixcc>, regprop X<regprop>,
regrepeat X<regrepeat>, regtail X<regtail>, regtail_study X<regtail_study>,
regtry X<regtry>, reguni X<reguni>, regwhite X<regwhite>, report_evil_fh
-X<report_evil_fh>, require_tie_mod X<require_tie_mod>, restore_magic
-X<restore_magic>, rsignal_restore X<rsignal_restore>, rsignal_save
-X<rsignal_save>, run_body X<run_body>, run_user_filter X<run_user_filter>,
-rxres_free X<rxres_free>, rxres_restore X<rxres_restore>, rxres_save
-X<rxres_save>, same_dirent X<same_dirent>, save_freeop X<save_freeop>,
-save_hek_flags X<save_hek_flags>, save_hints X<save_hints>, save_lines
-X<save_lines>, save_magic X<save_magic>, save_op X<save_op>,
-save_pushi32ptr X<save_pushi32ptr>, save_pushptri32ptr
-X<save_pushptri32ptr>, save_pushptrptr X<save_pushptrptr>, save_scalar_at
-X<save_scalar_at>, sawparens X<sawparens>, scalar X<scalar>,
-scalar_mod_type X<scalar_mod_type>, scalarboolean X<scalarboolean>,
-scalarkids X<scalarkids>, scalarseq X<scalarseq>, scalarvoid X<scalarvoid>,
-scan_commit X<scan_commit>, scan_const X<scan_const>, scan_formline
-X<scan_formline>, scan_heredoc X<scan_heredoc>, scan_ident X<scan_ident>,
-scan_inputsymbol X<scan_inputsymbol>, scan_pat X<scan_pat>, scan_str
-X<scan_str>, scan_subst X<scan_subst>, scan_trans X<scan_trans>, scan_word
-X<scan_word>, scope X<scope>, search_const X<search_const>, sequence
-X<sequence>, sequence_num X<sequence_num>, sequence_tail X<sequence_tail>,
+X<report_evil_fh>, report_wrongway_fh X<report_wrongway_fh>,
+require_tie_mod X<require_tie_mod>, restore_magic X<restore_magic>, rpeep
+X<rpeep>, rsignal_restore X<rsignal_restore>, rsignal_save X<rsignal_save>,
+run_body X<run_body>, run_user_filter X<run_user_filter>, rxres_free
+X<rxres_free>, rxres_restore X<rxres_restore>, rxres_save X<rxres_save>,
+same_dirent X<same_dirent>, save_hek_flags X<save_hek_flags>, save_lines
+X<save_lines>, save_magic X<save_magic>, save_pushptri32ptr
+X<save_pushptri32ptr>, save_scalar_at X<save_scalar_at>, sawparens
+X<sawparens>, scalar X<scalar>, scalar_mod_type X<scalar_mod_type>,
+scalarboolean X<scalarboolean>, scalarkids X<scalarkids>, scalarseq
+X<scalarseq>, scalarvoid X<scalarvoid>, scan_commit X<scan_commit>,
+scan_const X<scan_const>, scan_formline X<scan_formline>, scan_heredoc
+X<scan_heredoc>, scan_ident X<scan_ident>, scan_inputsymbol
+X<scan_inputsymbol>, scan_pat X<scan_pat>, scan_str X<scan_str>, scan_subst
+X<scan_subst>, scan_trans X<scan_trans>, scan_word X<scan_word>,
+search_const X<search_const>, sequence X<sequence>, sequence_num
+X<sequence_num>, sequence_tail X<sequence_tail>, set_regclass_bit
+X<set_regclass_bit>, set_regclass_bit_fold X<set_regclass_bit_fold>,
share_hek_flags X<share_hek_flags>, sighandler X<sighandler>, simplify_sort
X<simplify_sort>, skipspace X<skipspace>, skipspace0 X<skipspace0>,
skipspace1 X<skipspace1>, skipspace2 X<skipspace2>, softref2xv
@@ -6670,36 +6852,42 @@ X<strip_return>, study_chunk X<study_chunk>, sub_crush_depth
X<sub_crush_depth>, sublex_done X<sublex_done>, sublex_push X<sublex_push>,
sublex_start X<sublex_start>, sv_2iuv_common X<sv_2iuv_common>,
sv_2iuv_non_preserve X<sv_2iuv_non_preserve>, sv_add_backref
-X<sv_add_backref>, sv_catxmlpvn X<sv_catxmlpvn>, sv_catxmlsv
-X<sv_catxmlsv>, sv_del_backref X<sv_del_backref>, sv_dup_inc_multiple
-X<sv_dup_inc_multiple>, sv_exp_grow X<sv_exp_grow>, sv_free2 X<sv_free2>,
-sv_i_ncmp X<sv_i_ncmp>, sv_kill_backrefs X<sv_kill_backrefs>, sv_ncmp
-X<sv_ncmp>, sv_pos_b2u_midway X<sv_pos_b2u_midway>, sv_pos_u2b_cached
-X<sv_pos_u2b_cached>, sv_pos_u2b_forwards X<sv_pos_u2b_forwards>,
-sv_pos_u2b_midway X<sv_pos_u2b_midway>, sv_release_COW X<sv_release_COW>,
-sv_setsv_cow X<sv_setsv_cow>, sv_unglob X<sv_unglob>, sv_xmlpeek
-X<sv_xmlpeek>, swallow_bom X<swallow_bom>, swash_get X<swash_get>,
-to_byte_substr X<to_byte_substr>, to_utf8_substr X<to_utf8_substr>,
-token_free X<token_free>, token_getmad X<token_getmad>, tokenize_use
-X<tokenize_use>, tokeq X<tokeq>, tokereport X<tokereport>,
+X<sv_add_backref>, sv_catxmlpv X<sv_catxmlpv>, sv_catxmlpvn
+X<sv_catxmlpvn>, sv_catxmlsv X<sv_catxmlsv>, sv_compile_2op_is_broken
+X<sv_compile_2op_is_broken>, sv_del_backref X<sv_del_backref>,
+sv_dup_common X<sv_dup_common>, sv_dup_inc_multiple X<sv_dup_inc_multiple>,
+sv_exp_grow X<sv_exp_grow>, sv_free2 X<sv_free2>, sv_i_ncmp X<sv_i_ncmp>,
+sv_kill_backrefs X<sv_kill_backrefs>, sv_ncmp X<sv_ncmp>, sv_pos_b2u_midway
+X<sv_pos_b2u_midway>, sv_pos_u2b_cached X<sv_pos_u2b_cached>,
+sv_pos_u2b_forwards X<sv_pos_u2b_forwards>, sv_pos_u2b_midway
+X<sv_pos_u2b_midway>, sv_release_COW X<sv_release_COW>, sv_setsv_cow
+X<sv_setsv_cow>, sv_unglob X<sv_unglob>, sv_xmlpeek X<sv_xmlpeek>,
+swallow_bom X<swallow_bom>, swash_get X<swash_get>, tied_method
+X<tied_method>, to_byte_substr X<to_byte_substr>, to_utf8_substr
+X<to_utf8_substr>, token_free X<token_free>, token_getmad X<token_getmad>,
+tokenize_use X<tokenize_use>, tokeq X<tokeq>, tokereport X<tokereport>,
too_few_arguments X<too_few_arguments>, too_many_arguments
-X<too_many_arguments>, uiv_2buf X<uiv_2buf>, unpack_rec X<unpack_rec>,
-unshare_hek X<unshare_hek>, unshare_hek_or_pvn X<unshare_hek_or_pvn>,
+X<too_many_arguments>, try_amagic_bin X<try_amagic_bin>, try_amagic_un
+X<try_amagic_un>, uiv_2buf X<uiv_2buf>, unpack_rec X<unpack_rec>,
+unreferenced_to_tmp_stack X<unreferenced_to_tmp_stack>, unshare_hek
+X<unshare_hek>, unshare_hek_or_pvn X<unshare_hek_or_pvn>,
unwind_handler_stack X<unwind_handler_stack>, update_debugger_info
X<update_debugger_info>, usage X<usage>, utf16_textfilter
-X<utf16_textfilter>, utf8_mg_pos_cache_update X<utf8_mg_pos_cache_update>,
-utilize X<utilize>, validate_suid X<validate_suid>, varname X<varname>,
-vdie X<vdie>, vdie_common X<vdie_common>, vdie_croak_common
-X<vdie_croak_common>, visit X<visit>, vivify_defelem X<vivify_defelem>,
-vivify_ref X<vivify_ref>, wait4pid X<wait4pid>, watch X<watch>,
+X<utf16_textfilter>, utf8_mg_len_cache_update X<utf8_mg_len_cache_update>,
+utf8_mg_pos_cache_update X<utf8_mg_pos_cache_update>, utilize X<utilize>,
+validate_suid X<validate_suid>, varname X<varname>, visit X<visit>,
+vivify_defelem X<vivify_defelem>, vivify_ref X<vivify_ref>, wait4pid
+X<wait4pid>, watch X<watch>, with_queued_errors X<with_queued_errors>,
write_no_mem X<write_no_mem>, write_to_stderr X<write_to_stderr>,
xmldump_all X<xmldump_all>, xmldump_all_perl X<xmldump_all_perl>,
xmldump_attr X<xmldump_attr>, xmldump_eval X<xmldump_eval>, xmldump_form
X<xmldump_form>, xmldump_indent X<xmldump_indent>, xmldump_packsubs
X<xmldump_packsubs>, xmldump_packsubs_perl X<xmldump_packsubs_perl>,
xmldump_sub X<xmldump_sub>, xmldump_sub_perl X<xmldump_sub_perl>,
-xmldump_vindent X<xmldump_vindent>, yyerror X<yyerror>, yylex X<yylex>,
-yyparse X<yyparse>, yywarn X<yywarn>
+xmldump_vindent X<xmldump_vindent>, xs_apiversion_bootcheck
+X<xs_apiversion_bootcheck>, xs_version_bootcheck X<xs_version_bootcheck>,
+yyerror X<yyerror>, yylex X<yylex>, yyparse X<yyparse>, yyunlex X<yyunlex>,
+yywarn X<yywarn>
=item AUTHORS
@@ -6809,106 +6997,223 @@ PerlIO_apply_layers(f,mode,layers), PerlIO_binmode(f,ptype,imode,layers),
=back
-=head2 perlhack - How to hack at the Perl internals
+=head2 perlhack - How to hack on Perl
=over 4
=item DESCRIPTION
-Does concept match the general goals of Perl?, Where is the
-implementation?, Backwards compatibility, Could it be a module instead?, Is
-the feature generic enough?, Does it potentially introduce new bugs?, Does
-it preclude other desirable features?, Is the implementation robust?, Is
-the implementation generic enough to be portable?, Is the implementation
-tested?, Is there enough documentation?, Is there another way to do it?,
-Does it create too much work?, Patches speak louder than words
+=item SUPER QUICK PATCH GUIDE
+
+Check out the source repository, Make your change, Test your change, Commit
+your change, Send your change to perlbug, Thank you
+
+=item BUG REPORTING
+
+=item PERL 5 PORTERS
+
+=over 4
+
+=item perl-changes mailing list
+
+=back
+
+=item GETTING THE PERL SOURCE
=over 4
-=item Keeping in sync
+=item Read access via Git
+
+=item Read access via the web
+
+=item Read access via rsync
-=item Perlbug administration
+=item Write access via git
+
+=back
+
+=item PATCHING PERL
+
+=over 4
=item Submitting patches
-L<perlguts>, L<perlxstut> and L<perlxs>, L<perlapi>,
-F<Porting/pumpkin.pod>, The perl5-porters FAQ
+=item Getting your patch accepted
-=item Finding Your Way Around
+Why, What, How
-Core modules, Tests, Documentation, Configure, Interpreter
+=item Patching a core module
-=item Elements of the interpreter
+=item Updating perldelta
-Startup, Parsing, Optimization, Running, Exception handing
+=item What makes for a good patch?
-=item Internal Variable Types
+=back
-=item Op Trees
+=item TESTING
-=item Stacks
+F<t/base> and F<t/comp>, F<t/cmd>, F<t/run>, F<t/io> and F<t/op>,
+Everything else
-Argument stack, Mark stack, Save stack
+=over 4
-=item Millions of Macros
+=item Special C<make test> targets
-=item The .i Targets
+test_porting, coretest, test.deparse, test.taintwarn, minitest,
+test.valgrind check.valgrind utest.valgrind ucheck.valgrind, test.torture
+torturetest, utest ucheck test.utf8 check.utf8, minitest.utf16 test.utf16,
+test_harness, test-notty test_notty
+
+=item Parallel tests
+
+=item Running tests by hand
+
+=item Using F<t/harness> for testing
+
+-v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1,
+PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping,
+PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS
=back
-=item SOURCE CODE STATIC ANALYSIS
+=item MORE READING FOR GUTS HACKERS
+
+L<perlsource>, L<perlinterp>, L<perlhacktut>, L<perlhacktips>, L<perlguts>,
+L<perlxstut> and L<perlxs>, L<perlapi>, F<Porting/pumpkin.pod>, The
+perl5-porters FAQ
+
+=item CPAN TESTERS AND PERL SMOKERS
+
+=item WHAT NEXT?
=over 4
-=item lint, splint
+=item "The Road goes ever on and on, down from the door where it began."
-=item Coverity
+=item Metaphoric Quotations
-=item cpd (cut-and-paste detector)
+=back
-=item gcc warnings
+=item AUTHOR
-=item Warnings of other C compilers
+=back
-=item DEBUGGING
+=head2 perlsource - A guide to the Perl source tree
-=item Poking at Perl
+=over 4
-=item Using a source-level debugger
+=item DESCRIPTION
-run [args], break function_name, break source.c:xxx, step, next, continue,
-finish, 'enter', print
+=item FINDING YOUR WAY AROUND
-=item gdb macro support
+=over 4
-=item Dumping Perl Data Structures
+=item C code
-=item Patching
+=item Core modules
-=item Patching a core module
+F<lib/>, F<ext/>, F<dist/>, F<cpan/>
-=item Adding a new function to the core
+=item Tests
-=item Writing a test
+Module tests, F<t/base/>, F<t/cmd/>, F<t/comp/>, F<t/io/>, F<t/mro/>,
+F<t/op/>, F<t/re/>, F<t/run/>, F<t/uni/>, F<t/win32/>, F<t/porting/>,
+F<t/lib/>, F<t/x2p>
-F<t/base/>, F<t/cmd/>, F<t/comp/>, F<t/io/>, F<t/lib/>, F<t/mro/>,
-F<t/op/>, F<t/re/>, F<t/run/>, F<t/uni/>, F<t/win32/>, F<t/x2p>, t/base
-t/comp, t/cmd t/run t/io t/op, t/lib ext lib
+=item Documentation
-=item Special Make Test Targets
+=item Hacking toolks and documentation
-coretest, test.deparse, test.taintwarn, minitest, test.valgrind
-check.valgrind utest.valgrind ucheck.valgrind, test.third check.third
-utest.third ucheck.third, test.torture torturetest, utest ucheck test.utf8
-check.utf8, minitest.utf16 test.utf16, test_harness, Parallel tests
+F<check*>, F<Maintainers>, F<Maintainers.pl>, and F<Maintainers.pm>,
+F<podtidy>
-=item Running tests by hand
+=item Build system
--v, -torture, -re=PATTERN, -re LIST OF PATTERNS, PERL_CORE=1,
-PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST, PERL_TEST_Net_Ping,
-PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS
+=item F<AUTHORS>
+
+=item F<MANIFEST>
+
+=back
+
+=back
+
+=head2 perlinterp - An overview of the Perl interpreter
+
+=over 4
+
+=item DESCRIPTION
+
+=item ELEMENTS OF THE INTERPRETER
+
+=over 4
+
+=item Startup
+
+=item Parsing
+
+=item Optimization
+
+=item Running
+
+=item Exception handing
+
+=item INTERNAL VARIABLE TYPES
+
+=back
+
+=item OP TREES
+
+=item STACKS
+
+=over 4
+
+=item Argument stack
+
+=item Mark stack
+
+=item Save stack
+
+=back
+
+=item MILLIONS OF MACROS
+
+=item FURTHER READING
+
+=back
+
+=head2 perlhacktut - Walk through the creation of a simple C code patch
+
+=over 4
+
+=item DESCRIPTION
+
+=item EXAMPLE OF A SIMPLE PATCH
+
+=over 4
+
+=item Writing the patch
+
+=item Testing the patch
+
+=item Documenting the patch
+
+=item Submit
-=item Common problems when patching Perl source code
+=back
+
+=item AUTHOR
+
+=back
+
+=head2 perlhacktips - Tips for Perl core C code hacking
+
+=over 4
+
+=item DESCRIPTION
+
+=item COMMON PROBLEMS
+
+=over 4
=item Perl environment problems
@@ -6920,29 +7225,55 @@ PERL_TEST_NOVREXX, PERL_TEST_NUMCONVERTS
=back
-=item EXTERNAL TOOLS FOR DEBUGGING PERL
+=item DEBUGGING
=over 4
-=item Rational Software's Purify
+=item Poking at Perl
+
+=item Using a source-level debugger
+
+run [args], break function_name, break source.c:xxx, step, next, continue,
+finish, 'enter', print
-=item Purify on Unix
+=item gdb macro support
--Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity
+=item Dumping Perl Data Structures
-=item Purify on NT
+=back
+=item SOURCE CODE STATIC ANALYSIS
+
+=over 4
+
+=item lint, splint
+
+=item Coverity
+
+=item cpd (cut-and-paste detector)
+
+=item gcc warnings
+
+=item Warnings of other C compilers
+
+=back
+
+=item MEMORY DEBUGGERS
+
+=over 4
+
+=item Rational Software's Purify
+
+-Accflags=-DPURIFY, -Doptimize='-g', -Uusemymalloc, -Dusemultiplicity,
DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
=item valgrind
-=item Compaq's/Digital's/HP's Third Degree
-
-=item PERL_DESTRUCT_LEVEL
+=back
-=item PERL_MEM_LOG
+=item PROFILING
-=item Profiling
+=over 4
=item Gprof Profiling
@@ -6950,33 +7281,32 @@ DEFINES, USE_MULTI = define, #PERL_MALLOC = define, CFG = Debug
=item GCC gcov Profiling
-=item Pixie Profiling
+=back
--h, -l, -p[rocedures], -h[eavy], -i[nvocations], -l[ines], -testcoverage,
--z[ero]
+=item MISCELLANEOUS TRICKS
-=item Miscellaneous tricks
+=over 4
-=back
+=item PERL_DESTRUCT_LEVEL
-=item CONCLUSION
+=item PERL_MEM_LOG
-I<The Road goes ever on and on, down from the door where it began.>
+=item DDD over gdb
-=over 4
+=item Poison
-=item Metaphoric Quotations
+=item Read-only optrees
+
+=item The .i Targets
=back
=item AUTHOR
-=item SEE ALSO
-
=back
=head2 perlpolicy - Various and sundry policies and commitments related to
-the perl core
+the Perl core
=over 4
@@ -7010,78 +7340,109 @@ experimental, deprecated, discouraged, removed
=back
+=item DOCUMENTATION
+
=item CREDITS
=back
-=head2 perlrepository - Using the Perl source repository
+=head2 perlgit - Detailed information about git and the Perl repository
=over 4
-=item SYNOPSIS
+=item DESCRIPTION
+
+=item CLONING THE REPOSITORY
-=item Getting access to the repository
+=item WORKING WITH THE REPOSITORY
=over 4
-=item Read access via the web
+=item Finding out your status
-=item Read access via Git
+=item Patch workflow
-=item Write access to the repository
+=item Committing your changes
-=item A note on camel and dromedary
+=item Using git to send patch emails
+
+=item A note on derived files
+
+=item Cleaning a working directory
+
+=item Bisecting
+
+=item Topic branches and rewriting history
=back
-=item Overview of the repository
+=item WRITE ACCESS TO THE GIT REPOSITORY
=over 4
-=item Finding out your status
+=item Committing to blead
+
+=item Committing to maintenance versions
+
+=item Grafts
+
+=item Merging from a branch via GitHub
+
+=item A note on camel and dromedary
=back
-=item Submitting a patch
+=back
+
+=head2 perlbook - Books about and related to Perl
=over 4
-=item Using git to send patch emails
+=item DESCRIPTION
-=item A note on derived files
+=over 4
-=item Getting your patch accepted
+=item The most popular books
-Commit message, What, Why, How, Comments, Comments, Comments, Style,
-Testsuite
+I<Programming Perl> (the "Camel Book"):, I<The Perl Cookbook> (the "Ram
+Book"):, I<Learning Perl> (the "Llama Book"), I<Intermediate Perl> (the
+"Alpaca Book")
-=back
+=item References
-=item Accepting a patch
+I<Perl 5 Pocket Reference>, I<Perl Debugger Pocket Reference>, I<Regular
+Expression Pocket Reference>
-=item Cleaning a working directory
+=item Tutorials
-=item Bisecting
+I<Beginning Perl>, I<Learning Perl>, I<Intermediate Perl> (the "Alpaca
+Book"), I<Mastering Perl>, I<Effective Perl Programming>
-=item Submitting a patch via GitHub
+=item Task-Oriented
-=item Merging from a branch via GitHub
+I<Writing Perl Modules for CPAN>, I<The Perl Cookbook>, I<Automating System
+Administration with Perl>, I<Real World SQL Server Administration with
+Perl>
-=item Topic branches and rewriting history
+=item Special Topics
-=item Committing to maintenance versions
+I<Regular Expressions Cookbook>, I<Programming the Perl DBI>, I<Perl Best
+Practices>, I<Higher-Order Perl>, I<Mastering Regular Expressions>,
+I<Network Programming with Perl>, I<Perl Template Toolkit>, I<Object
+Oriented Perl>, I<Data Munging with Perl>, I<Mastering Perl/Tk>,
+I<Extending and Embedding Perl>, I<Pro Perl Debugging>
-=item Grafts
+=item Free (as in beer) books
-=item SEE ALSO
+=item Other interesting, non-Perl books
-=back
+I<Programming Pearls>, I<More Programming Pearls>
-=head2 perlbook - Perl book information
+=item A note on freshness
-=over 4
+=item Get your book listed
-=item DESCRIPTION
+=back
=back
@@ -7093,9 +7454,9 @@ Testsuite
=over 4
-=item Where to find the community
+=item Where to Find the Community
-=item Mailing lists and Newsgroups
+=item Mailing Lists and Newsgroups
=item IRC
@@ -7129,12 +7490,8 @@ L<http://perl.com/>, L<http://use.perl.org/>, L<http://www.perlmonks.org/>
=over 4
-=item Improve Porting/cmpVERSION.pl to work from git tags
-
=item Migrate t/ from custom TAP generation
-=item Test that regen.pl was run
-
=item Automate perldelta generation
Modules and Pragmata, New Documentation, New Tests
@@ -7157,8 +7514,6 @@ Modules and Pragmata, New Documentation, New Tests
=item Dual life everything
-=item Move dual-life pod/*.PL into ext
-
=item POSIX memory footprint
=item embed.pl/makedef.pl
@@ -7167,7 +7522,7 @@ Modules and Pragmata, New Documentation, New Tests
=item profile installman
-=item enable lexical enabling/disabling of inidvidual warnings
+=item enable lexical enabling/disabling of individual warnings
=back
@@ -7327,6 +7682,8 @@ C<cc> (in F<cc.U>), C<ld> (in F<dlsrc.U>)
=item optimize tail-calls
+=item Add C<00dddd>
+
=back
=item Big projects
@@ -7339,8 +7696,6 @@ C<cc> (in F<cc.U>), C<ld> (in F<dlsrc.U>)
=item (?{...}) closures in regexps
-=item A re-entrant regexp engine
-
=item Add class set operations to regexp engine
=back
@@ -7421,27 +7776,1467 @@ B<-V>
=back
-=head2 perldelta - what is new for perl v5.12.3
+=head2 perldelta - what is new for perl v5.14.2
=over 4
=item DESCRIPTION
+=item Core Enhancements
+
+=item Security
+
+=over 4
+
+=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
+(CVE-2011-2728).
+
+=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
+
+=back
+
=item Incompatible Changes
+=item Deprecations
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+=item Removed Modules and Pragmata
+
+=back
+
+=item Platform Support
+
+=over 4
+
+=item New Platforms
+
+=item Discontinued Platforms
+
+=item Platform-Specific Notes
+
+HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
+4 works again
+
+=back
+
+=item Bug Fixes
+
+=item Known Problems
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5142delta, perldelta - what is new for perl v5.14.2
+
+=over 4
+
+=item DESCRIPTION
+
=item Core Enhancements
+=item Security
+
=over 4
-=item C<keys>, C<values> work on arrays
+=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
+(CVE-2011-2728).
+
+=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
+
+=back
+
+=item Incompatible Changes
+
+=item Deprecations
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+=item Removed Modules and Pragmata
+
+=back
+
+=item Platform Support
+
+=over 4
+
+=item New Platforms
+
+=item Discontinued Platforms
+
+=item Platform-Specific Notes
+
+HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
+4 works again
=back
=item Bug Fixes
+=item Known Problems
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5141delta - what is new for perl v5.14.1
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=item Security
+
+=item Incompatible Changes
+
+=item Deprecations
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+=item Removed Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item New Documentation
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Utility Changes
+
+=item Configuration and Compilation
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item New Platforms
+
+=item Discontinued Platforms
+
+=item Platform-Specific Notes
+
+=back
+
+=item Internal Changes
+
+=item Bug Fixes
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5140delta - what is new for perl v5.14.0
+
+=over 4
+
+=item DESCRIPTION
+
+=item Notice
+
+=item Core Enhancements
+
+=over 4
+
+=item Unicode
+
+=item Regular Expressions
+
+=item Syntactical Enhancements
+
+=item Exception Handling
+
+=item Other Enhancements
+
+C<-d:-foo>, C<-d:-foo=bar>
+
+=item New C APIs
+
+=back
+
+=item Security
+
+=over 4
+
+=item User-defined regular expression properties
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item Regular Expressions and String Escapes
+
+=item Stashes and Package Variables
+
+=item Changes to Syntax or to Perl Operators
+
+=item Threads and Processes
+
+=item Configuration
+
+=back
+
+=item Deprecations
+
+=over 4
+
+=item Omitting a space between a regular expression and subsequent word
+
+=item C<\cI<X>>
+
+=item C<"\b{"> and C<"\B{">
+
+=item Perl 4-era .pl libraries
+
+=item List assignment to C<$[>
+
+=item Use of qw(...) as parentheses
+
+=item C<\N{BELL}>
+
+=item C<?PATTERN?>
+
+=item Tie functions on scalars holding typeglobs
+
+=item User-defined case-mapping
+
+=item Deprecated modules
+
+L<Devel::DProf>
+
+=back
+
+=item Performance Enhancements
+
+=over 4
+
+=item "Safe signals" optimisation
+
+=item Optimisation of shift() and pop() calls without arguments
+
+=item Optimisation of regexp engine string comparison work
+
+=item Regular expression compilation speed-up
+
+=item String appending is 100 times faster
+
+=item Eliminate C<PL_*> accessor functions under ithreads
+
+=item Freeing weak references
+
+=item Lexical array and hash assignments
+
+=item C<@_> uses less memory
+
+=item Size optimisations to SV and HV structures
+
+=item Memory consumption improvements to Exporter
+
+=item Memory savings for weak references
+
+=item C<%+> and C<%-> use less memory
+
+=item Multiple small improvements to threads
+
+=item Adjacent pairs of nextstate opcodes are now optimized away
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragma
+
+much less configuration dialog hassle, support for F<META/MYMETA.json>,
+support for L<local::lib>, support for L<HTTP::Tiny> to reduce the
+dependency on FTP sites, automatic mirror selection, iron out all known
+bugs in configure_requires, support for distributions compressed with
+L<bzip2(1)>, allow F<Foo/Bar.pm> on the command line to mean C<Foo::Bar>,
+charinfo(), charscript(), charblock()
+
+=item Removed Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item New Documentation
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+Closure prototype called, Insecure user-defined property %s, panic: gp_free
+failed to free glob pointer - something is repeatedly re-creating entries,
+Parsing code internal error (%s), refcnt: fd %d%s, Regexp modifier "/%c"
+may not appear twice, Regexp modifiers "/%c" and "/%c" are mutually
+exclusive, Using !~ with %s doesn't make sense, "\b{" is deprecated; use
+"\b\{" instead, "\B{" is deprecated; use "\B\{" instead, Operation "%s"
+returns its argument for .., Use of qw(...) as parentheses is deprecated
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Utility Changes
+
+=item Configuration and Compilation
+
+=item Platform Support
+
+=over 4
+
+=item New Platforms
+
+AIX
+
+=item Discontinued Platforms
+
+Apollo DomainOS, MacOS Classic
+
+=item Platform-Specific Notes
+
+=back
+
+=item Internal Changes
+
+=over 4
+
+=item New APIs
+
+=item C API Changes
+
+=item Deprecated C APIs
+
+C<Perl_ptr_table_clear>, C<sv_compile_2op>, C<find_rundefsvoffset>,
+C<CALL_FPTR> and C<CPERLscope>
+
+=item Other Internal Changes
+
+=back
+
+=item Selected Bug Fixes
+
+=over 4
+
+=item I/O
+
+=item Regular Expression Bug Fixes
+
+=item Syntax/Parsing Bugs
+
+=item Stashes, Globs and Method Lookup
+
+Aliasing packages by assigning to globs [perl #77358], Deleting packages by
+deleting their containing stash elements, Undefining the glob containing a
+package (C<undef *Foo::>), Undefining an ISA glob (C<undef *Foo::ISA>),
+Deleting an ISA stash element (C<delete $Foo::{ISA}>), Sharing @ISA arrays
+between classes (via C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>)
+[perl #77238]
+
+=item Unicode
+
+=item Ties, Overloading and Other Magic
+
+=item The Debugger
+
+=item Threads
+
+=item Scoping and Subroutines
+
+=item Signals
+
+=item Miscellaneous Memory Leaks
+
+=item Memory Corruption and Crashes
+
+=item Fixes to Various Perl Operators
+
+=item Bugs Relating to the C API
+
+=back
+
+=item Known Problems
+
+=item Errata
+
+=over 4
+
+=item keys(), values(), and each() work on arrays
+
+=item split() and C<@_>
+
+=back
+
+=item Obituary
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl51311delta - what is new for perl v5.13.11
+
+=over 4
+
+=item DESCRIPTION
+
+=item Security
+
+=over 4
+
+=item User-defined regular expression properties
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item local($_) will strip all magic from $_
+
+=item Passing references to warn()
+
+=item fork() emulation will not wait for signalled children
+
+=item Perl source code is read in text mode on Windows
+
+=back
+
+=item Performance Enhancements
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules and Pragmata
+
+charinfo(), charscript(), charblock()
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+=back
+
+=item Testing
+
+=item Selected Bug Fixes
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl51310delta - what is new for perl v5.13.10
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item The new regular expression modifiers available in suffix form
+
+=item Add C<\p{Titlecase}> as a synonym for C<\p{Title}>
+
+=item New regular expression modifier option C</aa>
+
+=item New warnings categories for problematic (non-)Unicode code points.
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item Most C<\p{}> properties are now immune from case-insensitive matching
+
+=item regex: \p{} in pattern implies Unicode semantics
+
+=item add GvCV_set() and GvGP_set() macros and change GvGP()
+
+=item _swash_inversion_hash is no longer exported as part of the API
+
+=item Unreferenced objects in global destruction
+
+=item C<close> on shared pipes
+
+=back
+
+=item Deprecations
+
+Deprecated Modules, L<Devel::DProf>
+
+=over 4
+
+=item User-defined case-mapping
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+"\b{" is deprecated; use "\b\{" instead, "\B{" is deprecated; use "\B\{"
+instead, regcomp: Add warning if \p is used under locale. (fb2e24c), panic:
+gp_free failed to free glob pointer - something is repeatedly re-creating
+entries, refcnt: fd %d%s
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Utility Changes
+
+=item Configuration and Compilation
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Platform-Specific Notes
+
+Windows, MirBSD
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5139delta - what is new for perl v5.13.9
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item New regular expression modifier C</a>
+
+=item Any unsigned value can be encoded as a character
+
+=item Regular expression debugging output improvement
+
+=back
+
+=item Security
+
+=over 4
+
+=item Restrict \p{IsUserDefined} to In\w+ and Is\w+
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item All objects are destroyed
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Utility Changes
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Discontinued Platforms
+
+Apollo DomainOS, MacOS Classic
+
+=item Platform-Specific Notes
+
+Cygwin, Solaris
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Known Problems
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5138delta - what is new for perl v5.13.8
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item C<-d:-foo> calls C<Devel::foo::unimport>
+
+C<-d:-foo>, C<-d:-foo=bar>
+
+=item Filehandle method calls load L<IO::File> on demand
+
+=item Full functionality for C<use feature 'unicode_strings'>
+
+=item Exception Handling Backcompat Hack
+
+=item printf-like functions understand post-1980 size modifiers
+
+=item DTrace probes now include package name
+
+=item Stacked labels
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item C<:=> is now a syntax error
+
+=item Run-time code block in regular expressions
+
+=back
+
+=item Deprecations
+
+=over 4
+
+=item C<?PATTERN?> is deprecated
+
+=item C<sv_compile_2op()> is now deprecated
+
+=item Tie functions on scalars holding typeglobs
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules and Pragmata
+
+=item Dual-life Modules and Pragmata
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Configuration and Compilation
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Platform-Specific Notes
+
+NetBSD, Windows
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5137delta - what is new for perl v5.13.7
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item Single term prototype
+
+=item C<use re '/flags';>
+
+=item Statement labels can appear in more places
+
+=item C<use feature "unicode_strings"> now applies to more regex matching
+
+=item Array and hash container functions accept references
+
+=item y///r
+
+=item New global variable C<${^GLOBAL_PHASE}>
+
+=item Unicode Version 6.0 is now supported (mostly)
+
+=item Improved support for custom OPs
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item Dereferencing typeglobs
+
+=item Clearing stashes
+
+=back
+
+=item Deprecations
+
+=over 4
+
+=item C<\N{BELL}> is deprecated
+
+=back
+
+=item Performance Enhancements
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item New Documentation
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+=back
+
+=item Utility Changes
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Platform-Specific Notes
+
+Windows, VMS
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Obituary
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5136delta - what is new for perl v5.13.6
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item C<(?^...)> regex construct added to signify default modifiers
+
+=item C<"d">, C<"l">, and C<"u"> regex modifiers added
+
+=item C<use feature "unicode_strings"> now applies to some regex matching
+
+=item C<\N{...}> now handles Unicode named character sequences
+
+=item New function C<charnames::string_vianame()>
+
+=item Reentrant regular expression engine
+
+=item Custom per-subroutine check hooks
+
+=item Return value of C<delete $+{...}>
+
+=item C<keys>, C<values> work on arrays
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item Stringification of regexes has changed
+
+=item Regular expressions retain their localeness when interpolated
+
+=item Directory handles not copied to threads
+
+=item Negation treats strings differently from before
+
+=item Negative zero
+
+=back
+
+=item Performance Enhancements
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Platform-Specific Notes
+
+IRIX, Mac OS X, OpenVOS, VMS, Windows
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Errata
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5135delta - what is new for perl v5.13.5
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item Adjacent pairs of nextstate opcodes are now optimized away
+
+=item API function to parse statements
+
+=item API functions for accessing the runtime hinthash
+
+=item C interface to C<caller()>
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item Magic variables outside the main package
+
+=item Smart-matching against array slices
+
+=item C API changes
+
+=back
+
+=item Deprecations
+
+=over 4
+
+=item Use of qw(...) as parentheses
+
+=back
+
+=item Performance Enhancements
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules and Pragmata
+
+C<bignum>, C<blib>, C<open>, C<threads-shared>, C<warnings> and
+C<warnings::register>, C<B::Debug>, C<CPANPLUS::Dist::Build>,
+C<Data::Dumper>, C<Encode>, C<Errno>, C<ExtUtils::MakeMaker>,
+C<Filter::Simple>, C<Hash::Util>, C<Math::BigInt>,
+C<Math::BigInt::FastCalc>, C<Math::BigRat>, C<Module::CoreList>,
+C<PerlIO::scalar>, C<POSIX>, C<Safe>, C<Test::Simple>, C<Tie::Hash>,
+C<Unicode::Collate>, C<XSLoader>
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Diagnostics
+
+=over 4
+
+=item New Diagnostics
+
+=item Changes to Existing Diagnostics
+
+=back
+
+=item Utility Changes
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Platform-Specific Notes
+
+VMS
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Known Problems
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5134delta - what is new for perl v5.13.4
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item C<srand()> now returns the seed
+
+=item C<\N{I<name>}> and C<charnames> enhancements
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item Declare API incompatibility between blead releases
+
+=item Check API compatibility when loading XS modules
+
+=item Binary Incompatible with all previous Perls
+
+=item Change in the parsing of certain prototypes
+
+=back
+
+=item Deprecations
+
+=over 4
+
+=item List assignment to C<$[>
+
+=back
+
+=item Performance Enhancements
+
+=item Modules and Pragmata
+
+=over 4
+
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
+
+C<Archive::Tar>, C<B::Lint>, C<Carp>, C<Compress::Raw::Bzip2>,
+C<Compress::Raw::Zlib>, C<File::Spec>, C<I18N::Langinfo>, C<IO::Compress>,
+C<Module::CoreList>, C<Test::Harness>, C<Test::Simple>,
+C<Unicode::Collate>, C<feature>
+
+=item Removed Modules and Pragmata
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Configuration and Compilation
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Platform-Specific Notes
+
+Win32
+
+=back
+
+=item Internal Changes
+
+Removed C<PERL_POLLUTE>, Added C<PERL_STATIC_INLINE>
+
+=item Selected Bug Fixes
+
+=item Known Problems
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5133delta - what is new for perl v5.13.3
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item \o{...} for octals
+
+=item C<\N{I<name>}> and C<charnames> enhancements
+
+=item Uppercase X/B allowed in hexadecimal/binary literals
+
+=back
+
+=item Incompatible Changes
+
+=over 4
+
+=item \400 - \777
+
+=back
+
+=item Deprecations
+
+=over 4
+
+=item Omitting a space between a regular expression and subsequent word
+
+=item Deprecation warning added for deprecated-in-core .pl libs
+
+=back
+
+=item Performance Enhancements
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules and Pragmata
+
+C<autodie>, C<charnames>, C<lib>, C<threads>, C<threads::shared>,
+C<warnings>, C<Archive::Extract>, C<Archive::Tar>, C<Attribute::Handlers>,
+C<Compress::Raw::Bzip2>, C<Compress::Raw::Zlib>, C<Compress::Zlib>,
+C<CPANPLUS>, C<Digest::MD5>, C<Digest::SHA>, C<Exporter>,
+C<ExtUtils::CBuilder>, C<ExtUtils::Manifest>, C<ExtUtils::ParseXS>,
+C<File::Copy>, C<I18N::LangTags>, C<IPC::Cmd>, C<IPC::SysV>,
+C<Locale::Maketext>, C<Module::Build>, C<Module::CoreList>,
+C<Module::Load>, C<Term::ANSIColor>, C<Test::Harness>, C<Time::HiRes>,
+C<Time::Piece>, C<Unicode::Collate>, C<Unicode::Normalize>
+
+=back
+
+=item Documentation
+
+=over 4
+
+=item New Documentation
+
+=item Changes to Existing Documentation
+
+=back
+
+=item Utility Changes
+
+=item Configuration and Compilation
+
+=item Testing
+
+=item Platform Support
+
+=over 4
+
+=item Discontinued Platforms
+
+MacOS Classic
+
+=item Platform-Specific Notes
+
+Win32
+
+=back
+
+=item Internal Changes
+
+=item Selected Bug Fixes
+
+=item Known Problems
+
+=item Errata
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5132delta - what is new for perl v5.13.2
+
+=over 4
+
+=item DESCRIPTION
+
+=item Incompatible Changes
+
+=over 4
+
+=item localised tied scalars are tied again.
+
+=item Naming fixes in Policy_sh.SH may invalidate Policy.sh
+
+=item Stashes are now always defined
+
+=back
+
+=item Core Enhancements
+
+=over 4
+
+=item Non-destructive substitution
+
+=item package block syntax
+
+=item CLONE_PARAMS structure added to ease correct thread creation
+
+=item perl -h no longer recommends -w
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules
+
+release 1.94_57, bugfix: treat modules correctly that are deprecated in
+perl 5.12, bugfix: RT #57482 and #57788 revealed that configure_requires
+implicitly assumed build_requires instead of normal requires. (Reported by
+Andrew Whatson and Father Chrysostomos respectively), testfix: solaris
+should run the tests without expect because (some?) solaris have a broken
+expect, testfix: run tests with cache_metadata off to prevent spill over
+effects from previous test runs
+
+=back
+
+=item Changes to Existing Documentation
+
+=over 4
+
+=item Replace wrong tr/// table in perlebcdic.pod
+
+=item Document tricks for user-defined casing
+
+=item Document $# and $* as removed and clarify $#array usage
+
+=item INSTALL explicitly states the requirement for C89
+
+=item No longer advertise Math::TrulyRandom
+
+=item perlfaq synchronised to upstream
+
+=back
+
+=item Performance Enhancements
+
+=over 4
+
+=item Multiple small improvements to threads
+
+=item Size optimisations to SV and HV structures
+
+=item Optimisation of regexp engine string comparison work
+
+=item Memory consumption improvements to Exporter
+
+=back
+
+=item Installation and Configuration Improvements
+
+=over 4
+
+=item Compilation improvements
+
+=back
+
+=item Selected Bug Fixes
+
+Timely cleanup of SVs that are cloned into a new thread but then discovered
+to be orphaned (i.e. their owners are -not- cloned) (e42956), Don't
+accidentally clone lexicals in scope within active stack frames in the
+parent when creating a child thread (RT #73086) (05d04d), Avoid loading
+feature.pm when 'no 5.13.2;' or similar is encountered (faee19), Trap
+invalid use of SvIVX on SVt_REGEXP when assertions are on (e77da3), Don't
+stamp on $DB::single, $DB::trace and $DB::signal if they already have
+values when $^P is assigned to (RT #72422) (4c0f30), chop now correctly
+handles perl's extended UTF-8 (RT #73246) (65ab92), Defer signal handling
+when shared SV locks are held to avoid deadlocks (RT #74868) (65c742),
+glob() no longer crashes when %File::Glob:: is empty and CORE::GLOBAL::glob
+isn't present (4984aa), perlbug now always permits the sender address to be
+changed before sending - if you were having trouble sending bug reports
+before now, this should fix it, we hope (e6eb90), Overloading now works
+properly in conjunction with tied variables. What formerly happened was
+that most ops checked their arguments for overloading I<before> checking
+for magic, so for example an overloaded object returned by a tied array
+access would usually be treated as not overloaded (RT #57012) (6f1401,
+ed3b9b, 6a5f8c .. 24328f), Independently, a bug was fixed that prevented
+$tied-E<gt>() from always calling FETCH correctly (RT #8438) (7c7501)
+
+=item Changed Internals
+
+The implementation of sv_dup_inc() has changed from a macro to a function
+
+=item Deprecations
+
=item Platform Specific Notes
-Solaris, VMS, VOS
+=over 4
+
+=item Recent OpenBSDs now use perl's malloc
+
+=back
=item Acknowledgements
@@ -7451,7 +9246,114 @@ Solaris, VMS, VOS
=back
-=head2 perl5123delta, perldelta - what is new for perl v5.12.3
+=head2 perl5131delta - what is new for perl v5.13.1
+
+=over 4
+
+=item DESCRIPTION
+
+=item Incompatible Changes
+
+=over 4
+
+=item "C<\cI<X>>"
+
+=item localised tied hashes, arrays and scalars are no longed tied
+
+=item C<given> return values
+
+=back
+
+=item Core Enhancements
+
+=over 4
+
+=item Exception Handling Reliability
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules
+
+C<Errno>, Perl 4 C<.pl> libraries, C<B::Deparse>
+
+=item Removed Modules and Pragmata
+
+C<Class::ISA>, C<Pod::Plainer>, C<Switch>
+
+=back
+
+=item New Documentation
+
+perlgpl
+
+=item Selected Bug Fixes
+
+=item Changed Internals
+
+=item Deprecations
+
+C<Perl_ptr_table_clear>
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5130delta - what is new for perl v5.13.0
+
+=over 4
+
+=item DESCRIPTION
+
+=item Core Enhancements
+
+=over 4
+
+=item "safe signals" optimization
+
+=item Assignment to C<$0> sets the legacy process name with C<prctl()> on
+Linux
+
+=item Optimization of shift; and pop; calls without arguments
+
+=back
+
+=item Modules and Pragmata
+
+=over 4
+
+=item Updated Modules
+
+CGI, Data::Dumper, MIME::Base64, threads, threads-shared
+
+=back
+
+=item Installation and Configuration Improvements
+
+=over 4
+
+=item Platform Specific Changes
+
+AIX
+
+=back
+
+=item Acknowledgements
+
+=item Reporting Bugs
+
+=item SEE ALSO
+
+=back
+
+=head2 perl5123delta - what is new for perl v5.12.3
=over 4
@@ -7541,7 +9443,7 @@ C<Carp>, C<CPANPLUS>, C<File::Glob>, C<File::Copy>, C<File::Spec>
=back
-=head2 perl5121delta, perldelta - what is new for perl v5.12.1
+=head2 perl5121delta - what is new for perl v5.12.1
=over 4
@@ -7641,7 +9543,7 @@ C<Carp>, C<CPANPLUS>, C<File::Glob>, C<File::Copy>, C<File::Spec>
=item Support for C<configure_requires> in CPAN module metadata
-=item C<each> is now more flexible
+=item C<each>, C<keys>, C<values> are now more flexible
=item C<when> as a statement modifier
@@ -10539,7 +12441,7 @@ Win32::GetOSVersion
=item Self-tying of Arrays and Hashes Is Forbidden
-=item Variable Attributes are not Currently Usable for Tieing
+=item Variable Attributes are not Currently Usable for Tying
=item Building Extensions Can Fail Because Of Largefiles
@@ -12045,8 +13947,6 @@ a), b), c), d), a), b), c), d)
=item AUTHORS
-=item DATE
-
=back
=head2 perlamiga - Perl under Amiga OS
@@ -12115,16 +14015,6 @@ B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
=back
-=head2 perlapollo, README.apollo - Perl version 5 on Apollo DomainOS
-
-=over 4
-
-=item DESCRIPTION
-
-=item AUTHOR
-
-=back
-
=head2 perlbeos, README.beos - Perl version 5.8+ on BeOS
=over 4
@@ -12455,8 +14345,6 @@ DJGPP, Pthreads
=item $^X doesn't always contain a full path in FreeBSD
-=item Perl will no longer be part of "base FreeBSD"
-
=back
=item AUTHOR
@@ -12636,10 +14524,6 @@ DJGPP, Pthreads
=item Known problems
-=item MacPerl
-
-=item Carbon
-
=item Cocoa
=back
@@ -13494,26 +15378,28 @@ utime LIST, waitpid PID,FLAGS
=item DESCRIPTION
+L<http://mingw.org>, L<http://mingw-w64.sf.net>
+
=over 4
-=item Setting Up Perl on Win32
+=item Setting Up Perl on Windows
Make, Command Shell, Borland C++, Microsoft Visual C++, Microsoft Visual
-C++ 2008 Express Edition, Microsoft Visual C++ 2005 Express Edition,
+C++ 2008/2010 Express Edition, Microsoft Visual C++ 2005 Express Edition,
Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler,
-MinGW release 3 with gcc, MinGW release 1 with gcc
+MinGW release 3 with gcc
=item Building
-=item Testing Perl on Win32
+=item Testing Perl on Windows
-=item Installation of Perl on Win32
+=item Installation of Perl on Windows
-=item Usage Hints for Perl on Win32
+=item Usage Hints for Perl on Windows
Environment Variables, File Globbing, Using perl from the command line,
-Building Extensions, Command-line Wildcard Expansion, Win32 Specific
-Extensions, Notes on 64-bit Windows
+Building Extensions, Command-line Wildcard Expansion, Notes on 64-bit
+Windows
=item Running Perl Scripts
@@ -13530,7 +15416,7 @@ Extensions, Notes on 64-bit Windows
Gary Ng E<lt>71564.1743@CompuServe.COME<gt>, Gurusamy Sarathy
E<lt>gsar@activestate.comE<gt>, Nick Ing-Simmons
E<lt>nick@ing-simmons.netE<gt>, Jan Dubois E<lt>jand@activestate.comE<gt>,
-Steve Hay E<lt>steve.hay@uk.radan.comE<gt>
+Steve Hay E<lt>steve.m.hay@googlemail.comE<gt>
=item SEE ALSO
@@ -13540,1537 +15426,10 @@ Steve Hay E<lt>steve.hay@uk.radan.comE<gt>
=head1 PRAGMA DOCUMENTATION
-=head2 attributes - get/set subroutine or variable attributes
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item What C<import> does
-
-=item Built-in Attributes
-
-lvalue, method, locked
-
-=item Available Subroutines
-
-get, reftype
-
-=item Package-specific Attribute Handling
-
-FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
-
-=item Syntax of Attribute Lists
-
-=back
-
-=item EXPORTS
-
-=over 4
-
-=item Default exports
-
-=item Available exports
-
-=item Export tags defined
-
-=back
-
-=item EXAMPLES
-
-=item MORE EXAMPLES
-
-=item SEE ALSO
-
-=back
-
-=head2 autouse::lib::autouse, autouse - postpone load of modules until a
-function is used
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item WARNING
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 mro - Method Resolution Order
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item OVERVIEW
-
-=item The C3 MRO
-
-=over 4
-
-=item What is C3?
-
-=item How does C3 work
-
-=back
-
-=item Functions
-
-=over 4
-
-=item mro::get_linear_isa($classname[, $type])
-
-=item mro::set_mro ($classname, $type)
-
-=item mro::get_mro($classname)
-
-=item mro::get_isarev($classname)
-
-=item mro::is_universal($classname)
-
-=item mro::invalidate_all_method_caches()
-
-=item mro::method_changed_in($classname)
-
-=item mro::get_pkg_gen($classname)
-
-=item next::method
-
-=item next::can
-
-=item maybe::next::method
-
-=back
-
-=item SEE ALSO
-
-=over 4
-
-=item The original Dylan paper
-
-L<http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>
-
-=item Pugs
-
-=item Parrot
-
-L<http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631>,
-L<http://use.perl.org/~autrijus/journal/25768>
-
-=item Python 2.3 MRO related links
-
-L<http://www.python.org/2.3/mro.html>,
-L<http://www.python.org/2.2.2/descrintro.html#mro>
-
-=item C3 for TinyCLOS
-
-L<http://www.call-with-current-continuation.org/eggs/c3.html>
-
-=item Class::C3
-
-L<Class::C3>
-
-=back
-
-=item AUTHOR
-
-=back
-
-=head2 re - Perl pragma to alter regular expression behaviour
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item 'taint' mode
-
-=item 'eval' mode
-
-=item 'debug' mode
-
-=item 'Debug' mode
-
-Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, Execute
-related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options,
-EXTRA, BUFFERS, TRIEM, STATE, STACK, OPTIMISEM, OFFSETS, OFFSETSDBG, Other
-useful flags, ALL, All, MORE, More
-
-=item Exportable Functions
-
-is_regexp($ref), regexp_pattern($ref), regmust($ref), regname($name,$all),
-regnames($all), regnames_count()
-
-=back
-
-=item SEE ALSO
-
-=back
-
-=head2 autodie - Replace functions with ones that succeed or die with
-lexical scope
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item EXCEPTIONS
-
-=item CATEGORIES
-
-=item FUNCTION SPECIFIC NOTES
-
-=over 4
-
-=item flock
-
-=item system/exec
-
-=back
-
-=item GOTCHAS
-
-=item DIAGNOSTICS
-
-:void cannot be used with lexical scope, No user hints defined for %s
-
-=item BUGS
-
-=over 4
-
-=item autodie and string eval
-
-=item REPORTING BUGS
-
-=back
-
-=item FEEDBACK
-
-=item AUTHOR
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item ACKNOWLEDGEMENTS
-
-=back
-
-=head2 autodiexception, autodie::exception - Exceptions from autodying
-functions.
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Common Methods
-
-=back
-
-=back
-
-=over 4
-
-=item Advanced methods
-
-=back
-
-=over 4
-
-=item SEE ALSO
-
-=item LICENSE
-
-=item AUTHOR
-
-=back
-
-=head2 autodiexception::system, autodie::exception::system - Exceptions
-from autodying system().
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=over 4
-
-=item stringify
-
-=back
-
-=over 4
-
-=item LICENSE
-
-=item AUTHOR
-
-=back
-
-=head2 autodie::hints - Provide hints about user subroutines to autodie
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Introduction
-
-=item What are hints?
-
-=item Example hints
-
-=back
-
-=item Manually setting hints from within your program
-
-=item Adding hints to your module
-
-=item Insisting on hints
-
-=back
-
-=over 4
-
-=item Diagnostics
-
-Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be
-provided with either scalar or list hints for %s, %s hint missing for %s
-
-=item ACKNOWLEDGEMENTS
-
-=item AUTHOR
-
-=item LICENSE
-
-=item SEE ALSO
-
-=back
-
-=head2 autouse - postpone load of modules until a function is used
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item WARNING
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 base - Establish an ISA relationship with base classes at compile
-time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item DIAGNOSTICS
-
-Base class package "%s" is empty, Class 'Foo' tried to inherit from itself
-
-=item HISTORY
-
-=item CAVEATS
-
-=item SEE ALSO
-
-=back
-
-=head2 bigint - Transparent BigInteger support for Perl
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item use integer vs. use bigint
-
-=item Options
-
-a or accuracy, p or precision, t or trace, hex, oct, l, lib, try or only, v
-or version
-
-=item Math Library
-
-=item Internal Format
-
-=item Sign
-
-=item Methods
-
-inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
-
-=item MATH LIBRARY
-
-=item Caveat
-
-=back
-
-=item CAVAETS
-
-in_effect(), hex()/oct()
-
-=item MODULES USED
-
-=item EXAMPLES
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=back
-
-=head2 bignum - Transparent BigNumber support for Perl
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Options
-
-a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
-
-=item Methods
-
-=item Caveats
-
-inf(), NaN(), e, PI(), bexp(), bpi(), upgrade(), in_effect()
-
-=item Math Library
-
-=item INTERNAL FORMAT
-
-=item SIGN
-
-=back
-
-=item CAVAETS
-
-in_effect(), hex()/oct()
-
-=item MODULES USED
-
-=item EXAMPLES
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=back
-
-=head2 bigrat - Transparent BigNumber/BigRational support for Perl
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Modules Used
-
-=item Math Library
-
-=item Sign
-
-=item Methods
-
-inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
-
-=item MATH LIBRARY
-
-=item Cavaet
-
-=item Options
-
-a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
-
-=back
-
-=item CAVAETS
-
-in_effect(), hex()/oct()
-
-=item EXAMPLES
-
- perl -Mbigrat -le 'print sqrt(33)'
- perl -Mbigrat -le 'print 2*255'
- perl -Mbigrat -le 'print 4.5+2*255'
- perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'
- perl -Mbigrat -le 'print 12->is_odd()';
- perl -Mbignum=l,GMP -le 'print 7 ** 7777'
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=back
-
-=head2 blib - Use MakeMaker's uninstalled version of a package
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 bytes - Perl pragma to force byte semantics rather than character
-semantics
-
-=over 4
-
-=item NOTICE
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item LIMITATIONS
-
-=item SEE ALSO
-
-=back
-
-=head2 charnames - define character names for C<\N{named}> string literal
-escapes
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item ALIASES
-
-=item CUSTOM ALIASES
-
-=over 4
-
-=item Anonymous hashes
-
-=item Alias file
-
-=item Alias shortcut
-
-=back
-
-=item charnames::viacode(code)
-
-=item charnames::vianame(name)
-
-=item CUSTOM TRANSLATORS
-
-=item ILLEGAL CHARACTERS
-
-=item BUGS
-
-=back
-
-=head2 constant - Perl pragma to declare constants
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item NOTES
-
-=over 4
-
-=item List constants
-
-=item Defining multiple constants at once
-
-=item Magic constants
-
-=back
-
-=item TECHNICAL NOTES
-
-=item CAVEATS
-
-=item SEE ALSO
-
-=item BUGS
-
-=item AUTHORS
-
-=item COPYRIGHT & LICENSE
-
-=back
-
-=head2 deprecate - Perl pragma for deprecating the core version of a module
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item EXPORT
-
-=back
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 diagnostics, splain - produce verbose warning diagnostics
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item The C<diagnostics> Pragma
-
-=item The I<splain> Program
-
-=back
-
-=item EXAMPLES
-
-=item INTERNALS
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 encoding - allows you to write your script in non-ascii or non-utf8
-
-=over 4
-
-=item SYNOPSIS
-
-=item ABSTRACT
-
-=over 4
-
-=item Literal Conversions
-
-=item PerlIO layers for C<STD(IN|OUT)>
-
-=item Implicit upgrading for byte strings
-
-=item Side effects
-
-=back
-
-=item FEATURES THAT REQUIRE 5.8.1
-
-"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle
-
-=item USAGE
-
-use encoding [I<ENCNAME>] ;, use encoding I<ENCNAME> [ STDIN =E<gt>
-I<ENCNAME_IN> ...] ;, use encoding I<ENCNAME> Filter=E<gt>1;, no encoding;
-
-=item The Filter Option
-
-=over 4
-
-=item Filter-related changes at Encode version 1.87
-
-=back
-
-=item CAVEATS
-
-=over 4
-
-=item NOT SCOPED
-
-=item DO NOT MIX MULTIPLE ENCODINGS
-
-=item tr/// with ranges
-
-Legend of characters above
-
-=back
-
-=item EXAMPLE - Greekperl
-
-=item KNOWN PROBLEMS
-
-literals in regex that are longer than 127 bytes, EBCDIC, format, Thread
-safety
-
-=over 4
-
-=item The Logic of :locale
-
-=back
-
-=item HISTORY
-
-=item SEE ALSO
-
-=back
-
-=head2 encoding::warnings - Warn on implicit encoding conversions
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Overview of the problem
-
-=item Detecting the problem
-
-=item Solving the problem
-
-Upgrade both sides to unicode-strings, Downgrade both sides to
-byte-strings, Specify the encoding for implicit byte-string upgrading,
-PerlIO layers for B<STDIN> and B<STDOUT>, Literal conversions, Implicit
-upgrading for byte-strings
-
-=back
-
-=item CAVEATS
-
-=back
-
-=over 4
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=item COPYRIGHT
-
-=back
-
-=head2 feature - Perl pragma to enable new features
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Lexical effect
-
-=item C<no feature>
-
-=item The 'switch' feature
-
-=item The 'say' feature
-
-=item the 'state' feature
-
-=item the 'unicode_strings' feature
-
-=back
-
-=item FEATURE BUNDLES
-
-=item IMPLICIT LOADING
-
-=back
-
-=head2 fields - compile-time class fields
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-new, phash
-
-=item SEE ALSO
-
-=back
-
-=head2 filetest - Perl pragma to control the filetest permission operators
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Consider this carefully
-
-=item The "access" sub-pragma
-
-=item Limitation with regard to C<_>
-
-=back
-
-=back
-
-=head2 if - C<use> a Perl module if a condition holds
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 inc::latest - use modules bundled in inc/ if they are newer than
-installed ones
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Special notes on bundling
-
-=back
-
-=item USAGE
-
-=over 4
-
-=item Author-mode
-
-loaded_modules(), write(), bundle_module()
-
-=item As bundled in inc/
-
-=back
-
-=item AUTHOR
-
-=item COPYRIGHT
-
-=item SEE ALSO
-
-=back
-
-=head2 integer - Perl pragma to use integer arithmetic instead of floating
-point
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 less - perl pragma to request less of something
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item FOR MODULE AUTHORS
-
-=over 4
-
-=item C<< BOOLEAN = less->of( FEATURE ) >>
-
-=item C<< FEATURES = less->of() >>
-
-=back
-
-=item CAVEATS
-
-This probably does nothing, This works only on 5.10+
-
-=back
-
-=head2 lib - manipulate @INC at compile time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Adding directories to @INC
-
-=item Deleting directories from @INC
-
-=item Restoring original @INC
-
-=back
-
-=item CAVEATS
-
-=item NOTES
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 locale - Perl pragma to use and avoid POSIX locales for built-in
-operations
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 open - perl pragma to set default PerlIO layers for input and output
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item NONPERLIO FUNCTIONALITY
-
-=item IMPLEMENTATION DETAILS
-
-=item SEE ALSO
-
-=back
-
-=head2 ops - Perl pragma to restrict unsafe operations when compiling
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item SEE ALSO
-
-=back
-
-=head2 overload - Package for overloading Perl operations
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Declaration of overloaded functions
-
-=item Calling Conventions for Binary Operations
-
-FALSE, TRUE, C<undef>
-
-=item Calling Conventions for Unary Operations
-
-=item Calling Conventions for Mutators
-
-C<++> and C<-->, C<x=> and other assignment versions
-
-=item Overloadable Operations
-
-I<Arithmetic operations>, I<Comparison operations>, I<Bit operations>,
-I<Increment and decrement>, I<Transcendental functions>, I<Boolean, string,
-numeric and regexp conversions>, I<Iteration>, I<File tests>, I<Matching>,
-I<Dereferencing>, I<Special>
-
-=item Inheritance and overloading
-
-Strings as values of C<use overload> directive, Overloading of an operation
-is inherited by derived classes
-
-=back
-
-=item SPECIAL SYMBOLS FOR C<use overload>
-
-=over 4
-
-=item Last Resort
-
-=item Fallback
-
-C<undef>, TRUE, defined, but FALSE
-
-=item Copy Constructor
-
-B<Example>
-
-=back
-
-=item MAGIC AUTOGENERATION
-
-I<Assignment forms of arithmetic operations>, I<Conversion operations>,
-I<Increment and decrement>, C<abs($a)>, I<Unary minus>, I<Negation>,
-I<Concatenation>, I<Comparison operations>, I<Iterator>, I<Dereferencing>,
-I<Copy operator>
-
-=item Minimal set of overloaded operations
-
-=item Losing overloading
-
-=item Run-time Overloading
-
-=item Public functions
-
-overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
-
-=item Overloading constants
-
-integer, float, binary, q, qr
-
-=item IMPLEMENTATION
-
-=item Metaphor clash
-
-=item Cookbook
-
-=over 4
-
-=item Two-face scalars
-
-=item Two-face references
-
-=item Symbolic calculator
-
-=item I<Really> symbolic calculator
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=item DIAGNOSTICS
-
-Odd number of arguments for overload::constant, `%s' is not an overloadable
-type, `%s' is not a code reference
-
-=item BUGS
-
-=back
-
-=head2 overloading - perl pragma to lexically control overloading
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<no overloading>, C<no overloading @ops>, C<use overloading>, C<use
-overloading @ops>
-
-=back
-
-=head2 parent - Establish an ISA relationship with base classes at compile
-time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item DIAGNOSTICS
-
-Class 'Foo' tried to inherit from itself
-
-=item HISTORY
-
-=item CAVEATS
-
-=item SEE ALSO
-
-=item AUTHORS AND CONTRIBUTORS
-
-=item MAINTAINER
-
-=item LICENSE
-
-=back
-
-=head2 sigtrap - Perl pragma to enable simple signal handling
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item OPTIONS
-
-=over 4
-
-=item SIGNAL HANDLERS
-
-B<stack-trace>, B<die>, B<handler> I<your-handler>
-
-=item SIGNAL LISTS
-
-B<normal-signals>, B<error-signals>, B<old-interface-signals>
-
-=item OTHER
-
-B<untrapped>, B<any>, I<signal>, I<number>
-
-=back
-
-=item EXAMPLES
-
-=back
-
-=head2 sort - perl pragma to control sort() behaviour
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item CAVEATS
-
-=back
-
-=head2 strict - Perl pragma to restrict unsafe constructs
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<strict refs>, C<strict vars>, C<strict subs>
-
-=item HISTORY
-
-=back
-
-=head2 subs - Perl pragma to predeclare sub names
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 threads - Perl interpreter-based threads
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-$thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(),
-threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr",
-threads->object($tid), threads->yield(), threads->list(),
-threads->list(threads::all), threads->list(threads::running),
-threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;,
-$thr->error(), $thr->_handle(), threads->_handle()
-
-=item EXITING A THREAD
-
-threads->exit(), threads->exit(status), die(), exit(status), use threads
-'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...),
-$thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)
-
-=item THREAD STATE
-
-$thr->is_running(), $thr->is_joinable(), $thr->is_detached(),
-threads->is_detached()
-
-=item THREAD CONTEXT
-
-=over 4
-
-=item Explicit context
-
-=item Implicit context
-
-=item $thr->wantarray()
-
-=item threads->wantarray()
-
-=back
-
-=item THREAD STACK SIZE
-
-threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size =
-threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);,
-$ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE},
-FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)
-
-=item THREAD SIGNALLING
-
-$thr->kill('SIG...');
-
-=item WARNINGS
-
-Perl exited with active threads:, Thread creation failed: pthread_create
-returned #, Thread # terminated abnormally: .., Using minimum thread stack
-size of #, Thread creation failed: pthread_attr_setstacksize(I<SIZE>)
-returned 22
-
-=item ERRORS
-
-This Perl not built to support threads, Cannot change stack size of an
-existing thread, Cannot signal threads without safe signals, Unrecognized
-signal name: ..
-
-=item BUGS AND LIMITATIONS
-
-Thread-safe modules, Using non-thread-safe modules, Current working
-directory, Environment variables, Parent-child threads, Creating threads
-inside special blocks, Unsafe signals, Perl has been built with
-C<PERL_OLD_SIGNALS> (see C<perl -V>), The environment variable
-C<PERL_SIGNALS> is set to C<unsafe> (see L<perlrun/"PERL_SIGNALS">), The
-module L<Perl::Unsafe::Signals> is used, Returning closures from threads,
-Returning objects from threads, END blocks in threads, Perl Bugs and the
-CPAN Version of L<threads>
-
-=item REQUIREMENTS
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item LICENSE
-
-=item ACKNOWLEDGEMENTS
-
-=back
-
-=head2 threadshared, threads::shared - Perl extension for sharing data
-structures between threads
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item EXPORT
-
-=item FUNCTIONS
-
-share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE,
-cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE,
-ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal
-VARIABLE, cond_broadcast VARIABLE
-
-=item OBJECTS
-
-=item NOTES
-
-=item BUGS AND LIMITATIONS
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item LICENSE
-
-=back
-
-=head2 utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source
-code
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Utility functions
-
-$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[,
-FAIL_OK]), utf8::encode($string), $success = utf8::decode($string), $flag =
-utf8::is_utf8(STRING), $flag = utf8::valid(STRING)
-
-=back
-
-=item BUGS
-
-=item SEE ALSO
-
-=back
-
-=head2 vars - Perl pragma to predeclare global variable names (obsolete)
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 version - Perl extension for Version Objects
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item TYPES OF VERSION OBJECTS
-
-Decimal Versions, Dotted Decimal Versions
-
-=item DECLARING VERSIONS
-
-=over 4
-
-=item How to convert a module from decimal to dotted-decimal
-
-=item How to C<declare()> a dotted-decimal version
-
-=back
-
-=item PARSING AND COMPARING VERSIONS
-
-=over 4
-
-=item How to C<parse()> a version
-
-=item How to check for a legal version string
-
-C<is_lax()>, C<is_strict()>
-
-=item How to compare version objects
-
-=back
-
-=item OBJECT METHODS
-
-=over 4
-
-=item is_alpha()
-
-=item is_qv()
-
-=item normal()
-
-=item numify()
-
-=item stringify()
-
-=back
-
-=item EXPORTED FUNCTIONS
-
-=over 4
-
-=item qv()
-
-=item is_lax()
-
-=item is_strict()
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 version::Internals - Perl extension for Version Objects
-
-=over 4
-
-=item DESCRIPTION
-
-=item WHAT IS A VERSION?
-
-Decimal Versions, Dotted-Decimal Versions
-
-=over 4
-
-=item Decimal Versions
-
-=item Dotted-Decimal Versions
-
-=item Alpha Versions
-
-=item Regular Expressions for Version Parsing
-
-C<$version::LAX>, C<$version::STRICT>, v1.234.5
-
-=back
-
-=item IMPLEMENTATION DETAILS
-
-=over 4
-
-=item Equivalence between Decimal and Dotted-Decimal Versions
-
-=item Quoting Rules
-
-=item What about v-strings?
-
-=item Version Object Internals
-
-original, qv, alpha, version
-
-=item Replacement UNIVERSAL::VERSION
-
-=back
-
-=item USAGE DETAILS
-
-=over 4
-
-=item Using modules that use version.pm
-
-Decimal versions always work, Dotted-Decimal version work sometimes
-
-=item Object Methods
-
-new(), qv(), Normal Form, Numification, Stringification, Comparison
-operators, Logical Operators
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 vmsish - Perl pragma to control VMS-specific language features
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<vmsish status>, C<vmsish exit>, C<vmsish time>, C<vmsish hushed>
-
-=back
-
-=head2 warnings - Perl pragma to control optional warnings
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-use warnings::register, warnings::enabled(), warnings::enabled($category),
-warnings::enabled($object), warnings::fatal_enabled(),
-warnings::fatal_enabled($category), warnings::fatal_enabled($object),
-warnings::warn($message), warnings::warn($category, $message),
-warnings::warn($object, $message), warnings::warnif($message),
-warnings::warnif($category, $message), warnings::warnif($object, $message)
-
-=back
-
-=head2 warnings::register - warnings import function
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
=head1 MODULE DOCUMENTATION
-=head2 AnyDBM_File - provide framework for multiple DBMs
+=head2 C:\perl_tl\perl-5.14.2\lib::AnyDBM_File, AnyDBM_File - provide
+framework for multiple DBMs
=over 4
@@ -15090,7 +15449,8 @@ warnings::warnif($category, $message), warnings::warnif($object, $message)
=back
-=head2 App::Cpan - easily interact with CPAN from the command line
+=head2 C:\perl_tl\perl-5.14.2\lib::App::Cpan, App::Cpan - easily interact
+with CPAN from the command line
=over 4
@@ -15137,7 +15497,8 @@ run()
=back
-=head2 App::Prove - Implements the C<prove> command.
+=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove, App::Prove - Implements the
+C<prove> command.
=over 4
@@ -15170,12 +15531,13 @@ run()
=item Attributes
C<archive>, C<argv>, C<backwards>, C<blib>, C<color>, C<directives>,
-C<dry>, C<exec>, C<extension>, C<failures>, C<comments>, C<formatter>,
+C<dry>, C<exec>, C<extensions>, C<failures>, C<comments>, C<formatter>,
C<harness>, C<ignore_exit>, C<includes>, C<jobs>, C<lib>, C<merge>,
C<modules>, C<parse>, C<plugins>, C<quiet>, C<really_quiet>, C<recurse>,
C<rules>, C<show_count>, C<show_help>, C<show_man>, C<show_version>,
C<shuffle>, C<state>, C<state_class>, C<taint_fail>, C<taint_warn>,
-C<test_args>, C<timer>, C<verbose>, C<warnings_fail>, C<warnings_warn>
+C<test_args>, C<timer>, C<verbose>, C<warnings_fail>, C<warnings_warn>,
+C<tapversion>, C<trap>
=back
@@ -15193,7 +15555,8 @@ C<test_args>, C<timer>, C<verbose>, C<warnings_fail>, C<warnings_warn>
=back
-=head2 App::Prove::State - State storage for the C<prove> command.
+=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove::State, App::Prove::State -
+State storage for the C<prove> command.
=over 4
@@ -15217,7 +15580,7 @@ C<test_args>, C<timer>, C<verbose>, C<warnings_fail>, C<warnings_warn>
=item Class Methods
-C<store>, C<extension> (optional), C<result_class> (optional)
+C<store>, C<extensions> (optional), C<result_class> (optional)
=back
@@ -15231,7 +15594,7 @@ C<store>, C<extension> (optional), C<result_class> (optional)
=over 4
-=item C<extension>
+=item C<extensions>
=back
@@ -15256,7 +15619,8 @@ C<new>, C<old>, C<save>
=back
-=head2 App::Prove::State::Result - Individual test suite results.
+=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove::State::Result,
+App::Prove::State::Result - Individual test suite results.
=over 4
@@ -15296,7 +15660,8 @@ C<new>, C<old>, C<save>
=back
-=head2 App::Prove::State::Result::Test - Individual test results.
+=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove::State::Result::Test,
+App::Prove::State::Result::Test - Individual test results.
=over 4
@@ -15330,7 +15695,8 @@ C<new>, C<old>, C<save>
=back
-=head2 Archive::Extract - A generic archive extracting mechanism
+=head2 C:\perl_tl\perl-5.14.2\lib::Archive::Extract, Archive::Extract - A
+generic archive extracting mechanism
=over 4
@@ -15349,7 +15715,7 @@ C<new>, C<old>, C<save>
=item $ae = Archive::Extract->new(archive => '/path/to/archive',[type =>
TYPE])
-tar, tgz, gz, Z, zip, bz2, tbz, lzma
+tar, tgz, gz, Z, zip, bz2, tbz, lzma, xz, txz
=back
@@ -15399,6 +15765,8 @@ $ae->extract_path, $ae->files
=item $ae->is_lzma
+=item $ae->is_xz
+
=back
=over 4
@@ -15411,6 +15779,8 @@ $ae->extract_path, $ae->files
=item $ae->bin_unlzma
+=item $ae->bin_unxz
+
=back
=over 4
@@ -15421,6 +15791,12 @@ $ae->extract_path, $ae->files
=over 4
+=item debug( MESSAGE )
+
+=back
+
+=over 4
+
=item HOW IT WORKS
=item CAVEATS
@@ -15459,7 +15835,8 @@ Mime magic support, Thread safety
=back
-=head2 Archive::Tar - module for manipulations of tar archives
+=head2 C:\perl_tl\perl-5.14.2\lib::Archive::Tar, Archive::Tar - module for
+manipulations of tar archives
=over 4
@@ -15665,6 +16042,8 @@ FILE, HARDLINK, SYMLINK, CHARDEV, BLOCKDEV, DIR, FIFO, SOCKET
=item $Archive::Tar::HAS_IO_STRING
+=item $Archive::Tar::ZERO_PAD_NUMBERS
+
=back
=item FAQ
@@ -15687,8 +16066,8 @@ compressed archive
=item SEE ALSO
-The GNU tar specification, The PAX format specication, A comparison of GNU
-and POSIX tar standards;
+The GNU tar specification, The PAX format specification, A comparison of
+GNU and POSIX tar standards;
C<http://www.delorie.com/gnu/docs/tar/tar_114.html>, GNU tar intends to
switch to POSIX compatibility, A Comparison between various tar
implementations
@@ -15701,8 +16080,8 @@ implementations
=back
-=head2 Archive::Tar::File - a subclass for in-memory extracted file from
-Archive::Tar
+=head2 C:\perl_tl\perl-5.14.2\lib::Archive::Tar::File, Archive::Tar::File -
+a subclass for in-memory extracted file from Archive::Tar
=over 4
@@ -15791,7 +16170,8 @@ $file->is_longlink, $file->is_label, $file->is_unknown
=back
-=head2 Attribute::Handlers - Simpler definition of attribute handlers
+=head2 C:\perl_tl\perl-5.14.2\lib::Attribute::Handlers, Attribute::Handlers
+- Simpler definition of attribute handlers
=over 4
@@ -15839,7 +16219,8 @@ be able to apply END handler>
=back
-=head2 AutoLoader - load subroutines only on demand
+=head2 C:\perl_tl\perl-5.14.2\lib::AutoLoader, AutoLoader - load
+subroutines only on demand
=over 4
@@ -15873,7 +16254,8 @@ be able to apply END handler>
=back
-=head2 AutoSplit - split a package for autoloading
+=head2 C:\perl_tl\perl-5.14.2\lib::AutoSplit, AutoSplit - split a package
+for autoloading
=over 4
@@ -15897,7 +16279,7 @@ $keep, $check, $modtime
=back
-=head2 B - The Perl Compiler Backend
+=head2 C:\perl_tl\perl-5.14.2\lib::B, B - The Perl Compiler Backend
=over 4
@@ -15930,7 +16312,7 @@ main_root, main_start, walkoptree(OP, METHOD), walkoptree_debug(DEBUG)
ppname(OPNUM), hash(STR), cast_I32(I), minus_c, cstring(STR),
perlstring(STR), class(OBJ), threadsv_names
-=item Exported utility variabiles
+=item Exported utility variables
@optype, @specialsv_name
@@ -16025,8 +16407,7 @@ children
=item B::PMOP Methods
-pmreplroot, pmreplstart, pmnext, pmregexp, pmflags, extflags, precomp,
-pmoffset
+pmreplroot, pmreplstart, pmnext, pmflags, extflags, precomp, pmoffset
=item B::SVOP METHOD
@@ -16055,7 +16436,8 @@ hints_hash
=back
-=head2 B::Concise - Walk Perl syntax tree, printing concise info about ops
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Concise, B::Concise - Walk Perl
+syntax tree, printing concise info about ops
=over 4
@@ -16160,7 +16542,8 @@ a{_POSIX_SAVED_IDS}', perl -MB::Concise -e
=back
-=head2 B::Debug - Walk Perl syntax tree, printing debug info about ops
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Debug, B::Debug - Walk Perl syntax
+tree, printing debug info about ops
=over 4
@@ -16170,15 +16553,14 @@ a{_POSIX_SAVED_IDS}', perl -MB::Concise -e
=item OPTIONS
-=item Changes
-
=item AUTHOR
=item LICENSE
=back
-=head2 B::Deparse - Perl compiler backend to produce perl code
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Deparse, B::Deparse - Perl compiler
+backend to produce perl code
=over 4
@@ -16216,7 +16598,7 @@ strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits,
=back
-=head2 B::Lint - Perl lint
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Lint, B::Lint - Perl lint
=over 4
@@ -16249,33 +16631,17 @@ validate against older perls
=back
-=head2 B::Lint::Debug - Adds debugging stringification to B::
-
-=over 4
-
-=item DESCRIPTION
-
-=back
-
-=head2 B::O, O - Generic interface to Perl Compiler backends
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Lint::Debug, B::Lint::Debug - Adds
+debugging stringification to B::
=over 4
-=item SYNOPSIS
-
=item DESCRIPTION
-=item CONVENTIONS
-
-=item IMPLEMENTATION
-
-=item BUGS
-
-=item AUTHOR
-
=back
-=head2 B::Showlex - Show lexical variables used in functions or files
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Showlex, B::Showlex - Show lexical
+variables used in functions or files
=over 4
@@ -16299,7 +16665,8 @@ validate against older perls
=back
-=head2 B::Terse - Walk Perl syntax tree, printing terse info about ops
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Terse, B::Terse - Walk Perl syntax
+tree, printing terse info about ops
=over 4
@@ -16311,7 +16678,8 @@ validate against older perls
=back
-=head2 B::Xref - Generates cross reference reports for Perl programs
+=head2 C:\perl_tl\perl-5.14.2\lib::B::Xref, B::Xref - Generates cross
+reference reports for Perl programs
=over 4
@@ -16329,7 +16697,8 @@ C<-oFILENAME>, C<-r>, C<-d>, C<-D[tO]>
=back
-=head2 Benchmark - benchmark running times of Perl code
+=head2 C:\perl_tl\perl-5.14.2\lib::Benchmark, Benchmark - benchmark running
+times of Perl code
=over 4
@@ -16375,7 +16744,8 @@ disablecache ( ), enablecache ( ), timesum ( T1, T2 )
=back
-=head2 CGI - Handle Common Gateway Interface requests and responses
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI, CGI - Handle Common Gateway
+Interface requests and responses
=over 4
@@ -16585,7 +16955,7 @@ B<onBlur>, B<onSelect>, B<onMouseOver>, B<onMouseOut>
B<Accept()>, B<raw_cookie()>, B<user_agent()>, B<path_info()>,
B<path_translated()>, B<remote_host()>, B<remote_addr()>, B<script_name()>
-Return the script name as a partial URL, for self-refering scripts,
+Return the script name as a partial URL, for self-referring scripts,
B<referer()>, B<auth_type ()>, B<server_name ()>, B<virtual_host ()>,
B<server_port ()>, B<virtual_port ()>, B<server_software ()>, B<remote_user
()>, B<user_name ()>, B<request_method()>, B<content_type()>, B<http()>,
@@ -16607,6 +16977,14 @@ basis>, B<2. Globally for all scripts>
=item COMPATIBILITY WITH CGI-LIB.PL
+=over 4
+
+=item Cgi-lib functions that are available in CGI.pm
+
+=item Cgi-lib functions that are not available in CGI.pm
+
+=back
+
=item AUTHOR INFORMATION
=item CREDITS
@@ -16632,7 +17010,8 @@ MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
=back
-=head2 CGI::Apache - Backward compatibility module for CGI.pm
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Apache, CGI::Apache - Backward
+compatibility module for CGI.pm
=over 4
@@ -16650,8 +17029,8 @@ MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
=back
-=head2 CGI::Carp, B<CGI::Carp> - CGI routines for writing to the HTTPD (or
-other) error log
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Carp, B<CGI::Carp> - CGI routines
+for writing to the HTTPD (or other) error log
=over 4
@@ -16671,6 +17050,12 @@ other) error log
=item DOING MORE THAN PRINTING A MESSAGE IN THE EVENT OF PERL ERRORS
+=over 4
+
+=item SUPPRESSING PERL ERRORS APPEARING IN THE BROWSER WINDOW
+
+=back
+
=item MAKING WARNINGS APPEAR AS HTML COMMENTS
=item OVERRIDING THE NAME OF THE PROGRAM
@@ -16681,7 +17066,8 @@ other) error log
=back
-=head2 CGI::Cookie - Interface to Netscape Cookies
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Cookie, CGI::Cookie - Interface to
+HTTP Cookies
=over 4
@@ -16691,7 +17077,7 @@ other) error log
=item USING CGI::Cookie
-B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag>, B<4.
+B<1. expiration date>, B<2. domain>, B<3. path>, B<4. secure flag>, B<5.
httponly flag>
=over 4
@@ -16716,7 +17102,8 @@ B<name()>, B<value()>, B<domain()>, B<path()>, B<expires()>
=back
-=head2 CGI::Fast - CGI Interface for Fast CGI
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Fast, CGI::Fast - CGI Interface for
+Fast CGI
=over 4
@@ -16746,7 +17133,8 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 CGI::Pretty - module to produce nicely formatted HTML code
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Pretty, CGI::Pretty - module to
+produce nicely formatted HTML code
=over 4
@@ -16770,7 +17158,8 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 CGI::Push - Simple Interface to Server Push
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Push, CGI::Push - Simple Interface
+to Server Push
=over 4
@@ -16800,7 +17189,8 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 CGI::Switch - Backward compatibility module for defunct CGI::Switch
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Switch, CGI::Switch - Backward
+compatibility module for defunct CGI::Switch
=over 4
@@ -16818,7 +17208,8 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 CGI::Util - Internal utilities used by CGI module
+=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Util, CGI::Util - Internal
+utilities used by CGI module
=over 4
@@ -16832,7 +17223,8 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 CORE - Pseudo-namespace for Perl's core routines
+=head2 C:\perl_tl\perl-5.14.2\lib::CORE, CORE - Pseudo-namespace for Perl's
+core routines
=over 4
@@ -16848,7 +17240,8 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 CPAN - query, download and build perl modules from CPAN sites
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN, CPAN - query, download and build
+perl modules from CPAN sites
=over 4
@@ -17053,6 +17446,8 @@ http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade
=item CPANPLUS
+=item CPANMINUS
+
=back
=item SECURITY ADVICE
@@ -17069,7 +17464,8 @@ http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade
=back
-=head2 CPAN::API::HOWTO - a recipe book for programming with CPAN.pm
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::API::HOWTO, CPAN::API::HOWTO - a
+recipe book for programming with CPAN.pm
=over 4
@@ -17091,7 +17487,8 @@ http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade
=back
-=head2 CPAN::Distroprefs -- read and match distroprefs
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Distroprefs, CPAN::Distroprefs --
+read and match distroprefs
=over 4
@@ -17122,7 +17519,8 @@ files remain to be found
=back
-=head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::FirstTime, CPAN::FirstTime -
+Utility for CPAN::Config file Initialization
=over 4
@@ -17144,8 +17542,8 @@ mbuild_install_build_command, pager, prefer_installer, prefs_dir,
prerequisites_policy, randomize_urllist, scan_cache, shell,
show_unparsable_versions, show_upload_date, show_zero_versions,
tar_verbosity, term_is_latin, term_ornaments, test_report,
-perl5lib_verbosity, trust_test_report_history, use_sqlite, version_timeout,
-yaml_load_code, yaml_module
+perl5lib_verbosity, prefer_external_tar, trust_test_report_history,
+use_sqlite, version_timeout, yaml_load_code, yaml_module
=over 4
@@ -17153,7 +17551,8 @@ yaml_load_code, yaml_module
=back
-=head2 CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Kwalify, CPAN::Kwalify - Interface
+between CPAN.pm and Kwalify.pm
=over 4
@@ -17169,7 +17568,377 @@ _validate($schema_name, $data, $file, $doc), yaml($schema_name)
=back
-=head2 CPAN::Version - utility functions to compare CPAN versions
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta, CPAN::Meta - the
+distribution metadata for a CPAN dist
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item create
+
+=item load_file
+
+=item load_yaml_string
+
+=item load_json_string
+
+=item save
+
+=item meta_spec_version
+
+=item effective_prereqs
+
+=item should_index_file
+
+=item should_index_package
+
+=item features
+
+=item feature
+
+=item as_struct
+
+=item as_string
+
+=back
+
+=item STRING DATA
+
+=item LIST DATA
+
+=item MAP DATA
+
+=item CUSTOM DATA
+
+=item BUGS
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Converter,
+CPAN::Meta::Converter - Convert CPAN distribution metadata structures
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item convert
+
+=back
+
+=item BUGS
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Feature, CPAN::Meta::Feature
+- an optional feature provided by a CPAN distribution
+
+=over 4
+
+=item VERSION
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item identifier
+
+=item description
+
+=item prereqs
+
+=back
+
+=item BUGS
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::History, CPAN::Meta::History
+- history of CPAN Meta Spec changes
+
+=over 4
+
+=item VERSION
+
+=item DESCRIPTION
+
+=item HISTORY
+
+=over 4
+
+=item Version 2
+
+=item Version 1.4
+
+=item Version 1.3
+
+=item Version 1.2
+
+=item Version 1.1
+
+=item Version 1.0
+
+=back
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Prereqs, CPAN::Meta::Prereqs
+- a set of distribution prerequisites by phase and type
+
+=over 4
+
+=item VERSION
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item requirements_for
+
+=item with_merged_prereqs
+
+=item as_string_hash
+
+=item is_finalized
+
+=item finalize
+
+=item clone
+
+=back
+
+=item BUGS
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Spec, CPAN::Meta::Spec -
+specification for CPAN distribution metadata
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item TERMINOLOGY
+
+distribution, module, package, consumer, producer, must, should, may, etc
+
+=item DATA TYPES
+
+=over 4
+
+=item Boolean
+
+=item String
+
+=item List
+
+=item Map
+
+=item License String
+
+=item URL
+
+=item Version
+
+=item Version Range
+
+=back
+
+=item STRUCTURE
+
+=over 4
+
+=item REQUIRED FIELDS
+
+version, url, stable, testing, unstable
+
+=item OPTIONAL FIELDS
+
+file, directory, package, namespace, description, prereqs, file, version,
+homepage, license, bugtracker, repository
+
+=item DEPRECATED FIELDS
+
+=back
+
+=item VERSION NUMBERS
+
+=over 4
+
+=item Version Formats
+
+Decimal versions, Dotted-integer versions
+
+=item Version Ranges
+
+=back
+
+=item PREREQUISITES
+
+=over 4
+
+=item Prereq Spec
+
+configure, build, test, runtime, develop, requires, recommends, suggests,
+conflicts
+
+=item Merging and Resolving Prerequisites
+
+=back
+
+=item SERIALIZATION
+
+=item NOTES FOR IMPLEMENTORS
+
+=over 4
+
+=item Extracting Version Numbers from Perl Modules
+
+=item Comparing Version Numbers
+
+=back
+
+=item SEE ALSO
+
+=item CONTRIBUTORS
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Validator,
+CPAN::Meta::Validator - validate CPAN distribution metadata structures
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item is_valid
+
+=item errors
+
+=item Check Methods
+
+check_map($spec,$data)
+
+=item Validator Methods
+
+header($self,$key,$value)
+
+=back
+
+=item BUGS
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::YAML, CPAN::Meta::YAML -
+Read and write a subset of YAML for CPAN Meta files
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORT
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Nox, CPAN::Nox - Wrapper around
+CPAN.pm without using any XS module
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item LICENSE
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Version, CPAN::Version - utility
+functions to compare CPAN versions
=over 4
@@ -17181,12 +17950,15 @@ _validate($schema_name, $data, $file, $doc), yaml($schema_name)
=back
-=head2 CPANPLUS - API & CLI access to the CPAN mirrors
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS, CPANPLUS - API & CLI access to
+the CPAN mirrors
=over 4
=item SYNOPSIS
+=item DESCRIPTION
+
=item GUIDE TO DOCUMENTATION
=over 4
@@ -17207,8 +17979,16 @@ _validate($schema_name, $data, $file, $doc), yaml($schema_name)
=item STARTING AN INTERACTIVE SHELL
+=item CHOOSE A SHELL
+
=item BUILDING PACKAGES
+=back
+
+=item FUNCTIONS
+
+=over 4
+
=item $bool = install( Module::Name | /A/AU/AUTHOR/Module-Name-1.tgz )
=item $where = fetch( Module::Name | /A/AU/AUTHOR/Module-Name-1.tgz )
@@ -17236,7 +18016,7 @@ I<cpanplus-devel@lists.sourceforge.net>
=back
-=head2 CPANPLUS::Backend
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Backend, CPANPLUS::Backend
=over 4
@@ -17413,7 +18193,8 @@ BOOL] );
=back
-=head2 CPANPLUS::Backend::RV
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Backend::RV,
+CPANPLUS::Backend::RV
=over 4
@@ -17444,7 +18225,7 @@ ok, args, rv, function
=back
-=head2 CPANPLUS::Config
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Config, CPANPLUS::Config
=over 4
@@ -17548,7 +18329,7 @@ perlwrapper
=back
-=head2 CPANPLUS::Configure
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Configure, CPANPLUS::Configure
=over 4
@@ -17623,7 +18404,7 @@ _set|_get_mirror, _set|_get_fetch
=back
-=head2 CPANPLUS::Dist
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist, CPANPLUS::Dist
=over 4
@@ -17685,15 +18466,19 @@ $version_spec )
=back
-=head2 CPANPLUS::Dist::Autobundle
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Autobundle,
+CPANPLUS::Dist::Autobundle
=over 4
=item SYNOPSIS
+=item DESCRIPTION
+
=back
-=head2 CPANPLUS::Dist::Base - Base class for custom distribution classes
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Base,
+CPANPLUS::Dist::Base - Base class for custom distribution classes
=over 4
@@ -17749,7 +18534,8 @@ $version_spec )
=back
-=head2 CPANPLUS::Dist::Build - CPANPLUS plugin to install packages that use
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Build,
+CPANPLUS::Dist::Build - CPANPLUS plugin to install packages that use
Build.PL
=over 4
@@ -17816,8 +18602,8 @@ prereq_target => TARGET, force => BOOL, verbose => BOOL, skiptest => BOOL])
=back
-=head2 CPANPLUS::Dist::Build::Constants - Constants for
-CPANPLUS::Dist::Build
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Build::Constants,
+CPANPLUS::Dist::Build::Constants - Constants for CPANPLUS::Dist::Build
=over 4
@@ -17831,12 +18617,14 @@ CPANPLUS::Dist::Build
=back
-=head2 CPANPLUS::Dist::MM
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::MM, CPANPLUS::Dist::MM
=over 4
=item SYNOPSIS
+=item DESCRIPTION
+
=item ACCESSORS
parent(), status()
@@ -17862,6 +18650,19 @@ installed (), uninstalled (), _create_args (), _install_args ()
=over 4
+=item $bool = $dist->init();
+
+=back
+
+=over 4
+
+=item $bool = $dist->prepare([perl => '/path/to/perl', makemakerflags =>
+'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
+
+=back
+
+=over 4
+
=item $href = $dist->_find_prereqs( file => '/path/to/Makefile', [verbose
=> BOOL])
@@ -17888,8 +18689,8 @@ skiptest => BOOL, force => BOOL, verbose => BOOL])
=back
-=head2 CPANPLUS::Dist::Sample -- Sample code to create your own Dist::*
-plugin
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Sample,
+CPANPLUS::Dist::Sample -- Sample code to create your own Dist::* plugin
=over 4
@@ -17897,7 +18698,7 @@ plugin
=back
-=head2 CPANPLUS::Error
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Error, CPANPLUS::Error
=over 4
@@ -17941,7 +18742,7 @@ $ERROR_FH, $MSG_FH
=back
-=head2 CPANPLUS::FAQ
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::FAQ, CPANPLUS::FAQ
=over 4
@@ -17955,7 +18756,7 @@ $ERROR_FH, $MSG_FH
=back
-=head2 CPANPLUS::Hacking
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Hacking, CPANPLUS::Hacking
=over 4
@@ -17986,7 +18787,7 @@ description of the patch
=back
-=head2 CPANPLUS::Internals
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals, CPANPLUS::Internals
=over 4
@@ -18048,7 +18849,8 @@ edit_test_report, proceed_on_test_failure, munge_dist_metafile
=back
-=head2 CPANPLUS::Internals::Extract
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Extract,
+CPANPLUS::Internals::Extract
=over 4
@@ -18056,6 +18858,8 @@ edit_test_report, proceed_on_test_failure, munge_dist_metafile
=item DESCRIPTION
+=item METHODS
+
=over 4
=item $dir = _extract( module => $modobj, [perl => '/path/to/perl',
@@ -18068,7 +18872,8 @@ module, extractdir, prefer_bin, perl, verbose, force
=back
-=head2 CPANPLUS::Internals::Fetch
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Fetch,
+CPANPLUS::Internals::Fetch
=over 4
@@ -18096,7 +18901,8 @@ BOOL, prefer_bin => BOOL, ttl => $seconds] )
=back
-=head2 CPANPLUS::Internals::Report
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Report,
+CPANPLUS::Internals::Report
=over 4
@@ -18133,7 +18939,8 @@ module, buffer, failed, save, address, verbose, force
=back
-=head2 CPANPLUS::Internals::Search
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Search,
+CPANPLUS::Internals::Search
=over 4
@@ -18169,7 +18976,8 @@ type, allow, data
=back
-=head2 CPANPLUS::Internals::Source
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Source,
+CPANPLUS::Internals::Source
=over 4
@@ -18301,7 +19109,8 @@ BOOL] );
=back
-=head2 CPANPLUS::Internals::Source::Memory - In memory implementation
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Source::Memory,
+CPANPLUS::Internals::Source::Memory - In memory implementation
=over 4
@@ -18320,9 +19129,11 @@ path, verbose
=back
-=head2 CPANPLUS::Internals::Source::SQLite - SQLite implementation
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Source::SQLite,
+CPANPLUS::Internals::Source::SQLite - SQLite implementation
-=head2 CPANPLUS::Internals::Utils
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Utils,
+CPANPLUS::Internals::Utils
=over 4
@@ -18378,6 +19189,18 @@ path, verbose
=over 4
+=item $cb->_move( from => $file|$dir, to => $target );
+
+=back
+
+=over 4
+
+=item $cb->_copy( from => $file|$dir, to => $target );
+
+=back
+
+=over 4
+
=item $cb->_mode_plus_w( file => '/path/to/file' );
=back
@@ -18414,7 +19237,7 @@ PACKAGE_STRING );
=back
-=head2 CPANPLUS::Module
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module, CPANPLUS::Module
=over 4
@@ -18521,10 +19344,6 @@ DISTRIBUTION_TYPE, args => {key => val}]);
=item $bool = $mod->prepare( )
-Convenience method around C<install()> that prepares a module
-without actually building it. This is equivalent to invoking C<install>
-with C<target> set to C<prepare>
-
=back
=over 4
@@ -18625,7 +19444,8 @@ prefer_bin => BOOL, force => BOOL, verbose => BOOL, ..... ]);
=back
-=head2 CPANPLUS::Module::Author
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Author,
+CPANPLUS::Module::Author
=over 4
@@ -18676,7 +19496,8 @@ author, cpanid, email, parent
=back
-=head2 CPANPLUS::Module::Author::Fake
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Author::Fake,
+CPANPLUS::Module::Author::Fake
=over 4
@@ -18694,7 +19515,8 @@ author, cpanid, email, parent
=back
-=head2 CPANPLUS::Module::Checksums
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Checksums,
+CPANPLUS::Module::Checksums
=over 4
@@ -18712,7 +19534,8 @@ author, cpanid, email, parent
=back
-=head2 CPANPLUS::Module::Fake
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Fake,
+CPANPLUS::Module::Fake
=over 4
@@ -18730,7 +19553,8 @@ author, cpanid, email, parent
=back
-=head2 CPANPLUSelfupdate, CPANPLUS::Selfupdate
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Selfupdate,
+CPANPLUS::Selfupdate
=over 4
@@ -18755,9 +19579,13 @@ author, cpanid, email, parent
=item %list = $self->list_modules_to_update( update =>
"core|dependencies|enabled_features|features|all", [latest => BOOL] )
-List which modules C<selfupdate> would upgrade. You can update either
-the core (CPANPLUS itself), the core dependencies, all features you have
-currently turned on, or all features available, or everything.
+=back
+
+=over 4
+
+=item $bool = $self->selfupdate( update =>
+"core|dependencies|enabled_features|features|all", [latest => BOOL, force
+=> BOOL] )
=back
@@ -18819,7 +19647,7 @@ currently turned on, or all features available, or everything.
=back
-=head2 CPANPLUShell, CPANPLUS::Shell
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell, CPANPLUS::Shell
=over 4
@@ -18841,8 +19669,8 @@ currently turned on, or all features available, or everything.
=back
-=head2 CPANPLUShell::Classic, CPANPLUS::Shell::Classic - CPAN.pm emulation
-for CPANPLUS
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Classic,
+CPANPLUS::Shell::Classic - CPAN.pm emulation for CPANPLUS
=over 4
@@ -18864,7 +19692,8 @@ for CPANPLUS
=back
-=head2 CPANPLUShell::Default, CPANPLUS::Shell::Default
+=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default,
+CPANPLUS::Shell::Default
=over 4
@@ -18886,21 +19715,20 @@ for CPANPLUS
=back
-=head2 CPANPLUShell::Default::Plugins::CustomSource,
-CPANPLUS::Shell::Default::Plugins::CustomSource
+=head2
+C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::CustomSource
+, CPANPLUS::Shell::Default::Plugins::CustomSource
=over 4
=item SYNOPSIS
- ### elaborate help text
- CPAN Terminal> /? cs
-
=item DESCRIPTION
=back
-=head2 CPANPLUShell::Default::Plugins::HOWTO,
+=head2
+C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::HOWTO,
CPANPLUS::Shell::Default::Plugins::HOWTO -- documentation on how to write
your own plugins
@@ -18937,7 +19765,8 @@ from the user, Options -- A hashref of options provided by the user
=back
-=head2 CPANPLUShell::Default::Plugins::Remote,
+=head2
+C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::Remote,
CPANPLUS::Shell::Default::Plugins::Remote
=over 4
@@ -18960,7 +19789,8 @@ CPANPLUS::Shell::Default::Plugins::Remote
=back
-=head2 CPANPLUShell::Default::Plugins::Source,
+=head2
+C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::Source,
CPANPLUS::Shell::Default::Plugins::Source
=over 4
@@ -18983,22 +19813,8 @@ CPANPLUS::Shell::Default::Plugins::Source
=back
-=head2 CPANox, CPAN::Nox - Wrapper around CPAN.pm without using any XS
-module
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item LICENSE
-
-=item SEE ALSO
-
-=back
-
-=head2 Carp, carp - warn of errors (from perspective of caller)
+=head2 C:\perl_tl\perl-5.14.2\lib::Carp, Carp - alternative warn and die
+for modules
=over 4
@@ -19038,31 +19854,8 @@ module
=back
-=head2 Class::ISA - report the search path for a class's ISA tree
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item FUNCTIONS
-
-the function Class::ISA::super_path($CLASS), the function
-Class::ISA::self_and_super_path($CLASS), the function
-Class::ISA::self_and_super_versions($CLASS)
-
-=item CAUTIONARY NOTES
-
-=item COPYRIGHT AND LICENSE
-
-=item AUTHOR
-
-=item MAINTAINER
-
-=back
-
-=head2 Class::Struct - declare struct-like datatypes as Perl classes
+=head2 C:\perl_tl\perl-5.14.2\lib::Class::Struct, Class::Struct - declare
+struct-like datatypes as Perl classes
=over 4
@@ -19093,8 +19886,8 @@ Example 1, Example 2, Example 3
=back
-=head2 Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression
-library
+=head2 C:\perl_tl\perl-5.14.2\lib::Compress::Raw::Bzip2,
+Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library
=over 4
@@ -19126,9 +19919,10 @@ B<$appendOutput>, B<$blockSize100k>, B<$workfactor>
=over 4
=item ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput,
-$consumeInput, $small, $limitOutput;
+$consumeInput, $small, $verbosity, $limitOutput;
-B<$appendOutput>, B<$consumeInput>, B<$small>, B<$limitOutput>
+B<$appendOutput>, B<$consumeInput>, B<$small>, B<$limitOutput>,
+B<$verbosity>
=item $status = $z->bzinflate($input, $output);
@@ -19154,8 +19948,8 @@ B<$appendOutput>, B<$consumeInput>, B<$small>, B<$limitOutput>
=back
-=head2 Compress::Raw::Zlib - Low-Level Interface to zlib compression
-library
+=head2 C:\perl_tl\perl-5.14.2\lib::Compress::Raw::Zlib, Compress::Raw::Zlib
+- Low-Level Interface to zlib compression library
=over 4
@@ -19220,6 +20014,8 @@ B<-ADLER32>, B<-ConsumeInput>, B<-LimitOutput>
=item B<$status = $i-E<gt>inflateSync($input)>
+=item B<$status = $i-E<gt>inflateReset() >
+
=item B<$i-E<gt>dict_adler()>
=item B<$i-E<gt>crc32()>
@@ -19264,7 +20060,8 @@ B<-ADLER32>, B<-ConsumeInput>, B<-LimitOutput>
=back
-=head2 Compress::Zlib - Interface to zlib compression library
+=head2 C:\perl_tl\perl-5.14.2\lib::Compress::Zlib, Compress::Zlib -
+Interface to zlib compression library
=over 4
@@ -19379,7 +20176,8 @@ B<-WindowBits>, B<-Bufsize>, B<-Dictionary>
=back
-=head2 Config - access Perl configuration information
+=head2 C:\perl_tl\perl-5.14.2\lib::Config, Config - access Perl
+configuration information
=over 4
@@ -19387,7 +20185,9 @@ B<-WindowBits>, B<-Bufsize>, B<-Dictionary>
=item DESCRIPTION
-myconfig(), config_sh(), config_re($regex), config_vars(@names)
+myconfig(), config_sh(), config_re($regex), config_vars(@names),
+bincompat_options(), non_bincompat_options(), compile_date(),
+local_patches(), header_files()
=item EXAMPLE
@@ -19505,34 +20305,35 @@ C<d_ndbm>, C<d_ndbm_h_uses_prototypes>, C<d_nice>, C<d_nl_langinfo>,
C<d_nv_preserves_uv>, C<d_nv_zero_is_allbits_zero>, C<d_off64_t>,
C<d_old_pthread_create_joinable>, C<d_oldpthreads>, C<d_oldsock>,
C<d_open3>, C<d_pathconf>, C<d_pause>, C<d_perl_otherlibdirs>,
-C<d_phostname>, C<d_pipe>, C<d_poll>, C<d_portable>, C<d_PRId64>,
-C<d_PRIeldbl>, C<d_PRIEUldbl>, C<d_PRIfldbl>, C<d_PRIFUldbl>,
-C<d_PRIgldbl>, C<d_PRIGUldbl>, C<d_PRIi64>, C<d_printf_format_null>,
-C<d_PRIo64>, C<d_PRIu64>, C<d_PRIx64>, C<d_PRIXU64>, C<d_procselfexe>,
-C<d_pseudofork>, C<d_pthread_atfork>, C<d_pthread_attr_setscope>,
-C<d_pthread_yield>, C<d_pwage>, C<d_pwchange>, C<d_pwclass>,
-C<d_pwcomment>, C<d_pwexpire>, C<d_pwgecos>, C<d_pwpasswd>, C<d_pwquota>,
-C<d_qgcvt>, C<d_quad>, C<d_random_r>, C<d_readdir>, C<d_readdir64_r>,
-C<d_readdir_r>, C<d_readlink>, C<d_readv>, C<d_recvmsg>, C<d_rename>,
-C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>, C<d_safemcpy>, C<d_sanemcmp>,
-C<d_sbrkproto>, C<d_scalbnl>, C<d_sched_yield>, C<d_scm_rights>,
-C<d_SCNfldbl>, C<d_seekdir>, C<d_select>, C<d_sem>, C<d_semctl>,
-C<d_semctl_semid_ds>, C<d_semctl_semun>, C<d_semget>, C<d_semop>,
-C<d_sendmsg>, C<d_setegid>, C<d_seteuid>, C<d_setgrent>, C<d_setgrent_r>,
-C<d_setgrps>, C<d_sethent>, C<d_sethostent_r>, C<d_setitimer>,
-C<d_setlinebuf>, C<d_setlocale>, C<d_setlocale_r>, C<d_setnent>,
-C<d_setnetent_r>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp>, C<d_setpgrp2>,
-C<d_setprior>, C<d_setproctitle>, C<d_setprotoent_r>, C<d_setpwent>,
-C<d_setpwent_r>, C<d_setregid>, C<d_setresgid>, C<d_setresuid>,
-C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>, C<d_setservent_r>,
-C<d_setsid>, C<d_setvbuf>, C<d_sfio>, C<d_shm>, C<d_shmat>,
-C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>,
-C<d_signbit>, C<d_sigprocmask>, C<d_sigsetjmp>, C<d_sitearch>,
-C<d_snprintf>, C<d_sockatmark>, C<d_sockatmarkproto>, C<d_socket>,
-C<d_socklen_t>, C<d_sockpair>, C<d_socks5_init>,
-C<d_sprintf_returns_strlen>, C<d_sqrtl>, C<d_srand48_r>, C<d_srandom_r>,
-C<d_sresgproto>, C<d_sresuproto>, C<d_statblks>, C<d_statfs_f_flags>,
-C<d_statfs_s>, C<d_statvfs>, C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>,
+C<d_phostname>, C<d_pipe>, C<d_poll>, C<d_portable>, C<d_prctl>,
+C<d_prctl_set_name>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEUldbl>,
+C<d_PRIfldbl>, C<d_PRIFUldbl>, C<d_PRIgldbl>, C<d_PRIGUldbl>, C<d_PRIi64>,
+C<d_printf_format_null>, C<d_PRIo64>, C<d_PRIu64>, C<d_PRIx64>,
+C<d_PRIXU64>, C<d_procselfexe>, C<d_pseudofork>, C<d_pthread_atfork>,
+C<d_pthread_attr_setscope>, C<d_pthread_yield>, C<d_pwage>, C<d_pwchange>,
+C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>, C<d_pwgecos>, C<d_pwpasswd>,
+C<d_pwquota>, C<d_qgcvt>, C<d_quad>, C<d_random_r>, C<d_readdir>,
+C<d_readdir64_r>, C<d_readdir_r>, C<d_readlink>, C<d_readv>, C<d_recvmsg>,
+C<d_rename>, C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>, C<d_safemcpy>,
+C<d_sanemcmp>, C<d_sbrkproto>, C<d_scalbnl>, C<d_sched_yield>,
+C<d_scm_rights>, C<d_SCNfldbl>, C<d_seekdir>, C<d_select>, C<d_sem>,
+C<d_semctl>, C<d_semctl_semid_ds>, C<d_semctl_semun>, C<d_semget>,
+C<d_semop>, C<d_sendmsg>, C<d_setegid>, C<d_seteuid>, C<d_setgrent>,
+C<d_setgrent_r>, C<d_setgrps>, C<d_sethent>, C<d_sethostent_r>,
+C<d_setitimer>, C<d_setlinebuf>, C<d_setlocale>, C<d_setlocale_r>,
+C<d_setnent>, C<d_setnetent_r>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp>,
+C<d_setpgrp2>, C<d_setprior>, C<d_setproctitle>, C<d_setprotoent_r>,
+C<d_setpwent>, C<d_setpwent_r>, C<d_setregid>, C<d_setresgid>,
+C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
+C<d_setservent_r>, C<d_setsid>, C<d_setvbuf>, C<d_sfio>, C<d_shm>,
+C<d_shmat>, C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>,
+C<d_sigaction>, C<d_signbit>, C<d_sigprocmask>, C<d_sigsetjmp>,
+C<d_sin6_scope_id>, C<d_sitearch>, C<d_snprintf>, C<d_sockaddr_sa_len>,
+C<d_sockatmark>, C<d_sockatmarkproto>, C<d_socket>, C<d_socklen_t>,
+C<d_sockpair>, C<d_socks5_init>, C<d_sprintf_returns_strlen>, C<d_sqrtl>,
+C<d_srand48_r>, C<d_srandom_r>, C<d_sresgproto>, C<d_sresuproto>,
+C<d_statblks>, C<d_statfs_f_flags>, C<d_statfs_s>, C<d_static_inline>,
+C<d_statvfs>, C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>,
C<d_stdio_ptr_lval_nochange_cnt>, C<d_stdio_ptr_lval_sets_cnt>,
C<d_stdio_stream_array>, C<d_stdiobase>, C<d_stdstdio>, C<d_strchr>,
C<d_strcoll>, C<d_strctcpy>, C<d_strerrm>, C<d_strerror>, C<d_strerror_r>,
@@ -19709,10 +20510,11 @@ C<perl5>
C<PERL_API_REVISION>, C<PERL_API_SUBVERSION>, C<PERL_API_VERSION>,
C<PERL_CONFIG_SH>, C<PERL_PATCHLEVEL>, C<perl_patchlevel>,
-C<PERL_REVISION>, C<PERL_SUBVERSION>, C<PERL_VERSION>, C<perladmin>,
-C<perllibs>, C<perlpath>, C<pg>, C<phostname>, C<pidtype>, C<plibpth>,
-C<pmake>, C<pr>, C<prefix>, C<prefixexp>, C<privlib>, C<privlibexp>,
-C<procselfexe>, C<prototype>, C<ptrsize>
+C<PERL_REVISION>, C<perl_static_inline>, C<PERL_SUBVERSION>,
+C<PERL_VERSION>, C<perladmin>, C<perllibs>, C<perlpath>, C<pg>,
+C<phostname>, C<pidtype>, C<plibpth>, C<pmake>, C<pr>, C<prefix>,
+C<prefixexp>, C<privlib>, C<privlibexp>, C<procselfexe>, C<prototype>,
+C<ptrsize>
=over 4
@@ -19846,7 +20648,8 @@ dynamic, nonxs, static
=back
-=head2 Cwd - get pathname of current working directory
+=head2 C:\perl_tl\perl-5.14.2\lib::Cwd, Cwd - get pathname of current
+working directory
=over 4
@@ -19878,7 +20681,8 @@ abs_path, realpath, fast_abs_path
=back
-=head2 DB - programmatic interface to the Perl debugging API
+=head2 C:\perl_tl\perl-5.14.2\lib::DB, DB - programmatic interface to the
+Perl debugging API
=over 4
@@ -19913,7 +20717,8 @@ CLIENT->output(LIST)
=back
-=head2 DBM_Filter -- Filter DBM keys/values
+=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter, DBM_Filter -- Filter DBM
+keys/values
=over 4
@@ -19933,11 +20738,8 @@ CLIENT->output(LIST)
=over 4
-=item $db->Filter_Push()
-
-=item $db->Filter_Key_Push()
-
-=item $db->Filter_Value_Push()
+=item $db->Filter_Push() / $db->Filter_Key_Push() /
+$db->Filter_Value_Push()
Filter_Push, Filter_Key_Push, Filter_Value_Push
@@ -19981,7 +20783,8 @@ utf8, encode, compress, int32, null
=back
-=head2 DBM_Filter::compress - filter for DBM_Filter
+=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::compress,
+DBM_Filter::compress - filter for DBM_Filter
=over 4
@@ -19995,7 +20798,8 @@ utf8, encode, compress, int32, null
=back
-=head2 DBM_Filter::encode - filter for DBM_Filter
+=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::encode, DBM_Filter::encode -
+filter for DBM_Filter
=over 4
@@ -20009,7 +20813,8 @@ utf8, encode, compress, int32, null
=back
-=head2 DBM_Filter::int32 - filter for DBM_Filter
+=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::int32, DBM_Filter::int32 -
+filter for DBM_Filter
=over 4
@@ -20023,7 +20828,8 @@ utf8, encode, compress, int32, null
=back
-=head2 DBM_Filter::null - filter for DBM_Filter
+=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::null, DBM_Filter::null -
+filter for DBM_Filter
=over 4
@@ -20037,7 +20843,8 @@ utf8, encode, compress, int32, null
=back
-=head2 DBM_Filter::utf8 - filter for DBM_Filter
+=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::utf8, DBM_Filter::utf8 -
+filter for DBM_Filter
=over 4
@@ -20051,8 +20858,8 @@ utf8, encode, compress, int32, null
=back
-=head2 Data::Dumper - stringified perl data structures, suitable for both
-printing and C<eval>
+=head2 C:\perl_tl\perl-5.14.2\lib::Data::Dumper, Data::Dumper - stringified
+perl data structures, suitable for both printing and C<eval>
=over 4
@@ -20099,93 +20906,14 @@ Dumper
=back
-=head2 Devel-DProf, Devel::DProf - a Perl code profiler
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item PROFILE FORMAT
-
-=item AUTOLOAD
-
-=item ENVIRONMENT
-
-=item BUGS
-
-=item SEE ALSO
-
-=back
-
-=head2 Devel-Peek, Devel::Peek - A data debugging tool for the XS
-programmer
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Runtime debugging
-
-=item Memory footprint debugging
-
-=back
-
-=item EXAMPLES
-
-=over 4
-
-=item A simple scalar string
-
-=item A simple scalar number
-
-=item A simple scalar with an extra reference
-
-=item A reference to a simple scalar
-
-=item A reference to an array
-
-=item A reference to a hash
-
-=item Dumping a large array or hash
-
-=item A reference to an SV which holds a C pointer
-
-=item A reference to a subroutine
-
-=back
-
-=item EXPORTS
-
-=item BUGS
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 Devel-SelfStubber::lib::Devel::SelfStubber, Devel::SelfStubber -
-generate stubs for a SelfLoading module
+=head2 C:\perl_tl\perl-5.14.2\lib::Devel::DProf, Devel::DProf - a
+B<DEPRECATED> Perl code profiler
=over 4
=item SYNOPSIS
-=item DESCRIPTION
-
-=back
-
-=head2 Devel::DProf - a Perl code profiler
-
-=over 4
-
-=item SYNOPSIS
+=item ACHTUNG!
=item DESCRIPTION
@@ -20201,7 +20929,8 @@ generate stubs for a SelfLoading module
=back
-=head2 Devel::InnerPackage - find all the inner packages of a package
+=head2 C:\perl_tl\perl-5.14.2\lib::Devel::InnerPackage, Devel::InnerPackage
+- find all the inner packages of a package
=over 4
@@ -20229,7 +20958,8 @@ generate stubs for a SelfLoading module
=back
-=head2 Devel::PPPort - Perl/Pollution/Portability
+=head2 C:\perl_tl\perl-5.14.2\lib::Devel::PPPort, Devel::PPPort -
+Perl/Pollution/Portability
=over 4
@@ -20280,7 +21010,8 @@ perl 5.004_05, perl 5.004
=back
-=head2 Devel::Peek - A data debugging tool for the XS programmer
+=head2 C:\perl_tl\perl-5.14.2\lib::Devel::Peek, Devel::Peek - A data
+debugging tool for the XS programmer
=over 4
@@ -20330,7 +21061,8 @@ perl 5.004_05, perl 5.004
=back
-=head2 Devel::SelfStubber - generate stubs for a SelfLoading module
+=head2 C:\perl_tl\perl-5.14.2\lib::Devel::SelfStubber, Devel::SelfStubber -
+generate stubs for a SelfLoading module
=over 4
@@ -20340,7 +21072,8 @@ perl 5.004_05, perl 5.004
=back
-=head2 Digest - Modules that calculate message digests
+=head2 C:\perl_tl\perl-5.14.2\lib::Digest, Digest - Modules that calculate
+message digests
=over 4
@@ -20366,7 +21099,8 @@ $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring
=back
-=head2 Digest::MD5 - Perl interface to the MD5 Algorithm
+=head2 C:\perl_tl\perl-5.14.2\lib::Digest::MD5, Digest::MD5 - Perl
+interface to the MD5 Algorithm
=over 4
@@ -20394,7 +21128,8 @@ $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest
=back
-=head2 Digest::SHA - Perl extension for SHA-1/224/256/384/512
+=head2 C:\perl_tl\perl-5.14.2\lib::Digest::SHA, Digest::SHA - Perl
+extension for SHA-1/224/256/384/512
=over 4
@@ -20415,22 +21150,29 @@ $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest
=item EXPORTABLE FUNCTIONS
B<sha1($data, ...)>, B<sha224($data, ...)>, B<sha256($data, ...)>,
-B<sha384($data, ...)>, B<sha512($data, ...)>, B<sha1_hex($data, ...)>,
-B<sha224_hex($data, ...)>, B<sha256_hex($data, ...)>, B<sha384_hex($data,
-...)>, B<sha512_hex($data, ...)>, B<sha1_base64($data, ...)>,
+B<sha384($data, ...)>, B<sha512($data, ...)>, B<sha512224($data, ...)>,
+B<sha512256($data, ...)>, B<sha1_hex($data, ...)>, B<sha224_hex($data,
+...)>, B<sha256_hex($data, ...)>, B<sha384_hex($data, ...)>,
+B<sha512_hex($data, ...)>, B<sha512224_hex($data, ...)>,
+B<sha512256_hex($data, ...)>, B<sha1_base64($data, ...)>,
B<sha224_base64($data, ...)>, B<sha256_base64($data, ...)>,
-B<sha384_base64($data, ...)>, B<sha512_base64($data, ...)>, B<new($alg)>,
-B<reset($alg)>, B<hashsize>, B<algorithm>, B<clone>, B<add($data, ...)>,
-B<add_bits($data, $nbits)>, B<add_bits($bits)>, B<addfile(*FILE)>,
-B<addfile($filename [, $mode])>, B<dump($filename)>, B<load($filename)>,
-B<digest>, B<hexdigest>, B<b64digest>, B<hmac_sha1($data, $key)>,
-B<hmac_sha224($data, $key)>, B<hmac_sha256($data, $key)>,
-B<hmac_sha384($data, $key)>, B<hmac_sha512($data, $key)>,
-B<hmac_sha1_hex($data, $key)>, B<hmac_sha224_hex($data, $key)>,
-B<hmac_sha256_hex($data, $key)>, B<hmac_sha384_hex($data, $key)>,
-B<hmac_sha512_hex($data, $key)>, B<hmac_sha1_base64($data, $key)>,
-B<hmac_sha224_base64($data, $key)>, B<hmac_sha256_base64($data, $key)>,
-B<hmac_sha384_base64($data, $key)>, B<hmac_sha512_base64($data, $key)>
+B<sha384_base64($data, ...)>, B<sha512_base64($data, ...)>,
+B<sha512224_base64($data, ...)>, B<sha512256_base64($data, ...)>,
+B<new($alg)>, B<reset($alg)>, B<hashsize>, B<algorithm>, B<clone>,
+B<add($data, ...)>, B<add_bits($data, $nbits)>, B<add_bits($bits)>,
+B<addfile(*FILE)>, B<addfile($filename [, $mode])>, B<dump($filename)>,
+B<load($filename)>, B<digest>, B<hexdigest>, B<b64digest>,
+B<hmac_sha1($data, $key)>, B<hmac_sha224($data, $key)>,
+B<hmac_sha256($data, $key)>, B<hmac_sha384($data, $key)>,
+B<hmac_sha512($data, $key)>, B<hmac_sha512224($data, $key)>,
+B<hmac_sha512256($data, $key)>, B<hmac_sha1_hex($data, $key)>,
+B<hmac_sha224_hex($data, $key)>, B<hmac_sha256_hex($data, $key)>,
+B<hmac_sha384_hex($data, $key)>, B<hmac_sha512_hex($data, $key)>,
+B<hmac_sha512224_hex($data, $key)>, B<hmac_sha512256_hex($data, $key)>,
+B<hmac_sha1_base64($data, $key)>, B<hmac_sha224_base64($data, $key)>,
+B<hmac_sha256_base64($data, $key)>, B<hmac_sha384_base64($data, $key)>,
+B<hmac_sha512_base64($data, $key)>, B<hmac_sha512224_base64($data, $key)>,
+B<hmac_sha512256_base64($data, $key)>
=item SEE ALSO
@@ -20442,7 +21184,8 @@ B<hmac_sha384_base64($data, $key)>, B<hmac_sha512_base64($data, $key)>
=back
-=head2 Digest::base - Digest base class
+=head2 C:\perl_tl\perl-5.14.2\lib::Digest::base, Digest::base - Digest base
+class
=over 4
@@ -20454,7 +21197,8 @@ B<hmac_sha384_base64($data, $key)>, B<hmac_sha512_base64($data, $key)>
=back
-=head2 Digest::file - Calculate digests of files
+=head2 C:\perl_tl\perl-5.14.2\lib::Digest::file, Digest::file - Calculate
+digests of files
=over 4
@@ -20470,7 +21214,8 @@ $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...]
=back
-=head2 DirHandle - supply object methods for directory handles
+=head2 C:\perl_tl\perl-5.14.2\lib::DirHandle, DirHandle - supply object
+methods for directory handles
=over 4
@@ -20478,11 +21223,10 @@ $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...]
=item DESCRIPTION
-=item NOTES
-
=back
-=head2 Dumpvalue - provides screen dump of Perl data.
+=head2 C:\perl_tl\perl-5.14.2\lib::Dumpvalue, Dumpvalue - provides screen
+dump of Perl data.
=over 4
@@ -20508,7 +21252,8 @@ compactDump, veryCompact, set, get
=back
-=head2 DynaLoader - Dynamically load C libraries into Perl code
+=head2 C:\perl_tl\perl-5.14.2\lib::DynaLoader, DynaLoader - Dynamically
+load C libraries into Perl code
=over 4
@@ -20526,7 +21271,7 @@ dl_install_xsub(), bootstrap()
=back
-=head2 Encode - character encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode, Encode - character encodings
=over 4
@@ -20604,7 +21349,8 @@ is_utf8(STRING [, CHECK]), _utf8_on(STRING), _utf8_off(STRING)
=back
-=head2 Encode::Alias - alias definitions to encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Alias, Encode::Alias - alias
+definitions to encodings
=over 4
@@ -20625,7 +21371,8 @@ reference, e.g.:
=back
-=head2 Encode::Byte - Single Byte Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Byte, Encode::Byte - Single Byte
+Encodings
=over 4
@@ -20639,9 +21386,11 @@ reference, e.g.:
=back
-=head2 Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::CJKConstants,
+Encode::CJKConstants.pm -- Internally used by Encode::??::ISO_2022_*
-=head2 Encode::CN - China-based Chinese Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::CN, Encode::CN - China-based
+Chinese Encodings
=over 4
@@ -20657,11 +21406,14 @@ reference, e.g.:
=back
-=head2 Encode::CN::HZ -- internally used by Encode::CN
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::CN::HZ, Encode::CN::HZ --
+internally used by Encode::CN
-=head2 Encode::Config -- internally used by Encode
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Config, Encode::Config --
+internally used by Encode
-=head2 Encode::EBCDIC - EBCDIC Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::EBCDIC, Encode::EBCDIC - EBCDIC
+Encodings
=over 4
@@ -20675,7 +21427,37 @@ reference, e.g.:
=back
-=head2 Encode::Encoding - Encode Implementation Base Class
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Encoder, Encode::Encoder --
+Object Oriented Encoder
+
+=over 4
+
+=item SYNOPSIS
+
+=item ABSTRACT
+
+=item Description
+
+=over 4
+
+=item Predefined Methods
+
+$e = Encode::Encoder-E<gt>new([$data, $encoding]);, encoder(),
+$e-E<gt>data([$data]), $e-E<gt>encoding([$encoding]),
+$e-E<gt>bytes([$encoding])
+
+=item Example: base64 transcoder
+
+=item Operator Overloading
+
+=back
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Encoding, Encode::Encoding -
+Encode Implementation Base Class
=over 4
@@ -20713,7 +21495,8 @@ Scheme 1, Scheme 2, Other Schemes
=back
-=head2 Encode::GSM0338 -- ESTI GSM 03.38 Encoding
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::GSM0338, Encode::GSM0338 -- ESTI
+GSM 03.38 Encoding
=over 4
@@ -20729,7 +21512,8 @@ Scheme 1, Scheme 2, Other Schemes
=back
-=head2 Encode::Guess -- Guesses encoding from data
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Guess, Encode::Guess -- Guesses
+encoding from data
=over 4
@@ -20751,7 +21535,8 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 Encode::JP - Japanese Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::JP, Encode::JP - Japanese
+Encodings
=over 4
@@ -20769,11 +21554,14 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::JP::H2Z, Encode::JP::H2Z --
+internally used by Encode::JP::2022_JP*
-=head2 Encode::JP::JIS7 -- internally used by Encode::JP
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::JP::JIS7, Encode::JP::JIS7 --
+internally used by Encode::JP
-=head2 Encode::KR - Korean Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::KR, Encode::KR - Korean
+Encodings
=over 4
@@ -20787,9 +21575,11 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 Encode::KR::2022_KR -- internally used by Encode::KR
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::KR::2022_KR, Encode::KR::2022_KR
+-- internally used by Encode::KR
-=head2 Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::MIME::Header,
+Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
=over 4
@@ -20805,7 +21595,8 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::MIME::Name, Encode::MIME::NAME
+-- internally used by Encode
=over 4
@@ -20813,7 +21604,8 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 Encode::PerlIO -- a detailed document on Encode and PerlIO
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::PerlIO, Encode::PerlIO -- a
+detailed document on Encode and PerlIO
=over 4
@@ -20833,7 +21625,8 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 Encode::Supported -- Encodings supported by Encode
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Supported, Encode::Supported --
+Encodings supported by Encode
=over 4
@@ -20921,7 +21714,8 @@ C<CJKV Information Processing> by Ken Lunde
=back
-=head2 Encode::Symbol - Symbol Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Symbol, Encode::Symbol - Symbol
+Encodings
=over 4
@@ -20935,7 +21729,8 @@ C<CJKV Information Processing> by Ken Lunde
=back
-=head2 Encode::TW - Taiwan-based Chinese Encodings
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::TW, Encode::TW - Taiwan-based
+Chinese Encodings
=over 4
@@ -20951,7 +21746,8 @@ C<CJKV Information Processing> by Ken Lunde
=back
-=head2 Encode::Unicode -- Various Unicode Transformation Formats
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Unicode, Encode::Unicode --
+Various Unicode Transformation Formats
=over 4
@@ -20981,7 +21777,8 @@ BOM as integer when fetched in network byte order
=back
-=head2 Encode::Unicode::UTF7 -- UTF-7 encoding
+=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Unicode::UTF7,
+Encode::Unicode::UTF7 -- UTF-7 encoding
=over 4
@@ -20995,36 +21792,8 @@ BOM as integer when fetched in network byte order
=back
-=head2 Encoder, Encode::Encoder -- Object Oriented Encoder
-
-=over 4
-
-=item SYNOPSIS
-
-=item ABSTRACT
-
-=item Description
-
-=over 4
-
-=item Predefined Methods
-
-$e = Encode::Encoder-E<gt>new([$data, $encoding]);, encoder(),
-$e-E<gt>data([$data]), $e-E<gt>encoding([$encoding]),
-$e-E<gt>bytes([$encoding])
-
-=item Example: base64 transcoder
-
-=item Operator Overloading
-
-=back
-
-=item SEE ALSO
-
-=back
-
-=head2 English - use nice English (or awk) names for ugly punctuation
-variables
+=head2 C:\perl_tl\perl-5.14.2\lib::English, English - use nice English (or
+awk) names for ugly punctuation variables
=over 4
@@ -21036,8 +21805,8 @@ variables
=back
-=head2 Env - perl module that imports environment variables as scalars or
-arrays
+=head2 C:\perl_tl\perl-5.14.2\lib::Env, Env - perl module that imports
+environment variables as scalars or arrays
=over 4
@@ -21051,7 +21820,7 @@ arrays
=back
-=head2 Errno - System errno constants
+=head2 C:\perl_tl\perl-5.14.2\lib::Errno, Errno - System errno constants
=over 4
@@ -21067,7 +21836,8 @@ arrays
=back
-=head2 Exporter - Implements default import method for modules
+=head2 C:\perl_tl\perl-5.14.2\lib::Exporter, Exporter - Implements default
+import method for modules
=over 4
@@ -21127,7 +21897,8 @@ C<use YourModule;>, C<use YourModule ();>, C<use YourModule qw(...);>
=back
-=head2 Exporter::Heavy - Exporter guts
+=head2 C:\perl_tl\perl-5.14.2\lib::Exporter::Heavy, Exporter::Heavy -
+Exporter guts
=over 4
@@ -21137,7 +21908,8 @@ C<use YourModule;>, C<use YourModule ();>, C<use YourModule qw(...);>
=back
-=head2 ExtUtils::CBuilder - Compile and link C code for Perl modules
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::CBuilder, ExtUtils::CBuilder -
+Compile and link C code for Perl modules
=over 4
@@ -21164,8 +21936,8 @@ lib_file, exe_file, prelink, need_prelink, extra_link_args_after_prelink
=back
-=head2 ExtUtils::CBuilder::Platform::Windows - Builder class for Windows
-platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::CBuilder::Platform::Windows,
+ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms
=over 4
@@ -21177,8 +21949,8 @@ platforms
=back
-=head2 ExtUtils::Command - utilities to replace common UNIX commands in
-Makefiles etc.
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Command, ExtUtils::Command -
+utilities to replace common UNIX commands in Makefiles etc.
=over 4
@@ -21226,7 +21998,8 @@ dos2unix
=back
-=head2 ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Command::MM,
+ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
=over 4
@@ -21246,7 +22019,8 @@ B<perllocal_install>
B<uninstall>
-=head2 ExtUtils::Constant - generate XS code to import C header constants
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant, ExtUtils::Constant -
+generate XS code to import C header constants
=over 4
@@ -21280,7 +22054,8 @@ C_SUBNAME
=back
-=head2 ExtUtils::Constant::Base - base class for ExtUtils::Constant objects
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant::Base,
+ExtUtils::Constant::Base - base class for ExtUtils::Constant objects
=over 4
@@ -21321,7 +22096,8 @@ post, def_pre, def_post, utf8, weight
=back
-=head2 ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant::Utils,
+ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant
=over 4
@@ -21343,7 +22119,8 @@ perl_stringify NAME
=back
-=head2 ExtUtils::Constant::XS - generate C code for XS modules' constants.
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant::XS,
+ExtUtils::Constant::XS - generate C code for XS modules' constants.
=over 4
@@ -21357,7 +22134,8 @@ perl_stringify NAME
=back
-=head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Embed, ExtUtils::Embed -
+Utilities for embedding Perl in C/C++ applications
=over 4
@@ -21380,7 +22158,8 @@ ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
=back
-=head2 ExtUtils::Install - install files from here to there
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Install, ExtUtils::Install -
+install files from here to there
=over 4
@@ -21457,7 +22236,8 @@ B<EU_INSTALL_SITE_SKIPFILE>, B<EU_INSTALL_ALWAYS_COPY>
=back
-=head2 ExtUtils::Installed - Inventory management of installed modules
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Installed, ExtUtils::Installed
+- Inventory management of installed modules
=over 4
@@ -21478,7 +22258,8 @@ packlist(), version()
=back
-=head2 ExtUtils::Liblist - determine libraries to use and how to use them
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Liblist, ExtUtils::Liblist -
+determine libraries to use and how to use them
=over 4
@@ -21513,7 +22294,8 @@ dynamic extensions at load time
=back
-=head2 ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM, ExtUtils::MM - OS adjusted
+ExtUtils::MakeMaker subclass
=over 4
@@ -21523,7 +22305,8 @@ dynamic extensions at load time
=back
-=head2 ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_AIX, ExtUtils::MM_AIX - AIX
+specific subclass of ExtUtils::MM_Unix
=over 4
@@ -21547,7 +22330,8 @@ dynamic extensions at load time
=back
-=head2 ExtUtils::MM_Any - Platform-agnostic MM methods
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Any, ExtUtils::MM_Any -
+Platform-agnostic MM methods
=over 4
@@ -21601,8 +22385,8 @@ dynamic extensions at load time
=back
-=head2 ExtUtils::MM_BeOS - methods to override UN*X behaviour in
-ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_BeOS, ExtUtils::MM_BeOS -
+methods to override UN*X behaviour in ExtUtils::MakeMaker
=over 4
@@ -21616,8 +22400,8 @@ os_flavor
init_linker
-=head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
-ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Cygwin, ExtUtils::MM_Cygwin
+- methods to override UN*X behaviour in ExtUtils::MakeMaker
=over 4
@@ -21637,7 +22421,12 @@ init_linker
maybe_command
-=head2 ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix
+dynamic_lib
+
+all_target
+
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_DOS, ExtUtils::MM_DOS - DOS
+specific subclass of ExtUtils::MM_Unix
=over 4
@@ -21665,7 +22454,8 @@ B<replace_manpage_separator>
=back
-=head2 ExtUtils::MM_Darwin - special behaviors for OS X
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Darwin, ExtUtils::MM_Darwin
+- special behaviors for OS X
=over 4
@@ -21681,7 +22471,8 @@ B<replace_manpage_separator>
=back
-=head2 ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_MacOS, ExtUtils::MM_MacOS -
+once produced Makefiles for MacOS Classic
=over 4
@@ -21691,8 +22482,8 @@ B<replace_manpage_separator>
=back
-=head2 ExtUtils::MM_NW5 - methods to override UN*X behaviour in
-ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_NW5, ExtUtils::MM_NW5 -
+methods to override UN*X behaviour in ExtUtils::MakeMaker
=over 4
@@ -21712,8 +22503,8 @@ static_lib
dynamic_lib
-=head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
-ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_OS2, ExtUtils::MM_OS2 -
+methods to override UN*X behaviour in ExtUtils::MakeMaker
=over 4
@@ -21731,7 +22522,8 @@ init_linker
os_flavor
-=head2 ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_QNX, ExtUtils::MM_QNX - QNX
+specific subclass of ExtUtils::MM_Unix
=over 4
@@ -21755,7 +22547,8 @@ os_flavor
=back
-=head2 ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_UWIN, ExtUtils::MM_UWIN -
+U/WIN specific subclass of ExtUtils::MM_Unix
=over 4
@@ -21783,7 +22576,8 @@ B<replace_manpage_separator>
=back
-=head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Unix, ExtUtils::MM_Unix -
+methods used by ExtUtils::MakeMaker
=over 4
@@ -21983,8 +22777,8 @@ xs_o (o)
=back
-=head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
-ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_VMS, ExtUtils::MM_VMS -
+methods to override UN*X behaviour in ExtUtils::MakeMaker
=over 4
@@ -22012,6 +22806,8 @@ guess_name (override)
find_perl (override)
+_fixin_replace_shebang (override)
+
maybe_command (override)
pasthru (override)
@@ -22102,7 +22898,8 @@ os_flavor
=back
-=head2 ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_VOS, ExtUtils::MM_VOS - VOS
+specific subclass of ExtUtils::MM_Unix
=over 4
@@ -22126,8 +22923,8 @@ os_flavor
=back
-=head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
-ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Win32, ExtUtils::MM_Win32 -
+methods to override UN*X behaviour in ExtUtils::MakeMaker
=over 4
@@ -22183,7 +22980,8 @@ os_flavor
cflags
-=head2 ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Win95, ExtUtils::MM_Win95 -
+method to customize MakeMaker for Win9X
=over 4
@@ -22215,7 +23013,8 @@ os_flavor
=back
-=head2 ExtUtils::MY - ExtUtils::MakeMaker subclass for customization
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MY, ExtUtils::MY -
+ExtUtils::MakeMaker subclass for customization
=over 4
@@ -22225,7 +23024,8 @@ os_flavor
=back
-=head2 ExtUtils::MakeMaker - Create a module Makefile
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker, ExtUtils::MakeMaker
+- Create a module Makefile
=over 4
@@ -22272,13 +23072,14 @@ INSTALLVENDORSCRIPT, INST_ARCHLIB, INST_BIN, INST_LIB, INST_MAN1DIR,
INST_MAN3DIR, INST_SCRIPT, LD, LDDLFLAGS, LDFROM, LIB, LIBPERL_A, LIBS,
LICENSE, LINKTYPE, MAKE, MAKEAPERL, MAKEFILE_OLD, MAN1PODS, MAN3PODS,
MAP_TARGET, META_ADD, META_MERGE, MIN_PERL_VERSION, MYEXTLIB, NAME,
-NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_VC, OBJECT, OPTIMIZE, PERL,
-PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_MALLOC_OK, PERLPREFIX,
-PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR, PERM_RW, PERM_RWX, PL_FILES, PM,
-PMLIBDIRS, PM_FILTER, POLLUTE, PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT,
-PREFIX, PREREQ_FATAL, PREREQ_PM, PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX,
-SIGN, SKIP, TYPEMAPS, VENDORPREFIX, VERBINST, VERSION, VERSION_FROM,
-VERSION_SYM, XS, XSOPT, XSPROTOARG, XS_VERSION
+NEEDS_LINKING, NOECHO, NORECURS, NO_META, NO_MYMETA, NO_VC, OBJECT,
+OPTIMIZE, PERL, PERL_CORE, PERLMAINCC, PERL_ARCHLIB, PERL_LIB,
+PERL_MALLOC_OK, PERLPREFIX, PERLRUN, PERLRUNINST, PERL_SRC, PERM_DIR,
+PERM_RW, PERM_RWX, PL_FILES, PM, PMLIBDIRS, PM_FILTER, POLLUTE,
+PPM_INSTALL_EXEC, PPM_INSTALL_SCRIPT, PREFIX, PREREQ_FATAL, PREREQ_PM,
+PREREQ_PRINT, PRINT_PREREQ, SITEPREFIX, SIGN, SKIP, TYPEMAPS, VENDORPREFIX,
+VERBINST, VERSION, VERSION_FROM, VERSION_SYM, XS, XSOPT, XSPROTOARG,
+XS_VERSION
=item Additional lowercase attributes
@@ -22321,7 +23122,8 @@ PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE
=back
-=head2 ExtUtils::MakeMaker::Config - Wrapper around Config.pm
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::Config,
+ExtUtils::MakeMaker::Config - Wrapper around Config.pm
=over 4
@@ -22331,8 +23133,8 @@ PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE
=back
-=head2 ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About
-MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::FAQ,
+ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker
=over 4
@@ -22357,8 +23159,8 @@ shell commands, easier to customize, cleaner internals, less cruft
How do I keep my $VERSION up to date without resetting it manually?, What's
this F<META.yml> thing and how did it get in my F<MANIFEST>?!, How do I
-delete everything not in my F<MANIFEST>?, Which zip should I use on Windows
-for '[nd]make zipdist'?
+delete everything not in my F<MANIFEST>?, Which tar should I use on
+Windows?, Which zip should I use on Windows for '[nd]make zipdist'?
=item XS
@@ -22376,7 +23178,8 @@ directory?
=back
-=head2 ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::Tutorial,
+ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
=over 4
@@ -22399,7 +23202,23 @@ bin/
=back
-=head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::YAML,
+ExtUtils::MakeMaker::YAML - clone of YAML::Tiny
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Manifest, ExtUtils::Manifest -
+utilities to write and check a MANIFEST file
=over 4
@@ -22466,7 +23285,8 @@ B<PERL_MM_MANIFEST_DEBUG>
=back
-=head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Miniperl, ExtUtils::Miniperl,
+writemain - write the C code for perlmain.c
=over 4
@@ -22478,7 +23298,8 @@ B<PERL_MM_MANIFEST_DEBUG>
=back
-=head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Mkbootstrap,
+ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
=over 4
@@ -22488,8 +23309,8 @@ B<PERL_MM_MANIFEST_DEBUG>
=back
-=head2 ExtUtils::Mksymlists - write linker options files for dynamic
-extension
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Mksymlists,
+ExtUtils::Mksymlists - write linker options files for dynamic extension
=over 4
@@ -22509,7 +23330,8 @@ mkfh()
__find_relocations
-=head2 ExtUtils::Packlist - manage .packlist files
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Packlist, ExtUtils::Packlist -
+manage .packlist files
=over 4
@@ -22529,7 +23351,8 @@ new(), read(), write(), validate(), packlist_file()
=back
-=head2 ExtUtils::ParseXS - converts Perl XS code into C code
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::ParseXS, ExtUtils::ParseXS -
+converts Perl XS code into C code
=over 4
@@ -22551,8 +23374,8 @@ errors()
=back
-=head2 ExtUtils::XSSymSet - keep sets of symbol names palatable to the VMS
-linker
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::XSSymSet, ExtUtils::XSSymSet -
+keep sets of symbol names palatable to the VMS linker
=over 4
@@ -22570,7 +23393,8 @@ get_trimmed($name), all_orig(), all_trimmed()
=back
-=head2 ExtUtils::testlib - add blib/* directories to @INC
+=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::testlib, ExtUtils::testlib -
+add blib/* directories to @INC
=over 4
@@ -22580,7 +23404,8 @@ get_trimmed($name), all_orig(), all_trimmed()
=back
-=head2 Fatal - Replace functions with equivalents which succeed or die
+=head2 C:\perl_tl\perl-5.14.2\lib::Fatal, Fatal - Replace functions with
+equivalents which succeed or die
=over 4
@@ -22606,7 +23431,8 @@ neither a builtin, nor a Perl subroutine, Cannot make the non-overridable
=back
-=head2 Fcntl - load the C Fcntl.h defines
+=head2 C:\perl_tl\perl-5.14.2\lib::Fcntl, Fcntl - load the C Fcntl.h
+defines
=over 4
@@ -22620,40 +23446,8 @@ neither a builtin, nor a Perl subroutine, Cannot make the non-overridable
=back
-=head2 File-Glob, File::Glob - Perl extension for BSD glob routine
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item META CHARACTERS
-
-=item POSIX FLAGS
-
-C<GLOB_ERR>, C<GLOB_LIMIT>, C<GLOB_MARK>, C<GLOB_NOCASE>, C<GLOB_NOCHECK>,
-C<GLOB_NOSORT>, C<GLOB_BRACE>, C<GLOB_NOMAGIC>, C<GLOB_QUOTE>,
-C<GLOB_TILDE>, C<GLOB_CSH>, C<GLOB_ALPHASORT>
-
-=back
-
-=item DIAGNOSTICS
-
-C<GLOB_NOSPACE>, C<GLOB_ABEND>
-
-=item NOTES
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=back
-
-=head2 File::Basename - Parse file paths into directory, filename and
-suffix.
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Basename, File::Basename - Parse
+file paths into directory, filename and suffix.
=over 4
@@ -22677,7 +23471,8 @@ C<fileparse_set_fstype> X<filesystem>
=back
-=head2 File::CheckTree - run many filetest checks on a tree
+=head2 C:\perl_tl\perl-5.14.2\lib::File::CheckTree, File::CheckTree - run
+many filetest checks on a tree
=over 4
@@ -22691,7 +23486,8 @@ C<fileparse_set_fstype> X<filesystem>
=back
-=head2 File::Compare - Compare files or filehandles
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Compare, File::Compare - Compare
+files or filehandles
=over 4
@@ -22705,7 +23501,8 @@ C<fileparse_set_fstype> X<filesystem>
=back
-=head2 File::Copy - Copy files or filehandles
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Copy, File::Copy - Copy files or
+filehandles
=over 4
@@ -22718,13 +23515,12 @@ rmscopy($from,$to[,$date_flag]) X<rmscopy>
=item RETURN
-=item NOTES
-
=item AUTHOR
=back
-=head2 File::DosGlob - DOS like globbing and then some
+=head2 C:\perl_tl\perl-5.14.2\lib::File::DosGlob, File::DosGlob - DOS like
+globbing and then some
=over 4
@@ -22732,8 +23528,6 @@ rmscopy($from,$to[,$date_flag]) X<rmscopy>
=item DESCRIPTION
-=item NOTES
-
=item EXPORTS (by request only)
=item BUGS
@@ -22746,7 +23540,8 @@ rmscopy($from,$to[,$date_flag]) X<rmscopy>
=back
-=head2 File::Fetch - A generic file fetching mechanism
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Fetch, File::Fetch - A generic
+file fetching mechanism
=over 4
@@ -22841,7 +23636,8 @@ Implement $PREFER_BIN
=back
-=head2 File::Find - Traverse a directory tree.
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Find, File::Find - Traverse a
+directory tree.
=over 4
@@ -22873,8 +23669,6 @@ pathname to the file
$dont_use_nlink, symlinks
-=item NOTES
-
=item BUGS AND CAVEATS
=item HISTORY
@@ -22883,7 +23677,8 @@ $dont_use_nlink, symlinks
=back
-=head2 File::Glob - Perl extension for BSD glob routine
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Glob, File::Glob - Perl extension
+for BSD glob routine
=over 4
@@ -22915,7 +23710,8 @@ C<GLOB_NOSPACE>, C<GLOB_ABEND>
=back
-=head2 File::GlobMapper - Extend File Glob to Allow Input and Output Files
+=head2 C:\perl_tl\perl-5.14.2\lib::File::GlobMapper, File::GlobMapper -
+Extend File Glob to Allow Input and Output Files
=over 4
@@ -22959,7 +23755,8 @@ B<~>, B<~user>, B<.>, B<*>, B<?>, B<\>, B<[]>, B<{,}>, B<()>
=back
-=head2 File::Path - Create or remove directory trees
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Path, File::Path - Create or
+remove directory trees
=over 4
@@ -23023,7 +23820,8 @@ group ownership not changed
=back
-=head2 File::Spec - portably perform operations on file names
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec, File::Spec - portably
+perform operations on file names
=over 4
@@ -23048,7 +23846,8 @@ X<relative, path>, rel2abs() X<rel2abs> X<absolute, path> X<relative, path>
=back
-=head2 File::Spec::Cygwin - methods for Cygwin file specs
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Cygwin, File::Spec::Cygwin -
+methods for Cygwin file specs
=over 4
@@ -23072,7 +23871,8 @@ case_tolerant
=back
-=head2 File::Spec::Epoc - methods for Epoc file specs
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Epoc, File::Spec::Epoc -
+methods for Epoc file specs
=over 4
@@ -23094,7 +23894,8 @@ canonpath()
=back
-=head2 File::Spec::Functions - portably perform operations on file names
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Functions,
+File::Spec::Functions - portably perform operations on file names
=over 4
@@ -23114,7 +23915,8 @@ canonpath()
=back
-=head2 File::Spec::Mac - File::Spec for Mac OS (Classic)
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Mac, File::Spec::Mac -
+File::Spec for Mac OS (Classic)
=over 4
@@ -23166,7 +23968,8 @@ rel2abs
=back
-=head2 File::Spec::OS2 - methods for OS/2 file specs
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::OS2, File::Spec::OS2 -
+methods for OS/2 file specs
=over 4
@@ -23180,8 +23983,8 @@ tmpdir, splitpath
=back
-=head2 File::Spec::Unix - File::Spec for Unix, base for other File::Spec
-modules
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Unix, File::Spec::Unix -
+File::Spec for Unix, base for other File::Spec modules
=over 4
@@ -23237,7 +24040,8 @@ rel2abs()
=back
-=head2 File::Spec::VMS - methods for VMS file specs
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::VMS, File::Spec::VMS -
+methods for VMS file specs
=over 4
@@ -23287,7 +24091,8 @@ rel2abs (override)
=back
-=head2 File::Spec::Win32 - methods for Win32 file specs
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Win32, File::Spec::Win32 -
+methods for Win32 file specs
=over 4
@@ -23329,7 +24134,8 @@ catpath
=back
-=head2 File::Temp - return name and handle of a temporary file safely
+=head2 C:\perl_tl\perl-5.14.2\lib::File::Temp, File::Temp - return name and
+handle of a temporary file safely
=over 4
@@ -23449,7 +24255,8 @@ B<$KEEP_ALL>, B<$DEBUG>
=back
-=head2 File::stat - by-name interface to Perl's built-in stat() functions
+=head2 C:\perl_tl\perl-5.14.2\lib::File::stat, File::stat - by-name
+interface to Perl's built-in stat() functions
=over 4
@@ -23473,24 +24280,8 @@ File::stat ignores use filetest 'access', File::stat ignores VMS ACLs
=back
-=head2 FileCache - keep more files open than the system permits
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-cacheout EXPR, cacheout MODE, EXPR
-
-=item CAVEATS
-
-=item BUGS
-
-=back
-
-=head2 FileCache::lib::FileCache, FileCache - keep more files open than the
-system permits
+=head2 C:\perl_tl\perl-5.14.2\lib::FileCache, FileCache - keep more files
+open than the system permits
=over 4
@@ -23506,7 +24297,8 @@ cacheout EXPR, cacheout MODE, EXPR
=back
-=head2 FileHandle - supply object methods for filehandles
+=head2 C:\perl_tl\perl-5.14.2\lib::FileHandle, FileHandle - supply object
+methods for filehandles
=over 4
@@ -23520,7 +24312,8 @@ $fh->print, $fh->printf, $fh->getline, $fh->getlines
=back
-=head2 Filter::Simple - Simplified source filtering
+=head2 C:\perl_tl\perl-5.14.2\lib::Filter::Simple, Filter::Simple -
+Simplified source filtering
=over 4
@@ -23546,11 +24339,6 @@ C<"all">
=item Filtering only the code parts of source code
-Most source code ceases to be grammatically correct when it is broken up
-into the pieces between string literals and regexes. So the C<'code'>
-and C<'code_no_comments'> component filter behave slightly differently
-from the other partial filters described in the previous section.
-
=item Using Filter::Simple with an explicit C<import> subroutine
=item Using Filter::Simple and Exporter together
@@ -23567,7 +24355,8 @@ from the other partial filters described in the previous section.
=back
-=head2 Filter::Util::Call - Perl Source Filter Utility Module
+=head2 C:\perl_tl\perl-5.14.2\lib::Filter::Util::Call, Filter::Util::Call -
+Perl Source Filter Utility Module
=over 4
@@ -23609,7 +24398,8 @@ B<$_>, B<$status>, B<filter_read> and B<filter_read_exact>, B<filter_del>
=back
-=head2 FindBin - Locate directory of original perl script
+=head2 C:\perl_tl\perl-5.14.2\lib::FindBin, FindBin - Locate directory of
+original perl script
=over 4
@@ -23629,23 +24419,8 @@ B<$_>, B<$status>, B<filter_read> and B<filter_read_exact>, B<filter_del>
=back
-=head2 GDBM_File - Perl5 access to the gdbm library.
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item AVAILABILITY
-
-=item BUGS
-
-=item SEE ALSO
-
-=back
-
-=head2 Getopt::Long - Extended processing of command line options
+=head2 C:\perl_tl\perl-5.14.2\lib::Getopt::Long, Getopt::Long - Extended
+processing of command line options
=over 4
@@ -23764,8 +24539,8 @@ supplied
=back
-=head2 Getopt::Std, getopt, getopts - Process single-character switches
-with switch clustering
+=head2 C:\perl_tl\perl-5.14.2\lib::Getopt::Std, getopt, getopts - Process
+single-character switches with switch clustering
=over 4
@@ -23777,126 +24552,53 @@ with switch clustering
=back
-=head2 Hash-Util-FieldHash::lib::Hash::Util::FieldHash,
-Hash::Util::FieldHash - Support for Inside-Out Classes
+=head2 C:\perl_tl\perl-5.14.2\lib::HTTP::Tiny, HTTP::Tiny - A small,
+simple, correct HTTP/1.1 client
=over 4
-=item SYNOPSIS
-
-=item FUNCTIONS
+=item VERSION
-id, id_2obj, register, idhash, idhashes, fieldhash, fieldhashes
+=item SYNOPSIS
=item DESCRIPTION
-=over 4
-
-=item The Inside-out Technique
-
-=item Problems of Inside-out
-
-=item Solutions
-
-=item More Problems
-
-=item The Generic Object
-
-=item How to use Field Hashes
-
-=item Garbage-Collected Hashes
-
-=back
-
-=item EXAMPLES
-
-C<init()>, C<first()>, C<last()>, C<name()>, C<Name_hash>, C<Name_id>,
-C<Name_idhash>, C<Name_id_reg>, C<Name_idhash_reg>, C<Name_fieldhash>
-
-=over 4
-
-=item Example 1
-
-=item Example 2
-
-=back
-
-=item GUTS
-
-=over 4
-
-=item The C<PERL_MAGIC_uvar> interface for hashes
-
-=item Weakrefs call uvar magic
-
-=item How field hashes work
-
-=item Internal function Hash::Util::FieldHash::_fieldhash
-
-=back
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 Hash-Utilib::Hash::Util, Hash::Util - A selection of general-utility
-hash subroutines
+=item METHODS
=over 4
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
+=item new
-=item Restricted hashes
+=item get
-B<lock_keys>, B<unlock_keys>
+=item mirror
-=back
+=item request
=back
-B<lock_keys_plus>
-
-B<lock_value>, B<unlock_value>
-
-B<lock_hash>, B<unlock_hash>
-
-B<lock_hash_recurse>, B<unlock_hash_recurse>
-
-B<hash_unlocked>
+=item LIMITATIONS
-B<legal_keys>, B<hidden_keys>, B<all_keys>, B<hash_seed>
+=item SEE ALSO
-B<hv_store>
+=item SUPPORT
=over 4
-=item Operating on references to hashes.
+=item Bugs / Feature Requests
-lock_ref_keys, unlock_ref_keys, lock_ref_keys_plus, lock_ref_value,
-unlock_ref_value, lock_hashref, unlock_hashref, lock_hashref_recurse,
-unlock_hashref_recurse, hash_ref_unlocked, legal_ref_keys, hidden_ref_keys
+=item Source Code
=back
-=over 4
-
-=item CAVEATS
-
-=item BUGS
-
-=item AUTHOR
+=item AUTHORS
-=item SEE ALSO
+=item COPYRIGHT AND LICENSE
=back
-=head2 Hash::Util - A selection of general-utility hash subroutines
+=head2 C:\perl_tl\perl-5.14.2\lib::Hash::Util, Hash::Util - A selection of
+general-utility hash subroutines
=over 4
@@ -23950,7 +24652,8 @@ unlock_hashref_recurse, hash_ref_unlocked, legal_ref_keys, hidden_ref_keys
=back
-=head2 Hash::Util::FieldHash - Support for Inside-Out Classes
+=head2 C:\perl_tl\perl-5.14.2\lib::Hash::Util::FieldHash,
+Hash::Util::FieldHash - Support for Inside-Out Classes
=over 4
@@ -24013,7 +24716,8 @@ C<Name_idhash>, C<Name_id_reg>, C<Name_idhash_reg>, C<Name_fieldhash>
=back
-=head2 I18N-Langinfo, I18N::Langinfo - query locale information
+=head2 C:\perl_tl\perl-5.14.2\lib::I18N::Collate, I18N::Collate - compare
+8-bit scalar data according to the current locale
=over 4
@@ -24021,33 +24725,10 @@ C<Name_idhash>, C<Name_id_reg>, C<Name_idhash_reg>, C<Name_fieldhash>
=item DESCRIPTION
-=over 4
-
-=item EXPORT
-
=back
-=item SEE ALSO
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 I18N::Collate - compare 8-bit scalar data according to the current
-locale
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 I18N::LangTags - functions for dealing with RFC3066-style language
-tags
+=head2 C:\perl_tl\perl-5.14.2\lib::I18N::LangTags, I18N::LangTags -
+functions for dealing with RFC3066-style language tags
=over 4
@@ -24094,7 +24775,8 @@ implicate_supers_strictly( ...languages... )
=back
-=head2 I18N::LangTags::Detect - detect the user's language preferences
+=head2 C:\perl_tl\perl-5.14.2\lib::I18N::LangTags::Detect,
+I18N::LangTags::Detect - detect the user's language preferences
=over 4
@@ -24114,7 +24796,8 @@ implicate_supers_strictly( ...languages... )
=back
-=head2 I18N::LangTags::List -- tags and names for human languages
+=head2 C:\perl_tl\perl-5.14.2\lib::I18N::LangTags::List,
+I18N::LangTags::List -- tags and names for human languages
=over 4
@@ -24262,7 +24945,7 @@ Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd}
=back
-=head2 IO - load various IO modules
+=head2 C:\perl_tl\perl-5.14.2\lib::IO, IO - load various IO modules
=over 4
@@ -24274,7 +24957,8 @@ Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd}
=back
-=head2 IO::Compress::Base - Base Class for IO::Compress modules
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Base, IO::Compress::Base -
+Base Class for IO::Compress modules
=over 4
@@ -24292,7 +24976,8 @@ Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd}
=back
-=head2 IO::Compress::Bzip2 - Write bzip2 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Bzip2, IO::Compress::Bzip2
+- Write bzip2 files/buffers
=over 4
@@ -24398,7 +25083,8 @@ C<< Strict => 0|1 >>
=back
-=head2 IO::Compress::Deflate - Write RFC 1950 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Deflate,
+IO::Compress::Deflate - Write RFC 1950 files/buffers
=over 4
@@ -24506,7 +25192,8 @@ Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>
=back
-=head2 IO::Compress::Gzip - Write RFC 1952 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Gzip, IO::Compress::Gzip -
+Write RFC 1952 files/buffers
=over 4
@@ -24618,7 +25305,8 @@ C<< ExtraField => $data >>, C<< ExtraFlags => $value >>, C<< Strict => 0|1
=back
-=head2 IO::Compress::RawDeflate - Write RFC 1951 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::RawDeflate,
+IO::Compress::RawDeflate - Write RFC 1951 files/buffers
=over 4
@@ -24726,7 +25414,8 @@ Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>
=back
-=head2 IO::Compress::Zip - Write zip files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Zip, IO::Compress::Zip -
+Write zip files/buffers
=over 4
@@ -24841,7 +25530,8 @@ number >>, C<< WorkFactor => number >>, -Level, -Strategy, C<< Strict =>
=back
-=head2 IO::Dir - supply object methods for directory handles
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Dir, IO::Dir - supply object methods
+for directory handles
=over 4
@@ -24860,7 +25550,8 @@ rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]
=back
-=head2 IO::File - supply object methods for filehandles
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::File, IO::File - supply object
+methods for filehandles
=over 4
@@ -24885,7 +25576,8 @@ open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS ), binmode(
=back
-=head2 IO::Handle - supply object methods for I/O handles
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Handle, IO::Handle - supply object
+methods for I/O handles
=over 4
@@ -24914,7 +25606,8 @@ $io->blocking ( [ BOOL ] ), $io->untaint
=back
-=head2 IO::Pipe - supply object methods for pipes
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Pipe, IO::Pipe - supply object
+methods for pipes
=over 4
@@ -24938,7 +25631,8 @@ reader ([ARGS]), writer ([ARGS]), handles ()
=back
-=head2 IO::Poll - Object interface to system poll call
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Poll, IO::Poll - Object interface to
+system poll call
=over 4
@@ -24959,7 +25653,8 @@ IO ), handles( [ EVENT_MASK ] )
=back
-=head2 IO::Seekable - supply seek based methods for I/O objects
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Seekable, IO::Seekable - supply seek
+based methods for I/O objects
=over 4
@@ -24977,7 +25672,8 @@ $io->tell
=back
-=head2 IO::Select - OO interface to the select system call
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Select, IO::Select - OO interface to
+the select system call
=over 4
@@ -25003,7 +25699,8 @@ count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )
=back
-=head2 IO::Socket - Object interface to socket communications
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Socket, IO::Socket - Object
+interface to socket communications
=over 4
@@ -25029,7 +25726,8 @@ setsockopt(LEVEL, OPT, VAL), socktype, timeout([VAL])
=back
-=head2 IO::Socket::INET - Object interface for AF_INET domain sockets
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Socket::INET, IO::Socket::INET -
+Object interface for AF_INET domain sockets
=over 4
@@ -25058,7 +25756,8 @@ sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
=back
-=head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Socket::UNIX, IO::Socket::UNIX -
+Object interface for AF_UNIX domain sockets
=over 4
@@ -25082,8 +25781,8 @@ hostpath(), peerpath()
=back
-=head2 IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip)
-file/buffer
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::AnyInflate,
+IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip) file/buffer
=over 4
@@ -25200,7 +25899,8 @@ the sub-field structure as defined in RFC 1952
=back
-=head2 IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2 or lzop
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::AnyUncompress,
+IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2 or lzop
file/buffer
=over 4
@@ -25309,7 +26009,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< RawInflate => 0|1
=back
-=head2 IO::Uncompress::Base - Base Class for IO::Uncompress modules
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Base,
+IO::Uncompress::Base - Base Class for IO::Uncompress modules
=over 4
@@ -25327,7 +26028,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< RawInflate => 0|1
=back
-=head2 IO::Uncompress::Bunzip2 - Read bzip2 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Bunzip2,
+IO::Uncompress::Bunzip2 - Read bzip2 files/buffers
=over 4
@@ -25436,7 +26138,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< Small => 0|1 >>
=back
-=head2 IO::Uncompress::Gunzip - Read RFC 1952 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Gunzip,
+IO::Uncompress::Gunzip - Read RFC 1952 files/buffers
=over 4
@@ -25553,7 +26256,8 @@ Name, Comment
=back
-=head2 IO::Uncompress::Inflate - Read RFC 1950 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Inflate,
+IO::Uncompress::Inflate - Read RFC 1950 files/buffers
=over 4
@@ -25665,7 +26369,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
=back
-=head2 IO::Uncompress::RawInflate - Read RFC 1951 files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::RawInflate,
+IO::Uncompress::RawInflate - Read RFC 1951 files/buffers
=over 4
@@ -25777,7 +26482,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
=back
-=head2 IO::Uncompress::Unzip - Read zip files/buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Unzip,
+IO::Uncompress::Unzip - Read zip files/buffers
=over 4
@@ -25817,9 +26523,10 @@ A filename, A filehandle, A scalar reference
=item Constructor Options
-C<< AutoClose => 0|1 >>, C<< MultiStream => 0|1 >>, C<< Prime => $string
->>, C<< Transparent => 0|1 >>, C<< BlockSize => $num >>, C<< InputLength =>
-$size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
+C<< Name => "membername" >>, C<< AutoClose => 0|1 >>, C<< MultiStream =>
+0|1 >>, C<< Prime => $string >>, C<< Transparent => 0|1 >>, C<< BlockSize
+=> $num >>, C<< InputLength => $size >>, C<< Append => 0|1 >>, C<< Strict
+=> 0|1 >>
=item Examples
@@ -25877,6 +26584,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
=item Working with Net::FTP
+=item Walking through a zip file
+
=back
=item SEE ALSO
@@ -25889,7 +26598,8 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
=back
-=head2 IO::Zlib - IO:: style interface to L<Compress::Zlib>
+=head2 C:\perl_tl\perl-5.14.2\lib::IO::Zlib, IO::Zlib - IO:: style
+interface to L<Compress::Zlib>
=over 4
@@ -25934,8 +26644,8 @@ IO::Zlib::WRITE: too long LENGTH
=back
-=head2 IPC-Open2::lib::IPC::Open2, IPC::Open2 - open a process for both
-reading and writing using open2()
+=head2 C:\perl_tl\perl-5.14.2\lib::IPC::Cmd, IPC::Cmd - finding and running
+system commands made easy
=over 4
@@ -25943,31 +26653,113 @@ reading and writing using open2()
=item DESCRIPTION
-=item WARNING
+=item CLASS METHODS
-=item SEE ALSO
+=over 4
+
+=item $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )
=back
-=head2 IPC-Open3::lib::IPC::Open3, IPC::Open3 - open a process for reading,
-writing, and error handling using open3()
+=back
=over 4
-=item SYNOPSIS
+=item $ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )
-=item DESCRIPTION
+=back
+
+=over 4
+
+=item $bool = IPC::Cmd->can_capture_buffer
+
+=back
+
+=over 4
+
+=item $bool = IPC::Cmd->can_use_run_forked
+
+=back
+
+=over 4
+
+=item FUNCTIONS
+
+=over 4
+
+=item $path = can_run( PROGRAM );
+
+=back
+
+=back
+
+=over 4
+
+=item $ok | ($ok, $err, $full_buf, $stdout_buff, $stderr_buff) = run(
+command => COMMAND, [verbose => BOOL, buffer => \$SCALAR, timeout => DIGIT]
+);
+
+command, verbose, buffer, timeout, success, error message, full_buffer,
+out_buffer, error_buffer
+
+=back
+
+=over 4
+
+=item $hashref = run_forked( COMMAND, { child_stdin => SCALAR, timeout =>
+DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
+
+C<timeout>, C<child_stdin>, C<stdout_handler>, C<stderr_handler>,
+C<discard_output>, C<terminate_on_parent_sudden_death>, C<exit_code>,
+C<timeout>, C<stdout>, C<stderr>, C<merged>, C<err_msg>
+
+=back
+
+=over 4
+
+=item $q = QUOTE
+
+=back
+
+=over 4
+
+=item HOW IT WORKS
+
+=item Global Variables
+
+=over 4
+
+=item $IPC::Cmd::VERBOSE
+
+=item $IPC::Cmd::USE_IPC_RUN
+
+=item $IPC::Cmd::USE_IPC_OPEN3
+
+=item $IPC::Cmd::WARN
+
+=item $IPC::Cmd::INSTANCES
+
+=back
+
+=item Caveats
+
+Whitespace and IPC::Open3 / system(), Whitespace and IPC::Run, IO Redirect,
+Interleaving STDOUT/STDERR
=item See Also
-L<IPC::Open2>, L<IPC::Run>
+=item ACKNOWLEDGEMENTS
-=item WARNING
+=item BUG REPORTS
+
+=item AUTHOR
+
+=item COPYRIGHT
=back
-=head2 IPC::Open2 - open a process for both reading and writing using
-open2()
+=head2 C:\perl_tl\perl-5.14.2\lib::IPC::Open2, IPC::Open2 - open a process
+for both reading and writing using open2()
=over 4
@@ -25981,8 +26773,8 @@ open2()
=back
-=head2 IPC::Open3 - open a process for reading, writing, and error handling
-using open3()
+=head2 C:\perl_tl\perl-5.14.2\lib::IPC::Open3, IPC::Open3 - open a process
+for reading, writing, and error handling using open3()
=over 4
@@ -25998,117 +26790,197 @@ L<IPC::Open2>, L<IPC::Run>
=back
-=head2 IPCmd, IPC::Cmd - finding and running system commands made easy
+=head2 C:\perl_tl\perl-5.14.2\lib::JSON::PP, JSON::PP - JSON::XS compatible
+pure-Perl module.
=over 4
=item SYNOPSIS
-=item DESCRIPTION
+=item VERSION
-=item CLASS METHODS
+=item NOTE
+
+=item DESCRIPTION
=over 4
-=item $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )
+=item FEATURES
-=back
+correct unicode handling, round-trip integrity, strict checking of JSON
+correctness
=back
+=item FUNCTIONAL INTERFACE
+
=over 4
-=item $ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )
+=item encode_json
-=back
+=item decode_json
-=over 4
+=item JSON::PP::is_bool
-=item $bool = IPC::Cmd->can_capture_buffer
+=item JSON::PP::true
+
+=item JSON::PP::false
+
+=item JSON::PP::null
=back
+=item HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER
+
+=item METHODS
+
=over 4
-=item $bool = IPC::Cmd->can_use_run_forked
+=item new
-=back
+=item ascii
-=over 4
+=item latin1
-=item FUNCTIONS
+=item utf8
-=over 4
+=item pretty
-=item $path = can_run( PROGRAM );
+=item indent
-=back
+=item space_before
+
+=item space_after
+
+=item relaxed
+
+list items can have an end-comma, shell-style '#'-comments
+
+=item canonical
+
+=item allow_nonref
+
+=item allow_unknown
+
+=item allow_blessed
+
+=item convert_blessed
+
+=item filter_json_object
+
+=item filter_json_single_key_object
+
+=item shrink
+
+=item max_depth
+
+=item max_size
+
+=item encode
+
+=item decode
+
+=item decode_prefix
=back
+=item INCREMENTAL PARSING
+
=over 4
-=item $ok | ($ok, $err, $full_buf, $stdout_buff, $stderr_buff) = run(
-command => COMMAND, [verbose => BOOL, buffer => \$SCALAR, timeout => DIGIT]
-);
+=item incr_parse
-command, verbose, buffer, timeout, success, error message, full_buffer,
-out_buffer, error_buffer
+=item incr_text
+
+=item incr_skip
+
+=item incr_reset
=back
+=item JSON::PP OWN METHODS
+
=over 4
-=item $hashref = run_forked( command => COMMAND, { child_stdin => SCALAR,
-timeout => DIGIT, stdout_handler => CODEREF, stderr_handler => CODEREF} );
+=item allow_singlequote
-C<timeout>, C<child_stdin>, C<stdout_handler>, C<stderr_handler>,
-C<exit_code>, C<timeout>, C<stdout>, C<stderr>, C<merged>, C<err_msg>
+=item allow_barekey
+
+=item allow_bignum
+
+=item loose
+
+=item escape_slash
+
+=item indent_length
+
+=item sort_by
=back
+=item INTERNAL
+
+PP_encode_box, PP_decode_box
+
+=item MAPPING
+
=over 4
-=item $q = QUOTE
+=item JSON -> PERL
+
+object, array, string, number, true, false, null
+
+=item PERL -> JSON
+
+hash references, array references, other references, JSON::PP::true,
+JSON::PP::false, JSON::PP::null, blessed objects, simple scalars, Big
+Number
=back
+=item UNICODE HANDLING ON PERLS
+
=over 4
-=item HOW IT WORKS
+=item Perl 5.8 and later
-=item Global Variables
+=item Perl 5.6
-=over 4
+=item Perl 5.005
-=item $IPC::Cmd::VERBOSE
+=back
-=item $IPC::Cmd::USE_IPC_RUN
+=item TODO
-=item $IPC::Cmd::USE_IPC_OPEN3
+speed, memory saving
-=item $IPC::Cmd::WARN
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
=back
-=item Caveats
+=head2 C:\perl_tl\perl-5.14.2\lib::JSON::PP::Boolean, JSON::PP::Boolean -
+dummy module providing JSON::PP::Boolean
-Whitespace and IPC::Open3 / system(), Whitespace and IPC::Run, IO Redirect,
-Interleaving STDOUT/STDERR
+=over 4
-=item See Also
+=item SYNOPSIS
-=item ACKNOWLEDGEMENTS
+=item DESCRIPTION
-=item BUG REPORTS
+=back
-=item AUTHOR
+=over 4
-=item COPYRIGHT
+=item AUTHOR
=back
-=head2 List::Util - A selection of general-utility list subroutines
+=head2 C:\perl_tl\perl-5.14.2\lib::List::Util, List::Util - A selection of
+general-utility list subroutines
=over 4
@@ -26129,8 +27001,8 @@ BLOCK LIST, shuffle LIST, sum LIST
=back
-=head2 List::Util::XS - Indicate if List::Util was compiled with a C
-compiler
+=head2 C:\perl_tl\perl-5.14.2\lib::List::Util::XS, List::Util::XS -
+Indicate if List::Util was compiled with a C compiler
=over 4
@@ -26144,19 +27016,80 @@ compiler
=back
-=head2 Locale::Constants - constants for Locale codes
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes, Locale::Codes - a
+distribution of modules to handle locale codes
=over 4
-=item SYNOPSIS
-
=item DESCRIPTION
+B<Locale::Country>, B<Locale::Language>, B<Locale::Currency>,
+B<Locale::Script>
+
+=item NEW CODE SETS
+
+B<General-use code set>, B<An official source of data>, B<A free source of
+the data>, B<A reliable source of data>
+
+=item COMMON ALIASES
+
+=item ROUTINES
+
+B<code2country ( CODE [,CODESET] )>, B<code2language( CODE [,CODESET] )>,
+B<code2currency( CODE [,CODESET] )>, B<code2script ( CODE [,CODESET] )>,
+B<country2code ( NAME [,CODESET] )>, B<language2code( NAME [,CODESET] )>,
+B<currency2code( NAME [,CODESET] )>, B<script2code ( NAME [,CODESET] )>,
+B<country_code2code ( CODE ,CODESET ,CODESET2 )>, B<language_code2code(
+CODE ,CODESET ,CODESET2 )>, B<currency_code2code( CODE ,CODESET ,CODESET2
+)>, B<script_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_country_codes (
+[CODESET] )>, B<all_language_codes( [CODESET] )>, B<all_currency_codes(
+[CODESET] )>, B<all_script_codes ( [CODESET] )>, B<all_country_names (
+[CODESET] )>, B<all_language_names( [CODESET] )>, B<all_currency_names(
+[CODESET] )>, B<all_script_names ( [CODESET] )>
+
+=item SEMI-PRIVATE ROUTINES
+
+B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Language::rename_language( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Currency::rename_currency( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>,
+B<Locale::Language::add_language( CODE ,NAME [,CODESET] )>,
+B<Locale::Currency::add_currency( CODE ,NAME [,CODESET] )>,
+B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>,
+B<Locale::Country::delete_country ( CODE [,CODESET] )>,
+B<Locale::Language::delete_language( CODE [,CODESET] )>,
+B<Locale::Currency::delete_currency( CODE [,CODESET] )>,
+B<Locale::Script::delete_script ( CODE [,CODESET] )>,
+B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>,
+B<Locale::Language::add_language_alias( NAME ,NEW_NAME )>,
+B<Locale::Currency::add_currency_alias( NAME ,NEW_NAME )>,
+B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>,
+B<Locale::Country::delete_country_alias ( NAME )>,
+B<Locale::Language::delete_language_alias( NAME )>,
+B<Locale::Currency::delete_currency_alias( NAME )>,
+B<Locale::Script::delete_script_alias ( NAME )>,
+B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Language::rename_language_code( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Currency::rename_currency_code( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Language::add_language_code_alias( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Currency::add_currency_code_alias( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>,
+B<Locale::Language::delete_language_code_alias( CODE [,CODESET] )>,
+B<Locale::Currency::delete_currency_code_alias( CODE [,CODESET] )>,
+B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
+
=item KNOWN BUGS AND LIMITATIONS
+B<*>, B<*>
+
=item SEE ALSO
-Locale::Language, Locale::Country, Locale::Script, Locale::Currency
+B<Locale::Constants>, B<Locale::Country>, B<Locale::Language>,
+B<Locale::Script>, B<Locale::Currency>
=item AUTHOR
@@ -26164,47 +27097,62 @@ Locale::Language, Locale::Country, Locale::Script, Locale::Currency
=back
-=head2 Locale::Country - ISO codes for country identification (ISO 3166)
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Changes,
+Locale::Codes::Changes - details important changes after 2.07
=over 4
-=item SYNOPSIS
+=item 3.10
-=item DESCRIPTION
+B<Changed XXX_code2code behavior slightly>, B<Added many semi-private
+routines>
+
+=item 3.00
-B<alpha-2>, B<alpha-3>, B<numeric>
+B<New maintainer>, B<All codes are generated from standards>, B<Added
+several code sets from standards>, B<Locale::Script changed>, B<Added
+missing functions>, B<Dropped support for _alias_code>
-=item CONVERSION ROUTINES
+=item SEE ALSO
-code2country( CODE, [ CODESET ] ), country2code( STRING, [ CODESET ] ),
-country_code2code( CODE, CODESET, CODESET )
+=item AUTHOR
-=item QUERY ROUTINES
+=item COPYRIGHT
-C<all_country_codes( [ CODESET ] )>, C<all_country_names( [ CODESET ] )>
+=back
-=item SEMI-PRIVATE ROUTINES
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Country,
+Locale::Codes::Country - country codes for the Locale::Country module
=over 4
-=item alias_code
+=item SYNOPSIS
+
+=item AUTHOR
-=item rename_country
+=item COPYRIGHT
=back
-=item EXAMPLES
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Currency,
+Locale::Codes::Currency - currency codes for the Locale::Currency module
-=item DOMAIN NAMES
+=over 4
-=item KNOWN BUGS AND LIMITATIONS
+=item SYNOPSIS
-=item SEE ALSO
+=item AUTHOR
-Locale::Language, Locale::Script, Locale::Currency, Locale::SubCountry, ISO
-3166-1, http://www.iso.org/iso/en/prods-services/iso3166ma/index.html,
-http://www.egt.ie/standards/iso3166/iso3166-1-en.html,
-http://www.cia.gov/cia/publications/factbook/docs/app-d-1.html
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Language,
+Locale::Codes::Language - language codes for the Locale::Language module
+
+=over 4
+
+=item SYNOPSIS
=item AUTHOR
@@ -26212,33 +27160,74 @@ http://www.cia.gov/cia/publications/factbook/docs/app-d-1.html
=back
-=head2 Locale::Currency - ISO three letter codes for currency
-identification (ISO 4217)
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Script,
+Locale::Codes::Script - script codes for the Locale::Script module
=over 4
=item SYNOPSIS
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Constants, Locale::Constants -
+constants for Locale codes
+
+=over 4
+
=item DESCRIPTION
-XTS, XXX
+=item KNOWN BUGS AND LIMITATIONS
+
+=item SEE ALSO
-=item CONVERSION ROUTINES
+=item AUTHOR
-code2currency(), currency2code()
+=item COPYRIGHT
-=item QUERY ROUTINES
+=back
-C<all_currency_codes()>, C<all_currency_names()>
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Country, Locale::Country -
+standard codes for country identification
-=item EXAMPLES
+=over 4
-=item KNOWN BUGS AND LIMITATIONS
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha-2>, B<alpha-3>, B<numeric>, B<fips-10>, B<dom>
+
+=item ROUTINES
+
+B<code2country ( CODE [,CODESET] )>, B<country2code ( NAME [,CODESET] )>,
+B<country_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_country_codes (
+[CODESET] )>, B<all_country_names ( [CODESET] )>,
+B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>,
+B<Locale::Country::delete_country ( CODE [,CODESET] )>,
+B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>,
+B<Locale::Country::delete_country_alias ( NAME )>,
+B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>,
+B<alias_code ( ALIAS, CODE [,CODESET] )>
=item SEE ALSO
-Locale::Country, Locale::Script, ISO 4217:1995,
-http://www.bsi-global.com/iso4217currency
+B<Locale::Codes>, B<Locale::Constants>, B<Locale::SubCountry>,
+B<http://www.iso.org/iso/country_codes>,
+B<http://www.iso.org/iso/list-en1-semic-3.txt>,
+B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>,
+B<http://earth-info.nga.mil/gns/html/digraphs.htm>,
+B<http://www.iana.org/domains/>,
+B<https://www.cia.gov/library/publications/the-world-factbook/appendix/prin
+t_appendix-d.html>, B<http://www.statoids.com/wab.html>
=item AUTHOR
@@ -26246,8 +27235,8 @@ http://www.bsi-global.com/iso4217currency
=back
-=head2 Locale::Language - ISO two letter codes for language identification
-(ISO 639)
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Currency, Locale::Currency -
+standard codes for currency identification
=over 4
@@ -26255,22 +27244,66 @@ http://www.bsi-global.com/iso4217currency
=item DESCRIPTION
-=item CONVERSION ROUTINES
+=item SUPPORTED CODE SETS
-code2language(), language2code()
+B<alpha>, B<num>
-=item QUERY ROUTINES
+=item ROUTINES
-C<all_language_codes()>, C<all_language_names()>
+B<code2currency ( CODE [,CODESET] )>, B<currency2code ( NAME [,CODESET] )>,
+B<currency_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_currency_codes (
+[CODESET] )>, B<all_currency_names ( [CODESET] )>,
+B<Locale::Currency::rename_currency ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Currency::add_currency ( CODE ,NAME [,CODESET] )>,
+B<Locale::Currency::delete_currency ( CODE [,CODESET] )>,
+B<Locale::Currency::add_currency_alias ( NAME ,NEW_NAME )>,
+B<Locale::Currency::delete_currency_alias ( NAME )>,
+B<Locale::Currency::rename_currency_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Currency::add_currency_code_alias ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
-=item EXAMPLES
+=item SEE ALSO
-=item KNOWN BUGS AND LIMITATIONS
+B<Locale::Codes>, B<Locale::Constants>,
+B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Language, Locale::Language -
+standard codes for language identification
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha-2>, B<alpha-3>, B<term>
+
+=item ROUTINES
+
+B<code2language ( CODE [,CODESET] )>, B<language2code ( NAME [,CODESET] )>,
+B<language_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_language_codes (
+[CODESET] )>, B<all_language_names ( [CODESET] )>,
+B<Locale::Language::rename_language ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Language::add_language ( CODE ,NAME [,CODESET] )>,
+B<Locale::Language::delete_language ( CODE [,CODESET] )>,
+B<Locale::Language::add_language_alias ( NAME ,NEW_NAME )>,
+B<Locale::Language::delete_language_alias ( NAME )>,
+B<Locale::Language::rename_language_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Language::add_language_code_alias ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Language::delete_language_code_alias ( CODE [,CODESET] )>
=item SEE ALSO
-Locale::Country, Locale::Script, Locale::Currency, ISO 639:1988 (E/F),
-http://lcweb.loc.gov/standards/iso639-2/langhome.html
+B<Locale::Codes>, B<Locale::Constants>,
+B<http://www.loc.gov/standards/iso639-2/>
=item AUTHOR
@@ -26278,7 +27311,8 @@ http://lcweb.loc.gov/standards/iso639-2/langhome.html
=back
-=head2 Locale::Maketext - framework for localization
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext, Locale::Maketext -
+framework for localization
=over 4
@@ -26317,6 +27351,8 @@ $language->language_tag(), $language->encoding()
=item AUTO LEXICONS
+=item READONLY LEXICONS
+
=item CONTROLLING LOOKUP FAILURE
=item HOW TO USE MAKETEXT
@@ -26329,8 +27365,45 @@ $language->language_tag(), $language->encoding()
=back
-=head2 Locale::Maketext::Simple - Simple interface to
-Locale::Maketext::Lexicon
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::Cookbook,
+Locale::Maketext::Cookbook - recipes for using Locale::Maketext
+
+=over 4
+
+=item INTRODUCTION
+
+=item ONESIDED LEXICONS
+
+=item DECIMAL PLACES IN NUMBER FORMATTING
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::Guts,
+Locale::Maketext::Guts - Deprecated module to load Locale::Maketext utf8
+code
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::GutsLoader,
+Locale::Maketext::GutsLoader - Deprecated module to load Locale::Maketext
+utf8 code
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::Simple,
+Locale::Maketext::Simple - Simple interface to Locale::Maketext::Lexicon
=over 4
@@ -26380,7 +27453,8 @@ Locale::Maketext::Lexicon
=back
-=head2 Locale::Maketext::TPJ13 -- article about software localization
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::TPJ13,
+Locale::Maketext::TPJ13 -- article about software localization
=over 4
@@ -26418,7 +27492,8 @@ Locale::Maketext::Lexicon
=back
-=head2 Locale::Script - ISO codes for script identification (ISO 15924)
+=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Script, Locale::Script -
+standard codes for script identification
=over 4
@@ -26426,31 +27501,27 @@ Locale::Maketext::Lexicon
=item DESCRIPTION
-B<alpha-2>, B<alpha-3>, B<numeric>
-
-=over 4
-
-=item SPECIAL CODES
-
-=back
-
-=item CONVERSION ROUTINES
+=item SUPPORTED CODE SETS
-code2script( CODE, [ CODESET ] ), script2code( STRING, [ CODESET ] ),
-script_code2code( CODE, CODESET, CODESET )
+B<alpha>, B<numeric>
-=item QUERY ROUTINES
+=item ROUTINES
-C<all_script_codes ( [ CODESET ] )>, C<all_script_names ( [ CODESET ] )>
-
-=item EXAMPLES
-
-=item KNOWN BUGS AND LIMITATIONS
+B<code2script ( CODE [,CODESET] )>, B<script2code ( NAME [,CODESET] )>,
+B<script_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_script_codes (
+[CODESET] )>, B<all_script_names ( [CODESET] )>,
+B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>,
+B<Locale::Script::delete_script ( CODE [,CODESET] )>,
+B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>,
+B<Locale::Script::delete_script_alias ( NAME )>,
+B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
+B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
=item SEE ALSO
-Locale::Language, Locale::Currency, Locale::Country, ISO 15924,
-http://www.evertype.com/standards/iso15924/
+B<Locale::Codes>, B<Locale::Constants>, B<http://www.unicode.org/iso15924/>
=item AUTHOR
@@ -26458,7 +27529,8 @@ http://www.evertype.com/standards/iso15924/
=back
-=head2 Log::Message - A generic message storing mechanism;
+=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message, Log::Message - A generic
+message storing mechanism;
=over 4
@@ -26535,7 +27607,8 @@ tag, level, message, amount, chrono, remove
=back
-=head2 Log::Message::Config - Configuration options for Log::Message
+=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Config,
+Log::Message::Config - Configuration options for Log::Message
=over 4
@@ -26553,7 +27626,8 @@ tag, level, message, amount, chrono, remove
=back
-=head2 Log::Message::Handlers - Message handlers for Log::Message
+=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Handlers,
+Log::Message::Handlers - Message handlers for Log::Message
=over 4
@@ -26627,7 +27701,8 @@ tag, level, message, amount, chrono, remove
=back
-=head2 Log::Message::Item - Message objects for Log::Message
+=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Item, Log::Message::Item
+- Message objects for Log::Message
=over 4
@@ -26669,7 +27744,8 @@ tag, level, message, amount, chrono, remove
=back
-=head2 Log::Message::Simple - Simplified interface to Log::Message
+=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Simple,
+Log::Message::Simple - Simplified interface to Log::Message
=over 4
@@ -26727,7 +27803,8 @@ $ERROR_FH, $MSG_FH, $DEBUG_FH, $STACKTRACE_ON_ERROR
=back
-=head2 MIME::Base64 - Encoding and decoding of base64 strings
+=head2 C:\perl_tl\perl-5.14.2\lib::MIME::Base64, MIME::Base64 - Encoding
+and decoding of base64 strings
=over 4
@@ -26735,12 +27812,10 @@ $ERROR_FH, $MSG_FH, $DEBUG_FH, $STACKTRACE_ON_ERROR
=item DESCRIPTION
-encode_base64($str), encode_base64($str, $eol);, decode_base64($str)
-
-=item DIAGNOSTICS
-
-Premature end of base64 data, Premature padding of base64 data, Wide
-character in subroutine entry
+encode_base64( $bytes ), encode_base64( $bytes, $eol );, decode_base64(
+$str ), encode_base64url( $bytes ), decode_base64url( $str ),
+encoded_base64_length( $bytes ), encoded_base64_length( $bytes, $eol ),
+decoded_base64_length( $str )
=item EXAMPLES
@@ -26750,8 +27825,8 @@ character in subroutine entry
=back
-=head2 MIME::QuotedPrint - Encoding and decoding of quoted-printable
-strings
+=head2 C:\perl_tl\perl-5.14.2\lib::MIME::QuotedPrint, MIME::QuotedPrint -
+Encoding and decoding of quoted-printable strings
=over 4
@@ -26759,8 +27834,8 @@ strings
=item DESCRIPTION
-encode_qp($str), encode_qp($str, $eol), encode_qp($str, $eol, $binmode),
-decode_qp($str);
+encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode
+), decode_qp( $str )
=item COPYRIGHT
@@ -26768,7 +27843,8 @@ decode_qp($str);
=back
-=head2 Math::BigFloat - Arbitrary size floating point math package
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigFloat, Math::BigFloat -
+Arbitrary size floating point math package
=over 4
@@ -26846,7 +27922,8 @@ accuracy()
=back
-=head2 Math::BigInt - Arbitrary size integer/float math package
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt, Math::BigInt - Arbitrary
+size integer/float math package
=over 4
@@ -26888,9 +27965,6 @@ Input, Output
=item is_pos()/is_neg()/is_positive()/is_negative()
- $x->is_pos(); # true if > 0
- $x->is_neg(); # true if < 0
-
=item is_odd()/is_even()/is_int()
=item bcmp()
@@ -26989,6 +28063,8 @@ Input, Output
=item as_int()/as_number()
+=item bstr()
+
=item bsstr()
=item as_hex()
@@ -27046,8 +28122,6 @@ oct()/hex(), log(-inf), exp(), cos(), sin(), atan2()
=item EXAMPLES
- use Math::BigInt;
-
=item Autocreating constants
=item PERFORMANCE
@@ -27088,7 +28162,8 @@ bsqrt(), brsft()
=back
-=head2 Math::BigInt::Calc - Pure Perl module to support Math::BigInt
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt::Calc, Math::BigInt::Calc -
+Pure Perl module to support Math::BigInt
=over 4
@@ -27096,25 +28171,50 @@ bsqrt(), brsft()
=item DESCRIPTION
-=item STORAGE
+=item THE Math::BigInt API
-=item METHODS
+=over 4
+
+=item General Notes
+
+=item API version 1
+
+I<api_version()>, I<_new(STR)>, I<_zero()>, I<_one()>, I<_two()>,
+I<_ten()>, I<_from_bin(STR)>, I<_from_oct(STR)>, I<_from_hex(STR)>,
+I<_add(OBJ1, OBJ2)>, I<_mul(OBJ1, OBJ2)>, I<_div(OBJ1, OBJ2)>, I<_sub(OBJ1,
+OBJ2, FLAG)>, I<_sub(OBJ1, OBJ2)>, I<_dec(OBJ)>, I<_inc(OBJ)>, I<_mod(OBJ1,
+OBJ2)>, I<_sqrt(OBJ)>, I<_root(OBJ, N)>, I<_fac(OBJ)>, I<_pow(OBJ1, OBJ2)>,
+I<_modinv(OBJ1, OBJ2)>, I<_modpow(OBJ1, OBJ2, OBJ3)>, I<_rsft(OBJ, N, B)>,
+I<_lsft(OBJ, N, B)>, I<_log_int(OBJ, B)>, I<_gcd(OBJ1, OBJ2)>, I<_and(OBJ1,
+OBJ2)>, I<_or(OBJ1, OBJ2)>, I<_xor(OBJ1, OBJ2)>, I<_is_zero(OBJ)>,
+I<_is_one(OBJ)>, I<_is_two(OBJ)>, I<_is_ten(OBJ)>, I<_is_even(OBJ)>,
+I<_is_odd(OBJ)>, I<_acmp(OBJ1, OBJ2)>, I<_str(OBJ)>, I<_as_bin(OBJ)>,
+I<_as_oct(OBJ)>, I<_as_hex(OBJ)>, I<_num(OBJ)>, I<_copy(OBJ)>,
+I<_len(OBJ)>, I<_zeros(OBJ)>, I<_digit(OBJ, N)>, I<_check(OBJ)>
+
+=item API version 2
+
+I<_1ex(N)>, I<_nok(OBJ1, OBJ2)>, I<_alen(OBJ)>
+
+=item API optional methods
+
+I<_signed_or(OBJ1, OBJ2, SIGN1, SIGN2)>, I<_signed_and(OBJ1, OBJ2, SIGN1,
+SIGN2)>, I<_signed_xor(OBJ1, OBJ2, SIGN1, SIGN2)>
+
+=back
=item WRAP YOUR OWN
=item LICENSE
-This program is free software; you may redistribute it and/or modify it
-under
-the same terms as Perl itself.
-
=item AUTHORS
=item SEE ALSO
=back
-=head2 Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt::CalcEmu,
+Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
=over 4
@@ -27136,18 +28236,14 @@ the same terms as Perl itself.
=item LICENSE
-This program is free software; you may redistribute it and/or modify it
-under
-the same terms as Perl itself.
-
=item AUTHORS
=item SEE ALSO
=back
-=head2 Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more
-speed
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt::FastCalc,
+Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
=over 4
@@ -27161,17 +28257,14 @@ speed
=item LICENSE
-This program is free software; you may redistribute it and/or modify it
-under
-the same terms as Perl itself.
-
=item AUTHORS
=item SEE ALSO
=back
-=head2 Math::BigRat - Arbitrary big rational numbers
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigRat, Math::BigRat - Arbitrary
+big rational numbers
=over 4
@@ -27195,8 +28288,6 @@ the same terms as Perl itself.
=item denominator()
- $d = $x->denominator();
-
=item parts()
=item numify()
@@ -27245,16 +28336,10 @@ the same terms as Perl itself.
=item bfloor()
- $x->bfloor();
-
=item bsqrt()
- $x->bsqrt();
-
=item broot()
- $x->broot($n);
-
=item badd()/bmul()/bsub()/bdiv()/bdec()/binc()
=item copy()
@@ -27291,8 +28376,8 @@ blog(), bmodinv() and bmodpow() (partial)
=back
-=head2 Math::Complex - complex numbers and associated mathematical
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::Complex, Math::Complex - complex
+numbers and associated mathematical functions
=over 4
@@ -27338,7 +28423,8 @@ functions
=back
-=head2 Math::Trig - trigonometric functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Math::Trig, Math::Trig - trigonometric
+functions
=over 4
@@ -27414,7 +28500,8 @@ asin_real, acos_real
=back
-=head2 Memoize - Make functions faster by trading space for time
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize, Memoize - Make functions faster
+by trading space for time
=over 4
@@ -27466,8 +28553,9 @@ C<MEMORY>, C<HASH>, C<TIE>, C<FAULT>, C<MERGE>
=back
-=head2 Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for
-Storable use
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::AnyDBM_File,
+Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable
+use
=over 4
@@ -27475,8 +28563,8 @@ Storable use
=back
-=head2 Memoize::Expire - Plug-in module for automatic expiration of
-memoized values
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::Expire, Memoize::Expire -
+Plug-in module for automatic expiration of memoized values
=over 4
@@ -27498,7 +28586,8 @@ memoized values
=back
-=head2 Memoize::ExpireFile - test for Memoize expiration semantics
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::ExpireFile, Memoize::ExpireFile
+- test for Memoize expiration semantics
=over 4
@@ -27506,7 +28595,8 @@ memoized values
=back
-=head2 Memoize::ExpireTest - test for Memoize expiration semantics
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::ExpireTest, Memoize::ExpireTest
+- test for Memoize expiration semantics
=over 4
@@ -27514,8 +28604,8 @@ memoized values
=back
-=head2 Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for
-Storable use
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::NDBM_File, Memoize::NDBM_File -
+glue to provide EXISTS for NDBM_File for Storable use
=over 4
@@ -27523,8 +28613,8 @@ Storable use
=back
-=head2 Memoize::SDBM_File - glue to provide EXISTS for SDBM_File for
-Storable use
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::SDBM_File, Memoize::SDBM_File -
+glue to provide EXISTS for SDBM_File for Storable use
=over 4
@@ -27532,7 +28622,8 @@ Storable use
=back
-=head2 Memoize::Storable - store Memoized data in Storable database
+=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::Storable, Memoize::Storable -
+store Memoized data in Storable database
=over 4
@@ -27540,7 +28631,8 @@ Storable use
=back
-=head2 Module::Build - Build and install Perl modules
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build, Module::Build - Build and
+install Perl modules
=over 4
@@ -27557,10 +28649,11 @@ Cookbook (L<Module::Build::Cookbook>)
=item ACTIONS
build, clean, code, config_data, diff, dist, distcheck, distclean, distdir,
-distmeta, distsign, disttest, docs, fakeinstall, help, html, install,
-installdeps, manifest, manpages, pardist, ppd, ppmdist, prereq_data,
-prereq_report, pure_install, realclean, retest, skipcheck, test, testall,
-testcover, testdb, testpod, testpodcoverage, versioninstall
+distinstall, distmeta, distsign, disttest, docs, fakeinstall, help, html,
+install, installdeps, manifest, manifest_skip, manpages, pardist, ppd,
+ppmdist, prereq_data, prereq_report, pure_install, realclean, retest,
+skipcheck, test, testall, testcover, testdb, testpod, testpodcoverage,
+versioninstall
=item OPTIONS
@@ -27597,7 +28690,8 @@ install_path, install_base, destdir, prefix
=back
-=head2 Module::Build::API - API Reference for Module Authors
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::API, Module::Build::API -
+API Reference for Module Authors
=over 4
@@ -27610,15 +28704,16 @@ install_path, install_base, destdir, prefix
current(), new(), add_to_cleanup, auto_configure_requires, auto_features,
autosplit, build_class, build_requires, create_packlist, c_source,
conflicts, create_license, create_makefile_pl, create_readme,
-dist_abstract, dist_author, dist_name, dist_version, dist_version_from,
-dynamic_config, extra_compiler_flags, extra_linker_flags, get_options,
-type, store, default, include_dirs, install_path, installdirs, license,
-apache, apache_1_1, artistic, artistic_2, bsd, gpl, lgpl, mit, mozilla,
-open_source, perl, restrictive, unrestricted, meta_add, meta_merge,
-module_name, needs_compiler, PL_files, pm_files, pod_files, recommends,
-recursive_test_files, requires, script_files, share_dir, sign, test_files,
-use_tap_harness, tap_harness_args, xs_files, new_from_context(%args),
-resume(), subclass(), add_property, C<default>, C<check>, property_error
+dist_abstract, dist_author, dist_name, dist_suffix, dist_version,
+dist_version_from, dynamic_config, extra_compiler_flags,
+extra_linker_flags, get_options, type, store, default, include_dirs,
+install_path, installdirs, license, apache, apache_1_1, artistic,
+artistic_2, bsd, gpl, lgpl, mit, mozilla, open_source, perl, restrictive,
+unrestricted, meta_add, meta_merge, module_name, needs_compiler, PL_files,
+pm_files, pod_files, recommends, recursive_test_files, release_status,
+requires, script_files, share_dir, sign, test_files, use_tap_harness,
+tap_harness_args, xs_files, new_from_context(%args), resume(), subclass(),
+add_property, C<default>, C<check>, property_error
=item METHODS
@@ -27649,6 +28744,22 @@ up_to_date($source_file, $derived_file), up_to_date(\@source_files,
=item Autogenerated Accessors
+PL_files(), allow_mb_mismatch(), auto_configure_requires(), autosplit(),
+base_dir(), bindoc_dirs(), blib(), build_bat(), build_class(),
+build_elements(), build_requires(), build_script(), bundle_inc(),
+bundle_inc_preload(), c_source(), config_dir(), configure_requires(),
+conflicts(), cpan_client(), create_license(), create_makefile_pl(),
+create_packlist(), create_readme(), debug(), debugger(), destdir(),
+dynamic_config(), get_options(), html_css(), include_dirs(),
+install_base(), installdirs(), libdoc_dirs(), license(), magic_number(),
+mb_version(), meta_add(), meta_merge(), metafile(), metafile2(),
+module_name(), mymetafile(), mymetafile2(), needs_compiler(), orig_dir(),
+perl(), pm_files(), pod_files(), pollute(), prefix(),
+prereq_action_types(), program_name(), quiet(), recommends(),
+recurse_into(), recursive_test_files(), requires(), scripts(), sign(),
+tap_harness_args(), test_file_exts(), use_rcfile(), use_tap_harness(),
+verbose(), xs_files()
+
=back
=item MODULE METADATA
@@ -27663,7 +28774,8 @@ keywords, resources
=back
-=head2 Module::Build::Authoring - Authoring Module::Build modules
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Authoring,
+Module::Build::Authoring - Authoring Module::Build modules
=over 4
@@ -27701,7 +28813,8 @@ configure_requires, build_requires, requires, recommends, conflicts
=back
-=head2 Module::Build::Base - Default methods for Module::Build
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Base, Module::Build::Base
+- Default methods for Module::Build
=over 4
@@ -27717,8 +28830,8 @@ configure_requires, build_requires, requires, recommends, conflicts
=back
-=head2 Module::Build::Bundling - How to bundle Module::Build with a
-distribution
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Bundling,
+Module::Build::Bundling - How to bundle Module::Build with a distribution
=over 4
@@ -27740,7 +28853,8 @@ distribution
=back
-=head2 Module::Build::Compat - Compatibility with ExtUtils::MakeMaker
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Compat,
+Module::Build::Compat - Compatibility with ExtUtils::MakeMaker
=over 4
@@ -27764,7 +28878,8 @@ makefile
=back
-=head2 Module::Build::ConfigData - Configuration for Module::Build
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::ConfigData,
+Module::Build::ConfigData - Configuration for Module::Build
=over 4
@@ -27782,7 +28897,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::Cookbook - Examples of Module::Build Usage
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Cookbook,
+Module::Build::Cookbook - Examples of Module::Build Usage
=over 4
@@ -27852,29 +28968,19 @@ to the testing, do I generate a test file
=back
-=head2 Module::Build::ModuleInfo, ModuleInfo - Gather package and POD
-information from a perl module file
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::ModuleInfo,
+Module::Build::ModuleInfo - DEPRECATED
=over 4
=item DESCRIPTION
-new_from_file($filename, collect_pod => 1), new_from_module($module,
-collect_pod => 1, inc => \@dirs), name(), version($package), filename(),
-packages_inside(), pod_inside(), contains_pod(), pod($section),
-find_module_by_name($module, \@dirs), find_module_dir_by_name($module,
-\@dirs)
-
-=item AUTHOR
-
-=item COPYRIGHT
-
=item SEE ALSO
=back
-=head2 Module::Build::Notes - Create persistent distribution configuration
-modules
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Notes,
+Module::Build::Notes - Create persistent distribution configuration modules
=over 4
@@ -27888,7 +28994,8 @@ modules
=back
-=head2 Module::Build::Notes, NOTES_NAME - Configuration for MODULE_NAME
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Notes, NOTES_NAME -
+Configuration for MODULE_NAME
=over 4
@@ -27906,7 +29013,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::PPMMaker - Perl Package Manager file creation
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::PPMMaker,
+Module::Build::PPMMaker - Perl Package Manager file creation
=over 4
@@ -27922,7 +29030,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::Platform::Amiga - Builder class for Amiga platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Amiga,
+Module::Build::Platform::Amiga - Builder class for Amiga platforms
=over 4
@@ -27934,7 +29043,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::Platform::Default - Stub class for unknown platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Default,
+Module::Build::Platform::Default - Stub class for unknown platforms
=over 4
@@ -27946,7 +29056,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::Platform::EBCDIC - Builder class for EBCDIC platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::EBCDIC,
+Module::Build::Platform::EBCDIC - Builder class for EBCDIC platforms
=over 4
@@ -27958,7 +29069,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::Platform::MPEiX - Builder class for MPEiX platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::MPEiX,
+Module::Build::Platform::MPEiX - Builder class for MPEiX platforms
=over 4
@@ -27970,7 +29082,8 @@ auto_feature_names(), write()
=back
-=head2 Module::Build::Platform::MacOS - Builder class for MacOS platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::MacOS,
+Module::Build::Platform::MacOS - Builder class for MacOS platforms
=over 4
@@ -27990,7 +29103,8 @@ new(), make_executable(), dispatch(), ACTION_realclean()
=back
-=head2 Module::Build::Platform::RiscOS - Builder class for RiscOS platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::RiscOS,
+Module::Build::Platform::RiscOS - Builder class for RiscOS platforms
=over 4
@@ -28002,7 +29116,8 @@ new(), make_executable(), dispatch(), ACTION_realclean()
=back
-=head2 Module::Build::Platform::Unix - Builder class for Unix platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Unix,
+Module::Build::Platform::Unix - Builder class for Unix platforms
=over 4
@@ -28014,7 +29129,8 @@ new(), make_executable(), dispatch(), ACTION_realclean()
=back
-=head2 Module::Build::Platform::VMS - Builder class for VMS platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::VMS,
+Module::Build::Platform::VMS - Builder class for VMS platforms
=over 4
@@ -28078,7 +29194,8 @@ ACTION_clean
=back
-=head2 Module::Build::Platform::VOS - Builder class for VOS platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::VOS,
+Module::Build::Platform::VOS - Builder class for VOS platforms
=over 4
@@ -28090,8 +29207,8 @@ ACTION_clean
=back
-=head2 Module::Build::Platform::Windows - Builder class for Windows
-platforms
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Windows,
+Module::Build::Platform::Windows - Builder class for Windows platforms
=over 4
@@ -28103,7 +29220,8 @@ platforms
=back
-=head2 Module::Build::Platform::aix - Builder class for AIX platform
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::aix,
+Module::Build::Platform::aix - Builder class for AIX platform
=over 4
@@ -28115,7 +29233,8 @@ platforms
=back
-=head2 Module::Build::Platform::cygwin - Builder class for Cygwin platform
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::cygwin,
+Module::Build::Platform::cygwin - Builder class for Cygwin platform
=over 4
@@ -28127,8 +29246,8 @@ platforms
=back
-=head2 Module::Build::Platform::darwin - Builder class for Mac OS X
-platform
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::darwin,
+Module::Build::Platform::darwin - Builder class for Mac OS X platform
=over 4
@@ -28140,7 +29259,8 @@ platform
=back
-=head2 Module::Build::Platform::os2 - Builder class for OS/2 platform
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::os2,
+Module::Build::Platform::os2 - Builder class for OS/2 platform
=over 4
@@ -28152,7 +29272,26 @@ platform
=back
-=head2 Module::CoreList - what modules shipped with versions of perl
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Version,
+Module::Build::Version - DEPRECATED
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::YAML, Module::Build::YAML
+- DEPRECATED
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::CoreList, Module::CoreList -
+what modules shipped with versions of perl
=over 4
@@ -28185,7 +29324,8 @@ C<%Module::CoreList::upstream>, C<%Module::CoreList::bug_tracker>
=back
-=head2 Module::Load - runtime require of both modules and files
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Load, Module::Load - runtime
+require of both modules and files
=over 4
@@ -28207,8 +29347,9 @@ C<%Module::CoreList::upstream>, C<%Module::CoreList::bug_tracker>
=back
-=head2 Module::Load::Conditional - Looking up module information / loading
-at runtime
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Load::Conditional,
+Module::Load::Conditional - Looking up module information / loading at
+runtime
=over 4
@@ -28218,6 +29359,8 @@ at runtime
=item Methods
+=over 4
+
=item $href = check_install( module => NAME [, version => VERSION, verbose
=> BOOL ] );
@@ -28225,6 +29368,8 @@ module, version, verbose, file, dir, version, uptodate
=back
+=back
+
=over 4
=item $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] },
@@ -28270,7 +29415,8 @@ modules, verbose, nocache
=back
-=head2 Module::Loaded - mark modules as loaded or unloaded
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Loaded, Module::Loaded - mark
+modules as loaded or unloaded
=over 4
@@ -28310,8 +29456,28 @@ modules, verbose, nocache
=back
-=head2 Module::Pluggable - automatically give your module the ability to
-have plugins
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Metadata, Module::Metadata -
+Gather package and POD information from perl module files
+
+=over 4
+
+=item DESCRIPTION
+
+new_from_file($filename, collect_pod => 1), new_from_module($module,
+collect_pod => 1, inc => \@dirs), name(), version($package), filename(),
+packages_inside(), pod_inside(), contains_pod(), pod($section),
+find_module_by_name($module, \@dirs), find_module_dir_by_name($module,
+\@dirs), package_versions_from_directory($dir, \@files?), log_info
+(internal)
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Pluggable, Module::Pluggable -
+automatically give your module the ability to have plugins
=over 4
@@ -28373,8 +29539,9 @@ have plugins
=back
-=head2 Module::Pluggable::Object - automatically give your module the
-ability to have plugins
+=head2 C:\perl_tl\perl-5.14.2\lib::Module::Pluggable::Object,
+Module::Pluggable::Object - automatically give your module the ability to
+have plugins
=over 4
@@ -28394,30 +29561,8 @@ ability to have plugins
=back
-=head2 NDBM_File - Tied access to ndbm files
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<O_RDONLY>, C<O_WRONLY>, C<O_RDWR>
-
-=item DIAGNOSTICS
-
-=over 4
-
-=item C<ndbm store returned -1, errno 22, key "..." at ...>
-
-=back
-
-=item BUGS AND WARNINGS
-
-=back
-
-=head2 NEXT - Provide a pseudo-class NEXT (et al) that allows method
-redispatch
+=head2 C:\perl_tl\perl-5.14.2\lib::NEXT, NEXT.pm - Provide a pseudo-class
+NEXT (et al) that allows method redispatch
=over 4
@@ -28445,7 +29590,8 @@ redispatch
=back
-=head2 Net::Cmd - Network Command class (as used by FTP, SMTP etc)
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::Cmd, Net::Cmd - Network Command
+class (as used by FTP, SMTP etc)
=over 4
@@ -28472,7 +29618,8 @@ ungetline ( TEXT ), rawdatasend ( DATA ), read_until_dot (), tied_fh ()
=back
-=head2 Net::Config - Local configuration data for libnet
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::Config, Net::Config - Local
+configuration data for libnet
=over 4
@@ -28492,8 +29639,8 @@ ftp_int_passive, local_netmask, test_hosts, test_exists
=back
-=head2 Net::Domain - Attempt to evaluate the current host's internet name
-and domain
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::Domain, Net::Domain - Attempt to
+evaluate the current host's internet name and domain
=over 4
@@ -28509,7 +29656,7 @@ hostfqdn (), domainname (), hostname (), hostdomain ()
=back
-=head2 Net::FTP - FTP Client class
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::FTP, Net::FTP - FTP Client class
=over 4
@@ -28572,7 +29719,7 @@ http://www.csh.rit.edu/~adam/Progs/
=back
-=head2 Net::NNTP - NNTP Client class
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::NNTP, Net::NNTP - NNTP Client class
=over 4
@@ -28620,7 +29767,38 @@ MESSAGE-SPEC, PATTERN, Examples, C<[^]-]>, C<*bdc>, C<[0-9a-zA-Z]>, C<a??d>
=back
-=head2 Net::POP3 - Post Office Protocol 3 Client class (RFC1939)
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::Netrc, Net::Netrc - OO interface to
+users netrc file
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item THE .netrc FILE
+
+machine name, default, login name, password string, account string, macdef
+name
+
+=item CONSTRUCTOR
+
+lookup ( MACHINE [, LOGIN ])
+
+=item METHODS
+
+login (), password (), account (), lpa ()
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::POP3, Net::POP3 - Post Office
+Protocol 3 Client class (RFC1939)
=over 4
@@ -28650,7 +29828,8 @@ auth ( USERNAME, PASSWORD ), user ( USER ), pass ( PASS ), login ( [ USER
=back
-=head2 Net::Ping - check a remote host for reachability
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::Ping, Net::Ping - check a remote
+host for reachability
=over 4
@@ -28683,7 +29862,8 @@ $p->port_number([$port_number]), pingecho($host [, $timeout]);
=back
-=head2 Net::SMTP - Simple Mail Transfer Protocol Client
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::SMTP, Net::SMTP - Simple Mail
+Transfer Protocol Client
=over 4
@@ -28717,7 +29897,8 @@ $subject ] ), quit ()
=back
-=head2 Net::Time - time and daytime network client interface
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::Time, Net::Time - time and daytime
+network client interface
=over 4
@@ -28734,8 +29915,8 @@ PROTOCOL [, TIMEOUT]]])
=back
-=head2 Net::hostent - by-name interface to Perl's built-in gethost*()
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::hostent, Net::hostent - by-name
+interface to Perl's built-in gethost*() functions
=over 4
@@ -28751,7 +29932,8 @@ functions
=back
-=head2 Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::libnetFAQ, libnetFAQ - libnet
+Frequently Asked Questions
=over 4
@@ -28852,8 +30034,8 @@ hostname ?
=back
-=head2 Net::netent - by-name interface to Perl's built-in getnet*()
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::netent, Net::netent - by-name
+interface to Perl's built-in getnet*() functions
=over 4
@@ -28869,8 +30051,8 @@ functions
=back
-=head2 Net::protoent - by-name interface to Perl's built-in getproto*()
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::protoent, Net::protoent - by-name
+interface to Perl's built-in getproto*() functions
=over 4
@@ -28884,8 +30066,8 @@ functions
=back
-=head2 Net::servent - by-name interface to Perl's built-in getserv*()
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Net::servent, Net::servent - by-name
+interface to Perl's built-in getserv*() functions
=over 4
@@ -28901,36 +30083,8 @@ functions
=back
-=head2 Netrc, Net::Netrc - OO interface to users netrc file
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item THE .netrc FILE
-
-machine name, default, login name, password string, account string, macdef
-name
-
-=item CONSTRUCTOR
-
-lookup ( MACHINE [, LOGIN ])
-
-=item METHODS
-
-login (), password (), account (), lpa ()
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=item COPYRIGHT
-
-=back
-
-=head2 O - Generic interface to Perl Compiler backends
+=head2 C:\perl_tl\perl-5.14.2\lib::O, O - Generic interface to Perl
+Compiler backends
=over 4
@@ -28948,29 +30102,8 @@ login (), password (), account (), lpa ()
=back
-=head2 ODBM_File - Tied access to odbm files
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<O_RDONLY>, C<O_WRONLY>, C<O_RDWR>
-
-=item DIAGNOSTICS
-
-=over 4
-
-=item C<odbm store returned -1, errno 22, key "..." at ...>
-
-=back
-
-=item BUGS AND WARNINGS
-
-=back
-
-=head2 Object::Accessor - interface to create per object accessors
+=head2 C:\perl_tl\perl-5.14.2\lib::Object::Accessor, Object::Accessor -
+interface to create per object accessors
=over 4
@@ -29105,7 +30238,8 @@ Allow handlers, Callbacks
=back
-=head2 Opcode - Disable named opcodes when compiling perl code
+=head2 C:\perl_tl\perl-5.14.2\lib::Opcode, Opcode - Disable named opcodes
+when compiling perl code
=over 4
@@ -29150,20 +30284,8 @@ opdump (PAT)
=back
-=head2 Opcode::ops, ops - Perl pragma to restrict unsafe operations when
-compiling
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item SEE ALSO
-
-=back
-
-=head2 POSIX - Perl interface to IEEE Std 1003.1
+=head2 C:\perl_tl\perl-5.14.2\lib::POSIX, POSIX - Perl interface to IEEE
+Std 1003.1
=over 4
@@ -29297,7 +30419,8 @@ WTERMSIG, WIFSTOPPED, WSTOPSIG
=back
-=head2 Package::Constants - List all constants declared in a package
+=head2 C:\perl_tl\perl-5.14.2\lib::Package::Constants, Package::Constants -
+List all constants declared in a package
=over 4
@@ -29337,7 +30460,8 @@ WTERMSIG, WIFSTOPPED, WSTOPSIG
=back
-=head2 Params::Check - A generic input parsing/checking mechanism.
+=head2 C:\perl_tl\perl-5.14.2\lib::Params::Check, Params::Check - A generic
+input parsing/checking mechanism.
=over 4
@@ -29403,16 +30527,18 @@ string, regexp, subroutine, array ref
=back
-=item AUTHOR
-
=item Acknowledgements
+=item BUG REPORTS
+
+=item AUTHOR
+
=item COPYRIGHT
=back
-=head2 Parse::CPAN::Meta - Parse META.yml and other similar CPAN metadata
-files
+=head2 C:\perl_tl\perl-5.14.2\lib::Parse::CPAN::Meta, Parse::CPAN::Meta -
+Parse META.yml and META.json CPAN metadata files
=over 4
@@ -29420,83 +30546,81 @@ files
=item DESCRIPTION
-=item FUNCTIONS
+=item METHODS
=over 4
-=item Load
-
-=item LoadFile
-
-=back
+=item load_file
-=item SUPPORT
+=item load_yaml_string
-=item AUTHOR
+=item load_json_string
-=item SEE ALSO
+=item yaml_backend
-=item COPYRIGHT
+=item json_backend
=back
-=head2 PerlIO - On demand loader for PerlIO layers and root of PerlIO::*
-name space
+=item FUNCTIONS
=over 4
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-:unix, :stdio, :perlio, :crlf, :mmap, :utf8, :bytes, :raw, :pop, :win32
+=item Load
-=over 4
+=item LoadFile
-=item Custom Layers
+=back
-:encoding, :via
+=item ENVIRONMENT
-=item Alternatives to raw
+=over 4
-=item Defaults and how to override them
+=item PERL_JSON_BACKEND
-=item Querying the layers of filehandles
+=item PERL_YAML_BACKEND
=back
+=item SUPPORT
+
=item AUTHOR
-=item SEE ALSO
+=item COPYRIGHT
=back
-=head2 PerlIO-encoding, PerlIO::encoding - encoding layer
+=head2 C:\perl_tl\perl-5.14.2\lib::Perl::OSType, Perl::OSType - Map Perl
+operating system names to generic types
=over 4
+=item VERSION
+
=item SYNOPSIS
=item DESCRIPTION
-=item SEE ALSO
+=item USAGE
-=back
+=over 4
-=head2 PerlIO-scalar, PerlIO::scalar - in-memory IO, scalar IO
+=item os_type()
-=over 4
+=item is_os_type()
-=item SYNOPSIS
+=back
-=item DESCRIPTION
+=item SEE ALSO
-=item IMPLEMENTATION NOTE
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
=back
-=head2 PerlIO-via, PerlIO::via - Helper class for PerlIO layers implemented
-in perl
+=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO, PerlIO - On demand loader for
+PerlIO layers and root of PerlIO::* name space
=over 4
@@ -29504,28 +30628,30 @@ in perl
=item DESCRIPTION
-=item EXPECTED METHODS
+:unix, :stdio, :perlio, :crlf, :mmap, :utf8, :bytes, :raw, :pop, :win32
-$class->PUSHED([$mode,[$fh]]), $obj->POPPED([$fh]),
-$obj->UTF8($bellowFlag,[$fh]), $obj->OPEN($path,$mode,[$fh]),
-$obj->BINMODE([$fh]), $obj->FDOPEN($fd,[$fh]),
-$obj->SYSOPEN($path,$imode,$perm,[$fh]), $obj->FILENO($fh),
-$obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), $obj->FILL($fh),
-$obj->CLOSE($fh), $obj->SEEK($posn,$whence,$fh), $obj->TELL($fh),
-$obj->UNREAD($buffer,$fh), $obj->FLUSH($fh), $obj->SETLINEBUF($fh),
-$obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
+=over 4
-=item EXAMPLES
+=item Custom Layers
-=over 4
+:encoding, :via
-=item Example - a Hexadecimal Handle
+=item Alternatives to raw
+
+=item Defaults and how to override them
+
+=item Querying the layers of filehandles
=back
+=item AUTHOR
+
+=item SEE ALSO
+
=back
-=head2 PerlIO::encoding - encoding layer
+=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::encoding, PerlIO::encoding -
+encoding layer
=over 4
@@ -29537,7 +30663,8 @@ $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
=back
-=head2 PerlIO::scalar - in-memory IO, scalar IO
+=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::scalar, PerlIO::scalar -
+in-memory IO, scalar IO
=over 4
@@ -29549,7 +30676,8 @@ $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
=back
-=head2 PerlIO::via - Helper class for PerlIO layers implemented in perl
+=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::via, PerlIO::via - Helper class
+for PerlIO layers implemented in perl
=over 4
@@ -29578,7 +30706,8 @@ $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
=back
-=head2 PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
+=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::via::QuotedPrint,
+PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
=over 4
@@ -29596,7 +30725,8 @@ $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
=back
-=head2 Pod::Checker, podchecker() - check pod documents for syntax errors
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Checker, Pod::Checker, podchecker()
+- check pod documents for syntax errors
=over 4
@@ -29678,7 +30808,8 @@ C<$checker-E<gt>hyperlink()>
=back
-=head2 Pod::Escapes -- for resolving Pod EE<lt>...E<gt> sequences
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Escapes, Pod::Escapes -- for
+resolving Pod EE<lt>...E<gt> sequences
=over 4
@@ -29702,7 +30833,8 @@ $Latin1Char_to_fallback{I<character>}, $Code2USASCII{I<integer>}
=back
-=head2 Pod::Find - find POD documents in directory trees
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Find, Pod::Find - find POD
+documents in directory trees
=over 4
@@ -29750,7 +30882,23 @@ C<-inc =E<gt> 1>, C<-dirs =E<gt> [ $dir1, $dir2, ... ]>, C<-verbose =E<gt>
=back
-=head2 Pod::Html - module to convert pod files to HTML
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Functions, Pod::Functions - Group
+Perl's functions a la perlfunc.pod
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+%Kinds, %Type, %Flavor, %Type_Description, @Type_Order
+
+=item CHANGES
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Html, Pod::Html - module to convert
+pod files to HTML
=over 4
@@ -29784,8 +30932,8 @@ quiet, recurse, title, verbose
=back
-=head2 Pod::InputObjects - objects representing POD input paragraphs,
-commands, etc.
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::InputObjects, Pod::InputObjects -
+objects representing POD input paragraphs, commands, etc.
=over 4
@@ -30014,7 +31162,8 @@ B<Pod::InteriorSequence>, package B<Pod::ParseTree>
=back
-=head2 Pod::LaTeX - Convert Pod data to formatted Latex
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::LaTeX, Pod::LaTeX - Convert Pod
+data to formatted Latex
=over 4
@@ -30136,7 +31285,8 @@ B<_split_delimited>
=back
-=head2 Pod::Man - Convert POD data to formatted *roff input
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Man, Pod::Man - Convert POD data to
+formatted *roff input
=over 4
@@ -30164,7 +31314,8 @@ roff font should be 1 or 2 chars, not "%s", Invalid quote specification
=back
-=head2 Pod::ParseLink - Parse an LE<lt>E<gt> formatting code in POD text
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::ParseLink, Pod::ParseLink - Parse
+an LE<lt>E<gt> formatting code in POD text
=over 4
@@ -30180,7 +31331,8 @@ roff font should be 1 or 2 chars, not "%s", Invalid quote specification
=back
-=head2 Pod::ParseUtils - helpers for POD parsing and conversion
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::ParseUtils, Pod::ParseUtils -
+helpers for POD parsing and conversion
=over 4
@@ -30284,7 +31436,8 @@ $cacheitem-E<gt>idx()
=back
-=head2 Pod::Parser - base class for creating POD filters and translators
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Parser, Pod::Parser - base class
+for creating POD filters and translators
=over 4
@@ -30527,7 +31680,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc - Look up Perl documentation in Pod format.
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc, Pod::Perldoc - Look up
+Perl documentation in Pod format.
=over 4
@@ -30543,7 +31697,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::BaseTo,
+Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters
=over 4
@@ -30559,7 +31714,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::GetOptsOO,
+Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
=over 4
@@ -30575,7 +31731,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToChecker,
+Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
=over 4
@@ -30591,7 +31748,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToMan - let Perldoc render Pod as man pages
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToMan, Pod::Perldoc::ToMan
+- let Perldoc render Pod as man pages
=over 4
@@ -30609,7 +31767,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToNroff,
+Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
=over 4
@@ -30627,7 +31786,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod!
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToPod, Pod::Perldoc::ToPod
+- let Perldoc render Pod as ... Pod!
=over 4
@@ -30643,7 +31803,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToRtf, Pod::Perldoc::ToRtf
+- let Perldoc render Pod as RTF
=over 4
@@ -30659,7 +31820,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToText - let Perldoc render Pod as plaintext
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToText,
+Pod::Perldoc::ToText - let Perldoc render Pod as plaintext
=over 4
@@ -30677,7 +31839,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToTk, Pod::Perldoc::ToTk -
+let Perldoc use Tk::Pod to render Pod
=over 4
@@ -30691,7 +31854,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::Perldoc::ToXml - let Perldoc render Pod as XML
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToXml, Pod::Perldoc::ToXml
+- let Perldoc render Pod as XML
=over 4
@@ -30707,7 +31871,8 @@ I<code-ref>|I<method-name>
=back
-=head2 Pod::PlainText - Convert POD data to formatted ASCII text
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::PlainText, Pod::PlainText - Convert
+POD data to formatted ASCII text
=over 4
@@ -30732,34 +31897,8 @@ Unknown sequence: %s, Unmatched =back
=back
-=head2 Pod::Plainer - Perl extension for converting Pod to old-style Pod.
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item METHODS
-
-escape_ltgt, simple_delimiters, textblock
-
-=item EXPORT
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 Pod::Select, podselect() - extract selected sections of POD from
-input
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Select, Pod::Select, podselect() -
+extract selected sections of POD from input
=over 4
@@ -30865,7 +32004,8 @@ B<-output>, B<-sections>, B<-ranges>
=back
-=head2 Pod::Simple - framework for parsing Pod
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple, Pod::Simple - framework for
+parsing Pod
=over 4
@@ -30907,7 +32047,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::Checker -- check the Pod syntax of a document
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Checker,
+Pod::Simple::Checker -- check the Pod syntax of a document
=over 4
@@ -30928,7 +32069,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::Debug -- put Pod::Simple into trace/debug mode
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Debug, Pod::Simple::Debug
+-- put Pod::Simple into trace/debug mode
=over 4
@@ -30953,7 +32095,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::DumpAsText -- dump Pod-parsing events as text
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::DumpAsText,
+Pod::Simple::DumpAsText -- dump Pod-parsing events as text
=over 4
@@ -30974,7 +32117,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::DumpAsXML -- turn Pod into XML
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::DumpAsXML,
+Pod::Simple::DumpAsXML -- turn Pod into XML
=over 4
@@ -30995,7 +32139,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::HTML - convert Pod to HTML
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::HTML, Pod::Simple::HTML -
+convert Pod to HTML
=over 4
@@ -31007,8 +32152,38 @@ David E. Wheeler C<dwheeler@cpan.org>
=item CALLING FROM PERL
+=over 4
+
+=item Minimal code
+
+=item More detailed example
+
+=back
+
=item METHODS
+=over 4
+
+=item html_css
+
+=item html_javascript
+
+=item title_prefix
+
+=item title_postfix
+
+=item html_header_before_title
+
+=item html_h_level
+
+=item index
+
+=item html_header_after_title
+
+=item html_footer
+
+=back
+
=item SUBCLASSING
=item SEE ALSO
@@ -31026,8 +32201,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::HTMLBatch - convert several Pod files to several HTML
-files
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::HTMLBatch,
+Pod::Simple::HTMLBatch - convert several Pod files to several HTML files
=over 4
@@ -31084,8 +32259,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::LinkSection -- represent "section" attributes of L
-codes
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::LinkSection,
+Pod::Simple::LinkSection -- represent "section" attributes of L codes
=over 4
@@ -31106,7 +32281,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::Methody -- turn Pod::Simple events into method calls
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Methody,
+Pod::Simple::Methody -- turn Pod::Simple events into method calls
=over 4
@@ -31129,7 +32305,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::PullParser -- a pull-parser interface to parsing Pod
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParser,
+Pod::Simple::PullParser -- a pull-parser interface to parsing Pod
=over 4
@@ -31165,8 +32342,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::PullParserEndToken -- end-tokens from
-Pod::Simple::PullParser
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserEndToken,
+Pod::Simple::PullParserEndToken -- end-tokens from Pod::Simple::PullParser
=over 4
@@ -31190,7 +32367,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::PullParserStartToken -- start-tokens from
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserStartToken,
+Pod::Simple::PullParserStartToken -- start-tokens from
Pod::Simple::PullParser
=over 4
@@ -31219,7 +32397,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::PullParserTextToken -- text-tokens from
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserTextToken,
+Pod::Simple::PullParserTextToken -- text-tokens from
Pod::Simple::PullParser
=over 4
@@ -31243,7 +32422,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserToken,
+Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser
=over 4
@@ -31267,7 +32447,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::RTF -- format Pod as RTF
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::RTF, Pod::Simple::RTF --
+format Pod as RTF
=over 4
@@ -31300,7 +32481,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::Search - find POD documents in directory trees
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Search, Pod::Simple::Search
+- find POD documents in directory trees
=over 4
@@ -31347,8 +32529,34 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::Subclassing -- write a formatter as a Pod::Simple
-subclass
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::SimpleTree,
+Pod::Simple::SimpleTree -- parse Pod into a simple parse tree
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=item Tree Contents
+
+=item SEE ALSO
+
+=item SUPPORT
+
+=item COPYRIGHT AND DISCLAIMERS
+
+=item AUTHOR
+
+Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
+David E. Wheeler C<dwheeler@cpan.org>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Subclassing,
+Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass
=over 4
@@ -31405,7 +32613,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::Text -- format Pod as plaintext
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Text, Pod::Simple::Text --
+format Pod as plaintext
=over 4
@@ -31426,7 +32635,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::TextContent -- get the text content of Pod
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::TextContent,
+Pod::Simple::TextContent -- get the text content of Pod
=over 4
@@ -31447,7 +32657,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::XHTML -- format Pod as validating XHTML
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::XHTML, Pod::Simple::XHTML
+-- format Pod as validating XHTML
=over 4
@@ -31455,6 +32666,12 @@ David E. Wheeler C<dwheeler@cpan.org>
=item DESCRIPTION
+=over 4
+
+=item Minimal code
+
+=back
+
=back
=over 4
@@ -31479,6 +32696,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=item html_doctype
+=item html_charset
+
=item html_header_tags
=item html_h_level
@@ -31550,7 +32769,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::Simple::XMLOutStream -- turn Pod into XML
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::XMLOutStream,
+Pod::Simple::XMLOutStream -- turn Pod into XML
=over 4
@@ -31577,33 +32797,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 Pod::SimpleTree, Pod::Simple::SimpleTree -- parse Pod into a simple
-parse tree
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item METHODS
-
-=item Tree Contents
-
-=item SEE ALSO
-
-=item SUPPORT
-
-=item COPYRIGHT AND DISCLAIMERS
-
-=item AUTHOR
-
-Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
-David E. Wheeler C<dwheeler@cpan.org>
-
-=back
-
-=head2 Pod::Text - Convert POD data to formatted ASCII text
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text, Pod::Text - Convert POD data
+to formatted ASCII text
=over 4
@@ -31632,7 +32827,8 @@ Bizarre space in item, Item called without tag, Can't open %s for reading:
=back
-=head2 Pod::Text::Color - Convert POD data to formatted color ASCII text
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text::Color, Pod::Text::Color -
+Convert POD data to formatted color ASCII text
=over 4
@@ -31650,7 +32846,7 @@ Bizarre space in item, Item called without tag, Can't open %s for reading:
=back
-=head2 Pod::Text::Overstrike, =for stopwords
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text::Overstrike, =for stopwords
overstrike
=over 4
@@ -31669,8 +32865,8 @@ overstrike
=back
-=head2 Pod::Text::Termcap - Convert POD data to ASCII text with format
-escapes
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text::Termcap, Pod::Text::Termcap -
+Convert POD data to ASCII text with format escapes
=over 4
@@ -31688,8 +32884,8 @@ escapes
=back
-=head2 Pod::Usage, pod2usage() - print a usage message from embedded pod
-documentation
+=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Usage, Pod::Usage, pod2usage() -
+print a usage message from embedded pod documentation
=over 4
@@ -31720,7 +32916,8 @@ C<-input>, C<-pathlist>, C<-noperldoc>
=back
-=head2 SDBM_File - Tied access to sdbm files
+=head2 C:\perl_tl\perl-5.14.2\lib::SDBM_File, SDBM_File - Tied access to
+sdbm files
=over 4
@@ -31742,7 +32939,8 @@ C<O_RDONLY>, C<O_WRONLY>, C<O_RDWR>
=back
-=head2 Safe - Compile and execute code in restricted compartments
+=head2 C:\perl_tl\perl-5.14.2\lib::Safe, Safe - Compile and execute code in
+restricted compartments
=over 4
@@ -31798,7 +32996,8 @@ Memory, CPU, Snooping, Signals, State Changes
=back
-=head2 Scalar::Util - A selection of general-utility scalar subroutines
+=head2 C:\perl_tl\perl-5.14.2\lib::Scalar::Util, Scalar::Util - A selection
+of general-utility scalar subroutines
=over 4
@@ -31824,7 +33023,8 @@ XS version of Scalar::Util
=back
-=head2 Search::Dict, look - search for key in dictionary file
+=head2 C:\perl_tl\perl-5.14.2\lib::Search::Dict, Search::Dict, look -
+search for key in dictionary file
=over 4
@@ -31834,7 +33034,8 @@ XS version of Scalar::Util
=back
-=head2 SelectSaver - save and restore selected file handle
+=head2 C:\perl_tl\perl-5.14.2\lib::SelectSaver, SelectSaver - save and
+restore selected file handle
=over 4
@@ -31844,7 +33045,8 @@ XS version of Scalar::Util
=back
-=head2 SelfLoader - load functions only on demand
+=head2 C:\perl_tl\perl-5.14.2\lib::SelfLoader, SelfLoader - load functions
+only on demand
=over 4
@@ -31878,7 +33080,8 @@ XS version of Scalar::Util
B<_make_cmd>
-=head2 Shell - run shell commands transparently within perl
+=head2 C:\perl_tl\perl-5.14.2\lib::Shell, Shell - run shell commands
+transparently within perl
=over 4
@@ -31902,8 +33105,9 @@ B<_make_cmd>
=back
-=head2 Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa, inet_pton,
-inet_ntop - load the C socket.h defines and structure manipulators
+=head2 C:\perl_tl\perl-5.14.2\lib::Socket, Socket, sockaddr_in,
+sockaddr_un, inet_aton, inet_ntoa, inet_pton, inet_ntop - load the C
+socket.h defines and structure manipulators
=over 4
@@ -31912,15 +33116,23 @@ inet_ntop - load the C socket.h defines and structure manipulators
=item DESCRIPTION
inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
-INADDR_LOOPBACK, INADDR_NONE, sockaddr_family SOCKADDR, sockaddr_in PORT,
-ADDRESS, sockaddr_in SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS,
-unpack_sockaddr_in SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un
-SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN,
-inet_pton ADDRESS_FAMILY, HOSTNAME, inet_ntop ADDRESS_FAMILY, IP_ADDRESS
+INADDR_LOOPBACK, INADDR_NONE, IN6ADDR_ANY, IN6ADDR_LOOPBACK,
+sockaddr_family SOCKADDR, sockaddr_in PORT, ADDRESS, sockaddr_in
+SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
+SOCKADDR_IN, sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID, [ FLOWINFO ] ],
+sockaddr_in6 SOCKADDR_IN6, pack_sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID,
+[ FLOWINFO ] ], unpack_sockaddr_in6 SOCKADDR_IN6, sockaddr_un PATHNAME,
+sockaddr_un SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un
+SOCKADDR_UN, inet_pton ADDRESS_FAMILY, HOSTNAME, inet_ntop ADDRESS_FAMILY,
+IP_ADDRESS, getaddrinfo HOST, SERVICE, [ HINTS ], flags => INT, family =>
+INT, socktype => INT, protocol => INT, family => INT, socktype => INT,
+protocol => INT, addr => STRING, canonname => STRING, getnameinfo ADDR,
+FLAGS
=back
-=head2 Storable - persistence for Perl data structures
+=head2 C:\perl_tl\perl-5.14.2\lib::Storable, Storable - persistence for
+Perl data structures
=over 4
@@ -31991,66 +33203,21 @@ $buffer ), $info = Storable::read_magic( $buffer, $must_be_file )
=back
-=head2 Switch - A switch statement for Perl
+=head2 C:\perl_tl\perl-5.14.2\lib::Symbol, Symbol - manipulate Perl symbols
+and their names
=over 4
=item SYNOPSIS
-=item BACKGROUND
-
=item DESCRIPTION
-=over 4
-
-=item Allowing fall-through
-
-=item Automating fall-through
-
-=item Alternative syntax
-
-=item Higher-order Operations
-
-=back
-
-=item DEPENDENCIES
-
-=item AUTHOR
-
=item BUGS
-=item LIMITATIONS
-
-=item COPYRIGHT
-
=back
-=head2 Symbol - manipulate Perl symbols and their names
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item BUGS
-
-=back
-
-=head2 Sys-Hostname, Sys::Hostname - Try every conceivable way to get
-hostname
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item AUTHOR
-
-=back
-
-=head2 Sys::Hostname - Try every conceivable way to get hostname
+=head2 C:\perl_tl\perl-5.14.2\lib::Sys::Hostname, Sys::Hostname - Try every
+conceivable way to get hostname
=over 4
@@ -32062,8 +33229,8 @@ hostname
=back
-=head2 TAP::Base - Base class that provides common functionality to
-L<TAP::Parser>
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Base, TAP::Base - Base class that
+provides common functionality to L<TAP::Parser>
and L<TAP::Harness>
=over 4
@@ -32088,8 +33255,8 @@ and L<TAP::Harness>
=back
-=head2 TAP::Formatter::Base, TAP::Formatter::Console - Harness output
-delegate for default console output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Base,
+TAP::Formatter::Base - Base class for harness output delegates
=over 4
@@ -32121,7 +33288,8 @@ C<jobs>, C<show_count>
=back
-=head2 TAP::Formatter::Color - Run Perl test scripts with color
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Color,
+TAP::Formatter::Color - Run Perl test scripts with color
=over 4
@@ -32145,8 +33313,9 @@ C<jobs>, C<show_count>
=back
-=head2 TAP::Formatter::Console - Harness output delegate for default
-console output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Console,
+TAP::Formatter::Console - Harness output delegate for default console
+output
=over 4
@@ -32168,8 +33337,10 @@ console output
=back
-=head2 TAP::Formatter::Console::ParallelSession - Harness output delegate
-for parallel console output
+=head2
+C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Console::ParallelSession,
+TAP::Formatter::Console::ParallelSession - Harness output delegate for
+parallel console output
=over 4
@@ -32197,8 +33368,9 @@ for parallel console output
=back
-=head2 TAP::Formatter::Console::Session - Harness output delegate for
-default console output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Console::Session,
+TAP::Formatter::Console::Session - Harness output delegate for default
+console output
=over 4
@@ -32224,7 +33396,8 @@ default console output
=back
-=head2 TAP::Formatter::File - Harness output delegate for file output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::File,
+TAP::Formatter::File - Harness output delegate for file output
=over 4
@@ -32246,8 +33419,8 @@ default console output
=back
-=head2 TAP::Formatter::File::Session - Harness output delegate for file
-output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::File::Session,
+TAP::Formatter::File::Session - Harness output delegate for file output
=over 4
@@ -32279,8 +33452,8 @@ output
=back
-=head2 TAP::Formatter::Session - Abstract base class for harness output
-delegate
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Session,
+TAP::Formatter::Session - Abstract base class for harness output delegate
=over 4
@@ -32302,7 +33475,8 @@ C<formatter>, C<parser>, C<name>, C<show_count>
=back
-=head2 TAP::Harness - Run test scripts with statistics
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Harness, TAP::Harness - Run test
+scripts with statistics
=over 4
@@ -32328,9 +33502,10 @@ C<formatter>, C<parser>, C<name>, C<show_count>
C<verbosity>, C<timer>, C<failures>, C<comments>, C<show_count>,
C<normalize>, C<lib>, C<switches>, C<test_args>, C<color>, C<exec>,
-C<merge>, C<aggregator_class>, C<formatter_class>, C<multiplexer_class>,
-C<parser_class>, C<scheduler_class>, C<formatter>, C<errors>,
-C<directives>, C<ignore_exit>, C<jobs>, C<rules>, C<stdout>
+C<merge>, C<sources>, C<aggregator_class>, C<version>, C<formatter_class>,
+C<multiplexer_class>, C<parser_class>, C<scheduler_class>, C<formatter>,
+C<errors>, C<directives>, C<ignore_exit>, C<jobs>, C<rules>, C<stdout>,
+C<trap>
=back
@@ -32342,18 +33517,37 @@ C<directives>, C<ignore_exit>, C<jobs>, C<rules>, C<stdout>
=back
-the file name of a test script to run, a reference to a [ file name,
-display name ] array
+the source name of a test to run, a reference to a [ source name, display
+name ] array
+
+=over 4
+
+=item CONFIGURING
=over 4
+=item Plugins
+
+=item C<Module::Build>
+
+=item C<ExtUtils::MakeMaker>
+
+=item C<prove>
+
+=back
+
+=item WRITING PLUGINS
+
+Customize how TAP gets into the parser, Customize how TAP results are
+output from the parser
+
=item SUBCLASSING
=over 4
=item Methods
-C<start>, C<tests>
+L</new>, L</runtests>, L</summary>
=back
@@ -32367,8 +33561,8 @@ C<start>, C<tests>
=back
-=head2 TAP::Object - Base class that provides common functionality to all
-C<TAP::*> modules
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Object, TAP::Object - Base class
+that provides common functionality to all C<TAP::*> modules
=over 4
@@ -32398,7 +33592,8 @@ C<TAP::*> modules
=back
-=head2 TAParser, TAP::Parser - Parse L<TAP|Test::Harness::TAP> output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser, TAP::Parser - Parse
+L<TAP|Test::Harness::TAP> output
=over 4
@@ -32418,9 +33613,9 @@ C<TAP::*> modules
=item Class Methods
-C<source>, C<tap>, C<exec>, C<callback>, C<switches>, C<test_args>,
-C<spool>, C<merge>, C<source_class>, C<perl_source_class>,
-C<grammar_class>, C<iterator_factory_class>, C<result_factory_class>
+C<source>, C<tap>, C<exec>, C<sources>, C<callback>, C<switches>,
+C<test_args>, C<spool>, C<merge>, C<grammar_class>,
+C<result_factory_class>, C<iterator_factory_class>
=back
@@ -32495,7 +33690,7 @@ C<ELSE>, C<ALL>, C<EOF>
=item TAP GRAMMAR
-=item BACKWARDS COMPATABILITY
+=item BACKWARDS COMPATIBILITY
=over 4
@@ -32515,12 +33710,12 @@ option 1, option 2
=back
-=item ACKNOWLEDGEMENTS
+=item ACKNOWLEDGMENTS
Michael Schwern, Andy Lester, chromatic, GEOFFR, Shlomi Fish, Torsten
Schoenfeld, Jerry Gay, Aristotle, Adam Kennedy, Yves Orton, Adrian Howard,
Sean & Lil, Andreas J. Koenig, Florian Ragwitz, Corion, Mark Stosberg, Matt
-Kraai, David Wheeler, Alex Vandiver
+Kraai, David Wheeler, Alex Vandiver, Cosimo Streppone, Ville Skyttä
=item AUTHORS
@@ -32530,8 +33725,8 @@ Kraai, David Wheeler, Alex Vandiver
=back
-=head2 TAParser::Aggregator, TAP::Parser::Aggregator - Aggregate
-TAP::Parser results
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Aggregator,
+TAP::Parser::Aggregator - Aggregate TAP::Parser results
=over 4
@@ -32578,8 +33773,8 @@ Failed tests, Parse errors, Bad exit or wait status
=back
-=head2 TAParser::Grammar, TAP::Parser::Grammar - A grammar for the Test
-Anything Protocol.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Grammar,
+TAP::Parser::Grammar - A grammar for the Test Anything Protocol.
=over 4
@@ -32619,8 +33814,8 @@ Anything Protocol.
=back
-=head2 TAParser::Iterator, TAP::Parser::Iterator - Internal base class for
-TAP::Parser Iterators
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator,
+TAP::Parser::Iterator - Base class for TAP source iterators
=over 4
@@ -32660,8 +33855,8 @@ TAP::Parser Iterators
=back
-=head2 TAParser::Iterator::Array, TAP::Parser::Iterator::Array - Internal
-TAP::Parser array Iterator
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator::Array,
+TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
=over 4
@@ -32695,8 +33890,8 @@ TAP::Parser array Iterator
=back
-=head2 TAParser::Iterator::Process, TAP::Parser::Iterator::Process -
-Internal TAP::Parser Iterator
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator::Process,
+TAP::Parser::Iterator::Process - Iterator for process-based TAP sources
=over 4
@@ -32730,8 +33925,8 @@ Internal TAP::Parser Iterator
=back
-=head2 TAParser::Iterator::Stream, TAP::Parser::Iterator::Stream - Internal
-TAP::Parser Iterator
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator::Stream,
+TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources
=over 4
@@ -32769,8 +33964,9 @@ TAP::Parser Iterator
=back
-=head2 TAParser::IteratorFactory, TAP::Parser::IteratorFactory - Internal
-TAP::Parser Iterator
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::IteratorFactory,
+TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to
+use for a given Source
=over 4
@@ -32796,6 +33992,12 @@ TAP::Parser Iterator
=over 4
+=item Instance Methods
+
+=back
+
+=over 4
+
=item SUBCLASSING
=over 4
@@ -32804,14 +34006,16 @@ TAP::Parser Iterator
=back
+=item AUTHORS
+
=item ATTRIBUTION
=item SEE ALSO
=back
-=head2 TAParser::Multiplexer, TAP::Parser::Multiplexer - Multiplex multiple
-TAP::Parsers
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Multiplexer,
+TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
=over 4
@@ -32847,8 +34051,8 @@ TAP::Parsers
=back
-=head2 TAParser::Result, TAP::Parser::Result - Base class for TAP::Parser
-output objects
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result, TAP::Parser::Result
+- Base class for TAP::Parser output objects
=over 4
@@ -32893,8 +34097,8 @@ C<is_version>, C<is_unknown>, C<is_yaml>
=back
-=head2 TAParser::Result::Bailout, TAP::Parser::Result::Bailout - Bailout
-result token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Bailout,
+TAP::Parser::Result::Bailout - Bailout result token.
=over 4
@@ -32918,8 +34122,8 @@ C<as_string>
=back
-=head2 TAParser::Result::Comment, TAP::Parser::Result::Comment - Comment
-result token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Comment,
+TAP::Parser::Result::Comment - Comment result token.
=over 4
@@ -32943,8 +34147,8 @@ C<as_string>
=back
-=head2 TAParser::Result::Plan, TAP::Parser::Result::Plan - Plan result
-token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Plan,
+TAP::Parser::Result::Plan - Plan result token.
=over 4
@@ -32968,8 +34172,8 @@ C<as_string>, C<raw>
=back
-=head2 TAParser::Result::Pragma, TAP::Parser::Result::Pragma - TAP pragma
-token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Pragma,
+TAP::Parser::Result::Pragma - TAP pragma token.
=over 4
@@ -32993,8 +34197,8 @@ C<as_string>, C<raw>
=back
-=head2 TAParser::Result::Test, TAP::Parser::Result::Test - Test result
-token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Test,
+TAP::Parser::Result::Test - Test result token.
=over 4
@@ -33016,8 +34220,8 @@ token.
=back
-=head2 TAParser::Result::Unknown, TAP::Parser::Result::Unknown - Unknown
-result token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Unknown,
+TAP::Parser::Result::Unknown - Unknown result token.
=over 4
@@ -33035,8 +34239,8 @@ C<as_string>, C<raw>
=back
-=head2 TAParser::Result::Version, TAP::Parser::Result::Version - TAP syntax
-version token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Version,
+TAP::Parser::Result::Version - TAP syntax version token.
=over 4
@@ -33060,8 +34264,8 @@ C<as_string>, C<raw>
=back
-=head2 TAParser::Result::YAML, TAP::Parser::Result::YAML - YAML result
-token.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::YAML,
+TAP::Parser::Result::YAML - YAML result token.
=over 4
@@ -33085,8 +34289,9 @@ C<as_string>, C<raw>
=back
-=head2 TAParser::ResultFactory, TAP::Parser::ResultFactory - Factory for
-creating TAP::Parser output objects
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::ResultFactory,
+TAP::Parser::ResultFactory - Factory for creating TAP::Parser output
+objects
=over 4
@@ -33120,8 +34325,8 @@ creating TAP::Parser output objects
=back
-=head2 TAParser::Scheduler, TAP::Parser::Scheduler - Schedule tests during
-parallel testing
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Scheduler,
+TAP::Parser::Scheduler - Schedule tests during parallel testing
=over 4
@@ -33145,8 +34350,8 @@ parallel testing
=back
-=head2 TAParser::Scheduler::Job, TAP::Parser::Scheduler::Job - A single
-testing job.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Scheduler::Job,
+TAP::Parser::Scheduler::Job - A single testing job.
=over 4
@@ -33170,8 +34375,8 @@ testing job.
=back
-=head2 TAParser::Scheduler::Spinner, TAP::Parser::Scheduler::Spinner - A
-no-op job.
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Scheduler::Spinner,
+TAP::Parser::Scheduler::Spinner - A no-op job.
=over 4
@@ -33195,8 +34400,8 @@ no-op job.
=back
-=head2 TAParser::Source, TAP::Parser::Source - Stream output from some
-source
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Source, TAP::Parser::Source
+- a TAP source & meta data about it
=over 4
@@ -33228,6 +34433,39 @@ source
=over 4
+=item AUTHORS
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler,
+TAP::Parser::SourceHandler - Base class for different TAP source handlers
+
+=over 4
+
+=item VERSION
+
+=back
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item Class Methods
+
+=back
+
+=back
+
+=over 4
+
=item SUBCLASSING
=over 4
@@ -33236,12 +34474,15 @@ source
=back
+=item AUTHORS
+
=item SEE ALSO
=back
-=head2 TAParser::Source::Perl, TAP::Parser::Source::Perl - Stream Perl
-output
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::Executable,
+TAP::Parser::SourceHandler::Executable - Stream output from an executable
+TAP source
=over 4
@@ -33261,7 +34502,113 @@ output
=item Class Methods
-=item Instance Methods
+=back
+
+=back
+
+=over 4
+
+=item SUBCLASSING
+
+=over 4
+
+=item Example
+
+=back
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::File,
+TAP::Parser::SourceHandler::File - Stream TAP from a text file.
+
+=over 4
+
+=item VERSION
+
+=back
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item Class Methods
+
+=back
+
+=back
+
+=over 4
+
+=item CONFIGURATION
+
+=item SUBCLASSING
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::Handle,
+TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a
+GLOB.
+
+=over 4
+
+=item VERSION
+
+=back
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item Class Methods
+
+=back
+
+=back
+
+=over 4
+
+=item SUBCLASSING
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::Perl,
+TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
+
+=over 4
+
+=item VERSION
+
+=back
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item Class Methods
=back
@@ -33281,7 +34628,42 @@ output
=back
-=head2 TAParser::Utils, TAP::Parser::Utils - Internal TAP::Parser utilities
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::RawTAP,
+TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a
+scalar/array ref.
+
+=over 4
+
+=item VERSION
+
+=back
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item Class Methods
+
+=back
+
+=back
+
+=over 4
+
+=item SUBCLASSING
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Utils, TAP::Parser::Utils -
+Internal TAP::Parser utilities
=over 4
@@ -33303,8 +34685,8 @@ output
=back
-=head2 TAParser::YAMLish::Reader, TAP::Parser::YAMLish::Reader - Read
-YAMLish data from iterator
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::YAMLish::Reader,
+TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator
=over 4
@@ -33332,8 +34714,8 @@ YAMLish data from iterator
=back
-=head2 TAParser::YAMLish::Writer, TAP::Parser::YAMLish::Writer - Write
-YAMLish data
+=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::YAMLish::Writer,
+TAP::Parser::YAMLish::Writer - Write YAMLish data
=over 4
@@ -33364,7 +34746,8 @@ reference to an array into which YAML will be pushed, a code reference
=back
-=head2 Term::ANSIColor - Color screen output using ANSI escape sequences
+=head2 C:\perl_tl\perl-5.14.2\lib::Term::ANSIColor, Term::ANSIColor - Color
+screen output using ANSI escape sequences
=over 4
@@ -33374,8 +34757,14 @@ reference to an array into which YAML will be pushed, a code reference
=over 4
+=item Supported Colors
+
=item Function Interface
+color(ATTR[, ATTR ...]), colored(STRING, ATTRIBUTES), colored(ATTR-REF,
+STRING[, STRING...]), uncolor(ESCAPE), colorstrip(STRING[, STRING ...]),
+colorvalid(ATTR[, ATTR ...])
+
=item Constant Interface
=item The Color Stack
@@ -33404,7 +34793,8 @@ ANSI_COLORS_DISABLED
=back
-=head2 Term::Cap - Perl termcap interface
+=head2 C:\perl_tl\perl-5.14.2\lib::Term::Cap, Term::Cap - Perl termcap
+interface
=over 4
@@ -33442,7 +34832,8 @@ B<Trequire>
=back
-=head2 Term::Complete - Perl word completion module
+=head2 C:\perl_tl\perl-5.14.2\lib::Term::Complete, Term::Complete - Perl
+word completion module
=over 4
@@ -33460,7 +34851,8 @@ E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
=back
-=head2 Term::ReadLine - Perl interface to various C<readline> packages.
+=head2 C:\perl_tl\perl-5.14.2\lib::Term::ReadLine, Term::ReadLine - Perl
+interface to various C<readline> packages.
If no real package is found, substitutes stubs instead of basic functions.
=over 4
@@ -33482,11 +34874,10 @@ C<tkRunning>, C<ornaments>, C<newTTY>
=item ENVIRONMENT
-=item CAVEATS
-
=back
-=head2 Term::UI - Term::ReadLine UI made easy
+=head2 C:\perl_tl\perl-5.14.2\lib::Term::UI, Term::UI - Term::ReadLine UI
+made easy
=over 4
@@ -33571,7 +34962,7 @@ record", allow => $ref] );
=back
-=head2 Term::UI::History
+=head2 C:\perl_tl\perl-5.14.2\lib::Term::UI::History, Term::UI::History
=over 4
@@ -33603,7 +34994,8 @@ $HISTORY_FH
=back
-=head2 Test - provides a simple framework for writing test scripts
+=head2 C:\perl_tl\perl-5.14.2\lib::Test, Test - provides a simple framework
+for writing test scripts
=over 4
@@ -33650,7 +35042,8 @@ NORMAL TESTS, SKIPPED TESTS, TODO TESTS
=back
-=head2 Test::Builder - Backend for building test libraries
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder, Test::Builder - Backend
+for building test libraries
=over 4
@@ -33674,6 +35067,9 @@ B<child>
B<subtest>
+B<_plan_handled>, Explicitly setting the number of tests, Setting
+'no_plan', Set 'skip_all'
+
B<finalize>
B<parent>
@@ -33828,7 +35224,8 @@ B<_my_exit>
=back
-=head2 Test::Builder::Module - Base class for test modules
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder::Module,
+Test::Builder::Module - Base class for test modules
=over 4
@@ -33850,7 +35247,8 @@ B<_my_exit>
=back
-=head2 Test::Builder::Tester - test testsuites that have been built with
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder::Tester,
+Test::Builder::Tester - test testsuites that have been built with
Test::Builder
=over 4
@@ -33891,8 +35289,8 @@ color
=back
-=head2 Test::Builder::Tester::Color - turn on colour in
-Test::Builder::Tester
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder::Tester::Color,
+Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester
=over 4
@@ -33912,7 +35310,8 @@ Test::Builder::Tester
=back
-=head2 Test::Harness - Run Perl standard test scripts with statistics
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Harness, Test::Harness - Run Perl
+standard test scripts with statistics
=over 4
@@ -33953,7 +35352,7 @@ C<HARNESS_ACTIVE>, C<HARNESS_VERSION>
=item ENVIRONMENT VARIABLES THAT AFFECT TEST::HARNESS
C<HARNESS_TIMER>, C<HARNESS_VERBOSE>, C<HARNESS_OPTIONS>, C<< j<n> >>, C<<
-f >>
+c >>, C<HARNESS_SUBCLASS>
=item Taint Mode
@@ -33967,7 +35366,8 @@ f >>
=back
-=head2 Test::More - yet another framework for writing test scripts
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::More, Test::More - yet another
+framework for writing test scripts
=over 4
@@ -34104,7 +35504,8 @@ objects, Threads
=back
-=head2 Test::Simple - Basic utilities for writing tests.
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Simple, Test::Simple - Basic
+utilities for writing tests.
=over 4
@@ -34136,7 +35537,8 @@ L<Test::More>
=back
-=head2 Test::Tutorial - A tutorial about writing really basic tests
+=head2 C:\perl_tl\perl-5.14.2\lib::Test::Tutorial, Test::Tutorial - A
+tutorial about writing really basic tests
=over 4
@@ -34174,7 +35576,8 @@ L<Test::More>
=back
-=head2 Text::Abbrev, abbrev - create an abbreviation table from a list
+=head2 C:\perl_tl\perl-5.14.2\lib::Text::Abbrev, abbrev - create an
+abbreviation table from a list
=over 4
@@ -34186,7 +35589,8 @@ L<Test::More>
=back
-=head2 Text::Balanced - Extract delimited text sequences from strings.
+=head2 C:\perl_tl\perl-5.14.2\lib::Text::Balanced, Text::Balanced - Extract
+delimited text sequences from strings.
=over 4
@@ -34261,8 +35665,8 @@ tag>
=back
-=head2 Text::ParseWords - parse text into an array of tokens or array of
-arrays
+=head2 C:\perl_tl\perl-5.14.2\lib::Text::ParseWords, Text::ParseWords -
+parse text into an array of tokens or array of arrays
=over 4
@@ -34276,7 +35680,8 @@ arrays
=back
-=head2 Text::Soundex - Implementation of the soundex algorithm.
+=head2 C:\perl_tl\perl-5.14.2\lib::Text::Soundex, Text::Soundex -
+Implementation of the soundex algorithm.
=over 4
@@ -34294,8 +35699,8 @@ arrays
=back
-=head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
-unexpand(1)
+=head2 C:\perl_tl\perl-5.14.2\lib::Text::Tabs, Text::Tabs -- expand and
+unexpand tabs per the unix expand(1) and unexpand(1)
=over 4
@@ -34309,7 +35714,8 @@ unexpand(1)
=back
-=head2 Text::Wrap - line wrapping to form simple paragraphs
+=head2 C:\perl_tl\perl-5.14.2\lib::Text::Wrap, Text::Wrap - line wrapping
+to form simple paragraphs
=over 4
@@ -34327,7 +35733,8 @@ unexpand(1)
=back
-=head2 Thread - Manipulate threads in Perl (for old code only)
+=head2 C:\perl_tl\perl-5.14.2\lib::Thread, Thread - Manipulate threads in
+Perl (for old code only)
=over 4
@@ -34357,7 +35764,8 @@ lock(\&sub), eval, flags
=back
-=head2 Thread::Queue - Thread-safe queues
+=head2 C:\perl_tl\perl-5.14.2\lib::Thread::Queue, Thread::Queue -
+Thread-safe queues
=over 4
@@ -34396,7 +35804,8 @@ above
=back
-=head2 Thread::Semaphore - Thread-safe semaphores
+=head2 C:\perl_tl\perl-5.14.2\lib::Thread::Semaphore, Thread::Semaphore -
+Thread-safe semaphores
=over 4
@@ -34408,7 +35817,9 @@ above
=item METHODS
-->new(), ->new(NUMBER), ->down(), ->down(NUMBER), ->up(), ->up(NUMBER)
+->new(), ->new(NUMBER), ->down(), ->down(NUMBER), ->down_nb(),
+->down_nb(NUMBER), ->down_force(), ->down_force(NUMBER), ->up(),
+->up(NUMBER)
=item NOTES
@@ -34420,26 +35831,8 @@ above
=back
-=head2 Tie-Memoize::lib::Tie::Memoize, Tie::Memoize - add data to hash when
-needed
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item Inheriting from B<Tie::Memoize>
-
-=item EXAMPLE
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 Tie::Array - base class for tied arrays
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Array, Tie::Array - base class for
+tied arrays
=over 4
@@ -34458,7 +35851,8 @@ SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
=back
-=head2 Tie::File - Access the lines of a disk file via a Perl array
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::File, Tie::File - Access the lines
+of a disk file via a Perl array
=over 4
@@ -34526,7 +35920,8 @@ SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
=back
-=head2 Tie::Handle - base class definitions for tied handles
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Handle, Tie::Handle - base class
+definitions for tied handles
=over 4
@@ -34545,8 +35940,8 @@ EOF this, TELL this, SEEK this, offset, whence, DESTROY this
=back
-=head2 Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for
-tied hashes
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Hash, Tie::Hash, Tie::StdHash,
+Tie::ExtraHash - base class definitions for tied hashes
=over 4
@@ -34568,7 +35963,8 @@ this, SCALAR this
=back
-=head2 Tie::Hash::NamedCapture - Named regexp capture buffers
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Hash::NamedCapture,
+Tie::Hash::NamedCapture - Named regexp capture buffers
=over 4
@@ -34580,7 +35976,8 @@ this, SCALAR this
=back
-=head2 Tie::Memoize - add data to hash when needed
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Memoize, Tie::Memoize - add data to
+hash when needed
=over 4
@@ -34598,7 +35995,8 @@ this, SCALAR this
=back
-=head2 Tie::RefHash - use references as hash keys
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::RefHash, Tie::RefHash - use
+references as hash keys
=over 4
@@ -34614,6 +36012,8 @@ this, SCALAR this
=item RELIC SUPPORT
+=item LICENSE
+
=item MAINTAINER
=item AUTHOR
@@ -34622,8 +36022,8 @@ this, SCALAR this
=back
-=head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
-scalars
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Scalar, Tie::Scalar, Tie::StdScalar
+- base class definitions for tied scalars
=over 4
@@ -34643,7 +36043,8 @@ TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
=back
-=head2 Tie::StdHandle - base class definitions for tied handles
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::StdHandle, Tie::StdHandle - base
+class definitions for tied handles
=over 4
@@ -34653,7 +36054,8 @@ TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
=back
-=head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
+=head2 C:\perl_tl\perl-5.14.2\lib::Tie::SubstrHash, Tie::SubstrHash -
+Fixed-table-size, fixed-key-length hashing
=over 4
@@ -34665,45 +36067,8 @@ TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
=back
-=head2 Time-Localib::Time::Local, Time::Local - efficiently compute time
-from local and GMT time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item FUNCTIONS
-
-=over 4
-
-=item C<timelocal()> and C<timegm()>
-
-=item C<timelocal_nocheck()> and C<timegm_nocheck()>
-
-=item Year Value Interpretation
-
-=item Ambiguous Local Times (DST)
-
-=item Non-Existent Local Times (DST)
-
-=back
-
-=item IMPLEMENTATION
-
-=item BUGS
-
-=item SUPPORT
-
-=item COPYRIGHT
-
-=item AUTHOR
-
-=back
-
-=head2 Time::HiRes - High resolution alarm, sleep, gettimeofday, interval
-timers
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::HiRes, Time::HiRes - High
+resolution alarm, sleep, gettimeofday, interval timers
=over 4
@@ -34749,7 +36114,8 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=back
-=head2 Time::Local - efficiently compute time from local and GMT time
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::Local, Time::Local - efficiently
+compute time from local and GMT time
=over 4
@@ -34767,10 +36133,14 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=item Year Value Interpretation
+=item Limits of time_t
+
=item Ambiguous Local Times (DST)
=item Non-Existent Local Times (DST)
+=item Negative Epoch Values
+
=back
=item IMPLEMENTATION
@@ -34785,7 +36155,8 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=back
-=head2 Time::Piece - Object Oriented time objects
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::Piece, Time::Piece - Object
+Oriented time objects
=over 4
@@ -34819,6 +36190,8 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=item Setting $ENV{TZ} in Threads on Win32
+=item Use of epoch seconds
+
=back
=item AUTHOR
@@ -34831,7 +36204,8 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=back
-=head2 Time::Seconds - a simple API to convert seconds to other date values
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::Seconds, Time::Seconds - a simple
+API to convert seconds to other date values
=over 4
@@ -34849,8 +36223,8 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=back
-=head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
-function
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::gmtime, Time::gmtime - by-name
+interface to Perl's built-in gmtime() function
=over 4
@@ -34864,8 +36238,8 @@ function
=back
-=head2 Time::localtime - by-name interface to Perl's built-in localtime()
-function
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::localtime, Time::localtime -
+by-name interface to Perl's built-in localtime() function
=over 4
@@ -34879,7 +36253,8 @@ function
=back
-=head2 Time::tm - internal object used by Time::gmtime and Time::localtime
+=head2 C:\perl_tl\perl-5.14.2\lib::Time::tm, Time::tm - internal object
+used by Time::gmtime and Time::localtime
=over 4
@@ -34891,7 +36266,8 @@ function
=back
-=head2 UNIVERSAL - base class for ALL classes (blessed references)
+=head2 C:\perl_tl\perl-5.14.2\lib::UNIVERSAL, UNIVERSAL - base class for
+ALL classes (blessed references)
=over 4
@@ -34910,7 +36286,8 @@ METHOD ) >>, C<< eval { VAL->can( METHOD ) } >>, C<VERSION ( [ REQUIRE ] )>
=back
-=head2 Unicode::Collate - Unicode Collation Algorithm
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate, Unicode::Collate -
+Unicode Collation Algorithm
=over 4
@@ -34924,8 +36301,8 @@ METHOD ) >>, C<< eval { VAL->can( METHOD ) } >>, C<VERSION ( [ REQUIRE ] )>
UCA_Version, alternate, backwards, entry, hangul_terminator, ignoreChar,
ignoreName, katakana_before_hiragana, level, normalization, overrideCJK,
-overrideHangul, preprocess, rearrange, table, undefChar, undefName,
-upper_before_lower, variable
+overrideHangul, preprocess, rearrange, suppress, table, undefChar,
+undefName, upper_before_lower, variable
=item Methods for Collation
@@ -34949,7 +36326,8 @@ $Collator-E<gt>gsubst($string, $substring, $replacement)>
=item Other Methods
-C<%old_tailoring = $Collator-E<gt>change(%new_tailoring)>, C<$version =
+C<%old_tailoring = $Collator-E<gt>change(%new_tailoring)>,
+C<$modified_collator = $Collator-E<gt>change(%new_tailoring)>, C<$version =
$Collator-E<gt>version()>, C<UCA_Version()>, C<Base_Unicode_Version()>
=back
@@ -34968,11 +36346,156 @@ Normalization, Conformance Test
Unicode Collation Algorithm - UTS #10, The Default Unicode Collation
Element Table (DUCET), The conformance test for the UCA, Hangul Syllable
-Type, Unicode Normalization Forms - UAX #15
+Type, Unicode Normalization Forms - UAX #15, Unicode Locale Data Markup
+Language (LDML) - UTS #35
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Big5,
+Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
+Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::GB2312,
+Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item CAVEAT
+
+=item SEE ALSO
+
+CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
+Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::JISX0208,
+Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+L<Unicode::Collate>, L<Unicode::Collate::Locale>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Korean,
+Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
+Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Pinyin,
+Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item CAVEAT
+
+=item SEE ALSO
+
+CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
+Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Stroke,
+Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs
+for Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+CLDR - Unicode Common Locale Data Repository, Unicode Locale Data Markup
+Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 Unicode::Normalize - Unicode Normalization Forms
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::Locale,
+Unicode::Collate::Locale - Linguistic tailoring for DUCET via
+Unicode::Collate
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Constructor
+
+=item Methods
+
+C<$Collator-E<gt>getlocale>
+
+=item A list of tailorable locales
+
+=back
+
+=item INSTALL
+
+=item CAVEAT
+
+tailoring is not maximum
+
+=item AUTHOR
+
+=item SEE ALSO
+
+Unicode Collation Algorithm - UTS #10, The Default Unicode Collation
+Element Table (DUCET), Unicode Locale Data Markup Language (LDML) - UTS
+#35, CLDR - Unicode Common Locale Data Repository, L<Unicode::Collate>,
+L<Unicode::Normalize>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Normalize, Unicode::Normalize -
+Unicode Normalization Forms
=over 4
@@ -34993,7 +36516,11 @@ C<$normalized_string = normalize($form_name, $string)>
C<$decomposed_string = decompose($string [, $useCompatMapping])>,
C<$reordered_string = reorder($string)>, C<$composed_string =
-compose($string)>
+compose($string)>, C<($processed, $unprocessed) =
+splitOnLastStarter($normalized)>, C<$processed = normalize_partial($form,
+$unprocessed)>, C<$processed = NFD_partial($unprocessed)>, C<$processed =
+NFC_partial($unprocessed)>, C<$processed = NFKD_partial($unprocessed)>,
+C<$processed = NFKC_partial($unprocessed)>
=item Quick Check
@@ -35039,7 +36566,8 @@ http://www.unicode.org/review/pr-29.html, http://www.unicode.org/notes/tn5/
=back
-=head2 Unicode::UCD - Unicode character database
+=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::UCD, Unicode::UCD - Unicode
+character database
=over 4
@@ -35121,7 +36649,7 @@ B<code>, B<full>, B<simple>, B<mapping>, B<status>, B<*>, B<*>, B<turkic>
=item B<casespec()>
-B<code>, B<lower>, B<title>, B<lower>, B<condition>
+B<code>, B<lower>, B<title>, B<upper>, B<condition>
=back
@@ -35133,6 +36661,12 @@ B<code>, B<lower>, B<title>, B<lower>, B<condition>
=over 4
+=item num
+
+=back
+
+=over 4
+
=item Unicode::UCD::UnicodeVersion
=back
@@ -35155,8 +36689,8 @@ B<code>, B<lower>, B<title>, B<lower>, B<condition>
=back
-=head2 User::grent - by-name interface to Perl's built-in getgr*()
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::User::grent, User::grent - by-name
+interface to Perl's built-in getgr*() functions
=over 4
@@ -35170,8 +36704,8 @@ functions
=back
-=head2 User::pwent - by-name interface to Perl's built-in getpw*()
-functions
+=head2 C:\perl_tl\perl-5.14.2\lib::User::pwent, User::pwent - by-name
+interface to Perl's built-in getpw*() functions
=over 4
@@ -35195,55 +36729,8 @@ March 18th, 2000
=back
-=head2 VMS-DCLsym, VMS::DCLsym - Perl extension to manipulate DCL symbols
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Tied hash interface
-
-=item Object interface
-
-new, getsym, setsym, delsym, clearcache
-
-=back
-
-=item AUTHOR
-
-=item VERSION
-
-=item BUGS
-
-=back
-
-=head2 VMS-Stdio, VMS::Stdio - standard I/O functions via VMS extensions
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-binmode, flush, getname, remove, rewind, setdef, sync, tmpnam, vmsopen,
-alq=INTEGER, bls=INTEGER, ctx=STRING, bin, cvt, nocvt, rec, stm, xplct,
-deq=INTEGER, dna=FILESPEC, fop=STRING, ctg, cbt, dfw, dlt, tef, cif, sup,
-scf, spl, tmd, tmp, nef, rck, wck, mxv, rwo, pos, rwc, sqo, fsz=INTEGER,
-gbc=INTEGER, mbc=INTEGER, mbf=INTEGER, mrs=INTEGER, rat=STRING, cr, blk,
-ftn, none, prn, rfm=STRING, fix, stm, stmlf, stmcr, var, vfc, udf,
-rop=STRING, asy, cco, cvt, eof, nlk, pmt, pta, rea, rlk, rne, rnf, rrl,
-syncsts, tmo, tpt, ulk, wat, rah, wbh, rtv=INTEGER, shr=STRING, del, get,
-mse, nil, put, upd, upi, tmo=INTEGER, vmssysopen, waitfh, writeof
-
-=item REVISION
-
-=back
-
-=head2 Win32 - Interfaces to some Win32 API Functions
+=head2 C:\perl_tl\perl-5.14.2\lib::Win32, Win32 - Interfaces to some Win32
+API Functions
=over 4
@@ -35263,12 +36750,15 @@ Win32::GetChipName(), Win32::GetCwd(), Win32::GetCurrentProcessId(),
Win32::GetCurrentThreadId(), Win32::GetFileVersion(FILENAME),
Win32::GetFolderPath(FOLDER [, CREATE]), Win32::GetFullPathName(FILENAME),
Win32::GetLastError(), Win32::GetLongPathName(PATHNAME),
-Win32::GetNextAvailDrive(), Win32::GetOSVersion(), Win32::GetOSName(),
-Win32::GetShortPathName(PATHNAME), Win32::GetProcAddress(INSTANCE,
-PROCNAME), Win32::GetTickCount(), Win32::GuidGen(), Win32::IsAdminUser(),
-Win32::IsWinNT(), Win32::IsWin95(), Win32::LoadLibrary(LIBNAME),
-Win32::LoginName(), Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID,
-SIDTYPE), Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE),
+Win32::GetNextAvailDrive(), Win32::GetOSDisplayName(), Win32::GetOSName(),
+Win32::GetOSVersion(), Win32::GetShortPathName(PATHNAME),
+Win32::GetSystemMetrics(INDEX), Win32::GetProcAddress(INSTANCE, PROCNAME),
+Win32::GetProductInfo(OSMAJOR, OSMINOR, SPMAJOR, SPMINOR),
+Win32::GetTickCount(), Win32::GuidGen(), Win32::InitiateSystemShutdown,
+Win32::IsAdminUser(), Win32::IsWinNT(), Win32::IsWin95(),
+Win32::LoadLibrary(LIBNAME), Win32::LoginName(),
+Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE),
+Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE),
Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]]), Win32::NodeName(),
Win32::OutputDebugString(STRING), Win32::RegisterServer(LIBRARYNAME),
Win32::SetChildShowWindow(SHOWWINDOW), Win32::SetCwd(NEWDIRECTORY),
@@ -35279,8 +36769,8 @@ PID), Win32::UnregisterServer(LIBRARYNAME)
=back
-=head2 Win32API::File - Low-level access to Win32 system API calls for
-files/dirs.
+=head2 C:\perl_tl\perl-5.14.2\lib::Win32API::File, Win32API::File -
+Low-level access to Win32 system API calls for files/dirs.
=over 4
@@ -35415,7 +36905,8 @@ C<":SEM_">, C<":PARTITION_">, C<":ALL">
=back
-=head2 Win32CORE - Win32 CORE function stubs
+=head2 C:\perl_tl\perl-5.14.2\lib::Win32CORE, Win32CORE - Win32 CORE
+function stubs
=over 4
@@ -35425,37 +36916,52 @@ C<":SEM_">, C<":PARTITION_">, C<":ALL">
=back
-=head2 XS-APItest, XS::APItest - Test the perl C API
+=head2 C:\perl_tl\perl-5.14.2\lib::XSLoader, XSLoader - Dynamically load C
+libraries into Perl code
=over 4
-=item SYNOPSIS
+=item VERSION
-=item ABSTRACT
+=item SYNOPSIS
=item DESCRIPTION
=over 4
-=item EXPORT
+=item Migration from C<DynaLoader>
+
+=item Backward compatible boilerplate
+
+=back
+
+=item Order of initialization: early load()
-B<print_double>, B<print_long_double>, B<have_long_double>, B<print_nv>,
-B<print_iv>, B<print_uv>, B<print_int>, B<print_long>, B<print_float>,
-B<call_sv>, B<call_pv>, B<call_method>, B<eval_sv>, B<eval_pv>,
-B<require_pv>
+=over 4
+
+=item The most hairy case
=back
+=item DIAGNOSTICS
+
+C<Can't find '%s' symbol in %s>, C<Can't load '%s' for module %s: %s>,
+C<Undefined symbols present after loading %s: %s>
+
+=item LIMITATIONS
+
+=item BUGS
+
=item SEE ALSO
=item AUTHORS
-=item COPYRIGHT AND LICENSE
+=item COPYRIGHT & LICENSE
=back
-=head2 XS-APItest-KeywordRPN, XS::APItest::KeywordRPN - write arithmetic
-expressions in RPN
+=head2 C:\perl_tl\perl-5.14.2\lib::attributes, attributes - get/set
+subroutine or variable attributes
=over 4
@@ -35465,35 +36971,155 @@ expressions in RPN
=over 4
-=item RPN expression syntax
+=item What C<import> does
-C<1234>, C<$foo>, I<A> I<B> C<+>, I<A> I<B> C<->, I<A> I<B> C<*>, I<A> I<B>
-C</>, I<A> I<B> C<%>
+=item Built-in Attributes
+
+lvalue, method, locked
+
+=item Available Subroutines
+
+get, reftype
+
+=item Package-specific Attribute Handling
+
+FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
+
+=item Syntax of Attribute Lists
=back
+=item EXPORTS
+
+=over 4
+
+=item Default exports
+
+=item Available exports
+
+=item Export tags defined
+
+=back
+
+=item EXAMPLES
+
+=item MORE EXAMPLES
+
+=item SEE ALSO
+
=back
+=head2 C:\perl_tl\perl-5.14.2\lib::autodie, autodie - Replace functions
+with ones that succeed or die with lexical scope
+
=over 4
-=item OPERATORS
+=item SYNOPSIS
+
+=item DESCRIPTION
-rpn(EXPRESSION), calcrpn VARIABLE { EXPRESSION }
+=item EXCEPTIONS
+
+=item CATEGORIES
+
+=item FUNCTION SPECIFIC NOTES
+
+=over 4
+
+=item flock
+
+=item system/exec
+
+=back
+
+=item GOTCHAS
+
+=item DIAGNOSTICS
+
+:void cannot be used with lexical scope, No user hints defined for %s
=item BUGS
+=over 4
+
+=item autodie and string eval
+
+=item REPORTING BUGS
+
+=back
+
+=item FEEDBACK
+
+=item AUTHOR
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item ACKNOWLEDGEMENTS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::autodie::exception, autodie::exception -
+Exceptions from autodying functions.
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Common Methods
+
+=back
+
+=back
+
+=over 4
+
+=item Advanced methods
+
+=back
+
+=over 4
+
=item SEE ALSO
+=item LICENSE
+
=item AUTHOR
-=item COPYRIGHT
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::autodie::exception::system,
+autodie::exception::system - Exceptions from autodying system().
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=over 4
+
+=item stringify
+
+=back
+
+=over 4
=item LICENSE
+=item AUTHOR
+
=back
-=head2 XS-Typemap, XS::Typemap - module to test the XS typemaps distributed
-with perl
+=head2 C:\perl_tl\perl-5.14.2\lib::autodie::hints, autodie::hints - Provide
+hints about user subroutines to autodie
=over 4
@@ -35501,60 +37127,1393 @@ with perl
=item DESCRIPTION
+=over 4
+
+=item Introduction
+
+=item What are hints?
+
+=item Example hints
+
+=back
+
+=item Manually setting hints from within your program
+
+=item Adding hints to your module
+
+=item Insisting on hints
+
=back
=over 4
-=item NOTES
+=item Diagnostics
+
+Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be
+provided with either scalar or list hints for %s, %s hint missing for %s
+
+=item ACKNOWLEDGEMENTS
=item AUTHOR
+=item LICENSE
+
+=item SEE ALSO
+
=back
-=head2 XSLoader - Dynamically load C libraries into Perl code
+=head2 C:\perl_tl\perl-5.14.2\lib::autouse, autouse - postpone load of
+modules until a function is used
=over 4
-=item VERSION
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item WARNING
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::base, base - Establish an ISA
+relationship with base classes at compile time
+
+=over 4
=item SYNOPSIS
=item DESCRIPTION
+=item DIAGNOSTICS
+
+Base class package "%s" is empty, Class 'Foo' tried to inherit from itself
+
+=item HISTORY
+
+=item CAVEATS
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::bigint, bigint - Transparent BigInteger
+support for Perl
+
=over 4
-=item Migration from C<DynaLoader>
+=item SYNOPSIS
-=item Backward compatible boilerplate
+=item DESCRIPTION
+
+=over 4
+
+=item use integer vs. use bigint
+
+=item Options
+
+a or accuracy, p or precision, t or trace, hex, oct, l, lib, try or only, v
+or version
+
+=item Math Library
+
+=item Internal Format
+
+=item Sign
+
+=item Methods
+
+inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
+
+=item MATH LIBRARY
+
+=item Caveat
=back
-=item Order of initialization: early load()
+=item CAVEATS
+
+in_effect(), hex()/oct()
+
+=item MODULES USED
+
+=item EXAMPLES
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::bignum, bignum - Transparent BigNumber
+support for Perl
=over 4
-=item The most hairy case
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Options
+
+a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
+
+=item Methods
+
+=item Caveats
+
+inf(), NaN(), e, PI(), bexp(), bpi(), upgrade(), in_effect()
+
+=item Math Library
+
+=item INTERNAL FORMAT
+
+=item SIGN
=back
-=item DIAGNOSTICS
+=item CAVEATS
-C<Can't find '%s' symbol in %s>, C<Can't load '%s' for module %s: %s>,
-C<Undefined symbols present after loading %s: %s>,
-C<XSLoader::load('Your::Module', $Your::Module::VERSION)>
+in_effect(), hex()/oct()
+
+=item MODULES USED
+
+=item EXAMPLES
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::bigrat, bigrat - Transparent
+BigNumber/BigRational support for Perl
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Modules Used
+
+=item Math Library
+
+=item Sign
+
+=item Methods
+
+inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
+
+=item MATH LIBRARY
+
+=item Caveat
+
+=item Options
+
+a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
+
+=back
+
+=item CAVEATS
+
+in_effect(), hex()/oct()
+
+=item EXAMPLES
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::blib, blib - Use MakeMaker's uninstalled
+version of a package
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item BUGS
+
+=item AUTHOR
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::bytes, bytes - Perl pragma to force byte
+semantics rather than character semantics
+
+=over 4
+
+=item NOTICE
+
+=item SYNOPSIS
+
+=item DESCRIPTION
=item LIMITATIONS
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::charnames, charnames - access to Unicode
+character names and named character sequences; also define character names
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item ALIASES
+
+=item CUSTOM ALIASES
+
+=item charnames::viacode(I<code>)
+
+=item charnames::string_vianame(I<name>)
+
+=item charnames::vianame(I<name>)
+
+=item CUSTOM TRANSLATORS
+
=item BUGS
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::constant, constant - Perl pragma to
+declare constants
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item NOTES
+
+=over 4
+
+=item List constants
+
+=item Defining multiple constants at once
+
+=item Magic constants
+
+=back
+
+=item TECHNICAL NOTES
+
+=item CAVEATS
+
=item SEE ALSO
+=item BUGS
+
=item AUTHORS
=item COPYRIGHT & LICENSE
=back
+=head2 C:\perl_tl\perl-5.14.2\lib::deprecate, deprecate - Perl pragma for
+deprecating the core version of a module
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item EXPORT
+
+=back
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::diagnostics, diagnostics, splain -
+produce verbose warning diagnostics
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item The C<diagnostics> Pragma
+
+=item The I<splain> Program
+
+=back
+
+=item EXAMPLES
+
+=item INTERNALS
+
+=item BUGS
+
+=item AUTHOR
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::encoding, encoding - allows you to write
+your script in non-ascii or non-utf8
+
+=over 4
+
+=item SYNOPSIS
+
+=item ABSTRACT
+
+=over 4
+
+=item Literal Conversions
+
+=item PerlIO layers for C<STD(IN|OUT)>
+
+=item Implicit upgrading for byte strings
+
+=item Side effects
+
+=back
+
+=item FEATURES THAT REQUIRE 5.8.1
+
+"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle
+
+=item USAGE
+
+use encoding [I<ENCNAME>] ;, use encoding I<ENCNAME> [ STDIN =E<gt>
+I<ENCNAME_IN> ...] ;, use encoding I<ENCNAME> Filter=E<gt>1;, no encoding;
+
+=item The Filter Option
+
+=over 4
+
+=item Filter-related changes at Encode version 1.87
+
+=back
+
+=item CAVEATS
+
+=over 4
+
+=item NOT SCOPED
+
+=item DO NOT MIX MULTIPLE ENCODINGS
+
+=item tr/// with ranges
+
+Legend of characters above
+
+=back
+
+=item EXAMPLE - Greekperl
+
+=item KNOWN PROBLEMS
+
+literals in regex that are longer than 127 bytes, EBCDIC, format, Thread
+safety
+
+=over 4
+
+=item The Logic of :locale
+
+=back
+
+=item HISTORY
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::encoding::warnings, encoding::warnings -
+Warn on implicit encoding conversions
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Overview of the problem
+
+=item Detecting the problem
+
+=item Solving the problem
+
+Upgrade both sides to unicode-strings, Downgrade both sides to
+byte-strings, Specify the encoding for implicit byte-string upgrading,
+PerlIO layers for B<STDIN> and B<STDOUT>, Literal conversions, Implicit
+upgrading for byte-strings
+
+=back
+
+=item CAVEATS
+
+=back
+
+=over 4
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=item COPYRIGHT
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::feature, feature - Perl pragma to enable
+new features
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Lexical effect
+
+=item C<no feature>
+
+=item The 'switch' feature
+
+=item The 'say' feature
+
+=item the 'state' feature
+
+=item the 'unicode_strings' feature
+
+=back
+
+=item FEATURE BUNDLES
+
+=item IMPLICIT LOADING
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::fields, fields - compile-time class
+fields
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+new, phash
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::filetest, filetest - Perl pragma to
+control the filetest permission operators
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Consider this carefully
+
+=item The "access" sub-pragma
+
+=item Limitation with regard to C<_>
+
+=back
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::if, if - C<use> a Perl module if a
+condition holds
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item BUGS
+
+=item AUTHOR
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::inc::latest, inc::latest - use modules
+bundled in inc/ if they are newer than installed ones
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Special notes on bundling
+
+=back
+
+=item USAGE
+
+=over 4
+
+=item Author-mode
+
+loaded_modules(), write(), bundle_module()
+
+=item As bundled in inc/
+
+=back
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::integer, integer - Perl pragma to use
+integer arithmetic instead of floating point
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::less, less - perl pragma to request less
+of something
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item FOR MODULE AUTHORS
+
+=over 4
+
+=item C<< BOOLEAN = less->of( FEATURE ) >>
+
+=item C<< FEATURES = less->of() >>
+
+=back
+
+=item CAVEATS
+
+This probably does nothing, This works only on 5.10+
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::lib, lib - manipulate @INC at compile
+time
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Adding directories to @INC
+
+=item Deleting directories from @INC
+
+=item Restoring original @INC
+
+=back
+
+=item CAVEATS
+
+=item NOTES
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::locale, locale - Perl pragma to use and
+avoid POSIX locales for built-in operations
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::mro, mro - Method Resolution Order
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item OVERVIEW
+
+=item The C3 MRO
+
+=over 4
+
+=item What is C3?
+
+=item How does C3 work
+
+=back
+
+=item Functions
+
+=over 4
+
+=item mro::get_linear_isa($classname[, $type])
+
+=item mro::set_mro ($classname, $type)
+
+=item mro::get_mro($classname)
+
+=item mro::get_isarev($classname)
+
+=item mro::is_universal($classname)
+
+=item mro::invalidate_all_method_caches()
+
+=item mro::method_changed_in($classname)
+
+=item mro::get_pkg_gen($classname)
+
+=item next::method
+
+=item next::can
+
+=item maybe::next::method
+
+=back
+
+=item SEE ALSO
+
+=over 4
+
+=item The original Dylan paper
+
+L<http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>
+
+=item Pugs
+
+=item Parrot
+
+L<http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631>,
+L<http://use.perl.org/~autrijus/journal/25768>
+
+=item Python 2.3 MRO related links
+
+L<http://www.python.org/2.3/mro.html>,
+L<http://www.python.org/2.2.2/descrintro.html#mro>
+
+=item C3 for TinyCLOS
+
+L<http://www.call-with-current-continuation.org/eggs/c3.html>
+
+=item Class::C3
+
+L<Class::C3>
+
+=back
+
+=item AUTHOR
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::open, open - perl pragma to set default
+PerlIO layers for input and output
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item NONPERLIO FUNCTIONALITY
+
+=item IMPLEMENTATION DETAILS
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::ops, ops - Perl pragma to restrict
+unsafe operations when compiling
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::overload, overload - Package for
+overloading Perl operations
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Fundamentals
+
+=item Overloadable Operations
+
+C<not>, C<neg>, C<++>, C<-->, I<Assignments>, I<Non-mutators with a mutator
+variant>, C<int>, I<String, numeric, boolean, and regexp conversions>,
+I<Iteration>, I<File tests>, I<Matching>, I<Dereferencing>, I<Special>
+
+=item Magic Autogeneration
+
+=item Special Keys for C<use overload>
+
+defined, but FALSE, C<undef>, TRUE
+
+=item How Perl Chooses an Operator Implementation
+
+=item Losing Overloading
+
+=item Inheritance and Overloading
+
+Method names in the C<use overload> directive, Overloading of an operation
+is inherited by derived classes
+
+=item Run-time Overloading
+
+=item Public Functions
+
+overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
+
+=item Overloading Constants
+
+integer, float, binary, q, qr
+
+=back
+
+=item IMPLEMENTATION
+
+=item COOKBOOK
+
+=over 4
+
+=item Two-face Scalars
+
+=item Two-face References
+
+=item Symbolic Calculator
+
+=item I<Really> Symbolic Calculator
+
+=back
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=item DIAGNOSTICS
+
+Odd number of arguments for overload::constant, `%s' is not an overloadable
+type, `%s' is not a code reference
+
+=item BUGS AND PITFALLS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::overloading, overloading - perl pragma
+to lexically control overloading
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+C<no overloading>, C<no overloading @ops>, C<use overloading>, C<use
+overloading @ops>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::parent, parent - Establish an ISA
+relationship with base classes at compile time
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item DIAGNOSTICS
+
+Class 'Foo' tried to inherit from itself
+
+=item HISTORY
+
+=item CAVEATS
+
+=item SEE ALSO
+
+=item AUTHORS AND CONTRIBUTORS
+
+=item MAINTAINER
+
+=item LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::re, re - Perl pragma to alter regular
+expression behaviour
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item 'taint' mode
+
+=item 'eval' mode
+
+=item '/flags' mode
+
+=item 'debug' mode
+
+=item 'Debug' mode
+
+Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, Execute
+related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options,
+EXTRA, BUFFERS, TRIEM, STATE, STACK, OPTIMISEM, OFFSETS, OFFSETSDBG, Other
+useful flags, ALL, All, MORE, More
+
+=item Exportable Functions
+
+is_regexp($ref), regexp_pattern($ref), regmust($ref), regname($name,$all),
+regnames($all), regnames_count()
+
+=back
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::sigtrap, sigtrap - Perl pragma to enable
+simple signal handling
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item OPTIONS
+
+=over 4
+
+=item SIGNAL HANDLERS
+
+B<stack-trace>, B<die>, B<handler> I<your-handler>
+
+=item SIGNAL LISTS
+
+B<normal-signals>, B<error-signals>, B<old-interface-signals>
+
+=item OTHER
+
+B<untrapped>, B<any>, I<signal>, I<number>
+
+=back
+
+=item EXAMPLES
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::sort, sort - perl pragma to control
+sort() behaviour
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item CAVEATS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::strict, strict - Perl pragma to restrict
+unsafe constructs
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+C<strict refs>, C<strict vars>, C<strict subs>
+
+=item HISTORY
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::subs, subs - Perl pragma to predeclare
+sub names
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::threads, threads - Perl
+interpreter-based threads
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+$thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(),
+threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr",
+threads->object($tid), threads->yield(), threads->list(),
+threads->list(threads::all), threads->list(threads::running),
+threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;,
+$thr->error(), $thr->_handle(), threads->_handle()
+
+=item EXITING A THREAD
+
+threads->exit(), threads->exit(status), die(), exit(status), use threads
+'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...),
+$thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)
+
+=item THREAD STATE
+
+$thr->is_running(), $thr->is_joinable(), $thr->is_detached(),
+threads->is_detached()
+
+=item THREAD CONTEXT
+
+=over 4
+
+=item Explicit context
+
+=item Implicit context
+
+=item $thr->wantarray()
+
+=item threads->wantarray()
+
+=back
+
+=item THREAD STACK SIZE
+
+threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size =
+threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);,
+$ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE},
+FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)
+
+=item THREAD SIGNALLING
+
+$thr->kill('SIG...');
+
+=item WARNINGS
+
+Perl exited with active threads:, Thread creation failed: pthread_create
+returned #, Thread # terminated abnormally: .., Using minimum thread stack
+size of #, Thread creation failed: pthread_attr_setstacksize(I<SIZE>)
+returned 22
+
+=item ERRORS
+
+This Perl not built to support threads, Cannot change stack size of an
+existing thread, Cannot signal threads without safe signals, Unrecognized
+signal name: ..
+
+=item BUGS AND LIMITATIONS
+
+Thread-safe modules, Using non-thread-safe modules, Memory consumption,
+Current working directory, Environment variables, Parent-child threads,
+Creating threads inside special blocks, Unsafe signals, Perl has been built
+with C<PERL_OLD_SIGNALS> (see C<perl -V>), The environment variable
+C<PERL_SIGNALS> is set to C<unsafe> (see L<perlrun/"PERL_SIGNALS">), The
+module L<Perl::Unsafe::Signals> is used, Returning closures from threads,
+Returning objects from threads, END blocks in threads, Open directory
+handles, Perl Bugs and the CPAN Version of L<threads>
+
+=item REQUIREMENTS
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item LICENSE
+
+=item ACKNOWLEDGEMENTS
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::threads::shared, threads::shared - Perl
+extension for sharing data structures between threads
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item EXPORT
+
+=item FUNCTIONS
+
+share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE,
+cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE,
+ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal
+VARIABLE, cond_broadcast VARIABLE
+
+=item OBJECTS
+
+=item NOTES
+
+=item BUGS AND LIMITATIONS
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::utf8, utf8 - Perl pragma to
+enable/disable UTF-8 (or UTF-EBCDIC) in source code
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Utility functions
+
+$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[,
+FAIL_OK]), utf8::encode($string), $success = utf8::decode($string), $flag =
+utf8::is_utf8(STRING), $flag = utf8::valid(STRING)
+
+=back
+
+=item BUGS
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::vars, vars - Perl pragma to predeclare
+global variable names (obsolete)
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::version, version - Perl extension for
+Version Objects
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item TYPES OF VERSION OBJECTS
+
+Decimal Versions, Dotted Decimal Versions
+
+=item DECLARING VERSIONS
+
+=over 4
+
+=item How to convert a module from decimal to dotted-decimal
+
+=item How to C<declare()> a dotted-decimal version
+
+=back
+
+=item PARSING AND COMPARING VERSIONS
+
+=over 4
+
+=item How to C<parse()> a version
+
+=item How to check for a legal version string
+
+C<is_lax()>, C<is_strict()>
+
+=item How to compare version objects
+
+=back
+
+=item OBJECT METHODS
+
+=over 4
+
+=item is_alpha()
+
+=item is_qv()
+
+=item normal()
+
+=item numify()
+
+=item stringify()
+
+=back
+
+=item EXPORTED FUNCTIONS
+
+=over 4
+
+=item qv()
+
+=item is_lax()
+
+=item is_strict()
+
+=back
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::version::Internals, version::Internals -
+Perl extension for Version Objects
+
+=over 4
+
+=item DESCRIPTION
+
+=item WHAT IS A VERSION?
+
+Decimal Versions, Dotted-Decimal Versions
+
+=over 4
+
+=item Decimal Versions
+
+=item Dotted-Decimal Versions
+
+=item Alpha Versions
+
+=item Regular Expressions for Version Parsing
+
+C<$version::LAX>, C<$version::STRICT>, v1.234.5
+
+=back
+
+=item IMPLEMENTATION DETAILS
+
+=over 4
+
+=item Equivalence between Decimal and Dotted-Decimal Versions
+
+=item Quoting Rules
+
+=item What about v-strings?
+
+=item Version Object Internals
+
+original, qv, alpha, version
+
+=item Replacement UNIVERSAL::VERSION
+
+=back
+
+=item USAGE DETAILS
+
+=over 4
+
+=item Using modules that use version.pm
+
+Decimal versions always work, Dotted-Decimal version work sometimes
+
+=item Object Methods
+
+new(), qv(), Normal Form, Numification, Stringification, Comparison
+operators, Logical Operators
+
+=back
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::version::Requirements,
+Version::Requirements - a set of version requirements for a CPAN dist
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item add_minimum
+
+=item add_maximum
+
+=item add_exclusion
+
+=item exact_version
+
+=item add_requirements
+
+=item accepts_module
+
+=item clear_requirement
+
+=item required_modules
+
+=item clone
+
+=item is_simple
+
+=item is_finalized
+
+=item finalize
+
+=item as_string_hash
+
+=item from_string_hash
+
+=back
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::vmsish, vmsish - Perl pragma to control
+VMS-specific language features
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+C<vmsish status>, C<vmsish exit>, C<vmsish time>, C<vmsish hushed>
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::warnings, warnings - Perl pragma to
+control optional warnings
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+use warnings::register, warnings::enabled(), warnings::enabled($category),
+warnings::enabled($object), warnings::fatal_enabled(),
+warnings::fatal_enabled($category), warnings::fatal_enabled($object),
+warnings::warn($message), warnings::warn($category, $message),
+warnings::warn($object, $message), warnings::warnif($message),
+warnings::warnif($category, $message), warnings::warnif($object, $message),
+warnings::register_categories(@names)
+
+=back
+
+=head2 C:\perl_tl\perl-5.14.2\lib::warnings::register, warnings::register -
+warnings import function
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
=head1 AUXILIARY DOCUMENTATION
Here should be listed all the extra programs' documentation, but they
diff --git a/Master/tlpkg/tlperl/lib/pods/perltodo.pod b/Master/tlpkg/tlperl/lib/pods/perltodo.pod
index 0a03bf41752..de0e373b468 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltodo.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltodo.pod
@@ -5,7 +5,7 @@ perltodo - Perl TO-DO List
=head1 DESCRIPTION
This is a list of wishes for Perl. The most up to date version of this file
-is at http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod
+is at L<http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod>
The tasks we think are smaller or easier are listed first. Anyone is welcome
to work on any of these, but it's a good idea to first contact
@@ -15,9 +15,8 @@ prefer.
Whilst patches to make the list shorter are most welcome, ideas to add to
the list are also encouraged. Check the perl5-porters archives for past
-ideas, and any discussion about them. One set of archives may be found at:
-
- http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
+ideas, and any discussion about them. One set of archives may be found at
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>
What can we offer you in return? Fame, fortune, and everlasting glory? Maybe
not, but if your patch is incorporated, then we'll add your name to the
@@ -26,14 +25,10 @@ programming languages offer you 1 line of immortality?
=head1 Tasks that only need Perl knowledge
-=head2 Improve Porting/cmpVERSION.pl to work from git tags
-
-See F<Porting/release_managers_guide.pod> for a bit more detail.
-
=head2 Migrate t/ from custom TAP generation
Many tests below F<t/> still generate TAP by "hand", rather than using library
-functions. As explained in L<perlhack/Writing a test>, tests in F<t/> are
+functions. As explained in L<perlhack/TESTING>, tests in F<t/> are
written in a particular way to test that more complex constructions actually
work before using them routinely. Hence they don't use C<Test::More>, but
instead there is an intentionally simpler library, F<t/test.pl>. However,
@@ -43,24 +38,6 @@ any of these tests, one at a time, is a useful thing TODO.
The subdirectories F<base>, F<cmd> and F<comp>, that contain the most
basic tests, should be excluded from this task.
-=head2 Test that regen.pl was run
-
-There are various generated files shipped with the perl distribution, for
-things like header files generate from data. The generation scripts are
-written in perl, and all can be run by F<regen.pl>. However, because they're
-written in perl, we can't run them before we've built perl. We can't run them
-as part of the F<Makefile>, because changing files underneath F<make> confuses
-it completely, and we don't want to run them automatically anyway, as they
-change files shipped by the distribution, something we seek not do to.
-
-If someone changes the data, but forgets to re-run F<regen.pl> then the
-generated files are out of sync. It would be good to have a test in
-F<t/porting> that checks that the generated files are in sync, and fails
-otherwise, to alert someone before they make a poor commit. I suspect that this
-would require adapting the scripts run from F<regen.pl> to have dry-run
-options, and invoking them with these, or by refactoring them into a library
-that does the generation, which can be called by the scripts, and by the test.
-
=head2 Automate perldelta generation
The perldelta file accompanying each release summaries the major changes.
@@ -150,14 +127,6 @@ do so. Test it with older perl releases, and fix the problems you find.
To make a minimal perl distribution, it's useful to look at
F<t/lib/commonsense.t>.
-=head2 Move dual-life pod/*.PL into ext
-
-Nearly all the dual-life modules have been moved to F<ext>. However, we
-still need to move F<pod/*.PL> into their respective directories
-in F<ext/>. They're referenced by (at least) C<plextract> in F<Makefile.SH>
-and C<utils> in F<win32/Makefile> and F<win32/makefile.ml>, and listed
-explicitly in F<win32/pod.mak>, F<vms/descrip_mms.template> and F<utils.lst>
-
=head2 POSIX memory footprint
Ilya observed that use POSIX; eats memory like there's no tomorrow, and at
@@ -201,7 +170,7 @@ The F<installman> script is slow. All it is doing text processing, which we're
told is something Perl is good at. So it would be nice to know what it is doing
that is taking so much CPU, and where possible address it.
-=head2 enable lexical enabling/disabling of inidvidual warnings
+=head2 enable lexical enabling/disabling of individual warnings
Currently, warnings can only be enabled or disabled by category. There
are times when it would be useful to quash a single warning, not a
@@ -261,7 +230,7 @@ to do this manually are roughly
=item *
do a normal C<Configure>, but include Devel::Cover as a module to install
-(see F<INSTALL> for how to do this)
+(see L<INSTALL> for how to do this)
=item *
@@ -338,7 +307,8 @@ visibility just to symbols declared in that file. It would be good to extend
F<makedef.pl> to support this format, and to provide a means within
C<Configure> to enable it. This would allow Unix users to test that the
export list is correct, and to build a perl that does not pollute the global
-namespace with private symbols.
+namespace with private symbols, and will fail in the same way as msvc or mingw
+builds or when using PERL_DL_NONLAZY=1.
=head2 Cross-compile support
@@ -466,7 +436,7 @@ The way @INC is laid out by default, one cannot upgrade core (dual-life)
modules without overwriting files. This causes problems for binary
package builders. One possible proposal is laid out in this
message:
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg02380.html>.
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg02380.html>
=head2 -Duse32bit*
@@ -474,7 +444,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
On these systems, it might be the default compilation mode, and there
is currently no guarantee that passing no use64bitall option to the
Configure process will build a 32bit perl. Implementing -Duse32bit*
-options would be nice for perl 5.12.
+options would be nice for perl 5.14.
=head2 Profile Perl - am I hot or not?
@@ -554,7 +524,7 @@ bug is fixed in the VC8 and VC9 CRTs (but, of course, the directory may still
not actually be writable if access is indeed denied by DACLs).
For the chdir() issue, see ActiveState bug #74552:
-http://bugs.activestate.com/show_bug.cgi?id=74552
+L<http://bugs.activestate.com/show_bug.cgi?id=74552>
Therefore, DACLs should be checked both for consistency across CRTs and for
the correct answer.
@@ -777,7 +747,7 @@ of running Perl code inside the signal handler context. (With all the dangers
of things like C<malloc> corruption that that currently offers us)
For more information see the thread starting with this message:
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00305.html
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00305.html>
=head2 autovivification
@@ -940,7 +910,7 @@ be C<*$> instead. (This is changed in F<opcode.pl>)
Currently C<$foo ~~ $object> will die with the message "Smart matching a
non-overloaded object breaks encapsulation". It would be nice to allow
-to bypass this by using explictly the syntax C<$foo ~~ %$object> or
+to bypass this by using explicitly the syntax C<$foo ~~ %$object> or
C<$foo ~~ @$object>.
=head2 error reporting of [$a ; $b]
@@ -958,7 +928,7 @@ C<;> is parsed where it is not legal as a statement terminator (ie inside
C<{}> used as a hashref, C<[]> or C<()>) it issues an error something like
I<';' isn't legal inside an expression - if you need multiple statements use a
do {...} block>. See the thread starting at
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html>
=head2 lexicals used only once
@@ -977,10 +947,13 @@ years for this discrepancy.
=head2 UTF-8 revamp
-The handling of Unicode is unclean in many places. For example, the regexp
-engine matches in Unicode semantics whenever the string or the pattern is
-flagged as UTF-8, but that should not be dependent on an internal storage
-detail of the string.
+The handling of Unicode is unclean in many places. In the regex engine
+there are especially many problems. The swash data structure could be
+replaced my something better. Inversion lists and maps are likely
+candidates. The whole Unicode database could be placed in-core for a
+huge speed-up. Only minimal work was done on the optimizer when utf8
+was added, with the result that the synthetic start class often will
+fail to narrow down the possible choices when given non-Latin1 input.
=head2 Properly Unicode safe tokeniser and pads.
@@ -1053,7 +1026,8 @@ arrays as alternations. With it, C</P/w> would be roughly equivalent to:
do { local $"='|'; /\b(?:P)\b/ }
-See L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-01/msg00400.html>
+See
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-01/msg00400.html>
for the discussion.
=head2 optional optimizer
@@ -1131,7 +1105,8 @@ See also L</"Extend PerlIO and PerlIO::Scalar">.
The peephole optimiser converts constants used for hash key lookups to shared
hash key scalars. Under ithreads, something is undoing this work.
-See http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-09/msg00793.html
+See
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-09/msg00793.html>
=head2 Store the current pad in the OP slab allocator
@@ -1160,7 +1135,8 @@ Note that the slab allocator allocates ops downwards in memory, so one would
have to actually "allocate" the ops in reverse-execution order to get them
contiguous in memory in execution order.
-See http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131975.html
+See
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131975.html>
Note that running this copy, and then freeing all the old location ops would
cause their slabs to be freed, which would eliminate possible memory wastage if
@@ -1243,10 +1219,16 @@ combines the code in pp_entersub, pp_leavesub. This should probably
be done 1st in XS, and using B::Generate to patch the new OP into the
optrees.
+=head2 Add C<00dddd>
+
+It has been proposed that octal constants be specifiable through the syntax
+C<0oddddd>, parallel to the existing construct to specify hex constants
+C<0xddddd>
+
=head1 Big projects
Tasks that will get your name mentioned in the description of the "Highlights
-of 5.12"
+of 5.14"
=head2 make ithreads more robust
@@ -1255,7 +1237,8 @@ Generally make ithreads more robust. See also L</iCOW>
This task is incremental - even a little bit of work on it will help, and
will be greatly appreciated.
-One bit would be to write the missing code in sv.c:Perl_dirp_dup.
+One bit would be to determine how to clone directory handles on systems
+without a C<fchdir> function (in sv.c:Perl_dirp_dup).
Fix Perl_sv_dup, et al so that threads can return objects.
@@ -1269,11 +1252,6 @@ it would be a good thing.
Fix (or rewrite) the implementation of the C</(?{...})/> closures.
-=head2 A re-entrant regexp engine
-
-This will allow the use of a regex from inside (?{ }), (??{ }) and
-(?(?{ })|) constructs.
-
=head2 Add class set operations to regexp engine
Apparently these are quite useful. Anyway, Jeffery Friedl wants them.
diff --git a/Master/tlpkg/tlperl/lib/pods/perltrap.pod b/Master/tlpkg/tlperl/lib/pods/perltrap.pod
index b5f09351669..99e25c8d490 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltrap.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltrap.pod
@@ -497,7 +497,7 @@ of a variable, or as a delimiter for any kind of quote construct.
Double darn.
$a = ("foo bar");
- $b = q baz;
+ $b = q baz ;
print "a is $a, b is $b\n";
# perl4 prints: a is foo bar, b is baz
@@ -665,7 +665,7 @@ are to used around the name.
# perl4 prints: 2
# perl5 fails with syntax error
- @ = (1..3);
+ @a = (1..3);
print "$#{a}";
# perl4 prints: {a}
@@ -704,7 +704,7 @@ tries to be more precise. For example, on a Solaris Sparc:
# Perl5 prints:
7.373504
- 7.375039999999999614
+ 7.373503999999999614
Notice how the first result looks better in Perl 5.
@@ -960,14 +960,15 @@ being required.
=item * Comma operator in scalar context gives scalar context to args
The comma operator in a scalar context is now guaranteed to give a
-scalar context to its arguments.
+scalar context to its last argument. It gives scalar or void context
+to any preceding arguments, depending on circumstances.
@y= ('a','b','c');
$x = (1, 2, @y);
print "x = $x\n";
- # Perl4 prints: x = c # Thinks list context interpolates list
- # Perl5 prints: x = 3 # Knows scalar uses length of list
+ # Perl4 prints: x = c # Interpolates array @y into the list
+ # Perl5 prints: x = 3 # Evaluates array @y in scalar context
=item * C<sprintf()> prototyped as C<($;@)>
diff --git a/Master/tlpkg/tlperl/lib/pods/perltru64.pod b/Master/tlpkg/tlperl/lib/pods/perltru64.pod
index 6961a0e7c17..618c5748d09 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltru64.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltru64.pod
@@ -106,7 +106,7 @@ and then using the BerkeleyDB module from CPAN instead of DB_File.
The BerkeleyDB works with Berkeley DB versions 2.* or greater.
The Berkeley DB 4.1.25 has been tested with Tru64 V5.1A and found
-to work. The latest Berkeley DB can be found from F<http://www.sleepycat.com>.
+to work. The latest Berkeley DB can be found from L<http://www.sleepycat.com>.
=head2 64-bit Perl on Tru64
diff --git a/Master/tlpkg/tlperl/lib/pods/perlunicode.pod b/Master/tlpkg/tlperl/lib/pods/perlunicode.pod
index 140d1340b20..d77c40cbbde 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlunicode.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlunicode.pod
@@ -11,7 +11,8 @@ implement the Unicode standard or the accompanying technical reports
from cover to cover, Perl does support many Unicode features.
People who want to learn to use Unicode in Perl, should probably read
-the L<Perl Unicode tutorial, perlunitut|perlunitut>, before reading
+the L<Perl Unicode tutorial, perlunitut|perlunitut> and
+L<perluniintro>, before reading
this reference document.
Also, the use of Unicode may present security issues that aren't obvious.
@@ -19,24 +20,27 @@ Read L<Unicode Security Considerations|http://www.unicode.org/reports/tr36>.
=over 4
+=item Safest if you "use feature 'unicode_strings'"
+
+In order to preserve backward compatibility, Perl does not turn
+on full internal Unicode support unless the pragma
+C<use feature 'unicode_strings'> is specified. (This is automatically
+selected if you use C<use 5.012> or higher.) Failure to do this can
+trigger unexpected surprises. See L</The "Unicode Bug"> below.
+
+This pragma doesn't affect I/O, and there are still several places
+where Unicode isn't fully supported, such as in filenames.
+
=item Input and Output Layers
Perl knows when a filehandle uses Perl's internal Unicode encodings
(UTF-8, or UTF-EBCDIC if in EBCDIC) if the filehandle is opened with
-the ":utf8" layer. Other encodings can be converted to Perl's
+the ":encoding(utf8)" layer. Other encodings can be converted to Perl's
encoding on input or from Perl's encoding on output by use of the
":encoding(...)" layer. See L<open>.
To indicate that Perl source itself is in UTF-8, use C<use utf8;>.
-=item Regular Expressions
-
-The regular expression compiler produces polymorphic opcodes. That is,
-the pattern adapts to the data and automatically switches to the Unicode
-character scheme when presented with data that is internally encoded in
-UTF-8, or instead uses a traditional byte scheme when presented with
-byte data.
-
=item C<use utf8> still needed to enable UTF-8/UTF-EBCDIC in scripts
As a compatibility measure, the C<use utf8> pragma must be explicitly
@@ -71,20 +75,31 @@ See L</"Byte and Character Semantics"> for more details.
Beginning with version 5.6, Perl uses logically-wide characters to
represent strings internally.
-In future, Perl-level operations will be expected to work with
-characters rather than bytes.
-
-However, as an interim compatibility measure, Perl aims to
-provide a safe migration path from byte semantics to character
-semantics for programs. For operations where Perl can unambiguously
-decide that the input data are characters, Perl switches to
-character semantics. For operations where this determination cannot
-be made without additional information from the user, Perl decides in
-favor of compatibility and chooses to use byte semantics.
-
-Under byte semantics, when C<use locale> is in effect, Perl uses the
-semantics associated with the current locale. Absent a C<use locale>, and
-absent a C<use feature 'unicode_strings'> pragma, Perl currently uses US-ASCII
+Starting in Perl 5.14, Perl-level operations work with
+characters rather than bytes within the scope of a
+C<L<use feature 'unicode_strings'|feature>> (or equivalently
+C<use 5.012> or higher). (This is not true if bytes have been
+explicitly requested by C<L<use bytes|bytes>>, nor necessarily true
+for interactions with the platform's operating system.)
+
+For earlier Perls, and when C<unicode_strings> is not in effect, Perl
+provides a fairly safe environment that can handle both types of
+semantics in programs. For operations where Perl can unambiguously
+decide that the input data are characters, Perl switches to character
+semantics. For operations where this determination cannot be made
+without additional information from the user, Perl decides in favor of
+compatibility and chooses to use byte semantics.
+
+When C<use locale> is in effect (which overrides
+C<use feature 'unicode_strings'> in the same scope), Perl uses the
+semantics associated
+with the current locale. Otherwise, Perl uses the platform's native
+byte semantics for characters whose code points are less than 256, and
+Unicode semantics for those greater than 255. On EBCDIC platforms, this
+is almost seamless, as the EBCDIC code pages that Perl handles are
+equivalent to Unicode's first 256 code points. (The exception is that
+EBCDIC regular expression case-insensitive matching rules are not as
+as robust as Unicode's.) But on ASCII platforms, Perl uses US-ASCII
(or Basic Latin in Unicode terminology) byte semantics, meaning that characters
whose ordinal numbers are in the range 128 - 255 are undefined except for their
ordinal numbers. This means that none have case (upper and lower), nor are any
@@ -98,31 +113,12 @@ character data. Such data may come from filehandles, from calls to
external programs, from information provided by the system (such as %ENV),
or from literals and constants in the source text.
-The C<bytes> pragma will always, regardless of platform, force byte
-semantics in a particular lexical scope. See L<bytes>.
-
-The C<use feature 'unicode_strings'> pragma is intended to always, regardless
-of platform, force character (Unicode) semantics in a particular lexical scope.
-In release 5.12, it is partially implemented, applying only to case changes.
-See L</The "Unicode Bug"> below.
-
The C<utf8> pragma is primarily a compatibility device that enables
recognition of UTF-(8|EBCDIC) in literals encountered by the parser.
Note that this pragma is only required while Perl defaults to byte
semantics; when character semantics become the default, this pragma
may become a no-op. See L<utf8>.
-Unless explicitly stated, Perl operators use character semantics
-for Unicode data and byte semantics for non-Unicode data.
-The decision to use character semantics is made transparently. If
-input data comes from a Unicode source--for example, if a character
-encoding layer is added to a filehandle or a literal Unicode
-string constant appears in a program--character semantics apply.
-Otherwise, byte semantics are in effect. The C<bytes> pragma should
-be used to force byte semantics on Unicode data, and the C<use feature
-'unicode_strings'> pragma to force Unicode semantics on byte data (though in
-5.12 it isn't fully implemented).
-
If strings operating under byte semantics and strings with Unicode
character data are concatenated, the new string will have
character semantics. This can cause surprises: See L</BUGS>, below.
@@ -266,8 +262,9 @@ complement B<and> the full character-wide bit complement.
You can define your own mappings to be used in C<lc()>,
C<lcfirst()>, C<uc()>, and C<ucfirst()> (or their double-quoted string inlined
-versions such as C<\U>).
-See L</"User-Defined Case Mappings"> for more details.
+versions such as C<\U>). See
+L<User-Defined Case-Mappings|/"User-Defined Case Mappings (for serious hackers only)">
+for more details.
=back
@@ -281,14 +278,14 @@ And finally, C<scalar reverse()> reverses by character rather than by byte.
=head2 Unicode Character Properties
-Most Unicode character properties are accessible by using regular expressions.
-They are used (like bracketed character classes) by using the C<\p{}> "matches
-property" construct and the C<\P{}> negation, "doesn't match property".
-
-Note that the only time that Perl considers a sequence of individual code
+(The only time that Perl considers a sequence of individual code
points as a single logical character is in the C<\X> construct, already
mentioned above. Therefore "character" in this discussion means a single
-Unicode code point.
+Unicode code point.)
+
+Very nearly all Unicode character properties are accessible through
+regular expressions by using the C<\p{}> "matches property" construct
+and the C<\P{}> "doesn't match property" for its negation.
For instance, C<\p{Uppercase}> matches any single character with the Unicode
"Uppercase" property, while C<\p{L}> matches any character with a
@@ -300,11 +297,11 @@ Uppercase property value is True, and C<\P{Uppercase}> matches any character
whose Uppercase property value is False, and they could have been written as
C<\p{Uppercase=True}> and C<\p{Uppercase=False}>, respectively.
-This formality is needed when properties are not binary, that is if they can
+This formality is needed when properties are not binary; that is, if they can
take on more values than just True and False. For example, the Bidi_Class (see
-L</"Bidirectional Character Types"> below), can take on a number of different
+L</"Bidirectional Character Types"> below), can take on several different
values, such as Left, Right, Whitespace, and others. To match these, one needs
-to specify the property name (Bidi_Class), and the value being matched against
+to specify the property name (Bidi_Class), AND the value being matched against
(Left, Right, etc.). This is done, as in the examples above, by having the
two components separated by an equal sign (or interchangeably, a colon), like
C<\p{Bidi_Class: Left}>.
@@ -317,9 +314,9 @@ below, in which you may omit the property name and the equals or colon
separator.
Most Unicode character properties have at least two synonyms (or aliases if you
-prefer), a short one that is easier to type, and a longer one which is more
-descriptive and hence it is easier to understand what it means. Thus the "L"
-and "Letter" above are equivalent and can be used interchangeably. Likewise,
+prefer): a short one that is easier to type and a longer one that is more
+descriptive and hence easier to understand. Thus the "L" and "Letter" properties
+above are equivalent and can be used interchangeably. Likewise,
"Upper" is a synonym for "Uppercase", and we could have written
C<\p{Uppercase}> equivalently as C<\p{Upper}>. Also, there are typically
various synonyms for the values the property can be. For binary properties,
@@ -330,24 +327,43 @@ General_Category property, "L" means "Letter", but for the Bidi_Class property,
"L" means "Left". A complete list of properties and synonyms is in
L<perluniprops>.
-Upper/lower case differences in the property names and values are irrelevant,
+Upper/lower case differences in property names and values are irrelevant;
thus C<\p{Upper}> means the same thing as C<\p{upper}> or even C<\p{UpPeR}>.
Similarly, you can add or subtract underscores anywhere in the middle of a
word, so that these are also equivalent to C<\p{U_p_p_e_r}>. And white space
is irrelevant adjacent to non-word characters, such as the braces and the equals
-or colon separators so C<\p{ Upper }> and C<\p{ Upper_case : Y }> are
-equivalent to these as well. In fact, in most cases, white space and even
-hyphens can be added or deleted anywhere. So even C<\p{ Up-per case = Yes}> is
+or colon separators, so C<\p{ Upper }> and C<\p{ Upper_case : Y }> are
+equivalent to these as well. In fact, white space and even
+hyphens can usually be added or deleted anywhere. So even C<\p{ Up-per case = Yes}> is
equivalent. All this is called "loose-matching" by Unicode. The few places
-where stricter matching is employed is in the middle of numbers, and the Perl
+where stricter matching is used is in the middle of numbers, and in the Perl
extension properties that begin or end with an underscore. Stricter matching
-cares about white space (except adjacent to the non-word characters) and
+cares about white space (except adjacent to non-word characters),
hyphens, and non-interior underscores.
You can also use negation in both C<\p{}> and C<\P{}> by introducing a caret
(^) between the first brace and the property name: C<\p{^Tamil}> is
equal to C<\P{Tamil}>.
+Almost all properties are immune to case-insensitive matching. That is,
+adding a C</i> regular expression modifier does not change what they
+match. There are two sets that are affected.
+The first set is
+C<Uppercase_Letter>,
+C<Lowercase_Letter>,
+and C<Titlecase_Letter>,
+all of which match C<Cased_Letter> under C</i> matching.
+And the second set is
+C<Uppercase>,
+C<Lowercase>,
+and C<Titlecase>,
+all of which match C<Cased> under C</i> matching.
+This set also includes its subsets C<PosixUpper> and C<PosixLower> both
+of which under C</i> matching match C<PosixAlpha>.
+(The difference between these sets is that some things, such as Roman
+numerals, come in both upper and lower case so they are C<Cased>, but aren't considered
+letters, so they aren't C<Cased_Letter>s.)
+
=head3 B<General_Category>
Every Unicode character is assigned a general category, which is the "most
@@ -404,24 +420,19 @@ Here are the short and long forms of the General Category properties:
Zp Paragraph_Separator
C Other
- Cc Control (also Cntrl)
+ Cc Control (also Cntrl)
Cf Format
- Cs Surrogate (not usable)
+ Cs Surrogate
Co Private_Use
Cn Unassigned
Single-letter properties match all characters in any of the
two-letter sub-properties starting with the same letter.
-C<LC> and C<L&> are special cases, which are both aliases for the set consisting of everything matched by C<Ll>, C<Lu>, and C<Lt>.
-
-Because Perl hides the need for the user to understand the internal
-representation of Unicode characters, there is no need to implement
-the somewhat messy concept of surrogates. C<Cs> is therefore not
-supported.
+C<LC> and C<L&> are special: both are aliases for the set consisting of everything matched by C<Ll>, C<Lu>, and C<Lt>.
=head3 B<Bidirectional Character Types>
-Because scripts differ in their directionality (Hebrew is
+Because scripts differ in their directionality (Hebrew and Arabic are
written right to left, for example) Unicode supplies these properties in
the Bidi_Class class:
@@ -453,9 +464,9 @@ written right to left.
=head3 B<Scripts>
-The world's languages are written in a number of scripts. This sentence
+The world's languages are written in many different scripts. This sentence
(unless you're reading it in translation) is written in Latin, while Russian is
-written in Cyrllic, and Greek is written in, well, Greek; Japanese mainly in
+written in Cyrillic, and Greek is written in, well, Greek; Japanese mainly in
Hiragana or Katakana. There are many more.
The Unicode Script property gives what script a given character is in,
@@ -480,25 +491,30 @@ characters. The difference between scripts and blocks is that the
concept of scripts is closer to natural languages, while the concept
of blocks is more of an artificial grouping based on groups of Unicode
characters with consecutive ordinal values. For example, the "Basic Latin"
-block is all characters whose ordinals are between 0 and 127, inclusive, in
+block is all characters whose ordinals are between 0 and 127, inclusive; in
other words, the ASCII characters. The "Latin" script contains some letters
-from this block as well as several more, like "Latin-1 Supplement",
+from this as well as several other blocks, like "Latin-1 Supplement",
"Latin Extended-A", etc., but it does not contain all the characters from
-those blocks. It does not, for example, contain digits, because digits are
-shared across many scripts. Digits and similar groups, like punctuation, are in
-the script called C<Common>. There is also a script called C<Inherited> for
-characters that modify other characters, and inherit the script value of the
-controlling character.
+those blocks. It does not, for example, contain the digits 0-9, because
+those digits are shared across many scripts. The digits 0-9 and similar groups,
+like punctuation, are in the script called C<Common>. There is also a
+script called C<Inherited> for characters that modify other characters,
+and inherit the script value of the controlling character. (Note that
+there are several different sets of digits in Unicode that are
+equivalent to 0-9 and are matchable by C<\d> in a regular expression.
+If they are used in a single language only, they are in that language's
+script. Only sets are used across several languages are in the
+C<Common> script.)
For more about scripts versus blocks, see UAX#24 "Unicode Script Property":
L<http://www.unicode.org/reports/tr24>
The Script property is likely to be the one you want to use when processing
-natural language; the Block property may be useful in working with the nuts and
-bolts of Unicode.
+natural language; the Block property may occasionally be useful in working
+with the nuts and bolts of Unicode.
Block names are matched in the compound form, like C<\p{Block: Arrows}> or
-C<\p{Blk=Hebrew}>. Unlike most other properties only a few block names have a
+C<\p{Blk=Hebrew}>. Unlike most other properties, only a few block names have a
Unicode-defined short name. But Perl does provide a (slight) shortcut: You
can say, for example C<\p{In_Arrows}> or C<\p{In_Hebrew}>. For backwards
compatibility, the C<In> prefix may be omitted if there is no naming conflict
@@ -523,10 +539,10 @@ doesn't.
=back
-Some people just prefer to always use C<\p{Block: foo}> and C<\p{Script: bar}>
-instead of the shortcuts, for clarity, and because they can't remember the
-difference between 'In' and 'Is' anyway (or aren't confident that those who
-eventually will read their code will know).
+Some people prefer to always use C<\p{Block: foo}> and C<\p{Script: bar}>
+instead of the shortcuts, whether for clarity, because they can't remember the
+difference between 'In' and 'Is' anyway, or they aren't confident that those who
+eventually will read their code will know that difference.
A complete list of blocks and their shortcuts is in L<perluniprops>.
@@ -536,12 +552,12 @@ There are many more properties than the very basic ones described here.
A complete list is in L<perluniprops>.
Unicode defines all its properties in the compound form, so all single-form
-properties are Perl extensions. A number of these are just synonyms for the
-Unicode ones, but some are genunine extensions, including a couple that are in
+properties are Perl extensions. Most of these are just synonyms for the
+Unicode ones, but some are genuine extensions, including several that are in
the compound form. And quite a few of these are actually recommended by Unicode
(in L<http://www.unicode.org/reports/tr18>).
-This section gives some details on all the extensions that aren't synonyms for
+This section gives some details on all extensions that aren't synonyms for
compound-form Unicode properties (for those, you'll have to refer to the
L<Unicode Standard|http://www.unicode.org/reports/tr44>.
@@ -561,6 +577,11 @@ This matches any C<\p{Alphabetic}> or C<\p{Decimal_Number}> character.
This matches any of the 1_114_112 Unicode code points. It is a synonym for
C<\p{All}>.
+=item B<C<\p{ASCII}>>
+
+This matches any of the 128 characters in the US-ASCII character set,
+which is a subset of Unicode.
+
=item B<C<\p{Assigned}>>
This matches any assigned code point; that is, any code point whose general
@@ -579,47 +600,47 @@ To understand the use of this rarely used property=value combination, it is
necessary to know some basics about decomposition.
Consider a character, say H. It could appear with various marks around it,
such as an acute accent, or a circumflex, or various hooks, circles, arrows,
-I<etc.>, above, below, to one side and/or the other, etc. There are many
+I<etc.>, above, below, to one side or the other, etc. There are many
possibilities among the world's languages. The number of combinations is
astronomical, and if there were a character for each combination, it would
soon exhaust Unicode's more than a million possible characters. So Unicode
took a different approach: there is a character for the base H, and a
-character for each of the possible marks, and they can be combined variously
+character for each of the possible marks, and these can be variously combined
to get a final logical character. So a logical character--what appears to be a
single character--can be a sequence of more than one individual characters.
-This is called an "extended grapheme cluster". (Perl furnishes the C<\X>
-construct to match such sequences.)
+This is called an "extended grapheme cluster"; Perl furnishes the C<\X>
+regular expression construct to match such sequences.
But Unicode's intent is to unify the existing character set standards and
-practices, and a number of pre-existing standards have single characters that
+practices, and several pre-existing standards have single characters that
mean the same thing as some of these combinations. An example is ISO-8859-1,
which has quite a few of these in the Latin-1 range, an example being "LATIN
CAPITAL LETTER E WITH ACUTE". Because this character was in this pre-existing
standard, Unicode added it to its repertoire. But this character is considered
-by Unicode to be equivalent to the sequence consisting of first the character
-"LATIN CAPITAL LETTER E", then the character "COMBINING ACUTE ACCENT".
+by Unicode to be equivalent to the sequence consisting of the character
+"LATIN CAPITAL LETTER E" followed by the character "COMBINING ACUTE ACCENT".
"LATIN CAPITAL LETTER E WITH ACUTE" is called a "pre-composed" character, and
-the equivalence with the sequence is called canonical equivalence. All
+its equivalence with the sequence is called canonical equivalence. All
pre-composed characters are said to have a decomposition (into the equivalent
-sequence) and the decomposition type is also called canonical.
+sequence), and the decomposition type is also called canonical.
However, many more characters have a different type of decomposition, a
"compatible" or "non-canonical" decomposition. The sequences that form these
decompositions are not considered canonically equivalent to the pre-composed
character. An example, again in the Latin-1 range, is the "SUPERSCRIPT ONE".
-It is kind of like a regular digit 1, but not exactly; its decomposition
+It is somewhat like a regular digit 1, but not exactly; its decomposition
into the digit 1 is called a "compatible" decomposition, specifically a
"super" decomposition. There are several such compatibility
decompositions (see L<http://www.unicode.org/reports/tr44>), including one
-called "compat" which means some miscellaneous type of decomposition
-that doesn't fit into the decomposition categories that Unicode has chosen.
+called "compat", which means some miscellaneous type of decomposition
+that doesn't fit into the decomposition categories that Unicode has chosen.
Note that most Unicode characters don't have a decomposition, so their
decomposition type is "None".
-Perl has added the C<Non_Canonical> type, for your convenience, to mean any of
-the compatibility decompositions.
+For your convenience, Perl has added the C<Non_Canonical> decomposition
+type to mean any of the several compatibility decompositions.
=item B<C<\p{Graph}>>
@@ -628,10 +649,10 @@ that on a printer would cause ink to be used.
=item B<C<\p{HorizSpace}>>
-This is the same as C<\h> and C<\p{Blank}>: A character that changes the
+This is the same as C<\h> and C<\p{Blank}>: a character that changes the
spacing horizontally.
-=item B<C<\p{In=*}>>
+=item B<C<\p{In=*}>>
This is a synonym for C<\p{Present_In=*}>
@@ -647,56 +668,11 @@ This is the same as C<\w>, restricted to ASCII, namely C<[A-Za-z0-9_]>
Mnemonic: Perl's (original) word.
-=item B<C<\p{PosixAlnum}>>
-
-This matches any alphanumeric character in the ASCII range, namely
-C<[A-Za-z0-9]>.
-
-=item B<C<\p{PosixAlpha}>>
-
-This matches any alphabetic character in the ASCII range, namely C<[A-Za-z]>.
-
-=item B<C<\p{PosixBlank}>>
-
-This matches any blank character in the ASCII range, namely C<S<[ \t]>>.
+=item B<C<\p{Posix...}>>
-=item B<C<\p{PosixCntrl}>>
-
-This matches any control character in the ASCII range, namely C<[\x00-\x1F\x7F]>
-
-=item B<C<\p{PosixDigit}>>
-
-This matches any digit character in the ASCII range, namely C<[0-9]>.
-
-=item B<C<\p{PosixGraph}>>
-
-This matches any graphical character in the ASCII range, namely C<[\x21-\x7E]>.
-
-=item B<C<\p{PosixLower}>>
-
-This matches any lowercase character in the ASCII range, namely C<[a-z]>.
-
-=item B<C<\p{PosixPrint}>>
-
-This matches any printable character in the ASCII range, namely C<[\x20-\x7E]>.
-These are the graphical characters plus SPACE.
-
-=item B<C<\p{PosixPunct}>>
-
-This matches any punctuation character in the ASCII range, namely
-C<[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]>. These are the
-graphical characters that aren't word characters. Note that the Posix standard
-includes in its definition of punctuation, those characters that Unicode calls
-"symbols."
-
-=item B<C<\p{PosixSpace}>>
-
-This matches any space character in the ASCII range, namely
-C<S<[ \f\n\r\t\x0B]>> (the last being a vertical tab).
-
-=item B<C<\p{PosixUpper}>>
-
-This matches any uppercase character in the ASCII range, namely C<[A-Z]>.
+There are several of these, which are equivalents using the C<\p>
+notation for Posix classes and are described in
+L<perlrecharclass/POSIX Character Classes>.
=item B<C<\p{Present_In: *}>> (Short: C<\p{In=*}>)
@@ -725,13 +701,12 @@ Some non-Perl implementations of the Age property may change its meaning to be
the same as the Perl Present_In property; just be aware of that.
Another confusion with both these properties is that the definition is not
-that the code point has been assigned, but that the meaning of the code point
-has been determined. This is because 66 code points will always be
-unassigned, and, so the Age for them is the Unicode version the decision to
-make them so was made in. For example, C<U+FDD0> is to be permanently
+that the code point has been I<assigned>, but that the meaning of the code point
+has been I<determined>. This is because 66 code points will always be
+unassigned, and so the Age for them is the Unicode version in which the decision
+to make them so was made. For example, C<U+FDD0> is to be permanently
unassigned to a character, and the decision to do that was made in version 3.1,
-so C<\p{Age=3.1}> matches this character and C<\p{Present_In: 3.1}> and up
-matches as well.
+so C<\p{Age=3.1}> matches this character, as also does C<\p{Present_In: 3.1}> and up.
=item B<C<\p{Print}>>
@@ -742,7 +717,7 @@ This matches any character that is graphical or blank, except controls.
This is the same as C<\s>, including beyond ASCII.
Mnemonic: Space, as modified by Perl. (It doesn't include the vertical tab
-which both the Posix standard and Unicode consider to be space.)
+which both the Posix standard and Unicode consider white space.)
=item B<C<\p{VertSpace}>>
@@ -750,7 +725,13 @@ This is the same as C<\v>: A character that changes the spacing vertically.
=item B<C<\p{Word}>>
-This is the same as C<\w>, including beyond ASCII.
+This is the same as C<\w>, including over 100_000 characters beyond ASCII.
+
+=item B<C<\p{XPosix...}>>
+
+There are several of these, which are the standard Posix classes
+extended to the full Unicode range. They are described in
+L<perlrecharclass/POSIX Character Classes>.
=back
@@ -772,6 +753,16 @@ C<\p> or C<\P> construct.
Note that the effect is compile-time and immutable once defined.
+However, the subroutines are passed a single parameter, which is 0 if
+case-sensitive matching is in effect and non-zero if caseless matching
+is in effect. The subroutine may return different values depending on
+the value of the flag, and one set of values will immutably be in effect
+for all case-sensitive matches, and the other set for all case-insensitive
+matches.
+
+Note that if the regular expression is tainted, then Perl will die rather
+than calling the subroutine, where the name of the subroutine is
+determined by the tainted data.
The subroutines must return a specially-formatted string, with one
or more newline-separated lines. Each line must be one of the following:
@@ -821,7 +812,7 @@ For example, to define a property that covers both the Japanese
syllabaries (hiragana and katakana), you can define
sub InKana {
- return <<END;
+ return <<END;
3040\t309F
30A0\t30FF
END
@@ -833,7 +824,7 @@ Now you can use C<\p{InKana}> and C<\P{InKana}>.
You could also have used the existing block property names:
sub InKana {
- return <<'END';
+ return <<'END';
+utf8::InHiragana
+utf8::InKatakana
END
@@ -844,7 +835,7 @@ not the raw block ranges: in other words, you want to remove
the non-characters:
sub InKana {
- return <<'END';
+ return <<'END';
+utf8::InHiragana
+utf8::InKatakana
-utf8::IsCn
@@ -854,7 +845,7 @@ the non-characters:
The negation is useful for defining (surprise!) negated classes.
sub InNotKana {
- return <<'END';
+ return <<'END';
!utf8::InHiragana
-utf8::InKatakana
+utf8::IsCn
@@ -872,46 +863,193 @@ two (or more) classes.
}
It's important to remember not to use "&" for the first set; that
-would be intersecting with nothing (resulting in an empty set).
+would be intersecting with nothing, resulting in an empty set.
+
+=head2 User-Defined Case Mappings (for serious hackers only)
+
+B<This featured is deprecated and is scheduled to be removed in Perl
+5.16.>
+The CPAN module L<Unicode::Casing> provides better functionality
+without the drawbacks described below.
-=head2 User-Defined Case Mappings
+You can define your own mappings to be used in C<lc()>,
+C<lcfirst()>, C<uc()>, and C<ucfirst()> (or their string-inlined versions,
+C<\L>, C<\l>, C<\U>, and C<\u>). The mappings are currently only valid
+on strings encoded in UTF-8, but see below for a partial workaround for
+this restriction.
-You can also define your own mappings to be used in the lc(),
-lcfirst(), uc(), and ucfirst() (or their string-inlined versions).
The principle is similar to that of user-defined character
-properties: to define subroutines
-with names like C<ToLower> (for lc() and lcfirst()), C<ToTitle> (for
-the first character in ucfirst()), and C<ToUpper> (for uc(), and the
-rest of the characters in ucfirst()).
+properties: define subroutines that do the mappings.
+C<ToLower> is used for C<lc()>, C<\L>, C<lcfirst()>, and C<\l>; C<ToTitle> for
+C<ucfirst()> and C<\u>; and C<ToUpper> for C<uc()> and C<\U>.
-The string returned by the subroutines needs to be two hexadecimal numbers
-separated by two tabulators: the two numbers being, respectively, the source
-code point and the destination code point. For example:
+C<ToUpper()> should look something like this:
sub ToUpper {
- return <<END;
- 0061\t\t0041
+ return <<END;
+ 0061\t007A\t0041
+ 0101\t\t0100
END
}
-defines an uc() mapping that causes only the character "a"
-to be mapped to "A"; all other characters will remain unchanged.
-
-(For serious hackers only) The above means you have to furnish a complete
-mapping; you can't just override a couple of characters and leave the rest
-unchanged. You can find all the mappings in the directory
-C<$Config{privlib}>/F<unicore/To/>. The mapping data is returned as the
-here-document, and the C<utf8::ToSpecFoo> are special exception mappings
-derived from <$Config{privlib}>/F<unicore/SpecialCasing.txt>. The "Digit" and
+This sample C<ToUpper()> has the effect of mapping "a-z" to "A-Z", 0x101
+to 0x100, and all other characters map to themselves. The first
+returned line means to map the code point at 0x61 ("a") to 0x41 ("A"),
+the code point at 0x62 ("b") to 0x42 ("B"), ..., 0x7A ("z") to 0x5A
+("Z"). The second line maps just the code point 0x101 to 0x100. Since
+there are no other mappings defined, all other code points map to
+themselves.
+
+This mechanism is not well behaved as far as affecting other packages
+and scopes. All non-threaded programs have exactly one uppercasing
+behavior, one lowercasing behavior, and one titlecasing behavior in
+effect for utf8-encoded strings for the duration of the program. Each
+of these behaviors is irrevocably determined the first time the
+corresponding function is called to change a utf8-encoded string's case.
+If a corresponding C<To-> function has been defined in the package that
+makes that first call, the mapping defined by that function will be the
+mapping used for the duration of the program's execution across all
+packages and scopes. If no corresponding C<To-> function has been
+defined in that package, the standard official mapping will be used for
+all packages and scopes, and any corresponding C<To-> function anywhere
+will be ignored. Threaded programs have similar behavior. If the
+program's casing behavior has been decided at the time of a thread's
+creation, the thread will inherit that behavior. But, if the behavior
+hasn't been decided, the thread gets to decide for itself, and its
+decision does not affect other threads nor its creator.
+
+As shown by the example above, you have to furnish a complete mapping;
+you can't just override a couple of characters and leave the rest
+unchanged. You can find all the official mappings in the directory
+C<$Config{privlib}>F</unicore/To/>. The mapping data is returned as the
+here-document. The C<utf8::ToSpecI<Foo>> hashes in those files are special
+exception mappings derived from
+C<$Config{privlib}>F</unicore/SpecialCasing.txt>. (The "Digit" and
"Fold" mappings that one can see in the directory are not directly
-user-accessible, one can use either the C<Unicode::UCD> module, or just match
-case-insensitively (that's when the "Fold" mapping is used).
+user-accessible, one can use either the L<Unicode::UCD> module, or just match
+case-insensitively, which is what uses the "Fold" mapping. Neither are user
+overridable.)
+
+If you have many mappings to change, you can take the official mapping data,
+change by hand the affected code points, and place the whole thing into your
+subroutine. But this will only be valid on Perls that use the same Unicode
+version. Another option would be to have your subroutine read the official
+mapping files and overwrite the affected code points.
-The mappings will only take effect on scalars that have been marked as having
-Unicode characters, for example by using C<utf8::upgrade()>.
-Old byte-style strings are not affected.
+If you have only a few mappings to change, starting in 5.14 you can use the
+following trick, here illustrated for Turkish.
-The mappings are in effect for the package they are defined in.
+ use Config;
+ use charnames ":full";
+
+ sub ToUpper {
+ my $official = do "$Config{privlib}/unicore/To/Upper.pl";
+ $utf8::ToSpecUpper{'i'} =
+ "\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}";
+ return $official;
+ }
+
+This takes the official mappings and overrides just one, for "LATIN SMALL
+LETTER I". The keys to the hash must be the bytes that form the UTF-8
+(on EBCDIC platforms, UTF-EBCDIC) of the character, as illustrated by
+the inverse function.
+
+ sub ToLower {
+ my $official = do $lower;
+ $utf8::ToSpecLower{"\xc4\xb0"} = "i";
+ return $official;
+ }
+
+This example is for an ASCII platform, and C<\xc4\xb0> is the string of
+bytes that together form the UTF-8 that represents C<\N{LATIN CAPITAL
+LETTER I WITH DOT ABOVE}>, C<U+0130>. You can avoid having to figure out
+these bytes, and at the same time make it work on all platforms by
+instead writing:
+
+ sub ToLower {
+ my $official = do $lower;
+ my $sequence = "\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}";
+ utf8::encode($sequence);
+ $utf8::ToSpecLower{$sequence} = "i";
+ return $official;
+ }
+
+This works because C<utf8::encode()> takes the single character and
+converts it to the sequence of bytes that constitute it. Note that we took
+advantage of the fact that C<"i"> is the same in UTF-8 or UTF_EBCIDIC as not;
+otherwise we would have had to write
+
+ $utf8::ToSpecLower{$sequence} = "\N{LATIN SMALL LETTER I}";
+
+in the ToLower example, and in the ToUpper example, use
+
+ my $sequence = "\N{LATIN SMALL LETTER I}";
+ utf8::encode($sequence);
+
+A big caveat to the above trick and to this whole mechanism in general,
+is that they work only on strings encoded in UTF-8. You can partially
+get around this by using C<use subs>. (But better to just convert to
+use L<Unicode::Casing>.) For example:
+(The trick illustrated here does work in earlier releases, but only if all the
+characters you want to override have ordinal values of 256 or higher, or
+if you use the other tricks given just below.)
+
+The mappings are in effect only for the package they are defined in, and only
+on scalars that have been marked as having Unicode characters, for example by
+using C<utf8::upgrade()>. Although probably not advisable, you can
+cause the mappings to be used globally by importing into C<CORE::GLOBAL>
+(see L<CORE>).
+
+You can partially get around the restriction that the source strings
+must be in utf8 by using C<use subs> (or by importing into C<CORE::GLOBAL>) by:
+
+ use subs qw(uc ucfirst lc lcfirst);
+
+ sub uc($) {
+ my $string = shift;
+ utf8::upgrade($string);
+ return CORE::uc($string);
+ }
+
+ sub lc($) {
+ my $string = shift;
+ utf8::upgrade($string);
+
+ # Unless an I is before a dot_above, it turns into a dotless i.
+ # (The character class with the combining classes matches non-above
+ # marks following the I. Any number of these may be between the 'I' and
+ # the dot_above, and the dot_above will still apply to the 'I'.
+ use charnames ":full";
+ $string =~
+ s/I
+ (?! [^\p{ccc=0}\p{ccc=Above}]* \N{COMBINING DOT ABOVE} )
+ /\N{LATIN SMALL LETTER DOTLESS I}/gx;
+
+ # But when the I is followed by a dot_above, remove the
+ # dot_above so the end result will be i.
+ $string =~ s/I
+ ([^\p{ccc=0}\p{ccc=Above}]* )
+ \N{COMBINING DOT ABOVE}
+ /i$1/gx;
+ return CORE::lc($string);
+ }
+
+These examples (also for Turkish) make sure the input is in UTF-8, and then
+call the corresponding official function, which will use the C<ToUpper()> and
+C<ToLower()> functions you have defined.
+(For Turkish, there are other required functions: C<ucfirst>, C<lcfirst>,
+and C<ToTitle>. These are very similar to the ones given above.)
+
+The reason this is only a partial fix is that it doesn't affect the C<\l>,
+C<\L>, C<\u>, and C<\U> case-change operations in regular expressions,
+which still require the source to be encoded in utf8 (see L</The "Unicode
+Bug">). (Again, use L<Unicode::Casing> instead.)
+
+The C<lc()> example shows how you can add context-dependent casing. Note
+that context-dependent casing suffers from the problem that the string
+passed to the casing function may not have sufficient context to make
+the proper choice. Also, it will not be called for C<\l>, C<\L>, C<\u>,
+and C<\U>.
=head2 Character Encodings for Input and Output
@@ -919,10 +1057,10 @@ See L<Encode>.
=head2 Unicode Regular Expression Support Level
-The following list of Unicode support for regular expressions describes
-all the features currently supported. The references to "Level N"
+The following list of Unicode supported features for regular expressions describes
+all features currently directly supported by core Perl. The references to "Level N"
and the section numbers refer to the Unicode Technical Standard #18,
-"Unicode Regular Expressions", version 11, in May 2005.
+"Unicode Regular Expressions", version 13, from August 2008.
=over 4
@@ -930,36 +1068,41 @@ and the section numbers refer to the Unicode Technical Standard #18,
Level 1 - Basic Unicode Support
- RL1.1 Hex Notation - done [1]
- RL1.2 Properties - done [2][3]
- RL1.2a Compatibility Properties - done [4]
- RL1.3 Subtraction and Intersection - MISSING [5]
- RL1.4 Simple Word Boundaries - done [6]
- RL1.5 Simple Loose Matches - done [7]
- RL1.6 Line Boundaries - MISSING [8]
- RL1.7 Supplementary Code Points - done [9]
+ RL1.1 Hex Notation - done [1]
+ RL1.2 Properties - done [2][3]
+ RL1.2a Compatibility Properties - done [4]
+ RL1.3 Subtraction and Intersection - MISSING [5]
+ RL1.4 Simple Word Boundaries - done [6]
+ RL1.5 Simple Loose Matches - done [7]
+ RL1.6 Line Boundaries - MISSING [8][9]
+ RL1.7 Supplementary Code Points - done [10]
[1] \x{...}
[2] \p{...} \P{...}
- [3] supports not only minimal list, but all Unicode character
- properties (see L</Unicode Character Properties>)
+ [3] supports not only minimal list, but all Unicode character
+ properties (see L</Unicode Character Properties>)
[4] \d \D \s \S \w \W \X [:prop:] [:^prop:]
[5] can use regular expression look-ahead [a] or
- user-defined character properties [b] to emulate set operations
+ user-defined character properties [b] to emulate set
+ operations
[6] \b \B
- [7] note that Perl does Full case-folding in matching (but with bugs),
- not Simple: for example U+1F88 is equivalent to U+1F00 U+03B9,
- not with 1F80. This difference matters mainly for certain Greek
- capital letters with certain modifiers: the Full case-folding
- decomposes the letter, while the Simple case-folding would map
- it to a single character.
- [8] should do ^ and $ also on U+000B (\v in C), FF (\f), CR (\r),
- CRLF (\r\n), NEL (U+0085), LS (U+2028), and PS (U+2029);
- should also affect <>, $., and script line numbers;
- should not split lines within CRLF [c] (i.e. there is no empty
- line between \r and \n)
- [9] UTF-8/UTF-EBDDIC used in perl allows not only U+10000 to U+10FFFF
- but also beyond U+10FFFF [d]
+ [7] note that Perl does Full case-folding in matching (but with
+ bugs), not Simple: for example U+1F88 is equivalent to
+ U+1F00 U+03B9, not with 1F80. This difference matters
+ mainly for certain Greek capital letters with certain
+ modifiers: the Full case-folding decomposes the letter,
+ while the Simple case-folding would map it to a single
+ character.
+ [8] should do ^ and $ also on U+000B (\v in C), FF (\f), CR
+ (\r), CRLF (\r\n), NEL (U+0085), LS (U+2028), and PS
+ (U+2029); should also affect <>, $., and script line
+ numbers; should not split lines within CRLF [c] (i.e. there
+ is no empty line between \r and \n)
+ [9] Linebreaking conformant with UAX#14 "Unicode Line Breaking
+ Algorithm" is available through the Unicode::LineBreaking
+ module.
+ [10] UTF-8/UTF-EBDDIC used in Perl allows not only U+10000 to
+ U+10FFFF but also beyond U+10FFFF
[a] You can mimic class subtraction using lookahead.
For example, what UTS#18 might write as
@@ -985,9 +1128,6 @@ UTS#18 grouping, intersection, union, and removal (subtraction) syntax.
[c] Try the C<:crlf> layer (see L<PerlIO>).
-[d] U+FFFF will currently generate a warning message if 'utf8' warnings are
- enabled
-
=item *
Level 2 - Extended Unicode Support
@@ -1004,8 +1144,7 @@ Level 2 - Extended Unicode Support
[12] have \X but we don't have a "Grapheme Cluster Mode"
[14] see UAX#29, Word Boundaries
[15] see UAX#21 "Case Mappings"
- [16] have \N{...} but neither compute names of CJK Ideographs
- and Hangul Syllables nor use a loose match [e]
+ [16] missing loose match [e]
[e] C<\N{...}> allows namespaces (see L<charnames>).
@@ -1027,11 +1166,12 @@ Level 3 - Tailored Support
[17] see UAX#10 "Unicode Collation Algorithms"
[18] have Unicode::Collate but not integrated to regexes
- [19] have (?<=x) and (?=x), but look-aheads or look-behinds should see
- outside of the target substring
- [20] need insensitive matching for linguistic features other than case;
- for example, hiragana to katakana, wide and narrow, simplified Han
- to traditional Han (see UTR#30 "Character Foldings")
+ [19] have (?<=x) and (?=x), but look-aheads or look-behinds
+ should see outside of the target substring
+ [20] need insensitive matching for linguistic features other
+ than case; for example, hiragana to katakana, wide and
+ narrow, simplified Han to traditional Han (see UTR#30
+ "Character Foldings")
=back
@@ -1046,27 +1186,26 @@ numbers. To use these numbers, various encodings are needed.
UTF-8
-UTF-8 is a variable-length (1 to 6 bytes, current character allocations
-require 4 bytes), byte-order independent encoding. For ASCII (and we
-really do mean 7-bit ASCII, not another 8-bit encoding), UTF-8 is
-transparent.
+UTF-8 is a variable-length (1 to 4 bytes), byte-order independent
+encoding. For ASCII (and we really do mean 7-bit ASCII, not another
+8-bit encoding), UTF-8 is transparent.
The following table is from Unicode 3.2.
- Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
+ Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
- U+0000..U+007F 00..7F
+ U+0000..U+007F 00..7F
U+0080..U+07FF * C2..DF 80..BF
- U+0800..U+0FFF E0 * A0..BF 80..BF
+ U+0800..U+0FFF E0 * A0..BF 80..BF
U+1000..U+CFFF E1..EC 80..BF 80..BF
U+D000..U+D7FF ED 80..9F 80..BF
U+D800..U+DFFF +++++++ utf16 surrogates, not legal utf8 +++++++
U+E000..U+FFFF EE..EF 80..BF 80..BF
- U+10000..U+3FFFF F0 * 90..BF 80..BF 80..BF
- U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
- U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
+ U+10000..U+3FFFF F0 * 90..BF 80..BF 80..BF
+ U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
+ U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
-Note the gaps before several of the byte entries above marked by '*'. These are
+Note the gaps marked by "*" before several of the byte entries above. These are
caused by legal UTF-8 avoiding non-shortest encodings: it is technically
possible to UTF-8-encode a single code point in different ways, but that is
explicitly forbidden, and the shortest possible encoding should always be used
@@ -1085,6 +1224,16 @@ As you can see, the continuation bytes all begin with "10", and the
leading bits of the start byte tell how many bytes there are in the
encoded character.
+The original UTF-8 specification allowed up to 6 bytes, to allow
+encoding of numbers up to 0x7FFF_FFFF. Perl continues to allow those,
+and has extended that up to 13 bytes to encode code points up to what
+can fit in a 64-bit word. However, Perl will warn if you output any of
+these as being non-portable; and under strict UTF-8 input protocols,
+they are forbidden.
+
+The Unicode non-character code points are also disallowed in UTF-8 in
+"open interchange". See L</Non-character code points>.
+
=item *
UTF-EBCDIC
@@ -1098,8 +1247,10 @@ UTF-16, UTF-16BE, UTF-16LE, Surrogates, and BOMs (Byte Order Marks)
The followings items are mostly for reference and general Unicode
knowledge, Perl doesn't use these constructs internally.
-UTF-16 is a 2 or 4 byte encoding. The Unicode code points
-C<U+0000..U+FFFF> are stored in a single 16-bit unit, and the code
+Like UTF-8, UTF-16 is a variable-width encoding, but where
+UTF-8 uses 8-bit code units, UTF-16 uses 16-bit code units.
+All code points occupy either 2 or 4 bytes in UTF-16: code points
+C<U+0000..U+FFFF> are stored in a single 16-bit unit, and code
points C<U+10000..U+10FFFF> in two 16-bit units. The latter case is
using I<surrogates>, the first 16-bit unit being the I<high
surrogate>, and the second being the I<low surrogate>.
@@ -1109,16 +1260,12 @@ range of Unicode code points in pairs of 16-bit units. The I<high
surrogates> are the range C<U+D800..U+DBFF> and the I<low surrogates>
are the range C<U+DC00..U+DFFF>. The surrogate encoding is
- $hi = ($uni - 0x10000) / 0x400 + 0xD800;
- $lo = ($uni - 0x10000) % 0x400 + 0xDC00;
+ $hi = ($uni - 0x10000) / 0x400 + 0xD800;
+ $lo = ($uni - 0x10000) % 0x400 + 0xDC00;
and the decoding is
- $uni = 0x10000 + ($hi - 0xD800) * 0x400 + ($lo - 0xDC00);
-
-If you try to generate surrogates (for example by using chr()), you
-will get a warning, if warnings are turned on, because those code
-points are not valid for a Unicode character.
+ $uni = 0x10000 + ($hi - 0xD800) * 0x400 + ($lo - 0xDC00);
Because of the 16-bitness, UTF-16 is byte-order dependent. UTF-16
itself can be used for in-memory computations, but if storage or
@@ -1138,12 +1285,23 @@ you will read the bytes C<0xFF 0xFE>. (And if the originating platform
was writing in UTF-8, you will read the bytes C<0xEF 0xBB 0xBF>.)
The way this trick works is that the character with the code point
-C<U+FFFE> is guaranteed not to be a valid Unicode character, so the
+C<U+FFFE> is not supposed to be in input streams, so the
sequence of bytes C<0xFF 0xFE> is unambiguously "BOM, represented in
little-endian format" and cannot be C<U+FFFE>, represented in big-endian
-format". (Actually, C<U+FFFE> is legal for use by your program, even for
-input/output, but better not use it if you need a BOM. But it is "illegal for
-interchange", so that an unsuspecting program won't get confused.)
+format".
+
+Surrogates have no meaning in Unicode outside their use in pairs to
+represent other code points. However, Perl allows them to be
+represented individually internally, for example by saying
+C<chr(0xD801)>, so that all code points, not just those valid for open
+interchange, are
+representable. Unicode does define semantics for them, such as their
+General Category is "Cs". But because their use is somewhat dangerous,
+Perl will warn (using the warning category "surrogate", which is a
+sub-category of "utf8") if an attempt is made
+to do things like take the lower case of one, or match
+case-insensitively, or to output them. (But don't try this on Perls
+before 5.14.)
=item *
@@ -1151,17 +1309,18 @@ UTF-32, UTF-32BE, UTF-32LE
The UTF-32 family is pretty much like the UTF-16 family, expect that
the units are 32-bit, and therefore the surrogate scheme is not
-needed. The BOM signatures will be C<0x00 0x00 0xFE 0xFF> for BE and
-C<0xFF 0xFE 0x00 0x00> for LE.
+needed. UTF-32 is a fixed-width encoding. The BOM signatures are
+C<0x00 0x00 0xFE 0xFF> for BE and C<0xFF 0xFE 0x00 0x00> for LE.
=item *
UCS-2, UCS-4
-Encodings defined by the ISO 10646 standard. UCS-2 is a 16-bit
+Legacy, fixed-width encodings defined by the ISO 10646 standard. UCS-2 is a 16-bit
encoding. Unlike UTF-16, UCS-2 is not extensible beyond C<U+FFFF>,
because it does not use surrogates. UCS-4 is a 32-bit encoding,
-functionally identical to UTF-32.
+functionally identical to UTF-32 (the difference being that
+UCS-4 forbids neither surrogates nor code points larger than 0x10_FFFF).
=item *
@@ -1172,6 +1331,36 @@ transport or storage is not eight-bit safe. Defined by RFC 2152.
=back
+=head2 Non-character code points
+
+66 code points are set aside in Unicode as "non-character code points".
+These all have the Unassigned (Cn) General Category, and they never will
+be assigned. These are never supposed to be in legal Unicode input
+streams, so that code can use them as sentinels that can be mixed in
+with character data, and they always will be distinguishable from that data.
+To keep them out of Perl input streams, strict UTF-8 should be
+specified, such as by using the layer C<:encoding('UTF-8')>. The
+non-character code points are the 32 between U+FDD0 and U+FDEF, and the
+34 code points U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, ... U+10FFFE, U+10FFFF.
+Some people are under the mistaken impression that these are "illegal",
+but that is not true. An application or cooperating set of applications
+can legally use them at will internally; but these code points are
+"illegal for open interchange". Therefore, Perl will not accept these
+from input streams unless lax rules are being used, and will warn
+(using the warning category "nonchar", which is a sub-category of "utf8") if
+an attempt is made to output them.
+
+=head2 Beyond Unicode code points
+
+The maximum Unicode code point is U+10FFFF. But Perl accepts code
+points up to the maximum permissible unsigned number available on the
+platform. However, Perl will not accept these from input streams unless
+lax rules are being used, and will warn (using the warning category
+"non_unicode", which is a sub-category of "utf8") if an attempt is made to
+operate on or output them. For example, C<uc(0x11_0000)> will generate
+this warning, returning the input parameter as its result, as the upper
+case of every non-Unicode code point is the code point itself.
+
=head2 Security Implications of Unicode
Read L<Unicode Security Considerations|http://www.unicode.org/reports/tr36>.
@@ -1183,7 +1372,7 @@ Also, note the following:
Malformed UTF-8
-Unfortunately, the specification of UTF-8 leaves some room for
+Unfortunately, the original specification of UTF-8 leaves some room for
interpretation of how many bytes of encoded output one should generate
from one input Unicode character. Strictly speaking, the shortest
possible sequence of UTF-8 bytes should be generated,
@@ -1191,27 +1380,16 @@ because otherwise there is potential for an input buffer overflow at
the receiving end of a UTF-8 connection. Perl always generates the
shortest length UTF-8, and with warnings on, Perl will warn about
non-shortest length UTF-8 along with other malformations, such as the
-surrogates, which are not real Unicode code points.
+surrogates, which are not Unicode code points valid for interchange.
=item *
-Regular expressions behave slightly differently between byte data and
-character (Unicode) data. For example, the "word character" character
-class C<\w> will work differently depending on if data is eight-bit bytes
-or Unicode.
-
-In the first case, the set of C<\w> characters is either small--the
-default set of alphabetic characters, digits, and the "_"--or, if you
-are using a locale (see L<perllocale>), the C<\w> might contain a few
-more letters according to your language and country.
+Regular expression pattern matching may surprise you if you're not
+accustomed to Unicode. Starting in Perl 5.14, several pattern
+modifiers are available to control this, called the character set
+modifiers. Details are given in L<perlre/Character set modifiers>.
-In the second case, the C<\w> set of characters is much, much larger.
-Most importantly, even in the set of the first 256 characters, it will
-probably match different characters: unlike most locales, which are
-specific to a language and country pair, Unicode classifies all the
-characters that are letters I<somewhere> as C<\w>. For example, your
-locale might not think that LATIN SMALL LETTER ETH is a letter (unless
-you happen to speak Icelandic), but Unicode does.
+=back
As discussed elsewhere, Perl has one foot (two hooves?) planted in
each of two worlds: the old world of bytes and the new world of
@@ -1220,10 +1398,8 @@ If your legacy code does not explicitly use Unicode, no automatic
switch-over to characters should happen. Characters shouldn't get
downgraded to bytes, either. It is possible to accidentally mix bytes
and characters, however (see L<perluniintro>), in which case C<\w> in
-regular expressions might start behaving differently. Review your
-code. Use warnings and the C<strict> pragma.
-
-=back
+regular expressions might start behaving differently (unless the C</a>
+modifier is in effect). Review your code. Use warnings and the C<strict> pragma.
=head2 Unicode in Perl on EBCDIC
@@ -1238,45 +1414,27 @@ for more discussion of the issues.
=head2 Locales
-Usually locale settings and Unicode do not affect each other, but
-there are a couple of exceptions:
-
-=over 4
-
-=item *
-
-You can enable automatic UTF-8-ification of your standard file
-handles, default C<open()> layer, and C<@ARGV> by using either
-the C<-C> command line switch or the C<PERL_UNICODE> environment
-variable, see L<perlrun> for the documentation of the C<-C> switch.
-
-=item *
-
-Perl tries really hard to work both with Unicode and the old
-byte-oriented world. Most often this is nice, but sometimes Perl's
-straddling of the proverbial fence causes problems.
-
-=back
+See L<perllocale/Unicode and UTF-8>
=head2 When Unicode Does Not Happen
While Perl does have extensive ways to input and output in Unicode,
-and few other 'entry points' like the @ARGV which can be interpreted
-as Unicode (UTF-8), there still are many places where Unicode (in some
-encoding or another) could be given as arguments or received as
+and a few other "entry points" like the @ARGV array (which can sometimes be
+interpreted as UTF-8), there are still many places where Unicode
+(in some encoding or another) could be given as arguments or received as
results, or both, but it is not.
The following are such interfaces. Also, see L</The "Unicode Bug">.
For all of these interfaces Perl
currently (as of 5.8.3) simply assumes byte strings both as arguments
-and results, or UTF-8 strings if the C<encoding> pragma has been used.
+and results, or UTF-8 strings if the (problematic) C<encoding> pragma has been used.
-One reason why Perl does not attempt to resolve the role of Unicode in
-these cases is that the answers are highly dependent on the operating
+One reason that Perl does not attempt to resolve the role of Unicode in
+these situations is that the answers are highly dependent on the operating
system and the file system(s). For example, whether filenames can be
-in Unicode, and in exactly what kind of encoding, is not exactly a
-portable concept. Similarly for the qx and system: how well will the
-'command line interface' (and which of them?) handle Unicode?
+in Unicode and in exactly what kind of encoding, is not exactly a
+portable concept. Similarly for C<qx> and C<system>: how well will the
+"command-line interface" (and which of them?) handle Unicode?
=over 4
@@ -1309,11 +1467,15 @@ readdir, readlink
=head2 The "Unicode Bug"
-The term, the "Unicode bug" has been applied to an inconsistency with the
-Unicode characters whose ordinals are in the Latin-1 Supplement block, that
+The term, the "Unicode bug" has been applied to an inconsistency
+on ASCII platforms with the
+Unicode code points in the Latin-1 Supplement block, that
is, between 128 and 255. Without a locale specified, unlike all other
characters or code points, these characters have very different semantics in
-byte semantics versus character semantics.
+byte semantics versus character semantics, unless
+C<use feature 'unicode_strings'> is specified.
+(The lesson here is to specify C<unicode_strings> to avoid the
+headaches.)
In character semantics they are interpreted as Unicode code points, which means
they have the same semantics as Latin-1 (ISO-8859-1).
@@ -1321,9 +1483,7 @@ they have the same semantics as Latin-1 (ISO-8859-1).
In byte semantics, they are considered to be unassigned characters, meaning
that the only semantics they have is their ordinal numbers, and that they are
not members of various character classes. None are considered to match C<\w>
-for example, but all match C<\W>. (On EBCDIC platforms, the behavior may
-be different from this, depending on the underlying C language library
-functions.)
+for example, but all match C<\W>.
The behavior is known to have effects on these areas:
@@ -1341,7 +1501,15 @@ Using caseless (C</i>) regular expression matching
=item *
-Matching a number of properties in regular expressions, such as C<\w>
+Matching any of several properties in regular expressions, namely C<\b>,
+C<\B>, C<\s>, C<\S>, C<\w>, C<\W>, and all the Posix character classes
+I<except> C<[[:ascii:]]>.
+
+=item *
+
+In C<quotemeta> or its inline equivalent C<\Q>, no characters
+code points above 127 are quoted in UTF-8 encoded strings, but in
+byte encoded strings, code points between 128-255 are always quoted.
=item *
@@ -1357,6 +1525,7 @@ which changes the string's semantics from byte to character or vice versa. As
an example, consider the following program and its output:
$ perl -le'
+ no feature 'unicode_strings';
$s1 = "\xC2";
$s2 = "\x{2660}";
for ($s1, $s2, $s1.$s2) {
@@ -1375,22 +1544,24 @@ ASCII range (except in a locale), along with Perl's desire to add Unicode
support seamlessly. The result wasn't seamless: these characters were
orphaned.
-Work is being done to correct this, but only some of it was complete in time
-for the 5.12 release. What has been finished is the important part of the case
-changing component. Due to concerns, and some evidence, that older code might
-have come to rely on the existing behavior, the new behavior must be explicitly
-enabled by the feature C<unicode_strings> in the L<feature> pragma, even though
-no new syntax is involved.
-
-See L<perlfunc/lc> for details on how this pragma works in combination with
-various others for casing. Even though the pragma only affects casing
-operations in the 5.12 release, it is planned to have it affect all the
-problematic behaviors in later releases: you can't have one without them all.
-
-In the meantime, a workaround is to always call utf8::upgrade($string), or to
-use the standard module L<Encode>. Also, a scalar that has any characters
+Starting in Perl 5.14, C<use feature 'unicode_strings'> can be used to
+cause Perl to use Unicode semantics on all string operations within the
+scope of the feature subpragma. Regular expressions compiled in its
+scope retain that behavior even when executed or compiled into larger
+regular expressions outside the scope. (The pragma does not, however,
+affect the C<quotemeta> behavior. Nor does it affect the deprecated
+user-defined case changing operations--these still require a UTF-8
+encoded string to operate.)
+
+In Perl 5.12, the subpragma affected casing changes, but not regular
+expressions. See L<perlfunc/lc> for details on how this pragma works in
+combination with various others for casing.
+
+For earlier Perls, or when a string is passed to a function outside the
+subpragma's scope, a workaround is to always call C<utf8::upgrade($string)>,
+or to use the standard module L<Encode>. Also, a scalar that has any characters
whose ordinal is above 0x100, or which were specified using either of the
-C<\N{...}> notations will automatically have character semantics.
+C<\N{...}> notations, will automatically have character semantics.
=head2 Forcing Unicode in Perl (Or Unforcing Unicode in Perl)
@@ -1503,9 +1674,10 @@ output more readable.
=item *
-C<ibcmp_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2)> can be used to
+C<foldEQ_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2)> can be used to
compare two strings case-insensitively in Unicode. For case-sensitive
-comparisons you can just use C<memEQ()> and C<memNE()> as usual.
+comparisons you can just use C<memEQ()> and C<memNE()> as usual, except
+if one string is in utf8 and the other isn't.
=back
@@ -1517,16 +1689,16 @@ in the Perl source code distribution.
Perl by default comes with the latest supported Unicode version built in, but
you can change to use any earlier one.
-Download the files in the version of Unicode that you want from the Unicode web
+Download the files in the desired version of Unicode from the Unicode web
site L<http://www.unicode.org>). These should replace the existing files in
-C<\$Config{privlib}>/F<unicore>. (C<\%Config> is available from the Config
-module.) Follow the instructions in F<README.perl> in that directory to change
-some of their names, and then run F<make>.
-
-It is even possible to download them to a different directory, and then change
-F<utf8_heavy.pl> in the directory C<\$Config{privlib}> to point to the new
-directory, or maybe make a copy of that directory before making the change, and
-using C<@INC> or the C<-I> run-time flag to switch between versions at will
+F<lib/unicore> in the Perl source tree. Follow the instructions in
+F<README.perl> in that directory to change some of their names, and then build
+perl (see F<INSTALL>).
+
+It is even possible to copy the built files to a different directory, and then
+change F<utf8_heavy.pl> in the directory C<$Config{privlib}> to point to the
+new directory, or maybe make a copy of that directory before making the change,
+and using C<@INC> or the C<-I> run-time flag to switch between versions at will
(but because of caching, not in the middle of a process), but all this is
beyond the scope of these instructions.
@@ -1534,30 +1706,17 @@ beyond the scope of these instructions.
=head2 Interaction with Locales
-Use of locales with Unicode data may lead to odd results. Currently,
-Perl attempts to attach 8-bit locale info to characters in the range
-0..255, but this technique is demonstrably incorrect for locales that
-use characters above that range when mapped into Unicode. Perl's
-Unicode support will also tend to run slower. Use of locales with
-Unicode is discouraged.
+See L<perllocale/Unicode and UTF-8>
=head2 Problems with characters in the Latin-1 Supplement range
See L</The "Unicode Bug">
-=head2 Problems with case-insensitive regular expression matching
-
-There are problems with case-insensitive matches, including those involving
-character classes (enclosed in [square brackets]), characters whose fold
-is to multiple characters (such as the single character LATIN SMALL LIGATURE
-FFL matches case-insensitively with the 3-character string C<ffl>), and
-characters in the Latin-1 Supplement.
-
=head2 Interaction with Extensions
When Perl exchanges data with an extension, the extension should be
able to understand the UTF8 flag and act accordingly. If the
-extension doesn't know about the flag, it's likely that the extension
+extension doesn't recognize that flag, it's likely that the extension
will return incorrectly-flagged data.
So if you're working with Unicode data, consult the documentation of
@@ -1581,13 +1740,14 @@ would convert the argument to raw UTF-8 and convert the result back to
Perl's internal representation like so:
sub my_escape_html ($) {
- my($what) = shift;
- return unless defined $what;
- Encode::decode_utf8(Foo::Bar::escape_html(Encode::encode_utf8($what)));
+ my($what) = shift;
+ return unless defined $what;
+ Encode::decode_utf8(Foo::Bar::escape_html(
+ Encode::encode_utf8($what)));
}
Sometimes, when the extension does not convert data but just stores
-and retrieves them, you will be in a position to use the otherwise
+and retrieves them, you will be able to use the otherwise
dangerous Encode::_utf8_on() function. Let's say the popular
C<Foo::Bar> extension, written in C, provides a C<param> method that
lets you store and retrieve data according to these prototypes:
@@ -1630,12 +1790,12 @@ somewhat less spectacular, at least for some operations. In general,
operations with UTF-8 encoded strings are still slower. As an example,
the Unicode properties (character classes) like C<\p{Nd}> are known to
be quite a bit slower (5-20 times) than their simpler counterparts
-like C<\d> (then again, there 268 Unicode characters matching C<Nd>
+like C<\d> (then again, there are hundreds of Unicode characters matching C<Nd>
compared with the 10 ASCII characters matching C<d>).
=head2 Problems on EBCDIC platforms
-There are a number of known problems with Perl on EBCDIC platforms. If you
+There are several known problems with Perl on EBCDIC platforms. If you
want to use Perl there, send email to perlbug@perl.org.
In earlier versions, when byte and character data were concatenated,
@@ -1714,7 +1874,8 @@ to deal with UTF-8 data. Please check the documentation to verify if
that is still true.
sub fetchrow {
- my($self, $sth, $what) = @_; # $what is one of fetchrow_{array,hashref}
+ # $what is one of fetchrow_{array,hashref}
+ my($self, $sth, $what) = @_;
if ($] < 5.007) {
return $sth->$what;
} else {
@@ -1729,7 +1890,9 @@ that is still true.
my $ret = $sth->$what;
if (ref $ret) {
for my $k (keys %$ret) {
- defined && /[^\000-\177]/ && Encode::_utf8_on($_) for $ret->{$k};
+ defined
+ && /[^\000-\177]/
+ && Encode::_utf8_on($_) for $ret->{$k};
}
return $ret;
} else {
diff --git a/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod b/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod
index ab42ff194a0..9fd2b380567 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod
@@ -84,12 +84,12 @@ or encode anymore, on things that use the layered handle.
You can provide this layer when C<open>ing the file:
- open my $fh, '>:encoding(UTF-8)', $filename; # auto encoding on write
- open my $fh, '<:encoding(UTF-8)', $filename; # auto decoding on read
+ open my $fh, '>:encoding(UTF-8)', $filename; # auto encoding on write
+ open my $fh, '<:encoding(UTF-8)', $filename; # auto decoding on read
Or if you already have an open filehandle:
- binmode $fh, ':encoding(UTF-8)';
+ binmode $fh, ':encoding(UTF-8)';
Some database drivers for DBI can also automatically encode and decode, but
that is sometimes limited to the UTF-8 encoding.
@@ -138,28 +138,27 @@ concern, and you can just C<eval> dumped data as always.
=head2 Why do some characters not uppercase or lowercase correctly?
-It seemed like a good idea at the time, to keep the semantics the same for
-standard strings, when Perl got Unicode support. The plan is to fix this
-in the future, and the casing component has in fact mostly been fixed, but we
-have to deal with the fact that Perl treats equal strings differently,
-depending on the internal state.
-
-First the casing. Just put a C<use feature 'unicode_strings'> near the
-beginning of your program. Within its lexical scope, C<uc>, C<lc>, C<ucfirst>,
-C<lcfirst>, and the regular expression escapes C<\U>, C<\L>, C<\u>, C<\l> use
-Unicode semantics for changing case regardless of whether the UTF8 flag is on
-or not. However, if you pass strings to subroutines in modules outside the
-pragma's scope, they currently likely won't behave this way, and you have to
-try one of the solutions below. There is another exception as well: if you
-have furnished your own casing functions to override the default, these will
-not be called unless the UTF8 flag is on)
-
-This remains a problem for the regular expression constructs
-C<\d>, C<\s>, C<\w>, C<\D>, C<\S>, C<\W>, C</.../i>, C<(?i:...)>,
-and C</[[:posix:]]/>.
-
-To force Unicode semantics, you can upgrade the internal representation to
-by doing C<utf8::upgrade($string)>. This can be used
+Starting in Perl 5.14 (and partially in Perl 5.12), just put a
+C<use feature 'unicode_strings'> near the beginning of your program.
+Within its lexical scope you shouldn't have this problem. It also is
+automatically enabled under C<use feature ':5.12'> or using C<-E> on the
+command line for Perl 5.12 or higher.
+
+The rationale for requiring this is to not break older programs that
+rely on the way things worked before Unicode came along. Those older
+programs knew only about the ASCII character set, and so may not work
+properly for additional characters. When a string is encoded in UTF-8,
+Perl assumes that the program is prepared to deal with Unicode, but when
+the string isn't, Perl assumes that only ASCII (unless it is an EBCDIC
+platform) is wanted, and so those characters that are not ASCII
+characters aren't recognized as to what they would be in Unicode.
+C<use feature 'unicode_strings'> tells Perl to treat all characters as
+Unicode, whether the string is encoded in UTF-8 or not, thus avoiding
+the problem.
+
+However, on earlier Perls, or if you pass strings to subroutines outside
+the feature's scope, you can force Unicode semantics by changing the
+encoding to UTF-8 by doing C<utf8::upgrade($string)>. This can be used
safely on any string, as it checks and does not change strings that have
already been upgraded.
diff --git a/Master/tlpkg/tlperl/lib/pods/perluniintro.pod b/Master/tlpkg/tlperl/lib/pods/perluniintro.pod
index bee286f5eaa..3fbff0024fd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perluniintro.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perluniintro.pod
@@ -5,21 +5,22 @@ perluniintro - Perl Unicode introduction
=head1 DESCRIPTION
This document gives a general idea of Unicode and how to use Unicode
-in Perl.
+in Perl. See L</Further Resources> for references to more in-depth
+treatments of Unicode.
=head2 Unicode
Unicode is a character set standard which plans to codify all of the
writing systems of the world, plus many other symbols.
-Unicode and ISO/IEC 10646 are coordinated standards that provide code
-points for characters in almost all modern character set standards,
-covering more than 30 writing systems and hundreds of languages,
+Unicode and ISO/IEC 10646 are coordinated standards that unify
+almost all other modern character set standards,
+covering more than 80 writing systems and hundreds of languages,
including all commercially-important modern languages. All characters
in the largest Chinese, Japanese, and Korean dictionaries are also
encoded. The standards will eventually cover almost all characters in
more than 250 writing systems and thousands of languages.
-Unicode 1.0 was released in October 1991, and 4.0 in April 2003.
+Unicode 1.0 was released in October 1991, and 6.0 in October 2010.
A Unicode I<character> is an abstract entity. It is not bound to any
particular integer width, especially not to the C language C<char>.
@@ -31,7 +32,9 @@ those characters.
Unicode defines characters like C<LATIN CAPITAL LETTER A> or C<GREEK
SMALL LETTER ALPHA> and unique numbers for the characters, in this
case 0x0041 and 0x03B1, respectively. These unique numbers are called
-I<code points>.
+I<code points>. A code point is essentially the position of the
+character within the set of all possible Unicode characters, and thus in
+Perl, the term I<ordinal> is often used interchangeably with it.
The Unicode standard prefers using hexadecimal notation for the code
points. If numbers like C<0x0041> are unfamiliar to you, take a peek
@@ -51,39 +54,41 @@ modelled by a I<base character> (like C<LATIN CAPITAL LETTER A>) followed
by one or more I<modifiers> (like C<COMBINING ACUTE ACCENT>). This sequence of
base character and modifiers is called a I<combining character
sequence>. Some non-western languages require more complicated
-models, so Unicode created the I<grapheme cluster> concept, and then the
-I<extended grapheme cluster>. For example, a Korean Hangul syllable is
-considered a single logical character, but most often consists of three actual
+models, so Unicode created the I<grapheme cluster> concept, which was
+later further refined into the I<extended grapheme cluster>. For
+example, a Korean Hangul syllable is considered a single logical
+character, but most often consists of three actual
Unicode characters: a leading consonant followed by an interior vowel followed
by a trailing consonant.
Whether to call these extended grapheme clusters "characters" depends on your
point of view. If you are a programmer, you probably would tend towards seeing
-each element in the sequences as one unit, or "character". The whole sequence
-could be seen as one "character", however, from the user's point of view, since
-that's probably what it looks like in the context of the user's language.
-
-With this "whole sequence" view of characters, the total number of
-characters is open-ended. But in the programmer's "one unit is one
-character" point of view, the concept of "characters" is more
-deterministic. In this document, we take that second point of view:
-one "character" is one Unicode code point.
-
-For some combinations, there are I<precomposed> characters.
-C<LATIN CAPITAL LETTER A WITH ACUTE>, for example, is defined as
-a single code point. These precomposed characters are, however,
-only available for some combinations, and are mainly
-meant to support round-trip conversions between Unicode and legacy
-standards (like the ISO 8859). In the general case, the composing
-method is more extensible. To support conversion between
-different compositions of the characters, various I<normalization
-forms> to standardize representations are also defined.
+each element in the sequences as one unit, or "character". However from
+the user's point of view, the whole sequence could be seen as one
+"character" since that's probably what it looks like in the context of the
+user's language. In this document, we take the programmer's point of
+view: one "character" is one Unicode code point.
+
+For some combinations of base character and modifiers, there are
+I<precomposed> characters. There is a single character equivalent, for
+example, to the sequence C<LATIN CAPITAL LETTER A> followed by
+C<COMBINING ACUTE ACCENT>. It is called C<LATIN CAPITAL LETTER A WITH
+ACUTE>. These precomposed characters are, however, only available for
+some combinations, and are mainly meant to support round-trip
+conversions between Unicode and legacy standards (like ISO 8859). Using
+sequences, as Unicode does, allows for needing fewer basic building blocks
+(code points) to express many more potential grapheme clusters. To
+support conversion between equivalent forms, various I<normalization
+forms> are also defined. Thus, C<LATIN CAPITAL LETTER A WITH ACUTE> is
+in I<Normalization Form Composed>, (abbreviated NFC), and the sequence
+C<LATIN CAPITAL LETTER A> followed by C<COMBINING ACUTE ACCENT>
+represents the same character in I<Normalization Form Decomposed> (NFD).
Because of backward compatibility with legacy encodings, the "a unique
number for every character" idea breaks down a bit: instead, there is
"at least one number for every character". The same character could
be represented differently in several legacy encodings. The
-converse is also not true: some code points do not have an assigned
+converse is not also true: some code points do not have an assigned
character. Firstly, there are unallocated code points within
otherwise used blocks. Secondly, there are special Unicode control
characters that do not represent true characters.
@@ -128,24 +133,36 @@ natively. Perl 5.8.0, however, is the first recommended release for
serious Unicode work. The maintenance release 5.6.1 fixed many of the
problems of the initial Unicode implementation, but for example
regular expressions still do not work with Unicode in 5.6.1.
-
-B<Starting from Perl 5.8.0, the use of C<use utf8> is needed only in much more restricted circumstances.> In earlier releases the C<utf8> pragma was used to declare
+Perl 5.14.0 is the first release where Unicode support is
+(almost) seamlessly integrable without some gotchas (the exception being
+some differences in L<quotemeta|perlfunc/quotemeta>). To enable this
+seamless support, you should C<use feature 'unicode_strings'> (which is
+automatically selected if you C<use 5.012> or higher). See L<feature>.
+(5.14 also fixes a number of bugs and departures from the Unicode
+standard.)
+
+Before Perl 5.8.0, the use of C<use utf8> was used to declare
that operations in the current block or file would be Unicode-aware.
This model was found to be wrong, or at least clumsy: the "Unicodeness"
is now carried with the data, instead of being attached to the
-operations. Only one case remains where an explicit C<use utf8> is
-needed: if your Perl script itself is encoded in UTF-8, you can use
-UTF-8 in your identifier names, and in string and regular expression
+operations.
+Starting with Perl 5.8.0, only one case remains where an explicit C<use
+utf8> is needed: if your Perl script itself is encoded in UTF-8, you can
+use UTF-8 in your identifier names, and in string and regular expression
literals, by saying C<use utf8>. This is not the default because
scripts with legacy 8-bit data in them would break. See L<utf8>.
=head2 Perl's Unicode Model
Perl supports both pre-5.6 strings of eight-bit native bytes, and
-strings of Unicode characters. The principle is that Perl tries to
-keep its data as eight-bit bytes for as long as possible, but as soon
-as Unicodeness cannot be avoided, the data is (mostly) transparently upgraded
-to Unicode. There are some problems--see L<perlunicode/The "Unicode Bug">.
+strings of Unicode characters. The general principle is that Perl tries
+to keep its data as eight-bit bytes for as long as possible, but as soon
+as Unicodeness cannot be avoided, the data is transparently upgraded
+to Unicode. Prior to Perl 5.14, the upgrade was not completely
+transparent (see L<perlunicode/The "Unicode Bug">), and for backwards
+compatibility, full transparency is not gained unless C<use feature
+'unicode_strings'> (see L<feature>) or C<use 5.012> (or higher) is
+selected.
Internally, Perl currently uses either whatever the native eight-bit
character set of the platform (for example Latin-1) is, defaulting to
@@ -182,10 +199,11 @@ handles, default C<open()> layer, and C<@ARGV> by using either
the C<-C> command line switch or the C<PERL_UNICODE> environment
variable, see L<perlrun> for the documentation of the C<-C> switch.
-Note that this means that Perl expects other software to work, too:
+Note that this means that Perl expects other software to work the same
+way:
if Perl has been led to believe that STDIN should be UTF-8, but then
-STDIN coming in from another command is not UTF-8, Perl will complain
-about the malformed UTF-8.
+STDIN coming in from another command is not UTF-8, Perl will likely
+complain about the malformed UTF-8.
All features that combine Unicode and I/O also require using the new
PerlIO feature. Almost all Perl 5.8 platforms do use PerlIO, though:
@@ -248,7 +266,7 @@ characters:
Note that both C<\x{...}> and C<\N{...}> are compile-time string
constants: you cannot use variables in them. if you want similar
-run-time functionality, use C<chr()> and C<charnames::vianame()>.
+run-time functionality, use C<chr()> and C<charnames::string_vianame()>.
If you want to force the result to Unicode characters, use the special
C<"U0"> prefix. It consumes no arguments but causes the following bytes
@@ -273,16 +291,18 @@ example
print length("\N{LATIN CAPITAL LETTER A}\N{COMBINING ACUTE ACCENT}"), "\n";
will print 2, not 1. The only exception is that regular expressions
-have C<\X> for matching an extended grapheme cluster.
+have C<\X> for matching an extended grapheme cluster. (Thus C<\X> in a
+regular expression would match the entire sequence of both the example
+characters.)
Life is not quite so transparent, however, when working with legacy
encodings, I/O, and certain special cases:
=head2 Legacy Encodings
-When you combine legacy data and Unicode the legacy data needs
-to be upgraded to Unicode. Normally ISO 8859-1 (or EBCDIC, if
-applicable) is assumed.
+When you combine legacy data and Unicode, the legacy data needs
+to be upgraded to Unicode. Normally the legacy data is assumed to be
+ISO 8859-1 (or EBCDIC, if applicable).
The C<Encode> module knows about many encodings and has interfaces
for doing conversions between those encodings:
@@ -321,9 +341,10 @@ and on already open streams, use C<binmode()>:
The matching of encoding names is loose: case does not matter, and
many encodings have several aliases. Note that the C<:utf8> layer
must always be specified exactly like that; it is I<not> subject to
-the loose matching of encoding names. Also note that C<:utf8> is unsafe for
+the loose matching of encoding names. Also note that currently C<:utf8> is unsafe for
input, because it accepts the data without validating that it is indeed valid
-UTF8.
+UTF-8; you should instead use C<:encoding(utf-8)> (with or without a
+hyphen).
See L<PerlIO> for the C<:utf8> layer, L<PerlIO::encoding> and
L<Encode::PerlIO> for the C<:encoding()> layer, and
@@ -344,7 +365,8 @@ layer when opening files
The I/O layers can also be specified more flexibly with
the C<open> pragma. See L<open>, or look at the following example.
- use open ':encoding(utf8)'; # input/output default encoding will be UTF-8
+ use open ':encoding(utf8)'; # input/output default encoding will be
+ # UTF-8
open X, ">file";
print X chr(0x100), "\n";
close X;
@@ -355,7 +377,8 @@ the C<open> pragma. See L<open>, or look at the following example.
With the C<open> pragma you can use the C<:locale> layer
BEGIN { $ENV{LC_ALL} = $ENV{LANG} = 'ru_RU.KOI8-R' }
- # the :locale will probe the locale environment variables like LC_ALL
+ # the :locale will probe the locale environment variables like
+ # LC_ALL
use open OUT => ':locale'; # russki parusski
open(O, ">koi8");
print O chr(0x430); # Unicode CYRILLIC SMALL LETTER A = KOI8-R 0xc1
@@ -432,13 +455,13 @@ its argument so that Unicode characters with code points greater than
255 are displayed as C<\x{...}>, control characters (like C<\n>) are
displayed as C<\x..>, and the rest of the characters as themselves:
- sub nice_string {
- join("",
- map { $_ > 255 ? # if wide character...
- sprintf("\\x{%04X}", $_) : # \x{...}
- chr($_) =~ /[[:cntrl:]]/ ? # else if control character ...
- sprintf("\\x%02X", $_) : # \x..
- quotemeta(chr($_)) # else quoted or as themselves
+ sub nice_string {
+ join("",
+ map { $_ > 255 ? # if wide character...
+ sprintf("\\x{%04X}", $_) : # \x{...}
+ chr($_) =~ /[[:cntrl:]]/ ? # else if control character ...
+ sprintf("\\x%02X", $_) : # \x..
+ quotemeta(chr($_)) # else quoted or as themselves
} unpack("W*", $_[0])); # unpack Unicode characters
}
@@ -513,7 +536,7 @@ C<LATIN CAPITAL LETTER A>?)
The short answer is that by default Perl compares equivalence (C<eq>,
C<ne>) based only on code points of the characters. In the above
case, the answer is no (because 0x00C1 != 0x0041). But sometimes, any
-CAPITAL LETTER As should be considered equal, or even As of any case.
+CAPITAL LETTER A's should be considered equal, or even A's of any case.
The long answer is that you need to consider character normalization
and casing issues: see L<Unicode::Normalize>, Unicode Technical Report #15,
@@ -521,7 +544,8 @@ L<Unicode Normalization Forms|http://www.unicode.org/unicode/reports/tr15> and
sections on case mapping in the L<Unicode Standard|http://www.unicode.org>.
As of Perl 5.8.0, the "Full" case-folding of I<Case
-Mappings/SpecialCasing> is implemented, but bugs remain in C<qr//i> with them.
+Mappings/SpecialCasing> is implemented, but bugs remain in C<qr//i> with them,
+mostly fixed by 5.14.
=item *
@@ -575,6 +599,8 @@ Unicode does define several other decimal--and numeric--characters
besides the familiar 0 to 9, such as the Arabic and Indic digits.
Perl does not support string-to-number conversion for digits other
than ASCII 0 to 9 (and ASCII a to f for hexadecimal).
+To get safe conversions from any Unicode string, use
+L<Unicode::UCD/num()>.
=back
@@ -601,13 +627,18 @@ How Do I Make My Scripts Work With Unicode?
Very little work should be needed since nothing changes until you
generate Unicode data. The most important thing is getting input as
Unicode; for that, see the earlier I/O discussion.
+To get full seamless Unicode support, add
+C<use feature 'unicode_strings'> (or C<use 5.012> or higher) to your
+script.
=item *
How Do I Know Whether My String Is In Unicode?
-You shouldn't have to care. But you may, because currently the semantics of the
-characters whose ordinals are in the range 128 to 255 are different depending on
+You shouldn't have to care. But you may if your Perl is before 5.14.0
+or you haven't specified C<use feature 'unicode_strings'> or C<use
+5.012> (or higher) because otherwise the semantics of the code points
+in the range 128 to 255 are different depending on
whether the string they are contained within is in Unicode or not.
(See L<perlunicode/When Unicode Does Not Happen>.)
@@ -625,7 +656,7 @@ as a single byte encoding. If the flag is on, the bytes in the scalar
are interpreted as the (variable-length, potentially multi-byte) UTF-8 encoded
code points of the characters. Bytes added to a UTF-8 encoded string are
automatically upgraded to UTF-8. If mixed non-UTF-8 and UTF-8 scalars
-are merged (double-quoted interpolation, explicit concatenation, and
+are merged (double-quoted interpolation, explicit concatenation, or
printf/sprintf parameter substitution), the result will be UTF-8 encoded
as if copies of the byte strings were upgraded to UTF-8: for example,
@@ -638,8 +669,8 @@ C<$a> will stay byte-encoded.
Sometimes you might really need to know the byte length of a string
instead of the character length. For that use either the
-C<Encode::encode_utf8()> function or the C<bytes> pragma and
-the C<length()> function:
+C<Encode::encode_utf8()> function or the C<bytes> pragma
+and the C<length()> function:
my $unicode = chr(0x100);
print length($unicode), "\n"; # will print 1
@@ -652,6 +683,12 @@ the C<length()> function:
=item *
+How Do I Find Out What Encoding a File Has?
+
+You might try L<Encode::Guess>, but it has a number of limitations.
+
+=item *
+
How Do I Detect Data That's Not Valid In a Particular Encoding?
Use the C<Encode> package to try converting it.
@@ -731,11 +768,11 @@ or:
You can find the bytes that make up a UTF-8 sequence with
- @bytes = unpack("C*", $Unicode_string)
+ @bytes = unpack("C*", $Unicode_string)
and you can create well-formed Unicode with
- $Unicode_string = pack("U*", 0xff, ...)
+ $Unicode_string = pack("U*", 0xff, ...)
=item *
@@ -748,8 +785,14 @@ L<http://www.cl.cam.ac.uk/~mgk25/unicode.html>
How Does Unicode Work With Traditional Locales?
-In Perl, not very well. Avoid using locales through the C<locale>
-pragma. Use only one or the other. But see L<perlrun> for the
+Perl tries to keep the two separated. Code points that are above 255
+are treated as Unicode; those below 256, generally as locale. This
+works reasonably well except in some case-insensitive regular expression
+pattern matches that in Unicode would cross the 255/256 boundary. These
+are disallowed.
+Also, the C<\p{}> and C<\N{}> constructs silently assume Unicode values
+even for code points below 256.
+See also L<perlrun> for the
description of the C<-C> switch and its environment counterpart,
C<$ENV{PERL_UNICODE}> to see how to enable various Unicode features,
for example by using locale settings.
@@ -810,6 +853,14 @@ L<http://www.unicode.org/glossary/>
=item *
+Unicode Recommended Reading List
+
+The Unicode Consortium has a list of articles and books, some of which
+give a much more in depth treatment of Unicode:
+L<http://unicode.org/resources/readinglist.html>
+
+=item *
+
Unicode Useful Resources
L<http://www.unicode.org/unicode/onlinedat/resources.html>
@@ -835,22 +886,6 @@ L<http://www.eki.ee/letter/>
=item *
-The Unicode support files live within the Perl installation in the
-directory
-
- $Config{installprivlib}/unicore
-
-in Perl 5.8.0 or newer, and
-
- $Config{installprivlib}/unicode
-
-in the Perl 5.6 series. (The renaming to F<lib/unicore> was done to
-avoid naming conflicts with lib/Unicode in case-insensitive filesystems.)
-The main Unicode data file is F<UnicodeData.txt> (or F<Unicode.301> in
-Perl 5.6.1.) You can find the C<$Config{installprivlib}> by
-
- perl "-V:installprivlib"
-
You can explore various information from the Unicode data files using
the C<Unicode::UCD> module.
@@ -887,6 +922,6 @@ mailing lists for their valuable feedback.
=head1 AUTHOR, COPYRIGHT, AND LICENSE
-Copyright 2001-2002 Jarkko Hietaniemi E<lt>jhi@iki.fiE<gt>
+Copyright 2001-2011 Jarkko Hietaniemi E<lt>jhi@iki.fiE<gt>
This document may be distributed under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/pods/perluniprops.pod b/Master/tlpkg/tlperl/lib/pods/perluniprops.pod
index 4768df20325..2968f5bbda9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perluniprops.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perluniprops.pod
@@ -2,7 +2,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
To change this file, edit mktables instead.
@@ -11,7 +11,7 @@ To change this file, edit mktables instead.
=head1 NAME
-perluniprops - Index of Unicode Version 5.2.0 properties in Perl
+perluniprops - Index of Unicode Version 6.0.0 properties in Perl
=head1 DESCRIPTION
@@ -28,7 +28,7 @@ Perl extension. There is some detail about Blocks, Scripts, General_Category,
and Bidi_Class in L<perlunicode>, but to find out about the intricacies of the
Unicode properties, refer to the Unicode standard. A good starting place is
L<http://www.unicode.org/reports/tr44/>. More information on the Perl extensions is in
-L<perlrecharclass>.
+L<perlunicode/Other Properties>.
Note that you can define your own properties; see
L<perlunicode/"User-Defined Character Properties">.
@@ -42,7 +42,7 @@ both single and compound forms.
B<Compound forms> consist of two components, separated by an equals sign or a
colon. The first component is the property name, and the second component is
the particular value of the property to match against, for example,
-'\p{Script: Greek}' or '\p{Script=Greek}' both mean to match characters
+'\p{Script: Greek}' and '\p{Script=Greek}' both mean to match characters
whose Script property is Greek.
B<Single forms>, like '\p{Greek}', are mostly Perl-defined shortcuts for
@@ -93,30 +93,29 @@ adjacent to (but within) the braces and the colon or equal sign.
=back
-Some properties are considered obsolete, but still available. There are
-several varieties of obsolesence:
+Some properties are considered obsolete by Unicode, but still available.
+There are several varieties of obsolescence:
=over 4
=item Obsolete
Properties marked with an 'B<O>' in the table are considered
-obsolete. At the time of this writing (Unicode version 5.2) there is no
-information in the Unicode standard about the implications of a property being
obsolete.
=item Stabilized
-Obsolete properties may be stabilized. This means that they are not actively
-maintained by Unicode, and will not be extended as new characters are added to
-the standard. Such properties are marked with an 'B<S>' in the
-table. At the time of this writing (Unicode version 5.2) there is no further
-information in the Unicode standard about the implications of a property being
-stabilized.
+Obsolete properties may be stabilized. Such a determination does not indicate
+that the property should or should not be used; instead it is a declaration
+that the property will not be maintained nor extended for newly encoded
+characters. Such properties are marked with an 'B<S>' in the
+table.
=item Deprecated
-Obsolete properties may be deprecated. This means that their use is strongly
+An obsolete property may be deprecated, perhaps because its original intent
+has been replaced by another property, or because its specification was
+somehow defective. This means that its use is strongly
discouraged, so much so that a warning will be issued if used, unless the
regular expression is in the scope of a C<S<no warnings 'deprecated'>>
statement. A 'B<D>' flags each such entry in the table, and
@@ -150,7 +149,7 @@ avoid this, or even more clearly, use the compound form, e.g.,
The table below has two columns. The left column contains the \p{}
-constructs to look up, possibly preceeded by the flags mentioned above; and
+constructs to look up, possibly preceded by the flags mentioned above; and
the right column contains information about them, like a description, or
synonyms. It shows both the single and compound forms for each property that
has them. If the left column is a short name for a property, the right column
@@ -168,6 +167,15 @@ Numbers in (parentheses) indicate the total number of code points matched by
the property. For emphasis, those properties that match no code points at all
are listed as well in a separate section following the table.
+Most properties match the same code points regardless of whether C<"/i">
+case-insensitive matching is specified or not. But a few properties are
+affected. These are shown with the notation
+
+ (/i= other_property)
+
+in the second column. Under case-insensitive matching they match the
+same code pode points as the property "other_property".
+
There is no description given for most non-Perl defined properties (See
http://www.unicode.org/reports/tr44/ for that).
@@ -254,19 +262,23 @@ this property.
T \p{Age: 5.2} Code point's usage was introduced in
version 5.2; See also Property
'Present_In' (6648)
+ T \p{Age: 6.0} Code point's usage was introduced in
+ version 6.0; See also Property
+ 'Present_In' (2088)
\p{Age: Unassigned} Code point's usage has not been assigned
in any Unicode release thus far.
- (867_169)
+ (865_081)
\p{AHex} \p{ASCII_Hex_Digit} (= \p{ASCII_Hex_Digit=
Y}) (22)
\p{AHex: *} \p{ASCII_Hex_Digit: *}
+ X \p{Alchemical_Symbols} \p{Block=Alchemical_Symbols} (128)
\p{All} \p{Any} (1_114_112)
- \p{Alnum} Alphabetic and (Decimal) Numeric (100_931)
- \p{Alpha} \p{Alphabetic=Y} (100_520)
+ \p{Alnum} Alphabetic and (Decimal) Numeric (101_959)
+ \p{Alpha} \p{Alphabetic=Y} (101_539)
\p{Alpha: *} \p{Alphabetic: *}
- \p{Alphabetic} \p{Alpha} (= \p{Alphabetic=Y}) (100_520)
- \p{Alphabetic: N*} (Short: \p{Alpha=N}, \P{Alpha}) (1_013_592)
- \p{Alphabetic: Y*} (Short: \p{Alpha=Y}, \p{Alpha}) (100_520)
+ \p{Alphabetic} \p{Alpha} (= \p{Alphabetic=Y}) (101_539)
+ \p{Alphabetic: N*} (Short: \p{Alpha=N}, \P{Alpha}) (1_012_573)
+ \p{Alphabetic: Y*} (Short: \p{Alpha=Y}, \p{Alpha}) (101_539)
X \p{Alphabetic_Presentation_Forms} \p{Block=
Alphabetic_Presentation_Forms} (80)
X \p{Ancient_Greek_Musical_Notation} \p{Block=
@@ -275,9 +287,9 @@ this property.
X \p{Ancient_Symbols} \p{Block=Ancient_Symbols} (64)
\p{Any} [\x{0000}-\x{10FFFF}] (1_114_112)
\p{Arab} \p{Arabic} (= \p{Script=Arabic}) (NOT
- \p{Block=Arabic}) (1030)
+ \p{Block=Arabic}) (1051)
\p{Arabic} \p{Script=Arabic} (Short: \p{Arab}; NOT
- \p{Block=Arabic}) (1030)
+ \p{Block=Arabic}) (1051)
X \p{Arabic_Presentation_Forms_A} \p{Block=
Arabic_Presentation_Forms_A} (688)
X \p{Arabic_Presentation_Forms_B} \p{Block=
@@ -296,7 +308,7 @@ this property.
(22)
\p{ASCII_Hex_Digit: N*} (Short: \p{AHex=N}, \P{AHex}) (1_114_090)
\p{ASCII_Hex_Digit: Y*} (Short: \p{AHex=Y}, \p{AHex}) (22)
- \p{Assigned} All assigned code points (246_877)
+ \p{Assigned} All assigned code points (248_965)
\p{Avestan} \p{Script=Avestan} (Short: \p{Avst}; NOT
\p{Block=Avestan}) (61)
\p{Avst} \p{Avestan} (= \p{Script=Avestan}) (NOT
@@ -306,10 +318,15 @@ this property.
\p{Balinese} \p{Script=Balinese} (Short: \p{Bali}; NOT
\p{Block=Balinese}) (121)
\p{Bamu} \p{Bamum} (= \p{Script=Bamum}) (NOT
- \p{Block=Bamum}) (88)
+ \p{Block=Bamum}) (657)
\p{Bamum} \p{Script=Bamum} (Short: \p{Bamu}; NOT
- \p{Block=Bamum}) (88)
+ \p{Block=Bamum}) (657)
+ X \p{Bamum_Supplement} \p{Block=Bamum_Supplement} (576)
X \p{Basic_Latin} \p{ASCII} (= \p{Block=Basic_Latin}) (128)
+ \p{Batak} \p{Script=Batak} (Short: \p{Batk}; NOT
+ \p{Block=Batak}) (56)
+ \p{Batk} \p{Batak} (= \p{Script=Batak}) (NOT
+ \p{Block=Batak}) (56)
\p{Bc: *} \p{Bidi_Class: *}
\p{Beng} \p{Bengali} (= \p{Script=Bengali}) (NOT
\p{Block=Bengali}) (92)
@@ -322,31 +339,31 @@ this property.
\p{Bidi_Class: Arabic_Letter} (Short: \p{Bc=AL}) (1116)
\p{Bidi_Class: Arabic_Number} (Short: \p{Bc=AN}) (48)
\p{Bidi_Class: B} \p{Bidi_Class=Paragraph_Separator} (7)
- \p{Bidi_Class: BN} \p{Bidi_Class=Boundary_Neutral} (4016)
- \p{Bidi_Class: Boundary_Neutral} (Short: \p{Bc=BN}) (4016)
+ \p{Bidi_Class: BN} \p{Bidi_Class=Boundary_Neutral} (4015)
+ \p{Bidi_Class: Boundary_Neutral} (Short: \p{Bc=BN}) (4015)
\p{Bidi_Class: Common_Separator} (Short: \p{Bc=CS}) (15)
\p{Bidi_Class: CS} \p{Bidi_Class=Common_Separator} (15)
\p{Bidi_Class: EN} \p{Bidi_Class=European_Number} (131)
\p{Bidi_Class: ES} \p{Bidi_Class=European_Separator} (12)
- \p{Bidi_Class: ET} \p{Bidi_Class=European_Terminator} (63)
+ \p{Bidi_Class: ET} \p{Bidi_Class=European_Terminator} (64)
\p{Bidi_Class: European_Number} (Short: \p{Bc=EN}) (131)
\p{Bidi_Class: European_Separator} (Short: \p{Bc=ES}) (12)
- \p{Bidi_Class: European_Terminator} (Short: \p{Bc=ET}) (63)
- \p{Bidi_Class: L} \p{Bidi_Class=Left_To_Right} (1_099_541)
- \p{Bidi_Class: Left_To_Right} (Short: \p{Bc=L}) (1_099_541)
+ \p{Bidi_Class: European_Terminator} (Short: \p{Bc=ET}) (64)
+ \p{Bidi_Class: L} \p{Bidi_Class=Left_To_Right} (1_098_619)
+ \p{Bidi_Class: Left_To_Right} (Short: \p{Bc=L}) (1_098_619)
\p{Bidi_Class: Left_To_Right_Embedding} (Short: \p{Bc=LRE}) (1)
\p{Bidi_Class: Left_To_Right_Override} (Short: \p{Bc=LRO}) (1)
\p{Bidi_Class: LRE} \p{Bidi_Class=Left_To_Right_Embedding} (1)
\p{Bidi_Class: LRO} \p{Bidi_Class=Left_To_Right_Override} (1)
- \p{Bidi_Class: Nonspacing_Mark} (Short: \p{Bc=NSM}) (1173)
- \p{Bidi_Class: NSM} \p{Bidi_Class=Nonspacing_Mark} (1173)
- \p{Bidi_Class: ON} \p{Bidi_Class=Other_Neutral} (3523)
- \p{Bidi_Class: Other_Neutral} (Short: \p{Bc=ON}) (3523)
+ \p{Bidi_Class: Nonspacing_Mark} (Short: \p{Bc=NSM}) (1209)
+ \p{Bidi_Class: NSM} \p{Bidi_Class=Nonspacing_Mark} (1209)
+ \p{Bidi_Class: ON} \p{Bidi_Class=Other_Neutral} (4412)
+ \p{Bidi_Class: Other_Neutral} (Short: \p{Bc=ON}) (4412)
\p{Bidi_Class: Paragraph_Separator} (Short: \p{Bc=B}) (7)
\p{Bidi_Class: PDF} \p{Bidi_Class=Pop_Directional_Format} (1)
\p{Bidi_Class: Pop_Directional_Format} (Short: \p{Bc=PDF}) (1)
- \p{Bidi_Class: R} \p{Bidi_Class=Right_To_Left} (4441)
- \p{Bidi_Class: Right_To_Left} (Short: \p{Bc=R}) (4441)
+ \p{Bidi_Class: R} \p{Bidi_Class=Right_To_Left} (4438)
+ \p{Bidi_Class: Right_To_Left} (Short: \p{Bc=R}) (4438)
\p{Bidi_Class: Right_To_Left_Embedding} (Short: \p{Bc=RLE}) (1)
\p{Bidi_Class: Right_To_Left_Override} (Short: \p{Bc=RLO}) (1)
\p{Bidi_Class: RLE} \p{Bidi_Class=Right_To_Left_Embedding} (1)
@@ -368,6 +385,8 @@ this property.
\p{Blank} \h, Horizontal white space (19)
\p{Blk: *} \p{Block: *}
\p{Block: Aegean_Numbers} (Single: \p{InAegeanNumbers}) (64)
+ \p{Block: Alchemical_Symbols} (Single: \p{InAlchemicalSymbols})
+ (128)
\p{Block: Alphabetic_Presentation_Forms} (Single:
\p{InAlphabeticPresentationForms}) (80)
\p{Block: Ancient_Greek_Musical_Notation} (Single:
@@ -392,7 +411,10 @@ this property.
NOR \p{Is_Balinese}) (128)
\p{Block: Bamum} (Single: \p{InBamum}; NOT \p{Bamum} NOR
\p{Is_Bamum}) (96)
+ \p{Block: Bamum_Supplement} (Single: \p{InBamumSupplement}) (576)
\p{Block: Basic_Latin} (Short: \p{Blk=ASCII}, \p{ASCII}) (128)
+ \p{Block: Batak} (Single: \p{InBatak}; NOT \p{Batak} NOR
+ \p{Is_Batak}) (64)
\p{Block: Bengali} (Single: \p{InBengali}; NOT \p{Bengali}
NOR \p{Is_Bengali}) (128)
\p{Block: Block_Elements} (Single: \p{InBlockElements}) (32)
@@ -400,6 +422,8 @@ this property.
NOR \p{Is_Bopomofo}) (48)
\p{Block: Bopomofo_Extended} (Single: \p{InBopomofoExtended}) (32)
\p{Block: Box_Drawing} (Single: \p{InBoxDrawing}) (128)
+ \p{Block: Brahmi} (Single: \p{InBrahmi}; NOT \p{Brahmi} NOR
+ \p{Is_Brahmi}) (128)
\p{Block: Braille_Patterns} (Single: \p{InBraillePatterns}) (256)
\p{Block: Buginese} (Single: \p{InBuginese}; NOT \p{Buginese}
NOR \p{Is_Buginese}) (32)
@@ -440,6 +464,9 @@ this property.
\p{Block: CJK_Unified_Ideographs_Extension_C} (Single:
\p{InCJKUnifiedIdeographsExtensionC})
(4160)
+ \p{Block: CJK_Unified_Ideographs_Extension_D} (Single:
+ \p{InCJKUnifiedIdeographsExtensionD})
+ (224)
\p{Block: Combining_Diacritical_Marks} (Single:
\p{InCombiningDiacriticalMarks}) (112)
\p{Block: Combining_Diacritical_Marks_For_Symbols} (Short: \p{Blk=
@@ -490,6 +517,7 @@ this property.
\p{InEgyptianHieroglyphs}; NOT
\p{Egyptian_Hieroglyphs} NOR
\p{Is_Egyptian_Hieroglyphs}) (1072)
+ \p{Block: Emoticons} (Single: \p{InEmoticons}) (80)
\p{Block: Enclosed_Alphanumeric_Supplement} (Single:
\p{InEnclosedAlphanumericSupplement})
(256)
@@ -503,6 +531,8 @@ this property.
\p{Block: Ethiopic} (Single: \p{InEthiopic}; NOT \p{Ethiopic}
NOR \p{Is_Ethiopic}) (384)
\p{Block: Ethiopic_Extended} (Single: \p{InEthiopicExtended}) (96)
+ \p{Block: Ethiopic_Extended_A} (Single: \p{InEthiopicExtendedA})
+ (48)
\p{Block: Ethiopic_Supplement} (Single: \p{InEthiopicSupplement})
(32)
\p{Block: General_Punctuation} (Single: \p{InGeneralPunctuation})
@@ -565,6 +595,7 @@ this property.
NOR \p{Is_Javanese}) (96)
\p{Block: Kaithi} (Single: \p{InKaithi}; NOT \p{Kaithi} NOR
\p{Is_Kaithi}) (80)
+ \p{Block: Kana_Supplement} (Single: \p{InKanaSupplement}) (256)
\p{Block: Kanbun} (Single: \p{InKanbun}) (16)
\p{Block: Kangxi_Radicals} (Single: \p{InKangxiRadicals}) (224)
\p{Block: Kannada} (Single: \p{InKannada}; NOT \p{Kannada}
@@ -610,6 +641,8 @@ this property.
\p{Block: Mahjong_Tiles} (Single: \p{InMahjongTiles}) (48)
\p{Block: Malayalam} (Single: \p{InMalayalam}; NOT
\p{Malayalam} NOR \p{Is_Malayalam}) (128)
+ \p{Block: Mandaic} (Single: \p{InMandaic}; NOT \p{Mandaic}
+ NOR \p{Is_Mandaic}) (32)
\p{Block: Mathematical_Alphanumeric_Symbols} (Single:
\p{InMathematicalAlphanumericSymbols})
(1024)
@@ -629,6 +662,9 @@ this property.
\p{Block: Miscellaneous_Symbols_And_Arrows} (Single:
\p{InMiscellaneousSymbolsAndArrows})
(256)
+ \p{Block: Miscellaneous_Symbols_And_Pictographs} (Single:
+ \p{InMiscellaneousSymbolsAnd-
+ Pictographs}) (768)
\p{Block: Miscellaneous_Technical} (Single:
\p{InMiscellaneousTechnical}) (256)
\p{Block: Modifier_Tone_Letters} (Single:
@@ -644,7 +680,7 @@ this property.
(96)
\p{Block: NKo} (Single: \p{InNKo}; NOT \p{Nko} NOR
\p{Is_NKo}) (64)
- \p{Block: No_Block} (Single: \p{InNoBlock}) (864_192)
+ \p{Block: No_Block} (Single: \p{InNoBlock}) (861_664)
\p{Block: Number_Forms} (Single: \p{InNumberForms}) (64)
\p{Block: Ogham} (Single: \p{InOgham}; NOT \p{Ogham} NOR
\p{Is_Ogham}) (32)
@@ -675,6 +711,7 @@ this property.
(128)
\p{Block: Phonetic_Extensions_Supplement} (Single:
\p{InPhoneticExtensionsSupplement}) (64)
+ \p{Block: Playing_Cards} (Single: \p{InPlayingCards}) (96)
\p{Block: Private_Use} \p{Block=Private_Use_Area} (NOT
\p{Private_Use} NOR \p{Is_Private_Use})
(6400)
@@ -749,6 +786,8 @@ this property.
NOR \p{Is_Tibetan}) (256)
\p{Block: Tifinagh} (Single: \p{InTifinagh}; NOT \p{Tifinagh}
NOR \p{Is_Tifinagh}) (80)
+ \p{Block: Transport_And_Map_Symbols} (Single:
+ \p{InTransportAndMapSymbols}) (128)
\p{Block: Ugaritic} (Single: \p{InUgaritic}; NOT \p{Ugaritic}
NOR \p{Is_Ugaritic}) (32)
\p{Block: Unified_Canadian_Aboriginal_Syllabics} (Short: \p{Blk=
@@ -771,11 +810,15 @@ this property.
\p{InYijingHexagramSymbols}) (64)
X \p{Block_Elements} \p{Block=Block_Elements} (32)
\p{Bopo} \p{Bopomofo} (= \p{Script=Bopomofo}) (NOT
- \p{Block=Bopomofo}) (65)
+ \p{Block=Bopomofo}) (70)
\p{Bopomofo} \p{Script=Bopomofo} (Short: \p{Bopo}; NOT
- \p{Block=Bopomofo}) (65)
+ \p{Block=Bopomofo}) (70)
X \p{Bopomofo_Extended} \p{Block=Bopomofo_Extended} (32)
X \p{Box_Drawing} \p{Block=Box_Drawing} (128)
+ \p{Brah} \p{Brahmi} (= \p{Script=Brahmi}) (NOT
+ \p{Block=Brahmi}) (108)
+ \p{Brahmi} \p{Script=Brahmi} (Short: \p{Brah}; NOT
+ \p{Block=Brahmi}) (108)
\p{Brai} \p{Braille} (= \p{Script=Braille}) (256)
\p{Braille} \p{Script=Braille} (Short: \p{Brai}) (256)
X \p{Braille_Patterns} \p{Block=Braille_Patterns} (256)
@@ -790,7 +833,7 @@ this property.
X \p{Byzantine_Musical_Symbols} \p{Block=Byzantine_Musical_Symbols}
(256)
\p{C} \p{Other} (= \p{General_Category=Other})
- (1_006_956)
+ (1_004_868)
\p{Canadian_Aboriginal} \p{Script=Canadian_Aboriginal} (Short:
\p{Cans}) (710)
X \p{Canadian_Syllabics} \p{Unified_Canadian_Aboriginal_Syllabics}
@@ -798,15 +841,15 @@ this property.
Unified_Canadian_Aboriginal_Syllabics})
(640)
T \p{Canonical_Combining_Class: 0} \p{Canonical_Combining_Class=
- Not_Reordered} (1_113_518)
+ Not_Reordered} (1_113_506)
T \p{Canonical_Combining_Class: 1} \p{Canonical_Combining_Class=
Overlay} (26)
T \p{Canonical_Combining_Class: 7} \p{Canonical_Combining_Class=
- Nukta} (11)
+ Nukta} (12)
T \p{Canonical_Combining_Class: 8} \p{Canonical_Combining_Class=
Kana_Voicing} (2)
T \p{Canonical_Combining_Class: 9} \p{Canonical_Combining_Class=
- Virama} (27)
+ Virama} (31)
T \p{Canonical_Combining_Class: 10} (Short: \p{Ccc=10}) (1)
T \p{Canonical_Combining_Class: 11} (Short: \p{Ccc=11}) (1)
T \p{Canonical_Combining_Class: 12} (Short: \p{Ccc=12}) (1)
@@ -854,7 +897,7 @@ this property.
T \p{Canonical_Combining_Class: 218} \p{Canonical_Combining_Class=
Below_Left} (1)
T \p{Canonical_Combining_Class: 220} \p{Canonical_Combining_Class=
- Below} (117)
+ Below} (121)
T \p{Canonical_Combining_Class: 222} \p{Canonical_Combining_Class=
Below_Right} (4)
T \p{Canonical_Combining_Class: 224} \p{Canonical_Combining_Class=
@@ -864,18 +907,18 @@ this property.
T \p{Canonical_Combining_Class: 228} \p{Canonical_Combining_Class=
Above_Left} (3)
T \p{Canonical_Combining_Class: 230} \p{Canonical_Combining_Class=
- Above} (318)
+ Above} (320)
T \p{Canonical_Combining_Class: 232} \p{Canonical_Combining_Class=
Above_Right} (4)
T \p{Canonical_Combining_Class: 233} \p{Canonical_Combining_Class=
- Double_Below} (3)
+ Double_Below} (4)
T \p{Canonical_Combining_Class: 234} \p{Canonical_Combining_Class=
Double_Above} (5)
T \p{Canonical_Combining_Class: 240} \p{Canonical_Combining_Class=
Iota_Subscript} (1)
\p{Canonical_Combining_Class: A} \p{Canonical_Combining_Class=
- Above} (318)
- \p{Canonical_Combining_Class: Above} (Short: \p{Ccc=A}) (318)
+ Above} (320)
+ \p{Canonical_Combining_Class: Above} (Short: \p{Ccc=A}) (320)
\p{Canonical_Combining_Class: Above_Left} (Short: \p{Ccc=AL}) (3)
\p{Canonical_Combining_Class: Above_Right} (Short: \p{Ccc=AR}) (4)
\p{Canonical_Combining_Class: AL} \p{Canonical_Combining_Class=
@@ -899,8 +942,8 @@ this property.
\p{Canonical_Combining_Class: Attached_Below_Left} (Short: \p{Ccc=
ATBL}) (0)
\p{Canonical_Combining_Class: B} \p{Canonical_Combining_Class=
- Below} (117)
- \p{Canonical_Combining_Class: Below} (Short: \p{Ccc=B}) (117)
+ Below} (121)
+ \p{Canonical_Combining_Class: Below} (Short: \p{Ccc=B}) (121)
\p{Canonical_Combining_Class: Below_Left} (Short: \p{Ccc=BL}) (1)
\p{Canonical_Combining_Class: Below_Right} (Short: \p{Ccc=BR}) (4)
\p{Canonical_Combining_Class: BL} \p{Canonical_Combining_Class=
@@ -910,9 +953,9 @@ this property.
\p{Canonical_Combining_Class: DA} \p{Canonical_Combining_Class=
Double_Above} (5)
\p{Canonical_Combining_Class: DB} \p{Canonical_Combining_Class=
- Double_Below} (3)
+ Double_Below} (4)
\p{Canonical_Combining_Class: Double_Above} (Short: \p{Ccc=DA}) (5)
- \p{Canonical_Combining_Class: Double_Below} (Short: \p{Ccc=DB}) (3)
+ \p{Canonical_Combining_Class: Double_Below} (Short: \p{Ccc=DB}) (4)
\p{Canonical_Combining_Class: Iota_Subscript} (Short: \p{Ccc=IS})
(1)
\p{Canonical_Combining_Class: IS} \p{Canonical_Combining_Class=
@@ -924,35 +967,35 @@ this property.
Left} (2)
\p{Canonical_Combining_Class: Left} (Short: \p{Ccc=L}) (2)
\p{Canonical_Combining_Class: NK} \p{Canonical_Combining_Class=
- Nukta} (11)
+ Nukta} (12)
\p{Canonical_Combining_Class: Not_Reordered} (Short: \p{Ccc=NR})
- (1_113_518)
+ (1_113_506)
\p{Canonical_Combining_Class: NR} \p{Canonical_Combining_Class=
- Not_Reordered} (1_113_518)
- \p{Canonical_Combining_Class: Nukta} (Short: \p{Ccc=NK}) (11)
+ Not_Reordered} (1_113_506)
+ \p{Canonical_Combining_Class: Nukta} (Short: \p{Ccc=NK}) (12)
\p{Canonical_Combining_Class: OV} \p{Canonical_Combining_Class=
Overlay} (26)
\p{Canonical_Combining_Class: Overlay} (Short: \p{Ccc=OV}) (26)
\p{Canonical_Combining_Class: R} \p{Canonical_Combining_Class=
Right} (1)
\p{Canonical_Combining_Class: Right} (Short: \p{Ccc=R}) (1)
- \p{Canonical_Combining_Class: Virama} (Short: \p{Ccc=VR}) (27)
+ \p{Canonical_Combining_Class: Virama} (Short: \p{Ccc=VR}) (31)
\p{Canonical_Combining_Class: VR} \p{Canonical_Combining_Class=
- Virama} (27)
+ Virama} (31)
\p{Cans} \p{Canadian_Aboriginal} (= \p{Script=
Canadian_Aboriginal}) (710)
\p{Cari} \p{Carian} (= \p{Script=Carian}) (NOT
\p{Block=Carian}) (49)
\p{Carian} \p{Script=Carian} (Short: \p{Cari}; NOT
\p{Block=Carian}) (49)
- \p{Case_Ignorable} \p{Case_Ignorable=Y} (Short: \p{CI}) (1632)
- \p{Case_Ignorable: N*} (Short: \p{CI=N}, \P{CI}) (1_112_480)
- \p{Case_Ignorable: Y*} (Short: \p{CI=Y}, \p{CI}) (1632)
- \p{Cased} \p{Cased=Y} (3408)
- \p{Cased: N*} (Single: \P{Cased}) (1_110_704)
- \p{Cased: Y*} (Single: \p{Cased}) (3408)
+ \p{Case_Ignorable} \p{Case_Ignorable=Y} (Short: \p{CI}) (1692)
+ \p{Case_Ignorable: N*} (Short: \p{CI=N}, \P{CI}) (1_112_420)
+ \p{Case_Ignorable: Y*} (Short: \p{CI=Y}, \p{CI}) (1692)
+ \p{Cased} \p{Cased=Y} (3427)
+ \p{Cased: N*} (Single: \P{Cased}) (1_110_685)
+ \p{Cased: Y*} (Single: \p{Cased}) (3427)
\p{Cased_Letter} \p{General_Category=Cased_Letter} (Short:
- \p{LC}) (3207)
+ \p{LC}) (3226)
\p{Category: *} \p{General_Category: *}
\p{Cc} \p{Cntrl} (= \p{General_Category=Control})
(65)
@@ -964,44 +1007,44 @@ this property.
(140)
\p{Cham} \p{Script=Cham} (NOT \p{Block=Cham}) (83)
\p{Changes_When_Casefolded} \p{Changes_When_Casefolded=Y} (Short:
- \p{CWCF}) (1093)
+ \p{CWCF}) (1102)
\p{Changes_When_Casefolded: N*} (Short: \p{CWCF=N}, \P{CWCF})
- (1_113_019)
+ (1_113_010)
\p{Changes_When_Casefolded: Y*} (Short: \p{CWCF=Y}, \p{CWCF})
- (1093)
+ (1102)
\p{Changes_When_Casemapped} \p{Changes_When_Casemapped=Y} (Short:
- \p{CWCM}) (2110)
+ \p{CWCM}) (2128)
\p{Changes_When_Casemapped: N*} (Short: \p{CWCM=N}, \P{CWCM})
- (1_112_002)
+ (1_111_984)
\p{Changes_When_Casemapped: Y*} (Short: \p{CWCM=Y}, \p{CWCM})
- (2110)
+ (2128)
\p{Changes_When_Lowercased} \p{Changes_When_Lowercased=Y} (Short:
- \p{CWL}) (1029)
+ \p{CWL}) (1038)
\p{Changes_When_Lowercased: N*} (Short: \p{CWL=N}, \P{CWL})
- (1_113_083)
- \p{Changes_When_Lowercased: Y*} (Short: \p{CWL=Y}, \p{CWL}) (1029)
+ (1_113_074)
+ \p{Changes_When_Lowercased: Y*} (Short: \p{CWL=Y}, \p{CWL}) (1038)
\p{Changes_When_NFKC_Casefolded} \p{Changes_When_NFKC_Casefolded=
- Y} (Short: \p{CWKCF}) (9740)
+ Y} (Short: \p{CWKCF}) (9792)
\p{Changes_When_NFKC_Casefolded: N*} (Short: \p{CWKCF=N},
- \P{CWKCF}) (1_104_372)
+ \P{CWKCF}) (1_104_320)
\p{Changes_When_NFKC_Casefolded: Y*} (Short: \p{CWKCF=Y},
- \p{CWKCF}) (9740)
+ \p{CWKCF}) (9792)
\p{Changes_When_Titlecased} \p{Changes_When_Titlecased=Y} (Short:
- \p{CWT}) (1085)
+ \p{CWT}) (1094)
\p{Changes_When_Titlecased: N*} (Short: \p{CWT=N}, \P{CWT})
- (1_113_027)
- \p{Changes_When_Titlecased: Y*} (Short: \p{CWT=Y}, \p{CWT}) (1085)
+ (1_113_018)
+ \p{Changes_When_Titlecased: Y*} (Short: \p{CWT=Y}, \p{CWT}) (1094)
\p{Changes_When_Uppercased} \p{Changes_When_Uppercased=Y} (Short:
- \p{CWU}) (1112)
+ \p{CWU}) (1121)
\p{Changes_When_Uppercased: N*} (Short: \p{CWU=N}, \P{CWU})
- (1_113_000)
- \p{Changes_When_Uppercased: Y*} (Short: \p{CWU=Y}, \p{CWU}) (1112)
+ (1_112_991)
+ \p{Changes_When_Uppercased: Y*} (Short: \p{CWU=Y}, \p{CWU}) (1121)
\p{Cher} \p{Cherokee} (= \p{Script=Cherokee}) (NOT
\p{Block=Cherokee}) (85)
\p{Cherokee} \p{Script=Cherokee} (Short: \p{Cher}; NOT
\p{Block=Cherokee}) (85)
\p{CI} \p{Case_Ignorable} (= \p{Case_Ignorable=
- Y}) (1632)
+ Y}) (1692)
\p{CI: *} \p{Case_Ignorable: *}
X \p{CJK_Compatibility} \p{Block=CJK_Compatibility} (256)
X \p{CJK_Compatibility_Forms} \p{Block=CJK_Compatibility_Forms} (32)
@@ -1025,10 +1068,12 @@ this property.
X \p{CJK_Unified_Ideographs_Extension_C} \p{Block=
CJK_Unified_Ideographs_Extension_C}
(4160)
+ X \p{CJK_Unified_Ideographs_Extension_D} \p{Block=
+ CJK_Unified_Ideographs_Extension_D} (224)
\p{Close_Punctuation} \p{General_Category=Close_Punctuation}
(Short: \p{Pe}) (71)
\p{Cn} \p{Unassigned} (= \p{General_Category=
- Unassigned}) (867_235)
+ Unassigned}) (865_147)
\p{Cntrl} \p{General_Category=Control} Control
characters (Short: \p{Cc}) (65)
\p{Co} \p{Private_Use} (= \p{General_Category=
@@ -1049,7 +1094,7 @@ this property.
Symbols} (= \p{Block=
Combining_Diacritical_Marks_For_-
Symbols}) (48)
- \p{Common} \p{Script=Common} (Short: \p{Zyyy}) (5395)
+ \p{Common} \p{Script=Common} (Short: \p{Zyyy}) (6379)
X \p{Common_Indic_Number_Forms} \p{Block=Common_Indic_Number_Forms}
(16)
\p{Comp_Ex} \p{Full_Composition_Exclusion} (=
@@ -1078,52 +1123,52 @@ this property.
X \p{Cuneiform_Numbers_And_Punctuation} \p{Block=
Cuneiform_Numbers_And_Punctuation} (128)
\p{Currency_Symbol} \p{General_Category=Currency_Symbol}
- (Short: \p{Sc}) (46)
+ (Short: \p{Sc}) (47)
X \p{Currency_Symbols} \p{Block=Currency_Symbols} (48)
\p{CWCF} \p{Changes_When_Casefolded} (=
- \p{Changes_When_Casefolded=Y}) (1093)
+ \p{Changes_When_Casefolded=Y}) (1102)
\p{CWCF: *} \p{Changes_When_Casefolded: *}
\p{CWCM} \p{Changes_When_Casemapped} (=
- \p{Changes_When_Casemapped=Y}) (2110)
+ \p{Changes_When_Casemapped=Y}) (2128)
\p{CWCM: *} \p{Changes_When_Casemapped: *}
\p{CWKCF} \p{Changes_When_NFKC_Casefolded} (=
\p{Changes_When_NFKC_Casefolded=Y})
- (9740)
+ (9792)
\p{CWKCF: *} \p{Changes_When_NFKC_Casefolded: *}
\p{CWL} \p{Changes_When_Lowercased} (=
- \p{Changes_When_Lowercased=Y}) (1029)
+ \p{Changes_When_Lowercased=Y}) (1038)
\p{CWL: *} \p{Changes_When_Lowercased: *}
\p{CWT} \p{Changes_When_Titlecased} (=
- \p{Changes_When_Titlecased=Y}) (1085)
+ \p{Changes_When_Titlecased=Y}) (1094)
\p{CWT: *} \p{Changes_When_Titlecased: *}
\p{CWU} \p{Changes_When_Uppercased} (=
- \p{Changes_When_Uppercased=Y}) (1112)
+ \p{Changes_When_Uppercased=Y}) (1121)
\p{CWU: *} \p{Changes_When_Uppercased: *}
\p{Cypriot} \p{Script=Cypriot} (Short: \p{Cprt}) (55)
X \p{Cypriot_Syllabary} \p{Block=Cypriot_Syllabary} (64)
\p{Cyrillic} \p{Script=Cyrillic} (Short: \p{Cyrl}; NOT
- \p{Block=Cyrillic}) (404)
+ \p{Block=Cyrillic}) (408)
X \p{Cyrillic_Extended_A} \p{Block=Cyrillic_Extended_A} (32)
X \p{Cyrillic_Extended_B} \p{Block=Cyrillic_Extended_B} (96)
X \p{Cyrillic_Supplement} \p{Block=Cyrillic_Supplement} (48)
X \p{Cyrillic_Supplementary} \p{Cyrillic_Supplement} (= \p{Block=
Cyrillic_Supplement}) (48)
\p{Cyrl} \p{Cyrillic} (= \p{Script=Cyrillic}) (NOT
- \p{Block=Cyrillic}) (404)
+ \p{Block=Cyrillic}) (408)
\p{Dash} \p{Dash=Y} (25)
\p{Dash: N*} (Single: \P{Dash}) (1_114_087)
\p{Dash: Y*} (Single: \p{Dash}) (25)
\p{Dash_Punctuation} \p{General_Category=Dash_Punctuation}
(Short: \p{Pd}) (21)
\p{Decimal_Number} \p{Digit} (= \p{General_Category=
- Decimal_Number}) (411)
+ Decimal_Number}) (420)
\p{Decomposition_Type: Can} \p{Decomposition_Type=Canonical}
(13_221)
\p{Decomposition_Type: Canonical} (Short: \p{Dt=Can}) (13_221)
- \p{Decomposition_Type: Circle} (Short: \p{Dt=Enc}) (238)
+ \p{Decomposition_Type: Circle} (Short: \p{Dt=Enc}) (240)
\p{Decomposition_Type: Com} \p{Decomposition_Type=Compat} (720)
\p{Decomposition_Type: Compat} (Short: \p{Dt=Com}) (720)
- \p{Decomposition_Type: Enc} \p{Decomposition_Type=Circle} (238)
+ \p{Decomposition_Type: Enc} \p{Decomposition_Type=Circle} (240)
\p{Decomposition_Type: Fin} \p{Decomposition_Type=Final} (240)
\p{Decomposition_Type: Final} (Short: \p{Dt=Fin}) (240)
\p{Decomposition_Type: Font} (Short: \p{Dt=Font}) (1043)
@@ -1140,16 +1185,16 @@ this property.
\p{Decomposition_Type: Nb} \p{Decomposition_Type=Nobreak} (5)
\p{Decomposition_Type: Nobreak} (Short: \p{Dt=Nb}) (5)
\p{Decomposition_Type: Non_Canon} \p{Decomposition_Type=
- Non_Canonical} (Perl extension) (3467)
+ Non_Canonical} (Perl extension) (3510)
\p{Decomposition_Type: Non_Canonical} Union of all non-canonical
decompositions (Short: \p{Dt=NonCanon})
- (Perl extension) (3467)
- \p{Decomposition_Type: None} (Short: \p{Dt=None}) (1_097_424)
+ (Perl extension) (3510)
+ \p{Decomposition_Type: None} (Short: \p{Dt=None}) (1_097_381)
\p{Decomposition_Type: Small} (Short: \p{Dt=Sml}) (26)
\p{Decomposition_Type: Sml} \p{Decomposition_Type=Small} (26)
- \p{Decomposition_Type: Sqr} \p{Decomposition_Type=Square} (251)
- \p{Decomposition_Type: Square} (Short: \p{Dt=Sqr}) (251)
- \p{Decomposition_Type: Sub} (Short: \p{Dt=Sub}) (30)
+ \p{Decomposition_Type: Sqr} \p{Decomposition_Type=Square} (284)
+ \p{Decomposition_Type: Square} (Short: \p{Dt=Sqr}) (284)
+ \p{Decomposition_Type: Sub} (Short: \p{Dt=Sub}) (38)
\p{Decomposition_Type: Sup} \p{Decomposition_Type=Super} (142)
\p{Decomposition_Type: Super} (Short: \p{Dt=Sup}) (142)
\p{Decomposition_Type: Vert} \p{Decomposition_Type=Vertical} (35)
@@ -1161,16 +1206,16 @@ this property.
(1_109_945)
\p{Default_Ignorable_Code_Point: Y*} (Short: \p{DI=Y}, \p{DI})
(4167)
- \p{Dep} \p{Deprecated} (= \p{Deprecated=Y}) (110)
+ \p{Dep} \p{Deprecated} (= \p{Deprecated=Y}) (111)
\p{Dep: *} \p{Deprecated: *}
- \p{Deprecated} \p{Deprecated=Y} (Short: \p{Dep}) (110)
- \p{Deprecated: N*} (Short: \p{Dep=N}, \P{Dep}) (1_114_002)
- \p{Deprecated: Y*} (Short: \p{Dep=Y}, \p{Dep}) (110)
+ \p{Deprecated} \p{Deprecated=Y} (Short: \p{Dep}) (111)
+ \p{Deprecated: N*} (Short: \p{Dep=N}, \P{Dep}) (1_114_001)
+ \p{Deprecated: Y*} (Short: \p{Dep=Y}, \p{Dep}) (111)
\p{Deseret} \p{Script=Deseret} (Short: \p{Dsrt}) (80)
\p{Deva} \p{Devanagari} (= \p{Script=Devanagari})
- (NOT \p{Block=Devanagari}) (140)
+ (NOT \p{Block=Devanagari}) (150)
\p{Devanagari} \p{Script=Devanagari} (Short: \p{Deva};
- NOT \p{Block=Devanagari}) (140)
+ NOT \p{Block=Devanagari}) (150)
X \p{Devanagari_Extended} \p{Block=Devanagari_Extended} (32)
\p{DI} \p{Default_Ignorable_Code_Point} (=
\p{Default_Ignorable_Code_Point=Y})
@@ -1181,32 +1226,33 @@ this property.
\p{Diacritic} \p{Diacritic=Y} (Short: \p{Dia}) (639)
\p{Diacritic: N*} (Short: \p{Dia=N}, \P{Dia}) (1_113_473)
\p{Diacritic: Y*} (Short: \p{Dia=Y}, \p{Dia}) (639)
- \p{Digit} \p{General_Category=Decimal_Number} \d,
- extended beyond just [0-9] (Short:
- \p{Nd}) (411)
+ \p{Digit} \p{General_Category=Decimal_Number} [0-9]
+ + all other decimal digits (Short:
+ \p{Nd}) (420)
X \p{Dingbats} \p{Block=Dingbats} (192)
X \p{Domino_Tiles} \p{Block=Domino_Tiles} (112)
\p{Dsrt} \p{Deseret} (= \p{Script=Deseret}) (80)
\p{Dt: *} \p{Decomposition_Type: *}
\p{Ea: *} \p{East_Asian_Width: *}
- \p{East_Asian_Width: A} \p{East_Asian_Width=Ambiguous} (138_666)
- \p{East_Asian_Width: Ambiguous} (Short: \p{Ea=A}) (138_666)
+ \p{East_Asian_Width: A} \p{East_Asian_Width=Ambiguous} (138_746)
+ \p{East_Asian_Width: Ambiguous} (Short: \p{Ea=A}) (138_746)
\p{East_Asian_Width: F} \p{East_Asian_Width=Fullwidth} (104)
\p{East_Asian_Width: Fullwidth} (Short: \p{Ea=F}) (104)
\p{East_Asian_Width: H} \p{East_Asian_Width=Halfwidth} (123)
\p{East_Asian_Width: Halfwidth} (Short: \p{Ea=H}) (123)
- \p{East_Asian_Width: N} \p{East_Asian_Width=Neutral} (801_909)
+ \p{East_Asian_Width: N} \p{East_Asian_Width=Neutral} (801_811)
\p{East_Asian_Width: Na} \p{East_Asian_Width=Narrow} (111)
\p{East_Asian_Width: Narrow} (Short: \p{Ea=Na}) (111)
- \p{East_Asian_Width: Neutral} (Short: \p{Ea=N}) (801_909)
- \p{East_Asian_Width: W} \p{East_Asian_Width=Wide} (173_199)
- \p{East_Asian_Width: Wide} (Short: \p{Ea=W}) (173_199)
+ \p{East_Asian_Width: Neutral} (Short: \p{Ea=N}) (801_811)
+ \p{East_Asian_Width: W} \p{East_Asian_Width=Wide} (173_217)
+ \p{East_Asian_Width: Wide} (Short: \p{Ea=W}) (173_217)
\p{Egyp} \p{Egyptian_Hieroglyphs} (= \p{Script=
Egyptian_Hieroglyphs}) (NOT \p{Block=
Egyptian_Hieroglyphs}) (1071)
\p{Egyptian_Hieroglyphs} \p{Script=Egyptian_Hieroglyphs} (Short:
\p{Egyp}; NOT \p{Block=
Egyptian_Hieroglyphs}) (1071)
+ X \p{Emoticons} \p{Block=Emoticons} (80)
X \p{Enclosed_Alphanumeric_Supplement} \p{Block=
Enclosed_Alphanumeric_Supplement} (256)
X \p{Enclosed_Alphanumerics} \p{Block=Enclosed_Alphanumerics} (160)
@@ -1215,12 +1261,13 @@ this property.
X \p{Enclosed_Ideographic_Supplement} \p{Block=
Enclosed_Ideographic_Supplement} (256)
\p{Enclosing_Mark} \p{General_Category=Enclosing_Mark}
- (Short: \p{Me}) (13)
+ (Short: \p{Me}) (12)
\p{Ethi} \p{Ethiopic} (= \p{Script=Ethiopic}) (NOT
- \p{Block=Ethiopic}) (461)
+ \p{Block=Ethiopic}) (495)
\p{Ethiopic} \p{Script=Ethiopic} (Short: \p{Ethi}; NOT
- \p{Block=Ethiopic}) (461)
+ \p{Block=Ethiopic}) (495)
X \p{Ethiopic_Extended} \p{Block=Ethiopic_Extended} (96)
+ X \p{Ethiopic_Extended_A} \p{Block=Ethiopic_Extended_A} (48)
X \p{Ethiopic_Supplement} \p{Block=Ethiopic_Supplement} (32)
\p{Ext} \p{Extender} (= \p{Extender=Y}) (28)
\p{Ext: *} \p{Extender: *}
@@ -1239,14 +1286,14 @@ this property.
\p{CompEx}) (1118)
\p{Gc: *} \p{General_Category: *}
\p{GCB: *} \p{Grapheme_Cluster_Break: *}
- \p{General_Category: C} \p{General_Category=Other} (1_006_956)
+ \p{General_Category: C} \p{General_Category=Other} (1_004_868)
\p{General_Category: Cased_Letter} [\p{Ll}\p{Lu}\p{Lt}] (Short:
- \p{Gc=LC}, \p{LC}) (3207)
+ \p{Gc=LC}, \p{LC}) (3226)
\p{General_Category: Cc} \p{General_Category=Control} (65)
\p{General_Category: Cf} \p{General_Category=Format} (140)
\p{General_Category: Close_Punctuation} (Short: \p{Gc=Pe}, \p{Pe})
(71)
- \p{General_Category: Cn} \p{General_Category=Unassigned} (867_235)
+ \p{General_Category: Cn} \p{General_Category=Unassigned} (865_147)
\p{General_Category: Cntrl} \p{General_Category=Control} (65)
\p{General_Category: Co} \p{General_Category=Private_Use} (137_468)
\p{General_Category: Connector_Punctuation} (Short: \p{Gc=Pc},
@@ -1254,66 +1301,69 @@ this property.
\p{General_Category: Control} (Short: \p{Gc=Cc}, \p{Cc}) (65)
\p{General_Category: Cs} \p{General_Category=Surrogate} (2048)
\p{General_Category: Currency_Symbol} (Short: \p{Gc=Sc}, \p{Sc})
- (46)
+ (47)
\p{General_Category: Dash_Punctuation} (Short: \p{Gc=Pd}, \p{Pd})
(21)
\p{General_Category: Decimal_Number} (Short: \p{Gc=Nd}, \p{Nd})
- (411)
+ (420)
\p{General_Category: Digit} \p{General_Category=Decimal_Number}
- (411)
+ (420)
\p{General_Category: Enclosing_Mark} (Short: \p{Gc=Me}, \p{Me})
- (13)
+ (12)
\p{General_Category: Final_Punctuation} (Short: \p{Gc=Pf}, \p{Pf})
(10)
\p{General_Category: Format} (Short: \p{Gc=Cf}, \p{Cf}) (140)
\p{General_Category: Initial_Punctuation} (Short: \p{Gc=Pi},
\p{Pi}) (12)
- \p{General_Category: L} \p{General_Category=Letter} (99_537)
- X \p{General_Category: L&} \p{General_Category=Cased_Letter} (3207)
- X \p{General_Category: L_} \p{General_Category=Cased_Letter} (3207)
- \p{General_Category: LC} \p{General_Category=Cased_Letter} (3207)
- \p{General_Category: Letter} (Short: \p{Gc=L}, \p{L}) (99_537)
+ \p{General_Category: L} \p{General_Category=Letter} (100_520)
+ X \p{General_Category: L&} \p{General_Category=Cased_Letter} (3226)
+ X \p{General_Category: L_} \p{General_Category=Cased_Letter} (3226)
+ \p{General_Category: LC} \p{General_Category=Cased_Letter} (3226)
+ \p{General_Category: Letter} (Short: \p{Gc=L}, \p{L}) (100_520)
\p{General_Category: Letter_Number} (Short: \p{Gc=Nl}, \p{Nl})
(224)
\p{General_Category: Line_Separator} (Short: \p{Gc=Zl}, \p{Zl}) (1)
\p{General_Category: Ll} \p{General_Category=Lowercase_Letter}
- (1749)
- \p{General_Category: Lm} \p{General_Category=Modifier_Letter} (202)
- \p{General_Category: Lo} \p{General_Category=Other_Letter} (96_128)
- \p{General_Category: Lowercase_Letter} (Short: \p{Gc=Ll}, \p{Ll})
- (1749)
- \p{General_Category: Lt} \p{General_Category=Titlecase_Letter} (31)
+ (/i= General_Category=Cased_Letter)
+ (1759)
+ \p{General_Category: Lm} \p{General_Category=Modifier_Letter} (210)
+ \p{General_Category: Lo} \p{General_Category=Other_Letter} (97_084)
+ \p{General_Category: Lowercase_Letter} (Short: \p{Gc=Ll}, \p{Ll};
+ /i= General_Category=Cased_Letter) (1759)
+ \p{General_Category: Lt} \p{General_Category=Titlecase_Letter}
+ (/i= General_Category=Cased_Letter) (31)
\p{General_Category: Lu} \p{General_Category=Uppercase_Letter}
- (1427)
- \p{General_Category: M} \p{General_Category=Mark} (1451)
- \p{General_Category: Mark} (Short: \p{Gc=M}, \p{M}) (1451)
- \p{General_Category: Math_Symbol} (Short: \p{Gc=Sm}, \p{Sm}) (945)
- \p{General_Category: Mc} \p{General_Category=Spacing_Mark} (276)
- \p{General_Category: Me} \p{General_Category=Enclosing_Mark} (13)
+ (/i= General_Category=Cased_Letter)
+ (1436)
+ \p{General_Category: M} \p{General_Category=Mark} (1498)
+ \p{General_Category: Mark} (Short: \p{Gc=M}, \p{M}) (1498)
+ \p{General_Category: Math_Symbol} (Short: \p{Gc=Sm}, \p{Sm}) (948)
+ \p{General_Category: Mc} \p{General_Category=Spacing_Mark} (287)
+ \p{General_Category: Me} \p{General_Category=Enclosing_Mark} (12)
\p{General_Category: Mn} \p{General_Category=Nonspacing_Mark}
- (1162)
+ (1199)
\p{General_Category: Modifier_Letter} (Short: \p{Gc=Lm}, \p{Lm})
- (202)
+ (210)
\p{General_Category: Modifier_Symbol} (Short: \p{Gc=Sk}, \p{Sk})
- (99)
- \p{General_Category: N} \p{General_Category=Number} (1064)
- \p{General_Category: Nd} \p{General_Category=Decimal_Number} (411)
+ (115)
+ \p{General_Category: N} \p{General_Category=Number} (1100)
+ \p{General_Category: Nd} \p{General_Category=Decimal_Number} (420)
\p{General_Category: Nl} \p{General_Category=Letter_Number} (224)
- \p{General_Category: No} \p{General_Category=Other_Number} (429)
+ \p{General_Category: No} \p{General_Category=Other_Number} (456)
\p{General_Category: Nonspacing_Mark} (Short: \p{Gc=Mn}, \p{Mn})
- (1162)
- \p{General_Category: Number} (Short: \p{Gc=N}, \p{N}) (1064)
+ (1199)
+ \p{General_Category: Number} (Short: \p{Gc=N}, \p{N}) (1100)
\p{General_Category: Open_Punctuation} (Short: \p{Gc=Ps}, \p{Ps})
(72)
- \p{General_Category: Other} (Short: \p{Gc=C}, \p{C}) (1_006_956)
+ \p{General_Category: Other} (Short: \p{Gc=C}, \p{C}) (1_004_868)
\p{General_Category: Other_Letter} (Short: \p{Gc=Lo}, \p{Lo})
- (96_128)
- \p{General_Category: Other_Number} (Short: \p{Gc=No}, \p{No}) (429)
+ (97_084)
+ \p{General_Category: Other_Number} (Short: \p{Gc=No}, \p{No}) (456)
\p{General_Category: Other_Punctuation} (Short: \p{Gc=Po}, \p{Po})
- (389)
+ (402)
\p{General_Category: Other_Symbol} (Short: \p{Gc=So}, \p{So})
- (3409)
- \p{General_Category: P} \p{General_Category=Punctuation} (585)
+ (4398)
+ \p{General_Category: P} \p{General_Category=Punctuation} (598)
\p{General_Category: Paragraph_Separator} (Short: \p{Gc=Zp},
\p{Zp}) (1)
\p{General_Category: Pc} \p{General_Category=
@@ -1326,30 +1376,29 @@ this property.
\p{General_Category: Pi} \p{General_Category=Initial_Punctuation}
(12)
\p{General_Category: Po} \p{General_Category=Other_Punctuation}
- (389)
+ (402)
\p{General_Category: Private_Use} (Short: \p{Gc=Co}, \p{Co})
(137_468)
\p{General_Category: Ps} \p{General_Category=Open_Punctuation} (72)
- \p{General_Category: Punct} \p{General_Category=Punctuation} (585)
- \p{General_Category: Punctuation} (Short: \p{Gc=P}, \p{P}) (585)
- \p{General_Category: S} \p{General_Category=Symbol} (4499)
- \p{General_Category: Sc} \p{General_Category=Currency_Symbol} (46)
+ \p{General_Category: Punct} \p{General_Category=Punctuation} (598)
+ \p{General_Category: Punctuation} (Short: \p{Gc=P}, \p{P}) (598)
+ \p{General_Category: S} \p{General_Category=Symbol} (5508)
+ \p{General_Category: Sc} \p{General_Category=Currency_Symbol} (47)
\p{General_Category: Separator} (Short: \p{Gc=Z}, \p{Z}) (20)
- \p{General_Category: Sk} \p{General_Category=Modifier_Symbol} (99)
- \p{General_Category: Sm} \p{General_Category=Math_Symbol} (945)
- \p{General_Category: So} \p{General_Category=Other_Symbol} (3409)
+ \p{General_Category: Sk} \p{General_Category=Modifier_Symbol} (115)
+ \p{General_Category: Sm} \p{General_Category=Math_Symbol} (948)
+ \p{General_Category: So} \p{General_Category=Other_Symbol} (4398)
\p{General_Category: Space_Separator} (Short: \p{Gc=Zs}, \p{Zs})
(18)
- \p{General_Category: Spacing_Mark} (Short: \p{Gc=Mc}, \p{Mc}) (276)
- \p{General_Category: Surrogate} Mostly not usable in Perl. (Short:
- \p{Gc=Cs}, \p{Cs}) (2048)
- \p{General_Category: Symbol} (Short: \p{Gc=S}, \p{S}) (4499)
- \p{General_Category: Titlecase_Letter} (Short: \p{Gc=Lt}, \p{Lt})
- (31)
+ \p{General_Category: Spacing_Mark} (Short: \p{Gc=Mc}, \p{Mc}) (287)
+ \p{General_Category: Surrogate} (Short: \p{Gc=Cs}, \p{Cs}) (2048)
+ \p{General_Category: Symbol} (Short: \p{Gc=S}, \p{S}) (5508)
+ \p{General_Category: Titlecase_Letter} (Short: \p{Gc=Lt}, \p{Lt};
+ /i= General_Category=Cased_Letter) (31)
\p{General_Category: Unassigned} (Short: \p{Gc=Cn}, \p{Cn})
- (867_235)
- \p{General_Category: Uppercase_Letter} (Short: \p{Gc=Lu}, \p{Lu})
- (1427)
+ (865_147)
+ \p{General_Category: Uppercase_Letter} (Short: \p{Gc=Lu}, \p{Lu};
+ /i= General_Category=Cased_Letter) (1436)
\p{General_Category: Z} \p{General_Category=Separator} (20)
\p{General_Category: Zl} \p{General_Category=Line_Separator} (1)
\p{General_Category: Zp} \p{General_Category=Paragraph_Separator}
@@ -1371,43 +1420,43 @@ this property.
\p{Gothic} \p{Script=Gothic} (Short: \p{Goth}; NOT
\p{Block=Gothic}) (27)
\p{Gr_Base} \p{Grapheme_Base} (= \p{Grapheme_Base=Y})
- (105_958)
+ (108_010)
\p{Gr_Base: *} \p{Grapheme_Base: *}
\p{Gr_Ext} \p{Grapheme_Extend} (= \p{Grapheme_Extend=
- Y}) (1198)
+ Y}) (1234)
\p{Gr_Ext: *} \p{Grapheme_Extend: *}
- \p{Graph} Characters that are graphical (244_744)
+ \p{Graph} Characters that are graphical (246_832)
\p{Grapheme_Base} \p{Grapheme_Base=Y} (Short: \p{GrBase})
- (105_958)
+ (108_010)
\p{Grapheme_Base: N*} (Short: \p{GrBase=N}, \P{GrBase})
- (1_008_154)
- \p{Grapheme_Base: Y*} (Short: \p{GrBase=Y}, \p{GrBase}) (105_958)
+ (1_006_102)
+ \p{Grapheme_Base: Y*} (Short: \p{GrBase=Y}, \p{GrBase}) (108_010)
\p{Grapheme_Cluster_Break: CN} \p{Grapheme_Cluster_Break=Control}
(203)
\p{Grapheme_Cluster_Break: Control} (Short: \p{GCB=CN}) (203)
\p{Grapheme_Cluster_Break: CR} (Short: \p{GCB=CR}) (1)
\p{Grapheme_Cluster_Break: EX} \p{Grapheme_Cluster_Break=Extend}
- (1205)
- \p{Grapheme_Cluster_Break: Extend} (Short: \p{GCB=EX}) (1205)
+ (1234)
+ \p{Grapheme_Cluster_Break: Extend} (Short: \p{GCB=EX}) (1234)
\p{Grapheme_Cluster_Break: L} (Short: \p{GCB=L}) (125)
\p{Grapheme_Cluster_Break: LF} (Short: \p{GCB=LF}) (1)
\p{Grapheme_Cluster_Break: LV} (Short: \p{GCB=LV}) (399)
\p{Grapheme_Cluster_Break: LVT} (Short: \p{GCB=LVT}) (10_773)
- \p{Grapheme_Cluster_Break: Other} (Short: \p{GCB=XX}) (1_100_901)
+ \p{Grapheme_Cluster_Break: Other} (Short: \p{GCB=XX}) (1_100_854)
\p{Grapheme_Cluster_Break: PP} \p{Grapheme_Cluster_Break=Prepend}
(15)
\p{Grapheme_Cluster_Break: Prepend} (Short: \p{GCB=PP}) (15)
\p{Grapheme_Cluster_Break: SM} \p{Grapheme_Cluster_Break=
- SpacingMark} (257)
- \p{Grapheme_Cluster_Break: SpacingMark} (Short: \p{GCB=SM}) (257)
+ SpacingMark} (275)
+ \p{Grapheme_Cluster_Break: SpacingMark} (Short: \p{GCB=SM}) (275)
\p{Grapheme_Cluster_Break: T} (Short: \p{GCB=T}) (137)
\p{Grapheme_Cluster_Break: V} (Short: \p{GCB=V}) (95)
\p{Grapheme_Cluster_Break: XX} \p{Grapheme_Cluster_Break=Other}
- (1_100_901)
+ (1_100_854)
\p{Grapheme_Extend} \p{Grapheme_Extend=Y} (Short: \p{GrExt})
- (1198)
- \p{Grapheme_Extend: N*} (Short: \p{GrExt=N}, \P{GrExt}) (1_112_914)
- \p{Grapheme_Extend: Y*} (Short: \p{GrExt=Y}, \p{GrExt}) (1198)
+ (1234)
+ \p{Grapheme_Extend: N*} (Short: \p{GrExt=N}, \P{GrExt}) (1_112_878)
+ \p{Grapheme_Extend: Y*} (Short: \p{GrExt=Y}, \p{GrExt}) (1234)
\p{Greek} \p{Script=Greek} (Short: \p{Grek}; NOT
\p{Greek_And_Coptic}) (511)
X \p{Greek_And_Coptic} \p{Block=Greek_And_Coptic} (Short:
@@ -1425,10 +1474,10 @@ this property.
\p{Block=Gurmukhi}) (79)
X \p{Halfwidth_And_Fullwidth_Forms} \p{Block=
Halfwidth_And_Fullwidth_Forms} (240)
- \p{Han} \p{Script=Han} (75_738)
- \p{Hang} \p{Hangul} (= \p{Script=Hangul}) (11_737)
+ \p{Han} \p{Script=Han} (75_960)
+ \p{Hang} \p{Hangul} (= \p{Script=Hangul}) (11_739)
\p{Hangul} \p{Script=Hangul} (Short: \p{Hang})
- (11_737)
+ (11_739)
X \p{Hangul_Compatibility_Jamo} \p{Block=Hangul_Compatibility_Jamo}
(96)
X \p{Hangul_Jamo} \p{Block=Hangul_Jamo} (256)
@@ -1455,7 +1504,7 @@ this property.
(95)
\p{Hangul_Syllable_Type: Vowel_Jamo} (Short: \p{Hst=V}) (95)
X \p{Hangul_Syllables} \p{Block=Hangul_Syllables} (11_184)
- \p{Hani} \p{Han} (= \p{Script=Han}) (75_738)
+ \p{Hani} \p{Han} (= \p{Script=Han}) (75_960)
\p{Hano} \p{Hanunoo} (= \p{Script=Hanunoo}) (NOT
\p{Block=Hanunoo}) (21)
\p{Hanunoo} \p{Script=Hanunoo} (Short: \p{Hano}; NOT
@@ -1473,38 +1522,38 @@ this property.
High_Private_Use_Surrogates} (128)
X \p{High_Surrogates} \p{Block=High_Surrogates} (896)
\p{Hira} \p{Hiragana} (= \p{Script=Hiragana}) (NOT
- \p{Block=Hiragana}) (90)
+ \p{Block=Hiragana}) (91)
\p{Hiragana} \p{Script=Hiragana} (Short: \p{Hira}; NOT
- \p{Block=Hiragana}) (90)
+ \p{Block=Hiragana}) (91)
\p{HorizSpace} \p{Blank} (19)
\p{Hst: *} \p{Hangul_Syllable_Type: *}
- S \p{Hyphen} \p{Hyphen=Y} (11)
- S \p{Hyphen: N*} Use the Line_Break property instead; see
- www.unicode.org/reports/tr14 (Single:
- \P{Hyphen}) (1_114_101)
- S \p{Hyphen: Y*} Use the Line_Break property instead; see
- www.unicode.org/reports/tr14 (Single:
- \p{Hyphen}) (11)
+ D \p{Hyphen} \p{Hyphen=Y} (11)
+ D \p{Hyphen: N*} Supplanted by Line_Break property values;
+ see www.unicode.org/reports/tr14
+ (Single: \P{Hyphen}) (1_114_101)
+ D \p{Hyphen: Y*} Supplanted by Line_Break property values;
+ see www.unicode.org/reports/tr14
+ (Single: \p{Hyphen}) (11)
\p{ID_Continue} \p{ID_Continue=Y} (Short: \p{IDC})
- (101_634)
- \p{ID_Continue: N*} (Short: \p{IDC=N}, \P{IDC}) (1_012_478)
- \p{ID_Continue: Y*} (Short: \p{IDC=Y}, \p{IDC}) (101_634)
- \p{ID_Start} \p{ID_Start=Y} (Short: \p{IDS}) (99_764)
- \p{ID_Start: N*} (Short: \p{IDS=N}, \P{IDS}) (1_014_348)
- \p{ID_Start: Y*} (Short: \p{IDS=Y}, \p{IDS}) (99_764)
+ (102_675)
+ \p{ID_Continue: N*} (Short: \p{IDC=N}, \P{IDC}) (1_011_437)
+ \p{ID_Continue: Y*} (Short: \p{IDC=Y}, \p{IDC}) (102_675)
+ \p{ID_Start} \p{ID_Start=Y} (Short: \p{IDS}) (100_747)
+ \p{ID_Start: N*} (Short: \p{IDS=N}, \P{IDS}) (1_013_365)
+ \p{ID_Start: Y*} (Short: \p{IDS=Y}, \p{IDS}) (100_747)
\p{IDC} \p{ID_Continue} (= \p{ID_Continue=Y})
- (101_634)
+ (102_675)
\p{IDC: *} \p{ID_Continue: *}
\p{Ideo} \p{Ideographic} (= \p{Ideographic=Y})
- (75_408)
+ (75_630)
\p{Ideo: *} \p{Ideographic: *}
\p{Ideographic} \p{Ideographic=Y} (Short: \p{Ideo})
- (75_408)
- \p{Ideographic: N*} (Short: \p{Ideo=N}, \P{Ideo}) (1_038_704)
- \p{Ideographic: Y*} (Short: \p{Ideo=Y}, \p{Ideo}) (75_408)
+ (75_630)
+ \p{Ideographic: N*} (Short: \p{Ideo=N}, \P{Ideo}) (1_038_482)
+ \p{Ideographic: Y*} (Short: \p{Ideo=Y}, \p{Ideo}) (75_630)
X \p{Ideographic_Description_Characters} \p{Block=
Ideographic_Description_Characters} (16)
- \p{IDS} \p{ID_Start} (= \p{ID_Start=Y}) (99_764)
+ \p{IDS} \p{ID_Start} (= \p{ID_Start=Y}) (100_747)
\p{IDS: *} \p{ID_Start: *}
\p{IDS_Binary_Operator} \p{IDS_Binary_Operator=Y} (Short:
\p{IDSB}) (10)
@@ -1572,8 +1621,8 @@ this property.
\p{Joining_Group: Gaf} (Short: \p{Jg=Gaf}) (13)
\p{Joining_Group: Gamal} (Short: \p{Jg=Gamal}) (3)
\p{Joining_Group: Hah} (Short: \p{Jg=Hah}) (17)
- \p{Joining_Group: Hamza_On_Heh_Goal} (Short: \p{Jg=
- HamzaOnHehGoal}) (1)
+ \p{Joining_Group: Hamza_On_Heh_Goal} \p{Joining_Group=
+ Teh_Marbuta_Goal} (1)
\p{Joining_Group: He} (Short: \p{Jg=He}) (1)
\p{Joining_Group: Heh} (Short: \p{Jg=Heh}) (1)
\p{Joining_Group: Heh_Goal} (Short: \p{Jg=HehGoal}) (2)
@@ -1587,7 +1636,7 @@ this property.
\p{Joining_Group: Meem} (Short: \p{Jg=Meem}) (3)
\p{Joining_Group: Mim} (Short: \p{Jg=Mim}) (1)
\p{Joining_Group: No_Joining_Group} (Short: \p{Jg=NoJoiningGroup})
- (1_113_883)
+ (1_113_882)
\p{Joining_Group: Noon} (Short: \p{Jg=Noon}) (8)
\p{Joining_Group: Nun} (Short: \p{Jg=Nun}) (1)
\p{Joining_Group: Nya} (Short: \p{Jg=Nya}) (1)
@@ -1606,9 +1655,11 @@ this property.
\p{Joining_Group: Tah} (Short: \p{Jg=Tah}) (3)
\p{Joining_Group: Taw} (Short: \p{Jg=Taw}) (1)
\p{Joining_Group: Teh_Marbuta} (Short: \p{Jg=TehMarbuta}) (3)
+ \p{Joining_Group: Teh_Marbuta_Goal} (Short: \p{Jg=TehMarbutaGoal})
+ (1)
\p{Joining_Group: Teth} (Short: \p{Jg=Teth}) (2)
\p{Joining_Group: Waw} (Short: \p{Jg=Waw}) (15)
- \p{Joining_Group: Yeh} (Short: \p{Jg=Yeh}) (7)
+ \p{Joining_Group: Yeh} (Short: \p{Jg=Yeh}) (8)
\p{Joining_Group: Yeh_Barree} (Short: \p{Jg=YehBarree}) (2)
\p{Joining_Group: Yeh_With_Tail} (Short: \p{Jg=YehWithTail}) (1)
\p{Joining_Group: Yudh} (Short: \p{Jg=Yudh}) (1)
@@ -1616,29 +1667,30 @@ this property.
\p{Joining_Group: Zain} (Short: \p{Jg=Zain}) (1)
\p{Joining_Group: Zhain} (Short: \p{Jg=Zhain}) (1)
\p{Joining_Type: C} \p{Joining_Type=Join_Causing} (3)
- \p{Joining_Type: D} \p{Joining_Type=Dual_Joining} (188)
- \p{Joining_Type: Dual_Joining} (Short: \p{Jt=D}) (188)
+ \p{Joining_Type: D} \p{Joining_Type=Dual_Joining} (189)
+ \p{Joining_Type: Dual_Joining} (Short: \p{Jt=D}) (189)
\p{Joining_Type: Join_Causing} (Short: \p{Jt=C}) (3)
\p{Joining_Type: L} \p{Joining_Type=Left_Joining} (0)
\p{Joining_Type: Left_Joining} (Short: \p{Jt=L}) (0)
- \p{Joining_Type: Non_Joining} (Short: \p{Jt=U}) (1_112_539)
+ \p{Joining_Type: Non_Joining} (Short: \p{Jt=U}) (1_112_502)
\p{Joining_Type: R} \p{Joining_Type=Right_Joining} (74)
\p{Joining_Type: Right_Joining} (Short: \p{Jt=R}) (74)
- \p{Joining_Type: T} \p{Joining_Type=Transparent} (1308)
- \p{Joining_Type: Transparent} (Short: \p{Jt=T}) (1308)
- \p{Joining_Type: U} \p{Joining_Type=Non_Joining} (1_112_539)
+ \p{Joining_Type: T} \p{Joining_Type=Transparent} (1344)
+ \p{Joining_Type: Transparent} (Short: \p{Jt=T}) (1344)
+ \p{Joining_Type: U} \p{Joining_Type=Non_Joining} (1_112_502)
\p{Jt: *} \p{Joining_Type: *}
\p{Kaithi} \p{Script=Kaithi} (Short: \p{Kthi}; NOT
\p{Block=Kaithi}) (66)
\p{Kali} \p{Kayah_Li} (= \p{Script=Kayah_Li}) (48)
\p{Kana} \p{Katakana} (= \p{Script=Katakana}) (NOT
- \p{Block=Katakana}) (299)
+ \p{Block=Katakana}) (300)
+ X \p{Kana_Supplement} \p{Block=Kana_Supplement} (256)
X \p{Kanbun} \p{Block=Kanbun} (16)
X \p{Kangxi_Radicals} \p{Block=Kangxi_Radicals} (224)
\p{Kannada} \p{Script=Kannada} (Short: \p{Knda}; NOT
- \p{Block=Kannada}) (84)
+ \p{Block=Kannada}) (86)
\p{Katakana} \p{Script=Katakana} (Short: \p{Kana}; NOT
- \p{Block=Katakana}) (299)
+ \p{Block=Katakana}) (300)
X \p{Katakana_Phonetic_Extensions} \p{Block=
Katakana_Phonetic_Extensions} (16)
\p{Kayah_Li} \p{Script=Kayah_Li} (Short: \p{Kali}) (48)
@@ -1652,21 +1704,21 @@ this property.
\p{Khmr} \p{Khmer} (= \p{Script=Khmer}) (NOT
\p{Block=Khmer}) (146)
\p{Knda} \p{Kannada} (= \p{Script=Kannada}) (NOT
- \p{Block=Kannada}) (84)
+ \p{Block=Kannada}) (86)
\p{Kthi} \p{Kaithi} (= \p{Script=Kaithi}) (NOT
\p{Block=Kaithi}) (66)
\p{L} \p{Letter} (= \p{General_Category=Letter})
- (99_537)
+ (100_520)
\p{L&} \p{Cased_Letter} (= \p{General_Category=
- Cased_Letter}) (3207)
+ Cased_Letter}) (3226)
\p{L_} \p{Cased_Letter} (= \p{General_Category=
- Cased_Letter}) (3207)
+ Cased_Letter}) (3226)
\p{Lana} \p{Tai_Tham} (= \p{Script=Tai_Tham}) (NOT
\p{Block=Tai_Tham}) (127)
\p{Lao} \p{Script=Lao} (NOT \p{Block=Lao}) (65)
\p{Laoo} \p{Lao} (= \p{Script=Lao}) (NOT \p{Block=
Lao}) (65)
- \p{Latin} \p{Script=Latin} (Short: \p{Latn}) (1244)
+ \p{Latin} \p{Script=Latin} (Short: \p{Latn}) (1267)
X \p{Latin_1} \p{Latin_1_Supplement} (= \p{Block=
Latin_1_Supplement}) (128)
X \p{Latin_1_Supplement} \p{Block=Latin_1_Supplement} (Short:
@@ -1677,16 +1729,16 @@ this property.
X \p{Latin_Extended_B} \p{Block=Latin_Extended_B} (208)
X \p{Latin_Extended_C} \p{Block=Latin_Extended_C} (32)
X \p{Latin_Extended_D} \p{Block=Latin_Extended_D} (224)
- \p{Latn} \p{Latin} (= \p{Script=Latin}) (1244)
+ \p{Latn} \p{Latin} (= \p{Script=Latin}) (1267)
\p{Lb: *} \p{Line_Break: *}
\p{LC} \p{Cased_Letter} (= \p{General_Category=
- Cased_Letter}) (3207)
+ Cased_Letter}) (3226)
\p{Lepc} \p{Lepcha} (= \p{Script=Lepcha}) (NOT
\p{Block=Lepcha}) (74)
\p{Lepcha} \p{Script=Lepcha} (Short: \p{Lepc}; NOT
\p{Block=Lepcha}) (74)
\p{Letter} \p{General_Category=Letter} (Short: \p{L})
- (99_537)
+ (100_520)
\p{Letter_Number} \p{General_Category=Letter_Number} (Short:
\p{Nl}) (224)
X \p{Letterlike_Symbols} \p{Block=Letterlike_Symbols} (80)
@@ -1695,15 +1747,15 @@ this property.
\p{Limbu} \p{Script=Limbu} (Short: \p{Limb}; NOT
\p{Block=Limbu}) (66)
\p{Linb} \p{Linear_B} (= \p{Script=Linear_B}) (211)
- \p{Line_Break: AI} \p{Line_Break=Ambiguous} (644)
- \p{Line_Break: AL} \p{Line_Break=Alphabetic} (14_092)
- \p{Line_Break: Alphabetic} (Short: \p{Lb=AL}) (14_092)
- \p{Line_Break: Ambiguous} (Short: \p{Lb=AI}) (644)
+ \p{Line_Break: AI} \p{Line_Break=Ambiguous} (724)
+ \p{Line_Break: AL} \p{Line_Break=Alphabetic} (15_797)
+ \p{Line_Break: Alphabetic} (Short: \p{Lb=AL}) (15_797)
+ \p{Line_Break: Ambiguous} (Short: \p{Lb=AI}) (724)
\p{Line_Break: B2} \p{Line_Break=Break_Both} (1)
- \p{Line_Break: BA} \p{Line_Break=Break_After} (137)
+ \p{Line_Break: BA} \p{Line_Break=Break_After} (140)
\p{Line_Break: BB} \p{Line_Break=Break_Before} (19)
\p{Line_Break: BK} \p{Line_Break=Mandatory_Break} (4)
- \p{Line_Break: Break_After} (Short: \p{Lb=BA}) (137)
+ \p{Line_Break: Break_After} (Short: \p{Lb=BA}) (140)
\p{Line_Break: Break_Before} (Short: \p{Lb=BB}) (19)
\p{Line_Break: Break_Both} (Short: \p{Lb=B2}) (1)
\p{Line_Break: Break_Symbols} (Short: \p{Lb=SY}) (1)
@@ -1712,22 +1764,22 @@ this property.
\p{Line_Break: CL} \p{Line_Break=Close_Punctuation} (87)
\p{Line_Break: Close_Parenthesis} (Short: \p{Lb=CP}) (2)
\p{Line_Break: Close_Punctuation} (Short: \p{Lb=CL}) (87)
- \p{Line_Break: CM} \p{Line_Break=Combining_Mark} (1436)
- \p{Line_Break: Combining_Mark} (Short: \p{Lb=CM}) (1436)
- \p{Line_Break: Complex_Context} (Short: \p{Lb=SA}) (662)
+ \p{Line_Break: CM} \p{Line_Break=Combining_Mark} (1483)
+ \p{Line_Break: Combining_Mark} (Short: \p{Lb=CM}) (1483)
+ \p{Line_Break: Complex_Context} (Short: \p{Lb=SA}) (663)
\p{Line_Break: Contingent_Break} (Short: \p{Lb=CB}) (1)
\p{Line_Break: CP} \p{Line_Break=Close_Parenthesis} (2)
\p{Line_Break: CR} \p{Line_Break=Carriage_Return} (1)
\p{Line_Break: EX} \p{Line_Break=Exclamation} (34)
\p{Line_Break: Exclamation} (Short: \p{Lb=EX}) (34)
- \p{Line_Break: GL} \p{Line_Break=Glue} (16)
- \p{Line_Break: Glue} (Short: \p{Lb=GL}) (16)
+ \p{Line_Break: GL} \p{Line_Break=Glue} (18)
+ \p{Line_Break: Glue} (Short: \p{Lb=GL}) (18)
\p{Line_Break: H2} (Short: \p{Lb=H2}) (399)
\p{Line_Break: H3} (Short: \p{Lb=H3}) (10_773)
\p{Line_Break: HY} \p{Line_Break=Hyphen} (1)
\p{Line_Break: Hyphen} (Short: \p{Lb=HY}) (1)
- \p{Line_Break: ID} \p{Line_Break=Ideographic} (161_775)
- \p{Line_Break: Ideographic} (Short: \p{Lb=ID}) (161_775)
+ \p{Line_Break: ID} \p{Line_Break=Ideographic} (161_793)
+ \p{Line_Break: Ideographic} (Short: \p{Lb=ID}) (161_793)
\p{Line_Break: IN} \p{Line_Break=Inseparable} (4)
\p{Line_Break: Infix_Numeric} (Short: \p{Lb=IS}) (13)
\p{Line_Break: Inseparable} (Short: \p{Lb=IN}) (4)
@@ -1743,17 +1795,17 @@ this property.
\p{Line_Break: NL} \p{Line_Break=Next_Line} (1)
\p{Line_Break: Nonstarter} (Short: \p{Lb=NS}) (77)
\p{Line_Break: NS} \p{Line_Break=Nonstarter} (77)
- \p{Line_Break: NU} \p{Line_Break=Numeric} (403)
- \p{Line_Break: Numeric} (Short: \p{Lb=NU}) (403)
+ \p{Line_Break: NU} \p{Line_Break=Numeric} (412)
+ \p{Line_Break: Numeric} (Short: \p{Lb=NU}) (412)
\p{Line_Break: OP} \p{Line_Break=Open_Punctuation} (81)
\p{Line_Break: Open_Punctuation} (Short: \p{Lb=OP}) (81)
\p{Line_Break: PO} \p{Line_Break=Postfix_Numeric} (28)
\p{Line_Break: Postfix_Numeric} (Short: \p{Lb=PO}) (28)
- \p{Line_Break: PR} \p{Line_Break=Prefix_Numeric} (43)
- \p{Line_Break: Prefix_Numeric} (Short: \p{Lb=PR}) (43)
+ \p{Line_Break: PR} \p{Line_Break=Prefix_Numeric} (44)
+ \p{Line_Break: Prefix_Numeric} (Short: \p{Lb=PR}) (44)
\p{Line_Break: QU} \p{Line_Break=Quotation} (34)
\p{Line_Break: Quotation} (Short: \p{Lb=QU}) (34)
- \p{Line_Break: SA} \p{Line_Break=Complex_Context} (662)
+ \p{Line_Break: SA} \p{Line_Break=Complex_Context} (663)
D \p{Line_Break: SG} \p{Line_Break=Surrogate} (2048)
\p{Line_Break: SP} \p{Line_Break=Space} (1)
\p{Line_Break: Space} (Short: \p{Lb=SP}) (1)
@@ -1762,10 +1814,10 @@ this property.
and therefore shouldn't be the basis for
line breaking (Short: \p{Lb=SG}) (2048)
\p{Line_Break: SY} \p{Line_Break=Break_Symbols} (1)
- \p{Line_Break: Unknown} (Short: \p{Lb=XX}) (920_933)
+ \p{Line_Break: Unknown} (Short: \p{Lb=XX}) (919_067)
\p{Line_Break: WJ} \p{Line_Break=Word_Joiner} (2)
\p{Line_Break: Word_Joiner} (Short: \p{Lb=WJ}) (2)
- \p{Line_Break: XX} \p{Line_Break=Unknown} (920_933)
+ \p{Line_Break: XX} \p{Line_Break=Unknown} (919_067)
\p{Line_Break: ZW} \p{Line_Break=ZWSpace} (1)
\p{Line_Break: ZWSpace} (Short: \p{Lb=ZW}) (1)
\p{Line_Separator} \p{General_Category=Line_Separator}
@@ -1776,12 +1828,13 @@ this property.
\p{Lisu} \p{Script=Lisu} (48)
\p{Ll} \p{Lowercase_Letter} (=
\p{General_Category=Lowercase_Letter})
- (1749)
+ (/i= General_Category=Cased_Letter)
+ (1759)
\p{Lm} \p{Modifier_Letter} (=
\p{General_Category=Modifier_Letter})
- (202)
+ (210)
\p{Lo} \p{Other_Letter} (= \p{General_Category=
- Other_Letter}) (96_128)
+ Other_Letter}) (97_084)
\p{LOE} \p{Logical_Order_Exception} (=
\p{Logical_Order_Exception=Y}) (15)
\p{LOE: *} \p{Logical_Order_Exception: *}
@@ -1791,18 +1844,24 @@ this property.
(1_114_097)
\p{Logical_Order_Exception: Y*} (Short: \p{LOE=Y}, \p{LOE}) (15)
X \p{Low_Surrogates} \p{Block=Low_Surrogates} (1024)
- \p{Lower} \p{Lowercase=Y} (1908)
+ \p{Lower} \p{Lowercase=Y} (/i= Cased=Yes) (1918)
\p{Lower: *} \p{Lowercase: *}
- \p{Lowercase} \p{Lower} (= \p{Lowercase=Y}) (1908)
- \p{Lowercase: N*} (Short: \p{Lower=N}, \P{Lower}) (1_112_204)
- \p{Lowercase: Y*} (Short: \p{Lower=Y}, \p{Lower}) (1908)
+ \p{Lowercase} \p{Lower} (= \p{Lowercase=Y}) (/i= Cased=
+ Yes) (1918)
+ \p{Lowercase: N*} (Short: \p{Lower=N}, \P{Lower}; /i= Cased=
+ No) (1_112_194)
+ \p{Lowercase: Y*} (Short: \p{Lower=Y}, \p{Lower}; /i= Cased=
+ Yes) (1918)
\p{Lowercase_Letter} \p{General_Category=Lowercase_Letter}
- (Short: \p{Ll}) (1749)
- \p{Lt} \p{Title} (= \p{General_Category=
- Titlecase_Letter}) (31)
+ (Short: \p{Ll}; /i= General_Category=
+ Cased_Letter) (1759)
+ \p{Lt} \p{Titlecase_Letter} (=
+ \p{General_Category=Titlecase_Letter})
+ (/i= General_Category=Cased_Letter) (31)
\p{Lu} \p{Uppercase_Letter} (=
\p{General_Category=Uppercase_Letter})
- (1427)
+ (/i= General_Category=Cased_Letter)
+ (1436)
\p{Lyci} \p{Lycian} (= \p{Script=Lycian}) (NOT
\p{Block=Lycian}) (29)
\p{Lycian} \p{Script=Lycian} (Short: \p{Lyci}; NOT
@@ -1812,24 +1871,28 @@ this property.
\p{Lydian} \p{Script=Lydian} (Short: \p{Lydi}; NOT
\p{Block=Lydian}) (27)
\p{M} \p{Mark} (= \p{General_Category=Mark})
- (1451)
+ (1498)
X \p{Mahjong_Tiles} \p{Block=Mahjong_Tiles} (48)
\p{Malayalam} \p{Script=Malayalam} (Short: \p{Mlym}; NOT
- \p{Block=Malayalam}) (95)
+ \p{Block=Malayalam}) (98)
+ \p{Mand} \p{Mandaic} (= \p{Script=Mandaic}) (NOT
+ \p{Block=Mandaic}) (29)
+ \p{Mandaic} \p{Script=Mandaic} (Short: \p{Mand}; NOT
+ \p{Block=Mandaic}) (29)
\p{Mark} \p{General_Category=Mark} (Short: \p{M})
- (1451)
- \p{Math} \p{Math=Y} (2161)
- \p{Math: N*} (Single: \P{Math}) (1_111_951)
- \p{Math: Y*} (Single: \p{Math}) (2161)
+ (1498)
+ \p{Math} \p{Math=Y} (2165)
+ \p{Math: N*} (Single: \P{Math}) (1_111_947)
+ \p{Math: Y*} (Single: \p{Math}) (2165)
\p{Math_Symbol} \p{General_Category=Math_Symbol} (Short:
- \p{Sm}) (945)
+ \p{Sm}) (948)
X \p{Mathematical_Alphanumeric_Symbols} \p{Block=
Mathematical_Alphanumeric_Symbols} (1024)
X \p{Mathematical_Operators} \p{Block=Mathematical_Operators} (256)
\p{Mc} \p{Spacing_Mark} (= \p{General_Category=
- Spacing_Mark}) (276)
+ Spacing_Mark}) (287)
\p{Me} \p{Enclosing_Mark} (= \p{General_Category=
- Enclosing_Mark}) (13)
+ Enclosing_Mark}) (12)
\p{Meetei_Mayek} \p{Script=Meetei_Mayek} (Short: \p{Mtei};
NOT \p{Block=Meetei_Mayek}) (56)
X \p{Miscellaneous_Mathematical_Symbols_A} \p{Block=
@@ -1841,16 +1904,19 @@ this property.
X \p{Miscellaneous_Symbols} \p{Block=Miscellaneous_Symbols} (256)
X \p{Miscellaneous_Symbols_And_Arrows} \p{Block=
Miscellaneous_Symbols_And_Arrows} (256)
+ X \p{Miscellaneous_Symbols_And_Pictographs} \p{Block=
+ Miscellaneous_Symbols_And_Pictographs}
+ (768)
X \p{Miscellaneous_Technical} \p{Block=Miscellaneous_Technical} (256)
\p{Mlym} \p{Malayalam} (= \p{Script=Malayalam})
- (NOT \p{Block=Malayalam}) (95)
+ (NOT \p{Block=Malayalam}) (98)
\p{Mn} \p{Nonspacing_Mark} (=
\p{General_Category=Nonspacing_Mark})
- (1162)
+ (1199)
\p{Modifier_Letter} \p{General_Category=Modifier_Letter}
- (Short: \p{Lm}) (202)
+ (Short: \p{Lm}) (210)
\p{Modifier_Symbol} \p{General_Category=Modifier_Symbol}
- (Short: \p{Sk}) (99)
+ (Short: \p{Sk}) (115)
X \p{Modifier_Tone_Letters} \p{Block=Modifier_Tone_Letters} (32)
\p{Mong} \p{Mongolian} (= \p{Script=Mongolian})
(NOT \p{Block=Mongolian}) (153)
@@ -1866,12 +1932,12 @@ this property.
\p{Mymr} \p{Myanmar} (= \p{Script=Myanmar}) (NOT
\p{Block=Myanmar}) (188)
\p{N} \p{Number} (= \p{General_Category=Number})
- (1064)
+ (1100)
\p{NChar} \p{Noncharacter_Code_Point} (=
\p{Noncharacter_Code_Point=Y}) (66)
\p{NChar: *} \p{Noncharacter_Code_Point: *}
\p{Nd} \p{Digit} (= \p{General_Category=
- Decimal_Number}) (411)
+ Decimal_Number}) (420)
\p{New_Tai_Lue} \p{Script=New_Tai_Lue} (Short: \p{Talu};
NOT \p{Block=New_Tai_Lue}) (83)
\p{NFC_QC: *} \p{NFC_Quick_Check: *}
@@ -1916,44 +1982,44 @@ this property.
\p{NFKC_Quick_Check: N} \p{NFKC_Quick_Check=No} (NOT
\P{NFKC_Quick_Check} NOR \P{NFKC_QC} NOR
\P{Is_NFKC_Quick_Check} NOR
- \P{Is_NFKC_QC}) (4597)
+ \P{Is_NFKC_QC}) (4640)
\p{NFKC_Quick_Check: No} (Short: \p{NFKCQC=N}; NOT
\P{NFKC_Quick_Check} NOR \P{NFKC_QC} NOR
\P{Is_NFKC_Quick_Check} NOR
- \P{Is_NFKC_QC}) (4597)
+ \P{Is_NFKC_QC}) (4640)
\p{NFKC_Quick_Check: Y} \p{NFKC_Quick_Check=Yes} (NOT
\p{NFKC_Quick_Check} NOR \p{NFKC_QC} NOR
\p{Is_NFKC_Quick_Check} NOR
- \p{Is_NFKC_QC}) (1_109_412)
+ \p{Is_NFKC_QC}) (1_109_369)
\p{NFKC_Quick_Check: Yes} (Short: \p{NFKCQC=Y}; NOT
\p{NFKC_Quick_Check} NOR \p{NFKC_QC} NOR
\p{Is_NFKC_Quick_Check} NOR
- \p{Is_NFKC_QC}) (1_109_412)
+ \p{Is_NFKC_QC}) (1_109_369)
\p{NFKD_QC: *} \p{NFKD_Quick_Check: *}
\p{NFKD_Quick_Check: N} \p{NFKD_Quick_Check=No} (NOT
\P{NFKD_Quick_Check} NOR \P{NFKD_QC} NOR
\P{Is_NFKD_Quick_Check} NOR
- \P{Is_NFKD_QC}) (16_688)
+ \P{Is_NFKD_QC}) (16_731)
\p{NFKD_Quick_Check: No} (Short: \p{NFKDQC=N}; NOT
\P{NFKD_Quick_Check} NOR \P{NFKD_QC} NOR
\P{Is_NFKD_Quick_Check} NOR
- \P{Is_NFKD_QC}) (16_688)
+ \P{Is_NFKD_QC}) (16_731)
\p{NFKD_Quick_Check: Y} \p{NFKD_Quick_Check=Yes} (NOT
\p{NFKD_Quick_Check} NOR \p{NFKD_QC} NOR
\p{Is_NFKD_Quick_Check} NOR
- \p{Is_NFKD_QC}) (1_097_424)
+ \p{Is_NFKD_QC}) (1_097_381)
\p{NFKD_Quick_Check: Yes} (Short: \p{NFKDQC=Y}; NOT
\p{NFKD_Quick_Check} NOR \p{NFKD_QC} NOR
\p{Is_NFKD_Quick_Check} NOR
- \p{Is_NFKD_QC}) (1_097_424)
+ \p{Is_NFKD_QC}) (1_097_381)
\p{Nko} \p{Script=Nko} (NOT \p{NKo}) (59)
\p{Nkoo} \p{Nko} (= \p{Script=Nko}) (NOT \p{NKo})
(59)
\p{Nl} \p{Letter_Number} (= \p{General_Category=
Letter_Number}) (224)
\p{No} \p{Other_Number} (= \p{General_Category=
- Other_Number}) (429)
- X \p{No_Block} \p{Block=No_Block} (864_192)
+ Other_Number}) (456)
+ X \p{No_Block} \p{Block=No_Block} (861_664)
\p{Noncharacter_Code_Point} \p{Noncharacter_Code_Point=Y} (Short:
\p{NChar}) (66)
\p{Noncharacter_Code_Point: N*} (Short: \p{NChar=N}, \P{NChar})
@@ -1961,58 +2027,58 @@ this property.
\p{Noncharacter_Code_Point: Y*} (Short: \p{NChar=Y}, \p{NChar})
(66)
\p{Nonspacing_Mark} \p{General_Category=Nonspacing_Mark}
- (Short: \p{Mn}) (1162)
+ (Short: \p{Mn}) (1199)
\p{Nt: *} \p{Numeric_Type: *}
\p{Number} \p{General_Category=Number} (Short: \p{N})
- (1064)
+ (1100)
X \p{Number_Forms} \p{Block=Number_Forms} (64)
- \p{Numeric_Type: De} \p{Numeric_Type=Decimal} (411)
- \p{Numeric_Type: Decimal} (Short: \p{Nt=De}) (411)
- \p{Numeric_Type: Di} \p{Numeric_Type=Digit} (118)
- \p{Numeric_Type: Digit} (Short: \p{Nt=Di}) (118)
- \p{Numeric_Type: None} (Short: \p{Nt=None}) (1_112_971)
- \p{Numeric_Type: Nu} \p{Numeric_Type=Numeric} (612)
- \p{Numeric_Type: Numeric} (Short: \p{Nt=Nu}) (612)
+ \p{Numeric_Type: De} \p{Numeric_Type=Decimal} (420)
+ \p{Numeric_Type: Decimal} (Short: \p{Nt=De}) (420)
+ \p{Numeric_Type: Di} \p{Numeric_Type=Digit} (128)
+ \p{Numeric_Type: Digit} (Short: \p{Nt=Di}) (128)
+ \p{Numeric_Type: None} (Short: \p{Nt=None}) (1_112_935)
+ \p{Numeric_Type: Nu} \p{Numeric_Type=Numeric} (629)
+ \p{Numeric_Type: Numeric} (Short: \p{Nt=Nu}) (629)
T \p{Numeric_Value: -1/2} (Short: \p{Nv=-1/2}) (1)
- T \p{Numeric_Value: 0} (Short: \p{Nv=0}) (55)
- T \p{Numeric_Value: 1/16} (Short: \p{Nv=1/16}) (2)
+ T \p{Numeric_Value: 0} (Short: \p{Nv=0}) (56)
+ T \p{Numeric_Value: 1/16} (Short: \p{Nv=1/16}) (3)
T \p{Numeric_Value: 1/10} (Short: \p{Nv=1/10}) (1)
T \p{Numeric_Value: 1/9} (Short: \p{Nv=1/9}) (1)
- T \p{Numeric_Value: 1/8} (Short: \p{Nv=1/8}) (4)
+ T \p{Numeric_Value: 1/8} (Short: \p{Nv=1/8}) (5)
T \p{Numeric_Value: 1/7} (Short: \p{Nv=1/7}) (1)
T \p{Numeric_Value: 1/6} (Short: \p{Nv=1/6}) (2)
- T \p{Numeric_Value: 3/16} (Short: \p{Nv=3/16}) (2)
+ T \p{Numeric_Value: 3/16} (Short: \p{Nv=3/16}) (3)
T \p{Numeric_Value: 1/5} (Short: \p{Nv=1/5}) (1)
- T \p{Numeric_Value: 1/4} (Short: \p{Nv=1/4}) (8)
+ T \p{Numeric_Value: 1/4} (Short: \p{Nv=1/4}) (9)
T \p{Numeric_Value: 1/3} (Short: \p{Nv=1/3}) (4)
T \p{Numeric_Value: 3/8} (Short: \p{Nv=3/8}) (1)
T \p{Numeric_Value: 2/5} (Short: \p{Nv=2/5}) (1)
- T \p{Numeric_Value: 1/2} (Short: \p{Nv=1/2}) (9)
+ T \p{Numeric_Value: 1/2} (Short: \p{Nv=1/2}) (10)
T \p{Numeric_Value: 3/5} (Short: \p{Nv=3/5}) (1)
T \p{Numeric_Value: 5/8} (Short: \p{Nv=5/8}) (1)
T \p{Numeric_Value: 2/3} (Short: \p{Nv=2/3}) (5)
- T \p{Numeric_Value: 3/4} (Short: \p{Nv=3/4}) (5)
+ T \p{Numeric_Value: 3/4} (Short: \p{Nv=3/4}) (6)
T \p{Numeric_Value: 4/5} (Short: \p{Nv=4/5}) (1)
T \p{Numeric_Value: 5/6} (Short: \p{Nv=5/6}) (2)
T \p{Numeric_Value: 7/8} (Short: \p{Nv=7/8}) (1)
- T \p{Numeric_Value: 1} (Short: \p{Nv=1}) (91)
+ T \p{Numeric_Value: 1} (Short: \p{Nv=1}) (93)
T \p{Numeric_Value: 3/2} (Short: \p{Nv=3/2}) (1)
- T \p{Numeric_Value: 2} (Short: \p{Nv=2}) (94)
+ T \p{Numeric_Value: 2} (Short: \p{Nv=2}) (96)
T \p{Numeric_Value: 5/2} (Short: \p{Nv=5/2}) (1)
- T \p{Numeric_Value: 3} (Short: \p{Nv=3}) (96)
+ T \p{Numeric_Value: 3} (Short: \p{Nv=3}) (98)
T \p{Numeric_Value: 7/2} (Short: \p{Nv=7/2}) (1)
- T \p{Numeric_Value: 4} (Short: \p{Nv=4}) (87)
+ T \p{Numeric_Value: 4} (Short: \p{Nv=4}) (89)
T \p{Numeric_Value: 9/2} (Short: \p{Nv=9/2}) (1)
- T \p{Numeric_Value: 5} (Short: \p{Nv=5}) (84)
+ T \p{Numeric_Value: 5} (Short: \p{Nv=5}) (86)
T \p{Numeric_Value: 11/2} (Short: \p{Nv=11/2}) (1)
- T \p{Numeric_Value: 6} (Short: \p{Nv=6}) (76)
+ T \p{Numeric_Value: 6} (Short: \p{Nv=6}) (78)
T \p{Numeric_Value: 13/2} (Short: \p{Nv=13/2}) (1)
- T \p{Numeric_Value: 7} (Short: \p{Nv=7}) (75)
+ T \p{Numeric_Value: 7} (Short: \p{Nv=7}) (77)
T \p{Numeric_Value: 15/2} (Short: \p{Nv=15/2}) (1)
- T \p{Numeric_Value: 8} (Short: \p{Nv=8}) (71)
+ T \p{Numeric_Value: 8} (Short: \p{Nv=8}) (73)
T \p{Numeric_Value: 17/2} (Short: \p{Nv=17/2}) (1)
- T \p{Numeric_Value: 9} (Short: \p{Nv=9}) (75)
- T \p{Numeric_Value: 10} (Short: \p{Nv=10}) (38)
+ T \p{Numeric_Value: 9} (Short: \p{Nv=9}) (77)
+ T \p{Numeric_Value: 10} (Short: \p{Nv=10}) (39)
T \p{Numeric_Value: 11} (Short: \p{Nv=11}) (6)
T \p{Numeric_Value: 12} (Short: \p{Nv=12}) (6)
T \p{Numeric_Value: 13} (Short: \p{Nv=13}) (4)
@@ -2022,7 +2088,7 @@ this property.
T \p{Numeric_Value: 17} (Short: \p{Nv=17}) (5)
T \p{Numeric_Value: 18} (Short: \p{Nv=18}) (5)
T \p{Numeric_Value: 19} (Short: \p{Nv=19}) (5)
- T \p{Numeric_Value: 20} (Short: \p{Nv=20}) (17)
+ T \p{Numeric_Value: 20} (Short: \p{Nv=20}) (18)
T \p{Numeric_Value: 21} (Short: \p{Nv=21}) (1)
T \p{Numeric_Value: 22} (Short: \p{Nv=22}) (1)
T \p{Numeric_Value: 23} (Short: \p{Nv=23}) (1)
@@ -2032,7 +2098,7 @@ this property.
T \p{Numeric_Value: 27} (Short: \p{Nv=27}) (1)
T \p{Numeric_Value: 28} (Short: \p{Nv=28}) (1)
T \p{Numeric_Value: 29} (Short: \p{Nv=29}) (1)
- T \p{Numeric_Value: 30} (Short: \p{Nv=30}) (9)
+ T \p{Numeric_Value: 30} (Short: \p{Nv=30}) (10)
T \p{Numeric_Value: 31} (Short: \p{Nv=31}) (1)
T \p{Numeric_Value: 32} (Short: \p{Nv=32}) (1)
T \p{Numeric_Value: 33} (Short: \p{Nv=33}) (1)
@@ -2042,7 +2108,7 @@ this property.
T \p{Numeric_Value: 37} (Short: \p{Nv=37}) (1)
T \p{Numeric_Value: 38} (Short: \p{Nv=38}) (1)
T \p{Numeric_Value: 39} (Short: \p{Nv=39}) (1)
- T \p{Numeric_Value: 40} (Short: \p{Nv=40}) (8)
+ T \p{Numeric_Value: 40} (Short: \p{Nv=40}) (9)
T \p{Numeric_Value: 41} (Short: \p{Nv=41}) (1)
T \p{Numeric_Value: 42} (Short: \p{Nv=42}) (1)
T \p{Numeric_Value: 43} (Short: \p{Nv=43}) (1)
@@ -2052,12 +2118,12 @@ this property.
T \p{Numeric_Value: 47} (Short: \p{Nv=47}) (1)
T \p{Numeric_Value: 48} (Short: \p{Nv=48}) (1)
T \p{Numeric_Value: 49} (Short: \p{Nv=49}) (1)
- T \p{Numeric_Value: 50} (Short: \p{Nv=50}) (18)
- T \p{Numeric_Value: 60} (Short: \p{Nv=60}) (4)
- T \p{Numeric_Value: 70} (Short: \p{Nv=70}) (4)
- T \p{Numeric_Value: 80} (Short: \p{Nv=80}) (4)
- T \p{Numeric_Value: 90} (Short: \p{Nv=90}) (5)
- T \p{Numeric_Value: 100} (Short: \p{Nv=100}) (19)
+ T \p{Numeric_Value: 50} (Short: \p{Nv=50}) (19)
+ T \p{Numeric_Value: 60} (Short: \p{Nv=60}) (5)
+ T \p{Numeric_Value: 70} (Short: \p{Nv=70}) (5)
+ T \p{Numeric_Value: 80} (Short: \p{Nv=80}) (5)
+ T \p{Numeric_Value: 90} (Short: \p{Nv=90}) (6)
+ T \p{Numeric_Value: 100} (Short: \p{Nv=100}) (20)
T \p{Numeric_Value: 200} (Short: \p{Nv=200}) (2)
T \p{Numeric_Value: 300} (Short: \p{Nv=300}) (3)
T \p{Numeric_Value: 400} (Short: \p{Nv=400}) (2)
@@ -2066,7 +2132,7 @@ this property.
T \p{Numeric_Value: 700} (Short: \p{Nv=700}) (2)
T \p{Numeric_Value: 800} (Short: \p{Nv=800}) (2)
T \p{Numeric_Value: 900} (Short: \p{Nv=900}) (3)
- T \p{Numeric_Value: 1000} (Short: \p{Nv=1000}) (16)
+ T \p{Numeric_Value: 1000} (Short: \p{Nv=1000}) (17)
T \p{Numeric_Value: 2000} (Short: \p{Nv=2000}) (1)
T \p{Numeric_Value: 3000} (Short: \p{Nv=3000}) (1)
T \p{Numeric_Value: 4000} (Short: \p{Nv=4000}) (1)
@@ -2089,10 +2155,10 @@ this property.
100000000}) (2)
T \p{Numeric_Value: 1000000000000} (= 1.0e+012) (Short: \p{Nv=
1000000000000}) (1)
- \p{Numeric_Value: NaN} (Short: \p{Nv=NaN}) (1_112_971)
+ \p{Numeric_Value: NaN} (Short: \p{Nv=NaN}) (1_112_935)
\p{Nv: *} \p{Numeric_Value: *}
D \p{OAlpha} \p{Other_Alphabetic} (=
- \p{Other_Alphabetic=Y}) (759)
+ \p{Other_Alphabetic=Y}) (795)
D \p{OAlpha: *} \p{Other_Alphabetic: *}
D \p{ODI} \p{Other_Default_Ignorable_Code_Point} (=
\p{Other_Default_Ignorable_Code_Point=
@@ -2106,7 +2172,7 @@ this property.
\p{Other_Grapheme_Extend=Y}) (23)
D \p{OGr_Ext: *} \p{Other_Grapheme_Extend: *}
D \p{OIDC} \p{Other_ID_Continue} (=
- \p{Other_ID_Continue=Y}) (11)
+ \p{Other_ID_Continue=Y}) (12)
D \p{OIDC: *} \p{Other_ID_Continue: *}
D \p{OIDS} \p{Other_ID_Start} (= \p{Other_ID_Start=
Y}) (4)
@@ -2124,36 +2190,36 @@ this property.
D \p{OLower} \p{Other_Lowercase} (= \p{Other_Lowercase=
Y}) (159)
D \p{OLower: *} \p{Other_Lowercase: *}
- D \p{OMath} \p{Other_Math} (= \p{Other_Math=Y}) (1216)
+ D \p{OMath} \p{Other_Math} (= \p{Other_Math=Y}) (1217)
D \p{OMath: *} \p{Other_Math: *}
\p{Open_Punctuation} \p{General_Category=Open_Punctuation}
(Short: \p{Ps}) (72)
X \p{Optical_Character_Recognition} \p{Block=
Optical_Character_Recognition} (32)
\p{Oriya} \p{Script=Oriya} (Short: \p{Orya}; NOT
- \p{Block=Oriya}) (84)
+ \p{Block=Oriya}) (90)
\p{Orkh} \p{Old_Turkic} (= \p{Script=Old_Turkic})
(NOT \p{Block=Old_Turkic}) (73)
\p{Orya} \p{Oriya} (= \p{Script=Oriya}) (NOT
- \p{Block=Oriya}) (84)
+ \p{Block=Oriya}) (90)
\p{Osma} \p{Osmanya} (= \p{Script=Osmanya}) (NOT
\p{Block=Osmanya}) (40)
\p{Osmanya} \p{Script=Osmanya} (Short: \p{Osma}; NOT
\p{Block=Osmanya}) (40)
\p{Other} \p{General_Category=Other} (Short: \p{C})
- (1_006_956)
+ (1_004_868)
D \p{Other_Alphabetic} \p{Other_Alphabetic=Y} (Short: \p{OAlpha})
- (759)
+ (795)
D \p{Other_Alphabetic: N*} Used by Unicode internally for generating
the Alphabetic property (which should be
used instead) and not intended to be
used stand-alone (Short: \p{OAlpha=N},
- \P{OAlpha}) (1_113_353)
+ \P{OAlpha}) (1_113_317)
D \p{Other_Alphabetic: Y*} Used by Unicode internally for generating
the Alphabetic property (which should be
used instead) and not intended to be
used stand-alone (Short: \p{OAlpha=Y},
- \p{OAlpha}) (759)
+ \p{OAlpha}) (795)
D \p{Other_Default_Ignorable_Code_Point}
\p{Other_Default_Ignorable_Code_Point=Y}
(Short: \p{ODI}) (3778)
@@ -2182,17 +2248,17 @@ this property.
intended to be used stand-alone (Short:
\p{OGrExt=Y}, \p{OGrExt}) (23)
D \p{Other_ID_Continue} \p{Other_ID_Continue=Y} (Short: \p{OIDC})
- (11)
+ (12)
D \p{Other_ID_Continue: N*} Used by Unicode internally for
generating the ID_Continue property
(which should be used instead) and not
intended to be used stand-alone (Short:
- \p{OIDC=N}, \P{OIDC}) (1_114_101)
+ \p{OIDC=N}, \P{OIDC}) (1_114_100)
D \p{Other_ID_Continue: Y*} Used by Unicode internally for
generating the ID_Continue property
(which should be used instead) and not
intended to be used stand-alone (Short:
- \p{OIDC=Y}, \p{OIDC}) (11)
+ \p{OIDC=Y}, \p{OIDC}) (12)
D \p{Other_ID_Start} \p{Other_ID_Start=Y} (Short: \p{OIDS}) (4)
D \p{Other_ID_Start: N*} Used by Unicode internally for generating
the ID_Start property (which should be
@@ -2205,7 +2271,7 @@ this property.
used stand-alone (Short: \p{OIDS=Y},
\p{OIDS}) (4)
\p{Other_Letter} \p{General_Category=Other_Letter} (Short:
- \p{Lo}) (96_128)
+ \p{Lo}) (97_084)
D \p{Other_Lowercase} \p{Other_Lowercase=Y} (Short: \p{OLower})
(159)
D \p{Other_Lowercase: N*} Used by Unicode internally for generating
@@ -2218,23 +2284,23 @@ this property.
used instead) and not intended to be
used stand-alone (Short: \p{OLower=Y},
\p{OLower}) (159)
- D \p{Other_Math} \p{Other_Math=Y} (Short: \p{OMath}) (1216)
+ D \p{Other_Math} \p{Other_Math=Y} (Short: \p{OMath}) (1217)
D \p{Other_Math: N*} Used by Unicode internally for generating
the Math property (which should be used
instead) and not intended to be used
stand-alone (Short: \p{OMath=N},
- \P{OMath}) (1_112_896)
+ \P{OMath}) (1_112_895)
D \p{Other_Math: Y*} Used by Unicode internally for generating
the Math property (which should be used
instead) and not intended to be used
stand-alone (Short: \p{OMath=Y},
- \p{OMath}) (1216)
+ \p{OMath}) (1217)
\p{Other_Number} \p{General_Category=Other_Number} (Short:
- \p{No}) (429)
+ \p{No}) (456)
\p{Other_Punctuation} \p{General_Category=Other_Punctuation}
- (Short: \p{Po}) (389)
+ (Short: \p{Po}) (402)
\p{Other_Symbol} \p{General_Category=Other_Symbol} (Short:
- \p{So}) (3409)
+ \p{So}) (4398)
D \p{Other_Uppercase} \p{Other_Uppercase=Y} (Short: \p{OUpper})
(42)
D \p{Other_Uppercase: N*} Used by Unicode internally for generating
@@ -2251,7 +2317,7 @@ this property.
Y}) (42)
D \p{OUpper: *} \p{Other_Uppercase: *}
\p{P} \p{Punct} (= \p{General_Category=
- Punctuation}) (585)
+ Punctuation}) (598)
\p{Paragraph_Separator} \p{General_Category=Paragraph_Separator}
(Short: \p{Zp}) (1)
\p{Pat_Syn} \p{Pattern_Syntax} (= \p{Pattern_Syntax=
@@ -2302,22 +2368,30 @@ this property.
\p{Pi} \p{Initial_Punctuation} (=
\p{General_Category=
Initial_Punctuation}) (12)
+ X \p{Playing_Cards} \p{Block=Playing_Cards} (96)
\p{Po} \p{Other_Punctuation} (=
\p{General_Category=Other_Punctuation})
- (389)
+ (402)
\p{PosixAlnum} [A-Za-z0-9] (62)
\p{PosixAlpha} [A-Za-z] (52)
\p{PosixBlank} \t and ' ' (2)
- \p{PosixCntrl} [\x00-\x1F] (33)
+ \p{PosixCntrl} ASCII control characters: NUL, SOH, STX,
+ ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT,
+ FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4,
+ NAK, SYN, ETB, CAN, EOM, SUB, ESC, FS,
+ GS, RS, US, and DEL (33)
\p{PosixDigit} [0-9] (10)
- \p{PosixGraph} [\x21-\x7E] (94)
- \p{PosixLower} [a-z] (26)
- \p{PosixPrint} [\x20-\x7E] (95)
- \p{PosixPunct} Graphical characters that aren't Word
- characters = [\x21-\x2F\x3A-\x40\x5B-
- \x60\x7B-\x7E] (32)
- \p{PosixSpace} \t \n, \x0B, \f, \r, and ' ' (6)
- \p{PosixUpper} [A-Z] (26)
+ \p{PosixGraph} [-!"#$%&'()*+,./:;<>?@[\\]^_`{|}~0-9A-Za-
+ z] (94)
+ \p{PosixLower} [a-z] (/i= PosixAlpha) (26)
+ \p{PosixPrint} [- 0-9A-Za-
+ z!"#$%&'()*+,./:;<>?@[\\]^_`{|}~] (95)
+ \p{PosixPunct} [-!"#$%&'()*+,./:;<>?@[\\]^_`{|}~] (32)
+ \p{PosixSpace} \t, \n, \cK, \f, \r, and ' '. (\cK is
+ vertical tab) (6)
+ \p{PosixUpper} [A-Z] (/i= PosixAlpha) (26)
+ \p{PosixWord} \p{PerlWord} (63)
+ \p{PosixXDigit} [0-9A-Fa-f] (22)
T \p{Present_In: 1.1} \p{Age=1.1} (Short: \p{In=1.1}) (Perl
extension) (33_979)
T \p{Present_In: 2.0} Code point's usage introduced in version
@@ -2350,10 +2424,13 @@ this property.
T \p{Present_In: 5.2} Code point's usage introduced in version
5.2 or earlier (Short: \p{In=5.2}) (Perl
extension) (246_943)
+ T \p{Present_In: 6.0} Code point's usage introduced in version
+ 6.0 or earlier (Short: \p{In=6.0}) (Perl
+ extension) (249_031)
\p{Present_In: Unassigned} \p{Age=Unassigned} (Short: \p{In=
- Unassigned}) (Perl extension) (867_169)
+ Unassigned}) (Perl extension) (865_081)
\p{Print} Characters that are graphical plus space
- characters (but no controls) (244_762)
+ characters (but no controls) (246_850)
\p{Private_Use} \p{General_Category=Private_Use} (Short:
\p{Co}; NOT \p{Private_Use_Area})
(137_468)
@@ -2366,9 +2443,9 @@ this property.
\p{General_Category=Open_Punctuation})
(72)
\p{Punct} \p{General_Category=Punctuation} (Short:
- \p{P}) (585)
+ \p{P}) (598)
\p{Punctuation} \p{Punct} (= \p{General_Category=
- Punctuation}) (585)
+ Punctuation}) (598)
\p{Qaac} \p{Coptic} (= \p{Script=Coptic}) (NOT
\p{Block=Coptic}) (135)
\p{Qaai} \p{Inherited} (= \p{Script=Inherited})
@@ -2393,7 +2470,7 @@ this property.
\p{Runr} \p{Runic} (= \p{Script=Runic}) (NOT
\p{Block=Runic}) (78)
\p{S} \p{Symbol} (= \p{General_Category=Symbol})
- (4499)
+ (5508)
\p{Samaritan} \p{Script=Samaritan} (Short: \p{Samr}; NOT
\p{Block=Samaritan}) (61)
\p{Samr} \p{Samaritan} (= \p{Script=Samaritan})
@@ -2407,10 +2484,10 @@ this property.
\p{SB: *} \p{Sentence_Break: *}
\p{Sc} \p{Currency_Symbol} (=
\p{General_Category=Currency_Symbol})
- (46)
+ (47)
\p{Sc: *} \p{Script: *}
- \p{Script: Arab} \p{Script=Arabic} (1030)
- \p{Script: Arabic} (Short: \p{Sc=Arab}, \p{Arab}) (1030)
+ \p{Script: Arab} \p{Script=Arabic} (1051)
+ \p{Script: Arabic} (Short: \p{Sc=Arab}, \p{Arab}) (1051)
\p{Script: Armenian} (Short: \p{Sc=Armn}, \p{Armn}) (90)
\p{Script: Armi} \p{Script=Imperial_Aramaic} (31)
\p{Script: Armn} \p{Script=Armenian} (90)
@@ -2418,12 +2495,16 @@ this property.
\p{Script: Avst} \p{Script=Avestan} (61)
\p{Script: Bali} \p{Script=Balinese} (121)
\p{Script: Balinese} (Short: \p{Sc=Bali}, \p{Bali}) (121)
- \p{Script: Bamu} \p{Script=Bamum} (88)
- \p{Script: Bamum} (Short: \p{Sc=Bamu}, \p{Bamu}) (88)
+ \p{Script: Bamu} \p{Script=Bamum} (657)
+ \p{Script: Bamum} (Short: \p{Sc=Bamu}, \p{Bamu}) (657)
+ \p{Script: Batak} (Short: \p{Sc=Batk}, \p{Batk}) (56)
+ \p{Script: Batk} \p{Script=Batak} (56)
\p{Script: Beng} \p{Script=Bengali} (92)
\p{Script: Bengali} (Short: \p{Sc=Beng}, \p{Beng}) (92)
- \p{Script: Bopo} \p{Script=Bopomofo} (65)
- \p{Script: Bopomofo} (Short: \p{Sc=Bopo}, \p{Bopo}) (65)
+ \p{Script: Bopo} \p{Script=Bopomofo} (70)
+ \p{Script: Bopomofo} (Short: \p{Sc=Bopo}, \p{Bopo}) (70)
+ \p{Script: Brah} \p{Script=Brahmi} (108)
+ \p{Script: Brahmi} (Short: \p{Sc=Brah}, \p{Brah}) (108)
\p{Script: Brai} \p{Script=Braille} (256)
\p{Script: Braille} (Short: \p{Sc=Brai}, \p{Brai}) (256)
\p{Script: Bugi} \p{Script=Buginese} (30)
@@ -2438,23 +2519,23 @@ this property.
\p{Script: Cham} (Short: \p{Sc=Cham}, \p{Cham}) (83)
\p{Script: Cher} \p{Script=Cherokee} (85)
\p{Script: Cherokee} (Short: \p{Sc=Cher}, \p{Cher}) (85)
- \p{Script: Common} (Short: \p{Sc=Zyyy}, \p{Zyyy}) (5395)
+ \p{Script: Common} (Short: \p{Sc=Zyyy}, \p{Zyyy}) (6379)
\p{Script: Copt} \p{Script=Coptic} (135)
\p{Script: Coptic} (Short: \p{Sc=Copt}, \p{Copt}) (135)
\p{Script: Cprt} \p{Script=Cypriot} (55)
\p{Script: Cuneiform} (Short: \p{Sc=Xsux}, \p{Xsux}) (982)
\p{Script: Cypriot} (Short: \p{Sc=Cprt}, \p{Cprt}) (55)
- \p{Script: Cyrillic} (Short: \p{Sc=Cyrl}, \p{Cyrl}) (404)
- \p{Script: Cyrl} \p{Script=Cyrillic} (404)
+ \p{Script: Cyrillic} (Short: \p{Sc=Cyrl}, \p{Cyrl}) (408)
+ \p{Script: Cyrl} \p{Script=Cyrillic} (408)
\p{Script: Deseret} (Short: \p{Sc=Dsrt}, \p{Dsrt}) (80)
- \p{Script: Deva} \p{Script=Devanagari} (140)
- \p{Script: Devanagari} (Short: \p{Sc=Deva}, \p{Deva}) (140)
+ \p{Script: Deva} \p{Script=Devanagari} (150)
+ \p{Script: Devanagari} (Short: \p{Sc=Deva}, \p{Deva}) (150)
\p{Script: Dsrt} \p{Script=Deseret} (80)
\p{Script: Egyp} \p{Script=Egyptian_Hieroglyphs} (1071)
\p{Script: Egyptian_Hieroglyphs} (Short: \p{Sc=Egyp}, \p{Egyp})
(1071)
- \p{Script: Ethi} \p{Script=Ethiopic} (461)
- \p{Script: Ethiopic} (Short: \p{Sc=Ethi}, \p{Ethi}) (461)
+ \p{Script: Ethi} \p{Script=Ethiopic} (495)
+ \p{Script: Ethiopic} (Short: \p{Sc=Ethi}, \p{Ethi}) (495)
\p{Script: Geor} \p{Script=Georgian} (120)
\p{Script: Georgian} (Short: \p{Sc=Geor}, \p{Geor}) (120)
\p{Script: Glag} \p{Script=Glagolitic} (94)
@@ -2467,16 +2548,16 @@ this property.
\p{Script: Gujr} \p{Script=Gujarati} (83)
\p{Script: Gurmukhi} (Short: \p{Sc=Guru}, \p{Guru}) (79)
\p{Script: Guru} \p{Script=Gurmukhi} (79)
- \p{Script: Han} (Short: \p{Sc=Han}, \p{Han}) (75_738)
- \p{Script: Hang} \p{Script=Hangul} (11_737)
- \p{Script: Hangul} (Short: \p{Sc=Hang}, \p{Hang}) (11_737)
- \p{Script: Hani} \p{Script=Han} (75_738)
+ \p{Script: Han} (Short: \p{Sc=Han}, \p{Han}) (75_960)
+ \p{Script: Hang} \p{Script=Hangul} (11_739)
+ \p{Script: Hangul} (Short: \p{Sc=Hang}, \p{Hang}) (11_739)
+ \p{Script: Hani} \p{Script=Han} (75_960)
\p{Script: Hano} \p{Script=Hanunoo} (21)
\p{Script: Hanunoo} (Short: \p{Sc=Hano}, \p{Hano}) (21)
\p{Script: Hebr} \p{Script=Hebrew} (133)
\p{Script: Hebrew} (Short: \p{Sc=Hebr}, \p{Hebr}) (133)
- \p{Script: Hira} \p{Script=Hiragana} (90)
- \p{Script: Hiragana} (Short: \p{Sc=Hira}, \p{Hira}) (90)
+ \p{Script: Hira} \p{Script=Hiragana} (91)
+ \p{Script: Hiragana} (Short: \p{Sc=Hira}, \p{Hira}) (91)
\p{Script: Imperial_Aramaic} (Short: \p{Sc=Armi}, \p{Armi}) (31)
\p{Script: Inherited} (Short: \p{Sc=Zinh}, \p{Zinh}) (523)
\p{Script: Inscriptional_Pahlavi} (Short: \p{Sc=Phli}, \p{Phli})
@@ -2488,21 +2569,21 @@ this property.
\p{Script: Javanese} (Short: \p{Sc=Java}, \p{Java}) (91)
\p{Script: Kaithi} (Short: \p{Sc=Kthi}, \p{Kthi}) (66)
\p{Script: Kali} \p{Script=Kayah_Li} (48)
- \p{Script: Kana} \p{Script=Katakana} (299)
- \p{Script: Kannada} (Short: \p{Sc=Knda}, \p{Knda}) (84)
- \p{Script: Katakana} (Short: \p{Sc=Kana}, \p{Kana}) (299)
+ \p{Script: Kana} \p{Script=Katakana} (300)
+ \p{Script: Kannada} (Short: \p{Sc=Knda}, \p{Knda}) (86)
+ \p{Script: Katakana} (Short: \p{Sc=Kana}, \p{Kana}) (300)
\p{Script: Kayah_Li} (Short: \p{Sc=Kali}, \p{Kali}) (48)
\p{Script: Khar} \p{Script=Kharoshthi} (65)
\p{Script: Kharoshthi} (Short: \p{Sc=Khar}, \p{Khar}) (65)
\p{Script: Khmer} (Short: \p{Sc=Khmr}, \p{Khmr}) (146)
\p{Script: Khmr} \p{Script=Khmer} (146)
- \p{Script: Knda} \p{Script=Kannada} (84)
+ \p{Script: Knda} \p{Script=Kannada} (86)
\p{Script: Kthi} \p{Script=Kaithi} (66)
\p{Script: Lana} \p{Script=Tai_Tham} (127)
\p{Script: Lao} (Short: \p{Sc=Lao}, \p{Lao}) (65)
\p{Script: Laoo} \p{Script=Lao} (65)
- \p{Script: Latin} (Short: \p{Sc=Latn}, \p{Latn}) (1244)
- \p{Script: Latn} \p{Script=Latin} (1244)
+ \p{Script: Latin} (Short: \p{Sc=Latn}, \p{Latn}) (1267)
+ \p{Script: Latn} \p{Script=Latin} (1267)
\p{Script: Lepc} \p{Script=Lepcha} (74)
\p{Script: Lepcha} (Short: \p{Sc=Lepc}, \p{Lepc}) (74)
\p{Script: Limb} \p{Script=Limbu} (66)
@@ -2514,9 +2595,11 @@ this property.
\p{Script: Lycian} (Short: \p{Sc=Lyci}, \p{Lyci}) (29)
\p{Script: Lydi} \p{Script=Lydian} (27)
\p{Script: Lydian} (Short: \p{Sc=Lydi}, \p{Lydi}) (27)
- \p{Script: Malayalam} (Short: \p{Sc=Mlym}, \p{Mlym}) (95)
+ \p{Script: Malayalam} (Short: \p{Sc=Mlym}, \p{Mlym}) (98)
+ \p{Script: Mand} \p{Script=Mandaic} (29)
+ \p{Script: Mandaic} (Short: \p{Sc=Mand}, \p{Mand}) (29)
\p{Script: Meetei_Mayek} (Short: \p{Sc=Mtei}, \p{Mtei}) (56)
- \p{Script: Mlym} \p{Script=Malayalam} (95)
+ \p{Script: Mlym} \p{Script=Malayalam} (98)
\p{Script: Mong} \p{Script=Mongolian} (153)
\p{Script: Mongolian} (Short: \p{Sc=Mong}, \p{Mong}) (153)
\p{Script: Mtei} \p{Script=Meetei_Mayek} (56)
@@ -2533,9 +2616,9 @@ this property.
\p{Script: Old_Persian} (Short: \p{Sc=Xpeo}, \p{Xpeo}) (50)
\p{Script: Old_South_Arabian} (Short: \p{Sc=Sarb}, \p{Sarb}) (32)
\p{Script: Old_Turkic} (Short: \p{Sc=Orkh}, \p{Orkh}) (73)
- \p{Script: Oriya} (Short: \p{Sc=Orya}, \p{Orya}) (84)
+ \p{Script: Oriya} (Short: \p{Sc=Orya}, \p{Orya}) (90)
\p{Script: Orkh} \p{Script=Old_Turkic} (73)
- \p{Script: Orya} \p{Script=Oriya} (84)
+ \p{Script: Orya} \p{Script=Oriya} (90)
\p{Script: Osma} \p{Script=Osmanya} (40)
\p{Script: Osmanya} (Short: \p{Sc=Osma}, \p{Osma}) (40)
\p{Script: Phag} \p{Script=Phags_Pa} (56)
@@ -2578,17 +2661,17 @@ this property.
\p{Script: Tavt} \p{Script=Tai_Viet} (72)
\p{Script: Telu} \p{Script=Telugu} (93)
\p{Script: Telugu} (Short: \p{Sc=Telu}, \p{Telu}) (93)
- \p{Script: Tfng} \p{Script=Tifinagh} (55)
+ \p{Script: Tfng} \p{Script=Tifinagh} (57)
\p{Script: Tglg} \p{Script=Tagalog} (20)
\p{Script: Thaa} \p{Script=Thaana} (50)
\p{Script: Thaana} (Short: \p{Sc=Thaa}, \p{Thaa}) (50)
\p{Script: Thai} (Short: \p{Sc=Thai}, \p{Thai}) (86)
- \p{Script: Tibetan} (Short: \p{Sc=Tibt}, \p{Tibt}) (201)
- \p{Script: Tibt} \p{Script=Tibetan} (201)
- \p{Script: Tifinagh} (Short: \p{Sc=Tfng}, \p{Tfng}) (55)
+ \p{Script: Tibetan} (Short: \p{Sc=Tibt}, \p{Tibt}) (207)
+ \p{Script: Tibt} \p{Script=Tibetan} (207)
+ \p{Script: Tifinagh} (Short: \p{Sc=Tfng}, \p{Tfng}) (57)
\p{Script: Ugar} \p{Script=Ugaritic} (31)
\p{Script: Ugaritic} (Short: \p{Sc=Ugar}, \p{Ugar}) (31)
- \p{Script: Unknown} (Short: \p{Sc=Zzzz}, \p{Zzzz}) (1_006_751)
+ \p{Script: Unknown} (Short: \p{Sc=Zzzz}, \p{Zzzz}) (1_004_663)
\p{Script: Vai} (Short: \p{Sc=Vai}, \p{Vai}) (300)
\p{Script: Vaii} \p{Script=Vai} (300)
\p{Script: Xpeo} \p{Script=Old_Persian} (50)
@@ -2596,8 +2679,8 @@ this property.
\p{Script: Yi} (Short: \p{Sc=Yi}, \p{Yi}) (1220)
\p{Script: Yiii} \p{Script=Yi} (1220)
\p{Script: Zinh} \p{Script=Inherited} (523)
- \p{Script: Zyyy} \p{Script=Common} (5395)
- \p{Script: Zzzz} \p{Script=Unknown} (1_006_751)
+ \p{Script: Zyyy} \p{Script=Common} (6379)
+ \p{Script: Zzzz} \p{Script=Unknown} (1_004_663)
\p{SD} \p{Soft_Dotted} (= \p{Soft_Dotted=Y}) (46)
\p{SD: *} \p{Soft_Dotted: *}
\p{Sentence_Break: AT} \p{Sentence_Break=ATerm} (4)
@@ -2605,28 +2688,28 @@ this property.
\p{Sentence_Break: CL} \p{Sentence_Break=Close} (177)
\p{Sentence_Break: Close} (Short: \p{SB=CL}) (177)
\p{Sentence_Break: CR} (Short: \p{SB=CR}) (1)
- \p{Sentence_Break: EX} \p{Sentence_Break=Extend} (1455)
- \p{Sentence_Break: Extend} (Short: \p{SB=EX}) (1455)
+ \p{Sentence_Break: EX} \p{Sentence_Break=Extend} (1502)
+ \p{Sentence_Break: Extend} (Short: \p{SB=EX}) (1502)
\p{Sentence_Break: FO} \p{Sentence_Break=Format} (138)
\p{Sentence_Break: Format} (Short: \p{SB=FO}) (138)
- \p{Sentence_Break: LE} \p{Sentence_Break=OLetter} (96_405)
+ \p{Sentence_Break: LE} \p{Sentence_Break=OLetter} (97_369)
\p{Sentence_Break: LF} (Short: \p{SB=LF}) (1)
- \p{Sentence_Break: LO} \p{Sentence_Break=Lower} (1907)
- \p{Sentence_Break: Lower} (Short: \p{SB=LO}) (1907)
- \p{Sentence_Break: NU} \p{Sentence_Break=Numeric} (403)
- \p{Sentence_Break: Numeric} (Short: \p{SB=NU}) (403)
- \p{Sentence_Break: OLetter} (Short: \p{SB=LE}) (96_405)
- \p{Sentence_Break: Other} (Short: \p{SB=XX}) (1_012_008)
+ \p{Sentence_Break: LO} \p{Sentence_Break=Lower} (1917)
+ \p{Sentence_Break: Lower} (Short: \p{SB=LO}) (1917)
+ \p{Sentence_Break: NU} \p{Sentence_Break=Numeric} (412)
+ \p{Sentence_Break: Numeric} (Short: \p{SB=NU}) (412)
+ \p{Sentence_Break: OLetter} (Short: \p{SB=LE}) (97_369)
+ \p{Sentence_Break: Other} (Short: \p{SB=XX}) (1_010_959)
\p{Sentence_Break: SC} \p{Sentence_Break=SContinue} (26)
\p{Sentence_Break: SContinue} (Short: \p{SB=SC}) (26)
\p{Sentence_Break: SE} \p{Sentence_Break=Sep} (3)
\p{Sentence_Break: Sep} (Short: \p{SB=SE}) (3)
\p{Sentence_Break: Sp} (Short: \p{SB=Sp}) (21)
- \p{Sentence_Break: ST} \p{Sentence_Break=STerm} (63)
- \p{Sentence_Break: STerm} (Short: \p{SB=ST}) (63)
- \p{Sentence_Break: UP} \p{Sentence_Break=Upper} (1500)
- \p{Sentence_Break: Upper} (Short: \p{SB=UP}) (1500)
- \p{Sentence_Break: XX} \p{Sentence_Break=Other} (1_012_008)
+ \p{Sentence_Break: ST} \p{Sentence_Break=STerm} (73)
+ \p{Sentence_Break: STerm} (Short: \p{SB=ST}) (73)
+ \p{Sentence_Break: UP} \p{Sentence_Break=Upper} (1509)
+ \p{Sentence_Break: Upper} (Short: \p{SB=UP}) (1509)
+ \p{Sentence_Break: XX} \p{Sentence_Break=Other} (1_010_959)
\p{Separator} \p{General_Category=Separator} (Short:
\p{Z}) (20)
\p{Shavian} \p{Script=Shavian} (Short: \p{Shaw}) (48)
@@ -2637,12 +2720,12 @@ this property.
\p{Block=Sinhala}) (80)
\p{Sk} \p{Modifier_Symbol} (=
\p{General_Category=Modifier_Symbol})
- (99)
+ (115)
\p{Sm} \p{Math_Symbol} (= \p{General_Category=
- Math_Symbol}) (945)
+ Math_Symbol}) (948)
X \p{Small_Form_Variants} \p{Block=Small_Form_Variants} (32)
\p{So} \p{Other_Symbol} (= \p{General_Category=
- Other_Symbol}) (3409)
+ Other_Symbol}) (4398)
\p{Soft_Dotted} \p{Soft_Dotted=Y} (Short: \p{SD}) (46)
\p{Soft_Dotted: N*} (Short: \p{SD=N}, \P{SD}) (1_114_066)
\p{Soft_Dotted: Y*} (Short: \p{SD=Y}, \p{SD}) (46)
@@ -2651,15 +2734,15 @@ this property.
\p{Space: *} \p{White_Space: *}
\p{Space_Separator} \p{General_Category=Space_Separator}
(Short: \p{Zs}) (18)
- \p{SpacePerl} \s, including beyond ASCII (25)
+ \p{SpacePerl} \p{XPerlSpace} (25)
\p{Spacing_Mark} \p{General_Category=Spacing_Mark} (Short:
- \p{Mc}) (276)
+ \p{Mc}) (287)
X \p{Spacing_Modifier_Letters} \p{Block=Spacing_Modifier_Letters}
(80)
X \p{Specials} \p{Block=Specials} (16)
- \p{STerm} \p{STerm=Y} (66)
- \p{STerm: N*} (Single: \P{STerm}) (1_114_046)
- \p{STerm: Y*} (Single: \p{STerm}) (66)
+ \p{STerm} \p{STerm=Y} (76)
+ \p{STerm: N*} (Single: \P{STerm}) (1_114_036)
+ \p{STerm: Y*} (Single: \p{STerm}) (76)
\p{Sund} \p{Sundanese} (= \p{Script=Sundanese})
(NOT \p{Block=Sundanese}) (55)
\p{Sundanese} \p{Script=Sundanese} (Short: \p{Sund}; NOT
@@ -2687,7 +2770,7 @@ this property.
\p{Syloti_Nagri} \p{Script=Syloti_Nagri} (Short: \p{Sylo};
NOT \p{Block=Syloti_Nagri}) (44)
\p{Symbol} \p{General_Category=Symbol} (Short: \p{S})
- (4499)
+ (5508)
\p{Syrc} \p{Syriac} (= \p{Script=Syriac}) (NOT
\p{Block=Syriac}) (77)
\p{Syriac} \p{Script=Syriac} (Short: \p{Syrc}; NOT
@@ -2721,15 +2804,15 @@ this property.
\p{Telugu} \p{Script=Telugu} (Short: \p{Telu}; NOT
\p{Block=Telugu}) (93)
\p{Term} \p{Terminal_Punctuation} (=
- \p{Terminal_Punctuation=Y}) (161)
+ \p{Terminal_Punctuation=Y}) (169)
\p{Term: *} \p{Terminal_Punctuation: *}
\p{Terminal_Punctuation} \p{Terminal_Punctuation=Y} (Short:
- \p{Term}) (161)
+ \p{Term}) (169)
\p{Terminal_Punctuation: N*} (Short: \p{Term=N}, \P{Term})
- (1_113_951)
- \p{Terminal_Punctuation: Y*} (Short: \p{Term=Y}, \p{Term}) (161)
+ (1_113_943)
+ \p{Terminal_Punctuation: Y*} (Short: \p{Term=Y}, \p{Term}) (169)
\p{Tfng} \p{Tifinagh} (= \p{Script=Tifinagh}) (NOT
- \p{Block=Tifinagh}) (55)
+ \p{Block=Tifinagh}) (57)
\p{Tglg} \p{Tagalog} (= \p{Script=Tagalog}) (NOT
\p{Block=Tagalog}) (20)
\p{Thaa} \p{Thaana} (= \p{Script=Thaana}) (NOT
@@ -2738,24 +2821,27 @@ this property.
\p{Block=Thaana}) (50)
\p{Thai} \p{Script=Thai} (NOT \p{Block=Thai}) (86)
\p{Tibetan} \p{Script=Tibetan} (Short: \p{Tibt}; NOT
- \p{Block=Tibetan}) (201)
+ \p{Block=Tibetan}) (207)
\p{Tibt} \p{Tibetan} (= \p{Script=Tibetan}) (NOT
- \p{Block=Tibetan}) (201)
+ \p{Block=Tibetan}) (207)
\p{Tifinagh} \p{Script=Tifinagh} (Short: \p{Tfng}; NOT
- \p{Block=Tifinagh}) (55)
- \p{Title} \p{General_Category=Titlecase_Letter}
- (Short: \p{Lt}) (31)
- \p{Titlecase_Letter} \p{Title} (= \p{General_Category=
- Titlecase_Letter}) (31)
+ \p{Block=Tifinagh}) (57)
+ \p{Title} (/i= Cased=Yes) (31)
+ \p{Titlecase} \p{Title} (/i= Cased=Yes) (31)
+ \p{Titlecase_Letter} \p{General_Category=Titlecase_Letter}
+ (Short: \p{Lt}; /i= General_Category=
+ Cased_Letter) (31)
+ X \p{Transport_And_Map_Symbols} \p{Block=Transport_And_Map_Symbols}
+ (128)
\p{Ugar} \p{Ugaritic} (= \p{Script=Ugaritic}) (NOT
\p{Block=Ugaritic}) (31)
\p{Ugaritic} \p{Script=Ugaritic} (Short: \p{Ugar}; NOT
\p{Block=Ugaritic}) (31)
\p{UIdeo} \p{Unified_Ideograph} (=
- \p{Unified_Ideograph=Y}) (74_394)
+ \p{Unified_Ideograph=Y}) (74_616)
\p{UIdeo: *} \p{Unified_Ideograph: *}
\p{Unassigned} \p{General_Category=Unassigned} (Short:
- \p{Cn}) (867_235)
+ \p{Cn}) (865_147)
X \p{Unified_Canadian_Aboriginal_Syllabics} \p{Block=
Unified_Canadian_Aboriginal_Syllabics}
(Short: \p{InCanadianSyllabics}) (640)
@@ -2763,19 +2849,23 @@ this property.
Unified_Canadian_Aboriginal_Syllabics_-
Extended} (80)
\p{Unified_Ideograph} \p{Unified_Ideograph=Y} (Short: \p{UIdeo})
- (74_394)
+ (74_616)
\p{Unified_Ideograph: N*} (Short: \p{UIdeo=N}, \P{UIdeo})
- (1_039_718)
- \p{Unified_Ideograph: Y*} (Short: \p{UIdeo=Y}, \p{UIdeo}) (74_394)
+ (1_039_496)
+ \p{Unified_Ideograph: Y*} (Short: \p{UIdeo=Y}, \p{UIdeo}) (74_616)
\p{Unknown} \p{Script=Unknown} (Short: \p{Zzzz})
- (1_006_751)
- \p{Upper} \p{Uppercase=Y} (1469)
+ (1_004_663)
+ \p{Upper} \p{Uppercase=Y} (/i= Cased=Yes) (1478)
\p{Upper: *} \p{Uppercase: *}
- \p{Uppercase} \p{Upper} (= \p{Uppercase=Y}) (1469)
- \p{Uppercase: N*} (Short: \p{Upper=N}, \P{Upper}) (1_112_643)
- \p{Uppercase: Y*} (Short: \p{Upper=Y}, \p{Upper}) (1469)
+ \p{Uppercase} \p{Upper} (= \p{Uppercase=Y}) (/i= Cased=
+ Yes) (1478)
+ \p{Uppercase: N*} (Short: \p{Upper=N}, \P{Upper}; /i= Cased=
+ No) (1_112_634)
+ \p{Uppercase: Y*} (Short: \p{Upper=Y}, \p{Upper}; /i= Cased=
+ Yes) (1478)
\p{Uppercase_Letter} \p{General_Category=Uppercase_Letter}
- (Short: \p{Lu}) (1427)
+ (Short: \p{Lu}; /i= General_Category=
+ Cased_Letter) (1436)
\p{Vai} \p{Script=Vai} (NOT \p{Block=Vai}) (300)
\p{Vaii} \p{Vai} (= \p{Script=Vai}) (NOT \p{Block=
Vai}) (300)
@@ -2797,17 +2887,18 @@ this property.
\p{White_Space: N*} (Short: \p{Space=N}, \P{WSpace})
(1_114_086)
\p{White_Space: Y*} (Short: \p{Space=Y}, \p{WSpace}) (26)
- \p{Word} \w, including beyond ASCII (101_685)
- \p{Word_Break: ALetter} (Short: \p{WB=LE}) (23_694)
+ \p{Word} \w, including beyond ASCII; = \p{Alnum} +
+ \pM + \p{Pc} (102_724)
+ \p{Word_Break: ALetter} (Short: \p{WB=LE}) (24_453)
\p{Word_Break: CR} (Short: \p{WB=CR}) (1)
\p{Word_Break: EX} \p{Word_Break=ExtendNumLet} (10)
- \p{Word_Break: Extend} (Short: \p{WB=Extend}) (1455)
+ \p{Word_Break: Extend} (Short: \p{WB=Extend}) (1502)
\p{Word_Break: ExtendNumLet} (Short: \p{WB=EX}) (10)
\p{Word_Break: FO} \p{Word_Break=Format} (137)
\p{Word_Break: Format} (Short: \p{WB=FO}) (137)
- \p{Word_Break: KA} \p{Word_Break=Katakana} (309)
- \p{Word_Break: Katakana} (Short: \p{WB=KA}) (309)
- \p{Word_Break: LE} \p{Word_Break=ALetter} (23_694)
+ \p{Word_Break: KA} \p{Word_Break=Katakana} (310)
+ \p{Word_Break: Katakana} (Short: \p{WB=KA}) (310)
+ \p{Word_Break: LE} \p{Word_Break=ALetter} (24_453)
\p{Word_Break: LF} (Short: \p{WB=LF}) (1)
\p{Word_Break: MB} \p{Word_Break=MidNumLet} (8)
\p{Word_Break: MidLetter} (Short: \p{WB=ML}) (8)
@@ -2817,27 +2908,46 @@ this property.
\p{Word_Break: MN} \p{Word_Break=MidNum} (15)
\p{Word_Break: Newline} (Short: \p{WB=NL}) (5)
\p{Word_Break: NL} \p{Word_Break=Newline} (5)
- \p{Word_Break: NU} \p{Word_Break=Numeric} (402)
- \p{Word_Break: Numeric} (Short: \p{WB=NU}) (402)
- \p{Word_Break: Other} (Short: \p{WB=XX}) (1_088_067)
- \p{Word_Break: XX} \p{Word_Break=Other} (1_088_067)
+ \p{Word_Break: NU} \p{Word_Break=Numeric} (411)
+ \p{Word_Break: Numeric} (Short: \p{WB=NU}) (411)
+ \p{Word_Break: Other} (Short: \p{WB=XX}) (1_087_251)
+ \p{Word_Break: XX} \p{Word_Break=Other} (1_087_251)
\p{WSpace} \p{White_Space} (= \p{White_Space=Y}) (26)
\p{WSpace: *} \p{White_Space: *}
\p{XDigit} \p{Hex_Digit=Y} (Short: \p{Hex}) (44)
\p{XID_Continue} \p{XID_Continue=Y} (Short: \p{XIDC})
- (101_615)
- \p{XID_Continue: N*} (Short: \p{XIDC=N}, \P{XIDC}) (1_012_497)
- \p{XID_Continue: Y*} (Short: \p{XIDC=Y}, \p{XIDC}) (101_615)
- \p{XID_Start} \p{XID_Start=Y} (Short: \p{XIDS}) (99_741)
- \p{XID_Start: N*} (Short: \p{XIDS=N}, \P{XIDS}) (1_014_371)
- \p{XID_Start: Y*} (Short: \p{XIDS=Y}, \p{XIDS}) (99_741)
+ (102_656)
+ \p{XID_Continue: N*} (Short: \p{XIDC=N}, \P{XIDC}) (1_011_456)
+ \p{XID_Continue: Y*} (Short: \p{XIDC=Y}, \p{XIDC}) (102_656)
+ \p{XID_Start} \p{XID_Start=Y} (Short: \p{XIDS}) (100_724)
+ \p{XID_Start: N*} (Short: \p{XIDS=N}, \P{XIDS}) (1_013_388)
+ \p{XID_Start: Y*} (Short: \p{XIDS=Y}, \p{XIDS}) (100_724)
\p{XIDC} \p{XID_Continue} (= \p{XID_Continue=Y})
- (101_615)
+ (102_656)
\p{XIDC: *} \p{XID_Continue: *}
- \p{XIDS} \p{XID_Start} (= \p{XID_Start=Y}) (99_741)
+ \p{XIDS} \p{XID_Start} (= \p{XID_Start=Y}) (100_724)
\p{XIDS: *} \p{XID_Start: *}
\p{Xpeo} \p{Old_Persian} (= \p{Script=Old_Persian})
(NOT \p{Block=Old_Persian}) (50)
+ \p{XPerlSpace} \s, including beyond ASCII (Short:
+ \p{SpacePerl}) (25)
+ \p{XPosixAlnum} \p{Alnum} (101_959)
+ \p{XPosixAlpha} \p{Alpha} (= \p{Alphabetic=Y}) (101_539)
+ \p{XPosixBlank} \p{Blank} (19)
+ \p{XPosixCntrl} \p{Cntrl} (= \p{General_Category=Control})
+ (65)
+ \p{XPosixDigit} \p{Digit} (= \p{General_Category=
+ Decimal_Number}) (420)
+ \p{XPosixGraph} \p{Graph} (246_832)
+ \p{XPosixLower} \p{Lower} (= \p{Lowercase=Y}) (/i= Cased=
+ Yes) (1918)
+ \p{XPosixPrint} \p{Print} (246_850)
+ \p{XPosixPunct} \p{Punct} + ASCII-range \p{Symbol} (607)
+ \p{XPosixSpace} \p{Space} (= \p{White_Space=Y}) (26)
+ \p{XPosixUpper} \p{Upper} (= \p{Uppercase=Y}) (/i= Cased=
+ Yes) (1478)
+ \p{XPosixWord} \p{Word} (102_724)
+ \p{XPosixXDigit} \p{XDigit} (= \p{Hex_Digit=Y}) (44)
\p{Xsux} \p{Cuneiform} (= \p{Script=Cuneiform})
(NOT \p{Block=Cuneiform}) (982)
\p{Yi} \p{Script=Yi} (1220)
@@ -2857,20 +2967,20 @@ this property.
\p{Zs} \p{Space_Separator} (=
\p{General_Category=Space_Separator})
(18)
- \p{Zyyy} \p{Common} (= \p{Script=Common}) (5395)
+ \p{Zyyy} \p{Common} (= \p{Script=Common}) (6379)
\p{Zzzz} \p{Unknown} (= \p{Script=Unknown})
- (1_006_751)
+ (1_004_663)
T \p{_CanonDCIJ} (For internal use by Perl, not necessarily
stable) (= \p{Soft_Dotted=Y}) (46)
T \p{_Case_Ignorable} (For internal use by Perl, not necessarily
- stable) (= \p{Case_Ignorable=Y}) (1632)
+ stable) (= \p{Case_Ignorable=Y}) (1692)
T \p{_CombAbove} (For internal use by Perl, not necessarily
stable) (= \p{Canonical_Combining_Class=
- Above}) (318)
+ Above}) (320)
T \p{_X_Begin} (For internal use by Perl, not necessarily
stable) (1_113_907)
T \p{_X_Extend} (For internal use by Perl, not necessarily
- stable) (1462)
+ stable) (1509)
T \p{_X_LV_LVT_V} (For internal use by Perl, not necessarily
stable) (11_267)
@@ -2897,6 +3007,7 @@ version of Unicode, the following match zero code points:
A few properties are accessible in Perl via various function calls only.
These are:
+
Lowercase_Mapping lc() and lcfirst()
Titlecase_Mapping ucfirst()
Uppercase_Mapping uc()
@@ -2905,8 +3016,8 @@ Case_Folding is accessible through the /i modifier in regular expressions.
The Name property is accessible through the \N{} interpolation in
double-quoted strings and regular expressions, but both usages require a C<use
-charnames;> to be specified, which also contains related functions viacode()
-and vianame().
+charnames;> to be specified, which also contains related functions viacode(),
+vianame(), and string_vianame().
=head1 Unicode regular expression properties that are NOT accepted by Perl
@@ -2919,79 +3030,70 @@ the properties are listed enclosed in (parentheses).
-
-
+
+
=item I<Expands_On_NFC> (XO_NFC)
-
+
=item I<Expands_On_NFD> (XO_NFD)
-
+
=item I<Expands_On_NFKC> (XO_NFKC)
-
+
=item I<Expands_On_NFKD> (XO_NFKD)
-
-Easily computed, and yet doesn't cover the common encoding forms (UTF-16/8)
-
-
+Deprecated by Unicode. These are characters that expand to more than one character in the specified normalization form, but whether they actually take up more bytes or not depends on the encoding being used. For example, a UTF-8 encoded character may expand to a different number of bytes than a UTF-32 encoded character.
+
+
+
+
-
=item I<Grapheme_Link> (Gr_Link)
-
-Deprecated by Unicode. Use ccc=vr (Canonical_Combining_Class=Virama) instead
-
-
+Deprecated by Unicode: Duplicates ccc=vr (Canonical_Combining_Class=Virama)
+
+
+
+
-
=item I<Jamo_Short_Name> (JSN)
-
+
Used by Unicode internally for generating other properties and not intended to be used stand-alone
-
-
-
+
+
+
=item I<Script=Katakana_Or_Hiragana> (sc=Hrkt)
-
+
Obsolete. All code points previously matched by this have been moved to "Script=Common"
-
-
-
+
=back
-An installation can choose to allow any of these to be matched by changing the
-controlling lists contained in the program C<$Config{privlib}>/F<unicore/mktables>
-and then re-running F<mktables>. (C<%Config> is available from the Config module).
+An installation can choose to allow any of these to be matched by downloading
+the Unicode database from L<http://www.unicode.org/Public/> to
+C<$Config{privlib}>/F<unicore/> in the Perl source tree, changing the
+controlling lists contained in the program
+C<$Config{privlib}>/F<unicore/mktables> and then re-compiling and installing.
+(C<%Config> is available from the Config module).
=head1 Files in the I<To> directory (for serious hackers only)
All Unicode properties are really mappings (in the mathematical sense) from
code points to their respective values. As part of its build process,
Perl constructs tables containing these mappings for all properties that it
-deals with. But only a few of these are written out into files.
+deals with. Some, but not all, of these are written out into files.
Those written out are in the directory C<$Config{privlib}>/F<unicore/To/>
(%Config is available from the Config module).
-Those ones written are ones needed by Perl internally during execution, or for
-which there is some demand, and those for which there is no access through the
-Perl core. Generally, properties that can be used in regular expression
-matching do not have their map tables written, like Script. Nor are the
-simplistic properties that have a better, more complete version, such as
-Simple_Uppercase_Mapping (Uppercase_Mapping is written instead).
-
-None of the properties in the I<To> directory are currently directly
-accessible through the Perl core, although some may be accessed indirectly.
-For example, the uc() function implements the Uppercase_Mapping property and
-uses the F<Upper.pl> file found in this directory.
-
-The available files with their properties (short names in parentheses),
-and any flags or comments about them, are:
+Perl reserves the right to change the format and even the existence of any of
+those files without notice, except the ones that were in existence prior to
+release 5.13. If those change, a deprecation cycle will be done first. These
+are:
Bmg.pl Bidi_Mirroring_Glyph (bmg)
Digit.pl Perl_Decimal_Digit
@@ -3002,12 +3104,8 @@ and any flags or comments about them, are:
Upper.pl Uppercase_Mapping (uc)
-An installation can choose to change which files are generated by changing the
-controlling lists contained in the program C<$Config{privlib}>/F<unicore/mktables>
-and then re-running F<mktables>.
-
-Each of these files defines two hash entries to help reading programs decipher
-it. One of them looks like this:
+Each of the files in this directory defines two hash entries to help reading
+programs decipher it. One of them looks like this:
$utf8::SwashInfo{'ToNAME'}{'format'} = 's';
@@ -3017,11 +3115,12 @@ also for backwards compatibility.) The hash entry gives the format of the
mapping fields of the table, currently one of the following:
b binary
+ c Perl's internal (Normalize.pm) decomposition mapping
d single decimal digit
f floating point number
i integer
r rational: an integer or a fraction
- s arbitrary string
+ s string
x positive hex whole number; a code point
diff --git a/Master/tlpkg/tlperl/lib/pods/perlunitut.pod b/Master/tlpkg/tlperl/lib/pods/perlunitut.pod
index fc352d5aad1..9e5af04ec79 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlunitut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlunitut.pod
@@ -42,8 +42,8 @@ distinction between code point and character is blurred, so the terms often
are used interchangeably.)
There are many, many code points, but computers work with bytes, and a byte has
-room for only 256 values. Unicode has many more characters, so you need a
-method to make these accessible.
+room for only 256 values. Unicode has many more characters than that,
+so you need a method to make these accessible.
Unicode is encoded using several competing encodings, of which UTF-8 is the
most used. In a Unicode encoding, multiple subsequent bytes can be used to
diff --git a/Master/tlpkg/tlperl/lib/pods/perlutil.pod b/Master/tlpkg/tlperl/lib/pods/perlutil.pod
index 453248d2497..53ecb5986d3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlutil.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlutil.pod
@@ -75,7 +75,7 @@ typeset PostScript or text file of the whole lot.
=back
-=head2 Convertors
+=head2 Converters
To help you convert legacy programs to Perl, we've included three
conversion filters:
@@ -253,6 +253,11 @@ archive and an unextracted one. (Note that this utility requires the
C<Text::Diff> module to function properly; this module isn't distributed
with perl, but is available from the CPAN.)
+=item L<ptargrep>
+
+F<ptargrep> is a utility to apply pattern matching to the contents of files
+in a tar archive.
+
=item L<shasum>
This utility, that comes with the C<Digest::SHA> module, is used to print
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvar.pod b/Master/tlpkg/tlperl/lib/pods/perlvar.pod
index bc04dcb9c55..39bab245bb3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvar.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvar.pod
@@ -4,120 +4,77 @@ perlvar - Perl predefined variables
=head1 DESCRIPTION
-=head2 Predefined Names
+=head2 The Syntax of Variable Names
-The following names have special meaning to Perl. Most
-punctuation names have reasonable mnemonics, or analogs in the
-shells. Nevertheless, if you wish to use long variable names,
-you need only say
-
- use English;
-
-at the top of your program. This aliases all the short names to the long
-names in the current package. Some even have medium names, generally
-borrowed from B<awk>. In general, it's best to use the
-
- use English '-no_match_vars';
-
-invocation if you don't need $PREMATCH, $MATCH, or $POSTMATCH, as it avoids
-a certain performance hit with the use of regular expressions. See
-L<English>.
-
-Variables that depend on the currently selected filehandle may be set by
-calling an appropriate object method on the IO::Handle object, although
-this is less efficient than using the regular built-in variables. (Summary
-lines below for this contain the word HANDLE.) First you must say
-
- use IO::Handle;
-
-after which you may use either
-
- method HANDLE EXPR
-
-or more safely,
-
- HANDLE->method(EXPR)
-
-Each method returns the old value of the IO::Handle attribute.
-The methods each take an optional EXPR, which, if supplied, specifies the
-new value for the IO::Handle attribute in question. If not supplied,
-most methods do nothing to the current value--except for
-autoflush(), which will assume a 1 for you, just to be different.
-
-Because loading in the IO::Handle class is an expensive operation, you should
-learn how to use the regular built-in variables.
-
-A few of these variables are considered "read-only". This means that if
-you try to assign to this variable, either directly or indirectly through
-a reference, you'll raise a run-time exception.
-
-You should be very careful when modifying the default values of most
-special variables described in this document. In most cases you want
-to localize these variables before changing them, since if you don't,
-the change may affect other modules which rely on the default values
-of the special variables that you have changed. This is one of the
-correct ways to read the whole file at once:
-
- open my $fh, "<", "foo" or die $!;
- local $/; # enable localized slurp mode
- my $content = <$fh>;
- close $fh;
-
-But the following code is quite bad:
-
- open my $fh, "<", "foo" or die $!;
- undef $/; # enable slurp mode
- my $content = <$fh>;
- close $fh;
-
-since some other module, may want to read data from some file in the
-default "line mode", so if the code we have just presented has been
-executed, the global value of C<$/> is now changed for any other code
-running inside the same Perl interpreter.
+Variable names in Perl can have several formats. Usually, they
+must begin with a letter or underscore, in which case they can be
+arbitrarily long (up to an internal limit of 251 characters) and
+may contain letters, digits, underscores, or the special sequence
+C<::> or C<'>. In this case, the part before the last C<::> or
+C<'> is taken to be a I<package qualifier>; see L<perlmod>.
-Usually when a variable is localized you want to make sure that this
-change affects the shortest scope possible. So unless you are already
-inside some short C<{}> block, you should create one yourself. For
-example:
+Perl variable names may also be a sequence of digits or a single
+punctuation or control character. These names are all reserved for
+special uses by Perl; for example, the all-digits names are used
+to hold data captured by backreferences after a regular expression
+match. Perl has a special syntax for the single-control-character
+names: It understands C<^X> (caret C<X>) to mean the control-C<X>
+character. For example, the notation C<$^W> (dollar-sign caret
+C<W>) is the scalar variable whose name is the single character
+control-C<W>. This is better than typing a literal control-C<W>
+into your program.
- my $content = '';
- open my $fh, "<", "foo" or die $!;
- {
- local $/;
- $content = <$fh>;
- }
- close $fh;
+Since Perl 5.6, Perl variable names may be alphanumeric
+strings that begin with control characters (or better yet, a caret).
+These variables must be written in the form C<${^Foo}>; the braces
+are not optional. C<${^Foo}> denotes the scalar variable whose
+name is a control-C<F> followed by two C<o>'s. These variables are
+reserved for future special uses by Perl, except for the ones that
+begin with C<^_> (control-underscore or caret-underscore). No
+control-character name that begins with C<^_> will acquire a special
+meaning in any future version of Perl; such names may therefore be
+used safely in programs. C<$^_> itself, however, I<is> reserved.
-Here is an example of how your own code can go broken:
+Perl identifiers that begin with digits, control characters, or
+punctuation characters are exempt from the effects of the C<package>
+declaration and are always forced to be in package C<main>; they are
+also exempt from C<strict 'vars'> errors. A few other names are also
+exempt in these ways:
- for (1..5){
- nasty_break();
- print "$_ ";
- }
- sub nasty_break {
- $_ = 5;
- # do something with $_
- }
+ ENV STDIN
+ INC STDOUT
+ ARGV STDERR
+ ARGVOUT
+ SIG
-You probably expect this code to print:
+In particular, the special C<${^_XYZ}> variables are always taken
+to be in package C<main>, regardless of any C<package> declarations
+presently in scope.
- 1 2 3 4 5
+=head1 SPECIAL VARIABLES
-but instead you get:
+The following names have special meaning to Perl. Most punctuation
+names have reasonable mnemonics, or analogs in the shells.
+Nevertheless, if you wish to use long variable names, you need only say:
- 5 5 5 5 5
+ use English;
-Why? Because nasty_break() modifies C<$_> without localizing it
-first. The fix is to add local():
+at the top of your program. This aliases all the short names to the long
+names in the current package. Some even have medium names, generally
+borrowed from B<awk>. To avoid a performance hit, if you don't need the
+C<$PREMATCH>, C<$MATCH>, or C<$POSTMATCH> it's best to use the C<English>
+module without them:
- local $_ = 5;
+ use English '-no_match_vars';
-It's easy to notice the problem in such a short example, but in more
-complicated code you are looking for trouble if you don't localize
-changes to the special variables.
+Before you continue, note the sort order for variables. In general, we
+first list the variables in case-insensitive, almost-lexigraphical
+order (ignoring the C<{> or C<^> preceding words, as in C<${^UNICODE}>
+or C<$^T>), although C<$_> and C<@_> move up to the top of the pile.
+For variables with the same identifier, we list it in order of scalar,
+array, hash, and bareword.
-The following list is ordered by scalar variables first, then the
-arrays, then the hashes.
+=head2 General Variables
=over 8
@@ -126,29 +83,28 @@ arrays, then the hashes.
=item $_
X<$_> X<$ARG>
-The default input and pattern-searching space. The following pairs are
+The default input and pattern-searching space. The following pairs are
equivalent:
- while (<>) {...} # equivalent only in while!
- while (defined($_ = <>)) {...}
+ while (<>) {...} # equivalent only in while!
+ while (defined($_ = <>)) {...}
- /^Subject:/
- $_ =~ /^Subject:/
+ /^Subject:/
+ $_ =~ /^Subject:/
- tr/a-z/A-Z/
- $_ =~ tr/a-z/A-Z/
+ tr/a-z/A-Z/
+ $_ =~ tr/a-z/A-Z/
- chomp
- chomp($_)
+ chomp
+ chomp($_)
-Here are the places where Perl will assume $_ even if you
-don't use it:
+Here are the places where Perl will assume C<$_> even if you don't use it:
=over 3
=item *
-The following functions:
+The following functions use C<$_> as a default argument:
abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, exp, glob,
hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print,
@@ -161,7 +117,6 @@ unlink, unpack.
All file tests (C<-f>, C<-d>) except for C<-t>, which defaults to STDIN.
See L<perlfunc/-X>
-
=item *
The pattern matching operations C<m//>, C<s///> and C<tr///> (aka C<y///>)
@@ -174,1267 +129,1387 @@ variable is supplied.
=item *
-The implicit iterator variable in the grep() and map() functions.
+The implicit iterator variable in the C<grep()> and C<map()> functions.
=item *
-The implicit variable of given().
+The implicit variable of C<given()>.
=item *
The default place to put an input record when a C<< <FH> >>
operation's result is tested by itself as the sole criterion of a C<while>
-test. Outside a C<while> test, this will not happen.
+test. Outside a C<while> test, this will not happen.
=back
As C<$_> is a global variable, this may lead in some cases to unwanted
-side-effects. As of perl 5.9.1, you can now use a lexical version of
-C<$_> by declaring it in a file or in a block with C<my>. Moreover,
+side-effects. As of perl 5.9.1, you can now use a lexical version of
+C<$_> by declaring it in a file or in a block with C<my>. Moreover,
declaring C<our $_> restores the global C<$_> in the current scope.
-(Mnemonic: underline is understood in certain operations.)
+Mnemonic: underline is understood in certain operations.
-=back
+=item @ARG
-=over 8
+=item @_
+X<@_> X<@ARG>
-=item $a
+Within a subroutine the array C<@_> contains the parameters passed to
+that subroutine. Inside a subroutine, C<@_> is the default array for
+the array operators C<push>, C<pop>, C<shift>, and C<unshift>.
-=item $b
-X<$a> X<$b>
+See L<perlsub>.
-Special package variables when using sort(), see L<perlfunc/sort>.
-Because of this specialness $a and $b don't need to be declared
-(using use vars, or our()) even when using the C<strict 'vars'> pragma.
-Don't lexicalize them with C<my $a> or C<my $b> if you want to be
-able to use them in the sort() comparison block or function.
+=item $LIST_SEPARATOR
-=back
+=item $"
+X<$"> X<$LIST_SEPARATOR>
-=over 8
+When an array or an array slice is interpolated into a double-quoted
+string or a similar context such as C</.../>, its elements are
+separated by this value. Default is a space. For example, this:
-=item $<I<digits>> ($1, $2, ...)
-X<$1> X<$2> X<$3>
+ print "The array is: @array\n";
-Contains the subpattern from the corresponding set of capturing
-parentheses from the last successful pattern match, not counting patterns
-matched in nested blocks that have been exited already. (Mnemonic:
-like \digits.) These variables are all read-only and dynamically
-scoped to the current BLOCK.
+is equivalent to this:
-=item $MATCH
+ print "The array is: " . join($", @array) . "\n";
-=item $&
-X<$&> X<$MATCH>
+Mnemonic: works in double-quoted context.
-The string matched by the last successful pattern match (not counting
-any matches hidden within a BLOCK or eval() enclosed by the current
-BLOCK). (Mnemonic: like & in some editors.) This variable is read-only
-and dynamically scoped to the current BLOCK.
+=item $PROCESS_ID
-The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. See L</BUGS>.
+=item $PID
-See L</@-> for a replacement.
+=item $$
+X<$$> X<$PID> X<$PROCESS_ID>
-=item ${^MATCH}
-X<${^MATCH}>
+The process number of the Perl running this script. You should
+consider this variable read-only, although it will be altered
+across C<fork()> calls.
-This is similar to C<$&> (C<$MATCH>) except that it does not incur the
-performance penalty associated with that variable, and is only guaranteed
-to return a defined value when the pattern was compiled or executed with
-the C</p> modifier.
+Note for Linux users: on Linux, the C functions C<getpid()> and
+C<getppid()> return different values from different threads. In order to
+be portable, this behavior is not reflected by C<$$>, whose value remains
+consistent across threads. If you want to call the underlying C<getpid()>,
+you may use the CPAN module C<Linux::Pid>.
-=item $PREMATCH
+Mnemonic: same as shells.
-=item $`
-X<$`> X<$PREMATCH>
+=item $REAL_GROUP_ID
-The string preceding whatever was matched by the last successful
-pattern match (not counting any matches hidden within a BLOCK or eval
-enclosed by the current BLOCK). (Mnemonic: C<`> often precedes a quoted
-string.) This variable is read-only.
+=item $GID
-The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. See L</BUGS>.
+=item $(
+X<$(> X<$GID> X<$REAL_GROUP_ID>
-See L</@-> for a replacement.
+The real gid of this process. If you are on a machine that supports
+membership in multiple groups simultaneously, gives a space separated
+list of groups you are in. The first number is the one returned by
+C<getgid()>, and the subsequent ones by C<getgroups()>, one of which may be
+the same as the first number.
-=item ${^PREMATCH}
-X<${^PREMATCH}>
+However, a value assigned to C<$(> must be a single number used to
+set the real gid. So the value given by C<$(> should I<not> be assigned
+back to C<$(> without being forced numeric, such as by adding zero. Note
+that this is different to the effective gid (C<$)>) which does take a
+list.
-This is similar to C<$`> ($PREMATCH) except that it does not incur the
-performance penalty associated with that variable, and is only guaranteed
-to return a defined value when the pattern was compiled or executed with
-the C</p> modifier.
+You can change both the real gid and the effective gid at the same
+time by using C<POSIX::setgid()>. Changes to C<$(> require a check to C<$!>
+to detect any possible errors after an attempted change.
-=item $POSTMATCH
+Mnemonic: parentheses are used to I<group> things. The real gid is the
+group you I<left>, if you're running setgid.
-=item $'
-X<$'> X<$POSTMATCH>
+=item $EFFECTIVE_GROUP_ID
-The string following whatever was matched by the last successful
-pattern match (not counting any matches hidden within a BLOCK or eval()
-enclosed by the current BLOCK). (Mnemonic: C<'> often follows a quoted
-string.) Example:
+=item $EGID
- local $_ = 'abcdefghi';
- /def/;
- print "$`:$&:$'\n"; # prints abc:def:ghi
+=item $)
+X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>
-This variable is read-only and dynamically scoped to the current BLOCK.
+The effective gid of this process. If you are on a machine that
+supports membership in multiple groups simultaneously, gives a space
+separated list of groups you are in. The first number is the one
+returned by C<getegid()>, and the subsequent ones by C<getgroups()>,
+one of which may be the same as the first number.
-The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. See L</BUGS>.
+Similarly, a value assigned to C<$)> must also be a space-separated
+list of numbers. The first number sets the effective gid, and
+the rest (if any) are passed to C<setgroups()>. To get the effect of an
+empty list for C<setgroups()>, just repeat the new effective gid; that is,
+to force an effective gid of 5 and an effectively empty C<setgroups()>
+list, say C< $) = "5 5" >.
-See L</@-> for a replacement.
+You can change both the effective gid and the real gid at the same
+time by using C<POSIX::setgid()> (use only a single numeric argument).
+Changes to C<$)> require a check to C<$!> to detect any possible errors
+after an attempted change.
-=item ${^POSTMATCH}
-X<${^POSTMATCH}>
+C<< $< >>, C<< $> >>, C<$(> and C<$)> can be set only on
+machines that support the corresponding I<set[re][ug]id()> routine. C<$(>
+and C<$)> can be swapped only on machines supporting C<setregid()>.
-This is similar to C<$'> (C<$POSTMATCH>) except that it does not incur the
-performance penalty associated with that variable, and is only guaranteed
-to return a defined value when the pattern was compiled or executed with
-the C</p> modifier.
+Mnemonic: parentheses are used to I<group> things. The effective gid
+is the group that's I<right> for you, if you're running setgid.
-=item $LAST_PAREN_MATCH
+=item $PROGRAM_NAME
-=item $+
-X<$+> X<$LAST_PAREN_MATCH>
+=item $0
+X<$0> X<$PROGRAM_NAME>
-The text matched by the last bracket of the last successful search pattern.
-This is useful if you don't know which one of a set of alternative patterns
-matched. For example:
+Contains the name of the program being executed.
- /Version: (.*)|Revision: (.*)/ && ($rev = $+);
+On some (but not all) operating systems assigning to C<$0> modifies
+the argument area that the C<ps> program sees. On some platforms you
+may have to use special C<ps> options or a different C<ps> to see the
+changes. Modifying the C<$0> is more useful as a way of indicating the
+current program state than it is for hiding the program you're
+running.
-(Mnemonic: be positive and forward looking.)
-This variable is read-only and dynamically scoped to the current BLOCK.
+Note that there are platform-specific limitations on the maximum
+length of C<$0>. In the most extreme case it may be limited to the
+space occupied by the original C<$0>.
-=item $LAST_SUBMATCH_RESULT
+In some platforms there may be arbitrary amount of padding, for
+example space characters, after the modified name as shown by C<ps>.
+In some platforms this padding may extend all the way to the original
+length of the argument area, no matter what you do (this is the case
+for example with Linux 2.2).
-=item $^N
-X<$^N>
+Note for BSD users: setting C<$0> does not completely remove "perl"
+from the ps(1) output. For example, setting C<$0> to C<"foobar"> may
+result in C<"perl: foobar (perl)"> (whether both the C<"perl: "> prefix
+and the " (perl)" suffix are shown depends on your exact BSD variant
+and version). This is an operating system feature, Perl cannot help it.
-The text matched by the used group most-recently closed (i.e. the group
-with the rightmost closing parenthesis) of the last successful search
-pattern. (Mnemonic: the (possibly) Nested parenthesis that most
-recently closed.)
+In multithreaded scripts Perl coordinates the threads so that any
+thread may modify its copy of the C<$0> and the change becomes visible
+to ps(1) (assuming the operating system plays along). Note that
+the view of C<$0> the other threads have will not change since they
+have their own copies of it.
-This is primarily used inside C<(?{...})> blocks for examining text
-recently matched. For example, to effectively capture text to a variable
-(in addition to C<$1>, C<$2>, etc.), replace C<(...)> with
+If the program has been given to perl via the switches C<-e> or C<-E>,
+C<$0> will contain the string C<"-e">.
- (?:(...)(?{ $var = $^N }))
+On Linux as of perl 5.14 the legacy process name will be set with
+C<prctl(2)>, in addition to altering the POSIX name via C<argv[0]> as
+perl has done since version 4.000. Now system utilities that read the
+legacy process name such as ps, top and killall will recognize the
+name you set when assigning to C<$0>. The string you supply will be
+cut off at 16 bytes, this is a limitation imposed by Linux.
-By setting and then using C<$var> in this way relieves you from having to
-worry about exactly which numbered set of parentheses they are.
+Mnemonic: same as B<sh> and B<ksh>.
-This variable is dynamically scoped to the current BLOCK.
+=item $SUBSCRIPT_SEPARATOR
-=item @LAST_MATCH_END
+=item $SUBSEP
-=item @+
-X<@+> X<@LAST_MATCH_END>
+=item $;
+X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>
-This array holds the offsets of the ends of the last successful
-submatches in the currently active dynamic scope. C<$+[0]> is
-the offset into the string of the end of the entire match. This
-is the same value as what the C<pos> function returns when called
-on the variable that was matched against. The I<n>th element
-of this array holds the offset of the I<n>th submatch, so
-C<$+[1]> is the offset past where $1 ends, C<$+[2]> the offset
-past where $2 ends, and so on. You can use C<$#+> to determine
-how many subgroups were in the last successful match. See the
-examples given for the C<@-> variable.
+The subscript separator for multidimensional array emulation. If you
+refer to a hash element as
-=item %LAST_PAREN_MATCH
+ $foo{$a,$b,$c}
-=item %+
-X<%+>
+it really means
-Similar to C<@+>, the C<%+> hash allows access to the named capture
-buffers, should they exist, in the last successful match in the
-currently active dynamic scope.
+ $foo{join($;, $a, $b, $c)}
-For example, C<$+{foo}> is equivalent to C<$1> after the following match:
+But don't put
- 'foo' =~ /(?<foo>foo)/;
+ @foo{$a,$b,$c} # a slice--note the @
-The keys of the C<%+> hash list only the names of buffers that have
-captured (and that are thus associated to defined values).
+which means
-The underlying behaviour of C<%+> is provided by the
-L<Tie::Hash::NamedCapture> module.
+ ($foo{$a},$foo{$b},$foo{$c})
-B<Note:> C<%-> and C<%+> are tied views into a common internal hash
-associated with the last successful regular expression. Therefore mixing
-iterative access to them via C<each> may have unpredictable results.
-Likewise, if the last successful match changes, then the results may be
-surprising.
+Default is "\034", the same as SUBSEP in B<awk>. If your keys contain
+binary data there might not be any safe value for C<$;>.
-=item HANDLE->input_line_number(EXPR)
+Consider using "real" multidimensional arrays as described
+in L<perllol>.
-=item $INPUT_LINE_NUMBER
+Mnemonic: comma (the syntactic subscript separator) is a semi-semicolon.
-=item $NR
+=item $REAL_USER_ID
-=item $.
-X<$.> X<$NR> X<$INPUT_LINE_NUMBER> X<line number>
+=item $UID
-Current line number for the last filehandle accessed.
+=item $<
+X<< $< >> X<$UID> X<$REAL_USER_ID>
-Each filehandle in Perl counts the number of lines that have been read
-from it. (Depending on the value of C<$/>, Perl's idea of what
-constitutes a line may not match yours.) When a line is read from a
-filehandle (via readline() or C<< <> >>), or when tell() or seek() is
-called on it, C<$.> becomes an alias to the line counter for that
-filehandle.
+The real uid of this process. You can change both the real uid and the
+effective uid at the same time by using C<POSIX::setuid()>. Since
+changes to C<< $< >> require a system call, check C<$!> after a change
+attempt to detect any possible errors.
-You can adjust the counter by assigning to C<$.>, but this will not
-actually move the seek pointer. I<Localizing C<$.> will not localize
-the filehandle's line count>. Instead, it will localize perl's notion
-of which filehandle C<$.> is currently aliased to.
+Mnemonic: it's the uid you came I<from>, if you're running setuid.
-C<$.> is reset when the filehandle is closed, but B<not> when an open
-filehandle is reopened without an intervening close(). For more
-details, see L<perlop/"IE<sol>O Operators">. Because C<< <> >> never does
-an explicit close, line numbers increase across ARGV files (but see
-examples in L<perlfunc/eof>).
+=item $EFFECTIVE_USER_ID
-You can also use C<< HANDLE->input_line_number(EXPR) >> to access the
-line counter for a given filehandle without having to worry about
-which handle you last accessed.
+=item $EUID
-(Mnemonic: many programs use "." to mean the current line number.)
+=item $>
+X<< $> >> X<$EUID> X<$EFFECTIVE_USER_ID>
-=item IO::Handle->input_record_separator(EXPR)
+The effective uid of this process. For example:
-=item $INPUT_RECORD_SEPARATOR
+ $< = $>; # set real to effective uid
+ ($<,$>) = ($>,$<); # swap real and effective uids
-=item $RS
+You can change both the effective uid and the real uid at the same
+time by using C<POSIX::setuid()>. Changes to C<< $> >> require a check
+to C<$!> to detect any possible errors after an attempted change.
-=item $/
-X<$/> X<$RS> X<$INPUT_RECORD_SEPARATOR>
+C<< $< >> and C<< $> >> can be swapped only on machines
+supporting C<setreuid()>.
-The input record separator, newline by default. This
-influences Perl's idea of what a "line" is. Works like B<awk>'s RS
-variable, including treating empty lines as a terminator if set to
-the null string. (An empty line cannot contain any spaces
-or tabs.) You may set it to a multi-character string to match a
-multi-character terminator, or to C<undef> to read through the end
-of file. Setting it to C<"\n\n"> means something slightly
-different than setting to C<"">, if the file contains consecutive
-empty lines. Setting to C<""> will treat two or more consecutive
-empty lines as a single empty line. Setting to C<"\n\n"> will
-blindly assume that the next input character belongs to the next
-paragraph, even if it's a newline. (Mnemonic: / delimits
-line boundaries when quoting poetry.)
+Mnemonic: it's the uid you went I<to>, if you're running setuid.
- local $/; # enable "slurp" mode
- local $_ = <FH>; # whole file now here
- s/\n[ \t]+/ /g;
+=item $a
-Remember: the value of C<$/> is a string, not a regex. B<awk> has to be
-better for something. :-)
+=item $b
+X<$a> X<$b>
-Setting C<$/> to a reference to an integer, scalar containing an integer, or
-scalar that's convertible to an integer will attempt to read records
-instead of lines, with the maximum record size being the referenced
-integer. So this:
+Special package variables when using C<sort()>, see L<perlfunc/sort>.
+Because of this specialness C<$a> and C<$b> don't need to be declared
+(using C<use vars>, or C<our()>) even when using the C<strict 'vars'>
+pragma. Don't lexicalize them with C<my $a> or C<my $b> if you want to
+be able to use them in the C<sort()> comparison block or function.
- local $/ = \32768; # or \"32768", or \$var_containing_32768
- open my $fh, "<", $myfile or die $!;
- local $_ = <$fh>;
+=item $COMPILING
-will read a record of no more than 32768 bytes from FILE. If you're
-not reading from a record-oriented file (or your OS doesn't have
-record-oriented files), then you'll likely get a full chunk of data
-with every read. If a record is larger than the record size you've
-set, you'll get the record back in pieces. Trying to set the record
-size to zero or less will cause reading in the (rest of the) whole file.
+=item $^C
+X<$^C> X<$COMPILING>
-On VMS, record reads are done with the equivalent of C<sysread>,
-so it's best not to mix record and non-record reads on the same
-file. (This is unlikely to be a problem, because any file you'd
-want to read in record mode is probably unusable in line mode.)
-Non-VMS systems do normal I/O, so it's safe to mix record and
-non-record reads of a file.
+The current value of the flag associated with the B<-c> switch.
+Mainly of use with B<-MO=...> to allow code to alter its behavior
+when being compiled, such as for example to C<AUTOLOAD> at compile
+time rather than normal, deferred loading. Setting
+C<$^C = 1> is similar to calling C<B::minus_c>.
-See also L<perlport/"Newlines">. Also see C<$.>.
+This variable was added in Perl 5.6.
-=item HANDLE->autoflush(EXPR)
+=item $DEBUGGING
-=item $OUTPUT_AUTOFLUSH
+=item $^D
+X<$^D> X<$DEBUGGING>
-=item $|
-X<$|> X<autoflush> X<flush> X<$OUTPUT_AUTOFLUSH>
+The current value of the debugging flags. May be read or set. Like its
+command-line equivalent, you can use numeric or symbolic values, eg
+C<$^D = 10> or C<$^D = "st">.
-If set to nonzero, forces a flush right away and after every write
-or print on the currently selected output channel. Default is 0
-(regardless of whether the channel is really buffered by the
-system or not; C<$|> tells you only whether you've asked Perl
-explicitly to flush after each write). STDOUT will
-typically be line buffered if output is to the terminal and block
-buffered otherwise. Setting this variable is useful primarily when
-you are outputting to a pipe or socket, such as when you are running
-a Perl program under B<rsh> and want to see the output as it's
-happening. This has no effect on input buffering. See L<perlfunc/getc>
-for that. See L<perldoc/select> on how to select the output channel.
-See also L<IO::Handle>. (Mnemonic: when you want your pipes to be piping hot.)
-
-=item IO::Handle->output_field_separator EXPR
+Mnemonic: value of B<-D> switch.
-=item $OUTPUT_FIELD_SEPARATOR
+=item ${^ENCODING}
+X<${^ENCODING}>
-=item $OFS
+The I<object reference> to the C<Encode> object that is used to convert
+the source code to Unicode. Thanks to this variable your Perl script
+does not have to be written in UTF-8. Default is I<undef>. The direct
+manipulation of this variable is highly discouraged.
-=item $,
-X<$,> X<$OFS> X<$OUTPUT_FIELD_SEPARATOR>
+This variable was added in Perl 5.8.2.
-The output field separator for the print operator. If defined, this
-value is printed between each of print's arguments. Default is C<undef>.
-(Mnemonic: what is printed when there is a "," in your print statement.)
+=item %ENV
+X<%ENV>
-=item IO::Handle->output_record_separator EXPR
+The hash C<%ENV> contains your current environment. Setting a
+value in C<ENV> changes the environment for any child processes
+you subsequently C<fork()> off.
-=item $OUTPUT_RECORD_SEPARATOR
+=item $SYSTEM_FD_MAX
-=item $ORS
+=item $^F
+X<$^F> X<$SYSTEM_FD_MAX>
-=item $\
-X<$\> X<$ORS> X<$OUTPUT_RECORD_SEPARATOR>
+The maximum system file descriptor, ordinarily 2. System file
+descriptors are passed to C<exec()>ed processes, while higher file
+descriptors are not. Also, during an C<open()>, system file descriptors are
+preserved even if the C<open()> fails (ordinary file descriptors are
+closed before the C<open()> is attempted). The close-on-exec
+status of a file descriptor will be decided according to the value of
+C<$^F> when the corresponding file, pipe, or socket was opened, not the
+time of the C<exec()>.
-The output record separator for the print operator. If defined, this
-value is printed after the last of print's arguments. Default is C<undef>.
-(Mnemonic: you set C<$\> instead of adding "\n" at the end of the print.
-Also, it's just like C<$/>, but it's what you get "back" from Perl.)
+=item @F
+X<@F>
-=item $LIST_SEPARATOR
+The array C<@F> contains the fields of each line read in when autosplit
+mode is turned on. See L<perlrun> for the B<-a> switch. This array
+is package-specific, and must be declared or given a full package name
+if not in package main when running under C<strict 'vars'>.
-=item $"
-X<$"> X<$LIST_SEPARATOR>
+=item ${^GLOBAL_PHASE}
+X<${^GLOBAL_PHASE}>
-This is like C<$,> except that it applies to array and slice values
-interpolated into a double-quoted string (or similar interpreted
-string). Default is a space. (Mnemonic: obvious, I think.)
+The current phase of the perl interpreter.
-=item $SUBSCRIPT_SEPARATOR
+Possible values are:
-=item $SUBSEP
+=over 8
-=item $;
-X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>
+=item CONSTRUCT
-The subscript separator for multidimensional array emulation. If you
-refer to a hash element as
+The C<PerlInterpreter*> is being constructed via C<perl_construct>. This
+value is mostly there for completeness and for use via the
+underlying C variable C<PL_phase>. It's not really possible for Perl
+code to be executed unless construction of the interpreter is
+finished.
- $foo{$a,$b,$c}
+=item START
-it really means
+This is the global compile-time. That includes, basically, every
+C<BEGIN> block executed directly or indirectly from during the
+compile-time of the top-level program.
- $foo{join($;, $a, $b, $c)}
+This phase is not called "BEGIN" to avoid confusion with
+C<BEGIN>-blocks, as those are executed during compile-time of any
+compilation unit, not just the top-level program. A new, localised
+compile-time entered at run-time, for example by constructs as
+C<eval "use SomeModule"> are not global interpreter phases, and
+therefore aren't reflected by C<${^GLOBAL_PHASE}>.
-But don't put
+=item CHECK
- @foo{$a,$b,$c} # a slice--note the @
+Execution of any C<CHECK> blocks.
-which means
+=item INIT
- ($foo{$a},$foo{$b},$foo{$c})
+Similar to "CHECK", but for C<INIT>-blocks, not C<CHECK> blocks.
-Default is "\034", the same as SUBSEP in B<awk>. If your
-keys contain binary data there might not be any safe value for C<$;>.
-(Mnemonic: comma (the syntactic subscript separator) is a
-semi-semicolon. Yeah, I know, it's pretty lame, but C<$,> is already
-taken for something more important.)
+=item RUN
-Consider using "real" multidimensional arrays as described
-in L<perllol>.
+The main run-time, i.e. the execution of C<PL_main_root>.
-=item HANDLE->format_page_number(EXPR)
+=item END
-=item $FORMAT_PAGE_NUMBER
+Execution of any C<END> blocks.
-=item $%
-X<$%> X<$FORMAT_PAGE_NUMBER>
+=item DESTRUCT
-The current page number of the currently selected output channel.
-Used with formats.
-(Mnemonic: % is page number in B<nroff>.)
+Global destruction.
-=item HANDLE->format_lines_per_page(EXPR)
+=back
-=item $FORMAT_LINES_PER_PAGE
+Also note that there's no value for UNITCHECK-blocks. That's because
+those are run for each compilation unit individually, and therefore is
+not a global interpreter phase.
-=item $=
-X<$=> X<$FORMAT_LINES_PER_PAGE>
+Not every program has to go through each of the possible phases, but
+transition from one phase to another can only happen in the order
+described in the above list.
-The current page length (printable lines) of the currently selected
-output channel. Default is 60.
-Used with formats.
-(Mnemonic: = has horizontal lines.)
+An example of all of the phases Perl code can see:
-=item HANDLE->format_lines_left(EXPR)
+ BEGIN { print "compile-time: ${^GLOBAL_PHASE}\n" }
-=item $FORMAT_LINES_LEFT
+ INIT { print "init-time: ${^GLOBAL_PHASE}\n" }
-=item $-
-X<$-> X<$FORMAT_LINES_LEFT>
+ CHECK { print "check-time: ${^GLOBAL_PHASE}\n" }
-The number of lines left on the page of the currently selected output
-channel.
-Used with formats.
-(Mnemonic: lines_on_page - lines_printed.)
+ {
+ package Print::Phase;
-=item @LAST_MATCH_START
+ sub new {
+ my ($class, $time) = @_;
+ return bless \$time, $class;
+ }
-=item @-
-X<@-> X<@LAST_MATCH_START>
+ sub DESTROY {
+ my $self = shift;
+ print "$$self: ${^GLOBAL_PHASE}\n";
+ }
+ }
-$-[0] is the offset of the start of the last successful match.
-C<$-[>I<n>C<]> is the offset of the start of the substring matched by
-I<n>-th subpattern, or undef if the subpattern did not match.
+ print "run-time: ${^GLOBAL_PHASE}\n";
-Thus after a match against $_, $& coincides with C<substr $_, $-[0],
-$+[0] - $-[0]>. Similarly, $I<n> coincides with C<substr $_, $-[n],
-$+[n] - $-[n]> if C<$-[n]> is defined, and $+ coincides with
-C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>. One can use C<$#-> to find the last
-matched subgroup in the last successful match. Contrast with
-C<$#+>, the number of subgroups in the regular expression. Compare
-with C<@+>.
+ my $runtime = Print::Phase->new(
+ "lexical variables are garbage collected before END"
+ );
-This array holds the offsets of the beginnings of the last
-successful submatches in the currently active dynamic scope.
-C<$-[0]> is the offset into the string of the beginning of the
-entire match. The I<n>th element of this array holds the offset
-of the I<n>th submatch, so C<$-[1]> is the offset where $1
-begins, C<$-[2]> the offset where $2 begins, and so on.
+ END { print "end-time: ${^GLOBAL_PHASE}\n" }
-After a match against some variable $var:
+ our $destruct = Print::Phase->new(
+ "package variables are garbage collected after END"
+ );
-=over 5
+This will print out
-=item C<$`> is the same as C<substr($var, 0, $-[0])>
+ compile-time: START
+ check-time: CHECK
+ init-time: INIT
+ run-time: RUN
+ lexical variables are garbage collected before END: RUN
+ end-time: END
+ package variables are garbage collected after END: DESTRUCT
-=item C<$&> is the same as C<substr($var, $-[0], $+[0] - $-[0])>
+This variable was added in Perl 5.14.0.
-=item C<$'> is the same as C<substr($var, $+[0])>
+=item $^H
+X<$^H>
-=item C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>
+WARNING: This variable is strictly for internal use only. Its availability,
+behavior, and contents are subject to change without notice.
-=item C<$2> is the same as C<substr($var, $-[2], $+[2] - $-[2])>
+This variable contains compile-time hints for the Perl interpreter. At the
+end of compilation of a BLOCK the value of this variable is restored to the
+value when the interpreter started to compile the BLOCK.
-=item C<$3> is the same as C<substr($var, $-[3], $+[3] - $-[3])>
+When perl begins to parse any block construct that provides a lexical scope
+(e.g., eval body, required file, subroutine body, loop body, or conditional
+block), the existing value of C<$^H> is saved, but its value is left unchanged.
+When the compilation of the block is completed, it regains the saved value.
+Between the points where its value is saved and restored, code that
+executes within BEGIN blocks is free to change the value of C<$^H>.
-=back
+This behavior provides the semantic of lexical scoping, and is used in,
+for instance, the C<use strict> pragma.
-=item %-
-X<%->
+The contents should be an integer; different bits of it are used for
+different pragmatic flags. Here's an example:
-Similar to C<%+>, this variable allows access to the named capture buffers
-in the last successful match in the currently active dynamic scope. To
-each capture buffer name found in the regular expression, it associates a
-reference to an array containing the list of values captured by all
-buffers with that name (should there be several of them), in the order
-where they appear.
+ sub add_100 { $^H |= 0x100 }
-Here's an example:
+ sub foo {
+ BEGIN { add_100() }
+ bar->baz($boon);
+ }
- if ('1234' =~ /(?<A>1)(?<B>2)(?<A>3)(?<B>4)/) {
- foreach my $bufname (sort keys %-) {
- my $ary = $-{$bufname};
- foreach my $idx (0..$#$ary) {
- print "\$-{$bufname}[$idx] : ",
- (defined($ary->[$idx]) ? "'$ary->[$idx]'" : "undef"),
- "\n";
- }
- }
- }
+Consider what happens during execution of the BEGIN block. At this point
+the BEGIN block has already been compiled, but the body of C<foo()> is still
+being compiled. The new value of C<$^H> will therefore be visible only while
+the body of C<foo()> is being compiled.
-would print out:
+Substitution of C<BEGIN { add_100() }> block with:
- $-{A}[0] : '1'
- $-{A}[1] : '3'
- $-{B}[0] : '2'
- $-{B}[1] : '4'
+ BEGIN { require strict; strict->import('vars') }
-The keys of the C<%-> hash correspond to all buffer names found in
-the regular expression.
+demonstrates how C<use strict 'vars'> is implemented. Here's a conditional
+version of the same lexical pragma:
-The behaviour of C<%-> is implemented via the
-L<Tie::Hash::NamedCapture> module.
+ BEGIN { require strict; strict->import('vars') if $condition }
-B<Note:> C<%-> and C<%+> are tied views into a common internal hash
-associated with the last successful regular expression. Therefore mixing
-iterative access to them via C<each> may have unpredictable results.
-Likewise, if the last successful match changes, then the results may be
-surprising.
+This variable was added in Perl 5.003.
-=item HANDLE->format_name(EXPR)
+=item %^H
+X<%^H>
-=item $FORMAT_NAME
+The C<%^H> hash provides the same scoping semantic as C<$^H>. This makes it
+useful for implementation of lexically scoped pragmas. See L<perlpragma>.
-=item $~
-X<$~> X<$FORMAT_NAME>
+This variable was added in Perl 5.6.
-The name of the current report format for the currently selected output
-channel. Default is the name of the filehandle. (Mnemonic: brother to
-C<$^>.)
+=item @INC
+X<@INC>
-=item HANDLE->format_top_name(EXPR)
+The array C<@INC> contains the list of places that the C<do EXPR>,
+C<require>, or C<use> constructs look for their library files. It
+initially consists of the arguments to any B<-I> command-line
+switches, followed by the default Perl library, probably
+F</usr/local/lib/perl>, followed by ".", to represent the current
+directory. ("." will not be appended if taint checks are enabled,
+either by C<-T> or by C<-t>.) If you need to modify this at runtime,
+you should use the C<use lib> pragma to get the machine-dependent
+library properly loaded also:
-=item $FORMAT_TOP_NAME
+ use lib '/mypath/libdir/';
+ use SomeMod;
-=item $^
-X<$^> X<$FORMAT_TOP_NAME>
+You can also insert hooks into the file inclusion system by putting Perl
+code directly into C<@INC>. Those hooks may be subroutine references, array
+references or blessed objects. See L<perlfunc/require> for details.
-The name of the current top-of-page format for the currently selected
-output channel. Default is the name of the filehandle with _TOP
-appended. (Mnemonic: points to top of page.)
+=item %INC
+X<%INC>
-=item IO::Handle->format_line_break_characters EXPR
+The hash C<%INC> contains entries for each filename included via the
+C<do>, C<require>, or C<use> operators. The key is the filename
+you specified (with module names converted to pathnames), and the
+value is the location of the file found. The C<require>
+operator uses this hash to determine whether a particular file has
+already been included.
-=item $FORMAT_LINE_BREAK_CHARACTERS
+If the file was loaded via a hook (e.g. a subroutine reference, see
+L<perlfunc/require> for a description of these hooks), this hook is
+by default inserted into C<%INC> in place of a filename. Note, however,
+that the hook may have set the C<%INC> entry by itself to provide some more
+specific info.
-=item $:
-X<$:> X<FORMAT_LINE_BREAK_CHARACTERS>
+=item $INPLACE_EDIT
-The current set of characters after which a string may be broken to
-fill continuation fields (starting with ^) in a format. Default is
-S<" \n-">, to break on whitespace or hyphens. (Mnemonic: a "colon" in
-poetry is a part of a line.)
+=item $^I
+X<$^I> X<$INPLACE_EDIT>
-=item IO::Handle->format_formfeed EXPR
+The current value of the inplace-edit extension. Use C<undef> to disable
+inplace editing.
-=item $FORMAT_FORMFEED
+Mnemonic: value of B<-i> switch.
-=item $^L
-X<$^L> X<$FORMAT_FORMFEED>
+=item $^M
+X<$^M>
-What formats output as a form feed. Default is \f.
+By default, running out of memory is an untrappable, fatal error.
+However, if suitably built, Perl can use the contents of C<$^M>
+as an emergency memory pool after C<die()>ing. Suppose that your Perl
+were compiled with C<-DPERL_EMERGENCY_SBRK> and used Perl's malloc.
+Then
-=item $ACCUMULATOR
+ $^M = 'a' x (1 << 16);
-=item $^A
-X<$^A> X<$ACCUMULATOR>
+would allocate a 64K buffer for use in an emergency. See the
+F<INSTALL> file in the Perl distribution for information on how to
+add custom C compilation flags when compiling perl. To discourage casual
+use of this advanced feature, there is no L<English|English> long name for
+this variable.
-The current value of the write() accumulator for format() lines. A format
-contains formline() calls that put their result into C<$^A>. After
-calling its format, write() prints out the contents of C<$^A> and empties.
-So you never really see the contents of C<$^A> unless you call
-formline() yourself and then look at it. See L<perlform> and
-L<perlfunc/formline()>.
+This variable was added in Perl 5.004.
-=item $CHILD_ERROR
+=item $OSNAME
-=item $?
-X<$?> X<$CHILD_ERROR>
+=item $^O
+X<$^O> X<$OSNAME>
-The status returned by the last pipe close, backtick (C<``>) command,
-successful call to wait() or waitpid(), or from the system()
-operator. This is just the 16-bit status word returned by the
-traditional Unix wait() system call (or else is made up to look like it). Thus, the
-exit value of the subprocess is really (C<<< $? >> 8 >>>), and
-C<$? & 127> gives which signal, if any, the process died from, and
-C<$? & 128> reports whether there was a core dump. (Mnemonic:
-similar to B<sh> and B<ksh>.)
+The name of the operating system under which this copy of Perl was
+built, as determined during the configuration process. For examples
+see L<perlport/PLATFORMS>.
-Additionally, if the C<h_errno> variable is supported in C, its value
-is returned via $? if any C<gethost*()> function fails.
+The value is identical to C<$Config{'osname'}>. See also L<Config>
+and the B<-V> command-line switch documented in L<perlrun>.
-If you have installed a signal handler for C<SIGCHLD>, the
-value of C<$?> will usually be wrong outside that handler.
+In Windows platforms, C<$^O> is not very helpful: since it is always
+C<MSWin32>, it doesn't tell the difference between
+95/98/ME/NT/2000/XP/CE/.NET. Use C<Win32::GetOSName()> or
+Win32::GetOSVersion() (see L<Win32> and L<perlport>) to distinguish
+between the variants.
-Inside an C<END> subroutine C<$?> contains the value that is going to be
-given to C<exit()>. You can modify C<$?> in an C<END> subroutine to
-change the exit status of your program. For example:
+This variable was added in Perl 5.003.
- END {
- $? = 1 if $? == 255; # die would make it 255
- }
+=item ${^OPEN}
+X<${^OPEN}>
-Under VMS, the pragma C<use vmsish 'status'> makes C<$?> reflect the
-actual VMS exit status, instead of the default emulation of POSIX
-status; see L<perlvms/$?> for details.
+An internal variable used by PerlIO. A string in two parts, separated
+by a C<\0> byte, the first part describes the input layers, the second
+part describes the output layers.
-Also see L<Error Indicators>.
+This variable was added in Perl 5.8.2.
-=item ${^CHILD_ERROR_NATIVE}
-X<$^CHILD_ERROR_NATIVE>
+=item $PERLDB
-The native status returned by the last pipe close, backtick (C<``>)
-command, successful call to wait() or waitpid(), or from the system()
-operator. On POSIX-like systems this value can be decoded with the
-WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG
-and WIFCONTINUED functions provided by the L<POSIX> module.
+=item $^P
+X<$^P> X<$PERLDB>
-Under VMS this reflects the actual VMS exit status; i.e. it is the same
-as $? when the pragma C<use vmsish 'status'> is in effect.
+The internal variable for debugging support. The meanings of the
+various bits are subject to change, but currently indicate:
-=item ${^ENCODING}
-X<$^ENCODING>
+=over 6
-The I<object reference> to the Encode object that is used to convert
-the source code to Unicode. Thanks to this variable your perl script
-does not have to be written in UTF-8. Default is I<undef>. The direct
-manipulation of this variable is highly discouraged.
+=item 0x01
-=item $OS_ERROR
+Debug subroutine enter/exit.
-=item $ERRNO
+=item 0x02
-=item $!
-X<$!> X<$ERRNO> X<$OS_ERROR>
+Line-by-line debugging. Causes C<DB::DB()> subroutine to be called for each
+statement executed. Also causes saving source code lines (like 0x400).
-If used numerically, yields the current value of the C C<errno>
-variable, or in other words, if a system or library call fails, it
-sets this variable. This means that the value of C<$!> is meaningful
-only I<immediately> after a B<failure>:
+=item 0x04
- if (open my $fh, "<", $filename) {
- # Here $! is meaningless.
- ...
- } else {
- # ONLY here is $! meaningful.
+Switch off optimizations.
+
+=item 0x08
+
+Preserve more data for future interactive inspections.
+
+=item 0x10
+
+Keep info about source lines on which a subroutine is defined.
+
+=item 0x20
+
+Start with single-step on.
+
+=item 0x40
+
+Use subroutine address instead of name when reporting.
+
+=item 0x80
+
+Report C<goto &subroutine> as well.
+
+=item 0x100
+
+Provide informative "file" names for evals based on the place they were compiled.
+
+=item 0x200
+
+Provide informative names to anonymous subroutines based on the place they
+were compiled.
+
+=item 0x400
+
+Save source code lines into C<@{"_<$filename"}>.
+
+=back
+
+Some bits may be relevant at compile-time only, some at
+run-time only. This is a new mechanism and the details may change.
+See also L<perldebguts>.
+
+=item %SIG
+X<%SIG>
+
+The hash C<%SIG> contains signal handlers for signals. For example:
+
+ sub handler { # 1st argument is signal name
+ my($sig) = @_;
+ print "Caught a SIG$sig--shutting down\n";
+ close(LOG);
+ exit(0);
+ }
+
+ $SIG{'INT'} = \&handler;
+ $SIG{'QUIT'} = \&handler;
...
- # Already here $! might be meaningless.
- }
- # Since here we might have either success or failure,
- # here $! is meaningless.
+ $SIG{'INT'} = 'DEFAULT'; # restore default action
+ $SIG{'QUIT'} = 'IGNORE'; # ignore SIGQUIT
-In the above I<meaningless> stands for anything: zero, non-zero,
-C<undef>. A successful system or library call does B<not> set
-the variable to zero.
+Using a value of C<'IGNORE'> usually has the effect of ignoring the
+signal, except for the C<CHLD> signal. See L<perlipc> for more about
+this special case.
-If used as a string, yields the corresponding system error string.
-You can assign a number to C<$!> to set I<errno> if, for instance,
-you want C<"$!"> to return the string for error I<n>, or you want
-to set the exit value for the die() operator. (Mnemonic: What just
-went bang?)
+Here are some other examples:
-Also see L<Error Indicators>.
+ $SIG{"PIPE"} = "Plumber"; # assumes main::Plumber (not recommended)
+ $SIG{"PIPE"} = \&Plumber; # just fine; assume current Plumber
+ $SIG{"PIPE"} = *Plumber; # somewhat esoteric
+ $SIG{"PIPE"} = Plumber(); # oops, what did Plumber() return??
-=item %OS_ERROR
+Be sure not to use a bareword as the name of a signal handler,
+lest you inadvertently call it.
-=item %ERRNO
+If your system has the C<sigaction()> function then signal handlers
+are installed using it. This means you get reliable signal handling.
-=item %!
-X<%!>
+The default delivery policy of signals changed in Perl 5.8.0 from
+immediate (also known as "unsafe") to deferred, also known as "safe
+signals". See L<perlipc> for more information.
-Each element of C<%!> has a true value only if C<$!> is set to that
-value. For example, C<$!{ENOENT}> is true if and only if the current
-value of C<$!> is C<ENOENT>; that is, if the most recent error was
-"No such file or directory" (or its moral equivalent: not all operating
-systems give that exact error, and certainly not all languages).
-To check if a particular key is meaningful on your system, use
-C<exists $!{the_key}>; for a list of legal keys, use C<keys %!>.
-See L<Errno> for more information, and also see above for the
-validity of C<$!>.
+Certain internal hooks can be also set using the C<%SIG> hash. The
+routine indicated by C<$SIG{__WARN__}> is called when a warning
+message is about to be printed. The warning message is passed as the
+first argument. The presence of a C<__WARN__> hook causes the
+ordinary printing of warnings to C<STDERR> to be suppressed. You can
+use this to save warnings in a variable, or turn warnings into fatal
+errors, like this:
-=item $EXTENDED_OS_ERROR
+ local $SIG{__WARN__} = sub { die $_[0] };
+ eval $proggie;
-=item $^E
-X<$^E> X<$EXTENDED_OS_ERROR>
+As the C<'IGNORE'> hook is not supported by C<__WARN__>, you can
+disable warnings using the empty subroutine:
-Error information specific to the current operating system. At
-the moment, this differs from C<$!> under only VMS, OS/2, and Win32
-(and for MacPerl). On all other platforms, C<$^E> is always just
-the same as C<$!>.
+ local $SIG{__WARN__} = sub {};
-Under VMS, C<$^E> provides the VMS status value from the last
-system error. This is more specific information about the last
-system error than that provided by C<$!>. This is particularly
-important when C<$!> is set to B<EVMSERR>.
+The routine indicated by C<$SIG{__DIE__}> is called when a fatal
+exception is about to be thrown. The error message is passed as the
+first argument. When a C<__DIE__> hook routine returns, the exception
+processing continues as it would have in the absence of the hook,
+unless the hook routine itself exits via a C<goto>, a loop exit, or a
+C<die()>. The C<__DIE__> handler is explicitly disabled during the
+call, so that you can die from a C<__DIE__> handler. Similarly for
+C<__WARN__>.
-Under OS/2, C<$^E> is set to the error code of the last call to
-OS/2 API either via CRT, or directly from perl.
+Due to an implementation glitch, the C<$SIG{__DIE__}> hook is called
+even inside an C<eval()>. Do not use this to rewrite a pending
+exception in C<$@>, or as a bizarre substitute for overriding
+C<CORE::GLOBAL::die()>. This strange action at a distance may be fixed
+in a future release so that C<$SIG{__DIE__}> is only called if your
+program is about to exit, as was the original intent. Any other use is
+deprecated.
+
+C<__DIE__>/C<__WARN__> handlers are very special in one respect: they
+may be called to report (probable) errors found by the parser. In such
+a case the parser may be in inconsistent state, so any attempt to
+evaluate Perl code from such a handler will probably result in a
+segfault. This means that warnings or errors that result from parsing
+Perl should be used with extreme caution, like this:
+
+ require Carp if defined $^S;
+ Carp::confess("Something wrong") if defined &Carp::confess;
+ die "Something wrong, but could not load Carp to give backtrace...
+ To see backtrace try starting Perl with -MCarp switch";
+
+Here the first line will load C<Carp> I<unless> it is the parser who
+called the handler. The second line will print backtrace and die if
+C<Carp> was available. The third line will be executed only if C<Carp> was
+not available.
-Under Win32, C<$^E> always returns the last error information
-reported by the Win32 call C<GetLastError()> which describes
-the last error from within the Win32 API. Most Win32-specific
-code will report errors via C<$^E>. ANSI C and Unix-like calls
-set C<errno> and so most portable Perl code will report errors
-via C<$!>.
+Having to even think about the C<$^S> variable in your exception
+handlers is simply wrong. C<$SIG{__DIE__}> as currently implemented
+invites grievous and difficult to track down errors. Avoid it
+and use an C<END{}> or CORE::GLOBAL::die override instead.
-Caveats mentioned in the description of C<$!> generally apply to
-C<$^E>, also. (Mnemonic: Extra error explanation.)
+See L<perlfunc/die>, L<perlfunc/warn>, L<perlfunc/eval>, and
+L<warnings> for additional information.
-Also see L<Error Indicators>.
+=item $BASETIME
-=item $EVAL_ERROR
+=item $^T
+X<$^T> X<$BASETIME>
-=item $@
-X<$@> X<$EVAL_ERROR>
+The time at which the program began running, in seconds since the
+epoch (beginning of 1970). The values returned by the B<-M>, B<-A>,
+and B<-C> filetests are based on this value.
-The Perl syntax error message from the last eval() operator.
-If $@ is the null string, the last eval() parsed and executed
-correctly (although the operations you invoked may have failed in the
-normal fashion). (Mnemonic: Where was the syntax error "at"?)
+=item ${^TAINT}
+X<${^TAINT}>
-Warning messages are not collected in this variable. You can,
-however, set up a routine to process warnings by setting C<$SIG{__WARN__}>
-as described below.
+Reflects if taint mode is on or off. 1 for on (the program was run with
+B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with
+B<-t> or B<-TU>).
-Also see L<Error Indicators>.
+This variable is read-only.
-=item $PROCESS_ID
+This variable was added in Perl 5.8.
-=item $PID
+=item ${^UNICODE}
+X<${^UNICODE}>
-=item $$
-X<$$> X<$PID> X<$PROCESS_ID>
+Reflects certain Unicode settings of Perl. See L<perlrun>
+documentation for the C<-C> switch for more information about
+the possible values.
-The process number of the Perl running this script. You should
-consider this variable read-only, although it will be altered
-across fork() calls. (Mnemonic: same as shells.)
+This variable is set during Perl startup and is thereafter read-only.
-Note for Linux users: on Linux, the C functions C<getpid()> and
-C<getppid()> return different values from different threads. In order to
-be portable, this behavior is not reflected by C<$$>, whose value remains
-consistent across threads. If you want to call the underlying C<getpid()>,
-you may use the CPAN module C<Linux::Pid>.
+This variable was added in Perl 5.8.2.
-=item $REAL_USER_ID
+=item ${^UTF8CACHE}
+X<${^UTF8CACHE}>
-=item $UID
+This variable controls the state of the internal UTF-8 offset caching code.
+1 for on (the default), 0 for off, -1 to debug the caching code by checking
+all its results against linear scans, and panicking on any discrepancy.
-=item $<
-X<< $< >> X<$UID> X<$REAL_USER_ID>
+This variable was added in Perl 5.8.9.
-The real uid of this process. (Mnemonic: it's the uid you came I<from>,
-if you're running setuid.) You can change both the real uid and
-the effective uid at the same time by using POSIX::setuid(). Since
-changes to $< require a system call, check $! after a change attempt to
-detect any possible errors.
+=item ${^UTF8LOCALE}
+X<${^UTF8LOCALE}>
-=item $EFFECTIVE_USER_ID
+This variable indicates whether a UTF-8 locale was detected by perl at
+startup. This information is used by perl when it's in
+adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line
+switch); see L<perlrun> for more info on this.
-=item $EUID
+This variable was added in Perl 5.8.8.
-=item $>
-X<< $> >> X<$EUID> X<$EFFECTIVE_USER_ID>
+=item $PERL_VERSION
-The effective uid of this process. Example:
+=item $^V
+X<$^V> X<$PERL_VERSION>
- $< = $>; # set real to effective uid
- ($<,$>) = ($>,$<); # swap real and effective uid
+The revision, version, and subversion of the Perl interpreter,
+represented as a C<version> object.
-You can change both the effective uid and the real uid at the same
-time by using POSIX::setuid(). Changes to $> require a check to $!
-to detect any possible errors after an attempted change.
+This variable first appeared in perl 5.6.0; earlier versions of perl
+will see an undefined value. Before perl 5.10.0 C<$^V> was represented
+as a v-string.
-(Mnemonic: it's the uid you went I<to>, if you're running setuid.)
-C<< $< >> and C<< $> >> can be swapped only on machines
-supporting setreuid().
+C<$^V> can be used to determine whether the Perl interpreter executing
+a script is in the right range of versions. For example:
-=item $REAL_GROUP_ID
+ warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
-=item $GID
+To convert C<$^V> into its string representation use C<sprintf()>'s
+C<"%vd"> conversion:
-=item $(
-X<$(> X<$GID> X<$REAL_GROUP_ID>
+ printf "version is v%vd\n", $^V; # Perl's version
-The real gid of this process. If you are on a machine that supports
-membership in multiple groups simultaneously, gives a space separated
-list of groups you are in. The first number is the one returned by
-getgid(), and the subsequent ones by getgroups(), one of which may be
-the same as the first number.
+See the documentation of C<use VERSION> and C<require VERSION>
+for a convenient way to fail if the running Perl interpreter is too old.
-However, a value assigned to C<$(> must be a single number used to
-set the real gid. So the value given by C<$(> should I<not> be assigned
-back to C<$(> without being forced numeric, such as by adding zero. Note
-that this is different to the effective gid (C<$)>) which does take a
-list.
+See also C<$]> for an older representation of the Perl version.
-You can change both the real gid and the effective gid at the same
-time by using POSIX::setgid(). Changes to $( require a check to $!
-to detect any possible errors after an attempted change.
+This variable was added in Perl 5.6.
-(Mnemonic: parentheses are used to I<group> things. The real gid is the
-group you I<left>, if you're running setgid.)
+Mnemonic: use ^V for Version Control.
-=item $EFFECTIVE_GROUP_ID
+=item ${^WIN32_SLOPPY_STAT}
+X<${^WIN32_SLOPPY_STAT}> X<sitecustomize> X<sitecustomize.pl>
-=item $EGID
+If this variable is set to a true value, then C<stat()> on Windows will
+not try to open the file. This means that the link count cannot be
+determined and file attributes may be out of date if additional
+hardlinks to the file exist. On the other hand, not opening the file
+is considerably faster, especially for files on network drives.
-=item $)
-X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>
+This variable could be set in the F<sitecustomize.pl> file to
+configure the local Perl installation to use "sloppy" C<stat()> by
+default. See the documentation for B<-f> in
+L<perlrun|perlrun/"Command Switches"> for more information about site
+customization.
-The effective gid of this process. If you are on a machine that
-supports membership in multiple groups simultaneously, gives a space
-separated list of groups you are in. The first number is the one
-returned by getegid(), and the subsequent ones by getgroups(), one of
-which may be the same as the first number.
+This variable was added in Perl 5.10.
-Similarly, a value assigned to C<$)> must also be a space-separated
-list of numbers. The first number sets the effective gid, and
-the rest (if any) are passed to setgroups(). To get the effect of an
-empty list for setgroups(), just repeat the new effective gid; that is,
-to force an effective gid of 5 and an effectively empty setgroups()
-list, say C< $) = "5 5" >.
+=item $EXECUTABLE_NAME
-You can change both the effective gid and the real gid at the same
-time by using POSIX::setgid() (use only a single numeric argument).
-Changes to $) require a check to $! to detect any possible errors
-after an attempted change.
+=item $^X
+X<$^X> X<$EXECUTABLE_NAME>
-(Mnemonic: parentheses are used to I<group> things. The effective gid
-is the group that's I<right> for you, if you're running setgid.)
+The name used to execute the current copy of Perl, from C's
+C<argv[0]> or (where supported) F</proc/self/exe>.
-C<< $< >>, C<< $> >>, C<$(> and C<$)> can be set only on
-machines that support the corresponding I<set[re][ug]id()> routine. C<$(>
-and C<$)> can be swapped only on machines supporting setregid().
+Depending on the host operating system, the value of C<$^X> may be
+a relative or absolute pathname of the perl program file, or may
+be the string used to invoke perl but not the pathname of the
+perl program file. Also, most operating systems permit invoking
+programs that are not in the PATH environment variable, so there
+is no guarantee that the value of C<$^X> is in PATH. For VMS, the
+value may or may not include a version number.
-=item $PROGRAM_NAME
+You usually can use the value of C<$^X> to re-invoke an independent
+copy of the same perl that is currently running, e.g.,
-=item $0
-X<$0> X<$PROGRAM_NAME>
+ @first_run = `$^X -le "print int rand 100 for 1..100"`;
-Contains the name of the program being executed.
+But recall that not all operating systems support forking or
+capturing of the output of commands, so this complex statement
+may not be portable.
-On some (read: not all) operating systems assigning to C<$0> modifies
-the argument area that the C<ps> program sees. On some platforms you
-may have to use special C<ps> options or a different C<ps> to see the
-changes. Modifying the $0 is more useful as a way of indicating the
-current program state than it is for hiding the program you're
-running. (Mnemonic: same as B<sh> and B<ksh>.)
+It is not safe to use the value of C<$^X> as a path name of a file,
+as some operating systems that have a mandatory suffix on
+executable files do not require use of the suffix when invoking
+a command. To convert the value of C<$^X> to a path name, use the
+following statements:
-Note that there are platform specific limitations on the maximum
-length of C<$0>. In the most extreme case it may be limited to the
-space occupied by the original C<$0>.
+ # Build up a set of file names (not command names).
+ use Config;
+ my $this_perl = $^X;
+ if ($^O ne 'VMS') {
+ $this_perl .= $Config{_exe}
+ unless $this_perl =~ m/$Config{_exe}$/i;
+ }
-In some platforms there may be arbitrary amount of padding, for
-example space characters, after the modified name as shown by C<ps>.
-In some platforms this padding may extend all the way to the original
-length of the argument area, no matter what you do (this is the case
-for example with Linux 2.2).
+Because many operating systems permit anyone with read access to
+the Perl program file to make a copy of it, patch the copy, and
+then execute the copy, the security-conscious Perl programmer
+should take care to invoke the installed copy of perl, not the
+copy referenced by C<$^X>. The following statements accomplish
+this goal, and produce a pathname that can be invoked as a
+command or referenced as a file.
-Note for BSD users: setting C<$0> does not completely remove "perl"
-from the ps(1) output. For example, setting C<$0> to C<"foobar"> may
-result in C<"perl: foobar (perl)"> (whether both the C<"perl: "> prefix
-and the " (perl)" suffix are shown depends on your exact BSD variant
-and version). This is an operating system feature, Perl cannot help it.
+ use Config;
+ my $secure_perl_path = $Config{perlpath};
+ if ($^O ne 'VMS') {
+ $secure_perl_path .= $Config{_exe}
+ unless $secure_perl_path =~ m/$Config{_exe}$/i;
+ }
-In multithreaded scripts Perl coordinates the threads so that any
-thread may modify its copy of the C<$0> and the change becomes visible
-to ps(1) (assuming the operating system plays along). Note that
-the view of C<$0> the other threads have will not change since they
-have their own copies of it.
+=back
-If the program has been given to perl via the switches C<-e> or C<-E>,
-C<$0> will contain the string C<"-e">.
+=head2 Variables related to regular expressions
-=item $[
-X<$[>
+Most of the special variables related to regular expressions are side
+effects. Perl sets these variables when it has a successful match, so
+you should check the match result before using them. For instance:
-The index of the first element in an array, and of the first character
-in a substring. Default is 0, but you could theoretically set it
-to 1 to make Perl behave more like B<awk> (or Fortran) when
-subscripting and when evaluating the index() and substr() functions.
-(Mnemonic: [ begins subscripts.)
+ if( /P(A)TT(ER)N/ ) {
+ print "I found $1 and $2\n";
+ }
-As of release 5 of Perl, assignment to C<$[> is treated as a compiler
-directive, and cannot influence the behavior of any other file.
-(That's why you can only assign compile-time constants to it.) Its
-use is deprecated, and by default will trigger a warning.
+These variables are read-only and dynamically-scoped, unless we note
+otherwise.
-Note that, unlike other compile-time directives (such as L<strict>),
-assignment to C<$[> can be seen from outer lexical scopes in the same file.
-However, you can use local() on it to strictly bind its value to a
-lexical block.
+The dynamic nature of the regular expression variables means that
+their value is limited to the block that they are in, as demonstrated
+by this bit of code:
-=item $]
-X<$]>
+ my $outer = 'Wallace and Grommit';
+ my $inner = 'Mutt and Jeff';
-The version + patchlevel / 1000 of the Perl interpreter. This variable
-can be used to determine whether the Perl interpreter executing a
-script is in the right range of versions. (Mnemonic: Is this version
-of perl in the right bracket?) Example:
+ my $pattern = qr/(\S+) and (\S+)/;
- warn "No checksumming!\n" if $] < 3.019;
+ sub show_n { print "\$1 is $1; \$2 is $2\n" }
-See also the documentation of C<use VERSION> and C<require VERSION>
-for a convenient way to fail if the running Perl interpreter is too old.
+ {
+ OUTER:
+ show_n() if $outer =~ m/$pattern/;
-The floating point representation can sometimes lead to inaccurate
-numeric comparisons. See C<$^V> for a more modern representation of
-the Perl version that allows accurate string comparisons.
+ INNER: {
+ show_n() if $inner =~ m/$pattern/;
+ }
-=item $COMPILING
+ show_n();
+ }
-=item $^C
-X<$^C> X<$COMPILING>
+The output shows that while in the C<OUTER> block, the values of C<$1>
+and C<$2> are from the match against C<$outer>. Inside the C<INNER>
+block, the values of C<$1> and C<$2> are from the match against
+C<$inner>, but only until the end of the block (i.e. the dynamic
+scope). After the C<INNER> block completes, the values of C<$1> and
+C<$2> return to the values for the match against C<$outer> even though
+we have not made another match:
-The current value of the flag associated with the B<-c> switch.
-Mainly of use with B<-MO=...> to allow code to alter its behavior
-when being compiled, such as for example to AUTOLOAD at compile
-time rather than normal, deferred loading. Setting
-C<$^C = 1> is similar to calling C<B::minus_c>.
+ $1 is Wallace; $2 is Grommit
+ $1 is Mutt; $2 is Jeff
+ $1 is Wallace; $2 is Grommit
-=item $DEBUGGING
+Due to an unfortunate accident of Perl's implementation, C<use
+English> imposes a considerable performance penalty on all regular
+expression matches in a program because it uses the C<$`>, C<$&>, and
+C<$'>, regardless of whether they occur in the scope of C<use
+English>. For that reason, saying C<use English> in libraries is
+strongly discouraged unless you import it without the match variables:
-=item $^D
-X<$^D> X<$DEBUGGING>
+ use English '-no_match_vars'
-The current value of the debugging flags. (Mnemonic: value of B<-D>
-switch.) May be read or set. Like its command-line equivalent, you can use
-numeric or symbolic values, eg C<$^D = 10> or C<$^D = "st">.
+The C<Devel::NYTProf> and C<Devel::FindAmpersand>
+modules can help you find uses of these
+problematic match variables in your code.
-=item ${^RE_DEBUG_FLAGS}
+Since Perl 5.10, you can use the C</p> match operator flag and the
+C<${^PREMATCH}>, C<${^MATCH}>, and C<${^POSTMATCH}> variables instead
+so you only suffer the performance penalties.
-The current value of the regex debugging flags. Set to 0 for no debug output
-even when the re 'debug' module is loaded. See L<re> for details.
+=over 8
-=item ${^RE_TRIE_MAXBUF}
+=item $<I<digits>> ($1, $2, ...)
+X<$1> X<$2> X<$3>
-Controls how certain regex optimisations are applied and how much memory they
-utilize. This value by default is 65536 which corresponds to a 512kB temporary
-cache. Set this to a higher value to trade memory for speed when matching
-large alternations. Set it to a lower value if you want the optimisations to
-be as conservative of memory as possible but still occur, and set it to a
-negative value to prevent the optimisation and conserve the most memory.
-Under normal situations this variable should be of no interest to you.
+Contains the subpattern from the corresponding set of capturing
+parentheses from the last successful pattern match, not counting patterns
+matched in nested blocks that have been exited already.
-=item $SYSTEM_FD_MAX
+These variables are read-only and dynamically-scoped.
-=item $^F
-X<$^F> X<$SYSTEM_FD_MAX>
+Mnemonic: like \digits.
-The maximum system file descriptor, ordinarily 2. System file
-descriptors are passed to exec()ed processes, while higher file
-descriptors are not. Also, during an open(), system file descriptors are
-preserved even if the open() fails. (Ordinary file descriptors are
-closed before the open() is attempted.) The close-on-exec
-status of a file descriptor will be decided according to the value of
-C<$^F> when the corresponding file, pipe, or socket was opened, not the
-time of the exec().
+=item $MATCH
-=item $^H
+=item $&
+X<$&> X<$MATCH>
-WARNING: This variable is strictly for internal use only. Its availability,
-behavior, and contents are subject to change without notice.
+The string matched by the last successful pattern match (not counting
+any matches hidden within a BLOCK or C<eval()> enclosed by the current
+BLOCK).
-This variable contains compile-time hints for the Perl interpreter. At the
-end of compilation of a BLOCK the value of this variable is restored to the
-value when the interpreter started to compile the BLOCK.
+The use of this variable anywhere in a program imposes a considerable
+performance penalty on all regular expression matches. To avoid this
+penalty, you can extract the same substring by using L</@->. Starting
+with Perl 5.10, you can use the </p> match flag and the C<${^MATCH}>
+variable to do the same thing for particular match operations.
-When perl begins to parse any block construct that provides a lexical scope
-(e.g., eval body, required file, subroutine body, loop body, or conditional
-block), the existing value of $^H is saved, but its value is left unchanged.
-When the compilation of the block is completed, it regains the saved value.
-Between the points where its value is saved and restored, code that
-executes within BEGIN blocks is free to change the value of $^H.
+This variable is read-only and dynamically-scoped.
-This behavior provides the semantic of lexical scoping, and is used in,
-for instance, the C<use strict> pragma.
+Mnemonic: like C<&> in some editors.
-The contents should be an integer; different bits of it are used for
-different pragmatic flags. Here's an example:
+=item ${^MATCH}
+X<${^MATCH}>
- sub add_100 { $^H |= 0x100 }
+This is similar to C<$&> (C<$MATCH>) except that it does not incur the
+performance penalty associated with that variable, and is only guaranteed
+to return a defined value when the pattern was compiled or executed with
+the C</p> modifier.
- sub foo {
- BEGIN { add_100() }
- bar->baz($boon);
- }
+This variable was added in Perl 5.10.
-Consider what happens during execution of the BEGIN block. At this point
-the BEGIN block has already been compiled, but the body of foo() is still
-being compiled. The new value of $^H will therefore be visible only while
-the body of foo() is being compiled.
+This variable is read-only and dynamically-scoped.
-Substitution of the above BEGIN block with:
+=item $PREMATCH
- BEGIN { require strict; strict->import('vars') }
+=item $`
+X<$`> X<$PREMATCH> X<${^PREMATCH}>
-demonstrates how C<use strict 'vars'> is implemented. Here's a conditional
-version of the same lexical pragma:
+The string preceding whatever was matched by the last successful
+pattern match, not counting any matches hidden within a BLOCK or C<eval>
+enclosed by the current BLOCK.
- BEGIN { require strict; strict->import('vars') if $condition }
+The use of this variable anywhere in a program imposes a considerable
+performance penalty on all regular expression matches. To avoid this
+penalty, you can extract the same substring by using L</@->. Starting
+with Perl 5.10, you can use the </p> match flag and the
+C<${^PREMATCH}> variable to do the same thing for particular match
+operations.
-=item %^H
+This variable is read-only and dynamically-scoped.
-The %^H hash provides the same scoping semantic as $^H. This makes it
-useful for implementation of lexically scoped pragmas. See L<perlpragma>.
+Mnemonic: C<`> often precedes a quoted string.
-=item $INPLACE_EDIT
+=item ${^PREMATCH}
+X<$`> X<${^PREMATCH}>
-=item $^I
-X<$^I> X<$INPLACE_EDIT>
+This is similar to C<$`> ($PREMATCH) except that it does not incur the
+performance penalty associated with that variable, and is only guaranteed
+to return a defined value when the pattern was compiled or executed with
+the C</p> modifier.
-The current value of the inplace-edit extension. Use C<undef> to disable
-inplace editing. (Mnemonic: value of B<-i> switch.)
+This variable was added in Perl 5.10
-=item $^M
-X<$^M>
+This variable is read-only and dynamically-scoped.
-By default, running out of memory is an untrappable, fatal error.
-However, if suitably built, Perl can use the contents of C<$^M>
-as an emergency memory pool after die()ing. Suppose that your Perl
-were compiled with C<-DPERL_EMERGENCY_SBRK> and used Perl's malloc.
-Then
+=item $POSTMATCH
- $^M = 'a' x (1 << 16);
+=item $'
+X<$'> X<$POSTMATCH> X<${^POSTMATCH}> X<@->
-would allocate a 64K buffer for use in an emergency. See the
-F<INSTALL> file in the Perl distribution for information on how to
-add custom C compilation flags when compiling perl. To discourage casual
-use of this advanced feature, there is no L<English|English> long name for
-this variable.
+The string following whatever was matched by the last successful
+pattern match (not counting any matches hidden within a BLOCK or C<eval()>
+enclosed by the current BLOCK). Example:
-=item $OSNAME
+ local $_ = 'abcdefghi';
+ /def/;
+ print "$`:$&:$'\n"; # prints abc:def:ghi
-=item $^O
-X<$^O> X<$OSNAME>
+The use of this variable anywhere in a program imposes a considerable
+performance penalty on all regular expression matches.
+To avoid this penalty, you can extract the same substring by
+using L</@->. Starting with Perl 5.10, you can use the </p> match flag
+and the C<${^POSTMATCH}> variable to do the same thing for particular
+match operations.
-The name of the operating system under which this copy of Perl was
-built, as determined during the configuration process. For examples
-see L<perlport/PLATFORMS>.
+This variable is read-only and dynamically-scoped.
-The value is identical to C<$Config{'osname'}>. See also L<Config>
-and the B<-V> command-line switch documented in L<perlrun>.
+Mnemonic: C<'> often follows a quoted string.
-In Windows platforms, $^O is not very helpful: since it is always
-C<MSWin32>, it doesn't tell the difference between
-95/98/ME/NT/2000/XP/CE/.NET. Use Win32::GetOSName() or
-Win32::GetOSVersion() (see L<Win32> and L<perlport>) to distinguish
-between the variants.
+=item ${^POSTMATCH}
+X<${^POSTMATCH}> X<$'> X<$POSTMATCH>
-=item ${^OPEN}
+This is similar to C<$'> (C<$POSTMATCH>) except that it does not incur the
+performance penalty associated with that variable, and is only guaranteed
+to return a defined value when the pattern was compiled or executed with
+the C</p> modifier.
-An internal variable used by PerlIO. A string in two parts, separated
-by a C<\0> byte, the first part describes the input layers, the second
-part describes the output layers.
+This variable was added in Perl 5.10.
-=item $PERLDB
+This variable is read-only and dynamically-scoped.
-=item $^P
-X<$^P> X<$PERLDB>
+=item $LAST_PAREN_MATCH
-The internal variable for debugging support. The meanings of the
-various bits are subject to change, but currently indicate:
+=item $+
+X<$+> X<$LAST_PAREN_MATCH>
-=over 6
+The text matched by the last bracket of the last successful search pattern.
+This is useful if you don't know which one of a set of alternative patterns
+matched. For example:
-=item 0x01
+ /Version: (.*)|Revision: (.*)/ && ($rev = $+);
-Debug subroutine enter/exit.
+This variable is read-only and dynamically-scoped.
-=item 0x02
+Mnemonic: be positive and forward looking.
-Line-by-line debugging. Causes DB::DB() subroutine to be called for each
-statement executed. Also causes saving source code lines (like 0x400).
+=item $LAST_SUBMATCH_RESULT
-=item 0x04
+=item $^N
+X<$^N> X<$LAST_SUBMATCH_RESULT>
-Switch off optimizations.
+The text matched by the used group most-recently closed (i.e. the group
+with the rightmost closing parenthesis) of the last successful search
+pattern.
-=item 0x08
+This is primarily used inside C<(?{...})> blocks for examining text
+recently matched. For example, to effectively capture text to a variable
+(in addition to C<$1>, C<$2>, etc.), replace C<(...)> with
-Preserve more data for future interactive inspections.
+ (?:(...)(?{ $var = $^N }))
-=item 0x10
+By setting and then using C<$var> in this way relieves you from having to
+worry about exactly which numbered set of parentheses they are.
-Keep info about source lines on which a subroutine is defined.
+This variable was added in Perl 5.8.
-=item 0x20
+Mnemonic: the (possibly) Nested parenthesis that most recently closed.
-Start with single-step on.
+=item @LAST_MATCH_END
-=item 0x40
+=item @+
+X<@+> X<@LAST_MATCH_END>
-Use subroutine address instead of name when reporting.
+This array holds the offsets of the ends of the last successful
+submatches in the currently active dynamic scope. C<$+[0]> is
+the offset into the string of the end of the entire match. This
+is the same value as what the C<pos> function returns when called
+on the variable that was matched against. The I<n>th element
+of this array holds the offset of the I<n>th submatch, so
+C<$+[1]> is the offset past where C<$1> ends, C<$+[2]> the offset
+past where C<$2> ends, and so on. You can use C<$#+> to determine
+how many subgroups were in the last successful match. See the
+examples given for the C<@-> variable.
-=item 0x80
+This variable was added in Perl 5.6.
-Report C<goto &subroutine> as well.
+=item %LAST_PAREN_MATCH
-=item 0x100
+=item %+
+X<%+> X<%LAST_PAREN_MATCH>
-Provide informative "file" names for evals based on the place they were compiled.
+Similar to C<@+>, the C<%+> hash allows access to the named capture
+buffers, should they exist, in the last successful match in the
+currently active dynamic scope.
-=item 0x200
+For example, C<$+{foo}> is equivalent to C<$1> after the following match:
-Provide informative names to anonymous subroutines based on the place they
-were compiled.
+ 'foo' =~ /(?<foo>foo)/;
-=item 0x400
+The keys of the C<%+> hash list only the names of buffers that have
+captured (and that are thus associated to defined values).
-Save source code lines into C<@{"_<$filename"}>.
+The underlying behaviour of C<%+> is provided by the
+L<Tie::Hash::NamedCapture> module.
+
+B<Note:> C<%-> and C<%+> are tied views into a common internal hash
+associated with the last successful regular expression. Therefore mixing
+iterative access to them via C<each> may have unpredictable results.
+Likewise, if the last successful match changes, then the results may be
+surprising.
+
+This variable was added in Perl 5.10.
+
+This variable is read-only and dynamically-scoped.
+
+=item @LAST_MATCH_START
+
+=item @-
+X<@-> X<@LAST_MATCH_START>
+
+C<$-[0]> is the offset of the start of the last successful match.
+C<$-[>I<n>C<]> is the offset of the start of the substring matched by
+I<n>-th subpattern, or undef if the subpattern did not match.
+
+Thus, after a match against C<$_>, C<$&> coincides with C<substr $_, $-[0],
+$+[0] - $-[0]>. Similarly, $I<n> coincides with C<substr $_, $-[n],
+$+[n] - $-[n]> if C<$-[n]> is defined, and $+ coincides with
+C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>. One can use C<$#-> to find the last
+matched subgroup in the last successful match. Contrast with
+C<$#+>, the number of subgroups in the regular expression. Compare
+with C<@+>.
+
+This array holds the offsets of the beginnings of the last
+successful submatches in the currently active dynamic scope.
+C<$-[0]> is the offset into the string of the beginning of the
+entire match. The I<n>th element of this array holds the offset
+of the I<n>th submatch, so C<$-[1]> is the offset where C<$1>
+begins, C<$-[2]> the offset where C<$2> begins, and so on.
+
+After a match against some variable C<$var>:
+
+=over 5
+
+=item C<$`> is the same as C<substr($var, 0, $-[0])>
+
+=item C<$&> is the same as C<substr($var, $-[0], $+[0] - $-[0])>
+
+=item C<$'> is the same as C<substr($var, $+[0])>
+
+=item C<$1> is the same as C<substr($var, $-[1], $+[1] - $-[1])>
+
+=item C<$2> is the same as C<substr($var, $-[2], $+[2] - $-[2])>
+
+=item C<$3> is the same as C<substr($var, $-[3], $+[3] - $-[3])>
=back
-Some bits may be relevant at compile-time only, some at
-run-time only. This is a new mechanism and the details may change.
-See also L<perldebguts>.
+This variable was added in Perl 5.6.
-=item $LAST_REGEXP_CODE_RESULT
+=item %LAST_MATCH_START
-=item $^R
-X<$^R> X<$LAST_REGEXP_CODE_RESULT>
+=item %-
+X<%-> X<%LAST_MATCH_START>
-The result of evaluation of the last successful C<(?{ code })>
-regular expression assertion (see L<perlre>). May be written to.
+Similar to C<%+>, this variable allows access to the named capture groups
+in the last successful match in the currently active dynamic scope. To
+each capture group name found in the regular expression, it associates a
+reference to an array containing the list of values captured by all
+buffers with that name (should there be several of them), in the order
+where they appear.
-=item $EXCEPTIONS_BEING_CAUGHT
+Here's an example:
-=item $^S
-X<$^S> X<$EXCEPTIONS_BEING_CAUGHT>
+ if ('1234' =~ /(?<A>1)(?<B>2)(?<A>3)(?<B>4)/) {
+ foreach my $bufname (sort keys %-) {
+ my $ary = $-{$bufname};
+ foreach my $idx (0..$#$ary) {
+ print "\$-{$bufname}[$idx] : ",
+ (defined($ary->[$idx]) ? "'$ary->[$idx]'" : "undef"),
+ "\n";
+ }
+ }
+ }
-Current state of the interpreter.
+would print out:
- $^S State
- --------- -------------------
- undef Parsing module/eval
- true (1) Executing an eval
- false (0) Otherwise
+ $-{A}[0] : '1'
+ $-{A}[1] : '3'
+ $-{B}[0] : '2'
+ $-{B}[1] : '4'
-The first state may happen in $SIG{__DIE__} and $SIG{__WARN__} handlers.
+The keys of the C<%-> hash correspond to all buffer names found in
+the regular expression.
-=item $BASETIME
+The behaviour of C<%-> is implemented via the
+L<Tie::Hash::NamedCapture> module.
-=item $^T
-X<$^T> X<$BASETIME>
+B<Note:> C<%-> and C<%+> are tied views into a common internal hash
+associated with the last successful regular expression. Therefore mixing
+iterative access to them via C<each> may have unpredictable results.
+Likewise, if the last successful match changes, then the results may be
+surprising.
-The time at which the program began running, in seconds since the
-epoch (beginning of 1970). The values returned by the B<-M>, B<-A>,
-and B<-C> filetests are based on this value.
+This variable was added in Perl 5.10
-=item ${^TAINT}
+This variable is read-only and dynamically-scoped.
-Reflects if taint mode is on or off. 1 for on (the program was run with
-B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with
-B<-t> or B<-TU>). This variable is read-only.
+=item $LAST_REGEXP_CODE_RESULT
-=item ${^UNICODE}
+=item $^R
+X<$^R> X<$LAST_REGEXP_CODE_RESULT>
-Reflects certain Unicode settings of Perl. See L<perlrun>
-documentation for the C<-C> switch for more information about
-the possible values. This variable is set during Perl startup
-and is thereafter read-only.
+The result of evaluation of the last successful C<(?{ code })>
+regular expression assertion (see L<perlre>). May be written to.
-=item ${^UTF8CACHE}
+This variable was added in Perl 5.005.
-This variable controls the state of the internal UTF-8 offset caching code.
-1 for on (the default), 0 for off, -1 to debug the caching code by checking
-all its results against linear scans, and panicking on any discrepancy.
+=item ${^RE_DEBUG_FLAGS}
+X<${^RE_DEBUG_FLAGS}>
-=item ${^UTF8LOCALE}
+The current value of the regex debugging flags. Set to 0 for no debug output
+even when the C<re 'debug'> module is loaded. See L<re> for details.
-This variable indicates whether a UTF-8 locale was detected by perl at
-startup. This information is used by perl when it's in
-adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line
-switch); see L<perlrun> for more info on this.
+This variable was added in Perl 5.10.
-=item $PERL_VERSION
+=item ${^RE_TRIE_MAXBUF}
+X<${^RE_TRIE_MAXBUF}>
-=item $^V
-X<$^V> X<$PERL_VERSION>
+Controls how certain regex optimisations are applied and how much memory they
+utilize. This value by default is 65536 which corresponds to a 512kB temporary
+cache. Set this to a higher value to trade memory for speed when matching
+large alternations. Set it to a lower value if you want the optimisations to
+be as conservative of memory as possible but still occur, and set it to a
+negative value to prevent the optimisation and conserve the most memory.
+Under normal situations this variable should be of no interest to you.
-The revision, version, and subversion of the Perl interpreter, represented
-as a C<version> object.
+This variable was added in Perl 5.10.
-This variable first appeared in perl 5.6.0; earlier versions of perl will
-see an undefined value. Before perl 5.10.0 $^V was represented as a v-string.
+=back
-$^V can be used to determine whether the Perl interpreter executing a
-script is in the right range of versions. (Mnemonic: use ^V for Version
-Control.) Example:
+=head2 Variables related to filehandles
- warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
+Variables that depend on the currently selected filehandle may be set
+by calling an appropriate object method on the C<IO::Handle> object,
+although this is less efficient than using the regular built-in
+variables. (Summary lines below for this contain the word HANDLE.)
+First you must say
-To convert C<$^V> into its string representation use sprintf()'s
-C<"%vd"> conversion:
+ use IO::Handle;
- printf "version is v%vd\n", $^V; # Perl's version
+after which you may use either
-See the documentation of C<use VERSION> and C<require VERSION>
-for a convenient way to fail if the running Perl interpreter is too old.
+ method HANDLE EXPR
-See also C<$]> for an older representation of the Perl version.
+or more safely,
-=item $WARNING
+ HANDLE->method(EXPR)
-=item $^W
-X<$^W> X<$WARNING>
+Each method returns the old value of the C<IO::Handle> attribute. The
+methods each take an optional EXPR, which, if supplied, specifies the
+new value for the C<IO::Handle> attribute in question. If not
+supplied, most methods do nothing to the current value--except for
+C<autoflush()>, which will assume a 1 for you, just to be different.
-The current value of the warning switch, initially true if B<-w>
-was used, false otherwise, but directly modifiable. (Mnemonic:
-related to the B<-w> switch.) See also L<warnings>.
+Because loading in the C<IO::Handle> class is an expensive operation,
+you should learn how to use the regular built-in variables.
-=item ${^WARNING_BITS}
+A few of these variables are considered "read-only". This means that
+if you try to assign to this variable, either directly or indirectly
+through a reference, you'll raise a run-time exception.
-The current set of warning checks enabled by the C<use warnings> pragma.
-See the documentation of C<warnings> for more details.
+You should be very careful when modifying the default values of most
+special variables described in this document. In most cases you want
+to localize these variables before changing them, since if you don't,
+the change may affect other modules which rely on the default values
+of the special variables that you have changed. This is one of the
+correct ways to read the whole file at once:
-=item ${^WIN32_SLOPPY_STAT}
-X<sitecustomize> X<sitecustomize.pl>
+ open my $fh, "<", "foo" or die $!;
+ local $/; # enable localized slurp mode
+ my $content = <$fh>;
+ close $fh;
-If this variable is set to a true value, then stat() on Windows will
-not try to open the file. This means that the link count cannot be
-determined and file attributes may be out of date if additional
-hardlinks to the file exist. On the other hand, not opening the file
-is considerably faster, especially for files on network drives.
+But the following code is quite bad:
-This variable could be set in the F<sitecustomize.pl> file to
-configure the local Perl installation to use "sloppy" stat() by
-default. See the documentation for B<-f> in
-L<perlrun|perlrun/"Command Switches"> for more information about site
-customization.
+ open my $fh, "<", "foo" or die $!;
+ undef $/; # enable slurp mode
+ my $content = <$fh>;
+ close $fh;
-=item $EXECUTABLE_NAME
+since some other module, may want to read data from some file in the
+default "line mode", so if the code we have just presented has been
+executed, the global value of C<$/> is now changed for any other code
+running inside the same Perl interpreter.
-=item $^X
-X<$^X> X<$EXECUTABLE_NAME>
+Usually when a variable is localized you want to make sure that this
+change affects the shortest scope possible. So unless you are already
+inside some short C<{}> block, you should create one yourself. For
+example:
-The name used to execute the current copy of Perl, from C's
-C<argv[0]> or (where supported) F</proc/self/exe>.
+ my $content = '';
+ open my $fh, "<", "foo" or die $!;
+ {
+ local $/;
+ $content = <$fh>;
+ }
+ close $fh;
-Depending on the host operating system, the value of $^X may be
-a relative or absolute pathname of the perl program file, or may
-be the string used to invoke perl but not the pathname of the
-perl program file. Also, most operating systems permit invoking
-programs that are not in the PATH environment variable, so there
-is no guarantee that the value of $^X is in PATH. For VMS, the
-value may or may not include a version number.
+Here is an example of how your own code can go broken:
-You usually can use the value of $^X to re-invoke an independent
-copy of the same perl that is currently running, e.g.,
+ for ( 1..3 ){
+ $\ = "\r\n";
+ nasty_break();
+ print "$_";
+ }
- @first_run = `$^X -le "print int rand 100 for 1..100"`;
+ sub nasty_break {
+ $\ = "\f";
+ # do something with $_
+ }
-But recall that not all operating systems support forking or
-capturing of the output of commands, so this complex statement
-may not be portable.
+You probably expect this code to print the equivalent of
-It is not safe to use the value of $^X as a path name of a file,
-as some operating systems that have a mandatory suffix on
-executable files do not require use of the suffix when invoking
-a command. To convert the value of $^X to a path name, use the
-following statements:
+ "1\r\n2\r\n3\r\n"
- # Build up a set of file names (not command names).
- use Config;
- $this_perl = $^X;
- if ($^O ne 'VMS')
- {$this_perl .= $Config{_exe}
- unless $this_perl =~ m/$Config{_exe}$/i;}
+but instead you get:
-Because many operating systems permit anyone with read access to
-the Perl program file to make a copy of it, patch the copy, and
-then execute the copy, the security-conscious Perl programmer
-should take care to invoke the installed copy of perl, not the
-copy referenced by $^X. The following statements accomplish
-this goal, and produce a pathname that can be invoked as a
-command or referenced as a file.
+ "1\f2\f3\f"
+
+Why? Because C<nasty_break()> modifies C<$\> without localizing it
+first. The value you set in C<nasty_break()> is still there when you
+return. The fix is to add C<local()> so the value doesn't leak out of
+C<nasty_break()>:
+
+ local $\ = "\f";
+
+It's easy to notice the problem in such a short example, but in more
+complicated code you are looking for trouble if you don't localize
+changes to the special variables.
+
+=over 8
+
+=item $ARGV
+X<$ARGV>
+
+Contains the name of the current file when reading from C<< <> >>.
+
+=item @ARGV
+X<@ARGV>
- use Config;
- $secure_perl_path = $Config{perlpath};
- if ($^O ne 'VMS')
- {$secure_perl_path .= $Config{_exe}
- unless $secure_perl_path =~ m/$Config{_exe}$/i;}
+The array C<@ARGV> contains the command-line arguments intended for
+the script. C<$#ARGV> is generally the number of arguments minus
+one, because C<$ARGV[0]> is the first argument, I<not> the program's
+command name itself. See C<$0> for the command name.
=item ARGV
X<ARGV>
@@ -1448,333 +1523,593 @@ passing C<\*ARGV> as a parameter to a function that expects a filehandle
may not cause your function to automatically read the contents of all the
files in C<@ARGV>.
-=item $ARGV
-X<$ARGV>
-
-contains the name of the current file when reading from <>.
-
-=item @ARGV
-X<@ARGV>
-
-The array @ARGV contains the command-line arguments intended for
-the script. C<$#ARGV> is generally the number of arguments minus
-one, because C<$ARGV[0]> is the first argument, I<not> the program's
-command name itself. See C<$0> for the command name.
-
=item ARGVOUT
X<ARGVOUT>
The special filehandle that points to the currently open output file
-when doing edit-in-place processing with B<-i>. Useful when you have
-to do a lot of inserting and don't want to keep modifying $_. See
+when doing edit-in-place processing with B<-i>. Useful when you have
+to do a lot of inserting and don't want to keep modifying C<$_>. See
L<perlrun> for the B<-i> switch.
-=item @F
-X<@F>
+=item Handle->output_field_separator( EXPR )
-The array @F contains the fields of each line read in when autosplit
-mode is turned on. See L<perlrun> for the B<-a> switch. This array
-is package-specific, and must be declared or given a full package name
-if not in package main when running under C<strict 'vars'>.
+=item $OUTPUT_FIELD_SEPARATOR
-=item @INC
-X<@INC>
+=item $OFS
-The array @INC contains the list of places that the C<do EXPR>,
-C<require>, or C<use> constructs look for their library files. It
-initially consists of the arguments to any B<-I> command-line
-switches, followed by the default Perl library, probably
-F</usr/local/lib/perl>, followed by ".", to represent the current
-directory. ("." will not be appended if taint checks are enabled, either by
-C<-T> or by C<-t>.) If you need to modify this at runtime, you should use
-the C<use lib> pragma to get the machine-dependent library properly
-loaded also:
+=item $,
+X<$,> X<$OFS> X<$OUTPUT_FIELD_SEPARATOR>
- use lib '/mypath/libdir/';
- use SomeMod;
+The output field separator for the print operator. If defined, this
+value is printed between each of print's arguments. Default is C<undef>.
-You can also insert hooks into the file inclusion system by putting Perl
-code directly into @INC. Those hooks may be subroutine references, array
-references or blessed objects. See L<perlfunc/require> for details.
+Mnemonic: what is printed when there is a "," in your print statement.
-=item @ARG
+=item HANDLE->input_line_number( EXPR )
-=item @_
-X<@_> X<@ARG>
+=item $INPUT_LINE_NUMBER
-Within a subroutine the array @_ contains the parameters passed to that
-subroutine. See L<perlsub>.
+=item $NR
-=item %INC
-X<%INC>
+=item $.
+X<$.> X<$NR> X<$INPUT_LINE_NUMBER> X<line number>
-The hash %INC contains entries for each filename included via the
-C<do>, C<require>, or C<use> operators. The key is the filename
-you specified (with module names converted to pathnames), and the
-value is the location of the file found. The C<require>
-operator uses this hash to determine whether a particular file has
-already been included.
+Current line number for the last filehandle accessed.
-If the file was loaded via a hook (e.g. a subroutine reference, see
-L<perlfunc/require> for a description of these hooks), this hook is
-by default inserted into %INC in place of a filename. Note, however,
-that the hook may have set the %INC entry by itself to provide some more
-specific info.
+Each filehandle in Perl counts the number of lines that have been read
+from it. (Depending on the value of C<$/>, Perl's idea of what
+constitutes a line may not match yours.) When a line is read from a
+filehandle (via C<readline()> or C<< <> >>), or when C<tell()> or
+C<seek()> is called on it, C<$.> becomes an alias to the line counter
+for that filehandle.
-=item %ENV
+You can adjust the counter by assigning to C<$.>, but this will not
+actually move the seek pointer. I<Localizing C<$.> will not localize
+the filehandle's line count>. Instead, it will localize perl's notion
+of which filehandle C<$.> is currently aliased to.
-=item $ENV{expr}
-X<%ENV>
+C<$.> is reset when the filehandle is closed, but B<not> when an open
+filehandle is reopened without an intervening C<close()>. For more
+details, see L<perlop/"IE<sol>O Operators">. Because C<< <> >> never does
+an explicit close, line numbers increase across C<ARGV> files (but see
+examples in L<perlfunc/eof>).
-The hash %ENV contains your current environment. Setting a
-value in C<ENV> changes the environment for any child processes
-you subsequently fork() off.
+You can also use C<< HANDLE->input_line_number(EXPR) >> to access the
+line counter for a given filehandle without having to worry about
+which handle you last accessed.
-=item %SIG
+Mnemonic: many programs use "." to mean the current line number.
-=item $SIG{expr}
-X<%SIG>
+=item HANDLE->input_record_separator( EXPR )
-The hash C<%SIG> contains signal handlers for signals. For example:
+=item $INPUT_RECORD_SEPARATOR
- sub handler { # 1st argument is signal name
- my($sig) = @_;
- print "Caught a SIG$sig--shutting down\n";
- close(LOG);
- exit(0);
- }
+=item $RS
- $SIG{'INT'} = \&handler;
- $SIG{'QUIT'} = \&handler;
- ...
- $SIG{'INT'} = 'DEFAULT'; # restore default action
- $SIG{'QUIT'} = 'IGNORE'; # ignore SIGQUIT
+=item $/
+X<$/> X<$RS> X<$INPUT_RECORD_SEPARATOR>
-Using a value of C<'IGNORE'> usually has the effect of ignoring the
-signal, except for the C<CHLD> signal. See L<perlipc> for more about
-this special case.
+The input record separator, newline by default. This influences Perl's
+idea of what a "line" is. Works like B<awk>'s RS variable, including
+treating empty lines as a terminator if set to the null string (an
+empty line cannot contain any spaces or tabs). You may set it to a
+multi-character string to match a multi-character terminator, or to
+C<undef> to read through the end of file. Setting it to C<"\n\n">
+means something slightly different than setting to C<"">, if the file
+contains consecutive empty lines. Setting to C<""> will treat two or
+more consecutive empty lines as a single empty line. Setting to
+C<"\n\n"> will blindly assume that the next input character belongs to
+the next paragraph, even if it's a newline.
-Here are some other examples:
+ local $/; # enable "slurp" mode
+ local $_ = <FH>; # whole file now here
+ s/\n[ \t]+/ /g;
- $SIG{"PIPE"} = "Plumber"; # assumes main::Plumber (not recommended)
- $SIG{"PIPE"} = \&Plumber; # just fine; assume current Plumber
- $SIG{"PIPE"} = *Plumber; # somewhat esoteric
- $SIG{"PIPE"} = Plumber(); # oops, what did Plumber() return??
+Remember: the value of C<$/> is a string, not a regex. B<awk> has to
+be better for something. :-)
-Be sure not to use a bareword as the name of a signal handler,
-lest you inadvertently call it.
+Setting C<$/> to a reference to an integer, scalar containing an
+integer, or scalar that's convertible to an integer will attempt to
+read records instead of lines, with the maximum record size being the
+referenced integer. So this:
-If your system has the sigaction() function then signal handlers are
-installed using it. This means you get reliable signal handling.
+ local $/ = \32768; # or \"32768", or \$var_containing_32768
+ open my $fh, "<", $myfile or die $!;
+ local $_ = <$fh>;
-The default delivery policy of signals changed in Perl 5.8.0 from
-immediate (also known as "unsafe") to deferred, also known as
-"safe signals". See L<perlipc> for more information.
+will read a record of no more than 32768 bytes from FILE. If you're
+not reading from a record-oriented file (or your OS doesn't have
+record-oriented files), then you'll likely get a full chunk of data
+with every read. If a record is larger than the record size you've
+set, you'll get the record back in pieces. Trying to set the record
+size to zero or less will cause reading in the (rest of the) whole file.
-Certain internal hooks can be also set using the %SIG hash. The
-routine indicated by C<$SIG{__WARN__}> is called when a warning message is
-about to be printed. The warning message is passed as the first
-argument. The presence of a C<__WARN__> hook causes the ordinary printing
-of warnings to C<STDERR> to be suppressed. You can use this to save warnings
-in a variable, or turn warnings into fatal errors, like this:
+On VMS, record reads are done with the equivalent of C<sysread>,
+so it's best not to mix record and non-record reads on the same
+file. (This is unlikely to be a problem, because any file you'd
+want to read in record mode is probably unusable in line mode.)
+Non-VMS systems do normal I/O, so it's safe to mix record and
+non-record reads of a file.
- local $SIG{__WARN__} = sub { die $_[0] };
- eval $proggie;
+See also L<perlport/"Newlines">. Also see C<$.>.
-As the C<'IGNORE'> hook is not supported by C<__WARN__>, you can
-disable warnings using the empty subroutine:
+Mnemonic: / delimits line boundaries when quoting poetry.
- local $SIG{__WARN__} = sub {};
+=item Handle->output_record_separator( EXPR )
-The routine indicated by C<$SIG{__DIE__}> is called when a fatal exception
-is about to be thrown. The error message is passed as the first
-argument. When a C<__DIE__> hook routine returns, the exception
-processing continues as it would have in the absence of the hook,
-unless the hook routine itself exits via a C<goto>, a loop exit, or a C<die()>.
-The C<__DIE__> handler is explicitly disabled during the call, so that you
-can die from a C<__DIE__> handler. Similarly for C<__WARN__>.
+=item $OUTPUT_RECORD_SEPARATOR
-Due to an implementation glitch, the C<$SIG{__DIE__}> hook is called
-even inside an eval(). Do not use this to rewrite a pending exception
-in C<$@>, or as a bizarre substitute for overriding C<CORE::GLOBAL::die()>.
-This strange action at a distance may be fixed in a future release
-so that C<$SIG{__DIE__}> is only called if your program is about
-to exit, as was the original intent. Any other use is deprecated.
-
-C<__DIE__>/C<__WARN__> handlers are very special in one respect:
-they may be called to report (probable) errors found by the parser.
-In such a case the parser may be in inconsistent state, so any
-attempt to evaluate Perl code from such a handler will probably
-result in a segfault. This means that warnings or errors that
-result from parsing Perl should be used with extreme caution, like
-this:
-
- require Carp if defined $^S;
- Carp::confess("Something wrong") if defined &Carp::confess;
- die "Something wrong, but could not load Carp to give backtrace...
- To see backtrace try starting Perl with -MCarp switch";
-
-Here the first line will load Carp I<unless> it is the parser who
-called the handler. The second line will print backtrace and die if
-Carp was available. The third line will be executed only if Carp was
-not available.
+=item $ORS
-See L<perlfunc/die>, L<perlfunc/warn>, L<perlfunc/eval>, and
-L<warnings> for additional information.
+=item $\
+X<$\> X<$ORS> X<$OUTPUT_RECORD_SEPARATOR>
+
+The output record separator for the print operator. If defined, this
+value is printed after the last of print's arguments. Default is C<undef>.
+
+Mnemonic: you set C<$\> instead of adding "\n" at the end of the print.
+Also, it's just like C<$/>, but it's what you get "back" from Perl.
+
+=item HANDLE->autoflush( EXPR )
+
+=item $OUTPUT_AUTOFLUSH
+
+=item $|
+X<$|> X<autoflush> X<flush> X<$OUTPUT_AUTOFLUSH>
+
+If set to nonzero, forces a flush right away and after every write or
+print on the currently selected output channel. Default is 0
+(regardless of whether the channel is really buffered by the system or
+not; C<$|> tells you only whether you've asked Perl explicitly to
+flush after each write). STDOUT will typically be line buffered if
+output is to the terminal and block buffered otherwise. Setting this
+variable is useful primarily when you are outputting to a pipe or
+socket, such as when you are running a Perl program under B<rsh> and
+want to see the output as it's happening. This has no effect on input
+buffering. See L<perlfunc/getc> for that. See L<perlfunc/select> on
+how to select the output channel. See also L<IO::Handle>.
+
+Mnemonic: when you want your pipes to be piping hot.
=back
-=head2 Names that are no longer special
+=head3 Variables related to formats
-These variables had special meaning in prior versions of Perl but now
-have no effect and will cause warnings if used. They are included
-here for historical reference.
+The special variables for formats are a subset of those for
+filehandles. See L<perlform> for more information about Perl's
+formats.
=over 8
-=item $#
-X<$#>
+=item $ACCUMULATOR
-C<$#> used to be a variable that could be used to format printed numbers.
-After a deprecation cycle, its magic was removed in Perl 5.10 and using it
-now triggers a warning: C<$# is no longer supported>.
+=item $^A
+X<$^A> X<$ACCUMULATOR>
-C<$#> is also used as sigil, which, when prepended on the name of an
-array, gives the index of the last element in that array.
+The current value of the C<write()> accumulator for C<format()> lines.
+A format contains C<formline()> calls that put their result into
+C<$^A>. After calling its format, C<write()> prints out the contents
+of C<$^A> and empties. So you never really see the contents of C<$^A>
+unless you call C<formline()> yourself and then look at it. See
+L<perlform> and L<perlfunc/"formline PICTURE,LIST">.
- my @array = ("a", "b", "c");
- my $last_index = $#array; # $last_index is 2
+=item HANDLE->format_formfeed(EXPR)
- for my $i (0 .. $#array) {
- print "The value of index $i is $array[$i]\n";
- }
+=item $FORMAT_FORMFEED
-Also see L<perldata>.
+=item $^L
+X<$^L> X<$FORMAT_FORMFEED>
-=item $*
-X<$*>
+What formats output as a form feed. The default is C<\f>.
-C<$*> used to be a variable that enabled multiline matching.
-After a deprecation cycle, its magic was removed in Perl 5.10.
-Using it now triggers a warning: C<$* is no longer supported>.
-Use the C</s> and C</m> regexp modifiers instead.
+=item HANDLE->format_page_number(EXPR)
+
+=item $FORMAT_PAGE_NUMBER
+
+=item $%
+X<$%> X<$FORMAT_PAGE_NUMBER>
+
+The current page number of the currently selected output channel.
+
+Mnemonic: C<%> is page number in B<nroff>.
+
+=item HANDLE->format_lines_left(EXPR)
+
+=item $FORMAT_LINES_LEFT
+
+=item $-
+X<$-> X<$FORMAT_LINES_LEFT>
+
+The number of lines left on the page of the currently selected output
+channel.
+
+Mnemonic: lines_on_page - lines_printed.
+
+=item Handle->format_line_break_characters EXPR
+
+=item $FORMAT_LINE_BREAK_CHARACTERS
+
+=item $:
+X<$:> X<FORMAT_LINE_BREAK_CHARACTERS>
+
+The current set of characters after which a string may be broken to
+fill continuation fields (starting with C<^>) in a format. The default is
+S<" \n-">, to break on a space, newline, or a hyphen.
+
+Mnemonic: a "colon" in poetry is a part of a line.
+
+=item HANDLE->format_lines_per_page(EXPR)
+
+=item $FORMAT_LINES_PER_PAGE
+
+=item $=
+X<$=> X<$FORMAT_LINES_PER_PAGE>
+
+The current page length (printable lines) of the currently selected
+output channel. The default is 60.
+
+Mnemonic: = has horizontal lines.
+
+=item HANDLE->format_top_name(EXPR)
+
+=item $FORMAT_TOP_NAME
+
+=item $^
+X<$^> X<$FORMAT_TOP_NAME>
+
+The name of the current top-of-page format for the currently selected
+output channel. The default is the name of the filehandle with C<_TOP>
+appended. For example, the default format top name for the C<STDOUT>
+filehanlde is C<STDOUT_TOP>.
+
+Mnemonic: points to top of page.
+
+=item HANDLE->format_name(EXPR)
+
+=item $FORMAT_NAME
+
+=item $~
+X<$~> X<$FORMAT_NAME>
+
+The name of the current report format for the currently selected
+output channel. The default format name is the same as the filehandle
+name. For example, the default format name for the C<STDOUT>
+filehandle is just C<STDOUT>.
-Also see L<perlre>.
+Mnemonic: brother to C<$^>.
=back
-=head2 Error Indicators
+=head2 Error Variables
X<error> X<exception>
The variables C<$@>, C<$!>, C<$^E>, and C<$?> contain information
about different types of error conditions that may appear during
-execution of a Perl program. The variables are shown ordered by
+execution of a Perl program. The variables are shown ordered by
the "distance" between the subsystem which reported the error and
-the Perl process. They correspond to errors detected by the Perl
+the Perl process. They correspond to errors detected by the Perl
interpreter, C library, operating system, or an external program,
respectively.
To illustrate the differences between these variables, consider the
-following Perl expression, which uses a single-quoted string:
+following Perl expression, which uses a single-quoted string. After
+execution of this statement, perl may have set all four special error
+variables:
+
+ eval q{
+ open my $pipe, "/cdrom/install |" or die $!;
+ my @res = <$pipe>;
+ close $pipe or die "bad pipe: $?, $!";
+ };
+
+When perl executes the C<eval()> expression, it translates the
+C<open()>, C<< <PIPE> >>, and C<close> calls in the C run-time library
+and thence to the operating system kernel. perl sets C<$!> to
+the C library's C<errno> if one of these calls fails.
+
+C<$@> is set if the string to be C<eval>-ed did not compile (this may
+happen if C<open> or C<close> were imported with bad prototypes), or
+if Perl code executed during evaluation C<die()>d. In these cases the
+value of C<$@> is the compile error, or the argument to C<die> (which
+will interpolate C<$!> and C<$?>). (See also L<Fatal>, though.)
+
+Under a few operating systems, C<$^E> may contain a more verbose error
+indicator, such as in this case, "CDROM tray not closed." Systems that
+do not support extended error messages leave C<$^E> the same as C<$!>.
- eval q{
- open my $pipe, "/cdrom/install |" or die $!;
- my @res = <$pipe>;
- close $pipe or die "bad pipe: $?, $!";
- };
+Finally, C<$?> may be set to non-0 value if the external program
+F</cdrom/install> fails. The upper eight bits reflect specific error
+conditions encountered by the program (the program's C<exit()> value).
+The lower eight bits reflect mode of failure, like signal death and
+core dump information. See C<wait(2)> for details. In contrast to
+C<$!> and C<$^E>, which are set only if error condition is detected,
+the variable C<$?> is set on each C<wait> or pipe C<close>,
+overwriting the old value. This is more like C<$@>, which on every
+C<eval()> is always set on failure and cleared on success.
+
+For more details, see the individual descriptions at C<$@>, C<$!>,
+C<$^E>, and C<$?>.
-After execution of this statement all 4 variables may have been set.
+=over 8
-C<$@> is set if the string to be C<eval>-ed did not compile (this
-may happen if C<open> or C<close> were imported with bad prototypes),
-or if Perl code executed during evaluation die()d . In these cases
-the value of $@ is the compile error, or the argument to C<die>
-(which will interpolate C<$!> and C<$?>). (See also L<Fatal>,
-though.)
+=item ${^CHILD_ERROR_NATIVE}
+X<$^CHILD_ERROR_NATIVE>
-When the eval() expression above is executed, open(), C<< <PIPE> >>,
-and C<close> are translated to calls in the C run-time library and
-thence to the operating system kernel. C<$!> is set to the C library's
-C<errno> if one of these calls fails.
+The native status returned by the last pipe close, backtick (C<``>)
+command, successful call to C<wait()> or C<waitpid()>, or from the
+C<system()> operator. On POSIX-like systems this value can be decoded
+with the WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED,
+WSTOPSIG and WIFCONTINUED functions provided by the L<POSIX> module.
-Under a few operating systems, C<$^E> may contain a more verbose
-error indicator, such as in this case, "CDROM tray not closed."
-Systems that do not support extended error messages leave C<$^E>
-the same as C<$!>.
+Under VMS this reflects the actual VMS exit status; i.e. it is the
+same as C<$?> when the pragma C<use vmsish 'status'> is in effect.
-Finally, C<$?> may be set to non-0 value if the external program
-F</cdrom/install> fails. The upper eight bits reflect specific
-error conditions encountered by the program (the program's exit()
-value). The lower eight bits reflect mode of failure, like signal
-death and core dump information See wait(2) for details. In
-contrast to C<$!> and C<$^E>, which are set only if error condition
-is detected, the variable C<$?> is set on each C<wait> or pipe
-C<close>, overwriting the old value. This is more like C<$@>, which
-on every eval() is always set on failure and cleared on success.
+This variable was added in Perl 5.8.9.
-For more details, see the individual descriptions at C<$@>, C<$!>, C<$^E>,
-and C<$?>.
+=item $EXTENDED_OS_ERROR
-=head2 Technical Note on the Syntax of Variable Names
+=item $^E
+X<$^E> X<$EXTENDED_OS_ERROR>
-Variable names in Perl can have several formats. Usually, they
-must begin with a letter or underscore, in which case they can be
-arbitrarily long (up to an internal limit of 251 characters) and
-may contain letters, digits, underscores, or the special sequence
-C<::> or C<'>. In this case, the part before the last C<::> or
-C<'> is taken to be a I<package qualifier>; see L<perlmod>.
+Error information specific to the current operating system. At the
+moment, this differs from C<$!> under only VMS, OS/2, and Win32 (and
+for MacPerl). On all other platforms, C<$^E> is always just the same
+as C<$!>.
-Perl variable names may also be a sequence of digits or a single
-punctuation or control character. These names are all reserved for
-special uses by Perl; for example, the all-digits names are used
-to hold data captured by backreferences after a regular expression
-match. Perl has a special syntax for the single-control-character
-names: It understands C<^X> (caret C<X>) to mean the control-C<X>
-character. For example, the notation C<$^W> (dollar-sign caret
-C<W>) is the scalar variable whose name is the single character
-control-C<W>. This is better than typing a literal control-C<W>
-into your program.
+Under VMS, C<$^E> provides the VMS status value from the last system
+error. This is more specific information about the last system error
+than that provided by C<$!>. This is particularly important when C<$!>
+is set to B<EVMSERR>.
-Finally, new in Perl 5.6, Perl variable names may be alphanumeric
-strings that begin with control characters (or better yet, a caret).
-These variables must be written in the form C<${^Foo}>; the braces
-are not optional. C<${^Foo}> denotes the scalar variable whose
-name is a control-C<F> followed by two C<o>'s. These variables are
-reserved for future special uses by Perl, except for the ones that
-begin with C<^_> (control-underscore or caret-underscore). No
-control-character name that begins with C<^_> will acquire a special
-meaning in any future version of Perl; such names may therefore be
-used safely in programs. C<$^_> itself, however, I<is> reserved.
+Under OS/2, C<$^E> is set to the error code of the last call to OS/2
+API either via CRT, or directly from perl.
-Perl identifiers that begin with digits, control characters, or
-punctuation characters are exempt from the effects of the C<package>
-declaration and are always forced to be in package C<main>; they are
-also exempt from C<strict 'vars'> errors. A few other names are also
-exempt in these ways:
+Under Win32, C<$^E> always returns the last error information reported
+by the Win32 call C<GetLastError()> which describes the last error
+from within the Win32 API. Most Win32-specific code will report errors
+via C<$^E>. ANSI C and Unix-like calls set C<errno> and so most
+portable Perl code will report errors via C<$!>.
- ENV STDIN
- INC STDOUT
- ARGV STDERR
- ARGVOUT _
- SIG
+Caveats mentioned in the description of C<$!> generally apply to
+C<$^E>, also.
-In particular, the new special C<${^_XYZ}> variables are always taken
-to be in package C<main>, regardless of any C<package> declarations
-presently in scope.
+This variable was added in Perl 5.003.
-=head1 BUGS
+Mnemonic: Extra error explanation.
-Due to an unfortunate accident of Perl's implementation, C<use
-English> imposes a considerable performance penalty on all regular
-expression matches in a program, regardless of whether they occur
-in the scope of C<use English>. For that reason, saying C<use
-English> in libraries is strongly discouraged. See the
-Devel::SawAmpersand module documentation from CPAN
-( http://www.cpan.org/modules/by-module/Devel/ )
-for more information. Writing C<use English '-no_match_vars';>
-avoids the performance penalty.
+=item $EXCEPTIONS_BEING_CAUGHT
-Having to even think about the C<$^S> variable in your exception
-handlers is simply wrong. C<$SIG{__DIE__}> as currently implemented
-invites grievous and difficult to track down errors. Avoid it
-and use an C<END{}> or CORE::GLOBAL::die override instead.
+=item $^S
+X<$^S> X<$EXCEPTIONS_BEING_CAUGHT>
+
+Current state of the interpreter.
+
+ $^S State
+ --------- -------------------
+ undef Parsing module/eval
+ true (1) Executing an eval
+ false (0) Otherwise
+
+The first state may happen in C<$SIG{__DIE__}> and C<$SIG{__WARN__}>
+handlers.
+
+This variable was added in Perl 5.004.
+
+=item $WARNING
+
+=item $^W
+X<$^W> X<$WARNING>
+
+The current value of the warning switch, initially true if B<-w> was
+used, false otherwise, but directly modifiable.
+
+See also L<warnings>.
+
+Mnemonic: related to the B<-w> switch.
+
+=item ${^WARNING_BITS}
+X<${^WARNING_BITS}>
+
+The current set of warning checks enabled by the C<use warnings> pragma.
+See the documentation of C<warnings> for more details.
+
+This variable was added in Perl 5.10.
+
+=item $OS_ERROR
+
+=item $ERRNO
+
+=item $!
+X<$!> X<$ERRNO> X<$OS_ERROR>
+
+If used numerically, yields the current value of the C C<errno>
+variable, or in other words, if a system or library call fails, it
+sets this variable. This means that the value of C<$!> is meaningful
+only I<immediately> after a B<failure>:
+
+ if (open my $fh, "<", $filename) {
+ # Here $! is meaningless.
+ ...
+ }
+ else {
+ # ONLY here is $! meaningful.
+ ...
+ # Already here $! might be meaningless.
+ }
+ # Since here we might have either success or failure,
+ # here $! is meaningless.
+
+The I<meaningless> stands for anything: zero, non-zero,
+C<undef>. A successful system or library call does B<not> set the
+variable to zero.
+
+If used as a string, yields the corresponding system error string. You
+can assign a number to C<$!> to set I<errno> if, for instance, you
+want C<"$!"> to return the string for error I<n>, or you want to set
+the exit value for the C<die()> operator.
+
+Mnemonic: What just went bang?
+
+=item %OS_ERROR
+
+=item %ERRNO
+
+=item %!
+X<%!> X<%OS_ERROR> X<%ERRNO>
+
+Each element of C<%!> has a true value only if C<$!> is set to that
+value. For example, C<$!{ENOENT}> is true if and only if the current
+value of C<$!> is C<ENOENT>; that is, if the most recent error was "No
+such file or directory" (or its moral equivalent: not all operating
+systems give that exact error, and certainly not all languages). To
+check if a particular key is meaningful on your system, use C<exists
+$!{the_key}>; for a list of legal keys, use C<keys %!>. See L<Errno>
+for more information, and also see L</$!>.
+
+This variable was added in Perl 5.005.
+
+=item $CHILD_ERROR
+
+=item $?
+X<$?> X<$CHILD_ERROR>
+
+The status returned by the last pipe close, backtick (C<``>) command,
+successful call to C<wait()> or C<waitpid()>, or from the C<system()>
+operator. This is just the 16-bit status word returned by the
+traditional Unix C<wait()> system call (or else is made up to look
+like it). Thus, the exit value of the subprocess is really (C<<< $? >>
+8 >>>), and C<$? & 127> gives which signal, if any, the process died
+from, and C<$? & 128> reports whether there was a core dump.
+
+Additionally, if the C<h_errno> variable is supported in C, its value
+is returned via C<$?> if any C<gethost*()> function fails.
+
+If you have installed a signal handler for C<SIGCHLD>, the
+value of C<$?> will usually be wrong outside that handler.
+
+Inside an C<END> subroutine C<$?> contains the value that is going to be
+given to C<exit()>. You can modify C<$?> in an C<END> subroutine to
+change the exit status of your program. For example:
+
+ END {
+ $? = 1 if $? == 255; # die would make it 255
+ }
+
+Under VMS, the pragma C<use vmsish 'status'> makes C<$?> reflect the
+actual VMS exit status, instead of the default emulation of POSIX
+status; see L<perlvms/$?> for details.
+
+Mnemonic: similar to B<sh> and B<ksh>.
+
+=item $EVAL_ERROR
+
+=item $@
+X<$@> X<$EVAL_ERROR>
+
+The Perl syntax error message from the last C<eval()> operator. If C<$@> is
+the null string, the last C<eval()> parsed and executed correctly
+(although the operations you invoked may have failed in the normal
+fashion).
+
+Warning messages are not collected in this variable. You can, however,
+set up a routine to process warnings by setting C<$SIG{__WARN__}> as
+described in L</%SIG>.
+
+Mnemonic: Where was the syntax error "at"?
+
+=back
+
+=head2 Deprecated and removed variables
+
+Deprecating a variable announces the intent of the perl maintainers to
+eventually remove the variable from the langauge. It may still be
+available despite its status. Using a deprecated variable triggers
+a warning.
+
+Once a variable is removed, its use triggers an error telling you
+the variable is unsupported.
+
+See L<perldiag> for details about error messages.
+
+=over 8
+
+=item $OFMT
+
+=item $#
+X<$#> X<$OFMT>
+
+C<$#> was a variable that you could be use to format printed numbers.
+After a deprecation cycle, its magic was removed in Perl 5.10 and
+using it now triggers a warning: C<$# is no longer supported>.
+
+This is not the sigil you use in front of an array name to get the
+last index, like C<$#array>. That's still how you get the last index
+of an array in Perl. The two have nothing to do with each other.
+
+Deprecated in Perl 5.
+
+Removed in Perl 5.10.
+
+=item $*
+X<$*>
+
+C<$*> was a variable that you could use to enable multiline matching.
+After a deprecation cycle, its magic was removed in Perl 5.10.
+Using it now triggers a warning: C<$* is no longer supported>.
+You should use the C</s> and C</m> regexp modifiers instead.
+
+Deprecated in Perl 5.
+
+Removed in Perl 5.10.
+
+=item $ARRAY_BASE
+
+=item $[
+X<$[> X<$ARRAY_BASE>
+
+This variable stores the index of the first element in an array, and
+of the first character in a substring. The default is 0, but you could
+theoretically set it to 1 to make Perl behave more like B<awk> (or Fortran)
+when subscripting and when evaluating the index() and substr() functions.
+
+As of release 5 of Perl, assignment to C<$[> is treated as a compiler
+directive, and cannot influence the behavior of any other file.
+(That's why you can only assign compile-time constants to it.)
+Its use is highly discouraged.
+
+Prior to Perl 5.10, assignment to C<$[> could be seen from outer lexical
+scopes in the same file, unlike other compile-time directives (such as
+L<strict>). Using local() on it would bind its value strictly to a lexical
+block. Now it is always lexically scoped.
+
+Mnemonic: [ begins subscripts.
+
+Deprecated in Perl 5.12.
+
+=item $OLD_PERL_VERSION
+
+=item $]
+X<$]> X<$OLD_PERL_VERSION>
+
+See C<$^V> for a more modern representation of the Perl version that allows
+accurate string comparisons.
+
+The version + patchlevel / 1000 of the Perl interpreter. This variable
+can be used to determine whether the Perl interpreter executing a
+script is in the right range of versions:
+
+ warn "No checksumming!\n" if $] < 3.019;
+
+The floating point representation can sometimes lead to inaccurate
+numeric comparisons.
+
+See also the documentation of C<use VERSION> and C<require VERSION>
+for a convenient way to fail if the running Perl interpreter is too old.
+
+Mnemonic: Is this version of perl in the right bracket?
+
+Deprecated in Perl 5.6.
+
+=back
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod b/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod
index 98fa5ec9cfd..27c3aec7096 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod
@@ -37,7 +37,7 @@ To extract an ASCII tar archive on VM/ESA, try this:
GNU make for VM/ESA, which may be required for the build of perl,
is available from:
- http://vm.marist.edu/~neale/vmoe.html
+L<http://vm.marist.edu/~neale/vmoe.html>
=head2 Configure Perl on VM/ESA
@@ -120,12 +120,21 @@ To subscribe, send an empty message to perl-mvs-subscribe@perl.org.
See also:
- http://lists.perl.org/showlist.cgi?name=perl-mvs
+L<http://lists.perl.org/showlist.cgi?name=perl-mvs>
There are web archives of the mailing list at:
- http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/
- http://archive.develooper.com/perl-mvs@perl.org/
+=over 4
+
+=item *
+
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/>
+
+=item *
+
+L<http://archive.develooper.com/perl-mvs@perl.org/>
+
+=back
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvms.pod b/Master/tlpkg/tlperl/lib/pods/perlvms.pod
index 17175db3bd9..7e96c06b054 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvms.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvms.pod
@@ -265,14 +265,14 @@ created by an older version of an archive utility or a build utility
such as MMK or MMS may generate a filename in all upper case even on an
ODS-5 volume. If this filename is later retrieved by a Perl script or
module in a case preserving environment, that upper case name may not
-match the mixed-case or lower-case expections of the Perl code. Your
+match the mixed-case or lower-case exceptions of the Perl code. Your
best bet is to follow an all-or-nothing approach to case preservation:
either don't use it at all, or make sure your entire toolchain and
application environment support and use it.
OpenVMS Alpha v7.3-1 and later and all version of OpenVMS I64 support
case sensitivity as a process setting (see C<SET PROCESS
-/CASE_LOOKUP=SENSITIVE>). Perl does not currently suppport case
+/CASE_LOOKUP=SENSITIVE>). Perl does not currently support case
sensitivity on VMS, but it may in the future, so Perl programs should
use the C<< File::Spec->case_tolerant >> method to determine the state, and
not the C<$^O> variable.
@@ -848,10 +848,10 @@ Therefore, the "system time" elements will always be 0, since
there is no difference between "user time" and "system" time
under VMS, and the time accumulated by a subprocess may or may
not appear separately in the "child time" field, depending on
-whether L<times> keeps track of subprocesses separately. Note
+whether C<times()> keeps track of subprocesses separately. Note
especially that the VAXCRTL (at least) keeps track only of
-subprocesses spawned using L<fork> and L<exec>; it will not
-accumulate the times of subprocesses spawned via pipes, L<system>,
+subprocesses spawned using C<fork()> and C<exec()>; it will not
+accumulate the times of subprocesses spawned via pipes, C<system()>,
or backticks.
=item unlink LIST
@@ -1188,7 +1188,7 @@ consequence of ignoring this advice will be undefined to allow future
improvements in the POSIX exit handling.
In general, with C<PERL_VMS_POSIX_EXIT> enabled, more detailed information
-will be availble in the exit status for DCL scripts or other native VMS tools,
+will be available in the exit status for DCL scripts or other native VMS tools,
and will give the expected information for Posix programs. It has not been
made the default in order to preserve backward compatibility.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlwin32.pod b/Master/tlpkg/tlperl/lib/pods/perlwin32.pod
index f9c3353b6d7..67869cac6cc 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlwin32.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlwin32.pod
@@ -8,8 +8,7 @@ perlwin32 - Perl under Windows
=head1 SYNOPSIS
-These are instructions for building Perl under Windows 9x/NT/2000/XP
-on the Intel x86 and Itanium architectures.
+These are instructions for building Perl under Windows 2000 and later.
=head1 DESCRIPTION
@@ -26,56 +25,62 @@ only relevant to people building Perl on Unix-like systems. In
particular, you can safely ignore any information that talks about
"Configure".
-You may also want to look at two other options for building
-a perl that will work on Windows NT: the README.cygwin and
-README.os2 files, each of which give a different set of rules to
-build a Perl that will work on Win32 platforms. Those two methods
-will probably enable you to build a more Unix-compatible perl, but
-you will also need to download and use various other build-time and
-run-time support software described in those files.
+You may also want to look at one other option for building a perl that
+will work on Windows: the README.cygwin file, which give a different
+set of rules to build a perl for Windows. This method will probably
+enable you to build a more Unix-compatible perl, but you will also
+need to download and use various other build-time and run-time support
+software described in that file.
This set of instructions is meant to describe a so-called "native"
-port of Perl to Win32 platforms. This includes both 32-bit and
+port of Perl to the Windows platform. This includes both 32-bit and
64-bit Windows operating systems. The resulting Perl requires no
additional software to run (other than what came with your operating
system). Currently, this port is capable of using one of the
following compilers on the Intel x86 architecture:
- Borland C++ version 5.02 or later
- Microsoft Visual C++ version 2.0 or later
- MinGW with gcc gcc version 2.95.2 or later
- Gcc by mingw.org gcc version 2.95.2 or later
+ Borland C++ version 5.02 or later
+ Microsoft Visual C++ version 6.0 or later
+ Gcc by mingw.org gcc version 3.2 or later
Gcc by mingw-w64.sf.net gcc version 4.4.3 or later
Note that the last two of these are actually competing projects both
delivering complete gcc toolchain for MS Windows:
-- http://mingw.org - delivers gcc toolchain targeting 32-bit Windows
- platform.
- Use version 3.2.x or later for the best results with this compiler.
-- http://mingw-w64.sf.net - delivers gcc toolchain targeting both 64-bit
- Windows and 32-bit Windows platforms (despite the project name "mingw-w64"
- they are not only 64-bit oriented). They deliver the native gcc compilers
- + cross-compilers that are also supported by perl's makefile.
+
+=over 4
+
+=item L<http://mingw.org>
+
+Delivers gcc toolchain targeting 32-bit Windows platform.
+
+=item L<http://mingw-w64.sf.net>
+
+Delivers gcc toolchain targeting both 64-bit Windows and 32-bit Windows
+platforms (despite the project name "mingw-w64" they are not only 64-bit
+oriented). They deliver the native gcc compilers and cross-compilers
+that are also supported by perl's makefile.
+
+=back
The Borland C++ and Microsoft Visual C++ compilers are also now being given
away free. The Borland compiler is available as "Borland C++ Compiler Free
Command Line Tools" and is the same compiler that ships with the full
"Borland C++ Builder" product. The Microsoft compiler is available as
-"Visual C++ Toolkit 2003" or "Visual C++ 2005/2008 Express Edition" (and also
-as part of the ".NET Framework SDK") and is the same compiler that ships with
-"Visual C++ .NET 2003 Professional" or "Visual C++ 2005/2008 Professional"
-respectively.
+"Visual C++ Toolkit 2003" or "Visual C++ 2005/2008/2010 Express Edition" (and
+also as part of the ".NET Framework SDK") and is the same compiler that ships
+with "Visual C++ .NET 2003 Professional" or "Visual C++ 2005/2008/2010
+Professional" respectively.
This port can also be built on IA64/AMD64 using:
Microsoft Platform SDK Nov 2001 (64-bit compiler and tools)
MinGW64 compiler (gcc version 4.4.3 or later)
-The MS Platform SDK can be downloaded from http://www.microsoft.com/.
-The MinGW64 compiler is available at http://sourceforge.net/projects/mingw-w64.
+The Windows SDK can be downloaded from L<http://www.microsoft.com/>.
+The MinGW64 compiler is available at L<http://sourceforge.net/projects/mingw-w64>.
The latter is actually a cross-compiler targeting Win64. There's also a trimmed
down compiler (no java, or gfortran) suitable for building perl available at:
-http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-20100123-kmx-v2.zip
+L<http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-20100123-kmx-v2.zip>
NOTE: If you're using a 32-bit compiler to build perl on a 64-bit Windows
operating system, then you should set the WIN64 environment variable to "undef".
@@ -85,24 +90,24 @@ Also, the trimmed down compiler only passes tests when USE_ITHREADS *= define
This port fully supports MakeMaker (the set of modules that
is used to build extensions to perl). Therefore, you should be
able to build and install most extensions found in the CPAN sites.
-See L<Usage Hints for Perl on Win32> below for general hints about this.
+See L<Usage Hints for Perl on Windows> below for general hints about this.
-=head2 Setting Up Perl on Win32
+=head2 Setting Up Perl on Windows
=over 4
=item Make
You need a "make" program to build the sources. If you are using
-Visual C++ or the Platform SDK tools under Windows NT/2000/XP, nmake
-will work. All other builds need dmake.
+Visual C++ or the Windows SDK tools, nmake will work. Builds using
+the Borland compiler or gcc need dmake.
dmake is a freely available make that has very nice macro features
and parallelability.
A port of dmake for Windows is available from:
- http://search.cpan.org/dist/dmake/
+L<http://search.cpan.org/dist/dmake/>
Fetch and install dmake somewhere on your path.
@@ -118,17 +123,11 @@ available in the win32 subdirectory of the Perl source distribution.
=item Command Shell
-Use the default "cmd" shell that comes with NT. Some versions of the
+Use the default "cmd" shell that comes with Windows. Some versions of the
popular 4DOS/NT shell have incompatibilities that may cause you trouble.
If the build fails under that shell, try building again with the cmd
shell.
-The nmake Makefile also has known incompatibilities with the
-"command.com" shell that comes with Windows 9x. You will need to
-use dmake and makefile.mk to build under Windows 9x.
-
-The surest way to build it is on Windows NT/2000/XP, using the cmd shell.
-
Make sure the path to the build directory does not contain spaces. The
build usually works in this circumstance, but some tests will fail.
@@ -144,7 +143,7 @@ See L</"Make"> above.
The nmake that comes with Visual C++ will suffice for building.
You will need to run the VCVARS32.BAT file, usually found somewhere
-like C:\MSDEV4.2\BIN or C:\Program Files\Microsoft Visual Studio\VC98\Bin.
+like C:\Program Files\Microsoft Visual Studio\VC98\Bin.
This will set your build environment.
You can also use dmake to build using Visual C++; provided, however,
@@ -154,31 +153,26 @@ and edit win32/config.vc to change "make=nmake" into "make=dmake". The
latter step is only essential if you want to use dmake as your default
make for building extensions using MakeMaker.
-=item Microsoft Visual C++ 2008 Express Edition
+=item Microsoft Visual C++ 2008/2010 Express Edition
-This free version of Visual C++ 2008 Professional contains the same compiler
-and linker that ship with the full version, and also contains everything
-necessary to build Perl, rather than requiring a separate download of the
-Platform SDK like previous versions did.
+These free versions of Visual C++ 2008/2010 Professional contain the same
+compilers and linkers that ship with the full versions, and also contain
+everything necessary to build Perl, rather than requiring a separate download
+of the Windows SDK like previous versions did.
-This package can be downloaded by searching for "Visual Studio 2008 Express
-Edition" in the Download Center at
-http://www.microsoft.com/downloads/search.aspx?displaylang=en. (Providing exact
+These packages can be downloaded by searching in the Download Center at
+L<http://www.microsoft.com/downloads/search.aspx?displaylang=en>. (Providing exact
links to these packages has proven a pointless task because the links keep on
changing so often.)
-Install Visual C++ 2008, then setup your environment using
+Install Visual C++ 2008/2010 Express, then setup your environment using, e.g.
- C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat
+ C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat
(assuming the default installation location was chosen).
Perl should now build using the win32/Makefile. You will need to edit that
-file to set
-
- CCTYPE = MSVC90FREE
-
-first.
+file to set CCTYPE to MSVC90FREE or MSVC100FREE first.
=item Microsoft Visual C++ 2005 Express Edition
@@ -186,23 +180,19 @@ This free version of Visual C++ 2005 Professional contains the same compiler
and linker that ship with the full version, but doesn't contain everything
necessary to build Perl.
-You will also need to download the "Platform SDK" (the "Core SDK" and "MDAC
+You will also need to download the "Windows SDK" (the "Core SDK" and "MDAC
SDK" components are required) for more header files and libraries.
These packages can both be downloaded by searching in the Download Center at
-http://www.microsoft.com/downloads/search.aspx?displaylang=en. (Providing exact
+L<http://www.microsoft.com/downloads/search.aspx?displaylang=en>. (Providing exact
links to these packages has proven a pointless task because the links keep on
changing so often.)
-Try to obtain the latest version of the Platform SDK. Sometimes these packages
+Try to obtain the latest version of the Windows SDK. Sometimes these packages
contain a particular Windows OS version in their name, but actually work on
other OS versions too. For example, the "Windows Server 2003 R2 Platform SDK"
also runs on Windows XP SP2 and Windows 2000.
-According to the download pages these packages are only supported on Windows
-2000/XP/2003, so trying to use these tools on Windows 95/98/ME and even Windows
-NT probably won't work.
-
Install Visual C++ 2005 first, then the Platform SDK. Setup your environment
as follows (assuming default installation locations were chosen):
@@ -242,19 +232,15 @@ Framework Redistributable" to be installed first. This can be downloaded and
installed separately, but is included in the "Visual C++ Toolkit 2003" anyway.
These packages can all be downloaded by searching in the Download Center at
-http://www.microsoft.com/downloads/search.aspx?displaylang=en. (Providing exact
+L<http://www.microsoft.com/downloads/search.aspx?displaylang=en>. (Providing exact
links to these packages has proven a pointless task because the links keep on
changing so often.)
-Try to obtain the latest version of the Platform SDK. Sometimes these packages
+Try to obtain the latest version of the Windows SDK. Sometimes these packages
contain a particular Windows OS version in their name, but actually work on
other OS versions too. For example, the "Windows Server 2003 R2 Platform SDK"
also runs on Windows XP SP2 and Windows 2000.
-According to the download pages these packages are only supported on Windows
-2000/XP/2003, so trying to use these tools on Windows 95/98/ME and even Windows
-NT probably won't work.
-
Install the Toolkit first, then the Platform SDK, then the .NET Framework SDK.
Setup your environment as follows (assuming default installation locations
were chosen):
@@ -341,55 +327,13 @@ shells available after you install the Platform SDK from the Start Menu.
=item MinGW release 3 with gcc
-The latest release of MinGW at the time of writing is 3.1.0, which contains
-gcc-3.2.3. It can be downloaded here:
-
- http://www.mingw.org/
+Perl can be compiled with gcc from MinGW release 3 and later (using gcc 3.2.x
+and later). It can be downloaded here:
-Perl also compiles with earlier releases of gcc (2.95.2 and up). See below
-for notes about using earlier versions of MinGW/gcc.
-
-And perl also compiles with gcc-4.3.0 and up, and perhaps even some of the
-earlier 4.x.x versions.
+L<http://www.mingw.org/>
You also need dmake. See L</"Make"> above on how to get it.
-=item MinGW release 1 with gcc
-
-The MinGW-1.1 bundle contains gcc-2.95.3.
-
-Make sure you install the binaries that work with MSVCRT.DLL as indicated
-in the README for the GCC bundle. You may need to set up a few environment
-variables (usually ran from a batch file).
-
-There are a couple of problems with the version of gcc-2.95.2-msvcrt.exe
-released 7 November 1999:
-
-=over
-
-=item *
-
-It left out a fix for certain command line quotes. To fix this, be sure
-to download and install the file fixes/quote-fix-msvcrt.exe from the above
-ftp location.
-
-=item *
-
-The definition of the fpos_t type in stdio.h may be wrong. If your
-stdio.h has this problem, you will see an exception when running the
-test t/lib/io_xs.t. To fix this, change the typedef for fpos_t from
-"long" to "long long" in the file i386-mingw32msvc/include/stdio.h,
-and rebuild.
-
-=back
-
-A potentially simpler to install (but probably soon-to-be-outdated) bundle
-of the above package with the mentioned fixes already applied is available
-here:
-
- http://downloads.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip
- ftp://ftp.ActiveState.com/pub/staff/gsar/gcc-2.95.2-msvcrt.zip
-
=back
=head2 Building
@@ -400,7 +344,7 @@ here:
Make sure you are in the "win32" subdirectory under the perl toplevel.
This directory contains a "Makefile" that will work with
-versions of nmake that come with Visual C++ or the Platform SDK, and
+versions of nmake that come with Visual C++ or the Windows SDK, and
a dmake "makefile.mk" that will work for all supported compilers. The
defaults in the dmake makefile are setup to build using MinGW/gcc.
@@ -437,19 +381,6 @@ You may also need to comment out the C<DELAYLOAD = ...> line in the
Makefile if you're using VC++ 6.0 without the latest service pack and
the linker reports an internal error.
-If you are using VC++ 4.2 or earlier then you'll have to change the /EHsc
-option in the CXX_FLAG macro to the equivalent /GX option.
-
-If you have either the source or a library that contains des_fcrypt(),
-enable the appropriate option in the makefile. A ready-to-use version
-of fcrypt.c, based on the version originally written by Eric Young at
-ftp://ftp.funet.fi/pub/crypt/mirrors/dsi/libdes/, is bundled with the
-distribution and CRYPT_SRC is set to use it.
-Alternatively, if you have built a library that contains des_fcrypt(),
-you can set CRYPT_LIB to point to the library name.
-Perl will also build without des_fcrypt(), but the crypt() builtin will
-fail at run time.
-
If you want build some core extensions statically into perl's dll, specify
them in the STATIC_EXT macro.
@@ -460,19 +391,18 @@ Be sure to read the instructions near the top of the makefiles carefully.
Type "dmake" (or "nmake" if you are using that make).
This should build everything. Specifically, it will create perl.exe,
-perl512.dll at the perl toplevel, and various other extension dll's
+perl514.dll at the perl toplevel, and various other extension dll's
under the lib\auto directory. If the build fails for any reason, make
sure you have done the previous steps correctly.
=back
-=head2 Testing Perl on Win32
+=head2 Testing Perl on Windows
Type "dmake test" (or "nmake test"). This will run most of the tests from
the testsuite (many tests will be skipped).
-There should be no test failures when running under Windows NT/2000/XP.
-Many tests I<will> fail under Windows 9x due to the inferior command shell.
+There should be no test failures.
Some test failures may occur if you use a command shell other than the
native "cmd.exe", or if you are building from a path that contains
@@ -485,7 +415,7 @@ If you're using the Borland compiler, you may see a failure in op/taint.t
arising from the inability to find the Borland Runtime DLLs on the system
default path. You will need to copy the DLLs reported by the messages
from where Borland chose to install it, into the Windows system directory
-(usually somewhere like C:\WINNT\SYSTEM32) and rerun the test.
+(usually somewhere like C:\WINDOWS\SYSTEM32) and rerun the test.
If you're using Borland compiler versions 5.2 and below, you may run into
problems finding the correct header files when building extensions. For
@@ -507,7 +437,7 @@ avoid these errors.
Please report any other failures as described under L<BUGS AND CAVEATS>.
-=head2 Installation of Perl on Win32
+=head2 Installation of Perl on Windows
Type "dmake install" (or "nmake install"). This will put the newly
built perl and the libraries under whatever C<INST_TOP> points to in the
@@ -527,7 +457,7 @@ C<$INST_TOP\$INST_VER\bin\$ARCHNAME>, e.g.
set PATH=c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH%
-=head2 Usage Hints for Perl on Win32
+=head2 Usage Hints for Perl on Windows
=over 4
@@ -561,7 +491,7 @@ following entries (of type REG_SZ or REG_EXPAND_SZ) may be set:
Note the C<$]> in the above is not literal. Substitute whatever version
of perl you want to honor that entry, e.g. C<5.6.0>. Paths must be
-separated with semicolons, as usual on win32.
+separated with semicolons, as usual on Windows.
=item File Globbing
@@ -581,12 +511,11 @@ with what Windows offers by way of a command shell.
The crucial thing to understand about the Windows environment is that
the command line you type in is processed twice before Perl sees it.
-First, your command shell (usually CMD.EXE on Windows NT, and
-COMMAND.COM on Windows 9x) preprocesses the command line, to handle
-redirection, environment variable expansion, and location of the
-executable to run. Then, the perl executable splits the remaining
-command line into individual arguments, using the C runtime library
-upon which Perl was built.
+First, your command shell (usually CMD.EXE) preprocesses the command
+line, to handle redirection, environment variable expansion, and
+location of the executable to run. Then, the perl executable splits
+the remaining command line into individual arguments, using the
+C runtime library upon which Perl was built.
It is particularly important to note that neither the shell nor the C
runtime do any wildcard expansions of command-line arguments (so
@@ -596,7 +525,7 @@ using a non-standard shell, be inconsistent). The only (useful) quote
character is the double quote ("). It can be used to protect spaces
and other special characters in arguments.
-The Windows NT documentation has almost no description of how the
+The Windows documentation has almost no description of how the
quoting rules are implemented, but here are some general observations
based on experiments: The C runtime breaks arguments at spaces and
passes them to programs in argc/argv. Double quotes can be used to
@@ -655,7 +584,7 @@ Discovering the usefulness of the "command.com" shell on Windows 9x
is left as an exercise to the reader :)
One particularly pernicious problem with the 4NT command shell for
-Windows NT is that it (nearly) always treats a % character as indicating
+Windows is that it (nearly) always treats a % character as indicating
that environment variable expansion is needed. Under this shell, it is
therefore important to always double any % characters which you want
Perl to see (for example, for hash variables), even when they are
@@ -665,11 +594,11 @@ quoted.
The Comprehensive Perl Archive Network (CPAN) offers a wealth
of extensions, some of which require a C compiler to build.
-Look in http://www.cpan.org/ for more information on CPAN.
+Look in L<http://www.cpan.org/> for more information on CPAN.
Note that not all of the extensions available from CPAN may work
-in the Win32 environment; you should check the information at
-http://testers.cpan.org/ before investing too much effort into
+in the Windows environment; you should check the information at
+L<http://testers.cpan.org/> before investing too much effort into
porting modules that don't readily build.
Most extensions (whether they require a C compiler or not) can
@@ -690,12 +619,12 @@ ensure Config.pm knows about it. If you don't have nmake, you can
either get dmake from the location mentioned earlier or get an
old version of nmake reportedly available from:
- http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe
+L<http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe>
Another option is to use the make written in Perl, available from
CPAN.
- http://www.cpan.org/modules/by-module/Make/
+L<http://www.cpan.org/modules/by-module/Make/>
You may also use dmake. See L</"Make"> above on how to get it.
@@ -774,27 +703,6 @@ binary will always expand unquoted command lines, which may not be
what you want if you use a shell that does that for you. The expansion
done is also somewhat less powerful than the approach suggested above.
-=item Win32 Specific Extensions
-
-A number of extensions specific to the Win32 platform are available
-from CPAN. You may find that many of these extensions are meant to
-be used under the Activeware port of Perl, which used to be the only
-native port for the Win32 platform. Since the Activeware port does not
-have adequate support for Perl's extension building tools, these
-extensions typically do not support those tools either and, therefore,
-cannot be built using the generic steps shown in the previous section.
-
-To ensure smooth transitioning of existing code that uses the
-ActiveState port, there is a bundle of Win32 extensions that contains
-all of the ActiveState extensions and several other Win32 extensions from
-CPAN in source form, along with many added bugfixes, and with MakeMaker
-support. The latest version of this bundle is available at:
-
- http://search.cpan.org/dist/libwin32/
-
-See the README in that distribution for building and installation
-instructions.
-
=item Notes on 64-bit Windows
Windows .NET Server supports the LLP64 data model on the Intel Itanium
@@ -842,23 +750,22 @@ Embedding Perl inside a 64-bit application.
Perl scripts on UNIX use the "#!" (a.k.a "shebang") line to
indicate to the OS that it should execute the file using perl.
-Win32 has no comparable means to indicate arbitrary files are
+Windows has no comparable means to indicate arbitrary files are
executables.
Instead, all available methods to execute plain text files on
-Win32 rely on the file "extension". There are three methods
+Windows rely on the file "extension". There are three methods
to use this to execute perl scripts:
=over 8
=item 1
-There is a facility called "file extension associations" that will
-work in Windows NT 4.0. This can be manipulated via the two
-commands "assoc" and "ftype" that come standard with Windows NT
-4.0. Type "ftype /?" for a complete example of how to set this
-up for perl scripts (Say what? You thought Windows NT wasn't
-perl-ready? :).
+There is a facility called "file extension associations". This can be
+manipulated via the two commands "assoc" and "ftype" that come
+standard with Windows. Type "ftype /?" for a complete example of how
+to set this up for perl scripts (Say what? You thought Windows
+wasn't perl-ready? :).
=item 2
@@ -894,7 +801,7 @@ avoids both problems is possible.
A script called "runperl.bat" is available that can be copied
to any filename (along with the .bat suffix). For example,
if you call it "foo.bat", it will run the file "foo" when it is
-executed. Since you can run batch files on Win32 platforms simply
+executed. Since you can run batch files on Windows platforms simply
by typing the name (without the extension), this effectively
runs the file "foo", when you type either "foo" or "foo.bat".
With this method, "foo.bat" can even be in a different location
@@ -916,7 +823,7 @@ system.
C<perldoc> is also a useful tool for browsing information contained
in the documentation, especially in conjunction with a pager
-like C<less> (recent versions of which have Win32 support). You may
+like C<less> (recent versions of which have Windows support). You may
have to set the PAGER environment variable to use a specific pager.
"perldoc -f foo" will print information about the perl operator
"foo".
@@ -926,7 +833,7 @@ is assuming that Perl's normal behavior of opening a command-line
window will go away. This isn't the case. If you want to start a copy
of C<perl> without opening a command-line window, use the C<wperl>
executable built during the installation process. Usage is exactly
-the same as normal C<perl> on Win32, except that options like C<-h>
+the same as normal C<perl> on Windows, except that options like C<-h>
don't work (since they need a command-line window to print to).
If you find bugs in perl, you can run C<perlbug> to create a
@@ -957,21 +864,15 @@ that will be portable to other environments, see L<perlport>
for a reasonably definitive list of these differences.
Not all extensions available from CPAN may build or work properly
-in the Win32 environment. See L</"Building Extensions">.
+in the Windows environment. See L</"Building Extensions">.
Most C<socket()> related calls are supported, but they may not
behave as on Unix platforms. See L<perlport> for the full list.
-Perl requires Winsock2 to be installed on the system. If you're
-running Win95, you can download Winsock upgrade from here:
-
-http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp
-
-Later OS versions already include Winsock2 support.
Signal handling may not behave as on Unix platforms (where it
doesn't exactly "behave", either :). For instance, calling C<die()>
or C<exit()> from signal handlers will cause an exception, since most
-implementations of C<signal()> on Win32 are severely crippled.
+implementations of C<signal()> on Windows are severely crippled.
Thus, signals may work only for simple things like setting a flag
variable in the handler. Using signals under this port should
currently be considered unsupported.
@@ -997,7 +898,7 @@ of O'Reilly and Associates, Inc. Used with permission.
=item Jan Dubois E<lt>jand@activestate.comE<gt>
-=item Steve Hay E<lt>steve.hay@uk.radan.comE<gt>
+=item Steve Hay E<lt>steve.m.hay@googlemail.comE<gt>
=back
@@ -1026,6 +927,6 @@ Win9x support was added in 5.6 (Benjamin Stuhl).
Support for 64-bit Windows added in 5.8 (ActiveState Corp).
-Last updated: 29 August 2007
+Last updated: 18 November 2010
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlxs.pod b/Master/tlpkg/tlperl/lib/pods/perlxs.pod
index 5f773bbac32..415f2ad2a00 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlxs.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlxs.pod
@@ -74,7 +74,7 @@ See L<perlxstut> for a tutorial on the whole extension creation process.
Note: For some extensions, Dave Beazley's SWIG system may provide a
significantly more convenient mechanism for creating the extension
-glue code. See http://www.swig.org/ for more information.
+glue code. See L<http://www.swig.org/> for more information.
=head2 On The Road
@@ -1434,10 +1434,26 @@ The XS module can use INCLUDE: to pull that file into it.
INCLUDE: Rpcb1.xsh
If the parameters to the INCLUDE: keyword are followed by a pipe (C<|>) then
-the compiler will interpret the parameters as a command.
+the compiler will interpret the parameters as a command. This feature is
+mildly deprecated in favour of the C<INCLUDE_COMMAND:> directive, as documented
+below.
INCLUDE: cat Rpcb1.xsh |
+Do not use this to run perl: C<INCLUDE: perl |> will run the perl that
+happens to be the first in your path and not necessarily the same perl that is
+used to run C<xsubpp>. See L<"The INCLUDE_COMMAND: Keyword">.
+
+=head2 The INCLUDE_COMMAND: Keyword
+
+Runs the supplied command and includes its output into the current XS
+document. C<INCLUDE_COMMAND> assigns special meaning to the C<$^X> token
+in that it runs the same perl interpreter that is running C<xsubpp>:
+
+ INCLUDE_COMMAND: cat Rpcb1.xsh
+
+ INCLUDE_COMMAND: $^X -e ...
+
=head2 The CASE: Keyword
The CASE: keyword allows an XSUB to have multiple distinct parts with each
diff --git a/Master/tlpkg/tlperl/lib/pods/perlxstut.pod b/Master/tlpkg/tlperl/lib/pods/perlxstut.pod
index 62bef3b0c5f..91c13ed358f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlxstut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlxstut.pod
@@ -198,14 +198,6 @@ been deleted):
You can safely ignore the line about "prototyping behavior" - it is
explained in L<perlxs/"The PROTOTYPES: Keyword">.
-If you are on a Win32 system, and the build process fails with linker
-errors for functions in the C library, check if your Perl is configured
-to use PerlCRT (running B<perl -V:libc> should show you if this is the
-case). If Perl is configured to use PerlCRT, you have to make sure
-PerlCRT.lib is copied to the same location that msvcrt.lib lives in,
-so that the compiler can find it on its own. msvcrt.lib is usually
-found in the Visual C compiler's lib directory (e.g. C:/DevStudio/VC/lib).
-
Perl has its own special way of easily writing test scripts, but for this
example only, we'll create our own test script. Create a file called hello
that looks like this:
@@ -228,7 +220,7 @@ and we should see the following output:
=head2 EXAMPLE 2
Now let's add to our extension a subroutine that will take a single numeric
-argument as input and return 0 if the number is even or 1 if the number
+argument as input and return 1 if the number is even or 0 if the number
is odd.
Add the following to the end of Mytest.xs:
@@ -732,7 +724,7 @@ description of an XSUB:
Note that in contrast with L<"EXAMPLE 1">, L<"EXAMPLE 2"> and L<"EXAMPLE 3">,
this description does not contain the actual I<code> for what is done
-is done during a call to Perl function foo(). To understand what is going
+during a call to Perl function foo(). To understand what is going
on here, one can add a CODE section to this XSUB:
double
@@ -1023,8 +1015,8 @@ put these declarations on top.)
This routine also returns a different number of arguments depending on the
success or failure of the call to statfs. If there is an error, the error
number is returned as a single-element array. If the call is successful,
-then a 9-element array is returned. Since only one argument is passed into
-this function, we need room on the stack to hold the 9 values which may be
+then a 7-element array is returned. Since only one argument is passed into
+this function, we need room on the stack to hold the 7 values which may be
returned.
We do this by using the PPCODE: directive, rather than the CODE: directive.
@@ -1133,7 +1125,7 @@ And add the following code to Mytest.t, while incrementing the "11"
tests to "13":
$results = Mytest::multi_statfs([ '/', '/blech' ]);
- ok( ref $results->[0]) );
+ ok( ref $results->[0] );
ok( ! ref $results->[1] );
=head2 New Things in this Example
@@ -1312,7 +1304,7 @@ layer. If it can't find one, it will call C<PerlIO_exportFILE()> to
generate a new stdio C<FILE>. Please only call C<PerlIO_exportFILE()> if
you want a I<new> C<FILE>. It will generate one on each call and push a
new stdio layer. So don't call it repeatedly on the same
-file. C<PerlIO()>_findFILE will retrieve the stdio layer once it has been
+file. C<PerlIO_findFILE()> will retrieve the stdio layer once it has been
generated by C<PerlIO_exportFILE()>.
This applies to the perlio system only. For versions before 5.7,
diff --git a/Master/tlpkg/tlperl/lib/pwd.pl b/Master/tlpkg/tlperl/lib/pwd.pl
index 68b59fcc216..bd8123bb618 100644
--- a/Master/tlpkg/tlperl/lib/pwd.pl
+++ b/Master/tlpkg/tlperl/lib/pwd.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# pwd.pl - keeps track of current working directory in PWD environment var
;#
#
diff --git a/Master/tlpkg/tlperl/lib/re.pm b/Master/tlpkg/tlperl/lib/re.pm
index fb0b8d264c3..9d0921b80ea 100644
--- a/Master/tlpkg/tlperl/lib/re.pm
+++ b/Master/tlpkg/tlperl/lib/re.pm
@@ -4,7 +4,7 @@ package re;
use strict;
use warnings;
-our $VERSION = "0.11";
+our $VERSION = "0.18";
our @ISA = qw(Exporter);
our @EXPORT_OK = ('regmust',
qw(is_regexp regexp_pattern
@@ -16,6 +16,22 @@ my %bitmask = (
eval => 0x00200000, # HINT_RE_EVAL
);
+my $flags_hint = 0x02000000; # HINT_RE_FLAGS
+my $PMMOD_SHIFT = 0;
+my %reflags = (
+ m => 1 << ($PMMOD_SHIFT + 0),
+ s => 1 << ($PMMOD_SHIFT + 1),
+ i => 1 << ($PMMOD_SHIFT + 2),
+ x => 1 << ($PMMOD_SHIFT + 3),
+ p => 1 << ($PMMOD_SHIFT + 4),
+# special cases:
+ d => 0,
+ l => 1,
+ u => 2,
+ a => 3,
+ aa => 4,
+);
+
sub setcolor {
eval { # Ignore errors
require Term::Cap;
@@ -66,7 +82,7 @@ $flags{TRIE} = $flags{DUMP} | $flags{EXECUTE} | $flags{TRIEC};
if (defined &DynaLoader::boot_DynaLoader) {
require XSLoader;
- XSLoader::load( __PACKAGE__, $VERSION);
+ XSLoader::load();
}
# else we're miniperl
# We need to work for miniperl, because the XS toolchain uses Text::Wrap, which
@@ -96,6 +112,7 @@ sub bits {
require Carp;
Carp::carp("Useless use of \"re\" pragma");
}
+ ARG:
foreach my $idx (0..$#_){
my $s=$_[$idx];
if ($s eq 'Debug' or $s eq 'Debugcolor') {
@@ -125,6 +142,68 @@ sub bits {
} elsif ($EXPORT_OK{$s}) {
require Exporter;
re->export_to_level(2, 're', $s);
+ } elsif ($s =~ s/^\///) {
+ my $reflags = $^H{reflags} || 0;
+ my $seen_charset;
+ while ($s =~ m/( . )/gx) {
+ $_ = $1;
+ if (/[adul]/) {
+ # The 'a' may be repeated; hide this from the rest of the
+ # code by counting and getting rid of all of them, then
+ # changing to 'aa' if there is a repeat.
+ if ($_ eq 'a') {
+ my $sav_pos = pos $s;
+ my $a_count = $s =~ s/a//g;
+ pos $s = $sav_pos - 1; # -1 because got rid of the 'a'
+ if ($a_count > 2) {
+ require Carp;
+ Carp::carp(
+ qq 'The "a" flag may only appear a maximum of twice'
+ );
+ }
+ elsif ($a_count == 2) {
+ $_ = 'aa';
+ }
+ }
+ if ($on) {
+ if ($seen_charset) {
+ require Carp;
+ if ($seen_charset ne $_) {
+ Carp::carp(
+ qq 'The "$seen_charset" and "$_" flags '
+ .qq 'are exclusive'
+ );
+ }
+ else {
+ Carp::carp(
+ qq 'The "$seen_charset" flag may not appear '
+ .qq 'twice'
+ );
+ }
+ }
+ $^H{reflags_charset} = $reflags{$_};
+ $seen_charset = $_;
+ }
+ else {
+ delete $^H{reflags_charset}
+ if defined $^H{reflags_charset}
+ && $^H{reflags_charset} == $reflags{$_};
+ }
+ } elsif (exists $reflags{$_}) {
+ $on
+ ? $reflags |= $reflags{$_}
+ : ($reflags &= ~$reflags{$_});
+ } else {
+ require Carp;
+ Carp::carp(
+ qq'Unknown regular expression flag "$_"'
+ );
+ next ARG;
+ }
+ }
+ ($^H{reflags} = $reflags or defined $^H{reflags_charset})
+ ? $^H |= $flags_hint
+ : ($^H &= ~$flags_hint);
} else {
require Carp;
Carp::carp("Unknown \"re\" subpragma '$s' (known ones are: ",
@@ -170,6 +249,11 @@ re - Perl pragma to alter regular expression behaviour
/foo${pat}bar/; # disallowed (with or without -T switch)
}
+ use re '/ix';
+ "FOO" =~ / foo /; # /ix implied
+ no re '/x';
+ "FOO" =~ /foo/; # just /i implied
+
use re 'debug'; # output debugging info during
/^(.*)$/s; # compile and run time
@@ -220,6 +304,41 @@ interpolation. Thus:
I<is> allowed if $pat is a precompiled regular expression, even
if $pat contains C<(?{ ... })> assertions or C<(??{ ... })> subexpressions.
+=head2 '/flags' mode
+
+When C<use re '/flags'> is specified, the given flags are automatically
+added to every regular expression till the end of the lexical scope.
+
+C<no re '/flags'> will turn off the effect of C<use re '/flags'> for the
+given flags.
+
+For example, if you want all your regular expressions to have /msx on by
+default, simply put
+
+ use re '/msx';
+
+at the top of your code.
+
+The character set /adul flags cancel each other out. So, in this example,
+
+ use re "/u";
+ "ss" =~ /\xdf/;
+ use re "/d";
+ "ss" =~ /\xdf/;
+
+the second C<use re> does an implicit C<no re '/u'>.
+
+Turning on one of the character set flags with C<use re> takes precedence over the
+C<locale> pragma and the 'unicode_strings' C<feature>, for regular
+expressions. Turning off one of these flags when it is active reverts to
+the behaviour specified by whatever other pragmata are in scope. For
+example:
+
+ use feature "unicode_strings";
+ no re "/u"; # does nothing
+ use re "/l";
+ no re "/l"; # reverts to unicode_strings behaviour
+
=head2 'debug' mode
When C<use re 'debug'> is in effect, perl emits debugging messages when
@@ -231,7 +350,7 @@ form of output that can be used to get a colorful display on terminals
that understand termcap color sequences. Set C<$ENV{PERL_RE_TC}> to a
comma-separated list of C<termcap> properties to use for highlighting
strings on/off, pre-point part on/off.
-See L<perldebug/"Debugging regular expressions"> for additional info.
+See L<perldebug/"Debugging Regular Expressions"> for additional info.
As of 5.9.5 the directive C<use re 'debug'> and its equivalents are
lexically scoped, as the other directives are. However they have both
@@ -307,7 +426,7 @@ Turns on all "extra" debugging options.
=item BUFFERS
-Enable debugging the capture buffer storage during match. Warning,
+Enable debugging the capture group storage during match. Warning,
this can potentially produce extremely large output.
=item TRIEM
@@ -397,7 +516,7 @@ by C<qr//>, false if it is not.
This function will not be confused by overloading or blessing. In
internals terms, this extracts the regexp pointer out of the
-PERL_MAGIC_qr structure so it it cannot be fooled.
+PERL_MAGIC_qr structure so it cannot be fooled.
=item regexp_pattern($ref)
@@ -415,7 +534,7 @@ C<qr//> with the same pattern inside. If the argument is not a compiled
reference then this routine returns false but defined in scalar context,
and the empty list in list context. Thus the following
- if (regexp_pattern($ref) eq '(?i-xsm:foo)')
+ if (regexp_pattern($ref) eq '(?^i:foo)')
will be warning free regardless of what $ref actually is.
diff --git a/Master/tlpkg/tlperl/lib/shellwords.pl b/Master/tlpkg/tlperl/lib/shellwords.pl
index b24ce963ad9..b562f5f10b2 100644
--- a/Master/tlpkg/tlperl/lib/shellwords.pl
+++ b/Master/tlpkg/tlperl/lib/shellwords.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# This legacy library is deprecated and will be removed in a future
;# release of perl.
;#
diff --git a/Master/tlpkg/tlperl/lib/sigtrap.pm b/Master/tlpkg/tlperl/lib/sigtrap.pm
index 8577c728c78..de520a03be8 100644
--- a/Master/tlpkg/tlperl/lib/sigtrap.pm
+++ b/Master/tlpkg/tlperl/lib/sigtrap.pm
@@ -8,7 +8,7 @@ sigtrap - Perl pragma to enable simple signal handling
use Carp;
-$VERSION = 1.04;
+$VERSION = 1.05;
$Verbose ||= 0;
sub import {
@@ -95,7 +95,8 @@ sub handler_traceback {
# Now go for broke.
for ($i = 1; ($p,$f,$l,$s,$h,$w,$e,$r) = caller($i); $i++) {
@a = ();
- for (@args) {
+ for my $fr (@args) {
+ my $_ = $fr;
s/([\'\\])/\\$1/g;
s/([^\0]*)/'$1'/
unless /^(?: -?[\d.]+ | \*[\w:]* )$/x;
diff --git a/Master/tlpkg/tlperl/lib/stat.pl b/Master/tlpkg/tlperl/lib/stat.pl
index 4174d6007d1..feda2739645 100644
--- a/Master/tlpkg/tlperl/lib/stat.pl
+++ b/Master/tlpkg/tlperl/lib/stat.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# This legacy library is deprecated and will be removed in a future
;# release of perl.
;#
@@ -7,19 +9,19 @@
;# $st_dev = @ary[$ST_DEV];
;#
-$ST_DEV = 0 + $[;
-$ST_INO = 1 + $[;
-$ST_MODE = 2 + $[;
-$ST_NLINK = 3 + $[;
-$ST_UID = 4 + $[;
-$ST_GID = 5 + $[;
-$ST_RDEV = 6 + $[;
-$ST_SIZE = 7 + $[;
-$ST_ATIME = 8 + $[;
-$ST_MTIME = 9 + $[;
-$ST_CTIME = 10 + $[;
-$ST_BLKSIZE = 11 + $[;
-$ST_BLOCKS = 12 + $[;
+$ST_DEV = 0;
+$ST_INO = 1;
+$ST_MODE = 2;
+$ST_NLINK = 3;
+$ST_UID = 4;
+$ST_GID = 5;
+$ST_RDEV = 6;
+$ST_SIZE = 7;
+$ST_ATIME = 8;
+$ST_MTIME = 9;
+$ST_CTIME = 10;
+$ST_BLKSIZE = 11;
+$ST_BLOCKS = 12;
;# Usage:
;# require 'stat.pl';
diff --git a/Master/tlpkg/tlperl/lib/syslog.pl b/Master/tlpkg/tlperl/lib/syslog.pl
index f0dbb1c96a2..7504a5ded81 100644
--- a/Master/tlpkg/tlperl/lib/syslog.pl
+++ b/Master/tlpkg/tlperl/lib/syslog.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
#
# syslog.pl
#
diff --git a/Master/tlpkg/tlperl/lib/tainted.pl b/Master/tlpkg/tlperl/lib/tainted.pl
index a3a560ffecc..e88bca1a261 100644
--- a/Master/tlpkg/tlperl/lib/tainted.pl
+++ b/Master/tlpkg/tlperl/lib/tainted.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
# This legacy library is deprecated and will be removed in a future
# release of perl.
# This subroutine returns true if its argument is tainted, false otherwise.
diff --git a/Master/tlpkg/tlperl/lib/termcap.pl b/Master/tlpkg/tlperl/lib/termcap.pl
index 247a1718da7..a84cba34e9c 100644
--- a/Master/tlpkg/tlperl/lib/termcap.pl
+++ b/Master/tlpkg/tlperl/lib/termcap.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# $RCSfile: termcap.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:24:16 $
#
# This library is no longer being maintained, and is included for backward
@@ -155,8 +157,8 @@ sub Tgoto {
}
elsif ($code eq '>') {
($code,$tmp,$string) = unpack("CCa99",$string);
- if ($tmp[$[] > $code) {
- $tmp[$[] += $tmp;
+ if ($tmp[0] > $code) {
+ $tmp[0] += $tmp;
}
}
elsif ($code eq '2') {
diff --git a/Master/tlpkg/tlperl/lib/threads.pm b/Master/tlpkg/tlperl/lib/threads.pm
index 4552e50959b..dc2ef3ea550 100644
--- a/Master/tlpkg/tlperl/lib/threads.pm
+++ b/Master/tlpkg/tlperl/lib/threads.pm
@@ -5,7 +5,7 @@ use 5.008;
use strict;
use warnings;
-our $VERSION = '1.75';
+our $VERSION = '1.83';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -134,7 +134,7 @@ threads - Perl interpreter-based threads
=head1 VERSION
-This document describes threads version 1.75
+This document describes threads version 1.83
=head1 SYNOPSIS
@@ -361,9 +361,10 @@ key) will cause its ID to be used as the value:
=item threads->object($tid)
This will return the I<threads> object for the I<active> thread associated
-with the specified thread ID. Returns C<undef> if there is no thread
-associated with the TID, if the thread is joined or detached, if no TID is
-specified or if the specified TID is undef.
+with the specified thread ID. If C<$tid> is the value for the current thread,
+then this call works the same as C<-E<gt>self()>. Otherwise, returns C<undef>
+if there is no thread associated with the TID, if the thread is joined or
+detached, if no TID is specified or if the specified TID is undef.
=item threads->yield()
@@ -902,6 +903,18 @@ other threads are started afterwards.
If the above does not work, or is not adequate for your application, then file
a bug report on L<http://rt.cpan.org/Public/> against the problematic module.
+=item Memory consumption
+
+On most systems, frequent and continual creation and destruction of threads
+can lead to ever-increasing growth in the memory footprint of the Perl
+interpreter. While it is simple to just launch threads and then
+C<-E<gt>join()> or C<-E<gt>detach()> them, for long-lived applications, it is
+better to maintain a pool of threads, and to reuse them for the work needed,
+using L<queues|Thread::Queue> to notify threads of pending work. The CPAN
+distribution of this module contains a simple example
+(F<examples/pool_reuse.pl>) illustrating the creation, use and monitoring of a
+pool of I<reusable> threads.
+
=item Current working directory
On all platforms except MSWin32, the setting for the current working directory
@@ -975,7 +988,7 @@ involved, you may be able to work around this by returning a serialized
version of the object (e.g., using L<Data::Dumper> or L<Storable>), and then
reconstituting it in the joining thread. If you're using Perl 5.10.0 or
later, and if the class supports L<shared objects|threads::shared/"OBJECTS">,
-you can pass them via L<shared queues| Thread::Queue>.
+you can pass them via L<shared queues|Thread::Queue>.
=item END blocks in threads
@@ -992,6 +1005,18 @@ mutexes that are needed to control functionality within the L<threads> module.
For this reason, the use of C<END> blocks in threads is B<strongly>
discouraged.
+=item Open directory handles
+
+In perl 5.14 and higher, on systems other than Windows that do
+not support the C<fchdir> C function, directory handles (see
+L<opendir|perlfunc/"opendir DIRHANDLE,EXPR">) will not be copied to new
+threads. You can use the C<d_fchdir> variable in L<Config.pm|Config> to
+determine whether your system supports it.
+
+In prior perl versions, spawning threads with open directory handles would
+crash the interpreter.
+L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>
+
=item Perl Bugs and the CPAN Version of L<threads>
Support for threads extends beyond the code in this module (i.e.,
@@ -1020,12 +1045,6 @@ Perl 5.8.0 or later
L<threads> Discussion Forum on CPAN:
L<http://www.cpanforum.com/dist/threads>
-Annotated POD for L<threads>:
-L<http://annocpan.org/~JDHEDDEN/threads-1.75/threads.pm>
-
-Source repository:
-L<http://code.google.com/p/threads-shared/>
-
L<threads::shared>, L<perlthrtut>
L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
diff --git a/Master/tlpkg/tlperl/lib/threads/shared.pm b/Master/tlpkg/tlperl/lib/threads/shared.pm
index 72192bc7a0d..d75f04ddf5f 100644
--- a/Master/tlpkg/tlperl/lib/threads/shared.pm
+++ b/Master/tlpkg/tlperl/lib/threads/shared.pm
@@ -7,7 +7,7 @@ use warnings;
use Scalar::Util qw(reftype refaddr blessed);
-our $VERSION = '1.32';
+our $VERSION = '1.37';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -187,7 +187,7 @@ threads::shared - Perl extension for sharing data structures between threads
=head1 VERSION
-This document describes threads::shared version 1.32
+This document describes threads::shared version 1.37
=head1 SYNOPSIS
@@ -527,7 +527,8 @@ that the contents of hash-based objects will be lost due to the above
mentioned limitation. See F<examples/class.pl> (in the CPAN distribution of
this module) for how to create a class that supports object sharing.
-Does not support C<splice> on arrays!
+Does not support C<splice> on arrays. Does not support explicitly changing
+array lengths via $#array -- use C<push> and C<pop> instead.
Taking references to the elements of shared arrays and hashes does not
autovivify the elements, and neither does slicing a shared array/hash over
@@ -587,12 +588,6 @@ to: L<http://rt.cpan.org/Public/Dist/Display.html?Name=threads-shared>
L<threads::shared> Discussion Forum on CPAN:
L<http://www.cpanforum.com/dist/threads-shared>
-Annotated POD for L<threads::shared>:
-L<http://annocpan.org/~JDHEDDEN/threads-shared-1.32/shared.pm>
-
-Source repository:
-L<http://code.google.com/p/threads-shared/>
-
L<threads>, L<perlthrtut>
L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
diff --git a/Master/tlpkg/tlperl/lib/timelocal.pl b/Master/tlpkg/tlperl/lib/timelocal.pl
index 5e08dad9e34..fefb9da3554 100644
--- a/Master/tlpkg/tlperl/lib/timelocal.pl
+++ b/Master/tlpkg/tlperl/lib/timelocal.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# timelocal.pl
;#
;# Usage:
diff --git a/Master/tlpkg/tlperl/lib/unicore/ArabicShaping.txt b/Master/tlpkg/tlperl/lib/unicore/ArabicShaping.txt
deleted file mode 100644
index b851d3839f7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/ArabicShaping.txt
+++ /dev/null
@@ -1,373 +0,0 @@
-# ArabicShaping-5.2.0.txt
-# Date: 2009-08-17, 11:11:00 PDT [KW]
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# This file defines the shaping classes for Arabic, Syriac, and N'Ko
-# positional shaping, repeating in machine readable form the
-# information exemplified in Tables 8-3, 8-7, 8-8, 8-11, 8-12,
-# 8-13, and 13-5 of The Unicode Standard, Version 5.2.
-#
-# See sections 8.2, 8.3, and 13.5 of The Unicode Standard, Version 5.2
-# for more information.
-#
-# Each line contains four fields, separated by a semicolon.
-#
-# Field 0: the code point, in 4-digit hexadecimal
-# form, of an Arabic, Syriac, or N'Ko character.
-#
-# Field 1: gives a short schematic name for that character,
-# abbreviated from the normative Unicode character name.
-#
-# Field 2: defines the joining type (property name: Joining_Type)
-# R Right_Joining
-# L Left_Joining
-# D Dual_Joining
-# C Join_Causing
-# U Non_Joining
-# T Transparent
-# See Section 8.2, Arabic for more information on these types.
-#
-# Field 3: defines the joining group (property name: Joining_Group)
-#
-# The values of the joining group are based schematically on character
-# names. Where a schematic character name consists of two or more parts separated
-# by spaces, the formal Joining_Group property value, as specified in
-# PropertyValueAliases.txt, consists of the same name parts joined by
-# underscores. Hence, the entry:
-#
-# 0629; TEH MARBUTA; R; TEH MARBUTA
-#
-# corresponds to [Joining_Group = Teh_Marbuta].
-#
-# Note: For historical reasons, the property value [Joining_Group = Hamza_On_Heh_Goal]
-# is anachronistically named. It used to apply to both of the following characters
-# in earlier versions of the standard:
-#
-# U+06C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-# U+06C3 ARABIC LETTER TEH MARBUTA GOAL
-#
-# However, it currently applies only to U+06C3, and *not* to U+06C2.
-# To avoid destabilizing existing Joining_Group property aliases, the
-# value Hamza_On_Heh_Goal has not been changed, despite the fact that it
-# no longer applies to Hamza On Heh Goal, but only to Teh Marbuta Goal.
-#
-# When other cursive scripts are added to the Unicode Standard in
-# the future, the joining group value of all its letters will default
-# to jg=No_Joining_Group in this data file. Other, more specific
-# joining group values will be defined only if an explicit proposal
-# to define those values exactly has been approved by the UTC. This
-# is the convention exemplified by the N'Ko script. Only the Arabic
-# and Syriac scripts currently have explicit joining group values defined.
-#
-# Note: Code points that are not explicitly listed in this file are
-# either of joining type T or U:
-#
-# - Those that not explicitly listed that are of General Category Mn, Me, or Cf
-# have joining type T.
-# - All others not explicitly listed have joining type U.
-#
-# For an explicit listing of characters of joining type T, see
-# the derived property file DerivedJoiningType.txt.
-#
-# There are currently no characters of joining type L defined in Unicode.
-#
-# #############################################################
-
-# Unicode; Schematic Name; Joining Type; Joining Group
-
-# Arabic characters
-
-0600; ARABIC NUMBER SIGN; U; No_Joining_Group
-0601; ARABIC SIGN SANAH; U; No_Joining_Group
-0602; ARABIC FOOTNOTE MARKER; U; No_Joining_Group
-0603; ARABIC SIGN SAFHA; U; No_Joining_Group
-0608; ARABIC RAY; U; No_Joining_Group
-060B; AFGHANI SIGN; U; No_Joining_Group
-0621; HAMZA; U; No_Joining_Group
-0622; MADDA ON ALEF; R; ALEF
-0623; HAMZA ON ALEF; R; ALEF
-0624; HAMZA ON WAW; R; WAW
-0625; HAMZA UNDER ALEF; R; ALEF
-0626; HAMZA ON YEH; D; YEH
-0627; ALEF; R; ALEF
-0628; BEH; D; BEH
-0629; TEH MARBUTA; R; TEH MARBUTA
-062A; TEH; D; BEH
-062B; THEH; D; BEH
-062C; JEEM; D; HAH
-062D; HAH; D; HAH
-062E; KHAH; D; HAH
-062F; DAL; R; DAL
-0630; THAL; R; DAL
-0631; REH; R; REH
-0632; ZAIN; R; REH
-0633; SEEN; D; SEEN
-0634; SHEEN; D; SEEN
-0635; SAD; D; SAD
-0636; DAD; D; SAD
-0637; TAH; D; TAH
-0638; ZAH; D; TAH
-0639; AIN; D; AIN
-063A; GHAIN; D; AIN
-063B; KEHEH WITH 2 DOTS ABOVE; D; GAF
-063C; KEHEH WITH 3 DOTS BELOW; D; GAF
-063D; FARSI YEH WITH INVERTED V; D; FARSI YEH
-063E; FARSI YEH WITH 2 DOTS ABOVE; D; FARSI YEH
-063F; FARSI YEH WITH 3 DOTS ABOVE; D; FARSI YEH
-0640; TATWEEL; C; No_Joining_Group
-0641; FEH; D; FEH
-0642; QAF; D; QAF
-0643; KAF; D; KAF
-0644; LAM; D; LAM
-0645; MEEM; D; MEEM
-0646; NOON; D; NOON
-0647; HEH; D; HEH
-0648; WAW; R; WAW
-0649; ALEF MAKSURA; D; YEH
-064A; YEH; D; YEH
-066E; DOTLESS BEH; D; BEH
-066F; DOTLESS QAF; D; QAF
-0671; HAMZAT WASL ON ALEF; R; ALEF
-0672; WAVY HAMZA ON ALEF; R; ALEF
-0673; WAVY HAMZA UNDER ALEF; R; ALEF
-0674; HIGH HAMZA; U; No_Joining_Group
-0675; HIGH HAMZA ALEF; R; ALEF
-0676; HIGH HAMZA WAW; R; WAW
-0677; HIGH HAMZA WAW WITH DAMMA; R; WAW
-0678; HIGH HAMZA YEH; D; YEH
-0679; TEH WITH SMALL TAH; D; BEH
-067A; TEH WITH 2 DOTS VERTICAL ABOVE; D; BEH
-067B; BEH WITH 2 DOTS VERTICAL BELOW; D; BEH
-067C; TEH WITH RING; D; BEH
-067D; TEH WITH 3 DOTS ABOVE DOWNWARD; D; BEH
-067E; TEH WITH 3 DOTS BELOW; D; BEH
-067F; TEH WITH 4 DOTS ABOVE; D; BEH
-0680; BEH WITH 4 DOTS BELOW; D; BEH
-0681; HAMZA ON HAH; D; HAH
-0682; HAH WITH 2 DOTS VERTICAL ABOVE; D; HAH
-0683; HAH WITH MIDDLE 2 DOTS; D; HAH
-0684; HAH WITH MIDDLE 2 DOTS VERTICAL; D; HAH
-0685; HAH WITH 3 DOTS ABOVE; D; HAH
-0686; HAH WITH MIDDLE 3 DOTS DOWNWARD; D; HAH
-0687; HAH WITH MIDDLE 4 DOTS; D; HAH
-0688; DAL WITH SMALL TAH; R; DAL
-0689; DAL WITH RING; R; DAL
-068A; DAL WITH DOT BELOW; R; DAL
-068B; DAL WITH DOT BELOW AND SMALL TAH; R; DAL
-068C; DAL WITH 2 DOTS ABOVE; R; DAL
-068D; DAL WITH 2 DOTS BELOW; R; DAL
-068E; DAL WITH 3 DOTS ABOVE; R; DAL
-068F; DAL WITH 3 DOTS ABOVE DOWNWARD; R; DAL
-0690; DAL WITH 4 DOTS ABOVE; R; DAL
-0691; REH WITH SMALL TAH; R; REH
-0692; REH WITH SMALL V; R; REH
-0693; REH WITH RING; R; REH
-0694; REH WITH DOT BELOW; R; REH
-0695; REH WITH SMALL V BELOW; R; REH
-0696; REH WITH DOT BELOW AND DOT ABOVE; R; REH
-0697; REH WITH 2 DOTS ABOVE; R; REH
-0698; REH WITH 3 DOTS ABOVE; R; REH
-0699; REH WITH 4 DOTS ABOVE; R; REH
-069A; SEEN WITH DOT BELOW AND DOT ABOVE; D; SEEN
-069B; SEEN WITH 3 DOTS BELOW; D; SEEN
-069C; SEEN WITH 3 DOTS BELOW AND 3 DOTS ABOVE; D; SEEN
-069D; SAD WITH 2 DOTS BELOW; D; SAD
-069E; SAD WITH 3 DOTS ABOVE; D; SAD
-069F; TAH WITH 3 DOTS ABOVE; D; TAH
-06A0; AIN WITH 3 DOTS ABOVE; D; AIN
-06A1; DOTLESS FEH; D; FEH
-06A2; FEH WITH DOT MOVED BELOW; D; FEH
-06A3; FEH WITH DOT BELOW; D; FEH
-06A4; FEH WITH 3 DOTS ABOVE; D; FEH
-06A5; FEH WITH 3 DOTS BELOW; D; FEH
-06A6; FEH WITH 4 DOTS ABOVE; D; FEH
-06A7; QAF WITH DOT ABOVE; D; QAF
-06A8; QAF WITH 3 DOTS ABOVE; D; QAF
-06A9; KEHEH; D; GAF
-06AA; SWASH KAF; D; SWASH KAF
-06AB; KAF WITH RING; D; GAF
-06AC; KAF WITH DOT ABOVE; D; KAF
-06AD; KAF WITH 3 DOTS ABOVE; D; KAF
-06AE; KAF WITH 3 DOTS BELOW; D; KAF
-06AF; GAF; D; GAF
-06B0; GAF WITH RING; D; GAF
-06B1; GAF WITH 2 DOTS ABOVE; D; GAF
-06B2; GAF WITH 2 DOTS BELOW; D; GAF
-06B3; GAF WITH 2 DOTS VERTICAL BELOW; D; GAF
-06B4; GAF WITH 3 DOTS ABOVE; D; GAF
-06B5; LAM WITH SMALL V; D; LAM
-06B6; LAM WITH DOT ABOVE; D; LAM
-06B7; LAM WITH 3 DOTS ABOVE; D; LAM
-06B8; LAM WITH 3 DOTS BELOW; D; LAM
-06B9; NOON WITH DOT BELOW; D; NOON
-06BA; DOTLESS NOON; D; NOON
-06BB; DOTLESS NOON WITH SMALL TAH; D; NOON
-06BC; NOON WITH RING; D; NOON
-06BD; NYA; D; NYA
-06BE; KNOTTED HEH; D; KNOTTED HEH
-06BF; HAH WITH MIDDLE 3 DOTS DOWNWARD AND DOT ABOVE; D; HAH
-06C0; HAMZA ON HEH; R; TEH MARBUTA
-06C1; HEH GOAL; D; HEH GOAL
-06C2; HAMZA ON HEH GOAL; D; HEH GOAL
-06C3; TEH MARBUTA GOAL; R; HAMZA ON HEH GOAL
-06C4; WAW WITH RING; R; WAW
-06C5; WAW WITH BAR; R; WAW
-06C6; WAW WITH SMALL V; R; WAW
-06C7; WAW WITH DAMMA; R; WAW
-06C8; WAW WITH ALEF ABOVE; R; WAW
-06C9; WAW WITH INVERTED SMALL V; R; WAW
-06CA; WAW WITH 2 DOTS ABOVE; R; WAW
-06CB; WAW WITH 3 DOTS ABOVE; R; WAW
-06CC; FARSI YEH; D; FARSI YEH
-06CD; YEH WITH TAIL; R; YEH WITH TAIL
-06CE; FARSI YEH WITH SMALL V; D; FARSI YEH
-06CF; WAW WITH DOT ABOVE; R; WAW
-06D0; YEH WITH 2 DOTS VERTICAL BELOW; D; YEH
-06D1; YEH WITH 3 DOTS BELOW; D; YEH
-06D2; YEH BARREE; R; YEH BARREE
-06D3; HAMZA ON YEH BARREE; R; YEH BARREE
-06D5; AE; R; TEH MARBUTA
-06DD; ARABIC END OF AYAH; U; No_Joining_Group
-06EE; DAL WITH INVERTED V; R; DAL
-06EF; REH WITH INVERTED V; R; REH
-06FA; SEEN WITH DOT BELOW AND 3 DOTS ABOVE; D; SEEN
-06FB; DAD WITH DOT BELOW; D; SAD
-06FC; GHAIN WITH DOT BELOW; D; AIN
-06FF; HEH WITH INVERTED V; D; KNOTTED HEH
-
-# Syriac characters
-
-0710; ALAPH; R; ALAPH
-0712; BETH; D; BETH
-0713; GAMAL; D; GAMAL
-0714; GAMAL GARSHUNI; D; GAMAL
-0715; DALATH; R; DALATH RISH
-0716; DOTLESS DALATH RISH; R; DALATH RISH
-0717; HE; R; HE
-0718; WAW; R; SYRIAC WAW
-0719; ZAIN; R; ZAIN
-071A; HETH; D; HETH
-071B; TETH; D; TETH
-071C; TETH GARSHUNI; D; TETH
-071D; YUDH; D; YUDH
-071E; YUDH HE; R; YUDH HE
-071F; KAPH; D; KAPH
-0720; LAMADH; D; LAMADH
-0721; MIM; D; MIM
-0722; NUN; D; NUN
-0723; SEMKATH; D; SEMKATH
-0724; FINAL SEMKATH; D; FINAL SEMKATH
-0725; E; D; E
-0726; PE; D; PE
-0727; REVERSED PE; D; REVERSED PE
-0728; SADHE; R; SADHE
-0729; QAPH; D; QAPH
-072A; RISH; R; DALATH RISH
-072B; SHIN; D; SHIN
-072C; TAW; R; TAW
-072D; PERSIAN BHETH; D; BETH
-072E; PERSIAN GHAMAL; D; GAMAL
-072F; PERSIAN DHALATH; R; DALATH RISH
-074D; SOGDIAN ZHAIN; R; ZHAIN
-074E; SOGDIAN KHAPH; D; KHAPH
-074F; SOGDIAN FE; D; FE
-
-# Arabic supplement characters
-
-0750; BEH WITH 3 DOTS HORIZONTALLY BELOW; D; BEH
-0751; BEH WITH DOT BELOW AND 3 DOTS ABOVE; D; BEH
-0752; BEH WITH 3 DOTS POINTING UPWARDS BELOW; D; BEH
-0753; BEH WITH 3 DOTS POINTING UPWARDS BELOW AND 2 DOTS ABOVE; D; BEH
-0754; BEH WITH 2 DOTS BELOW AND DOT ABOVE; D; BEH
-0755; BEH WITH INVERTED SMALL V BELOW; D; BEH
-0756; BEH WITH SMALL V; D; BEH
-0757; HAH WITH 2 DOTS ABOVE; D; HAH
-0758; HAH WITH 3 DOTS POINTING UPWARDS BELOW; D; HAH
-0759; DAL WITH 2 DOTS VERTICALLY BELOW AND SMALL TAH; R; DAL
-075A; DAL WITH INVERTED SMALL V BELOW; R; DAL
-075B; REH WITH STROKE; R; REH
-075C; SEEN WITH 4 DOTS ABOVE; D; SEEN
-075D; AIN WITH 2 DOTS ABOVE; D; AIN
-075E; AIN WITH 3 DOTS POINTING DOWNWARDS ABOVE; D; AIN
-075F; AIN WITH 2 DOTS VERTICALLY ABOVE; D; AIN
-0760; FEH WITH 2 DOTS BELOW; D; FEH
-0761; FEH WITH 3 DOTS POINTING UPWARDS BELOW; D; FEH
-0762; KEHEH WITH DOT ABOVE; D; GAF
-0763; KEHEH WITH 3 DOTS ABOVE; D; GAF
-0764; KEHEH WITH 3 DOTS POINTING UPWARDS BELOW; D; GAF
-0765; MEEM WITH DOT ABOVE; D; MEEM
-0766; MEEM WITH DOT BELOW; D; MEEM
-0767; NOON WITH 2 DOTS BELOW; D; NOON
-0768; NOON WITH SMALL TAH; D; NOON
-0769; NOON WITH SMALL V; D; NOON
-076A; LAM WITH BAR; D; LAM
-076B; REH WITH 2 DOTS VERTICALLY ABOVE; R; REH
-076C; REH WITH HAMZA ABOVE; R; REH
-076D; SEEN WITH 2 DOTS VERTICALLY ABOVE; D; SEEN
-076E; HAH WITH SMALL TAH BELOW; D; HAH
-076F; HAH WITH SMALL TAH AND 2 DOTS; D; HAH
-0770; SEEN WITH SMALL TAH AND 2 DOTS; D; SEEN
-0771; REH WITH SMALL TAH AND 2 DOTS; R; REH
-0772; HAH WITH SMALL TAH ABOVE; D; HAH
-0773; ALEF WITH DIGIT TWO ABOVE; R; ALEF
-0774; ALEF WITH DIGIT THREE ABOVE; R; ALEF
-0775; FARSI YEH WITH DIGIT TWO ABOVE; D; FARSI YEH
-0776; FARSI YEH WITH DIGIT THREE ABOVE; D; FARSI YEH
-0777; YEH WITH DIGIT FOUR BELOW; D; YEH
-0778; WAW WITH DIGIT TWO ABOVE; R; WAW
-0779; WAW WITH DIGIT THREE ABOVE; R; WAW
-077A; YEH BARREE WITH DIGIT TWO ABOVE; D; BURUSHASKI YEH BARREE
-077B; YEH BARREE WITH DIGIT THREE ABOVE; D; BURUSHASKI YEH BARREE
-077C; HAH WITH DIGIT FOUR BELOW; D; HAH
-077D; SEEN WITH DIGIT FOUR ABOVE; D; SEEN
-077E; SEEN WITH INVERTED V; D; SEEN
-077F; KAF WITH 2 DOTS ABOVE; D; KAF
-
-# N'Ko Characters
-
-07CA; NKO A; D; No_Joining_Group
-07CB; NKO EE; D; No_Joining_Group
-07CC; NKO I; D; No_Joining_Group
-07CD; NKO E; D; No_Joining_Group
-07CE; NKO U; D; No_Joining_Group
-07CF; NKO OO; D; No_Joining_Group
-07D0; NKO O; D; No_Joining_Group
-07D1; NKO DAGBASINNA; D; No_Joining_Group
-07D2; NKO N; D; No_Joining_Group
-07D3; NKO BA; D; No_Joining_Group
-07D4; NKO PA; D; No_Joining_Group
-07D5; NKO TA; D; No_Joining_Group
-07D6; NKO JA; D; No_Joining_Group
-07D7; NKO CHA; D; No_Joining_Group
-07D8; NKO DA; D; No_Joining_Group
-07D9; NKO RA; D; No_Joining_Group
-07DA; NKO RRA; D; No_Joining_Group
-07DB; NKO SA; D; No_Joining_Group
-07DC; NKO GBA; D; No_Joining_Group
-07DD; NKO FA; D; No_Joining_Group
-07DE; NKO KA; D; No_Joining_Group
-07DF; NKO LA; D; No_Joining_Group
-07E0; NKO NA WOLOSO; D; No_Joining_Group
-07E1; NKO MA; D; No_Joining_Group
-07E2; NKO NYA; D; No_Joining_Group
-07E3; NKO NA; D; No_Joining_Group
-07E4; NKO HA; D; No_Joining_Group
-07E5; NKO WA; D; No_Joining_Group
-07E6; NKO YA; D; No_Joining_Group
-07E7; NKO NYA WOLOSO; D; No_Joining_Group
-07E8; NKO JONA JA; D; No_Joining_Group
-07E9; NKO JONA CHA; D; No_Joining_Group
-07EA; NKO JONA RA; D; No_Joining_Group
-07FA; NKO LAJANYALAN; C; No_Joining_Group
-
-# Other
-
-200C; ZERO WIDTH NON-JOINER; U; No_Joining_Group
-200D; ZERO WIDTH JOINER; C; No_Joining_Group
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/BidiMirroring.txt b/Master/tlpkg/tlperl/lib/unicore/BidiMirroring.txt
deleted file mode 100644
index 81e838a7e01..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/BidiMirroring.txt
+++ /dev/null
@@ -1,588 +0,0 @@
-# BidiMirroring-5.2.0.txt
-# Date: 2009-05-22, 12:44:00 PDT [KW]
-#
-# Bidi_Mirroring_Glyph Property
-#
-# This file is an informative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# This data file lists characters that have the mirrored property
-# where there is another Unicode character that typically has a glyph
-# that is the mirror image of the original character's glyph.
-# The repertoire covered by the file is Unicode 5.2.0.
-#
-# The file contains a list of lines with mappings from one code point
-# to another one for character-based mirroring.
-# Note that for "real" mirroring, a rendering engine needs to select
-# appropriate alternative glyphs, and that many Unicode characters do not
-# have a mirror-image Unicode character.
-#
-# Each mapping line contains two fields, separated by a semicolon (';').
-# Each of the two fields contains a code point represented as a
-# variable-length hexadecimal value with 4 to 6 digits.
-# A comment indicates where the characters are "BEST FIT" mirroring.
-#
-# Code points with the "mirrored" property but no appropriate mirrors are
-# listed as comments at the end of the file.
-#
-# For information on bidi mirroring, see UAX #9: Bidirectional Algorithm,
-# at http://www.unicode.org/unicode/reports/tr9/
-#
-# This file was originally created by Markus Scherer.
-# Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, and 5.2 by Ken Whistler.
-#
-# ############################################################
-
-0028; 0029 # LEFT PARENTHESIS
-0029; 0028 # RIGHT PARENTHESIS
-003C; 003E # LESS-THAN SIGN
-003E; 003C # GREATER-THAN SIGN
-005B; 005D # LEFT SQUARE BRACKET
-005D; 005B # RIGHT SQUARE BRACKET
-007B; 007D # LEFT CURLY BRACKET
-007D; 007B # RIGHT CURLY BRACKET
-00AB; 00BB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BB; 00AB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0F3A; 0F3B # TIBETAN MARK GUG RTAGS GYON
-0F3B; 0F3A # TIBETAN MARK GUG RTAGS GYAS
-0F3C; 0F3D # TIBETAN MARK ANG KHANG GYON
-0F3D; 0F3C # TIBETAN MARK ANG KHANG GYAS
-169B; 169C # OGHAM FEATHER MARK
-169C; 169B # OGHAM REVERSED FEATHER MARK
-2039; 203A # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A; 2039 # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-2045; 2046 # LEFT SQUARE BRACKET WITH QUILL
-2046; 2045 # RIGHT SQUARE BRACKET WITH QUILL
-207D; 207E # SUPERSCRIPT LEFT PARENTHESIS
-207E; 207D # SUPERSCRIPT RIGHT PARENTHESIS
-208D; 208E # SUBSCRIPT LEFT PARENTHESIS
-208E; 208D # SUBSCRIPT RIGHT PARENTHESIS
-2208; 220B # ELEMENT OF
-2209; 220C # NOT AN ELEMENT OF
-220A; 220D # SMALL ELEMENT OF
-220B; 2208 # CONTAINS AS MEMBER
-220C; 2209 # DOES NOT CONTAIN AS MEMBER
-220D; 220A # SMALL CONTAINS AS MEMBER
-2215; 29F5 # DIVISION SLASH
-223C; 223D # TILDE OPERATOR
-223D; 223C # REVERSED TILDE
-2243; 22CD # ASYMPTOTICALLY EQUAL TO
-2252; 2253 # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253; 2252 # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254; 2255 # COLON EQUALS
-2255; 2254 # EQUALS COLON
-2264; 2265 # LESS-THAN OR EQUAL TO
-2265; 2264 # GREATER-THAN OR EQUAL TO
-2266; 2267 # LESS-THAN OVER EQUAL TO
-2267; 2266 # GREATER-THAN OVER EQUAL TO
-2268; 2269 # [BEST FIT] LESS-THAN BUT NOT EQUAL TO
-2269; 2268 # [BEST FIT] GREATER-THAN BUT NOT EQUAL TO
-226A; 226B # MUCH LESS-THAN
-226B; 226A # MUCH GREATER-THAN
-226E; 226F # [BEST FIT] NOT LESS-THAN
-226F; 226E # [BEST FIT] NOT GREATER-THAN
-2270; 2271 # [BEST FIT] NEITHER LESS-THAN NOR EQUAL TO
-2271; 2270 # [BEST FIT] NEITHER GREATER-THAN NOR EQUAL TO
-2272; 2273 # [BEST FIT] LESS-THAN OR EQUIVALENT TO
-2273; 2272 # [BEST FIT] GREATER-THAN OR EQUIVALENT TO
-2274; 2275 # [BEST FIT] NEITHER LESS-THAN NOR EQUIVALENT TO
-2275; 2274 # [BEST FIT] NEITHER GREATER-THAN NOR EQUIVALENT TO
-2276; 2277 # LESS-THAN OR GREATER-THAN
-2277; 2276 # GREATER-THAN OR LESS-THAN
-2278; 2279 # [BEST FIT] NEITHER LESS-THAN NOR GREATER-THAN
-2279; 2278 # [BEST FIT] NEITHER GREATER-THAN NOR LESS-THAN
-227A; 227B # PRECEDES
-227B; 227A # SUCCEEDS
-227C; 227D # PRECEDES OR EQUAL TO
-227D; 227C # SUCCEEDS OR EQUAL TO
-227E; 227F # [BEST FIT] PRECEDES OR EQUIVALENT TO
-227F; 227E # [BEST FIT] SUCCEEDS OR EQUIVALENT TO
-2280; 2281 # [BEST FIT] DOES NOT PRECEDE
-2281; 2280 # [BEST FIT] DOES NOT SUCCEED
-2282; 2283 # SUBSET OF
-2283; 2282 # SUPERSET OF
-2284; 2285 # [BEST FIT] NOT A SUBSET OF
-2285; 2284 # [BEST FIT] NOT A SUPERSET OF
-2286; 2287 # SUBSET OF OR EQUAL TO
-2287; 2286 # SUPERSET OF OR EQUAL TO
-2288; 2289 # [BEST FIT] NEITHER A SUBSET OF NOR EQUAL TO
-2289; 2288 # [BEST FIT] NEITHER A SUPERSET OF NOR EQUAL TO
-228A; 228B # [BEST FIT] SUBSET OF WITH NOT EQUAL TO
-228B; 228A # [BEST FIT] SUPERSET OF WITH NOT EQUAL TO
-228F; 2290 # SQUARE IMAGE OF
-2290; 228F # SQUARE ORIGINAL OF
-2291; 2292 # SQUARE IMAGE OF OR EQUAL TO
-2292; 2291 # SQUARE ORIGINAL OF OR EQUAL TO
-2298; 29B8 # CIRCLED DIVISION SLASH
-22A2; 22A3 # RIGHT TACK
-22A3; 22A2 # LEFT TACK
-22A6; 2ADE # ASSERTION
-22A8; 2AE4 # TRUE
-22A9; 2AE3 # FORCES
-22AB; 2AE5 # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22B0; 22B1 # PRECEDES UNDER RELATION
-22B1; 22B0 # SUCCEEDS UNDER RELATION
-22B2; 22B3 # NORMAL SUBGROUP OF
-22B3; 22B2 # CONTAINS AS NORMAL SUBGROUP
-22B4; 22B5 # NORMAL SUBGROUP OF OR EQUAL TO
-22B5; 22B4 # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6; 22B7 # ORIGINAL OF
-22B7; 22B6 # IMAGE OF
-22C9; 22CA # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA; 22C9 # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB; 22CC # LEFT SEMIDIRECT PRODUCT
-22CC; 22CB # RIGHT SEMIDIRECT PRODUCT
-22CD; 2243 # REVERSED TILDE EQUALS
-22D0; 22D1 # DOUBLE SUBSET
-22D1; 22D0 # DOUBLE SUPERSET
-22D6; 22D7 # LESS-THAN WITH DOT
-22D7; 22D6 # GREATER-THAN WITH DOT
-22D8; 22D9 # VERY MUCH LESS-THAN
-22D9; 22D8 # VERY MUCH GREATER-THAN
-22DA; 22DB # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB; 22DA # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC; 22DD # EQUAL TO OR LESS-THAN
-22DD; 22DC # EQUAL TO OR GREATER-THAN
-22DE; 22DF # EQUAL TO OR PRECEDES
-22DF; 22DE # EQUAL TO OR SUCCEEDS
-22E0; 22E1 # [BEST FIT] DOES NOT PRECEDE OR EQUAL
-22E1; 22E0 # [BEST FIT] DOES NOT SUCCEED OR EQUAL
-22E2; 22E3 # [BEST FIT] NOT SQUARE IMAGE OF OR EQUAL TO
-22E3; 22E2 # [BEST FIT] NOT SQUARE ORIGINAL OF OR EQUAL TO
-22E4; 22E5 # [BEST FIT] SQUARE IMAGE OF OR NOT EQUAL TO
-22E5; 22E4 # [BEST FIT] SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6; 22E7 # [BEST FIT] LESS-THAN BUT NOT EQUIVALENT TO
-22E7; 22E6 # [BEST FIT] GREATER-THAN BUT NOT EQUIVALENT TO
-22E8; 22E9 # [BEST FIT] PRECEDES BUT NOT EQUIVALENT TO
-22E9; 22E8 # [BEST FIT] SUCCEEDS BUT NOT EQUIVALENT TO
-22EA; 22EB # [BEST FIT] NOT NORMAL SUBGROUP OF
-22EB; 22EA # [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP
-22EC; 22ED # [BEST FIT] NOT NORMAL SUBGROUP OF OR EQUAL TO
-22ED; 22EC # [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22F0; 22F1 # UP RIGHT DIAGONAL ELLIPSIS
-22F1; 22F0 # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2; 22FA # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3; 22FB # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4; 22FC # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F6; 22FD # ELEMENT OF WITH OVERBAR
-22F7; 22FE # SMALL ELEMENT OF WITH OVERBAR
-22FA; 22F2 # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB; 22F3 # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC; 22F4 # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD; 22F6 # CONTAINS WITH OVERBAR
-22FE; 22F7 # SMALL CONTAINS WITH OVERBAR
-2308; 2309 # LEFT CEILING
-2309; 2308 # RIGHT CEILING
-230A; 230B # LEFT FLOOR
-230B; 230A # RIGHT FLOOR
-2329; 232A # LEFT-POINTING ANGLE BRACKET
-232A; 2329 # RIGHT-POINTING ANGLE BRACKET
-2768; 2769 # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769; 2768 # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A; 276B # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B; 276A # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C; 276D # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D; 276C # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E; 276F # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F; 276E # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770; 2771 # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771; 2770 # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772; 2773 # LIGHT LEFT TORTOISE SHELL BRACKET
-2773; 2772 # LIGHT RIGHT TORTOISE SHELL BRACKET
-2774; 2775 # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775; 2774 # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-27C3; 27C4 # OPEN SUBSET
-27C4; 27C3 # OPEN SUPERSET
-27C5; 27C6 # LEFT S-SHAPED BAG DELIMITER
-27C6; 27C5 # RIGHT S-SHAPED BAG DELIMITER
-27C8; 27C9 # REVERSE SOLIDUS PRECEDING SUBSET
-27C9; 27C8 # SUPERSET PRECEDING SOLIDUS
-27D5; 27D6 # LEFT OUTER JOIN
-27D6; 27D5 # RIGHT OUTER JOIN
-27DD; 27DE # LONG RIGHT TACK
-27DE; 27DD # LONG LEFT TACK
-27E2; 27E3 # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3; 27E2 # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4; 27E5 # WHITE SQUARE WITH LEFTWARDS TICK
-27E5; 27E4 # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6; 27E7 # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7; 27E6 # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8; 27E9 # MATHEMATICAL LEFT ANGLE BRACKET
-27E9; 27E8 # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA; 27EB # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB; 27EA # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC; 27ED # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED; 27EC # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE; 27EF # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF; 27EE # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2983; 2984 # LEFT WHITE CURLY BRACKET
-2984; 2983 # RIGHT WHITE CURLY BRACKET
-2985; 2986 # LEFT WHITE PARENTHESIS
-2986; 2985 # RIGHT WHITE PARENTHESIS
-2987; 2988 # Z NOTATION LEFT IMAGE BRACKET
-2988; 2987 # Z NOTATION RIGHT IMAGE BRACKET
-2989; 298A # Z NOTATION LEFT BINDING BRACKET
-298A; 2989 # Z NOTATION RIGHT BINDING BRACKET
-298B; 298C # LEFT SQUARE BRACKET WITH UNDERBAR
-298C; 298B # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D; 2990 # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E; 298F # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F; 298E # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990; 298D # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991; 2992 # LEFT ANGLE BRACKET WITH DOT
-2992; 2991 # RIGHT ANGLE BRACKET WITH DOT
-2993; 2994 # LEFT ARC LESS-THAN BRACKET
-2994; 2993 # RIGHT ARC GREATER-THAN BRACKET
-2995; 2996 # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996; 2995 # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997; 2998 # LEFT BLACK TORTOISE SHELL BRACKET
-2998; 2997 # RIGHT BLACK TORTOISE SHELL BRACKET
-29B8; 2298 # CIRCLED REVERSE SOLIDUS
-29C0; 29C1 # CIRCLED LESS-THAN
-29C1; 29C0 # CIRCLED GREATER-THAN
-29C4; 29C5 # SQUARED RISING DIAGONAL SLASH
-29C5; 29C4 # SQUARED FALLING DIAGONAL SLASH
-29CF; 29D0 # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0; 29CF # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1; 29D2 # BOWTIE WITH LEFT HALF BLACK
-29D2; 29D1 # BOWTIE WITH RIGHT HALF BLACK
-29D4; 29D5 # TIMES WITH LEFT HALF BLACK
-29D5; 29D4 # TIMES WITH RIGHT HALF BLACK
-29D8; 29D9 # LEFT WIGGLY FENCE
-29D9; 29D8 # RIGHT WIGGLY FENCE
-29DA; 29DB # LEFT DOUBLE WIGGLY FENCE
-29DB; 29DA # RIGHT DOUBLE WIGGLY FENCE
-29F5; 2215 # REVERSE SOLIDUS OPERATOR
-29F8; 29F9 # BIG SOLIDUS
-29F9; 29F8 # BIG REVERSE SOLIDUS
-29FC; 29FD # LEFT-POINTING CURVED ANGLE BRACKET
-29FD; 29FC # RIGHT-POINTING CURVED ANGLE BRACKET
-2A2B; 2A2C # MINUS SIGN WITH FALLING DOTS
-2A2C; 2A2B # MINUS SIGN WITH RISING DOTS
-2A2D; 2A2E # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E; 2A2D # PLUS SIGN IN RIGHT HALF CIRCLE
-2A34; 2A35 # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35; 2A34 # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A3C; 2A3D # INTERIOR PRODUCT
-2A3D; 2A3C # RIGHTHAND INTERIOR PRODUCT
-2A64; 2A65 # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65; 2A64 # Z NOTATION RANGE ANTIRESTRICTION
-2A79; 2A7A # LESS-THAN WITH CIRCLE INSIDE
-2A7A; 2A79 # GREATER-THAN WITH CIRCLE INSIDE
-2A7D; 2A7E # LESS-THAN OR SLANTED EQUAL TO
-2A7E; 2A7D # GREATER-THAN OR SLANTED EQUAL TO
-2A7F; 2A80 # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80; 2A7F # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81; 2A82 # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82; 2A81 # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83; 2A84 # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84; 2A83 # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A8B; 2A8C # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C; 2A8B # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A91; 2A92 # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92; 2A91 # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93; 2A94 # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94; 2A93 # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95; 2A96 # SLANTED EQUAL TO OR LESS-THAN
-2A96; 2A95 # SLANTED EQUAL TO OR GREATER-THAN
-2A97; 2A98 # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98; 2A97 # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99; 2A9A # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A; 2A99 # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B; 2A9C # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C; 2A9B # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2AA1; 2AA2 # DOUBLE NESTED LESS-THAN
-2AA2; 2AA1 # DOUBLE NESTED GREATER-THAN
-2AA6; 2AA7 # LESS-THAN CLOSED BY CURVE
-2AA7; 2AA6 # GREATER-THAN CLOSED BY CURVE
-2AA8; 2AA9 # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9; 2AA8 # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA; 2AAB # SMALLER THAN
-2AAB; 2AAA # LARGER THAN
-2AAC; 2AAD # SMALLER THAN OR EQUAL TO
-2AAD; 2AAC # LARGER THAN OR EQUAL TO
-2AAF; 2AB0 # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0; 2AAF # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB3; 2AB4 # PRECEDES ABOVE EQUALS SIGN
-2AB4; 2AB3 # SUCCEEDS ABOVE EQUALS SIGN
-2ABB; 2ABC # DOUBLE PRECEDES
-2ABC; 2ABB # DOUBLE SUCCEEDS
-2ABD; 2ABE # SUBSET WITH DOT
-2ABE; 2ABD # SUPERSET WITH DOT
-2ABF; 2AC0 # SUBSET WITH PLUS SIGN BELOW
-2AC0; 2ABF # SUPERSET WITH PLUS SIGN BELOW
-2AC1; 2AC2 # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2; 2AC1 # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3; 2AC4 # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4; 2AC3 # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5; 2AC6 # SUBSET OF ABOVE EQUALS SIGN
-2AC6; 2AC5 # SUPERSET OF ABOVE EQUALS SIGN
-2ACD; 2ACE # SQUARE LEFT OPEN BOX OPERATOR
-2ACE; 2ACD # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF; 2AD0 # CLOSED SUBSET
-2AD0; 2ACF # CLOSED SUPERSET
-2AD1; 2AD2 # CLOSED SUBSET OR EQUAL TO
-2AD2; 2AD1 # CLOSED SUPERSET OR EQUAL TO
-2AD3; 2AD4 # SUBSET ABOVE SUPERSET
-2AD4; 2AD3 # SUPERSET ABOVE SUBSET
-2AD5; 2AD6 # SUBSET ABOVE SUBSET
-2AD6; 2AD5 # SUPERSET ABOVE SUPERSET
-2ADE; 22A6 # SHORT LEFT TACK
-2AE3; 22A9 # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4; 22A8 # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5; 22AB # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AEC; 2AED # DOUBLE STROKE NOT SIGN
-2AED; 2AEC # REVERSED DOUBLE STROKE NOT SIGN
-2AF7; 2AF8 # TRIPLE NESTED LESS-THAN
-2AF8; 2AF7 # TRIPLE NESTED GREATER-THAN
-2AF9; 2AFA # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA; 2AF9 # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2E02; 2E03 # LEFT SUBSTITUTION BRACKET
-2E03; 2E02 # RIGHT SUBSTITUTION BRACKET
-2E04; 2E05 # LEFT DOTTED SUBSTITUTION BRACKET
-2E05; 2E04 # RIGHT DOTTED SUBSTITUTION BRACKET
-2E09; 2E0A # LEFT TRANSPOSITION BRACKET
-2E0A; 2E09 # RIGHT TRANSPOSITION BRACKET
-2E0C; 2E0D # LEFT RAISED OMISSION BRACKET
-2E0D; 2E0C # RIGHT RAISED OMISSION BRACKET
-2E1C; 2E1D # LEFT LOW PARAPHRASE BRACKET
-2E1D; 2E1C # RIGHT LOW PARAPHRASE BRACKET
-2E20; 2E21 # LEFT VERTICAL BAR WITH QUILL
-2E21; 2E20 # RIGHT VERTICAL BAR WITH QUILL
-2E22; 2E23 # TOP LEFT HALF BRACKET
-2E23; 2E22 # TOP RIGHT HALF BRACKET
-2E24; 2E25 # BOTTOM LEFT HALF BRACKET
-2E25; 2E24 # BOTTOM RIGHT HALF BRACKET
-2E26; 2E27 # LEFT SIDEWAYS U BRACKET
-2E27; 2E26 # RIGHT SIDEWAYS U BRACKET
-2E28; 2E29 # LEFT DOUBLE PARENTHESIS
-2E29; 2E28 # RIGHT DOUBLE PARENTHESIS
-3008; 3009 # LEFT ANGLE BRACKET
-3009; 3008 # RIGHT ANGLE BRACKET
-300A; 300B # LEFT DOUBLE ANGLE BRACKET
-300B; 300A # RIGHT DOUBLE ANGLE BRACKET
-300C; 300D # [BEST FIT] LEFT CORNER BRACKET
-300D; 300C # [BEST FIT] RIGHT CORNER BRACKET
-300E; 300F # [BEST FIT] LEFT WHITE CORNER BRACKET
-300F; 300E # [BEST FIT] RIGHT WHITE CORNER BRACKET
-3010; 3011 # LEFT BLACK LENTICULAR BRACKET
-3011; 3010 # RIGHT BLACK LENTICULAR BRACKET
-3014; 3015 # LEFT TORTOISE SHELL BRACKET
-3015; 3014 # RIGHT TORTOISE SHELL BRACKET
-3016; 3017 # LEFT WHITE LENTICULAR BRACKET
-3017; 3016 # RIGHT WHITE LENTICULAR BRACKET
-3018; 3019 # LEFT WHITE TORTOISE SHELL BRACKET
-3019; 3018 # RIGHT WHITE TORTOISE SHELL BRACKET
-301A; 301B # LEFT WHITE SQUARE BRACKET
-301B; 301A # RIGHT WHITE SQUARE BRACKET
-FE59; FE5A # SMALL LEFT PARENTHESIS
-FE5A; FE59 # SMALL RIGHT PARENTHESIS
-FE5B; FE5C # SMALL LEFT CURLY BRACKET
-FE5C; FE5B # SMALL RIGHT CURLY BRACKET
-FE5D; FE5E # SMALL LEFT TORTOISE SHELL BRACKET
-FE5E; FE5D # SMALL RIGHT TORTOISE SHELL BRACKET
-FE64; FE65 # SMALL LESS-THAN SIGN
-FE65; FE64 # SMALL GREATER-THAN SIGN
-FF08; FF09 # FULLWIDTH LEFT PARENTHESIS
-FF09; FF08 # FULLWIDTH RIGHT PARENTHESIS
-FF1C; FF1E # FULLWIDTH LESS-THAN SIGN
-FF1E; FF1C # FULLWIDTH GREATER-THAN SIGN
-FF3B; FF3D # FULLWIDTH LEFT SQUARE BRACKET
-FF3D; FF3B # FULLWIDTH RIGHT SQUARE BRACKET
-FF5B; FF5D # FULLWIDTH LEFT CURLY BRACKET
-FF5D; FF5B # FULLWIDTH RIGHT CURLY BRACKET
-FF5F; FF60 # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60; FF5F # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF62; FF63 # [BEST FIT] HALFWIDTH LEFT CORNER BRACKET
-FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
-
-# The following characters have no appropriate mirroring character.
-# For these characters it is up to the rendering system
-# to provide mirrored glyphs.
-
-# 2140; DOUBLE-STRUCK N-ARY SUMMATION
-# 2201; COMPLEMENT
-# 2202; PARTIAL DIFFERENTIAL
-# 2203; THERE EXISTS
-# 2204; THERE DOES NOT EXIST
-# 2211; N-ARY SUMMATION
-# 2216; SET MINUS
-# 221A; SQUARE ROOT
-# 221B; CUBE ROOT
-# 221C; FOURTH ROOT
-# 221D; PROPORTIONAL TO
-# 221F; RIGHT ANGLE
-# 2220; ANGLE
-# 2221; MEASURED ANGLE
-# 2222; SPHERICAL ANGLE
-# 2224; DOES NOT DIVIDE
-# 2226; NOT PARALLEL TO
-# 222B; INTEGRAL
-# 222C; DOUBLE INTEGRAL
-# 222D; TRIPLE INTEGRAL
-# 222E; CONTOUR INTEGRAL
-# 222F; SURFACE INTEGRAL
-# 2230; VOLUME INTEGRAL
-# 2231; CLOCKWISE INTEGRAL
-# 2232; CLOCKWISE CONTOUR INTEGRAL
-# 2233; ANTICLOCKWISE CONTOUR INTEGRAL
-# 2239; EXCESS
-# 223B; HOMOTHETIC
-# 223E; INVERTED LAZY S
-# 223F; SINE WAVE
-# 2240; WREATH PRODUCT
-# 2241; NOT TILDE
-# 2242; MINUS TILDE
-# 2244; NOT ASYMPTOTICALLY EQUAL TO
-# 2245; APPROXIMATELY EQUAL TO
-# 2246; APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-# 2247; NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-# 2248; ALMOST EQUAL TO
-# 2249; NOT ALMOST EQUAL TO
-# 224A; ALMOST EQUAL OR EQUAL TO
-# 224B; TRIPLE TILDE
-# 224C; ALL EQUAL TO
-# 225F; QUESTIONED EQUAL TO
-# 2260; NOT EQUAL TO
-# 2262; NOT IDENTICAL TO
-# 228C; MULTISET
-# 22A7; MODELS
-# 22AA; TRIPLE VERTICAL BAR RIGHT TURNSTILE
-# 22AC; DOES NOT PROVE
-# 22AD; NOT TRUE
-# 22AE; DOES NOT FORCE
-# 22AF; NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-# 22B8; MULTIMAP
-# 22BE; RIGHT ANGLE WITH ARC
-# 22BF; RIGHT TRIANGLE
-# 22F5; ELEMENT OF WITH DOT ABOVE
-# 22F8; ELEMENT OF WITH UNDERBAR
-# 22F9; ELEMENT OF WITH TWO HORIZONTAL STROKES
-# 22FF; Z NOTATION BAG MEMBERSHIP
-# 2320; TOP HALF INTEGRAL
-# 2321; BOTTOM HALF INTEGRAL
-# 27CC; LONG DIVISION
-# 27C0; THREE DIMENSIONAL ANGLE
-# 27D3; LOWER RIGHT CORNER WITH DOT
-# 27D4; UPPER LEFT CORNER WITH DOT
-# 27DC; LEFT MULTIMAP
-# 299B; MEASURED ANGLE OPENING LEFT
-# 299C; RIGHT ANGLE VARIANT WITH SQUARE
-# 299D; MEASURED RIGHT ANGLE WITH DOT
-# 299E; ANGLE WITH S INSIDE
-# 299F; ACUTE ANGLE
-# 29A0; SPHERICAL ANGLE OPENING LEFT
-# 29A1; SPHERICAL ANGLE OPENING UP
-# 29A2; TURNED ANGLE
-# 29A3; REVERSED ANGLE
-# 29A4; ANGLE WITH UNDERBAR
-# 29A5; REVERSED ANGLE WITH UNDERBAR
-# 29A6; OBLIQUE ANGLE OPENING UP
-# 29A7; OBLIQUE ANGLE OPENING DOWN
-# 29A8; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-# 29A9; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-# 29AA; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-# 29AB; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-# 29AC; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-# 29AD; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-# 29AE; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-# 29AF; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-# 29C2; CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-# 29C3; CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-# 29C9; TWO JOINED SQUARES
-# 29CE; RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-# 29DC; INCOMPLETE INFINITY
-# 29E1; INCREASES AS
-# 29E3; EQUALS SIGN AND SLANTED PARALLEL
-# 29E4; EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-# 29E5; IDENTICAL TO AND SLANTED PARALLEL
-# 29E8; DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-# 29E9; DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-# 29F4; RULE-DELAYED
-# 29F6; SOLIDUS WITH OVERBAR
-# 29F7; REVERSE SOLIDUS WITH HORIZONTAL STROKE
-# 2A0A; MODULO TWO SUM
-# 2A0B; SUMMATION WITH INTEGRAL
-# 2A0C; QUADRUPLE INTEGRAL OPERATOR
-# 2A0D; FINITE PART INTEGRAL
-# 2A0E; INTEGRAL WITH DOUBLE STROKE
-# 2A0F; INTEGRAL AVERAGE WITH SLASH
-# 2A10; CIRCULATION FUNCTION
-# 2A11; ANTICLOCKWISE INTEGRATION
-# 2A12; LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-# 2A13; LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-# 2A14; LINE INTEGRATION NOT INCLUDING THE POLE
-# 2A15; INTEGRAL AROUND A POINT OPERATOR
-# 2A16; QUATERNION INTEGRAL OPERATOR
-# 2A17; INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-# 2A18; INTEGRAL WITH TIMES SIGN
-# 2A19; INTEGRAL WITH INTERSECTION
-# 2A1A; INTEGRAL WITH UNION
-# 2A1B; INTEGRAL WITH OVERBAR
-# 2A1C; INTEGRAL WITH UNDERBAR
-# 2A1E; LARGE LEFT TRIANGLE OPERATOR
-# 2A1F; Z NOTATION SCHEMA COMPOSITION
-# 2A20; Z NOTATION SCHEMA PIPING
-# 2A21; Z NOTATION SCHEMA PROJECTION
-# 2A24; PLUS SIGN WITH TILDE ABOVE
-# 2A26; PLUS SIGN WITH TILDE BELOW
-# 2A29; MINUS SIGN WITH COMMA ABOVE
-# 2A3E; Z NOTATION RELATIONAL COMPOSITION
-# 2A57; SLOPING LARGE OR
-# 2A58; SLOPING LARGE AND
-# 2A6A; TILDE OPERATOR WITH DOT ABOVE
-# 2A6B; TILDE OPERATOR WITH RISING DOTS
-# 2A6C; SIMILAR MINUS SIMILAR
-# 2A6D; CONGRUENT WITH DOT ABOVE
-# 2A6F; ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-# 2A70; APPROXIMATELY EQUAL OR EQUAL TO
-# 2A73; EQUALS SIGN ABOVE TILDE OPERATOR
-# 2A74; DOUBLE COLON EQUAL
-# 2A7B; LESS-THAN WITH QUESTION MARK ABOVE
-# 2A7C; GREATER-THAN WITH QUESTION MARK ABOVE
-# 2A85; LESS-THAN OR APPROXIMATE
-# 2A86; GREATER-THAN OR APPROXIMATE
-# 2A87; LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-# 2A88; GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-# 2A89; LESS-THAN AND NOT APPROXIMATE
-# 2A8A; GREATER-THAN AND NOT APPROXIMATE
-# 2A8D; LESS-THAN ABOVE SIMILAR OR EQUAL
-# 2A8E; GREATER-THAN ABOVE SIMILAR OR EQUAL
-# 2A8F; LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-# 2A90; GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-# 2A9D; SIMILAR OR LESS-THAN
-# 2A9E; SIMILAR OR GREATER-THAN
-# 2A9F; SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-# 2AA0; SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-# 2AA3; DOUBLE NESTED LESS-THAN WITH UNDERBAR
-# 2AB1; PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-# 2AB2; SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-# 2AB5; PRECEDES ABOVE NOT EQUAL TO
-# 2AB6; SUCCEEDS ABOVE NOT EQUAL TO
-# 2AB7; PRECEDES ABOVE ALMOST EQUAL TO
-# 2AB8; SUCCEEDS ABOVE ALMOST EQUAL TO
-# 2AB9; PRECEDES ABOVE NOT ALMOST EQUAL TO
-# 2ABA; SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-# 2AC7; SUBSET OF ABOVE TILDE OPERATOR
-# 2AC8; SUPERSET OF ABOVE TILDE OPERATOR
-# 2AC9; SUBSET OF ABOVE ALMOST EQUAL TO
-# 2ACA; SUPERSET OF ABOVE ALMOST EQUAL TO
-# 2ACB; SUBSET OF ABOVE NOT EQUAL TO
-# 2ACC; SUPERSET OF ABOVE NOT EQUAL TO
-# 2ADC; FORKING
-# 2AE2; VERTICAL BAR TRIPLE RIGHT TURNSTILE
-# 2AE6; LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-# 2AEE; DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-# 2AF3; PARALLEL WITH TILDE OPERATOR
-# 2AFB; TRIPLE SOLIDUS BINARY RELATION
-# 2AFD; DOUBLE SOLIDUS OPERATOR
-# 1D6DB; MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-# 1D715; MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-# 1D74F; MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-# 1D789; MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-# 1D7C3; MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/Blocks.txt b/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
index 75216736718..50df2e1d311 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
@@ -1,8 +1,8 @@
-# Blocks-5.2.0.txt
-# Date: 2009-05-19, 16:21:00 PDT [KW]
+# Blocks-6.0.0.txt
+# Date: 2010-06-04, 11:12:00 PDT [KW]
#
# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
+# Copyright (c) 1991-2010 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -45,6 +45,7 @@
0780..07BF; Thaana
07C0..07FF; NKo
0800..083F; Samaritan
+0840..085F; Mandaic
0900..097F; Devanagari
0980..09FF; Bengali
0A00..0A7F; Gurmukhi
@@ -82,6 +83,7 @@
1A20..1AAF; Tai Tham
1B00..1B7F; Balinese
1B80..1BBF; Sundanese
+1BC0..1BFF; Batak
1C00..1C4F; Lepcha
1C50..1C7F; Ol Chiki
1CD0..1CFF; Vedic Extensions
@@ -159,6 +161,7 @@ A980..A9DF; Javanese
AA00..AA5F; Cham
AA60..AA7F; Myanmar Extended-A
AA80..AADF; Tai Viet
+AB00..AB2F; Ethiopic Extended-A
ABC0..ABFF; Meetei Mayek
AC00..D7AF; Hangul Syllables
D7B0..D7FF; Hangul Jamo Extended-B
@@ -203,10 +206,13 @@ FFF0..FFFF; Specials
10B60..10B7F; Inscriptional Pahlavi
10C00..10C4F; Old Turkic
10E60..10E7F; Rumi Numeral Symbols
+11000..1107F; Brahmi
11080..110CF; Kaithi
12000..123FF; Cuneiform
12400..1247F; Cuneiform Numbers and Punctuation
13000..1342F; Egyptian Hieroglyphs
+16800..16A3F; Bamum Supplement
+1B000..1B0FF; Kana Supplement
1D000..1D0FF; Byzantine Musical Symbols
1D100..1D1FF; Musical Symbols
1D200..1D24F; Ancient Greek Musical Notation
@@ -215,10 +221,16 @@ FFF0..FFFF; Specials
1D400..1D7FF; Mathematical Alphanumeric Symbols
1F000..1F02F; Mahjong Tiles
1F030..1F09F; Domino Tiles
+1F0A0..1F0FF; Playing Cards
1F100..1F1FF; Enclosed Alphanumeric Supplement
1F200..1F2FF; Enclosed Ideographic Supplement
+1F300..1F5FF; Miscellaneous Symbols And Pictographs
+1F600..1F64F; Emoticons
+1F680..1F6FF; Transport And Map Symbols
+1F700..1F77F; Alchemical Symbols
20000..2A6DF; CJK Unified Ideographs Extension B
2A700..2B73F; CJK Unified Ideographs Extension C
+2B740..2B81F; CJK Unified Ideographs Extension D
2F800..2FA1F; CJK Compatibility Ideographs Supplement
E0000..E007F; Tags
E0100..E01EF; Variation Selectors Supplement
diff --git a/Master/tlpkg/tlperl/lib/unicore/CJKRadicals.txt b/Master/tlpkg/tlperl/lib/unicore/CJKRadicals.txt
deleted file mode 100644
index 7336ae51134..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/CJKRadicals.txt
+++ /dev/null
@@ -1,267 +0,0 @@
-# CJKRadicals-5.2.0.txt
-# Date: 2009-05-28, 11:45:00 PDT [RC]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr38/
-#
-# Mapping from radical numbers to characters.
-#
-# This data file provides a mapping from the radical numbers used
-# in the kRSUnicode property to the corresponding character
-# in the CJK Radical block or the CJK Radicals Supplement block, as
-# well as to a CJK Unified Ideograph which is formed from that radical
-# only.
-#
-# There is one line per radical number. Each line contains three
-# fields, separated by a semicolon (';'). The first field is the
-# radical number. The second field is the CJK Radical character. The third
-# field is the CJK Unified Ideograph.
-#
-# Radical numbers match the regular expression [0-9]{1,3}\'?
-# and in particular they can end with a U+0027 ' APOSTROPHE.
-#
-# This file was created for Unicode 5.2 by Richard Cook.
-#
-# ####################################################
-
-1; 2F00; 4E00
-2; 2F01; 4E28
-3; 2F02; 4E36
-4; 2F03; 4E3F
-5; 2F04; 4E59
-6; 2F05; 4E85
-7; 2F06; 4E8C
-8; 2F07; 4EA0
-9; 2F08; 4EBA
-10; 2F09; 513F
-11; 2F0A; 5165
-12; 2F0B; 516B
-13; 2F0C; 5182
-14; 2F0D; 5196
-15; 2F0E; 51AB
-16; 2F0F; 51E0
-17; 2F10; 51F5
-18; 2F11; 5200
-19; 2F12; 529B
-20; 2F13; 52F9
-21; 2F14; 5315
-22; 2F15; 531A
-23; 2F16; 5338
-24; 2F17; 5341
-25; 2F18; 535C
-26; 2F19; 5369
-27; 2F1A; 5382
-28; 2F1B; 53B6
-29; 2F1C; 53C8
-30; 2F1D; 53E3
-31; 2F1E; 56D7
-32; 2F1F; 571F
-33; 2F20; 58EB
-34; 2F21; 5902
-35; 2F22; 590A
-36; 2F23; 5915
-37; 2F24; 5927
-38; 2F25; 5973
-39; 2F26; 5B50
-40; 2F27; 5B80
-41; 2F28; 5BF8
-42; 2F29; 5C0F
-43; 2F2A; 5C22
-44; 2F2B; 5C38
-45; 2F2C; 5C6E
-46; 2F2D; 5C71
-47; 2F2E; 5DDB
-48; 2F2F; 5DE5
-49; 2F30; 5DF1
-50; 2F31; 5DFE
-51; 2F32; 5E72
-52; 2F33; 5E7A
-53; 2F34; 5E7F
-54; 2F35; 5EF4
-55; 2F36; 5EFE
-56; 2F37; 5F0B
-57; 2F38; 5F13
-58; 2F39; 5F50
-59; 2F3A; 5F61
-60; 2F3B; 5F73
-61; 2F3C; 5FC3
-62; 2F3D; 6208
-63; 2F3E; 6236
-64; 2F3F; 624B
-65; 2F40; 652F
-66; 2F41; 6534
-67; 2F42; 6587
-68; 2F43; 6597
-69; 2F44; 65A4
-70; 2F45; 65B9
-71; 2F46; 65E0
-72; 2F47; 65E5
-73; 2F48; 66F0
-74; 2F49; 6708
-75; 2F4A; 6728
-76; 2F4B; 6B20
-77; 2F4C; 6B62
-78; 2F4D; 6B79
-79; 2F4E; 6BB3
-80; 2F4F; 6BCB
-81; 2F50; 6BD4
-82; 2F51; 6BDB
-83; 2F52; 6C0F
-84; 2F53; 6C14
-85; 2F54; 6C34
-86; 2F55; 706B
-87; 2F56; 722A
-88; 2F57; 7236
-89; 2F58; 723B
-90; 2F59; 723F
-91; 2F5A; 7247
-92; 2F5B; 7259
-93; 2F5C; 725B
-94; 2F5D; 72AC
-95; 2F5E; 7384
-96; 2F5F; 7389
-97; 2F60; 74DC
-98; 2F61; 74E6
-99; 2F62; 7518
-100; 2F63; 751F
-101; 2F64; 7528
-102; 2F65; 7530
-103; 2F66; 758B
-104; 2F67; 7592
-105; 2F68; 7676
-106; 2F69; 767D
-107; 2F6A; 76AE
-108; 2F6B; 76BF
-109; 2F6C; 76EE
-110; 2F6D; 77DB
-111; 2F6E; 77E2
-112; 2F6F; 77F3
-113; 2F70; 793A
-114; 2F71; 79B8
-115; 2F72; 79BE
-116; 2F73; 7A74
-117; 2F74; 7ACB
-118; 2F75; 7AF9
-119; 2F76; 7C73
-120; 2F77; 7CF8
-120'; 2EB0; 7E9F
-121; 2F78; 7F36
-122; 2F79; 7F51
-123; 2F7A; 7F8A
-124; 2F7B; 7FBD
-125; 2F7C; 8001
-126; 2F7D; 800C
-127; 2F7E; 8012
-128; 2F7F; 8033
-129; 2F80; 807F
-130; 2F81; 8089
-131; 2F82; 81E3
-132; 2F83; 81EA
-133; 2F84; 81F3
-134; 2F85; 81FC
-135; 2F86; 820C
-136; 2F87; 821B
-137; 2F88; 821F
-138; 2F89; 826E
-139; 2F8A; 8272
-140; 2F8B; 8278
-141; 2F8C; 864D
-142; 2F8D; 866B
-143; 2F8E; 8840
-144; 2F8F; 884C
-145; 2F90; 8863
-146; 2F91; 897E
-147; 2F92; 898B
-147'; 2EC5; 89C1
-148; 2F93; 89D2
-149; 2F94; 8A00
-149'; 2EC8; 8BA0
-150; 2F95; 8C37
-151; 2F96; 8C46
-152; 2F97; 8C55
-153; 2F98; 8C78
-154; 2F99; 8C9D
-154'; 2EC9; 8D1D
-155; 2F9A; 8D64
-156; 2F9B; 8D70
-157; 2F9C; 8DB3
-158; 2F9D; 8EAB
-159; 2F9E; 8ECA
-159'; 2ECB; 8F66
-160; 2F9F; 8F9B
-161; 2FA0; 8FB0
-162; 2FA1; 8FB5
-163; 2FA2; 9091
-164; 2FA3; 9149
-165; 2FA4; 91C6
-166; 2FA5; 91CC
-167; 2FA6; 91D1
-167'; 2ED0; 9485
-168; 2FA7; 9577
-168'; 2ED3; 957F
-169; 2FA8; 9580
-169'; 2ED4; 95E8
-170; 2FA9; 961C
-171; 2FAA; 96B6
-172; 2FAB; 96B9
-173; 2FAC; 96E8
-174; 2FAD; 9751
-175; 2FAE; 975E
-176; 2FAF; 9762
-177; 2FB0; 9769
-178; 2FB1; 97CB
-178'; 2ED9; 97E6
-179; 2FB2; 97ED
-180; 2FB3; 97F3
-181; 2FB4; 9801
-181'; 2EDA; 9875
-182; 2FB5; 98A8
-182'; 2EDB; 98CE
-183; 2FB6; 98DB
-183'; 2EDC; 98DE
-184; 2FB7; 98DF
-184'; 2EE0; 9963
-185; 2FB8; 9996
-186; 2FB9; 9999
-187; 2FBA; 99AC
-187'; 2EE2; 9A6C
-188; 2FBB; 9AA8
-189; 2FBC; 9AD8
-190; 2FBD; 9ADF
-191; 2FBE; 9B25
-192; 2FBF; 9B2F
-193; 2FC0; 9B32
-194; 2FC1; 9B3C
-195; 2FC2; 9B5A
-195'; 2EE5; 9C7C
-196'; 2EE6; 9E1F
-196; 2FC3; 9CE5
-197; 2FC4; 9E75
-197'; 2EE7; 5364
-198; 2FC5; 9E7F
-199; 2FC6; 9EA5
-199'; 2EE8; 9EA6
-200; 2FC7; 9EBB
-201; 2FC8; 9EC3
-202; 2FC9; 9ECD
-203; 2FCA; 9ED1
-204; 2FCB; 9EF9
-205; 2FCC; 9EFD
-205'; 2EEA; 9EFE
-206; 2FCD; 9F0E
-207; 2FCE; 9F13
-208; 2FCF; 9F20
-209; 2FD0; 9F3B
-210; 2FD1; 9F4A
-210'; 2EEC; 9F50
-211; 2FD2; 9F52
-211'; 2EEE; 9F7F
-212; 2FD3; 9F8D
-212'; 2EF0; 9F99
-213; 2FD4; 9F9C
-213'; 2EF3; 9F9F
-214; 2FD5; 9FA0
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt b/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt
index bd0e86d03af..ffe6173d752 100644
--- a/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt
@@ -1,8 +1,8 @@
-# CaseFolding-5.2.0.txt
-# Date: 2009-05-28, 23:02:34 GMT [MD]
+# CaseFolding-6.0.0.txt
+# Date: 2010-05-18, 00:48:57 GMT [MD]
#
# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
+# Copyright (c) 1991-2010 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -496,6 +496,7 @@
0520; C; 0521; # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
0522; C; 0523; # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
0524; C; 0525; # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+0526; C; 0527; # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
0531; C; 0561; # ARMENIAN CAPITAL LETTER AYB
0532; C; 0562; # ARMENIAN CAPITAL LETTER BEN
0533; C; 0563; # ARMENIAN CAPITAL LETTER GIM
@@ -1057,6 +1058,7 @@ A658; C; A659; # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
A65A; C; A65B; # CYRILLIC CAPITAL LETTER BLENDED YUS
A65C; C; A65D; # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
A65E; C; A65F; # CYRILLIC CAPITAL LETTER YN
+A660; C; A661; # CYRILLIC CAPITAL LETTER REVERSED TSE
A662; C; A663; # CYRILLIC CAPITAL LETTER SOFT DE
A664; C; A665; # CYRILLIC CAPITAL LETTER SOFT EL
A666; C; A667; # CYRILLIC CAPITAL LETTER SOFT EM
@@ -1122,6 +1124,13 @@ A782; C; A783; # LATIN CAPITAL LETTER INSULAR R
A784; C; A785; # LATIN CAPITAL LETTER INSULAR S
A786; C; A787; # LATIN CAPITAL LETTER INSULAR T
A78B; C; A78C; # LATIN CAPITAL LETTER SALTILLO
+A78D; C; 0265; # LATIN CAPITAL LETTER TURNED H
+A790; C; A791; # LATIN CAPITAL LETTER N WITH DESCENDER
+A7A0; C; A7A1; # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+A7A2; C; A7A3; # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+A7A4; C; A7A5; # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+A7A6; C; A7A7; # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+A7A8; C; A7A9; # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
FB00; F; 0066 0066; # LATIN SMALL LIGATURE FF
FB01; F; 0066 0069; # LATIN SMALL LIGATURE FI
FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL
diff --git a/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl b/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
index a0295147d52..94179f76e8c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
@@ -1,30 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the synonymous mappings:
-# Perl_Canonical_Combining_Class(cp)
-# Perl_ccc(cp)
-#
-# where 'cp' is one of the 594 code points in Unicode Version 5.2.0 for which
-# the mapping is not to '0'. Note that these mappings are not accessible
-# through the Perl core directly.
-#
-# This mapping is for normalize.pm. It is currently identical to the Unicode
-# Canonical_Combining_Class property.
-#
-# The format of the non-comment portions of the main body of lines of this
-# file is: START\tSTOP\tMAPPING where START is the starting code point of the
-# range, in hex; STOP is the ending point, or if omitted, the range has just
-# one code point; MAPPING is what each code point between START and STOP maps
-# to. Numbers in comments in [brackets] indicate how many code points are in
-# the range (omitted when the range is a single code point or if the mapping
-# is to the null string).
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -33,48 +15,48 @@ $utf8::SwashInfo{'ToCombiningClass'}{'format'} = 'i'; # integer
$utf8::SwashInfo{'ToCombiningClass'}{'missing'} = '0';
return <<'END';
-0300 0314 230 # [21]
+0300 0314 230
0315 232
-0316 0319 220 # [4]
+0316 0319 220
031A 232
031B 216
-031C 0320 220 # [5]
-0321 0322 202 # [2]
-0323 0326 220 # [4]
-0327 0328 202 # [2]
-0329 0333 220 # [11]
-0334 0338 1 # [5]
-0339 033C 220 # [4]
-033D 0344 230 # [8]
+031C 0320 220
+0321 0322 202
+0323 0326 220
+0327 0328 202
+0329 0333 220
+0334 0338 1
+0339 033C 220
+033D 0344 230
0345 240
0346 230
-0347 0349 220 # [3]
-034A 034C 230 # [3]
-034D 034E 220 # [2]
-0350 0352 230 # [3]
-0353 0356 220 # [4]
+0347 0349 220
+034A 034C 230
+034D 034E 220
+0350 0352 230
+0353 0356 220
0357 230
0358 232
-0359 035A 220 # [2]
+0359 035A 220
035B 230
035C 233
-035D 035E 234 # [2]
+035D 035E 234
035F 233
-0360 0361 234 # [2]
+0360 0361 234
0362 233
-0363 036F 230 # [13]
-0483 0487 230 # [5]
+0363 036F 230
+0483 0487 230
0591 220
-0592 0595 230 # [4]
+0592 0595 230
0596 220
-0597 0599 230 # [3]
+0597 0599 230
059A 222
059B 220
-059C 05A1 230 # [6]
-05A2 05A7 220 # [6]
-05A8 05A9 230 # [2]
+059C 05A1 230
+05A2 05A7 220
+05A8 05A9 230
05AA 220
-05AB 05AC 230 # [2]
+05AB 05AC 230
05AD 222
05AE 228
05AF 230
@@ -87,7 +69,7 @@ return <<'END';
05B6 16
05B7 17
05B8 18
-05B9 05BA 19 # [2]
+05B9 05BA 19
05BB 20
05BC 21
05BD 22
@@ -97,7 +79,7 @@ return <<'END';
05C4 230
05C5 220
05C7 18
-0610 0617 230 # [8]
+0610 0617 230
0618 30
0619 31
061A 32
@@ -109,32 +91,33 @@ return <<'END';
0650 32
0651 33
0652 34
-0653 0654 230 # [2]
-0655 0656 220 # [2]
-0657 065B 230 # [5]
+0653 0654 230
+0655 0656 220
+0657 065B 230
065C 220
-065D 065E 230 # [2]
+065D 065E 230
+065F 220
0670 35
-06D6 06DC 230 # [7]
-06DF 06E2 230 # [4]
+06D6 06DC 230
+06DF 06E2 230
06E3 220
06E4 230
-06E7 06E8 230 # [2]
+06E7 06E8 230
06EA 220
-06EB 06EC 230 # [2]
+06EB 06EC 230
06ED 220
0711 36
0730 230
0731 220
-0732 0733 230 # [2]
+0732 0733 230
0734 220
-0735 0736 230 # [2]
-0737 0739 220 # [3]
+0735 0736 230
+0737 0739 220
073A 230
-073B 073C 220 # [2]
+073B 073C 220
073D 230
073E 220
-073F 0741 230 # [3]
+073F 0741 230
0742 220
0743 230
0744 220
@@ -142,19 +125,20 @@ return <<'END';
0746 220
0747 230
0748 220
-0749 074A 230 # [2]
-07EB 07F1 230 # [7]
+0749 074A 230
+07EB 07F1 230
07F2 220
07F3 230
-0816 0819 230 # [4]
-081B 0823 230 # [9]
-0825 0827 230 # [3]
-0829 082D 230 # [5]
+0816 0819 230
+081B 0823 230
+0825 0827 230
+0829 082D 230
+0859 085B 220
093C 7
094D 9
0951 230
0952 220
-0953 0954 230 # [2]
+0953 0954 230
09BC 7
09CD 9
0A3C 7
@@ -171,28 +155,28 @@ return <<'END';
0CCD 9
0D4D 9
0DCA 9
-0E38 0E39 103 # [2]
+0E38 0E39 103
0E3A 9
-0E48 0E4B 107 # [4]
-0EB8 0EB9 118 # [2]
-0EC8 0ECB 122 # [4]
-0F18 0F19 220 # [2]
+0E48 0E4B 107
+0EB8 0EB9 118
+0EC8 0ECB 122
+0F18 0F19 220
0F35 220
0F37 220
0F39 216
0F71 129
0F72 130
0F74 132
-0F7A 0F7D 130 # [4]
+0F7A 0F7D 130
0F80 130
-0F82 0F83 230 # [2]
+0F82 0F83 230
0F84 9
-0F86 0F87 230 # [2]
+0F86 0F87 230
0FC6 220
1037 7
-1039 103A 9 # [2]
+1039 103A 9
108D 220
-135F 230
+135D 135F 230
1714 9
1734 9
17D2 9
@@ -204,76 +188,80 @@ return <<'END';
1A17 230
1A18 220
1A60 9
-1A75 1A7C 230 # [8]
+1A75 1A7C 230
1A7F 220
1B34 7
1B44 9
1B6B 230
1B6C 220
-1B6D 1B73 230 # [7]
+1B6D 1B73 230
1BAA 9
+1BE6 7
+1BF2 1BF3 9
1C37 7
-1CD0 1CD2 230 # [3]
+1CD0 1CD2 230
1CD4 1
-1CD5 1CD9 220 # [5]
-1CDA 1CDB 230 # [2]
-1CDC 1CDF 220 # [4]
+1CD5 1CD9 220
+1CDA 1CDB 230
+1CDC 1CDF 220
1CE0 230
-1CE2 1CE8 1 # [7]
+1CE2 1CE8 1
1CED 220
-1DC0 1DC1 230 # [2]
+1DC0 1DC1 230
1DC2 220
-1DC3 1DC9 230 # [7]
+1DC3 1DC9 230
1DCA 220
-1DCB 1DCC 230 # [2]
+1DCB 1DCC 230
1DCD 234
1DCE 214
1DCF 220
1DD0 202
-1DD1 1DE6 230 # [22]
+1DD1 1DE6 230
+1DFC 233
1DFD 220
1DFE 230
1DFF 220
-20D0 20D1 230 # [2]
-20D2 20D3 1 # [2]
-20D4 20D7 230 # [4]
-20D8 20DA 1 # [3]
-20DB 20DC 230 # [2]
+20D0 20D1 230
+20D2 20D3 1
+20D4 20D7 230
+20D8 20DA 1
+20DB 20DC 230
20E1 230
-20E5 20E6 1 # [2]
+20E5 20E6 1
20E7 230
20E8 220
20E9 230
-20EA 20EB 1 # [2]
-20EC 20EF 220 # [4]
+20EA 20EB 1
+20EC 20EF 220
20F0 230
-2CEF 2CF1 230 # [3]
-2DE0 2DFF 230 # [32]
+2CEF 2CF1 230
+2D7F 9
+2DE0 2DFF 230
302A 218
302B 228
302C 232
302D 222
-302E 302F 224 # [2]
-3099 309A 8 # [2]
+302E 302F 224
+3099 309A 8
A66F 230
-A67C A67D 230 # [2]
-A6F0 A6F1 230 # [2]
+A67C A67D 230
+A6F0 A6F1 230
A806 9
A8C4 9
-A8E0 A8F1 230 # [18]
-A92B A92D 220 # [3]
+A8E0 A8F1 230
+A92B A92D 220
A953 9
A9B3 7
A9C0 9
AAB0 230
-AAB2 AAB3 230 # [2]
+AAB2 AAB3 230
AAB4 220
-AAB7 AAB8 230 # [2]
-AABE AABF 230 # [2]
+AAB7 AAB8 230
+AABE AABF 230
AAC1 230
ABED 9
FB1E 26
-FE20 FE26 230 # [7]
+FE20 FE26 230
101FD 220
10A0D 220
10A0F 230
@@ -281,15 +269,16 @@ FE20 FE26 230 # [7]
10A39 1
10A3A 220
10A3F 9
+11046 9
110B9 9
110BA 7
-1D165 1D166 216 # [2]
-1D167 1D169 1 # [3]
+1D165 1D166 216
+1D167 1D169 1
1D16D 226
-1D16E 1D172 216 # [5]
-1D17B 1D182 220 # [8]
-1D185 1D189 230 # [5]
-1D18A 1D18B 220 # [2]
-1D1AA 1D1AD 230 # [4]
-1D242 1D244 230 # [3]
+1D16E 1D172 216
+1D17B 1D182 220
+1D185 1D189 230
+1D18A 1D18B 220
+1D1AA 1D1AD 230
+1D242 1D244 230
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/CompositionExclusions.txt b/Master/tlpkg/tlperl/lib/unicore/CompositionExclusions.txt
deleted file mode 100644
index 3e45de2761d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/CompositionExclusions.txt
+++ /dev/null
@@ -1,197 +0,0 @@
-# CompositionExclusions-5.2.0.txt
-# Date: 2009-05-22, 12:52:00 PDT [KW]
-#
-# This file lists the characters for the Composition Exclusion Table
-# defined in UAX #15, Unicode Normalization Forms.
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# For more information, see
-# http://www.unicode.org/unicode/reports/tr15/#Primary Exclusion List Table
-#
-# For a full derivation of composition exclusions, see the derived property
-# Full_Composition_Exclusion in DerivedNormalizationProps.txt
-#
-
-# ================================================
-# (1) Script Specifics
-#
-# This list of characters cannot be derived from the UnicodeData.txt file.
-# ================================================
-
-0958 # DEVANAGARI LETTER QA
-0959 # DEVANAGARI LETTER KHHA
-095A # DEVANAGARI LETTER GHHA
-095B # DEVANAGARI LETTER ZA
-095C # DEVANAGARI LETTER DDDHA
-095D # DEVANAGARI LETTER RHA
-095E # DEVANAGARI LETTER FA
-095F # DEVANAGARI LETTER YYA
-09DC # BENGALI LETTER RRA
-09DD # BENGALI LETTER RHA
-09DF # BENGALI LETTER YYA
-0A33 # GURMUKHI LETTER LLA
-0A36 # GURMUKHI LETTER SHA
-0A59 # GURMUKHI LETTER KHHA
-0A5A # GURMUKHI LETTER GHHA
-0A5B # GURMUKHI LETTER ZA
-0A5E # GURMUKHI LETTER FA
-0B5C # ORIYA LETTER RRA
-0B5D # ORIYA LETTER RHA
-0F43 # TIBETAN LETTER GHA
-0F4D # TIBETAN LETTER DDHA
-0F52 # TIBETAN LETTER DHA
-0F57 # TIBETAN LETTER BHA
-0F5C # TIBETAN LETTER DZHA
-0F69 # TIBETAN LETTER KSSA
-0F76 # TIBETAN VOWEL SIGN VOCALIC R
-0F78 # TIBETAN VOWEL SIGN VOCALIC L
-0F93 # TIBETAN SUBJOINED LETTER GHA
-0F9D # TIBETAN SUBJOINED LETTER DDHA
-0FA2 # TIBETAN SUBJOINED LETTER DHA
-0FA7 # TIBETAN SUBJOINED LETTER BHA
-0FAC # TIBETAN SUBJOINED LETTER DZHA
-0FB9 # TIBETAN SUBJOINED LETTER KSSA
-FB1D # HEBREW LETTER YOD WITH HIRIQ
-FB1F # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A # HEBREW LETTER SHIN WITH SHIN DOT
-FB2B # HEBREW LETTER SHIN WITH SIN DOT
-FB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E # HEBREW LETTER ALEF WITH PATAH
-FB2F # HEBREW LETTER ALEF WITH QAMATS
-FB30 # HEBREW LETTER ALEF WITH MAPIQ
-FB31 # HEBREW LETTER BET WITH DAGESH
-FB32 # HEBREW LETTER GIMEL WITH DAGESH
-FB33 # HEBREW LETTER DALET WITH DAGESH
-FB34 # HEBREW LETTER HE WITH MAPIQ
-FB35 # HEBREW LETTER VAV WITH DAGESH
-FB36 # HEBREW LETTER ZAYIN WITH DAGESH
-FB38 # HEBREW LETTER TET WITH DAGESH
-FB39 # HEBREW LETTER YOD WITH DAGESH
-FB3A # HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B # HEBREW LETTER KAF WITH DAGESH
-FB3C # HEBREW LETTER LAMED WITH DAGESH
-FB3E # HEBREW LETTER MEM WITH DAGESH
-FB40 # HEBREW LETTER NUN WITH DAGESH
-FB41 # HEBREW LETTER SAMEKH WITH DAGESH
-FB43 # HEBREW LETTER FINAL PE WITH DAGESH
-FB44 # HEBREW LETTER PE WITH DAGESH
-FB46 # HEBREW LETTER TSADI WITH DAGESH
-FB47 # HEBREW LETTER QOF WITH DAGESH
-FB48 # HEBREW LETTER RESH WITH DAGESH
-FB49 # HEBREW LETTER SHIN WITH DAGESH
-FB4A # HEBREW LETTER TAV WITH DAGESH
-FB4B # HEBREW LETTER VAV WITH HOLAM
-FB4C # HEBREW LETTER BET WITH RAFE
-FB4D # HEBREW LETTER KAF WITH RAFE
-FB4E # HEBREW LETTER PE WITH RAFE
-
-# Total code points: 67
-
-# ================================================
-# (2) Post Composition Version precomposed characters
-#
-# These characters cannot be derived solely from the UnicodeData.txt file
-# in this version of Unicode.
-#
-# Note that characters added to the standard after the
-# Composition Version and which have canonical decomposition mappings
-# are not automatically added to this list of Post Composition
-# Version precomposed characters.
-# ================================================
-
-2ADC # FORKING
-1D15E # MUSICAL SYMBOL HALF NOTE
-1D15F # MUSICAL SYMBOL QUARTER NOTE
-1D160 # MUSICAL SYMBOL EIGHTH NOTE
-1D161 # MUSICAL SYMBOL SIXTEENTH NOTE
-1D162 # MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163 # MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164 # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB # MUSICAL SYMBOL MINIMA
-1D1BC # MUSICAL SYMBOL MINIMA BLACK
-1D1BD # MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE # MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF # MUSICAL SYMBOL FUSA WHITE
-1D1C0 # MUSICAL SYMBOL FUSA BLACK
-
-# Total code points: 14
-
-# ================================================
-# (3) Singleton Decompositions
-#
-# These characters can be derived from the UnicodeData.txt file
-# by including all characters whose canonical decomposition
-# consists of a single character.
-#
-# These characters are simply quoted here for reference.
-# See also Full_Composition_Exclusion in DerivedNormalizationProps.txt
-# ================================================
-
-# 0340..0341 [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-# 0343 COMBINING GREEK KORONIS
-# 0374 GREEK NUMERAL SIGN
-# 037E GREEK QUESTION MARK
-# 0387 GREEK ANO TELEIA
-# 1F71 GREEK SMALL LETTER ALPHA WITH OXIA
-# 1F73 GREEK SMALL LETTER EPSILON WITH OXIA
-# 1F75 GREEK SMALL LETTER ETA WITH OXIA
-# 1F77 GREEK SMALL LETTER IOTA WITH OXIA
-# 1F79 GREEK SMALL LETTER OMICRON WITH OXIA
-# 1F7B GREEK SMALL LETTER UPSILON WITH OXIA
-# 1F7D GREEK SMALL LETTER OMEGA WITH OXIA
-# 1FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
-# 1FBE GREEK PROSGEGRAMMENI
-# 1FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
-# 1FCB GREEK CAPITAL LETTER ETA WITH OXIA
-# 1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-# 1FDB GREEK CAPITAL LETTER IOTA WITH OXIA
-# 1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-# 1FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
-# 1FEE..1FEF [2] GREEK DIALYTIKA AND OXIA..GREEK VARIA
-# 1FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
-# 1FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
-# 1FFD GREEK OXIA
-# 2000..2001 [2] EN QUAD..EM QUAD
-# 2126 OHM SIGN
-# 212A..212B [2] KELVIN SIGN..ANGSTROM SIGN
-# 2329 LEFT-POINTING ANGLE BRACKET
-# 232A RIGHT-POINTING ANGLE BRACKET
-# F900..FA0D [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-# FA10 CJK COMPATIBILITY IDEOGRAPH-FA10
-# FA12 CJK COMPATIBILITY IDEOGRAPH-FA12
-# FA15..FA1E [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-# FA20 CJK COMPATIBILITY IDEOGRAPH-FA20
-# FA22 CJK COMPATIBILITY IDEOGRAPH-FA22
-# FA25..FA26 [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-# FA2A..FA2D [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-# FA30..FA6D [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-# FA70..FAD9 [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-# 2F800..2FA1D [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 1033
-
-# ================================================
-# (4) Non-Starter Decompositions
-#
-# These characters can be derived from the UnicodeData file
-# by including all characters whose canonical decomposition consists
-# of a sequence of characters, the first of which has a non-zero
-# combining class.
-#
-# These characters are simply quoted here for reference.
-# See also Full_Composition_Exclusion in DerivedNormalizationProps.txt
-# ================================================
-
-# 0344 COMBINING GREEK DIALYTIKA TONOS
-# 0F73 TIBETAN VOWEL SIGN II
-# 0F75 TIBETAN VOWEL SIGN UU
-# 0F81 TIBETAN VOWEL SIGN REVERSED II
-
-# Total code points: 4
-
diff --git a/Master/tlpkg/tlperl/lib/unicore/DAge.txt b/Master/tlpkg/tlperl/lib/unicore/DAge.txt
deleted file mode 100644
index a0390291c5d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/DAge.txt
+++ /dev/null
@@ -1,1064 +0,0 @@
-# DerivedAge-5.2.0.txt
-# Date: 2009-09-17, 22:52:52 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-#
-# Unicode Character Database: Derived Property Data
-# This file shows when various code points were first assigned in Unicode.
-#
-# Notes:
-#
-# - The term 'assigned' means that a previously reserved code point was assigned
-# to be a character (graphic, format, control, or private-use);
-# a noncharacter code point; or a surrogate code point.
-# For more information, see The Unicode Standard Section 2.4
-#
-# - Versions are only tracked from 1.1 onwards, since version 1.0
-# predated changes required by the ISO 10646 merger.
-#
-# - The Hangul Syllables that were removed from 2.0 are not included in the 1.1 listing.
-#
-# - The supplementary private use code points and the non-character code points
-# were assigned in version 2.0, but not specifically listed in the UCD
-# until versions 3.0 and 3.1 respectively.
-#
-# - Contiguous ranges are broken into separate lines where they would cross code point
-# types: graphic, format, control, private-use, surrogate, noncharacter
-#
-# For details on the contents of each version, see
-# http://www.unicode.org/versions/enumeratedversions.html.
-
-# ================================================
-
-# Property: Age
-#
-# Note: When using the Age property in regular expressions,
-# an expression such as "\p{age=3.0}" matches all of the code points
-# assigned in Version 3.0--that is, all the code points with a value
-# less than or equal to 3.0 for the Age property.
-# For more information, see [http://www.unicode.org/reports/tr18/].
-
-# All code points not explicitly listed for Age
-# have the value unassigned.
-
-# @missing: 0000..10FFFF; unassigned
-
-# ================================================
-
-# Assigned as of Unicode 1.1.0 (June, 1993)
-# [excluding removed Hangul Syllables]
-
-0000..001F ; 1.1 # [32] <control-0000>..<control-001F>
-0020..007E ; 1.1 # [95] SPACE..TILDE
-007F..009F ; 1.1 # [33] <control-007F>..<control-009F>
-00A0..00AC ; 1.1 # [13] NO-BREAK SPACE..NOT SIGN
-00AD ; 1.1 # SOFT HYPHEN
-00AE..01F5 ; 1.1 # [328] REGISTERED SIGN..LATIN SMALL LETTER G WITH ACUTE
-01FA..0217 ; 1.1 # [30] LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE..LATIN SMALL LETTER U WITH INVERTED BREVE
-0250..02A8 ; 1.1 # [89] LATIN SMALL LETTER TURNED A..LATIN SMALL LETTER TC DIGRAPH WITH CURL
-02B0..02DE ; 1.1 # [47] MODIFIER LETTER SMALL H..MODIFIER LETTER RHOTIC HOOK
-02E0..02E9 ; 1.1 # [10] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER EXTRA-LOW TONE BAR
-0300..0345 ; 1.1 # [70] COMBINING GRAVE ACCENT..COMBINING GREEK YPOGEGRAMMENI
-0360..0361 ; 1.1 # [2] COMBINING DOUBLE TILDE..COMBINING DOUBLE INVERTED BREVE
-0374..0375 ; 1.1 # [2] GREEK NUMERAL SIGN..GREEK LOWER NUMERAL SIGN
-037A ; 1.1 # GREEK YPOGEGRAMMENI
-037E ; 1.1 # GREEK QUESTION MARK
-0384..038A ; 1.1 # [7] GREEK TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; 1.1 # GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; 1.1 # [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03CE ; 1.1 # [44] GREEK CAPITAL LETTER SIGMA..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D6 ; 1.1 # [7] GREEK BETA SYMBOL..GREEK PI SYMBOL
-03DA ; 1.1 # GREEK LETTER STIGMA
-03DC ; 1.1 # GREEK LETTER DIGAMMA
-03DE ; 1.1 # GREEK LETTER KOPPA
-03E0 ; 1.1 # GREEK LETTER SAMPI
-03E2..03F3 ; 1.1 # [18] COPTIC CAPITAL LETTER SHEI..GREEK LETTER YOT
-0401..040C ; 1.1 # [12] CYRILLIC CAPITAL LETTER IO..CYRILLIC CAPITAL LETTER KJE
-040E..044F ; 1.1 # [66] CYRILLIC CAPITAL LETTER SHORT U..CYRILLIC SMALL LETTER YA
-0451..045C ; 1.1 # [12] CYRILLIC SMALL LETTER IO..CYRILLIC SMALL LETTER KJE
-045E..0486 ; 1.1 # [41] CYRILLIC SMALL LETTER SHORT U..COMBINING CYRILLIC PSILI PNEUMATA
-0490..04C4 ; 1.1 # [53] CYRILLIC CAPITAL LETTER GHE WITH UPTURN..CYRILLIC SMALL LETTER KA WITH HOOK
-04C7..04C8 ; 1.1 # [2] CYRILLIC CAPITAL LETTER EN WITH HOOK..CYRILLIC SMALL LETTER EN WITH HOOK
-04CB..04CC ; 1.1 # [2] CYRILLIC CAPITAL LETTER KHAKASSIAN CHE..CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04D0..04EB ; 1.1 # [28] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EE..04F5 ; 1.1 # [8] CYRILLIC CAPITAL LETTER U WITH MACRON..CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F8..04F9 ; 1.1 # [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-0531..0556 ; 1.1 # [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559..055F ; 1.1 # [7] ARMENIAN MODIFIER LETTER LEFT HALF RING..ARMENIAN ABBREVIATION MARK
-0561..0587 ; 1.1 # [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0589 ; 1.1 # ARMENIAN FULL STOP
-05B0..05B9 ; 1.1 # [10] HEBREW POINT SHEVA..HEBREW POINT HOLAM
-05BB..05C3 ; 1.1 # [9] HEBREW POINT QUBUTS..HEBREW PUNCTUATION SOF PASUQ
-05D0..05EA ; 1.1 # [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F4 ; 1.1 # [5] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW PUNCTUATION GERSHAYIM
-060C ; 1.1 # ARABIC COMMA
-061B ; 1.1 # ARABIC SEMICOLON
-061F ; 1.1 # ARABIC QUESTION MARK
-0621..063A ; 1.1 # [26] ARABIC LETTER HAMZA..ARABIC LETTER GHAIN
-0640..0652 ; 1.1 # [19] ARABIC TATWEEL..ARABIC SUKUN
-0660..066D ; 1.1 # [14] ARABIC-INDIC DIGIT ZERO..ARABIC FIVE POINTED STAR
-0670..06B7 ; 1.1 # [72] ARABIC LETTER SUPERSCRIPT ALEF..ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06BA..06BE ; 1.1 # [5] ARABIC LETTER NOON GHUNNA..ARABIC LETTER HEH DOACHASHMEE
-06C0..06CE ; 1.1 # [15] ARABIC LETTER HEH WITH YEH ABOVE..ARABIC LETTER YEH WITH SMALL V
-06D0..06DC ; 1.1 # [13] ARABIC LETTER E..ARABIC SMALL HIGH SEEN
-06DD ; 1.1 # ARABIC END OF AYAH
-06DE..06ED ; 1.1 # [16] ARABIC START OF RUB EL HIZB..ARABIC SMALL LOW MEEM
-06F0..06F9 ; 1.1 # [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-0901..0903 ; 1.1 # [3] DEVANAGARI SIGN CANDRABINDU..DEVANAGARI SIGN VISARGA
-0905..0939 ; 1.1 # [53] DEVANAGARI LETTER A..DEVANAGARI LETTER HA
-093C..094D ; 1.1 # [18] DEVANAGARI SIGN NUKTA..DEVANAGARI SIGN VIRAMA
-0950..0954 ; 1.1 # [5] DEVANAGARI OM..DEVANAGARI ACUTE ACCENT
-0958..0970 ; 1.1 # [25] DEVANAGARI LETTER QA..DEVANAGARI ABBREVIATION SIGN
-0981..0983 ; 1.1 # [3] BENGALI SIGN CANDRABINDU..BENGALI SIGN VISARGA
-0985..098C ; 1.1 # [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; 1.1 # [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; 1.1 # [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; 1.1 # [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; 1.1 # BENGALI LETTER LA
-09B6..09B9 ; 1.1 # [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BC ; 1.1 # BENGALI SIGN NUKTA
-09BE..09C4 ; 1.1 # [7] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; 1.1 # [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CD ; 1.1 # [3] BENGALI VOWEL SIGN O..BENGALI SIGN VIRAMA
-09D7 ; 1.1 # BENGALI AU LENGTH MARK
-09DC..09DD ; 1.1 # [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E3 ; 1.1 # [5] BENGALI LETTER YYA..BENGALI VOWEL SIGN VOCALIC LL
-09E6..09FA ; 1.1 # [21] BENGALI DIGIT ZERO..BENGALI ISSHAR
-0A02 ; 1.1 # GURMUKHI SIGN BINDI
-0A05..0A0A ; 1.1 # [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; 1.1 # [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; 1.1 # [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; 1.1 # [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; 1.1 # [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; 1.1 # [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; 1.1 # [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3C ; 1.1 # GURMUKHI SIGN NUKTA
-0A3E..0A42 ; 1.1 # [5] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; 1.1 # [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; 1.1 # [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A59..0A5C ; 1.1 # [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; 1.1 # GURMUKHI LETTER FA
-0A66..0A74 ; 1.1 # [15] GURMUKHI DIGIT ZERO..GURMUKHI EK ONKAR
-0A81..0A83 ; 1.1 # [3] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN VISARGA
-0A85..0A8B ; 1.1 # [7] GUJARATI LETTER A..GUJARATI LETTER VOCALIC R
-0A8D ; 1.1 # GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; 1.1 # [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; 1.1 # [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; 1.1 # [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; 1.1 # [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; 1.1 # [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABC..0AC5 ; 1.1 # [10] GUJARATI SIGN NUKTA..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC9 ; 1.1 # [3] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACD ; 1.1 # [3] GUJARATI VOWEL SIGN O..GUJARATI SIGN VIRAMA
-0AD0 ; 1.1 # GUJARATI OM
-0AE0 ; 1.1 # GUJARATI LETTER VOCALIC RR
-0AE6..0AEF ; 1.1 # [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B01..0B03 ; 1.1 # [3] ORIYA SIGN CANDRABINDU..ORIYA SIGN VISARGA
-0B05..0B0C ; 1.1 # [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; 1.1 # [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; 1.1 # [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; 1.1 # [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; 1.1 # [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B36..0B39 ; 1.1 # [4] ORIYA LETTER SHA..ORIYA LETTER HA
-0B3C..0B43 ; 1.1 # [8] ORIYA SIGN NUKTA..ORIYA VOWEL SIGN VOCALIC R
-0B47..0B48 ; 1.1 # [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4D ; 1.1 # [3] ORIYA VOWEL SIGN O..ORIYA SIGN VIRAMA
-0B56..0B57 ; 1.1 # [2] ORIYA AI LENGTH MARK..ORIYA AU LENGTH MARK
-0B5C..0B5D ; 1.1 # [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; 1.1 # [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B66..0B70 ; 1.1 # [11] ORIYA DIGIT ZERO..ORIYA ISSHAR
-0B82..0B83 ; 1.1 # [2] TAMIL SIGN ANUSVARA..TAMIL SIGN VISARGA
-0B85..0B8A ; 1.1 # [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; 1.1 # [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; 1.1 # [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; 1.1 # [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; 1.1 # TAMIL LETTER JA
-0B9E..0B9F ; 1.1 # [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; 1.1 # [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; 1.1 # [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB5 ; 1.1 # [8] TAMIL LETTER MA..TAMIL LETTER VA
-0BB7..0BB9 ; 1.1 # [3] TAMIL LETTER SSA..TAMIL LETTER HA
-0BBE..0BC2 ; 1.1 # [5] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; 1.1 # [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCD ; 1.1 # [4] TAMIL VOWEL SIGN O..TAMIL SIGN VIRAMA
-0BD7 ; 1.1 # TAMIL AU LENGTH MARK
-0BE7..0BF2 ; 1.1 # [12] TAMIL DIGIT ONE..TAMIL NUMBER ONE THOUSAND
-0C01..0C03 ; 1.1 # [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; 1.1 # [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; 1.1 # [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; 1.1 # [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; 1.1 # [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; 1.1 # [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3E..0C44 ; 1.1 # [7] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; 1.1 # [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; 1.1 # [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; 1.1 # [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C60..0C61 ; 1.1 # [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C66..0C6F ; 1.1 # [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C82..0C83 ; 1.1 # [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; 1.1 # [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; 1.1 # [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; 1.1 # [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; 1.1 # [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; 1.1 # [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBE..0CC4 ; 1.1 # [7] KANNADA VOWEL SIGN AA..KANNADA VOWEL SIGN VOCALIC RR
-0CC6..0CC8 ; 1.1 # [3] KANNADA VOWEL SIGN E..KANNADA VOWEL SIGN AI
-0CCA..0CCD ; 1.1 # [4] KANNADA VOWEL SIGN O..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; 1.1 # [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; 1.1 # KANNADA LETTER FA
-0CE0..0CE1 ; 1.1 # [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE6..0CEF ; 1.1 # [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D02..0D03 ; 1.1 # [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; 1.1 # [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; 1.1 # [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; 1.1 # [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; 1.1 # [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3E..0D43 ; 1.1 # [6] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN VOCALIC R
-0D46..0D48 ; 1.1 # [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4D ; 1.1 # [4] MALAYALAM VOWEL SIGN O..MALAYALAM SIGN VIRAMA
-0D57 ; 1.1 # MALAYALAM AU LENGTH MARK
-0D60..0D61 ; 1.1 # [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D66..0D6F ; 1.1 # [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0E01..0E3A ; 1.1 # [58] THAI CHARACTER KO KAI..THAI CHARACTER PHINTHU
-0E3F..0E5B ; 1.1 # [29] THAI CURRENCY SYMBOL BAHT..THAI CHARACTER KHOMUT
-0E81..0E82 ; 1.1 # [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; 1.1 # LAO LETTER KHO TAM
-0E87..0E88 ; 1.1 # [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; 1.1 # LAO LETTER SO TAM
-0E8D ; 1.1 # LAO LETTER NYO
-0E94..0E97 ; 1.1 # [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; 1.1 # [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; 1.1 # [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; 1.1 # LAO LETTER LO LOOT
-0EA7 ; 1.1 # LAO LETTER WO
-0EAA..0EAB ; 1.1 # [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB9 ; 1.1 # [13] LAO LETTER O..LAO VOWEL SIGN UU
-0EBB..0EBD ; 1.1 # [3] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; 1.1 # [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; 1.1 # LAO KO LA
-0EC8..0ECD ; 1.1 # [6] LAO TONE MAI EK..LAO NIGGAHITA
-0ED0..0ED9 ; 1.1 # [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; 1.1 # [2] LAO HO NO..LAO HO MO
-10A0..10C5 ; 1.1 # [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10F6 ; 1.1 # [39] GEORGIAN LETTER AN..GEORGIAN LETTER FI
-10FB ; 1.1 # GEORGIAN PARAGRAPH SEPARATOR
-1100..1159 ; 1.1 # [90] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG YEORINHIEUH
-115F..11A2 ; 1.1 # [68] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG SSANGARAEA
-11A8..11F9 ; 1.1 # [82] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG YEORINHIEUH
-1E00..1E9A ; 1.1 # [155] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER A WITH RIGHT HALF RING
-1EA0..1EF9 ; 1.1 # [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE
-1F00..1F15 ; 1.1 # [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; 1.1 # [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; 1.1 # [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; 1.1 # [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; 1.1 # [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; 1.1 # GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; 1.1 # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; 1.1 # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; 1.1 # [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; 1.1 # [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FC4 ; 1.1 # [15] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FD3 ; 1.1 # [14] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; 1.1 # [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FEF ; 1.1 # [19] GREEK DASIA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; 1.1 # [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFE ; 1.1 # [9] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK DASIA
-2000..200A ; 1.1 # [11] EN QUAD..HAIR SPACE
-200B..200F ; 1.1 # [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-2010..2027 ; 1.1 # [24] HYPHEN..HYPHENATION POINT
-2028..202E ; 1.1 # [7] LINE SEPARATOR..RIGHT-TO-LEFT OVERRIDE
-2030..2046 ; 1.1 # [23] PER MILLE SIGN..RIGHT SQUARE BRACKET WITH QUILL
-206A..206F ; 1.1 # [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2070 ; 1.1 # SUPERSCRIPT ZERO
-2074..208E ; 1.1 # [27] SUPERSCRIPT FOUR..SUBSCRIPT RIGHT PARENTHESIS
-20A0..20AA ; 1.1 # [11] EURO-CURRENCY SIGN..NEW SHEQEL SIGN
-20D0..20E1 ; 1.1 # [18] COMBINING LEFT HARPOON ABOVE..COMBINING LEFT RIGHT ARROW ABOVE
-2100..2138 ; 1.1 # [57] ACCOUNT OF..DALET SYMBOL
-2153..2182 ; 1.1 # [48] VULGAR FRACTION ONE THIRD..ROMAN NUMERAL TEN THOUSAND
-2190..21EA ; 1.1 # [91] LEFTWARDS ARROW..UPWARDS WHITE ARROW FROM BAR
-2200..22F1 ; 1.1 # [242] FOR ALL..DOWN RIGHT DIAGONAL ELLIPSIS
-2300 ; 1.1 # DIAMETER SIGN
-2302..237A ; 1.1 # [121] HOUSE..APL FUNCTIONAL SYMBOL ALPHA
-2400..2424 ; 1.1 # [37] SYMBOL FOR NULL..SYMBOL FOR NEWLINE
-2440..244A ; 1.1 # [11] OCR HOOK..OCR DOUBLE BACKSLASH
-2460..24EA ; 1.1 # [139] CIRCLED DIGIT ONE..CIRCLED DIGIT ZERO
-2500..2595 ; 1.1 # [150] BOX DRAWINGS LIGHT HORIZONTAL..RIGHT ONE EIGHTH BLOCK
-25A0..25EF ; 1.1 # [80] BLACK SQUARE..LARGE CIRCLE
-2600..2613 ; 1.1 # [20] BLACK SUN WITH RAYS..SALTIRE
-261A..266F ; 1.1 # [86] BLACK LEFT POINTING INDEX..MUSIC SHARP SIGN
-2701..2704 ; 1.1 # [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; 1.1 # [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; 1.1 # [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; 1.1 # [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; 1.1 # SHADOWED WHITE CIRCLE
-274F..2752 ; 1.1 # [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756 ; 1.1 # BLACK DIAMOND MINUS WHITE X
-2758..275E ; 1.1 # [7] LIGHT VERTICAL BAR..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; 1.1 # [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2776..2794 ; 1.1 # [31] DINGBAT NEGATIVE CIRCLED DIGIT ONE..HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; 1.1 # [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; 1.1 # [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-3000..3037 ; 1.1 # [56] IDEOGRAPHIC SPACE..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303F ; 1.1 # IDEOGRAPHIC HALF FILL SPACE
-3041..3094 ; 1.1 # [84] HIRAGANA LETTER SMALL A..HIRAGANA LETTER VU
-3099..309E ; 1.1 # [6] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..HIRAGANA VOICED ITERATION MARK
-30A1..30FE ; 1.1 # [94] KATAKANA LETTER SMALL A..KATAKANA VOICED ITERATION MARK
-3105..312C ; 1.1 # [40] BOPOMOFO LETTER B..BOPOMOFO LETTER GN
-3131..318E ; 1.1 # [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3190..319F ; 1.1 # [16] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-3200..321C ; 1.1 # [29] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED HANGUL CIEUC U
-3220..3243 ; 1.1 # [36] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH REACH
-3260..327B ; 1.1 # [28] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL HIEUH A
-327F..32B0 ; 1.1 # [50] KOREAN STANDARD SYMBOL..CIRCLED IDEOGRAPH NIGHT
-32C0..32CB ; 1.1 # [12] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-32D0..32FE ; 1.1 # [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO
-3300..3376 ; 1.1 # [119] SQUARE APAATO..SQUARE PC
-337B..33DD ; 1.1 # [99] SQUARE ERA NAME HEISEI..SQUARE WB
-33E0..33FE ; 1.1 # [31] IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-4E00..9FA5 ; 1.1 # [20902] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FA5
-E000..F8FF ; 1.1 # [6400] <private-use-E000>..<private-use-F8FF>
-F900..FA2D ; 1.1 # [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FB00..FB06 ; 1.1 # [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; 1.1 # [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1E..FB36 ; 1.1 # [25] HEBREW POINT JUDEO-SPANISH VARIKA..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; 1.1 # [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; 1.1 # HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; 1.1 # [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; 1.1 # [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; 1.1 # [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3F ; 1.1 # [365] ARABIC LETTER NG ISOLATED FORM..ORNATE RIGHT PARENTHESIS
-FD50..FD8F ; 1.1 # [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; 1.1 # [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; 1.1 # [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE20..FE23 ; 1.1 # [4] COMBINING LIGATURE LEFT HALF..COMBINING DOUBLE TILDE RIGHT HALF
-FE30..FE44 ; 1.1 # [21] PRESENTATION FORM FOR VERTICAL TWO DOT LEADER..PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE49..FE52 ; 1.1 # [10] DASHED OVERLINE..SMALL FULL STOP
-FE54..FE66 ; 1.1 # [19] SMALL SEMICOLON..SMALL EQUALS SIGN
-FE68..FE6B ; 1.1 # [4] SMALL REVERSE SOLIDUS..SMALL COMMERCIAL AT
-FE70..FE72 ; 1.1 # [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM
-FE74 ; 1.1 # ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; 1.1 # [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF ; 1.1 # ZERO WIDTH NO-BREAK SPACE
-FF01..FF5E ; 1.1 # [94] FULLWIDTH EXCLAMATION MARK..FULLWIDTH TILDE
-FF61..FFBE ; 1.1 # [94] HALFWIDTH IDEOGRAPHIC FULL STOP..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; 1.1 # [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; 1.1 # [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; 1.1 # [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; 1.1 # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE0..FFE6 ; 1.1 # [7] FULLWIDTH CENT SIGN..FULLWIDTH WON SIGN
-FFE8..FFEE ; 1.1 # [7] HALFWIDTH FORMS LIGHT VERTICAL..HALFWIDTH WHITE CIRCLE
-FFFD ; 1.1 # REPLACEMENT CHARACTER
-FFFE..FFFF ; 1.1 # [2] <noncharacter-FFFE>..<noncharacter-FFFF>
-
-# Total code points: 33979
-
-# ================================================
-
-# Newly assigned in Unicode 2.0.0 (July, 1996)
-
-0591..05A1 ; 2.0 # [17] HEBREW ACCENT ETNAHTA..HEBREW ACCENT PAZER
-05A3..05AF ; 2.0 # [13] HEBREW ACCENT MUNAH..HEBREW MARK MASORA CIRCLE
-05C4 ; 2.0 # HEBREW MARK UPPER DOT
-0F00..0F47 ; 2.0 # [72] TIBETAN SYLLABLE OM..TIBETAN LETTER JA
-0F49..0F69 ; 2.0 # [33] TIBETAN LETTER NYA..TIBETAN LETTER KSSA
-0F71..0F8B ; 2.0 # [27] TIBETAN VOWEL SIGN AA..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F95 ; 2.0 # [6] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER CA
-0F97 ; 2.0 # TIBETAN SUBJOINED LETTER JA
-0F99..0FAD ; 2.0 # [21] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER WA
-0FB1..0FB7 ; 2.0 # [7] TIBETAN SUBJOINED LETTER YA..TIBETAN SUBJOINED LETTER HA
-0FB9 ; 2.0 # TIBETAN SUBJOINED LETTER KSSA
-1E9B ; 2.0 # LATIN SMALL LETTER LONG S WITH DOT ABOVE
-20AB ; 2.0 # DONG SIGN
-AC00..D7A3 ; 2.0 # [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D800..DFFF ; 2.0 # [2048] <surrogate-D800>..<surrogate-DFFF>
-1FFFE..1FFFF ; 2.0 # [2] <noncharacter-1FFFE>..<noncharacter-1FFFF>
-2FFFE..2FFFF ; 2.0 # [2] <noncharacter-2FFFE>..<noncharacter-2FFFF>
-3FFFE..3FFFF ; 2.0 # [2] <noncharacter-3FFFE>..<noncharacter-3FFFF>
-4FFFE..4FFFF ; 2.0 # [2] <noncharacter-4FFFE>..<noncharacter-4FFFF>
-5FFFE..5FFFF ; 2.0 # [2] <noncharacter-5FFFE>..<noncharacter-5FFFF>
-6FFFE..6FFFF ; 2.0 # [2] <noncharacter-6FFFE>..<noncharacter-6FFFF>
-7FFFE..7FFFF ; 2.0 # [2] <noncharacter-7FFFE>..<noncharacter-7FFFF>
-8FFFE..8FFFF ; 2.0 # [2] <noncharacter-8FFFE>..<noncharacter-8FFFF>
-9FFFE..9FFFF ; 2.0 # [2] <noncharacter-9FFFE>..<noncharacter-9FFFF>
-AFFFE..AFFFF ; 2.0 # [2] <noncharacter-AFFFE>..<noncharacter-AFFFF>
-BFFFE..BFFFF ; 2.0 # [2] <noncharacter-BFFFE>..<noncharacter-BFFFF>
-CFFFE..CFFFF ; 2.0 # [2] <noncharacter-CFFFE>..<noncharacter-CFFFF>
-DFFFE..DFFFF ; 2.0 # [2] <noncharacter-DFFFE>..<noncharacter-DFFFF>
-EFFFE..EFFFF ; 2.0 # [2] <noncharacter-EFFFE>..<noncharacter-EFFFF>
-F0000..FFFFD ; 2.0 # [65534] <private-use-F0000>..<private-use-FFFFD>
-FFFFE..FFFFF ; 2.0 # [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
-100000..10FFFD; 2.0 # [65534] <private-use-100000>..<private-use-10FFFD>
-10FFFE..10FFFF; 2.0 # [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
-
-# Total code points: 144521
-
-# ================================================
-
-# Newly assigned in Unicode 2.1.2 (May, 1998)
-
-20AC ; 2.1 # EURO SIGN
-FFFC ; 2.1 # OBJECT REPLACEMENT CHARACTER
-
-# Total code points: 2
-
-# ================================================
-
-# Newly assigned in Unicode 3.0.0 (September, 1999)
-
-01F6..01F9 ; 3.0 # [4] LATIN CAPITAL LETTER HWAIR..LATIN SMALL LETTER N WITH GRAVE
-0218..021F ; 3.0 # [8] LATIN CAPITAL LETTER S WITH COMMA BELOW..LATIN SMALL LETTER H WITH CARON
-0222..0233 ; 3.0 # [18] LATIN CAPITAL LETTER OU..LATIN SMALL LETTER Y WITH MACRON
-02A9..02AD ; 3.0 # [5] LATIN SMALL LETTER FENG DIGRAPH..LATIN LETTER BIDENTAL PERCUSSIVE
-02DF ; 3.0 # MODIFIER LETTER CROSS ACCENT
-02EA..02EE ; 3.0 # [5] MODIFIER LETTER YIN DEPARTING TONE MARK..MODIFIER LETTER DOUBLE APOSTROPHE
-0346..034E ; 3.0 # [9] COMBINING BRIDGE ABOVE..COMBINING UPWARDS ARROW BELOW
-0362 ; 3.0 # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-03D7 ; 3.0 # GREEK KAI SYMBOL
-03DB ; 3.0 # GREEK SMALL LETTER STIGMA
-03DD ; 3.0 # GREEK SMALL LETTER DIGAMMA
-03DF ; 3.0 # GREEK SMALL LETTER KOPPA
-03E1 ; 3.0 # GREEK SMALL LETTER SAMPI
-0400 ; 3.0 # CYRILLIC CAPITAL LETTER IE WITH GRAVE
-040D ; 3.0 # CYRILLIC CAPITAL LETTER I WITH GRAVE
-0450 ; 3.0 # CYRILLIC SMALL LETTER IE WITH GRAVE
-045D ; 3.0 # CYRILLIC SMALL LETTER I WITH GRAVE
-0488..0489 ; 3.0 # [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-048C..048F ; 3.0 # [4] CYRILLIC CAPITAL LETTER SEMISOFT SIGN..CYRILLIC SMALL LETTER ER WITH TICK
-04EC..04ED ; 3.0 # [2] CYRILLIC CAPITAL LETTER E WITH DIAERESIS..CYRILLIC SMALL LETTER E WITH DIAERESIS
-058A ; 3.0 # ARMENIAN HYPHEN
-0653..0655 ; 3.0 # [3] ARABIC MADDAH ABOVE..ARABIC HAMZA BELOW
-06B8..06B9 ; 3.0 # [2] ARABIC LETTER LAM WITH THREE DOTS BELOW..ARABIC LETTER NOON WITH DOT BELOW
-06BF ; 3.0 # ARABIC LETTER TCHEH WITH DOT ABOVE
-06CF ; 3.0 # ARABIC LETTER WAW WITH DOT ABOVE
-06FA..06FE ; 3.0 # [5] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC SIGN SINDHI POSTPOSITION MEN
-0700..070D ; 3.0 # [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-070F ; 3.0 # SYRIAC ABBREVIATION MARK
-0710..072C ; 3.0 # [29] SYRIAC LETTER ALAPH..SYRIAC LETTER TAW
-0730..074A ; 3.0 # [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-0780..07B0 ; 3.0 # [49] THAANA LETTER HAA..THAANA SUKUN
-0D82..0D83 ; 3.0 # [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; 3.0 # [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; 3.0 # [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; 3.0 # [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; 3.0 # SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; 3.0 # [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCA ; 3.0 # SINHALA SIGN AL-LAKUNA
-0DCF..0DD4 ; 3.0 # [6] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; 3.0 # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; 3.0 # [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF4 ; 3.0 # [3] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA PUNCTUATION KUNDDALIYA
-0F6A ; 3.0 # TIBETAN LETTER FIXED-FORM RA
-0F96 ; 3.0 # TIBETAN SUBJOINED LETTER CHA
-0FAE..0FB0 ; 3.0 # [3] TIBETAN SUBJOINED LETTER ZHA..TIBETAN SUBJOINED LETTER -A
-0FB8 ; 3.0 # TIBETAN SUBJOINED LETTER A
-0FBA..0FBC ; 3.0 # [3] TIBETAN SUBJOINED LETTER FIXED-FORM WA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE..0FCC ; 3.0 # [15] TIBETAN KU RU KHA..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCF ; 3.0 # TIBETAN SIGN RDEL NAG GSUM
-1000..1021 ; 3.0 # [34] MYANMAR LETTER KA..MYANMAR LETTER A
-1023..1027 ; 3.0 # [5] MYANMAR LETTER I..MYANMAR LETTER E
-1029..102A ; 3.0 # [2] MYANMAR LETTER O..MYANMAR LETTER AU
-102C..1032 ; 3.0 # [7] MYANMAR VOWEL SIGN AA..MYANMAR VOWEL SIGN AI
-1036..1039 ; 3.0 # [4] MYANMAR SIGN ANUSVARA..MYANMAR SIGN VIRAMA
-1040..1059 ; 3.0 # [26] MYANMAR DIGIT ZERO..MYANMAR VOWEL SIGN VOCALIC LL
-1200..1206 ; 3.0 # [7] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE HO
-1208..1246 ; 3.0 # [63] ETHIOPIC SYLLABLE LA..ETHIOPIC SYLLABLE QO
-1248 ; 3.0 # ETHIOPIC SYLLABLE QWA
-124A..124D ; 3.0 # [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; 3.0 # [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; 3.0 # ETHIOPIC SYLLABLE QHWA
-125A..125D ; 3.0 # [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1286 ; 3.0 # [39] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XO
-1288 ; 3.0 # ETHIOPIC SYLLABLE XWA
-128A..128D ; 3.0 # [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12AE ; 3.0 # [31] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KO
-12B0 ; 3.0 # ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; 3.0 # [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; 3.0 # [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; 3.0 # ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; 3.0 # [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12CE ; 3.0 # [7] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE WO
-12D0..12D6 ; 3.0 # [7] ETHIOPIC SYLLABLE PHARYNGEAL A..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..12EE ; 3.0 # [23] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE YO
-12F0..130E ; 3.0 # [31] ETHIOPIC SYLLABLE DA..ETHIOPIC SYLLABLE GO
-1310 ; 3.0 # ETHIOPIC SYLLABLE GWA
-1312..1315 ; 3.0 # [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..131E ; 3.0 # [7] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE GGO
-1320..1346 ; 3.0 # [39] ETHIOPIC SYLLABLE THA..ETHIOPIC SYLLABLE TZO
-1348..135A ; 3.0 # [19] ETHIOPIC SYLLABLE FA..ETHIOPIC SYLLABLE FYA
-1361..137C ; 3.0 # [28] ETHIOPIC WORDSPACE..ETHIOPIC NUMBER TEN THOUSAND
-13A0..13F4 ; 3.0 # [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..1676 ; 3.0 # [630] CANADIAN SYLLABICS E..CANADIAN SYLLABICS NNGAA
-1680..169C ; 3.0 # [29] OGHAM SPACE MARK..OGHAM REVERSED FEATHER MARK
-16A0..16F0 ; 3.0 # [81] RUNIC LETTER FEHU FEOH FE F..RUNIC BELGTHOR SYMBOL
-1780..17B3 ; 3.0 # [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5 ; 3.0 # [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6..17DC ; 3.0 # [39] KHMER VOWEL SIGN AA..KHMER SIGN AVAKRAHASANYA
-17E0..17E9 ; 3.0 # [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1800..180E ; 3.0 # [15] MONGOLIAN BIRGA..MONGOLIAN VOWEL SEPARATOR
-1810..1819 ; 3.0 # [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1877 ; 3.0 # [88] MONGOLIAN LETTER A..MONGOLIAN LETTER MANCHU ZHA
-1880..18A9 ; 3.0 # [42] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER ALI GALI DAGALGA
-202F ; 3.0 # NARROW NO-BREAK SPACE
-2048..204D ; 3.0 # [6] QUESTION EXCLAMATION MARK..BLACK RIGHTWARDS BULLET
-20AD..20AF ; 3.0 # [3] KIP SIGN..DRACHMA SIGN
-20E2..20E3 ; 3.0 # [2] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING KEYCAP
-2139..213A ; 3.0 # [2] INFORMATION SOURCE..ROTATED CAPITAL Q
-2183 ; 3.0 # ROMAN NUMERAL REVERSED ONE HUNDRED
-21EB..21F3 ; 3.0 # [9] UPWARDS WHITE ARROW ON PEDESTAL..UP DOWN WHITE ARROW
-2301 ; 3.0 # ELECTRIC ARROW
-237B ; 3.0 # NOT CHECK MARK
-237D..239A ; 3.0 # [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-2425..2426 ; 3.0 # [2] SYMBOL FOR DELETE FORM TWO..SYMBOL FOR SUBSTITUTE FORM TWO
-25F0..25F7 ; 3.0 # [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-2619 ; 3.0 # REVERSED ROTATED FLORAL HEART BULLET
-2670..2671 ; 3.0 # [2] WEST SYRIAC CROSS..EAST SYRIAC CROSS
-2800..28FF ; 3.0 # [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2E80..2E99 ; 3.0 # [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; 3.0 # [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; 3.0 # [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; 3.0 # [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3038..303A ; 3.0 # [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303E ; 3.0 # IDEOGRAPHIC VARIATION INDICATOR
-31A0..31B7 ; 3.0 # [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-3400..4DB5 ; 3.0 # [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-A000..A48C ; 3.0 # [1165] YI SYLLABLE IT..YI SYLLABLE YYR
-A490..A4A1 ; 3.0 # [18] YI RADICAL QOT..YI RADICAL GA
-A4A4..A4B3 ; 3.0 # [16] YI RADICAL DDUR..YI RADICAL JO
-A4B5..A4C0 ; 3.0 # [12] YI RADICAL JJY..YI RADICAL SHAT
-A4C2..A4C4 ; 3.0 # [3] YI RADICAL SHOP..YI RADICAL ZZIET
-A4C6 ; 3.0 # YI RADICAL KE
-FB1D ; 3.0 # HEBREW LETTER YOD WITH HIRIQ
-FFF9..FFFB ; 3.0 # [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-
-# Total code points: 10307
-
-# ================================================
-
-# Newly assigned in Unicode 3.1.0 (March, 2001)
-
-03F4..03F5 ; 3.1 # [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-FDD0..FDEF ; 3.1 # [32] <noncharacter-FDD0>..<noncharacter-FDEF>
-10300..1031E ; 3.1 # [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; 3.1 # [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..1034A ; 3.1 # [27] GOTHIC LETTER AHSA..GOTHIC LETTER NINE HUNDRED
-10400..10425 ; 3.1 # [38] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER ENG
-10428..1044D ; 3.1 # [38] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER ENG
-1D000..1D0F5 ; 3.1 # [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; 3.1 # [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D12A..1D172 ; 3.1 # [73] MUSICAL SYMBOL DOUBLE SHARP..MUSICAL SYMBOL COMBINING FLAG-5
-1D173..1D17A ; 3.1 # [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D17B..1D1DD ; 3.1 # [99] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL PES SUBPUNCTIS
-1D400..1D454 ; 3.1 # [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; 3.1 # [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; 3.1 # [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; 3.1 # MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; 3.1 # [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; 3.1 # [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; 3.1 # [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; 3.1 # MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C0 ; 3.1 # [4] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL K
-1D4C2..1D4C3 ; 3.1 # [2] MATHEMATICAL SCRIPT SMALL M..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; 3.1 # [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; 3.1 # [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; 3.1 # [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; 3.1 # [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; 3.1 # [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; 3.1 # [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; 3.1 # [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; 3.1 # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; 3.1 # [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A3 ; 3.1 # [338] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL MONOSPACE SMALL Z
-1D6A8..1D7C9 ; 3.1 # [290] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CE..1D7FF ; 3.1 # [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-20000..2A6D6 ; 3.1 # [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2F800..2FA1D ; 3.1 # [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0001 ; 3.1 # LANGUAGE TAG
-E0020..E007F ; 3.1 # [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 44978
-
-# ================================================
-
-# Newly assigned in Unicode 3.2.0 (March, 2002)
-
-0220 ; 3.2 # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-034F ; 3.2 # COMBINING GRAPHEME JOINER
-0363..036F ; 3.2 # [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X
-03D8..03D9 ; 3.2 # [2] GREEK LETTER ARCHAIC KOPPA..GREEK SMALL LETTER ARCHAIC KOPPA
-03F6 ; 3.2 # GREEK REVERSED LUNATE EPSILON SYMBOL
-048A..048B ; 3.2 # [2] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER SHORT I WITH TAIL
-04C5..04C6 ; 3.2 # [2] CYRILLIC CAPITAL LETTER EL WITH TAIL..CYRILLIC SMALL LETTER EL WITH TAIL
-04C9..04CA ; 3.2 # [2] CYRILLIC CAPITAL LETTER EN WITH TAIL..CYRILLIC SMALL LETTER EN WITH TAIL
-04CD..04CE ; 3.2 # [2] CYRILLIC CAPITAL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER EM WITH TAIL
-0500..050F ; 3.2 # [16] CYRILLIC CAPITAL LETTER KOMI DE..CYRILLIC SMALL LETTER KOMI TJE
-066E..066F ; 3.2 # [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-07B1 ; 3.2 # THAANA LETTER NAA
-10F7..10F8 ; 3.2 # [2] GEORGIAN LETTER YN..GEORGIAN LETTER ELIFI
-1700..170C ; 3.2 # [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1714 ; 3.2 # [7] TAGALOG LETTER LA..TAGALOG SIGN VIRAMA
-1720..1736 ; 3.2 # [23] HANUNOO LETTER A..PHILIPPINE DOUBLE PUNCTUATION
-1740..1753 ; 3.2 # [20] BUHID LETTER A..BUHID VOWEL SIGN U
-1760..176C ; 3.2 # [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; 3.2 # [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; 3.2 # [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-2047 ; 3.2 # DOUBLE QUESTION MARK
-204E..2052 ; 3.2 # [5] LOW ASTERISK..COMMERCIAL MINUS SIGN
-2057 ; 3.2 # QUADRUPLE PRIME
-205F ; 3.2 # MEDIUM MATHEMATICAL SPACE
-2060..2063 ; 3.2 # [4] WORD JOINER..INVISIBLE SEPARATOR
-2071 ; 3.2 # SUPERSCRIPT LATIN SMALL LETTER I
-20B0..20B1 ; 3.2 # [2] GERMAN PENNY SIGN..PESO SIGN
-20E4..20EA ; 3.2 # [7] COMBINING ENCLOSING UPWARD POINTING TRIANGLE..COMBINING LEFTWARDS ARROW OVERLAY
-213D..214B ; 3.2 # [15] DOUBLE-STRUCK SMALL GAMMA..TURNED AMPERSAND
-21F4..21FF ; 3.2 # [12] RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW
-22F2..22FF ; 3.2 # [14] ELEMENT OF WITH LONG HORIZONTAL STROKE..Z NOTATION BAG MEMBERSHIP
-237C ; 3.2 # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-239B..23CE ; 3.2 # [52] LEFT PARENTHESIS UPPER HOOK..RETURN SYMBOL
-24EB..24FE ; 3.2 # [20] NEGATIVE CIRCLED NUMBER ELEVEN..DOUBLE CIRCLED NUMBER TEN
-2596..259F ; 3.2 # [10] QUADRANT LOWER LEFT..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25F8..25FF ; 3.2 # [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2616..2617 ; 3.2 # [2] WHITE SHOGI PIECE..BLACK SHOGI PIECE
-2672..267D ; 3.2 # [12] UNIVERSAL RECYCLING SYMBOL..PARTIALLY-RECYCLED PAPER SYMBOL
-2680..2689 ; 3.2 # [10] DIE FACE-1..BLACK CIRCLE WITH TWO WHITE DOTS
-2768..2775 ; 3.2 # [14] MEDIUM LEFT PARENTHESIS ORNAMENT..MEDIUM RIGHT CURLY BRACKET ORNAMENT
-27D0..27EB ; 3.2 # [28] WHITE DIAMOND WITH CENTRED DOT..MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27F0..27FF ; 3.2 # [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2900..2AFF ; 3.2 # [512] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..N-ARY WHITE VERTICAL BAR
-303B..303D ; 3.2 # [3] VERTICAL IDEOGRAPHIC ITERATION MARK..PART ALTERNATION MARK
-3095..3096 ; 3.2 # [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE
-309F..30A0 ; 3.2 # [2] HIRAGANA DIGRAPH YORI..KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FF ; 3.2 # KATAKANA DIGRAPH KOTO
-31F0..31FF ; 3.2 # [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3251..325F ; 3.2 # [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-32B1..32BF ; 3.2 # [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-A4A2..A4A3 ; 3.2 # [2] YI RADICAL ZUP..YI RADICAL CYT
-A4B4 ; 3.2 # YI RADICAL NZUP
-A4C1 ; 3.2 # YI RADICAL ZUR
-A4C5 ; 3.2 # YI RADICAL NBIE
-FA30..FA6A ; 3.2 # [59] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6A
-FDFC ; 3.2 # RIAL SIGN
-FE00..FE0F ; 3.2 # [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE45..FE46 ; 3.2 # [2] SESAME DOT..WHITE SESAME DOT
-FE73 ; 3.2 # ARABIC TAIL FRAGMENT
-FF5F..FF60 ; 3.2 # [2] FULLWIDTH LEFT WHITE PARENTHESIS..FULLWIDTH RIGHT WHITE PARENTHESIS
-
-# Total code points: 1016
-
-# ================================================
-
-# Newly assigned in Unicode 4.0.0 (April, 2003)
-
-0221 ; 4.0 # LATIN SMALL LETTER D WITH CURL
-0234..0236 ; 4.0 # [3] LATIN SMALL LETTER L WITH CURL..LATIN SMALL LETTER T WITH CURL
-02AE..02AF ; 4.0 # [2] LATIN SMALL LETTER TURNED H WITH FISHHOOK..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02EF..02FF ; 4.0 # [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0350..0357 ; 4.0 # [8] COMBINING RIGHT ARROWHEAD ABOVE..COMBINING RIGHT HALF RING ABOVE
-035D..035F ; 4.0 # [3] COMBINING DOUBLE BREVE..COMBINING DOUBLE MACRON BELOW
-03F7..03FB ; 4.0 # [5] GREEK CAPITAL LETTER SHO..GREEK SMALL LETTER SAN
-0600..0603 ; 4.0 # [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-060D..0615 ; 4.0 # [9] ARABIC DATE SEPARATOR..ARABIC SMALL HIGH TAH
-0656..0658 ; 4.0 # [3] ARABIC SUBSCRIPT ALEF..ARABIC MARK NOON GHUNNA
-06EE..06EF ; 4.0 # [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FF ; 4.0 # ARABIC LETTER HEH WITH INVERTED V
-072D..072F ; 4.0 # [3] SYRIAC LETTER PERSIAN BHETH..SYRIAC LETTER PERSIAN DHALATH
-074D..074F ; 4.0 # [3] SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE
-0904 ; 4.0 # DEVANAGARI LETTER SHORT A
-09BD ; 4.0 # BENGALI SIGN AVAGRAHA
-0A01 ; 4.0 # GURMUKHI SIGN ADAK BINDI
-0A03 ; 4.0 # GURMUKHI SIGN VISARGA
-0A8C ; 4.0 # GUJARATI LETTER VOCALIC L
-0AE1..0AE3 ; 4.0 # [3] GUJARATI LETTER VOCALIC LL..GUJARATI VOWEL SIGN VOCALIC LL
-0AF1 ; 4.0 # GUJARATI RUPEE SIGN
-0B35 ; 4.0 # ORIYA LETTER VA
-0B71 ; 4.0 # ORIYA LETTER WA
-0BF3..0BFA ; 4.0 # [8] TAMIL DAY SIGN..TAMIL NUMBER SIGN
-0CBC..0CBD ; 4.0 # [2] KANNADA SIGN NUKTA..KANNADA SIGN AVAGRAHA
-17DD ; 4.0 # KHMER SIGN ATTHACAN
-17F0..17F9 ; 4.0 # [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-1900..191C ; 4.0 # [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..192B ; 4.0 # [12] LIMBU VOWEL SIGN A..LIMBU SUBJOINED LETTER WA
-1930..193B ; 4.0 # [12] LIMBU SMALL LETTER KA..LIMBU SIGN SA-I
-1940 ; 4.0 # LIMBU SIGN LOO
-1944..196D ; 4.0 # [42] LIMBU EXCLAMATION MARK..TAI LE LETTER AI
-1970..1974 ; 4.0 # [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-19E0..19FF ; 4.0 # [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1D00..1D6B ; 4.0 # [108] LATIN LETTER SMALL CAPITAL A..LATIN SMALL LETTER UE
-2053..2054 ; 4.0 # [2] SWUNG DASH..INVERTED UNDERTIE
-213B ; 4.0 # FACSIMILE SIGN
-23CF..23D0 ; 4.0 # [2] EJECT SYMBOL..VERTICAL LINE EXTENSION
-24FF ; 4.0 # NEGATIVE CIRCLED DIGIT ZERO
-2614..2615 ; 4.0 # [2] UMBRELLA WITH RAIN DROPS..HOT BEVERAGE
-268A..2691 ; 4.0 # [8] MONOGRAM FOR YANG..BLACK FLAG
-26A0..26A1 ; 4.0 # [2] WARNING SIGN..HIGH VOLTAGE SIGN
-2B00..2B0D ; 4.0 # [14] NORTH EAST WHITE ARROW..UP DOWN BLACK ARROW
-321D..321E ; 4.0 # [2] PARENTHESIZED KOREAN CHARACTER OJEON..PARENTHESIZED KOREAN CHARACTER O HU
-3250 ; 4.0 # PARTNERSHIP SIGN
-327C..327D ; 4.0 # [2] CIRCLED KOREAN CHARACTER CHAMKO..CIRCLED KOREAN CHARACTER JUEUI
-32CC..32CF ; 4.0 # [4] SQUARE HG..LIMITED LIABILITY SIGN
-3377..337A ; 4.0 # [4] SQUARE DM..SQUARE IU
-33DE..33DF ; 4.0 # [2] SQUARE V OVER M..SQUARE A OVER M
-33FF ; 4.0 # SQUARE GAL
-4DC0..4DFF ; 4.0 # [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-FDFD ; 4.0 # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE47..FE48 ; 4.0 # [2] PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET..PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-10000..1000B ; 4.0 # [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; 4.0 # [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; 4.0 # [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; 4.0 # [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; 4.0 # [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; 4.0 # [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; 4.0 # [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10102 ; 4.0 # [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
-10107..10133 ; 4.0 # [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; 4.0 # [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10380..1039D ; 4.0 # [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-1039F ; 4.0 # UGARITIC WORD DIVIDER
-10426..10427 ; 4.0 # [2] DESERET CAPITAL LETTER OI..DESERET CAPITAL LETTER EW
-1044E..1049D ; 4.0 # [80] DESERET SMALL LETTER OI..OSMANYA LETTER OO
-104A0..104A9 ; 4.0 # [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-10800..10805 ; 4.0 # [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; 4.0 # CYPRIOT SYLLABLE JO
-1080A..10835 ; 4.0 # [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; 4.0 # [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; 4.0 # CYPRIOT SYLLABLE ZA
-1083F ; 4.0 # CYPRIOT SYLLABLE ZO
-1D300..1D356 ; 4.0 # [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D4C1 ; 4.0 # MATHEMATICAL SCRIPT SMALL L
-E0100..E01EF ; 4.0 # [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1226
-
-# ================================================
-
-# Newly assigned in Unicode 4.1.0 (March, 2005)
-
-0237..0241 ; 4.1 # [11] LATIN SMALL LETTER DOTLESS J..LATIN CAPITAL LETTER GLOTTAL STOP
-0358..035C ; 4.1 # [5] COMBINING DOT ABOVE RIGHT..COMBINING DOUBLE BREVE BELOW
-03FC..03FF ; 4.1 # [4] GREEK RHO WITH STROKE SYMBOL..GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-04F6..04F7 ; 4.1 # [2] CYRILLIC CAPITAL LETTER GHE WITH DESCENDER..CYRILLIC SMALL LETTER GHE WITH DESCENDER
-05A2 ; 4.1 # HEBREW ACCENT ATNAH HAFUKH
-05C5..05C7 ; 4.1 # [3] HEBREW MARK LOWER DOT..HEBREW POINT QAMATS QATAN
-060B ; 4.1 # AFGHANI SIGN
-061E ; 4.1 # ARABIC TRIPLE DOT PUNCTUATION MARK
-0659..065E ; 4.1 # [6] ARABIC ZWARAKAY..ARABIC FATHA WITH TWO DOTS
-0750..076D ; 4.1 # [30] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-097D ; 4.1 # DEVANAGARI LETTER GLOTTAL STOP
-09CE ; 4.1 # BENGALI LETTER KHANDA TA
-0BB6 ; 4.1 # TAMIL LETTER SHA
-0BE6 ; 4.1 # TAMIL DIGIT ZERO
-0FD0..0FD1 ; 4.1 # [2] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK MNYAM YIG GI MGO RGYAN
-10F9..10FA ; 4.1 # [2] GEORGIAN LETTER TURNED GAN..GEORGIAN LETTER AIN
-10FC ; 4.1 # MODIFIER LETTER GEORGIAN NAR
-1207 ; 4.1 # ETHIOPIC SYLLABLE HOA
-1247 ; 4.1 # ETHIOPIC SYLLABLE QOA
-1287 ; 4.1 # ETHIOPIC SYLLABLE XOA
-12AF ; 4.1 # ETHIOPIC SYLLABLE KOA
-12CF ; 4.1 # ETHIOPIC SYLLABLE WOA
-12EF ; 4.1 # ETHIOPIC SYLLABLE YOA
-130F ; 4.1 # ETHIOPIC SYLLABLE GOA
-131F ; 4.1 # ETHIOPIC SYLLABLE GGWAA
-1347 ; 4.1 # ETHIOPIC SYLLABLE TZOA
-135F..1360 ; 4.1 # [2] ETHIOPIC COMBINING GEMINATION MARK..ETHIOPIC SECTION MARK
-1380..1399 ; 4.1 # [26] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC TONAL MARK KURT
-1980..19A9 ; 4.1 # [42] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW XVA
-19B0..19C9 ; 4.1 # [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
-19D0..19D9 ; 4.1 # [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
-19DE..19DF ; 4.1 # [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-1A00..1A1B ; 4.1 # [28] BUGINESE LETTER KA..BUGINESE VOWEL SIGN AE
-1A1E..1A1F ; 4.1 # [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1D6C..1DC3 ; 4.1 # [88] LATIN SMALL LETTER B WITH MIDDLE TILDE..COMBINING SUSPENSION MARK
-2055..2056 ; 4.1 # [2] FLOWER PUNCTUATION MARK..THREE DOT PUNCTUATION
-2058..205E ; 4.1 # [7] FOUR DOT PUNCTUATION..VERTICAL FOUR DOTS
-2090..2094 ; 4.1 # [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20B2..20B5 ; 4.1 # [4] GUARANI SIGN..CEDI SIGN
-20EB ; 4.1 # COMBINING LONG DOUBLE SOLIDUS OVERLAY
-213C ; 4.1 # DOUBLE-STRUCK SMALL PI
-214C ; 4.1 # PER SIGN
-23D1..23DB ; 4.1 # [11] METRICAL BREVE..FUSE
-2618 ; 4.1 # SHAMROCK
-267E..267F ; 4.1 # [2] PERMANENT PAPER SIGN..WHEELCHAIR SYMBOL
-2692..269C ; 4.1 # [11] HAMMER AND PICK..FLEUR-DE-LIS
-26A2..26B1 ; 4.1 # [16] DOUBLED FEMALE SIGN..FUNERAL URN
-27C0..27C6 ; 4.1 # [7] THREE DIMENSIONAL ANGLE..RIGHT S-SHAPED BAG DELIMITER
-2B0E..2B13 ; 4.1 # [6] RIGHTWARDS ARROW WITH TIP DOWNWARDS..SQUARE WITH BOTTOM HALF BLACK
-2C00..2C2E ; 4.1 # [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; 4.1 # [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C80..2CEA ; 4.1 # [107] COPTIC CAPITAL LETTER ALFA..COPTIC SYMBOL SHIMA SIMA
-2CF9..2D25 ; 4.1 # [45] COPTIC OLD NUBIAN FULL STOP..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; 4.1 # [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; 4.1 # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; 4.1 # [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; 4.1 # [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; 4.1 # [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; 4.1 # [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; 4.1 # [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; 4.1 # [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; 4.1 # [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; 4.1 # [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; 4.1 # [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2E00..2E17 ; 4.1 # [24] RIGHT ANGLE SUBSTITUTION MARKER..DOUBLE OBLIQUE HYPHEN
-2E1C..2E1D ; 4.1 # [2] LEFT LOW PARAPHRASE BRACKET..RIGHT LOW PARAPHRASE BRACKET
-31C0..31CF ; 4.1 # [16] CJK STROKE T..CJK STROKE N
-327E ; 4.1 # CIRCLED HANGUL IEUNG U
-9FA6..9FBB ; 4.1 # [22] CJK UNIFIED IDEOGRAPH-9FA6..CJK UNIFIED IDEOGRAPH-9FBB
-A700..A716 ; 4.1 # [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A800..A82B ; 4.1 # [44] SYLOTI NAGRI LETTER A..SYLOTI NAGRI POETRY MARK-4
-FA70..FAD9 ; 4.1 # [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FE10..FE19 ; 4.1 # [10] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-10140..1018A ; 4.1 # [75] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ZERO SIGN
-103A0..103C3 ; 4.1 # [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103D5 ; 4.1 # [14] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN NUMBER HUNDRED
-10A00..10A03 ; 4.1 # [4] KHAROSHTHI LETTER A..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; 4.1 # [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A13 ; 4.1 # [8] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI LETTER GHA
-10A15..10A17 ; 4.1 # [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; 4.1 # [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A38..10A3A ; 4.1 # [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F..10A47 ; 4.1 # [9] KHAROSHTHI VIRAMA..KHAROSHTHI NUMBER ONE THOUSAND
-10A50..10A58 ; 4.1 # [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-1D200..1D245 ; 4.1 # [70] GREEK VOCAL NOTATION SYMBOL-1..GREEK MUSICAL LEIMMA
-1D6A4..1D6A5 ; 4.1 # [2] MATHEMATICAL ITALIC SMALL DOTLESS I..MATHEMATICAL ITALIC SMALL DOTLESS J
-
-# Total code points: 1273
-
-# ================================================
-
-# Newly assigned in Unicode 5.0.0 (July, 2006)
-
-0242..024F ; 5.0 # [14] LATIN SMALL LETTER GLOTTAL STOP..LATIN SMALL LETTER Y WITH STROKE
-037B..037D ; 5.0 # [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-04CF ; 5.0 # CYRILLIC SMALL LETTER PALOCHKA
-04FA..04FF ; 5.0 # [6] CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK..CYRILLIC SMALL LETTER HA WITH STROKE
-0510..0513 ; 5.0 # [4] CYRILLIC CAPITAL LETTER REVERSED ZE..CYRILLIC SMALL LETTER EL WITH HOOK
-05BA ; 5.0 # HEBREW POINT HOLAM HASER FOR VAV
-07C0..07FA ; 5.0 # [59] NKO DIGIT ZERO..NKO LAJANYALAN
-097B..097C ; 5.0 # [2] DEVANAGARI LETTER GGA..DEVANAGARI LETTER JJA
-097E..097F ; 5.0 # [2] DEVANAGARI LETTER DDDA..DEVANAGARI LETTER BBA
-0CE2..0CE3 ; 5.0 # [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0CF1..0CF2 ; 5.0 # [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-1B00..1B4B ; 5.0 # [76] BALINESE SIGN ULU RICEM..BALINESE LETTER ASYURA SASAK
-1B50..1B7C ; 5.0 # [45] BALINESE DIGIT ZERO..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1DC4..1DCA ; 5.0 # [7] COMBINING MACRON-ACUTE..COMBINING LATIN SMALL LETTER R BELOW
-1DFE..1DFF ; 5.0 # [2] COMBINING LEFT ARROWHEAD ABOVE..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-20EC..20EF ; 5.0 # [4] COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS..COMBINING RIGHT ARROW BELOW
-214D..214E ; 5.0 # [2] AKTIESELSKAB..TURNED SMALL F
-2184 ; 5.0 # LATIN SMALL LETTER REVERSED C
-23DC..23E7 ; 5.0 # [12] TOP PARENTHESIS..ELECTRICAL INTERSECTION
-26B2 ; 5.0 # NEUTER
-27C7..27CA ; 5.0 # [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-2B14..2B1A ; 5.0 # [7] SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK..DOTTED SQUARE
-2B20..2B23 ; 5.0 # [4] WHITE PENTAGON..HORIZONTAL BLACK HEXAGON
-2C60..2C6C ; 5.0 # [13] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SMALL LETTER Z WITH DESCENDER
-2C74..2C77 ; 5.0 # [4] LATIN SMALL LETTER V WITH CURL..LATIN SMALL LETTER TAILLESS PHI
-A717..A71A ; 5.0 # [4] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A720..A721 ; 5.0 # [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A840..A877 ; 5.0 # [56] PHAGS-PA LETTER KA..PHAGS-PA MARK DOUBLE SHAD
-10900..10919 ; 5.0 # [26] PHOENICIAN LETTER ALF..PHOENICIAN NUMBER ONE HUNDRED
-1091F ; 5.0 # PHOENICIAN WORD SEPARATOR
-12000..1236E ; 5.0 # [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; 5.0 # [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470..12473 ; 5.0 # [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-1D360..1D371 ; 5.0 # [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D7CA..1D7CB ; 5.0 # [2] MATHEMATICAL BOLD CAPITAL DIGAMMA..MATHEMATICAL BOLD SMALL DIGAMMA
-
-# Total code points: 1369
-
-# ================================================
-
-# Newly assigned in Unicode 5.1.0 (March, 2008)
-
-0370..0373 ; 5.1 # [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0376..0377 ; 5.1 # [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-03CF ; 5.1 # GREEK CAPITAL KAI SYMBOL
-0487 ; 5.1 # COMBINING CYRILLIC POKRYTIE
-0514..0523 ; 5.1 # [16] CYRILLIC CAPITAL LETTER LHA..CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0606..060A ; 5.1 # [5] ARABIC-INDIC CUBE ROOT..ARABIC-INDIC PER TEN THOUSAND SIGN
-0616..061A ; 5.1 # [5] ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH..ARABIC SMALL KASRA
-063B..063F ; 5.1 # [5] ARABIC LETTER KEHEH WITH TWO DOTS ABOVE..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-076E..077F ; 5.1 # [18] ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE
-0971..0972 ; 5.1 # [2] DEVANAGARI SIGN HIGH SPACING DOT..DEVANAGARI LETTER CANDRA A
-0A51 ; 5.1 # GURMUKHI SIGN UDAAT
-0A75 ; 5.1 # GURMUKHI SIGN YAKASH
-0B44 ; 5.1 # ORIYA VOWEL SIGN VOCALIC RR
-0B62..0B63 ; 5.1 # [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0BD0 ; 5.1 # TAMIL OM
-0C3D ; 5.1 # TELUGU SIGN AVAGRAHA
-0C58..0C59 ; 5.1 # [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C62..0C63 ; 5.1 # [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C78..0C7F ; 5.1 # [8] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU SIGN TUUMU
-0D3D ; 5.1 # MALAYALAM SIGN AVAGRAHA
-0D44 ; 5.1 # MALAYALAM VOWEL SIGN VOCALIC RR
-0D62..0D63 ; 5.1 # [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D70..0D75 ; 5.1 # [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D79..0D7F ; 5.1 # [7] MALAYALAM DATE MARK..MALAYALAM LETTER CHILLU K
-0F6B..0F6C ; 5.1 # [2] TIBETAN LETTER KKA..TIBETAN LETTER RRA
-0FCE ; 5.1 # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FD2..0FD4 ; 5.1 # [3] TIBETAN MARK NYIS TSHEG..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-1022 ; 5.1 # MYANMAR LETTER SHAN A
-1028 ; 5.1 # MYANMAR LETTER MON E
-102B ; 5.1 # MYANMAR VOWEL SIGN TALL AA
-1033..1035 ; 5.1 # [3] MYANMAR VOWEL SIGN MON II..MYANMAR VOWEL SIGN E ABOVE
-103A..103F ; 5.1 # [6] MYANMAR SIGN ASAT..MYANMAR LETTER GREAT SA
-105A..1099 ; 5.1 # [64] MYANMAR LETTER MON NGA..MYANMAR SHAN DIGIT NINE
-109E..109F ; 5.1 # [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-18AA ; 5.1 # MONGOLIAN LETTER MANCHU ALI GALI LHA
-1B80..1BAA ; 5.1 # [43] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PAMAAEH
-1BAE..1BB9 ; 5.1 # [12] SUNDANESE LETTER KHA..SUNDANESE DIGIT NINE
-1C00..1C37 ; 5.1 # [56] LEPCHA LETTER KA..LEPCHA SIGN NUKTA
-1C3B..1C49 ; 5.1 # [15] LEPCHA PUNCTUATION TA-ROL..LEPCHA DIGIT NINE
-1C4D..1C7F ; 5.1 # [51] LEPCHA LETTER TTA..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1DCB..1DE6 ; 5.1 # [28] COMBINING BREVE-MACRON..COMBINING LATIN SMALL LETTER Z
-1E9C..1E9F ; 5.1 # [4] LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE..LATIN SMALL LETTER DELTA
-1EFA..1EFF ; 5.1 # [6] LATIN CAPITAL LETTER MIDDLE-WELSH LL..LATIN SMALL LETTER Y WITH LOOP
-2064 ; 5.1 # INVISIBLE PLUS
-20F0 ; 5.1 # COMBINING ASTERISK ABOVE
-214F ; 5.1 # SYMBOL FOR SAMARITAN SOURCE
-2185..2188 ; 5.1 # [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-269D ; 5.1 # OUTLINED WHITE STAR
-26B3..26BC ; 5.1 # [10] CERES..SESQUIQUADRATE
-26C0..26C3 ; 5.1 # [4] WHITE DRAUGHTS MAN..BLACK DRAUGHTS KING
-27CC ; 5.1 # LONG DIVISION
-27EC..27EF ; 5.1 # [4] MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET..MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2B1B..2B1F ; 5.1 # [5] BLACK LARGE SQUARE..BLACK PENTAGON
-2B24..2B4C ; 5.1 # [41] BLACK LARGE CIRCLE..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B54 ; 5.1 # [5] WHITE MEDIUM STAR..WHITE RIGHT-POINTING PENTAGON
-2C6D..2C6F ; 5.1 # [3] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED A
-2C71..2C73 ; 5.1 # [3] LATIN SMALL LETTER V WITH RIGHT HOOK..LATIN SMALL LETTER W WITH HOOK
-2C78..2C7D ; 5.1 # [6] LATIN SMALL LETTER E WITH NOTCH..MODIFIER LETTER CAPITAL V
-2DE0..2DFF ; 5.1 # [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E18..2E1B ; 5.1 # [4] INVERTED INTERROBANG..TILDE WITH RING ABOVE
-2E1E..2E30 ; 5.1 # [19] TILDE WITH DOT ABOVE..RING POINT
-312D ; 5.1 # BOPOMOFO LETTER IH
-31D0..31E3 ; 5.1 # [20] CJK STROKE H..CJK STROKE Q
-9FBC..9FC3 ; 5.1 # [8] CJK UNIFIED IDEOGRAPH-9FBC..CJK UNIFIED IDEOGRAPH-9FC3
-A500..A62B ; 5.1 # [300] VAI SYLLABLE EE..VAI SYLLABLE NDOLE DO
-A640..A65F ; 5.1 # [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A673 ; 5.1 # [18] CYRILLIC CAPITAL LETTER SOFT DE..SLAVONIC ASTERISK
-A67C..A697 ; 5.1 # [28] COMBINING CYRILLIC KAVYKA..CYRILLIC SMALL LETTER SHWE
-A71B..A71F ; 5.1 # [5] MODIFIER LETTER RAISED UP ARROW..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A78C ; 5.1 # [107] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER SALTILLO
-A7FB..A7FF ; 5.1 # [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M
-A880..A8C4 ; 5.1 # [69] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VIRAMA
-A8CE..A8D9 ; 5.1 # [12] SAURASHTRA DANDA..SAURASHTRA DIGIT NINE
-A900..A953 ; 5.1 # [84] KAYAH LI DIGIT ZERO..REJANG VIRAMA
-A95F ; 5.1 # REJANG SECTION MARK
-AA00..AA36 ; 5.1 # [55] CHAM LETTER A..CHAM CONSONANT SIGN WA
-AA40..AA4D ; 5.1 # [14] CHAM LETTER FINAL K..CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; 5.1 # [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA5C..AA5F ; 5.1 # [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-FE24..FE26 ; 5.1 # [3] COMBINING MACRON LEFT HALF..COMBINING CONJOINING MACRON
-10190..1019B ; 5.1 # [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FD ; 5.1 # [46] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280..1029C ; 5.1 # [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; 5.1 # [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10920..10939 ; 5.1 # [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093F ; 5.1 # LYDIAN TRIANGULAR MARK
-1D129 ; 5.1 # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1F000..1F02B ; 5.1 # [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; 5.1 # [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-
-# Total code points: 1624
-
-# ================================================
-
-# Newly assigned in Unicode 5.2.0 (October, 2009)
-
-0524..0525 ; 5.2 # [2] CYRILLIC CAPITAL LETTER PE WITH DESCENDER..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0800..082D ; 5.2 # [46] SAMARITAN LETTER ALAF..SAMARITAN MARK NEQUDAA
-0830..083E ; 5.2 # [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0900 ; 5.2 # DEVANAGARI SIGN INVERTED CANDRABINDU
-094E ; 5.2 # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0955 ; 5.2 # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0979..097A ; 5.2 # [2] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER HEAVY YA
-09FB ; 5.2 # BENGALI GANDA MARK
-0FD5..0FD8 ; 5.2 # [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-109A..109D ; 5.2 # [4] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON AI
-115A..115E ; 5.2 # [5] HANGUL CHOSEONG KIYEOK-TIKEUT..HANGUL CHOSEONG TIKEUT-RIEUL
-11A3..11A7 ; 5.2 # [5] HANGUL JUNGSEONG A-EU..HANGUL JUNGSEONG O-YAE
-11FA..11FF ; 5.2 # [6] HANGUL JONGSEONG KIYEOK-NIEUN..HANGUL JONGSEONG SSANGNIEUN
-1400 ; 5.2 # CANADIAN SYLLABICS HYPHEN
-1677..167F ; 5.2 # [9] CANADIAN SYLLABICS WOODS-CREE THWEE..CANADIAN SYLLABICS BLACKFOOT W
-18B0..18F5 ; 5.2 # [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-19AA..19AB ; 5.2 # [2] NEW TAI LUE LETTER HIGH SUA..NEW TAI LUE LETTER LOW SUA
-19DA ; 5.2 # NEW TAI LUE THAM DIGIT ONE
-1A20..1A5E ; 5.2 # [63] TAI THAM LETTER HIGH KA..TAI THAM CONSONANT SIGN SA
-1A60..1A7C ; 5.2 # [29] TAI THAM SIGN SAKOT..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F..1A89 ; 5.2 # [11] TAI THAM COMBINING CRYPTOGRAMMIC DOT..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; 5.2 # [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA0..1AAD ; 5.2 # [14] TAI THAM SIGN WIANG..TAI THAM SIGN CAANG
-1CD0..1CF2 ; 5.2 # [35] VEDIC TONE KARSHANA..VEDIC SIGN ARDHAVISARGA
-1DFD ; 5.2 # COMBINING ALMOST EQUAL TO BELOW
-20B6..20B8 ; 5.2 # [3] LIVRE TOURNOIS SIGN..TENGE SIGN
-2150..2152 ; 5.2 # [3] VULGAR FRACTION ONE SEVENTH..VULGAR FRACTION ONE TENTH
-2189 ; 5.2 # VULGAR FRACTION ZERO THIRDS
-23E8 ; 5.2 # DECIMAL EXPONENT SYMBOL
-269E..269F ; 5.2 # [2] THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT
-26BD..26BF ; 5.2 # [3] SOCCER BALL..SQUARED KEY
-26C4..26CD ; 5.2 # [10] SNOWMAN WITHOUT SNOW..DISABLED CAR
-26CF..26E1 ; 5.2 # [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; 5.2 # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; 5.2 # [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2757 ; 5.2 # HEAVY EXCLAMATION MARK SYMBOL
-2B55..2B59 ; 5.2 # [5] HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE
-2C70 ; 5.2 # LATIN CAPITAL LETTER TURNED ALPHA
-2C7E..2C7F ; 5.2 # [2] LATIN CAPITAL LETTER S WITH SWASH TAIL..LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2CEB..2CF1 ; 5.2 # [7] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC COMBINING SPIRITUS LENIS
-2E31 ; 5.2 # WORD SEPARATOR MIDDLE DOT
-3244..324F ; 5.2 # [12] CIRCLED IDEOGRAPH QUESTION..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-9FC4..9FCB ; 5.2 # [8] CJK UNIFIED IDEOGRAPH-9FC4..CJK UNIFIED IDEOGRAPH-9FCB
-A4D0..A4FF ; 5.2 # [48] LISU LETTER BA..LISU PUNCTUATION FULL STOP
-A6A0..A6F7 ; 5.2 # [88] BAMUM LETTER A..BAMUM QUESTION MARK
-A830..A839 ; 5.2 # [10] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC QUANTITY MARK
-A8E0..A8FB ; 5.2 # [28] COMBINING DEVANAGARI DIGIT ZERO..DEVANAGARI HEADSTROKE
-A960..A97C ; 5.2 # [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A980..A9CD ; 5.2 # [78] JAVANESE SIGN PANYANGGA..JAVANESE TURNED PADA PISELEH
-A9CF..A9D9 ; 5.2 # [11] JAVANESE PANGRANGKEP..JAVANESE DIGIT NINE
-A9DE..A9DF ; 5.2 # [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA60..AA7B ; 5.2 # [28] MYANMAR LETTER KHAMTI GA..MYANMAR SIGN PAO KAREN TONE
-AA80..AAC2 ; 5.2 # [67] TAI VIET LETTER LOW KO..TAI VIET TONE MAI SONG
-AADB..AADF ; 5.2 # [5] TAI VIET SYMBOL KON..TAI VIET SYMBOL KOI KOI
-ABC0..ABED ; 5.2 # [46] MEETEI MAYEK LETTER KOK..MEETEI MAYEK APUN IYEK
-ABF0..ABF9 ; 5.2 # [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-D7B0..D7C6 ; 5.2 # [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; 5.2 # [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-FA6B..FA6D ; 5.2 # [3] CJK COMPATIBILITY IDEOGRAPH-FA6B..CJK COMPATIBILITY IDEOGRAPH-FA6D
-10840..10855 ; 5.2 # [22] IMPERIAL ARAMAIC LETTER ALEPH..IMPERIAL ARAMAIC LETTER TAW
-10857..1085F ; 5.2 # [9] IMPERIAL ARAMAIC SECTION SIGN..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-1091A..1091B ; 5.2 # [2] PHOENICIAN NUMBER TWO..PHOENICIAN NUMBER THREE
-10A60..10A7F ; 5.2 # [32] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00..10B35 ; 5.2 # [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B39..10B55 ; 5.2 # [29] AVESTAN ABBREVIATION MARK..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58..10B72 ; 5.2 # [27] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78..10B7F ; 5.2 # [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00..10C48 ; 5.2 # [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10E60..10E7E ; 5.2 # [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-11080..110BC ; 5.2 # [61] KAITHI SIGN CANDRABINDU..KAITHI ENUMERATION SIGN
-110BD ; 5.2 # KAITHI NUMBER SIGN
-110BE..110C1 ; 5.2 # [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-13000..1342E ; 5.2 # [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1F100..1F10A ; 5.2 # [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; 5.2 # [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; 5.2 # SQUARED LATIN CAPITAL LETTER B
-1F13D ; 5.2 # SQUARED LATIN CAPITAL LETTER N
-1F13F ; 5.2 # SQUARED LATIN CAPITAL LETTER P
-1F142 ; 5.2 # SQUARED LATIN CAPITAL LETTER S
-1F146 ; 5.2 # SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; 5.2 # [5] SQUARED HV..SQUARED PPV
-1F157 ; 5.2 # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; 5.2 # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; 5.2 # NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; 5.2 # [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; 5.2 # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; 5.2 # [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; 5.2 # SQUARE DJ
-1F200 ; 5.2 # SQUARE HIRAGANA HOKA
-1F210..1F231 ; 5.2 # [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; 5.2 # [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2A700..2B734 ; 5.2 # [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-
-# Total code points: 6648
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/DCoreProperties.txt b/Master/tlpkg/tlperl/lib/unicore/DCoreProperties.txt
deleted file mode 100644
index f27f09e502b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/DCoreProperties.txt
+++ /dev/null
@@ -1,9243 +0,0 @@
-# DerivedCoreProperties-5.2.0.txt
-# Date: 2009-08-26, 00:45:22 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Derived Property: Math
-# Generated from: Sm + Other_Math
-
-002B ; Math # Sm PLUS SIGN
-003C..003E ; Math # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-005E ; Math # Sk CIRCUMFLEX ACCENT
-007C ; Math # Sm VERTICAL LINE
-007E ; Math # Sm TILDE
-00AC ; Math # Sm NOT SIGN
-00B1 ; Math # Sm PLUS-MINUS SIGN
-00D7 ; Math # Sm MULTIPLICATION SIGN
-00F7 ; Math # Sm DIVISION SIGN
-03D0..03D2 ; Math # L& [3] GREEK BETA SYMBOL..GREEK UPSILON WITH HOOK SYMBOL
-03D5 ; Math # L& GREEK PHI SYMBOL
-03F0..03F1 ; Math # L& [2] GREEK KAPPA SYMBOL..GREEK RHO SYMBOL
-03F4..03F5 ; Math # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F6 ; Math # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-0606..0608 ; Math # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-2016 ; Math # Po DOUBLE VERTICAL LINE
-2032..2034 ; Math # Po [3] PRIME..TRIPLE PRIME
-2040 ; Math # Pc CHARACTER TIE
-2044 ; Math # Sm FRACTION SLASH
-2052 ; Math # Sm COMMERCIAL MINUS SIGN
-2061..2064 ; Math # Cf [4] FUNCTION APPLICATION..INVISIBLE PLUS
-207A..207C ; Math # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; Math # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Math # Pe SUPERSCRIPT RIGHT PARENTHESIS
-208A..208C ; Math # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; Math # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Math # Pe SUBSCRIPT RIGHT PARENTHESIS
-20D0..20DC ; Math # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20E1 ; Math # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E5..20E6 ; Math # Mn [2] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20EB..20EF ; Math # Mn [5] COMBINING LONG DOUBLE SOLIDUS OVERLAY..COMBINING RIGHT ARROW BELOW
-2102 ; Math # L& DOUBLE-STRUCK CAPITAL C
-210A..2113 ; Math # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; Math # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Math # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Math # L& DOUBLE-STRUCK CAPITAL Z
-2128 ; Math # L& BLACK-LETTER CAPITAL Z
-2129 ; Math # So TURNED GREEK SMALL LETTER IOTA
-212C..212D ; Math # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
-212F..2131 ; Math # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F
-2133..2134 ; Math # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O
-2135..2138 ; Math # Lo [4] ALEF SYMBOL..DALET SYMBOL
-213C..213F ; Math # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140..2144 ; Math # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-2145..2149 ; Math # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214B ; Math # Sm TURNED AMPERSAND
-2190..2194 ; Math # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; Math # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219A..219B ; Math # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; Math # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; Math # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; Math # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; Math # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; Math # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; Math # Sm RIGHTWARDS ARROW FROM BAR
-21A7 ; Math # So DOWNWARDS ARROW FROM BAR
-21A9..21AD ; Math # So [5] LEFTWARDS ARROW WITH HOOK..LEFT RIGHT WAVE ARROW
-21AE ; Math # Sm LEFT RIGHT ARROW WITH STROKE
-21B0..21B1 ; Math # So [2] UPWARDS ARROW WITH TIP LEFTWARDS..UPWARDS ARROW WITH TIP RIGHTWARDS
-21B6..21B7 ; Math # So [2] ANTICLOCKWISE TOP SEMICIRCLE ARROW..CLOCKWISE TOP SEMICIRCLE ARROW
-21BC..21CD ; Math # So [18] LEFTWARDS HARPOON WITH BARB UPWARDS..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Math # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; Math # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D2 ; Math # Sm RIGHTWARDS DOUBLE ARROW
-21D3 ; Math # So DOWNWARDS DOUBLE ARROW
-21D4 ; Math # Sm LEFT RIGHT DOUBLE ARROW
-21D5..21DB ; Math # So [7] UP DOWN DOUBLE ARROW..RIGHTWARDS TRIPLE ARROW
-21DD ; Math # So RIGHTWARDS SQUIGGLE ARROW
-21E4..21E5 ; Math # So [2] LEFTWARDS ARROW TO BAR..RIGHTWARDS ARROW TO BAR
-21F4..22FF ; Math # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
-2308..230B ; Math # Sm [4] LEFT CEILING..RIGHT FLOOR
-2320..2321 ; Math # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-237C ; Math # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-239B..23B3 ; Math # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23B5 ; Math # So [2] TOP SQUARE BRACKET..BOTTOM SQUARE BRACKET
-23B7 ; Math # So RADICAL SYMBOL BOTTOM
-23D0 ; Math # So VERTICAL LINE EXTENSION
-23DC..23E1 ; Math # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2 ; Math # So WHITE TRAPEZIUM
-25A0..25A1 ; Math # So [2] BLACK SQUARE..WHITE SQUARE
-25AE..25B6 ; Math # So [9] BLACK VERTICAL RECTANGLE..BLACK RIGHT-POINTING TRIANGLE
-25B7 ; Math # Sm WHITE RIGHT-POINTING TRIANGLE
-25BC..25C0 ; Math # So [5] BLACK DOWN-POINTING TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C1 ; Math # Sm WHITE LEFT-POINTING TRIANGLE
-25C6..25C7 ; Math # So [2] BLACK DIAMOND..WHITE DIAMOND
-25CA..25CB ; Math # So [2] LOZENGE..WHITE CIRCLE
-25CF..25D3 ; Math # So [5] BLACK CIRCLE..CIRCLE WITH UPPER HALF BLACK
-25E2 ; Math # So BLACK LOWER RIGHT TRIANGLE
-25E4 ; Math # So BLACK UPPER LEFT TRIANGLE
-25E7..25EC ; Math # So [6] SQUARE WITH LEFT HALF BLACK..WHITE UP-POINTING TRIANGLE WITH DOT
-25F8..25FF ; Math # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2605..2606 ; Math # So [2] BLACK STAR..WHITE STAR
-2640 ; Math # So FEMALE SIGN
-2642 ; Math # So MALE SIGN
-2660..2663 ; Math # So [4] BLACK SPADE SUIT..BLACK CLUB SUIT
-266D..266E ; Math # So [2] MUSIC FLAT SIGN..MUSIC NATURAL SIGN
-266F ; Math # Sm MUSIC SHARP SIGN
-27C0..27C4 ; Math # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; Math # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Math # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; Math # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; Math # Sm LONG DIVISION
-27D0..27E5 ; Math # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; Math # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Math # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Math # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Math # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Math # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Math # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Math # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Math # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Math # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Math # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; Math # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2900..2982 ; Math # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; Math # Ps LEFT WHITE CURLY BRACKET
-2984 ; Math # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Math # Ps LEFT WHITE PARENTHESIS
-2986 ; Math # Pe RIGHT WHITE PARENTHESIS
-2987 ; Math # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Math # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Math # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Math # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Math # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Math # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Math # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Math # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Math # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Math # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Math # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Math # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Math # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Math # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Math # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Math # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Math # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Math # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; Math # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; Math # Ps LEFT WIGGLY FENCE
-29D9 ; Math # Pe RIGHT WIGGLY FENCE
-29DA ; Math # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Math # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; Math # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; Math # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Math # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; Math # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B30..2B44 ; Math # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B47..2B4C ; Math # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-FB29 ; Math # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FE61 ; Math # Po SMALL ASTERISK
-FE62 ; Math # Sm SMALL PLUS SIGN
-FE63 ; Math # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; Math # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; Math # Po SMALL REVERSE SOLIDUS
-FF0B ; Math # Sm FULLWIDTH PLUS SIGN
-FF1C..FF1E ; Math # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF3C ; Math # Po FULLWIDTH REVERSE SOLIDUS
-FF3E ; Math # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF5C ; Math # Sm FULLWIDTH VERTICAL LINE
-FF5E ; Math # Sm FULLWIDTH TILDE
-FFE2 ; Math # Sm FULLWIDTH NOT SIGN
-FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-1D400..1D454 ; Math # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Math # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Math # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Math # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Math # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Math # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Math # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Math # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Math # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Math # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Math # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Math # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Math # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Math # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Math # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Math # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Math # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Math # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Math # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Math # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; Math # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; Math # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; Math # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; Math # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; Math # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; Math # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; Math # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; Math # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; Math # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; Math # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; Math # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; Math # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; Math # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; Math # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; Math # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; Math # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; Math # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; Math # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; Math # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; Math # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; Math # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 2161
-
-# ================================================
-
-# Derived Property: Alphabetic
-# Generated from: Lu+Ll+Lt+Lm+Lo+Nl + Other_Alphabetic
-
-0041..005A ; Alphabetic # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; Alphabetic # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; Alphabetic # L& FEMININE ORDINAL INDICATOR
-00B5 ; Alphabetic # L& MICRO SIGN
-00BA ; Alphabetic # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; Alphabetic # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; Alphabetic # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; Alphabetic # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; Alphabetic # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; Alphabetic # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; Alphabetic # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; Alphabetic # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; Alphabetic # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; Alphabetic # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; Alphabetic # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; Alphabetic # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; Alphabetic # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; Alphabetic # Lm MODIFIER LETTER VOICING
-02EE ; Alphabetic # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0345 ; Alphabetic # Mn COMBINING GREEK YPOGEGRAMMENI
-0370..0373 ; Alphabetic # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; Alphabetic # Lm GREEK NUMERAL SIGN
-0376..0377 ; Alphabetic # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; Alphabetic # Lm GREEK YPOGEGRAMMENI
-037B..037D ; Alphabetic # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; Alphabetic # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Alphabetic # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Alphabetic # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; Alphabetic # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; Alphabetic # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; Alphabetic # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-048A..0525 ; Alphabetic # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; Alphabetic # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; Alphabetic # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0561..0587 ; Alphabetic # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-05B0..05BD ; Alphabetic # Mn [14] HEBREW POINT SHEVA..HEBREW POINT METEG
-05BF ; Alphabetic # Mn HEBREW POINT RAFE
-05C1..05C2 ; Alphabetic # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Alphabetic # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Alphabetic # Mn HEBREW POINT QAMATS QATAN
-05D0..05EA ; Alphabetic # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; Alphabetic # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-0610..061A ; Alphabetic # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-0621..063F ; Alphabetic # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; Alphabetic # Lm ARABIC TATWEEL
-0641..064A ; Alphabetic # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-064B..0657 ; Alphabetic # Mn [13] ARABIC FATHATAN..ARABIC INVERTED DAMMA
-0659..065E ; Alphabetic # Mn [6] ARABIC ZWARAKAY..ARABIC FATHA WITH TWO DOTS
-066E..066F ; Alphabetic # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0670 ; Alphabetic # Mn ARABIC LETTER SUPERSCRIPT ALEF
-0671..06D3 ; Alphabetic # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; Alphabetic # Lo ARABIC LETTER AE
-06D6..06DC ; Alphabetic # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06E1..06E4 ; Alphabetic # Mn [4] ARABIC SMALL HIGH DOTLESS HEAD OF KHAH..ARABIC SMALL HIGH MADDA
-06E5..06E6 ; Alphabetic # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E7..06E8 ; Alphabetic # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06ED ; Alphabetic # Mn ARABIC SMALL LOW MEEM
-06EE..06EF ; Alphabetic # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; Alphabetic # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; Alphabetic # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; Alphabetic # Lo SYRIAC LETTER ALAPH
-0711 ; Alphabetic # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0712..072F ; Alphabetic # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-0730..073F ; Alphabetic # Mn [16] SYRIAC PTHAHA ABOVE..SYRIAC RWAHA
-074D..07A5 ; Alphabetic # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07A6..07B0 ; Alphabetic # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07B1 ; Alphabetic # Lo THAANA LETTER NAA
-07CA..07EA ; Alphabetic # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; Alphabetic # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; Alphabetic # Lm NKO LAJANYALAN
-0800..0815 ; Alphabetic # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-0816..0817 ; Alphabetic # Mn [2] SAMARITAN MARK IN..SAMARITAN MARK IN-ALAF
-081A ; Alphabetic # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B..0823 ; Alphabetic # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0824 ; Alphabetic # Lm SAMARITAN MODIFIER LETTER SHORT A
-0825..0827 ; Alphabetic # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0828 ; Alphabetic # Lm SAMARITAN MODIFIER LETTER I
-0829..082C ; Alphabetic # Mn [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN
-0900..0902 ; Alphabetic # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; Alphabetic # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; Alphabetic # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; Alphabetic # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; Alphabetic # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; Alphabetic # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; Alphabetic # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; Alphabetic # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; Alphabetic # Lo DEVANAGARI OM
-0955 ; Alphabetic # Mn DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958..0961 ; Alphabetic # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0962..0963 ; Alphabetic # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0971 ; Alphabetic # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; Alphabetic # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; Alphabetic # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0981 ; Alphabetic # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; Alphabetic # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; Alphabetic # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; Alphabetic # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; Alphabetic # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; Alphabetic # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; Alphabetic # Lo BENGALI LETTER LA
-09B6..09B9 ; Alphabetic # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; Alphabetic # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; Alphabetic # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; Alphabetic # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; Alphabetic # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Alphabetic # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CE ; Alphabetic # Lo BENGALI LETTER KHANDA TA
-09D7 ; Alphabetic # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; Alphabetic # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; Alphabetic # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E2..09E3 ; Alphabetic # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-09F0..09F1 ; Alphabetic # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A01..0A02 ; Alphabetic # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; Alphabetic # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; Alphabetic # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; Alphabetic # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; Alphabetic # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; Alphabetic # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; Alphabetic # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; Alphabetic # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; Alphabetic # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3E..0A40 ; Alphabetic # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; Alphabetic # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Alphabetic # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4C ; Alphabetic # Mn [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU
-0A51 ; Alphabetic # Mn GURMUKHI SIGN UDAAT
-0A59..0A5C ; Alphabetic # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; Alphabetic # Lo GURMUKHI LETTER FA
-0A70..0A71 ; Alphabetic # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A72..0A74 ; Alphabetic # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A75 ; Alphabetic # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Alphabetic # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; Alphabetic # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; Alphabetic # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; Alphabetic # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; Alphabetic # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; Alphabetic # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; Alphabetic # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; Alphabetic # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; Alphabetic # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; Alphabetic # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; Alphabetic # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Alphabetic # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; Alphabetic # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Alphabetic # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0AD0 ; Alphabetic # Lo GUJARATI OM
-0AE0..0AE1 ; Alphabetic # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE2..0AE3 ; Alphabetic # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Alphabetic # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; Alphabetic # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; Alphabetic # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; Alphabetic # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; Alphabetic # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; Alphabetic # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; Alphabetic # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; Alphabetic # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; Alphabetic # Lo ORIYA SIGN AVAGRAHA
-0B3E ; Alphabetic # Mc ORIYA VOWEL SIGN AA
-0B3F ; Alphabetic # Mn ORIYA VOWEL SIGN I
-0B40 ; Alphabetic # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; Alphabetic # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; Alphabetic # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Alphabetic # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B56 ; Alphabetic # Mn ORIYA AI LENGTH MARK
-0B57 ; Alphabetic # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; Alphabetic # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; Alphabetic # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B62..0B63 ; Alphabetic # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B71 ; Alphabetic # Lo ORIYA LETTER WA
-0B82 ; Alphabetic # Mn TAMIL SIGN ANUSVARA
-0B83 ; Alphabetic # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; Alphabetic # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; Alphabetic # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; Alphabetic # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; Alphabetic # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; Alphabetic # Lo TAMIL LETTER JA
-0B9E..0B9F ; Alphabetic # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; Alphabetic # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; Alphabetic # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; Alphabetic # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; Alphabetic # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; Alphabetic # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; Alphabetic # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Alphabetic # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Alphabetic # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BD0 ; Alphabetic # Lo TAMIL OM
-0BD7 ; Alphabetic # Mc TAMIL AU LENGTH MARK
-0C01..0C03 ; Alphabetic # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; Alphabetic # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; Alphabetic # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; Alphabetic # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; Alphabetic # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; Alphabetic # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; Alphabetic # Lo TELUGU SIGN AVAGRAHA
-0C3E..0C40 ; Alphabetic # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; Alphabetic # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; Alphabetic # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4C ; Alphabetic # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
-0C55..0C56 ; Alphabetic # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59 ; Alphabetic # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; Alphabetic # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C62..0C63 ; Alphabetic # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C82..0C83 ; Alphabetic # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; Alphabetic # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; Alphabetic # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; Alphabetic # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; Alphabetic # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; Alphabetic # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; Alphabetic # Lo KANNADA SIGN AVAGRAHA
-0CBE ; Alphabetic # Mc KANNADA VOWEL SIGN AA
-0CBF ; Alphabetic # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; Alphabetic # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; Alphabetic # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; Alphabetic # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Alphabetic # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC ; Alphabetic # Mn KANNADA VOWEL SIGN AU
-0CD5..0CD6 ; Alphabetic # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; Alphabetic # Lo KANNADA LETTER FA
-0CE0..0CE1 ; Alphabetic # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE2..0CE3 ; Alphabetic # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D02..0D03 ; Alphabetic # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; Alphabetic # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; Alphabetic # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; Alphabetic # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; Alphabetic # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; Alphabetic # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; Alphabetic # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; Alphabetic # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; Alphabetic # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Alphabetic # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D57 ; Alphabetic # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; Alphabetic # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D62..0D63 ; Alphabetic # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D7A..0D7F ; Alphabetic # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; Alphabetic # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; Alphabetic # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; Alphabetic # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; Alphabetic # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; Alphabetic # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; Alphabetic # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCF..0DD1 ; Alphabetic # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; Alphabetic # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Alphabetic # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; Alphabetic # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; Alphabetic # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E01..0E30 ; Alphabetic # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; Alphabetic # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; Alphabetic # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; Alphabetic # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E40..0E45 ; Alphabetic # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; Alphabetic # Lm THAI CHARACTER MAIYAMOK
-0E4D ; Alphabetic # Mn THAI CHARACTER NIKHAHIT
-0E81..0E82 ; Alphabetic # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; Alphabetic # Lo LAO LETTER KHO TAM
-0E87..0E88 ; Alphabetic # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; Alphabetic # Lo LAO LETTER SO TAM
-0E8D ; Alphabetic # Lo LAO LETTER NYO
-0E94..0E97 ; Alphabetic # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; Alphabetic # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; Alphabetic # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; Alphabetic # Lo LAO LETTER LO LOOT
-0EA7 ; Alphabetic # Lo LAO LETTER WO
-0EAA..0EAB ; Alphabetic # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; Alphabetic # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; Alphabetic # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; Alphabetic # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; Alphabetic # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Alphabetic # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; Alphabetic # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; Alphabetic # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; Alphabetic # Lm LAO KO LA
-0ECD ; Alphabetic # Mn LAO NIGGAHITA
-0EDC..0EDD ; Alphabetic # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; Alphabetic # Lo TIBETAN SYLLABLE OM
-0F40..0F47 ; Alphabetic # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; Alphabetic # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F71..0F7E ; Alphabetic # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; Alphabetic # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F81 ; Alphabetic # Mn [2] TIBETAN VOWEL SIGN REVERSED I..TIBETAN VOWEL SIGN REVERSED II
-0F88..0F8B ; Alphabetic # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F97 ; Alphabetic # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Alphabetic # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-1000..102A ; Alphabetic # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; Alphabetic # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; Alphabetic # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; Alphabetic # Mc MYANMAR VOWEL SIGN E
-1032..1036 ; Alphabetic # Mn [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA
-1038 ; Alphabetic # Mc MYANMAR SIGN VISARGA
-103B..103C ; Alphabetic # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; Alphabetic # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; Alphabetic # Lo MYANMAR LETTER GREAT SA
-1050..1055 ; Alphabetic # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; Alphabetic # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; Alphabetic # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; Alphabetic # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; Alphabetic # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; Alphabetic # Lo MYANMAR LETTER SGAW KAREN SHA
-1062 ; Alphabetic # Mc MYANMAR VOWEL SIGN SGAW KAREN EU
-1065..1066 ; Alphabetic # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..1068 ; Alphabetic # Mc [2] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-106E..1070 ; Alphabetic # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; Alphabetic # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; Alphabetic # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; Alphabetic # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; Alphabetic # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; Alphabetic # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108E ; Alphabetic # Lo MYANMAR LETTER RUMAI PALAUNG FA
-109C ; Alphabetic # Mc MYANMAR VOWEL SIGN AITON A
-109D ; Alphabetic # Mn MYANMAR VOWEL SIGN AITON AI
-10A0..10C5 ; Alphabetic # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; Alphabetic # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; Alphabetic # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; Alphabetic # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; Alphabetic # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; Alphabetic # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; Alphabetic # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; Alphabetic # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; Alphabetic # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; Alphabetic # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; Alphabetic # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-135F ; Alphabetic # Mn ETHIOPIC COMBINING GEMINATION MARK
-1380..138F ; Alphabetic # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; Alphabetic # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; Alphabetic # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; Alphabetic # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; Alphabetic # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; Alphabetic # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; Alphabetic # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; Alphabetic # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; Alphabetic # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1712..1713 ; Alphabetic # Mn [2] TAGALOG VOWEL SIGN I..TAGALOG VOWEL SIGN U
-1720..1731 ; Alphabetic # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1732..1733 ; Alphabetic # Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
-1740..1751 ; Alphabetic # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1752..1753 ; Alphabetic # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1760..176C ; Alphabetic # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; Alphabetic # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; Alphabetic # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-1780..17B3 ; Alphabetic # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B6 ; Alphabetic # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; Alphabetic # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; Alphabetic # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; Alphabetic # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; Alphabetic # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17D7 ; Alphabetic # Lm KHMER SIGN LEK TOO
-17DC ; Alphabetic # Lo KHMER SIGN AVAKRAHASANYA
-1820..1842 ; Alphabetic # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; Alphabetic # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; Alphabetic # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; Alphabetic # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 ; Alphabetic # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-18AA ; Alphabetic # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; Alphabetic # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; Alphabetic # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..1922 ; Alphabetic # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; Alphabetic # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; Alphabetic # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; Alphabetic # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Alphabetic # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; Alphabetic # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; Alphabetic # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1950..196D ; Alphabetic # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; Alphabetic # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; Alphabetic # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; Alphabetic # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; Alphabetic # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; Alphabetic # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-1A00..1A16 ; Alphabetic # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A17..1A18 ; Alphabetic # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; Alphabetic # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A20..1A54 ; Alphabetic # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; Alphabetic # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; Alphabetic # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; Alphabetic # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; Alphabetic # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A61 ; Alphabetic # Mc TAI THAM VOWEL SIGN A
-1A62 ; Alphabetic # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; Alphabetic # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; Alphabetic # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; Alphabetic # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A74 ; Alphabetic # Mn [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
-1AA7 ; Alphabetic # Lm TAI THAM SIGN MAI YAMOK
-1B00..1B03 ; Alphabetic # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; Alphabetic # Mc BALINESE SIGN BISAH
-1B05..1B33 ; Alphabetic # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B35 ; Alphabetic # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; Alphabetic # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; Alphabetic # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; Alphabetic # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; Alphabetic # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; Alphabetic # Mn BALINESE VOWEL SIGN PEPET
-1B43 ; Alphabetic # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1B45..1B4B ; Alphabetic # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B80..1B81 ; Alphabetic # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; Alphabetic # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; Alphabetic # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; Alphabetic # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; Alphabetic # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; Alphabetic # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; Alphabetic # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAE..1BAF ; Alphabetic # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; Alphabetic # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; Alphabetic # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; Alphabetic # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; Alphabetic # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C4D..1C4F ; Alphabetic # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; Alphabetic # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; Alphabetic # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CE9..1CEC ; Alphabetic # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; Alphabetic # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; Alphabetic # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; Alphabetic # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; Alphabetic # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; Alphabetic # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; Alphabetic # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; Alphabetic # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; Alphabetic # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; Alphabetic # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Alphabetic # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Alphabetic # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Alphabetic # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Alphabetic # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Alphabetic # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Alphabetic # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Alphabetic # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Alphabetic # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Alphabetic # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Alphabetic # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; Alphabetic # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Alphabetic # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Alphabetic # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; Alphabetic # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Alphabetic # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; Alphabetic # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; Alphabetic # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Alphabetic # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2071 ; Alphabetic # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; Alphabetic # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; Alphabetic # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2102 ; Alphabetic # L& DOUBLE-STRUCK CAPITAL C
-2107 ; Alphabetic # L& EULER CONSTANT
-210A..2113 ; Alphabetic # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; Alphabetic # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Alphabetic # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Alphabetic # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; Alphabetic # L& OHM SIGN
-2128 ; Alphabetic # L& BLACK-LETTER CAPITAL Z
-212A..212D ; Alphabetic # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2134 ; Alphabetic # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; Alphabetic # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; Alphabetic # L& INFORMATION SOURCE
-213C..213F ; Alphabetic # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; Alphabetic # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; Alphabetic # L& TURNED SMALL F
-2160..2182 ; Alphabetic # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; Alphabetic # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; Alphabetic # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-24B6..24E9 ; Alphabetic # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C00..2C2E ; Alphabetic # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; Alphabetic # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; Alphabetic # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Alphabetic # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; Alphabetic # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; Alphabetic # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Alphabetic # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; Alphabetic # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; Alphabetic # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; Alphabetic # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2DE0..2DFF ; Alphabetic # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E2F ; Alphabetic # Lm VERTICAL TILDE
-3005 ; Alphabetic # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; Alphabetic # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; Alphabetic # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; Alphabetic # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3031..3035 ; Alphabetic # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; Alphabetic # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; Alphabetic # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; Alphabetic # Lo MASU MARK
-3041..3096 ; Alphabetic # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309D..309E ; Alphabetic # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; Alphabetic # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; Alphabetic # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; Alphabetic # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; Alphabetic # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; Alphabetic # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; Alphabetic # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; Alphabetic # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; Alphabetic # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; Alphabetic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; Alphabetic # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; Alphabetic # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; Alphabetic # Lm YI SYLLABLE WU
-A016..A48C ; Alphabetic # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; Alphabetic # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; Alphabetic # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; Alphabetic # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; Alphabetic # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; Alphabetic # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; Alphabetic # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; Alphabetic # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; Alphabetic # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; Alphabetic # Lo CYRILLIC LETTER MULTIOCULAR O
-A67F ; Alphabetic # Lm CYRILLIC PAYEROK
-A680..A697 ; Alphabetic # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; Alphabetic # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; Alphabetic # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A717..A71F ; Alphabetic # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A76F ; Alphabetic # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; Alphabetic # Lm MODIFIER LETTER US
-A771..A787 ; Alphabetic # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; Alphabetic # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A78B..A78C ; Alphabetic # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; Alphabetic # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; Alphabetic # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; Alphabetic # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; Alphabetic # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; Alphabetic # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; Alphabetic # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; Alphabetic # Mc SYLOTI NAGRI VOWEL SIGN OO
-A840..A873 ; Alphabetic # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A880..A881 ; Alphabetic # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; Alphabetic # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; Alphabetic # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8F2..A8F7 ; Alphabetic # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; Alphabetic # Lo DEVANAGARI HEADSTROKE
-A90A..A925 ; Alphabetic # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A926..A92A ; Alphabetic # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
-A930..A946 ; Alphabetic # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A947..A951 ; Alphabetic # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952 ; Alphabetic # Mc REJANG CONSONANT SIGN H
-A960..A97C ; Alphabetic # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A980..A982 ; Alphabetic # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; Alphabetic # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; Alphabetic # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B3 ; Alphabetic # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; Alphabetic # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; Alphabetic # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; Alphabetic # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; Alphabetic # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9BF ; Alphabetic # Mc [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA
-A9CF ; Alphabetic # Lm JAVANESE PANGRANGKEP
-AA00..AA28 ; Alphabetic # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA29..AA2E ; Alphabetic # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; Alphabetic # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; Alphabetic # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; Alphabetic # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; Alphabetic # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA40..AA42 ; Alphabetic # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA43 ; Alphabetic # Mn CHAM CONSONANT SIGN FINAL NG
-AA44..AA4B ; Alphabetic # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4C ; Alphabetic # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; Alphabetic # Mc CHAM CONSONANT SIGN FINAL H
-AA60..AA6F ; Alphabetic # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; Alphabetic # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; Alphabetic # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; Alphabetic # Lo MYANMAR LETTER AITON RA
-AA80..AAAF ; Alphabetic # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB0 ; Alphabetic # Mn TAI VIET MAI KANG
-AAB1 ; Alphabetic # Lo TAI VIET VOWEL AA
-AAB2..AAB4 ; Alphabetic # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB5..AAB6 ; Alphabetic # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB7..AAB8 ; Alphabetic # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AAB9..AABD ; Alphabetic # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AABE ; Alphabetic # Mn TAI VIET VOWEL AM
-AAC0 ; Alphabetic # Lo TAI VIET TONE MAI NUENG
-AAC2 ; Alphabetic # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; Alphabetic # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; Alphabetic # Lm TAI VIET SYMBOL SAM
-ABC0..ABE2 ; Alphabetic # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; Alphabetic # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; Alphabetic # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-AC00..D7A3 ; Alphabetic # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; Alphabetic # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; Alphabetic # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; Alphabetic # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Alphabetic # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Alphabetic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; Alphabetic # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Alphabetic # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; Alphabetic # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1E ; Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F..FB28 ; Alphabetic # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; Alphabetic # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Alphabetic # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Alphabetic # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Alphabetic # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Alphabetic # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; Alphabetic # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; Alphabetic # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; Alphabetic # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Alphabetic # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Alphabetic # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE70..FE74 ; Alphabetic # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; Alphabetic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF21..FF3A ; Alphabetic # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; Alphabetic # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF66..FF6F ; Alphabetic # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; Alphabetic # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; Alphabetic # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; Alphabetic # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; Alphabetic # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; Alphabetic # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; Alphabetic # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; Alphabetic # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; Alphabetic # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; Alphabetic # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; Alphabetic # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; Alphabetic # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; Alphabetic # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; Alphabetic # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; Alphabetic # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; Alphabetic # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10280..1029C ; Alphabetic # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; Alphabetic # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; Alphabetic # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; Alphabetic # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; Alphabetic # Nl GOTHIC LETTER NINETY
-10342..10349 ; Alphabetic # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; Alphabetic # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; Alphabetic # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; Alphabetic # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; Alphabetic # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; Alphabetic # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; Alphabetic # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; Alphabetic # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; Alphabetic # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; Alphabetic # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; Alphabetic # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; Alphabetic # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; Alphabetic # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; Alphabetic # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; Alphabetic # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; Alphabetic # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; Alphabetic # Lo KHAROSHTHI LETTER A
-10A01..10A03 ; Alphabetic # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Alphabetic # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Alphabetic # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A10..10A13 ; Alphabetic # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; Alphabetic # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; Alphabetic # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A60..10A7C ; Alphabetic # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; Alphabetic # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; Alphabetic # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; Alphabetic # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; Alphabetic # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11082 ; Alphabetic # Mc KAITHI SIGN VISARGA
-11083..110AF ; Alphabetic # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; Alphabetic # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; Alphabetic # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; Alphabetic # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-12000..1236E ; Alphabetic # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; Alphabetic # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D400..1D454 ; Alphabetic # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Alphabetic # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Alphabetic # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Alphabetic # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Alphabetic # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Alphabetic # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Alphabetic # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Alphabetic # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Alphabetic # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Alphabetic # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Alphabetic # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Alphabetic # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Alphabetic # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Alphabetic # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Alphabetic # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Alphabetic # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Alphabetic # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Alphabetic # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Alphabetic # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Alphabetic # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; Alphabetic # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; Alphabetic # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; Alphabetic # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; Alphabetic # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; Alphabetic # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; Alphabetic # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; Alphabetic # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; Alphabetic # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; Alphabetic # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; Alphabetic # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-20000..2A6D6 ; Alphabetic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; Alphabetic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 100520
-
-# ================================================
-
-# Derived Property: Lowercase
-# Generated from: Ll + Other_Lowercase
-
-0061..007A ; Lowercase # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; Lowercase # L& FEMININE ORDINAL INDICATOR
-00B5 ; Lowercase # L& MICRO SIGN
-00BA ; Lowercase # L& MASCULINE ORDINAL INDICATOR
-00DF..00F6 ; Lowercase # L& [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..00FF ; Lowercase # L& [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
-0101 ; Lowercase # L& LATIN SMALL LETTER A WITH MACRON
-0103 ; Lowercase # L& LATIN SMALL LETTER A WITH BREVE
-0105 ; Lowercase # L& LATIN SMALL LETTER A WITH OGONEK
-0107 ; Lowercase # L& LATIN SMALL LETTER C WITH ACUTE
-0109 ; Lowercase # L& LATIN SMALL LETTER C WITH CIRCUMFLEX
-010B ; Lowercase # L& LATIN SMALL LETTER C WITH DOT ABOVE
-010D ; Lowercase # L& LATIN SMALL LETTER C WITH CARON
-010F ; Lowercase # L& LATIN SMALL LETTER D WITH CARON
-0111 ; Lowercase # L& LATIN SMALL LETTER D WITH STROKE
-0113 ; Lowercase # L& LATIN SMALL LETTER E WITH MACRON
-0115 ; Lowercase # L& LATIN SMALL LETTER E WITH BREVE
-0117 ; Lowercase # L& LATIN SMALL LETTER E WITH DOT ABOVE
-0119 ; Lowercase # L& LATIN SMALL LETTER E WITH OGONEK
-011B ; Lowercase # L& LATIN SMALL LETTER E WITH CARON
-011D ; Lowercase # L& LATIN SMALL LETTER G WITH CIRCUMFLEX
-011F ; Lowercase # L& LATIN SMALL LETTER G WITH BREVE
-0121 ; Lowercase # L& LATIN SMALL LETTER G WITH DOT ABOVE
-0123 ; Lowercase # L& LATIN SMALL LETTER G WITH CEDILLA
-0125 ; Lowercase # L& LATIN SMALL LETTER H WITH CIRCUMFLEX
-0127 ; Lowercase # L& LATIN SMALL LETTER H WITH STROKE
-0129 ; Lowercase # L& LATIN SMALL LETTER I WITH TILDE
-012B ; Lowercase # L& LATIN SMALL LETTER I WITH MACRON
-012D ; Lowercase # L& LATIN SMALL LETTER I WITH BREVE
-012F ; Lowercase # L& LATIN SMALL LETTER I WITH OGONEK
-0131 ; Lowercase # L& LATIN SMALL LETTER DOTLESS I
-0133 ; Lowercase # L& LATIN SMALL LIGATURE IJ
-0135 ; Lowercase # L& LATIN SMALL LETTER J WITH CIRCUMFLEX
-0137..0138 ; Lowercase # L& [2] LATIN SMALL LETTER K WITH CEDILLA..LATIN SMALL LETTER KRA
-013A ; Lowercase # L& LATIN SMALL LETTER L WITH ACUTE
-013C ; Lowercase # L& LATIN SMALL LETTER L WITH CEDILLA
-013E ; Lowercase # L& LATIN SMALL LETTER L WITH CARON
-0140 ; Lowercase # L& LATIN SMALL LETTER L WITH MIDDLE DOT
-0142 ; Lowercase # L& LATIN SMALL LETTER L WITH STROKE
-0144 ; Lowercase # L& LATIN SMALL LETTER N WITH ACUTE
-0146 ; Lowercase # L& LATIN SMALL LETTER N WITH CEDILLA
-0148..0149 ; Lowercase # L& [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014B ; Lowercase # L& LATIN SMALL LETTER ENG
-014D ; Lowercase # L& LATIN SMALL LETTER O WITH MACRON
-014F ; Lowercase # L& LATIN SMALL LETTER O WITH BREVE
-0151 ; Lowercase # L& LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0153 ; Lowercase # L& LATIN SMALL LIGATURE OE
-0155 ; Lowercase # L& LATIN SMALL LETTER R WITH ACUTE
-0157 ; Lowercase # L& LATIN SMALL LETTER R WITH CEDILLA
-0159 ; Lowercase # L& LATIN SMALL LETTER R WITH CARON
-015B ; Lowercase # L& LATIN SMALL LETTER S WITH ACUTE
-015D ; Lowercase # L& LATIN SMALL LETTER S WITH CIRCUMFLEX
-015F ; Lowercase # L& LATIN SMALL LETTER S WITH CEDILLA
-0161 ; Lowercase # L& LATIN SMALL LETTER S WITH CARON
-0163 ; Lowercase # L& LATIN SMALL LETTER T WITH CEDILLA
-0165 ; Lowercase # L& LATIN SMALL LETTER T WITH CARON
-0167 ; Lowercase # L& LATIN SMALL LETTER T WITH STROKE
-0169 ; Lowercase # L& LATIN SMALL LETTER U WITH TILDE
-016B ; Lowercase # L& LATIN SMALL LETTER U WITH MACRON
-016D ; Lowercase # L& LATIN SMALL LETTER U WITH BREVE
-016F ; Lowercase # L& LATIN SMALL LETTER U WITH RING ABOVE
-0171 ; Lowercase # L& LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0173 ; Lowercase # L& LATIN SMALL LETTER U WITH OGONEK
-0175 ; Lowercase # L& LATIN SMALL LETTER W WITH CIRCUMFLEX
-0177 ; Lowercase # L& LATIN SMALL LETTER Y WITH CIRCUMFLEX
-017A ; Lowercase # L& LATIN SMALL LETTER Z WITH ACUTE
-017C ; Lowercase # L& LATIN SMALL LETTER Z WITH DOT ABOVE
-017E..0180 ; Lowercase # L& [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
-0183 ; Lowercase # L& LATIN SMALL LETTER B WITH TOPBAR
-0185 ; Lowercase # L& LATIN SMALL LETTER TONE SIX
-0188 ; Lowercase # L& LATIN SMALL LETTER C WITH HOOK
-018C..018D ; Lowercase # L& [2] LATIN SMALL LETTER D WITH TOPBAR..LATIN SMALL LETTER TURNED DELTA
-0192 ; Lowercase # L& LATIN SMALL LETTER F WITH HOOK
-0195 ; Lowercase # L& LATIN SMALL LETTER HV
-0199..019B ; Lowercase # L& [3] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER LAMBDA WITH STROKE
-019E ; Lowercase # L& LATIN SMALL LETTER N WITH LONG RIGHT LEG
-01A1 ; Lowercase # L& LATIN SMALL LETTER O WITH HORN
-01A3 ; Lowercase # L& LATIN SMALL LETTER OI
-01A5 ; Lowercase # L& LATIN SMALL LETTER P WITH HOOK
-01A8 ; Lowercase # L& LATIN SMALL LETTER TONE TWO
-01AA..01AB ; Lowercase # L& [2] LATIN LETTER REVERSED ESH LOOP..LATIN SMALL LETTER T WITH PALATAL HOOK
-01AD ; Lowercase # L& LATIN SMALL LETTER T WITH HOOK
-01B0 ; Lowercase # L& LATIN SMALL LETTER U WITH HORN
-01B4 ; Lowercase # L& LATIN SMALL LETTER Y WITH HOOK
-01B6 ; Lowercase # L& LATIN SMALL LETTER Z WITH STROKE
-01B9..01BA ; Lowercase # L& [2] LATIN SMALL LETTER EZH REVERSED..LATIN SMALL LETTER EZH WITH TAIL
-01BD..01BF ; Lowercase # L& [3] LATIN SMALL LETTER TONE FIVE..LATIN LETTER WYNN
-01C6 ; Lowercase # L& LATIN SMALL LETTER DZ WITH CARON
-01C9 ; Lowercase # L& LATIN SMALL LETTER LJ
-01CC ; Lowercase # L& LATIN SMALL LETTER NJ
-01CE ; Lowercase # L& LATIN SMALL LETTER A WITH CARON
-01D0 ; Lowercase # L& LATIN SMALL LETTER I WITH CARON
-01D2 ; Lowercase # L& LATIN SMALL LETTER O WITH CARON
-01D4 ; Lowercase # L& LATIN SMALL LETTER U WITH CARON
-01D6 ; Lowercase # L& LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D8 ; Lowercase # L& LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01DA ; Lowercase # L& LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DC..01DD ; Lowercase # L& [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
-01DF ; Lowercase # L& LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E1 ; Lowercase # L& LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E3 ; Lowercase # L& LATIN SMALL LETTER AE WITH MACRON
-01E5 ; Lowercase # L& LATIN SMALL LETTER G WITH STROKE
-01E7 ; Lowercase # L& LATIN SMALL LETTER G WITH CARON
-01E9 ; Lowercase # L& LATIN SMALL LETTER K WITH CARON
-01EB ; Lowercase # L& LATIN SMALL LETTER O WITH OGONEK
-01ED ; Lowercase # L& LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EF..01F0 ; Lowercase # L& [2] LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F3 ; Lowercase # L& LATIN SMALL LETTER DZ
-01F5 ; Lowercase # L& LATIN SMALL LETTER G WITH ACUTE
-01F9 ; Lowercase # L& LATIN SMALL LETTER N WITH GRAVE
-01FB ; Lowercase # L& LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FD ; Lowercase # L& LATIN SMALL LETTER AE WITH ACUTE
-01FF ; Lowercase # L& LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0201 ; Lowercase # L& LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0203 ; Lowercase # L& LATIN SMALL LETTER A WITH INVERTED BREVE
-0205 ; Lowercase # L& LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0207 ; Lowercase # L& LATIN SMALL LETTER E WITH INVERTED BREVE
-0209 ; Lowercase # L& LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020B ; Lowercase # L& LATIN SMALL LETTER I WITH INVERTED BREVE
-020D ; Lowercase # L& LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020F ; Lowercase # L& LATIN SMALL LETTER O WITH INVERTED BREVE
-0211 ; Lowercase # L& LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0213 ; Lowercase # L& LATIN SMALL LETTER R WITH INVERTED BREVE
-0215 ; Lowercase # L& LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0217 ; Lowercase # L& LATIN SMALL LETTER U WITH INVERTED BREVE
-0219 ; Lowercase # L& LATIN SMALL LETTER S WITH COMMA BELOW
-021B ; Lowercase # L& LATIN SMALL LETTER T WITH COMMA BELOW
-021D ; Lowercase # L& LATIN SMALL LETTER YOGH
-021F ; Lowercase # L& LATIN SMALL LETTER H WITH CARON
-0221 ; Lowercase # L& LATIN SMALL LETTER D WITH CURL
-0223 ; Lowercase # L& LATIN SMALL LETTER OU
-0225 ; Lowercase # L& LATIN SMALL LETTER Z WITH HOOK
-0227 ; Lowercase # L& LATIN SMALL LETTER A WITH DOT ABOVE
-0229 ; Lowercase # L& LATIN SMALL LETTER E WITH CEDILLA
-022B ; Lowercase # L& LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022D ; Lowercase # L& LATIN SMALL LETTER O WITH TILDE AND MACRON
-022F ; Lowercase # L& LATIN SMALL LETTER O WITH DOT ABOVE
-0231 ; Lowercase # L& LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0233..0239 ; Lowercase # L& [7] LATIN SMALL LETTER Y WITH MACRON..LATIN SMALL LETTER QP DIGRAPH
-023C ; Lowercase # L& LATIN SMALL LETTER C WITH STROKE
-023F..0240 ; Lowercase # L& [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
-0242 ; Lowercase # L& LATIN SMALL LETTER GLOTTAL STOP
-0247 ; Lowercase # L& LATIN SMALL LETTER E WITH STROKE
-0249 ; Lowercase # L& LATIN SMALL LETTER J WITH STROKE
-024B ; Lowercase # L& LATIN SMALL LETTER Q WITH HOOK TAIL
-024D ; Lowercase # L& LATIN SMALL LETTER R WITH STROKE
-024F..0293 ; Lowercase # L& [69] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER EZH WITH CURL
-0295..02AF ; Lowercase # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02B8 ; Lowercase # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02C0..02C1 ; Lowercase # Lm [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
-02E0..02E4 ; Lowercase # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0345 ; Lowercase # Mn COMBINING GREEK YPOGEGRAMMENI
-0371 ; Lowercase # L& GREEK SMALL LETTER HETA
-0373 ; Lowercase # L& GREEK SMALL LETTER ARCHAIC SAMPI
-0377 ; Lowercase # L& GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; Lowercase # Lm GREEK YPOGEGRAMMENI
-037B..037D ; Lowercase # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0390 ; Lowercase # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AC..03CE ; Lowercase # L& [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D1 ; Lowercase # L& [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
-03D5..03D7 ; Lowercase # L& [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
-03D9 ; Lowercase # L& GREEK SMALL LETTER ARCHAIC KOPPA
-03DB ; Lowercase # L& GREEK SMALL LETTER STIGMA
-03DD ; Lowercase # L& GREEK SMALL LETTER DIGAMMA
-03DF ; Lowercase # L& GREEK SMALL LETTER KOPPA
-03E1 ; Lowercase # L& GREEK SMALL LETTER SAMPI
-03E3 ; Lowercase # L& COPTIC SMALL LETTER SHEI
-03E5 ; Lowercase # L& COPTIC SMALL LETTER FEI
-03E7 ; Lowercase # L& COPTIC SMALL LETTER KHEI
-03E9 ; Lowercase # L& COPTIC SMALL LETTER HORI
-03EB ; Lowercase # L& COPTIC SMALL LETTER GANGIA
-03ED ; Lowercase # L& COPTIC SMALL LETTER SHIMA
-03EF..03F3 ; Lowercase # L& [5] COPTIC SMALL LETTER DEI..GREEK LETTER YOT
-03F5 ; Lowercase # L& GREEK LUNATE EPSILON SYMBOL
-03F8 ; Lowercase # L& GREEK SMALL LETTER SHO
-03FB..03FC ; Lowercase # L& [2] GREEK SMALL LETTER SAN..GREEK RHO WITH STROKE SYMBOL
-0430..045F ; Lowercase # L& [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
-0461 ; Lowercase # L& CYRILLIC SMALL LETTER OMEGA
-0463 ; Lowercase # L& CYRILLIC SMALL LETTER YAT
-0465 ; Lowercase # L& CYRILLIC SMALL LETTER IOTIFIED E
-0467 ; Lowercase # L& CYRILLIC SMALL LETTER LITTLE YUS
-0469 ; Lowercase # L& CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046B ; Lowercase # L& CYRILLIC SMALL LETTER BIG YUS
-046D ; Lowercase # L& CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046F ; Lowercase # L& CYRILLIC SMALL LETTER KSI
-0471 ; Lowercase # L& CYRILLIC SMALL LETTER PSI
-0473 ; Lowercase # L& CYRILLIC SMALL LETTER FITA
-0475 ; Lowercase # L& CYRILLIC SMALL LETTER IZHITSA
-0477 ; Lowercase # L& CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0479 ; Lowercase # L& CYRILLIC SMALL LETTER UK
-047B ; Lowercase # L& CYRILLIC SMALL LETTER ROUND OMEGA
-047D ; Lowercase # L& CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047F ; Lowercase # L& CYRILLIC SMALL LETTER OT
-0481 ; Lowercase # L& CYRILLIC SMALL LETTER KOPPA
-048B ; Lowercase # L& CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048D ; Lowercase # L& CYRILLIC SMALL LETTER SEMISOFT SIGN
-048F ; Lowercase # L& CYRILLIC SMALL LETTER ER WITH TICK
-0491 ; Lowercase # L& CYRILLIC SMALL LETTER GHE WITH UPTURN
-0493 ; Lowercase # L& CYRILLIC SMALL LETTER GHE WITH STROKE
-0495 ; Lowercase # L& CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0497 ; Lowercase # L& CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0499 ; Lowercase # L& CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049B ; Lowercase # L& CYRILLIC SMALL LETTER KA WITH DESCENDER
-049D ; Lowercase # L& CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049F ; Lowercase # L& CYRILLIC SMALL LETTER KA WITH STROKE
-04A1 ; Lowercase # L& CYRILLIC SMALL LETTER BASHKIR KA
-04A3 ; Lowercase # L& CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A5 ; Lowercase # L& CYRILLIC SMALL LIGATURE EN GHE
-04A7 ; Lowercase # L& CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A9 ; Lowercase # L& CYRILLIC SMALL LETTER ABKHASIAN HA
-04AB ; Lowercase # L& CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AD ; Lowercase # L& CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AF ; Lowercase # L& CYRILLIC SMALL LETTER STRAIGHT U
-04B1 ; Lowercase # L& CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B3 ; Lowercase # L& CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B5 ; Lowercase # L& CYRILLIC SMALL LIGATURE TE TSE
-04B7 ; Lowercase # L& CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B9 ; Lowercase # L& CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BB ; Lowercase # L& CYRILLIC SMALL LETTER SHHA
-04BD ; Lowercase # L& CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BF ; Lowercase # L& CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C2 ; Lowercase # L& CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C4 ; Lowercase # L& CYRILLIC SMALL LETTER KA WITH HOOK
-04C6 ; Lowercase # L& CYRILLIC SMALL LETTER EL WITH TAIL
-04C8 ; Lowercase # L& CYRILLIC SMALL LETTER EN WITH HOOK
-04CA ; Lowercase # L& CYRILLIC SMALL LETTER EN WITH TAIL
-04CC ; Lowercase # L& CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CE..04CF ; Lowercase # L& [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
-04D1 ; Lowercase # L& CYRILLIC SMALL LETTER A WITH BREVE
-04D3 ; Lowercase # L& CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D5 ; Lowercase # L& CYRILLIC SMALL LIGATURE A IE
-04D7 ; Lowercase # L& CYRILLIC SMALL LETTER IE WITH BREVE
-04D9 ; Lowercase # L& CYRILLIC SMALL LETTER SCHWA
-04DB ; Lowercase # L& CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DD ; Lowercase # L& CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DF ; Lowercase # L& CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E1 ; Lowercase # L& CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E3 ; Lowercase # L& CYRILLIC SMALL LETTER I WITH MACRON
-04E5 ; Lowercase # L& CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E7 ; Lowercase # L& CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E9 ; Lowercase # L& CYRILLIC SMALL LETTER BARRED O
-04EB ; Lowercase # L& CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04ED ; Lowercase # L& CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EF ; Lowercase # L& CYRILLIC SMALL LETTER U WITH MACRON
-04F1 ; Lowercase # L& CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F3 ; Lowercase # L& CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F5 ; Lowercase # L& CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F7 ; Lowercase # L& CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F9 ; Lowercase # L& CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FB ; Lowercase # L& CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FD ; Lowercase # L& CYRILLIC SMALL LETTER HA WITH HOOK
-04FF ; Lowercase # L& CYRILLIC SMALL LETTER HA WITH STROKE
-0501 ; Lowercase # L& CYRILLIC SMALL LETTER KOMI DE
-0503 ; Lowercase # L& CYRILLIC SMALL LETTER KOMI DJE
-0505 ; Lowercase # L& CYRILLIC SMALL LETTER KOMI ZJE
-0507 ; Lowercase # L& CYRILLIC SMALL LETTER KOMI DZJE
-0509 ; Lowercase # L& CYRILLIC SMALL LETTER KOMI LJE
-050B ; Lowercase # L& CYRILLIC SMALL LETTER KOMI NJE
-050D ; Lowercase # L& CYRILLIC SMALL LETTER KOMI SJE
-050F ; Lowercase # L& CYRILLIC SMALL LETTER KOMI TJE
-0511 ; Lowercase # L& CYRILLIC SMALL LETTER REVERSED ZE
-0513 ; Lowercase # L& CYRILLIC SMALL LETTER EL WITH HOOK
-0515 ; Lowercase # L& CYRILLIC SMALL LETTER LHA
-0517 ; Lowercase # L& CYRILLIC SMALL LETTER RHA
-0519 ; Lowercase # L& CYRILLIC SMALL LETTER YAE
-051B ; Lowercase # L& CYRILLIC SMALL LETTER QA
-051D ; Lowercase # L& CYRILLIC SMALL LETTER WE
-051F ; Lowercase # L& CYRILLIC SMALL LETTER ALEUT KA
-0521 ; Lowercase # L& CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0523 ; Lowercase # L& CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0525 ; Lowercase # L& CYRILLIC SMALL LETTER PE WITH DESCENDER
-0561..0587 ; Lowercase # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-1D00..1D2B ; Lowercase # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; Lowercase # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; Lowercase # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; Lowercase # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; Lowercase # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; Lowercase # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E01 ; Lowercase # L& LATIN SMALL LETTER A WITH RING BELOW
-1E03 ; Lowercase # L& LATIN SMALL LETTER B WITH DOT ABOVE
-1E05 ; Lowercase # L& LATIN SMALL LETTER B WITH DOT BELOW
-1E07 ; Lowercase # L& LATIN SMALL LETTER B WITH LINE BELOW
-1E09 ; Lowercase # L& LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0B ; Lowercase # L& LATIN SMALL LETTER D WITH DOT ABOVE
-1E0D ; Lowercase # L& LATIN SMALL LETTER D WITH DOT BELOW
-1E0F ; Lowercase # L& LATIN SMALL LETTER D WITH LINE BELOW
-1E11 ; Lowercase # L& LATIN SMALL LETTER D WITH CEDILLA
-1E13 ; Lowercase # L& LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E15 ; Lowercase # L& LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E17 ; Lowercase # L& LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E19 ; Lowercase # L& LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1B ; Lowercase # L& LATIN SMALL LETTER E WITH TILDE BELOW
-1E1D ; Lowercase # L& LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1F ; Lowercase # L& LATIN SMALL LETTER F WITH DOT ABOVE
-1E21 ; Lowercase # L& LATIN SMALL LETTER G WITH MACRON
-1E23 ; Lowercase # L& LATIN SMALL LETTER H WITH DOT ABOVE
-1E25 ; Lowercase # L& LATIN SMALL LETTER H WITH DOT BELOW
-1E27 ; Lowercase # L& LATIN SMALL LETTER H WITH DIAERESIS
-1E29 ; Lowercase # L& LATIN SMALL LETTER H WITH CEDILLA
-1E2B ; Lowercase # L& LATIN SMALL LETTER H WITH BREVE BELOW
-1E2D ; Lowercase # L& LATIN SMALL LETTER I WITH TILDE BELOW
-1E2F ; Lowercase # L& LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E31 ; Lowercase # L& LATIN SMALL LETTER K WITH ACUTE
-1E33 ; Lowercase # L& LATIN SMALL LETTER K WITH DOT BELOW
-1E35 ; Lowercase # L& LATIN SMALL LETTER K WITH LINE BELOW
-1E37 ; Lowercase # L& LATIN SMALL LETTER L WITH DOT BELOW
-1E39 ; Lowercase # L& LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3B ; Lowercase # L& LATIN SMALL LETTER L WITH LINE BELOW
-1E3D ; Lowercase # L& LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3F ; Lowercase # L& LATIN SMALL LETTER M WITH ACUTE
-1E41 ; Lowercase # L& LATIN SMALL LETTER M WITH DOT ABOVE
-1E43 ; Lowercase # L& LATIN SMALL LETTER M WITH DOT BELOW
-1E45 ; Lowercase # L& LATIN SMALL LETTER N WITH DOT ABOVE
-1E47 ; Lowercase # L& LATIN SMALL LETTER N WITH DOT BELOW
-1E49 ; Lowercase # L& LATIN SMALL LETTER N WITH LINE BELOW
-1E4B ; Lowercase # L& LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4D ; Lowercase # L& LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4F ; Lowercase # L& LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E51 ; Lowercase # L& LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E53 ; Lowercase # L& LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E55 ; Lowercase # L& LATIN SMALL LETTER P WITH ACUTE
-1E57 ; Lowercase # L& LATIN SMALL LETTER P WITH DOT ABOVE
-1E59 ; Lowercase # L& LATIN SMALL LETTER R WITH DOT ABOVE
-1E5B ; Lowercase # L& LATIN SMALL LETTER R WITH DOT BELOW
-1E5D ; Lowercase # L& LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5F ; Lowercase # L& LATIN SMALL LETTER R WITH LINE BELOW
-1E61 ; Lowercase # L& LATIN SMALL LETTER S WITH DOT ABOVE
-1E63 ; Lowercase # L& LATIN SMALL LETTER S WITH DOT BELOW
-1E65 ; Lowercase # L& LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E67 ; Lowercase # L& LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E69 ; Lowercase # L& LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6B ; Lowercase # L& LATIN SMALL LETTER T WITH DOT ABOVE
-1E6D ; Lowercase # L& LATIN SMALL LETTER T WITH DOT BELOW
-1E6F ; Lowercase # L& LATIN SMALL LETTER T WITH LINE BELOW
-1E71 ; Lowercase # L& LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E73 ; Lowercase # L& LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E75 ; Lowercase # L& LATIN SMALL LETTER U WITH TILDE BELOW
-1E77 ; Lowercase # L& LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E79 ; Lowercase # L& LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7B ; Lowercase # L& LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7D ; Lowercase # L& LATIN SMALL LETTER V WITH TILDE
-1E7F ; Lowercase # L& LATIN SMALL LETTER V WITH DOT BELOW
-1E81 ; Lowercase # L& LATIN SMALL LETTER W WITH GRAVE
-1E83 ; Lowercase # L& LATIN SMALL LETTER W WITH ACUTE
-1E85 ; Lowercase # L& LATIN SMALL LETTER W WITH DIAERESIS
-1E87 ; Lowercase # L& LATIN SMALL LETTER W WITH DOT ABOVE
-1E89 ; Lowercase # L& LATIN SMALL LETTER W WITH DOT BELOW
-1E8B ; Lowercase # L& LATIN SMALL LETTER X WITH DOT ABOVE
-1E8D ; Lowercase # L& LATIN SMALL LETTER X WITH DIAERESIS
-1E8F ; Lowercase # L& LATIN SMALL LETTER Y WITH DOT ABOVE
-1E91 ; Lowercase # L& LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E93 ; Lowercase # L& LATIN SMALL LETTER Z WITH DOT BELOW
-1E95..1E9D ; Lowercase # L& [9] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH HIGH STROKE
-1E9F ; Lowercase # L& LATIN SMALL LETTER DELTA
-1EA1 ; Lowercase # L& LATIN SMALL LETTER A WITH DOT BELOW
-1EA3 ; Lowercase # L& LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA5 ; Lowercase # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7 ; Lowercase # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA9 ; Lowercase # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAB ; Lowercase # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAD ; Lowercase # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAF ; Lowercase # L& LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB1 ; Lowercase # L& LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB3 ; Lowercase # L& LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB5 ; Lowercase # L& LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB7 ; Lowercase # L& LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB9 ; Lowercase # L& LATIN SMALL LETTER E WITH DOT BELOW
-1EBB ; Lowercase # L& LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBD ; Lowercase # L& LATIN SMALL LETTER E WITH TILDE
-1EBF ; Lowercase # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1 ; Lowercase # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC3 ; Lowercase # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC5 ; Lowercase # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC7 ; Lowercase # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC9 ; Lowercase # L& LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECB ; Lowercase # L& LATIN SMALL LETTER I WITH DOT BELOW
-1ECD ; Lowercase # L& LATIN SMALL LETTER O WITH DOT BELOW
-1ECF ; Lowercase # L& LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED1 ; Lowercase # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3 ; Lowercase # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED5 ; Lowercase # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED7 ; Lowercase # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED9 ; Lowercase # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDB ; Lowercase # L& LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDD ; Lowercase # L& LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDF ; Lowercase # L& LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE1 ; Lowercase # L& LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE3 ; Lowercase # L& LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE5 ; Lowercase # L& LATIN SMALL LETTER U WITH DOT BELOW
-1EE7 ; Lowercase # L& LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE9 ; Lowercase # L& LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEB ; Lowercase # L& LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EED ; Lowercase # L& LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEF ; Lowercase # L& LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF1 ; Lowercase # L& LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF3 ; Lowercase # L& LATIN SMALL LETTER Y WITH GRAVE
-1EF5 ; Lowercase # L& LATIN SMALL LETTER Y WITH DOT BELOW
-1EF7 ; Lowercase # L& LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF9 ; Lowercase # L& LATIN SMALL LETTER Y WITH TILDE
-1EFB ; Lowercase # L& LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFD ; Lowercase # L& LATIN SMALL LETTER MIDDLE-WELSH V
-1EFF..1F07 ; Lowercase # L& [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10..1F15 ; Lowercase # L& [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F27 ; Lowercase # L& [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30..1F37 ; Lowercase # L& [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40..1F45 ; Lowercase # L& [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Lowercase # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60..1F67 ; Lowercase # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70..1F7D ; Lowercase # L& [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1F87 ; Lowercase # L& [8] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F90..1F97 ; Lowercase # L& [8] GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA0..1FA7 ; Lowercase # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FB0..1FB4 ; Lowercase # L& [5] GREEK SMALL LETTER ALPHA WITH VRACHY..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FB7 ; Lowercase # L& [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FBE ; Lowercase # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Lowercase # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FC7 ; Lowercase # L& [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FD0..1FD3 ; Lowercase # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FD7 ; Lowercase # L& [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FE0..1FE7 ; Lowercase # L& [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FF2..1FF4 ; Lowercase # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FF7 ; Lowercase # L& [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-2090..2094 ; Lowercase # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-210A ; Lowercase # L& SCRIPT SMALL G
-210E..210F ; Lowercase # L& [2] PLANCK CONSTANT..PLANCK CONSTANT OVER TWO PI
-2113 ; Lowercase # L& SCRIPT SMALL L
-212F ; Lowercase # L& SCRIPT SMALL E
-2134 ; Lowercase # L& SCRIPT SMALL O
-2139 ; Lowercase # L& INFORMATION SOURCE
-213C..213D ; Lowercase # L& [2] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK SMALL GAMMA
-2146..2149 ; Lowercase # L& [4] DOUBLE-STRUCK ITALIC SMALL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; Lowercase # L& TURNED SMALL F
-2170..217F ; Lowercase # Nl [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2184 ; Lowercase # L& LATIN SMALL LETTER REVERSED C
-24D0..24E9 ; Lowercase # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C30..2C5E ; Lowercase # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C61 ; Lowercase # L& LATIN SMALL LETTER L WITH DOUBLE BAR
-2C65..2C66 ; Lowercase # L& [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C68 ; Lowercase # L& LATIN SMALL LETTER H WITH DESCENDER
-2C6A ; Lowercase # L& LATIN SMALL LETTER K WITH DESCENDER
-2C6C ; Lowercase # L& LATIN SMALL LETTER Z WITH DESCENDER
-2C71 ; Lowercase # L& LATIN SMALL LETTER V WITH RIGHT HOOK
-2C73..2C74 ; Lowercase # L& [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
-2C76..2C7C ; Lowercase # L& [7] LATIN SMALL LETTER HALF H..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Lowercase # Lm MODIFIER LETTER CAPITAL V
-2C81 ; Lowercase # L& COPTIC SMALL LETTER ALFA
-2C83 ; Lowercase # L& COPTIC SMALL LETTER VIDA
-2C85 ; Lowercase # L& COPTIC SMALL LETTER GAMMA
-2C87 ; Lowercase # L& COPTIC SMALL LETTER DALDA
-2C89 ; Lowercase # L& COPTIC SMALL LETTER EIE
-2C8B ; Lowercase # L& COPTIC SMALL LETTER SOU
-2C8D ; Lowercase # L& COPTIC SMALL LETTER ZATA
-2C8F ; Lowercase # L& COPTIC SMALL LETTER HATE
-2C91 ; Lowercase # L& COPTIC SMALL LETTER THETHE
-2C93 ; Lowercase # L& COPTIC SMALL LETTER IAUDA
-2C95 ; Lowercase # L& COPTIC SMALL LETTER KAPA
-2C97 ; Lowercase # L& COPTIC SMALL LETTER LAULA
-2C99 ; Lowercase # L& COPTIC SMALL LETTER MI
-2C9B ; Lowercase # L& COPTIC SMALL LETTER NI
-2C9D ; Lowercase # L& COPTIC SMALL LETTER KSI
-2C9F ; Lowercase # L& COPTIC SMALL LETTER O
-2CA1 ; Lowercase # L& COPTIC SMALL LETTER PI
-2CA3 ; Lowercase # L& COPTIC SMALL LETTER RO
-2CA5 ; Lowercase # L& COPTIC SMALL LETTER SIMA
-2CA7 ; Lowercase # L& COPTIC SMALL LETTER TAU
-2CA9 ; Lowercase # L& COPTIC SMALL LETTER UA
-2CAB ; Lowercase # L& COPTIC SMALL LETTER FI
-2CAD ; Lowercase # L& COPTIC SMALL LETTER KHI
-2CAF ; Lowercase # L& COPTIC SMALL LETTER PSI
-2CB1 ; Lowercase # L& COPTIC SMALL LETTER OOU
-2CB3 ; Lowercase # L& COPTIC SMALL LETTER DIALECT-P ALEF
-2CB5 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC AIN
-2CB7 ; Lowercase # L& COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB9 ; Lowercase # L& COPTIC SMALL LETTER DIALECT-P KAPA
-2CBB ; Lowercase # L& COPTIC SMALL LETTER DIALECT-P NI
-2CBD ; Lowercase # L& COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBF ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC OOU
-2CC1 ; Lowercase # L& COPTIC SMALL LETTER SAMPI
-2CC3 ; Lowercase # L& COPTIC SMALL LETTER CROSSED SHEI
-2CC5 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC7 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC ESH
-2CC9 ; Lowercase # L& COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCB ; Lowercase # L& COPTIC SMALL LETTER DIALECT-P HORI
-2CCD ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC HORI
-2CCF ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC HA
-2CD1 ; Lowercase # L& COPTIC SMALL LETTER L-SHAPED HA
-2CD3 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC HEI
-2CD5 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC HAT
-2CD7 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD9 ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC DJA
-2CDB ; Lowercase # L& COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDD ; Lowercase # L& COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDF ; Lowercase # L& COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE1 ; Lowercase # L& COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE3..2CE4 ; Lowercase # L& [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
-2CEC ; Lowercase # L& COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEE ; Lowercase # L& COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Lowercase # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A641 ; Lowercase # L& CYRILLIC SMALL LETTER ZEMLYA
-A643 ; Lowercase # L& CYRILLIC SMALL LETTER DZELO
-A645 ; Lowercase # L& CYRILLIC SMALL LETTER REVERSED DZE
-A647 ; Lowercase # L& CYRILLIC SMALL LETTER IOTA
-A649 ; Lowercase # L& CYRILLIC SMALL LETTER DJERV
-A64B ; Lowercase # L& CYRILLIC SMALL LETTER MONOGRAPH UK
-A64D ; Lowercase # L& CYRILLIC SMALL LETTER BROAD OMEGA
-A64F ; Lowercase # L& CYRILLIC SMALL LETTER NEUTRAL YER
-A651 ; Lowercase # L& CYRILLIC SMALL LETTER YERU WITH BACK YER
-A653 ; Lowercase # L& CYRILLIC SMALL LETTER IOTIFIED YAT
-A655 ; Lowercase # L& CYRILLIC SMALL LETTER REVERSED YU
-A657 ; Lowercase # L& CYRILLIC SMALL LETTER IOTIFIED A
-A659 ; Lowercase # L& CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65B ; Lowercase # L& CYRILLIC SMALL LETTER BLENDED YUS
-A65D ; Lowercase # L& CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65F ; Lowercase # L& CYRILLIC SMALL LETTER YN
-A663 ; Lowercase # L& CYRILLIC SMALL LETTER SOFT DE
-A665 ; Lowercase # L& CYRILLIC SMALL LETTER SOFT EL
-A667 ; Lowercase # L& CYRILLIC SMALL LETTER SOFT EM
-A669 ; Lowercase # L& CYRILLIC SMALL LETTER MONOCULAR O
-A66B ; Lowercase # L& CYRILLIC SMALL LETTER BINOCULAR O
-A66D ; Lowercase # L& CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A681 ; Lowercase # L& CYRILLIC SMALL LETTER DWE
-A683 ; Lowercase # L& CYRILLIC SMALL LETTER DZWE
-A685 ; Lowercase # L& CYRILLIC SMALL LETTER ZHWE
-A687 ; Lowercase # L& CYRILLIC SMALL LETTER CCHE
-A689 ; Lowercase # L& CYRILLIC SMALL LETTER DZZE
-A68B ; Lowercase # L& CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68D ; Lowercase # L& CYRILLIC SMALL LETTER TWE
-A68F ; Lowercase # L& CYRILLIC SMALL LETTER TSWE
-A691 ; Lowercase # L& CYRILLIC SMALL LETTER TSSE
-A693 ; Lowercase # L& CYRILLIC SMALL LETTER TCHE
-A695 ; Lowercase # L& CYRILLIC SMALL LETTER HWE
-A697 ; Lowercase # L& CYRILLIC SMALL LETTER SHWE
-A723 ; Lowercase # L& LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A725 ; Lowercase # L& LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A727 ; Lowercase # L& LATIN SMALL LETTER HENG
-A729 ; Lowercase # L& LATIN SMALL LETTER TZ
-A72B ; Lowercase # L& LATIN SMALL LETTER TRESILLO
-A72D ; Lowercase # L& LATIN SMALL LETTER CUATRILLO
-A72F..A731 ; Lowercase # L& [3] LATIN SMALL LETTER CUATRILLO WITH COMMA..LATIN LETTER SMALL CAPITAL S
-A733 ; Lowercase # L& LATIN SMALL LETTER AA
-A735 ; Lowercase # L& LATIN SMALL LETTER AO
-A737 ; Lowercase # L& LATIN SMALL LETTER AU
-A739 ; Lowercase # L& LATIN SMALL LETTER AV
-A73B ; Lowercase # L& LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73D ; Lowercase # L& LATIN SMALL LETTER AY
-A73F ; Lowercase # L& LATIN SMALL LETTER REVERSED C WITH DOT
-A741 ; Lowercase # L& LATIN SMALL LETTER K WITH STROKE
-A743 ; Lowercase # L& LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A745 ; Lowercase # L& LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A747 ; Lowercase # L& LATIN SMALL LETTER BROKEN L
-A749 ; Lowercase # L& LATIN SMALL LETTER L WITH HIGH STROKE
-A74B ; Lowercase # L& LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74D ; Lowercase # L& LATIN SMALL LETTER O WITH LOOP
-A74F ; Lowercase # L& LATIN SMALL LETTER OO
-A751 ; Lowercase # L& LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A753 ; Lowercase # L& LATIN SMALL LETTER P WITH FLOURISH
-A755 ; Lowercase # L& LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A757 ; Lowercase # L& LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; Lowercase # L& LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75B ; Lowercase # L& LATIN SMALL LETTER R ROTUNDA
-A75D ; Lowercase # L& LATIN SMALL LETTER RUM ROTUNDA
-A75F ; Lowercase # L& LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A761 ; Lowercase # L& LATIN SMALL LETTER VY
-A763 ; Lowercase # L& LATIN SMALL LETTER VISIGOTHIC Z
-A765 ; Lowercase # L& LATIN SMALL LETTER THORN WITH STROKE
-A767 ; Lowercase # L& LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A769 ; Lowercase # L& LATIN SMALL LETTER VEND
-A76B ; Lowercase # L& LATIN SMALL LETTER ET
-A76D ; Lowercase # L& LATIN SMALL LETTER IS
-A76F ; Lowercase # L& LATIN SMALL LETTER CON
-A770 ; Lowercase # Lm MODIFIER LETTER US
-A771..A778 ; Lowercase # L& [8] LATIN SMALL LETTER DUM..LATIN SMALL LETTER UM
-A77A ; Lowercase # L& LATIN SMALL LETTER INSULAR D
-A77C ; Lowercase # L& LATIN SMALL LETTER INSULAR F
-A77F ; Lowercase # L& LATIN SMALL LETTER TURNED INSULAR G
-A781 ; Lowercase # L& LATIN SMALL LETTER TURNED L
-A783 ; Lowercase # L& LATIN SMALL LETTER INSULAR R
-A785 ; Lowercase # L& LATIN SMALL LETTER INSULAR S
-A787 ; Lowercase # L& LATIN SMALL LETTER INSULAR T
-A78C ; Lowercase # L& LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Lowercase # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Lowercase # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10428..1044F ; Lowercase # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
-1D41A..1D433 ; Lowercase # L& [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
-1D44E..1D454 ; Lowercase # L& [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D467 ; Lowercase # L& [18] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL Z
-1D482..1D49B ; Lowercase # L& [26] MATHEMATICAL BOLD ITALIC SMALL A..MATHEMATICAL BOLD ITALIC SMALL Z
-1D4B6..1D4B9 ; Lowercase # L& [4] MATHEMATICAL SCRIPT SMALL A..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Lowercase # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Lowercase # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D4CF ; Lowercase # L& [11] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL SCRIPT SMALL Z
-1D4EA..1D503 ; Lowercase # L& [26] MATHEMATICAL BOLD SCRIPT SMALL A..MATHEMATICAL BOLD SCRIPT SMALL Z
-1D51E..1D537 ; Lowercase # L& [26] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL FRAKTUR SMALL Z
-1D552..1D56B ; Lowercase # L& [26] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D586..1D59F ; Lowercase # L& [26] MATHEMATICAL BOLD FRAKTUR SMALL A..MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5BA..1D5D3 ; Lowercase # L& [26] MATHEMATICAL SANS-SERIF SMALL A..MATHEMATICAL SANS-SERIF SMALL Z
-1D5EE..1D607 ; Lowercase # L& [26] MATHEMATICAL SANS-SERIF BOLD SMALL A..MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D622..1D63B ; Lowercase # L& [26] MATHEMATICAL SANS-SERIF ITALIC SMALL A..MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D656..1D66F ; Lowercase # L& [26] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D68A..1D6A5 ; Lowercase # L& [28] MATHEMATICAL MONOSPACE SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6C2..1D6DA ; Lowercase # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6E1 ; Lowercase # L& [6] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL BOLD PI SYMBOL
-1D6FC..1D714 ; Lowercase # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D71B ; Lowercase # L& [6] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL ITALIC PI SYMBOL
-1D736..1D74E ; Lowercase # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D755 ; Lowercase # L& [6] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D770..1D788 ; Lowercase # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D78F ; Lowercase # L& [6] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D7AA..1D7C2 ; Lowercase # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7C9 ; Lowercase # L& [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CB ; Lowercase # L& MATHEMATICAL BOLD SMALL DIGAMMA
-
-# Total code points: 1908
-
-# ================================================
-
-# Derived Property: Uppercase
-# Generated from: Lu + Other_Uppercase
-
-0041..005A ; Uppercase # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-00C0..00D6 ; Uppercase # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00DE ; Uppercase # L& [7] LATIN CAPITAL LETTER O WITH STROKE..LATIN CAPITAL LETTER THORN
-0100 ; Uppercase # L& LATIN CAPITAL LETTER A WITH MACRON
-0102 ; Uppercase # L& LATIN CAPITAL LETTER A WITH BREVE
-0104 ; Uppercase # L& LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; Uppercase # L& LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; Uppercase # L& LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; Uppercase # L& LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; Uppercase # L& LATIN CAPITAL LETTER C WITH CARON
-010E ; Uppercase # L& LATIN CAPITAL LETTER D WITH CARON
-0110 ; Uppercase # L& LATIN CAPITAL LETTER D WITH STROKE
-0112 ; Uppercase # L& LATIN CAPITAL LETTER E WITH MACRON
-0114 ; Uppercase # L& LATIN CAPITAL LETTER E WITH BREVE
-0116 ; Uppercase # L& LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; Uppercase # L& LATIN CAPITAL LETTER E WITH OGONEK
-011A ; Uppercase # L& LATIN CAPITAL LETTER E WITH CARON
-011C ; Uppercase # L& LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; Uppercase # L& LATIN CAPITAL LETTER G WITH BREVE
-0120 ; Uppercase # L& LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; Uppercase # L& LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; Uppercase # L& LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; Uppercase # L& LATIN CAPITAL LETTER H WITH STROKE
-0128 ; Uppercase # L& LATIN CAPITAL LETTER I WITH TILDE
-012A ; Uppercase # L& LATIN CAPITAL LETTER I WITH MACRON
-012C ; Uppercase # L& LATIN CAPITAL LETTER I WITH BREVE
-012E ; Uppercase # L& LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; Uppercase # L& LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132 ; Uppercase # L& LATIN CAPITAL LIGATURE IJ
-0134 ; Uppercase # L& LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; Uppercase # L& LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; Uppercase # L& LATIN CAPITAL LETTER L WITH ACUTE
-013B ; Uppercase # L& LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; Uppercase # L& LATIN CAPITAL LETTER L WITH CARON
-013F ; Uppercase # L& LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0141 ; Uppercase # L& LATIN CAPITAL LETTER L WITH STROKE
-0143 ; Uppercase # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; Uppercase # L& LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; Uppercase # L& LATIN CAPITAL LETTER N WITH CARON
-014A ; Uppercase # L& LATIN CAPITAL LETTER ENG
-014C ; Uppercase # L& LATIN CAPITAL LETTER O WITH MACRON
-014E ; Uppercase # L& LATIN CAPITAL LETTER O WITH BREVE
-0150 ; Uppercase # L& LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; Uppercase # L& LATIN CAPITAL LIGATURE OE
-0154 ; Uppercase # L& LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; Uppercase # L& LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; Uppercase # L& LATIN CAPITAL LETTER R WITH CARON
-015A ; Uppercase # L& LATIN CAPITAL LETTER S WITH ACUTE
-015C ; Uppercase # L& LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; Uppercase # L& LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; Uppercase # L& LATIN CAPITAL LETTER S WITH CARON
-0162 ; Uppercase # L& LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; Uppercase # L& LATIN CAPITAL LETTER T WITH CARON
-0166 ; Uppercase # L& LATIN CAPITAL LETTER T WITH STROKE
-0168 ; Uppercase # L& LATIN CAPITAL LETTER U WITH TILDE
-016A ; Uppercase # L& LATIN CAPITAL LETTER U WITH MACRON
-016C ; Uppercase # L& LATIN CAPITAL LETTER U WITH BREVE
-016E ; Uppercase # L& LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; Uppercase # L& LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; Uppercase # L& LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; Uppercase # L& LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178..0179 ; Uppercase # L& [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; Uppercase # L& LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; Uppercase # L& LATIN CAPITAL LETTER Z WITH CARON
-0181..0182 ; Uppercase # L& [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; Uppercase # L& LATIN CAPITAL LETTER TONE SIX
-0186..0187 ; Uppercase # L& [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
-0189..018B ; Uppercase # L& [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
-018E..0191 ; Uppercase # L& [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
-0193..0194 ; Uppercase # L& [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
-0196..0198 ; Uppercase # L& [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
-019C..019D ; Uppercase # L& [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F..01A0 ; Uppercase # L& [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
-01A2 ; Uppercase # L& LATIN CAPITAL LETTER OI
-01A4 ; Uppercase # L& LATIN CAPITAL LETTER P WITH HOOK
-01A6..01A7 ; Uppercase # L& [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
-01A9 ; Uppercase # L& LATIN CAPITAL LETTER ESH
-01AC ; Uppercase # L& LATIN CAPITAL LETTER T WITH HOOK
-01AE..01AF ; Uppercase # L& [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
-01B1..01B3 ; Uppercase # L& [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; Uppercase # L& LATIN CAPITAL LETTER Z WITH STROKE
-01B7..01B8 ; Uppercase # L& [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
-01BC ; Uppercase # L& LATIN CAPITAL LETTER TONE FIVE
-01C4 ; Uppercase # L& LATIN CAPITAL LETTER DZ WITH CARON
-01C7 ; Uppercase # L& LATIN CAPITAL LETTER LJ
-01CA ; Uppercase # L& LATIN CAPITAL LETTER NJ
-01CD ; Uppercase # L& LATIN CAPITAL LETTER A WITH CARON
-01CF ; Uppercase # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; Uppercase # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; Uppercase # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; Uppercase # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; Uppercase # L& LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; Uppercase # L& LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; Uppercase # L& LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; Uppercase # L& LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; Uppercase # L& LATIN CAPITAL LETTER G WITH CARON
-01E8 ; Uppercase # L& LATIN CAPITAL LETTER K WITH CARON
-01EA ; Uppercase # L& LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; Uppercase # L& LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; Uppercase # L& LATIN CAPITAL LETTER EZH WITH CARON
-01F1 ; Uppercase # L& LATIN CAPITAL LETTER DZ
-01F4 ; Uppercase # L& LATIN CAPITAL LETTER G WITH ACUTE
-01F6..01F8 ; Uppercase # L& [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; Uppercase # L& LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; Uppercase # L& LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; Uppercase # L& LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; Uppercase # L& LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; Uppercase # L& LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; Uppercase # L& LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; Uppercase # L& LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; Uppercase # L& LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; Uppercase # L& LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; Uppercase # L& LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; Uppercase # L& LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; Uppercase # L& LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; Uppercase # L& LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; Uppercase # L& LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; Uppercase # L& LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; Uppercase # L& LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; Uppercase # L& LATIN CAPITAL LETTER YOGH
-021E ; Uppercase # L& LATIN CAPITAL LETTER H WITH CARON
-0220 ; Uppercase # L& LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; Uppercase # L& LATIN CAPITAL LETTER OU
-0224 ; Uppercase # L& LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; Uppercase # L& LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; Uppercase # L& LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; Uppercase # L& LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; Uppercase # L& LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; Uppercase # L& LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; Uppercase # L& LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; Uppercase # L& LATIN CAPITAL LETTER Y WITH MACRON
-023A..023B ; Uppercase # L& [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
-023D..023E ; Uppercase # L& [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; Uppercase # L& LATIN CAPITAL LETTER GLOTTAL STOP
-0243..0246 ; Uppercase # L& [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
-0248 ; Uppercase # L& LATIN CAPITAL LETTER J WITH STROKE
-024A ; Uppercase # L& LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; Uppercase # L& LATIN CAPITAL LETTER R WITH STROKE
-024E ; Uppercase # L& LATIN CAPITAL LETTER Y WITH STROKE
-0370 ; Uppercase # L& GREEK CAPITAL LETTER HETA
-0372 ; Uppercase # L& GREEK CAPITAL LETTER ARCHAIC SAMPI
-0376 ; Uppercase # L& GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0386 ; Uppercase # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Uppercase # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Uppercase # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..038F ; Uppercase # L& [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391..03A1 ; Uppercase # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03AB ; Uppercase # L& [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03CF ; Uppercase # L& GREEK CAPITAL KAI SYMBOL
-03D2..03D4 ; Uppercase # L& [3] GREEK UPSILON WITH HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D8 ; Uppercase # L& GREEK LETTER ARCHAIC KOPPA
-03DA ; Uppercase # L& GREEK LETTER STIGMA
-03DC ; Uppercase # L& GREEK LETTER DIGAMMA
-03DE ; Uppercase # L& GREEK LETTER KOPPA
-03E0 ; Uppercase # L& GREEK LETTER SAMPI
-03E2 ; Uppercase # L& COPTIC CAPITAL LETTER SHEI
-03E4 ; Uppercase # L& COPTIC CAPITAL LETTER FEI
-03E6 ; Uppercase # L& COPTIC CAPITAL LETTER KHEI
-03E8 ; Uppercase # L& COPTIC CAPITAL LETTER HORI
-03EA ; Uppercase # L& COPTIC CAPITAL LETTER GANGIA
-03EC ; Uppercase # L& COPTIC CAPITAL LETTER SHIMA
-03EE ; Uppercase # L& COPTIC CAPITAL LETTER DEI
-03F4 ; Uppercase # L& GREEK CAPITAL THETA SYMBOL
-03F7 ; Uppercase # L& GREEK CAPITAL LETTER SHO
-03F9..03FA ; Uppercase # L& [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
-03FD..042F ; Uppercase # L& [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
-0460 ; Uppercase # L& CYRILLIC CAPITAL LETTER OMEGA
-0462 ; Uppercase # L& CYRILLIC CAPITAL LETTER YAT
-0464 ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; Uppercase # L& CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; Uppercase # L& CYRILLIC CAPITAL LETTER BIG YUS
-046C ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; Uppercase # L& CYRILLIC CAPITAL LETTER KSI
-0470 ; Uppercase # L& CYRILLIC CAPITAL LETTER PSI
-0472 ; Uppercase # L& CYRILLIC CAPITAL LETTER FITA
-0474 ; Uppercase # L& CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; Uppercase # L& CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; Uppercase # L& CYRILLIC CAPITAL LETTER UK
-047A ; Uppercase # L& CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; Uppercase # L& CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; Uppercase # L& CYRILLIC CAPITAL LETTER OT
-0480 ; Uppercase # L& CYRILLIC CAPITAL LETTER KOPPA
-048A ; Uppercase # L& CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; Uppercase # L& CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; Uppercase # L& CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; Uppercase # L& CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; Uppercase # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; Uppercase # L& CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; Uppercase # L& CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; Uppercase # L& CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; Uppercase # L& CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; Uppercase # L& CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; Uppercase # L& CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; Uppercase # L& CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; Uppercase # L& CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; Uppercase # L& CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; Uppercase # L& CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; Uppercase # L& CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; Uppercase # L& CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; Uppercase # L& CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; Uppercase # L& CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; Uppercase # L& CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; Uppercase # L& CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; Uppercase # L& CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; Uppercase # L& CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; Uppercase # L& CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; Uppercase # L& CYRILLIC CAPITAL LETTER SHHA
-04BC ; Uppercase # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; Uppercase # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0..04C1 ; Uppercase # L& [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; Uppercase # L& CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; Uppercase # L& CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; Uppercase # L& CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; Uppercase # L& CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; Uppercase # L& CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; Uppercase # L& CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; Uppercase # L& CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; Uppercase # L& CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; Uppercase # L& CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; Uppercase # L& CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; Uppercase # L& CYRILLIC CAPITAL LETTER SCHWA
-04DA ; Uppercase # L& CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; Uppercase # L& CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; Uppercase # L& CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; Uppercase # L& CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; Uppercase # L& CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; Uppercase # L& CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; Uppercase # L& CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; Uppercase # L& CYRILLIC CAPITAL LETTER BARRED O
-04EA ; Uppercase # L& CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; Uppercase # L& CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; Uppercase # L& CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; Uppercase # L& CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; Uppercase # L& CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; Uppercase # L& CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; Uppercase # L& CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; Uppercase # L& CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; Uppercase # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; Uppercase # L& CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; Uppercase # L& CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; Uppercase # L& CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; Uppercase # L& CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; Uppercase # L& CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; Uppercase # L& CYRILLIC CAPITAL LETTER LHA
-0516 ; Uppercase # L& CYRILLIC CAPITAL LETTER RHA
-0518 ; Uppercase # L& CYRILLIC CAPITAL LETTER YAE
-051A ; Uppercase # L& CYRILLIC CAPITAL LETTER QA
-051C ; Uppercase # L& CYRILLIC CAPITAL LETTER WE
-051E ; Uppercase # L& CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; Uppercase # L& CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; Uppercase # L& CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; Uppercase # L& CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531..0556 ; Uppercase # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-10A0..10C5 ; Uppercase # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1E00 ; Uppercase # L& LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; Uppercase # L& LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; Uppercase # L& LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; Uppercase # L& LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; Uppercase # L& LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; Uppercase # L& LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; Uppercase # L& LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; Uppercase # L& LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; Uppercase # L& LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; Uppercase # L& LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; Uppercase # L& LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; Uppercase # L& LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; Uppercase # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; Uppercase # L& LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; Uppercase # L& LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; Uppercase # L& LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; Uppercase # L& LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; Uppercase # L& LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; Uppercase # L& LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; Uppercase # L& LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; Uppercase # L& LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; Uppercase # L& LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; Uppercase # L& LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; Uppercase # L& LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; Uppercase # L& LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; Uppercase # L& LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; Uppercase # L& LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; Uppercase # L& LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; Uppercase # L& LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; Uppercase # L& LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; Uppercase # L& LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; Uppercase # L& LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; Uppercase # L& LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; Uppercase # L& LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; Uppercase # L& LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; Uppercase # L& LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; Uppercase # L& LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; Uppercase # L& LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; Uppercase # L& LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; Uppercase # L& LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; Uppercase # L& LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; Uppercase # L& LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; Uppercase # L& LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; Uppercase # L& LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; Uppercase # L& LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; Uppercase # L& LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; Uppercase # L& LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; Uppercase # L& LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; Uppercase # L& LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; Uppercase # L& LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; Uppercase # L& LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; Uppercase # L& LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; Uppercase # L& LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; Uppercase # L& LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; Uppercase # L& LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; Uppercase # L& LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; Uppercase # L& LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; Uppercase # L& LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; Uppercase # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; Uppercase # L& LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; Uppercase # L& LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; Uppercase # L& LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; Uppercase # L& LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; Uppercase # L& LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; Uppercase # L& LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; Uppercase # L& LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; Uppercase # L& LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; Uppercase # L& LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; Uppercase # L& LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; Uppercase # L& LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; Uppercase # L& LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; Uppercase # L& LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; Uppercase # L& LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; Uppercase # L& LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9E ; Uppercase # L& LATIN CAPITAL LETTER SHARP S
-1EA0 ; Uppercase # L& LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; Uppercase # L& LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; Uppercase # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; Uppercase # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; Uppercase # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; Uppercase # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; Uppercase # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; Uppercase # L& LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; Uppercase # L& LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; Uppercase # L& LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; Uppercase # L& LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; Uppercase # L& LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; Uppercase # L& LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; Uppercase # L& LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; Uppercase # L& LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; Uppercase # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; Uppercase # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; Uppercase # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; Uppercase # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; Uppercase # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; Uppercase # L& LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; Uppercase # L& LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; Uppercase # L& LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; Uppercase # L& LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; Uppercase # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; Uppercase # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; Uppercase # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; Uppercase # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; Uppercase # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; Uppercase # L& LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; Uppercase # L& LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; Uppercase # L& LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; Uppercase # L& LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; Uppercase # L& LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; Uppercase # L& LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; Uppercase # L& LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; Uppercase # L& LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; Uppercase # L& LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; Uppercase # L& LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; Uppercase # L& LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; Uppercase # L& LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; Uppercase # L& LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; Uppercase # L& LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; Uppercase # L& LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; Uppercase # L& LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; Uppercase # L& LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; Uppercase # L& LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; Uppercase # L& LATIN CAPITAL LETTER Y WITH LOOP
-1F08..1F0F ; Uppercase # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18..1F1D ; Uppercase # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28..1F2F ; Uppercase # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38..1F3F ; Uppercase # L& [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48..1F4D ; Uppercase # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; Uppercase # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Uppercase # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Uppercase # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; Uppercase # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68..1F6F ; Uppercase # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1FB8..1FBB ; Uppercase # L& [4] GREEK CAPITAL LETTER ALPHA WITH VRACHY..GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FC8..1FCB ; Uppercase # L& [4] GREEK CAPITAL LETTER EPSILON WITH VARIA..GREEK CAPITAL LETTER ETA WITH OXIA
-1FD8..1FDB ; Uppercase # L& [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE8..1FEC ; Uppercase # L& [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF8..1FFB ; Uppercase # L& [4] GREEK CAPITAL LETTER OMICRON WITH VARIA..GREEK CAPITAL LETTER OMEGA WITH OXIA
-2102 ; Uppercase # L& DOUBLE-STRUCK CAPITAL C
-2107 ; Uppercase # L& EULER CONSTANT
-210B..210D ; Uppercase # L& [3] SCRIPT CAPITAL H..DOUBLE-STRUCK CAPITAL H
-2110..2112 ; Uppercase # L& [3] SCRIPT CAPITAL I..SCRIPT CAPITAL L
-2115 ; Uppercase # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Uppercase # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Uppercase # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; Uppercase # L& OHM SIGN
-2128 ; Uppercase # L& BLACK-LETTER CAPITAL Z
-212A..212D ; Uppercase # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-2130..2133 ; Uppercase # L& [4] SCRIPT CAPITAL E..SCRIPT CAPITAL M
-213E..213F ; Uppercase # L& [2] DOUBLE-STRUCK CAPITAL GAMMA..DOUBLE-STRUCK CAPITAL PI
-2145 ; Uppercase # L& DOUBLE-STRUCK ITALIC CAPITAL D
-2160..216F ; Uppercase # Nl [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
-2183 ; Uppercase # L& ROMAN NUMERAL REVERSED ONE HUNDRED
-24B6..24CF ; Uppercase # So [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
-2C00..2C2E ; Uppercase # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; Uppercase # L& LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62..2C64 ; Uppercase # L& [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; Uppercase # L& LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; Uppercase # L& LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; Uppercase # L& LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D..2C70 ; Uppercase # L& [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; Uppercase # L& LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; Uppercase # L& LATIN CAPITAL LETTER HALF H
-2C7E..2C80 ; Uppercase # L& [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
-2C82 ; Uppercase # L& COPTIC CAPITAL LETTER VIDA
-2C84 ; Uppercase # L& COPTIC CAPITAL LETTER GAMMA
-2C86 ; Uppercase # L& COPTIC CAPITAL LETTER DALDA
-2C88 ; Uppercase # L& COPTIC CAPITAL LETTER EIE
-2C8A ; Uppercase # L& COPTIC CAPITAL LETTER SOU
-2C8C ; Uppercase # L& COPTIC CAPITAL LETTER ZATA
-2C8E ; Uppercase # L& COPTIC CAPITAL LETTER HATE
-2C90 ; Uppercase # L& COPTIC CAPITAL LETTER THETHE
-2C92 ; Uppercase # L& COPTIC CAPITAL LETTER IAUDA
-2C94 ; Uppercase # L& COPTIC CAPITAL LETTER KAPA
-2C96 ; Uppercase # L& COPTIC CAPITAL LETTER LAULA
-2C98 ; Uppercase # L& COPTIC CAPITAL LETTER MI
-2C9A ; Uppercase # L& COPTIC CAPITAL LETTER NI
-2C9C ; Uppercase # L& COPTIC CAPITAL LETTER KSI
-2C9E ; Uppercase # L& COPTIC CAPITAL LETTER O
-2CA0 ; Uppercase # L& COPTIC CAPITAL LETTER PI
-2CA2 ; Uppercase # L& COPTIC CAPITAL LETTER RO
-2CA4 ; Uppercase # L& COPTIC CAPITAL LETTER SIMA
-2CA6 ; Uppercase # L& COPTIC CAPITAL LETTER TAU
-2CA8 ; Uppercase # L& COPTIC CAPITAL LETTER UA
-2CAA ; Uppercase # L& COPTIC CAPITAL LETTER FI
-2CAC ; Uppercase # L& COPTIC CAPITAL LETTER KHI
-2CAE ; Uppercase # L& COPTIC CAPITAL LETTER PSI
-2CB0 ; Uppercase # L& COPTIC CAPITAL LETTER OOU
-2CB2 ; Uppercase # L& COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; Uppercase # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; Uppercase # L& COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; Uppercase # L& COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; Uppercase # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; Uppercase # L& COPTIC CAPITAL LETTER SAMPI
-2CC2 ; Uppercase # L& COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; Uppercase # L& COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; Uppercase # L& COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; Uppercase # L& COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; Uppercase # L& COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; Uppercase # L& COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; Uppercase # L& COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; Uppercase # L& COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; Uppercase # L& COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; Uppercase # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; Uppercase # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-A640 ; Uppercase # L& CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; Uppercase # L& CYRILLIC CAPITAL LETTER DZELO
-A644 ; Uppercase # L& CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTA
-A648 ; Uppercase # L& CYRILLIC CAPITAL LETTER DJERV
-A64A ; Uppercase # L& CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; Uppercase # L& CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; Uppercase # L& CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; Uppercase # L& CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; Uppercase # L& CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; Uppercase # L& CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; Uppercase # L& CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; Uppercase # L& CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; Uppercase # L& CYRILLIC CAPITAL LETTER YN
-A662 ; Uppercase # L& CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; Uppercase # L& CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; Uppercase # L& CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; Uppercase # L& CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; Uppercase # L& CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; Uppercase # L& CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; Uppercase # L& CYRILLIC CAPITAL LETTER DWE
-A682 ; Uppercase # L& CYRILLIC CAPITAL LETTER DZWE
-A684 ; Uppercase # L& CYRILLIC CAPITAL LETTER ZHWE
-A686 ; Uppercase # L& CYRILLIC CAPITAL LETTER CCHE
-A688 ; Uppercase # L& CYRILLIC CAPITAL LETTER DZZE
-A68A ; Uppercase # L& CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; Uppercase # L& CYRILLIC CAPITAL LETTER TWE
-A68E ; Uppercase # L& CYRILLIC CAPITAL LETTER TSWE
-A690 ; Uppercase # L& CYRILLIC CAPITAL LETTER TSSE
-A692 ; Uppercase # L& CYRILLIC CAPITAL LETTER TCHE
-A694 ; Uppercase # L& CYRILLIC CAPITAL LETTER HWE
-A696 ; Uppercase # L& CYRILLIC CAPITAL LETTER SHWE
-A722 ; Uppercase # L& LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; Uppercase # L& LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; Uppercase # L& LATIN CAPITAL LETTER HENG
-A728 ; Uppercase # L& LATIN CAPITAL LETTER TZ
-A72A ; Uppercase # L& LATIN CAPITAL LETTER TRESILLO
-A72C ; Uppercase # L& LATIN CAPITAL LETTER CUATRILLO
-A72E ; Uppercase # L& LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; Uppercase # L& LATIN CAPITAL LETTER AA
-A734 ; Uppercase # L& LATIN CAPITAL LETTER AO
-A736 ; Uppercase # L& LATIN CAPITAL LETTER AU
-A738 ; Uppercase # L& LATIN CAPITAL LETTER AV
-A73A ; Uppercase # L& LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; Uppercase # L& LATIN CAPITAL LETTER AY
-A73E ; Uppercase # L& LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; Uppercase # L& LATIN CAPITAL LETTER K WITH STROKE
-A742 ; Uppercase # L& LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; Uppercase # L& LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; Uppercase # L& LATIN CAPITAL LETTER BROKEN L
-A748 ; Uppercase # L& LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; Uppercase # L& LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; Uppercase # L& LATIN CAPITAL LETTER O WITH LOOP
-A74E ; Uppercase # L& LATIN CAPITAL LETTER OO
-A750 ; Uppercase # L& LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; Uppercase # L& LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; Uppercase # L& LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; Uppercase # L& LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; Uppercase # L& LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; Uppercase # L& LATIN CAPITAL LETTER R ROTUNDA
-A75C ; Uppercase # L& LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; Uppercase # L& LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; Uppercase # L& LATIN CAPITAL LETTER VY
-A762 ; Uppercase # L& LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; Uppercase # L& LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; Uppercase # L& LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; Uppercase # L& LATIN CAPITAL LETTER VEND
-A76A ; Uppercase # L& LATIN CAPITAL LETTER ET
-A76C ; Uppercase # L& LATIN CAPITAL LETTER IS
-A76E ; Uppercase # L& LATIN CAPITAL LETTER CON
-A779 ; Uppercase # L& LATIN CAPITAL LETTER INSULAR D
-A77B ; Uppercase # L& LATIN CAPITAL LETTER INSULAR F
-A77D..A77E ; Uppercase # L& [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; Uppercase # L& LATIN CAPITAL LETTER TURNED L
-A782 ; Uppercase # L& LATIN CAPITAL LETTER INSULAR R
-A784 ; Uppercase # L& LATIN CAPITAL LETTER INSULAR S
-A786 ; Uppercase # L& LATIN CAPITAL LETTER INSULAR T
-A78B ; Uppercase # L& LATIN CAPITAL LETTER SALTILLO
-FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-10400..10427 ; Uppercase # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
-1D400..1D419 ; Uppercase # L& [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
-1D434..1D44D ; Uppercase # L& [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
-1D468..1D481 ; Uppercase # L& [26] MATHEMATICAL BOLD ITALIC CAPITAL A..MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D49C ; Uppercase # L& MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Uppercase # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Uppercase # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Uppercase # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Uppercase # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B5 ; Uppercase # L& [8] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT CAPITAL Z
-1D4D0..1D4E9 ; Uppercase # L& [26] MATHEMATICAL BOLD SCRIPT CAPITAL A..MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D504..1D505 ; Uppercase # L& [2] MATHEMATICAL FRAKTUR CAPITAL A..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Uppercase # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Uppercase # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Uppercase # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D538..1D539 ; Uppercase # L& [2] MATHEMATICAL DOUBLE-STRUCK CAPITAL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Uppercase # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Uppercase # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Uppercase # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Uppercase # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D56C..1D585 ; Uppercase # L& [26] MATHEMATICAL BOLD FRAKTUR CAPITAL A..MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D5A0..1D5B9 ; Uppercase # L& [26] MATHEMATICAL SANS-SERIF CAPITAL A..MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5D4..1D5ED ; Uppercase # L& [26] MATHEMATICAL SANS-SERIF BOLD CAPITAL A..MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D608..1D621 ; Uppercase # L& [26] MATHEMATICAL SANS-SERIF ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D63C..1D655 ; Uppercase # L& [26] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D670..1D689 ; Uppercase # L& [26] MATHEMATICAL MONOSPACE CAPITAL A..MATHEMATICAL MONOSPACE CAPITAL Z
-1D6A8..1D6C0 ; Uppercase # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6E2..1D6FA ; Uppercase # L& [25] MATHEMATICAL ITALIC CAPITAL ALPHA..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D71C..1D734 ; Uppercase # L& [25] MATHEMATICAL BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D756..1D76E ; Uppercase # L& [25] MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D790..1D7A8 ; Uppercase # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7CA ; Uppercase # L& MATHEMATICAL BOLD CAPITAL DIGAMMA
-
-# Total code points: 1469
-
-# ================================================
-
-# Derived Property: Cased (Cased)
-# As defined by Unicode Standard Definition D120
-# C has the Lowercase or Uppercase property or has a General_Category value of Titlecase_Letter.
-
-0041..005A ; Cased # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; Cased # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; Cased # L& FEMININE ORDINAL INDICATOR
-00B5 ; Cased # L& MICRO SIGN
-00BA ; Cased # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; Cased # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; Cased # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; Cased # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BC..01BF ; Cased # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C4..0293 ; Cased # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0295..02AF ; Cased # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02B8 ; Cased # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02C0..02C1 ; Cased # Lm [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
-02E0..02E4 ; Cased # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0345 ; Cased # Mn COMBINING GREEK YPOGEGRAMMENI
-0370..0373 ; Cased # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0376..0377 ; Cased # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; Cased # Lm GREEK YPOGEGRAMMENI
-037B..037D ; Cased # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; Cased # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Cased # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Cased # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; Cased # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; Cased # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; Cased # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-048A..0525 ; Cased # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; Cased # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0561..0587 ; Cased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-10A0..10C5 ; Cased # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1D00..1D2B ; Cased # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; Cased # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; Cased # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; Cased # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; Cased # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; Cased # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; Cased # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Cased # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Cased # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Cased # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Cased # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Cased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Cased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Cased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Cased # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Cased # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Cased # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; Cased # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Cased # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Cased # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; Cased # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Cased # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; Cased # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; Cased # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Cased # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2090..2094 ; Cased # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2102 ; Cased # L& DOUBLE-STRUCK CAPITAL C
-2107 ; Cased # L& EULER CONSTANT
-210A..2113 ; Cased # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; Cased # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Cased # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Cased # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; Cased # L& OHM SIGN
-2128 ; Cased # L& BLACK-LETTER CAPITAL Z
-212A..212D ; Cased # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2134 ; Cased # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2139 ; Cased # L& INFORMATION SOURCE
-213C..213F ; Cased # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; Cased # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; Cased # L& TURNED SMALL F
-2160..217F ; Cased # Nl [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2183..2184 ; Cased # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-24B6..24E9 ; Cased # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C00..2C2E ; Cased # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; Cased # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; Cased # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Cased # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; Cased # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; Cased # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Cased # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A640..A65F ; Cased # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; Cased # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A680..A697 ; Cased # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A722..A76F ; Cased # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; Cased # Lm MODIFIER LETTER US
-A771..A787 ; Cased # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A78B..A78C ; Cased # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Cased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Cased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF21..FF3A ; Cased # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10400..1044F ; Cased # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-1D400..1D454 ; Cased # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Cased # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Cased # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Cased # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Cased # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Cased # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Cased # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Cased # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Cased # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Cased # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Cased # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Cased # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Cased # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Cased # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Cased # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Cased # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Cased # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Cased # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Cased # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Cased # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; Cased # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; Cased # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; Cased # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; Cased # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; Cased # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; Cased # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; Cased # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; Cased # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; Cased # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; Cased # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-
-# Total code points: 3408
-
-# ================================================
-
-# Derived Property: Case_Ignorable (CI)
-# As defined by Unicode Standard Definition D121
-# C is defined to be case-ignorable if
-# Word_Break(C) = MidLetter or MidNumLet, or
-# General_Category(C) = Nonspacing_Mark (Mn), Enclosing_Mark (Me), Format (Cf), Modifier_Letter (Lm), or Modifier_Symbol (Sk).
-
-0027 ; Case_Ignorable # Po APOSTROPHE
-002E ; Case_Ignorable # Po FULL STOP
-003A ; Case_Ignorable # Po COLON
-005E ; Case_Ignorable # Sk CIRCUMFLEX ACCENT
-0060 ; Case_Ignorable # Sk GRAVE ACCENT
-00A8 ; Case_Ignorable # Sk DIAERESIS
-00AD ; Case_Ignorable # Cf SOFT HYPHEN
-00AF ; Case_Ignorable # Sk MACRON
-00B4 ; Case_Ignorable # Sk ACUTE ACCENT
-00B7 ; Case_Ignorable # Po MIDDLE DOT
-00B8 ; Case_Ignorable # Sk CEDILLA
-02B0..02C1 ; Case_Ignorable # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C5 ; Case_Ignorable # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6..02D1 ; Case_Ignorable # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02DF ; Case_Ignorable # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E0..02E4 ; Case_Ignorable # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5..02EB ; Case_Ignorable # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; Case_Ignorable # Lm MODIFIER LETTER VOICING
-02ED ; Case_Ignorable # Sk MODIFIER LETTER UNASPIRATED
-02EE ; Case_Ignorable # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; Case_Ignorable # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0300..036F ; Case_Ignorable # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0374 ; Case_Ignorable # Lm GREEK NUMERAL SIGN
-0375 ; Case_Ignorable # Sk GREEK LOWER NUMERAL SIGN
-037A ; Case_Ignorable # Lm GREEK YPOGEGRAMMENI
-0384..0385 ; Case_Ignorable # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0387 ; Case_Ignorable # Po GREEK ANO TELEIA
-0483..0487 ; Case_Ignorable # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; Case_Ignorable # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0559 ; Case_Ignorable # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0591..05BD ; Case_Ignorable # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; Case_Ignorable # Mn HEBREW POINT RAFE
-05C1..05C2 ; Case_Ignorable # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Case_Ignorable # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Case_Ignorable # Mn HEBREW POINT QAMATS QATAN
-05F4 ; Case_Ignorable # Po HEBREW PUNCTUATION GERSHAYIM
-0600..0603 ; Case_Ignorable # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-0610..061A ; Case_Ignorable # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-0640 ; Case_Ignorable # Lm ARABIC TATWEEL
-064B..065E ; Case_Ignorable # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; Case_Ignorable # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Case_Ignorable # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DD ; Case_Ignorable # Cf ARABIC END OF AYAH
-06DE ; Case_Ignorable # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; Case_Ignorable # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E5..06E6 ; Case_Ignorable # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E7..06E8 ; Case_Ignorable # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; Case_Ignorable # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-070F ; Case_Ignorable # Cf SYRIAC ABBREVIATION MARK
-0711 ; Case_Ignorable # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; Case_Ignorable # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Case_Ignorable # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Case_Ignorable # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-07F4..07F5 ; Case_Ignorable # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; Case_Ignorable # Lm NKO LAJANYALAN
-0816..0819 ; Case_Ignorable # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081A ; Case_Ignorable # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B..0823 ; Case_Ignorable # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0824 ; Case_Ignorable # Lm SAMARITAN MODIFIER LETTER SHORT A
-0825..0827 ; Case_Ignorable # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0828 ; Case_Ignorable # Lm SAMARITAN MODIFIER LETTER I
-0829..082D ; Case_Ignorable # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; Case_Ignorable # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-093C ; Case_Ignorable # Mn DEVANAGARI SIGN NUKTA
-0941..0948 ; Case_Ignorable # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-094D ; Case_Ignorable # Mn DEVANAGARI SIGN VIRAMA
-0951..0955 ; Case_Ignorable # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Case_Ignorable # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0971 ; Case_Ignorable # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0981 ; Case_Ignorable # Mn BENGALI SIGN CANDRABINDU
-09BC ; Case_Ignorable # Mn BENGALI SIGN NUKTA
-09C1..09C4 ; Case_Ignorable # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09CD ; Case_Ignorable # Mn BENGALI SIGN VIRAMA
-09E2..09E3 ; Case_Ignorable # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Case_Ignorable # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A3C ; Case_Ignorable # Mn GURMUKHI SIGN NUKTA
-0A41..0A42 ; Case_Ignorable # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Case_Ignorable # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Case_Ignorable # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Case_Ignorable # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; Case_Ignorable # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Case_Ignorable # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Case_Ignorable # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0ABC ; Case_Ignorable # Mn GUJARATI SIGN NUKTA
-0AC1..0AC5 ; Case_Ignorable # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Case_Ignorable # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0ACD ; Case_Ignorable # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; Case_Ignorable # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Case_Ignorable # Mn ORIYA SIGN CANDRABINDU
-0B3C ; Case_Ignorable # Mn ORIYA SIGN NUKTA
-0B3F ; Case_Ignorable # Mn ORIYA VOWEL SIGN I
-0B41..0B44 ; Case_Ignorable # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B4D ; Case_Ignorable # Mn ORIYA SIGN VIRAMA
-0B56 ; Case_Ignorable # Mn ORIYA AI LENGTH MARK
-0B62..0B63 ; Case_Ignorable # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Case_Ignorable # Mn TAMIL SIGN ANUSVARA
-0BC0 ; Case_Ignorable # Mn TAMIL VOWEL SIGN II
-0BCD ; Case_Ignorable # Mn TAMIL SIGN VIRAMA
-0C3E..0C40 ; Case_Ignorable # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C46..0C48 ; Case_Ignorable # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Case_Ignorable # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Case_Ignorable # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Case_Ignorable # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0CBC ; Case_Ignorable # Mn KANNADA SIGN NUKTA
-0CBF ; Case_Ignorable # Mn KANNADA VOWEL SIGN I
-0CC6 ; Case_Ignorable # Mn KANNADA VOWEL SIGN E
-0CCC..0CCD ; Case_Ignorable # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CE2..0CE3 ; Case_Ignorable # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D41..0D44 ; Case_Ignorable # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D4D ; Case_Ignorable # Mn MALAYALAM SIGN VIRAMA
-0D62..0D63 ; Case_Ignorable # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0DCA ; Case_Ignorable # Mn SINHALA SIGN AL-LAKUNA
-0DD2..0DD4 ; Case_Ignorable # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Case_Ignorable # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0E31 ; Case_Ignorable # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; Case_Ignorable # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E46 ; Case_Ignorable # Lm THAI CHARACTER MAIYAMOK
-0E47..0E4E ; Case_Ignorable # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; Case_Ignorable # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; Case_Ignorable # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Case_Ignorable # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC6 ; Case_Ignorable # Lm LAO KO LA
-0EC8..0ECD ; Case_Ignorable # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; Case_Ignorable # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Case_Ignorable # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Case_Ignorable # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Case_Ignorable # Mn TIBETAN MARK TSA -PHRU
-0F71..0F7E ; Case_Ignorable # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; Case_Ignorable # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; Case_Ignorable # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; Case_Ignorable # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Case_Ignorable # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; Case_Ignorable # Mn TIBETAN SYMBOL PADMA GDAN
-102D..1030 ; Case_Ignorable # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1032..1037 ; Case_Ignorable # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1039..103A ; Case_Ignorable # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103D..103E ; Case_Ignorable # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1058..1059 ; Case_Ignorable # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Case_Ignorable # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1071..1074 ; Case_Ignorable # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Case_Ignorable # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1085..1086 ; Case_Ignorable # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108D ; Case_Ignorable # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-109D ; Case_Ignorable # Mn MYANMAR VOWEL SIGN AITON AI
-10FC ; Case_Ignorable # Lm MODIFIER LETTER GEORGIAN NAR
-135F ; Case_Ignorable # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; Case_Ignorable # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; Case_Ignorable # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; Case_Ignorable # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Case_Ignorable # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B4..17B5 ; Case_Ignorable # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B7..17BD ; Case_Ignorable # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17C6 ; Case_Ignorable # Mn KHMER SIGN NIKAHIT
-17C9..17D3 ; Case_Ignorable # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17D7 ; Case_Ignorable # Lm KHMER SIGN LEK TOO
-17DD ; Case_Ignorable # Mn KHMER SIGN ATTHACAN
-180B..180D ; Case_Ignorable # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-1843 ; Case_Ignorable # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-18A9 ; Case_Ignorable # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Case_Ignorable # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1927..1928 ; Case_Ignorable # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1932 ; Case_Ignorable # Mn LIMBU SMALL LETTER ANUSVARA
-1939..193B ; Case_Ignorable # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; Case_Ignorable # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A56 ; Case_Ignorable # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A58..1A5E ; Case_Ignorable # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Case_Ignorable # Mn TAI THAM SIGN SAKOT
-1A62 ; Case_Ignorable # Mn TAI THAM VOWEL SIGN MAI SAT
-1A65..1A6C ; Case_Ignorable # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A73..1A7C ; Case_Ignorable # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Case_Ignorable # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1AA7 ; Case_Ignorable # Lm TAI THAM SIGN MAI YAMOK
-1B00..1B03 ; Case_Ignorable # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B34 ; Case_Ignorable # Mn BALINESE SIGN REREKAN
-1B36..1B3A ; Case_Ignorable # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3C ; Case_Ignorable # Mn BALINESE VOWEL SIGN LA LENGA
-1B42 ; Case_Ignorable # Mn BALINESE VOWEL SIGN PEPET
-1B6B..1B73 ; Case_Ignorable # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; Case_Ignorable # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1BA2..1BA5 ; Case_Ignorable # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA8..1BA9 ; Case_Ignorable # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C2C..1C33 ; Case_Ignorable # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C36..1C37 ; Case_Ignorable # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1C78..1C7D ; Case_Ignorable # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CD0..1CD2 ; Case_Ignorable # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Case_Ignorable # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; Case_Ignorable # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Case_Ignorable # Mn VEDIC SIGN TIRYAK
-1D2C..1D61 ; Case_Ignorable # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D78 ; Case_Ignorable # Lm MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; Case_Ignorable # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DE6 ; Case_Ignorable # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Case_Ignorable # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1FBD ; Case_Ignorable # Sk GREEK KORONIS
-1FBF..1FC1 ; Case_Ignorable # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FCD..1FCF ; Case_Ignorable # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FDD..1FDF ; Case_Ignorable # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FED..1FEF ; Case_Ignorable # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FFD..1FFE ; Case_Ignorable # Sk [2] GREEK OXIA..GREEK DASIA
-200B..200F ; Case_Ignorable # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-2018 ; Case_Ignorable # Pi LEFT SINGLE QUOTATION MARK
-2019 ; Case_Ignorable # Pf RIGHT SINGLE QUOTATION MARK
-2024 ; Case_Ignorable # Po ONE DOT LEADER
-2027 ; Case_Ignorable # Po HYPHENATION POINT
-202A..202E ; Case_Ignorable # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; Case_Ignorable # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; Case_Ignorable # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2071 ; Case_Ignorable # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; Case_Ignorable # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; Case_Ignorable # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20D0..20DC ; Case_Ignorable # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; Case_Ignorable # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; Case_Ignorable # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; Case_Ignorable # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; Case_Ignorable # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2C7D ; Case_Ignorable # Lm MODIFIER LETTER CAPITAL V
-2CEF..2CF1 ; Case_Ignorable # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2D6F ; Case_Ignorable # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2DE0..2DFF ; Case_Ignorable # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E2F ; Case_Ignorable # Lm VERTICAL TILDE
-3005 ; Case_Ignorable # Lm IDEOGRAPHIC ITERATION MARK
-302A..302F ; Case_Ignorable # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3031..3035 ; Case_Ignorable # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-303B ; Case_Ignorable # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-3099..309A ; Case_Ignorable # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B..309C ; Case_Ignorable # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; Case_Ignorable # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-30FC..30FE ; Case_Ignorable # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-A015 ; Case_Ignorable # Lm YI SYLLABLE WU
-A4F8..A4FD ; Case_Ignorable # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A60C ; Case_Ignorable # Lm VAI SYLLABLE LENGTHENER
-A66F ; Case_Ignorable # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; Case_Ignorable # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; Case_Ignorable # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A67F ; Case_Ignorable # Lm CYRILLIC PAYEROK
-A6F0..A6F1 ; Case_Ignorable # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A700..A716 ; Case_Ignorable # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; Case_Ignorable # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; Case_Ignorable # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A770 ; Case_Ignorable # Lm MODIFIER LETTER US
-A788 ; Case_Ignorable # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789..A78A ; Case_Ignorable # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A802 ; Case_Ignorable # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; Case_Ignorable # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; Case_Ignorable # Mn SYLOTI NAGRI SIGN ANUSVARA
-A825..A826 ; Case_Ignorable # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A8C4 ; Case_Ignorable # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Case_Ignorable # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; Case_Ignorable # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; Case_Ignorable # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A980..A982 ; Case_Ignorable # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A9B3 ; Case_Ignorable # Mn JAVANESE SIGN CECAK TELU
-A9B6..A9B9 ; Case_Ignorable # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BC ; Case_Ignorable # Mn JAVANESE VOWEL SIGN PEPET
-A9CF ; Case_Ignorable # Lm JAVANESE PANGRANGKEP
-AA29..AA2E ; Case_Ignorable # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA31..AA32 ; Case_Ignorable # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA35..AA36 ; Case_Ignorable # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Case_Ignorable # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; Case_Ignorable # Mn CHAM CONSONANT SIGN FINAL M
-AA70 ; Case_Ignorable # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AAB0 ; Case_Ignorable # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; Case_Ignorable # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Case_Ignorable # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; Case_Ignorable # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; Case_Ignorable # Mn TAI VIET TONE MAI THO
-AADD ; Case_Ignorable # Lm TAI VIET SYMBOL SAM
-ABE5 ; Case_Ignorable # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE8 ; Case_Ignorable # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABED ; Case_Ignorable # Mn MEETEI MAYEK APUN IYEK
-FB1E ; Case_Ignorable # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; Case_Ignorable # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE13 ; Case_Ignorable # Po PRESENTATION FORM FOR VERTICAL COLON
-FE20..FE26 ; Case_Ignorable # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FE52 ; Case_Ignorable # Po SMALL FULL STOP
-FE55 ; Case_Ignorable # Po SMALL COLON
-FEFF ; Case_Ignorable # Cf ZERO WIDTH NO-BREAK SPACE
-FF07 ; Case_Ignorable # Po FULLWIDTH APOSTROPHE
-FF0E ; Case_Ignorable # Po FULLWIDTH FULL STOP
-FF1A ; Case_Ignorable # Po FULLWIDTH COLON
-FF3E ; Case_Ignorable # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF40 ; Case_Ignorable # Sk FULLWIDTH GRAVE ACCENT
-FF70 ; Case_Ignorable # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF9E..FF9F ; Case_Ignorable # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE3 ; Case_Ignorable # Sk FULLWIDTH MACRON
-FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-101FD ; Case_Ignorable # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; Case_Ignorable # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Case_Ignorable # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Case_Ignorable # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; Case_Ignorable # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Case_Ignorable # Mn KHAROSHTHI VIRAMA
-11080..11081 ; Case_Ignorable # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-110B3..110B6 ; Case_Ignorable # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B9..110BA ; Case_Ignorable # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-110BD ; Case_Ignorable # Cf KAITHI NUMBER SIGN
-1D167..1D169 ; Case_Ignorable # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D173..1D17A ; Case_Ignorable # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D17B..1D182 ; Case_Ignorable # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Case_Ignorable # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Case_Ignorable # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; Case_Ignorable # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0001 ; Case_Ignorable # Cf LANGUAGE TAG
-E0020..E007F ; Case_Ignorable # Cf [96] TAG SPACE..CANCEL TAG
-E0100..E01EF ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1632
-
-# ================================================
-
-# Derived Property: Changes_When_Lowercased (CWL)
-# Characters whose normalized forms are not stable under a toLowercase mapping.
-# For more information, see D124 in Section 3.13, "Default Case Algorithms".
-# Changes_When_Lowercased(X) is true when toLowercase(toNFD(X)) != toNFD(X)
-
-0041..005A ; Changes_When_Lowercased # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-00C0..00D6 ; Changes_When_Lowercased # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00DE ; Changes_When_Lowercased # L& [7] LATIN CAPITAL LETTER O WITH STROKE..LATIN CAPITAL LETTER THORN
-0100 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH MACRON
-0102 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH BREVE
-0104 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER C WITH CARON
-010E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH CARON
-0110 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH STROKE
-0112 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH MACRON
-0114 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH BREVE
-0116 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH OGONEK
-011A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CARON
-011C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH BREVE
-0120 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH STROKE
-0128 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH TILDE
-012A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH MACRON
-012C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH BREVE
-012E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132 ; Changes_When_Lowercased # L& LATIN CAPITAL LIGATURE IJ
-0134 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH ACUTE
-013B ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH CARON
-013F ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0141 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH STROKE
-0143 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH CARON
-014A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER ENG
-014C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH MACRON
-014E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH BREVE
-0150 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; Changes_When_Lowercased # L& LATIN CAPITAL LIGATURE OE
-0154 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH CARON
-015A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH ACUTE
-015C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH CARON
-0162 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH CARON
-0166 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH STROKE
-0168 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH TILDE
-016A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH MACRON
-016C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH BREVE
-016E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178..0179 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH CARON
-0181..0182 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER TONE SIX
-0186..0187 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
-0189..018B ; Changes_When_Lowercased # L& [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
-018E..0191 ; Changes_When_Lowercased # L& [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
-0193..0194 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
-0196..0198 ; Changes_When_Lowercased # L& [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
-019C..019D ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F..01A0 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
-01A2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER OI
-01A4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER P WITH HOOK
-01A6..01A7 ; Changes_When_Lowercased # L& [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
-01A9 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER ESH
-01AC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH HOOK
-01AE..01AF ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
-01B1..01B3 ; Changes_When_Lowercased # L& [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH STROKE
-01B7..01B8 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
-01BC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER TONE FIVE
-01C4..01C5 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C7..01C8 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER LJ..LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01CA..01CB ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER NJ..LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CD ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH CARON
-01CF ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH CARON
-01E8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH CARON
-01EA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER EZH WITH CARON
-01F1..01F2 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER DZ..LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH ACUTE
-01F6..01F8 ; Changes_When_Lowercased # L& [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER YOGH
-021E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH CARON
-0220 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER OU
-0224 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH MACRON
-023A..023B ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
-023D..023E ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER GLOTTAL STOP
-0243..0246 ; Changes_When_Lowercased # L& [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
-0248 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER J WITH STROKE
-024A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH STROKE
-024E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH STROKE
-0370 ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER HETA
-0372 ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER ARCHAIC SAMPI
-0376 ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0386 ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Changes_When_Lowercased # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..038F ; Changes_When_Lowercased # L& [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391..03A1 ; Changes_When_Lowercased # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03AB ; Changes_When_Lowercased # L& [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03CF ; Changes_When_Lowercased # L& GREEK CAPITAL KAI SYMBOL
-03D8 ; Changes_When_Lowercased # L& GREEK LETTER ARCHAIC KOPPA
-03DA ; Changes_When_Lowercased # L& GREEK LETTER STIGMA
-03DC ; Changes_When_Lowercased # L& GREEK LETTER DIGAMMA
-03DE ; Changes_When_Lowercased # L& GREEK LETTER KOPPA
-03E0 ; Changes_When_Lowercased # L& GREEK LETTER SAMPI
-03E2 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER SHEI
-03E4 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER FEI
-03E6 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER KHEI
-03E8 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER HORI
-03EA ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER GANGIA
-03EC ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER SHIMA
-03EE ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER DEI
-03F4 ; Changes_When_Lowercased # L& GREEK CAPITAL THETA SYMBOL
-03F7 ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER SHO
-03F9..03FA ; Changes_When_Lowercased # L& [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
-03FD..042F ; Changes_When_Lowercased # L& [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
-0460 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER OMEGA
-0462 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER YAT
-0464 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BIG YUS
-046C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KSI
-0470 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER PSI
-0472 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER FITA
-0474 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER UK
-047A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER OT
-0480 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOPPA
-048A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SHHA
-04BC ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0..04C1 ; Changes_When_Lowercased # L& [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SCHWA
-04DA ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BARRED O
-04EA ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER LHA
-0516 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER RHA
-0518 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER YAE
-051A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER QA
-051C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER WE
-051E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531..0556 ; Changes_When_Lowercased # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-10A0..10C5 ; Changes_When_Lowercased # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1E00 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER SHARP S
-1EA0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Y WITH LOOP
-1F08..1F0F ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18..1F1D ; Changes_When_Lowercased # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28..1F2F ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38..1F3F ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48..1F4D ; Changes_When_Lowercased # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; Changes_When_Lowercased # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68..1F6F ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F88..1F8F ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F98..1F9F ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA8..1FAF ; Changes_When_Lowercased # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB8..1FBC ; Changes_When_Lowercased # L& [5] GREEK CAPITAL LETTER ALPHA WITH VRACHY..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FC8..1FCC ; Changes_When_Lowercased # L& [5] GREEK CAPITAL LETTER EPSILON WITH VARIA..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD8..1FDB ; Changes_When_Lowercased # L& [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE8..1FEC ; Changes_When_Lowercased # L& [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF8..1FFC ; Changes_When_Lowercased # L& [5] GREEK CAPITAL LETTER OMICRON WITH VARIA..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2126 ; Changes_When_Lowercased # L& OHM SIGN
-212A..212B ; Changes_When_Lowercased # L& [2] KELVIN SIGN..ANGSTROM SIGN
-2132 ; Changes_When_Lowercased # L& TURNED CAPITAL F
-2160..216F ; Changes_When_Lowercased # Nl [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
-2183 ; Changes_When_Lowercased # L& ROMAN NUMERAL REVERSED ONE HUNDRED
-24B6..24CF ; Changes_When_Lowercased # So [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
-2C00..2C2E ; Changes_When_Lowercased # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62..2C64 ; Changes_When_Lowercased # L& [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D..2C70 ; Changes_When_Lowercased # L& [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER HALF H
-2C7E..2C80 ; Changes_When_Lowercased # L& [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
-2C82 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER VIDA
-2C84 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER GAMMA
-2C86 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER DALDA
-2C88 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER EIE
-2C8A ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER SOU
-2C8C ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER ZATA
-2C8E ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER HATE
-2C90 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER THETHE
-2C92 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER IAUDA
-2C94 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER KAPA
-2C96 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER LAULA
-2C98 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER MI
-2C9A ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER NI
-2C9C ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER KSI
-2C9E ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER O
-2CA0 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER PI
-2CA2 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER RO
-2CA4 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER SIMA
-2CA6 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER TAU
-2CA8 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER UA
-2CAA ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER FI
-2CAC ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER KHI
-2CAE ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER PSI
-2CB0 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OOU
-2CB2 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER SAMPI
-2CC2 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; Changes_When_Lowercased # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-A640 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER DZELO
-A644 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTA
-A648 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER DJERV
-A64A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER YN
-A662 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER DWE
-A682 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER DZWE
-A684 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER ZHWE
-A686 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER CCHE
-A688 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER DZZE
-A68A ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER TWE
-A68E ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER TSWE
-A690 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER TSSE
-A692 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER TCHE
-A694 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER HWE
-A696 ; Changes_When_Lowercased # L& CYRILLIC CAPITAL LETTER SHWE
-A722 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER HENG
-A728 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER TZ
-A72A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER TRESILLO
-A72C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER CUATRILLO
-A72E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AA
-A734 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AO
-A736 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AU
-A738 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AV
-A73A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER AY
-A73E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH STROKE
-A742 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER BROKEN L
-A748 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER O WITH LOOP
-A74E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER OO
-A750 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R ROTUNDA
-A75C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER VY
-A762 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER VEND
-A76A ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER ET
-A76C ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER IS
-A76E ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER CON
-A779 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER INSULAR D
-A77B ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER INSULAR F
-A77D..A77E ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER TURNED L
-A782 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER INSULAR R
-A784 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER INSULAR S
-A786 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER INSULAR T
-A78B ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER SALTILLO
-FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-10400..10427 ; Changes_When_Lowercased # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
-
-# Total code points: 1029
-
-# ================================================
-
-# Derived Property: Changes_When_Uppercased (CWU)
-# Characters whose normalized forms are not stable under a toUppercase mapping.
-# For more information, see D125 in Section 3.13, "Default Case Algorithms".
-# Changes_When_Uppercased(X) is true when toUppercase(toNFD(X)) != toNFD(X)
-
-0061..007A ; Changes_When_Uppercased # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00B5 ; Changes_When_Uppercased # L& MICRO SIGN
-00DF..00F6 ; Changes_When_Uppercased # L& [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..00FF ; Changes_When_Uppercased # L& [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
-0101 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH MACRON
-0103 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH BREVE
-0105 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH OGONEK
-0107 ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH ACUTE
-0109 ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH CIRCUMFLEX
-010B ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH DOT ABOVE
-010D ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH CARON
-010F ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH CARON
-0111 ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH STROKE
-0113 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH MACRON
-0115 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH BREVE
-0117 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH DOT ABOVE
-0119 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH OGONEK
-011B ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CARON
-011D ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH CIRCUMFLEX
-011F ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH BREVE
-0121 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH DOT ABOVE
-0123 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH CEDILLA
-0125 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH CIRCUMFLEX
-0127 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH STROKE
-0129 ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH TILDE
-012B ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH MACRON
-012D ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH BREVE
-012F ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH OGONEK
-0131 ; Changes_When_Uppercased # L& LATIN SMALL LETTER DOTLESS I
-0133 ; Changes_When_Uppercased # L& LATIN SMALL LIGATURE IJ
-0135 ; Changes_When_Uppercased # L& LATIN SMALL LETTER J WITH CIRCUMFLEX
-0137 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH CEDILLA
-013A ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH ACUTE
-013C ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH CEDILLA
-013E ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH CARON
-0140 ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH MIDDLE DOT
-0142 ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH STROKE
-0144 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH ACUTE
-0146 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH CEDILLA
-0148..0149 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014B ; Changes_When_Uppercased # L& LATIN SMALL LETTER ENG
-014D ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH MACRON
-014F ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH BREVE
-0151 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0153 ; Changes_When_Uppercased # L& LATIN SMALL LIGATURE OE
-0155 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH ACUTE
-0157 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH CEDILLA
-0159 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH CARON
-015B ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH ACUTE
-015D ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH CIRCUMFLEX
-015F ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH CEDILLA
-0161 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH CARON
-0163 ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH CEDILLA
-0165 ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH CARON
-0167 ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH STROKE
-0169 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH TILDE
-016B ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH MACRON
-016D ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH BREVE
-016F ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH RING ABOVE
-0171 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0173 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH OGONEK
-0175 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH CIRCUMFLEX
-0177 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH CIRCUMFLEX
-017A ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH ACUTE
-017C ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH DOT ABOVE
-017E..0180 ; Changes_When_Uppercased # L& [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
-0183 ; Changes_When_Uppercased # L& LATIN SMALL LETTER B WITH TOPBAR
-0185 ; Changes_When_Uppercased # L& LATIN SMALL LETTER TONE SIX
-0188 ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH HOOK
-018C ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH TOPBAR
-0192 ; Changes_When_Uppercased # L& LATIN SMALL LETTER F WITH HOOK
-0195 ; Changes_When_Uppercased # L& LATIN SMALL LETTER HV
-0199..019A ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER L WITH BAR
-019E ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH LONG RIGHT LEG
-01A1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HORN
-01A3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER OI
-01A5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH HOOK
-01A8 ; Changes_When_Uppercased # L& LATIN SMALL LETTER TONE TWO
-01AD ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH HOOK
-01B0 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HORN
-01B4 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH HOOK
-01B6 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH STROKE
-01B9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER EZH REVERSED
-01BD ; Changes_When_Uppercased # L& LATIN SMALL LETTER TONE FIVE
-01BF ; Changes_When_Uppercased # L& LATIN LETTER WYNN
-01C5..01C6 ; Changes_When_Uppercased # L& [2] LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON..LATIN SMALL LETTER DZ WITH CARON
-01C8..01C9 ; Changes_When_Uppercased # L& [2] LATIN CAPITAL LETTER L WITH SMALL LETTER J..LATIN SMALL LETTER LJ
-01CB..01CC ; Changes_When_Uppercased # L& [2] LATIN CAPITAL LETTER N WITH SMALL LETTER J..LATIN SMALL LETTER NJ
-01CE ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH CARON
-01D0 ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH CARON
-01D2 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH CARON
-01D4 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH CARON
-01D6 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D8 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01DA ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DC..01DD ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
-01DF ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER AE WITH MACRON
-01E5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH STROKE
-01E7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH CARON
-01E9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH CARON
-01EB ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH OGONEK
-01ED ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EF..01F0 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F2..01F3 ; Changes_When_Uppercased # L& [2] LATIN CAPITAL LETTER D WITH SMALL LETTER Z..LATIN SMALL LETTER DZ
-01F5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH ACUTE
-01F9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH GRAVE
-01FB ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FD ; Changes_When_Uppercased # L& LATIN SMALL LETTER AE WITH ACUTE
-01FF ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0201 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0203 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH INVERTED BREVE
-0205 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0207 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH INVERTED BREVE
-0209 ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020B ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH INVERTED BREVE
-020D ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020F ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH INVERTED BREVE
-0211 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0213 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH INVERTED BREVE
-0215 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0217 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH INVERTED BREVE
-0219 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH COMMA BELOW
-021B ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH COMMA BELOW
-021D ; Changes_When_Uppercased # L& LATIN SMALL LETTER YOGH
-021F ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH CARON
-0223 ; Changes_When_Uppercased # L& LATIN SMALL LETTER OU
-0225 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH HOOK
-0227 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH DOT ABOVE
-0229 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CEDILLA
-022B ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022D ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH TILDE AND MACRON
-022F ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH DOT ABOVE
-0231 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0233 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH MACRON
-023C ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH STROKE
-023F..0240 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
-0242 ; Changes_When_Uppercased # L& LATIN SMALL LETTER GLOTTAL STOP
-0247 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH STROKE
-0249 ; Changes_When_Uppercased # L& LATIN SMALL LETTER J WITH STROKE
-024B ; Changes_When_Uppercased # L& LATIN SMALL LETTER Q WITH HOOK TAIL
-024D ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH STROKE
-024F..0254 ; Changes_When_Uppercased # L& [6] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER OPEN O
-0256..0257 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER D WITH TAIL..LATIN SMALL LETTER D WITH HOOK
-0259 ; Changes_When_Uppercased # L& LATIN SMALL LETTER SCHWA
-025B ; Changes_When_Uppercased # L& LATIN SMALL LETTER OPEN E
-0260 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH HOOK
-0263 ; Changes_When_Uppercased # L& LATIN SMALL LETTER GAMMA
-0268..0269 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
-026B ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH MIDDLE TILDE
-026F ; Changes_When_Uppercased # L& LATIN SMALL LETTER TURNED M
-0271..0272 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER M WITH HOOK..LATIN SMALL LETTER N WITH LEFT HOOK
-0275 ; Changes_When_Uppercased # L& LATIN SMALL LETTER BARRED O
-027D ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH TAIL
-0280 ; Changes_When_Uppercased # L& LATIN LETTER SMALL CAPITAL R
-0283 ; Changes_When_Uppercased # L& LATIN SMALL LETTER ESH
-0288..028C ; Changes_When_Uppercased # L& [5] LATIN SMALL LETTER T WITH RETROFLEX HOOK..LATIN SMALL LETTER TURNED V
-0292 ; Changes_When_Uppercased # L& LATIN SMALL LETTER EZH
-0345 ; Changes_When_Uppercased # Mn COMBINING GREEK YPOGEGRAMMENI
-0371 ; Changes_When_Uppercased # L& GREEK SMALL LETTER HETA
-0373 ; Changes_When_Uppercased # L& GREEK SMALL LETTER ARCHAIC SAMPI
-0377 ; Changes_When_Uppercased # L& GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037B..037D ; Changes_When_Uppercased # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0390 ; Changes_When_Uppercased # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AC..03CE ; Changes_When_Uppercased # L& [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D1 ; Changes_When_Uppercased # L& [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
-03D5..03D7 ; Changes_When_Uppercased # L& [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
-03D9 ; Changes_When_Uppercased # L& GREEK SMALL LETTER ARCHAIC KOPPA
-03DB ; Changes_When_Uppercased # L& GREEK SMALL LETTER STIGMA
-03DD ; Changes_When_Uppercased # L& GREEK SMALL LETTER DIGAMMA
-03DF ; Changes_When_Uppercased # L& GREEK SMALL LETTER KOPPA
-03E1 ; Changes_When_Uppercased # L& GREEK SMALL LETTER SAMPI
-03E3 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER SHEI
-03E5 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER FEI
-03E7 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER KHEI
-03E9 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER HORI
-03EB ; Changes_When_Uppercased # L& COPTIC SMALL LETTER GANGIA
-03ED ; Changes_When_Uppercased # L& COPTIC SMALL LETTER SHIMA
-03EF..03F2 ; Changes_When_Uppercased # L& [4] COPTIC SMALL LETTER DEI..GREEK LUNATE SIGMA SYMBOL
-03F5 ; Changes_When_Uppercased # L& GREEK LUNATE EPSILON SYMBOL
-03F8 ; Changes_When_Uppercased # L& GREEK SMALL LETTER SHO
-03FB ; Changes_When_Uppercased # L& GREEK SMALL LETTER SAN
-0430..045F ; Changes_When_Uppercased # L& [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
-0461 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER OMEGA
-0463 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER YAT
-0465 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTIFIED E
-0467 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER LITTLE YUS
-0469 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BIG YUS
-046D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KSI
-0471 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER PSI
-0473 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER FITA
-0475 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IZHITSA
-0477 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0479 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER UK
-047B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ROUND OMEGA
-047D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER OT
-0481 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOPPA
-048B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SEMISOFT SIGN
-048F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ER WITH TICK
-0491 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER GHE WITH UPTURN
-0493 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER GHE WITH STROKE
-0495 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0497 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0499 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KA WITH DESCENDER
-049D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KA WITH STROKE
-04A1 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BASHKIR KA
-04A3 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A5 ; Changes_When_Uppercased # L& CYRILLIC SMALL LIGATURE EN GHE
-04A7 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A9 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ABKHASIAN HA
-04AB ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AD ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AF ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER STRAIGHT U
-04B1 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B3 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B5 ; Changes_When_Uppercased # L& CYRILLIC SMALL LIGATURE TE TSE
-04B7 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B9 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BB ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SHHA
-04BD ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BF ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C2 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C4 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KA WITH HOOK
-04C6 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EL WITH TAIL
-04C8 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EN WITH HOOK
-04CA ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EN WITH TAIL
-04CC ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CE..04CF ; Changes_When_Uppercased # L& [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
-04D1 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER A WITH BREVE
-04D3 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D5 ; Changes_When_Uppercased # L& CYRILLIC SMALL LIGATURE A IE
-04D7 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IE WITH BREVE
-04D9 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SCHWA
-04DB ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DD ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DF ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E1 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E3 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER I WITH MACRON
-04E5 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E7 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E9 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BARRED O
-04EB ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04ED ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EF ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER U WITH MACRON
-04F1 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F3 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F5 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F7 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F9 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FB ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FD ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER HA WITH HOOK
-04FF ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER HA WITH STROKE
-0501 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI DE
-0503 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI DJE
-0505 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI ZJE
-0507 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI DZJE
-0509 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI LJE
-050B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI NJE
-050D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI SJE
-050F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER KOMI TJE
-0511 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER REVERSED ZE
-0513 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EL WITH HOOK
-0515 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER LHA
-0517 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER RHA
-0519 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER YAE
-051B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER QA
-051D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER WE
-051F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ALEUT KA
-0521 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0523 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0525 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER PE WITH DESCENDER
-0561..0587 ; Changes_When_Uppercased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-1D79 ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR G
-1D7D ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH STROKE
-1E01 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH RING BELOW
-1E03 ; Changes_When_Uppercased # L& LATIN SMALL LETTER B WITH DOT ABOVE
-1E05 ; Changes_When_Uppercased # L& LATIN SMALL LETTER B WITH DOT BELOW
-1E07 ; Changes_When_Uppercased # L& LATIN SMALL LETTER B WITH LINE BELOW
-1E09 ; Changes_When_Uppercased # L& LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0B ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH DOT ABOVE
-1E0D ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH DOT BELOW
-1E0F ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH LINE BELOW
-1E11 ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH CEDILLA
-1E13 ; Changes_When_Uppercased # L& LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E15 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E17 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E19 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1B ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH TILDE BELOW
-1E1D ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1F ; Changes_When_Uppercased # L& LATIN SMALL LETTER F WITH DOT ABOVE
-1E21 ; Changes_When_Uppercased # L& LATIN SMALL LETTER G WITH MACRON
-1E23 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH DOT ABOVE
-1E25 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH DOT BELOW
-1E27 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH DIAERESIS
-1E29 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH CEDILLA
-1E2B ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH BREVE BELOW
-1E2D ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH TILDE BELOW
-1E2F ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E31 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH ACUTE
-1E33 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH DOT BELOW
-1E35 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH LINE BELOW
-1E37 ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH DOT BELOW
-1E39 ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3B ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH LINE BELOW
-1E3D ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3F ; Changes_When_Uppercased # L& LATIN SMALL LETTER M WITH ACUTE
-1E41 ; Changes_When_Uppercased # L& LATIN SMALL LETTER M WITH DOT ABOVE
-1E43 ; Changes_When_Uppercased # L& LATIN SMALL LETTER M WITH DOT BELOW
-1E45 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH DOT ABOVE
-1E47 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH DOT BELOW
-1E49 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH LINE BELOW
-1E4B ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4D ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4F ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E51 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E53 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E55 ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH ACUTE
-1E57 ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH DOT ABOVE
-1E59 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH DOT ABOVE
-1E5B ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH DOT BELOW
-1E5D ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5F ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH LINE BELOW
-1E61 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH DOT ABOVE
-1E63 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH DOT BELOW
-1E65 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E67 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E69 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6B ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH DOT ABOVE
-1E6D ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH DOT BELOW
-1E6F ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH LINE BELOW
-1E71 ; Changes_When_Uppercased # L& LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E73 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E75 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH TILDE BELOW
-1E77 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E79 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7B ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7D ; Changes_When_Uppercased # L& LATIN SMALL LETTER V WITH TILDE
-1E7F ; Changes_When_Uppercased # L& LATIN SMALL LETTER V WITH DOT BELOW
-1E81 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH GRAVE
-1E83 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH ACUTE
-1E85 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH DIAERESIS
-1E87 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH DOT ABOVE
-1E89 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH DOT BELOW
-1E8B ; Changes_When_Uppercased # L& LATIN SMALL LETTER X WITH DOT ABOVE
-1E8D ; Changes_When_Uppercased # L& LATIN SMALL LETTER X WITH DIAERESIS
-1E8F ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH DOT ABOVE
-1E91 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E93 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH DOT BELOW
-1E95..1E9B ; Changes_When_Uppercased # L& [7] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH DOT BELOW
-1EA3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAB ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAD ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAF ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH DOT BELOW
-1EBB ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBD ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH TILDE
-1EBF ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECB ; Changes_When_Uppercased # L& LATIN SMALL LETTER I WITH DOT BELOW
-1ECD ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH DOT BELOW
-1ECF ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDB ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDD ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDF ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH DOT BELOW
-1EE7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEB ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EED ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEF ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF1 ; Changes_When_Uppercased # L& LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH GRAVE
-1EF5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH DOT BELOW
-1EF7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Y WITH TILDE
-1EFB ; Changes_When_Uppercased # L& LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFD ; Changes_When_Uppercased # L& LATIN SMALL LETTER MIDDLE-WELSH V
-1EFF..1F07 ; Changes_When_Uppercased # L& [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10..1F15 ; Changes_When_Uppercased # L& [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F27 ; Changes_When_Uppercased # L& [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30..1F37 ; Changes_When_Uppercased # L& [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40..1F45 ; Changes_When_Uppercased # L& [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Changes_When_Uppercased # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60..1F67 ; Changes_When_Uppercased # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70..1F7D ; Changes_When_Uppercased # L& [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Changes_When_Uppercased # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FB7 ; Changes_When_Uppercased # L& [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FBC ; Changes_When_Uppercased # L& GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; Changes_When_Uppercased # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Changes_When_Uppercased # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FC7 ; Changes_When_Uppercased # L& [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FCC ; Changes_When_Uppercased # L& GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; Changes_When_Uppercased # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FD7 ; Changes_When_Uppercased # L& [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FE0..1FE7 ; Changes_When_Uppercased # L& [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FF2..1FF4 ; Changes_When_Uppercased # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FF7 ; Changes_When_Uppercased # L& [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FFC ; Changes_When_Uppercased # L& GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-214E ; Changes_When_Uppercased # L& TURNED SMALL F
-2170..217F ; Changes_When_Uppercased # Nl [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2184 ; Changes_When_Uppercased # L& LATIN SMALL LETTER REVERSED C
-24D0..24E9 ; Changes_When_Uppercased # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C30..2C5E ; Changes_When_Uppercased # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C61 ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH DOUBLE BAR
-2C65..2C66 ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C68 ; Changes_When_Uppercased # L& LATIN SMALL LETTER H WITH DESCENDER
-2C6A ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH DESCENDER
-2C6C ; Changes_When_Uppercased # L& LATIN SMALL LETTER Z WITH DESCENDER
-2C73 ; Changes_When_Uppercased # L& LATIN SMALL LETTER W WITH HOOK
-2C76 ; Changes_When_Uppercased # L& LATIN SMALL LETTER HALF H
-2C81 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER ALFA
-2C83 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER VIDA
-2C85 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER GAMMA
-2C87 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER DALDA
-2C89 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER EIE
-2C8B ; Changes_When_Uppercased # L& COPTIC SMALL LETTER SOU
-2C8D ; Changes_When_Uppercased # L& COPTIC SMALL LETTER ZATA
-2C8F ; Changes_When_Uppercased # L& COPTIC SMALL LETTER HATE
-2C91 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER THETHE
-2C93 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER IAUDA
-2C95 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER KAPA
-2C97 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER LAULA
-2C99 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER MI
-2C9B ; Changes_When_Uppercased # L& COPTIC SMALL LETTER NI
-2C9D ; Changes_When_Uppercased # L& COPTIC SMALL LETTER KSI
-2C9F ; Changes_When_Uppercased # L& COPTIC SMALL LETTER O
-2CA1 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER PI
-2CA3 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER RO
-2CA5 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER SIMA
-2CA7 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER TAU
-2CA9 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER UA
-2CAB ; Changes_When_Uppercased # L& COPTIC SMALL LETTER FI
-2CAD ; Changes_When_Uppercased # L& COPTIC SMALL LETTER KHI
-2CAF ; Changes_When_Uppercased # L& COPTIC SMALL LETTER PSI
-2CB1 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OOU
-2CB3 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER DIALECT-P ALEF
-2CB5 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC AIN
-2CB7 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB9 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER DIALECT-P KAPA
-2CBB ; Changes_When_Uppercased # L& COPTIC SMALL LETTER DIALECT-P NI
-2CBD ; Changes_When_Uppercased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBF ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC OOU
-2CC1 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER SAMPI
-2CC3 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER CROSSED SHEI
-2CC5 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC7 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC ESH
-2CC9 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCB ; Changes_When_Uppercased # L& COPTIC SMALL LETTER DIALECT-P HORI
-2CCD ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC HORI
-2CCF ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC HA
-2CD1 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER L-SHAPED HA
-2CD3 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC HEI
-2CD5 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC HAT
-2CD7 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD9 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC DJA
-2CDB ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDD ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDF ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE1 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE3 ; Changes_When_Uppercased # L& COPTIC SMALL LETTER OLD NUBIAN WAU
-2CEC ; Changes_When_Uppercased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEE ; Changes_When_Uppercased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Changes_When_Uppercased # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A641 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZEMLYA
-A643 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DZELO
-A645 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER REVERSED DZE
-A647 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTA
-A649 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DJERV
-A64B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER MONOGRAPH UK
-A64D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BROAD OMEGA
-A64F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER NEUTRAL YER
-A651 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER YERU WITH BACK YER
-A653 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTIFIED YAT
-A655 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER REVERSED YU
-A657 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTIFIED A
-A659 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BLENDED YUS
-A65D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER YN
-A663 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SOFT DE
-A665 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SOFT EL
-A667 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SOFT EM
-A669 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER MONOCULAR O
-A66B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER BINOCULAR O
-A66D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A681 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DWE
-A683 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DZWE
-A685 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER ZHWE
-A687 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER CCHE
-A689 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DZZE
-A68B ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER TWE
-A68F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER TSWE
-A691 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER TSSE
-A693 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER TCHE
-A695 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER HWE
-A697 ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER SHWE
-A723 ; Changes_When_Uppercased # L& LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A725 ; Changes_When_Uppercased # L& LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A727 ; Changes_When_Uppercased # L& LATIN SMALL LETTER HENG
-A729 ; Changes_When_Uppercased # L& LATIN SMALL LETTER TZ
-A72B ; Changes_When_Uppercased # L& LATIN SMALL LETTER TRESILLO
-A72D ; Changes_When_Uppercased # L& LATIN SMALL LETTER CUATRILLO
-A72F ; Changes_When_Uppercased # L& LATIN SMALL LETTER CUATRILLO WITH COMMA
-A733 ; Changes_When_Uppercased # L& LATIN SMALL LETTER AA
-A735 ; Changes_When_Uppercased # L& LATIN SMALL LETTER AO
-A737 ; Changes_When_Uppercased # L& LATIN SMALL LETTER AU
-A739 ; Changes_When_Uppercased # L& LATIN SMALL LETTER AV
-A73B ; Changes_When_Uppercased # L& LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73D ; Changes_When_Uppercased # L& LATIN SMALL LETTER AY
-A73F ; Changes_When_Uppercased # L& LATIN SMALL LETTER REVERSED C WITH DOT
-A741 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH STROKE
-A743 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A745 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A747 ; Changes_When_Uppercased # L& LATIN SMALL LETTER BROKEN L
-A749 ; Changes_When_Uppercased # L& LATIN SMALL LETTER L WITH HIGH STROKE
-A74B ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74D ; Changes_When_Uppercased # L& LATIN SMALL LETTER O WITH LOOP
-A74F ; Changes_When_Uppercased # L& LATIN SMALL LETTER OO
-A751 ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A753 ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH FLOURISH
-A755 ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A757 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; Changes_When_Uppercased # L& LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75B ; Changes_When_Uppercased # L& LATIN SMALL LETTER R ROTUNDA
-A75D ; Changes_When_Uppercased # L& LATIN SMALL LETTER RUM ROTUNDA
-A75F ; Changes_When_Uppercased # L& LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A761 ; Changes_When_Uppercased # L& LATIN SMALL LETTER VY
-A763 ; Changes_When_Uppercased # L& LATIN SMALL LETTER VISIGOTHIC Z
-A765 ; Changes_When_Uppercased # L& LATIN SMALL LETTER THORN WITH STROKE
-A767 ; Changes_When_Uppercased # L& LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A769 ; Changes_When_Uppercased # L& LATIN SMALL LETTER VEND
-A76B ; Changes_When_Uppercased # L& LATIN SMALL LETTER ET
-A76D ; Changes_When_Uppercased # L& LATIN SMALL LETTER IS
-A76F ; Changes_When_Uppercased # L& LATIN SMALL LETTER CON
-A77A ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR D
-A77C ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR F
-A77F ; Changes_When_Uppercased # L& LATIN SMALL LETTER TURNED INSULAR G
-A781 ; Changes_When_Uppercased # L& LATIN SMALL LETTER TURNED L
-A783 ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR R
-A785 ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR S
-A787 ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR T
-A78C ; Changes_When_Uppercased # L& LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Changes_When_Uppercased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Changes_When_Uppercased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10428..1044F ; Changes_When_Uppercased # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
-
-# Total code points: 1112
-
-# ================================================
-
-# Derived Property: Changes_When_Titlecased (CWT)
-# Characters whose normalized forms are not stable under a toTitlecase mapping.
-# For more information, see D126 in Section 3.13, "Default Case Algorithms".
-# Changes_When_Titlecased(X) is true when toTitlecase(toNFD(X)) != toNFD(X)
-
-0061..007A ; Changes_When_Titlecased # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00B5 ; Changes_When_Titlecased # L& MICRO SIGN
-00DF..00F6 ; Changes_When_Titlecased # L& [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..00FF ; Changes_When_Titlecased # L& [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
-0101 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH MACRON
-0103 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH BREVE
-0105 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH OGONEK
-0107 ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH ACUTE
-0109 ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH CIRCUMFLEX
-010B ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH DOT ABOVE
-010D ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH CARON
-010F ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH CARON
-0111 ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH STROKE
-0113 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH MACRON
-0115 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH BREVE
-0117 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH DOT ABOVE
-0119 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH OGONEK
-011B ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CARON
-011D ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH CIRCUMFLEX
-011F ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH BREVE
-0121 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH DOT ABOVE
-0123 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH CEDILLA
-0125 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH CIRCUMFLEX
-0127 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH STROKE
-0129 ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH TILDE
-012B ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH MACRON
-012D ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH BREVE
-012F ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH OGONEK
-0131 ; Changes_When_Titlecased # L& LATIN SMALL LETTER DOTLESS I
-0133 ; Changes_When_Titlecased # L& LATIN SMALL LIGATURE IJ
-0135 ; Changes_When_Titlecased # L& LATIN SMALL LETTER J WITH CIRCUMFLEX
-0137 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH CEDILLA
-013A ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH ACUTE
-013C ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH CEDILLA
-013E ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH CARON
-0140 ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH MIDDLE DOT
-0142 ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH STROKE
-0144 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH ACUTE
-0146 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH CEDILLA
-0148..0149 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014B ; Changes_When_Titlecased # L& LATIN SMALL LETTER ENG
-014D ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH MACRON
-014F ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH BREVE
-0151 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0153 ; Changes_When_Titlecased # L& LATIN SMALL LIGATURE OE
-0155 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH ACUTE
-0157 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH CEDILLA
-0159 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH CARON
-015B ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH ACUTE
-015D ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH CIRCUMFLEX
-015F ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH CEDILLA
-0161 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH CARON
-0163 ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH CEDILLA
-0165 ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH CARON
-0167 ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH STROKE
-0169 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH TILDE
-016B ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH MACRON
-016D ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH BREVE
-016F ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH RING ABOVE
-0171 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0173 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH OGONEK
-0175 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH CIRCUMFLEX
-0177 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH CIRCUMFLEX
-017A ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH ACUTE
-017C ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH DOT ABOVE
-017E..0180 ; Changes_When_Titlecased # L& [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
-0183 ; Changes_When_Titlecased # L& LATIN SMALL LETTER B WITH TOPBAR
-0185 ; Changes_When_Titlecased # L& LATIN SMALL LETTER TONE SIX
-0188 ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH HOOK
-018C ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH TOPBAR
-0192 ; Changes_When_Titlecased # L& LATIN SMALL LETTER F WITH HOOK
-0195 ; Changes_When_Titlecased # L& LATIN SMALL LETTER HV
-0199..019A ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER L WITH BAR
-019E ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH LONG RIGHT LEG
-01A1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HORN
-01A3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER OI
-01A5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH HOOK
-01A8 ; Changes_When_Titlecased # L& LATIN SMALL LETTER TONE TWO
-01AD ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH HOOK
-01B0 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HORN
-01B4 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH HOOK
-01B6 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH STROKE
-01B9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER EZH REVERSED
-01BD ; Changes_When_Titlecased # L& LATIN SMALL LETTER TONE FIVE
-01BF ; Changes_When_Titlecased # L& LATIN LETTER WYNN
-01C4 ; Changes_When_Titlecased # L& LATIN CAPITAL LETTER DZ WITH CARON
-01C6..01C7 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER DZ WITH CARON..LATIN CAPITAL LETTER LJ
-01C9..01CA ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER LJ..LATIN CAPITAL LETTER NJ
-01CC ; Changes_When_Titlecased # L& LATIN SMALL LETTER NJ
-01CE ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH CARON
-01D0 ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH CARON
-01D2 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH CARON
-01D4 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH CARON
-01D6 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D8 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01DA ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DC..01DD ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
-01DF ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER AE WITH MACRON
-01E5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH STROKE
-01E7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH CARON
-01E9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH CARON
-01EB ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH OGONEK
-01ED ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EF..01F1 ; Changes_When_Titlecased # L& [3] LATIN SMALL LETTER EZH WITH CARON..LATIN CAPITAL LETTER DZ
-01F3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER DZ
-01F5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH ACUTE
-01F9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH GRAVE
-01FB ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FD ; Changes_When_Titlecased # L& LATIN SMALL LETTER AE WITH ACUTE
-01FF ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0201 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0203 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH INVERTED BREVE
-0205 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0207 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH INVERTED BREVE
-0209 ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020B ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH INVERTED BREVE
-020D ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020F ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH INVERTED BREVE
-0211 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0213 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH INVERTED BREVE
-0215 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0217 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH INVERTED BREVE
-0219 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH COMMA BELOW
-021B ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH COMMA BELOW
-021D ; Changes_When_Titlecased # L& LATIN SMALL LETTER YOGH
-021F ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH CARON
-0223 ; Changes_When_Titlecased # L& LATIN SMALL LETTER OU
-0225 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH HOOK
-0227 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH DOT ABOVE
-0229 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CEDILLA
-022B ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022D ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH TILDE AND MACRON
-022F ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH DOT ABOVE
-0231 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0233 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH MACRON
-023C ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH STROKE
-023F..0240 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
-0242 ; Changes_When_Titlecased # L& LATIN SMALL LETTER GLOTTAL STOP
-0247 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH STROKE
-0249 ; Changes_When_Titlecased # L& LATIN SMALL LETTER J WITH STROKE
-024B ; Changes_When_Titlecased # L& LATIN SMALL LETTER Q WITH HOOK TAIL
-024D ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH STROKE
-024F..0254 ; Changes_When_Titlecased # L& [6] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER OPEN O
-0256..0257 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER D WITH TAIL..LATIN SMALL LETTER D WITH HOOK
-0259 ; Changes_When_Titlecased # L& LATIN SMALL LETTER SCHWA
-025B ; Changes_When_Titlecased # L& LATIN SMALL LETTER OPEN E
-0260 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH HOOK
-0263 ; Changes_When_Titlecased # L& LATIN SMALL LETTER GAMMA
-0268..0269 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
-026B ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH MIDDLE TILDE
-026F ; Changes_When_Titlecased # L& LATIN SMALL LETTER TURNED M
-0271..0272 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER M WITH HOOK..LATIN SMALL LETTER N WITH LEFT HOOK
-0275 ; Changes_When_Titlecased # L& LATIN SMALL LETTER BARRED O
-027D ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH TAIL
-0280 ; Changes_When_Titlecased # L& LATIN LETTER SMALL CAPITAL R
-0283 ; Changes_When_Titlecased # L& LATIN SMALL LETTER ESH
-0288..028C ; Changes_When_Titlecased # L& [5] LATIN SMALL LETTER T WITH RETROFLEX HOOK..LATIN SMALL LETTER TURNED V
-0292 ; Changes_When_Titlecased # L& LATIN SMALL LETTER EZH
-0345 ; Changes_When_Titlecased # Mn COMBINING GREEK YPOGEGRAMMENI
-0371 ; Changes_When_Titlecased # L& GREEK SMALL LETTER HETA
-0373 ; Changes_When_Titlecased # L& GREEK SMALL LETTER ARCHAIC SAMPI
-0377 ; Changes_When_Titlecased # L& GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037B..037D ; Changes_When_Titlecased # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0390 ; Changes_When_Titlecased # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AC..03CE ; Changes_When_Titlecased # L& [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D1 ; Changes_When_Titlecased # L& [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
-03D5..03D7 ; Changes_When_Titlecased # L& [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
-03D9 ; Changes_When_Titlecased # L& GREEK SMALL LETTER ARCHAIC KOPPA
-03DB ; Changes_When_Titlecased # L& GREEK SMALL LETTER STIGMA
-03DD ; Changes_When_Titlecased # L& GREEK SMALL LETTER DIGAMMA
-03DF ; Changes_When_Titlecased # L& GREEK SMALL LETTER KOPPA
-03E1 ; Changes_When_Titlecased # L& GREEK SMALL LETTER SAMPI
-03E3 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER SHEI
-03E5 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER FEI
-03E7 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER KHEI
-03E9 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER HORI
-03EB ; Changes_When_Titlecased # L& COPTIC SMALL LETTER GANGIA
-03ED ; Changes_When_Titlecased # L& COPTIC SMALL LETTER SHIMA
-03EF..03F2 ; Changes_When_Titlecased # L& [4] COPTIC SMALL LETTER DEI..GREEK LUNATE SIGMA SYMBOL
-03F5 ; Changes_When_Titlecased # L& GREEK LUNATE EPSILON SYMBOL
-03F8 ; Changes_When_Titlecased # L& GREEK SMALL LETTER SHO
-03FB ; Changes_When_Titlecased # L& GREEK SMALL LETTER SAN
-0430..045F ; Changes_When_Titlecased # L& [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
-0461 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER OMEGA
-0463 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER YAT
-0465 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTIFIED E
-0467 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER LITTLE YUS
-0469 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BIG YUS
-046D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KSI
-0471 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER PSI
-0473 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER FITA
-0475 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IZHITSA
-0477 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0479 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER UK
-047B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ROUND OMEGA
-047D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER OT
-0481 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOPPA
-048B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SEMISOFT SIGN
-048F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ER WITH TICK
-0491 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER GHE WITH UPTURN
-0493 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER GHE WITH STROKE
-0495 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0497 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0499 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KA WITH DESCENDER
-049D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KA WITH STROKE
-04A1 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BASHKIR KA
-04A3 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A5 ; Changes_When_Titlecased # L& CYRILLIC SMALL LIGATURE EN GHE
-04A7 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A9 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ABKHASIAN HA
-04AB ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AD ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AF ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER STRAIGHT U
-04B1 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B3 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B5 ; Changes_When_Titlecased # L& CYRILLIC SMALL LIGATURE TE TSE
-04B7 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B9 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BB ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SHHA
-04BD ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BF ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C2 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C4 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KA WITH HOOK
-04C6 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EL WITH TAIL
-04C8 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EN WITH HOOK
-04CA ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EN WITH TAIL
-04CC ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CE..04CF ; Changes_When_Titlecased # L& [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
-04D1 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER A WITH BREVE
-04D3 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D5 ; Changes_When_Titlecased # L& CYRILLIC SMALL LIGATURE A IE
-04D7 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IE WITH BREVE
-04D9 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SCHWA
-04DB ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DD ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DF ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E1 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E3 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER I WITH MACRON
-04E5 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E7 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E9 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BARRED O
-04EB ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04ED ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EF ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER U WITH MACRON
-04F1 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F3 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F5 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F7 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F9 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FB ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FD ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER HA WITH HOOK
-04FF ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER HA WITH STROKE
-0501 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI DE
-0503 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI DJE
-0505 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI ZJE
-0507 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI DZJE
-0509 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI LJE
-050B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI NJE
-050D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI SJE
-050F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER KOMI TJE
-0511 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER REVERSED ZE
-0513 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EL WITH HOOK
-0515 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER LHA
-0517 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER RHA
-0519 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER YAE
-051B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER QA
-051D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER WE
-051F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ALEUT KA
-0521 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0523 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0525 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER PE WITH DESCENDER
-0561..0587 ; Changes_When_Titlecased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-1D79 ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR G
-1D7D ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH STROKE
-1E01 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH RING BELOW
-1E03 ; Changes_When_Titlecased # L& LATIN SMALL LETTER B WITH DOT ABOVE
-1E05 ; Changes_When_Titlecased # L& LATIN SMALL LETTER B WITH DOT BELOW
-1E07 ; Changes_When_Titlecased # L& LATIN SMALL LETTER B WITH LINE BELOW
-1E09 ; Changes_When_Titlecased # L& LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0B ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH DOT ABOVE
-1E0D ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH DOT BELOW
-1E0F ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH LINE BELOW
-1E11 ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH CEDILLA
-1E13 ; Changes_When_Titlecased # L& LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E15 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E17 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E19 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1B ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH TILDE BELOW
-1E1D ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1F ; Changes_When_Titlecased # L& LATIN SMALL LETTER F WITH DOT ABOVE
-1E21 ; Changes_When_Titlecased # L& LATIN SMALL LETTER G WITH MACRON
-1E23 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH DOT ABOVE
-1E25 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH DOT BELOW
-1E27 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH DIAERESIS
-1E29 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH CEDILLA
-1E2B ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH BREVE BELOW
-1E2D ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH TILDE BELOW
-1E2F ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E31 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH ACUTE
-1E33 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH DOT BELOW
-1E35 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH LINE BELOW
-1E37 ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH DOT BELOW
-1E39 ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3B ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH LINE BELOW
-1E3D ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3F ; Changes_When_Titlecased # L& LATIN SMALL LETTER M WITH ACUTE
-1E41 ; Changes_When_Titlecased # L& LATIN SMALL LETTER M WITH DOT ABOVE
-1E43 ; Changes_When_Titlecased # L& LATIN SMALL LETTER M WITH DOT BELOW
-1E45 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH DOT ABOVE
-1E47 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH DOT BELOW
-1E49 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH LINE BELOW
-1E4B ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4D ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4F ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E51 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E53 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E55 ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH ACUTE
-1E57 ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH DOT ABOVE
-1E59 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH DOT ABOVE
-1E5B ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH DOT BELOW
-1E5D ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5F ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH LINE BELOW
-1E61 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH DOT ABOVE
-1E63 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH DOT BELOW
-1E65 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E67 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E69 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6B ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH DOT ABOVE
-1E6D ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH DOT BELOW
-1E6F ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH LINE BELOW
-1E71 ; Changes_When_Titlecased # L& LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E73 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E75 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH TILDE BELOW
-1E77 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E79 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7B ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7D ; Changes_When_Titlecased # L& LATIN SMALL LETTER V WITH TILDE
-1E7F ; Changes_When_Titlecased # L& LATIN SMALL LETTER V WITH DOT BELOW
-1E81 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH GRAVE
-1E83 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH ACUTE
-1E85 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH DIAERESIS
-1E87 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH DOT ABOVE
-1E89 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH DOT BELOW
-1E8B ; Changes_When_Titlecased # L& LATIN SMALL LETTER X WITH DOT ABOVE
-1E8D ; Changes_When_Titlecased # L& LATIN SMALL LETTER X WITH DIAERESIS
-1E8F ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH DOT ABOVE
-1E91 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E93 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH DOT BELOW
-1E95..1E9B ; Changes_When_Titlecased # L& [7] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH DOT BELOW
-1EA3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAB ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAD ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAF ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH DOT BELOW
-1EBB ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBD ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH TILDE
-1EBF ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECB ; Changes_When_Titlecased # L& LATIN SMALL LETTER I WITH DOT BELOW
-1ECD ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH DOT BELOW
-1ECF ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDB ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDD ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDF ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH DOT BELOW
-1EE7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEB ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EED ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEF ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF1 ; Changes_When_Titlecased # L& LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH GRAVE
-1EF5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH DOT BELOW
-1EF7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Y WITH TILDE
-1EFB ; Changes_When_Titlecased # L& LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFD ; Changes_When_Titlecased # L& LATIN SMALL LETTER MIDDLE-WELSH V
-1EFF..1F07 ; Changes_When_Titlecased # L& [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10..1F15 ; Changes_When_Titlecased # L& [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F27 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30..1F37 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40..1F45 ; Changes_When_Titlecased # L& [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60..1F67 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70..1F7D ; Changes_When_Titlecased # L& [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1F87 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F90..1F97 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA0..1FA7 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FB0..1FB4 ; Changes_When_Titlecased # L& [5] GREEK SMALL LETTER ALPHA WITH VRACHY..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FB7 ; Changes_When_Titlecased # L& [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FBE ; Changes_When_Titlecased # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Changes_When_Titlecased # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FC7 ; Changes_When_Titlecased # L& [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FD0..1FD3 ; Changes_When_Titlecased # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FD7 ; Changes_When_Titlecased # L& [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FE0..1FE7 ; Changes_When_Titlecased # L& [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FF2..1FF4 ; Changes_When_Titlecased # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FF7 ; Changes_When_Titlecased # L& [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-214E ; Changes_When_Titlecased # L& TURNED SMALL F
-2170..217F ; Changes_When_Titlecased # Nl [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2184 ; Changes_When_Titlecased # L& LATIN SMALL LETTER REVERSED C
-24D0..24E9 ; Changes_When_Titlecased # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C30..2C5E ; Changes_When_Titlecased # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C61 ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH DOUBLE BAR
-2C65..2C66 ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C68 ; Changes_When_Titlecased # L& LATIN SMALL LETTER H WITH DESCENDER
-2C6A ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH DESCENDER
-2C6C ; Changes_When_Titlecased # L& LATIN SMALL LETTER Z WITH DESCENDER
-2C73 ; Changes_When_Titlecased # L& LATIN SMALL LETTER W WITH HOOK
-2C76 ; Changes_When_Titlecased # L& LATIN SMALL LETTER HALF H
-2C81 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER ALFA
-2C83 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER VIDA
-2C85 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER GAMMA
-2C87 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER DALDA
-2C89 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER EIE
-2C8B ; Changes_When_Titlecased # L& COPTIC SMALL LETTER SOU
-2C8D ; Changes_When_Titlecased # L& COPTIC SMALL LETTER ZATA
-2C8F ; Changes_When_Titlecased # L& COPTIC SMALL LETTER HATE
-2C91 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER THETHE
-2C93 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER IAUDA
-2C95 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER KAPA
-2C97 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER LAULA
-2C99 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER MI
-2C9B ; Changes_When_Titlecased # L& COPTIC SMALL LETTER NI
-2C9D ; Changes_When_Titlecased # L& COPTIC SMALL LETTER KSI
-2C9F ; Changes_When_Titlecased # L& COPTIC SMALL LETTER O
-2CA1 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER PI
-2CA3 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER RO
-2CA5 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER SIMA
-2CA7 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER TAU
-2CA9 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER UA
-2CAB ; Changes_When_Titlecased # L& COPTIC SMALL LETTER FI
-2CAD ; Changes_When_Titlecased # L& COPTIC SMALL LETTER KHI
-2CAF ; Changes_When_Titlecased # L& COPTIC SMALL LETTER PSI
-2CB1 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OOU
-2CB3 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER DIALECT-P ALEF
-2CB5 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC AIN
-2CB7 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB9 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER DIALECT-P KAPA
-2CBB ; Changes_When_Titlecased # L& COPTIC SMALL LETTER DIALECT-P NI
-2CBD ; Changes_When_Titlecased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBF ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC OOU
-2CC1 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER SAMPI
-2CC3 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER CROSSED SHEI
-2CC5 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC7 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC ESH
-2CC9 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCB ; Changes_When_Titlecased # L& COPTIC SMALL LETTER DIALECT-P HORI
-2CCD ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC HORI
-2CCF ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC HA
-2CD1 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER L-SHAPED HA
-2CD3 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC HEI
-2CD5 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC HAT
-2CD7 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD9 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC DJA
-2CDB ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDD ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDF ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE1 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE3 ; Changes_When_Titlecased # L& COPTIC SMALL LETTER OLD NUBIAN WAU
-2CEC ; Changes_When_Titlecased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEE ; Changes_When_Titlecased # L& COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Changes_When_Titlecased # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A641 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZEMLYA
-A643 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DZELO
-A645 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER REVERSED DZE
-A647 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTA
-A649 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DJERV
-A64B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER MONOGRAPH UK
-A64D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BROAD OMEGA
-A64F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER NEUTRAL YER
-A651 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER YERU WITH BACK YER
-A653 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTIFIED YAT
-A655 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER REVERSED YU
-A657 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTIFIED A
-A659 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BLENDED YUS
-A65D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER YN
-A663 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SOFT DE
-A665 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SOFT EL
-A667 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SOFT EM
-A669 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER MONOCULAR O
-A66B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER BINOCULAR O
-A66D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A681 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DWE
-A683 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DZWE
-A685 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER ZHWE
-A687 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER CCHE
-A689 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DZZE
-A68B ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER TWE
-A68F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER TSWE
-A691 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER TSSE
-A693 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER TCHE
-A695 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER HWE
-A697 ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER SHWE
-A723 ; Changes_When_Titlecased # L& LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A725 ; Changes_When_Titlecased # L& LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A727 ; Changes_When_Titlecased # L& LATIN SMALL LETTER HENG
-A729 ; Changes_When_Titlecased # L& LATIN SMALL LETTER TZ
-A72B ; Changes_When_Titlecased # L& LATIN SMALL LETTER TRESILLO
-A72D ; Changes_When_Titlecased # L& LATIN SMALL LETTER CUATRILLO
-A72F ; Changes_When_Titlecased # L& LATIN SMALL LETTER CUATRILLO WITH COMMA
-A733 ; Changes_When_Titlecased # L& LATIN SMALL LETTER AA
-A735 ; Changes_When_Titlecased # L& LATIN SMALL LETTER AO
-A737 ; Changes_When_Titlecased # L& LATIN SMALL LETTER AU
-A739 ; Changes_When_Titlecased # L& LATIN SMALL LETTER AV
-A73B ; Changes_When_Titlecased # L& LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73D ; Changes_When_Titlecased # L& LATIN SMALL LETTER AY
-A73F ; Changes_When_Titlecased # L& LATIN SMALL LETTER REVERSED C WITH DOT
-A741 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH STROKE
-A743 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A745 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A747 ; Changes_When_Titlecased # L& LATIN SMALL LETTER BROKEN L
-A749 ; Changes_When_Titlecased # L& LATIN SMALL LETTER L WITH HIGH STROKE
-A74B ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74D ; Changes_When_Titlecased # L& LATIN SMALL LETTER O WITH LOOP
-A74F ; Changes_When_Titlecased # L& LATIN SMALL LETTER OO
-A751 ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A753 ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH FLOURISH
-A755 ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A757 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; Changes_When_Titlecased # L& LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75B ; Changes_When_Titlecased # L& LATIN SMALL LETTER R ROTUNDA
-A75D ; Changes_When_Titlecased # L& LATIN SMALL LETTER RUM ROTUNDA
-A75F ; Changes_When_Titlecased # L& LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A761 ; Changes_When_Titlecased # L& LATIN SMALL LETTER VY
-A763 ; Changes_When_Titlecased # L& LATIN SMALL LETTER VISIGOTHIC Z
-A765 ; Changes_When_Titlecased # L& LATIN SMALL LETTER THORN WITH STROKE
-A767 ; Changes_When_Titlecased # L& LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A769 ; Changes_When_Titlecased # L& LATIN SMALL LETTER VEND
-A76B ; Changes_When_Titlecased # L& LATIN SMALL LETTER ET
-A76D ; Changes_When_Titlecased # L& LATIN SMALL LETTER IS
-A76F ; Changes_When_Titlecased # L& LATIN SMALL LETTER CON
-A77A ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR D
-A77C ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR F
-A77F ; Changes_When_Titlecased # L& LATIN SMALL LETTER TURNED INSULAR G
-A781 ; Changes_When_Titlecased # L& LATIN SMALL LETTER TURNED L
-A783 ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR R
-A785 ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR S
-A787 ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR T
-A78C ; Changes_When_Titlecased # L& LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Changes_When_Titlecased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Changes_When_Titlecased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF41..FF5A ; Changes_When_Titlecased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10428..1044F ; Changes_When_Titlecased # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
-
-# Total code points: 1085
-
-# ================================================
-
-# Derived Property: Changes_When_Casefolded (CWCF)
-# Characters whose normalized forms are not stable under case folding.
-# For more information, see D127 in Section 3.13, "Default Case Algorithms".
-# Changes_When_Casefolded(X) is true when toCasefold(toNFD(X)) != toNFD(X)
-
-0041..005A ; Changes_When_Casefolded # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-00B5 ; Changes_When_Casefolded # L& MICRO SIGN
-00C0..00D6 ; Changes_When_Casefolded # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00DF ; Changes_When_Casefolded # L& [8] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER SHARP S
-0100 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH MACRON
-0102 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE
-0104 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER C WITH CARON
-010E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH CARON
-0110 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH STROKE
-0112 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH MACRON
-0114 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH BREVE
-0116 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH OGONEK
-011A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CARON
-011C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH BREVE
-0120 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH STROKE
-0128 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH TILDE
-012A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH MACRON
-012C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH BREVE
-012E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132 ; Changes_When_Casefolded # L& LATIN CAPITAL LIGATURE IJ
-0134 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH ACUTE
-013B ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH CARON
-013F ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0141 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH STROKE
-0143 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH CARON
-0149..014A ; Changes_When_Casefolded # L& [2] LATIN SMALL LETTER N PRECEDED BY APOSTROPHE..LATIN CAPITAL LETTER ENG
-014C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH MACRON
-014E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH BREVE
-0150 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; Changes_When_Casefolded # L& LATIN CAPITAL LIGATURE OE
-0154 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH CARON
-015A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH ACUTE
-015C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH CARON
-0162 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH CARON
-0166 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH STROKE
-0168 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH TILDE
-016A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH MACRON
-016C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH BREVE
-016E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178..0179 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH CARON
-017F ; Changes_When_Casefolded # L& LATIN SMALL LETTER LONG S
-0181..0182 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER TONE SIX
-0186..0187 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
-0189..018B ; Changes_When_Casefolded # L& [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
-018E..0191 ; Changes_When_Casefolded # L& [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
-0193..0194 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
-0196..0198 ; Changes_When_Casefolded # L& [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
-019C..019D ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F..01A0 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
-01A2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER OI
-01A4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER P WITH HOOK
-01A6..01A7 ; Changes_When_Casefolded # L& [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
-01A9 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER ESH
-01AC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH HOOK
-01AE..01AF ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
-01B1..01B3 ; Changes_When_Casefolded # L& [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH STROKE
-01B7..01B8 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
-01BC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER TONE FIVE
-01C4..01C5 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C7..01C8 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER LJ..LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01CA..01CB ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER NJ..LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CD ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH CARON
-01CF ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH CARON
-01E8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH CARON
-01EA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER EZH WITH CARON
-01F1..01F2 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER DZ..LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH ACUTE
-01F6..01F8 ; Changes_When_Casefolded # L& [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER YOGH
-021E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH CARON
-0220 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER OU
-0224 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH MACRON
-023A..023B ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
-023D..023E ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER GLOTTAL STOP
-0243..0246 ; Changes_When_Casefolded # L& [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
-0248 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER J WITH STROKE
-024A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH STROKE
-024E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH STROKE
-0345 ; Changes_When_Casefolded # Mn COMBINING GREEK YPOGEGRAMMENI
-0370 ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER HETA
-0372 ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER ARCHAIC SAMPI
-0376 ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0386 ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Changes_When_Casefolded # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..038F ; Changes_When_Casefolded # L& [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391..03A1 ; Changes_When_Casefolded # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03AB ; Changes_When_Casefolded # L& [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03C2 ; Changes_When_Casefolded # L& GREEK SMALL LETTER FINAL SIGMA
-03CF..03D1 ; Changes_When_Casefolded # L& [3] GREEK CAPITAL KAI SYMBOL..GREEK THETA SYMBOL
-03D5..03D6 ; Changes_When_Casefolded # L& [2] GREEK PHI SYMBOL..GREEK PI SYMBOL
-03D8 ; Changes_When_Casefolded # L& GREEK LETTER ARCHAIC KOPPA
-03DA ; Changes_When_Casefolded # L& GREEK LETTER STIGMA
-03DC ; Changes_When_Casefolded # L& GREEK LETTER DIGAMMA
-03DE ; Changes_When_Casefolded # L& GREEK LETTER KOPPA
-03E0 ; Changes_When_Casefolded # L& GREEK LETTER SAMPI
-03E2 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER SHEI
-03E4 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER FEI
-03E6 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER KHEI
-03E8 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER HORI
-03EA ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER GANGIA
-03EC ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER SHIMA
-03EE ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER DEI
-03F0..03F1 ; Changes_When_Casefolded # L& [2] GREEK KAPPA SYMBOL..GREEK RHO SYMBOL
-03F4..03F5 ; Changes_When_Casefolded # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F7 ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER SHO
-03F9..03FA ; Changes_When_Casefolded # L& [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
-03FD..042F ; Changes_When_Casefolded # L& [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
-0460 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER OMEGA
-0462 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER YAT
-0464 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BIG YUS
-046C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KSI
-0470 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER PSI
-0472 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER FITA
-0474 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER UK
-047A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER OT
-0480 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOPPA
-048A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SHHA
-04BC ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0..04C1 ; Changes_When_Casefolded # L& [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SCHWA
-04DA ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BARRED O
-04EA ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER LHA
-0516 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER RHA
-0518 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER YAE
-051A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER QA
-051C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER WE
-051E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531..0556 ; Changes_When_Casefolded # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0587 ; Changes_When_Casefolded # L& ARMENIAN SMALL LIGATURE ECH YIWN
-10A0..10C5 ; Changes_When_Casefolded # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1E00 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9A..1E9B ; Changes_When_Casefolded # L& [2] LATIN SMALL LETTER A WITH RIGHT HALF RING..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER SHARP S
-1EA0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Y WITH LOOP
-1F08..1F0F ; Changes_When_Casefolded # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18..1F1D ; Changes_When_Casefolded # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28..1F2F ; Changes_When_Casefolded # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38..1F3F ; Changes_When_Casefolded # L& [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48..1F4D ; Changes_When_Casefolded # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; Changes_When_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68..1F6F ; Changes_When_Casefolded # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F80..1FAF ; Changes_When_Casefolded # L& [48] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB2..1FB4 ; Changes_When_Casefolded # L& [3] GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB7..1FBC ; Changes_When_Casefolded # L& [6] GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FC2..1FC4 ; Changes_When_Casefolded # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC7..1FCC ; Changes_When_Casefolded # L& [6] GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD8..1FDB ; Changes_When_Casefolded # L& [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE8..1FEC ; Changes_When_Casefolded # L& [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; Changes_When_Casefolded # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF7..1FFC ; Changes_When_Casefolded # L& [6] GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2126 ; Changes_When_Casefolded # L& OHM SIGN
-212A..212B ; Changes_When_Casefolded # L& [2] KELVIN SIGN..ANGSTROM SIGN
-2132 ; Changes_When_Casefolded # L& TURNED CAPITAL F
-2160..216F ; Changes_When_Casefolded # Nl [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
-2183 ; Changes_When_Casefolded # L& ROMAN NUMERAL REVERSED ONE HUNDRED
-24B6..24CF ; Changes_When_Casefolded # So [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
-2C00..2C2E ; Changes_When_Casefolded # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62..2C64 ; Changes_When_Casefolded # L& [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D..2C70 ; Changes_When_Casefolded # L& [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER HALF H
-2C7E..2C80 ; Changes_When_Casefolded # L& [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
-2C82 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER VIDA
-2C84 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER GAMMA
-2C86 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER DALDA
-2C88 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER EIE
-2C8A ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER SOU
-2C8C ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER ZATA
-2C8E ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER HATE
-2C90 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER THETHE
-2C92 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER IAUDA
-2C94 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER KAPA
-2C96 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER LAULA
-2C98 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER MI
-2C9A ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER NI
-2C9C ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER KSI
-2C9E ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER O
-2CA0 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER PI
-2CA2 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER RO
-2CA4 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER SIMA
-2CA6 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER TAU
-2CA8 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER UA
-2CAA ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER FI
-2CAC ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER KHI
-2CAE ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER PSI
-2CB0 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OOU
-2CB2 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER SAMPI
-2CC2 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; Changes_When_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-A640 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER DZELO
-A644 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTA
-A648 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER DJERV
-A64A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER YN
-A662 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER DWE
-A682 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER DZWE
-A684 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER ZHWE
-A686 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER CCHE
-A688 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER DZZE
-A68A ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER TWE
-A68E ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER TSWE
-A690 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER TSSE
-A692 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER TCHE
-A694 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER HWE
-A696 ; Changes_When_Casefolded # L& CYRILLIC CAPITAL LETTER SHWE
-A722 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER HENG
-A728 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER TZ
-A72A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER TRESILLO
-A72C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER CUATRILLO
-A72E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AA
-A734 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AO
-A736 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AU
-A738 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AV
-A73A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER AY
-A73E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH STROKE
-A742 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER BROKEN L
-A748 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER O WITH LOOP
-A74E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER OO
-A750 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R ROTUNDA
-A75C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER VY
-A762 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER VEND
-A76A ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER ET
-A76C ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER IS
-A76E ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER CON
-A779 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER INSULAR D
-A77B ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER INSULAR F
-A77D..A77E ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER TURNED L
-A782 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER INSULAR R
-A784 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER INSULAR S
-A786 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER INSULAR T
-A78B ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER SALTILLO
-FB00..FB06 ; Changes_When_Casefolded # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Changes_When_Casefolded # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-10400..10427 ; Changes_When_Casefolded # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
-
-# Total code points: 1093
-
-# ================================================
-
-# Derived Property: Changes_When_Casemapped (CWCM)
-# Characters whose normalized forms are not stable under case mapping.
-# For more information, see D128 in Section 3.13, "Default Case Algorithms".
-# Changes_When_Casemapped(X) is true when CWL(X), or CWT(X), or CWU(X)
-
-0041..005A ; Changes_When_Casemapped # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; Changes_When_Casemapped # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00B5 ; Changes_When_Casemapped # L& MICRO SIGN
-00C0..00D6 ; Changes_When_Casemapped # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; Changes_When_Casemapped # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..0137 ; Changes_When_Casemapped # L& [64] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER K WITH CEDILLA
-0139..018C ; Changes_When_Casemapped # L& [84] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER D WITH TOPBAR
-018E..019A ; Changes_When_Casemapped # L& [13] LATIN CAPITAL LETTER REVERSED E..LATIN SMALL LETTER L WITH BAR
-019C..01A9 ; Changes_When_Casemapped # L& [14] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER ESH
-01AC..01B9 ; Changes_When_Casemapped # L& [14] LATIN CAPITAL LETTER T WITH HOOK..LATIN SMALL LETTER EZH REVERSED
-01BC..01BD ; Changes_When_Casemapped # L& [2] LATIN CAPITAL LETTER TONE FIVE..LATIN SMALL LETTER TONE FIVE
-01BF ; Changes_When_Casemapped # L& LATIN LETTER WYNN
-01C4..0220 ; Changes_When_Casemapped # L& [93] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222..0233 ; Changes_When_Casemapped # L& [18] LATIN CAPITAL LETTER OU..LATIN SMALL LETTER Y WITH MACRON
-023A..0254 ; Changes_When_Casemapped # L& [27] LATIN CAPITAL LETTER A WITH STROKE..LATIN SMALL LETTER OPEN O
-0256..0257 ; Changes_When_Casemapped # L& [2] LATIN SMALL LETTER D WITH TAIL..LATIN SMALL LETTER D WITH HOOK
-0259 ; Changes_When_Casemapped # L& LATIN SMALL LETTER SCHWA
-025B ; Changes_When_Casemapped # L& LATIN SMALL LETTER OPEN E
-0260 ; Changes_When_Casemapped # L& LATIN SMALL LETTER G WITH HOOK
-0263 ; Changes_When_Casemapped # L& LATIN SMALL LETTER GAMMA
-0268..0269 ; Changes_When_Casemapped # L& [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
-026B ; Changes_When_Casemapped # L& LATIN SMALL LETTER L WITH MIDDLE TILDE
-026F ; Changes_When_Casemapped # L& LATIN SMALL LETTER TURNED M
-0271..0272 ; Changes_When_Casemapped # L& [2] LATIN SMALL LETTER M WITH HOOK..LATIN SMALL LETTER N WITH LEFT HOOK
-0275 ; Changes_When_Casemapped # L& LATIN SMALL LETTER BARRED O
-027D ; Changes_When_Casemapped # L& LATIN SMALL LETTER R WITH TAIL
-0280 ; Changes_When_Casemapped # L& LATIN LETTER SMALL CAPITAL R
-0283 ; Changes_When_Casemapped # L& LATIN SMALL LETTER ESH
-0288..028C ; Changes_When_Casemapped # L& [5] LATIN SMALL LETTER T WITH RETROFLEX HOOK..LATIN SMALL LETTER TURNED V
-0292 ; Changes_When_Casemapped # L& LATIN SMALL LETTER EZH
-0345 ; Changes_When_Casemapped # Mn COMBINING GREEK YPOGEGRAMMENI
-0370..0373 ; Changes_When_Casemapped # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0376..0377 ; Changes_When_Casemapped # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037B..037D ; Changes_When_Casemapped # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; Changes_When_Casemapped # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Changes_When_Casemapped # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Changes_When_Casemapped # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; Changes_When_Casemapped # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03D1 ; Changes_When_Casemapped # L& [47] GREEK CAPITAL LETTER SIGMA..GREEK THETA SYMBOL
-03D5..03F2 ; Changes_When_Casemapped # L& [30] GREEK PHI SYMBOL..GREEK LUNATE SIGMA SYMBOL
-03F4..03F5 ; Changes_When_Casemapped # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F7..03FB ; Changes_When_Casemapped # L& [5] GREEK CAPITAL LETTER SHO..GREEK SMALL LETTER SAN
-03FD..0481 ; Changes_When_Casemapped # L& [133] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC SMALL LETTER KOPPA
-048A..0525 ; Changes_When_Casemapped # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; Changes_When_Casemapped # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0561..0587 ; Changes_When_Casemapped # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-10A0..10C5 ; Changes_When_Casemapped # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1D79 ; Changes_When_Casemapped # L& LATIN SMALL LETTER INSULAR G
-1D7D ; Changes_When_Casemapped # L& LATIN SMALL LETTER P WITH STROKE
-1E00..1E9B ; Changes_When_Casemapped # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9E ; Changes_When_Casemapped # L& LATIN CAPITAL LETTER SHARP S
-1EA0..1F15 ; Changes_When_Casemapped # L& [118] LATIN CAPITAL LETTER A WITH DOT BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Changes_When_Casemapped # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Changes_When_Casemapped # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Changes_When_Casemapped # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Changes_When_Casemapped # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Changes_When_Casemapped # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Changes_When_Casemapped # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Changes_When_Casemapped # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Changes_When_Casemapped # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Changes_When_Casemapped # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Changes_When_Casemapped # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; Changes_When_Casemapped # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Changes_When_Casemapped # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Changes_When_Casemapped # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; Changes_When_Casemapped # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Changes_When_Casemapped # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; Changes_When_Casemapped # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; Changes_When_Casemapped # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Changes_When_Casemapped # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2126 ; Changes_When_Casemapped # L& OHM SIGN
-212A..212B ; Changes_When_Casemapped # L& [2] KELVIN SIGN..ANGSTROM SIGN
-2132 ; Changes_When_Casemapped # L& TURNED CAPITAL F
-214E ; Changes_When_Casemapped # L& TURNED SMALL F
-2160..217F ; Changes_When_Casemapped # Nl [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2183..2184 ; Changes_When_Casemapped # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-24B6..24E9 ; Changes_When_Casemapped # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C00..2C2E ; Changes_When_Casemapped # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; Changes_When_Casemapped # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C70 ; Changes_When_Casemapped # L& [17] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN CAPITAL LETTER TURNED ALPHA
-2C72..2C73 ; Changes_When_Casemapped # L& [2] LATIN CAPITAL LETTER W WITH HOOK..LATIN SMALL LETTER W WITH HOOK
-2C75..2C76 ; Changes_When_Casemapped # L& [2] LATIN CAPITAL LETTER HALF H..LATIN SMALL LETTER HALF H
-2C7E..2CE3 ; Changes_When_Casemapped # L& [102] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SMALL LETTER OLD NUBIAN WAU
-2CEB..2CEE ; Changes_When_Casemapped # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Changes_When_Casemapped # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A640..A65F ; Changes_When_Casemapped # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; Changes_When_Casemapped # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A680..A697 ; Changes_When_Casemapped # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A722..A72F ; Changes_When_Casemapped # L& [14] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CUATRILLO WITH COMMA
-A732..A76F ; Changes_When_Casemapped # L& [62] LATIN CAPITAL LETTER AA..LATIN SMALL LETTER CON
-A779..A787 ; Changes_When_Casemapped # L& [15] LATIN CAPITAL LETTER INSULAR D..LATIN SMALL LETTER INSULAR T
-A78B..A78C ; Changes_When_Casemapped # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Changes_When_Casemapped # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Changes_When_Casemapped # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF21..FF3A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10400..1044F ; Changes_When_Casemapped # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-
-# Total code points: 2110
-
-# ================================================
-
-# Derived Property: ID_Start
-# Characters that can start an identifier.
-# Generated from:
-# Lu + Ll + Lt + Lm + Lo + Nl
-# + Other_ID_Start
-# - Pattern_Syntax
-# - Pattern_White_Space
-# NOTE: See UAX #31 for more information
-
-0041..005A ; ID_Start # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; ID_Start # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; ID_Start # L& FEMININE ORDINAL INDICATOR
-00B5 ; ID_Start # L& MICRO SIGN
-00BA ; ID_Start # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; ID_Start # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; ID_Start # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; ID_Start # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; ID_Start # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; ID_Start # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; ID_Start # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; ID_Start # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; ID_Start # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; ID_Start # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; ID_Start # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; ID_Start # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; ID_Start # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; ID_Start # Lm MODIFIER LETTER VOICING
-02EE ; ID_Start # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0370..0373 ; ID_Start # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; ID_Start # Lm GREEK NUMERAL SIGN
-0376..0377 ; ID_Start # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; ID_Start # Lm GREEK YPOGEGRAMMENI
-037B..037D ; ID_Start # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; ID_Start # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; ID_Start # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; ID_Start # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; ID_Start # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; ID_Start # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; ID_Start # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-048A..0525 ; ID_Start # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; ID_Start # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; ID_Start # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0561..0587 ; ID_Start # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-05D0..05EA ; ID_Start # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; ID_Start # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-0621..063F ; ID_Start # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; ID_Start # Lm ARABIC TATWEEL
-0641..064A ; ID_Start # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-066E..066F ; ID_Start # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; ID_Start # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; ID_Start # Lo ARABIC LETTER AE
-06E5..06E6 ; ID_Start # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06EE..06EF ; ID_Start # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; ID_Start # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; ID_Start # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; ID_Start # Lo SYRIAC LETTER ALAPH
-0712..072F ; ID_Start # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; ID_Start # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; ID_Start # Lo THAANA LETTER NAA
-07CA..07EA ; ID_Start # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; ID_Start # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; ID_Start # Lm NKO LAJANYALAN
-0800..0815 ; ID_Start # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; ID_Start # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; ID_Start # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; ID_Start # Lm SAMARITAN MODIFIER LETTER I
-0904..0939 ; ID_Start # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; ID_Start # Lo DEVANAGARI SIGN AVAGRAHA
-0950 ; ID_Start # Lo DEVANAGARI OM
-0958..0961 ; ID_Start # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0971 ; ID_Start # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; ID_Start # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; ID_Start # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0985..098C ; ID_Start # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; ID_Start # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; ID_Start # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; ID_Start # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; ID_Start # Lo BENGALI LETTER LA
-09B6..09B9 ; ID_Start # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; ID_Start # Lo BENGALI SIGN AVAGRAHA
-09CE ; ID_Start # Lo BENGALI LETTER KHANDA TA
-09DC..09DD ; ID_Start # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; ID_Start # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09F0..09F1 ; ID_Start # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A05..0A0A ; ID_Start # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; ID_Start # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; ID_Start # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; ID_Start # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; ID_Start # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; ID_Start # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; ID_Start # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A59..0A5C ; ID_Start # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; ID_Start # Lo GURMUKHI LETTER FA
-0A72..0A74 ; ID_Start # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A85..0A8D ; ID_Start # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; ID_Start # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; ID_Start # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; ID_Start # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; ID_Start # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; ID_Start # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; ID_Start # Lo GUJARATI SIGN AVAGRAHA
-0AD0 ; ID_Start # Lo GUJARATI OM
-0AE0..0AE1 ; ID_Start # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0B05..0B0C ; ID_Start # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; ID_Start # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; ID_Start # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; ID_Start # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; ID_Start # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; ID_Start # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; ID_Start # Lo ORIYA SIGN AVAGRAHA
-0B5C..0B5D ; ID_Start # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; ID_Start # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B71 ; ID_Start # Lo ORIYA LETTER WA
-0B83 ; ID_Start # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; ID_Start # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; ID_Start # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; ID_Start # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; ID_Start # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; ID_Start # Lo TAMIL LETTER JA
-0B9E..0B9F ; ID_Start # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; ID_Start # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; ID_Start # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; ID_Start # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BD0 ; ID_Start # Lo TAMIL OM
-0C05..0C0C ; ID_Start # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; ID_Start # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; ID_Start # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; ID_Start # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; ID_Start # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; ID_Start # Lo TELUGU SIGN AVAGRAHA
-0C58..0C59 ; ID_Start # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; ID_Start # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C85..0C8C ; ID_Start # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; ID_Start # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; ID_Start # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; ID_Start # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; ID_Start # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; ID_Start # Lo KANNADA SIGN AVAGRAHA
-0CDE ; ID_Start # Lo KANNADA LETTER FA
-0CE0..0CE1 ; ID_Start # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0D05..0D0C ; ID_Start # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; ID_Start # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; ID_Start # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; ID_Start # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; ID_Start # Lo MALAYALAM SIGN AVAGRAHA
-0D60..0D61 ; ID_Start # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D7A..0D7F ; ID_Start # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D85..0D96 ; ID_Start # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; ID_Start # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; ID_Start # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; ID_Start # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; ID_Start # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0E01..0E30 ; ID_Start # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E32..0E33 ; ID_Start # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E40..0E45 ; ID_Start # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; ID_Start # Lm THAI CHARACTER MAIYAMOK
-0E81..0E82 ; ID_Start # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; ID_Start # Lo LAO LETTER KHO TAM
-0E87..0E88 ; ID_Start # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; ID_Start # Lo LAO LETTER SO TAM
-0E8D ; ID_Start # Lo LAO LETTER NYO
-0E94..0E97 ; ID_Start # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; ID_Start # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; ID_Start # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; ID_Start # Lo LAO LETTER LO LOOT
-0EA7 ; ID_Start # Lo LAO LETTER WO
-0EAA..0EAB ; ID_Start # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; ID_Start # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB2..0EB3 ; ID_Start # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EBD ; ID_Start # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; ID_Start # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; ID_Start # Lm LAO KO LA
-0EDC..0EDD ; ID_Start # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; ID_Start # Lo TIBETAN SYLLABLE OM
-0F40..0F47 ; ID_Start # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; ID_Start # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F88..0F8B ; ID_Start # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-1000..102A ; ID_Start # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-103F ; ID_Start # Lo MYANMAR LETTER GREAT SA
-1050..1055 ; ID_Start # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-105A..105D ; ID_Start # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061 ; ID_Start # Lo MYANMAR LETTER SGAW KAREN SHA
-1065..1066 ; ID_Start # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-106E..1070 ; ID_Start # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081 ; ID_Start # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-108E ; ID_Start # Lo MYANMAR LETTER RUMAI PALAUNG FA
-10A0..10C5 ; ID_Start # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; ID_Start # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; ID_Start # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; ID_Start # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; ID_Start # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; ID_Start # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; ID_Start # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; ID_Start # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; ID_Start # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; ID_Start # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; ID_Start # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; ID_Start # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; ID_Start # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; ID_Start # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; ID_Start # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; ID_Start # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; ID_Start # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; ID_Start # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1380..138F ; ID_Start # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; ID_Start # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; ID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; ID_Start # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; ID_Start # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; ID_Start # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; ID_Start # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; ID_Start # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; ID_Start # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; ID_Start # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1740..1751 ; ID_Start # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; ID_Start # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; ID_Start # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1780..17B3 ; ID_Start # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17D7 ; ID_Start # Lm KHMER SIGN LEK TOO
-17DC ; ID_Start # Lo KHMER SIGN AVAKRAHASANYA
-1820..1842 ; ID_Start # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; ID_Start # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; ID_Start # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; ID_Start # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; ID_Start # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; ID_Start # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; ID_Start # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1950..196D ; ID_Start # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; ID_Start # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; ID_Start # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7 ; ID_Start # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-1A00..1A16 ; ID_Start # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A20..1A54 ; ID_Start # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1AA7 ; ID_Start # Lm TAI THAM SIGN MAI YAMOK
-1B05..1B33 ; ID_Start # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B45..1B4B ; ID_Start # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B83..1BA0 ; ID_Start # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF ; ID_Start # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; ID_Start # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C4D..1C4F ; ID_Start # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; ID_Start # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; ID_Start # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CE9..1CEC ; ID_Start # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; ID_Start # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1D00..1D2B ; ID_Start # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; ID_Start # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; ID_Start # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; ID_Start # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; ID_Start # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; ID_Start # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; ID_Start # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; ID_Start # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; ID_Start # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; ID_Start # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; ID_Start # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; ID_Start # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; ID_Start # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; ID_Start # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; ID_Start # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; ID_Start # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; ID_Start # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; ID_Start # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; ID_Start # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; ID_Start # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; ID_Start # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; ID_Start # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; ID_Start # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; ID_Start # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; ID_Start # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2071 ; ID_Start # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; ID_Start # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; ID_Start # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2102 ; ID_Start # L& DOUBLE-STRUCK CAPITAL C
-2107 ; ID_Start # L& EULER CONSTANT
-210A..2113 ; ID_Start # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; ID_Start # L& DOUBLE-STRUCK CAPITAL N
-2118 ; ID_Start # So SCRIPT CAPITAL P
-2119..211D ; ID_Start # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; ID_Start # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; ID_Start # L& OHM SIGN
-2128 ; ID_Start # L& BLACK-LETTER CAPITAL Z
-212A..212D ; ID_Start # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212E ; ID_Start # So ESTIMATED SYMBOL
-212F..2134 ; ID_Start # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; ID_Start # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; ID_Start # L& INFORMATION SOURCE
-213C..213F ; ID_Start # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; ID_Start # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; ID_Start # L& TURNED SMALL F
-2160..2182 ; ID_Start # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; ID_Start # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; ID_Start # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2C00..2C2E ; ID_Start # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; ID_Start # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; ID_Start # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; ID_Start # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; ID_Start # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; ID_Start # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; ID_Start # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; ID_Start # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; ID_Start # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; ID_Start # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; ID_Start # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; ID_Start # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; ID_Start # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; ID_Start # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-3005 ; ID_Start # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; ID_Start # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; ID_Start # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; ID_Start # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3031..3035 ; ID_Start # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; ID_Start # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; ID_Start # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; ID_Start # Lo MASU MARK
-3041..3096 ; ID_Start # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309B..309C ; ID_Start # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; ID_Start # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; ID_Start # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; ID_Start # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; ID_Start # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; ID_Start # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; ID_Start # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; ID_Start # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; ID_Start # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; ID_Start # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; ID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; ID_Start # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; ID_Start # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; ID_Start # Lm YI SYLLABLE WU
-A016..A48C ; ID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; ID_Start # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; ID_Start # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; ID_Start # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; ID_Start # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; ID_Start # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; ID_Start # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; ID_Start # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; ID_Start # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; ID_Start # Lo CYRILLIC LETTER MULTIOCULAR O
-A67F ; ID_Start # Lm CYRILLIC PAYEROK
-A680..A697 ; ID_Start # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; ID_Start # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; ID_Start # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A717..A71F ; ID_Start # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A76F ; ID_Start # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; ID_Start # Lm MODIFIER LETTER US
-A771..A787 ; ID_Start # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; ID_Start # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A78B..A78C ; ID_Start # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; ID_Start # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; ID_Start # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; ID_Start # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; ID_Start # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A840..A873 ; ID_Start # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A882..A8B3 ; ID_Start # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8F2..A8F7 ; ID_Start # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; ID_Start # Lo DEVANAGARI HEADSTROKE
-A90A..A925 ; ID_Start # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A930..A946 ; ID_Start # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A960..A97C ; ID_Start # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A984..A9B2 ; ID_Start # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9CF ; ID_Start # Lm JAVANESE PANGRANGKEP
-AA00..AA28 ; ID_Start # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA40..AA42 ; ID_Start # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; ID_Start # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA60..AA6F ; ID_Start # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; ID_Start # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; ID_Start # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; ID_Start # Lo MYANMAR LETTER AITON RA
-AA80..AAAF ; ID_Start # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; ID_Start # Lo TAI VIET VOWEL AA
-AAB5..AAB6 ; ID_Start # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; ID_Start # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; ID_Start # Lo TAI VIET TONE MAI NUENG
-AAC2 ; ID_Start # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; ID_Start # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; ID_Start # Lm TAI VIET SYMBOL SAM
-ABC0..ABE2 ; ID_Start # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-AC00..D7A3 ; ID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; ID_Start # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; ID_Start # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; ID_Start # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; ID_Start # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; ID_Start # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; ID_Start # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; ID_Start # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; ID_Start # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; ID_Start # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; ID_Start # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; ID_Start # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; ID_Start # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; ID_Start # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; ID_Start # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; ID_Start # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; ID_Start # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; ID_Start # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; ID_Start # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; ID_Start # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE70..FE74 ; ID_Start # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; ID_Start # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF21..FF3A ; ID_Start # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; ID_Start # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF66..FF6F ; ID_Start # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; ID_Start # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; ID_Start # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; ID_Start # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; ID_Start # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; ID_Start # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; ID_Start # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; ID_Start # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; ID_Start # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; ID_Start # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; ID_Start # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; ID_Start # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; ID_Start # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; ID_Start # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; ID_Start # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; ID_Start # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10280..1029C ; ID_Start # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; ID_Start # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; ID_Start # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; ID_Start # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; ID_Start # Nl GOTHIC LETTER NINETY
-10342..10349 ; ID_Start # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; ID_Start # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; ID_Start # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; ID_Start # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; ID_Start # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; ID_Start # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; ID_Start # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; ID_Start # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; ID_Start # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; ID_Start # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; ID_Start # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; ID_Start # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; ID_Start # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; ID_Start # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; ID_Start # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; ID_Start # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; ID_Start # Lo KHAROSHTHI LETTER A
-10A10..10A13 ; ID_Start # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; ID_Start # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; ID_Start # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A60..10A7C ; ID_Start # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; ID_Start # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; ID_Start # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; ID_Start # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; ID_Start # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11083..110AF ; ID_Start # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-12000..1236E ; ID_Start # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; ID_Start # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; ID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D400..1D454 ; ID_Start # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; ID_Start # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; ID_Start # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; ID_Start # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; ID_Start # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; ID_Start # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; ID_Start # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; ID_Start # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; ID_Start # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; ID_Start # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; ID_Start # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; ID_Start # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; ID_Start # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; ID_Start # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; ID_Start # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; ID_Start # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; ID_Start # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; ID_Start # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; ID_Start # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; ID_Start # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; ID_Start # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; ID_Start # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; ID_Start # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; ID_Start # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; ID_Start # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; ID_Start # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; ID_Start # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; ID_Start # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; ID_Start # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; ID_Start # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-20000..2A6D6 ; ID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; ID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 99764
-
-# ================================================
-
-# Derived Property: ID_Continue
-# Characters that can continue an identifier.
-# Generated from:
-# ID_Start
-# + Mn + Mc + Nd + Pc
-# + Other_ID_Continue
-# - Pattern_Syntax
-# - Pattern_White_Space
-# NOTE: See UAX #31 for more information
-
-0030..0039 ; ID_Continue # Nd [10] DIGIT ZERO..DIGIT NINE
-0041..005A ; ID_Continue # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-005F ; ID_Continue # Pc LOW LINE
-0061..007A ; ID_Continue # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; ID_Continue # L& FEMININE ORDINAL INDICATOR
-00B5 ; ID_Continue # L& MICRO SIGN
-00B7 ; ID_Continue # Po MIDDLE DOT
-00BA ; ID_Continue # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; ID_Continue # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; ID_Continue # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; ID_Continue # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; ID_Continue # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; ID_Continue # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; ID_Continue # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; ID_Continue # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; ID_Continue # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; ID_Continue # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; ID_Continue # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; ID_Continue # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; ID_Continue # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; ID_Continue # Lm MODIFIER LETTER VOICING
-02EE ; ID_Continue # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0300..036F ; ID_Continue # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0370..0373 ; ID_Continue # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; ID_Continue # Lm GREEK NUMERAL SIGN
-0376..0377 ; ID_Continue # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; ID_Continue # Lm GREEK YPOGEGRAMMENI
-037B..037D ; ID_Continue # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; ID_Continue # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; ID_Continue # Po GREEK ANO TELEIA
-0388..038A ; ID_Continue # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; ID_Continue # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; ID_Continue # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; ID_Continue # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; ID_Continue # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-0483..0487 ; ID_Continue # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-048A..0525 ; ID_Continue # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; ID_Continue # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; ID_Continue # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0561..0587 ; ID_Continue # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0591..05BD ; ID_Continue # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; ID_Continue # Mn HEBREW POINT RAFE
-05C1..05C2 ; ID_Continue # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; ID_Continue # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; ID_Continue # Mn HEBREW POINT QAMATS QATAN
-05D0..05EA ; ID_Continue # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; ID_Continue # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-0610..061A ; ID_Continue # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-0621..063F ; ID_Continue # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; ID_Continue # Lm ARABIC TATWEEL
-0641..064A ; ID_Continue # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-064B..065E ; ID_Continue # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0660..0669 ; ID_Continue # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066E..066F ; ID_Continue # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0670 ; ID_Continue # Mn ARABIC LETTER SUPERSCRIPT ALEF
-0671..06D3 ; ID_Continue # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; ID_Continue # Lo ARABIC LETTER AE
-06D6..06DC ; ID_Continue # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DF..06E4 ; ID_Continue # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E5..06E6 ; ID_Continue # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E7..06E8 ; ID_Continue # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; ID_Continue # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-06EE..06EF ; ID_Continue # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06F0..06F9 ; ID_Continue # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-06FA..06FC ; ID_Continue # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; ID_Continue # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; ID_Continue # Lo SYRIAC LETTER ALAPH
-0711 ; ID_Continue # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0712..072F ; ID_Continue # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-0730..074A ; ID_Continue # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-074D..07A5 ; ID_Continue # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07A6..07B0 ; ID_Continue # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07B1 ; ID_Continue # Lo THAANA LETTER NAA
-07C0..07C9 ; ID_Continue # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; ID_Continue # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07EB..07F3 ; ID_Continue # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-07F4..07F5 ; ID_Continue # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; ID_Continue # Lm NKO LAJANYALAN
-0800..0815 ; ID_Continue # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-0816..0819 ; ID_Continue # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081A ; ID_Continue # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B..0823 ; ID_Continue # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0824 ; ID_Continue # Lm SAMARITAN MODIFIER LETTER SHORT A
-0825..0827 ; ID_Continue # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0828 ; ID_Continue # Lm SAMARITAN MODIFIER LETTER I
-0829..082D ; ID_Continue # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; ID_Continue # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; ID_Continue # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; ID_Continue # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093C ; ID_Continue # Mn DEVANAGARI SIGN NUKTA
-093D ; ID_Continue # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; ID_Continue # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; ID_Continue # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; ID_Continue # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; ID_Continue # Mn DEVANAGARI SIGN VIRAMA
-094E ; ID_Continue # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; ID_Continue # Lo DEVANAGARI OM
-0951..0955 ; ID_Continue # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958..0961 ; ID_Continue # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0962..0963 ; ID_Continue # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0966..096F ; ID_Continue # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0971 ; ID_Continue # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; ID_Continue # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; ID_Continue # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0981 ; ID_Continue # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; ID_Continue # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; ID_Continue # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; ID_Continue # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; ID_Continue # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; ID_Continue # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; ID_Continue # Lo BENGALI LETTER LA
-09B6..09B9 ; ID_Continue # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BC ; ID_Continue # Mn BENGALI SIGN NUKTA
-09BD ; ID_Continue # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; ID_Continue # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; ID_Continue # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; ID_Continue # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; ID_Continue # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; ID_Continue # Mn BENGALI SIGN VIRAMA
-09CE ; ID_Continue # Lo BENGALI LETTER KHANDA TA
-09D7 ; ID_Continue # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; ID_Continue # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; ID_Continue # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E2..09E3 ; ID_Continue # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-09E6..09EF ; ID_Continue # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; ID_Continue # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A01..0A02 ; ID_Continue # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; ID_Continue # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; ID_Continue # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; ID_Continue # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; ID_Continue # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; ID_Continue # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; ID_Continue # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; ID_Continue # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; ID_Continue # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3C ; ID_Continue # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; ID_Continue # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; ID_Continue # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; ID_Continue # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; ID_Continue # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; ID_Continue # Mn GURMUKHI SIGN UDAAT
-0A59..0A5C ; ID_Continue # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; ID_Continue # Lo GURMUKHI LETTER FA
-0A66..0A6F ; ID_Continue # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A70..0A71 ; ID_Continue # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A72..0A74 ; ID_Continue # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A75 ; ID_Continue # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; ID_Continue # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; ID_Continue # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; ID_Continue # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; ID_Continue # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; ID_Continue # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; ID_Continue # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; ID_Continue # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; ID_Continue # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABC ; ID_Continue # Mn GUJARATI SIGN NUKTA
-0ABD ; ID_Continue # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; ID_Continue # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; ID_Continue # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; ID_Continue # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; ID_Continue # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; ID_Continue # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; ID_Continue # Mn GUJARATI SIGN VIRAMA
-0AD0 ; ID_Continue # Lo GUJARATI OM
-0AE0..0AE1 ; ID_Continue # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE2..0AE3 ; ID_Continue # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0AE6..0AEF ; ID_Continue # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B01 ; ID_Continue # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; ID_Continue # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; ID_Continue # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; ID_Continue # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; ID_Continue # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; ID_Continue # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; ID_Continue # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; ID_Continue # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3C ; ID_Continue # Mn ORIYA SIGN NUKTA
-0B3D ; ID_Continue # Lo ORIYA SIGN AVAGRAHA
-0B3E ; ID_Continue # Mc ORIYA VOWEL SIGN AA
-0B3F ; ID_Continue # Mn ORIYA VOWEL SIGN I
-0B40 ; ID_Continue # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; ID_Continue # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; ID_Continue # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; ID_Continue # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; ID_Continue # Mn ORIYA SIGN VIRAMA
-0B56 ; ID_Continue # Mn ORIYA AI LENGTH MARK
-0B57 ; ID_Continue # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; ID_Continue # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; ID_Continue # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B62..0B63 ; ID_Continue # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B66..0B6F ; ID_Continue # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B71 ; ID_Continue # Lo ORIYA LETTER WA
-0B82 ; ID_Continue # Mn TAMIL SIGN ANUSVARA
-0B83 ; ID_Continue # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; ID_Continue # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; ID_Continue # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; ID_Continue # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; ID_Continue # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; ID_Continue # Lo TAMIL LETTER JA
-0B9E..0B9F ; ID_Continue # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; ID_Continue # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; ID_Continue # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; ID_Continue # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; ID_Continue # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; ID_Continue # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; ID_Continue # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; ID_Continue # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; ID_Continue # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; ID_Continue # Mn TAMIL SIGN VIRAMA
-0BD0 ; ID_Continue # Lo TAMIL OM
-0BD7 ; ID_Continue # Mc TAMIL AU LENGTH MARK
-0BE6..0BEF ; ID_Continue # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C01..0C03 ; ID_Continue # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; ID_Continue # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; ID_Continue # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; ID_Continue # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; ID_Continue # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; ID_Continue # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; ID_Continue # Lo TELUGU SIGN AVAGRAHA
-0C3E..0C40 ; ID_Continue # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; ID_Continue # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; ID_Continue # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; ID_Continue # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; ID_Continue # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59 ; ID_Continue # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; ID_Continue # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C62..0C63 ; ID_Continue # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C66..0C6F ; ID_Continue # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C82..0C83 ; ID_Continue # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; ID_Continue # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; ID_Continue # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; ID_Continue # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; ID_Continue # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; ID_Continue # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBC ; ID_Continue # Mn KANNADA SIGN NUKTA
-0CBD ; ID_Continue # Lo KANNADA SIGN AVAGRAHA
-0CBE ; ID_Continue # Mc KANNADA VOWEL SIGN AA
-0CBF ; ID_Continue # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; ID_Continue # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; ID_Continue # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; ID_Continue # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; ID_Continue # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; ID_Continue # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; ID_Continue # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; ID_Continue # Lo KANNADA LETTER FA
-0CE0..0CE1 ; ID_Continue # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE2..0CE3 ; ID_Continue # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0CE6..0CEF ; ID_Continue # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D02..0D03 ; ID_Continue # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; ID_Continue # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; ID_Continue # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; ID_Continue # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; ID_Continue # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; ID_Continue # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; ID_Continue # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; ID_Continue # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; ID_Continue # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; ID_Continue # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; ID_Continue # Mn MALAYALAM SIGN VIRAMA
-0D57 ; ID_Continue # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; ID_Continue # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D62..0D63 ; ID_Continue # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D66..0D6F ; ID_Continue # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D7A..0D7F ; ID_Continue # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; ID_Continue # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; ID_Continue # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; ID_Continue # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; ID_Continue # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; ID_Continue # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; ID_Continue # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCA ; ID_Continue # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; ID_Continue # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; ID_Continue # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; ID_Continue # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; ID_Continue # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; ID_Continue # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E01..0E30 ; ID_Continue # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; ID_Continue # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; ID_Continue # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; ID_Continue # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E40..0E45 ; ID_Continue # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; ID_Continue # Lm THAI CHARACTER MAIYAMOK
-0E47..0E4E ; ID_Continue # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0E50..0E59 ; ID_Continue # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E81..0E82 ; ID_Continue # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; ID_Continue # Lo LAO LETTER KHO TAM
-0E87..0E88 ; ID_Continue # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; ID_Continue # Lo LAO LETTER SO TAM
-0E8D ; ID_Continue # Lo LAO LETTER NYO
-0E94..0E97 ; ID_Continue # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; ID_Continue # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; ID_Continue # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; ID_Continue # Lo LAO LETTER LO LOOT
-0EA7 ; ID_Continue # Lo LAO LETTER WO
-0EAA..0EAB ; ID_Continue # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; ID_Continue # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; ID_Continue # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; ID_Continue # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; ID_Continue # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; ID_Continue # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; ID_Continue # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; ID_Continue # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; ID_Continue # Lm LAO KO LA
-0EC8..0ECD ; ID_Continue # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0ED0..0ED9 ; ID_Continue # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; ID_Continue # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; ID_Continue # Lo TIBETAN SYLLABLE OM
-0F18..0F19 ; ID_Continue # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F20..0F29 ; ID_Continue # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F35 ; ID_Continue # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; ID_Continue # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; ID_Continue # Mn TIBETAN MARK TSA -PHRU
-0F3E..0F3F ; ID_Continue # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; ID_Continue # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; ID_Continue # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F71..0F7E ; ID_Continue # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; ID_Continue # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F84 ; ID_Continue # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; ID_Continue # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F88..0F8B ; ID_Continue # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F97 ; ID_Continue # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; ID_Continue # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; ID_Continue # Mn TIBETAN SYMBOL PADMA GDAN
-1000..102A ; ID_Continue # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; ID_Continue # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; ID_Continue # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; ID_Continue # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; ID_Continue # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; ID_Continue # Mc MYANMAR SIGN VISARGA
-1039..103A ; ID_Continue # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; ID_Continue # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; ID_Continue # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; ID_Continue # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; ID_Continue # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1050..1055 ; ID_Continue # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; ID_Continue # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; ID_Continue # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; ID_Continue # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; ID_Continue # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; ID_Continue # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; ID_Continue # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; ID_Continue # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; ID_Continue # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; ID_Continue # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; ID_Continue # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; ID_Continue # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; ID_Continue # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; ID_Continue # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; ID_Continue # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; ID_Continue # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; ID_Continue # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E ; ID_Continue # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; ID_Continue # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; ID_Continue # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; ID_Continue # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; ID_Continue # Mn MYANMAR VOWEL SIGN AITON AI
-10A0..10C5 ; ID_Continue # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; ID_Continue # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; ID_Continue # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; ID_Continue # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; ID_Continue # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; ID_Continue # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; ID_Continue # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; ID_Continue # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; ID_Continue # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; ID_Continue # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; ID_Continue # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-135F ; ID_Continue # Mn ETHIOPIC COMBINING GEMINATION MARK
-1369..1371 ; ID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
-1380..138F ; ID_Continue # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; ID_Continue # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; ID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; ID_Continue # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; ID_Continue # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; ID_Continue # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; ID_Continue # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; ID_Continue # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; ID_Continue # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1712..1714 ; ID_Continue # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1720..1731 ; ID_Continue # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1732..1734 ; ID_Continue # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1740..1751 ; ID_Continue # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1752..1753 ; ID_Continue # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1760..176C ; ID_Continue # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; ID_Continue # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; ID_Continue # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-1780..17B3 ; ID_Continue # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B6 ; ID_Continue # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; ID_Continue # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; ID_Continue # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; ID_Continue # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; ID_Continue # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; ID_Continue # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17D7 ; ID_Continue # Lm KHMER SIGN LEK TOO
-17DC ; ID_Continue # Lo KHMER SIGN AVAKRAHASANYA
-17DD ; ID_Continue # Mn KHMER SIGN ATTHACAN
-17E0..17E9 ; ID_Continue # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-180B..180D ; ID_Continue # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-1810..1819 ; ID_Continue # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; ID_Continue # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; ID_Continue # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; ID_Continue # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; ID_Continue # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 ; ID_Continue # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-18AA ; ID_Continue # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; ID_Continue # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; ID_Continue # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..1922 ; ID_Continue # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; ID_Continue # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; ID_Continue # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; ID_Continue # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; ID_Continue # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; ID_Continue # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; ID_Continue # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; ID_Continue # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1946..194F ; ID_Continue # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-1950..196D ; ID_Continue # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; ID_Continue # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; ID_Continue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; ID_Continue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; ID_Continue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; ID_Continue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; ID_Continue # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A00..1A16 ; ID_Continue # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A17..1A18 ; ID_Continue # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; ID_Continue # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A20..1A54 ; ID_Continue # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; ID_Continue # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; ID_Continue # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; ID_Continue # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; ID_Continue # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; ID_Continue # Mn TAI THAM SIGN SAKOT
-1A61 ; ID_Continue # Mc TAI THAM VOWEL SIGN A
-1A62 ; ID_Continue # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; ID_Continue # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; ID_Continue # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; ID_Continue # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; ID_Continue # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; ID_Continue # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80..1A89 ; ID_Continue # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; ID_Continue # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA7 ; ID_Continue # Lm TAI THAM SIGN MAI YAMOK
-1B00..1B03 ; ID_Continue # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; ID_Continue # Mc BALINESE SIGN BISAH
-1B05..1B33 ; ID_Continue # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B34 ; ID_Continue # Mn BALINESE SIGN REREKAN
-1B35 ; ID_Continue # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; ID_Continue # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; ID_Continue # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; ID_Continue # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; ID_Continue # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; ID_Continue # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; ID_Continue # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B45..1B4B ; ID_Continue # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; ID_Continue # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B6B..1B73 ; ID_Continue # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; ID_Continue # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; ID_Continue # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; ID_Continue # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; ID_Continue # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; ID_Continue # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; ID_Continue # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; ID_Continue # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; ID_Continue # Mc SUNDANESE SIGN PAMAAEH
-1BAE..1BAF ; ID_Continue # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; ID_Continue # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C00..1C23 ; ID_Continue # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; ID_Continue # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; ID_Continue # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; ID_Continue # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; ID_Continue # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1C40..1C49 ; ID_Continue # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; ID_Continue # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C50..1C59 ; ID_Continue # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; ID_Continue # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; ID_Continue # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CD0..1CD2 ; ID_Continue # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; ID_Continue # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; ID_Continue # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; ID_Continue # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CE9..1CEC ; ID_Continue # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CED ; ID_Continue # Mn VEDIC SIGN TIRYAK
-1CEE..1CF1 ; ID_Continue # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; ID_Continue # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; ID_Continue # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; ID_Continue # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; ID_Continue # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; ID_Continue # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; ID_Continue # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; ID_Continue # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DE6 ; ID_Continue # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; ID_Continue # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1E00..1F15 ; ID_Continue # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; ID_Continue # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; ID_Continue # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; ID_Continue # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; ID_Continue # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; ID_Continue # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; ID_Continue # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; ID_Continue # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; ID_Continue # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; ID_Continue # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; ID_Continue # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; ID_Continue # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; ID_Continue # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; ID_Continue # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; ID_Continue # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; ID_Continue # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; ID_Continue # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; ID_Continue # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; ID_Continue # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-203F..2040 ; ID_Continue # Pc [2] UNDERTIE..CHARACTER TIE
-2054 ; ID_Continue # Pc INVERTED UNDERTIE
-2071 ; ID_Continue # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; ID_Continue # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; ID_Continue # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20D0..20DC ; ID_Continue # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20E1 ; ID_Continue # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E5..20F0 ; ID_Continue # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2102 ; ID_Continue # L& DOUBLE-STRUCK CAPITAL C
-2107 ; ID_Continue # L& EULER CONSTANT
-210A..2113 ; ID_Continue # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; ID_Continue # L& DOUBLE-STRUCK CAPITAL N
-2118 ; ID_Continue # So SCRIPT CAPITAL P
-2119..211D ; ID_Continue # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; ID_Continue # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; ID_Continue # L& OHM SIGN
-2128 ; ID_Continue # L& BLACK-LETTER CAPITAL Z
-212A..212D ; ID_Continue # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212E ; ID_Continue # So ESTIMATED SYMBOL
-212F..2134 ; ID_Continue # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; ID_Continue # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; ID_Continue # L& INFORMATION SOURCE
-213C..213F ; ID_Continue # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; ID_Continue # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; ID_Continue # L& TURNED SMALL F
-2160..2182 ; ID_Continue # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; ID_Continue # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; ID_Continue # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2C00..2C2E ; ID_Continue # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; ID_Continue # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; ID_Continue # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; ID_Continue # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; ID_Continue # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; ID_Continue # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF..2CF1 ; ID_Continue # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2D00..2D25 ; ID_Continue # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; ID_Continue # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; ID_Continue # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; ID_Continue # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2DE0..2DFF ; ID_Continue # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-3005 ; ID_Continue # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; ID_Continue # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; ID_Continue # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; ID_Continue # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-302A..302F ; ID_Continue # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3031..3035 ; ID_Continue # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; ID_Continue # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; ID_Continue # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; ID_Continue # Lo MASU MARK
-3041..3096 ; ID_Continue # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-3099..309A ; ID_Continue # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B..309C ; ID_Continue # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; ID_Continue # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; ID_Continue # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; ID_Continue # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; ID_Continue # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; ID_Continue # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; ID_Continue # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; ID_Continue # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; ID_Continue # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; ID_Continue # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; ID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; ID_Continue # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; ID_Continue # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; ID_Continue # Lm YI SYLLABLE WU
-A016..A48C ; ID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; ID_Continue # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; ID_Continue # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; ID_Continue # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; ID_Continue # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; ID_Continue # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; ID_Continue # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; ID_Continue # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; ID_Continue # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; ID_Continue # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; ID_Continue # Lo CYRILLIC LETTER MULTIOCULAR O
-A66F ; ID_Continue # Mn COMBINING CYRILLIC VZMET
-A67C..A67D ; ID_Continue # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A67F ; ID_Continue # Lm CYRILLIC PAYEROK
-A680..A697 ; ID_Continue # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; ID_Continue # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; ID_Continue # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F0..A6F1 ; ID_Continue # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A717..A71F ; ID_Continue # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A76F ; ID_Continue # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; ID_Continue # Lm MODIFIER LETTER US
-A771..A787 ; ID_Continue # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; ID_Continue # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A78B..A78C ; ID_Continue # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; ID_Continue # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A802 ; ID_Continue # Mn SYLOTI NAGRI SIGN DVISVARA
-A803..A805 ; ID_Continue # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A806 ; ID_Continue # Mn SYLOTI NAGRI SIGN HASANTA
-A807..A80A ; ID_Continue # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80B ; ID_Continue # Mn SYLOTI NAGRI SIGN ANUSVARA
-A80C..A822 ; ID_Continue # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; ID_Continue # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; ID_Continue # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; ID_Continue # Mc SYLOTI NAGRI VOWEL SIGN OO
-A840..A873 ; ID_Continue # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A880..A881 ; ID_Continue # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; ID_Continue # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; ID_Continue # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; ID_Continue # Mn SAURASHTRA SIGN VIRAMA
-A8D0..A8D9 ; ID_Continue # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A8E0..A8F1 ; ID_Continue # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2..A8F7 ; ID_Continue # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; ID_Continue # Lo DEVANAGARI HEADSTROKE
-A900..A909 ; ID_Continue # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; ID_Continue # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A926..A92D ; ID_Continue # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A930..A946 ; ID_Continue # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A947..A951 ; ID_Continue # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; ID_Continue # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A960..A97C ; ID_Continue # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A980..A982 ; ID_Continue # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; ID_Continue # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; ID_Continue # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B3 ; ID_Continue # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; ID_Continue # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; ID_Continue # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; ID_Continue # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; ID_Continue # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; ID_Continue # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-A9CF ; ID_Continue # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; ID_Continue # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA00..AA28 ; ID_Continue # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA29..AA2E ; ID_Continue # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; ID_Continue # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; ID_Continue # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; ID_Continue # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; ID_Continue # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA40..AA42 ; ID_Continue # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA43 ; ID_Continue # Mn CHAM CONSONANT SIGN FINAL NG
-AA44..AA4B ; ID_Continue # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4C ; ID_Continue # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; ID_Continue # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; ID_Continue # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA60..AA6F ; ID_Continue # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; ID_Continue # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; ID_Continue # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; ID_Continue # Lo MYANMAR LETTER AITON RA
-AA7B ; ID_Continue # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; ID_Continue # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB0 ; ID_Continue # Mn TAI VIET MAI KANG
-AAB1 ; ID_Continue # Lo TAI VIET VOWEL AA
-AAB2..AAB4 ; ID_Continue # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB5..AAB6 ; ID_Continue # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB7..AAB8 ; ID_Continue # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AAB9..AABD ; ID_Continue # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AABE..AABF ; ID_Continue # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC0 ; ID_Continue # Lo TAI VIET TONE MAI NUENG
-AAC1 ; ID_Continue # Mn TAI VIET TONE MAI THO
-AAC2 ; ID_Continue # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; ID_Continue # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; ID_Continue # Lm TAI VIET SYMBOL SAM
-ABC0..ABE2 ; ID_Continue # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; ID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; ID_Continue # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; ID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; ID_Continue # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; ID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; ID_Continue # Mc MEETEI MAYEK LUM IYEK
-ABED ; ID_Continue # Mn MEETEI MAYEK APUN IYEK
-ABF0..ABF9 ; ID_Continue # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-AC00..D7A3 ; ID_Continue # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; ID_Continue # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; ID_Continue # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; ID_Continue # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; ID_Continue # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; ID_Continue # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; ID_Continue # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; ID_Continue # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; ID_Continue # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1E ; ID_Continue # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F..FB28 ; ID_Continue # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; ID_Continue # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; ID_Continue # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; ID_Continue # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; ID_Continue # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; ID_Continue # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; ID_Continue # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; ID_Continue # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; ID_Continue # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; ID_Continue # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; ID_Continue # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE00..FE0F ; ID_Continue # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; ID_Continue # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FE33..FE34 ; ID_Continue # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE4D..FE4F ; ID_Continue # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE70..FE74 ; ID_Continue # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; ID_Continue # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF10..FF19 ; ID_Continue # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF21..FF3A ; ID_Continue # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3F ; ID_Continue # Pc FULLWIDTH LOW LINE
-FF41..FF5A ; ID_Continue # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF66..FF6F ; ID_Continue # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; ID_Continue # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; ID_Continue # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; ID_Continue # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; ID_Continue # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; ID_Continue # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; ID_Continue # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; ID_Continue # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; ID_Continue # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; ID_Continue # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; ID_Continue # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; ID_Continue # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; ID_Continue # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; ID_Continue # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; ID_Continue # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; ID_Continue # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-101FD ; ID_Continue # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280..1029C ; ID_Continue # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; ID_Continue # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; ID_Continue # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; ID_Continue # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; ID_Continue # Nl GOTHIC LETTER NINETY
-10342..10349 ; ID_Continue # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; ID_Continue # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; ID_Continue # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; ID_Continue # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; ID_Continue # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; ID_Continue # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; ID_Continue # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; ID_Continue # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-104A0..104A9 ; ID_Continue # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-10800..10805 ; ID_Continue # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; ID_Continue # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; ID_Continue # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; ID_Continue # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; ID_Continue # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; ID_Continue # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; ID_Continue # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; ID_Continue # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; ID_Continue # Lo KHAROSHTHI LETTER A
-10A01..10A03 ; ID_Continue # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; ID_Continue # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; ID_Continue # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A10..10A13 ; ID_Continue # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; ID_Continue # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; ID_Continue # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A38..10A3A ; ID_Continue # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; ID_Continue # Mn KHAROSHTHI VIRAMA
-10A60..10A7C ; ID_Continue # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; ID_Continue # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; ID_Continue # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; ID_Continue # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; ID_Continue # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11080..11081 ; ID_Continue # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; ID_Continue # Mc KAITHI SIGN VISARGA
-11083..110AF ; ID_Continue # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; ID_Continue # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; ID_Continue # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; ID_Continue # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; ID_Continue # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-12000..1236E ; ID_Continue # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; ID_Continue # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; ID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D165..1D166 ; ID_Continue # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167..1D169 ; ID_Continue # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16D..1D172 ; ID_Continue # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; ID_Continue # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; ID_Continue # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; ID_Continue # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; ID_Continue # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-1D400..1D454 ; ID_Continue # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; ID_Continue # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; ID_Continue # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; ID_Continue # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; ID_Continue # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; ID_Continue # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; ID_Continue # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; ID_Continue # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; ID_Continue # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; ID_Continue # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; ID_Continue # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; ID_Continue # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; ID_Continue # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; ID_Continue # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; ID_Continue # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; ID_Continue # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; ID_Continue # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; ID_Continue # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; ID_Continue # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; ID_Continue # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; ID_Continue # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; ID_Continue # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; ID_Continue # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; ID_Continue # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; ID_Continue # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; ID_Continue # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; ID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; ID_Continue # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; ID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; ID_Continue # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; ID_Continue # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-20000..2A6D6 ; ID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; ID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; ID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 101634
-
-# ================================================
-
-# Derived Property: XID_Start
-# ID_Start modified for closure under NFKx
-# Modified as described in UAX #15
-# NOTE: Does NOT remove the non-NFKx characters.
-# Merely ensures that if isIdentifer(string) then isIdentifier(NFKx(string))
-# NOTE: See UAX #31 for more information
-
-0041..005A ; XID_Start # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; XID_Start # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; XID_Start # L& FEMININE ORDINAL INDICATOR
-00B5 ; XID_Start # L& MICRO SIGN
-00BA ; XID_Start # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; XID_Start # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; XID_Start # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; XID_Start # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; XID_Start # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; XID_Start # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; XID_Start # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; XID_Start # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; XID_Start # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; XID_Start # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; XID_Start # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; XID_Start # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; XID_Start # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; XID_Start # Lm MODIFIER LETTER VOICING
-02EE ; XID_Start # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0370..0373 ; XID_Start # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; XID_Start # Lm GREEK NUMERAL SIGN
-0376..0377 ; XID_Start # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037B..037D ; XID_Start # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; XID_Start # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; XID_Start # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; XID_Start # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; XID_Start # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; XID_Start # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; XID_Start # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-048A..0525 ; XID_Start # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; XID_Start # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; XID_Start # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0561..0587 ; XID_Start # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-05D0..05EA ; XID_Start # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; XID_Start # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-0621..063F ; XID_Start # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; XID_Start # Lm ARABIC TATWEEL
-0641..064A ; XID_Start # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-066E..066F ; XID_Start # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; XID_Start # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; XID_Start # Lo ARABIC LETTER AE
-06E5..06E6 ; XID_Start # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06EE..06EF ; XID_Start # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; XID_Start # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; XID_Start # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; XID_Start # Lo SYRIAC LETTER ALAPH
-0712..072F ; XID_Start # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; XID_Start # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; XID_Start # Lo THAANA LETTER NAA
-07CA..07EA ; XID_Start # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; XID_Start # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; XID_Start # Lm NKO LAJANYALAN
-0800..0815 ; XID_Start # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; XID_Start # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; XID_Start # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; XID_Start # Lm SAMARITAN MODIFIER LETTER I
-0904..0939 ; XID_Start # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; XID_Start # Lo DEVANAGARI SIGN AVAGRAHA
-0950 ; XID_Start # Lo DEVANAGARI OM
-0958..0961 ; XID_Start # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0971 ; XID_Start # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; XID_Start # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; XID_Start # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0985..098C ; XID_Start # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; XID_Start # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; XID_Start # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; XID_Start # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; XID_Start # Lo BENGALI LETTER LA
-09B6..09B9 ; XID_Start # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; XID_Start # Lo BENGALI SIGN AVAGRAHA
-09CE ; XID_Start # Lo BENGALI LETTER KHANDA TA
-09DC..09DD ; XID_Start # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; XID_Start # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09F0..09F1 ; XID_Start # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A05..0A0A ; XID_Start # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; XID_Start # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; XID_Start # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; XID_Start # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; XID_Start # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; XID_Start # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; XID_Start # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A59..0A5C ; XID_Start # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; XID_Start # Lo GURMUKHI LETTER FA
-0A72..0A74 ; XID_Start # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A85..0A8D ; XID_Start # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; XID_Start # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; XID_Start # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; XID_Start # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; XID_Start # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; XID_Start # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; XID_Start # Lo GUJARATI SIGN AVAGRAHA
-0AD0 ; XID_Start # Lo GUJARATI OM
-0AE0..0AE1 ; XID_Start # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0B05..0B0C ; XID_Start # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; XID_Start # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; XID_Start # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; XID_Start # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; XID_Start # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; XID_Start # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; XID_Start # Lo ORIYA SIGN AVAGRAHA
-0B5C..0B5D ; XID_Start # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; XID_Start # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B71 ; XID_Start # Lo ORIYA LETTER WA
-0B83 ; XID_Start # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; XID_Start # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; XID_Start # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; XID_Start # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; XID_Start # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; XID_Start # Lo TAMIL LETTER JA
-0B9E..0B9F ; XID_Start # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; XID_Start # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; XID_Start # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; XID_Start # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BD0 ; XID_Start # Lo TAMIL OM
-0C05..0C0C ; XID_Start # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; XID_Start # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; XID_Start # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; XID_Start # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; XID_Start # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; XID_Start # Lo TELUGU SIGN AVAGRAHA
-0C58..0C59 ; XID_Start # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; XID_Start # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C85..0C8C ; XID_Start # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; XID_Start # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; XID_Start # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; XID_Start # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; XID_Start # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; XID_Start # Lo KANNADA SIGN AVAGRAHA
-0CDE ; XID_Start # Lo KANNADA LETTER FA
-0CE0..0CE1 ; XID_Start # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0D05..0D0C ; XID_Start # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; XID_Start # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; XID_Start # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; XID_Start # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; XID_Start # Lo MALAYALAM SIGN AVAGRAHA
-0D60..0D61 ; XID_Start # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D7A..0D7F ; XID_Start # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D85..0D96 ; XID_Start # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; XID_Start # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; XID_Start # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; XID_Start # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; XID_Start # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0E01..0E30 ; XID_Start # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E32 ; XID_Start # Lo THAI CHARACTER SARA AA
-0E40..0E45 ; XID_Start # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; XID_Start # Lm THAI CHARACTER MAIYAMOK
-0E81..0E82 ; XID_Start # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; XID_Start # Lo LAO LETTER KHO TAM
-0E87..0E88 ; XID_Start # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; XID_Start # Lo LAO LETTER SO TAM
-0E8D ; XID_Start # Lo LAO LETTER NYO
-0E94..0E97 ; XID_Start # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; XID_Start # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; XID_Start # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; XID_Start # Lo LAO LETTER LO LOOT
-0EA7 ; XID_Start # Lo LAO LETTER WO
-0EAA..0EAB ; XID_Start # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; XID_Start # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB2 ; XID_Start # Lo LAO VOWEL SIGN AA
-0EBD ; XID_Start # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; XID_Start # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; XID_Start # Lm LAO KO LA
-0EDC..0EDD ; XID_Start # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; XID_Start # Lo TIBETAN SYLLABLE OM
-0F40..0F47 ; XID_Start # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; XID_Start # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F88..0F8B ; XID_Start # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-1000..102A ; XID_Start # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-103F ; XID_Start # Lo MYANMAR LETTER GREAT SA
-1050..1055 ; XID_Start # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-105A..105D ; XID_Start # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061 ; XID_Start # Lo MYANMAR LETTER SGAW KAREN SHA
-1065..1066 ; XID_Start # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-106E..1070 ; XID_Start # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081 ; XID_Start # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-108E ; XID_Start # Lo MYANMAR LETTER RUMAI PALAUNG FA
-10A0..10C5 ; XID_Start # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; XID_Start # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; XID_Start # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; XID_Start # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; XID_Start # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; XID_Start # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; XID_Start # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; XID_Start # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; XID_Start # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; XID_Start # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; XID_Start # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; XID_Start # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; XID_Start # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; XID_Start # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; XID_Start # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; XID_Start # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; XID_Start # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; XID_Start # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1380..138F ; XID_Start # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; XID_Start # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; XID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; XID_Start # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; XID_Start # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; XID_Start # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; XID_Start # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; XID_Start # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; XID_Start # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; XID_Start # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1740..1751 ; XID_Start # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; XID_Start # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; XID_Start # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1780..17B3 ; XID_Start # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17D7 ; XID_Start # Lm KHMER SIGN LEK TOO
-17DC ; XID_Start # Lo KHMER SIGN AVAKRAHASANYA
-1820..1842 ; XID_Start # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; XID_Start # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; XID_Start # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; XID_Start # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; XID_Start # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; XID_Start # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; XID_Start # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1950..196D ; XID_Start # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; XID_Start # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; XID_Start # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7 ; XID_Start # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-1A00..1A16 ; XID_Start # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A20..1A54 ; XID_Start # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1AA7 ; XID_Start # Lm TAI THAM SIGN MAI YAMOK
-1B05..1B33 ; XID_Start # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B45..1B4B ; XID_Start # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B83..1BA0 ; XID_Start # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF ; XID_Start # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; XID_Start # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C4D..1C4F ; XID_Start # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; XID_Start # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; XID_Start # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CE9..1CEC ; XID_Start # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; XID_Start # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1D00..1D2B ; XID_Start # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; XID_Start # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; XID_Start # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; XID_Start # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; XID_Start # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; XID_Start # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; XID_Start # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; XID_Start # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; XID_Start # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; XID_Start # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; XID_Start # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; XID_Start # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; XID_Start # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; XID_Start # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; XID_Start # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; XID_Start # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; XID_Start # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; XID_Start # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; XID_Start # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; XID_Start # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; XID_Start # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; XID_Start # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; XID_Start # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; XID_Start # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; XID_Start # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2071 ; XID_Start # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; XID_Start # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; XID_Start # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2102 ; XID_Start # L& DOUBLE-STRUCK CAPITAL C
-2107 ; XID_Start # L& EULER CONSTANT
-210A..2113 ; XID_Start # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; XID_Start # L& DOUBLE-STRUCK CAPITAL N
-2118 ; XID_Start # So SCRIPT CAPITAL P
-2119..211D ; XID_Start # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; XID_Start # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; XID_Start # L& OHM SIGN
-2128 ; XID_Start # L& BLACK-LETTER CAPITAL Z
-212A..212D ; XID_Start # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212E ; XID_Start # So ESTIMATED SYMBOL
-212F..2134 ; XID_Start # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; XID_Start # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; XID_Start # L& INFORMATION SOURCE
-213C..213F ; XID_Start # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; XID_Start # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; XID_Start # L& TURNED SMALL F
-2160..2182 ; XID_Start # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; XID_Start # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; XID_Start # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2C00..2C2E ; XID_Start # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; XID_Start # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; XID_Start # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; XID_Start # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; XID_Start # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; XID_Start # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; XID_Start # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; XID_Start # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; XID_Start # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; XID_Start # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; XID_Start # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; XID_Start # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; XID_Start # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; XID_Start # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-3005 ; XID_Start # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; XID_Start # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; XID_Start # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; XID_Start # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3031..3035 ; XID_Start # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; XID_Start # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; XID_Start # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; XID_Start # Lo MASU MARK
-3041..3096 ; XID_Start # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309D..309E ; XID_Start # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; XID_Start # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; XID_Start # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; XID_Start # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; XID_Start # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; XID_Start # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; XID_Start # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; XID_Start # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; XID_Start # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; XID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; XID_Start # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; XID_Start # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; XID_Start # Lm YI SYLLABLE WU
-A016..A48C ; XID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; XID_Start # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; XID_Start # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; XID_Start # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; XID_Start # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; XID_Start # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; XID_Start # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; XID_Start # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; XID_Start # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; XID_Start # Lo CYRILLIC LETTER MULTIOCULAR O
-A67F ; XID_Start # Lm CYRILLIC PAYEROK
-A680..A697 ; XID_Start # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; XID_Start # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; XID_Start # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A717..A71F ; XID_Start # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A76F ; XID_Start # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; XID_Start # Lm MODIFIER LETTER US
-A771..A787 ; XID_Start # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; XID_Start # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A78B..A78C ; XID_Start # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; XID_Start # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; XID_Start # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; XID_Start # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; XID_Start # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A840..A873 ; XID_Start # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A882..A8B3 ; XID_Start # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8F2..A8F7 ; XID_Start # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; XID_Start # Lo DEVANAGARI HEADSTROKE
-A90A..A925 ; XID_Start # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A930..A946 ; XID_Start # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A960..A97C ; XID_Start # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A984..A9B2 ; XID_Start # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9CF ; XID_Start # Lm JAVANESE PANGRANGKEP
-AA00..AA28 ; XID_Start # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA40..AA42 ; XID_Start # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; XID_Start # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA60..AA6F ; XID_Start # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; XID_Start # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; XID_Start # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; XID_Start # Lo MYANMAR LETTER AITON RA
-AA80..AAAF ; XID_Start # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; XID_Start # Lo TAI VIET VOWEL AA
-AAB5..AAB6 ; XID_Start # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; XID_Start # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; XID_Start # Lo TAI VIET TONE MAI NUENG
-AAC2 ; XID_Start # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; XID_Start # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; XID_Start # Lm TAI VIET SYMBOL SAM
-ABC0..ABE2 ; XID_Start # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-AC00..D7A3 ; XID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; XID_Start # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; XID_Start # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; XID_Start # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; XID_Start # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; XID_Start # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; XID_Start # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; XID_Start # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; XID_Start # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; XID_Start # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; XID_Start # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; XID_Start # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; XID_Start # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; XID_Start # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; XID_Start # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; XID_Start # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FC5D ; XID_Start # Lo [139] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC64..FD3D ; XID_Start # Lo [218] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; XID_Start # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; XID_Start # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDF9 ; XID_Start # Lo [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM
-FE71 ; XID_Start # Lo ARABIC TATWEEL WITH FATHATAN ABOVE
-FE73 ; XID_Start # Lo ARABIC TAIL FRAGMENT
-FE77 ; XID_Start # Lo ARABIC FATHA MEDIAL FORM
-FE79 ; XID_Start # Lo ARABIC DAMMA MEDIAL FORM
-FE7B ; XID_Start # Lo ARABIC KASRA MEDIAL FORM
-FE7D ; XID_Start # Lo ARABIC SHADDA MEDIAL FORM
-FE7F..FEFC ; XID_Start # Lo [126] ARABIC SUKUN MEDIAL FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF21..FF3A ; XID_Start # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; XID_Start # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF66..FF6F ; XID_Start # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; XID_Start # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; XID_Start # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FFA0..FFBE ; XID_Start # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; XID_Start # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; XID_Start # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; XID_Start # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; XID_Start # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; XID_Start # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; XID_Start # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; XID_Start # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; XID_Start # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; XID_Start # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; XID_Start # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; XID_Start # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10280..1029C ; XID_Start # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; XID_Start # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; XID_Start # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; XID_Start # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; XID_Start # Nl GOTHIC LETTER NINETY
-10342..10349 ; XID_Start # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; XID_Start # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; XID_Start # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; XID_Start # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; XID_Start # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; XID_Start # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; XID_Start # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; XID_Start # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; XID_Start # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; XID_Start # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; XID_Start # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; XID_Start # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; XID_Start # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; XID_Start # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; XID_Start # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; XID_Start # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; XID_Start # Lo KHAROSHTHI LETTER A
-10A10..10A13 ; XID_Start # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; XID_Start # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; XID_Start # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A60..10A7C ; XID_Start # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; XID_Start # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; XID_Start # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; XID_Start # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; XID_Start # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11083..110AF ; XID_Start # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-12000..1236E ; XID_Start # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; XID_Start # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D400..1D454 ; XID_Start # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; XID_Start # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; XID_Start # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; XID_Start # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; XID_Start # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; XID_Start # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; XID_Start # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; XID_Start # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; XID_Start # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; XID_Start # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; XID_Start # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; XID_Start # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; XID_Start # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; XID_Start # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; XID_Start # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; XID_Start # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; XID_Start # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; XID_Start # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; XID_Start # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; XID_Start # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; XID_Start # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; XID_Start # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; XID_Start # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; XID_Start # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; XID_Start # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; XID_Start # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; XID_Start # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; XID_Start # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; XID_Start # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; XID_Start # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-20000..2A6D6 ; XID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; XID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 99741
-
-# ================================================
-
-# Derived Property: XID_Continue
-# Mod_ID_Continue modified for closure under NFKx
-# Modified as described in UAX #15
-# NOTE: Cf characters should be filtered out.
-# NOTE: Does NOT remove the non-NFKx characters.
-# Merely ensures that if isIdentifer(string) then isIdentifier(NFKx(string))
-# NOTE: See UAX #31 for more information
-
-0030..0039 ; XID_Continue # Nd [10] DIGIT ZERO..DIGIT NINE
-0041..005A ; XID_Continue # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-005F ; XID_Continue # Pc LOW LINE
-0061..007A ; XID_Continue # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; XID_Continue # L& FEMININE ORDINAL INDICATOR
-00B5 ; XID_Continue # L& MICRO SIGN
-00B7 ; XID_Continue # Po MIDDLE DOT
-00BA ; XID_Continue # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; XID_Continue # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; XID_Continue # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; XID_Continue # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; XID_Continue # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; XID_Continue # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; XID_Continue # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; XID_Continue # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; XID_Continue # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; XID_Continue # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; XID_Continue # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; XID_Continue # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; XID_Continue # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; XID_Continue # Lm MODIFIER LETTER VOICING
-02EE ; XID_Continue # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0300..036F ; XID_Continue # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0370..0373 ; XID_Continue # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; XID_Continue # Lm GREEK NUMERAL SIGN
-0376..0377 ; XID_Continue # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037B..037D ; XID_Continue # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; XID_Continue # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; XID_Continue # Po GREEK ANO TELEIA
-0388..038A ; XID_Continue # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; XID_Continue # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; XID_Continue # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; XID_Continue # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; XID_Continue # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-0483..0487 ; XID_Continue # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-048A..0525 ; XID_Continue # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; XID_Continue # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; XID_Continue # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0561..0587 ; XID_Continue # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0591..05BD ; XID_Continue # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; XID_Continue # Mn HEBREW POINT RAFE
-05C1..05C2 ; XID_Continue # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; XID_Continue # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; XID_Continue # Mn HEBREW POINT QAMATS QATAN
-05D0..05EA ; XID_Continue # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; XID_Continue # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-0610..061A ; XID_Continue # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-0621..063F ; XID_Continue # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; XID_Continue # Lm ARABIC TATWEEL
-0641..064A ; XID_Continue # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-064B..065E ; XID_Continue # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0660..0669 ; XID_Continue # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066E..066F ; XID_Continue # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0670 ; XID_Continue # Mn ARABIC LETTER SUPERSCRIPT ALEF
-0671..06D3 ; XID_Continue # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; XID_Continue # Lo ARABIC LETTER AE
-06D6..06DC ; XID_Continue # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DF..06E4 ; XID_Continue # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E5..06E6 ; XID_Continue # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E7..06E8 ; XID_Continue # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; XID_Continue # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-06EE..06EF ; XID_Continue # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06F0..06F9 ; XID_Continue # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-06FA..06FC ; XID_Continue # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; XID_Continue # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; XID_Continue # Lo SYRIAC LETTER ALAPH
-0711 ; XID_Continue # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0712..072F ; XID_Continue # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-0730..074A ; XID_Continue # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-074D..07A5 ; XID_Continue # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07A6..07B0 ; XID_Continue # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07B1 ; XID_Continue # Lo THAANA LETTER NAA
-07C0..07C9 ; XID_Continue # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; XID_Continue # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07EB..07F3 ; XID_Continue # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-07F4..07F5 ; XID_Continue # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; XID_Continue # Lm NKO LAJANYALAN
-0800..0815 ; XID_Continue # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-0816..0819 ; XID_Continue # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081A ; XID_Continue # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B..0823 ; XID_Continue # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0824 ; XID_Continue # Lm SAMARITAN MODIFIER LETTER SHORT A
-0825..0827 ; XID_Continue # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0828 ; XID_Continue # Lm SAMARITAN MODIFIER LETTER I
-0829..082D ; XID_Continue # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; XID_Continue # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; XID_Continue # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; XID_Continue # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093C ; XID_Continue # Mn DEVANAGARI SIGN NUKTA
-093D ; XID_Continue # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; XID_Continue # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; XID_Continue # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; XID_Continue # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; XID_Continue # Mn DEVANAGARI SIGN VIRAMA
-094E ; XID_Continue # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; XID_Continue # Lo DEVANAGARI OM
-0951..0955 ; XID_Continue # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958..0961 ; XID_Continue # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0962..0963 ; XID_Continue # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0966..096F ; XID_Continue # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0971 ; XID_Continue # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; XID_Continue # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; XID_Continue # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0981 ; XID_Continue # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; XID_Continue # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; XID_Continue # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; XID_Continue # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; XID_Continue # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; XID_Continue # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; XID_Continue # Lo BENGALI LETTER LA
-09B6..09B9 ; XID_Continue # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BC ; XID_Continue # Mn BENGALI SIGN NUKTA
-09BD ; XID_Continue # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; XID_Continue # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; XID_Continue # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; XID_Continue # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; XID_Continue # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; XID_Continue # Mn BENGALI SIGN VIRAMA
-09CE ; XID_Continue # Lo BENGALI LETTER KHANDA TA
-09D7 ; XID_Continue # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; XID_Continue # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; XID_Continue # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E2..09E3 ; XID_Continue # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-09E6..09EF ; XID_Continue # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; XID_Continue # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A01..0A02 ; XID_Continue # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; XID_Continue # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; XID_Continue # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; XID_Continue # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; XID_Continue # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; XID_Continue # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; XID_Continue # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; XID_Continue # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; XID_Continue # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3C ; XID_Continue # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; XID_Continue # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; XID_Continue # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; XID_Continue # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; XID_Continue # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; XID_Continue # Mn GURMUKHI SIGN UDAAT
-0A59..0A5C ; XID_Continue # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; XID_Continue # Lo GURMUKHI LETTER FA
-0A66..0A6F ; XID_Continue # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A70..0A71 ; XID_Continue # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A72..0A74 ; XID_Continue # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A75 ; XID_Continue # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; XID_Continue # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; XID_Continue # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; XID_Continue # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; XID_Continue # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; XID_Continue # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; XID_Continue # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; XID_Continue # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; XID_Continue # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABC ; XID_Continue # Mn GUJARATI SIGN NUKTA
-0ABD ; XID_Continue # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; XID_Continue # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; XID_Continue # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; XID_Continue # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; XID_Continue # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; XID_Continue # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; XID_Continue # Mn GUJARATI SIGN VIRAMA
-0AD0 ; XID_Continue # Lo GUJARATI OM
-0AE0..0AE1 ; XID_Continue # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE2..0AE3 ; XID_Continue # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0AE6..0AEF ; XID_Continue # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B01 ; XID_Continue # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; XID_Continue # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; XID_Continue # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; XID_Continue # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; XID_Continue # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; XID_Continue # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; XID_Continue # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; XID_Continue # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3C ; XID_Continue # Mn ORIYA SIGN NUKTA
-0B3D ; XID_Continue # Lo ORIYA SIGN AVAGRAHA
-0B3E ; XID_Continue # Mc ORIYA VOWEL SIGN AA
-0B3F ; XID_Continue # Mn ORIYA VOWEL SIGN I
-0B40 ; XID_Continue # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; XID_Continue # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; XID_Continue # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; XID_Continue # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; XID_Continue # Mn ORIYA SIGN VIRAMA
-0B56 ; XID_Continue # Mn ORIYA AI LENGTH MARK
-0B57 ; XID_Continue # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; XID_Continue # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; XID_Continue # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B62..0B63 ; XID_Continue # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B66..0B6F ; XID_Continue # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B71 ; XID_Continue # Lo ORIYA LETTER WA
-0B82 ; XID_Continue # Mn TAMIL SIGN ANUSVARA
-0B83 ; XID_Continue # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; XID_Continue # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; XID_Continue # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; XID_Continue # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; XID_Continue # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; XID_Continue # Lo TAMIL LETTER JA
-0B9E..0B9F ; XID_Continue # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; XID_Continue # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; XID_Continue # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; XID_Continue # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; XID_Continue # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; XID_Continue # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; XID_Continue # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; XID_Continue # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; XID_Continue # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; XID_Continue # Mn TAMIL SIGN VIRAMA
-0BD0 ; XID_Continue # Lo TAMIL OM
-0BD7 ; XID_Continue # Mc TAMIL AU LENGTH MARK
-0BE6..0BEF ; XID_Continue # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C01..0C03 ; XID_Continue # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; XID_Continue # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; XID_Continue # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; XID_Continue # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; XID_Continue # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; XID_Continue # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; XID_Continue # Lo TELUGU SIGN AVAGRAHA
-0C3E..0C40 ; XID_Continue # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; XID_Continue # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; XID_Continue # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; XID_Continue # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; XID_Continue # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59 ; XID_Continue # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; XID_Continue # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C62..0C63 ; XID_Continue # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C66..0C6F ; XID_Continue # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C82..0C83 ; XID_Continue # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; XID_Continue # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; XID_Continue # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; XID_Continue # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; XID_Continue # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; XID_Continue # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBC ; XID_Continue # Mn KANNADA SIGN NUKTA
-0CBD ; XID_Continue # Lo KANNADA SIGN AVAGRAHA
-0CBE ; XID_Continue # Mc KANNADA VOWEL SIGN AA
-0CBF ; XID_Continue # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; XID_Continue # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; XID_Continue # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; XID_Continue # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; XID_Continue # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; XID_Continue # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; XID_Continue # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; XID_Continue # Lo KANNADA LETTER FA
-0CE0..0CE1 ; XID_Continue # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE2..0CE3 ; XID_Continue # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0CE6..0CEF ; XID_Continue # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D02..0D03 ; XID_Continue # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; XID_Continue # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; XID_Continue # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; XID_Continue # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; XID_Continue # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; XID_Continue # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; XID_Continue # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; XID_Continue # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; XID_Continue # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; XID_Continue # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; XID_Continue # Mn MALAYALAM SIGN VIRAMA
-0D57 ; XID_Continue # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; XID_Continue # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D62..0D63 ; XID_Continue # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D66..0D6F ; XID_Continue # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D7A..0D7F ; XID_Continue # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; XID_Continue # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; XID_Continue # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; XID_Continue # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; XID_Continue # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; XID_Continue # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; XID_Continue # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCA ; XID_Continue # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; XID_Continue # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; XID_Continue # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; XID_Continue # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; XID_Continue # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; XID_Continue # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E01..0E30 ; XID_Continue # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; XID_Continue # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; XID_Continue # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; XID_Continue # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E40..0E45 ; XID_Continue # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; XID_Continue # Lm THAI CHARACTER MAIYAMOK
-0E47..0E4E ; XID_Continue # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0E50..0E59 ; XID_Continue # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E81..0E82 ; XID_Continue # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; XID_Continue # Lo LAO LETTER KHO TAM
-0E87..0E88 ; XID_Continue # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; XID_Continue # Lo LAO LETTER SO TAM
-0E8D ; XID_Continue # Lo LAO LETTER NYO
-0E94..0E97 ; XID_Continue # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; XID_Continue # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; XID_Continue # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; XID_Continue # Lo LAO LETTER LO LOOT
-0EA7 ; XID_Continue # Lo LAO LETTER WO
-0EAA..0EAB ; XID_Continue # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; XID_Continue # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; XID_Continue # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; XID_Continue # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; XID_Continue # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; XID_Continue # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; XID_Continue # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; XID_Continue # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; XID_Continue # Lm LAO KO LA
-0EC8..0ECD ; XID_Continue # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0ED0..0ED9 ; XID_Continue # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; XID_Continue # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; XID_Continue # Lo TIBETAN SYLLABLE OM
-0F18..0F19 ; XID_Continue # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F20..0F29 ; XID_Continue # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F35 ; XID_Continue # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; XID_Continue # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; XID_Continue # Mn TIBETAN MARK TSA -PHRU
-0F3E..0F3F ; XID_Continue # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; XID_Continue # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; XID_Continue # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F71..0F7E ; XID_Continue # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; XID_Continue # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F84 ; XID_Continue # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; XID_Continue # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F88..0F8B ; XID_Continue # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F97 ; XID_Continue # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; XID_Continue # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; XID_Continue # Mn TIBETAN SYMBOL PADMA GDAN
-1000..102A ; XID_Continue # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; XID_Continue # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; XID_Continue # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; XID_Continue # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; XID_Continue # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; XID_Continue # Mc MYANMAR SIGN VISARGA
-1039..103A ; XID_Continue # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; XID_Continue # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; XID_Continue # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; XID_Continue # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; XID_Continue # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1050..1055 ; XID_Continue # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; XID_Continue # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; XID_Continue # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; XID_Continue # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; XID_Continue # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; XID_Continue # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; XID_Continue # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; XID_Continue # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; XID_Continue # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; XID_Continue # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; XID_Continue # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; XID_Continue # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; XID_Continue # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; XID_Continue # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; XID_Continue # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; XID_Continue # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; XID_Continue # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E ; XID_Continue # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; XID_Continue # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; XID_Continue # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; XID_Continue # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; XID_Continue # Mn MYANMAR VOWEL SIGN AITON AI
-10A0..10C5 ; XID_Continue # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; XID_Continue # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; XID_Continue # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; XID_Continue # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; XID_Continue # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; XID_Continue # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; XID_Continue # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; XID_Continue # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; XID_Continue # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; XID_Continue # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; XID_Continue # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-135F ; XID_Continue # Mn ETHIOPIC COMBINING GEMINATION MARK
-1369..1371 ; XID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
-1380..138F ; XID_Continue # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; XID_Continue # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; XID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; XID_Continue # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; XID_Continue # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; XID_Continue # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; XID_Continue # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; XID_Continue # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; XID_Continue # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1712..1714 ; XID_Continue # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1720..1731 ; XID_Continue # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1732..1734 ; XID_Continue # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1740..1751 ; XID_Continue # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1752..1753 ; XID_Continue # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1760..176C ; XID_Continue # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; XID_Continue # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; XID_Continue # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-1780..17B3 ; XID_Continue # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B6 ; XID_Continue # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; XID_Continue # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; XID_Continue # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; XID_Continue # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; XID_Continue # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; XID_Continue # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17D7 ; XID_Continue # Lm KHMER SIGN LEK TOO
-17DC ; XID_Continue # Lo KHMER SIGN AVAKRAHASANYA
-17DD ; XID_Continue # Mn KHMER SIGN ATTHACAN
-17E0..17E9 ; XID_Continue # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-180B..180D ; XID_Continue # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-1810..1819 ; XID_Continue # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; XID_Continue # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; XID_Continue # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; XID_Continue # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; XID_Continue # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 ; XID_Continue # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-18AA ; XID_Continue # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; XID_Continue # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; XID_Continue # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..1922 ; XID_Continue # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; XID_Continue # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; XID_Continue # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; XID_Continue # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; XID_Continue # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; XID_Continue # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; XID_Continue # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; XID_Continue # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1946..194F ; XID_Continue # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-1950..196D ; XID_Continue # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; XID_Continue # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; XID_Continue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; XID_Continue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; XID_Continue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; XID_Continue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; XID_Continue # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A00..1A16 ; XID_Continue # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A17..1A18 ; XID_Continue # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; XID_Continue # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A20..1A54 ; XID_Continue # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; XID_Continue # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; XID_Continue # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; XID_Continue # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; XID_Continue # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; XID_Continue # Mn TAI THAM SIGN SAKOT
-1A61 ; XID_Continue # Mc TAI THAM VOWEL SIGN A
-1A62 ; XID_Continue # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; XID_Continue # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; XID_Continue # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; XID_Continue # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; XID_Continue # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; XID_Continue # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80..1A89 ; XID_Continue # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; XID_Continue # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA7 ; XID_Continue # Lm TAI THAM SIGN MAI YAMOK
-1B00..1B03 ; XID_Continue # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; XID_Continue # Mc BALINESE SIGN BISAH
-1B05..1B33 ; XID_Continue # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B34 ; XID_Continue # Mn BALINESE SIGN REREKAN
-1B35 ; XID_Continue # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; XID_Continue # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; XID_Continue # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; XID_Continue # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; XID_Continue # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; XID_Continue # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; XID_Continue # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B45..1B4B ; XID_Continue # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; XID_Continue # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B6B..1B73 ; XID_Continue # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; XID_Continue # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; XID_Continue # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; XID_Continue # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; XID_Continue # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; XID_Continue # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; XID_Continue # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; XID_Continue # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; XID_Continue # Mc SUNDANESE SIGN PAMAAEH
-1BAE..1BAF ; XID_Continue # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; XID_Continue # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C00..1C23 ; XID_Continue # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; XID_Continue # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; XID_Continue # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; XID_Continue # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; XID_Continue # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1C40..1C49 ; XID_Continue # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; XID_Continue # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C50..1C59 ; XID_Continue # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; XID_Continue # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; XID_Continue # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CD0..1CD2 ; XID_Continue # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; XID_Continue # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; XID_Continue # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; XID_Continue # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CE9..1CEC ; XID_Continue # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CED ; XID_Continue # Mn VEDIC SIGN TIRYAK
-1CEE..1CF1 ; XID_Continue # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; XID_Continue # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; XID_Continue # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; XID_Continue # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; XID_Continue # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; XID_Continue # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; XID_Continue # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; XID_Continue # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DE6 ; XID_Continue # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; XID_Continue # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1E00..1F15 ; XID_Continue # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; XID_Continue # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; XID_Continue # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; XID_Continue # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; XID_Continue # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; XID_Continue # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; XID_Continue # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; XID_Continue # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; XID_Continue # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; XID_Continue # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; XID_Continue # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; XID_Continue # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; XID_Continue # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; XID_Continue # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; XID_Continue # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; XID_Continue # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; XID_Continue # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; XID_Continue # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; XID_Continue # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-203F..2040 ; XID_Continue # Pc [2] UNDERTIE..CHARACTER TIE
-2054 ; XID_Continue # Pc INVERTED UNDERTIE
-2071 ; XID_Continue # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; XID_Continue # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; XID_Continue # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20D0..20DC ; XID_Continue # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20E1 ; XID_Continue # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E5..20F0 ; XID_Continue # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2102 ; XID_Continue # L& DOUBLE-STRUCK CAPITAL C
-2107 ; XID_Continue # L& EULER CONSTANT
-210A..2113 ; XID_Continue # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; XID_Continue # L& DOUBLE-STRUCK CAPITAL N
-2118 ; XID_Continue # So SCRIPT CAPITAL P
-2119..211D ; XID_Continue # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; XID_Continue # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; XID_Continue # L& OHM SIGN
-2128 ; XID_Continue # L& BLACK-LETTER CAPITAL Z
-212A..212D ; XID_Continue # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212E ; XID_Continue # So ESTIMATED SYMBOL
-212F..2134 ; XID_Continue # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; XID_Continue # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; XID_Continue # L& INFORMATION SOURCE
-213C..213F ; XID_Continue # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; XID_Continue # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; XID_Continue # L& TURNED SMALL F
-2160..2182 ; XID_Continue # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; XID_Continue # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; XID_Continue # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2C00..2C2E ; XID_Continue # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; XID_Continue # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; XID_Continue # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; XID_Continue # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; XID_Continue # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; XID_Continue # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF..2CF1 ; XID_Continue # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2D00..2D25 ; XID_Continue # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; XID_Continue # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; XID_Continue # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; XID_Continue # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2DE0..2DFF ; XID_Continue # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-3005 ; XID_Continue # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; XID_Continue # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; XID_Continue # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; XID_Continue # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-302A..302F ; XID_Continue # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3031..3035 ; XID_Continue # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; XID_Continue # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; XID_Continue # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; XID_Continue # Lo MASU MARK
-3041..3096 ; XID_Continue # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-3099..309A ; XID_Continue # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; XID_Continue # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; XID_Continue # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; XID_Continue # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; XID_Continue # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; XID_Continue # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; XID_Continue # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; XID_Continue # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; XID_Continue # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; XID_Continue # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; XID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; XID_Continue # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; XID_Continue # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; XID_Continue # Lm YI SYLLABLE WU
-A016..A48C ; XID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; XID_Continue # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; XID_Continue # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; XID_Continue # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; XID_Continue # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; XID_Continue # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; XID_Continue # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; XID_Continue # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; XID_Continue # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; XID_Continue # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; XID_Continue # Lo CYRILLIC LETTER MULTIOCULAR O
-A66F ; XID_Continue # Mn COMBINING CYRILLIC VZMET
-A67C..A67D ; XID_Continue # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A67F ; XID_Continue # Lm CYRILLIC PAYEROK
-A680..A697 ; XID_Continue # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; XID_Continue # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; XID_Continue # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F0..A6F1 ; XID_Continue # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A717..A71F ; XID_Continue # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A76F ; XID_Continue # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; XID_Continue # Lm MODIFIER LETTER US
-A771..A787 ; XID_Continue # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; XID_Continue # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A78B..A78C ; XID_Continue # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; XID_Continue # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A802 ; XID_Continue # Mn SYLOTI NAGRI SIGN DVISVARA
-A803..A805 ; XID_Continue # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A806 ; XID_Continue # Mn SYLOTI NAGRI SIGN HASANTA
-A807..A80A ; XID_Continue # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80B ; XID_Continue # Mn SYLOTI NAGRI SIGN ANUSVARA
-A80C..A822 ; XID_Continue # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; XID_Continue # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; XID_Continue # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; XID_Continue # Mc SYLOTI NAGRI VOWEL SIGN OO
-A840..A873 ; XID_Continue # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A880..A881 ; XID_Continue # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; XID_Continue # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; XID_Continue # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; XID_Continue # Mn SAURASHTRA SIGN VIRAMA
-A8D0..A8D9 ; XID_Continue # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A8E0..A8F1 ; XID_Continue # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2..A8F7 ; XID_Continue # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; XID_Continue # Lo DEVANAGARI HEADSTROKE
-A900..A909 ; XID_Continue # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; XID_Continue # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A926..A92D ; XID_Continue # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A930..A946 ; XID_Continue # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A947..A951 ; XID_Continue # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; XID_Continue # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A960..A97C ; XID_Continue # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A980..A982 ; XID_Continue # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; XID_Continue # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; XID_Continue # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B3 ; XID_Continue # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; XID_Continue # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; XID_Continue # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; XID_Continue # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; XID_Continue # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; XID_Continue # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-A9CF ; XID_Continue # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; XID_Continue # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA00..AA28 ; XID_Continue # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA29..AA2E ; XID_Continue # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; XID_Continue # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; XID_Continue # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; XID_Continue # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; XID_Continue # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA40..AA42 ; XID_Continue # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA43 ; XID_Continue # Mn CHAM CONSONANT SIGN FINAL NG
-AA44..AA4B ; XID_Continue # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4C ; XID_Continue # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; XID_Continue # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; XID_Continue # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA60..AA6F ; XID_Continue # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; XID_Continue # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; XID_Continue # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; XID_Continue # Lo MYANMAR LETTER AITON RA
-AA7B ; XID_Continue # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; XID_Continue # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB0 ; XID_Continue # Mn TAI VIET MAI KANG
-AAB1 ; XID_Continue # Lo TAI VIET VOWEL AA
-AAB2..AAB4 ; XID_Continue # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB5..AAB6 ; XID_Continue # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB7..AAB8 ; XID_Continue # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AAB9..AABD ; XID_Continue # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AABE..AABF ; XID_Continue # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC0 ; XID_Continue # Lo TAI VIET TONE MAI NUENG
-AAC1 ; XID_Continue # Mn TAI VIET TONE MAI THO
-AAC2 ; XID_Continue # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; XID_Continue # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; XID_Continue # Lm TAI VIET SYMBOL SAM
-ABC0..ABE2 ; XID_Continue # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; XID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; XID_Continue # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; XID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; XID_Continue # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; XID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; XID_Continue # Mc MEETEI MAYEK LUM IYEK
-ABED ; XID_Continue # Mn MEETEI MAYEK APUN IYEK
-ABF0..ABF9 ; XID_Continue # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-AC00..D7A3 ; XID_Continue # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; XID_Continue # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; XID_Continue # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; XID_Continue # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; XID_Continue # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; XID_Continue # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; XID_Continue # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; XID_Continue # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; XID_Continue # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1E ; XID_Continue # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F..FB28 ; XID_Continue # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; XID_Continue # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; XID_Continue # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; XID_Continue # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; XID_Continue # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; XID_Continue # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; XID_Continue # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FC5D ; XID_Continue # Lo [139] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC64..FD3D ; XID_Continue # Lo [218] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; XID_Continue # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; XID_Continue # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDF9 ; XID_Continue # Lo [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM
-FE00..FE0F ; XID_Continue # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; XID_Continue # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FE33..FE34 ; XID_Continue # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE4D..FE4F ; XID_Continue # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE71 ; XID_Continue # Lo ARABIC TATWEEL WITH FATHATAN ABOVE
-FE73 ; XID_Continue # Lo ARABIC TAIL FRAGMENT
-FE77 ; XID_Continue # Lo ARABIC FATHA MEDIAL FORM
-FE79 ; XID_Continue # Lo ARABIC DAMMA MEDIAL FORM
-FE7B ; XID_Continue # Lo ARABIC KASRA MEDIAL FORM
-FE7D ; XID_Continue # Lo ARABIC SHADDA MEDIAL FORM
-FE7F..FEFC ; XID_Continue # Lo [126] ARABIC SUKUN MEDIAL FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF10..FF19 ; XID_Continue # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF21..FF3A ; XID_Continue # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3F ; XID_Continue # Pc FULLWIDTH LOW LINE
-FF41..FF5A ; XID_Continue # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF66..FF6F ; XID_Continue # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; XID_Continue # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; XID_Continue # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; XID_Continue # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; XID_Continue # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; XID_Continue # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; XID_Continue # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; XID_Continue # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; XID_Continue # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; XID_Continue # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; XID_Continue # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; XID_Continue # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; XID_Continue # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; XID_Continue # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; XID_Continue # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; XID_Continue # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-101FD ; XID_Continue # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280..1029C ; XID_Continue # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; XID_Continue # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; XID_Continue # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; XID_Continue # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; XID_Continue # Nl GOTHIC LETTER NINETY
-10342..10349 ; XID_Continue # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; XID_Continue # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; XID_Continue # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; XID_Continue # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; XID_Continue # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; XID_Continue # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; XID_Continue # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; XID_Continue # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-104A0..104A9 ; XID_Continue # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-10800..10805 ; XID_Continue # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; XID_Continue # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; XID_Continue # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; XID_Continue # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; XID_Continue # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; XID_Continue # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; XID_Continue # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; XID_Continue # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; XID_Continue # Lo KHAROSHTHI LETTER A
-10A01..10A03 ; XID_Continue # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; XID_Continue # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; XID_Continue # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A10..10A13 ; XID_Continue # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; XID_Continue # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; XID_Continue # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A38..10A3A ; XID_Continue # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; XID_Continue # Mn KHAROSHTHI VIRAMA
-10A60..10A7C ; XID_Continue # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; XID_Continue # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; XID_Continue # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; XID_Continue # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; XID_Continue # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11080..11081 ; XID_Continue # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; XID_Continue # Mc KAITHI SIGN VISARGA
-11083..110AF ; XID_Continue # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; XID_Continue # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; XID_Continue # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; XID_Continue # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; XID_Continue # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-12000..1236E ; XID_Continue # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; XID_Continue # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D165..1D166 ; XID_Continue # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167..1D169 ; XID_Continue # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16D..1D172 ; XID_Continue # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; XID_Continue # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; XID_Continue # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; XID_Continue # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; XID_Continue # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-1D400..1D454 ; XID_Continue # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; XID_Continue # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; XID_Continue # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; XID_Continue # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; XID_Continue # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; XID_Continue # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; XID_Continue # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; XID_Continue # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; XID_Continue # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; XID_Continue # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; XID_Continue # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; XID_Continue # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; XID_Continue # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; XID_Continue # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; XID_Continue # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; XID_Continue # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; XID_Continue # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; XID_Continue # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; XID_Continue # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; XID_Continue # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; XID_Continue # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; XID_Continue # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; XID_Continue # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; XID_Continue # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; XID_Continue # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; XID_Continue # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; XID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; XID_Continue # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; XID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; XID_Continue # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; XID_Continue # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-20000..2A6D6 ; XID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; XID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0100..E01EF ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 101615
-
-# ================================================
-
-# Derived Property: Default_Ignorable_Code_Point
-# Generated from
-# Other_Default_Ignorable_Code_Point
-# + Cf (Format characters)
-# + Variation_Selector
-# - White_Space
-# - FFF9..FFFB (Annotation Characters)
-# - 0600..0603, 06DD, 070F (exceptional Cf characters that should be visible)
-
-00AD ; Default_Ignorable_Code_Point # Cf SOFT HYPHEN
-034F ; Default_Ignorable_Code_Point # Mn COMBINING GRAPHEME JOINER
-115F..1160 ; Default_Ignorable_Code_Point # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-17B4..17B5 ; Default_Ignorable_Code_Point # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-180B..180D ; Default_Ignorable_Code_Point # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-200B..200F ; Default_Ignorable_Code_Point # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-202A..202E ; Default_Ignorable_Code_Point # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; Default_Ignorable_Code_Point # Cf [5] WORD JOINER..INVISIBLE PLUS
-2065..2069 ; Default_Ignorable_Code_Point # Cn [5] <reserved-2065>..<reserved-2069>
-206A..206F ; Default_Ignorable_Code_Point # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-3164 ; Default_Ignorable_Code_Point # Lo HANGUL FILLER
-FE00..FE0F ; Default_Ignorable_Code_Point # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FEFF ; Default_Ignorable_Code_Point # Cf ZERO WIDTH NO-BREAK SPACE
-FFA0 ; Default_Ignorable_Code_Point # Lo HALFWIDTH HANGUL FILLER
-FFF0..FFF8 ; Default_Ignorable_Code_Point # Cn [9] <reserved-FFF0>..<reserved-FFF8>
-1D173..1D17A ; Default_Ignorable_Code_Point # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-E0000 ; Default_Ignorable_Code_Point # Cn <reserved-E0000>
-E0001 ; Default_Ignorable_Code_Point # Cf LANGUAGE TAG
-E0002..E001F ; Default_Ignorable_Code_Point # Cn [30] <reserved-E0002>..<reserved-E001F>
-E0020..E007F ; Default_Ignorable_Code_Point # Cf [96] TAG SPACE..CANCEL TAG
-E0080..E00FF ; Default_Ignorable_Code_Point # Cn [128] <reserved-E0080>..<reserved-E00FF>
-E0100..E01EF ; Default_Ignorable_Code_Point # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-E01F0..E0FFF ; Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
-
-# Total code points: 4167
-
-# ================================================
-
-# Derived Property: Grapheme_Extend
-# Generated from: Me + Mn + Other_Grapheme_Extend
-# Note: depending on an application's interpretation of Co (private use),
-# they may be either in Grapheme_Base, or in Grapheme_Extend, or in neither.
-
-0300..036F ; Grapheme_Extend # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; Grapheme_Extend # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; Grapheme_Extend # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; Grapheme_Extend # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; Grapheme_Extend # Mn HEBREW POINT RAFE
-05C1..05C2 ; Grapheme_Extend # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Grapheme_Extend # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Grapheme_Extend # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; Grapheme_Extend # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; Grapheme_Extend # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; Grapheme_Extend # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Grapheme_Extend # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; Grapheme_Extend # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; Grapheme_Extend # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; Grapheme_Extend # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; Grapheme_Extend # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; Grapheme_Extend # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; Grapheme_Extend # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Grapheme_Extend # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Grapheme_Extend # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; Grapheme_Extend # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; Grapheme_Extend # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; Grapheme_Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; Grapheme_Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; Grapheme_Extend # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-093C ; Grapheme_Extend # Mn DEVANAGARI SIGN NUKTA
-0941..0948 ; Grapheme_Extend # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-094D ; Grapheme_Extend # Mn DEVANAGARI SIGN VIRAMA
-0951..0955 ; Grapheme_Extend # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Grapheme_Extend # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; Grapheme_Extend # Mn BENGALI SIGN CANDRABINDU
-09BC ; Grapheme_Extend # Mn BENGALI SIGN NUKTA
-09BE ; Grapheme_Extend # Mc BENGALI VOWEL SIGN AA
-09C1..09C4 ; Grapheme_Extend # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09CD ; Grapheme_Extend # Mn BENGALI SIGN VIRAMA
-09D7 ; Grapheme_Extend # Mc BENGALI AU LENGTH MARK
-09E2..09E3 ; Grapheme_Extend # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Grapheme_Extend # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A3C ; Grapheme_Extend # Mn GURMUKHI SIGN NUKTA
-0A41..0A42 ; Grapheme_Extend # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Grapheme_Extend # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Grapheme_Extend # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Grapheme_Extend # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; Grapheme_Extend # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Grapheme_Extend # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Grapheme_Extend # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0ABC ; Grapheme_Extend # Mn GUJARATI SIGN NUKTA
-0AC1..0AC5 ; Grapheme_Extend # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Grapheme_Extend # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0ACD ; Grapheme_Extend # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; Grapheme_Extend # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Grapheme_Extend # Mn ORIYA SIGN CANDRABINDU
-0B3C ; Grapheme_Extend # Mn ORIYA SIGN NUKTA
-0B3E ; Grapheme_Extend # Mc ORIYA VOWEL SIGN AA
-0B3F ; Grapheme_Extend # Mn ORIYA VOWEL SIGN I
-0B41..0B44 ; Grapheme_Extend # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B4D ; Grapheme_Extend # Mn ORIYA SIGN VIRAMA
-0B56 ; Grapheme_Extend # Mn ORIYA AI LENGTH MARK
-0B57 ; Grapheme_Extend # Mc ORIYA AU LENGTH MARK
-0B62..0B63 ; Grapheme_Extend # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Grapheme_Extend # Mn TAMIL SIGN ANUSVARA
-0BBE ; Grapheme_Extend # Mc TAMIL VOWEL SIGN AA
-0BC0 ; Grapheme_Extend # Mn TAMIL VOWEL SIGN II
-0BCD ; Grapheme_Extend # Mn TAMIL SIGN VIRAMA
-0BD7 ; Grapheme_Extend # Mc TAMIL AU LENGTH MARK
-0C3E..0C40 ; Grapheme_Extend # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C46..0C48 ; Grapheme_Extend # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Grapheme_Extend # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Grapheme_Extend # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Grapheme_Extend # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0CBC ; Grapheme_Extend # Mn KANNADA SIGN NUKTA
-0CBF ; Grapheme_Extend # Mn KANNADA VOWEL SIGN I
-0CC2 ; Grapheme_Extend # Mc KANNADA VOWEL SIGN UU
-0CC6 ; Grapheme_Extend # Mn KANNADA VOWEL SIGN E
-0CCC..0CCD ; Grapheme_Extend # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; Grapheme_Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CE2..0CE3 ; Grapheme_Extend # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D3E ; Grapheme_Extend # Mc MALAYALAM VOWEL SIGN AA
-0D41..0D44 ; Grapheme_Extend # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D4D ; Grapheme_Extend # Mn MALAYALAM SIGN VIRAMA
-0D57 ; Grapheme_Extend # Mc MALAYALAM AU LENGTH MARK
-0D62..0D63 ; Grapheme_Extend # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0DCA ; Grapheme_Extend # Mn SINHALA SIGN AL-LAKUNA
-0DCF ; Grapheme_Extend # Mc SINHALA VOWEL SIGN AELA-PILLA
-0DD2..0DD4 ; Grapheme_Extend # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Grapheme_Extend # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DDF ; Grapheme_Extend # Mc SINHALA VOWEL SIGN GAYANUKITTA
-0E31 ; Grapheme_Extend # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; Grapheme_Extend # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E47..0E4E ; Grapheme_Extend # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; Grapheme_Extend # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; Grapheme_Extend # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Grapheme_Extend # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; Grapheme_Extend # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; Grapheme_Extend # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Grapheme_Extend # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Grapheme_Extend # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Grapheme_Extend # Mn TIBETAN MARK TSA -PHRU
-0F71..0F7E ; Grapheme_Extend # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; Grapheme_Extend # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; Grapheme_Extend # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; Grapheme_Extend # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Grapheme_Extend # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; Grapheme_Extend # Mn TIBETAN SYMBOL PADMA GDAN
-102D..1030 ; Grapheme_Extend # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1032..1037 ; Grapheme_Extend # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1039..103A ; Grapheme_Extend # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103D..103E ; Grapheme_Extend # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1058..1059 ; Grapheme_Extend # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Grapheme_Extend # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1071..1074 ; Grapheme_Extend # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Grapheme_Extend # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1085..1086 ; Grapheme_Extend # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108D ; Grapheme_Extend # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-109D ; Grapheme_Extend # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; Grapheme_Extend # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; Grapheme_Extend # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; Grapheme_Extend # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; Grapheme_Extend # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Grapheme_Extend # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B7..17BD ; Grapheme_Extend # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17C6 ; Grapheme_Extend # Mn KHMER SIGN NIKAHIT
-17C9..17D3 ; Grapheme_Extend # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; Grapheme_Extend # Mn KHMER SIGN ATTHACAN
-180B..180D ; Grapheme_Extend # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; Grapheme_Extend # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Grapheme_Extend # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1927..1928 ; Grapheme_Extend # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1932 ; Grapheme_Extend # Mn LIMBU SMALL LETTER ANUSVARA
-1939..193B ; Grapheme_Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; Grapheme_Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A56 ; Grapheme_Extend # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A58..1A5E ; Grapheme_Extend # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Grapheme_Extend # Mn TAI THAM SIGN SAKOT
-1A62 ; Grapheme_Extend # Mn TAI THAM VOWEL SIGN MAI SAT
-1A65..1A6C ; Grapheme_Extend # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A73..1A7C ; Grapheme_Extend # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Grapheme_Extend # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; Grapheme_Extend # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B34 ; Grapheme_Extend # Mn BALINESE SIGN REREKAN
-1B36..1B3A ; Grapheme_Extend # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3C ; Grapheme_Extend # Mn BALINESE VOWEL SIGN LA LENGA
-1B42 ; Grapheme_Extend # Mn BALINESE VOWEL SIGN PEPET
-1B6B..1B73 ; Grapheme_Extend # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; Grapheme_Extend # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1BA2..1BA5 ; Grapheme_Extend # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA8..1BA9 ; Grapheme_Extend # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C2C..1C33 ; Grapheme_Extend # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C36..1C37 ; Grapheme_Extend # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; Grapheme_Extend # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Grapheme_Extend # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; Grapheme_Extend # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Grapheme_Extend # Mn VEDIC SIGN TIRYAK
-1DC0..1DE6 ; Grapheme_Extend # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Grapheme_Extend # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200C..200D ; Grapheme_Extend # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-20D0..20DC ; Grapheme_Extend # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; Grapheme_Extend # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; Grapheme_Extend # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; Grapheme_Extend # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; Grapheme_Extend # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; Grapheme_Extend # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; Grapheme_Extend # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; Grapheme_Extend # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Grapheme_Extend # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; Grapheme_Extend # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; Grapheme_Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; Grapheme_Extend # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; Grapheme_Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; Grapheme_Extend # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; Grapheme_Extend # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; Grapheme_Extend # Mn SYLOTI NAGRI SIGN ANUSVARA
-A825..A826 ; Grapheme_Extend # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A8C4 ; Grapheme_Extend # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Grapheme_Extend # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; Grapheme_Extend # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; Grapheme_Extend # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A980..A982 ; Grapheme_Extend # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A9B3 ; Grapheme_Extend # Mn JAVANESE SIGN CECAK TELU
-A9B6..A9B9 ; Grapheme_Extend # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BC ; Grapheme_Extend # Mn JAVANESE VOWEL SIGN PEPET
-AA29..AA2E ; Grapheme_Extend # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA31..AA32 ; Grapheme_Extend # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA35..AA36 ; Grapheme_Extend # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Grapheme_Extend # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; Grapheme_Extend # Mn CHAM CONSONANT SIGN FINAL M
-AAB0 ; Grapheme_Extend # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; Grapheme_Extend # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Grapheme_Extend # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; Grapheme_Extend # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; Grapheme_Extend # Mn TAI VIET TONE MAI THO
-ABE5 ; Grapheme_Extend # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE8 ; Grapheme_Extend # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABED ; Grapheme_Extend # Mn MEETEI MAYEK APUN IYEK
-FB1E ; Grapheme_Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; Grapheme_Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; Grapheme_Extend # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FF9E..FF9F ; Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-101FD ; Grapheme_Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; Grapheme_Extend # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Grapheme_Extend # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Grapheme_Extend # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; Grapheme_Extend # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Grapheme_Extend # Mn KHAROSHTHI VIRAMA
-11080..11081 ; Grapheme_Extend # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-110B3..110B6 ; Grapheme_Extend # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B9..110BA ; Grapheme_Extend # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D165 ; Grapheme_Extend # Mc MUSICAL SYMBOL COMBINING STEM
-1D167..1D169 ; Grapheme_Extend # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16E..1D172 ; Grapheme_Extend # Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; Grapheme_Extend # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Grapheme_Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Grapheme_Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; Grapheme_Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0100..E01EF ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1198
-
-# ================================================
-
-# Derived Property: Grapheme_Base
-# Generated from: [0..10FFFF] - Cc - Cf - Cs - Co - Cn - Zl - Zp - Grapheme_Extend
-# Note: depending on an application's interpretation of Co (private use),
-# they may be either in Grapheme_Base, or in Grapheme_Extend, or in neither.
-
-0020 ; Grapheme_Base # Zs SPACE
-0021..0023 ; Grapheme_Base # Po [3] EXCLAMATION MARK..NUMBER SIGN
-0024 ; Grapheme_Base # Sc DOLLAR SIGN
-0025..0027 ; Grapheme_Base # Po [3] PERCENT SIGN..APOSTROPHE
-0028 ; Grapheme_Base # Ps LEFT PARENTHESIS
-0029 ; Grapheme_Base # Pe RIGHT PARENTHESIS
-002A ; Grapheme_Base # Po ASTERISK
-002B ; Grapheme_Base # Sm PLUS SIGN
-002C ; Grapheme_Base # Po COMMA
-002D ; Grapheme_Base # Pd HYPHEN-MINUS
-002E..002F ; Grapheme_Base # Po [2] FULL STOP..SOLIDUS
-0030..0039 ; Grapheme_Base # Nd [10] DIGIT ZERO..DIGIT NINE
-003A..003B ; Grapheme_Base # Po [2] COLON..SEMICOLON
-003C..003E ; Grapheme_Base # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-003F..0040 ; Grapheme_Base # Po [2] QUESTION MARK..COMMERCIAL AT
-0041..005A ; Grapheme_Base # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-005B ; Grapheme_Base # Ps LEFT SQUARE BRACKET
-005C ; Grapheme_Base # Po REVERSE SOLIDUS
-005D ; Grapheme_Base # Pe RIGHT SQUARE BRACKET
-005E ; Grapheme_Base # Sk CIRCUMFLEX ACCENT
-005F ; Grapheme_Base # Pc LOW LINE
-0060 ; Grapheme_Base # Sk GRAVE ACCENT
-0061..007A ; Grapheme_Base # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-007B ; Grapheme_Base # Ps LEFT CURLY BRACKET
-007C ; Grapheme_Base # Sm VERTICAL LINE
-007D ; Grapheme_Base # Pe RIGHT CURLY BRACKET
-007E ; Grapheme_Base # Sm TILDE
-00A0 ; Grapheme_Base # Zs NO-BREAK SPACE
-00A1 ; Grapheme_Base # Po INVERTED EXCLAMATION MARK
-00A2..00A5 ; Grapheme_Base # Sc [4] CENT SIGN..YEN SIGN
-00A6..00A7 ; Grapheme_Base # So [2] BROKEN BAR..SECTION SIGN
-00A8 ; Grapheme_Base # Sk DIAERESIS
-00A9 ; Grapheme_Base # So COPYRIGHT SIGN
-00AA ; Grapheme_Base # L& FEMININE ORDINAL INDICATOR
-00AB ; Grapheme_Base # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; Grapheme_Base # Sm NOT SIGN
-00AE ; Grapheme_Base # So REGISTERED SIGN
-00AF ; Grapheme_Base # Sk MACRON
-00B0 ; Grapheme_Base # So DEGREE SIGN
-00B1 ; Grapheme_Base # Sm PLUS-MINUS SIGN
-00B2..00B3 ; Grapheme_Base # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; Grapheme_Base # Sk ACUTE ACCENT
-00B5 ; Grapheme_Base # L& MICRO SIGN
-00B6 ; Grapheme_Base # So PILCROW SIGN
-00B7 ; Grapheme_Base # Po MIDDLE DOT
-00B8 ; Grapheme_Base # Sk CEDILLA
-00B9 ; Grapheme_Base # No SUPERSCRIPT ONE
-00BA ; Grapheme_Base # L& MASCULINE ORDINAL INDICATOR
-00BB ; Grapheme_Base # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC..00BE ; Grapheme_Base # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00BF ; Grapheme_Base # Po INVERTED QUESTION MARK
-00C0..00D6 ; Grapheme_Base # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D7 ; Grapheme_Base # Sm MULTIPLICATION SIGN
-00D8..00F6 ; Grapheme_Base # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F7 ; Grapheme_Base # Sm DIVISION SIGN
-00F8..01BA ; Grapheme_Base # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; Grapheme_Base # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; Grapheme_Base # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; Grapheme_Base # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; Grapheme_Base # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; Grapheme_Base # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; Grapheme_Base # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; Grapheme_Base # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C5 ; Grapheme_Base # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6..02D1 ; Grapheme_Base # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02DF ; Grapheme_Base # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E0..02E4 ; Grapheme_Base # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5..02EB ; Grapheme_Base # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; Grapheme_Base # Lm MODIFIER LETTER VOICING
-02ED ; Grapheme_Base # Sk MODIFIER LETTER UNASPIRATED
-02EE ; Grapheme_Base # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; Grapheme_Base # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0370..0373 ; Grapheme_Base # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; Grapheme_Base # Lm GREEK NUMERAL SIGN
-0375 ; Grapheme_Base # Sk GREEK LOWER NUMERAL SIGN
-0376..0377 ; Grapheme_Base # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; Grapheme_Base # Lm GREEK YPOGEGRAMMENI
-037B..037D ; Grapheme_Base # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-037E ; Grapheme_Base # Po GREEK QUESTION MARK
-0384..0385 ; Grapheme_Base # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; Grapheme_Base # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; Grapheme_Base # Po GREEK ANO TELEIA
-0388..038A ; Grapheme_Base # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Grapheme_Base # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; Grapheme_Base # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; Grapheme_Base # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F6 ; Grapheme_Base # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7..0481 ; Grapheme_Base # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-0482 ; Grapheme_Base # So CYRILLIC THOUSANDS SIGN
-048A..0525 ; Grapheme_Base # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; Grapheme_Base # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; Grapheme_Base # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A..055F ; Grapheme_Base # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0561..0587 ; Grapheme_Base # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0589 ; Grapheme_Base # Po ARMENIAN FULL STOP
-058A ; Grapheme_Base # Pd ARMENIAN HYPHEN
-05BE ; Grapheme_Base # Pd HEBREW PUNCTUATION MAQAF
-05C0 ; Grapheme_Base # Po HEBREW PUNCTUATION PASEQ
-05C3 ; Grapheme_Base # Po HEBREW PUNCTUATION SOF PASUQ
-05C6 ; Grapheme_Base # Po HEBREW PUNCTUATION NUN HAFUKHA
-05D0..05EA ; Grapheme_Base # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; Grapheme_Base # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3..05F4 ; Grapheme_Base # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0606..0608 ; Grapheme_Base # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-0609..060A ; Grapheme_Base # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-060B ; Grapheme_Base # Sc AFGHANI SIGN
-060C..060D ; Grapheme_Base # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-060E..060F ; Grapheme_Base # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-061B ; Grapheme_Base # Po ARABIC SEMICOLON
-061E..061F ; Grapheme_Base # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
-0621..063F ; Grapheme_Base # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; Grapheme_Base # Lm ARABIC TATWEEL
-0641..064A ; Grapheme_Base # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-0660..0669 ; Grapheme_Base # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066A..066D ; Grapheme_Base # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
-066E..066F ; Grapheme_Base # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; Grapheme_Base # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4 ; Grapheme_Base # Po ARABIC FULL STOP
-06D5 ; Grapheme_Base # Lo ARABIC LETTER AE
-06E5..06E6 ; Grapheme_Base # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E9 ; Grapheme_Base # So ARABIC PLACE OF SAJDAH
-06EE..06EF ; Grapheme_Base # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06F0..06F9 ; Grapheme_Base # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-06FA..06FC ; Grapheme_Base # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FD..06FE ; Grapheme_Base # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ; Grapheme_Base # Lo ARABIC LETTER HEH WITH INVERTED V
-0700..070D ; Grapheme_Base # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-0710 ; Grapheme_Base # Lo SYRIAC LETTER ALAPH
-0712..072F ; Grapheme_Base # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; Grapheme_Base # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; Grapheme_Base # Lo THAANA LETTER NAA
-07C0..07C9 ; Grapheme_Base # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; Grapheme_Base # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; Grapheme_Base # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07F6 ; Grapheme_Base # So NKO SYMBOL OO DENNEN
-07F7..07F9 ; Grapheme_Base # Po [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
-07FA ; Grapheme_Base # Lm NKO LAJANYALAN
-0800..0815 ; Grapheme_Base # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; Grapheme_Base # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; Grapheme_Base # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; Grapheme_Base # Lm SAMARITAN MODIFIER LETTER I
-0830..083E ; Grapheme_Base # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0903 ; Grapheme_Base # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; Grapheme_Base # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; Grapheme_Base # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; Grapheme_Base # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0949..094C ; Grapheme_Base # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; Grapheme_Base # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; Grapheme_Base # Lo DEVANAGARI OM
-0958..0961 ; Grapheme_Base # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0964..0965 ; Grapheme_Base # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0966..096F ; Grapheme_Base # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0970 ; Grapheme_Base # Po DEVANAGARI ABBREVIATION SIGN
-0971 ; Grapheme_Base # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; Grapheme_Base # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; Grapheme_Base # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0982..0983 ; Grapheme_Base # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; Grapheme_Base # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; Grapheme_Base # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; Grapheme_Base # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; Grapheme_Base # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; Grapheme_Base # Lo BENGALI LETTER LA
-09B6..09B9 ; Grapheme_Base # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; Grapheme_Base # Lo BENGALI SIGN AVAGRAHA
-09BF..09C0 ; Grapheme_Base # Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
-09C7..09C8 ; Grapheme_Base # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Grapheme_Base # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CE ; Grapheme_Base # Lo BENGALI LETTER KHANDA TA
-09DC..09DD ; Grapheme_Base # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; Grapheme_Base # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E6..09EF ; Grapheme_Base # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; Grapheme_Base # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2..09F3 ; Grapheme_Base # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09F4..09F9 ; Grapheme_Base # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; Grapheme_Base # So BENGALI ISSHAR
-09FB ; Grapheme_Base # Sc BENGALI GANDA MARK
-0A03 ; Grapheme_Base # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; Grapheme_Base # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; Grapheme_Base # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; Grapheme_Base # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; Grapheme_Base # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; Grapheme_Base # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; Grapheme_Base # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; Grapheme_Base # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3E..0A40 ; Grapheme_Base # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A59..0A5C ; Grapheme_Base # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; Grapheme_Base # Lo GURMUKHI LETTER FA
-0A66..0A6F ; Grapheme_Base # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A72..0A74 ; Grapheme_Base # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A83 ; Grapheme_Base # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; Grapheme_Base # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; Grapheme_Base # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; Grapheme_Base # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; Grapheme_Base # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; Grapheme_Base # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; Grapheme_Base # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; Grapheme_Base # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; Grapheme_Base # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC9 ; Grapheme_Base # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Grapheme_Base # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0AD0 ; Grapheme_Base # Lo GUJARATI OM
-0AE0..0AE1 ; Grapheme_Base # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE6..0AEF ; Grapheme_Base # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0AF1 ; Grapheme_Base # Sc GUJARATI RUPEE SIGN
-0B02..0B03 ; Grapheme_Base # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; Grapheme_Base # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; Grapheme_Base # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; Grapheme_Base # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; Grapheme_Base # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; Grapheme_Base # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; Grapheme_Base # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; Grapheme_Base # Lo ORIYA SIGN AVAGRAHA
-0B40 ; Grapheme_Base # Mc ORIYA VOWEL SIGN II
-0B47..0B48 ; Grapheme_Base # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Grapheme_Base # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B5C..0B5D ; Grapheme_Base # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; Grapheme_Base # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B66..0B6F ; Grapheme_Base # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B70 ; Grapheme_Base # So ORIYA ISSHAR
-0B71 ; Grapheme_Base # Lo ORIYA LETTER WA
-0B83 ; Grapheme_Base # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; Grapheme_Base # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; Grapheme_Base # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; Grapheme_Base # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; Grapheme_Base # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; Grapheme_Base # Lo TAMIL LETTER JA
-0B9E..0B9F ; Grapheme_Base # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; Grapheme_Base # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; Grapheme_Base # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; Grapheme_Base # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBF ; Grapheme_Base # Mc TAMIL VOWEL SIGN I
-0BC1..0BC2 ; Grapheme_Base # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Grapheme_Base # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Grapheme_Base # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BD0 ; Grapheme_Base # Lo TAMIL OM
-0BE6..0BEF ; Grapheme_Base # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0BF0..0BF2 ; Grapheme_Base # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0BF3..0BF8 ; Grapheme_Base # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BF9 ; Grapheme_Base # Sc TAMIL RUPEE SIGN
-0BFA ; Grapheme_Base # So TAMIL NUMBER SIGN
-0C01..0C03 ; Grapheme_Base # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; Grapheme_Base # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; Grapheme_Base # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; Grapheme_Base # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; Grapheme_Base # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; Grapheme_Base # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; Grapheme_Base # Lo TELUGU SIGN AVAGRAHA
-0C41..0C44 ; Grapheme_Base # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C58..0C59 ; Grapheme_Base # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; Grapheme_Base # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C66..0C6F ; Grapheme_Base # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C78..0C7E ; Grapheme_Base # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F ; Grapheme_Base # So TELUGU SIGN TUUMU
-0C82..0C83 ; Grapheme_Base # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; Grapheme_Base # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; Grapheme_Base # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; Grapheme_Base # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; Grapheme_Base # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; Grapheme_Base # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; Grapheme_Base # Lo KANNADA SIGN AVAGRAHA
-0CBE ; Grapheme_Base # Mc KANNADA VOWEL SIGN AA
-0CC0..0CC1 ; Grapheme_Base # Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
-0CC3..0CC4 ; Grapheme_Base # Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
-0CC7..0CC8 ; Grapheme_Base # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Grapheme_Base # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CDE ; Grapheme_Base # Lo KANNADA LETTER FA
-0CE0..0CE1 ; Grapheme_Base # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE6..0CEF ; Grapheme_Base # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0CF1..0CF2 ; Grapheme_Base # So [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D02..0D03 ; Grapheme_Base # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; Grapheme_Base # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; Grapheme_Base # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; Grapheme_Base # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; Grapheme_Base # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; Grapheme_Base # Lo MALAYALAM SIGN AVAGRAHA
-0D3F..0D40 ; Grapheme_Base # Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
-0D46..0D48 ; Grapheme_Base # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Grapheme_Base # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D60..0D61 ; Grapheme_Base # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D66..0D6F ; Grapheme_Base # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D70..0D75 ; Grapheme_Base # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D79 ; Grapheme_Base # So MALAYALAM DATE MARK
-0D7A..0D7F ; Grapheme_Base # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; Grapheme_Base # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; Grapheme_Base # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; Grapheme_Base # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; Grapheme_Base # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; Grapheme_Base # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; Grapheme_Base # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DD0..0DD1 ; Grapheme_Base # Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD8..0DDE ; Grapheme_Base # Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DF2..0DF3 ; Grapheme_Base # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4 ; Grapheme_Base # Po SINHALA PUNCTUATION KUNDDALIYA
-0E01..0E30 ; Grapheme_Base # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E32..0E33 ; Grapheme_Base # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E3F ; Grapheme_Base # Sc THAI CURRENCY SYMBOL BAHT
-0E40..0E45 ; Grapheme_Base # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; Grapheme_Base # Lm THAI CHARACTER MAIYAMOK
-0E4F ; Grapheme_Base # Po THAI CHARACTER FONGMAN
-0E50..0E59 ; Grapheme_Base # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E5A..0E5B ; Grapheme_Base # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0E81..0E82 ; Grapheme_Base # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; Grapheme_Base # Lo LAO LETTER KHO TAM
-0E87..0E88 ; Grapheme_Base # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; Grapheme_Base # Lo LAO LETTER SO TAM
-0E8D ; Grapheme_Base # Lo LAO LETTER NYO
-0E94..0E97 ; Grapheme_Base # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; Grapheme_Base # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; Grapheme_Base # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; Grapheme_Base # Lo LAO LETTER LO LOOT
-0EA7 ; Grapheme_Base # Lo LAO LETTER WO
-0EAA..0EAB ; Grapheme_Base # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; Grapheme_Base # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB2..0EB3 ; Grapheme_Base # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EBD ; Grapheme_Base # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; Grapheme_Base # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; Grapheme_Base # Lm LAO KO LA
-0ED0..0ED9 ; Grapheme_Base # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; Grapheme_Base # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; Grapheme_Base # Lo TIBETAN SYLLABLE OM
-0F01..0F03 ; Grapheme_Base # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04..0F12 ; Grapheme_Base # Po [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17 ; Grapheme_Base # So [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F1A..0F1F ; Grapheme_Base # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20..0F29 ; Grapheme_Base # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F2A..0F33 ; Grapheme_Base # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-0F34 ; Grapheme_Base # So TIBETAN MARK BSDUS RTAGS
-0F36 ; Grapheme_Base # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F38 ; Grapheme_Base # So TIBETAN MARK CHE MGO
-0F3A ; Grapheme_Base # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; Grapheme_Base # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; Grapheme_Base # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; Grapheme_Base # Pe TIBETAN MARK ANG KHANG GYAS
-0F3E..0F3F ; Grapheme_Base # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; Grapheme_Base # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; Grapheme_Base # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F7F ; Grapheme_Base # Mc TIBETAN SIGN RNAM BCAD
-0F85 ; Grapheme_Base # Po TIBETAN MARK PALUTA
-0F88..0F8B ; Grapheme_Base # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0FBE..0FC5 ; Grapheme_Base # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
-0FC7..0FCC ; Grapheme_Base # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; Grapheme_Base # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD0..0FD4 ; Grapheme_Base # Po [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5..0FD8 ; Grapheme_Base # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-1000..102A ; Grapheme_Base # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; Grapheme_Base # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-1031 ; Grapheme_Base # Mc MYANMAR VOWEL SIGN E
-1038 ; Grapheme_Base # Mc MYANMAR SIGN VISARGA
-103B..103C ; Grapheme_Base # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103F ; Grapheme_Base # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; Grapheme_Base # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-104A..104F ; Grapheme_Base # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
-1050..1055 ; Grapheme_Base # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; Grapheme_Base # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-105A..105D ; Grapheme_Base # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061 ; Grapheme_Base # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; Grapheme_Base # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; Grapheme_Base # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; Grapheme_Base # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; Grapheme_Base # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081 ; Grapheme_Base # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1083..1084 ; Grapheme_Base # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1087..108C ; Grapheme_Base # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108E ; Grapheme_Base # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; Grapheme_Base # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; Grapheme_Base # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; Grapheme_Base # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109E..109F ; Grapheme_Base # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-10A0..10C5 ; Grapheme_Base # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; Grapheme_Base # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FB ; Grapheme_Base # Po GEORGIAN PARAGRAPH SEPARATOR
-10FC ; Grapheme_Base # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; Grapheme_Base # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; Grapheme_Base # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; Grapheme_Base # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; Grapheme_Base # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; Grapheme_Base # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; Grapheme_Base # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; Grapheme_Base # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; Grapheme_Base # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360 ; Grapheme_Base # So ETHIOPIC SECTION MARK
-1361..1368 ; Grapheme_Base # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-1369..137C ; Grapheme_Base # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-1380..138F ; Grapheme_Base # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-1390..1399 ; Grapheme_Base # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4 ; Grapheme_Base # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1400 ; Grapheme_Base # Pd CANADIAN SYLLABICS HYPHEN
-1401..166C ; Grapheme_Base # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166D..166E ; Grapheme_Base # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-166F..167F ; Grapheme_Base # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1680 ; Grapheme_Base # Zs OGHAM SPACE MARK
-1681..169A ; Grapheme_Base # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-169B ; Grapheme_Base # Ps OGHAM FEATHER MARK
-169C ; Grapheme_Base # Pe OGHAM REVERSED FEATHER MARK
-16A0..16EA ; Grapheme_Base # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EB..16ED ; Grapheme_Base # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-16EE..16F0 ; Grapheme_Base # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; Grapheme_Base # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; Grapheme_Base # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; Grapheme_Base # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1735..1736 ; Grapheme_Base # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-1740..1751 ; Grapheme_Base # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; Grapheme_Base # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; Grapheme_Base # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1780..17B3 ; Grapheme_Base # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B6 ; Grapheme_Base # Mc KHMER VOWEL SIGN AA
-17BE..17C5 ; Grapheme_Base # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C7..17C8 ; Grapheme_Base # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17D4..17D6 ; Grapheme_Base # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17D7 ; Grapheme_Base # Lm KHMER SIGN LEK TOO
-17D8..17DA ; Grapheme_Base # Po [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
-17DB ; Grapheme_Base # Sc KHMER CURRENCY SYMBOL RIEL
-17DC ; Grapheme_Base # Lo KHMER SIGN AVAKRAHASANYA
-17E0..17E9 ; Grapheme_Base # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-17F0..17F9 ; Grapheme_Base # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800..1805 ; Grapheme_Base # Po [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS
-1806 ; Grapheme_Base # Pd MONGOLIAN TODO SOFT HYPHEN
-1807..180A ; Grapheme_Base # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
-180E ; Grapheme_Base # Zs MONGOLIAN VOWEL SEPARATOR
-1810..1819 ; Grapheme_Base # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; Grapheme_Base # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; Grapheme_Base # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; Grapheme_Base # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; Grapheme_Base # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; Grapheme_Base # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; Grapheme_Base # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; Grapheme_Base # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1923..1926 ; Grapheme_Base # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1929..192B ; Grapheme_Base # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Grapheme_Base # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1933..1938 ; Grapheme_Base # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1940 ; Grapheme_Base # So LIMBU SIGN LOO
-1944..1945 ; Grapheme_Base # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1946..194F ; Grapheme_Base # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-1950..196D ; Grapheme_Base # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; Grapheme_Base # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; Grapheme_Base # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; Grapheme_Base # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; Grapheme_Base # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; Grapheme_Base # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; Grapheme_Base # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-19DE..19DF ; Grapheme_Base # Po [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-19E0..19FF ; Grapheme_Base # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1A00..1A16 ; Grapheme_Base # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A19..1A1B ; Grapheme_Base # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A1E..1A1F ; Grapheme_Base # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1A20..1A54 ; Grapheme_Base # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; Grapheme_Base # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A57 ; Grapheme_Base # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A61 ; Grapheme_Base # Mc TAI THAM VOWEL SIGN A
-1A63..1A64 ; Grapheme_Base # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A6D..1A72 ; Grapheme_Base # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A80..1A89 ; Grapheme_Base # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; Grapheme_Base # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA0..1AA6 ; Grapheme_Base # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 ; Grapheme_Base # Lm TAI THAM SIGN MAI YAMOK
-1AA8..1AAD ; Grapheme_Base # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-1B04 ; Grapheme_Base # Mc BALINESE SIGN BISAH
-1B05..1B33 ; Grapheme_Base # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B35 ; Grapheme_Base # Mc BALINESE VOWEL SIGN TEDUNG
-1B3B ; Grapheme_Base # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D..1B41 ; Grapheme_Base # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43..1B44 ; Grapheme_Base # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B45..1B4B ; Grapheme_Base # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; Grapheme_Base # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B5A..1B60 ; Grapheme_Base # Po [7] BALINESE PANTI..BALINESE PAMENENG
-1B61..1B6A ; Grapheme_Base # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B74..1B7C ; Grapheme_Base # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B82 ; Grapheme_Base # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; Grapheme_Base # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; Grapheme_Base # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA6..1BA7 ; Grapheme_Base # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BAA ; Grapheme_Base # Mc SUNDANESE SIGN PAMAAEH
-1BAE..1BAF ; Grapheme_Base # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; Grapheme_Base # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C00..1C23 ; Grapheme_Base # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; Grapheme_Base # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C34..1C35 ; Grapheme_Base # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C3B..1C3F ; Grapheme_Base # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C40..1C49 ; Grapheme_Base # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; Grapheme_Base # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C50..1C59 ; Grapheme_Base # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; Grapheme_Base # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; Grapheme_Base # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1C7E..1C7F ; Grapheme_Base # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD3 ; Grapheme_Base # Po VEDIC SIGN NIHSHVASA
-1CE1 ; Grapheme_Base # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE9..1CEC ; Grapheme_Base # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; Grapheme_Base # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; Grapheme_Base # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; Grapheme_Base # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; Grapheme_Base # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; Grapheme_Base # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; Grapheme_Base # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; Grapheme_Base # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; Grapheme_Base # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; Grapheme_Base # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Grapheme_Base # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Grapheme_Base # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Grapheme_Base # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Grapheme_Base # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Grapheme_Base # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Grapheme_Base # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Grapheme_Base # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Grapheme_Base # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Grapheme_Base # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Grapheme_Base # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; Grapheme_Base # Sk GREEK KORONIS
-1FBE ; Grapheme_Base # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; Grapheme_Base # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; Grapheme_Base # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Grapheme_Base # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; Grapheme_Base # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; Grapheme_Base # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Grapheme_Base # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; Grapheme_Base # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; Grapheme_Base # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; Grapheme_Base # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; Grapheme_Base # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Grapheme_Base # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; Grapheme_Base # Sk [2] GREEK OXIA..GREEK DASIA
-2000..200A ; Grapheme_Base # Zs [11] EN QUAD..HAIR SPACE
-2010..2015 ; Grapheme_Base # Pd [6] HYPHEN..HORIZONTAL BAR
-2016..2017 ; Grapheme_Base # Po [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
-2018 ; Grapheme_Base # Pi LEFT SINGLE QUOTATION MARK
-2019 ; Grapheme_Base # Pf RIGHT SINGLE QUOTATION MARK
-201A ; Grapheme_Base # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; Grapheme_Base # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; Grapheme_Base # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; Grapheme_Base # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; Grapheme_Base # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020..2027 ; Grapheme_Base # Po [8] DAGGER..HYPHENATION POINT
-202F ; Grapheme_Base # Zs NARROW NO-BREAK SPACE
-2030..2038 ; Grapheme_Base # Po [9] PER MILLE SIGN..CARET
-2039 ; Grapheme_Base # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; Grapheme_Base # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B..203E ; Grapheme_Base # Po [4] REFERENCE MARK..OVERLINE
-203F..2040 ; Grapheme_Base # Pc [2] UNDERTIE..CHARACTER TIE
-2041..2043 ; Grapheme_Base # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-2044 ; Grapheme_Base # Sm FRACTION SLASH
-2045 ; Grapheme_Base # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; Grapheme_Base # Pe RIGHT SQUARE BRACKET WITH QUILL
-2047..2051 ; Grapheme_Base # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; Grapheme_Base # Sm COMMERCIAL MINUS SIGN
-2053 ; Grapheme_Base # Po SWUNG DASH
-2054 ; Grapheme_Base # Pc INVERTED UNDERTIE
-2055..205E ; Grapheme_Base # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-205F ; Grapheme_Base # Zs MEDIUM MATHEMATICAL SPACE
-2070 ; Grapheme_Base # No SUPERSCRIPT ZERO
-2071 ; Grapheme_Base # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074..2079 ; Grapheme_Base # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; Grapheme_Base # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; Grapheme_Base # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Grapheme_Base # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; Grapheme_Base # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2080..2089 ; Grapheme_Base # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; Grapheme_Base # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; Grapheme_Base # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Grapheme_Base # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; Grapheme_Base # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A0..20B8 ; Grapheme_Base # Sc [25] EURO-CURRENCY SIGN..TENGE SIGN
-2100..2101 ; Grapheme_Base # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; Grapheme_Base # L& DOUBLE-STRUCK CAPITAL C
-2103..2106 ; Grapheme_Base # So [4] DEGREE CELSIUS..CADA UNA
-2107 ; Grapheme_Base # L& EULER CONSTANT
-2108..2109 ; Grapheme_Base # So [2] SCRUPLE..DEGREE FAHRENHEIT
-210A..2113 ; Grapheme_Base # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2114 ; Grapheme_Base # So L B BAR SYMBOL
-2115 ; Grapheme_Base # L& DOUBLE-STRUCK CAPITAL N
-2116..2118 ; Grapheme_Base # So [3] NUMERO SIGN..SCRIPT CAPITAL P
-2119..211D ; Grapheme_Base # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-211E..2123 ; Grapheme_Base # So [6] PRESCRIPTION TAKE..VERSICLE
-2124 ; Grapheme_Base # L& DOUBLE-STRUCK CAPITAL Z
-2125 ; Grapheme_Base # So OUNCE SIGN
-2126 ; Grapheme_Base # L& OHM SIGN
-2127 ; Grapheme_Base # So INVERTED OHM SIGN
-2128 ; Grapheme_Base # L& BLACK-LETTER CAPITAL Z
-2129 ; Grapheme_Base # So TURNED GREEK SMALL LETTER IOTA
-212A..212D ; Grapheme_Base # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212E ; Grapheme_Base # So ESTIMATED SYMBOL
-212F..2134 ; Grapheme_Base # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; Grapheme_Base # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; Grapheme_Base # L& INFORMATION SOURCE
-213A..213B ; Grapheme_Base # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-213C..213F ; Grapheme_Base # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140..2144 ; Grapheme_Base # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-2145..2149 ; Grapheme_Base # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214A ; Grapheme_Base # So PROPERTY LINE
-214B ; Grapheme_Base # Sm TURNED AMPERSAND
-214C..214D ; Grapheme_Base # So [2] PER SIGN..AKTIESELSKAB
-214E ; Grapheme_Base # L& TURNED SMALL F
-214F ; Grapheme_Base # So SYMBOL FOR SAMARITAN SOURCE
-2150..215F ; Grapheme_Base # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2160..2182 ; Grapheme_Base # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; Grapheme_Base # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; Grapheme_Base # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2189 ; Grapheme_Base # No VULGAR FRACTION ZERO THIRDS
-2190..2194 ; Grapheme_Base # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; Grapheme_Base # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219A..219B ; Grapheme_Base # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; Grapheme_Base # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; Grapheme_Base # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; Grapheme_Base # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; Grapheme_Base # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; Grapheme_Base # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; Grapheme_Base # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; Grapheme_Base # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; Grapheme_Base # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21CD ; Grapheme_Base # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Grapheme_Base # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; Grapheme_Base # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D2 ; Grapheme_Base # Sm RIGHTWARDS DOUBLE ARROW
-21D3 ; Grapheme_Base # So DOWNWARDS DOUBLE ARROW
-21D4 ; Grapheme_Base # Sm LEFT RIGHT DOUBLE ARROW
-21D5..21F3 ; Grapheme_Base # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-21F4..22FF ; Grapheme_Base # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; Grapheme_Base # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; Grapheme_Base # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..231F ; Grapheme_Base # So [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
-2320..2321 ; Grapheme_Base # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; Grapheme_Base # So [7] FROWN..KEYBOARD
-2329 ; Grapheme_Base # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Grapheme_Base # Pe RIGHT-POINTING ANGLE BRACKET
-232B..237B ; Grapheme_Base # So [81] ERASE TO THE LEFT..NOT CHECK MARK
-237C ; Grapheme_Base # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..239A ; Grapheme_Base # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-239B..23B3 ; Grapheme_Base # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; Grapheme_Base # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; Grapheme_Base # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; Grapheme_Base # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; Grapheme_Base # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; Grapheme_Base # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-2460..249B ; Grapheme_Base # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; Grapheme_Base # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA..24FF ; Grapheme_Base # No [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
-2500..25B6 ; Grapheme_Base # So [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
-25B7 ; Grapheme_Base # Sm WHITE RIGHT-POINTING TRIANGLE
-25B8..25C0 ; Grapheme_Base # So [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C1 ; Grapheme_Base # Sm WHITE LEFT-POINTING TRIANGLE
-25C2..25F7 ; Grapheme_Base # So [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; Grapheme_Base # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..266E ; Grapheme_Base # So [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN
-266F ; Grapheme_Base # Sm MUSIC SHARP SIGN
-2670..26CD ; Grapheme_Base # So [94] WEST SYRIAC CROSS..DISABLED CAR
-26CF..26E1 ; Grapheme_Base # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; Grapheme_Base # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; Grapheme_Base # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701..2704 ; Grapheme_Base # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; Grapheme_Base # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; Grapheme_Base # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; Grapheme_Base # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; Grapheme_Base # So SHADOWED WHITE CIRCLE
-274F..2752 ; Grapheme_Base # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756..275E ; Grapheme_Base # So [9] BLACK DIAMOND MINUS WHITE X..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; Grapheme_Base # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2768 ; Grapheme_Base # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; Grapheme_Base # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; Grapheme_Base # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; Grapheme_Base # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; Grapheme_Base # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; Grapheme_Base # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; Grapheme_Base # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; Grapheme_Base # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; Grapheme_Base # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; Grapheme_Base # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; Grapheme_Base # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; Grapheme_Base # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; Grapheme_Base # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; Grapheme_Base # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776..2793 ; Grapheme_Base # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794 ; Grapheme_Base # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; Grapheme_Base # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; Grapheme_Base # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27C0..27C4 ; Grapheme_Base # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; Grapheme_Base # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Grapheme_Base # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; Grapheme_Base # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; Grapheme_Base # Sm LONG DIVISION
-27D0..27E5 ; Grapheme_Base # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; Grapheme_Base # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Grapheme_Base # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Grapheme_Base # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Grapheme_Base # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Grapheme_Base # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Grapheme_Base # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Grapheme_Base # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Grapheme_Base # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Grapheme_Base # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Grapheme_Base # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; Grapheme_Base # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2800..28FF ; Grapheme_Base # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2900..2982 ; Grapheme_Base # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; Grapheme_Base # Ps LEFT WHITE CURLY BRACKET
-2984 ; Grapheme_Base # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Grapheme_Base # Ps LEFT WHITE PARENTHESIS
-2986 ; Grapheme_Base # Pe RIGHT WHITE PARENTHESIS
-2987 ; Grapheme_Base # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Grapheme_Base # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Grapheme_Base # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Grapheme_Base # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Grapheme_Base # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Grapheme_Base # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Grapheme_Base # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Grapheme_Base # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Grapheme_Base # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Grapheme_Base # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Grapheme_Base # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Grapheme_Base # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Grapheme_Base # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Grapheme_Base # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Grapheme_Base # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Grapheme_Base # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Grapheme_Base # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Grapheme_Base # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; Grapheme_Base # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; Grapheme_Base # Ps LEFT WIGGLY FENCE
-29D9 ; Grapheme_Base # Pe RIGHT WIGGLY FENCE
-29DA ; Grapheme_Base # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Grapheme_Base # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; Grapheme_Base # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; Grapheme_Base # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Grapheme_Base # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; Grapheme_Base # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; Grapheme_Base # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; Grapheme_Base # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; Grapheme_Base # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; Grapheme_Base # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B59 ; Grapheme_Base # So [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
-2C00..2C2E ; Grapheme_Base # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; Grapheme_Base # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; Grapheme_Base # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Grapheme_Base # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; Grapheme_Base # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CE5..2CEA ; Grapheme_Base # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2CEB..2CEE ; Grapheme_Base # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CF9..2CFC ; Grapheme_Base # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; Grapheme_Base # No COPTIC FRACTION ONE HALF
-2CFE..2CFF ; Grapheme_Base # Po [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
-2D00..2D25 ; Grapheme_Base # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; Grapheme_Base # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; Grapheme_Base # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; Grapheme_Base # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2E00..2E01 ; Grapheme_Base # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; Grapheme_Base # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; Grapheme_Base # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; Grapheme_Base # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; Grapheme_Base # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; Grapheme_Base # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; Grapheme_Base # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; Grapheme_Base # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; Grapheme_Base # Po RAISED SQUARE
-2E0C ; Grapheme_Base # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; Grapheme_Base # Pf RIGHT RAISED OMISSION BRACKET
-2E0E..2E16 ; Grapheme_Base # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E17 ; Grapheme_Base # Pd DOUBLE OBLIQUE HYPHEN
-2E18..2E19 ; Grapheme_Base # Po [2] INVERTED INTERROBANG..PALM BRANCH
-2E1A ; Grapheme_Base # Pd HYPHEN WITH DIAERESIS
-2E1B ; Grapheme_Base # Po TILDE WITH RING ABOVE
-2E1C ; Grapheme_Base # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; Grapheme_Base # Pf RIGHT LOW PARAPHRASE BRACKET
-2E1E..2E1F ; Grapheme_Base # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E20 ; Grapheme_Base # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; Grapheme_Base # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; Grapheme_Base # Ps TOP LEFT HALF BRACKET
-2E23 ; Grapheme_Base # Pe TOP RIGHT HALF BRACKET
-2E24 ; Grapheme_Base # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; Grapheme_Base # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; Grapheme_Base # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; Grapheme_Base # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; Grapheme_Base # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; Grapheme_Base # Pe RIGHT DOUBLE PARENTHESIS
-2E2A..2E2E ; Grapheme_Base # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E2F ; Grapheme_Base # Lm VERTICAL TILDE
-2E30..2E31 ; Grapheme_Base # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-2E80..2E99 ; Grapheme_Base # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; Grapheme_Base # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; Grapheme_Base # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; Grapheme_Base # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; Grapheme_Base # Zs IDEOGRAPHIC SPACE
-3001..3003 ; Grapheme_Base # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
-3004 ; Grapheme_Base # So JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005 ; Grapheme_Base # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; Grapheme_Base # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; Grapheme_Base # Nl IDEOGRAPHIC NUMBER ZERO
-3008 ; Grapheme_Base # Ps LEFT ANGLE BRACKET
-3009 ; Grapheme_Base # Pe RIGHT ANGLE BRACKET
-300A ; Grapheme_Base # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; Grapheme_Base # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; Grapheme_Base # Ps LEFT CORNER BRACKET
-300D ; Grapheme_Base # Pe RIGHT CORNER BRACKET
-300E ; Grapheme_Base # Ps LEFT WHITE CORNER BRACKET
-300F ; Grapheme_Base # Pe RIGHT WHITE CORNER BRACKET
-3010 ; Grapheme_Base # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; Grapheme_Base # Pe RIGHT BLACK LENTICULAR BRACKET
-3012..3013 ; Grapheme_Base # So [2] POSTAL MARK..GETA MARK
-3014 ; Grapheme_Base # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; Grapheme_Base # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; Grapheme_Base # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; Grapheme_Base # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; Grapheme_Base # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; Grapheme_Base # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; Grapheme_Base # Ps LEFT WHITE SQUARE BRACKET
-301B ; Grapheme_Base # Pe RIGHT WHITE SQUARE BRACKET
-301C ; Grapheme_Base # Pd WAVE DASH
-301D ; Grapheme_Base # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; Grapheme_Base # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-3020 ; Grapheme_Base # So POSTAL MARK FACE
-3021..3029 ; Grapheme_Base # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3030 ; Grapheme_Base # Pd WAVY DASH
-3031..3035 ; Grapheme_Base # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3036..3037 ; Grapheme_Base # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038..303A ; Grapheme_Base # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; Grapheme_Base # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; Grapheme_Base # Lo MASU MARK
-303D ; Grapheme_Base # Po PART ALTERNATION MARK
-303E..303F ; Grapheme_Base # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
-3041..3096 ; Grapheme_Base # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309B..309C ; Grapheme_Base # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; Grapheme_Base # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; Grapheme_Base # Lo HIRAGANA DIGRAPH YORI
-30A0 ; Grapheme_Base # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1..30FA ; Grapheme_Base # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FB ; Grapheme_Base # Po KATAKANA MIDDLE DOT
-30FC..30FE ; Grapheme_Base # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; Grapheme_Base # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; Grapheme_Base # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; Grapheme_Base # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3190..3191 ; Grapheme_Base # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192..3195 ; Grapheme_Base # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; Grapheme_Base # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31A0..31B7 ; Grapheme_Base # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31C0..31E3 ; Grapheme_Base # So [36] CJK STROKE T..CJK STROKE Q
-31F0..31FF ; Grapheme_Base # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3200..321E ; Grapheme_Base # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; Grapheme_Base # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3250 ; Grapheme_Base # So [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
-3251..325F ; Grapheme_Base # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327F ; Grapheme_Base # So [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
-3280..3289 ; Grapheme_Base # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; Grapheme_Base # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; Grapheme_Base # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; Grapheme_Base # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; Grapheme_Base # So [256] SQUARE APAATO..SQUARE GAL
-3400..4DB5 ; Grapheme_Base # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4DC0..4DFF ; Grapheme_Base # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB ; Grapheme_Base # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; Grapheme_Base # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; Grapheme_Base # Lm YI SYLLABLE WU
-A016..A48C ; Grapheme_Base # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A490..A4C6 ; Grapheme_Base # So [55] YI RADICAL QOT..YI RADICAL KE
-A4D0..A4F7 ; Grapheme_Base # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; Grapheme_Base # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A4FE..A4FF ; Grapheme_Base # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A500..A60B ; Grapheme_Base # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; Grapheme_Base # Lm VAI SYLLABLE LENGTHENER
-A60D..A60F ; Grapheme_Base # Po [3] VAI COMMA..VAI QUESTION MARK
-A610..A61F ; Grapheme_Base # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; Grapheme_Base # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; Grapheme_Base # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; Grapheme_Base # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; Grapheme_Base # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; Grapheme_Base # Lo CYRILLIC LETTER MULTIOCULAR O
-A673 ; Grapheme_Base # Po SLAVONIC ASTERISK
-A67E ; Grapheme_Base # Po CYRILLIC KAVYKA
-A67F ; Grapheme_Base # Lm CYRILLIC PAYEROK
-A680..A697 ; Grapheme_Base # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; Grapheme_Base # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; Grapheme_Base # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F2..A6F7 ; Grapheme_Base # Po [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
-A700..A716 ; Grapheme_Base # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; Grapheme_Base # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; Grapheme_Base # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A722..A76F ; Grapheme_Base # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; Grapheme_Base # Lm MODIFIER LETTER US
-A771..A787 ; Grapheme_Base # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; Grapheme_Base # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789..A78A ; Grapheme_Base # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A78B..A78C ; Grapheme_Base # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; Grapheme_Base # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; Grapheme_Base # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; Grapheme_Base # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; Grapheme_Base # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; Grapheme_Base # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A827 ; Grapheme_Base # Mc SYLOTI NAGRI VOWEL SIGN OO
-A828..A82B ; Grapheme_Base # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-A830..A835 ; Grapheme_Base # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-A836..A837 ; Grapheme_Base # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A838 ; Grapheme_Base # Sc NORTH INDIC RUPEE MARK
-A839 ; Grapheme_Base # So NORTH INDIC QUANTITY MARK
-A840..A873 ; Grapheme_Base # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A874..A877 ; Grapheme_Base # Po [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
-A880..A881 ; Grapheme_Base # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; Grapheme_Base # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; Grapheme_Base # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8CE..A8CF ; Grapheme_Base # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A8D0..A8D9 ; Grapheme_Base # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A8F2..A8F7 ; Grapheme_Base # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8..A8FA ; Grapheme_Base # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A8FB ; Grapheme_Base # Lo DEVANAGARI HEADSTROKE
-A900..A909 ; Grapheme_Base # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; Grapheme_Base # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A92E..A92F ; Grapheme_Base # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-A930..A946 ; Grapheme_Base # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A952..A953 ; Grapheme_Base # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A95F ; Grapheme_Base # Po REJANG SECTION MARK
-A960..A97C ; Grapheme_Base # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A983 ; Grapheme_Base # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; Grapheme_Base # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B4..A9B5 ; Grapheme_Base # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9BA..A9BB ; Grapheme_Base # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BD..A9C0 ; Grapheme_Base # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-A9C1..A9CD ; Grapheme_Base # Po [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
-A9CF ; Grapheme_Base # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; Grapheme_Base # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-A9DE..A9DF ; Grapheme_Base # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA00..AA28 ; Grapheme_Base # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA2F..AA30 ; Grapheme_Base # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA33..AA34 ; Grapheme_Base # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA40..AA42 ; Grapheme_Base # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; Grapheme_Base # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4D ; Grapheme_Base # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; Grapheme_Base # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA5C..AA5F ; Grapheme_Base # Po [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-AA60..AA6F ; Grapheme_Base # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; Grapheme_Base # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; Grapheme_Base # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA77..AA79 ; Grapheme_Base # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-AA7A ; Grapheme_Base # Lo MYANMAR LETTER AITON RA
-AA7B ; Grapheme_Base # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; Grapheme_Base # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; Grapheme_Base # Lo TAI VIET VOWEL AA
-AAB5..AAB6 ; Grapheme_Base # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; Grapheme_Base # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; Grapheme_Base # Lo TAI VIET TONE MAI NUENG
-AAC2 ; Grapheme_Base # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; Grapheme_Base # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; Grapheme_Base # Lm TAI VIET SYMBOL SAM
-AADE..AADF ; Grapheme_Base # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-ABC0..ABE2 ; Grapheme_Base # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; Grapheme_Base # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE6..ABE7 ; Grapheme_Base # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE9..ABEA ; Grapheme_Base # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEB ; Grapheme_Base # Po MEETEI MAYEK CHEIKHEI
-ABEC ; Grapheme_Base # Mc MEETEI MAYEK LUM IYEK
-ABF0..ABF9 ; Grapheme_Base # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-AC00..D7A3 ; Grapheme_Base # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; Grapheme_Base # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; Grapheme_Base # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; Grapheme_Base # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Grapheme_Base # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Grapheme_Base # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; Grapheme_Base # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Grapheme_Base # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; Grapheme_Base # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; Grapheme_Base # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; Grapheme_Base # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; Grapheme_Base # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Grapheme_Base # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Grapheme_Base # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Grapheme_Base # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Grapheme_Base # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; Grapheme_Base # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; Grapheme_Base # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD3E ; Grapheme_Base # Ps ORNATE LEFT PARENTHESIS
-FD3F ; Grapheme_Base # Pe ORNATE RIGHT PARENTHESIS
-FD50..FD8F ; Grapheme_Base # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Grapheme_Base # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Grapheme_Base # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; Grapheme_Base # Sc RIAL SIGN
-FDFD ; Grapheme_Base # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10..FE16 ; Grapheme_Base # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; Grapheme_Base # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Grapheme_Base # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; Grapheme_Base # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; Grapheme_Base # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45..FE46 ; Grapheme_Base # Po [2] SESAME DOT..WHITE SESAME DOT
-FE47 ; Grapheme_Base # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; Grapheme_Base # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; Grapheme_Base # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; Grapheme_Base # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; Grapheme_Base # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; Grapheme_Base # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; Grapheme_Base # Pd SMALL EM DASH
-FE59 ; Grapheme_Base # Ps SMALL LEFT PARENTHESIS
-FE5A ; Grapheme_Base # Pe SMALL RIGHT PARENTHESIS
-FE5B ; Grapheme_Base # Ps SMALL LEFT CURLY BRACKET
-FE5C ; Grapheme_Base # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; Grapheme_Base # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; Grapheme_Base # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; Grapheme_Base # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; Grapheme_Base # Sm SMALL PLUS SIGN
-FE63 ; Grapheme_Base # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; Grapheme_Base # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; Grapheme_Base # Po SMALL REVERSE SOLIDUS
-FE69 ; Grapheme_Base # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; Grapheme_Base # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FE70..FE74 ; Grapheme_Base # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; Grapheme_Base # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF01..FF03 ; Grapheme_Base # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; Grapheme_Base # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; Grapheme_Base # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; Grapheme_Base # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; Grapheme_Base # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; Grapheme_Base # Po FULLWIDTH ASTERISK
-FF0B ; Grapheme_Base # Sm FULLWIDTH PLUS SIGN
-FF0C ; Grapheme_Base # Po FULLWIDTH COMMA
-FF0D ; Grapheme_Base # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; Grapheme_Base # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; Grapheme_Base # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; Grapheme_Base # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; Grapheme_Base # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; Grapheme_Base # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; Grapheme_Base # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; Grapheme_Base # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; Grapheme_Base # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; Grapheme_Base # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; Grapheme_Base # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; Grapheme_Base # Pc FULLWIDTH LOW LINE
-FF40 ; Grapheme_Base # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; Grapheme_Base # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; Grapheme_Base # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; Grapheme_Base # Sm FULLWIDTH VERTICAL LINE
-FF5D ; Grapheme_Base # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; Grapheme_Base # Sm FULLWIDTH TILDE
-FF5F ; Grapheme_Base # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; Grapheme_Base # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; Grapheme_Base # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; Grapheme_Base # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Grapheme_Base # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; Grapheme_Base # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; Grapheme_Base # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; Grapheme_Base # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; Grapheme_Base # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FFA0..FFBE ; Grapheme_Base # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; Grapheme_Base # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; Grapheme_Base # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; Grapheme_Base # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; Grapheme_Base # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE0..FFE1 ; Grapheme_Base # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; Grapheme_Base # Sm FULLWIDTH NOT SIGN
-FFE3 ; Grapheme_Base # Sk FULLWIDTH MACRON
-FFE4 ; Grapheme_Base # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; Grapheme_Base # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-FFE8 ; Grapheme_Base # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; Grapheme_Base # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; Grapheme_Base # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10000..1000B ; Grapheme_Base # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; Grapheme_Base # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; Grapheme_Base # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; Grapheme_Base # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; Grapheme_Base # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; Grapheme_Base # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; Grapheme_Base # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10101 ; Grapheme_Base # Po [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102 ; Grapheme_Base # So AEGEAN CHECK MARK
-10107..10133 ; Grapheme_Base # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; Grapheme_Base # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10140..10174 ; Grapheme_Base # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; Grapheme_Base # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-10179..10189 ; Grapheme_Base # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-1018A ; Grapheme_Base # No GREEK ZERO SIGN
-10190..1019B ; Grapheme_Base # So [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FC ; Grapheme_Base # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-10280..1029C ; Grapheme_Base # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; Grapheme_Base # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; Grapheme_Base # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; Grapheme_Base # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340 ; Grapheme_Base # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; Grapheme_Base # Nl GOTHIC LETTER NINETY
-10342..10349 ; Grapheme_Base # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; Grapheme_Base # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; Grapheme_Base # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-1039F ; Grapheme_Base # Po UGARITIC WORD DIVIDER
-103A0..103C3 ; Grapheme_Base # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; Grapheme_Base # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D0 ; Grapheme_Base # Po OLD PERSIAN WORD DIVIDER
-103D1..103D5 ; Grapheme_Base # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; Grapheme_Base # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; Grapheme_Base # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-104A0..104A9 ; Grapheme_Base # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-10800..10805 ; Grapheme_Base # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; Grapheme_Base # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; Grapheme_Base # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; Grapheme_Base # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; Grapheme_Base # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; Grapheme_Base # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10857 ; Grapheme_Base # Po IMPERIAL ARAMAIC SECTION SIGN
-10858..1085F ; Grapheme_Base # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900..10915 ; Grapheme_Base # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10916..1091B ; Grapheme_Base # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-1091F ; Grapheme_Base # Po PHOENICIAN WORD SEPARATOR
-10920..10939 ; Grapheme_Base # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093F ; Grapheme_Base # Po LYDIAN TRIANGULAR MARK
-10A00 ; Grapheme_Base # Lo KHAROSHTHI LETTER A
-10A10..10A13 ; Grapheme_Base # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; Grapheme_Base # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; Grapheme_Base # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A40..10A47 ; Grapheme_Base # No [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A50..10A58 ; Grapheme_Base # Po [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-10A60..10A7C ; Grapheme_Base # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10A7D..10A7E ; Grapheme_Base # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; Grapheme_Base # Po OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00..10B35 ; Grapheme_Base # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B39..10B3F ; Grapheme_Base # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B40..10B55 ; Grapheme_Base # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58..10B5F ; Grapheme_Base # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60..10B72 ; Grapheme_Base # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78..10B7F ; Grapheme_Base # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00..10C48 ; Grapheme_Base # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10E60..10E7E ; Grapheme_Base # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-11082 ; Grapheme_Base # Mc KAITHI SIGN VISARGA
-11083..110AF ; Grapheme_Base # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; Grapheme_Base # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B7..110B8 ; Grapheme_Base # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110BB..110BC ; Grapheme_Base # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BE..110C1 ; Grapheme_Base # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12000..1236E ; Grapheme_Base # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; Grapheme_Base # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470..12473 ; Grapheme_Base # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000..1342E ; Grapheme_Base # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D000..1D0F5 ; Grapheme_Base # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; Grapheme_Base # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; Grapheme_Base # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D166 ; Grapheme_Base # Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D16A..1D16C ; Grapheme_Base # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D ; Grapheme_Base # Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-1D183..1D184 ; Grapheme_Base # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D18C..1D1A9 ; Grapheme_Base # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD ; Grapheme_Base # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D200..1D241 ; Grapheme_Base # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D245 ; Grapheme_Base # So GREEK MUSICAL LEIMMA
-1D300..1D356 ; Grapheme_Base # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D360..1D371 ; Grapheme_Base # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D400..1D454 ; Grapheme_Base # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Grapheme_Base # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Grapheme_Base # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Grapheme_Base # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Grapheme_Base # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Grapheme_Base # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Grapheme_Base # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Grapheme_Base # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Grapheme_Base # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Grapheme_Base # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Grapheme_Base # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Grapheme_Base # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Grapheme_Base # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Grapheme_Base # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Grapheme_Base # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Grapheme_Base # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Grapheme_Base # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Grapheme_Base # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Grapheme_Base # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Grapheme_Base # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; Grapheme_Base # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; Grapheme_Base # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; Grapheme_Base # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; Grapheme_Base # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; Grapheme_Base # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; Grapheme_Base # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; Grapheme_Base # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; Grapheme_Base # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; Grapheme_Base # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; Grapheme_Base # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; Grapheme_Base # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; Grapheme_Base # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; Grapheme_Base # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; Grapheme_Base # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; Grapheme_Base # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; Grapheme_Base # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; Grapheme_Base # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; Grapheme_Base # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; Grapheme_Base # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; Grapheme_Base # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; Grapheme_Base # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F000..1F02B ; Grapheme_Base # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; Grapheme_Base # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F100..1F10A ; Grapheme_Base # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; Grapheme_Base # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; Grapheme_Base # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; Grapheme_Base # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; Grapheme_Base # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; Grapheme_Base # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; Grapheme_Base # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; Grapheme_Base # So [5] SQUARED HV..SQUARED PPV
-1F157 ; Grapheme_Base # So NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; Grapheme_Base # So NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; Grapheme_Base # So NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; Grapheme_Base # So [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; Grapheme_Base # So NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; Grapheme_Base # So [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; Grapheme_Base # So SQUARE DJ
-1F200 ; Grapheme_Base # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; Grapheme_Base # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; Grapheme_Base # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6 ; Grapheme_Base # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; Grapheme_Base # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; Grapheme_Base # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 105958
-
-# ================================================
-
-# Derived Property: Grapheme_Link (deprecated)
-# Generated from: Canonical_Combining_Class=Virama
-# Use Canonical_Combining_Class=Virama directly instead
-
-094D ; Grapheme_Link # Mn DEVANAGARI SIGN VIRAMA
-09CD ; Grapheme_Link # Mn BENGALI SIGN VIRAMA
-0A4D ; Grapheme_Link # Mn GURMUKHI SIGN VIRAMA
-0ACD ; Grapheme_Link # Mn GUJARATI SIGN VIRAMA
-0B4D ; Grapheme_Link # Mn ORIYA SIGN VIRAMA
-0BCD ; Grapheme_Link # Mn TAMIL SIGN VIRAMA
-0C4D ; Grapheme_Link # Mn TELUGU SIGN VIRAMA
-0CCD ; Grapheme_Link # Mn KANNADA SIGN VIRAMA
-0D4D ; Grapheme_Link # Mn MALAYALAM SIGN VIRAMA
-0DCA ; Grapheme_Link # Mn SINHALA SIGN AL-LAKUNA
-0E3A ; Grapheme_Link # Mn THAI CHARACTER PHINTHU
-0F84 ; Grapheme_Link # Mn TIBETAN MARK HALANTA
-1039..103A ; Grapheme_Link # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-1714 ; Grapheme_Link # Mn TAGALOG SIGN VIRAMA
-1734 ; Grapheme_Link # Mn HANUNOO SIGN PAMUDPOD
-17D2 ; Grapheme_Link # Mn KHMER SIGN COENG
-1A60 ; Grapheme_Link # Mn TAI THAM SIGN SAKOT
-1B44 ; Grapheme_Link # Mc BALINESE ADEG ADEG
-1BAA ; Grapheme_Link # Mc SUNDANESE SIGN PAMAAEH
-A806 ; Grapheme_Link # Mn SYLOTI NAGRI SIGN HASANTA
-A8C4 ; Grapheme_Link # Mn SAURASHTRA SIGN VIRAMA
-A953 ; Grapheme_Link # Mc REJANG VIRAMA
-A9C0 ; Grapheme_Link # Mc JAVANESE PANGKON
-ABED ; Grapheme_Link # Mn MEETEI MAYEK APUN IYEK
-10A3F ; Grapheme_Link # Mn KHAROSHTHI VIRAMA
-110B9 ; Grapheme_Link # Mn KAITHI SIGN VIRAMA
-
-# Total code points: 27
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/DNormalizationProps.txt b/Master/tlpkg/tlperl/lib/unicore/DNormalizationProps.txt
deleted file mode 100644
index 8fcb50411bf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/DNormalizationProps.txt
+++ /dev/null
@@ -1,9036 +0,0 @@
-# DerivedNormalizationProps-5.2.0.txt
-# Date: 2009-08-26, 18:18:50 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Derived Property: FC_NFKC_Closure
-# Generated from computing: b = NFKC(Fold(a)); c = NFKC(Fold(b));
-# Then if (c != b) add the mapping from a to c to the set of
-# mappings that constitute the FC_NFKC_Closure list
-# Uses the full case folding from CaseFolding.txt, without the T option.
-
-037A ; FC_NFKC; 0020 03B9 # Lm GREEK YPOGEGRAMMENI
-03D2 ; FC_NFKC; 03C5 # L& GREEK UPSILON WITH HOOK SYMBOL
-03D3 ; FC_NFKC; 03CD # L& GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-03D4 ; FC_NFKC; 03CB # L& GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03F2 ; FC_NFKC; 03C3 # L& GREEK LUNATE SIGMA SYMBOL
-03F9 ; FC_NFKC; 03C3 # L& GREEK CAPITAL LUNATE SIGMA SYMBOL
-1D2C ; FC_NFKC; 0061 # Lm MODIFIER LETTER CAPITAL A
-1D2D ; FC_NFKC; 00E6 # Lm MODIFIER LETTER CAPITAL AE
-1D2E ; FC_NFKC; 0062 # Lm MODIFIER LETTER CAPITAL B
-1D30 ; FC_NFKC; 0064 # Lm MODIFIER LETTER CAPITAL D
-1D31 ; FC_NFKC; 0065 # Lm MODIFIER LETTER CAPITAL E
-1D32 ; FC_NFKC; 01DD # Lm MODIFIER LETTER CAPITAL REVERSED E
-1D33 ; FC_NFKC; 0067 # Lm MODIFIER LETTER CAPITAL G
-1D34 ; FC_NFKC; 0068 # Lm MODIFIER LETTER CAPITAL H
-1D35 ; FC_NFKC; 0069 # Lm MODIFIER LETTER CAPITAL I
-1D36 ; FC_NFKC; 006A # Lm MODIFIER LETTER CAPITAL J
-1D37 ; FC_NFKC; 006B # Lm MODIFIER LETTER CAPITAL K
-1D38 ; FC_NFKC; 006C # Lm MODIFIER LETTER CAPITAL L
-1D39 ; FC_NFKC; 006D # Lm MODIFIER LETTER CAPITAL M
-1D3A ; FC_NFKC; 006E # Lm MODIFIER LETTER CAPITAL N
-1D3C ; FC_NFKC; 006F # Lm MODIFIER LETTER CAPITAL O
-1D3D ; FC_NFKC; 0223 # Lm MODIFIER LETTER CAPITAL OU
-1D3E ; FC_NFKC; 0070 # Lm MODIFIER LETTER CAPITAL P
-1D3F ; FC_NFKC; 0072 # Lm MODIFIER LETTER CAPITAL R
-1D40 ; FC_NFKC; 0074 # Lm MODIFIER LETTER CAPITAL T
-1D41 ; FC_NFKC; 0075 # Lm MODIFIER LETTER CAPITAL U
-1D42 ; FC_NFKC; 0077 # Lm MODIFIER LETTER CAPITAL W
-20A8 ; FC_NFKC; 0072 0073 # Sc RUPEE SIGN
-2102 ; FC_NFKC; 0063 # L& DOUBLE-STRUCK CAPITAL C
-2103 ; FC_NFKC; 00B0 0063 # So DEGREE CELSIUS
-2107 ; FC_NFKC; 025B # L& EULER CONSTANT
-2109 ; FC_NFKC; 00B0 0066 # So DEGREE FAHRENHEIT
-210B ; FC_NFKC; 0068 # L& SCRIPT CAPITAL H
-210C ; FC_NFKC; 0068 # L& BLACK-LETTER CAPITAL H
-210D ; FC_NFKC; 0068 # L& DOUBLE-STRUCK CAPITAL H
-2110 ; FC_NFKC; 0069 # L& SCRIPT CAPITAL I
-2111 ; FC_NFKC; 0069 # L& BLACK-LETTER CAPITAL I
-2112 ; FC_NFKC; 006C # L& SCRIPT CAPITAL L
-2115 ; FC_NFKC; 006E # L& DOUBLE-STRUCK CAPITAL N
-2116 ; FC_NFKC; 006E 006F # So NUMERO SIGN
-2119 ; FC_NFKC; 0070 # L& DOUBLE-STRUCK CAPITAL P
-211A ; FC_NFKC; 0071 # L& DOUBLE-STRUCK CAPITAL Q
-211B ; FC_NFKC; 0072 # L& SCRIPT CAPITAL R
-211C ; FC_NFKC; 0072 # L& BLACK-LETTER CAPITAL R
-211D ; FC_NFKC; 0072 # L& DOUBLE-STRUCK CAPITAL R
-2120 ; FC_NFKC; 0073 006D # So SERVICE MARK
-2121 ; FC_NFKC; 0074 0065 006C # So TELEPHONE SIGN
-2122 ; FC_NFKC; 0074 006D # So TRADE MARK SIGN
-2124 ; FC_NFKC; 007A # L& DOUBLE-STRUCK CAPITAL Z
-2128 ; FC_NFKC; 007A # L& BLACK-LETTER CAPITAL Z
-212C ; FC_NFKC; 0062 # L& SCRIPT CAPITAL B
-212D ; FC_NFKC; 0063 # L& BLACK-LETTER CAPITAL C
-2130 ; FC_NFKC; 0065 # L& SCRIPT CAPITAL E
-2131 ; FC_NFKC; 0066 # L& SCRIPT CAPITAL F
-2133 ; FC_NFKC; 006D # L& SCRIPT CAPITAL M
-213B ; FC_NFKC; 0066 0061 0078 # So FACSIMILE SIGN
-213E ; FC_NFKC; 03B3 # L& DOUBLE-STRUCK CAPITAL GAMMA
-213F ; FC_NFKC; 03C0 # L& DOUBLE-STRUCK CAPITAL PI
-2145 ; FC_NFKC; 0064 # L& DOUBLE-STRUCK ITALIC CAPITAL D
-2C7D ; FC_NFKC; 0076 # Lm MODIFIER LETTER CAPITAL V
-3250 ; FC_NFKC; 0070 0074 0065 # So PARTNERSHIP SIGN
-32CC ; FC_NFKC; 0068 0067 # So SQUARE HG
-32CE ; FC_NFKC; 0065 0076 # So SQUARE EV
-32CF ; FC_NFKC; 006C 0074 0064 # So LIMITED LIABILITY SIGN
-3371 ; FC_NFKC; 0068 0070 0061 # So SQUARE HPA
-3373 ; FC_NFKC; 0061 0075 # So SQUARE AU
-3375 ; FC_NFKC; 006F 0076 # So SQUARE OV
-337A ; FC_NFKC; 0069 0075 # So SQUARE IU
-3380 ; FC_NFKC; 0070 0061 # So SQUARE PA AMPS
-3381 ; FC_NFKC; 006E 0061 # So SQUARE NA
-3382 ; FC_NFKC; 03BC 0061 # So SQUARE MU A
-3383 ; FC_NFKC; 006D 0061 # So SQUARE MA
-3384 ; FC_NFKC; 006B 0061 # So SQUARE KA
-3385 ; FC_NFKC; 006B 0062 # So SQUARE KB
-3386 ; FC_NFKC; 006D 0062 # So SQUARE MB
-3387 ; FC_NFKC; 0067 0062 # So SQUARE GB
-338A ; FC_NFKC; 0070 0066 # So SQUARE PF
-338B ; FC_NFKC; 006E 0066 # So SQUARE NF
-338C ; FC_NFKC; 03BC 0066 # So SQUARE MU F
-3390 ; FC_NFKC; 0068 007A # So SQUARE HZ
-3391 ; FC_NFKC; 006B 0068 007A # So SQUARE KHZ
-3392 ; FC_NFKC; 006D 0068 007A # So SQUARE MHZ
-3393 ; FC_NFKC; 0067 0068 007A # So SQUARE GHZ
-3394 ; FC_NFKC; 0074 0068 007A # So SQUARE THZ
-33A9 ; FC_NFKC; 0070 0061 # So SQUARE PA
-33AA ; FC_NFKC; 006B 0070 0061 # So SQUARE KPA
-33AB ; FC_NFKC; 006D 0070 0061 # So SQUARE MPA
-33AC ; FC_NFKC; 0067 0070 0061 # So SQUARE GPA
-33B4 ; FC_NFKC; 0070 0076 # So SQUARE PV
-33B5 ; FC_NFKC; 006E 0076 # So SQUARE NV
-33B6 ; FC_NFKC; 03BC 0076 # So SQUARE MU V
-33B7 ; FC_NFKC; 006D 0076 # So SQUARE MV
-33B8 ; FC_NFKC; 006B 0076 # So SQUARE KV
-33B9 ; FC_NFKC; 006D 0076 # So SQUARE MV MEGA
-33BA ; FC_NFKC; 0070 0077 # So SQUARE PW
-33BB ; FC_NFKC; 006E 0077 # So SQUARE NW
-33BC ; FC_NFKC; 03BC 0077 # So SQUARE MU W
-33BD ; FC_NFKC; 006D 0077 # So SQUARE MW
-33BE ; FC_NFKC; 006B 0077 # So SQUARE KW
-33BF ; FC_NFKC; 006D 0077 # So SQUARE MW MEGA
-33C0 ; FC_NFKC; 006B 03C9 # So SQUARE K OHM
-33C1 ; FC_NFKC; 006D 03C9 # So SQUARE M OHM
-33C3 ; FC_NFKC; 0062 0071 # So SQUARE BQ
-33C6 ; FC_NFKC; 0063 2215 006B 0067 #So SQUARE C OVER KG
-33C7 ; FC_NFKC; 0063 006F 002E # So SQUARE CO
-33C8 ; FC_NFKC; 0064 0062 # So SQUARE DB
-33C9 ; FC_NFKC; 0067 0079 # So SQUARE GY
-33CB ; FC_NFKC; 0068 0070 # So SQUARE HP
-33CD ; FC_NFKC; 006B 006B # So SQUARE KK
-33CE ; FC_NFKC; 006B 006D # So SQUARE KM CAPITAL
-33D7 ; FC_NFKC; 0070 0068 # So SQUARE PH
-33D9 ; FC_NFKC; 0070 0070 006D # So SQUARE PPM
-33DA ; FC_NFKC; 0070 0072 # So SQUARE PR
-33DC ; FC_NFKC; 0073 0076 # So SQUARE SV
-33DD ; FC_NFKC; 0077 0062 # So SQUARE WB
-33DE ; FC_NFKC; 0076 2215 006D # So SQUARE V OVER M
-33DF ; FC_NFKC; 0061 2215 006D # So SQUARE A OVER M
-1D400 ; FC_NFKC; 0061 # L& MATHEMATICAL BOLD CAPITAL A
-1D401 ; FC_NFKC; 0062 # L& MATHEMATICAL BOLD CAPITAL B
-1D402 ; FC_NFKC; 0063 # L& MATHEMATICAL BOLD CAPITAL C
-1D403 ; FC_NFKC; 0064 # L& MATHEMATICAL BOLD CAPITAL D
-1D404 ; FC_NFKC; 0065 # L& MATHEMATICAL BOLD CAPITAL E
-1D405 ; FC_NFKC; 0066 # L& MATHEMATICAL BOLD CAPITAL F
-1D406 ; FC_NFKC; 0067 # L& MATHEMATICAL BOLD CAPITAL G
-1D407 ; FC_NFKC; 0068 # L& MATHEMATICAL BOLD CAPITAL H
-1D408 ; FC_NFKC; 0069 # L& MATHEMATICAL BOLD CAPITAL I
-1D409 ; FC_NFKC; 006A # L& MATHEMATICAL BOLD CAPITAL J
-1D40A ; FC_NFKC; 006B # L& MATHEMATICAL BOLD CAPITAL K
-1D40B ; FC_NFKC; 006C # L& MATHEMATICAL BOLD CAPITAL L
-1D40C ; FC_NFKC; 006D # L& MATHEMATICAL BOLD CAPITAL M
-1D40D ; FC_NFKC; 006E # L& MATHEMATICAL BOLD CAPITAL N
-1D40E ; FC_NFKC; 006F # L& MATHEMATICAL BOLD CAPITAL O
-1D40F ; FC_NFKC; 0070 # L& MATHEMATICAL BOLD CAPITAL P
-1D410 ; FC_NFKC; 0071 # L& MATHEMATICAL BOLD CAPITAL Q
-1D411 ; FC_NFKC; 0072 # L& MATHEMATICAL BOLD CAPITAL R
-1D412 ; FC_NFKC; 0073 # L& MATHEMATICAL BOLD CAPITAL S
-1D413 ; FC_NFKC; 0074 # L& MATHEMATICAL BOLD CAPITAL T
-1D414 ; FC_NFKC; 0075 # L& MATHEMATICAL BOLD CAPITAL U
-1D415 ; FC_NFKC; 0076 # L& MATHEMATICAL BOLD CAPITAL V
-1D416 ; FC_NFKC; 0077 # L& MATHEMATICAL BOLD CAPITAL W
-1D417 ; FC_NFKC; 0078 # L& MATHEMATICAL BOLD CAPITAL X
-1D418 ; FC_NFKC; 0079 # L& MATHEMATICAL BOLD CAPITAL Y
-1D419 ; FC_NFKC; 007A # L& MATHEMATICAL BOLD CAPITAL Z
-1D434 ; FC_NFKC; 0061 # L& MATHEMATICAL ITALIC CAPITAL A
-1D435 ; FC_NFKC; 0062 # L& MATHEMATICAL ITALIC CAPITAL B
-1D436 ; FC_NFKC; 0063 # L& MATHEMATICAL ITALIC CAPITAL C
-1D437 ; FC_NFKC; 0064 # L& MATHEMATICAL ITALIC CAPITAL D
-1D438 ; FC_NFKC; 0065 # L& MATHEMATICAL ITALIC CAPITAL E
-1D439 ; FC_NFKC; 0066 # L& MATHEMATICAL ITALIC CAPITAL F
-1D43A ; FC_NFKC; 0067 # L& MATHEMATICAL ITALIC CAPITAL G
-1D43B ; FC_NFKC; 0068 # L& MATHEMATICAL ITALIC CAPITAL H
-1D43C ; FC_NFKC; 0069 # L& MATHEMATICAL ITALIC CAPITAL I
-1D43D ; FC_NFKC; 006A # L& MATHEMATICAL ITALIC CAPITAL J
-1D43E ; FC_NFKC; 006B # L& MATHEMATICAL ITALIC CAPITAL K
-1D43F ; FC_NFKC; 006C # L& MATHEMATICAL ITALIC CAPITAL L
-1D440 ; FC_NFKC; 006D # L& MATHEMATICAL ITALIC CAPITAL M
-1D441 ; FC_NFKC; 006E # L& MATHEMATICAL ITALIC CAPITAL N
-1D442 ; FC_NFKC; 006F # L& MATHEMATICAL ITALIC CAPITAL O
-1D443 ; FC_NFKC; 0070 # L& MATHEMATICAL ITALIC CAPITAL P
-1D444 ; FC_NFKC; 0071 # L& MATHEMATICAL ITALIC CAPITAL Q
-1D445 ; FC_NFKC; 0072 # L& MATHEMATICAL ITALIC CAPITAL R
-1D446 ; FC_NFKC; 0073 # L& MATHEMATICAL ITALIC CAPITAL S
-1D447 ; FC_NFKC; 0074 # L& MATHEMATICAL ITALIC CAPITAL T
-1D448 ; FC_NFKC; 0075 # L& MATHEMATICAL ITALIC CAPITAL U
-1D449 ; FC_NFKC; 0076 # L& MATHEMATICAL ITALIC CAPITAL V
-1D44A ; FC_NFKC; 0077 # L& MATHEMATICAL ITALIC CAPITAL W
-1D44B ; FC_NFKC; 0078 # L& MATHEMATICAL ITALIC CAPITAL X
-1D44C ; FC_NFKC; 0079 # L& MATHEMATICAL ITALIC CAPITAL Y
-1D44D ; FC_NFKC; 007A # L& MATHEMATICAL ITALIC CAPITAL Z
-1D468 ; FC_NFKC; 0061 # L& MATHEMATICAL BOLD ITALIC CAPITAL A
-1D469 ; FC_NFKC; 0062 # L& MATHEMATICAL BOLD ITALIC CAPITAL B
-1D46A ; FC_NFKC; 0063 # L& MATHEMATICAL BOLD ITALIC CAPITAL C
-1D46B ; FC_NFKC; 0064 # L& MATHEMATICAL BOLD ITALIC CAPITAL D
-1D46C ; FC_NFKC; 0065 # L& MATHEMATICAL BOLD ITALIC CAPITAL E
-1D46D ; FC_NFKC; 0066 # L& MATHEMATICAL BOLD ITALIC CAPITAL F
-1D46E ; FC_NFKC; 0067 # L& MATHEMATICAL BOLD ITALIC CAPITAL G
-1D46F ; FC_NFKC; 0068 # L& MATHEMATICAL BOLD ITALIC CAPITAL H
-1D470 ; FC_NFKC; 0069 # L& MATHEMATICAL BOLD ITALIC CAPITAL I
-1D471 ; FC_NFKC; 006A # L& MATHEMATICAL BOLD ITALIC CAPITAL J
-1D472 ; FC_NFKC; 006B # L& MATHEMATICAL BOLD ITALIC CAPITAL K
-1D473 ; FC_NFKC; 006C # L& MATHEMATICAL BOLD ITALIC CAPITAL L
-1D474 ; FC_NFKC; 006D # L& MATHEMATICAL BOLD ITALIC CAPITAL M
-1D475 ; FC_NFKC; 006E # L& MATHEMATICAL BOLD ITALIC CAPITAL N
-1D476 ; FC_NFKC; 006F # L& MATHEMATICAL BOLD ITALIC CAPITAL O
-1D477 ; FC_NFKC; 0070 # L& MATHEMATICAL BOLD ITALIC CAPITAL P
-1D478 ; FC_NFKC; 0071 # L& MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D479 ; FC_NFKC; 0072 # L& MATHEMATICAL BOLD ITALIC CAPITAL R
-1D47A ; FC_NFKC; 0073 # L& MATHEMATICAL BOLD ITALIC CAPITAL S
-1D47B ; FC_NFKC; 0074 # L& MATHEMATICAL BOLD ITALIC CAPITAL T
-1D47C ; FC_NFKC; 0075 # L& MATHEMATICAL BOLD ITALIC CAPITAL U
-1D47D ; FC_NFKC; 0076 # L& MATHEMATICAL BOLD ITALIC CAPITAL V
-1D47E ; FC_NFKC; 0077 # L& MATHEMATICAL BOLD ITALIC CAPITAL W
-1D47F ; FC_NFKC; 0078 # L& MATHEMATICAL BOLD ITALIC CAPITAL X
-1D480 ; FC_NFKC; 0079 # L& MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D481 ; FC_NFKC; 007A # L& MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D49C ; FC_NFKC; 0061 # L& MATHEMATICAL SCRIPT CAPITAL A
-1D49E ; FC_NFKC; 0063 # L& MATHEMATICAL SCRIPT CAPITAL C
-1D49F ; FC_NFKC; 0064 # L& MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; FC_NFKC; 0067 # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5 ; FC_NFKC; 006A # L& MATHEMATICAL SCRIPT CAPITAL J
-1D4A6 ; FC_NFKC; 006B # L& MATHEMATICAL SCRIPT CAPITAL K
-1D4A9 ; FC_NFKC; 006E # L& MATHEMATICAL SCRIPT CAPITAL N
-1D4AA ; FC_NFKC; 006F # L& MATHEMATICAL SCRIPT CAPITAL O
-1D4AB ; FC_NFKC; 0070 # L& MATHEMATICAL SCRIPT CAPITAL P
-1D4AC ; FC_NFKC; 0071 # L& MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE ; FC_NFKC; 0073 # L& MATHEMATICAL SCRIPT CAPITAL S
-1D4AF ; FC_NFKC; 0074 # L& MATHEMATICAL SCRIPT CAPITAL T
-1D4B0 ; FC_NFKC; 0075 # L& MATHEMATICAL SCRIPT CAPITAL U
-1D4B1 ; FC_NFKC; 0076 # L& MATHEMATICAL SCRIPT CAPITAL V
-1D4B2 ; FC_NFKC; 0077 # L& MATHEMATICAL SCRIPT CAPITAL W
-1D4B3 ; FC_NFKC; 0078 # L& MATHEMATICAL SCRIPT CAPITAL X
-1D4B4 ; FC_NFKC; 0079 # L& MATHEMATICAL SCRIPT CAPITAL Y
-1D4B5 ; FC_NFKC; 007A # L& MATHEMATICAL SCRIPT CAPITAL Z
-1D4D0 ; FC_NFKC; 0061 # L& MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D4D1 ; FC_NFKC; 0062 # L& MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D4D2 ; FC_NFKC; 0063 # L& MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D4D3 ; FC_NFKC; 0064 # L& MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D4D4 ; FC_NFKC; 0065 # L& MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D4D5 ; FC_NFKC; 0066 # L& MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D4D6 ; FC_NFKC; 0067 # L& MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D4D7 ; FC_NFKC; 0068 # L& MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D4D8 ; FC_NFKC; 0069 # L& MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D4D9 ; FC_NFKC; 006A # L& MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D4DA ; FC_NFKC; 006B # L& MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D4DB ; FC_NFKC; 006C # L& MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D4DC ; FC_NFKC; 006D # L& MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D4DD ; FC_NFKC; 006E # L& MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D4DE ; FC_NFKC; 006F # L& MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D4DF ; FC_NFKC; 0070 # L& MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D4E0 ; FC_NFKC; 0071 # L& MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D4E1 ; FC_NFKC; 0072 # L& MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D4E2 ; FC_NFKC; 0073 # L& MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D4E3 ; FC_NFKC; 0074 # L& MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D4E4 ; FC_NFKC; 0075 # L& MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D4E5 ; FC_NFKC; 0076 # L& MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D4E6 ; FC_NFKC; 0077 # L& MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D4E7 ; FC_NFKC; 0078 # L& MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D4E8 ; FC_NFKC; 0079 # L& MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D4E9 ; FC_NFKC; 007A # L& MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D504 ; FC_NFKC; 0061 # L& MATHEMATICAL FRAKTUR CAPITAL A
-1D505 ; FC_NFKC; 0062 # L& MATHEMATICAL FRAKTUR CAPITAL B
-1D507 ; FC_NFKC; 0064 # L& MATHEMATICAL FRAKTUR CAPITAL D
-1D508 ; FC_NFKC; 0065 # L& MATHEMATICAL FRAKTUR CAPITAL E
-1D509 ; FC_NFKC; 0066 # L& MATHEMATICAL FRAKTUR CAPITAL F
-1D50A ; FC_NFKC; 0067 # L& MATHEMATICAL FRAKTUR CAPITAL G
-1D50D ; FC_NFKC; 006A # L& MATHEMATICAL FRAKTUR CAPITAL J
-1D50E ; FC_NFKC; 006B # L& MATHEMATICAL FRAKTUR CAPITAL K
-1D50F ; FC_NFKC; 006C # L& MATHEMATICAL FRAKTUR CAPITAL L
-1D510 ; FC_NFKC; 006D # L& MATHEMATICAL FRAKTUR CAPITAL M
-1D511 ; FC_NFKC; 006E # L& MATHEMATICAL FRAKTUR CAPITAL N
-1D512 ; FC_NFKC; 006F # L& MATHEMATICAL FRAKTUR CAPITAL O
-1D513 ; FC_NFKC; 0070 # L& MATHEMATICAL FRAKTUR CAPITAL P
-1D514 ; FC_NFKC; 0071 # L& MATHEMATICAL FRAKTUR CAPITAL Q
-1D516 ; FC_NFKC; 0073 # L& MATHEMATICAL FRAKTUR CAPITAL S
-1D517 ; FC_NFKC; 0074 # L& MATHEMATICAL FRAKTUR CAPITAL T
-1D518 ; FC_NFKC; 0075 # L& MATHEMATICAL FRAKTUR CAPITAL U
-1D519 ; FC_NFKC; 0076 # L& MATHEMATICAL FRAKTUR CAPITAL V
-1D51A ; FC_NFKC; 0077 # L& MATHEMATICAL FRAKTUR CAPITAL W
-1D51B ; FC_NFKC; 0078 # L& MATHEMATICAL FRAKTUR CAPITAL X
-1D51C ; FC_NFKC; 0079 # L& MATHEMATICAL FRAKTUR CAPITAL Y
-1D538 ; FC_NFKC; 0061 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D539 ; FC_NFKC; 0062 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B ; FC_NFKC; 0064 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D53C ; FC_NFKC; 0065 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D53D ; FC_NFKC; 0066 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D53E ; FC_NFKC; 0067 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540 ; FC_NFKC; 0069 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D541 ; FC_NFKC; 006A # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D542 ; FC_NFKC; 006B # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D543 ; FC_NFKC; 006C # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D544 ; FC_NFKC; 006D # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; FC_NFKC; 006F # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A ; FC_NFKC; 0073 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D54B ; FC_NFKC; 0074 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D54C ; FC_NFKC; 0075 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D54D ; FC_NFKC; 0076 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D54E ; FC_NFKC; 0077 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D54F ; FC_NFKC; 0078 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D550 ; FC_NFKC; 0079 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D56C ; FC_NFKC; 0061 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D56D ; FC_NFKC; 0062 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D56E ; FC_NFKC; 0063 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D56F ; FC_NFKC; 0064 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D570 ; FC_NFKC; 0065 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D571 ; FC_NFKC; 0066 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D572 ; FC_NFKC; 0067 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D573 ; FC_NFKC; 0068 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D574 ; FC_NFKC; 0069 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D575 ; FC_NFKC; 006A # L& MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D576 ; FC_NFKC; 006B # L& MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D577 ; FC_NFKC; 006C # L& MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D578 ; FC_NFKC; 006D # L& MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D579 ; FC_NFKC; 006E # L& MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D57A ; FC_NFKC; 006F # L& MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D57B ; FC_NFKC; 0070 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D57C ; FC_NFKC; 0071 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D57D ; FC_NFKC; 0072 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D57E ; FC_NFKC; 0073 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D57F ; FC_NFKC; 0074 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D580 ; FC_NFKC; 0075 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D581 ; FC_NFKC; 0076 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D582 ; FC_NFKC; 0077 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D583 ; FC_NFKC; 0078 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D584 ; FC_NFKC; 0079 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D585 ; FC_NFKC; 007A # L& MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D5A0 ; FC_NFKC; 0061 # L& MATHEMATICAL SANS-SERIF CAPITAL A
-1D5A1 ; FC_NFKC; 0062 # L& MATHEMATICAL SANS-SERIF CAPITAL B
-1D5A2 ; FC_NFKC; 0063 # L& MATHEMATICAL SANS-SERIF CAPITAL C
-1D5A3 ; FC_NFKC; 0064 # L& MATHEMATICAL SANS-SERIF CAPITAL D
-1D5A4 ; FC_NFKC; 0065 # L& MATHEMATICAL SANS-SERIF CAPITAL E
-1D5A5 ; FC_NFKC; 0066 # L& MATHEMATICAL SANS-SERIF CAPITAL F
-1D5A6 ; FC_NFKC; 0067 # L& MATHEMATICAL SANS-SERIF CAPITAL G
-1D5A7 ; FC_NFKC; 0068 # L& MATHEMATICAL SANS-SERIF CAPITAL H
-1D5A8 ; FC_NFKC; 0069 # L& MATHEMATICAL SANS-SERIF CAPITAL I
-1D5A9 ; FC_NFKC; 006A # L& MATHEMATICAL SANS-SERIF CAPITAL J
-1D5AA ; FC_NFKC; 006B # L& MATHEMATICAL SANS-SERIF CAPITAL K
-1D5AB ; FC_NFKC; 006C # L& MATHEMATICAL SANS-SERIF CAPITAL L
-1D5AC ; FC_NFKC; 006D # L& MATHEMATICAL SANS-SERIF CAPITAL M
-1D5AD ; FC_NFKC; 006E # L& MATHEMATICAL SANS-SERIF CAPITAL N
-1D5AE ; FC_NFKC; 006F # L& MATHEMATICAL SANS-SERIF CAPITAL O
-1D5AF ; FC_NFKC; 0070 # L& MATHEMATICAL SANS-SERIF CAPITAL P
-1D5B0 ; FC_NFKC; 0071 # L& MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5B1 ; FC_NFKC; 0072 # L& MATHEMATICAL SANS-SERIF CAPITAL R
-1D5B2 ; FC_NFKC; 0073 # L& MATHEMATICAL SANS-SERIF CAPITAL S
-1D5B3 ; FC_NFKC; 0074 # L& MATHEMATICAL SANS-SERIF CAPITAL T
-1D5B4 ; FC_NFKC; 0075 # L& MATHEMATICAL SANS-SERIF CAPITAL U
-1D5B5 ; FC_NFKC; 0076 # L& MATHEMATICAL SANS-SERIF CAPITAL V
-1D5B6 ; FC_NFKC; 0077 # L& MATHEMATICAL SANS-SERIF CAPITAL W
-1D5B7 ; FC_NFKC; 0078 # L& MATHEMATICAL SANS-SERIF CAPITAL X
-1D5B8 ; FC_NFKC; 0079 # L& MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5B9 ; FC_NFKC; 007A # L& MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5D4 ; FC_NFKC; 0061 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D5D5 ; FC_NFKC; 0062 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D5D6 ; FC_NFKC; 0063 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D5D7 ; FC_NFKC; 0064 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D5D8 ; FC_NFKC; 0065 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D5D9 ; FC_NFKC; 0066 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D5DA ; FC_NFKC; 0067 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D5DB ; FC_NFKC; 0068 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D5DC ; FC_NFKC; 0069 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D5DD ; FC_NFKC; 006A # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D5DE ; FC_NFKC; 006B # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D5DF ; FC_NFKC; 006C # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D5E0 ; FC_NFKC; 006D # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D5E1 ; FC_NFKC; 006E # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D5E2 ; FC_NFKC; 006F # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D5E3 ; FC_NFKC; 0070 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D5E4 ; FC_NFKC; 0071 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D5E5 ; FC_NFKC; 0072 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D5E6 ; FC_NFKC; 0073 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D5E7 ; FC_NFKC; 0074 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D5E8 ; FC_NFKC; 0075 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D5E9 ; FC_NFKC; 0076 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D5EA ; FC_NFKC; 0077 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D5EB ; FC_NFKC; 0078 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D5EC ; FC_NFKC; 0079 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D5ED ; FC_NFKC; 007A # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D608 ; FC_NFKC; 0061 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D609 ; FC_NFKC; 0062 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D60A ; FC_NFKC; 0063 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D60B ; FC_NFKC; 0064 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D60C ; FC_NFKC; 0065 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D60D ; FC_NFKC; 0066 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D60E ; FC_NFKC; 0067 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D60F ; FC_NFKC; 0068 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D610 ; FC_NFKC; 0069 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D611 ; FC_NFKC; 006A # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D612 ; FC_NFKC; 006B # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D613 ; FC_NFKC; 006C # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D614 ; FC_NFKC; 006D # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D615 ; FC_NFKC; 006E # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D616 ; FC_NFKC; 006F # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D617 ; FC_NFKC; 0070 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D618 ; FC_NFKC; 0071 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D619 ; FC_NFKC; 0072 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D61A ; FC_NFKC; 0073 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D61B ; FC_NFKC; 0074 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D61C ; FC_NFKC; 0075 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D61D ; FC_NFKC; 0076 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D61E ; FC_NFKC; 0077 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D61F ; FC_NFKC; 0078 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D620 ; FC_NFKC; 0079 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D621 ; FC_NFKC; 007A # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D63C ; FC_NFKC; 0061 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D63D ; FC_NFKC; 0062 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D63E ; FC_NFKC; 0063 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D63F ; FC_NFKC; 0064 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D640 ; FC_NFKC; 0065 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D641 ; FC_NFKC; 0066 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D642 ; FC_NFKC; 0067 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D643 ; FC_NFKC; 0068 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D644 ; FC_NFKC; 0069 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D645 ; FC_NFKC; 006A # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D646 ; FC_NFKC; 006B # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D647 ; FC_NFKC; 006C # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D648 ; FC_NFKC; 006D # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D649 ; FC_NFKC; 006E # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D64A ; FC_NFKC; 006F # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D64B ; FC_NFKC; 0070 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D64C ; FC_NFKC; 0071 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D64D ; FC_NFKC; 0072 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D64E ; FC_NFKC; 0073 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D64F ; FC_NFKC; 0074 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D650 ; FC_NFKC; 0075 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D651 ; FC_NFKC; 0076 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D652 ; FC_NFKC; 0077 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D653 ; FC_NFKC; 0078 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D654 ; FC_NFKC; 0079 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D655 ; FC_NFKC; 007A # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D670 ; FC_NFKC; 0061 # L& MATHEMATICAL MONOSPACE CAPITAL A
-1D671 ; FC_NFKC; 0062 # L& MATHEMATICAL MONOSPACE CAPITAL B
-1D672 ; FC_NFKC; 0063 # L& MATHEMATICAL MONOSPACE CAPITAL C
-1D673 ; FC_NFKC; 0064 # L& MATHEMATICAL MONOSPACE CAPITAL D
-1D674 ; FC_NFKC; 0065 # L& MATHEMATICAL MONOSPACE CAPITAL E
-1D675 ; FC_NFKC; 0066 # L& MATHEMATICAL MONOSPACE CAPITAL F
-1D676 ; FC_NFKC; 0067 # L& MATHEMATICAL MONOSPACE CAPITAL G
-1D677 ; FC_NFKC; 0068 # L& MATHEMATICAL MONOSPACE CAPITAL H
-1D678 ; FC_NFKC; 0069 # L& MATHEMATICAL MONOSPACE CAPITAL I
-1D679 ; FC_NFKC; 006A # L& MATHEMATICAL MONOSPACE CAPITAL J
-1D67A ; FC_NFKC; 006B # L& MATHEMATICAL MONOSPACE CAPITAL K
-1D67B ; FC_NFKC; 006C # L& MATHEMATICAL MONOSPACE CAPITAL L
-1D67C ; FC_NFKC; 006D # L& MATHEMATICAL MONOSPACE CAPITAL M
-1D67D ; FC_NFKC; 006E # L& MATHEMATICAL MONOSPACE CAPITAL N
-1D67E ; FC_NFKC; 006F # L& MATHEMATICAL MONOSPACE CAPITAL O
-1D67F ; FC_NFKC; 0070 # L& MATHEMATICAL MONOSPACE CAPITAL P
-1D680 ; FC_NFKC; 0071 # L& MATHEMATICAL MONOSPACE CAPITAL Q
-1D681 ; FC_NFKC; 0072 # L& MATHEMATICAL MONOSPACE CAPITAL R
-1D682 ; FC_NFKC; 0073 # L& MATHEMATICAL MONOSPACE CAPITAL S
-1D683 ; FC_NFKC; 0074 # L& MATHEMATICAL MONOSPACE CAPITAL T
-1D684 ; FC_NFKC; 0075 # L& MATHEMATICAL MONOSPACE CAPITAL U
-1D685 ; FC_NFKC; 0076 # L& MATHEMATICAL MONOSPACE CAPITAL V
-1D686 ; FC_NFKC; 0077 # L& MATHEMATICAL MONOSPACE CAPITAL W
-1D687 ; FC_NFKC; 0078 # L& MATHEMATICAL MONOSPACE CAPITAL X
-1D688 ; FC_NFKC; 0079 # L& MATHEMATICAL MONOSPACE CAPITAL Y
-1D689 ; FC_NFKC; 007A # L& MATHEMATICAL MONOSPACE CAPITAL Z
-1D6A8 ; FC_NFKC; 03B1 # L& MATHEMATICAL BOLD CAPITAL ALPHA
-1D6A9 ; FC_NFKC; 03B2 # L& MATHEMATICAL BOLD CAPITAL BETA
-1D6AA ; FC_NFKC; 03B3 # L& MATHEMATICAL BOLD CAPITAL GAMMA
-1D6AB ; FC_NFKC; 03B4 # L& MATHEMATICAL BOLD CAPITAL DELTA
-1D6AC ; FC_NFKC; 03B5 # L& MATHEMATICAL BOLD CAPITAL EPSILON
-1D6AD ; FC_NFKC; 03B6 # L& MATHEMATICAL BOLD CAPITAL ZETA
-1D6AE ; FC_NFKC; 03B7 # L& MATHEMATICAL BOLD CAPITAL ETA
-1D6AF ; FC_NFKC; 03B8 # L& MATHEMATICAL BOLD CAPITAL THETA
-1D6B0 ; FC_NFKC; 03B9 # L& MATHEMATICAL BOLD CAPITAL IOTA
-1D6B1 ; FC_NFKC; 03BA # L& MATHEMATICAL BOLD CAPITAL KAPPA
-1D6B2 ; FC_NFKC; 03BB # L& MATHEMATICAL BOLD CAPITAL LAMDA
-1D6B3 ; FC_NFKC; 03BC # L& MATHEMATICAL BOLD CAPITAL MU
-1D6B4 ; FC_NFKC; 03BD # L& MATHEMATICAL BOLD CAPITAL NU
-1D6B5 ; FC_NFKC; 03BE # L& MATHEMATICAL BOLD CAPITAL XI
-1D6B6 ; FC_NFKC; 03BF # L& MATHEMATICAL BOLD CAPITAL OMICRON
-1D6B7 ; FC_NFKC; 03C0 # L& MATHEMATICAL BOLD CAPITAL PI
-1D6B8 ; FC_NFKC; 03C1 # L& MATHEMATICAL BOLD CAPITAL RHO
-1D6B9 ; FC_NFKC; 03B8 # L& MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6BA ; FC_NFKC; 03C3 # L& MATHEMATICAL BOLD CAPITAL SIGMA
-1D6BB ; FC_NFKC; 03C4 # L& MATHEMATICAL BOLD CAPITAL TAU
-1D6BC ; FC_NFKC; 03C5 # L& MATHEMATICAL BOLD CAPITAL UPSILON
-1D6BD ; FC_NFKC; 03C6 # L& MATHEMATICAL BOLD CAPITAL PHI
-1D6BE ; FC_NFKC; 03C7 # L& MATHEMATICAL BOLD CAPITAL CHI
-1D6BF ; FC_NFKC; 03C8 # L& MATHEMATICAL BOLD CAPITAL PSI
-1D6C0 ; FC_NFKC; 03C9 # L& MATHEMATICAL BOLD CAPITAL OMEGA
-1D6D3 ; FC_NFKC; 03C3 # L& MATHEMATICAL BOLD SMALL FINAL SIGMA
-1D6E2 ; FC_NFKC; 03B1 # L& MATHEMATICAL ITALIC CAPITAL ALPHA
-1D6E3 ; FC_NFKC; 03B2 # L& MATHEMATICAL ITALIC CAPITAL BETA
-1D6E4 ; FC_NFKC; 03B3 # L& MATHEMATICAL ITALIC CAPITAL GAMMA
-1D6E5 ; FC_NFKC; 03B4 # L& MATHEMATICAL ITALIC CAPITAL DELTA
-1D6E6 ; FC_NFKC; 03B5 # L& MATHEMATICAL ITALIC CAPITAL EPSILON
-1D6E7 ; FC_NFKC; 03B6 # L& MATHEMATICAL ITALIC CAPITAL ZETA
-1D6E8 ; FC_NFKC; 03B7 # L& MATHEMATICAL ITALIC CAPITAL ETA
-1D6E9 ; FC_NFKC; 03B8 # L& MATHEMATICAL ITALIC CAPITAL THETA
-1D6EA ; FC_NFKC; 03B9 # L& MATHEMATICAL ITALIC CAPITAL IOTA
-1D6EB ; FC_NFKC; 03BA # L& MATHEMATICAL ITALIC CAPITAL KAPPA
-1D6EC ; FC_NFKC; 03BB # L& MATHEMATICAL ITALIC CAPITAL LAMDA
-1D6ED ; FC_NFKC; 03BC # L& MATHEMATICAL ITALIC CAPITAL MU
-1D6EE ; FC_NFKC; 03BD # L& MATHEMATICAL ITALIC CAPITAL NU
-1D6EF ; FC_NFKC; 03BE # L& MATHEMATICAL ITALIC CAPITAL XI
-1D6F0 ; FC_NFKC; 03BF # L& MATHEMATICAL ITALIC CAPITAL OMICRON
-1D6F1 ; FC_NFKC; 03C0 # L& MATHEMATICAL ITALIC CAPITAL PI
-1D6F2 ; FC_NFKC; 03C1 # L& MATHEMATICAL ITALIC CAPITAL RHO
-1D6F3 ; FC_NFKC; 03B8 # L& MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D6F4 ; FC_NFKC; 03C3 # L& MATHEMATICAL ITALIC CAPITAL SIGMA
-1D6F5 ; FC_NFKC; 03C4 # L& MATHEMATICAL ITALIC CAPITAL TAU
-1D6F6 ; FC_NFKC; 03C5 # L& MATHEMATICAL ITALIC CAPITAL UPSILON
-1D6F7 ; FC_NFKC; 03C6 # L& MATHEMATICAL ITALIC CAPITAL PHI
-1D6F8 ; FC_NFKC; 03C7 # L& MATHEMATICAL ITALIC CAPITAL CHI
-1D6F9 ; FC_NFKC; 03C8 # L& MATHEMATICAL ITALIC CAPITAL PSI
-1D6FA ; FC_NFKC; 03C9 # L& MATHEMATICAL ITALIC CAPITAL OMEGA
-1D70D ; FC_NFKC; 03C3 # L& MATHEMATICAL ITALIC SMALL FINAL SIGMA
-1D71C ; FC_NFKC; 03B1 # L& MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D71D ; FC_NFKC; 03B2 # L& MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D71E ; FC_NFKC; 03B3 # L& MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D71F ; FC_NFKC; 03B4 # L& MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D720 ; FC_NFKC; 03B5 # L& MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D721 ; FC_NFKC; 03B6 # L& MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D722 ; FC_NFKC; 03B7 # L& MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D723 ; FC_NFKC; 03B8 # L& MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D724 ; FC_NFKC; 03B9 # L& MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D725 ; FC_NFKC; 03BA # L& MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D726 ; FC_NFKC; 03BB # L& MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D727 ; FC_NFKC; 03BC # L& MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D728 ; FC_NFKC; 03BD # L& MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D729 ; FC_NFKC; 03BE # L& MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D72A ; FC_NFKC; 03BF # L& MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D72B ; FC_NFKC; 03C0 # L& MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D72C ; FC_NFKC; 03C1 # L& MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D72D ; FC_NFKC; 03B8 # L& MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D72E ; FC_NFKC; 03C3 # L& MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D72F ; FC_NFKC; 03C4 # L& MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D730 ; FC_NFKC; 03C5 # L& MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D731 ; FC_NFKC; 03C6 # L& MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D732 ; FC_NFKC; 03C7 # L& MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D733 ; FC_NFKC; 03C8 # L& MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D734 ; FC_NFKC; 03C9 # L& MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D747 ; FC_NFKC; 03C3 # L& MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
-1D756 ; FC_NFKC; 03B1 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D757 ; FC_NFKC; 03B2 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D758 ; FC_NFKC; 03B3 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D759 ; FC_NFKC; 03B4 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D75A ; FC_NFKC; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D75B ; FC_NFKC; 03B6 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D75C ; FC_NFKC; 03B7 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D75D ; FC_NFKC; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D75E ; FC_NFKC; 03B9 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D75F ; FC_NFKC; 03BA # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D760 ; FC_NFKC; 03BB # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D761 ; FC_NFKC; 03BC # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D762 ; FC_NFKC; 03BD # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D763 ; FC_NFKC; 03BE # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D764 ; FC_NFKC; 03BF # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D765 ; FC_NFKC; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D766 ; FC_NFKC; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D767 ; FC_NFKC; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D768 ; FC_NFKC; 03C3 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D769 ; FC_NFKC; 03C4 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D76A ; FC_NFKC; 03C5 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D76B ; FC_NFKC; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D76C ; FC_NFKC; 03C7 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D76D ; FC_NFKC; 03C8 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D76E ; FC_NFKC; 03C9 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D781 ; FC_NFKC; 03C3 # L& MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
-1D790 ; FC_NFKC; 03B1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1D791 ; FC_NFKC; 03B2 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D792 ; FC_NFKC; 03B3 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D793 ; FC_NFKC; 03B4 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D794 ; FC_NFKC; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1D795 ; FC_NFKC; 03B6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-1D796 ; FC_NFKC; 03B7 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1D797 ; FC_NFKC; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D798 ; FC_NFKC; 03B9 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1D799 ; FC_NFKC; 03BA # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-1D79A ; FC_NFKC; 03BB # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D79B ; FC_NFKC; 03BC # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-1D79C ; FC_NFKC; 03BD # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-1D79D ; FC_NFKC; 03BE # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-1D79E ; FC_NFKC; 03BF # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1D79F ; FC_NFKC; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D7A0 ; FC_NFKC; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D7A1 ; FC_NFKC; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1D7A2 ; FC_NFKC; 03C3 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-1D7A3 ; FC_NFKC; 03C4 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-1D7A4 ; FC_NFKC; 03C5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1D7A5 ; FC_NFKC; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D7A6 ; FC_NFKC; 03C7 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D7A7 ; FC_NFKC; 03C8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D7A8 ; FC_NFKC; 03C9 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7BB ; FC_NFKC; 03C3 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
-1D7CA ; FC_NFKC; 03DD # L& MATHEMATICAL BOLD CAPITAL DIGAMMA
-1F110 ; FC_NFKC; 0028 0061 0029 # So PARENTHESIZED LATIN CAPITAL LETTER A
-1F111 ; FC_NFKC; 0028 0062 0029 # So PARENTHESIZED LATIN CAPITAL LETTER B
-1F112 ; FC_NFKC; 0028 0063 0029 # So PARENTHESIZED LATIN CAPITAL LETTER C
-1F113 ; FC_NFKC; 0028 0064 0029 # So PARENTHESIZED LATIN CAPITAL LETTER D
-1F114 ; FC_NFKC; 0028 0065 0029 # So PARENTHESIZED LATIN CAPITAL LETTER E
-1F115 ; FC_NFKC; 0028 0066 0029 # So PARENTHESIZED LATIN CAPITAL LETTER F
-1F116 ; FC_NFKC; 0028 0067 0029 # So PARENTHESIZED LATIN CAPITAL LETTER G
-1F117 ; FC_NFKC; 0028 0068 0029 # So PARENTHESIZED LATIN CAPITAL LETTER H
-1F118 ; FC_NFKC; 0028 0069 0029 # So PARENTHESIZED LATIN CAPITAL LETTER I
-1F119 ; FC_NFKC; 0028 006A 0029 # So PARENTHESIZED LATIN CAPITAL LETTER J
-1F11A ; FC_NFKC; 0028 006B 0029 # So PARENTHESIZED LATIN CAPITAL LETTER K
-1F11B ; FC_NFKC; 0028 006C 0029 # So PARENTHESIZED LATIN CAPITAL LETTER L
-1F11C ; FC_NFKC; 0028 006D 0029 # So PARENTHESIZED LATIN CAPITAL LETTER M
-1F11D ; FC_NFKC; 0028 006E 0029 # So PARENTHESIZED LATIN CAPITAL LETTER N
-1F11E ; FC_NFKC; 0028 006F 0029 # So PARENTHESIZED LATIN CAPITAL LETTER O
-1F11F ; FC_NFKC; 0028 0070 0029 # So PARENTHESIZED LATIN CAPITAL LETTER P
-1F120 ; FC_NFKC; 0028 0071 0029 # So PARENTHESIZED LATIN CAPITAL LETTER Q
-1F121 ; FC_NFKC; 0028 0072 0029 # So PARENTHESIZED LATIN CAPITAL LETTER R
-1F122 ; FC_NFKC; 0028 0073 0029 # So PARENTHESIZED LATIN CAPITAL LETTER S
-1F123 ; FC_NFKC; 0028 0074 0029 # So PARENTHESIZED LATIN CAPITAL LETTER T
-1F124 ; FC_NFKC; 0028 0075 0029 # So PARENTHESIZED LATIN CAPITAL LETTER U
-1F125 ; FC_NFKC; 0028 0076 0029 # So PARENTHESIZED LATIN CAPITAL LETTER V
-1F126 ; FC_NFKC; 0028 0077 0029 # So PARENTHESIZED LATIN CAPITAL LETTER W
-1F127 ; FC_NFKC; 0028 0078 0029 # So PARENTHESIZED LATIN CAPITAL LETTER X
-1F128 ; FC_NFKC; 0028 0079 0029 # So PARENTHESIZED LATIN CAPITAL LETTER Y
-1F129 ; FC_NFKC; 0028 007A 0029 # So PARENTHESIZED LATIN CAPITAL LETTER Z
-1F12A ; FC_NFKC; 3014 0073 3015 # So TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12B ; FC_NFKC; 0063 # So CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F12C ; FC_NFKC; 0072 # So CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F12D ; FC_NFKC; 0063 0064 # So CIRCLED CD
-1F12E ; FC_NFKC; 0077 007A # So CIRCLED WZ
-1F131 ; FC_NFKC; 0062 # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; FC_NFKC; 006E # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; FC_NFKC; 0070 # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; FC_NFKC; 0073 # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; FC_NFKC; 0077 # So SQUARED LATIN CAPITAL LETTER W
-1F14A ; FC_NFKC; 0068 0076 # So SQUARED HV
-1F14B ; FC_NFKC; 006D 0076 # So SQUARED MV
-1F14C ; FC_NFKC; 0073 0064 # So SQUARED SD
-1F14D ; FC_NFKC; 0073 0073 # So SQUARED SS
-1F14E ; FC_NFKC; 0070 0070 0076 # So SQUARED PPV
-1F190 ; FC_NFKC; 0064 006A # So SQUARE DJ
-
-# Total code points: 608
-
-# ================================================
-
-# Derived Property: Full_Composition_Exclusion
-# Generated from: Composition Exclusions + Singletons + Non-Starter Decompositions
-
-0340..0341 ; Full_Composition_Exclusion # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0344 ; Full_Composition_Exclusion # Mn [2] COMBINING GREEK KORONIS..COMBINING GREEK DIALYTIKA TONOS
-0374 ; Full_Composition_Exclusion # Lm GREEK NUMERAL SIGN
-037E ; Full_Composition_Exclusion # Po GREEK QUESTION MARK
-0387 ; Full_Composition_Exclusion # Po GREEK ANO TELEIA
-0958..095F ; Full_Composition_Exclusion # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09DC..09DD ; Full_Composition_Exclusion # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Full_Composition_Exclusion # Lo BENGALI LETTER YYA
-0A33 ; Full_Composition_Exclusion # Lo GURMUKHI LETTER LLA
-0A36 ; Full_Composition_Exclusion # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Full_Composition_Exclusion # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Full_Composition_Exclusion # Lo GURMUKHI LETTER FA
-0B5C..0B5D ; Full_Composition_Exclusion # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0F43 ; Full_Composition_Exclusion # Lo TIBETAN LETTER GHA
-0F4D ; Full_Composition_Exclusion # Lo TIBETAN LETTER DDHA
-0F52 ; Full_Composition_Exclusion # Lo TIBETAN LETTER DHA
-0F57 ; Full_Composition_Exclusion # Lo TIBETAN LETTER BHA
-0F5C ; Full_Composition_Exclusion # Lo TIBETAN LETTER DZHA
-0F69 ; Full_Composition_Exclusion # Lo TIBETAN LETTER KSSA
-0F73 ; Full_Composition_Exclusion # Mn TIBETAN VOWEL SIGN II
-0F75..0F76 ; Full_Composition_Exclusion # Mn [2] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC R
-0F78 ; Full_Composition_Exclusion # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F81 ; Full_Composition_Exclusion # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Full_Composition_Exclusion # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Full_Composition_Exclusion # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Full_Composition_Exclusion # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Full_Composition_Exclusion # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Full_Composition_Exclusion # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Full_Composition_Exclusion # Mn TIBETAN SUBJOINED LETTER KSSA
-1F71 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER ALPHA WITH OXIA
-1F73 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER EPSILON WITH OXIA
-1F75 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER ETA WITH OXIA
-1F77 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER IOTA WITH OXIA
-1F79 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER OMICRON WITH OXIA
-1F7B ; Full_Composition_Exclusion # L& GREEK SMALL LETTER UPSILON WITH OXIA
-1F7D ; Full_Composition_Exclusion # L& GREEK SMALL LETTER OMEGA WITH OXIA
-1FBB ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBE ; Full_Composition_Exclusion # L& GREEK PROSGEGRAMMENI
-1FC9 ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCB ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER ETA WITH OXIA
-1FD3 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FDB ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE3 ; Full_Composition_Exclusion # L& GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FEB ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FEE..1FEF ; Full_Composition_Exclusion # Sk [2] GREEK DIALYTIKA AND OXIA..GREEK VARIA
-1FF9 ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFB ; Full_Composition_Exclusion # L& GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFD ; Full_Composition_Exclusion # Sk GREEK OXIA
-2000..2001 ; Full_Composition_Exclusion # Zs [2] EN QUAD..EM QUAD
-2126 ; Full_Composition_Exclusion # L& OHM SIGN
-212A..212B ; Full_Composition_Exclusion # L& [2] KELVIN SIGN..ANGSTROM SIGN
-2329 ; Full_Composition_Exclusion # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Full_Composition_Exclusion # Pe RIGHT-POINTING ANGLE BRACKET
-2ADC ; Full_Composition_Exclusion # Sm FORKING
-F900..FA0D ; Full_Composition_Exclusion # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; Full_Composition_Exclusion # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; Full_Composition_Exclusion # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; Full_Composition_Exclusion # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; Full_Composition_Exclusion # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; Full_Composition_Exclusion # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; Full_Composition_Exclusion # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; Full_Composition_Exclusion # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Full_Composition_Exclusion # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Full_Composition_Exclusion # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB1D ; Full_Composition_Exclusion # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; Full_Composition_Exclusion # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; Full_Composition_Exclusion # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Full_Composition_Exclusion # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Full_Composition_Exclusion # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Full_Composition_Exclusion # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Full_Composition_Exclusion # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4E ; Full_Composition_Exclusion # Lo [9] HEBREW LETTER TSADI WITH DAGESH..HEBREW LETTER PE WITH RAFE
-1D15E..1D164 ; Full_Composition_Exclusion # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; Full_Composition_Exclusion # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-2F800..2FA1D ; Full_Composition_Exclusion # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 1118
-
-# ================================================
-
-# Property: NFD_Quick_Check
-
-# All code points not explicitly listed for NFD_Quick_Check
-# have the value Yes (Y).
-
-# @missing: 0000..10FFFF; NFD_QC; Yes
-
-# ================================================
-
-# NFD_Quick_Check=No
-
-00C0..00C5 ; NFD_QC; N # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
-00C7..00CF ; NFD_QC; N # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
-00D1..00D6 ; NFD_QC; N # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D9..00DD ; NFD_QC; N # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE
-00E0..00E5 ; NFD_QC; N # L& [6] LATIN SMALL LETTER A WITH GRAVE..LATIN SMALL LETTER A WITH RING ABOVE
-00E7..00EF ; NFD_QC; N # L& [9] LATIN SMALL LETTER C WITH CEDILLA..LATIN SMALL LETTER I WITH DIAERESIS
-00F1..00F6 ; NFD_QC; N # L& [6] LATIN SMALL LETTER N WITH TILDE..LATIN SMALL LETTER O WITH DIAERESIS
-00F9..00FD ; NFD_QC; N # L& [5] LATIN SMALL LETTER U WITH GRAVE..LATIN SMALL LETTER Y WITH ACUTE
-00FF..010F ; NFD_QC; N # L& [17] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN SMALL LETTER D WITH CARON
-0112..0125 ; NFD_QC; N # L& [20] LATIN CAPITAL LETTER E WITH MACRON..LATIN SMALL LETTER H WITH CIRCUMFLEX
-0128..0130 ; NFD_QC; N # L& [9] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH DOT ABOVE
-0134..0137 ; NFD_QC; N # L& [4] LATIN CAPITAL LETTER J WITH CIRCUMFLEX..LATIN SMALL LETTER K WITH CEDILLA
-0139..013E ; NFD_QC; N # L& [6] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH CARON
-0143..0148 ; NFD_QC; N # L& [6] LATIN CAPITAL LETTER N WITH ACUTE..LATIN SMALL LETTER N WITH CARON
-014C..0151 ; NFD_QC; N # L& [6] LATIN CAPITAL LETTER O WITH MACRON..LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0154..0165 ; NFD_QC; N # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON
-0168..017E ; NFD_QC; N # L& [23] LATIN CAPITAL LETTER U WITH TILDE..LATIN SMALL LETTER Z WITH CARON
-01A0..01A1 ; NFD_QC; N # L& [2] LATIN CAPITAL LETTER O WITH HORN..LATIN SMALL LETTER O WITH HORN
-01AF..01B0 ; NFD_QC; N # L& [2] LATIN CAPITAL LETTER U WITH HORN..LATIN SMALL LETTER U WITH HORN
-01CD..01DC ; NFD_QC; N # L& [16] LATIN CAPITAL LETTER A WITH CARON..LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DE..01E3 ; NFD_QC; N # L& [6] LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON..LATIN SMALL LETTER AE WITH MACRON
-01E6..01F0 ; NFD_QC; N # L& [11] LATIN CAPITAL LETTER G WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F4..01F5 ; NFD_QC; N # L& [2] LATIN CAPITAL LETTER G WITH ACUTE..LATIN SMALL LETTER G WITH ACUTE
-01F8..021B ; NFD_QC; N # L& [36] LATIN CAPITAL LETTER N WITH GRAVE..LATIN SMALL LETTER T WITH COMMA BELOW
-021E..021F ; NFD_QC; N # L& [2] LATIN CAPITAL LETTER H WITH CARON..LATIN SMALL LETTER H WITH CARON
-0226..0233 ; NFD_QC; N # L& [14] LATIN CAPITAL LETTER A WITH DOT ABOVE..LATIN SMALL LETTER Y WITH MACRON
-0340..0341 ; NFD_QC; N # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0344 ; NFD_QC; N # Mn [2] COMBINING GREEK KORONIS..COMBINING GREEK DIALYTIKA TONOS
-0374 ; NFD_QC; N # Lm GREEK NUMERAL SIGN
-037E ; NFD_QC; N # Po GREEK QUESTION MARK
-0385 ; NFD_QC; N # Sk GREEK DIALYTIKA TONOS
-0386 ; NFD_QC; N # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; NFD_QC; N # Po GREEK ANO TELEIA
-0388..038A ; NFD_QC; N # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; NFD_QC; N # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..0390 ; NFD_QC; N # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AA..03B0 ; NFD_QC; N # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03CA..03CE ; NFD_QC; N # L& [5] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER OMEGA WITH TONOS
-03D3..03D4 ; NFD_QC; N # L& [2] GREEK UPSILON WITH ACUTE AND HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-0400..0401 ; NFD_QC; N # L& [2] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC CAPITAL LETTER IO
-0403 ; NFD_QC; N # L& CYRILLIC CAPITAL LETTER GJE
-0407 ; NFD_QC; N # L& CYRILLIC CAPITAL LETTER YI
-040C..040E ; NFD_QC; N # L& [3] CYRILLIC CAPITAL LETTER KJE..CYRILLIC CAPITAL LETTER SHORT U
-0419 ; NFD_QC; N # L& CYRILLIC CAPITAL LETTER SHORT I
-0439 ; NFD_QC; N # L& CYRILLIC SMALL LETTER SHORT I
-0450..0451 ; NFD_QC; N # L& [2] CYRILLIC SMALL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER IO
-0453 ; NFD_QC; N # L& CYRILLIC SMALL LETTER GJE
-0457 ; NFD_QC; N # L& CYRILLIC SMALL LETTER YI
-045C..045E ; NFD_QC; N # L& [3] CYRILLIC SMALL LETTER KJE..CYRILLIC SMALL LETTER SHORT U
-0476..0477 ; NFD_QC; N # L& [2] CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT..CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-04C1..04C2 ; NFD_QC; N # L& [2] CYRILLIC CAPITAL LETTER ZHE WITH BREVE..CYRILLIC SMALL LETTER ZHE WITH BREVE
-04D0..04D3 ; NFD_QC; N # L& [4] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D6..04D7 ; NFD_QC; N # L& [2] CYRILLIC CAPITAL LETTER IE WITH BREVE..CYRILLIC SMALL LETTER IE WITH BREVE
-04DA..04DF ; NFD_QC; N # L& [6] CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS..CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E2..04E7 ; NFD_QC; N # L& [6] CYRILLIC CAPITAL LETTER I WITH MACRON..CYRILLIC SMALL LETTER O WITH DIAERESIS
-04EA..04F5 ; NFD_QC; N # L& [12] CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS..CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F8..04F9 ; NFD_QC; N # L& [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-0622..0626 ; NFD_QC; N # Lo [5] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER YEH WITH HAMZA ABOVE
-06C0 ; NFD_QC; N # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06C2 ; NFD_QC; N # Lo ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06D3 ; NFD_QC; N # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-0929 ; NFD_QC; N # Lo DEVANAGARI LETTER NNNA
-0931 ; NFD_QC; N # Lo DEVANAGARI LETTER RRA
-0934 ; NFD_QC; N # Lo DEVANAGARI LETTER LLLA
-0958..095F ; NFD_QC; N # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09CB..09CC ; NFD_QC; N # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09DC..09DD ; NFD_QC; N # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; NFD_QC; N # Lo BENGALI LETTER YYA
-0A33 ; NFD_QC; N # Lo GURMUKHI LETTER LLA
-0A36 ; NFD_QC; N # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; NFD_QC; N # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; NFD_QC; N # Lo GURMUKHI LETTER FA
-0B48 ; NFD_QC; N # Mc ORIYA VOWEL SIGN AI
-0B4B..0B4C ; NFD_QC; N # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B5C..0B5D ; NFD_QC; N # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B94 ; NFD_QC; N # Lo TAMIL LETTER AU
-0BCA..0BCC ; NFD_QC; N # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0C48 ; NFD_QC; N # Mn TELUGU VOWEL SIGN AI
-0CC0 ; NFD_QC; N # Mc KANNADA VOWEL SIGN II
-0CC7..0CC8 ; NFD_QC; N # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; NFD_QC; N # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0D4A..0D4C ; NFD_QC; N # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0DDA ; NFD_QC; N # Mc SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDC..0DDE ; NFD_QC; N # Mc [3] SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0F43 ; NFD_QC; N # Lo TIBETAN LETTER GHA
-0F4D ; NFD_QC; N # Lo TIBETAN LETTER DDHA
-0F52 ; NFD_QC; N # Lo TIBETAN LETTER DHA
-0F57 ; NFD_QC; N # Lo TIBETAN LETTER BHA
-0F5C ; NFD_QC; N # Lo TIBETAN LETTER DZHA
-0F69 ; NFD_QC; N # Lo TIBETAN LETTER KSSA
-0F73 ; NFD_QC; N # Mn TIBETAN VOWEL SIGN II
-0F75..0F76 ; NFD_QC; N # Mn [2] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC R
-0F78 ; NFD_QC; N # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F81 ; NFD_QC; N # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; NFD_QC; N # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; NFD_QC; N # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; NFD_QC; N # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; NFD_QC; N # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; NFD_QC; N # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; NFD_QC; N # Mn TIBETAN SUBJOINED LETTER KSSA
-1026 ; NFD_QC; N # Lo MYANMAR LETTER UU
-1B06 ; NFD_QC; N # Lo BALINESE LETTER AKARA TEDUNG
-1B08 ; NFD_QC; N # Lo BALINESE LETTER IKARA TEDUNG
-1B0A ; NFD_QC; N # Lo BALINESE LETTER UKARA TEDUNG
-1B0C ; NFD_QC; N # Lo BALINESE LETTER RA REPA TEDUNG
-1B0E ; NFD_QC; N # Lo BALINESE LETTER LA LENGA TEDUNG
-1B12 ; NFD_QC; N # Lo BALINESE LETTER OKARA TEDUNG
-1B3B ; NFD_QC; N # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D ; NFD_QC; N # Mc BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B40..1B41 ; NFD_QC; N # Mc [2] BALINESE VOWEL SIGN TALING TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43 ; NFD_QC; N # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1E00..1E99 ; NFD_QC; N # L& [154] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH RING ABOVE
-1E9B ; NFD_QC; N # L& LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA0..1EF9 ; NFD_QC; N # L& [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE
-1F00..1F15 ; NFD_QC; N # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; NFD_QC; N # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; NFD_QC; N # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; NFD_QC; N # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; NFD_QC; N # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; NFD_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; NFD_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; NFD_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; NFD_QC; N # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; NFD_QC; N # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; NFD_QC; N # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; NFD_QC; N # L& GREEK PROSGEGRAMMENI
-1FC1 ; NFD_QC; N # Sk GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; NFD_QC; N # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; NFD_QC; N # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; NFD_QC; N # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; NFD_QC; N # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; NFD_QC; N # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; NFD_QC; N # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; NFD_QC; N # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; NFD_QC; N # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; NFD_QC; N # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; NFD_QC; N # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD ; NFD_QC; N # Sk GREEK OXIA
-2000..2001 ; NFD_QC; N # Zs [2] EN QUAD..EM QUAD
-2126 ; NFD_QC; N # L& OHM SIGN
-212A..212B ; NFD_QC; N # L& [2] KELVIN SIGN..ANGSTROM SIGN
-219A..219B ; NFD_QC; N # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-21AE ; NFD_QC; N # Sm LEFT RIGHT ARROW WITH STROKE
-21CD ; NFD_QC; N # So LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; NFD_QC; N # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-2204 ; NFD_QC; N # Sm THERE DOES NOT EXIST
-2209 ; NFD_QC; N # Sm NOT AN ELEMENT OF
-220C ; NFD_QC; N # Sm DOES NOT CONTAIN AS MEMBER
-2224 ; NFD_QC; N # Sm DOES NOT DIVIDE
-2226 ; NFD_QC; N # Sm NOT PARALLEL TO
-2241 ; NFD_QC; N # Sm NOT TILDE
-2244 ; NFD_QC; N # Sm NOT ASYMPTOTICALLY EQUAL TO
-2247 ; NFD_QC; N # Sm NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249 ; NFD_QC; N # Sm NOT ALMOST EQUAL TO
-2260 ; NFD_QC; N # Sm NOT EQUAL TO
-2262 ; NFD_QC; N # Sm NOT IDENTICAL TO
-226D..2271 ; NFD_QC; N # Sm [5] NOT EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUAL TO
-2274..2275 ; NFD_QC; N # Sm [2] NEITHER LESS-THAN NOR EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUIVALENT TO
-2278..2279 ; NFD_QC; N # Sm [2] NEITHER LESS-THAN NOR GREATER-THAN..NEITHER GREATER-THAN NOR LESS-THAN
-2280..2281 ; NFD_QC; N # Sm [2] DOES NOT PRECEDE..DOES NOT SUCCEED
-2284..2285 ; NFD_QC; N # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2289 ; NFD_QC; N # Sm [2] NEITHER A SUBSET OF NOR EQUAL TO..NEITHER A SUPERSET OF NOR EQUAL TO
-22AC..22AF ; NFD_QC; N # Sm [4] DOES NOT PROVE..NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22E0..22E3 ; NFD_QC; N # Sm [4] DOES NOT PRECEDE OR EQUAL..NOT SQUARE ORIGINAL OF OR EQUAL TO
-22EA..22ED ; NFD_QC; N # Sm [4] NOT NORMAL SUBGROUP OF..DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-2329 ; NFD_QC; N # Ps LEFT-POINTING ANGLE BRACKET
-232A ; NFD_QC; N # Pe RIGHT-POINTING ANGLE BRACKET
-2ADC ; NFD_QC; N # Sm FORKING
-304C ; NFD_QC; N # Lo HIRAGANA LETTER GA
-304E ; NFD_QC; N # Lo HIRAGANA LETTER GI
-3050 ; NFD_QC; N # Lo HIRAGANA LETTER GU
-3052 ; NFD_QC; N # Lo HIRAGANA LETTER GE
-3054 ; NFD_QC; N # Lo HIRAGANA LETTER GO
-3056 ; NFD_QC; N # Lo HIRAGANA LETTER ZA
-3058 ; NFD_QC; N # Lo HIRAGANA LETTER ZI
-305A ; NFD_QC; N # Lo HIRAGANA LETTER ZU
-305C ; NFD_QC; N # Lo HIRAGANA LETTER ZE
-305E ; NFD_QC; N # Lo HIRAGANA LETTER ZO
-3060 ; NFD_QC; N # Lo HIRAGANA LETTER DA
-3062 ; NFD_QC; N # Lo HIRAGANA LETTER DI
-3065 ; NFD_QC; N # Lo HIRAGANA LETTER DU
-3067 ; NFD_QC; N # Lo HIRAGANA LETTER DE
-3069 ; NFD_QC; N # Lo HIRAGANA LETTER DO
-3070..3071 ; NFD_QC; N # Lo [2] HIRAGANA LETTER BA..HIRAGANA LETTER PA
-3073..3074 ; NFD_QC; N # Lo [2] HIRAGANA LETTER BI..HIRAGANA LETTER PI
-3076..3077 ; NFD_QC; N # Lo [2] HIRAGANA LETTER BU..HIRAGANA LETTER PU
-3079..307A ; NFD_QC; N # Lo [2] HIRAGANA LETTER BE..HIRAGANA LETTER PE
-307C..307D ; NFD_QC; N # Lo [2] HIRAGANA LETTER BO..HIRAGANA LETTER PO
-3094 ; NFD_QC; N # Lo HIRAGANA LETTER VU
-309E ; NFD_QC; N # Lm HIRAGANA VOICED ITERATION MARK
-30AC ; NFD_QC; N # Lo KATAKANA LETTER GA
-30AE ; NFD_QC; N # Lo KATAKANA LETTER GI
-30B0 ; NFD_QC; N # Lo KATAKANA LETTER GU
-30B2 ; NFD_QC; N # Lo KATAKANA LETTER GE
-30B4 ; NFD_QC; N # Lo KATAKANA LETTER GO
-30B6 ; NFD_QC; N # Lo KATAKANA LETTER ZA
-30B8 ; NFD_QC; N # Lo KATAKANA LETTER ZI
-30BA ; NFD_QC; N # Lo KATAKANA LETTER ZU
-30BC ; NFD_QC; N # Lo KATAKANA LETTER ZE
-30BE ; NFD_QC; N # Lo KATAKANA LETTER ZO
-30C0 ; NFD_QC; N # Lo KATAKANA LETTER DA
-30C2 ; NFD_QC; N # Lo KATAKANA LETTER DI
-30C5 ; NFD_QC; N # Lo KATAKANA LETTER DU
-30C7 ; NFD_QC; N # Lo KATAKANA LETTER DE
-30C9 ; NFD_QC; N # Lo KATAKANA LETTER DO
-30D0..30D1 ; NFD_QC; N # Lo [2] KATAKANA LETTER BA..KATAKANA LETTER PA
-30D3..30D4 ; NFD_QC; N # Lo [2] KATAKANA LETTER BI..KATAKANA LETTER PI
-30D6..30D7 ; NFD_QC; N # Lo [2] KATAKANA LETTER BU..KATAKANA LETTER PU
-30D9..30DA ; NFD_QC; N # Lo [2] KATAKANA LETTER BE..KATAKANA LETTER PE
-30DC..30DD ; NFD_QC; N # Lo [2] KATAKANA LETTER BO..KATAKANA LETTER PO
-30F4 ; NFD_QC; N # Lo KATAKANA LETTER VU
-30F7..30FA ; NFD_QC; N # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO
-30FE ; NFD_QC; N # Lm KATAKANA VOICED ITERATION MARK
-AC00..D7A3 ; NFD_QC; N # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-F900..FA0D ; NFD_QC; N # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; NFD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; NFD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; NFD_QC; N # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; NFD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; NFD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; NFD_QC; N # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; NFD_QC; N # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; NFD_QC; N # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; NFD_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB1D ; NFD_QC; N # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; NFD_QC; N # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; NFD_QC; N # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; NFD_QC; N # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; NFD_QC; N # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; NFD_QC; N # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; NFD_QC; N # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4E ; NFD_QC; N # Lo [9] HEBREW LETTER TSADI WITH DAGESH..HEBREW LETTER PE WITH RAFE
-1109A ; NFD_QC; N # Lo KAITHI LETTER DDDHA
-1109C ; NFD_QC; N # Lo KAITHI LETTER RHA
-110AB ; NFD_QC; N # Lo KAITHI LETTER VA
-1D15E..1D164 ; NFD_QC; N # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; NFD_QC; N # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-2F800..2FA1D ; NFD_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 13221
-
-# ================================================
-
-# Property: NFC_Quick_Check
-
-# All code points not explicitly listed for NFC_Quick_Check
-# have the value Yes (Y).
-
-# @missing: 0000..10FFFF; NFC_QC; Yes
-
-# ================================================
-
-# NFC_Quick_Check=No
-
-0340..0341 ; NFC_QC; N # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0344 ; NFC_QC; N # Mn [2] COMBINING GREEK KORONIS..COMBINING GREEK DIALYTIKA TONOS
-0374 ; NFC_QC; N # Lm GREEK NUMERAL SIGN
-037E ; NFC_QC; N # Po GREEK QUESTION MARK
-0387 ; NFC_QC; N # Po GREEK ANO TELEIA
-0958..095F ; NFC_QC; N # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09DC..09DD ; NFC_QC; N # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; NFC_QC; N # Lo BENGALI LETTER YYA
-0A33 ; NFC_QC; N # Lo GURMUKHI LETTER LLA
-0A36 ; NFC_QC; N # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; NFC_QC; N # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; NFC_QC; N # Lo GURMUKHI LETTER FA
-0B5C..0B5D ; NFC_QC; N # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0F43 ; NFC_QC; N # Lo TIBETAN LETTER GHA
-0F4D ; NFC_QC; N # Lo TIBETAN LETTER DDHA
-0F52 ; NFC_QC; N # Lo TIBETAN LETTER DHA
-0F57 ; NFC_QC; N # Lo TIBETAN LETTER BHA
-0F5C ; NFC_QC; N # Lo TIBETAN LETTER DZHA
-0F69 ; NFC_QC; N # Lo TIBETAN LETTER KSSA
-0F73 ; NFC_QC; N # Mn TIBETAN VOWEL SIGN II
-0F75..0F76 ; NFC_QC; N # Mn [2] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC R
-0F78 ; NFC_QC; N # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F81 ; NFC_QC; N # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; NFC_QC; N # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; NFC_QC; N # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; NFC_QC; N # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; NFC_QC; N # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; NFC_QC; N # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; NFC_QC; N # Mn TIBETAN SUBJOINED LETTER KSSA
-1F71 ; NFC_QC; N # L& GREEK SMALL LETTER ALPHA WITH OXIA
-1F73 ; NFC_QC; N # L& GREEK SMALL LETTER EPSILON WITH OXIA
-1F75 ; NFC_QC; N # L& GREEK SMALL LETTER ETA WITH OXIA
-1F77 ; NFC_QC; N # L& GREEK SMALL LETTER IOTA WITH OXIA
-1F79 ; NFC_QC; N # L& GREEK SMALL LETTER OMICRON WITH OXIA
-1F7B ; NFC_QC; N # L& GREEK SMALL LETTER UPSILON WITH OXIA
-1F7D ; NFC_QC; N # L& GREEK SMALL LETTER OMEGA WITH OXIA
-1FBB ; NFC_QC; N # L& GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBE ; NFC_QC; N # L& GREEK PROSGEGRAMMENI
-1FC9 ; NFC_QC; N # L& GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCB ; NFC_QC; N # L& GREEK CAPITAL LETTER ETA WITH OXIA
-1FD3 ; NFC_QC; N # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FDB ; NFC_QC; N # L& GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE3 ; NFC_QC; N # L& GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FEB ; NFC_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FEE..1FEF ; NFC_QC; N # Sk [2] GREEK DIALYTIKA AND OXIA..GREEK VARIA
-1FF9 ; NFC_QC; N # L& GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFB ; NFC_QC; N # L& GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFD ; NFC_QC; N # Sk GREEK OXIA
-2000..2001 ; NFC_QC; N # Zs [2] EN QUAD..EM QUAD
-2126 ; NFC_QC; N # L& OHM SIGN
-212A..212B ; NFC_QC; N # L& [2] KELVIN SIGN..ANGSTROM SIGN
-2329 ; NFC_QC; N # Ps LEFT-POINTING ANGLE BRACKET
-232A ; NFC_QC; N # Pe RIGHT-POINTING ANGLE BRACKET
-2ADC ; NFC_QC; N # Sm FORKING
-F900..FA0D ; NFC_QC; N # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; NFC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; NFC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; NFC_QC; N # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; NFC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; NFC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; NFC_QC; N # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; NFC_QC; N # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; NFC_QC; N # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; NFC_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB1D ; NFC_QC; N # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; NFC_QC; N # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; NFC_QC; N # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; NFC_QC; N # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; NFC_QC; N # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; NFC_QC; N # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; NFC_QC; N # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4E ; NFC_QC; N # Lo [9] HEBREW LETTER TSADI WITH DAGESH..HEBREW LETTER PE WITH RAFE
-1D15E..1D164 ; NFC_QC; N # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; NFC_QC; N # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-2F800..2FA1D ; NFC_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 1118
-
-# ================================================
-
-# NFC_Quick_Check=Maybe
-
-0300..0304 ; NFC_QC; M # Mn [5] COMBINING GRAVE ACCENT..COMBINING MACRON
-0306..030C ; NFC_QC; M # Mn [7] COMBINING BREVE..COMBINING CARON
-030F ; NFC_QC; M # Mn COMBINING DOUBLE GRAVE ACCENT
-0311 ; NFC_QC; M # Mn COMBINING INVERTED BREVE
-0313..0314 ; NFC_QC; M # Mn [2] COMBINING COMMA ABOVE..COMBINING REVERSED COMMA ABOVE
-031B ; NFC_QC; M # Mn COMBINING HORN
-0323..0328 ; NFC_QC; M # Mn [6] COMBINING DOT BELOW..COMBINING OGONEK
-032D..032E ; NFC_QC; M # Mn [2] COMBINING CIRCUMFLEX ACCENT BELOW..COMBINING BREVE BELOW
-0330..0331 ; NFC_QC; M # Mn [2] COMBINING TILDE BELOW..COMBINING MACRON BELOW
-0338 ; NFC_QC; M # Mn COMBINING LONG SOLIDUS OVERLAY
-0342 ; NFC_QC; M # Mn COMBINING GREEK PERISPOMENI
-0345 ; NFC_QC; M # Mn COMBINING GREEK YPOGEGRAMMENI
-0653..0655 ; NFC_QC; M # Mn [3] ARABIC MADDAH ABOVE..ARABIC HAMZA BELOW
-093C ; NFC_QC; M # Mn DEVANAGARI SIGN NUKTA
-09BE ; NFC_QC; M # Mc BENGALI VOWEL SIGN AA
-09D7 ; NFC_QC; M # Mc BENGALI AU LENGTH MARK
-0B3E ; NFC_QC; M # Mc ORIYA VOWEL SIGN AA
-0B56 ; NFC_QC; M # Mn ORIYA AI LENGTH MARK
-0B57 ; NFC_QC; M # Mc ORIYA AU LENGTH MARK
-0BBE ; NFC_QC; M # Mc TAMIL VOWEL SIGN AA
-0BD7 ; NFC_QC; M # Mc TAMIL AU LENGTH MARK
-0C56 ; NFC_QC; M # Mn TELUGU AI LENGTH MARK
-0CC2 ; NFC_QC; M # Mc KANNADA VOWEL SIGN UU
-0CD5..0CD6 ; NFC_QC; M # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0D3E ; NFC_QC; M # Mc MALAYALAM VOWEL SIGN AA
-0D57 ; NFC_QC; M # Mc MALAYALAM AU LENGTH MARK
-0DCA ; NFC_QC; M # Mn SINHALA SIGN AL-LAKUNA
-0DCF ; NFC_QC; M # Mc SINHALA VOWEL SIGN AELA-PILLA
-0DDF ; NFC_QC; M # Mc SINHALA VOWEL SIGN GAYANUKITTA
-102E ; NFC_QC; M # Mn MYANMAR VOWEL SIGN II
-1161..1175 ; NFC_QC; M # Lo [21] HANGUL JUNGSEONG A..HANGUL JUNGSEONG I
-11A8..11C2 ; NFC_QC; M # Lo [27] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG HIEUH
-1B35 ; NFC_QC; M # Mc BALINESE VOWEL SIGN TEDUNG
-3099..309A ; NFC_QC; M # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-110BA ; NFC_QC; M # Mn KAITHI SIGN NUKTA
-
-# Total code points: 103
-
-# ================================================
-
-# Property: NFKD_Quick_Check
-
-# All code points not explicitly listed for NFKD_Quick_Check
-# have the value Yes (Y).
-
-# @missing: 0000..10FFFF; NFKD_QC; Yes
-
-# ================================================
-
-# NFKD_Quick_Check=No
-
-00A0 ; NFKD_QC; N # Zs NO-BREAK SPACE
-00A8 ; NFKD_QC; N # Sk DIAERESIS
-00AA ; NFKD_QC; N # L& FEMININE ORDINAL INDICATOR
-00AF ; NFKD_QC; N # Sk MACRON
-00B2..00B3 ; NFKD_QC; N # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; NFKD_QC; N # Sk ACUTE ACCENT
-00B5 ; NFKD_QC; N # L& MICRO SIGN
-00B8 ; NFKD_QC; N # Sk CEDILLA
-00B9 ; NFKD_QC; N # No SUPERSCRIPT ONE
-00BA ; NFKD_QC; N # L& MASCULINE ORDINAL INDICATOR
-00BC..00BE ; NFKD_QC; N # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00C0..00C5 ; NFKD_QC; N # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
-00C7..00CF ; NFKD_QC; N # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
-00D1..00D6 ; NFKD_QC; N # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D9..00DD ; NFKD_QC; N # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE
-00E0..00E5 ; NFKD_QC; N # L& [6] LATIN SMALL LETTER A WITH GRAVE..LATIN SMALL LETTER A WITH RING ABOVE
-00E7..00EF ; NFKD_QC; N # L& [9] LATIN SMALL LETTER C WITH CEDILLA..LATIN SMALL LETTER I WITH DIAERESIS
-00F1..00F6 ; NFKD_QC; N # L& [6] LATIN SMALL LETTER N WITH TILDE..LATIN SMALL LETTER O WITH DIAERESIS
-00F9..00FD ; NFKD_QC; N # L& [5] LATIN SMALL LETTER U WITH GRAVE..LATIN SMALL LETTER Y WITH ACUTE
-00FF..010F ; NFKD_QC; N # L& [17] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN SMALL LETTER D WITH CARON
-0112..0125 ; NFKD_QC; N # L& [20] LATIN CAPITAL LETTER E WITH MACRON..LATIN SMALL LETTER H WITH CIRCUMFLEX
-0128..0130 ; NFKD_QC; N # L& [9] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132..0137 ; NFKD_QC; N # L& [6] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LETTER K WITH CEDILLA
-0139..0140 ; NFKD_QC; N # L& [8] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH MIDDLE DOT
-0143..0149 ; NFKD_QC; N # L& [7] LATIN CAPITAL LETTER N WITH ACUTE..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014C..0151 ; NFKD_QC; N # L& [6] LATIN CAPITAL LETTER O WITH MACRON..LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0154..0165 ; NFKD_QC; N # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON
-0168..017F ; NFKD_QC; N # L& [24] LATIN CAPITAL LETTER U WITH TILDE..LATIN SMALL LETTER LONG S
-01A0..01A1 ; NFKD_QC; N # L& [2] LATIN CAPITAL LETTER O WITH HORN..LATIN SMALL LETTER O WITH HORN
-01AF..01B0 ; NFKD_QC; N # L& [2] LATIN CAPITAL LETTER U WITH HORN..LATIN SMALL LETTER U WITH HORN
-01C4..01DC ; NFKD_QC; N # L& [25] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DE..01E3 ; NFKD_QC; N # L& [6] LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON..LATIN SMALL LETTER AE WITH MACRON
-01E6..01F5 ; NFKD_QC; N # L& [16] LATIN CAPITAL LETTER G WITH CARON..LATIN SMALL LETTER G WITH ACUTE
-01F8..021B ; NFKD_QC; N # L& [36] LATIN CAPITAL LETTER N WITH GRAVE..LATIN SMALL LETTER T WITH COMMA BELOW
-021E..021F ; NFKD_QC; N # L& [2] LATIN CAPITAL LETTER H WITH CARON..LATIN SMALL LETTER H WITH CARON
-0226..0233 ; NFKD_QC; N # L& [14] LATIN CAPITAL LETTER A WITH DOT ABOVE..LATIN SMALL LETTER Y WITH MACRON
-02B0..02B8 ; NFKD_QC; N # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02D8..02DD ; NFKD_QC; N # Sk [6] BREVE..DOUBLE ACUTE ACCENT
-02E0..02E4 ; NFKD_QC; N # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0340..0341 ; NFKD_QC; N # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0344 ; NFKD_QC; N # Mn [2] COMBINING GREEK KORONIS..COMBINING GREEK DIALYTIKA TONOS
-0374 ; NFKD_QC; N # Lm GREEK NUMERAL SIGN
-037A ; NFKD_QC; N # Lm GREEK YPOGEGRAMMENI
-037E ; NFKD_QC; N # Po GREEK QUESTION MARK
-0384..0385 ; NFKD_QC; N # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; NFKD_QC; N # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; NFKD_QC; N # Po GREEK ANO TELEIA
-0388..038A ; NFKD_QC; N # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; NFKD_QC; N # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..0390 ; NFKD_QC; N # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AA..03B0 ; NFKD_QC; N # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03CA..03CE ; NFKD_QC; N # L& [5] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D6 ; NFKD_QC; N # L& [7] GREEK BETA SYMBOL..GREEK PI SYMBOL
-03F0..03F2 ; NFKD_QC; N # L& [3] GREEK KAPPA SYMBOL..GREEK LUNATE SIGMA SYMBOL
-03F4..03F5 ; NFKD_QC; N # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F9 ; NFKD_QC; N # L& GREEK CAPITAL LUNATE SIGMA SYMBOL
-0400..0401 ; NFKD_QC; N # L& [2] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC CAPITAL LETTER IO
-0403 ; NFKD_QC; N # L& CYRILLIC CAPITAL LETTER GJE
-0407 ; NFKD_QC; N # L& CYRILLIC CAPITAL LETTER YI
-040C..040E ; NFKD_QC; N # L& [3] CYRILLIC CAPITAL LETTER KJE..CYRILLIC CAPITAL LETTER SHORT U
-0419 ; NFKD_QC; N # L& CYRILLIC CAPITAL LETTER SHORT I
-0439 ; NFKD_QC; N # L& CYRILLIC SMALL LETTER SHORT I
-0450..0451 ; NFKD_QC; N # L& [2] CYRILLIC SMALL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER IO
-0453 ; NFKD_QC; N # L& CYRILLIC SMALL LETTER GJE
-0457 ; NFKD_QC; N # L& CYRILLIC SMALL LETTER YI
-045C..045E ; NFKD_QC; N # L& [3] CYRILLIC SMALL LETTER KJE..CYRILLIC SMALL LETTER SHORT U
-0476..0477 ; NFKD_QC; N # L& [2] CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT..CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-04C1..04C2 ; NFKD_QC; N # L& [2] CYRILLIC CAPITAL LETTER ZHE WITH BREVE..CYRILLIC SMALL LETTER ZHE WITH BREVE
-04D0..04D3 ; NFKD_QC; N # L& [4] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D6..04D7 ; NFKD_QC; N # L& [2] CYRILLIC CAPITAL LETTER IE WITH BREVE..CYRILLIC SMALL LETTER IE WITH BREVE
-04DA..04DF ; NFKD_QC; N # L& [6] CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS..CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E2..04E7 ; NFKD_QC; N # L& [6] CYRILLIC CAPITAL LETTER I WITH MACRON..CYRILLIC SMALL LETTER O WITH DIAERESIS
-04EA..04F5 ; NFKD_QC; N # L& [12] CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS..CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F8..04F9 ; NFKD_QC; N # L& [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-0587 ; NFKD_QC; N # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0622..0626 ; NFKD_QC; N # Lo [5] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER YEH WITH HAMZA ABOVE
-0675..0678 ; NFKD_QC; N # Lo [4] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER HIGH HAMZA YEH
-06C0 ; NFKD_QC; N # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06C2 ; NFKD_QC; N # Lo ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06D3 ; NFKD_QC; N # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-0929 ; NFKD_QC; N # Lo DEVANAGARI LETTER NNNA
-0931 ; NFKD_QC; N # Lo DEVANAGARI LETTER RRA
-0934 ; NFKD_QC; N # Lo DEVANAGARI LETTER LLLA
-0958..095F ; NFKD_QC; N # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09CB..09CC ; NFKD_QC; N # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09DC..09DD ; NFKD_QC; N # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; NFKD_QC; N # Lo BENGALI LETTER YYA
-0A33 ; NFKD_QC; N # Lo GURMUKHI LETTER LLA
-0A36 ; NFKD_QC; N # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; NFKD_QC; N # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; NFKD_QC; N # Lo GURMUKHI LETTER FA
-0B48 ; NFKD_QC; N # Mc ORIYA VOWEL SIGN AI
-0B4B..0B4C ; NFKD_QC; N # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B5C..0B5D ; NFKD_QC; N # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B94 ; NFKD_QC; N # Lo TAMIL LETTER AU
-0BCA..0BCC ; NFKD_QC; N # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0C48 ; NFKD_QC; N # Mn TELUGU VOWEL SIGN AI
-0CC0 ; NFKD_QC; N # Mc KANNADA VOWEL SIGN II
-0CC7..0CC8 ; NFKD_QC; N # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; NFKD_QC; N # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0D4A..0D4C ; NFKD_QC; N # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0DDA ; NFKD_QC; N # Mc SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDC..0DDE ; NFKD_QC; N # Mc [3] SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0E33 ; NFKD_QC; N # Lo THAI CHARACTER SARA AM
-0EB3 ; NFKD_QC; N # Lo LAO VOWEL SIGN AM
-0EDC..0EDD ; NFKD_QC; N # Lo [2] LAO HO NO..LAO HO MO
-0F0C ; NFKD_QC; N # Po TIBETAN MARK DELIMITER TSHEG BSTAR
-0F43 ; NFKD_QC; N # Lo TIBETAN LETTER GHA
-0F4D ; NFKD_QC; N # Lo TIBETAN LETTER DDHA
-0F52 ; NFKD_QC; N # Lo TIBETAN LETTER DHA
-0F57 ; NFKD_QC; N # Lo TIBETAN LETTER BHA
-0F5C ; NFKD_QC; N # Lo TIBETAN LETTER DZHA
-0F69 ; NFKD_QC; N # Lo TIBETAN LETTER KSSA
-0F73 ; NFKD_QC; N # Mn TIBETAN VOWEL SIGN II
-0F75..0F79 ; NFKD_QC; N # Mn [5] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC LL
-0F81 ; NFKD_QC; N # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; NFKD_QC; N # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; NFKD_QC; N # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; NFKD_QC; N # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; NFKD_QC; N # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; NFKD_QC; N # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; NFKD_QC; N # Mn TIBETAN SUBJOINED LETTER KSSA
-1026 ; NFKD_QC; N # Lo MYANMAR LETTER UU
-10FC ; NFKD_QC; N # Lm MODIFIER LETTER GEORGIAN NAR
-1B06 ; NFKD_QC; N # Lo BALINESE LETTER AKARA TEDUNG
-1B08 ; NFKD_QC; N # Lo BALINESE LETTER IKARA TEDUNG
-1B0A ; NFKD_QC; N # Lo BALINESE LETTER UKARA TEDUNG
-1B0C ; NFKD_QC; N # Lo BALINESE LETTER RA REPA TEDUNG
-1B0E ; NFKD_QC; N # Lo BALINESE LETTER LA LENGA TEDUNG
-1B12 ; NFKD_QC; N # Lo BALINESE LETTER OKARA TEDUNG
-1B3B ; NFKD_QC; N # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D ; NFKD_QC; N # Mc BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B40..1B41 ; NFKD_QC; N # Mc [2] BALINESE VOWEL SIGN TALING TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43 ; NFKD_QC; N # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1D2C..1D2E ; NFKD_QC; N # Lm [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
-1D30..1D3A ; NFKD_QC; N # Lm [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
-1D3C..1D4D ; NFKD_QC; N # Lm [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61 ; NFKD_QC; N # Lm [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D62..1D6A ; NFKD_QC; N # L& [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
-1D78 ; NFKD_QC; N # Lm MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; NFKD_QC; N # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1E9B ; NFKD_QC; N # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA0..1EF9 ; NFKD_QC; N # L& [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE
-1F00..1F15 ; NFKD_QC; N # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; NFKD_QC; N # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; NFKD_QC; N # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; NFKD_QC; N # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; NFKD_QC; N # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; NFKD_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; NFKD_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; NFKD_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; NFKD_QC; N # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; NFKD_QC; N # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; NFKD_QC; N # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; NFKD_QC; N # Sk GREEK KORONIS
-1FBE ; NFKD_QC; N # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; NFKD_QC; N # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; NFKD_QC; N # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; NFKD_QC; N # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; NFKD_QC; N # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; NFKD_QC; N # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; NFKD_QC; N # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; NFKD_QC; N # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; NFKD_QC; N # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; NFKD_QC; N # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; NFKD_QC; N # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; NFKD_QC; N # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; NFKD_QC; N # Sk [2] GREEK OXIA..GREEK DASIA
-2000..200A ; NFKD_QC; N # Zs [11] EN QUAD..HAIR SPACE
-2011 ; NFKD_QC; N # Pd NON-BREAKING HYPHEN
-2017 ; NFKD_QC; N # Po DOUBLE LOW LINE
-2024..2026 ; NFKD_QC; N # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS
-202F ; NFKD_QC; N # Zs NARROW NO-BREAK SPACE
-2033..2034 ; NFKD_QC; N # Po [2] DOUBLE PRIME..TRIPLE PRIME
-2036..2037 ; NFKD_QC; N # Po [2] REVERSED DOUBLE PRIME..REVERSED TRIPLE PRIME
-203C ; NFKD_QC; N # Po DOUBLE EXCLAMATION MARK
-203E ; NFKD_QC; N # Po OVERLINE
-2047..2049 ; NFKD_QC; N # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2057 ; NFKD_QC; N # Po QUADRUPLE PRIME
-205F ; NFKD_QC; N # Zs MEDIUM MATHEMATICAL SPACE
-2070 ; NFKD_QC; N # No SUPERSCRIPT ZERO
-2071 ; NFKD_QC; N # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074..2079 ; NFKD_QC; N # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; NFKD_QC; N # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; NFKD_QC; N # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; NFKD_QC; N # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; NFKD_QC; N # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2080..2089 ; NFKD_QC; N # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; NFKD_QC; N # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; NFKD_QC; N # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; NFKD_QC; N # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; NFKD_QC; N # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A8 ; NFKD_QC; N # Sc RUPEE SIGN
-2100..2101 ; NFKD_QC; N # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; NFKD_QC; N # L& DOUBLE-STRUCK CAPITAL C
-2103 ; NFKD_QC; N # So DEGREE CELSIUS
-2105..2106 ; NFKD_QC; N # So [2] CARE OF..CADA UNA
-2107 ; NFKD_QC; N # L& EULER CONSTANT
-2109 ; NFKD_QC; N # So DEGREE FAHRENHEIT
-210A..2113 ; NFKD_QC; N # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; NFKD_QC; N # L& DOUBLE-STRUCK CAPITAL N
-2116 ; NFKD_QC; N # So NUMERO SIGN
-2119..211D ; NFKD_QC; N # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2120..2122 ; NFKD_QC; N # So [3] SERVICE MARK..TRADE MARK SIGN
-2124 ; NFKD_QC; N # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; NFKD_QC; N # L& OHM SIGN
-2128 ; NFKD_QC; N # L& BLACK-LETTER CAPITAL Z
-212A..212D ; NFKD_QC; N # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2131 ; NFKD_QC; N # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F
-2133..2134 ; NFKD_QC; N # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O
-2135..2138 ; NFKD_QC; N # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; NFKD_QC; N # L& INFORMATION SOURCE
-213B ; NFKD_QC; N # So FACSIMILE SIGN
-213C..213F ; NFKD_QC; N # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140 ; NFKD_QC; N # Sm DOUBLE-STRUCK N-ARY SUMMATION
-2145..2149 ; NFKD_QC; N # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-2150..215F ; NFKD_QC; N # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2160..217F ; NFKD_QC; N # Nl [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2189 ; NFKD_QC; N # No VULGAR FRACTION ZERO THIRDS
-219A..219B ; NFKD_QC; N # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-21AE ; NFKD_QC; N # Sm LEFT RIGHT ARROW WITH STROKE
-21CD ; NFKD_QC; N # So LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; NFKD_QC; N # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-2204 ; NFKD_QC; N # Sm THERE DOES NOT EXIST
-2209 ; NFKD_QC; N # Sm NOT AN ELEMENT OF
-220C ; NFKD_QC; N # Sm DOES NOT CONTAIN AS MEMBER
-2224 ; NFKD_QC; N # Sm DOES NOT DIVIDE
-2226 ; NFKD_QC; N # Sm NOT PARALLEL TO
-222C..222D ; NFKD_QC; N # Sm [2] DOUBLE INTEGRAL..TRIPLE INTEGRAL
-222F..2230 ; NFKD_QC; N # Sm [2] SURFACE INTEGRAL..VOLUME INTEGRAL
-2241 ; NFKD_QC; N # Sm NOT TILDE
-2244 ; NFKD_QC; N # Sm NOT ASYMPTOTICALLY EQUAL TO
-2247 ; NFKD_QC; N # Sm NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249 ; NFKD_QC; N # Sm NOT ALMOST EQUAL TO
-2260 ; NFKD_QC; N # Sm NOT EQUAL TO
-2262 ; NFKD_QC; N # Sm NOT IDENTICAL TO
-226D..2271 ; NFKD_QC; N # Sm [5] NOT EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUAL TO
-2274..2275 ; NFKD_QC; N # Sm [2] NEITHER LESS-THAN NOR EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUIVALENT TO
-2278..2279 ; NFKD_QC; N # Sm [2] NEITHER LESS-THAN NOR GREATER-THAN..NEITHER GREATER-THAN NOR LESS-THAN
-2280..2281 ; NFKD_QC; N # Sm [2] DOES NOT PRECEDE..DOES NOT SUCCEED
-2284..2285 ; NFKD_QC; N # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2289 ; NFKD_QC; N # Sm [2] NEITHER A SUBSET OF NOR EQUAL TO..NEITHER A SUPERSET OF NOR EQUAL TO
-22AC..22AF ; NFKD_QC; N # Sm [4] DOES NOT PROVE..NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22E0..22E3 ; NFKD_QC; N # Sm [4] DOES NOT PRECEDE OR EQUAL..NOT SQUARE ORIGINAL OF OR EQUAL TO
-22EA..22ED ; NFKD_QC; N # Sm [4] NOT NORMAL SUBGROUP OF..DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-2329 ; NFKD_QC; N # Ps LEFT-POINTING ANGLE BRACKET
-232A ; NFKD_QC; N # Pe RIGHT-POINTING ANGLE BRACKET
-2460..249B ; NFKD_QC; N # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; NFKD_QC; N # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA ; NFKD_QC; N # No CIRCLED DIGIT ZERO
-2A0C ; NFKD_QC; N # Sm QUADRUPLE INTEGRAL OPERATOR
-2A74..2A76 ; NFKD_QC; N # Sm [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
-2ADC ; NFKD_QC; N # Sm FORKING
-2C7C ; NFKD_QC; N # L& LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; NFKD_QC; N # Lm MODIFIER LETTER CAPITAL V
-2D6F ; NFKD_QC; N # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2E9F ; NFKD_QC; N # So CJK RADICAL MOTHER
-2EF3 ; NFKD_QC; N # So CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; NFKD_QC; N # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-3000 ; NFKD_QC; N # Zs IDEOGRAPHIC SPACE
-3036 ; NFKD_QC; N # So CIRCLED POSTAL MARK
-3038..303A ; NFKD_QC; N # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-304C ; NFKD_QC; N # Lo HIRAGANA LETTER GA
-304E ; NFKD_QC; N # Lo HIRAGANA LETTER GI
-3050 ; NFKD_QC; N # Lo HIRAGANA LETTER GU
-3052 ; NFKD_QC; N # Lo HIRAGANA LETTER GE
-3054 ; NFKD_QC; N # Lo HIRAGANA LETTER GO
-3056 ; NFKD_QC; N # Lo HIRAGANA LETTER ZA
-3058 ; NFKD_QC; N # Lo HIRAGANA LETTER ZI
-305A ; NFKD_QC; N # Lo HIRAGANA LETTER ZU
-305C ; NFKD_QC; N # Lo HIRAGANA LETTER ZE
-305E ; NFKD_QC; N # Lo HIRAGANA LETTER ZO
-3060 ; NFKD_QC; N # Lo HIRAGANA LETTER DA
-3062 ; NFKD_QC; N # Lo HIRAGANA LETTER DI
-3065 ; NFKD_QC; N # Lo HIRAGANA LETTER DU
-3067 ; NFKD_QC; N # Lo HIRAGANA LETTER DE
-3069 ; NFKD_QC; N # Lo HIRAGANA LETTER DO
-3070..3071 ; NFKD_QC; N # Lo [2] HIRAGANA LETTER BA..HIRAGANA LETTER PA
-3073..3074 ; NFKD_QC; N # Lo [2] HIRAGANA LETTER BI..HIRAGANA LETTER PI
-3076..3077 ; NFKD_QC; N # Lo [2] HIRAGANA LETTER BU..HIRAGANA LETTER PU
-3079..307A ; NFKD_QC; N # Lo [2] HIRAGANA LETTER BE..HIRAGANA LETTER PE
-307C..307D ; NFKD_QC; N # Lo [2] HIRAGANA LETTER BO..HIRAGANA LETTER PO
-3094 ; NFKD_QC; N # Lo HIRAGANA LETTER VU
-309B..309C ; NFKD_QC; N # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309E ; NFKD_QC; N # Lm HIRAGANA VOICED ITERATION MARK
-309F ; NFKD_QC; N # Lo HIRAGANA DIGRAPH YORI
-30AC ; NFKD_QC; N # Lo KATAKANA LETTER GA
-30AE ; NFKD_QC; N # Lo KATAKANA LETTER GI
-30B0 ; NFKD_QC; N # Lo KATAKANA LETTER GU
-30B2 ; NFKD_QC; N # Lo KATAKANA LETTER GE
-30B4 ; NFKD_QC; N # Lo KATAKANA LETTER GO
-30B6 ; NFKD_QC; N # Lo KATAKANA LETTER ZA
-30B8 ; NFKD_QC; N # Lo KATAKANA LETTER ZI
-30BA ; NFKD_QC; N # Lo KATAKANA LETTER ZU
-30BC ; NFKD_QC; N # Lo KATAKANA LETTER ZE
-30BE ; NFKD_QC; N # Lo KATAKANA LETTER ZO
-30C0 ; NFKD_QC; N # Lo KATAKANA LETTER DA
-30C2 ; NFKD_QC; N # Lo KATAKANA LETTER DI
-30C5 ; NFKD_QC; N # Lo KATAKANA LETTER DU
-30C7 ; NFKD_QC; N # Lo KATAKANA LETTER DE
-30C9 ; NFKD_QC; N # Lo KATAKANA LETTER DO
-30D0..30D1 ; NFKD_QC; N # Lo [2] KATAKANA LETTER BA..KATAKANA LETTER PA
-30D3..30D4 ; NFKD_QC; N # Lo [2] KATAKANA LETTER BI..KATAKANA LETTER PI
-30D6..30D7 ; NFKD_QC; N # Lo [2] KATAKANA LETTER BU..KATAKANA LETTER PU
-30D9..30DA ; NFKD_QC; N # Lo [2] KATAKANA LETTER BE..KATAKANA LETTER PE
-30DC..30DD ; NFKD_QC; N # Lo [2] KATAKANA LETTER BO..KATAKANA LETTER PO
-30F4 ; NFKD_QC; N # Lo KATAKANA LETTER VU
-30F7..30FA ; NFKD_QC; N # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO
-30FE ; NFKD_QC; N # Lm KATAKANA VOICED ITERATION MARK
-30FF ; NFKD_QC; N # Lo KATAKANA DIGRAPH KOTO
-3131..318E ; NFKD_QC; N # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3192..3195 ; NFKD_QC; N # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; NFKD_QC; N # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-3200..321E ; NFKD_QC; N # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; NFKD_QC; N # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3247 ; NFKD_QC; N # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
-3250 ; NFKD_QC; N # So PARTNERSHIP SIGN
-3251..325F ; NFKD_QC; N # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327E ; NFKD_QC; N # So [31] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL IEUNG U
-3280..3289 ; NFKD_QC; N # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; NFKD_QC; N # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; NFKD_QC; N # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; NFKD_QC; N # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; NFKD_QC; N # So [256] SQUARE APAATO..SQUARE GAL
-A770 ; NFKD_QC; N # Lm MODIFIER LETTER US
-AC00..D7A3 ; NFKD_QC; N # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-F900..FA0D ; NFKD_QC; N # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; NFKD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; NFKD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; NFKD_QC; N # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; NFKD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; NFKD_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; NFKD_QC; N # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; NFKD_QC; N # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; NFKD_QC; N # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; NFKD_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; NFKD_QC; N # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; NFKD_QC; N # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; NFKD_QC; N # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; NFKD_QC; N # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; NFKD_QC; N # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; NFKD_QC; N # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; NFKD_QC; N # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; NFKD_QC; N # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; NFKD_QC; N # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; NFKD_QC; N # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; NFKD_QC; N # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; NFKD_QC; N # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; NFKD_QC; N # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; NFKD_QC; N # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; NFKD_QC; N # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; NFKD_QC; N # Sc RIAL SIGN
-FE10..FE16 ; NFKD_QC; N # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; NFKD_QC; N # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; NFKD_QC; N # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; NFKD_QC; N # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; NFKD_QC; N # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE47 ; NFKD_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; NFKD_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; NFKD_QC; N # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; NFKD_QC; N # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; NFKD_QC; N # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; NFKD_QC; N # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; NFKD_QC; N # Pd SMALL EM DASH
-FE59 ; NFKD_QC; N # Ps SMALL LEFT PARENTHESIS
-FE5A ; NFKD_QC; N # Pe SMALL RIGHT PARENTHESIS
-FE5B ; NFKD_QC; N # Ps SMALL LEFT CURLY BRACKET
-FE5C ; NFKD_QC; N # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; NFKD_QC; N # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; NFKD_QC; N # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; NFKD_QC; N # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; NFKD_QC; N # Sm SMALL PLUS SIGN
-FE63 ; NFKD_QC; N # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; NFKD_QC; N # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; NFKD_QC; N # Po SMALL REVERSE SOLIDUS
-FE69 ; NFKD_QC; N # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; NFKD_QC; N # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FE70..FE72 ; NFKD_QC; N # Lo [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM
-FE74 ; NFKD_QC; N # Lo ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; NFKD_QC; N # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF01..FF03 ; NFKD_QC; N # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; NFKD_QC; N # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; NFKD_QC; N # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; NFKD_QC; N # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; NFKD_QC; N # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; NFKD_QC; N # Po FULLWIDTH ASTERISK
-FF0B ; NFKD_QC; N # Sm FULLWIDTH PLUS SIGN
-FF0C ; NFKD_QC; N # Po FULLWIDTH COMMA
-FF0D ; NFKD_QC; N # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; NFKD_QC; N # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; NFKD_QC; N # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; NFKD_QC; N # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; NFKD_QC; N # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; NFKD_QC; N # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; NFKD_QC; N # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; NFKD_QC; N # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; NFKD_QC; N # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; NFKD_QC; N # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; NFKD_QC; N # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; NFKD_QC; N # Pc FULLWIDTH LOW LINE
-FF40 ; NFKD_QC; N # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; NFKD_QC; N # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; NFKD_QC; N # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; NFKD_QC; N # Sm FULLWIDTH VERTICAL LINE
-FF5D ; NFKD_QC; N # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; NFKD_QC; N # Sm FULLWIDTH TILDE
-FF5F ; NFKD_QC; N # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; NFKD_QC; N # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; NFKD_QC; N # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; NFKD_QC; N # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; NFKD_QC; N # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; NFKD_QC; N # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; NFKD_QC; N # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; NFKD_QC; N # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; NFKD_QC; N # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; NFKD_QC; N # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; NFKD_QC; N # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; NFKD_QC; N # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; NFKD_QC; N # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; NFKD_QC; N # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; NFKD_QC; N # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE0..FFE1 ; NFKD_QC; N # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; NFKD_QC; N # Sm FULLWIDTH NOT SIGN
-FFE3 ; NFKD_QC; N # Sk FULLWIDTH MACRON
-FFE4 ; NFKD_QC; N # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; NFKD_QC; N # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-FFE8 ; NFKD_QC; N # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; NFKD_QC; N # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; NFKD_QC; N # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-1109A ; NFKD_QC; N # Lo KAITHI LETTER DDDHA
-1109C ; NFKD_QC; N # Lo KAITHI LETTER RHA
-110AB ; NFKD_QC; N # Lo KAITHI LETTER VA
-1D15E..1D164 ; NFKD_QC; N # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; NFKD_QC; N # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-1D400..1D454 ; NFKD_QC; N # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; NFKD_QC; N # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; NFKD_QC; N # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; NFKD_QC; N # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; NFKD_QC; N # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; NFKD_QC; N # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; NFKD_QC; N # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; NFKD_QC; N # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; NFKD_QC; N # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; NFKD_QC; N # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; NFKD_QC; N # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; NFKD_QC; N # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; NFKD_QC; N # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; NFKD_QC; N # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; NFKD_QC; N # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; NFKD_QC; N # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; NFKD_QC; N # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; NFKD_QC; N # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; NFKD_QC; N # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; NFKD_QC; N # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; NFKD_QC; N # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; NFKD_QC; N # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; NFKD_QC; N # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; NFKD_QC; N # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; NFKD_QC; N # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; NFKD_QC; N # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; NFKD_QC; N # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; NFKD_QC; N # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; NFKD_QC; N # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; NFKD_QC; N # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; NFKD_QC; N # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; NFKD_QC; N # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; NFKD_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; NFKD_QC; N # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; NFKD_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; NFKD_QC; N # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; NFKD_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; NFKD_QC; N # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; NFKD_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; NFKD_QC; N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; NFKD_QC; N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F100..1F10A ; NFKD_QC; N # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; NFKD_QC; N # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; NFKD_QC; N # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; NFKD_QC; N # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; NFKD_QC; N # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; NFKD_QC; N # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; NFKD_QC; N # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; NFKD_QC; N # So [5] SQUARED HV..SQUARED PPV
-1F190 ; NFKD_QC; N # So SQUARE DJ
-1F200 ; NFKD_QC; N # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; NFKD_QC; N # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; NFKD_QC; N # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2F800..2FA1D ; NFKD_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 16688
-
-# ================================================
-
-# Property: NFKC_Quick_Check
-
-# All code points not explicitly listed for NFKC_Quick_Check
-# have the value Yes (Y).
-
-# @missing: 0000..10FFFF; NFKC_QC; Yes
-
-# ================================================
-
-# NFKC_Quick_Check=No
-
-00A0 ; NFKC_QC; N # Zs NO-BREAK SPACE
-00A8 ; NFKC_QC; N # Sk DIAERESIS
-00AA ; NFKC_QC; N # L& FEMININE ORDINAL INDICATOR
-00AF ; NFKC_QC; N # Sk MACRON
-00B2..00B3 ; NFKC_QC; N # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; NFKC_QC; N # Sk ACUTE ACCENT
-00B5 ; NFKC_QC; N # L& MICRO SIGN
-00B8 ; NFKC_QC; N # Sk CEDILLA
-00B9 ; NFKC_QC; N # No SUPERSCRIPT ONE
-00BA ; NFKC_QC; N # L& MASCULINE ORDINAL INDICATOR
-00BC..00BE ; NFKC_QC; N # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-0132..0133 ; NFKC_QC; N # L& [2] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LIGATURE IJ
-013F..0140 ; NFKC_QC; N # L& [2] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH MIDDLE DOT
-0149 ; NFKC_QC; N # L& LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-017F ; NFKC_QC; N # L& LATIN SMALL LETTER LONG S
-01C4..01CC ; NFKC_QC; N # L& [9] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER NJ
-01F1..01F3 ; NFKC_QC; N # L& [3] LATIN CAPITAL LETTER DZ..LATIN SMALL LETTER DZ
-02B0..02B8 ; NFKC_QC; N # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02D8..02DD ; NFKC_QC; N # Sk [6] BREVE..DOUBLE ACUTE ACCENT
-02E0..02E4 ; NFKC_QC; N # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0340..0341 ; NFKC_QC; N # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0344 ; NFKC_QC; N # Mn [2] COMBINING GREEK KORONIS..COMBINING GREEK DIALYTIKA TONOS
-0374 ; NFKC_QC; N # Lm GREEK NUMERAL SIGN
-037A ; NFKC_QC; N # Lm GREEK YPOGEGRAMMENI
-037E ; NFKC_QC; N # Po GREEK QUESTION MARK
-0384..0385 ; NFKC_QC; N # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0387 ; NFKC_QC; N # Po GREEK ANO TELEIA
-03D0..03D6 ; NFKC_QC; N # L& [7] GREEK BETA SYMBOL..GREEK PI SYMBOL
-03F0..03F2 ; NFKC_QC; N # L& [3] GREEK KAPPA SYMBOL..GREEK LUNATE SIGMA SYMBOL
-03F4..03F5 ; NFKC_QC; N # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F9 ; NFKC_QC; N # L& GREEK CAPITAL LUNATE SIGMA SYMBOL
-0587 ; NFKC_QC; N # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0675..0678 ; NFKC_QC; N # Lo [4] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER HIGH HAMZA YEH
-0958..095F ; NFKC_QC; N # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09DC..09DD ; NFKC_QC; N # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; NFKC_QC; N # Lo BENGALI LETTER YYA
-0A33 ; NFKC_QC; N # Lo GURMUKHI LETTER LLA
-0A36 ; NFKC_QC; N # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; NFKC_QC; N # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; NFKC_QC; N # Lo GURMUKHI LETTER FA
-0B5C..0B5D ; NFKC_QC; N # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0E33 ; NFKC_QC; N # Lo THAI CHARACTER SARA AM
-0EB3 ; NFKC_QC; N # Lo LAO VOWEL SIGN AM
-0EDC..0EDD ; NFKC_QC; N # Lo [2] LAO HO NO..LAO HO MO
-0F0C ; NFKC_QC; N # Po TIBETAN MARK DELIMITER TSHEG BSTAR
-0F43 ; NFKC_QC; N # Lo TIBETAN LETTER GHA
-0F4D ; NFKC_QC; N # Lo TIBETAN LETTER DDHA
-0F52 ; NFKC_QC; N # Lo TIBETAN LETTER DHA
-0F57 ; NFKC_QC; N # Lo TIBETAN LETTER BHA
-0F5C ; NFKC_QC; N # Lo TIBETAN LETTER DZHA
-0F69 ; NFKC_QC; N # Lo TIBETAN LETTER KSSA
-0F73 ; NFKC_QC; N # Mn TIBETAN VOWEL SIGN II
-0F75..0F79 ; NFKC_QC; N # Mn [5] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC LL
-0F81 ; NFKC_QC; N # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; NFKC_QC; N # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; NFKC_QC; N # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; NFKC_QC; N # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; NFKC_QC; N # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; NFKC_QC; N # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; NFKC_QC; N # Mn TIBETAN SUBJOINED LETTER KSSA
-10FC ; NFKC_QC; N # Lm MODIFIER LETTER GEORGIAN NAR
-1D2C..1D2E ; NFKC_QC; N # Lm [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
-1D30..1D3A ; NFKC_QC; N # Lm [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
-1D3C..1D4D ; NFKC_QC; N # Lm [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61 ; NFKC_QC; N # Lm [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D62..1D6A ; NFKC_QC; N # L& [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
-1D78 ; NFKC_QC; N # Lm MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; NFKC_QC; N # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E9A..1E9B ; NFKC_QC; N # L& [2] LATIN SMALL LETTER A WITH RIGHT HALF RING..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1F71 ; NFKC_QC; N # L& GREEK SMALL LETTER ALPHA WITH OXIA
-1F73 ; NFKC_QC; N # L& GREEK SMALL LETTER EPSILON WITH OXIA
-1F75 ; NFKC_QC; N # L& GREEK SMALL LETTER ETA WITH OXIA
-1F77 ; NFKC_QC; N # L& GREEK SMALL LETTER IOTA WITH OXIA
-1F79 ; NFKC_QC; N # L& GREEK SMALL LETTER OMICRON WITH OXIA
-1F7B ; NFKC_QC; N # L& GREEK SMALL LETTER UPSILON WITH OXIA
-1F7D ; NFKC_QC; N # L& GREEK SMALL LETTER OMEGA WITH OXIA
-1FBB ; NFKC_QC; N # L& GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBD ; NFKC_QC; N # Sk GREEK KORONIS
-1FBE ; NFKC_QC; N # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; NFKC_QC; N # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC9 ; NFKC_QC; N # L& GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCB ; NFKC_QC; N # L& GREEK CAPITAL LETTER ETA WITH OXIA
-1FCD..1FCF ; NFKC_QC; N # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD3 ; NFKC_QC; N # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FDB ; NFKC_QC; N # L& GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; NFKC_QC; N # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE3 ; NFKC_QC; N # L& GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FEB ; NFKC_QC; N # L& GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FED..1FEF ; NFKC_QC; N # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF9 ; NFKC_QC; N # L& GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFB ; NFKC_QC; N # L& GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFD..1FFE ; NFKC_QC; N # Sk [2] GREEK OXIA..GREEK DASIA
-2000..200A ; NFKC_QC; N # Zs [11] EN QUAD..HAIR SPACE
-2011 ; NFKC_QC; N # Pd NON-BREAKING HYPHEN
-2017 ; NFKC_QC; N # Po DOUBLE LOW LINE
-2024..2026 ; NFKC_QC; N # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS
-202F ; NFKC_QC; N # Zs NARROW NO-BREAK SPACE
-2033..2034 ; NFKC_QC; N # Po [2] DOUBLE PRIME..TRIPLE PRIME
-2036..2037 ; NFKC_QC; N # Po [2] REVERSED DOUBLE PRIME..REVERSED TRIPLE PRIME
-203C ; NFKC_QC; N # Po DOUBLE EXCLAMATION MARK
-203E ; NFKC_QC; N # Po OVERLINE
-2047..2049 ; NFKC_QC; N # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2057 ; NFKC_QC; N # Po QUADRUPLE PRIME
-205F ; NFKC_QC; N # Zs MEDIUM MATHEMATICAL SPACE
-2070 ; NFKC_QC; N # No SUPERSCRIPT ZERO
-2071 ; NFKC_QC; N # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074..2079 ; NFKC_QC; N # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; NFKC_QC; N # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; NFKC_QC; N # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; NFKC_QC; N # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; NFKC_QC; N # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2080..2089 ; NFKC_QC; N # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; NFKC_QC; N # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; NFKC_QC; N # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; NFKC_QC; N # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; NFKC_QC; N # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A8 ; NFKC_QC; N # Sc RUPEE SIGN
-2100..2101 ; NFKC_QC; N # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; NFKC_QC; N # L& DOUBLE-STRUCK CAPITAL C
-2103 ; NFKC_QC; N # So DEGREE CELSIUS
-2105..2106 ; NFKC_QC; N # So [2] CARE OF..CADA UNA
-2107 ; NFKC_QC; N # L& EULER CONSTANT
-2109 ; NFKC_QC; N # So DEGREE FAHRENHEIT
-210A..2113 ; NFKC_QC; N # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; NFKC_QC; N # L& DOUBLE-STRUCK CAPITAL N
-2116 ; NFKC_QC; N # So NUMERO SIGN
-2119..211D ; NFKC_QC; N # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2120..2122 ; NFKC_QC; N # So [3] SERVICE MARK..TRADE MARK SIGN
-2124 ; NFKC_QC; N # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; NFKC_QC; N # L& OHM SIGN
-2128 ; NFKC_QC; N # L& BLACK-LETTER CAPITAL Z
-212A..212D ; NFKC_QC; N # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2131 ; NFKC_QC; N # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F
-2133..2134 ; NFKC_QC; N # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O
-2135..2138 ; NFKC_QC; N # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; NFKC_QC; N # L& INFORMATION SOURCE
-213B ; NFKC_QC; N # So FACSIMILE SIGN
-213C..213F ; NFKC_QC; N # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140 ; NFKC_QC; N # Sm DOUBLE-STRUCK N-ARY SUMMATION
-2145..2149 ; NFKC_QC; N # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-2150..215F ; NFKC_QC; N # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2160..217F ; NFKC_QC; N # Nl [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2189 ; NFKC_QC; N # No VULGAR FRACTION ZERO THIRDS
-222C..222D ; NFKC_QC; N # Sm [2] DOUBLE INTEGRAL..TRIPLE INTEGRAL
-222F..2230 ; NFKC_QC; N # Sm [2] SURFACE INTEGRAL..VOLUME INTEGRAL
-2329 ; NFKC_QC; N # Ps LEFT-POINTING ANGLE BRACKET
-232A ; NFKC_QC; N # Pe RIGHT-POINTING ANGLE BRACKET
-2460..249B ; NFKC_QC; N # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; NFKC_QC; N # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA ; NFKC_QC; N # No CIRCLED DIGIT ZERO
-2A0C ; NFKC_QC; N # Sm QUADRUPLE INTEGRAL OPERATOR
-2A74..2A76 ; NFKC_QC; N # Sm [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
-2ADC ; NFKC_QC; N # Sm FORKING
-2C7C ; NFKC_QC; N # L& LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; NFKC_QC; N # Lm MODIFIER LETTER CAPITAL V
-2D6F ; NFKC_QC; N # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2E9F ; NFKC_QC; N # So CJK RADICAL MOTHER
-2EF3 ; NFKC_QC; N # So CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; NFKC_QC; N # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-3000 ; NFKC_QC; N # Zs IDEOGRAPHIC SPACE
-3036 ; NFKC_QC; N # So CIRCLED POSTAL MARK
-3038..303A ; NFKC_QC; N # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-309B..309C ; NFKC_QC; N # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309F ; NFKC_QC; N # Lo HIRAGANA DIGRAPH YORI
-30FF ; NFKC_QC; N # Lo KATAKANA DIGRAPH KOTO
-3131..318E ; NFKC_QC; N # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3192..3195 ; NFKC_QC; N # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; NFKC_QC; N # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-3200..321E ; NFKC_QC; N # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; NFKC_QC; N # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3247 ; NFKC_QC; N # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
-3250 ; NFKC_QC; N # So PARTNERSHIP SIGN
-3251..325F ; NFKC_QC; N # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327E ; NFKC_QC; N # So [31] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL IEUNG U
-3280..3289 ; NFKC_QC; N # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; NFKC_QC; N # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; NFKC_QC; N # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; NFKC_QC; N # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; NFKC_QC; N # So [256] SQUARE APAATO..SQUARE GAL
-A770 ; NFKC_QC; N # Lm MODIFIER LETTER US
-F900..FA0D ; NFKC_QC; N # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; NFKC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; NFKC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; NFKC_QC; N # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; NFKC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; NFKC_QC; N # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; NFKC_QC; N # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; NFKC_QC; N # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; NFKC_QC; N # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; NFKC_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; NFKC_QC; N # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; NFKC_QC; N # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; NFKC_QC; N # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; NFKC_QC; N # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; NFKC_QC; N # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; NFKC_QC; N # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; NFKC_QC; N # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; NFKC_QC; N # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; NFKC_QC; N # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; NFKC_QC; N # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; NFKC_QC; N # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; NFKC_QC; N # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; NFKC_QC; N # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; NFKC_QC; N # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; NFKC_QC; N # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; NFKC_QC; N # Sc RIAL SIGN
-FE10..FE16 ; NFKC_QC; N # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; NFKC_QC; N # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; NFKC_QC; N # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; NFKC_QC; N # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; NFKC_QC; N # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE47 ; NFKC_QC; N # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; NFKC_QC; N # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; NFKC_QC; N # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; NFKC_QC; N # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; NFKC_QC; N # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; NFKC_QC; N # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; NFKC_QC; N # Pd SMALL EM DASH
-FE59 ; NFKC_QC; N # Ps SMALL LEFT PARENTHESIS
-FE5A ; NFKC_QC; N # Pe SMALL RIGHT PARENTHESIS
-FE5B ; NFKC_QC; N # Ps SMALL LEFT CURLY BRACKET
-FE5C ; NFKC_QC; N # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; NFKC_QC; N # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; NFKC_QC; N # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; NFKC_QC; N # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; NFKC_QC; N # Sm SMALL PLUS SIGN
-FE63 ; NFKC_QC; N # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; NFKC_QC; N # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; NFKC_QC; N # Po SMALL REVERSE SOLIDUS
-FE69 ; NFKC_QC; N # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; NFKC_QC; N # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FE70..FE72 ; NFKC_QC; N # Lo [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM
-FE74 ; NFKC_QC; N # Lo ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; NFKC_QC; N # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF01..FF03 ; NFKC_QC; N # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; NFKC_QC; N # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; NFKC_QC; N # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; NFKC_QC; N # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; NFKC_QC; N # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; NFKC_QC; N # Po FULLWIDTH ASTERISK
-FF0B ; NFKC_QC; N # Sm FULLWIDTH PLUS SIGN
-FF0C ; NFKC_QC; N # Po FULLWIDTH COMMA
-FF0D ; NFKC_QC; N # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; NFKC_QC; N # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; NFKC_QC; N # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; NFKC_QC; N # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; NFKC_QC; N # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; NFKC_QC; N # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; NFKC_QC; N # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; NFKC_QC; N # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; NFKC_QC; N # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; NFKC_QC; N # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; NFKC_QC; N # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; NFKC_QC; N # Pc FULLWIDTH LOW LINE
-FF40 ; NFKC_QC; N # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; NFKC_QC; N # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; NFKC_QC; N # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; NFKC_QC; N # Sm FULLWIDTH VERTICAL LINE
-FF5D ; NFKC_QC; N # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; NFKC_QC; N # Sm FULLWIDTH TILDE
-FF5F ; NFKC_QC; N # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; NFKC_QC; N # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; NFKC_QC; N # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; NFKC_QC; N # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; NFKC_QC; N # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; NFKC_QC; N # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; NFKC_QC; N # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; NFKC_QC; N # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; NFKC_QC; N # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; NFKC_QC; N # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; NFKC_QC; N # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; NFKC_QC; N # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; NFKC_QC; N # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; NFKC_QC; N # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; NFKC_QC; N # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE0..FFE1 ; NFKC_QC; N # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; NFKC_QC; N # Sm FULLWIDTH NOT SIGN
-FFE3 ; NFKC_QC; N # Sk FULLWIDTH MACRON
-FFE4 ; NFKC_QC; N # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; NFKC_QC; N # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-FFE8 ; NFKC_QC; N # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; NFKC_QC; N # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; NFKC_QC; N # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-1D15E..1D164 ; NFKC_QC; N # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; NFKC_QC; N # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-1D400..1D454 ; NFKC_QC; N # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; NFKC_QC; N # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; NFKC_QC; N # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; NFKC_QC; N # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; NFKC_QC; N # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; NFKC_QC; N # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; NFKC_QC; N # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; NFKC_QC; N # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; NFKC_QC; N # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; NFKC_QC; N # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; NFKC_QC; N # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; NFKC_QC; N # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; NFKC_QC; N # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; NFKC_QC; N # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; NFKC_QC; N # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; NFKC_QC; N # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; NFKC_QC; N # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; NFKC_QC; N # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; NFKC_QC; N # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; NFKC_QC; N # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; NFKC_QC; N # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; NFKC_QC; N # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; NFKC_QC; N # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; NFKC_QC; N # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; NFKC_QC; N # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; NFKC_QC; N # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; NFKC_QC; N # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; NFKC_QC; N # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; NFKC_QC; N # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; NFKC_QC; N # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; NFKC_QC; N # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; NFKC_QC; N # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; NFKC_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; NFKC_QC; N # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; NFKC_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; NFKC_QC; N # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; NFKC_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; NFKC_QC; N # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; NFKC_QC; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; NFKC_QC; N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; NFKC_QC; N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F100..1F10A ; NFKC_QC; N # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; NFKC_QC; N # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; NFKC_QC; N # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; NFKC_QC; N # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; NFKC_QC; N # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; NFKC_QC; N # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; NFKC_QC; N # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; NFKC_QC; N # So [5] SQUARED HV..SQUARED PPV
-1F190 ; NFKC_QC; N # So SQUARE DJ
-1F200 ; NFKC_QC; N # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; NFKC_QC; N # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; NFKC_QC; N # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2F800..2FA1D ; NFKC_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 4597
-
-# ================================================
-
-# NFKC_Quick_Check=Maybe
-
-0300..0304 ; NFKC_QC; M # Mn [5] COMBINING GRAVE ACCENT..COMBINING MACRON
-0306..030C ; NFKC_QC; M # Mn [7] COMBINING BREVE..COMBINING CARON
-030F ; NFKC_QC; M # Mn COMBINING DOUBLE GRAVE ACCENT
-0311 ; NFKC_QC; M # Mn COMBINING INVERTED BREVE
-0313..0314 ; NFKC_QC; M # Mn [2] COMBINING COMMA ABOVE..COMBINING REVERSED COMMA ABOVE
-031B ; NFKC_QC; M # Mn COMBINING HORN
-0323..0328 ; NFKC_QC; M # Mn [6] COMBINING DOT BELOW..COMBINING OGONEK
-032D..032E ; NFKC_QC; M # Mn [2] COMBINING CIRCUMFLEX ACCENT BELOW..COMBINING BREVE BELOW
-0330..0331 ; NFKC_QC; M # Mn [2] COMBINING TILDE BELOW..COMBINING MACRON BELOW
-0338 ; NFKC_QC; M # Mn COMBINING LONG SOLIDUS OVERLAY
-0342 ; NFKC_QC; M # Mn COMBINING GREEK PERISPOMENI
-0345 ; NFKC_QC; M # Mn COMBINING GREEK YPOGEGRAMMENI
-0653..0655 ; NFKC_QC; M # Mn [3] ARABIC MADDAH ABOVE..ARABIC HAMZA BELOW
-093C ; NFKC_QC; M # Mn DEVANAGARI SIGN NUKTA
-09BE ; NFKC_QC; M # Mc BENGALI VOWEL SIGN AA
-09D7 ; NFKC_QC; M # Mc BENGALI AU LENGTH MARK
-0B3E ; NFKC_QC; M # Mc ORIYA VOWEL SIGN AA
-0B56 ; NFKC_QC; M # Mn ORIYA AI LENGTH MARK
-0B57 ; NFKC_QC; M # Mc ORIYA AU LENGTH MARK
-0BBE ; NFKC_QC; M # Mc TAMIL VOWEL SIGN AA
-0BD7 ; NFKC_QC; M # Mc TAMIL AU LENGTH MARK
-0C56 ; NFKC_QC; M # Mn TELUGU AI LENGTH MARK
-0CC2 ; NFKC_QC; M # Mc KANNADA VOWEL SIGN UU
-0CD5..0CD6 ; NFKC_QC; M # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0D3E ; NFKC_QC; M # Mc MALAYALAM VOWEL SIGN AA
-0D57 ; NFKC_QC; M # Mc MALAYALAM AU LENGTH MARK
-0DCA ; NFKC_QC; M # Mn SINHALA SIGN AL-LAKUNA
-0DCF ; NFKC_QC; M # Mc SINHALA VOWEL SIGN AELA-PILLA
-0DDF ; NFKC_QC; M # Mc SINHALA VOWEL SIGN GAYANUKITTA
-102E ; NFKC_QC; M # Mn MYANMAR VOWEL SIGN II
-1161..1175 ; NFKC_QC; M # Lo [21] HANGUL JUNGSEONG A..HANGUL JUNGSEONG I
-11A8..11C2 ; NFKC_QC; M # Lo [27] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG HIEUH
-1B35 ; NFKC_QC; M # Mc BALINESE VOWEL SIGN TEDUNG
-3099..309A ; NFKC_QC; M # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-110BA ; NFKC_QC; M # Mn KAITHI SIGN NUKTA
-
-# Total code points: 103
-
-# ================================================
-
-# Derived Property: Expands_On_NFD
-# Generated according to UAX #15.
-# Characters whose normalized length is not one.
-# WARNING: Normalization of STRINGS must use the algorithm in UAX #15 because characters may interact.
-# The length of a normalized string is not necessarily the sum of the lengths of the normalized characters!
-
-00C0..00C5 ; Expands_On_NFD # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
-00C7..00CF ; Expands_On_NFD # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
-00D1..00D6 ; Expands_On_NFD # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D9..00DD ; Expands_On_NFD # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE
-00E0..00E5 ; Expands_On_NFD # L& [6] LATIN SMALL LETTER A WITH GRAVE..LATIN SMALL LETTER A WITH RING ABOVE
-00E7..00EF ; Expands_On_NFD # L& [9] LATIN SMALL LETTER C WITH CEDILLA..LATIN SMALL LETTER I WITH DIAERESIS
-00F1..00F6 ; Expands_On_NFD # L& [6] LATIN SMALL LETTER N WITH TILDE..LATIN SMALL LETTER O WITH DIAERESIS
-00F9..00FD ; Expands_On_NFD # L& [5] LATIN SMALL LETTER U WITH GRAVE..LATIN SMALL LETTER Y WITH ACUTE
-00FF..010F ; Expands_On_NFD # L& [17] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN SMALL LETTER D WITH CARON
-0112..0125 ; Expands_On_NFD # L& [20] LATIN CAPITAL LETTER E WITH MACRON..LATIN SMALL LETTER H WITH CIRCUMFLEX
-0128..0130 ; Expands_On_NFD # L& [9] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH DOT ABOVE
-0134..0137 ; Expands_On_NFD # L& [4] LATIN CAPITAL LETTER J WITH CIRCUMFLEX..LATIN SMALL LETTER K WITH CEDILLA
-0139..013E ; Expands_On_NFD # L& [6] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH CARON
-0143..0148 ; Expands_On_NFD # L& [6] LATIN CAPITAL LETTER N WITH ACUTE..LATIN SMALL LETTER N WITH CARON
-014C..0151 ; Expands_On_NFD # L& [6] LATIN CAPITAL LETTER O WITH MACRON..LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0154..0165 ; Expands_On_NFD # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON
-0168..017E ; Expands_On_NFD # L& [23] LATIN CAPITAL LETTER U WITH TILDE..LATIN SMALL LETTER Z WITH CARON
-01A0..01A1 ; Expands_On_NFD # L& [2] LATIN CAPITAL LETTER O WITH HORN..LATIN SMALL LETTER O WITH HORN
-01AF..01B0 ; Expands_On_NFD # L& [2] LATIN CAPITAL LETTER U WITH HORN..LATIN SMALL LETTER U WITH HORN
-01CD..01DC ; Expands_On_NFD # L& [16] LATIN CAPITAL LETTER A WITH CARON..LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DE..01E3 ; Expands_On_NFD # L& [6] LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON..LATIN SMALL LETTER AE WITH MACRON
-01E6..01F0 ; Expands_On_NFD # L& [11] LATIN CAPITAL LETTER G WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F4..01F5 ; Expands_On_NFD # L& [2] LATIN CAPITAL LETTER G WITH ACUTE..LATIN SMALL LETTER G WITH ACUTE
-01F8..021B ; Expands_On_NFD # L& [36] LATIN CAPITAL LETTER N WITH GRAVE..LATIN SMALL LETTER T WITH COMMA BELOW
-021E..021F ; Expands_On_NFD # L& [2] LATIN CAPITAL LETTER H WITH CARON..LATIN SMALL LETTER H WITH CARON
-0226..0233 ; Expands_On_NFD # L& [14] LATIN CAPITAL LETTER A WITH DOT ABOVE..LATIN SMALL LETTER Y WITH MACRON
-0344 ; Expands_On_NFD # Mn COMBINING GREEK DIALYTIKA TONOS
-0385 ; Expands_On_NFD # Sk GREEK DIALYTIKA TONOS
-0386 ; Expands_On_NFD # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Expands_On_NFD # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Expands_On_NFD # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..0390 ; Expands_On_NFD # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AA..03B0 ; Expands_On_NFD # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03CA..03CE ; Expands_On_NFD # L& [5] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER OMEGA WITH TONOS
-03D3..03D4 ; Expands_On_NFD # L& [2] GREEK UPSILON WITH ACUTE AND HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-0400..0401 ; Expands_On_NFD # L& [2] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC CAPITAL LETTER IO
-0403 ; Expands_On_NFD # L& CYRILLIC CAPITAL LETTER GJE
-0407 ; Expands_On_NFD # L& CYRILLIC CAPITAL LETTER YI
-040C..040E ; Expands_On_NFD # L& [3] CYRILLIC CAPITAL LETTER KJE..CYRILLIC CAPITAL LETTER SHORT U
-0419 ; Expands_On_NFD # L& CYRILLIC CAPITAL LETTER SHORT I
-0439 ; Expands_On_NFD # L& CYRILLIC SMALL LETTER SHORT I
-0450..0451 ; Expands_On_NFD # L& [2] CYRILLIC SMALL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER IO
-0453 ; Expands_On_NFD # L& CYRILLIC SMALL LETTER GJE
-0457 ; Expands_On_NFD # L& CYRILLIC SMALL LETTER YI
-045C..045E ; Expands_On_NFD # L& [3] CYRILLIC SMALL LETTER KJE..CYRILLIC SMALL LETTER SHORT U
-0476..0477 ; Expands_On_NFD # L& [2] CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT..CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-04C1..04C2 ; Expands_On_NFD # L& [2] CYRILLIC CAPITAL LETTER ZHE WITH BREVE..CYRILLIC SMALL LETTER ZHE WITH BREVE
-04D0..04D3 ; Expands_On_NFD # L& [4] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D6..04D7 ; Expands_On_NFD # L& [2] CYRILLIC CAPITAL LETTER IE WITH BREVE..CYRILLIC SMALL LETTER IE WITH BREVE
-04DA..04DF ; Expands_On_NFD # L& [6] CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS..CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E2..04E7 ; Expands_On_NFD # L& [6] CYRILLIC CAPITAL LETTER I WITH MACRON..CYRILLIC SMALL LETTER O WITH DIAERESIS
-04EA..04F5 ; Expands_On_NFD # L& [12] CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS..CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F8..04F9 ; Expands_On_NFD # L& [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-0622..0626 ; Expands_On_NFD # Lo [5] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER YEH WITH HAMZA ABOVE
-06C0 ; Expands_On_NFD # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06C2 ; Expands_On_NFD # Lo ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06D3 ; Expands_On_NFD # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-0929 ; Expands_On_NFD # Lo DEVANAGARI LETTER NNNA
-0931 ; Expands_On_NFD # Lo DEVANAGARI LETTER RRA
-0934 ; Expands_On_NFD # Lo DEVANAGARI LETTER LLLA
-0958..095F ; Expands_On_NFD # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09CB..09CC ; Expands_On_NFD # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09DC..09DD ; Expands_On_NFD # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Expands_On_NFD # Lo BENGALI LETTER YYA
-0A33 ; Expands_On_NFD # Lo GURMUKHI LETTER LLA
-0A36 ; Expands_On_NFD # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Expands_On_NFD # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Expands_On_NFD # Lo GURMUKHI LETTER FA
-0B48 ; Expands_On_NFD # Mc ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Expands_On_NFD # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B5C..0B5D ; Expands_On_NFD # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B94 ; Expands_On_NFD # Lo TAMIL LETTER AU
-0BCA..0BCC ; Expands_On_NFD # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0C48 ; Expands_On_NFD # Mn TELUGU VOWEL SIGN AI
-0CC0 ; Expands_On_NFD # Mc KANNADA VOWEL SIGN II
-0CC7..0CC8 ; Expands_On_NFD # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Expands_On_NFD # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0D4A..0D4C ; Expands_On_NFD # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0DDA ; Expands_On_NFD # Mc SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDC..0DDE ; Expands_On_NFD # Mc [3] SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0F43 ; Expands_On_NFD # Lo TIBETAN LETTER GHA
-0F4D ; Expands_On_NFD # Lo TIBETAN LETTER DDHA
-0F52 ; Expands_On_NFD # Lo TIBETAN LETTER DHA
-0F57 ; Expands_On_NFD # Lo TIBETAN LETTER BHA
-0F5C ; Expands_On_NFD # Lo TIBETAN LETTER DZHA
-0F69 ; Expands_On_NFD # Lo TIBETAN LETTER KSSA
-0F73 ; Expands_On_NFD # Mn TIBETAN VOWEL SIGN II
-0F75..0F76 ; Expands_On_NFD # Mn [2] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC R
-0F78 ; Expands_On_NFD # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F81 ; Expands_On_NFD # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Expands_On_NFD # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Expands_On_NFD # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Expands_On_NFD # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Expands_On_NFD # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Expands_On_NFD # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Expands_On_NFD # Mn TIBETAN SUBJOINED LETTER KSSA
-1026 ; Expands_On_NFD # Lo MYANMAR LETTER UU
-1B06 ; Expands_On_NFD # Lo BALINESE LETTER AKARA TEDUNG
-1B08 ; Expands_On_NFD # Lo BALINESE LETTER IKARA TEDUNG
-1B0A ; Expands_On_NFD # Lo BALINESE LETTER UKARA TEDUNG
-1B0C ; Expands_On_NFD # Lo BALINESE LETTER RA REPA TEDUNG
-1B0E ; Expands_On_NFD # Lo BALINESE LETTER LA LENGA TEDUNG
-1B12 ; Expands_On_NFD # Lo BALINESE LETTER OKARA TEDUNG
-1B3B ; Expands_On_NFD # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D ; Expands_On_NFD # Mc BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B40..1B41 ; Expands_On_NFD # Mc [2] BALINESE VOWEL SIGN TALING TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43 ; Expands_On_NFD # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1E00..1E99 ; Expands_On_NFD # L& [154] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH RING ABOVE
-1E9B ; Expands_On_NFD # L& LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA0..1EF9 ; Expands_On_NFD # L& [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE
-1F00..1F15 ; Expands_On_NFD # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Expands_On_NFD # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Expands_On_NFD # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Expands_On_NFD # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Expands_On_NFD # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Expands_On_NFD # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Expands_On_NFD # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Expands_On_NFD # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Expands_On_NFD # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Expands_On_NFD # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Expands_On_NFD # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FC1 ; Expands_On_NFD # Sk GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; Expands_On_NFD # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Expands_On_NFD # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; Expands_On_NFD # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; Expands_On_NFD # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Expands_On_NFD # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; Expands_On_NFD # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; Expands_On_NFD # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEE ; Expands_On_NFD # Sk [2] GREEK DIALYTIKA AND VARIA..GREEK DIALYTIKA AND OXIA
-1FF2..1FF4 ; Expands_On_NFD # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Expands_On_NFD # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-212B ; Expands_On_NFD # L& ANGSTROM SIGN
-219A..219B ; Expands_On_NFD # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-21AE ; Expands_On_NFD # Sm LEFT RIGHT ARROW WITH STROKE
-21CD ; Expands_On_NFD # So LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Expands_On_NFD # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-2204 ; Expands_On_NFD # Sm THERE DOES NOT EXIST
-2209 ; Expands_On_NFD # Sm NOT AN ELEMENT OF
-220C ; Expands_On_NFD # Sm DOES NOT CONTAIN AS MEMBER
-2224 ; Expands_On_NFD # Sm DOES NOT DIVIDE
-2226 ; Expands_On_NFD # Sm NOT PARALLEL TO
-2241 ; Expands_On_NFD # Sm NOT TILDE
-2244 ; Expands_On_NFD # Sm NOT ASYMPTOTICALLY EQUAL TO
-2247 ; Expands_On_NFD # Sm NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249 ; Expands_On_NFD # Sm NOT ALMOST EQUAL TO
-2260 ; Expands_On_NFD # Sm NOT EQUAL TO
-2262 ; Expands_On_NFD # Sm NOT IDENTICAL TO
-226D..2271 ; Expands_On_NFD # Sm [5] NOT EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUAL TO
-2274..2275 ; Expands_On_NFD # Sm [2] NEITHER LESS-THAN NOR EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUIVALENT TO
-2278..2279 ; Expands_On_NFD # Sm [2] NEITHER LESS-THAN NOR GREATER-THAN..NEITHER GREATER-THAN NOR LESS-THAN
-2280..2281 ; Expands_On_NFD # Sm [2] DOES NOT PRECEDE..DOES NOT SUCCEED
-2284..2285 ; Expands_On_NFD # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2289 ; Expands_On_NFD # Sm [2] NEITHER A SUBSET OF NOR EQUAL TO..NEITHER A SUPERSET OF NOR EQUAL TO
-22AC..22AF ; Expands_On_NFD # Sm [4] DOES NOT PROVE..NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22E0..22E3 ; Expands_On_NFD # Sm [4] DOES NOT PRECEDE OR EQUAL..NOT SQUARE ORIGINAL OF OR EQUAL TO
-22EA..22ED ; Expands_On_NFD # Sm [4] NOT NORMAL SUBGROUP OF..DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-2ADC ; Expands_On_NFD # Sm FORKING
-304C ; Expands_On_NFD # Lo HIRAGANA LETTER GA
-304E ; Expands_On_NFD # Lo HIRAGANA LETTER GI
-3050 ; Expands_On_NFD # Lo HIRAGANA LETTER GU
-3052 ; Expands_On_NFD # Lo HIRAGANA LETTER GE
-3054 ; Expands_On_NFD # Lo HIRAGANA LETTER GO
-3056 ; Expands_On_NFD # Lo HIRAGANA LETTER ZA
-3058 ; Expands_On_NFD # Lo HIRAGANA LETTER ZI
-305A ; Expands_On_NFD # Lo HIRAGANA LETTER ZU
-305C ; Expands_On_NFD # Lo HIRAGANA LETTER ZE
-305E ; Expands_On_NFD # Lo HIRAGANA LETTER ZO
-3060 ; Expands_On_NFD # Lo HIRAGANA LETTER DA
-3062 ; Expands_On_NFD # Lo HIRAGANA LETTER DI
-3065 ; Expands_On_NFD # Lo HIRAGANA LETTER DU
-3067 ; Expands_On_NFD # Lo HIRAGANA LETTER DE
-3069 ; Expands_On_NFD # Lo HIRAGANA LETTER DO
-3070..3071 ; Expands_On_NFD # Lo [2] HIRAGANA LETTER BA..HIRAGANA LETTER PA
-3073..3074 ; Expands_On_NFD # Lo [2] HIRAGANA LETTER BI..HIRAGANA LETTER PI
-3076..3077 ; Expands_On_NFD # Lo [2] HIRAGANA LETTER BU..HIRAGANA LETTER PU
-3079..307A ; Expands_On_NFD # Lo [2] HIRAGANA LETTER BE..HIRAGANA LETTER PE
-307C..307D ; Expands_On_NFD # Lo [2] HIRAGANA LETTER BO..HIRAGANA LETTER PO
-3094 ; Expands_On_NFD # Lo HIRAGANA LETTER VU
-309E ; Expands_On_NFD # Lm HIRAGANA VOICED ITERATION MARK
-30AC ; Expands_On_NFD # Lo KATAKANA LETTER GA
-30AE ; Expands_On_NFD # Lo KATAKANA LETTER GI
-30B0 ; Expands_On_NFD # Lo KATAKANA LETTER GU
-30B2 ; Expands_On_NFD # Lo KATAKANA LETTER GE
-30B4 ; Expands_On_NFD # Lo KATAKANA LETTER GO
-30B6 ; Expands_On_NFD # Lo KATAKANA LETTER ZA
-30B8 ; Expands_On_NFD # Lo KATAKANA LETTER ZI
-30BA ; Expands_On_NFD # Lo KATAKANA LETTER ZU
-30BC ; Expands_On_NFD # Lo KATAKANA LETTER ZE
-30BE ; Expands_On_NFD # Lo KATAKANA LETTER ZO
-30C0 ; Expands_On_NFD # Lo KATAKANA LETTER DA
-30C2 ; Expands_On_NFD # Lo KATAKANA LETTER DI
-30C5 ; Expands_On_NFD # Lo KATAKANA LETTER DU
-30C7 ; Expands_On_NFD # Lo KATAKANA LETTER DE
-30C9 ; Expands_On_NFD # Lo KATAKANA LETTER DO
-30D0..30D1 ; Expands_On_NFD # Lo [2] KATAKANA LETTER BA..KATAKANA LETTER PA
-30D3..30D4 ; Expands_On_NFD # Lo [2] KATAKANA LETTER BI..KATAKANA LETTER PI
-30D6..30D7 ; Expands_On_NFD # Lo [2] KATAKANA LETTER BU..KATAKANA LETTER PU
-30D9..30DA ; Expands_On_NFD # Lo [2] KATAKANA LETTER BE..KATAKANA LETTER PE
-30DC..30DD ; Expands_On_NFD # Lo [2] KATAKANA LETTER BO..KATAKANA LETTER PO
-30F4 ; Expands_On_NFD # Lo KATAKANA LETTER VU
-30F7..30FA ; Expands_On_NFD # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO
-30FE ; Expands_On_NFD # Lm KATAKANA VOICED ITERATION MARK
-AC00..D7A3 ; Expands_On_NFD # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-FB1D ; Expands_On_NFD # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; Expands_On_NFD # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; Expands_On_NFD # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Expands_On_NFD # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Expands_On_NFD # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Expands_On_NFD # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Expands_On_NFD # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4E ; Expands_On_NFD # Lo [9] HEBREW LETTER TSADI WITH DAGESH..HEBREW LETTER PE WITH RAFE
-1109A ; Expands_On_NFD # Lo KAITHI LETTER DDDHA
-1109C ; Expands_On_NFD # Lo KAITHI LETTER RHA
-110AB ; Expands_On_NFD # Lo KAITHI LETTER VA
-1D15E..1D164 ; Expands_On_NFD # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; Expands_On_NFD # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-
-# Total code points: 12206
-
-# ================================================
-
-# Derived Property: Expands_On_NFC
-# Generated according to UAX #15.
-# Characters whose normalized length is not one.
-# WARNING: Normalization of STRINGS must use the algorithm in UAX #15 because characters may interact.
-# The length of a normalized string is not necessarily the sum of the lengths of the normalized characters!
-
-0344 ; Expands_On_NFC # Mn COMBINING GREEK DIALYTIKA TONOS
-0958..095F ; Expands_On_NFC # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09DC..09DD ; Expands_On_NFC # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Expands_On_NFC # Lo BENGALI LETTER YYA
-0A33 ; Expands_On_NFC # Lo GURMUKHI LETTER LLA
-0A36 ; Expands_On_NFC # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Expands_On_NFC # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Expands_On_NFC # Lo GURMUKHI LETTER FA
-0B5C..0B5D ; Expands_On_NFC # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0F43 ; Expands_On_NFC # Lo TIBETAN LETTER GHA
-0F4D ; Expands_On_NFC # Lo TIBETAN LETTER DDHA
-0F52 ; Expands_On_NFC # Lo TIBETAN LETTER DHA
-0F57 ; Expands_On_NFC # Lo TIBETAN LETTER BHA
-0F5C ; Expands_On_NFC # Lo TIBETAN LETTER DZHA
-0F69 ; Expands_On_NFC # Lo TIBETAN LETTER KSSA
-0F73 ; Expands_On_NFC # Mn TIBETAN VOWEL SIGN II
-0F75..0F76 ; Expands_On_NFC # Mn [2] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC R
-0F78 ; Expands_On_NFC # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F81 ; Expands_On_NFC # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Expands_On_NFC # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Expands_On_NFC # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Expands_On_NFC # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Expands_On_NFC # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Expands_On_NFC # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Expands_On_NFC # Mn TIBETAN SUBJOINED LETTER KSSA
-2ADC ; Expands_On_NFC # Sm FORKING
-FB1D ; Expands_On_NFC # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; Expands_On_NFC # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; Expands_On_NFC # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Expands_On_NFC # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Expands_On_NFC # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Expands_On_NFC # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Expands_On_NFC # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4E ; Expands_On_NFC # Lo [9] HEBREW LETTER TSADI WITH DAGESH..HEBREW LETTER PE WITH RAFE
-1D15E..1D164 ; Expands_On_NFC # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; Expands_On_NFC # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-
-# Total code points: 85
-
-# ================================================
-
-# Derived Property: Expands_On_NFKD
-# Generated according to UAX #15.
-# Characters whose normalized length is not one.
-# WARNING: Normalization of STRINGS must use the algorithm in UAX #15 because characters may interact.
-# The length of a normalized string is not necessarily the sum of the lengths of the normalized characters!
-
-00A8 ; Expands_On_NFKD # Sk DIAERESIS
-00AF ; Expands_On_NFKD # Sk MACRON
-00B4 ; Expands_On_NFKD # Sk ACUTE ACCENT
-00B8 ; Expands_On_NFKD # Sk CEDILLA
-00BC..00BE ; Expands_On_NFKD # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00C0..00C5 ; Expands_On_NFKD # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
-00C7..00CF ; Expands_On_NFKD # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
-00D1..00D6 ; Expands_On_NFKD # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D9..00DD ; Expands_On_NFKD # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE
-00E0..00E5 ; Expands_On_NFKD # L& [6] LATIN SMALL LETTER A WITH GRAVE..LATIN SMALL LETTER A WITH RING ABOVE
-00E7..00EF ; Expands_On_NFKD # L& [9] LATIN SMALL LETTER C WITH CEDILLA..LATIN SMALL LETTER I WITH DIAERESIS
-00F1..00F6 ; Expands_On_NFKD # L& [6] LATIN SMALL LETTER N WITH TILDE..LATIN SMALL LETTER O WITH DIAERESIS
-00F9..00FD ; Expands_On_NFKD # L& [5] LATIN SMALL LETTER U WITH GRAVE..LATIN SMALL LETTER Y WITH ACUTE
-00FF..010F ; Expands_On_NFKD # L& [17] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN SMALL LETTER D WITH CARON
-0112..0125 ; Expands_On_NFKD # L& [20] LATIN CAPITAL LETTER E WITH MACRON..LATIN SMALL LETTER H WITH CIRCUMFLEX
-0128..0130 ; Expands_On_NFKD # L& [9] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132..0137 ; Expands_On_NFKD # L& [6] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LETTER K WITH CEDILLA
-0139..0140 ; Expands_On_NFKD # L& [8] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH MIDDLE DOT
-0143..0149 ; Expands_On_NFKD # L& [7] LATIN CAPITAL LETTER N WITH ACUTE..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014C..0151 ; Expands_On_NFKD # L& [6] LATIN CAPITAL LETTER O WITH MACRON..LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0154..0165 ; Expands_On_NFKD # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON
-0168..017E ; Expands_On_NFKD # L& [23] LATIN CAPITAL LETTER U WITH TILDE..LATIN SMALL LETTER Z WITH CARON
-01A0..01A1 ; Expands_On_NFKD # L& [2] LATIN CAPITAL LETTER O WITH HORN..LATIN SMALL LETTER O WITH HORN
-01AF..01B0 ; Expands_On_NFKD # L& [2] LATIN CAPITAL LETTER U WITH HORN..LATIN SMALL LETTER U WITH HORN
-01C4..01DC ; Expands_On_NFKD # L& [25] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DE..01E3 ; Expands_On_NFKD # L& [6] LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON..LATIN SMALL LETTER AE WITH MACRON
-01E6..01F5 ; Expands_On_NFKD # L& [16] LATIN CAPITAL LETTER G WITH CARON..LATIN SMALL LETTER G WITH ACUTE
-01F8..021B ; Expands_On_NFKD # L& [36] LATIN CAPITAL LETTER N WITH GRAVE..LATIN SMALL LETTER T WITH COMMA BELOW
-021E..021F ; Expands_On_NFKD # L& [2] LATIN CAPITAL LETTER H WITH CARON..LATIN SMALL LETTER H WITH CARON
-0226..0233 ; Expands_On_NFKD # L& [14] LATIN CAPITAL LETTER A WITH DOT ABOVE..LATIN SMALL LETTER Y WITH MACRON
-02D8..02DD ; Expands_On_NFKD # Sk [6] BREVE..DOUBLE ACUTE ACCENT
-0344 ; Expands_On_NFKD # Mn COMBINING GREEK DIALYTIKA TONOS
-037A ; Expands_On_NFKD # Lm GREEK YPOGEGRAMMENI
-0384..0385 ; Expands_On_NFKD # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; Expands_On_NFKD # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Expands_On_NFKD # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Expands_On_NFKD # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..0390 ; Expands_On_NFKD # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AA..03B0 ; Expands_On_NFKD # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03CA..03CE ; Expands_On_NFKD # L& [5] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER OMEGA WITH TONOS
-03D3..03D4 ; Expands_On_NFKD # L& [2] GREEK UPSILON WITH ACUTE AND HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-0400..0401 ; Expands_On_NFKD # L& [2] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC CAPITAL LETTER IO
-0403 ; Expands_On_NFKD # L& CYRILLIC CAPITAL LETTER GJE
-0407 ; Expands_On_NFKD # L& CYRILLIC CAPITAL LETTER YI
-040C..040E ; Expands_On_NFKD # L& [3] CYRILLIC CAPITAL LETTER KJE..CYRILLIC CAPITAL LETTER SHORT U
-0419 ; Expands_On_NFKD # L& CYRILLIC CAPITAL LETTER SHORT I
-0439 ; Expands_On_NFKD # L& CYRILLIC SMALL LETTER SHORT I
-0450..0451 ; Expands_On_NFKD # L& [2] CYRILLIC SMALL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER IO
-0453 ; Expands_On_NFKD # L& CYRILLIC SMALL LETTER GJE
-0457 ; Expands_On_NFKD # L& CYRILLIC SMALL LETTER YI
-045C..045E ; Expands_On_NFKD # L& [3] CYRILLIC SMALL LETTER KJE..CYRILLIC SMALL LETTER SHORT U
-0476..0477 ; Expands_On_NFKD # L& [2] CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT..CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-04C1..04C2 ; Expands_On_NFKD # L& [2] CYRILLIC CAPITAL LETTER ZHE WITH BREVE..CYRILLIC SMALL LETTER ZHE WITH BREVE
-04D0..04D3 ; Expands_On_NFKD # L& [4] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D6..04D7 ; Expands_On_NFKD # L& [2] CYRILLIC CAPITAL LETTER IE WITH BREVE..CYRILLIC SMALL LETTER IE WITH BREVE
-04DA..04DF ; Expands_On_NFKD # L& [6] CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS..CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E2..04E7 ; Expands_On_NFKD # L& [6] CYRILLIC CAPITAL LETTER I WITH MACRON..CYRILLIC SMALL LETTER O WITH DIAERESIS
-04EA..04F5 ; Expands_On_NFKD # L& [12] CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS..CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F8..04F9 ; Expands_On_NFKD # L& [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-0587 ; Expands_On_NFKD # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0622..0626 ; Expands_On_NFKD # Lo [5] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER YEH WITH HAMZA ABOVE
-0675..0678 ; Expands_On_NFKD # Lo [4] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER HIGH HAMZA YEH
-06C0 ; Expands_On_NFKD # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06C2 ; Expands_On_NFKD # Lo ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06D3 ; Expands_On_NFKD # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-0929 ; Expands_On_NFKD # Lo DEVANAGARI LETTER NNNA
-0931 ; Expands_On_NFKD # Lo DEVANAGARI LETTER RRA
-0934 ; Expands_On_NFKD # Lo DEVANAGARI LETTER LLLA
-0958..095F ; Expands_On_NFKD # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09CB..09CC ; Expands_On_NFKD # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09DC..09DD ; Expands_On_NFKD # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Expands_On_NFKD # Lo BENGALI LETTER YYA
-0A33 ; Expands_On_NFKD # Lo GURMUKHI LETTER LLA
-0A36 ; Expands_On_NFKD # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Expands_On_NFKD # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Expands_On_NFKD # Lo GURMUKHI LETTER FA
-0B48 ; Expands_On_NFKD # Mc ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Expands_On_NFKD # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B5C..0B5D ; Expands_On_NFKD # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B94 ; Expands_On_NFKD # Lo TAMIL LETTER AU
-0BCA..0BCC ; Expands_On_NFKD # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0C48 ; Expands_On_NFKD # Mn TELUGU VOWEL SIGN AI
-0CC0 ; Expands_On_NFKD # Mc KANNADA VOWEL SIGN II
-0CC7..0CC8 ; Expands_On_NFKD # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Expands_On_NFKD # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0D4A..0D4C ; Expands_On_NFKD # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0DDA ; Expands_On_NFKD # Mc SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDC..0DDE ; Expands_On_NFKD # Mc [3] SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0E33 ; Expands_On_NFKD # Lo THAI CHARACTER SARA AM
-0EB3 ; Expands_On_NFKD # Lo LAO VOWEL SIGN AM
-0EDC..0EDD ; Expands_On_NFKD # Lo [2] LAO HO NO..LAO HO MO
-0F43 ; Expands_On_NFKD # Lo TIBETAN LETTER GHA
-0F4D ; Expands_On_NFKD # Lo TIBETAN LETTER DDHA
-0F52 ; Expands_On_NFKD # Lo TIBETAN LETTER DHA
-0F57 ; Expands_On_NFKD # Lo TIBETAN LETTER BHA
-0F5C ; Expands_On_NFKD # Lo TIBETAN LETTER DZHA
-0F69 ; Expands_On_NFKD # Lo TIBETAN LETTER KSSA
-0F73 ; Expands_On_NFKD # Mn TIBETAN VOWEL SIGN II
-0F75..0F79 ; Expands_On_NFKD # Mn [5] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC LL
-0F81 ; Expands_On_NFKD # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Expands_On_NFKD # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Expands_On_NFKD # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Expands_On_NFKD # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Expands_On_NFKD # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Expands_On_NFKD # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Expands_On_NFKD # Mn TIBETAN SUBJOINED LETTER KSSA
-1026 ; Expands_On_NFKD # Lo MYANMAR LETTER UU
-1B06 ; Expands_On_NFKD # Lo BALINESE LETTER AKARA TEDUNG
-1B08 ; Expands_On_NFKD # Lo BALINESE LETTER IKARA TEDUNG
-1B0A ; Expands_On_NFKD # Lo BALINESE LETTER UKARA TEDUNG
-1B0C ; Expands_On_NFKD # Lo BALINESE LETTER RA REPA TEDUNG
-1B0E ; Expands_On_NFKD # Lo BALINESE LETTER LA LENGA TEDUNG
-1B12 ; Expands_On_NFKD # Lo BALINESE LETTER OKARA TEDUNG
-1B3B ; Expands_On_NFKD # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D ; Expands_On_NFKD # Mc BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B40..1B41 ; Expands_On_NFKD # Mc [2] BALINESE VOWEL SIGN TALING TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43 ; Expands_On_NFKD # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1E00..1E9B ; Expands_On_NFKD # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA0..1EF9 ; Expands_On_NFKD # L& [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE
-1F00..1F15 ; Expands_On_NFKD # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Expands_On_NFKD # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Expands_On_NFKD # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Expands_On_NFKD # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Expands_On_NFKD # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Expands_On_NFKD # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Expands_On_NFKD # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Expands_On_NFKD # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Expands_On_NFKD # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Expands_On_NFKD # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Expands_On_NFKD # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; Expands_On_NFKD # Sk GREEK KORONIS
-1FBF..1FC1 ; Expands_On_NFKD # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; Expands_On_NFKD # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Expands_On_NFKD # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; Expands_On_NFKD # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; Expands_On_NFKD # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Expands_On_NFKD # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; Expands_On_NFKD # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; Expands_On_NFKD # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEE ; Expands_On_NFKD # Sk [2] GREEK DIALYTIKA AND VARIA..GREEK DIALYTIKA AND OXIA
-1FF2..1FF4 ; Expands_On_NFKD # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Expands_On_NFKD # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; Expands_On_NFKD # Sk [2] GREEK OXIA..GREEK DASIA
-2017 ; Expands_On_NFKD # Po DOUBLE LOW LINE
-2025..2026 ; Expands_On_NFKD # Po [2] TWO DOT LEADER..HORIZONTAL ELLIPSIS
-2033..2034 ; Expands_On_NFKD # Po [2] DOUBLE PRIME..TRIPLE PRIME
-2036..2037 ; Expands_On_NFKD # Po [2] REVERSED DOUBLE PRIME..REVERSED TRIPLE PRIME
-203C ; Expands_On_NFKD # Po DOUBLE EXCLAMATION MARK
-203E ; Expands_On_NFKD # Po OVERLINE
-2047..2049 ; Expands_On_NFKD # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2057 ; Expands_On_NFKD # Po QUADRUPLE PRIME
-20A8 ; Expands_On_NFKD # Sc RUPEE SIGN
-2100..2101 ; Expands_On_NFKD # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2103 ; Expands_On_NFKD # So DEGREE CELSIUS
-2105..2106 ; Expands_On_NFKD # So [2] CARE OF..CADA UNA
-2109 ; Expands_On_NFKD # So DEGREE FAHRENHEIT
-2116 ; Expands_On_NFKD # So NUMERO SIGN
-2120..2122 ; Expands_On_NFKD # So [3] SERVICE MARK..TRADE MARK SIGN
-212B ; Expands_On_NFKD # L& ANGSTROM SIGN
-213B ; Expands_On_NFKD # So FACSIMILE SIGN
-2150..215F ; Expands_On_NFKD # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2161..2163 ; Expands_On_NFKD # Nl [3] ROMAN NUMERAL TWO..ROMAN NUMERAL FOUR
-2165..2168 ; Expands_On_NFKD # Nl [4] ROMAN NUMERAL SIX..ROMAN NUMERAL NINE
-216A..216B ; Expands_On_NFKD # Nl [2] ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TWELVE
-2171..2173 ; Expands_On_NFKD # Nl [3] SMALL ROMAN NUMERAL TWO..SMALL ROMAN NUMERAL FOUR
-2175..2178 ; Expands_On_NFKD # Nl [4] SMALL ROMAN NUMERAL SIX..SMALL ROMAN NUMERAL NINE
-217A..217B ; Expands_On_NFKD # Nl [2] SMALL ROMAN NUMERAL ELEVEN..SMALL ROMAN NUMERAL TWELVE
-2189 ; Expands_On_NFKD # No VULGAR FRACTION ZERO THIRDS
-219A..219B ; Expands_On_NFKD # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-21AE ; Expands_On_NFKD # Sm LEFT RIGHT ARROW WITH STROKE
-21CD ; Expands_On_NFKD # So LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Expands_On_NFKD # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-2204 ; Expands_On_NFKD # Sm THERE DOES NOT EXIST
-2209 ; Expands_On_NFKD # Sm NOT AN ELEMENT OF
-220C ; Expands_On_NFKD # Sm DOES NOT CONTAIN AS MEMBER
-2224 ; Expands_On_NFKD # Sm DOES NOT DIVIDE
-2226 ; Expands_On_NFKD # Sm NOT PARALLEL TO
-222C..222D ; Expands_On_NFKD # Sm [2] DOUBLE INTEGRAL..TRIPLE INTEGRAL
-222F..2230 ; Expands_On_NFKD # Sm [2] SURFACE INTEGRAL..VOLUME INTEGRAL
-2241 ; Expands_On_NFKD # Sm NOT TILDE
-2244 ; Expands_On_NFKD # Sm NOT ASYMPTOTICALLY EQUAL TO
-2247 ; Expands_On_NFKD # Sm NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249 ; Expands_On_NFKD # Sm NOT ALMOST EQUAL TO
-2260 ; Expands_On_NFKD # Sm NOT EQUAL TO
-2262 ; Expands_On_NFKD # Sm NOT IDENTICAL TO
-226D..2271 ; Expands_On_NFKD # Sm [5] NOT EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUAL TO
-2274..2275 ; Expands_On_NFKD # Sm [2] NEITHER LESS-THAN NOR EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUIVALENT TO
-2278..2279 ; Expands_On_NFKD # Sm [2] NEITHER LESS-THAN NOR GREATER-THAN..NEITHER GREATER-THAN NOR LESS-THAN
-2280..2281 ; Expands_On_NFKD # Sm [2] DOES NOT PRECEDE..DOES NOT SUCCEED
-2284..2285 ; Expands_On_NFKD # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2289 ; Expands_On_NFKD # Sm [2] NEITHER A SUBSET OF NOR EQUAL TO..NEITHER A SUPERSET OF NOR EQUAL TO
-22AC..22AF ; Expands_On_NFKD # Sm [4] DOES NOT PROVE..NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22E0..22E3 ; Expands_On_NFKD # Sm [4] DOES NOT PRECEDE OR EQUAL..NOT SQUARE ORIGINAL OF OR EQUAL TO
-22EA..22ED ; Expands_On_NFKD # Sm [4] NOT NORMAL SUBGROUP OF..DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-2469..249B ; Expands_On_NFKD # No [51] CIRCLED NUMBER TEN..NUMBER TWENTY FULL STOP
-249C..24B5 ; Expands_On_NFKD # So [26] PARENTHESIZED LATIN SMALL LETTER A..PARENTHESIZED LATIN SMALL LETTER Z
-2A0C ; Expands_On_NFKD # Sm QUADRUPLE INTEGRAL OPERATOR
-2A74..2A76 ; Expands_On_NFKD # Sm [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
-2ADC ; Expands_On_NFKD # Sm FORKING
-304C ; Expands_On_NFKD # Lo HIRAGANA LETTER GA
-304E ; Expands_On_NFKD # Lo HIRAGANA LETTER GI
-3050 ; Expands_On_NFKD # Lo HIRAGANA LETTER GU
-3052 ; Expands_On_NFKD # Lo HIRAGANA LETTER GE
-3054 ; Expands_On_NFKD # Lo HIRAGANA LETTER GO
-3056 ; Expands_On_NFKD # Lo HIRAGANA LETTER ZA
-3058 ; Expands_On_NFKD # Lo HIRAGANA LETTER ZI
-305A ; Expands_On_NFKD # Lo HIRAGANA LETTER ZU
-305C ; Expands_On_NFKD # Lo HIRAGANA LETTER ZE
-305E ; Expands_On_NFKD # Lo HIRAGANA LETTER ZO
-3060 ; Expands_On_NFKD # Lo HIRAGANA LETTER DA
-3062 ; Expands_On_NFKD # Lo HIRAGANA LETTER DI
-3065 ; Expands_On_NFKD # Lo HIRAGANA LETTER DU
-3067 ; Expands_On_NFKD # Lo HIRAGANA LETTER DE
-3069 ; Expands_On_NFKD # Lo HIRAGANA LETTER DO
-3070..3071 ; Expands_On_NFKD # Lo [2] HIRAGANA LETTER BA..HIRAGANA LETTER PA
-3073..3074 ; Expands_On_NFKD # Lo [2] HIRAGANA LETTER BI..HIRAGANA LETTER PI
-3076..3077 ; Expands_On_NFKD # Lo [2] HIRAGANA LETTER BU..HIRAGANA LETTER PU
-3079..307A ; Expands_On_NFKD # Lo [2] HIRAGANA LETTER BE..HIRAGANA LETTER PE
-307C..307D ; Expands_On_NFKD # Lo [2] HIRAGANA LETTER BO..HIRAGANA LETTER PO
-3094 ; Expands_On_NFKD # Lo HIRAGANA LETTER VU
-309B..309C ; Expands_On_NFKD # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309E ; Expands_On_NFKD # Lm HIRAGANA VOICED ITERATION MARK
-309F ; Expands_On_NFKD # Lo HIRAGANA DIGRAPH YORI
-30AC ; Expands_On_NFKD # Lo KATAKANA LETTER GA
-30AE ; Expands_On_NFKD # Lo KATAKANA LETTER GI
-30B0 ; Expands_On_NFKD # Lo KATAKANA LETTER GU
-30B2 ; Expands_On_NFKD # Lo KATAKANA LETTER GE
-30B4 ; Expands_On_NFKD # Lo KATAKANA LETTER GO
-30B6 ; Expands_On_NFKD # Lo KATAKANA LETTER ZA
-30B8 ; Expands_On_NFKD # Lo KATAKANA LETTER ZI
-30BA ; Expands_On_NFKD # Lo KATAKANA LETTER ZU
-30BC ; Expands_On_NFKD # Lo KATAKANA LETTER ZE
-30BE ; Expands_On_NFKD # Lo KATAKANA LETTER ZO
-30C0 ; Expands_On_NFKD # Lo KATAKANA LETTER DA
-30C2 ; Expands_On_NFKD # Lo KATAKANA LETTER DI
-30C5 ; Expands_On_NFKD # Lo KATAKANA LETTER DU
-30C7 ; Expands_On_NFKD # Lo KATAKANA LETTER DE
-30C9 ; Expands_On_NFKD # Lo KATAKANA LETTER DO
-30D0..30D1 ; Expands_On_NFKD # Lo [2] KATAKANA LETTER BA..KATAKANA LETTER PA
-30D3..30D4 ; Expands_On_NFKD # Lo [2] KATAKANA LETTER BI..KATAKANA LETTER PI
-30D6..30D7 ; Expands_On_NFKD # Lo [2] KATAKANA LETTER BU..KATAKANA LETTER PU
-30D9..30DA ; Expands_On_NFKD # Lo [2] KATAKANA LETTER BE..KATAKANA LETTER PE
-30DC..30DD ; Expands_On_NFKD # Lo [2] KATAKANA LETTER BO..KATAKANA LETTER PO
-30F4 ; Expands_On_NFKD # Lo KATAKANA LETTER VU
-30F7..30FA ; Expands_On_NFKD # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO
-30FE ; Expands_On_NFKD # Lm KATAKANA VOICED ITERATION MARK
-30FF ; Expands_On_NFKD # Lo KATAKANA DIGRAPH KOTO
-3200..321E ; Expands_On_NFKD # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; Expands_On_NFKD # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3243 ; Expands_On_NFKD # So [26] PARENTHESIZED IDEOGRAPH MOON..PARENTHESIZED IDEOGRAPH REACH
-3250 ; Expands_On_NFKD # So PARTNERSHIP SIGN
-3251..325F ; Expands_On_NFKD # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-326E..327E ; Expands_On_NFKD # So [17] CIRCLED HANGUL KIYEOK A..CIRCLED HANGUL IEUNG U
-32B1..32BF ; Expands_On_NFKD # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32CF ; Expands_On_NFKD # So [16] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..LIMITED LIABILITY SIGN
-3300..33FF ; Expands_On_NFKD # So [256] SQUARE APAATO..SQUARE GAL
-AC00..D7A3 ; Expands_On_NFKD # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-FB00..FB06 ; Expands_On_NFKD # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Expands_On_NFKD # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; Expands_On_NFKD # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; Expands_On_NFKD # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; Expands_On_NFKD # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Expands_On_NFKD # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Expands_On_NFKD # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Expands_On_NFKD # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Expands_On_NFKD # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4F ; Expands_On_NFKD # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED
-FBA4..FBA5 ; Expands_On_NFKD # Lo [2] ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM..ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBB0..FBB1 ; Expands_On_NFKD # Lo [2] ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBDD ; Expands_On_NFKD # Lo ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-FBEA..FBFB ; Expands_On_NFKD # Lo [18] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM..ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FC00..FD3D ; Expands_On_NFKD # Lo [318] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; Expands_On_NFKD # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Expands_On_NFKD # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Expands_On_NFKD # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; Expands_On_NFKD # Sc RIAL SIGN
-FE19 ; Expands_On_NFKD # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Expands_On_NFKD # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE49..FE4C ; Expands_On_NFKD # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE70..FE72 ; Expands_On_NFKD # Lo [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM
-FE74 ; Expands_On_NFKD # Lo ARABIC KASRATAN ISOLATED FORM
-FE76..FE7F ; Expands_On_NFKD # Lo [10] ARABIC FATHA ISOLATED FORM..ARABIC SUKUN MEDIAL FORM
-FE81..FE8C ; Expands_On_NFKD # Lo [12] ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FEF5..FEFC ; Expands_On_NFKD # Lo [8] ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FFE3 ; Expands_On_NFKD # Sk FULLWIDTH MACRON
-1109A ; Expands_On_NFKD # Lo KAITHI LETTER DDDHA
-1109C ; Expands_On_NFKD # Lo KAITHI LETTER RHA
-110AB ; Expands_On_NFKD # Lo KAITHI LETTER VA
-1D15E..1D164 ; Expands_On_NFKD # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; Expands_On_NFKD # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-1F100..1F10A ; Expands_On_NFKD # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12A ; Expands_On_NFKD # So [27] PARENTHESIZED LATIN CAPITAL LETTER A..TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12D..1F12E ; Expands_On_NFKD # So [2] CIRCLED CD..CIRCLED WZ
-1F14A..1F14E ; Expands_On_NFKD # So [5] SQUARED HV..SQUARED PPV
-1F190 ; Expands_On_NFKD # So SQUARE DJ
-1F200 ; Expands_On_NFKD # So SQUARE HIRAGANA HOKA
-1F213 ; Expands_On_NFKD # So SQUARED KATAKANA DE
-1F240..1F248 ; Expands_On_NFKD # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-
-# Total code points: 13374
-
-# ================================================
-
-# Derived Property: Expands_On_NFKC
-# Generated according to UAX #15.
-# Characters whose normalized length is not one.
-# WARNING: Normalization of STRINGS must use the algorithm in UAX #15 because characters may interact.
-# The length of a normalized string is not necessarily the sum of the lengths of the normalized characters!
-
-00A8 ; Expands_On_NFKC # Sk DIAERESIS
-00AF ; Expands_On_NFKC # Sk MACRON
-00B4 ; Expands_On_NFKC # Sk ACUTE ACCENT
-00B8 ; Expands_On_NFKC # Sk CEDILLA
-00BC..00BE ; Expands_On_NFKC # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-0132..0133 ; Expands_On_NFKC # L& [2] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LIGATURE IJ
-013F..0140 ; Expands_On_NFKC # L& [2] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH MIDDLE DOT
-0149 ; Expands_On_NFKC # L& LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-01C4..01CC ; Expands_On_NFKC # L& [9] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER NJ
-01F1..01F3 ; Expands_On_NFKC # L& [3] LATIN CAPITAL LETTER DZ..LATIN SMALL LETTER DZ
-02D8..02DD ; Expands_On_NFKC # Sk [6] BREVE..DOUBLE ACUTE ACCENT
-0344 ; Expands_On_NFKC # Mn COMBINING GREEK DIALYTIKA TONOS
-037A ; Expands_On_NFKC # Lm GREEK YPOGEGRAMMENI
-0384..0385 ; Expands_On_NFKC # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0587 ; Expands_On_NFKC # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0675..0678 ; Expands_On_NFKC # Lo [4] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER HIGH HAMZA YEH
-0958..095F ; Expands_On_NFKC # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09DC..09DD ; Expands_On_NFKC # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Expands_On_NFKC # Lo BENGALI LETTER YYA
-0A33 ; Expands_On_NFKC # Lo GURMUKHI LETTER LLA
-0A36 ; Expands_On_NFKC # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Expands_On_NFKC # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Expands_On_NFKC # Lo GURMUKHI LETTER FA
-0B5C..0B5D ; Expands_On_NFKC # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0E33 ; Expands_On_NFKC # Lo THAI CHARACTER SARA AM
-0EB3 ; Expands_On_NFKC # Lo LAO VOWEL SIGN AM
-0EDC..0EDD ; Expands_On_NFKC # Lo [2] LAO HO NO..LAO HO MO
-0F43 ; Expands_On_NFKC # Lo TIBETAN LETTER GHA
-0F4D ; Expands_On_NFKC # Lo TIBETAN LETTER DDHA
-0F52 ; Expands_On_NFKC # Lo TIBETAN LETTER DHA
-0F57 ; Expands_On_NFKC # Lo TIBETAN LETTER BHA
-0F5C ; Expands_On_NFKC # Lo TIBETAN LETTER DZHA
-0F69 ; Expands_On_NFKC # Lo TIBETAN LETTER KSSA
-0F73 ; Expands_On_NFKC # Mn TIBETAN VOWEL SIGN II
-0F75..0F79 ; Expands_On_NFKC # Mn [5] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC LL
-0F81 ; Expands_On_NFKC # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Expands_On_NFKC # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Expands_On_NFKC # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Expands_On_NFKC # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Expands_On_NFKC # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Expands_On_NFKC # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Expands_On_NFKC # Mn TIBETAN SUBJOINED LETTER KSSA
-1E9A ; Expands_On_NFKC # L& LATIN SMALL LETTER A WITH RIGHT HALF RING
-1FBD ; Expands_On_NFKC # Sk GREEK KORONIS
-1FBF..1FC1 ; Expands_On_NFKC # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FCD..1FCF ; Expands_On_NFKC # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FDD..1FDF ; Expands_On_NFKC # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FED..1FEE ; Expands_On_NFKC # Sk [2] GREEK DIALYTIKA AND VARIA..GREEK DIALYTIKA AND OXIA
-1FFD..1FFE ; Expands_On_NFKC # Sk [2] GREEK OXIA..GREEK DASIA
-2017 ; Expands_On_NFKC # Po DOUBLE LOW LINE
-2025..2026 ; Expands_On_NFKC # Po [2] TWO DOT LEADER..HORIZONTAL ELLIPSIS
-2033..2034 ; Expands_On_NFKC # Po [2] DOUBLE PRIME..TRIPLE PRIME
-2036..2037 ; Expands_On_NFKC # Po [2] REVERSED DOUBLE PRIME..REVERSED TRIPLE PRIME
-203C ; Expands_On_NFKC # Po DOUBLE EXCLAMATION MARK
-203E ; Expands_On_NFKC # Po OVERLINE
-2047..2049 ; Expands_On_NFKC # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2057 ; Expands_On_NFKC # Po QUADRUPLE PRIME
-20A8 ; Expands_On_NFKC # Sc RUPEE SIGN
-2100..2101 ; Expands_On_NFKC # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2103 ; Expands_On_NFKC # So DEGREE CELSIUS
-2105..2106 ; Expands_On_NFKC # So [2] CARE OF..CADA UNA
-2109 ; Expands_On_NFKC # So DEGREE FAHRENHEIT
-2116 ; Expands_On_NFKC # So NUMERO SIGN
-2120..2122 ; Expands_On_NFKC # So [3] SERVICE MARK..TRADE MARK SIGN
-213B ; Expands_On_NFKC # So FACSIMILE SIGN
-2150..215F ; Expands_On_NFKC # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2161..2163 ; Expands_On_NFKC # Nl [3] ROMAN NUMERAL TWO..ROMAN NUMERAL FOUR
-2165..2168 ; Expands_On_NFKC # Nl [4] ROMAN NUMERAL SIX..ROMAN NUMERAL NINE
-216A..216B ; Expands_On_NFKC # Nl [2] ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TWELVE
-2171..2173 ; Expands_On_NFKC # Nl [3] SMALL ROMAN NUMERAL TWO..SMALL ROMAN NUMERAL FOUR
-2175..2178 ; Expands_On_NFKC # Nl [4] SMALL ROMAN NUMERAL SIX..SMALL ROMAN NUMERAL NINE
-217A..217B ; Expands_On_NFKC # Nl [2] SMALL ROMAN NUMERAL ELEVEN..SMALL ROMAN NUMERAL TWELVE
-2189 ; Expands_On_NFKC # No VULGAR FRACTION ZERO THIRDS
-222C..222D ; Expands_On_NFKC # Sm [2] DOUBLE INTEGRAL..TRIPLE INTEGRAL
-222F..2230 ; Expands_On_NFKC # Sm [2] SURFACE INTEGRAL..VOLUME INTEGRAL
-2469..249B ; Expands_On_NFKC # No [51] CIRCLED NUMBER TEN..NUMBER TWENTY FULL STOP
-249C..24B5 ; Expands_On_NFKC # So [26] PARENTHESIZED LATIN SMALL LETTER A..PARENTHESIZED LATIN SMALL LETTER Z
-2A0C ; Expands_On_NFKC # Sm QUADRUPLE INTEGRAL OPERATOR
-2A74..2A76 ; Expands_On_NFKC # Sm [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
-2ADC ; Expands_On_NFKC # Sm FORKING
-309B..309C ; Expands_On_NFKC # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309F ; Expands_On_NFKC # Lo HIRAGANA DIGRAPH YORI
-30FF ; Expands_On_NFKC # Lo KATAKANA DIGRAPH KOTO
-3200..321E ; Expands_On_NFKC # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; Expands_On_NFKC # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3243 ; Expands_On_NFKC # So [26] PARENTHESIZED IDEOGRAPH MOON..PARENTHESIZED IDEOGRAPH REACH
-3250 ; Expands_On_NFKC # So PARTNERSHIP SIGN
-3251..325F ; Expands_On_NFKC # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-327C..327D ; Expands_On_NFKC # So [2] CIRCLED KOREAN CHARACTER CHAMKO..CIRCLED KOREAN CHARACTER JUEUI
-32B1..32BF ; Expands_On_NFKC # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32CF ; Expands_On_NFKC # So [16] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..LIMITED LIABILITY SIGN
-3300..33FF ; Expands_On_NFKC # So [256] SQUARE APAATO..SQUARE GAL
-FB00..FB06 ; Expands_On_NFKC # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Expands_On_NFKC # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; Expands_On_NFKC # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; Expands_On_NFKC # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; Expands_On_NFKC # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Expands_On_NFKC # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Expands_On_NFKC # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Expands_On_NFKC # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Expands_On_NFKC # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4F ; Expands_On_NFKC # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED
-FBDD ; Expands_On_NFKC # Lo ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-FBEA..FBFB ; Expands_On_NFKC # Lo [18] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM..ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FC00..FD3D ; Expands_On_NFKC # Lo [318] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; Expands_On_NFKC # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Expands_On_NFKC # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Expands_On_NFKC # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; Expands_On_NFKC # Sc RIAL SIGN
-FE19 ; Expands_On_NFKC # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Expands_On_NFKC # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE49..FE4C ; Expands_On_NFKC # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE70..FE72 ; Expands_On_NFKC # Lo [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM
-FE74 ; Expands_On_NFKC # Lo ARABIC KASRATAN ISOLATED FORM
-FE76..FE7F ; Expands_On_NFKC # Lo [10] ARABIC FATHA ISOLATED FORM..ARABIC SUKUN MEDIAL FORM
-FEF5..FEFC ; Expands_On_NFKC # Lo [8] ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FFE3 ; Expands_On_NFKC # Sk FULLWIDTH MACRON
-1D15E..1D164 ; Expands_On_NFKC # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; Expands_On_NFKC # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-1F100..1F10A ; Expands_On_NFKC # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12A ; Expands_On_NFKC # So [27] PARENTHESIZED LATIN CAPITAL LETTER A..TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12D..1F12E ; Expands_On_NFKC # So [2] CIRCLED CD..CIRCLED WZ
-1F14A..1F14E ; Expands_On_NFKC # So [5] SQUARED HV..SQUARED PPV
-1F190 ; Expands_On_NFKC # So SQUARE DJ
-1F200 ; Expands_On_NFKC # So SQUARE HIRAGANA HOKA
-1F240..1F248 ; Expands_On_NFKC # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-
-# Total code points: 1231
-
-# ================================================
-
-# Derived Property: NFKC_Casefold (NFKC_CF)
-# This property removes certain variations from characters: case, compatibility, and default-ignorables.
-# It is used for loose matching and certain types of identifiers.
-# It is constructed by applying NFKC, CaseFolding, and removal of Default_Ignorable_Code_Points.
-# The process of applying these transformations is repeated until a stable result is produced.
-# WARNING: Application to STRINGS must apply NFC after mapping each character, because characters may interact.
-# For more information, see [http://www.unicode.org/reports/tr44/]
-# Omitted code points are unchanged by this mapping.
-# @missing: 0000..10FFFF; NFKC_CF; <code point>
-
-# All code points not explicitly listed for NFKC_Casefold
-# have the value <codepoint>.
-
-0041 ; NFKC_CF; 0061 # L& LATIN CAPITAL LETTER A
-0042 ; NFKC_CF; 0062 # L& LATIN CAPITAL LETTER B
-0043 ; NFKC_CF; 0063 # L& LATIN CAPITAL LETTER C
-0044 ; NFKC_CF; 0064 # L& LATIN CAPITAL LETTER D
-0045 ; NFKC_CF; 0065 # L& LATIN CAPITAL LETTER E
-0046 ; NFKC_CF; 0066 # L& LATIN CAPITAL LETTER F
-0047 ; NFKC_CF; 0067 # L& LATIN CAPITAL LETTER G
-0048 ; NFKC_CF; 0068 # L& LATIN CAPITAL LETTER H
-0049 ; NFKC_CF; 0069 # L& LATIN CAPITAL LETTER I
-004A ; NFKC_CF; 006A # L& LATIN CAPITAL LETTER J
-004B ; NFKC_CF; 006B # L& LATIN CAPITAL LETTER K
-004C ; NFKC_CF; 006C # L& LATIN CAPITAL LETTER L
-004D ; NFKC_CF; 006D # L& LATIN CAPITAL LETTER M
-004E ; NFKC_CF; 006E # L& LATIN CAPITAL LETTER N
-004F ; NFKC_CF; 006F # L& LATIN CAPITAL LETTER O
-0050 ; NFKC_CF; 0070 # L& LATIN CAPITAL LETTER P
-0051 ; NFKC_CF; 0071 # L& LATIN CAPITAL LETTER Q
-0052 ; NFKC_CF; 0072 # L& LATIN CAPITAL LETTER R
-0053 ; NFKC_CF; 0073 # L& LATIN CAPITAL LETTER S
-0054 ; NFKC_CF; 0074 # L& LATIN CAPITAL LETTER T
-0055 ; NFKC_CF; 0075 # L& LATIN CAPITAL LETTER U
-0056 ; NFKC_CF; 0076 # L& LATIN CAPITAL LETTER V
-0057 ; NFKC_CF; 0077 # L& LATIN CAPITAL LETTER W
-0058 ; NFKC_CF; 0078 # L& LATIN CAPITAL LETTER X
-0059 ; NFKC_CF; 0079 # L& LATIN CAPITAL LETTER Y
-005A ; NFKC_CF; 007A # L& LATIN CAPITAL LETTER Z
-00A0 ; NFKC_CF; 0020 # Zs NO-BREAK SPACE
-00A8 ; NFKC_CF; 0020 0308 # Sk DIAERESIS
-00AA ; NFKC_CF; 0061 # L& FEMININE ORDINAL INDICATOR
-00AD ; NFKC_CF; # Cf SOFT HYPHEN
-00AF ; NFKC_CF; 0020 0304 # Sk MACRON
-00B2 ; NFKC_CF; 0032 # No SUPERSCRIPT TWO
-00B3 ; NFKC_CF; 0033 # No SUPERSCRIPT THREE
-00B4 ; NFKC_CF; 0020 0301 # Sk ACUTE ACCENT
-00B5 ; NFKC_CF; 03BC # L& MICRO SIGN
-00B8 ; NFKC_CF; 0020 0327 # Sk CEDILLA
-00B9 ; NFKC_CF; 0031 # No SUPERSCRIPT ONE
-00BA ; NFKC_CF; 006F # L& MASCULINE ORDINAL INDICATOR
-00BC ; NFKC_CF; 0031 2044 0034 # No VULGAR FRACTION ONE QUARTER
-00BD ; NFKC_CF; 0031 2044 0032 # No VULGAR FRACTION ONE HALF
-00BE ; NFKC_CF; 0033 2044 0034 # No VULGAR FRACTION THREE QUARTERS
-00C0 ; NFKC_CF; 00E0 # L& LATIN CAPITAL LETTER A WITH GRAVE
-00C1 ; NFKC_CF; 00E1 # L& LATIN CAPITAL LETTER A WITH ACUTE
-00C2 ; NFKC_CF; 00E2 # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00C3 ; NFKC_CF; 00E3 # L& LATIN CAPITAL LETTER A WITH TILDE
-00C4 ; NFKC_CF; 00E4 # L& LATIN CAPITAL LETTER A WITH DIAERESIS
-00C5 ; NFKC_CF; 00E5 # L& LATIN CAPITAL LETTER A WITH RING ABOVE
-00C6 ; NFKC_CF; 00E6 # L& LATIN CAPITAL LETTER AE
-00C7 ; NFKC_CF; 00E7 # L& LATIN CAPITAL LETTER C WITH CEDILLA
-00C8 ; NFKC_CF; 00E8 # L& LATIN CAPITAL LETTER E WITH GRAVE
-00C9 ; NFKC_CF; 00E9 # L& LATIN CAPITAL LETTER E WITH ACUTE
-00CA ; NFKC_CF; 00EA # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00CB ; NFKC_CF; 00EB # L& LATIN CAPITAL LETTER E WITH DIAERESIS
-00CC ; NFKC_CF; 00EC # L& LATIN CAPITAL LETTER I WITH GRAVE
-00CD ; NFKC_CF; 00ED # L& LATIN CAPITAL LETTER I WITH ACUTE
-00CE ; NFKC_CF; 00EE # L& LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF ; NFKC_CF; 00EF # L& LATIN CAPITAL LETTER I WITH DIAERESIS
-00D0 ; NFKC_CF; 00F0 # L& LATIN CAPITAL LETTER ETH
-00D1 ; NFKC_CF; 00F1 # L& LATIN CAPITAL LETTER N WITH TILDE
-00D2 ; NFKC_CF; 00F2 # L& LATIN CAPITAL LETTER O WITH GRAVE
-00D3 ; NFKC_CF; 00F3 # L& LATIN CAPITAL LETTER O WITH ACUTE
-00D4 ; NFKC_CF; 00F4 # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00D5 ; NFKC_CF; 00F5 # L& LATIN CAPITAL LETTER O WITH TILDE
-00D6 ; NFKC_CF; 00F6 # L& LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8 ; NFKC_CF; 00F8 # L& LATIN CAPITAL LETTER O WITH STROKE
-00D9 ; NFKC_CF; 00F9 # L& LATIN CAPITAL LETTER U WITH GRAVE
-00DA ; NFKC_CF; 00FA # L& LATIN CAPITAL LETTER U WITH ACUTE
-00DB ; NFKC_CF; 00FB # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-00DC ; NFKC_CF; 00FC # L& LATIN CAPITAL LETTER U WITH DIAERESIS
-00DD ; NFKC_CF; 00FD # L& LATIN CAPITAL LETTER Y WITH ACUTE
-00DE ; NFKC_CF; 00FE # L& LATIN CAPITAL LETTER THORN
-00DF ; NFKC_CF; 0073 0073 # L& LATIN SMALL LETTER SHARP S
-0100 ; NFKC_CF; 0101 # L& LATIN CAPITAL LETTER A WITH MACRON
-0102 ; NFKC_CF; 0103 # L& LATIN CAPITAL LETTER A WITH BREVE
-0104 ; NFKC_CF; 0105 # L& LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; NFKC_CF; 0107 # L& LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; NFKC_CF; 0109 # L& LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; NFKC_CF; 010B # L& LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; NFKC_CF; 010D # L& LATIN CAPITAL LETTER C WITH CARON
-010E ; NFKC_CF; 010F # L& LATIN CAPITAL LETTER D WITH CARON
-0110 ; NFKC_CF; 0111 # L& LATIN CAPITAL LETTER D WITH STROKE
-0112 ; NFKC_CF; 0113 # L& LATIN CAPITAL LETTER E WITH MACRON
-0114 ; NFKC_CF; 0115 # L& LATIN CAPITAL LETTER E WITH BREVE
-0116 ; NFKC_CF; 0117 # L& LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; NFKC_CF; 0119 # L& LATIN CAPITAL LETTER E WITH OGONEK
-011A ; NFKC_CF; 011B # L& LATIN CAPITAL LETTER E WITH CARON
-011C ; NFKC_CF; 011D # L& LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; NFKC_CF; 011F # L& LATIN CAPITAL LETTER G WITH BREVE
-0120 ; NFKC_CF; 0121 # L& LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; NFKC_CF; 0123 # L& LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; NFKC_CF; 0125 # L& LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; NFKC_CF; 0127 # L& LATIN CAPITAL LETTER H WITH STROKE
-0128 ; NFKC_CF; 0129 # L& LATIN CAPITAL LETTER I WITH TILDE
-012A ; NFKC_CF; 012B # L& LATIN CAPITAL LETTER I WITH MACRON
-012C ; NFKC_CF; 012D # L& LATIN CAPITAL LETTER I WITH BREVE
-012E ; NFKC_CF; 012F # L& LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; NFKC_CF; 0069 0307 # L& LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132..0133 ; NFKC_CF; 0069 006A # L& [2] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LIGATURE IJ
-0134 ; NFKC_CF; 0135 # L& LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; NFKC_CF; 0137 # L& LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; NFKC_CF; 013A # L& LATIN CAPITAL LETTER L WITH ACUTE
-013B ; NFKC_CF; 013C # L& LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; NFKC_CF; 013E # L& LATIN CAPITAL LETTER L WITH CARON
-013F..0140 ; NFKC_CF; 006C 00B7 # L& [2] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH MIDDLE DOT
-0141 ; NFKC_CF; 0142 # L& LATIN CAPITAL LETTER L WITH STROKE
-0143 ; NFKC_CF; 0144 # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; NFKC_CF; 0146 # L& LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; NFKC_CF; 0148 # L& LATIN CAPITAL LETTER N WITH CARON
-0149 ; NFKC_CF; 02BC 006E # L& LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014A ; NFKC_CF; 014B # L& LATIN CAPITAL LETTER ENG
-014C ; NFKC_CF; 014D # L& LATIN CAPITAL LETTER O WITH MACRON
-014E ; NFKC_CF; 014F # L& LATIN CAPITAL LETTER O WITH BREVE
-0150 ; NFKC_CF; 0151 # L& LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; NFKC_CF; 0153 # L& LATIN CAPITAL LIGATURE OE
-0154 ; NFKC_CF; 0155 # L& LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; NFKC_CF; 0157 # L& LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; NFKC_CF; 0159 # L& LATIN CAPITAL LETTER R WITH CARON
-015A ; NFKC_CF; 015B # L& LATIN CAPITAL LETTER S WITH ACUTE
-015C ; NFKC_CF; 015D # L& LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; NFKC_CF; 015F # L& LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; NFKC_CF; 0161 # L& LATIN CAPITAL LETTER S WITH CARON
-0162 ; NFKC_CF; 0163 # L& LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; NFKC_CF; 0165 # L& LATIN CAPITAL LETTER T WITH CARON
-0166 ; NFKC_CF; 0167 # L& LATIN CAPITAL LETTER T WITH STROKE
-0168 ; NFKC_CF; 0169 # L& LATIN CAPITAL LETTER U WITH TILDE
-016A ; NFKC_CF; 016B # L& LATIN CAPITAL LETTER U WITH MACRON
-016C ; NFKC_CF; 016D # L& LATIN CAPITAL LETTER U WITH BREVE
-016E ; NFKC_CF; 016F # L& LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; NFKC_CF; 0171 # L& LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; NFKC_CF; 0173 # L& LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; NFKC_CF; 0175 # L& LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; NFKC_CF; 0177 # L& LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178 ; NFKC_CF; 00FF # L& LATIN CAPITAL LETTER Y WITH DIAERESIS
-0179 ; NFKC_CF; 017A # L& LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; NFKC_CF; 017C # L& LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; NFKC_CF; 017E # L& LATIN CAPITAL LETTER Z WITH CARON
-017F ; NFKC_CF; 0073 # L& LATIN SMALL LETTER LONG S
-0181 ; NFKC_CF; 0253 # L& LATIN CAPITAL LETTER B WITH HOOK
-0182 ; NFKC_CF; 0183 # L& LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; NFKC_CF; 0185 # L& LATIN CAPITAL LETTER TONE SIX
-0186 ; NFKC_CF; 0254 # L& LATIN CAPITAL LETTER OPEN O
-0187 ; NFKC_CF; 0188 # L& LATIN CAPITAL LETTER C WITH HOOK
-0189 ; NFKC_CF; 0256 # L& LATIN CAPITAL LETTER AFRICAN D
-018A ; NFKC_CF; 0257 # L& LATIN CAPITAL LETTER D WITH HOOK
-018B ; NFKC_CF; 018C # L& LATIN CAPITAL LETTER D WITH TOPBAR
-018E ; NFKC_CF; 01DD # L& LATIN CAPITAL LETTER REVERSED E
-018F ; NFKC_CF; 0259 # L& LATIN CAPITAL LETTER SCHWA
-0190 ; NFKC_CF; 025B # L& LATIN CAPITAL LETTER OPEN E
-0191 ; NFKC_CF; 0192 # L& LATIN CAPITAL LETTER F WITH HOOK
-0193 ; NFKC_CF; 0260 # L& LATIN CAPITAL LETTER G WITH HOOK
-0194 ; NFKC_CF; 0263 # L& LATIN CAPITAL LETTER GAMMA
-0196 ; NFKC_CF; 0269 # L& LATIN CAPITAL LETTER IOTA
-0197 ; NFKC_CF; 0268 # L& LATIN CAPITAL LETTER I WITH STROKE
-0198 ; NFKC_CF; 0199 # L& LATIN CAPITAL LETTER K WITH HOOK
-019C ; NFKC_CF; 026F # L& LATIN CAPITAL LETTER TURNED M
-019D ; NFKC_CF; 0272 # L& LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F ; NFKC_CF; 0275 # L& LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-01A0 ; NFKC_CF; 01A1 # L& LATIN CAPITAL LETTER O WITH HORN
-01A2 ; NFKC_CF; 01A3 # L& LATIN CAPITAL LETTER OI
-01A4 ; NFKC_CF; 01A5 # L& LATIN CAPITAL LETTER P WITH HOOK
-01A6 ; NFKC_CF; 0280 # L& LATIN LETTER YR
-01A7 ; NFKC_CF; 01A8 # L& LATIN CAPITAL LETTER TONE TWO
-01A9 ; NFKC_CF; 0283 # L& LATIN CAPITAL LETTER ESH
-01AC ; NFKC_CF; 01AD # L& LATIN CAPITAL LETTER T WITH HOOK
-01AE ; NFKC_CF; 0288 # L& LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-01AF ; NFKC_CF; 01B0 # L& LATIN CAPITAL LETTER U WITH HORN
-01B1 ; NFKC_CF; 028A # L& LATIN CAPITAL LETTER UPSILON
-01B2 ; NFKC_CF; 028B # L& LATIN CAPITAL LETTER V WITH HOOK
-01B3 ; NFKC_CF; 01B4 # L& LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; NFKC_CF; 01B6 # L& LATIN CAPITAL LETTER Z WITH STROKE
-01B7 ; NFKC_CF; 0292 # L& LATIN CAPITAL LETTER EZH
-01B8 ; NFKC_CF; 01B9 # L& LATIN CAPITAL LETTER EZH REVERSED
-01BC ; NFKC_CF; 01BD # L& LATIN CAPITAL LETTER TONE FIVE
-01C4..01C6 ; NFKC_CF; 0064 017E # L& [3] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER DZ WITH CARON
-01C7..01C9 ; NFKC_CF; 006C 006A # L& [3] LATIN CAPITAL LETTER LJ..LATIN SMALL LETTER LJ
-01CA..01CC ; NFKC_CF; 006E 006A # L& [3] LATIN CAPITAL LETTER NJ..LATIN SMALL LETTER NJ
-01CD ; NFKC_CF; 01CE # L& LATIN CAPITAL LETTER A WITH CARON
-01CF ; NFKC_CF; 01D0 # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; NFKC_CF; 01D2 # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; NFKC_CF; 01D4 # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; NFKC_CF; 01D6 # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; NFKC_CF; 01D8 # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; NFKC_CF; 01DA # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; NFKC_CF; 01DC # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; NFKC_CF; 01DF # L& LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; NFKC_CF; 01E1 # L& LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; NFKC_CF; 01E3 # L& LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; NFKC_CF; 01E5 # L& LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; NFKC_CF; 01E7 # L& LATIN CAPITAL LETTER G WITH CARON
-01E8 ; NFKC_CF; 01E9 # L& LATIN CAPITAL LETTER K WITH CARON
-01EA ; NFKC_CF; 01EB # L& LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; NFKC_CF; 01ED # L& LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; NFKC_CF; 01EF # L& LATIN CAPITAL LETTER EZH WITH CARON
-01F1..01F3 ; NFKC_CF; 0064 007A # L& [3] LATIN CAPITAL LETTER DZ..LATIN SMALL LETTER DZ
-01F4 ; NFKC_CF; 01F5 # L& LATIN CAPITAL LETTER G WITH ACUTE
-01F6 ; NFKC_CF; 0195 # L& LATIN CAPITAL LETTER HWAIR
-01F7 ; NFKC_CF; 01BF # L& LATIN CAPITAL LETTER WYNN
-01F8 ; NFKC_CF; 01F9 # L& LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; NFKC_CF; 01FB # L& LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; NFKC_CF; 01FD # L& LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; NFKC_CF; 01FF # L& LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; NFKC_CF; 0201 # L& LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; NFKC_CF; 0203 # L& LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; NFKC_CF; 0205 # L& LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; NFKC_CF; 0207 # L& LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; NFKC_CF; 0209 # L& LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; NFKC_CF; 020B # L& LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; NFKC_CF; 020D # L& LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; NFKC_CF; 020F # L& LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; NFKC_CF; 0211 # L& LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; NFKC_CF; 0213 # L& LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; NFKC_CF; 0215 # L& LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; NFKC_CF; 0217 # L& LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; NFKC_CF; 0219 # L& LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; NFKC_CF; 021B # L& LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; NFKC_CF; 021D # L& LATIN CAPITAL LETTER YOGH
-021E ; NFKC_CF; 021F # L& LATIN CAPITAL LETTER H WITH CARON
-0220 ; NFKC_CF; 019E # L& LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; NFKC_CF; 0223 # L& LATIN CAPITAL LETTER OU
-0224 ; NFKC_CF; 0225 # L& LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; NFKC_CF; 0227 # L& LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; NFKC_CF; 0229 # L& LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; NFKC_CF; 022B # L& LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; NFKC_CF; 022D # L& LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; NFKC_CF; 022F # L& LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; NFKC_CF; 0231 # L& LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; NFKC_CF; 0233 # L& LATIN CAPITAL LETTER Y WITH MACRON
-023A ; NFKC_CF; 2C65 # L& LATIN CAPITAL LETTER A WITH STROKE
-023B ; NFKC_CF; 023C # L& LATIN CAPITAL LETTER C WITH STROKE
-023D ; NFKC_CF; 019A # L& LATIN CAPITAL LETTER L WITH BAR
-023E ; NFKC_CF; 2C66 # L& LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; NFKC_CF; 0242 # L& LATIN CAPITAL LETTER GLOTTAL STOP
-0243 ; NFKC_CF; 0180 # L& LATIN CAPITAL LETTER B WITH STROKE
-0244 ; NFKC_CF; 0289 # L& LATIN CAPITAL LETTER U BAR
-0245 ; NFKC_CF; 028C # L& LATIN CAPITAL LETTER TURNED V
-0246 ; NFKC_CF; 0247 # L& LATIN CAPITAL LETTER E WITH STROKE
-0248 ; NFKC_CF; 0249 # L& LATIN CAPITAL LETTER J WITH STROKE
-024A ; NFKC_CF; 024B # L& LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; NFKC_CF; 024D # L& LATIN CAPITAL LETTER R WITH STROKE
-024E ; NFKC_CF; 024F # L& LATIN CAPITAL LETTER Y WITH STROKE
-02B0 ; NFKC_CF; 0068 # Lm MODIFIER LETTER SMALL H
-02B1 ; NFKC_CF; 0266 # Lm MODIFIER LETTER SMALL H WITH HOOK
-02B2 ; NFKC_CF; 006A # Lm MODIFIER LETTER SMALL J
-02B3 ; NFKC_CF; 0072 # Lm MODIFIER LETTER SMALL R
-02B4 ; NFKC_CF; 0279 # Lm MODIFIER LETTER SMALL TURNED R
-02B5 ; NFKC_CF; 027B # Lm MODIFIER LETTER SMALL TURNED R WITH HOOK
-02B6 ; NFKC_CF; 0281 # Lm MODIFIER LETTER SMALL CAPITAL INVERTED R
-02B7 ; NFKC_CF; 0077 # Lm MODIFIER LETTER SMALL W
-02B8 ; NFKC_CF; 0079 # Lm MODIFIER LETTER SMALL Y
-02D8 ; NFKC_CF; 0020 0306 # Sk BREVE
-02D9 ; NFKC_CF; 0020 0307 # Sk DOT ABOVE
-02DA ; NFKC_CF; 0020 030A # Sk RING ABOVE
-02DB ; NFKC_CF; 0020 0328 # Sk OGONEK
-02DC ; NFKC_CF; 0020 0303 # Sk SMALL TILDE
-02DD ; NFKC_CF; 0020 030B # Sk DOUBLE ACUTE ACCENT
-02E0 ; NFKC_CF; 0263 # Lm MODIFIER LETTER SMALL GAMMA
-02E1 ; NFKC_CF; 006C # Lm MODIFIER LETTER SMALL L
-02E2 ; NFKC_CF; 0073 # Lm MODIFIER LETTER SMALL S
-02E3 ; NFKC_CF; 0078 # Lm MODIFIER LETTER SMALL X
-02E4 ; NFKC_CF; 0295 # Lm MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0340 ; NFKC_CF; 0300 # Mn COMBINING GRAVE TONE MARK
-0341 ; NFKC_CF; 0301 # Mn COMBINING ACUTE TONE MARK
-0343 ; NFKC_CF; 0313 # Mn COMBINING GREEK KORONIS
-0344 ; NFKC_CF; 0308 0301 # Mn COMBINING GREEK DIALYTIKA TONOS
-0345 ; NFKC_CF; 03B9 # Mn COMBINING GREEK YPOGEGRAMMENI
-034F ; NFKC_CF; # Mn COMBINING GRAPHEME JOINER
-0370 ; NFKC_CF; 0371 # L& GREEK CAPITAL LETTER HETA
-0372 ; NFKC_CF; 0373 # L& GREEK CAPITAL LETTER ARCHAIC SAMPI
-0374 ; NFKC_CF; 02B9 # Lm GREEK NUMERAL SIGN
-0376 ; NFKC_CF; 0377 # L& GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-037A ; NFKC_CF; 0020 03B9 # Lm GREEK YPOGEGRAMMENI
-037E ; NFKC_CF; 003B # Po GREEK QUESTION MARK
-0384 ; NFKC_CF; 0020 0301 # Sk GREEK TONOS
-0385 ; NFKC_CF; 0020 0308 0301 # Sk GREEK DIALYTIKA TONOS
-0386 ; NFKC_CF; 03AC # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; NFKC_CF; 00B7 # Po GREEK ANO TELEIA
-0388 ; NFKC_CF; 03AD # L& GREEK CAPITAL LETTER EPSILON WITH TONOS
-0389 ; NFKC_CF; 03AE # L& GREEK CAPITAL LETTER ETA WITH TONOS
-038A ; NFKC_CF; 03AF # L& GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; NFKC_CF; 03CC # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E ; NFKC_CF; 03CD # L& GREEK CAPITAL LETTER UPSILON WITH TONOS
-038F ; NFKC_CF; 03CE # L& GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391 ; NFKC_CF; 03B1 # L& GREEK CAPITAL LETTER ALPHA
-0392 ; NFKC_CF; 03B2 # L& GREEK CAPITAL LETTER BETA
-0393 ; NFKC_CF; 03B3 # L& GREEK CAPITAL LETTER GAMMA
-0394 ; NFKC_CF; 03B4 # L& GREEK CAPITAL LETTER DELTA
-0395 ; NFKC_CF; 03B5 # L& GREEK CAPITAL LETTER EPSILON
-0396 ; NFKC_CF; 03B6 # L& GREEK CAPITAL LETTER ZETA
-0397 ; NFKC_CF; 03B7 # L& GREEK CAPITAL LETTER ETA
-0398 ; NFKC_CF; 03B8 # L& GREEK CAPITAL LETTER THETA
-0399 ; NFKC_CF; 03B9 # L& GREEK CAPITAL LETTER IOTA
-039A ; NFKC_CF; 03BA # L& GREEK CAPITAL LETTER KAPPA
-039B ; NFKC_CF; 03BB # L& GREEK CAPITAL LETTER LAMDA
-039C ; NFKC_CF; 03BC # L& GREEK CAPITAL LETTER MU
-039D ; NFKC_CF; 03BD # L& GREEK CAPITAL LETTER NU
-039E ; NFKC_CF; 03BE # L& GREEK CAPITAL LETTER XI
-039F ; NFKC_CF; 03BF # L& GREEK CAPITAL LETTER OMICRON
-03A0 ; NFKC_CF; 03C0 # L& GREEK CAPITAL LETTER PI
-03A1 ; NFKC_CF; 03C1 # L& GREEK CAPITAL LETTER RHO
-03A3 ; NFKC_CF; 03C3 # L& GREEK CAPITAL LETTER SIGMA
-03A4 ; NFKC_CF; 03C4 # L& GREEK CAPITAL LETTER TAU
-03A5 ; NFKC_CF; 03C5 # L& GREEK CAPITAL LETTER UPSILON
-03A6 ; NFKC_CF; 03C6 # L& GREEK CAPITAL LETTER PHI
-03A7 ; NFKC_CF; 03C7 # L& GREEK CAPITAL LETTER CHI
-03A8 ; NFKC_CF; 03C8 # L& GREEK CAPITAL LETTER PSI
-03A9 ; NFKC_CF; 03C9 # L& GREEK CAPITAL LETTER OMEGA
-03AA ; NFKC_CF; 03CA # L& GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-03AB ; NFKC_CF; 03CB # L& GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03C2 ; NFKC_CF; 03C3 # L& GREEK SMALL LETTER FINAL SIGMA
-03CF ; NFKC_CF; 03D7 # L& GREEK CAPITAL KAI SYMBOL
-03D0 ; NFKC_CF; 03B2 # L& GREEK BETA SYMBOL
-03D1 ; NFKC_CF; 03B8 # L& GREEK THETA SYMBOL
-03D2 ; NFKC_CF; 03C5 # L& GREEK UPSILON WITH HOOK SYMBOL
-03D3 ; NFKC_CF; 03CD # L& GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-03D4 ; NFKC_CF; 03CB # L& GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D5 ; NFKC_CF; 03C6 # L& GREEK PHI SYMBOL
-03D6 ; NFKC_CF; 03C0 # L& GREEK PI SYMBOL
-03D8 ; NFKC_CF; 03D9 # L& GREEK LETTER ARCHAIC KOPPA
-03DA ; NFKC_CF; 03DB # L& GREEK LETTER STIGMA
-03DC ; NFKC_CF; 03DD # L& GREEK LETTER DIGAMMA
-03DE ; NFKC_CF; 03DF # L& GREEK LETTER KOPPA
-03E0 ; NFKC_CF; 03E1 # L& GREEK LETTER SAMPI
-03E2 ; NFKC_CF; 03E3 # L& COPTIC CAPITAL LETTER SHEI
-03E4 ; NFKC_CF; 03E5 # L& COPTIC CAPITAL LETTER FEI
-03E6 ; NFKC_CF; 03E7 # L& COPTIC CAPITAL LETTER KHEI
-03E8 ; NFKC_CF; 03E9 # L& COPTIC CAPITAL LETTER HORI
-03EA ; NFKC_CF; 03EB # L& COPTIC CAPITAL LETTER GANGIA
-03EC ; NFKC_CF; 03ED # L& COPTIC CAPITAL LETTER SHIMA
-03EE ; NFKC_CF; 03EF # L& COPTIC CAPITAL LETTER DEI
-03F0 ; NFKC_CF; 03BA # L& GREEK KAPPA SYMBOL
-03F1 ; NFKC_CF; 03C1 # L& GREEK RHO SYMBOL
-03F2 ; NFKC_CF; 03C3 # L& GREEK LUNATE SIGMA SYMBOL
-03F4 ; NFKC_CF; 03B8 # L& GREEK CAPITAL THETA SYMBOL
-03F5 ; NFKC_CF; 03B5 # L& GREEK LUNATE EPSILON SYMBOL
-03F7 ; NFKC_CF; 03F8 # L& GREEK CAPITAL LETTER SHO
-03F9 ; NFKC_CF; 03C3 # L& GREEK CAPITAL LUNATE SIGMA SYMBOL
-03FA ; NFKC_CF; 03FB # L& GREEK CAPITAL LETTER SAN
-03FD ; NFKC_CF; 037B # L& GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-03FE ; NFKC_CF; 037C # L& GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-03FF ; NFKC_CF; 037D # L& GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0400 ; NFKC_CF; 0450 # L& CYRILLIC CAPITAL LETTER IE WITH GRAVE
-0401 ; NFKC_CF; 0451 # L& CYRILLIC CAPITAL LETTER IO
-0402 ; NFKC_CF; 0452 # L& CYRILLIC CAPITAL LETTER DJE
-0403 ; NFKC_CF; 0453 # L& CYRILLIC CAPITAL LETTER GJE
-0404 ; NFKC_CF; 0454 # L& CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0405 ; NFKC_CF; 0455 # L& CYRILLIC CAPITAL LETTER DZE
-0406 ; NFKC_CF; 0456 # L& CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0407 ; NFKC_CF; 0457 # L& CYRILLIC CAPITAL LETTER YI
-0408 ; NFKC_CF; 0458 # L& CYRILLIC CAPITAL LETTER JE
-0409 ; NFKC_CF; 0459 # L& CYRILLIC CAPITAL LETTER LJE
-040A ; NFKC_CF; 045A # L& CYRILLIC CAPITAL LETTER NJE
-040B ; NFKC_CF; 045B # L& CYRILLIC CAPITAL LETTER TSHE
-040C ; NFKC_CF; 045C # L& CYRILLIC CAPITAL LETTER KJE
-040D ; NFKC_CF; 045D # L& CYRILLIC CAPITAL LETTER I WITH GRAVE
-040E ; NFKC_CF; 045E # L& CYRILLIC CAPITAL LETTER SHORT U
-040F ; NFKC_CF; 045F # L& CYRILLIC CAPITAL LETTER DZHE
-0410 ; NFKC_CF; 0430 # L& CYRILLIC CAPITAL LETTER A
-0411 ; NFKC_CF; 0431 # L& CYRILLIC CAPITAL LETTER BE
-0412 ; NFKC_CF; 0432 # L& CYRILLIC CAPITAL LETTER VE
-0413 ; NFKC_CF; 0433 # L& CYRILLIC CAPITAL LETTER GHE
-0414 ; NFKC_CF; 0434 # L& CYRILLIC CAPITAL LETTER DE
-0415 ; NFKC_CF; 0435 # L& CYRILLIC CAPITAL LETTER IE
-0416 ; NFKC_CF; 0436 # L& CYRILLIC CAPITAL LETTER ZHE
-0417 ; NFKC_CF; 0437 # L& CYRILLIC CAPITAL LETTER ZE
-0418 ; NFKC_CF; 0438 # L& CYRILLIC CAPITAL LETTER I
-0419 ; NFKC_CF; 0439 # L& CYRILLIC CAPITAL LETTER SHORT I
-041A ; NFKC_CF; 043A # L& CYRILLIC CAPITAL LETTER KA
-041B ; NFKC_CF; 043B # L& CYRILLIC CAPITAL LETTER EL
-041C ; NFKC_CF; 043C # L& CYRILLIC CAPITAL LETTER EM
-041D ; NFKC_CF; 043D # L& CYRILLIC CAPITAL LETTER EN
-041E ; NFKC_CF; 043E # L& CYRILLIC CAPITAL LETTER O
-041F ; NFKC_CF; 043F # L& CYRILLIC CAPITAL LETTER PE
-0420 ; NFKC_CF; 0440 # L& CYRILLIC CAPITAL LETTER ER
-0421 ; NFKC_CF; 0441 # L& CYRILLIC CAPITAL LETTER ES
-0422 ; NFKC_CF; 0442 # L& CYRILLIC CAPITAL LETTER TE
-0423 ; NFKC_CF; 0443 # L& CYRILLIC CAPITAL LETTER U
-0424 ; NFKC_CF; 0444 # L& CYRILLIC CAPITAL LETTER EF
-0425 ; NFKC_CF; 0445 # L& CYRILLIC CAPITAL LETTER HA
-0426 ; NFKC_CF; 0446 # L& CYRILLIC CAPITAL LETTER TSE
-0427 ; NFKC_CF; 0447 # L& CYRILLIC CAPITAL LETTER CHE
-0428 ; NFKC_CF; 0448 # L& CYRILLIC CAPITAL LETTER SHA
-0429 ; NFKC_CF; 0449 # L& CYRILLIC CAPITAL LETTER SHCHA
-042A ; NFKC_CF; 044A # L& CYRILLIC CAPITAL LETTER HARD SIGN
-042B ; NFKC_CF; 044B # L& CYRILLIC CAPITAL LETTER YERU
-042C ; NFKC_CF; 044C # L& CYRILLIC CAPITAL LETTER SOFT SIGN
-042D ; NFKC_CF; 044D # L& CYRILLIC CAPITAL LETTER E
-042E ; NFKC_CF; 044E # L& CYRILLIC CAPITAL LETTER YU
-042F ; NFKC_CF; 044F # L& CYRILLIC CAPITAL LETTER YA
-0460 ; NFKC_CF; 0461 # L& CYRILLIC CAPITAL LETTER OMEGA
-0462 ; NFKC_CF; 0463 # L& CYRILLIC CAPITAL LETTER YAT
-0464 ; NFKC_CF; 0465 # L& CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; NFKC_CF; 0467 # L& CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; NFKC_CF; 0469 # L& CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; NFKC_CF; 046B # L& CYRILLIC CAPITAL LETTER BIG YUS
-046C ; NFKC_CF; 046D # L& CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; NFKC_CF; 046F # L& CYRILLIC CAPITAL LETTER KSI
-0470 ; NFKC_CF; 0471 # L& CYRILLIC CAPITAL LETTER PSI
-0472 ; NFKC_CF; 0473 # L& CYRILLIC CAPITAL LETTER FITA
-0474 ; NFKC_CF; 0475 # L& CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; NFKC_CF; 0477 # L& CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; NFKC_CF; 0479 # L& CYRILLIC CAPITAL LETTER UK
-047A ; NFKC_CF; 047B # L& CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; NFKC_CF; 047D # L& CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; NFKC_CF; 047F # L& CYRILLIC CAPITAL LETTER OT
-0480 ; NFKC_CF; 0481 # L& CYRILLIC CAPITAL LETTER KOPPA
-048A ; NFKC_CF; 048B # L& CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; NFKC_CF; 048D # L& CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; NFKC_CF; 048F # L& CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; NFKC_CF; 0491 # L& CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; NFKC_CF; 0493 # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; NFKC_CF; 0495 # L& CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; NFKC_CF; 0497 # L& CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; NFKC_CF; 0499 # L& CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; NFKC_CF; 049B # L& CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; NFKC_CF; 049D # L& CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; NFKC_CF; 049F # L& CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; NFKC_CF; 04A1 # L& CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; NFKC_CF; 04A3 # L& CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; NFKC_CF; 04A5 # L& CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; NFKC_CF; 04A7 # L& CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; NFKC_CF; 04A9 # L& CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; NFKC_CF; 04AB # L& CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; NFKC_CF; 04AD # L& CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; NFKC_CF; 04AF # L& CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; NFKC_CF; 04B1 # L& CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; NFKC_CF; 04B3 # L& CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; NFKC_CF; 04B5 # L& CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; NFKC_CF; 04B7 # L& CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; NFKC_CF; 04B9 # L& CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; NFKC_CF; 04BB # L& CYRILLIC CAPITAL LETTER SHHA
-04BC ; NFKC_CF; 04BD # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; NFKC_CF; 04BF # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0 ; NFKC_CF; 04CF # L& CYRILLIC LETTER PALOCHKA
-04C1 ; NFKC_CF; 04C2 # L& CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; NFKC_CF; 04C4 # L& CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; NFKC_CF; 04C6 # L& CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; NFKC_CF; 04C8 # L& CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; NFKC_CF; 04CA # L& CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; NFKC_CF; 04CC # L& CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; NFKC_CF; 04CE # L& CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; NFKC_CF; 04D1 # L& CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; NFKC_CF; 04D3 # L& CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; NFKC_CF; 04D5 # L& CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; NFKC_CF; 04D7 # L& CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; NFKC_CF; 04D9 # L& CYRILLIC CAPITAL LETTER SCHWA
-04DA ; NFKC_CF; 04DB # L& CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; NFKC_CF; 04DD # L& CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; NFKC_CF; 04DF # L& CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; NFKC_CF; 04E1 # L& CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; NFKC_CF; 04E3 # L& CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; NFKC_CF; 04E5 # L& CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; NFKC_CF; 04E7 # L& CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; NFKC_CF; 04E9 # L& CYRILLIC CAPITAL LETTER BARRED O
-04EA ; NFKC_CF; 04EB # L& CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; NFKC_CF; 04ED # L& CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; NFKC_CF; 04EF # L& CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; NFKC_CF; 04F1 # L& CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; NFKC_CF; 04F3 # L& CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; NFKC_CF; 04F5 # L& CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; NFKC_CF; 04F7 # L& CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; NFKC_CF; 04F9 # L& CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; NFKC_CF; 04FB # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; NFKC_CF; 04FD # L& CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; NFKC_CF; 04FF # L& CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; NFKC_CF; 0501 # L& CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; NFKC_CF; 0503 # L& CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; NFKC_CF; 0505 # L& CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; NFKC_CF; 0507 # L& CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; NFKC_CF; 0509 # L& CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; NFKC_CF; 050B # L& CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; NFKC_CF; 050D # L& CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; NFKC_CF; 050F # L& CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; NFKC_CF; 0511 # L& CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; NFKC_CF; 0513 # L& CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; NFKC_CF; 0515 # L& CYRILLIC CAPITAL LETTER LHA
-0516 ; NFKC_CF; 0517 # L& CYRILLIC CAPITAL LETTER RHA
-0518 ; NFKC_CF; 0519 # L& CYRILLIC CAPITAL LETTER YAE
-051A ; NFKC_CF; 051B # L& CYRILLIC CAPITAL LETTER QA
-051C ; NFKC_CF; 051D # L& CYRILLIC CAPITAL LETTER WE
-051E ; NFKC_CF; 051F # L& CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; NFKC_CF; 0521 # L& CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; NFKC_CF; 0523 # L& CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; NFKC_CF; 0525 # L& CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531 ; NFKC_CF; 0561 # L& ARMENIAN CAPITAL LETTER AYB
-0532 ; NFKC_CF; 0562 # L& ARMENIAN CAPITAL LETTER BEN
-0533 ; NFKC_CF; 0563 # L& ARMENIAN CAPITAL LETTER GIM
-0534 ; NFKC_CF; 0564 # L& ARMENIAN CAPITAL LETTER DA
-0535 ; NFKC_CF; 0565 # L& ARMENIAN CAPITAL LETTER ECH
-0536 ; NFKC_CF; 0566 # L& ARMENIAN CAPITAL LETTER ZA
-0537 ; NFKC_CF; 0567 # L& ARMENIAN CAPITAL LETTER EH
-0538 ; NFKC_CF; 0568 # L& ARMENIAN CAPITAL LETTER ET
-0539 ; NFKC_CF; 0569 # L& ARMENIAN CAPITAL LETTER TO
-053A ; NFKC_CF; 056A # L& ARMENIAN CAPITAL LETTER ZHE
-053B ; NFKC_CF; 056B # L& ARMENIAN CAPITAL LETTER INI
-053C ; NFKC_CF; 056C # L& ARMENIAN CAPITAL LETTER LIWN
-053D ; NFKC_CF; 056D # L& ARMENIAN CAPITAL LETTER XEH
-053E ; NFKC_CF; 056E # L& ARMENIAN CAPITAL LETTER CA
-053F ; NFKC_CF; 056F # L& ARMENIAN CAPITAL LETTER KEN
-0540 ; NFKC_CF; 0570 # L& ARMENIAN CAPITAL LETTER HO
-0541 ; NFKC_CF; 0571 # L& ARMENIAN CAPITAL LETTER JA
-0542 ; NFKC_CF; 0572 # L& ARMENIAN CAPITAL LETTER GHAD
-0543 ; NFKC_CF; 0573 # L& ARMENIAN CAPITAL LETTER CHEH
-0544 ; NFKC_CF; 0574 # L& ARMENIAN CAPITAL LETTER MEN
-0545 ; NFKC_CF; 0575 # L& ARMENIAN CAPITAL LETTER YI
-0546 ; NFKC_CF; 0576 # L& ARMENIAN CAPITAL LETTER NOW
-0547 ; NFKC_CF; 0577 # L& ARMENIAN CAPITAL LETTER SHA
-0548 ; NFKC_CF; 0578 # L& ARMENIAN CAPITAL LETTER VO
-0549 ; NFKC_CF; 0579 # L& ARMENIAN CAPITAL LETTER CHA
-054A ; NFKC_CF; 057A # L& ARMENIAN CAPITAL LETTER PEH
-054B ; NFKC_CF; 057B # L& ARMENIAN CAPITAL LETTER JHEH
-054C ; NFKC_CF; 057C # L& ARMENIAN CAPITAL LETTER RA
-054D ; NFKC_CF; 057D # L& ARMENIAN CAPITAL LETTER SEH
-054E ; NFKC_CF; 057E # L& ARMENIAN CAPITAL LETTER VEW
-054F ; NFKC_CF; 057F # L& ARMENIAN CAPITAL LETTER TIWN
-0550 ; NFKC_CF; 0580 # L& ARMENIAN CAPITAL LETTER REH
-0551 ; NFKC_CF; 0581 # L& ARMENIAN CAPITAL LETTER CO
-0552 ; NFKC_CF; 0582 # L& ARMENIAN CAPITAL LETTER YIWN
-0553 ; NFKC_CF; 0583 # L& ARMENIAN CAPITAL LETTER PIWR
-0554 ; NFKC_CF; 0584 # L& ARMENIAN CAPITAL LETTER KEH
-0555 ; NFKC_CF; 0585 # L& ARMENIAN CAPITAL LETTER OH
-0556 ; NFKC_CF; 0586 # L& ARMENIAN CAPITAL LETTER FEH
-0587 ; NFKC_CF; 0565 0582 # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0675 ; NFKC_CF; 0627 0674 # Lo ARABIC LETTER HIGH HAMZA ALEF
-0676 ; NFKC_CF; 0648 0674 # Lo ARABIC LETTER HIGH HAMZA WAW
-0677 ; NFKC_CF; 06C7 0674 # Lo ARABIC LETTER U WITH HAMZA ABOVE
-0678 ; NFKC_CF; 064A 0674 # Lo ARABIC LETTER HIGH HAMZA YEH
-0958 ; NFKC_CF; 0915 093C # Lo DEVANAGARI LETTER QA
-0959 ; NFKC_CF; 0916 093C # Lo DEVANAGARI LETTER KHHA
-095A ; NFKC_CF; 0917 093C # Lo DEVANAGARI LETTER GHHA
-095B ; NFKC_CF; 091C 093C # Lo DEVANAGARI LETTER ZA
-095C ; NFKC_CF; 0921 093C # Lo DEVANAGARI LETTER DDDHA
-095D ; NFKC_CF; 0922 093C # Lo DEVANAGARI LETTER RHA
-095E ; NFKC_CF; 092B 093C # Lo DEVANAGARI LETTER FA
-095F ; NFKC_CF; 092F 093C # Lo DEVANAGARI LETTER YYA
-09DC ; NFKC_CF; 09A1 09BC # Lo BENGALI LETTER RRA
-09DD ; NFKC_CF; 09A2 09BC # Lo BENGALI LETTER RHA
-09DF ; NFKC_CF; 09AF 09BC # Lo BENGALI LETTER YYA
-0A33 ; NFKC_CF; 0A32 0A3C # Lo GURMUKHI LETTER LLA
-0A36 ; NFKC_CF; 0A38 0A3C # Lo GURMUKHI LETTER SHA
-0A59 ; NFKC_CF; 0A16 0A3C # Lo GURMUKHI LETTER KHHA
-0A5A ; NFKC_CF; 0A17 0A3C # Lo GURMUKHI LETTER GHHA
-0A5B ; NFKC_CF; 0A1C 0A3C # Lo GURMUKHI LETTER ZA
-0A5E ; NFKC_CF; 0A2B 0A3C # Lo GURMUKHI LETTER FA
-0B5C ; NFKC_CF; 0B21 0B3C # Lo ORIYA LETTER RRA
-0B5D ; NFKC_CF; 0B22 0B3C # Lo ORIYA LETTER RHA
-0E33 ; NFKC_CF; 0E4D 0E32 # Lo THAI CHARACTER SARA AM
-0EB3 ; NFKC_CF; 0ECD 0EB2 # Lo LAO VOWEL SIGN AM
-0EDC ; NFKC_CF; 0EAB 0E99 # Lo LAO HO NO
-0EDD ; NFKC_CF; 0EAB 0EA1 # Lo LAO HO MO
-0F0C ; NFKC_CF; 0F0B # Po TIBETAN MARK DELIMITER TSHEG BSTAR
-0F43 ; NFKC_CF; 0F42 0FB7 # Lo TIBETAN LETTER GHA
-0F4D ; NFKC_CF; 0F4C 0FB7 # Lo TIBETAN LETTER DDHA
-0F52 ; NFKC_CF; 0F51 0FB7 # Lo TIBETAN LETTER DHA
-0F57 ; NFKC_CF; 0F56 0FB7 # Lo TIBETAN LETTER BHA
-0F5C ; NFKC_CF; 0F5B 0FB7 # Lo TIBETAN LETTER DZHA
-0F69 ; NFKC_CF; 0F40 0FB5 # Lo TIBETAN LETTER KSSA
-0F73 ; NFKC_CF; 0F71 0F72 # Mn TIBETAN VOWEL SIGN II
-0F75 ; NFKC_CF; 0F71 0F74 # Mn TIBETAN VOWEL SIGN UU
-0F76 ; NFKC_CF; 0FB2 0F80 # Mn TIBETAN VOWEL SIGN VOCALIC R
-0F77 ; NFKC_CF; 0FB2 0F71 0F80 # Mn TIBETAN VOWEL SIGN VOCALIC RR
-0F78 ; NFKC_CF; 0FB3 0F80 # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F79 ; NFKC_CF; 0FB3 0F71 0F80 # Mn TIBETAN VOWEL SIGN VOCALIC LL
-0F81 ; NFKC_CF; 0F71 0F80 # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; NFKC_CF; 0F92 0FB7 # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; NFKC_CF; 0F9C 0FB7 # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; NFKC_CF; 0FA1 0FB7 # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; NFKC_CF; 0FA6 0FB7 # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; NFKC_CF; 0FAB 0FB7 # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; NFKC_CF; 0F90 0FB5 # Mn TIBETAN SUBJOINED LETTER KSSA
-10A0 ; NFKC_CF; 2D00 # L& GEORGIAN CAPITAL LETTER AN
-10A1 ; NFKC_CF; 2D01 # L& GEORGIAN CAPITAL LETTER BAN
-10A2 ; NFKC_CF; 2D02 # L& GEORGIAN CAPITAL LETTER GAN
-10A3 ; NFKC_CF; 2D03 # L& GEORGIAN CAPITAL LETTER DON
-10A4 ; NFKC_CF; 2D04 # L& GEORGIAN CAPITAL LETTER EN
-10A5 ; NFKC_CF; 2D05 # L& GEORGIAN CAPITAL LETTER VIN
-10A6 ; NFKC_CF; 2D06 # L& GEORGIAN CAPITAL LETTER ZEN
-10A7 ; NFKC_CF; 2D07 # L& GEORGIAN CAPITAL LETTER TAN
-10A8 ; NFKC_CF; 2D08 # L& GEORGIAN CAPITAL LETTER IN
-10A9 ; NFKC_CF; 2D09 # L& GEORGIAN CAPITAL LETTER KAN
-10AA ; NFKC_CF; 2D0A # L& GEORGIAN CAPITAL LETTER LAS
-10AB ; NFKC_CF; 2D0B # L& GEORGIAN CAPITAL LETTER MAN
-10AC ; NFKC_CF; 2D0C # L& GEORGIAN CAPITAL LETTER NAR
-10AD ; NFKC_CF; 2D0D # L& GEORGIAN CAPITAL LETTER ON
-10AE ; NFKC_CF; 2D0E # L& GEORGIAN CAPITAL LETTER PAR
-10AF ; NFKC_CF; 2D0F # L& GEORGIAN CAPITAL LETTER ZHAR
-10B0 ; NFKC_CF; 2D10 # L& GEORGIAN CAPITAL LETTER RAE
-10B1 ; NFKC_CF; 2D11 # L& GEORGIAN CAPITAL LETTER SAN
-10B2 ; NFKC_CF; 2D12 # L& GEORGIAN CAPITAL LETTER TAR
-10B3 ; NFKC_CF; 2D13 # L& GEORGIAN CAPITAL LETTER UN
-10B4 ; NFKC_CF; 2D14 # L& GEORGIAN CAPITAL LETTER PHAR
-10B5 ; NFKC_CF; 2D15 # L& GEORGIAN CAPITAL LETTER KHAR
-10B6 ; NFKC_CF; 2D16 # L& GEORGIAN CAPITAL LETTER GHAN
-10B7 ; NFKC_CF; 2D17 # L& GEORGIAN CAPITAL LETTER QAR
-10B8 ; NFKC_CF; 2D18 # L& GEORGIAN CAPITAL LETTER SHIN
-10B9 ; NFKC_CF; 2D19 # L& GEORGIAN CAPITAL LETTER CHIN
-10BA ; NFKC_CF; 2D1A # L& GEORGIAN CAPITAL LETTER CAN
-10BB ; NFKC_CF; 2D1B # L& GEORGIAN CAPITAL LETTER JIL
-10BC ; NFKC_CF; 2D1C # L& GEORGIAN CAPITAL LETTER CIL
-10BD ; NFKC_CF; 2D1D # L& GEORGIAN CAPITAL LETTER CHAR
-10BE ; NFKC_CF; 2D1E # L& GEORGIAN CAPITAL LETTER XAN
-10BF ; NFKC_CF; 2D1F # L& GEORGIAN CAPITAL LETTER JHAN
-10C0 ; NFKC_CF; 2D20 # L& GEORGIAN CAPITAL LETTER HAE
-10C1 ; NFKC_CF; 2D21 # L& GEORGIAN CAPITAL LETTER HE
-10C2 ; NFKC_CF; 2D22 # L& GEORGIAN CAPITAL LETTER HIE
-10C3 ; NFKC_CF; 2D23 # L& GEORGIAN CAPITAL LETTER WE
-10C4 ; NFKC_CF; 2D24 # L& GEORGIAN CAPITAL LETTER HAR
-10C5 ; NFKC_CF; 2D25 # L& GEORGIAN CAPITAL LETTER HOE
-10FC ; NFKC_CF; 10DC # Lm MODIFIER LETTER GEORGIAN NAR
-115F..1160 ; NFKC_CF; # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-17B4..17B5 ; NFKC_CF; # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-180B..180D ; NFKC_CF; # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-1D2C ; NFKC_CF; 0061 # Lm MODIFIER LETTER CAPITAL A
-1D2D ; NFKC_CF; 00E6 # Lm MODIFIER LETTER CAPITAL AE
-1D2E ; NFKC_CF; 0062 # Lm MODIFIER LETTER CAPITAL B
-1D30 ; NFKC_CF; 0064 # Lm MODIFIER LETTER CAPITAL D
-1D31 ; NFKC_CF; 0065 # Lm MODIFIER LETTER CAPITAL E
-1D32 ; NFKC_CF; 01DD # Lm MODIFIER LETTER CAPITAL REVERSED E
-1D33 ; NFKC_CF; 0067 # Lm MODIFIER LETTER CAPITAL G
-1D34 ; NFKC_CF; 0068 # Lm MODIFIER LETTER CAPITAL H
-1D35 ; NFKC_CF; 0069 # Lm MODIFIER LETTER CAPITAL I
-1D36 ; NFKC_CF; 006A # Lm MODIFIER LETTER CAPITAL J
-1D37 ; NFKC_CF; 006B # Lm MODIFIER LETTER CAPITAL K
-1D38 ; NFKC_CF; 006C # Lm MODIFIER LETTER CAPITAL L
-1D39 ; NFKC_CF; 006D # Lm MODIFIER LETTER CAPITAL M
-1D3A ; NFKC_CF; 006E # Lm MODIFIER LETTER CAPITAL N
-1D3C ; NFKC_CF; 006F # Lm MODIFIER LETTER CAPITAL O
-1D3D ; NFKC_CF; 0223 # Lm MODIFIER LETTER CAPITAL OU
-1D3E ; NFKC_CF; 0070 # Lm MODIFIER LETTER CAPITAL P
-1D3F ; NFKC_CF; 0072 # Lm MODIFIER LETTER CAPITAL R
-1D40 ; NFKC_CF; 0074 # Lm MODIFIER LETTER CAPITAL T
-1D41 ; NFKC_CF; 0075 # Lm MODIFIER LETTER CAPITAL U
-1D42 ; NFKC_CF; 0077 # Lm MODIFIER LETTER CAPITAL W
-1D43 ; NFKC_CF; 0061 # Lm MODIFIER LETTER SMALL A
-1D44 ; NFKC_CF; 0250 # Lm MODIFIER LETTER SMALL TURNED A
-1D45 ; NFKC_CF; 0251 # Lm MODIFIER LETTER SMALL ALPHA
-1D46 ; NFKC_CF; 1D02 # Lm MODIFIER LETTER SMALL TURNED AE
-1D47 ; NFKC_CF; 0062 # Lm MODIFIER LETTER SMALL B
-1D48 ; NFKC_CF; 0064 # Lm MODIFIER LETTER SMALL D
-1D49 ; NFKC_CF; 0065 # Lm MODIFIER LETTER SMALL E
-1D4A ; NFKC_CF; 0259 # Lm MODIFIER LETTER SMALL SCHWA
-1D4B ; NFKC_CF; 025B # Lm MODIFIER LETTER SMALL OPEN E
-1D4C ; NFKC_CF; 025C # Lm MODIFIER LETTER SMALL TURNED OPEN E
-1D4D ; NFKC_CF; 0067 # Lm MODIFIER LETTER SMALL G
-1D4F ; NFKC_CF; 006B # Lm MODIFIER LETTER SMALL K
-1D50 ; NFKC_CF; 006D # Lm MODIFIER LETTER SMALL M
-1D51 ; NFKC_CF; 014B # Lm MODIFIER LETTER SMALL ENG
-1D52 ; NFKC_CF; 006F # Lm MODIFIER LETTER SMALL O
-1D53 ; NFKC_CF; 0254 # Lm MODIFIER LETTER SMALL OPEN O
-1D54 ; NFKC_CF; 1D16 # Lm MODIFIER LETTER SMALL TOP HALF O
-1D55 ; NFKC_CF; 1D17 # Lm MODIFIER LETTER SMALL BOTTOM HALF O
-1D56 ; NFKC_CF; 0070 # Lm MODIFIER LETTER SMALL P
-1D57 ; NFKC_CF; 0074 # Lm MODIFIER LETTER SMALL T
-1D58 ; NFKC_CF; 0075 # Lm MODIFIER LETTER SMALL U
-1D59 ; NFKC_CF; 1D1D # Lm MODIFIER LETTER SMALL SIDEWAYS U
-1D5A ; NFKC_CF; 026F # Lm MODIFIER LETTER SMALL TURNED M
-1D5B ; NFKC_CF; 0076 # Lm MODIFIER LETTER SMALL V
-1D5C ; NFKC_CF; 1D25 # Lm MODIFIER LETTER SMALL AIN
-1D5D ; NFKC_CF; 03B2 # Lm MODIFIER LETTER SMALL BETA
-1D5E ; NFKC_CF; 03B3 # Lm MODIFIER LETTER SMALL GREEK GAMMA
-1D5F ; NFKC_CF; 03B4 # Lm MODIFIER LETTER SMALL DELTA
-1D60 ; NFKC_CF; 03C6 # Lm MODIFIER LETTER SMALL GREEK PHI
-1D61 ; NFKC_CF; 03C7 # Lm MODIFIER LETTER SMALL CHI
-1D62 ; NFKC_CF; 0069 # L& LATIN SUBSCRIPT SMALL LETTER I
-1D63 ; NFKC_CF; 0072 # L& LATIN SUBSCRIPT SMALL LETTER R
-1D64 ; NFKC_CF; 0075 # L& LATIN SUBSCRIPT SMALL LETTER U
-1D65 ; NFKC_CF; 0076 # L& LATIN SUBSCRIPT SMALL LETTER V
-1D66 ; NFKC_CF; 03B2 # L& GREEK SUBSCRIPT SMALL LETTER BETA
-1D67 ; NFKC_CF; 03B3 # L& GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D68 ; NFKC_CF; 03C1 # L& GREEK SUBSCRIPT SMALL LETTER RHO
-1D69 ; NFKC_CF; 03C6 # L& GREEK SUBSCRIPT SMALL LETTER PHI
-1D6A ; NFKC_CF; 03C7 # L& GREEK SUBSCRIPT SMALL LETTER CHI
-1D78 ; NFKC_CF; 043D # Lm MODIFIER LETTER CYRILLIC EN
-1D9B ; NFKC_CF; 0252 # Lm MODIFIER LETTER SMALL TURNED ALPHA
-1D9C ; NFKC_CF; 0063 # Lm MODIFIER LETTER SMALL C
-1D9D ; NFKC_CF; 0255 # Lm MODIFIER LETTER SMALL C WITH CURL
-1D9E ; NFKC_CF; 00F0 # Lm MODIFIER LETTER SMALL ETH
-1D9F ; NFKC_CF; 025C # Lm MODIFIER LETTER SMALL REVERSED OPEN E
-1DA0 ; NFKC_CF; 0066 # Lm MODIFIER LETTER SMALL F
-1DA1 ; NFKC_CF; 025F # Lm MODIFIER LETTER SMALL DOTLESS J WITH STROKE
-1DA2 ; NFKC_CF; 0261 # Lm MODIFIER LETTER SMALL SCRIPT G
-1DA3 ; NFKC_CF; 0265 # Lm MODIFIER LETTER SMALL TURNED H
-1DA4 ; NFKC_CF; 0268 # Lm MODIFIER LETTER SMALL I WITH STROKE
-1DA5 ; NFKC_CF; 0269 # Lm MODIFIER LETTER SMALL IOTA
-1DA6 ; NFKC_CF; 026A # Lm MODIFIER LETTER SMALL CAPITAL I
-1DA7 ; NFKC_CF; 1D7B # Lm MODIFIER LETTER SMALL CAPITAL I WITH STROKE
-1DA8 ; NFKC_CF; 029D # Lm MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-1DA9 ; NFKC_CF; 026D # Lm MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
-1DAA ; NFKC_CF; 1D85 # Lm MODIFIER LETTER SMALL L WITH PALATAL HOOK
-1DAB ; NFKC_CF; 029F # Lm MODIFIER LETTER SMALL CAPITAL L
-1DAC ; NFKC_CF; 0271 # Lm MODIFIER LETTER SMALL M WITH HOOK
-1DAD ; NFKC_CF; 0270 # Lm MODIFIER LETTER SMALL TURNED M WITH LONG LEG
-1DAE ; NFKC_CF; 0272 # Lm MODIFIER LETTER SMALL N WITH LEFT HOOK
-1DAF ; NFKC_CF; 0273 # Lm MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
-1DB0 ; NFKC_CF; 0274 # Lm MODIFIER LETTER SMALL CAPITAL N
-1DB1 ; NFKC_CF; 0275 # Lm MODIFIER LETTER SMALL BARRED O
-1DB2 ; NFKC_CF; 0278 # Lm MODIFIER LETTER SMALL PHI
-1DB3 ; NFKC_CF; 0282 # Lm MODIFIER LETTER SMALL S WITH HOOK
-1DB4 ; NFKC_CF; 0283 # Lm MODIFIER LETTER SMALL ESH
-1DB5 ; NFKC_CF; 01AB # Lm MODIFIER LETTER SMALL T WITH PALATAL HOOK
-1DB6 ; NFKC_CF; 0289 # Lm MODIFIER LETTER SMALL U BAR
-1DB7 ; NFKC_CF; 028A # Lm MODIFIER LETTER SMALL UPSILON
-1DB8 ; NFKC_CF; 1D1C # Lm MODIFIER LETTER SMALL CAPITAL U
-1DB9 ; NFKC_CF; 028B # Lm MODIFIER LETTER SMALL V WITH HOOK
-1DBA ; NFKC_CF; 028C # Lm MODIFIER LETTER SMALL TURNED V
-1DBB ; NFKC_CF; 007A # Lm MODIFIER LETTER SMALL Z
-1DBC ; NFKC_CF; 0290 # Lm MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
-1DBD ; NFKC_CF; 0291 # Lm MODIFIER LETTER SMALL Z WITH CURL
-1DBE ; NFKC_CF; 0292 # Lm MODIFIER LETTER SMALL EZH
-1DBF ; NFKC_CF; 03B8 # Lm MODIFIER LETTER SMALL THETA
-1E00 ; NFKC_CF; 1E01 # L& LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; NFKC_CF; 1E03 # L& LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; NFKC_CF; 1E05 # L& LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; NFKC_CF; 1E07 # L& LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; NFKC_CF; 1E09 # L& LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; NFKC_CF; 1E0B # L& LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; NFKC_CF; 1E0D # L& LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; NFKC_CF; 1E0F # L& LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; NFKC_CF; 1E11 # L& LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; NFKC_CF; 1E13 # L& LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; NFKC_CF; 1E15 # L& LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; NFKC_CF; 1E17 # L& LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; NFKC_CF; 1E19 # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; NFKC_CF; 1E1B # L& LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; NFKC_CF; 1E1D # L& LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; NFKC_CF; 1E1F # L& LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; NFKC_CF; 1E21 # L& LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; NFKC_CF; 1E23 # L& LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; NFKC_CF; 1E25 # L& LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; NFKC_CF; 1E27 # L& LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; NFKC_CF; 1E29 # L& LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; NFKC_CF; 1E2B # L& LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; NFKC_CF; 1E2D # L& LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; NFKC_CF; 1E2F # L& LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; NFKC_CF; 1E31 # L& LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; NFKC_CF; 1E33 # L& LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; NFKC_CF; 1E35 # L& LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; NFKC_CF; 1E37 # L& LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; NFKC_CF; 1E39 # L& LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; NFKC_CF; 1E3B # L& LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; NFKC_CF; 1E3D # L& LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; NFKC_CF; 1E3F # L& LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; NFKC_CF; 1E41 # L& LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; NFKC_CF; 1E43 # L& LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; NFKC_CF; 1E45 # L& LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; NFKC_CF; 1E47 # L& LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; NFKC_CF; 1E49 # L& LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; NFKC_CF; 1E4B # L& LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; NFKC_CF; 1E4D # L& LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; NFKC_CF; 1E4F # L& LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; NFKC_CF; 1E51 # L& LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; NFKC_CF; 1E53 # L& LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; NFKC_CF; 1E55 # L& LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; NFKC_CF; 1E57 # L& LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; NFKC_CF; 1E59 # L& LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; NFKC_CF; 1E5B # L& LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; NFKC_CF; 1E5D # L& LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; NFKC_CF; 1E5F # L& LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; NFKC_CF; 1E61 # L& LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; NFKC_CF; 1E63 # L& LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; NFKC_CF; 1E65 # L& LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; NFKC_CF; 1E67 # L& LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; NFKC_CF; 1E69 # L& LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; NFKC_CF; 1E6B # L& LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; NFKC_CF; 1E6D # L& LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; NFKC_CF; 1E6F # L& LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; NFKC_CF; 1E71 # L& LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; NFKC_CF; 1E73 # L& LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; NFKC_CF; 1E75 # L& LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; NFKC_CF; 1E77 # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; NFKC_CF; 1E79 # L& LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; NFKC_CF; 1E7B # L& LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; NFKC_CF; 1E7D # L& LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; NFKC_CF; 1E7F # L& LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; NFKC_CF; 1E81 # L& LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; NFKC_CF; 1E83 # L& LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; NFKC_CF; 1E85 # L& LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; NFKC_CF; 1E87 # L& LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; NFKC_CF; 1E89 # L& LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; NFKC_CF; 1E8B # L& LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; NFKC_CF; 1E8D # L& LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; NFKC_CF; 1E8F # L& LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; NFKC_CF; 1E91 # L& LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; NFKC_CF; 1E93 # L& LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; NFKC_CF; 1E95 # L& LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9A ; NFKC_CF; 0061 02BE # L& LATIN SMALL LETTER A WITH RIGHT HALF RING
-1E9B ; NFKC_CF; 1E61 # L& LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9E ; NFKC_CF; 0073 0073 # L& LATIN CAPITAL LETTER SHARP S
-1EA0 ; NFKC_CF; 1EA1 # L& LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; NFKC_CF; 1EA3 # L& LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; NFKC_CF; 1EA5 # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; NFKC_CF; 1EA7 # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; NFKC_CF; 1EA9 # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; NFKC_CF; 1EAB # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; NFKC_CF; 1EAD # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; NFKC_CF; 1EAF # L& LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; NFKC_CF; 1EB1 # L& LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; NFKC_CF; 1EB3 # L& LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; NFKC_CF; 1EB5 # L& LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; NFKC_CF; 1EB7 # L& LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; NFKC_CF; 1EB9 # L& LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; NFKC_CF; 1EBB # L& LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; NFKC_CF; 1EBD # L& LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; NFKC_CF; 1EBF # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; NFKC_CF; 1EC1 # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; NFKC_CF; 1EC3 # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; NFKC_CF; 1EC5 # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; NFKC_CF; 1EC7 # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; NFKC_CF; 1EC9 # L& LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; NFKC_CF; 1ECB # L& LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; NFKC_CF; 1ECD # L& LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; NFKC_CF; 1ECF # L& LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; NFKC_CF; 1ED1 # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; NFKC_CF; 1ED3 # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; NFKC_CF; 1ED5 # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; NFKC_CF; 1ED7 # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; NFKC_CF; 1ED9 # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; NFKC_CF; 1EDB # L& LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; NFKC_CF; 1EDD # L& LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; NFKC_CF; 1EDF # L& LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; NFKC_CF; 1EE1 # L& LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; NFKC_CF; 1EE3 # L& LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; NFKC_CF; 1EE5 # L& LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; NFKC_CF; 1EE7 # L& LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; NFKC_CF; 1EE9 # L& LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; NFKC_CF; 1EEB # L& LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; NFKC_CF; 1EED # L& LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; NFKC_CF; 1EEF # L& LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; NFKC_CF; 1EF1 # L& LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; NFKC_CF; 1EF3 # L& LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; NFKC_CF; 1EF5 # L& LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; NFKC_CF; 1EF7 # L& LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; NFKC_CF; 1EF9 # L& LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; NFKC_CF; 1EFB # L& LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; NFKC_CF; 1EFD # L& LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; NFKC_CF; 1EFF # L& LATIN CAPITAL LETTER Y WITH LOOP
-1F08 ; NFKC_CF; 1F00 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI
-1F09 ; NFKC_CF; 1F01 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA
-1F0A ; NFKC_CF; 1F02 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
-1F0B ; NFKC_CF; 1F03 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
-1F0C ; NFKC_CF; 1F04 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
-1F0D ; NFKC_CF; 1F05 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
-1F0E ; NFKC_CF; 1F06 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F0F ; NFKC_CF; 1F07 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18 ; NFKC_CF; 1F10 # L& GREEK CAPITAL LETTER EPSILON WITH PSILI
-1F19 ; NFKC_CF; 1F11 # L& GREEK CAPITAL LETTER EPSILON WITH DASIA
-1F1A ; NFKC_CF; 1F12 # L& GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-1F1B ; NFKC_CF; 1F13 # L& GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-1F1C ; NFKC_CF; 1F14 # L& GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-1F1D ; NFKC_CF; 1F15 # L& GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28 ; NFKC_CF; 1F20 # L& GREEK CAPITAL LETTER ETA WITH PSILI
-1F29 ; NFKC_CF; 1F21 # L& GREEK CAPITAL LETTER ETA WITH DASIA
-1F2A ; NFKC_CF; 1F22 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
-1F2B ; NFKC_CF; 1F23 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
-1F2C ; NFKC_CF; 1F24 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
-1F2D ; NFKC_CF; 1F25 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
-1F2E ; NFKC_CF; 1F26 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
-1F2F ; NFKC_CF; 1F27 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38 ; NFKC_CF; 1F30 # L& GREEK CAPITAL LETTER IOTA WITH PSILI
-1F39 ; NFKC_CF; 1F31 # L& GREEK CAPITAL LETTER IOTA WITH DASIA
-1F3A ; NFKC_CF; 1F32 # L& GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
-1F3B ; NFKC_CF; 1F33 # L& GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
-1F3C ; NFKC_CF; 1F34 # L& GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
-1F3D ; NFKC_CF; 1F35 # L& GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
-1F3E ; NFKC_CF; 1F36 # L& GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F3F ; NFKC_CF; 1F37 # L& GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48 ; NFKC_CF; 1F40 # L& GREEK CAPITAL LETTER OMICRON WITH PSILI
-1F49 ; NFKC_CF; 1F41 # L& GREEK CAPITAL LETTER OMICRON WITH DASIA
-1F4A ; NFKC_CF; 1F42 # L& GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
-1F4B ; NFKC_CF; 1F43 # L& GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
-1F4C ; NFKC_CF; 1F44 # L& GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
-1F4D ; NFKC_CF; 1F45 # L& GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; NFKC_CF; 1F51 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; NFKC_CF; 1F53 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; NFKC_CF; 1F55 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; NFKC_CF; 1F57 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68 ; NFKC_CF; 1F60 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI
-1F69 ; NFKC_CF; 1F61 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA
-1F6A ; NFKC_CF; 1F62 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
-1F6B ; NFKC_CF; 1F63 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
-1F6C ; NFKC_CF; 1F64 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
-1F6D ; NFKC_CF; 1F65 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
-1F6E ; NFKC_CF; 1F66 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F6F ; NFKC_CF; 1F67 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F71 ; NFKC_CF; 03AC # L& GREEK SMALL LETTER ALPHA WITH OXIA
-1F73 ; NFKC_CF; 03AD # L& GREEK SMALL LETTER EPSILON WITH OXIA
-1F75 ; NFKC_CF; 03AE # L& GREEK SMALL LETTER ETA WITH OXIA
-1F77 ; NFKC_CF; 03AF # L& GREEK SMALL LETTER IOTA WITH OXIA
-1F79 ; NFKC_CF; 03CC # L& GREEK SMALL LETTER OMICRON WITH OXIA
-1F7B ; NFKC_CF; 03CD # L& GREEK SMALL LETTER UPSILON WITH OXIA
-1F7D ; NFKC_CF; 03CE # L& GREEK SMALL LETTER OMEGA WITH OXIA
-1F80 ; NFKC_CF; 1F00 03B9 # L& GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
-1F81 ; NFKC_CF; 1F01 03B9 # L& GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
-1F82 ; NFKC_CF; 1F02 03B9 # L& GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F83 ; NFKC_CF; 1F03 03B9 # L& GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F84 ; NFKC_CF; 1F04 03B9 # L& GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F85 ; NFKC_CF; 1F05 03B9 # L& GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F86 ; NFKC_CF; 1F06 03B9 # L& GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F87 ; NFKC_CF; 1F07 03B9 # L& GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F88 ; NFKC_CF; 1F00 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
-1F89 ; NFKC_CF; 1F01 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
-1F8A ; NFKC_CF; 1F02 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F8B ; NFKC_CF; 1F03 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F8C ; NFKC_CF; 1F04 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F8D ; NFKC_CF; 1F05 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F8E ; NFKC_CF; 1F06 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F8F ; NFKC_CF; 1F07 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F90 ; NFKC_CF; 1F20 03B9 # L& GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
-1F91 ; NFKC_CF; 1F21 03B9 # L& GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
-1F92 ; NFKC_CF; 1F22 03B9 # L& GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F93 ; NFKC_CF; 1F23 03B9 # L& GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F94 ; NFKC_CF; 1F24 03B9 # L& GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F95 ; NFKC_CF; 1F25 03B9 # L& GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F96 ; NFKC_CF; 1F26 03B9 # L& GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F97 ; NFKC_CF; 1F27 03B9 # L& GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F98 ; NFKC_CF; 1F20 03B9 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
-1F99 ; NFKC_CF; 1F21 03B9 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
-1F9A ; NFKC_CF; 1F22 03B9 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F9B ; NFKC_CF; 1F23 03B9 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F9C ; NFKC_CF; 1F24 03B9 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F9D ; NFKC_CF; 1F25 03B9 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F9E ; NFKC_CF; 1F26 03B9 # L& GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F9F ; NFKC_CF; 1F27 03B9 # L& GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA0 ; NFKC_CF; 1F60 03B9 # L& GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
-1FA1 ; NFKC_CF; 1F61 03B9 # L& GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
-1FA2 ; NFKC_CF; 1F62 03B9 # L& GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1FA3 ; NFKC_CF; 1F63 03B9 # L& GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1FA4 ; NFKC_CF; 1F64 03B9 # L& GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1FA5 ; NFKC_CF; 1F65 03B9 # L& GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1FA6 ; NFKC_CF; 1F66 03B9 # L& GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1FA7 ; NFKC_CF; 1F67 03B9 # L& GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA8 ; NFKC_CF; 1F60 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
-1FA9 ; NFKC_CF; 1F61 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
-1FAA ; NFKC_CF; 1F62 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1FAB ; NFKC_CF; 1F63 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1FAC ; NFKC_CF; 1F64 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1FAD ; NFKC_CF; 1F65 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1FAE ; NFKC_CF; 1F66 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1FAF ; NFKC_CF; 1F67 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB2 ; NFKC_CF; 1F70 03B9 # L& GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
-1FB3 ; NFKC_CF; 03B1 03B9 # L& GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-1FB4 ; NFKC_CF; 03AC 03B9 # L& GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB7 ; NFKC_CF; 1FB6 03B9 # L& GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FB8 ; NFKC_CF; 1FB0 # L& GREEK CAPITAL LETTER ALPHA WITH VRACHY
-1FB9 ; NFKC_CF; 1FB1 # L& GREEK CAPITAL LETTER ALPHA WITH MACRON
-1FBA ; NFKC_CF; 1F70 # L& GREEK CAPITAL LETTER ALPHA WITH VARIA
-1FBB ; NFKC_CF; 03AC # L& GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBC ; NFKC_CF; 03B1 03B9 # L& GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; NFKC_CF; 0020 0313 # Sk GREEK KORONIS
-1FBE ; NFKC_CF; 03B9 # L& GREEK PROSGEGRAMMENI
-1FBF ; NFKC_CF; 0020 0313 # Sk GREEK PSILI
-1FC0 ; NFKC_CF; 0020 0342 # Sk GREEK PERISPOMENI
-1FC1 ; NFKC_CF; 0020 0308 0342 # Sk GREEK DIALYTIKA AND PERISPOMENI
-1FC2 ; NFKC_CF; 1F74 03B9 # L& GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
-1FC3 ; NFKC_CF; 03B7 03B9 # L& GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
-1FC4 ; NFKC_CF; 03AE 03B9 # L& GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC7 ; NFKC_CF; 1FC6 03B9 # L& GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FC8 ; NFKC_CF; 1F72 # L& GREEK CAPITAL LETTER EPSILON WITH VARIA
-1FC9 ; NFKC_CF; 03AD # L& GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCA ; NFKC_CF; 1F74 # L& GREEK CAPITAL LETTER ETA WITH VARIA
-1FCB ; NFKC_CF; 03AE # L& GREEK CAPITAL LETTER ETA WITH OXIA
-1FCC ; NFKC_CF; 03B7 03B9 # L& GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD ; NFKC_CF; 0020 0313 0300 # Sk GREEK PSILI AND VARIA
-1FCE ; NFKC_CF; 0020 0313 0301 # Sk GREEK PSILI AND OXIA
-1FCF ; NFKC_CF; 0020 0313 0342 # Sk GREEK PSILI AND PERISPOMENI
-1FD3 ; NFKC_CF; 0390 # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD8 ; NFKC_CF; 1FD0 # L& GREEK CAPITAL LETTER IOTA WITH VRACHY
-1FD9 ; NFKC_CF; 1FD1 # L& GREEK CAPITAL LETTER IOTA WITH MACRON
-1FDA ; NFKC_CF; 1F76 # L& GREEK CAPITAL LETTER IOTA WITH VARIA
-1FDB ; NFKC_CF; 03AF # L& GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD ; NFKC_CF; 0020 0314 0300 # Sk GREEK DASIA AND VARIA
-1FDE ; NFKC_CF; 0020 0314 0301 # Sk GREEK DASIA AND OXIA
-1FDF ; NFKC_CF; 0020 0314 0342 # Sk GREEK DASIA AND PERISPOMENI
-1FE3 ; NFKC_CF; 03B0 # L& GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE8 ; NFKC_CF; 1FE0 # L& GREEK CAPITAL LETTER UPSILON WITH VRACHY
-1FE9 ; NFKC_CF; 1FE1 # L& GREEK CAPITAL LETTER UPSILON WITH MACRON
-1FEA ; NFKC_CF; 1F7A # L& GREEK CAPITAL LETTER UPSILON WITH VARIA
-1FEB ; NFKC_CF; 03CD # L& GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FEC ; NFKC_CF; 1FE5 # L& GREEK CAPITAL LETTER RHO WITH DASIA
-1FED ; NFKC_CF; 0020 0308 0300 # Sk GREEK DIALYTIKA AND VARIA
-1FEE ; NFKC_CF; 0020 0308 0301 # Sk GREEK DIALYTIKA AND OXIA
-1FEF ; NFKC_CF; 0060 # Sk GREEK VARIA
-1FF2 ; NFKC_CF; 1F7C 03B9 # L& GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
-1FF3 ; NFKC_CF; 03C9 03B9 # L& GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
-1FF4 ; NFKC_CF; 03CE 03B9 # L& GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF7 ; NFKC_CF; 1FF6 03B9 # L& GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FF8 ; NFKC_CF; 1F78 # L& GREEK CAPITAL LETTER OMICRON WITH VARIA
-1FF9 ; NFKC_CF; 03CC # L& GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFA ; NFKC_CF; 1F7C # L& GREEK CAPITAL LETTER OMEGA WITH VARIA
-1FFB ; NFKC_CF; 03CE # L& GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFC ; NFKC_CF; 03C9 03B9 # L& GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD ; NFKC_CF; 0020 0301 # Sk GREEK OXIA
-1FFE ; NFKC_CF; 0020 0314 # Sk GREEK DASIA
-2000..200A ; NFKC_CF; 0020 # Zs [11] EN QUAD..HAIR SPACE
-200B..200F ; NFKC_CF; # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-2011 ; NFKC_CF; 2010 # Pd NON-BREAKING HYPHEN
-2017 ; NFKC_CF; 0020 0333 # Po DOUBLE LOW LINE
-2024 ; NFKC_CF; 002E # Po ONE DOT LEADER
-2025 ; NFKC_CF; 002E 002E # Po TWO DOT LEADER
-2026 ; NFKC_CF; 002E 002E 002E # Po HORIZONTAL ELLIPSIS
-202A..202E ; NFKC_CF; # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-202F ; NFKC_CF; 0020 # Zs NARROW NO-BREAK SPACE
-2033 ; NFKC_CF; 2032 2032 # Po DOUBLE PRIME
-2034 ; NFKC_CF; 2032 2032 2032 # Po TRIPLE PRIME
-2036 ; NFKC_CF; 2035 2035 # Po REVERSED DOUBLE PRIME
-2037 ; NFKC_CF; 2035 2035 2035 # Po REVERSED TRIPLE PRIME
-203C ; NFKC_CF; 0021 0021 # Po DOUBLE EXCLAMATION MARK
-203E ; NFKC_CF; 0020 0305 # Po OVERLINE
-2047 ; NFKC_CF; 003F 003F # Po DOUBLE QUESTION MARK
-2048 ; NFKC_CF; 003F 0021 # Po QUESTION EXCLAMATION MARK
-2049 ; NFKC_CF; 0021 003F # Po EXCLAMATION QUESTION MARK
-2057 ; NFKC_CF; 2032 2032 2032 2032 #Po QUADRUPLE PRIME
-205F ; NFKC_CF; 0020 # Zs MEDIUM MATHEMATICAL SPACE
-2060..2064 ; NFKC_CF; # Cf [5] WORD JOINER..INVISIBLE PLUS
-2065..2069 ; NFKC_CF; # Cn [5] <reserved-2065>..<reserved-2069>
-206A..206F ; NFKC_CF; # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2070 ; NFKC_CF; 0030 # No SUPERSCRIPT ZERO
-2071 ; NFKC_CF; 0069 # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074 ; NFKC_CF; 0034 # No SUPERSCRIPT FOUR
-2075 ; NFKC_CF; 0035 # No SUPERSCRIPT FIVE
-2076 ; NFKC_CF; 0036 # No SUPERSCRIPT SIX
-2077 ; NFKC_CF; 0037 # No SUPERSCRIPT SEVEN
-2078 ; NFKC_CF; 0038 # No SUPERSCRIPT EIGHT
-2079 ; NFKC_CF; 0039 # No SUPERSCRIPT NINE
-207A ; NFKC_CF; 002B # Sm SUPERSCRIPT PLUS SIGN
-207B ; NFKC_CF; 2212 # Sm SUPERSCRIPT MINUS
-207C ; NFKC_CF; 003D # Sm SUPERSCRIPT EQUALS SIGN
-207D ; NFKC_CF; 0028 # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; NFKC_CF; 0029 # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; NFKC_CF; 006E # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2080 ; NFKC_CF; 0030 # No SUBSCRIPT ZERO
-2081 ; NFKC_CF; 0031 # No SUBSCRIPT ONE
-2082 ; NFKC_CF; 0032 # No SUBSCRIPT TWO
-2083 ; NFKC_CF; 0033 # No SUBSCRIPT THREE
-2084 ; NFKC_CF; 0034 # No SUBSCRIPT FOUR
-2085 ; NFKC_CF; 0035 # No SUBSCRIPT FIVE
-2086 ; NFKC_CF; 0036 # No SUBSCRIPT SIX
-2087 ; NFKC_CF; 0037 # No SUBSCRIPT SEVEN
-2088 ; NFKC_CF; 0038 # No SUBSCRIPT EIGHT
-2089 ; NFKC_CF; 0039 # No SUBSCRIPT NINE
-208A ; NFKC_CF; 002B # Sm SUBSCRIPT PLUS SIGN
-208B ; NFKC_CF; 2212 # Sm SUBSCRIPT MINUS
-208C ; NFKC_CF; 003D # Sm SUBSCRIPT EQUALS SIGN
-208D ; NFKC_CF; 0028 # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; NFKC_CF; 0029 # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090 ; NFKC_CF; 0061 # Lm LATIN SUBSCRIPT SMALL LETTER A
-2091 ; NFKC_CF; 0065 # Lm LATIN SUBSCRIPT SMALL LETTER E
-2092 ; NFKC_CF; 006F # Lm LATIN SUBSCRIPT SMALL LETTER O
-2093 ; NFKC_CF; 0078 # Lm LATIN SUBSCRIPT SMALL LETTER X
-2094 ; NFKC_CF; 0259 # Lm LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A8 ; NFKC_CF; 0072 0073 # Sc RUPEE SIGN
-2100 ; NFKC_CF; 0061 002F 0063 # So ACCOUNT OF
-2101 ; NFKC_CF; 0061 002F 0073 # So ADDRESSED TO THE SUBJECT
-2102 ; NFKC_CF; 0063 # L& DOUBLE-STRUCK CAPITAL C
-2103 ; NFKC_CF; 00B0 0063 # So DEGREE CELSIUS
-2105 ; NFKC_CF; 0063 002F 006F # So CARE OF
-2106 ; NFKC_CF; 0063 002F 0075 # So CADA UNA
-2107 ; NFKC_CF; 025B # L& EULER CONSTANT
-2109 ; NFKC_CF; 00B0 0066 # So DEGREE FAHRENHEIT
-210A ; NFKC_CF; 0067 # L& SCRIPT SMALL G
-210B..210E ; NFKC_CF; 0068 # L& [4] SCRIPT CAPITAL H..PLANCK CONSTANT
-210F ; NFKC_CF; 0127 # L& PLANCK CONSTANT OVER TWO PI
-2110..2111 ; NFKC_CF; 0069 # L& [2] SCRIPT CAPITAL I..BLACK-LETTER CAPITAL I
-2112..2113 ; NFKC_CF; 006C # L& [2] SCRIPT CAPITAL L..SCRIPT SMALL L
-2115 ; NFKC_CF; 006E # L& DOUBLE-STRUCK CAPITAL N
-2116 ; NFKC_CF; 006E 006F # So NUMERO SIGN
-2119 ; NFKC_CF; 0070 # L& DOUBLE-STRUCK CAPITAL P
-211A ; NFKC_CF; 0071 # L& DOUBLE-STRUCK CAPITAL Q
-211B..211D ; NFKC_CF; 0072 # L& [3] SCRIPT CAPITAL R..DOUBLE-STRUCK CAPITAL R
-2120 ; NFKC_CF; 0073 006D # So SERVICE MARK
-2121 ; NFKC_CF; 0074 0065 006C # So TELEPHONE SIGN
-2122 ; NFKC_CF; 0074 006D # So TRADE MARK SIGN
-2124 ; NFKC_CF; 007A # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; NFKC_CF; 03C9 # L& OHM SIGN
-2128 ; NFKC_CF; 007A # L& BLACK-LETTER CAPITAL Z
-212A ; NFKC_CF; 006B # L& KELVIN SIGN
-212B ; NFKC_CF; 00E5 # L& ANGSTROM SIGN
-212C ; NFKC_CF; 0062 # L& SCRIPT CAPITAL B
-212D ; NFKC_CF; 0063 # L& BLACK-LETTER CAPITAL C
-212F..2130 ; NFKC_CF; 0065 # L& [2] SCRIPT SMALL E..SCRIPT CAPITAL E
-2131 ; NFKC_CF; 0066 # L& SCRIPT CAPITAL F
-2132 ; NFKC_CF; 214E # L& TURNED CAPITAL F
-2133 ; NFKC_CF; 006D # L& SCRIPT CAPITAL M
-2134 ; NFKC_CF; 006F # L& SCRIPT SMALL O
-2135 ; NFKC_CF; 05D0 # Lo ALEF SYMBOL
-2136 ; NFKC_CF; 05D1 # Lo BET SYMBOL
-2137 ; NFKC_CF; 05D2 # Lo GIMEL SYMBOL
-2138 ; NFKC_CF; 05D3 # Lo DALET SYMBOL
-2139 ; NFKC_CF; 0069 # L& INFORMATION SOURCE
-213B ; NFKC_CF; 0066 0061 0078 # So FACSIMILE SIGN
-213C ; NFKC_CF; 03C0 # L& DOUBLE-STRUCK SMALL PI
-213D..213E ; NFKC_CF; 03B3 # L& [2] DOUBLE-STRUCK SMALL GAMMA..DOUBLE-STRUCK CAPITAL GAMMA
-213F ; NFKC_CF; 03C0 # L& DOUBLE-STRUCK CAPITAL PI
-2140 ; NFKC_CF; 2211 # Sm DOUBLE-STRUCK N-ARY SUMMATION
-2145..2146 ; NFKC_CF; 0064 # L& [2] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL D
-2147 ; NFKC_CF; 0065 # L& DOUBLE-STRUCK ITALIC SMALL E
-2148 ; NFKC_CF; 0069 # L& DOUBLE-STRUCK ITALIC SMALL I
-2149 ; NFKC_CF; 006A # L& DOUBLE-STRUCK ITALIC SMALL J
-2150 ; NFKC_CF; 0031 2044 0037 # No VULGAR FRACTION ONE SEVENTH
-2151 ; NFKC_CF; 0031 2044 0039 # No VULGAR FRACTION ONE NINTH
-2152 ; NFKC_CF; 0031 2044 0031 0030 #No VULGAR FRACTION ONE TENTH
-2153 ; NFKC_CF; 0031 2044 0033 # No VULGAR FRACTION ONE THIRD
-2154 ; NFKC_CF; 0032 2044 0033 # No VULGAR FRACTION TWO THIRDS
-2155 ; NFKC_CF; 0031 2044 0035 # No VULGAR FRACTION ONE FIFTH
-2156 ; NFKC_CF; 0032 2044 0035 # No VULGAR FRACTION TWO FIFTHS
-2157 ; NFKC_CF; 0033 2044 0035 # No VULGAR FRACTION THREE FIFTHS
-2158 ; NFKC_CF; 0034 2044 0035 # No VULGAR FRACTION FOUR FIFTHS
-2159 ; NFKC_CF; 0031 2044 0036 # No VULGAR FRACTION ONE SIXTH
-215A ; NFKC_CF; 0035 2044 0036 # No VULGAR FRACTION FIVE SIXTHS
-215B ; NFKC_CF; 0031 2044 0038 # No VULGAR FRACTION ONE EIGHTH
-215C ; NFKC_CF; 0033 2044 0038 # No VULGAR FRACTION THREE EIGHTHS
-215D ; NFKC_CF; 0035 2044 0038 # No VULGAR FRACTION FIVE EIGHTHS
-215E ; NFKC_CF; 0037 2044 0038 # No VULGAR FRACTION SEVEN EIGHTHS
-215F ; NFKC_CF; 0031 2044 # No FRACTION NUMERATOR ONE
-2160 ; NFKC_CF; 0069 # Nl ROMAN NUMERAL ONE
-2161 ; NFKC_CF; 0069 0069 # Nl ROMAN NUMERAL TWO
-2162 ; NFKC_CF; 0069 0069 0069 # Nl ROMAN NUMERAL THREE
-2163 ; NFKC_CF; 0069 0076 # Nl ROMAN NUMERAL FOUR
-2164 ; NFKC_CF; 0076 # Nl ROMAN NUMERAL FIVE
-2165 ; NFKC_CF; 0076 0069 # Nl ROMAN NUMERAL SIX
-2166 ; NFKC_CF; 0076 0069 0069 # Nl ROMAN NUMERAL SEVEN
-2167 ; NFKC_CF; 0076 0069 0069 0069 #Nl ROMAN NUMERAL EIGHT
-2168 ; NFKC_CF; 0069 0078 # Nl ROMAN NUMERAL NINE
-2169 ; NFKC_CF; 0078 # Nl ROMAN NUMERAL TEN
-216A ; NFKC_CF; 0078 0069 # Nl ROMAN NUMERAL ELEVEN
-216B ; NFKC_CF; 0078 0069 0069 # Nl ROMAN NUMERAL TWELVE
-216C ; NFKC_CF; 006C # Nl ROMAN NUMERAL FIFTY
-216D ; NFKC_CF; 0063 # Nl ROMAN NUMERAL ONE HUNDRED
-216E ; NFKC_CF; 0064 # Nl ROMAN NUMERAL FIVE HUNDRED
-216F ; NFKC_CF; 006D # Nl ROMAN NUMERAL ONE THOUSAND
-2170 ; NFKC_CF; 0069 # Nl SMALL ROMAN NUMERAL ONE
-2171 ; NFKC_CF; 0069 0069 # Nl SMALL ROMAN NUMERAL TWO
-2172 ; NFKC_CF; 0069 0069 0069 # Nl SMALL ROMAN NUMERAL THREE
-2173 ; NFKC_CF; 0069 0076 # Nl SMALL ROMAN NUMERAL FOUR
-2174 ; NFKC_CF; 0076 # Nl SMALL ROMAN NUMERAL FIVE
-2175 ; NFKC_CF; 0076 0069 # Nl SMALL ROMAN NUMERAL SIX
-2176 ; NFKC_CF; 0076 0069 0069 # Nl SMALL ROMAN NUMERAL SEVEN
-2177 ; NFKC_CF; 0076 0069 0069 0069 #Nl SMALL ROMAN NUMERAL EIGHT
-2178 ; NFKC_CF; 0069 0078 # Nl SMALL ROMAN NUMERAL NINE
-2179 ; NFKC_CF; 0078 # Nl SMALL ROMAN NUMERAL TEN
-217A ; NFKC_CF; 0078 0069 # Nl SMALL ROMAN NUMERAL ELEVEN
-217B ; NFKC_CF; 0078 0069 0069 # Nl SMALL ROMAN NUMERAL TWELVE
-217C ; NFKC_CF; 006C # Nl SMALL ROMAN NUMERAL FIFTY
-217D ; NFKC_CF; 0063 # Nl SMALL ROMAN NUMERAL ONE HUNDRED
-217E ; NFKC_CF; 0064 # Nl SMALL ROMAN NUMERAL FIVE HUNDRED
-217F ; NFKC_CF; 006D # Nl SMALL ROMAN NUMERAL ONE THOUSAND
-2183 ; NFKC_CF; 2184 # L& ROMAN NUMERAL REVERSED ONE HUNDRED
-2189 ; NFKC_CF; 0030 2044 0033 # No VULGAR FRACTION ZERO THIRDS
-222C ; NFKC_CF; 222B 222B # Sm DOUBLE INTEGRAL
-222D ; NFKC_CF; 222B 222B 222B # Sm TRIPLE INTEGRAL
-222F ; NFKC_CF; 222E 222E # Sm SURFACE INTEGRAL
-2230 ; NFKC_CF; 222E 222E 222E # Sm VOLUME INTEGRAL
-2329 ; NFKC_CF; 3008 # Ps LEFT-POINTING ANGLE BRACKET
-232A ; NFKC_CF; 3009 # Pe RIGHT-POINTING ANGLE BRACKET
-2460 ; NFKC_CF; 0031 # No CIRCLED DIGIT ONE
-2461 ; NFKC_CF; 0032 # No CIRCLED DIGIT TWO
-2462 ; NFKC_CF; 0033 # No CIRCLED DIGIT THREE
-2463 ; NFKC_CF; 0034 # No CIRCLED DIGIT FOUR
-2464 ; NFKC_CF; 0035 # No CIRCLED DIGIT FIVE
-2465 ; NFKC_CF; 0036 # No CIRCLED DIGIT SIX
-2466 ; NFKC_CF; 0037 # No CIRCLED DIGIT SEVEN
-2467 ; NFKC_CF; 0038 # No CIRCLED DIGIT EIGHT
-2468 ; NFKC_CF; 0039 # No CIRCLED DIGIT NINE
-2469 ; NFKC_CF; 0031 0030 # No CIRCLED NUMBER TEN
-246A ; NFKC_CF; 0031 0031 # No CIRCLED NUMBER ELEVEN
-246B ; NFKC_CF; 0031 0032 # No CIRCLED NUMBER TWELVE
-246C ; NFKC_CF; 0031 0033 # No CIRCLED NUMBER THIRTEEN
-246D ; NFKC_CF; 0031 0034 # No CIRCLED NUMBER FOURTEEN
-246E ; NFKC_CF; 0031 0035 # No CIRCLED NUMBER FIFTEEN
-246F ; NFKC_CF; 0031 0036 # No CIRCLED NUMBER SIXTEEN
-2470 ; NFKC_CF; 0031 0037 # No CIRCLED NUMBER SEVENTEEN
-2471 ; NFKC_CF; 0031 0038 # No CIRCLED NUMBER EIGHTEEN
-2472 ; NFKC_CF; 0031 0039 # No CIRCLED NUMBER NINETEEN
-2473 ; NFKC_CF; 0032 0030 # No CIRCLED NUMBER TWENTY
-2474 ; NFKC_CF; 0028 0031 0029 # No PARENTHESIZED DIGIT ONE
-2475 ; NFKC_CF; 0028 0032 0029 # No PARENTHESIZED DIGIT TWO
-2476 ; NFKC_CF; 0028 0033 0029 # No PARENTHESIZED DIGIT THREE
-2477 ; NFKC_CF; 0028 0034 0029 # No PARENTHESIZED DIGIT FOUR
-2478 ; NFKC_CF; 0028 0035 0029 # No PARENTHESIZED DIGIT FIVE
-2479 ; NFKC_CF; 0028 0036 0029 # No PARENTHESIZED DIGIT SIX
-247A ; NFKC_CF; 0028 0037 0029 # No PARENTHESIZED DIGIT SEVEN
-247B ; NFKC_CF; 0028 0038 0029 # No PARENTHESIZED DIGIT EIGHT
-247C ; NFKC_CF; 0028 0039 0029 # No PARENTHESIZED DIGIT NINE
-247D ; NFKC_CF; 0028 0031 0030 0029 #No PARENTHESIZED NUMBER TEN
-247E ; NFKC_CF; 0028 0031 0031 0029 #No PARENTHESIZED NUMBER ELEVEN
-247F ; NFKC_CF; 0028 0031 0032 0029 #No PARENTHESIZED NUMBER TWELVE
-2480 ; NFKC_CF; 0028 0031 0033 0029 #No PARENTHESIZED NUMBER THIRTEEN
-2481 ; NFKC_CF; 0028 0031 0034 0029 #No PARENTHESIZED NUMBER FOURTEEN
-2482 ; NFKC_CF; 0028 0031 0035 0029 #No PARENTHESIZED NUMBER FIFTEEN
-2483 ; NFKC_CF; 0028 0031 0036 0029 #No PARENTHESIZED NUMBER SIXTEEN
-2484 ; NFKC_CF; 0028 0031 0037 0029 #No PARENTHESIZED NUMBER SEVENTEEN
-2485 ; NFKC_CF; 0028 0031 0038 0029 #No PARENTHESIZED NUMBER EIGHTEEN
-2486 ; NFKC_CF; 0028 0031 0039 0029 #No PARENTHESIZED NUMBER NINETEEN
-2487 ; NFKC_CF; 0028 0032 0030 0029 #No PARENTHESIZED NUMBER TWENTY
-2488 ; NFKC_CF; 0031 002E # No DIGIT ONE FULL STOP
-2489 ; NFKC_CF; 0032 002E # No DIGIT TWO FULL STOP
-248A ; NFKC_CF; 0033 002E # No DIGIT THREE FULL STOP
-248B ; NFKC_CF; 0034 002E # No DIGIT FOUR FULL STOP
-248C ; NFKC_CF; 0035 002E # No DIGIT FIVE FULL STOP
-248D ; NFKC_CF; 0036 002E # No DIGIT SIX FULL STOP
-248E ; NFKC_CF; 0037 002E # No DIGIT SEVEN FULL STOP
-248F ; NFKC_CF; 0038 002E # No DIGIT EIGHT FULL STOP
-2490 ; NFKC_CF; 0039 002E # No DIGIT NINE FULL STOP
-2491 ; NFKC_CF; 0031 0030 002E # No NUMBER TEN FULL STOP
-2492 ; NFKC_CF; 0031 0031 002E # No NUMBER ELEVEN FULL STOP
-2493 ; NFKC_CF; 0031 0032 002E # No NUMBER TWELVE FULL STOP
-2494 ; NFKC_CF; 0031 0033 002E # No NUMBER THIRTEEN FULL STOP
-2495 ; NFKC_CF; 0031 0034 002E # No NUMBER FOURTEEN FULL STOP
-2496 ; NFKC_CF; 0031 0035 002E # No NUMBER FIFTEEN FULL STOP
-2497 ; NFKC_CF; 0031 0036 002E # No NUMBER SIXTEEN FULL STOP
-2498 ; NFKC_CF; 0031 0037 002E # No NUMBER SEVENTEEN FULL STOP
-2499 ; NFKC_CF; 0031 0038 002E # No NUMBER EIGHTEEN FULL STOP
-249A ; NFKC_CF; 0031 0039 002E # No NUMBER NINETEEN FULL STOP
-249B ; NFKC_CF; 0032 0030 002E # No NUMBER TWENTY FULL STOP
-249C ; NFKC_CF; 0028 0061 0029 # So PARENTHESIZED LATIN SMALL LETTER A
-249D ; NFKC_CF; 0028 0062 0029 # So PARENTHESIZED LATIN SMALL LETTER B
-249E ; NFKC_CF; 0028 0063 0029 # So PARENTHESIZED LATIN SMALL LETTER C
-249F ; NFKC_CF; 0028 0064 0029 # So PARENTHESIZED LATIN SMALL LETTER D
-24A0 ; NFKC_CF; 0028 0065 0029 # So PARENTHESIZED LATIN SMALL LETTER E
-24A1 ; NFKC_CF; 0028 0066 0029 # So PARENTHESIZED LATIN SMALL LETTER F
-24A2 ; NFKC_CF; 0028 0067 0029 # So PARENTHESIZED LATIN SMALL LETTER G
-24A3 ; NFKC_CF; 0028 0068 0029 # So PARENTHESIZED LATIN SMALL LETTER H
-24A4 ; NFKC_CF; 0028 0069 0029 # So PARENTHESIZED LATIN SMALL LETTER I
-24A5 ; NFKC_CF; 0028 006A 0029 # So PARENTHESIZED LATIN SMALL LETTER J
-24A6 ; NFKC_CF; 0028 006B 0029 # So PARENTHESIZED LATIN SMALL LETTER K
-24A7 ; NFKC_CF; 0028 006C 0029 # So PARENTHESIZED LATIN SMALL LETTER L
-24A8 ; NFKC_CF; 0028 006D 0029 # So PARENTHESIZED LATIN SMALL LETTER M
-24A9 ; NFKC_CF; 0028 006E 0029 # So PARENTHESIZED LATIN SMALL LETTER N
-24AA ; NFKC_CF; 0028 006F 0029 # So PARENTHESIZED LATIN SMALL LETTER O
-24AB ; NFKC_CF; 0028 0070 0029 # So PARENTHESIZED LATIN SMALL LETTER P
-24AC ; NFKC_CF; 0028 0071 0029 # So PARENTHESIZED LATIN SMALL LETTER Q
-24AD ; NFKC_CF; 0028 0072 0029 # So PARENTHESIZED LATIN SMALL LETTER R
-24AE ; NFKC_CF; 0028 0073 0029 # So PARENTHESIZED LATIN SMALL LETTER S
-24AF ; NFKC_CF; 0028 0074 0029 # So PARENTHESIZED LATIN SMALL LETTER T
-24B0 ; NFKC_CF; 0028 0075 0029 # So PARENTHESIZED LATIN SMALL LETTER U
-24B1 ; NFKC_CF; 0028 0076 0029 # So PARENTHESIZED LATIN SMALL LETTER V
-24B2 ; NFKC_CF; 0028 0077 0029 # So PARENTHESIZED LATIN SMALL LETTER W
-24B3 ; NFKC_CF; 0028 0078 0029 # So PARENTHESIZED LATIN SMALL LETTER X
-24B4 ; NFKC_CF; 0028 0079 0029 # So PARENTHESIZED LATIN SMALL LETTER Y
-24B5 ; NFKC_CF; 0028 007A 0029 # So PARENTHESIZED LATIN SMALL LETTER Z
-24B6 ; NFKC_CF; 0061 # So CIRCLED LATIN CAPITAL LETTER A
-24B7 ; NFKC_CF; 0062 # So CIRCLED LATIN CAPITAL LETTER B
-24B8 ; NFKC_CF; 0063 # So CIRCLED LATIN CAPITAL LETTER C
-24B9 ; NFKC_CF; 0064 # So CIRCLED LATIN CAPITAL LETTER D
-24BA ; NFKC_CF; 0065 # So CIRCLED LATIN CAPITAL LETTER E
-24BB ; NFKC_CF; 0066 # So CIRCLED LATIN CAPITAL LETTER F
-24BC ; NFKC_CF; 0067 # So CIRCLED LATIN CAPITAL LETTER G
-24BD ; NFKC_CF; 0068 # So CIRCLED LATIN CAPITAL LETTER H
-24BE ; NFKC_CF; 0069 # So CIRCLED LATIN CAPITAL LETTER I
-24BF ; NFKC_CF; 006A # So CIRCLED LATIN CAPITAL LETTER J
-24C0 ; NFKC_CF; 006B # So CIRCLED LATIN CAPITAL LETTER K
-24C1 ; NFKC_CF; 006C # So CIRCLED LATIN CAPITAL LETTER L
-24C2 ; NFKC_CF; 006D # So CIRCLED LATIN CAPITAL LETTER M
-24C3 ; NFKC_CF; 006E # So CIRCLED LATIN CAPITAL LETTER N
-24C4 ; NFKC_CF; 006F # So CIRCLED LATIN CAPITAL LETTER O
-24C5 ; NFKC_CF; 0070 # So CIRCLED LATIN CAPITAL LETTER P
-24C6 ; NFKC_CF; 0071 # So CIRCLED LATIN CAPITAL LETTER Q
-24C7 ; NFKC_CF; 0072 # So CIRCLED LATIN CAPITAL LETTER R
-24C8 ; NFKC_CF; 0073 # So CIRCLED LATIN CAPITAL LETTER S
-24C9 ; NFKC_CF; 0074 # So CIRCLED LATIN CAPITAL LETTER T
-24CA ; NFKC_CF; 0075 # So CIRCLED LATIN CAPITAL LETTER U
-24CB ; NFKC_CF; 0076 # So CIRCLED LATIN CAPITAL LETTER V
-24CC ; NFKC_CF; 0077 # So CIRCLED LATIN CAPITAL LETTER W
-24CD ; NFKC_CF; 0078 # So CIRCLED LATIN CAPITAL LETTER X
-24CE ; NFKC_CF; 0079 # So CIRCLED LATIN CAPITAL LETTER Y
-24CF ; NFKC_CF; 007A # So CIRCLED LATIN CAPITAL LETTER Z
-24D0 ; NFKC_CF; 0061 # So CIRCLED LATIN SMALL LETTER A
-24D1 ; NFKC_CF; 0062 # So CIRCLED LATIN SMALL LETTER B
-24D2 ; NFKC_CF; 0063 # So CIRCLED LATIN SMALL LETTER C
-24D3 ; NFKC_CF; 0064 # So CIRCLED LATIN SMALL LETTER D
-24D4 ; NFKC_CF; 0065 # So CIRCLED LATIN SMALL LETTER E
-24D5 ; NFKC_CF; 0066 # So CIRCLED LATIN SMALL LETTER F
-24D6 ; NFKC_CF; 0067 # So CIRCLED LATIN SMALL LETTER G
-24D7 ; NFKC_CF; 0068 # So CIRCLED LATIN SMALL LETTER H
-24D8 ; NFKC_CF; 0069 # So CIRCLED LATIN SMALL LETTER I
-24D9 ; NFKC_CF; 006A # So CIRCLED LATIN SMALL LETTER J
-24DA ; NFKC_CF; 006B # So CIRCLED LATIN SMALL LETTER K
-24DB ; NFKC_CF; 006C # So CIRCLED LATIN SMALL LETTER L
-24DC ; NFKC_CF; 006D # So CIRCLED LATIN SMALL LETTER M
-24DD ; NFKC_CF; 006E # So CIRCLED LATIN SMALL LETTER N
-24DE ; NFKC_CF; 006F # So CIRCLED LATIN SMALL LETTER O
-24DF ; NFKC_CF; 0070 # So CIRCLED LATIN SMALL LETTER P
-24E0 ; NFKC_CF; 0071 # So CIRCLED LATIN SMALL LETTER Q
-24E1 ; NFKC_CF; 0072 # So CIRCLED LATIN SMALL LETTER R
-24E2 ; NFKC_CF; 0073 # So CIRCLED LATIN SMALL LETTER S
-24E3 ; NFKC_CF; 0074 # So CIRCLED LATIN SMALL LETTER T
-24E4 ; NFKC_CF; 0075 # So CIRCLED LATIN SMALL LETTER U
-24E5 ; NFKC_CF; 0076 # So CIRCLED LATIN SMALL LETTER V
-24E6 ; NFKC_CF; 0077 # So CIRCLED LATIN SMALL LETTER W
-24E7 ; NFKC_CF; 0078 # So CIRCLED LATIN SMALL LETTER X
-24E8 ; NFKC_CF; 0079 # So CIRCLED LATIN SMALL LETTER Y
-24E9 ; NFKC_CF; 007A # So CIRCLED LATIN SMALL LETTER Z
-24EA ; NFKC_CF; 0030 # No CIRCLED DIGIT ZERO
-2A0C ; NFKC_CF; 222B 222B 222B 222B #Sm QUADRUPLE INTEGRAL OPERATOR
-2A74 ; NFKC_CF; 003A 003A 003D # Sm DOUBLE COLON EQUAL
-2A75 ; NFKC_CF; 003D 003D # Sm TWO CONSECUTIVE EQUALS SIGNS
-2A76 ; NFKC_CF; 003D 003D 003D # Sm THREE CONSECUTIVE EQUALS SIGNS
-2ADC ; NFKC_CF; 2ADD 0338 # Sm FORKING
-2C00 ; NFKC_CF; 2C30 # L& GLAGOLITIC CAPITAL LETTER AZU
-2C01 ; NFKC_CF; 2C31 # L& GLAGOLITIC CAPITAL LETTER BUKY
-2C02 ; NFKC_CF; 2C32 # L& GLAGOLITIC CAPITAL LETTER VEDE
-2C03 ; NFKC_CF; 2C33 # L& GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C04 ; NFKC_CF; 2C34 # L& GLAGOLITIC CAPITAL LETTER DOBRO
-2C05 ; NFKC_CF; 2C35 # L& GLAGOLITIC CAPITAL LETTER YESTU
-2C06 ; NFKC_CF; 2C36 # L& GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C07 ; NFKC_CF; 2C37 # L& GLAGOLITIC CAPITAL LETTER DZELO
-2C08 ; NFKC_CF; 2C38 # L& GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C09 ; NFKC_CF; 2C39 # L& GLAGOLITIC CAPITAL LETTER IZHE
-2C0A ; NFKC_CF; 2C3A # L& GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C0B ; NFKC_CF; 2C3B # L& GLAGOLITIC CAPITAL LETTER I
-2C0C ; NFKC_CF; 2C3C # L& GLAGOLITIC CAPITAL LETTER DJERVI
-2C0D ; NFKC_CF; 2C3D # L& GLAGOLITIC CAPITAL LETTER KAKO
-2C0E ; NFKC_CF; 2C3E # L& GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C0F ; NFKC_CF; 2C3F # L& GLAGOLITIC CAPITAL LETTER MYSLITE
-2C10 ; NFKC_CF; 2C40 # L& GLAGOLITIC CAPITAL LETTER NASHI
-2C11 ; NFKC_CF; 2C41 # L& GLAGOLITIC CAPITAL LETTER ONU
-2C12 ; NFKC_CF; 2C42 # L& GLAGOLITIC CAPITAL LETTER POKOJI
-2C13 ; NFKC_CF; 2C43 # L& GLAGOLITIC CAPITAL LETTER RITSI
-2C14 ; NFKC_CF; 2C44 # L& GLAGOLITIC CAPITAL LETTER SLOVO
-2C15 ; NFKC_CF; 2C45 # L& GLAGOLITIC CAPITAL LETTER TVRIDO
-2C16 ; NFKC_CF; 2C46 # L& GLAGOLITIC CAPITAL LETTER UKU
-2C17 ; NFKC_CF; 2C47 # L& GLAGOLITIC CAPITAL LETTER FRITU
-2C18 ; NFKC_CF; 2C48 # L& GLAGOLITIC CAPITAL LETTER HERU
-2C19 ; NFKC_CF; 2C49 # L& GLAGOLITIC CAPITAL LETTER OTU
-2C1A ; NFKC_CF; 2C4A # L& GLAGOLITIC CAPITAL LETTER PE
-2C1B ; NFKC_CF; 2C4B # L& GLAGOLITIC CAPITAL LETTER SHTA
-2C1C ; NFKC_CF; 2C4C # L& GLAGOLITIC CAPITAL LETTER TSI
-2C1D ; NFKC_CF; 2C4D # L& GLAGOLITIC CAPITAL LETTER CHRIVI
-2C1E ; NFKC_CF; 2C4E # L& GLAGOLITIC CAPITAL LETTER SHA
-2C1F ; NFKC_CF; 2C4F # L& GLAGOLITIC CAPITAL LETTER YERU
-2C20 ; NFKC_CF; 2C50 # L& GLAGOLITIC CAPITAL LETTER YERI
-2C21 ; NFKC_CF; 2C51 # L& GLAGOLITIC CAPITAL LETTER YATI
-2C22 ; NFKC_CF; 2C52 # L& GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C23 ; NFKC_CF; 2C53 # L& GLAGOLITIC CAPITAL LETTER YU
-2C24 ; NFKC_CF; 2C54 # L& GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C25 ; NFKC_CF; 2C55 # L& GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C26 ; NFKC_CF; 2C56 # L& GLAGOLITIC CAPITAL LETTER YO
-2C27 ; NFKC_CF; 2C57 # L& GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C28 ; NFKC_CF; 2C58 # L& GLAGOLITIC CAPITAL LETTER BIG YUS
-2C29 ; NFKC_CF; 2C59 # L& GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C2A ; NFKC_CF; 2C5A # L& GLAGOLITIC CAPITAL LETTER FITA
-2C2B ; NFKC_CF; 2C5B # L& GLAGOLITIC CAPITAL LETTER IZHITSA
-2C2C ; NFKC_CF; 2C5C # L& GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C2D ; NFKC_CF; 2C5D # L& GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C2E ; NFKC_CF; 2C5E # L& GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; NFKC_CF; 2C61 # L& LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62 ; NFKC_CF; 026B # L& LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-2C63 ; NFKC_CF; 1D7D # L& LATIN CAPITAL LETTER P WITH STROKE
-2C64 ; NFKC_CF; 027D # L& LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; NFKC_CF; 2C68 # L& LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; NFKC_CF; 2C6A # L& LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; NFKC_CF; 2C6C # L& LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D ; NFKC_CF; 0251 # L& LATIN CAPITAL LETTER ALPHA
-2C6E ; NFKC_CF; 0271 # L& LATIN CAPITAL LETTER M WITH HOOK
-2C6F ; NFKC_CF; 0250 # L& LATIN CAPITAL LETTER TURNED A
-2C70 ; NFKC_CF; 0252 # L& LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; NFKC_CF; 2C73 # L& LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; NFKC_CF; 2C76 # L& LATIN CAPITAL LETTER HALF H
-2C7C ; NFKC_CF; 006A # L& LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; NFKC_CF; 0076 # Lm MODIFIER LETTER CAPITAL V
-2C7E ; NFKC_CF; 023F # L& LATIN CAPITAL LETTER S WITH SWASH TAIL
-2C7F ; NFKC_CF; 0240 # L& LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C80 ; NFKC_CF; 2C81 # L& COPTIC CAPITAL LETTER ALFA
-2C82 ; NFKC_CF; 2C83 # L& COPTIC CAPITAL LETTER VIDA
-2C84 ; NFKC_CF; 2C85 # L& COPTIC CAPITAL LETTER GAMMA
-2C86 ; NFKC_CF; 2C87 # L& COPTIC CAPITAL LETTER DALDA
-2C88 ; NFKC_CF; 2C89 # L& COPTIC CAPITAL LETTER EIE
-2C8A ; NFKC_CF; 2C8B # L& COPTIC CAPITAL LETTER SOU
-2C8C ; NFKC_CF; 2C8D # L& COPTIC CAPITAL LETTER ZATA
-2C8E ; NFKC_CF; 2C8F # L& COPTIC CAPITAL LETTER HATE
-2C90 ; NFKC_CF; 2C91 # L& COPTIC CAPITAL LETTER THETHE
-2C92 ; NFKC_CF; 2C93 # L& COPTIC CAPITAL LETTER IAUDA
-2C94 ; NFKC_CF; 2C95 # L& COPTIC CAPITAL LETTER KAPA
-2C96 ; NFKC_CF; 2C97 # L& COPTIC CAPITAL LETTER LAULA
-2C98 ; NFKC_CF; 2C99 # L& COPTIC CAPITAL LETTER MI
-2C9A ; NFKC_CF; 2C9B # L& COPTIC CAPITAL LETTER NI
-2C9C ; NFKC_CF; 2C9D # L& COPTIC CAPITAL LETTER KSI
-2C9E ; NFKC_CF; 2C9F # L& COPTIC CAPITAL LETTER O
-2CA0 ; NFKC_CF; 2CA1 # L& COPTIC CAPITAL LETTER PI
-2CA2 ; NFKC_CF; 2CA3 # L& COPTIC CAPITAL LETTER RO
-2CA4 ; NFKC_CF; 2CA5 # L& COPTIC CAPITAL LETTER SIMA
-2CA6 ; NFKC_CF; 2CA7 # L& COPTIC CAPITAL LETTER TAU
-2CA8 ; NFKC_CF; 2CA9 # L& COPTIC CAPITAL LETTER UA
-2CAA ; NFKC_CF; 2CAB # L& COPTIC CAPITAL LETTER FI
-2CAC ; NFKC_CF; 2CAD # L& COPTIC CAPITAL LETTER KHI
-2CAE ; NFKC_CF; 2CAF # L& COPTIC CAPITAL LETTER PSI
-2CB0 ; NFKC_CF; 2CB1 # L& COPTIC CAPITAL LETTER OOU
-2CB2 ; NFKC_CF; 2CB3 # L& COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; NFKC_CF; 2CB5 # L& COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; NFKC_CF; 2CB7 # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; NFKC_CF; 2CB9 # L& COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; NFKC_CF; 2CBB # L& COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; NFKC_CF; 2CBD # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; NFKC_CF; 2CBF # L& COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; NFKC_CF; 2CC1 # L& COPTIC CAPITAL LETTER SAMPI
-2CC2 ; NFKC_CF; 2CC3 # L& COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; NFKC_CF; 2CC5 # L& COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; NFKC_CF; 2CC7 # L& COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; NFKC_CF; 2CC9 # L& COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; NFKC_CF; 2CCB # L& COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; NFKC_CF; 2CCD # L& COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; NFKC_CF; 2CCF # L& COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; NFKC_CF; 2CD1 # L& COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; NFKC_CF; 2CD3 # L& COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; NFKC_CF; 2CD5 # L& COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; NFKC_CF; 2CD7 # L& COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; NFKC_CF; 2CD9 # L& COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; NFKC_CF; 2CDB # L& COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; NFKC_CF; 2CDD # L& COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; NFKC_CF; 2CDF # L& COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; NFKC_CF; 2CE1 # L& COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; NFKC_CF; 2CE3 # L& COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; NFKC_CF; 2CEC # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; NFKC_CF; 2CEE # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2D6F ; NFKC_CF; 2D61 # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2E9F ; NFKC_CF; 6BCD # So CJK RADICAL MOTHER
-2EF3 ; NFKC_CF; 9F9F # So CJK RADICAL C-SIMPLIFIED TURTLE
-2F00 ; NFKC_CF; 4E00 # So KANGXI RADICAL ONE
-2F01 ; NFKC_CF; 4E28 # So KANGXI RADICAL LINE
-2F02 ; NFKC_CF; 4E36 # So KANGXI RADICAL DOT
-2F03 ; NFKC_CF; 4E3F # So KANGXI RADICAL SLASH
-2F04 ; NFKC_CF; 4E59 # So KANGXI RADICAL SECOND
-2F05 ; NFKC_CF; 4E85 # So KANGXI RADICAL HOOK
-2F06 ; NFKC_CF; 4E8C # So KANGXI RADICAL TWO
-2F07 ; NFKC_CF; 4EA0 # So KANGXI RADICAL LID
-2F08 ; NFKC_CF; 4EBA # So KANGXI RADICAL MAN
-2F09 ; NFKC_CF; 513F # So KANGXI RADICAL LEGS
-2F0A ; NFKC_CF; 5165 # So KANGXI RADICAL ENTER
-2F0B ; NFKC_CF; 516B # So KANGXI RADICAL EIGHT
-2F0C ; NFKC_CF; 5182 # So KANGXI RADICAL DOWN BOX
-2F0D ; NFKC_CF; 5196 # So KANGXI RADICAL COVER
-2F0E ; NFKC_CF; 51AB # So KANGXI RADICAL ICE
-2F0F ; NFKC_CF; 51E0 # So KANGXI RADICAL TABLE
-2F10 ; NFKC_CF; 51F5 # So KANGXI RADICAL OPEN BOX
-2F11 ; NFKC_CF; 5200 # So KANGXI RADICAL KNIFE
-2F12 ; NFKC_CF; 529B # So KANGXI RADICAL POWER
-2F13 ; NFKC_CF; 52F9 # So KANGXI RADICAL WRAP
-2F14 ; NFKC_CF; 5315 # So KANGXI RADICAL SPOON
-2F15 ; NFKC_CF; 531A # So KANGXI RADICAL RIGHT OPEN BOX
-2F16 ; NFKC_CF; 5338 # So KANGXI RADICAL HIDING ENCLOSURE
-2F17 ; NFKC_CF; 5341 # So KANGXI RADICAL TEN
-2F18 ; NFKC_CF; 535C # So KANGXI RADICAL DIVINATION
-2F19 ; NFKC_CF; 5369 # So KANGXI RADICAL SEAL
-2F1A ; NFKC_CF; 5382 # So KANGXI RADICAL CLIFF
-2F1B ; NFKC_CF; 53B6 # So KANGXI RADICAL PRIVATE
-2F1C ; NFKC_CF; 53C8 # So KANGXI RADICAL AGAIN
-2F1D ; NFKC_CF; 53E3 # So KANGXI RADICAL MOUTH
-2F1E ; NFKC_CF; 56D7 # So KANGXI RADICAL ENCLOSURE
-2F1F ; NFKC_CF; 571F # So KANGXI RADICAL EARTH
-2F20 ; NFKC_CF; 58EB # So KANGXI RADICAL SCHOLAR
-2F21 ; NFKC_CF; 5902 # So KANGXI RADICAL GO
-2F22 ; NFKC_CF; 590A # So KANGXI RADICAL GO SLOWLY
-2F23 ; NFKC_CF; 5915 # So KANGXI RADICAL EVENING
-2F24 ; NFKC_CF; 5927 # So KANGXI RADICAL BIG
-2F25 ; NFKC_CF; 5973 # So KANGXI RADICAL WOMAN
-2F26 ; NFKC_CF; 5B50 # So KANGXI RADICAL CHILD
-2F27 ; NFKC_CF; 5B80 # So KANGXI RADICAL ROOF
-2F28 ; NFKC_CF; 5BF8 # So KANGXI RADICAL INCH
-2F29 ; NFKC_CF; 5C0F # So KANGXI RADICAL SMALL
-2F2A ; NFKC_CF; 5C22 # So KANGXI RADICAL LAME
-2F2B ; NFKC_CF; 5C38 # So KANGXI RADICAL CORPSE
-2F2C ; NFKC_CF; 5C6E # So KANGXI RADICAL SPROUT
-2F2D ; NFKC_CF; 5C71 # So KANGXI RADICAL MOUNTAIN
-2F2E ; NFKC_CF; 5DDB # So KANGXI RADICAL RIVER
-2F2F ; NFKC_CF; 5DE5 # So KANGXI RADICAL WORK
-2F30 ; NFKC_CF; 5DF1 # So KANGXI RADICAL ONESELF
-2F31 ; NFKC_CF; 5DFE # So KANGXI RADICAL TURBAN
-2F32 ; NFKC_CF; 5E72 # So KANGXI RADICAL DRY
-2F33 ; NFKC_CF; 5E7A # So KANGXI RADICAL SHORT THREAD
-2F34 ; NFKC_CF; 5E7F # So KANGXI RADICAL DOTTED CLIFF
-2F35 ; NFKC_CF; 5EF4 # So KANGXI RADICAL LONG STRIDE
-2F36 ; NFKC_CF; 5EFE # So KANGXI RADICAL TWO HANDS
-2F37 ; NFKC_CF; 5F0B # So KANGXI RADICAL SHOOT
-2F38 ; NFKC_CF; 5F13 # So KANGXI RADICAL BOW
-2F39 ; NFKC_CF; 5F50 # So KANGXI RADICAL SNOUT
-2F3A ; NFKC_CF; 5F61 # So KANGXI RADICAL BRISTLE
-2F3B ; NFKC_CF; 5F73 # So KANGXI RADICAL STEP
-2F3C ; NFKC_CF; 5FC3 # So KANGXI RADICAL HEART
-2F3D ; NFKC_CF; 6208 # So KANGXI RADICAL HALBERD
-2F3E ; NFKC_CF; 6236 # So KANGXI RADICAL DOOR
-2F3F ; NFKC_CF; 624B # So KANGXI RADICAL HAND
-2F40 ; NFKC_CF; 652F # So KANGXI RADICAL BRANCH
-2F41 ; NFKC_CF; 6534 # So KANGXI RADICAL RAP
-2F42 ; NFKC_CF; 6587 # So KANGXI RADICAL SCRIPT
-2F43 ; NFKC_CF; 6597 # So KANGXI RADICAL DIPPER
-2F44 ; NFKC_CF; 65A4 # So KANGXI RADICAL AXE
-2F45 ; NFKC_CF; 65B9 # So KANGXI RADICAL SQUARE
-2F46 ; NFKC_CF; 65E0 # So KANGXI RADICAL NOT
-2F47 ; NFKC_CF; 65E5 # So KANGXI RADICAL SUN
-2F48 ; NFKC_CF; 66F0 # So KANGXI RADICAL SAY
-2F49 ; NFKC_CF; 6708 # So KANGXI RADICAL MOON
-2F4A ; NFKC_CF; 6728 # So KANGXI RADICAL TREE
-2F4B ; NFKC_CF; 6B20 # So KANGXI RADICAL LACK
-2F4C ; NFKC_CF; 6B62 # So KANGXI RADICAL STOP
-2F4D ; NFKC_CF; 6B79 # So KANGXI RADICAL DEATH
-2F4E ; NFKC_CF; 6BB3 # So KANGXI RADICAL WEAPON
-2F4F ; NFKC_CF; 6BCB # So KANGXI RADICAL DO NOT
-2F50 ; NFKC_CF; 6BD4 # So KANGXI RADICAL COMPARE
-2F51 ; NFKC_CF; 6BDB # So KANGXI RADICAL FUR
-2F52 ; NFKC_CF; 6C0F # So KANGXI RADICAL CLAN
-2F53 ; NFKC_CF; 6C14 # So KANGXI RADICAL STEAM
-2F54 ; NFKC_CF; 6C34 # So KANGXI RADICAL WATER
-2F55 ; NFKC_CF; 706B # So KANGXI RADICAL FIRE
-2F56 ; NFKC_CF; 722A # So KANGXI RADICAL CLAW
-2F57 ; NFKC_CF; 7236 # So KANGXI RADICAL FATHER
-2F58 ; NFKC_CF; 723B # So KANGXI RADICAL DOUBLE X
-2F59 ; NFKC_CF; 723F # So KANGXI RADICAL HALF TREE TRUNK
-2F5A ; NFKC_CF; 7247 # So KANGXI RADICAL SLICE
-2F5B ; NFKC_CF; 7259 # So KANGXI RADICAL FANG
-2F5C ; NFKC_CF; 725B # So KANGXI RADICAL COW
-2F5D ; NFKC_CF; 72AC # So KANGXI RADICAL DOG
-2F5E ; NFKC_CF; 7384 # So KANGXI RADICAL PROFOUND
-2F5F ; NFKC_CF; 7389 # So KANGXI RADICAL JADE
-2F60 ; NFKC_CF; 74DC # So KANGXI RADICAL MELON
-2F61 ; NFKC_CF; 74E6 # So KANGXI RADICAL TILE
-2F62 ; NFKC_CF; 7518 # So KANGXI RADICAL SWEET
-2F63 ; NFKC_CF; 751F # So KANGXI RADICAL LIFE
-2F64 ; NFKC_CF; 7528 # So KANGXI RADICAL USE
-2F65 ; NFKC_CF; 7530 # So KANGXI RADICAL FIELD
-2F66 ; NFKC_CF; 758B # So KANGXI RADICAL BOLT OF CLOTH
-2F67 ; NFKC_CF; 7592 # So KANGXI RADICAL SICKNESS
-2F68 ; NFKC_CF; 7676 # So KANGXI RADICAL DOTTED TENT
-2F69 ; NFKC_CF; 767D # So KANGXI RADICAL WHITE
-2F6A ; NFKC_CF; 76AE # So KANGXI RADICAL SKIN
-2F6B ; NFKC_CF; 76BF # So KANGXI RADICAL DISH
-2F6C ; NFKC_CF; 76EE # So KANGXI RADICAL EYE
-2F6D ; NFKC_CF; 77DB # So KANGXI RADICAL SPEAR
-2F6E ; NFKC_CF; 77E2 # So KANGXI RADICAL ARROW
-2F6F ; NFKC_CF; 77F3 # So KANGXI RADICAL STONE
-2F70 ; NFKC_CF; 793A # So KANGXI RADICAL SPIRIT
-2F71 ; NFKC_CF; 79B8 # So KANGXI RADICAL TRACK
-2F72 ; NFKC_CF; 79BE # So KANGXI RADICAL GRAIN
-2F73 ; NFKC_CF; 7A74 # So KANGXI RADICAL CAVE
-2F74 ; NFKC_CF; 7ACB # So KANGXI RADICAL STAND
-2F75 ; NFKC_CF; 7AF9 # So KANGXI RADICAL BAMBOO
-2F76 ; NFKC_CF; 7C73 # So KANGXI RADICAL RICE
-2F77 ; NFKC_CF; 7CF8 # So KANGXI RADICAL SILK
-2F78 ; NFKC_CF; 7F36 # So KANGXI RADICAL JAR
-2F79 ; NFKC_CF; 7F51 # So KANGXI RADICAL NET
-2F7A ; NFKC_CF; 7F8A # So KANGXI RADICAL SHEEP
-2F7B ; NFKC_CF; 7FBD # So KANGXI RADICAL FEATHER
-2F7C ; NFKC_CF; 8001 # So KANGXI RADICAL OLD
-2F7D ; NFKC_CF; 800C # So KANGXI RADICAL AND
-2F7E ; NFKC_CF; 8012 # So KANGXI RADICAL PLOW
-2F7F ; NFKC_CF; 8033 # So KANGXI RADICAL EAR
-2F80 ; NFKC_CF; 807F # So KANGXI RADICAL BRUSH
-2F81 ; NFKC_CF; 8089 # So KANGXI RADICAL MEAT
-2F82 ; NFKC_CF; 81E3 # So KANGXI RADICAL MINISTER
-2F83 ; NFKC_CF; 81EA # So KANGXI RADICAL SELF
-2F84 ; NFKC_CF; 81F3 # So KANGXI RADICAL ARRIVE
-2F85 ; NFKC_CF; 81FC # So KANGXI RADICAL MORTAR
-2F86 ; NFKC_CF; 820C # So KANGXI RADICAL TONGUE
-2F87 ; NFKC_CF; 821B # So KANGXI RADICAL OPPOSE
-2F88 ; NFKC_CF; 821F # So KANGXI RADICAL BOAT
-2F89 ; NFKC_CF; 826E # So KANGXI RADICAL STOPPING
-2F8A ; NFKC_CF; 8272 # So KANGXI RADICAL COLOR
-2F8B ; NFKC_CF; 8278 # So KANGXI RADICAL GRASS
-2F8C ; NFKC_CF; 864D # So KANGXI RADICAL TIGER
-2F8D ; NFKC_CF; 866B # So KANGXI RADICAL INSECT
-2F8E ; NFKC_CF; 8840 # So KANGXI RADICAL BLOOD
-2F8F ; NFKC_CF; 884C # So KANGXI RADICAL WALK ENCLOSURE
-2F90 ; NFKC_CF; 8863 # So KANGXI RADICAL CLOTHES
-2F91 ; NFKC_CF; 897E # So KANGXI RADICAL WEST
-2F92 ; NFKC_CF; 898B # So KANGXI RADICAL SEE
-2F93 ; NFKC_CF; 89D2 # So KANGXI RADICAL HORN
-2F94 ; NFKC_CF; 8A00 # So KANGXI RADICAL SPEECH
-2F95 ; NFKC_CF; 8C37 # So KANGXI RADICAL VALLEY
-2F96 ; NFKC_CF; 8C46 # So KANGXI RADICAL BEAN
-2F97 ; NFKC_CF; 8C55 # So KANGXI RADICAL PIG
-2F98 ; NFKC_CF; 8C78 # So KANGXI RADICAL BADGER
-2F99 ; NFKC_CF; 8C9D # So KANGXI RADICAL SHELL
-2F9A ; NFKC_CF; 8D64 # So KANGXI RADICAL RED
-2F9B ; NFKC_CF; 8D70 # So KANGXI RADICAL RUN
-2F9C ; NFKC_CF; 8DB3 # So KANGXI RADICAL FOOT
-2F9D ; NFKC_CF; 8EAB # So KANGXI RADICAL BODY
-2F9E ; NFKC_CF; 8ECA # So KANGXI RADICAL CART
-2F9F ; NFKC_CF; 8F9B # So KANGXI RADICAL BITTER
-2FA0 ; NFKC_CF; 8FB0 # So KANGXI RADICAL MORNING
-2FA1 ; NFKC_CF; 8FB5 # So KANGXI RADICAL WALK
-2FA2 ; NFKC_CF; 9091 # So KANGXI RADICAL CITY
-2FA3 ; NFKC_CF; 9149 # So KANGXI RADICAL WINE
-2FA4 ; NFKC_CF; 91C6 # So KANGXI RADICAL DISTINGUISH
-2FA5 ; NFKC_CF; 91CC # So KANGXI RADICAL VILLAGE
-2FA6 ; NFKC_CF; 91D1 # So KANGXI RADICAL GOLD
-2FA7 ; NFKC_CF; 9577 # So KANGXI RADICAL LONG
-2FA8 ; NFKC_CF; 9580 # So KANGXI RADICAL GATE
-2FA9 ; NFKC_CF; 961C # So KANGXI RADICAL MOUND
-2FAA ; NFKC_CF; 96B6 # So KANGXI RADICAL SLAVE
-2FAB ; NFKC_CF; 96B9 # So KANGXI RADICAL SHORT TAILED BIRD
-2FAC ; NFKC_CF; 96E8 # So KANGXI RADICAL RAIN
-2FAD ; NFKC_CF; 9751 # So KANGXI RADICAL BLUE
-2FAE ; NFKC_CF; 975E # So KANGXI RADICAL WRONG
-2FAF ; NFKC_CF; 9762 # So KANGXI RADICAL FACE
-2FB0 ; NFKC_CF; 9769 # So KANGXI RADICAL LEATHER
-2FB1 ; NFKC_CF; 97CB # So KANGXI RADICAL TANNED LEATHER
-2FB2 ; NFKC_CF; 97ED # So KANGXI RADICAL LEEK
-2FB3 ; NFKC_CF; 97F3 # So KANGXI RADICAL SOUND
-2FB4 ; NFKC_CF; 9801 # So KANGXI RADICAL LEAF
-2FB5 ; NFKC_CF; 98A8 # So KANGXI RADICAL WIND
-2FB6 ; NFKC_CF; 98DB # So KANGXI RADICAL FLY
-2FB7 ; NFKC_CF; 98DF # So KANGXI RADICAL EAT
-2FB8 ; NFKC_CF; 9996 # So KANGXI RADICAL HEAD
-2FB9 ; NFKC_CF; 9999 # So KANGXI RADICAL FRAGRANT
-2FBA ; NFKC_CF; 99AC # So KANGXI RADICAL HORSE
-2FBB ; NFKC_CF; 9AA8 # So KANGXI RADICAL BONE
-2FBC ; NFKC_CF; 9AD8 # So KANGXI RADICAL TALL
-2FBD ; NFKC_CF; 9ADF # So KANGXI RADICAL HAIR
-2FBE ; NFKC_CF; 9B25 # So KANGXI RADICAL FIGHT
-2FBF ; NFKC_CF; 9B2F # So KANGXI RADICAL SACRIFICIAL WINE
-2FC0 ; NFKC_CF; 9B32 # So KANGXI RADICAL CAULDRON
-2FC1 ; NFKC_CF; 9B3C # So KANGXI RADICAL GHOST
-2FC2 ; NFKC_CF; 9B5A # So KANGXI RADICAL FISH
-2FC3 ; NFKC_CF; 9CE5 # So KANGXI RADICAL BIRD
-2FC4 ; NFKC_CF; 9E75 # So KANGXI RADICAL SALT
-2FC5 ; NFKC_CF; 9E7F # So KANGXI RADICAL DEER
-2FC6 ; NFKC_CF; 9EA5 # So KANGXI RADICAL WHEAT
-2FC7 ; NFKC_CF; 9EBB # So KANGXI RADICAL HEMP
-2FC8 ; NFKC_CF; 9EC3 # So KANGXI RADICAL YELLOW
-2FC9 ; NFKC_CF; 9ECD # So KANGXI RADICAL MILLET
-2FCA ; NFKC_CF; 9ED1 # So KANGXI RADICAL BLACK
-2FCB ; NFKC_CF; 9EF9 # So KANGXI RADICAL EMBROIDERY
-2FCC ; NFKC_CF; 9EFD # So KANGXI RADICAL FROG
-2FCD ; NFKC_CF; 9F0E # So KANGXI RADICAL TRIPOD
-2FCE ; NFKC_CF; 9F13 # So KANGXI RADICAL DRUM
-2FCF ; NFKC_CF; 9F20 # So KANGXI RADICAL RAT
-2FD0 ; NFKC_CF; 9F3B # So KANGXI RADICAL NOSE
-2FD1 ; NFKC_CF; 9F4A # So KANGXI RADICAL EVEN
-2FD2 ; NFKC_CF; 9F52 # So KANGXI RADICAL TOOTH
-2FD3 ; NFKC_CF; 9F8D # So KANGXI RADICAL DRAGON
-2FD4 ; NFKC_CF; 9F9C # So KANGXI RADICAL TURTLE
-2FD5 ; NFKC_CF; 9FA0 # So KANGXI RADICAL FLUTE
-3000 ; NFKC_CF; 0020 # Zs IDEOGRAPHIC SPACE
-3036 ; NFKC_CF; 3012 # So CIRCLED POSTAL MARK
-3038 ; NFKC_CF; 5341 # Nl HANGZHOU NUMERAL TEN
-3039 ; NFKC_CF; 5344 # Nl HANGZHOU NUMERAL TWENTY
-303A ; NFKC_CF; 5345 # Nl HANGZHOU NUMERAL THIRTY
-309B ; NFKC_CF; 0020 3099 # Sk KATAKANA-HIRAGANA VOICED SOUND MARK
-309C ; NFKC_CF; 0020 309A # Sk KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309F ; NFKC_CF; 3088 308A # Lo HIRAGANA DIGRAPH YORI
-30FF ; NFKC_CF; 30B3 30C8 # Lo KATAKANA DIGRAPH KOTO
-3131 ; NFKC_CF; 1100 # Lo HANGUL LETTER KIYEOK
-3132 ; NFKC_CF; 1101 # Lo HANGUL LETTER SSANGKIYEOK
-3133 ; NFKC_CF; 11AA # Lo HANGUL LETTER KIYEOK-SIOS
-3134 ; NFKC_CF; 1102 # Lo HANGUL LETTER NIEUN
-3135 ; NFKC_CF; 11AC # Lo HANGUL LETTER NIEUN-CIEUC
-3136 ; NFKC_CF; 11AD # Lo HANGUL LETTER NIEUN-HIEUH
-3137 ; NFKC_CF; 1103 # Lo HANGUL LETTER TIKEUT
-3138 ; NFKC_CF; 1104 # Lo HANGUL LETTER SSANGTIKEUT
-3139 ; NFKC_CF; 1105 # Lo HANGUL LETTER RIEUL
-313A ; NFKC_CF; 11B0 # Lo HANGUL LETTER RIEUL-KIYEOK
-313B ; NFKC_CF; 11B1 # Lo HANGUL LETTER RIEUL-MIEUM
-313C ; NFKC_CF; 11B2 # Lo HANGUL LETTER RIEUL-PIEUP
-313D ; NFKC_CF; 11B3 # Lo HANGUL LETTER RIEUL-SIOS
-313E ; NFKC_CF; 11B4 # Lo HANGUL LETTER RIEUL-THIEUTH
-313F ; NFKC_CF; 11B5 # Lo HANGUL LETTER RIEUL-PHIEUPH
-3140 ; NFKC_CF; 111A # Lo HANGUL LETTER RIEUL-HIEUH
-3141 ; NFKC_CF; 1106 # Lo HANGUL LETTER MIEUM
-3142 ; NFKC_CF; 1107 # Lo HANGUL LETTER PIEUP
-3143 ; NFKC_CF; 1108 # Lo HANGUL LETTER SSANGPIEUP
-3144 ; NFKC_CF; 1121 # Lo HANGUL LETTER PIEUP-SIOS
-3145 ; NFKC_CF; 1109 # Lo HANGUL LETTER SIOS
-3146 ; NFKC_CF; 110A # Lo HANGUL LETTER SSANGSIOS
-3147 ; NFKC_CF; 110B # Lo HANGUL LETTER IEUNG
-3148 ; NFKC_CF; 110C # Lo HANGUL LETTER CIEUC
-3149 ; NFKC_CF; 110D # Lo HANGUL LETTER SSANGCIEUC
-314A ; NFKC_CF; 110E # Lo HANGUL LETTER CHIEUCH
-314B ; NFKC_CF; 110F # Lo HANGUL LETTER KHIEUKH
-314C ; NFKC_CF; 1110 # Lo HANGUL LETTER THIEUTH
-314D ; NFKC_CF; 1111 # Lo HANGUL LETTER PHIEUPH
-314E ; NFKC_CF; 1112 # Lo HANGUL LETTER HIEUH
-314F ; NFKC_CF; 1161 # Lo HANGUL LETTER A
-3150 ; NFKC_CF; 1162 # Lo HANGUL LETTER AE
-3151 ; NFKC_CF; 1163 # Lo HANGUL LETTER YA
-3152 ; NFKC_CF; 1164 # Lo HANGUL LETTER YAE
-3153 ; NFKC_CF; 1165 # Lo HANGUL LETTER EO
-3154 ; NFKC_CF; 1166 # Lo HANGUL LETTER E
-3155 ; NFKC_CF; 1167 # Lo HANGUL LETTER YEO
-3156 ; NFKC_CF; 1168 # Lo HANGUL LETTER YE
-3157 ; NFKC_CF; 1169 # Lo HANGUL LETTER O
-3158 ; NFKC_CF; 116A # Lo HANGUL LETTER WA
-3159 ; NFKC_CF; 116B # Lo HANGUL LETTER WAE
-315A ; NFKC_CF; 116C # Lo HANGUL LETTER OE
-315B ; NFKC_CF; 116D # Lo HANGUL LETTER YO
-315C ; NFKC_CF; 116E # Lo HANGUL LETTER U
-315D ; NFKC_CF; 116F # Lo HANGUL LETTER WEO
-315E ; NFKC_CF; 1170 # Lo HANGUL LETTER WE
-315F ; NFKC_CF; 1171 # Lo HANGUL LETTER WI
-3160 ; NFKC_CF; 1172 # Lo HANGUL LETTER YU
-3161 ; NFKC_CF; 1173 # Lo HANGUL LETTER EU
-3162 ; NFKC_CF; 1174 # Lo HANGUL LETTER YI
-3163 ; NFKC_CF; 1175 # Lo HANGUL LETTER I
-3164 ; NFKC_CF; # Lo HANGUL FILLER
-3165 ; NFKC_CF; 1114 # Lo HANGUL LETTER SSANGNIEUN
-3166 ; NFKC_CF; 1115 # Lo HANGUL LETTER NIEUN-TIKEUT
-3167 ; NFKC_CF; 11C7 # Lo HANGUL LETTER NIEUN-SIOS
-3168 ; NFKC_CF; 11C8 # Lo HANGUL LETTER NIEUN-PANSIOS
-3169 ; NFKC_CF; 11CC # Lo HANGUL LETTER RIEUL-KIYEOK-SIOS
-316A ; NFKC_CF; 11CE # Lo HANGUL LETTER RIEUL-TIKEUT
-316B ; NFKC_CF; 11D3 # Lo HANGUL LETTER RIEUL-PIEUP-SIOS
-316C ; NFKC_CF; 11D7 # Lo HANGUL LETTER RIEUL-PANSIOS
-316D ; NFKC_CF; 11D9 # Lo HANGUL LETTER RIEUL-YEORINHIEUH
-316E ; NFKC_CF; 111C # Lo HANGUL LETTER MIEUM-PIEUP
-316F ; NFKC_CF; 11DD # Lo HANGUL LETTER MIEUM-SIOS
-3170 ; NFKC_CF; 11DF # Lo HANGUL LETTER MIEUM-PANSIOS
-3171 ; NFKC_CF; 111D # Lo HANGUL LETTER KAPYEOUNMIEUM
-3172 ; NFKC_CF; 111E # Lo HANGUL LETTER PIEUP-KIYEOK
-3173 ; NFKC_CF; 1120 # Lo HANGUL LETTER PIEUP-TIKEUT
-3174 ; NFKC_CF; 1122 # Lo HANGUL LETTER PIEUP-SIOS-KIYEOK
-3175 ; NFKC_CF; 1123 # Lo HANGUL LETTER PIEUP-SIOS-TIKEUT
-3176 ; NFKC_CF; 1127 # Lo HANGUL LETTER PIEUP-CIEUC
-3177 ; NFKC_CF; 1129 # Lo HANGUL LETTER PIEUP-THIEUTH
-3178 ; NFKC_CF; 112B # Lo HANGUL LETTER KAPYEOUNPIEUP
-3179 ; NFKC_CF; 112C # Lo HANGUL LETTER KAPYEOUNSSANGPIEUP
-317A ; NFKC_CF; 112D # Lo HANGUL LETTER SIOS-KIYEOK
-317B ; NFKC_CF; 112E # Lo HANGUL LETTER SIOS-NIEUN
-317C ; NFKC_CF; 112F # Lo HANGUL LETTER SIOS-TIKEUT
-317D ; NFKC_CF; 1132 # Lo HANGUL LETTER SIOS-PIEUP
-317E ; NFKC_CF; 1136 # Lo HANGUL LETTER SIOS-CIEUC
-317F ; NFKC_CF; 1140 # Lo HANGUL LETTER PANSIOS
-3180 ; NFKC_CF; 1147 # Lo HANGUL LETTER SSANGIEUNG
-3181 ; NFKC_CF; 114C # Lo HANGUL LETTER YESIEUNG
-3182 ; NFKC_CF; 11F1 # Lo HANGUL LETTER YESIEUNG-SIOS
-3183 ; NFKC_CF; 11F2 # Lo HANGUL LETTER YESIEUNG-PANSIOS
-3184 ; NFKC_CF; 1157 # Lo HANGUL LETTER KAPYEOUNPHIEUPH
-3185 ; NFKC_CF; 1158 # Lo HANGUL LETTER SSANGHIEUH
-3186 ; NFKC_CF; 1159 # Lo HANGUL LETTER YEORINHIEUH
-3187 ; NFKC_CF; 1184 # Lo HANGUL LETTER YO-YA
-3188 ; NFKC_CF; 1185 # Lo HANGUL LETTER YO-YAE
-3189 ; NFKC_CF; 1188 # Lo HANGUL LETTER YO-I
-318A ; NFKC_CF; 1191 # Lo HANGUL LETTER YU-YEO
-318B ; NFKC_CF; 1192 # Lo HANGUL LETTER YU-YE
-318C ; NFKC_CF; 1194 # Lo HANGUL LETTER YU-I
-318D ; NFKC_CF; 119E # Lo HANGUL LETTER ARAEA
-318E ; NFKC_CF; 11A1 # Lo HANGUL LETTER ARAEAE
-3192 ; NFKC_CF; 4E00 # No IDEOGRAPHIC ANNOTATION ONE MARK
-3193 ; NFKC_CF; 4E8C # No IDEOGRAPHIC ANNOTATION TWO MARK
-3194 ; NFKC_CF; 4E09 # No IDEOGRAPHIC ANNOTATION THREE MARK
-3195 ; NFKC_CF; 56DB # No IDEOGRAPHIC ANNOTATION FOUR MARK
-3196 ; NFKC_CF; 4E0A # So IDEOGRAPHIC ANNOTATION TOP MARK
-3197 ; NFKC_CF; 4E2D # So IDEOGRAPHIC ANNOTATION MIDDLE MARK
-3198 ; NFKC_CF; 4E0B # So IDEOGRAPHIC ANNOTATION BOTTOM MARK
-3199 ; NFKC_CF; 7532 # So IDEOGRAPHIC ANNOTATION FIRST MARK
-319A ; NFKC_CF; 4E59 # So IDEOGRAPHIC ANNOTATION SECOND MARK
-319B ; NFKC_CF; 4E19 # So IDEOGRAPHIC ANNOTATION THIRD MARK
-319C ; NFKC_CF; 4E01 # So IDEOGRAPHIC ANNOTATION FOURTH MARK
-319D ; NFKC_CF; 5929 # So IDEOGRAPHIC ANNOTATION HEAVEN MARK
-319E ; NFKC_CF; 5730 # So IDEOGRAPHIC ANNOTATION EARTH MARK
-319F ; NFKC_CF; 4EBA # So IDEOGRAPHIC ANNOTATION MAN MARK
-3200 ; NFKC_CF; 0028 1100 0029 # So PARENTHESIZED HANGUL KIYEOK
-3201 ; NFKC_CF; 0028 1102 0029 # So PARENTHESIZED HANGUL NIEUN
-3202 ; NFKC_CF; 0028 1103 0029 # So PARENTHESIZED HANGUL TIKEUT
-3203 ; NFKC_CF; 0028 1105 0029 # So PARENTHESIZED HANGUL RIEUL
-3204 ; NFKC_CF; 0028 1106 0029 # So PARENTHESIZED HANGUL MIEUM
-3205 ; NFKC_CF; 0028 1107 0029 # So PARENTHESIZED HANGUL PIEUP
-3206 ; NFKC_CF; 0028 1109 0029 # So PARENTHESIZED HANGUL SIOS
-3207 ; NFKC_CF; 0028 110B 0029 # So PARENTHESIZED HANGUL IEUNG
-3208 ; NFKC_CF; 0028 110C 0029 # So PARENTHESIZED HANGUL CIEUC
-3209 ; NFKC_CF; 0028 110E 0029 # So PARENTHESIZED HANGUL CHIEUCH
-320A ; NFKC_CF; 0028 110F 0029 # So PARENTHESIZED HANGUL KHIEUKH
-320B ; NFKC_CF; 0028 1110 0029 # So PARENTHESIZED HANGUL THIEUTH
-320C ; NFKC_CF; 0028 1111 0029 # So PARENTHESIZED HANGUL PHIEUPH
-320D ; NFKC_CF; 0028 1112 0029 # So PARENTHESIZED HANGUL HIEUH
-320E ; NFKC_CF; 0028 AC00 0029 # So PARENTHESIZED HANGUL KIYEOK A
-320F ; NFKC_CF; 0028 B098 0029 # So PARENTHESIZED HANGUL NIEUN A
-3210 ; NFKC_CF; 0028 B2E4 0029 # So PARENTHESIZED HANGUL TIKEUT A
-3211 ; NFKC_CF; 0028 B77C 0029 # So PARENTHESIZED HANGUL RIEUL A
-3212 ; NFKC_CF; 0028 B9C8 0029 # So PARENTHESIZED HANGUL MIEUM A
-3213 ; NFKC_CF; 0028 BC14 0029 # So PARENTHESIZED HANGUL PIEUP A
-3214 ; NFKC_CF; 0028 C0AC 0029 # So PARENTHESIZED HANGUL SIOS A
-3215 ; NFKC_CF; 0028 C544 0029 # So PARENTHESIZED HANGUL IEUNG A
-3216 ; NFKC_CF; 0028 C790 0029 # So PARENTHESIZED HANGUL CIEUC A
-3217 ; NFKC_CF; 0028 CC28 0029 # So PARENTHESIZED HANGUL CHIEUCH A
-3218 ; NFKC_CF; 0028 CE74 0029 # So PARENTHESIZED HANGUL KHIEUKH A
-3219 ; NFKC_CF; 0028 D0C0 0029 # So PARENTHESIZED HANGUL THIEUTH A
-321A ; NFKC_CF; 0028 D30C 0029 # So PARENTHESIZED HANGUL PHIEUPH A
-321B ; NFKC_CF; 0028 D558 0029 # So PARENTHESIZED HANGUL HIEUH A
-321C ; NFKC_CF; 0028 C8FC 0029 # So PARENTHESIZED HANGUL CIEUC U
-321D ; NFKC_CF; 0028 C624 C804 0029 #So PARENTHESIZED KOREAN CHARACTER OJEON
-321E ; NFKC_CF; 0028 C624 D6C4 0029 #So PARENTHESIZED KOREAN CHARACTER O HU
-3220 ; NFKC_CF; 0028 4E00 0029 # No PARENTHESIZED IDEOGRAPH ONE
-3221 ; NFKC_CF; 0028 4E8C 0029 # No PARENTHESIZED IDEOGRAPH TWO
-3222 ; NFKC_CF; 0028 4E09 0029 # No PARENTHESIZED IDEOGRAPH THREE
-3223 ; NFKC_CF; 0028 56DB 0029 # No PARENTHESIZED IDEOGRAPH FOUR
-3224 ; NFKC_CF; 0028 4E94 0029 # No PARENTHESIZED IDEOGRAPH FIVE
-3225 ; NFKC_CF; 0028 516D 0029 # No PARENTHESIZED IDEOGRAPH SIX
-3226 ; NFKC_CF; 0028 4E03 0029 # No PARENTHESIZED IDEOGRAPH SEVEN
-3227 ; NFKC_CF; 0028 516B 0029 # No PARENTHESIZED IDEOGRAPH EIGHT
-3228 ; NFKC_CF; 0028 4E5D 0029 # No PARENTHESIZED IDEOGRAPH NINE
-3229 ; NFKC_CF; 0028 5341 0029 # No PARENTHESIZED IDEOGRAPH TEN
-322A ; NFKC_CF; 0028 6708 0029 # So PARENTHESIZED IDEOGRAPH MOON
-322B ; NFKC_CF; 0028 706B 0029 # So PARENTHESIZED IDEOGRAPH FIRE
-322C ; NFKC_CF; 0028 6C34 0029 # So PARENTHESIZED IDEOGRAPH WATER
-322D ; NFKC_CF; 0028 6728 0029 # So PARENTHESIZED IDEOGRAPH WOOD
-322E ; NFKC_CF; 0028 91D1 0029 # So PARENTHESIZED IDEOGRAPH METAL
-322F ; NFKC_CF; 0028 571F 0029 # So PARENTHESIZED IDEOGRAPH EARTH
-3230 ; NFKC_CF; 0028 65E5 0029 # So PARENTHESIZED IDEOGRAPH SUN
-3231 ; NFKC_CF; 0028 682A 0029 # So PARENTHESIZED IDEOGRAPH STOCK
-3232 ; NFKC_CF; 0028 6709 0029 # So PARENTHESIZED IDEOGRAPH HAVE
-3233 ; NFKC_CF; 0028 793E 0029 # So PARENTHESIZED IDEOGRAPH SOCIETY
-3234 ; NFKC_CF; 0028 540D 0029 # So PARENTHESIZED IDEOGRAPH NAME
-3235 ; NFKC_CF; 0028 7279 0029 # So PARENTHESIZED IDEOGRAPH SPECIAL
-3236 ; NFKC_CF; 0028 8CA1 0029 # So PARENTHESIZED IDEOGRAPH FINANCIAL
-3237 ; NFKC_CF; 0028 795D 0029 # So PARENTHESIZED IDEOGRAPH CONGRATULATION
-3238 ; NFKC_CF; 0028 52B4 0029 # So PARENTHESIZED IDEOGRAPH LABOR
-3239 ; NFKC_CF; 0028 4EE3 0029 # So PARENTHESIZED IDEOGRAPH REPRESENT
-323A ; NFKC_CF; 0028 547C 0029 # So PARENTHESIZED IDEOGRAPH CALL
-323B ; NFKC_CF; 0028 5B66 0029 # So PARENTHESIZED IDEOGRAPH STUDY
-323C ; NFKC_CF; 0028 76E3 0029 # So PARENTHESIZED IDEOGRAPH SUPERVISE
-323D ; NFKC_CF; 0028 4F01 0029 # So PARENTHESIZED IDEOGRAPH ENTERPRISE
-323E ; NFKC_CF; 0028 8CC7 0029 # So PARENTHESIZED IDEOGRAPH RESOURCE
-323F ; NFKC_CF; 0028 5354 0029 # So PARENTHESIZED IDEOGRAPH ALLIANCE
-3240 ; NFKC_CF; 0028 796D 0029 # So PARENTHESIZED IDEOGRAPH FESTIVAL
-3241 ; NFKC_CF; 0028 4F11 0029 # So PARENTHESIZED IDEOGRAPH REST
-3242 ; NFKC_CF; 0028 81EA 0029 # So PARENTHESIZED IDEOGRAPH SELF
-3243 ; NFKC_CF; 0028 81F3 0029 # So PARENTHESIZED IDEOGRAPH REACH
-3244 ; NFKC_CF; 554F # So CIRCLED IDEOGRAPH QUESTION
-3245 ; NFKC_CF; 5E7C # So CIRCLED IDEOGRAPH KINDERGARTEN
-3246 ; NFKC_CF; 6587 # So CIRCLED IDEOGRAPH SCHOOL
-3247 ; NFKC_CF; 7B8F # So CIRCLED IDEOGRAPH KOTO
-3250 ; NFKC_CF; 0070 0074 0065 # So PARTNERSHIP SIGN
-3251 ; NFKC_CF; 0032 0031 # No CIRCLED NUMBER TWENTY ONE
-3252 ; NFKC_CF; 0032 0032 # No CIRCLED NUMBER TWENTY TWO
-3253 ; NFKC_CF; 0032 0033 # No CIRCLED NUMBER TWENTY THREE
-3254 ; NFKC_CF; 0032 0034 # No CIRCLED NUMBER TWENTY FOUR
-3255 ; NFKC_CF; 0032 0035 # No CIRCLED NUMBER TWENTY FIVE
-3256 ; NFKC_CF; 0032 0036 # No CIRCLED NUMBER TWENTY SIX
-3257 ; NFKC_CF; 0032 0037 # No CIRCLED NUMBER TWENTY SEVEN
-3258 ; NFKC_CF; 0032 0038 # No CIRCLED NUMBER TWENTY EIGHT
-3259 ; NFKC_CF; 0032 0039 # No CIRCLED NUMBER TWENTY NINE
-325A ; NFKC_CF; 0033 0030 # No CIRCLED NUMBER THIRTY
-325B ; NFKC_CF; 0033 0031 # No CIRCLED NUMBER THIRTY ONE
-325C ; NFKC_CF; 0033 0032 # No CIRCLED NUMBER THIRTY TWO
-325D ; NFKC_CF; 0033 0033 # No CIRCLED NUMBER THIRTY THREE
-325E ; NFKC_CF; 0033 0034 # No CIRCLED NUMBER THIRTY FOUR
-325F ; NFKC_CF; 0033 0035 # No CIRCLED NUMBER THIRTY FIVE
-3260 ; NFKC_CF; 1100 # So CIRCLED HANGUL KIYEOK
-3261 ; NFKC_CF; 1102 # So CIRCLED HANGUL NIEUN
-3262 ; NFKC_CF; 1103 # So CIRCLED HANGUL TIKEUT
-3263 ; NFKC_CF; 1105 # So CIRCLED HANGUL RIEUL
-3264 ; NFKC_CF; 1106 # So CIRCLED HANGUL MIEUM
-3265 ; NFKC_CF; 1107 # So CIRCLED HANGUL PIEUP
-3266 ; NFKC_CF; 1109 # So CIRCLED HANGUL SIOS
-3267 ; NFKC_CF; 110B # So CIRCLED HANGUL IEUNG
-3268 ; NFKC_CF; 110C # So CIRCLED HANGUL CIEUC
-3269 ; NFKC_CF; 110E # So CIRCLED HANGUL CHIEUCH
-326A ; NFKC_CF; 110F # So CIRCLED HANGUL KHIEUKH
-326B ; NFKC_CF; 1110 # So CIRCLED HANGUL THIEUTH
-326C ; NFKC_CF; 1111 # So CIRCLED HANGUL PHIEUPH
-326D ; NFKC_CF; 1112 # So CIRCLED HANGUL HIEUH
-326E ; NFKC_CF; AC00 # So CIRCLED HANGUL KIYEOK A
-326F ; NFKC_CF; B098 # So CIRCLED HANGUL NIEUN A
-3270 ; NFKC_CF; B2E4 # So CIRCLED HANGUL TIKEUT A
-3271 ; NFKC_CF; B77C # So CIRCLED HANGUL RIEUL A
-3272 ; NFKC_CF; B9C8 # So CIRCLED HANGUL MIEUM A
-3273 ; NFKC_CF; BC14 # So CIRCLED HANGUL PIEUP A
-3274 ; NFKC_CF; C0AC # So CIRCLED HANGUL SIOS A
-3275 ; NFKC_CF; C544 # So CIRCLED HANGUL IEUNG A
-3276 ; NFKC_CF; C790 # So CIRCLED HANGUL CIEUC A
-3277 ; NFKC_CF; CC28 # So CIRCLED HANGUL CHIEUCH A
-3278 ; NFKC_CF; CE74 # So CIRCLED HANGUL KHIEUKH A
-3279 ; NFKC_CF; D0C0 # So CIRCLED HANGUL THIEUTH A
-327A ; NFKC_CF; D30C # So CIRCLED HANGUL PHIEUPH A
-327B ; NFKC_CF; D558 # So CIRCLED HANGUL HIEUH A
-327C ; NFKC_CF; CC38 ACE0 # So CIRCLED KOREAN CHARACTER CHAMKO
-327D ; NFKC_CF; C8FC C758 # So CIRCLED KOREAN CHARACTER JUEUI
-327E ; NFKC_CF; C6B0 # So CIRCLED HANGUL IEUNG U
-3280 ; NFKC_CF; 4E00 # No CIRCLED IDEOGRAPH ONE
-3281 ; NFKC_CF; 4E8C # No CIRCLED IDEOGRAPH TWO
-3282 ; NFKC_CF; 4E09 # No CIRCLED IDEOGRAPH THREE
-3283 ; NFKC_CF; 56DB # No CIRCLED IDEOGRAPH FOUR
-3284 ; NFKC_CF; 4E94 # No CIRCLED IDEOGRAPH FIVE
-3285 ; NFKC_CF; 516D # No CIRCLED IDEOGRAPH SIX
-3286 ; NFKC_CF; 4E03 # No CIRCLED IDEOGRAPH SEVEN
-3287 ; NFKC_CF; 516B # No CIRCLED IDEOGRAPH EIGHT
-3288 ; NFKC_CF; 4E5D # No CIRCLED IDEOGRAPH NINE
-3289 ; NFKC_CF; 5341 # No CIRCLED IDEOGRAPH TEN
-328A ; NFKC_CF; 6708 # So CIRCLED IDEOGRAPH MOON
-328B ; NFKC_CF; 706B # So CIRCLED IDEOGRAPH FIRE
-328C ; NFKC_CF; 6C34 # So CIRCLED IDEOGRAPH WATER
-328D ; NFKC_CF; 6728 # So CIRCLED IDEOGRAPH WOOD
-328E ; NFKC_CF; 91D1 # So CIRCLED IDEOGRAPH METAL
-328F ; NFKC_CF; 571F # So CIRCLED IDEOGRAPH EARTH
-3290 ; NFKC_CF; 65E5 # So CIRCLED IDEOGRAPH SUN
-3291 ; NFKC_CF; 682A # So CIRCLED IDEOGRAPH STOCK
-3292 ; NFKC_CF; 6709 # So CIRCLED IDEOGRAPH HAVE
-3293 ; NFKC_CF; 793E # So CIRCLED IDEOGRAPH SOCIETY
-3294 ; NFKC_CF; 540D # So CIRCLED IDEOGRAPH NAME
-3295 ; NFKC_CF; 7279 # So CIRCLED IDEOGRAPH SPECIAL
-3296 ; NFKC_CF; 8CA1 # So CIRCLED IDEOGRAPH FINANCIAL
-3297 ; NFKC_CF; 795D # So CIRCLED IDEOGRAPH CONGRATULATION
-3298 ; NFKC_CF; 52B4 # So CIRCLED IDEOGRAPH LABOR
-3299 ; NFKC_CF; 79D8 # So CIRCLED IDEOGRAPH SECRET
-329A ; NFKC_CF; 7537 # So CIRCLED IDEOGRAPH MALE
-329B ; NFKC_CF; 5973 # So CIRCLED IDEOGRAPH FEMALE
-329C ; NFKC_CF; 9069 # So CIRCLED IDEOGRAPH SUITABLE
-329D ; NFKC_CF; 512A # So CIRCLED IDEOGRAPH EXCELLENT
-329E ; NFKC_CF; 5370 # So CIRCLED IDEOGRAPH PRINT
-329F ; NFKC_CF; 6CE8 # So CIRCLED IDEOGRAPH ATTENTION
-32A0 ; NFKC_CF; 9805 # So CIRCLED IDEOGRAPH ITEM
-32A1 ; NFKC_CF; 4F11 # So CIRCLED IDEOGRAPH REST
-32A2 ; NFKC_CF; 5199 # So CIRCLED IDEOGRAPH COPY
-32A3 ; NFKC_CF; 6B63 # So CIRCLED IDEOGRAPH CORRECT
-32A4 ; NFKC_CF; 4E0A # So CIRCLED IDEOGRAPH HIGH
-32A5 ; NFKC_CF; 4E2D # So CIRCLED IDEOGRAPH CENTRE
-32A6 ; NFKC_CF; 4E0B # So CIRCLED IDEOGRAPH LOW
-32A7 ; NFKC_CF; 5DE6 # So CIRCLED IDEOGRAPH LEFT
-32A8 ; NFKC_CF; 53F3 # So CIRCLED IDEOGRAPH RIGHT
-32A9 ; NFKC_CF; 533B # So CIRCLED IDEOGRAPH MEDICINE
-32AA ; NFKC_CF; 5B97 # So CIRCLED IDEOGRAPH RELIGION
-32AB ; NFKC_CF; 5B66 # So CIRCLED IDEOGRAPH STUDY
-32AC ; NFKC_CF; 76E3 # So CIRCLED IDEOGRAPH SUPERVISE
-32AD ; NFKC_CF; 4F01 # So CIRCLED IDEOGRAPH ENTERPRISE
-32AE ; NFKC_CF; 8CC7 # So CIRCLED IDEOGRAPH RESOURCE
-32AF ; NFKC_CF; 5354 # So CIRCLED IDEOGRAPH ALLIANCE
-32B0 ; NFKC_CF; 591C # So CIRCLED IDEOGRAPH NIGHT
-32B1 ; NFKC_CF; 0033 0036 # No CIRCLED NUMBER THIRTY SIX
-32B2 ; NFKC_CF; 0033 0037 # No CIRCLED NUMBER THIRTY SEVEN
-32B3 ; NFKC_CF; 0033 0038 # No CIRCLED NUMBER THIRTY EIGHT
-32B4 ; NFKC_CF; 0033 0039 # No CIRCLED NUMBER THIRTY NINE
-32B5 ; NFKC_CF; 0034 0030 # No CIRCLED NUMBER FORTY
-32B6 ; NFKC_CF; 0034 0031 # No CIRCLED NUMBER FORTY ONE
-32B7 ; NFKC_CF; 0034 0032 # No CIRCLED NUMBER FORTY TWO
-32B8 ; NFKC_CF; 0034 0033 # No CIRCLED NUMBER FORTY THREE
-32B9 ; NFKC_CF; 0034 0034 # No CIRCLED NUMBER FORTY FOUR
-32BA ; NFKC_CF; 0034 0035 # No CIRCLED NUMBER FORTY FIVE
-32BB ; NFKC_CF; 0034 0036 # No CIRCLED NUMBER FORTY SIX
-32BC ; NFKC_CF; 0034 0037 # No CIRCLED NUMBER FORTY SEVEN
-32BD ; NFKC_CF; 0034 0038 # No CIRCLED NUMBER FORTY EIGHT
-32BE ; NFKC_CF; 0034 0039 # No CIRCLED NUMBER FORTY NINE
-32BF ; NFKC_CF; 0035 0030 # No CIRCLED NUMBER FIFTY
-32C0 ; NFKC_CF; 0031 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-32C1 ; NFKC_CF; 0032 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-32C2 ; NFKC_CF; 0033 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-32C3 ; NFKC_CF; 0034 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-32C4 ; NFKC_CF; 0035 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-32C5 ; NFKC_CF; 0036 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-32C6 ; NFKC_CF; 0037 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-32C7 ; NFKC_CF; 0038 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-32C8 ; NFKC_CF; 0039 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-32C9 ; NFKC_CF; 0031 0030 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-32CA ; NFKC_CF; 0031 0031 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-32CB ; NFKC_CF; 0031 0032 6708 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-32CC ; NFKC_CF; 0068 0067 # So SQUARE HG
-32CD ; NFKC_CF; 0065 0072 0067 # So SQUARE ERG
-32CE ; NFKC_CF; 0065 0076 # So SQUARE EV
-32CF ; NFKC_CF; 006C 0074 0064 # So LIMITED LIABILITY SIGN
-32D0 ; NFKC_CF; 30A2 # So CIRCLED KATAKANA A
-32D1 ; NFKC_CF; 30A4 # So CIRCLED KATAKANA I
-32D2 ; NFKC_CF; 30A6 # So CIRCLED KATAKANA U
-32D3 ; NFKC_CF; 30A8 # So CIRCLED KATAKANA E
-32D4 ; NFKC_CF; 30AA # So CIRCLED KATAKANA O
-32D5 ; NFKC_CF; 30AB # So CIRCLED KATAKANA KA
-32D6 ; NFKC_CF; 30AD # So CIRCLED KATAKANA KI
-32D7 ; NFKC_CF; 30AF # So CIRCLED KATAKANA KU
-32D8 ; NFKC_CF; 30B1 # So CIRCLED KATAKANA KE
-32D9 ; NFKC_CF; 30B3 # So CIRCLED KATAKANA KO
-32DA ; NFKC_CF; 30B5 # So CIRCLED KATAKANA SA
-32DB ; NFKC_CF; 30B7 # So CIRCLED KATAKANA SI
-32DC ; NFKC_CF; 30B9 # So CIRCLED KATAKANA SU
-32DD ; NFKC_CF; 30BB # So CIRCLED KATAKANA SE
-32DE ; NFKC_CF; 30BD # So CIRCLED KATAKANA SO
-32DF ; NFKC_CF; 30BF # So CIRCLED KATAKANA TA
-32E0 ; NFKC_CF; 30C1 # So CIRCLED KATAKANA TI
-32E1 ; NFKC_CF; 30C4 # So CIRCLED KATAKANA TU
-32E2 ; NFKC_CF; 30C6 # So CIRCLED KATAKANA TE
-32E3 ; NFKC_CF; 30C8 # So CIRCLED KATAKANA TO
-32E4 ; NFKC_CF; 30CA # So CIRCLED KATAKANA NA
-32E5 ; NFKC_CF; 30CB # So CIRCLED KATAKANA NI
-32E6 ; NFKC_CF; 30CC # So CIRCLED KATAKANA NU
-32E7 ; NFKC_CF; 30CD # So CIRCLED KATAKANA NE
-32E8 ; NFKC_CF; 30CE # So CIRCLED KATAKANA NO
-32E9 ; NFKC_CF; 30CF # So CIRCLED KATAKANA HA
-32EA ; NFKC_CF; 30D2 # So CIRCLED KATAKANA HI
-32EB ; NFKC_CF; 30D5 # So CIRCLED KATAKANA HU
-32EC ; NFKC_CF; 30D8 # So CIRCLED KATAKANA HE
-32ED ; NFKC_CF; 30DB # So CIRCLED KATAKANA HO
-32EE ; NFKC_CF; 30DE # So CIRCLED KATAKANA MA
-32EF ; NFKC_CF; 30DF # So CIRCLED KATAKANA MI
-32F0 ; NFKC_CF; 30E0 # So CIRCLED KATAKANA MU
-32F1 ; NFKC_CF; 30E1 # So CIRCLED KATAKANA ME
-32F2 ; NFKC_CF; 30E2 # So CIRCLED KATAKANA MO
-32F3 ; NFKC_CF; 30E4 # So CIRCLED KATAKANA YA
-32F4 ; NFKC_CF; 30E6 # So CIRCLED KATAKANA YU
-32F5 ; NFKC_CF; 30E8 # So CIRCLED KATAKANA YO
-32F6 ; NFKC_CF; 30E9 # So CIRCLED KATAKANA RA
-32F7 ; NFKC_CF; 30EA # So CIRCLED KATAKANA RI
-32F8 ; NFKC_CF; 30EB # So CIRCLED KATAKANA RU
-32F9 ; NFKC_CF; 30EC # So CIRCLED KATAKANA RE
-32FA ; NFKC_CF; 30ED # So CIRCLED KATAKANA RO
-32FB ; NFKC_CF; 30EF # So CIRCLED KATAKANA WA
-32FC ; NFKC_CF; 30F0 # So CIRCLED KATAKANA WI
-32FD ; NFKC_CF; 30F1 # So CIRCLED KATAKANA WE
-32FE ; NFKC_CF; 30F2 # So CIRCLED KATAKANA WO
-3300 ; NFKC_CF; 30A2 30D1 30FC 30C8 #So SQUARE APAATO
-3301 ; NFKC_CF; 30A2 30EB 30D5 30A1 #So SQUARE ARUHUA
-3302 ; NFKC_CF; 30A2 30F3 30DA 30A2 #So SQUARE ANPEA
-3303 ; NFKC_CF; 30A2 30FC 30EB # So SQUARE AARU
-3304 ; NFKC_CF; 30A4 30CB 30F3 30B0 #So SQUARE ININGU
-3305 ; NFKC_CF; 30A4 30F3 30C1 # So SQUARE INTI
-3306 ; NFKC_CF; 30A6 30A9 30F3 # So SQUARE UON
-3307 ; NFKC_CF; 30A8 30B9 30AF 30FC 30C9 #So SQUARE ESUKUUDO
-3308 ; NFKC_CF; 30A8 30FC 30AB 30FC #So SQUARE EEKAA
-3309 ; NFKC_CF; 30AA 30F3 30B9 # So SQUARE ONSU
-330A ; NFKC_CF; 30AA 30FC 30E0 # So SQUARE OOMU
-330B ; NFKC_CF; 30AB 30A4 30EA # So SQUARE KAIRI
-330C ; NFKC_CF; 30AB 30E9 30C3 30C8 #So SQUARE KARATTO
-330D ; NFKC_CF; 30AB 30ED 30EA 30FC #So SQUARE KARORII
-330E ; NFKC_CF; 30AC 30ED 30F3 # So SQUARE GARON
-330F ; NFKC_CF; 30AC 30F3 30DE # So SQUARE GANMA
-3310 ; NFKC_CF; 30AE 30AC # So SQUARE GIGA
-3311 ; NFKC_CF; 30AE 30CB 30FC # So SQUARE GINII
-3312 ; NFKC_CF; 30AD 30E5 30EA 30FC #So SQUARE KYURII
-3313 ; NFKC_CF; 30AE 30EB 30C0 30FC #So SQUARE GIRUDAA
-3314 ; NFKC_CF; 30AD 30ED # So SQUARE KIRO
-3315 ; NFKC_CF; 30AD 30ED 30B0 30E9 30E0 #So SQUARE KIROGURAMU
-3316 ; NFKC_CF; 30AD 30ED 30E1 30FC 30C8 30EB #So SQUARE KIROMEETORU
-3317 ; NFKC_CF; 30AD 30ED 30EF 30C3 30C8 #So SQUARE KIROWATTO
-3318 ; NFKC_CF; 30B0 30E9 30E0 # So SQUARE GURAMU
-3319 ; NFKC_CF; 30B0 30E9 30E0 30C8 30F3 #So SQUARE GURAMUTON
-331A ; NFKC_CF; 30AF 30EB 30BC 30A4 30ED #So SQUARE KURUZEIRO
-331B ; NFKC_CF; 30AF 30ED 30FC 30CD #So SQUARE KUROONE
-331C ; NFKC_CF; 30B1 30FC 30B9 # So SQUARE KEESU
-331D ; NFKC_CF; 30B3 30EB 30CA # So SQUARE KORUNA
-331E ; NFKC_CF; 30B3 30FC 30DD # So SQUARE KOOPO
-331F ; NFKC_CF; 30B5 30A4 30AF 30EB #So SQUARE SAIKURU
-3320 ; NFKC_CF; 30B5 30F3 30C1 30FC 30E0 #So SQUARE SANTIIMU
-3321 ; NFKC_CF; 30B7 30EA 30F3 30B0 #So SQUARE SIRINGU
-3322 ; NFKC_CF; 30BB 30F3 30C1 # So SQUARE SENTI
-3323 ; NFKC_CF; 30BB 30F3 30C8 # So SQUARE SENTO
-3324 ; NFKC_CF; 30C0 30FC 30B9 # So SQUARE DAASU
-3325 ; NFKC_CF; 30C7 30B7 # So SQUARE DESI
-3326 ; NFKC_CF; 30C9 30EB # So SQUARE DORU
-3327 ; NFKC_CF; 30C8 30F3 # So SQUARE TON
-3328 ; NFKC_CF; 30CA 30CE # So SQUARE NANO
-3329 ; NFKC_CF; 30CE 30C3 30C8 # So SQUARE NOTTO
-332A ; NFKC_CF; 30CF 30A4 30C4 # So SQUARE HAITU
-332B ; NFKC_CF; 30D1 30FC 30BB 30F3 30C8 #So SQUARE PAASENTO
-332C ; NFKC_CF; 30D1 30FC 30C4 # So SQUARE PAATU
-332D ; NFKC_CF; 30D0 30FC 30EC 30EB #So SQUARE BAARERU
-332E ; NFKC_CF; 30D4 30A2 30B9 30C8 30EB #So SQUARE PIASUTORU
-332F ; NFKC_CF; 30D4 30AF 30EB # So SQUARE PIKURU
-3330 ; NFKC_CF; 30D4 30B3 # So SQUARE PIKO
-3331 ; NFKC_CF; 30D3 30EB # So SQUARE BIRU
-3332 ; NFKC_CF; 30D5 30A1 30E9 30C3 30C9 #So SQUARE HUARADDO
-3333 ; NFKC_CF; 30D5 30A3 30FC 30C8 #So SQUARE HUIITO
-3334 ; NFKC_CF; 30D6 30C3 30B7 30A7 30EB #So SQUARE BUSSYERU
-3335 ; NFKC_CF; 30D5 30E9 30F3 # So SQUARE HURAN
-3336 ; NFKC_CF; 30D8 30AF 30BF 30FC 30EB #So SQUARE HEKUTAARU
-3337 ; NFKC_CF; 30DA 30BD # So SQUARE PESO
-3338 ; NFKC_CF; 30DA 30CB 30D2 # So SQUARE PENIHI
-3339 ; NFKC_CF; 30D8 30EB 30C4 # So SQUARE HERUTU
-333A ; NFKC_CF; 30DA 30F3 30B9 # So SQUARE PENSU
-333B ; NFKC_CF; 30DA 30FC 30B8 # So SQUARE PEEZI
-333C ; NFKC_CF; 30D9 30FC 30BF # So SQUARE BEETA
-333D ; NFKC_CF; 30DD 30A4 30F3 30C8 #So SQUARE POINTO
-333E ; NFKC_CF; 30DC 30EB 30C8 # So SQUARE BORUTO
-333F ; NFKC_CF; 30DB 30F3 # So SQUARE HON
-3340 ; NFKC_CF; 30DD 30F3 30C9 # So SQUARE PONDO
-3341 ; NFKC_CF; 30DB 30FC 30EB # So SQUARE HOORU
-3342 ; NFKC_CF; 30DB 30FC 30F3 # So SQUARE HOON
-3343 ; NFKC_CF; 30DE 30A4 30AF 30ED #So SQUARE MAIKURO
-3344 ; NFKC_CF; 30DE 30A4 30EB # So SQUARE MAIRU
-3345 ; NFKC_CF; 30DE 30C3 30CF # So SQUARE MAHHA
-3346 ; NFKC_CF; 30DE 30EB 30AF # So SQUARE MARUKU
-3347 ; NFKC_CF; 30DE 30F3 30B7 30E7 30F3 #So SQUARE MANSYON
-3348 ; NFKC_CF; 30DF 30AF 30ED 30F3 #So SQUARE MIKURON
-3349 ; NFKC_CF; 30DF 30EA # So SQUARE MIRI
-334A ; NFKC_CF; 30DF 30EA 30D0 30FC 30EB #So SQUARE MIRIBAARU
-334B ; NFKC_CF; 30E1 30AC # So SQUARE MEGA
-334C ; NFKC_CF; 30E1 30AC 30C8 30F3 #So SQUARE MEGATON
-334D ; NFKC_CF; 30E1 30FC 30C8 30EB #So SQUARE MEETORU
-334E ; NFKC_CF; 30E4 30FC 30C9 # So SQUARE YAADO
-334F ; NFKC_CF; 30E4 30FC 30EB # So SQUARE YAARU
-3350 ; NFKC_CF; 30E6 30A2 30F3 # So SQUARE YUAN
-3351 ; NFKC_CF; 30EA 30C3 30C8 30EB #So SQUARE RITTORU
-3352 ; NFKC_CF; 30EA 30E9 # So SQUARE RIRA
-3353 ; NFKC_CF; 30EB 30D4 30FC # So SQUARE RUPII
-3354 ; NFKC_CF; 30EB 30FC 30D6 30EB #So SQUARE RUUBURU
-3355 ; NFKC_CF; 30EC 30E0 # So SQUARE REMU
-3356 ; NFKC_CF; 30EC 30F3 30C8 30B2 30F3 #So SQUARE RENTOGEN
-3357 ; NFKC_CF; 30EF 30C3 30C8 # So SQUARE WATTO
-3358 ; NFKC_CF; 0030 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-3359 ; NFKC_CF; 0031 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-335A ; NFKC_CF; 0032 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-335B ; NFKC_CF; 0033 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-335C ; NFKC_CF; 0034 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-335D ; NFKC_CF; 0035 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-335E ; NFKC_CF; 0036 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-335F ; NFKC_CF; 0037 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-3360 ; NFKC_CF; 0038 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-3361 ; NFKC_CF; 0039 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-3362 ; NFKC_CF; 0031 0030 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-3363 ; NFKC_CF; 0031 0031 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-3364 ; NFKC_CF; 0031 0032 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-3365 ; NFKC_CF; 0031 0033 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-3366 ; NFKC_CF; 0031 0034 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-3367 ; NFKC_CF; 0031 0035 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-3368 ; NFKC_CF; 0031 0036 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-3369 ; NFKC_CF; 0031 0037 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-336A ; NFKC_CF; 0031 0038 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-336B ; NFKC_CF; 0031 0039 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-336C ; NFKC_CF; 0032 0030 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-336D ; NFKC_CF; 0032 0031 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-336E ; NFKC_CF; 0032 0032 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-336F ; NFKC_CF; 0032 0033 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-3370 ; NFKC_CF; 0032 0034 70B9 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-3371 ; NFKC_CF; 0068 0070 0061 # So SQUARE HPA
-3372 ; NFKC_CF; 0064 0061 # So SQUARE DA
-3373 ; NFKC_CF; 0061 0075 # So SQUARE AU
-3374 ; NFKC_CF; 0062 0061 0072 # So SQUARE BAR
-3375 ; NFKC_CF; 006F 0076 # So SQUARE OV
-3376 ; NFKC_CF; 0070 0063 # So SQUARE PC
-3377 ; NFKC_CF; 0064 006D # So SQUARE DM
-3378 ; NFKC_CF; 0064 006D 0032 # So SQUARE DM SQUARED
-3379 ; NFKC_CF; 0064 006D 0033 # So SQUARE DM CUBED
-337A ; NFKC_CF; 0069 0075 # So SQUARE IU
-337B ; NFKC_CF; 5E73 6210 # So SQUARE ERA NAME HEISEI
-337C ; NFKC_CF; 662D 548C # So SQUARE ERA NAME SYOUWA
-337D ; NFKC_CF; 5927 6B63 # So SQUARE ERA NAME TAISYOU
-337E ; NFKC_CF; 660E 6CBB # So SQUARE ERA NAME MEIZI
-337F ; NFKC_CF; 682A 5F0F 4F1A 793E #So SQUARE CORPORATION
-3380 ; NFKC_CF; 0070 0061 # So SQUARE PA AMPS
-3381 ; NFKC_CF; 006E 0061 # So SQUARE NA
-3382 ; NFKC_CF; 03BC 0061 # So SQUARE MU A
-3383 ; NFKC_CF; 006D 0061 # So SQUARE MA
-3384 ; NFKC_CF; 006B 0061 # So SQUARE KA
-3385 ; NFKC_CF; 006B 0062 # So SQUARE KB
-3386 ; NFKC_CF; 006D 0062 # So SQUARE MB
-3387 ; NFKC_CF; 0067 0062 # So SQUARE GB
-3388 ; NFKC_CF; 0063 0061 006C # So SQUARE CAL
-3389 ; NFKC_CF; 006B 0063 0061 006C #So SQUARE KCAL
-338A ; NFKC_CF; 0070 0066 # So SQUARE PF
-338B ; NFKC_CF; 006E 0066 # So SQUARE NF
-338C ; NFKC_CF; 03BC 0066 # So SQUARE MU F
-338D ; NFKC_CF; 03BC 0067 # So SQUARE MU G
-338E ; NFKC_CF; 006D 0067 # So SQUARE MG
-338F ; NFKC_CF; 006B 0067 # So SQUARE KG
-3390 ; NFKC_CF; 0068 007A # So SQUARE HZ
-3391 ; NFKC_CF; 006B 0068 007A # So SQUARE KHZ
-3392 ; NFKC_CF; 006D 0068 007A # So SQUARE MHZ
-3393 ; NFKC_CF; 0067 0068 007A # So SQUARE GHZ
-3394 ; NFKC_CF; 0074 0068 007A # So SQUARE THZ
-3395 ; NFKC_CF; 03BC 006C # So SQUARE MU L
-3396 ; NFKC_CF; 006D 006C # So SQUARE ML
-3397 ; NFKC_CF; 0064 006C # So SQUARE DL
-3398 ; NFKC_CF; 006B 006C # So SQUARE KL
-3399 ; NFKC_CF; 0066 006D # So SQUARE FM
-339A ; NFKC_CF; 006E 006D # So SQUARE NM
-339B ; NFKC_CF; 03BC 006D # So SQUARE MU M
-339C ; NFKC_CF; 006D 006D # So SQUARE MM
-339D ; NFKC_CF; 0063 006D # So SQUARE CM
-339E ; NFKC_CF; 006B 006D # So SQUARE KM
-339F ; NFKC_CF; 006D 006D 0032 # So SQUARE MM SQUARED
-33A0 ; NFKC_CF; 0063 006D 0032 # So SQUARE CM SQUARED
-33A1 ; NFKC_CF; 006D 0032 # So SQUARE M SQUARED
-33A2 ; NFKC_CF; 006B 006D 0032 # So SQUARE KM SQUARED
-33A3 ; NFKC_CF; 006D 006D 0033 # So SQUARE MM CUBED
-33A4 ; NFKC_CF; 0063 006D 0033 # So SQUARE CM CUBED
-33A5 ; NFKC_CF; 006D 0033 # So SQUARE M CUBED
-33A6 ; NFKC_CF; 006B 006D 0033 # So SQUARE KM CUBED
-33A7 ; NFKC_CF; 006D 2215 0073 # So SQUARE M OVER S
-33A8 ; NFKC_CF; 006D 2215 0073 0032 #So SQUARE M OVER S SQUARED
-33A9 ; NFKC_CF; 0070 0061 # So SQUARE PA
-33AA ; NFKC_CF; 006B 0070 0061 # So SQUARE KPA
-33AB ; NFKC_CF; 006D 0070 0061 # So SQUARE MPA
-33AC ; NFKC_CF; 0067 0070 0061 # So SQUARE GPA
-33AD ; NFKC_CF; 0072 0061 0064 # So SQUARE RAD
-33AE ; NFKC_CF; 0072 0061 0064 2215 0073 #So SQUARE RAD OVER S
-33AF ; NFKC_CF; 0072 0061 0064 2215 0073 0032 #So SQUARE RAD OVER S SQUARED
-33B0 ; NFKC_CF; 0070 0073 # So SQUARE PS
-33B1 ; NFKC_CF; 006E 0073 # So SQUARE NS
-33B2 ; NFKC_CF; 03BC 0073 # So SQUARE MU S
-33B3 ; NFKC_CF; 006D 0073 # So SQUARE MS
-33B4 ; NFKC_CF; 0070 0076 # So SQUARE PV
-33B5 ; NFKC_CF; 006E 0076 # So SQUARE NV
-33B6 ; NFKC_CF; 03BC 0076 # So SQUARE MU V
-33B7 ; NFKC_CF; 006D 0076 # So SQUARE MV
-33B8 ; NFKC_CF; 006B 0076 # So SQUARE KV
-33B9 ; NFKC_CF; 006D 0076 # So SQUARE MV MEGA
-33BA ; NFKC_CF; 0070 0077 # So SQUARE PW
-33BB ; NFKC_CF; 006E 0077 # So SQUARE NW
-33BC ; NFKC_CF; 03BC 0077 # So SQUARE MU W
-33BD ; NFKC_CF; 006D 0077 # So SQUARE MW
-33BE ; NFKC_CF; 006B 0077 # So SQUARE KW
-33BF ; NFKC_CF; 006D 0077 # So SQUARE MW MEGA
-33C0 ; NFKC_CF; 006B 03C9 # So SQUARE K OHM
-33C1 ; NFKC_CF; 006D 03C9 # So SQUARE M OHM
-33C2 ; NFKC_CF; 0061 002E 006D 002E #So SQUARE AM
-33C3 ; NFKC_CF; 0062 0071 # So SQUARE BQ
-33C4 ; NFKC_CF; 0063 0063 # So SQUARE CC
-33C5 ; NFKC_CF; 0063 0064 # So SQUARE CD
-33C6 ; NFKC_CF; 0063 2215 006B 0067 #So SQUARE C OVER KG
-33C7 ; NFKC_CF; 0063 006F 002E # So SQUARE CO
-33C8 ; NFKC_CF; 0064 0062 # So SQUARE DB
-33C9 ; NFKC_CF; 0067 0079 # So SQUARE GY
-33CA ; NFKC_CF; 0068 0061 # So SQUARE HA
-33CB ; NFKC_CF; 0068 0070 # So SQUARE HP
-33CC ; NFKC_CF; 0069 006E # So SQUARE IN
-33CD ; NFKC_CF; 006B 006B # So SQUARE KK
-33CE ; NFKC_CF; 006B 006D # So SQUARE KM CAPITAL
-33CF ; NFKC_CF; 006B 0074 # So SQUARE KT
-33D0 ; NFKC_CF; 006C 006D # So SQUARE LM
-33D1 ; NFKC_CF; 006C 006E # So SQUARE LN
-33D2 ; NFKC_CF; 006C 006F 0067 # So SQUARE LOG
-33D3 ; NFKC_CF; 006C 0078 # So SQUARE LX
-33D4 ; NFKC_CF; 006D 0062 # So SQUARE MB SMALL
-33D5 ; NFKC_CF; 006D 0069 006C # So SQUARE MIL
-33D6 ; NFKC_CF; 006D 006F 006C # So SQUARE MOL
-33D7 ; NFKC_CF; 0070 0068 # So SQUARE PH
-33D8 ; NFKC_CF; 0070 002E 006D 002E #So SQUARE PM
-33D9 ; NFKC_CF; 0070 0070 006D # So SQUARE PPM
-33DA ; NFKC_CF; 0070 0072 # So SQUARE PR
-33DB ; NFKC_CF; 0073 0072 # So SQUARE SR
-33DC ; NFKC_CF; 0073 0076 # So SQUARE SV
-33DD ; NFKC_CF; 0077 0062 # So SQUARE WB
-33DE ; NFKC_CF; 0076 2215 006D # So SQUARE V OVER M
-33DF ; NFKC_CF; 0061 2215 006D # So SQUARE A OVER M
-33E0 ; NFKC_CF; 0031 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-33E1 ; NFKC_CF; 0032 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-33E2 ; NFKC_CF; 0033 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-33E3 ; NFKC_CF; 0034 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-33E4 ; NFKC_CF; 0035 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-33E5 ; NFKC_CF; 0036 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-33E6 ; NFKC_CF; 0037 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-33E7 ; NFKC_CF; 0038 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-33E8 ; NFKC_CF; 0039 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-33E9 ; NFKC_CF; 0031 0030 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-33EA ; NFKC_CF; 0031 0031 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-33EB ; NFKC_CF; 0031 0032 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-33EC ; NFKC_CF; 0031 0033 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-33ED ; NFKC_CF; 0031 0034 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-33EE ; NFKC_CF; 0031 0035 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-33EF ; NFKC_CF; 0031 0036 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-33F0 ; NFKC_CF; 0031 0037 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-33F1 ; NFKC_CF; 0031 0038 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-33F2 ; NFKC_CF; 0031 0039 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-33F3 ; NFKC_CF; 0032 0030 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-33F4 ; NFKC_CF; 0032 0031 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-33F5 ; NFKC_CF; 0032 0032 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-33F6 ; NFKC_CF; 0032 0033 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-33F7 ; NFKC_CF; 0032 0034 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-33F8 ; NFKC_CF; 0032 0035 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9 ; NFKC_CF; 0032 0036 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA ; NFKC_CF; 0032 0037 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB ; NFKC_CF; 0032 0038 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC ; NFKC_CF; 0032 0039 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33FD ; NFKC_CF; 0033 0030 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE ; NFKC_CF; 0033 0031 65E5 # So IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33FF ; NFKC_CF; 0067 0061 006C # So SQUARE GAL
-A640 ; NFKC_CF; A641 # L& CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; NFKC_CF; A643 # L& CYRILLIC CAPITAL LETTER DZELO
-A644 ; NFKC_CF; A645 # L& CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; NFKC_CF; A647 # L& CYRILLIC CAPITAL LETTER IOTA
-A648 ; NFKC_CF; A649 # L& CYRILLIC CAPITAL LETTER DJERV
-A64A ; NFKC_CF; A64B # L& CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; NFKC_CF; A64D # L& CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; NFKC_CF; A64F # L& CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; NFKC_CF; A651 # L& CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; NFKC_CF; A653 # L& CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; NFKC_CF; A655 # L& CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; NFKC_CF; A657 # L& CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; NFKC_CF; A659 # L& CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; NFKC_CF; A65B # L& CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; NFKC_CF; A65D # L& CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; NFKC_CF; A65F # L& CYRILLIC CAPITAL LETTER YN
-A662 ; NFKC_CF; A663 # L& CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; NFKC_CF; A665 # L& CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; NFKC_CF; A667 # L& CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; NFKC_CF; A669 # L& CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; NFKC_CF; A66B # L& CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; NFKC_CF; A66D # L& CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; NFKC_CF; A681 # L& CYRILLIC CAPITAL LETTER DWE
-A682 ; NFKC_CF; A683 # L& CYRILLIC CAPITAL LETTER DZWE
-A684 ; NFKC_CF; A685 # L& CYRILLIC CAPITAL LETTER ZHWE
-A686 ; NFKC_CF; A687 # L& CYRILLIC CAPITAL LETTER CCHE
-A688 ; NFKC_CF; A689 # L& CYRILLIC CAPITAL LETTER DZZE
-A68A ; NFKC_CF; A68B # L& CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; NFKC_CF; A68D # L& CYRILLIC CAPITAL LETTER TWE
-A68E ; NFKC_CF; A68F # L& CYRILLIC CAPITAL LETTER TSWE
-A690 ; NFKC_CF; A691 # L& CYRILLIC CAPITAL LETTER TSSE
-A692 ; NFKC_CF; A693 # L& CYRILLIC CAPITAL LETTER TCHE
-A694 ; NFKC_CF; A695 # L& CYRILLIC CAPITAL LETTER HWE
-A696 ; NFKC_CF; A697 # L& CYRILLIC CAPITAL LETTER SHWE
-A722 ; NFKC_CF; A723 # L& LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; NFKC_CF; A725 # L& LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; NFKC_CF; A727 # L& LATIN CAPITAL LETTER HENG
-A728 ; NFKC_CF; A729 # L& LATIN CAPITAL LETTER TZ
-A72A ; NFKC_CF; A72B # L& LATIN CAPITAL LETTER TRESILLO
-A72C ; NFKC_CF; A72D # L& LATIN CAPITAL LETTER CUATRILLO
-A72E ; NFKC_CF; A72F # L& LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; NFKC_CF; A733 # L& LATIN CAPITAL LETTER AA
-A734 ; NFKC_CF; A735 # L& LATIN CAPITAL LETTER AO
-A736 ; NFKC_CF; A737 # L& LATIN CAPITAL LETTER AU
-A738 ; NFKC_CF; A739 # L& LATIN CAPITAL LETTER AV
-A73A ; NFKC_CF; A73B # L& LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; NFKC_CF; A73D # L& LATIN CAPITAL LETTER AY
-A73E ; NFKC_CF; A73F # L& LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; NFKC_CF; A741 # L& LATIN CAPITAL LETTER K WITH STROKE
-A742 ; NFKC_CF; A743 # L& LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; NFKC_CF; A745 # L& LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; NFKC_CF; A747 # L& LATIN CAPITAL LETTER BROKEN L
-A748 ; NFKC_CF; A749 # L& LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; NFKC_CF; A74B # L& LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; NFKC_CF; A74D # L& LATIN CAPITAL LETTER O WITH LOOP
-A74E ; NFKC_CF; A74F # L& LATIN CAPITAL LETTER OO
-A750 ; NFKC_CF; A751 # L& LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; NFKC_CF; A753 # L& LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; NFKC_CF; A755 # L& LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; NFKC_CF; A757 # L& LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; NFKC_CF; A759 # L& LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; NFKC_CF; A75B # L& LATIN CAPITAL LETTER R ROTUNDA
-A75C ; NFKC_CF; A75D # L& LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; NFKC_CF; A75F # L& LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; NFKC_CF; A761 # L& LATIN CAPITAL LETTER VY
-A762 ; NFKC_CF; A763 # L& LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; NFKC_CF; A765 # L& LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; NFKC_CF; A767 # L& LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; NFKC_CF; A769 # L& LATIN CAPITAL LETTER VEND
-A76A ; NFKC_CF; A76B # L& LATIN CAPITAL LETTER ET
-A76C ; NFKC_CF; A76D # L& LATIN CAPITAL LETTER IS
-A76E ; NFKC_CF; A76F # L& LATIN CAPITAL LETTER CON
-A770 ; NFKC_CF; A76F # Lm MODIFIER LETTER US
-A779 ; NFKC_CF; A77A # L& LATIN CAPITAL LETTER INSULAR D
-A77B ; NFKC_CF; A77C # L& LATIN CAPITAL LETTER INSULAR F
-A77D ; NFKC_CF; 1D79 # L& LATIN CAPITAL LETTER INSULAR G
-A77E ; NFKC_CF; A77F # L& LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; NFKC_CF; A781 # L& LATIN CAPITAL LETTER TURNED L
-A782 ; NFKC_CF; A783 # L& LATIN CAPITAL LETTER INSULAR R
-A784 ; NFKC_CF; A785 # L& LATIN CAPITAL LETTER INSULAR S
-A786 ; NFKC_CF; A787 # L& LATIN CAPITAL LETTER INSULAR T
-A78B ; NFKC_CF; A78C # L& LATIN CAPITAL LETTER SALTILLO
-F900 ; NFKC_CF; 8C48 # Lo CJK COMPATIBILITY IDEOGRAPH-F900
-F901 ; NFKC_CF; 66F4 # Lo CJK COMPATIBILITY IDEOGRAPH-F901
-F902 ; NFKC_CF; 8ECA # Lo CJK COMPATIBILITY IDEOGRAPH-F902
-F903 ; NFKC_CF; 8CC8 # Lo CJK COMPATIBILITY IDEOGRAPH-F903
-F904 ; NFKC_CF; 6ED1 # Lo CJK COMPATIBILITY IDEOGRAPH-F904
-F905 ; NFKC_CF; 4E32 # Lo CJK COMPATIBILITY IDEOGRAPH-F905
-F906 ; NFKC_CF; 53E5 # Lo CJK COMPATIBILITY IDEOGRAPH-F906
-F907..F908 ; NFKC_CF; 9F9C # Lo [2] CJK COMPATIBILITY IDEOGRAPH-F907..CJK COMPATIBILITY IDEOGRAPH-F908
-F909 ; NFKC_CF; 5951 # Lo CJK COMPATIBILITY IDEOGRAPH-F909
-F90A ; NFKC_CF; 91D1 # Lo CJK COMPATIBILITY IDEOGRAPH-F90A
-F90B ; NFKC_CF; 5587 # Lo CJK COMPATIBILITY IDEOGRAPH-F90B
-F90C ; NFKC_CF; 5948 # Lo CJK COMPATIBILITY IDEOGRAPH-F90C
-F90D ; NFKC_CF; 61F6 # Lo CJK COMPATIBILITY IDEOGRAPH-F90D
-F90E ; NFKC_CF; 7669 # Lo CJK COMPATIBILITY IDEOGRAPH-F90E
-F90F ; NFKC_CF; 7F85 # Lo CJK COMPATIBILITY IDEOGRAPH-F90F
-F910 ; NFKC_CF; 863F # Lo CJK COMPATIBILITY IDEOGRAPH-F910
-F911 ; NFKC_CF; 87BA # Lo CJK COMPATIBILITY IDEOGRAPH-F911
-F912 ; NFKC_CF; 88F8 # Lo CJK COMPATIBILITY IDEOGRAPH-F912
-F913 ; NFKC_CF; 908F # Lo CJK COMPATIBILITY IDEOGRAPH-F913
-F914 ; NFKC_CF; 6A02 # Lo CJK COMPATIBILITY IDEOGRAPH-F914
-F915 ; NFKC_CF; 6D1B # Lo CJK COMPATIBILITY IDEOGRAPH-F915
-F916 ; NFKC_CF; 70D9 # Lo CJK COMPATIBILITY IDEOGRAPH-F916
-F917 ; NFKC_CF; 73DE # Lo CJK COMPATIBILITY IDEOGRAPH-F917
-F918 ; NFKC_CF; 843D # Lo CJK COMPATIBILITY IDEOGRAPH-F918
-F919 ; NFKC_CF; 916A # Lo CJK COMPATIBILITY IDEOGRAPH-F919
-F91A ; NFKC_CF; 99F1 # Lo CJK COMPATIBILITY IDEOGRAPH-F91A
-F91B ; NFKC_CF; 4E82 # Lo CJK COMPATIBILITY IDEOGRAPH-F91B
-F91C ; NFKC_CF; 5375 # Lo CJK COMPATIBILITY IDEOGRAPH-F91C
-F91D ; NFKC_CF; 6B04 # Lo CJK COMPATIBILITY IDEOGRAPH-F91D
-F91E ; NFKC_CF; 721B # Lo CJK COMPATIBILITY IDEOGRAPH-F91E
-F91F ; NFKC_CF; 862D # Lo CJK COMPATIBILITY IDEOGRAPH-F91F
-F920 ; NFKC_CF; 9E1E # Lo CJK COMPATIBILITY IDEOGRAPH-F920
-F921 ; NFKC_CF; 5D50 # Lo CJK COMPATIBILITY IDEOGRAPH-F921
-F922 ; NFKC_CF; 6FEB # Lo CJK COMPATIBILITY IDEOGRAPH-F922
-F923 ; NFKC_CF; 85CD # Lo CJK COMPATIBILITY IDEOGRAPH-F923
-F924 ; NFKC_CF; 8964 # Lo CJK COMPATIBILITY IDEOGRAPH-F924
-F925 ; NFKC_CF; 62C9 # Lo CJK COMPATIBILITY IDEOGRAPH-F925
-F926 ; NFKC_CF; 81D8 # Lo CJK COMPATIBILITY IDEOGRAPH-F926
-F927 ; NFKC_CF; 881F # Lo CJK COMPATIBILITY IDEOGRAPH-F927
-F928 ; NFKC_CF; 5ECA # Lo CJK COMPATIBILITY IDEOGRAPH-F928
-F929 ; NFKC_CF; 6717 # Lo CJK COMPATIBILITY IDEOGRAPH-F929
-F92A ; NFKC_CF; 6D6A # Lo CJK COMPATIBILITY IDEOGRAPH-F92A
-F92B ; NFKC_CF; 72FC # Lo CJK COMPATIBILITY IDEOGRAPH-F92B
-F92C ; NFKC_CF; 90CE # Lo CJK COMPATIBILITY IDEOGRAPH-F92C
-F92D ; NFKC_CF; 4F86 # Lo CJK COMPATIBILITY IDEOGRAPH-F92D
-F92E ; NFKC_CF; 51B7 # Lo CJK COMPATIBILITY IDEOGRAPH-F92E
-F92F ; NFKC_CF; 52DE # Lo CJK COMPATIBILITY IDEOGRAPH-F92F
-F930 ; NFKC_CF; 64C4 # Lo CJK COMPATIBILITY IDEOGRAPH-F930
-F931 ; NFKC_CF; 6AD3 # Lo CJK COMPATIBILITY IDEOGRAPH-F931
-F932 ; NFKC_CF; 7210 # Lo CJK COMPATIBILITY IDEOGRAPH-F932
-F933 ; NFKC_CF; 76E7 # Lo CJK COMPATIBILITY IDEOGRAPH-F933
-F934 ; NFKC_CF; 8001 # Lo CJK COMPATIBILITY IDEOGRAPH-F934
-F935 ; NFKC_CF; 8606 # Lo CJK COMPATIBILITY IDEOGRAPH-F935
-F936 ; NFKC_CF; 865C # Lo CJK COMPATIBILITY IDEOGRAPH-F936
-F937 ; NFKC_CF; 8DEF # Lo CJK COMPATIBILITY IDEOGRAPH-F937
-F938 ; NFKC_CF; 9732 # Lo CJK COMPATIBILITY IDEOGRAPH-F938
-F939 ; NFKC_CF; 9B6F # Lo CJK COMPATIBILITY IDEOGRAPH-F939
-F93A ; NFKC_CF; 9DFA # Lo CJK COMPATIBILITY IDEOGRAPH-F93A
-F93B ; NFKC_CF; 788C # Lo CJK COMPATIBILITY IDEOGRAPH-F93B
-F93C ; NFKC_CF; 797F # Lo CJK COMPATIBILITY IDEOGRAPH-F93C
-F93D ; NFKC_CF; 7DA0 # Lo CJK COMPATIBILITY IDEOGRAPH-F93D
-F93E ; NFKC_CF; 83C9 # Lo CJK COMPATIBILITY IDEOGRAPH-F93E
-F93F ; NFKC_CF; 9304 # Lo CJK COMPATIBILITY IDEOGRAPH-F93F
-F940 ; NFKC_CF; 9E7F # Lo CJK COMPATIBILITY IDEOGRAPH-F940
-F941 ; NFKC_CF; 8AD6 # Lo CJK COMPATIBILITY IDEOGRAPH-F941
-F942 ; NFKC_CF; 58DF # Lo CJK COMPATIBILITY IDEOGRAPH-F942
-F943 ; NFKC_CF; 5F04 # Lo CJK COMPATIBILITY IDEOGRAPH-F943
-F944 ; NFKC_CF; 7C60 # Lo CJK COMPATIBILITY IDEOGRAPH-F944
-F945 ; NFKC_CF; 807E # Lo CJK COMPATIBILITY IDEOGRAPH-F945
-F946 ; NFKC_CF; 7262 # Lo CJK COMPATIBILITY IDEOGRAPH-F946
-F947 ; NFKC_CF; 78CA # Lo CJK COMPATIBILITY IDEOGRAPH-F947
-F948 ; NFKC_CF; 8CC2 # Lo CJK COMPATIBILITY IDEOGRAPH-F948
-F949 ; NFKC_CF; 96F7 # Lo CJK COMPATIBILITY IDEOGRAPH-F949
-F94A ; NFKC_CF; 58D8 # Lo CJK COMPATIBILITY IDEOGRAPH-F94A
-F94B ; NFKC_CF; 5C62 # Lo CJK COMPATIBILITY IDEOGRAPH-F94B
-F94C ; NFKC_CF; 6A13 # Lo CJK COMPATIBILITY IDEOGRAPH-F94C
-F94D ; NFKC_CF; 6DDA # Lo CJK COMPATIBILITY IDEOGRAPH-F94D
-F94E ; NFKC_CF; 6F0F # Lo CJK COMPATIBILITY IDEOGRAPH-F94E
-F94F ; NFKC_CF; 7D2F # Lo CJK COMPATIBILITY IDEOGRAPH-F94F
-F950 ; NFKC_CF; 7E37 # Lo CJK COMPATIBILITY IDEOGRAPH-F950
-F951 ; NFKC_CF; 964B # Lo CJK COMPATIBILITY IDEOGRAPH-F951
-F952 ; NFKC_CF; 52D2 # Lo CJK COMPATIBILITY IDEOGRAPH-F952
-F953 ; NFKC_CF; 808B # Lo CJK COMPATIBILITY IDEOGRAPH-F953
-F954 ; NFKC_CF; 51DC # Lo CJK COMPATIBILITY IDEOGRAPH-F954
-F955 ; NFKC_CF; 51CC # Lo CJK COMPATIBILITY IDEOGRAPH-F955
-F956 ; NFKC_CF; 7A1C # Lo CJK COMPATIBILITY IDEOGRAPH-F956
-F957 ; NFKC_CF; 7DBE # Lo CJK COMPATIBILITY IDEOGRAPH-F957
-F958 ; NFKC_CF; 83F1 # Lo CJK COMPATIBILITY IDEOGRAPH-F958
-F959 ; NFKC_CF; 9675 # Lo CJK COMPATIBILITY IDEOGRAPH-F959
-F95A ; NFKC_CF; 8B80 # Lo CJK COMPATIBILITY IDEOGRAPH-F95A
-F95B ; NFKC_CF; 62CF # Lo CJK COMPATIBILITY IDEOGRAPH-F95B
-F95C ; NFKC_CF; 6A02 # Lo CJK COMPATIBILITY IDEOGRAPH-F95C
-F95D ; NFKC_CF; 8AFE # Lo CJK COMPATIBILITY IDEOGRAPH-F95D
-F95E ; NFKC_CF; 4E39 # Lo CJK COMPATIBILITY IDEOGRAPH-F95E
-F95F ; NFKC_CF; 5BE7 # Lo CJK COMPATIBILITY IDEOGRAPH-F95F
-F960 ; NFKC_CF; 6012 # Lo CJK COMPATIBILITY IDEOGRAPH-F960
-F961 ; NFKC_CF; 7387 # Lo CJK COMPATIBILITY IDEOGRAPH-F961
-F962 ; NFKC_CF; 7570 # Lo CJK COMPATIBILITY IDEOGRAPH-F962
-F963 ; NFKC_CF; 5317 # Lo CJK COMPATIBILITY IDEOGRAPH-F963
-F964 ; NFKC_CF; 78FB # Lo CJK COMPATIBILITY IDEOGRAPH-F964
-F965 ; NFKC_CF; 4FBF # Lo CJK COMPATIBILITY IDEOGRAPH-F965
-F966 ; NFKC_CF; 5FA9 # Lo CJK COMPATIBILITY IDEOGRAPH-F966
-F967 ; NFKC_CF; 4E0D # Lo CJK COMPATIBILITY IDEOGRAPH-F967
-F968 ; NFKC_CF; 6CCC # Lo CJK COMPATIBILITY IDEOGRAPH-F968
-F969 ; NFKC_CF; 6578 # Lo CJK COMPATIBILITY IDEOGRAPH-F969
-F96A ; NFKC_CF; 7D22 # Lo CJK COMPATIBILITY IDEOGRAPH-F96A
-F96B ; NFKC_CF; 53C3 # Lo CJK COMPATIBILITY IDEOGRAPH-F96B
-F96C ; NFKC_CF; 585E # Lo CJK COMPATIBILITY IDEOGRAPH-F96C
-F96D ; NFKC_CF; 7701 # Lo CJK COMPATIBILITY IDEOGRAPH-F96D
-F96E ; NFKC_CF; 8449 # Lo CJK COMPATIBILITY IDEOGRAPH-F96E
-F96F ; NFKC_CF; 8AAA # Lo CJK COMPATIBILITY IDEOGRAPH-F96F
-F970 ; NFKC_CF; 6BBA # Lo CJK COMPATIBILITY IDEOGRAPH-F970
-F971 ; NFKC_CF; 8FB0 # Lo CJK COMPATIBILITY IDEOGRAPH-F971
-F972 ; NFKC_CF; 6C88 # Lo CJK COMPATIBILITY IDEOGRAPH-F972
-F973 ; NFKC_CF; 62FE # Lo CJK COMPATIBILITY IDEOGRAPH-F973
-F974 ; NFKC_CF; 82E5 # Lo CJK COMPATIBILITY IDEOGRAPH-F974
-F975 ; NFKC_CF; 63A0 # Lo CJK COMPATIBILITY IDEOGRAPH-F975
-F976 ; NFKC_CF; 7565 # Lo CJK COMPATIBILITY IDEOGRAPH-F976
-F977 ; NFKC_CF; 4EAE # Lo CJK COMPATIBILITY IDEOGRAPH-F977
-F978 ; NFKC_CF; 5169 # Lo CJK COMPATIBILITY IDEOGRAPH-F978
-F979 ; NFKC_CF; 51C9 # Lo CJK COMPATIBILITY IDEOGRAPH-F979
-F97A ; NFKC_CF; 6881 # Lo CJK COMPATIBILITY IDEOGRAPH-F97A
-F97B ; NFKC_CF; 7CE7 # Lo CJK COMPATIBILITY IDEOGRAPH-F97B
-F97C ; NFKC_CF; 826F # Lo CJK COMPATIBILITY IDEOGRAPH-F97C
-F97D ; NFKC_CF; 8AD2 # Lo CJK COMPATIBILITY IDEOGRAPH-F97D
-F97E ; NFKC_CF; 91CF # Lo CJK COMPATIBILITY IDEOGRAPH-F97E
-F97F ; NFKC_CF; 52F5 # Lo CJK COMPATIBILITY IDEOGRAPH-F97F
-F980 ; NFKC_CF; 5442 # Lo CJK COMPATIBILITY IDEOGRAPH-F980
-F981 ; NFKC_CF; 5973 # Lo CJK COMPATIBILITY IDEOGRAPH-F981
-F982 ; NFKC_CF; 5EEC # Lo CJK COMPATIBILITY IDEOGRAPH-F982
-F983 ; NFKC_CF; 65C5 # Lo CJK COMPATIBILITY IDEOGRAPH-F983
-F984 ; NFKC_CF; 6FFE # Lo CJK COMPATIBILITY IDEOGRAPH-F984
-F985 ; NFKC_CF; 792A # Lo CJK COMPATIBILITY IDEOGRAPH-F985
-F986 ; NFKC_CF; 95AD # Lo CJK COMPATIBILITY IDEOGRAPH-F986
-F987 ; NFKC_CF; 9A6A # Lo CJK COMPATIBILITY IDEOGRAPH-F987
-F988 ; NFKC_CF; 9E97 # Lo CJK COMPATIBILITY IDEOGRAPH-F988
-F989 ; NFKC_CF; 9ECE # Lo CJK COMPATIBILITY IDEOGRAPH-F989
-F98A ; NFKC_CF; 529B # Lo CJK COMPATIBILITY IDEOGRAPH-F98A
-F98B ; NFKC_CF; 66C6 # Lo CJK COMPATIBILITY IDEOGRAPH-F98B
-F98C ; NFKC_CF; 6B77 # Lo CJK COMPATIBILITY IDEOGRAPH-F98C
-F98D ; NFKC_CF; 8F62 # Lo CJK COMPATIBILITY IDEOGRAPH-F98D
-F98E ; NFKC_CF; 5E74 # Lo CJK COMPATIBILITY IDEOGRAPH-F98E
-F98F ; NFKC_CF; 6190 # Lo CJK COMPATIBILITY IDEOGRAPH-F98F
-F990 ; NFKC_CF; 6200 # Lo CJK COMPATIBILITY IDEOGRAPH-F990
-F991 ; NFKC_CF; 649A # Lo CJK COMPATIBILITY IDEOGRAPH-F991
-F992 ; NFKC_CF; 6F23 # Lo CJK COMPATIBILITY IDEOGRAPH-F992
-F993 ; NFKC_CF; 7149 # Lo CJK COMPATIBILITY IDEOGRAPH-F993
-F994 ; NFKC_CF; 7489 # Lo CJK COMPATIBILITY IDEOGRAPH-F994
-F995 ; NFKC_CF; 79CA # Lo CJK COMPATIBILITY IDEOGRAPH-F995
-F996 ; NFKC_CF; 7DF4 # Lo CJK COMPATIBILITY IDEOGRAPH-F996
-F997 ; NFKC_CF; 806F # Lo CJK COMPATIBILITY IDEOGRAPH-F997
-F998 ; NFKC_CF; 8F26 # Lo CJK COMPATIBILITY IDEOGRAPH-F998
-F999 ; NFKC_CF; 84EE # Lo CJK COMPATIBILITY IDEOGRAPH-F999
-F99A ; NFKC_CF; 9023 # Lo CJK COMPATIBILITY IDEOGRAPH-F99A
-F99B ; NFKC_CF; 934A # Lo CJK COMPATIBILITY IDEOGRAPH-F99B
-F99C ; NFKC_CF; 5217 # Lo CJK COMPATIBILITY IDEOGRAPH-F99C
-F99D ; NFKC_CF; 52A3 # Lo CJK COMPATIBILITY IDEOGRAPH-F99D
-F99E ; NFKC_CF; 54BD # Lo CJK COMPATIBILITY IDEOGRAPH-F99E
-F99F ; NFKC_CF; 70C8 # Lo CJK COMPATIBILITY IDEOGRAPH-F99F
-F9A0 ; NFKC_CF; 88C2 # Lo CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9A1 ; NFKC_CF; 8AAA # Lo CJK COMPATIBILITY IDEOGRAPH-F9A1
-F9A2 ; NFKC_CF; 5EC9 # Lo CJK COMPATIBILITY IDEOGRAPH-F9A2
-F9A3 ; NFKC_CF; 5FF5 # Lo CJK COMPATIBILITY IDEOGRAPH-F9A3
-F9A4 ; NFKC_CF; 637B # Lo CJK COMPATIBILITY IDEOGRAPH-F9A4
-F9A5 ; NFKC_CF; 6BAE # Lo CJK COMPATIBILITY IDEOGRAPH-F9A5
-F9A6 ; NFKC_CF; 7C3E # Lo CJK COMPATIBILITY IDEOGRAPH-F9A6
-F9A7 ; NFKC_CF; 7375 # Lo CJK COMPATIBILITY IDEOGRAPH-F9A7
-F9A8 ; NFKC_CF; 4EE4 # Lo CJK COMPATIBILITY IDEOGRAPH-F9A8
-F9A9 ; NFKC_CF; 56F9 # Lo CJK COMPATIBILITY IDEOGRAPH-F9A9
-F9AA ; NFKC_CF; 5BE7 # Lo CJK COMPATIBILITY IDEOGRAPH-F9AA
-F9AB ; NFKC_CF; 5DBA # Lo CJK COMPATIBILITY IDEOGRAPH-F9AB
-F9AC ; NFKC_CF; 601C # Lo CJK COMPATIBILITY IDEOGRAPH-F9AC
-F9AD ; NFKC_CF; 73B2 # Lo CJK COMPATIBILITY IDEOGRAPH-F9AD
-F9AE ; NFKC_CF; 7469 # Lo CJK COMPATIBILITY IDEOGRAPH-F9AE
-F9AF ; NFKC_CF; 7F9A # Lo CJK COMPATIBILITY IDEOGRAPH-F9AF
-F9B0 ; NFKC_CF; 8046 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B0
-F9B1 ; NFKC_CF; 9234 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B1
-F9B2 ; NFKC_CF; 96F6 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B2
-F9B3 ; NFKC_CF; 9748 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B3
-F9B4 ; NFKC_CF; 9818 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B4
-F9B5 ; NFKC_CF; 4F8B # Lo CJK COMPATIBILITY IDEOGRAPH-F9B5
-F9B6 ; NFKC_CF; 79AE # Lo CJK COMPATIBILITY IDEOGRAPH-F9B6
-F9B7 ; NFKC_CF; 91B4 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9B8 ; NFKC_CF; 96B8 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9B9 ; NFKC_CF; 60E1 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B9
-F9BA ; NFKC_CF; 4E86 # Lo CJK COMPATIBILITY IDEOGRAPH-F9BA
-F9BB ; NFKC_CF; 50DA # Lo CJK COMPATIBILITY IDEOGRAPH-F9BB
-F9BC ; NFKC_CF; 5BEE # Lo CJK COMPATIBILITY IDEOGRAPH-F9BC
-F9BD ; NFKC_CF; 5C3F # Lo CJK COMPATIBILITY IDEOGRAPH-F9BD
-F9BE ; NFKC_CF; 6599 # Lo CJK COMPATIBILITY IDEOGRAPH-F9BE
-F9BF ; NFKC_CF; 6A02 # Lo CJK COMPATIBILITY IDEOGRAPH-F9BF
-F9C0 ; NFKC_CF; 71CE # Lo CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9C1 ; NFKC_CF; 7642 # Lo CJK COMPATIBILITY IDEOGRAPH-F9C1
-F9C2 ; NFKC_CF; 84FC # Lo CJK COMPATIBILITY IDEOGRAPH-F9C2
-F9C3 ; NFKC_CF; 907C # Lo CJK COMPATIBILITY IDEOGRAPH-F9C3
-F9C4 ; NFKC_CF; 9F8D # Lo CJK COMPATIBILITY IDEOGRAPH-F9C4
-F9C5 ; NFKC_CF; 6688 # Lo CJK COMPATIBILITY IDEOGRAPH-F9C5
-F9C6 ; NFKC_CF; 962E # Lo CJK COMPATIBILITY IDEOGRAPH-F9C6
-F9C7 ; NFKC_CF; 5289 # Lo CJK COMPATIBILITY IDEOGRAPH-F9C7
-F9C8 ; NFKC_CF; 677B # Lo CJK COMPATIBILITY IDEOGRAPH-F9C8
-F9C9 ; NFKC_CF; 67F3 # Lo CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9CA ; NFKC_CF; 6D41 # Lo CJK COMPATIBILITY IDEOGRAPH-F9CA
-F9CB ; NFKC_CF; 6E9C # Lo CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9CC ; NFKC_CF; 7409 # Lo CJK COMPATIBILITY IDEOGRAPH-F9CC
-F9CD ; NFKC_CF; 7559 # Lo CJK COMPATIBILITY IDEOGRAPH-F9CD
-F9CE ; NFKC_CF; 786B # Lo CJK COMPATIBILITY IDEOGRAPH-F9CE
-F9CF ; NFKC_CF; 7D10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9CF
-F9D0 ; NFKC_CF; 985E # Lo CJK COMPATIBILITY IDEOGRAPH-F9D0
-F9D1 ; NFKC_CF; 516D # Lo CJK COMPATIBILITY IDEOGRAPH-F9D1
-F9D2 ; NFKC_CF; 622E # Lo CJK COMPATIBILITY IDEOGRAPH-F9D2
-F9D3 ; NFKC_CF; 9678 # Lo CJK COMPATIBILITY IDEOGRAPH-F9D3
-F9D4 ; NFKC_CF; 502B # Lo CJK COMPATIBILITY IDEOGRAPH-F9D4
-F9D5 ; NFKC_CF; 5D19 # Lo CJK COMPATIBILITY IDEOGRAPH-F9D5
-F9D6 ; NFKC_CF; 6DEA # Lo CJK COMPATIBILITY IDEOGRAPH-F9D6
-F9D7 ; NFKC_CF; 8F2A # Lo CJK COMPATIBILITY IDEOGRAPH-F9D7
-F9D8 ; NFKC_CF; 5F8B # Lo CJK COMPATIBILITY IDEOGRAPH-F9D8
-F9D9 ; NFKC_CF; 6144 # Lo CJK COMPATIBILITY IDEOGRAPH-F9D9
-F9DA ; NFKC_CF; 6817 # Lo CJK COMPATIBILITY IDEOGRAPH-F9DA
-F9DB ; NFKC_CF; 7387 # Lo CJK COMPATIBILITY IDEOGRAPH-F9DB
-F9DC ; NFKC_CF; 9686 # Lo CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9DD ; NFKC_CF; 5229 # Lo CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9DE ; NFKC_CF; 540F # Lo CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9DF ; NFKC_CF; 5C65 # Lo CJK COMPATIBILITY IDEOGRAPH-F9DF
-F9E0 ; NFKC_CF; 6613 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E0
-F9E1 ; NFKC_CF; 674E # Lo CJK COMPATIBILITY IDEOGRAPH-F9E1
-F9E2 ; NFKC_CF; 68A8 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E2
-F9E3 ; NFKC_CF; 6CE5 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E3
-F9E4 ; NFKC_CF; 7406 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9E5 ; NFKC_CF; 75E2 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E5
-F9E6 ; NFKC_CF; 7F79 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E6
-F9E7 ; NFKC_CF; 88CF # Lo CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8 ; NFKC_CF; 88E1 # Lo CJK COMPATIBILITY IDEOGRAPH-F9E8
-F9E9 ; NFKC_CF; 91CC # Lo CJK COMPATIBILITY IDEOGRAPH-F9E9
-F9EA ; NFKC_CF; 96E2 # Lo CJK COMPATIBILITY IDEOGRAPH-F9EA
-F9EB ; NFKC_CF; 533F # Lo CJK COMPATIBILITY IDEOGRAPH-F9EB
-F9EC ; NFKC_CF; 6EBA # Lo CJK COMPATIBILITY IDEOGRAPH-F9EC
-F9ED ; NFKC_CF; 541D # Lo CJK COMPATIBILITY IDEOGRAPH-F9ED
-F9EE ; NFKC_CF; 71D0 # Lo CJK COMPATIBILITY IDEOGRAPH-F9EE
-F9EF ; NFKC_CF; 7498 # Lo CJK COMPATIBILITY IDEOGRAPH-F9EF
-F9F0 ; NFKC_CF; 85FA # Lo CJK COMPATIBILITY IDEOGRAPH-F9F0
-F9F1 ; NFKC_CF; 96A3 # Lo CJK COMPATIBILITY IDEOGRAPH-F9F1
-F9F2 ; NFKC_CF; 9C57 # Lo CJK COMPATIBILITY IDEOGRAPH-F9F2
-F9F3 ; NFKC_CF; 9E9F # Lo CJK COMPATIBILITY IDEOGRAPH-F9F3
-F9F4 ; NFKC_CF; 6797 # Lo CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9F5 ; NFKC_CF; 6DCB # Lo CJK COMPATIBILITY IDEOGRAPH-F9F5
-F9F6 ; NFKC_CF; 81E8 # Lo CJK COMPATIBILITY IDEOGRAPH-F9F6
-F9F7 ; NFKC_CF; 7ACB # Lo CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8 ; NFKC_CF; 7B20 # Lo CJK COMPATIBILITY IDEOGRAPH-F9F8
-F9F9 ; NFKC_CF; 7C92 # Lo CJK COMPATIBILITY IDEOGRAPH-F9F9
-F9FA ; NFKC_CF; 72C0 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FA
-F9FB ; NFKC_CF; 7099 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FB
-F9FC ; NFKC_CF; 8B58 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FC
-F9FD ; NFKC_CF; 4EC0 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9FE ; NFKC_CF; 8336 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FE
-F9FF ; NFKC_CF; 523A # Lo CJK COMPATIBILITY IDEOGRAPH-F9FF
-FA00 ; NFKC_CF; 5207 # Lo CJK COMPATIBILITY IDEOGRAPH-FA00
-FA01 ; NFKC_CF; 5EA6 # Lo CJK COMPATIBILITY IDEOGRAPH-FA01
-FA02 ; NFKC_CF; 62D3 # Lo CJK COMPATIBILITY IDEOGRAPH-FA02
-FA03 ; NFKC_CF; 7CD6 # Lo CJK COMPATIBILITY IDEOGRAPH-FA03
-FA04 ; NFKC_CF; 5B85 # Lo CJK COMPATIBILITY IDEOGRAPH-FA04
-FA05 ; NFKC_CF; 6D1E # Lo CJK COMPATIBILITY IDEOGRAPH-FA05
-FA06 ; NFKC_CF; 66B4 # Lo CJK COMPATIBILITY IDEOGRAPH-FA06
-FA07 ; NFKC_CF; 8F3B # Lo CJK COMPATIBILITY IDEOGRAPH-FA07
-FA08 ; NFKC_CF; 884C # Lo CJK COMPATIBILITY IDEOGRAPH-FA08
-FA09 ; NFKC_CF; 964D # Lo CJK COMPATIBILITY IDEOGRAPH-FA09
-FA0A ; NFKC_CF; 898B # Lo CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA0B ; NFKC_CF; 5ED3 # Lo CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA0C ; NFKC_CF; 5140 # Lo CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA0D ; NFKC_CF; 55C0 # Lo CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; NFKC_CF; 585A # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; NFKC_CF; 6674 # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15 ; NFKC_CF; 51DE # Lo CJK COMPATIBILITY IDEOGRAPH-FA15
-FA16 ; NFKC_CF; 732A # Lo CJK COMPATIBILITY IDEOGRAPH-FA16
-FA17 ; NFKC_CF; 76CA # Lo CJK COMPATIBILITY IDEOGRAPH-FA17
-FA18 ; NFKC_CF; 793C # Lo CJK COMPATIBILITY IDEOGRAPH-FA18
-FA19 ; NFKC_CF; 795E # Lo CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; NFKC_CF; 7965 # Lo CJK COMPATIBILITY IDEOGRAPH-FA1A
-FA1B ; NFKC_CF; 798F # Lo CJK COMPATIBILITY IDEOGRAPH-FA1B
-FA1C ; NFKC_CF; 9756 # Lo CJK COMPATIBILITY IDEOGRAPH-FA1C
-FA1D ; NFKC_CF; 7CBE # Lo CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA1E ; NFKC_CF; 7FBD # Lo CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; NFKC_CF; 8612 # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; NFKC_CF; 8AF8 # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25 ; NFKC_CF; 9038 # Lo CJK COMPATIBILITY IDEOGRAPH-FA25
-FA26 ; NFKC_CF; 90FD # Lo CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A ; NFKC_CF; 98EF # Lo CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; NFKC_CF; 98FC # Lo CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; NFKC_CF; 9928 # Lo CJK COMPATIBILITY IDEOGRAPH-FA2C
-FA2D ; NFKC_CF; 9DB4 # Lo CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30 ; NFKC_CF; 4FAE # Lo CJK COMPATIBILITY IDEOGRAPH-FA30
-FA31 ; NFKC_CF; 50E7 # Lo CJK COMPATIBILITY IDEOGRAPH-FA31
-FA32 ; NFKC_CF; 514D # Lo CJK COMPATIBILITY IDEOGRAPH-FA32
-FA33 ; NFKC_CF; 52C9 # Lo CJK COMPATIBILITY IDEOGRAPH-FA33
-FA34 ; NFKC_CF; 52E4 # Lo CJK COMPATIBILITY IDEOGRAPH-FA34
-FA35 ; NFKC_CF; 5351 # Lo CJK COMPATIBILITY IDEOGRAPH-FA35
-FA36 ; NFKC_CF; 559D # Lo CJK COMPATIBILITY IDEOGRAPH-FA36
-FA37 ; NFKC_CF; 5606 # Lo CJK COMPATIBILITY IDEOGRAPH-FA37
-FA38 ; NFKC_CF; 5668 # Lo CJK COMPATIBILITY IDEOGRAPH-FA38
-FA39 ; NFKC_CF; 5840 # Lo CJK COMPATIBILITY IDEOGRAPH-FA39
-FA3A ; NFKC_CF; 58A8 # Lo CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA3B ; NFKC_CF; 5C64 # Lo CJK COMPATIBILITY IDEOGRAPH-FA3B
-FA3C ; NFKC_CF; 5C6E # Lo CJK COMPATIBILITY IDEOGRAPH-FA3C
-FA3D ; NFKC_CF; 6094 # Lo CJK COMPATIBILITY IDEOGRAPH-FA3D
-FA3E ; NFKC_CF; 6168 # Lo CJK COMPATIBILITY IDEOGRAPH-FA3E
-FA3F ; NFKC_CF; 618E # Lo CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA40 ; NFKC_CF; 61F2 # Lo CJK COMPATIBILITY IDEOGRAPH-FA40
-FA41 ; NFKC_CF; 654F # Lo CJK COMPATIBILITY IDEOGRAPH-FA41
-FA42 ; NFKC_CF; 65E2 # Lo CJK COMPATIBILITY IDEOGRAPH-FA42
-FA43 ; NFKC_CF; 6691 # Lo CJK COMPATIBILITY IDEOGRAPH-FA43
-FA44 ; NFKC_CF; 6885 # Lo CJK COMPATIBILITY IDEOGRAPH-FA44
-FA45 ; NFKC_CF; 6D77 # Lo CJK COMPATIBILITY IDEOGRAPH-FA45
-FA46 ; NFKC_CF; 6E1A # Lo CJK COMPATIBILITY IDEOGRAPH-FA46
-FA47 ; NFKC_CF; 6F22 # Lo CJK COMPATIBILITY IDEOGRAPH-FA47
-FA48 ; NFKC_CF; 716E # Lo CJK COMPATIBILITY IDEOGRAPH-FA48
-FA49 ; NFKC_CF; 722B # Lo CJK COMPATIBILITY IDEOGRAPH-FA49
-FA4A ; NFKC_CF; 7422 # Lo CJK COMPATIBILITY IDEOGRAPH-FA4A
-FA4B ; NFKC_CF; 7891 # Lo CJK COMPATIBILITY IDEOGRAPH-FA4B
-FA4C ; NFKC_CF; 793E # Lo CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4D ; NFKC_CF; 7949 # Lo CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4E ; NFKC_CF; 7948 # Lo CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4F ; NFKC_CF; 7950 # Lo CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; NFKC_CF; 7956 # Lo CJK COMPATIBILITY IDEOGRAPH-FA50
-FA51 ; NFKC_CF; 795D # Lo CJK COMPATIBILITY IDEOGRAPH-FA51
-FA52 ; NFKC_CF; 798D # Lo CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; NFKC_CF; 798E # Lo CJK COMPATIBILITY IDEOGRAPH-FA53
-FA54 ; NFKC_CF; 7A40 # Lo CJK COMPATIBILITY IDEOGRAPH-FA54
-FA55 ; NFKC_CF; 7A81 # Lo CJK COMPATIBILITY IDEOGRAPH-FA55
-FA56 ; NFKC_CF; 7BC0 # Lo CJK COMPATIBILITY IDEOGRAPH-FA56
-FA57 ; NFKC_CF; 7DF4 # Lo CJK COMPATIBILITY IDEOGRAPH-FA57
-FA58 ; NFKC_CF; 7E09 # Lo CJK COMPATIBILITY IDEOGRAPH-FA58
-FA59 ; NFKC_CF; 7E41 # Lo CJK COMPATIBILITY IDEOGRAPH-FA59
-FA5A ; NFKC_CF; 7F72 # Lo CJK COMPATIBILITY IDEOGRAPH-FA5A
-FA5B ; NFKC_CF; 8005 # Lo CJK COMPATIBILITY IDEOGRAPH-FA5B
-FA5C ; NFKC_CF; 81ED # Lo CJK COMPATIBILITY IDEOGRAPH-FA5C
-FA5D..FA5E ; NFKC_CF; 8279 # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA5D..CJK COMPATIBILITY IDEOGRAPH-FA5E
-FA5F ; NFKC_CF; 8457 # Lo CJK COMPATIBILITY IDEOGRAPH-FA5F
-FA60 ; NFKC_CF; 8910 # Lo CJK COMPATIBILITY IDEOGRAPH-FA60
-FA61 ; NFKC_CF; 8996 # Lo CJK COMPATIBILITY IDEOGRAPH-FA61
-FA62 ; NFKC_CF; 8B01 # Lo CJK COMPATIBILITY IDEOGRAPH-FA62
-FA63 ; NFKC_CF; 8B39 # Lo CJK COMPATIBILITY IDEOGRAPH-FA63
-FA64 ; NFKC_CF; 8CD3 # Lo CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; NFKC_CF; 8D08 # Lo CJK COMPATIBILITY IDEOGRAPH-FA65
-FA66 ; NFKC_CF; 8FB6 # Lo CJK COMPATIBILITY IDEOGRAPH-FA66
-FA67 ; NFKC_CF; 9038 # Lo CJK COMPATIBILITY IDEOGRAPH-FA67
-FA68 ; NFKC_CF; 96E3 # Lo CJK COMPATIBILITY IDEOGRAPH-FA68
-FA69 ; NFKC_CF; 97FF # Lo CJK COMPATIBILITY IDEOGRAPH-FA69
-FA6A ; NFKC_CF; 983B # Lo CJK COMPATIBILITY IDEOGRAPH-FA6A
-FA6B ; NFKC_CF; 6075 # Lo CJK COMPATIBILITY IDEOGRAPH-FA6B
-FA6C ; NFKC_CF; 242EE # Lo CJK COMPATIBILITY IDEOGRAPH-FA6C
-FA6D ; NFKC_CF; 8218 # Lo CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70 ; NFKC_CF; 4E26 # Lo CJK COMPATIBILITY IDEOGRAPH-FA70
-FA71 ; NFKC_CF; 51B5 # Lo CJK COMPATIBILITY IDEOGRAPH-FA71
-FA72 ; NFKC_CF; 5168 # Lo CJK COMPATIBILITY IDEOGRAPH-FA72
-FA73 ; NFKC_CF; 4F80 # Lo CJK COMPATIBILITY IDEOGRAPH-FA73
-FA74 ; NFKC_CF; 5145 # Lo CJK COMPATIBILITY IDEOGRAPH-FA74
-FA75 ; NFKC_CF; 5180 # Lo CJK COMPATIBILITY IDEOGRAPH-FA75
-FA76 ; NFKC_CF; 52C7 # Lo CJK COMPATIBILITY IDEOGRAPH-FA76
-FA77 ; NFKC_CF; 52FA # Lo CJK COMPATIBILITY IDEOGRAPH-FA77
-FA78 ; NFKC_CF; 559D # Lo CJK COMPATIBILITY IDEOGRAPH-FA78
-FA79 ; NFKC_CF; 5555 # Lo CJK COMPATIBILITY IDEOGRAPH-FA79
-FA7A ; NFKC_CF; 5599 # Lo CJK COMPATIBILITY IDEOGRAPH-FA7A
-FA7B ; NFKC_CF; 55E2 # Lo CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA7C ; NFKC_CF; 585A # Lo CJK COMPATIBILITY IDEOGRAPH-FA7C
-FA7D ; NFKC_CF; 58B3 # Lo CJK COMPATIBILITY IDEOGRAPH-FA7D
-FA7E ; NFKC_CF; 5944 # Lo CJK COMPATIBILITY IDEOGRAPH-FA7E
-FA7F ; NFKC_CF; 5954 # Lo CJK COMPATIBILITY IDEOGRAPH-FA7F
-FA80 ; NFKC_CF; 5A62 # Lo CJK COMPATIBILITY IDEOGRAPH-FA80
-FA81 ; NFKC_CF; 5B28 # Lo CJK COMPATIBILITY IDEOGRAPH-FA81
-FA82 ; NFKC_CF; 5ED2 # Lo CJK COMPATIBILITY IDEOGRAPH-FA82
-FA83 ; NFKC_CF; 5ED9 # Lo CJK COMPATIBILITY IDEOGRAPH-FA83
-FA84 ; NFKC_CF; 5F69 # Lo CJK COMPATIBILITY IDEOGRAPH-FA84
-FA85 ; NFKC_CF; 5FAD # Lo CJK COMPATIBILITY IDEOGRAPH-FA85
-FA86 ; NFKC_CF; 60D8 # Lo CJK COMPATIBILITY IDEOGRAPH-FA86
-FA87 ; NFKC_CF; 614E # Lo CJK COMPATIBILITY IDEOGRAPH-FA87
-FA88 ; NFKC_CF; 6108 # Lo CJK COMPATIBILITY IDEOGRAPH-FA88
-FA89 ; NFKC_CF; 618E # Lo CJK COMPATIBILITY IDEOGRAPH-FA89
-FA8A ; NFKC_CF; 6160 # Lo CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA8B ; NFKC_CF; 61F2 # Lo CJK COMPATIBILITY IDEOGRAPH-FA8B
-FA8C ; NFKC_CF; 6234 # Lo CJK COMPATIBILITY IDEOGRAPH-FA8C
-FA8D ; NFKC_CF; 63C4 # Lo CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E ; NFKC_CF; 641C # Lo CJK COMPATIBILITY IDEOGRAPH-FA8E
-FA8F ; NFKC_CF; 6452 # Lo CJK COMPATIBILITY IDEOGRAPH-FA8F
-FA90 ; NFKC_CF; 6556 # Lo CJK COMPATIBILITY IDEOGRAPH-FA90
-FA91 ; NFKC_CF; 6674 # Lo CJK COMPATIBILITY IDEOGRAPH-FA91
-FA92 ; NFKC_CF; 6717 # Lo CJK COMPATIBILITY IDEOGRAPH-FA92
-FA93 ; NFKC_CF; 671B # Lo CJK COMPATIBILITY IDEOGRAPH-FA93
-FA94 ; NFKC_CF; 6756 # Lo CJK COMPATIBILITY IDEOGRAPH-FA94
-FA95 ; NFKC_CF; 6B79 # Lo CJK COMPATIBILITY IDEOGRAPH-FA95
-FA96 ; NFKC_CF; 6BBA # Lo CJK COMPATIBILITY IDEOGRAPH-FA96
-FA97 ; NFKC_CF; 6D41 # Lo CJK COMPATIBILITY IDEOGRAPH-FA97
-FA98 ; NFKC_CF; 6EDB # Lo CJK COMPATIBILITY IDEOGRAPH-FA98
-FA99 ; NFKC_CF; 6ECB # Lo CJK COMPATIBILITY IDEOGRAPH-FA99
-FA9A ; NFKC_CF; 6F22 # Lo CJK COMPATIBILITY IDEOGRAPH-FA9A
-FA9B ; NFKC_CF; 701E # Lo CJK COMPATIBILITY IDEOGRAPH-FA9B
-FA9C ; NFKC_CF; 716E # Lo CJK COMPATIBILITY IDEOGRAPH-FA9C
-FA9D ; NFKC_CF; 77A7 # Lo CJK COMPATIBILITY IDEOGRAPH-FA9D
-FA9E ; NFKC_CF; 7235 # Lo CJK COMPATIBILITY IDEOGRAPH-FA9E
-FA9F ; NFKC_CF; 72AF # Lo CJK COMPATIBILITY IDEOGRAPH-FA9F
-FAA0 ; NFKC_CF; 732A # Lo CJK COMPATIBILITY IDEOGRAPH-FAA0
-FAA1 ; NFKC_CF; 7471 # Lo CJK COMPATIBILITY IDEOGRAPH-FAA1
-FAA2 ; NFKC_CF; 7506 # Lo CJK COMPATIBILITY IDEOGRAPH-FAA2
-FAA3 ; NFKC_CF; 753B # Lo CJK COMPATIBILITY IDEOGRAPH-FAA3
-FAA4 ; NFKC_CF; 761D # Lo CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; NFKC_CF; 761F # Lo CJK COMPATIBILITY IDEOGRAPH-FAA5
-FAA6 ; NFKC_CF; 76CA # Lo CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; NFKC_CF; 76DB # Lo CJK COMPATIBILITY IDEOGRAPH-FAA7
-FAA8 ; NFKC_CF; 76F4 # Lo CJK COMPATIBILITY IDEOGRAPH-FAA8
-FAA9 ; NFKC_CF; 774A # Lo CJK COMPATIBILITY IDEOGRAPH-FAA9
-FAAA ; NFKC_CF; 7740 # Lo CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAAB ; NFKC_CF; 78CC # Lo CJK COMPATIBILITY IDEOGRAPH-FAAB
-FAAC ; NFKC_CF; 7AB1 # Lo CJK COMPATIBILITY IDEOGRAPH-FAAC
-FAAD ; NFKC_CF; 7BC0 # Lo CJK COMPATIBILITY IDEOGRAPH-FAAD
-FAAE ; NFKC_CF; 7C7B # Lo CJK COMPATIBILITY IDEOGRAPH-FAAE
-FAAF ; NFKC_CF; 7D5B # Lo CJK COMPATIBILITY IDEOGRAPH-FAAF
-FAB0 ; NFKC_CF; 7DF4 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB0
-FAB1 ; NFKC_CF; 7F3E # Lo CJK COMPATIBILITY IDEOGRAPH-FAB1
-FAB2 ; NFKC_CF; 8005 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB2
-FAB3 ; NFKC_CF; 8352 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB3
-FAB4 ; NFKC_CF; 83EF # Lo CJK COMPATIBILITY IDEOGRAPH-FAB4
-FAB5 ; NFKC_CF; 8779 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB5
-FAB6 ; NFKC_CF; 8941 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB6
-FAB7 ; NFKC_CF; 8986 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB7
-FAB8 ; NFKC_CF; 8996 # Lo CJK COMPATIBILITY IDEOGRAPH-FAB8
-FAB9 ; NFKC_CF; 8ABF # Lo CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABA ; NFKC_CF; 8AF8 # Lo CJK COMPATIBILITY IDEOGRAPH-FABA
-FABB ; NFKC_CF; 8ACB # Lo CJK COMPATIBILITY IDEOGRAPH-FABB
-FABC ; NFKC_CF; 8B01 # Lo CJK COMPATIBILITY IDEOGRAPH-FABC
-FABD ; NFKC_CF; 8AFE # Lo CJK COMPATIBILITY IDEOGRAPH-FABD
-FABE ; NFKC_CF; 8AED # Lo CJK COMPATIBILITY IDEOGRAPH-FABE
-FABF ; NFKC_CF; 8B39 # Lo CJK COMPATIBILITY IDEOGRAPH-FABF
-FAC0 ; NFKC_CF; 8B8A # Lo CJK COMPATIBILITY IDEOGRAPH-FAC0
-FAC1 ; NFKC_CF; 8D08 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC1
-FAC2 ; NFKC_CF; 8F38 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC2
-FAC3 ; NFKC_CF; 9072 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC3
-FAC4 ; NFKC_CF; 9199 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC4
-FAC5 ; NFKC_CF; 9276 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC5
-FAC6 ; NFKC_CF; 967C # Lo CJK COMPATIBILITY IDEOGRAPH-FAC6
-FAC7 ; NFKC_CF; 96E3 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC7
-FAC8 ; NFKC_CF; 9756 # Lo CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9 ; NFKC_CF; 97DB # Lo CJK COMPATIBILITY IDEOGRAPH-FAC9
-FACA ; NFKC_CF; 97FF # Lo CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB ; NFKC_CF; 980B # Lo CJK COMPATIBILITY IDEOGRAPH-FACB
-FACC ; NFKC_CF; 983B # Lo CJK COMPATIBILITY IDEOGRAPH-FACC
-FACD ; NFKC_CF; 9B12 # Lo CJK COMPATIBILITY IDEOGRAPH-FACD
-FACE ; NFKC_CF; 9F9C # Lo CJK COMPATIBILITY IDEOGRAPH-FACE
-FACF ; NFKC_CF; 2284A # Lo CJK COMPATIBILITY IDEOGRAPH-FACF
-FAD0 ; NFKC_CF; 22844 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD0
-FAD1 ; NFKC_CF; 233D5 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD1
-FAD2 ; NFKC_CF; 3B9D # Lo CJK COMPATIBILITY IDEOGRAPH-FAD2
-FAD3 ; NFKC_CF; 4018 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD3
-FAD4 ; NFKC_CF; 4039 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD4
-FAD5 ; NFKC_CF; 25249 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD5
-FAD6 ; NFKC_CF; 25CD0 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD6
-FAD7 ; NFKC_CF; 27ED3 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD7
-FAD8 ; NFKC_CF; 9F43 # Lo CJK COMPATIBILITY IDEOGRAPH-FAD8
-FAD9 ; NFKC_CF; 9F8E # Lo CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00 ; NFKC_CF; 0066 0066 # L& LATIN SMALL LIGATURE FF
-FB01 ; NFKC_CF; 0066 0069 # L& LATIN SMALL LIGATURE FI
-FB02 ; NFKC_CF; 0066 006C # L& LATIN SMALL LIGATURE FL
-FB03 ; NFKC_CF; 0066 0066 0069 # L& LATIN SMALL LIGATURE FFI
-FB04 ; NFKC_CF; 0066 0066 006C # L& LATIN SMALL LIGATURE FFL
-FB05..FB06 ; NFKC_CF; 0073 0074 # L& [2] LATIN SMALL LIGATURE LONG S T..LATIN SMALL LIGATURE ST
-FB13 ; NFKC_CF; 0574 0576 # L& ARMENIAN SMALL LIGATURE MEN NOW
-FB14 ; NFKC_CF; 0574 0565 # L& ARMENIAN SMALL LIGATURE MEN ECH
-FB15 ; NFKC_CF; 0574 056B # L& ARMENIAN SMALL LIGATURE MEN INI
-FB16 ; NFKC_CF; 057E 0576 # L& ARMENIAN SMALL LIGATURE VEW NOW
-FB17 ; NFKC_CF; 0574 056D # L& ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; NFKC_CF; 05D9 05B4 # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; NFKC_CF; 05F2 05B7 # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB20 ; NFKC_CF; 05E2 # Lo HEBREW LETTER ALTERNATIVE AYIN
-FB21 ; NFKC_CF; 05D0 # Lo HEBREW LETTER WIDE ALEF
-FB22 ; NFKC_CF; 05D3 # Lo HEBREW LETTER WIDE DALET
-FB23 ; NFKC_CF; 05D4 # Lo HEBREW LETTER WIDE HE
-FB24 ; NFKC_CF; 05DB # Lo HEBREW LETTER WIDE KAF
-FB25 ; NFKC_CF; 05DC # Lo HEBREW LETTER WIDE LAMED
-FB26 ; NFKC_CF; 05DD # Lo HEBREW LETTER WIDE FINAL MEM
-FB27 ; NFKC_CF; 05E8 # Lo HEBREW LETTER WIDE RESH
-FB28 ; NFKC_CF; 05EA # Lo HEBREW LETTER WIDE TAV
-FB29 ; NFKC_CF; 002B # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A ; NFKC_CF; 05E9 05C1 # Lo HEBREW LETTER SHIN WITH SHIN DOT
-FB2B ; NFKC_CF; 05E9 05C2 # Lo HEBREW LETTER SHIN WITH SIN DOT
-FB2C ; NFKC_CF; 05E9 05BC 05C1 # Lo HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D ; NFKC_CF; 05E9 05BC 05C2 # Lo HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E ; NFKC_CF; 05D0 05B7 # Lo HEBREW LETTER ALEF WITH PATAH
-FB2F ; NFKC_CF; 05D0 05B8 # Lo HEBREW LETTER ALEF WITH QAMATS
-FB30 ; NFKC_CF; 05D0 05BC # Lo HEBREW LETTER ALEF WITH MAPIQ
-FB31 ; NFKC_CF; 05D1 05BC # Lo HEBREW LETTER BET WITH DAGESH
-FB32 ; NFKC_CF; 05D2 05BC # Lo HEBREW LETTER GIMEL WITH DAGESH
-FB33 ; NFKC_CF; 05D3 05BC # Lo HEBREW LETTER DALET WITH DAGESH
-FB34 ; NFKC_CF; 05D4 05BC # Lo HEBREW LETTER HE WITH MAPIQ
-FB35 ; NFKC_CF; 05D5 05BC # Lo HEBREW LETTER VAV WITH DAGESH
-FB36 ; NFKC_CF; 05D6 05BC # Lo HEBREW LETTER ZAYIN WITH DAGESH
-FB38 ; NFKC_CF; 05D8 05BC # Lo HEBREW LETTER TET WITH DAGESH
-FB39 ; NFKC_CF; 05D9 05BC # Lo HEBREW LETTER YOD WITH DAGESH
-FB3A ; NFKC_CF; 05DA 05BC # Lo HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B ; NFKC_CF; 05DB 05BC # Lo HEBREW LETTER KAF WITH DAGESH
-FB3C ; NFKC_CF; 05DC 05BC # Lo HEBREW LETTER LAMED WITH DAGESH
-FB3E ; NFKC_CF; 05DE 05BC # Lo HEBREW LETTER MEM WITH DAGESH
-FB40 ; NFKC_CF; 05E0 05BC # Lo HEBREW LETTER NUN WITH DAGESH
-FB41 ; NFKC_CF; 05E1 05BC # Lo HEBREW LETTER SAMEKH WITH DAGESH
-FB43 ; NFKC_CF; 05E3 05BC # Lo HEBREW LETTER FINAL PE WITH DAGESH
-FB44 ; NFKC_CF; 05E4 05BC # Lo HEBREW LETTER PE WITH DAGESH
-FB46 ; NFKC_CF; 05E6 05BC # Lo HEBREW LETTER TSADI WITH DAGESH
-FB47 ; NFKC_CF; 05E7 05BC # Lo HEBREW LETTER QOF WITH DAGESH
-FB48 ; NFKC_CF; 05E8 05BC # Lo HEBREW LETTER RESH WITH DAGESH
-FB49 ; NFKC_CF; 05E9 05BC # Lo HEBREW LETTER SHIN WITH DAGESH
-FB4A ; NFKC_CF; 05EA 05BC # Lo HEBREW LETTER TAV WITH DAGESH
-FB4B ; NFKC_CF; 05D5 05B9 # Lo HEBREW LETTER VAV WITH HOLAM
-FB4C ; NFKC_CF; 05D1 05BF # Lo HEBREW LETTER BET WITH RAFE
-FB4D ; NFKC_CF; 05DB 05BF # Lo HEBREW LETTER KAF WITH RAFE
-FB4E ; NFKC_CF; 05E4 05BF # Lo HEBREW LETTER PE WITH RAFE
-FB4F ; NFKC_CF; 05D0 05DC # Lo HEBREW LIGATURE ALEF LAMED
-FB50..FB51 ; NFKC_CF; 0671 # Lo [2] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER ALEF WASLA FINAL FORM
-FB52..FB55 ; NFKC_CF; 067B # Lo [4] ARABIC LETTER BEEH ISOLATED FORM..ARABIC LETTER BEEH MEDIAL FORM
-FB56..FB59 ; NFKC_CF; 067E # Lo [4] ARABIC LETTER PEH ISOLATED FORM..ARABIC LETTER PEH MEDIAL FORM
-FB5A..FB5D ; NFKC_CF; 0680 # Lo [4] ARABIC LETTER BEHEH ISOLATED FORM..ARABIC LETTER BEHEH MEDIAL FORM
-FB5E..FB61 ; NFKC_CF; 067A # Lo [4] ARABIC LETTER TTEHEH ISOLATED FORM..ARABIC LETTER TTEHEH MEDIAL FORM
-FB62..FB65 ; NFKC_CF; 067F # Lo [4] ARABIC LETTER TEHEH ISOLATED FORM..ARABIC LETTER TEHEH MEDIAL FORM
-FB66..FB69 ; NFKC_CF; 0679 # Lo [4] ARABIC LETTER TTEH ISOLATED FORM..ARABIC LETTER TTEH MEDIAL FORM
-FB6A..FB6D ; NFKC_CF; 06A4 # Lo [4] ARABIC LETTER VEH ISOLATED FORM..ARABIC LETTER VEH MEDIAL FORM
-FB6E..FB71 ; NFKC_CF; 06A6 # Lo [4] ARABIC LETTER PEHEH ISOLATED FORM..ARABIC LETTER PEHEH MEDIAL FORM
-FB72..FB75 ; NFKC_CF; 0684 # Lo [4] ARABIC LETTER DYEH ISOLATED FORM..ARABIC LETTER DYEH MEDIAL FORM
-FB76..FB79 ; NFKC_CF; 0683 # Lo [4] ARABIC LETTER NYEH ISOLATED FORM..ARABIC LETTER NYEH MEDIAL FORM
-FB7A..FB7D ; NFKC_CF; 0686 # Lo [4] ARABIC LETTER TCHEH ISOLATED FORM..ARABIC LETTER TCHEH MEDIAL FORM
-FB7E..FB81 ; NFKC_CF; 0687 # Lo [4] ARABIC LETTER TCHEHEH ISOLATED FORM..ARABIC LETTER TCHEHEH MEDIAL FORM
-FB82..FB83 ; NFKC_CF; 068D # Lo [2] ARABIC LETTER DDAHAL ISOLATED FORM..ARABIC LETTER DDAHAL FINAL FORM
-FB84..FB85 ; NFKC_CF; 068C # Lo [2] ARABIC LETTER DAHAL ISOLATED FORM..ARABIC LETTER DAHAL FINAL FORM
-FB86..FB87 ; NFKC_CF; 068E # Lo [2] ARABIC LETTER DUL ISOLATED FORM..ARABIC LETTER DUL FINAL FORM
-FB88..FB89 ; NFKC_CF; 0688 # Lo [2] ARABIC LETTER DDAL ISOLATED FORM..ARABIC LETTER DDAL FINAL FORM
-FB8A..FB8B ; NFKC_CF; 0698 # Lo [2] ARABIC LETTER JEH ISOLATED FORM..ARABIC LETTER JEH FINAL FORM
-FB8C..FB8D ; NFKC_CF; 0691 # Lo [2] ARABIC LETTER RREH ISOLATED FORM..ARABIC LETTER RREH FINAL FORM
-FB8E..FB91 ; NFKC_CF; 06A9 # Lo [4] ARABIC LETTER KEHEH ISOLATED FORM..ARABIC LETTER KEHEH MEDIAL FORM
-FB92..FB95 ; NFKC_CF; 06AF # Lo [4] ARABIC LETTER GAF ISOLATED FORM..ARABIC LETTER GAF MEDIAL FORM
-FB96..FB99 ; NFKC_CF; 06B3 # Lo [4] ARABIC LETTER GUEH ISOLATED FORM..ARABIC LETTER GUEH MEDIAL FORM
-FB9A..FB9D ; NFKC_CF; 06B1 # Lo [4] ARABIC LETTER NGOEH ISOLATED FORM..ARABIC LETTER NGOEH MEDIAL FORM
-FB9E..FB9F ; NFKC_CF; 06BA # Lo [2] ARABIC LETTER NOON GHUNNA ISOLATED FORM..ARABIC LETTER NOON GHUNNA FINAL FORM
-FBA0..FBA3 ; NFKC_CF; 06BB # Lo [4] ARABIC LETTER RNOON ISOLATED FORM..ARABIC LETTER RNOON MEDIAL FORM
-FBA4..FBA5 ; NFKC_CF; 06C0 # Lo [2] ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM..ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA6..FBA9 ; NFKC_CF; 06C1 # Lo [4] ARABIC LETTER HEH GOAL ISOLATED FORM..ARABIC LETTER HEH GOAL MEDIAL FORM
-FBAA..FBAD ; NFKC_CF; 06BE # Lo [4] ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM..ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBAE..FBAF ; NFKC_CF; 06D2 # Lo [2] ARABIC LETTER YEH BARREE ISOLATED FORM..ARABIC LETTER YEH BARREE FINAL FORM
-FBB0..FBB1 ; NFKC_CF; 06D3 # Lo [2] ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FBD6 ; NFKC_CF; 06AD # Lo [4] ARABIC LETTER NG ISOLATED FORM..ARABIC LETTER NG MEDIAL FORM
-FBD7..FBD8 ; NFKC_CF; 06C7 # Lo [2] ARABIC LETTER U ISOLATED FORM..ARABIC LETTER U FINAL FORM
-FBD9..FBDA ; NFKC_CF; 06C6 # Lo [2] ARABIC LETTER OE ISOLATED FORM..ARABIC LETTER OE FINAL FORM
-FBDB..FBDC ; NFKC_CF; 06C8 # Lo [2] ARABIC LETTER YU ISOLATED FORM..ARABIC LETTER YU FINAL FORM
-FBDD ; NFKC_CF; 06C7 0674 # Lo ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-FBDE..FBDF ; NFKC_CF; 06CB # Lo [2] ARABIC LETTER VE ISOLATED FORM..ARABIC LETTER VE FINAL FORM
-FBE0..FBE1 ; NFKC_CF; 06C5 # Lo [2] ARABIC LETTER KIRGHIZ OE ISOLATED FORM..ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE2..FBE3 ; NFKC_CF; 06C9 # Lo [2] ARABIC LETTER KIRGHIZ YU ISOLATED FORM..ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE4..FBE7 ; NFKC_CF; 06D0 # Lo [4] ARABIC LETTER E ISOLATED FORM..ARABIC LETTER E MEDIAL FORM
-FBE8..FBE9 ; NFKC_CF; 0649 # Lo [2] ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM..ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FBEA..FBEB ; NFKC_CF; 0626 0627 # Lo [2] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBEC..FBED ; NFKC_CF; 0626 06D5 # Lo [2] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEE..FBEF ; NFKC_CF; 0626 0648 # Lo [2] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBF0..FBF1 ; NFKC_CF; 0626 06C7 # Lo [2] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF2..FBF3 ; NFKC_CF; 0626 06C6 # Lo [2] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF4..FBF5 ; NFKC_CF; 0626 06C8 # Lo [2] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF6..FBF8 ; NFKC_CF; 0626 06D0 # Lo [3] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM..ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBF9..FBFB ; NFKC_CF; 0626 0649 # Lo [3] ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM..ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFC..FBFF ; NFKC_CF; 06CC # Lo [4] ARABIC LETTER FARSI YEH ISOLATED FORM..ARABIC LETTER FARSI YEH MEDIAL FORM
-FC00 ; NFKC_CF; 0626 062C # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
-FC01 ; NFKC_CF; 0626 062D # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
-FC02 ; NFKC_CF; 0626 0645 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
-FC03 ; NFKC_CF; 0626 0649 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC04 ; NFKC_CF; 0626 064A # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
-FC05 ; NFKC_CF; 0628 062C # Lo ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
-FC06 ; NFKC_CF; 0628 062D # Lo ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
-FC07 ; NFKC_CF; 0628 062E # Lo ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
-FC08 ; NFKC_CF; 0628 0645 # Lo ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
-FC09 ; NFKC_CF; 0628 0649 # Lo ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
-FC0A ; NFKC_CF; 0628 064A # Lo ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
-FC0B ; NFKC_CF; 062A 062C # Lo ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
-FC0C ; NFKC_CF; 062A 062D # Lo ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
-FC0D ; NFKC_CF; 062A 062E # Lo ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
-FC0E ; NFKC_CF; 062A 0645 # Lo ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
-FC0F ; NFKC_CF; 062A 0649 # Lo ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
-FC10 ; NFKC_CF; 062A 064A # Lo ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
-FC11 ; NFKC_CF; 062B 062C # Lo ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
-FC12 ; NFKC_CF; 062B 0645 # Lo ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
-FC13 ; NFKC_CF; 062B 0649 # Lo ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
-FC14 ; NFKC_CF; 062B 064A # Lo ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
-FC15 ; NFKC_CF; 062C 062D # Lo ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
-FC16 ; NFKC_CF; 062C 0645 # Lo ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
-FC17 ; NFKC_CF; 062D 062C # Lo ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
-FC18 ; NFKC_CF; 062D 0645 # Lo ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
-FC19 ; NFKC_CF; 062E 062C # Lo ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
-FC1A ; NFKC_CF; 062E 062D # Lo ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
-FC1B ; NFKC_CF; 062E 0645 # Lo ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
-FC1C ; NFKC_CF; 0633 062C # Lo ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
-FC1D ; NFKC_CF; 0633 062D # Lo ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
-FC1E ; NFKC_CF; 0633 062E # Lo ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
-FC1F ; NFKC_CF; 0633 0645 # Lo ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
-FC20 ; NFKC_CF; 0635 062D # Lo ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
-FC21 ; NFKC_CF; 0635 0645 # Lo ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
-FC22 ; NFKC_CF; 0636 062C # Lo ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
-FC23 ; NFKC_CF; 0636 062D # Lo ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
-FC24 ; NFKC_CF; 0636 062E # Lo ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
-FC25 ; NFKC_CF; 0636 0645 # Lo ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
-FC26 ; NFKC_CF; 0637 062D # Lo ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
-FC27 ; NFKC_CF; 0637 0645 # Lo ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
-FC28 ; NFKC_CF; 0638 0645 # Lo ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
-FC29 ; NFKC_CF; 0639 062C # Lo ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
-FC2A ; NFKC_CF; 0639 0645 # Lo ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
-FC2B ; NFKC_CF; 063A 062C # Lo ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
-FC2C ; NFKC_CF; 063A 0645 # Lo ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
-FC2D ; NFKC_CF; 0641 062C # Lo ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
-FC2E ; NFKC_CF; 0641 062D # Lo ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
-FC2F ; NFKC_CF; 0641 062E # Lo ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
-FC30 ; NFKC_CF; 0641 0645 # Lo ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
-FC31 ; NFKC_CF; 0641 0649 # Lo ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
-FC32 ; NFKC_CF; 0641 064A # Lo ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
-FC33 ; NFKC_CF; 0642 062D # Lo ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
-FC34 ; NFKC_CF; 0642 0645 # Lo ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
-FC35 ; NFKC_CF; 0642 0649 # Lo ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
-FC36 ; NFKC_CF; 0642 064A # Lo ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
-FC37 ; NFKC_CF; 0643 0627 # Lo ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
-FC38 ; NFKC_CF; 0643 062C # Lo ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
-FC39 ; NFKC_CF; 0643 062D # Lo ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
-FC3A ; NFKC_CF; 0643 062E # Lo ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
-FC3B ; NFKC_CF; 0643 0644 # Lo ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
-FC3C ; NFKC_CF; 0643 0645 # Lo ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
-FC3D ; NFKC_CF; 0643 0649 # Lo ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
-FC3E ; NFKC_CF; 0643 064A # Lo ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
-FC3F ; NFKC_CF; 0644 062C # Lo ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
-FC40 ; NFKC_CF; 0644 062D # Lo ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
-FC41 ; NFKC_CF; 0644 062E # Lo ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
-FC42 ; NFKC_CF; 0644 0645 # Lo ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
-FC43 ; NFKC_CF; 0644 0649 # Lo ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
-FC44 ; NFKC_CF; 0644 064A # Lo ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
-FC45 ; NFKC_CF; 0645 062C # Lo ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
-FC46 ; NFKC_CF; 0645 062D # Lo ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
-FC47 ; NFKC_CF; 0645 062E # Lo ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
-FC48 ; NFKC_CF; 0645 0645 # Lo ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
-FC49 ; NFKC_CF; 0645 0649 # Lo ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
-FC4A ; NFKC_CF; 0645 064A # Lo ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
-FC4B ; NFKC_CF; 0646 062C # Lo ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
-FC4C ; NFKC_CF; 0646 062D # Lo ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
-FC4D ; NFKC_CF; 0646 062E # Lo ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
-FC4E ; NFKC_CF; 0646 0645 # Lo ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
-FC4F ; NFKC_CF; 0646 0649 # Lo ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
-FC50 ; NFKC_CF; 0646 064A # Lo ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
-FC51 ; NFKC_CF; 0647 062C # Lo ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
-FC52 ; NFKC_CF; 0647 0645 # Lo ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
-FC53 ; NFKC_CF; 0647 0649 # Lo ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
-FC54 ; NFKC_CF; 0647 064A # Lo ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
-FC55 ; NFKC_CF; 064A 062C # Lo ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
-FC56 ; NFKC_CF; 064A 062D # Lo ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
-FC57 ; NFKC_CF; 064A 062E # Lo ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
-FC58 ; NFKC_CF; 064A 0645 # Lo ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
-FC59 ; NFKC_CF; 064A 0649 # Lo ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
-FC5A ; NFKC_CF; 064A 064A # Lo ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
-FC5B ; NFKC_CF; 0630 0670 # Lo ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5C ; NFKC_CF; 0631 0670 # Lo ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5D ; NFKC_CF; 0649 0670 # Lo ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5E ; NFKC_CF; 0020 064C 0651 # Lo ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
-FC5F ; NFKC_CF; 0020 064D 0651 # Lo ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
-FC60 ; NFKC_CF; 0020 064E 0651 # Lo ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
-FC61 ; NFKC_CF; 0020 064F 0651 # Lo ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
-FC62 ; NFKC_CF; 0020 0650 0651 # Lo ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
-FC63 ; NFKC_CF; 0020 0651 0670 # Lo ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC64 ; NFKC_CF; 0626 0631 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
-FC65 ; NFKC_CF; 0626 0632 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
-FC66 ; NFKC_CF; 0626 0645 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
-FC67 ; NFKC_CF; 0626 0646 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
-FC68 ; NFKC_CF; 0626 0649 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FC69 ; NFKC_CF; 0626 064A # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
-FC6A ; NFKC_CF; 0628 0631 # Lo ARABIC LIGATURE BEH WITH REH FINAL FORM
-FC6B ; NFKC_CF; 0628 0632 # Lo ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
-FC6C ; NFKC_CF; 0628 0645 # Lo ARABIC LIGATURE BEH WITH MEEM FINAL FORM
-FC6D ; NFKC_CF; 0628 0646 # Lo ARABIC LIGATURE BEH WITH NOON FINAL FORM
-FC6E ; NFKC_CF; 0628 0649 # Lo ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
-FC6F ; NFKC_CF; 0628 064A # Lo ARABIC LIGATURE BEH WITH YEH FINAL FORM
-FC70 ; NFKC_CF; 062A 0631 # Lo ARABIC LIGATURE TEH WITH REH FINAL FORM
-FC71 ; NFKC_CF; 062A 0632 # Lo ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
-FC72 ; NFKC_CF; 062A 0645 # Lo ARABIC LIGATURE TEH WITH MEEM FINAL FORM
-FC73 ; NFKC_CF; 062A 0646 # Lo ARABIC LIGATURE TEH WITH NOON FINAL FORM
-FC74 ; NFKC_CF; 062A 0649 # Lo ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
-FC75 ; NFKC_CF; 062A 064A # Lo ARABIC LIGATURE TEH WITH YEH FINAL FORM
-FC76 ; NFKC_CF; 062B 0631 # Lo ARABIC LIGATURE THEH WITH REH FINAL FORM
-FC77 ; NFKC_CF; 062B 0632 # Lo ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
-FC78 ; NFKC_CF; 062B 0645 # Lo ARABIC LIGATURE THEH WITH MEEM FINAL FORM
-FC79 ; NFKC_CF; 062B 0646 # Lo ARABIC LIGATURE THEH WITH NOON FINAL FORM
-FC7A ; NFKC_CF; 062B 0649 # Lo ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
-FC7B ; NFKC_CF; 062B 064A # Lo ARABIC LIGATURE THEH WITH YEH FINAL FORM
-FC7C ; NFKC_CF; 0641 0649 # Lo ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
-FC7D ; NFKC_CF; 0641 064A # Lo ARABIC LIGATURE FEH WITH YEH FINAL FORM
-FC7E ; NFKC_CF; 0642 0649 # Lo ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
-FC7F ; NFKC_CF; 0642 064A # Lo ARABIC LIGATURE QAF WITH YEH FINAL FORM
-FC80 ; NFKC_CF; 0643 0627 # Lo ARABIC LIGATURE KAF WITH ALEF FINAL FORM
-FC81 ; NFKC_CF; 0643 0644 # Lo ARABIC LIGATURE KAF WITH LAM FINAL FORM
-FC82 ; NFKC_CF; 0643 0645 # Lo ARABIC LIGATURE KAF WITH MEEM FINAL FORM
-FC83 ; NFKC_CF; 0643 0649 # Lo ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
-FC84 ; NFKC_CF; 0643 064A # Lo ARABIC LIGATURE KAF WITH YEH FINAL FORM
-FC85 ; NFKC_CF; 0644 0645 # Lo ARABIC LIGATURE LAM WITH MEEM FINAL FORM
-FC86 ; NFKC_CF; 0644 0649 # Lo ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
-FC87 ; NFKC_CF; 0644 064A # Lo ARABIC LIGATURE LAM WITH YEH FINAL FORM
-FC88 ; NFKC_CF; 0645 0627 # Lo ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
-FC89 ; NFKC_CF; 0645 0645 # Lo ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
-FC8A ; NFKC_CF; 0646 0631 # Lo ARABIC LIGATURE NOON WITH REH FINAL FORM
-FC8B ; NFKC_CF; 0646 0632 # Lo ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
-FC8C ; NFKC_CF; 0646 0645 # Lo ARABIC LIGATURE NOON WITH MEEM FINAL FORM
-FC8D ; NFKC_CF; 0646 0646 # Lo ARABIC LIGATURE NOON WITH NOON FINAL FORM
-FC8E ; NFKC_CF; 0646 0649 # Lo ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
-FC8F ; NFKC_CF; 0646 064A # Lo ARABIC LIGATURE NOON WITH YEH FINAL FORM
-FC90 ; NFKC_CF; 0649 0670 # Lo ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC91 ; NFKC_CF; 064A 0631 # Lo ARABIC LIGATURE YEH WITH REH FINAL FORM
-FC92 ; NFKC_CF; 064A 0632 # Lo ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
-FC93 ; NFKC_CF; 064A 0645 # Lo ARABIC LIGATURE YEH WITH MEEM FINAL FORM
-FC94 ; NFKC_CF; 064A 0646 # Lo ARABIC LIGATURE YEH WITH NOON FINAL FORM
-FC95 ; NFKC_CF; 064A 0649 # Lo ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
-FC96 ; NFKC_CF; 064A 064A # Lo ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FC97 ; NFKC_CF; 0626 062C # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
-FC98 ; NFKC_CF; 0626 062D # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
-FC99 ; NFKC_CF; 0626 062E # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
-FC9A ; NFKC_CF; 0626 0645 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
-FC9B ; NFKC_CF; 0626 0647 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
-FC9C ; NFKC_CF; 0628 062C # Lo ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
-FC9D ; NFKC_CF; 0628 062D # Lo ARABIC LIGATURE BEH WITH HAH INITIAL FORM
-FC9E ; NFKC_CF; 0628 062E # Lo ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
-FC9F ; NFKC_CF; 0628 0645 # Lo ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
-FCA0 ; NFKC_CF; 0628 0647 # Lo ARABIC LIGATURE BEH WITH HEH INITIAL FORM
-FCA1 ; NFKC_CF; 062A 062C # Lo ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
-FCA2 ; NFKC_CF; 062A 062D # Lo ARABIC LIGATURE TEH WITH HAH INITIAL FORM
-FCA3 ; NFKC_CF; 062A 062E # Lo ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
-FCA4 ; NFKC_CF; 062A 0645 # Lo ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
-FCA5 ; NFKC_CF; 062A 0647 # Lo ARABIC LIGATURE TEH WITH HEH INITIAL FORM
-FCA6 ; NFKC_CF; 062B 0645 # Lo ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
-FCA7 ; NFKC_CF; 062C 062D # Lo ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
-FCA8 ; NFKC_CF; 062C 0645 # Lo ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
-FCA9 ; NFKC_CF; 062D 062C # Lo ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
-FCAA ; NFKC_CF; 062D 0645 # Lo ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
-FCAB ; NFKC_CF; 062E 062C # Lo ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
-FCAC ; NFKC_CF; 062E 0645 # Lo ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
-FCAD ; NFKC_CF; 0633 062C # Lo ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
-FCAE ; NFKC_CF; 0633 062D # Lo ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
-FCAF ; NFKC_CF; 0633 062E # Lo ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
-FCB0 ; NFKC_CF; 0633 0645 # Lo ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
-FCB1 ; NFKC_CF; 0635 062D # Lo ARABIC LIGATURE SAD WITH HAH INITIAL FORM
-FCB2 ; NFKC_CF; 0635 062E # Lo ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
-FCB3 ; NFKC_CF; 0635 0645 # Lo ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
-FCB4 ; NFKC_CF; 0636 062C # Lo ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
-FCB5 ; NFKC_CF; 0636 062D # Lo ARABIC LIGATURE DAD WITH HAH INITIAL FORM
-FCB6 ; NFKC_CF; 0636 062E # Lo ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
-FCB7 ; NFKC_CF; 0636 0645 # Lo ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
-FCB8 ; NFKC_CF; 0637 062D # Lo ARABIC LIGATURE TAH WITH HAH INITIAL FORM
-FCB9 ; NFKC_CF; 0638 0645 # Lo ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
-FCBA ; NFKC_CF; 0639 062C # Lo ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
-FCBB ; NFKC_CF; 0639 0645 # Lo ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
-FCBC ; NFKC_CF; 063A 062C # Lo ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
-FCBD ; NFKC_CF; 063A 0645 # Lo ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
-FCBE ; NFKC_CF; 0641 062C # Lo ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
-FCBF ; NFKC_CF; 0641 062D # Lo ARABIC LIGATURE FEH WITH HAH INITIAL FORM
-FCC0 ; NFKC_CF; 0641 062E # Lo ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
-FCC1 ; NFKC_CF; 0641 0645 # Lo ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
-FCC2 ; NFKC_CF; 0642 062D # Lo ARABIC LIGATURE QAF WITH HAH INITIAL FORM
-FCC3 ; NFKC_CF; 0642 0645 # Lo ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
-FCC4 ; NFKC_CF; 0643 062C # Lo ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
-FCC5 ; NFKC_CF; 0643 062D # Lo ARABIC LIGATURE KAF WITH HAH INITIAL FORM
-FCC6 ; NFKC_CF; 0643 062E # Lo ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
-FCC7 ; NFKC_CF; 0643 0644 # Lo ARABIC LIGATURE KAF WITH LAM INITIAL FORM
-FCC8 ; NFKC_CF; 0643 0645 # Lo ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
-FCC9 ; NFKC_CF; 0644 062C # Lo ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
-FCCA ; NFKC_CF; 0644 062D # Lo ARABIC LIGATURE LAM WITH HAH INITIAL FORM
-FCCB ; NFKC_CF; 0644 062E # Lo ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
-FCCC ; NFKC_CF; 0644 0645 # Lo ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
-FCCD ; NFKC_CF; 0644 0647 # Lo ARABIC LIGATURE LAM WITH HEH INITIAL FORM
-FCCE ; NFKC_CF; 0645 062C # Lo ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
-FCCF ; NFKC_CF; 0645 062D # Lo ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
-FCD0 ; NFKC_CF; 0645 062E # Lo ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
-FCD1 ; NFKC_CF; 0645 0645 # Lo ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
-FCD2 ; NFKC_CF; 0646 062C # Lo ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
-FCD3 ; NFKC_CF; 0646 062D # Lo ARABIC LIGATURE NOON WITH HAH INITIAL FORM
-FCD4 ; NFKC_CF; 0646 062E # Lo ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
-FCD5 ; NFKC_CF; 0646 0645 # Lo ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
-FCD6 ; NFKC_CF; 0646 0647 # Lo ARABIC LIGATURE NOON WITH HEH INITIAL FORM
-FCD7 ; NFKC_CF; 0647 062C # Lo ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
-FCD8 ; NFKC_CF; 0647 0645 # Lo ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
-FCD9 ; NFKC_CF; 0647 0670 # Lo ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
-FCDA ; NFKC_CF; 064A 062C # Lo ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
-FCDB ; NFKC_CF; 064A 062D # Lo ARABIC LIGATURE YEH WITH HAH INITIAL FORM
-FCDC ; NFKC_CF; 064A 062E # Lo ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
-FCDD ; NFKC_CF; 064A 0645 # Lo ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
-FCDE ; NFKC_CF; 064A 0647 # Lo ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FCDF ; NFKC_CF; 0626 0645 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
-FCE0 ; NFKC_CF; 0626 0647 # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
-FCE1 ; NFKC_CF; 0628 0645 # Lo ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
-FCE2 ; NFKC_CF; 0628 0647 # Lo ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
-FCE3 ; NFKC_CF; 062A 0645 # Lo ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
-FCE4 ; NFKC_CF; 062A 0647 # Lo ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
-FCE5 ; NFKC_CF; 062B 0645 # Lo ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
-FCE6 ; NFKC_CF; 062B 0647 # Lo ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
-FCE7 ; NFKC_CF; 0633 0645 # Lo ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
-FCE8 ; NFKC_CF; 0633 0647 # Lo ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
-FCE9 ; NFKC_CF; 0634 0645 # Lo ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
-FCEA ; NFKC_CF; 0634 0647 # Lo ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
-FCEB ; NFKC_CF; 0643 0644 # Lo ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
-FCEC ; NFKC_CF; 0643 0645 # Lo ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
-FCED ; NFKC_CF; 0644 0645 # Lo ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
-FCEE ; NFKC_CF; 0646 0645 # Lo ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
-FCEF ; NFKC_CF; 0646 0647 # Lo ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
-FCF0 ; NFKC_CF; 064A 0645 # Lo ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
-FCF1 ; NFKC_CF; 064A 0647 # Lo ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
-FCF2 ; NFKC_CF; 0640 064E 0651 # Lo ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
-FCF3 ; NFKC_CF; 0640 064F 0651 # Lo ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
-FCF4 ; NFKC_CF; 0640 0650 0651 # Lo ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
-FCF5 ; NFKC_CF; 0637 0649 # Lo ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
-FCF6 ; NFKC_CF; 0637 064A # Lo ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
-FCF7 ; NFKC_CF; 0639 0649 # Lo ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
-FCF8 ; NFKC_CF; 0639 064A # Lo ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
-FCF9 ; NFKC_CF; 063A 0649 # Lo ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
-FCFA ; NFKC_CF; 063A 064A # Lo ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
-FCFB ; NFKC_CF; 0633 0649 # Lo ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFC ; NFKC_CF; 0633 064A # Lo ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
-FCFD ; NFKC_CF; 0634 0649 # Lo ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFE ; NFKC_CF; 0634 064A # Lo ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
-FCFF ; NFKC_CF; 062D 0649 # Lo ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
-FD00 ; NFKC_CF; 062D 064A # Lo ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
-FD01 ; NFKC_CF; 062C 0649 # Lo ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
-FD02 ; NFKC_CF; 062C 064A # Lo ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
-FD03 ; NFKC_CF; 062E 0649 # Lo ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
-FD04 ; NFKC_CF; 062E 064A # Lo ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
-FD05 ; NFKC_CF; 0635 0649 # Lo ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
-FD06 ; NFKC_CF; 0635 064A # Lo ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
-FD07 ; NFKC_CF; 0636 0649 # Lo ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
-FD08 ; NFKC_CF; 0636 064A # Lo ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
-FD09 ; NFKC_CF; 0634 062C # Lo ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
-FD0A ; NFKC_CF; 0634 062D # Lo ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
-FD0B ; NFKC_CF; 0634 062E # Lo ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
-FD0C ; NFKC_CF; 0634 0645 # Lo ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
-FD0D ; NFKC_CF; 0634 0631 # Lo ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
-FD0E ; NFKC_CF; 0633 0631 # Lo ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
-FD0F ; NFKC_CF; 0635 0631 # Lo ARABIC LIGATURE SAD WITH REH ISOLATED FORM
-FD10 ; NFKC_CF; 0636 0631 # Lo ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FD11 ; NFKC_CF; 0637 0649 # Lo ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
-FD12 ; NFKC_CF; 0637 064A # Lo ARABIC LIGATURE TAH WITH YEH FINAL FORM
-FD13 ; NFKC_CF; 0639 0649 # Lo ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
-FD14 ; NFKC_CF; 0639 064A # Lo ARABIC LIGATURE AIN WITH YEH FINAL FORM
-FD15 ; NFKC_CF; 063A 0649 # Lo ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
-FD16 ; NFKC_CF; 063A 064A # Lo ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
-FD17 ; NFKC_CF; 0633 0649 # Lo ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
-FD18 ; NFKC_CF; 0633 064A # Lo ARABIC LIGATURE SEEN WITH YEH FINAL FORM
-FD19 ; NFKC_CF; 0634 0649 # Lo ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
-FD1A ; NFKC_CF; 0634 064A # Lo ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
-FD1B ; NFKC_CF; 062D 0649 # Lo ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
-FD1C ; NFKC_CF; 062D 064A # Lo ARABIC LIGATURE HAH WITH YEH FINAL FORM
-FD1D ; NFKC_CF; 062C 0649 # Lo ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
-FD1E ; NFKC_CF; 062C 064A # Lo ARABIC LIGATURE JEEM WITH YEH FINAL FORM
-FD1F ; NFKC_CF; 062E 0649 # Lo ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
-FD20 ; NFKC_CF; 062E 064A # Lo ARABIC LIGATURE KHAH WITH YEH FINAL FORM
-FD21 ; NFKC_CF; 0635 0649 # Lo ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
-FD22 ; NFKC_CF; 0635 064A # Lo ARABIC LIGATURE SAD WITH YEH FINAL FORM
-FD23 ; NFKC_CF; 0636 0649 # Lo ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
-FD24 ; NFKC_CF; 0636 064A # Lo ARABIC LIGATURE DAD WITH YEH FINAL FORM
-FD25 ; NFKC_CF; 0634 062C # Lo ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
-FD26 ; NFKC_CF; 0634 062D # Lo ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
-FD27 ; NFKC_CF; 0634 062E # Lo ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
-FD28 ; NFKC_CF; 0634 0645 # Lo ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
-FD29 ; NFKC_CF; 0634 0631 # Lo ARABIC LIGATURE SHEEN WITH REH FINAL FORM
-FD2A ; NFKC_CF; 0633 0631 # Lo ARABIC LIGATURE SEEN WITH REH FINAL FORM
-FD2B ; NFKC_CF; 0635 0631 # Lo ARABIC LIGATURE SAD WITH REH FINAL FORM
-FD2C ; NFKC_CF; 0636 0631 # Lo ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD2D ; NFKC_CF; 0634 062C # Lo ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
-FD2E ; NFKC_CF; 0634 062D # Lo ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
-FD2F ; NFKC_CF; 0634 062E # Lo ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
-FD30 ; NFKC_CF; 0634 0645 # Lo ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
-FD31 ; NFKC_CF; 0633 0647 # Lo ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
-FD32 ; NFKC_CF; 0634 0647 # Lo ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
-FD33 ; NFKC_CF; 0637 0645 # Lo ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD34 ; NFKC_CF; 0633 062C # Lo ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
-FD35 ; NFKC_CF; 0633 062D # Lo ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
-FD36 ; NFKC_CF; 0633 062E # Lo ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
-FD37 ; NFKC_CF; 0634 062C # Lo ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
-FD38 ; NFKC_CF; 0634 062D # Lo ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
-FD39 ; NFKC_CF; 0634 062E # Lo ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
-FD3A ; NFKC_CF; 0637 0645 # Lo ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
-FD3B ; NFKC_CF; 0638 0645 # Lo ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FD3C..FD3D ; NFKC_CF; 0627 064B # Lo [2] ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50 ; NFKC_CF; 062A 062C 0645 # Lo ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FD51..FD52 ; NFKC_CF; 062A 062D 062C # Lo [2] ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM..ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
-FD53 ; NFKC_CF; 062A 062D 0645 # Lo ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
-FD54 ; NFKC_CF; 062A 062E 0645 # Lo ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
-FD55 ; NFKC_CF; 062A 0645 062C # Lo ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
-FD56 ; NFKC_CF; 062A 0645 062D # Lo ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
-FD57 ; NFKC_CF; 062A 0645 062E # Lo ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FD58..FD59 ; NFKC_CF; 062C 0645 062D # Lo [2] ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD5A ; NFKC_CF; 062D 0645 064A # Lo ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
-FD5B ; NFKC_CF; 062D 0645 0649 # Lo ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5C ; NFKC_CF; 0633 062D 062C # Lo ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
-FD5D ; NFKC_CF; 0633 062C 062D # Lo ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD5E ; NFKC_CF; 0633 062C 0649 # Lo ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD5F..FD60 ; NFKC_CF; 0633 0645 062D # Lo [2] ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
-FD61 ; NFKC_CF; 0633 0645 062C # Lo ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD62..FD63 ; NFKC_CF; 0633 0645 0645 # Lo [2] ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD64..FD65 ; NFKC_CF; 0635 062D 062D # Lo [2] ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM..ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD66 ; NFKC_CF; 0635 0645 0645 # Lo ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
-FD67..FD68 ; NFKC_CF; 0634 062D 0645 # Lo [2] ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM..ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD69 ; NFKC_CF; 0634 062C 064A # Lo ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
-FD6A..FD6B ; NFKC_CF; 0634 0645 062E # Lo [2] ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM..ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6C..FD6D ; NFKC_CF; 0634 0645 0645 # Lo [2] ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD6E ; NFKC_CF; 0636 062D 0649 # Lo ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD6F..FD70 ; NFKC_CF; 0636 062E 0645 # Lo [2] ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM..ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD71..FD72 ; NFKC_CF; 0637 0645 062D # Lo [2] ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
-FD73 ; NFKC_CF; 0637 0645 0645 # Lo ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD74 ; NFKC_CF; 0637 0645 064A # Lo ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
-FD75 ; NFKC_CF; 0639 062C 0645 # Lo ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
-FD76..FD77 ; NFKC_CF; 0639 0645 0645 # Lo [2] ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD78 ; NFKC_CF; 0639 0645 0649 # Lo ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD79 ; NFKC_CF; 063A 0645 0645 # Lo ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
-FD7A ; NFKC_CF; 063A 0645 064A # Lo ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
-FD7B ; NFKC_CF; 063A 0645 0649 # Lo ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD7C..FD7D ; NFKC_CF; 0641 062E 0645 # Lo [2] ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM..ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD7E ; NFKC_CF; 0642 0645 062D # Lo ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
-FD7F ; NFKC_CF; 0642 0645 0645 # Lo ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
-FD80 ; NFKC_CF; 0644 062D 0645 # Lo ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
-FD81 ; NFKC_CF; 0644 062D 064A # Lo ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
-FD82 ; NFKC_CF; 0644 062D 0649 # Lo ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD83..FD84 ; NFKC_CF; 0644 062C 062C # Lo [2] ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM..ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
-FD85..FD86 ; NFKC_CF; 0644 062E 0645 # Lo [2] ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM..ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD87..FD88 ; NFKC_CF; 0644 0645 062D # Lo [2] ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
-FD89 ; NFKC_CF; 0645 062D 062C # Lo ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
-FD8A ; NFKC_CF; 0645 062D 0645 # Lo ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FD8B ; NFKC_CF; 0645 062D 064A # Lo ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FD8C ; NFKC_CF; 0645 062C 062D # Lo ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
-FD8D ; NFKC_CF; 0645 062C 0645 # Lo ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
-FD8E ; NFKC_CF; 0645 062E 062C # Lo ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
-FD8F ; NFKC_CF; 0645 062E 0645 # Lo ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92 ; NFKC_CF; 0645 062C 062E # Lo ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
-FD93 ; NFKC_CF; 0647 0645 062C # Lo ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
-FD94 ; NFKC_CF; 0647 0645 0645 # Lo ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
-FD95 ; NFKC_CF; 0646 062D 0645 # Lo ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD96 ; NFKC_CF; 0646 062D 0649 # Lo ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD97..FD98 ; NFKC_CF; 0646 062C 0645 # Lo [2] ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD99 ; NFKC_CF; 0646 062C 0649 # Lo ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD9A ; NFKC_CF; 0646 0645 064A # Lo ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
-FD9B ; NFKC_CF; 0646 0645 0649 # Lo ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD9C..FD9D ; NFKC_CF; 064A 0645 0645 # Lo [2] ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FD9E ; NFKC_CF; 0628 062E 064A # Lo ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
-FD9F ; NFKC_CF; 062A 062C 064A # Lo ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
-FDA0 ; NFKC_CF; 062A 062C 0649 # Lo ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FDA1 ; NFKC_CF; 062A 062E 064A # Lo ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
-FDA2 ; NFKC_CF; 062A 062E 0649 # Lo ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA3 ; NFKC_CF; 062A 0645 064A # Lo ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
-FDA4 ; NFKC_CF; 062A 0645 0649 # Lo ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA5 ; NFKC_CF; 062C 0645 064A # Lo ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
-FDA6 ; NFKC_CF; 062C 062D 0649 # Lo ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDA7 ; NFKC_CF; 062C 0645 0649 # Lo ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA8 ; NFKC_CF; 0633 062E 0649 # Lo ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA9 ; NFKC_CF; 0635 062D 064A # Lo ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
-FDAA ; NFKC_CF; 0634 062D 064A # Lo ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
-FDAB ; NFKC_CF; 0636 062D 064A # Lo ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
-FDAC ; NFKC_CF; 0644 062C 064A # Lo ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
-FDAD ; NFKC_CF; 0644 0645 064A # Lo ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
-FDAE ; NFKC_CF; 064A 062D 064A # Lo ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
-FDAF ; NFKC_CF; 064A 062C 064A # Lo ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
-FDB0 ; NFKC_CF; 064A 0645 064A # Lo ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
-FDB1 ; NFKC_CF; 0645 0645 064A # Lo ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
-FDB2 ; NFKC_CF; 0642 0645 064A # Lo ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
-FDB3 ; NFKC_CF; 0646 062D 064A # Lo ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FDB4 ; NFKC_CF; 0642 0645 062D # Lo ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
-FDB5 ; NFKC_CF; 0644 062D 0645 # Lo ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FDB6 ; NFKC_CF; 0639 0645 064A # Lo ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
-FDB7 ; NFKC_CF; 0643 0645 064A # Lo ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FDB8 ; NFKC_CF; 0646 062C 062D # Lo ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDB9 ; NFKC_CF; 0645 062E 064A # Lo ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FDBA ; NFKC_CF; 0644 062C 0645 # Lo ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDBB ; NFKC_CF; 0643 0645 0645 # Lo ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
-FDBC ; NFKC_CF; 0644 062C 0645 # Lo ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
-FDBD ; NFKC_CF; 0646 062C 062D # Lo ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
-FDBE ; NFKC_CF; 062C 062D 064A # Lo ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
-FDBF ; NFKC_CF; 062D 062C 064A # Lo ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
-FDC0 ; NFKC_CF; 0645 062C 064A # Lo ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
-FDC1 ; NFKC_CF; 0641 0645 064A # Lo ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
-FDC2 ; NFKC_CF; 0628 062D 064A # Lo ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FDC3 ; NFKC_CF; 0643 0645 0645 # Lo ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
-FDC4 ; NFKC_CF; 0639 062C 0645 # Lo ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
-FDC5 ; NFKC_CF; 0635 0645 0645 # Lo ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FDC6 ; NFKC_CF; 0633 062E 064A # Lo ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
-FDC7 ; NFKC_CF; 0646 062C 064A # Lo ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0 ; NFKC_CF; 0635 0644 06D2 # Lo ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF1 ; NFKC_CF; 0642 0644 06D2 # Lo ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF2 ; NFKC_CF; 0627 0644 0644 0647 #Lo ARABIC LIGATURE ALLAH ISOLATED FORM
-FDF3 ; NFKC_CF; 0627 0643 0628 0631 #Lo ARABIC LIGATURE AKBAR ISOLATED FORM
-FDF4 ; NFKC_CF; 0645 062D 0645 062F #Lo ARABIC LIGATURE MOHAMMAD ISOLATED FORM
-FDF5 ; NFKC_CF; 0635 0644 0639 0645 #Lo ARABIC LIGATURE SALAM ISOLATED FORM
-FDF6 ; NFKC_CF; 0631 0633 0648 0644 #Lo ARABIC LIGATURE RASOUL ISOLATED FORM
-FDF7 ; NFKC_CF; 0639 0644 064A 0647 #Lo ARABIC LIGATURE ALAYHE ISOLATED FORM
-FDF8 ; NFKC_CF; 0648 0633 0644 0645 #Lo ARABIC LIGATURE WASALLAM ISOLATED FORM
-FDF9 ; NFKC_CF; 0635 0644 0649 # Lo ARABIC LIGATURE SALLA ISOLATED FORM
-FDFA ; NFKC_CF; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645 #Lo ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
-FDFB ; NFKC_CF; 062C 0644 0020 062C 0644 0627 0644 0647 #Lo ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; NFKC_CF; 0631 06CC 0627 0644 #Sc RIAL SIGN
-FE00..FE0F ; NFKC_CF; # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE10 ; NFKC_CF; 002C # Po PRESENTATION FORM FOR VERTICAL COMMA
-FE11 ; NFKC_CF; 3001 # Po PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE12 ; NFKC_CF; 3002 # Po PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE13 ; NFKC_CF; 003A # Po PRESENTATION FORM FOR VERTICAL COLON
-FE14 ; NFKC_CF; 003B # Po PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE15 ; NFKC_CF; 0021 # Po PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
-FE16 ; NFKC_CF; 003F # Po PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; NFKC_CF; 3016 # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; NFKC_CF; 3017 # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; NFKC_CF; 002E 002E 002E # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; NFKC_CF; 002E 002E # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31 ; NFKC_CF; 2014 # Pd PRESENTATION FORM FOR VERTICAL EM DASH
-FE32 ; NFKC_CF; 2013 # Pd PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; NFKC_CF; 005F # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; NFKC_CF; 0028 # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; NFKC_CF; 0029 # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; NFKC_CF; 007B # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; NFKC_CF; 007D # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; NFKC_CF; 3014 # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; NFKC_CF; 3015 # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; NFKC_CF; 3010 # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; NFKC_CF; 3011 # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; NFKC_CF; 300A # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; NFKC_CF; 300B # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; NFKC_CF; 3008 # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; NFKC_CF; 3009 # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; NFKC_CF; 300C # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; NFKC_CF; 300D # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; NFKC_CF; 300E # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; NFKC_CF; 300F # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE47 ; NFKC_CF; 005B # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; NFKC_CF; 005D # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; NFKC_CF; 0020 0305 # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; NFKC_CF; 005F # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50 ; NFKC_CF; 002C # Po SMALL COMMA
-FE51 ; NFKC_CF; 3001 # Po SMALL IDEOGRAPHIC COMMA
-FE52 ; NFKC_CF; 002E # Po SMALL FULL STOP
-FE54 ; NFKC_CF; 003B # Po SMALL SEMICOLON
-FE55 ; NFKC_CF; 003A # Po SMALL COLON
-FE56 ; NFKC_CF; 003F # Po SMALL QUESTION MARK
-FE57 ; NFKC_CF; 0021 # Po SMALL EXCLAMATION MARK
-FE58 ; NFKC_CF; 2014 # Pd SMALL EM DASH
-FE59 ; NFKC_CF; 0028 # Ps SMALL LEFT PARENTHESIS
-FE5A ; NFKC_CF; 0029 # Pe SMALL RIGHT PARENTHESIS
-FE5B ; NFKC_CF; 007B # Ps SMALL LEFT CURLY BRACKET
-FE5C ; NFKC_CF; 007D # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; NFKC_CF; 3014 # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; NFKC_CF; 3015 # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F ; NFKC_CF; 0023 # Po SMALL NUMBER SIGN
-FE60 ; NFKC_CF; 0026 # Po SMALL AMPERSAND
-FE61 ; NFKC_CF; 002A # Po SMALL ASTERISK
-FE62 ; NFKC_CF; 002B # Sm SMALL PLUS SIGN
-FE63 ; NFKC_CF; 002D # Pd SMALL HYPHEN-MINUS
-FE64 ; NFKC_CF; 003C # Sm SMALL LESS-THAN SIGN
-FE65 ; NFKC_CF; 003E # Sm SMALL GREATER-THAN SIGN
-FE66 ; NFKC_CF; 003D # Sm SMALL EQUALS SIGN
-FE68 ; NFKC_CF; 005C # Po SMALL REVERSE SOLIDUS
-FE69 ; NFKC_CF; 0024 # Sc SMALL DOLLAR SIGN
-FE6A ; NFKC_CF; 0025 # Po SMALL PERCENT SIGN
-FE6B ; NFKC_CF; 0040 # Po SMALL COMMERCIAL AT
-FE70 ; NFKC_CF; 0020 064B # Lo ARABIC FATHATAN ISOLATED FORM
-FE71 ; NFKC_CF; 0640 064B # Lo ARABIC TATWEEL WITH FATHATAN ABOVE
-FE72 ; NFKC_CF; 0020 064C # Lo ARABIC DAMMATAN ISOLATED FORM
-FE74 ; NFKC_CF; 0020 064D # Lo ARABIC KASRATAN ISOLATED FORM
-FE76 ; NFKC_CF; 0020 064E # Lo ARABIC FATHA ISOLATED FORM
-FE77 ; NFKC_CF; 0640 064E # Lo ARABIC FATHA MEDIAL FORM
-FE78 ; NFKC_CF; 0020 064F # Lo ARABIC DAMMA ISOLATED FORM
-FE79 ; NFKC_CF; 0640 064F # Lo ARABIC DAMMA MEDIAL FORM
-FE7A ; NFKC_CF; 0020 0650 # Lo ARABIC KASRA ISOLATED FORM
-FE7B ; NFKC_CF; 0640 0650 # Lo ARABIC KASRA MEDIAL FORM
-FE7C ; NFKC_CF; 0020 0651 # Lo ARABIC SHADDA ISOLATED FORM
-FE7D ; NFKC_CF; 0640 0651 # Lo ARABIC SHADDA MEDIAL FORM
-FE7E ; NFKC_CF; 0020 0652 # Lo ARABIC SUKUN ISOLATED FORM
-FE7F ; NFKC_CF; 0640 0652 # Lo ARABIC SUKUN MEDIAL FORM
-FE80 ; NFKC_CF; 0621 # Lo ARABIC LETTER HAMZA ISOLATED FORM
-FE81..FE82 ; NFKC_CF; 0622 # Lo [2] ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE83..FE84 ; NFKC_CF; 0623 # Lo [2] ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE85..FE86 ; NFKC_CF; 0624 # Lo [2] ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE87..FE88 ; NFKC_CF; 0625 # Lo [2] ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM..ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE89..FE8C ; NFKC_CF; 0626 # Lo [4] ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE8D..FE8E ; NFKC_CF; 0627 # Lo [2] ARABIC LETTER ALEF ISOLATED FORM..ARABIC LETTER ALEF FINAL FORM
-FE8F..FE92 ; NFKC_CF; 0628 # Lo [4] ARABIC LETTER BEH ISOLATED FORM..ARABIC LETTER BEH MEDIAL FORM
-FE93..FE94 ; NFKC_CF; 0629 # Lo [2] ARABIC LETTER TEH MARBUTA ISOLATED FORM..ARABIC LETTER TEH MARBUTA FINAL FORM
-FE95..FE98 ; NFKC_CF; 062A # Lo [4] ARABIC LETTER TEH ISOLATED FORM..ARABIC LETTER TEH MEDIAL FORM
-FE99..FE9C ; NFKC_CF; 062B # Lo [4] ARABIC LETTER THEH ISOLATED FORM..ARABIC LETTER THEH MEDIAL FORM
-FE9D..FEA0 ; NFKC_CF; 062C # Lo [4] ARABIC LETTER JEEM ISOLATED FORM..ARABIC LETTER JEEM MEDIAL FORM
-FEA1..FEA4 ; NFKC_CF; 062D # Lo [4] ARABIC LETTER HAH ISOLATED FORM..ARABIC LETTER HAH MEDIAL FORM
-FEA5..FEA8 ; NFKC_CF; 062E # Lo [4] ARABIC LETTER KHAH ISOLATED FORM..ARABIC LETTER KHAH MEDIAL FORM
-FEA9..FEAA ; NFKC_CF; 062F # Lo [2] ARABIC LETTER DAL ISOLATED FORM..ARABIC LETTER DAL FINAL FORM
-FEAB..FEAC ; NFKC_CF; 0630 # Lo [2] ARABIC LETTER THAL ISOLATED FORM..ARABIC LETTER THAL FINAL FORM
-FEAD..FEAE ; NFKC_CF; 0631 # Lo [2] ARABIC LETTER REH ISOLATED FORM..ARABIC LETTER REH FINAL FORM
-FEAF..FEB0 ; NFKC_CF; 0632 # Lo [2] ARABIC LETTER ZAIN ISOLATED FORM..ARABIC LETTER ZAIN FINAL FORM
-FEB1..FEB4 ; NFKC_CF; 0633 # Lo [4] ARABIC LETTER SEEN ISOLATED FORM..ARABIC LETTER SEEN MEDIAL FORM
-FEB5..FEB8 ; NFKC_CF; 0634 # Lo [4] ARABIC LETTER SHEEN ISOLATED FORM..ARABIC LETTER SHEEN MEDIAL FORM
-FEB9..FEBC ; NFKC_CF; 0635 # Lo [4] ARABIC LETTER SAD ISOLATED FORM..ARABIC LETTER SAD MEDIAL FORM
-FEBD..FEC0 ; NFKC_CF; 0636 # Lo [4] ARABIC LETTER DAD ISOLATED FORM..ARABIC LETTER DAD MEDIAL FORM
-FEC1..FEC4 ; NFKC_CF; 0637 # Lo [4] ARABIC LETTER TAH ISOLATED FORM..ARABIC LETTER TAH MEDIAL FORM
-FEC5..FEC8 ; NFKC_CF; 0638 # Lo [4] ARABIC LETTER ZAH ISOLATED FORM..ARABIC LETTER ZAH MEDIAL FORM
-FEC9..FECC ; NFKC_CF; 0639 # Lo [4] ARABIC LETTER AIN ISOLATED FORM..ARABIC LETTER AIN MEDIAL FORM
-FECD..FED0 ; NFKC_CF; 063A # Lo [4] ARABIC LETTER GHAIN ISOLATED FORM..ARABIC LETTER GHAIN MEDIAL FORM
-FED1..FED4 ; NFKC_CF; 0641 # Lo [4] ARABIC LETTER FEH ISOLATED FORM..ARABIC LETTER FEH MEDIAL FORM
-FED5..FED8 ; NFKC_CF; 0642 # Lo [4] ARABIC LETTER QAF ISOLATED FORM..ARABIC LETTER QAF MEDIAL FORM
-FED9..FEDC ; NFKC_CF; 0643 # Lo [4] ARABIC LETTER KAF ISOLATED FORM..ARABIC LETTER KAF MEDIAL FORM
-FEDD..FEE0 ; NFKC_CF; 0644 # Lo [4] ARABIC LETTER LAM ISOLATED FORM..ARABIC LETTER LAM MEDIAL FORM
-FEE1..FEE4 ; NFKC_CF; 0645 # Lo [4] ARABIC LETTER MEEM ISOLATED FORM..ARABIC LETTER MEEM MEDIAL FORM
-FEE5..FEE8 ; NFKC_CF; 0646 # Lo [4] ARABIC LETTER NOON ISOLATED FORM..ARABIC LETTER NOON MEDIAL FORM
-FEE9..FEEC ; NFKC_CF; 0647 # Lo [4] ARABIC LETTER HEH ISOLATED FORM..ARABIC LETTER HEH MEDIAL FORM
-FEED..FEEE ; NFKC_CF; 0648 # Lo [2] ARABIC LETTER WAW ISOLATED FORM..ARABIC LETTER WAW FINAL FORM
-FEEF..FEF0 ; NFKC_CF; 0649 # Lo [2] ARABIC LETTER ALEF MAKSURA ISOLATED FORM..ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEF1..FEF4 ; NFKC_CF; 064A # Lo [4] ARABIC LETTER YEH ISOLATED FORM..ARABIC LETTER YEH MEDIAL FORM
-FEF5..FEF6 ; NFKC_CF; 0644 0622 # Lo [2] ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF7..FEF8 ; NFKC_CF; 0644 0623 # Lo [2] ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEF9..FEFA ; NFKC_CF; 0644 0625 # Lo [2] ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEFB..FEFC ; NFKC_CF; 0644 0627 # Lo [2] ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF ; NFKC_CF; # Cf ZERO WIDTH NO-BREAK SPACE
-FF01 ; NFKC_CF; 0021 # Po FULLWIDTH EXCLAMATION MARK
-FF02 ; NFKC_CF; 0022 # Po FULLWIDTH QUOTATION MARK
-FF03 ; NFKC_CF; 0023 # Po FULLWIDTH NUMBER SIGN
-FF04 ; NFKC_CF; 0024 # Sc FULLWIDTH DOLLAR SIGN
-FF05 ; NFKC_CF; 0025 # Po FULLWIDTH PERCENT SIGN
-FF06 ; NFKC_CF; 0026 # Po FULLWIDTH AMPERSAND
-FF07 ; NFKC_CF; 0027 # Po FULLWIDTH APOSTROPHE
-FF08 ; NFKC_CF; 0028 # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; NFKC_CF; 0029 # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; NFKC_CF; 002A # Po FULLWIDTH ASTERISK
-FF0B ; NFKC_CF; 002B # Sm FULLWIDTH PLUS SIGN
-FF0C ; NFKC_CF; 002C # Po FULLWIDTH COMMA
-FF0D ; NFKC_CF; 002D # Pd FULLWIDTH HYPHEN-MINUS
-FF0E ; NFKC_CF; 002E # Po FULLWIDTH FULL STOP
-FF0F ; NFKC_CF; 002F # Po FULLWIDTH SOLIDUS
-FF10 ; NFKC_CF; 0030 # Nd FULLWIDTH DIGIT ZERO
-FF11 ; NFKC_CF; 0031 # Nd FULLWIDTH DIGIT ONE
-FF12 ; NFKC_CF; 0032 # Nd FULLWIDTH DIGIT TWO
-FF13 ; NFKC_CF; 0033 # Nd FULLWIDTH DIGIT THREE
-FF14 ; NFKC_CF; 0034 # Nd FULLWIDTH DIGIT FOUR
-FF15 ; NFKC_CF; 0035 # Nd FULLWIDTH DIGIT FIVE
-FF16 ; NFKC_CF; 0036 # Nd FULLWIDTH DIGIT SIX
-FF17 ; NFKC_CF; 0037 # Nd FULLWIDTH DIGIT SEVEN
-FF18 ; NFKC_CF; 0038 # Nd FULLWIDTH DIGIT EIGHT
-FF19 ; NFKC_CF; 0039 # Nd FULLWIDTH DIGIT NINE
-FF1A ; NFKC_CF; 003A # Po FULLWIDTH COLON
-FF1B ; NFKC_CF; 003B # Po FULLWIDTH SEMICOLON
-FF1C ; NFKC_CF; 003C # Sm FULLWIDTH LESS-THAN SIGN
-FF1D ; NFKC_CF; 003D # Sm FULLWIDTH EQUALS SIGN
-FF1E ; NFKC_CF; 003E # Sm FULLWIDTH GREATER-THAN SIGN
-FF1F ; NFKC_CF; 003F # Po FULLWIDTH QUESTION MARK
-FF20 ; NFKC_CF; 0040 # Po FULLWIDTH COMMERCIAL AT
-FF21 ; NFKC_CF; 0061 # L& FULLWIDTH LATIN CAPITAL LETTER A
-FF22 ; NFKC_CF; 0062 # L& FULLWIDTH LATIN CAPITAL LETTER B
-FF23 ; NFKC_CF; 0063 # L& FULLWIDTH LATIN CAPITAL LETTER C
-FF24 ; NFKC_CF; 0064 # L& FULLWIDTH LATIN CAPITAL LETTER D
-FF25 ; NFKC_CF; 0065 # L& FULLWIDTH LATIN CAPITAL LETTER E
-FF26 ; NFKC_CF; 0066 # L& FULLWIDTH LATIN CAPITAL LETTER F
-FF27 ; NFKC_CF; 0067 # L& FULLWIDTH LATIN CAPITAL LETTER G
-FF28 ; NFKC_CF; 0068 # L& FULLWIDTH LATIN CAPITAL LETTER H
-FF29 ; NFKC_CF; 0069 # L& FULLWIDTH LATIN CAPITAL LETTER I
-FF2A ; NFKC_CF; 006A # L& FULLWIDTH LATIN CAPITAL LETTER J
-FF2B ; NFKC_CF; 006B # L& FULLWIDTH LATIN CAPITAL LETTER K
-FF2C ; NFKC_CF; 006C # L& FULLWIDTH LATIN CAPITAL LETTER L
-FF2D ; NFKC_CF; 006D # L& FULLWIDTH LATIN CAPITAL LETTER M
-FF2E ; NFKC_CF; 006E # L& FULLWIDTH LATIN CAPITAL LETTER N
-FF2F ; NFKC_CF; 006F # L& FULLWIDTH LATIN CAPITAL LETTER O
-FF30 ; NFKC_CF; 0070 # L& FULLWIDTH LATIN CAPITAL LETTER P
-FF31 ; NFKC_CF; 0071 # L& FULLWIDTH LATIN CAPITAL LETTER Q
-FF32 ; NFKC_CF; 0072 # L& FULLWIDTH LATIN CAPITAL LETTER R
-FF33 ; NFKC_CF; 0073 # L& FULLWIDTH LATIN CAPITAL LETTER S
-FF34 ; NFKC_CF; 0074 # L& FULLWIDTH LATIN CAPITAL LETTER T
-FF35 ; NFKC_CF; 0075 # L& FULLWIDTH LATIN CAPITAL LETTER U
-FF36 ; NFKC_CF; 0076 # L& FULLWIDTH LATIN CAPITAL LETTER V
-FF37 ; NFKC_CF; 0077 # L& FULLWIDTH LATIN CAPITAL LETTER W
-FF38 ; NFKC_CF; 0078 # L& FULLWIDTH LATIN CAPITAL LETTER X
-FF39 ; NFKC_CF; 0079 # L& FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A ; NFKC_CF; 007A # L& FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; NFKC_CF; 005B # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; NFKC_CF; 005C # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; NFKC_CF; 005D # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; NFKC_CF; 005E # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; NFKC_CF; 005F # Pc FULLWIDTH LOW LINE
-FF40 ; NFKC_CF; 0060 # Sk FULLWIDTH GRAVE ACCENT
-FF41 ; NFKC_CF; 0061 # L& FULLWIDTH LATIN SMALL LETTER A
-FF42 ; NFKC_CF; 0062 # L& FULLWIDTH LATIN SMALL LETTER B
-FF43 ; NFKC_CF; 0063 # L& FULLWIDTH LATIN SMALL LETTER C
-FF44 ; NFKC_CF; 0064 # L& FULLWIDTH LATIN SMALL LETTER D
-FF45 ; NFKC_CF; 0065 # L& FULLWIDTH LATIN SMALL LETTER E
-FF46 ; NFKC_CF; 0066 # L& FULLWIDTH LATIN SMALL LETTER F
-FF47 ; NFKC_CF; 0067 # L& FULLWIDTH LATIN SMALL LETTER G
-FF48 ; NFKC_CF; 0068 # L& FULLWIDTH LATIN SMALL LETTER H
-FF49 ; NFKC_CF; 0069 # L& FULLWIDTH LATIN SMALL LETTER I
-FF4A ; NFKC_CF; 006A # L& FULLWIDTH LATIN SMALL LETTER J
-FF4B ; NFKC_CF; 006B # L& FULLWIDTH LATIN SMALL LETTER K
-FF4C ; NFKC_CF; 006C # L& FULLWIDTH LATIN SMALL LETTER L
-FF4D ; NFKC_CF; 006D # L& FULLWIDTH LATIN SMALL LETTER M
-FF4E ; NFKC_CF; 006E # L& FULLWIDTH LATIN SMALL LETTER N
-FF4F ; NFKC_CF; 006F # L& FULLWIDTH LATIN SMALL LETTER O
-FF50 ; NFKC_CF; 0070 # L& FULLWIDTH LATIN SMALL LETTER P
-FF51 ; NFKC_CF; 0071 # L& FULLWIDTH LATIN SMALL LETTER Q
-FF52 ; NFKC_CF; 0072 # L& FULLWIDTH LATIN SMALL LETTER R
-FF53 ; NFKC_CF; 0073 # L& FULLWIDTH LATIN SMALL LETTER S
-FF54 ; NFKC_CF; 0074 # L& FULLWIDTH LATIN SMALL LETTER T
-FF55 ; NFKC_CF; 0075 # L& FULLWIDTH LATIN SMALL LETTER U
-FF56 ; NFKC_CF; 0076 # L& FULLWIDTH LATIN SMALL LETTER V
-FF57 ; NFKC_CF; 0077 # L& FULLWIDTH LATIN SMALL LETTER W
-FF58 ; NFKC_CF; 0078 # L& FULLWIDTH LATIN SMALL LETTER X
-FF59 ; NFKC_CF; 0079 # L& FULLWIDTH LATIN SMALL LETTER Y
-FF5A ; NFKC_CF; 007A # L& FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; NFKC_CF; 007B # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; NFKC_CF; 007C # Sm FULLWIDTH VERTICAL LINE
-FF5D ; NFKC_CF; 007D # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; NFKC_CF; 007E # Sm FULLWIDTH TILDE
-FF5F ; NFKC_CF; 2985 # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; NFKC_CF; 2986 # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; NFKC_CF; 3002 # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; NFKC_CF; 300C # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; NFKC_CF; 300D # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64 ; NFKC_CF; 3001 # Po HALFWIDTH IDEOGRAPHIC COMMA
-FF65 ; NFKC_CF; 30FB # Po HALFWIDTH KATAKANA MIDDLE DOT
-FF66 ; NFKC_CF; 30F2 # Lo HALFWIDTH KATAKANA LETTER WO
-FF67 ; NFKC_CF; 30A1 # Lo HALFWIDTH KATAKANA LETTER SMALL A
-FF68 ; NFKC_CF; 30A3 # Lo HALFWIDTH KATAKANA LETTER SMALL I
-FF69 ; NFKC_CF; 30A5 # Lo HALFWIDTH KATAKANA LETTER SMALL U
-FF6A ; NFKC_CF; 30A7 # Lo HALFWIDTH KATAKANA LETTER SMALL E
-FF6B ; NFKC_CF; 30A9 # Lo HALFWIDTH KATAKANA LETTER SMALL O
-FF6C ; NFKC_CF; 30E3 # Lo HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D ; NFKC_CF; 30E5 # Lo HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E ; NFKC_CF; 30E7 # Lo HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F ; NFKC_CF; 30C3 # Lo HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; NFKC_CF; 30FC # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71 ; NFKC_CF; 30A2 # Lo HALFWIDTH KATAKANA LETTER A
-FF72 ; NFKC_CF; 30A4 # Lo HALFWIDTH KATAKANA LETTER I
-FF73 ; NFKC_CF; 30A6 # Lo HALFWIDTH KATAKANA LETTER U
-FF74 ; NFKC_CF; 30A8 # Lo HALFWIDTH KATAKANA LETTER E
-FF75 ; NFKC_CF; 30AA # Lo HALFWIDTH KATAKANA LETTER O
-FF76 ; NFKC_CF; 30AB # Lo HALFWIDTH KATAKANA LETTER KA
-FF77 ; NFKC_CF; 30AD # Lo HALFWIDTH KATAKANA LETTER KI
-FF78 ; NFKC_CF; 30AF # Lo HALFWIDTH KATAKANA LETTER KU
-FF79 ; NFKC_CF; 30B1 # Lo HALFWIDTH KATAKANA LETTER KE
-FF7A ; NFKC_CF; 30B3 # Lo HALFWIDTH KATAKANA LETTER KO
-FF7B ; NFKC_CF; 30B5 # Lo HALFWIDTH KATAKANA LETTER SA
-FF7C ; NFKC_CF; 30B7 # Lo HALFWIDTH KATAKANA LETTER SI
-FF7D ; NFKC_CF; 30B9 # Lo HALFWIDTH KATAKANA LETTER SU
-FF7E ; NFKC_CF; 30BB # Lo HALFWIDTH KATAKANA LETTER SE
-FF7F ; NFKC_CF; 30BD # Lo HALFWIDTH KATAKANA LETTER SO
-FF80 ; NFKC_CF; 30BF # Lo HALFWIDTH KATAKANA LETTER TA
-FF81 ; NFKC_CF; 30C1 # Lo HALFWIDTH KATAKANA LETTER TI
-FF82 ; NFKC_CF; 30C4 # Lo HALFWIDTH KATAKANA LETTER TU
-FF83 ; NFKC_CF; 30C6 # Lo HALFWIDTH KATAKANA LETTER TE
-FF84 ; NFKC_CF; 30C8 # Lo HALFWIDTH KATAKANA LETTER TO
-FF85 ; NFKC_CF; 30CA # Lo HALFWIDTH KATAKANA LETTER NA
-FF86 ; NFKC_CF; 30CB # Lo HALFWIDTH KATAKANA LETTER NI
-FF87 ; NFKC_CF; 30CC # Lo HALFWIDTH KATAKANA LETTER NU
-FF88 ; NFKC_CF; 30CD # Lo HALFWIDTH KATAKANA LETTER NE
-FF89 ; NFKC_CF; 30CE # Lo HALFWIDTH KATAKANA LETTER NO
-FF8A ; NFKC_CF; 30CF # Lo HALFWIDTH KATAKANA LETTER HA
-FF8B ; NFKC_CF; 30D2 # Lo HALFWIDTH KATAKANA LETTER HI
-FF8C ; NFKC_CF; 30D5 # Lo HALFWIDTH KATAKANA LETTER HU
-FF8D ; NFKC_CF; 30D8 # Lo HALFWIDTH KATAKANA LETTER HE
-FF8E ; NFKC_CF; 30DB # Lo HALFWIDTH KATAKANA LETTER HO
-FF8F ; NFKC_CF; 30DE # Lo HALFWIDTH KATAKANA LETTER MA
-FF90 ; NFKC_CF; 30DF # Lo HALFWIDTH KATAKANA LETTER MI
-FF91 ; NFKC_CF; 30E0 # Lo HALFWIDTH KATAKANA LETTER MU
-FF92 ; NFKC_CF; 30E1 # Lo HALFWIDTH KATAKANA LETTER ME
-FF93 ; NFKC_CF; 30E2 # Lo HALFWIDTH KATAKANA LETTER MO
-FF94 ; NFKC_CF; 30E4 # Lo HALFWIDTH KATAKANA LETTER YA
-FF95 ; NFKC_CF; 30E6 # Lo HALFWIDTH KATAKANA LETTER YU
-FF96 ; NFKC_CF; 30E8 # Lo HALFWIDTH KATAKANA LETTER YO
-FF97 ; NFKC_CF; 30E9 # Lo HALFWIDTH KATAKANA LETTER RA
-FF98 ; NFKC_CF; 30EA # Lo HALFWIDTH KATAKANA LETTER RI
-FF99 ; NFKC_CF; 30EB # Lo HALFWIDTH KATAKANA LETTER RU
-FF9A ; NFKC_CF; 30EC # Lo HALFWIDTH KATAKANA LETTER RE
-FF9B ; NFKC_CF; 30ED # Lo HALFWIDTH KATAKANA LETTER RO
-FF9C ; NFKC_CF; 30EF # Lo HALFWIDTH KATAKANA LETTER WA
-FF9D ; NFKC_CF; 30F3 # Lo HALFWIDTH KATAKANA LETTER N
-FF9E ; NFKC_CF; 3099 # Lm HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F ; NFKC_CF; 309A # Lm HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0 ; NFKC_CF; # Lo HALFWIDTH HANGUL FILLER
-FFA1 ; NFKC_CF; 1100 # Lo HALFWIDTH HANGUL LETTER KIYEOK
-FFA2 ; NFKC_CF; 1101 # Lo HALFWIDTH HANGUL LETTER SSANGKIYEOK
-FFA3 ; NFKC_CF; 11AA # Lo HALFWIDTH HANGUL LETTER KIYEOK-SIOS
-FFA4 ; NFKC_CF; 1102 # Lo HALFWIDTH HANGUL LETTER NIEUN
-FFA5 ; NFKC_CF; 11AC # Lo HALFWIDTH HANGUL LETTER NIEUN-CIEUC
-FFA6 ; NFKC_CF; 11AD # Lo HALFWIDTH HANGUL LETTER NIEUN-HIEUH
-FFA7 ; NFKC_CF; 1103 # Lo HALFWIDTH HANGUL LETTER TIKEUT
-FFA8 ; NFKC_CF; 1104 # Lo HALFWIDTH HANGUL LETTER SSANGTIKEUT
-FFA9 ; NFKC_CF; 1105 # Lo HALFWIDTH HANGUL LETTER RIEUL
-FFAA ; NFKC_CF; 11B0 # Lo HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
-FFAB ; NFKC_CF; 11B1 # Lo HALFWIDTH HANGUL LETTER RIEUL-MIEUM
-FFAC ; NFKC_CF; 11B2 # Lo HALFWIDTH HANGUL LETTER RIEUL-PIEUP
-FFAD ; NFKC_CF; 11B3 # Lo HALFWIDTH HANGUL LETTER RIEUL-SIOS
-FFAE ; NFKC_CF; 11B4 # Lo HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
-FFAF ; NFKC_CF; 11B5 # Lo HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
-FFB0 ; NFKC_CF; 111A # Lo HALFWIDTH HANGUL LETTER RIEUL-HIEUH
-FFB1 ; NFKC_CF; 1106 # Lo HALFWIDTH HANGUL LETTER MIEUM
-FFB2 ; NFKC_CF; 1107 # Lo HALFWIDTH HANGUL LETTER PIEUP
-FFB3 ; NFKC_CF; 1108 # Lo HALFWIDTH HANGUL LETTER SSANGPIEUP
-FFB4 ; NFKC_CF; 1121 # Lo HALFWIDTH HANGUL LETTER PIEUP-SIOS
-FFB5 ; NFKC_CF; 1109 # Lo HALFWIDTH HANGUL LETTER SIOS
-FFB6 ; NFKC_CF; 110A # Lo HALFWIDTH HANGUL LETTER SSANGSIOS
-FFB7 ; NFKC_CF; 110B # Lo HALFWIDTH HANGUL LETTER IEUNG
-FFB8 ; NFKC_CF; 110C # Lo HALFWIDTH HANGUL LETTER CIEUC
-FFB9 ; NFKC_CF; 110D # Lo HALFWIDTH HANGUL LETTER SSANGCIEUC
-FFBA ; NFKC_CF; 110E # Lo HALFWIDTH HANGUL LETTER CHIEUCH
-FFBB ; NFKC_CF; 110F # Lo HALFWIDTH HANGUL LETTER KHIEUKH
-FFBC ; NFKC_CF; 1110 # Lo HALFWIDTH HANGUL LETTER THIEUTH
-FFBD ; NFKC_CF; 1111 # Lo HALFWIDTH HANGUL LETTER PHIEUPH
-FFBE ; NFKC_CF; 1112 # Lo HALFWIDTH HANGUL LETTER HIEUH
-FFC2 ; NFKC_CF; 1161 # Lo HALFWIDTH HANGUL LETTER A
-FFC3 ; NFKC_CF; 1162 # Lo HALFWIDTH HANGUL LETTER AE
-FFC4 ; NFKC_CF; 1163 # Lo HALFWIDTH HANGUL LETTER YA
-FFC5 ; NFKC_CF; 1164 # Lo HALFWIDTH HANGUL LETTER YAE
-FFC6 ; NFKC_CF; 1165 # Lo HALFWIDTH HANGUL LETTER EO
-FFC7 ; NFKC_CF; 1166 # Lo HALFWIDTH HANGUL LETTER E
-FFCA ; NFKC_CF; 1167 # Lo HALFWIDTH HANGUL LETTER YEO
-FFCB ; NFKC_CF; 1168 # Lo HALFWIDTH HANGUL LETTER YE
-FFCC ; NFKC_CF; 1169 # Lo HALFWIDTH HANGUL LETTER O
-FFCD ; NFKC_CF; 116A # Lo HALFWIDTH HANGUL LETTER WA
-FFCE ; NFKC_CF; 116B # Lo HALFWIDTH HANGUL LETTER WAE
-FFCF ; NFKC_CF; 116C # Lo HALFWIDTH HANGUL LETTER OE
-FFD2 ; NFKC_CF; 116D # Lo HALFWIDTH HANGUL LETTER YO
-FFD3 ; NFKC_CF; 116E # Lo HALFWIDTH HANGUL LETTER U
-FFD4 ; NFKC_CF; 116F # Lo HALFWIDTH HANGUL LETTER WEO
-FFD5 ; NFKC_CF; 1170 # Lo HALFWIDTH HANGUL LETTER WE
-FFD6 ; NFKC_CF; 1171 # Lo HALFWIDTH HANGUL LETTER WI
-FFD7 ; NFKC_CF; 1172 # Lo HALFWIDTH HANGUL LETTER YU
-FFDA ; NFKC_CF; 1173 # Lo HALFWIDTH HANGUL LETTER EU
-FFDB ; NFKC_CF; 1174 # Lo HALFWIDTH HANGUL LETTER YI
-FFDC ; NFKC_CF; 1175 # Lo HALFWIDTH HANGUL LETTER I
-FFE0 ; NFKC_CF; 00A2 # Sc FULLWIDTH CENT SIGN
-FFE1 ; NFKC_CF; 00A3 # Sc FULLWIDTH POUND SIGN
-FFE2 ; NFKC_CF; 00AC # Sm FULLWIDTH NOT SIGN
-FFE3 ; NFKC_CF; 0020 0304 # Sk FULLWIDTH MACRON
-FFE4 ; NFKC_CF; 00A6 # So FULLWIDTH BROKEN BAR
-FFE5 ; NFKC_CF; 00A5 # Sc FULLWIDTH YEN SIGN
-FFE6 ; NFKC_CF; 20A9 # Sc FULLWIDTH WON SIGN
-FFE8 ; NFKC_CF; 2502 # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9 ; NFKC_CF; 2190 # Sm HALFWIDTH LEFTWARDS ARROW
-FFEA ; NFKC_CF; 2191 # Sm HALFWIDTH UPWARDS ARROW
-FFEB ; NFKC_CF; 2192 # Sm HALFWIDTH RIGHTWARDS ARROW
-FFEC ; NFKC_CF; 2193 # Sm HALFWIDTH DOWNWARDS ARROW
-FFED ; NFKC_CF; 25A0 # So HALFWIDTH BLACK SQUARE
-FFEE ; NFKC_CF; 25CB # So HALFWIDTH WHITE CIRCLE
-FFF0..FFF8 ; NFKC_CF; # Cn [9] <reserved-FFF0>..<reserved-FFF8>
-10400 ; NFKC_CF; 10428 # L& DESERET CAPITAL LETTER LONG I
-10401 ; NFKC_CF; 10429 # L& DESERET CAPITAL LETTER LONG E
-10402 ; NFKC_CF; 1042A # L& DESERET CAPITAL LETTER LONG A
-10403 ; NFKC_CF; 1042B # L& DESERET CAPITAL LETTER LONG AH
-10404 ; NFKC_CF; 1042C # L& DESERET CAPITAL LETTER LONG O
-10405 ; NFKC_CF; 1042D # L& DESERET CAPITAL LETTER LONG OO
-10406 ; NFKC_CF; 1042E # L& DESERET CAPITAL LETTER SHORT I
-10407 ; NFKC_CF; 1042F # L& DESERET CAPITAL LETTER SHORT E
-10408 ; NFKC_CF; 10430 # L& DESERET CAPITAL LETTER SHORT A
-10409 ; NFKC_CF; 10431 # L& DESERET CAPITAL LETTER SHORT AH
-1040A ; NFKC_CF; 10432 # L& DESERET CAPITAL LETTER SHORT O
-1040B ; NFKC_CF; 10433 # L& DESERET CAPITAL LETTER SHORT OO
-1040C ; NFKC_CF; 10434 # L& DESERET CAPITAL LETTER AY
-1040D ; NFKC_CF; 10435 # L& DESERET CAPITAL LETTER OW
-1040E ; NFKC_CF; 10436 # L& DESERET CAPITAL LETTER WU
-1040F ; NFKC_CF; 10437 # L& DESERET CAPITAL LETTER YEE
-10410 ; NFKC_CF; 10438 # L& DESERET CAPITAL LETTER H
-10411 ; NFKC_CF; 10439 # L& DESERET CAPITAL LETTER PEE
-10412 ; NFKC_CF; 1043A # L& DESERET CAPITAL LETTER BEE
-10413 ; NFKC_CF; 1043B # L& DESERET CAPITAL LETTER TEE
-10414 ; NFKC_CF; 1043C # L& DESERET CAPITAL LETTER DEE
-10415 ; NFKC_CF; 1043D # L& DESERET CAPITAL LETTER CHEE
-10416 ; NFKC_CF; 1043E # L& DESERET CAPITAL LETTER JEE
-10417 ; NFKC_CF; 1043F # L& DESERET CAPITAL LETTER KAY
-10418 ; NFKC_CF; 10440 # L& DESERET CAPITAL LETTER GAY
-10419 ; NFKC_CF; 10441 # L& DESERET CAPITAL LETTER EF
-1041A ; NFKC_CF; 10442 # L& DESERET CAPITAL LETTER VEE
-1041B ; NFKC_CF; 10443 # L& DESERET CAPITAL LETTER ETH
-1041C ; NFKC_CF; 10444 # L& DESERET CAPITAL LETTER THEE
-1041D ; NFKC_CF; 10445 # L& DESERET CAPITAL LETTER ES
-1041E ; NFKC_CF; 10446 # L& DESERET CAPITAL LETTER ZEE
-1041F ; NFKC_CF; 10447 # L& DESERET CAPITAL LETTER ESH
-10420 ; NFKC_CF; 10448 # L& DESERET CAPITAL LETTER ZHEE
-10421 ; NFKC_CF; 10449 # L& DESERET CAPITAL LETTER ER
-10422 ; NFKC_CF; 1044A # L& DESERET CAPITAL LETTER EL
-10423 ; NFKC_CF; 1044B # L& DESERET CAPITAL LETTER EM
-10424 ; NFKC_CF; 1044C # L& DESERET CAPITAL LETTER EN
-10425 ; NFKC_CF; 1044D # L& DESERET CAPITAL LETTER ENG
-10426 ; NFKC_CF; 1044E # L& DESERET CAPITAL LETTER OI
-10427 ; NFKC_CF; 1044F # L& DESERET CAPITAL LETTER EW
-1D15E ; NFKC_CF; 1D157 1D165 # So MUSICAL SYMBOL HALF NOTE
-1D15F ; NFKC_CF; 1D158 1D165 # So MUSICAL SYMBOL QUARTER NOTE
-1D160 ; NFKC_CF; 1D158 1D165 1D16E #So MUSICAL SYMBOL EIGHTH NOTE
-1D161 ; NFKC_CF; 1D158 1D165 1D16F #So MUSICAL SYMBOL SIXTEENTH NOTE
-1D162 ; NFKC_CF; 1D158 1D165 1D170 #So MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163 ; NFKC_CF; 1D158 1D165 1D171 #So MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164 ; NFKC_CF; 1D158 1D165 1D172 #So MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D173..1D17A ; NFKC_CF; # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D1BB ; NFKC_CF; 1D1B9 1D165 # So MUSICAL SYMBOL MINIMA
-1D1BC ; NFKC_CF; 1D1BA 1D165 # So MUSICAL SYMBOL MINIMA BLACK
-1D1BD ; NFKC_CF; 1D1B9 1D165 1D16E #So MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE ; NFKC_CF; 1D1BA 1D165 1D16E #So MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF ; NFKC_CF; 1D1B9 1D165 1D16F #So MUSICAL SYMBOL FUSA WHITE
-1D1C0 ; NFKC_CF; 1D1BA 1D165 1D16F #So MUSICAL SYMBOL FUSA BLACK
-1D400 ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD CAPITAL A
-1D401 ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD CAPITAL B
-1D402 ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD CAPITAL C
-1D403 ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD CAPITAL D
-1D404 ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD CAPITAL E
-1D405 ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD CAPITAL F
-1D406 ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD CAPITAL G
-1D407 ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD CAPITAL H
-1D408 ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD CAPITAL I
-1D409 ; NFKC_CF; 006A # L& MATHEMATICAL BOLD CAPITAL J
-1D40A ; NFKC_CF; 006B # L& MATHEMATICAL BOLD CAPITAL K
-1D40B ; NFKC_CF; 006C # L& MATHEMATICAL BOLD CAPITAL L
-1D40C ; NFKC_CF; 006D # L& MATHEMATICAL BOLD CAPITAL M
-1D40D ; NFKC_CF; 006E # L& MATHEMATICAL BOLD CAPITAL N
-1D40E ; NFKC_CF; 006F # L& MATHEMATICAL BOLD CAPITAL O
-1D40F ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD CAPITAL P
-1D410 ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD CAPITAL Q
-1D411 ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD CAPITAL R
-1D412 ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD CAPITAL S
-1D413 ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD CAPITAL T
-1D414 ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD CAPITAL U
-1D415 ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD CAPITAL V
-1D416 ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD CAPITAL W
-1D417 ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD CAPITAL X
-1D418 ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD CAPITAL Y
-1D419 ; NFKC_CF; 007A # L& MATHEMATICAL BOLD CAPITAL Z
-1D41A ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD SMALL A
-1D41B ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD SMALL B
-1D41C ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD SMALL C
-1D41D ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD SMALL D
-1D41E ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD SMALL E
-1D41F ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD SMALL F
-1D420 ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD SMALL G
-1D421 ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD SMALL H
-1D422 ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD SMALL I
-1D423 ; NFKC_CF; 006A # L& MATHEMATICAL BOLD SMALL J
-1D424 ; NFKC_CF; 006B # L& MATHEMATICAL BOLD SMALL K
-1D425 ; NFKC_CF; 006C # L& MATHEMATICAL BOLD SMALL L
-1D426 ; NFKC_CF; 006D # L& MATHEMATICAL BOLD SMALL M
-1D427 ; NFKC_CF; 006E # L& MATHEMATICAL BOLD SMALL N
-1D428 ; NFKC_CF; 006F # L& MATHEMATICAL BOLD SMALL O
-1D429 ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD SMALL P
-1D42A ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD SMALL Q
-1D42B ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD SMALL R
-1D42C ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD SMALL S
-1D42D ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD SMALL T
-1D42E ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD SMALL U
-1D42F ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD SMALL V
-1D430 ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD SMALL W
-1D431 ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD SMALL X
-1D432 ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD SMALL Y
-1D433 ; NFKC_CF; 007A # L& MATHEMATICAL BOLD SMALL Z
-1D434 ; NFKC_CF; 0061 # L& MATHEMATICAL ITALIC CAPITAL A
-1D435 ; NFKC_CF; 0062 # L& MATHEMATICAL ITALIC CAPITAL B
-1D436 ; NFKC_CF; 0063 # L& MATHEMATICAL ITALIC CAPITAL C
-1D437 ; NFKC_CF; 0064 # L& MATHEMATICAL ITALIC CAPITAL D
-1D438 ; NFKC_CF; 0065 # L& MATHEMATICAL ITALIC CAPITAL E
-1D439 ; NFKC_CF; 0066 # L& MATHEMATICAL ITALIC CAPITAL F
-1D43A ; NFKC_CF; 0067 # L& MATHEMATICAL ITALIC CAPITAL G
-1D43B ; NFKC_CF; 0068 # L& MATHEMATICAL ITALIC CAPITAL H
-1D43C ; NFKC_CF; 0069 # L& MATHEMATICAL ITALIC CAPITAL I
-1D43D ; NFKC_CF; 006A # L& MATHEMATICAL ITALIC CAPITAL J
-1D43E ; NFKC_CF; 006B # L& MATHEMATICAL ITALIC CAPITAL K
-1D43F ; NFKC_CF; 006C # L& MATHEMATICAL ITALIC CAPITAL L
-1D440 ; NFKC_CF; 006D # L& MATHEMATICAL ITALIC CAPITAL M
-1D441 ; NFKC_CF; 006E # L& MATHEMATICAL ITALIC CAPITAL N
-1D442 ; NFKC_CF; 006F # L& MATHEMATICAL ITALIC CAPITAL O
-1D443 ; NFKC_CF; 0070 # L& MATHEMATICAL ITALIC CAPITAL P
-1D444 ; NFKC_CF; 0071 # L& MATHEMATICAL ITALIC CAPITAL Q
-1D445 ; NFKC_CF; 0072 # L& MATHEMATICAL ITALIC CAPITAL R
-1D446 ; NFKC_CF; 0073 # L& MATHEMATICAL ITALIC CAPITAL S
-1D447 ; NFKC_CF; 0074 # L& MATHEMATICAL ITALIC CAPITAL T
-1D448 ; NFKC_CF; 0075 # L& MATHEMATICAL ITALIC CAPITAL U
-1D449 ; NFKC_CF; 0076 # L& MATHEMATICAL ITALIC CAPITAL V
-1D44A ; NFKC_CF; 0077 # L& MATHEMATICAL ITALIC CAPITAL W
-1D44B ; NFKC_CF; 0078 # L& MATHEMATICAL ITALIC CAPITAL X
-1D44C ; NFKC_CF; 0079 # L& MATHEMATICAL ITALIC CAPITAL Y
-1D44D ; NFKC_CF; 007A # L& MATHEMATICAL ITALIC CAPITAL Z
-1D44E ; NFKC_CF; 0061 # L& MATHEMATICAL ITALIC SMALL A
-1D44F ; NFKC_CF; 0062 # L& MATHEMATICAL ITALIC SMALL B
-1D450 ; NFKC_CF; 0063 # L& MATHEMATICAL ITALIC SMALL C
-1D451 ; NFKC_CF; 0064 # L& MATHEMATICAL ITALIC SMALL D
-1D452 ; NFKC_CF; 0065 # L& MATHEMATICAL ITALIC SMALL E
-1D453 ; NFKC_CF; 0066 # L& MATHEMATICAL ITALIC SMALL F
-1D454 ; NFKC_CF; 0067 # L& MATHEMATICAL ITALIC SMALL G
-1D456 ; NFKC_CF; 0069 # L& MATHEMATICAL ITALIC SMALL I
-1D457 ; NFKC_CF; 006A # L& MATHEMATICAL ITALIC SMALL J
-1D458 ; NFKC_CF; 006B # L& MATHEMATICAL ITALIC SMALL K
-1D459 ; NFKC_CF; 006C # L& MATHEMATICAL ITALIC SMALL L
-1D45A ; NFKC_CF; 006D # L& MATHEMATICAL ITALIC SMALL M
-1D45B ; NFKC_CF; 006E # L& MATHEMATICAL ITALIC SMALL N
-1D45C ; NFKC_CF; 006F # L& MATHEMATICAL ITALIC SMALL O
-1D45D ; NFKC_CF; 0070 # L& MATHEMATICAL ITALIC SMALL P
-1D45E ; NFKC_CF; 0071 # L& MATHEMATICAL ITALIC SMALL Q
-1D45F ; NFKC_CF; 0072 # L& MATHEMATICAL ITALIC SMALL R
-1D460 ; NFKC_CF; 0073 # L& MATHEMATICAL ITALIC SMALL S
-1D461 ; NFKC_CF; 0074 # L& MATHEMATICAL ITALIC SMALL T
-1D462 ; NFKC_CF; 0075 # L& MATHEMATICAL ITALIC SMALL U
-1D463 ; NFKC_CF; 0076 # L& MATHEMATICAL ITALIC SMALL V
-1D464 ; NFKC_CF; 0077 # L& MATHEMATICAL ITALIC SMALL W
-1D465 ; NFKC_CF; 0078 # L& MATHEMATICAL ITALIC SMALL X
-1D466 ; NFKC_CF; 0079 # L& MATHEMATICAL ITALIC SMALL Y
-1D467 ; NFKC_CF; 007A # L& MATHEMATICAL ITALIC SMALL Z
-1D468 ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD ITALIC CAPITAL A
-1D469 ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD ITALIC CAPITAL B
-1D46A ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD ITALIC CAPITAL C
-1D46B ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD ITALIC CAPITAL D
-1D46C ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD ITALIC CAPITAL E
-1D46D ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD ITALIC CAPITAL F
-1D46E ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD ITALIC CAPITAL G
-1D46F ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD ITALIC CAPITAL H
-1D470 ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD ITALIC CAPITAL I
-1D471 ; NFKC_CF; 006A # L& MATHEMATICAL BOLD ITALIC CAPITAL J
-1D472 ; NFKC_CF; 006B # L& MATHEMATICAL BOLD ITALIC CAPITAL K
-1D473 ; NFKC_CF; 006C # L& MATHEMATICAL BOLD ITALIC CAPITAL L
-1D474 ; NFKC_CF; 006D # L& MATHEMATICAL BOLD ITALIC CAPITAL M
-1D475 ; NFKC_CF; 006E # L& MATHEMATICAL BOLD ITALIC CAPITAL N
-1D476 ; NFKC_CF; 006F # L& MATHEMATICAL BOLD ITALIC CAPITAL O
-1D477 ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD ITALIC CAPITAL P
-1D478 ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D479 ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD ITALIC CAPITAL R
-1D47A ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD ITALIC CAPITAL S
-1D47B ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD ITALIC CAPITAL T
-1D47C ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD ITALIC CAPITAL U
-1D47D ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD ITALIC CAPITAL V
-1D47E ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD ITALIC CAPITAL W
-1D47F ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD ITALIC CAPITAL X
-1D480 ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D481 ; NFKC_CF; 007A # L& MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D482 ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD ITALIC SMALL A
-1D483 ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD ITALIC SMALL B
-1D484 ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD ITALIC SMALL C
-1D485 ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD ITALIC SMALL D
-1D486 ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD ITALIC SMALL E
-1D487 ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD ITALIC SMALL F
-1D488 ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD ITALIC SMALL G
-1D489 ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD ITALIC SMALL H
-1D48A ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD ITALIC SMALL I
-1D48B ; NFKC_CF; 006A # L& MATHEMATICAL BOLD ITALIC SMALL J
-1D48C ; NFKC_CF; 006B # L& MATHEMATICAL BOLD ITALIC SMALL K
-1D48D ; NFKC_CF; 006C # L& MATHEMATICAL BOLD ITALIC SMALL L
-1D48E ; NFKC_CF; 006D # L& MATHEMATICAL BOLD ITALIC SMALL M
-1D48F ; NFKC_CF; 006E # L& MATHEMATICAL BOLD ITALIC SMALL N
-1D490 ; NFKC_CF; 006F # L& MATHEMATICAL BOLD ITALIC SMALL O
-1D491 ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD ITALIC SMALL P
-1D492 ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD ITALIC SMALL Q
-1D493 ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD ITALIC SMALL R
-1D494 ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD ITALIC SMALL S
-1D495 ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD ITALIC SMALL T
-1D496 ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD ITALIC SMALL U
-1D497 ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD ITALIC SMALL V
-1D498 ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD ITALIC SMALL W
-1D499 ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD ITALIC SMALL X
-1D49A ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD ITALIC SMALL Y
-1D49B ; NFKC_CF; 007A # L& MATHEMATICAL BOLD ITALIC SMALL Z
-1D49C ; NFKC_CF; 0061 # L& MATHEMATICAL SCRIPT CAPITAL A
-1D49E ; NFKC_CF; 0063 # L& MATHEMATICAL SCRIPT CAPITAL C
-1D49F ; NFKC_CF; 0064 # L& MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; NFKC_CF; 0067 # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5 ; NFKC_CF; 006A # L& MATHEMATICAL SCRIPT CAPITAL J
-1D4A6 ; NFKC_CF; 006B # L& MATHEMATICAL SCRIPT CAPITAL K
-1D4A9 ; NFKC_CF; 006E # L& MATHEMATICAL SCRIPT CAPITAL N
-1D4AA ; NFKC_CF; 006F # L& MATHEMATICAL SCRIPT CAPITAL O
-1D4AB ; NFKC_CF; 0070 # L& MATHEMATICAL SCRIPT CAPITAL P
-1D4AC ; NFKC_CF; 0071 # L& MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE ; NFKC_CF; 0073 # L& MATHEMATICAL SCRIPT CAPITAL S
-1D4AF ; NFKC_CF; 0074 # L& MATHEMATICAL SCRIPT CAPITAL T
-1D4B0 ; NFKC_CF; 0075 # L& MATHEMATICAL SCRIPT CAPITAL U
-1D4B1 ; NFKC_CF; 0076 # L& MATHEMATICAL SCRIPT CAPITAL V
-1D4B2 ; NFKC_CF; 0077 # L& MATHEMATICAL SCRIPT CAPITAL W
-1D4B3 ; NFKC_CF; 0078 # L& MATHEMATICAL SCRIPT CAPITAL X
-1D4B4 ; NFKC_CF; 0079 # L& MATHEMATICAL SCRIPT CAPITAL Y
-1D4B5 ; NFKC_CF; 007A # L& MATHEMATICAL SCRIPT CAPITAL Z
-1D4B6 ; NFKC_CF; 0061 # L& MATHEMATICAL SCRIPT SMALL A
-1D4B7 ; NFKC_CF; 0062 # L& MATHEMATICAL SCRIPT SMALL B
-1D4B8 ; NFKC_CF; 0063 # L& MATHEMATICAL SCRIPT SMALL C
-1D4B9 ; NFKC_CF; 0064 # L& MATHEMATICAL SCRIPT SMALL D
-1D4BB ; NFKC_CF; 0066 # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD ; NFKC_CF; 0068 # L& MATHEMATICAL SCRIPT SMALL H
-1D4BE ; NFKC_CF; 0069 # L& MATHEMATICAL SCRIPT SMALL I
-1D4BF ; NFKC_CF; 006A # L& MATHEMATICAL SCRIPT SMALL J
-1D4C0 ; NFKC_CF; 006B # L& MATHEMATICAL SCRIPT SMALL K
-1D4C1 ; NFKC_CF; 006C # L& MATHEMATICAL SCRIPT SMALL L
-1D4C2 ; NFKC_CF; 006D # L& MATHEMATICAL SCRIPT SMALL M
-1D4C3 ; NFKC_CF; 006E # L& MATHEMATICAL SCRIPT SMALL N
-1D4C5 ; NFKC_CF; 0070 # L& MATHEMATICAL SCRIPT SMALL P
-1D4C6 ; NFKC_CF; 0071 # L& MATHEMATICAL SCRIPT SMALL Q
-1D4C7 ; NFKC_CF; 0072 # L& MATHEMATICAL SCRIPT SMALL R
-1D4C8 ; NFKC_CF; 0073 # L& MATHEMATICAL SCRIPT SMALL S
-1D4C9 ; NFKC_CF; 0074 # L& MATHEMATICAL SCRIPT SMALL T
-1D4CA ; NFKC_CF; 0075 # L& MATHEMATICAL SCRIPT SMALL U
-1D4CB ; NFKC_CF; 0076 # L& MATHEMATICAL SCRIPT SMALL V
-1D4CC ; NFKC_CF; 0077 # L& MATHEMATICAL SCRIPT SMALL W
-1D4CD ; NFKC_CF; 0078 # L& MATHEMATICAL SCRIPT SMALL X
-1D4CE ; NFKC_CF; 0079 # L& MATHEMATICAL SCRIPT SMALL Y
-1D4CF ; NFKC_CF; 007A # L& MATHEMATICAL SCRIPT SMALL Z
-1D4D0 ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D4D1 ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D4D2 ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D4D3 ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D4D4 ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D4D5 ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D4D6 ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D4D7 ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D4D8 ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D4D9 ; NFKC_CF; 006A # L& MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D4DA ; NFKC_CF; 006B # L& MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D4DB ; NFKC_CF; 006C # L& MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D4DC ; NFKC_CF; 006D # L& MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D4DD ; NFKC_CF; 006E # L& MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D4DE ; NFKC_CF; 006F # L& MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D4DF ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D4E0 ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D4E1 ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D4E2 ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D4E3 ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D4E4 ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D4E5 ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D4E6 ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D4E7 ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D4E8 ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D4E9 ; NFKC_CF; 007A # L& MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D4EA ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD SCRIPT SMALL A
-1D4EB ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD SCRIPT SMALL B
-1D4EC ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD SCRIPT SMALL C
-1D4ED ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD SCRIPT SMALL D
-1D4EE ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD SCRIPT SMALL E
-1D4EF ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD SCRIPT SMALL F
-1D4F0 ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD SCRIPT SMALL G
-1D4F1 ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD SCRIPT SMALL H
-1D4F2 ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD SCRIPT SMALL I
-1D4F3 ; NFKC_CF; 006A # L& MATHEMATICAL BOLD SCRIPT SMALL J
-1D4F4 ; NFKC_CF; 006B # L& MATHEMATICAL BOLD SCRIPT SMALL K
-1D4F5 ; NFKC_CF; 006C # L& MATHEMATICAL BOLD SCRIPT SMALL L
-1D4F6 ; NFKC_CF; 006D # L& MATHEMATICAL BOLD SCRIPT SMALL M
-1D4F7 ; NFKC_CF; 006E # L& MATHEMATICAL BOLD SCRIPT SMALL N
-1D4F8 ; NFKC_CF; 006F # L& MATHEMATICAL BOLD SCRIPT SMALL O
-1D4F9 ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD SCRIPT SMALL P
-1D4FA ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD SCRIPT SMALL Q
-1D4FB ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD SCRIPT SMALL R
-1D4FC ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD SCRIPT SMALL S
-1D4FD ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD SCRIPT SMALL T
-1D4FE ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD SCRIPT SMALL U
-1D4FF ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD SCRIPT SMALL V
-1D500 ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD SCRIPT SMALL W
-1D501 ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD SCRIPT SMALL X
-1D502 ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD SCRIPT SMALL Y
-1D503 ; NFKC_CF; 007A # L& MATHEMATICAL BOLD SCRIPT SMALL Z
-1D504 ; NFKC_CF; 0061 # L& MATHEMATICAL FRAKTUR CAPITAL A
-1D505 ; NFKC_CF; 0062 # L& MATHEMATICAL FRAKTUR CAPITAL B
-1D507 ; NFKC_CF; 0064 # L& MATHEMATICAL FRAKTUR CAPITAL D
-1D508 ; NFKC_CF; 0065 # L& MATHEMATICAL FRAKTUR CAPITAL E
-1D509 ; NFKC_CF; 0066 # L& MATHEMATICAL FRAKTUR CAPITAL F
-1D50A ; NFKC_CF; 0067 # L& MATHEMATICAL FRAKTUR CAPITAL G
-1D50D ; NFKC_CF; 006A # L& MATHEMATICAL FRAKTUR CAPITAL J
-1D50E ; NFKC_CF; 006B # L& MATHEMATICAL FRAKTUR CAPITAL K
-1D50F ; NFKC_CF; 006C # L& MATHEMATICAL FRAKTUR CAPITAL L
-1D510 ; NFKC_CF; 006D # L& MATHEMATICAL FRAKTUR CAPITAL M
-1D511 ; NFKC_CF; 006E # L& MATHEMATICAL FRAKTUR CAPITAL N
-1D512 ; NFKC_CF; 006F # L& MATHEMATICAL FRAKTUR CAPITAL O
-1D513 ; NFKC_CF; 0070 # L& MATHEMATICAL FRAKTUR CAPITAL P
-1D514 ; NFKC_CF; 0071 # L& MATHEMATICAL FRAKTUR CAPITAL Q
-1D516 ; NFKC_CF; 0073 # L& MATHEMATICAL FRAKTUR CAPITAL S
-1D517 ; NFKC_CF; 0074 # L& MATHEMATICAL FRAKTUR CAPITAL T
-1D518 ; NFKC_CF; 0075 # L& MATHEMATICAL FRAKTUR CAPITAL U
-1D519 ; NFKC_CF; 0076 # L& MATHEMATICAL FRAKTUR CAPITAL V
-1D51A ; NFKC_CF; 0077 # L& MATHEMATICAL FRAKTUR CAPITAL W
-1D51B ; NFKC_CF; 0078 # L& MATHEMATICAL FRAKTUR CAPITAL X
-1D51C ; NFKC_CF; 0079 # L& MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E ; NFKC_CF; 0061 # L& MATHEMATICAL FRAKTUR SMALL A
-1D51F ; NFKC_CF; 0062 # L& MATHEMATICAL FRAKTUR SMALL B
-1D520 ; NFKC_CF; 0063 # L& MATHEMATICAL FRAKTUR SMALL C
-1D521 ; NFKC_CF; 0064 # L& MATHEMATICAL FRAKTUR SMALL D
-1D522 ; NFKC_CF; 0065 # L& MATHEMATICAL FRAKTUR SMALL E
-1D523 ; NFKC_CF; 0066 # L& MATHEMATICAL FRAKTUR SMALL F
-1D524 ; NFKC_CF; 0067 # L& MATHEMATICAL FRAKTUR SMALL G
-1D525 ; NFKC_CF; 0068 # L& MATHEMATICAL FRAKTUR SMALL H
-1D526 ; NFKC_CF; 0069 # L& MATHEMATICAL FRAKTUR SMALL I
-1D527 ; NFKC_CF; 006A # L& MATHEMATICAL FRAKTUR SMALL J
-1D528 ; NFKC_CF; 006B # L& MATHEMATICAL FRAKTUR SMALL K
-1D529 ; NFKC_CF; 006C # L& MATHEMATICAL FRAKTUR SMALL L
-1D52A ; NFKC_CF; 006D # L& MATHEMATICAL FRAKTUR SMALL M
-1D52B ; NFKC_CF; 006E # L& MATHEMATICAL FRAKTUR SMALL N
-1D52C ; NFKC_CF; 006F # L& MATHEMATICAL FRAKTUR SMALL O
-1D52D ; NFKC_CF; 0070 # L& MATHEMATICAL FRAKTUR SMALL P
-1D52E ; NFKC_CF; 0071 # L& MATHEMATICAL FRAKTUR SMALL Q
-1D52F ; NFKC_CF; 0072 # L& MATHEMATICAL FRAKTUR SMALL R
-1D530 ; NFKC_CF; 0073 # L& MATHEMATICAL FRAKTUR SMALL S
-1D531 ; NFKC_CF; 0074 # L& MATHEMATICAL FRAKTUR SMALL T
-1D532 ; NFKC_CF; 0075 # L& MATHEMATICAL FRAKTUR SMALL U
-1D533 ; NFKC_CF; 0076 # L& MATHEMATICAL FRAKTUR SMALL V
-1D534 ; NFKC_CF; 0077 # L& MATHEMATICAL FRAKTUR SMALL W
-1D535 ; NFKC_CF; 0078 # L& MATHEMATICAL FRAKTUR SMALL X
-1D536 ; NFKC_CF; 0079 # L& MATHEMATICAL FRAKTUR SMALL Y
-1D537 ; NFKC_CF; 007A # L& MATHEMATICAL FRAKTUR SMALL Z
-1D538 ; NFKC_CF; 0061 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D539 ; NFKC_CF; 0062 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B ; NFKC_CF; 0064 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D53C ; NFKC_CF; 0065 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D53D ; NFKC_CF; 0066 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D53E ; NFKC_CF; 0067 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540 ; NFKC_CF; 0069 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D541 ; NFKC_CF; 006A # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D542 ; NFKC_CF; 006B # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D543 ; NFKC_CF; 006C # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D544 ; NFKC_CF; 006D # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; NFKC_CF; 006F # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A ; NFKC_CF; 0073 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D54B ; NFKC_CF; 0074 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D54C ; NFKC_CF; 0075 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D54D ; NFKC_CF; 0076 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D54E ; NFKC_CF; 0077 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D54F ; NFKC_CF; 0078 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D550 ; NFKC_CF; 0079 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552 ; NFKC_CF; 0061 # L& MATHEMATICAL DOUBLE-STRUCK SMALL A
-1D553 ; NFKC_CF; 0062 # L& MATHEMATICAL DOUBLE-STRUCK SMALL B
-1D554 ; NFKC_CF; 0063 # L& MATHEMATICAL DOUBLE-STRUCK SMALL C
-1D555 ; NFKC_CF; 0064 # L& MATHEMATICAL DOUBLE-STRUCK SMALL D
-1D556 ; NFKC_CF; 0065 # L& MATHEMATICAL DOUBLE-STRUCK SMALL E
-1D557 ; NFKC_CF; 0066 # L& MATHEMATICAL DOUBLE-STRUCK SMALL F
-1D558 ; NFKC_CF; 0067 # L& MATHEMATICAL DOUBLE-STRUCK SMALL G
-1D559 ; NFKC_CF; 0068 # L& MATHEMATICAL DOUBLE-STRUCK SMALL H
-1D55A ; NFKC_CF; 0069 # L& MATHEMATICAL DOUBLE-STRUCK SMALL I
-1D55B ; NFKC_CF; 006A # L& MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D55C ; NFKC_CF; 006B # L& MATHEMATICAL DOUBLE-STRUCK SMALL K
-1D55D ; NFKC_CF; 006C # L& MATHEMATICAL DOUBLE-STRUCK SMALL L
-1D55E ; NFKC_CF; 006D # L& MATHEMATICAL DOUBLE-STRUCK SMALL M
-1D55F ; NFKC_CF; 006E # L& MATHEMATICAL DOUBLE-STRUCK SMALL N
-1D560 ; NFKC_CF; 006F # L& MATHEMATICAL DOUBLE-STRUCK SMALL O
-1D561 ; NFKC_CF; 0070 # L& MATHEMATICAL DOUBLE-STRUCK SMALL P
-1D562 ; NFKC_CF; 0071 # L& MATHEMATICAL DOUBLE-STRUCK SMALL Q
-1D563 ; NFKC_CF; 0072 # L& MATHEMATICAL DOUBLE-STRUCK SMALL R
-1D564 ; NFKC_CF; 0073 # L& MATHEMATICAL DOUBLE-STRUCK SMALL S
-1D565 ; NFKC_CF; 0074 # L& MATHEMATICAL DOUBLE-STRUCK SMALL T
-1D566 ; NFKC_CF; 0075 # L& MATHEMATICAL DOUBLE-STRUCK SMALL U
-1D567 ; NFKC_CF; 0076 # L& MATHEMATICAL DOUBLE-STRUCK SMALL V
-1D568 ; NFKC_CF; 0077 # L& MATHEMATICAL DOUBLE-STRUCK SMALL W
-1D569 ; NFKC_CF; 0078 # L& MATHEMATICAL DOUBLE-STRUCK SMALL X
-1D56A ; NFKC_CF; 0079 # L& MATHEMATICAL DOUBLE-STRUCK SMALL Y
-1D56B ; NFKC_CF; 007A # L& MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D56C ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D56D ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D56E ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D56F ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D570 ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D571 ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D572 ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D573 ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D574 ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D575 ; NFKC_CF; 006A # L& MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D576 ; NFKC_CF; 006B # L& MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D577 ; NFKC_CF; 006C # L& MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D578 ; NFKC_CF; 006D # L& MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D579 ; NFKC_CF; 006E # L& MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D57A ; NFKC_CF; 006F # L& MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D57B ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D57C ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D57D ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D57E ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D57F ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D580 ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D581 ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D582 ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D583 ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D584 ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D585 ; NFKC_CF; 007A # L& MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D586 ; NFKC_CF; 0061 # L& MATHEMATICAL BOLD FRAKTUR SMALL A
-1D587 ; NFKC_CF; 0062 # L& MATHEMATICAL BOLD FRAKTUR SMALL B
-1D588 ; NFKC_CF; 0063 # L& MATHEMATICAL BOLD FRAKTUR SMALL C
-1D589 ; NFKC_CF; 0064 # L& MATHEMATICAL BOLD FRAKTUR SMALL D
-1D58A ; NFKC_CF; 0065 # L& MATHEMATICAL BOLD FRAKTUR SMALL E
-1D58B ; NFKC_CF; 0066 # L& MATHEMATICAL BOLD FRAKTUR SMALL F
-1D58C ; NFKC_CF; 0067 # L& MATHEMATICAL BOLD FRAKTUR SMALL G
-1D58D ; NFKC_CF; 0068 # L& MATHEMATICAL BOLD FRAKTUR SMALL H
-1D58E ; NFKC_CF; 0069 # L& MATHEMATICAL BOLD FRAKTUR SMALL I
-1D58F ; NFKC_CF; 006A # L& MATHEMATICAL BOLD FRAKTUR SMALL J
-1D590 ; NFKC_CF; 006B # L& MATHEMATICAL BOLD FRAKTUR SMALL K
-1D591 ; NFKC_CF; 006C # L& MATHEMATICAL BOLD FRAKTUR SMALL L
-1D592 ; NFKC_CF; 006D # L& MATHEMATICAL BOLD FRAKTUR SMALL M
-1D593 ; NFKC_CF; 006E # L& MATHEMATICAL BOLD FRAKTUR SMALL N
-1D594 ; NFKC_CF; 006F # L& MATHEMATICAL BOLD FRAKTUR SMALL O
-1D595 ; NFKC_CF; 0070 # L& MATHEMATICAL BOLD FRAKTUR SMALL P
-1D596 ; NFKC_CF; 0071 # L& MATHEMATICAL BOLD FRAKTUR SMALL Q
-1D597 ; NFKC_CF; 0072 # L& MATHEMATICAL BOLD FRAKTUR SMALL R
-1D598 ; NFKC_CF; 0073 # L& MATHEMATICAL BOLD FRAKTUR SMALL S
-1D599 ; NFKC_CF; 0074 # L& MATHEMATICAL BOLD FRAKTUR SMALL T
-1D59A ; NFKC_CF; 0075 # L& MATHEMATICAL BOLD FRAKTUR SMALL U
-1D59B ; NFKC_CF; 0076 # L& MATHEMATICAL BOLD FRAKTUR SMALL V
-1D59C ; NFKC_CF; 0077 # L& MATHEMATICAL BOLD FRAKTUR SMALL W
-1D59D ; NFKC_CF; 0078 # L& MATHEMATICAL BOLD FRAKTUR SMALL X
-1D59E ; NFKC_CF; 0079 # L& MATHEMATICAL BOLD FRAKTUR SMALL Y
-1D59F ; NFKC_CF; 007A # L& MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5A0 ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF CAPITAL A
-1D5A1 ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF CAPITAL B
-1D5A2 ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF CAPITAL C
-1D5A3 ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF CAPITAL D
-1D5A4 ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF CAPITAL E
-1D5A5 ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF CAPITAL F
-1D5A6 ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF CAPITAL G
-1D5A7 ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF CAPITAL H
-1D5A8 ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF CAPITAL I
-1D5A9 ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF CAPITAL J
-1D5AA ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF CAPITAL K
-1D5AB ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF CAPITAL L
-1D5AC ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF CAPITAL M
-1D5AD ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF CAPITAL N
-1D5AE ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF CAPITAL O
-1D5AF ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF CAPITAL P
-1D5B0 ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5B1 ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF CAPITAL R
-1D5B2 ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF CAPITAL S
-1D5B3 ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF CAPITAL T
-1D5B4 ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF CAPITAL U
-1D5B5 ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF CAPITAL V
-1D5B6 ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF CAPITAL W
-1D5B7 ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF CAPITAL X
-1D5B8 ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5B9 ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5BA ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF SMALL A
-1D5BB ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF SMALL B
-1D5BC ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF SMALL C
-1D5BD ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF SMALL D
-1D5BE ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF SMALL E
-1D5BF ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF SMALL F
-1D5C0 ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF SMALL G
-1D5C1 ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF SMALL H
-1D5C2 ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF SMALL I
-1D5C3 ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF SMALL J
-1D5C4 ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF SMALL K
-1D5C5 ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF SMALL L
-1D5C6 ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF SMALL M
-1D5C7 ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF SMALL N
-1D5C8 ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF SMALL O
-1D5C9 ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF SMALL P
-1D5CA ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF SMALL Q
-1D5CB ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF SMALL R
-1D5CC ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF SMALL S
-1D5CD ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF SMALL T
-1D5CE ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF SMALL U
-1D5CF ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF SMALL V
-1D5D0 ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF SMALL W
-1D5D1 ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF SMALL X
-1D5D2 ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF SMALL Y
-1D5D3 ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF SMALL Z
-1D5D4 ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D5D5 ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D5D6 ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D5D7 ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D5D8 ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D5D9 ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D5DA ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D5DB ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D5DC ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D5DD ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D5DE ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D5DF ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D5E0 ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D5E1 ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D5E2 ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D5E3 ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D5E4 ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D5E5 ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D5E6 ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D5E7 ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D5E8 ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D5E9 ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D5EA ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D5EB ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D5EC ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D5ED ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D5EE ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF BOLD SMALL A
-1D5EF ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF BOLD SMALL B
-1D5F0 ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF BOLD SMALL C
-1D5F1 ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF BOLD SMALL D
-1D5F2 ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF BOLD SMALL E
-1D5F3 ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF BOLD SMALL F
-1D5F4 ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF BOLD SMALL G
-1D5F5 ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF BOLD SMALL H
-1D5F6 ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF BOLD SMALL I
-1D5F7 ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D5F8 ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF BOLD SMALL K
-1D5F9 ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF BOLD SMALL L
-1D5FA ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF BOLD SMALL M
-1D5FB ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF BOLD SMALL N
-1D5FC ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF BOLD SMALL O
-1D5FD ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF BOLD SMALL P
-1D5FE ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF BOLD SMALL Q
-1D5FF ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF BOLD SMALL R
-1D600 ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF BOLD SMALL S
-1D601 ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF BOLD SMALL T
-1D602 ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF BOLD SMALL U
-1D603 ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF BOLD SMALL V
-1D604 ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF BOLD SMALL W
-1D605 ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF BOLD SMALL X
-1D606 ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF BOLD SMALL Y
-1D607 ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D608 ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D609 ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D60A ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D60B ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D60C ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D60D ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D60E ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D60F ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D610 ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D611 ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D612 ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D613 ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D614 ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D615 ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D616 ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D617 ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D618 ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D619 ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D61A ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D61B ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D61C ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D61D ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D61E ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D61F ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D620 ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D621 ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D622 ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL A
-1D623 ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL B
-1D624 ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL C
-1D625 ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL D
-1D626 ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL E
-1D627 ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL F
-1D628 ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL G
-1D629 ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL H
-1D62A ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL I
-1D62B ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D62C ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF ITALIC SMALL K
-1D62D ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF ITALIC SMALL L
-1D62E ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF ITALIC SMALL M
-1D62F ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF ITALIC SMALL N
-1D630 ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF ITALIC SMALL O
-1D631 ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL P
-1D632 ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL Q
-1D633 ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL R
-1D634 ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL S
-1D635 ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL T
-1D636 ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL U
-1D637 ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL V
-1D638 ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL W
-1D639 ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL X
-1D63A ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF ITALIC SMALL Y
-1D63B ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D63C ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D63D ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D63E ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D63F ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D640 ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D641 ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D642 ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D643 ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D644 ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D645 ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D646 ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D647 ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D648 ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D649 ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D64A ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D64B ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D64C ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D64D ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D64E ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D64F ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D650 ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D651 ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D652 ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D653 ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D654 ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D655 ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D656 ; NFKC_CF; 0061 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
-1D657 ; NFKC_CF; 0062 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
-1D658 ; NFKC_CF; 0063 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
-1D659 ; NFKC_CF; 0064 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
-1D65A ; NFKC_CF; 0065 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
-1D65B ; NFKC_CF; 0066 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
-1D65C ; NFKC_CF; 0067 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
-1D65D ; NFKC_CF; 0068 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
-1D65E ; NFKC_CF; 0069 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
-1D65F ; NFKC_CF; 006A # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D660 ; NFKC_CF; 006B # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
-1D661 ; NFKC_CF; 006C # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
-1D662 ; NFKC_CF; 006D # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
-1D663 ; NFKC_CF; 006E # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
-1D664 ; NFKC_CF; 006F # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
-1D665 ; NFKC_CF; 0070 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
-1D666 ; NFKC_CF; 0071 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
-1D667 ; NFKC_CF; 0072 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
-1D668 ; NFKC_CF; 0073 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
-1D669 ; NFKC_CF; 0074 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
-1D66A ; NFKC_CF; 0075 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
-1D66B ; NFKC_CF; 0076 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
-1D66C ; NFKC_CF; 0077 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
-1D66D ; NFKC_CF; 0078 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
-1D66E ; NFKC_CF; 0079 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
-1D66F ; NFKC_CF; 007A # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D670 ; NFKC_CF; 0061 # L& MATHEMATICAL MONOSPACE CAPITAL A
-1D671 ; NFKC_CF; 0062 # L& MATHEMATICAL MONOSPACE CAPITAL B
-1D672 ; NFKC_CF; 0063 # L& MATHEMATICAL MONOSPACE CAPITAL C
-1D673 ; NFKC_CF; 0064 # L& MATHEMATICAL MONOSPACE CAPITAL D
-1D674 ; NFKC_CF; 0065 # L& MATHEMATICAL MONOSPACE CAPITAL E
-1D675 ; NFKC_CF; 0066 # L& MATHEMATICAL MONOSPACE CAPITAL F
-1D676 ; NFKC_CF; 0067 # L& MATHEMATICAL MONOSPACE CAPITAL G
-1D677 ; NFKC_CF; 0068 # L& MATHEMATICAL MONOSPACE CAPITAL H
-1D678 ; NFKC_CF; 0069 # L& MATHEMATICAL MONOSPACE CAPITAL I
-1D679 ; NFKC_CF; 006A # L& MATHEMATICAL MONOSPACE CAPITAL J
-1D67A ; NFKC_CF; 006B # L& MATHEMATICAL MONOSPACE CAPITAL K
-1D67B ; NFKC_CF; 006C # L& MATHEMATICAL MONOSPACE CAPITAL L
-1D67C ; NFKC_CF; 006D # L& MATHEMATICAL MONOSPACE CAPITAL M
-1D67D ; NFKC_CF; 006E # L& MATHEMATICAL MONOSPACE CAPITAL N
-1D67E ; NFKC_CF; 006F # L& MATHEMATICAL MONOSPACE CAPITAL O
-1D67F ; NFKC_CF; 0070 # L& MATHEMATICAL MONOSPACE CAPITAL P
-1D680 ; NFKC_CF; 0071 # L& MATHEMATICAL MONOSPACE CAPITAL Q
-1D681 ; NFKC_CF; 0072 # L& MATHEMATICAL MONOSPACE CAPITAL R
-1D682 ; NFKC_CF; 0073 # L& MATHEMATICAL MONOSPACE CAPITAL S
-1D683 ; NFKC_CF; 0074 # L& MATHEMATICAL MONOSPACE CAPITAL T
-1D684 ; NFKC_CF; 0075 # L& MATHEMATICAL MONOSPACE CAPITAL U
-1D685 ; NFKC_CF; 0076 # L& MATHEMATICAL MONOSPACE CAPITAL V
-1D686 ; NFKC_CF; 0077 # L& MATHEMATICAL MONOSPACE CAPITAL W
-1D687 ; NFKC_CF; 0078 # L& MATHEMATICAL MONOSPACE CAPITAL X
-1D688 ; NFKC_CF; 0079 # L& MATHEMATICAL MONOSPACE CAPITAL Y
-1D689 ; NFKC_CF; 007A # L& MATHEMATICAL MONOSPACE CAPITAL Z
-1D68A ; NFKC_CF; 0061 # L& MATHEMATICAL MONOSPACE SMALL A
-1D68B ; NFKC_CF; 0062 # L& MATHEMATICAL MONOSPACE SMALL B
-1D68C ; NFKC_CF; 0063 # L& MATHEMATICAL MONOSPACE SMALL C
-1D68D ; NFKC_CF; 0064 # L& MATHEMATICAL MONOSPACE SMALL D
-1D68E ; NFKC_CF; 0065 # L& MATHEMATICAL MONOSPACE SMALL E
-1D68F ; NFKC_CF; 0066 # L& MATHEMATICAL MONOSPACE SMALL F
-1D690 ; NFKC_CF; 0067 # L& MATHEMATICAL MONOSPACE SMALL G
-1D691 ; NFKC_CF; 0068 # L& MATHEMATICAL MONOSPACE SMALL H
-1D692 ; NFKC_CF; 0069 # L& MATHEMATICAL MONOSPACE SMALL I
-1D693 ; NFKC_CF; 006A # L& MATHEMATICAL MONOSPACE SMALL J
-1D694 ; NFKC_CF; 006B # L& MATHEMATICAL MONOSPACE SMALL K
-1D695 ; NFKC_CF; 006C # L& MATHEMATICAL MONOSPACE SMALL L
-1D696 ; NFKC_CF; 006D # L& MATHEMATICAL MONOSPACE SMALL M
-1D697 ; NFKC_CF; 006E # L& MATHEMATICAL MONOSPACE SMALL N
-1D698 ; NFKC_CF; 006F # L& MATHEMATICAL MONOSPACE SMALL O
-1D699 ; NFKC_CF; 0070 # L& MATHEMATICAL MONOSPACE SMALL P
-1D69A ; NFKC_CF; 0071 # L& MATHEMATICAL MONOSPACE SMALL Q
-1D69B ; NFKC_CF; 0072 # L& MATHEMATICAL MONOSPACE SMALL R
-1D69C ; NFKC_CF; 0073 # L& MATHEMATICAL MONOSPACE SMALL S
-1D69D ; NFKC_CF; 0074 # L& MATHEMATICAL MONOSPACE SMALL T
-1D69E ; NFKC_CF; 0075 # L& MATHEMATICAL MONOSPACE SMALL U
-1D69F ; NFKC_CF; 0076 # L& MATHEMATICAL MONOSPACE SMALL V
-1D6A0 ; NFKC_CF; 0077 # L& MATHEMATICAL MONOSPACE SMALL W
-1D6A1 ; NFKC_CF; 0078 # L& MATHEMATICAL MONOSPACE SMALL X
-1D6A2 ; NFKC_CF; 0079 # L& MATHEMATICAL MONOSPACE SMALL Y
-1D6A3 ; NFKC_CF; 007A # L& MATHEMATICAL MONOSPACE SMALL Z
-1D6A4 ; NFKC_CF; 0131 # L& MATHEMATICAL ITALIC SMALL DOTLESS I
-1D6A5 ; NFKC_CF; 0237 # L& MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8 ; NFKC_CF; 03B1 # L& MATHEMATICAL BOLD CAPITAL ALPHA
-1D6A9 ; NFKC_CF; 03B2 # L& MATHEMATICAL BOLD CAPITAL BETA
-1D6AA ; NFKC_CF; 03B3 # L& MATHEMATICAL BOLD CAPITAL GAMMA
-1D6AB ; NFKC_CF; 03B4 # L& MATHEMATICAL BOLD CAPITAL DELTA
-1D6AC ; NFKC_CF; 03B5 # L& MATHEMATICAL BOLD CAPITAL EPSILON
-1D6AD ; NFKC_CF; 03B6 # L& MATHEMATICAL BOLD CAPITAL ZETA
-1D6AE ; NFKC_CF; 03B7 # L& MATHEMATICAL BOLD CAPITAL ETA
-1D6AF ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD CAPITAL THETA
-1D6B0 ; NFKC_CF; 03B9 # L& MATHEMATICAL BOLD CAPITAL IOTA
-1D6B1 ; NFKC_CF; 03BA # L& MATHEMATICAL BOLD CAPITAL KAPPA
-1D6B2 ; NFKC_CF; 03BB # L& MATHEMATICAL BOLD CAPITAL LAMDA
-1D6B3 ; NFKC_CF; 03BC # L& MATHEMATICAL BOLD CAPITAL MU
-1D6B4 ; NFKC_CF; 03BD # L& MATHEMATICAL BOLD CAPITAL NU
-1D6B5 ; NFKC_CF; 03BE # L& MATHEMATICAL BOLD CAPITAL XI
-1D6B6 ; NFKC_CF; 03BF # L& MATHEMATICAL BOLD CAPITAL OMICRON
-1D6B7 ; NFKC_CF; 03C0 # L& MATHEMATICAL BOLD CAPITAL PI
-1D6B8 ; NFKC_CF; 03C1 # L& MATHEMATICAL BOLD CAPITAL RHO
-1D6B9 ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6BA ; NFKC_CF; 03C3 # L& MATHEMATICAL BOLD CAPITAL SIGMA
-1D6BB ; NFKC_CF; 03C4 # L& MATHEMATICAL BOLD CAPITAL TAU
-1D6BC ; NFKC_CF; 03C5 # L& MATHEMATICAL BOLD CAPITAL UPSILON
-1D6BD ; NFKC_CF; 03C6 # L& MATHEMATICAL BOLD CAPITAL PHI
-1D6BE ; NFKC_CF; 03C7 # L& MATHEMATICAL BOLD CAPITAL CHI
-1D6BF ; NFKC_CF; 03C8 # L& MATHEMATICAL BOLD CAPITAL PSI
-1D6C0 ; NFKC_CF; 03C9 # L& MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; NFKC_CF; 2207 # Sm MATHEMATICAL BOLD NABLA
-1D6C2 ; NFKC_CF; 03B1 # L& MATHEMATICAL BOLD SMALL ALPHA
-1D6C3 ; NFKC_CF; 03B2 # L& MATHEMATICAL BOLD SMALL BETA
-1D6C4 ; NFKC_CF; 03B3 # L& MATHEMATICAL BOLD SMALL GAMMA
-1D6C5 ; NFKC_CF; 03B4 # L& MATHEMATICAL BOLD SMALL DELTA
-1D6C6 ; NFKC_CF; 03B5 # L& MATHEMATICAL BOLD SMALL EPSILON
-1D6C7 ; NFKC_CF; 03B6 # L& MATHEMATICAL BOLD SMALL ZETA
-1D6C8 ; NFKC_CF; 03B7 # L& MATHEMATICAL BOLD SMALL ETA
-1D6C9 ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD SMALL THETA
-1D6CA ; NFKC_CF; 03B9 # L& MATHEMATICAL BOLD SMALL IOTA
-1D6CB ; NFKC_CF; 03BA # L& MATHEMATICAL BOLD SMALL KAPPA
-1D6CC ; NFKC_CF; 03BB # L& MATHEMATICAL BOLD SMALL LAMDA
-1D6CD ; NFKC_CF; 03BC # L& MATHEMATICAL BOLD SMALL MU
-1D6CE ; NFKC_CF; 03BD # L& MATHEMATICAL BOLD SMALL NU
-1D6CF ; NFKC_CF; 03BE # L& MATHEMATICAL BOLD SMALL XI
-1D6D0 ; NFKC_CF; 03BF # L& MATHEMATICAL BOLD SMALL OMICRON
-1D6D1 ; NFKC_CF; 03C0 # L& MATHEMATICAL BOLD SMALL PI
-1D6D2 ; NFKC_CF; 03C1 # L& MATHEMATICAL BOLD SMALL RHO
-1D6D3..1D6D4 ; NFKC_CF; 03C3 # L& [2] MATHEMATICAL BOLD SMALL FINAL SIGMA..MATHEMATICAL BOLD SMALL SIGMA
-1D6D5 ; NFKC_CF; 03C4 # L& MATHEMATICAL BOLD SMALL TAU
-1D6D6 ; NFKC_CF; 03C5 # L& MATHEMATICAL BOLD SMALL UPSILON
-1D6D7 ; NFKC_CF; 03C6 # L& MATHEMATICAL BOLD SMALL PHI
-1D6D8 ; NFKC_CF; 03C7 # L& MATHEMATICAL BOLD SMALL CHI
-1D6D9 ; NFKC_CF; 03C8 # L& MATHEMATICAL BOLD SMALL PSI
-1D6DA ; NFKC_CF; 03C9 # L& MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; NFKC_CF; 2202 # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC ; NFKC_CF; 03B5 # L& MATHEMATICAL BOLD EPSILON SYMBOL
-1D6DD ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD THETA SYMBOL
-1D6DE ; NFKC_CF; 03BA # L& MATHEMATICAL BOLD KAPPA SYMBOL
-1D6DF ; NFKC_CF; 03C6 # L& MATHEMATICAL BOLD PHI SYMBOL
-1D6E0 ; NFKC_CF; 03C1 # L& MATHEMATICAL BOLD RHO SYMBOL
-1D6E1 ; NFKC_CF; 03C0 # L& MATHEMATICAL BOLD PI SYMBOL
-1D6E2 ; NFKC_CF; 03B1 # L& MATHEMATICAL ITALIC CAPITAL ALPHA
-1D6E3 ; NFKC_CF; 03B2 # L& MATHEMATICAL ITALIC CAPITAL BETA
-1D6E4 ; NFKC_CF; 03B3 # L& MATHEMATICAL ITALIC CAPITAL GAMMA
-1D6E5 ; NFKC_CF; 03B4 # L& MATHEMATICAL ITALIC CAPITAL DELTA
-1D6E6 ; NFKC_CF; 03B5 # L& MATHEMATICAL ITALIC CAPITAL EPSILON
-1D6E7 ; NFKC_CF; 03B6 # L& MATHEMATICAL ITALIC CAPITAL ZETA
-1D6E8 ; NFKC_CF; 03B7 # L& MATHEMATICAL ITALIC CAPITAL ETA
-1D6E9 ; NFKC_CF; 03B8 # L& MATHEMATICAL ITALIC CAPITAL THETA
-1D6EA ; NFKC_CF; 03B9 # L& MATHEMATICAL ITALIC CAPITAL IOTA
-1D6EB ; NFKC_CF; 03BA # L& MATHEMATICAL ITALIC CAPITAL KAPPA
-1D6EC ; NFKC_CF; 03BB # L& MATHEMATICAL ITALIC CAPITAL LAMDA
-1D6ED ; NFKC_CF; 03BC # L& MATHEMATICAL ITALIC CAPITAL MU
-1D6EE ; NFKC_CF; 03BD # L& MATHEMATICAL ITALIC CAPITAL NU
-1D6EF ; NFKC_CF; 03BE # L& MATHEMATICAL ITALIC CAPITAL XI
-1D6F0 ; NFKC_CF; 03BF # L& MATHEMATICAL ITALIC CAPITAL OMICRON
-1D6F1 ; NFKC_CF; 03C0 # L& MATHEMATICAL ITALIC CAPITAL PI
-1D6F2 ; NFKC_CF; 03C1 # L& MATHEMATICAL ITALIC CAPITAL RHO
-1D6F3 ; NFKC_CF; 03B8 # L& MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D6F4 ; NFKC_CF; 03C3 # L& MATHEMATICAL ITALIC CAPITAL SIGMA
-1D6F5 ; NFKC_CF; 03C4 # L& MATHEMATICAL ITALIC CAPITAL TAU
-1D6F6 ; NFKC_CF; 03C5 # L& MATHEMATICAL ITALIC CAPITAL UPSILON
-1D6F7 ; NFKC_CF; 03C6 # L& MATHEMATICAL ITALIC CAPITAL PHI
-1D6F8 ; NFKC_CF; 03C7 # L& MATHEMATICAL ITALIC CAPITAL CHI
-1D6F9 ; NFKC_CF; 03C8 # L& MATHEMATICAL ITALIC CAPITAL PSI
-1D6FA ; NFKC_CF; 03C9 # L& MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; NFKC_CF; 2207 # Sm MATHEMATICAL ITALIC NABLA
-1D6FC ; NFKC_CF; 03B1 # L& MATHEMATICAL ITALIC SMALL ALPHA
-1D6FD ; NFKC_CF; 03B2 # L& MATHEMATICAL ITALIC SMALL BETA
-1D6FE ; NFKC_CF; 03B3 # L& MATHEMATICAL ITALIC SMALL GAMMA
-1D6FF ; NFKC_CF; 03B4 # L& MATHEMATICAL ITALIC SMALL DELTA
-1D700 ; NFKC_CF; 03B5 # L& MATHEMATICAL ITALIC SMALL EPSILON
-1D701 ; NFKC_CF; 03B6 # L& MATHEMATICAL ITALIC SMALL ZETA
-1D702 ; NFKC_CF; 03B7 # L& MATHEMATICAL ITALIC SMALL ETA
-1D703 ; NFKC_CF; 03B8 # L& MATHEMATICAL ITALIC SMALL THETA
-1D704 ; NFKC_CF; 03B9 # L& MATHEMATICAL ITALIC SMALL IOTA
-1D705 ; NFKC_CF; 03BA # L& MATHEMATICAL ITALIC SMALL KAPPA
-1D706 ; NFKC_CF; 03BB # L& MATHEMATICAL ITALIC SMALL LAMDA
-1D707 ; NFKC_CF; 03BC # L& MATHEMATICAL ITALIC SMALL MU
-1D708 ; NFKC_CF; 03BD # L& MATHEMATICAL ITALIC SMALL NU
-1D709 ; NFKC_CF; 03BE # L& MATHEMATICAL ITALIC SMALL XI
-1D70A ; NFKC_CF; 03BF # L& MATHEMATICAL ITALIC SMALL OMICRON
-1D70B ; NFKC_CF; 03C0 # L& MATHEMATICAL ITALIC SMALL PI
-1D70C ; NFKC_CF; 03C1 # L& MATHEMATICAL ITALIC SMALL RHO
-1D70D..1D70E ; NFKC_CF; 03C3 # L& [2] MATHEMATICAL ITALIC SMALL FINAL SIGMA..MATHEMATICAL ITALIC SMALL SIGMA
-1D70F ; NFKC_CF; 03C4 # L& MATHEMATICAL ITALIC SMALL TAU
-1D710 ; NFKC_CF; 03C5 # L& MATHEMATICAL ITALIC SMALL UPSILON
-1D711 ; NFKC_CF; 03C6 # L& MATHEMATICAL ITALIC SMALL PHI
-1D712 ; NFKC_CF; 03C7 # L& MATHEMATICAL ITALIC SMALL CHI
-1D713 ; NFKC_CF; 03C8 # L& MATHEMATICAL ITALIC SMALL PSI
-1D714 ; NFKC_CF; 03C9 # L& MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; NFKC_CF; 2202 # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716 ; NFKC_CF; 03B5 # L& MATHEMATICAL ITALIC EPSILON SYMBOL
-1D717 ; NFKC_CF; 03B8 # L& MATHEMATICAL ITALIC THETA SYMBOL
-1D718 ; NFKC_CF; 03BA # L& MATHEMATICAL ITALIC KAPPA SYMBOL
-1D719 ; NFKC_CF; 03C6 # L& MATHEMATICAL ITALIC PHI SYMBOL
-1D71A ; NFKC_CF; 03C1 # L& MATHEMATICAL ITALIC RHO SYMBOL
-1D71B ; NFKC_CF; 03C0 # L& MATHEMATICAL ITALIC PI SYMBOL
-1D71C ; NFKC_CF; 03B1 # L& MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D71D ; NFKC_CF; 03B2 # L& MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D71E ; NFKC_CF; 03B3 # L& MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D71F ; NFKC_CF; 03B4 # L& MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D720 ; NFKC_CF; 03B5 # L& MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D721 ; NFKC_CF; 03B6 # L& MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D722 ; NFKC_CF; 03B7 # L& MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D723 ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D724 ; NFKC_CF; 03B9 # L& MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D725 ; NFKC_CF; 03BA # L& MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D726 ; NFKC_CF; 03BB # L& MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D727 ; NFKC_CF; 03BC # L& MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D728 ; NFKC_CF; 03BD # L& MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D729 ; NFKC_CF; 03BE # L& MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D72A ; NFKC_CF; 03BF # L& MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D72B ; NFKC_CF; 03C0 # L& MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D72C ; NFKC_CF; 03C1 # L& MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D72D ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D72E ; NFKC_CF; 03C3 # L& MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D72F ; NFKC_CF; 03C4 # L& MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D730 ; NFKC_CF; 03C5 # L& MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D731 ; NFKC_CF; 03C6 # L& MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D732 ; NFKC_CF; 03C7 # L& MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D733 ; NFKC_CF; 03C8 # L& MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D734 ; NFKC_CF; 03C9 # L& MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; NFKC_CF; 2207 # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736 ; NFKC_CF; 03B1 # L& MATHEMATICAL BOLD ITALIC SMALL ALPHA
-1D737 ; NFKC_CF; 03B2 # L& MATHEMATICAL BOLD ITALIC SMALL BETA
-1D738 ; NFKC_CF; 03B3 # L& MATHEMATICAL BOLD ITALIC SMALL GAMMA
-1D739 ; NFKC_CF; 03B4 # L& MATHEMATICAL BOLD ITALIC SMALL DELTA
-1D73A ; NFKC_CF; 03B5 # L& MATHEMATICAL BOLD ITALIC SMALL EPSILON
-1D73B ; NFKC_CF; 03B6 # L& MATHEMATICAL BOLD ITALIC SMALL ZETA
-1D73C ; NFKC_CF; 03B7 # L& MATHEMATICAL BOLD ITALIC SMALL ETA
-1D73D ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD ITALIC SMALL THETA
-1D73E ; NFKC_CF; 03B9 # L& MATHEMATICAL BOLD ITALIC SMALL IOTA
-1D73F ; NFKC_CF; 03BA # L& MATHEMATICAL BOLD ITALIC SMALL KAPPA
-1D740 ; NFKC_CF; 03BB # L& MATHEMATICAL BOLD ITALIC SMALL LAMDA
-1D741 ; NFKC_CF; 03BC # L& MATHEMATICAL BOLD ITALIC SMALL MU
-1D742 ; NFKC_CF; 03BD # L& MATHEMATICAL BOLD ITALIC SMALL NU
-1D743 ; NFKC_CF; 03BE # L& MATHEMATICAL BOLD ITALIC SMALL XI
-1D744 ; NFKC_CF; 03BF # L& MATHEMATICAL BOLD ITALIC SMALL OMICRON
-1D745 ; NFKC_CF; 03C0 # L& MATHEMATICAL BOLD ITALIC SMALL PI
-1D746 ; NFKC_CF; 03C1 # L& MATHEMATICAL BOLD ITALIC SMALL RHO
-1D747..1D748 ; NFKC_CF; 03C3 # L& [2] MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA..MATHEMATICAL BOLD ITALIC SMALL SIGMA
-1D749 ; NFKC_CF; 03C4 # L& MATHEMATICAL BOLD ITALIC SMALL TAU
-1D74A ; NFKC_CF; 03C5 # L& MATHEMATICAL BOLD ITALIC SMALL UPSILON
-1D74B ; NFKC_CF; 03C6 # L& MATHEMATICAL BOLD ITALIC SMALL PHI
-1D74C ; NFKC_CF; 03C7 # L& MATHEMATICAL BOLD ITALIC SMALL CHI
-1D74D ; NFKC_CF; 03C8 # L& MATHEMATICAL BOLD ITALIC SMALL PSI
-1D74E ; NFKC_CF; 03C9 # L& MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; NFKC_CF; 2202 # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750 ; NFKC_CF; 03B5 # L& MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
-1D751 ; NFKC_CF; 03B8 # L& MATHEMATICAL BOLD ITALIC THETA SYMBOL
-1D752 ; NFKC_CF; 03BA # L& MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
-1D753 ; NFKC_CF; 03C6 # L& MATHEMATICAL BOLD ITALIC PHI SYMBOL
-1D754 ; NFKC_CF; 03C1 # L& MATHEMATICAL BOLD ITALIC RHO SYMBOL
-1D755 ; NFKC_CF; 03C0 # L& MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D756 ; NFKC_CF; 03B1 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D757 ; NFKC_CF; 03B2 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D758 ; NFKC_CF; 03B3 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D759 ; NFKC_CF; 03B4 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D75A ; NFKC_CF; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D75B ; NFKC_CF; 03B6 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D75C ; NFKC_CF; 03B7 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D75D ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D75E ; NFKC_CF; 03B9 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D75F ; NFKC_CF; 03BA # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D760 ; NFKC_CF; 03BB # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D761 ; NFKC_CF; 03BC # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D762 ; NFKC_CF; 03BD # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D763 ; NFKC_CF; 03BE # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D764 ; NFKC_CF; 03BF # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D765 ; NFKC_CF; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D766 ; NFKC_CF; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D767 ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D768 ; NFKC_CF; 03C3 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D769 ; NFKC_CF; 03C4 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D76A ; NFKC_CF; 03C5 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D76B ; NFKC_CF; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D76C ; NFKC_CF; 03C7 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D76D ; NFKC_CF; 03C8 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D76E ; NFKC_CF; 03C9 # L& MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; NFKC_CF; 2207 # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770 ; NFKC_CF; 03B1 # L& MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
-1D771 ; NFKC_CF; 03B2 # L& MATHEMATICAL SANS-SERIF BOLD SMALL BETA
-1D772 ; NFKC_CF; 03B3 # L& MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
-1D773 ; NFKC_CF; 03B4 # L& MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
-1D774 ; NFKC_CF; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
-1D775 ; NFKC_CF; 03B6 # L& MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
-1D776 ; NFKC_CF; 03B7 # L& MATHEMATICAL SANS-SERIF BOLD SMALL ETA
-1D777 ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD SMALL THETA
-1D778 ; NFKC_CF; 03B9 # L& MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
-1D779 ; NFKC_CF; 03BA # L& MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
-1D77A ; NFKC_CF; 03BB # L& MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
-1D77B ; NFKC_CF; 03BC # L& MATHEMATICAL SANS-SERIF BOLD SMALL MU
-1D77C ; NFKC_CF; 03BD # L& MATHEMATICAL SANS-SERIF BOLD SMALL NU
-1D77D ; NFKC_CF; 03BE # L& MATHEMATICAL SANS-SERIF BOLD SMALL XI
-1D77E ; NFKC_CF; 03BF # L& MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
-1D77F ; NFKC_CF; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD SMALL PI
-1D780 ; NFKC_CF; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD SMALL RHO
-1D781..1D782 ; NFKC_CF; 03C3 # L& [2] MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA..MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
-1D783 ; NFKC_CF; 03C4 # L& MATHEMATICAL SANS-SERIF BOLD SMALL TAU
-1D784 ; NFKC_CF; 03C5 # L& MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
-1D785 ; NFKC_CF; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD SMALL PHI
-1D786 ; NFKC_CF; 03C7 # L& MATHEMATICAL SANS-SERIF BOLD SMALL CHI
-1D787 ; NFKC_CF; 03C8 # L& MATHEMATICAL SANS-SERIF BOLD SMALL PSI
-1D788 ; NFKC_CF; 03C9 # L& MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; NFKC_CF; 2202 # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A ; NFKC_CF; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
-1D78B ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
-1D78C ; NFKC_CF; 03BA # L& MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
-1D78D ; NFKC_CF; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
-1D78E ; NFKC_CF; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
-1D78F ; NFKC_CF; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D790 ; NFKC_CF; 03B1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1D791 ; NFKC_CF; 03B2 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D792 ; NFKC_CF; 03B3 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D793 ; NFKC_CF; 03B4 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D794 ; NFKC_CF; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1D795 ; NFKC_CF; 03B6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-1D796 ; NFKC_CF; 03B7 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1D797 ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D798 ; NFKC_CF; 03B9 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1D799 ; NFKC_CF; 03BA # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-1D79A ; NFKC_CF; 03BB # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D79B ; NFKC_CF; 03BC # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-1D79C ; NFKC_CF; 03BD # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-1D79D ; NFKC_CF; 03BE # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-1D79E ; NFKC_CF; 03BF # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1D79F ; NFKC_CF; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D7A0 ; NFKC_CF; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D7A1 ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1D7A2 ; NFKC_CF; 03C3 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-1D7A3 ; NFKC_CF; 03C4 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-1D7A4 ; NFKC_CF; 03C5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1D7A5 ; NFKC_CF; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D7A6 ; NFKC_CF; 03C7 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D7A7 ; NFKC_CF; 03C8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D7A8 ; NFKC_CF; 03C9 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; NFKC_CF; 2207 # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA ; NFKC_CF; 03B1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
-1D7AB ; NFKC_CF; 03B2 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
-1D7AC ; NFKC_CF; 03B3 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
-1D7AD ; NFKC_CF; 03B4 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
-1D7AE ; NFKC_CF; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
-1D7AF ; NFKC_CF; 03B6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
-1D7B0 ; NFKC_CF; 03B7 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
-1D7B1 ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
-1D7B2 ; NFKC_CF; 03B9 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
-1D7B3 ; NFKC_CF; 03BA # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
-1D7B4 ; NFKC_CF; 03BB # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
-1D7B5 ; NFKC_CF; 03BC # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
-1D7B6 ; NFKC_CF; 03BD # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
-1D7B7 ; NFKC_CF; 03BE # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
-1D7B8 ; NFKC_CF; 03BF # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
-1D7B9 ; NFKC_CF; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
-1D7BA ; NFKC_CF; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
-1D7BB..1D7BC ; NFKC_CF; 03C3 # L& [2] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
-1D7BD ; NFKC_CF; 03C4 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
-1D7BE ; NFKC_CF; 03C5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
-1D7BF ; NFKC_CF; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
-1D7C0 ; NFKC_CF; 03C7 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
-1D7C1 ; NFKC_CF; 03C8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
-1D7C2 ; NFKC_CF; 03C9 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; NFKC_CF; 2202 # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4 ; NFKC_CF; 03B5 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
-1D7C5 ; NFKC_CF; 03B8 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
-1D7C6 ; NFKC_CF; 03BA # L& MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
-1D7C7 ; NFKC_CF; 03C6 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
-1D7C8 ; NFKC_CF; 03C1 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
-1D7C9 ; NFKC_CF; 03C0 # L& MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CA..1D7CB ; NFKC_CF; 03DD # L& [2] MATHEMATICAL BOLD CAPITAL DIGAMMA..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE ; NFKC_CF; 0030 # Nd MATHEMATICAL BOLD DIGIT ZERO
-1D7CF ; NFKC_CF; 0031 # Nd MATHEMATICAL BOLD DIGIT ONE
-1D7D0 ; NFKC_CF; 0032 # Nd MATHEMATICAL BOLD DIGIT TWO
-1D7D1 ; NFKC_CF; 0033 # Nd MATHEMATICAL BOLD DIGIT THREE
-1D7D2 ; NFKC_CF; 0034 # Nd MATHEMATICAL BOLD DIGIT FOUR
-1D7D3 ; NFKC_CF; 0035 # Nd MATHEMATICAL BOLD DIGIT FIVE
-1D7D4 ; NFKC_CF; 0036 # Nd MATHEMATICAL BOLD DIGIT SIX
-1D7D5 ; NFKC_CF; 0037 # Nd MATHEMATICAL BOLD DIGIT SEVEN
-1D7D6 ; NFKC_CF; 0038 # Nd MATHEMATICAL BOLD DIGIT EIGHT
-1D7D7 ; NFKC_CF; 0039 # Nd MATHEMATICAL BOLD DIGIT NINE
-1D7D8 ; NFKC_CF; 0030 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7D9 ; NFKC_CF; 0031 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7DA ; NFKC_CF; 0032 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7DB ; NFKC_CF; 0033 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7DC ; NFKC_CF; 0034 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7DD ; NFKC_CF; 0035 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7DE ; NFKC_CF; 0036 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7DF ; NFKC_CF; 0037 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E0 ; NFKC_CF; 0038 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7E1 ; NFKC_CF; 0039 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7E2 ; NFKC_CF; 0030 # Nd MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7E3 ; NFKC_CF; 0031 # Nd MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7E4 ; NFKC_CF; 0032 # Nd MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7E5 ; NFKC_CF; 0033 # Nd MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7E6 ; NFKC_CF; 0034 # Nd MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7E7 ; NFKC_CF; 0035 # Nd MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7E8 ; NFKC_CF; 0036 # Nd MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7E9 ; NFKC_CF; 0037 # Nd MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7EA ; NFKC_CF; 0038 # Nd MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7EB ; NFKC_CF; 0039 # Nd MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7EC ; NFKC_CF; 0030 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7ED ; NFKC_CF; 0031 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7EE ; NFKC_CF; 0032 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7EF ; NFKC_CF; 0033 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F0 ; NFKC_CF; 0034 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7F1 ; NFKC_CF; 0035 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7F2 ; NFKC_CF; 0036 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7F3 ; NFKC_CF; 0037 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7F4 ; NFKC_CF; 0038 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7F5 ; NFKC_CF; 0039 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7F6 ; NFKC_CF; 0030 # Nd MATHEMATICAL MONOSPACE DIGIT ZERO
-1D7F7 ; NFKC_CF; 0031 # Nd MATHEMATICAL MONOSPACE DIGIT ONE
-1D7F8 ; NFKC_CF; 0032 # Nd MATHEMATICAL MONOSPACE DIGIT TWO
-1D7F9 ; NFKC_CF; 0033 # Nd MATHEMATICAL MONOSPACE DIGIT THREE
-1D7FA ; NFKC_CF; 0034 # Nd MATHEMATICAL MONOSPACE DIGIT FOUR
-1D7FB ; NFKC_CF; 0035 # Nd MATHEMATICAL MONOSPACE DIGIT FIVE
-1D7FC ; NFKC_CF; 0036 # Nd MATHEMATICAL MONOSPACE DIGIT SIX
-1D7FD ; NFKC_CF; 0037 # Nd MATHEMATICAL MONOSPACE DIGIT SEVEN
-1D7FE ; NFKC_CF; 0038 # Nd MATHEMATICAL MONOSPACE DIGIT EIGHT
-1D7FF ; NFKC_CF; 0039 # Nd MATHEMATICAL MONOSPACE DIGIT NINE
-1F100 ; NFKC_CF; 0030 002E # No DIGIT ZERO FULL STOP
-1F101 ; NFKC_CF; 0030 002C # No DIGIT ZERO COMMA
-1F102 ; NFKC_CF; 0031 002C # No DIGIT ONE COMMA
-1F103 ; NFKC_CF; 0032 002C # No DIGIT TWO COMMA
-1F104 ; NFKC_CF; 0033 002C # No DIGIT THREE COMMA
-1F105 ; NFKC_CF; 0034 002C # No DIGIT FOUR COMMA
-1F106 ; NFKC_CF; 0035 002C # No DIGIT FIVE COMMA
-1F107 ; NFKC_CF; 0036 002C # No DIGIT SIX COMMA
-1F108 ; NFKC_CF; 0037 002C # No DIGIT SEVEN COMMA
-1F109 ; NFKC_CF; 0038 002C # No DIGIT EIGHT COMMA
-1F10A ; NFKC_CF; 0039 002C # No DIGIT NINE COMMA
-1F110 ; NFKC_CF; 0028 0061 0029 # So PARENTHESIZED LATIN CAPITAL LETTER A
-1F111 ; NFKC_CF; 0028 0062 0029 # So PARENTHESIZED LATIN CAPITAL LETTER B
-1F112 ; NFKC_CF; 0028 0063 0029 # So PARENTHESIZED LATIN CAPITAL LETTER C
-1F113 ; NFKC_CF; 0028 0064 0029 # So PARENTHESIZED LATIN CAPITAL LETTER D
-1F114 ; NFKC_CF; 0028 0065 0029 # So PARENTHESIZED LATIN CAPITAL LETTER E
-1F115 ; NFKC_CF; 0028 0066 0029 # So PARENTHESIZED LATIN CAPITAL LETTER F
-1F116 ; NFKC_CF; 0028 0067 0029 # So PARENTHESIZED LATIN CAPITAL LETTER G
-1F117 ; NFKC_CF; 0028 0068 0029 # So PARENTHESIZED LATIN CAPITAL LETTER H
-1F118 ; NFKC_CF; 0028 0069 0029 # So PARENTHESIZED LATIN CAPITAL LETTER I
-1F119 ; NFKC_CF; 0028 006A 0029 # So PARENTHESIZED LATIN CAPITAL LETTER J
-1F11A ; NFKC_CF; 0028 006B 0029 # So PARENTHESIZED LATIN CAPITAL LETTER K
-1F11B ; NFKC_CF; 0028 006C 0029 # So PARENTHESIZED LATIN CAPITAL LETTER L
-1F11C ; NFKC_CF; 0028 006D 0029 # So PARENTHESIZED LATIN CAPITAL LETTER M
-1F11D ; NFKC_CF; 0028 006E 0029 # So PARENTHESIZED LATIN CAPITAL LETTER N
-1F11E ; NFKC_CF; 0028 006F 0029 # So PARENTHESIZED LATIN CAPITAL LETTER O
-1F11F ; NFKC_CF; 0028 0070 0029 # So PARENTHESIZED LATIN CAPITAL LETTER P
-1F120 ; NFKC_CF; 0028 0071 0029 # So PARENTHESIZED LATIN CAPITAL LETTER Q
-1F121 ; NFKC_CF; 0028 0072 0029 # So PARENTHESIZED LATIN CAPITAL LETTER R
-1F122 ; NFKC_CF; 0028 0073 0029 # So PARENTHESIZED LATIN CAPITAL LETTER S
-1F123 ; NFKC_CF; 0028 0074 0029 # So PARENTHESIZED LATIN CAPITAL LETTER T
-1F124 ; NFKC_CF; 0028 0075 0029 # So PARENTHESIZED LATIN CAPITAL LETTER U
-1F125 ; NFKC_CF; 0028 0076 0029 # So PARENTHESIZED LATIN CAPITAL LETTER V
-1F126 ; NFKC_CF; 0028 0077 0029 # So PARENTHESIZED LATIN CAPITAL LETTER W
-1F127 ; NFKC_CF; 0028 0078 0029 # So PARENTHESIZED LATIN CAPITAL LETTER X
-1F128 ; NFKC_CF; 0028 0079 0029 # So PARENTHESIZED LATIN CAPITAL LETTER Y
-1F129 ; NFKC_CF; 0028 007A 0029 # So PARENTHESIZED LATIN CAPITAL LETTER Z
-1F12A ; NFKC_CF; 3014 0073 3015 # So TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12B ; NFKC_CF; 0063 # So CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F12C ; NFKC_CF; 0072 # So CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F12D ; NFKC_CF; 0063 0064 # So CIRCLED CD
-1F12E ; NFKC_CF; 0077 007A # So CIRCLED WZ
-1F131 ; NFKC_CF; 0062 # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; NFKC_CF; 006E # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; NFKC_CF; 0070 # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; NFKC_CF; 0073 # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; NFKC_CF; 0077 # So SQUARED LATIN CAPITAL LETTER W
-1F14A ; NFKC_CF; 0068 0076 # So SQUARED HV
-1F14B ; NFKC_CF; 006D 0076 # So SQUARED MV
-1F14C ; NFKC_CF; 0073 0064 # So SQUARED SD
-1F14D ; NFKC_CF; 0073 0073 # So SQUARED SS
-1F14E ; NFKC_CF; 0070 0070 0076 # So SQUARED PPV
-1F190 ; NFKC_CF; 0064 006A # So SQUARE DJ
-1F200 ; NFKC_CF; 307B 304B # So SQUARE HIRAGANA HOKA
-1F210 ; NFKC_CF; 624B # So SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F211 ; NFKC_CF; 5B57 # So SQUARED CJK UNIFIED IDEOGRAPH-5B57
-1F212 ; NFKC_CF; 53CC # So SQUARED CJK UNIFIED IDEOGRAPH-53CC
-1F213 ; NFKC_CF; 30C7 # So SQUARED KATAKANA DE
-1F214 ; NFKC_CF; 4E8C # So SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-1F215 ; NFKC_CF; 591A # So SQUARED CJK UNIFIED IDEOGRAPH-591A
-1F216 ; NFKC_CF; 89E3 # So SQUARED CJK UNIFIED IDEOGRAPH-89E3
-1F217 ; NFKC_CF; 5929 # So SQUARED CJK UNIFIED IDEOGRAPH-5929
-1F218 ; NFKC_CF; 4EA4 # So SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-1F219 ; NFKC_CF; 6620 # So SQUARED CJK UNIFIED IDEOGRAPH-6620
-1F21A ; NFKC_CF; 7121 # So SQUARED CJK UNIFIED IDEOGRAPH-7121
-1F21B ; NFKC_CF; 6599 # So SQUARED CJK UNIFIED IDEOGRAPH-6599
-1F21C ; NFKC_CF; 524D # So SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F21D ; NFKC_CF; 5F8C # So SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F21E ; NFKC_CF; 518D # So SQUARED CJK UNIFIED IDEOGRAPH-518D
-1F21F ; NFKC_CF; 65B0 # So SQUARED CJK UNIFIED IDEOGRAPH-65B0
-1F220 ; NFKC_CF; 521D # So SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F221 ; NFKC_CF; 7D42 # So SQUARED CJK UNIFIED IDEOGRAPH-7D42
-1F222 ; NFKC_CF; 751F # So SQUARED CJK UNIFIED IDEOGRAPH-751F
-1F223 ; NFKC_CF; 8CA9 # So SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-1F224 ; NFKC_CF; 58F0 # So SQUARED CJK UNIFIED IDEOGRAPH-58F0
-1F225 ; NFKC_CF; 5439 # So SQUARED CJK UNIFIED IDEOGRAPH-5439
-1F226 ; NFKC_CF; 6F14 # So SQUARED CJK UNIFIED IDEOGRAPH-6F14
-1F227 ; NFKC_CF; 6295 # So SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F228 ; NFKC_CF; 6355 # So SQUARED CJK UNIFIED IDEOGRAPH-6355
-1F229 ; NFKC_CF; 4E00 # So SQUARED CJK UNIFIED IDEOGRAPH-4E00
-1F22A ; NFKC_CF; 4E09 # So SQUARED CJK UNIFIED IDEOGRAPH-4E09
-1F22B ; NFKC_CF; 904A # So SQUARED CJK UNIFIED IDEOGRAPH-904A
-1F22C ; NFKC_CF; 5DE6 # So SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-1F22D ; NFKC_CF; 4E2D # So SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-1F22E ; NFKC_CF; 53F3 # So SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F22F ; NFKC_CF; 6307 # So SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F230 ; NFKC_CF; 8D70 # So SQUARED CJK UNIFIED IDEOGRAPH-8D70
-1F231 ; NFKC_CF; 6253 # So SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240 ; NFKC_CF; 3014 672C 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F241 ; NFKC_CF; 3014 4E09 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242 ; NFKC_CF; 3014 4E8C 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F243 ; NFKC_CF; 3014 5B89 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F244 ; NFKC_CF; 3014 70B9 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F245 ; NFKC_CF; 3014 6253 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F246 ; NFKC_CF; 3014 76D7 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-1F247 ; NFKC_CF; 3014 52DD 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F248 ; NFKC_CF; 3014 6557 3015 # So TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2F800 ; NFKC_CF; 4E3D # Lo CJK COMPATIBILITY IDEOGRAPH-2F800
-2F801 ; NFKC_CF; 4E38 # Lo CJK COMPATIBILITY IDEOGRAPH-2F801
-2F802 ; NFKC_CF; 4E41 # Lo CJK COMPATIBILITY IDEOGRAPH-2F802
-2F803 ; NFKC_CF; 20122 # Lo CJK COMPATIBILITY IDEOGRAPH-2F803
-2F804 ; NFKC_CF; 4F60 # Lo CJK COMPATIBILITY IDEOGRAPH-2F804
-2F805 ; NFKC_CF; 4FAE # Lo CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; NFKC_CF; 4FBB # Lo CJK COMPATIBILITY IDEOGRAPH-2F806
-2F807 ; NFKC_CF; 5002 # Lo CJK COMPATIBILITY IDEOGRAPH-2F807
-2F808 ; NFKC_CF; 507A # Lo CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; NFKC_CF; 5099 # Lo CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80A ; NFKC_CF; 50E7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F80A
-2F80B ; NFKC_CF; 50CF # Lo CJK COMPATIBILITY IDEOGRAPH-2F80B
-2F80C ; NFKC_CF; 349E # Lo CJK COMPATIBILITY IDEOGRAPH-2F80C
-2F80D ; NFKC_CF; 2063A # Lo CJK COMPATIBILITY IDEOGRAPH-2F80D
-2F80E ; NFKC_CF; 514D # Lo CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; NFKC_CF; 5154 # Lo CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 ; NFKC_CF; 5164 # Lo CJK COMPATIBILITY IDEOGRAPH-2F810
-2F811 ; NFKC_CF; 5177 # Lo CJK COMPATIBILITY IDEOGRAPH-2F811
-2F812 ; NFKC_CF; 2051C # Lo CJK COMPATIBILITY IDEOGRAPH-2F812
-2F813 ; NFKC_CF; 34B9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F813
-2F814 ; NFKC_CF; 5167 # Lo CJK COMPATIBILITY IDEOGRAPH-2F814
-2F815 ; NFKC_CF; 518D # Lo CJK COMPATIBILITY IDEOGRAPH-2F815
-2F816 ; NFKC_CF; 2054B # Lo CJK COMPATIBILITY IDEOGRAPH-2F816
-2F817 ; NFKC_CF; 5197 # Lo CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; NFKC_CF; 51A4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F818
-2F819 ; NFKC_CF; 4ECC # Lo CJK COMPATIBILITY IDEOGRAPH-2F819
-2F81A ; NFKC_CF; 51AC # Lo CJK COMPATIBILITY IDEOGRAPH-2F81A
-2F81B ; NFKC_CF; 51B5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F81B
-2F81C ; NFKC_CF; 291DF # Lo CJK COMPATIBILITY IDEOGRAPH-2F81C
-2F81D ; NFKC_CF; 51F5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; NFKC_CF; 5203 # Lo CJK COMPATIBILITY IDEOGRAPH-2F81E
-2F81F ; NFKC_CF; 34DF # Lo CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F820 ; NFKC_CF; 523B # Lo CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; NFKC_CF; 5246 # Lo CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 ; NFKC_CF; 5272 # Lo CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; NFKC_CF; 5277 # Lo CJK COMPATIBILITY IDEOGRAPH-2F823
-2F824 ; NFKC_CF; 3515 # Lo CJK COMPATIBILITY IDEOGRAPH-2F824
-2F825 ; NFKC_CF; 52C7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F825
-2F826 ; NFKC_CF; 52C9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F826
-2F827 ; NFKC_CF; 52E4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F827
-2F828 ; NFKC_CF; 52FA # Lo CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; NFKC_CF; 5305 # Lo CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; NFKC_CF; 5306 # Lo CJK COMPATIBILITY IDEOGRAPH-2F82A
-2F82B ; NFKC_CF; 5317 # Lo CJK COMPATIBILITY IDEOGRAPH-2F82B
-2F82C ; NFKC_CF; 5349 # Lo CJK COMPATIBILITY IDEOGRAPH-2F82C
-2F82D ; NFKC_CF; 5351 # Lo CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; NFKC_CF; 535A # Lo CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; NFKC_CF; 5373 # Lo CJK COMPATIBILITY IDEOGRAPH-2F82F
-2F830 ; NFKC_CF; 537D # Lo CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831..2F833 ; NFKC_CF; 537F # Lo [3] CJK COMPATIBILITY IDEOGRAPH-2F831..CJK COMPATIBILITY IDEOGRAPH-2F833
-2F834 ; NFKC_CF; 20A2C # Lo CJK COMPATIBILITY IDEOGRAPH-2F834
-2F835 ; NFKC_CF; 7070 # Lo CJK COMPATIBILITY IDEOGRAPH-2F835
-2F836 ; NFKC_CF; 53CA # Lo CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; NFKC_CF; 53DF # Lo CJK COMPATIBILITY IDEOGRAPH-2F837
-2F838 ; NFKC_CF; 20B63 # Lo CJK COMPATIBILITY IDEOGRAPH-2F838
-2F839 ; NFKC_CF; 53EB # Lo CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; NFKC_CF; 53F1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; NFKC_CF; 5406 # Lo CJK COMPATIBILITY IDEOGRAPH-2F83B
-2F83C ; NFKC_CF; 549E # Lo CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F83D ; NFKC_CF; 5438 # Lo CJK COMPATIBILITY IDEOGRAPH-2F83D
-2F83E ; NFKC_CF; 5448 # Lo CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; NFKC_CF; 5468 # Lo CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840 ; NFKC_CF; 54A2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F840
-2F841 ; NFKC_CF; 54F6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 ; NFKC_CF; 5510 # Lo CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; NFKC_CF; 5553 # Lo CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844 ; NFKC_CF; 5563 # Lo CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845..2F846 ; NFKC_CF; 5584 # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F845..CJK COMPATIBILITY IDEOGRAPH-2F846
-2F847 ; NFKC_CF; 5599 # Lo CJK COMPATIBILITY IDEOGRAPH-2F847
-2F848 ; NFKC_CF; 55AB # Lo CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; NFKC_CF; 55B3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F849
-2F84A ; NFKC_CF; 55C2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F84A
-2F84B ; NFKC_CF; 5716 # Lo CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84C ; NFKC_CF; 5606 # Lo CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84D ; NFKC_CF; 5717 # Lo CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F84E ; NFKC_CF; 5651 # Lo CJK COMPATIBILITY IDEOGRAPH-2F84E
-2F84F ; NFKC_CF; 5674 # Lo CJK COMPATIBILITY IDEOGRAPH-2F84F
-2F850 ; NFKC_CF; 5207 # Lo CJK COMPATIBILITY IDEOGRAPH-2F850
-2F851 ; NFKC_CF; 58EE # Lo CJK COMPATIBILITY IDEOGRAPH-2F851
-2F852 ; NFKC_CF; 57CE # Lo CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; NFKC_CF; 57F4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; NFKC_CF; 580D # Lo CJK COMPATIBILITY IDEOGRAPH-2F854
-2F855 ; NFKC_CF; 578B # Lo CJK COMPATIBILITY IDEOGRAPH-2F855
-2F856 ; NFKC_CF; 5832 # Lo CJK COMPATIBILITY IDEOGRAPH-2F856
-2F857 ; NFKC_CF; 5831 # Lo CJK COMPATIBILITY IDEOGRAPH-2F857
-2F858 ; NFKC_CF; 58AC # Lo CJK COMPATIBILITY IDEOGRAPH-2F858
-2F859 ; NFKC_CF; 214E4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F859
-2F85A ; NFKC_CF; 58F2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; NFKC_CF; 58F7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C ; NFKC_CF; 5906 # Lo CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; NFKC_CF; 591A # Lo CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; NFKC_CF; 5922 # Lo CJK COMPATIBILITY IDEOGRAPH-2F85E
-2F85F ; NFKC_CF; 5962 # Lo CJK COMPATIBILITY IDEOGRAPH-2F85F
-2F860 ; NFKC_CF; 216A8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F860
-2F861 ; NFKC_CF; 216EA # Lo CJK COMPATIBILITY IDEOGRAPH-2F861
-2F862 ; NFKC_CF; 59EC # Lo CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; NFKC_CF; 5A1B # Lo CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; NFKC_CF; 5A27 # Lo CJK COMPATIBILITY IDEOGRAPH-2F864
-2F865 ; NFKC_CF; 59D8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F865
-2F866 ; NFKC_CF; 5A66 # Lo CJK COMPATIBILITY IDEOGRAPH-2F866
-2F867 ; NFKC_CF; 36EE # Lo CJK COMPATIBILITY IDEOGRAPH-2F867
-2F868 ; NFKC_CF; 36FC # Lo CJK COMPATIBILITY IDEOGRAPH-2F868
-2F869 ; NFKC_CF; 5B08 # Lo CJK COMPATIBILITY IDEOGRAPH-2F869
-2F86A..2F86B ; NFKC_CF; 5B3E # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F86A..CJK COMPATIBILITY IDEOGRAPH-2F86B
-2F86C ; NFKC_CF; 219C8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F86C
-2F86D ; NFKC_CF; 5BC3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; NFKC_CF; 5BD8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F86E
-2F86F ; NFKC_CF; 5BE7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F86F
-2F870 ; NFKC_CF; 5BF3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F870
-2F871 ; NFKC_CF; 21B18 # Lo CJK COMPATIBILITY IDEOGRAPH-2F871
-2F872 ; NFKC_CF; 5BFF # Lo CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; NFKC_CF; 5C06 # Lo CJK COMPATIBILITY IDEOGRAPH-2F873
-2F874 ; NFKC_CF; 5F53 # Lo CJK COMPATIBILITY IDEOGRAPH-2F874
-2F875 ; NFKC_CF; 5C22 # Lo CJK COMPATIBILITY IDEOGRAPH-2F875
-2F876 ; NFKC_CF; 3781 # Lo CJK COMPATIBILITY IDEOGRAPH-2F876
-2F877 ; NFKC_CF; 5C60 # Lo CJK COMPATIBILITY IDEOGRAPH-2F877
-2F878 ; NFKC_CF; 5C6E # Lo CJK COMPATIBILITY IDEOGRAPH-2F878
-2F879 ; NFKC_CF; 5CC0 # Lo CJK COMPATIBILITY IDEOGRAPH-2F879
-2F87A ; NFKC_CF; 5C8D # Lo CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F87B ; NFKC_CF; 21DE4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F87B
-2F87C ; NFKC_CF; 5D43 # Lo CJK COMPATIBILITY IDEOGRAPH-2F87C
-2F87D ; NFKC_CF; 21DE6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F87D
-2F87E ; NFKC_CF; 5D6E # Lo CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F87F ; NFKC_CF; 5D6B # Lo CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F880 ; NFKC_CF; 5D7C # Lo CJK COMPATIBILITY IDEOGRAPH-2F880
-2F881 ; NFKC_CF; 5DE1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; NFKC_CF; 5DE2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F882
-2F883 ; NFKC_CF; 382F # Lo CJK COMPATIBILITY IDEOGRAPH-2F883
-2F884 ; NFKC_CF; 5DFD # Lo CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; NFKC_CF; 5E28 # Lo CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; NFKC_CF; 5E3D # Lo CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; NFKC_CF; 5E69 # Lo CJK COMPATIBILITY IDEOGRAPH-2F887
-2F888 ; NFKC_CF; 3862 # Lo CJK COMPATIBILITY IDEOGRAPH-2F888
-2F889 ; NFKC_CF; 22183 # Lo CJK COMPATIBILITY IDEOGRAPH-2F889
-2F88A ; NFKC_CF; 387C # Lo CJK COMPATIBILITY IDEOGRAPH-2F88A
-2F88B ; NFKC_CF; 5EB0 # Lo CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; NFKC_CF; 5EB3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; NFKC_CF; 5EB6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F88D
-2F88E ; NFKC_CF; 5ECA # Lo CJK COMPATIBILITY IDEOGRAPH-2F88E
-2F88F ; NFKC_CF; 2A392 # Lo CJK COMPATIBILITY IDEOGRAPH-2F88F
-2F890 ; NFKC_CF; 5EFE # Lo CJK COMPATIBILITY IDEOGRAPH-2F890
-2F891..2F892 ; NFKC_CF; 22331 # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F891..CJK COMPATIBILITY IDEOGRAPH-2F892
-2F893 ; NFKC_CF; 8201 # Lo CJK COMPATIBILITY IDEOGRAPH-2F893
-2F894..2F895 ; NFKC_CF; 5F22 # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F894..CJK COMPATIBILITY IDEOGRAPH-2F895
-2F896 ; NFKC_CF; 38C7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F896
-2F897 ; NFKC_CF; 232B8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F897
-2F898 ; NFKC_CF; 261DA # Lo CJK COMPATIBILITY IDEOGRAPH-2F898
-2F899 ; NFKC_CF; 5F62 # Lo CJK COMPATIBILITY IDEOGRAPH-2F899
-2F89A ; NFKC_CF; 5F6B # Lo CJK COMPATIBILITY IDEOGRAPH-2F89A
-2F89B ; NFKC_CF; 38E3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F89B
-2F89C ; NFKC_CF; 5F9A # Lo CJK COMPATIBILITY IDEOGRAPH-2F89C
-2F89D ; NFKC_CF; 5FCD # Lo CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; NFKC_CF; 5FD7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F89E
-2F89F ; NFKC_CF; 5FF9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F89F
-2F8A0 ; NFKC_CF; 6081 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A0
-2F8A1 ; NFKC_CF; 393A # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A1
-2F8A2 ; NFKC_CF; 391C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A2
-2F8A3 ; NFKC_CF; 6094 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A4 ; NFKC_CF; 226D4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A4
-2F8A5 ; NFKC_CF; 60C7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A5
-2F8A6 ; NFKC_CF; 6148 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; NFKC_CF; 614C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A8 ; NFKC_CF; 614E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A8
-2F8A9 ; NFKC_CF; 614C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8A9
-2F8AA ; NFKC_CF; 617A # Lo CJK COMPATIBILITY IDEOGRAPH-2F8AA
-2F8AB ; NFKC_CF; 618E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8AB
-2F8AC ; NFKC_CF; 61B2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AD ; NFKC_CF; 61A4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; NFKC_CF; 61AF # Lo CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AF ; NFKC_CF; 61DE # Lo CJK COMPATIBILITY IDEOGRAPH-2F8AF
-2F8B0 ; NFKC_CF; 61F2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B0
-2F8B1 ; NFKC_CF; 61F6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B1
-2F8B2 ; NFKC_CF; 6210 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; NFKC_CF; 621B # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B3
-2F8B4 ; NFKC_CF; 625D # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5 ; NFKC_CF; 62B1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B5
-2F8B6 ; NFKC_CF; 62D4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8B7 ; NFKC_CF; 6350 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8B8 ; NFKC_CF; 22B0C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B8
-2F8B9 ; NFKC_CF; 633D # Lo CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8BA ; NFKC_CF; 62FC # Lo CJK COMPATIBILITY IDEOGRAPH-2F8BA
-2F8BB ; NFKC_CF; 6368 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8BB
-2F8BC ; NFKC_CF; 6383 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8BC
-2F8BD ; NFKC_CF; 63E4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8BD
-2F8BE ; NFKC_CF; 22BF1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8BE
-2F8BF ; NFKC_CF; 6422 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8BF
-2F8C0 ; NFKC_CF; 63C5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8C1 ; NFKC_CF; 63A9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C1
-2F8C2 ; NFKC_CF; 3A2E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C2
-2F8C3 ; NFKC_CF; 6469 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C4 ; NFKC_CF; 647E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C4
-2F8C5 ; NFKC_CF; 649D # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C5
-2F8C6 ; NFKC_CF; 6477 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C7 ; NFKC_CF; 3A6C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C7
-2F8C8 ; NFKC_CF; 654F # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C8
-2F8C9 ; NFKC_CF; 656C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8C9
-2F8CA ; NFKC_CF; 2300A # Lo CJK COMPATIBILITY IDEOGRAPH-2F8CA
-2F8CB ; NFKC_CF; 65E3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8CB
-2F8CC ; NFKC_CF; 66F8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8CD ; NFKC_CF; 6649 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8CD
-2F8CE ; NFKC_CF; 3B19 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8CF ; NFKC_CF; 6691 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D0 ; NFKC_CF; 3B08 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8D1 ; NFKC_CF; 3AE4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D1
-2F8D2 ; NFKC_CF; 5192 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; NFKC_CF; 5195 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F8D4 ; NFKC_CF; 6700 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D4
-2F8D5 ; NFKC_CF; 669C # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D5
-2F8D6 ; NFKC_CF; 80AD # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F8D7 ; NFKC_CF; 43D9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2F8D8 ; NFKC_CF; 6717 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D8
-2F8D9 ; NFKC_CF; 671B # Lo CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; NFKC_CF; 6721 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8DA
-2F8DB ; NFKC_CF; 675E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8DB
-2F8DC ; NFKC_CF; 6753 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8DC
-2F8DD ; NFKC_CF; 233C3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8DD
-2F8DE ; NFKC_CF; 3B49 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8DF ; NFKC_CF; 67FA # Lo CJK COMPATIBILITY IDEOGRAPH-2F8DF
-2F8E0 ; NFKC_CF; 6785 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E0
-2F8E1 ; NFKC_CF; 6852 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E1
-2F8E2 ; NFKC_CF; 6885 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E3 ; NFKC_CF; 2346D # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E3
-2F8E4 ; NFKC_CF; 688E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E4
-2F8E5 ; NFKC_CF; 681F # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E6 ; NFKC_CF; 6914 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E7 ; NFKC_CF; 3B9D # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E7
-2F8E8 ; NFKC_CF; 6942 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; NFKC_CF; 69A3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA ; NFKC_CF; 69EA # Lo CJK COMPATIBILITY IDEOGRAPH-2F8EA
-2F8EB ; NFKC_CF; 6AA8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8EB
-2F8EC ; NFKC_CF; 236A3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8EC
-2F8ED ; NFKC_CF; 6ADB # Lo CJK COMPATIBILITY IDEOGRAPH-2F8ED
-2F8EE ; NFKC_CF; 3C18 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F8EF ; NFKC_CF; 6B21 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F0 ; NFKC_CF; 238A7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F0
-2F8F1 ; NFKC_CF; 6B54 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F2 ; NFKC_CF; 3C4E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F2
-2F8F3 ; NFKC_CF; 6B72 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F3
-2F8F4 ; NFKC_CF; 6B9F # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F4
-2F8F5 ; NFKC_CF; 6BBA # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; NFKC_CF; 6BBB # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8F7 ; NFKC_CF; 23A8D # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F7
-2F8F8 ; NFKC_CF; 21D0B # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F8
-2F8F9 ; NFKC_CF; 23AFA # Lo CJK COMPATIBILITY IDEOGRAPH-2F8F9
-2F8FA ; NFKC_CF; 6C4E # Lo CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FB ; NFKC_CF; 23CBC # Lo CJK COMPATIBILITY IDEOGRAPH-2F8FB
-2F8FC ; NFKC_CF; 6CBF # Lo CJK COMPATIBILITY IDEOGRAPH-2F8FC
-2F8FD ; NFKC_CF; 6CCD # Lo CJK COMPATIBILITY IDEOGRAPH-2F8FD
-2F8FE ; NFKC_CF; 6C67 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8FE
-2F8FF ; NFKC_CF; 6D16 # Lo CJK COMPATIBILITY IDEOGRAPH-2F8FF
-2F900 ; NFKC_CF; 6D3E # Lo CJK COMPATIBILITY IDEOGRAPH-2F900
-2F901 ; NFKC_CF; 6D77 # Lo CJK COMPATIBILITY IDEOGRAPH-2F901
-2F902 ; NFKC_CF; 6D41 # Lo CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; NFKC_CF; 6D69 # Lo CJK COMPATIBILITY IDEOGRAPH-2F903
-2F904 ; NFKC_CF; 6D78 # Lo CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; NFKC_CF; 6D85 # Lo CJK COMPATIBILITY IDEOGRAPH-2F905
-2F906 ; NFKC_CF; 23D1E # Lo CJK COMPATIBILITY IDEOGRAPH-2F906
-2F907 ; NFKC_CF; 6D34 # Lo CJK COMPATIBILITY IDEOGRAPH-2F907
-2F908 ; NFKC_CF; 6E2F # Lo CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; NFKC_CF; 6E6E # Lo CJK COMPATIBILITY IDEOGRAPH-2F909
-2F90A ; NFKC_CF; 3D33 # Lo CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F90B ; NFKC_CF; 6ECB # Lo CJK COMPATIBILITY IDEOGRAPH-2F90B
-2F90C ; NFKC_CF; 6EC7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F90C
-2F90D ; NFKC_CF; 23ED1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F90D
-2F90E ; NFKC_CF; 6DF9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F90E
-2F90F ; NFKC_CF; 6F6E # Lo CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F910 ; NFKC_CF; 23F5E # Lo CJK COMPATIBILITY IDEOGRAPH-2F910
-2F911 ; NFKC_CF; 23F8E # Lo CJK COMPATIBILITY IDEOGRAPH-2F911
-2F912 ; NFKC_CF; 6FC6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F912
-2F913 ; NFKC_CF; 7039 # Lo CJK COMPATIBILITY IDEOGRAPH-2F913
-2F914 ; NFKC_CF; 701E # Lo CJK COMPATIBILITY IDEOGRAPH-2F914
-2F915 ; NFKC_CF; 701B # Lo CJK COMPATIBILITY IDEOGRAPH-2F915
-2F916 ; NFKC_CF; 3D96 # Lo CJK COMPATIBILITY IDEOGRAPH-2F916
-2F917 ; NFKC_CF; 704A # Lo CJK COMPATIBILITY IDEOGRAPH-2F917
-2F918 ; NFKC_CF; 707D # Lo CJK COMPATIBILITY IDEOGRAPH-2F918
-2F919 ; NFKC_CF; 7077 # Lo CJK COMPATIBILITY IDEOGRAPH-2F919
-2F91A ; NFKC_CF; 70AD # Lo CJK COMPATIBILITY IDEOGRAPH-2F91A
-2F91B ; NFKC_CF; 20525 # Lo CJK COMPATIBILITY IDEOGRAPH-2F91B
-2F91C ; NFKC_CF; 7145 # Lo CJK COMPATIBILITY IDEOGRAPH-2F91C
-2F91D ; NFKC_CF; 24263 # Lo CJK COMPATIBILITY IDEOGRAPH-2F91D
-2F91E ; NFKC_CF; 719C # Lo CJK COMPATIBILITY IDEOGRAPH-2F91E
-2F91F ; NFKC_CF; 243AB # Lo CJK COMPATIBILITY IDEOGRAPH-2F91F
-2F920 ; NFKC_CF; 7228 # Lo CJK COMPATIBILITY IDEOGRAPH-2F920
-2F921 ; NFKC_CF; 7235 # Lo CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922 ; NFKC_CF; 7250 # Lo CJK COMPATIBILITY IDEOGRAPH-2F922
-2F923 ; NFKC_CF; 24608 # Lo CJK COMPATIBILITY IDEOGRAPH-2F923
-2F924 ; NFKC_CF; 7280 # Lo CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; NFKC_CF; 7295 # Lo CJK COMPATIBILITY IDEOGRAPH-2F925
-2F926 ; NFKC_CF; 24735 # Lo CJK COMPATIBILITY IDEOGRAPH-2F926
-2F927 ; NFKC_CF; 24814 # Lo CJK COMPATIBILITY IDEOGRAPH-2F927
-2F928 ; NFKC_CF; 737A # Lo CJK COMPATIBILITY IDEOGRAPH-2F928
-2F929 ; NFKC_CF; 738B # Lo CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92A ; NFKC_CF; 3EAC # Lo CJK COMPATIBILITY IDEOGRAPH-2F92A
-2F92B ; NFKC_CF; 73A5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F92B
-2F92C..2F92D ; NFKC_CF; 3EB8 # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F92C..CJK COMPATIBILITY IDEOGRAPH-2F92D
-2F92E ; NFKC_CF; 7447 # Lo CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F ; NFKC_CF; 745C # Lo CJK COMPATIBILITY IDEOGRAPH-2F92F
-2F930 ; NFKC_CF; 7471 # Lo CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; NFKC_CF; 7485 # Lo CJK COMPATIBILITY IDEOGRAPH-2F931
-2F932 ; NFKC_CF; 74CA # Lo CJK COMPATIBILITY IDEOGRAPH-2F932
-2F933 ; NFKC_CF; 3F1B # Lo CJK COMPATIBILITY IDEOGRAPH-2F933
-2F934 ; NFKC_CF; 7524 # Lo CJK COMPATIBILITY IDEOGRAPH-2F934
-2F935 ; NFKC_CF; 24C36 # Lo CJK COMPATIBILITY IDEOGRAPH-2F935
-2F936 ; NFKC_CF; 753E # Lo CJK COMPATIBILITY IDEOGRAPH-2F936
-2F937 ; NFKC_CF; 24C92 # Lo CJK COMPATIBILITY IDEOGRAPH-2F937
-2F938 ; NFKC_CF; 7570 # Lo CJK COMPATIBILITY IDEOGRAPH-2F938
-2F939 ; NFKC_CF; 2219F # Lo CJK COMPATIBILITY IDEOGRAPH-2F939
-2F93A ; NFKC_CF; 7610 # Lo CJK COMPATIBILITY IDEOGRAPH-2F93A
-2F93B ; NFKC_CF; 24FA1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F93B
-2F93C ; NFKC_CF; 24FB8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F93C
-2F93D ; NFKC_CF; 25044 # Lo CJK COMPATIBILITY IDEOGRAPH-2F93D
-2F93E ; NFKC_CF; 3FFC # Lo CJK COMPATIBILITY IDEOGRAPH-2F93E
-2F93F ; NFKC_CF; 4008 # Lo CJK COMPATIBILITY IDEOGRAPH-2F93F
-2F940 ; NFKC_CF; 76F4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F940
-2F941 ; NFKC_CF; 250F3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F941
-2F942 ; NFKC_CF; 250F2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F942
-2F943 ; NFKC_CF; 25119 # Lo CJK COMPATIBILITY IDEOGRAPH-2F943
-2F944 ; NFKC_CF; 25133 # Lo CJK COMPATIBILITY IDEOGRAPH-2F944
-2F945 ; NFKC_CF; 771E # Lo CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946..2F947 ; NFKC_CF; 771F # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F946..CJK COMPATIBILITY IDEOGRAPH-2F947
-2F948 ; NFKC_CF; 774A # Lo CJK COMPATIBILITY IDEOGRAPH-2F948
-2F949 ; NFKC_CF; 4039 # Lo CJK COMPATIBILITY IDEOGRAPH-2F949
-2F94A ; NFKC_CF; 778B # Lo CJK COMPATIBILITY IDEOGRAPH-2F94A
-2F94B ; NFKC_CF; 4046 # Lo CJK COMPATIBILITY IDEOGRAPH-2F94B
-2F94C ; NFKC_CF; 4096 # Lo CJK COMPATIBILITY IDEOGRAPH-2F94C
-2F94D ; NFKC_CF; 2541D # Lo CJK COMPATIBILITY IDEOGRAPH-2F94D
-2F94E ; NFKC_CF; 784E # Lo CJK COMPATIBILITY IDEOGRAPH-2F94E
-2F94F ; NFKC_CF; 788C # Lo CJK COMPATIBILITY IDEOGRAPH-2F94F
-2F950 ; NFKC_CF; 78CC # Lo CJK COMPATIBILITY IDEOGRAPH-2F950
-2F951 ; NFKC_CF; 40E3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F951
-2F952 ; NFKC_CF; 25626 # Lo CJK COMPATIBILITY IDEOGRAPH-2F952
-2F953 ; NFKC_CF; 7956 # Lo CJK COMPATIBILITY IDEOGRAPH-2F953
-2F954 ; NFKC_CF; 2569A # Lo CJK COMPATIBILITY IDEOGRAPH-2F954
-2F955 ; NFKC_CF; 256C5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F955
-2F956 ; NFKC_CF; 798F # Lo CJK COMPATIBILITY IDEOGRAPH-2F956
-2F957 ; NFKC_CF; 79EB # Lo CJK COMPATIBILITY IDEOGRAPH-2F957
-2F958 ; NFKC_CF; 412F # Lo CJK COMPATIBILITY IDEOGRAPH-2F958
-2F959 ; NFKC_CF; 7A40 # Lo CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; NFKC_CF; 7A4A # Lo CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B ; NFKC_CF; 7A4F # Lo CJK COMPATIBILITY IDEOGRAPH-2F95B
-2F95C ; NFKC_CF; 2597C # Lo CJK COMPATIBILITY IDEOGRAPH-2F95C
-2F95D..2F95E ; NFKC_CF; 25AA7 # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F95D..CJK COMPATIBILITY IDEOGRAPH-2F95E
-2F95F ; NFKC_CF; 7AEE # Lo CJK COMPATIBILITY IDEOGRAPH-2F95F
-2F960 ; NFKC_CF; 4202 # Lo CJK COMPATIBILITY IDEOGRAPH-2F960
-2F961 ; NFKC_CF; 25BAB # Lo CJK COMPATIBILITY IDEOGRAPH-2F961
-2F962 ; NFKC_CF; 7BC6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; NFKC_CF; 7BC9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F963
-2F964 ; NFKC_CF; 4227 # Lo CJK COMPATIBILITY IDEOGRAPH-2F964
-2F965 ; NFKC_CF; 25C80 # Lo CJK COMPATIBILITY IDEOGRAPH-2F965
-2F966 ; NFKC_CF; 7CD2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F966
-2F967 ; NFKC_CF; 42A0 # Lo CJK COMPATIBILITY IDEOGRAPH-2F967
-2F968 ; NFKC_CF; 7CE8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F968
-2F969 ; NFKC_CF; 7CE3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F969
-2F96A ; NFKC_CF; 7D00 # Lo CJK COMPATIBILITY IDEOGRAPH-2F96A
-2F96B ; NFKC_CF; 25F86 # Lo CJK COMPATIBILITY IDEOGRAPH-2F96B
-2F96C ; NFKC_CF; 7D63 # Lo CJK COMPATIBILITY IDEOGRAPH-2F96C
-2F96D ; NFKC_CF; 4301 # Lo CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F96E ; NFKC_CF; 7DC7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F96E
-2F96F ; NFKC_CF; 7E02 # Lo CJK COMPATIBILITY IDEOGRAPH-2F96F
-2F970 ; NFKC_CF; 7E45 # Lo CJK COMPATIBILITY IDEOGRAPH-2F970
-2F971 ; NFKC_CF; 4334 # Lo CJK COMPATIBILITY IDEOGRAPH-2F971
-2F972 ; NFKC_CF; 26228 # Lo CJK COMPATIBILITY IDEOGRAPH-2F972
-2F973 ; NFKC_CF; 26247 # Lo CJK COMPATIBILITY IDEOGRAPH-2F973
-2F974 ; NFKC_CF; 4359 # Lo CJK COMPATIBILITY IDEOGRAPH-2F974
-2F975 ; NFKC_CF; 262D9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F975
-2F976 ; NFKC_CF; 7F7A # Lo CJK COMPATIBILITY IDEOGRAPH-2F976
-2F977 ; NFKC_CF; 2633E # Lo CJK COMPATIBILITY IDEOGRAPH-2F977
-2F978 ; NFKC_CF; 7F95 # Lo CJK COMPATIBILITY IDEOGRAPH-2F978
-2F979 ; NFKC_CF; 7FFA # Lo CJK COMPATIBILITY IDEOGRAPH-2F979
-2F97A ; NFKC_CF; 8005 # Lo CJK COMPATIBILITY IDEOGRAPH-2F97A
-2F97B ; NFKC_CF; 264DA # Lo CJK COMPATIBILITY IDEOGRAPH-2F97B
-2F97C ; NFKC_CF; 26523 # Lo CJK COMPATIBILITY IDEOGRAPH-2F97C
-2F97D ; NFKC_CF; 8060 # Lo CJK COMPATIBILITY IDEOGRAPH-2F97D
-2F97E ; NFKC_CF; 265A8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F97E
-2F97F ; NFKC_CF; 8070 # Lo CJK COMPATIBILITY IDEOGRAPH-2F97F
-2F980 ; NFKC_CF; 2335F # Lo CJK COMPATIBILITY IDEOGRAPH-2F980
-2F981 ; NFKC_CF; 43D5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F981
-2F982 ; NFKC_CF; 80B2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 ; NFKC_CF; 8103 # Lo CJK COMPATIBILITY IDEOGRAPH-2F983
-2F984 ; NFKC_CF; 440B # Lo CJK COMPATIBILITY IDEOGRAPH-2F984
-2F985 ; NFKC_CF; 813E # Lo CJK COMPATIBILITY IDEOGRAPH-2F985
-2F986 ; NFKC_CF; 5AB5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F986
-2F987 ; NFKC_CF; 267A7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F987
-2F988 ; NFKC_CF; 267B5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F988
-2F989 ; NFKC_CF; 23393 # Lo CJK COMPATIBILITY IDEOGRAPH-2F989
-2F98A ; NFKC_CF; 2339C # Lo CJK COMPATIBILITY IDEOGRAPH-2F98A
-2F98B ; NFKC_CF; 8201 # Lo CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; NFKC_CF; 8204 # Lo CJK COMPATIBILITY IDEOGRAPH-2F98C
-2F98D ; NFKC_CF; 8F9E # Lo CJK COMPATIBILITY IDEOGRAPH-2F98D
-2F98E ; NFKC_CF; 446B # Lo CJK COMPATIBILITY IDEOGRAPH-2F98E
-2F98F ; NFKC_CF; 8291 # Lo CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F990 ; NFKC_CF; 828B # Lo CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991 ; NFKC_CF; 829D # Lo CJK COMPATIBILITY IDEOGRAPH-2F991
-2F992 ; NFKC_CF; 52B3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F992
-2F993 ; NFKC_CF; 82B1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; NFKC_CF; 82B3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; NFKC_CF; 82BD # Lo CJK COMPATIBILITY IDEOGRAPH-2F995
-2F996 ; NFKC_CF; 82E6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F996
-2F997 ; NFKC_CF; 26B3C # Lo CJK COMPATIBILITY IDEOGRAPH-2F997
-2F998 ; NFKC_CF; 82E5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F998
-2F999 ; NFKC_CF; 831D # Lo CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99A ; NFKC_CF; 8363 # Lo CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B ; NFKC_CF; 83AD # Lo CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99C ; NFKC_CF; 8323 # Lo CJK COMPATIBILITY IDEOGRAPH-2F99C
-2F99D ; NFKC_CF; 83BD # Lo CJK COMPATIBILITY IDEOGRAPH-2F99D
-2F99E ; NFKC_CF; 83E7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F99E
-2F99F ; NFKC_CF; 8457 # Lo CJK COMPATIBILITY IDEOGRAPH-2F99F
-2F9A0 ; NFKC_CF; 8353 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F9A1 ; NFKC_CF; 83CA # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; NFKC_CF; 83CC # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; NFKC_CF; 83DC # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F9A4 ; NFKC_CF; 26C36 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A4
-2F9A5 ; NFKC_CF; 26D6B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A5
-2F9A6 ; NFKC_CF; 26CD5 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A6
-2F9A7 ; NFKC_CF; 452B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A7
-2F9A8 ; NFKC_CF; 84F1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; NFKC_CF; 84F3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9A9
-2F9AA ; NFKC_CF; 8516 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AB ; NFKC_CF; 273CA # Lo CJK COMPATIBILITY IDEOGRAPH-2F9AB
-2F9AC ; NFKC_CF; 8564 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9AC
-2F9AD ; NFKC_CF; 26F2C # Lo CJK COMPATIBILITY IDEOGRAPH-2F9AD
-2F9AE ; NFKC_CF; 455D # Lo CJK COMPATIBILITY IDEOGRAPH-2F9AE
-2F9AF ; NFKC_CF; 4561 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9AF
-2F9B0 ; NFKC_CF; 26FB1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B0
-2F9B1 ; NFKC_CF; 270D2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B1
-2F9B2 ; NFKC_CF; 456B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B2
-2F9B3 ; NFKC_CF; 8650 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B3
-2F9B4 ; NFKC_CF; 865C # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; NFKC_CF; 8667 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; NFKC_CF; 8669 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B7 ; NFKC_CF; 86A9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9B8 ; NFKC_CF; 8688 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B9 ; NFKC_CF; 870E # Lo CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BA ; NFKC_CF; 86E2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9BB ; NFKC_CF; 8779 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BC ; NFKC_CF; 8728 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; NFKC_CF; 876B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9BD
-2F9BE ; NFKC_CF; 8786 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9BE
-2F9BF ; NFKC_CF; 45D7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9BF
-2F9C0 ; NFKC_CF; 87E1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; NFKC_CF; 8801 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C1
-2F9C2 ; NFKC_CF; 45F9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C2
-2F9C3 ; NFKC_CF; 8860 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 ; NFKC_CF; 8863 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C4
-2F9C5 ; NFKC_CF; 27667 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C5
-2F9C6 ; NFKC_CF; 88D7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; NFKC_CF; 88DE # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C7
-2F9C8 ; NFKC_CF; 4635 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C8
-2F9C9 ; NFKC_CF; 88FA # Lo CJK COMPATIBILITY IDEOGRAPH-2F9C9
-2F9CA ; NFKC_CF; 34BB # Lo CJK COMPATIBILITY IDEOGRAPH-2F9CA
-2F9CB ; NFKC_CF; 278AE # Lo CJK COMPATIBILITY IDEOGRAPH-2F9CB
-2F9CC ; NFKC_CF; 27966 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9CC
-2F9CD ; NFKC_CF; 46BE # Lo CJK COMPATIBILITY IDEOGRAPH-2F9CD
-2F9CE ; NFKC_CF; 46C7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9CE
-2F9CF ; NFKC_CF; 8AA0 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9CF
-2F9D0 ; NFKC_CF; 8AED # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D0
-2F9D1 ; NFKC_CF; 8B8A # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D1
-2F9D2 ; NFKC_CF; 8C55 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D3 ; NFKC_CF; 27CA8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D3
-2F9D4 ; NFKC_CF; 8CAB # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; NFKC_CF; 8CC1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D5
-2F9D6 ; NFKC_CF; 8D1B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; NFKC_CF; 8D77 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9D8 ; NFKC_CF; 27F2F # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D8
-2F9D9 ; NFKC_CF; 20804 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9D9
-2F9DA ; NFKC_CF; 8DCB # Lo CJK COMPATIBILITY IDEOGRAPH-2F9DA
-2F9DB ; NFKC_CF; 8DBC # Lo CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DC ; NFKC_CF; 8DF0 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9DC
-2F9DD ; NFKC_CF; 208DE # Lo CJK COMPATIBILITY IDEOGRAPH-2F9DD
-2F9DE ; NFKC_CF; 8ED4 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9DE
-2F9DF ; NFKC_CF; 8F38 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9DF
-2F9E0 ; NFKC_CF; 285D2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E0
-2F9E1 ; NFKC_CF; 285ED # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E1
-2F9E2 ; NFKC_CF; 9094 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E2
-2F9E3 ; NFKC_CF; 90F1 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E3
-2F9E4 ; NFKC_CF; 9111 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E5 ; NFKC_CF; 2872E # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E5
-2F9E6 ; NFKC_CF; 911B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E6
-2F9E7 ; NFKC_CF; 9238 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E7
-2F9E8 ; NFKC_CF; 92D7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; NFKC_CF; 92D8 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9E9
-2F9EA ; NFKC_CF; 927C # Lo CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9EB ; NFKC_CF; 93F9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; NFKC_CF; 9415 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9ED ; NFKC_CF; 28BFA # Lo CJK COMPATIBILITY IDEOGRAPH-2F9ED
-2F9EE ; NFKC_CF; 958B # Lo CJK COMPATIBILITY IDEOGRAPH-2F9EE
-2F9EF ; NFKC_CF; 4995 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9EF
-2F9F0 ; NFKC_CF; 95B7 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F0
-2F9F1 ; NFKC_CF; 28D77 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F1
-2F9F2 ; NFKC_CF; 49E6 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F2
-2F9F3 ; NFKC_CF; 96C3 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F3
-2F9F4 ; NFKC_CF; 5DB2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F4
-2F9F5 ; NFKC_CF; 9723 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F5
-2F9F6 ; NFKC_CF; 29145 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F6
-2F9F7 ; NFKC_CF; 2921A # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F7
-2F9F8 ; NFKC_CF; 4A6E # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F8
-2F9F9 ; NFKC_CF; 4A76 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9F9
-2F9FA ; NFKC_CF; 97E0 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9FA
-2F9FB ; NFKC_CF; 2940A # Lo CJK COMPATIBILITY IDEOGRAPH-2F9FB
-2F9FC ; NFKC_CF; 4AB2 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9FC
-2F9FD ; NFKC_CF; 29496 # Lo CJK COMPATIBILITY IDEOGRAPH-2F9FD
-2F9FE..2F9FF ; NFKC_CF; 980B # Lo [2] CJK COMPATIBILITY IDEOGRAPH-2F9FE..CJK COMPATIBILITY IDEOGRAPH-2F9FF
-2FA00 ; NFKC_CF; 9829 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA00
-2FA01 ; NFKC_CF; 295B6 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA01
-2FA02 ; NFKC_CF; 98E2 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA02
-2FA03 ; NFKC_CF; 4B33 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA03
-2FA04 ; NFKC_CF; 9929 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 ; NFKC_CF; 99A7 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 ; NFKC_CF; 99C2 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA06
-2FA07 ; NFKC_CF; 99FE # Lo CJK COMPATIBILITY IDEOGRAPH-2FA07
-2FA08 ; NFKC_CF; 4BCE # Lo CJK COMPATIBILITY IDEOGRAPH-2FA08
-2FA09 ; NFKC_CF; 29B30 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA09
-2FA0A ; NFKC_CF; 9B12 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA0A
-2FA0B ; NFKC_CF; 9C40 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA0B
-2FA0C ; NFKC_CF; 9CFD # Lo CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0D ; NFKC_CF; 4CCE # Lo CJK COMPATIBILITY IDEOGRAPH-2FA0D
-2FA0E ; NFKC_CF; 4CED # Lo CJK COMPATIBILITY IDEOGRAPH-2FA0E
-2FA0F ; NFKC_CF; 9D67 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA0F
-2FA10 ; NFKC_CF; 2A0CE # Lo CJK COMPATIBILITY IDEOGRAPH-2FA10
-2FA11 ; NFKC_CF; 4CF8 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA11
-2FA12 ; NFKC_CF; 2A105 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA12
-2FA13 ; NFKC_CF; 2A20E # Lo CJK COMPATIBILITY IDEOGRAPH-2FA13
-2FA14 ; NFKC_CF; 2A291 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA14
-2FA15 ; NFKC_CF; 9EBB # Lo CJK COMPATIBILITY IDEOGRAPH-2FA15
-2FA16 ; NFKC_CF; 4D56 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA16
-2FA17 ; NFKC_CF; 9EF9 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 ; NFKC_CF; 9EFE # Lo CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19 ; NFKC_CF; 9F05 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A ; NFKC_CF; 9F0F # Lo CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B ; NFKC_CF; 9F16 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C ; NFKC_CF; 9F3B # Lo CJK COMPATIBILITY IDEOGRAPH-2FA1C
-2FA1D ; NFKC_CF; 2A600 # Lo CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0000 ; NFKC_CF; # Cn <reserved-E0000>
-E0001 ; NFKC_CF; # Cf LANGUAGE TAG
-E0002..E001F ; NFKC_CF; # Cn [30] <reserved-E0002>..<reserved-E001F>
-E0020..E007F ; NFKC_CF; # Cf [96] TAG SPACE..CANCEL TAG
-E0080..E00FF ; NFKC_CF; # Cn [128] <reserved-E0080>..<reserved-E00FF>
-E0100..E01EF ; NFKC_CF; # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-E01F0..E0FFF ; NFKC_CF; # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
-
-# Total code points: 9740
-
-# ================================================
-
-# Derived Property: Changes_When_NFKC_Casefolded (CWKCF)
-# Characters that are not stable under an NFKC_Casefold mapping.
-# As defined by cp != NFKC_Casefold(cp)
-
-0041..005A ; Changes_When_NFKC_Casefolded # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-00A0 ; Changes_When_NFKC_Casefolded # Zs NO-BREAK SPACE
-00A8 ; Changes_When_NFKC_Casefolded # Sk DIAERESIS
-00AA ; Changes_When_NFKC_Casefolded # L& FEMININE ORDINAL INDICATOR
-00AD ; Changes_When_NFKC_Casefolded # Cf SOFT HYPHEN
-00AF ; Changes_When_NFKC_Casefolded # Sk MACRON
-00B2..00B3 ; Changes_When_NFKC_Casefolded # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; Changes_When_NFKC_Casefolded # Sk ACUTE ACCENT
-00B5 ; Changes_When_NFKC_Casefolded # L& MICRO SIGN
-00B8 ; Changes_When_NFKC_Casefolded # Sk CEDILLA
-00B9 ; Changes_When_NFKC_Casefolded # No SUPERSCRIPT ONE
-00BA ; Changes_When_NFKC_Casefolded # L& MASCULINE ORDINAL INDICATOR
-00BC..00BE ; Changes_When_NFKC_Casefolded # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00C0..00D6 ; Changes_When_NFKC_Casefolded # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00DF ; Changes_When_NFKC_Casefolded # L& [8] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER SHARP S
-0100 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH MACRON
-0102 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE
-0104 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER C WITH CARON
-010E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH CARON
-0110 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH STROKE
-0112 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH MACRON
-0114 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH BREVE
-0116 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH OGONEK
-011A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CARON
-011C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH BREVE
-0120 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH STROKE
-0128 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH TILDE
-012A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH MACRON
-012C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH BREVE
-012E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132..0134 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LIGATURE IJ..LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH ACUTE
-013B ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH CARON
-013F..0141 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN CAPITAL LETTER L WITH STROKE
-0143 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH CARON
-0149..014A ; Changes_When_NFKC_Casefolded # L& [2] LATIN SMALL LETTER N PRECEDED BY APOSTROPHE..LATIN CAPITAL LETTER ENG
-014C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH MACRON
-014E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH BREVE
-0150 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LIGATURE OE
-0154 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH CARON
-015A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH ACUTE
-015C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH CARON
-0162 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH CARON
-0166 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH STROKE
-0168 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH TILDE
-016A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH MACRON
-016C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH BREVE
-016E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178..0179 ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH CARON
-017F ; Changes_When_NFKC_Casefolded # L& LATIN SMALL LETTER LONG S
-0181..0182 ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER TONE SIX
-0186..0187 ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
-0189..018B ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
-018E..0191 ; Changes_When_NFKC_Casefolded # L& [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
-0193..0194 ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
-0196..0198 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
-019C..019D ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F..01A0 ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
-01A2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER OI
-01A4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER P WITH HOOK
-01A6..01A7 ; Changes_When_NFKC_Casefolded # L& [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
-01A9 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER ESH
-01AC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH HOOK
-01AE..01AF ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
-01B1..01B3 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH STROKE
-01B7..01B8 ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
-01BC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER TONE FIVE
-01C4..01CD ; Changes_When_NFKC_Casefolded # L& [10] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER A WITH CARON
-01CF ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH CARON
-01E8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH CARON
-01EA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER EZH WITH CARON
-01F1..01F4 ; Changes_When_NFKC_Casefolded # L& [4] LATIN CAPITAL LETTER DZ..LATIN CAPITAL LETTER G WITH ACUTE
-01F6..01F8 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER YOGH
-021E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH CARON
-0220 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER OU
-0224 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH MACRON
-023A..023B ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
-023D..023E ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER GLOTTAL STOP
-0243..0246 ; Changes_When_NFKC_Casefolded # L& [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
-0248 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER J WITH STROKE
-024A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH STROKE
-024E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH STROKE
-02B0..02B8 ; Changes_When_NFKC_Casefolded # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02D8..02DD ; Changes_When_NFKC_Casefolded # Sk [6] BREVE..DOUBLE ACUTE ACCENT
-02E0..02E4 ; Changes_When_NFKC_Casefolded # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0340..0341 ; Changes_When_NFKC_Casefolded # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0345 ; Changes_When_NFKC_Casefolded # Mn [3] COMBINING GREEK KORONIS..COMBINING GREEK YPOGEGRAMMENI
-034F ; Changes_When_NFKC_Casefolded # Mn COMBINING GRAPHEME JOINER
-0370 ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER HETA
-0372 ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER ARCHAIC SAMPI
-0374 ; Changes_When_NFKC_Casefolded # Lm GREEK NUMERAL SIGN
-0376 ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-037A ; Changes_When_NFKC_Casefolded # Lm GREEK YPOGEGRAMMENI
-037E ; Changes_When_NFKC_Casefolded # Po GREEK QUESTION MARK
-0384..0385 ; Changes_When_NFKC_Casefolded # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; Changes_When_NFKC_Casefolded # Po GREEK ANO TELEIA
-0388..038A ; Changes_When_NFKC_Casefolded # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..038F ; Changes_When_NFKC_Casefolded # L& [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391..03A1 ; Changes_When_NFKC_Casefolded # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03AB ; Changes_When_NFKC_Casefolded # L& [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03C2 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER FINAL SIGMA
-03CF..03D6 ; Changes_When_NFKC_Casefolded # L& [8] GREEK CAPITAL KAI SYMBOL..GREEK PI SYMBOL
-03D8 ; Changes_When_NFKC_Casefolded # L& GREEK LETTER ARCHAIC KOPPA
-03DA ; Changes_When_NFKC_Casefolded # L& GREEK LETTER STIGMA
-03DC ; Changes_When_NFKC_Casefolded # L& GREEK LETTER DIGAMMA
-03DE ; Changes_When_NFKC_Casefolded # L& GREEK LETTER KOPPA
-03E0 ; Changes_When_NFKC_Casefolded # L& GREEK LETTER SAMPI
-03E2 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER SHEI
-03E4 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER FEI
-03E6 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER KHEI
-03E8 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER HORI
-03EA ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER GANGIA
-03EC ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER SHIMA
-03EE ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER DEI
-03F0..03F2 ; Changes_When_NFKC_Casefolded # L& [3] GREEK KAPPA SYMBOL..GREEK LUNATE SIGMA SYMBOL
-03F4..03F5 ; Changes_When_NFKC_Casefolded # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F7 ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER SHO
-03F9..03FA ; Changes_When_NFKC_Casefolded # L& [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
-03FD..042F ; Changes_When_NFKC_Casefolded # L& [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
-0460 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER OMEGA
-0462 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER YAT
-0464 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BIG YUS
-046C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KSI
-0470 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER PSI
-0472 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER FITA
-0474 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER UK
-047A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER OT
-0480 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOPPA
-048A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SHHA
-04BC ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0..04C1 ; Changes_When_NFKC_Casefolded # L& [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SCHWA
-04DA ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BARRED O
-04EA ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER LHA
-0516 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER RHA
-0518 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER YAE
-051A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER QA
-051C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER WE
-051E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531..0556 ; Changes_When_NFKC_Casefolded # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0587 ; Changes_When_NFKC_Casefolded # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0675..0678 ; Changes_When_NFKC_Casefolded # Lo [4] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER HIGH HAMZA YEH
-0958..095F ; Changes_When_NFKC_Casefolded # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09DC..09DD ; Changes_When_NFKC_Casefolded # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Changes_When_NFKC_Casefolded # Lo BENGALI LETTER YYA
-0A33 ; Changes_When_NFKC_Casefolded # Lo GURMUKHI LETTER LLA
-0A36 ; Changes_When_NFKC_Casefolded # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Changes_When_NFKC_Casefolded # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Changes_When_NFKC_Casefolded # Lo GURMUKHI LETTER FA
-0B5C..0B5D ; Changes_When_NFKC_Casefolded # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0E33 ; Changes_When_NFKC_Casefolded # Lo THAI CHARACTER SARA AM
-0EB3 ; Changes_When_NFKC_Casefolded # Lo LAO VOWEL SIGN AM
-0EDC..0EDD ; Changes_When_NFKC_Casefolded # Lo [2] LAO HO NO..LAO HO MO
-0F0C ; Changes_When_NFKC_Casefolded # Po TIBETAN MARK DELIMITER TSHEG BSTAR
-0F43 ; Changes_When_NFKC_Casefolded # Lo TIBETAN LETTER GHA
-0F4D ; Changes_When_NFKC_Casefolded # Lo TIBETAN LETTER DDHA
-0F52 ; Changes_When_NFKC_Casefolded # Lo TIBETAN LETTER DHA
-0F57 ; Changes_When_NFKC_Casefolded # Lo TIBETAN LETTER BHA
-0F5C ; Changes_When_NFKC_Casefolded # Lo TIBETAN LETTER DZHA
-0F69 ; Changes_When_NFKC_Casefolded # Lo TIBETAN LETTER KSSA
-0F73 ; Changes_When_NFKC_Casefolded # Mn TIBETAN VOWEL SIGN II
-0F75..0F79 ; Changes_When_NFKC_Casefolded # Mn [5] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC LL
-0F81 ; Changes_When_NFKC_Casefolded # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Changes_When_NFKC_Casefolded # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Changes_When_NFKC_Casefolded # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Changes_When_NFKC_Casefolded # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Changes_When_NFKC_Casefolded # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Changes_When_NFKC_Casefolded # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Changes_When_NFKC_Casefolded # Mn TIBETAN SUBJOINED LETTER KSSA
-10A0..10C5 ; Changes_When_NFKC_Casefolded # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10FC ; Changes_When_NFKC_Casefolded # Lm MODIFIER LETTER GEORGIAN NAR
-115F..1160 ; Changes_When_NFKC_Casefolded # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-17B4..17B5 ; Changes_When_NFKC_Casefolded # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-180B..180D ; Changes_When_NFKC_Casefolded # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-1D2C..1D2E ; Changes_When_NFKC_Casefolded # Lm [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
-1D30..1D3A ; Changes_When_NFKC_Casefolded # Lm [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
-1D3C..1D4D ; Changes_When_NFKC_Casefolded # Lm [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61 ; Changes_When_NFKC_Casefolded # Lm [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D62..1D6A ; Changes_When_NFKC_Casefolded # L& [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
-1D78 ; Changes_When_NFKC_Casefolded # Lm MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; Changes_When_NFKC_Casefolded # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9A..1E9B ; Changes_When_NFKC_Casefolded # L& [2] LATIN SMALL LETTER A WITH RIGHT HALF RING..LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER SHARP S
-1EA0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Y WITH LOOP
-1F08..1F0F ; Changes_When_NFKC_Casefolded # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18..1F1D ; Changes_When_NFKC_Casefolded # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28..1F2F ; Changes_When_NFKC_Casefolded # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38..1F3F ; Changes_When_NFKC_Casefolded # L& [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48..1F4D ; Changes_When_NFKC_Casefolded # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; Changes_When_NFKC_Casefolded # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68..1F6F ; Changes_When_NFKC_Casefolded # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F71 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER ALPHA WITH OXIA
-1F73 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER EPSILON WITH OXIA
-1F75 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER ETA WITH OXIA
-1F77 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER IOTA WITH OXIA
-1F79 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER OMICRON WITH OXIA
-1F7B ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER UPSILON WITH OXIA
-1F7D ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FAF ; Changes_When_NFKC_Casefolded # L& [48] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB2..1FB4 ; Changes_When_NFKC_Casefolded # L& [3] GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB7..1FBC ; Changes_When_NFKC_Casefolded # L& [6] GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; Changes_When_NFKC_Casefolded # Sk GREEK KORONIS
-1FBE ; Changes_When_NFKC_Casefolded # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; Changes_When_NFKC_Casefolded # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; Changes_When_NFKC_Casefolded # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC7..1FCC ; Changes_When_NFKC_Casefolded # L& [6] GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; Changes_When_NFKC_Casefolded # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD3 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD8..1FDB ; Changes_When_NFKC_Casefolded # L& [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; Changes_When_NFKC_Casefolded # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE3 ; Changes_When_NFKC_Casefolded # L& GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE8..1FEC ; Changes_When_NFKC_Casefolded # L& [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; Changes_When_NFKC_Casefolded # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; Changes_When_NFKC_Casefolded # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF7..1FFC ; Changes_When_NFKC_Casefolded # L& [6] GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; Changes_When_NFKC_Casefolded # Sk [2] GREEK OXIA..GREEK DASIA
-2000..200A ; Changes_When_NFKC_Casefolded # Zs [11] EN QUAD..HAIR SPACE
-200B..200F ; Changes_When_NFKC_Casefolded # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-2011 ; Changes_When_NFKC_Casefolded # Pd NON-BREAKING HYPHEN
-2017 ; Changes_When_NFKC_Casefolded # Po DOUBLE LOW LINE
-2024..2026 ; Changes_When_NFKC_Casefolded # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS
-202A..202E ; Changes_When_NFKC_Casefolded # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-202F ; Changes_When_NFKC_Casefolded # Zs NARROW NO-BREAK SPACE
-2033..2034 ; Changes_When_NFKC_Casefolded # Po [2] DOUBLE PRIME..TRIPLE PRIME
-2036..2037 ; Changes_When_NFKC_Casefolded # Po [2] REVERSED DOUBLE PRIME..REVERSED TRIPLE PRIME
-203C ; Changes_When_NFKC_Casefolded # Po DOUBLE EXCLAMATION MARK
-203E ; Changes_When_NFKC_Casefolded # Po OVERLINE
-2047..2049 ; Changes_When_NFKC_Casefolded # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2057 ; Changes_When_NFKC_Casefolded # Po QUADRUPLE PRIME
-205F ; Changes_When_NFKC_Casefolded # Zs MEDIUM MATHEMATICAL SPACE
-2060..2064 ; Changes_When_NFKC_Casefolded # Cf [5] WORD JOINER..INVISIBLE PLUS
-2065..2069 ; Changes_When_NFKC_Casefolded # Cn [5] <reserved-2065>..<reserved-2069>
-206A..206F ; Changes_When_NFKC_Casefolded # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2070 ; Changes_When_NFKC_Casefolded # No SUPERSCRIPT ZERO
-2071 ; Changes_When_NFKC_Casefolded # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074..2079 ; Changes_When_NFKC_Casefolded # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; Changes_When_NFKC_Casefolded # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; Changes_When_NFKC_Casefolded # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Changes_When_NFKC_Casefolded # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; Changes_When_NFKC_Casefolded # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2080..2089 ; Changes_When_NFKC_Casefolded # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; Changes_When_NFKC_Casefolded # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; Changes_When_NFKC_Casefolded # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Changes_When_NFKC_Casefolded # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; Changes_When_NFKC_Casefolded # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A8 ; Changes_When_NFKC_Casefolded # Sc RUPEE SIGN
-2100..2101 ; Changes_When_NFKC_Casefolded # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; Changes_When_NFKC_Casefolded # L& DOUBLE-STRUCK CAPITAL C
-2103 ; Changes_When_NFKC_Casefolded # So DEGREE CELSIUS
-2105..2106 ; Changes_When_NFKC_Casefolded # So [2] CARE OF..CADA UNA
-2107 ; Changes_When_NFKC_Casefolded # L& EULER CONSTANT
-2109 ; Changes_When_NFKC_Casefolded # So DEGREE FAHRENHEIT
-210A..2113 ; Changes_When_NFKC_Casefolded # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; Changes_When_NFKC_Casefolded # L& DOUBLE-STRUCK CAPITAL N
-2116 ; Changes_When_NFKC_Casefolded # So NUMERO SIGN
-2119..211D ; Changes_When_NFKC_Casefolded # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2120..2122 ; Changes_When_NFKC_Casefolded # So [3] SERVICE MARK..TRADE MARK SIGN
-2124 ; Changes_When_NFKC_Casefolded # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; Changes_When_NFKC_Casefolded # L& OHM SIGN
-2128 ; Changes_When_NFKC_Casefolded # L& BLACK-LETTER CAPITAL Z
-212A..212D ; Changes_When_NFKC_Casefolded # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2134 ; Changes_When_NFKC_Casefolded # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; Changes_When_NFKC_Casefolded # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; Changes_When_NFKC_Casefolded # L& INFORMATION SOURCE
-213B ; Changes_When_NFKC_Casefolded # So FACSIMILE SIGN
-213C..213F ; Changes_When_NFKC_Casefolded # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140 ; Changes_When_NFKC_Casefolded # Sm DOUBLE-STRUCK N-ARY SUMMATION
-2145..2149 ; Changes_When_NFKC_Casefolded # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-2150..215F ; Changes_When_NFKC_Casefolded # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2160..217F ; Changes_When_NFKC_Casefolded # Nl [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2183 ; Changes_When_NFKC_Casefolded # L& ROMAN NUMERAL REVERSED ONE HUNDRED
-2189 ; Changes_When_NFKC_Casefolded # No VULGAR FRACTION ZERO THIRDS
-222C..222D ; Changes_When_NFKC_Casefolded # Sm [2] DOUBLE INTEGRAL..TRIPLE INTEGRAL
-222F..2230 ; Changes_When_NFKC_Casefolded # Sm [2] SURFACE INTEGRAL..VOLUME INTEGRAL
-2329 ; Changes_When_NFKC_Casefolded # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Changes_When_NFKC_Casefolded # Pe RIGHT-POINTING ANGLE BRACKET
-2460..249B ; Changes_When_NFKC_Casefolded # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; Changes_When_NFKC_Casefolded # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA ; Changes_When_NFKC_Casefolded # No CIRCLED DIGIT ZERO
-2A0C ; Changes_When_NFKC_Casefolded # Sm QUADRUPLE INTEGRAL OPERATOR
-2A74..2A76 ; Changes_When_NFKC_Casefolded # Sm [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
-2ADC ; Changes_When_NFKC_Casefolded # Sm FORKING
-2C00..2C2E ; Changes_When_NFKC_Casefolded # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62..2C64 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D..2C70 ; Changes_When_NFKC_Casefolded # L& [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER HALF H
-2C7C ; Changes_When_NFKC_Casefolded # L& LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Changes_When_NFKC_Casefolded # Lm MODIFIER LETTER CAPITAL V
-2C7E..2C80 ; Changes_When_NFKC_Casefolded # L& [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
-2C82 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER VIDA
-2C84 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER GAMMA
-2C86 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER DALDA
-2C88 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER EIE
-2C8A ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER SOU
-2C8C ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER ZATA
-2C8E ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER HATE
-2C90 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER THETHE
-2C92 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER IAUDA
-2C94 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER KAPA
-2C96 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER LAULA
-2C98 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER MI
-2C9A ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER NI
-2C9C ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER KSI
-2C9E ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER O
-2CA0 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER PI
-2CA2 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER RO
-2CA4 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER SIMA
-2CA6 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER TAU
-2CA8 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER UA
-2CAA ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER FI
-2CAC ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER KHI
-2CAE ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER PSI
-2CB0 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OOU
-2CB2 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER SAMPI
-2CC2 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; Changes_When_NFKC_Casefolded # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2D6F ; Changes_When_NFKC_Casefolded # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2E9F ; Changes_When_NFKC_Casefolded # So CJK RADICAL MOTHER
-2EF3 ; Changes_When_NFKC_Casefolded # So CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; Changes_When_NFKC_Casefolded # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-3000 ; Changes_When_NFKC_Casefolded # Zs IDEOGRAPHIC SPACE
-3036 ; Changes_When_NFKC_Casefolded # So CIRCLED POSTAL MARK
-3038..303A ; Changes_When_NFKC_Casefolded # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-309B..309C ; Changes_When_NFKC_Casefolded # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309F ; Changes_When_NFKC_Casefolded # Lo HIRAGANA DIGRAPH YORI
-30FF ; Changes_When_NFKC_Casefolded # Lo KATAKANA DIGRAPH KOTO
-3131..318E ; Changes_When_NFKC_Casefolded # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3192..3195 ; Changes_When_NFKC_Casefolded # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; Changes_When_NFKC_Casefolded # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-3200..321E ; Changes_When_NFKC_Casefolded # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; Changes_When_NFKC_Casefolded # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3247 ; Changes_When_NFKC_Casefolded # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
-3250 ; Changes_When_NFKC_Casefolded # So PARTNERSHIP SIGN
-3251..325F ; Changes_When_NFKC_Casefolded # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327E ; Changes_When_NFKC_Casefolded # So [31] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL IEUNG U
-3280..3289 ; Changes_When_NFKC_Casefolded # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; Changes_When_NFKC_Casefolded # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; Changes_When_NFKC_Casefolded # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; Changes_When_NFKC_Casefolded # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; Changes_When_NFKC_Casefolded # So [256] SQUARE APAATO..SQUARE GAL
-A640 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER DZELO
-A644 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTA
-A648 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER DJERV
-A64A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER YN
-A662 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER DWE
-A682 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER DZWE
-A684 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER ZHWE
-A686 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER CCHE
-A688 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER DZZE
-A68A ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER TWE
-A68E ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER TSWE
-A690 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER TSSE
-A692 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER TCHE
-A694 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER HWE
-A696 ; Changes_When_NFKC_Casefolded # L& CYRILLIC CAPITAL LETTER SHWE
-A722 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER HENG
-A728 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER TZ
-A72A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER TRESILLO
-A72C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER CUATRILLO
-A72E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AA
-A734 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AO
-A736 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AU
-A738 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AV
-A73A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER AY
-A73E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH STROKE
-A742 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER BROKEN L
-A748 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER O WITH LOOP
-A74E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER OO
-A750 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER R ROTUNDA
-A75C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER VY
-A762 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER VEND
-A76A ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER ET
-A76C ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER IS
-A76E ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER CON
-A770 ; Changes_When_NFKC_Casefolded # Lm MODIFIER LETTER US
-A779 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER INSULAR D
-A77B ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER INSULAR F
-A77D..A77E ; Changes_When_NFKC_Casefolded # L& [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER TURNED L
-A782 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER INSULAR R
-A784 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER INSULAR S
-A786 ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER INSULAR T
-A78B ; Changes_When_NFKC_Casefolded # L& LATIN CAPITAL LETTER SALTILLO
-F900..FA0D ; Changes_When_NFKC_Casefolded # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; Changes_When_NFKC_Casefolded # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; Changes_When_NFKC_Casefolded # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; Changes_When_NFKC_Casefolded # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; Changes_When_NFKC_Casefolded # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; Changes_When_NFKC_Casefolded # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; Changes_When_NFKC_Casefolded # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; Changes_When_NFKC_Casefolded # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Changes_When_NFKC_Casefolded # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Changes_When_NFKC_Casefolded # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; Changes_When_NFKC_Casefolded # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Changes_When_NFKC_Casefolded # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; Changes_When_NFKC_Casefolded # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; Changes_When_NFKC_Casefolded # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; Changes_When_NFKC_Casefolded # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; Changes_When_NFKC_Casefolded # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Changes_When_NFKC_Casefolded # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Changes_When_NFKC_Casefolded # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Changes_When_NFKC_Casefolded # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Changes_When_NFKC_Casefolded # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; Changes_When_NFKC_Casefolded # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; Changes_When_NFKC_Casefolded # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; Changes_When_NFKC_Casefolded # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Changes_When_NFKC_Casefolded # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Changes_When_NFKC_Casefolded # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; Changes_When_NFKC_Casefolded # Sc RIAL SIGN
-FE00..FE0F ; Changes_When_NFKC_Casefolded # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE10..FE16 ; Changes_When_NFKC_Casefolded # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; Changes_When_NFKC_Casefolded # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Changes_When_NFKC_Casefolded # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; Changes_When_NFKC_Casefolded # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; Changes_When_NFKC_Casefolded # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE47 ; Changes_When_NFKC_Casefolded # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; Changes_When_NFKC_Casefolded # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; Changes_When_NFKC_Casefolded # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; Changes_When_NFKC_Casefolded # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; Changes_When_NFKC_Casefolded # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; Changes_When_NFKC_Casefolded # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; Changes_When_NFKC_Casefolded # Pd SMALL EM DASH
-FE59 ; Changes_When_NFKC_Casefolded # Ps SMALL LEFT PARENTHESIS
-FE5A ; Changes_When_NFKC_Casefolded # Pe SMALL RIGHT PARENTHESIS
-FE5B ; Changes_When_NFKC_Casefolded # Ps SMALL LEFT CURLY BRACKET
-FE5C ; Changes_When_NFKC_Casefolded # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; Changes_When_NFKC_Casefolded # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; Changes_When_NFKC_Casefolded # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; Changes_When_NFKC_Casefolded # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; Changes_When_NFKC_Casefolded # Sm SMALL PLUS SIGN
-FE63 ; Changes_When_NFKC_Casefolded # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; Changes_When_NFKC_Casefolded # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; Changes_When_NFKC_Casefolded # Po SMALL REVERSE SOLIDUS
-FE69 ; Changes_When_NFKC_Casefolded # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; Changes_When_NFKC_Casefolded # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FE70..FE72 ; Changes_When_NFKC_Casefolded # Lo [3] ARABIC FATHATAN ISOLATED FORM..ARABIC DAMMATAN ISOLATED FORM
-FE74 ; Changes_When_NFKC_Casefolded # Lo ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; Changes_When_NFKC_Casefolded # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF ; Changes_When_NFKC_Casefolded # Cf ZERO WIDTH NO-BREAK SPACE
-FF01..FF03 ; Changes_When_NFKC_Casefolded # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; Changes_When_NFKC_Casefolded # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; Changes_When_NFKC_Casefolded # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; Changes_When_NFKC_Casefolded # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; Changes_When_NFKC_Casefolded # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; Changes_When_NFKC_Casefolded # Po FULLWIDTH ASTERISK
-FF0B ; Changes_When_NFKC_Casefolded # Sm FULLWIDTH PLUS SIGN
-FF0C ; Changes_When_NFKC_Casefolded # Po FULLWIDTH COMMA
-FF0D ; Changes_When_NFKC_Casefolded # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; Changes_When_NFKC_Casefolded # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; Changes_When_NFKC_Casefolded # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; Changes_When_NFKC_Casefolded # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; Changes_When_NFKC_Casefolded # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; Changes_When_NFKC_Casefolded # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; Changes_When_NFKC_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; Changes_When_NFKC_Casefolded # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; Changes_When_NFKC_Casefolded # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; Changes_When_NFKC_Casefolded # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; Changes_When_NFKC_Casefolded # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; Changes_When_NFKC_Casefolded # Pc FULLWIDTH LOW LINE
-FF40 ; Changes_When_NFKC_Casefolded # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; Changes_When_NFKC_Casefolded # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; Changes_When_NFKC_Casefolded # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; Changes_When_NFKC_Casefolded # Sm FULLWIDTH VERTICAL LINE
-FF5D ; Changes_When_NFKC_Casefolded # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; Changes_When_NFKC_Casefolded # Sm FULLWIDTH TILDE
-FF5F ; Changes_When_NFKC_Casefolded # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; Changes_When_NFKC_Casefolded # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; Changes_When_NFKC_Casefolded # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; Changes_When_NFKC_Casefolded # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Changes_When_NFKC_Casefolded # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; Changes_When_NFKC_Casefolded # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; Changes_When_NFKC_Casefolded # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; Changes_When_NFKC_Casefolded # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; Changes_When_NFKC_Casefolded # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; Changes_When_NFKC_Casefolded # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; Changes_When_NFKC_Casefolded # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; Changes_When_NFKC_Casefolded # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; Changes_When_NFKC_Casefolded # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; Changes_When_NFKC_Casefolded # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; Changes_When_NFKC_Casefolded # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE0..FFE1 ; Changes_When_NFKC_Casefolded # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; Changes_When_NFKC_Casefolded # Sm FULLWIDTH NOT SIGN
-FFE3 ; Changes_When_NFKC_Casefolded # Sk FULLWIDTH MACRON
-FFE4 ; Changes_When_NFKC_Casefolded # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; Changes_When_NFKC_Casefolded # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-FFE8 ; Changes_When_NFKC_Casefolded # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; Changes_When_NFKC_Casefolded # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; Changes_When_NFKC_Casefolded # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-FFF0..FFF8 ; Changes_When_NFKC_Casefolded # Cn [9] <reserved-FFF0>..<reserved-FFF8>
-10400..10427 ; Changes_When_NFKC_Casefolded # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
-1D15E..1D164 ; Changes_When_NFKC_Casefolded # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D173..1D17A ; Changes_When_NFKC_Casefolded # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D1BB..1D1C0 ; Changes_When_NFKC_Casefolded # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-1D400..1D454 ; Changes_When_NFKC_Casefolded # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Changes_When_NFKC_Casefolded # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Changes_When_NFKC_Casefolded # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Changes_When_NFKC_Casefolded # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Changes_When_NFKC_Casefolded # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Changes_When_NFKC_Casefolded # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Changes_When_NFKC_Casefolded # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Changes_When_NFKC_Casefolded # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Changes_When_NFKC_Casefolded # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Changes_When_NFKC_Casefolded # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Changes_When_NFKC_Casefolded # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Changes_When_NFKC_Casefolded # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Changes_When_NFKC_Casefolded # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Changes_When_NFKC_Casefolded # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Changes_When_NFKC_Casefolded # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Changes_When_NFKC_Casefolded # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Changes_When_NFKC_Casefolded # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Changes_When_NFKC_Casefolded # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Changes_When_NFKC_Casefolded # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Changes_When_NFKC_Casefolded # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; Changes_When_NFKC_Casefolded # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; Changes_When_NFKC_Casefolded # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; Changes_When_NFKC_Casefolded # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; Changes_When_NFKC_Casefolded # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; Changes_When_NFKC_Casefolded # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; Changes_When_NFKC_Casefolded # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; Changes_When_NFKC_Casefolded # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; Changes_When_NFKC_Casefolded # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; Changes_When_NFKC_Casefolded # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; Changes_When_NFKC_Casefolded # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; Changes_When_NFKC_Casefolded # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; Changes_When_NFKC_Casefolded # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F100..1F10A ; Changes_When_NFKC_Casefolded # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; Changes_When_NFKC_Casefolded # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; Changes_When_NFKC_Casefolded # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; Changes_When_NFKC_Casefolded # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; Changes_When_NFKC_Casefolded # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; Changes_When_NFKC_Casefolded # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; Changes_When_NFKC_Casefolded # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; Changes_When_NFKC_Casefolded # So [5] SQUARED HV..SQUARED PPV
-1F190 ; Changes_When_NFKC_Casefolded # So SQUARE DJ
-1F200 ; Changes_When_NFKC_Casefolded # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; Changes_When_NFKC_Casefolded # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; Changes_When_NFKC_Casefolded # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2F800..2FA1D ; Changes_When_NFKC_Casefolded # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0000 ; Changes_When_NFKC_Casefolded # Cn <reserved-E0000>
-E0001 ; Changes_When_NFKC_Casefolded # Cf LANGUAGE TAG
-E0002..E001F ; Changes_When_NFKC_Casefolded # Cn [30] <reserved-E0002>..<reserved-E001F>
-E0020..E007F ; Changes_When_NFKC_Casefolded # Cf [96] TAG SPACE..CANCEL TAG
-E0080..E00FF ; Changes_When_NFKC_Casefolded # Cn [128] <reserved-E0080>..<reserved-E00FF>
-E0100..E01EF ; Changes_When_NFKC_Casefolded # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-E01F0..E0FFF ; Changes_When_NFKC_Casefolded # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
-
-# Total code points: 9740
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl b/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
index 0ed534222d3..033b7657f78 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the mapping:
-# Perl_Decomposition_Mapping(cp)
-#
-# where 'cp' is one of the 5516 code points in Unicode Version 5.2.0 for
-# which the mapping is not to itself. Note that this mapping is not
-# accessible through the Perl core directly.
-#
-# This mapping is a combination of the Unicode 'Decomposition_Type' and
-# 'Decomposition_Mapping' properties, formatted for use by normalize.pm. It
-# is identical to the official Unicode 'Decomposition_Mapping' property
-# except for two things:
-# 1) It omits the algorithmically determinable Hangul syllable
-# decompositions, which normalize.pm handles algorithmically.
-# 2) It contains the decomposition type as well. Non-canonical
-# decompositions begin with a word in angle brackets, like <super>, which
-# denotes the compatible decomposition type. If the map does not begin with
-# the <angle brackets>, the decomposition is canonical.
-#
-# The format of the non-comment portions of the main body of lines of this
-# file is: START\tSTOP\tMAPPING where START is the starting code point of the
-# range, in hex; STOP is the ending point, or if omitted, the range has just
-# one code point; MAPPING is what each code point between START and STOP maps
-# to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToDecomposition'}{'format'} = 's'; # arbitrary string
+$utf8::SwashInfo{'ToDecomposition'}{'format'} = 'c'; # Perl's internal (Normalize.pm) decomposition mapping
$utf8::SwashInfo{'ToDecomposition'}{'missing'} = '<code point>'; # code point maps to itself
return <<'END';
@@ -1164,6 +1141,14 @@ return <<'END';
2092 <sub> 006F
2093 <sub> 0078
2094 <sub> 0259
+2095 <sub> 0068
+2096 <sub> 006B
+2097 <sub> 006C
+2098 <sub> 006D
+2099 <sub> 006E
+209A <sub> 0070
+209B <sub> 0073
+209C <sub> 0074
20A8 <compat> 0052 0073
2100 <compat> 0061 002F 0063
2101 <compat> 0061 002F 0073
@@ -4938,18 +4923,42 @@ FFEE <narrow> 25CB
1F12C <circle> 0052
1F12D <circle> 0043 0044
1F12E <circle> 0057 005A
+1F130 <square> 0041
1F131 <square> 0042
+1F132 <square> 0043
+1F133 <square> 0044
+1F134 <square> 0045
+1F135 <square> 0046
+1F136 <square> 0047
+1F137 <square> 0048
+1F138 <square> 0049
+1F139 <square> 004A
+1F13A <square> 004B
+1F13B <square> 004C
+1F13C <square> 004D
1F13D <square> 004E
+1F13E <square> 004F
1F13F <square> 0050
+1F140 <square> 0051
+1F141 <square> 0052
1F142 <square> 0053
+1F143 <square> 0054
+1F144 <square> 0055
+1F145 <square> 0056
1F146 <square> 0057
+1F147 <square> 0058
+1F148 <square> 0059
+1F149 <square> 005A
1F14A <square> 0048 0056
1F14B <square> 004D 0056
1F14C <square> 0053 0044
1F14D <square> 0053 0053
1F14E <square> 0050 0050 0056
+1F14F <square> 0057 0043
1F190 <square> 0044 004A
1F200 <square> 307B 304B
+1F201 <square> 30B3 30B3
+1F202 <square> 30B5
1F210 <square> 624B
1F211 <square> 5B57
1F212 <square> 53CC
@@ -4984,6 +4993,15 @@ FFEE <narrow> 25CB
1F22F <square> 6307
1F230 <square> 8D70
1F231 <square> 6253
+1F232 <square> 7981
+1F233 <square> 7A7A
+1F234 <square> 5408
+1F235 <square> 6E80
+1F236 <square> 6709
+1F237 <square> 6708
+1F238 <square> 7533
+1F239 <square> 5272
+1F23A <square> 55B6
1F240 <compat> 3014 672C 3015
1F241 <compat> 3014 4E09 3015
1F242 <compat> 3014 4E8C 3015
@@ -4993,6 +5011,8 @@ FFEE <narrow> 25CB
1F246 <compat> 3014 76D7 3015
1F247 <compat> 3014 52DD 3015
1F248 <compat> 3014 6557 3015
+1F250 <circle> 5F97
+1F251 <circle> 53EF
2F800 4E3D
2F801 4E38
2F802 4E41
diff --git a/Master/tlpkg/tlperl/lib/unicore/EastAsianWidth.txt b/Master/tlpkg/tlperl/lib/unicore/EastAsianWidth.txt
deleted file mode 100644
index 8756c4adaf8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/EastAsianWidth.txt
+++ /dev/null
@@ -1,21866 +0,0 @@
-# EastAsianWidth-5.2.0.txt
-# Date: 2009-06-09, 17:47:00 PDT [KW]
-#
-# East Asian Width Properties
-#
-# This file is an informative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# The format is two fields separated by a semicolon.
-# Field 0: Unicode value
-# Field 1: East Asian Width property, consisting of one of the following values:
-# "N", "A", "H", "W", "F", "Na"
-# - All code points, assigned or unassigned, that are not listed
-# explicitly are given the value "N".
-# The unassigned code points that default to "W" include ranges in the
-# following blocks:
-# CJK Unified Ideographs Extension A: U+3400..U+4DBF
-# CJK Unified Ideographs: U+4E00..U+9FFF
-# CJK Compatibility Ideographs: U+F900..U+FAFF
-# CJK Unified Ideographs Extension B: U+20000..U+2A6DF
-# CJK Unified Ideographs Extension C: U+2A700..U+2B73F
-# CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F
-# and any other reserved code points on
-# Planes 2 and 3: U+20000..U+2FFFD
-# U+30000..U+3FFFD
-# - Characters ranges are specified as for other property files in
-# the Unicode Character Database.
-#
-# The Unicode name of each character is provided in a comment for help
-# in identifying the characters.
-#
-# See UAX #11: East Asian Width, for more information.
-#
-# @missing: 0000..10FFFF; N
-0000;N # <control>
-0001;N # <control>
-0002;N # <control>
-0003;N # <control>
-0004;N # <control>
-0005;N # <control>
-0006;N # <control>
-0007;N # <control>
-0008;N # <control>
-0009;N # <control>
-000A;N # <control>
-000B;N # <control>
-000C;N # <control>
-000D;N # <control>
-000E;N # <control>
-000F;N # <control>
-0010;N # <control>
-0011;N # <control>
-0012;N # <control>
-0013;N # <control>
-0014;N # <control>
-0015;N # <control>
-0016;N # <control>
-0017;N # <control>
-0018;N # <control>
-0019;N # <control>
-001A;N # <control>
-001B;N # <control>
-001C;N # <control>
-001D;N # <control>
-001E;N # <control>
-001F;N # <control>
-0020;Na # SPACE
-0021;Na # EXCLAMATION MARK
-0022;Na # QUOTATION MARK
-0023;Na # NUMBER SIGN
-0024;Na # DOLLAR SIGN
-0025;Na # PERCENT SIGN
-0026;Na # AMPERSAND
-0027;Na # APOSTROPHE
-0028;Na # LEFT PARENTHESIS
-0029;Na # RIGHT PARENTHESIS
-002A;Na # ASTERISK
-002B;Na # PLUS SIGN
-002C;Na # COMMA
-002D;Na # HYPHEN-MINUS
-002E;Na # FULL STOP
-002F;Na # SOLIDUS
-0030;Na # DIGIT ZERO
-0031;Na # DIGIT ONE
-0032;Na # DIGIT TWO
-0033;Na # DIGIT THREE
-0034;Na # DIGIT FOUR
-0035;Na # DIGIT FIVE
-0036;Na # DIGIT SIX
-0037;Na # DIGIT SEVEN
-0038;Na # DIGIT EIGHT
-0039;Na # DIGIT NINE
-003A;Na # COLON
-003B;Na # SEMICOLON
-003C;Na # LESS-THAN SIGN
-003D;Na # EQUALS SIGN
-003E;Na # GREATER-THAN SIGN
-003F;Na # QUESTION MARK
-0040;Na # COMMERCIAL AT
-0041;Na # LATIN CAPITAL LETTER A
-0042;Na # LATIN CAPITAL LETTER B
-0043;Na # LATIN CAPITAL LETTER C
-0044;Na # LATIN CAPITAL LETTER D
-0045;Na # LATIN CAPITAL LETTER E
-0046;Na # LATIN CAPITAL LETTER F
-0047;Na # LATIN CAPITAL LETTER G
-0048;Na # LATIN CAPITAL LETTER H
-0049;Na # LATIN CAPITAL LETTER I
-004A;Na # LATIN CAPITAL LETTER J
-004B;Na # LATIN CAPITAL LETTER K
-004C;Na # LATIN CAPITAL LETTER L
-004D;Na # LATIN CAPITAL LETTER M
-004E;Na # LATIN CAPITAL LETTER N
-004F;Na # LATIN CAPITAL LETTER O
-0050;Na # LATIN CAPITAL LETTER P
-0051;Na # LATIN CAPITAL LETTER Q
-0052;Na # LATIN CAPITAL LETTER R
-0053;Na # LATIN CAPITAL LETTER S
-0054;Na # LATIN CAPITAL LETTER T
-0055;Na # LATIN CAPITAL LETTER U
-0056;Na # LATIN CAPITAL LETTER V
-0057;Na # LATIN CAPITAL LETTER W
-0058;Na # LATIN CAPITAL LETTER X
-0059;Na # LATIN CAPITAL LETTER Y
-005A;Na # LATIN CAPITAL LETTER Z
-005B;Na # LEFT SQUARE BRACKET
-005C;Na # REVERSE SOLIDUS
-005D;Na # RIGHT SQUARE BRACKET
-005E;Na # CIRCUMFLEX ACCENT
-005F;Na # LOW LINE
-0060;Na # GRAVE ACCENT
-0061;Na # LATIN SMALL LETTER A
-0062;Na # LATIN SMALL LETTER B
-0063;Na # LATIN SMALL LETTER C
-0064;Na # LATIN SMALL LETTER D
-0065;Na # LATIN SMALL LETTER E
-0066;Na # LATIN SMALL LETTER F
-0067;Na # LATIN SMALL LETTER G
-0068;Na # LATIN SMALL LETTER H
-0069;Na # LATIN SMALL LETTER I
-006A;Na # LATIN SMALL LETTER J
-006B;Na # LATIN SMALL LETTER K
-006C;Na # LATIN SMALL LETTER L
-006D;Na # LATIN SMALL LETTER M
-006E;Na # LATIN SMALL LETTER N
-006F;Na # LATIN SMALL LETTER O
-0070;Na # LATIN SMALL LETTER P
-0071;Na # LATIN SMALL LETTER Q
-0072;Na # LATIN SMALL LETTER R
-0073;Na # LATIN SMALL LETTER S
-0074;Na # LATIN SMALL LETTER T
-0075;Na # LATIN SMALL LETTER U
-0076;Na # LATIN SMALL LETTER V
-0077;Na # LATIN SMALL LETTER W
-0078;Na # LATIN SMALL LETTER X
-0079;Na # LATIN SMALL LETTER Y
-007A;Na # LATIN SMALL LETTER Z
-007B;Na # LEFT CURLY BRACKET
-007C;Na # VERTICAL LINE
-007D;Na # RIGHT CURLY BRACKET
-007E;Na # TILDE
-007F;N # <control>
-0080;N # <control>
-0081;N # <control>
-0082;N # <control>
-0083;N # <control>
-0084;N # <control>
-0085;N # <control>
-0086;N # <control>
-0087;N # <control>
-0088;N # <control>
-0089;N # <control>
-008A;N # <control>
-008B;N # <control>
-008C;N # <control>
-008D;N # <control>
-008E;N # <control>
-008F;N # <control>
-0090;N # <control>
-0091;N # <control>
-0092;N # <control>
-0093;N # <control>
-0094;N # <control>
-0095;N # <control>
-0096;N # <control>
-0097;N # <control>
-0098;N # <control>
-0099;N # <control>
-009A;N # <control>
-009B;N # <control>
-009C;N # <control>
-009D;N # <control>
-009E;N # <control>
-009F;N # <control>
-00A0;N # NO-BREAK SPACE
-00A1;A # INVERTED EXCLAMATION MARK
-00A2;Na # CENT SIGN
-00A3;Na # POUND SIGN
-00A4;A # CURRENCY SIGN
-00A5;Na # YEN SIGN
-00A6;Na # BROKEN BAR
-00A7;A # SECTION SIGN
-00A8;A # DIAERESIS
-00A9;N # COPYRIGHT SIGN
-00AA;A # FEMININE ORDINAL INDICATOR
-00AB;N # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC;Na # NOT SIGN
-00AD;A # SOFT HYPHEN
-00AE;A # REGISTERED SIGN
-00AF;Na # MACRON
-00B0;A # DEGREE SIGN
-00B1;A # PLUS-MINUS SIGN
-00B2;A # SUPERSCRIPT TWO
-00B3;A # SUPERSCRIPT THREE
-00B4;A # ACUTE ACCENT
-00B5;N # MICRO SIGN
-00B6;A # PILCROW SIGN
-00B7;A # MIDDLE DOT
-00B8;A # CEDILLA
-00B9;A # SUPERSCRIPT ONE
-00BA;A # MASCULINE ORDINAL INDICATOR
-00BB;N # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC;A # VULGAR FRACTION ONE QUARTER
-00BD;A # VULGAR FRACTION ONE HALF
-00BE;A # VULGAR FRACTION THREE QUARTERS
-00BF;A # INVERTED QUESTION MARK
-00C0;N # LATIN CAPITAL LETTER A WITH GRAVE
-00C1;N # LATIN CAPITAL LETTER A WITH ACUTE
-00C2;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00C3;N # LATIN CAPITAL LETTER A WITH TILDE
-00C4;N # LATIN CAPITAL LETTER A WITH DIAERESIS
-00C5;N # LATIN CAPITAL LETTER A WITH RING ABOVE
-00C6;A # LATIN CAPITAL LETTER AE
-00C7;N # LATIN CAPITAL LETTER C WITH CEDILLA
-00C8;N # LATIN CAPITAL LETTER E WITH GRAVE
-00C9;N # LATIN CAPITAL LETTER E WITH ACUTE
-00CA;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00CB;N # LATIN CAPITAL LETTER E WITH DIAERESIS
-00CC;N # LATIN CAPITAL LETTER I WITH GRAVE
-00CD;N # LATIN CAPITAL LETTER I WITH ACUTE
-00CE;N # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF;N # LATIN CAPITAL LETTER I WITH DIAERESIS
-00D0;A # LATIN CAPITAL LETTER ETH
-00D1;N # LATIN CAPITAL LETTER N WITH TILDE
-00D2;N # LATIN CAPITAL LETTER O WITH GRAVE
-00D3;N # LATIN CAPITAL LETTER O WITH ACUTE
-00D4;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00D5;N # LATIN CAPITAL LETTER O WITH TILDE
-00D6;N # LATIN CAPITAL LETTER O WITH DIAERESIS
-00D7;A # MULTIPLICATION SIGN
-00D8;A # LATIN CAPITAL LETTER O WITH STROKE
-00D9;N # LATIN CAPITAL LETTER U WITH GRAVE
-00DA;N # LATIN CAPITAL LETTER U WITH ACUTE
-00DB;N # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-00DC;N # LATIN CAPITAL LETTER U WITH DIAERESIS
-00DD;N # LATIN CAPITAL LETTER Y WITH ACUTE
-00DE;A # LATIN CAPITAL LETTER THORN
-00DF;A # LATIN SMALL LETTER SHARP S
-00E0;A # LATIN SMALL LETTER A WITH GRAVE
-00E1;A # LATIN SMALL LETTER A WITH ACUTE
-00E2;N # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00E3;N # LATIN SMALL LETTER A WITH TILDE
-00E4;N # LATIN SMALL LETTER A WITH DIAERESIS
-00E5;N # LATIN SMALL LETTER A WITH RING ABOVE
-00E6;A # LATIN SMALL LETTER AE
-00E7;N # LATIN SMALL LETTER C WITH CEDILLA
-00E8;A # LATIN SMALL LETTER E WITH GRAVE
-00E9;A # LATIN SMALL LETTER E WITH ACUTE
-00EA;A # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00EB;N # LATIN SMALL LETTER E WITH DIAERESIS
-00EC;A # LATIN SMALL LETTER I WITH GRAVE
-00ED;A # LATIN SMALL LETTER I WITH ACUTE
-00EE;N # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00EF;N # LATIN SMALL LETTER I WITH DIAERESIS
-00F0;A # LATIN SMALL LETTER ETH
-00F1;N # LATIN SMALL LETTER N WITH TILDE
-00F2;A # LATIN SMALL LETTER O WITH GRAVE
-00F3;A # LATIN SMALL LETTER O WITH ACUTE
-00F4;N # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00F5;N # LATIN SMALL LETTER O WITH TILDE
-00F6;N # LATIN SMALL LETTER O WITH DIAERESIS
-00F7;A # DIVISION SIGN
-00F8;A # LATIN SMALL LETTER O WITH STROKE
-00F9;A # LATIN SMALL LETTER U WITH GRAVE
-00FA;A # LATIN SMALL LETTER U WITH ACUTE
-00FB;N # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00FC;A # LATIN SMALL LETTER U WITH DIAERESIS
-00FD;N # LATIN SMALL LETTER Y WITH ACUTE
-00FE;A # LATIN SMALL LETTER THORN
-00FF;N # LATIN SMALL LETTER Y WITH DIAERESIS
-0100;N # LATIN CAPITAL LETTER A WITH MACRON
-0101;A # LATIN SMALL LETTER A WITH MACRON
-0102;N # LATIN CAPITAL LETTER A WITH BREVE
-0103;N # LATIN SMALL LETTER A WITH BREVE
-0104;N # LATIN CAPITAL LETTER A WITH OGONEK
-0105;N # LATIN SMALL LETTER A WITH OGONEK
-0106;N # LATIN CAPITAL LETTER C WITH ACUTE
-0107;N # LATIN SMALL LETTER C WITH ACUTE
-0108;N # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0109;N # LATIN SMALL LETTER C WITH CIRCUMFLEX
-010A;N # LATIN CAPITAL LETTER C WITH DOT ABOVE
-010B;N # LATIN SMALL LETTER C WITH DOT ABOVE
-010C;N # LATIN CAPITAL LETTER C WITH CARON
-010D;N # LATIN SMALL LETTER C WITH CARON
-010E;N # LATIN CAPITAL LETTER D WITH CARON
-010F;N # LATIN SMALL LETTER D WITH CARON
-0110;N # LATIN CAPITAL LETTER D WITH STROKE
-0111;A # LATIN SMALL LETTER D WITH STROKE
-0112;N # LATIN CAPITAL LETTER E WITH MACRON
-0113;A # LATIN SMALL LETTER E WITH MACRON
-0114;N # LATIN CAPITAL LETTER E WITH BREVE
-0115;N # LATIN SMALL LETTER E WITH BREVE
-0116;N # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0117;N # LATIN SMALL LETTER E WITH DOT ABOVE
-0118;N # LATIN CAPITAL LETTER E WITH OGONEK
-0119;N # LATIN SMALL LETTER E WITH OGONEK
-011A;N # LATIN CAPITAL LETTER E WITH CARON
-011B;A # LATIN SMALL LETTER E WITH CARON
-011C;N # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011D;N # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011E;N # LATIN CAPITAL LETTER G WITH BREVE
-011F;N # LATIN SMALL LETTER G WITH BREVE
-0120;N # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0121;N # LATIN SMALL LETTER G WITH DOT ABOVE
-0122;N # LATIN CAPITAL LETTER G WITH CEDILLA
-0123;N # LATIN SMALL LETTER G WITH CEDILLA
-0124;N # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0125;N # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0126;A # LATIN CAPITAL LETTER H WITH STROKE
-0127;A # LATIN SMALL LETTER H WITH STROKE
-0128;N # LATIN CAPITAL LETTER I WITH TILDE
-0129;N # LATIN SMALL LETTER I WITH TILDE
-012A;N # LATIN CAPITAL LETTER I WITH MACRON
-012B;A # LATIN SMALL LETTER I WITH MACRON
-012C;N # LATIN CAPITAL LETTER I WITH BREVE
-012D;N # LATIN SMALL LETTER I WITH BREVE
-012E;N # LATIN CAPITAL LETTER I WITH OGONEK
-012F;N # LATIN SMALL LETTER I WITH OGONEK
-0130;N # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0131;A # LATIN SMALL LETTER DOTLESS I
-0132;A # LATIN CAPITAL LIGATURE IJ
-0133;A # LATIN SMALL LIGATURE IJ
-0134;N # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0135;N # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0136;N # LATIN CAPITAL LETTER K WITH CEDILLA
-0137;N # LATIN SMALL LETTER K WITH CEDILLA
-0138;A # LATIN SMALL LETTER KRA
-0139;N # LATIN CAPITAL LETTER L WITH ACUTE
-013A;N # LATIN SMALL LETTER L WITH ACUTE
-013B;N # LATIN CAPITAL LETTER L WITH CEDILLA
-013C;N # LATIN SMALL LETTER L WITH CEDILLA
-013D;N # LATIN CAPITAL LETTER L WITH CARON
-013E;N # LATIN SMALL LETTER L WITH CARON
-013F;A # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0140;A # LATIN SMALL LETTER L WITH MIDDLE DOT
-0141;A # LATIN CAPITAL LETTER L WITH STROKE
-0142;A # LATIN SMALL LETTER L WITH STROKE
-0143;N # LATIN CAPITAL LETTER N WITH ACUTE
-0144;A # LATIN SMALL LETTER N WITH ACUTE
-0145;N # LATIN CAPITAL LETTER N WITH CEDILLA
-0146;N # LATIN SMALL LETTER N WITH CEDILLA
-0147;N # LATIN CAPITAL LETTER N WITH CARON
-0148;A # LATIN SMALL LETTER N WITH CARON
-0149;A # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014A;A # LATIN CAPITAL LETTER ENG
-014B;A # LATIN SMALL LETTER ENG
-014C;N # LATIN CAPITAL LETTER O WITH MACRON
-014D;A # LATIN SMALL LETTER O WITH MACRON
-014E;N # LATIN CAPITAL LETTER O WITH BREVE
-014F;N # LATIN SMALL LETTER O WITH BREVE
-0150;N # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0151;N # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0152;A # LATIN CAPITAL LIGATURE OE
-0153;A # LATIN SMALL LIGATURE OE
-0154;N # LATIN CAPITAL LETTER R WITH ACUTE
-0155;N # LATIN SMALL LETTER R WITH ACUTE
-0156;N # LATIN CAPITAL LETTER R WITH CEDILLA
-0157;N # LATIN SMALL LETTER R WITH CEDILLA
-0158;N # LATIN CAPITAL LETTER R WITH CARON
-0159;N # LATIN SMALL LETTER R WITH CARON
-015A;N # LATIN CAPITAL LETTER S WITH ACUTE
-015B;N # LATIN SMALL LETTER S WITH ACUTE
-015C;N # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015D;N # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015E;N # LATIN CAPITAL LETTER S WITH CEDILLA
-015F;N # LATIN SMALL LETTER S WITH CEDILLA
-0160;N # LATIN CAPITAL LETTER S WITH CARON
-0161;N # LATIN SMALL LETTER S WITH CARON
-0162;N # LATIN CAPITAL LETTER T WITH CEDILLA
-0163;N # LATIN SMALL LETTER T WITH CEDILLA
-0164;N # LATIN CAPITAL LETTER T WITH CARON
-0165;N # LATIN SMALL LETTER T WITH CARON
-0166;A # LATIN CAPITAL LETTER T WITH STROKE
-0167;A # LATIN SMALL LETTER T WITH STROKE
-0168;N # LATIN CAPITAL LETTER U WITH TILDE
-0169;N # LATIN SMALL LETTER U WITH TILDE
-016A;N # LATIN CAPITAL LETTER U WITH MACRON
-016B;A # LATIN SMALL LETTER U WITH MACRON
-016C;N # LATIN CAPITAL LETTER U WITH BREVE
-016D;N # LATIN SMALL LETTER U WITH BREVE
-016E;N # LATIN CAPITAL LETTER U WITH RING ABOVE
-016F;N # LATIN SMALL LETTER U WITH RING ABOVE
-0170;N # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0171;N # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0172;N # LATIN CAPITAL LETTER U WITH OGONEK
-0173;N # LATIN SMALL LETTER U WITH OGONEK
-0174;N # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0175;N # LATIN SMALL LETTER W WITH CIRCUMFLEX
-0176;N # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0177;N # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0178;N # LATIN CAPITAL LETTER Y WITH DIAERESIS
-0179;N # LATIN CAPITAL LETTER Z WITH ACUTE
-017A;N # LATIN SMALL LETTER Z WITH ACUTE
-017B;N # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017C;N # LATIN SMALL LETTER Z WITH DOT ABOVE
-017D;N # LATIN CAPITAL LETTER Z WITH CARON
-017E;N # LATIN SMALL LETTER Z WITH CARON
-017F;N # LATIN SMALL LETTER LONG S
-0180;N # LATIN SMALL LETTER B WITH STROKE
-0181;N # LATIN CAPITAL LETTER B WITH HOOK
-0182;N # LATIN CAPITAL LETTER B WITH TOPBAR
-0183;N # LATIN SMALL LETTER B WITH TOPBAR
-0184;N # LATIN CAPITAL LETTER TONE SIX
-0185;N # LATIN SMALL LETTER TONE SIX
-0186;N # LATIN CAPITAL LETTER OPEN O
-0187;N # LATIN CAPITAL LETTER C WITH HOOK
-0188;N # LATIN SMALL LETTER C WITH HOOK
-0189;N # LATIN CAPITAL LETTER AFRICAN D
-018A;N # LATIN CAPITAL LETTER D WITH HOOK
-018B;N # LATIN CAPITAL LETTER D WITH TOPBAR
-018C;N # LATIN SMALL LETTER D WITH TOPBAR
-018D;N # LATIN SMALL LETTER TURNED DELTA
-018E;N # LATIN CAPITAL LETTER REVERSED E
-018F;N # LATIN CAPITAL LETTER SCHWA
-0190;N # LATIN CAPITAL LETTER OPEN E
-0191;N # LATIN CAPITAL LETTER F WITH HOOK
-0192;N # LATIN SMALL LETTER F WITH HOOK
-0193;N # LATIN CAPITAL LETTER G WITH HOOK
-0194;N # LATIN CAPITAL LETTER GAMMA
-0195;N # LATIN SMALL LETTER HV
-0196;N # LATIN CAPITAL LETTER IOTA
-0197;N # LATIN CAPITAL LETTER I WITH STROKE
-0198;N # LATIN CAPITAL LETTER K WITH HOOK
-0199;N # LATIN SMALL LETTER K WITH HOOK
-019A;N # LATIN SMALL LETTER L WITH BAR
-019B;N # LATIN SMALL LETTER LAMBDA WITH STROKE
-019C;N # LATIN CAPITAL LETTER TURNED M
-019D;N # LATIN CAPITAL LETTER N WITH LEFT HOOK
-019E;N # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-019F;N # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-01A0;N # LATIN CAPITAL LETTER O WITH HORN
-01A1;N # LATIN SMALL LETTER O WITH HORN
-01A2;N # LATIN CAPITAL LETTER OI
-01A3;N # LATIN SMALL LETTER OI
-01A4;N # LATIN CAPITAL LETTER P WITH HOOK
-01A5;N # LATIN SMALL LETTER P WITH HOOK
-01A6;N # LATIN LETTER YR
-01A7;N # LATIN CAPITAL LETTER TONE TWO
-01A8;N # LATIN SMALL LETTER TONE TWO
-01A9;N # LATIN CAPITAL LETTER ESH
-01AA;N # LATIN LETTER REVERSED ESH LOOP
-01AB;N # LATIN SMALL LETTER T WITH PALATAL HOOK
-01AC;N # LATIN CAPITAL LETTER T WITH HOOK
-01AD;N # LATIN SMALL LETTER T WITH HOOK
-01AE;N # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-01AF;N # LATIN CAPITAL LETTER U WITH HORN
-01B0;N # LATIN SMALL LETTER U WITH HORN
-01B1;N # LATIN CAPITAL LETTER UPSILON
-01B2;N # LATIN CAPITAL LETTER V WITH HOOK
-01B3;N # LATIN CAPITAL LETTER Y WITH HOOK
-01B4;N # LATIN SMALL LETTER Y WITH HOOK
-01B5;N # LATIN CAPITAL LETTER Z WITH STROKE
-01B6;N # LATIN SMALL LETTER Z WITH STROKE
-01B7;N # LATIN CAPITAL LETTER EZH
-01B8;N # LATIN CAPITAL LETTER EZH REVERSED
-01B9;N # LATIN SMALL LETTER EZH REVERSED
-01BA;N # LATIN SMALL LETTER EZH WITH TAIL
-01BB;N # LATIN LETTER TWO WITH STROKE
-01BC;N # LATIN CAPITAL LETTER TONE FIVE
-01BD;N # LATIN SMALL LETTER TONE FIVE
-01BE;N # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
-01BF;N # LATIN LETTER WYNN
-01C0;N # LATIN LETTER DENTAL CLICK
-01C1;N # LATIN LETTER LATERAL CLICK
-01C2;N # LATIN LETTER ALVEOLAR CLICK
-01C3;N # LATIN LETTER RETROFLEX CLICK
-01C4;N # LATIN CAPITAL LETTER DZ WITH CARON
-01C5;N # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C6;N # LATIN SMALL LETTER DZ WITH CARON
-01C7;N # LATIN CAPITAL LETTER LJ
-01C8;N # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01C9;N # LATIN SMALL LETTER LJ
-01CA;N # LATIN CAPITAL LETTER NJ
-01CB;N # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CC;N # LATIN SMALL LETTER NJ
-01CD;N # LATIN CAPITAL LETTER A WITH CARON
-01CE;A # LATIN SMALL LETTER A WITH CARON
-01CF;N # LATIN CAPITAL LETTER I WITH CARON
-01D0;A # LATIN SMALL LETTER I WITH CARON
-01D1;N # LATIN CAPITAL LETTER O WITH CARON
-01D2;A # LATIN SMALL LETTER O WITH CARON
-01D3;N # LATIN CAPITAL LETTER U WITH CARON
-01D4;A # LATIN SMALL LETTER U WITH CARON
-01D5;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D6;A # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D7;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D8;A # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D9;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DA;A # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DB;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DC;A # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DD;N # LATIN SMALL LETTER TURNED E
-01DE;N # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01DF;N # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E0;N # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E1;N # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E2;N # LATIN CAPITAL LETTER AE WITH MACRON
-01E3;N # LATIN SMALL LETTER AE WITH MACRON
-01E4;N # LATIN CAPITAL LETTER G WITH STROKE
-01E5;N # LATIN SMALL LETTER G WITH STROKE
-01E6;N # LATIN CAPITAL LETTER G WITH CARON
-01E7;N # LATIN SMALL LETTER G WITH CARON
-01E8;N # LATIN CAPITAL LETTER K WITH CARON
-01E9;N # LATIN SMALL LETTER K WITH CARON
-01EA;N # LATIN CAPITAL LETTER O WITH OGONEK
-01EB;N # LATIN SMALL LETTER O WITH OGONEK
-01EC;N # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01ED;N # LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EE;N # LATIN CAPITAL LETTER EZH WITH CARON
-01EF;N # LATIN SMALL LETTER EZH WITH CARON
-01F0;N # LATIN SMALL LETTER J WITH CARON
-01F1;N # LATIN CAPITAL LETTER DZ
-01F2;N # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F3;N # LATIN SMALL LETTER DZ
-01F4;N # LATIN CAPITAL LETTER G WITH ACUTE
-01F5;N # LATIN SMALL LETTER G WITH ACUTE
-01F6;N # LATIN CAPITAL LETTER HWAIR
-01F7;N # LATIN CAPITAL LETTER WYNN
-01F8;N # LATIN CAPITAL LETTER N WITH GRAVE
-01F9;N # LATIN SMALL LETTER N WITH GRAVE
-01FA;N # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FB;N # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FC;N # LATIN CAPITAL LETTER AE WITH ACUTE
-01FD;N # LATIN SMALL LETTER AE WITH ACUTE
-01FE;N # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-01FF;N # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0200;N # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0201;N # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0202;N # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0203;N # LATIN SMALL LETTER A WITH INVERTED BREVE
-0204;N # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0205;N # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0206;N # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0207;N # LATIN SMALL LETTER E WITH INVERTED BREVE
-0208;N # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-0209;N # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020A;N # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020B;N # LATIN SMALL LETTER I WITH INVERTED BREVE
-020C;N # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020D;N # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020E;N # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-020F;N # LATIN SMALL LETTER O WITH INVERTED BREVE
-0210;N # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0211;N # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0212;N # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0213;N # LATIN SMALL LETTER R WITH INVERTED BREVE
-0214;N # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0215;N # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0216;N # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0217;N # LATIN SMALL LETTER U WITH INVERTED BREVE
-0218;N # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0219;N # LATIN SMALL LETTER S WITH COMMA BELOW
-021A;N # LATIN CAPITAL LETTER T WITH COMMA BELOW
-021B;N # LATIN SMALL LETTER T WITH COMMA BELOW
-021C;N # LATIN CAPITAL LETTER YOGH
-021D;N # LATIN SMALL LETTER YOGH
-021E;N # LATIN CAPITAL LETTER H WITH CARON
-021F;N # LATIN SMALL LETTER H WITH CARON
-0220;N # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0221;N # LATIN SMALL LETTER D WITH CURL
-0222;N # LATIN CAPITAL LETTER OU
-0223;N # LATIN SMALL LETTER OU
-0224;N # LATIN CAPITAL LETTER Z WITH HOOK
-0225;N # LATIN SMALL LETTER Z WITH HOOK
-0226;N # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0227;N # LATIN SMALL LETTER A WITH DOT ABOVE
-0228;N # LATIN CAPITAL LETTER E WITH CEDILLA
-0229;N # LATIN SMALL LETTER E WITH CEDILLA
-022A;N # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022B;N # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022C;N # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022D;N # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022E;N # LATIN CAPITAL LETTER O WITH DOT ABOVE
-022F;N # LATIN SMALL LETTER O WITH DOT ABOVE
-0230;N # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0231;N # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0232;N # LATIN CAPITAL LETTER Y WITH MACRON
-0233;N # LATIN SMALL LETTER Y WITH MACRON
-0234;N # LATIN SMALL LETTER L WITH CURL
-0235;N # LATIN SMALL LETTER N WITH CURL
-0236;N # LATIN SMALL LETTER T WITH CURL
-0237;N # LATIN SMALL LETTER DOTLESS J
-0238;N # LATIN SMALL LETTER DB DIGRAPH
-0239;N # LATIN SMALL LETTER QP DIGRAPH
-023A;N # LATIN CAPITAL LETTER A WITH STROKE
-023B;N # LATIN CAPITAL LETTER C WITH STROKE
-023C;N # LATIN SMALL LETTER C WITH STROKE
-023D;N # LATIN CAPITAL LETTER L WITH BAR
-023E;N # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-023F;N # LATIN SMALL LETTER S WITH SWASH TAIL
-0240;N # LATIN SMALL LETTER Z WITH SWASH TAIL
-0241;N # LATIN CAPITAL LETTER GLOTTAL STOP
-0242;N # LATIN SMALL LETTER GLOTTAL STOP
-0243;N # LATIN CAPITAL LETTER B WITH STROKE
-0244;N # LATIN CAPITAL LETTER U BAR
-0245;N # LATIN CAPITAL LETTER TURNED V
-0246;N # LATIN CAPITAL LETTER E WITH STROKE
-0247;N # LATIN SMALL LETTER E WITH STROKE
-0248;N # LATIN CAPITAL LETTER J WITH STROKE
-0249;N # LATIN SMALL LETTER J WITH STROKE
-024A;N # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024B;N # LATIN SMALL LETTER Q WITH HOOK TAIL
-024C;N # LATIN CAPITAL LETTER R WITH STROKE
-024D;N # LATIN SMALL LETTER R WITH STROKE
-024E;N # LATIN CAPITAL LETTER Y WITH STROKE
-024F;N # LATIN SMALL LETTER Y WITH STROKE
-0250;N # LATIN SMALL LETTER TURNED A
-0251;A # LATIN SMALL LETTER ALPHA
-0252;N # LATIN SMALL LETTER TURNED ALPHA
-0253;N # LATIN SMALL LETTER B WITH HOOK
-0254;N # LATIN SMALL LETTER OPEN O
-0255;N # LATIN SMALL LETTER C WITH CURL
-0256;N # LATIN SMALL LETTER D WITH TAIL
-0257;N # LATIN SMALL LETTER D WITH HOOK
-0258;N # LATIN SMALL LETTER REVERSED E
-0259;N # LATIN SMALL LETTER SCHWA
-025A;N # LATIN SMALL LETTER SCHWA WITH HOOK
-025B;N # LATIN SMALL LETTER OPEN E
-025C;N # LATIN SMALL LETTER REVERSED OPEN E
-025D;N # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E;N # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-025F;N # LATIN SMALL LETTER DOTLESS J WITH STROKE
-0260;N # LATIN SMALL LETTER G WITH HOOK
-0261;A # LATIN SMALL LETTER SCRIPT G
-0262;N # LATIN LETTER SMALL CAPITAL G
-0263;N # LATIN SMALL LETTER GAMMA
-0264;N # LATIN SMALL LETTER RAMS HORN
-0265;N # LATIN SMALL LETTER TURNED H
-0266;N # LATIN SMALL LETTER H WITH HOOK
-0267;N # LATIN SMALL LETTER HENG WITH HOOK
-0268;N # LATIN SMALL LETTER I WITH STROKE
-0269;N # LATIN SMALL LETTER IOTA
-026A;N # LATIN LETTER SMALL CAPITAL I
-026B;N # LATIN SMALL LETTER L WITH MIDDLE TILDE
-026C;N # LATIN SMALL LETTER L WITH BELT
-026D;N # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-026E;N # LATIN SMALL LETTER LEZH
-026F;N # LATIN SMALL LETTER TURNED M
-0270;N # LATIN SMALL LETTER TURNED M WITH LONG LEG
-0271;N # LATIN SMALL LETTER M WITH HOOK
-0272;N # LATIN SMALL LETTER N WITH LEFT HOOK
-0273;N # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-0274;N # LATIN LETTER SMALL CAPITAL N
-0275;N # LATIN SMALL LETTER BARRED O
-0276;N # LATIN LETTER SMALL CAPITAL OE
-0277;N # LATIN SMALL LETTER CLOSED OMEGA
-0278;N # LATIN SMALL LETTER PHI
-0279;N # LATIN SMALL LETTER TURNED R
-027A;N # LATIN SMALL LETTER TURNED R WITH LONG LEG
-027B;N # LATIN SMALL LETTER TURNED R WITH HOOK
-027C;N # LATIN SMALL LETTER R WITH LONG LEG
-027D;N # LATIN SMALL LETTER R WITH TAIL
-027E;N # LATIN SMALL LETTER R WITH FISHHOOK
-027F;N # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0280;N # LATIN LETTER SMALL CAPITAL R
-0281;N # LATIN LETTER SMALL CAPITAL INVERTED R
-0282;N # LATIN SMALL LETTER S WITH HOOK
-0283;N # LATIN SMALL LETTER ESH
-0284;N # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-0285;N # LATIN SMALL LETTER SQUAT REVERSED ESH
-0286;N # LATIN SMALL LETTER ESH WITH CURL
-0287;N # LATIN SMALL LETTER TURNED T
-0288;N # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-0289;N # LATIN SMALL LETTER U BAR
-028A;N # LATIN SMALL LETTER UPSILON
-028B;N # LATIN SMALL LETTER V WITH HOOK
-028C;N # LATIN SMALL LETTER TURNED V
-028D;N # LATIN SMALL LETTER TURNED W
-028E;N # LATIN SMALL LETTER TURNED Y
-028F;N # LATIN LETTER SMALL CAPITAL Y
-0290;N # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-0291;N # LATIN SMALL LETTER Z WITH CURL
-0292;N # LATIN SMALL LETTER EZH
-0293;N # LATIN SMALL LETTER EZH WITH CURL
-0294;N # LATIN LETTER GLOTTAL STOP
-0295;N # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296;N # LATIN LETTER INVERTED GLOTTAL STOP
-0297;N # LATIN LETTER STRETCHED C
-0298;N # LATIN LETTER BILABIAL CLICK
-0299;N # LATIN LETTER SMALL CAPITAL B
-029A;N # LATIN SMALL LETTER CLOSED OPEN E
-029B;N # LATIN LETTER SMALL CAPITAL G WITH HOOK
-029C;N # LATIN LETTER SMALL CAPITAL H
-029D;N # LATIN SMALL LETTER J WITH CROSSED-TAIL
-029E;N # LATIN SMALL LETTER TURNED K
-029F;N # LATIN LETTER SMALL CAPITAL L
-02A0;N # LATIN SMALL LETTER Q WITH HOOK
-02A1;N # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2;N # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-02A3;N # LATIN SMALL LETTER DZ DIGRAPH
-02A4;N # LATIN SMALL LETTER DEZH DIGRAPH
-02A5;N # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
-02A6;N # LATIN SMALL LETTER TS DIGRAPH
-02A7;N # LATIN SMALL LETTER TESH DIGRAPH
-02A8;N # LATIN SMALL LETTER TC DIGRAPH WITH CURL
-02A9;N # LATIN SMALL LETTER FENG DIGRAPH
-02AA;N # LATIN SMALL LETTER LS DIGRAPH
-02AB;N # LATIN SMALL LETTER LZ DIGRAPH
-02AC;N # LATIN LETTER BILABIAL PERCUSSIVE
-02AD;N # LATIN LETTER BIDENTAL PERCUSSIVE
-02AE;N # LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF;N # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0;N # MODIFIER LETTER SMALL H
-02B1;N # MODIFIER LETTER SMALL H WITH HOOK
-02B2;N # MODIFIER LETTER SMALL J
-02B3;N # MODIFIER LETTER SMALL R
-02B4;N # MODIFIER LETTER SMALL TURNED R
-02B5;N # MODIFIER LETTER SMALL TURNED R WITH HOOK
-02B6;N # MODIFIER LETTER SMALL CAPITAL INVERTED R
-02B7;N # MODIFIER LETTER SMALL W
-02B8;N # MODIFIER LETTER SMALL Y
-02B9;N # MODIFIER LETTER PRIME
-02BA;N # MODIFIER LETTER DOUBLE PRIME
-02BB;N # MODIFIER LETTER TURNED COMMA
-02BC;N # MODIFIER LETTER APOSTROPHE
-02BD;N # MODIFIER LETTER REVERSED COMMA
-02BE;N # MODIFIER LETTER RIGHT HALF RING
-02BF;N # MODIFIER LETTER LEFT HALF RING
-02C0;N # MODIFIER LETTER GLOTTAL STOP
-02C1;N # MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2;N # MODIFIER LETTER LEFT ARROWHEAD
-02C3;N # MODIFIER LETTER RIGHT ARROWHEAD
-02C4;A # MODIFIER LETTER UP ARROWHEAD
-02C5;N # MODIFIER LETTER DOWN ARROWHEAD
-02C6;N # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7;A # CARON
-02C8;N # MODIFIER LETTER VERTICAL LINE
-02C9;A # MODIFIER LETTER MACRON
-02CA;A # MODIFIER LETTER ACUTE ACCENT
-02CB;A # MODIFIER LETTER GRAVE ACCENT
-02CC;N # MODIFIER LETTER LOW VERTICAL LINE
-02CD;A # MODIFIER LETTER LOW MACRON
-02CE;N # MODIFIER LETTER LOW GRAVE ACCENT
-02CF;N # MODIFIER LETTER LOW ACUTE ACCENT
-02D0;A # MODIFIER LETTER TRIANGULAR COLON
-02D1;N # MODIFIER LETTER HALF TRIANGULAR COLON
-02D2;N # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3;N # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4;N # MODIFIER LETTER UP TACK
-02D5;N # MODIFIER LETTER DOWN TACK
-02D6;N # MODIFIER LETTER PLUS SIGN
-02D7;N # MODIFIER LETTER MINUS SIGN
-02D8;A # BREVE
-02D9;A # DOT ABOVE
-02DA;A # RING ABOVE
-02DB;A # OGONEK
-02DC;N # SMALL TILDE
-02DD;A # DOUBLE ACUTE ACCENT
-02DE;N # MODIFIER LETTER RHOTIC HOOK
-02DF;A # MODIFIER LETTER CROSS ACCENT
-02E0;N # MODIFIER LETTER SMALL GAMMA
-02E1;N # MODIFIER LETTER SMALL L
-02E2;N # MODIFIER LETTER SMALL S
-02E3;N # MODIFIER LETTER SMALL X
-02E4;N # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5;N # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6;N # MODIFIER LETTER HIGH TONE BAR
-02E7;N # MODIFIER LETTER MID TONE BAR
-02E8;N # MODIFIER LETTER LOW TONE BAR
-02E9;N # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA;N # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB;N # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC;N # MODIFIER LETTER VOICING
-02ED;N # MODIFIER LETTER UNASPIRATED
-02EE;N # MODIFIER LETTER DOUBLE APOSTROPHE
-02EF;N # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0;N # MODIFIER LETTER LOW UP ARROWHEAD
-02F1;N # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2;N # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3;N # MODIFIER LETTER LOW RING
-02F4;N # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5;N # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6;N # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7;N # MODIFIER LETTER LOW TILDE
-02F8;N # MODIFIER LETTER RAISED COLON
-02F9;N # MODIFIER LETTER BEGIN HIGH TONE
-02FA;N # MODIFIER LETTER END HIGH TONE
-02FB;N # MODIFIER LETTER BEGIN LOW TONE
-02FC;N # MODIFIER LETTER END LOW TONE
-02FD;N # MODIFIER LETTER SHELF
-02FE;N # MODIFIER LETTER OPEN SHELF
-02FF;N # MODIFIER LETTER LOW LEFT ARROW
-0300;A # COMBINING GRAVE ACCENT
-0301;A # COMBINING ACUTE ACCENT
-0302;A # COMBINING CIRCUMFLEX ACCENT
-0303;A # COMBINING TILDE
-0304;A # COMBINING MACRON
-0305;A # COMBINING OVERLINE
-0306;A # COMBINING BREVE
-0307;A # COMBINING DOT ABOVE
-0308;A # COMBINING DIAERESIS
-0309;A # COMBINING HOOK ABOVE
-030A;A # COMBINING RING ABOVE
-030B;A # COMBINING DOUBLE ACUTE ACCENT
-030C;A # COMBINING CARON
-030D;A # COMBINING VERTICAL LINE ABOVE
-030E;A # COMBINING DOUBLE VERTICAL LINE ABOVE
-030F;A # COMBINING DOUBLE GRAVE ACCENT
-0310;A # COMBINING CANDRABINDU
-0311;A # COMBINING INVERTED BREVE
-0312;A # COMBINING TURNED COMMA ABOVE
-0313;A # COMBINING COMMA ABOVE
-0314;A # COMBINING REVERSED COMMA ABOVE
-0315;A # COMBINING COMMA ABOVE RIGHT
-0316;A # COMBINING GRAVE ACCENT BELOW
-0317;A # COMBINING ACUTE ACCENT BELOW
-0318;A # COMBINING LEFT TACK BELOW
-0319;A # COMBINING RIGHT TACK BELOW
-031A;A # COMBINING LEFT ANGLE ABOVE
-031B;A # COMBINING HORN
-031C;A # COMBINING LEFT HALF RING BELOW
-031D;A # COMBINING UP TACK BELOW
-031E;A # COMBINING DOWN TACK BELOW
-031F;A # COMBINING PLUS SIGN BELOW
-0320;A # COMBINING MINUS SIGN BELOW
-0321;A # COMBINING PALATALIZED HOOK BELOW
-0322;A # COMBINING RETROFLEX HOOK BELOW
-0323;A # COMBINING DOT BELOW
-0324;A # COMBINING DIAERESIS BELOW
-0325;A # COMBINING RING BELOW
-0326;A # COMBINING COMMA BELOW
-0327;A # COMBINING CEDILLA
-0328;A # COMBINING OGONEK
-0329;A # COMBINING VERTICAL LINE BELOW
-032A;A # COMBINING BRIDGE BELOW
-032B;A # COMBINING INVERTED DOUBLE ARCH BELOW
-032C;A # COMBINING CARON BELOW
-032D;A # COMBINING CIRCUMFLEX ACCENT BELOW
-032E;A # COMBINING BREVE BELOW
-032F;A # COMBINING INVERTED BREVE BELOW
-0330;A # COMBINING TILDE BELOW
-0331;A # COMBINING MACRON BELOW
-0332;A # COMBINING LOW LINE
-0333;A # COMBINING DOUBLE LOW LINE
-0334;A # COMBINING TILDE OVERLAY
-0335;A # COMBINING SHORT STROKE OVERLAY
-0336;A # COMBINING LONG STROKE OVERLAY
-0337;A # COMBINING SHORT SOLIDUS OVERLAY
-0338;A # COMBINING LONG SOLIDUS OVERLAY
-0339;A # COMBINING RIGHT HALF RING BELOW
-033A;A # COMBINING INVERTED BRIDGE BELOW
-033B;A # COMBINING SQUARE BELOW
-033C;A # COMBINING SEAGULL BELOW
-033D;A # COMBINING X ABOVE
-033E;A # COMBINING VERTICAL TILDE
-033F;A # COMBINING DOUBLE OVERLINE
-0340;A # COMBINING GRAVE TONE MARK
-0341;A # COMBINING ACUTE TONE MARK
-0342;A # COMBINING GREEK PERISPOMENI
-0343;A # COMBINING GREEK KORONIS
-0344;A # COMBINING GREEK DIALYTIKA TONOS
-0345;A # COMBINING GREEK YPOGEGRAMMENI
-0346;A # COMBINING BRIDGE ABOVE
-0347;A # COMBINING EQUALS SIGN BELOW
-0348;A # COMBINING DOUBLE VERTICAL LINE BELOW
-0349;A # COMBINING LEFT ANGLE BELOW
-034A;A # COMBINING NOT TILDE ABOVE
-034B;A # COMBINING HOMOTHETIC ABOVE
-034C;A # COMBINING ALMOST EQUAL TO ABOVE
-034D;A # COMBINING LEFT RIGHT ARROW BELOW
-034E;A # COMBINING UPWARDS ARROW BELOW
-034F;A # COMBINING GRAPHEME JOINER
-0350;A # COMBINING RIGHT ARROWHEAD ABOVE
-0351;A # COMBINING LEFT HALF RING ABOVE
-0352;A # COMBINING FERMATA
-0353;A # COMBINING X BELOW
-0354;A # COMBINING LEFT ARROWHEAD BELOW
-0355;A # COMBINING RIGHT ARROWHEAD BELOW
-0356;A # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0357;A # COMBINING RIGHT HALF RING ABOVE
-0358;A # COMBINING DOT ABOVE RIGHT
-0359;A # COMBINING ASTERISK BELOW
-035A;A # COMBINING DOUBLE RING BELOW
-035B;A # COMBINING ZIGZAG ABOVE
-035C;A # COMBINING DOUBLE BREVE BELOW
-035D;A # COMBINING DOUBLE BREVE
-035E;A # COMBINING DOUBLE MACRON
-035F;A # COMBINING DOUBLE MACRON BELOW
-0360;A # COMBINING DOUBLE TILDE
-0361;A # COMBINING DOUBLE INVERTED BREVE
-0362;A # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-0363;A # COMBINING LATIN SMALL LETTER A
-0364;A # COMBINING LATIN SMALL LETTER E
-0365;A # COMBINING LATIN SMALL LETTER I
-0366;A # COMBINING LATIN SMALL LETTER O
-0367;A # COMBINING LATIN SMALL LETTER U
-0368;A # COMBINING LATIN SMALL LETTER C
-0369;A # COMBINING LATIN SMALL LETTER D
-036A;A # COMBINING LATIN SMALL LETTER H
-036B;A # COMBINING LATIN SMALL LETTER M
-036C;A # COMBINING LATIN SMALL LETTER R
-036D;A # COMBINING LATIN SMALL LETTER T
-036E;A # COMBINING LATIN SMALL LETTER V
-036F;A # COMBINING LATIN SMALL LETTER X
-0370;N # GREEK CAPITAL LETTER HETA
-0371;N # GREEK SMALL LETTER HETA
-0372;N # GREEK CAPITAL LETTER ARCHAIC SAMPI
-0373;N # GREEK SMALL LETTER ARCHAIC SAMPI
-0374;N # GREEK NUMERAL SIGN
-0375;N # GREEK LOWER NUMERAL SIGN
-0376;N # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0377;N # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A;N # GREEK YPOGEGRAMMENI
-037B;N # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-037C;N # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-037D;N # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-037E;N # GREEK QUESTION MARK
-0384;N # GREEK TONOS
-0385;N # GREEK DIALYTIKA TONOS
-0386;N # GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387;N # GREEK ANO TELEIA
-0388;N # GREEK CAPITAL LETTER EPSILON WITH TONOS
-0389;N # GREEK CAPITAL LETTER ETA WITH TONOS
-038A;N # GREEK CAPITAL LETTER IOTA WITH TONOS
-038C;N # GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E;N # GREEK CAPITAL LETTER UPSILON WITH TONOS
-038F;N # GREEK CAPITAL LETTER OMEGA WITH TONOS
-0390;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-0391;A # GREEK CAPITAL LETTER ALPHA
-0392;A # GREEK CAPITAL LETTER BETA
-0393;A # GREEK CAPITAL LETTER GAMMA
-0394;A # GREEK CAPITAL LETTER DELTA
-0395;A # GREEK CAPITAL LETTER EPSILON
-0396;A # GREEK CAPITAL LETTER ZETA
-0397;A # GREEK CAPITAL LETTER ETA
-0398;A # GREEK CAPITAL LETTER THETA
-0399;A # GREEK CAPITAL LETTER IOTA
-039A;A # GREEK CAPITAL LETTER KAPPA
-039B;A # GREEK CAPITAL LETTER LAMDA
-039C;A # GREEK CAPITAL LETTER MU
-039D;A # GREEK CAPITAL LETTER NU
-039E;A # GREEK CAPITAL LETTER XI
-039F;A # GREEK CAPITAL LETTER OMICRON
-03A0;A # GREEK CAPITAL LETTER PI
-03A1;A # GREEK CAPITAL LETTER RHO
-03A3;A # GREEK CAPITAL LETTER SIGMA
-03A4;A # GREEK CAPITAL LETTER TAU
-03A5;A # GREEK CAPITAL LETTER UPSILON
-03A6;A # GREEK CAPITAL LETTER PHI
-03A7;A # GREEK CAPITAL LETTER CHI
-03A8;A # GREEK CAPITAL LETTER PSI
-03A9;A # GREEK CAPITAL LETTER OMEGA
-03AA;N # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-03AB;N # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03AC;N # GREEK SMALL LETTER ALPHA WITH TONOS
-03AD;N # GREEK SMALL LETTER EPSILON WITH TONOS
-03AE;N # GREEK SMALL LETTER ETA WITH TONOS
-03AF;N # GREEK SMALL LETTER IOTA WITH TONOS
-03B0;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03B1;A # GREEK SMALL LETTER ALPHA
-03B2;A # GREEK SMALL LETTER BETA
-03B3;A # GREEK SMALL LETTER GAMMA
-03B4;A # GREEK SMALL LETTER DELTA
-03B5;A # GREEK SMALL LETTER EPSILON
-03B6;A # GREEK SMALL LETTER ZETA
-03B7;A # GREEK SMALL LETTER ETA
-03B8;A # GREEK SMALL LETTER THETA
-03B9;A # GREEK SMALL LETTER IOTA
-03BA;A # GREEK SMALL LETTER KAPPA
-03BB;A # GREEK SMALL LETTER LAMDA
-03BC;A # GREEK SMALL LETTER MU
-03BD;A # GREEK SMALL LETTER NU
-03BE;A # GREEK SMALL LETTER XI
-03BF;A # GREEK SMALL LETTER OMICRON
-03C0;A # GREEK SMALL LETTER PI
-03C1;A # GREEK SMALL LETTER RHO
-03C2;N # GREEK SMALL LETTER FINAL SIGMA
-03C3;A # GREEK SMALL LETTER SIGMA
-03C4;A # GREEK SMALL LETTER TAU
-03C5;A # GREEK SMALL LETTER UPSILON
-03C6;A # GREEK SMALL LETTER PHI
-03C7;A # GREEK SMALL LETTER CHI
-03C8;A # GREEK SMALL LETTER PSI
-03C9;A # GREEK SMALL LETTER OMEGA
-03CA;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA
-03CB;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-03CC;N # GREEK SMALL LETTER OMICRON WITH TONOS
-03CD;N # GREEK SMALL LETTER UPSILON WITH TONOS
-03CE;N # GREEK SMALL LETTER OMEGA WITH TONOS
-03CF;N # GREEK CAPITAL KAI SYMBOL
-03D0;N # GREEK BETA SYMBOL
-03D1;N # GREEK THETA SYMBOL
-03D2;N # GREEK UPSILON WITH HOOK SYMBOL
-03D3;N # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-03D4;N # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D5;N # GREEK PHI SYMBOL
-03D6;N # GREEK PI SYMBOL
-03D7;N # GREEK KAI SYMBOL
-03D8;N # GREEK LETTER ARCHAIC KOPPA
-03D9;N # GREEK SMALL LETTER ARCHAIC KOPPA
-03DA;N # GREEK LETTER STIGMA
-03DB;N # GREEK SMALL LETTER STIGMA
-03DC;N # GREEK LETTER DIGAMMA
-03DD;N # GREEK SMALL LETTER DIGAMMA
-03DE;N # GREEK LETTER KOPPA
-03DF;N # GREEK SMALL LETTER KOPPA
-03E0;N # GREEK LETTER SAMPI
-03E1;N # GREEK SMALL LETTER SAMPI
-03E2;N # COPTIC CAPITAL LETTER SHEI
-03E3;N # COPTIC SMALL LETTER SHEI
-03E4;N # COPTIC CAPITAL LETTER FEI
-03E5;N # COPTIC SMALL LETTER FEI
-03E6;N # COPTIC CAPITAL LETTER KHEI
-03E7;N # COPTIC SMALL LETTER KHEI
-03E8;N # COPTIC CAPITAL LETTER HORI
-03E9;N # COPTIC SMALL LETTER HORI
-03EA;N # COPTIC CAPITAL LETTER GANGIA
-03EB;N # COPTIC SMALL LETTER GANGIA
-03EC;N # COPTIC CAPITAL LETTER SHIMA
-03ED;N # COPTIC SMALL LETTER SHIMA
-03EE;N # COPTIC CAPITAL LETTER DEI
-03EF;N # COPTIC SMALL LETTER DEI
-03F0;N # GREEK KAPPA SYMBOL
-03F1;N # GREEK RHO SYMBOL
-03F2;N # GREEK LUNATE SIGMA SYMBOL
-03F3;N # GREEK LETTER YOT
-03F4;N # GREEK CAPITAL THETA SYMBOL
-03F5;N # GREEK LUNATE EPSILON SYMBOL
-03F6;N # GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7;N # GREEK CAPITAL LETTER SHO
-03F8;N # GREEK SMALL LETTER SHO
-03F9;N # GREEK CAPITAL LUNATE SIGMA SYMBOL
-03FA;N # GREEK CAPITAL LETTER SAN
-03FB;N # GREEK SMALL LETTER SAN
-03FC;N # GREEK RHO WITH STROKE SYMBOL
-03FD;N # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-03FE;N # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-03FF;N # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0400;N # CYRILLIC CAPITAL LETTER IE WITH GRAVE
-0401;A # CYRILLIC CAPITAL LETTER IO
-0402;N # CYRILLIC CAPITAL LETTER DJE
-0403;N # CYRILLIC CAPITAL LETTER GJE
-0404;N # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0405;N # CYRILLIC CAPITAL LETTER DZE
-0406;N # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0407;N # CYRILLIC CAPITAL LETTER YI
-0408;N # CYRILLIC CAPITAL LETTER JE
-0409;N # CYRILLIC CAPITAL LETTER LJE
-040A;N # CYRILLIC CAPITAL LETTER NJE
-040B;N # CYRILLIC CAPITAL LETTER TSHE
-040C;N # CYRILLIC CAPITAL LETTER KJE
-040D;N # CYRILLIC CAPITAL LETTER I WITH GRAVE
-040E;N # CYRILLIC CAPITAL LETTER SHORT U
-040F;N # CYRILLIC CAPITAL LETTER DZHE
-0410;A # CYRILLIC CAPITAL LETTER A
-0411;A # CYRILLIC CAPITAL LETTER BE
-0412;A # CYRILLIC CAPITAL LETTER VE
-0413;A # CYRILLIC CAPITAL LETTER GHE
-0414;A # CYRILLIC CAPITAL LETTER DE
-0415;A # CYRILLIC CAPITAL LETTER IE
-0416;A # CYRILLIC CAPITAL LETTER ZHE
-0417;A # CYRILLIC CAPITAL LETTER ZE
-0418;A # CYRILLIC CAPITAL LETTER I
-0419;A # CYRILLIC CAPITAL LETTER SHORT I
-041A;A # CYRILLIC CAPITAL LETTER KA
-041B;A # CYRILLIC CAPITAL LETTER EL
-041C;A # CYRILLIC CAPITAL LETTER EM
-041D;A # CYRILLIC CAPITAL LETTER EN
-041E;A # CYRILLIC CAPITAL LETTER O
-041F;A # CYRILLIC CAPITAL LETTER PE
-0420;A # CYRILLIC CAPITAL LETTER ER
-0421;A # CYRILLIC CAPITAL LETTER ES
-0422;A # CYRILLIC CAPITAL LETTER TE
-0423;A # CYRILLIC CAPITAL LETTER U
-0424;A # CYRILLIC CAPITAL LETTER EF
-0425;A # CYRILLIC CAPITAL LETTER HA
-0426;A # CYRILLIC CAPITAL LETTER TSE
-0427;A # CYRILLIC CAPITAL LETTER CHE
-0428;A # CYRILLIC CAPITAL LETTER SHA
-0429;A # CYRILLIC CAPITAL LETTER SHCHA
-042A;A # CYRILLIC CAPITAL LETTER HARD SIGN
-042B;A # CYRILLIC CAPITAL LETTER YERU
-042C;A # CYRILLIC CAPITAL LETTER SOFT SIGN
-042D;A # CYRILLIC CAPITAL LETTER E
-042E;A # CYRILLIC CAPITAL LETTER YU
-042F;A # CYRILLIC CAPITAL LETTER YA
-0430;A # CYRILLIC SMALL LETTER A
-0431;A # CYRILLIC SMALL LETTER BE
-0432;A # CYRILLIC SMALL LETTER VE
-0433;A # CYRILLIC SMALL LETTER GHE
-0434;A # CYRILLIC SMALL LETTER DE
-0435;A # CYRILLIC SMALL LETTER IE
-0436;A # CYRILLIC SMALL LETTER ZHE
-0437;A # CYRILLIC SMALL LETTER ZE
-0438;A # CYRILLIC SMALL LETTER I
-0439;A # CYRILLIC SMALL LETTER SHORT I
-043A;A # CYRILLIC SMALL LETTER KA
-043B;A # CYRILLIC SMALL LETTER EL
-043C;A # CYRILLIC SMALL LETTER EM
-043D;A # CYRILLIC SMALL LETTER EN
-043E;A # CYRILLIC SMALL LETTER O
-043F;A # CYRILLIC SMALL LETTER PE
-0440;A # CYRILLIC SMALL LETTER ER
-0441;A # CYRILLIC SMALL LETTER ES
-0442;A # CYRILLIC SMALL LETTER TE
-0443;A # CYRILLIC SMALL LETTER U
-0444;A # CYRILLIC SMALL LETTER EF
-0445;A # CYRILLIC SMALL LETTER HA
-0446;A # CYRILLIC SMALL LETTER TSE
-0447;A # CYRILLIC SMALL LETTER CHE
-0448;A # CYRILLIC SMALL LETTER SHA
-0449;A # CYRILLIC SMALL LETTER SHCHA
-044A;A # CYRILLIC SMALL LETTER HARD SIGN
-044B;A # CYRILLIC SMALL LETTER YERU
-044C;A # CYRILLIC SMALL LETTER SOFT SIGN
-044D;A # CYRILLIC SMALL LETTER E
-044E;A # CYRILLIC SMALL LETTER YU
-044F;A # CYRILLIC SMALL LETTER YA
-0450;N # CYRILLIC SMALL LETTER IE WITH GRAVE
-0451;A # CYRILLIC SMALL LETTER IO
-0452;N # CYRILLIC SMALL LETTER DJE
-0453;N # CYRILLIC SMALL LETTER GJE
-0454;N # CYRILLIC SMALL LETTER UKRAINIAN IE
-0455;N # CYRILLIC SMALL LETTER DZE
-0456;N # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0457;N # CYRILLIC SMALL LETTER YI
-0458;N # CYRILLIC SMALL LETTER JE
-0459;N # CYRILLIC SMALL LETTER LJE
-045A;N # CYRILLIC SMALL LETTER NJE
-045B;N # CYRILLIC SMALL LETTER TSHE
-045C;N # CYRILLIC SMALL LETTER KJE
-045D;N # CYRILLIC SMALL LETTER I WITH GRAVE
-045E;N # CYRILLIC SMALL LETTER SHORT U
-045F;N # CYRILLIC SMALL LETTER DZHE
-0460;N # CYRILLIC CAPITAL LETTER OMEGA
-0461;N # CYRILLIC SMALL LETTER OMEGA
-0462;N # CYRILLIC CAPITAL LETTER YAT
-0463;N # CYRILLIC SMALL LETTER YAT
-0464;N # CYRILLIC CAPITAL LETTER IOTIFIED E
-0465;N # CYRILLIC SMALL LETTER IOTIFIED E
-0466;N # CYRILLIC CAPITAL LETTER LITTLE YUS
-0467;N # CYRILLIC SMALL LETTER LITTLE YUS
-0468;N # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-0469;N # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046A;N # CYRILLIC CAPITAL LETTER BIG YUS
-046B;N # CYRILLIC SMALL LETTER BIG YUS
-046C;N # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046D;N # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046E;N # CYRILLIC CAPITAL LETTER KSI
-046F;N # CYRILLIC SMALL LETTER KSI
-0470;N # CYRILLIC CAPITAL LETTER PSI
-0471;N # CYRILLIC SMALL LETTER PSI
-0472;N # CYRILLIC CAPITAL LETTER FITA
-0473;N # CYRILLIC SMALL LETTER FITA
-0474;N # CYRILLIC CAPITAL LETTER IZHITSA
-0475;N # CYRILLIC SMALL LETTER IZHITSA
-0476;N # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0477;N # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478;N # CYRILLIC CAPITAL LETTER UK
-0479;N # CYRILLIC SMALL LETTER UK
-047A;N # CYRILLIC CAPITAL LETTER ROUND OMEGA
-047B;N # CYRILLIC SMALL LETTER ROUND OMEGA
-047C;N # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047D;N # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047E;N # CYRILLIC CAPITAL LETTER OT
-047F;N # CYRILLIC SMALL LETTER OT
-0480;N # CYRILLIC CAPITAL LETTER KOPPA
-0481;N # CYRILLIC SMALL LETTER KOPPA
-0482;N # CYRILLIC THOUSANDS SIGN
-0483;N # COMBINING CYRILLIC TITLO
-0484;N # COMBINING CYRILLIC PALATALIZATION
-0485;N # COMBINING CYRILLIC DASIA PNEUMATA
-0486;N # COMBINING CYRILLIC PSILI PNEUMATA
-0487;N # COMBINING CYRILLIC POKRYTIE
-0488;N # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
-0489;N # COMBINING CYRILLIC MILLIONS SIGN
-048A;N # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048B;N # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048C;N # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048D;N # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048E;N # CYRILLIC CAPITAL LETTER ER WITH TICK
-048F;N # CYRILLIC SMALL LETTER ER WITH TICK
-0490;N # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0491;N # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0492;N # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0493;N # CYRILLIC SMALL LETTER GHE WITH STROKE
-0494;N # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0495;N # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0496;N # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0497;N # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0498;N # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0499;N # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049A;N # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049B;N # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049C;N # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049D;N # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049E;N # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049F;N # CYRILLIC SMALL LETTER KA WITH STROKE
-04A0;N # CYRILLIC CAPITAL LETTER BASHKIR KA
-04A1;N # CYRILLIC SMALL LETTER BASHKIR KA
-04A2;N # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A3;N # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A4;N # CYRILLIC CAPITAL LIGATURE EN GHE
-04A5;N # CYRILLIC SMALL LIGATURE EN GHE
-04A6;N # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A7;N # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A8;N # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04A9;N # CYRILLIC SMALL LETTER ABKHASIAN HA
-04AA;N # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AB;N # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AC;N # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AD;N # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AE;N # CYRILLIC CAPITAL LETTER STRAIGHT U
-04AF;N # CYRILLIC SMALL LETTER STRAIGHT U
-04B0;N # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B1;N # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B2;N # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B3;N # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B4;N # CYRILLIC CAPITAL LIGATURE TE TSE
-04B5;N # CYRILLIC SMALL LIGATURE TE TSE
-04B6;N # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B7;N # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B8;N # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04B9;N # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BA;N # CYRILLIC CAPITAL LETTER SHHA
-04BB;N # CYRILLIC SMALL LETTER SHHA
-04BC;N # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BD;N # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BE;N # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04BF;N # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0;N # CYRILLIC LETTER PALOCHKA
-04C1;N # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C2;N # CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C3;N # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C4;N # CYRILLIC SMALL LETTER KA WITH HOOK
-04C5;N # CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C6;N # CYRILLIC SMALL LETTER EL WITH TAIL
-04C7;N # CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C8;N # CYRILLIC SMALL LETTER EN WITH HOOK
-04C9;N # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CA;N # CYRILLIC SMALL LETTER EN WITH TAIL
-04CB;N # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CC;N # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CD;N # CYRILLIC CAPITAL LETTER EM WITH TAIL
-04CE;N # CYRILLIC SMALL LETTER EM WITH TAIL
-04CF;N # CYRILLIC SMALL LETTER PALOCHKA
-04D0;N # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D1;N # CYRILLIC SMALL LETTER A WITH BREVE
-04D2;N # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D3;N # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D4;N # CYRILLIC CAPITAL LIGATURE A IE
-04D5;N # CYRILLIC SMALL LIGATURE A IE
-04D6;N # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D7;N # CYRILLIC SMALL LETTER IE WITH BREVE
-04D8;N # CYRILLIC CAPITAL LETTER SCHWA
-04D9;N # CYRILLIC SMALL LETTER SCHWA
-04DA;N # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DB;N # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DC;N # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DD;N # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DE;N # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04DF;N # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E0;N # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E1;N # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E2;N # CYRILLIC CAPITAL LETTER I WITH MACRON
-04E3;N # CYRILLIC SMALL LETTER I WITH MACRON
-04E4;N # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E5;N # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E6;N # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E7;N # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E8;N # CYRILLIC CAPITAL LETTER BARRED O
-04E9;N # CYRILLIC SMALL LETTER BARRED O
-04EA;N # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EB;N # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EC;N # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04ED;N # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EE;N # CYRILLIC CAPITAL LETTER U WITH MACRON
-04EF;N # CYRILLIC SMALL LETTER U WITH MACRON
-04F0;N # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F1;N # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F2;N # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F3;N # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F4;N # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F5;N # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F6;N # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F7;N # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F8;N # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04F9;N # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FA;N # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FB;N # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FC;N # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FD;N # CYRILLIC SMALL LETTER HA WITH HOOK
-04FE;N # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04FF;N # CYRILLIC SMALL LETTER HA WITH STROKE
-0500;N # CYRILLIC CAPITAL LETTER KOMI DE
-0501;N # CYRILLIC SMALL LETTER KOMI DE
-0502;N # CYRILLIC CAPITAL LETTER KOMI DJE
-0503;N # CYRILLIC SMALL LETTER KOMI DJE
-0504;N # CYRILLIC CAPITAL LETTER KOMI ZJE
-0505;N # CYRILLIC SMALL LETTER KOMI ZJE
-0506;N # CYRILLIC CAPITAL LETTER KOMI DZJE
-0507;N # CYRILLIC SMALL LETTER KOMI DZJE
-0508;N # CYRILLIC CAPITAL LETTER KOMI LJE
-0509;N # CYRILLIC SMALL LETTER KOMI LJE
-050A;N # CYRILLIC CAPITAL LETTER KOMI NJE
-050B;N # CYRILLIC SMALL LETTER KOMI NJE
-050C;N # CYRILLIC CAPITAL LETTER KOMI SJE
-050D;N # CYRILLIC SMALL LETTER KOMI SJE
-050E;N # CYRILLIC CAPITAL LETTER KOMI TJE
-050F;N # CYRILLIC SMALL LETTER KOMI TJE
-0510;N # CYRILLIC CAPITAL LETTER REVERSED ZE
-0511;N # CYRILLIC SMALL LETTER REVERSED ZE
-0512;N # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0513;N # CYRILLIC SMALL LETTER EL WITH HOOK
-0514;N # CYRILLIC CAPITAL LETTER LHA
-0515;N # CYRILLIC SMALL LETTER LHA
-0516;N # CYRILLIC CAPITAL LETTER RHA
-0517;N # CYRILLIC SMALL LETTER RHA
-0518;N # CYRILLIC CAPITAL LETTER YAE
-0519;N # CYRILLIC SMALL LETTER YAE
-051A;N # CYRILLIC CAPITAL LETTER QA
-051B;N # CYRILLIC SMALL LETTER QA
-051C;N # CYRILLIC CAPITAL LETTER WE
-051D;N # CYRILLIC SMALL LETTER WE
-051E;N # CYRILLIC CAPITAL LETTER ALEUT KA
-051F;N # CYRILLIC SMALL LETTER ALEUT KA
-0520;N # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0521;N # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0522;N # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0523;N # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0524;N # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0525;N # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531;N # ARMENIAN CAPITAL LETTER AYB
-0532;N # ARMENIAN CAPITAL LETTER BEN
-0533;N # ARMENIAN CAPITAL LETTER GIM
-0534;N # ARMENIAN CAPITAL LETTER DA
-0535;N # ARMENIAN CAPITAL LETTER ECH
-0536;N # ARMENIAN CAPITAL LETTER ZA
-0537;N # ARMENIAN CAPITAL LETTER EH
-0538;N # ARMENIAN CAPITAL LETTER ET
-0539;N # ARMENIAN CAPITAL LETTER TO
-053A;N # ARMENIAN CAPITAL LETTER ZHE
-053B;N # ARMENIAN CAPITAL LETTER INI
-053C;N # ARMENIAN CAPITAL LETTER LIWN
-053D;N # ARMENIAN CAPITAL LETTER XEH
-053E;N # ARMENIAN CAPITAL LETTER CA
-053F;N # ARMENIAN CAPITAL LETTER KEN
-0540;N # ARMENIAN CAPITAL LETTER HO
-0541;N # ARMENIAN CAPITAL LETTER JA
-0542;N # ARMENIAN CAPITAL LETTER GHAD
-0543;N # ARMENIAN CAPITAL LETTER CHEH
-0544;N # ARMENIAN CAPITAL LETTER MEN
-0545;N # ARMENIAN CAPITAL LETTER YI
-0546;N # ARMENIAN CAPITAL LETTER NOW
-0547;N # ARMENIAN CAPITAL LETTER SHA
-0548;N # ARMENIAN CAPITAL LETTER VO
-0549;N # ARMENIAN CAPITAL LETTER CHA
-054A;N # ARMENIAN CAPITAL LETTER PEH
-054B;N # ARMENIAN CAPITAL LETTER JHEH
-054C;N # ARMENIAN CAPITAL LETTER RA
-054D;N # ARMENIAN CAPITAL LETTER SEH
-054E;N # ARMENIAN CAPITAL LETTER VEW
-054F;N # ARMENIAN CAPITAL LETTER TIWN
-0550;N # ARMENIAN CAPITAL LETTER REH
-0551;N # ARMENIAN CAPITAL LETTER CO
-0552;N # ARMENIAN CAPITAL LETTER YIWN
-0553;N # ARMENIAN CAPITAL LETTER PIWR
-0554;N # ARMENIAN CAPITAL LETTER KEH
-0555;N # ARMENIAN CAPITAL LETTER OH
-0556;N # ARMENIAN CAPITAL LETTER FEH
-0559;N # ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A;N # ARMENIAN APOSTROPHE
-055B;N # ARMENIAN EMPHASIS MARK
-055C;N # ARMENIAN EXCLAMATION MARK
-055D;N # ARMENIAN COMMA
-055E;N # ARMENIAN QUESTION MARK
-055F;N # ARMENIAN ABBREVIATION MARK
-0561;N # ARMENIAN SMALL LETTER AYB
-0562;N # ARMENIAN SMALL LETTER BEN
-0563;N # ARMENIAN SMALL LETTER GIM
-0564;N # ARMENIAN SMALL LETTER DA
-0565;N # ARMENIAN SMALL LETTER ECH
-0566;N # ARMENIAN SMALL LETTER ZA
-0567;N # ARMENIAN SMALL LETTER EH
-0568;N # ARMENIAN SMALL LETTER ET
-0569;N # ARMENIAN SMALL LETTER TO
-056A;N # ARMENIAN SMALL LETTER ZHE
-056B;N # ARMENIAN SMALL LETTER INI
-056C;N # ARMENIAN SMALL LETTER LIWN
-056D;N # ARMENIAN SMALL LETTER XEH
-056E;N # ARMENIAN SMALL LETTER CA
-056F;N # ARMENIAN SMALL LETTER KEN
-0570;N # ARMENIAN SMALL LETTER HO
-0571;N # ARMENIAN SMALL LETTER JA
-0572;N # ARMENIAN SMALL LETTER GHAD
-0573;N # ARMENIAN SMALL LETTER CHEH
-0574;N # ARMENIAN SMALL LETTER MEN
-0575;N # ARMENIAN SMALL LETTER YI
-0576;N # ARMENIAN SMALL LETTER NOW
-0577;N # ARMENIAN SMALL LETTER SHA
-0578;N # ARMENIAN SMALL LETTER VO
-0579;N # ARMENIAN SMALL LETTER CHA
-057A;N # ARMENIAN SMALL LETTER PEH
-057B;N # ARMENIAN SMALL LETTER JHEH
-057C;N # ARMENIAN SMALL LETTER RA
-057D;N # ARMENIAN SMALL LETTER SEH
-057E;N # ARMENIAN SMALL LETTER VEW
-057F;N # ARMENIAN SMALL LETTER TIWN
-0580;N # ARMENIAN SMALL LETTER REH
-0581;N # ARMENIAN SMALL LETTER CO
-0582;N # ARMENIAN SMALL LETTER YIWN
-0583;N # ARMENIAN SMALL LETTER PIWR
-0584;N # ARMENIAN SMALL LETTER KEH
-0585;N # ARMENIAN SMALL LETTER OH
-0586;N # ARMENIAN SMALL LETTER FEH
-0587;N # ARMENIAN SMALL LIGATURE ECH YIWN
-0589;N # ARMENIAN FULL STOP
-058A;N # ARMENIAN HYPHEN
-0591;N # HEBREW ACCENT ETNAHTA
-0592;N # HEBREW ACCENT SEGOL
-0593;N # HEBREW ACCENT SHALSHELET
-0594;N # HEBREW ACCENT ZAQEF QATAN
-0595;N # HEBREW ACCENT ZAQEF GADOL
-0596;N # HEBREW ACCENT TIPEHA
-0597;N # HEBREW ACCENT REVIA
-0598;N # HEBREW ACCENT ZARQA
-0599;N # HEBREW ACCENT PASHTA
-059A;N # HEBREW ACCENT YETIV
-059B;N # HEBREW ACCENT TEVIR
-059C;N # HEBREW ACCENT GERESH
-059D;N # HEBREW ACCENT GERESH MUQDAM
-059E;N # HEBREW ACCENT GERSHAYIM
-059F;N # HEBREW ACCENT QARNEY PARA
-05A0;N # HEBREW ACCENT TELISHA GEDOLA
-05A1;N # HEBREW ACCENT PAZER
-05A2;N # HEBREW ACCENT ATNAH HAFUKH
-05A3;N # HEBREW ACCENT MUNAH
-05A4;N # HEBREW ACCENT MAHAPAKH
-05A5;N # HEBREW ACCENT MERKHA
-05A6;N # HEBREW ACCENT MERKHA KEFULA
-05A7;N # HEBREW ACCENT DARGA
-05A8;N # HEBREW ACCENT QADMA
-05A9;N # HEBREW ACCENT TELISHA QETANA
-05AA;N # HEBREW ACCENT YERAH BEN YOMO
-05AB;N # HEBREW ACCENT OLE
-05AC;N # HEBREW ACCENT ILUY
-05AD;N # HEBREW ACCENT DEHI
-05AE;N # HEBREW ACCENT ZINOR
-05AF;N # HEBREW MARK MASORA CIRCLE
-05B0;N # HEBREW POINT SHEVA
-05B1;N # HEBREW POINT HATAF SEGOL
-05B2;N # HEBREW POINT HATAF PATAH
-05B3;N # HEBREW POINT HATAF QAMATS
-05B4;N # HEBREW POINT HIRIQ
-05B5;N # HEBREW POINT TSERE
-05B6;N # HEBREW POINT SEGOL
-05B7;N # HEBREW POINT PATAH
-05B8;N # HEBREW POINT QAMATS
-05B9;N # HEBREW POINT HOLAM
-05BA;N # HEBREW POINT HOLAM HASER FOR VAV
-05BB;N # HEBREW POINT QUBUTS
-05BC;N # HEBREW POINT DAGESH OR MAPIQ
-05BD;N # HEBREW POINT METEG
-05BE;N # HEBREW PUNCTUATION MAQAF
-05BF;N # HEBREW POINT RAFE
-05C0;N # HEBREW PUNCTUATION PASEQ
-05C1;N # HEBREW POINT SHIN DOT
-05C2;N # HEBREW POINT SIN DOT
-05C3;N # HEBREW PUNCTUATION SOF PASUQ
-05C4;N # HEBREW MARK UPPER DOT
-05C5;N # HEBREW MARK LOWER DOT
-05C6;N # HEBREW PUNCTUATION NUN HAFUKHA
-05C7;N # HEBREW POINT QAMATS QATAN
-05D0;N # HEBREW LETTER ALEF
-05D1;N # HEBREW LETTER BET
-05D2;N # HEBREW LETTER GIMEL
-05D3;N # HEBREW LETTER DALET
-05D4;N # HEBREW LETTER HE
-05D5;N # HEBREW LETTER VAV
-05D6;N # HEBREW LETTER ZAYIN
-05D7;N # HEBREW LETTER HET
-05D8;N # HEBREW LETTER TET
-05D9;N # HEBREW LETTER YOD
-05DA;N # HEBREW LETTER FINAL KAF
-05DB;N # HEBREW LETTER KAF
-05DC;N # HEBREW LETTER LAMED
-05DD;N # HEBREW LETTER FINAL MEM
-05DE;N # HEBREW LETTER MEM
-05DF;N # HEBREW LETTER FINAL NUN
-05E0;N # HEBREW LETTER NUN
-05E1;N # HEBREW LETTER SAMEKH
-05E2;N # HEBREW LETTER AYIN
-05E3;N # HEBREW LETTER FINAL PE
-05E4;N # HEBREW LETTER PE
-05E5;N # HEBREW LETTER FINAL TSADI
-05E6;N # HEBREW LETTER TSADI
-05E7;N # HEBREW LETTER QOF
-05E8;N # HEBREW LETTER RESH
-05E9;N # HEBREW LETTER SHIN
-05EA;N # HEBREW LETTER TAV
-05F0;N # HEBREW LIGATURE YIDDISH DOUBLE VAV
-05F1;N # HEBREW LIGATURE YIDDISH VAV YOD
-05F2;N # HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3;N # HEBREW PUNCTUATION GERESH
-05F4;N # HEBREW PUNCTUATION GERSHAYIM
-0600;N # ARABIC NUMBER SIGN
-0601;N # ARABIC SIGN SANAH
-0602;N # ARABIC FOOTNOTE MARKER
-0603;N # ARABIC SIGN SAFHA
-0606;N # ARABIC-INDIC CUBE ROOT
-0607;N # ARABIC-INDIC FOURTH ROOT
-0608;N # ARABIC RAY
-0609;N # ARABIC-INDIC PER MILLE SIGN
-060A;N # ARABIC-INDIC PER TEN THOUSAND SIGN
-060B;N # AFGHANI SIGN
-060C;N # ARABIC COMMA
-060D;N # ARABIC DATE SEPARATOR
-060E;N # ARABIC POETIC VERSE SIGN
-060F;N # ARABIC SIGN MISRA
-0610;N # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
-0611;N # ARABIC SIGN ALAYHE ASSALLAM
-0612;N # ARABIC SIGN RAHMATULLAH ALAYHE
-0613;N # ARABIC SIGN RADI ALLAHOU ANHU
-0614;N # ARABIC SIGN TAKHALLUS
-0615;N # ARABIC SMALL HIGH TAH
-0616;N # ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
-0617;N # ARABIC SMALL HIGH ZAIN
-0618;N # ARABIC SMALL FATHA
-0619;N # ARABIC SMALL DAMMA
-061A;N # ARABIC SMALL KASRA
-061B;N # ARABIC SEMICOLON
-061E;N # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F;N # ARABIC QUESTION MARK
-0621;N # ARABIC LETTER HAMZA
-0622;N # ARABIC LETTER ALEF WITH MADDA ABOVE
-0623;N # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0624;N # ARABIC LETTER WAW WITH HAMZA ABOVE
-0625;N # ARABIC LETTER ALEF WITH HAMZA BELOW
-0626;N # ARABIC LETTER YEH WITH HAMZA ABOVE
-0627;N # ARABIC LETTER ALEF
-0628;N # ARABIC LETTER BEH
-0629;N # ARABIC LETTER TEH MARBUTA
-062A;N # ARABIC LETTER TEH
-062B;N # ARABIC LETTER THEH
-062C;N # ARABIC LETTER JEEM
-062D;N # ARABIC LETTER HAH
-062E;N # ARABIC LETTER KHAH
-062F;N # ARABIC LETTER DAL
-0630;N # ARABIC LETTER THAL
-0631;N # ARABIC LETTER REH
-0632;N # ARABIC LETTER ZAIN
-0633;N # ARABIC LETTER SEEN
-0634;N # ARABIC LETTER SHEEN
-0635;N # ARABIC LETTER SAD
-0636;N # ARABIC LETTER DAD
-0637;N # ARABIC LETTER TAH
-0638;N # ARABIC LETTER ZAH
-0639;N # ARABIC LETTER AIN
-063A;N # ARABIC LETTER GHAIN
-063B;N # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C;N # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-063D;N # ARABIC LETTER FARSI YEH WITH INVERTED V
-063E;N # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F;N # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640;N # ARABIC TATWEEL
-0641;N # ARABIC LETTER FEH
-0642;N # ARABIC LETTER QAF
-0643;N # ARABIC LETTER KAF
-0644;N # ARABIC LETTER LAM
-0645;N # ARABIC LETTER MEEM
-0646;N # ARABIC LETTER NOON
-0647;N # ARABIC LETTER HEH
-0648;N # ARABIC LETTER WAW
-0649;N # ARABIC LETTER ALEF MAKSURA
-064A;N # ARABIC LETTER YEH
-064B;N # ARABIC FATHATAN
-064C;N # ARABIC DAMMATAN
-064D;N # ARABIC KASRATAN
-064E;N # ARABIC FATHA
-064F;N # ARABIC DAMMA
-0650;N # ARABIC KASRA
-0651;N # ARABIC SHADDA
-0652;N # ARABIC SUKUN
-0653;N # ARABIC MADDAH ABOVE
-0654;N # ARABIC HAMZA ABOVE
-0655;N # ARABIC HAMZA BELOW
-0656;N # ARABIC SUBSCRIPT ALEF
-0657;N # ARABIC INVERTED DAMMA
-0658;N # ARABIC MARK NOON GHUNNA
-0659;N # ARABIC ZWARAKAY
-065A;N # ARABIC VOWEL SIGN SMALL V ABOVE
-065B;N # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C;N # ARABIC VOWEL SIGN DOT BELOW
-065D;N # ARABIC REVERSED DAMMA
-065E;N # ARABIC FATHA WITH TWO DOTS
-0660;N # ARABIC-INDIC DIGIT ZERO
-0661;N # ARABIC-INDIC DIGIT ONE
-0662;N # ARABIC-INDIC DIGIT TWO
-0663;N # ARABIC-INDIC DIGIT THREE
-0664;N # ARABIC-INDIC DIGIT FOUR
-0665;N # ARABIC-INDIC DIGIT FIVE
-0666;N # ARABIC-INDIC DIGIT SIX
-0667;N # ARABIC-INDIC DIGIT SEVEN
-0668;N # ARABIC-INDIC DIGIT EIGHT
-0669;N # ARABIC-INDIC DIGIT NINE
-066A;N # ARABIC PERCENT SIGN
-066B;N # ARABIC DECIMAL SEPARATOR
-066C;N # ARABIC THOUSANDS SEPARATOR
-066D;N # ARABIC FIVE POINTED STAR
-066E;N # ARABIC LETTER DOTLESS BEH
-066F;N # ARABIC LETTER DOTLESS QAF
-0670;N # ARABIC LETTER SUPERSCRIPT ALEF
-0671;N # ARABIC LETTER ALEF WASLA
-0672;N # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0673;N # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0674;N # ARABIC LETTER HIGH HAMZA
-0675;N # ARABIC LETTER HIGH HAMZA ALEF
-0676;N # ARABIC LETTER HIGH HAMZA WAW
-0677;N # ARABIC LETTER U WITH HAMZA ABOVE
-0678;N # ARABIC LETTER HIGH HAMZA YEH
-0679;N # ARABIC LETTER TTEH
-067A;N # ARABIC LETTER TTEHEH
-067B;N # ARABIC LETTER BEEH
-067C;N # ARABIC LETTER TEH WITH RING
-067D;N # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067E;N # ARABIC LETTER PEH
-067F;N # ARABIC LETTER TEHEH
-0680;N # ARABIC LETTER BEHEH
-0681;N # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682;N # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0683;N # ARABIC LETTER NYEH
-0684;N # ARABIC LETTER DYEH
-0685;N # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0686;N # ARABIC LETTER TCHEH
-0687;N # ARABIC LETTER TCHEHEH
-0688;N # ARABIC LETTER DDAL
-0689;N # ARABIC LETTER DAL WITH RING
-068A;N # ARABIC LETTER DAL WITH DOT BELOW
-068B;N # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C;N # ARABIC LETTER DAHAL
-068D;N # ARABIC LETTER DDAHAL
-068E;N # ARABIC LETTER DUL
-068F;N # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690;N # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-0691;N # ARABIC LETTER RREH
-0692;N # ARABIC LETTER REH WITH SMALL V
-0693;N # ARABIC LETTER REH WITH RING
-0694;N # ARABIC LETTER REH WITH DOT BELOW
-0695;N # ARABIC LETTER REH WITH SMALL V BELOW
-0696;N # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697;N # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698;N # ARABIC LETTER JEH
-0699;N # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-069A;N # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B;N # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C;N # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-069D;N # ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E;N # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-069F;N # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-06A0;N # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06A1;N # ARABIC LETTER DOTLESS FEH
-06A2;N # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3;N # ARABIC LETTER FEH WITH DOT BELOW
-06A4;N # ARABIC LETTER VEH
-06A5;N # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6;N # ARABIC LETTER PEHEH
-06A7;N # ARABIC LETTER QAF WITH DOT ABOVE
-06A8;N # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-06A9;N # ARABIC LETTER KEHEH
-06AA;N # ARABIC LETTER SWASH KAF
-06AB;N # ARABIC LETTER KAF WITH RING
-06AC;N # ARABIC LETTER KAF WITH DOT ABOVE
-06AD;N # ARABIC LETTER NG
-06AE;N # ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF;N # ARABIC LETTER GAF
-06B0;N # ARABIC LETTER GAF WITH RING
-06B1;N # ARABIC LETTER NGOEH
-06B2;N # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3;N # ARABIC LETTER GUEH
-06B4;N # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-06B5;N # ARABIC LETTER LAM WITH SMALL V
-06B6;N # ARABIC LETTER LAM WITH DOT ABOVE
-06B7;N # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8;N # ARABIC LETTER LAM WITH THREE DOTS BELOW
-06B9;N # ARABIC LETTER NOON WITH DOT BELOW
-06BA;N # ARABIC LETTER NOON GHUNNA
-06BB;N # ARABIC LETTER RNOON
-06BC;N # ARABIC LETTER NOON WITH RING
-06BD;N # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06BE;N # ARABIC LETTER HEH DOACHASHMEE
-06BF;N # ARABIC LETTER TCHEH WITH DOT ABOVE
-06C0;N # ARABIC LETTER HEH WITH YEH ABOVE
-06C1;N # ARABIC LETTER HEH GOAL
-06C2;N # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C3;N # ARABIC LETTER TEH MARBUTA GOAL
-06C4;N # ARABIC LETTER WAW WITH RING
-06C5;N # ARABIC LETTER KIRGHIZ OE
-06C6;N # ARABIC LETTER OE
-06C7;N # ARABIC LETTER U
-06C8;N # ARABIC LETTER YU
-06C9;N # ARABIC LETTER KIRGHIZ YU
-06CA;N # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB;N # ARABIC LETTER VE
-06CC;N # ARABIC LETTER FARSI YEH
-06CD;N # ARABIC LETTER YEH WITH TAIL
-06CE;N # ARABIC LETTER YEH WITH SMALL V
-06CF;N # ARABIC LETTER WAW WITH DOT ABOVE
-06D0;N # ARABIC LETTER E
-06D1;N # ARABIC LETTER YEH WITH THREE DOTS BELOW
-06D2;N # ARABIC LETTER YEH BARREE
-06D3;N # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4;N # ARABIC FULL STOP
-06D5;N # ARABIC LETTER AE
-06D6;N # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
-06D7;N # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
-06D8;N # ARABIC SMALL HIGH MEEM INITIAL FORM
-06D9;N # ARABIC SMALL HIGH LAM ALEF
-06DA;N # ARABIC SMALL HIGH JEEM
-06DB;N # ARABIC SMALL HIGH THREE DOTS
-06DC;N # ARABIC SMALL HIGH SEEN
-06DD;N # ARABIC END OF AYAH
-06DE;N # ARABIC START OF RUB EL HIZB
-06DF;N # ARABIC SMALL HIGH ROUNDED ZERO
-06E0;N # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
-06E1;N # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
-06E2;N # ARABIC SMALL HIGH MEEM ISOLATED FORM
-06E3;N # ARABIC SMALL LOW SEEN
-06E4;N # ARABIC SMALL HIGH MADDA
-06E5;N # ARABIC SMALL WAW
-06E6;N # ARABIC SMALL YEH
-06E7;N # ARABIC SMALL HIGH YEH
-06E8;N # ARABIC SMALL HIGH NOON
-06E9;N # ARABIC PLACE OF SAJDAH
-06EA;N # ARABIC EMPTY CENTRE LOW STOP
-06EB;N # ARABIC EMPTY CENTRE HIGH STOP
-06EC;N # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
-06ED;N # ARABIC SMALL LOW MEEM
-06EE;N # ARABIC LETTER DAL WITH INVERTED V
-06EF;N # ARABIC LETTER REH WITH INVERTED V
-06F0;N # EXTENDED ARABIC-INDIC DIGIT ZERO
-06F1;N # EXTENDED ARABIC-INDIC DIGIT ONE
-06F2;N # EXTENDED ARABIC-INDIC DIGIT TWO
-06F3;N # EXTENDED ARABIC-INDIC DIGIT THREE
-06F4;N # EXTENDED ARABIC-INDIC DIGIT FOUR
-06F5;N # EXTENDED ARABIC-INDIC DIGIT FIVE
-06F6;N # EXTENDED ARABIC-INDIC DIGIT SIX
-06F7;N # EXTENDED ARABIC-INDIC DIGIT SEVEN
-06F8;N # EXTENDED ARABIC-INDIC DIGIT EIGHT
-06F9;N # EXTENDED ARABIC-INDIC DIGIT NINE
-06FA;N # ARABIC LETTER SHEEN WITH DOT BELOW
-06FB;N # ARABIC LETTER DAD WITH DOT BELOW
-06FC;N # ARABIC LETTER GHAIN WITH DOT BELOW
-06FD;N # ARABIC SIGN SINDHI AMPERSAND
-06FE;N # ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF;N # ARABIC LETTER HEH WITH INVERTED V
-0700;N # SYRIAC END OF PARAGRAPH
-0701;N # SYRIAC SUPRALINEAR FULL STOP
-0702;N # SYRIAC SUBLINEAR FULL STOP
-0703;N # SYRIAC SUPRALINEAR COLON
-0704;N # SYRIAC SUBLINEAR COLON
-0705;N # SYRIAC HORIZONTAL COLON
-0706;N # SYRIAC COLON SKEWED LEFT
-0707;N # SYRIAC COLON SKEWED RIGHT
-0708;N # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709;N # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A;N # SYRIAC CONTRACTION
-070B;N # SYRIAC HARKLEAN OBELUS
-070C;N # SYRIAC HARKLEAN METOBELUS
-070D;N # SYRIAC HARKLEAN ASTERISCUS
-070F;N # SYRIAC ABBREVIATION MARK
-0710;N # SYRIAC LETTER ALAPH
-0711;N # SYRIAC LETTER SUPERSCRIPT ALAPH
-0712;N # SYRIAC LETTER BETH
-0713;N # SYRIAC LETTER GAMAL
-0714;N # SYRIAC LETTER GAMAL GARSHUNI
-0715;N # SYRIAC LETTER DALATH
-0716;N # SYRIAC LETTER DOTLESS DALATH RISH
-0717;N # SYRIAC LETTER HE
-0718;N # SYRIAC LETTER WAW
-0719;N # SYRIAC LETTER ZAIN
-071A;N # SYRIAC LETTER HETH
-071B;N # SYRIAC LETTER TETH
-071C;N # SYRIAC LETTER TETH GARSHUNI
-071D;N # SYRIAC LETTER YUDH
-071E;N # SYRIAC LETTER YUDH HE
-071F;N # SYRIAC LETTER KAPH
-0720;N # SYRIAC LETTER LAMADH
-0721;N # SYRIAC LETTER MIM
-0722;N # SYRIAC LETTER NUN
-0723;N # SYRIAC LETTER SEMKATH
-0724;N # SYRIAC LETTER FINAL SEMKATH
-0725;N # SYRIAC LETTER E
-0726;N # SYRIAC LETTER PE
-0727;N # SYRIAC LETTER REVERSED PE
-0728;N # SYRIAC LETTER SADHE
-0729;N # SYRIAC LETTER QAPH
-072A;N # SYRIAC LETTER RISH
-072B;N # SYRIAC LETTER SHIN
-072C;N # SYRIAC LETTER TAW
-072D;N # SYRIAC LETTER PERSIAN BHETH
-072E;N # SYRIAC LETTER PERSIAN GHAMAL
-072F;N # SYRIAC LETTER PERSIAN DHALATH
-0730;N # SYRIAC PTHAHA ABOVE
-0731;N # SYRIAC PTHAHA BELOW
-0732;N # SYRIAC PTHAHA DOTTED
-0733;N # SYRIAC ZQAPHA ABOVE
-0734;N # SYRIAC ZQAPHA BELOW
-0735;N # SYRIAC ZQAPHA DOTTED
-0736;N # SYRIAC RBASA ABOVE
-0737;N # SYRIAC RBASA BELOW
-0738;N # SYRIAC DOTTED ZLAMA HORIZONTAL
-0739;N # SYRIAC DOTTED ZLAMA ANGULAR
-073A;N # SYRIAC HBASA ABOVE
-073B;N # SYRIAC HBASA BELOW
-073C;N # SYRIAC HBASA-ESASA DOTTED
-073D;N # SYRIAC ESASA ABOVE
-073E;N # SYRIAC ESASA BELOW
-073F;N # SYRIAC RWAHA
-0740;N # SYRIAC FEMININE DOT
-0741;N # SYRIAC QUSHSHAYA
-0742;N # SYRIAC RUKKAKHA
-0743;N # SYRIAC TWO VERTICAL DOTS ABOVE
-0744;N # SYRIAC TWO VERTICAL DOTS BELOW
-0745;N # SYRIAC THREE DOTS ABOVE
-0746;N # SYRIAC THREE DOTS BELOW
-0747;N # SYRIAC OBLIQUE LINE ABOVE
-0748;N # SYRIAC OBLIQUE LINE BELOW
-0749;N # SYRIAC MUSIC
-074A;N # SYRIAC BARREKH
-074D;N # SYRIAC LETTER SOGDIAN ZHAIN
-074E;N # SYRIAC LETTER SOGDIAN KHAPH
-074F;N # SYRIAC LETTER SOGDIAN FE
-0750;N # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751;N # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752;N # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753;N # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754;N # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755;N # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756;N # ARABIC LETTER BEH WITH SMALL V
-0757;N # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758;N # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-0759;N # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A;N # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-075B;N # ARABIC LETTER REH WITH STROKE
-075C;N # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-075D;N # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E;N # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F;N # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0760;N # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761;N # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-0762;N # ARABIC LETTER KEHEH WITH DOT ABOVE
-0763;N # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764;N # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0765;N # ARABIC LETTER MEEM WITH DOT ABOVE
-0766;N # ARABIC LETTER MEEM WITH DOT BELOW
-0767;N # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768;N # ARABIC LETTER NOON WITH SMALL TAH
-0769;N # ARABIC LETTER NOON WITH SMALL V
-076A;N # ARABIC LETTER LAM WITH BAR
-076B;N # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C;N # ARABIC LETTER REH WITH HAMZA ABOVE
-076D;N # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-076E;N # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F;N # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0770;N # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0771;N # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772;N # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-0773;N # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774;N # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0775;N # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776;N # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777;N # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-0778;N # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779;N # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077A;N # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B;N # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077C;N # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-077D;N # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E;N # ARABIC LETTER SEEN WITH INVERTED V
-077F;N # ARABIC LETTER KAF WITH TWO DOTS ABOVE
-0780;N # THAANA LETTER HAA
-0781;N # THAANA LETTER SHAVIYANI
-0782;N # THAANA LETTER NOONU
-0783;N # THAANA LETTER RAA
-0784;N # THAANA LETTER BAA
-0785;N # THAANA LETTER LHAVIYANI
-0786;N # THAANA LETTER KAAFU
-0787;N # THAANA LETTER ALIFU
-0788;N # THAANA LETTER VAAVU
-0789;N # THAANA LETTER MEEMU
-078A;N # THAANA LETTER FAAFU
-078B;N # THAANA LETTER DHAALU
-078C;N # THAANA LETTER THAA
-078D;N # THAANA LETTER LAAMU
-078E;N # THAANA LETTER GAAFU
-078F;N # THAANA LETTER GNAVIYANI
-0790;N # THAANA LETTER SEENU
-0791;N # THAANA LETTER DAVIYANI
-0792;N # THAANA LETTER ZAVIYANI
-0793;N # THAANA LETTER TAVIYANI
-0794;N # THAANA LETTER YAA
-0795;N # THAANA LETTER PAVIYANI
-0796;N # THAANA LETTER JAVIYANI
-0797;N # THAANA LETTER CHAVIYANI
-0798;N # THAANA LETTER TTAA
-0799;N # THAANA LETTER HHAA
-079A;N # THAANA LETTER KHAA
-079B;N # THAANA LETTER THAALU
-079C;N # THAANA LETTER ZAA
-079D;N # THAANA LETTER SHEENU
-079E;N # THAANA LETTER SAADHU
-079F;N # THAANA LETTER DAADHU
-07A0;N # THAANA LETTER TO
-07A1;N # THAANA LETTER ZO
-07A2;N # THAANA LETTER AINU
-07A3;N # THAANA LETTER GHAINU
-07A4;N # THAANA LETTER QAAFU
-07A5;N # THAANA LETTER WAAVU
-07A6;N # THAANA ABAFILI
-07A7;N # THAANA AABAAFILI
-07A8;N # THAANA IBIFILI
-07A9;N # THAANA EEBEEFILI
-07AA;N # THAANA UBUFILI
-07AB;N # THAANA OOBOOFILI
-07AC;N # THAANA EBEFILI
-07AD;N # THAANA EYBEYFILI
-07AE;N # THAANA OBOFILI
-07AF;N # THAANA OABOAFILI
-07B0;N # THAANA SUKUN
-07B1;N # THAANA LETTER NAA
-07C0;N # NKO DIGIT ZERO
-07C1;N # NKO DIGIT ONE
-07C2;N # NKO DIGIT TWO
-07C3;N # NKO DIGIT THREE
-07C4;N # NKO DIGIT FOUR
-07C5;N # NKO DIGIT FIVE
-07C6;N # NKO DIGIT SIX
-07C7;N # NKO DIGIT SEVEN
-07C8;N # NKO DIGIT EIGHT
-07C9;N # NKO DIGIT NINE
-07CA;N # NKO LETTER A
-07CB;N # NKO LETTER EE
-07CC;N # NKO LETTER I
-07CD;N # NKO LETTER E
-07CE;N # NKO LETTER U
-07CF;N # NKO LETTER OO
-07D0;N # NKO LETTER O
-07D1;N # NKO LETTER DAGBASINNA
-07D2;N # NKO LETTER N
-07D3;N # NKO LETTER BA
-07D4;N # NKO LETTER PA
-07D5;N # NKO LETTER TA
-07D6;N # NKO LETTER JA
-07D7;N # NKO LETTER CHA
-07D8;N # NKO LETTER DA
-07D9;N # NKO LETTER RA
-07DA;N # NKO LETTER RRA
-07DB;N # NKO LETTER SA
-07DC;N # NKO LETTER GBA
-07DD;N # NKO LETTER FA
-07DE;N # NKO LETTER KA
-07DF;N # NKO LETTER LA
-07E0;N # NKO LETTER NA WOLOSO
-07E1;N # NKO LETTER MA
-07E2;N # NKO LETTER NYA
-07E3;N # NKO LETTER NA
-07E4;N # NKO LETTER HA
-07E5;N # NKO LETTER WA
-07E6;N # NKO LETTER YA
-07E7;N # NKO LETTER NYA WOLOSO
-07E8;N # NKO LETTER JONA JA
-07E9;N # NKO LETTER JONA CHA
-07EA;N # NKO LETTER JONA RA
-07EB;N # NKO COMBINING SHORT HIGH TONE
-07EC;N # NKO COMBINING SHORT LOW TONE
-07ED;N # NKO COMBINING SHORT RISING TONE
-07EE;N # NKO COMBINING LONG DESCENDING TONE
-07EF;N # NKO COMBINING LONG HIGH TONE
-07F0;N # NKO COMBINING LONG LOW TONE
-07F1;N # NKO COMBINING LONG RISING TONE
-07F2;N # NKO COMBINING NASALIZATION MARK
-07F3;N # NKO COMBINING DOUBLE DOT ABOVE
-07F4;N # NKO HIGH TONE APOSTROPHE
-07F5;N # NKO LOW TONE APOSTROPHE
-07F6;N # NKO SYMBOL OO DENNEN
-07F7;N # NKO SYMBOL GBAKURUNEN
-07F8;N # NKO COMMA
-07F9;N # NKO EXCLAMATION MARK
-07FA;N # NKO LAJANYALAN
-0800;N # SAMARITAN LETTER ALAF
-0801;N # SAMARITAN LETTER BIT
-0802;N # SAMARITAN LETTER GAMAN
-0803;N # SAMARITAN LETTER DALAT
-0804;N # SAMARITAN LETTER IY
-0805;N # SAMARITAN LETTER BAA
-0806;N # SAMARITAN LETTER ZEN
-0807;N # SAMARITAN LETTER IT
-0808;N # SAMARITAN LETTER TIT
-0809;N # SAMARITAN LETTER YUT
-080A;N # SAMARITAN LETTER KAAF
-080B;N # SAMARITAN LETTER LABAT
-080C;N # SAMARITAN LETTER MIM
-080D;N # SAMARITAN LETTER NUN
-080E;N # SAMARITAN LETTER SINGAAT
-080F;N # SAMARITAN LETTER IN
-0810;N # SAMARITAN LETTER FI
-0811;N # SAMARITAN LETTER TSAADIY
-0812;N # SAMARITAN LETTER QUF
-0813;N # SAMARITAN LETTER RISH
-0814;N # SAMARITAN LETTER SHAN
-0815;N # SAMARITAN LETTER TAAF
-0816;N # SAMARITAN MARK IN
-0817;N # SAMARITAN MARK IN-ALAF
-0818;N # SAMARITAN MARK OCCLUSION
-0819;N # SAMARITAN MARK DAGESH
-081A;N # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B;N # SAMARITAN MARK EPENTHETIC YUT
-081C;N # SAMARITAN VOWEL SIGN LONG E
-081D;N # SAMARITAN VOWEL SIGN E
-081E;N # SAMARITAN VOWEL SIGN OVERLONG AA
-081F;N # SAMARITAN VOWEL SIGN LONG AA
-0820;N # SAMARITAN VOWEL SIGN AA
-0821;N # SAMARITAN VOWEL SIGN OVERLONG A
-0822;N # SAMARITAN VOWEL SIGN LONG A
-0823;N # SAMARITAN VOWEL SIGN A
-0824;N # SAMARITAN MODIFIER LETTER SHORT A
-0825;N # SAMARITAN VOWEL SIGN SHORT A
-0826;N # SAMARITAN VOWEL SIGN LONG U
-0827;N # SAMARITAN VOWEL SIGN U
-0828;N # SAMARITAN MODIFIER LETTER I
-0829;N # SAMARITAN VOWEL SIGN LONG I
-082A;N # SAMARITAN VOWEL SIGN I
-082B;N # SAMARITAN VOWEL SIGN O
-082C;N # SAMARITAN VOWEL SIGN SUKUN
-082D;N # SAMARITAN MARK NEQUDAA
-0830;N # SAMARITAN PUNCTUATION NEQUDAA
-0831;N # SAMARITAN PUNCTUATION AFSAAQ
-0832;N # SAMARITAN PUNCTUATION ANGED
-0833;N # SAMARITAN PUNCTUATION BAU
-0834;N # SAMARITAN PUNCTUATION ATMAAU
-0835;N # SAMARITAN PUNCTUATION SHIYYAALAA
-0836;N # SAMARITAN ABBREVIATION MARK
-0837;N # SAMARITAN PUNCTUATION MELODIC QITSA
-0838;N # SAMARITAN PUNCTUATION ZIQAA
-0839;N # SAMARITAN PUNCTUATION QITSA
-083A;N # SAMARITAN PUNCTUATION ZAEF
-083B;N # SAMARITAN PUNCTUATION TURU
-083C;N # SAMARITAN PUNCTUATION ARKAANU
-083D;N # SAMARITAN PUNCTUATION SOF MASHFAAT
-083E;N # SAMARITAN PUNCTUATION ANNAAU
-0900;N # DEVANAGARI SIGN INVERTED CANDRABINDU
-0901;N # DEVANAGARI SIGN CANDRABINDU
-0902;N # DEVANAGARI SIGN ANUSVARA
-0903;N # DEVANAGARI SIGN VISARGA
-0904;N # DEVANAGARI LETTER SHORT A
-0905;N # DEVANAGARI LETTER A
-0906;N # DEVANAGARI LETTER AA
-0907;N # DEVANAGARI LETTER I
-0908;N # DEVANAGARI LETTER II
-0909;N # DEVANAGARI LETTER U
-090A;N # DEVANAGARI LETTER UU
-090B;N # DEVANAGARI LETTER VOCALIC R
-090C;N # DEVANAGARI LETTER VOCALIC L
-090D;N # DEVANAGARI LETTER CANDRA E
-090E;N # DEVANAGARI LETTER SHORT E
-090F;N # DEVANAGARI LETTER E
-0910;N # DEVANAGARI LETTER AI
-0911;N # DEVANAGARI LETTER CANDRA O
-0912;N # DEVANAGARI LETTER SHORT O
-0913;N # DEVANAGARI LETTER O
-0914;N # DEVANAGARI LETTER AU
-0915;N # DEVANAGARI LETTER KA
-0916;N # DEVANAGARI LETTER KHA
-0917;N # DEVANAGARI LETTER GA
-0918;N # DEVANAGARI LETTER GHA
-0919;N # DEVANAGARI LETTER NGA
-091A;N # DEVANAGARI LETTER CA
-091B;N # DEVANAGARI LETTER CHA
-091C;N # DEVANAGARI LETTER JA
-091D;N # DEVANAGARI LETTER JHA
-091E;N # DEVANAGARI LETTER NYA
-091F;N # DEVANAGARI LETTER TTA
-0920;N # DEVANAGARI LETTER TTHA
-0921;N # DEVANAGARI LETTER DDA
-0922;N # DEVANAGARI LETTER DDHA
-0923;N # DEVANAGARI LETTER NNA
-0924;N # DEVANAGARI LETTER TA
-0925;N # DEVANAGARI LETTER THA
-0926;N # DEVANAGARI LETTER DA
-0927;N # DEVANAGARI LETTER DHA
-0928;N # DEVANAGARI LETTER NA
-0929;N # DEVANAGARI LETTER NNNA
-092A;N # DEVANAGARI LETTER PA
-092B;N # DEVANAGARI LETTER PHA
-092C;N # DEVANAGARI LETTER BA
-092D;N # DEVANAGARI LETTER BHA
-092E;N # DEVANAGARI LETTER MA
-092F;N # DEVANAGARI LETTER YA
-0930;N # DEVANAGARI LETTER RA
-0931;N # DEVANAGARI LETTER RRA
-0932;N # DEVANAGARI LETTER LA
-0933;N # DEVANAGARI LETTER LLA
-0934;N # DEVANAGARI LETTER LLLA
-0935;N # DEVANAGARI LETTER VA
-0936;N # DEVANAGARI LETTER SHA
-0937;N # DEVANAGARI LETTER SSA
-0938;N # DEVANAGARI LETTER SA
-0939;N # DEVANAGARI LETTER HA
-093C;N # DEVANAGARI SIGN NUKTA
-093D;N # DEVANAGARI SIGN AVAGRAHA
-093E;N # DEVANAGARI VOWEL SIGN AA
-093F;N # DEVANAGARI VOWEL SIGN I
-0940;N # DEVANAGARI VOWEL SIGN II
-0941;N # DEVANAGARI VOWEL SIGN U
-0942;N # DEVANAGARI VOWEL SIGN UU
-0943;N # DEVANAGARI VOWEL SIGN VOCALIC R
-0944;N # DEVANAGARI VOWEL SIGN VOCALIC RR
-0945;N # DEVANAGARI VOWEL SIGN CANDRA E
-0946;N # DEVANAGARI VOWEL SIGN SHORT E
-0947;N # DEVANAGARI VOWEL SIGN E
-0948;N # DEVANAGARI VOWEL SIGN AI
-0949;N # DEVANAGARI VOWEL SIGN CANDRA O
-094A;N # DEVANAGARI VOWEL SIGN SHORT O
-094B;N # DEVANAGARI VOWEL SIGN O
-094C;N # DEVANAGARI VOWEL SIGN AU
-094D;N # DEVANAGARI SIGN VIRAMA
-094E;N # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950;N # DEVANAGARI OM
-0951;N # DEVANAGARI STRESS SIGN UDATTA
-0952;N # DEVANAGARI STRESS SIGN ANUDATTA
-0953;N # DEVANAGARI GRAVE ACCENT
-0954;N # DEVANAGARI ACUTE ACCENT
-0955;N # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958;N # DEVANAGARI LETTER QA
-0959;N # DEVANAGARI LETTER KHHA
-095A;N # DEVANAGARI LETTER GHHA
-095B;N # DEVANAGARI LETTER ZA
-095C;N # DEVANAGARI LETTER DDDHA
-095D;N # DEVANAGARI LETTER RHA
-095E;N # DEVANAGARI LETTER FA
-095F;N # DEVANAGARI LETTER YYA
-0960;N # DEVANAGARI LETTER VOCALIC RR
-0961;N # DEVANAGARI LETTER VOCALIC LL
-0962;N # DEVANAGARI VOWEL SIGN VOCALIC L
-0963;N # DEVANAGARI VOWEL SIGN VOCALIC LL
-0964;N # DEVANAGARI DANDA
-0965;N # DEVANAGARI DOUBLE DANDA
-0966;N # DEVANAGARI DIGIT ZERO
-0967;N # DEVANAGARI DIGIT ONE
-0968;N # DEVANAGARI DIGIT TWO
-0969;N # DEVANAGARI DIGIT THREE
-096A;N # DEVANAGARI DIGIT FOUR
-096B;N # DEVANAGARI DIGIT FIVE
-096C;N # DEVANAGARI DIGIT SIX
-096D;N # DEVANAGARI DIGIT SEVEN
-096E;N # DEVANAGARI DIGIT EIGHT
-096F;N # DEVANAGARI DIGIT NINE
-0970;N # DEVANAGARI ABBREVIATION SIGN
-0971;N # DEVANAGARI SIGN HIGH SPACING DOT
-0972;N # DEVANAGARI LETTER CANDRA A
-0979;N # DEVANAGARI LETTER ZHA
-097A;N # DEVANAGARI LETTER HEAVY YA
-097B;N # DEVANAGARI LETTER GGA
-097C;N # DEVANAGARI LETTER JJA
-097D;N # DEVANAGARI LETTER GLOTTAL STOP
-097E;N # DEVANAGARI LETTER DDDA
-097F;N # DEVANAGARI LETTER BBA
-0981;N # BENGALI SIGN CANDRABINDU
-0982;N # BENGALI SIGN ANUSVARA
-0983;N # BENGALI SIGN VISARGA
-0985;N # BENGALI LETTER A
-0986;N # BENGALI LETTER AA
-0987;N # BENGALI LETTER I
-0988;N # BENGALI LETTER II
-0989;N # BENGALI LETTER U
-098A;N # BENGALI LETTER UU
-098B;N # BENGALI LETTER VOCALIC R
-098C;N # BENGALI LETTER VOCALIC L
-098F;N # BENGALI LETTER E
-0990;N # BENGALI LETTER AI
-0993;N # BENGALI LETTER O
-0994;N # BENGALI LETTER AU
-0995;N # BENGALI LETTER KA
-0996;N # BENGALI LETTER KHA
-0997;N # BENGALI LETTER GA
-0998;N # BENGALI LETTER GHA
-0999;N # BENGALI LETTER NGA
-099A;N # BENGALI LETTER CA
-099B;N # BENGALI LETTER CHA
-099C;N # BENGALI LETTER JA
-099D;N # BENGALI LETTER JHA
-099E;N # BENGALI LETTER NYA
-099F;N # BENGALI LETTER TTA
-09A0;N # BENGALI LETTER TTHA
-09A1;N # BENGALI LETTER DDA
-09A2;N # BENGALI LETTER DDHA
-09A3;N # BENGALI LETTER NNA
-09A4;N # BENGALI LETTER TA
-09A5;N # BENGALI LETTER THA
-09A6;N # BENGALI LETTER DA
-09A7;N # BENGALI LETTER DHA
-09A8;N # BENGALI LETTER NA
-09AA;N # BENGALI LETTER PA
-09AB;N # BENGALI LETTER PHA
-09AC;N # BENGALI LETTER BA
-09AD;N # BENGALI LETTER BHA
-09AE;N # BENGALI LETTER MA
-09AF;N # BENGALI LETTER YA
-09B0;N # BENGALI LETTER RA
-09B2;N # BENGALI LETTER LA
-09B6;N # BENGALI LETTER SHA
-09B7;N # BENGALI LETTER SSA
-09B8;N # BENGALI LETTER SA
-09B9;N # BENGALI LETTER HA
-09BC;N # BENGALI SIGN NUKTA
-09BD;N # BENGALI SIGN AVAGRAHA
-09BE;N # BENGALI VOWEL SIGN AA
-09BF;N # BENGALI VOWEL SIGN I
-09C0;N # BENGALI VOWEL SIGN II
-09C1;N # BENGALI VOWEL SIGN U
-09C2;N # BENGALI VOWEL SIGN UU
-09C3;N # BENGALI VOWEL SIGN VOCALIC R
-09C4;N # BENGALI VOWEL SIGN VOCALIC RR
-09C7;N # BENGALI VOWEL SIGN E
-09C8;N # BENGALI VOWEL SIGN AI
-09CB;N # BENGALI VOWEL SIGN O
-09CC;N # BENGALI VOWEL SIGN AU
-09CD;N # BENGALI SIGN VIRAMA
-09CE;N # BENGALI LETTER KHANDA TA
-09D7;N # BENGALI AU LENGTH MARK
-09DC;N # BENGALI LETTER RRA
-09DD;N # BENGALI LETTER RHA
-09DF;N # BENGALI LETTER YYA
-09E0;N # BENGALI LETTER VOCALIC RR
-09E1;N # BENGALI LETTER VOCALIC LL
-09E2;N # BENGALI VOWEL SIGN VOCALIC L
-09E3;N # BENGALI VOWEL SIGN VOCALIC LL
-09E6;N # BENGALI DIGIT ZERO
-09E7;N # BENGALI DIGIT ONE
-09E8;N # BENGALI DIGIT TWO
-09E9;N # BENGALI DIGIT THREE
-09EA;N # BENGALI DIGIT FOUR
-09EB;N # BENGALI DIGIT FIVE
-09EC;N # BENGALI DIGIT SIX
-09ED;N # BENGALI DIGIT SEVEN
-09EE;N # BENGALI DIGIT EIGHT
-09EF;N # BENGALI DIGIT NINE
-09F0;N # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09F1;N # BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2;N # BENGALI RUPEE MARK
-09F3;N # BENGALI RUPEE SIGN
-09F4;N # BENGALI CURRENCY NUMERATOR ONE
-09F5;N # BENGALI CURRENCY NUMERATOR TWO
-09F6;N # BENGALI CURRENCY NUMERATOR THREE
-09F7;N # BENGALI CURRENCY NUMERATOR FOUR
-09F8;N # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9;N # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA;N # BENGALI ISSHAR
-09FB;N # BENGALI GANDA MARK
-0A01;N # GURMUKHI SIGN ADAK BINDI
-0A02;N # GURMUKHI SIGN BINDI
-0A03;N # GURMUKHI SIGN VISARGA
-0A05;N # GURMUKHI LETTER A
-0A06;N # GURMUKHI LETTER AA
-0A07;N # GURMUKHI LETTER I
-0A08;N # GURMUKHI LETTER II
-0A09;N # GURMUKHI LETTER U
-0A0A;N # GURMUKHI LETTER UU
-0A0F;N # GURMUKHI LETTER EE
-0A10;N # GURMUKHI LETTER AI
-0A13;N # GURMUKHI LETTER OO
-0A14;N # GURMUKHI LETTER AU
-0A15;N # GURMUKHI LETTER KA
-0A16;N # GURMUKHI LETTER KHA
-0A17;N # GURMUKHI LETTER GA
-0A18;N # GURMUKHI LETTER GHA
-0A19;N # GURMUKHI LETTER NGA
-0A1A;N # GURMUKHI LETTER CA
-0A1B;N # GURMUKHI LETTER CHA
-0A1C;N # GURMUKHI LETTER JA
-0A1D;N # GURMUKHI LETTER JHA
-0A1E;N # GURMUKHI LETTER NYA
-0A1F;N # GURMUKHI LETTER TTA
-0A20;N # GURMUKHI LETTER TTHA
-0A21;N # GURMUKHI LETTER DDA
-0A22;N # GURMUKHI LETTER DDHA
-0A23;N # GURMUKHI LETTER NNA
-0A24;N # GURMUKHI LETTER TA
-0A25;N # GURMUKHI LETTER THA
-0A26;N # GURMUKHI LETTER DA
-0A27;N # GURMUKHI LETTER DHA
-0A28;N # GURMUKHI LETTER NA
-0A2A;N # GURMUKHI LETTER PA
-0A2B;N # GURMUKHI LETTER PHA
-0A2C;N # GURMUKHI LETTER BA
-0A2D;N # GURMUKHI LETTER BHA
-0A2E;N # GURMUKHI LETTER MA
-0A2F;N # GURMUKHI LETTER YA
-0A30;N # GURMUKHI LETTER RA
-0A32;N # GURMUKHI LETTER LA
-0A33;N # GURMUKHI LETTER LLA
-0A35;N # GURMUKHI LETTER VA
-0A36;N # GURMUKHI LETTER SHA
-0A38;N # GURMUKHI LETTER SA
-0A39;N # GURMUKHI LETTER HA
-0A3C;N # GURMUKHI SIGN NUKTA
-0A3E;N # GURMUKHI VOWEL SIGN AA
-0A3F;N # GURMUKHI VOWEL SIGN I
-0A40;N # GURMUKHI VOWEL SIGN II
-0A41;N # GURMUKHI VOWEL SIGN U
-0A42;N # GURMUKHI VOWEL SIGN UU
-0A47;N # GURMUKHI VOWEL SIGN EE
-0A48;N # GURMUKHI VOWEL SIGN AI
-0A4B;N # GURMUKHI VOWEL SIGN OO
-0A4C;N # GURMUKHI VOWEL SIGN AU
-0A4D;N # GURMUKHI SIGN VIRAMA
-0A51;N # GURMUKHI SIGN UDAAT
-0A59;N # GURMUKHI LETTER KHHA
-0A5A;N # GURMUKHI LETTER GHHA
-0A5B;N # GURMUKHI LETTER ZA
-0A5C;N # GURMUKHI LETTER RRA
-0A5E;N # GURMUKHI LETTER FA
-0A66;N # GURMUKHI DIGIT ZERO
-0A67;N # GURMUKHI DIGIT ONE
-0A68;N # GURMUKHI DIGIT TWO
-0A69;N # GURMUKHI DIGIT THREE
-0A6A;N # GURMUKHI DIGIT FOUR
-0A6B;N # GURMUKHI DIGIT FIVE
-0A6C;N # GURMUKHI DIGIT SIX
-0A6D;N # GURMUKHI DIGIT SEVEN
-0A6E;N # GURMUKHI DIGIT EIGHT
-0A6F;N # GURMUKHI DIGIT NINE
-0A70;N # GURMUKHI TIPPI
-0A71;N # GURMUKHI ADDAK
-0A72;N # GURMUKHI IRI
-0A73;N # GURMUKHI URA
-0A74;N # GURMUKHI EK ONKAR
-0A75;N # GURMUKHI SIGN YAKASH
-0A81;N # GUJARATI SIGN CANDRABINDU
-0A82;N # GUJARATI SIGN ANUSVARA
-0A83;N # GUJARATI SIGN VISARGA
-0A85;N # GUJARATI LETTER A
-0A86;N # GUJARATI LETTER AA
-0A87;N # GUJARATI LETTER I
-0A88;N # GUJARATI LETTER II
-0A89;N # GUJARATI LETTER U
-0A8A;N # GUJARATI LETTER UU
-0A8B;N # GUJARATI LETTER VOCALIC R
-0A8C;N # GUJARATI LETTER VOCALIC L
-0A8D;N # GUJARATI VOWEL CANDRA E
-0A8F;N # GUJARATI LETTER E
-0A90;N # GUJARATI LETTER AI
-0A91;N # GUJARATI VOWEL CANDRA O
-0A93;N # GUJARATI LETTER O
-0A94;N # GUJARATI LETTER AU
-0A95;N # GUJARATI LETTER KA
-0A96;N # GUJARATI LETTER KHA
-0A97;N # GUJARATI LETTER GA
-0A98;N # GUJARATI LETTER GHA
-0A99;N # GUJARATI LETTER NGA
-0A9A;N # GUJARATI LETTER CA
-0A9B;N # GUJARATI LETTER CHA
-0A9C;N # GUJARATI LETTER JA
-0A9D;N # GUJARATI LETTER JHA
-0A9E;N # GUJARATI LETTER NYA
-0A9F;N # GUJARATI LETTER TTA
-0AA0;N # GUJARATI LETTER TTHA
-0AA1;N # GUJARATI LETTER DDA
-0AA2;N # GUJARATI LETTER DDHA
-0AA3;N # GUJARATI LETTER NNA
-0AA4;N # GUJARATI LETTER TA
-0AA5;N # GUJARATI LETTER THA
-0AA6;N # GUJARATI LETTER DA
-0AA7;N # GUJARATI LETTER DHA
-0AA8;N # GUJARATI LETTER NA
-0AAA;N # GUJARATI LETTER PA
-0AAB;N # GUJARATI LETTER PHA
-0AAC;N # GUJARATI LETTER BA
-0AAD;N # GUJARATI LETTER BHA
-0AAE;N # GUJARATI LETTER MA
-0AAF;N # GUJARATI LETTER YA
-0AB0;N # GUJARATI LETTER RA
-0AB2;N # GUJARATI LETTER LA
-0AB3;N # GUJARATI LETTER LLA
-0AB5;N # GUJARATI LETTER VA
-0AB6;N # GUJARATI LETTER SHA
-0AB7;N # GUJARATI LETTER SSA
-0AB8;N # GUJARATI LETTER SA
-0AB9;N # GUJARATI LETTER HA
-0ABC;N # GUJARATI SIGN NUKTA
-0ABD;N # GUJARATI SIGN AVAGRAHA
-0ABE;N # GUJARATI VOWEL SIGN AA
-0ABF;N # GUJARATI VOWEL SIGN I
-0AC0;N # GUJARATI VOWEL SIGN II
-0AC1;N # GUJARATI VOWEL SIGN U
-0AC2;N # GUJARATI VOWEL SIGN UU
-0AC3;N # GUJARATI VOWEL SIGN VOCALIC R
-0AC4;N # GUJARATI VOWEL SIGN VOCALIC RR
-0AC5;N # GUJARATI VOWEL SIGN CANDRA E
-0AC7;N # GUJARATI VOWEL SIGN E
-0AC8;N # GUJARATI VOWEL SIGN AI
-0AC9;N # GUJARATI VOWEL SIGN CANDRA O
-0ACB;N # GUJARATI VOWEL SIGN O
-0ACC;N # GUJARATI VOWEL SIGN AU
-0ACD;N # GUJARATI SIGN VIRAMA
-0AD0;N # GUJARATI OM
-0AE0;N # GUJARATI LETTER VOCALIC RR
-0AE1;N # GUJARATI LETTER VOCALIC LL
-0AE2;N # GUJARATI VOWEL SIGN VOCALIC L
-0AE3;N # GUJARATI VOWEL SIGN VOCALIC LL
-0AE6;N # GUJARATI DIGIT ZERO
-0AE7;N # GUJARATI DIGIT ONE
-0AE8;N # GUJARATI DIGIT TWO
-0AE9;N # GUJARATI DIGIT THREE
-0AEA;N # GUJARATI DIGIT FOUR
-0AEB;N # GUJARATI DIGIT FIVE
-0AEC;N # GUJARATI DIGIT SIX
-0AED;N # GUJARATI DIGIT SEVEN
-0AEE;N # GUJARATI DIGIT EIGHT
-0AEF;N # GUJARATI DIGIT NINE
-0AF1;N # GUJARATI RUPEE SIGN
-0B01;N # ORIYA SIGN CANDRABINDU
-0B02;N # ORIYA SIGN ANUSVARA
-0B03;N # ORIYA SIGN VISARGA
-0B05;N # ORIYA LETTER A
-0B06;N # ORIYA LETTER AA
-0B07;N # ORIYA LETTER I
-0B08;N # ORIYA LETTER II
-0B09;N # ORIYA LETTER U
-0B0A;N # ORIYA LETTER UU
-0B0B;N # ORIYA LETTER VOCALIC R
-0B0C;N # ORIYA LETTER VOCALIC L
-0B0F;N # ORIYA LETTER E
-0B10;N # ORIYA LETTER AI
-0B13;N # ORIYA LETTER O
-0B14;N # ORIYA LETTER AU
-0B15;N # ORIYA LETTER KA
-0B16;N # ORIYA LETTER KHA
-0B17;N # ORIYA LETTER GA
-0B18;N # ORIYA LETTER GHA
-0B19;N # ORIYA LETTER NGA
-0B1A;N # ORIYA LETTER CA
-0B1B;N # ORIYA LETTER CHA
-0B1C;N # ORIYA LETTER JA
-0B1D;N # ORIYA LETTER JHA
-0B1E;N # ORIYA LETTER NYA
-0B1F;N # ORIYA LETTER TTA
-0B20;N # ORIYA LETTER TTHA
-0B21;N # ORIYA LETTER DDA
-0B22;N # ORIYA LETTER DDHA
-0B23;N # ORIYA LETTER NNA
-0B24;N # ORIYA LETTER TA
-0B25;N # ORIYA LETTER THA
-0B26;N # ORIYA LETTER DA
-0B27;N # ORIYA LETTER DHA
-0B28;N # ORIYA LETTER NA
-0B2A;N # ORIYA LETTER PA
-0B2B;N # ORIYA LETTER PHA
-0B2C;N # ORIYA LETTER BA
-0B2D;N # ORIYA LETTER BHA
-0B2E;N # ORIYA LETTER MA
-0B2F;N # ORIYA LETTER YA
-0B30;N # ORIYA LETTER RA
-0B32;N # ORIYA LETTER LA
-0B33;N # ORIYA LETTER LLA
-0B35;N # ORIYA LETTER VA
-0B36;N # ORIYA LETTER SHA
-0B37;N # ORIYA LETTER SSA
-0B38;N # ORIYA LETTER SA
-0B39;N # ORIYA LETTER HA
-0B3C;N # ORIYA SIGN NUKTA
-0B3D;N # ORIYA SIGN AVAGRAHA
-0B3E;N # ORIYA VOWEL SIGN AA
-0B3F;N # ORIYA VOWEL SIGN I
-0B40;N # ORIYA VOWEL SIGN II
-0B41;N # ORIYA VOWEL SIGN U
-0B42;N # ORIYA VOWEL SIGN UU
-0B43;N # ORIYA VOWEL SIGN VOCALIC R
-0B44;N # ORIYA VOWEL SIGN VOCALIC RR
-0B47;N # ORIYA VOWEL SIGN E
-0B48;N # ORIYA VOWEL SIGN AI
-0B4B;N # ORIYA VOWEL SIGN O
-0B4C;N # ORIYA VOWEL SIGN AU
-0B4D;N # ORIYA SIGN VIRAMA
-0B56;N # ORIYA AI LENGTH MARK
-0B57;N # ORIYA AU LENGTH MARK
-0B5C;N # ORIYA LETTER RRA
-0B5D;N # ORIYA LETTER RHA
-0B5F;N # ORIYA LETTER YYA
-0B60;N # ORIYA LETTER VOCALIC RR
-0B61;N # ORIYA LETTER VOCALIC LL
-0B62;N # ORIYA VOWEL SIGN VOCALIC L
-0B63;N # ORIYA VOWEL SIGN VOCALIC LL
-0B66;N # ORIYA DIGIT ZERO
-0B67;N # ORIYA DIGIT ONE
-0B68;N # ORIYA DIGIT TWO
-0B69;N # ORIYA DIGIT THREE
-0B6A;N # ORIYA DIGIT FOUR
-0B6B;N # ORIYA DIGIT FIVE
-0B6C;N # ORIYA DIGIT SIX
-0B6D;N # ORIYA DIGIT SEVEN
-0B6E;N # ORIYA DIGIT EIGHT
-0B6F;N # ORIYA DIGIT NINE
-0B70;N # ORIYA ISSHAR
-0B71;N # ORIYA LETTER WA
-0B82;N # TAMIL SIGN ANUSVARA
-0B83;N # TAMIL SIGN VISARGA
-0B85;N # TAMIL LETTER A
-0B86;N # TAMIL LETTER AA
-0B87;N # TAMIL LETTER I
-0B88;N # TAMIL LETTER II
-0B89;N # TAMIL LETTER U
-0B8A;N # TAMIL LETTER UU
-0B8E;N # TAMIL LETTER E
-0B8F;N # TAMIL LETTER EE
-0B90;N # TAMIL LETTER AI
-0B92;N # TAMIL LETTER O
-0B93;N # TAMIL LETTER OO
-0B94;N # TAMIL LETTER AU
-0B95;N # TAMIL LETTER KA
-0B99;N # TAMIL LETTER NGA
-0B9A;N # TAMIL LETTER CA
-0B9C;N # TAMIL LETTER JA
-0B9E;N # TAMIL LETTER NYA
-0B9F;N # TAMIL LETTER TTA
-0BA3;N # TAMIL LETTER NNA
-0BA4;N # TAMIL LETTER TA
-0BA8;N # TAMIL LETTER NA
-0BA9;N # TAMIL LETTER NNNA
-0BAA;N # TAMIL LETTER PA
-0BAE;N # TAMIL LETTER MA
-0BAF;N # TAMIL LETTER YA
-0BB0;N # TAMIL LETTER RA
-0BB1;N # TAMIL LETTER RRA
-0BB2;N # TAMIL LETTER LA
-0BB3;N # TAMIL LETTER LLA
-0BB4;N # TAMIL LETTER LLLA
-0BB5;N # TAMIL LETTER VA
-0BB6;N # TAMIL LETTER SHA
-0BB7;N # TAMIL LETTER SSA
-0BB8;N # TAMIL LETTER SA
-0BB9;N # TAMIL LETTER HA
-0BBE;N # TAMIL VOWEL SIGN AA
-0BBF;N # TAMIL VOWEL SIGN I
-0BC0;N # TAMIL VOWEL SIGN II
-0BC1;N # TAMIL VOWEL SIGN U
-0BC2;N # TAMIL VOWEL SIGN UU
-0BC6;N # TAMIL VOWEL SIGN E
-0BC7;N # TAMIL VOWEL SIGN EE
-0BC8;N # TAMIL VOWEL SIGN AI
-0BCA;N # TAMIL VOWEL SIGN O
-0BCB;N # TAMIL VOWEL SIGN OO
-0BCC;N # TAMIL VOWEL SIGN AU
-0BCD;N # TAMIL SIGN VIRAMA
-0BD0;N # TAMIL OM
-0BD7;N # TAMIL AU LENGTH MARK
-0BE6;N # TAMIL DIGIT ZERO
-0BE7;N # TAMIL DIGIT ONE
-0BE8;N # TAMIL DIGIT TWO
-0BE9;N # TAMIL DIGIT THREE
-0BEA;N # TAMIL DIGIT FOUR
-0BEB;N # TAMIL DIGIT FIVE
-0BEC;N # TAMIL DIGIT SIX
-0BED;N # TAMIL DIGIT SEVEN
-0BEE;N # TAMIL DIGIT EIGHT
-0BEF;N # TAMIL DIGIT NINE
-0BF0;N # TAMIL NUMBER TEN
-0BF1;N # TAMIL NUMBER ONE HUNDRED
-0BF2;N # TAMIL NUMBER ONE THOUSAND
-0BF3;N # TAMIL DAY SIGN
-0BF4;N # TAMIL MONTH SIGN
-0BF5;N # TAMIL YEAR SIGN
-0BF6;N # TAMIL DEBIT SIGN
-0BF7;N # TAMIL CREDIT SIGN
-0BF8;N # TAMIL AS ABOVE SIGN
-0BF9;N # TAMIL RUPEE SIGN
-0BFA;N # TAMIL NUMBER SIGN
-0C01;N # TELUGU SIGN CANDRABINDU
-0C02;N # TELUGU SIGN ANUSVARA
-0C03;N # TELUGU SIGN VISARGA
-0C05;N # TELUGU LETTER A
-0C06;N # TELUGU LETTER AA
-0C07;N # TELUGU LETTER I
-0C08;N # TELUGU LETTER II
-0C09;N # TELUGU LETTER U
-0C0A;N # TELUGU LETTER UU
-0C0B;N # TELUGU LETTER VOCALIC R
-0C0C;N # TELUGU LETTER VOCALIC L
-0C0E;N # TELUGU LETTER E
-0C0F;N # TELUGU LETTER EE
-0C10;N # TELUGU LETTER AI
-0C12;N # TELUGU LETTER O
-0C13;N # TELUGU LETTER OO
-0C14;N # TELUGU LETTER AU
-0C15;N # TELUGU LETTER KA
-0C16;N # TELUGU LETTER KHA
-0C17;N # TELUGU LETTER GA
-0C18;N # TELUGU LETTER GHA
-0C19;N # TELUGU LETTER NGA
-0C1A;N # TELUGU LETTER CA
-0C1B;N # TELUGU LETTER CHA
-0C1C;N # TELUGU LETTER JA
-0C1D;N # TELUGU LETTER JHA
-0C1E;N # TELUGU LETTER NYA
-0C1F;N # TELUGU LETTER TTA
-0C20;N # TELUGU LETTER TTHA
-0C21;N # TELUGU LETTER DDA
-0C22;N # TELUGU LETTER DDHA
-0C23;N # TELUGU LETTER NNA
-0C24;N # TELUGU LETTER TA
-0C25;N # TELUGU LETTER THA
-0C26;N # TELUGU LETTER DA
-0C27;N # TELUGU LETTER DHA
-0C28;N # TELUGU LETTER NA
-0C2A;N # TELUGU LETTER PA
-0C2B;N # TELUGU LETTER PHA
-0C2C;N # TELUGU LETTER BA
-0C2D;N # TELUGU LETTER BHA
-0C2E;N # TELUGU LETTER MA
-0C2F;N # TELUGU LETTER YA
-0C30;N # TELUGU LETTER RA
-0C31;N # TELUGU LETTER RRA
-0C32;N # TELUGU LETTER LA
-0C33;N # TELUGU LETTER LLA
-0C35;N # TELUGU LETTER VA
-0C36;N # TELUGU LETTER SHA
-0C37;N # TELUGU LETTER SSA
-0C38;N # TELUGU LETTER SA
-0C39;N # TELUGU LETTER HA
-0C3D;N # TELUGU SIGN AVAGRAHA
-0C3E;N # TELUGU VOWEL SIGN AA
-0C3F;N # TELUGU VOWEL SIGN I
-0C40;N # TELUGU VOWEL SIGN II
-0C41;N # TELUGU VOWEL SIGN U
-0C42;N # TELUGU VOWEL SIGN UU
-0C43;N # TELUGU VOWEL SIGN VOCALIC R
-0C44;N # TELUGU VOWEL SIGN VOCALIC RR
-0C46;N # TELUGU VOWEL SIGN E
-0C47;N # TELUGU VOWEL SIGN EE
-0C48;N # TELUGU VOWEL SIGN AI
-0C4A;N # TELUGU VOWEL SIGN O
-0C4B;N # TELUGU VOWEL SIGN OO
-0C4C;N # TELUGU VOWEL SIGN AU
-0C4D;N # TELUGU SIGN VIRAMA
-0C55;N # TELUGU LENGTH MARK
-0C56;N # TELUGU AI LENGTH MARK
-0C58;N # TELUGU LETTER TSA
-0C59;N # TELUGU LETTER DZA
-0C60;N # TELUGU LETTER VOCALIC RR
-0C61;N # TELUGU LETTER VOCALIC LL
-0C62;N # TELUGU VOWEL SIGN VOCALIC L
-0C63;N # TELUGU VOWEL SIGN VOCALIC LL
-0C66;N # TELUGU DIGIT ZERO
-0C67;N # TELUGU DIGIT ONE
-0C68;N # TELUGU DIGIT TWO
-0C69;N # TELUGU DIGIT THREE
-0C6A;N # TELUGU DIGIT FOUR
-0C6B;N # TELUGU DIGIT FIVE
-0C6C;N # TELUGU DIGIT SIX
-0C6D;N # TELUGU DIGIT SEVEN
-0C6E;N # TELUGU DIGIT EIGHT
-0C6F;N # TELUGU DIGIT NINE
-0C78;N # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0C79;N # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7A;N # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7B;N # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7C;N # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0C7D;N # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0C7E;N # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F;N # TELUGU SIGN TUUMU
-0C82;N # KANNADA SIGN ANUSVARA
-0C83;N # KANNADA SIGN VISARGA
-0C85;N # KANNADA LETTER A
-0C86;N # KANNADA LETTER AA
-0C87;N # KANNADA LETTER I
-0C88;N # KANNADA LETTER II
-0C89;N # KANNADA LETTER U
-0C8A;N # KANNADA LETTER UU
-0C8B;N # KANNADA LETTER VOCALIC R
-0C8C;N # KANNADA LETTER VOCALIC L
-0C8E;N # KANNADA LETTER E
-0C8F;N # KANNADA LETTER EE
-0C90;N # KANNADA LETTER AI
-0C92;N # KANNADA LETTER O
-0C93;N # KANNADA LETTER OO
-0C94;N # KANNADA LETTER AU
-0C95;N # KANNADA LETTER KA
-0C96;N # KANNADA LETTER KHA
-0C97;N # KANNADA LETTER GA
-0C98;N # KANNADA LETTER GHA
-0C99;N # KANNADA LETTER NGA
-0C9A;N # KANNADA LETTER CA
-0C9B;N # KANNADA LETTER CHA
-0C9C;N # KANNADA LETTER JA
-0C9D;N # KANNADA LETTER JHA
-0C9E;N # KANNADA LETTER NYA
-0C9F;N # KANNADA LETTER TTA
-0CA0;N # KANNADA LETTER TTHA
-0CA1;N # KANNADA LETTER DDA
-0CA2;N # KANNADA LETTER DDHA
-0CA3;N # KANNADA LETTER NNA
-0CA4;N # KANNADA LETTER TA
-0CA5;N # KANNADA LETTER THA
-0CA6;N # KANNADA LETTER DA
-0CA7;N # KANNADA LETTER DHA
-0CA8;N # KANNADA LETTER NA
-0CAA;N # KANNADA LETTER PA
-0CAB;N # KANNADA LETTER PHA
-0CAC;N # KANNADA LETTER BA
-0CAD;N # KANNADA LETTER BHA
-0CAE;N # KANNADA LETTER MA
-0CAF;N # KANNADA LETTER YA
-0CB0;N # KANNADA LETTER RA
-0CB1;N # KANNADA LETTER RRA
-0CB2;N # KANNADA LETTER LA
-0CB3;N # KANNADA LETTER LLA
-0CB5;N # KANNADA LETTER VA
-0CB6;N # KANNADA LETTER SHA
-0CB7;N # KANNADA LETTER SSA
-0CB8;N # KANNADA LETTER SA
-0CB9;N # KANNADA LETTER HA
-0CBC;N # KANNADA SIGN NUKTA
-0CBD;N # KANNADA SIGN AVAGRAHA
-0CBE;N # KANNADA VOWEL SIGN AA
-0CBF;N # KANNADA VOWEL SIGN I
-0CC0;N # KANNADA VOWEL SIGN II
-0CC1;N # KANNADA VOWEL SIGN U
-0CC2;N # KANNADA VOWEL SIGN UU
-0CC3;N # KANNADA VOWEL SIGN VOCALIC R
-0CC4;N # KANNADA VOWEL SIGN VOCALIC RR
-0CC6;N # KANNADA VOWEL SIGN E
-0CC7;N # KANNADA VOWEL SIGN EE
-0CC8;N # KANNADA VOWEL SIGN AI
-0CCA;N # KANNADA VOWEL SIGN O
-0CCB;N # KANNADA VOWEL SIGN OO
-0CCC;N # KANNADA VOWEL SIGN AU
-0CCD;N # KANNADA SIGN VIRAMA
-0CD5;N # KANNADA LENGTH MARK
-0CD6;N # KANNADA AI LENGTH MARK
-0CDE;N # KANNADA LETTER FA
-0CE0;N # KANNADA LETTER VOCALIC RR
-0CE1;N # KANNADA LETTER VOCALIC LL
-0CE2;N # KANNADA VOWEL SIGN VOCALIC L
-0CE3;N # KANNADA VOWEL SIGN VOCALIC LL
-0CE6;N # KANNADA DIGIT ZERO
-0CE7;N # KANNADA DIGIT ONE
-0CE8;N # KANNADA DIGIT TWO
-0CE9;N # KANNADA DIGIT THREE
-0CEA;N # KANNADA DIGIT FOUR
-0CEB;N # KANNADA DIGIT FIVE
-0CEC;N # KANNADA DIGIT SIX
-0CED;N # KANNADA DIGIT SEVEN
-0CEE;N # KANNADA DIGIT EIGHT
-0CEF;N # KANNADA DIGIT NINE
-0CF1;N # KANNADA SIGN JIHVAMULIYA
-0CF2;N # KANNADA SIGN UPADHMANIYA
-0D02;N # MALAYALAM SIGN ANUSVARA
-0D03;N # MALAYALAM SIGN VISARGA
-0D05;N # MALAYALAM LETTER A
-0D06;N # MALAYALAM LETTER AA
-0D07;N # MALAYALAM LETTER I
-0D08;N # MALAYALAM LETTER II
-0D09;N # MALAYALAM LETTER U
-0D0A;N # MALAYALAM LETTER UU
-0D0B;N # MALAYALAM LETTER VOCALIC R
-0D0C;N # MALAYALAM LETTER VOCALIC L
-0D0E;N # MALAYALAM LETTER E
-0D0F;N # MALAYALAM LETTER EE
-0D10;N # MALAYALAM LETTER AI
-0D12;N # MALAYALAM LETTER O
-0D13;N # MALAYALAM LETTER OO
-0D14;N # MALAYALAM LETTER AU
-0D15;N # MALAYALAM LETTER KA
-0D16;N # MALAYALAM LETTER KHA
-0D17;N # MALAYALAM LETTER GA
-0D18;N # MALAYALAM LETTER GHA
-0D19;N # MALAYALAM LETTER NGA
-0D1A;N # MALAYALAM LETTER CA
-0D1B;N # MALAYALAM LETTER CHA
-0D1C;N # MALAYALAM LETTER JA
-0D1D;N # MALAYALAM LETTER JHA
-0D1E;N # MALAYALAM LETTER NYA
-0D1F;N # MALAYALAM LETTER TTA
-0D20;N # MALAYALAM LETTER TTHA
-0D21;N # MALAYALAM LETTER DDA
-0D22;N # MALAYALAM LETTER DDHA
-0D23;N # MALAYALAM LETTER NNA
-0D24;N # MALAYALAM LETTER TA
-0D25;N # MALAYALAM LETTER THA
-0D26;N # MALAYALAM LETTER DA
-0D27;N # MALAYALAM LETTER DHA
-0D28;N # MALAYALAM LETTER NA
-0D2A;N # MALAYALAM LETTER PA
-0D2B;N # MALAYALAM LETTER PHA
-0D2C;N # MALAYALAM LETTER BA
-0D2D;N # MALAYALAM LETTER BHA
-0D2E;N # MALAYALAM LETTER MA
-0D2F;N # MALAYALAM LETTER YA
-0D30;N # MALAYALAM LETTER RA
-0D31;N # MALAYALAM LETTER RRA
-0D32;N # MALAYALAM LETTER LA
-0D33;N # MALAYALAM LETTER LLA
-0D34;N # MALAYALAM LETTER LLLA
-0D35;N # MALAYALAM LETTER VA
-0D36;N # MALAYALAM LETTER SHA
-0D37;N # MALAYALAM LETTER SSA
-0D38;N # MALAYALAM LETTER SA
-0D39;N # MALAYALAM LETTER HA
-0D3D;N # MALAYALAM SIGN AVAGRAHA
-0D3E;N # MALAYALAM VOWEL SIGN AA
-0D3F;N # MALAYALAM VOWEL SIGN I
-0D40;N # MALAYALAM VOWEL SIGN II
-0D41;N # MALAYALAM VOWEL SIGN U
-0D42;N # MALAYALAM VOWEL SIGN UU
-0D43;N # MALAYALAM VOWEL SIGN VOCALIC R
-0D44;N # MALAYALAM VOWEL SIGN VOCALIC RR
-0D46;N # MALAYALAM VOWEL SIGN E
-0D47;N # MALAYALAM VOWEL SIGN EE
-0D48;N # MALAYALAM VOWEL SIGN AI
-0D4A;N # MALAYALAM VOWEL SIGN O
-0D4B;N # MALAYALAM VOWEL SIGN OO
-0D4C;N # MALAYALAM VOWEL SIGN AU
-0D4D;N # MALAYALAM SIGN VIRAMA
-0D57;N # MALAYALAM AU LENGTH MARK
-0D60;N # MALAYALAM LETTER VOCALIC RR
-0D61;N # MALAYALAM LETTER VOCALIC LL
-0D62;N # MALAYALAM VOWEL SIGN VOCALIC L
-0D63;N # MALAYALAM VOWEL SIGN VOCALIC LL
-0D66;N # MALAYALAM DIGIT ZERO
-0D67;N # MALAYALAM DIGIT ONE
-0D68;N # MALAYALAM DIGIT TWO
-0D69;N # MALAYALAM DIGIT THREE
-0D6A;N # MALAYALAM DIGIT FOUR
-0D6B;N # MALAYALAM DIGIT FIVE
-0D6C;N # MALAYALAM DIGIT SIX
-0D6D;N # MALAYALAM DIGIT SEVEN
-0D6E;N # MALAYALAM DIGIT EIGHT
-0D6F;N # MALAYALAM DIGIT NINE
-0D70;N # MALAYALAM NUMBER TEN
-0D71;N # MALAYALAM NUMBER ONE HUNDRED
-0D72;N # MALAYALAM NUMBER ONE THOUSAND
-0D73;N # MALAYALAM FRACTION ONE QUARTER
-0D74;N # MALAYALAM FRACTION ONE HALF
-0D75;N # MALAYALAM FRACTION THREE QUARTERS
-0D79;N # MALAYALAM DATE MARK
-0D7A;N # MALAYALAM LETTER CHILLU NN
-0D7B;N # MALAYALAM LETTER CHILLU N
-0D7C;N # MALAYALAM LETTER CHILLU RR
-0D7D;N # MALAYALAM LETTER CHILLU L
-0D7E;N # MALAYALAM LETTER CHILLU LL
-0D7F;N # MALAYALAM LETTER CHILLU K
-0D82;N # SINHALA SIGN ANUSVARAYA
-0D83;N # SINHALA SIGN VISARGAYA
-0D85;N # SINHALA LETTER AYANNA
-0D86;N # SINHALA LETTER AAYANNA
-0D87;N # SINHALA LETTER AEYANNA
-0D88;N # SINHALA LETTER AEEYANNA
-0D89;N # SINHALA LETTER IYANNA
-0D8A;N # SINHALA LETTER IIYANNA
-0D8B;N # SINHALA LETTER UYANNA
-0D8C;N # SINHALA LETTER UUYANNA
-0D8D;N # SINHALA LETTER IRUYANNA
-0D8E;N # SINHALA LETTER IRUUYANNA
-0D8F;N # SINHALA LETTER ILUYANNA
-0D90;N # SINHALA LETTER ILUUYANNA
-0D91;N # SINHALA LETTER EYANNA
-0D92;N # SINHALA LETTER EEYANNA
-0D93;N # SINHALA LETTER AIYANNA
-0D94;N # SINHALA LETTER OYANNA
-0D95;N # SINHALA LETTER OOYANNA
-0D96;N # SINHALA LETTER AUYANNA
-0D9A;N # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B;N # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C;N # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D;N # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E;N # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F;N # SINHALA LETTER SANYAKA GAYANNA
-0DA0;N # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1;N # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2;N # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3;N # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4;N # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5;N # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6;N # SINHALA LETTER SANYAKA JAYANNA
-0DA7;N # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8;N # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9;N # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA;N # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB;N # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC;N # SINHALA LETTER SANYAKA DDAYANNA
-0DAD;N # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE;N # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF;N # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0;N # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1;N # SINHALA LETTER DANTAJA NAYANNA
-0DB3;N # SINHALA LETTER SANYAKA DAYANNA
-0DB4;N # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5;N # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6;N # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7;N # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8;N # SINHALA LETTER MAYANNA
-0DB9;N # SINHALA LETTER AMBA BAYANNA
-0DBA;N # SINHALA LETTER YAYANNA
-0DBB;N # SINHALA LETTER RAYANNA
-0DBD;N # SINHALA LETTER DANTAJA LAYANNA
-0DC0;N # SINHALA LETTER VAYANNA
-0DC1;N # SINHALA LETTER TAALUJA SAYANNA
-0DC2;N # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3;N # SINHALA LETTER DANTAJA SAYANNA
-0DC4;N # SINHALA LETTER HAYANNA
-0DC5;N # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6;N # SINHALA LETTER FAYANNA
-0DCA;N # SINHALA SIGN AL-LAKUNA
-0DCF;N # SINHALA VOWEL SIGN AELA-PILLA
-0DD0;N # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1;N # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2;N # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3;N # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4;N # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6;N # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8;N # SINHALA VOWEL SIGN GAETTA-PILLA
-0DD9;N # SINHALA VOWEL SIGN KOMBUVA
-0DDA;N # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB;N # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC;N # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD;N # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE;N # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DDF;N # SINHALA VOWEL SIGN GAYANUKITTA
-0DF2;N # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DF3;N # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4;N # SINHALA PUNCTUATION KUNDDALIYA
-0E01;N # THAI CHARACTER KO KAI
-0E02;N # THAI CHARACTER KHO KHAI
-0E03;N # THAI CHARACTER KHO KHUAT
-0E04;N # THAI CHARACTER KHO KHWAI
-0E05;N # THAI CHARACTER KHO KHON
-0E06;N # THAI CHARACTER KHO RAKHANG
-0E07;N # THAI CHARACTER NGO NGU
-0E08;N # THAI CHARACTER CHO CHAN
-0E09;N # THAI CHARACTER CHO CHING
-0E0A;N # THAI CHARACTER CHO CHANG
-0E0B;N # THAI CHARACTER SO SO
-0E0C;N # THAI CHARACTER CHO CHOE
-0E0D;N # THAI CHARACTER YO YING
-0E0E;N # THAI CHARACTER DO CHADA
-0E0F;N # THAI CHARACTER TO PATAK
-0E10;N # THAI CHARACTER THO THAN
-0E11;N # THAI CHARACTER THO NANGMONTHO
-0E12;N # THAI CHARACTER THO PHUTHAO
-0E13;N # THAI CHARACTER NO NEN
-0E14;N # THAI CHARACTER DO DEK
-0E15;N # THAI CHARACTER TO TAO
-0E16;N # THAI CHARACTER THO THUNG
-0E17;N # THAI CHARACTER THO THAHAN
-0E18;N # THAI CHARACTER THO THONG
-0E19;N # THAI CHARACTER NO NU
-0E1A;N # THAI CHARACTER BO BAIMAI
-0E1B;N # THAI CHARACTER PO PLA
-0E1C;N # THAI CHARACTER PHO PHUNG
-0E1D;N # THAI CHARACTER FO FA
-0E1E;N # THAI CHARACTER PHO PHAN
-0E1F;N # THAI CHARACTER FO FAN
-0E20;N # THAI CHARACTER PHO SAMPHAO
-0E21;N # THAI CHARACTER MO MA
-0E22;N # THAI CHARACTER YO YAK
-0E23;N # THAI CHARACTER RO RUA
-0E24;N # THAI CHARACTER RU
-0E25;N # THAI CHARACTER LO LING
-0E26;N # THAI CHARACTER LU
-0E27;N # THAI CHARACTER WO WAEN
-0E28;N # THAI CHARACTER SO SALA
-0E29;N # THAI CHARACTER SO RUSI
-0E2A;N # THAI CHARACTER SO SUA
-0E2B;N # THAI CHARACTER HO HIP
-0E2C;N # THAI CHARACTER LO CHULA
-0E2D;N # THAI CHARACTER O ANG
-0E2E;N # THAI CHARACTER HO NOKHUK
-0E2F;N # THAI CHARACTER PAIYANNOI
-0E30;N # THAI CHARACTER SARA A
-0E31;N # THAI CHARACTER MAI HAN-AKAT
-0E32;N # THAI CHARACTER SARA AA
-0E33;N # THAI CHARACTER SARA AM
-0E34;N # THAI CHARACTER SARA I
-0E35;N # THAI CHARACTER SARA II
-0E36;N # THAI CHARACTER SARA UE
-0E37;N # THAI CHARACTER SARA UEE
-0E38;N # THAI CHARACTER SARA U
-0E39;N # THAI CHARACTER SARA UU
-0E3A;N # THAI CHARACTER PHINTHU
-0E3F;N # THAI CURRENCY SYMBOL BAHT
-0E40;N # THAI CHARACTER SARA E
-0E41;N # THAI CHARACTER SARA AE
-0E42;N # THAI CHARACTER SARA O
-0E43;N # THAI CHARACTER SARA AI MAIMUAN
-0E44;N # THAI CHARACTER SARA AI MAIMALAI
-0E45;N # THAI CHARACTER LAKKHANGYAO
-0E46;N # THAI CHARACTER MAIYAMOK
-0E47;N # THAI CHARACTER MAITAIKHU
-0E48;N # THAI CHARACTER MAI EK
-0E49;N # THAI CHARACTER MAI THO
-0E4A;N # THAI CHARACTER MAI TRI
-0E4B;N # THAI CHARACTER MAI CHATTAWA
-0E4C;N # THAI CHARACTER THANTHAKHAT
-0E4D;N # THAI CHARACTER NIKHAHIT
-0E4E;N # THAI CHARACTER YAMAKKAN
-0E4F;N # THAI CHARACTER FONGMAN
-0E50;N # THAI DIGIT ZERO
-0E51;N # THAI DIGIT ONE
-0E52;N # THAI DIGIT TWO
-0E53;N # THAI DIGIT THREE
-0E54;N # THAI DIGIT FOUR
-0E55;N # THAI DIGIT FIVE
-0E56;N # THAI DIGIT SIX
-0E57;N # THAI DIGIT SEVEN
-0E58;N # THAI DIGIT EIGHT
-0E59;N # THAI DIGIT NINE
-0E5A;N # THAI CHARACTER ANGKHANKHU
-0E5B;N # THAI CHARACTER KHOMUT
-0E81;N # LAO LETTER KO
-0E82;N # LAO LETTER KHO SUNG
-0E84;N # LAO LETTER KHO TAM
-0E87;N # LAO LETTER NGO
-0E88;N # LAO LETTER CO
-0E8A;N # LAO LETTER SO TAM
-0E8D;N # LAO LETTER NYO
-0E94;N # LAO LETTER DO
-0E95;N # LAO LETTER TO
-0E96;N # LAO LETTER THO SUNG
-0E97;N # LAO LETTER THO TAM
-0E99;N # LAO LETTER NO
-0E9A;N # LAO LETTER BO
-0E9B;N # LAO LETTER PO
-0E9C;N # LAO LETTER PHO SUNG
-0E9D;N # LAO LETTER FO TAM
-0E9E;N # LAO LETTER PHO TAM
-0E9F;N # LAO LETTER FO SUNG
-0EA1;N # LAO LETTER MO
-0EA2;N # LAO LETTER YO
-0EA3;N # LAO LETTER LO LING
-0EA5;N # LAO LETTER LO LOOT
-0EA7;N # LAO LETTER WO
-0EAA;N # LAO LETTER SO SUNG
-0EAB;N # LAO LETTER HO SUNG
-0EAD;N # LAO LETTER O
-0EAE;N # LAO LETTER HO TAM
-0EAF;N # LAO ELLIPSIS
-0EB0;N # LAO VOWEL SIGN A
-0EB1;N # LAO VOWEL SIGN MAI KAN
-0EB2;N # LAO VOWEL SIGN AA
-0EB3;N # LAO VOWEL SIGN AM
-0EB4;N # LAO VOWEL SIGN I
-0EB5;N # LAO VOWEL SIGN II
-0EB6;N # LAO VOWEL SIGN Y
-0EB7;N # LAO VOWEL SIGN YY
-0EB8;N # LAO VOWEL SIGN U
-0EB9;N # LAO VOWEL SIGN UU
-0EBB;N # LAO VOWEL SIGN MAI KON
-0EBC;N # LAO SEMIVOWEL SIGN LO
-0EBD;N # LAO SEMIVOWEL SIGN NYO
-0EC0;N # LAO VOWEL SIGN E
-0EC1;N # LAO VOWEL SIGN EI
-0EC2;N # LAO VOWEL SIGN O
-0EC3;N # LAO VOWEL SIGN AY
-0EC4;N # LAO VOWEL SIGN AI
-0EC6;N # LAO KO LA
-0EC8;N # LAO TONE MAI EK
-0EC9;N # LAO TONE MAI THO
-0ECA;N # LAO TONE MAI TI
-0ECB;N # LAO TONE MAI CATAWA
-0ECC;N # LAO CANCELLATION MARK
-0ECD;N # LAO NIGGAHITA
-0ED0;N # LAO DIGIT ZERO
-0ED1;N # LAO DIGIT ONE
-0ED2;N # LAO DIGIT TWO
-0ED3;N # LAO DIGIT THREE
-0ED4;N # LAO DIGIT FOUR
-0ED5;N # LAO DIGIT FIVE
-0ED6;N # LAO DIGIT SIX
-0ED7;N # LAO DIGIT SEVEN
-0ED8;N # LAO DIGIT EIGHT
-0ED9;N # LAO DIGIT NINE
-0EDC;N # LAO HO NO
-0EDD;N # LAO HO MO
-0F00;N # TIBETAN SYLLABLE OM
-0F01;N # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02;N # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03;N # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04;N # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05;N # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06;N # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07;N # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08;N # TIBETAN MARK SBRUL SHAD
-0F09;N # TIBETAN MARK BSKUR YIG MGO
-0F0A;N # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B;N # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C;N # TIBETAN MARK DELIMITER TSHEG BSTAR
-0F0D;N # TIBETAN MARK SHAD
-0F0E;N # TIBETAN MARK NYIS SHAD
-0F0F;N # TIBETAN MARK TSHEG SHAD
-0F10;N # TIBETAN MARK NYIS TSHEG SHAD
-0F11;N # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12;N # TIBETAN MARK RGYA GRAM SHAD
-0F13;N # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14;N # TIBETAN MARK GTER TSHEG
-0F15;N # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16;N # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17;N # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F18;N # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
-0F19;N # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A;N # TIBETAN SIGN RDEL DKAR GCIG
-0F1B;N # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C;N # TIBETAN SIGN RDEL DKAR GSUM
-0F1D;N # TIBETAN SIGN RDEL NAG GCIG
-0F1E;N # TIBETAN SIGN RDEL NAG GNYIS
-0F1F;N # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20;N # TIBETAN DIGIT ZERO
-0F21;N # TIBETAN DIGIT ONE
-0F22;N # TIBETAN DIGIT TWO
-0F23;N # TIBETAN DIGIT THREE
-0F24;N # TIBETAN DIGIT FOUR
-0F25;N # TIBETAN DIGIT FIVE
-0F26;N # TIBETAN DIGIT SIX
-0F27;N # TIBETAN DIGIT SEVEN
-0F28;N # TIBETAN DIGIT EIGHT
-0F29;N # TIBETAN DIGIT NINE
-0F2A;N # TIBETAN DIGIT HALF ONE
-0F2B;N # TIBETAN DIGIT HALF TWO
-0F2C;N # TIBETAN DIGIT HALF THREE
-0F2D;N # TIBETAN DIGIT HALF FOUR
-0F2E;N # TIBETAN DIGIT HALF FIVE
-0F2F;N # TIBETAN DIGIT HALF SIX
-0F30;N # TIBETAN DIGIT HALF SEVEN
-0F31;N # TIBETAN DIGIT HALF EIGHT
-0F32;N # TIBETAN DIGIT HALF NINE
-0F33;N # TIBETAN DIGIT HALF ZERO
-0F34;N # TIBETAN MARK BSDUS RTAGS
-0F35;N # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36;N # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F37;N # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38;N # TIBETAN MARK CHE MGO
-0F39;N # TIBETAN MARK TSA -PHRU
-0F3A;N # TIBETAN MARK GUG RTAGS GYON
-0F3B;N # TIBETAN MARK GUG RTAGS GYAS
-0F3C;N # TIBETAN MARK ANG KHANG GYON
-0F3D;N # TIBETAN MARK ANG KHANG GYAS
-0F3E;N # TIBETAN SIGN YAR TSHES
-0F3F;N # TIBETAN SIGN MAR TSHES
-0F40;N # TIBETAN LETTER KA
-0F41;N # TIBETAN LETTER KHA
-0F42;N # TIBETAN LETTER GA
-0F43;N # TIBETAN LETTER GHA
-0F44;N # TIBETAN LETTER NGA
-0F45;N # TIBETAN LETTER CA
-0F46;N # TIBETAN LETTER CHA
-0F47;N # TIBETAN LETTER JA
-0F49;N # TIBETAN LETTER NYA
-0F4A;N # TIBETAN LETTER TTA
-0F4B;N # TIBETAN LETTER TTHA
-0F4C;N # TIBETAN LETTER DDA
-0F4D;N # TIBETAN LETTER DDHA
-0F4E;N # TIBETAN LETTER NNA
-0F4F;N # TIBETAN LETTER TA
-0F50;N # TIBETAN LETTER THA
-0F51;N # TIBETAN LETTER DA
-0F52;N # TIBETAN LETTER DHA
-0F53;N # TIBETAN LETTER NA
-0F54;N # TIBETAN LETTER PA
-0F55;N # TIBETAN LETTER PHA
-0F56;N # TIBETAN LETTER BA
-0F57;N # TIBETAN LETTER BHA
-0F58;N # TIBETAN LETTER MA
-0F59;N # TIBETAN LETTER TSA
-0F5A;N # TIBETAN LETTER TSHA
-0F5B;N # TIBETAN LETTER DZA
-0F5C;N # TIBETAN LETTER DZHA
-0F5D;N # TIBETAN LETTER WA
-0F5E;N # TIBETAN LETTER ZHA
-0F5F;N # TIBETAN LETTER ZA
-0F60;N # TIBETAN LETTER -A
-0F61;N # TIBETAN LETTER YA
-0F62;N # TIBETAN LETTER RA
-0F63;N # TIBETAN LETTER LA
-0F64;N # TIBETAN LETTER SHA
-0F65;N # TIBETAN LETTER SSA
-0F66;N # TIBETAN LETTER SA
-0F67;N # TIBETAN LETTER HA
-0F68;N # TIBETAN LETTER A
-0F69;N # TIBETAN LETTER KSSA
-0F6A;N # TIBETAN LETTER FIXED-FORM RA
-0F6B;N # TIBETAN LETTER KKA
-0F6C;N # TIBETAN LETTER RRA
-0F71;N # TIBETAN VOWEL SIGN AA
-0F72;N # TIBETAN VOWEL SIGN I
-0F73;N # TIBETAN VOWEL SIGN II
-0F74;N # TIBETAN VOWEL SIGN U
-0F75;N # TIBETAN VOWEL SIGN UU
-0F76;N # TIBETAN VOWEL SIGN VOCALIC R
-0F77;N # TIBETAN VOWEL SIGN VOCALIC RR
-0F78;N # TIBETAN VOWEL SIGN VOCALIC L
-0F79;N # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A;N # TIBETAN VOWEL SIGN E
-0F7B;N # TIBETAN VOWEL SIGN EE
-0F7C;N # TIBETAN VOWEL SIGN O
-0F7D;N # TIBETAN VOWEL SIGN OO
-0F7E;N # TIBETAN SIGN RJES SU NGA RO
-0F7F;N # TIBETAN SIGN RNAM BCAD
-0F80;N # TIBETAN VOWEL SIGN REVERSED I
-0F81;N # TIBETAN VOWEL SIGN REVERSED II
-0F82;N # TIBETAN SIGN NYI ZLA NAA DA
-0F83;N # TIBETAN SIGN SNA LDAN
-0F84;N # TIBETAN MARK HALANTA
-0F85;N # TIBETAN MARK PALUTA
-0F86;N # TIBETAN SIGN LCI RTAGS
-0F87;N # TIBETAN SIGN YANG RTAGS
-0F88;N # TIBETAN SIGN LCE TSA CAN
-0F89;N # TIBETAN SIGN MCHU CAN
-0F8A;N # TIBETAN SIGN GRU CAN RGYINGS
-0F8B;N # TIBETAN SIGN GRU MED RGYINGS
-0F90;N # TIBETAN SUBJOINED LETTER KA
-0F91;N # TIBETAN SUBJOINED LETTER KHA
-0F92;N # TIBETAN SUBJOINED LETTER GA
-0F93;N # TIBETAN SUBJOINED LETTER GHA
-0F94;N # TIBETAN SUBJOINED LETTER NGA
-0F95;N # TIBETAN SUBJOINED LETTER CA
-0F96;N # TIBETAN SUBJOINED LETTER CHA
-0F97;N # TIBETAN SUBJOINED LETTER JA
-0F99;N # TIBETAN SUBJOINED LETTER NYA
-0F9A;N # TIBETAN SUBJOINED LETTER TTA
-0F9B;N # TIBETAN SUBJOINED LETTER TTHA
-0F9C;N # TIBETAN SUBJOINED LETTER DDA
-0F9D;N # TIBETAN SUBJOINED LETTER DDHA
-0F9E;N # TIBETAN SUBJOINED LETTER NNA
-0F9F;N # TIBETAN SUBJOINED LETTER TA
-0FA0;N # TIBETAN SUBJOINED LETTER THA
-0FA1;N # TIBETAN SUBJOINED LETTER DA
-0FA2;N # TIBETAN SUBJOINED LETTER DHA
-0FA3;N # TIBETAN SUBJOINED LETTER NA
-0FA4;N # TIBETAN SUBJOINED LETTER PA
-0FA5;N # TIBETAN SUBJOINED LETTER PHA
-0FA6;N # TIBETAN SUBJOINED LETTER BA
-0FA7;N # TIBETAN SUBJOINED LETTER BHA
-0FA8;N # TIBETAN SUBJOINED LETTER MA
-0FA9;N # TIBETAN SUBJOINED LETTER TSA
-0FAA;N # TIBETAN SUBJOINED LETTER TSHA
-0FAB;N # TIBETAN SUBJOINED LETTER DZA
-0FAC;N # TIBETAN SUBJOINED LETTER DZHA
-0FAD;N # TIBETAN SUBJOINED LETTER WA
-0FAE;N # TIBETAN SUBJOINED LETTER ZHA
-0FAF;N # TIBETAN SUBJOINED LETTER ZA
-0FB0;N # TIBETAN SUBJOINED LETTER -A
-0FB1;N # TIBETAN SUBJOINED LETTER YA
-0FB2;N # TIBETAN SUBJOINED LETTER RA
-0FB3;N # TIBETAN SUBJOINED LETTER LA
-0FB4;N # TIBETAN SUBJOINED LETTER SHA
-0FB5;N # TIBETAN SUBJOINED LETTER SSA
-0FB6;N # TIBETAN SUBJOINED LETTER SA
-0FB7;N # TIBETAN SUBJOINED LETTER HA
-0FB8;N # TIBETAN SUBJOINED LETTER A
-0FB9;N # TIBETAN SUBJOINED LETTER KSSA
-0FBA;N # TIBETAN SUBJOINED LETTER FIXED-FORM WA
-0FBB;N # TIBETAN SUBJOINED LETTER FIXED-FORM YA
-0FBC;N # TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE;N # TIBETAN KU RU KHA
-0FBF;N # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0;N # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1;N # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2;N # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3;N # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4;N # TIBETAN SYMBOL DRIL BU
-0FC5;N # TIBETAN SYMBOL RDO RJE
-0FC6;N # TIBETAN SYMBOL PADMA GDAN
-0FC7;N # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8;N # TIBETAN SYMBOL PHUR PA
-0FC9;N # TIBETAN SYMBOL NOR BU
-0FCA;N # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB;N # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC;N # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE;N # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF;N # TIBETAN SIGN RDEL NAG GSUM
-0FD0;N # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1;N # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2;N # TIBETAN MARK NYIS TSHEG
-0FD3;N # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4;N # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5;N # RIGHT-FACING SVASTI SIGN
-0FD6;N # LEFT-FACING SVASTI SIGN
-0FD7;N # RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8;N # LEFT-FACING SVASTI SIGN WITH DOTS
-1000;N # MYANMAR LETTER KA
-1001;N # MYANMAR LETTER KHA
-1002;N # MYANMAR LETTER GA
-1003;N # MYANMAR LETTER GHA
-1004;N # MYANMAR LETTER NGA
-1005;N # MYANMAR LETTER CA
-1006;N # MYANMAR LETTER CHA
-1007;N # MYANMAR LETTER JA
-1008;N # MYANMAR LETTER JHA
-1009;N # MYANMAR LETTER NYA
-100A;N # MYANMAR LETTER NNYA
-100B;N # MYANMAR LETTER TTA
-100C;N # MYANMAR LETTER TTHA
-100D;N # MYANMAR LETTER DDA
-100E;N # MYANMAR LETTER DDHA
-100F;N # MYANMAR LETTER NNA
-1010;N # MYANMAR LETTER TA
-1011;N # MYANMAR LETTER THA
-1012;N # MYANMAR LETTER DA
-1013;N # MYANMAR LETTER DHA
-1014;N # MYANMAR LETTER NA
-1015;N # MYANMAR LETTER PA
-1016;N # MYANMAR LETTER PHA
-1017;N # MYANMAR LETTER BA
-1018;N # MYANMAR LETTER BHA
-1019;N # MYANMAR LETTER MA
-101A;N # MYANMAR LETTER YA
-101B;N # MYANMAR LETTER RA
-101C;N # MYANMAR LETTER LA
-101D;N # MYANMAR LETTER WA
-101E;N # MYANMAR LETTER SA
-101F;N # MYANMAR LETTER HA
-1020;N # MYANMAR LETTER LLA
-1021;N # MYANMAR LETTER A
-1022;N # MYANMAR LETTER SHAN A
-1023;N # MYANMAR LETTER I
-1024;N # MYANMAR LETTER II
-1025;N # MYANMAR LETTER U
-1026;N # MYANMAR LETTER UU
-1027;N # MYANMAR LETTER E
-1028;N # MYANMAR LETTER MON E
-1029;N # MYANMAR LETTER O
-102A;N # MYANMAR LETTER AU
-102B;N # MYANMAR VOWEL SIGN TALL AA
-102C;N # MYANMAR VOWEL SIGN AA
-102D;N # MYANMAR VOWEL SIGN I
-102E;N # MYANMAR VOWEL SIGN II
-102F;N # MYANMAR VOWEL SIGN U
-1030;N # MYANMAR VOWEL SIGN UU
-1031;N # MYANMAR VOWEL SIGN E
-1032;N # MYANMAR VOWEL SIGN AI
-1033;N # MYANMAR VOWEL SIGN MON II
-1034;N # MYANMAR VOWEL SIGN MON O
-1035;N # MYANMAR VOWEL SIGN E ABOVE
-1036;N # MYANMAR SIGN ANUSVARA
-1037;N # MYANMAR SIGN DOT BELOW
-1038;N # MYANMAR SIGN VISARGA
-1039;N # MYANMAR SIGN VIRAMA
-103A;N # MYANMAR SIGN ASAT
-103B;N # MYANMAR CONSONANT SIGN MEDIAL YA
-103C;N # MYANMAR CONSONANT SIGN MEDIAL RA
-103D;N # MYANMAR CONSONANT SIGN MEDIAL WA
-103E;N # MYANMAR CONSONANT SIGN MEDIAL HA
-103F;N # MYANMAR LETTER GREAT SA
-1040;N # MYANMAR DIGIT ZERO
-1041;N # MYANMAR DIGIT ONE
-1042;N # MYANMAR DIGIT TWO
-1043;N # MYANMAR DIGIT THREE
-1044;N # MYANMAR DIGIT FOUR
-1045;N # MYANMAR DIGIT FIVE
-1046;N # MYANMAR DIGIT SIX
-1047;N # MYANMAR DIGIT SEVEN
-1048;N # MYANMAR DIGIT EIGHT
-1049;N # MYANMAR DIGIT NINE
-104A;N # MYANMAR SIGN LITTLE SECTION
-104B;N # MYANMAR SIGN SECTION
-104C;N # MYANMAR SYMBOL LOCATIVE
-104D;N # MYANMAR SYMBOL COMPLETED
-104E;N # MYANMAR SYMBOL AFOREMENTIONED
-104F;N # MYANMAR SYMBOL GENITIVE
-1050;N # MYANMAR LETTER SHA
-1051;N # MYANMAR LETTER SSA
-1052;N # MYANMAR LETTER VOCALIC R
-1053;N # MYANMAR LETTER VOCALIC RR
-1054;N # MYANMAR LETTER VOCALIC L
-1055;N # MYANMAR LETTER VOCALIC LL
-1056;N # MYANMAR VOWEL SIGN VOCALIC R
-1057;N # MYANMAR VOWEL SIGN VOCALIC RR
-1058;N # MYANMAR VOWEL SIGN VOCALIC L
-1059;N # MYANMAR VOWEL SIGN VOCALIC LL
-105A;N # MYANMAR LETTER MON NGA
-105B;N # MYANMAR LETTER MON JHA
-105C;N # MYANMAR LETTER MON BBA
-105D;N # MYANMAR LETTER MON BBE
-105E;N # MYANMAR CONSONANT SIGN MON MEDIAL NA
-105F;N # MYANMAR CONSONANT SIGN MON MEDIAL MA
-1060;N # MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061;N # MYANMAR LETTER SGAW KAREN SHA
-1062;N # MYANMAR VOWEL SIGN SGAW KAREN EU
-1063;N # MYANMAR TONE MARK SGAW KAREN HATHI
-1064;N # MYANMAR TONE MARK SGAW KAREN KE PHO
-1065;N # MYANMAR LETTER WESTERN PWO KAREN THA
-1066;N # MYANMAR LETTER WESTERN PWO KAREN PWA
-1067;N # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068;N # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1069;N # MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A;N # MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B;N # MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C;N # MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D;N # MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E;N # MYANMAR LETTER EASTERN PWO KAREN NNA
-106F;N # MYANMAR LETTER EASTERN PWO KAREN YWA
-1070;N # MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071;N # MYANMAR VOWEL SIGN GEBA KAREN I
-1072;N # MYANMAR VOWEL SIGN KAYAH OE
-1073;N # MYANMAR VOWEL SIGN KAYAH U
-1074;N # MYANMAR VOWEL SIGN KAYAH EE
-1075;N # MYANMAR LETTER SHAN KA
-1076;N # MYANMAR LETTER SHAN KHA
-1077;N # MYANMAR LETTER SHAN GA
-1078;N # MYANMAR LETTER SHAN CA
-1079;N # MYANMAR LETTER SHAN ZA
-107A;N # MYANMAR LETTER SHAN NYA
-107B;N # MYANMAR LETTER SHAN DA
-107C;N # MYANMAR LETTER SHAN NA
-107D;N # MYANMAR LETTER SHAN PHA
-107E;N # MYANMAR LETTER SHAN FA
-107F;N # MYANMAR LETTER SHAN BA
-1080;N # MYANMAR LETTER SHAN THA
-1081;N # MYANMAR LETTER SHAN HA
-1082;N # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083;N # MYANMAR VOWEL SIGN SHAN AA
-1084;N # MYANMAR VOWEL SIGN SHAN E
-1085;N # MYANMAR VOWEL SIGN SHAN E ABOVE
-1086;N # MYANMAR VOWEL SIGN SHAN FINAL Y
-1087;N # MYANMAR SIGN SHAN TONE-2
-1088;N # MYANMAR SIGN SHAN TONE-3
-1089;N # MYANMAR SIGN SHAN TONE-5
-108A;N # MYANMAR SIGN SHAN TONE-6
-108B;N # MYANMAR SIGN SHAN COUNCIL TONE-2
-108C;N # MYANMAR SIGN SHAN COUNCIL TONE-3
-108D;N # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E;N # MYANMAR LETTER RUMAI PALAUNG FA
-108F;N # MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090;N # MYANMAR SHAN DIGIT ZERO
-1091;N # MYANMAR SHAN DIGIT ONE
-1092;N # MYANMAR SHAN DIGIT TWO
-1093;N # MYANMAR SHAN DIGIT THREE
-1094;N # MYANMAR SHAN DIGIT FOUR
-1095;N # MYANMAR SHAN DIGIT FIVE
-1096;N # MYANMAR SHAN DIGIT SIX
-1097;N # MYANMAR SHAN DIGIT SEVEN
-1098;N # MYANMAR SHAN DIGIT EIGHT
-1099;N # MYANMAR SHAN DIGIT NINE
-109A;N # MYANMAR SIGN KHAMTI TONE-1
-109B;N # MYANMAR SIGN KHAMTI TONE-3
-109C;N # MYANMAR VOWEL SIGN AITON A
-109D;N # MYANMAR VOWEL SIGN AITON AI
-109E;N # MYANMAR SYMBOL SHAN ONE
-109F;N # MYANMAR SYMBOL SHAN EXCLAMATION
-10A0;N # GEORGIAN CAPITAL LETTER AN
-10A1;N # GEORGIAN CAPITAL LETTER BAN
-10A2;N # GEORGIAN CAPITAL LETTER GAN
-10A3;N # GEORGIAN CAPITAL LETTER DON
-10A4;N # GEORGIAN CAPITAL LETTER EN
-10A5;N # GEORGIAN CAPITAL LETTER VIN
-10A6;N # GEORGIAN CAPITAL LETTER ZEN
-10A7;N # GEORGIAN CAPITAL LETTER TAN
-10A8;N # GEORGIAN CAPITAL LETTER IN
-10A9;N # GEORGIAN CAPITAL LETTER KAN
-10AA;N # GEORGIAN CAPITAL LETTER LAS
-10AB;N # GEORGIAN CAPITAL LETTER MAN
-10AC;N # GEORGIAN CAPITAL LETTER NAR
-10AD;N # GEORGIAN CAPITAL LETTER ON
-10AE;N # GEORGIAN CAPITAL LETTER PAR
-10AF;N # GEORGIAN CAPITAL LETTER ZHAR
-10B0;N # GEORGIAN CAPITAL LETTER RAE
-10B1;N # GEORGIAN CAPITAL LETTER SAN
-10B2;N # GEORGIAN CAPITAL LETTER TAR
-10B3;N # GEORGIAN CAPITAL LETTER UN
-10B4;N # GEORGIAN CAPITAL LETTER PHAR
-10B5;N # GEORGIAN CAPITAL LETTER KHAR
-10B6;N # GEORGIAN CAPITAL LETTER GHAN
-10B7;N # GEORGIAN CAPITAL LETTER QAR
-10B8;N # GEORGIAN CAPITAL LETTER SHIN
-10B9;N # GEORGIAN CAPITAL LETTER CHIN
-10BA;N # GEORGIAN CAPITAL LETTER CAN
-10BB;N # GEORGIAN CAPITAL LETTER JIL
-10BC;N # GEORGIAN CAPITAL LETTER CIL
-10BD;N # GEORGIAN CAPITAL LETTER CHAR
-10BE;N # GEORGIAN CAPITAL LETTER XAN
-10BF;N # GEORGIAN CAPITAL LETTER JHAN
-10C0;N # GEORGIAN CAPITAL LETTER HAE
-10C1;N # GEORGIAN CAPITAL LETTER HE
-10C2;N # GEORGIAN CAPITAL LETTER HIE
-10C3;N # GEORGIAN CAPITAL LETTER WE
-10C4;N # GEORGIAN CAPITAL LETTER HAR
-10C5;N # GEORGIAN CAPITAL LETTER HOE
-10D0;N # GEORGIAN LETTER AN
-10D1;N # GEORGIAN LETTER BAN
-10D2;N # GEORGIAN LETTER GAN
-10D3;N # GEORGIAN LETTER DON
-10D4;N # GEORGIAN LETTER EN
-10D5;N # GEORGIAN LETTER VIN
-10D6;N # GEORGIAN LETTER ZEN
-10D7;N # GEORGIAN LETTER TAN
-10D8;N # GEORGIAN LETTER IN
-10D9;N # GEORGIAN LETTER KAN
-10DA;N # GEORGIAN LETTER LAS
-10DB;N # GEORGIAN LETTER MAN
-10DC;N # GEORGIAN LETTER NAR
-10DD;N # GEORGIAN LETTER ON
-10DE;N # GEORGIAN LETTER PAR
-10DF;N # GEORGIAN LETTER ZHAR
-10E0;N # GEORGIAN LETTER RAE
-10E1;N # GEORGIAN LETTER SAN
-10E2;N # GEORGIAN LETTER TAR
-10E3;N # GEORGIAN LETTER UN
-10E4;N # GEORGIAN LETTER PHAR
-10E5;N # GEORGIAN LETTER KHAR
-10E6;N # GEORGIAN LETTER GHAN
-10E7;N # GEORGIAN LETTER QAR
-10E8;N # GEORGIAN LETTER SHIN
-10E9;N # GEORGIAN LETTER CHIN
-10EA;N # GEORGIAN LETTER CAN
-10EB;N # GEORGIAN LETTER JIL
-10EC;N # GEORGIAN LETTER CIL
-10ED;N # GEORGIAN LETTER CHAR
-10EE;N # GEORGIAN LETTER XAN
-10EF;N # GEORGIAN LETTER JHAN
-10F0;N # GEORGIAN LETTER HAE
-10F1;N # GEORGIAN LETTER HE
-10F2;N # GEORGIAN LETTER HIE
-10F3;N # GEORGIAN LETTER WE
-10F4;N # GEORGIAN LETTER HAR
-10F5;N # GEORGIAN LETTER HOE
-10F6;N # GEORGIAN LETTER FI
-10F7;N # GEORGIAN LETTER YN
-10F8;N # GEORGIAN LETTER ELIFI
-10F9;N # GEORGIAN LETTER TURNED GAN
-10FA;N # GEORGIAN LETTER AIN
-10FB;N # GEORGIAN PARAGRAPH SEPARATOR
-10FC;N # MODIFIER LETTER GEORGIAN NAR
-1100;W # HANGUL CHOSEONG KIYEOK
-1101;W # HANGUL CHOSEONG SSANGKIYEOK
-1102;W # HANGUL CHOSEONG NIEUN
-1103;W # HANGUL CHOSEONG TIKEUT
-1104;W # HANGUL CHOSEONG SSANGTIKEUT
-1105;W # HANGUL CHOSEONG RIEUL
-1106;W # HANGUL CHOSEONG MIEUM
-1107;W # HANGUL CHOSEONG PIEUP
-1108;W # HANGUL CHOSEONG SSANGPIEUP
-1109;W # HANGUL CHOSEONG SIOS
-110A;W # HANGUL CHOSEONG SSANGSIOS
-110B;W # HANGUL CHOSEONG IEUNG
-110C;W # HANGUL CHOSEONG CIEUC
-110D;W # HANGUL CHOSEONG SSANGCIEUC
-110E;W # HANGUL CHOSEONG CHIEUCH
-110F;W # HANGUL CHOSEONG KHIEUKH
-1110;W # HANGUL CHOSEONG THIEUTH
-1111;W # HANGUL CHOSEONG PHIEUPH
-1112;W # HANGUL CHOSEONG HIEUH
-1113;W # HANGUL CHOSEONG NIEUN-KIYEOK
-1114;W # HANGUL CHOSEONG SSANGNIEUN
-1115;W # HANGUL CHOSEONG NIEUN-TIKEUT
-1116;W # HANGUL CHOSEONG NIEUN-PIEUP
-1117;W # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118;W # HANGUL CHOSEONG RIEUL-NIEUN
-1119;W # HANGUL CHOSEONG SSANGRIEUL
-111A;W # HANGUL CHOSEONG RIEUL-HIEUH
-111B;W # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C;W # HANGUL CHOSEONG MIEUM-PIEUP
-111D;W # HANGUL CHOSEONG KAPYEOUNMIEUM
-111E;W # HANGUL CHOSEONG PIEUP-KIYEOK
-111F;W # HANGUL CHOSEONG PIEUP-NIEUN
-1120;W # HANGUL CHOSEONG PIEUP-TIKEUT
-1121;W # HANGUL CHOSEONG PIEUP-SIOS
-1122;W # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-1123;W # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-1124;W # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125;W # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126;W # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127;W # HANGUL CHOSEONG PIEUP-CIEUC
-1128;W # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129;W # HANGUL CHOSEONG PIEUP-THIEUTH
-112A;W # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B;W # HANGUL CHOSEONG KAPYEOUNPIEUP
-112C;W # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-112D;W # HANGUL CHOSEONG SIOS-KIYEOK
-112E;W # HANGUL CHOSEONG SIOS-NIEUN
-112F;W # HANGUL CHOSEONG SIOS-TIKEUT
-1130;W # HANGUL CHOSEONG SIOS-RIEUL
-1131;W # HANGUL CHOSEONG SIOS-MIEUM
-1132;W # HANGUL CHOSEONG SIOS-PIEUP
-1133;W # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134;W # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135;W # HANGUL CHOSEONG SIOS-IEUNG
-1136;W # HANGUL CHOSEONG SIOS-CIEUC
-1137;W # HANGUL CHOSEONG SIOS-CHIEUCH
-1138;W # HANGUL CHOSEONG SIOS-KHIEUKH
-1139;W # HANGUL CHOSEONG SIOS-THIEUTH
-113A;W # HANGUL CHOSEONG SIOS-PHIEUPH
-113B;W # HANGUL CHOSEONG SIOS-HIEUH
-113C;W # HANGUL CHOSEONG CHITUEUMSIOS
-113D;W # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E;W # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F;W # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140;W # HANGUL CHOSEONG PANSIOS
-1141;W # HANGUL CHOSEONG IEUNG-KIYEOK
-1142;W # HANGUL CHOSEONG IEUNG-TIKEUT
-1143;W # HANGUL CHOSEONG IEUNG-MIEUM
-1144;W # HANGUL CHOSEONG IEUNG-PIEUP
-1145;W # HANGUL CHOSEONG IEUNG-SIOS
-1146;W # HANGUL CHOSEONG IEUNG-PANSIOS
-1147;W # HANGUL CHOSEONG SSANGIEUNG
-1148;W # HANGUL CHOSEONG IEUNG-CIEUC
-1149;W # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A;W # HANGUL CHOSEONG IEUNG-THIEUTH
-114B;W # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C;W # HANGUL CHOSEONG YESIEUNG
-114D;W # HANGUL CHOSEONG CIEUC-IEUNG
-114E;W # HANGUL CHOSEONG CHITUEUMCIEUC
-114F;W # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150;W # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151;W # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152;W # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153;W # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154;W # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155;W # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156;W # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157;W # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-1158;W # HANGUL CHOSEONG SSANGHIEUH
-1159;W # HANGUL CHOSEONG YEORINHIEUH
-115A;W # HANGUL CHOSEONG KIYEOK-TIKEUT
-115B;W # HANGUL CHOSEONG NIEUN-SIOS
-115C;W # HANGUL CHOSEONG NIEUN-CIEUC
-115D;W # HANGUL CHOSEONG NIEUN-HIEUH
-115E;W # HANGUL CHOSEONG TIKEUT-RIEUL
-115F;W # HANGUL CHOSEONG FILLER
-1160;N # HANGUL JUNGSEONG FILLER
-1161;N # HANGUL JUNGSEONG A
-1162;N # HANGUL JUNGSEONG AE
-1163;N # HANGUL JUNGSEONG YA
-1164;N # HANGUL JUNGSEONG YAE
-1165;N # HANGUL JUNGSEONG EO
-1166;N # HANGUL JUNGSEONG E
-1167;N # HANGUL JUNGSEONG YEO
-1168;N # HANGUL JUNGSEONG YE
-1169;N # HANGUL JUNGSEONG O
-116A;N # HANGUL JUNGSEONG WA
-116B;N # HANGUL JUNGSEONG WAE
-116C;N # HANGUL JUNGSEONG OE
-116D;N # HANGUL JUNGSEONG YO
-116E;N # HANGUL JUNGSEONG U
-116F;N # HANGUL JUNGSEONG WEO
-1170;N # HANGUL JUNGSEONG WE
-1171;N # HANGUL JUNGSEONG WI
-1172;N # HANGUL JUNGSEONG YU
-1173;N # HANGUL JUNGSEONG EU
-1174;N # HANGUL JUNGSEONG YI
-1175;N # HANGUL JUNGSEONG I
-1176;N # HANGUL JUNGSEONG A-O
-1177;N # HANGUL JUNGSEONG A-U
-1178;N # HANGUL JUNGSEONG YA-O
-1179;N # HANGUL JUNGSEONG YA-YO
-117A;N # HANGUL JUNGSEONG EO-O
-117B;N # HANGUL JUNGSEONG EO-U
-117C;N # HANGUL JUNGSEONG EO-EU
-117D;N # HANGUL JUNGSEONG YEO-O
-117E;N # HANGUL JUNGSEONG YEO-U
-117F;N # HANGUL JUNGSEONG O-EO
-1180;N # HANGUL JUNGSEONG O-E
-1181;N # HANGUL JUNGSEONG O-YE
-1182;N # HANGUL JUNGSEONG O-O
-1183;N # HANGUL JUNGSEONG O-U
-1184;N # HANGUL JUNGSEONG YO-YA
-1185;N # HANGUL JUNGSEONG YO-YAE
-1186;N # HANGUL JUNGSEONG YO-YEO
-1187;N # HANGUL JUNGSEONG YO-O
-1188;N # HANGUL JUNGSEONG YO-I
-1189;N # HANGUL JUNGSEONG U-A
-118A;N # HANGUL JUNGSEONG U-AE
-118B;N # HANGUL JUNGSEONG U-EO-EU
-118C;N # HANGUL JUNGSEONG U-YE
-118D;N # HANGUL JUNGSEONG U-U
-118E;N # HANGUL JUNGSEONG YU-A
-118F;N # HANGUL JUNGSEONG YU-EO
-1190;N # HANGUL JUNGSEONG YU-E
-1191;N # HANGUL JUNGSEONG YU-YEO
-1192;N # HANGUL JUNGSEONG YU-YE
-1193;N # HANGUL JUNGSEONG YU-U
-1194;N # HANGUL JUNGSEONG YU-I
-1195;N # HANGUL JUNGSEONG EU-U
-1196;N # HANGUL JUNGSEONG EU-EU
-1197;N # HANGUL JUNGSEONG YI-U
-1198;N # HANGUL JUNGSEONG I-A
-1199;N # HANGUL JUNGSEONG I-YA
-119A;N # HANGUL JUNGSEONG I-O
-119B;N # HANGUL JUNGSEONG I-U
-119C;N # HANGUL JUNGSEONG I-EU
-119D;N # HANGUL JUNGSEONG I-ARAEA
-119E;N # HANGUL JUNGSEONG ARAEA
-119F;N # HANGUL JUNGSEONG ARAEA-EO
-11A0;N # HANGUL JUNGSEONG ARAEA-U
-11A1;N # HANGUL JUNGSEONG ARAEA-I
-11A2;N # HANGUL JUNGSEONG SSANGARAEA
-11A3;W # HANGUL JUNGSEONG A-EU
-11A4;W # HANGUL JUNGSEONG YA-U
-11A5;W # HANGUL JUNGSEONG YEO-YA
-11A6;W # HANGUL JUNGSEONG O-YA
-11A7;W # HANGUL JUNGSEONG O-YAE
-11A8;N # HANGUL JONGSEONG KIYEOK
-11A9;N # HANGUL JONGSEONG SSANGKIYEOK
-11AA;N # HANGUL JONGSEONG KIYEOK-SIOS
-11AB;N # HANGUL JONGSEONG NIEUN
-11AC;N # HANGUL JONGSEONG NIEUN-CIEUC
-11AD;N # HANGUL JONGSEONG NIEUN-HIEUH
-11AE;N # HANGUL JONGSEONG TIKEUT
-11AF;N # HANGUL JONGSEONG RIEUL
-11B0;N # HANGUL JONGSEONG RIEUL-KIYEOK
-11B1;N # HANGUL JONGSEONG RIEUL-MIEUM
-11B2;N # HANGUL JONGSEONG RIEUL-PIEUP
-11B3;N # HANGUL JONGSEONG RIEUL-SIOS
-11B4;N # HANGUL JONGSEONG RIEUL-THIEUTH
-11B5;N # HANGUL JONGSEONG RIEUL-PHIEUPH
-11B6;N # HANGUL JONGSEONG RIEUL-HIEUH
-11B7;N # HANGUL JONGSEONG MIEUM
-11B8;N # HANGUL JONGSEONG PIEUP
-11B9;N # HANGUL JONGSEONG PIEUP-SIOS
-11BA;N # HANGUL JONGSEONG SIOS
-11BB;N # HANGUL JONGSEONG SSANGSIOS
-11BC;N # HANGUL JONGSEONG IEUNG
-11BD;N # HANGUL JONGSEONG CIEUC
-11BE;N # HANGUL JONGSEONG CHIEUCH
-11BF;N # HANGUL JONGSEONG KHIEUKH
-11C0;N # HANGUL JONGSEONG THIEUTH
-11C1;N # HANGUL JONGSEONG PHIEUPH
-11C2;N # HANGUL JONGSEONG HIEUH
-11C3;N # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4;N # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5;N # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6;N # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7;N # HANGUL JONGSEONG NIEUN-SIOS
-11C8;N # HANGUL JONGSEONG NIEUN-PANSIOS
-11C9;N # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA;N # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB;N # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC;N # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-11CD;N # HANGUL JONGSEONG RIEUL-NIEUN
-11CE;N # HANGUL JONGSEONG RIEUL-TIKEUT
-11CF;N # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0;N # HANGUL JONGSEONG SSANGRIEUL
-11D1;N # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2;N # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3;N # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-11D4;N # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5;N # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6;N # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7;N # HANGUL JONGSEONG RIEUL-PANSIOS
-11D8;N # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9;N # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-11DA;N # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB;N # HANGUL JONGSEONG MIEUM-RIEUL
-11DC;N # HANGUL JONGSEONG MIEUM-PIEUP
-11DD;N # HANGUL JONGSEONG MIEUM-SIOS
-11DE;N # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF;N # HANGUL JONGSEONG MIEUM-PANSIOS
-11E0;N # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1;N # HANGUL JONGSEONG MIEUM-HIEUH
-11E2;N # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3;N # HANGUL JONGSEONG PIEUP-RIEUL
-11E4;N # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5;N # HANGUL JONGSEONG PIEUP-HIEUH
-11E6;N # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7;N # HANGUL JONGSEONG SIOS-KIYEOK
-11E8;N # HANGUL JONGSEONG SIOS-TIKEUT
-11E9;N # HANGUL JONGSEONG SIOS-RIEUL
-11EA;N # HANGUL JONGSEONG SIOS-PIEUP
-11EB;N # HANGUL JONGSEONG PANSIOS
-11EC;N # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED;N # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE;N # HANGUL JONGSEONG SSANGIEUNG
-11EF;N # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0;N # HANGUL JONGSEONG YESIEUNG
-11F1;N # HANGUL JONGSEONG YESIEUNG-SIOS
-11F2;N # HANGUL JONGSEONG YESIEUNG-PANSIOS
-11F3;N # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4;N # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5;N # HANGUL JONGSEONG HIEUH-NIEUN
-11F6;N # HANGUL JONGSEONG HIEUH-RIEUL
-11F7;N # HANGUL JONGSEONG HIEUH-MIEUM
-11F8;N # HANGUL JONGSEONG HIEUH-PIEUP
-11F9;N # HANGUL JONGSEONG YEORINHIEUH
-11FA;W # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB;W # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC;W # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD;W # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE;W # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF;W # HANGUL JONGSEONG SSANGNIEUN
-1200;N # ETHIOPIC SYLLABLE HA
-1201;N # ETHIOPIC SYLLABLE HU
-1202;N # ETHIOPIC SYLLABLE HI
-1203;N # ETHIOPIC SYLLABLE HAA
-1204;N # ETHIOPIC SYLLABLE HEE
-1205;N # ETHIOPIC SYLLABLE HE
-1206;N # ETHIOPIC SYLLABLE HO
-1207;N # ETHIOPIC SYLLABLE HOA
-1208;N # ETHIOPIC SYLLABLE LA
-1209;N # ETHIOPIC SYLLABLE LU
-120A;N # ETHIOPIC SYLLABLE LI
-120B;N # ETHIOPIC SYLLABLE LAA
-120C;N # ETHIOPIC SYLLABLE LEE
-120D;N # ETHIOPIC SYLLABLE LE
-120E;N # ETHIOPIC SYLLABLE LO
-120F;N # ETHIOPIC SYLLABLE LWA
-1210;N # ETHIOPIC SYLLABLE HHA
-1211;N # ETHIOPIC SYLLABLE HHU
-1212;N # ETHIOPIC SYLLABLE HHI
-1213;N # ETHIOPIC SYLLABLE HHAA
-1214;N # ETHIOPIC SYLLABLE HHEE
-1215;N # ETHIOPIC SYLLABLE HHE
-1216;N # ETHIOPIC SYLLABLE HHO
-1217;N # ETHIOPIC SYLLABLE HHWA
-1218;N # ETHIOPIC SYLLABLE MA
-1219;N # ETHIOPIC SYLLABLE MU
-121A;N # ETHIOPIC SYLLABLE MI
-121B;N # ETHIOPIC SYLLABLE MAA
-121C;N # ETHIOPIC SYLLABLE MEE
-121D;N # ETHIOPIC SYLLABLE ME
-121E;N # ETHIOPIC SYLLABLE MO
-121F;N # ETHIOPIC SYLLABLE MWA
-1220;N # ETHIOPIC SYLLABLE SZA
-1221;N # ETHIOPIC SYLLABLE SZU
-1222;N # ETHIOPIC SYLLABLE SZI
-1223;N # ETHIOPIC SYLLABLE SZAA
-1224;N # ETHIOPIC SYLLABLE SZEE
-1225;N # ETHIOPIC SYLLABLE SZE
-1226;N # ETHIOPIC SYLLABLE SZO
-1227;N # ETHIOPIC SYLLABLE SZWA
-1228;N # ETHIOPIC SYLLABLE RA
-1229;N # ETHIOPIC SYLLABLE RU
-122A;N # ETHIOPIC SYLLABLE RI
-122B;N # ETHIOPIC SYLLABLE RAA
-122C;N # ETHIOPIC SYLLABLE REE
-122D;N # ETHIOPIC SYLLABLE RE
-122E;N # ETHIOPIC SYLLABLE RO
-122F;N # ETHIOPIC SYLLABLE RWA
-1230;N # ETHIOPIC SYLLABLE SA
-1231;N # ETHIOPIC SYLLABLE SU
-1232;N # ETHIOPIC SYLLABLE SI
-1233;N # ETHIOPIC SYLLABLE SAA
-1234;N # ETHIOPIC SYLLABLE SEE
-1235;N # ETHIOPIC SYLLABLE SE
-1236;N # ETHIOPIC SYLLABLE SO
-1237;N # ETHIOPIC SYLLABLE SWA
-1238;N # ETHIOPIC SYLLABLE SHA
-1239;N # ETHIOPIC SYLLABLE SHU
-123A;N # ETHIOPIC SYLLABLE SHI
-123B;N # ETHIOPIC SYLLABLE SHAA
-123C;N # ETHIOPIC SYLLABLE SHEE
-123D;N # ETHIOPIC SYLLABLE SHE
-123E;N # ETHIOPIC SYLLABLE SHO
-123F;N # ETHIOPIC SYLLABLE SHWA
-1240;N # ETHIOPIC SYLLABLE QA
-1241;N # ETHIOPIC SYLLABLE QU
-1242;N # ETHIOPIC SYLLABLE QI
-1243;N # ETHIOPIC SYLLABLE QAA
-1244;N # ETHIOPIC SYLLABLE QEE
-1245;N # ETHIOPIC SYLLABLE QE
-1246;N # ETHIOPIC SYLLABLE QO
-1247;N # ETHIOPIC SYLLABLE QOA
-1248;N # ETHIOPIC SYLLABLE QWA
-124A;N # ETHIOPIC SYLLABLE QWI
-124B;N # ETHIOPIC SYLLABLE QWAA
-124C;N # ETHIOPIC SYLLABLE QWEE
-124D;N # ETHIOPIC SYLLABLE QWE
-1250;N # ETHIOPIC SYLLABLE QHA
-1251;N # ETHIOPIC SYLLABLE QHU
-1252;N # ETHIOPIC SYLLABLE QHI
-1253;N # ETHIOPIC SYLLABLE QHAA
-1254;N # ETHIOPIC SYLLABLE QHEE
-1255;N # ETHIOPIC SYLLABLE QHE
-1256;N # ETHIOPIC SYLLABLE QHO
-1258;N # ETHIOPIC SYLLABLE QHWA
-125A;N # ETHIOPIC SYLLABLE QHWI
-125B;N # ETHIOPIC SYLLABLE QHWAA
-125C;N # ETHIOPIC SYLLABLE QHWEE
-125D;N # ETHIOPIC SYLLABLE QHWE
-1260;N # ETHIOPIC SYLLABLE BA
-1261;N # ETHIOPIC SYLLABLE BU
-1262;N # ETHIOPIC SYLLABLE BI
-1263;N # ETHIOPIC SYLLABLE BAA
-1264;N # ETHIOPIC SYLLABLE BEE
-1265;N # ETHIOPIC SYLLABLE BE
-1266;N # ETHIOPIC SYLLABLE BO
-1267;N # ETHIOPIC SYLLABLE BWA
-1268;N # ETHIOPIC SYLLABLE VA
-1269;N # ETHIOPIC SYLLABLE VU
-126A;N # ETHIOPIC SYLLABLE VI
-126B;N # ETHIOPIC SYLLABLE VAA
-126C;N # ETHIOPIC SYLLABLE VEE
-126D;N # ETHIOPIC SYLLABLE VE
-126E;N # ETHIOPIC SYLLABLE VO
-126F;N # ETHIOPIC SYLLABLE VWA
-1270;N # ETHIOPIC SYLLABLE TA
-1271;N # ETHIOPIC SYLLABLE TU
-1272;N # ETHIOPIC SYLLABLE TI
-1273;N # ETHIOPIC SYLLABLE TAA
-1274;N # ETHIOPIC SYLLABLE TEE
-1275;N # ETHIOPIC SYLLABLE TE
-1276;N # ETHIOPIC SYLLABLE TO
-1277;N # ETHIOPIC SYLLABLE TWA
-1278;N # ETHIOPIC SYLLABLE CA
-1279;N # ETHIOPIC SYLLABLE CU
-127A;N # ETHIOPIC SYLLABLE CI
-127B;N # ETHIOPIC SYLLABLE CAA
-127C;N # ETHIOPIC SYLLABLE CEE
-127D;N # ETHIOPIC SYLLABLE CE
-127E;N # ETHIOPIC SYLLABLE CO
-127F;N # ETHIOPIC SYLLABLE CWA
-1280;N # ETHIOPIC SYLLABLE XA
-1281;N # ETHIOPIC SYLLABLE XU
-1282;N # ETHIOPIC SYLLABLE XI
-1283;N # ETHIOPIC SYLLABLE XAA
-1284;N # ETHIOPIC SYLLABLE XEE
-1285;N # ETHIOPIC SYLLABLE XE
-1286;N # ETHIOPIC SYLLABLE XO
-1287;N # ETHIOPIC SYLLABLE XOA
-1288;N # ETHIOPIC SYLLABLE XWA
-128A;N # ETHIOPIC SYLLABLE XWI
-128B;N # ETHIOPIC SYLLABLE XWAA
-128C;N # ETHIOPIC SYLLABLE XWEE
-128D;N # ETHIOPIC SYLLABLE XWE
-1290;N # ETHIOPIC SYLLABLE NA
-1291;N # ETHIOPIC SYLLABLE NU
-1292;N # ETHIOPIC SYLLABLE NI
-1293;N # ETHIOPIC SYLLABLE NAA
-1294;N # ETHIOPIC SYLLABLE NEE
-1295;N # ETHIOPIC SYLLABLE NE
-1296;N # ETHIOPIC SYLLABLE NO
-1297;N # ETHIOPIC SYLLABLE NWA
-1298;N # ETHIOPIC SYLLABLE NYA
-1299;N # ETHIOPIC SYLLABLE NYU
-129A;N # ETHIOPIC SYLLABLE NYI
-129B;N # ETHIOPIC SYLLABLE NYAA
-129C;N # ETHIOPIC SYLLABLE NYEE
-129D;N # ETHIOPIC SYLLABLE NYE
-129E;N # ETHIOPIC SYLLABLE NYO
-129F;N # ETHIOPIC SYLLABLE NYWA
-12A0;N # ETHIOPIC SYLLABLE GLOTTAL A
-12A1;N # ETHIOPIC SYLLABLE GLOTTAL U
-12A2;N # ETHIOPIC SYLLABLE GLOTTAL I
-12A3;N # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4;N # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5;N # ETHIOPIC SYLLABLE GLOTTAL E
-12A6;N # ETHIOPIC SYLLABLE GLOTTAL O
-12A7;N # ETHIOPIC SYLLABLE GLOTTAL WA
-12A8;N # ETHIOPIC SYLLABLE KA
-12A9;N # ETHIOPIC SYLLABLE KU
-12AA;N # ETHIOPIC SYLLABLE KI
-12AB;N # ETHIOPIC SYLLABLE KAA
-12AC;N # ETHIOPIC SYLLABLE KEE
-12AD;N # ETHIOPIC SYLLABLE KE
-12AE;N # ETHIOPIC SYLLABLE KO
-12AF;N # ETHIOPIC SYLLABLE KOA
-12B0;N # ETHIOPIC SYLLABLE KWA
-12B2;N # ETHIOPIC SYLLABLE KWI
-12B3;N # ETHIOPIC SYLLABLE KWAA
-12B4;N # ETHIOPIC SYLLABLE KWEE
-12B5;N # ETHIOPIC SYLLABLE KWE
-12B8;N # ETHIOPIC SYLLABLE KXA
-12B9;N # ETHIOPIC SYLLABLE KXU
-12BA;N # ETHIOPIC SYLLABLE KXI
-12BB;N # ETHIOPIC SYLLABLE KXAA
-12BC;N # ETHIOPIC SYLLABLE KXEE
-12BD;N # ETHIOPIC SYLLABLE KXE
-12BE;N # ETHIOPIC SYLLABLE KXO
-12C0;N # ETHIOPIC SYLLABLE KXWA
-12C2;N # ETHIOPIC SYLLABLE KXWI
-12C3;N # ETHIOPIC SYLLABLE KXWAA
-12C4;N # ETHIOPIC SYLLABLE KXWEE
-12C5;N # ETHIOPIC SYLLABLE KXWE
-12C8;N # ETHIOPIC SYLLABLE WA
-12C9;N # ETHIOPIC SYLLABLE WU
-12CA;N # ETHIOPIC SYLLABLE WI
-12CB;N # ETHIOPIC SYLLABLE WAA
-12CC;N # ETHIOPIC SYLLABLE WEE
-12CD;N # ETHIOPIC SYLLABLE WE
-12CE;N # ETHIOPIC SYLLABLE WO
-12CF;N # ETHIOPIC SYLLABLE WOA
-12D0;N # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1;N # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2;N # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3;N # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4;N # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5;N # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6;N # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8;N # ETHIOPIC SYLLABLE ZA
-12D9;N # ETHIOPIC SYLLABLE ZU
-12DA;N # ETHIOPIC SYLLABLE ZI
-12DB;N # ETHIOPIC SYLLABLE ZAA
-12DC;N # ETHIOPIC SYLLABLE ZEE
-12DD;N # ETHIOPIC SYLLABLE ZE
-12DE;N # ETHIOPIC SYLLABLE ZO
-12DF;N # ETHIOPIC SYLLABLE ZWA
-12E0;N # ETHIOPIC SYLLABLE ZHA
-12E1;N # ETHIOPIC SYLLABLE ZHU
-12E2;N # ETHIOPIC SYLLABLE ZHI
-12E3;N # ETHIOPIC SYLLABLE ZHAA
-12E4;N # ETHIOPIC SYLLABLE ZHEE
-12E5;N # ETHIOPIC SYLLABLE ZHE
-12E6;N # ETHIOPIC SYLLABLE ZHO
-12E7;N # ETHIOPIC SYLLABLE ZHWA
-12E8;N # ETHIOPIC SYLLABLE YA
-12E9;N # ETHIOPIC SYLLABLE YU
-12EA;N # ETHIOPIC SYLLABLE YI
-12EB;N # ETHIOPIC SYLLABLE YAA
-12EC;N # ETHIOPIC SYLLABLE YEE
-12ED;N # ETHIOPIC SYLLABLE YE
-12EE;N # ETHIOPIC SYLLABLE YO
-12EF;N # ETHIOPIC SYLLABLE YOA
-12F0;N # ETHIOPIC SYLLABLE DA
-12F1;N # ETHIOPIC SYLLABLE DU
-12F2;N # ETHIOPIC SYLLABLE DI
-12F3;N # ETHIOPIC SYLLABLE DAA
-12F4;N # ETHIOPIC SYLLABLE DEE
-12F5;N # ETHIOPIC SYLLABLE DE
-12F6;N # ETHIOPIC SYLLABLE DO
-12F7;N # ETHIOPIC SYLLABLE DWA
-12F8;N # ETHIOPIC SYLLABLE DDA
-12F9;N # ETHIOPIC SYLLABLE DDU
-12FA;N # ETHIOPIC SYLLABLE DDI
-12FB;N # ETHIOPIC SYLLABLE DDAA
-12FC;N # ETHIOPIC SYLLABLE DDEE
-12FD;N # ETHIOPIC SYLLABLE DDE
-12FE;N # ETHIOPIC SYLLABLE DDO
-12FF;N # ETHIOPIC SYLLABLE DDWA
-1300;N # ETHIOPIC SYLLABLE JA
-1301;N # ETHIOPIC SYLLABLE JU
-1302;N # ETHIOPIC SYLLABLE JI
-1303;N # ETHIOPIC SYLLABLE JAA
-1304;N # ETHIOPIC SYLLABLE JEE
-1305;N # ETHIOPIC SYLLABLE JE
-1306;N # ETHIOPIC SYLLABLE JO
-1307;N # ETHIOPIC SYLLABLE JWA
-1308;N # ETHIOPIC SYLLABLE GA
-1309;N # ETHIOPIC SYLLABLE GU
-130A;N # ETHIOPIC SYLLABLE GI
-130B;N # ETHIOPIC SYLLABLE GAA
-130C;N # ETHIOPIC SYLLABLE GEE
-130D;N # ETHIOPIC SYLLABLE GE
-130E;N # ETHIOPIC SYLLABLE GO
-130F;N # ETHIOPIC SYLLABLE GOA
-1310;N # ETHIOPIC SYLLABLE GWA
-1312;N # ETHIOPIC SYLLABLE GWI
-1313;N # ETHIOPIC SYLLABLE GWAA
-1314;N # ETHIOPIC SYLLABLE GWEE
-1315;N # ETHIOPIC SYLLABLE GWE
-1318;N # ETHIOPIC SYLLABLE GGA
-1319;N # ETHIOPIC SYLLABLE GGU
-131A;N # ETHIOPIC SYLLABLE GGI
-131B;N # ETHIOPIC SYLLABLE GGAA
-131C;N # ETHIOPIC SYLLABLE GGEE
-131D;N # ETHIOPIC SYLLABLE GGE
-131E;N # ETHIOPIC SYLLABLE GGO
-131F;N # ETHIOPIC SYLLABLE GGWAA
-1320;N # ETHIOPIC SYLLABLE THA
-1321;N # ETHIOPIC SYLLABLE THU
-1322;N # ETHIOPIC SYLLABLE THI
-1323;N # ETHIOPIC SYLLABLE THAA
-1324;N # ETHIOPIC SYLLABLE THEE
-1325;N # ETHIOPIC SYLLABLE THE
-1326;N # ETHIOPIC SYLLABLE THO
-1327;N # ETHIOPIC SYLLABLE THWA
-1328;N # ETHIOPIC SYLLABLE CHA
-1329;N # ETHIOPIC SYLLABLE CHU
-132A;N # ETHIOPIC SYLLABLE CHI
-132B;N # ETHIOPIC SYLLABLE CHAA
-132C;N # ETHIOPIC SYLLABLE CHEE
-132D;N # ETHIOPIC SYLLABLE CHE
-132E;N # ETHIOPIC SYLLABLE CHO
-132F;N # ETHIOPIC SYLLABLE CHWA
-1330;N # ETHIOPIC SYLLABLE PHA
-1331;N # ETHIOPIC SYLLABLE PHU
-1332;N # ETHIOPIC SYLLABLE PHI
-1333;N # ETHIOPIC SYLLABLE PHAA
-1334;N # ETHIOPIC SYLLABLE PHEE
-1335;N # ETHIOPIC SYLLABLE PHE
-1336;N # ETHIOPIC SYLLABLE PHO
-1337;N # ETHIOPIC SYLLABLE PHWA
-1338;N # ETHIOPIC SYLLABLE TSA
-1339;N # ETHIOPIC SYLLABLE TSU
-133A;N # ETHIOPIC SYLLABLE TSI
-133B;N # ETHIOPIC SYLLABLE TSAA
-133C;N # ETHIOPIC SYLLABLE TSEE
-133D;N # ETHIOPIC SYLLABLE TSE
-133E;N # ETHIOPIC SYLLABLE TSO
-133F;N # ETHIOPIC SYLLABLE TSWA
-1340;N # ETHIOPIC SYLLABLE TZA
-1341;N # ETHIOPIC SYLLABLE TZU
-1342;N # ETHIOPIC SYLLABLE TZI
-1343;N # ETHIOPIC SYLLABLE TZAA
-1344;N # ETHIOPIC SYLLABLE TZEE
-1345;N # ETHIOPIC SYLLABLE TZE
-1346;N # ETHIOPIC SYLLABLE TZO
-1347;N # ETHIOPIC SYLLABLE TZOA
-1348;N # ETHIOPIC SYLLABLE FA
-1349;N # ETHIOPIC SYLLABLE FU
-134A;N # ETHIOPIC SYLLABLE FI
-134B;N # ETHIOPIC SYLLABLE FAA
-134C;N # ETHIOPIC SYLLABLE FEE
-134D;N # ETHIOPIC SYLLABLE FE
-134E;N # ETHIOPIC SYLLABLE FO
-134F;N # ETHIOPIC SYLLABLE FWA
-1350;N # ETHIOPIC SYLLABLE PA
-1351;N # ETHIOPIC SYLLABLE PU
-1352;N # ETHIOPIC SYLLABLE PI
-1353;N # ETHIOPIC SYLLABLE PAA
-1354;N # ETHIOPIC SYLLABLE PEE
-1355;N # ETHIOPIC SYLLABLE PE
-1356;N # ETHIOPIC SYLLABLE PO
-1357;N # ETHIOPIC SYLLABLE PWA
-1358;N # ETHIOPIC SYLLABLE RYA
-1359;N # ETHIOPIC SYLLABLE MYA
-135A;N # ETHIOPIC SYLLABLE FYA
-135F;N # ETHIOPIC COMBINING GEMINATION MARK
-1360;N # ETHIOPIC SECTION MARK
-1361;N # ETHIOPIC WORDSPACE
-1362;N # ETHIOPIC FULL STOP
-1363;N # ETHIOPIC COMMA
-1364;N # ETHIOPIC SEMICOLON
-1365;N # ETHIOPIC COLON
-1366;N # ETHIOPIC PREFACE COLON
-1367;N # ETHIOPIC QUESTION MARK
-1368;N # ETHIOPIC PARAGRAPH SEPARATOR
-1369;N # ETHIOPIC DIGIT ONE
-136A;N # ETHIOPIC DIGIT TWO
-136B;N # ETHIOPIC DIGIT THREE
-136C;N # ETHIOPIC DIGIT FOUR
-136D;N # ETHIOPIC DIGIT FIVE
-136E;N # ETHIOPIC DIGIT SIX
-136F;N # ETHIOPIC DIGIT SEVEN
-1370;N # ETHIOPIC DIGIT EIGHT
-1371;N # ETHIOPIC DIGIT NINE
-1372;N # ETHIOPIC NUMBER TEN
-1373;N # ETHIOPIC NUMBER TWENTY
-1374;N # ETHIOPIC NUMBER THIRTY
-1375;N # ETHIOPIC NUMBER FORTY
-1376;N # ETHIOPIC NUMBER FIFTY
-1377;N # ETHIOPIC NUMBER SIXTY
-1378;N # ETHIOPIC NUMBER SEVENTY
-1379;N # ETHIOPIC NUMBER EIGHTY
-137A;N # ETHIOPIC NUMBER NINETY
-137B;N # ETHIOPIC NUMBER HUNDRED
-137C;N # ETHIOPIC NUMBER TEN THOUSAND
-1380;N # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381;N # ETHIOPIC SYLLABLE MWI
-1382;N # ETHIOPIC SYLLABLE MWEE
-1383;N # ETHIOPIC SYLLABLE MWE
-1384;N # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385;N # ETHIOPIC SYLLABLE BWI
-1386;N # ETHIOPIC SYLLABLE BWEE
-1387;N # ETHIOPIC SYLLABLE BWE
-1388;N # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389;N # ETHIOPIC SYLLABLE FWI
-138A;N # ETHIOPIC SYLLABLE FWEE
-138B;N # ETHIOPIC SYLLABLE FWE
-138C;N # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D;N # ETHIOPIC SYLLABLE PWI
-138E;N # ETHIOPIC SYLLABLE PWEE
-138F;N # ETHIOPIC SYLLABLE PWE
-1390;N # ETHIOPIC TONAL MARK YIZET
-1391;N # ETHIOPIC TONAL MARK DERET
-1392;N # ETHIOPIC TONAL MARK RIKRIK
-1393;N # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394;N # ETHIOPIC TONAL MARK DIFAT
-1395;N # ETHIOPIC TONAL MARK KENAT
-1396;N # ETHIOPIC TONAL MARK CHIRET
-1397;N # ETHIOPIC TONAL MARK HIDET
-1398;N # ETHIOPIC TONAL MARK DERET-HIDET
-1399;N # ETHIOPIC TONAL MARK KURT
-13A0;N # CHEROKEE LETTER A
-13A1;N # CHEROKEE LETTER E
-13A2;N # CHEROKEE LETTER I
-13A3;N # CHEROKEE LETTER O
-13A4;N # CHEROKEE LETTER U
-13A5;N # CHEROKEE LETTER V
-13A6;N # CHEROKEE LETTER GA
-13A7;N # CHEROKEE LETTER KA
-13A8;N # CHEROKEE LETTER GE
-13A9;N # CHEROKEE LETTER GI
-13AA;N # CHEROKEE LETTER GO
-13AB;N # CHEROKEE LETTER GU
-13AC;N # CHEROKEE LETTER GV
-13AD;N # CHEROKEE LETTER HA
-13AE;N # CHEROKEE LETTER HE
-13AF;N # CHEROKEE LETTER HI
-13B0;N # CHEROKEE LETTER HO
-13B1;N # CHEROKEE LETTER HU
-13B2;N # CHEROKEE LETTER HV
-13B3;N # CHEROKEE LETTER LA
-13B4;N # CHEROKEE LETTER LE
-13B5;N # CHEROKEE LETTER LI
-13B6;N # CHEROKEE LETTER LO
-13B7;N # CHEROKEE LETTER LU
-13B8;N # CHEROKEE LETTER LV
-13B9;N # CHEROKEE LETTER MA
-13BA;N # CHEROKEE LETTER ME
-13BB;N # CHEROKEE LETTER MI
-13BC;N # CHEROKEE LETTER MO
-13BD;N # CHEROKEE LETTER MU
-13BE;N # CHEROKEE LETTER NA
-13BF;N # CHEROKEE LETTER HNA
-13C0;N # CHEROKEE LETTER NAH
-13C1;N # CHEROKEE LETTER NE
-13C2;N # CHEROKEE LETTER NI
-13C3;N # CHEROKEE LETTER NO
-13C4;N # CHEROKEE LETTER NU
-13C5;N # CHEROKEE LETTER NV
-13C6;N # CHEROKEE LETTER QUA
-13C7;N # CHEROKEE LETTER QUE
-13C8;N # CHEROKEE LETTER QUI
-13C9;N # CHEROKEE LETTER QUO
-13CA;N # CHEROKEE LETTER QUU
-13CB;N # CHEROKEE LETTER QUV
-13CC;N # CHEROKEE LETTER SA
-13CD;N # CHEROKEE LETTER S
-13CE;N # CHEROKEE LETTER SE
-13CF;N # CHEROKEE LETTER SI
-13D0;N # CHEROKEE LETTER SO
-13D1;N # CHEROKEE LETTER SU
-13D2;N # CHEROKEE LETTER SV
-13D3;N # CHEROKEE LETTER DA
-13D4;N # CHEROKEE LETTER TA
-13D5;N # CHEROKEE LETTER DE
-13D6;N # CHEROKEE LETTER TE
-13D7;N # CHEROKEE LETTER DI
-13D8;N # CHEROKEE LETTER TI
-13D9;N # CHEROKEE LETTER DO
-13DA;N # CHEROKEE LETTER DU
-13DB;N # CHEROKEE LETTER DV
-13DC;N # CHEROKEE LETTER DLA
-13DD;N # CHEROKEE LETTER TLA
-13DE;N # CHEROKEE LETTER TLE
-13DF;N # CHEROKEE LETTER TLI
-13E0;N # CHEROKEE LETTER TLO
-13E1;N # CHEROKEE LETTER TLU
-13E2;N # CHEROKEE LETTER TLV
-13E3;N # CHEROKEE LETTER TSA
-13E4;N # CHEROKEE LETTER TSE
-13E5;N # CHEROKEE LETTER TSI
-13E6;N # CHEROKEE LETTER TSO
-13E7;N # CHEROKEE LETTER TSU
-13E8;N # CHEROKEE LETTER TSV
-13E9;N # CHEROKEE LETTER WA
-13EA;N # CHEROKEE LETTER WE
-13EB;N # CHEROKEE LETTER WI
-13EC;N # CHEROKEE LETTER WO
-13ED;N # CHEROKEE LETTER WU
-13EE;N # CHEROKEE LETTER WV
-13EF;N # CHEROKEE LETTER YA
-13F0;N # CHEROKEE LETTER YE
-13F1;N # CHEROKEE LETTER YI
-13F2;N # CHEROKEE LETTER YO
-13F3;N # CHEROKEE LETTER YU
-13F4;N # CHEROKEE LETTER YV
-1400;N # CANADIAN SYLLABICS HYPHEN
-1401;N # CANADIAN SYLLABICS E
-1402;N # CANADIAN SYLLABICS AAI
-1403;N # CANADIAN SYLLABICS I
-1404;N # CANADIAN SYLLABICS II
-1405;N # CANADIAN SYLLABICS O
-1406;N # CANADIAN SYLLABICS OO
-1407;N # CANADIAN SYLLABICS Y-CREE OO
-1408;N # CANADIAN SYLLABICS CARRIER EE
-1409;N # CANADIAN SYLLABICS CARRIER I
-140A;N # CANADIAN SYLLABICS A
-140B;N # CANADIAN SYLLABICS AA
-140C;N # CANADIAN SYLLABICS WE
-140D;N # CANADIAN SYLLABICS WEST-CREE WE
-140E;N # CANADIAN SYLLABICS WI
-140F;N # CANADIAN SYLLABICS WEST-CREE WI
-1410;N # CANADIAN SYLLABICS WII
-1411;N # CANADIAN SYLLABICS WEST-CREE WII
-1412;N # CANADIAN SYLLABICS WO
-1413;N # CANADIAN SYLLABICS WEST-CREE WO
-1414;N # CANADIAN SYLLABICS WOO
-1415;N # CANADIAN SYLLABICS WEST-CREE WOO
-1416;N # CANADIAN SYLLABICS NASKAPI WOO
-1417;N # CANADIAN SYLLABICS WA
-1418;N # CANADIAN SYLLABICS WEST-CREE WA
-1419;N # CANADIAN SYLLABICS WAA
-141A;N # CANADIAN SYLLABICS WEST-CREE WAA
-141B;N # CANADIAN SYLLABICS NASKAPI WAA
-141C;N # CANADIAN SYLLABICS AI
-141D;N # CANADIAN SYLLABICS Y-CREE W
-141E;N # CANADIAN SYLLABICS GLOTTAL STOP
-141F;N # CANADIAN SYLLABICS FINAL ACUTE
-1420;N # CANADIAN SYLLABICS FINAL GRAVE
-1421;N # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422;N # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423;N # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424;N # CANADIAN SYLLABICS FINAL RING
-1425;N # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426;N # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427;N # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428;N # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429;N # CANADIAN SYLLABICS FINAL PLUS
-142A;N # CANADIAN SYLLABICS FINAL DOWN TACK
-142B;N # CANADIAN SYLLABICS EN
-142C;N # CANADIAN SYLLABICS IN
-142D;N # CANADIAN SYLLABICS ON
-142E;N # CANADIAN SYLLABICS AN
-142F;N # CANADIAN SYLLABICS PE
-1430;N # CANADIAN SYLLABICS PAAI
-1431;N # CANADIAN SYLLABICS PI
-1432;N # CANADIAN SYLLABICS PII
-1433;N # CANADIAN SYLLABICS PO
-1434;N # CANADIAN SYLLABICS POO
-1435;N # CANADIAN SYLLABICS Y-CREE POO
-1436;N # CANADIAN SYLLABICS CARRIER HEE
-1437;N # CANADIAN SYLLABICS CARRIER HI
-1438;N # CANADIAN SYLLABICS PA
-1439;N # CANADIAN SYLLABICS PAA
-143A;N # CANADIAN SYLLABICS PWE
-143B;N # CANADIAN SYLLABICS WEST-CREE PWE
-143C;N # CANADIAN SYLLABICS PWI
-143D;N # CANADIAN SYLLABICS WEST-CREE PWI
-143E;N # CANADIAN SYLLABICS PWII
-143F;N # CANADIAN SYLLABICS WEST-CREE PWII
-1440;N # CANADIAN SYLLABICS PWO
-1441;N # CANADIAN SYLLABICS WEST-CREE PWO
-1442;N # CANADIAN SYLLABICS PWOO
-1443;N # CANADIAN SYLLABICS WEST-CREE PWOO
-1444;N # CANADIAN SYLLABICS PWA
-1445;N # CANADIAN SYLLABICS WEST-CREE PWA
-1446;N # CANADIAN SYLLABICS PWAA
-1447;N # CANADIAN SYLLABICS WEST-CREE PWAA
-1448;N # CANADIAN SYLLABICS Y-CREE PWAA
-1449;N # CANADIAN SYLLABICS P
-144A;N # CANADIAN SYLLABICS WEST-CREE P
-144B;N # CANADIAN SYLLABICS CARRIER H
-144C;N # CANADIAN SYLLABICS TE
-144D;N # CANADIAN SYLLABICS TAAI
-144E;N # CANADIAN SYLLABICS TI
-144F;N # CANADIAN SYLLABICS TII
-1450;N # CANADIAN SYLLABICS TO
-1451;N # CANADIAN SYLLABICS TOO
-1452;N # CANADIAN SYLLABICS Y-CREE TOO
-1453;N # CANADIAN SYLLABICS CARRIER DEE
-1454;N # CANADIAN SYLLABICS CARRIER DI
-1455;N # CANADIAN SYLLABICS TA
-1456;N # CANADIAN SYLLABICS TAA
-1457;N # CANADIAN SYLLABICS TWE
-1458;N # CANADIAN SYLLABICS WEST-CREE TWE
-1459;N # CANADIAN SYLLABICS TWI
-145A;N # CANADIAN SYLLABICS WEST-CREE TWI
-145B;N # CANADIAN SYLLABICS TWII
-145C;N # CANADIAN SYLLABICS WEST-CREE TWII
-145D;N # CANADIAN SYLLABICS TWO
-145E;N # CANADIAN SYLLABICS WEST-CREE TWO
-145F;N # CANADIAN SYLLABICS TWOO
-1460;N # CANADIAN SYLLABICS WEST-CREE TWOO
-1461;N # CANADIAN SYLLABICS TWA
-1462;N # CANADIAN SYLLABICS WEST-CREE TWA
-1463;N # CANADIAN SYLLABICS TWAA
-1464;N # CANADIAN SYLLABICS WEST-CREE TWAA
-1465;N # CANADIAN SYLLABICS NASKAPI TWAA
-1466;N # CANADIAN SYLLABICS T
-1467;N # CANADIAN SYLLABICS TTE
-1468;N # CANADIAN SYLLABICS TTI
-1469;N # CANADIAN SYLLABICS TTO
-146A;N # CANADIAN SYLLABICS TTA
-146B;N # CANADIAN SYLLABICS KE
-146C;N # CANADIAN SYLLABICS KAAI
-146D;N # CANADIAN SYLLABICS KI
-146E;N # CANADIAN SYLLABICS KII
-146F;N # CANADIAN SYLLABICS KO
-1470;N # CANADIAN SYLLABICS KOO
-1471;N # CANADIAN SYLLABICS Y-CREE KOO
-1472;N # CANADIAN SYLLABICS KA
-1473;N # CANADIAN SYLLABICS KAA
-1474;N # CANADIAN SYLLABICS KWE
-1475;N # CANADIAN SYLLABICS WEST-CREE KWE
-1476;N # CANADIAN SYLLABICS KWI
-1477;N # CANADIAN SYLLABICS WEST-CREE KWI
-1478;N # CANADIAN SYLLABICS KWII
-1479;N # CANADIAN SYLLABICS WEST-CREE KWII
-147A;N # CANADIAN SYLLABICS KWO
-147B;N # CANADIAN SYLLABICS WEST-CREE KWO
-147C;N # CANADIAN SYLLABICS KWOO
-147D;N # CANADIAN SYLLABICS WEST-CREE KWOO
-147E;N # CANADIAN SYLLABICS KWA
-147F;N # CANADIAN SYLLABICS WEST-CREE KWA
-1480;N # CANADIAN SYLLABICS KWAA
-1481;N # CANADIAN SYLLABICS WEST-CREE KWAA
-1482;N # CANADIAN SYLLABICS NASKAPI KWAA
-1483;N # CANADIAN SYLLABICS K
-1484;N # CANADIAN SYLLABICS KW
-1485;N # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486;N # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487;N # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488;N # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489;N # CANADIAN SYLLABICS CE
-148A;N # CANADIAN SYLLABICS CAAI
-148B;N # CANADIAN SYLLABICS CI
-148C;N # CANADIAN SYLLABICS CII
-148D;N # CANADIAN SYLLABICS CO
-148E;N # CANADIAN SYLLABICS COO
-148F;N # CANADIAN SYLLABICS Y-CREE COO
-1490;N # CANADIAN SYLLABICS CA
-1491;N # CANADIAN SYLLABICS CAA
-1492;N # CANADIAN SYLLABICS CWE
-1493;N # CANADIAN SYLLABICS WEST-CREE CWE
-1494;N # CANADIAN SYLLABICS CWI
-1495;N # CANADIAN SYLLABICS WEST-CREE CWI
-1496;N # CANADIAN SYLLABICS CWII
-1497;N # CANADIAN SYLLABICS WEST-CREE CWII
-1498;N # CANADIAN SYLLABICS CWO
-1499;N # CANADIAN SYLLABICS WEST-CREE CWO
-149A;N # CANADIAN SYLLABICS CWOO
-149B;N # CANADIAN SYLLABICS WEST-CREE CWOO
-149C;N # CANADIAN SYLLABICS CWA
-149D;N # CANADIAN SYLLABICS WEST-CREE CWA
-149E;N # CANADIAN SYLLABICS CWAA
-149F;N # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0;N # CANADIAN SYLLABICS NASKAPI CWAA
-14A1;N # CANADIAN SYLLABICS C
-14A2;N # CANADIAN SYLLABICS SAYISI TH
-14A3;N # CANADIAN SYLLABICS ME
-14A4;N # CANADIAN SYLLABICS MAAI
-14A5;N # CANADIAN SYLLABICS MI
-14A6;N # CANADIAN SYLLABICS MII
-14A7;N # CANADIAN SYLLABICS MO
-14A8;N # CANADIAN SYLLABICS MOO
-14A9;N # CANADIAN SYLLABICS Y-CREE MOO
-14AA;N # CANADIAN SYLLABICS MA
-14AB;N # CANADIAN SYLLABICS MAA
-14AC;N # CANADIAN SYLLABICS MWE
-14AD;N # CANADIAN SYLLABICS WEST-CREE MWE
-14AE;N # CANADIAN SYLLABICS MWI
-14AF;N # CANADIAN SYLLABICS WEST-CREE MWI
-14B0;N # CANADIAN SYLLABICS MWII
-14B1;N # CANADIAN SYLLABICS WEST-CREE MWII
-14B2;N # CANADIAN SYLLABICS MWO
-14B3;N # CANADIAN SYLLABICS WEST-CREE MWO
-14B4;N # CANADIAN SYLLABICS MWOO
-14B5;N # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6;N # CANADIAN SYLLABICS MWA
-14B7;N # CANADIAN SYLLABICS WEST-CREE MWA
-14B8;N # CANADIAN SYLLABICS MWAA
-14B9;N # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA;N # CANADIAN SYLLABICS NASKAPI MWAA
-14BB;N # CANADIAN SYLLABICS M
-14BC;N # CANADIAN SYLLABICS WEST-CREE M
-14BD;N # CANADIAN SYLLABICS MH
-14BE;N # CANADIAN SYLLABICS ATHAPASCAN M
-14BF;N # CANADIAN SYLLABICS SAYISI M
-14C0;N # CANADIAN SYLLABICS NE
-14C1;N # CANADIAN SYLLABICS NAAI
-14C2;N # CANADIAN SYLLABICS NI
-14C3;N # CANADIAN SYLLABICS NII
-14C4;N # CANADIAN SYLLABICS NO
-14C5;N # CANADIAN SYLLABICS NOO
-14C6;N # CANADIAN SYLLABICS Y-CREE NOO
-14C7;N # CANADIAN SYLLABICS NA
-14C8;N # CANADIAN SYLLABICS NAA
-14C9;N # CANADIAN SYLLABICS NWE
-14CA;N # CANADIAN SYLLABICS WEST-CREE NWE
-14CB;N # CANADIAN SYLLABICS NWA
-14CC;N # CANADIAN SYLLABICS WEST-CREE NWA
-14CD;N # CANADIAN SYLLABICS NWAA
-14CE;N # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF;N # CANADIAN SYLLABICS NASKAPI NWAA
-14D0;N # CANADIAN SYLLABICS N
-14D1;N # CANADIAN SYLLABICS CARRIER NG
-14D2;N # CANADIAN SYLLABICS NH
-14D3;N # CANADIAN SYLLABICS LE
-14D4;N # CANADIAN SYLLABICS LAAI
-14D5;N # CANADIAN SYLLABICS LI
-14D6;N # CANADIAN SYLLABICS LII
-14D7;N # CANADIAN SYLLABICS LO
-14D8;N # CANADIAN SYLLABICS LOO
-14D9;N # CANADIAN SYLLABICS Y-CREE LOO
-14DA;N # CANADIAN SYLLABICS LA
-14DB;N # CANADIAN SYLLABICS LAA
-14DC;N # CANADIAN SYLLABICS LWE
-14DD;N # CANADIAN SYLLABICS WEST-CREE LWE
-14DE;N # CANADIAN SYLLABICS LWI
-14DF;N # CANADIAN SYLLABICS WEST-CREE LWI
-14E0;N # CANADIAN SYLLABICS LWII
-14E1;N # CANADIAN SYLLABICS WEST-CREE LWII
-14E2;N # CANADIAN SYLLABICS LWO
-14E3;N # CANADIAN SYLLABICS WEST-CREE LWO
-14E4;N # CANADIAN SYLLABICS LWOO
-14E5;N # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6;N # CANADIAN SYLLABICS LWA
-14E7;N # CANADIAN SYLLABICS WEST-CREE LWA
-14E8;N # CANADIAN SYLLABICS LWAA
-14E9;N # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA;N # CANADIAN SYLLABICS L
-14EB;N # CANADIAN SYLLABICS WEST-CREE L
-14EC;N # CANADIAN SYLLABICS MEDIAL L
-14ED;N # CANADIAN SYLLABICS SE
-14EE;N # CANADIAN SYLLABICS SAAI
-14EF;N # CANADIAN SYLLABICS SI
-14F0;N # CANADIAN SYLLABICS SII
-14F1;N # CANADIAN SYLLABICS SO
-14F2;N # CANADIAN SYLLABICS SOO
-14F3;N # CANADIAN SYLLABICS Y-CREE SOO
-14F4;N # CANADIAN SYLLABICS SA
-14F5;N # CANADIAN SYLLABICS SAA
-14F6;N # CANADIAN SYLLABICS SWE
-14F7;N # CANADIAN SYLLABICS WEST-CREE SWE
-14F8;N # CANADIAN SYLLABICS SWI
-14F9;N # CANADIAN SYLLABICS WEST-CREE SWI
-14FA;N # CANADIAN SYLLABICS SWII
-14FB;N # CANADIAN SYLLABICS WEST-CREE SWII
-14FC;N # CANADIAN SYLLABICS SWO
-14FD;N # CANADIAN SYLLABICS WEST-CREE SWO
-14FE;N # CANADIAN SYLLABICS SWOO
-14FF;N # CANADIAN SYLLABICS WEST-CREE SWOO
-1500;N # CANADIAN SYLLABICS SWA
-1501;N # CANADIAN SYLLABICS WEST-CREE SWA
-1502;N # CANADIAN SYLLABICS SWAA
-1503;N # CANADIAN SYLLABICS WEST-CREE SWAA
-1504;N # CANADIAN SYLLABICS NASKAPI SWAA
-1505;N # CANADIAN SYLLABICS S
-1506;N # CANADIAN SYLLABICS ATHAPASCAN S
-1507;N # CANADIAN SYLLABICS SW
-1508;N # CANADIAN SYLLABICS BLACKFOOT S
-1509;N # CANADIAN SYLLABICS MOOSE-CREE SK
-150A;N # CANADIAN SYLLABICS NASKAPI SKW
-150B;N # CANADIAN SYLLABICS NASKAPI S-W
-150C;N # CANADIAN SYLLABICS NASKAPI SPWA
-150D;N # CANADIAN SYLLABICS NASKAPI STWA
-150E;N # CANADIAN SYLLABICS NASKAPI SKWA
-150F;N # CANADIAN SYLLABICS NASKAPI SCWA
-1510;N # CANADIAN SYLLABICS SHE
-1511;N # CANADIAN SYLLABICS SHI
-1512;N # CANADIAN SYLLABICS SHII
-1513;N # CANADIAN SYLLABICS SHO
-1514;N # CANADIAN SYLLABICS SHOO
-1515;N # CANADIAN SYLLABICS SHA
-1516;N # CANADIAN SYLLABICS SHAA
-1517;N # CANADIAN SYLLABICS SHWE
-1518;N # CANADIAN SYLLABICS WEST-CREE SHWE
-1519;N # CANADIAN SYLLABICS SHWI
-151A;N # CANADIAN SYLLABICS WEST-CREE SHWI
-151B;N # CANADIAN SYLLABICS SHWII
-151C;N # CANADIAN SYLLABICS WEST-CREE SHWII
-151D;N # CANADIAN SYLLABICS SHWO
-151E;N # CANADIAN SYLLABICS WEST-CREE SHWO
-151F;N # CANADIAN SYLLABICS SHWOO
-1520;N # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521;N # CANADIAN SYLLABICS SHWA
-1522;N # CANADIAN SYLLABICS WEST-CREE SHWA
-1523;N # CANADIAN SYLLABICS SHWAA
-1524;N # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525;N # CANADIAN SYLLABICS SH
-1526;N # CANADIAN SYLLABICS YE
-1527;N # CANADIAN SYLLABICS YAAI
-1528;N # CANADIAN SYLLABICS YI
-1529;N # CANADIAN SYLLABICS YII
-152A;N # CANADIAN SYLLABICS YO
-152B;N # CANADIAN SYLLABICS YOO
-152C;N # CANADIAN SYLLABICS Y-CREE YOO
-152D;N # CANADIAN SYLLABICS YA
-152E;N # CANADIAN SYLLABICS YAA
-152F;N # CANADIAN SYLLABICS YWE
-1530;N # CANADIAN SYLLABICS WEST-CREE YWE
-1531;N # CANADIAN SYLLABICS YWI
-1532;N # CANADIAN SYLLABICS WEST-CREE YWI
-1533;N # CANADIAN SYLLABICS YWII
-1534;N # CANADIAN SYLLABICS WEST-CREE YWII
-1535;N # CANADIAN SYLLABICS YWO
-1536;N # CANADIAN SYLLABICS WEST-CREE YWO
-1537;N # CANADIAN SYLLABICS YWOO
-1538;N # CANADIAN SYLLABICS WEST-CREE YWOO
-1539;N # CANADIAN SYLLABICS YWA
-153A;N # CANADIAN SYLLABICS WEST-CREE YWA
-153B;N # CANADIAN SYLLABICS YWAA
-153C;N # CANADIAN SYLLABICS WEST-CREE YWAA
-153D;N # CANADIAN SYLLABICS NASKAPI YWAA
-153E;N # CANADIAN SYLLABICS Y
-153F;N # CANADIAN SYLLABICS BIBLE-CREE Y
-1540;N # CANADIAN SYLLABICS WEST-CREE Y
-1541;N # CANADIAN SYLLABICS SAYISI YI
-1542;N # CANADIAN SYLLABICS RE
-1543;N # CANADIAN SYLLABICS R-CREE RE
-1544;N # CANADIAN SYLLABICS WEST-CREE LE
-1545;N # CANADIAN SYLLABICS RAAI
-1546;N # CANADIAN SYLLABICS RI
-1547;N # CANADIAN SYLLABICS RII
-1548;N # CANADIAN SYLLABICS RO
-1549;N # CANADIAN SYLLABICS ROO
-154A;N # CANADIAN SYLLABICS WEST-CREE LO
-154B;N # CANADIAN SYLLABICS RA
-154C;N # CANADIAN SYLLABICS RAA
-154D;N # CANADIAN SYLLABICS WEST-CREE LA
-154E;N # CANADIAN SYLLABICS RWAA
-154F;N # CANADIAN SYLLABICS WEST-CREE RWAA
-1550;N # CANADIAN SYLLABICS R
-1551;N # CANADIAN SYLLABICS WEST-CREE R
-1552;N # CANADIAN SYLLABICS MEDIAL R
-1553;N # CANADIAN SYLLABICS FE
-1554;N # CANADIAN SYLLABICS FAAI
-1555;N # CANADIAN SYLLABICS FI
-1556;N # CANADIAN SYLLABICS FII
-1557;N # CANADIAN SYLLABICS FO
-1558;N # CANADIAN SYLLABICS FOO
-1559;N # CANADIAN SYLLABICS FA
-155A;N # CANADIAN SYLLABICS FAA
-155B;N # CANADIAN SYLLABICS FWAA
-155C;N # CANADIAN SYLLABICS WEST-CREE FWAA
-155D;N # CANADIAN SYLLABICS F
-155E;N # CANADIAN SYLLABICS THE
-155F;N # CANADIAN SYLLABICS N-CREE THE
-1560;N # CANADIAN SYLLABICS THI
-1561;N # CANADIAN SYLLABICS N-CREE THI
-1562;N # CANADIAN SYLLABICS THII
-1563;N # CANADIAN SYLLABICS N-CREE THII
-1564;N # CANADIAN SYLLABICS THO
-1565;N # CANADIAN SYLLABICS THOO
-1566;N # CANADIAN SYLLABICS THA
-1567;N # CANADIAN SYLLABICS THAA
-1568;N # CANADIAN SYLLABICS THWAA
-1569;N # CANADIAN SYLLABICS WEST-CREE THWAA
-156A;N # CANADIAN SYLLABICS TH
-156B;N # CANADIAN SYLLABICS TTHE
-156C;N # CANADIAN SYLLABICS TTHI
-156D;N # CANADIAN SYLLABICS TTHO
-156E;N # CANADIAN SYLLABICS TTHA
-156F;N # CANADIAN SYLLABICS TTH
-1570;N # CANADIAN SYLLABICS TYE
-1571;N # CANADIAN SYLLABICS TYI
-1572;N # CANADIAN SYLLABICS TYO
-1573;N # CANADIAN SYLLABICS TYA
-1574;N # CANADIAN SYLLABICS NUNAVIK HE
-1575;N # CANADIAN SYLLABICS NUNAVIK HI
-1576;N # CANADIAN SYLLABICS NUNAVIK HII
-1577;N # CANADIAN SYLLABICS NUNAVIK HO
-1578;N # CANADIAN SYLLABICS NUNAVIK HOO
-1579;N # CANADIAN SYLLABICS NUNAVIK HA
-157A;N # CANADIAN SYLLABICS NUNAVIK HAA
-157B;N # CANADIAN SYLLABICS NUNAVIK H
-157C;N # CANADIAN SYLLABICS NUNAVUT H
-157D;N # CANADIAN SYLLABICS HK
-157E;N # CANADIAN SYLLABICS QAAI
-157F;N # CANADIAN SYLLABICS QI
-1580;N # CANADIAN SYLLABICS QII
-1581;N # CANADIAN SYLLABICS QO
-1582;N # CANADIAN SYLLABICS QOO
-1583;N # CANADIAN SYLLABICS QA
-1584;N # CANADIAN SYLLABICS QAA
-1585;N # CANADIAN SYLLABICS Q
-1586;N # CANADIAN SYLLABICS TLHE
-1587;N # CANADIAN SYLLABICS TLHI
-1588;N # CANADIAN SYLLABICS TLHO
-1589;N # CANADIAN SYLLABICS TLHA
-158A;N # CANADIAN SYLLABICS WEST-CREE RE
-158B;N # CANADIAN SYLLABICS WEST-CREE RI
-158C;N # CANADIAN SYLLABICS WEST-CREE RO
-158D;N # CANADIAN SYLLABICS WEST-CREE RA
-158E;N # CANADIAN SYLLABICS NGAAI
-158F;N # CANADIAN SYLLABICS NGI
-1590;N # CANADIAN SYLLABICS NGII
-1591;N # CANADIAN SYLLABICS NGO
-1592;N # CANADIAN SYLLABICS NGOO
-1593;N # CANADIAN SYLLABICS NGA
-1594;N # CANADIAN SYLLABICS NGAA
-1595;N # CANADIAN SYLLABICS NG
-1596;N # CANADIAN SYLLABICS NNG
-1597;N # CANADIAN SYLLABICS SAYISI SHE
-1598;N # CANADIAN SYLLABICS SAYISI SHI
-1599;N # CANADIAN SYLLABICS SAYISI SHO
-159A;N # CANADIAN SYLLABICS SAYISI SHA
-159B;N # CANADIAN SYLLABICS WOODS-CREE THE
-159C;N # CANADIAN SYLLABICS WOODS-CREE THI
-159D;N # CANADIAN SYLLABICS WOODS-CREE THO
-159E;N # CANADIAN SYLLABICS WOODS-CREE THA
-159F;N # CANADIAN SYLLABICS WOODS-CREE TH
-15A0;N # CANADIAN SYLLABICS LHI
-15A1;N # CANADIAN SYLLABICS LHII
-15A2;N # CANADIAN SYLLABICS LHO
-15A3;N # CANADIAN SYLLABICS LHOO
-15A4;N # CANADIAN SYLLABICS LHA
-15A5;N # CANADIAN SYLLABICS LHAA
-15A6;N # CANADIAN SYLLABICS LH
-15A7;N # CANADIAN SYLLABICS TH-CREE THE
-15A8;N # CANADIAN SYLLABICS TH-CREE THI
-15A9;N # CANADIAN SYLLABICS TH-CREE THII
-15AA;N # CANADIAN SYLLABICS TH-CREE THO
-15AB;N # CANADIAN SYLLABICS TH-CREE THOO
-15AC;N # CANADIAN SYLLABICS TH-CREE THA
-15AD;N # CANADIAN SYLLABICS TH-CREE THAA
-15AE;N # CANADIAN SYLLABICS TH-CREE TH
-15AF;N # CANADIAN SYLLABICS AIVILIK B
-15B0;N # CANADIAN SYLLABICS BLACKFOOT E
-15B1;N # CANADIAN SYLLABICS BLACKFOOT I
-15B2;N # CANADIAN SYLLABICS BLACKFOOT O
-15B3;N # CANADIAN SYLLABICS BLACKFOOT A
-15B4;N # CANADIAN SYLLABICS BLACKFOOT WE
-15B5;N # CANADIAN SYLLABICS BLACKFOOT WI
-15B6;N # CANADIAN SYLLABICS BLACKFOOT WO
-15B7;N # CANADIAN SYLLABICS BLACKFOOT WA
-15B8;N # CANADIAN SYLLABICS BLACKFOOT NE
-15B9;N # CANADIAN SYLLABICS BLACKFOOT NI
-15BA;N # CANADIAN SYLLABICS BLACKFOOT NO
-15BB;N # CANADIAN SYLLABICS BLACKFOOT NA
-15BC;N # CANADIAN SYLLABICS BLACKFOOT KE
-15BD;N # CANADIAN SYLLABICS BLACKFOOT KI
-15BE;N # CANADIAN SYLLABICS BLACKFOOT KO
-15BF;N # CANADIAN SYLLABICS BLACKFOOT KA
-15C0;N # CANADIAN SYLLABICS SAYISI HE
-15C1;N # CANADIAN SYLLABICS SAYISI HI
-15C2;N # CANADIAN SYLLABICS SAYISI HO
-15C3;N # CANADIAN SYLLABICS SAYISI HA
-15C4;N # CANADIAN SYLLABICS CARRIER GHU
-15C5;N # CANADIAN SYLLABICS CARRIER GHO
-15C6;N # CANADIAN SYLLABICS CARRIER GHE
-15C7;N # CANADIAN SYLLABICS CARRIER GHEE
-15C8;N # CANADIAN SYLLABICS CARRIER GHI
-15C9;N # CANADIAN SYLLABICS CARRIER GHA
-15CA;N # CANADIAN SYLLABICS CARRIER RU
-15CB;N # CANADIAN SYLLABICS CARRIER RO
-15CC;N # CANADIAN SYLLABICS CARRIER RE
-15CD;N # CANADIAN SYLLABICS CARRIER REE
-15CE;N # CANADIAN SYLLABICS CARRIER RI
-15CF;N # CANADIAN SYLLABICS CARRIER RA
-15D0;N # CANADIAN SYLLABICS CARRIER WU
-15D1;N # CANADIAN SYLLABICS CARRIER WO
-15D2;N # CANADIAN SYLLABICS CARRIER WE
-15D3;N # CANADIAN SYLLABICS CARRIER WEE
-15D4;N # CANADIAN SYLLABICS CARRIER WI
-15D5;N # CANADIAN SYLLABICS CARRIER WA
-15D6;N # CANADIAN SYLLABICS CARRIER HWU
-15D7;N # CANADIAN SYLLABICS CARRIER HWO
-15D8;N # CANADIAN SYLLABICS CARRIER HWE
-15D9;N # CANADIAN SYLLABICS CARRIER HWEE
-15DA;N # CANADIAN SYLLABICS CARRIER HWI
-15DB;N # CANADIAN SYLLABICS CARRIER HWA
-15DC;N # CANADIAN SYLLABICS CARRIER THU
-15DD;N # CANADIAN SYLLABICS CARRIER THO
-15DE;N # CANADIAN SYLLABICS CARRIER THE
-15DF;N # CANADIAN SYLLABICS CARRIER THEE
-15E0;N # CANADIAN SYLLABICS CARRIER THI
-15E1;N # CANADIAN SYLLABICS CARRIER THA
-15E2;N # CANADIAN SYLLABICS CARRIER TTU
-15E3;N # CANADIAN SYLLABICS CARRIER TTO
-15E4;N # CANADIAN SYLLABICS CARRIER TTE
-15E5;N # CANADIAN SYLLABICS CARRIER TTEE
-15E6;N # CANADIAN SYLLABICS CARRIER TTI
-15E7;N # CANADIAN SYLLABICS CARRIER TTA
-15E8;N # CANADIAN SYLLABICS CARRIER PU
-15E9;N # CANADIAN SYLLABICS CARRIER PO
-15EA;N # CANADIAN SYLLABICS CARRIER PE
-15EB;N # CANADIAN SYLLABICS CARRIER PEE
-15EC;N # CANADIAN SYLLABICS CARRIER PI
-15ED;N # CANADIAN SYLLABICS CARRIER PA
-15EE;N # CANADIAN SYLLABICS CARRIER P
-15EF;N # CANADIAN SYLLABICS CARRIER GU
-15F0;N # CANADIAN SYLLABICS CARRIER GO
-15F1;N # CANADIAN SYLLABICS CARRIER GE
-15F2;N # CANADIAN SYLLABICS CARRIER GEE
-15F3;N # CANADIAN SYLLABICS CARRIER GI
-15F4;N # CANADIAN SYLLABICS CARRIER GA
-15F5;N # CANADIAN SYLLABICS CARRIER KHU
-15F6;N # CANADIAN SYLLABICS CARRIER KHO
-15F7;N # CANADIAN SYLLABICS CARRIER KHE
-15F8;N # CANADIAN SYLLABICS CARRIER KHEE
-15F9;N # CANADIAN SYLLABICS CARRIER KHI
-15FA;N # CANADIAN SYLLABICS CARRIER KHA
-15FB;N # CANADIAN SYLLABICS CARRIER KKU
-15FC;N # CANADIAN SYLLABICS CARRIER KKO
-15FD;N # CANADIAN SYLLABICS CARRIER KKE
-15FE;N # CANADIAN SYLLABICS CARRIER KKEE
-15FF;N # CANADIAN SYLLABICS CARRIER KKI
-1600;N # CANADIAN SYLLABICS CARRIER KKA
-1601;N # CANADIAN SYLLABICS CARRIER KK
-1602;N # CANADIAN SYLLABICS CARRIER NU
-1603;N # CANADIAN SYLLABICS CARRIER NO
-1604;N # CANADIAN SYLLABICS CARRIER NE
-1605;N # CANADIAN SYLLABICS CARRIER NEE
-1606;N # CANADIAN SYLLABICS CARRIER NI
-1607;N # CANADIAN SYLLABICS CARRIER NA
-1608;N # CANADIAN SYLLABICS CARRIER MU
-1609;N # CANADIAN SYLLABICS CARRIER MO
-160A;N # CANADIAN SYLLABICS CARRIER ME
-160B;N # CANADIAN SYLLABICS CARRIER MEE
-160C;N # CANADIAN SYLLABICS CARRIER MI
-160D;N # CANADIAN SYLLABICS CARRIER MA
-160E;N # CANADIAN SYLLABICS CARRIER YU
-160F;N # CANADIAN SYLLABICS CARRIER YO
-1610;N # CANADIAN SYLLABICS CARRIER YE
-1611;N # CANADIAN SYLLABICS CARRIER YEE
-1612;N # CANADIAN SYLLABICS CARRIER YI
-1613;N # CANADIAN SYLLABICS CARRIER YA
-1614;N # CANADIAN SYLLABICS CARRIER JU
-1615;N # CANADIAN SYLLABICS SAYISI JU
-1616;N # CANADIAN SYLLABICS CARRIER JO
-1617;N # CANADIAN SYLLABICS CARRIER JE
-1618;N # CANADIAN SYLLABICS CARRIER JEE
-1619;N # CANADIAN SYLLABICS CARRIER JI
-161A;N # CANADIAN SYLLABICS SAYISI JI
-161B;N # CANADIAN SYLLABICS CARRIER JA
-161C;N # CANADIAN SYLLABICS CARRIER JJU
-161D;N # CANADIAN SYLLABICS CARRIER JJO
-161E;N # CANADIAN SYLLABICS CARRIER JJE
-161F;N # CANADIAN SYLLABICS CARRIER JJEE
-1620;N # CANADIAN SYLLABICS CARRIER JJI
-1621;N # CANADIAN SYLLABICS CARRIER JJA
-1622;N # CANADIAN SYLLABICS CARRIER LU
-1623;N # CANADIAN SYLLABICS CARRIER LO
-1624;N # CANADIAN SYLLABICS CARRIER LE
-1625;N # CANADIAN SYLLABICS CARRIER LEE
-1626;N # CANADIAN SYLLABICS CARRIER LI
-1627;N # CANADIAN SYLLABICS CARRIER LA
-1628;N # CANADIAN SYLLABICS CARRIER DLU
-1629;N # CANADIAN SYLLABICS CARRIER DLO
-162A;N # CANADIAN SYLLABICS CARRIER DLE
-162B;N # CANADIAN SYLLABICS CARRIER DLEE
-162C;N # CANADIAN SYLLABICS CARRIER DLI
-162D;N # CANADIAN SYLLABICS CARRIER DLA
-162E;N # CANADIAN SYLLABICS CARRIER LHU
-162F;N # CANADIAN SYLLABICS CARRIER LHO
-1630;N # CANADIAN SYLLABICS CARRIER LHE
-1631;N # CANADIAN SYLLABICS CARRIER LHEE
-1632;N # CANADIAN SYLLABICS CARRIER LHI
-1633;N # CANADIAN SYLLABICS CARRIER LHA
-1634;N # CANADIAN SYLLABICS CARRIER TLHU
-1635;N # CANADIAN SYLLABICS CARRIER TLHO
-1636;N # CANADIAN SYLLABICS CARRIER TLHE
-1637;N # CANADIAN SYLLABICS CARRIER TLHEE
-1638;N # CANADIAN SYLLABICS CARRIER TLHI
-1639;N # CANADIAN SYLLABICS CARRIER TLHA
-163A;N # CANADIAN SYLLABICS CARRIER TLU
-163B;N # CANADIAN SYLLABICS CARRIER TLO
-163C;N # CANADIAN SYLLABICS CARRIER TLE
-163D;N # CANADIAN SYLLABICS CARRIER TLEE
-163E;N # CANADIAN SYLLABICS CARRIER TLI
-163F;N # CANADIAN SYLLABICS CARRIER TLA
-1640;N # CANADIAN SYLLABICS CARRIER ZU
-1641;N # CANADIAN SYLLABICS CARRIER ZO
-1642;N # CANADIAN SYLLABICS CARRIER ZE
-1643;N # CANADIAN SYLLABICS CARRIER ZEE
-1644;N # CANADIAN SYLLABICS CARRIER ZI
-1645;N # CANADIAN SYLLABICS CARRIER ZA
-1646;N # CANADIAN SYLLABICS CARRIER Z
-1647;N # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648;N # CANADIAN SYLLABICS CARRIER DZU
-1649;N # CANADIAN SYLLABICS CARRIER DZO
-164A;N # CANADIAN SYLLABICS CARRIER DZE
-164B;N # CANADIAN SYLLABICS CARRIER DZEE
-164C;N # CANADIAN SYLLABICS CARRIER DZI
-164D;N # CANADIAN SYLLABICS CARRIER DZA
-164E;N # CANADIAN SYLLABICS CARRIER SU
-164F;N # CANADIAN SYLLABICS CARRIER SO
-1650;N # CANADIAN SYLLABICS CARRIER SE
-1651;N # CANADIAN SYLLABICS CARRIER SEE
-1652;N # CANADIAN SYLLABICS CARRIER SI
-1653;N # CANADIAN SYLLABICS CARRIER SA
-1654;N # CANADIAN SYLLABICS CARRIER SHU
-1655;N # CANADIAN SYLLABICS CARRIER SHO
-1656;N # CANADIAN SYLLABICS CARRIER SHE
-1657;N # CANADIAN SYLLABICS CARRIER SHEE
-1658;N # CANADIAN SYLLABICS CARRIER SHI
-1659;N # CANADIAN SYLLABICS CARRIER SHA
-165A;N # CANADIAN SYLLABICS CARRIER SH
-165B;N # CANADIAN SYLLABICS CARRIER TSU
-165C;N # CANADIAN SYLLABICS CARRIER TSO
-165D;N # CANADIAN SYLLABICS CARRIER TSE
-165E;N # CANADIAN SYLLABICS CARRIER TSEE
-165F;N # CANADIAN SYLLABICS CARRIER TSI
-1660;N # CANADIAN SYLLABICS CARRIER TSA
-1661;N # CANADIAN SYLLABICS CARRIER CHU
-1662;N # CANADIAN SYLLABICS CARRIER CHO
-1663;N # CANADIAN SYLLABICS CARRIER CHE
-1664;N # CANADIAN SYLLABICS CARRIER CHEE
-1665;N # CANADIAN SYLLABICS CARRIER CHI
-1666;N # CANADIAN SYLLABICS CARRIER CHA
-1667;N # CANADIAN SYLLABICS CARRIER TTSU
-1668;N # CANADIAN SYLLABICS CARRIER TTSO
-1669;N # CANADIAN SYLLABICS CARRIER TTSE
-166A;N # CANADIAN SYLLABICS CARRIER TTSEE
-166B;N # CANADIAN SYLLABICS CARRIER TTSI
-166C;N # CANADIAN SYLLABICS CARRIER TTSA
-166D;N # CANADIAN SYLLABICS CHI SIGN
-166E;N # CANADIAN SYLLABICS FULL STOP
-166F;N # CANADIAN SYLLABICS QAI
-1670;N # CANADIAN SYLLABICS NGAI
-1671;N # CANADIAN SYLLABICS NNGI
-1672;N # CANADIAN SYLLABICS NNGII
-1673;N # CANADIAN SYLLABICS NNGO
-1674;N # CANADIAN SYLLABICS NNGOO
-1675;N # CANADIAN SYLLABICS NNGA
-1676;N # CANADIAN SYLLABICS NNGAA
-1677;N # CANADIAN SYLLABICS WOODS-CREE THWEE
-1678;N # CANADIAN SYLLABICS WOODS-CREE THWI
-1679;N # CANADIAN SYLLABICS WOODS-CREE THWII
-167A;N # CANADIAN SYLLABICS WOODS-CREE THWO
-167B;N # CANADIAN SYLLABICS WOODS-CREE THWOO
-167C;N # CANADIAN SYLLABICS WOODS-CREE THWA
-167D;N # CANADIAN SYLLABICS WOODS-CREE THWAA
-167E;N # CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F;N # CANADIAN SYLLABICS BLACKFOOT W
-1680;N # OGHAM SPACE MARK
-1681;N # OGHAM LETTER BEITH
-1682;N # OGHAM LETTER LUIS
-1683;N # OGHAM LETTER FEARN
-1684;N # OGHAM LETTER SAIL
-1685;N # OGHAM LETTER NION
-1686;N # OGHAM LETTER UATH
-1687;N # OGHAM LETTER DAIR
-1688;N # OGHAM LETTER TINNE
-1689;N # OGHAM LETTER COLL
-168A;N # OGHAM LETTER CEIRT
-168B;N # OGHAM LETTER MUIN
-168C;N # OGHAM LETTER GORT
-168D;N # OGHAM LETTER NGEADAL
-168E;N # OGHAM LETTER STRAIF
-168F;N # OGHAM LETTER RUIS
-1690;N # OGHAM LETTER AILM
-1691;N # OGHAM LETTER ONN
-1692;N # OGHAM LETTER UR
-1693;N # OGHAM LETTER EADHADH
-1694;N # OGHAM LETTER IODHADH
-1695;N # OGHAM LETTER EABHADH
-1696;N # OGHAM LETTER OR
-1697;N # OGHAM LETTER UILLEANN
-1698;N # OGHAM LETTER IFIN
-1699;N # OGHAM LETTER EAMHANCHOLL
-169A;N # OGHAM LETTER PEITH
-169B;N # OGHAM FEATHER MARK
-169C;N # OGHAM REVERSED FEATHER MARK
-16A0;N # RUNIC LETTER FEHU FEOH FE F
-16A1;N # RUNIC LETTER V
-16A2;N # RUNIC LETTER URUZ UR U
-16A3;N # RUNIC LETTER YR
-16A4;N # RUNIC LETTER Y
-16A5;N # RUNIC LETTER W
-16A6;N # RUNIC LETTER THURISAZ THURS THORN
-16A7;N # RUNIC LETTER ETH
-16A8;N # RUNIC LETTER ANSUZ A
-16A9;N # RUNIC LETTER OS O
-16AA;N # RUNIC LETTER AC A
-16AB;N # RUNIC LETTER AESC
-16AC;N # RUNIC LETTER LONG-BRANCH-OSS O
-16AD;N # RUNIC LETTER SHORT-TWIG-OSS O
-16AE;N # RUNIC LETTER O
-16AF;N # RUNIC LETTER OE
-16B0;N # RUNIC LETTER ON
-16B1;N # RUNIC LETTER RAIDO RAD REID R
-16B2;N # RUNIC LETTER KAUNA
-16B3;N # RUNIC LETTER CEN
-16B4;N # RUNIC LETTER KAUN K
-16B5;N # RUNIC LETTER G
-16B6;N # RUNIC LETTER ENG
-16B7;N # RUNIC LETTER GEBO GYFU G
-16B8;N # RUNIC LETTER GAR
-16B9;N # RUNIC LETTER WUNJO WYNN W
-16BA;N # RUNIC LETTER HAGLAZ H
-16BB;N # RUNIC LETTER HAEGL H
-16BC;N # RUNIC LETTER LONG-BRANCH-HAGALL H
-16BD;N # RUNIC LETTER SHORT-TWIG-HAGALL H
-16BE;N # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF;N # RUNIC LETTER SHORT-TWIG-NAUD N
-16C0;N # RUNIC LETTER DOTTED-N
-16C1;N # RUNIC LETTER ISAZ IS ISS I
-16C2;N # RUNIC LETTER E
-16C3;N # RUNIC LETTER JERAN J
-16C4;N # RUNIC LETTER GER
-16C5;N # RUNIC LETTER LONG-BRANCH-AR AE
-16C6;N # RUNIC LETTER SHORT-TWIG-AR A
-16C7;N # RUNIC LETTER IWAZ EOH
-16C8;N # RUNIC LETTER PERTHO PEORTH P
-16C9;N # RUNIC LETTER ALGIZ EOLHX
-16CA;N # RUNIC LETTER SOWILO S
-16CB;N # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
-16CC;N # RUNIC LETTER SHORT-TWIG-SOL S
-16CD;N # RUNIC LETTER C
-16CE;N # RUNIC LETTER Z
-16CF;N # RUNIC LETTER TIWAZ TIR TYR T
-16D0;N # RUNIC LETTER SHORT-TWIG-TYR T
-16D1;N # RUNIC LETTER D
-16D2;N # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3;N # RUNIC LETTER SHORT-TWIG-BJARKAN B
-16D4;N # RUNIC LETTER DOTTED-P
-16D5;N # RUNIC LETTER OPEN-P
-16D6;N # RUNIC LETTER EHWAZ EH E
-16D7;N # RUNIC LETTER MANNAZ MAN M
-16D8;N # RUNIC LETTER LONG-BRANCH-MADR M
-16D9;N # RUNIC LETTER SHORT-TWIG-MADR M
-16DA;N # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB;N # RUNIC LETTER DOTTED-L
-16DC;N # RUNIC LETTER INGWAZ
-16DD;N # RUNIC LETTER ING
-16DE;N # RUNIC LETTER DAGAZ DAEG D
-16DF;N # RUNIC LETTER OTHALAN ETHEL O
-16E0;N # RUNIC LETTER EAR
-16E1;N # RUNIC LETTER IOR
-16E2;N # RUNIC LETTER CWEORTH
-16E3;N # RUNIC LETTER CALC
-16E4;N # RUNIC LETTER CEALC
-16E5;N # RUNIC LETTER STAN
-16E6;N # RUNIC LETTER LONG-BRANCH-YR
-16E7;N # RUNIC LETTER SHORT-TWIG-YR
-16E8;N # RUNIC LETTER ICELANDIC-YR
-16E9;N # RUNIC LETTER Q
-16EA;N # RUNIC LETTER X
-16EB;N # RUNIC SINGLE PUNCTUATION
-16EC;N # RUNIC MULTIPLE PUNCTUATION
-16ED;N # RUNIC CROSS PUNCTUATION
-16EE;N # RUNIC ARLAUG SYMBOL
-16EF;N # RUNIC TVIMADUR SYMBOL
-16F0;N # RUNIC BELGTHOR SYMBOL
-1700;N # TAGALOG LETTER A
-1701;N # TAGALOG LETTER I
-1702;N # TAGALOG LETTER U
-1703;N # TAGALOG LETTER KA
-1704;N # TAGALOG LETTER GA
-1705;N # TAGALOG LETTER NGA
-1706;N # TAGALOG LETTER TA
-1707;N # TAGALOG LETTER DA
-1708;N # TAGALOG LETTER NA
-1709;N # TAGALOG LETTER PA
-170A;N # TAGALOG LETTER BA
-170B;N # TAGALOG LETTER MA
-170C;N # TAGALOG LETTER YA
-170E;N # TAGALOG LETTER LA
-170F;N # TAGALOG LETTER WA
-1710;N # TAGALOG LETTER SA
-1711;N # TAGALOG LETTER HA
-1712;N # TAGALOG VOWEL SIGN I
-1713;N # TAGALOG VOWEL SIGN U
-1714;N # TAGALOG SIGN VIRAMA
-1720;N # HANUNOO LETTER A
-1721;N # HANUNOO LETTER I
-1722;N # HANUNOO LETTER U
-1723;N # HANUNOO LETTER KA
-1724;N # HANUNOO LETTER GA
-1725;N # HANUNOO LETTER NGA
-1726;N # HANUNOO LETTER TA
-1727;N # HANUNOO LETTER DA
-1728;N # HANUNOO LETTER NA
-1729;N # HANUNOO LETTER PA
-172A;N # HANUNOO LETTER BA
-172B;N # HANUNOO LETTER MA
-172C;N # HANUNOO LETTER YA
-172D;N # HANUNOO LETTER RA
-172E;N # HANUNOO LETTER LA
-172F;N # HANUNOO LETTER WA
-1730;N # HANUNOO LETTER SA
-1731;N # HANUNOO LETTER HA
-1732;N # HANUNOO VOWEL SIGN I
-1733;N # HANUNOO VOWEL SIGN U
-1734;N # HANUNOO SIGN PAMUDPOD
-1735;N # PHILIPPINE SINGLE PUNCTUATION
-1736;N # PHILIPPINE DOUBLE PUNCTUATION
-1740;N # BUHID LETTER A
-1741;N # BUHID LETTER I
-1742;N # BUHID LETTER U
-1743;N # BUHID LETTER KA
-1744;N # BUHID LETTER GA
-1745;N # BUHID LETTER NGA
-1746;N # BUHID LETTER TA
-1747;N # BUHID LETTER DA
-1748;N # BUHID LETTER NA
-1749;N # BUHID LETTER PA
-174A;N # BUHID LETTER BA
-174B;N # BUHID LETTER MA
-174C;N # BUHID LETTER YA
-174D;N # BUHID LETTER RA
-174E;N # BUHID LETTER LA
-174F;N # BUHID LETTER WA
-1750;N # BUHID LETTER SA
-1751;N # BUHID LETTER HA
-1752;N # BUHID VOWEL SIGN I
-1753;N # BUHID VOWEL SIGN U
-1760;N # TAGBANWA LETTER A
-1761;N # TAGBANWA LETTER I
-1762;N # TAGBANWA LETTER U
-1763;N # TAGBANWA LETTER KA
-1764;N # TAGBANWA LETTER GA
-1765;N # TAGBANWA LETTER NGA
-1766;N # TAGBANWA LETTER TA
-1767;N # TAGBANWA LETTER DA
-1768;N # TAGBANWA LETTER NA
-1769;N # TAGBANWA LETTER PA
-176A;N # TAGBANWA LETTER BA
-176B;N # TAGBANWA LETTER MA
-176C;N # TAGBANWA LETTER YA
-176E;N # TAGBANWA LETTER LA
-176F;N # TAGBANWA LETTER WA
-1770;N # TAGBANWA LETTER SA
-1772;N # TAGBANWA VOWEL SIGN I
-1773;N # TAGBANWA VOWEL SIGN U
-1780;N # KHMER LETTER KA
-1781;N # KHMER LETTER KHA
-1782;N # KHMER LETTER KO
-1783;N # KHMER LETTER KHO
-1784;N # KHMER LETTER NGO
-1785;N # KHMER LETTER CA
-1786;N # KHMER LETTER CHA
-1787;N # KHMER LETTER CO
-1788;N # KHMER LETTER CHO
-1789;N # KHMER LETTER NYO
-178A;N # KHMER LETTER DA
-178B;N # KHMER LETTER TTHA
-178C;N # KHMER LETTER DO
-178D;N # KHMER LETTER TTHO
-178E;N # KHMER LETTER NNO
-178F;N # KHMER LETTER TA
-1790;N # KHMER LETTER THA
-1791;N # KHMER LETTER TO
-1792;N # KHMER LETTER THO
-1793;N # KHMER LETTER NO
-1794;N # KHMER LETTER BA
-1795;N # KHMER LETTER PHA
-1796;N # KHMER LETTER PO
-1797;N # KHMER LETTER PHO
-1798;N # KHMER LETTER MO
-1799;N # KHMER LETTER YO
-179A;N # KHMER LETTER RO
-179B;N # KHMER LETTER LO
-179C;N # KHMER LETTER VO
-179D;N # KHMER LETTER SHA
-179E;N # KHMER LETTER SSO
-179F;N # KHMER LETTER SA
-17A0;N # KHMER LETTER HA
-17A1;N # KHMER LETTER LA
-17A2;N # KHMER LETTER QA
-17A3;N # KHMER INDEPENDENT VOWEL QAQ
-17A4;N # KHMER INDEPENDENT VOWEL QAA
-17A5;N # KHMER INDEPENDENT VOWEL QI
-17A6;N # KHMER INDEPENDENT VOWEL QII
-17A7;N # KHMER INDEPENDENT VOWEL QU
-17A8;N # KHMER INDEPENDENT VOWEL QUK
-17A9;N # KHMER INDEPENDENT VOWEL QUU
-17AA;N # KHMER INDEPENDENT VOWEL QUUV
-17AB;N # KHMER INDEPENDENT VOWEL RY
-17AC;N # KHMER INDEPENDENT VOWEL RYY
-17AD;N # KHMER INDEPENDENT VOWEL LY
-17AE;N # KHMER INDEPENDENT VOWEL LYY
-17AF;N # KHMER INDEPENDENT VOWEL QE
-17B0;N # KHMER INDEPENDENT VOWEL QAI
-17B1;N # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2;N # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3;N # KHMER INDEPENDENT VOWEL QAU
-17B4;N # KHMER VOWEL INHERENT AQ
-17B5;N # KHMER VOWEL INHERENT AA
-17B6;N # KHMER VOWEL SIGN AA
-17B7;N # KHMER VOWEL SIGN I
-17B8;N # KHMER VOWEL SIGN II
-17B9;N # KHMER VOWEL SIGN Y
-17BA;N # KHMER VOWEL SIGN YY
-17BB;N # KHMER VOWEL SIGN U
-17BC;N # KHMER VOWEL SIGN UU
-17BD;N # KHMER VOWEL SIGN UA
-17BE;N # KHMER VOWEL SIGN OE
-17BF;N # KHMER VOWEL SIGN YA
-17C0;N # KHMER VOWEL SIGN IE
-17C1;N # KHMER VOWEL SIGN E
-17C2;N # KHMER VOWEL SIGN AE
-17C3;N # KHMER VOWEL SIGN AI
-17C4;N # KHMER VOWEL SIGN OO
-17C5;N # KHMER VOWEL SIGN AU
-17C6;N # KHMER SIGN NIKAHIT
-17C7;N # KHMER SIGN REAHMUK
-17C8;N # KHMER SIGN YUUKALEAPINTU
-17C9;N # KHMER SIGN MUUSIKATOAN
-17CA;N # KHMER SIGN TRIISAP
-17CB;N # KHMER SIGN BANTOC
-17CC;N # KHMER SIGN ROBAT
-17CD;N # KHMER SIGN TOANDAKHIAT
-17CE;N # KHMER SIGN KAKABAT
-17CF;N # KHMER SIGN AHSDA
-17D0;N # KHMER SIGN SAMYOK SANNYA
-17D1;N # KHMER SIGN VIRIAM
-17D2;N # KHMER SIGN COENG
-17D3;N # KHMER SIGN BATHAMASAT
-17D4;N # KHMER SIGN KHAN
-17D5;N # KHMER SIGN BARIYOOSAN
-17D6;N # KHMER SIGN CAMNUC PII KUUH
-17D7;N # KHMER SIGN LEK TOO
-17D8;N # KHMER SIGN BEYYAL
-17D9;N # KHMER SIGN PHNAEK MUAN
-17DA;N # KHMER SIGN KOOMUUT
-17DB;N # KHMER CURRENCY SYMBOL RIEL
-17DC;N # KHMER SIGN AVAKRAHASANYA
-17DD;N # KHMER SIGN ATTHACAN
-17E0;N # KHMER DIGIT ZERO
-17E1;N # KHMER DIGIT ONE
-17E2;N # KHMER DIGIT TWO
-17E3;N # KHMER DIGIT THREE
-17E4;N # KHMER DIGIT FOUR
-17E5;N # KHMER DIGIT FIVE
-17E6;N # KHMER DIGIT SIX
-17E7;N # KHMER DIGIT SEVEN
-17E8;N # KHMER DIGIT EIGHT
-17E9;N # KHMER DIGIT NINE
-17F0;N # KHMER SYMBOL LEK ATTAK SON
-17F1;N # KHMER SYMBOL LEK ATTAK MUOY
-17F2;N # KHMER SYMBOL LEK ATTAK PII
-17F3;N # KHMER SYMBOL LEK ATTAK BEI
-17F4;N # KHMER SYMBOL LEK ATTAK BUON
-17F5;N # KHMER SYMBOL LEK ATTAK PRAM
-17F6;N # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-17F7;N # KHMER SYMBOL LEK ATTAK PRAM-PII
-17F8;N # KHMER SYMBOL LEK ATTAK PRAM-BEI
-17F9;N # KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800;N # MONGOLIAN BIRGA
-1801;N # MONGOLIAN ELLIPSIS
-1802;N # MONGOLIAN COMMA
-1803;N # MONGOLIAN FULL STOP
-1804;N # MONGOLIAN COLON
-1805;N # MONGOLIAN FOUR DOTS
-1806;N # MONGOLIAN TODO SOFT HYPHEN
-1807;N # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808;N # MONGOLIAN MANCHU COMMA
-1809;N # MONGOLIAN MANCHU FULL STOP
-180A;N # MONGOLIAN NIRUGU
-180B;N # MONGOLIAN FREE VARIATION SELECTOR ONE
-180C;N # MONGOLIAN FREE VARIATION SELECTOR TWO
-180D;N # MONGOLIAN FREE VARIATION SELECTOR THREE
-180E;N # MONGOLIAN VOWEL SEPARATOR
-1810;N # MONGOLIAN DIGIT ZERO
-1811;N # MONGOLIAN DIGIT ONE
-1812;N # MONGOLIAN DIGIT TWO
-1813;N # MONGOLIAN DIGIT THREE
-1814;N # MONGOLIAN DIGIT FOUR
-1815;N # MONGOLIAN DIGIT FIVE
-1816;N # MONGOLIAN DIGIT SIX
-1817;N # MONGOLIAN DIGIT SEVEN
-1818;N # MONGOLIAN DIGIT EIGHT
-1819;N # MONGOLIAN DIGIT NINE
-1820;N # MONGOLIAN LETTER A
-1821;N # MONGOLIAN LETTER E
-1822;N # MONGOLIAN LETTER I
-1823;N # MONGOLIAN LETTER O
-1824;N # MONGOLIAN LETTER U
-1825;N # MONGOLIAN LETTER OE
-1826;N # MONGOLIAN LETTER UE
-1827;N # MONGOLIAN LETTER EE
-1828;N # MONGOLIAN LETTER NA
-1829;N # MONGOLIAN LETTER ANG
-182A;N # MONGOLIAN LETTER BA
-182B;N # MONGOLIAN LETTER PA
-182C;N # MONGOLIAN LETTER QA
-182D;N # MONGOLIAN LETTER GA
-182E;N # MONGOLIAN LETTER MA
-182F;N # MONGOLIAN LETTER LA
-1830;N # MONGOLIAN LETTER SA
-1831;N # MONGOLIAN LETTER SHA
-1832;N # MONGOLIAN LETTER TA
-1833;N # MONGOLIAN LETTER DA
-1834;N # MONGOLIAN LETTER CHA
-1835;N # MONGOLIAN LETTER JA
-1836;N # MONGOLIAN LETTER YA
-1837;N # MONGOLIAN LETTER RA
-1838;N # MONGOLIAN LETTER WA
-1839;N # MONGOLIAN LETTER FA
-183A;N # MONGOLIAN LETTER KA
-183B;N # MONGOLIAN LETTER KHA
-183C;N # MONGOLIAN LETTER TSA
-183D;N # MONGOLIAN LETTER ZA
-183E;N # MONGOLIAN LETTER HAA
-183F;N # MONGOLIAN LETTER ZRA
-1840;N # MONGOLIAN LETTER LHA
-1841;N # MONGOLIAN LETTER ZHI
-1842;N # MONGOLIAN LETTER CHI
-1843;N # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844;N # MONGOLIAN LETTER TODO E
-1845;N # MONGOLIAN LETTER TODO I
-1846;N # MONGOLIAN LETTER TODO O
-1847;N # MONGOLIAN LETTER TODO U
-1848;N # MONGOLIAN LETTER TODO OE
-1849;N # MONGOLIAN LETTER TODO UE
-184A;N # MONGOLIAN LETTER TODO ANG
-184B;N # MONGOLIAN LETTER TODO BA
-184C;N # MONGOLIAN LETTER TODO PA
-184D;N # MONGOLIAN LETTER TODO QA
-184E;N # MONGOLIAN LETTER TODO GA
-184F;N # MONGOLIAN LETTER TODO MA
-1850;N # MONGOLIAN LETTER TODO TA
-1851;N # MONGOLIAN LETTER TODO DA
-1852;N # MONGOLIAN LETTER TODO CHA
-1853;N # MONGOLIAN LETTER TODO JA
-1854;N # MONGOLIAN LETTER TODO TSA
-1855;N # MONGOLIAN LETTER TODO YA
-1856;N # MONGOLIAN LETTER TODO WA
-1857;N # MONGOLIAN LETTER TODO KA
-1858;N # MONGOLIAN LETTER TODO GAA
-1859;N # MONGOLIAN LETTER TODO HAA
-185A;N # MONGOLIAN LETTER TODO JIA
-185B;N # MONGOLIAN LETTER TODO NIA
-185C;N # MONGOLIAN LETTER TODO DZA
-185D;N # MONGOLIAN LETTER SIBE E
-185E;N # MONGOLIAN LETTER SIBE I
-185F;N # MONGOLIAN LETTER SIBE IY
-1860;N # MONGOLIAN LETTER SIBE UE
-1861;N # MONGOLIAN LETTER SIBE U
-1862;N # MONGOLIAN LETTER SIBE ANG
-1863;N # MONGOLIAN LETTER SIBE KA
-1864;N # MONGOLIAN LETTER SIBE GA
-1865;N # MONGOLIAN LETTER SIBE HA
-1866;N # MONGOLIAN LETTER SIBE PA
-1867;N # MONGOLIAN LETTER SIBE SHA
-1868;N # MONGOLIAN LETTER SIBE TA
-1869;N # MONGOLIAN LETTER SIBE DA
-186A;N # MONGOLIAN LETTER SIBE JA
-186B;N # MONGOLIAN LETTER SIBE FA
-186C;N # MONGOLIAN LETTER SIBE GAA
-186D;N # MONGOLIAN LETTER SIBE HAA
-186E;N # MONGOLIAN LETTER SIBE TSA
-186F;N # MONGOLIAN LETTER SIBE ZA
-1870;N # MONGOLIAN LETTER SIBE RAA
-1871;N # MONGOLIAN LETTER SIBE CHA
-1872;N # MONGOLIAN LETTER SIBE ZHA
-1873;N # MONGOLIAN LETTER MANCHU I
-1874;N # MONGOLIAN LETTER MANCHU KA
-1875;N # MONGOLIAN LETTER MANCHU RA
-1876;N # MONGOLIAN LETTER MANCHU FA
-1877;N # MONGOLIAN LETTER MANCHU ZHA
-1880;N # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881;N # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882;N # MONGOLIAN LETTER ALI GALI DAMARU
-1883;N # MONGOLIAN LETTER ALI GALI UBADAMA
-1884;N # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885;N # MONGOLIAN LETTER ALI GALI BALUDA
-1886;N # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1887;N # MONGOLIAN LETTER ALI GALI A
-1888;N # MONGOLIAN LETTER ALI GALI I
-1889;N # MONGOLIAN LETTER ALI GALI KA
-188A;N # MONGOLIAN LETTER ALI GALI NGA
-188B;N # MONGOLIAN LETTER ALI GALI CA
-188C;N # MONGOLIAN LETTER ALI GALI TTA
-188D;N # MONGOLIAN LETTER ALI GALI TTHA
-188E;N # MONGOLIAN LETTER ALI GALI DDA
-188F;N # MONGOLIAN LETTER ALI GALI NNA
-1890;N # MONGOLIAN LETTER ALI GALI TA
-1891;N # MONGOLIAN LETTER ALI GALI DA
-1892;N # MONGOLIAN LETTER ALI GALI PA
-1893;N # MONGOLIAN LETTER ALI GALI PHA
-1894;N # MONGOLIAN LETTER ALI GALI SSA
-1895;N # MONGOLIAN LETTER ALI GALI ZHA
-1896;N # MONGOLIAN LETTER ALI GALI ZA
-1897;N # MONGOLIAN LETTER ALI GALI AH
-1898;N # MONGOLIAN LETTER TODO ALI GALI TA
-1899;N # MONGOLIAN LETTER TODO ALI GALI ZHA
-189A;N # MONGOLIAN LETTER MANCHU ALI GALI GHA
-189B;N # MONGOLIAN LETTER MANCHU ALI GALI NGA
-189C;N # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D;N # MONGOLIAN LETTER MANCHU ALI GALI JHA
-189E;N # MONGOLIAN LETTER MANCHU ALI GALI TTA
-189F;N # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-18A0;N # MONGOLIAN LETTER MANCHU ALI GALI TA
-18A1;N # MONGOLIAN LETTER MANCHU ALI GALI DHA
-18A2;N # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A3;N # MONGOLIAN LETTER MANCHU ALI GALI CYA
-18A4;N # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5;N # MONGOLIAN LETTER MANCHU ALI GALI ZA
-18A6;N # MONGOLIAN LETTER ALI GALI HALF U
-18A7;N # MONGOLIAN LETTER ALI GALI HALF YA
-18A8;N # MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9;N # MONGOLIAN LETTER ALI GALI DAGALGA
-18AA;N # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0;N # CANADIAN SYLLABICS OY
-18B1;N # CANADIAN SYLLABICS AY
-18B2;N # CANADIAN SYLLABICS AAY
-18B3;N # CANADIAN SYLLABICS WAY
-18B4;N # CANADIAN SYLLABICS POY
-18B5;N # CANADIAN SYLLABICS PAY
-18B6;N # CANADIAN SYLLABICS PWOY
-18B7;N # CANADIAN SYLLABICS TAY
-18B8;N # CANADIAN SYLLABICS KAY
-18B9;N # CANADIAN SYLLABICS KWAY
-18BA;N # CANADIAN SYLLABICS MAY
-18BB;N # CANADIAN SYLLABICS NOY
-18BC;N # CANADIAN SYLLABICS NAY
-18BD;N # CANADIAN SYLLABICS LAY
-18BE;N # CANADIAN SYLLABICS SOY
-18BF;N # CANADIAN SYLLABICS SAY
-18C0;N # CANADIAN SYLLABICS SHOY
-18C1;N # CANADIAN SYLLABICS SHAY
-18C2;N # CANADIAN SYLLABICS SHWOY
-18C3;N # CANADIAN SYLLABICS YOY
-18C4;N # CANADIAN SYLLABICS YAY
-18C5;N # CANADIAN SYLLABICS RAY
-18C6;N # CANADIAN SYLLABICS NWI
-18C7;N # CANADIAN SYLLABICS OJIBWAY NWI
-18C8;N # CANADIAN SYLLABICS NWII
-18C9;N # CANADIAN SYLLABICS OJIBWAY NWII
-18CA;N # CANADIAN SYLLABICS NWO
-18CB;N # CANADIAN SYLLABICS OJIBWAY NWO
-18CC;N # CANADIAN SYLLABICS NWOO
-18CD;N # CANADIAN SYLLABICS OJIBWAY NWOO
-18CE;N # CANADIAN SYLLABICS RWEE
-18CF;N # CANADIAN SYLLABICS RWI
-18D0;N # CANADIAN SYLLABICS RWII
-18D1;N # CANADIAN SYLLABICS RWO
-18D2;N # CANADIAN SYLLABICS RWOO
-18D3;N # CANADIAN SYLLABICS RWA
-18D4;N # CANADIAN SYLLABICS OJIBWAY P
-18D5;N # CANADIAN SYLLABICS OJIBWAY T
-18D6;N # CANADIAN SYLLABICS OJIBWAY K
-18D7;N # CANADIAN SYLLABICS OJIBWAY C
-18D8;N # CANADIAN SYLLABICS OJIBWAY M
-18D9;N # CANADIAN SYLLABICS OJIBWAY N
-18DA;N # CANADIAN SYLLABICS OJIBWAY S
-18DB;N # CANADIAN SYLLABICS OJIBWAY SH
-18DC;N # CANADIAN SYLLABICS EASTERN W
-18DD;N # CANADIAN SYLLABICS WESTERN W
-18DE;N # CANADIAN SYLLABICS FINAL SMALL RING
-18DF;N # CANADIAN SYLLABICS FINAL RAISED DOT
-18E0;N # CANADIAN SYLLABICS R-CREE RWE
-18E1;N # CANADIAN SYLLABICS WEST-CREE LOO
-18E2;N # CANADIAN SYLLABICS WEST-CREE LAA
-18E3;N # CANADIAN SYLLABICS THWE
-18E4;N # CANADIAN SYLLABICS THWA
-18E5;N # CANADIAN SYLLABICS TTHWE
-18E6;N # CANADIAN SYLLABICS TTHOO
-18E7;N # CANADIAN SYLLABICS TTHAA
-18E8;N # CANADIAN SYLLABICS TLHWE
-18E9;N # CANADIAN SYLLABICS TLHOO
-18EA;N # CANADIAN SYLLABICS SAYISI SHWE
-18EB;N # CANADIAN SYLLABICS SAYISI SHOO
-18EC;N # CANADIAN SYLLABICS SAYISI HOO
-18ED;N # CANADIAN SYLLABICS CARRIER GWU
-18EE;N # CANADIAN SYLLABICS CARRIER DENE GEE
-18EF;N # CANADIAN SYLLABICS CARRIER GAA
-18F0;N # CANADIAN SYLLABICS CARRIER GWA
-18F1;N # CANADIAN SYLLABICS SAYISI JUU
-18F2;N # CANADIAN SYLLABICS CARRIER JWA
-18F3;N # CANADIAN SYLLABICS BEAVER DENE L
-18F4;N # CANADIAN SYLLABICS BEAVER DENE R
-18F5;N # CANADIAN SYLLABICS CARRIER DENTAL S
-1900;N # LIMBU VOWEL-CARRIER LETTER
-1901;N # LIMBU LETTER KA
-1902;N # LIMBU LETTER KHA
-1903;N # LIMBU LETTER GA
-1904;N # LIMBU LETTER GHA
-1905;N # LIMBU LETTER NGA
-1906;N # LIMBU LETTER CA
-1907;N # LIMBU LETTER CHA
-1908;N # LIMBU LETTER JA
-1909;N # LIMBU LETTER JHA
-190A;N # LIMBU LETTER YAN
-190B;N # LIMBU LETTER TA
-190C;N # LIMBU LETTER THA
-190D;N # LIMBU LETTER DA
-190E;N # LIMBU LETTER DHA
-190F;N # LIMBU LETTER NA
-1910;N # LIMBU LETTER PA
-1911;N # LIMBU LETTER PHA
-1912;N # LIMBU LETTER BA
-1913;N # LIMBU LETTER BHA
-1914;N # LIMBU LETTER MA
-1915;N # LIMBU LETTER YA
-1916;N # LIMBU LETTER RA
-1917;N # LIMBU LETTER LA
-1918;N # LIMBU LETTER WA
-1919;N # LIMBU LETTER SHA
-191A;N # LIMBU LETTER SSA
-191B;N # LIMBU LETTER SA
-191C;N # LIMBU LETTER HA
-1920;N # LIMBU VOWEL SIGN A
-1921;N # LIMBU VOWEL SIGN I
-1922;N # LIMBU VOWEL SIGN U
-1923;N # LIMBU VOWEL SIGN EE
-1924;N # LIMBU VOWEL SIGN AI
-1925;N # LIMBU VOWEL SIGN OO
-1926;N # LIMBU VOWEL SIGN AU
-1927;N # LIMBU VOWEL SIGN E
-1928;N # LIMBU VOWEL SIGN O
-1929;N # LIMBU SUBJOINED LETTER YA
-192A;N # LIMBU SUBJOINED LETTER RA
-192B;N # LIMBU SUBJOINED LETTER WA
-1930;N # LIMBU SMALL LETTER KA
-1931;N # LIMBU SMALL LETTER NGA
-1932;N # LIMBU SMALL LETTER ANUSVARA
-1933;N # LIMBU SMALL LETTER TA
-1934;N # LIMBU SMALL LETTER NA
-1935;N # LIMBU SMALL LETTER PA
-1936;N # LIMBU SMALL LETTER MA
-1937;N # LIMBU SMALL LETTER RA
-1938;N # LIMBU SMALL LETTER LA
-1939;N # LIMBU SIGN MUKPHRENG
-193A;N # LIMBU SIGN KEMPHRENG
-193B;N # LIMBU SIGN SA-I
-1940;N # LIMBU SIGN LOO
-1944;N # LIMBU EXCLAMATION MARK
-1945;N # LIMBU QUESTION MARK
-1946;N # LIMBU DIGIT ZERO
-1947;N # LIMBU DIGIT ONE
-1948;N # LIMBU DIGIT TWO
-1949;N # LIMBU DIGIT THREE
-194A;N # LIMBU DIGIT FOUR
-194B;N # LIMBU DIGIT FIVE
-194C;N # LIMBU DIGIT SIX
-194D;N # LIMBU DIGIT SEVEN
-194E;N # LIMBU DIGIT EIGHT
-194F;N # LIMBU DIGIT NINE
-1950;N # TAI LE LETTER KA
-1951;N # TAI LE LETTER XA
-1952;N # TAI LE LETTER NGA
-1953;N # TAI LE LETTER TSA
-1954;N # TAI LE LETTER SA
-1955;N # TAI LE LETTER YA
-1956;N # TAI LE LETTER TA
-1957;N # TAI LE LETTER THA
-1958;N # TAI LE LETTER LA
-1959;N # TAI LE LETTER PA
-195A;N # TAI LE LETTER PHA
-195B;N # TAI LE LETTER MA
-195C;N # TAI LE LETTER FA
-195D;N # TAI LE LETTER VA
-195E;N # TAI LE LETTER HA
-195F;N # TAI LE LETTER QA
-1960;N # TAI LE LETTER KHA
-1961;N # TAI LE LETTER TSHA
-1962;N # TAI LE LETTER NA
-1963;N # TAI LE LETTER A
-1964;N # TAI LE LETTER I
-1965;N # TAI LE LETTER EE
-1966;N # TAI LE LETTER EH
-1967;N # TAI LE LETTER U
-1968;N # TAI LE LETTER OO
-1969;N # TAI LE LETTER O
-196A;N # TAI LE LETTER UE
-196B;N # TAI LE LETTER E
-196C;N # TAI LE LETTER AUE
-196D;N # TAI LE LETTER AI
-1970;N # TAI LE LETTER TONE-2
-1971;N # TAI LE LETTER TONE-3
-1972;N # TAI LE LETTER TONE-4
-1973;N # TAI LE LETTER TONE-5
-1974;N # TAI LE LETTER TONE-6
-1980;N # NEW TAI LUE LETTER HIGH QA
-1981;N # NEW TAI LUE LETTER LOW QA
-1982;N # NEW TAI LUE LETTER HIGH KA
-1983;N # NEW TAI LUE LETTER HIGH XA
-1984;N # NEW TAI LUE LETTER HIGH NGA
-1985;N # NEW TAI LUE LETTER LOW KA
-1986;N # NEW TAI LUE LETTER LOW XA
-1987;N # NEW TAI LUE LETTER LOW NGA
-1988;N # NEW TAI LUE LETTER HIGH TSA
-1989;N # NEW TAI LUE LETTER HIGH SA
-198A;N # NEW TAI LUE LETTER HIGH YA
-198B;N # NEW TAI LUE LETTER LOW TSA
-198C;N # NEW TAI LUE LETTER LOW SA
-198D;N # NEW TAI LUE LETTER LOW YA
-198E;N # NEW TAI LUE LETTER HIGH TA
-198F;N # NEW TAI LUE LETTER HIGH THA
-1990;N # NEW TAI LUE LETTER HIGH NA
-1991;N # NEW TAI LUE LETTER LOW TA
-1992;N # NEW TAI LUE LETTER LOW THA
-1993;N # NEW TAI LUE LETTER LOW NA
-1994;N # NEW TAI LUE LETTER HIGH PA
-1995;N # NEW TAI LUE LETTER HIGH PHA
-1996;N # NEW TAI LUE LETTER HIGH MA
-1997;N # NEW TAI LUE LETTER LOW PA
-1998;N # NEW TAI LUE LETTER LOW PHA
-1999;N # NEW TAI LUE LETTER LOW MA
-199A;N # NEW TAI LUE LETTER HIGH FA
-199B;N # NEW TAI LUE LETTER HIGH VA
-199C;N # NEW TAI LUE LETTER HIGH LA
-199D;N # NEW TAI LUE LETTER LOW FA
-199E;N # NEW TAI LUE LETTER LOW VA
-199F;N # NEW TAI LUE LETTER LOW LA
-19A0;N # NEW TAI LUE LETTER HIGH HA
-19A1;N # NEW TAI LUE LETTER HIGH DA
-19A2;N # NEW TAI LUE LETTER HIGH BA
-19A3;N # NEW TAI LUE LETTER LOW HA
-19A4;N # NEW TAI LUE LETTER LOW DA
-19A5;N # NEW TAI LUE LETTER LOW BA
-19A6;N # NEW TAI LUE LETTER HIGH KVA
-19A7;N # NEW TAI LUE LETTER HIGH XVA
-19A8;N # NEW TAI LUE LETTER LOW KVA
-19A9;N # NEW TAI LUE LETTER LOW XVA
-19AA;N # NEW TAI LUE LETTER HIGH SUA
-19AB;N # NEW TAI LUE LETTER LOW SUA
-19B0;N # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1;N # NEW TAI LUE VOWEL SIGN AA
-19B2;N # NEW TAI LUE VOWEL SIGN II
-19B3;N # NEW TAI LUE VOWEL SIGN U
-19B4;N # NEW TAI LUE VOWEL SIGN UU
-19B5;N # NEW TAI LUE VOWEL SIGN E
-19B6;N # NEW TAI LUE VOWEL SIGN AE
-19B7;N # NEW TAI LUE VOWEL SIGN O
-19B8;N # NEW TAI LUE VOWEL SIGN OA
-19B9;N # NEW TAI LUE VOWEL SIGN UE
-19BA;N # NEW TAI LUE VOWEL SIGN AY
-19BB;N # NEW TAI LUE VOWEL SIGN AAY
-19BC;N # NEW TAI LUE VOWEL SIGN UY
-19BD;N # NEW TAI LUE VOWEL SIGN OY
-19BE;N # NEW TAI LUE VOWEL SIGN OAY
-19BF;N # NEW TAI LUE VOWEL SIGN UEY
-19C0;N # NEW TAI LUE VOWEL SIGN IY
-19C1;N # NEW TAI LUE LETTER FINAL V
-19C2;N # NEW TAI LUE LETTER FINAL NG
-19C3;N # NEW TAI LUE LETTER FINAL N
-19C4;N # NEW TAI LUE LETTER FINAL M
-19C5;N # NEW TAI LUE LETTER FINAL K
-19C6;N # NEW TAI LUE LETTER FINAL D
-19C7;N # NEW TAI LUE LETTER FINAL B
-19C8;N # NEW TAI LUE TONE MARK-1
-19C9;N # NEW TAI LUE TONE MARK-2
-19D0;N # NEW TAI LUE DIGIT ZERO
-19D1;N # NEW TAI LUE DIGIT ONE
-19D2;N # NEW TAI LUE DIGIT TWO
-19D3;N # NEW TAI LUE DIGIT THREE
-19D4;N # NEW TAI LUE DIGIT FOUR
-19D5;N # NEW TAI LUE DIGIT FIVE
-19D6;N # NEW TAI LUE DIGIT SIX
-19D7;N # NEW TAI LUE DIGIT SEVEN
-19D8;N # NEW TAI LUE DIGIT EIGHT
-19D9;N # NEW TAI LUE DIGIT NINE
-19DA;N # NEW TAI LUE THAM DIGIT ONE
-19DE;N # NEW TAI LUE SIGN LAE
-19DF;N # NEW TAI LUE SIGN LAEV
-19E0;N # KHMER SYMBOL PATHAMASAT
-19E1;N # KHMER SYMBOL MUOY KOET
-19E2;N # KHMER SYMBOL PII KOET
-19E3;N # KHMER SYMBOL BEI KOET
-19E4;N # KHMER SYMBOL BUON KOET
-19E5;N # KHMER SYMBOL PRAM KOET
-19E6;N # KHMER SYMBOL PRAM-MUOY KOET
-19E7;N # KHMER SYMBOL PRAM-PII KOET
-19E8;N # KHMER SYMBOL PRAM-BEI KOET
-19E9;N # KHMER SYMBOL PRAM-BUON KOET
-19EA;N # KHMER SYMBOL DAP KOET
-19EB;N # KHMER SYMBOL DAP-MUOY KOET
-19EC;N # KHMER SYMBOL DAP-PII KOET
-19ED;N # KHMER SYMBOL DAP-BEI KOET
-19EE;N # KHMER SYMBOL DAP-BUON KOET
-19EF;N # KHMER SYMBOL DAP-PRAM KOET
-19F0;N # KHMER SYMBOL TUTEYASAT
-19F1;N # KHMER SYMBOL MUOY ROC
-19F2;N # KHMER SYMBOL PII ROC
-19F3;N # KHMER SYMBOL BEI ROC
-19F4;N # KHMER SYMBOL BUON ROC
-19F5;N # KHMER SYMBOL PRAM ROC
-19F6;N # KHMER SYMBOL PRAM-MUOY ROC
-19F7;N # KHMER SYMBOL PRAM-PII ROC
-19F8;N # KHMER SYMBOL PRAM-BEI ROC
-19F9;N # KHMER SYMBOL PRAM-BUON ROC
-19FA;N # KHMER SYMBOL DAP ROC
-19FB;N # KHMER SYMBOL DAP-MUOY ROC
-19FC;N # KHMER SYMBOL DAP-PII ROC
-19FD;N # KHMER SYMBOL DAP-BEI ROC
-19FE;N # KHMER SYMBOL DAP-BUON ROC
-19FF;N # KHMER SYMBOL DAP-PRAM ROC
-1A00;N # BUGINESE LETTER KA
-1A01;N # BUGINESE LETTER GA
-1A02;N # BUGINESE LETTER NGA
-1A03;N # BUGINESE LETTER NGKA
-1A04;N # BUGINESE LETTER PA
-1A05;N # BUGINESE LETTER BA
-1A06;N # BUGINESE LETTER MA
-1A07;N # BUGINESE LETTER MPA
-1A08;N # BUGINESE LETTER TA
-1A09;N # BUGINESE LETTER DA
-1A0A;N # BUGINESE LETTER NA
-1A0B;N # BUGINESE LETTER NRA
-1A0C;N # BUGINESE LETTER CA
-1A0D;N # BUGINESE LETTER JA
-1A0E;N # BUGINESE LETTER NYA
-1A0F;N # BUGINESE LETTER NYCA
-1A10;N # BUGINESE LETTER YA
-1A11;N # BUGINESE LETTER RA
-1A12;N # BUGINESE LETTER LA
-1A13;N # BUGINESE LETTER VA
-1A14;N # BUGINESE LETTER SA
-1A15;N # BUGINESE LETTER A
-1A16;N # BUGINESE LETTER HA
-1A17;N # BUGINESE VOWEL SIGN I
-1A18;N # BUGINESE VOWEL SIGN U
-1A19;N # BUGINESE VOWEL SIGN E
-1A1A;N # BUGINESE VOWEL SIGN O
-1A1B;N # BUGINESE VOWEL SIGN AE
-1A1E;N # BUGINESE PALLAWA
-1A1F;N # BUGINESE END OF SECTION
-1A20;N # TAI THAM LETTER HIGH KA
-1A21;N # TAI THAM LETTER HIGH KHA
-1A22;N # TAI THAM LETTER HIGH KXA
-1A23;N # TAI THAM LETTER LOW KA
-1A24;N # TAI THAM LETTER LOW KXA
-1A25;N # TAI THAM LETTER LOW KHA
-1A26;N # TAI THAM LETTER NGA
-1A27;N # TAI THAM LETTER HIGH CA
-1A28;N # TAI THAM LETTER HIGH CHA
-1A29;N # TAI THAM LETTER LOW CA
-1A2A;N # TAI THAM LETTER LOW SA
-1A2B;N # TAI THAM LETTER LOW CHA
-1A2C;N # TAI THAM LETTER NYA
-1A2D;N # TAI THAM LETTER RATA
-1A2E;N # TAI THAM LETTER HIGH RATHA
-1A2F;N # TAI THAM LETTER DA
-1A30;N # TAI THAM LETTER LOW RATHA
-1A31;N # TAI THAM LETTER RANA
-1A32;N # TAI THAM LETTER HIGH TA
-1A33;N # TAI THAM LETTER HIGH THA
-1A34;N # TAI THAM LETTER LOW TA
-1A35;N # TAI THAM LETTER LOW THA
-1A36;N # TAI THAM LETTER NA
-1A37;N # TAI THAM LETTER BA
-1A38;N # TAI THAM LETTER HIGH PA
-1A39;N # TAI THAM LETTER HIGH PHA
-1A3A;N # TAI THAM LETTER HIGH FA
-1A3B;N # TAI THAM LETTER LOW PA
-1A3C;N # TAI THAM LETTER LOW FA
-1A3D;N # TAI THAM LETTER LOW PHA
-1A3E;N # TAI THAM LETTER MA
-1A3F;N # TAI THAM LETTER LOW YA
-1A40;N # TAI THAM LETTER HIGH YA
-1A41;N # TAI THAM LETTER RA
-1A42;N # TAI THAM LETTER RUE
-1A43;N # TAI THAM LETTER LA
-1A44;N # TAI THAM LETTER LUE
-1A45;N # TAI THAM LETTER WA
-1A46;N # TAI THAM LETTER HIGH SHA
-1A47;N # TAI THAM LETTER HIGH SSA
-1A48;N # TAI THAM LETTER HIGH SA
-1A49;N # TAI THAM LETTER HIGH HA
-1A4A;N # TAI THAM LETTER LLA
-1A4B;N # TAI THAM LETTER A
-1A4C;N # TAI THAM LETTER LOW HA
-1A4D;N # TAI THAM LETTER I
-1A4E;N # TAI THAM LETTER II
-1A4F;N # TAI THAM LETTER U
-1A50;N # TAI THAM LETTER UU
-1A51;N # TAI THAM LETTER EE
-1A52;N # TAI THAM LETTER OO
-1A53;N # TAI THAM LETTER LAE
-1A54;N # TAI THAM LETTER GREAT SA
-1A55;N # TAI THAM CONSONANT SIGN MEDIAL RA
-1A56;N # TAI THAM CONSONANT SIGN MEDIAL LA
-1A57;N # TAI THAM CONSONANT SIGN LA TANG LAI
-1A58;N # TAI THAM SIGN MAI KANG LAI
-1A59;N # TAI THAM CONSONANT SIGN FINAL NGA
-1A5A;N # TAI THAM CONSONANT SIGN LOW PA
-1A5B;N # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-1A5C;N # TAI THAM CONSONANT SIGN MA
-1A5D;N # TAI THAM CONSONANT SIGN BA
-1A5E;N # TAI THAM CONSONANT SIGN SA
-1A60;N # TAI THAM SIGN SAKOT
-1A61;N # TAI THAM VOWEL SIGN A
-1A62;N # TAI THAM VOWEL SIGN MAI SAT
-1A63;N # TAI THAM VOWEL SIGN AA
-1A64;N # TAI THAM VOWEL SIGN TALL AA
-1A65;N # TAI THAM VOWEL SIGN I
-1A66;N # TAI THAM VOWEL SIGN II
-1A67;N # TAI THAM VOWEL SIGN UE
-1A68;N # TAI THAM VOWEL SIGN UUE
-1A69;N # TAI THAM VOWEL SIGN U
-1A6A;N # TAI THAM VOWEL SIGN UU
-1A6B;N # TAI THAM VOWEL SIGN O
-1A6C;N # TAI THAM VOWEL SIGN OA BELOW
-1A6D;N # TAI THAM VOWEL SIGN OY
-1A6E;N # TAI THAM VOWEL SIGN E
-1A6F;N # TAI THAM VOWEL SIGN AE
-1A70;N # TAI THAM VOWEL SIGN OO
-1A71;N # TAI THAM VOWEL SIGN AI
-1A72;N # TAI THAM VOWEL SIGN THAM AI
-1A73;N # TAI THAM VOWEL SIGN OA ABOVE
-1A74;N # TAI THAM SIGN MAI KANG
-1A75;N # TAI THAM SIGN TONE-1
-1A76;N # TAI THAM SIGN TONE-2
-1A77;N # TAI THAM SIGN KHUEN TONE-3
-1A78;N # TAI THAM SIGN KHUEN TONE-4
-1A79;N # TAI THAM SIGN KHUEN TONE-5
-1A7A;N # TAI THAM SIGN RA HAAM
-1A7B;N # TAI THAM SIGN MAI SAM
-1A7C;N # TAI THAM SIGN KHUEN-LUE KARAN
-1A7F;N # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80;N # TAI THAM HORA DIGIT ZERO
-1A81;N # TAI THAM HORA DIGIT ONE
-1A82;N # TAI THAM HORA DIGIT TWO
-1A83;N # TAI THAM HORA DIGIT THREE
-1A84;N # TAI THAM HORA DIGIT FOUR
-1A85;N # TAI THAM HORA DIGIT FIVE
-1A86;N # TAI THAM HORA DIGIT SIX
-1A87;N # TAI THAM HORA DIGIT SEVEN
-1A88;N # TAI THAM HORA DIGIT EIGHT
-1A89;N # TAI THAM HORA DIGIT NINE
-1A90;N # TAI THAM THAM DIGIT ZERO
-1A91;N # TAI THAM THAM DIGIT ONE
-1A92;N # TAI THAM THAM DIGIT TWO
-1A93;N # TAI THAM THAM DIGIT THREE
-1A94;N # TAI THAM THAM DIGIT FOUR
-1A95;N # TAI THAM THAM DIGIT FIVE
-1A96;N # TAI THAM THAM DIGIT SIX
-1A97;N # TAI THAM THAM DIGIT SEVEN
-1A98;N # TAI THAM THAM DIGIT EIGHT
-1A99;N # TAI THAM THAM DIGIT NINE
-1AA0;N # TAI THAM SIGN WIANG
-1AA1;N # TAI THAM SIGN WIANGWAAK
-1AA2;N # TAI THAM SIGN SAWAN
-1AA3;N # TAI THAM SIGN KEOW
-1AA4;N # TAI THAM SIGN HOY
-1AA5;N # TAI THAM SIGN DOKMAI
-1AA6;N # TAI THAM SIGN REVERSED ROTATED RANA
-1AA7;N # TAI THAM SIGN MAI YAMOK
-1AA8;N # TAI THAM SIGN KAAN
-1AA9;N # TAI THAM SIGN KAANKUU
-1AAA;N # TAI THAM SIGN SATKAAN
-1AAB;N # TAI THAM SIGN SATKAANKUU
-1AAC;N # TAI THAM SIGN HANG
-1AAD;N # TAI THAM SIGN CAANG
-1B00;N # BALINESE SIGN ULU RICEM
-1B01;N # BALINESE SIGN ULU CANDRA
-1B02;N # BALINESE SIGN CECEK
-1B03;N # BALINESE SIGN SURANG
-1B04;N # BALINESE SIGN BISAH
-1B05;N # BALINESE LETTER AKARA
-1B06;N # BALINESE LETTER AKARA TEDUNG
-1B07;N # BALINESE LETTER IKARA
-1B08;N # BALINESE LETTER IKARA TEDUNG
-1B09;N # BALINESE LETTER UKARA
-1B0A;N # BALINESE LETTER UKARA TEDUNG
-1B0B;N # BALINESE LETTER RA REPA
-1B0C;N # BALINESE LETTER RA REPA TEDUNG
-1B0D;N # BALINESE LETTER LA LENGA
-1B0E;N # BALINESE LETTER LA LENGA TEDUNG
-1B0F;N # BALINESE LETTER EKARA
-1B10;N # BALINESE LETTER AIKARA
-1B11;N # BALINESE LETTER OKARA
-1B12;N # BALINESE LETTER OKARA TEDUNG
-1B13;N # BALINESE LETTER KA
-1B14;N # BALINESE LETTER KA MAHAPRANA
-1B15;N # BALINESE LETTER GA
-1B16;N # BALINESE LETTER GA GORA
-1B17;N # BALINESE LETTER NGA
-1B18;N # BALINESE LETTER CA
-1B19;N # BALINESE LETTER CA LACA
-1B1A;N # BALINESE LETTER JA
-1B1B;N # BALINESE LETTER JA JERA
-1B1C;N # BALINESE LETTER NYA
-1B1D;N # BALINESE LETTER TA LATIK
-1B1E;N # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F;N # BALINESE LETTER DA MURDA ALPAPRANA
-1B20;N # BALINESE LETTER DA MURDA MAHAPRANA
-1B21;N # BALINESE LETTER NA RAMBAT
-1B22;N # BALINESE LETTER TA
-1B23;N # BALINESE LETTER TA TAWA
-1B24;N # BALINESE LETTER DA
-1B25;N # BALINESE LETTER DA MADU
-1B26;N # BALINESE LETTER NA
-1B27;N # BALINESE LETTER PA
-1B28;N # BALINESE LETTER PA KAPAL
-1B29;N # BALINESE LETTER BA
-1B2A;N # BALINESE LETTER BA KEMBANG
-1B2B;N # BALINESE LETTER MA
-1B2C;N # BALINESE LETTER YA
-1B2D;N # BALINESE LETTER RA
-1B2E;N # BALINESE LETTER LA
-1B2F;N # BALINESE LETTER WA
-1B30;N # BALINESE LETTER SA SAGA
-1B31;N # BALINESE LETTER SA SAPA
-1B32;N # BALINESE LETTER SA
-1B33;N # BALINESE LETTER HA
-1B34;N # BALINESE SIGN REREKAN
-1B35;N # BALINESE VOWEL SIGN TEDUNG
-1B36;N # BALINESE VOWEL SIGN ULU
-1B37;N # BALINESE VOWEL SIGN ULU SARI
-1B38;N # BALINESE VOWEL SIGN SUKU
-1B39;N # BALINESE VOWEL SIGN SUKU ILUT
-1B3A;N # BALINESE VOWEL SIGN RA REPA
-1B3B;N # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C;N # BALINESE VOWEL SIGN LA LENGA
-1B3D;N # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E;N # BALINESE VOWEL SIGN TALING
-1B3F;N # BALINESE VOWEL SIGN TALING REPA
-1B40;N # BALINESE VOWEL SIGN TALING TEDUNG
-1B41;N # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42;N # BALINESE VOWEL SIGN PEPET
-1B43;N # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44;N # BALINESE ADEG ADEG
-1B45;N # BALINESE LETTER KAF SASAK
-1B46;N # BALINESE LETTER KHOT SASAK
-1B47;N # BALINESE LETTER TZIR SASAK
-1B48;N # BALINESE LETTER EF SASAK
-1B49;N # BALINESE LETTER VE SASAK
-1B4A;N # BALINESE LETTER ZAL SASAK
-1B4B;N # BALINESE LETTER ASYURA SASAK
-1B50;N # BALINESE DIGIT ZERO
-1B51;N # BALINESE DIGIT ONE
-1B52;N # BALINESE DIGIT TWO
-1B53;N # BALINESE DIGIT THREE
-1B54;N # BALINESE DIGIT FOUR
-1B55;N # BALINESE DIGIT FIVE
-1B56;N # BALINESE DIGIT SIX
-1B57;N # BALINESE DIGIT SEVEN
-1B58;N # BALINESE DIGIT EIGHT
-1B59;N # BALINESE DIGIT NINE
-1B5A;N # BALINESE PANTI
-1B5B;N # BALINESE PAMADA
-1B5C;N # BALINESE WINDU
-1B5D;N # BALINESE CARIK PAMUNGKAH
-1B5E;N # BALINESE CARIK SIKI
-1B5F;N # BALINESE CARIK PAREREN
-1B60;N # BALINESE PAMENENG
-1B61;N # BALINESE MUSICAL SYMBOL DONG
-1B62;N # BALINESE MUSICAL SYMBOL DENG
-1B63;N # BALINESE MUSICAL SYMBOL DUNG
-1B64;N # BALINESE MUSICAL SYMBOL DANG
-1B65;N # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66;N # BALINESE MUSICAL SYMBOL DING
-1B67;N # BALINESE MUSICAL SYMBOL DAENG
-1B68;N # BALINESE MUSICAL SYMBOL DEUNG
-1B69;N # BALINESE MUSICAL SYMBOL DAING
-1B6A;N # BALINESE MUSICAL SYMBOL DANG GEDE
-1B6B;N # BALINESE MUSICAL SYMBOL COMBINING TEGEH
-1B6C;N # BALINESE MUSICAL SYMBOL COMBINING ENDEP
-1B6D;N # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
-1B6E;N # BALINESE MUSICAL SYMBOL COMBINING KEMPLI
-1B6F;N # BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
-1B70;N # BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
-1B71;N # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
-1B72;N # BALINESE MUSICAL SYMBOL COMBINING BENDE
-1B73;N # BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74;N # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75;N # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76;N # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77;N # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78;N # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79;N # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A;N # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B;N # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C;N # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B80;N # SUNDANESE SIGN PANYECEK
-1B81;N # SUNDANESE SIGN PANGLAYAR
-1B82;N # SUNDANESE SIGN PANGWISAD
-1B83;N # SUNDANESE LETTER A
-1B84;N # SUNDANESE LETTER I
-1B85;N # SUNDANESE LETTER U
-1B86;N # SUNDANESE LETTER AE
-1B87;N # SUNDANESE LETTER O
-1B88;N # SUNDANESE LETTER E
-1B89;N # SUNDANESE LETTER EU
-1B8A;N # SUNDANESE LETTER KA
-1B8B;N # SUNDANESE LETTER QA
-1B8C;N # SUNDANESE LETTER GA
-1B8D;N # SUNDANESE LETTER NGA
-1B8E;N # SUNDANESE LETTER CA
-1B8F;N # SUNDANESE LETTER JA
-1B90;N # SUNDANESE LETTER ZA
-1B91;N # SUNDANESE LETTER NYA
-1B92;N # SUNDANESE LETTER TA
-1B93;N # SUNDANESE LETTER DA
-1B94;N # SUNDANESE LETTER NA
-1B95;N # SUNDANESE LETTER PA
-1B96;N # SUNDANESE LETTER FA
-1B97;N # SUNDANESE LETTER VA
-1B98;N # SUNDANESE LETTER BA
-1B99;N # SUNDANESE LETTER MA
-1B9A;N # SUNDANESE LETTER YA
-1B9B;N # SUNDANESE LETTER RA
-1B9C;N # SUNDANESE LETTER LA
-1B9D;N # SUNDANESE LETTER WA
-1B9E;N # SUNDANESE LETTER SA
-1B9F;N # SUNDANESE LETTER XA
-1BA0;N # SUNDANESE LETTER HA
-1BA1;N # SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2;N # SUNDANESE CONSONANT SIGN PANYAKRA
-1BA3;N # SUNDANESE CONSONANT SIGN PANYIKU
-1BA4;N # SUNDANESE VOWEL SIGN PANGHULU
-1BA5;N # SUNDANESE VOWEL SIGN PANYUKU
-1BA6;N # SUNDANESE VOWEL SIGN PANAELAENG
-1BA7;N # SUNDANESE VOWEL SIGN PANOLONG
-1BA8;N # SUNDANESE VOWEL SIGN PAMEPET
-1BA9;N # SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA;N # SUNDANESE SIGN PAMAAEH
-1BAE;N # SUNDANESE LETTER KHA
-1BAF;N # SUNDANESE LETTER SYA
-1BB0;N # SUNDANESE DIGIT ZERO
-1BB1;N # SUNDANESE DIGIT ONE
-1BB2;N # SUNDANESE DIGIT TWO
-1BB3;N # SUNDANESE DIGIT THREE
-1BB4;N # SUNDANESE DIGIT FOUR
-1BB5;N # SUNDANESE DIGIT FIVE
-1BB6;N # SUNDANESE DIGIT SIX
-1BB7;N # SUNDANESE DIGIT SEVEN
-1BB8;N # SUNDANESE DIGIT EIGHT
-1BB9;N # SUNDANESE DIGIT NINE
-1C00;N # LEPCHA LETTER KA
-1C01;N # LEPCHA LETTER KLA
-1C02;N # LEPCHA LETTER KHA
-1C03;N # LEPCHA LETTER GA
-1C04;N # LEPCHA LETTER GLA
-1C05;N # LEPCHA LETTER NGA
-1C06;N # LEPCHA LETTER CA
-1C07;N # LEPCHA LETTER CHA
-1C08;N # LEPCHA LETTER JA
-1C09;N # LEPCHA LETTER NYA
-1C0A;N # LEPCHA LETTER TA
-1C0B;N # LEPCHA LETTER THA
-1C0C;N # LEPCHA LETTER DA
-1C0D;N # LEPCHA LETTER NA
-1C0E;N # LEPCHA LETTER PA
-1C0F;N # LEPCHA LETTER PLA
-1C10;N # LEPCHA LETTER PHA
-1C11;N # LEPCHA LETTER FA
-1C12;N # LEPCHA LETTER FLA
-1C13;N # LEPCHA LETTER BA
-1C14;N # LEPCHA LETTER BLA
-1C15;N # LEPCHA LETTER MA
-1C16;N # LEPCHA LETTER MLA
-1C17;N # LEPCHA LETTER TSA
-1C18;N # LEPCHA LETTER TSHA
-1C19;N # LEPCHA LETTER DZA
-1C1A;N # LEPCHA LETTER YA
-1C1B;N # LEPCHA LETTER RA
-1C1C;N # LEPCHA LETTER LA
-1C1D;N # LEPCHA LETTER HA
-1C1E;N # LEPCHA LETTER HLA
-1C1F;N # LEPCHA LETTER VA
-1C20;N # LEPCHA LETTER SA
-1C21;N # LEPCHA LETTER SHA
-1C22;N # LEPCHA LETTER WA
-1C23;N # LEPCHA LETTER A
-1C24;N # LEPCHA SUBJOINED LETTER YA
-1C25;N # LEPCHA SUBJOINED LETTER RA
-1C26;N # LEPCHA VOWEL SIGN AA
-1C27;N # LEPCHA VOWEL SIGN I
-1C28;N # LEPCHA VOWEL SIGN O
-1C29;N # LEPCHA VOWEL SIGN OO
-1C2A;N # LEPCHA VOWEL SIGN U
-1C2B;N # LEPCHA VOWEL SIGN UU
-1C2C;N # LEPCHA VOWEL SIGN E
-1C2D;N # LEPCHA CONSONANT SIGN K
-1C2E;N # LEPCHA CONSONANT SIGN M
-1C2F;N # LEPCHA CONSONANT SIGN L
-1C30;N # LEPCHA CONSONANT SIGN N
-1C31;N # LEPCHA CONSONANT SIGN P
-1C32;N # LEPCHA CONSONANT SIGN R
-1C33;N # LEPCHA CONSONANT SIGN T
-1C34;N # LEPCHA CONSONANT SIGN NYIN-DO
-1C35;N # LEPCHA CONSONANT SIGN KANG
-1C36;N # LEPCHA SIGN RAN
-1C37;N # LEPCHA SIGN NUKTA
-1C3B;N # LEPCHA PUNCTUATION TA-ROL
-1C3C;N # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D;N # LEPCHA PUNCTUATION CER-WA
-1C3E;N # LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F;N # LEPCHA PUNCTUATION TSHOOK
-1C40;N # LEPCHA DIGIT ZERO
-1C41;N # LEPCHA DIGIT ONE
-1C42;N # LEPCHA DIGIT TWO
-1C43;N # LEPCHA DIGIT THREE
-1C44;N # LEPCHA DIGIT FOUR
-1C45;N # LEPCHA DIGIT FIVE
-1C46;N # LEPCHA DIGIT SIX
-1C47;N # LEPCHA DIGIT SEVEN
-1C48;N # LEPCHA DIGIT EIGHT
-1C49;N # LEPCHA DIGIT NINE
-1C4D;N # LEPCHA LETTER TTA
-1C4E;N # LEPCHA LETTER TTHA
-1C4F;N # LEPCHA LETTER DDA
-1C50;N # OL CHIKI DIGIT ZERO
-1C51;N # OL CHIKI DIGIT ONE
-1C52;N # OL CHIKI DIGIT TWO
-1C53;N # OL CHIKI DIGIT THREE
-1C54;N # OL CHIKI DIGIT FOUR
-1C55;N # OL CHIKI DIGIT FIVE
-1C56;N # OL CHIKI DIGIT SIX
-1C57;N # OL CHIKI DIGIT SEVEN
-1C58;N # OL CHIKI DIGIT EIGHT
-1C59;N # OL CHIKI DIGIT NINE
-1C5A;N # OL CHIKI LETTER LA
-1C5B;N # OL CHIKI LETTER AT
-1C5C;N # OL CHIKI LETTER AG
-1C5D;N # OL CHIKI LETTER ANG
-1C5E;N # OL CHIKI LETTER AL
-1C5F;N # OL CHIKI LETTER LAA
-1C60;N # OL CHIKI LETTER AAK
-1C61;N # OL CHIKI LETTER AAJ
-1C62;N # OL CHIKI LETTER AAM
-1C63;N # OL CHIKI LETTER AAW
-1C64;N # OL CHIKI LETTER LI
-1C65;N # OL CHIKI LETTER IS
-1C66;N # OL CHIKI LETTER IH
-1C67;N # OL CHIKI LETTER INY
-1C68;N # OL CHIKI LETTER IR
-1C69;N # OL CHIKI LETTER LU
-1C6A;N # OL CHIKI LETTER UC
-1C6B;N # OL CHIKI LETTER UD
-1C6C;N # OL CHIKI LETTER UNN
-1C6D;N # OL CHIKI LETTER UY
-1C6E;N # OL CHIKI LETTER LE
-1C6F;N # OL CHIKI LETTER EP
-1C70;N # OL CHIKI LETTER EDD
-1C71;N # OL CHIKI LETTER EN
-1C72;N # OL CHIKI LETTER ERR
-1C73;N # OL CHIKI LETTER LO
-1C74;N # OL CHIKI LETTER OTT
-1C75;N # OL CHIKI LETTER OB
-1C76;N # OL CHIKI LETTER OV
-1C77;N # OL CHIKI LETTER OH
-1C78;N # OL CHIKI MU TTUDDAG
-1C79;N # OL CHIKI GAAHLAA TTUDDAAG
-1C7A;N # OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B;N # OL CHIKI RELAA
-1C7C;N # OL CHIKI PHAARKAA
-1C7D;N # OL CHIKI AHAD
-1C7E;N # OL CHIKI PUNCTUATION MUCAAD
-1C7F;N # OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD0;N # VEDIC TONE KARSHANA
-1CD1;N # VEDIC TONE SHARA
-1CD2;N # VEDIC TONE PRENKHA
-1CD3;N # VEDIC SIGN NIHSHVASA
-1CD4;N # VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
-1CD5;N # VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
-1CD6;N # VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
-1CD7;N # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
-1CD8;N # VEDIC TONE CANDRA BELOW
-1CD9;N # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
-1CDA;N # VEDIC TONE DOUBLE SVARITA
-1CDB;N # VEDIC TONE TRIPLE SVARITA
-1CDC;N # VEDIC TONE KATHAKA ANUDATTA
-1CDD;N # VEDIC TONE DOT BELOW
-1CDE;N # VEDIC TONE TWO DOTS BELOW
-1CDF;N # VEDIC TONE THREE DOTS BELOW
-1CE0;N # VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1;N # VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2;N # VEDIC SIGN VISARGA SVARITA
-1CE3;N # VEDIC SIGN VISARGA UDATTA
-1CE4;N # VEDIC SIGN REVERSED VISARGA UDATTA
-1CE5;N # VEDIC SIGN VISARGA ANUDATTA
-1CE6;N # VEDIC SIGN REVERSED VISARGA ANUDATTA
-1CE7;N # VEDIC SIGN VISARGA UDATTA WITH TAIL
-1CE8;N # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CE9;N # VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA;N # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
-1CEB;N # VEDIC SIGN ANUSVARA VAMAGOMUKHA
-1CEC;N # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CED;N # VEDIC SIGN TIRYAK
-1CEE;N # VEDIC SIGN HEXIFORM LONG ANUSVARA
-1CEF;N # VEDIC SIGN LONG ANUSVARA
-1CF0;N # VEDIC SIGN RTHANG LONG ANUSVARA
-1CF1;N # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2;N # VEDIC SIGN ARDHAVISARGA
-1D00;N # LATIN LETTER SMALL CAPITAL A
-1D01;N # LATIN LETTER SMALL CAPITAL AE
-1D02;N # LATIN SMALL LETTER TURNED AE
-1D03;N # LATIN LETTER SMALL CAPITAL BARRED B
-1D04;N # LATIN LETTER SMALL CAPITAL C
-1D05;N # LATIN LETTER SMALL CAPITAL D
-1D06;N # LATIN LETTER SMALL CAPITAL ETH
-1D07;N # LATIN LETTER SMALL CAPITAL E
-1D08;N # LATIN SMALL LETTER TURNED OPEN E
-1D09;N # LATIN SMALL LETTER TURNED I
-1D0A;N # LATIN LETTER SMALL CAPITAL J
-1D0B;N # LATIN LETTER SMALL CAPITAL K
-1D0C;N # LATIN LETTER SMALL CAPITAL L WITH STROKE
-1D0D;N # LATIN LETTER SMALL CAPITAL M
-1D0E;N # LATIN LETTER SMALL CAPITAL REVERSED N
-1D0F;N # LATIN LETTER SMALL CAPITAL O
-1D10;N # LATIN LETTER SMALL CAPITAL OPEN O
-1D11;N # LATIN SMALL LETTER SIDEWAYS O
-1D12;N # LATIN SMALL LETTER SIDEWAYS OPEN O
-1D13;N # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-1D14;N # LATIN SMALL LETTER TURNED OE
-1D15;N # LATIN LETTER SMALL CAPITAL OU
-1D16;N # LATIN SMALL LETTER TOP HALF O
-1D17;N # LATIN SMALL LETTER BOTTOM HALF O
-1D18;N # LATIN LETTER SMALL CAPITAL P
-1D19;N # LATIN LETTER SMALL CAPITAL REVERSED R
-1D1A;N # LATIN LETTER SMALL CAPITAL TURNED R
-1D1B;N # LATIN LETTER SMALL CAPITAL T
-1D1C;N # LATIN LETTER SMALL CAPITAL U
-1D1D;N # LATIN SMALL LETTER SIDEWAYS U
-1D1E;N # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D1F;N # LATIN SMALL LETTER SIDEWAYS TURNED M
-1D20;N # LATIN LETTER SMALL CAPITAL V
-1D21;N # LATIN LETTER SMALL CAPITAL W
-1D22;N # LATIN LETTER SMALL CAPITAL Z
-1D23;N # LATIN LETTER SMALL CAPITAL EZH
-1D24;N # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25;N # LATIN LETTER AIN
-1D26;N # GREEK LETTER SMALL CAPITAL GAMMA
-1D27;N # GREEK LETTER SMALL CAPITAL LAMDA
-1D28;N # GREEK LETTER SMALL CAPITAL PI
-1D29;N # GREEK LETTER SMALL CAPITAL RHO
-1D2A;N # GREEK LETTER SMALL CAPITAL PSI
-1D2B;N # CYRILLIC LETTER SMALL CAPITAL EL
-1D2C;N # MODIFIER LETTER CAPITAL A
-1D2D;N # MODIFIER LETTER CAPITAL AE
-1D2E;N # MODIFIER LETTER CAPITAL B
-1D2F;N # MODIFIER LETTER CAPITAL BARRED B
-1D30;N # MODIFIER LETTER CAPITAL D
-1D31;N # MODIFIER LETTER CAPITAL E
-1D32;N # MODIFIER LETTER CAPITAL REVERSED E
-1D33;N # MODIFIER LETTER CAPITAL G
-1D34;N # MODIFIER LETTER CAPITAL H
-1D35;N # MODIFIER LETTER CAPITAL I
-1D36;N # MODIFIER LETTER CAPITAL J
-1D37;N # MODIFIER LETTER CAPITAL K
-1D38;N # MODIFIER LETTER CAPITAL L
-1D39;N # MODIFIER LETTER CAPITAL M
-1D3A;N # MODIFIER LETTER CAPITAL N
-1D3B;N # MODIFIER LETTER CAPITAL REVERSED N
-1D3C;N # MODIFIER LETTER CAPITAL O
-1D3D;N # MODIFIER LETTER CAPITAL OU
-1D3E;N # MODIFIER LETTER CAPITAL P
-1D3F;N # MODIFIER LETTER CAPITAL R
-1D40;N # MODIFIER LETTER CAPITAL T
-1D41;N # MODIFIER LETTER CAPITAL U
-1D42;N # MODIFIER LETTER CAPITAL W
-1D43;N # MODIFIER LETTER SMALL A
-1D44;N # MODIFIER LETTER SMALL TURNED A
-1D45;N # MODIFIER LETTER SMALL ALPHA
-1D46;N # MODIFIER LETTER SMALL TURNED AE
-1D47;N # MODIFIER LETTER SMALL B
-1D48;N # MODIFIER LETTER SMALL D
-1D49;N # MODIFIER LETTER SMALL E
-1D4A;N # MODIFIER LETTER SMALL SCHWA
-1D4B;N # MODIFIER LETTER SMALL OPEN E
-1D4C;N # MODIFIER LETTER SMALL TURNED OPEN E
-1D4D;N # MODIFIER LETTER SMALL G
-1D4E;N # MODIFIER LETTER SMALL TURNED I
-1D4F;N # MODIFIER LETTER SMALL K
-1D50;N # MODIFIER LETTER SMALL M
-1D51;N # MODIFIER LETTER SMALL ENG
-1D52;N # MODIFIER LETTER SMALL O
-1D53;N # MODIFIER LETTER SMALL OPEN O
-1D54;N # MODIFIER LETTER SMALL TOP HALF O
-1D55;N # MODIFIER LETTER SMALL BOTTOM HALF O
-1D56;N # MODIFIER LETTER SMALL P
-1D57;N # MODIFIER LETTER SMALL T
-1D58;N # MODIFIER LETTER SMALL U
-1D59;N # MODIFIER LETTER SMALL SIDEWAYS U
-1D5A;N # MODIFIER LETTER SMALL TURNED M
-1D5B;N # MODIFIER LETTER SMALL V
-1D5C;N # MODIFIER LETTER SMALL AIN
-1D5D;N # MODIFIER LETTER SMALL BETA
-1D5E;N # MODIFIER LETTER SMALL GREEK GAMMA
-1D5F;N # MODIFIER LETTER SMALL DELTA
-1D60;N # MODIFIER LETTER SMALL GREEK PHI
-1D61;N # MODIFIER LETTER SMALL CHI
-1D62;N # LATIN SUBSCRIPT SMALL LETTER I
-1D63;N # LATIN SUBSCRIPT SMALL LETTER R
-1D64;N # LATIN SUBSCRIPT SMALL LETTER U
-1D65;N # LATIN SUBSCRIPT SMALL LETTER V
-1D66;N # GREEK SUBSCRIPT SMALL LETTER BETA
-1D67;N # GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D68;N # GREEK SUBSCRIPT SMALL LETTER RHO
-1D69;N # GREEK SUBSCRIPT SMALL LETTER PHI
-1D6A;N # GREEK SUBSCRIPT SMALL LETTER CHI
-1D6B;N # LATIN SMALL LETTER UE
-1D6C;N # LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D6D;N # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D6E;N # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D6F;N # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D70;N # LATIN SMALL LETTER N WITH MIDDLE TILDE
-1D71;N # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D72;N # LATIN SMALL LETTER R WITH MIDDLE TILDE
-1D73;N # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-1D74;N # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D75;N # LATIN SMALL LETTER T WITH MIDDLE TILDE
-1D76;N # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D77;N # LATIN SMALL LETTER TURNED G
-1D78;N # MODIFIER LETTER CYRILLIC EN
-1D79;N # LATIN SMALL LETTER INSULAR G
-1D7A;N # LATIN SMALL LETTER TH WITH STRIKETHROUGH
-1D7B;N # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1D7C;N # LATIN SMALL LETTER IOTA WITH STROKE
-1D7D;N # LATIN SMALL LETTER P WITH STROKE
-1D7E;N # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D7F;N # LATIN SMALL LETTER UPSILON WITH STROKE
-1D80;N # LATIN SMALL LETTER B WITH PALATAL HOOK
-1D81;N # LATIN SMALL LETTER D WITH PALATAL HOOK
-1D82;N # LATIN SMALL LETTER F WITH PALATAL HOOK
-1D83;N # LATIN SMALL LETTER G WITH PALATAL HOOK
-1D84;N # LATIN SMALL LETTER K WITH PALATAL HOOK
-1D85;N # LATIN SMALL LETTER L WITH PALATAL HOOK
-1D86;N # LATIN SMALL LETTER M WITH PALATAL HOOK
-1D87;N # LATIN SMALL LETTER N WITH PALATAL HOOK
-1D88;N # LATIN SMALL LETTER P WITH PALATAL HOOK
-1D89;N # LATIN SMALL LETTER R WITH PALATAL HOOK
-1D8A;N # LATIN SMALL LETTER S WITH PALATAL HOOK
-1D8B;N # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-1D8C;N # LATIN SMALL LETTER V WITH PALATAL HOOK
-1D8D;N # LATIN SMALL LETTER X WITH PALATAL HOOK
-1D8E;N # LATIN SMALL LETTER Z WITH PALATAL HOOK
-1D8F;N # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D90;N # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-1D91;N # LATIN SMALL LETTER D WITH HOOK AND TAIL
-1D92;N # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-1D93;N # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-1D94;N # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D95;N # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-1D96;N # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-1D97;N # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-1D98;N # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-1D99;N # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-1D9A;N # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B;N # MODIFIER LETTER SMALL TURNED ALPHA
-1D9C;N # MODIFIER LETTER SMALL C
-1D9D;N # MODIFIER LETTER SMALL C WITH CURL
-1D9E;N # MODIFIER LETTER SMALL ETH
-1D9F;N # MODIFIER LETTER SMALL REVERSED OPEN E
-1DA0;N # MODIFIER LETTER SMALL F
-1DA1;N # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
-1DA2;N # MODIFIER LETTER SMALL SCRIPT G
-1DA3;N # MODIFIER LETTER SMALL TURNED H
-1DA4;N # MODIFIER LETTER SMALL I WITH STROKE
-1DA5;N # MODIFIER LETTER SMALL IOTA
-1DA6;N # MODIFIER LETTER SMALL CAPITAL I
-1DA7;N # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
-1DA8;N # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-1DA9;N # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
-1DAA;N # MODIFIER LETTER SMALL L WITH PALATAL HOOK
-1DAB;N # MODIFIER LETTER SMALL CAPITAL L
-1DAC;N # MODIFIER LETTER SMALL M WITH HOOK
-1DAD;N # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
-1DAE;N # MODIFIER LETTER SMALL N WITH LEFT HOOK
-1DAF;N # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
-1DB0;N # MODIFIER LETTER SMALL CAPITAL N
-1DB1;N # MODIFIER LETTER SMALL BARRED O
-1DB2;N # MODIFIER LETTER SMALL PHI
-1DB3;N # MODIFIER LETTER SMALL S WITH HOOK
-1DB4;N # MODIFIER LETTER SMALL ESH
-1DB5;N # MODIFIER LETTER SMALL T WITH PALATAL HOOK
-1DB6;N # MODIFIER LETTER SMALL U BAR
-1DB7;N # MODIFIER LETTER SMALL UPSILON
-1DB8;N # MODIFIER LETTER SMALL CAPITAL U
-1DB9;N # MODIFIER LETTER SMALL V WITH HOOK
-1DBA;N # MODIFIER LETTER SMALL TURNED V
-1DBB;N # MODIFIER LETTER SMALL Z
-1DBC;N # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
-1DBD;N # MODIFIER LETTER SMALL Z WITH CURL
-1DBE;N # MODIFIER LETTER SMALL EZH
-1DBF;N # MODIFIER LETTER SMALL THETA
-1DC0;N # COMBINING DOTTED GRAVE ACCENT
-1DC1;N # COMBINING DOTTED ACUTE ACCENT
-1DC2;N # COMBINING SNAKE BELOW
-1DC3;N # COMBINING SUSPENSION MARK
-1DC4;N # COMBINING MACRON-ACUTE
-1DC5;N # COMBINING GRAVE-MACRON
-1DC6;N # COMBINING MACRON-GRAVE
-1DC7;N # COMBINING ACUTE-MACRON
-1DC8;N # COMBINING GRAVE-ACUTE-GRAVE
-1DC9;N # COMBINING ACUTE-GRAVE-ACUTE
-1DCA;N # COMBINING LATIN SMALL LETTER R BELOW
-1DCB;N # COMBINING BREVE-MACRON
-1DCC;N # COMBINING MACRON-BREVE
-1DCD;N # COMBINING DOUBLE CIRCUMFLEX ABOVE
-1DCE;N # COMBINING OGONEK ABOVE
-1DCF;N # COMBINING ZIGZAG BELOW
-1DD0;N # COMBINING IS BELOW
-1DD1;N # COMBINING UR ABOVE
-1DD2;N # COMBINING US ABOVE
-1DD3;N # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
-1DD4;N # COMBINING LATIN SMALL LETTER AE
-1DD5;N # COMBINING LATIN SMALL LETTER AO
-1DD6;N # COMBINING LATIN SMALL LETTER AV
-1DD7;N # COMBINING LATIN SMALL LETTER C CEDILLA
-1DD8;N # COMBINING LATIN SMALL LETTER INSULAR D
-1DD9;N # COMBINING LATIN SMALL LETTER ETH
-1DDA;N # COMBINING LATIN SMALL LETTER G
-1DDB;N # COMBINING LATIN LETTER SMALL CAPITAL G
-1DDC;N # COMBINING LATIN SMALL LETTER K
-1DDD;N # COMBINING LATIN SMALL LETTER L
-1DDE;N # COMBINING LATIN LETTER SMALL CAPITAL L
-1DDF;N # COMBINING LATIN LETTER SMALL CAPITAL M
-1DE0;N # COMBINING LATIN SMALL LETTER N
-1DE1;N # COMBINING LATIN LETTER SMALL CAPITAL N
-1DE2;N # COMBINING LATIN LETTER SMALL CAPITAL R
-1DE3;N # COMBINING LATIN SMALL LETTER R ROTUNDA
-1DE4;N # COMBINING LATIN SMALL LETTER S
-1DE5;N # COMBINING LATIN SMALL LETTER LONG S
-1DE6;N # COMBINING LATIN SMALL LETTER Z
-1DFD;N # COMBINING ALMOST EQUAL TO BELOW
-1DFE;N # COMBINING LEFT ARROWHEAD ABOVE
-1DFF;N # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1E00;N # LATIN CAPITAL LETTER A WITH RING BELOW
-1E01;N # LATIN SMALL LETTER A WITH RING BELOW
-1E02;N # LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E03;N # LATIN SMALL LETTER B WITH DOT ABOVE
-1E04;N # LATIN CAPITAL LETTER B WITH DOT BELOW
-1E05;N # LATIN SMALL LETTER B WITH DOT BELOW
-1E06;N # LATIN CAPITAL LETTER B WITH LINE BELOW
-1E07;N # LATIN SMALL LETTER B WITH LINE BELOW
-1E08;N # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E09;N # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0A;N # LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0B;N # LATIN SMALL LETTER D WITH DOT ABOVE
-1E0C;N # LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0D;N # LATIN SMALL LETTER D WITH DOT BELOW
-1E0E;N # LATIN CAPITAL LETTER D WITH LINE BELOW
-1E0F;N # LATIN SMALL LETTER D WITH LINE BELOW
-1E10;N # LATIN CAPITAL LETTER D WITH CEDILLA
-1E11;N # LATIN SMALL LETTER D WITH CEDILLA
-1E12;N # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E13;N # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E14;N # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E15;N # LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E16;N # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E17;N # LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E18;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E19;N # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1A;N # LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1B;N # LATIN SMALL LETTER E WITH TILDE BELOW
-1E1C;N # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1D;N # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1E;N # LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E1F;N # LATIN SMALL LETTER F WITH DOT ABOVE
-1E20;N # LATIN CAPITAL LETTER G WITH MACRON
-1E21;N # LATIN SMALL LETTER G WITH MACRON
-1E22;N # LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E23;N # LATIN SMALL LETTER H WITH DOT ABOVE
-1E24;N # LATIN CAPITAL LETTER H WITH DOT BELOW
-1E25;N # LATIN SMALL LETTER H WITH DOT BELOW
-1E26;N # LATIN CAPITAL LETTER H WITH DIAERESIS
-1E27;N # LATIN SMALL LETTER H WITH DIAERESIS
-1E28;N # LATIN CAPITAL LETTER H WITH CEDILLA
-1E29;N # LATIN SMALL LETTER H WITH CEDILLA
-1E2A;N # LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2B;N # LATIN SMALL LETTER H WITH BREVE BELOW
-1E2C;N # LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2D;N # LATIN SMALL LETTER I WITH TILDE BELOW
-1E2E;N # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E2F;N # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E30;N # LATIN CAPITAL LETTER K WITH ACUTE
-1E31;N # LATIN SMALL LETTER K WITH ACUTE
-1E32;N # LATIN CAPITAL LETTER K WITH DOT BELOW
-1E33;N # LATIN SMALL LETTER K WITH DOT BELOW
-1E34;N # LATIN CAPITAL LETTER K WITH LINE BELOW
-1E35;N # LATIN SMALL LETTER K WITH LINE BELOW
-1E36;N # LATIN CAPITAL LETTER L WITH DOT BELOW
-1E37;N # LATIN SMALL LETTER L WITH DOT BELOW
-1E38;N # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E39;N # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3A;N # LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3B;N # LATIN SMALL LETTER L WITH LINE BELOW
-1E3C;N # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3D;N # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3E;N # LATIN CAPITAL LETTER M WITH ACUTE
-1E3F;N # LATIN SMALL LETTER M WITH ACUTE
-1E40;N # LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E41;N # LATIN SMALL LETTER M WITH DOT ABOVE
-1E42;N # LATIN CAPITAL LETTER M WITH DOT BELOW
-1E43;N # LATIN SMALL LETTER M WITH DOT BELOW
-1E44;N # LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E45;N # LATIN SMALL LETTER N WITH DOT ABOVE
-1E46;N # LATIN CAPITAL LETTER N WITH DOT BELOW
-1E47;N # LATIN SMALL LETTER N WITH DOT BELOW
-1E48;N # LATIN CAPITAL LETTER N WITH LINE BELOW
-1E49;N # LATIN SMALL LETTER N WITH LINE BELOW
-1E4A;N # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4B;N # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4C;N # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4D;N # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4E;N # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E4F;N # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E50;N # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E51;N # LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E52;N # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E53;N # LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E54;N # LATIN CAPITAL LETTER P WITH ACUTE
-1E55;N # LATIN SMALL LETTER P WITH ACUTE
-1E56;N # LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E57;N # LATIN SMALL LETTER P WITH DOT ABOVE
-1E58;N # LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E59;N # LATIN SMALL LETTER R WITH DOT ABOVE
-1E5A;N # LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5B;N # LATIN SMALL LETTER R WITH DOT BELOW
-1E5C;N # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5D;N # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5E;N # LATIN CAPITAL LETTER R WITH LINE BELOW
-1E5F;N # LATIN SMALL LETTER R WITH LINE BELOW
-1E60;N # LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E61;N # LATIN SMALL LETTER S WITH DOT ABOVE
-1E62;N # LATIN CAPITAL LETTER S WITH DOT BELOW
-1E63;N # LATIN SMALL LETTER S WITH DOT BELOW
-1E64;N # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E65;N # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E66;N # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E67;N # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E68;N # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E69;N # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A;N # LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6B;N # LATIN SMALL LETTER T WITH DOT ABOVE
-1E6C;N # LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6D;N # LATIN SMALL LETTER T WITH DOT BELOW
-1E6E;N # LATIN CAPITAL LETTER T WITH LINE BELOW
-1E6F;N # LATIN SMALL LETTER T WITH LINE BELOW
-1E70;N # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E71;N # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E72;N # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E73;N # LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E74;N # LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E75;N # LATIN SMALL LETTER U WITH TILDE BELOW
-1E76;N # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E77;N # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E78;N # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E79;N # LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7A;N # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7B;N # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7C;N # LATIN CAPITAL LETTER V WITH TILDE
-1E7D;N # LATIN SMALL LETTER V WITH TILDE
-1E7E;N # LATIN CAPITAL LETTER V WITH DOT BELOW
-1E7F;N # LATIN SMALL LETTER V WITH DOT BELOW
-1E80;N # LATIN CAPITAL LETTER W WITH GRAVE
-1E81;N # LATIN SMALL LETTER W WITH GRAVE
-1E82;N # LATIN CAPITAL LETTER W WITH ACUTE
-1E83;N # LATIN SMALL LETTER W WITH ACUTE
-1E84;N # LATIN CAPITAL LETTER W WITH DIAERESIS
-1E85;N # LATIN SMALL LETTER W WITH DIAERESIS
-1E86;N # LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E87;N # LATIN SMALL LETTER W WITH DOT ABOVE
-1E88;N # LATIN CAPITAL LETTER W WITH DOT BELOW
-1E89;N # LATIN SMALL LETTER W WITH DOT BELOW
-1E8A;N # LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8B;N # LATIN SMALL LETTER X WITH DOT ABOVE
-1E8C;N # LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8D;N # LATIN SMALL LETTER X WITH DIAERESIS
-1E8E;N # LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E8F;N # LATIN SMALL LETTER Y WITH DOT ABOVE
-1E90;N # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E91;N # LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E92;N # LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E93;N # LATIN SMALL LETTER Z WITH DOT BELOW
-1E94;N # LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E95;N # LATIN SMALL LETTER Z WITH LINE BELOW
-1E96;N # LATIN SMALL LETTER H WITH LINE BELOW
-1E97;N # LATIN SMALL LETTER T WITH DIAERESIS
-1E98;N # LATIN SMALL LETTER W WITH RING ABOVE
-1E99;N # LATIN SMALL LETTER Y WITH RING ABOVE
-1E9A;N # LATIN SMALL LETTER A WITH RIGHT HALF RING
-1E9B;N # LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9C;N # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D;N # LATIN SMALL LETTER LONG S WITH HIGH STROKE
-1E9E;N # LATIN CAPITAL LETTER SHARP S
-1E9F;N # LATIN SMALL LETTER DELTA
-1EA0;N # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA1;N # LATIN SMALL LETTER A WITH DOT BELOW
-1EA2;N # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA3;N # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA4;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA5;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA7;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA9;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAB;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAD;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE;N # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EAF;N # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB0;N # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB1;N # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB2;N # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB3;N # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4;N # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB5;N # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB6;N # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB7;N # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB8;N # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EB9;N # LATIN SMALL LETTER E WITH DOT BELOW
-1EBA;N # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBB;N # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBC;N # LATIN CAPITAL LETTER E WITH TILDE
-1EBD;N # LATIN SMALL LETTER E WITH TILDE
-1EBE;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBF;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC1;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC3;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC5;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC7;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8;N # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1EC9;N # LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECA;N # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECB;N # LATIN SMALL LETTER I WITH DOT BELOW
-1ECC;N # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECD;N # LATIN SMALL LETTER O WITH DOT BELOW
-1ECE;N # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ECF;N # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED0;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED1;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED3;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED5;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED7;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED9;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA;N # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDB;N # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDC;N # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDD;N # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDE;N # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EDF;N # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE0;N # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE1;N # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE2;N # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE3;N # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE4;N # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE5;N # LATIN SMALL LETTER U WITH DOT BELOW
-1EE6;N # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE7;N # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE8;N # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EE9;N # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEA;N # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEB;N # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEC;N # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EED;N # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEE;N # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EEF;N # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF0;N # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF1;N # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF2;N # LATIN CAPITAL LETTER Y WITH GRAVE
-1EF3;N # LATIN SMALL LETTER Y WITH GRAVE
-1EF4;N # LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF5;N # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF6;N # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF7;N # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF8;N # LATIN CAPITAL LETTER Y WITH TILDE
-1EF9;N # LATIN SMALL LETTER Y WITH TILDE
-1EFA;N # LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFB;N # LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFC;N # LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFD;N # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFE;N # LATIN CAPITAL LETTER Y WITH LOOP
-1EFF;N # LATIN SMALL LETTER Y WITH LOOP
-1F00;N # GREEK SMALL LETTER ALPHA WITH PSILI
-1F01;N # GREEK SMALL LETTER ALPHA WITH DASIA
-1F02;N # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
-1F03;N # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
-1F04;N # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
-1F05;N # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
-1F06;N # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F07;N # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F08;N # GREEK CAPITAL LETTER ALPHA WITH PSILI
-1F09;N # GREEK CAPITAL LETTER ALPHA WITH DASIA
-1F0A;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
-1F0B;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
-1F0C;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
-1F0D;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
-1F0E;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F0F;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10;N # GREEK SMALL LETTER EPSILON WITH PSILI
-1F11;N # GREEK SMALL LETTER EPSILON WITH DASIA
-1F12;N # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
-1F13;N # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
-1F14;N # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
-1F15;N # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18;N # GREEK CAPITAL LETTER EPSILON WITH PSILI
-1F19;N # GREEK CAPITAL LETTER EPSILON WITH DASIA
-1F1A;N # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-1F1B;N # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-1F1C;N # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-1F1D;N # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20;N # GREEK SMALL LETTER ETA WITH PSILI
-1F21;N # GREEK SMALL LETTER ETA WITH DASIA
-1F22;N # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
-1F23;N # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
-1F24;N # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
-1F25;N # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
-1F26;N # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
-1F27;N # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F28;N # GREEK CAPITAL LETTER ETA WITH PSILI
-1F29;N # GREEK CAPITAL LETTER ETA WITH DASIA
-1F2A;N # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
-1F2B;N # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
-1F2C;N # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
-1F2D;N # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
-1F2E;N # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
-1F2F;N # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30;N # GREEK SMALL LETTER IOTA WITH PSILI
-1F31;N # GREEK SMALL LETTER IOTA WITH DASIA
-1F32;N # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
-1F33;N # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
-1F34;N # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
-1F35;N # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
-1F36;N # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F37;N # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F38;N # GREEK CAPITAL LETTER IOTA WITH PSILI
-1F39;N # GREEK CAPITAL LETTER IOTA WITH DASIA
-1F3A;N # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
-1F3B;N # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
-1F3C;N # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
-1F3D;N # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
-1F3E;N # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F3F;N # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40;N # GREEK SMALL LETTER OMICRON WITH PSILI
-1F41;N # GREEK SMALL LETTER OMICRON WITH DASIA
-1F42;N # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
-1F43;N # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
-1F44;N # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
-1F45;N # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48;N # GREEK CAPITAL LETTER OMICRON WITH PSILI
-1F49;N # GREEK CAPITAL LETTER OMICRON WITH DASIA
-1F4A;N # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
-1F4B;N # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
-1F4C;N # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
-1F4D;N # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50;N # GREEK SMALL LETTER UPSILON WITH PSILI
-1F51;N # GREEK SMALL LETTER UPSILON WITH DASIA
-1F52;N # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
-1F53;N # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
-1F54;N # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
-1F55;N # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
-1F56;N # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
-1F57;N # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59;N # GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B;N # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D;N # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F;N # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60;N # GREEK SMALL LETTER OMEGA WITH PSILI
-1F61;N # GREEK SMALL LETTER OMEGA WITH DASIA
-1F62;N # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
-1F63;N # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
-1F64;N # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
-1F65;N # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
-1F66;N # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F67;N # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F68;N # GREEK CAPITAL LETTER OMEGA WITH PSILI
-1F69;N # GREEK CAPITAL LETTER OMEGA WITH DASIA
-1F6A;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
-1F6B;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
-1F6C;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
-1F6D;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
-1F6E;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F6F;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70;N # GREEK SMALL LETTER ALPHA WITH VARIA
-1F71;N # GREEK SMALL LETTER ALPHA WITH OXIA
-1F72;N # GREEK SMALL LETTER EPSILON WITH VARIA
-1F73;N # GREEK SMALL LETTER EPSILON WITH OXIA
-1F74;N # GREEK SMALL LETTER ETA WITH VARIA
-1F75;N # GREEK SMALL LETTER ETA WITH OXIA
-1F76;N # GREEK SMALL LETTER IOTA WITH VARIA
-1F77;N # GREEK SMALL LETTER IOTA WITH OXIA
-1F78;N # GREEK SMALL LETTER OMICRON WITH VARIA
-1F79;N # GREEK SMALL LETTER OMICRON WITH OXIA
-1F7A;N # GREEK SMALL LETTER UPSILON WITH VARIA
-1F7B;N # GREEK SMALL LETTER UPSILON WITH OXIA
-1F7C;N # GREEK SMALL LETTER OMEGA WITH VARIA
-1F7D;N # GREEK SMALL LETTER OMEGA WITH OXIA
-1F80;N # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
-1F81;N # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
-1F82;N # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F83;N # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F84;N # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F85;N # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F86;N # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F87;N # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F88;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
-1F89;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
-1F8A;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F8B;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F8C;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F8D;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F8E;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F8F;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F90;N # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
-1F91;N # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
-1F92;N # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F93;N # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F94;N # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F95;N # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F96;N # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F97;N # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F98;N # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
-1F99;N # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
-1F9A;N # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F9B;N # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F9C;N # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F9D;N # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F9E;N # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F9F;N # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA0;N # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
-1FA1;N # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
-1FA2;N # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1FA3;N # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1FA4;N # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1FA5;N # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1FA6;N # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1FA7;N # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA8;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
-1FA9;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
-1FAA;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1FAB;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1FAC;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1FAD;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1FAE;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1FAF;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB0;N # GREEK SMALL LETTER ALPHA WITH VRACHY
-1FB1;N # GREEK SMALL LETTER ALPHA WITH MACRON
-1FB2;N # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
-1FB3;N # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-1FB4;N # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6;N # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
-1FB7;N # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FB8;N # GREEK CAPITAL LETTER ALPHA WITH VRACHY
-1FB9;N # GREEK CAPITAL LETTER ALPHA WITH MACRON
-1FBA;N # GREEK CAPITAL LETTER ALPHA WITH VARIA
-1FBB;N # GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBC;N # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD;N # GREEK KORONIS
-1FBE;N # GREEK PROSGEGRAMMENI
-1FBF;N # GREEK PSILI
-1FC0;N # GREEK PERISPOMENI
-1FC1;N # GREEK DIALYTIKA AND PERISPOMENI
-1FC2;N # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
-1FC3;N # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
-1FC4;N # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6;N # GREEK SMALL LETTER ETA WITH PERISPOMENI
-1FC7;N # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FC8;N # GREEK CAPITAL LETTER EPSILON WITH VARIA
-1FC9;N # GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCA;N # GREEK CAPITAL LETTER ETA WITH VARIA
-1FCB;N # GREEK CAPITAL LETTER ETA WITH OXIA
-1FCC;N # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD;N # GREEK PSILI AND VARIA
-1FCE;N # GREEK PSILI AND OXIA
-1FCF;N # GREEK PSILI AND PERISPOMENI
-1FD0;N # GREEK SMALL LETTER IOTA WITH VRACHY
-1FD1;N # GREEK SMALL LETTER IOTA WITH MACRON
-1FD2;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
-1FD3;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6;N # GREEK SMALL LETTER IOTA WITH PERISPOMENI
-1FD7;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FD8;N # GREEK CAPITAL LETTER IOTA WITH VRACHY
-1FD9;N # GREEK CAPITAL LETTER IOTA WITH MACRON
-1FDA;N # GREEK CAPITAL LETTER IOTA WITH VARIA
-1FDB;N # GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD;N # GREEK DASIA AND VARIA
-1FDE;N # GREEK DASIA AND OXIA
-1FDF;N # GREEK DASIA AND PERISPOMENI
-1FE0;N # GREEK SMALL LETTER UPSILON WITH VRACHY
-1FE1;N # GREEK SMALL LETTER UPSILON WITH MACRON
-1FE2;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
-1FE3;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE4;N # GREEK SMALL LETTER RHO WITH PSILI
-1FE5;N # GREEK SMALL LETTER RHO WITH DASIA
-1FE6;N # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
-1FE7;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FE8;N # GREEK CAPITAL LETTER UPSILON WITH VRACHY
-1FE9;N # GREEK CAPITAL LETTER UPSILON WITH MACRON
-1FEA;N # GREEK CAPITAL LETTER UPSILON WITH VARIA
-1FEB;N # GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FEC;N # GREEK CAPITAL LETTER RHO WITH DASIA
-1FED;N # GREEK DIALYTIKA AND VARIA
-1FEE;N # GREEK DIALYTIKA AND OXIA
-1FEF;N # GREEK VARIA
-1FF2;N # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
-1FF3;N # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
-1FF4;N # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6;N # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
-1FF7;N # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FF8;N # GREEK CAPITAL LETTER OMICRON WITH VARIA
-1FF9;N # GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFA;N # GREEK CAPITAL LETTER OMEGA WITH VARIA
-1FFB;N # GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFC;N # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD;N # GREEK OXIA
-1FFE;N # GREEK DASIA
-2000;N # EN QUAD
-2001;N # EM QUAD
-2002;N # EN SPACE
-2003;N # EM SPACE
-2004;N # THREE-PER-EM SPACE
-2005;N # FOUR-PER-EM SPACE
-2006;N # SIX-PER-EM SPACE
-2007;N # FIGURE SPACE
-2008;N # PUNCTUATION SPACE
-2009;N # THIN SPACE
-200A;N # HAIR SPACE
-200B;N # ZERO WIDTH SPACE
-200C;N # ZERO WIDTH NON-JOINER
-200D;N # ZERO WIDTH JOINER
-200E;N # LEFT-TO-RIGHT MARK
-200F;N # RIGHT-TO-LEFT MARK
-2010;A # HYPHEN
-2011;N # NON-BREAKING HYPHEN
-2012;N # FIGURE DASH
-2013;A # EN DASH
-2014;A # EM DASH
-2015;A # HORIZONTAL BAR
-2016;A # DOUBLE VERTICAL LINE
-2017;N # DOUBLE LOW LINE
-2018;A # LEFT SINGLE QUOTATION MARK
-2019;A # RIGHT SINGLE QUOTATION MARK
-201A;N # SINGLE LOW-9 QUOTATION MARK
-201B;N # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C;A # LEFT DOUBLE QUOTATION MARK
-201D;A # RIGHT DOUBLE QUOTATION MARK
-201E;N # DOUBLE LOW-9 QUOTATION MARK
-201F;N # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020;A # DAGGER
-2021;A # DOUBLE DAGGER
-2022;A # BULLET
-2023;N # TRIANGULAR BULLET
-2024;A # ONE DOT LEADER
-2025;A # TWO DOT LEADER
-2026;A # HORIZONTAL ELLIPSIS
-2027;A # HYPHENATION POINT
-2028;N # LINE SEPARATOR
-2029;N # PARAGRAPH SEPARATOR
-202A;N # LEFT-TO-RIGHT EMBEDDING
-202B;N # RIGHT-TO-LEFT EMBEDDING
-202C;N # POP DIRECTIONAL FORMATTING
-202D;N # LEFT-TO-RIGHT OVERRIDE
-202E;N # RIGHT-TO-LEFT OVERRIDE
-202F;N # NARROW NO-BREAK SPACE
-2030;A # PER MILLE SIGN
-2031;N # PER TEN THOUSAND SIGN
-2032;A # PRIME
-2033;A # DOUBLE PRIME
-2034;N # TRIPLE PRIME
-2035;A # REVERSED PRIME
-2036;N # REVERSED DOUBLE PRIME
-2037;N # REVERSED TRIPLE PRIME
-2038;N # CARET
-2039;N # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A;N # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B;A # REFERENCE MARK
-203C;N # DOUBLE EXCLAMATION MARK
-203D;N # INTERROBANG
-203E;A # OVERLINE
-203F;N # UNDERTIE
-2040;N # CHARACTER TIE
-2041;N # CARET INSERTION POINT
-2042;N # ASTERISM
-2043;N # HYPHEN BULLET
-2044;N # FRACTION SLASH
-2045;N # LEFT SQUARE BRACKET WITH QUILL
-2046;N # RIGHT SQUARE BRACKET WITH QUILL
-2047;N # DOUBLE QUESTION MARK
-2048;N # QUESTION EXCLAMATION MARK
-2049;N # EXCLAMATION QUESTION MARK
-204A;N # TIRONIAN SIGN ET
-204B;N # REVERSED PILCROW SIGN
-204C;N # BLACK LEFTWARDS BULLET
-204D;N # BLACK RIGHTWARDS BULLET
-204E;N # LOW ASTERISK
-204F;N # REVERSED SEMICOLON
-2050;N # CLOSE UP
-2051;N # TWO ASTERISKS ALIGNED VERTICALLY
-2052;N # COMMERCIAL MINUS SIGN
-2053;N # SWUNG DASH
-2054;N # INVERTED UNDERTIE
-2055;N # FLOWER PUNCTUATION MARK
-2056;N # THREE DOT PUNCTUATION
-2057;N # QUADRUPLE PRIME
-2058;N # FOUR DOT PUNCTUATION
-2059;N # FIVE DOT PUNCTUATION
-205A;N # TWO DOT PUNCTUATION
-205B;N # FOUR DOT MARK
-205C;N # DOTTED CROSS
-205D;N # TRICOLON
-205E;N # VERTICAL FOUR DOTS
-205F;N # MEDIUM MATHEMATICAL SPACE
-2060;N # WORD JOINER
-2061;N # FUNCTION APPLICATION
-2062;N # INVISIBLE TIMES
-2063;N # INVISIBLE SEPARATOR
-2064;N # INVISIBLE PLUS
-206A;N # INHIBIT SYMMETRIC SWAPPING
-206B;N # ACTIVATE SYMMETRIC SWAPPING
-206C;N # INHIBIT ARABIC FORM SHAPING
-206D;N # ACTIVATE ARABIC FORM SHAPING
-206E;N # NATIONAL DIGIT SHAPES
-206F;N # NOMINAL DIGIT SHAPES
-2070;N # SUPERSCRIPT ZERO
-2071;N # SUPERSCRIPT LATIN SMALL LETTER I
-2074;A # SUPERSCRIPT FOUR
-2075;N # SUPERSCRIPT FIVE
-2076;N # SUPERSCRIPT SIX
-2077;N # SUPERSCRIPT SEVEN
-2078;N # SUPERSCRIPT EIGHT
-2079;N # SUPERSCRIPT NINE
-207A;N # SUPERSCRIPT PLUS SIGN
-207B;N # SUPERSCRIPT MINUS
-207C;N # SUPERSCRIPT EQUALS SIGN
-207D;N # SUPERSCRIPT LEFT PARENTHESIS
-207E;N # SUPERSCRIPT RIGHT PARENTHESIS
-207F;A # SUPERSCRIPT LATIN SMALL LETTER N
-2080;N # SUBSCRIPT ZERO
-2081;A # SUBSCRIPT ONE
-2082;A # SUBSCRIPT TWO
-2083;A # SUBSCRIPT THREE
-2084;A # SUBSCRIPT FOUR
-2085;N # SUBSCRIPT FIVE
-2086;N # SUBSCRIPT SIX
-2087;N # SUBSCRIPT SEVEN
-2088;N # SUBSCRIPT EIGHT
-2089;N # SUBSCRIPT NINE
-208A;N # SUBSCRIPT PLUS SIGN
-208B;N # SUBSCRIPT MINUS
-208C;N # SUBSCRIPT EQUALS SIGN
-208D;N # SUBSCRIPT LEFT PARENTHESIS
-208E;N # SUBSCRIPT RIGHT PARENTHESIS
-2090;N # LATIN SUBSCRIPT SMALL LETTER A
-2091;N # LATIN SUBSCRIPT SMALL LETTER E
-2092;N # LATIN SUBSCRIPT SMALL LETTER O
-2093;N # LATIN SUBSCRIPT SMALL LETTER X
-2094;N # LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A0;N # EURO-CURRENCY SIGN
-20A1;N # COLON SIGN
-20A2;N # CRUZEIRO SIGN
-20A3;N # FRENCH FRANC SIGN
-20A4;N # LIRA SIGN
-20A5;N # MILL SIGN
-20A6;N # NAIRA SIGN
-20A7;N # PESETA SIGN
-20A8;N # RUPEE SIGN
-20A9;H # WON SIGN
-20AA;N # NEW SHEQEL SIGN
-20AB;N # DONG SIGN
-20AC;A # EURO SIGN
-20AD;N # KIP SIGN
-20AE;N # TUGRIK SIGN
-20AF;N # DRACHMA SIGN
-20B0;N # GERMAN PENNY SIGN
-20B1;N # PESO SIGN
-20B2;N # GUARANI SIGN
-20B3;N # AUSTRAL SIGN
-20B4;N # HRYVNIA SIGN
-20B5;N # CEDI SIGN
-20B6;N # LIVRE TOURNOIS SIGN
-20B7;N # SPESMILO SIGN
-20B8;N # TENGE SIGN
-20D0;N # COMBINING LEFT HARPOON ABOVE
-20D1;N # COMBINING RIGHT HARPOON ABOVE
-20D2;N # COMBINING LONG VERTICAL LINE OVERLAY
-20D3;N # COMBINING SHORT VERTICAL LINE OVERLAY
-20D4;N # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5;N # COMBINING CLOCKWISE ARROW ABOVE
-20D6;N # COMBINING LEFT ARROW ABOVE
-20D7;N # COMBINING RIGHT ARROW ABOVE
-20D8;N # COMBINING RING OVERLAY
-20D9;N # COMBINING CLOCKWISE RING OVERLAY
-20DA;N # COMBINING ANTICLOCKWISE RING OVERLAY
-20DB;N # COMBINING THREE DOTS ABOVE
-20DC;N # COMBINING FOUR DOTS ABOVE
-20DD;N # COMBINING ENCLOSING CIRCLE
-20DE;N # COMBINING ENCLOSING SQUARE
-20DF;N # COMBINING ENCLOSING DIAMOND
-20E0;N # COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1;N # COMBINING LEFT RIGHT ARROW ABOVE
-20E2;N # COMBINING ENCLOSING SCREEN
-20E3;N # COMBINING ENCLOSING KEYCAP
-20E4;N # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5;N # COMBINING REVERSE SOLIDUS OVERLAY
-20E6;N # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7;N # COMBINING ANNUITY SYMBOL
-20E8;N # COMBINING TRIPLE UNDERDOT
-20E9;N # COMBINING WIDE BRIDGE ABOVE
-20EA;N # COMBINING LEFTWARDS ARROW OVERLAY
-20EB;N # COMBINING LONG DOUBLE SOLIDUS OVERLAY
-20EC;N # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-20ED;N # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
-20EE;N # COMBINING LEFT ARROW BELOW
-20EF;N # COMBINING RIGHT ARROW BELOW
-20F0;N # COMBINING ASTERISK ABOVE
-2100;N # ACCOUNT OF
-2101;N # ADDRESSED TO THE SUBJECT
-2102;N # DOUBLE-STRUCK CAPITAL C
-2103;A # DEGREE CELSIUS
-2104;N # CENTRE LINE SYMBOL
-2105;A # CARE OF
-2106;N # CADA UNA
-2107;N # EULER CONSTANT
-2108;N # SCRUPLE
-2109;A # DEGREE FAHRENHEIT
-210A;N # SCRIPT SMALL G
-210B;N # SCRIPT CAPITAL H
-210C;N # BLACK-LETTER CAPITAL H
-210D;N # DOUBLE-STRUCK CAPITAL H
-210E;N # PLANCK CONSTANT
-210F;N # PLANCK CONSTANT OVER TWO PI
-2110;N # SCRIPT CAPITAL I
-2111;N # BLACK-LETTER CAPITAL I
-2112;N # SCRIPT CAPITAL L
-2113;A # SCRIPT SMALL L
-2114;N # L B BAR SYMBOL
-2115;N # DOUBLE-STRUCK CAPITAL N
-2116;A # NUMERO SIGN
-2117;N # SOUND RECORDING COPYRIGHT
-2118;N # SCRIPT CAPITAL P
-2119;N # DOUBLE-STRUCK CAPITAL P
-211A;N # DOUBLE-STRUCK CAPITAL Q
-211B;N # SCRIPT CAPITAL R
-211C;N # BLACK-LETTER CAPITAL R
-211D;N # DOUBLE-STRUCK CAPITAL R
-211E;N # PRESCRIPTION TAKE
-211F;N # RESPONSE
-2120;N # SERVICE MARK
-2121;A # TELEPHONE SIGN
-2122;A # TRADE MARK SIGN
-2123;N # VERSICLE
-2124;N # DOUBLE-STRUCK CAPITAL Z
-2125;N # OUNCE SIGN
-2126;A # OHM SIGN
-2127;N # INVERTED OHM SIGN
-2128;N # BLACK-LETTER CAPITAL Z
-2129;N # TURNED GREEK SMALL LETTER IOTA
-212A;N # KELVIN SIGN
-212B;A # ANGSTROM SIGN
-212C;N # SCRIPT CAPITAL B
-212D;N # BLACK-LETTER CAPITAL C
-212E;N # ESTIMATED SYMBOL
-212F;N # SCRIPT SMALL E
-2130;N # SCRIPT CAPITAL E
-2131;N # SCRIPT CAPITAL F
-2132;N # TURNED CAPITAL F
-2133;N # SCRIPT CAPITAL M
-2134;N # SCRIPT SMALL O
-2135;N # ALEF SYMBOL
-2136;N # BET SYMBOL
-2137;N # GIMEL SYMBOL
-2138;N # DALET SYMBOL
-2139;N # INFORMATION SOURCE
-213A;N # ROTATED CAPITAL Q
-213B;N # FACSIMILE SIGN
-213C;N # DOUBLE-STRUCK SMALL PI
-213D;N # DOUBLE-STRUCK SMALL GAMMA
-213E;N # DOUBLE-STRUCK CAPITAL GAMMA
-213F;N # DOUBLE-STRUCK CAPITAL PI
-2140;N # DOUBLE-STRUCK N-ARY SUMMATION
-2141;N # TURNED SANS-SERIF CAPITAL G
-2142;N # TURNED SANS-SERIF CAPITAL L
-2143;N # REVERSED SANS-SERIF CAPITAL L
-2144;N # TURNED SANS-SERIF CAPITAL Y
-2145;N # DOUBLE-STRUCK ITALIC CAPITAL D
-2146;N # DOUBLE-STRUCK ITALIC SMALL D
-2147;N # DOUBLE-STRUCK ITALIC SMALL E
-2148;N # DOUBLE-STRUCK ITALIC SMALL I
-2149;N # DOUBLE-STRUCK ITALIC SMALL J
-214A;N # PROPERTY LINE
-214B;N # TURNED AMPERSAND
-214C;N # PER SIGN
-214D;N # AKTIESELSKAB
-214E;N # TURNED SMALL F
-214F;N # SYMBOL FOR SAMARITAN SOURCE
-2150;N # VULGAR FRACTION ONE SEVENTH
-2151;N # VULGAR FRACTION ONE NINTH
-2152;N # VULGAR FRACTION ONE TENTH
-2153;A # VULGAR FRACTION ONE THIRD
-2154;A # VULGAR FRACTION TWO THIRDS
-2155;N # VULGAR FRACTION ONE FIFTH
-2156;N # VULGAR FRACTION TWO FIFTHS
-2157;N # VULGAR FRACTION THREE FIFTHS
-2158;N # VULGAR FRACTION FOUR FIFTHS
-2159;N # VULGAR FRACTION ONE SIXTH
-215A;N # VULGAR FRACTION FIVE SIXTHS
-215B;A # VULGAR FRACTION ONE EIGHTH
-215C;A # VULGAR FRACTION THREE EIGHTHS
-215D;A # VULGAR FRACTION FIVE EIGHTHS
-215E;A # VULGAR FRACTION SEVEN EIGHTHS
-215F;N # FRACTION NUMERATOR ONE
-2160;A # ROMAN NUMERAL ONE
-2161;A # ROMAN NUMERAL TWO
-2162;A # ROMAN NUMERAL THREE
-2163;A # ROMAN NUMERAL FOUR
-2164;A # ROMAN NUMERAL FIVE
-2165;A # ROMAN NUMERAL SIX
-2166;A # ROMAN NUMERAL SEVEN
-2167;A # ROMAN NUMERAL EIGHT
-2168;A # ROMAN NUMERAL NINE
-2169;A # ROMAN NUMERAL TEN
-216A;A # ROMAN NUMERAL ELEVEN
-216B;A # ROMAN NUMERAL TWELVE
-216C;N # ROMAN NUMERAL FIFTY
-216D;N # ROMAN NUMERAL ONE HUNDRED
-216E;N # ROMAN NUMERAL FIVE HUNDRED
-216F;N # ROMAN NUMERAL ONE THOUSAND
-2170;A # SMALL ROMAN NUMERAL ONE
-2171;A # SMALL ROMAN NUMERAL TWO
-2172;A # SMALL ROMAN NUMERAL THREE
-2173;A # SMALL ROMAN NUMERAL FOUR
-2174;A # SMALL ROMAN NUMERAL FIVE
-2175;A # SMALL ROMAN NUMERAL SIX
-2176;A # SMALL ROMAN NUMERAL SEVEN
-2177;A # SMALL ROMAN NUMERAL EIGHT
-2178;A # SMALL ROMAN NUMERAL NINE
-2179;A # SMALL ROMAN NUMERAL TEN
-217A;N # SMALL ROMAN NUMERAL ELEVEN
-217B;N # SMALL ROMAN NUMERAL TWELVE
-217C;N # SMALL ROMAN NUMERAL FIFTY
-217D;N # SMALL ROMAN NUMERAL ONE HUNDRED
-217E;N # SMALL ROMAN NUMERAL FIVE HUNDRED
-217F;N # SMALL ROMAN NUMERAL ONE THOUSAND
-2180;N # ROMAN NUMERAL ONE THOUSAND C D
-2181;N # ROMAN NUMERAL FIVE THOUSAND
-2182;N # ROMAN NUMERAL TEN THOUSAND
-2183;N # ROMAN NUMERAL REVERSED ONE HUNDRED
-2184;N # LATIN SMALL LETTER REVERSED C
-2185;N # ROMAN NUMERAL SIX LATE FORM
-2186;N # ROMAN NUMERAL FIFTY EARLY FORM
-2187;N # ROMAN NUMERAL FIFTY THOUSAND
-2188;N # ROMAN NUMERAL ONE HUNDRED THOUSAND
-2189;A # VULGAR FRACTION ZERO THIRDS
-2190;A # LEFTWARDS ARROW
-2191;A # UPWARDS ARROW
-2192;A # RIGHTWARDS ARROW
-2193;A # DOWNWARDS ARROW
-2194;A # LEFT RIGHT ARROW
-2195;A # UP DOWN ARROW
-2196;A # NORTH WEST ARROW
-2197;A # NORTH EAST ARROW
-2198;A # SOUTH EAST ARROW
-2199;A # SOUTH WEST ARROW
-219A;N # LEFTWARDS ARROW WITH STROKE
-219B;N # RIGHTWARDS ARROW WITH STROKE
-219C;N # LEFTWARDS WAVE ARROW
-219D;N # RIGHTWARDS WAVE ARROW
-219E;N # LEFTWARDS TWO HEADED ARROW
-219F;N # UPWARDS TWO HEADED ARROW
-21A0;N # RIGHTWARDS TWO HEADED ARROW
-21A1;N # DOWNWARDS TWO HEADED ARROW
-21A2;N # LEFTWARDS ARROW WITH TAIL
-21A3;N # RIGHTWARDS ARROW WITH TAIL
-21A4;N # LEFTWARDS ARROW FROM BAR
-21A5;N # UPWARDS ARROW FROM BAR
-21A6;N # RIGHTWARDS ARROW FROM BAR
-21A7;N # DOWNWARDS ARROW FROM BAR
-21A8;N # UP DOWN ARROW WITH BASE
-21A9;N # LEFTWARDS ARROW WITH HOOK
-21AA;N # RIGHTWARDS ARROW WITH HOOK
-21AB;N # LEFTWARDS ARROW WITH LOOP
-21AC;N # RIGHTWARDS ARROW WITH LOOP
-21AD;N # LEFT RIGHT WAVE ARROW
-21AE;N # LEFT RIGHT ARROW WITH STROKE
-21AF;N # DOWNWARDS ZIGZAG ARROW
-21B0;N # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1;N # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2;N # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3;N # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4;N # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5;N # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6;N # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7;N # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8;A # NORTH WEST ARROW TO LONG BAR
-21B9;A # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA;N # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB;N # CLOCKWISE OPEN CIRCLE ARROW
-21BC;N # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD;N # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE;N # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF;N # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0;N # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1;N # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2;N # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3;N # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4;N # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5;N # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6;N # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7;N # LEFTWARDS PAIRED ARROWS
-21C8;N # UPWARDS PAIRED ARROWS
-21C9;N # RIGHTWARDS PAIRED ARROWS
-21CA;N # DOWNWARDS PAIRED ARROWS
-21CB;N # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC;N # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD;N # LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE;N # LEFT RIGHT DOUBLE ARROW WITH STROKE
-21CF;N # RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0;N # LEFTWARDS DOUBLE ARROW
-21D1;N # UPWARDS DOUBLE ARROW
-21D2;A # RIGHTWARDS DOUBLE ARROW
-21D3;N # DOWNWARDS DOUBLE ARROW
-21D4;A # LEFT RIGHT DOUBLE ARROW
-21D5;N # UP DOWN DOUBLE ARROW
-21D6;N # NORTH WEST DOUBLE ARROW
-21D7;N # NORTH EAST DOUBLE ARROW
-21D8;N # SOUTH EAST DOUBLE ARROW
-21D9;N # SOUTH WEST DOUBLE ARROW
-21DA;N # LEFTWARDS TRIPLE ARROW
-21DB;N # RIGHTWARDS TRIPLE ARROW
-21DC;N # LEFTWARDS SQUIGGLE ARROW
-21DD;N # RIGHTWARDS SQUIGGLE ARROW
-21DE;N # UPWARDS ARROW WITH DOUBLE STROKE
-21DF;N # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0;N # LEFTWARDS DASHED ARROW
-21E1;N # UPWARDS DASHED ARROW
-21E2;N # RIGHTWARDS DASHED ARROW
-21E3;N # DOWNWARDS DASHED ARROW
-21E4;N # LEFTWARDS ARROW TO BAR
-21E5;N # RIGHTWARDS ARROW TO BAR
-21E6;N # LEFTWARDS WHITE ARROW
-21E7;A # UPWARDS WHITE ARROW
-21E8;N # RIGHTWARDS WHITE ARROW
-21E9;N # DOWNWARDS WHITE ARROW
-21EA;N # UPWARDS WHITE ARROW FROM BAR
-21EB;N # UPWARDS WHITE ARROW ON PEDESTAL
-21EC;N # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED;N # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE;N # UPWARDS WHITE DOUBLE ARROW
-21EF;N # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0;N # RIGHTWARDS WHITE ARROW FROM WALL
-21F1;N # NORTH WEST ARROW TO CORNER
-21F2;N # SOUTH EAST ARROW TO CORNER
-21F3;N # UP DOWN WHITE ARROW
-21F4;N # RIGHT ARROW WITH SMALL CIRCLE
-21F5;N # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6;N # THREE RIGHTWARDS ARROWS
-21F7;N # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8;N # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9;N # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA;N # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB;N # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC;N # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD;N # LEFTWARDS OPEN-HEADED ARROW
-21FE;N # RIGHTWARDS OPEN-HEADED ARROW
-21FF;N # LEFT RIGHT OPEN-HEADED ARROW
-2200;A # FOR ALL
-2201;N # COMPLEMENT
-2202;A # PARTIAL DIFFERENTIAL
-2203;A # THERE EXISTS
-2204;N # THERE DOES NOT EXIST
-2205;N # EMPTY SET
-2206;N # INCREMENT
-2207;A # NABLA
-2208;A # ELEMENT OF
-2209;N # NOT AN ELEMENT OF
-220A;N # SMALL ELEMENT OF
-220B;A # CONTAINS AS MEMBER
-220C;N # DOES NOT CONTAIN AS MEMBER
-220D;N # SMALL CONTAINS AS MEMBER
-220E;N # END OF PROOF
-220F;A # N-ARY PRODUCT
-2210;N # N-ARY COPRODUCT
-2211;A # N-ARY SUMMATION
-2212;N # MINUS SIGN
-2213;N # MINUS-OR-PLUS SIGN
-2214;N # DOT PLUS
-2215;A # DIVISION SLASH
-2216;N # SET MINUS
-2217;N # ASTERISK OPERATOR
-2218;N # RING OPERATOR
-2219;N # BULLET OPERATOR
-221A;A # SQUARE ROOT
-221B;N # CUBE ROOT
-221C;N # FOURTH ROOT
-221D;A # PROPORTIONAL TO
-221E;A # INFINITY
-221F;A # RIGHT ANGLE
-2220;A # ANGLE
-2221;N # MEASURED ANGLE
-2222;N # SPHERICAL ANGLE
-2223;A # DIVIDES
-2224;N # DOES NOT DIVIDE
-2225;A # PARALLEL TO
-2226;N # NOT PARALLEL TO
-2227;A # LOGICAL AND
-2228;A # LOGICAL OR
-2229;A # INTERSECTION
-222A;A # UNION
-222B;A # INTEGRAL
-222C;A # DOUBLE INTEGRAL
-222D;N # TRIPLE INTEGRAL
-222E;A # CONTOUR INTEGRAL
-222F;N # SURFACE INTEGRAL
-2230;N # VOLUME INTEGRAL
-2231;N # CLOCKWISE INTEGRAL
-2232;N # CLOCKWISE CONTOUR INTEGRAL
-2233;N # ANTICLOCKWISE CONTOUR INTEGRAL
-2234;A # THEREFORE
-2235;A # BECAUSE
-2236;A # RATIO
-2237;A # PROPORTION
-2238;N # DOT MINUS
-2239;N # EXCESS
-223A;N # GEOMETRIC PROPORTION
-223B;N # HOMOTHETIC
-223C;A # TILDE OPERATOR
-223D;A # REVERSED TILDE
-223E;N # INVERTED LAZY S
-223F;N # SINE WAVE
-2240;N # WREATH PRODUCT
-2241;N # NOT TILDE
-2242;N # MINUS TILDE
-2243;N # ASYMPTOTICALLY EQUAL TO
-2244;N # NOT ASYMPTOTICALLY EQUAL TO
-2245;N # APPROXIMATELY EQUAL TO
-2246;N # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247;N # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2248;A # ALMOST EQUAL TO
-2249;N # NOT ALMOST EQUAL TO
-224A;N # ALMOST EQUAL OR EQUAL TO
-224B;N # TRIPLE TILDE
-224C;A # ALL EQUAL TO
-224D;N # EQUIVALENT TO
-224E;N # GEOMETRICALLY EQUIVALENT TO
-224F;N # DIFFERENCE BETWEEN
-2250;N # APPROACHES THE LIMIT
-2251;N # GEOMETRICALLY EQUAL TO
-2252;A # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253;N # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254;N # COLON EQUALS
-2255;N # EQUALS COLON
-2256;N # RING IN EQUAL TO
-2257;N # RING EQUAL TO
-2258;N # CORRESPONDS TO
-2259;N # ESTIMATES
-225A;N # EQUIANGULAR TO
-225B;N # STAR EQUALS
-225C;N # DELTA EQUAL TO
-225D;N # EQUAL TO BY DEFINITION
-225E;N # MEASURED BY
-225F;N # QUESTIONED EQUAL TO
-2260;A # NOT EQUAL TO
-2261;A # IDENTICAL TO
-2262;N # NOT IDENTICAL TO
-2263;N # STRICTLY EQUIVALENT TO
-2264;A # LESS-THAN OR EQUAL TO
-2265;A # GREATER-THAN OR EQUAL TO
-2266;A # LESS-THAN OVER EQUAL TO
-2267;A # GREATER-THAN OVER EQUAL TO
-2268;N # LESS-THAN BUT NOT EQUAL TO
-2269;N # GREATER-THAN BUT NOT EQUAL TO
-226A;A # MUCH LESS-THAN
-226B;A # MUCH GREATER-THAN
-226C;N # BETWEEN
-226D;N # NOT EQUIVALENT TO
-226E;A # NOT LESS-THAN
-226F;A # NOT GREATER-THAN
-2270;N # NEITHER LESS-THAN NOR EQUAL TO
-2271;N # NEITHER GREATER-THAN NOR EQUAL TO
-2272;N # LESS-THAN OR EQUIVALENT TO
-2273;N # GREATER-THAN OR EQUIVALENT TO
-2274;N # NEITHER LESS-THAN NOR EQUIVALENT TO
-2275;N # NEITHER GREATER-THAN NOR EQUIVALENT TO
-2276;N # LESS-THAN OR GREATER-THAN
-2277;N # GREATER-THAN OR LESS-THAN
-2278;N # NEITHER LESS-THAN NOR GREATER-THAN
-2279;N # NEITHER GREATER-THAN NOR LESS-THAN
-227A;N # PRECEDES
-227B;N # SUCCEEDS
-227C;N # PRECEDES OR EQUAL TO
-227D;N # SUCCEEDS OR EQUAL TO
-227E;N # PRECEDES OR EQUIVALENT TO
-227F;N # SUCCEEDS OR EQUIVALENT TO
-2280;N # DOES NOT PRECEDE
-2281;N # DOES NOT SUCCEED
-2282;A # SUBSET OF
-2283;A # SUPERSET OF
-2284;N # NOT A SUBSET OF
-2285;N # NOT A SUPERSET OF
-2286;A # SUBSET OF OR EQUAL TO
-2287;A # SUPERSET OF OR EQUAL TO
-2288;N # NEITHER A SUBSET OF NOR EQUAL TO
-2289;N # NEITHER A SUPERSET OF NOR EQUAL TO
-228A;N # SUBSET OF WITH NOT EQUAL TO
-228B;N # SUPERSET OF WITH NOT EQUAL TO
-228C;N # MULTISET
-228D;N # MULTISET MULTIPLICATION
-228E;N # MULTISET UNION
-228F;N # SQUARE IMAGE OF
-2290;N # SQUARE ORIGINAL OF
-2291;N # SQUARE IMAGE OF OR EQUAL TO
-2292;N # SQUARE ORIGINAL OF OR EQUAL TO
-2293;N # SQUARE CAP
-2294;N # SQUARE CUP
-2295;A # CIRCLED PLUS
-2296;N # CIRCLED MINUS
-2297;N # CIRCLED TIMES
-2298;N # CIRCLED DIVISION SLASH
-2299;A # CIRCLED DOT OPERATOR
-229A;N # CIRCLED RING OPERATOR
-229B;N # CIRCLED ASTERISK OPERATOR
-229C;N # CIRCLED EQUALS
-229D;N # CIRCLED DASH
-229E;N # SQUARED PLUS
-229F;N # SQUARED MINUS
-22A0;N # SQUARED TIMES
-22A1;N # SQUARED DOT OPERATOR
-22A2;N # RIGHT TACK
-22A3;N # LEFT TACK
-22A4;N # DOWN TACK
-22A5;A # UP TACK
-22A6;N # ASSERTION
-22A7;N # MODELS
-22A8;N # TRUE
-22A9;N # FORCES
-22AA;N # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB;N # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC;N # DOES NOT PROVE
-22AD;N # NOT TRUE
-22AE;N # DOES NOT FORCE
-22AF;N # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22B0;N # PRECEDES UNDER RELATION
-22B1;N # SUCCEEDS UNDER RELATION
-22B2;N # NORMAL SUBGROUP OF
-22B3;N # CONTAINS AS NORMAL SUBGROUP
-22B4;N # NORMAL SUBGROUP OF OR EQUAL TO
-22B5;N # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6;N # ORIGINAL OF
-22B7;N # IMAGE OF
-22B8;N # MULTIMAP
-22B9;N # HERMITIAN CONJUGATE MATRIX
-22BA;N # INTERCALATE
-22BB;N # XOR
-22BC;N # NAND
-22BD;N # NOR
-22BE;N # RIGHT ANGLE WITH ARC
-22BF;A # RIGHT TRIANGLE
-22C0;N # N-ARY LOGICAL AND
-22C1;N # N-ARY LOGICAL OR
-22C2;N # N-ARY INTERSECTION
-22C3;N # N-ARY UNION
-22C4;N # DIAMOND OPERATOR
-22C5;N # DOT OPERATOR
-22C6;N # STAR OPERATOR
-22C7;N # DIVISION TIMES
-22C8;N # BOWTIE
-22C9;N # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA;N # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB;N # LEFT SEMIDIRECT PRODUCT
-22CC;N # RIGHT SEMIDIRECT PRODUCT
-22CD;N # REVERSED TILDE EQUALS
-22CE;N # CURLY LOGICAL OR
-22CF;N # CURLY LOGICAL AND
-22D0;N # DOUBLE SUBSET
-22D1;N # DOUBLE SUPERSET
-22D2;N # DOUBLE INTERSECTION
-22D3;N # DOUBLE UNION
-22D4;N # PITCHFORK
-22D5;N # EQUAL AND PARALLEL TO
-22D6;N # LESS-THAN WITH DOT
-22D7;N # GREATER-THAN WITH DOT
-22D8;N # VERY MUCH LESS-THAN
-22D9;N # VERY MUCH GREATER-THAN
-22DA;N # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB;N # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC;N # EQUAL TO OR LESS-THAN
-22DD;N # EQUAL TO OR GREATER-THAN
-22DE;N # EQUAL TO OR PRECEDES
-22DF;N # EQUAL TO OR SUCCEEDS
-22E0;N # DOES NOT PRECEDE OR EQUAL
-22E1;N # DOES NOT SUCCEED OR EQUAL
-22E2;N # NOT SQUARE IMAGE OF OR EQUAL TO
-22E3;N # NOT SQUARE ORIGINAL OF OR EQUAL TO
-22E4;N # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5;N # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6;N # LESS-THAN BUT NOT EQUIVALENT TO
-22E7;N # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8;N # PRECEDES BUT NOT EQUIVALENT TO
-22E9;N # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA;N # NOT NORMAL SUBGROUP OF
-22EB;N # DOES NOT CONTAIN AS NORMAL SUBGROUP
-22EC;N # NOT NORMAL SUBGROUP OF OR EQUAL TO
-22ED;N # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22EE;N # VERTICAL ELLIPSIS
-22EF;N # MIDLINE HORIZONTAL ELLIPSIS
-22F0;N # UP RIGHT DIAGONAL ELLIPSIS
-22F1;N # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2;N # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3;N # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4;N # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5;N # ELEMENT OF WITH DOT ABOVE
-22F6;N # ELEMENT OF WITH OVERBAR
-22F7;N # SMALL ELEMENT OF WITH OVERBAR
-22F8;N # ELEMENT OF WITH UNDERBAR
-22F9;N # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA;N # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB;N # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC;N # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD;N # CONTAINS WITH OVERBAR
-22FE;N # SMALL CONTAINS WITH OVERBAR
-22FF;N # Z NOTATION BAG MEMBERSHIP
-2300;N # DIAMETER SIGN
-2301;N # ELECTRIC ARROW
-2302;N # HOUSE
-2303;N # UP ARROWHEAD
-2304;N # DOWN ARROWHEAD
-2305;N # PROJECTIVE
-2306;N # PERSPECTIVE
-2307;N # WAVY LINE
-2308;N # LEFT CEILING
-2309;N # RIGHT CEILING
-230A;N # LEFT FLOOR
-230B;N # RIGHT FLOOR
-230C;N # BOTTOM RIGHT CROP
-230D;N # BOTTOM LEFT CROP
-230E;N # TOP RIGHT CROP
-230F;N # TOP LEFT CROP
-2310;N # REVERSED NOT SIGN
-2311;N # SQUARE LOZENGE
-2312;A # ARC
-2313;N # SEGMENT
-2314;N # SECTOR
-2315;N # TELEPHONE RECORDER
-2316;N # POSITION INDICATOR
-2317;N # VIEWDATA SQUARE
-2318;N # PLACE OF INTEREST SIGN
-2319;N # TURNED NOT SIGN
-231A;N # WATCH
-231B;N # HOURGLASS
-231C;N # TOP LEFT CORNER
-231D;N # TOP RIGHT CORNER
-231E;N # BOTTOM LEFT CORNER
-231F;N # BOTTOM RIGHT CORNER
-2320;N # TOP HALF INTEGRAL
-2321;N # BOTTOM HALF INTEGRAL
-2322;N # FROWN
-2323;N # SMILE
-2324;N # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325;N # OPTION KEY
-2326;N # ERASE TO THE RIGHT
-2327;N # X IN A RECTANGLE BOX
-2328;N # KEYBOARD
-2329;W # LEFT-POINTING ANGLE BRACKET
-232A;W # RIGHT-POINTING ANGLE BRACKET
-232B;N # ERASE TO THE LEFT
-232C;N # BENZENE RING
-232D;N # CYLINDRICITY
-232E;N # ALL AROUND-PROFILE
-232F;N # SYMMETRY
-2330;N # TOTAL RUNOUT
-2331;N # DIMENSION ORIGIN
-2332;N # CONICAL TAPER
-2333;N # SLOPE
-2334;N # COUNTERBORE
-2335;N # COUNTERSINK
-2336;N # APL FUNCTIONAL SYMBOL I-BEAM
-2337;N # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338;N # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339;N # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A;N # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B;N # APL FUNCTIONAL SYMBOL QUAD JOT
-233C;N # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D;N # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E;N # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F;N # APL FUNCTIONAL SYMBOL SLASH BAR
-2340;N # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341;N # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342;N # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343;N # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344;N # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345;N # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346;N # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347;N # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348;N # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349;N # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A;N # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B;N # APL FUNCTIONAL SYMBOL DELTA STILE
-234C;N # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D;N # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E;N # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F;N # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350;N # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351;N # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352;N # APL FUNCTIONAL SYMBOL DEL STILE
-2353;N # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354;N # APL FUNCTIONAL SYMBOL QUAD DEL
-2355;N # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356;N # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357;N # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358;N # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359;N # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A;N # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B;N # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C;N # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D;N # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E;N # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F;N # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360;N # APL FUNCTIONAL SYMBOL QUAD COLON
-2361;N # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362;N # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363;N # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364;N # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365;N # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366;N # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367;N # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368;N # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369;N # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A;N # APL FUNCTIONAL SYMBOL COMMA BAR
-236B;N # APL FUNCTIONAL SYMBOL DEL TILDE
-236C;N # APL FUNCTIONAL SYMBOL ZILDE
-236D;N # APL FUNCTIONAL SYMBOL STILE TILDE
-236E;N # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F;N # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370;N # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371;N # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372;N # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373;N # APL FUNCTIONAL SYMBOL IOTA
-2374;N # APL FUNCTIONAL SYMBOL RHO
-2375;N # APL FUNCTIONAL SYMBOL OMEGA
-2376;N # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377;N # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378;N # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379;N # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A;N # APL FUNCTIONAL SYMBOL ALPHA
-237B;N # NOT CHECK MARK
-237C;N # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D;N # SHOULDERED OPEN BOX
-237E;N # BELL SYMBOL
-237F;N # VERTICAL LINE WITH MIDDLE DOT
-2380;N # INSERTION SYMBOL
-2381;N # CONTINUOUS UNDERLINE SYMBOL
-2382;N # DISCONTINUOUS UNDERLINE SYMBOL
-2383;N # EMPHASIS SYMBOL
-2384;N # COMPOSITION SYMBOL
-2385;N # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386;N # ENTER SYMBOL
-2387;N # ALTERNATIVE KEY SYMBOL
-2388;N # HELM SYMBOL
-2389;N # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A;N # CIRCLED TRIANGLE DOWN
-238B;N # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C;N # UNDO SYMBOL
-238D;N # MONOSTABLE SYMBOL
-238E;N # HYSTERESIS SYMBOL
-238F;N # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390;N # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391;N # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392;N # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393;N # DIRECT CURRENT SYMBOL FORM TWO
-2394;N # SOFTWARE-FUNCTION SYMBOL
-2395;N # APL FUNCTIONAL SYMBOL QUAD
-2396;N # DECIMAL SEPARATOR KEY SYMBOL
-2397;N # PREVIOUS PAGE
-2398;N # NEXT PAGE
-2399;N # PRINT SCREEN SYMBOL
-239A;N # CLEAR SCREEN SYMBOL
-239B;N # LEFT PARENTHESIS UPPER HOOK
-239C;N # LEFT PARENTHESIS EXTENSION
-239D;N # LEFT PARENTHESIS LOWER HOOK
-239E;N # RIGHT PARENTHESIS UPPER HOOK
-239F;N # RIGHT PARENTHESIS EXTENSION
-23A0;N # RIGHT PARENTHESIS LOWER HOOK
-23A1;N # LEFT SQUARE BRACKET UPPER CORNER
-23A2;N # LEFT SQUARE BRACKET EXTENSION
-23A3;N # LEFT SQUARE BRACKET LOWER CORNER
-23A4;N # RIGHT SQUARE BRACKET UPPER CORNER
-23A5;N # RIGHT SQUARE BRACKET EXTENSION
-23A6;N # RIGHT SQUARE BRACKET LOWER CORNER
-23A7;N # LEFT CURLY BRACKET UPPER HOOK
-23A8;N # LEFT CURLY BRACKET MIDDLE PIECE
-23A9;N # LEFT CURLY BRACKET LOWER HOOK
-23AA;N # CURLY BRACKET EXTENSION
-23AB;N # RIGHT CURLY BRACKET UPPER HOOK
-23AC;N # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD;N # RIGHT CURLY BRACKET LOWER HOOK
-23AE;N # INTEGRAL EXTENSION
-23AF;N # HORIZONTAL LINE EXTENSION
-23B0;N # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1;N # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2;N # SUMMATION TOP
-23B3;N # SUMMATION BOTTOM
-23B4;N # TOP SQUARE BRACKET
-23B5;N # BOTTOM SQUARE BRACKET
-23B6;N # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7;N # RADICAL SYMBOL BOTTOM
-23B8;N # LEFT VERTICAL BOX LINE
-23B9;N # RIGHT VERTICAL BOX LINE
-23BA;N # HORIZONTAL SCAN LINE-1
-23BB;N # HORIZONTAL SCAN LINE-3
-23BC;N # HORIZONTAL SCAN LINE-7
-23BD;N # HORIZONTAL SCAN LINE-9
-23BE;N # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF;N # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0;N # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3;N # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6;N # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB;N # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC;N # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD;N # SQUARE FOOT
-23CE;N # RETURN SYMBOL
-23CF;N # EJECT SYMBOL
-23D0;N # VERTICAL LINE EXTENSION
-23D1;N # METRICAL BREVE
-23D2;N # METRICAL LONG OVER SHORT
-23D3;N # METRICAL SHORT OVER LONG
-23D4;N # METRICAL LONG OVER TWO SHORTS
-23D5;N # METRICAL TWO SHORTS OVER LONG
-23D6;N # METRICAL TWO SHORTS JOINED
-23D7;N # METRICAL TRISEME
-23D8;N # METRICAL TETRASEME
-23D9;N # METRICAL PENTASEME
-23DA;N # EARTH GROUND
-23DB;N # FUSE
-23DC;N # TOP PARENTHESIS
-23DD;N # BOTTOM PARENTHESIS
-23DE;N # TOP CURLY BRACKET
-23DF;N # BOTTOM CURLY BRACKET
-23E0;N # TOP TORTOISE SHELL BRACKET
-23E1;N # BOTTOM TORTOISE SHELL BRACKET
-23E2;N # WHITE TRAPEZIUM
-23E3;N # BENZENE RING WITH CIRCLE
-23E4;N # STRAIGHTNESS
-23E5;N # FLATNESS
-23E6;N # AC CURRENT
-23E7;N # ELECTRICAL INTERSECTION
-23E8;N # DECIMAL EXPONENT SYMBOL
-2400;N # SYMBOL FOR NULL
-2401;N # SYMBOL FOR START OF HEADING
-2402;N # SYMBOL FOR START OF TEXT
-2403;N # SYMBOL FOR END OF TEXT
-2404;N # SYMBOL FOR END OF TRANSMISSION
-2405;N # SYMBOL FOR ENQUIRY
-2406;N # SYMBOL FOR ACKNOWLEDGE
-2407;N # SYMBOL FOR BELL
-2408;N # SYMBOL FOR BACKSPACE
-2409;N # SYMBOL FOR HORIZONTAL TABULATION
-240A;N # SYMBOL FOR LINE FEED
-240B;N # SYMBOL FOR VERTICAL TABULATION
-240C;N # SYMBOL FOR FORM FEED
-240D;N # SYMBOL FOR CARRIAGE RETURN
-240E;N # SYMBOL FOR SHIFT OUT
-240F;N # SYMBOL FOR SHIFT IN
-2410;N # SYMBOL FOR DATA LINK ESCAPE
-2411;N # SYMBOL FOR DEVICE CONTROL ONE
-2412;N # SYMBOL FOR DEVICE CONTROL TWO
-2413;N # SYMBOL FOR DEVICE CONTROL THREE
-2414;N # SYMBOL FOR DEVICE CONTROL FOUR
-2415;N # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416;N # SYMBOL FOR SYNCHRONOUS IDLE
-2417;N # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418;N # SYMBOL FOR CANCEL
-2419;N # SYMBOL FOR END OF MEDIUM
-241A;N # SYMBOL FOR SUBSTITUTE
-241B;N # SYMBOL FOR ESCAPE
-241C;N # SYMBOL FOR FILE SEPARATOR
-241D;N # SYMBOL FOR GROUP SEPARATOR
-241E;N # SYMBOL FOR RECORD SEPARATOR
-241F;N # SYMBOL FOR UNIT SEPARATOR
-2420;N # SYMBOL FOR SPACE
-2421;N # SYMBOL FOR DELETE
-2422;N # BLANK SYMBOL
-2423;N # OPEN BOX
-2424;N # SYMBOL FOR NEWLINE
-2425;N # SYMBOL FOR DELETE FORM TWO
-2426;N # SYMBOL FOR SUBSTITUTE FORM TWO
-2440;N # OCR HOOK
-2441;N # OCR CHAIR
-2442;N # OCR FORK
-2443;N # OCR INVERTED FORK
-2444;N # OCR BELT BUCKLE
-2445;N # OCR BOW TIE
-2446;N # OCR BRANCH BANK IDENTIFICATION
-2447;N # OCR AMOUNT OF CHECK
-2448;N # OCR DASH
-2449;N # OCR CUSTOMER ACCOUNT NUMBER
-244A;N # OCR DOUBLE BACKSLASH
-2460;A # CIRCLED DIGIT ONE
-2461;A # CIRCLED DIGIT TWO
-2462;A # CIRCLED DIGIT THREE
-2463;A # CIRCLED DIGIT FOUR
-2464;A # CIRCLED DIGIT FIVE
-2465;A # CIRCLED DIGIT SIX
-2466;A # CIRCLED DIGIT SEVEN
-2467;A # CIRCLED DIGIT EIGHT
-2468;A # CIRCLED DIGIT NINE
-2469;A # CIRCLED NUMBER TEN
-246A;A # CIRCLED NUMBER ELEVEN
-246B;A # CIRCLED NUMBER TWELVE
-246C;A # CIRCLED NUMBER THIRTEEN
-246D;A # CIRCLED NUMBER FOURTEEN
-246E;A # CIRCLED NUMBER FIFTEEN
-246F;A # CIRCLED NUMBER SIXTEEN
-2470;A # CIRCLED NUMBER SEVENTEEN
-2471;A # CIRCLED NUMBER EIGHTEEN
-2472;A # CIRCLED NUMBER NINETEEN
-2473;A # CIRCLED NUMBER TWENTY
-2474;A # PARENTHESIZED DIGIT ONE
-2475;A # PARENTHESIZED DIGIT TWO
-2476;A # PARENTHESIZED DIGIT THREE
-2477;A # PARENTHESIZED DIGIT FOUR
-2478;A # PARENTHESIZED DIGIT FIVE
-2479;A # PARENTHESIZED DIGIT SIX
-247A;A # PARENTHESIZED DIGIT SEVEN
-247B;A # PARENTHESIZED DIGIT EIGHT
-247C;A # PARENTHESIZED DIGIT NINE
-247D;A # PARENTHESIZED NUMBER TEN
-247E;A # PARENTHESIZED NUMBER ELEVEN
-247F;A # PARENTHESIZED NUMBER TWELVE
-2480;A # PARENTHESIZED NUMBER THIRTEEN
-2481;A # PARENTHESIZED NUMBER FOURTEEN
-2482;A # PARENTHESIZED NUMBER FIFTEEN
-2483;A # PARENTHESIZED NUMBER SIXTEEN
-2484;A # PARENTHESIZED NUMBER SEVENTEEN
-2485;A # PARENTHESIZED NUMBER EIGHTEEN
-2486;A # PARENTHESIZED NUMBER NINETEEN
-2487;A # PARENTHESIZED NUMBER TWENTY
-2488;A # DIGIT ONE FULL STOP
-2489;A # DIGIT TWO FULL STOP
-248A;A # DIGIT THREE FULL STOP
-248B;A # DIGIT FOUR FULL STOP
-248C;A # DIGIT FIVE FULL STOP
-248D;A # DIGIT SIX FULL STOP
-248E;A # DIGIT SEVEN FULL STOP
-248F;A # DIGIT EIGHT FULL STOP
-2490;A # DIGIT NINE FULL STOP
-2491;A # NUMBER TEN FULL STOP
-2492;A # NUMBER ELEVEN FULL STOP
-2493;A # NUMBER TWELVE FULL STOP
-2494;A # NUMBER THIRTEEN FULL STOP
-2495;A # NUMBER FOURTEEN FULL STOP
-2496;A # NUMBER FIFTEEN FULL STOP
-2497;A # NUMBER SIXTEEN FULL STOP
-2498;A # NUMBER SEVENTEEN FULL STOP
-2499;A # NUMBER EIGHTEEN FULL STOP
-249A;A # NUMBER NINETEEN FULL STOP
-249B;A # NUMBER TWENTY FULL STOP
-249C;A # PARENTHESIZED LATIN SMALL LETTER A
-249D;A # PARENTHESIZED LATIN SMALL LETTER B
-249E;A # PARENTHESIZED LATIN SMALL LETTER C
-249F;A # PARENTHESIZED LATIN SMALL LETTER D
-24A0;A # PARENTHESIZED LATIN SMALL LETTER E
-24A1;A # PARENTHESIZED LATIN SMALL LETTER F
-24A2;A # PARENTHESIZED LATIN SMALL LETTER G
-24A3;A # PARENTHESIZED LATIN SMALL LETTER H
-24A4;A # PARENTHESIZED LATIN SMALL LETTER I
-24A5;A # PARENTHESIZED LATIN SMALL LETTER J
-24A6;A # PARENTHESIZED LATIN SMALL LETTER K
-24A7;A # PARENTHESIZED LATIN SMALL LETTER L
-24A8;A # PARENTHESIZED LATIN SMALL LETTER M
-24A9;A # PARENTHESIZED LATIN SMALL LETTER N
-24AA;A # PARENTHESIZED LATIN SMALL LETTER O
-24AB;A # PARENTHESIZED LATIN SMALL LETTER P
-24AC;A # PARENTHESIZED LATIN SMALL LETTER Q
-24AD;A # PARENTHESIZED LATIN SMALL LETTER R
-24AE;A # PARENTHESIZED LATIN SMALL LETTER S
-24AF;A # PARENTHESIZED LATIN SMALL LETTER T
-24B0;A # PARENTHESIZED LATIN SMALL LETTER U
-24B1;A # PARENTHESIZED LATIN SMALL LETTER V
-24B2;A # PARENTHESIZED LATIN SMALL LETTER W
-24B3;A # PARENTHESIZED LATIN SMALL LETTER X
-24B4;A # PARENTHESIZED LATIN SMALL LETTER Y
-24B5;A # PARENTHESIZED LATIN SMALL LETTER Z
-24B6;A # CIRCLED LATIN CAPITAL LETTER A
-24B7;A # CIRCLED LATIN CAPITAL LETTER B
-24B8;A # CIRCLED LATIN CAPITAL LETTER C
-24B9;A # CIRCLED LATIN CAPITAL LETTER D
-24BA;A # CIRCLED LATIN CAPITAL LETTER E
-24BB;A # CIRCLED LATIN CAPITAL LETTER F
-24BC;A # CIRCLED LATIN CAPITAL LETTER G
-24BD;A # CIRCLED LATIN CAPITAL LETTER H
-24BE;A # CIRCLED LATIN CAPITAL LETTER I
-24BF;A # CIRCLED LATIN CAPITAL LETTER J
-24C0;A # CIRCLED LATIN CAPITAL LETTER K
-24C1;A # CIRCLED LATIN CAPITAL LETTER L
-24C2;A # CIRCLED LATIN CAPITAL LETTER M
-24C3;A # CIRCLED LATIN CAPITAL LETTER N
-24C4;A # CIRCLED LATIN CAPITAL LETTER O
-24C5;A # CIRCLED LATIN CAPITAL LETTER P
-24C6;A # CIRCLED LATIN CAPITAL LETTER Q
-24C7;A # CIRCLED LATIN CAPITAL LETTER R
-24C8;A # CIRCLED LATIN CAPITAL LETTER S
-24C9;A # CIRCLED LATIN CAPITAL LETTER T
-24CA;A # CIRCLED LATIN CAPITAL LETTER U
-24CB;A # CIRCLED LATIN CAPITAL LETTER V
-24CC;A # CIRCLED LATIN CAPITAL LETTER W
-24CD;A # CIRCLED LATIN CAPITAL LETTER X
-24CE;A # CIRCLED LATIN CAPITAL LETTER Y
-24CF;A # CIRCLED LATIN CAPITAL LETTER Z
-24D0;A # CIRCLED LATIN SMALL LETTER A
-24D1;A # CIRCLED LATIN SMALL LETTER B
-24D2;A # CIRCLED LATIN SMALL LETTER C
-24D3;A # CIRCLED LATIN SMALL LETTER D
-24D4;A # CIRCLED LATIN SMALL LETTER E
-24D5;A # CIRCLED LATIN SMALL LETTER F
-24D6;A # CIRCLED LATIN SMALL LETTER G
-24D7;A # CIRCLED LATIN SMALL LETTER H
-24D8;A # CIRCLED LATIN SMALL LETTER I
-24D9;A # CIRCLED LATIN SMALL LETTER J
-24DA;A # CIRCLED LATIN SMALL LETTER K
-24DB;A # CIRCLED LATIN SMALL LETTER L
-24DC;A # CIRCLED LATIN SMALL LETTER M
-24DD;A # CIRCLED LATIN SMALL LETTER N
-24DE;A # CIRCLED LATIN SMALL LETTER O
-24DF;A # CIRCLED LATIN SMALL LETTER P
-24E0;A # CIRCLED LATIN SMALL LETTER Q
-24E1;A # CIRCLED LATIN SMALL LETTER R
-24E2;A # CIRCLED LATIN SMALL LETTER S
-24E3;A # CIRCLED LATIN SMALL LETTER T
-24E4;A # CIRCLED LATIN SMALL LETTER U
-24E5;A # CIRCLED LATIN SMALL LETTER V
-24E6;A # CIRCLED LATIN SMALL LETTER W
-24E7;A # CIRCLED LATIN SMALL LETTER X
-24E8;A # CIRCLED LATIN SMALL LETTER Y
-24E9;A # CIRCLED LATIN SMALL LETTER Z
-24EA;N # CIRCLED DIGIT ZERO
-24EB;A # NEGATIVE CIRCLED NUMBER ELEVEN
-24EC;A # NEGATIVE CIRCLED NUMBER TWELVE
-24ED;A # NEGATIVE CIRCLED NUMBER THIRTEEN
-24EE;A # NEGATIVE CIRCLED NUMBER FOURTEEN
-24EF;A # NEGATIVE CIRCLED NUMBER FIFTEEN
-24F0;A # NEGATIVE CIRCLED NUMBER SIXTEEN
-24F1;A # NEGATIVE CIRCLED NUMBER SEVENTEEN
-24F2;A # NEGATIVE CIRCLED NUMBER EIGHTEEN
-24F3;A # NEGATIVE CIRCLED NUMBER NINETEEN
-24F4;A # NEGATIVE CIRCLED NUMBER TWENTY
-24F5;A # DOUBLE CIRCLED DIGIT ONE
-24F6;A # DOUBLE CIRCLED DIGIT TWO
-24F7;A # DOUBLE CIRCLED DIGIT THREE
-24F8;A # DOUBLE CIRCLED DIGIT FOUR
-24F9;A # DOUBLE CIRCLED DIGIT FIVE
-24FA;A # DOUBLE CIRCLED DIGIT SIX
-24FB;A # DOUBLE CIRCLED DIGIT SEVEN
-24FC;A # DOUBLE CIRCLED DIGIT EIGHT
-24FD;A # DOUBLE CIRCLED DIGIT NINE
-24FE;A # DOUBLE CIRCLED NUMBER TEN
-24FF;A # NEGATIVE CIRCLED DIGIT ZERO
-2500;A # BOX DRAWINGS LIGHT HORIZONTAL
-2501;A # BOX DRAWINGS HEAVY HORIZONTAL
-2502;A # BOX DRAWINGS LIGHT VERTICAL
-2503;A # BOX DRAWINGS HEAVY VERTICAL
-2504;A # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505;A # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506;A # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507;A # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508;A # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509;A # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A;A # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B;A # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C;A # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D;A # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E;A # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F;A # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510;A # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511;A # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512;A # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513;A # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514;A # BOX DRAWINGS LIGHT UP AND RIGHT
-2515;A # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516;A # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517;A # BOX DRAWINGS HEAVY UP AND RIGHT
-2518;A # BOX DRAWINGS LIGHT UP AND LEFT
-2519;A # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A;A # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B;A # BOX DRAWINGS HEAVY UP AND LEFT
-251C;A # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D;A # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E;A # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F;A # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520;A # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521;A # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522;A # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523;A # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524;A # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525;A # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526;A # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527;A # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528;A # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529;A # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A;A # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B;A # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C;A # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D;A # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E;A # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F;A # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530;A # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531;A # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532;A # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533;A # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534;A # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535;A # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536;A # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537;A # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538;A # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539;A # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A;A # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B;A # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C;A # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D;A # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E;A # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F;A # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540;A # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541;A # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542;A # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543;A # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544;A # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545;A # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546;A # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547;A # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548;A # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549;A # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A;A # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B;A # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C;N # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D;N # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E;N # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F;N # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550;A # BOX DRAWINGS DOUBLE HORIZONTAL
-2551;A # BOX DRAWINGS DOUBLE VERTICAL
-2552;A # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553;A # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554;A # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555;A # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556;A # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557;A # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558;A # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559;A # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A;A # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B;A # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C;A # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D;A # BOX DRAWINGS DOUBLE UP AND LEFT
-255E;A # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F;A # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560;A # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561;A # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562;A # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563;A # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564;A # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565;A # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566;A # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567;A # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568;A # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569;A # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A;A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B;A # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C;A # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D;A # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E;A # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F;A # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570;A # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571;A # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572;A # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573;A # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574;N # BOX DRAWINGS LIGHT LEFT
-2575;N # BOX DRAWINGS LIGHT UP
-2576;N # BOX DRAWINGS LIGHT RIGHT
-2577;N # BOX DRAWINGS LIGHT DOWN
-2578;N # BOX DRAWINGS HEAVY LEFT
-2579;N # BOX DRAWINGS HEAVY UP
-257A;N # BOX DRAWINGS HEAVY RIGHT
-257B;N # BOX DRAWINGS HEAVY DOWN
-257C;N # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D;N # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E;N # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F;N # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580;A # UPPER HALF BLOCK
-2581;A # LOWER ONE EIGHTH BLOCK
-2582;A # LOWER ONE QUARTER BLOCK
-2583;A # LOWER THREE EIGHTHS BLOCK
-2584;A # LOWER HALF BLOCK
-2585;A # LOWER FIVE EIGHTHS BLOCK
-2586;A # LOWER THREE QUARTERS BLOCK
-2587;A # LOWER SEVEN EIGHTHS BLOCK
-2588;A # FULL BLOCK
-2589;A # LEFT SEVEN EIGHTHS BLOCK
-258A;A # LEFT THREE QUARTERS BLOCK
-258B;A # LEFT FIVE EIGHTHS BLOCK
-258C;A # LEFT HALF BLOCK
-258D;A # LEFT THREE EIGHTHS BLOCK
-258E;A # LEFT ONE QUARTER BLOCK
-258F;A # LEFT ONE EIGHTH BLOCK
-2590;N # RIGHT HALF BLOCK
-2591;N # LIGHT SHADE
-2592;A # MEDIUM SHADE
-2593;A # DARK SHADE
-2594;A # UPPER ONE EIGHTH BLOCK
-2595;A # RIGHT ONE EIGHTH BLOCK
-2596;N # QUADRANT LOWER LEFT
-2597;N # QUADRANT LOWER RIGHT
-2598;N # QUADRANT UPPER LEFT
-2599;N # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A;N # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B;N # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C;N # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D;N # QUADRANT UPPER RIGHT
-259E;N # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F;N # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0;A # BLACK SQUARE
-25A1;A # WHITE SQUARE
-25A2;N # WHITE SQUARE WITH ROUNDED CORNERS
-25A3;A # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4;A # SQUARE WITH HORIZONTAL FILL
-25A5;A # SQUARE WITH VERTICAL FILL
-25A6;A # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7;A # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8;A # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9;A # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA;N # BLACK SMALL SQUARE
-25AB;N # WHITE SMALL SQUARE
-25AC;N # BLACK RECTANGLE
-25AD;N # WHITE RECTANGLE
-25AE;N # BLACK VERTICAL RECTANGLE
-25AF;N # WHITE VERTICAL RECTANGLE
-25B0;N # BLACK PARALLELOGRAM
-25B1;N # WHITE PARALLELOGRAM
-25B2;A # BLACK UP-POINTING TRIANGLE
-25B3;A # WHITE UP-POINTING TRIANGLE
-25B4;N # BLACK UP-POINTING SMALL TRIANGLE
-25B5;N # WHITE UP-POINTING SMALL TRIANGLE
-25B6;A # BLACK RIGHT-POINTING TRIANGLE
-25B7;A # WHITE RIGHT-POINTING TRIANGLE
-25B8;N # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9;N # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA;N # BLACK RIGHT-POINTING POINTER
-25BB;N # WHITE RIGHT-POINTING POINTER
-25BC;A # BLACK DOWN-POINTING TRIANGLE
-25BD;A # WHITE DOWN-POINTING TRIANGLE
-25BE;N # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF;N # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0;A # BLACK LEFT-POINTING TRIANGLE
-25C1;A # WHITE LEFT-POINTING TRIANGLE
-25C2;N # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3;N # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4;N # BLACK LEFT-POINTING POINTER
-25C5;N # WHITE LEFT-POINTING POINTER
-25C6;A # BLACK DIAMOND
-25C7;A # WHITE DIAMOND
-25C8;A # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9;N # FISHEYE
-25CA;N # LOZENGE
-25CB;A # WHITE CIRCLE
-25CC;N # DOTTED CIRCLE
-25CD;N # CIRCLE WITH VERTICAL FILL
-25CE;A # BULLSEYE
-25CF;A # BLACK CIRCLE
-25D0;A # CIRCLE WITH LEFT HALF BLACK
-25D1;A # CIRCLE WITH RIGHT HALF BLACK
-25D2;N # CIRCLE WITH LOWER HALF BLACK
-25D3;N # CIRCLE WITH UPPER HALF BLACK
-25D4;N # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5;N # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6;N # LEFT HALF BLACK CIRCLE
-25D7;N # RIGHT HALF BLACK CIRCLE
-25D8;N # INVERSE BULLET
-25D9;N # INVERSE WHITE CIRCLE
-25DA;N # UPPER HALF INVERSE WHITE CIRCLE
-25DB;N # LOWER HALF INVERSE WHITE CIRCLE
-25DC;N # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD;N # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE;N # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF;N # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0;N # UPPER HALF CIRCLE
-25E1;N # LOWER HALF CIRCLE
-25E2;A # BLACK LOWER RIGHT TRIANGLE
-25E3;A # BLACK LOWER LEFT TRIANGLE
-25E4;A # BLACK UPPER LEFT TRIANGLE
-25E5;A # BLACK UPPER RIGHT TRIANGLE
-25E6;N # WHITE BULLET
-25E7;N # SQUARE WITH LEFT HALF BLACK
-25E8;N # SQUARE WITH RIGHT HALF BLACK
-25E9;N # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA;N # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB;N # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC;N # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED;N # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE;N # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF;A # LARGE CIRCLE
-25F0;N # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1;N # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2;N # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3;N # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4;N # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5;N # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6;N # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7;N # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8;N # UPPER LEFT TRIANGLE
-25F9;N # UPPER RIGHT TRIANGLE
-25FA;N # LOWER LEFT TRIANGLE
-25FB;N # WHITE MEDIUM SQUARE
-25FC;N # BLACK MEDIUM SQUARE
-25FD;N # WHITE MEDIUM SMALL SQUARE
-25FE;N # BLACK MEDIUM SMALL SQUARE
-25FF;N # LOWER RIGHT TRIANGLE
-2600;N # BLACK SUN WITH RAYS
-2601;N # CLOUD
-2602;N # UMBRELLA
-2603;N # SNOWMAN
-2604;N # COMET
-2605;A # BLACK STAR
-2606;A # WHITE STAR
-2607;N # LIGHTNING
-2608;N # THUNDERSTORM
-2609;A # SUN
-260A;N # ASCENDING NODE
-260B;N # DESCENDING NODE
-260C;N # CONJUNCTION
-260D;N # OPPOSITION
-260E;A # BLACK TELEPHONE
-260F;A # WHITE TELEPHONE
-2610;N # BALLOT BOX
-2611;N # BALLOT BOX WITH CHECK
-2612;N # BALLOT BOX WITH X
-2613;N # SALTIRE
-2614;A # UMBRELLA WITH RAIN DROPS
-2615;A # HOT BEVERAGE
-2616;N # WHITE SHOGI PIECE
-2617;N # BLACK SHOGI PIECE
-2618;N # SHAMROCK
-2619;N # REVERSED ROTATED FLORAL HEART BULLET
-261A;N # BLACK LEFT POINTING INDEX
-261B;N # BLACK RIGHT POINTING INDEX
-261C;A # WHITE LEFT POINTING INDEX
-261D;N # WHITE UP POINTING INDEX
-261E;A # WHITE RIGHT POINTING INDEX
-261F;N # WHITE DOWN POINTING INDEX
-2620;N # SKULL AND CROSSBONES
-2621;N # CAUTION SIGN
-2622;N # RADIOACTIVE SIGN
-2623;N # BIOHAZARD SIGN
-2624;N # CADUCEUS
-2625;N # ANKH
-2626;N # ORTHODOX CROSS
-2627;N # CHI RHO
-2628;N # CROSS OF LORRAINE
-2629;N # CROSS OF JERUSALEM
-262A;N # STAR AND CRESCENT
-262B;N # FARSI SYMBOL
-262C;N # ADI SHAKTI
-262D;N # HAMMER AND SICKLE
-262E;N # PEACE SYMBOL
-262F;N # YIN YANG
-2630;N # TRIGRAM FOR HEAVEN
-2631;N # TRIGRAM FOR LAKE
-2632;N # TRIGRAM FOR FIRE
-2633;N # TRIGRAM FOR THUNDER
-2634;N # TRIGRAM FOR WIND
-2635;N # TRIGRAM FOR WATER
-2636;N # TRIGRAM FOR MOUNTAIN
-2637;N # TRIGRAM FOR EARTH
-2638;N # WHEEL OF DHARMA
-2639;N # WHITE FROWNING FACE
-263A;N # WHITE SMILING FACE
-263B;N # BLACK SMILING FACE
-263C;N # WHITE SUN WITH RAYS
-263D;N # FIRST QUARTER MOON
-263E;N # LAST QUARTER MOON
-263F;N # MERCURY
-2640;A # FEMALE SIGN
-2641;N # EARTH
-2642;A # MALE SIGN
-2643;N # JUPITER
-2644;N # SATURN
-2645;N # URANUS
-2646;N # NEPTUNE
-2647;N # PLUTO
-2648;N # ARIES
-2649;N # TAURUS
-264A;N # GEMINI
-264B;N # CANCER
-264C;N # LEO
-264D;N # VIRGO
-264E;N # LIBRA
-264F;N # SCORPIUS
-2650;N # SAGITTARIUS
-2651;N # CAPRICORN
-2652;N # AQUARIUS
-2653;N # PISCES
-2654;N # WHITE CHESS KING
-2655;N # WHITE CHESS QUEEN
-2656;N # WHITE CHESS ROOK
-2657;N # WHITE CHESS BISHOP
-2658;N # WHITE CHESS KNIGHT
-2659;N # WHITE CHESS PAWN
-265A;N # BLACK CHESS KING
-265B;N # BLACK CHESS QUEEN
-265C;N # BLACK CHESS ROOK
-265D;N # BLACK CHESS BISHOP
-265E;N # BLACK CHESS KNIGHT
-265F;N # BLACK CHESS PAWN
-2660;A # BLACK SPADE SUIT
-2661;A # WHITE HEART SUIT
-2662;N # WHITE DIAMOND SUIT
-2663;A # BLACK CLUB SUIT
-2664;A # WHITE SPADE SUIT
-2665;A # BLACK HEART SUIT
-2666;N # BLACK DIAMOND SUIT
-2667;A # WHITE CLUB SUIT
-2668;A # HOT SPRINGS
-2669;A # QUARTER NOTE
-266A;A # EIGHTH NOTE
-266B;N # BEAMED EIGHTH NOTES
-266C;A # BEAMED SIXTEENTH NOTES
-266D;A # MUSIC FLAT SIGN
-266E;N # MUSIC NATURAL SIGN
-266F;A # MUSIC SHARP SIGN
-2670;N # WEST SYRIAC CROSS
-2671;N # EAST SYRIAC CROSS
-2672;N # UNIVERSAL RECYCLING SYMBOL
-2673;N # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674;N # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675;N # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676;N # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677;N # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678;N # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679;N # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A;N # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B;N # BLACK UNIVERSAL RECYCLING SYMBOL
-267C;N # RECYCLED PAPER SYMBOL
-267D;N # PARTIALLY-RECYCLED PAPER SYMBOL
-267E;N # PERMANENT PAPER SIGN
-267F;N # WHEELCHAIR SYMBOL
-2680;N # DIE FACE-1
-2681;N # DIE FACE-2
-2682;N # DIE FACE-3
-2683;N # DIE FACE-4
-2684;N # DIE FACE-5
-2685;N # DIE FACE-6
-2686;N # WHITE CIRCLE WITH DOT RIGHT
-2687;N # WHITE CIRCLE WITH TWO DOTS
-2688;N # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689;N # BLACK CIRCLE WITH TWO WHITE DOTS
-268A;N # MONOGRAM FOR YANG
-268B;N # MONOGRAM FOR YIN
-268C;N # DIGRAM FOR GREATER YANG
-268D;N # DIGRAM FOR LESSER YIN
-268E;N # DIGRAM FOR LESSER YANG
-268F;N # DIGRAM FOR GREATER YIN
-2690;N # WHITE FLAG
-2691;N # BLACK FLAG
-2692;N # HAMMER AND PICK
-2693;N # ANCHOR
-2694;N # CROSSED SWORDS
-2695;N # STAFF OF AESCULAPIUS
-2696;N # SCALES
-2697;N # ALEMBIC
-2698;N # FLOWER
-2699;N # GEAR
-269A;N # STAFF OF HERMES
-269B;N # ATOM SYMBOL
-269C;N # FLEUR-DE-LIS
-269D;N # OUTLINED WHITE STAR
-269E;A # THREE LINES CONVERGING RIGHT
-269F;A # THREE LINES CONVERGING LEFT
-26A0;N # WARNING SIGN
-26A1;N # HIGH VOLTAGE SIGN
-26A2;N # DOUBLED FEMALE SIGN
-26A3;N # DOUBLED MALE SIGN
-26A4;N # INTERLOCKED FEMALE AND MALE SIGN
-26A5;N # MALE AND FEMALE SIGN
-26A6;N # MALE WITH STROKE SIGN
-26A7;N # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8;N # VERTICAL MALE WITH STROKE SIGN
-26A9;N # HORIZONTAL MALE WITH STROKE SIGN
-26AA;N # MEDIUM WHITE CIRCLE
-26AB;N # MEDIUM BLACK CIRCLE
-26AC;N # MEDIUM SMALL WHITE CIRCLE
-26AD;N # MARRIAGE SYMBOL
-26AE;N # DIVORCE SYMBOL
-26AF;N # UNMARRIED PARTNERSHIP SYMBOL
-26B0;N # COFFIN
-26B1;N # FUNERAL URN
-26B2;N # NEUTER
-26B3;N # CERES
-26B4;N # PALLAS
-26B5;N # JUNO
-26B6;N # VESTA
-26B7;N # CHIRON
-26B8;N # BLACK MOON LILITH
-26B9;N # SEXTILE
-26BA;N # SEMISEXTILE
-26BB;N # QUINCUNX
-26BC;N # SESQUIQUADRATE
-26BD;N # SOCCER BALL
-26BE;A # BASEBALL
-26BF;A # SQUARED KEY
-26C0;N # WHITE DRAUGHTS MAN
-26C1;N # WHITE DRAUGHTS KING
-26C2;N # BLACK DRAUGHTS MAN
-26C3;N # BLACK DRAUGHTS KING
-26C4;A # SNOWMAN WITHOUT SNOW
-26C5;A # SUN BEHIND CLOUD
-26C6;A # RAIN
-26C7;A # BLACK SNOWMAN
-26C8;A # THUNDER CLOUD AND RAIN
-26C9;A # TURNED WHITE SHOGI PIECE
-26CA;A # TURNED BLACK SHOGI PIECE
-26CB;A # WHITE DIAMOND IN SQUARE
-26CC;A # CROSSING LANES
-26CD;A # DISABLED CAR
-26CF;A # PICK
-26D0;A # CAR SLIDING
-26D1;A # HELMET WITH WHITE CROSS
-26D2;A # CIRCLED CROSSING LANES
-26D3;A # CHAINS
-26D4;A # NO ENTRY
-26D5;A # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6;A # BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7;A # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8;A # BLACK LEFT LANE MERGE
-26D9;A # WHITE LEFT LANE MERGE
-26DA;A # DRIVE SLOW SIGN
-26DB;A # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC;A # LEFT CLOSED ENTRY
-26DD;A # SQUARED SALTIRE
-26DE;A # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF;A # BLACK TRUCK
-26E0;A # RESTRICTED LEFT ENTRY-1
-26E1;A # RESTRICTED LEFT ENTRY-2
-26E3;A # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8;A # BLACK CROSS ON SHIELD
-26E9;A # SHINTO SHRINE
-26EA;A # CHURCH
-26EB;A # CASTLE
-26EC;A # HISTORIC SITE
-26ED;A # GEAR WITHOUT HUB
-26EE;A # GEAR WITH HANDLES
-26EF;A # MAP SYMBOL FOR LIGHTHOUSE
-26F0;A # MOUNTAIN
-26F1;A # UMBRELLA ON GROUND
-26F2;A # FOUNTAIN
-26F3;A # FLAG IN HOLE
-26F4;A # FERRY
-26F5;A # SAILBOAT
-26F6;A # SQUARE FOUR CORNERS
-26F7;A # SKIER
-26F8;A # ICE SKATE
-26F9;A # PERSON WITH BALL
-26FA;A # TENT
-26FB;A # JAPANESE BANK SYMBOL
-26FC;A # HEADSTONE GRAVEYARD SYMBOL
-26FD;A # FUEL PUMP
-26FE;A # CUP ON BLACK SQUARE
-26FF;A # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701;N # UPPER BLADE SCISSORS
-2702;N # BLACK SCISSORS
-2703;N # LOWER BLADE SCISSORS
-2704;N # WHITE SCISSORS
-2706;N # TELEPHONE LOCATION SIGN
-2707;N # TAPE DRIVE
-2708;N # AIRPLANE
-2709;N # ENVELOPE
-270C;N # VICTORY HAND
-270D;N # WRITING HAND
-270E;N # LOWER RIGHT PENCIL
-270F;N # PENCIL
-2710;N # UPPER RIGHT PENCIL
-2711;N # WHITE NIB
-2712;N # BLACK NIB
-2713;N # CHECK MARK
-2714;N # HEAVY CHECK MARK
-2715;N # MULTIPLICATION X
-2716;N # HEAVY MULTIPLICATION X
-2717;N # BALLOT X
-2718;N # HEAVY BALLOT X
-2719;N # OUTLINED GREEK CROSS
-271A;N # HEAVY GREEK CROSS
-271B;N # OPEN CENTRE CROSS
-271C;N # HEAVY OPEN CENTRE CROSS
-271D;N # LATIN CROSS
-271E;N # SHADOWED WHITE LATIN CROSS
-271F;N # OUTLINED LATIN CROSS
-2720;N # MALTESE CROSS
-2721;N # STAR OF DAVID
-2722;N # FOUR TEARDROP-SPOKED ASTERISK
-2723;N # FOUR BALLOON-SPOKED ASTERISK
-2724;N # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725;N # FOUR CLUB-SPOKED ASTERISK
-2726;N # BLACK FOUR POINTED STAR
-2727;N # WHITE FOUR POINTED STAR
-2729;N # STRESS OUTLINED WHITE STAR
-272A;N # CIRCLED WHITE STAR
-272B;N # OPEN CENTRE BLACK STAR
-272C;N # BLACK CENTRE WHITE STAR
-272D;N # OUTLINED BLACK STAR
-272E;N # HEAVY OUTLINED BLACK STAR
-272F;N # PINWHEEL STAR
-2730;N # SHADOWED WHITE STAR
-2731;N # HEAVY ASTERISK
-2732;N # OPEN CENTRE ASTERISK
-2733;N # EIGHT SPOKED ASTERISK
-2734;N # EIGHT POINTED BLACK STAR
-2735;N # EIGHT POINTED PINWHEEL STAR
-2736;N # SIX POINTED BLACK STAR
-2737;N # EIGHT POINTED RECTILINEAR BLACK STAR
-2738;N # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739;N # TWELVE POINTED BLACK STAR
-273A;N # SIXTEEN POINTED ASTERISK
-273B;N # TEARDROP-SPOKED ASTERISK
-273C;N # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D;A # HEAVY TEARDROP-SPOKED ASTERISK
-273E;N # SIX PETALLED BLACK AND WHITE FLORETTE
-273F;N # BLACK FLORETTE
-2740;N # WHITE FLORETTE
-2741;N # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742;N # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743;N # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744;N # SNOWFLAKE
-2745;N # TIGHT TRIFOLIATE SNOWFLAKE
-2746;N # HEAVY CHEVRON SNOWFLAKE
-2747;N # SPARKLE
-2748;N # HEAVY SPARKLE
-2749;N # BALLOON-SPOKED ASTERISK
-274A;N # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B;N # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D;N # SHADOWED WHITE CIRCLE
-274F;N # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750;N # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751;N # LOWER RIGHT SHADOWED WHITE SQUARE
-2752;N # UPPER RIGHT SHADOWED WHITE SQUARE
-2756;N # BLACK DIAMOND MINUS WHITE X
-2757;A # HEAVY EXCLAMATION MARK SYMBOL
-2758;N # LIGHT VERTICAL BAR
-2759;N # MEDIUM VERTICAL BAR
-275A;N # HEAVY VERTICAL BAR
-275B;N # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C;N # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D;N # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E;N # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761;N # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762;N # HEAVY EXCLAMATION MARK ORNAMENT
-2763;N # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764;N # HEAVY BLACK HEART
-2765;N # ROTATED HEAVY BLACK HEART BULLET
-2766;N # FLORAL HEART
-2767;N # ROTATED FLORAL HEART BULLET
-2768;N # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769;N # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A;N # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B;N # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C;N # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D;N # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E;N # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F;N # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770;N # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771;N # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772;N # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773;N # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774;N # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775;N # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776;A # DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2777;A # DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2778;A # DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2779;A # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-277A;A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-277B;A # DINGBAT NEGATIVE CIRCLED DIGIT SIX
-277C;A # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-277D;A # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-277E;A # DINGBAT NEGATIVE CIRCLED DIGIT NINE
-277F;A # DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2780;N # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-2781;N # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-2782;N # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-2783;N # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-2784;N # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-2785;N # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-2786;N # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2787;N # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2788;N # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2789;N # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-278A;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-278B;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-278C;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-278D;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-278E;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-278F;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-2790;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-2791;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-2792;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-2793;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794;N # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798;N # HEAVY SOUTH EAST ARROW
-2799;N # HEAVY RIGHTWARDS ARROW
-279A;N # HEAVY NORTH EAST ARROW
-279B;N # DRAFTING POINT RIGHTWARDS ARROW
-279C;N # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D;N # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E;N # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F;N # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0;N # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1;N # BLACK RIGHTWARDS ARROW
-27A2;N # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3;N # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4;N # BLACK RIGHTWARDS ARROWHEAD
-27A5;N # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6;N # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7;N # SQUAT BLACK RIGHTWARDS ARROW
-27A8;N # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9;N # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA;N # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB;N # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC;N # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD;N # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE;N # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF;N # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1;N # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2;N # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3;N # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4;N # BLACK-FEATHERED SOUTH EAST ARROW
-27B5;N # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6;N # BLACK-FEATHERED NORTH EAST ARROW
-27B7;N # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8;N # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9;N # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA;N # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB;N # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC;N # WEDGE-TAILED RIGHTWARDS ARROW
-27BD;N # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE;N # OPEN-OUTLINED RIGHTWARDS ARROW
-27C0;N # THREE DIMENSIONAL ANGLE
-27C1;N # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2;N # PERPENDICULAR
-27C3;N # OPEN SUBSET
-27C4;N # OPEN SUPERSET
-27C5;N # LEFT S-SHAPED BAG DELIMITER
-27C6;N # RIGHT S-SHAPED BAG DELIMITER
-27C7;N # OR WITH DOT INSIDE
-27C8;N # REVERSE SOLIDUS PRECEDING SUBSET
-27C9;N # SUPERSET PRECEDING SOLIDUS
-27CA;N # VERTICAL BAR WITH HORIZONTAL STROKE
-27CC;N # LONG DIVISION
-27D0;N # WHITE DIAMOND WITH CENTRED DOT
-27D1;N # AND WITH DOT
-27D2;N # ELEMENT OF OPENING UPWARDS
-27D3;N # LOWER RIGHT CORNER WITH DOT
-27D4;N # UPPER LEFT CORNER WITH DOT
-27D5;N # LEFT OUTER JOIN
-27D6;N # RIGHT OUTER JOIN
-27D7;N # FULL OUTER JOIN
-27D8;N # LARGE UP TACK
-27D9;N # LARGE DOWN TACK
-27DA;N # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB;N # LEFT AND RIGHT TACK
-27DC;N # LEFT MULTIMAP
-27DD;N # LONG RIGHT TACK
-27DE;N # LONG LEFT TACK
-27DF;N # UP TACK WITH CIRCLE ABOVE
-27E0;N # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1;N # WHITE CONCAVE-SIDED DIAMOND
-27E2;N # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3;N # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4;N # WHITE SQUARE WITH LEFTWARDS TICK
-27E5;N # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6;Na # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7;Na # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8;Na # MATHEMATICAL LEFT ANGLE BRACKET
-27E9;Na # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA;Na # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB;Na # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC;Na # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED;Na # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE;N # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF;N # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0;N # UPWARDS QUADRUPLE ARROW
-27F1;N # DOWNWARDS QUADRUPLE ARROW
-27F2;N # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3;N # CLOCKWISE GAPPED CIRCLE ARROW
-27F4;N # RIGHT ARROW WITH CIRCLED PLUS
-27F5;N # LONG LEFTWARDS ARROW
-27F6;N # LONG RIGHTWARDS ARROW
-27F7;N # LONG LEFT RIGHT ARROW
-27F8;N # LONG LEFTWARDS DOUBLE ARROW
-27F9;N # LONG RIGHTWARDS DOUBLE ARROW
-27FA;N # LONG LEFT RIGHT DOUBLE ARROW
-27FB;N # LONG LEFTWARDS ARROW FROM BAR
-27FC;N # LONG RIGHTWARDS ARROW FROM BAR
-27FD;N # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE;N # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF;N # LONG RIGHTWARDS SQUIGGLE ARROW
-2800;N # BRAILLE PATTERN BLANK
-2801;N # BRAILLE PATTERN DOTS-1
-2802;N # BRAILLE PATTERN DOTS-2
-2803;N # BRAILLE PATTERN DOTS-12
-2804;N # BRAILLE PATTERN DOTS-3
-2805;N # BRAILLE PATTERN DOTS-13
-2806;N # BRAILLE PATTERN DOTS-23
-2807;N # BRAILLE PATTERN DOTS-123
-2808;N # BRAILLE PATTERN DOTS-4
-2809;N # BRAILLE PATTERN DOTS-14
-280A;N # BRAILLE PATTERN DOTS-24
-280B;N # BRAILLE PATTERN DOTS-124
-280C;N # BRAILLE PATTERN DOTS-34
-280D;N # BRAILLE PATTERN DOTS-134
-280E;N # BRAILLE PATTERN DOTS-234
-280F;N # BRAILLE PATTERN DOTS-1234
-2810;N # BRAILLE PATTERN DOTS-5
-2811;N # BRAILLE PATTERN DOTS-15
-2812;N # BRAILLE PATTERN DOTS-25
-2813;N # BRAILLE PATTERN DOTS-125
-2814;N # BRAILLE PATTERN DOTS-35
-2815;N # BRAILLE PATTERN DOTS-135
-2816;N # BRAILLE PATTERN DOTS-235
-2817;N # BRAILLE PATTERN DOTS-1235
-2818;N # BRAILLE PATTERN DOTS-45
-2819;N # BRAILLE PATTERN DOTS-145
-281A;N # BRAILLE PATTERN DOTS-245
-281B;N # BRAILLE PATTERN DOTS-1245
-281C;N # BRAILLE PATTERN DOTS-345
-281D;N # BRAILLE PATTERN DOTS-1345
-281E;N # BRAILLE PATTERN DOTS-2345
-281F;N # BRAILLE PATTERN DOTS-12345
-2820;N # BRAILLE PATTERN DOTS-6
-2821;N # BRAILLE PATTERN DOTS-16
-2822;N # BRAILLE PATTERN DOTS-26
-2823;N # BRAILLE PATTERN DOTS-126
-2824;N # BRAILLE PATTERN DOTS-36
-2825;N # BRAILLE PATTERN DOTS-136
-2826;N # BRAILLE PATTERN DOTS-236
-2827;N # BRAILLE PATTERN DOTS-1236
-2828;N # BRAILLE PATTERN DOTS-46
-2829;N # BRAILLE PATTERN DOTS-146
-282A;N # BRAILLE PATTERN DOTS-246
-282B;N # BRAILLE PATTERN DOTS-1246
-282C;N # BRAILLE PATTERN DOTS-346
-282D;N # BRAILLE PATTERN DOTS-1346
-282E;N # BRAILLE PATTERN DOTS-2346
-282F;N # BRAILLE PATTERN DOTS-12346
-2830;N # BRAILLE PATTERN DOTS-56
-2831;N # BRAILLE PATTERN DOTS-156
-2832;N # BRAILLE PATTERN DOTS-256
-2833;N # BRAILLE PATTERN DOTS-1256
-2834;N # BRAILLE PATTERN DOTS-356
-2835;N # BRAILLE PATTERN DOTS-1356
-2836;N # BRAILLE PATTERN DOTS-2356
-2837;N # BRAILLE PATTERN DOTS-12356
-2838;N # BRAILLE PATTERN DOTS-456
-2839;N # BRAILLE PATTERN DOTS-1456
-283A;N # BRAILLE PATTERN DOTS-2456
-283B;N # BRAILLE PATTERN DOTS-12456
-283C;N # BRAILLE PATTERN DOTS-3456
-283D;N # BRAILLE PATTERN DOTS-13456
-283E;N # BRAILLE PATTERN DOTS-23456
-283F;N # BRAILLE PATTERN DOTS-123456
-2840;N # BRAILLE PATTERN DOTS-7
-2841;N # BRAILLE PATTERN DOTS-17
-2842;N # BRAILLE PATTERN DOTS-27
-2843;N # BRAILLE PATTERN DOTS-127
-2844;N # BRAILLE PATTERN DOTS-37
-2845;N # BRAILLE PATTERN DOTS-137
-2846;N # BRAILLE PATTERN DOTS-237
-2847;N # BRAILLE PATTERN DOTS-1237
-2848;N # BRAILLE PATTERN DOTS-47
-2849;N # BRAILLE PATTERN DOTS-147
-284A;N # BRAILLE PATTERN DOTS-247
-284B;N # BRAILLE PATTERN DOTS-1247
-284C;N # BRAILLE PATTERN DOTS-347
-284D;N # BRAILLE PATTERN DOTS-1347
-284E;N # BRAILLE PATTERN DOTS-2347
-284F;N # BRAILLE PATTERN DOTS-12347
-2850;N # BRAILLE PATTERN DOTS-57
-2851;N # BRAILLE PATTERN DOTS-157
-2852;N # BRAILLE PATTERN DOTS-257
-2853;N # BRAILLE PATTERN DOTS-1257
-2854;N # BRAILLE PATTERN DOTS-357
-2855;N # BRAILLE PATTERN DOTS-1357
-2856;N # BRAILLE PATTERN DOTS-2357
-2857;N # BRAILLE PATTERN DOTS-12357
-2858;N # BRAILLE PATTERN DOTS-457
-2859;N # BRAILLE PATTERN DOTS-1457
-285A;N # BRAILLE PATTERN DOTS-2457
-285B;N # BRAILLE PATTERN DOTS-12457
-285C;N # BRAILLE PATTERN DOTS-3457
-285D;N # BRAILLE PATTERN DOTS-13457
-285E;N # BRAILLE PATTERN DOTS-23457
-285F;N # BRAILLE PATTERN DOTS-123457
-2860;N # BRAILLE PATTERN DOTS-67
-2861;N # BRAILLE PATTERN DOTS-167
-2862;N # BRAILLE PATTERN DOTS-267
-2863;N # BRAILLE PATTERN DOTS-1267
-2864;N # BRAILLE PATTERN DOTS-367
-2865;N # BRAILLE PATTERN DOTS-1367
-2866;N # BRAILLE PATTERN DOTS-2367
-2867;N # BRAILLE PATTERN DOTS-12367
-2868;N # BRAILLE PATTERN DOTS-467
-2869;N # BRAILLE PATTERN DOTS-1467
-286A;N # BRAILLE PATTERN DOTS-2467
-286B;N # BRAILLE PATTERN DOTS-12467
-286C;N # BRAILLE PATTERN DOTS-3467
-286D;N # BRAILLE PATTERN DOTS-13467
-286E;N # BRAILLE PATTERN DOTS-23467
-286F;N # BRAILLE PATTERN DOTS-123467
-2870;N # BRAILLE PATTERN DOTS-567
-2871;N # BRAILLE PATTERN DOTS-1567
-2872;N # BRAILLE PATTERN DOTS-2567
-2873;N # BRAILLE PATTERN DOTS-12567
-2874;N # BRAILLE PATTERN DOTS-3567
-2875;N # BRAILLE PATTERN DOTS-13567
-2876;N # BRAILLE PATTERN DOTS-23567
-2877;N # BRAILLE PATTERN DOTS-123567
-2878;N # BRAILLE PATTERN DOTS-4567
-2879;N # BRAILLE PATTERN DOTS-14567
-287A;N # BRAILLE PATTERN DOTS-24567
-287B;N # BRAILLE PATTERN DOTS-124567
-287C;N # BRAILLE PATTERN DOTS-34567
-287D;N # BRAILLE PATTERN DOTS-134567
-287E;N # BRAILLE PATTERN DOTS-234567
-287F;N # BRAILLE PATTERN DOTS-1234567
-2880;N # BRAILLE PATTERN DOTS-8
-2881;N # BRAILLE PATTERN DOTS-18
-2882;N # BRAILLE PATTERN DOTS-28
-2883;N # BRAILLE PATTERN DOTS-128
-2884;N # BRAILLE PATTERN DOTS-38
-2885;N # BRAILLE PATTERN DOTS-138
-2886;N # BRAILLE PATTERN DOTS-238
-2887;N # BRAILLE PATTERN DOTS-1238
-2888;N # BRAILLE PATTERN DOTS-48
-2889;N # BRAILLE PATTERN DOTS-148
-288A;N # BRAILLE PATTERN DOTS-248
-288B;N # BRAILLE PATTERN DOTS-1248
-288C;N # BRAILLE PATTERN DOTS-348
-288D;N # BRAILLE PATTERN DOTS-1348
-288E;N # BRAILLE PATTERN DOTS-2348
-288F;N # BRAILLE PATTERN DOTS-12348
-2890;N # BRAILLE PATTERN DOTS-58
-2891;N # BRAILLE PATTERN DOTS-158
-2892;N # BRAILLE PATTERN DOTS-258
-2893;N # BRAILLE PATTERN DOTS-1258
-2894;N # BRAILLE PATTERN DOTS-358
-2895;N # BRAILLE PATTERN DOTS-1358
-2896;N # BRAILLE PATTERN DOTS-2358
-2897;N # BRAILLE PATTERN DOTS-12358
-2898;N # BRAILLE PATTERN DOTS-458
-2899;N # BRAILLE PATTERN DOTS-1458
-289A;N # BRAILLE PATTERN DOTS-2458
-289B;N # BRAILLE PATTERN DOTS-12458
-289C;N # BRAILLE PATTERN DOTS-3458
-289D;N # BRAILLE PATTERN DOTS-13458
-289E;N # BRAILLE PATTERN DOTS-23458
-289F;N # BRAILLE PATTERN DOTS-123458
-28A0;N # BRAILLE PATTERN DOTS-68
-28A1;N # BRAILLE PATTERN DOTS-168
-28A2;N # BRAILLE PATTERN DOTS-268
-28A3;N # BRAILLE PATTERN DOTS-1268
-28A4;N # BRAILLE PATTERN DOTS-368
-28A5;N # BRAILLE PATTERN DOTS-1368
-28A6;N # BRAILLE PATTERN DOTS-2368
-28A7;N # BRAILLE PATTERN DOTS-12368
-28A8;N # BRAILLE PATTERN DOTS-468
-28A9;N # BRAILLE PATTERN DOTS-1468
-28AA;N # BRAILLE PATTERN DOTS-2468
-28AB;N # BRAILLE PATTERN DOTS-12468
-28AC;N # BRAILLE PATTERN DOTS-3468
-28AD;N # BRAILLE PATTERN DOTS-13468
-28AE;N # BRAILLE PATTERN DOTS-23468
-28AF;N # BRAILLE PATTERN DOTS-123468
-28B0;N # BRAILLE PATTERN DOTS-568
-28B1;N # BRAILLE PATTERN DOTS-1568
-28B2;N # BRAILLE PATTERN DOTS-2568
-28B3;N # BRAILLE PATTERN DOTS-12568
-28B4;N # BRAILLE PATTERN DOTS-3568
-28B5;N # BRAILLE PATTERN DOTS-13568
-28B6;N # BRAILLE PATTERN DOTS-23568
-28B7;N # BRAILLE PATTERN DOTS-123568
-28B8;N # BRAILLE PATTERN DOTS-4568
-28B9;N # BRAILLE PATTERN DOTS-14568
-28BA;N # BRAILLE PATTERN DOTS-24568
-28BB;N # BRAILLE PATTERN DOTS-124568
-28BC;N # BRAILLE PATTERN DOTS-34568
-28BD;N # BRAILLE PATTERN DOTS-134568
-28BE;N # BRAILLE PATTERN DOTS-234568
-28BF;N # BRAILLE PATTERN DOTS-1234568
-28C0;N # BRAILLE PATTERN DOTS-78
-28C1;N # BRAILLE PATTERN DOTS-178
-28C2;N # BRAILLE PATTERN DOTS-278
-28C3;N # BRAILLE PATTERN DOTS-1278
-28C4;N # BRAILLE PATTERN DOTS-378
-28C5;N # BRAILLE PATTERN DOTS-1378
-28C6;N # BRAILLE PATTERN DOTS-2378
-28C7;N # BRAILLE PATTERN DOTS-12378
-28C8;N # BRAILLE PATTERN DOTS-478
-28C9;N # BRAILLE PATTERN DOTS-1478
-28CA;N # BRAILLE PATTERN DOTS-2478
-28CB;N # BRAILLE PATTERN DOTS-12478
-28CC;N # BRAILLE PATTERN DOTS-3478
-28CD;N # BRAILLE PATTERN DOTS-13478
-28CE;N # BRAILLE PATTERN DOTS-23478
-28CF;N # BRAILLE PATTERN DOTS-123478
-28D0;N # BRAILLE PATTERN DOTS-578
-28D1;N # BRAILLE PATTERN DOTS-1578
-28D2;N # BRAILLE PATTERN DOTS-2578
-28D3;N # BRAILLE PATTERN DOTS-12578
-28D4;N # BRAILLE PATTERN DOTS-3578
-28D5;N # BRAILLE PATTERN DOTS-13578
-28D6;N # BRAILLE PATTERN DOTS-23578
-28D7;N # BRAILLE PATTERN DOTS-123578
-28D8;N # BRAILLE PATTERN DOTS-4578
-28D9;N # BRAILLE PATTERN DOTS-14578
-28DA;N # BRAILLE PATTERN DOTS-24578
-28DB;N # BRAILLE PATTERN DOTS-124578
-28DC;N # BRAILLE PATTERN DOTS-34578
-28DD;N # BRAILLE PATTERN DOTS-134578
-28DE;N # BRAILLE PATTERN DOTS-234578
-28DF;N # BRAILLE PATTERN DOTS-1234578
-28E0;N # BRAILLE PATTERN DOTS-678
-28E1;N # BRAILLE PATTERN DOTS-1678
-28E2;N # BRAILLE PATTERN DOTS-2678
-28E3;N # BRAILLE PATTERN DOTS-12678
-28E4;N # BRAILLE PATTERN DOTS-3678
-28E5;N # BRAILLE PATTERN DOTS-13678
-28E6;N # BRAILLE PATTERN DOTS-23678
-28E7;N # BRAILLE PATTERN DOTS-123678
-28E8;N # BRAILLE PATTERN DOTS-4678
-28E9;N # BRAILLE PATTERN DOTS-14678
-28EA;N # BRAILLE PATTERN DOTS-24678
-28EB;N # BRAILLE PATTERN DOTS-124678
-28EC;N # BRAILLE PATTERN DOTS-34678
-28ED;N # BRAILLE PATTERN DOTS-134678
-28EE;N # BRAILLE PATTERN DOTS-234678
-28EF;N # BRAILLE PATTERN DOTS-1234678
-28F0;N # BRAILLE PATTERN DOTS-5678
-28F1;N # BRAILLE PATTERN DOTS-15678
-28F2;N # BRAILLE PATTERN DOTS-25678
-28F3;N # BRAILLE PATTERN DOTS-125678
-28F4;N # BRAILLE PATTERN DOTS-35678
-28F5;N # BRAILLE PATTERN DOTS-135678
-28F6;N # BRAILLE PATTERN DOTS-235678
-28F7;N # BRAILLE PATTERN DOTS-1235678
-28F8;N # BRAILLE PATTERN DOTS-45678
-28F9;N # BRAILLE PATTERN DOTS-145678
-28FA;N # BRAILLE PATTERN DOTS-245678
-28FB;N # BRAILLE PATTERN DOTS-1245678
-28FC;N # BRAILLE PATTERN DOTS-345678
-28FD;N # BRAILLE PATTERN DOTS-1345678
-28FE;N # BRAILLE PATTERN DOTS-2345678
-28FF;N # BRAILLE PATTERN DOTS-12345678
-2900;N # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901;N # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902;N # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903;N # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904;N # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905;N # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906;N # LEFTWARDS DOUBLE ARROW FROM BAR
-2907;N # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908;N # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909;N # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A;N # UPWARDS TRIPLE ARROW
-290B;N # DOWNWARDS TRIPLE ARROW
-290C;N # LEFTWARDS DOUBLE DASH ARROW
-290D;N # RIGHTWARDS DOUBLE DASH ARROW
-290E;N # LEFTWARDS TRIPLE DASH ARROW
-290F;N # RIGHTWARDS TRIPLE DASH ARROW
-2910;N # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911;N # RIGHTWARDS ARROW WITH DOTTED STEM
-2912;N # UPWARDS ARROW TO BAR
-2913;N # DOWNWARDS ARROW TO BAR
-2914;N # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915;N # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916;N # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917;N # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918;N # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919;N # LEFTWARDS ARROW-TAIL
-291A;N # RIGHTWARDS ARROW-TAIL
-291B;N # LEFTWARDS DOUBLE ARROW-TAIL
-291C;N # RIGHTWARDS DOUBLE ARROW-TAIL
-291D;N # LEFTWARDS ARROW TO BLACK DIAMOND
-291E;N # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F;N # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920;N # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921;N # NORTH WEST AND SOUTH EAST ARROW
-2922;N # NORTH EAST AND SOUTH WEST ARROW
-2923;N # NORTH WEST ARROW WITH HOOK
-2924;N # NORTH EAST ARROW WITH HOOK
-2925;N # SOUTH EAST ARROW WITH HOOK
-2926;N # SOUTH WEST ARROW WITH HOOK
-2927;N # NORTH WEST ARROW AND NORTH EAST ARROW
-2928;N # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929;N # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A;N # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B;N # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C;N # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D;N # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E;N # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F;N # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930;N # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931;N # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932;N # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933;N # WAVE ARROW POINTING DIRECTLY RIGHT
-2934;N # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935;N # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936;N # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937;N # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938;N # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939;N # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A;N # TOP ARC ANTICLOCKWISE ARROW
-293B;N # BOTTOM ARC ANTICLOCKWISE ARROW
-293C;N # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D;N # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E;N # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F;N # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940;N # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941;N # CLOCKWISE CLOSED CIRCLE ARROW
-2942;N # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943;N # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944;N # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945;N # RIGHTWARDS ARROW WITH PLUS BELOW
-2946;N # LEFTWARDS ARROW WITH PLUS BELOW
-2947;N # RIGHTWARDS ARROW THROUGH X
-2948;N # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949;N # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A;N # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B;N # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C;N # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D;N # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E;N # LEFT BARB UP RIGHT BARB UP HARPOON
-294F;N # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950;N # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951;N # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952;N # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953;N # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954;N # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955;N # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956;N # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957;N # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958;N # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959;N # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A;N # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B;N # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C;N # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D;N # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E;N # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F;N # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960;N # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961;N # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962;N # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963;N # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964;N # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965;N # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966;N # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967;N # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968;N # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969;N # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A;N # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B;N # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C;N # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D;N # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E;N # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F;N # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970;N # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971;N # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972;N # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973;N # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974;N # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975;N # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976;N # LESS-THAN ABOVE LEFTWARDS ARROW
-2977;N # LEFTWARDS ARROW THROUGH LESS-THAN
-2978;N # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979;N # SUBSET ABOVE RIGHTWARDS ARROW
-297A;N # LEFTWARDS ARROW THROUGH SUBSET
-297B;N # SUPERSET ABOVE LEFTWARDS ARROW
-297C;N # LEFT FISH TAIL
-297D;N # RIGHT FISH TAIL
-297E;N # UP FISH TAIL
-297F;N # DOWN FISH TAIL
-2980;N # TRIPLE VERTICAL BAR DELIMITER
-2981;N # Z NOTATION SPOT
-2982;N # Z NOTATION TYPE COLON
-2983;N # LEFT WHITE CURLY BRACKET
-2984;N # RIGHT WHITE CURLY BRACKET
-2985;Na # LEFT WHITE PARENTHESIS
-2986;Na # RIGHT WHITE PARENTHESIS
-2987;N # Z NOTATION LEFT IMAGE BRACKET
-2988;N # Z NOTATION RIGHT IMAGE BRACKET
-2989;N # Z NOTATION LEFT BINDING BRACKET
-298A;N # Z NOTATION RIGHT BINDING BRACKET
-298B;N # LEFT SQUARE BRACKET WITH UNDERBAR
-298C;N # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D;N # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E;N # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F;N # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990;N # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991;N # LEFT ANGLE BRACKET WITH DOT
-2992;N # RIGHT ANGLE BRACKET WITH DOT
-2993;N # LEFT ARC LESS-THAN BRACKET
-2994;N # RIGHT ARC GREATER-THAN BRACKET
-2995;N # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996;N # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997;N # LEFT BLACK TORTOISE SHELL BRACKET
-2998;N # RIGHT BLACK TORTOISE SHELL BRACKET
-2999;N # DOTTED FENCE
-299A;N # VERTICAL ZIGZAG LINE
-299B;N # MEASURED ANGLE OPENING LEFT
-299C;N # RIGHT ANGLE VARIANT WITH SQUARE
-299D;N # MEASURED RIGHT ANGLE WITH DOT
-299E;N # ANGLE WITH S INSIDE
-299F;N # ACUTE ANGLE
-29A0;N # SPHERICAL ANGLE OPENING LEFT
-29A1;N # SPHERICAL ANGLE OPENING UP
-29A2;N # TURNED ANGLE
-29A3;N # REVERSED ANGLE
-29A4;N # ANGLE WITH UNDERBAR
-29A5;N # REVERSED ANGLE WITH UNDERBAR
-29A6;N # OBLIQUE ANGLE OPENING UP
-29A7;N # OBLIQUE ANGLE OPENING DOWN
-29A8;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0;N # REVERSED EMPTY SET
-29B1;N # EMPTY SET WITH OVERBAR
-29B2;N # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3;N # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4;N # EMPTY SET WITH LEFT ARROW ABOVE
-29B5;N # CIRCLE WITH HORIZONTAL BAR
-29B6;N # CIRCLED VERTICAL BAR
-29B7;N # CIRCLED PARALLEL
-29B8;N # CIRCLED REVERSE SOLIDUS
-29B9;N # CIRCLED PERPENDICULAR
-29BA;N # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB;N # CIRCLE WITH SUPERIMPOSED X
-29BC;N # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD;N # UP ARROW THROUGH CIRCLE
-29BE;N # CIRCLED WHITE BULLET
-29BF;N # CIRCLED BULLET
-29C0;N # CIRCLED LESS-THAN
-29C1;N # CIRCLED GREATER-THAN
-29C2;N # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3;N # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4;N # SQUARED RISING DIAGONAL SLASH
-29C5;N # SQUARED FALLING DIAGONAL SLASH
-29C6;N # SQUARED ASTERISK
-29C7;N # SQUARED SMALL CIRCLE
-29C8;N # SQUARED SQUARE
-29C9;N # TWO JOINED SQUARES
-29CA;N # TRIANGLE WITH DOT ABOVE
-29CB;N # TRIANGLE WITH UNDERBAR
-29CC;N # S IN TRIANGLE
-29CD;N # TRIANGLE WITH SERIFS AT BOTTOM
-29CE;N # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF;N # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0;N # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1;N # BOWTIE WITH LEFT HALF BLACK
-29D2;N # BOWTIE WITH RIGHT HALF BLACK
-29D3;N # BLACK BOWTIE
-29D4;N # TIMES WITH LEFT HALF BLACK
-29D5;N # TIMES WITH RIGHT HALF BLACK
-29D6;N # WHITE HOURGLASS
-29D7;N # BLACK HOURGLASS
-29D8;N # LEFT WIGGLY FENCE
-29D9;N # RIGHT WIGGLY FENCE
-29DA;N # LEFT DOUBLE WIGGLY FENCE
-29DB;N # RIGHT DOUBLE WIGGLY FENCE
-29DC;N # INCOMPLETE INFINITY
-29DD;N # TIE OVER INFINITY
-29DE;N # INFINITY NEGATED WITH VERTICAL BAR
-29DF;N # DOUBLE-ENDED MULTIMAP
-29E0;N # SQUARE WITH CONTOURED OUTLINE
-29E1;N # INCREASES AS
-29E2;N # SHUFFLE PRODUCT
-29E3;N # EQUALS SIGN AND SLANTED PARALLEL
-29E4;N # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5;N # IDENTICAL TO AND SLANTED PARALLEL
-29E6;N # GLEICH STARK
-29E7;N # THERMODYNAMIC
-29E8;N # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9;N # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA;N # BLACK DIAMOND WITH DOWN ARROW
-29EB;N # BLACK LOZENGE
-29EC;N # WHITE CIRCLE WITH DOWN ARROW
-29ED;N # BLACK CIRCLE WITH DOWN ARROW
-29EE;N # ERROR-BARRED WHITE SQUARE
-29EF;N # ERROR-BARRED BLACK SQUARE
-29F0;N # ERROR-BARRED WHITE DIAMOND
-29F1;N # ERROR-BARRED BLACK DIAMOND
-29F2;N # ERROR-BARRED WHITE CIRCLE
-29F3;N # ERROR-BARRED BLACK CIRCLE
-29F4;N # RULE-DELAYED
-29F5;N # REVERSE SOLIDUS OPERATOR
-29F6;N # SOLIDUS WITH OVERBAR
-29F7;N # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8;N # BIG SOLIDUS
-29F9;N # BIG REVERSE SOLIDUS
-29FA;N # DOUBLE PLUS
-29FB;N # TRIPLE PLUS
-29FC;N # LEFT-POINTING CURVED ANGLE BRACKET
-29FD;N # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE;N # TINY
-29FF;N # MINY
-2A00;N # N-ARY CIRCLED DOT OPERATOR
-2A01;N # N-ARY CIRCLED PLUS OPERATOR
-2A02;N # N-ARY CIRCLED TIMES OPERATOR
-2A03;N # N-ARY UNION OPERATOR WITH DOT
-2A04;N # N-ARY UNION OPERATOR WITH PLUS
-2A05;N # N-ARY SQUARE INTERSECTION OPERATOR
-2A06;N # N-ARY SQUARE UNION OPERATOR
-2A07;N # TWO LOGICAL AND OPERATOR
-2A08;N # TWO LOGICAL OR OPERATOR
-2A09;N # N-ARY TIMES OPERATOR
-2A0A;N # MODULO TWO SUM
-2A0B;N # SUMMATION WITH INTEGRAL
-2A0C;N # QUADRUPLE INTEGRAL OPERATOR
-2A0D;N # FINITE PART INTEGRAL
-2A0E;N # INTEGRAL WITH DOUBLE STROKE
-2A0F;N # INTEGRAL AVERAGE WITH SLASH
-2A10;N # CIRCULATION FUNCTION
-2A11;N # ANTICLOCKWISE INTEGRATION
-2A12;N # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13;N # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14;N # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15;N # INTEGRAL AROUND A POINT OPERATOR
-2A16;N # QUATERNION INTEGRAL OPERATOR
-2A17;N # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18;N # INTEGRAL WITH TIMES SIGN
-2A19;N # INTEGRAL WITH INTERSECTION
-2A1A;N # INTEGRAL WITH UNION
-2A1B;N # INTEGRAL WITH OVERBAR
-2A1C;N # INTEGRAL WITH UNDERBAR
-2A1D;N # JOIN
-2A1E;N # LARGE LEFT TRIANGLE OPERATOR
-2A1F;N # Z NOTATION SCHEMA COMPOSITION
-2A20;N # Z NOTATION SCHEMA PIPING
-2A21;N # Z NOTATION SCHEMA PROJECTION
-2A22;N # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23;N # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24;N # PLUS SIGN WITH TILDE ABOVE
-2A25;N # PLUS SIGN WITH DOT BELOW
-2A26;N # PLUS SIGN WITH TILDE BELOW
-2A27;N # PLUS SIGN WITH SUBSCRIPT TWO
-2A28;N # PLUS SIGN WITH BLACK TRIANGLE
-2A29;N # MINUS SIGN WITH COMMA ABOVE
-2A2A;N # MINUS SIGN WITH DOT BELOW
-2A2B;N # MINUS SIGN WITH FALLING DOTS
-2A2C;N # MINUS SIGN WITH RISING DOTS
-2A2D;N # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E;N # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F;N # VECTOR OR CROSS PRODUCT
-2A30;N # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31;N # MULTIPLICATION SIGN WITH UNDERBAR
-2A32;N # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33;N # SMASH PRODUCT
-2A34;N # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35;N # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36;N # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37;N # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38;N # CIRCLED DIVISION SIGN
-2A39;N # PLUS SIGN IN TRIANGLE
-2A3A;N # MINUS SIGN IN TRIANGLE
-2A3B;N # MULTIPLICATION SIGN IN TRIANGLE
-2A3C;N # INTERIOR PRODUCT
-2A3D;N # RIGHTHAND INTERIOR PRODUCT
-2A3E;N # Z NOTATION RELATIONAL COMPOSITION
-2A3F;N # AMALGAMATION OR COPRODUCT
-2A40;N # INTERSECTION WITH DOT
-2A41;N # UNION WITH MINUS SIGN
-2A42;N # UNION WITH OVERBAR
-2A43;N # INTERSECTION WITH OVERBAR
-2A44;N # INTERSECTION WITH LOGICAL AND
-2A45;N # UNION WITH LOGICAL OR
-2A46;N # UNION ABOVE INTERSECTION
-2A47;N # INTERSECTION ABOVE UNION
-2A48;N # UNION ABOVE BAR ABOVE INTERSECTION
-2A49;N # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A;N # UNION BESIDE AND JOINED WITH UNION
-2A4B;N # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C;N # CLOSED UNION WITH SERIFS
-2A4D;N # CLOSED INTERSECTION WITH SERIFS
-2A4E;N # DOUBLE SQUARE INTERSECTION
-2A4F;N # DOUBLE SQUARE UNION
-2A50;N # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51;N # LOGICAL AND WITH DOT ABOVE
-2A52;N # LOGICAL OR WITH DOT ABOVE
-2A53;N # DOUBLE LOGICAL AND
-2A54;N # DOUBLE LOGICAL OR
-2A55;N # TWO INTERSECTING LOGICAL AND
-2A56;N # TWO INTERSECTING LOGICAL OR
-2A57;N # SLOPING LARGE OR
-2A58;N # SLOPING LARGE AND
-2A59;N # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A;N # LOGICAL AND WITH MIDDLE STEM
-2A5B;N # LOGICAL OR WITH MIDDLE STEM
-2A5C;N # LOGICAL AND WITH HORIZONTAL DASH
-2A5D;N # LOGICAL OR WITH HORIZONTAL DASH
-2A5E;N # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F;N # LOGICAL AND WITH UNDERBAR
-2A60;N # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61;N # SMALL VEE WITH UNDERBAR
-2A62;N # LOGICAL OR WITH DOUBLE OVERBAR
-2A63;N # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64;N # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65;N # Z NOTATION RANGE ANTIRESTRICTION
-2A66;N # EQUALS SIGN WITH DOT BELOW
-2A67;N # IDENTICAL WITH DOT ABOVE
-2A68;N # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69;N # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A;N # TILDE OPERATOR WITH DOT ABOVE
-2A6B;N # TILDE OPERATOR WITH RISING DOTS
-2A6C;N # SIMILAR MINUS SIMILAR
-2A6D;N # CONGRUENT WITH DOT ABOVE
-2A6E;N # EQUALS WITH ASTERISK
-2A6F;N # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70;N # APPROXIMATELY EQUAL OR EQUAL TO
-2A71;N # EQUALS SIGN ABOVE PLUS SIGN
-2A72;N # PLUS SIGN ABOVE EQUALS SIGN
-2A73;N # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74;N # DOUBLE COLON EQUAL
-2A75;N # TWO CONSECUTIVE EQUALS SIGNS
-2A76;N # THREE CONSECUTIVE EQUALS SIGNS
-2A77;N # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78;N # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79;N # LESS-THAN WITH CIRCLE INSIDE
-2A7A;N # GREATER-THAN WITH CIRCLE INSIDE
-2A7B;N # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C;N # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D;N # LESS-THAN OR SLANTED EQUAL TO
-2A7E;N # GREATER-THAN OR SLANTED EQUAL TO
-2A7F;N # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80;N # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81;N # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82;N # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83;N # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84;N # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85;N # LESS-THAN OR APPROXIMATE
-2A86;N # GREATER-THAN OR APPROXIMATE
-2A87;N # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88;N # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89;N # LESS-THAN AND NOT APPROXIMATE
-2A8A;N # GREATER-THAN AND NOT APPROXIMATE
-2A8B;N # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C;N # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D;N # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E;N # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F;N # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90;N # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91;N # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92;N # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93;N # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94;N # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95;N # SLANTED EQUAL TO OR LESS-THAN
-2A96;N # SLANTED EQUAL TO OR GREATER-THAN
-2A97;N # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98;N # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99;N # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A;N # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B;N # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C;N # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D;N # SIMILAR OR LESS-THAN
-2A9E;N # SIMILAR OR GREATER-THAN
-2A9F;N # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0;N # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1;N # DOUBLE NESTED LESS-THAN
-2AA2;N # DOUBLE NESTED GREATER-THAN
-2AA3;N # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4;N # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5;N # GREATER-THAN BESIDE LESS-THAN
-2AA6;N # LESS-THAN CLOSED BY CURVE
-2AA7;N # GREATER-THAN CLOSED BY CURVE
-2AA8;N # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9;N # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA;N # SMALLER THAN
-2AAB;N # LARGER THAN
-2AAC;N # SMALLER THAN OR EQUAL TO
-2AAD;N # LARGER THAN OR EQUAL TO
-2AAE;N # EQUALS SIGN WITH BUMPY ABOVE
-2AAF;N # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0;N # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1;N # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2;N # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3;N # PRECEDES ABOVE EQUALS SIGN
-2AB4;N # SUCCEEDS ABOVE EQUALS SIGN
-2AB5;N # PRECEDES ABOVE NOT EQUAL TO
-2AB6;N # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7;N # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8;N # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9;N # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA;N # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB;N # DOUBLE PRECEDES
-2ABC;N # DOUBLE SUCCEEDS
-2ABD;N # SUBSET WITH DOT
-2ABE;N # SUPERSET WITH DOT
-2ABF;N # SUBSET WITH PLUS SIGN BELOW
-2AC0;N # SUPERSET WITH PLUS SIGN BELOW
-2AC1;N # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2;N # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3;N # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4;N # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5;N # SUBSET OF ABOVE EQUALS SIGN
-2AC6;N # SUPERSET OF ABOVE EQUALS SIGN
-2AC7;N # SUBSET OF ABOVE TILDE OPERATOR
-2AC8;N # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9;N # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA;N # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB;N # SUBSET OF ABOVE NOT EQUAL TO
-2ACC;N # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD;N # SQUARE LEFT OPEN BOX OPERATOR
-2ACE;N # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF;N # CLOSED SUBSET
-2AD0;N # CLOSED SUPERSET
-2AD1;N # CLOSED SUBSET OR EQUAL TO
-2AD2;N # CLOSED SUPERSET OR EQUAL TO
-2AD3;N # SUBSET ABOVE SUPERSET
-2AD4;N # SUPERSET ABOVE SUBSET
-2AD5;N # SUBSET ABOVE SUBSET
-2AD6;N # SUPERSET ABOVE SUPERSET
-2AD7;N # SUPERSET BESIDE SUBSET
-2AD8;N # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9;N # ELEMENT OF OPENING DOWNWARDS
-2ADA;N # PITCHFORK WITH TEE TOP
-2ADB;N # TRANSVERSAL INTERSECTION
-2ADC;N # FORKING
-2ADD;N # NONFORKING
-2ADE;N # SHORT LEFT TACK
-2ADF;N # SHORT DOWN TACK
-2AE0;N # SHORT UP TACK
-2AE1;N # PERPENDICULAR WITH S
-2AE2;N # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3;N # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4;N # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5;N # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6;N # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7;N # SHORT DOWN TACK WITH OVERBAR
-2AE8;N # SHORT UP TACK WITH UNDERBAR
-2AE9;N # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA;N # DOUBLE DOWN TACK
-2AEB;N # DOUBLE UP TACK
-2AEC;N # DOUBLE STROKE NOT SIGN
-2AED;N # REVERSED DOUBLE STROKE NOT SIGN
-2AEE;N # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF;N # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0;N # VERTICAL LINE WITH CIRCLE BELOW
-2AF1;N # DOWN TACK WITH CIRCLE BELOW
-2AF2;N # PARALLEL WITH HORIZONTAL STROKE
-2AF3;N # PARALLEL WITH TILDE OPERATOR
-2AF4;N # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5;N # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6;N # TRIPLE COLON OPERATOR
-2AF7;N # TRIPLE NESTED LESS-THAN
-2AF8;N # TRIPLE NESTED GREATER-THAN
-2AF9;N # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA;N # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB;N # TRIPLE SOLIDUS BINARY RELATION
-2AFC;N # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD;N # DOUBLE SOLIDUS OPERATOR
-2AFE;N # WHITE VERTICAL BAR
-2AFF;N # N-ARY WHITE VERTICAL BAR
-2B00;N # NORTH EAST WHITE ARROW
-2B01;N # NORTH WEST WHITE ARROW
-2B02;N # SOUTH EAST WHITE ARROW
-2B03;N # SOUTH WEST WHITE ARROW
-2B04;N # LEFT RIGHT WHITE ARROW
-2B05;N # LEFTWARDS BLACK ARROW
-2B06;N # UPWARDS BLACK ARROW
-2B07;N # DOWNWARDS BLACK ARROW
-2B08;N # NORTH EAST BLACK ARROW
-2B09;N # NORTH WEST BLACK ARROW
-2B0A;N # SOUTH EAST BLACK ARROW
-2B0B;N # SOUTH WEST BLACK ARROW
-2B0C;N # LEFT RIGHT BLACK ARROW
-2B0D;N # UP DOWN BLACK ARROW
-2B0E;N # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F;N # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10;N # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11;N # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12;N # SQUARE WITH TOP HALF BLACK
-2B13;N # SQUARE WITH BOTTOM HALF BLACK
-2B14;N # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15;N # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16;N # DIAMOND WITH LEFT HALF BLACK
-2B17;N # DIAMOND WITH RIGHT HALF BLACK
-2B18;N # DIAMOND WITH TOP HALF BLACK
-2B19;N # DIAMOND WITH BOTTOM HALF BLACK
-2B1A;N # DOTTED SQUARE
-2B1B;N # BLACK LARGE SQUARE
-2B1C;N # WHITE LARGE SQUARE
-2B1D;N # BLACK VERY SMALL SQUARE
-2B1E;N # WHITE VERY SMALL SQUARE
-2B1F;N # BLACK PENTAGON
-2B20;N # WHITE PENTAGON
-2B21;N # WHITE HEXAGON
-2B22;N # BLACK HEXAGON
-2B23;N # HORIZONTAL BLACK HEXAGON
-2B24;N # BLACK LARGE CIRCLE
-2B25;N # BLACK MEDIUM DIAMOND
-2B26;N # WHITE MEDIUM DIAMOND
-2B27;N # BLACK MEDIUM LOZENGE
-2B28;N # WHITE MEDIUM LOZENGE
-2B29;N # BLACK SMALL DIAMOND
-2B2A;N # BLACK SMALL LOZENGE
-2B2B;N # WHITE SMALL LOZENGE
-2B2C;N # BLACK HORIZONTAL ELLIPSE
-2B2D;N # WHITE HORIZONTAL ELLIPSE
-2B2E;N # BLACK VERTICAL ELLIPSE
-2B2F;N # WHITE VERTICAL ELLIPSE
-2B30;N # LEFT ARROW WITH SMALL CIRCLE
-2B31;N # THREE LEFTWARDS ARROWS
-2B32;N # LEFT ARROW WITH CIRCLED PLUS
-2B33;N # LONG LEFTWARDS SQUIGGLE ARROW
-2B34;N # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35;N # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36;N # LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37;N # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38;N # LEFTWARDS ARROW WITH DOTTED STEM
-2B39;N # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A;N # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B;N # LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C;N # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D;N # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E;N # LEFTWARDS ARROW THROUGH X
-2B3F;N # WAVE ARROW POINTING DIRECTLY LEFT
-2B40;N # EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41;N # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42;N # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43;N # RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44;N # RIGHTWARDS ARROW THROUGH SUPERSET
-2B45;N # LEFTWARDS QUADRUPLE ARROW
-2B46;N # RIGHTWARDS QUADRUPLE ARROW
-2B47;N # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48;N # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49;N # TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A;N # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B;N # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C;N # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50;N # WHITE MEDIUM STAR
-2B51;N # BLACK SMALL STAR
-2B52;N # WHITE SMALL STAR
-2B53;N # BLACK RIGHT-POINTING PENTAGON
-2B54;N # WHITE RIGHT-POINTING PENTAGON
-2B55;A # HEAVY LARGE CIRCLE
-2B56;A # HEAVY OVAL WITH OVAL INSIDE
-2B57;A # HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58;A # HEAVY CIRCLE
-2B59;A # HEAVY CIRCLED SALTIRE
-2C00;N # GLAGOLITIC CAPITAL LETTER AZU
-2C01;N # GLAGOLITIC CAPITAL LETTER BUKY
-2C02;N # GLAGOLITIC CAPITAL LETTER VEDE
-2C03;N # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C04;N # GLAGOLITIC CAPITAL LETTER DOBRO
-2C05;N # GLAGOLITIC CAPITAL LETTER YESTU
-2C06;N # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C07;N # GLAGOLITIC CAPITAL LETTER DZELO
-2C08;N # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C09;N # GLAGOLITIC CAPITAL LETTER IZHE
-2C0A;N # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C0B;N # GLAGOLITIC CAPITAL LETTER I
-2C0C;N # GLAGOLITIC CAPITAL LETTER DJERVI
-2C0D;N # GLAGOLITIC CAPITAL LETTER KAKO
-2C0E;N # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C0F;N # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C10;N # GLAGOLITIC CAPITAL LETTER NASHI
-2C11;N # GLAGOLITIC CAPITAL LETTER ONU
-2C12;N # GLAGOLITIC CAPITAL LETTER POKOJI
-2C13;N # GLAGOLITIC CAPITAL LETTER RITSI
-2C14;N # GLAGOLITIC CAPITAL LETTER SLOVO
-2C15;N # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C16;N # GLAGOLITIC CAPITAL LETTER UKU
-2C17;N # GLAGOLITIC CAPITAL LETTER FRITU
-2C18;N # GLAGOLITIC CAPITAL LETTER HERU
-2C19;N # GLAGOLITIC CAPITAL LETTER OTU
-2C1A;N # GLAGOLITIC CAPITAL LETTER PE
-2C1B;N # GLAGOLITIC CAPITAL LETTER SHTA
-2C1C;N # GLAGOLITIC CAPITAL LETTER TSI
-2C1D;N # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C1E;N # GLAGOLITIC CAPITAL LETTER SHA
-2C1F;N # GLAGOLITIC CAPITAL LETTER YERU
-2C20;N # GLAGOLITIC CAPITAL LETTER YERI
-2C21;N # GLAGOLITIC CAPITAL LETTER YATI
-2C22;N # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C23;N # GLAGOLITIC CAPITAL LETTER YU
-2C24;N # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C25;N # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C26;N # GLAGOLITIC CAPITAL LETTER YO
-2C27;N # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C28;N # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C29;N # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C2A;N # GLAGOLITIC CAPITAL LETTER FITA
-2C2B;N # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C2C;N # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C2D;N # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C2E;N # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30;N # GLAGOLITIC SMALL LETTER AZU
-2C31;N # GLAGOLITIC SMALL LETTER BUKY
-2C32;N # GLAGOLITIC SMALL LETTER VEDE
-2C33;N # GLAGOLITIC SMALL LETTER GLAGOLI
-2C34;N # GLAGOLITIC SMALL LETTER DOBRO
-2C35;N # GLAGOLITIC SMALL LETTER YESTU
-2C36;N # GLAGOLITIC SMALL LETTER ZHIVETE
-2C37;N # GLAGOLITIC SMALL LETTER DZELO
-2C38;N # GLAGOLITIC SMALL LETTER ZEMLJA
-2C39;N # GLAGOLITIC SMALL LETTER IZHE
-2C3A;N # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C3B;N # GLAGOLITIC SMALL LETTER I
-2C3C;N # GLAGOLITIC SMALL LETTER DJERVI
-2C3D;N # GLAGOLITIC SMALL LETTER KAKO
-2C3E;N # GLAGOLITIC SMALL LETTER LJUDIJE
-2C3F;N # GLAGOLITIC SMALL LETTER MYSLITE
-2C40;N # GLAGOLITIC SMALL LETTER NASHI
-2C41;N # GLAGOLITIC SMALL LETTER ONU
-2C42;N # GLAGOLITIC SMALL LETTER POKOJI
-2C43;N # GLAGOLITIC SMALL LETTER RITSI
-2C44;N # GLAGOLITIC SMALL LETTER SLOVO
-2C45;N # GLAGOLITIC SMALL LETTER TVRIDO
-2C46;N # GLAGOLITIC SMALL LETTER UKU
-2C47;N # GLAGOLITIC SMALL LETTER FRITU
-2C48;N # GLAGOLITIC SMALL LETTER HERU
-2C49;N # GLAGOLITIC SMALL LETTER OTU
-2C4A;N # GLAGOLITIC SMALL LETTER PE
-2C4B;N # GLAGOLITIC SMALL LETTER SHTA
-2C4C;N # GLAGOLITIC SMALL LETTER TSI
-2C4D;N # GLAGOLITIC SMALL LETTER CHRIVI
-2C4E;N # GLAGOLITIC SMALL LETTER SHA
-2C4F;N # GLAGOLITIC SMALL LETTER YERU
-2C50;N # GLAGOLITIC SMALL LETTER YERI
-2C51;N # GLAGOLITIC SMALL LETTER YATI
-2C52;N # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C53;N # GLAGOLITIC SMALL LETTER YU
-2C54;N # GLAGOLITIC SMALL LETTER SMALL YUS
-2C55;N # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C56;N # GLAGOLITIC SMALL LETTER YO
-2C57;N # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C58;N # GLAGOLITIC SMALL LETTER BIG YUS
-2C59;N # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C5A;N # GLAGOLITIC SMALL LETTER FITA
-2C5B;N # GLAGOLITIC SMALL LETTER IZHITSA
-2C5C;N # GLAGOLITIC SMALL LETTER SHTAPIC
-2C5D;N # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C5E;N # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60;N # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C61;N # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C62;N # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-2C63;N # LATIN CAPITAL LETTER P WITH STROKE
-2C64;N # LATIN CAPITAL LETTER R WITH TAIL
-2C65;N # LATIN SMALL LETTER A WITH STROKE
-2C66;N # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C67;N # LATIN CAPITAL LETTER H WITH DESCENDER
-2C68;N # LATIN SMALL LETTER H WITH DESCENDER
-2C69;N # LATIN CAPITAL LETTER K WITH DESCENDER
-2C6A;N # LATIN SMALL LETTER K WITH DESCENDER
-2C6B;N # LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6C;N # LATIN SMALL LETTER Z WITH DESCENDER
-2C6D;N # LATIN CAPITAL LETTER ALPHA
-2C6E;N # LATIN CAPITAL LETTER M WITH HOOK
-2C6F;N # LATIN CAPITAL LETTER TURNED A
-2C70;N # LATIN CAPITAL LETTER TURNED ALPHA
-2C71;N # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C72;N # LATIN CAPITAL LETTER W WITH HOOK
-2C73;N # LATIN SMALL LETTER W WITH HOOK
-2C74;N # LATIN SMALL LETTER V WITH CURL
-2C75;N # LATIN CAPITAL LETTER HALF H
-2C76;N # LATIN SMALL LETTER HALF H
-2C77;N # LATIN SMALL LETTER TAILLESS PHI
-2C78;N # LATIN SMALL LETTER E WITH NOTCH
-2C79;N # LATIN SMALL LETTER TURNED R WITH TAIL
-2C7A;N # LATIN SMALL LETTER O WITH LOW RING INSIDE
-2C7B;N # LATIN LETTER SMALL CAPITAL TURNED E
-2C7C;N # LATIN SUBSCRIPT SMALL LETTER J
-2C7D;N # MODIFIER LETTER CAPITAL V
-2C7E;N # LATIN CAPITAL LETTER S WITH SWASH TAIL
-2C7F;N # LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C80;N # COPTIC CAPITAL LETTER ALFA
-2C81;N # COPTIC SMALL LETTER ALFA
-2C82;N # COPTIC CAPITAL LETTER VIDA
-2C83;N # COPTIC SMALL LETTER VIDA
-2C84;N # COPTIC CAPITAL LETTER GAMMA
-2C85;N # COPTIC SMALL LETTER GAMMA
-2C86;N # COPTIC CAPITAL LETTER DALDA
-2C87;N # COPTIC SMALL LETTER DALDA
-2C88;N # COPTIC CAPITAL LETTER EIE
-2C89;N # COPTIC SMALL LETTER EIE
-2C8A;N # COPTIC CAPITAL LETTER SOU
-2C8B;N # COPTIC SMALL LETTER SOU
-2C8C;N # COPTIC CAPITAL LETTER ZATA
-2C8D;N # COPTIC SMALL LETTER ZATA
-2C8E;N # COPTIC CAPITAL LETTER HATE
-2C8F;N # COPTIC SMALL LETTER HATE
-2C90;N # COPTIC CAPITAL LETTER THETHE
-2C91;N # COPTIC SMALL LETTER THETHE
-2C92;N # COPTIC CAPITAL LETTER IAUDA
-2C93;N # COPTIC SMALL LETTER IAUDA
-2C94;N # COPTIC CAPITAL LETTER KAPA
-2C95;N # COPTIC SMALL LETTER KAPA
-2C96;N # COPTIC CAPITAL LETTER LAULA
-2C97;N # COPTIC SMALL LETTER LAULA
-2C98;N # COPTIC CAPITAL LETTER MI
-2C99;N # COPTIC SMALL LETTER MI
-2C9A;N # COPTIC CAPITAL LETTER NI
-2C9B;N # COPTIC SMALL LETTER NI
-2C9C;N # COPTIC CAPITAL LETTER KSI
-2C9D;N # COPTIC SMALL LETTER KSI
-2C9E;N # COPTIC CAPITAL LETTER O
-2C9F;N # COPTIC SMALL LETTER O
-2CA0;N # COPTIC CAPITAL LETTER PI
-2CA1;N # COPTIC SMALL LETTER PI
-2CA2;N # COPTIC CAPITAL LETTER RO
-2CA3;N # COPTIC SMALL LETTER RO
-2CA4;N # COPTIC CAPITAL LETTER SIMA
-2CA5;N # COPTIC SMALL LETTER SIMA
-2CA6;N # COPTIC CAPITAL LETTER TAU
-2CA7;N # COPTIC SMALL LETTER TAU
-2CA8;N # COPTIC CAPITAL LETTER UA
-2CA9;N # COPTIC SMALL LETTER UA
-2CAA;N # COPTIC CAPITAL LETTER FI
-2CAB;N # COPTIC SMALL LETTER FI
-2CAC;N # COPTIC CAPITAL LETTER KHI
-2CAD;N # COPTIC SMALL LETTER KHI
-2CAE;N # COPTIC CAPITAL LETTER PSI
-2CAF;N # COPTIC SMALL LETTER PSI
-2CB0;N # COPTIC CAPITAL LETTER OOU
-2CB1;N # COPTIC SMALL LETTER OOU
-2CB2;N # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB3;N # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB4;N # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB5;N # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB6;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB7;N # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB8;N # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CB9;N # COPTIC SMALL LETTER DIALECT-P KAPA
-2CBA;N # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBB;N # COPTIC SMALL LETTER DIALECT-P NI
-2CBC;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBD;N # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBE;N # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CBF;N # COPTIC SMALL LETTER OLD COPTIC OOU
-2CC0;N # COPTIC CAPITAL LETTER SAMPI
-2CC1;N # COPTIC SMALL LETTER SAMPI
-2CC2;N # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC3;N # COPTIC SMALL LETTER CROSSED SHEI
-2CC4;N # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC5;N # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC6;N # COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC7;N # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC8;N # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CC9;N # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCA;N # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCB;N # COPTIC SMALL LETTER DIALECT-P HORI
-2CCC;N # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCD;N # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCE;N # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CCF;N # COPTIC SMALL LETTER OLD COPTIC HA
-2CD0;N # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD1;N # COPTIC SMALL LETTER L-SHAPED HA
-2CD2;N # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD3;N # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD4;N # COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD5;N # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD6;N # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD7;N # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD8;N # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CD9;N # COPTIC SMALL LETTER OLD COPTIC DJA
-2CDA;N # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDB;N # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDC;N # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDD;N # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDE;N # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CDF;N # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE0;N # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE1;N # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE2;N # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CE3;N # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE4;N # COPTIC SYMBOL KAI
-2CE5;N # COPTIC SYMBOL MI RO
-2CE6;N # COPTIC SYMBOL PI RO
-2CE7;N # COPTIC SYMBOL STAUROS
-2CE8;N # COPTIC SYMBOL TAU RO
-2CE9;N # COPTIC SYMBOL KHI RO
-2CEA;N # COPTIC SYMBOL SHIMA SIMA
-2CEB;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CEC;N # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CED;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CEE;N # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF;N # COPTIC COMBINING NI ABOVE
-2CF0;N # COPTIC COMBINING SPIRITUS ASPER
-2CF1;N # COPTIC COMBINING SPIRITUS LENIS
-2CF9;N # COPTIC OLD NUBIAN FULL STOP
-2CFA;N # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB;N # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC;N # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD;N # COPTIC FRACTION ONE HALF
-2CFE;N # COPTIC FULL STOP
-2CFF;N # COPTIC MORPHOLOGICAL DIVIDER
-2D00;N # GEORGIAN SMALL LETTER AN
-2D01;N # GEORGIAN SMALL LETTER BAN
-2D02;N # GEORGIAN SMALL LETTER GAN
-2D03;N # GEORGIAN SMALL LETTER DON
-2D04;N # GEORGIAN SMALL LETTER EN
-2D05;N # GEORGIAN SMALL LETTER VIN
-2D06;N # GEORGIAN SMALL LETTER ZEN
-2D07;N # GEORGIAN SMALL LETTER TAN
-2D08;N # GEORGIAN SMALL LETTER IN
-2D09;N # GEORGIAN SMALL LETTER KAN
-2D0A;N # GEORGIAN SMALL LETTER LAS
-2D0B;N # GEORGIAN SMALL LETTER MAN
-2D0C;N # GEORGIAN SMALL LETTER NAR
-2D0D;N # GEORGIAN SMALL LETTER ON
-2D0E;N # GEORGIAN SMALL LETTER PAR
-2D0F;N # GEORGIAN SMALL LETTER ZHAR
-2D10;N # GEORGIAN SMALL LETTER RAE
-2D11;N # GEORGIAN SMALL LETTER SAN
-2D12;N # GEORGIAN SMALL LETTER TAR
-2D13;N # GEORGIAN SMALL LETTER UN
-2D14;N # GEORGIAN SMALL LETTER PHAR
-2D15;N # GEORGIAN SMALL LETTER KHAR
-2D16;N # GEORGIAN SMALL LETTER GHAN
-2D17;N # GEORGIAN SMALL LETTER QAR
-2D18;N # GEORGIAN SMALL LETTER SHIN
-2D19;N # GEORGIAN SMALL LETTER CHIN
-2D1A;N # GEORGIAN SMALL LETTER CAN
-2D1B;N # GEORGIAN SMALL LETTER JIL
-2D1C;N # GEORGIAN SMALL LETTER CIL
-2D1D;N # GEORGIAN SMALL LETTER CHAR
-2D1E;N # GEORGIAN SMALL LETTER XAN
-2D1F;N # GEORGIAN SMALL LETTER JHAN
-2D20;N # GEORGIAN SMALL LETTER HAE
-2D21;N # GEORGIAN SMALL LETTER HE
-2D22;N # GEORGIAN SMALL LETTER HIE
-2D23;N # GEORGIAN SMALL LETTER WE
-2D24;N # GEORGIAN SMALL LETTER HAR
-2D25;N # GEORGIAN SMALL LETTER HOE
-2D30;N # TIFINAGH LETTER YA
-2D31;N # TIFINAGH LETTER YAB
-2D32;N # TIFINAGH LETTER YABH
-2D33;N # TIFINAGH LETTER YAG
-2D34;N # TIFINAGH LETTER YAGHH
-2D35;N # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36;N # TIFINAGH LETTER YAJ
-2D37;N # TIFINAGH LETTER YAD
-2D38;N # TIFINAGH LETTER YADH
-2D39;N # TIFINAGH LETTER YADD
-2D3A;N # TIFINAGH LETTER YADDH
-2D3B;N # TIFINAGH LETTER YEY
-2D3C;N # TIFINAGH LETTER YAF
-2D3D;N # TIFINAGH LETTER YAK
-2D3E;N # TIFINAGH LETTER TUAREG YAK
-2D3F;N # TIFINAGH LETTER YAKHH
-2D40;N # TIFINAGH LETTER YAH
-2D41;N # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42;N # TIFINAGH LETTER TUAREG YAH
-2D43;N # TIFINAGH LETTER YAHH
-2D44;N # TIFINAGH LETTER YAA
-2D45;N # TIFINAGH LETTER YAKH
-2D46;N # TIFINAGH LETTER TUAREG YAKH
-2D47;N # TIFINAGH LETTER YAQ
-2D48;N # TIFINAGH LETTER TUAREG YAQ
-2D49;N # TIFINAGH LETTER YI
-2D4A;N # TIFINAGH LETTER YAZH
-2D4B;N # TIFINAGH LETTER AHAGGAR YAZH
-2D4C;N # TIFINAGH LETTER TUAREG YAZH
-2D4D;N # TIFINAGH LETTER YAL
-2D4E;N # TIFINAGH LETTER YAM
-2D4F;N # TIFINAGH LETTER YAN
-2D50;N # TIFINAGH LETTER TUAREG YAGN
-2D51;N # TIFINAGH LETTER TUAREG YANG
-2D52;N # TIFINAGH LETTER YAP
-2D53;N # TIFINAGH LETTER YU
-2D54;N # TIFINAGH LETTER YAR
-2D55;N # TIFINAGH LETTER YARR
-2D56;N # TIFINAGH LETTER YAGH
-2D57;N # TIFINAGH LETTER TUAREG YAGH
-2D58;N # TIFINAGH LETTER AYER YAGH
-2D59;N # TIFINAGH LETTER YAS
-2D5A;N # TIFINAGH LETTER YASS
-2D5B;N # TIFINAGH LETTER YASH
-2D5C;N # TIFINAGH LETTER YAT
-2D5D;N # TIFINAGH LETTER YATH
-2D5E;N # TIFINAGH LETTER YACH
-2D5F;N # TIFINAGH LETTER YATT
-2D60;N # TIFINAGH LETTER YAV
-2D61;N # TIFINAGH LETTER YAW
-2D62;N # TIFINAGH LETTER YAY
-2D63;N # TIFINAGH LETTER YAZ
-2D64;N # TIFINAGH LETTER TAWELLEMET YAZ
-2D65;N # TIFINAGH LETTER YAZZ
-2D6F;N # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80;N # ETHIOPIC SYLLABLE LOA
-2D81;N # ETHIOPIC SYLLABLE MOA
-2D82;N # ETHIOPIC SYLLABLE ROA
-2D83;N # ETHIOPIC SYLLABLE SOA
-2D84;N # ETHIOPIC SYLLABLE SHOA
-2D85;N # ETHIOPIC SYLLABLE BOA
-2D86;N # ETHIOPIC SYLLABLE TOA
-2D87;N # ETHIOPIC SYLLABLE COA
-2D88;N # ETHIOPIC SYLLABLE NOA
-2D89;N # ETHIOPIC SYLLABLE NYOA
-2D8A;N # ETHIOPIC SYLLABLE GLOTTAL OA
-2D8B;N # ETHIOPIC SYLLABLE ZOA
-2D8C;N # ETHIOPIC SYLLABLE DOA
-2D8D;N # ETHIOPIC SYLLABLE DDOA
-2D8E;N # ETHIOPIC SYLLABLE JOA
-2D8F;N # ETHIOPIC SYLLABLE THOA
-2D90;N # ETHIOPIC SYLLABLE CHOA
-2D91;N # ETHIOPIC SYLLABLE PHOA
-2D92;N # ETHIOPIC SYLLABLE POA
-2D93;N # ETHIOPIC SYLLABLE GGWA
-2D94;N # ETHIOPIC SYLLABLE GGWI
-2D95;N # ETHIOPIC SYLLABLE GGWEE
-2D96;N # ETHIOPIC SYLLABLE GGWE
-2DA0;N # ETHIOPIC SYLLABLE SSA
-2DA1;N # ETHIOPIC SYLLABLE SSU
-2DA2;N # ETHIOPIC SYLLABLE SSI
-2DA3;N # ETHIOPIC SYLLABLE SSAA
-2DA4;N # ETHIOPIC SYLLABLE SSEE
-2DA5;N # ETHIOPIC SYLLABLE SSE
-2DA6;N # ETHIOPIC SYLLABLE SSO
-2DA8;N # ETHIOPIC SYLLABLE CCA
-2DA9;N # ETHIOPIC SYLLABLE CCU
-2DAA;N # ETHIOPIC SYLLABLE CCI
-2DAB;N # ETHIOPIC SYLLABLE CCAA
-2DAC;N # ETHIOPIC SYLLABLE CCEE
-2DAD;N # ETHIOPIC SYLLABLE CCE
-2DAE;N # ETHIOPIC SYLLABLE CCO
-2DB0;N # ETHIOPIC SYLLABLE ZZA
-2DB1;N # ETHIOPIC SYLLABLE ZZU
-2DB2;N # ETHIOPIC SYLLABLE ZZI
-2DB3;N # ETHIOPIC SYLLABLE ZZAA
-2DB4;N # ETHIOPIC SYLLABLE ZZEE
-2DB5;N # ETHIOPIC SYLLABLE ZZE
-2DB6;N # ETHIOPIC SYLLABLE ZZO
-2DB8;N # ETHIOPIC SYLLABLE CCHA
-2DB9;N # ETHIOPIC SYLLABLE CCHU
-2DBA;N # ETHIOPIC SYLLABLE CCHI
-2DBB;N # ETHIOPIC SYLLABLE CCHAA
-2DBC;N # ETHIOPIC SYLLABLE CCHEE
-2DBD;N # ETHIOPIC SYLLABLE CCHE
-2DBE;N # ETHIOPIC SYLLABLE CCHO
-2DC0;N # ETHIOPIC SYLLABLE QYA
-2DC1;N # ETHIOPIC SYLLABLE QYU
-2DC2;N # ETHIOPIC SYLLABLE QYI
-2DC3;N # ETHIOPIC SYLLABLE QYAA
-2DC4;N # ETHIOPIC SYLLABLE QYEE
-2DC5;N # ETHIOPIC SYLLABLE QYE
-2DC6;N # ETHIOPIC SYLLABLE QYO
-2DC8;N # ETHIOPIC SYLLABLE KYA
-2DC9;N # ETHIOPIC SYLLABLE KYU
-2DCA;N # ETHIOPIC SYLLABLE KYI
-2DCB;N # ETHIOPIC SYLLABLE KYAA
-2DCC;N # ETHIOPIC SYLLABLE KYEE
-2DCD;N # ETHIOPIC SYLLABLE KYE
-2DCE;N # ETHIOPIC SYLLABLE KYO
-2DD0;N # ETHIOPIC SYLLABLE XYA
-2DD1;N # ETHIOPIC SYLLABLE XYU
-2DD2;N # ETHIOPIC SYLLABLE XYI
-2DD3;N # ETHIOPIC SYLLABLE XYAA
-2DD4;N # ETHIOPIC SYLLABLE XYEE
-2DD5;N # ETHIOPIC SYLLABLE XYE
-2DD6;N # ETHIOPIC SYLLABLE XYO
-2DD8;N # ETHIOPIC SYLLABLE GYA
-2DD9;N # ETHIOPIC SYLLABLE GYU
-2DDA;N # ETHIOPIC SYLLABLE GYI
-2DDB;N # ETHIOPIC SYLLABLE GYAA
-2DDC;N # ETHIOPIC SYLLABLE GYEE
-2DDD;N # ETHIOPIC SYLLABLE GYE
-2DDE;N # ETHIOPIC SYLLABLE GYO
-2DE0;N # COMBINING CYRILLIC LETTER BE
-2DE1;N # COMBINING CYRILLIC LETTER VE
-2DE2;N # COMBINING CYRILLIC LETTER GHE
-2DE3;N # COMBINING CYRILLIC LETTER DE
-2DE4;N # COMBINING CYRILLIC LETTER ZHE
-2DE5;N # COMBINING CYRILLIC LETTER ZE
-2DE6;N # COMBINING CYRILLIC LETTER KA
-2DE7;N # COMBINING CYRILLIC LETTER EL
-2DE8;N # COMBINING CYRILLIC LETTER EM
-2DE9;N # COMBINING CYRILLIC LETTER EN
-2DEA;N # COMBINING CYRILLIC LETTER O
-2DEB;N # COMBINING CYRILLIC LETTER PE
-2DEC;N # COMBINING CYRILLIC LETTER ER
-2DED;N # COMBINING CYRILLIC LETTER ES
-2DEE;N # COMBINING CYRILLIC LETTER TE
-2DEF;N # COMBINING CYRILLIC LETTER HA
-2DF0;N # COMBINING CYRILLIC LETTER TSE
-2DF1;N # COMBINING CYRILLIC LETTER CHE
-2DF2;N # COMBINING CYRILLIC LETTER SHA
-2DF3;N # COMBINING CYRILLIC LETTER SHCHA
-2DF4;N # COMBINING CYRILLIC LETTER FITA
-2DF5;N # COMBINING CYRILLIC LETTER ES-TE
-2DF6;N # COMBINING CYRILLIC LETTER A
-2DF7;N # COMBINING CYRILLIC LETTER IE
-2DF8;N # COMBINING CYRILLIC LETTER DJERV
-2DF9;N # COMBINING CYRILLIC LETTER MONOGRAPH UK
-2DFA;N # COMBINING CYRILLIC LETTER YAT
-2DFB;N # COMBINING CYRILLIC LETTER YU
-2DFC;N # COMBINING CYRILLIC LETTER IOTIFIED A
-2DFD;N # COMBINING CYRILLIC LETTER LITTLE YUS
-2DFE;N # COMBINING CYRILLIC LETTER BIG YUS
-2DFF;N # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E00;N # RIGHT ANGLE SUBSTITUTION MARKER
-2E01;N # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02;N # LEFT SUBSTITUTION BRACKET
-2E03;N # RIGHT SUBSTITUTION BRACKET
-2E04;N # LEFT DOTTED SUBSTITUTION BRACKET
-2E05;N # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06;N # RAISED INTERPOLATION MARKER
-2E07;N # RAISED DOTTED INTERPOLATION MARKER
-2E08;N # DOTTED TRANSPOSITION MARKER
-2E09;N # LEFT TRANSPOSITION BRACKET
-2E0A;N # RIGHT TRANSPOSITION BRACKET
-2E0B;N # RAISED SQUARE
-2E0C;N # LEFT RAISED OMISSION BRACKET
-2E0D;N # RIGHT RAISED OMISSION BRACKET
-2E0E;N # EDITORIAL CORONIS
-2E0F;N # PARAGRAPHOS
-2E10;N # FORKED PARAGRAPHOS
-2E11;N # REVERSED FORKED PARAGRAPHOS
-2E12;N # HYPODIASTOLE
-2E13;N # DOTTED OBELOS
-2E14;N # DOWNWARDS ANCORA
-2E15;N # UPWARDS ANCORA
-2E16;N # DOTTED RIGHT-POINTING ANGLE
-2E17;N # DOUBLE OBLIQUE HYPHEN
-2E18;N # INVERTED INTERROBANG
-2E19;N # PALM BRANCH
-2E1A;N # HYPHEN WITH DIAERESIS
-2E1B;N # TILDE WITH RING ABOVE
-2E1C;N # LEFT LOW PARAPHRASE BRACKET
-2E1D;N # RIGHT LOW PARAPHRASE BRACKET
-2E1E;N # TILDE WITH DOT ABOVE
-2E1F;N # TILDE WITH DOT BELOW
-2E20;N # LEFT VERTICAL BAR WITH QUILL
-2E21;N # RIGHT VERTICAL BAR WITH QUILL
-2E22;N # TOP LEFT HALF BRACKET
-2E23;N # TOP RIGHT HALF BRACKET
-2E24;N # BOTTOM LEFT HALF BRACKET
-2E25;N # BOTTOM RIGHT HALF BRACKET
-2E26;N # LEFT SIDEWAYS U BRACKET
-2E27;N # RIGHT SIDEWAYS U BRACKET
-2E28;N # LEFT DOUBLE PARENTHESIS
-2E29;N # RIGHT DOUBLE PARENTHESIS
-2E2A;N # TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B;N # ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C;N # SQUARED FOUR DOT PUNCTUATION
-2E2D;N # FIVE DOT MARK
-2E2E;N # REVERSED QUESTION MARK
-2E2F;N # VERTICAL TILDE
-2E30;N # RING POINT
-2E31;N # WORD SEPARATOR MIDDLE DOT
-2E80;W # CJK RADICAL REPEAT
-2E81;W # CJK RADICAL CLIFF
-2E82;W # CJK RADICAL SECOND ONE
-2E83;W # CJK RADICAL SECOND TWO
-2E84;W # CJK RADICAL SECOND THREE
-2E85;W # CJK RADICAL PERSON
-2E86;W # CJK RADICAL BOX
-2E87;W # CJK RADICAL TABLE
-2E88;W # CJK RADICAL KNIFE ONE
-2E89;W # CJK RADICAL KNIFE TWO
-2E8A;W # CJK RADICAL DIVINATION
-2E8B;W # CJK RADICAL SEAL
-2E8C;W # CJK RADICAL SMALL ONE
-2E8D;W # CJK RADICAL SMALL TWO
-2E8E;W # CJK RADICAL LAME ONE
-2E8F;W # CJK RADICAL LAME TWO
-2E90;W # CJK RADICAL LAME THREE
-2E91;W # CJK RADICAL LAME FOUR
-2E92;W # CJK RADICAL SNAKE
-2E93;W # CJK RADICAL THREAD
-2E94;W # CJK RADICAL SNOUT ONE
-2E95;W # CJK RADICAL SNOUT TWO
-2E96;W # CJK RADICAL HEART ONE
-2E97;W # CJK RADICAL HEART TWO
-2E98;W # CJK RADICAL HAND
-2E99;W # CJK RADICAL RAP
-2E9B;W # CJK RADICAL CHOKE
-2E9C;W # CJK RADICAL SUN
-2E9D;W # CJK RADICAL MOON
-2E9E;W # CJK RADICAL DEATH
-2E9F;W # CJK RADICAL MOTHER
-2EA0;W # CJK RADICAL CIVILIAN
-2EA1;W # CJK RADICAL WATER ONE
-2EA2;W # CJK RADICAL WATER TWO
-2EA3;W # CJK RADICAL FIRE
-2EA4;W # CJK RADICAL PAW ONE
-2EA5;W # CJK RADICAL PAW TWO
-2EA6;W # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
-2EA7;W # CJK RADICAL COW
-2EA8;W # CJK RADICAL DOG
-2EA9;W # CJK RADICAL JADE
-2EAA;W # CJK RADICAL BOLT OF CLOTH
-2EAB;W # CJK RADICAL EYE
-2EAC;W # CJK RADICAL SPIRIT ONE
-2EAD;W # CJK RADICAL SPIRIT TWO
-2EAE;W # CJK RADICAL BAMBOO
-2EAF;W # CJK RADICAL SILK
-2EB0;W # CJK RADICAL C-SIMPLIFIED SILK
-2EB1;W # CJK RADICAL NET ONE
-2EB2;W # CJK RADICAL NET TWO
-2EB3;W # CJK RADICAL NET THREE
-2EB4;W # CJK RADICAL NET FOUR
-2EB5;W # CJK RADICAL MESH
-2EB6;W # CJK RADICAL SHEEP
-2EB7;W # CJK RADICAL RAM
-2EB8;W # CJK RADICAL EWE
-2EB9;W # CJK RADICAL OLD
-2EBA;W # CJK RADICAL BRUSH ONE
-2EBB;W # CJK RADICAL BRUSH TWO
-2EBC;W # CJK RADICAL MEAT
-2EBD;W # CJK RADICAL MORTAR
-2EBE;W # CJK RADICAL GRASS ONE
-2EBF;W # CJK RADICAL GRASS TWO
-2EC0;W # CJK RADICAL GRASS THREE
-2EC1;W # CJK RADICAL TIGER
-2EC2;W # CJK RADICAL CLOTHES
-2EC3;W # CJK RADICAL WEST ONE
-2EC4;W # CJK RADICAL WEST TWO
-2EC5;W # CJK RADICAL C-SIMPLIFIED SEE
-2EC6;W # CJK RADICAL SIMPLIFIED HORN
-2EC7;W # CJK RADICAL HORN
-2EC8;W # CJK RADICAL C-SIMPLIFIED SPEECH
-2EC9;W # CJK RADICAL C-SIMPLIFIED SHELL
-2ECA;W # CJK RADICAL FOOT
-2ECB;W # CJK RADICAL C-SIMPLIFIED CART
-2ECC;W # CJK RADICAL SIMPLIFIED WALK
-2ECD;W # CJK RADICAL WALK ONE
-2ECE;W # CJK RADICAL WALK TWO
-2ECF;W # CJK RADICAL CITY
-2ED0;W # CJK RADICAL C-SIMPLIFIED GOLD
-2ED1;W # CJK RADICAL LONG ONE
-2ED2;W # CJK RADICAL LONG TWO
-2ED3;W # CJK RADICAL C-SIMPLIFIED LONG
-2ED4;W # CJK RADICAL C-SIMPLIFIED GATE
-2ED5;W # CJK RADICAL MOUND ONE
-2ED6;W # CJK RADICAL MOUND TWO
-2ED7;W # CJK RADICAL RAIN
-2ED8;W # CJK RADICAL BLUE
-2ED9;W # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
-2EDA;W # CJK RADICAL C-SIMPLIFIED LEAF
-2EDB;W # CJK RADICAL C-SIMPLIFIED WIND
-2EDC;W # CJK RADICAL C-SIMPLIFIED FLY
-2EDD;W # CJK RADICAL EAT ONE
-2EDE;W # CJK RADICAL EAT TWO
-2EDF;W # CJK RADICAL EAT THREE
-2EE0;W # CJK RADICAL C-SIMPLIFIED EAT
-2EE1;W # CJK RADICAL HEAD
-2EE2;W # CJK RADICAL C-SIMPLIFIED HORSE
-2EE3;W # CJK RADICAL BONE
-2EE4;W # CJK RADICAL GHOST
-2EE5;W # CJK RADICAL C-SIMPLIFIED FISH
-2EE6;W # CJK RADICAL C-SIMPLIFIED BIRD
-2EE7;W # CJK RADICAL C-SIMPLIFIED SALT
-2EE8;W # CJK RADICAL SIMPLIFIED WHEAT
-2EE9;W # CJK RADICAL SIMPLIFIED YELLOW
-2EEA;W # CJK RADICAL C-SIMPLIFIED FROG
-2EEB;W # CJK RADICAL J-SIMPLIFIED EVEN
-2EEC;W # CJK RADICAL C-SIMPLIFIED EVEN
-2EED;W # CJK RADICAL J-SIMPLIFIED TOOTH
-2EEE;W # CJK RADICAL C-SIMPLIFIED TOOTH
-2EEF;W # CJK RADICAL J-SIMPLIFIED DRAGON
-2EF0;W # CJK RADICAL C-SIMPLIFIED DRAGON
-2EF1;W # CJK RADICAL TURTLE
-2EF2;W # CJK RADICAL J-SIMPLIFIED TURTLE
-2EF3;W # CJK RADICAL C-SIMPLIFIED TURTLE
-2F00;W # KANGXI RADICAL ONE
-2F01;W # KANGXI RADICAL LINE
-2F02;W # KANGXI RADICAL DOT
-2F03;W # KANGXI RADICAL SLASH
-2F04;W # KANGXI RADICAL SECOND
-2F05;W # KANGXI RADICAL HOOK
-2F06;W # KANGXI RADICAL TWO
-2F07;W # KANGXI RADICAL LID
-2F08;W # KANGXI RADICAL MAN
-2F09;W # KANGXI RADICAL LEGS
-2F0A;W # KANGXI RADICAL ENTER
-2F0B;W # KANGXI RADICAL EIGHT
-2F0C;W # KANGXI RADICAL DOWN BOX
-2F0D;W # KANGXI RADICAL COVER
-2F0E;W # KANGXI RADICAL ICE
-2F0F;W # KANGXI RADICAL TABLE
-2F10;W # KANGXI RADICAL OPEN BOX
-2F11;W # KANGXI RADICAL KNIFE
-2F12;W # KANGXI RADICAL POWER
-2F13;W # KANGXI RADICAL WRAP
-2F14;W # KANGXI RADICAL SPOON
-2F15;W # KANGXI RADICAL RIGHT OPEN BOX
-2F16;W # KANGXI RADICAL HIDING ENCLOSURE
-2F17;W # KANGXI RADICAL TEN
-2F18;W # KANGXI RADICAL DIVINATION
-2F19;W # KANGXI RADICAL SEAL
-2F1A;W # KANGXI RADICAL CLIFF
-2F1B;W # KANGXI RADICAL PRIVATE
-2F1C;W # KANGXI RADICAL AGAIN
-2F1D;W # KANGXI RADICAL MOUTH
-2F1E;W # KANGXI RADICAL ENCLOSURE
-2F1F;W # KANGXI RADICAL EARTH
-2F20;W # KANGXI RADICAL SCHOLAR
-2F21;W # KANGXI RADICAL GO
-2F22;W # KANGXI RADICAL GO SLOWLY
-2F23;W # KANGXI RADICAL EVENING
-2F24;W # KANGXI RADICAL BIG
-2F25;W # KANGXI RADICAL WOMAN
-2F26;W # KANGXI RADICAL CHILD
-2F27;W # KANGXI RADICAL ROOF
-2F28;W # KANGXI RADICAL INCH
-2F29;W # KANGXI RADICAL SMALL
-2F2A;W # KANGXI RADICAL LAME
-2F2B;W # KANGXI RADICAL CORPSE
-2F2C;W # KANGXI RADICAL SPROUT
-2F2D;W # KANGXI RADICAL MOUNTAIN
-2F2E;W # KANGXI RADICAL RIVER
-2F2F;W # KANGXI RADICAL WORK
-2F30;W # KANGXI RADICAL ONESELF
-2F31;W # KANGXI RADICAL TURBAN
-2F32;W # KANGXI RADICAL DRY
-2F33;W # KANGXI RADICAL SHORT THREAD
-2F34;W # KANGXI RADICAL DOTTED CLIFF
-2F35;W # KANGXI RADICAL LONG STRIDE
-2F36;W # KANGXI RADICAL TWO HANDS
-2F37;W # KANGXI RADICAL SHOOT
-2F38;W # KANGXI RADICAL BOW
-2F39;W # KANGXI RADICAL SNOUT
-2F3A;W # KANGXI RADICAL BRISTLE
-2F3B;W # KANGXI RADICAL STEP
-2F3C;W # KANGXI RADICAL HEART
-2F3D;W # KANGXI RADICAL HALBERD
-2F3E;W # KANGXI RADICAL DOOR
-2F3F;W # KANGXI RADICAL HAND
-2F40;W # KANGXI RADICAL BRANCH
-2F41;W # KANGXI RADICAL RAP
-2F42;W # KANGXI RADICAL SCRIPT
-2F43;W # KANGXI RADICAL DIPPER
-2F44;W # KANGXI RADICAL AXE
-2F45;W # KANGXI RADICAL SQUARE
-2F46;W # KANGXI RADICAL NOT
-2F47;W # KANGXI RADICAL SUN
-2F48;W # KANGXI RADICAL SAY
-2F49;W # KANGXI RADICAL MOON
-2F4A;W # KANGXI RADICAL TREE
-2F4B;W # KANGXI RADICAL LACK
-2F4C;W # KANGXI RADICAL STOP
-2F4D;W # KANGXI RADICAL DEATH
-2F4E;W # KANGXI RADICAL WEAPON
-2F4F;W # KANGXI RADICAL DO NOT
-2F50;W # KANGXI RADICAL COMPARE
-2F51;W # KANGXI RADICAL FUR
-2F52;W # KANGXI RADICAL CLAN
-2F53;W # KANGXI RADICAL STEAM
-2F54;W # KANGXI RADICAL WATER
-2F55;W # KANGXI RADICAL FIRE
-2F56;W # KANGXI RADICAL CLAW
-2F57;W # KANGXI RADICAL FATHER
-2F58;W # KANGXI RADICAL DOUBLE X
-2F59;W # KANGXI RADICAL HALF TREE TRUNK
-2F5A;W # KANGXI RADICAL SLICE
-2F5B;W # KANGXI RADICAL FANG
-2F5C;W # KANGXI RADICAL COW
-2F5D;W # KANGXI RADICAL DOG
-2F5E;W # KANGXI RADICAL PROFOUND
-2F5F;W # KANGXI RADICAL JADE
-2F60;W # KANGXI RADICAL MELON
-2F61;W # KANGXI RADICAL TILE
-2F62;W # KANGXI RADICAL SWEET
-2F63;W # KANGXI RADICAL LIFE
-2F64;W # KANGXI RADICAL USE
-2F65;W # KANGXI RADICAL FIELD
-2F66;W # KANGXI RADICAL BOLT OF CLOTH
-2F67;W # KANGXI RADICAL SICKNESS
-2F68;W # KANGXI RADICAL DOTTED TENT
-2F69;W # KANGXI RADICAL WHITE
-2F6A;W # KANGXI RADICAL SKIN
-2F6B;W # KANGXI RADICAL DISH
-2F6C;W # KANGXI RADICAL EYE
-2F6D;W # KANGXI RADICAL SPEAR
-2F6E;W # KANGXI RADICAL ARROW
-2F6F;W # KANGXI RADICAL STONE
-2F70;W # KANGXI RADICAL SPIRIT
-2F71;W # KANGXI RADICAL TRACK
-2F72;W # KANGXI RADICAL GRAIN
-2F73;W # KANGXI RADICAL CAVE
-2F74;W # KANGXI RADICAL STAND
-2F75;W # KANGXI RADICAL BAMBOO
-2F76;W # KANGXI RADICAL RICE
-2F77;W # KANGXI RADICAL SILK
-2F78;W # KANGXI RADICAL JAR
-2F79;W # KANGXI RADICAL NET
-2F7A;W # KANGXI RADICAL SHEEP
-2F7B;W # KANGXI RADICAL FEATHER
-2F7C;W # KANGXI RADICAL OLD
-2F7D;W # KANGXI RADICAL AND
-2F7E;W # KANGXI RADICAL PLOW
-2F7F;W # KANGXI RADICAL EAR
-2F80;W # KANGXI RADICAL BRUSH
-2F81;W # KANGXI RADICAL MEAT
-2F82;W # KANGXI RADICAL MINISTER
-2F83;W # KANGXI RADICAL SELF
-2F84;W # KANGXI RADICAL ARRIVE
-2F85;W # KANGXI RADICAL MORTAR
-2F86;W # KANGXI RADICAL TONGUE
-2F87;W # KANGXI RADICAL OPPOSE
-2F88;W # KANGXI RADICAL BOAT
-2F89;W # KANGXI RADICAL STOPPING
-2F8A;W # KANGXI RADICAL COLOR
-2F8B;W # KANGXI RADICAL GRASS
-2F8C;W # KANGXI RADICAL TIGER
-2F8D;W # KANGXI RADICAL INSECT
-2F8E;W # KANGXI RADICAL BLOOD
-2F8F;W # KANGXI RADICAL WALK ENCLOSURE
-2F90;W # KANGXI RADICAL CLOTHES
-2F91;W # KANGXI RADICAL WEST
-2F92;W # KANGXI RADICAL SEE
-2F93;W # KANGXI RADICAL HORN
-2F94;W # KANGXI RADICAL SPEECH
-2F95;W # KANGXI RADICAL VALLEY
-2F96;W # KANGXI RADICAL BEAN
-2F97;W # KANGXI RADICAL PIG
-2F98;W # KANGXI RADICAL BADGER
-2F99;W # KANGXI RADICAL SHELL
-2F9A;W # KANGXI RADICAL RED
-2F9B;W # KANGXI RADICAL RUN
-2F9C;W # KANGXI RADICAL FOOT
-2F9D;W # KANGXI RADICAL BODY
-2F9E;W # KANGXI RADICAL CART
-2F9F;W # KANGXI RADICAL BITTER
-2FA0;W # KANGXI RADICAL MORNING
-2FA1;W # KANGXI RADICAL WALK
-2FA2;W # KANGXI RADICAL CITY
-2FA3;W # KANGXI RADICAL WINE
-2FA4;W # KANGXI RADICAL DISTINGUISH
-2FA5;W # KANGXI RADICAL VILLAGE
-2FA6;W # KANGXI RADICAL GOLD
-2FA7;W # KANGXI RADICAL LONG
-2FA8;W # KANGXI RADICAL GATE
-2FA9;W # KANGXI RADICAL MOUND
-2FAA;W # KANGXI RADICAL SLAVE
-2FAB;W # KANGXI RADICAL SHORT TAILED BIRD
-2FAC;W # KANGXI RADICAL RAIN
-2FAD;W # KANGXI RADICAL BLUE
-2FAE;W # KANGXI RADICAL WRONG
-2FAF;W # KANGXI RADICAL FACE
-2FB0;W # KANGXI RADICAL LEATHER
-2FB1;W # KANGXI RADICAL TANNED LEATHER
-2FB2;W # KANGXI RADICAL LEEK
-2FB3;W # KANGXI RADICAL SOUND
-2FB4;W # KANGXI RADICAL LEAF
-2FB5;W # KANGXI RADICAL WIND
-2FB6;W # KANGXI RADICAL FLY
-2FB7;W # KANGXI RADICAL EAT
-2FB8;W # KANGXI RADICAL HEAD
-2FB9;W # KANGXI RADICAL FRAGRANT
-2FBA;W # KANGXI RADICAL HORSE
-2FBB;W # KANGXI RADICAL BONE
-2FBC;W # KANGXI RADICAL TALL
-2FBD;W # KANGXI RADICAL HAIR
-2FBE;W # KANGXI RADICAL FIGHT
-2FBF;W # KANGXI RADICAL SACRIFICIAL WINE
-2FC0;W # KANGXI RADICAL CAULDRON
-2FC1;W # KANGXI RADICAL GHOST
-2FC2;W # KANGXI RADICAL FISH
-2FC3;W # KANGXI RADICAL BIRD
-2FC4;W # KANGXI RADICAL SALT
-2FC5;W # KANGXI RADICAL DEER
-2FC6;W # KANGXI RADICAL WHEAT
-2FC7;W # KANGXI RADICAL HEMP
-2FC8;W # KANGXI RADICAL YELLOW
-2FC9;W # KANGXI RADICAL MILLET
-2FCA;W # KANGXI RADICAL BLACK
-2FCB;W # KANGXI RADICAL EMBROIDERY
-2FCC;W # KANGXI RADICAL FROG
-2FCD;W # KANGXI RADICAL TRIPOD
-2FCE;W # KANGXI RADICAL DRUM
-2FCF;W # KANGXI RADICAL RAT
-2FD0;W # KANGXI RADICAL NOSE
-2FD1;W # KANGXI RADICAL EVEN
-2FD2;W # KANGXI RADICAL TOOTH
-2FD3;W # KANGXI RADICAL DRAGON
-2FD4;W # KANGXI RADICAL TURTLE
-2FD5;W # KANGXI RADICAL FLUTE
-2FF0;W # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1;W # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2;W # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3;W # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4;W # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB;W # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000;F # IDEOGRAPHIC SPACE
-3001;W # IDEOGRAPHIC COMMA
-3002;W # IDEOGRAPHIC FULL STOP
-3003;W # DITTO MARK
-3004;W # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005;W # IDEOGRAPHIC ITERATION MARK
-3006;W # IDEOGRAPHIC CLOSING MARK
-3007;W # IDEOGRAPHIC NUMBER ZERO
-3008;W # LEFT ANGLE BRACKET
-3009;W # RIGHT ANGLE BRACKET
-300A;W # LEFT DOUBLE ANGLE BRACKET
-300B;W # RIGHT DOUBLE ANGLE BRACKET
-300C;W # LEFT CORNER BRACKET
-300D;W # RIGHT CORNER BRACKET
-300E;W # LEFT WHITE CORNER BRACKET
-300F;W # RIGHT WHITE CORNER BRACKET
-3010;W # LEFT BLACK LENTICULAR BRACKET
-3011;W # RIGHT BLACK LENTICULAR BRACKET
-3012;W # POSTAL MARK
-3013;W # GETA MARK
-3014;W # LEFT TORTOISE SHELL BRACKET
-3015;W # RIGHT TORTOISE SHELL BRACKET
-3016;W # LEFT WHITE LENTICULAR BRACKET
-3017;W # RIGHT WHITE LENTICULAR BRACKET
-3018;W # LEFT WHITE TORTOISE SHELL BRACKET
-3019;W # RIGHT WHITE TORTOISE SHELL BRACKET
-301A;W # LEFT WHITE SQUARE BRACKET
-301B;W # RIGHT WHITE SQUARE BRACKET
-301C;W # WAVE DASH
-301D;W # REVERSED DOUBLE PRIME QUOTATION MARK
-301E;W # DOUBLE PRIME QUOTATION MARK
-301F;W # LOW DOUBLE PRIME QUOTATION MARK
-3020;W # POSTAL MARK FACE
-3021;W # HANGZHOU NUMERAL ONE
-3022;W # HANGZHOU NUMERAL TWO
-3023;W # HANGZHOU NUMERAL THREE
-3024;W # HANGZHOU NUMERAL FOUR
-3025;W # HANGZHOU NUMERAL FIVE
-3026;W # HANGZHOU NUMERAL SIX
-3027;W # HANGZHOU NUMERAL SEVEN
-3028;W # HANGZHOU NUMERAL EIGHT
-3029;W # HANGZHOU NUMERAL NINE
-302A;W # IDEOGRAPHIC LEVEL TONE MARK
-302B;W # IDEOGRAPHIC RISING TONE MARK
-302C;W # IDEOGRAPHIC DEPARTING TONE MARK
-302D;W # IDEOGRAPHIC ENTERING TONE MARK
-302E;W # HANGUL SINGLE DOT TONE MARK
-302F;W # HANGUL DOUBLE DOT TONE MARK
-3030;W # WAVY DASH
-3031;W # VERTICAL KANA REPEAT MARK
-3032;W # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
-3033;W # VERTICAL KANA REPEAT MARK UPPER HALF
-3034;W # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
-3035;W # VERTICAL KANA REPEAT MARK LOWER HALF
-3036;W # CIRCLED POSTAL MARK
-3037;W # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038;W # HANGZHOU NUMERAL TEN
-3039;W # HANGZHOU NUMERAL TWENTY
-303A;W # HANGZHOU NUMERAL THIRTY
-303B;W # VERTICAL IDEOGRAPHIC ITERATION MARK
-303C;W # MASU MARK
-303D;W # PART ALTERNATION MARK
-303E;W # IDEOGRAPHIC VARIATION INDICATOR
-303F;N # IDEOGRAPHIC HALF FILL SPACE
-3041;W # HIRAGANA LETTER SMALL A
-3042;W # HIRAGANA LETTER A
-3043;W # HIRAGANA LETTER SMALL I
-3044;W # HIRAGANA LETTER I
-3045;W # HIRAGANA LETTER SMALL U
-3046;W # HIRAGANA LETTER U
-3047;W # HIRAGANA LETTER SMALL E
-3048;W # HIRAGANA LETTER E
-3049;W # HIRAGANA LETTER SMALL O
-304A;W # HIRAGANA LETTER O
-304B;W # HIRAGANA LETTER KA
-304C;W # HIRAGANA LETTER GA
-304D;W # HIRAGANA LETTER KI
-304E;W # HIRAGANA LETTER GI
-304F;W # HIRAGANA LETTER KU
-3050;W # HIRAGANA LETTER GU
-3051;W # HIRAGANA LETTER KE
-3052;W # HIRAGANA LETTER GE
-3053;W # HIRAGANA LETTER KO
-3054;W # HIRAGANA LETTER GO
-3055;W # HIRAGANA LETTER SA
-3056;W # HIRAGANA LETTER ZA
-3057;W # HIRAGANA LETTER SI
-3058;W # HIRAGANA LETTER ZI
-3059;W # HIRAGANA LETTER SU
-305A;W # HIRAGANA LETTER ZU
-305B;W # HIRAGANA LETTER SE
-305C;W # HIRAGANA LETTER ZE
-305D;W # HIRAGANA LETTER SO
-305E;W # HIRAGANA LETTER ZO
-305F;W # HIRAGANA LETTER TA
-3060;W # HIRAGANA LETTER DA
-3061;W # HIRAGANA LETTER TI
-3062;W # HIRAGANA LETTER DI
-3063;W # HIRAGANA LETTER SMALL TU
-3064;W # HIRAGANA LETTER TU
-3065;W # HIRAGANA LETTER DU
-3066;W # HIRAGANA LETTER TE
-3067;W # HIRAGANA LETTER DE
-3068;W # HIRAGANA LETTER TO
-3069;W # HIRAGANA LETTER DO
-306A;W # HIRAGANA LETTER NA
-306B;W # HIRAGANA LETTER NI
-306C;W # HIRAGANA LETTER NU
-306D;W # HIRAGANA LETTER NE
-306E;W # HIRAGANA LETTER NO
-306F;W # HIRAGANA LETTER HA
-3070;W # HIRAGANA LETTER BA
-3071;W # HIRAGANA LETTER PA
-3072;W # HIRAGANA LETTER HI
-3073;W # HIRAGANA LETTER BI
-3074;W # HIRAGANA LETTER PI
-3075;W # HIRAGANA LETTER HU
-3076;W # HIRAGANA LETTER BU
-3077;W # HIRAGANA LETTER PU
-3078;W # HIRAGANA LETTER HE
-3079;W # HIRAGANA LETTER BE
-307A;W # HIRAGANA LETTER PE
-307B;W # HIRAGANA LETTER HO
-307C;W # HIRAGANA LETTER BO
-307D;W # HIRAGANA LETTER PO
-307E;W # HIRAGANA LETTER MA
-307F;W # HIRAGANA LETTER MI
-3080;W # HIRAGANA LETTER MU
-3081;W # HIRAGANA LETTER ME
-3082;W # HIRAGANA LETTER MO
-3083;W # HIRAGANA LETTER SMALL YA
-3084;W # HIRAGANA LETTER YA
-3085;W # HIRAGANA LETTER SMALL YU
-3086;W # HIRAGANA LETTER YU
-3087;W # HIRAGANA LETTER SMALL YO
-3088;W # HIRAGANA LETTER YO
-3089;W # HIRAGANA LETTER RA
-308A;W # HIRAGANA LETTER RI
-308B;W # HIRAGANA LETTER RU
-308C;W # HIRAGANA LETTER RE
-308D;W # HIRAGANA LETTER RO
-308E;W # HIRAGANA LETTER SMALL WA
-308F;W # HIRAGANA LETTER WA
-3090;W # HIRAGANA LETTER WI
-3091;W # HIRAGANA LETTER WE
-3092;W # HIRAGANA LETTER WO
-3093;W # HIRAGANA LETTER N
-3094;W # HIRAGANA LETTER VU
-3095;W # HIRAGANA LETTER SMALL KA
-3096;W # HIRAGANA LETTER SMALL KE
-3099;W # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-309A;W # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B;W # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C;W # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D;W # HIRAGANA ITERATION MARK
-309E;W # HIRAGANA VOICED ITERATION MARK
-309F;W # HIRAGANA DIGRAPH YORI
-30A0;W # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1;W # KATAKANA LETTER SMALL A
-30A2;W # KATAKANA LETTER A
-30A3;W # KATAKANA LETTER SMALL I
-30A4;W # KATAKANA LETTER I
-30A5;W # KATAKANA LETTER SMALL U
-30A6;W # KATAKANA LETTER U
-30A7;W # KATAKANA LETTER SMALL E
-30A8;W # KATAKANA LETTER E
-30A9;W # KATAKANA LETTER SMALL O
-30AA;W # KATAKANA LETTER O
-30AB;W # KATAKANA LETTER KA
-30AC;W # KATAKANA LETTER GA
-30AD;W # KATAKANA LETTER KI
-30AE;W # KATAKANA LETTER GI
-30AF;W # KATAKANA LETTER KU
-30B0;W # KATAKANA LETTER GU
-30B1;W # KATAKANA LETTER KE
-30B2;W # KATAKANA LETTER GE
-30B3;W # KATAKANA LETTER KO
-30B4;W # KATAKANA LETTER GO
-30B5;W # KATAKANA LETTER SA
-30B6;W # KATAKANA LETTER ZA
-30B7;W # KATAKANA LETTER SI
-30B8;W # KATAKANA LETTER ZI
-30B9;W # KATAKANA LETTER SU
-30BA;W # KATAKANA LETTER ZU
-30BB;W # KATAKANA LETTER SE
-30BC;W # KATAKANA LETTER ZE
-30BD;W # KATAKANA LETTER SO
-30BE;W # KATAKANA LETTER ZO
-30BF;W # KATAKANA LETTER TA
-30C0;W # KATAKANA LETTER DA
-30C1;W # KATAKANA LETTER TI
-30C2;W # KATAKANA LETTER DI
-30C3;W # KATAKANA LETTER SMALL TU
-30C4;W # KATAKANA LETTER TU
-30C5;W # KATAKANA LETTER DU
-30C6;W # KATAKANA LETTER TE
-30C7;W # KATAKANA LETTER DE
-30C8;W # KATAKANA LETTER TO
-30C9;W # KATAKANA LETTER DO
-30CA;W # KATAKANA LETTER NA
-30CB;W # KATAKANA LETTER NI
-30CC;W # KATAKANA LETTER NU
-30CD;W # KATAKANA LETTER NE
-30CE;W # KATAKANA LETTER NO
-30CF;W # KATAKANA LETTER HA
-30D0;W # KATAKANA LETTER BA
-30D1;W # KATAKANA LETTER PA
-30D2;W # KATAKANA LETTER HI
-30D3;W # KATAKANA LETTER BI
-30D4;W # KATAKANA LETTER PI
-30D5;W # KATAKANA LETTER HU
-30D6;W # KATAKANA LETTER BU
-30D7;W # KATAKANA LETTER PU
-30D8;W # KATAKANA LETTER HE
-30D9;W # KATAKANA LETTER BE
-30DA;W # KATAKANA LETTER PE
-30DB;W # KATAKANA LETTER HO
-30DC;W # KATAKANA LETTER BO
-30DD;W # KATAKANA LETTER PO
-30DE;W # KATAKANA LETTER MA
-30DF;W # KATAKANA LETTER MI
-30E0;W # KATAKANA LETTER MU
-30E1;W # KATAKANA LETTER ME
-30E2;W # KATAKANA LETTER MO
-30E3;W # KATAKANA LETTER SMALL YA
-30E4;W # KATAKANA LETTER YA
-30E5;W # KATAKANA LETTER SMALL YU
-30E6;W # KATAKANA LETTER YU
-30E7;W # KATAKANA LETTER SMALL YO
-30E8;W # KATAKANA LETTER YO
-30E9;W # KATAKANA LETTER RA
-30EA;W # KATAKANA LETTER RI
-30EB;W # KATAKANA LETTER RU
-30EC;W # KATAKANA LETTER RE
-30ED;W # KATAKANA LETTER RO
-30EE;W # KATAKANA LETTER SMALL WA
-30EF;W # KATAKANA LETTER WA
-30F0;W # KATAKANA LETTER WI
-30F1;W # KATAKANA LETTER WE
-30F2;W # KATAKANA LETTER WO
-30F3;W # KATAKANA LETTER N
-30F4;W # KATAKANA LETTER VU
-30F5;W # KATAKANA LETTER SMALL KA
-30F6;W # KATAKANA LETTER SMALL KE
-30F7;W # KATAKANA LETTER VA
-30F8;W # KATAKANA LETTER VI
-30F9;W # KATAKANA LETTER VE
-30FA;W # KATAKANA LETTER VO
-30FB;W # KATAKANA MIDDLE DOT
-30FC;W # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-30FD;W # KATAKANA ITERATION MARK
-30FE;W # KATAKANA VOICED ITERATION MARK
-30FF;W # KATAKANA DIGRAPH KOTO
-3105;W # BOPOMOFO LETTER B
-3106;W # BOPOMOFO LETTER P
-3107;W # BOPOMOFO LETTER M
-3108;W # BOPOMOFO LETTER F
-3109;W # BOPOMOFO LETTER D
-310A;W # BOPOMOFO LETTER T
-310B;W # BOPOMOFO LETTER N
-310C;W # BOPOMOFO LETTER L
-310D;W # BOPOMOFO LETTER G
-310E;W # BOPOMOFO LETTER K
-310F;W # BOPOMOFO LETTER H
-3110;W # BOPOMOFO LETTER J
-3111;W # BOPOMOFO LETTER Q
-3112;W # BOPOMOFO LETTER X
-3113;W # BOPOMOFO LETTER ZH
-3114;W # BOPOMOFO LETTER CH
-3115;W # BOPOMOFO LETTER SH
-3116;W # BOPOMOFO LETTER R
-3117;W # BOPOMOFO LETTER Z
-3118;W # BOPOMOFO LETTER C
-3119;W # BOPOMOFO LETTER S
-311A;W # BOPOMOFO LETTER A
-311B;W # BOPOMOFO LETTER O
-311C;W # BOPOMOFO LETTER E
-311D;W # BOPOMOFO LETTER EH
-311E;W # BOPOMOFO LETTER AI
-311F;W # BOPOMOFO LETTER EI
-3120;W # BOPOMOFO LETTER AU
-3121;W # BOPOMOFO LETTER OU
-3122;W # BOPOMOFO LETTER AN
-3123;W # BOPOMOFO LETTER EN
-3124;W # BOPOMOFO LETTER ANG
-3125;W # BOPOMOFO LETTER ENG
-3126;W # BOPOMOFO LETTER ER
-3127;W # BOPOMOFO LETTER I
-3128;W # BOPOMOFO LETTER U
-3129;W # BOPOMOFO LETTER IU
-312A;W # BOPOMOFO LETTER V
-312B;W # BOPOMOFO LETTER NG
-312C;W # BOPOMOFO LETTER GN
-312D;W # BOPOMOFO LETTER IH
-3131;W # HANGUL LETTER KIYEOK
-3132;W # HANGUL LETTER SSANGKIYEOK
-3133;W # HANGUL LETTER KIYEOK-SIOS
-3134;W # HANGUL LETTER NIEUN
-3135;W # HANGUL LETTER NIEUN-CIEUC
-3136;W # HANGUL LETTER NIEUN-HIEUH
-3137;W # HANGUL LETTER TIKEUT
-3138;W # HANGUL LETTER SSANGTIKEUT
-3139;W # HANGUL LETTER RIEUL
-313A;W # HANGUL LETTER RIEUL-KIYEOK
-313B;W # HANGUL LETTER RIEUL-MIEUM
-313C;W # HANGUL LETTER RIEUL-PIEUP
-313D;W # HANGUL LETTER RIEUL-SIOS
-313E;W # HANGUL LETTER RIEUL-THIEUTH
-313F;W # HANGUL LETTER RIEUL-PHIEUPH
-3140;W # HANGUL LETTER RIEUL-HIEUH
-3141;W # HANGUL LETTER MIEUM
-3142;W # HANGUL LETTER PIEUP
-3143;W # HANGUL LETTER SSANGPIEUP
-3144;W # HANGUL LETTER PIEUP-SIOS
-3145;W # HANGUL LETTER SIOS
-3146;W # HANGUL LETTER SSANGSIOS
-3147;W # HANGUL LETTER IEUNG
-3148;W # HANGUL LETTER CIEUC
-3149;W # HANGUL LETTER SSANGCIEUC
-314A;W # HANGUL LETTER CHIEUCH
-314B;W # HANGUL LETTER KHIEUKH
-314C;W # HANGUL LETTER THIEUTH
-314D;W # HANGUL LETTER PHIEUPH
-314E;W # HANGUL LETTER HIEUH
-314F;W # HANGUL LETTER A
-3150;W # HANGUL LETTER AE
-3151;W # HANGUL LETTER YA
-3152;W # HANGUL LETTER YAE
-3153;W # HANGUL LETTER EO
-3154;W # HANGUL LETTER E
-3155;W # HANGUL LETTER YEO
-3156;W # HANGUL LETTER YE
-3157;W # HANGUL LETTER O
-3158;W # HANGUL LETTER WA
-3159;W # HANGUL LETTER WAE
-315A;W # HANGUL LETTER OE
-315B;W # HANGUL LETTER YO
-315C;W # HANGUL LETTER U
-315D;W # HANGUL LETTER WEO
-315E;W # HANGUL LETTER WE
-315F;W # HANGUL LETTER WI
-3160;W # HANGUL LETTER YU
-3161;W # HANGUL LETTER EU
-3162;W # HANGUL LETTER YI
-3163;W # HANGUL LETTER I
-3164;W # HANGUL FILLER
-3165;W # HANGUL LETTER SSANGNIEUN
-3166;W # HANGUL LETTER NIEUN-TIKEUT
-3167;W # HANGUL LETTER NIEUN-SIOS
-3168;W # HANGUL LETTER NIEUN-PANSIOS
-3169;W # HANGUL LETTER RIEUL-KIYEOK-SIOS
-316A;W # HANGUL LETTER RIEUL-TIKEUT
-316B;W # HANGUL LETTER RIEUL-PIEUP-SIOS
-316C;W # HANGUL LETTER RIEUL-PANSIOS
-316D;W # HANGUL LETTER RIEUL-YEORINHIEUH
-316E;W # HANGUL LETTER MIEUM-PIEUP
-316F;W # HANGUL LETTER MIEUM-SIOS
-3170;W # HANGUL LETTER MIEUM-PANSIOS
-3171;W # HANGUL LETTER KAPYEOUNMIEUM
-3172;W # HANGUL LETTER PIEUP-KIYEOK
-3173;W # HANGUL LETTER PIEUP-TIKEUT
-3174;W # HANGUL LETTER PIEUP-SIOS-KIYEOK
-3175;W # HANGUL LETTER PIEUP-SIOS-TIKEUT
-3176;W # HANGUL LETTER PIEUP-CIEUC
-3177;W # HANGUL LETTER PIEUP-THIEUTH
-3178;W # HANGUL LETTER KAPYEOUNPIEUP
-3179;W # HANGUL LETTER KAPYEOUNSSANGPIEUP
-317A;W # HANGUL LETTER SIOS-KIYEOK
-317B;W # HANGUL LETTER SIOS-NIEUN
-317C;W # HANGUL LETTER SIOS-TIKEUT
-317D;W # HANGUL LETTER SIOS-PIEUP
-317E;W # HANGUL LETTER SIOS-CIEUC
-317F;W # HANGUL LETTER PANSIOS
-3180;W # HANGUL LETTER SSANGIEUNG
-3181;W # HANGUL LETTER YESIEUNG
-3182;W # HANGUL LETTER YESIEUNG-SIOS
-3183;W # HANGUL LETTER YESIEUNG-PANSIOS
-3184;W # HANGUL LETTER KAPYEOUNPHIEUPH
-3185;W # HANGUL LETTER SSANGHIEUH
-3186;W # HANGUL LETTER YEORINHIEUH
-3187;W # HANGUL LETTER YO-YA
-3188;W # HANGUL LETTER YO-YAE
-3189;W # HANGUL LETTER YO-I
-318A;W # HANGUL LETTER YU-YEO
-318B;W # HANGUL LETTER YU-YE
-318C;W # HANGUL LETTER YU-I
-318D;W # HANGUL LETTER ARAEA
-318E;W # HANGUL LETTER ARAEAE
-3190;W # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191;W # IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192;W # IDEOGRAPHIC ANNOTATION ONE MARK
-3193;W # IDEOGRAPHIC ANNOTATION TWO MARK
-3194;W # IDEOGRAPHIC ANNOTATION THREE MARK
-3195;W # IDEOGRAPHIC ANNOTATION FOUR MARK
-3196;W # IDEOGRAPHIC ANNOTATION TOP MARK
-3197;W # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-3198;W # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-3199;W # IDEOGRAPHIC ANNOTATION FIRST MARK
-319A;W # IDEOGRAPHIC ANNOTATION SECOND MARK
-319B;W # IDEOGRAPHIC ANNOTATION THIRD MARK
-319C;W # IDEOGRAPHIC ANNOTATION FOURTH MARK
-319D;W # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-319E;W # IDEOGRAPHIC ANNOTATION EARTH MARK
-319F;W # IDEOGRAPHIC ANNOTATION MAN MARK
-31A0;W # BOPOMOFO LETTER BU
-31A1;W # BOPOMOFO LETTER ZI
-31A2;W # BOPOMOFO LETTER JI
-31A3;W # BOPOMOFO LETTER GU
-31A4;W # BOPOMOFO LETTER EE
-31A5;W # BOPOMOFO LETTER ENN
-31A6;W # BOPOMOFO LETTER OO
-31A7;W # BOPOMOFO LETTER ONN
-31A8;W # BOPOMOFO LETTER IR
-31A9;W # BOPOMOFO LETTER ANN
-31AA;W # BOPOMOFO LETTER INN
-31AB;W # BOPOMOFO LETTER UNN
-31AC;W # BOPOMOFO LETTER IM
-31AD;W # BOPOMOFO LETTER NGG
-31AE;W # BOPOMOFO LETTER AINN
-31AF;W # BOPOMOFO LETTER AUNN
-31B0;W # BOPOMOFO LETTER AM
-31B1;W # BOPOMOFO LETTER OM
-31B2;W # BOPOMOFO LETTER ONG
-31B3;W # BOPOMOFO LETTER INNN
-31B4;W # BOPOMOFO FINAL LETTER P
-31B5;W # BOPOMOFO FINAL LETTER T
-31B6;W # BOPOMOFO FINAL LETTER K
-31B7;W # BOPOMOFO FINAL LETTER H
-31C0;W # CJK STROKE T
-31C1;W # CJK STROKE WG
-31C2;W # CJK STROKE XG
-31C3;W # CJK STROKE BXG
-31C4;W # CJK STROKE SW
-31C5;W # CJK STROKE HZZ
-31C6;W # CJK STROKE HZG
-31C7;W # CJK STROKE HP
-31C8;W # CJK STROKE HZWG
-31C9;W # CJK STROKE SZWG
-31CA;W # CJK STROKE HZT
-31CB;W # CJK STROKE HZZP
-31CC;W # CJK STROKE HPWG
-31CD;W # CJK STROKE HZW
-31CE;W # CJK STROKE HZZZ
-31CF;W # CJK STROKE N
-31D0;W # CJK STROKE H
-31D1;W # CJK STROKE S
-31D2;W # CJK STROKE P
-31D3;W # CJK STROKE SP
-31D4;W # CJK STROKE D
-31D5;W # CJK STROKE HZ
-31D6;W # CJK STROKE HG
-31D7;W # CJK STROKE SZ
-31D8;W # CJK STROKE SWZ
-31D9;W # CJK STROKE ST
-31DA;W # CJK STROKE SG
-31DB;W # CJK STROKE PD
-31DC;W # CJK STROKE PZ
-31DD;W # CJK STROKE TN
-31DE;W # CJK STROKE SZZ
-31DF;W # CJK STROKE SWG
-31E0;W # CJK STROKE HXWG
-31E1;W # CJK STROKE HZZZG
-31E2;W # CJK STROKE PG
-31E3;W # CJK STROKE Q
-31F0;W # KATAKANA LETTER SMALL KU
-31F1;W # KATAKANA LETTER SMALL SI
-31F2;W # KATAKANA LETTER SMALL SU
-31F3;W # KATAKANA LETTER SMALL TO
-31F4;W # KATAKANA LETTER SMALL NU
-31F5;W # KATAKANA LETTER SMALL HA
-31F6;W # KATAKANA LETTER SMALL HI
-31F7;W # KATAKANA LETTER SMALL HU
-31F8;W # KATAKANA LETTER SMALL HE
-31F9;W # KATAKANA LETTER SMALL HO
-31FA;W # KATAKANA LETTER SMALL MU
-31FB;W # KATAKANA LETTER SMALL RA
-31FC;W # KATAKANA LETTER SMALL RI
-31FD;W # KATAKANA LETTER SMALL RU
-31FE;W # KATAKANA LETTER SMALL RE
-31FF;W # KATAKANA LETTER SMALL RO
-3200;W # PARENTHESIZED HANGUL KIYEOK
-3201;W # PARENTHESIZED HANGUL NIEUN
-3202;W # PARENTHESIZED HANGUL TIKEUT
-3203;W # PARENTHESIZED HANGUL RIEUL
-3204;W # PARENTHESIZED HANGUL MIEUM
-3205;W # PARENTHESIZED HANGUL PIEUP
-3206;W # PARENTHESIZED HANGUL SIOS
-3207;W # PARENTHESIZED HANGUL IEUNG
-3208;W # PARENTHESIZED HANGUL CIEUC
-3209;W # PARENTHESIZED HANGUL CHIEUCH
-320A;W # PARENTHESIZED HANGUL KHIEUKH
-320B;W # PARENTHESIZED HANGUL THIEUTH
-320C;W # PARENTHESIZED HANGUL PHIEUPH
-320D;W # PARENTHESIZED HANGUL HIEUH
-320E;W # PARENTHESIZED HANGUL KIYEOK A
-320F;W # PARENTHESIZED HANGUL NIEUN A
-3210;W # PARENTHESIZED HANGUL TIKEUT A
-3211;W # PARENTHESIZED HANGUL RIEUL A
-3212;W # PARENTHESIZED HANGUL MIEUM A
-3213;W # PARENTHESIZED HANGUL PIEUP A
-3214;W # PARENTHESIZED HANGUL SIOS A
-3215;W # PARENTHESIZED HANGUL IEUNG A
-3216;W # PARENTHESIZED HANGUL CIEUC A
-3217;W # PARENTHESIZED HANGUL CHIEUCH A
-3218;W # PARENTHESIZED HANGUL KHIEUKH A
-3219;W # PARENTHESIZED HANGUL THIEUTH A
-321A;W # PARENTHESIZED HANGUL PHIEUPH A
-321B;W # PARENTHESIZED HANGUL HIEUH A
-321C;W # PARENTHESIZED HANGUL CIEUC U
-321D;W # PARENTHESIZED KOREAN CHARACTER OJEON
-321E;W # PARENTHESIZED KOREAN CHARACTER O HU
-3220;W # PARENTHESIZED IDEOGRAPH ONE
-3221;W # PARENTHESIZED IDEOGRAPH TWO
-3222;W # PARENTHESIZED IDEOGRAPH THREE
-3223;W # PARENTHESIZED IDEOGRAPH FOUR
-3224;W # PARENTHESIZED IDEOGRAPH FIVE
-3225;W # PARENTHESIZED IDEOGRAPH SIX
-3226;W # PARENTHESIZED IDEOGRAPH SEVEN
-3227;W # PARENTHESIZED IDEOGRAPH EIGHT
-3228;W # PARENTHESIZED IDEOGRAPH NINE
-3229;W # PARENTHESIZED IDEOGRAPH TEN
-322A;W # PARENTHESIZED IDEOGRAPH MOON
-322B;W # PARENTHESIZED IDEOGRAPH FIRE
-322C;W # PARENTHESIZED IDEOGRAPH WATER
-322D;W # PARENTHESIZED IDEOGRAPH WOOD
-322E;W # PARENTHESIZED IDEOGRAPH METAL
-322F;W # PARENTHESIZED IDEOGRAPH EARTH
-3230;W # PARENTHESIZED IDEOGRAPH SUN
-3231;W # PARENTHESIZED IDEOGRAPH STOCK
-3232;W # PARENTHESIZED IDEOGRAPH HAVE
-3233;W # PARENTHESIZED IDEOGRAPH SOCIETY
-3234;W # PARENTHESIZED IDEOGRAPH NAME
-3235;W # PARENTHESIZED IDEOGRAPH SPECIAL
-3236;W # PARENTHESIZED IDEOGRAPH FINANCIAL
-3237;W # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3238;W # PARENTHESIZED IDEOGRAPH LABOR
-3239;W # PARENTHESIZED IDEOGRAPH REPRESENT
-323A;W # PARENTHESIZED IDEOGRAPH CALL
-323B;W # PARENTHESIZED IDEOGRAPH STUDY
-323C;W # PARENTHESIZED IDEOGRAPH SUPERVISE
-323D;W # PARENTHESIZED IDEOGRAPH ENTERPRISE
-323E;W # PARENTHESIZED IDEOGRAPH RESOURCE
-323F;W # PARENTHESIZED IDEOGRAPH ALLIANCE
-3240;W # PARENTHESIZED IDEOGRAPH FESTIVAL
-3241;W # PARENTHESIZED IDEOGRAPH REST
-3242;W # PARENTHESIZED IDEOGRAPH SELF
-3243;W # PARENTHESIZED IDEOGRAPH REACH
-3244;W # CIRCLED IDEOGRAPH QUESTION
-3245;W # CIRCLED IDEOGRAPH KINDERGARTEN
-3246;W # CIRCLED IDEOGRAPH SCHOOL
-3247;W # CIRCLED IDEOGRAPH KOTO
-3248;A # CIRCLED NUMBER TEN ON BLACK SQUARE
-3249;A # CIRCLED NUMBER TWENTY ON BLACK SQUARE
-324A;A # CIRCLED NUMBER THIRTY ON BLACK SQUARE
-324B;A # CIRCLED NUMBER FORTY ON BLACK SQUARE
-324C;A # CIRCLED NUMBER FIFTY ON BLACK SQUARE
-324D;A # CIRCLED NUMBER SIXTY ON BLACK SQUARE
-324E;A # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
-324F;A # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-3250;W # PARTNERSHIP SIGN
-3251;W # CIRCLED NUMBER TWENTY ONE
-3252;W # CIRCLED NUMBER TWENTY TWO
-3253;W # CIRCLED NUMBER TWENTY THREE
-3254;W # CIRCLED NUMBER TWENTY FOUR
-3255;W # CIRCLED NUMBER TWENTY FIVE
-3256;W # CIRCLED NUMBER TWENTY SIX
-3257;W # CIRCLED NUMBER TWENTY SEVEN
-3258;W # CIRCLED NUMBER TWENTY EIGHT
-3259;W # CIRCLED NUMBER TWENTY NINE
-325A;W # CIRCLED NUMBER THIRTY
-325B;W # CIRCLED NUMBER THIRTY ONE
-325C;W # CIRCLED NUMBER THIRTY TWO
-325D;W # CIRCLED NUMBER THIRTY THREE
-325E;W # CIRCLED NUMBER THIRTY FOUR
-325F;W # CIRCLED NUMBER THIRTY FIVE
-3260;W # CIRCLED HANGUL KIYEOK
-3261;W # CIRCLED HANGUL NIEUN
-3262;W # CIRCLED HANGUL TIKEUT
-3263;W # CIRCLED HANGUL RIEUL
-3264;W # CIRCLED HANGUL MIEUM
-3265;W # CIRCLED HANGUL PIEUP
-3266;W # CIRCLED HANGUL SIOS
-3267;W # CIRCLED HANGUL IEUNG
-3268;W # CIRCLED HANGUL CIEUC
-3269;W # CIRCLED HANGUL CHIEUCH
-326A;W # CIRCLED HANGUL KHIEUKH
-326B;W # CIRCLED HANGUL THIEUTH
-326C;W # CIRCLED HANGUL PHIEUPH
-326D;W # CIRCLED HANGUL HIEUH
-326E;W # CIRCLED HANGUL KIYEOK A
-326F;W # CIRCLED HANGUL NIEUN A
-3270;W # CIRCLED HANGUL TIKEUT A
-3271;W # CIRCLED HANGUL RIEUL A
-3272;W # CIRCLED HANGUL MIEUM A
-3273;W # CIRCLED HANGUL PIEUP A
-3274;W # CIRCLED HANGUL SIOS A
-3275;W # CIRCLED HANGUL IEUNG A
-3276;W # CIRCLED HANGUL CIEUC A
-3277;W # CIRCLED HANGUL CHIEUCH A
-3278;W # CIRCLED HANGUL KHIEUKH A
-3279;W # CIRCLED HANGUL THIEUTH A
-327A;W # CIRCLED HANGUL PHIEUPH A
-327B;W # CIRCLED HANGUL HIEUH A
-327C;W # CIRCLED KOREAN CHARACTER CHAMKO
-327D;W # CIRCLED KOREAN CHARACTER JUEUI
-327E;W # CIRCLED HANGUL IEUNG U
-327F;W # KOREAN STANDARD SYMBOL
-3280;W # CIRCLED IDEOGRAPH ONE
-3281;W # CIRCLED IDEOGRAPH TWO
-3282;W # CIRCLED IDEOGRAPH THREE
-3283;W # CIRCLED IDEOGRAPH FOUR
-3284;W # CIRCLED IDEOGRAPH FIVE
-3285;W # CIRCLED IDEOGRAPH SIX
-3286;W # CIRCLED IDEOGRAPH SEVEN
-3287;W # CIRCLED IDEOGRAPH EIGHT
-3288;W # CIRCLED IDEOGRAPH NINE
-3289;W # CIRCLED IDEOGRAPH TEN
-328A;W # CIRCLED IDEOGRAPH MOON
-328B;W # CIRCLED IDEOGRAPH FIRE
-328C;W # CIRCLED IDEOGRAPH WATER
-328D;W # CIRCLED IDEOGRAPH WOOD
-328E;W # CIRCLED IDEOGRAPH METAL
-328F;W # CIRCLED IDEOGRAPH EARTH
-3290;W # CIRCLED IDEOGRAPH SUN
-3291;W # CIRCLED IDEOGRAPH STOCK
-3292;W # CIRCLED IDEOGRAPH HAVE
-3293;W # CIRCLED IDEOGRAPH SOCIETY
-3294;W # CIRCLED IDEOGRAPH NAME
-3295;W # CIRCLED IDEOGRAPH SPECIAL
-3296;W # CIRCLED IDEOGRAPH FINANCIAL
-3297;W # CIRCLED IDEOGRAPH CONGRATULATION
-3298;W # CIRCLED IDEOGRAPH LABOR
-3299;W # CIRCLED IDEOGRAPH SECRET
-329A;W # CIRCLED IDEOGRAPH MALE
-329B;W # CIRCLED IDEOGRAPH FEMALE
-329C;W # CIRCLED IDEOGRAPH SUITABLE
-329D;W # CIRCLED IDEOGRAPH EXCELLENT
-329E;W # CIRCLED IDEOGRAPH PRINT
-329F;W # CIRCLED IDEOGRAPH ATTENTION
-32A0;W # CIRCLED IDEOGRAPH ITEM
-32A1;W # CIRCLED IDEOGRAPH REST
-32A2;W # CIRCLED IDEOGRAPH COPY
-32A3;W # CIRCLED IDEOGRAPH CORRECT
-32A4;W # CIRCLED IDEOGRAPH HIGH
-32A5;W # CIRCLED IDEOGRAPH CENTRE
-32A6;W # CIRCLED IDEOGRAPH LOW
-32A7;W # CIRCLED IDEOGRAPH LEFT
-32A8;W # CIRCLED IDEOGRAPH RIGHT
-32A9;W # CIRCLED IDEOGRAPH MEDICINE
-32AA;W # CIRCLED IDEOGRAPH RELIGION
-32AB;W # CIRCLED IDEOGRAPH STUDY
-32AC;W # CIRCLED IDEOGRAPH SUPERVISE
-32AD;W # CIRCLED IDEOGRAPH ENTERPRISE
-32AE;W # CIRCLED IDEOGRAPH RESOURCE
-32AF;W # CIRCLED IDEOGRAPH ALLIANCE
-32B0;W # CIRCLED IDEOGRAPH NIGHT
-32B1;W # CIRCLED NUMBER THIRTY SIX
-32B2;W # CIRCLED NUMBER THIRTY SEVEN
-32B3;W # CIRCLED NUMBER THIRTY EIGHT
-32B4;W # CIRCLED NUMBER THIRTY NINE
-32B5;W # CIRCLED NUMBER FORTY
-32B6;W # CIRCLED NUMBER FORTY ONE
-32B7;W # CIRCLED NUMBER FORTY TWO
-32B8;W # CIRCLED NUMBER FORTY THREE
-32B9;W # CIRCLED NUMBER FORTY FOUR
-32BA;W # CIRCLED NUMBER FORTY FIVE
-32BB;W # CIRCLED NUMBER FORTY SIX
-32BC;W # CIRCLED NUMBER FORTY SEVEN
-32BD;W # CIRCLED NUMBER FORTY EIGHT
-32BE;W # CIRCLED NUMBER FORTY NINE
-32BF;W # CIRCLED NUMBER FIFTY
-32C0;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-32C1;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-32C2;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-32C3;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-32C4;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-32C5;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-32C6;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-32C7;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-32C8;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-32C9;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-32CA;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-32CB;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-32CC;W # SQUARE HG
-32CD;W # SQUARE ERG
-32CE;W # SQUARE EV
-32CF;W # LIMITED LIABILITY SIGN
-32D0;W # CIRCLED KATAKANA A
-32D1;W # CIRCLED KATAKANA I
-32D2;W # CIRCLED KATAKANA U
-32D3;W # CIRCLED KATAKANA E
-32D4;W # CIRCLED KATAKANA O
-32D5;W # CIRCLED KATAKANA KA
-32D6;W # CIRCLED KATAKANA KI
-32D7;W # CIRCLED KATAKANA KU
-32D8;W # CIRCLED KATAKANA KE
-32D9;W # CIRCLED KATAKANA KO
-32DA;W # CIRCLED KATAKANA SA
-32DB;W # CIRCLED KATAKANA SI
-32DC;W # CIRCLED KATAKANA SU
-32DD;W # CIRCLED KATAKANA SE
-32DE;W # CIRCLED KATAKANA SO
-32DF;W # CIRCLED KATAKANA TA
-32E0;W # CIRCLED KATAKANA TI
-32E1;W # CIRCLED KATAKANA TU
-32E2;W # CIRCLED KATAKANA TE
-32E3;W # CIRCLED KATAKANA TO
-32E4;W # CIRCLED KATAKANA NA
-32E5;W # CIRCLED KATAKANA NI
-32E6;W # CIRCLED KATAKANA NU
-32E7;W # CIRCLED KATAKANA NE
-32E8;W # CIRCLED KATAKANA NO
-32E9;W # CIRCLED KATAKANA HA
-32EA;W # CIRCLED KATAKANA HI
-32EB;W # CIRCLED KATAKANA HU
-32EC;W # CIRCLED KATAKANA HE
-32ED;W # CIRCLED KATAKANA HO
-32EE;W # CIRCLED KATAKANA MA
-32EF;W # CIRCLED KATAKANA MI
-32F0;W # CIRCLED KATAKANA MU
-32F1;W # CIRCLED KATAKANA ME
-32F2;W # CIRCLED KATAKANA MO
-32F3;W # CIRCLED KATAKANA YA
-32F4;W # CIRCLED KATAKANA YU
-32F5;W # CIRCLED KATAKANA YO
-32F6;W # CIRCLED KATAKANA RA
-32F7;W # CIRCLED KATAKANA RI
-32F8;W # CIRCLED KATAKANA RU
-32F9;W # CIRCLED KATAKANA RE
-32FA;W # CIRCLED KATAKANA RO
-32FB;W # CIRCLED KATAKANA WA
-32FC;W # CIRCLED KATAKANA WI
-32FD;W # CIRCLED KATAKANA WE
-32FE;W # CIRCLED KATAKANA WO
-3300;W # SQUARE APAATO
-3301;W # SQUARE ARUHUA
-3302;W # SQUARE ANPEA
-3303;W # SQUARE AARU
-3304;W # SQUARE ININGU
-3305;W # SQUARE INTI
-3306;W # SQUARE UON
-3307;W # SQUARE ESUKUUDO
-3308;W # SQUARE EEKAA
-3309;W # SQUARE ONSU
-330A;W # SQUARE OOMU
-330B;W # SQUARE KAIRI
-330C;W # SQUARE KARATTO
-330D;W # SQUARE KARORII
-330E;W # SQUARE GARON
-330F;W # SQUARE GANMA
-3310;W # SQUARE GIGA
-3311;W # SQUARE GINII
-3312;W # SQUARE KYURII
-3313;W # SQUARE GIRUDAA
-3314;W # SQUARE KIRO
-3315;W # SQUARE KIROGURAMU
-3316;W # SQUARE KIROMEETORU
-3317;W # SQUARE KIROWATTO
-3318;W # SQUARE GURAMU
-3319;W # SQUARE GURAMUTON
-331A;W # SQUARE KURUZEIRO
-331B;W # SQUARE KUROONE
-331C;W # SQUARE KEESU
-331D;W # SQUARE KORUNA
-331E;W # SQUARE KOOPO
-331F;W # SQUARE SAIKURU
-3320;W # SQUARE SANTIIMU
-3321;W # SQUARE SIRINGU
-3322;W # SQUARE SENTI
-3323;W # SQUARE SENTO
-3324;W # SQUARE DAASU
-3325;W # SQUARE DESI
-3326;W # SQUARE DORU
-3327;W # SQUARE TON
-3328;W # SQUARE NANO
-3329;W # SQUARE NOTTO
-332A;W # SQUARE HAITU
-332B;W # SQUARE PAASENTO
-332C;W # SQUARE PAATU
-332D;W # SQUARE BAARERU
-332E;W # SQUARE PIASUTORU
-332F;W # SQUARE PIKURU
-3330;W # SQUARE PIKO
-3331;W # SQUARE BIRU
-3332;W # SQUARE HUARADDO
-3333;W # SQUARE HUIITO
-3334;W # SQUARE BUSSYERU
-3335;W # SQUARE HURAN
-3336;W # SQUARE HEKUTAARU
-3337;W # SQUARE PESO
-3338;W # SQUARE PENIHI
-3339;W # SQUARE HERUTU
-333A;W # SQUARE PENSU
-333B;W # SQUARE PEEZI
-333C;W # SQUARE BEETA
-333D;W # SQUARE POINTO
-333E;W # SQUARE BORUTO
-333F;W # SQUARE HON
-3340;W # SQUARE PONDO
-3341;W # SQUARE HOORU
-3342;W # SQUARE HOON
-3343;W # SQUARE MAIKURO
-3344;W # SQUARE MAIRU
-3345;W # SQUARE MAHHA
-3346;W # SQUARE MARUKU
-3347;W # SQUARE MANSYON
-3348;W # SQUARE MIKURON
-3349;W # SQUARE MIRI
-334A;W # SQUARE MIRIBAARU
-334B;W # SQUARE MEGA
-334C;W # SQUARE MEGATON
-334D;W # SQUARE MEETORU
-334E;W # SQUARE YAADO
-334F;W # SQUARE YAARU
-3350;W # SQUARE YUAN
-3351;W # SQUARE RITTORU
-3352;W # SQUARE RIRA
-3353;W # SQUARE RUPII
-3354;W # SQUARE RUUBURU
-3355;W # SQUARE REMU
-3356;W # SQUARE RENTOGEN
-3357;W # SQUARE WATTO
-3358;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-3359;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-335A;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-335B;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-335C;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-335D;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-335E;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-335F;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-3360;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-3361;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-3362;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-3363;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-3364;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-3365;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-3366;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-3367;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-3368;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-3369;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-336A;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-336B;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-336C;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-336D;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-336E;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-336F;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-3370;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-3371;W # SQUARE HPA
-3372;W # SQUARE DA
-3373;W # SQUARE AU
-3374;W # SQUARE BAR
-3375;W # SQUARE OV
-3376;W # SQUARE PC
-3377;W # SQUARE DM
-3378;W # SQUARE DM SQUARED
-3379;W # SQUARE DM CUBED
-337A;W # SQUARE IU
-337B;W # SQUARE ERA NAME HEISEI
-337C;W # SQUARE ERA NAME SYOUWA
-337D;W # SQUARE ERA NAME TAISYOU
-337E;W # SQUARE ERA NAME MEIZI
-337F;W # SQUARE CORPORATION
-3380;W # SQUARE PA AMPS
-3381;W # SQUARE NA
-3382;W # SQUARE MU A
-3383;W # SQUARE MA
-3384;W # SQUARE KA
-3385;W # SQUARE KB
-3386;W # SQUARE MB
-3387;W # SQUARE GB
-3388;W # SQUARE CAL
-3389;W # SQUARE KCAL
-338A;W # SQUARE PF
-338B;W # SQUARE NF
-338C;W # SQUARE MU F
-338D;W # SQUARE MU G
-338E;W # SQUARE MG
-338F;W # SQUARE KG
-3390;W # SQUARE HZ
-3391;W # SQUARE KHZ
-3392;W # SQUARE MHZ
-3393;W # SQUARE GHZ
-3394;W # SQUARE THZ
-3395;W # SQUARE MU L
-3396;W # SQUARE ML
-3397;W # SQUARE DL
-3398;W # SQUARE KL
-3399;W # SQUARE FM
-339A;W # SQUARE NM
-339B;W # SQUARE MU M
-339C;W # SQUARE MM
-339D;W # SQUARE CM
-339E;W # SQUARE KM
-339F;W # SQUARE MM SQUARED
-33A0;W # SQUARE CM SQUARED
-33A1;W # SQUARE M SQUARED
-33A2;W # SQUARE KM SQUARED
-33A3;W # SQUARE MM CUBED
-33A4;W # SQUARE CM CUBED
-33A5;W # SQUARE M CUBED
-33A6;W # SQUARE KM CUBED
-33A7;W # SQUARE M OVER S
-33A8;W # SQUARE M OVER S SQUARED
-33A9;W # SQUARE PA
-33AA;W # SQUARE KPA
-33AB;W # SQUARE MPA
-33AC;W # SQUARE GPA
-33AD;W # SQUARE RAD
-33AE;W # SQUARE RAD OVER S
-33AF;W # SQUARE RAD OVER S SQUARED
-33B0;W # SQUARE PS
-33B1;W # SQUARE NS
-33B2;W # SQUARE MU S
-33B3;W # SQUARE MS
-33B4;W # SQUARE PV
-33B5;W # SQUARE NV
-33B6;W # SQUARE MU V
-33B7;W # SQUARE MV
-33B8;W # SQUARE KV
-33B9;W # SQUARE MV MEGA
-33BA;W # SQUARE PW
-33BB;W # SQUARE NW
-33BC;W # SQUARE MU W
-33BD;W # SQUARE MW
-33BE;W # SQUARE KW
-33BF;W # SQUARE MW MEGA
-33C0;W # SQUARE K OHM
-33C1;W # SQUARE M OHM
-33C2;W # SQUARE AM
-33C3;W # SQUARE BQ
-33C4;W # SQUARE CC
-33C5;W # SQUARE CD
-33C6;W # SQUARE C OVER KG
-33C7;W # SQUARE CO
-33C8;W # SQUARE DB
-33C9;W # SQUARE GY
-33CA;W # SQUARE HA
-33CB;W # SQUARE HP
-33CC;W # SQUARE IN
-33CD;W # SQUARE KK
-33CE;W # SQUARE KM CAPITAL
-33CF;W # SQUARE KT
-33D0;W # SQUARE LM
-33D1;W # SQUARE LN
-33D2;W # SQUARE LOG
-33D3;W # SQUARE LX
-33D4;W # SQUARE MB SMALL
-33D5;W # SQUARE MIL
-33D6;W # SQUARE MOL
-33D7;W # SQUARE PH
-33D8;W # SQUARE PM
-33D9;W # SQUARE PPM
-33DA;W # SQUARE PR
-33DB;W # SQUARE SR
-33DC;W # SQUARE SV
-33DD;W # SQUARE WB
-33DE;W # SQUARE V OVER M
-33DF;W # SQUARE A OVER M
-33E0;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-33E1;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-33E2;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-33E3;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-33E4;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-33E5;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-33E6;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-33E7;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-33E8;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-33E9;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-33EA;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-33EB;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-33EC;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-33ED;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-33EE;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-33EF;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-33F0;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-33F1;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-33F2;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-33F3;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-33F4;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-33F5;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-33F6;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-33F7;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-33F8;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33FD;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33FF;W # SQUARE GAL
-3400..4DB5;W # <CJK Ideograph Extension A, First>..<CJK Ideograph Extension A, Last>
-4DB6..4DBF;W # <reserved-4DB6>..<reserved-4DBF>
-4DC0;N # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1;N # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2;N # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3;N # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4;N # HEXAGRAM FOR WAITING
-4DC5;N # HEXAGRAM FOR CONFLICT
-4DC6;N # HEXAGRAM FOR THE ARMY
-4DC7;N # HEXAGRAM FOR HOLDING TOGETHER
-4DC8;N # HEXAGRAM FOR SMALL TAMING
-4DC9;N # HEXAGRAM FOR TREADING
-4DCA;N # HEXAGRAM FOR PEACE
-4DCB;N # HEXAGRAM FOR STANDSTILL
-4DCC;N # HEXAGRAM FOR FELLOWSHIP
-4DCD;N # HEXAGRAM FOR GREAT POSSESSION
-4DCE;N # HEXAGRAM FOR MODESTY
-4DCF;N # HEXAGRAM FOR ENTHUSIASM
-4DD0;N # HEXAGRAM FOR FOLLOWING
-4DD1;N # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2;N # HEXAGRAM FOR APPROACH
-4DD3;N # HEXAGRAM FOR CONTEMPLATION
-4DD4;N # HEXAGRAM FOR BITING THROUGH
-4DD5;N # HEXAGRAM FOR GRACE
-4DD6;N # HEXAGRAM FOR SPLITTING APART
-4DD7;N # HEXAGRAM FOR RETURN
-4DD8;N # HEXAGRAM FOR INNOCENCE
-4DD9;N # HEXAGRAM FOR GREAT TAMING
-4DDA;N # HEXAGRAM FOR MOUTH CORNERS
-4DDB;N # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC;N # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD;N # HEXAGRAM FOR THE CLINGING FIRE
-4DDE;N # HEXAGRAM FOR INFLUENCE
-4DDF;N # HEXAGRAM FOR DURATION
-4DE0;N # HEXAGRAM FOR RETREAT
-4DE1;N # HEXAGRAM FOR GREAT POWER
-4DE2;N # HEXAGRAM FOR PROGRESS
-4DE3;N # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4;N # HEXAGRAM FOR THE FAMILY
-4DE5;N # HEXAGRAM FOR OPPOSITION
-4DE6;N # HEXAGRAM FOR OBSTRUCTION
-4DE7;N # HEXAGRAM FOR DELIVERANCE
-4DE8;N # HEXAGRAM FOR DECREASE
-4DE9;N # HEXAGRAM FOR INCREASE
-4DEA;N # HEXAGRAM FOR BREAKTHROUGH
-4DEB;N # HEXAGRAM FOR COMING TO MEET
-4DEC;N # HEXAGRAM FOR GATHERING TOGETHER
-4DED;N # HEXAGRAM FOR PUSHING UPWARD
-4DEE;N # HEXAGRAM FOR OPPRESSION
-4DEF;N # HEXAGRAM FOR THE WELL
-4DF0;N # HEXAGRAM FOR REVOLUTION
-4DF1;N # HEXAGRAM FOR THE CAULDRON
-4DF2;N # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3;N # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4;N # HEXAGRAM FOR DEVELOPMENT
-4DF5;N # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6;N # HEXAGRAM FOR ABUNDANCE
-4DF7;N # HEXAGRAM FOR THE WANDERER
-4DF8;N # HEXAGRAM FOR THE GENTLE WIND
-4DF9;N # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA;N # HEXAGRAM FOR DISPERSION
-4DFB;N # HEXAGRAM FOR LIMITATION
-4DFC;N # HEXAGRAM FOR INNER TRUTH
-4DFD;N # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE;N # HEXAGRAM FOR AFTER COMPLETION
-4DFF;N # HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB;W # <CJK Ideograph, First>..<CJK Ideograph, Last>
-9FCC..9FFF;W # <reserved-9FCC>..<reserved-9FFF>
-A000;W # YI SYLLABLE IT
-A001;W # YI SYLLABLE IX
-A002;W # YI SYLLABLE I
-A003;W # YI SYLLABLE IP
-A004;W # YI SYLLABLE IET
-A005;W # YI SYLLABLE IEX
-A006;W # YI SYLLABLE IE
-A007;W # YI SYLLABLE IEP
-A008;W # YI SYLLABLE AT
-A009;W # YI SYLLABLE AX
-A00A;W # YI SYLLABLE A
-A00B;W # YI SYLLABLE AP
-A00C;W # YI SYLLABLE UOX
-A00D;W # YI SYLLABLE UO
-A00E;W # YI SYLLABLE UOP
-A00F;W # YI SYLLABLE OT
-A010;W # YI SYLLABLE OX
-A011;W # YI SYLLABLE O
-A012;W # YI SYLLABLE OP
-A013;W # YI SYLLABLE EX
-A014;W # YI SYLLABLE E
-A015;W # YI SYLLABLE WU
-A016;W # YI SYLLABLE BIT
-A017;W # YI SYLLABLE BIX
-A018;W # YI SYLLABLE BI
-A019;W # YI SYLLABLE BIP
-A01A;W # YI SYLLABLE BIET
-A01B;W # YI SYLLABLE BIEX
-A01C;W # YI SYLLABLE BIE
-A01D;W # YI SYLLABLE BIEP
-A01E;W # YI SYLLABLE BAT
-A01F;W # YI SYLLABLE BAX
-A020;W # YI SYLLABLE BA
-A021;W # YI SYLLABLE BAP
-A022;W # YI SYLLABLE BUOX
-A023;W # YI SYLLABLE BUO
-A024;W # YI SYLLABLE BUOP
-A025;W # YI SYLLABLE BOT
-A026;W # YI SYLLABLE BOX
-A027;W # YI SYLLABLE BO
-A028;W # YI SYLLABLE BOP
-A029;W # YI SYLLABLE BEX
-A02A;W # YI SYLLABLE BE
-A02B;W # YI SYLLABLE BEP
-A02C;W # YI SYLLABLE BUT
-A02D;W # YI SYLLABLE BUX
-A02E;W # YI SYLLABLE BU
-A02F;W # YI SYLLABLE BUP
-A030;W # YI SYLLABLE BURX
-A031;W # YI SYLLABLE BUR
-A032;W # YI SYLLABLE BYT
-A033;W # YI SYLLABLE BYX
-A034;W # YI SYLLABLE BY
-A035;W # YI SYLLABLE BYP
-A036;W # YI SYLLABLE BYRX
-A037;W # YI SYLLABLE BYR
-A038;W # YI SYLLABLE PIT
-A039;W # YI SYLLABLE PIX
-A03A;W # YI SYLLABLE PI
-A03B;W # YI SYLLABLE PIP
-A03C;W # YI SYLLABLE PIEX
-A03D;W # YI SYLLABLE PIE
-A03E;W # YI SYLLABLE PIEP
-A03F;W # YI SYLLABLE PAT
-A040;W # YI SYLLABLE PAX
-A041;W # YI SYLLABLE PA
-A042;W # YI SYLLABLE PAP
-A043;W # YI SYLLABLE PUOX
-A044;W # YI SYLLABLE PUO
-A045;W # YI SYLLABLE PUOP
-A046;W # YI SYLLABLE POT
-A047;W # YI SYLLABLE POX
-A048;W # YI SYLLABLE PO
-A049;W # YI SYLLABLE POP
-A04A;W # YI SYLLABLE PUT
-A04B;W # YI SYLLABLE PUX
-A04C;W # YI SYLLABLE PU
-A04D;W # YI SYLLABLE PUP
-A04E;W # YI SYLLABLE PURX
-A04F;W # YI SYLLABLE PUR
-A050;W # YI SYLLABLE PYT
-A051;W # YI SYLLABLE PYX
-A052;W # YI SYLLABLE PY
-A053;W # YI SYLLABLE PYP
-A054;W # YI SYLLABLE PYRX
-A055;W # YI SYLLABLE PYR
-A056;W # YI SYLLABLE BBIT
-A057;W # YI SYLLABLE BBIX
-A058;W # YI SYLLABLE BBI
-A059;W # YI SYLLABLE BBIP
-A05A;W # YI SYLLABLE BBIET
-A05B;W # YI SYLLABLE BBIEX
-A05C;W # YI SYLLABLE BBIE
-A05D;W # YI SYLLABLE BBIEP
-A05E;W # YI SYLLABLE BBAT
-A05F;W # YI SYLLABLE BBAX
-A060;W # YI SYLLABLE BBA
-A061;W # YI SYLLABLE BBAP
-A062;W # YI SYLLABLE BBUOX
-A063;W # YI SYLLABLE BBUO
-A064;W # YI SYLLABLE BBUOP
-A065;W # YI SYLLABLE BBOT
-A066;W # YI SYLLABLE BBOX
-A067;W # YI SYLLABLE BBO
-A068;W # YI SYLLABLE BBOP
-A069;W # YI SYLLABLE BBEX
-A06A;W # YI SYLLABLE BBE
-A06B;W # YI SYLLABLE BBEP
-A06C;W # YI SYLLABLE BBUT
-A06D;W # YI SYLLABLE BBUX
-A06E;W # YI SYLLABLE BBU
-A06F;W # YI SYLLABLE BBUP
-A070;W # YI SYLLABLE BBURX
-A071;W # YI SYLLABLE BBUR
-A072;W # YI SYLLABLE BBYT
-A073;W # YI SYLLABLE BBYX
-A074;W # YI SYLLABLE BBY
-A075;W # YI SYLLABLE BBYP
-A076;W # YI SYLLABLE NBIT
-A077;W # YI SYLLABLE NBIX
-A078;W # YI SYLLABLE NBI
-A079;W # YI SYLLABLE NBIP
-A07A;W # YI SYLLABLE NBIEX
-A07B;W # YI SYLLABLE NBIE
-A07C;W # YI SYLLABLE NBIEP
-A07D;W # YI SYLLABLE NBAT
-A07E;W # YI SYLLABLE NBAX
-A07F;W # YI SYLLABLE NBA
-A080;W # YI SYLLABLE NBAP
-A081;W # YI SYLLABLE NBOT
-A082;W # YI SYLLABLE NBOX
-A083;W # YI SYLLABLE NBO
-A084;W # YI SYLLABLE NBOP
-A085;W # YI SYLLABLE NBUT
-A086;W # YI SYLLABLE NBUX
-A087;W # YI SYLLABLE NBU
-A088;W # YI SYLLABLE NBUP
-A089;W # YI SYLLABLE NBURX
-A08A;W # YI SYLLABLE NBUR
-A08B;W # YI SYLLABLE NBYT
-A08C;W # YI SYLLABLE NBYX
-A08D;W # YI SYLLABLE NBY
-A08E;W # YI SYLLABLE NBYP
-A08F;W # YI SYLLABLE NBYRX
-A090;W # YI SYLLABLE NBYR
-A091;W # YI SYLLABLE HMIT
-A092;W # YI SYLLABLE HMIX
-A093;W # YI SYLLABLE HMI
-A094;W # YI SYLLABLE HMIP
-A095;W # YI SYLLABLE HMIEX
-A096;W # YI SYLLABLE HMIE
-A097;W # YI SYLLABLE HMIEP
-A098;W # YI SYLLABLE HMAT
-A099;W # YI SYLLABLE HMAX
-A09A;W # YI SYLLABLE HMA
-A09B;W # YI SYLLABLE HMAP
-A09C;W # YI SYLLABLE HMUOX
-A09D;W # YI SYLLABLE HMUO
-A09E;W # YI SYLLABLE HMUOP
-A09F;W # YI SYLLABLE HMOT
-A0A0;W # YI SYLLABLE HMOX
-A0A1;W # YI SYLLABLE HMO
-A0A2;W # YI SYLLABLE HMOP
-A0A3;W # YI SYLLABLE HMUT
-A0A4;W # YI SYLLABLE HMUX
-A0A5;W # YI SYLLABLE HMU
-A0A6;W # YI SYLLABLE HMUP
-A0A7;W # YI SYLLABLE HMURX
-A0A8;W # YI SYLLABLE HMUR
-A0A9;W # YI SYLLABLE HMYX
-A0AA;W # YI SYLLABLE HMY
-A0AB;W # YI SYLLABLE HMYP
-A0AC;W # YI SYLLABLE HMYRX
-A0AD;W # YI SYLLABLE HMYR
-A0AE;W # YI SYLLABLE MIT
-A0AF;W # YI SYLLABLE MIX
-A0B0;W # YI SYLLABLE MI
-A0B1;W # YI SYLLABLE MIP
-A0B2;W # YI SYLLABLE MIEX
-A0B3;W # YI SYLLABLE MIE
-A0B4;W # YI SYLLABLE MIEP
-A0B5;W # YI SYLLABLE MAT
-A0B6;W # YI SYLLABLE MAX
-A0B7;W # YI SYLLABLE MA
-A0B8;W # YI SYLLABLE MAP
-A0B9;W # YI SYLLABLE MUOT
-A0BA;W # YI SYLLABLE MUOX
-A0BB;W # YI SYLLABLE MUO
-A0BC;W # YI SYLLABLE MUOP
-A0BD;W # YI SYLLABLE MOT
-A0BE;W # YI SYLLABLE MOX
-A0BF;W # YI SYLLABLE MO
-A0C0;W # YI SYLLABLE MOP
-A0C1;W # YI SYLLABLE MEX
-A0C2;W # YI SYLLABLE ME
-A0C3;W # YI SYLLABLE MUT
-A0C4;W # YI SYLLABLE MUX
-A0C5;W # YI SYLLABLE MU
-A0C6;W # YI SYLLABLE MUP
-A0C7;W # YI SYLLABLE MURX
-A0C8;W # YI SYLLABLE MUR
-A0C9;W # YI SYLLABLE MYT
-A0CA;W # YI SYLLABLE MYX
-A0CB;W # YI SYLLABLE MY
-A0CC;W # YI SYLLABLE MYP
-A0CD;W # YI SYLLABLE FIT
-A0CE;W # YI SYLLABLE FIX
-A0CF;W # YI SYLLABLE FI
-A0D0;W # YI SYLLABLE FIP
-A0D1;W # YI SYLLABLE FAT
-A0D2;W # YI SYLLABLE FAX
-A0D3;W # YI SYLLABLE FA
-A0D4;W # YI SYLLABLE FAP
-A0D5;W # YI SYLLABLE FOX
-A0D6;W # YI SYLLABLE FO
-A0D7;W # YI SYLLABLE FOP
-A0D8;W # YI SYLLABLE FUT
-A0D9;W # YI SYLLABLE FUX
-A0DA;W # YI SYLLABLE FU
-A0DB;W # YI SYLLABLE FUP
-A0DC;W # YI SYLLABLE FURX
-A0DD;W # YI SYLLABLE FUR
-A0DE;W # YI SYLLABLE FYT
-A0DF;W # YI SYLLABLE FYX
-A0E0;W # YI SYLLABLE FY
-A0E1;W # YI SYLLABLE FYP
-A0E2;W # YI SYLLABLE VIT
-A0E3;W # YI SYLLABLE VIX
-A0E4;W # YI SYLLABLE VI
-A0E5;W # YI SYLLABLE VIP
-A0E6;W # YI SYLLABLE VIET
-A0E7;W # YI SYLLABLE VIEX
-A0E8;W # YI SYLLABLE VIE
-A0E9;W # YI SYLLABLE VIEP
-A0EA;W # YI SYLLABLE VAT
-A0EB;W # YI SYLLABLE VAX
-A0EC;W # YI SYLLABLE VA
-A0ED;W # YI SYLLABLE VAP
-A0EE;W # YI SYLLABLE VOT
-A0EF;W # YI SYLLABLE VOX
-A0F0;W # YI SYLLABLE VO
-A0F1;W # YI SYLLABLE VOP
-A0F2;W # YI SYLLABLE VEX
-A0F3;W # YI SYLLABLE VEP
-A0F4;W # YI SYLLABLE VUT
-A0F5;W # YI SYLLABLE VUX
-A0F6;W # YI SYLLABLE VU
-A0F7;W # YI SYLLABLE VUP
-A0F8;W # YI SYLLABLE VURX
-A0F9;W # YI SYLLABLE VUR
-A0FA;W # YI SYLLABLE VYT
-A0FB;W # YI SYLLABLE VYX
-A0FC;W # YI SYLLABLE VY
-A0FD;W # YI SYLLABLE VYP
-A0FE;W # YI SYLLABLE VYRX
-A0FF;W # YI SYLLABLE VYR
-A100;W # YI SYLLABLE DIT
-A101;W # YI SYLLABLE DIX
-A102;W # YI SYLLABLE DI
-A103;W # YI SYLLABLE DIP
-A104;W # YI SYLLABLE DIEX
-A105;W # YI SYLLABLE DIE
-A106;W # YI SYLLABLE DIEP
-A107;W # YI SYLLABLE DAT
-A108;W # YI SYLLABLE DAX
-A109;W # YI SYLLABLE DA
-A10A;W # YI SYLLABLE DAP
-A10B;W # YI SYLLABLE DUOX
-A10C;W # YI SYLLABLE DUO
-A10D;W # YI SYLLABLE DOT
-A10E;W # YI SYLLABLE DOX
-A10F;W # YI SYLLABLE DO
-A110;W # YI SYLLABLE DOP
-A111;W # YI SYLLABLE DEX
-A112;W # YI SYLLABLE DE
-A113;W # YI SYLLABLE DEP
-A114;W # YI SYLLABLE DUT
-A115;W # YI SYLLABLE DUX
-A116;W # YI SYLLABLE DU
-A117;W # YI SYLLABLE DUP
-A118;W # YI SYLLABLE DURX
-A119;W # YI SYLLABLE DUR
-A11A;W # YI SYLLABLE TIT
-A11B;W # YI SYLLABLE TIX
-A11C;W # YI SYLLABLE TI
-A11D;W # YI SYLLABLE TIP
-A11E;W # YI SYLLABLE TIEX
-A11F;W # YI SYLLABLE TIE
-A120;W # YI SYLLABLE TIEP
-A121;W # YI SYLLABLE TAT
-A122;W # YI SYLLABLE TAX
-A123;W # YI SYLLABLE TA
-A124;W # YI SYLLABLE TAP
-A125;W # YI SYLLABLE TUOT
-A126;W # YI SYLLABLE TUOX
-A127;W # YI SYLLABLE TUO
-A128;W # YI SYLLABLE TUOP
-A129;W # YI SYLLABLE TOT
-A12A;W # YI SYLLABLE TOX
-A12B;W # YI SYLLABLE TO
-A12C;W # YI SYLLABLE TOP
-A12D;W # YI SYLLABLE TEX
-A12E;W # YI SYLLABLE TE
-A12F;W # YI SYLLABLE TEP
-A130;W # YI SYLLABLE TUT
-A131;W # YI SYLLABLE TUX
-A132;W # YI SYLLABLE TU
-A133;W # YI SYLLABLE TUP
-A134;W # YI SYLLABLE TURX
-A135;W # YI SYLLABLE TUR
-A136;W # YI SYLLABLE DDIT
-A137;W # YI SYLLABLE DDIX
-A138;W # YI SYLLABLE DDI
-A139;W # YI SYLLABLE DDIP
-A13A;W # YI SYLLABLE DDIEX
-A13B;W # YI SYLLABLE DDIE
-A13C;W # YI SYLLABLE DDIEP
-A13D;W # YI SYLLABLE DDAT
-A13E;W # YI SYLLABLE DDAX
-A13F;W # YI SYLLABLE DDA
-A140;W # YI SYLLABLE DDAP
-A141;W # YI SYLLABLE DDUOX
-A142;W # YI SYLLABLE DDUO
-A143;W # YI SYLLABLE DDUOP
-A144;W # YI SYLLABLE DDOT
-A145;W # YI SYLLABLE DDOX
-A146;W # YI SYLLABLE DDO
-A147;W # YI SYLLABLE DDOP
-A148;W # YI SYLLABLE DDEX
-A149;W # YI SYLLABLE DDE
-A14A;W # YI SYLLABLE DDEP
-A14B;W # YI SYLLABLE DDUT
-A14C;W # YI SYLLABLE DDUX
-A14D;W # YI SYLLABLE DDU
-A14E;W # YI SYLLABLE DDUP
-A14F;W # YI SYLLABLE DDURX
-A150;W # YI SYLLABLE DDUR
-A151;W # YI SYLLABLE NDIT
-A152;W # YI SYLLABLE NDIX
-A153;W # YI SYLLABLE NDI
-A154;W # YI SYLLABLE NDIP
-A155;W # YI SYLLABLE NDIEX
-A156;W # YI SYLLABLE NDIE
-A157;W # YI SYLLABLE NDAT
-A158;W # YI SYLLABLE NDAX
-A159;W # YI SYLLABLE NDA
-A15A;W # YI SYLLABLE NDAP
-A15B;W # YI SYLLABLE NDOT
-A15C;W # YI SYLLABLE NDOX
-A15D;W # YI SYLLABLE NDO
-A15E;W # YI SYLLABLE NDOP
-A15F;W # YI SYLLABLE NDEX
-A160;W # YI SYLLABLE NDE
-A161;W # YI SYLLABLE NDEP
-A162;W # YI SYLLABLE NDUT
-A163;W # YI SYLLABLE NDUX
-A164;W # YI SYLLABLE NDU
-A165;W # YI SYLLABLE NDUP
-A166;W # YI SYLLABLE NDURX
-A167;W # YI SYLLABLE NDUR
-A168;W # YI SYLLABLE HNIT
-A169;W # YI SYLLABLE HNIX
-A16A;W # YI SYLLABLE HNI
-A16B;W # YI SYLLABLE HNIP
-A16C;W # YI SYLLABLE HNIET
-A16D;W # YI SYLLABLE HNIEX
-A16E;W # YI SYLLABLE HNIE
-A16F;W # YI SYLLABLE HNIEP
-A170;W # YI SYLLABLE HNAT
-A171;W # YI SYLLABLE HNAX
-A172;W # YI SYLLABLE HNA
-A173;W # YI SYLLABLE HNAP
-A174;W # YI SYLLABLE HNUOX
-A175;W # YI SYLLABLE HNUO
-A176;W # YI SYLLABLE HNOT
-A177;W # YI SYLLABLE HNOX
-A178;W # YI SYLLABLE HNOP
-A179;W # YI SYLLABLE HNEX
-A17A;W # YI SYLLABLE HNE
-A17B;W # YI SYLLABLE HNEP
-A17C;W # YI SYLLABLE HNUT
-A17D;W # YI SYLLABLE NIT
-A17E;W # YI SYLLABLE NIX
-A17F;W # YI SYLLABLE NI
-A180;W # YI SYLLABLE NIP
-A181;W # YI SYLLABLE NIEX
-A182;W # YI SYLLABLE NIE
-A183;W # YI SYLLABLE NIEP
-A184;W # YI SYLLABLE NAX
-A185;W # YI SYLLABLE NA
-A186;W # YI SYLLABLE NAP
-A187;W # YI SYLLABLE NUOX
-A188;W # YI SYLLABLE NUO
-A189;W # YI SYLLABLE NUOP
-A18A;W # YI SYLLABLE NOT
-A18B;W # YI SYLLABLE NOX
-A18C;W # YI SYLLABLE NO
-A18D;W # YI SYLLABLE NOP
-A18E;W # YI SYLLABLE NEX
-A18F;W # YI SYLLABLE NE
-A190;W # YI SYLLABLE NEP
-A191;W # YI SYLLABLE NUT
-A192;W # YI SYLLABLE NUX
-A193;W # YI SYLLABLE NU
-A194;W # YI SYLLABLE NUP
-A195;W # YI SYLLABLE NURX
-A196;W # YI SYLLABLE NUR
-A197;W # YI SYLLABLE HLIT
-A198;W # YI SYLLABLE HLIX
-A199;W # YI SYLLABLE HLI
-A19A;W # YI SYLLABLE HLIP
-A19B;W # YI SYLLABLE HLIEX
-A19C;W # YI SYLLABLE HLIE
-A19D;W # YI SYLLABLE HLIEP
-A19E;W # YI SYLLABLE HLAT
-A19F;W # YI SYLLABLE HLAX
-A1A0;W # YI SYLLABLE HLA
-A1A1;W # YI SYLLABLE HLAP
-A1A2;W # YI SYLLABLE HLUOX
-A1A3;W # YI SYLLABLE HLUO
-A1A4;W # YI SYLLABLE HLUOP
-A1A5;W # YI SYLLABLE HLOX
-A1A6;W # YI SYLLABLE HLO
-A1A7;W # YI SYLLABLE HLOP
-A1A8;W # YI SYLLABLE HLEX
-A1A9;W # YI SYLLABLE HLE
-A1AA;W # YI SYLLABLE HLEP
-A1AB;W # YI SYLLABLE HLUT
-A1AC;W # YI SYLLABLE HLUX
-A1AD;W # YI SYLLABLE HLU
-A1AE;W # YI SYLLABLE HLUP
-A1AF;W # YI SYLLABLE HLURX
-A1B0;W # YI SYLLABLE HLUR
-A1B1;W # YI SYLLABLE HLYT
-A1B2;W # YI SYLLABLE HLYX
-A1B3;W # YI SYLLABLE HLY
-A1B4;W # YI SYLLABLE HLYP
-A1B5;W # YI SYLLABLE HLYRX
-A1B6;W # YI SYLLABLE HLYR
-A1B7;W # YI SYLLABLE LIT
-A1B8;W # YI SYLLABLE LIX
-A1B9;W # YI SYLLABLE LI
-A1BA;W # YI SYLLABLE LIP
-A1BB;W # YI SYLLABLE LIET
-A1BC;W # YI SYLLABLE LIEX
-A1BD;W # YI SYLLABLE LIE
-A1BE;W # YI SYLLABLE LIEP
-A1BF;W # YI SYLLABLE LAT
-A1C0;W # YI SYLLABLE LAX
-A1C1;W # YI SYLLABLE LA
-A1C2;W # YI SYLLABLE LAP
-A1C3;W # YI SYLLABLE LUOT
-A1C4;W # YI SYLLABLE LUOX
-A1C5;W # YI SYLLABLE LUO
-A1C6;W # YI SYLLABLE LUOP
-A1C7;W # YI SYLLABLE LOT
-A1C8;W # YI SYLLABLE LOX
-A1C9;W # YI SYLLABLE LO
-A1CA;W # YI SYLLABLE LOP
-A1CB;W # YI SYLLABLE LEX
-A1CC;W # YI SYLLABLE LE
-A1CD;W # YI SYLLABLE LEP
-A1CE;W # YI SYLLABLE LUT
-A1CF;W # YI SYLLABLE LUX
-A1D0;W # YI SYLLABLE LU
-A1D1;W # YI SYLLABLE LUP
-A1D2;W # YI SYLLABLE LURX
-A1D3;W # YI SYLLABLE LUR
-A1D4;W # YI SYLLABLE LYT
-A1D5;W # YI SYLLABLE LYX
-A1D6;W # YI SYLLABLE LY
-A1D7;W # YI SYLLABLE LYP
-A1D8;W # YI SYLLABLE LYRX
-A1D9;W # YI SYLLABLE LYR
-A1DA;W # YI SYLLABLE GIT
-A1DB;W # YI SYLLABLE GIX
-A1DC;W # YI SYLLABLE GI
-A1DD;W # YI SYLLABLE GIP
-A1DE;W # YI SYLLABLE GIET
-A1DF;W # YI SYLLABLE GIEX
-A1E0;W # YI SYLLABLE GIE
-A1E1;W # YI SYLLABLE GIEP
-A1E2;W # YI SYLLABLE GAT
-A1E3;W # YI SYLLABLE GAX
-A1E4;W # YI SYLLABLE GA
-A1E5;W # YI SYLLABLE GAP
-A1E6;W # YI SYLLABLE GUOT
-A1E7;W # YI SYLLABLE GUOX
-A1E8;W # YI SYLLABLE GUO
-A1E9;W # YI SYLLABLE GUOP
-A1EA;W # YI SYLLABLE GOT
-A1EB;W # YI SYLLABLE GOX
-A1EC;W # YI SYLLABLE GO
-A1ED;W # YI SYLLABLE GOP
-A1EE;W # YI SYLLABLE GET
-A1EF;W # YI SYLLABLE GEX
-A1F0;W # YI SYLLABLE GE
-A1F1;W # YI SYLLABLE GEP
-A1F2;W # YI SYLLABLE GUT
-A1F3;W # YI SYLLABLE GUX
-A1F4;W # YI SYLLABLE GU
-A1F5;W # YI SYLLABLE GUP
-A1F6;W # YI SYLLABLE GURX
-A1F7;W # YI SYLLABLE GUR
-A1F8;W # YI SYLLABLE KIT
-A1F9;W # YI SYLLABLE KIX
-A1FA;W # YI SYLLABLE KI
-A1FB;W # YI SYLLABLE KIP
-A1FC;W # YI SYLLABLE KIEX
-A1FD;W # YI SYLLABLE KIE
-A1FE;W # YI SYLLABLE KIEP
-A1FF;W # YI SYLLABLE KAT
-A200;W # YI SYLLABLE KAX
-A201;W # YI SYLLABLE KA
-A202;W # YI SYLLABLE KAP
-A203;W # YI SYLLABLE KUOX
-A204;W # YI SYLLABLE KUO
-A205;W # YI SYLLABLE KUOP
-A206;W # YI SYLLABLE KOT
-A207;W # YI SYLLABLE KOX
-A208;W # YI SYLLABLE KO
-A209;W # YI SYLLABLE KOP
-A20A;W # YI SYLLABLE KET
-A20B;W # YI SYLLABLE KEX
-A20C;W # YI SYLLABLE KE
-A20D;W # YI SYLLABLE KEP
-A20E;W # YI SYLLABLE KUT
-A20F;W # YI SYLLABLE KUX
-A210;W # YI SYLLABLE KU
-A211;W # YI SYLLABLE KUP
-A212;W # YI SYLLABLE KURX
-A213;W # YI SYLLABLE KUR
-A214;W # YI SYLLABLE GGIT
-A215;W # YI SYLLABLE GGIX
-A216;W # YI SYLLABLE GGI
-A217;W # YI SYLLABLE GGIEX
-A218;W # YI SYLLABLE GGIE
-A219;W # YI SYLLABLE GGIEP
-A21A;W # YI SYLLABLE GGAT
-A21B;W # YI SYLLABLE GGAX
-A21C;W # YI SYLLABLE GGA
-A21D;W # YI SYLLABLE GGAP
-A21E;W # YI SYLLABLE GGUOT
-A21F;W # YI SYLLABLE GGUOX
-A220;W # YI SYLLABLE GGUO
-A221;W # YI SYLLABLE GGUOP
-A222;W # YI SYLLABLE GGOT
-A223;W # YI SYLLABLE GGOX
-A224;W # YI SYLLABLE GGO
-A225;W # YI SYLLABLE GGOP
-A226;W # YI SYLLABLE GGET
-A227;W # YI SYLLABLE GGEX
-A228;W # YI SYLLABLE GGE
-A229;W # YI SYLLABLE GGEP
-A22A;W # YI SYLLABLE GGUT
-A22B;W # YI SYLLABLE GGUX
-A22C;W # YI SYLLABLE GGU
-A22D;W # YI SYLLABLE GGUP
-A22E;W # YI SYLLABLE GGURX
-A22F;W # YI SYLLABLE GGUR
-A230;W # YI SYLLABLE MGIEX
-A231;W # YI SYLLABLE MGIE
-A232;W # YI SYLLABLE MGAT
-A233;W # YI SYLLABLE MGAX
-A234;W # YI SYLLABLE MGA
-A235;W # YI SYLLABLE MGAP
-A236;W # YI SYLLABLE MGUOX
-A237;W # YI SYLLABLE MGUO
-A238;W # YI SYLLABLE MGUOP
-A239;W # YI SYLLABLE MGOT
-A23A;W # YI SYLLABLE MGOX
-A23B;W # YI SYLLABLE MGO
-A23C;W # YI SYLLABLE MGOP
-A23D;W # YI SYLLABLE MGEX
-A23E;W # YI SYLLABLE MGE
-A23F;W # YI SYLLABLE MGEP
-A240;W # YI SYLLABLE MGUT
-A241;W # YI SYLLABLE MGUX
-A242;W # YI SYLLABLE MGU
-A243;W # YI SYLLABLE MGUP
-A244;W # YI SYLLABLE MGURX
-A245;W # YI SYLLABLE MGUR
-A246;W # YI SYLLABLE HXIT
-A247;W # YI SYLLABLE HXIX
-A248;W # YI SYLLABLE HXI
-A249;W # YI SYLLABLE HXIP
-A24A;W # YI SYLLABLE HXIET
-A24B;W # YI SYLLABLE HXIEX
-A24C;W # YI SYLLABLE HXIE
-A24D;W # YI SYLLABLE HXIEP
-A24E;W # YI SYLLABLE HXAT
-A24F;W # YI SYLLABLE HXAX
-A250;W # YI SYLLABLE HXA
-A251;W # YI SYLLABLE HXAP
-A252;W # YI SYLLABLE HXUOT
-A253;W # YI SYLLABLE HXUOX
-A254;W # YI SYLLABLE HXUO
-A255;W # YI SYLLABLE HXUOP
-A256;W # YI SYLLABLE HXOT
-A257;W # YI SYLLABLE HXOX
-A258;W # YI SYLLABLE HXO
-A259;W # YI SYLLABLE HXOP
-A25A;W # YI SYLLABLE HXEX
-A25B;W # YI SYLLABLE HXE
-A25C;W # YI SYLLABLE HXEP
-A25D;W # YI SYLLABLE NGIEX
-A25E;W # YI SYLLABLE NGIE
-A25F;W # YI SYLLABLE NGIEP
-A260;W # YI SYLLABLE NGAT
-A261;W # YI SYLLABLE NGAX
-A262;W # YI SYLLABLE NGA
-A263;W # YI SYLLABLE NGAP
-A264;W # YI SYLLABLE NGUOT
-A265;W # YI SYLLABLE NGUOX
-A266;W # YI SYLLABLE NGUO
-A267;W # YI SYLLABLE NGOT
-A268;W # YI SYLLABLE NGOX
-A269;W # YI SYLLABLE NGO
-A26A;W # YI SYLLABLE NGOP
-A26B;W # YI SYLLABLE NGEX
-A26C;W # YI SYLLABLE NGE
-A26D;W # YI SYLLABLE NGEP
-A26E;W # YI SYLLABLE HIT
-A26F;W # YI SYLLABLE HIEX
-A270;W # YI SYLLABLE HIE
-A271;W # YI SYLLABLE HAT
-A272;W # YI SYLLABLE HAX
-A273;W # YI SYLLABLE HA
-A274;W # YI SYLLABLE HAP
-A275;W # YI SYLLABLE HUOT
-A276;W # YI SYLLABLE HUOX
-A277;W # YI SYLLABLE HUO
-A278;W # YI SYLLABLE HUOP
-A279;W # YI SYLLABLE HOT
-A27A;W # YI SYLLABLE HOX
-A27B;W # YI SYLLABLE HO
-A27C;W # YI SYLLABLE HOP
-A27D;W # YI SYLLABLE HEX
-A27E;W # YI SYLLABLE HE
-A27F;W # YI SYLLABLE HEP
-A280;W # YI SYLLABLE WAT
-A281;W # YI SYLLABLE WAX
-A282;W # YI SYLLABLE WA
-A283;W # YI SYLLABLE WAP
-A284;W # YI SYLLABLE WUOX
-A285;W # YI SYLLABLE WUO
-A286;W # YI SYLLABLE WUOP
-A287;W # YI SYLLABLE WOX
-A288;W # YI SYLLABLE WO
-A289;W # YI SYLLABLE WOP
-A28A;W # YI SYLLABLE WEX
-A28B;W # YI SYLLABLE WE
-A28C;W # YI SYLLABLE WEP
-A28D;W # YI SYLLABLE ZIT
-A28E;W # YI SYLLABLE ZIX
-A28F;W # YI SYLLABLE ZI
-A290;W # YI SYLLABLE ZIP
-A291;W # YI SYLLABLE ZIEX
-A292;W # YI SYLLABLE ZIE
-A293;W # YI SYLLABLE ZIEP
-A294;W # YI SYLLABLE ZAT
-A295;W # YI SYLLABLE ZAX
-A296;W # YI SYLLABLE ZA
-A297;W # YI SYLLABLE ZAP
-A298;W # YI SYLLABLE ZUOX
-A299;W # YI SYLLABLE ZUO
-A29A;W # YI SYLLABLE ZUOP
-A29B;W # YI SYLLABLE ZOT
-A29C;W # YI SYLLABLE ZOX
-A29D;W # YI SYLLABLE ZO
-A29E;W # YI SYLLABLE ZOP
-A29F;W # YI SYLLABLE ZEX
-A2A0;W # YI SYLLABLE ZE
-A2A1;W # YI SYLLABLE ZEP
-A2A2;W # YI SYLLABLE ZUT
-A2A3;W # YI SYLLABLE ZUX
-A2A4;W # YI SYLLABLE ZU
-A2A5;W # YI SYLLABLE ZUP
-A2A6;W # YI SYLLABLE ZURX
-A2A7;W # YI SYLLABLE ZUR
-A2A8;W # YI SYLLABLE ZYT
-A2A9;W # YI SYLLABLE ZYX
-A2AA;W # YI SYLLABLE ZY
-A2AB;W # YI SYLLABLE ZYP
-A2AC;W # YI SYLLABLE ZYRX
-A2AD;W # YI SYLLABLE ZYR
-A2AE;W # YI SYLLABLE CIT
-A2AF;W # YI SYLLABLE CIX
-A2B0;W # YI SYLLABLE CI
-A2B1;W # YI SYLLABLE CIP
-A2B2;W # YI SYLLABLE CIET
-A2B3;W # YI SYLLABLE CIEX
-A2B4;W # YI SYLLABLE CIE
-A2B5;W # YI SYLLABLE CIEP
-A2B6;W # YI SYLLABLE CAT
-A2B7;W # YI SYLLABLE CAX
-A2B8;W # YI SYLLABLE CA
-A2B9;W # YI SYLLABLE CAP
-A2BA;W # YI SYLLABLE CUOX
-A2BB;W # YI SYLLABLE CUO
-A2BC;W # YI SYLLABLE CUOP
-A2BD;W # YI SYLLABLE COT
-A2BE;W # YI SYLLABLE COX
-A2BF;W # YI SYLLABLE CO
-A2C0;W # YI SYLLABLE COP
-A2C1;W # YI SYLLABLE CEX
-A2C2;W # YI SYLLABLE CE
-A2C3;W # YI SYLLABLE CEP
-A2C4;W # YI SYLLABLE CUT
-A2C5;W # YI SYLLABLE CUX
-A2C6;W # YI SYLLABLE CU
-A2C7;W # YI SYLLABLE CUP
-A2C8;W # YI SYLLABLE CURX
-A2C9;W # YI SYLLABLE CUR
-A2CA;W # YI SYLLABLE CYT
-A2CB;W # YI SYLLABLE CYX
-A2CC;W # YI SYLLABLE CY
-A2CD;W # YI SYLLABLE CYP
-A2CE;W # YI SYLLABLE CYRX
-A2CF;W # YI SYLLABLE CYR
-A2D0;W # YI SYLLABLE ZZIT
-A2D1;W # YI SYLLABLE ZZIX
-A2D2;W # YI SYLLABLE ZZI
-A2D3;W # YI SYLLABLE ZZIP
-A2D4;W # YI SYLLABLE ZZIET
-A2D5;W # YI SYLLABLE ZZIEX
-A2D6;W # YI SYLLABLE ZZIE
-A2D7;W # YI SYLLABLE ZZIEP
-A2D8;W # YI SYLLABLE ZZAT
-A2D9;W # YI SYLLABLE ZZAX
-A2DA;W # YI SYLLABLE ZZA
-A2DB;W # YI SYLLABLE ZZAP
-A2DC;W # YI SYLLABLE ZZOX
-A2DD;W # YI SYLLABLE ZZO
-A2DE;W # YI SYLLABLE ZZOP
-A2DF;W # YI SYLLABLE ZZEX
-A2E0;W # YI SYLLABLE ZZE
-A2E1;W # YI SYLLABLE ZZEP
-A2E2;W # YI SYLLABLE ZZUX
-A2E3;W # YI SYLLABLE ZZU
-A2E4;W # YI SYLLABLE ZZUP
-A2E5;W # YI SYLLABLE ZZURX
-A2E6;W # YI SYLLABLE ZZUR
-A2E7;W # YI SYLLABLE ZZYT
-A2E8;W # YI SYLLABLE ZZYX
-A2E9;W # YI SYLLABLE ZZY
-A2EA;W # YI SYLLABLE ZZYP
-A2EB;W # YI SYLLABLE ZZYRX
-A2EC;W # YI SYLLABLE ZZYR
-A2ED;W # YI SYLLABLE NZIT
-A2EE;W # YI SYLLABLE NZIX
-A2EF;W # YI SYLLABLE NZI
-A2F0;W # YI SYLLABLE NZIP
-A2F1;W # YI SYLLABLE NZIEX
-A2F2;W # YI SYLLABLE NZIE
-A2F3;W # YI SYLLABLE NZIEP
-A2F4;W # YI SYLLABLE NZAT
-A2F5;W # YI SYLLABLE NZAX
-A2F6;W # YI SYLLABLE NZA
-A2F7;W # YI SYLLABLE NZAP
-A2F8;W # YI SYLLABLE NZUOX
-A2F9;W # YI SYLLABLE NZUO
-A2FA;W # YI SYLLABLE NZOX
-A2FB;W # YI SYLLABLE NZOP
-A2FC;W # YI SYLLABLE NZEX
-A2FD;W # YI SYLLABLE NZE
-A2FE;W # YI SYLLABLE NZUX
-A2FF;W # YI SYLLABLE NZU
-A300;W # YI SYLLABLE NZUP
-A301;W # YI SYLLABLE NZURX
-A302;W # YI SYLLABLE NZUR
-A303;W # YI SYLLABLE NZYT
-A304;W # YI SYLLABLE NZYX
-A305;W # YI SYLLABLE NZY
-A306;W # YI SYLLABLE NZYP
-A307;W # YI SYLLABLE NZYRX
-A308;W # YI SYLLABLE NZYR
-A309;W # YI SYLLABLE SIT
-A30A;W # YI SYLLABLE SIX
-A30B;W # YI SYLLABLE SI
-A30C;W # YI SYLLABLE SIP
-A30D;W # YI SYLLABLE SIEX
-A30E;W # YI SYLLABLE SIE
-A30F;W # YI SYLLABLE SIEP
-A310;W # YI SYLLABLE SAT
-A311;W # YI SYLLABLE SAX
-A312;W # YI SYLLABLE SA
-A313;W # YI SYLLABLE SAP
-A314;W # YI SYLLABLE SUOX
-A315;W # YI SYLLABLE SUO
-A316;W # YI SYLLABLE SUOP
-A317;W # YI SYLLABLE SOT
-A318;W # YI SYLLABLE SOX
-A319;W # YI SYLLABLE SO
-A31A;W # YI SYLLABLE SOP
-A31B;W # YI SYLLABLE SEX
-A31C;W # YI SYLLABLE SE
-A31D;W # YI SYLLABLE SEP
-A31E;W # YI SYLLABLE SUT
-A31F;W # YI SYLLABLE SUX
-A320;W # YI SYLLABLE SU
-A321;W # YI SYLLABLE SUP
-A322;W # YI SYLLABLE SURX
-A323;W # YI SYLLABLE SUR
-A324;W # YI SYLLABLE SYT
-A325;W # YI SYLLABLE SYX
-A326;W # YI SYLLABLE SY
-A327;W # YI SYLLABLE SYP
-A328;W # YI SYLLABLE SYRX
-A329;W # YI SYLLABLE SYR
-A32A;W # YI SYLLABLE SSIT
-A32B;W # YI SYLLABLE SSIX
-A32C;W # YI SYLLABLE SSI
-A32D;W # YI SYLLABLE SSIP
-A32E;W # YI SYLLABLE SSIEX
-A32F;W # YI SYLLABLE SSIE
-A330;W # YI SYLLABLE SSIEP
-A331;W # YI SYLLABLE SSAT
-A332;W # YI SYLLABLE SSAX
-A333;W # YI SYLLABLE SSA
-A334;W # YI SYLLABLE SSAP
-A335;W # YI SYLLABLE SSOT
-A336;W # YI SYLLABLE SSOX
-A337;W # YI SYLLABLE SSO
-A338;W # YI SYLLABLE SSOP
-A339;W # YI SYLLABLE SSEX
-A33A;W # YI SYLLABLE SSE
-A33B;W # YI SYLLABLE SSEP
-A33C;W # YI SYLLABLE SSUT
-A33D;W # YI SYLLABLE SSUX
-A33E;W # YI SYLLABLE SSU
-A33F;W # YI SYLLABLE SSUP
-A340;W # YI SYLLABLE SSYT
-A341;W # YI SYLLABLE SSYX
-A342;W # YI SYLLABLE SSY
-A343;W # YI SYLLABLE SSYP
-A344;W # YI SYLLABLE SSYRX
-A345;W # YI SYLLABLE SSYR
-A346;W # YI SYLLABLE ZHAT
-A347;W # YI SYLLABLE ZHAX
-A348;W # YI SYLLABLE ZHA
-A349;W # YI SYLLABLE ZHAP
-A34A;W # YI SYLLABLE ZHUOX
-A34B;W # YI SYLLABLE ZHUO
-A34C;W # YI SYLLABLE ZHUOP
-A34D;W # YI SYLLABLE ZHOT
-A34E;W # YI SYLLABLE ZHOX
-A34F;W # YI SYLLABLE ZHO
-A350;W # YI SYLLABLE ZHOP
-A351;W # YI SYLLABLE ZHET
-A352;W # YI SYLLABLE ZHEX
-A353;W # YI SYLLABLE ZHE
-A354;W # YI SYLLABLE ZHEP
-A355;W # YI SYLLABLE ZHUT
-A356;W # YI SYLLABLE ZHUX
-A357;W # YI SYLLABLE ZHU
-A358;W # YI SYLLABLE ZHUP
-A359;W # YI SYLLABLE ZHURX
-A35A;W # YI SYLLABLE ZHUR
-A35B;W # YI SYLLABLE ZHYT
-A35C;W # YI SYLLABLE ZHYX
-A35D;W # YI SYLLABLE ZHY
-A35E;W # YI SYLLABLE ZHYP
-A35F;W # YI SYLLABLE ZHYRX
-A360;W # YI SYLLABLE ZHYR
-A361;W # YI SYLLABLE CHAT
-A362;W # YI SYLLABLE CHAX
-A363;W # YI SYLLABLE CHA
-A364;W # YI SYLLABLE CHAP
-A365;W # YI SYLLABLE CHUOT
-A366;W # YI SYLLABLE CHUOX
-A367;W # YI SYLLABLE CHUO
-A368;W # YI SYLLABLE CHUOP
-A369;W # YI SYLLABLE CHOT
-A36A;W # YI SYLLABLE CHOX
-A36B;W # YI SYLLABLE CHO
-A36C;W # YI SYLLABLE CHOP
-A36D;W # YI SYLLABLE CHET
-A36E;W # YI SYLLABLE CHEX
-A36F;W # YI SYLLABLE CHE
-A370;W # YI SYLLABLE CHEP
-A371;W # YI SYLLABLE CHUX
-A372;W # YI SYLLABLE CHU
-A373;W # YI SYLLABLE CHUP
-A374;W # YI SYLLABLE CHURX
-A375;W # YI SYLLABLE CHUR
-A376;W # YI SYLLABLE CHYT
-A377;W # YI SYLLABLE CHYX
-A378;W # YI SYLLABLE CHY
-A379;W # YI SYLLABLE CHYP
-A37A;W # YI SYLLABLE CHYRX
-A37B;W # YI SYLLABLE CHYR
-A37C;W # YI SYLLABLE RRAX
-A37D;W # YI SYLLABLE RRA
-A37E;W # YI SYLLABLE RRUOX
-A37F;W # YI SYLLABLE RRUO
-A380;W # YI SYLLABLE RROT
-A381;W # YI SYLLABLE RROX
-A382;W # YI SYLLABLE RRO
-A383;W # YI SYLLABLE RROP
-A384;W # YI SYLLABLE RRET
-A385;W # YI SYLLABLE RREX
-A386;W # YI SYLLABLE RRE
-A387;W # YI SYLLABLE RREP
-A388;W # YI SYLLABLE RRUT
-A389;W # YI SYLLABLE RRUX
-A38A;W # YI SYLLABLE RRU
-A38B;W # YI SYLLABLE RRUP
-A38C;W # YI SYLLABLE RRURX
-A38D;W # YI SYLLABLE RRUR
-A38E;W # YI SYLLABLE RRYT
-A38F;W # YI SYLLABLE RRYX
-A390;W # YI SYLLABLE RRY
-A391;W # YI SYLLABLE RRYP
-A392;W # YI SYLLABLE RRYRX
-A393;W # YI SYLLABLE RRYR
-A394;W # YI SYLLABLE NRAT
-A395;W # YI SYLLABLE NRAX
-A396;W # YI SYLLABLE NRA
-A397;W # YI SYLLABLE NRAP
-A398;W # YI SYLLABLE NROX
-A399;W # YI SYLLABLE NRO
-A39A;W # YI SYLLABLE NROP
-A39B;W # YI SYLLABLE NRET
-A39C;W # YI SYLLABLE NREX
-A39D;W # YI SYLLABLE NRE
-A39E;W # YI SYLLABLE NREP
-A39F;W # YI SYLLABLE NRUT
-A3A0;W # YI SYLLABLE NRUX
-A3A1;W # YI SYLLABLE NRU
-A3A2;W # YI SYLLABLE NRUP
-A3A3;W # YI SYLLABLE NRURX
-A3A4;W # YI SYLLABLE NRUR
-A3A5;W # YI SYLLABLE NRYT
-A3A6;W # YI SYLLABLE NRYX
-A3A7;W # YI SYLLABLE NRY
-A3A8;W # YI SYLLABLE NRYP
-A3A9;W # YI SYLLABLE NRYRX
-A3AA;W # YI SYLLABLE NRYR
-A3AB;W # YI SYLLABLE SHAT
-A3AC;W # YI SYLLABLE SHAX
-A3AD;W # YI SYLLABLE SHA
-A3AE;W # YI SYLLABLE SHAP
-A3AF;W # YI SYLLABLE SHUOX
-A3B0;W # YI SYLLABLE SHUO
-A3B1;W # YI SYLLABLE SHUOP
-A3B2;W # YI SYLLABLE SHOT
-A3B3;W # YI SYLLABLE SHOX
-A3B4;W # YI SYLLABLE SHO
-A3B5;W # YI SYLLABLE SHOP
-A3B6;W # YI SYLLABLE SHET
-A3B7;W # YI SYLLABLE SHEX
-A3B8;W # YI SYLLABLE SHE
-A3B9;W # YI SYLLABLE SHEP
-A3BA;W # YI SYLLABLE SHUT
-A3BB;W # YI SYLLABLE SHUX
-A3BC;W # YI SYLLABLE SHU
-A3BD;W # YI SYLLABLE SHUP
-A3BE;W # YI SYLLABLE SHURX
-A3BF;W # YI SYLLABLE SHUR
-A3C0;W # YI SYLLABLE SHYT
-A3C1;W # YI SYLLABLE SHYX
-A3C2;W # YI SYLLABLE SHY
-A3C3;W # YI SYLLABLE SHYP
-A3C4;W # YI SYLLABLE SHYRX
-A3C5;W # YI SYLLABLE SHYR
-A3C6;W # YI SYLLABLE RAT
-A3C7;W # YI SYLLABLE RAX
-A3C8;W # YI SYLLABLE RA
-A3C9;W # YI SYLLABLE RAP
-A3CA;W # YI SYLLABLE RUOX
-A3CB;W # YI SYLLABLE RUO
-A3CC;W # YI SYLLABLE RUOP
-A3CD;W # YI SYLLABLE ROT
-A3CE;W # YI SYLLABLE ROX
-A3CF;W # YI SYLLABLE RO
-A3D0;W # YI SYLLABLE ROP
-A3D1;W # YI SYLLABLE REX
-A3D2;W # YI SYLLABLE RE
-A3D3;W # YI SYLLABLE REP
-A3D4;W # YI SYLLABLE RUT
-A3D5;W # YI SYLLABLE RUX
-A3D6;W # YI SYLLABLE RU
-A3D7;W # YI SYLLABLE RUP
-A3D8;W # YI SYLLABLE RURX
-A3D9;W # YI SYLLABLE RUR
-A3DA;W # YI SYLLABLE RYT
-A3DB;W # YI SYLLABLE RYX
-A3DC;W # YI SYLLABLE RY
-A3DD;W # YI SYLLABLE RYP
-A3DE;W # YI SYLLABLE RYRX
-A3DF;W # YI SYLLABLE RYR
-A3E0;W # YI SYLLABLE JIT
-A3E1;W # YI SYLLABLE JIX
-A3E2;W # YI SYLLABLE JI
-A3E3;W # YI SYLLABLE JIP
-A3E4;W # YI SYLLABLE JIET
-A3E5;W # YI SYLLABLE JIEX
-A3E6;W # YI SYLLABLE JIE
-A3E7;W # YI SYLLABLE JIEP
-A3E8;W # YI SYLLABLE JUOT
-A3E9;W # YI SYLLABLE JUOX
-A3EA;W # YI SYLLABLE JUO
-A3EB;W # YI SYLLABLE JUOP
-A3EC;W # YI SYLLABLE JOT
-A3ED;W # YI SYLLABLE JOX
-A3EE;W # YI SYLLABLE JO
-A3EF;W # YI SYLLABLE JOP
-A3F0;W # YI SYLLABLE JUT
-A3F1;W # YI SYLLABLE JUX
-A3F2;W # YI SYLLABLE JU
-A3F3;W # YI SYLLABLE JUP
-A3F4;W # YI SYLLABLE JURX
-A3F5;W # YI SYLLABLE JUR
-A3F6;W # YI SYLLABLE JYT
-A3F7;W # YI SYLLABLE JYX
-A3F8;W # YI SYLLABLE JY
-A3F9;W # YI SYLLABLE JYP
-A3FA;W # YI SYLLABLE JYRX
-A3FB;W # YI SYLLABLE JYR
-A3FC;W # YI SYLLABLE QIT
-A3FD;W # YI SYLLABLE QIX
-A3FE;W # YI SYLLABLE QI
-A3FF;W # YI SYLLABLE QIP
-A400;W # YI SYLLABLE QIET
-A401;W # YI SYLLABLE QIEX
-A402;W # YI SYLLABLE QIE
-A403;W # YI SYLLABLE QIEP
-A404;W # YI SYLLABLE QUOT
-A405;W # YI SYLLABLE QUOX
-A406;W # YI SYLLABLE QUO
-A407;W # YI SYLLABLE QUOP
-A408;W # YI SYLLABLE QOT
-A409;W # YI SYLLABLE QOX
-A40A;W # YI SYLLABLE QO
-A40B;W # YI SYLLABLE QOP
-A40C;W # YI SYLLABLE QUT
-A40D;W # YI SYLLABLE QUX
-A40E;W # YI SYLLABLE QU
-A40F;W # YI SYLLABLE QUP
-A410;W # YI SYLLABLE QURX
-A411;W # YI SYLLABLE QUR
-A412;W # YI SYLLABLE QYT
-A413;W # YI SYLLABLE QYX
-A414;W # YI SYLLABLE QY
-A415;W # YI SYLLABLE QYP
-A416;W # YI SYLLABLE QYRX
-A417;W # YI SYLLABLE QYR
-A418;W # YI SYLLABLE JJIT
-A419;W # YI SYLLABLE JJIX
-A41A;W # YI SYLLABLE JJI
-A41B;W # YI SYLLABLE JJIP
-A41C;W # YI SYLLABLE JJIET
-A41D;W # YI SYLLABLE JJIEX
-A41E;W # YI SYLLABLE JJIE
-A41F;W # YI SYLLABLE JJIEP
-A420;W # YI SYLLABLE JJUOX
-A421;W # YI SYLLABLE JJUO
-A422;W # YI SYLLABLE JJUOP
-A423;W # YI SYLLABLE JJOT
-A424;W # YI SYLLABLE JJOX
-A425;W # YI SYLLABLE JJO
-A426;W # YI SYLLABLE JJOP
-A427;W # YI SYLLABLE JJUT
-A428;W # YI SYLLABLE JJUX
-A429;W # YI SYLLABLE JJU
-A42A;W # YI SYLLABLE JJUP
-A42B;W # YI SYLLABLE JJURX
-A42C;W # YI SYLLABLE JJUR
-A42D;W # YI SYLLABLE JJYT
-A42E;W # YI SYLLABLE JJYX
-A42F;W # YI SYLLABLE JJY
-A430;W # YI SYLLABLE JJYP
-A431;W # YI SYLLABLE NJIT
-A432;W # YI SYLLABLE NJIX
-A433;W # YI SYLLABLE NJI
-A434;W # YI SYLLABLE NJIP
-A435;W # YI SYLLABLE NJIET
-A436;W # YI SYLLABLE NJIEX
-A437;W # YI SYLLABLE NJIE
-A438;W # YI SYLLABLE NJIEP
-A439;W # YI SYLLABLE NJUOX
-A43A;W # YI SYLLABLE NJUO
-A43B;W # YI SYLLABLE NJOT
-A43C;W # YI SYLLABLE NJOX
-A43D;W # YI SYLLABLE NJO
-A43E;W # YI SYLLABLE NJOP
-A43F;W # YI SYLLABLE NJUX
-A440;W # YI SYLLABLE NJU
-A441;W # YI SYLLABLE NJUP
-A442;W # YI SYLLABLE NJURX
-A443;W # YI SYLLABLE NJUR
-A444;W # YI SYLLABLE NJYT
-A445;W # YI SYLLABLE NJYX
-A446;W # YI SYLLABLE NJY
-A447;W # YI SYLLABLE NJYP
-A448;W # YI SYLLABLE NJYRX
-A449;W # YI SYLLABLE NJYR
-A44A;W # YI SYLLABLE NYIT
-A44B;W # YI SYLLABLE NYIX
-A44C;W # YI SYLLABLE NYI
-A44D;W # YI SYLLABLE NYIP
-A44E;W # YI SYLLABLE NYIET
-A44F;W # YI SYLLABLE NYIEX
-A450;W # YI SYLLABLE NYIE
-A451;W # YI SYLLABLE NYIEP
-A452;W # YI SYLLABLE NYUOX
-A453;W # YI SYLLABLE NYUO
-A454;W # YI SYLLABLE NYUOP
-A455;W # YI SYLLABLE NYOT
-A456;W # YI SYLLABLE NYOX
-A457;W # YI SYLLABLE NYO
-A458;W # YI SYLLABLE NYOP
-A459;W # YI SYLLABLE NYUT
-A45A;W # YI SYLLABLE NYUX
-A45B;W # YI SYLLABLE NYU
-A45C;W # YI SYLLABLE NYUP
-A45D;W # YI SYLLABLE XIT
-A45E;W # YI SYLLABLE XIX
-A45F;W # YI SYLLABLE XI
-A460;W # YI SYLLABLE XIP
-A461;W # YI SYLLABLE XIET
-A462;W # YI SYLLABLE XIEX
-A463;W # YI SYLLABLE XIE
-A464;W # YI SYLLABLE XIEP
-A465;W # YI SYLLABLE XUOX
-A466;W # YI SYLLABLE XUO
-A467;W # YI SYLLABLE XOT
-A468;W # YI SYLLABLE XOX
-A469;W # YI SYLLABLE XO
-A46A;W # YI SYLLABLE XOP
-A46B;W # YI SYLLABLE XYT
-A46C;W # YI SYLLABLE XYX
-A46D;W # YI SYLLABLE XY
-A46E;W # YI SYLLABLE XYP
-A46F;W # YI SYLLABLE XYRX
-A470;W # YI SYLLABLE XYR
-A471;W # YI SYLLABLE YIT
-A472;W # YI SYLLABLE YIX
-A473;W # YI SYLLABLE YI
-A474;W # YI SYLLABLE YIP
-A475;W # YI SYLLABLE YIET
-A476;W # YI SYLLABLE YIEX
-A477;W # YI SYLLABLE YIE
-A478;W # YI SYLLABLE YIEP
-A479;W # YI SYLLABLE YUOT
-A47A;W # YI SYLLABLE YUOX
-A47B;W # YI SYLLABLE YUO
-A47C;W # YI SYLLABLE YUOP
-A47D;W # YI SYLLABLE YOT
-A47E;W # YI SYLLABLE YOX
-A47F;W # YI SYLLABLE YO
-A480;W # YI SYLLABLE YOP
-A481;W # YI SYLLABLE YUT
-A482;W # YI SYLLABLE YUX
-A483;W # YI SYLLABLE YU
-A484;W # YI SYLLABLE YUP
-A485;W # YI SYLLABLE YURX
-A486;W # YI SYLLABLE YUR
-A487;W # YI SYLLABLE YYT
-A488;W # YI SYLLABLE YYX
-A489;W # YI SYLLABLE YY
-A48A;W # YI SYLLABLE YYP
-A48B;W # YI SYLLABLE YYRX
-A48C;W # YI SYLLABLE YYR
-A490;W # YI RADICAL QOT
-A491;W # YI RADICAL LI
-A492;W # YI RADICAL KIT
-A493;W # YI RADICAL NYIP
-A494;W # YI RADICAL CYP
-A495;W # YI RADICAL SSI
-A496;W # YI RADICAL GGOP
-A497;W # YI RADICAL GEP
-A498;W # YI RADICAL MI
-A499;W # YI RADICAL HXIT
-A49A;W # YI RADICAL LYR
-A49B;W # YI RADICAL BBUT
-A49C;W # YI RADICAL MOP
-A49D;W # YI RADICAL YO
-A49E;W # YI RADICAL PUT
-A49F;W # YI RADICAL HXUO
-A4A0;W # YI RADICAL TAT
-A4A1;W # YI RADICAL GA
-A4A2;W # YI RADICAL ZUP
-A4A3;W # YI RADICAL CYT
-A4A4;W # YI RADICAL DDUR
-A4A5;W # YI RADICAL BUR
-A4A6;W # YI RADICAL GGUO
-A4A7;W # YI RADICAL NYOP
-A4A8;W # YI RADICAL TU
-A4A9;W # YI RADICAL OP
-A4AA;W # YI RADICAL JJUT
-A4AB;W # YI RADICAL ZOT
-A4AC;W # YI RADICAL PYT
-A4AD;W # YI RADICAL HMO
-A4AE;W # YI RADICAL YIT
-A4AF;W # YI RADICAL VUR
-A4B0;W # YI RADICAL SHY
-A4B1;W # YI RADICAL VEP
-A4B2;W # YI RADICAL ZA
-A4B3;W # YI RADICAL JO
-A4B4;W # YI RADICAL NZUP
-A4B5;W # YI RADICAL JJY
-A4B6;W # YI RADICAL GOT
-A4B7;W # YI RADICAL JJIE
-A4B8;W # YI RADICAL WO
-A4B9;W # YI RADICAL DU
-A4BA;W # YI RADICAL SHUR
-A4BB;W # YI RADICAL LIE
-A4BC;W # YI RADICAL CY
-A4BD;W # YI RADICAL CUOP
-A4BE;W # YI RADICAL CIP
-A4BF;W # YI RADICAL HXOP
-A4C0;W # YI RADICAL SHAT
-A4C1;W # YI RADICAL ZUR
-A4C2;W # YI RADICAL SHOP
-A4C3;W # YI RADICAL CHE
-A4C4;W # YI RADICAL ZZIET
-A4C5;W # YI RADICAL NBIE
-A4C6;W # YI RADICAL KE
-A4D0;N # LISU LETTER BA
-A4D1;N # LISU LETTER PA
-A4D2;N # LISU LETTER PHA
-A4D3;N # LISU LETTER DA
-A4D4;N # LISU LETTER TA
-A4D5;N # LISU LETTER THA
-A4D6;N # LISU LETTER GA
-A4D7;N # LISU LETTER KA
-A4D8;N # LISU LETTER KHA
-A4D9;N # LISU LETTER JA
-A4DA;N # LISU LETTER CA
-A4DB;N # LISU LETTER CHA
-A4DC;N # LISU LETTER DZA
-A4DD;N # LISU LETTER TSA
-A4DE;N # LISU LETTER TSHA
-A4DF;N # LISU LETTER MA
-A4E0;N # LISU LETTER NA
-A4E1;N # LISU LETTER LA
-A4E2;N # LISU LETTER SA
-A4E3;N # LISU LETTER ZHA
-A4E4;N # LISU LETTER ZA
-A4E5;N # LISU LETTER NGA
-A4E6;N # LISU LETTER HA
-A4E7;N # LISU LETTER XA
-A4E8;N # LISU LETTER HHA
-A4E9;N # LISU LETTER FA
-A4EA;N # LISU LETTER WA
-A4EB;N # LISU LETTER SHA
-A4EC;N # LISU LETTER YA
-A4ED;N # LISU LETTER GHA
-A4EE;N # LISU LETTER A
-A4EF;N # LISU LETTER AE
-A4F0;N # LISU LETTER E
-A4F1;N # LISU LETTER EU
-A4F2;N # LISU LETTER I
-A4F3;N # LISU LETTER O
-A4F4;N # LISU LETTER U
-A4F5;N # LISU LETTER UE
-A4F6;N # LISU LETTER UH
-A4F7;N # LISU LETTER OE
-A4F8;N # LISU LETTER TONE MYA TI
-A4F9;N # LISU LETTER TONE NA PO
-A4FA;N # LISU LETTER TONE MYA CYA
-A4FB;N # LISU LETTER TONE MYA BO
-A4FC;N # LISU LETTER TONE MYA NA
-A4FD;N # LISU LETTER TONE MYA JEU
-A4FE;N # LISU PUNCTUATION COMMA
-A4FF;N # LISU PUNCTUATION FULL STOP
-A500;N # VAI SYLLABLE EE
-A501;N # VAI SYLLABLE EEN
-A502;N # VAI SYLLABLE HEE
-A503;N # VAI SYLLABLE WEE
-A504;N # VAI SYLLABLE WEEN
-A505;N # VAI SYLLABLE PEE
-A506;N # VAI SYLLABLE BHEE
-A507;N # VAI SYLLABLE BEE
-A508;N # VAI SYLLABLE MBEE
-A509;N # VAI SYLLABLE KPEE
-A50A;N # VAI SYLLABLE MGBEE
-A50B;N # VAI SYLLABLE GBEE
-A50C;N # VAI SYLLABLE FEE
-A50D;N # VAI SYLLABLE VEE
-A50E;N # VAI SYLLABLE TEE
-A50F;N # VAI SYLLABLE THEE
-A510;N # VAI SYLLABLE DHEE
-A511;N # VAI SYLLABLE DHHEE
-A512;N # VAI SYLLABLE LEE
-A513;N # VAI SYLLABLE REE
-A514;N # VAI SYLLABLE DEE
-A515;N # VAI SYLLABLE NDEE
-A516;N # VAI SYLLABLE SEE
-A517;N # VAI SYLLABLE SHEE
-A518;N # VAI SYLLABLE ZEE
-A519;N # VAI SYLLABLE ZHEE
-A51A;N # VAI SYLLABLE CEE
-A51B;N # VAI SYLLABLE JEE
-A51C;N # VAI SYLLABLE NJEE
-A51D;N # VAI SYLLABLE YEE
-A51E;N # VAI SYLLABLE KEE
-A51F;N # VAI SYLLABLE NGGEE
-A520;N # VAI SYLLABLE GEE
-A521;N # VAI SYLLABLE MEE
-A522;N # VAI SYLLABLE NEE
-A523;N # VAI SYLLABLE NYEE
-A524;N # VAI SYLLABLE I
-A525;N # VAI SYLLABLE IN
-A526;N # VAI SYLLABLE HI
-A527;N # VAI SYLLABLE HIN
-A528;N # VAI SYLLABLE WI
-A529;N # VAI SYLLABLE WIN
-A52A;N # VAI SYLLABLE PI
-A52B;N # VAI SYLLABLE BHI
-A52C;N # VAI SYLLABLE BI
-A52D;N # VAI SYLLABLE MBI
-A52E;N # VAI SYLLABLE KPI
-A52F;N # VAI SYLLABLE MGBI
-A530;N # VAI SYLLABLE GBI
-A531;N # VAI SYLLABLE FI
-A532;N # VAI SYLLABLE VI
-A533;N # VAI SYLLABLE TI
-A534;N # VAI SYLLABLE THI
-A535;N # VAI SYLLABLE DHI
-A536;N # VAI SYLLABLE DHHI
-A537;N # VAI SYLLABLE LI
-A538;N # VAI SYLLABLE RI
-A539;N # VAI SYLLABLE DI
-A53A;N # VAI SYLLABLE NDI
-A53B;N # VAI SYLLABLE SI
-A53C;N # VAI SYLLABLE SHI
-A53D;N # VAI SYLLABLE ZI
-A53E;N # VAI SYLLABLE ZHI
-A53F;N # VAI SYLLABLE CI
-A540;N # VAI SYLLABLE JI
-A541;N # VAI SYLLABLE NJI
-A542;N # VAI SYLLABLE YI
-A543;N # VAI SYLLABLE KI
-A544;N # VAI SYLLABLE NGGI
-A545;N # VAI SYLLABLE GI
-A546;N # VAI SYLLABLE MI
-A547;N # VAI SYLLABLE NI
-A548;N # VAI SYLLABLE NYI
-A549;N # VAI SYLLABLE A
-A54A;N # VAI SYLLABLE AN
-A54B;N # VAI SYLLABLE NGAN
-A54C;N # VAI SYLLABLE HA
-A54D;N # VAI SYLLABLE HAN
-A54E;N # VAI SYLLABLE WA
-A54F;N # VAI SYLLABLE WAN
-A550;N # VAI SYLLABLE PA
-A551;N # VAI SYLLABLE BHA
-A552;N # VAI SYLLABLE BA
-A553;N # VAI SYLLABLE MBA
-A554;N # VAI SYLLABLE KPA
-A555;N # VAI SYLLABLE KPAN
-A556;N # VAI SYLLABLE MGBA
-A557;N # VAI SYLLABLE GBA
-A558;N # VAI SYLLABLE FA
-A559;N # VAI SYLLABLE VA
-A55A;N # VAI SYLLABLE TA
-A55B;N # VAI SYLLABLE THA
-A55C;N # VAI SYLLABLE DHA
-A55D;N # VAI SYLLABLE DHHA
-A55E;N # VAI SYLLABLE LA
-A55F;N # VAI SYLLABLE RA
-A560;N # VAI SYLLABLE DA
-A561;N # VAI SYLLABLE NDA
-A562;N # VAI SYLLABLE SA
-A563;N # VAI SYLLABLE SHA
-A564;N # VAI SYLLABLE ZA
-A565;N # VAI SYLLABLE ZHA
-A566;N # VAI SYLLABLE CA
-A567;N # VAI SYLLABLE JA
-A568;N # VAI SYLLABLE NJA
-A569;N # VAI SYLLABLE YA
-A56A;N # VAI SYLLABLE KA
-A56B;N # VAI SYLLABLE KAN
-A56C;N # VAI SYLLABLE NGGA
-A56D;N # VAI SYLLABLE GA
-A56E;N # VAI SYLLABLE MA
-A56F;N # VAI SYLLABLE NA
-A570;N # VAI SYLLABLE NYA
-A571;N # VAI SYLLABLE OO
-A572;N # VAI SYLLABLE OON
-A573;N # VAI SYLLABLE HOO
-A574;N # VAI SYLLABLE WOO
-A575;N # VAI SYLLABLE WOON
-A576;N # VAI SYLLABLE POO
-A577;N # VAI SYLLABLE BHOO
-A578;N # VAI SYLLABLE BOO
-A579;N # VAI SYLLABLE MBOO
-A57A;N # VAI SYLLABLE KPOO
-A57B;N # VAI SYLLABLE MGBOO
-A57C;N # VAI SYLLABLE GBOO
-A57D;N # VAI SYLLABLE FOO
-A57E;N # VAI SYLLABLE VOO
-A57F;N # VAI SYLLABLE TOO
-A580;N # VAI SYLLABLE THOO
-A581;N # VAI SYLLABLE DHOO
-A582;N # VAI SYLLABLE DHHOO
-A583;N # VAI SYLLABLE LOO
-A584;N # VAI SYLLABLE ROO
-A585;N # VAI SYLLABLE DOO
-A586;N # VAI SYLLABLE NDOO
-A587;N # VAI SYLLABLE SOO
-A588;N # VAI SYLLABLE SHOO
-A589;N # VAI SYLLABLE ZOO
-A58A;N # VAI SYLLABLE ZHOO
-A58B;N # VAI SYLLABLE COO
-A58C;N # VAI SYLLABLE JOO
-A58D;N # VAI SYLLABLE NJOO
-A58E;N # VAI SYLLABLE YOO
-A58F;N # VAI SYLLABLE KOO
-A590;N # VAI SYLLABLE NGGOO
-A591;N # VAI SYLLABLE GOO
-A592;N # VAI SYLLABLE MOO
-A593;N # VAI SYLLABLE NOO
-A594;N # VAI SYLLABLE NYOO
-A595;N # VAI SYLLABLE U
-A596;N # VAI SYLLABLE UN
-A597;N # VAI SYLLABLE HU
-A598;N # VAI SYLLABLE HUN
-A599;N # VAI SYLLABLE WU
-A59A;N # VAI SYLLABLE WUN
-A59B;N # VAI SYLLABLE PU
-A59C;N # VAI SYLLABLE BHU
-A59D;N # VAI SYLLABLE BU
-A59E;N # VAI SYLLABLE MBU
-A59F;N # VAI SYLLABLE KPU
-A5A0;N # VAI SYLLABLE MGBU
-A5A1;N # VAI SYLLABLE GBU
-A5A2;N # VAI SYLLABLE FU
-A5A3;N # VAI SYLLABLE VU
-A5A4;N # VAI SYLLABLE TU
-A5A5;N # VAI SYLLABLE THU
-A5A6;N # VAI SYLLABLE DHU
-A5A7;N # VAI SYLLABLE DHHU
-A5A8;N # VAI SYLLABLE LU
-A5A9;N # VAI SYLLABLE RU
-A5AA;N # VAI SYLLABLE DU
-A5AB;N # VAI SYLLABLE NDU
-A5AC;N # VAI SYLLABLE SU
-A5AD;N # VAI SYLLABLE SHU
-A5AE;N # VAI SYLLABLE ZU
-A5AF;N # VAI SYLLABLE ZHU
-A5B0;N # VAI SYLLABLE CU
-A5B1;N # VAI SYLLABLE JU
-A5B2;N # VAI SYLLABLE NJU
-A5B3;N # VAI SYLLABLE YU
-A5B4;N # VAI SYLLABLE KU
-A5B5;N # VAI SYLLABLE NGGU
-A5B6;N # VAI SYLLABLE GU
-A5B7;N # VAI SYLLABLE MU
-A5B8;N # VAI SYLLABLE NU
-A5B9;N # VAI SYLLABLE NYU
-A5BA;N # VAI SYLLABLE O
-A5BB;N # VAI SYLLABLE ON
-A5BC;N # VAI SYLLABLE NGON
-A5BD;N # VAI SYLLABLE HO
-A5BE;N # VAI SYLLABLE HON
-A5BF;N # VAI SYLLABLE WO
-A5C0;N # VAI SYLLABLE WON
-A5C1;N # VAI SYLLABLE PO
-A5C2;N # VAI SYLLABLE BHO
-A5C3;N # VAI SYLLABLE BO
-A5C4;N # VAI SYLLABLE MBO
-A5C5;N # VAI SYLLABLE KPO
-A5C6;N # VAI SYLLABLE MGBO
-A5C7;N # VAI SYLLABLE GBO
-A5C8;N # VAI SYLLABLE GBON
-A5C9;N # VAI SYLLABLE FO
-A5CA;N # VAI SYLLABLE VO
-A5CB;N # VAI SYLLABLE TO
-A5CC;N # VAI SYLLABLE THO
-A5CD;N # VAI SYLLABLE DHO
-A5CE;N # VAI SYLLABLE DHHO
-A5CF;N # VAI SYLLABLE LO
-A5D0;N # VAI SYLLABLE RO
-A5D1;N # VAI SYLLABLE DO
-A5D2;N # VAI SYLLABLE NDO
-A5D3;N # VAI SYLLABLE SO
-A5D4;N # VAI SYLLABLE SHO
-A5D5;N # VAI SYLLABLE ZO
-A5D6;N # VAI SYLLABLE ZHO
-A5D7;N # VAI SYLLABLE CO
-A5D8;N # VAI SYLLABLE JO
-A5D9;N # VAI SYLLABLE NJO
-A5DA;N # VAI SYLLABLE YO
-A5DB;N # VAI SYLLABLE KO
-A5DC;N # VAI SYLLABLE NGGO
-A5DD;N # VAI SYLLABLE GO
-A5DE;N # VAI SYLLABLE MO
-A5DF;N # VAI SYLLABLE NO
-A5E0;N # VAI SYLLABLE NYO
-A5E1;N # VAI SYLLABLE E
-A5E2;N # VAI SYLLABLE EN
-A5E3;N # VAI SYLLABLE NGEN
-A5E4;N # VAI SYLLABLE HE
-A5E5;N # VAI SYLLABLE HEN
-A5E6;N # VAI SYLLABLE WE
-A5E7;N # VAI SYLLABLE WEN
-A5E8;N # VAI SYLLABLE PE
-A5E9;N # VAI SYLLABLE BHE
-A5EA;N # VAI SYLLABLE BE
-A5EB;N # VAI SYLLABLE MBE
-A5EC;N # VAI SYLLABLE KPE
-A5ED;N # VAI SYLLABLE KPEN
-A5EE;N # VAI SYLLABLE MGBE
-A5EF;N # VAI SYLLABLE GBE
-A5F0;N # VAI SYLLABLE GBEN
-A5F1;N # VAI SYLLABLE FE
-A5F2;N # VAI SYLLABLE VE
-A5F3;N # VAI SYLLABLE TE
-A5F4;N # VAI SYLLABLE THE
-A5F5;N # VAI SYLLABLE DHE
-A5F6;N # VAI SYLLABLE DHHE
-A5F7;N # VAI SYLLABLE LE
-A5F8;N # VAI SYLLABLE RE
-A5F9;N # VAI SYLLABLE DE
-A5FA;N # VAI SYLLABLE NDE
-A5FB;N # VAI SYLLABLE SE
-A5FC;N # VAI SYLLABLE SHE
-A5FD;N # VAI SYLLABLE ZE
-A5FE;N # VAI SYLLABLE ZHE
-A5FF;N # VAI SYLLABLE CE
-A600;N # VAI SYLLABLE JE
-A601;N # VAI SYLLABLE NJE
-A602;N # VAI SYLLABLE YE
-A603;N # VAI SYLLABLE KE
-A604;N # VAI SYLLABLE NGGE
-A605;N # VAI SYLLABLE NGGEN
-A606;N # VAI SYLLABLE GE
-A607;N # VAI SYLLABLE GEN
-A608;N # VAI SYLLABLE ME
-A609;N # VAI SYLLABLE NE
-A60A;N # VAI SYLLABLE NYE
-A60B;N # VAI SYLLABLE NG
-A60C;N # VAI SYLLABLE LENGTHENER
-A60D;N # VAI COMMA
-A60E;N # VAI FULL STOP
-A60F;N # VAI QUESTION MARK
-A610;N # VAI SYLLABLE NDOLE FA
-A611;N # VAI SYLLABLE NDOLE KA
-A612;N # VAI SYLLABLE NDOLE SOO
-A613;N # VAI SYMBOL FEENG
-A614;N # VAI SYMBOL KEENG
-A615;N # VAI SYMBOL TING
-A616;N # VAI SYMBOL NII
-A617;N # VAI SYMBOL BANG
-A618;N # VAI SYMBOL FAA
-A619;N # VAI SYMBOL TAA
-A61A;N # VAI SYMBOL DANG
-A61B;N # VAI SYMBOL DOONG
-A61C;N # VAI SYMBOL KUNG
-A61D;N # VAI SYMBOL TONG
-A61E;N # VAI SYMBOL DO-O
-A61F;N # VAI SYMBOL JONG
-A620;N # VAI DIGIT ZERO
-A621;N # VAI DIGIT ONE
-A622;N # VAI DIGIT TWO
-A623;N # VAI DIGIT THREE
-A624;N # VAI DIGIT FOUR
-A625;N # VAI DIGIT FIVE
-A626;N # VAI DIGIT SIX
-A627;N # VAI DIGIT SEVEN
-A628;N # VAI DIGIT EIGHT
-A629;N # VAI DIGIT NINE
-A62A;N # VAI SYLLABLE NDOLE MA
-A62B;N # VAI SYLLABLE NDOLE DO
-A640;N # CYRILLIC CAPITAL LETTER ZEMLYA
-A641;N # CYRILLIC SMALL LETTER ZEMLYA
-A642;N # CYRILLIC CAPITAL LETTER DZELO
-A643;N # CYRILLIC SMALL LETTER DZELO
-A644;N # CYRILLIC CAPITAL LETTER REVERSED DZE
-A645;N # CYRILLIC SMALL LETTER REVERSED DZE
-A646;N # CYRILLIC CAPITAL LETTER IOTA
-A647;N # CYRILLIC SMALL LETTER IOTA
-A648;N # CYRILLIC CAPITAL LETTER DJERV
-A649;N # CYRILLIC SMALL LETTER DJERV
-A64A;N # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64B;N # CYRILLIC SMALL LETTER MONOGRAPH UK
-A64C;N # CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64D;N # CYRILLIC SMALL LETTER BROAD OMEGA
-A64E;N # CYRILLIC CAPITAL LETTER NEUTRAL YER
-A64F;N # CYRILLIC SMALL LETTER NEUTRAL YER
-A650;N # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A651;N # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A652;N # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A653;N # CYRILLIC SMALL LETTER IOTIFIED YAT
-A654;N # CYRILLIC CAPITAL LETTER REVERSED YU
-A655;N # CYRILLIC SMALL LETTER REVERSED YU
-A656;N # CYRILLIC CAPITAL LETTER IOTIFIED A
-A657;N # CYRILLIC SMALL LETTER IOTIFIED A
-A658;N # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A659;N # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65A;N # CYRILLIC CAPITAL LETTER BLENDED YUS
-A65B;N # CYRILLIC SMALL LETTER BLENDED YUS
-A65C;N # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65D;N # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E;N # CYRILLIC CAPITAL LETTER YN
-A65F;N # CYRILLIC SMALL LETTER YN
-A662;N # CYRILLIC CAPITAL LETTER SOFT DE
-A663;N # CYRILLIC SMALL LETTER SOFT DE
-A664;N # CYRILLIC CAPITAL LETTER SOFT EL
-A665;N # CYRILLIC SMALL LETTER SOFT EL
-A666;N # CYRILLIC CAPITAL LETTER SOFT EM
-A667;N # CYRILLIC SMALL LETTER SOFT EM
-A668;N # CYRILLIC CAPITAL LETTER MONOCULAR O
-A669;N # CYRILLIC SMALL LETTER MONOCULAR O
-A66A;N # CYRILLIC CAPITAL LETTER BINOCULAR O
-A66B;N # CYRILLIC SMALL LETTER BINOCULAR O
-A66C;N # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A66D;N # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E;N # CYRILLIC LETTER MULTIOCULAR O
-A66F;N # COMBINING CYRILLIC VZMET
-A670;N # COMBINING CYRILLIC TEN MILLIONS SIGN
-A671;N # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
-A672;N # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673;N # SLAVONIC ASTERISK
-A67C;N # COMBINING CYRILLIC KAVYKA
-A67D;N # COMBINING CYRILLIC PAYEROK
-A67E;N # CYRILLIC KAVYKA
-A67F;N # CYRILLIC PAYEROK
-A680;N # CYRILLIC CAPITAL LETTER DWE
-A681;N # CYRILLIC SMALL LETTER DWE
-A682;N # CYRILLIC CAPITAL LETTER DZWE
-A683;N # CYRILLIC SMALL LETTER DZWE
-A684;N # CYRILLIC CAPITAL LETTER ZHWE
-A685;N # CYRILLIC SMALL LETTER ZHWE
-A686;N # CYRILLIC CAPITAL LETTER CCHE
-A687;N # CYRILLIC SMALL LETTER CCHE
-A688;N # CYRILLIC CAPITAL LETTER DZZE
-A689;N # CYRILLIC SMALL LETTER DZZE
-A68A;N # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68B;N # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68C;N # CYRILLIC CAPITAL LETTER TWE
-A68D;N # CYRILLIC SMALL LETTER TWE
-A68E;N # CYRILLIC CAPITAL LETTER TSWE
-A68F;N # CYRILLIC SMALL LETTER TSWE
-A690;N # CYRILLIC CAPITAL LETTER TSSE
-A691;N # CYRILLIC SMALL LETTER TSSE
-A692;N # CYRILLIC CAPITAL LETTER TCHE
-A693;N # CYRILLIC SMALL LETTER TCHE
-A694;N # CYRILLIC CAPITAL LETTER HWE
-A695;N # CYRILLIC SMALL LETTER HWE
-A696;N # CYRILLIC CAPITAL LETTER SHWE
-A697;N # CYRILLIC SMALL LETTER SHWE
-A6A0;N # BAMUM LETTER A
-A6A1;N # BAMUM LETTER KA
-A6A2;N # BAMUM LETTER U
-A6A3;N # BAMUM LETTER KU
-A6A4;N # BAMUM LETTER EE
-A6A5;N # BAMUM LETTER REE
-A6A6;N # BAMUM LETTER TAE
-A6A7;N # BAMUM LETTER O
-A6A8;N # BAMUM LETTER NYI
-A6A9;N # BAMUM LETTER I
-A6AA;N # BAMUM LETTER LA
-A6AB;N # BAMUM LETTER PA
-A6AC;N # BAMUM LETTER RII
-A6AD;N # BAMUM LETTER RIEE
-A6AE;N # BAMUM LETTER LEEEE
-A6AF;N # BAMUM LETTER MEEEE
-A6B0;N # BAMUM LETTER TAA
-A6B1;N # BAMUM LETTER NDAA
-A6B2;N # BAMUM LETTER NJAEM
-A6B3;N # BAMUM LETTER M
-A6B4;N # BAMUM LETTER SUU
-A6B5;N # BAMUM LETTER MU
-A6B6;N # BAMUM LETTER SHII
-A6B7;N # BAMUM LETTER SI
-A6B8;N # BAMUM LETTER SHEUX
-A6B9;N # BAMUM LETTER SEUX
-A6BA;N # BAMUM LETTER KYEE
-A6BB;N # BAMUM LETTER KET
-A6BC;N # BAMUM LETTER NUAE
-A6BD;N # BAMUM LETTER NU
-A6BE;N # BAMUM LETTER NJUAE
-A6BF;N # BAMUM LETTER YOQ
-A6C0;N # BAMUM LETTER SHU
-A6C1;N # BAMUM LETTER YUQ
-A6C2;N # BAMUM LETTER YA
-A6C3;N # BAMUM LETTER NSHA
-A6C4;N # BAMUM LETTER KEUX
-A6C5;N # BAMUM LETTER PEUX
-A6C6;N # BAMUM LETTER NJEE
-A6C7;N # BAMUM LETTER NTEE
-A6C8;N # BAMUM LETTER PUE
-A6C9;N # BAMUM LETTER WUE
-A6CA;N # BAMUM LETTER PEE
-A6CB;N # BAMUM LETTER FEE
-A6CC;N # BAMUM LETTER RU
-A6CD;N # BAMUM LETTER LU
-A6CE;N # BAMUM LETTER MI
-A6CF;N # BAMUM LETTER NI
-A6D0;N # BAMUM LETTER REUX
-A6D1;N # BAMUM LETTER RAE
-A6D2;N # BAMUM LETTER KEN
-A6D3;N # BAMUM LETTER NGKWAEN
-A6D4;N # BAMUM LETTER NGGA
-A6D5;N # BAMUM LETTER NGA
-A6D6;N # BAMUM LETTER SHO
-A6D7;N # BAMUM LETTER PUAE
-A6D8;N # BAMUM LETTER FU
-A6D9;N # BAMUM LETTER FOM
-A6DA;N # BAMUM LETTER WA
-A6DB;N # BAMUM LETTER NA
-A6DC;N # BAMUM LETTER LI
-A6DD;N # BAMUM LETTER PI
-A6DE;N # BAMUM LETTER LOQ
-A6DF;N # BAMUM LETTER KO
-A6E0;N # BAMUM LETTER MBEN
-A6E1;N # BAMUM LETTER REN
-A6E2;N # BAMUM LETTER MEN
-A6E3;N # BAMUM LETTER MA
-A6E4;N # BAMUM LETTER TI
-A6E5;N # BAMUM LETTER KI
-A6E6;N # BAMUM LETTER MO
-A6E7;N # BAMUM LETTER MBAA
-A6E8;N # BAMUM LETTER TET
-A6E9;N # BAMUM LETTER KPA
-A6EA;N # BAMUM LETTER TEN
-A6EB;N # BAMUM LETTER NTUU
-A6EC;N # BAMUM LETTER SAMBA
-A6ED;N # BAMUM LETTER FAAMAE
-A6EE;N # BAMUM LETTER KOVUU
-A6EF;N # BAMUM LETTER KOGHOM
-A6F0;N # BAMUM COMBINING MARK KOQNDON
-A6F1;N # BAMUM COMBINING MARK TUKWENTIS
-A6F2;N # BAMUM NJAEMLI
-A6F3;N # BAMUM FULL STOP
-A6F4;N # BAMUM COLON
-A6F5;N # BAMUM COMMA
-A6F6;N # BAMUM SEMICOLON
-A6F7;N # BAMUM QUESTION MARK
-A700;N # MODIFIER LETTER CHINESE TONE YIN PING
-A701;N # MODIFIER LETTER CHINESE TONE YANG PING
-A702;N # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703;N # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704;N # MODIFIER LETTER CHINESE TONE YIN QU
-A705;N # MODIFIER LETTER CHINESE TONE YANG QU
-A706;N # MODIFIER LETTER CHINESE TONE YIN RU
-A707;N # MODIFIER LETTER CHINESE TONE YANG RU
-A708;N # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709;N # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A;N # MODIFIER LETTER MID DOTTED TONE BAR
-A70B;N # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C;N # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D;N # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E;N # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F;N # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710;N # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711;N # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712;N # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713;N # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714;N # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715;N # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716;N # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717;N # MODIFIER LETTER DOT VERTICAL BAR
-A718;N # MODIFIER LETTER DOT SLASH
-A719;N # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A;N # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B;N # MODIFIER LETTER RAISED UP ARROW
-A71C;N # MODIFIER LETTER RAISED DOWN ARROW
-A71D;N # MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E;N # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F;N # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720;N # MODIFIER LETTER STRESS AND HIGH TONE
-A721;N # MODIFIER LETTER STRESS AND LOW TONE
-A722;N # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A723;N # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A724;N # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A725;N # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A726;N # LATIN CAPITAL LETTER HENG
-A727;N # LATIN SMALL LETTER HENG
-A728;N # LATIN CAPITAL LETTER TZ
-A729;N # LATIN SMALL LETTER TZ
-A72A;N # LATIN CAPITAL LETTER TRESILLO
-A72B;N # LATIN SMALL LETTER TRESILLO
-A72C;N # LATIN CAPITAL LETTER CUATRILLO
-A72D;N # LATIN SMALL LETTER CUATRILLO
-A72E;N # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A72F;N # LATIN SMALL LETTER CUATRILLO WITH COMMA
-A730;N # LATIN LETTER SMALL CAPITAL F
-A731;N # LATIN LETTER SMALL CAPITAL S
-A732;N # LATIN CAPITAL LETTER AA
-A733;N # LATIN SMALL LETTER AA
-A734;N # LATIN CAPITAL LETTER AO
-A735;N # LATIN SMALL LETTER AO
-A736;N # LATIN CAPITAL LETTER AU
-A737;N # LATIN SMALL LETTER AU
-A738;N # LATIN CAPITAL LETTER AV
-A739;N # LATIN SMALL LETTER AV
-A73A;N # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73B;N # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73C;N # LATIN CAPITAL LETTER AY
-A73D;N # LATIN SMALL LETTER AY
-A73E;N # LATIN CAPITAL LETTER REVERSED C WITH DOT
-A73F;N # LATIN SMALL LETTER REVERSED C WITH DOT
-A740;N # LATIN CAPITAL LETTER K WITH STROKE
-A741;N # LATIN SMALL LETTER K WITH STROKE
-A742;N # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A743;N # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A744;N # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A745;N # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746;N # LATIN CAPITAL LETTER BROKEN L
-A747;N # LATIN SMALL LETTER BROKEN L
-A748;N # LATIN CAPITAL LETTER L WITH HIGH STROKE
-A749;N # LATIN SMALL LETTER L WITH HIGH STROKE
-A74A;N # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74B;N # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74C;N # LATIN CAPITAL LETTER O WITH LOOP
-A74D;N # LATIN SMALL LETTER O WITH LOOP
-A74E;N # LATIN CAPITAL LETTER OO
-A74F;N # LATIN SMALL LETTER OO
-A750;N # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A751;N # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A752;N # LATIN CAPITAL LETTER P WITH FLOURISH
-A753;N # LATIN SMALL LETTER P WITH FLOURISH
-A754;N # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A755;N # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A756;N # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A757;N # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A758;N # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A759;N # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75A;N # LATIN CAPITAL LETTER R ROTUNDA
-A75B;N # LATIN SMALL LETTER R ROTUNDA
-A75C;N # LATIN CAPITAL LETTER RUM ROTUNDA
-A75D;N # LATIN SMALL LETTER RUM ROTUNDA
-A75E;N # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A75F;N # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A760;N # LATIN CAPITAL LETTER VY
-A761;N # LATIN SMALL LETTER VY
-A762;N # LATIN CAPITAL LETTER VISIGOTHIC Z
-A763;N # LATIN SMALL LETTER VISIGOTHIC Z
-A764;N # LATIN CAPITAL LETTER THORN WITH STROKE
-A765;N # LATIN SMALL LETTER THORN WITH STROKE
-A766;N # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A767;N # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768;N # LATIN CAPITAL LETTER VEND
-A769;N # LATIN SMALL LETTER VEND
-A76A;N # LATIN CAPITAL LETTER ET
-A76B;N # LATIN SMALL LETTER ET
-A76C;N # LATIN CAPITAL LETTER IS
-A76D;N # LATIN SMALL LETTER IS
-A76E;N # LATIN CAPITAL LETTER CON
-A76F;N # LATIN SMALL LETTER CON
-A770;N # MODIFIER LETTER US
-A771;N # LATIN SMALL LETTER DUM
-A772;N # LATIN SMALL LETTER LUM
-A773;N # LATIN SMALL LETTER MUM
-A774;N # LATIN SMALL LETTER NUM
-A775;N # LATIN SMALL LETTER RUM
-A776;N # LATIN LETTER SMALL CAPITAL RUM
-A777;N # LATIN SMALL LETTER TUM
-A778;N # LATIN SMALL LETTER UM
-A779;N # LATIN CAPITAL LETTER INSULAR D
-A77A;N # LATIN SMALL LETTER INSULAR D
-A77B;N # LATIN CAPITAL LETTER INSULAR F
-A77C;N # LATIN SMALL LETTER INSULAR F
-A77D;N # LATIN CAPITAL LETTER INSULAR G
-A77E;N # LATIN CAPITAL LETTER TURNED INSULAR G
-A77F;N # LATIN SMALL LETTER TURNED INSULAR G
-A780;N # LATIN CAPITAL LETTER TURNED L
-A781;N # LATIN SMALL LETTER TURNED L
-A782;N # LATIN CAPITAL LETTER INSULAR R
-A783;N # LATIN SMALL LETTER INSULAR R
-A784;N # LATIN CAPITAL LETTER INSULAR S
-A785;N # LATIN SMALL LETTER INSULAR S
-A786;N # LATIN CAPITAL LETTER INSULAR T
-A787;N # LATIN SMALL LETTER INSULAR T
-A788;N # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789;N # MODIFIER LETTER COLON
-A78A;N # MODIFIER LETTER SHORT EQUALS SIGN
-A78B;N # LATIN CAPITAL LETTER SALTILLO
-A78C;N # LATIN SMALL LETTER SALTILLO
-A7FB;N # LATIN EPIGRAPHIC LETTER REVERSED F
-A7FC;N # LATIN EPIGRAPHIC LETTER REVERSED P
-A7FD;N # LATIN EPIGRAPHIC LETTER INVERTED M
-A7FE;N # LATIN EPIGRAPHIC LETTER I LONGA
-A7FF;N # LATIN EPIGRAPHIC LETTER ARCHAIC M
-A800;N # SYLOTI NAGRI LETTER A
-A801;N # SYLOTI NAGRI LETTER I
-A802;N # SYLOTI NAGRI SIGN DVISVARA
-A803;N # SYLOTI NAGRI LETTER U
-A804;N # SYLOTI NAGRI LETTER E
-A805;N # SYLOTI NAGRI LETTER O
-A806;N # SYLOTI NAGRI SIGN HASANTA
-A807;N # SYLOTI NAGRI LETTER KO
-A808;N # SYLOTI NAGRI LETTER KHO
-A809;N # SYLOTI NAGRI LETTER GO
-A80A;N # SYLOTI NAGRI LETTER GHO
-A80B;N # SYLOTI NAGRI SIGN ANUSVARA
-A80C;N # SYLOTI NAGRI LETTER CO
-A80D;N # SYLOTI NAGRI LETTER CHO
-A80E;N # SYLOTI NAGRI LETTER JO
-A80F;N # SYLOTI NAGRI LETTER JHO
-A810;N # SYLOTI NAGRI LETTER TTO
-A811;N # SYLOTI NAGRI LETTER TTHO
-A812;N # SYLOTI NAGRI LETTER DDO
-A813;N # SYLOTI NAGRI LETTER DDHO
-A814;N # SYLOTI NAGRI LETTER TO
-A815;N # SYLOTI NAGRI LETTER THO
-A816;N # SYLOTI NAGRI LETTER DO
-A817;N # SYLOTI NAGRI LETTER DHO
-A818;N # SYLOTI NAGRI LETTER NO
-A819;N # SYLOTI NAGRI LETTER PO
-A81A;N # SYLOTI NAGRI LETTER PHO
-A81B;N # SYLOTI NAGRI LETTER BO
-A81C;N # SYLOTI NAGRI LETTER BHO
-A81D;N # SYLOTI NAGRI LETTER MO
-A81E;N # SYLOTI NAGRI LETTER RO
-A81F;N # SYLOTI NAGRI LETTER LO
-A820;N # SYLOTI NAGRI LETTER RRO
-A821;N # SYLOTI NAGRI LETTER SO
-A822;N # SYLOTI NAGRI LETTER HO
-A823;N # SYLOTI NAGRI VOWEL SIGN A
-A824;N # SYLOTI NAGRI VOWEL SIGN I
-A825;N # SYLOTI NAGRI VOWEL SIGN U
-A826;N # SYLOTI NAGRI VOWEL SIGN E
-A827;N # SYLOTI NAGRI VOWEL SIGN OO
-A828;N # SYLOTI NAGRI POETRY MARK-1
-A829;N # SYLOTI NAGRI POETRY MARK-2
-A82A;N # SYLOTI NAGRI POETRY MARK-3
-A82B;N # SYLOTI NAGRI POETRY MARK-4
-A830;N # NORTH INDIC FRACTION ONE QUARTER
-A831;N # NORTH INDIC FRACTION ONE HALF
-A832;N # NORTH INDIC FRACTION THREE QUARTERS
-A833;N # NORTH INDIC FRACTION ONE SIXTEENTH
-A834;N # NORTH INDIC FRACTION ONE EIGHTH
-A835;N # NORTH INDIC FRACTION THREE SIXTEENTHS
-A836;N # NORTH INDIC QUARTER MARK
-A837;N # NORTH INDIC PLACEHOLDER MARK
-A838;N # NORTH INDIC RUPEE MARK
-A839;N # NORTH INDIC QUANTITY MARK
-A840;N # PHAGS-PA LETTER KA
-A841;N # PHAGS-PA LETTER KHA
-A842;N # PHAGS-PA LETTER GA
-A843;N # PHAGS-PA LETTER NGA
-A844;N # PHAGS-PA LETTER CA
-A845;N # PHAGS-PA LETTER CHA
-A846;N # PHAGS-PA LETTER JA
-A847;N # PHAGS-PA LETTER NYA
-A848;N # PHAGS-PA LETTER TA
-A849;N # PHAGS-PA LETTER THA
-A84A;N # PHAGS-PA LETTER DA
-A84B;N # PHAGS-PA LETTER NA
-A84C;N # PHAGS-PA LETTER PA
-A84D;N # PHAGS-PA LETTER PHA
-A84E;N # PHAGS-PA LETTER BA
-A84F;N # PHAGS-PA LETTER MA
-A850;N # PHAGS-PA LETTER TSA
-A851;N # PHAGS-PA LETTER TSHA
-A852;N # PHAGS-PA LETTER DZA
-A853;N # PHAGS-PA LETTER WA
-A854;N # PHAGS-PA LETTER ZHA
-A855;N # PHAGS-PA LETTER ZA
-A856;N # PHAGS-PA LETTER SMALL A
-A857;N # PHAGS-PA LETTER YA
-A858;N # PHAGS-PA LETTER RA
-A859;N # PHAGS-PA LETTER LA
-A85A;N # PHAGS-PA LETTER SHA
-A85B;N # PHAGS-PA LETTER SA
-A85C;N # PHAGS-PA LETTER HA
-A85D;N # PHAGS-PA LETTER A
-A85E;N # PHAGS-PA LETTER I
-A85F;N # PHAGS-PA LETTER U
-A860;N # PHAGS-PA LETTER E
-A861;N # PHAGS-PA LETTER O
-A862;N # PHAGS-PA LETTER QA
-A863;N # PHAGS-PA LETTER XA
-A864;N # PHAGS-PA LETTER FA
-A865;N # PHAGS-PA LETTER GGA
-A866;N # PHAGS-PA LETTER EE
-A867;N # PHAGS-PA SUBJOINED LETTER WA
-A868;N # PHAGS-PA SUBJOINED LETTER YA
-A869;N # PHAGS-PA LETTER TTA
-A86A;N # PHAGS-PA LETTER TTHA
-A86B;N # PHAGS-PA LETTER DDA
-A86C;N # PHAGS-PA LETTER NNA
-A86D;N # PHAGS-PA LETTER ALTERNATE YA
-A86E;N # PHAGS-PA LETTER VOICELESS SHA
-A86F;N # PHAGS-PA LETTER VOICED HA
-A870;N # PHAGS-PA LETTER ASPIRATED FA
-A871;N # PHAGS-PA SUBJOINED LETTER RA
-A872;N # PHAGS-PA SUPERFIXED LETTER RA
-A873;N # PHAGS-PA LETTER CANDRABINDU
-A874;N # PHAGS-PA SINGLE HEAD MARK
-A875;N # PHAGS-PA DOUBLE HEAD MARK
-A876;N # PHAGS-PA MARK SHAD
-A877;N # PHAGS-PA MARK DOUBLE SHAD
-A880;N # SAURASHTRA SIGN ANUSVARA
-A881;N # SAURASHTRA SIGN VISARGA
-A882;N # SAURASHTRA LETTER A
-A883;N # SAURASHTRA LETTER AA
-A884;N # SAURASHTRA LETTER I
-A885;N # SAURASHTRA LETTER II
-A886;N # SAURASHTRA LETTER U
-A887;N # SAURASHTRA LETTER UU
-A888;N # SAURASHTRA LETTER VOCALIC R
-A889;N # SAURASHTRA LETTER VOCALIC RR
-A88A;N # SAURASHTRA LETTER VOCALIC L
-A88B;N # SAURASHTRA LETTER VOCALIC LL
-A88C;N # SAURASHTRA LETTER E
-A88D;N # SAURASHTRA LETTER EE
-A88E;N # SAURASHTRA LETTER AI
-A88F;N # SAURASHTRA LETTER O
-A890;N # SAURASHTRA LETTER OO
-A891;N # SAURASHTRA LETTER AU
-A892;N # SAURASHTRA LETTER KA
-A893;N # SAURASHTRA LETTER KHA
-A894;N # SAURASHTRA LETTER GA
-A895;N # SAURASHTRA LETTER GHA
-A896;N # SAURASHTRA LETTER NGA
-A897;N # SAURASHTRA LETTER CA
-A898;N # SAURASHTRA LETTER CHA
-A899;N # SAURASHTRA LETTER JA
-A89A;N # SAURASHTRA LETTER JHA
-A89B;N # SAURASHTRA LETTER NYA
-A89C;N # SAURASHTRA LETTER TTA
-A89D;N # SAURASHTRA LETTER TTHA
-A89E;N # SAURASHTRA LETTER DDA
-A89F;N # SAURASHTRA LETTER DDHA
-A8A0;N # SAURASHTRA LETTER NNA
-A8A1;N # SAURASHTRA LETTER TA
-A8A2;N # SAURASHTRA LETTER THA
-A8A3;N # SAURASHTRA LETTER DA
-A8A4;N # SAURASHTRA LETTER DHA
-A8A5;N # SAURASHTRA LETTER NA
-A8A6;N # SAURASHTRA LETTER PA
-A8A7;N # SAURASHTRA LETTER PHA
-A8A8;N # SAURASHTRA LETTER BA
-A8A9;N # SAURASHTRA LETTER BHA
-A8AA;N # SAURASHTRA LETTER MA
-A8AB;N # SAURASHTRA LETTER YA
-A8AC;N # SAURASHTRA LETTER RA
-A8AD;N # SAURASHTRA LETTER LA
-A8AE;N # SAURASHTRA LETTER VA
-A8AF;N # SAURASHTRA LETTER SHA
-A8B0;N # SAURASHTRA LETTER SSA
-A8B1;N # SAURASHTRA LETTER SA
-A8B2;N # SAURASHTRA LETTER HA
-A8B3;N # SAURASHTRA LETTER LLA
-A8B4;N # SAURASHTRA CONSONANT SIGN HAARU
-A8B5;N # SAURASHTRA VOWEL SIGN AA
-A8B6;N # SAURASHTRA VOWEL SIGN I
-A8B7;N # SAURASHTRA VOWEL SIGN II
-A8B8;N # SAURASHTRA VOWEL SIGN U
-A8B9;N # SAURASHTRA VOWEL SIGN UU
-A8BA;N # SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB;N # SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC;N # SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD;N # SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE;N # SAURASHTRA VOWEL SIGN E
-A8BF;N # SAURASHTRA VOWEL SIGN EE
-A8C0;N # SAURASHTRA VOWEL SIGN AI
-A8C1;N # SAURASHTRA VOWEL SIGN O
-A8C2;N # SAURASHTRA VOWEL SIGN OO
-A8C3;N # SAURASHTRA VOWEL SIGN AU
-A8C4;N # SAURASHTRA SIGN VIRAMA
-A8CE;N # SAURASHTRA DANDA
-A8CF;N # SAURASHTRA DOUBLE DANDA
-A8D0;N # SAURASHTRA DIGIT ZERO
-A8D1;N # SAURASHTRA DIGIT ONE
-A8D2;N # SAURASHTRA DIGIT TWO
-A8D3;N # SAURASHTRA DIGIT THREE
-A8D4;N # SAURASHTRA DIGIT FOUR
-A8D5;N # SAURASHTRA DIGIT FIVE
-A8D6;N # SAURASHTRA DIGIT SIX
-A8D7;N # SAURASHTRA DIGIT SEVEN
-A8D8;N # SAURASHTRA DIGIT EIGHT
-A8D9;N # SAURASHTRA DIGIT NINE
-A8E0;N # COMBINING DEVANAGARI DIGIT ZERO
-A8E1;N # COMBINING DEVANAGARI DIGIT ONE
-A8E2;N # COMBINING DEVANAGARI DIGIT TWO
-A8E3;N # COMBINING DEVANAGARI DIGIT THREE
-A8E4;N # COMBINING DEVANAGARI DIGIT FOUR
-A8E5;N # COMBINING DEVANAGARI DIGIT FIVE
-A8E6;N # COMBINING DEVANAGARI DIGIT SIX
-A8E7;N # COMBINING DEVANAGARI DIGIT SEVEN
-A8E8;N # COMBINING DEVANAGARI DIGIT EIGHT
-A8E9;N # COMBINING DEVANAGARI DIGIT NINE
-A8EA;N # COMBINING DEVANAGARI LETTER A
-A8EB;N # COMBINING DEVANAGARI LETTER U
-A8EC;N # COMBINING DEVANAGARI LETTER KA
-A8ED;N # COMBINING DEVANAGARI LETTER NA
-A8EE;N # COMBINING DEVANAGARI LETTER PA
-A8EF;N # COMBINING DEVANAGARI LETTER RA
-A8F0;N # COMBINING DEVANAGARI LETTER VI
-A8F1;N # COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2;N # DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3;N # DEVANAGARI SIGN CANDRABINDU VIRAMA
-A8F4;N # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
-A8F5;N # DEVANAGARI SIGN CANDRABINDU TWO
-A8F6;N # DEVANAGARI SIGN CANDRABINDU THREE
-A8F7;N # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8;N # DEVANAGARI SIGN PUSHPIKA
-A8F9;N # DEVANAGARI GAP FILLER
-A8FA;N # DEVANAGARI CARET
-A8FB;N # DEVANAGARI HEADSTROKE
-A900;N # KAYAH LI DIGIT ZERO
-A901;N # KAYAH LI DIGIT ONE
-A902;N # KAYAH LI DIGIT TWO
-A903;N # KAYAH LI DIGIT THREE
-A904;N # KAYAH LI DIGIT FOUR
-A905;N # KAYAH LI DIGIT FIVE
-A906;N # KAYAH LI DIGIT SIX
-A907;N # KAYAH LI DIGIT SEVEN
-A908;N # KAYAH LI DIGIT EIGHT
-A909;N # KAYAH LI DIGIT NINE
-A90A;N # KAYAH LI LETTER KA
-A90B;N # KAYAH LI LETTER KHA
-A90C;N # KAYAH LI LETTER GA
-A90D;N # KAYAH LI LETTER NGA
-A90E;N # KAYAH LI LETTER SA
-A90F;N # KAYAH LI LETTER SHA
-A910;N # KAYAH LI LETTER ZA
-A911;N # KAYAH LI LETTER NYA
-A912;N # KAYAH LI LETTER TA
-A913;N # KAYAH LI LETTER HTA
-A914;N # KAYAH LI LETTER NA
-A915;N # KAYAH LI LETTER PA
-A916;N # KAYAH LI LETTER PHA
-A917;N # KAYAH LI LETTER MA
-A918;N # KAYAH LI LETTER DA
-A919;N # KAYAH LI LETTER BA
-A91A;N # KAYAH LI LETTER RA
-A91B;N # KAYAH LI LETTER YA
-A91C;N # KAYAH LI LETTER LA
-A91D;N # KAYAH LI LETTER WA
-A91E;N # KAYAH LI LETTER THA
-A91F;N # KAYAH LI LETTER HA
-A920;N # KAYAH LI LETTER VA
-A921;N # KAYAH LI LETTER CA
-A922;N # KAYAH LI LETTER A
-A923;N # KAYAH LI LETTER OE
-A924;N # KAYAH LI LETTER I
-A925;N # KAYAH LI LETTER OO
-A926;N # KAYAH LI VOWEL UE
-A927;N # KAYAH LI VOWEL E
-A928;N # KAYAH LI VOWEL U
-A929;N # KAYAH LI VOWEL EE
-A92A;N # KAYAH LI VOWEL O
-A92B;N # KAYAH LI TONE PLOPHU
-A92C;N # KAYAH LI TONE CALYA
-A92D;N # KAYAH LI TONE CALYA PLOPHU
-A92E;N # KAYAH LI SIGN CWI
-A92F;N # KAYAH LI SIGN SHYA
-A930;N # REJANG LETTER KA
-A931;N # REJANG LETTER GA
-A932;N # REJANG LETTER NGA
-A933;N # REJANG LETTER TA
-A934;N # REJANG LETTER DA
-A935;N # REJANG LETTER NA
-A936;N # REJANG LETTER PA
-A937;N # REJANG LETTER BA
-A938;N # REJANG LETTER MA
-A939;N # REJANG LETTER CA
-A93A;N # REJANG LETTER JA
-A93B;N # REJANG LETTER NYA
-A93C;N # REJANG LETTER SA
-A93D;N # REJANG LETTER RA
-A93E;N # REJANG LETTER LA
-A93F;N # REJANG LETTER YA
-A940;N # REJANG LETTER WA
-A941;N # REJANG LETTER HA
-A942;N # REJANG LETTER MBA
-A943;N # REJANG LETTER NGGA
-A944;N # REJANG LETTER NDA
-A945;N # REJANG LETTER NYJA
-A946;N # REJANG LETTER A
-A947;N # REJANG VOWEL SIGN I
-A948;N # REJANG VOWEL SIGN U
-A949;N # REJANG VOWEL SIGN E
-A94A;N # REJANG VOWEL SIGN AI
-A94B;N # REJANG VOWEL SIGN O
-A94C;N # REJANG VOWEL SIGN AU
-A94D;N # REJANG VOWEL SIGN EU
-A94E;N # REJANG VOWEL SIGN EA
-A94F;N # REJANG CONSONANT SIGN NG
-A950;N # REJANG CONSONANT SIGN N
-A951;N # REJANG CONSONANT SIGN R
-A952;N # REJANG CONSONANT SIGN H
-A953;N # REJANG VIRAMA
-A95F;N # REJANG SECTION MARK
-A960;W # HANGUL CHOSEONG TIKEUT-MIEUM
-A961;W # HANGUL CHOSEONG TIKEUT-PIEUP
-A962;W # HANGUL CHOSEONG TIKEUT-SIOS
-A963;W # HANGUL CHOSEONG TIKEUT-CIEUC
-A964;W # HANGUL CHOSEONG RIEUL-KIYEOK
-A965;W # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966;W # HANGUL CHOSEONG RIEUL-TIKEUT
-A967;W # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968;W # HANGUL CHOSEONG RIEUL-MIEUM
-A969;W # HANGUL CHOSEONG RIEUL-PIEUP
-A96A;W # HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B;W # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C;W # HANGUL CHOSEONG RIEUL-SIOS
-A96D;W # HANGUL CHOSEONG RIEUL-CIEUC
-A96E;W # HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F;W # HANGUL CHOSEONG MIEUM-KIYEOK
-A970;W # HANGUL CHOSEONG MIEUM-TIKEUT
-A971;W # HANGUL CHOSEONG MIEUM-SIOS
-A972;W # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973;W # HANGUL CHOSEONG PIEUP-KHIEUKH
-A974;W # HANGUL CHOSEONG PIEUP-HIEUH
-A975;W # HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976;W # HANGUL CHOSEONG IEUNG-RIEUL
-A977;W # HANGUL CHOSEONG IEUNG-HIEUH
-A978;W # HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979;W # HANGUL CHOSEONG SSANGTHIEUTH
-A97A;W # HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B;W # HANGUL CHOSEONG HIEUH-SIOS
-A97C;W # HANGUL CHOSEONG SSANGYEORINHIEUH
-A980;N # JAVANESE SIGN PANYANGGA
-A981;N # JAVANESE SIGN CECAK
-A982;N # JAVANESE SIGN LAYAR
-A983;N # JAVANESE SIGN WIGNYAN
-A984;N # JAVANESE LETTER A
-A985;N # JAVANESE LETTER I KAWI
-A986;N # JAVANESE LETTER I
-A987;N # JAVANESE LETTER II
-A988;N # JAVANESE LETTER U
-A989;N # JAVANESE LETTER PA CEREK
-A98A;N # JAVANESE LETTER NGA LELET
-A98B;N # JAVANESE LETTER NGA LELET RASWADI
-A98C;N # JAVANESE LETTER E
-A98D;N # JAVANESE LETTER AI
-A98E;N # JAVANESE LETTER O
-A98F;N # JAVANESE LETTER KA
-A990;N # JAVANESE LETTER KA SASAK
-A991;N # JAVANESE LETTER KA MURDA
-A992;N # JAVANESE LETTER GA
-A993;N # JAVANESE LETTER GA MURDA
-A994;N # JAVANESE LETTER NGA
-A995;N # JAVANESE LETTER CA
-A996;N # JAVANESE LETTER CA MURDA
-A997;N # JAVANESE LETTER JA
-A998;N # JAVANESE LETTER NYA MURDA
-A999;N # JAVANESE LETTER JA MAHAPRANA
-A99A;N # JAVANESE LETTER NYA
-A99B;N # JAVANESE LETTER TTA
-A99C;N # JAVANESE LETTER TTA MAHAPRANA
-A99D;N # JAVANESE LETTER DDA
-A99E;N # JAVANESE LETTER DDA MAHAPRANA
-A99F;N # JAVANESE LETTER NA MURDA
-A9A0;N # JAVANESE LETTER TA
-A9A1;N # JAVANESE LETTER TA MURDA
-A9A2;N # JAVANESE LETTER DA
-A9A3;N # JAVANESE LETTER DA MAHAPRANA
-A9A4;N # JAVANESE LETTER NA
-A9A5;N # JAVANESE LETTER PA
-A9A6;N # JAVANESE LETTER PA MURDA
-A9A7;N # JAVANESE LETTER BA
-A9A8;N # JAVANESE LETTER BA MURDA
-A9A9;N # JAVANESE LETTER MA
-A9AA;N # JAVANESE LETTER YA
-A9AB;N # JAVANESE LETTER RA
-A9AC;N # JAVANESE LETTER RA AGUNG
-A9AD;N # JAVANESE LETTER LA
-A9AE;N # JAVANESE LETTER WA
-A9AF;N # JAVANESE LETTER SA MURDA
-A9B0;N # JAVANESE LETTER SA MAHAPRANA
-A9B1;N # JAVANESE LETTER SA
-A9B2;N # JAVANESE LETTER HA
-A9B3;N # JAVANESE SIGN CECAK TELU
-A9B4;N # JAVANESE VOWEL SIGN TARUNG
-A9B5;N # JAVANESE VOWEL SIGN TOLONG
-A9B6;N # JAVANESE VOWEL SIGN WULU
-A9B7;N # JAVANESE VOWEL SIGN WULU MELIK
-A9B8;N # JAVANESE VOWEL SIGN SUKU
-A9B9;N # JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA;N # JAVANESE VOWEL SIGN TALING
-A9BB;N # JAVANESE VOWEL SIGN DIRGA MURE
-A9BC;N # JAVANESE VOWEL SIGN PEPET
-A9BD;N # JAVANESE CONSONANT SIGN KERET
-A9BE;N # JAVANESE CONSONANT SIGN PENGKAL
-A9BF;N # JAVANESE CONSONANT SIGN CAKRA
-A9C0;N # JAVANESE PANGKON
-A9C1;N # JAVANESE LEFT RERENGGAN
-A9C2;N # JAVANESE RIGHT RERENGGAN
-A9C3;N # JAVANESE PADA ANDAP
-A9C4;N # JAVANESE PADA MADYA
-A9C5;N # JAVANESE PADA LUHUR
-A9C6;N # JAVANESE PADA WINDU
-A9C7;N # JAVANESE PADA PANGKAT
-A9C8;N # JAVANESE PADA LINGSA
-A9C9;N # JAVANESE PADA LUNGSI
-A9CA;N # JAVANESE PADA ADEG
-A9CB;N # JAVANESE PADA ADEG ADEG
-A9CC;N # JAVANESE PADA PISELEH
-A9CD;N # JAVANESE TURNED PADA PISELEH
-A9CF;N # JAVANESE PANGRANGKEP
-A9D0;N # JAVANESE DIGIT ZERO
-A9D1;N # JAVANESE DIGIT ONE
-A9D2;N # JAVANESE DIGIT TWO
-A9D3;N # JAVANESE DIGIT THREE
-A9D4;N # JAVANESE DIGIT FOUR
-A9D5;N # JAVANESE DIGIT FIVE
-A9D6;N # JAVANESE DIGIT SIX
-A9D7;N # JAVANESE DIGIT SEVEN
-A9D8;N # JAVANESE DIGIT EIGHT
-A9D9;N # JAVANESE DIGIT NINE
-A9DE;N # JAVANESE PADA TIRTA TUMETES
-A9DF;N # JAVANESE PADA ISEN-ISEN
-AA00;N # CHAM LETTER A
-AA01;N # CHAM LETTER I
-AA02;N # CHAM LETTER U
-AA03;N # CHAM LETTER E
-AA04;N # CHAM LETTER AI
-AA05;N # CHAM LETTER O
-AA06;N # CHAM LETTER KA
-AA07;N # CHAM LETTER KHA
-AA08;N # CHAM LETTER GA
-AA09;N # CHAM LETTER GHA
-AA0A;N # CHAM LETTER NGUE
-AA0B;N # CHAM LETTER NGA
-AA0C;N # CHAM LETTER CHA
-AA0D;N # CHAM LETTER CHHA
-AA0E;N # CHAM LETTER JA
-AA0F;N # CHAM LETTER JHA
-AA10;N # CHAM LETTER NHUE
-AA11;N # CHAM LETTER NHA
-AA12;N # CHAM LETTER NHJA
-AA13;N # CHAM LETTER TA
-AA14;N # CHAM LETTER THA
-AA15;N # CHAM LETTER DA
-AA16;N # CHAM LETTER DHA
-AA17;N # CHAM LETTER NUE
-AA18;N # CHAM LETTER NA
-AA19;N # CHAM LETTER DDA
-AA1A;N # CHAM LETTER PA
-AA1B;N # CHAM LETTER PPA
-AA1C;N # CHAM LETTER PHA
-AA1D;N # CHAM LETTER BA
-AA1E;N # CHAM LETTER BHA
-AA1F;N # CHAM LETTER MUE
-AA20;N # CHAM LETTER MA
-AA21;N # CHAM LETTER BBA
-AA22;N # CHAM LETTER YA
-AA23;N # CHAM LETTER RA
-AA24;N # CHAM LETTER LA
-AA25;N # CHAM LETTER VA
-AA26;N # CHAM LETTER SSA
-AA27;N # CHAM LETTER SA
-AA28;N # CHAM LETTER HA
-AA29;N # CHAM VOWEL SIGN AA
-AA2A;N # CHAM VOWEL SIGN I
-AA2B;N # CHAM VOWEL SIGN II
-AA2C;N # CHAM VOWEL SIGN EI
-AA2D;N # CHAM VOWEL SIGN U
-AA2E;N # CHAM VOWEL SIGN OE
-AA2F;N # CHAM VOWEL SIGN O
-AA30;N # CHAM VOWEL SIGN AI
-AA31;N # CHAM VOWEL SIGN AU
-AA32;N # CHAM VOWEL SIGN UE
-AA33;N # CHAM CONSONANT SIGN YA
-AA34;N # CHAM CONSONANT SIGN RA
-AA35;N # CHAM CONSONANT SIGN LA
-AA36;N # CHAM CONSONANT SIGN WA
-AA40;N # CHAM LETTER FINAL K
-AA41;N # CHAM LETTER FINAL G
-AA42;N # CHAM LETTER FINAL NG
-AA43;N # CHAM CONSONANT SIGN FINAL NG
-AA44;N # CHAM LETTER FINAL CH
-AA45;N # CHAM LETTER FINAL T
-AA46;N # CHAM LETTER FINAL N
-AA47;N # CHAM LETTER FINAL P
-AA48;N # CHAM LETTER FINAL Y
-AA49;N # CHAM LETTER FINAL R
-AA4A;N # CHAM LETTER FINAL L
-AA4B;N # CHAM LETTER FINAL SS
-AA4C;N # CHAM CONSONANT SIGN FINAL M
-AA4D;N # CHAM CONSONANT SIGN FINAL H
-AA50;N # CHAM DIGIT ZERO
-AA51;N # CHAM DIGIT ONE
-AA52;N # CHAM DIGIT TWO
-AA53;N # CHAM DIGIT THREE
-AA54;N # CHAM DIGIT FOUR
-AA55;N # CHAM DIGIT FIVE
-AA56;N # CHAM DIGIT SIX
-AA57;N # CHAM DIGIT SEVEN
-AA58;N # CHAM DIGIT EIGHT
-AA59;N # CHAM DIGIT NINE
-AA5C;N # CHAM PUNCTUATION SPIRAL
-AA5D;N # CHAM PUNCTUATION DANDA
-AA5E;N # CHAM PUNCTUATION DOUBLE DANDA
-AA5F;N # CHAM PUNCTUATION TRIPLE DANDA
-AA60;N # MYANMAR LETTER KHAMTI GA
-AA61;N # MYANMAR LETTER KHAMTI CA
-AA62;N # MYANMAR LETTER KHAMTI CHA
-AA63;N # MYANMAR LETTER KHAMTI JA
-AA64;N # MYANMAR LETTER KHAMTI JHA
-AA65;N # MYANMAR LETTER KHAMTI NYA
-AA66;N # MYANMAR LETTER KHAMTI TTA
-AA67;N # MYANMAR LETTER KHAMTI TTHA
-AA68;N # MYANMAR LETTER KHAMTI DDA
-AA69;N # MYANMAR LETTER KHAMTI DDHA
-AA6A;N # MYANMAR LETTER KHAMTI DHA
-AA6B;N # MYANMAR LETTER KHAMTI NA
-AA6C;N # MYANMAR LETTER KHAMTI SA
-AA6D;N # MYANMAR LETTER KHAMTI HA
-AA6E;N # MYANMAR LETTER KHAMTI HHA
-AA6F;N # MYANMAR LETTER KHAMTI FA
-AA70;N # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71;N # MYANMAR LETTER KHAMTI XA
-AA72;N # MYANMAR LETTER KHAMTI ZA
-AA73;N # MYANMAR LETTER KHAMTI RA
-AA74;N # MYANMAR LOGOGRAM KHAMTI OAY
-AA75;N # MYANMAR LOGOGRAM KHAMTI QN
-AA76;N # MYANMAR LOGOGRAM KHAMTI HM
-AA77;N # MYANMAR SYMBOL AITON EXCLAMATION
-AA78;N # MYANMAR SYMBOL AITON ONE
-AA79;N # MYANMAR SYMBOL AITON TWO
-AA7A;N # MYANMAR LETTER AITON RA
-AA7B;N # MYANMAR SIGN PAO KAREN TONE
-AA80;N # TAI VIET LETTER LOW KO
-AA81;N # TAI VIET LETTER HIGH KO
-AA82;N # TAI VIET LETTER LOW KHO
-AA83;N # TAI VIET LETTER HIGH KHO
-AA84;N # TAI VIET LETTER LOW KHHO
-AA85;N # TAI VIET LETTER HIGH KHHO
-AA86;N # TAI VIET LETTER LOW GO
-AA87;N # TAI VIET LETTER HIGH GO
-AA88;N # TAI VIET LETTER LOW NGO
-AA89;N # TAI VIET LETTER HIGH NGO
-AA8A;N # TAI VIET LETTER LOW CO
-AA8B;N # TAI VIET LETTER HIGH CO
-AA8C;N # TAI VIET LETTER LOW CHO
-AA8D;N # TAI VIET LETTER HIGH CHO
-AA8E;N # TAI VIET LETTER LOW SO
-AA8F;N # TAI VIET LETTER HIGH SO
-AA90;N # TAI VIET LETTER LOW NYO
-AA91;N # TAI VIET LETTER HIGH NYO
-AA92;N # TAI VIET LETTER LOW DO
-AA93;N # TAI VIET LETTER HIGH DO
-AA94;N # TAI VIET LETTER LOW TO
-AA95;N # TAI VIET LETTER HIGH TO
-AA96;N # TAI VIET LETTER LOW THO
-AA97;N # TAI VIET LETTER HIGH THO
-AA98;N # TAI VIET LETTER LOW NO
-AA99;N # TAI VIET LETTER HIGH NO
-AA9A;N # TAI VIET LETTER LOW BO
-AA9B;N # TAI VIET LETTER HIGH BO
-AA9C;N # TAI VIET LETTER LOW PO
-AA9D;N # TAI VIET LETTER HIGH PO
-AA9E;N # TAI VIET LETTER LOW PHO
-AA9F;N # TAI VIET LETTER HIGH PHO
-AAA0;N # TAI VIET LETTER LOW FO
-AAA1;N # TAI VIET LETTER HIGH FO
-AAA2;N # TAI VIET LETTER LOW MO
-AAA3;N # TAI VIET LETTER HIGH MO
-AAA4;N # TAI VIET LETTER LOW YO
-AAA5;N # TAI VIET LETTER HIGH YO
-AAA6;N # TAI VIET LETTER LOW RO
-AAA7;N # TAI VIET LETTER HIGH RO
-AAA8;N # TAI VIET LETTER LOW LO
-AAA9;N # TAI VIET LETTER HIGH LO
-AAAA;N # TAI VIET LETTER LOW VO
-AAAB;N # TAI VIET LETTER HIGH VO
-AAAC;N # TAI VIET LETTER LOW HO
-AAAD;N # TAI VIET LETTER HIGH HO
-AAAE;N # TAI VIET LETTER LOW O
-AAAF;N # TAI VIET LETTER HIGH O
-AAB0;N # TAI VIET MAI KANG
-AAB1;N # TAI VIET VOWEL AA
-AAB2;N # TAI VIET VOWEL I
-AAB3;N # TAI VIET VOWEL UE
-AAB4;N # TAI VIET VOWEL U
-AAB5;N # TAI VIET VOWEL E
-AAB6;N # TAI VIET VOWEL O
-AAB7;N # TAI VIET MAI KHIT
-AAB8;N # TAI VIET VOWEL IA
-AAB9;N # TAI VIET VOWEL UEA
-AABA;N # TAI VIET VOWEL UA
-AABB;N # TAI VIET VOWEL AUE
-AABC;N # TAI VIET VOWEL AY
-AABD;N # TAI VIET VOWEL AN
-AABE;N # TAI VIET VOWEL AM
-AABF;N # TAI VIET TONE MAI EK
-AAC0;N # TAI VIET TONE MAI NUENG
-AAC1;N # TAI VIET TONE MAI THO
-AAC2;N # TAI VIET TONE MAI SONG
-AADB;N # TAI VIET SYMBOL KON
-AADC;N # TAI VIET SYMBOL NUENG
-AADD;N # TAI VIET SYMBOL SAM
-AADE;N # TAI VIET SYMBOL HO HOI
-AADF;N # TAI VIET SYMBOL KOI KOI
-ABC0;N # MEETEI MAYEK LETTER KOK
-ABC1;N # MEETEI MAYEK LETTER SAM
-ABC2;N # MEETEI MAYEK LETTER LAI
-ABC3;N # MEETEI MAYEK LETTER MIT
-ABC4;N # MEETEI MAYEK LETTER PA
-ABC5;N # MEETEI MAYEK LETTER NA
-ABC6;N # MEETEI MAYEK LETTER CHIL
-ABC7;N # MEETEI MAYEK LETTER TIL
-ABC8;N # MEETEI MAYEK LETTER KHOU
-ABC9;N # MEETEI MAYEK LETTER NGOU
-ABCA;N # MEETEI MAYEK LETTER THOU
-ABCB;N # MEETEI MAYEK LETTER WAI
-ABCC;N # MEETEI MAYEK LETTER YANG
-ABCD;N # MEETEI MAYEK LETTER HUK
-ABCE;N # MEETEI MAYEK LETTER UN
-ABCF;N # MEETEI MAYEK LETTER I
-ABD0;N # MEETEI MAYEK LETTER PHAM
-ABD1;N # MEETEI MAYEK LETTER ATIYA
-ABD2;N # MEETEI MAYEK LETTER GOK
-ABD3;N # MEETEI MAYEK LETTER JHAM
-ABD4;N # MEETEI MAYEK LETTER RAI
-ABD5;N # MEETEI MAYEK LETTER BA
-ABD6;N # MEETEI MAYEK LETTER JIL
-ABD7;N # MEETEI MAYEK LETTER DIL
-ABD8;N # MEETEI MAYEK LETTER GHOU
-ABD9;N # MEETEI MAYEK LETTER DHOU
-ABDA;N # MEETEI MAYEK LETTER BHAM
-ABDB;N # MEETEI MAYEK LETTER KOK LONSUM
-ABDC;N # MEETEI MAYEK LETTER LAI LONSUM
-ABDD;N # MEETEI MAYEK LETTER MIT LONSUM
-ABDE;N # MEETEI MAYEK LETTER PA LONSUM
-ABDF;N # MEETEI MAYEK LETTER NA LONSUM
-ABE0;N # MEETEI MAYEK LETTER TIL LONSUM
-ABE1;N # MEETEI MAYEK LETTER NGOU LONSUM
-ABE2;N # MEETEI MAYEK LETTER I LONSUM
-ABE3;N # MEETEI MAYEK VOWEL SIGN ONAP
-ABE4;N # MEETEI MAYEK VOWEL SIGN INAP
-ABE5;N # MEETEI MAYEK VOWEL SIGN ANAP
-ABE6;N # MEETEI MAYEK VOWEL SIGN YENAP
-ABE7;N # MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8;N # MEETEI MAYEK VOWEL SIGN UNAP
-ABE9;N # MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA;N # MEETEI MAYEK VOWEL SIGN NUNG
-ABEB;N # MEETEI MAYEK CHEIKHEI
-ABEC;N # MEETEI MAYEK LUM IYEK
-ABED;N # MEETEI MAYEK APUN IYEK
-ABF0;N # MEETEI MAYEK DIGIT ZERO
-ABF1;N # MEETEI MAYEK DIGIT ONE
-ABF2;N # MEETEI MAYEK DIGIT TWO
-ABF3;N # MEETEI MAYEK DIGIT THREE
-ABF4;N # MEETEI MAYEK DIGIT FOUR
-ABF5;N # MEETEI MAYEK DIGIT FIVE
-ABF6;N # MEETEI MAYEK DIGIT SIX
-ABF7;N # MEETEI MAYEK DIGIT SEVEN
-ABF8;N # MEETEI MAYEK DIGIT EIGHT
-ABF9;N # MEETEI MAYEK DIGIT NINE
-AC00..D7A3;W # <Hangul Syllable, First>..<Hangul Syllable, Last>
-D7B0;W # HANGUL JUNGSEONG O-YEO
-D7B1;W # HANGUL JUNGSEONG O-O-I
-D7B2;W # HANGUL JUNGSEONG YO-A
-D7B3;W # HANGUL JUNGSEONG YO-AE
-D7B4;W # HANGUL JUNGSEONG YO-EO
-D7B5;W # HANGUL JUNGSEONG U-YEO
-D7B6;W # HANGUL JUNGSEONG U-I-I
-D7B7;W # HANGUL JUNGSEONG YU-AE
-D7B8;W # HANGUL JUNGSEONG YU-O
-D7B9;W # HANGUL JUNGSEONG EU-A
-D7BA;W # HANGUL JUNGSEONG EU-EO
-D7BB;W # HANGUL JUNGSEONG EU-E
-D7BC;W # HANGUL JUNGSEONG EU-O
-D7BD;W # HANGUL JUNGSEONG I-YA-O
-D7BE;W # HANGUL JUNGSEONG I-YAE
-D7BF;W # HANGUL JUNGSEONG I-YEO
-D7C0;W # HANGUL JUNGSEONG I-YE
-D7C1;W # HANGUL JUNGSEONG I-O-I
-D7C2;W # HANGUL JUNGSEONG I-YO
-D7C3;W # HANGUL JUNGSEONG I-YU
-D7C4;W # HANGUL JUNGSEONG I-I
-D7C5;W # HANGUL JUNGSEONG ARAEA-A
-D7C6;W # HANGUL JUNGSEONG ARAEA-E
-D7CB;W # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC;W # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD;W # HANGUL JONGSEONG SSANGTIKEUT
-D7CE;W # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF;W # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0;W # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1;W # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2;W # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3;W # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4;W # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5;W # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6;W # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7;W # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8;W # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9;W # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA;W # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB;W # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC;W # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD;W # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE;W # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF;W # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0;W # HANGUL JONGSEONG SSANGMIEUM
-D7E1;W # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2;W # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3;W # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4;W # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5;W # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6;W # HANGUL JONGSEONG SSANGPIEUP
-D7E7;W # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8;W # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9;W # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA;W # HANGUL JONGSEONG SIOS-MIEUM
-D7EB;W # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC;W # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED;W # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE;W # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF;W # HANGUL JONGSEONG SIOS-CIEUC
-D7F0;W # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1;W # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2;W # HANGUL JONGSEONG SIOS-HIEUH
-D7F3;W # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4;W # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5;W # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6;W # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7;W # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8;W # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9;W # HANGUL JONGSEONG SSANGCIEUC
-D7FA;W # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB;W # HANGUL JONGSEONG PHIEUPH-THIEUTH
-D800..DB7F;N # <Non Private Use High Surrogate, First>..<Non Private Use High Surrogate, Last>
-DB80..DBFF;N # <Private Use High Surrogate, First>..<Private Use High Surrogate, Last>
-DC00..DFFF;N # <Low Surrogate, First>..<Low Surrogate, Last>
-E000..F8FF;A # <Private Use, First>..<Private Use, Last>
-F900;W # CJK COMPATIBILITY IDEOGRAPH-F900
-F901;W # CJK COMPATIBILITY IDEOGRAPH-F901
-F902;W # CJK COMPATIBILITY IDEOGRAPH-F902
-F903;W # CJK COMPATIBILITY IDEOGRAPH-F903
-F904;W # CJK COMPATIBILITY IDEOGRAPH-F904
-F905;W # CJK COMPATIBILITY IDEOGRAPH-F905
-F906;W # CJK COMPATIBILITY IDEOGRAPH-F906
-F907;W # CJK COMPATIBILITY IDEOGRAPH-F907
-F908;W # CJK COMPATIBILITY IDEOGRAPH-F908
-F909;W # CJK COMPATIBILITY IDEOGRAPH-F909
-F90A;W # CJK COMPATIBILITY IDEOGRAPH-F90A
-F90B;W # CJK COMPATIBILITY IDEOGRAPH-F90B
-F90C;W # CJK COMPATIBILITY IDEOGRAPH-F90C
-F90D;W # CJK COMPATIBILITY IDEOGRAPH-F90D
-F90E;W # CJK COMPATIBILITY IDEOGRAPH-F90E
-F90F;W # CJK COMPATIBILITY IDEOGRAPH-F90F
-F910;W # CJK COMPATIBILITY IDEOGRAPH-F910
-F911;W # CJK COMPATIBILITY IDEOGRAPH-F911
-F912;W # CJK COMPATIBILITY IDEOGRAPH-F912
-F913;W # CJK COMPATIBILITY IDEOGRAPH-F913
-F914;W # CJK COMPATIBILITY IDEOGRAPH-F914
-F915;W # CJK COMPATIBILITY IDEOGRAPH-F915
-F916;W # CJK COMPATIBILITY IDEOGRAPH-F916
-F917;W # CJK COMPATIBILITY IDEOGRAPH-F917
-F918;W # CJK COMPATIBILITY IDEOGRAPH-F918
-F919;W # CJK COMPATIBILITY IDEOGRAPH-F919
-F91A;W # CJK COMPATIBILITY IDEOGRAPH-F91A
-F91B;W # CJK COMPATIBILITY IDEOGRAPH-F91B
-F91C;W # CJK COMPATIBILITY IDEOGRAPH-F91C
-F91D;W # CJK COMPATIBILITY IDEOGRAPH-F91D
-F91E;W # CJK COMPATIBILITY IDEOGRAPH-F91E
-F91F;W # CJK COMPATIBILITY IDEOGRAPH-F91F
-F920;W # CJK COMPATIBILITY IDEOGRAPH-F920
-F921;W # CJK COMPATIBILITY IDEOGRAPH-F921
-F922;W # CJK COMPATIBILITY IDEOGRAPH-F922
-F923;W # CJK COMPATIBILITY IDEOGRAPH-F923
-F924;W # CJK COMPATIBILITY IDEOGRAPH-F924
-F925;W # CJK COMPATIBILITY IDEOGRAPH-F925
-F926;W # CJK COMPATIBILITY IDEOGRAPH-F926
-F927;W # CJK COMPATIBILITY IDEOGRAPH-F927
-F928;W # CJK COMPATIBILITY IDEOGRAPH-F928
-F929;W # CJK COMPATIBILITY IDEOGRAPH-F929
-F92A;W # CJK COMPATIBILITY IDEOGRAPH-F92A
-F92B;W # CJK COMPATIBILITY IDEOGRAPH-F92B
-F92C;W # CJK COMPATIBILITY IDEOGRAPH-F92C
-F92D;W # CJK COMPATIBILITY IDEOGRAPH-F92D
-F92E;W # CJK COMPATIBILITY IDEOGRAPH-F92E
-F92F;W # CJK COMPATIBILITY IDEOGRAPH-F92F
-F930;W # CJK COMPATIBILITY IDEOGRAPH-F930
-F931;W # CJK COMPATIBILITY IDEOGRAPH-F931
-F932;W # CJK COMPATIBILITY IDEOGRAPH-F932
-F933;W # CJK COMPATIBILITY IDEOGRAPH-F933
-F934;W # CJK COMPATIBILITY IDEOGRAPH-F934
-F935;W # CJK COMPATIBILITY IDEOGRAPH-F935
-F936;W # CJK COMPATIBILITY IDEOGRAPH-F936
-F937;W # CJK COMPATIBILITY IDEOGRAPH-F937
-F938;W # CJK COMPATIBILITY IDEOGRAPH-F938
-F939;W # CJK COMPATIBILITY IDEOGRAPH-F939
-F93A;W # CJK COMPATIBILITY IDEOGRAPH-F93A
-F93B;W # CJK COMPATIBILITY IDEOGRAPH-F93B
-F93C;W # CJK COMPATIBILITY IDEOGRAPH-F93C
-F93D;W # CJK COMPATIBILITY IDEOGRAPH-F93D
-F93E;W # CJK COMPATIBILITY IDEOGRAPH-F93E
-F93F;W # CJK COMPATIBILITY IDEOGRAPH-F93F
-F940;W # CJK COMPATIBILITY IDEOGRAPH-F940
-F941;W # CJK COMPATIBILITY IDEOGRAPH-F941
-F942;W # CJK COMPATIBILITY IDEOGRAPH-F942
-F943;W # CJK COMPATIBILITY IDEOGRAPH-F943
-F944;W # CJK COMPATIBILITY IDEOGRAPH-F944
-F945;W # CJK COMPATIBILITY IDEOGRAPH-F945
-F946;W # CJK COMPATIBILITY IDEOGRAPH-F946
-F947;W # CJK COMPATIBILITY IDEOGRAPH-F947
-F948;W # CJK COMPATIBILITY IDEOGRAPH-F948
-F949;W # CJK COMPATIBILITY IDEOGRAPH-F949
-F94A;W # CJK COMPATIBILITY IDEOGRAPH-F94A
-F94B;W # CJK COMPATIBILITY IDEOGRAPH-F94B
-F94C;W # CJK COMPATIBILITY IDEOGRAPH-F94C
-F94D;W # CJK COMPATIBILITY IDEOGRAPH-F94D
-F94E;W # CJK COMPATIBILITY IDEOGRAPH-F94E
-F94F;W # CJK COMPATIBILITY IDEOGRAPH-F94F
-F950;W # CJK COMPATIBILITY IDEOGRAPH-F950
-F951;W # CJK COMPATIBILITY IDEOGRAPH-F951
-F952;W # CJK COMPATIBILITY IDEOGRAPH-F952
-F953;W # CJK COMPATIBILITY IDEOGRAPH-F953
-F954;W # CJK COMPATIBILITY IDEOGRAPH-F954
-F955;W # CJK COMPATIBILITY IDEOGRAPH-F955
-F956;W # CJK COMPATIBILITY IDEOGRAPH-F956
-F957;W # CJK COMPATIBILITY IDEOGRAPH-F957
-F958;W # CJK COMPATIBILITY IDEOGRAPH-F958
-F959;W # CJK COMPATIBILITY IDEOGRAPH-F959
-F95A;W # CJK COMPATIBILITY IDEOGRAPH-F95A
-F95B;W # CJK COMPATIBILITY IDEOGRAPH-F95B
-F95C;W # CJK COMPATIBILITY IDEOGRAPH-F95C
-F95D;W # CJK COMPATIBILITY IDEOGRAPH-F95D
-F95E;W # CJK COMPATIBILITY IDEOGRAPH-F95E
-F95F;W # CJK COMPATIBILITY IDEOGRAPH-F95F
-F960;W # CJK COMPATIBILITY IDEOGRAPH-F960
-F961;W # CJK COMPATIBILITY IDEOGRAPH-F961
-F962;W # CJK COMPATIBILITY IDEOGRAPH-F962
-F963;W # CJK COMPATIBILITY IDEOGRAPH-F963
-F964;W # CJK COMPATIBILITY IDEOGRAPH-F964
-F965;W # CJK COMPATIBILITY IDEOGRAPH-F965
-F966;W # CJK COMPATIBILITY IDEOGRAPH-F966
-F967;W # CJK COMPATIBILITY IDEOGRAPH-F967
-F968;W # CJK COMPATIBILITY IDEOGRAPH-F968
-F969;W # CJK COMPATIBILITY IDEOGRAPH-F969
-F96A;W # CJK COMPATIBILITY IDEOGRAPH-F96A
-F96B;W # CJK COMPATIBILITY IDEOGRAPH-F96B
-F96C;W # CJK COMPATIBILITY IDEOGRAPH-F96C
-F96D;W # CJK COMPATIBILITY IDEOGRAPH-F96D
-F96E;W # CJK COMPATIBILITY IDEOGRAPH-F96E
-F96F;W # CJK COMPATIBILITY IDEOGRAPH-F96F
-F970;W # CJK COMPATIBILITY IDEOGRAPH-F970
-F971;W # CJK COMPATIBILITY IDEOGRAPH-F971
-F972;W # CJK COMPATIBILITY IDEOGRAPH-F972
-F973;W # CJK COMPATIBILITY IDEOGRAPH-F973
-F974;W # CJK COMPATIBILITY IDEOGRAPH-F974
-F975;W # CJK COMPATIBILITY IDEOGRAPH-F975
-F976;W # CJK COMPATIBILITY IDEOGRAPH-F976
-F977;W # CJK COMPATIBILITY IDEOGRAPH-F977
-F978;W # CJK COMPATIBILITY IDEOGRAPH-F978
-F979;W # CJK COMPATIBILITY IDEOGRAPH-F979
-F97A;W # CJK COMPATIBILITY IDEOGRAPH-F97A
-F97B;W # CJK COMPATIBILITY IDEOGRAPH-F97B
-F97C;W # CJK COMPATIBILITY IDEOGRAPH-F97C
-F97D;W # CJK COMPATIBILITY IDEOGRAPH-F97D
-F97E;W # CJK COMPATIBILITY IDEOGRAPH-F97E
-F97F;W # CJK COMPATIBILITY IDEOGRAPH-F97F
-F980;W # CJK COMPATIBILITY IDEOGRAPH-F980
-F981;W # CJK COMPATIBILITY IDEOGRAPH-F981
-F982;W # CJK COMPATIBILITY IDEOGRAPH-F982
-F983;W # CJK COMPATIBILITY IDEOGRAPH-F983
-F984;W # CJK COMPATIBILITY IDEOGRAPH-F984
-F985;W # CJK COMPATIBILITY IDEOGRAPH-F985
-F986;W # CJK COMPATIBILITY IDEOGRAPH-F986
-F987;W # CJK COMPATIBILITY IDEOGRAPH-F987
-F988;W # CJK COMPATIBILITY IDEOGRAPH-F988
-F989;W # CJK COMPATIBILITY IDEOGRAPH-F989
-F98A;W # CJK COMPATIBILITY IDEOGRAPH-F98A
-F98B;W # CJK COMPATIBILITY IDEOGRAPH-F98B
-F98C;W # CJK COMPATIBILITY IDEOGRAPH-F98C
-F98D;W # CJK COMPATIBILITY IDEOGRAPH-F98D
-F98E;W # CJK COMPATIBILITY IDEOGRAPH-F98E
-F98F;W # CJK COMPATIBILITY IDEOGRAPH-F98F
-F990;W # CJK COMPATIBILITY IDEOGRAPH-F990
-F991;W # CJK COMPATIBILITY IDEOGRAPH-F991
-F992;W # CJK COMPATIBILITY IDEOGRAPH-F992
-F993;W # CJK COMPATIBILITY IDEOGRAPH-F993
-F994;W # CJK COMPATIBILITY IDEOGRAPH-F994
-F995;W # CJK COMPATIBILITY IDEOGRAPH-F995
-F996;W # CJK COMPATIBILITY IDEOGRAPH-F996
-F997;W # CJK COMPATIBILITY IDEOGRAPH-F997
-F998;W # CJK COMPATIBILITY IDEOGRAPH-F998
-F999;W # CJK COMPATIBILITY IDEOGRAPH-F999
-F99A;W # CJK COMPATIBILITY IDEOGRAPH-F99A
-F99B;W # CJK COMPATIBILITY IDEOGRAPH-F99B
-F99C;W # CJK COMPATIBILITY IDEOGRAPH-F99C
-F99D;W # CJK COMPATIBILITY IDEOGRAPH-F99D
-F99E;W # CJK COMPATIBILITY IDEOGRAPH-F99E
-F99F;W # CJK COMPATIBILITY IDEOGRAPH-F99F
-F9A0;W # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9A1;W # CJK COMPATIBILITY IDEOGRAPH-F9A1
-F9A2;W # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F9A3;W # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F9A4;W # CJK COMPATIBILITY IDEOGRAPH-F9A4
-F9A5;W # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F9A6;W # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F9A7;W # CJK COMPATIBILITY IDEOGRAPH-F9A7
-F9A8;W # CJK COMPATIBILITY IDEOGRAPH-F9A8
-F9A9;W # CJK COMPATIBILITY IDEOGRAPH-F9A9
-F9AA;W # CJK COMPATIBILITY IDEOGRAPH-F9AA
-F9AB;W # CJK COMPATIBILITY IDEOGRAPH-F9AB
-F9AC;W # CJK COMPATIBILITY IDEOGRAPH-F9AC
-F9AD;W # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F9AE;W # CJK COMPATIBILITY IDEOGRAPH-F9AE
-F9AF;W # CJK COMPATIBILITY IDEOGRAPH-F9AF
-F9B0;W # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F9B1;W # CJK COMPATIBILITY IDEOGRAPH-F9B1
-F9B2;W # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F9B3;W # CJK COMPATIBILITY IDEOGRAPH-F9B3
-F9B4;W # CJK COMPATIBILITY IDEOGRAPH-F9B4
-F9B5;W # CJK COMPATIBILITY IDEOGRAPH-F9B5
-F9B6;W # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F9B7;W # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9B8;W # CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9B9;W # CJK COMPATIBILITY IDEOGRAPH-F9B9
-F9BA;W # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F9BB;W # CJK COMPATIBILITY IDEOGRAPH-F9BB
-F9BC;W # CJK COMPATIBILITY IDEOGRAPH-F9BC
-F9BD;W # CJK COMPATIBILITY IDEOGRAPH-F9BD
-F9BE;W # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F9BF;W # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F9C0;W # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9C1;W # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F9C2;W # CJK COMPATIBILITY IDEOGRAPH-F9C2
-F9C3;W # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F9C4;W # CJK COMPATIBILITY IDEOGRAPH-F9C4
-F9C5;W # CJK COMPATIBILITY IDEOGRAPH-F9C5
-F9C6;W # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F9C7;W # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F9C8;W # CJK COMPATIBILITY IDEOGRAPH-F9C8
-F9C9;W # CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9CA;W # CJK COMPATIBILITY IDEOGRAPH-F9CA
-F9CB;W # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9CC;W # CJK COMPATIBILITY IDEOGRAPH-F9CC
-F9CD;W # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F9CE;W # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F9CF;W # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F9D0;W # CJK COMPATIBILITY IDEOGRAPH-F9D0
-F9D1;W # CJK COMPATIBILITY IDEOGRAPH-F9D1
-F9D2;W # CJK COMPATIBILITY IDEOGRAPH-F9D2
-F9D3;W # CJK COMPATIBILITY IDEOGRAPH-F9D3
-F9D4;W # CJK COMPATIBILITY IDEOGRAPH-F9D4
-F9D5;W # CJK COMPATIBILITY IDEOGRAPH-F9D5
-F9D6;W # CJK COMPATIBILITY IDEOGRAPH-F9D6
-F9D7;W # CJK COMPATIBILITY IDEOGRAPH-F9D7
-F9D8;W # CJK COMPATIBILITY IDEOGRAPH-F9D8
-F9D9;W # CJK COMPATIBILITY IDEOGRAPH-F9D9
-F9DA;W # CJK COMPATIBILITY IDEOGRAPH-F9DA
-F9DB;W # CJK COMPATIBILITY IDEOGRAPH-F9DB
-F9DC;W # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9DD;W # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9DE;W # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9DF;W # CJK COMPATIBILITY IDEOGRAPH-F9DF
-F9E0;W # CJK COMPATIBILITY IDEOGRAPH-F9E0
-F9E1;W # CJK COMPATIBILITY IDEOGRAPH-F9E1
-F9E2;W # CJK COMPATIBILITY IDEOGRAPH-F9E2
-F9E3;W # CJK COMPATIBILITY IDEOGRAPH-F9E3
-F9E4;W # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9E5;W # CJK COMPATIBILITY IDEOGRAPH-F9E5
-F9E6;W # CJK COMPATIBILITY IDEOGRAPH-F9E6
-F9E7;W # CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8;W # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F9E9;W # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F9EA;W # CJK COMPATIBILITY IDEOGRAPH-F9EA
-F9EB;W # CJK COMPATIBILITY IDEOGRAPH-F9EB
-F9EC;W # CJK COMPATIBILITY IDEOGRAPH-F9EC
-F9ED;W # CJK COMPATIBILITY IDEOGRAPH-F9ED
-F9EE;W # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F9EF;W # CJK COMPATIBILITY IDEOGRAPH-F9EF
-F9F0;W # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F9F1;W # CJK COMPATIBILITY IDEOGRAPH-F9F1
-F9F2;W # CJK COMPATIBILITY IDEOGRAPH-F9F2
-F9F3;W # CJK COMPATIBILITY IDEOGRAPH-F9F3
-F9F4;W # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9F5;W # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F9F6;W # CJK COMPATIBILITY IDEOGRAPH-F9F6
-F9F7;W # CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8;W # CJK COMPATIBILITY IDEOGRAPH-F9F8
-F9F9;W # CJK COMPATIBILITY IDEOGRAPH-F9F9
-F9FA;W # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F9FB;W # CJK COMPATIBILITY IDEOGRAPH-F9FB
-F9FC;W # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F9FD;W # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9FE;W # CJK COMPATIBILITY IDEOGRAPH-F9FE
-F9FF;W # CJK COMPATIBILITY IDEOGRAPH-F9FF
-FA00;W # CJK COMPATIBILITY IDEOGRAPH-FA00
-FA01;W # CJK COMPATIBILITY IDEOGRAPH-FA01
-FA02;W # CJK COMPATIBILITY IDEOGRAPH-FA02
-FA03;W # CJK COMPATIBILITY IDEOGRAPH-FA03
-FA04;W # CJK COMPATIBILITY IDEOGRAPH-FA04
-FA05;W # CJK COMPATIBILITY IDEOGRAPH-FA05
-FA06;W # CJK COMPATIBILITY IDEOGRAPH-FA06
-FA07;W # CJK COMPATIBILITY IDEOGRAPH-FA07
-FA08;W # CJK COMPATIBILITY IDEOGRAPH-FA08
-FA09;W # CJK COMPATIBILITY IDEOGRAPH-FA09
-FA0A;W # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA0B;W # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA0C;W # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA0D;W # CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA0E;W # CJK COMPATIBILITY IDEOGRAPH-FA0E
-FA0F;W # CJK COMPATIBILITY IDEOGRAPH-FA0F
-FA10;W # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA11;W # CJK COMPATIBILITY IDEOGRAPH-FA11
-FA12;W # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA13;W # CJK COMPATIBILITY IDEOGRAPH-FA13
-FA14;W # CJK COMPATIBILITY IDEOGRAPH-FA14
-FA15;W # CJK COMPATIBILITY IDEOGRAPH-FA15
-FA16;W # CJK COMPATIBILITY IDEOGRAPH-FA16
-FA17;W # CJK COMPATIBILITY IDEOGRAPH-FA17
-FA18;W # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA19;W # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A;W # CJK COMPATIBILITY IDEOGRAPH-FA1A
-FA1B;W # CJK COMPATIBILITY IDEOGRAPH-FA1B
-FA1C;W # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FA1D;W # CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA1E;W # CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA1F;W # CJK COMPATIBILITY IDEOGRAPH-FA1F
-FA20;W # CJK COMPATIBILITY IDEOGRAPH-FA20
-FA21;W # CJK COMPATIBILITY IDEOGRAPH-FA21
-FA22;W # CJK COMPATIBILITY IDEOGRAPH-FA22
-FA23;W # CJK COMPATIBILITY IDEOGRAPH-FA23
-FA24;W # CJK COMPATIBILITY IDEOGRAPH-FA24
-FA25;W # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA26;W # CJK COMPATIBILITY IDEOGRAPH-FA26
-FA27;W # CJK COMPATIBILITY IDEOGRAPH-FA27
-FA28;W # CJK COMPATIBILITY IDEOGRAPH-FA28
-FA29;W # CJK COMPATIBILITY IDEOGRAPH-FA29
-FA2A;W # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B;W # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C;W # CJK COMPATIBILITY IDEOGRAPH-FA2C
-FA2D;W # CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F;W # <reserved-FA2E>..<reserved-FA2F>
-FA30;W # CJK COMPATIBILITY IDEOGRAPH-FA30
-FA31;W # CJK COMPATIBILITY IDEOGRAPH-FA31
-FA32;W # CJK COMPATIBILITY IDEOGRAPH-FA32
-FA33;W # CJK COMPATIBILITY IDEOGRAPH-FA33
-FA34;W # CJK COMPATIBILITY IDEOGRAPH-FA34
-FA35;W # CJK COMPATIBILITY IDEOGRAPH-FA35
-FA36;W # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA37;W # CJK COMPATIBILITY IDEOGRAPH-FA37
-FA38;W # CJK COMPATIBILITY IDEOGRAPH-FA38
-FA39;W # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA3A;W # CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA3B;W # CJK COMPATIBILITY IDEOGRAPH-FA3B
-FA3C;W # CJK COMPATIBILITY IDEOGRAPH-FA3C
-FA3D;W # CJK COMPATIBILITY IDEOGRAPH-FA3D
-FA3E;W # CJK COMPATIBILITY IDEOGRAPH-FA3E
-FA3F;W # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA40;W # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA41;W # CJK COMPATIBILITY IDEOGRAPH-FA41
-FA42;W # CJK COMPATIBILITY IDEOGRAPH-FA42
-FA43;W # CJK COMPATIBILITY IDEOGRAPH-FA43
-FA44;W # CJK COMPATIBILITY IDEOGRAPH-FA44
-FA45;W # CJK COMPATIBILITY IDEOGRAPH-FA45
-FA46;W # CJK COMPATIBILITY IDEOGRAPH-FA46
-FA47;W # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA48;W # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA49;W # CJK COMPATIBILITY IDEOGRAPH-FA49
-FA4A;W # CJK COMPATIBILITY IDEOGRAPH-FA4A
-FA4B;W # CJK COMPATIBILITY IDEOGRAPH-FA4B
-FA4C;W # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4D;W # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4E;W # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4F;W # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50;W # CJK COMPATIBILITY IDEOGRAPH-FA50
-FA51;W # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA52;W # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53;W # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA54;W # CJK COMPATIBILITY IDEOGRAPH-FA54
-FA55;W # CJK COMPATIBILITY IDEOGRAPH-FA55
-FA56;W # CJK COMPATIBILITY IDEOGRAPH-FA56
-FA57;W # CJK COMPATIBILITY IDEOGRAPH-FA57
-FA58;W # CJK COMPATIBILITY IDEOGRAPH-FA58
-FA59;W # CJK COMPATIBILITY IDEOGRAPH-FA59
-FA5A;W # CJK COMPATIBILITY IDEOGRAPH-FA5A
-FA5B;W # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FA5C;W # CJK COMPATIBILITY IDEOGRAPH-FA5C
-FA5D;W # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E;W # CJK COMPATIBILITY IDEOGRAPH-FA5E
-FA5F;W # CJK COMPATIBILITY IDEOGRAPH-FA5F
-FA60;W # CJK COMPATIBILITY IDEOGRAPH-FA60
-FA61;W # CJK COMPATIBILITY IDEOGRAPH-FA61
-FA62;W # CJK COMPATIBILITY IDEOGRAPH-FA62
-FA63;W # CJK COMPATIBILITY IDEOGRAPH-FA63
-FA64;W # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65;W # CJK COMPATIBILITY IDEOGRAPH-FA65
-FA66;W # CJK COMPATIBILITY IDEOGRAPH-FA66
-FA67;W # CJK COMPATIBILITY IDEOGRAPH-FA67
-FA68;W # CJK COMPATIBILITY IDEOGRAPH-FA68
-FA69;W # CJK COMPATIBILITY IDEOGRAPH-FA69
-FA6A;W # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FA6B;W # CJK COMPATIBILITY IDEOGRAPH-FA6B
-FA6C;W # CJK COMPATIBILITY IDEOGRAPH-FA6C
-FA6D;W # CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA6E..FA6F;W # <reserved-FA6E>..<reserved-FA6F>
-FA70;W # CJK COMPATIBILITY IDEOGRAPH-FA70
-FA71;W # CJK COMPATIBILITY IDEOGRAPH-FA71
-FA72;W # CJK COMPATIBILITY IDEOGRAPH-FA72
-FA73;W # CJK COMPATIBILITY IDEOGRAPH-FA73
-FA74;W # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA75;W # CJK COMPATIBILITY IDEOGRAPH-FA75
-FA76;W # CJK COMPATIBILITY IDEOGRAPH-FA76
-FA77;W # CJK COMPATIBILITY IDEOGRAPH-FA77
-FA78;W # CJK COMPATIBILITY IDEOGRAPH-FA78
-FA79;W # CJK COMPATIBILITY IDEOGRAPH-FA79
-FA7A;W # CJK COMPATIBILITY IDEOGRAPH-FA7A
-FA7B;W # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA7C;W # CJK COMPATIBILITY IDEOGRAPH-FA7C
-FA7D;W # CJK COMPATIBILITY IDEOGRAPH-FA7D
-FA7E;W # CJK COMPATIBILITY IDEOGRAPH-FA7E
-FA7F;W # CJK COMPATIBILITY IDEOGRAPH-FA7F
-FA80;W # CJK COMPATIBILITY IDEOGRAPH-FA80
-FA81;W # CJK COMPATIBILITY IDEOGRAPH-FA81
-FA82;W # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA83;W # CJK COMPATIBILITY IDEOGRAPH-FA83
-FA84;W # CJK COMPATIBILITY IDEOGRAPH-FA84
-FA85;W # CJK COMPATIBILITY IDEOGRAPH-FA85
-FA86;W # CJK COMPATIBILITY IDEOGRAPH-FA86
-FA87;W # CJK COMPATIBILITY IDEOGRAPH-FA87
-FA88;W # CJK COMPATIBILITY IDEOGRAPH-FA88
-FA89;W # CJK COMPATIBILITY IDEOGRAPH-FA89
-FA8A;W # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA8B;W # CJK COMPATIBILITY IDEOGRAPH-FA8B
-FA8C;W # CJK COMPATIBILITY IDEOGRAPH-FA8C
-FA8D;W # CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E;W # CJK COMPATIBILITY IDEOGRAPH-FA8E
-FA8F;W # CJK COMPATIBILITY IDEOGRAPH-FA8F
-FA90;W # CJK COMPATIBILITY IDEOGRAPH-FA90
-FA91;W # CJK COMPATIBILITY IDEOGRAPH-FA91
-FA92;W # CJK COMPATIBILITY IDEOGRAPH-FA92
-FA93;W # CJK COMPATIBILITY IDEOGRAPH-FA93
-FA94;W # CJK COMPATIBILITY IDEOGRAPH-FA94
-FA95;W # CJK COMPATIBILITY IDEOGRAPH-FA95
-FA96;W # CJK COMPATIBILITY IDEOGRAPH-FA96
-FA97;W # CJK COMPATIBILITY IDEOGRAPH-FA97
-FA98;W # CJK COMPATIBILITY IDEOGRAPH-FA98
-FA99;W # CJK COMPATIBILITY IDEOGRAPH-FA99
-FA9A;W # CJK COMPATIBILITY IDEOGRAPH-FA9A
-FA9B;W # CJK COMPATIBILITY IDEOGRAPH-FA9B
-FA9C;W # CJK COMPATIBILITY IDEOGRAPH-FA9C
-FA9D;W # CJK COMPATIBILITY IDEOGRAPH-FA9D
-FA9E;W # CJK COMPATIBILITY IDEOGRAPH-FA9E
-FA9F;W # CJK COMPATIBILITY IDEOGRAPH-FA9F
-FAA0;W # CJK COMPATIBILITY IDEOGRAPH-FAA0
-FAA1;W # CJK COMPATIBILITY IDEOGRAPH-FAA1
-FAA2;W # CJK COMPATIBILITY IDEOGRAPH-FAA2
-FAA3;W # CJK COMPATIBILITY IDEOGRAPH-FAA3
-FAA4;W # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5;W # CJK COMPATIBILITY IDEOGRAPH-FAA5
-FAA6;W # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7;W # CJK COMPATIBILITY IDEOGRAPH-FAA7
-FAA8;W # CJK COMPATIBILITY IDEOGRAPH-FAA8
-FAA9;W # CJK COMPATIBILITY IDEOGRAPH-FAA9
-FAAA;W # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAAB;W # CJK COMPATIBILITY IDEOGRAPH-FAAB
-FAAC;W # CJK COMPATIBILITY IDEOGRAPH-FAAC
-FAAD;W # CJK COMPATIBILITY IDEOGRAPH-FAAD
-FAAE;W # CJK COMPATIBILITY IDEOGRAPH-FAAE
-FAAF;W # CJK COMPATIBILITY IDEOGRAPH-FAAF
-FAB0;W # CJK COMPATIBILITY IDEOGRAPH-FAB0
-FAB1;W # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FAB2;W # CJK COMPATIBILITY IDEOGRAPH-FAB2
-FAB3;W # CJK COMPATIBILITY IDEOGRAPH-FAB3
-FAB4;W # CJK COMPATIBILITY IDEOGRAPH-FAB4
-FAB5;W # CJK COMPATIBILITY IDEOGRAPH-FAB5
-FAB6;W # CJK COMPATIBILITY IDEOGRAPH-FAB6
-FAB7;W # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FAB8;W # CJK COMPATIBILITY IDEOGRAPH-FAB8
-FAB9;W # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABA;W # CJK COMPATIBILITY IDEOGRAPH-FABA
-FABB;W # CJK COMPATIBILITY IDEOGRAPH-FABB
-FABC;W # CJK COMPATIBILITY IDEOGRAPH-FABC
-FABD;W # CJK COMPATIBILITY IDEOGRAPH-FABD
-FABE;W # CJK COMPATIBILITY IDEOGRAPH-FABE
-FABF;W # CJK COMPATIBILITY IDEOGRAPH-FABF
-FAC0;W # CJK COMPATIBILITY IDEOGRAPH-FAC0
-FAC1;W # CJK COMPATIBILITY IDEOGRAPH-FAC1
-FAC2;W # CJK COMPATIBILITY IDEOGRAPH-FAC2
-FAC3;W # CJK COMPATIBILITY IDEOGRAPH-FAC3
-FAC4;W # CJK COMPATIBILITY IDEOGRAPH-FAC4
-FAC5;W # CJK COMPATIBILITY IDEOGRAPH-FAC5
-FAC6;W # CJK COMPATIBILITY IDEOGRAPH-FAC6
-FAC7;W # CJK COMPATIBILITY IDEOGRAPH-FAC7
-FAC8;W # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9;W # CJK COMPATIBILITY IDEOGRAPH-FAC9
-FACA;W # CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB;W # CJK COMPATIBILITY IDEOGRAPH-FACB
-FACC;W # CJK COMPATIBILITY IDEOGRAPH-FACC
-FACD;W # CJK COMPATIBILITY IDEOGRAPH-FACD
-FACE;W # CJK COMPATIBILITY IDEOGRAPH-FACE
-FACF;W # CJK COMPATIBILITY IDEOGRAPH-FACF
-FAD0;W # CJK COMPATIBILITY IDEOGRAPH-FAD0
-FAD1;W # CJK COMPATIBILITY IDEOGRAPH-FAD1
-FAD2;W # CJK COMPATIBILITY IDEOGRAPH-FAD2
-FAD3;W # CJK COMPATIBILITY IDEOGRAPH-FAD3
-FAD4;W # CJK COMPATIBILITY IDEOGRAPH-FAD4
-FAD5;W # CJK COMPATIBILITY IDEOGRAPH-FAD5
-FAD6;W # CJK COMPATIBILITY IDEOGRAPH-FAD6
-FAD7;W # CJK COMPATIBILITY IDEOGRAPH-FAD7
-FAD8;W # CJK COMPATIBILITY IDEOGRAPH-FAD8
-FAD9;W # CJK COMPATIBILITY IDEOGRAPH-FAD9
-FADA..FAFF;W # <reserved-FADA>..<reserved-FAFF>
-FB00;N # LATIN SMALL LIGATURE FF
-FB01;N # LATIN SMALL LIGATURE FI
-FB02;N # LATIN SMALL LIGATURE FL
-FB03;N # LATIN SMALL LIGATURE FFI
-FB04;N # LATIN SMALL LIGATURE FFL
-FB05;N # LATIN SMALL LIGATURE LONG S T
-FB06;N # LATIN SMALL LIGATURE ST
-FB13;N # ARMENIAN SMALL LIGATURE MEN NOW
-FB14;N # ARMENIAN SMALL LIGATURE MEN ECH
-FB15;N # ARMENIAN SMALL LIGATURE MEN INI
-FB16;N # ARMENIAN SMALL LIGATURE VEW NOW
-FB17;N # ARMENIAN SMALL LIGATURE MEN XEH
-FB1D;N # HEBREW LETTER YOD WITH HIRIQ
-FB1E;N # HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F;N # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB20;N # HEBREW LETTER ALTERNATIVE AYIN
-FB21;N # HEBREW LETTER WIDE ALEF
-FB22;N # HEBREW LETTER WIDE DALET
-FB23;N # HEBREW LETTER WIDE HE
-FB24;N # HEBREW LETTER WIDE KAF
-FB25;N # HEBREW LETTER WIDE LAMED
-FB26;N # HEBREW LETTER WIDE FINAL MEM
-FB27;N # HEBREW LETTER WIDE RESH
-FB28;N # HEBREW LETTER WIDE TAV
-FB29;N # HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A;N # HEBREW LETTER SHIN WITH SHIN DOT
-FB2B;N # HEBREW LETTER SHIN WITH SIN DOT
-FB2C;N # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D;N # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E;N # HEBREW LETTER ALEF WITH PATAH
-FB2F;N # HEBREW LETTER ALEF WITH QAMATS
-FB30;N # HEBREW LETTER ALEF WITH MAPIQ
-FB31;N # HEBREW LETTER BET WITH DAGESH
-FB32;N # HEBREW LETTER GIMEL WITH DAGESH
-FB33;N # HEBREW LETTER DALET WITH DAGESH
-FB34;N # HEBREW LETTER HE WITH MAPIQ
-FB35;N # HEBREW LETTER VAV WITH DAGESH
-FB36;N # HEBREW LETTER ZAYIN WITH DAGESH
-FB38;N # HEBREW LETTER TET WITH DAGESH
-FB39;N # HEBREW LETTER YOD WITH DAGESH
-FB3A;N # HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B;N # HEBREW LETTER KAF WITH DAGESH
-FB3C;N # HEBREW LETTER LAMED WITH DAGESH
-FB3E;N # HEBREW LETTER MEM WITH DAGESH
-FB40;N # HEBREW LETTER NUN WITH DAGESH
-FB41;N # HEBREW LETTER SAMEKH WITH DAGESH
-FB43;N # HEBREW LETTER FINAL PE WITH DAGESH
-FB44;N # HEBREW LETTER PE WITH DAGESH
-FB46;N # HEBREW LETTER TSADI WITH DAGESH
-FB47;N # HEBREW LETTER QOF WITH DAGESH
-FB48;N # HEBREW LETTER RESH WITH DAGESH
-FB49;N # HEBREW LETTER SHIN WITH DAGESH
-FB4A;N # HEBREW LETTER TAV WITH DAGESH
-FB4B;N # HEBREW LETTER VAV WITH HOLAM
-FB4C;N # HEBREW LETTER BET WITH RAFE
-FB4D;N # HEBREW LETTER KAF WITH RAFE
-FB4E;N # HEBREW LETTER PE WITH RAFE
-FB4F;N # HEBREW LIGATURE ALEF LAMED
-FB50;N # ARABIC LETTER ALEF WASLA ISOLATED FORM
-FB51;N # ARABIC LETTER ALEF WASLA FINAL FORM
-FB52;N # ARABIC LETTER BEEH ISOLATED FORM
-FB53;N # ARABIC LETTER BEEH FINAL FORM
-FB54;N # ARABIC LETTER BEEH INITIAL FORM
-FB55;N # ARABIC LETTER BEEH MEDIAL FORM
-FB56;N # ARABIC LETTER PEH ISOLATED FORM
-FB57;N # ARABIC LETTER PEH FINAL FORM
-FB58;N # ARABIC LETTER PEH INITIAL FORM
-FB59;N # ARABIC LETTER PEH MEDIAL FORM
-FB5A;N # ARABIC LETTER BEHEH ISOLATED FORM
-FB5B;N # ARABIC LETTER BEHEH FINAL FORM
-FB5C;N # ARABIC LETTER BEHEH INITIAL FORM
-FB5D;N # ARABIC LETTER BEHEH MEDIAL FORM
-FB5E;N # ARABIC LETTER TTEHEH ISOLATED FORM
-FB5F;N # ARABIC LETTER TTEHEH FINAL FORM
-FB60;N # ARABIC LETTER TTEHEH INITIAL FORM
-FB61;N # ARABIC LETTER TTEHEH MEDIAL FORM
-FB62;N # ARABIC LETTER TEHEH ISOLATED FORM
-FB63;N # ARABIC LETTER TEHEH FINAL FORM
-FB64;N # ARABIC LETTER TEHEH INITIAL FORM
-FB65;N # ARABIC LETTER TEHEH MEDIAL FORM
-FB66;N # ARABIC LETTER TTEH ISOLATED FORM
-FB67;N # ARABIC LETTER TTEH FINAL FORM
-FB68;N # ARABIC LETTER TTEH INITIAL FORM
-FB69;N # ARABIC LETTER TTEH MEDIAL FORM
-FB6A;N # ARABIC LETTER VEH ISOLATED FORM
-FB6B;N # ARABIC LETTER VEH FINAL FORM
-FB6C;N # ARABIC LETTER VEH INITIAL FORM
-FB6D;N # ARABIC LETTER VEH MEDIAL FORM
-FB6E;N # ARABIC LETTER PEHEH ISOLATED FORM
-FB6F;N # ARABIC LETTER PEHEH FINAL FORM
-FB70;N # ARABIC LETTER PEHEH INITIAL FORM
-FB71;N # ARABIC LETTER PEHEH MEDIAL FORM
-FB72;N # ARABIC LETTER DYEH ISOLATED FORM
-FB73;N # ARABIC LETTER DYEH FINAL FORM
-FB74;N # ARABIC LETTER DYEH INITIAL FORM
-FB75;N # ARABIC LETTER DYEH MEDIAL FORM
-FB76;N # ARABIC LETTER NYEH ISOLATED FORM
-FB77;N # ARABIC LETTER NYEH FINAL FORM
-FB78;N # ARABIC LETTER NYEH INITIAL FORM
-FB79;N # ARABIC LETTER NYEH MEDIAL FORM
-FB7A;N # ARABIC LETTER TCHEH ISOLATED FORM
-FB7B;N # ARABIC LETTER TCHEH FINAL FORM
-FB7C;N # ARABIC LETTER TCHEH INITIAL FORM
-FB7D;N # ARABIC LETTER TCHEH MEDIAL FORM
-FB7E;N # ARABIC LETTER TCHEHEH ISOLATED FORM
-FB7F;N # ARABIC LETTER TCHEHEH FINAL FORM
-FB80;N # ARABIC LETTER TCHEHEH INITIAL FORM
-FB81;N # ARABIC LETTER TCHEHEH MEDIAL FORM
-FB82;N # ARABIC LETTER DDAHAL ISOLATED FORM
-FB83;N # ARABIC LETTER DDAHAL FINAL FORM
-FB84;N # ARABIC LETTER DAHAL ISOLATED FORM
-FB85;N # ARABIC LETTER DAHAL FINAL FORM
-FB86;N # ARABIC LETTER DUL ISOLATED FORM
-FB87;N # ARABIC LETTER DUL FINAL FORM
-FB88;N # ARABIC LETTER DDAL ISOLATED FORM
-FB89;N # ARABIC LETTER DDAL FINAL FORM
-FB8A;N # ARABIC LETTER JEH ISOLATED FORM
-FB8B;N # ARABIC LETTER JEH FINAL FORM
-FB8C;N # ARABIC LETTER RREH ISOLATED FORM
-FB8D;N # ARABIC LETTER RREH FINAL FORM
-FB8E;N # ARABIC LETTER KEHEH ISOLATED FORM
-FB8F;N # ARABIC LETTER KEHEH FINAL FORM
-FB90;N # ARABIC LETTER KEHEH INITIAL FORM
-FB91;N # ARABIC LETTER KEHEH MEDIAL FORM
-FB92;N # ARABIC LETTER GAF ISOLATED FORM
-FB93;N # ARABIC LETTER GAF FINAL FORM
-FB94;N # ARABIC LETTER GAF INITIAL FORM
-FB95;N # ARABIC LETTER GAF MEDIAL FORM
-FB96;N # ARABIC LETTER GUEH ISOLATED FORM
-FB97;N # ARABIC LETTER GUEH FINAL FORM
-FB98;N # ARABIC LETTER GUEH INITIAL FORM
-FB99;N # ARABIC LETTER GUEH MEDIAL FORM
-FB9A;N # ARABIC LETTER NGOEH ISOLATED FORM
-FB9B;N # ARABIC LETTER NGOEH FINAL FORM
-FB9C;N # ARABIC LETTER NGOEH INITIAL FORM
-FB9D;N # ARABIC LETTER NGOEH MEDIAL FORM
-FB9E;N # ARABIC LETTER NOON GHUNNA ISOLATED FORM
-FB9F;N # ARABIC LETTER NOON GHUNNA FINAL FORM
-FBA0;N # ARABIC LETTER RNOON ISOLATED FORM
-FBA1;N # ARABIC LETTER RNOON FINAL FORM
-FBA2;N # ARABIC LETTER RNOON INITIAL FORM
-FBA3;N # ARABIC LETTER RNOON MEDIAL FORM
-FBA4;N # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
-FBA5;N # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA6;N # ARABIC LETTER HEH GOAL ISOLATED FORM
-FBA7;N # ARABIC LETTER HEH GOAL FINAL FORM
-FBA8;N # ARABIC LETTER HEH GOAL INITIAL FORM
-FBA9;N # ARABIC LETTER HEH GOAL MEDIAL FORM
-FBAA;N # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-FBAB;N # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
-FBAC;N # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
-FBAD;N # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBAE;N # ARABIC LETTER YEH BARREE ISOLATED FORM
-FBAF;N # ARABIC LETTER YEH BARREE FINAL FORM
-FBB0;N # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-FBB1;N # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3;N # ARABIC LETTER NG ISOLATED FORM
-FBD4;N # ARABIC LETTER NG FINAL FORM
-FBD5;N # ARABIC LETTER NG INITIAL FORM
-FBD6;N # ARABIC LETTER NG MEDIAL FORM
-FBD7;N # ARABIC LETTER U ISOLATED FORM
-FBD8;N # ARABIC LETTER U FINAL FORM
-FBD9;N # ARABIC LETTER OE ISOLATED FORM
-FBDA;N # ARABIC LETTER OE FINAL FORM
-FBDB;N # ARABIC LETTER YU ISOLATED FORM
-FBDC;N # ARABIC LETTER YU FINAL FORM
-FBDD;N # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-FBDE;N # ARABIC LETTER VE ISOLATED FORM
-FBDF;N # ARABIC LETTER VE FINAL FORM
-FBE0;N # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
-FBE1;N # ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE2;N # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
-FBE3;N # ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE4;N # ARABIC LETTER E ISOLATED FORM
-FBE5;N # ARABIC LETTER E FINAL FORM
-FBE6;N # ARABIC LETTER E INITIAL FORM
-FBE7;N # ARABIC LETTER E MEDIAL FORM
-FBE8;N # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9;N # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FBEA;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
-FBEB;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBEC;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
-FBED;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEE;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
-FBEF;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBF0;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
-FBF1;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF2;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
-FBF3;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF4;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
-FBF5;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF6;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
-FBF7;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
-FBF8;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBF9;N # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FBFA;N # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FBFB;N # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFC;N # ARABIC LETTER FARSI YEH ISOLATED FORM
-FBFD;N # ARABIC LETTER FARSI YEH FINAL FORM
-FBFE;N # ARABIC LETTER FARSI YEH INITIAL FORM
-FBFF;N # ARABIC LETTER FARSI YEH MEDIAL FORM
-FC00;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
-FC01;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
-FC02;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
-FC03;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC04;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
-FC05;N # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
-FC06;N # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
-FC07;N # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
-FC08;N # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
-FC09;N # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
-FC0A;N # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
-FC0B;N # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
-FC0C;N # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
-FC0D;N # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
-FC0E;N # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
-FC0F;N # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
-FC10;N # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
-FC11;N # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
-FC12;N # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
-FC13;N # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
-FC14;N # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
-FC15;N # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
-FC16;N # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
-FC17;N # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
-FC18;N # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
-FC19;N # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
-FC1A;N # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
-FC1B;N # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
-FC1C;N # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
-FC1D;N # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
-FC1E;N # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
-FC1F;N # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
-FC20;N # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
-FC21;N # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
-FC22;N # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
-FC23;N # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
-FC24;N # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
-FC25;N # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
-FC26;N # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
-FC27;N # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
-FC28;N # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
-FC29;N # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
-FC2A;N # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
-FC2B;N # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
-FC2C;N # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
-FC2D;N # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
-FC2E;N # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
-FC2F;N # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
-FC30;N # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
-FC31;N # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
-FC32;N # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
-FC33;N # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
-FC34;N # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
-FC35;N # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
-FC36;N # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
-FC37;N # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
-FC38;N # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
-FC39;N # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
-FC3A;N # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
-FC3B;N # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
-FC3C;N # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
-FC3D;N # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
-FC3E;N # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
-FC3F;N # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
-FC40;N # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
-FC41;N # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
-FC42;N # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
-FC43;N # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
-FC44;N # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
-FC45;N # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
-FC46;N # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
-FC47;N # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
-FC48;N # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
-FC49;N # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
-FC4A;N # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
-FC4B;N # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
-FC4C;N # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
-FC4D;N # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
-FC4E;N # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
-FC4F;N # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
-FC50;N # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
-FC51;N # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
-FC52;N # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
-FC53;N # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
-FC54;N # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
-FC55;N # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
-FC56;N # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
-FC57;N # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
-FC58;N # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
-FC59;N # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
-FC5A;N # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
-FC5B;N # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5C;N # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5D;N # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5E;N # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
-FC5F;N # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
-FC60;N # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
-FC61;N # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
-FC62;N # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
-FC63;N # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC64;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
-FC65;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
-FC66;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
-FC67;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
-FC68;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FC69;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
-FC6A;N # ARABIC LIGATURE BEH WITH REH FINAL FORM
-FC6B;N # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
-FC6C;N # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
-FC6D;N # ARABIC LIGATURE BEH WITH NOON FINAL FORM
-FC6E;N # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
-FC6F;N # ARABIC LIGATURE BEH WITH YEH FINAL FORM
-FC70;N # ARABIC LIGATURE TEH WITH REH FINAL FORM
-FC71;N # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
-FC72;N # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
-FC73;N # ARABIC LIGATURE TEH WITH NOON FINAL FORM
-FC74;N # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
-FC75;N # ARABIC LIGATURE TEH WITH YEH FINAL FORM
-FC76;N # ARABIC LIGATURE THEH WITH REH FINAL FORM
-FC77;N # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
-FC78;N # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
-FC79;N # ARABIC LIGATURE THEH WITH NOON FINAL FORM
-FC7A;N # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
-FC7B;N # ARABIC LIGATURE THEH WITH YEH FINAL FORM
-FC7C;N # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
-FC7D;N # ARABIC LIGATURE FEH WITH YEH FINAL FORM
-FC7E;N # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
-FC7F;N # ARABIC LIGATURE QAF WITH YEH FINAL FORM
-FC80;N # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
-FC81;N # ARABIC LIGATURE KAF WITH LAM FINAL FORM
-FC82;N # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
-FC83;N # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
-FC84;N # ARABIC LIGATURE KAF WITH YEH FINAL FORM
-FC85;N # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
-FC86;N # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
-FC87;N # ARABIC LIGATURE LAM WITH YEH FINAL FORM
-FC88;N # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
-FC89;N # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
-FC8A;N # ARABIC LIGATURE NOON WITH REH FINAL FORM
-FC8B;N # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
-FC8C;N # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
-FC8D;N # ARABIC LIGATURE NOON WITH NOON FINAL FORM
-FC8E;N # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
-FC8F;N # ARABIC LIGATURE NOON WITH YEH FINAL FORM
-FC90;N # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC91;N # ARABIC LIGATURE YEH WITH REH FINAL FORM
-FC92;N # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
-FC93;N # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
-FC94;N # ARABIC LIGATURE YEH WITH NOON FINAL FORM
-FC95;N # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
-FC96;N # ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FC97;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
-FC98;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
-FC99;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
-FC9A;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
-FC9B;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
-FC9C;N # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
-FC9D;N # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
-FC9E;N # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
-FC9F;N # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
-FCA0;N # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
-FCA1;N # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
-FCA2;N # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
-FCA3;N # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
-FCA4;N # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
-FCA5;N # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
-FCA6;N # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
-FCA7;N # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
-FCA8;N # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
-FCA9;N # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
-FCAA;N # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
-FCAB;N # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
-FCAC;N # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
-FCAD;N # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
-FCAE;N # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
-FCAF;N # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
-FCB0;N # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
-FCB1;N # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
-FCB2;N # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
-FCB3;N # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
-FCB4;N # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
-FCB5;N # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
-FCB6;N # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
-FCB7;N # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
-FCB8;N # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
-FCB9;N # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
-FCBA;N # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
-FCBB;N # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
-FCBC;N # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
-FCBD;N # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
-FCBE;N # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
-FCBF;N # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
-FCC0;N # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
-FCC1;N # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
-FCC2;N # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
-FCC3;N # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
-FCC4;N # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
-FCC5;N # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
-FCC6;N # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
-FCC7;N # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
-FCC8;N # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
-FCC9;N # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
-FCCA;N # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
-FCCB;N # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
-FCCC;N # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
-FCCD;N # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
-FCCE;N # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
-FCCF;N # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
-FCD0;N # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
-FCD1;N # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
-FCD2;N # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
-FCD3;N # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
-FCD4;N # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
-FCD5;N # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
-FCD6;N # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
-FCD7;N # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
-FCD8;N # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
-FCD9;N # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
-FCDA;N # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
-FCDB;N # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
-FCDC;N # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
-FCDD;N # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
-FCDE;N # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FCDF;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
-FCE0;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
-FCE1;N # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
-FCE2;N # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
-FCE3;N # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
-FCE4;N # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
-FCE5;N # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
-FCE6;N # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
-FCE7;N # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
-FCE8;N # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
-FCE9;N # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
-FCEA;N # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
-FCEB;N # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
-FCEC;N # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
-FCED;N # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
-FCEE;N # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
-FCEF;N # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
-FCF0;N # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
-FCF1;N # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
-FCF2;N # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
-FCF3;N # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
-FCF4;N # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
-FCF5;N # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
-FCF6;N # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
-FCF7;N # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
-FCF8;N # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
-FCF9;N # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
-FCFA;N # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
-FCFB;N # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFC;N # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
-FCFD;N # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFE;N # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
-FCFF;N # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
-FD00;N # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
-FD01;N # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
-FD02;N # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
-FD03;N # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
-FD04;N # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
-FD05;N # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
-FD06;N # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
-FD07;N # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
-FD08;N # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
-FD09;N # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
-FD0A;N # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
-FD0B;N # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
-FD0C;N # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
-FD0D;N # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
-FD0E;N # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
-FD0F;N # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
-FD10;N # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FD11;N # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
-FD12;N # ARABIC LIGATURE TAH WITH YEH FINAL FORM
-FD13;N # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
-FD14;N # ARABIC LIGATURE AIN WITH YEH FINAL FORM
-FD15;N # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
-FD16;N # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
-FD17;N # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
-FD18;N # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
-FD19;N # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
-FD1A;N # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
-FD1B;N # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
-FD1C;N # ARABIC LIGATURE HAH WITH YEH FINAL FORM
-FD1D;N # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
-FD1E;N # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
-FD1F;N # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
-FD20;N # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
-FD21;N # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
-FD22;N # ARABIC LIGATURE SAD WITH YEH FINAL FORM
-FD23;N # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
-FD24;N # ARABIC LIGATURE DAD WITH YEH FINAL FORM
-FD25;N # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
-FD26;N # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
-FD27;N # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
-FD28;N # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
-FD29;N # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
-FD2A;N # ARABIC LIGATURE SEEN WITH REH FINAL FORM
-FD2B;N # ARABIC LIGATURE SAD WITH REH FINAL FORM
-FD2C;N # ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD2D;N # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
-FD2E;N # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
-FD2F;N # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
-FD30;N # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
-FD31;N # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
-FD32;N # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
-FD33;N # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD34;N # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
-FD35;N # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
-FD36;N # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
-FD37;N # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
-FD38;N # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
-FD39;N # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
-FD3A;N # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
-FD3B;N # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FD3C;N # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
-FD3D;N # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD3E;N # ORNATE LEFT PARENTHESIS
-FD3F;N # ORNATE RIGHT PARENTHESIS
-FD50;N # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FD51;N # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
-FD52;N # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
-FD53;N # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
-FD54;N # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
-FD55;N # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
-FD56;N # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
-FD57;N # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FD58;N # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
-FD59;N # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD5A;N # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
-FD5B;N # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5C;N # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
-FD5D;N # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD5E;N # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD5F;N # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
-FD60;N # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
-FD61;N # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD62;N # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
-FD63;N # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD64;N # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
-FD65;N # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD66;N # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
-FD67;N # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
-FD68;N # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD69;N # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
-FD6A;N # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
-FD6B;N # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6C;N # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
-FD6D;N # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD6E;N # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD6F;N # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
-FD70;N # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD71;N # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
-FD72;N # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
-FD73;N # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD74;N # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
-FD75;N # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
-FD76;N # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
-FD77;N # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD78;N # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD79;N # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
-FD7A;N # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
-FD7B;N # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD7C;N # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
-FD7D;N # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD7E;N # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
-FD7F;N # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
-FD80;N # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
-FD81;N # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
-FD82;N # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD83;N # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
-FD84;N # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
-FD85;N # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
-FD86;N # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD87;N # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
-FD88;N # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
-FD89;N # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
-FD8A;N # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FD8B;N # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FD8C;N # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
-FD8D;N # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
-FD8E;N # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
-FD8F;N # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92;N # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
-FD93;N # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
-FD94;N # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
-FD95;N # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD96;N # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD97;N # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
-FD98;N # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD99;N # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD9A;N # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
-FD9B;N # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD9C;N # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
-FD9D;N # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FD9E;N # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
-FD9F;N # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
-FDA0;N # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FDA1;N # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
-FDA2;N # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA3;N # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
-FDA4;N # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA5;N # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
-FDA6;N # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDA7;N # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA8;N # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA9;N # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
-FDAA;N # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
-FDAB;N # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
-FDAC;N # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
-FDAD;N # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
-FDAE;N # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
-FDAF;N # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
-FDB0;N # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
-FDB1;N # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
-FDB2;N # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
-FDB3;N # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FDB4;N # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
-FDB5;N # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FDB6;N # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
-FDB7;N # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FDB8;N # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDB9;N # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FDBA;N # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDBB;N # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
-FDBC;N # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
-FDBD;N # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
-FDBE;N # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
-FDBF;N # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
-FDC0;N # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
-FDC1;N # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
-FDC2;N # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FDC3;N # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
-FDC4;N # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
-FDC5;N # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FDC6;N # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
-FDC7;N # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0;N # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF1;N # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF2;N # ARABIC LIGATURE ALLAH ISOLATED FORM
-FDF3;N # ARABIC LIGATURE AKBAR ISOLATED FORM
-FDF4;N # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
-FDF5;N # ARABIC LIGATURE SALAM ISOLATED FORM
-FDF6;N # ARABIC LIGATURE RASOUL ISOLATED FORM
-FDF7;N # ARABIC LIGATURE ALAYHE ISOLATED FORM
-FDF8;N # ARABIC LIGATURE WASALLAM ISOLATED FORM
-FDF9;N # ARABIC LIGATURE SALLA ISOLATED FORM
-FDFA;N # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
-FDFB;N # ARABIC LIGATURE JALLAJALALOUHOU
-FDFC;N # RIAL SIGN
-FDFD;N # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE00;A # VARIATION SELECTOR-1
-FE01;A # VARIATION SELECTOR-2
-FE02;A # VARIATION SELECTOR-3
-FE03;A # VARIATION SELECTOR-4
-FE04;A # VARIATION SELECTOR-5
-FE05;A # VARIATION SELECTOR-6
-FE06;A # VARIATION SELECTOR-7
-FE07;A # VARIATION SELECTOR-8
-FE08;A # VARIATION SELECTOR-9
-FE09;A # VARIATION SELECTOR-10
-FE0A;A # VARIATION SELECTOR-11
-FE0B;A # VARIATION SELECTOR-12
-FE0C;A # VARIATION SELECTOR-13
-FE0D;A # VARIATION SELECTOR-14
-FE0E;A # VARIATION SELECTOR-15
-FE0F;A # VARIATION SELECTOR-16
-FE10;W # PRESENTATION FORM FOR VERTICAL COMMA
-FE11;W # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE12;W # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE13;W # PRESENTATION FORM FOR VERTICAL COLON
-FE14;W # PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE15;W # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
-FE16;W # PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17;W # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18;W # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19;W # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE20;N # COMBINING LIGATURE LEFT HALF
-FE21;N # COMBINING LIGATURE RIGHT HALF
-FE22;N # COMBINING DOUBLE TILDE LEFT HALF
-FE23;N # COMBINING DOUBLE TILDE RIGHT HALF
-FE24;N # COMBINING MACRON LEFT HALF
-FE25;N # COMBINING MACRON RIGHT HALF
-FE26;N # COMBINING CONJOINING MACRON
-FE30;W # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31;W # PRESENTATION FORM FOR VERTICAL EM DASH
-FE32;W # PRESENTATION FORM FOR VERTICAL EN DASH
-FE33;W # PRESENTATION FORM FOR VERTICAL LOW LINE
-FE34;W # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35;W # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36;W # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37;W # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38;W # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39;W # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A;W # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B;W # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C;W # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D;W # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E;W # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F;W # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40;W # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41;W # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42;W # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43;W # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44;W # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45;W # SESAME DOT
-FE46;W # WHITE SESAME DOT
-FE47;W # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48;W # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49;W # DASHED OVERLINE
-FE4A;W # CENTRELINE OVERLINE
-FE4B;W # WAVY OVERLINE
-FE4C;W # DOUBLE WAVY OVERLINE
-FE4D;W # DASHED LOW LINE
-FE4E;W # CENTRELINE LOW LINE
-FE4F;W # WAVY LOW LINE
-FE50;W # SMALL COMMA
-FE51;W # SMALL IDEOGRAPHIC COMMA
-FE52;W # SMALL FULL STOP
-FE54;W # SMALL SEMICOLON
-FE55;W # SMALL COLON
-FE56;W # SMALL QUESTION MARK
-FE57;W # SMALL EXCLAMATION MARK
-FE58;W # SMALL EM DASH
-FE59;W # SMALL LEFT PARENTHESIS
-FE5A;W # SMALL RIGHT PARENTHESIS
-FE5B;W # SMALL LEFT CURLY BRACKET
-FE5C;W # SMALL RIGHT CURLY BRACKET
-FE5D;W # SMALL LEFT TORTOISE SHELL BRACKET
-FE5E;W # SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F;W # SMALL NUMBER SIGN
-FE60;W # SMALL AMPERSAND
-FE61;W # SMALL ASTERISK
-FE62;W # SMALL PLUS SIGN
-FE63;W # SMALL HYPHEN-MINUS
-FE64;W # SMALL LESS-THAN SIGN
-FE65;W # SMALL GREATER-THAN SIGN
-FE66;W # SMALL EQUALS SIGN
-FE68;W # SMALL REVERSE SOLIDUS
-FE69;W # SMALL DOLLAR SIGN
-FE6A;W # SMALL PERCENT SIGN
-FE6B;W # SMALL COMMERCIAL AT
-FE70;N # ARABIC FATHATAN ISOLATED FORM
-FE71;N # ARABIC TATWEEL WITH FATHATAN ABOVE
-FE72;N # ARABIC DAMMATAN ISOLATED FORM
-FE73;N # ARABIC TAIL FRAGMENT
-FE74;N # ARABIC KASRATAN ISOLATED FORM
-FE76;N # ARABIC FATHA ISOLATED FORM
-FE77;N # ARABIC FATHA MEDIAL FORM
-FE78;N # ARABIC DAMMA ISOLATED FORM
-FE79;N # ARABIC DAMMA MEDIAL FORM
-FE7A;N # ARABIC KASRA ISOLATED FORM
-FE7B;N # ARABIC KASRA MEDIAL FORM
-FE7C;N # ARABIC SHADDA ISOLATED FORM
-FE7D;N # ARABIC SHADDA MEDIAL FORM
-FE7E;N # ARABIC SUKUN ISOLATED FORM
-FE7F;N # ARABIC SUKUN MEDIAL FORM
-FE80;N # ARABIC LETTER HAMZA ISOLATED FORM
-FE81;N # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-FE82;N # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE83;N # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-FE84;N # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE85;N # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-FE86;N # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE87;N # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
-FE88;N # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE89;N # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-FE8A;N # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-FE8B;N # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-FE8C;N # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE8D;N # ARABIC LETTER ALEF ISOLATED FORM
-FE8E;N # ARABIC LETTER ALEF FINAL FORM
-FE8F;N # ARABIC LETTER BEH ISOLATED FORM
-FE90;N # ARABIC LETTER BEH FINAL FORM
-FE91;N # ARABIC LETTER BEH INITIAL FORM
-FE92;N # ARABIC LETTER BEH MEDIAL FORM
-FE93;N # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-FE94;N # ARABIC LETTER TEH MARBUTA FINAL FORM
-FE95;N # ARABIC LETTER TEH ISOLATED FORM
-FE96;N # ARABIC LETTER TEH FINAL FORM
-FE97;N # ARABIC LETTER TEH INITIAL FORM
-FE98;N # ARABIC LETTER TEH MEDIAL FORM
-FE99;N # ARABIC LETTER THEH ISOLATED FORM
-FE9A;N # ARABIC LETTER THEH FINAL FORM
-FE9B;N # ARABIC LETTER THEH INITIAL FORM
-FE9C;N # ARABIC LETTER THEH MEDIAL FORM
-FE9D;N # ARABIC LETTER JEEM ISOLATED FORM
-FE9E;N # ARABIC LETTER JEEM FINAL FORM
-FE9F;N # ARABIC LETTER JEEM INITIAL FORM
-FEA0;N # ARABIC LETTER JEEM MEDIAL FORM
-FEA1;N # ARABIC LETTER HAH ISOLATED FORM
-FEA2;N # ARABIC LETTER HAH FINAL FORM
-FEA3;N # ARABIC LETTER HAH INITIAL FORM
-FEA4;N # ARABIC LETTER HAH MEDIAL FORM
-FEA5;N # ARABIC LETTER KHAH ISOLATED FORM
-FEA6;N # ARABIC LETTER KHAH FINAL FORM
-FEA7;N # ARABIC LETTER KHAH INITIAL FORM
-FEA8;N # ARABIC LETTER KHAH MEDIAL FORM
-FEA9;N # ARABIC LETTER DAL ISOLATED FORM
-FEAA;N # ARABIC LETTER DAL FINAL FORM
-FEAB;N # ARABIC LETTER THAL ISOLATED FORM
-FEAC;N # ARABIC LETTER THAL FINAL FORM
-FEAD;N # ARABIC LETTER REH ISOLATED FORM
-FEAE;N # ARABIC LETTER REH FINAL FORM
-FEAF;N # ARABIC LETTER ZAIN ISOLATED FORM
-FEB0;N # ARABIC LETTER ZAIN FINAL FORM
-FEB1;N # ARABIC LETTER SEEN ISOLATED FORM
-FEB2;N # ARABIC LETTER SEEN FINAL FORM
-FEB3;N # ARABIC LETTER SEEN INITIAL FORM
-FEB4;N # ARABIC LETTER SEEN MEDIAL FORM
-FEB5;N # ARABIC LETTER SHEEN ISOLATED FORM
-FEB6;N # ARABIC LETTER SHEEN FINAL FORM
-FEB7;N # ARABIC LETTER SHEEN INITIAL FORM
-FEB8;N # ARABIC LETTER SHEEN MEDIAL FORM
-FEB9;N # ARABIC LETTER SAD ISOLATED FORM
-FEBA;N # ARABIC LETTER SAD FINAL FORM
-FEBB;N # ARABIC LETTER SAD INITIAL FORM
-FEBC;N # ARABIC LETTER SAD MEDIAL FORM
-FEBD;N # ARABIC LETTER DAD ISOLATED FORM
-FEBE;N # ARABIC LETTER DAD FINAL FORM
-FEBF;N # ARABIC LETTER DAD INITIAL FORM
-FEC0;N # ARABIC LETTER DAD MEDIAL FORM
-FEC1;N # ARABIC LETTER TAH ISOLATED FORM
-FEC2;N # ARABIC LETTER TAH FINAL FORM
-FEC3;N # ARABIC LETTER TAH INITIAL FORM
-FEC4;N # ARABIC LETTER TAH MEDIAL FORM
-FEC5;N # ARABIC LETTER ZAH ISOLATED FORM
-FEC6;N # ARABIC LETTER ZAH FINAL FORM
-FEC7;N # ARABIC LETTER ZAH INITIAL FORM
-FEC8;N # ARABIC LETTER ZAH MEDIAL FORM
-FEC9;N # ARABIC LETTER AIN ISOLATED FORM
-FECA;N # ARABIC LETTER AIN FINAL FORM
-FECB;N # ARABIC LETTER AIN INITIAL FORM
-FECC;N # ARABIC LETTER AIN MEDIAL FORM
-FECD;N # ARABIC LETTER GHAIN ISOLATED FORM
-FECE;N # ARABIC LETTER GHAIN FINAL FORM
-FECF;N # ARABIC LETTER GHAIN INITIAL FORM
-FED0;N # ARABIC LETTER GHAIN MEDIAL FORM
-FED1;N # ARABIC LETTER FEH ISOLATED FORM
-FED2;N # ARABIC LETTER FEH FINAL FORM
-FED3;N # ARABIC LETTER FEH INITIAL FORM
-FED4;N # ARABIC LETTER FEH MEDIAL FORM
-FED5;N # ARABIC LETTER QAF ISOLATED FORM
-FED6;N # ARABIC LETTER QAF FINAL FORM
-FED7;N # ARABIC LETTER QAF INITIAL FORM
-FED8;N # ARABIC LETTER QAF MEDIAL FORM
-FED9;N # ARABIC LETTER KAF ISOLATED FORM
-FEDA;N # ARABIC LETTER KAF FINAL FORM
-FEDB;N # ARABIC LETTER KAF INITIAL FORM
-FEDC;N # ARABIC LETTER KAF MEDIAL FORM
-FEDD;N # ARABIC LETTER LAM ISOLATED FORM
-FEDE;N # ARABIC LETTER LAM FINAL FORM
-FEDF;N # ARABIC LETTER LAM INITIAL FORM
-FEE0;N # ARABIC LETTER LAM MEDIAL FORM
-FEE1;N # ARABIC LETTER MEEM ISOLATED FORM
-FEE2;N # ARABIC LETTER MEEM FINAL FORM
-FEE3;N # ARABIC LETTER MEEM INITIAL FORM
-FEE4;N # ARABIC LETTER MEEM MEDIAL FORM
-FEE5;N # ARABIC LETTER NOON ISOLATED FORM
-FEE6;N # ARABIC LETTER NOON FINAL FORM
-FEE7;N # ARABIC LETTER NOON INITIAL FORM
-FEE8;N # ARABIC LETTER NOON MEDIAL FORM
-FEE9;N # ARABIC LETTER HEH ISOLATED FORM
-FEEA;N # ARABIC LETTER HEH FINAL FORM
-FEEB;N # ARABIC LETTER HEH INITIAL FORM
-FEEC;N # ARABIC LETTER HEH MEDIAL FORM
-FEED;N # ARABIC LETTER WAW ISOLATED FORM
-FEEE;N # ARABIC LETTER WAW FINAL FORM
-FEEF;N # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FEF0;N # ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEF1;N # ARABIC LETTER YEH ISOLATED FORM
-FEF2;N # ARABIC LETTER YEH FINAL FORM
-FEF3;N # ARABIC LETTER YEH INITIAL FORM
-FEF4;N # ARABIC LETTER YEH MEDIAL FORM
-FEF5;N # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-FEF6;N # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF7;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-FEF8;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEF9;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-FEFA;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEFB;N # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-FEFC;N # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF;N # ZERO WIDTH NO-BREAK SPACE
-FF01;F # FULLWIDTH EXCLAMATION MARK
-FF02;F # FULLWIDTH QUOTATION MARK
-FF03;F # FULLWIDTH NUMBER SIGN
-FF04;F # FULLWIDTH DOLLAR SIGN
-FF05;F # FULLWIDTH PERCENT SIGN
-FF06;F # FULLWIDTH AMPERSAND
-FF07;F # FULLWIDTH APOSTROPHE
-FF08;F # FULLWIDTH LEFT PARENTHESIS
-FF09;F # FULLWIDTH RIGHT PARENTHESIS
-FF0A;F # FULLWIDTH ASTERISK
-FF0B;F # FULLWIDTH PLUS SIGN
-FF0C;F # FULLWIDTH COMMA
-FF0D;F # FULLWIDTH HYPHEN-MINUS
-FF0E;F # FULLWIDTH FULL STOP
-FF0F;F # FULLWIDTH SOLIDUS
-FF10;F # FULLWIDTH DIGIT ZERO
-FF11;F # FULLWIDTH DIGIT ONE
-FF12;F # FULLWIDTH DIGIT TWO
-FF13;F # FULLWIDTH DIGIT THREE
-FF14;F # FULLWIDTH DIGIT FOUR
-FF15;F # FULLWIDTH DIGIT FIVE
-FF16;F # FULLWIDTH DIGIT SIX
-FF17;F # FULLWIDTH DIGIT SEVEN
-FF18;F # FULLWIDTH DIGIT EIGHT
-FF19;F # FULLWIDTH DIGIT NINE
-FF1A;F # FULLWIDTH COLON
-FF1B;F # FULLWIDTH SEMICOLON
-FF1C;F # FULLWIDTH LESS-THAN SIGN
-FF1D;F # FULLWIDTH EQUALS SIGN
-FF1E;F # FULLWIDTH GREATER-THAN SIGN
-FF1F;F # FULLWIDTH QUESTION MARK
-FF20;F # FULLWIDTH COMMERCIAL AT
-FF21;F # FULLWIDTH LATIN CAPITAL LETTER A
-FF22;F # FULLWIDTH LATIN CAPITAL LETTER B
-FF23;F # FULLWIDTH LATIN CAPITAL LETTER C
-FF24;F # FULLWIDTH LATIN CAPITAL LETTER D
-FF25;F # FULLWIDTH LATIN CAPITAL LETTER E
-FF26;F # FULLWIDTH LATIN CAPITAL LETTER F
-FF27;F # FULLWIDTH LATIN CAPITAL LETTER G
-FF28;F # FULLWIDTH LATIN CAPITAL LETTER H
-FF29;F # FULLWIDTH LATIN CAPITAL LETTER I
-FF2A;F # FULLWIDTH LATIN CAPITAL LETTER J
-FF2B;F # FULLWIDTH LATIN CAPITAL LETTER K
-FF2C;F # FULLWIDTH LATIN CAPITAL LETTER L
-FF2D;F # FULLWIDTH LATIN CAPITAL LETTER M
-FF2E;F # FULLWIDTH LATIN CAPITAL LETTER N
-FF2F;F # FULLWIDTH LATIN CAPITAL LETTER O
-FF30;F # FULLWIDTH LATIN CAPITAL LETTER P
-FF31;F # FULLWIDTH LATIN CAPITAL LETTER Q
-FF32;F # FULLWIDTH LATIN CAPITAL LETTER R
-FF33;F # FULLWIDTH LATIN CAPITAL LETTER S
-FF34;F # FULLWIDTH LATIN CAPITAL LETTER T
-FF35;F # FULLWIDTH LATIN CAPITAL LETTER U
-FF36;F # FULLWIDTH LATIN CAPITAL LETTER V
-FF37;F # FULLWIDTH LATIN CAPITAL LETTER W
-FF38;F # FULLWIDTH LATIN CAPITAL LETTER X
-FF39;F # FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A;F # FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B;F # FULLWIDTH LEFT SQUARE BRACKET
-FF3C;F # FULLWIDTH REVERSE SOLIDUS
-FF3D;F # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E;F # FULLWIDTH CIRCUMFLEX ACCENT
-FF3F;F # FULLWIDTH LOW LINE
-FF40;F # FULLWIDTH GRAVE ACCENT
-FF41;F # FULLWIDTH LATIN SMALL LETTER A
-FF42;F # FULLWIDTH LATIN SMALL LETTER B
-FF43;F # FULLWIDTH LATIN SMALL LETTER C
-FF44;F # FULLWIDTH LATIN SMALL LETTER D
-FF45;F # FULLWIDTH LATIN SMALL LETTER E
-FF46;F # FULLWIDTH LATIN SMALL LETTER F
-FF47;F # FULLWIDTH LATIN SMALL LETTER G
-FF48;F # FULLWIDTH LATIN SMALL LETTER H
-FF49;F # FULLWIDTH LATIN SMALL LETTER I
-FF4A;F # FULLWIDTH LATIN SMALL LETTER J
-FF4B;F # FULLWIDTH LATIN SMALL LETTER K
-FF4C;F # FULLWIDTH LATIN SMALL LETTER L
-FF4D;F # FULLWIDTH LATIN SMALL LETTER M
-FF4E;F # FULLWIDTH LATIN SMALL LETTER N
-FF4F;F # FULLWIDTH LATIN SMALL LETTER O
-FF50;F # FULLWIDTH LATIN SMALL LETTER P
-FF51;F # FULLWIDTH LATIN SMALL LETTER Q
-FF52;F # FULLWIDTH LATIN SMALL LETTER R
-FF53;F # FULLWIDTH LATIN SMALL LETTER S
-FF54;F # FULLWIDTH LATIN SMALL LETTER T
-FF55;F # FULLWIDTH LATIN SMALL LETTER U
-FF56;F # FULLWIDTH LATIN SMALL LETTER V
-FF57;F # FULLWIDTH LATIN SMALL LETTER W
-FF58;F # FULLWIDTH LATIN SMALL LETTER X
-FF59;F # FULLWIDTH LATIN SMALL LETTER Y
-FF5A;F # FULLWIDTH LATIN SMALL LETTER Z
-FF5B;F # FULLWIDTH LEFT CURLY BRACKET
-FF5C;F # FULLWIDTH VERTICAL LINE
-FF5D;F # FULLWIDTH RIGHT CURLY BRACKET
-FF5E;F # FULLWIDTH TILDE
-FF5F;F # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60;F # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61;H # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62;H # HALFWIDTH LEFT CORNER BRACKET
-FF63;H # HALFWIDTH RIGHT CORNER BRACKET
-FF64;H # HALFWIDTH IDEOGRAPHIC COMMA
-FF65;H # HALFWIDTH KATAKANA MIDDLE DOT
-FF66;H # HALFWIDTH KATAKANA LETTER WO
-FF67;H # HALFWIDTH KATAKANA LETTER SMALL A
-FF68;H # HALFWIDTH KATAKANA LETTER SMALL I
-FF69;H # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A;H # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B;H # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C;H # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D;H # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E;H # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F;H # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70;H # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71;H # HALFWIDTH KATAKANA LETTER A
-FF72;H # HALFWIDTH KATAKANA LETTER I
-FF73;H # HALFWIDTH KATAKANA LETTER U
-FF74;H # HALFWIDTH KATAKANA LETTER E
-FF75;H # HALFWIDTH KATAKANA LETTER O
-FF76;H # HALFWIDTH KATAKANA LETTER KA
-FF77;H # HALFWIDTH KATAKANA LETTER KI
-FF78;H # HALFWIDTH KATAKANA LETTER KU
-FF79;H # HALFWIDTH KATAKANA LETTER KE
-FF7A;H # HALFWIDTH KATAKANA LETTER KO
-FF7B;H # HALFWIDTH KATAKANA LETTER SA
-FF7C;H # HALFWIDTH KATAKANA LETTER SI
-FF7D;H # HALFWIDTH KATAKANA LETTER SU
-FF7E;H # HALFWIDTH KATAKANA LETTER SE
-FF7F;H # HALFWIDTH KATAKANA LETTER SO
-FF80;H # HALFWIDTH KATAKANA LETTER TA
-FF81;H # HALFWIDTH KATAKANA LETTER TI
-FF82;H # HALFWIDTH KATAKANA LETTER TU
-FF83;H # HALFWIDTH KATAKANA LETTER TE
-FF84;H # HALFWIDTH KATAKANA LETTER TO
-FF85;H # HALFWIDTH KATAKANA LETTER NA
-FF86;H # HALFWIDTH KATAKANA LETTER NI
-FF87;H # HALFWIDTH KATAKANA LETTER NU
-FF88;H # HALFWIDTH KATAKANA LETTER NE
-FF89;H # HALFWIDTH KATAKANA LETTER NO
-FF8A;H # HALFWIDTH KATAKANA LETTER HA
-FF8B;H # HALFWIDTH KATAKANA LETTER HI
-FF8C;H # HALFWIDTH KATAKANA LETTER HU
-FF8D;H # HALFWIDTH KATAKANA LETTER HE
-FF8E;H # HALFWIDTH KATAKANA LETTER HO
-FF8F;H # HALFWIDTH KATAKANA LETTER MA
-FF90;H # HALFWIDTH KATAKANA LETTER MI
-FF91;H # HALFWIDTH KATAKANA LETTER MU
-FF92;H # HALFWIDTH KATAKANA LETTER ME
-FF93;H # HALFWIDTH KATAKANA LETTER MO
-FF94;H # HALFWIDTH KATAKANA LETTER YA
-FF95;H # HALFWIDTH KATAKANA LETTER YU
-FF96;H # HALFWIDTH KATAKANA LETTER YO
-FF97;H # HALFWIDTH KATAKANA LETTER RA
-FF98;H # HALFWIDTH KATAKANA LETTER RI
-FF99;H # HALFWIDTH KATAKANA LETTER RU
-FF9A;H # HALFWIDTH KATAKANA LETTER RE
-FF9B;H # HALFWIDTH KATAKANA LETTER RO
-FF9C;H # HALFWIDTH KATAKANA LETTER WA
-FF9D;H # HALFWIDTH KATAKANA LETTER N
-FF9E;H # HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F;H # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0;H # HALFWIDTH HANGUL FILLER
-FFA1;H # HALFWIDTH HANGUL LETTER KIYEOK
-FFA2;H # HALFWIDTH HANGUL LETTER SSANGKIYEOK
-FFA3;H # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
-FFA4;H # HALFWIDTH HANGUL LETTER NIEUN
-FFA5;H # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
-FFA6;H # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
-FFA7;H # HALFWIDTH HANGUL LETTER TIKEUT
-FFA8;H # HALFWIDTH HANGUL LETTER SSANGTIKEUT
-FFA9;H # HALFWIDTH HANGUL LETTER RIEUL
-FFAA;H # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
-FFAB;H # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
-FFAC;H # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
-FFAD;H # HALFWIDTH HANGUL LETTER RIEUL-SIOS
-FFAE;H # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
-FFAF;H # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
-FFB0;H # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
-FFB1;H # HALFWIDTH HANGUL LETTER MIEUM
-FFB2;H # HALFWIDTH HANGUL LETTER PIEUP
-FFB3;H # HALFWIDTH HANGUL LETTER SSANGPIEUP
-FFB4;H # HALFWIDTH HANGUL LETTER PIEUP-SIOS
-FFB5;H # HALFWIDTH HANGUL LETTER SIOS
-FFB6;H # HALFWIDTH HANGUL LETTER SSANGSIOS
-FFB7;H # HALFWIDTH HANGUL LETTER IEUNG
-FFB8;H # HALFWIDTH HANGUL LETTER CIEUC
-FFB9;H # HALFWIDTH HANGUL LETTER SSANGCIEUC
-FFBA;H # HALFWIDTH HANGUL LETTER CHIEUCH
-FFBB;H # HALFWIDTH HANGUL LETTER KHIEUKH
-FFBC;H # HALFWIDTH HANGUL LETTER THIEUTH
-FFBD;H # HALFWIDTH HANGUL LETTER PHIEUPH
-FFBE;H # HALFWIDTH HANGUL LETTER HIEUH
-FFC2;H # HALFWIDTH HANGUL LETTER A
-FFC3;H # HALFWIDTH HANGUL LETTER AE
-FFC4;H # HALFWIDTH HANGUL LETTER YA
-FFC5;H # HALFWIDTH HANGUL LETTER YAE
-FFC6;H # HALFWIDTH HANGUL LETTER EO
-FFC7;H # HALFWIDTH HANGUL LETTER E
-FFCA;H # HALFWIDTH HANGUL LETTER YEO
-FFCB;H # HALFWIDTH HANGUL LETTER YE
-FFCC;H # HALFWIDTH HANGUL LETTER O
-FFCD;H # HALFWIDTH HANGUL LETTER WA
-FFCE;H # HALFWIDTH HANGUL LETTER WAE
-FFCF;H # HALFWIDTH HANGUL LETTER OE
-FFD2;H # HALFWIDTH HANGUL LETTER YO
-FFD3;H # HALFWIDTH HANGUL LETTER U
-FFD4;H # HALFWIDTH HANGUL LETTER WEO
-FFD5;H # HALFWIDTH HANGUL LETTER WE
-FFD6;H # HALFWIDTH HANGUL LETTER WI
-FFD7;H # HALFWIDTH HANGUL LETTER YU
-FFDA;H # HALFWIDTH HANGUL LETTER EU
-FFDB;H # HALFWIDTH HANGUL LETTER YI
-FFDC;H # HALFWIDTH HANGUL LETTER I
-FFE0;F # FULLWIDTH CENT SIGN
-FFE1;F # FULLWIDTH POUND SIGN
-FFE2;F # FULLWIDTH NOT SIGN
-FFE3;F # FULLWIDTH MACRON
-FFE4;F # FULLWIDTH BROKEN BAR
-FFE5;F # FULLWIDTH YEN SIGN
-FFE6;F # FULLWIDTH WON SIGN
-FFE8;H # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9;H # HALFWIDTH LEFTWARDS ARROW
-FFEA;H # HALFWIDTH UPWARDS ARROW
-FFEB;H # HALFWIDTH RIGHTWARDS ARROW
-FFEC;H # HALFWIDTH DOWNWARDS ARROW
-FFED;H # HALFWIDTH BLACK SQUARE
-FFEE;H # HALFWIDTH WHITE CIRCLE
-FFF9;N # INTERLINEAR ANNOTATION ANCHOR
-FFFA;N # INTERLINEAR ANNOTATION SEPARATOR
-FFFB;N # INTERLINEAR ANNOTATION TERMINATOR
-FFFC;N # OBJECT REPLACEMENT CHARACTER
-FFFD;A # REPLACEMENT CHARACTER
-10000;N # LINEAR B SYLLABLE B008 A
-10001;N # LINEAR B SYLLABLE B038 E
-10002;N # LINEAR B SYLLABLE B028 I
-10003;N # LINEAR B SYLLABLE B061 O
-10004;N # LINEAR B SYLLABLE B010 U
-10005;N # LINEAR B SYLLABLE B001 DA
-10006;N # LINEAR B SYLLABLE B045 DE
-10007;N # LINEAR B SYLLABLE B007 DI
-10008;N # LINEAR B SYLLABLE B014 DO
-10009;N # LINEAR B SYLLABLE B051 DU
-1000A;N # LINEAR B SYLLABLE B057 JA
-1000B;N # LINEAR B SYLLABLE B046 JE
-1000D;N # LINEAR B SYLLABLE B036 JO
-1000E;N # LINEAR B SYLLABLE B065 JU
-1000F;N # LINEAR B SYLLABLE B077 KA
-10010;N # LINEAR B SYLLABLE B044 KE
-10011;N # LINEAR B SYLLABLE B067 KI
-10012;N # LINEAR B SYLLABLE B070 KO
-10013;N # LINEAR B SYLLABLE B081 KU
-10014;N # LINEAR B SYLLABLE B080 MA
-10015;N # LINEAR B SYLLABLE B013 ME
-10016;N # LINEAR B SYLLABLE B073 MI
-10017;N # LINEAR B SYLLABLE B015 MO
-10018;N # LINEAR B SYLLABLE B023 MU
-10019;N # LINEAR B SYLLABLE B006 NA
-1001A;N # LINEAR B SYLLABLE B024 NE
-1001B;N # LINEAR B SYLLABLE B030 NI
-1001C;N # LINEAR B SYLLABLE B052 NO
-1001D;N # LINEAR B SYLLABLE B055 NU
-1001E;N # LINEAR B SYLLABLE B003 PA
-1001F;N # LINEAR B SYLLABLE B072 PE
-10020;N # LINEAR B SYLLABLE B039 PI
-10021;N # LINEAR B SYLLABLE B011 PO
-10022;N # LINEAR B SYLLABLE B050 PU
-10023;N # LINEAR B SYLLABLE B016 QA
-10024;N # LINEAR B SYLLABLE B078 QE
-10025;N # LINEAR B SYLLABLE B021 QI
-10026;N # LINEAR B SYLLABLE B032 QO
-10028;N # LINEAR B SYLLABLE B060 RA
-10029;N # LINEAR B SYLLABLE B027 RE
-1002A;N # LINEAR B SYLLABLE B053 RI
-1002B;N # LINEAR B SYLLABLE B002 RO
-1002C;N # LINEAR B SYLLABLE B026 RU
-1002D;N # LINEAR B SYLLABLE B031 SA
-1002E;N # LINEAR B SYLLABLE B009 SE
-1002F;N # LINEAR B SYLLABLE B041 SI
-10030;N # LINEAR B SYLLABLE B012 SO
-10031;N # LINEAR B SYLLABLE B058 SU
-10032;N # LINEAR B SYLLABLE B059 TA
-10033;N # LINEAR B SYLLABLE B004 TE
-10034;N # LINEAR B SYLLABLE B037 TI
-10035;N # LINEAR B SYLLABLE B005 TO
-10036;N # LINEAR B SYLLABLE B069 TU
-10037;N # LINEAR B SYLLABLE B054 WA
-10038;N # LINEAR B SYLLABLE B075 WE
-10039;N # LINEAR B SYLLABLE B040 WI
-1003A;N # LINEAR B SYLLABLE B042 WO
-1003C;N # LINEAR B SYLLABLE B017 ZA
-1003D;N # LINEAR B SYLLABLE B074 ZE
-1003F;N # LINEAR B SYLLABLE B020 ZO
-10040;N # LINEAR B SYLLABLE B025 A2
-10041;N # LINEAR B SYLLABLE B043 A3
-10042;N # LINEAR B SYLLABLE B085 AU
-10043;N # LINEAR B SYLLABLE B071 DWE
-10044;N # LINEAR B SYLLABLE B090 DWO
-10045;N # LINEAR B SYLLABLE B048 NWA
-10046;N # LINEAR B SYLLABLE B029 PU2
-10047;N # LINEAR B SYLLABLE B062 PTE
-10048;N # LINEAR B SYLLABLE B076 RA2
-10049;N # LINEAR B SYLLABLE B033 RA3
-1004A;N # LINEAR B SYLLABLE B068 RO2
-1004B;N # LINEAR B SYLLABLE B066 TA2
-1004C;N # LINEAR B SYLLABLE B087 TWE
-1004D;N # LINEAR B SYLLABLE B091 TWO
-10050;N # LINEAR B SYMBOL B018
-10051;N # LINEAR B SYMBOL B019
-10052;N # LINEAR B SYMBOL B022
-10053;N # LINEAR B SYMBOL B034
-10054;N # LINEAR B SYMBOL B047
-10055;N # LINEAR B SYMBOL B049
-10056;N # LINEAR B SYMBOL B056
-10057;N # LINEAR B SYMBOL B063
-10058;N # LINEAR B SYMBOL B064
-10059;N # LINEAR B SYMBOL B079
-1005A;N # LINEAR B SYMBOL B082
-1005B;N # LINEAR B SYMBOL B083
-1005C;N # LINEAR B SYMBOL B086
-1005D;N # LINEAR B SYMBOL B089
-10080;N # LINEAR B IDEOGRAM B100 MAN
-10081;N # LINEAR B IDEOGRAM B102 WOMAN
-10082;N # LINEAR B IDEOGRAM B104 DEER
-10083;N # LINEAR B IDEOGRAM B105 EQUID
-10084;N # LINEAR B IDEOGRAM B105F MARE
-10085;N # LINEAR B IDEOGRAM B105M STALLION
-10086;N # LINEAR B IDEOGRAM B106F EWE
-10087;N # LINEAR B IDEOGRAM B106M RAM
-10088;N # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089;N # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A;N # LINEAR B IDEOGRAM B108F SOW
-1008B;N # LINEAR B IDEOGRAM B108M BOAR
-1008C;N # LINEAR B IDEOGRAM B109F COW
-1008D;N # LINEAR B IDEOGRAM B109M BULL
-1008E;N # LINEAR B IDEOGRAM B120 WHEAT
-1008F;N # LINEAR B IDEOGRAM B121 BARLEY
-10090;N # LINEAR B IDEOGRAM B122 OLIVE
-10091;N # LINEAR B IDEOGRAM B123 SPICE
-10092;N # LINEAR B IDEOGRAM B125 CYPERUS
-10093;N # LINEAR B MONOGRAM B127 KAPO
-10094;N # LINEAR B MONOGRAM B128 KANAKO
-10095;N # LINEAR B IDEOGRAM B130 OIL
-10096;N # LINEAR B IDEOGRAM B131 WINE
-10097;N # LINEAR B IDEOGRAM B132
-10098;N # LINEAR B MONOGRAM B133 AREPA
-10099;N # LINEAR B MONOGRAM B135 MERI
-1009A;N # LINEAR B IDEOGRAM B140 BRONZE
-1009B;N # LINEAR B IDEOGRAM B141 GOLD
-1009C;N # LINEAR B IDEOGRAM B142
-1009D;N # LINEAR B IDEOGRAM B145 WOOL
-1009E;N # LINEAR B IDEOGRAM B146
-1009F;N # LINEAR B IDEOGRAM B150
-100A0;N # LINEAR B IDEOGRAM B151 HORN
-100A1;N # LINEAR B IDEOGRAM B152
-100A2;N # LINEAR B IDEOGRAM B153
-100A3;N # LINEAR B IDEOGRAM B154
-100A4;N # LINEAR B MONOGRAM B156 TURO2
-100A5;N # LINEAR B IDEOGRAM B157
-100A6;N # LINEAR B IDEOGRAM B158
-100A7;N # LINEAR B IDEOGRAM B159 CLOTH
-100A8;N # LINEAR B IDEOGRAM B160
-100A9;N # LINEAR B IDEOGRAM B161
-100AA;N # LINEAR B IDEOGRAM B162 GARMENT
-100AB;N # LINEAR B IDEOGRAM B163 ARMOUR
-100AC;N # LINEAR B IDEOGRAM B164
-100AD;N # LINEAR B IDEOGRAM B165
-100AE;N # LINEAR B IDEOGRAM B166
-100AF;N # LINEAR B IDEOGRAM B167
-100B0;N # LINEAR B IDEOGRAM B168
-100B1;N # LINEAR B IDEOGRAM B169
-100B2;N # LINEAR B IDEOGRAM B170
-100B3;N # LINEAR B IDEOGRAM B171
-100B4;N # LINEAR B IDEOGRAM B172
-100B5;N # LINEAR B IDEOGRAM B173 MONTH
-100B6;N # LINEAR B IDEOGRAM B174
-100B7;N # LINEAR B IDEOGRAM B176 TREE
-100B8;N # LINEAR B IDEOGRAM B177
-100B9;N # LINEAR B IDEOGRAM B178
-100BA;N # LINEAR B IDEOGRAM B179
-100BB;N # LINEAR B IDEOGRAM B180
-100BC;N # LINEAR B IDEOGRAM B181
-100BD;N # LINEAR B IDEOGRAM B182
-100BE;N # LINEAR B IDEOGRAM B183
-100BF;N # LINEAR B IDEOGRAM B184
-100C0;N # LINEAR B IDEOGRAM B185
-100C1;N # LINEAR B IDEOGRAM B189
-100C2;N # LINEAR B IDEOGRAM B190
-100C3;N # LINEAR B IDEOGRAM B191 HELMET
-100C4;N # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5;N # LINEAR B IDEOGRAM B225 BATHTUB
-100C6;N # LINEAR B IDEOGRAM B230 SPEAR
-100C7;N # LINEAR B IDEOGRAM B231 ARROW
-100C8;N # LINEAR B IDEOGRAM B232
-100C9;N # LINEAR B IDEOGRAM B233 SWORD
-100CA;N # LINEAR B IDEOGRAM B234
-100CB;N # LINEAR B IDEOGRAM B236
-100CC;N # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD;N # LINEAR B IDEOGRAM B241 CHARIOT
-100CE;N # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF;N # LINEAR B IDEOGRAM B243 WHEEL
-100D0;N # LINEAR B IDEOGRAM B245
-100D1;N # LINEAR B IDEOGRAM B246
-100D2;N # LINEAR B MONOGRAM B247 DIPTE
-100D3;N # LINEAR B IDEOGRAM B248
-100D4;N # LINEAR B IDEOGRAM B249
-100D5;N # LINEAR B IDEOGRAM B251
-100D6;N # LINEAR B IDEOGRAM B252
-100D7;N # LINEAR B IDEOGRAM B253
-100D8;N # LINEAR B IDEOGRAM B254 DART
-100D9;N # LINEAR B IDEOGRAM B255
-100DA;N # LINEAR B IDEOGRAM B256
-100DB;N # LINEAR B IDEOGRAM B257
-100DC;N # LINEAR B IDEOGRAM B258
-100DD;N # LINEAR B IDEOGRAM B259
-100DE;N # LINEAR B IDEOGRAM VESSEL B155
-100DF;N # LINEAR B IDEOGRAM VESSEL B200
-100E0;N # LINEAR B IDEOGRAM VESSEL B201
-100E1;N # LINEAR B IDEOGRAM VESSEL B202
-100E2;N # LINEAR B IDEOGRAM VESSEL B203
-100E3;N # LINEAR B IDEOGRAM VESSEL B204
-100E4;N # LINEAR B IDEOGRAM VESSEL B205
-100E5;N # LINEAR B IDEOGRAM VESSEL B206
-100E6;N # LINEAR B IDEOGRAM VESSEL B207
-100E7;N # LINEAR B IDEOGRAM VESSEL B208
-100E8;N # LINEAR B IDEOGRAM VESSEL B209
-100E9;N # LINEAR B IDEOGRAM VESSEL B210
-100EA;N # LINEAR B IDEOGRAM VESSEL B211
-100EB;N # LINEAR B IDEOGRAM VESSEL B212
-100EC;N # LINEAR B IDEOGRAM VESSEL B213
-100ED;N # LINEAR B IDEOGRAM VESSEL B214
-100EE;N # LINEAR B IDEOGRAM VESSEL B215
-100EF;N # LINEAR B IDEOGRAM VESSEL B216
-100F0;N # LINEAR B IDEOGRAM VESSEL B217
-100F1;N # LINEAR B IDEOGRAM VESSEL B218
-100F2;N # LINEAR B IDEOGRAM VESSEL B219
-100F3;N # LINEAR B IDEOGRAM VESSEL B221
-100F4;N # LINEAR B IDEOGRAM VESSEL B222
-100F5;N # LINEAR B IDEOGRAM VESSEL B226
-100F6;N # LINEAR B IDEOGRAM VESSEL B227
-100F7;N # LINEAR B IDEOGRAM VESSEL B228
-100F8;N # LINEAR B IDEOGRAM VESSEL B229
-100F9;N # LINEAR B IDEOGRAM VESSEL B250
-100FA;N # LINEAR B IDEOGRAM VESSEL B305
-10100;N # AEGEAN WORD SEPARATOR LINE
-10101;N # AEGEAN WORD SEPARATOR DOT
-10102;N # AEGEAN CHECK MARK
-10107;N # AEGEAN NUMBER ONE
-10108;N # AEGEAN NUMBER TWO
-10109;N # AEGEAN NUMBER THREE
-1010A;N # AEGEAN NUMBER FOUR
-1010B;N # AEGEAN NUMBER FIVE
-1010C;N # AEGEAN NUMBER SIX
-1010D;N # AEGEAN NUMBER SEVEN
-1010E;N # AEGEAN NUMBER EIGHT
-1010F;N # AEGEAN NUMBER NINE
-10110;N # AEGEAN NUMBER TEN
-10111;N # AEGEAN NUMBER TWENTY
-10112;N # AEGEAN NUMBER THIRTY
-10113;N # AEGEAN NUMBER FORTY
-10114;N # AEGEAN NUMBER FIFTY
-10115;N # AEGEAN NUMBER SIXTY
-10116;N # AEGEAN NUMBER SEVENTY
-10117;N # AEGEAN NUMBER EIGHTY
-10118;N # AEGEAN NUMBER NINETY
-10119;N # AEGEAN NUMBER ONE HUNDRED
-1011A;N # AEGEAN NUMBER TWO HUNDRED
-1011B;N # AEGEAN NUMBER THREE HUNDRED
-1011C;N # AEGEAN NUMBER FOUR HUNDRED
-1011D;N # AEGEAN NUMBER FIVE HUNDRED
-1011E;N # AEGEAN NUMBER SIX HUNDRED
-1011F;N # AEGEAN NUMBER SEVEN HUNDRED
-10120;N # AEGEAN NUMBER EIGHT HUNDRED
-10121;N # AEGEAN NUMBER NINE HUNDRED
-10122;N # AEGEAN NUMBER ONE THOUSAND
-10123;N # AEGEAN NUMBER TWO THOUSAND
-10124;N # AEGEAN NUMBER THREE THOUSAND
-10125;N # AEGEAN NUMBER FOUR THOUSAND
-10126;N # AEGEAN NUMBER FIVE THOUSAND
-10127;N # AEGEAN NUMBER SIX THOUSAND
-10128;N # AEGEAN NUMBER SEVEN THOUSAND
-10129;N # AEGEAN NUMBER EIGHT THOUSAND
-1012A;N # AEGEAN NUMBER NINE THOUSAND
-1012B;N # AEGEAN NUMBER TEN THOUSAND
-1012C;N # AEGEAN NUMBER TWENTY THOUSAND
-1012D;N # AEGEAN NUMBER THIRTY THOUSAND
-1012E;N # AEGEAN NUMBER FORTY THOUSAND
-1012F;N # AEGEAN NUMBER FIFTY THOUSAND
-10130;N # AEGEAN NUMBER SIXTY THOUSAND
-10131;N # AEGEAN NUMBER SEVENTY THOUSAND
-10132;N # AEGEAN NUMBER EIGHTY THOUSAND
-10133;N # AEGEAN NUMBER NINETY THOUSAND
-10137;N # AEGEAN WEIGHT BASE UNIT
-10138;N # AEGEAN WEIGHT FIRST SUBUNIT
-10139;N # AEGEAN WEIGHT SECOND SUBUNIT
-1013A;N # AEGEAN WEIGHT THIRD SUBUNIT
-1013B;N # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C;N # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D;N # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E;N # AEGEAN MEASURE SECOND SUBUNIT
-1013F;N # AEGEAN MEASURE THIRD SUBUNIT
-10140;N # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141;N # GREEK ACROPHONIC ATTIC ONE HALF
-10142;N # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10143;N # GREEK ACROPHONIC ATTIC FIVE
-10144;N # GREEK ACROPHONIC ATTIC FIFTY
-10145;N # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146;N # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147;N # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10148;N # GREEK ACROPHONIC ATTIC FIVE TALENTS
-10149;N # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A;N # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B;N # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C;N # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D;N # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E;N # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-1014F;N # GREEK ACROPHONIC ATTIC FIVE STATERS
-10150;N # GREEK ACROPHONIC ATTIC TEN STATERS
-10151;N # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152;N # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153;N # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154;N # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155;N # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156;N # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157;N # GREEK ACROPHONIC ATTIC TEN MNAS
-10158;N # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159;N # GREEK ACROPHONIC THESPIAN ONE
-1015A;N # GREEK ACROPHONIC HERMIONIAN ONE
-1015B;N # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C;N # GREEK ACROPHONIC THESPIAN TWO
-1015D;N # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E;N # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-1015F;N # GREEK ACROPHONIC TROEZENIAN FIVE
-10160;N # GREEK ACROPHONIC TROEZENIAN TEN
-10161;N # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162;N # GREEK ACROPHONIC HERMIONIAN TEN
-10163;N # GREEK ACROPHONIC MESSENIAN TEN
-10164;N # GREEK ACROPHONIC THESPIAN TEN
-10165;N # GREEK ACROPHONIC THESPIAN THIRTY
-10166;N # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167;N # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168;N # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169;N # GREEK ACROPHONIC THESPIAN FIFTY
-1016A;N # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B;N # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C;N # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D;N # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E;N # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F;N # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170;N # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171;N # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172;N # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10173;N # GREEK ACROPHONIC DELPHIC FIVE MNAS
-10174;N # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175;N # GREEK ONE HALF SIGN
-10176;N # GREEK ONE HALF SIGN ALTERNATE FORM
-10177;N # GREEK TWO THIRDS SIGN
-10178;N # GREEK THREE QUARTERS SIGN
-10179;N # GREEK YEAR SIGN
-1017A;N # GREEK TALENT SIGN
-1017B;N # GREEK DRACHMA SIGN
-1017C;N # GREEK OBOL SIGN
-1017D;N # GREEK TWO OBOLS SIGN
-1017E;N # GREEK THREE OBOLS SIGN
-1017F;N # GREEK FOUR OBOLS SIGN
-10180;N # GREEK FIVE OBOLS SIGN
-10181;N # GREEK METRETES SIGN
-10182;N # GREEK KYATHOS BASE SIGN
-10183;N # GREEK LITRA SIGN
-10184;N # GREEK OUNKIA SIGN
-10185;N # GREEK XESTES SIGN
-10186;N # GREEK ARTABE SIGN
-10187;N # GREEK AROURA SIGN
-10188;N # GREEK GRAMMA SIGN
-10189;N # GREEK TRYBLION BASE SIGN
-1018A;N # GREEK ZERO SIGN
-10190;N # ROMAN SEXTANS SIGN
-10191;N # ROMAN UNCIA SIGN
-10192;N # ROMAN SEMUNCIA SIGN
-10193;N # ROMAN SEXTULA SIGN
-10194;N # ROMAN DIMIDIA SEXTULA SIGN
-10195;N # ROMAN SILIQUA SIGN
-10196;N # ROMAN DENARIUS SIGN
-10197;N # ROMAN QUINARIUS SIGN
-10198;N # ROMAN SESTERTIUS SIGN
-10199;N # ROMAN DUPONDIUS SIGN
-1019A;N # ROMAN AS SIGN
-1019B;N # ROMAN CENTURIAL SIGN
-101D0;N # PHAISTOS DISC SIGN PEDESTRIAN
-101D1;N # PHAISTOS DISC SIGN PLUMED HEAD
-101D2;N # PHAISTOS DISC SIGN TATTOOED HEAD
-101D3;N # PHAISTOS DISC SIGN CAPTIVE
-101D4;N # PHAISTOS DISC SIGN CHILD
-101D5;N # PHAISTOS DISC SIGN WOMAN
-101D6;N # PHAISTOS DISC SIGN HELMET
-101D7;N # PHAISTOS DISC SIGN GAUNTLET
-101D8;N # PHAISTOS DISC SIGN TIARA
-101D9;N # PHAISTOS DISC SIGN ARROW
-101DA;N # PHAISTOS DISC SIGN BOW
-101DB;N # PHAISTOS DISC SIGN SHIELD
-101DC;N # PHAISTOS DISC SIGN CLUB
-101DD;N # PHAISTOS DISC SIGN MANACLES
-101DE;N # PHAISTOS DISC SIGN MATTOCK
-101DF;N # PHAISTOS DISC SIGN SAW
-101E0;N # PHAISTOS DISC SIGN LID
-101E1;N # PHAISTOS DISC SIGN BOOMERANG
-101E2;N # PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3;N # PHAISTOS DISC SIGN DOLIUM
-101E4;N # PHAISTOS DISC SIGN COMB
-101E5;N # PHAISTOS DISC SIGN SLING
-101E6;N # PHAISTOS DISC SIGN COLUMN
-101E7;N # PHAISTOS DISC SIGN BEEHIVE
-101E8;N # PHAISTOS DISC SIGN SHIP
-101E9;N # PHAISTOS DISC SIGN HORN
-101EA;N # PHAISTOS DISC SIGN HIDE
-101EB;N # PHAISTOS DISC SIGN BULLS LEG
-101EC;N # PHAISTOS DISC SIGN CAT
-101ED;N # PHAISTOS DISC SIGN RAM
-101EE;N # PHAISTOS DISC SIGN EAGLE
-101EF;N # PHAISTOS DISC SIGN DOVE
-101F0;N # PHAISTOS DISC SIGN TUNNY
-101F1;N # PHAISTOS DISC SIGN BEE
-101F2;N # PHAISTOS DISC SIGN PLANE TREE
-101F3;N # PHAISTOS DISC SIGN VINE
-101F4;N # PHAISTOS DISC SIGN PAPYRUS
-101F5;N # PHAISTOS DISC SIGN ROSETTE
-101F6;N # PHAISTOS DISC SIGN LILY
-101F7;N # PHAISTOS DISC SIGN OX BACK
-101F8;N # PHAISTOS DISC SIGN FLUTE
-101F9;N # PHAISTOS DISC SIGN GRATER
-101FA;N # PHAISTOS DISC SIGN STRAINER
-101FB;N # PHAISTOS DISC SIGN SMALL AXE
-101FC;N # PHAISTOS DISC SIGN WAVY BAND
-101FD;N # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280;N # LYCIAN LETTER A
-10281;N # LYCIAN LETTER E
-10282;N # LYCIAN LETTER B
-10283;N # LYCIAN LETTER BH
-10284;N # LYCIAN LETTER G
-10285;N # LYCIAN LETTER D
-10286;N # LYCIAN LETTER I
-10287;N # LYCIAN LETTER W
-10288;N # LYCIAN LETTER Z
-10289;N # LYCIAN LETTER TH
-1028A;N # LYCIAN LETTER J
-1028B;N # LYCIAN LETTER K
-1028C;N # LYCIAN LETTER Q
-1028D;N # LYCIAN LETTER L
-1028E;N # LYCIAN LETTER M
-1028F;N # LYCIAN LETTER N
-10290;N # LYCIAN LETTER MM
-10291;N # LYCIAN LETTER NN
-10292;N # LYCIAN LETTER U
-10293;N # LYCIAN LETTER P
-10294;N # LYCIAN LETTER KK
-10295;N # LYCIAN LETTER R
-10296;N # LYCIAN LETTER S
-10297;N # LYCIAN LETTER T
-10298;N # LYCIAN LETTER TT
-10299;N # LYCIAN LETTER AN
-1029A;N # LYCIAN LETTER EN
-1029B;N # LYCIAN LETTER H
-1029C;N # LYCIAN LETTER X
-102A0;N # CARIAN LETTER A
-102A1;N # CARIAN LETTER P2
-102A2;N # CARIAN LETTER D
-102A3;N # CARIAN LETTER L
-102A4;N # CARIAN LETTER UUU
-102A5;N # CARIAN LETTER R
-102A6;N # CARIAN LETTER LD
-102A7;N # CARIAN LETTER A2
-102A8;N # CARIAN LETTER Q
-102A9;N # CARIAN LETTER B
-102AA;N # CARIAN LETTER M
-102AB;N # CARIAN LETTER O
-102AC;N # CARIAN LETTER D2
-102AD;N # CARIAN LETTER T
-102AE;N # CARIAN LETTER SH
-102AF;N # CARIAN LETTER SH2
-102B0;N # CARIAN LETTER S
-102B1;N # CARIAN LETTER C-18
-102B2;N # CARIAN LETTER U
-102B3;N # CARIAN LETTER NN
-102B4;N # CARIAN LETTER X
-102B5;N # CARIAN LETTER N
-102B6;N # CARIAN LETTER TT2
-102B7;N # CARIAN LETTER P
-102B8;N # CARIAN LETTER SS
-102B9;N # CARIAN LETTER I
-102BA;N # CARIAN LETTER E
-102BB;N # CARIAN LETTER UUUU
-102BC;N # CARIAN LETTER K
-102BD;N # CARIAN LETTER K2
-102BE;N # CARIAN LETTER ND
-102BF;N # CARIAN LETTER UU
-102C0;N # CARIAN LETTER G
-102C1;N # CARIAN LETTER G2
-102C2;N # CARIAN LETTER ST
-102C3;N # CARIAN LETTER ST2
-102C4;N # CARIAN LETTER NG
-102C5;N # CARIAN LETTER II
-102C6;N # CARIAN LETTER C-39
-102C7;N # CARIAN LETTER TT
-102C8;N # CARIAN LETTER UUU2
-102C9;N # CARIAN LETTER RR
-102CA;N # CARIAN LETTER MB
-102CB;N # CARIAN LETTER MB2
-102CC;N # CARIAN LETTER MB3
-102CD;N # CARIAN LETTER MB4
-102CE;N # CARIAN LETTER LD2
-102CF;N # CARIAN LETTER E2
-102D0;N # CARIAN LETTER UUU3
-10300;N # OLD ITALIC LETTER A
-10301;N # OLD ITALIC LETTER BE
-10302;N # OLD ITALIC LETTER KE
-10303;N # OLD ITALIC LETTER DE
-10304;N # OLD ITALIC LETTER E
-10305;N # OLD ITALIC LETTER VE
-10306;N # OLD ITALIC LETTER ZE
-10307;N # OLD ITALIC LETTER HE
-10308;N # OLD ITALIC LETTER THE
-10309;N # OLD ITALIC LETTER I
-1030A;N # OLD ITALIC LETTER KA
-1030B;N # OLD ITALIC LETTER EL
-1030C;N # OLD ITALIC LETTER EM
-1030D;N # OLD ITALIC LETTER EN
-1030E;N # OLD ITALIC LETTER ESH
-1030F;N # OLD ITALIC LETTER O
-10310;N # OLD ITALIC LETTER PE
-10311;N # OLD ITALIC LETTER SHE
-10312;N # OLD ITALIC LETTER KU
-10313;N # OLD ITALIC LETTER ER
-10314;N # OLD ITALIC LETTER ES
-10315;N # OLD ITALIC LETTER TE
-10316;N # OLD ITALIC LETTER U
-10317;N # OLD ITALIC LETTER EKS
-10318;N # OLD ITALIC LETTER PHE
-10319;N # OLD ITALIC LETTER KHE
-1031A;N # OLD ITALIC LETTER EF
-1031B;N # OLD ITALIC LETTER ERS
-1031C;N # OLD ITALIC LETTER CHE
-1031D;N # OLD ITALIC LETTER II
-1031E;N # OLD ITALIC LETTER UU
-10320;N # OLD ITALIC NUMERAL ONE
-10321;N # OLD ITALIC NUMERAL FIVE
-10322;N # OLD ITALIC NUMERAL TEN
-10323;N # OLD ITALIC NUMERAL FIFTY
-10330;N # GOTHIC LETTER AHSA
-10331;N # GOTHIC LETTER BAIRKAN
-10332;N # GOTHIC LETTER GIBA
-10333;N # GOTHIC LETTER DAGS
-10334;N # GOTHIC LETTER AIHVUS
-10335;N # GOTHIC LETTER QAIRTHRA
-10336;N # GOTHIC LETTER IUJA
-10337;N # GOTHIC LETTER HAGL
-10338;N # GOTHIC LETTER THIUTH
-10339;N # GOTHIC LETTER EIS
-1033A;N # GOTHIC LETTER KUSMA
-1033B;N # GOTHIC LETTER LAGUS
-1033C;N # GOTHIC LETTER MANNA
-1033D;N # GOTHIC LETTER NAUTHS
-1033E;N # GOTHIC LETTER JER
-1033F;N # GOTHIC LETTER URUS
-10340;N # GOTHIC LETTER PAIRTHRA
-10341;N # GOTHIC LETTER NINETY
-10342;N # GOTHIC LETTER RAIDA
-10343;N # GOTHIC LETTER SAUIL
-10344;N # GOTHIC LETTER TEIWS
-10345;N # GOTHIC LETTER WINJA
-10346;N # GOTHIC LETTER FAIHU
-10347;N # GOTHIC LETTER IGGWS
-10348;N # GOTHIC LETTER HWAIR
-10349;N # GOTHIC LETTER OTHAL
-1034A;N # GOTHIC LETTER NINE HUNDRED
-10380;N # UGARITIC LETTER ALPA
-10381;N # UGARITIC LETTER BETA
-10382;N # UGARITIC LETTER GAMLA
-10383;N # UGARITIC LETTER KHA
-10384;N # UGARITIC LETTER DELTA
-10385;N # UGARITIC LETTER HO
-10386;N # UGARITIC LETTER WO
-10387;N # UGARITIC LETTER ZETA
-10388;N # UGARITIC LETTER HOTA
-10389;N # UGARITIC LETTER TET
-1038A;N # UGARITIC LETTER YOD
-1038B;N # UGARITIC LETTER KAF
-1038C;N # UGARITIC LETTER SHIN
-1038D;N # UGARITIC LETTER LAMDA
-1038E;N # UGARITIC LETTER MEM
-1038F;N # UGARITIC LETTER DHAL
-10390;N # UGARITIC LETTER NUN
-10391;N # UGARITIC LETTER ZU
-10392;N # UGARITIC LETTER SAMKA
-10393;N # UGARITIC LETTER AIN
-10394;N # UGARITIC LETTER PU
-10395;N # UGARITIC LETTER SADE
-10396;N # UGARITIC LETTER QOPA
-10397;N # UGARITIC LETTER RASHA
-10398;N # UGARITIC LETTER THANNA
-10399;N # UGARITIC LETTER GHAIN
-1039A;N # UGARITIC LETTER TO
-1039B;N # UGARITIC LETTER I
-1039C;N # UGARITIC LETTER U
-1039D;N # UGARITIC LETTER SSU
-1039F;N # UGARITIC WORD DIVIDER
-103A0;N # OLD PERSIAN SIGN A
-103A1;N # OLD PERSIAN SIGN I
-103A2;N # OLD PERSIAN SIGN U
-103A3;N # OLD PERSIAN SIGN KA
-103A4;N # OLD PERSIAN SIGN KU
-103A5;N # OLD PERSIAN SIGN GA
-103A6;N # OLD PERSIAN SIGN GU
-103A7;N # OLD PERSIAN SIGN XA
-103A8;N # OLD PERSIAN SIGN CA
-103A9;N # OLD PERSIAN SIGN JA
-103AA;N # OLD PERSIAN SIGN JI
-103AB;N # OLD PERSIAN SIGN TA
-103AC;N # OLD PERSIAN SIGN TU
-103AD;N # OLD PERSIAN SIGN DA
-103AE;N # OLD PERSIAN SIGN DI
-103AF;N # OLD PERSIAN SIGN DU
-103B0;N # OLD PERSIAN SIGN THA
-103B1;N # OLD PERSIAN SIGN PA
-103B2;N # OLD PERSIAN SIGN BA
-103B3;N # OLD PERSIAN SIGN FA
-103B4;N # OLD PERSIAN SIGN NA
-103B5;N # OLD PERSIAN SIGN NU
-103B6;N # OLD PERSIAN SIGN MA
-103B7;N # OLD PERSIAN SIGN MI
-103B8;N # OLD PERSIAN SIGN MU
-103B9;N # OLD PERSIAN SIGN YA
-103BA;N # OLD PERSIAN SIGN VA
-103BB;N # OLD PERSIAN SIGN VI
-103BC;N # OLD PERSIAN SIGN RA
-103BD;N # OLD PERSIAN SIGN RU
-103BE;N # OLD PERSIAN SIGN LA
-103BF;N # OLD PERSIAN SIGN SA
-103C0;N # OLD PERSIAN SIGN ZA
-103C1;N # OLD PERSIAN SIGN SHA
-103C2;N # OLD PERSIAN SIGN SSA
-103C3;N # OLD PERSIAN SIGN HA
-103C8;N # OLD PERSIAN SIGN AURAMAZDAA
-103C9;N # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA;N # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB;N # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC;N # OLD PERSIAN SIGN DAHYAAUSH
-103CD;N # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE;N # OLD PERSIAN SIGN BAGA
-103CF;N # OLD PERSIAN SIGN BUUMISH
-103D0;N # OLD PERSIAN WORD DIVIDER
-103D1;N # OLD PERSIAN NUMBER ONE
-103D2;N # OLD PERSIAN NUMBER TWO
-103D3;N # OLD PERSIAN NUMBER TEN
-103D4;N # OLD PERSIAN NUMBER TWENTY
-103D5;N # OLD PERSIAN NUMBER HUNDRED
-10400;N # DESERET CAPITAL LETTER LONG I
-10401;N # DESERET CAPITAL LETTER LONG E
-10402;N # DESERET CAPITAL LETTER LONG A
-10403;N # DESERET CAPITAL LETTER LONG AH
-10404;N # DESERET CAPITAL LETTER LONG O
-10405;N # DESERET CAPITAL LETTER LONG OO
-10406;N # DESERET CAPITAL LETTER SHORT I
-10407;N # DESERET CAPITAL LETTER SHORT E
-10408;N # DESERET CAPITAL LETTER SHORT A
-10409;N # DESERET CAPITAL LETTER SHORT AH
-1040A;N # DESERET CAPITAL LETTER SHORT O
-1040B;N # DESERET CAPITAL LETTER SHORT OO
-1040C;N # DESERET CAPITAL LETTER AY
-1040D;N # DESERET CAPITAL LETTER OW
-1040E;N # DESERET CAPITAL LETTER WU
-1040F;N # DESERET CAPITAL LETTER YEE
-10410;N # DESERET CAPITAL LETTER H
-10411;N # DESERET CAPITAL LETTER PEE
-10412;N # DESERET CAPITAL LETTER BEE
-10413;N # DESERET CAPITAL LETTER TEE
-10414;N # DESERET CAPITAL LETTER DEE
-10415;N # DESERET CAPITAL LETTER CHEE
-10416;N # DESERET CAPITAL LETTER JEE
-10417;N # DESERET CAPITAL LETTER KAY
-10418;N # DESERET CAPITAL LETTER GAY
-10419;N # DESERET CAPITAL LETTER EF
-1041A;N # DESERET CAPITAL LETTER VEE
-1041B;N # DESERET CAPITAL LETTER ETH
-1041C;N # DESERET CAPITAL LETTER THEE
-1041D;N # DESERET CAPITAL LETTER ES
-1041E;N # DESERET CAPITAL LETTER ZEE
-1041F;N # DESERET CAPITAL LETTER ESH
-10420;N # DESERET CAPITAL LETTER ZHEE
-10421;N # DESERET CAPITAL LETTER ER
-10422;N # DESERET CAPITAL LETTER EL
-10423;N # DESERET CAPITAL LETTER EM
-10424;N # DESERET CAPITAL LETTER EN
-10425;N # DESERET CAPITAL LETTER ENG
-10426;N # DESERET CAPITAL LETTER OI
-10427;N # DESERET CAPITAL LETTER EW
-10428;N # DESERET SMALL LETTER LONG I
-10429;N # DESERET SMALL LETTER LONG E
-1042A;N # DESERET SMALL LETTER LONG A
-1042B;N # DESERET SMALL LETTER LONG AH
-1042C;N # DESERET SMALL LETTER LONG O
-1042D;N # DESERET SMALL LETTER LONG OO
-1042E;N # DESERET SMALL LETTER SHORT I
-1042F;N # DESERET SMALL LETTER SHORT E
-10430;N # DESERET SMALL LETTER SHORT A
-10431;N # DESERET SMALL LETTER SHORT AH
-10432;N # DESERET SMALL LETTER SHORT O
-10433;N # DESERET SMALL LETTER SHORT OO
-10434;N # DESERET SMALL LETTER AY
-10435;N # DESERET SMALL LETTER OW
-10436;N # DESERET SMALL LETTER WU
-10437;N # DESERET SMALL LETTER YEE
-10438;N # DESERET SMALL LETTER H
-10439;N # DESERET SMALL LETTER PEE
-1043A;N # DESERET SMALL LETTER BEE
-1043B;N # DESERET SMALL LETTER TEE
-1043C;N # DESERET SMALL LETTER DEE
-1043D;N # DESERET SMALL LETTER CHEE
-1043E;N # DESERET SMALL LETTER JEE
-1043F;N # DESERET SMALL LETTER KAY
-10440;N # DESERET SMALL LETTER GAY
-10441;N # DESERET SMALL LETTER EF
-10442;N # DESERET SMALL LETTER VEE
-10443;N # DESERET SMALL LETTER ETH
-10444;N # DESERET SMALL LETTER THEE
-10445;N # DESERET SMALL LETTER ES
-10446;N # DESERET SMALL LETTER ZEE
-10447;N # DESERET SMALL LETTER ESH
-10448;N # DESERET SMALL LETTER ZHEE
-10449;N # DESERET SMALL LETTER ER
-1044A;N # DESERET SMALL LETTER EL
-1044B;N # DESERET SMALL LETTER EM
-1044C;N # DESERET SMALL LETTER EN
-1044D;N # DESERET SMALL LETTER ENG
-1044E;N # DESERET SMALL LETTER OI
-1044F;N # DESERET SMALL LETTER EW
-10450;N # SHAVIAN LETTER PEEP
-10451;N # SHAVIAN LETTER TOT
-10452;N # SHAVIAN LETTER KICK
-10453;N # SHAVIAN LETTER FEE
-10454;N # SHAVIAN LETTER THIGH
-10455;N # SHAVIAN LETTER SO
-10456;N # SHAVIAN LETTER SURE
-10457;N # SHAVIAN LETTER CHURCH
-10458;N # SHAVIAN LETTER YEA
-10459;N # SHAVIAN LETTER HUNG
-1045A;N # SHAVIAN LETTER BIB
-1045B;N # SHAVIAN LETTER DEAD
-1045C;N # SHAVIAN LETTER GAG
-1045D;N # SHAVIAN LETTER VOW
-1045E;N # SHAVIAN LETTER THEY
-1045F;N # SHAVIAN LETTER ZOO
-10460;N # SHAVIAN LETTER MEASURE
-10461;N # SHAVIAN LETTER JUDGE
-10462;N # SHAVIAN LETTER WOE
-10463;N # SHAVIAN LETTER HA-HA
-10464;N # SHAVIAN LETTER LOLL
-10465;N # SHAVIAN LETTER MIME
-10466;N # SHAVIAN LETTER IF
-10467;N # SHAVIAN LETTER EGG
-10468;N # SHAVIAN LETTER ASH
-10469;N # SHAVIAN LETTER ADO
-1046A;N # SHAVIAN LETTER ON
-1046B;N # SHAVIAN LETTER WOOL
-1046C;N # SHAVIAN LETTER OUT
-1046D;N # SHAVIAN LETTER AH
-1046E;N # SHAVIAN LETTER ROAR
-1046F;N # SHAVIAN LETTER NUN
-10470;N # SHAVIAN LETTER EAT
-10471;N # SHAVIAN LETTER AGE
-10472;N # SHAVIAN LETTER ICE
-10473;N # SHAVIAN LETTER UP
-10474;N # SHAVIAN LETTER OAK
-10475;N # SHAVIAN LETTER OOZE
-10476;N # SHAVIAN LETTER OIL
-10477;N # SHAVIAN LETTER AWE
-10478;N # SHAVIAN LETTER ARE
-10479;N # SHAVIAN LETTER OR
-1047A;N # SHAVIAN LETTER AIR
-1047B;N # SHAVIAN LETTER ERR
-1047C;N # SHAVIAN LETTER ARRAY
-1047D;N # SHAVIAN LETTER EAR
-1047E;N # SHAVIAN LETTER IAN
-1047F;N # SHAVIAN LETTER YEW
-10480;N # OSMANYA LETTER ALEF
-10481;N # OSMANYA LETTER BA
-10482;N # OSMANYA LETTER TA
-10483;N # OSMANYA LETTER JA
-10484;N # OSMANYA LETTER XA
-10485;N # OSMANYA LETTER KHA
-10486;N # OSMANYA LETTER DEEL
-10487;N # OSMANYA LETTER RA
-10488;N # OSMANYA LETTER SA
-10489;N # OSMANYA LETTER SHIIN
-1048A;N # OSMANYA LETTER DHA
-1048B;N # OSMANYA LETTER CAYN
-1048C;N # OSMANYA LETTER GA
-1048D;N # OSMANYA LETTER FA
-1048E;N # OSMANYA LETTER QAAF
-1048F;N # OSMANYA LETTER KAAF
-10490;N # OSMANYA LETTER LAAN
-10491;N # OSMANYA LETTER MIIN
-10492;N # OSMANYA LETTER NUUN
-10493;N # OSMANYA LETTER WAW
-10494;N # OSMANYA LETTER HA
-10495;N # OSMANYA LETTER YA
-10496;N # OSMANYA LETTER A
-10497;N # OSMANYA LETTER E
-10498;N # OSMANYA LETTER I
-10499;N # OSMANYA LETTER O
-1049A;N # OSMANYA LETTER U
-1049B;N # OSMANYA LETTER AA
-1049C;N # OSMANYA LETTER EE
-1049D;N # OSMANYA LETTER OO
-104A0;N # OSMANYA DIGIT ZERO
-104A1;N # OSMANYA DIGIT ONE
-104A2;N # OSMANYA DIGIT TWO
-104A3;N # OSMANYA DIGIT THREE
-104A4;N # OSMANYA DIGIT FOUR
-104A5;N # OSMANYA DIGIT FIVE
-104A6;N # OSMANYA DIGIT SIX
-104A7;N # OSMANYA DIGIT SEVEN
-104A8;N # OSMANYA DIGIT EIGHT
-104A9;N # OSMANYA DIGIT NINE
-10800;N # CYPRIOT SYLLABLE A
-10801;N # CYPRIOT SYLLABLE E
-10802;N # CYPRIOT SYLLABLE I
-10803;N # CYPRIOT SYLLABLE O
-10804;N # CYPRIOT SYLLABLE U
-10805;N # CYPRIOT SYLLABLE JA
-10808;N # CYPRIOT SYLLABLE JO
-1080A;N # CYPRIOT SYLLABLE KA
-1080B;N # CYPRIOT SYLLABLE KE
-1080C;N # CYPRIOT SYLLABLE KI
-1080D;N # CYPRIOT SYLLABLE KO
-1080E;N # CYPRIOT SYLLABLE KU
-1080F;N # CYPRIOT SYLLABLE LA
-10810;N # CYPRIOT SYLLABLE LE
-10811;N # CYPRIOT SYLLABLE LI
-10812;N # CYPRIOT SYLLABLE LO
-10813;N # CYPRIOT SYLLABLE LU
-10814;N # CYPRIOT SYLLABLE MA
-10815;N # CYPRIOT SYLLABLE ME
-10816;N # CYPRIOT SYLLABLE MI
-10817;N # CYPRIOT SYLLABLE MO
-10818;N # CYPRIOT SYLLABLE MU
-10819;N # CYPRIOT SYLLABLE NA
-1081A;N # CYPRIOT SYLLABLE NE
-1081B;N # CYPRIOT SYLLABLE NI
-1081C;N # CYPRIOT SYLLABLE NO
-1081D;N # CYPRIOT SYLLABLE NU
-1081E;N # CYPRIOT SYLLABLE PA
-1081F;N # CYPRIOT SYLLABLE PE
-10820;N # CYPRIOT SYLLABLE PI
-10821;N # CYPRIOT SYLLABLE PO
-10822;N # CYPRIOT SYLLABLE PU
-10823;N # CYPRIOT SYLLABLE RA
-10824;N # CYPRIOT SYLLABLE RE
-10825;N # CYPRIOT SYLLABLE RI
-10826;N # CYPRIOT SYLLABLE RO
-10827;N # CYPRIOT SYLLABLE RU
-10828;N # CYPRIOT SYLLABLE SA
-10829;N # CYPRIOT SYLLABLE SE
-1082A;N # CYPRIOT SYLLABLE SI
-1082B;N # CYPRIOT SYLLABLE SO
-1082C;N # CYPRIOT SYLLABLE SU
-1082D;N # CYPRIOT SYLLABLE TA
-1082E;N # CYPRIOT SYLLABLE TE
-1082F;N # CYPRIOT SYLLABLE TI
-10830;N # CYPRIOT SYLLABLE TO
-10831;N # CYPRIOT SYLLABLE TU
-10832;N # CYPRIOT SYLLABLE WA
-10833;N # CYPRIOT SYLLABLE WE
-10834;N # CYPRIOT SYLLABLE WI
-10835;N # CYPRIOT SYLLABLE WO
-10837;N # CYPRIOT SYLLABLE XA
-10838;N # CYPRIOT SYLLABLE XE
-1083C;N # CYPRIOT SYLLABLE ZA
-1083F;N # CYPRIOT SYLLABLE ZO
-10840;N # IMPERIAL ARAMAIC LETTER ALEPH
-10841;N # IMPERIAL ARAMAIC LETTER BETH
-10842;N # IMPERIAL ARAMAIC LETTER GIMEL
-10843;N # IMPERIAL ARAMAIC LETTER DALETH
-10844;N # IMPERIAL ARAMAIC LETTER HE
-10845;N # IMPERIAL ARAMAIC LETTER WAW
-10846;N # IMPERIAL ARAMAIC LETTER ZAYIN
-10847;N # IMPERIAL ARAMAIC LETTER HETH
-10848;N # IMPERIAL ARAMAIC LETTER TETH
-10849;N # IMPERIAL ARAMAIC LETTER YODH
-1084A;N # IMPERIAL ARAMAIC LETTER KAPH
-1084B;N # IMPERIAL ARAMAIC LETTER LAMEDH
-1084C;N # IMPERIAL ARAMAIC LETTER MEM
-1084D;N # IMPERIAL ARAMAIC LETTER NUN
-1084E;N # IMPERIAL ARAMAIC LETTER SAMEKH
-1084F;N # IMPERIAL ARAMAIC LETTER AYIN
-10850;N # IMPERIAL ARAMAIC LETTER PE
-10851;N # IMPERIAL ARAMAIC LETTER SADHE
-10852;N # IMPERIAL ARAMAIC LETTER QOPH
-10853;N # IMPERIAL ARAMAIC LETTER RESH
-10854;N # IMPERIAL ARAMAIC LETTER SHIN
-10855;N # IMPERIAL ARAMAIC LETTER TAW
-10857;N # IMPERIAL ARAMAIC SECTION SIGN
-10858;N # IMPERIAL ARAMAIC NUMBER ONE
-10859;N # IMPERIAL ARAMAIC NUMBER TWO
-1085A;N # IMPERIAL ARAMAIC NUMBER THREE
-1085B;N # IMPERIAL ARAMAIC NUMBER TEN
-1085C;N # IMPERIAL ARAMAIC NUMBER TWENTY
-1085D;N # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E;N # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F;N # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900;N # PHOENICIAN LETTER ALF
-10901;N # PHOENICIAN LETTER BET
-10902;N # PHOENICIAN LETTER GAML
-10903;N # PHOENICIAN LETTER DELT
-10904;N # PHOENICIAN LETTER HE
-10905;N # PHOENICIAN LETTER WAU
-10906;N # PHOENICIAN LETTER ZAI
-10907;N # PHOENICIAN LETTER HET
-10908;N # PHOENICIAN LETTER TET
-10909;N # PHOENICIAN LETTER YOD
-1090A;N # PHOENICIAN LETTER KAF
-1090B;N # PHOENICIAN LETTER LAMD
-1090C;N # PHOENICIAN LETTER MEM
-1090D;N # PHOENICIAN LETTER NUN
-1090E;N # PHOENICIAN LETTER SEMK
-1090F;N # PHOENICIAN LETTER AIN
-10910;N # PHOENICIAN LETTER PE
-10911;N # PHOENICIAN LETTER SADE
-10912;N # PHOENICIAN LETTER QOF
-10913;N # PHOENICIAN LETTER ROSH
-10914;N # PHOENICIAN LETTER SHIN
-10915;N # PHOENICIAN LETTER TAU
-10916;N # PHOENICIAN NUMBER ONE
-10917;N # PHOENICIAN NUMBER TEN
-10918;N # PHOENICIAN NUMBER TWENTY
-10919;N # PHOENICIAN NUMBER ONE HUNDRED
-1091A;N # PHOENICIAN NUMBER TWO
-1091B;N # PHOENICIAN NUMBER THREE
-1091F;N # PHOENICIAN WORD SEPARATOR
-10920;N # LYDIAN LETTER A
-10921;N # LYDIAN LETTER B
-10922;N # LYDIAN LETTER G
-10923;N # LYDIAN LETTER D
-10924;N # LYDIAN LETTER E
-10925;N # LYDIAN LETTER V
-10926;N # LYDIAN LETTER I
-10927;N # LYDIAN LETTER Y
-10928;N # LYDIAN LETTER K
-10929;N # LYDIAN LETTER L
-1092A;N # LYDIAN LETTER M
-1092B;N # LYDIAN LETTER N
-1092C;N # LYDIAN LETTER O
-1092D;N # LYDIAN LETTER R
-1092E;N # LYDIAN LETTER SS
-1092F;N # LYDIAN LETTER T
-10930;N # LYDIAN LETTER U
-10931;N # LYDIAN LETTER F
-10932;N # LYDIAN LETTER Q
-10933;N # LYDIAN LETTER S
-10934;N # LYDIAN LETTER TT
-10935;N # LYDIAN LETTER AN
-10936;N # LYDIAN LETTER EN
-10937;N # LYDIAN LETTER LY
-10938;N # LYDIAN LETTER NN
-10939;N # LYDIAN LETTER C
-1093F;N # LYDIAN TRIANGULAR MARK
-10A00;N # KHAROSHTHI LETTER A
-10A01;N # KHAROSHTHI VOWEL SIGN I
-10A02;N # KHAROSHTHI VOWEL SIGN U
-10A03;N # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05;N # KHAROSHTHI VOWEL SIGN E
-10A06;N # KHAROSHTHI VOWEL SIGN O
-10A0C;N # KHAROSHTHI VOWEL LENGTH MARK
-10A0D;N # KHAROSHTHI SIGN DOUBLE RING BELOW
-10A0E;N # KHAROSHTHI SIGN ANUSVARA
-10A0F;N # KHAROSHTHI SIGN VISARGA
-10A10;N # KHAROSHTHI LETTER KA
-10A11;N # KHAROSHTHI LETTER KHA
-10A12;N # KHAROSHTHI LETTER GA
-10A13;N # KHAROSHTHI LETTER GHA
-10A15;N # KHAROSHTHI LETTER CA
-10A16;N # KHAROSHTHI LETTER CHA
-10A17;N # KHAROSHTHI LETTER JA
-10A19;N # KHAROSHTHI LETTER NYA
-10A1A;N # KHAROSHTHI LETTER TTA
-10A1B;N # KHAROSHTHI LETTER TTHA
-10A1C;N # KHAROSHTHI LETTER DDA
-10A1D;N # KHAROSHTHI LETTER DDHA
-10A1E;N # KHAROSHTHI LETTER NNA
-10A1F;N # KHAROSHTHI LETTER TA
-10A20;N # KHAROSHTHI LETTER THA
-10A21;N # KHAROSHTHI LETTER DA
-10A22;N # KHAROSHTHI LETTER DHA
-10A23;N # KHAROSHTHI LETTER NA
-10A24;N # KHAROSHTHI LETTER PA
-10A25;N # KHAROSHTHI LETTER PHA
-10A26;N # KHAROSHTHI LETTER BA
-10A27;N # KHAROSHTHI LETTER BHA
-10A28;N # KHAROSHTHI LETTER MA
-10A29;N # KHAROSHTHI LETTER YA
-10A2A;N # KHAROSHTHI LETTER RA
-10A2B;N # KHAROSHTHI LETTER LA
-10A2C;N # KHAROSHTHI LETTER VA
-10A2D;N # KHAROSHTHI LETTER SHA
-10A2E;N # KHAROSHTHI LETTER SSA
-10A2F;N # KHAROSHTHI LETTER SA
-10A30;N # KHAROSHTHI LETTER ZA
-10A31;N # KHAROSHTHI LETTER HA
-10A32;N # KHAROSHTHI LETTER KKA
-10A33;N # KHAROSHTHI LETTER TTTHA
-10A38;N # KHAROSHTHI SIGN BAR ABOVE
-10A39;N # KHAROSHTHI SIGN CAUDA
-10A3A;N # KHAROSHTHI SIGN DOT BELOW
-10A3F;N # KHAROSHTHI VIRAMA
-10A40;N # KHAROSHTHI DIGIT ONE
-10A41;N # KHAROSHTHI DIGIT TWO
-10A42;N # KHAROSHTHI DIGIT THREE
-10A43;N # KHAROSHTHI DIGIT FOUR
-10A44;N # KHAROSHTHI NUMBER TEN
-10A45;N # KHAROSHTHI NUMBER TWENTY
-10A46;N # KHAROSHTHI NUMBER ONE HUNDRED
-10A47;N # KHAROSHTHI NUMBER ONE THOUSAND
-10A50;N # KHAROSHTHI PUNCTUATION DOT
-10A51;N # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52;N # KHAROSHTHI PUNCTUATION CIRCLE
-10A53;N # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54;N # KHAROSHTHI PUNCTUATION MANGALAM
-10A55;N # KHAROSHTHI PUNCTUATION LOTUS
-10A56;N # KHAROSHTHI PUNCTUATION DANDA
-10A57;N # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58;N # KHAROSHTHI PUNCTUATION LINES
-10A60;N # OLD SOUTH ARABIAN LETTER HE
-10A61;N # OLD SOUTH ARABIAN LETTER LAMEDH
-10A62;N # OLD SOUTH ARABIAN LETTER HETH
-10A63;N # OLD SOUTH ARABIAN LETTER MEM
-10A64;N # OLD SOUTH ARABIAN LETTER QOPH
-10A65;N # OLD SOUTH ARABIAN LETTER WAW
-10A66;N # OLD SOUTH ARABIAN LETTER SHIN
-10A67;N # OLD SOUTH ARABIAN LETTER RESH
-10A68;N # OLD SOUTH ARABIAN LETTER BETH
-10A69;N # OLD SOUTH ARABIAN LETTER TAW
-10A6A;N # OLD SOUTH ARABIAN LETTER SAT
-10A6B;N # OLD SOUTH ARABIAN LETTER KAPH
-10A6C;N # OLD SOUTH ARABIAN LETTER NUN
-10A6D;N # OLD SOUTH ARABIAN LETTER KHETH
-10A6E;N # OLD SOUTH ARABIAN LETTER SADHE
-10A6F;N # OLD SOUTH ARABIAN LETTER SAMEKH
-10A70;N # OLD SOUTH ARABIAN LETTER FE
-10A71;N # OLD SOUTH ARABIAN LETTER ALEF
-10A72;N # OLD SOUTH ARABIAN LETTER AYN
-10A73;N # OLD SOUTH ARABIAN LETTER DHADHE
-10A74;N # OLD SOUTH ARABIAN LETTER GIMEL
-10A75;N # OLD SOUTH ARABIAN LETTER DALETH
-10A76;N # OLD SOUTH ARABIAN LETTER GHAYN
-10A77;N # OLD SOUTH ARABIAN LETTER TETH
-10A78;N # OLD SOUTH ARABIAN LETTER ZAYN
-10A79;N # OLD SOUTH ARABIAN LETTER DHALETH
-10A7A;N # OLD SOUTH ARABIAN LETTER YODH
-10A7B;N # OLD SOUTH ARABIAN LETTER THAW
-10A7C;N # OLD SOUTH ARABIAN LETTER THETH
-10A7D;N # OLD SOUTH ARABIAN NUMBER ONE
-10A7E;N # OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F;N # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00;N # AVESTAN LETTER A
-10B01;N # AVESTAN LETTER AA
-10B02;N # AVESTAN LETTER AO
-10B03;N # AVESTAN LETTER AAO
-10B04;N # AVESTAN LETTER AN
-10B05;N # AVESTAN LETTER AAN
-10B06;N # AVESTAN LETTER AE
-10B07;N # AVESTAN LETTER AEE
-10B08;N # AVESTAN LETTER E
-10B09;N # AVESTAN LETTER EE
-10B0A;N # AVESTAN LETTER O
-10B0B;N # AVESTAN LETTER OO
-10B0C;N # AVESTAN LETTER I
-10B0D;N # AVESTAN LETTER II
-10B0E;N # AVESTAN LETTER U
-10B0F;N # AVESTAN LETTER UU
-10B10;N # AVESTAN LETTER KE
-10B11;N # AVESTAN LETTER XE
-10B12;N # AVESTAN LETTER XYE
-10B13;N # AVESTAN LETTER XVE
-10B14;N # AVESTAN LETTER GE
-10B15;N # AVESTAN LETTER GGE
-10B16;N # AVESTAN LETTER GHE
-10B17;N # AVESTAN LETTER CE
-10B18;N # AVESTAN LETTER JE
-10B19;N # AVESTAN LETTER TE
-10B1A;N # AVESTAN LETTER THE
-10B1B;N # AVESTAN LETTER DE
-10B1C;N # AVESTAN LETTER DHE
-10B1D;N # AVESTAN LETTER TTE
-10B1E;N # AVESTAN LETTER PE
-10B1F;N # AVESTAN LETTER FE
-10B20;N # AVESTAN LETTER BE
-10B21;N # AVESTAN LETTER BHE
-10B22;N # AVESTAN LETTER NGE
-10B23;N # AVESTAN LETTER NGYE
-10B24;N # AVESTAN LETTER NGVE
-10B25;N # AVESTAN LETTER NE
-10B26;N # AVESTAN LETTER NYE
-10B27;N # AVESTAN LETTER NNE
-10B28;N # AVESTAN LETTER ME
-10B29;N # AVESTAN LETTER HME
-10B2A;N # AVESTAN LETTER YYE
-10B2B;N # AVESTAN LETTER YE
-10B2C;N # AVESTAN LETTER VE
-10B2D;N # AVESTAN LETTER RE
-10B2E;N # AVESTAN LETTER LE
-10B2F;N # AVESTAN LETTER SE
-10B30;N # AVESTAN LETTER ZE
-10B31;N # AVESTAN LETTER SHE
-10B32;N # AVESTAN LETTER ZHE
-10B33;N # AVESTAN LETTER SHYE
-10B34;N # AVESTAN LETTER SSHE
-10B35;N # AVESTAN LETTER HE
-10B39;N # AVESTAN ABBREVIATION MARK
-10B3A;N # TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B;N # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C;N # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D;N # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E;N # LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F;N # LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B40;N # INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41;N # INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42;N # INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43;N # INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44;N # INSCRIPTIONAL PARTHIAN LETTER HE
-10B45;N # INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46;N # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47;N # INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48;N # INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49;N # INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A;N # INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B;N # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C;N # INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D;N # INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E;N # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F;N # INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50;N # INSCRIPTIONAL PARTHIAN LETTER PE
-10B51;N # INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52;N # INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53;N # INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54;N # INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55;N # INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58;N # INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B59;N # INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B5A;N # INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B5B;N # INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B5C;N # INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D;N # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E;N # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F;N # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60;N # INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61;N # INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62;N # INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63;N # INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64;N # INSCRIPTIONAL PAHLAVI LETTER HE
-10B65;N # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66;N # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67;N # INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68;N # INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69;N # INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A;N # INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B;N # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C;N # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D;N # INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E;N # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F;N # INSCRIPTIONAL PAHLAVI LETTER PE
-10B70;N # INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71;N # INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72;N # INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78;N # INSCRIPTIONAL PAHLAVI NUMBER ONE
-10B79;N # INSCRIPTIONAL PAHLAVI NUMBER TWO
-10B7A;N # INSCRIPTIONAL PAHLAVI NUMBER THREE
-10B7B;N # INSCRIPTIONAL PAHLAVI NUMBER FOUR
-10B7C;N # INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D;N # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E;N # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F;N # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00;N # OLD TURKIC LETTER ORKHON A
-10C01;N # OLD TURKIC LETTER YENISEI A
-10C02;N # OLD TURKIC LETTER YENISEI AE
-10C03;N # OLD TURKIC LETTER ORKHON I
-10C04;N # OLD TURKIC LETTER YENISEI I
-10C05;N # OLD TURKIC LETTER YENISEI E
-10C06;N # OLD TURKIC LETTER ORKHON O
-10C07;N # OLD TURKIC LETTER ORKHON OE
-10C08;N # OLD TURKIC LETTER YENISEI OE
-10C09;N # OLD TURKIC LETTER ORKHON AB
-10C0A;N # OLD TURKIC LETTER YENISEI AB
-10C0B;N # OLD TURKIC LETTER ORKHON AEB
-10C0C;N # OLD TURKIC LETTER YENISEI AEB
-10C0D;N # OLD TURKIC LETTER ORKHON AG
-10C0E;N # OLD TURKIC LETTER YENISEI AG
-10C0F;N # OLD TURKIC LETTER ORKHON AEG
-10C10;N # OLD TURKIC LETTER YENISEI AEG
-10C11;N # OLD TURKIC LETTER ORKHON AD
-10C12;N # OLD TURKIC LETTER YENISEI AD
-10C13;N # OLD TURKIC LETTER ORKHON AED
-10C14;N # OLD TURKIC LETTER ORKHON EZ
-10C15;N # OLD TURKIC LETTER YENISEI EZ
-10C16;N # OLD TURKIC LETTER ORKHON AY
-10C17;N # OLD TURKIC LETTER YENISEI AY
-10C18;N # OLD TURKIC LETTER ORKHON AEY
-10C19;N # OLD TURKIC LETTER YENISEI AEY
-10C1A;N # OLD TURKIC LETTER ORKHON AEK
-10C1B;N # OLD TURKIC LETTER YENISEI AEK
-10C1C;N # OLD TURKIC LETTER ORKHON OEK
-10C1D;N # OLD TURKIC LETTER YENISEI OEK
-10C1E;N # OLD TURKIC LETTER ORKHON AL
-10C1F;N # OLD TURKIC LETTER YENISEI AL
-10C20;N # OLD TURKIC LETTER ORKHON AEL
-10C21;N # OLD TURKIC LETTER ORKHON ELT
-10C22;N # OLD TURKIC LETTER ORKHON EM
-10C23;N # OLD TURKIC LETTER ORKHON AN
-10C24;N # OLD TURKIC LETTER ORKHON AEN
-10C25;N # OLD TURKIC LETTER YENISEI AEN
-10C26;N # OLD TURKIC LETTER ORKHON ENT
-10C27;N # OLD TURKIC LETTER YENISEI ENT
-10C28;N # OLD TURKIC LETTER ORKHON ENC
-10C29;N # OLD TURKIC LETTER YENISEI ENC
-10C2A;N # OLD TURKIC LETTER ORKHON ENY
-10C2B;N # OLD TURKIC LETTER YENISEI ENY
-10C2C;N # OLD TURKIC LETTER YENISEI ANG
-10C2D;N # OLD TURKIC LETTER ORKHON ENG
-10C2E;N # OLD TURKIC LETTER YENISEI AENG
-10C2F;N # OLD TURKIC LETTER ORKHON EP
-10C30;N # OLD TURKIC LETTER ORKHON OP
-10C31;N # OLD TURKIC LETTER ORKHON IC
-10C32;N # OLD TURKIC LETTER ORKHON EC
-10C33;N # OLD TURKIC LETTER YENISEI EC
-10C34;N # OLD TURKIC LETTER ORKHON AQ
-10C35;N # OLD TURKIC LETTER YENISEI AQ
-10C36;N # OLD TURKIC LETTER ORKHON IQ
-10C37;N # OLD TURKIC LETTER YENISEI IQ
-10C38;N # OLD TURKIC LETTER ORKHON OQ
-10C39;N # OLD TURKIC LETTER YENISEI OQ
-10C3A;N # OLD TURKIC LETTER ORKHON AR
-10C3B;N # OLD TURKIC LETTER YENISEI AR
-10C3C;N # OLD TURKIC LETTER ORKHON AER
-10C3D;N # OLD TURKIC LETTER ORKHON AS
-10C3E;N # OLD TURKIC LETTER ORKHON AES
-10C3F;N # OLD TURKIC LETTER ORKHON ASH
-10C40;N # OLD TURKIC LETTER YENISEI ASH
-10C41;N # OLD TURKIC LETTER ORKHON ESH
-10C42;N # OLD TURKIC LETTER YENISEI ESH
-10C43;N # OLD TURKIC LETTER ORKHON AT
-10C44;N # OLD TURKIC LETTER YENISEI AT
-10C45;N # OLD TURKIC LETTER ORKHON AET
-10C46;N # OLD TURKIC LETTER YENISEI AET
-10C47;N # OLD TURKIC LETTER ORKHON OT
-10C48;N # OLD TURKIC LETTER ORKHON BASH
-10E60;N # RUMI DIGIT ONE
-10E61;N # RUMI DIGIT TWO
-10E62;N # RUMI DIGIT THREE
-10E63;N # RUMI DIGIT FOUR
-10E64;N # RUMI DIGIT FIVE
-10E65;N # RUMI DIGIT SIX
-10E66;N # RUMI DIGIT SEVEN
-10E67;N # RUMI DIGIT EIGHT
-10E68;N # RUMI DIGIT NINE
-10E69;N # RUMI NUMBER TEN
-10E6A;N # RUMI NUMBER TWENTY
-10E6B;N # RUMI NUMBER THIRTY
-10E6C;N # RUMI NUMBER FORTY
-10E6D;N # RUMI NUMBER FIFTY
-10E6E;N # RUMI NUMBER SIXTY
-10E6F;N # RUMI NUMBER SEVENTY
-10E70;N # RUMI NUMBER EIGHTY
-10E71;N # RUMI NUMBER NINETY
-10E72;N # RUMI NUMBER ONE HUNDRED
-10E73;N # RUMI NUMBER TWO HUNDRED
-10E74;N # RUMI NUMBER THREE HUNDRED
-10E75;N # RUMI NUMBER FOUR HUNDRED
-10E76;N # RUMI NUMBER FIVE HUNDRED
-10E77;N # RUMI NUMBER SIX HUNDRED
-10E78;N # RUMI NUMBER SEVEN HUNDRED
-10E79;N # RUMI NUMBER EIGHT HUNDRED
-10E7A;N # RUMI NUMBER NINE HUNDRED
-10E7B;N # RUMI FRACTION ONE HALF
-10E7C;N # RUMI FRACTION ONE QUARTER
-10E7D;N # RUMI FRACTION ONE THIRD
-10E7E;N # RUMI FRACTION TWO THIRDS
-11080;N # KAITHI SIGN CANDRABINDU
-11081;N # KAITHI SIGN ANUSVARA
-11082;N # KAITHI SIGN VISARGA
-11083;N # KAITHI LETTER A
-11084;N # KAITHI LETTER AA
-11085;N # KAITHI LETTER I
-11086;N # KAITHI LETTER II
-11087;N # KAITHI LETTER U
-11088;N # KAITHI LETTER UU
-11089;N # KAITHI LETTER E
-1108A;N # KAITHI LETTER AI
-1108B;N # KAITHI LETTER O
-1108C;N # KAITHI LETTER AU
-1108D;N # KAITHI LETTER KA
-1108E;N # KAITHI LETTER KHA
-1108F;N # KAITHI LETTER GA
-11090;N # KAITHI LETTER GHA
-11091;N # KAITHI LETTER NGA
-11092;N # KAITHI LETTER CA
-11093;N # KAITHI LETTER CHA
-11094;N # KAITHI LETTER JA
-11095;N # KAITHI LETTER JHA
-11096;N # KAITHI LETTER NYA
-11097;N # KAITHI LETTER TTA
-11098;N # KAITHI LETTER TTHA
-11099;N # KAITHI LETTER DDA
-1109A;N # KAITHI LETTER DDDHA
-1109B;N # KAITHI LETTER DDHA
-1109C;N # KAITHI LETTER RHA
-1109D;N # KAITHI LETTER NNA
-1109E;N # KAITHI LETTER TA
-1109F;N # KAITHI LETTER THA
-110A0;N # KAITHI LETTER DA
-110A1;N # KAITHI LETTER DHA
-110A2;N # KAITHI LETTER NA
-110A3;N # KAITHI LETTER PA
-110A4;N # KAITHI LETTER PHA
-110A5;N # KAITHI LETTER BA
-110A6;N # KAITHI LETTER BHA
-110A7;N # KAITHI LETTER MA
-110A8;N # KAITHI LETTER YA
-110A9;N # KAITHI LETTER RA
-110AA;N # KAITHI LETTER LA
-110AB;N # KAITHI LETTER VA
-110AC;N # KAITHI LETTER SHA
-110AD;N # KAITHI LETTER SSA
-110AE;N # KAITHI LETTER SA
-110AF;N # KAITHI LETTER HA
-110B0;N # KAITHI VOWEL SIGN AA
-110B1;N # KAITHI VOWEL SIGN I
-110B2;N # KAITHI VOWEL SIGN II
-110B3;N # KAITHI VOWEL SIGN U
-110B4;N # KAITHI VOWEL SIGN UU
-110B5;N # KAITHI VOWEL SIGN E
-110B6;N # KAITHI VOWEL SIGN AI
-110B7;N # KAITHI VOWEL SIGN O
-110B8;N # KAITHI VOWEL SIGN AU
-110B9;N # KAITHI SIGN VIRAMA
-110BA;N # KAITHI SIGN NUKTA
-110BB;N # KAITHI ABBREVIATION SIGN
-110BC;N # KAITHI ENUMERATION SIGN
-110BD;N # KAITHI NUMBER SIGN
-110BE;N # KAITHI SECTION MARK
-110BF;N # KAITHI DOUBLE SECTION MARK
-110C0;N # KAITHI DANDA
-110C1;N # KAITHI DOUBLE DANDA
-12000;N # CUNEIFORM SIGN A
-12001;N # CUNEIFORM SIGN A TIMES A
-12002;N # CUNEIFORM SIGN A TIMES BAD
-12003;N # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004;N # CUNEIFORM SIGN A TIMES HA
-12005;N # CUNEIFORM SIGN A TIMES IGI
-12006;N # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007;N # CUNEIFORM SIGN A TIMES MUSH
-12008;N # CUNEIFORM SIGN A TIMES SAG
-12009;N # CUNEIFORM SIGN A2
-1200A;N # CUNEIFORM SIGN AB
-1200B;N # CUNEIFORM SIGN AB TIMES ASH2
-1200C;N # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D;N # CUNEIFORM SIGN AB TIMES GAL
-1200E;N # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F;N # CUNEIFORM SIGN AB TIMES HA
-12010;N # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011;N # CUNEIFORM SIGN AB TIMES IMIN
-12012;N # CUNEIFORM SIGN AB TIMES LAGAB
-12013;N # CUNEIFORM SIGN AB TIMES SHESH
-12014;N # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015;N # CUNEIFORM SIGN AB GUNU
-12016;N # CUNEIFORM SIGN AB2
-12017;N # CUNEIFORM SIGN AB2 TIMES BALAG
-12018;N # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019;N # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A;N # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B;N # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C;N # CUNEIFORM SIGN AD
-1201D;N # CUNEIFORM SIGN AK
-1201E;N # CUNEIFORM SIGN AK TIMES ERIN2
-1201F;N # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020;N # CUNEIFORM SIGN AL
-12021;N # CUNEIFORM SIGN AL TIMES AL
-12022;N # CUNEIFORM SIGN AL TIMES DIM2
-12023;N # CUNEIFORM SIGN AL TIMES GISH
-12024;N # CUNEIFORM SIGN AL TIMES HA
-12025;N # CUNEIFORM SIGN AL TIMES KAD3
-12026;N # CUNEIFORM SIGN AL TIMES KI
-12027;N # CUNEIFORM SIGN AL TIMES SHE
-12028;N # CUNEIFORM SIGN AL TIMES USH
-12029;N # CUNEIFORM SIGN ALAN
-1202A;N # CUNEIFORM SIGN ALEPH
-1202B;N # CUNEIFORM SIGN AMAR
-1202C;N # CUNEIFORM SIGN AMAR TIMES SHE
-1202D;N # CUNEIFORM SIGN AN
-1202E;N # CUNEIFORM SIGN AN OVER AN
-1202F;N # CUNEIFORM SIGN AN THREE TIMES
-12030;N # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031;N # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032;N # CUNEIFORM SIGN ANSHE
-12033;N # CUNEIFORM SIGN APIN
-12034;N # CUNEIFORM SIGN ARAD
-12035;N # CUNEIFORM SIGN ARAD TIMES KUR
-12036;N # CUNEIFORM SIGN ARKAB
-12037;N # CUNEIFORM SIGN ASAL2
-12038;N # CUNEIFORM SIGN ASH
-12039;N # CUNEIFORM SIGN ASH ZIDA TENU
-1203A;N # CUNEIFORM SIGN ASH KABA TENU
-1203B;N # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C;N # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D;N # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E;N # CUNEIFORM SIGN ASH2
-1203F;N # CUNEIFORM SIGN ASHGAB
-12040;N # CUNEIFORM SIGN BA
-12041;N # CUNEIFORM SIGN BAD
-12042;N # CUNEIFORM SIGN BAG3
-12043;N # CUNEIFORM SIGN BAHAR2
-12044;N # CUNEIFORM SIGN BAL
-12045;N # CUNEIFORM SIGN BAL OVER BAL
-12046;N # CUNEIFORM SIGN BALAG
-12047;N # CUNEIFORM SIGN BAR
-12048;N # CUNEIFORM SIGN BARA2
-12049;N # CUNEIFORM SIGN BI
-1204A;N # CUNEIFORM SIGN BI TIMES A
-1204B;N # CUNEIFORM SIGN BI TIMES GAR
-1204C;N # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D;N # CUNEIFORM SIGN BU
-1204E;N # CUNEIFORM SIGN BU OVER BU AB
-1204F;N # CUNEIFORM SIGN BU OVER BU UN
-12050;N # CUNEIFORM SIGN BU CROSSING BU
-12051;N # CUNEIFORM SIGN BULUG
-12052;N # CUNEIFORM SIGN BULUG OVER BULUG
-12053;N # CUNEIFORM SIGN BUR
-12054;N # CUNEIFORM SIGN BUR2
-12055;N # CUNEIFORM SIGN DA
-12056;N # CUNEIFORM SIGN DAG
-12057;N # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058;N # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059;N # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A;N # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B;N # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C;N # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D;N # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E;N # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F;N # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060;N # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061;N # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062;N # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063;N # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064;N # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065;N # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066;N # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067;N # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068;N # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069;N # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A;N # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B;N # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C;N # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D;N # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E;N # CUNEIFORM SIGN DAM
-1206F;N # CUNEIFORM SIGN DAR
-12070;N # CUNEIFORM SIGN DARA3
-12071;N # CUNEIFORM SIGN DARA4
-12072;N # CUNEIFORM SIGN DI
-12073;N # CUNEIFORM SIGN DIB
-12074;N # CUNEIFORM SIGN DIM
-12075;N # CUNEIFORM SIGN DIM TIMES SHE
-12076;N # CUNEIFORM SIGN DIM2
-12077;N # CUNEIFORM SIGN DIN
-12078;N # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079;N # CUNEIFORM SIGN DISH
-1207A;N # CUNEIFORM SIGN DU
-1207B;N # CUNEIFORM SIGN DU OVER DU
-1207C;N # CUNEIFORM SIGN DU GUNU
-1207D;N # CUNEIFORM SIGN DU SHESHIG
-1207E;N # CUNEIFORM SIGN DUB
-1207F;N # CUNEIFORM SIGN DUB TIMES ESH2
-12080;N # CUNEIFORM SIGN DUB2
-12081;N # CUNEIFORM SIGN DUG
-12082;N # CUNEIFORM SIGN DUGUD
-12083;N # CUNEIFORM SIGN DUH
-12084;N # CUNEIFORM SIGN DUN
-12085;N # CUNEIFORM SIGN DUN3
-12086;N # CUNEIFORM SIGN DUN3 GUNU
-12087;N # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088;N # CUNEIFORM SIGN DUN4
-12089;N # CUNEIFORM SIGN DUR2
-1208A;N # CUNEIFORM SIGN E
-1208B;N # CUNEIFORM SIGN E TIMES PAP
-1208C;N # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D;N # CUNEIFORM SIGN E2
-1208E;N # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F;N # CUNEIFORM SIGN E2 TIMES GAR
-12090;N # CUNEIFORM SIGN E2 TIMES MI
-12091;N # CUNEIFORM SIGN E2 TIMES SAL
-12092;N # CUNEIFORM SIGN E2 TIMES SHE
-12093;N # CUNEIFORM SIGN E2 TIMES U
-12094;N # CUNEIFORM SIGN EDIN
-12095;N # CUNEIFORM SIGN EGIR
-12096;N # CUNEIFORM SIGN EL
-12097;N # CUNEIFORM SIGN EN
-12098;N # CUNEIFORM SIGN EN TIMES GAN2
-12099;N # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A;N # CUNEIFORM SIGN EN TIMES ME
-1209B;N # CUNEIFORM SIGN EN CROSSING EN
-1209C;N # CUNEIFORM SIGN EN OPPOSING EN
-1209D;N # CUNEIFORM SIGN EN SQUARED
-1209E;N # CUNEIFORM SIGN EREN
-1209F;N # CUNEIFORM SIGN ERIN2
-120A0;N # CUNEIFORM SIGN ESH2
-120A1;N # CUNEIFORM SIGN EZEN
-120A2;N # CUNEIFORM SIGN EZEN TIMES A
-120A3;N # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4;N # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5;N # CUNEIFORM SIGN EZEN TIMES AN
-120A6;N # CUNEIFORM SIGN EZEN TIMES BAD
-120A7;N # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8;N # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9;N # CUNEIFORM SIGN EZEN TIMES HA
-120AA;N # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB;N # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC;N # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD;N # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE;N # CUNEIFORM SIGN EZEN TIMES KU3
-120AF;N # CUNEIFORM SIGN EZEN TIMES LA
-120B0;N # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1;N # CUNEIFORM SIGN EZEN TIMES LI
-120B2;N # CUNEIFORM SIGN EZEN TIMES LU
-120B3;N # CUNEIFORM SIGN EZEN TIMES U2
-120B4;N # CUNEIFORM SIGN EZEN TIMES UD
-120B5;N # CUNEIFORM SIGN GA
-120B6;N # CUNEIFORM SIGN GA GUNU
-120B7;N # CUNEIFORM SIGN GA2
-120B8;N # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9;N # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA;N # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB;N # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC;N # CUNEIFORM SIGN GA2 TIMES AN
-120BD;N # CUNEIFORM SIGN GA2 TIMES ASH
-120BE;N # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF;N # CUNEIFORM SIGN GA2 TIMES BAD
-120C0;N # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1;N # CUNEIFORM SIGN GA2 TIMES BUR
-120C2;N # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3;N # CUNEIFORM SIGN GA2 TIMES DA
-120C4;N # CUNEIFORM SIGN GA2 TIMES DI
-120C5;N # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6;N # CUNEIFORM SIGN GA2 TIMES DUB
-120C7;N # CUNEIFORM SIGN GA2 TIMES EL
-120C8;N # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9;N # CUNEIFORM SIGN GA2 TIMES EN
-120CA;N # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB;N # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC;N # CUNEIFORM SIGN GA2 TIMES GAR
-120CD;N # CUNEIFORM SIGN GA2 TIMES GI
-120CE;N # CUNEIFORM SIGN GA2 TIMES GI4
-120CF;N # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0;N # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1;N # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2;N # CUNEIFORM SIGN GA2 TIMES HAL
-120D3;N # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4;N # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5;N # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6;N # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7;N # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8;N # CUNEIFORM SIGN GA2 TIMES KAK
-120D9;N # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA;N # CUNEIFORM SIGN GA2 TIMES KID
-120DB;N # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC;N # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD;N # CUNEIFORM SIGN GA2 TIMES LA
-120DE;N # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF;N # CUNEIFORM SIGN GA2 TIMES MI
-120E0;N # CUNEIFORM SIGN GA2 TIMES NUN
-120E1;N # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2;N # CUNEIFORM SIGN GA2 TIMES PA
-120E3;N # CUNEIFORM SIGN GA2 TIMES SAL
-120E4;N # CUNEIFORM SIGN GA2 TIMES SAR
-120E5;N # CUNEIFORM SIGN GA2 TIMES SHE
-120E6;N # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7;N # CUNEIFORM SIGN GA2 TIMES SHID
-120E8;N # CUNEIFORM SIGN GA2 TIMES SUM
-120E9;N # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA;N # CUNEIFORM SIGN GA2 TIMES U
-120EB;N # CUNEIFORM SIGN GA2 TIMES UD
-120EC;N # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED;N # CUNEIFORM SIGN GA2 OVER GA2
-120EE;N # CUNEIFORM SIGN GABA
-120EF;N # CUNEIFORM SIGN GABA CROSSING GABA
-120F0;N # CUNEIFORM SIGN GAD
-120F1;N # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2;N # CUNEIFORM SIGN GAL
-120F3;N # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4;N # CUNEIFORM SIGN GALAM
-120F5;N # CUNEIFORM SIGN GAM
-120F6;N # CUNEIFORM SIGN GAN
-120F7;N # CUNEIFORM SIGN GAN2
-120F8;N # CUNEIFORM SIGN GAN2 TENU
-120F9;N # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA;N # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB;N # CUNEIFORM SIGN GAR
-120FC;N # CUNEIFORM SIGN GAR3
-120FD;N # CUNEIFORM SIGN GASHAN
-120FE;N # CUNEIFORM SIGN GESHTIN
-120FF;N # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100;N # CUNEIFORM SIGN GI
-12101;N # CUNEIFORM SIGN GI TIMES E
-12102;N # CUNEIFORM SIGN GI TIMES U
-12103;N # CUNEIFORM SIGN GI CROSSING GI
-12104;N # CUNEIFORM SIGN GI4
-12105;N # CUNEIFORM SIGN GI4 OVER GI4
-12106;N # CUNEIFORM SIGN GI4 CROSSING GI4
-12107;N # CUNEIFORM SIGN GIDIM
-12108;N # CUNEIFORM SIGN GIR2
-12109;N # CUNEIFORM SIGN GIR2 GUNU
-1210A;N # CUNEIFORM SIGN GIR3
-1210B;N # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C;N # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D;N # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E;N # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F;N # CUNEIFORM SIGN GIR3 TIMES PA
-12110;N # CUNEIFORM SIGN GISAL
-12111;N # CUNEIFORM SIGN GISH
-12112;N # CUNEIFORM SIGN GISH CROSSING GISH
-12113;N # CUNEIFORM SIGN GISH TIMES BAD
-12114;N # CUNEIFORM SIGN GISH TIMES TAK4
-12115;N # CUNEIFORM SIGN GISH TENU
-12116;N # CUNEIFORM SIGN GU
-12117;N # CUNEIFORM SIGN GU CROSSING GU
-12118;N # CUNEIFORM SIGN GU2
-12119;N # CUNEIFORM SIGN GU2 TIMES KAK
-1211A;N # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B;N # CUNEIFORM SIGN GU2 TIMES NUN
-1211C;N # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D;N # CUNEIFORM SIGN GU2 GUNU
-1211E;N # CUNEIFORM SIGN GUD
-1211F;N # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120;N # CUNEIFORM SIGN GUD TIMES KUR
-12121;N # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122;N # CUNEIFORM SIGN GUL
-12123;N # CUNEIFORM SIGN GUM
-12124;N # CUNEIFORM SIGN GUM TIMES SHE
-12125;N # CUNEIFORM SIGN GUR
-12126;N # CUNEIFORM SIGN GUR7
-12127;N # CUNEIFORM SIGN GURUN
-12128;N # CUNEIFORM SIGN GURUSH
-12129;N # CUNEIFORM SIGN HA
-1212A;N # CUNEIFORM SIGN HA TENU
-1212B;N # CUNEIFORM SIGN HA GUNU
-1212C;N # CUNEIFORM SIGN HAL
-1212D;N # CUNEIFORM SIGN HI
-1212E;N # CUNEIFORM SIGN HI TIMES ASH
-1212F;N # CUNEIFORM SIGN HI TIMES ASH2
-12130;N # CUNEIFORM SIGN HI TIMES BAD
-12131;N # CUNEIFORM SIGN HI TIMES DISH
-12132;N # CUNEIFORM SIGN HI TIMES GAD
-12133;N # CUNEIFORM SIGN HI TIMES KIN
-12134;N # CUNEIFORM SIGN HI TIMES NUN
-12135;N # CUNEIFORM SIGN HI TIMES SHE
-12136;N # CUNEIFORM SIGN HI TIMES U
-12137;N # CUNEIFORM SIGN HU
-12138;N # CUNEIFORM SIGN HUB2
-12139;N # CUNEIFORM SIGN HUB2 TIMES AN
-1213A;N # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B;N # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C;N # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D;N # CUNEIFORM SIGN HUB2 TIMES UD
-1213E;N # CUNEIFORM SIGN HUL2
-1213F;N # CUNEIFORM SIGN I
-12140;N # CUNEIFORM SIGN I A
-12141;N # CUNEIFORM SIGN IB
-12142;N # CUNEIFORM SIGN IDIM
-12143;N # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144;N # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145;N # CUNEIFORM SIGN IG
-12146;N # CUNEIFORM SIGN IGI
-12147;N # CUNEIFORM SIGN IGI DIB
-12148;N # CUNEIFORM SIGN IGI RI
-12149;N # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A;N # CUNEIFORM SIGN IGI GUNU
-1214B;N # CUNEIFORM SIGN IL
-1214C;N # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D;N # CUNEIFORM SIGN IL2
-1214E;N # CUNEIFORM SIGN IM
-1214F;N # CUNEIFORM SIGN IM TIMES TAK4
-12150;N # CUNEIFORM SIGN IM CROSSING IM
-12151;N # CUNEIFORM SIGN IM OPPOSING IM
-12152;N # CUNEIFORM SIGN IM SQUARED
-12153;N # CUNEIFORM SIGN IMIN
-12154;N # CUNEIFORM SIGN IN
-12155;N # CUNEIFORM SIGN IR
-12156;N # CUNEIFORM SIGN ISH
-12157;N # CUNEIFORM SIGN KA
-12158;N # CUNEIFORM SIGN KA TIMES A
-12159;N # CUNEIFORM SIGN KA TIMES AD
-1215A;N # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B;N # CUNEIFORM SIGN KA TIMES ASH2
-1215C;N # CUNEIFORM SIGN KA TIMES BAD
-1215D;N # CUNEIFORM SIGN KA TIMES BALAG
-1215E;N # CUNEIFORM SIGN KA TIMES BAR
-1215F;N # CUNEIFORM SIGN KA TIMES BI
-12160;N # CUNEIFORM SIGN KA TIMES ERIN2
-12161;N # CUNEIFORM SIGN KA TIMES ESH2
-12162;N # CUNEIFORM SIGN KA TIMES GA
-12163;N # CUNEIFORM SIGN KA TIMES GAL
-12164;N # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165;N # CUNEIFORM SIGN KA TIMES GAR
-12166;N # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167;N # CUNEIFORM SIGN KA TIMES GI
-12168;N # CUNEIFORM SIGN KA TIMES GIR2
-12169;N # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A;N # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B;N # CUNEIFORM SIGN KA TIMES GU
-1216C;N # CUNEIFORM SIGN KA TIMES GUR7
-1216D;N # CUNEIFORM SIGN KA TIMES IGI
-1216E;N # CUNEIFORM SIGN KA TIMES IM
-1216F;N # CUNEIFORM SIGN KA TIMES KAK
-12170;N # CUNEIFORM SIGN KA TIMES KI
-12171;N # CUNEIFORM SIGN KA TIMES KID
-12172;N # CUNEIFORM SIGN KA TIMES LI
-12173;N # CUNEIFORM SIGN KA TIMES LU
-12174;N # CUNEIFORM SIGN KA TIMES ME
-12175;N # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176;N # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177;N # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178;N # CUNEIFORM SIGN KA TIMES MI
-12179;N # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A;N # CUNEIFORM SIGN KA TIMES NE
-1217B;N # CUNEIFORM SIGN KA TIMES NUN
-1217C;N # CUNEIFORM SIGN KA TIMES PI
-1217D;N # CUNEIFORM SIGN KA TIMES RU
-1217E;N # CUNEIFORM SIGN KA TIMES SA
-1217F;N # CUNEIFORM SIGN KA TIMES SAR
-12180;N # CUNEIFORM SIGN KA TIMES SHA
-12181;N # CUNEIFORM SIGN KA TIMES SHE
-12182;N # CUNEIFORM SIGN KA TIMES SHID
-12183;N # CUNEIFORM SIGN KA TIMES SHU
-12184;N # CUNEIFORM SIGN KA TIMES SIG
-12185;N # CUNEIFORM SIGN KA TIMES SUHUR
-12186;N # CUNEIFORM SIGN KA TIMES TAR
-12187;N # CUNEIFORM SIGN KA TIMES U
-12188;N # CUNEIFORM SIGN KA TIMES U2
-12189;N # CUNEIFORM SIGN KA TIMES UD
-1218A;N # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B;N # CUNEIFORM SIGN KA TIMES USH
-1218C;N # CUNEIFORM SIGN KA TIMES ZI
-1218D;N # CUNEIFORM SIGN KA2
-1218E;N # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F;N # CUNEIFORM SIGN KAB
-12190;N # CUNEIFORM SIGN KAD2
-12191;N # CUNEIFORM SIGN KAD3
-12192;N # CUNEIFORM SIGN KAD4
-12193;N # CUNEIFORM SIGN KAD5
-12194;N # CUNEIFORM SIGN KAD5 OVER KAD5
-12195;N # CUNEIFORM SIGN KAK
-12196;N # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197;N # CUNEIFORM SIGN KAL
-12198;N # CUNEIFORM SIGN KAL TIMES BAD
-12199;N # CUNEIFORM SIGN KAL CROSSING KAL
-1219A;N # CUNEIFORM SIGN KAM2
-1219B;N # CUNEIFORM SIGN KAM4
-1219C;N # CUNEIFORM SIGN KASKAL
-1219D;N # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E;N # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F;N # CUNEIFORM SIGN KESH2
-121A0;N # CUNEIFORM SIGN KI
-121A1;N # CUNEIFORM SIGN KI TIMES BAD
-121A2;N # CUNEIFORM SIGN KI TIMES U
-121A3;N # CUNEIFORM SIGN KI TIMES UD
-121A4;N # CUNEIFORM SIGN KID
-121A5;N # CUNEIFORM SIGN KIN
-121A6;N # CUNEIFORM SIGN KISAL
-121A7;N # CUNEIFORM SIGN KISH
-121A8;N # CUNEIFORM SIGN KISIM5
-121A9;N # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA;N # CUNEIFORM SIGN KU
-121AB;N # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC;N # CUNEIFORM SIGN KU3
-121AD;N # CUNEIFORM SIGN KU4
-121AE;N # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF;N # CUNEIFORM SIGN KU7
-121B0;N # CUNEIFORM SIGN KUL
-121B1;N # CUNEIFORM SIGN KUL GUNU
-121B2;N # CUNEIFORM SIGN KUN
-121B3;N # CUNEIFORM SIGN KUR
-121B4;N # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5;N # CUNEIFORM SIGN KUSHU2
-121B6;N # CUNEIFORM SIGN KWU318
-121B7;N # CUNEIFORM SIGN LA
-121B8;N # CUNEIFORM SIGN LAGAB
-121B9;N # CUNEIFORM SIGN LAGAB TIMES A
-121BA;N # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB;N # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC;N # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD;N # CUNEIFORM SIGN LAGAB TIMES AL
-121BE;N # CUNEIFORM SIGN LAGAB TIMES AN
-121BF;N # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0;N # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1;N # CUNEIFORM SIGN LAGAB TIMES BI
-121C2;N # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3;N # CUNEIFORM SIGN LAGAB TIMES EN
-121C4;N # CUNEIFORM SIGN LAGAB TIMES GA
-121C5;N # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6;N # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7;N # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8;N # CUNEIFORM SIGN LAGAB TIMES HA
-121C9;N # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA;N # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB;N # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC;N # CUNEIFORM SIGN LAGAB TIMES IM
-121CD;N # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE;N # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF;N # CUNEIFORM SIGN LAGAB TIMES KI
-121D0;N # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1;N # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2;N # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3;N # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4;N # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5;N # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6;N # CUNEIFORM SIGN LAGAB TIMES LU
-121D7;N # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8;N # CUNEIFORM SIGN LAGAB TIMES ME
-121D9;N # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA;N # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB;N # CUNEIFORM SIGN LAGAB TIMES NE
-121DC;N # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD;N # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE;N # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF;N # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0;N # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1;N # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2;N # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3;N # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4;N # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5;N # CUNEIFORM SIGN LAGAB TIMES U
-121E6;N # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7;N # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8;N # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9;N # CUNEIFORM SIGN LAGAB TIMES UD
-121EA;N # CUNEIFORM SIGN LAGAB TIMES USH
-121EB;N # CUNEIFORM SIGN LAGAB SQUARED
-121EC;N # CUNEIFORM SIGN LAGAR
-121ED;N # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE;N # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF;N # CUNEIFORM SIGN LAGAR GUNU
-121F0;N # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1;N # CUNEIFORM SIGN LAHSHU
-121F2;N # CUNEIFORM SIGN LAL
-121F3;N # CUNEIFORM SIGN LAL TIMES LAL
-121F4;N # CUNEIFORM SIGN LAM
-121F5;N # CUNEIFORM SIGN LAM TIMES KUR
-121F6;N # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7;N # CUNEIFORM SIGN LI
-121F8;N # CUNEIFORM SIGN LIL
-121F9;N # CUNEIFORM SIGN LIMMU2
-121FA;N # CUNEIFORM SIGN LISH
-121FB;N # CUNEIFORM SIGN LU
-121FC;N # CUNEIFORM SIGN LU TIMES BAD
-121FD;N # CUNEIFORM SIGN LU2
-121FE;N # CUNEIFORM SIGN LU2 TIMES AL
-121FF;N # CUNEIFORM SIGN LU2 TIMES BAD
-12200;N # CUNEIFORM SIGN LU2 TIMES ESH2
-12201;N # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202;N # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203;N # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204;N # CUNEIFORM SIGN LU2 TIMES IM
-12205;N # CUNEIFORM SIGN LU2 TIMES KAD2
-12206;N # CUNEIFORM SIGN LU2 TIMES KAD3
-12207;N # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208;N # CUNEIFORM SIGN LU2 TIMES KI
-12209;N # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A;N # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B;N # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C;N # CUNEIFORM SIGN LU2 TIMES NE
-1220D;N # CUNEIFORM SIGN LU2 TIMES NU
-1220E;N # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F;N # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210;N # CUNEIFORM SIGN LU2 TIMES TUG2
-12211;N # CUNEIFORM SIGN LU2 TENU
-12212;N # CUNEIFORM SIGN LU2 CROSSING LU2
-12213;N # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214;N # CUNEIFORM SIGN LU2 SQUARED
-12215;N # CUNEIFORM SIGN LU2 SHESHIG
-12216;N # CUNEIFORM SIGN LU3
-12217;N # CUNEIFORM SIGN LUGAL
-12218;N # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219;N # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A;N # CUNEIFORM SIGN LUGAL SHESHIG
-1221B;N # CUNEIFORM SIGN LUH
-1221C;N # CUNEIFORM SIGN LUL
-1221D;N # CUNEIFORM SIGN LUM
-1221E;N # CUNEIFORM SIGN LUM OVER LUM
-1221F;N # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220;N # CUNEIFORM SIGN MA
-12221;N # CUNEIFORM SIGN MA TIMES TAK4
-12222;N # CUNEIFORM SIGN MA GUNU
-12223;N # CUNEIFORM SIGN MA2
-12224;N # CUNEIFORM SIGN MAH
-12225;N # CUNEIFORM SIGN MAR
-12226;N # CUNEIFORM SIGN MASH
-12227;N # CUNEIFORM SIGN MASH2
-12228;N # CUNEIFORM SIGN ME
-12229;N # CUNEIFORM SIGN MES
-1222A;N # CUNEIFORM SIGN MI
-1222B;N # CUNEIFORM SIGN MIN
-1222C;N # CUNEIFORM SIGN MU
-1222D;N # CUNEIFORM SIGN MU OVER MU
-1222E;N # CUNEIFORM SIGN MUG
-1222F;N # CUNEIFORM SIGN MUG GUNU
-12230;N # CUNEIFORM SIGN MUNSUB
-12231;N # CUNEIFORM SIGN MURGU2
-12232;N # CUNEIFORM SIGN MUSH
-12233;N # CUNEIFORM SIGN MUSH TIMES A
-12234;N # CUNEIFORM SIGN MUSH TIMES KUR
-12235;N # CUNEIFORM SIGN MUSH TIMES ZA
-12236;N # CUNEIFORM SIGN MUSH OVER MUSH
-12237;N # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238;N # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239;N # CUNEIFORM SIGN MUSH3
-1223A;N # CUNEIFORM SIGN MUSH3 TIMES A
-1223B;N # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C;N # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D;N # CUNEIFORM SIGN MUSH3 GUNU
-1223E;N # CUNEIFORM SIGN NA
-1223F;N # CUNEIFORM SIGN NA2
-12240;N # CUNEIFORM SIGN NAGA
-12241;N # CUNEIFORM SIGN NAGA INVERTED
-12242;N # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243;N # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244;N # CUNEIFORM SIGN NAGAR
-12245;N # CUNEIFORM SIGN NAM NUTILLU
-12246;N # CUNEIFORM SIGN NAM
-12247;N # CUNEIFORM SIGN NAM2
-12248;N # CUNEIFORM SIGN NE
-12249;N # CUNEIFORM SIGN NE TIMES A
-1224A;N # CUNEIFORM SIGN NE TIMES UD
-1224B;N # CUNEIFORM SIGN NE SHESHIG
-1224C;N # CUNEIFORM SIGN NI
-1224D;N # CUNEIFORM SIGN NI TIMES E
-1224E;N # CUNEIFORM SIGN NI2
-1224F;N # CUNEIFORM SIGN NIM
-12250;N # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251;N # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252;N # CUNEIFORM SIGN NINDA2
-12253;N # CUNEIFORM SIGN NINDA2 TIMES AN
-12254;N # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255;N # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256;N # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257;N # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258;N # CUNEIFORM SIGN NINDA2 TIMES NE
-12259;N # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A;N # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B;N # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C;N # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D;N # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E;N # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F;N # CUNEIFORM SIGN NINDA2 TIMES USH
-12260;N # CUNEIFORM SIGN NISAG
-12261;N # CUNEIFORM SIGN NU
-12262;N # CUNEIFORM SIGN NU11
-12263;N # CUNEIFORM SIGN NUN
-12264;N # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265;N # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266;N # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267;N # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268;N # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269;N # CUNEIFORM SIGN NUN TENU
-1226A;N # CUNEIFORM SIGN NUN OVER NUN
-1226B;N # CUNEIFORM SIGN NUN CROSSING NUN
-1226C;N # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D;N # CUNEIFORM SIGN NUNUZ
-1226E;N # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F;N # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270;N # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271;N # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272;N # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273;N # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274;N # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275;N # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276;N # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277;N # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278;N # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279;N # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A;N # CUNEIFORM SIGN PA
-1227B;N # CUNEIFORM SIGN PAD
-1227C;N # CUNEIFORM SIGN PAN
-1227D;N # CUNEIFORM SIGN PAP
-1227E;N # CUNEIFORM SIGN PESH2
-1227F;N # CUNEIFORM SIGN PI
-12280;N # CUNEIFORM SIGN PI TIMES A
-12281;N # CUNEIFORM SIGN PI TIMES AB
-12282;N # CUNEIFORM SIGN PI TIMES BI
-12283;N # CUNEIFORM SIGN PI TIMES BU
-12284;N # CUNEIFORM SIGN PI TIMES E
-12285;N # CUNEIFORM SIGN PI TIMES I
-12286;N # CUNEIFORM SIGN PI TIMES IB
-12287;N # CUNEIFORM SIGN PI TIMES U
-12288;N # CUNEIFORM SIGN PI TIMES U2
-12289;N # CUNEIFORM SIGN PI CROSSING PI
-1228A;N # CUNEIFORM SIGN PIRIG
-1228B;N # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C;N # CUNEIFORM SIGN PIRIG TIMES UD
-1228D;N # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E;N # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F;N # CUNEIFORM SIGN RA
-12290;N # CUNEIFORM SIGN RAB
-12291;N # CUNEIFORM SIGN RI
-12292;N # CUNEIFORM SIGN RU
-12293;N # CUNEIFORM SIGN SA
-12294;N # CUNEIFORM SIGN SAG NUTILLU
-12295;N # CUNEIFORM SIGN SAG
-12296;N # CUNEIFORM SIGN SAG TIMES A
-12297;N # CUNEIFORM SIGN SAG TIMES DU
-12298;N # CUNEIFORM SIGN SAG TIMES DUB
-12299;N # CUNEIFORM SIGN SAG TIMES HA
-1229A;N # CUNEIFORM SIGN SAG TIMES KAK
-1229B;N # CUNEIFORM SIGN SAG TIMES KUR
-1229C;N # CUNEIFORM SIGN SAG TIMES LUM
-1229D;N # CUNEIFORM SIGN SAG TIMES MI
-1229E;N # CUNEIFORM SIGN SAG TIMES NUN
-1229F;N # CUNEIFORM SIGN SAG TIMES SAL
-122A0;N # CUNEIFORM SIGN SAG TIMES SHID
-122A1;N # CUNEIFORM SIGN SAG TIMES TAB
-122A2;N # CUNEIFORM SIGN SAG TIMES U2
-122A3;N # CUNEIFORM SIGN SAG TIMES UB
-122A4;N # CUNEIFORM SIGN SAG TIMES UM
-122A5;N # CUNEIFORM SIGN SAG TIMES UR
-122A6;N # CUNEIFORM SIGN SAG TIMES USH
-122A7;N # CUNEIFORM SIGN SAG OVER SAG
-122A8;N # CUNEIFORM SIGN SAG GUNU
-122A9;N # CUNEIFORM SIGN SAL
-122AA;N # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB;N # CUNEIFORM SIGN SANGA2
-122AC;N # CUNEIFORM SIGN SAR
-122AD;N # CUNEIFORM SIGN SHA
-122AE;N # CUNEIFORM SIGN SHA3
-122AF;N # CUNEIFORM SIGN SHA3 TIMES A
-122B0;N # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1;N # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2;N # CUNEIFORM SIGN SHA3 TIMES NE
-122B3;N # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4;N # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5;N # CUNEIFORM SIGN SHA3 TIMES U
-122B6;N # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7;N # CUNEIFORM SIGN SHA6
-122B8;N # CUNEIFORM SIGN SHAB6
-122B9;N # CUNEIFORM SIGN SHAR2
-122BA;N # CUNEIFORM SIGN SHE
-122BB;N # CUNEIFORM SIGN SHE HU
-122BC;N # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD;N # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE;N # CUNEIFORM SIGN SHEG9
-122BF;N # CUNEIFORM SIGN SHEN
-122C0;N # CUNEIFORM SIGN SHESH
-122C1;N # CUNEIFORM SIGN SHESH2
-122C2;N # CUNEIFORM SIGN SHESHLAM
-122C3;N # CUNEIFORM SIGN SHID
-122C4;N # CUNEIFORM SIGN SHID TIMES A
-122C5;N # CUNEIFORM SIGN SHID TIMES IM
-122C6;N # CUNEIFORM SIGN SHIM
-122C7;N # CUNEIFORM SIGN SHIM TIMES A
-122C8;N # CUNEIFORM SIGN SHIM TIMES BAL
-122C9;N # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA;N # CUNEIFORM SIGN SHIM TIMES DIN
-122CB;N # CUNEIFORM SIGN SHIM TIMES GAR
-122CC;N # CUNEIFORM SIGN SHIM TIMES IGI
-122CD;N # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE;N # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF;N # CUNEIFORM SIGN SHIM TIMES LUL
-122D0;N # CUNEIFORM SIGN SHIM TIMES MUG
-122D1;N # CUNEIFORM SIGN SHIM TIMES SAL
-122D2;N # CUNEIFORM SIGN SHINIG
-122D3;N # CUNEIFORM SIGN SHIR
-122D4;N # CUNEIFORM SIGN SHIR TENU
-122D5;N # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6;N # CUNEIFORM SIGN SHITA
-122D7;N # CUNEIFORM SIGN SHU
-122D8;N # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9;N # CUNEIFORM SIGN SHU2
-122DA;N # CUNEIFORM SIGN SHUBUR
-122DB;N # CUNEIFORM SIGN SI
-122DC;N # CUNEIFORM SIGN SI GUNU
-122DD;N # CUNEIFORM SIGN SIG
-122DE;N # CUNEIFORM SIGN SIG4
-122DF;N # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0;N # CUNEIFORM SIGN SIK2
-122E1;N # CUNEIFORM SIGN SILA3
-122E2;N # CUNEIFORM SIGN SU
-122E3;N # CUNEIFORM SIGN SU OVER SU
-122E4;N # CUNEIFORM SIGN SUD
-122E5;N # CUNEIFORM SIGN SUD2
-122E6;N # CUNEIFORM SIGN SUHUR
-122E7;N # CUNEIFORM SIGN SUM
-122E8;N # CUNEIFORM SIGN SUMASH
-122E9;N # CUNEIFORM SIGN SUR
-122EA;N # CUNEIFORM SIGN SUR9
-122EB;N # CUNEIFORM SIGN TA
-122EC;N # CUNEIFORM SIGN TA ASTERISK
-122ED;N # CUNEIFORM SIGN TA TIMES HI
-122EE;N # CUNEIFORM SIGN TA TIMES MI
-122EF;N # CUNEIFORM SIGN TA GUNU
-122F0;N # CUNEIFORM SIGN TAB
-122F1;N # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2;N # CUNEIFORM SIGN TAB SQUARED
-122F3;N # CUNEIFORM SIGN TAG
-122F4;N # CUNEIFORM SIGN TAG TIMES BI
-122F5;N # CUNEIFORM SIGN TAG TIMES GUD
-122F6;N # CUNEIFORM SIGN TAG TIMES SHE
-122F7;N # CUNEIFORM SIGN TAG TIMES SHU
-122F8;N # CUNEIFORM SIGN TAG TIMES TUG2
-122F9;N # CUNEIFORM SIGN TAG TIMES UD
-122FA;N # CUNEIFORM SIGN TAK4
-122FB;N # CUNEIFORM SIGN TAR
-122FC;N # CUNEIFORM SIGN TE
-122FD;N # CUNEIFORM SIGN TE GUNU
-122FE;N # CUNEIFORM SIGN TI
-122FF;N # CUNEIFORM SIGN TI TENU
-12300;N # CUNEIFORM SIGN TIL
-12301;N # CUNEIFORM SIGN TIR
-12302;N # CUNEIFORM SIGN TIR TIMES TAK4
-12303;N # CUNEIFORM SIGN TIR OVER TIR
-12304;N # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305;N # CUNEIFORM SIGN TU
-12306;N # CUNEIFORM SIGN TUG2
-12307;N # CUNEIFORM SIGN TUK
-12308;N # CUNEIFORM SIGN TUM
-12309;N # CUNEIFORM SIGN TUR
-1230A;N # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B;N # CUNEIFORM SIGN U
-1230C;N # CUNEIFORM SIGN U GUD
-1230D;N # CUNEIFORM SIGN U U U
-1230E;N # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F;N # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310;N # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311;N # CUNEIFORM SIGN U2
-12312;N # CUNEIFORM SIGN UB
-12313;N # CUNEIFORM SIGN UD
-12314;N # CUNEIFORM SIGN UD KUSHU2
-12315;N # CUNEIFORM SIGN UD TIMES BAD
-12316;N # CUNEIFORM SIGN UD TIMES MI
-12317;N # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318;N # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319;N # CUNEIFORM SIGN UD GUNU
-1231A;N # CUNEIFORM SIGN UD SHESHIG
-1231B;N # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C;N # CUNEIFORM SIGN UDUG
-1231D;N # CUNEIFORM SIGN UM
-1231E;N # CUNEIFORM SIGN UM TIMES LAGAB
-1231F;N # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320;N # CUNEIFORM SIGN UM TIMES SHA3
-12321;N # CUNEIFORM SIGN UM TIMES U
-12322;N # CUNEIFORM SIGN UMBIN
-12323;N # CUNEIFORM SIGN UMUM
-12324;N # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325;N # CUNEIFORM SIGN UMUM TIMES PA
-12326;N # CUNEIFORM SIGN UN
-12327;N # CUNEIFORM SIGN UN GUNU
-12328;N # CUNEIFORM SIGN UR
-12329;N # CUNEIFORM SIGN UR CROSSING UR
-1232A;N # CUNEIFORM SIGN UR SHESHIG
-1232B;N # CUNEIFORM SIGN UR2
-1232C;N # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D;N # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E;N # CUNEIFORM SIGN UR2 TIMES AL
-1232F;N # CUNEIFORM SIGN UR2 TIMES HA
-12330;N # CUNEIFORM SIGN UR2 TIMES NUN
-12331;N # CUNEIFORM SIGN UR2 TIMES U2
-12332;N # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333;N # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334;N # CUNEIFORM SIGN UR4
-12335;N # CUNEIFORM SIGN URI
-12336;N # CUNEIFORM SIGN URI3
-12337;N # CUNEIFORM SIGN URU
-12338;N # CUNEIFORM SIGN URU TIMES A
-12339;N # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A;N # CUNEIFORM SIGN URU TIMES BAR
-1233B;N # CUNEIFORM SIGN URU TIMES DUN
-1233C;N # CUNEIFORM SIGN URU TIMES GA
-1233D;N # CUNEIFORM SIGN URU TIMES GAL
-1233E;N # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F;N # CUNEIFORM SIGN URU TIMES GAR
-12340;N # CUNEIFORM SIGN URU TIMES GU
-12341;N # CUNEIFORM SIGN URU TIMES HA
-12342;N # CUNEIFORM SIGN URU TIMES IGI
-12343;N # CUNEIFORM SIGN URU TIMES IM
-12344;N # CUNEIFORM SIGN URU TIMES ISH
-12345;N # CUNEIFORM SIGN URU TIMES KI
-12346;N # CUNEIFORM SIGN URU TIMES LUM
-12347;N # CUNEIFORM SIGN URU TIMES MIN
-12348;N # CUNEIFORM SIGN URU TIMES PA
-12349;N # CUNEIFORM SIGN URU TIMES SHE
-1234A;N # CUNEIFORM SIGN URU TIMES SIG4
-1234B;N # CUNEIFORM SIGN URU TIMES TU
-1234C;N # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D;N # CUNEIFORM SIGN URU TIMES UD
-1234E;N # CUNEIFORM SIGN URU TIMES URUDA
-1234F;N # CUNEIFORM SIGN URUDA
-12350;N # CUNEIFORM SIGN URUDA TIMES U
-12351;N # CUNEIFORM SIGN USH
-12352;N # CUNEIFORM SIGN USH TIMES A
-12353;N # CUNEIFORM SIGN USH TIMES KU
-12354;N # CUNEIFORM SIGN USH TIMES KUR
-12355;N # CUNEIFORM SIGN USH TIMES TAK4
-12356;N # CUNEIFORM SIGN USHX
-12357;N # CUNEIFORM SIGN USH2
-12358;N # CUNEIFORM SIGN USHUMX
-12359;N # CUNEIFORM SIGN UTUKI
-1235A;N # CUNEIFORM SIGN UZ3
-1235B;N # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C;N # CUNEIFORM SIGN UZU
-1235D;N # CUNEIFORM SIGN ZA
-1235E;N # CUNEIFORM SIGN ZA TENU
-1235F;N # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360;N # CUNEIFORM SIGN ZAG
-12361;N # CUNEIFORM SIGN ZAMX
-12362;N # CUNEIFORM SIGN ZE2
-12363;N # CUNEIFORM SIGN ZI
-12364;N # CUNEIFORM SIGN ZI OVER ZI
-12365;N # CUNEIFORM SIGN ZI3
-12366;N # CUNEIFORM SIGN ZIB
-12367;N # CUNEIFORM SIGN ZIB KABA TENU
-12368;N # CUNEIFORM SIGN ZIG
-12369;N # CUNEIFORM SIGN ZIZ2
-1236A;N # CUNEIFORM SIGN ZU
-1236B;N # CUNEIFORM SIGN ZU5
-1236C;N # CUNEIFORM SIGN ZU5 TIMES A
-1236D;N # CUNEIFORM SIGN ZUBUR
-1236E;N # CUNEIFORM SIGN ZUM
-12400;N # CUNEIFORM NUMERIC SIGN TWO ASH
-12401;N # CUNEIFORM NUMERIC SIGN THREE ASH
-12402;N # CUNEIFORM NUMERIC SIGN FOUR ASH
-12403;N # CUNEIFORM NUMERIC SIGN FIVE ASH
-12404;N # CUNEIFORM NUMERIC SIGN SIX ASH
-12405;N # CUNEIFORM NUMERIC SIGN SEVEN ASH
-12406;N # CUNEIFORM NUMERIC SIGN EIGHT ASH
-12407;N # CUNEIFORM NUMERIC SIGN NINE ASH
-12408;N # CUNEIFORM NUMERIC SIGN THREE DISH
-12409;N # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240A;N # CUNEIFORM NUMERIC SIGN FIVE DISH
-1240B;N # CUNEIFORM NUMERIC SIGN SIX DISH
-1240C;N # CUNEIFORM NUMERIC SIGN SEVEN DISH
-1240D;N # CUNEIFORM NUMERIC SIGN EIGHT DISH
-1240E;N # CUNEIFORM NUMERIC SIGN NINE DISH
-1240F;N # CUNEIFORM NUMERIC SIGN FOUR U
-12410;N # CUNEIFORM NUMERIC SIGN FIVE U
-12411;N # CUNEIFORM NUMERIC SIGN SIX U
-12412;N # CUNEIFORM NUMERIC SIGN SEVEN U
-12413;N # CUNEIFORM NUMERIC SIGN EIGHT U
-12414;N # CUNEIFORM NUMERIC SIGN NINE U
-12415;N # CUNEIFORM NUMERIC SIGN ONE GESH2
-12416;N # CUNEIFORM NUMERIC SIGN TWO GESH2
-12417;N # CUNEIFORM NUMERIC SIGN THREE GESH2
-12418;N # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12419;N # CUNEIFORM NUMERIC SIGN FIVE GESH2
-1241A;N # CUNEIFORM NUMERIC SIGN SIX GESH2
-1241B;N # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-1241C;N # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1241D;N # CUNEIFORM NUMERIC SIGN NINE GESH2
-1241E;N # CUNEIFORM NUMERIC SIGN ONE GESHU
-1241F;N # CUNEIFORM NUMERIC SIGN TWO GESHU
-12420;N # CUNEIFORM NUMERIC SIGN THREE GESHU
-12421;N # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12422;N # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12423;N # CUNEIFORM NUMERIC SIGN TWO SHAR2
-12424;N # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425;N # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-12426;N # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12427;N # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12428;N # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12429;N # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-1242A;N # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-1242B;N # CUNEIFORM NUMERIC SIGN NINE SHAR2
-1242C;N # CUNEIFORM NUMERIC SIGN ONE SHARU
-1242D;N # CUNEIFORM NUMERIC SIGN TWO SHARU
-1242E;N # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F;N # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12430;N # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12431;N # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12432;N # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433;N # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12434;N # CUNEIFORM NUMERIC SIGN ONE BURU
-12435;N # CUNEIFORM NUMERIC SIGN TWO BURU
-12436;N # CUNEIFORM NUMERIC SIGN THREE BURU
-12437;N # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-12438;N # CUNEIFORM NUMERIC SIGN FOUR BURU
-12439;N # CUNEIFORM NUMERIC SIGN FIVE BURU
-1243A;N # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B;N # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1243C;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-12440;N # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-12441;N # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442;N # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443;N # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-12444;N # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445;N # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-12446;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1244A;N # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-1244B;N # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-1244C;N # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-1244D;N # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-1244E;N # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1244F;N # CUNEIFORM NUMERIC SIGN ONE BAN2
-12450;N # CUNEIFORM NUMERIC SIGN TWO BAN2
-12451;N # CUNEIFORM NUMERIC SIGN THREE BAN2
-12452;N # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453;N # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-12454;N # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455;N # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-12456;N # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457;N # CUNEIFORM NUMERIC SIGN NIGIDAESH
-12458;N # CUNEIFORM NUMERIC SIGN ONE ESHE3
-12459;N # CUNEIFORM NUMERIC SIGN TWO ESHE3
-1245A;N # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B;N # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C;N # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D;N # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E;N # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F;N # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460;N # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461;N # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462;N # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470;N # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471;N # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472;N # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473;N # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000;N # EGYPTIAN HIEROGLYPH A001
-13001;N # EGYPTIAN HIEROGLYPH A002
-13002;N # EGYPTIAN HIEROGLYPH A003
-13003;N # EGYPTIAN HIEROGLYPH A004
-13004;N # EGYPTIAN HIEROGLYPH A005
-13005;N # EGYPTIAN HIEROGLYPH A005A
-13006;N # EGYPTIAN HIEROGLYPH A006
-13007;N # EGYPTIAN HIEROGLYPH A006A
-13008;N # EGYPTIAN HIEROGLYPH A006B
-13009;N # EGYPTIAN HIEROGLYPH A007
-1300A;N # EGYPTIAN HIEROGLYPH A008
-1300B;N # EGYPTIAN HIEROGLYPH A009
-1300C;N # EGYPTIAN HIEROGLYPH A010
-1300D;N # EGYPTIAN HIEROGLYPH A011
-1300E;N # EGYPTIAN HIEROGLYPH A012
-1300F;N # EGYPTIAN HIEROGLYPH A013
-13010;N # EGYPTIAN HIEROGLYPH A014
-13011;N # EGYPTIAN HIEROGLYPH A014A
-13012;N # EGYPTIAN HIEROGLYPH A015
-13013;N # EGYPTIAN HIEROGLYPH A016
-13014;N # EGYPTIAN HIEROGLYPH A017
-13015;N # EGYPTIAN HIEROGLYPH A017A
-13016;N # EGYPTIAN HIEROGLYPH A018
-13017;N # EGYPTIAN HIEROGLYPH A019
-13018;N # EGYPTIAN HIEROGLYPH A020
-13019;N # EGYPTIAN HIEROGLYPH A021
-1301A;N # EGYPTIAN HIEROGLYPH A022
-1301B;N # EGYPTIAN HIEROGLYPH A023
-1301C;N # EGYPTIAN HIEROGLYPH A024
-1301D;N # EGYPTIAN HIEROGLYPH A025
-1301E;N # EGYPTIAN HIEROGLYPH A026
-1301F;N # EGYPTIAN HIEROGLYPH A027
-13020;N # EGYPTIAN HIEROGLYPH A028
-13021;N # EGYPTIAN HIEROGLYPH A029
-13022;N # EGYPTIAN HIEROGLYPH A030
-13023;N # EGYPTIAN HIEROGLYPH A031
-13024;N # EGYPTIAN HIEROGLYPH A032
-13025;N # EGYPTIAN HIEROGLYPH A032A
-13026;N # EGYPTIAN HIEROGLYPH A033
-13027;N # EGYPTIAN HIEROGLYPH A034
-13028;N # EGYPTIAN HIEROGLYPH A035
-13029;N # EGYPTIAN HIEROGLYPH A036
-1302A;N # EGYPTIAN HIEROGLYPH A037
-1302B;N # EGYPTIAN HIEROGLYPH A038
-1302C;N # EGYPTIAN HIEROGLYPH A039
-1302D;N # EGYPTIAN HIEROGLYPH A040
-1302E;N # EGYPTIAN HIEROGLYPH A040A
-1302F;N # EGYPTIAN HIEROGLYPH A041
-13030;N # EGYPTIAN HIEROGLYPH A042
-13031;N # EGYPTIAN HIEROGLYPH A042A
-13032;N # EGYPTIAN HIEROGLYPH A043
-13033;N # EGYPTIAN HIEROGLYPH A043A
-13034;N # EGYPTIAN HIEROGLYPH A044
-13035;N # EGYPTIAN HIEROGLYPH A045
-13036;N # EGYPTIAN HIEROGLYPH A045A
-13037;N # EGYPTIAN HIEROGLYPH A046
-13038;N # EGYPTIAN HIEROGLYPH A047
-13039;N # EGYPTIAN HIEROGLYPH A048
-1303A;N # EGYPTIAN HIEROGLYPH A049
-1303B;N # EGYPTIAN HIEROGLYPH A050
-1303C;N # EGYPTIAN HIEROGLYPH A051
-1303D;N # EGYPTIAN HIEROGLYPH A052
-1303E;N # EGYPTIAN HIEROGLYPH A053
-1303F;N # EGYPTIAN HIEROGLYPH A054
-13040;N # EGYPTIAN HIEROGLYPH A055
-13041;N # EGYPTIAN HIEROGLYPH A056
-13042;N # EGYPTIAN HIEROGLYPH A057
-13043;N # EGYPTIAN HIEROGLYPH A058
-13044;N # EGYPTIAN HIEROGLYPH A059
-13045;N # EGYPTIAN HIEROGLYPH A060
-13046;N # EGYPTIAN HIEROGLYPH A061
-13047;N # EGYPTIAN HIEROGLYPH A062
-13048;N # EGYPTIAN HIEROGLYPH A063
-13049;N # EGYPTIAN HIEROGLYPH A064
-1304A;N # EGYPTIAN HIEROGLYPH A065
-1304B;N # EGYPTIAN HIEROGLYPH A066
-1304C;N # EGYPTIAN HIEROGLYPH A067
-1304D;N # EGYPTIAN HIEROGLYPH A068
-1304E;N # EGYPTIAN HIEROGLYPH A069
-1304F;N # EGYPTIAN HIEROGLYPH A070
-13050;N # EGYPTIAN HIEROGLYPH B001
-13051;N # EGYPTIAN HIEROGLYPH B002
-13052;N # EGYPTIAN HIEROGLYPH B003
-13053;N # EGYPTIAN HIEROGLYPH B004
-13054;N # EGYPTIAN HIEROGLYPH B005
-13055;N # EGYPTIAN HIEROGLYPH B005A
-13056;N # EGYPTIAN HIEROGLYPH B006
-13057;N # EGYPTIAN HIEROGLYPH B007
-13058;N # EGYPTIAN HIEROGLYPH B008
-13059;N # EGYPTIAN HIEROGLYPH B009
-1305A;N # EGYPTIAN HIEROGLYPH C001
-1305B;N # EGYPTIAN HIEROGLYPH C002
-1305C;N # EGYPTIAN HIEROGLYPH C002A
-1305D;N # EGYPTIAN HIEROGLYPH C002B
-1305E;N # EGYPTIAN HIEROGLYPH C002C
-1305F;N # EGYPTIAN HIEROGLYPH C003
-13060;N # EGYPTIAN HIEROGLYPH C004
-13061;N # EGYPTIAN HIEROGLYPH C005
-13062;N # EGYPTIAN HIEROGLYPH C006
-13063;N # EGYPTIAN HIEROGLYPH C007
-13064;N # EGYPTIAN HIEROGLYPH C008
-13065;N # EGYPTIAN HIEROGLYPH C009
-13066;N # EGYPTIAN HIEROGLYPH C010
-13067;N # EGYPTIAN HIEROGLYPH C010A
-13068;N # EGYPTIAN HIEROGLYPH C011
-13069;N # EGYPTIAN HIEROGLYPH C012
-1306A;N # EGYPTIAN HIEROGLYPH C013
-1306B;N # EGYPTIAN HIEROGLYPH C014
-1306C;N # EGYPTIAN HIEROGLYPH C015
-1306D;N # EGYPTIAN HIEROGLYPH C016
-1306E;N # EGYPTIAN HIEROGLYPH C017
-1306F;N # EGYPTIAN HIEROGLYPH C018
-13070;N # EGYPTIAN HIEROGLYPH C019
-13071;N # EGYPTIAN HIEROGLYPH C020
-13072;N # EGYPTIAN HIEROGLYPH C021
-13073;N # EGYPTIAN HIEROGLYPH C022
-13074;N # EGYPTIAN HIEROGLYPH C023
-13075;N # EGYPTIAN HIEROGLYPH C024
-13076;N # EGYPTIAN HIEROGLYPH D001
-13077;N # EGYPTIAN HIEROGLYPH D002
-13078;N # EGYPTIAN HIEROGLYPH D003
-13079;N # EGYPTIAN HIEROGLYPH D004
-1307A;N # EGYPTIAN HIEROGLYPH D005
-1307B;N # EGYPTIAN HIEROGLYPH D006
-1307C;N # EGYPTIAN HIEROGLYPH D007
-1307D;N # EGYPTIAN HIEROGLYPH D008
-1307E;N # EGYPTIAN HIEROGLYPH D008A
-1307F;N # EGYPTIAN HIEROGLYPH D009
-13080;N # EGYPTIAN HIEROGLYPH D010
-13081;N # EGYPTIAN HIEROGLYPH D011
-13082;N # EGYPTIAN HIEROGLYPH D012
-13083;N # EGYPTIAN HIEROGLYPH D013
-13084;N # EGYPTIAN HIEROGLYPH D014
-13085;N # EGYPTIAN HIEROGLYPH D015
-13086;N # EGYPTIAN HIEROGLYPH D016
-13087;N # EGYPTIAN HIEROGLYPH D017
-13088;N # EGYPTIAN HIEROGLYPH D018
-13089;N # EGYPTIAN HIEROGLYPH D019
-1308A;N # EGYPTIAN HIEROGLYPH D020
-1308B;N # EGYPTIAN HIEROGLYPH D021
-1308C;N # EGYPTIAN HIEROGLYPH D022
-1308D;N # EGYPTIAN HIEROGLYPH D023
-1308E;N # EGYPTIAN HIEROGLYPH D024
-1308F;N # EGYPTIAN HIEROGLYPH D025
-13090;N # EGYPTIAN HIEROGLYPH D026
-13091;N # EGYPTIAN HIEROGLYPH D027
-13092;N # EGYPTIAN HIEROGLYPH D027A
-13093;N # EGYPTIAN HIEROGLYPH D028
-13094;N # EGYPTIAN HIEROGLYPH D029
-13095;N # EGYPTIAN HIEROGLYPH D030
-13096;N # EGYPTIAN HIEROGLYPH D031
-13097;N # EGYPTIAN HIEROGLYPH D031A
-13098;N # EGYPTIAN HIEROGLYPH D032
-13099;N # EGYPTIAN HIEROGLYPH D033
-1309A;N # EGYPTIAN HIEROGLYPH D034
-1309B;N # EGYPTIAN HIEROGLYPH D034A
-1309C;N # EGYPTIAN HIEROGLYPH D035
-1309D;N # EGYPTIAN HIEROGLYPH D036
-1309E;N # EGYPTIAN HIEROGLYPH D037
-1309F;N # EGYPTIAN HIEROGLYPH D038
-130A0;N # EGYPTIAN HIEROGLYPH D039
-130A1;N # EGYPTIAN HIEROGLYPH D040
-130A2;N # EGYPTIAN HIEROGLYPH D041
-130A3;N # EGYPTIAN HIEROGLYPH D042
-130A4;N # EGYPTIAN HIEROGLYPH D043
-130A5;N # EGYPTIAN HIEROGLYPH D044
-130A6;N # EGYPTIAN HIEROGLYPH D045
-130A7;N # EGYPTIAN HIEROGLYPH D046
-130A8;N # EGYPTIAN HIEROGLYPH D046A
-130A9;N # EGYPTIAN HIEROGLYPH D047
-130AA;N # EGYPTIAN HIEROGLYPH D048
-130AB;N # EGYPTIAN HIEROGLYPH D048A
-130AC;N # EGYPTIAN HIEROGLYPH D049
-130AD;N # EGYPTIAN HIEROGLYPH D050
-130AE;N # EGYPTIAN HIEROGLYPH D050A
-130AF;N # EGYPTIAN HIEROGLYPH D050B
-130B0;N # EGYPTIAN HIEROGLYPH D050C
-130B1;N # EGYPTIAN HIEROGLYPH D050D
-130B2;N # EGYPTIAN HIEROGLYPH D050E
-130B3;N # EGYPTIAN HIEROGLYPH D050F
-130B4;N # EGYPTIAN HIEROGLYPH D050G
-130B5;N # EGYPTIAN HIEROGLYPH D050H
-130B6;N # EGYPTIAN HIEROGLYPH D050I
-130B7;N # EGYPTIAN HIEROGLYPH D051
-130B8;N # EGYPTIAN HIEROGLYPH D052
-130B9;N # EGYPTIAN HIEROGLYPH D052A
-130BA;N # EGYPTIAN HIEROGLYPH D053
-130BB;N # EGYPTIAN HIEROGLYPH D054
-130BC;N # EGYPTIAN HIEROGLYPH D054A
-130BD;N # EGYPTIAN HIEROGLYPH D055
-130BE;N # EGYPTIAN HIEROGLYPH D056
-130BF;N # EGYPTIAN HIEROGLYPH D057
-130C0;N # EGYPTIAN HIEROGLYPH D058
-130C1;N # EGYPTIAN HIEROGLYPH D059
-130C2;N # EGYPTIAN HIEROGLYPH D060
-130C3;N # EGYPTIAN HIEROGLYPH D061
-130C4;N # EGYPTIAN HIEROGLYPH D062
-130C5;N # EGYPTIAN HIEROGLYPH D063
-130C6;N # EGYPTIAN HIEROGLYPH D064
-130C7;N # EGYPTIAN HIEROGLYPH D065
-130C8;N # EGYPTIAN HIEROGLYPH D066
-130C9;N # EGYPTIAN HIEROGLYPH D067
-130CA;N # EGYPTIAN HIEROGLYPH D067A
-130CB;N # EGYPTIAN HIEROGLYPH D067B
-130CC;N # EGYPTIAN HIEROGLYPH D067C
-130CD;N # EGYPTIAN HIEROGLYPH D067D
-130CE;N # EGYPTIAN HIEROGLYPH D067E
-130CF;N # EGYPTIAN HIEROGLYPH D067F
-130D0;N # EGYPTIAN HIEROGLYPH D067G
-130D1;N # EGYPTIAN HIEROGLYPH D067H
-130D2;N # EGYPTIAN HIEROGLYPH E001
-130D3;N # EGYPTIAN HIEROGLYPH E002
-130D4;N # EGYPTIAN HIEROGLYPH E003
-130D5;N # EGYPTIAN HIEROGLYPH E004
-130D6;N # EGYPTIAN HIEROGLYPH E005
-130D7;N # EGYPTIAN HIEROGLYPH E006
-130D8;N # EGYPTIAN HIEROGLYPH E007
-130D9;N # EGYPTIAN HIEROGLYPH E008
-130DA;N # EGYPTIAN HIEROGLYPH E008A
-130DB;N # EGYPTIAN HIEROGLYPH E009
-130DC;N # EGYPTIAN HIEROGLYPH E009A
-130DD;N # EGYPTIAN HIEROGLYPH E010
-130DE;N # EGYPTIAN HIEROGLYPH E011
-130DF;N # EGYPTIAN HIEROGLYPH E012
-130E0;N # EGYPTIAN HIEROGLYPH E013
-130E1;N # EGYPTIAN HIEROGLYPH E014
-130E2;N # EGYPTIAN HIEROGLYPH E015
-130E3;N # EGYPTIAN HIEROGLYPH E016
-130E4;N # EGYPTIAN HIEROGLYPH E016A
-130E5;N # EGYPTIAN HIEROGLYPH E017
-130E6;N # EGYPTIAN HIEROGLYPH E017A
-130E7;N # EGYPTIAN HIEROGLYPH E018
-130E8;N # EGYPTIAN HIEROGLYPH E019
-130E9;N # EGYPTIAN HIEROGLYPH E020
-130EA;N # EGYPTIAN HIEROGLYPH E020A
-130EB;N # EGYPTIAN HIEROGLYPH E021
-130EC;N # EGYPTIAN HIEROGLYPH E022
-130ED;N # EGYPTIAN HIEROGLYPH E023
-130EE;N # EGYPTIAN HIEROGLYPH E024
-130EF;N # EGYPTIAN HIEROGLYPH E025
-130F0;N # EGYPTIAN HIEROGLYPH E026
-130F1;N # EGYPTIAN HIEROGLYPH E027
-130F2;N # EGYPTIAN HIEROGLYPH E028
-130F3;N # EGYPTIAN HIEROGLYPH E028A
-130F4;N # EGYPTIAN HIEROGLYPH E029
-130F5;N # EGYPTIAN HIEROGLYPH E030
-130F6;N # EGYPTIAN HIEROGLYPH E031
-130F7;N # EGYPTIAN HIEROGLYPH E032
-130F8;N # EGYPTIAN HIEROGLYPH E033
-130F9;N # EGYPTIAN HIEROGLYPH E034
-130FA;N # EGYPTIAN HIEROGLYPH E034A
-130FB;N # EGYPTIAN HIEROGLYPH E036
-130FC;N # EGYPTIAN HIEROGLYPH E037
-130FD;N # EGYPTIAN HIEROGLYPH E038
-130FE;N # EGYPTIAN HIEROGLYPH F001
-130FF;N # EGYPTIAN HIEROGLYPH F001A
-13100;N # EGYPTIAN HIEROGLYPH F002
-13101;N # EGYPTIAN HIEROGLYPH F003
-13102;N # EGYPTIAN HIEROGLYPH F004
-13103;N # EGYPTIAN HIEROGLYPH F005
-13104;N # EGYPTIAN HIEROGLYPH F006
-13105;N # EGYPTIAN HIEROGLYPH F007
-13106;N # EGYPTIAN HIEROGLYPH F008
-13107;N # EGYPTIAN HIEROGLYPH F009
-13108;N # EGYPTIAN HIEROGLYPH F010
-13109;N # EGYPTIAN HIEROGLYPH F011
-1310A;N # EGYPTIAN HIEROGLYPH F012
-1310B;N # EGYPTIAN HIEROGLYPH F013
-1310C;N # EGYPTIAN HIEROGLYPH F013A
-1310D;N # EGYPTIAN HIEROGLYPH F014
-1310E;N # EGYPTIAN HIEROGLYPH F015
-1310F;N # EGYPTIAN HIEROGLYPH F016
-13110;N # EGYPTIAN HIEROGLYPH F017
-13111;N # EGYPTIAN HIEROGLYPH F018
-13112;N # EGYPTIAN HIEROGLYPH F019
-13113;N # EGYPTIAN HIEROGLYPH F020
-13114;N # EGYPTIAN HIEROGLYPH F021
-13115;N # EGYPTIAN HIEROGLYPH F021A
-13116;N # EGYPTIAN HIEROGLYPH F022
-13117;N # EGYPTIAN HIEROGLYPH F023
-13118;N # EGYPTIAN HIEROGLYPH F024
-13119;N # EGYPTIAN HIEROGLYPH F025
-1311A;N # EGYPTIAN HIEROGLYPH F026
-1311B;N # EGYPTIAN HIEROGLYPH F027
-1311C;N # EGYPTIAN HIEROGLYPH F028
-1311D;N # EGYPTIAN HIEROGLYPH F029
-1311E;N # EGYPTIAN HIEROGLYPH F030
-1311F;N # EGYPTIAN HIEROGLYPH F031
-13120;N # EGYPTIAN HIEROGLYPH F031A
-13121;N # EGYPTIAN HIEROGLYPH F032
-13122;N # EGYPTIAN HIEROGLYPH F033
-13123;N # EGYPTIAN HIEROGLYPH F034
-13124;N # EGYPTIAN HIEROGLYPH F035
-13125;N # EGYPTIAN HIEROGLYPH F036
-13126;N # EGYPTIAN HIEROGLYPH F037
-13127;N # EGYPTIAN HIEROGLYPH F037A
-13128;N # EGYPTIAN HIEROGLYPH F038
-13129;N # EGYPTIAN HIEROGLYPH F038A
-1312A;N # EGYPTIAN HIEROGLYPH F039
-1312B;N # EGYPTIAN HIEROGLYPH F040
-1312C;N # EGYPTIAN HIEROGLYPH F041
-1312D;N # EGYPTIAN HIEROGLYPH F042
-1312E;N # EGYPTIAN HIEROGLYPH F043
-1312F;N # EGYPTIAN HIEROGLYPH F044
-13130;N # EGYPTIAN HIEROGLYPH F045
-13131;N # EGYPTIAN HIEROGLYPH F045A
-13132;N # EGYPTIAN HIEROGLYPH F046
-13133;N # EGYPTIAN HIEROGLYPH F046A
-13134;N # EGYPTIAN HIEROGLYPH F047
-13135;N # EGYPTIAN HIEROGLYPH F047A
-13136;N # EGYPTIAN HIEROGLYPH F048
-13137;N # EGYPTIAN HIEROGLYPH F049
-13138;N # EGYPTIAN HIEROGLYPH F050
-13139;N # EGYPTIAN HIEROGLYPH F051
-1313A;N # EGYPTIAN HIEROGLYPH F051A
-1313B;N # EGYPTIAN HIEROGLYPH F051B
-1313C;N # EGYPTIAN HIEROGLYPH F051C
-1313D;N # EGYPTIAN HIEROGLYPH F052
-1313E;N # EGYPTIAN HIEROGLYPH F053
-1313F;N # EGYPTIAN HIEROGLYPH G001
-13140;N # EGYPTIAN HIEROGLYPH G002
-13141;N # EGYPTIAN HIEROGLYPH G003
-13142;N # EGYPTIAN HIEROGLYPH G004
-13143;N # EGYPTIAN HIEROGLYPH G005
-13144;N # EGYPTIAN HIEROGLYPH G006
-13145;N # EGYPTIAN HIEROGLYPH G006A
-13146;N # EGYPTIAN HIEROGLYPH G007
-13147;N # EGYPTIAN HIEROGLYPH G007A
-13148;N # EGYPTIAN HIEROGLYPH G007B
-13149;N # EGYPTIAN HIEROGLYPH G008
-1314A;N # EGYPTIAN HIEROGLYPH G009
-1314B;N # EGYPTIAN HIEROGLYPH G010
-1314C;N # EGYPTIAN HIEROGLYPH G011
-1314D;N # EGYPTIAN HIEROGLYPH G011A
-1314E;N # EGYPTIAN HIEROGLYPH G012
-1314F;N # EGYPTIAN HIEROGLYPH G013
-13150;N # EGYPTIAN HIEROGLYPH G014
-13151;N # EGYPTIAN HIEROGLYPH G015
-13152;N # EGYPTIAN HIEROGLYPH G016
-13153;N # EGYPTIAN HIEROGLYPH G017
-13154;N # EGYPTIAN HIEROGLYPH G018
-13155;N # EGYPTIAN HIEROGLYPH G019
-13156;N # EGYPTIAN HIEROGLYPH G020
-13157;N # EGYPTIAN HIEROGLYPH G020A
-13158;N # EGYPTIAN HIEROGLYPH G021
-13159;N # EGYPTIAN HIEROGLYPH G022
-1315A;N # EGYPTIAN HIEROGLYPH G023
-1315B;N # EGYPTIAN HIEROGLYPH G024
-1315C;N # EGYPTIAN HIEROGLYPH G025
-1315D;N # EGYPTIAN HIEROGLYPH G026
-1315E;N # EGYPTIAN HIEROGLYPH G026A
-1315F;N # EGYPTIAN HIEROGLYPH G027
-13160;N # EGYPTIAN HIEROGLYPH G028
-13161;N # EGYPTIAN HIEROGLYPH G029
-13162;N # EGYPTIAN HIEROGLYPH G030
-13163;N # EGYPTIAN HIEROGLYPH G031
-13164;N # EGYPTIAN HIEROGLYPH G032
-13165;N # EGYPTIAN HIEROGLYPH G033
-13166;N # EGYPTIAN HIEROGLYPH G034
-13167;N # EGYPTIAN HIEROGLYPH G035
-13168;N # EGYPTIAN HIEROGLYPH G036
-13169;N # EGYPTIAN HIEROGLYPH G036A
-1316A;N # EGYPTIAN HIEROGLYPH G037
-1316B;N # EGYPTIAN HIEROGLYPH G037A
-1316C;N # EGYPTIAN HIEROGLYPH G038
-1316D;N # EGYPTIAN HIEROGLYPH G039
-1316E;N # EGYPTIAN HIEROGLYPH G040
-1316F;N # EGYPTIAN HIEROGLYPH G041
-13170;N # EGYPTIAN HIEROGLYPH G042
-13171;N # EGYPTIAN HIEROGLYPH G043
-13172;N # EGYPTIAN HIEROGLYPH G043A
-13173;N # EGYPTIAN HIEROGLYPH G044
-13174;N # EGYPTIAN HIEROGLYPH G045
-13175;N # EGYPTIAN HIEROGLYPH G045A
-13176;N # EGYPTIAN HIEROGLYPH G046
-13177;N # EGYPTIAN HIEROGLYPH G047
-13178;N # EGYPTIAN HIEROGLYPH G048
-13179;N # EGYPTIAN HIEROGLYPH G049
-1317A;N # EGYPTIAN HIEROGLYPH G050
-1317B;N # EGYPTIAN HIEROGLYPH G051
-1317C;N # EGYPTIAN HIEROGLYPH G052
-1317D;N # EGYPTIAN HIEROGLYPH G053
-1317E;N # EGYPTIAN HIEROGLYPH G054
-1317F;N # EGYPTIAN HIEROGLYPH H001
-13180;N # EGYPTIAN HIEROGLYPH H002
-13181;N # EGYPTIAN HIEROGLYPH H003
-13182;N # EGYPTIAN HIEROGLYPH H004
-13183;N # EGYPTIAN HIEROGLYPH H005
-13184;N # EGYPTIAN HIEROGLYPH H006
-13185;N # EGYPTIAN HIEROGLYPH H006A
-13186;N # EGYPTIAN HIEROGLYPH H007
-13187;N # EGYPTIAN HIEROGLYPH H008
-13188;N # EGYPTIAN HIEROGLYPH I001
-13189;N # EGYPTIAN HIEROGLYPH I002
-1318A;N # EGYPTIAN HIEROGLYPH I003
-1318B;N # EGYPTIAN HIEROGLYPH I004
-1318C;N # EGYPTIAN HIEROGLYPH I005
-1318D;N # EGYPTIAN HIEROGLYPH I005A
-1318E;N # EGYPTIAN HIEROGLYPH I006
-1318F;N # EGYPTIAN HIEROGLYPH I007
-13190;N # EGYPTIAN HIEROGLYPH I008
-13191;N # EGYPTIAN HIEROGLYPH I009
-13192;N # EGYPTIAN HIEROGLYPH I009A
-13193;N # EGYPTIAN HIEROGLYPH I010
-13194;N # EGYPTIAN HIEROGLYPH I010A
-13195;N # EGYPTIAN HIEROGLYPH I011
-13196;N # EGYPTIAN HIEROGLYPH I011A
-13197;N # EGYPTIAN HIEROGLYPH I012
-13198;N # EGYPTIAN HIEROGLYPH I013
-13199;N # EGYPTIAN HIEROGLYPH I014
-1319A;N # EGYPTIAN HIEROGLYPH I015
-1319B;N # EGYPTIAN HIEROGLYPH K001
-1319C;N # EGYPTIAN HIEROGLYPH K002
-1319D;N # EGYPTIAN HIEROGLYPH K003
-1319E;N # EGYPTIAN HIEROGLYPH K004
-1319F;N # EGYPTIAN HIEROGLYPH K005
-131A0;N # EGYPTIAN HIEROGLYPH K006
-131A1;N # EGYPTIAN HIEROGLYPH K007
-131A2;N # EGYPTIAN HIEROGLYPH K008
-131A3;N # EGYPTIAN HIEROGLYPH L001
-131A4;N # EGYPTIAN HIEROGLYPH L002
-131A5;N # EGYPTIAN HIEROGLYPH L002A
-131A6;N # EGYPTIAN HIEROGLYPH L003
-131A7;N # EGYPTIAN HIEROGLYPH L004
-131A8;N # EGYPTIAN HIEROGLYPH L005
-131A9;N # EGYPTIAN HIEROGLYPH L006
-131AA;N # EGYPTIAN HIEROGLYPH L006A
-131AB;N # EGYPTIAN HIEROGLYPH L007
-131AC;N # EGYPTIAN HIEROGLYPH L008
-131AD;N # EGYPTIAN HIEROGLYPH M001
-131AE;N # EGYPTIAN HIEROGLYPH M001A
-131AF;N # EGYPTIAN HIEROGLYPH M001B
-131B0;N # EGYPTIAN HIEROGLYPH M002
-131B1;N # EGYPTIAN HIEROGLYPH M003
-131B2;N # EGYPTIAN HIEROGLYPH M003A
-131B3;N # EGYPTIAN HIEROGLYPH M004
-131B4;N # EGYPTIAN HIEROGLYPH M005
-131B5;N # EGYPTIAN HIEROGLYPH M006
-131B6;N # EGYPTIAN HIEROGLYPH M007
-131B7;N # EGYPTIAN HIEROGLYPH M008
-131B8;N # EGYPTIAN HIEROGLYPH M009
-131B9;N # EGYPTIAN HIEROGLYPH M010
-131BA;N # EGYPTIAN HIEROGLYPH M010A
-131BB;N # EGYPTIAN HIEROGLYPH M011
-131BC;N # EGYPTIAN HIEROGLYPH M012
-131BD;N # EGYPTIAN HIEROGLYPH M012A
-131BE;N # EGYPTIAN HIEROGLYPH M012B
-131BF;N # EGYPTIAN HIEROGLYPH M012C
-131C0;N # EGYPTIAN HIEROGLYPH M012D
-131C1;N # EGYPTIAN HIEROGLYPH M012E
-131C2;N # EGYPTIAN HIEROGLYPH M012F
-131C3;N # EGYPTIAN HIEROGLYPH M012G
-131C4;N # EGYPTIAN HIEROGLYPH M012H
-131C5;N # EGYPTIAN HIEROGLYPH M013
-131C6;N # EGYPTIAN HIEROGLYPH M014
-131C7;N # EGYPTIAN HIEROGLYPH M015
-131C8;N # EGYPTIAN HIEROGLYPH M015A
-131C9;N # EGYPTIAN HIEROGLYPH M016
-131CA;N # EGYPTIAN HIEROGLYPH M016A
-131CB;N # EGYPTIAN HIEROGLYPH M017
-131CC;N # EGYPTIAN HIEROGLYPH M017A
-131CD;N # EGYPTIAN HIEROGLYPH M018
-131CE;N # EGYPTIAN HIEROGLYPH M019
-131CF;N # EGYPTIAN HIEROGLYPH M020
-131D0;N # EGYPTIAN HIEROGLYPH M021
-131D1;N # EGYPTIAN HIEROGLYPH M022
-131D2;N # EGYPTIAN HIEROGLYPH M022A
-131D3;N # EGYPTIAN HIEROGLYPH M023
-131D4;N # EGYPTIAN HIEROGLYPH M024
-131D5;N # EGYPTIAN HIEROGLYPH M024A
-131D6;N # EGYPTIAN HIEROGLYPH M025
-131D7;N # EGYPTIAN HIEROGLYPH M026
-131D8;N # EGYPTIAN HIEROGLYPH M027
-131D9;N # EGYPTIAN HIEROGLYPH M028
-131DA;N # EGYPTIAN HIEROGLYPH M028A
-131DB;N # EGYPTIAN HIEROGLYPH M029
-131DC;N # EGYPTIAN HIEROGLYPH M030
-131DD;N # EGYPTIAN HIEROGLYPH M031
-131DE;N # EGYPTIAN HIEROGLYPH M031A
-131DF;N # EGYPTIAN HIEROGLYPH M032
-131E0;N # EGYPTIAN HIEROGLYPH M033
-131E1;N # EGYPTIAN HIEROGLYPH M033A
-131E2;N # EGYPTIAN HIEROGLYPH M033B
-131E3;N # EGYPTIAN HIEROGLYPH M034
-131E4;N # EGYPTIAN HIEROGLYPH M035
-131E5;N # EGYPTIAN HIEROGLYPH M036
-131E6;N # EGYPTIAN HIEROGLYPH M037
-131E7;N # EGYPTIAN HIEROGLYPH M038
-131E8;N # EGYPTIAN HIEROGLYPH M039
-131E9;N # EGYPTIAN HIEROGLYPH M040
-131EA;N # EGYPTIAN HIEROGLYPH M040A
-131EB;N # EGYPTIAN HIEROGLYPH M041
-131EC;N # EGYPTIAN HIEROGLYPH M042
-131ED;N # EGYPTIAN HIEROGLYPH M043
-131EE;N # EGYPTIAN HIEROGLYPH M044
-131EF;N # EGYPTIAN HIEROGLYPH N001
-131F0;N # EGYPTIAN HIEROGLYPH N002
-131F1;N # EGYPTIAN HIEROGLYPH N003
-131F2;N # EGYPTIAN HIEROGLYPH N004
-131F3;N # EGYPTIAN HIEROGLYPH N005
-131F4;N # EGYPTIAN HIEROGLYPH N006
-131F5;N # EGYPTIAN HIEROGLYPH N007
-131F6;N # EGYPTIAN HIEROGLYPH N008
-131F7;N # EGYPTIAN HIEROGLYPH N009
-131F8;N # EGYPTIAN HIEROGLYPH N010
-131F9;N # EGYPTIAN HIEROGLYPH N011
-131FA;N # EGYPTIAN HIEROGLYPH N012
-131FB;N # EGYPTIAN HIEROGLYPH N013
-131FC;N # EGYPTIAN HIEROGLYPH N014
-131FD;N # EGYPTIAN HIEROGLYPH N015
-131FE;N # EGYPTIAN HIEROGLYPH N016
-131FF;N # EGYPTIAN HIEROGLYPH N017
-13200;N # EGYPTIAN HIEROGLYPH N018
-13201;N # EGYPTIAN HIEROGLYPH N018A
-13202;N # EGYPTIAN HIEROGLYPH N018B
-13203;N # EGYPTIAN HIEROGLYPH N019
-13204;N # EGYPTIAN HIEROGLYPH N020
-13205;N # EGYPTIAN HIEROGLYPH N021
-13206;N # EGYPTIAN HIEROGLYPH N022
-13207;N # EGYPTIAN HIEROGLYPH N023
-13208;N # EGYPTIAN HIEROGLYPH N024
-13209;N # EGYPTIAN HIEROGLYPH N025
-1320A;N # EGYPTIAN HIEROGLYPH N025A
-1320B;N # EGYPTIAN HIEROGLYPH N026
-1320C;N # EGYPTIAN HIEROGLYPH N027
-1320D;N # EGYPTIAN HIEROGLYPH N028
-1320E;N # EGYPTIAN HIEROGLYPH N029
-1320F;N # EGYPTIAN HIEROGLYPH N030
-13210;N # EGYPTIAN HIEROGLYPH N031
-13211;N # EGYPTIAN HIEROGLYPH N032
-13212;N # EGYPTIAN HIEROGLYPH N033
-13213;N # EGYPTIAN HIEROGLYPH N033A
-13214;N # EGYPTIAN HIEROGLYPH N034
-13215;N # EGYPTIAN HIEROGLYPH N034A
-13216;N # EGYPTIAN HIEROGLYPH N035
-13217;N # EGYPTIAN HIEROGLYPH N035A
-13218;N # EGYPTIAN HIEROGLYPH N036
-13219;N # EGYPTIAN HIEROGLYPH N037
-1321A;N # EGYPTIAN HIEROGLYPH N037A
-1321B;N # EGYPTIAN HIEROGLYPH N038
-1321C;N # EGYPTIAN HIEROGLYPH N039
-1321D;N # EGYPTIAN HIEROGLYPH N040
-1321E;N # EGYPTIAN HIEROGLYPH N041
-1321F;N # EGYPTIAN HIEROGLYPH N042
-13220;N # EGYPTIAN HIEROGLYPH NL001
-13221;N # EGYPTIAN HIEROGLYPH NL002
-13222;N # EGYPTIAN HIEROGLYPH NL003
-13223;N # EGYPTIAN HIEROGLYPH NL004
-13224;N # EGYPTIAN HIEROGLYPH NL005
-13225;N # EGYPTIAN HIEROGLYPH NL005A
-13226;N # EGYPTIAN HIEROGLYPH NL006
-13227;N # EGYPTIAN HIEROGLYPH NL007
-13228;N # EGYPTIAN HIEROGLYPH NL008
-13229;N # EGYPTIAN HIEROGLYPH NL009
-1322A;N # EGYPTIAN HIEROGLYPH NL010
-1322B;N # EGYPTIAN HIEROGLYPH NL011
-1322C;N # EGYPTIAN HIEROGLYPH NL012
-1322D;N # EGYPTIAN HIEROGLYPH NL013
-1322E;N # EGYPTIAN HIEROGLYPH NL014
-1322F;N # EGYPTIAN HIEROGLYPH NL015
-13230;N # EGYPTIAN HIEROGLYPH NL016
-13231;N # EGYPTIAN HIEROGLYPH NL017
-13232;N # EGYPTIAN HIEROGLYPH NL017A
-13233;N # EGYPTIAN HIEROGLYPH NL018
-13234;N # EGYPTIAN HIEROGLYPH NL019
-13235;N # EGYPTIAN HIEROGLYPH NL020
-13236;N # EGYPTIAN HIEROGLYPH NU001
-13237;N # EGYPTIAN HIEROGLYPH NU002
-13238;N # EGYPTIAN HIEROGLYPH NU003
-13239;N # EGYPTIAN HIEROGLYPH NU004
-1323A;N # EGYPTIAN HIEROGLYPH NU005
-1323B;N # EGYPTIAN HIEROGLYPH NU006
-1323C;N # EGYPTIAN HIEROGLYPH NU007
-1323D;N # EGYPTIAN HIEROGLYPH NU008
-1323E;N # EGYPTIAN HIEROGLYPH NU009
-1323F;N # EGYPTIAN HIEROGLYPH NU010
-13240;N # EGYPTIAN HIEROGLYPH NU010A
-13241;N # EGYPTIAN HIEROGLYPH NU011
-13242;N # EGYPTIAN HIEROGLYPH NU011A
-13243;N # EGYPTIAN HIEROGLYPH NU012
-13244;N # EGYPTIAN HIEROGLYPH NU013
-13245;N # EGYPTIAN HIEROGLYPH NU014
-13246;N # EGYPTIAN HIEROGLYPH NU015
-13247;N # EGYPTIAN HIEROGLYPH NU016
-13248;N # EGYPTIAN HIEROGLYPH NU017
-13249;N # EGYPTIAN HIEROGLYPH NU018
-1324A;N # EGYPTIAN HIEROGLYPH NU018A
-1324B;N # EGYPTIAN HIEROGLYPH NU019
-1324C;N # EGYPTIAN HIEROGLYPH NU020
-1324D;N # EGYPTIAN HIEROGLYPH NU021
-1324E;N # EGYPTIAN HIEROGLYPH NU022
-1324F;N # EGYPTIAN HIEROGLYPH NU022A
-13250;N # EGYPTIAN HIEROGLYPH O001
-13251;N # EGYPTIAN HIEROGLYPH O001A
-13252;N # EGYPTIAN HIEROGLYPH O002
-13253;N # EGYPTIAN HIEROGLYPH O003
-13254;N # EGYPTIAN HIEROGLYPH O004
-13255;N # EGYPTIAN HIEROGLYPH O005
-13256;N # EGYPTIAN HIEROGLYPH O005A
-13257;N # EGYPTIAN HIEROGLYPH O006
-13258;N # EGYPTIAN HIEROGLYPH O006A
-13259;N # EGYPTIAN HIEROGLYPH O006B
-1325A;N # EGYPTIAN HIEROGLYPH O006C
-1325B;N # EGYPTIAN HIEROGLYPH O006D
-1325C;N # EGYPTIAN HIEROGLYPH O006E
-1325D;N # EGYPTIAN HIEROGLYPH O006F
-1325E;N # EGYPTIAN HIEROGLYPH O007
-1325F;N # EGYPTIAN HIEROGLYPH O008
-13260;N # EGYPTIAN HIEROGLYPH O009
-13261;N # EGYPTIAN HIEROGLYPH O010
-13262;N # EGYPTIAN HIEROGLYPH O010A
-13263;N # EGYPTIAN HIEROGLYPH O010B
-13264;N # EGYPTIAN HIEROGLYPH O010C
-13265;N # EGYPTIAN HIEROGLYPH O011
-13266;N # EGYPTIAN HIEROGLYPH O012
-13267;N # EGYPTIAN HIEROGLYPH O013
-13268;N # EGYPTIAN HIEROGLYPH O014
-13269;N # EGYPTIAN HIEROGLYPH O015
-1326A;N # EGYPTIAN HIEROGLYPH O016
-1326B;N # EGYPTIAN HIEROGLYPH O017
-1326C;N # EGYPTIAN HIEROGLYPH O018
-1326D;N # EGYPTIAN HIEROGLYPH O019
-1326E;N # EGYPTIAN HIEROGLYPH O019A
-1326F;N # EGYPTIAN HIEROGLYPH O020
-13270;N # EGYPTIAN HIEROGLYPH O020A
-13271;N # EGYPTIAN HIEROGLYPH O021
-13272;N # EGYPTIAN HIEROGLYPH O022
-13273;N # EGYPTIAN HIEROGLYPH O023
-13274;N # EGYPTIAN HIEROGLYPH O024
-13275;N # EGYPTIAN HIEROGLYPH O024A
-13276;N # EGYPTIAN HIEROGLYPH O025
-13277;N # EGYPTIAN HIEROGLYPH O025A
-13278;N # EGYPTIAN HIEROGLYPH O026
-13279;N # EGYPTIAN HIEROGLYPH O027
-1327A;N # EGYPTIAN HIEROGLYPH O028
-1327B;N # EGYPTIAN HIEROGLYPH O029
-1327C;N # EGYPTIAN HIEROGLYPH O029A
-1327D;N # EGYPTIAN HIEROGLYPH O030
-1327E;N # EGYPTIAN HIEROGLYPH O030A
-1327F;N # EGYPTIAN HIEROGLYPH O031
-13280;N # EGYPTIAN HIEROGLYPH O032
-13281;N # EGYPTIAN HIEROGLYPH O033
-13282;N # EGYPTIAN HIEROGLYPH O033A
-13283;N # EGYPTIAN HIEROGLYPH O034
-13284;N # EGYPTIAN HIEROGLYPH O035
-13285;N # EGYPTIAN HIEROGLYPH O036
-13286;N # EGYPTIAN HIEROGLYPH O036A
-13287;N # EGYPTIAN HIEROGLYPH O036B
-13288;N # EGYPTIAN HIEROGLYPH O036C
-13289;N # EGYPTIAN HIEROGLYPH O036D
-1328A;N # EGYPTIAN HIEROGLYPH O037
-1328B;N # EGYPTIAN HIEROGLYPH O038
-1328C;N # EGYPTIAN HIEROGLYPH O039
-1328D;N # EGYPTIAN HIEROGLYPH O040
-1328E;N # EGYPTIAN HIEROGLYPH O041
-1328F;N # EGYPTIAN HIEROGLYPH O042
-13290;N # EGYPTIAN HIEROGLYPH O043
-13291;N # EGYPTIAN HIEROGLYPH O044
-13292;N # EGYPTIAN HIEROGLYPH O045
-13293;N # EGYPTIAN HIEROGLYPH O046
-13294;N # EGYPTIAN HIEROGLYPH O047
-13295;N # EGYPTIAN HIEROGLYPH O048
-13296;N # EGYPTIAN HIEROGLYPH O049
-13297;N # EGYPTIAN HIEROGLYPH O050
-13298;N # EGYPTIAN HIEROGLYPH O050A
-13299;N # EGYPTIAN HIEROGLYPH O050B
-1329A;N # EGYPTIAN HIEROGLYPH O051
-1329B;N # EGYPTIAN HIEROGLYPH P001
-1329C;N # EGYPTIAN HIEROGLYPH P001A
-1329D;N # EGYPTIAN HIEROGLYPH P002
-1329E;N # EGYPTIAN HIEROGLYPH P003
-1329F;N # EGYPTIAN HIEROGLYPH P003A
-132A0;N # EGYPTIAN HIEROGLYPH P004
-132A1;N # EGYPTIAN HIEROGLYPH P005
-132A2;N # EGYPTIAN HIEROGLYPH P006
-132A3;N # EGYPTIAN HIEROGLYPH P007
-132A4;N # EGYPTIAN HIEROGLYPH P008
-132A5;N # EGYPTIAN HIEROGLYPH P009
-132A6;N # EGYPTIAN HIEROGLYPH P010
-132A7;N # EGYPTIAN HIEROGLYPH P011
-132A8;N # EGYPTIAN HIEROGLYPH Q001
-132A9;N # EGYPTIAN HIEROGLYPH Q002
-132AA;N # EGYPTIAN HIEROGLYPH Q003
-132AB;N # EGYPTIAN HIEROGLYPH Q004
-132AC;N # EGYPTIAN HIEROGLYPH Q005
-132AD;N # EGYPTIAN HIEROGLYPH Q006
-132AE;N # EGYPTIAN HIEROGLYPH Q007
-132AF;N # EGYPTIAN HIEROGLYPH R001
-132B0;N # EGYPTIAN HIEROGLYPH R002
-132B1;N # EGYPTIAN HIEROGLYPH R002A
-132B2;N # EGYPTIAN HIEROGLYPH R003
-132B3;N # EGYPTIAN HIEROGLYPH R003A
-132B4;N # EGYPTIAN HIEROGLYPH R003B
-132B5;N # EGYPTIAN HIEROGLYPH R004
-132B6;N # EGYPTIAN HIEROGLYPH R005
-132B7;N # EGYPTIAN HIEROGLYPH R006
-132B8;N # EGYPTIAN HIEROGLYPH R007
-132B9;N # EGYPTIAN HIEROGLYPH R008
-132BA;N # EGYPTIAN HIEROGLYPH R009
-132BB;N # EGYPTIAN HIEROGLYPH R010
-132BC;N # EGYPTIAN HIEROGLYPH R010A
-132BD;N # EGYPTIAN HIEROGLYPH R011
-132BE;N # EGYPTIAN HIEROGLYPH R012
-132BF;N # EGYPTIAN HIEROGLYPH R013
-132C0;N # EGYPTIAN HIEROGLYPH R014
-132C1;N # EGYPTIAN HIEROGLYPH R015
-132C2;N # EGYPTIAN HIEROGLYPH R016
-132C3;N # EGYPTIAN HIEROGLYPH R016A
-132C4;N # EGYPTIAN HIEROGLYPH R017
-132C5;N # EGYPTIAN HIEROGLYPH R018
-132C6;N # EGYPTIAN HIEROGLYPH R019
-132C7;N # EGYPTIAN HIEROGLYPH R020
-132C8;N # EGYPTIAN HIEROGLYPH R021
-132C9;N # EGYPTIAN HIEROGLYPH R022
-132CA;N # EGYPTIAN HIEROGLYPH R023
-132CB;N # EGYPTIAN HIEROGLYPH R024
-132CC;N # EGYPTIAN HIEROGLYPH R025
-132CD;N # EGYPTIAN HIEROGLYPH R026
-132CE;N # EGYPTIAN HIEROGLYPH R027
-132CF;N # EGYPTIAN HIEROGLYPH R028
-132D0;N # EGYPTIAN HIEROGLYPH R029
-132D1;N # EGYPTIAN HIEROGLYPH S001
-132D2;N # EGYPTIAN HIEROGLYPH S002
-132D3;N # EGYPTIAN HIEROGLYPH S002A
-132D4;N # EGYPTIAN HIEROGLYPH S003
-132D5;N # EGYPTIAN HIEROGLYPH S004
-132D6;N # EGYPTIAN HIEROGLYPH S005
-132D7;N # EGYPTIAN HIEROGLYPH S006
-132D8;N # EGYPTIAN HIEROGLYPH S006A
-132D9;N # EGYPTIAN HIEROGLYPH S007
-132DA;N # EGYPTIAN HIEROGLYPH S008
-132DB;N # EGYPTIAN HIEROGLYPH S009
-132DC;N # EGYPTIAN HIEROGLYPH S010
-132DD;N # EGYPTIAN HIEROGLYPH S011
-132DE;N # EGYPTIAN HIEROGLYPH S012
-132DF;N # EGYPTIAN HIEROGLYPH S013
-132E0;N # EGYPTIAN HIEROGLYPH S014
-132E1;N # EGYPTIAN HIEROGLYPH S014A
-132E2;N # EGYPTIAN HIEROGLYPH S014B
-132E3;N # EGYPTIAN HIEROGLYPH S015
-132E4;N # EGYPTIAN HIEROGLYPH S016
-132E5;N # EGYPTIAN HIEROGLYPH S017
-132E6;N # EGYPTIAN HIEROGLYPH S017A
-132E7;N # EGYPTIAN HIEROGLYPH S018
-132E8;N # EGYPTIAN HIEROGLYPH S019
-132E9;N # EGYPTIAN HIEROGLYPH S020
-132EA;N # EGYPTIAN HIEROGLYPH S021
-132EB;N # EGYPTIAN HIEROGLYPH S022
-132EC;N # EGYPTIAN HIEROGLYPH S023
-132ED;N # EGYPTIAN HIEROGLYPH S024
-132EE;N # EGYPTIAN HIEROGLYPH S025
-132EF;N # EGYPTIAN HIEROGLYPH S026
-132F0;N # EGYPTIAN HIEROGLYPH S026A
-132F1;N # EGYPTIAN HIEROGLYPH S026B
-132F2;N # EGYPTIAN HIEROGLYPH S027
-132F3;N # EGYPTIAN HIEROGLYPH S028
-132F4;N # EGYPTIAN HIEROGLYPH S029
-132F5;N # EGYPTIAN HIEROGLYPH S030
-132F6;N # EGYPTIAN HIEROGLYPH S031
-132F7;N # EGYPTIAN HIEROGLYPH S032
-132F8;N # EGYPTIAN HIEROGLYPH S033
-132F9;N # EGYPTIAN HIEROGLYPH S034
-132FA;N # EGYPTIAN HIEROGLYPH S035
-132FB;N # EGYPTIAN HIEROGLYPH S035A
-132FC;N # EGYPTIAN HIEROGLYPH S036
-132FD;N # EGYPTIAN HIEROGLYPH S037
-132FE;N # EGYPTIAN HIEROGLYPH S038
-132FF;N # EGYPTIAN HIEROGLYPH S039
-13300;N # EGYPTIAN HIEROGLYPH S040
-13301;N # EGYPTIAN HIEROGLYPH S041
-13302;N # EGYPTIAN HIEROGLYPH S042
-13303;N # EGYPTIAN HIEROGLYPH S043
-13304;N # EGYPTIAN HIEROGLYPH S044
-13305;N # EGYPTIAN HIEROGLYPH S045
-13306;N # EGYPTIAN HIEROGLYPH S046
-13307;N # EGYPTIAN HIEROGLYPH T001
-13308;N # EGYPTIAN HIEROGLYPH T002
-13309;N # EGYPTIAN HIEROGLYPH T003
-1330A;N # EGYPTIAN HIEROGLYPH T003A
-1330B;N # EGYPTIAN HIEROGLYPH T004
-1330C;N # EGYPTIAN HIEROGLYPH T005
-1330D;N # EGYPTIAN HIEROGLYPH T006
-1330E;N # EGYPTIAN HIEROGLYPH T007
-1330F;N # EGYPTIAN HIEROGLYPH T007A
-13310;N # EGYPTIAN HIEROGLYPH T008
-13311;N # EGYPTIAN HIEROGLYPH T008A
-13312;N # EGYPTIAN HIEROGLYPH T009
-13313;N # EGYPTIAN HIEROGLYPH T009A
-13314;N # EGYPTIAN HIEROGLYPH T010
-13315;N # EGYPTIAN HIEROGLYPH T011
-13316;N # EGYPTIAN HIEROGLYPH T011A
-13317;N # EGYPTIAN HIEROGLYPH T012
-13318;N # EGYPTIAN HIEROGLYPH T013
-13319;N # EGYPTIAN HIEROGLYPH T014
-1331A;N # EGYPTIAN HIEROGLYPH T015
-1331B;N # EGYPTIAN HIEROGLYPH T016
-1331C;N # EGYPTIAN HIEROGLYPH T016A
-1331D;N # EGYPTIAN HIEROGLYPH T017
-1331E;N # EGYPTIAN HIEROGLYPH T018
-1331F;N # EGYPTIAN HIEROGLYPH T019
-13320;N # EGYPTIAN HIEROGLYPH T020
-13321;N # EGYPTIAN HIEROGLYPH T021
-13322;N # EGYPTIAN HIEROGLYPH T022
-13323;N # EGYPTIAN HIEROGLYPH T023
-13324;N # EGYPTIAN HIEROGLYPH T024
-13325;N # EGYPTIAN HIEROGLYPH T025
-13326;N # EGYPTIAN HIEROGLYPH T026
-13327;N # EGYPTIAN HIEROGLYPH T027
-13328;N # EGYPTIAN HIEROGLYPH T028
-13329;N # EGYPTIAN HIEROGLYPH T029
-1332A;N # EGYPTIAN HIEROGLYPH T030
-1332B;N # EGYPTIAN HIEROGLYPH T031
-1332C;N # EGYPTIAN HIEROGLYPH T032
-1332D;N # EGYPTIAN HIEROGLYPH T032A
-1332E;N # EGYPTIAN HIEROGLYPH T033
-1332F;N # EGYPTIAN HIEROGLYPH T033A
-13330;N # EGYPTIAN HIEROGLYPH T034
-13331;N # EGYPTIAN HIEROGLYPH T035
-13332;N # EGYPTIAN HIEROGLYPH T036
-13333;N # EGYPTIAN HIEROGLYPH U001
-13334;N # EGYPTIAN HIEROGLYPH U002
-13335;N # EGYPTIAN HIEROGLYPH U003
-13336;N # EGYPTIAN HIEROGLYPH U004
-13337;N # EGYPTIAN HIEROGLYPH U005
-13338;N # EGYPTIAN HIEROGLYPH U006
-13339;N # EGYPTIAN HIEROGLYPH U006A
-1333A;N # EGYPTIAN HIEROGLYPH U006B
-1333B;N # EGYPTIAN HIEROGLYPH U007
-1333C;N # EGYPTIAN HIEROGLYPH U008
-1333D;N # EGYPTIAN HIEROGLYPH U009
-1333E;N # EGYPTIAN HIEROGLYPH U010
-1333F;N # EGYPTIAN HIEROGLYPH U011
-13340;N # EGYPTIAN HIEROGLYPH U012
-13341;N # EGYPTIAN HIEROGLYPH U013
-13342;N # EGYPTIAN HIEROGLYPH U014
-13343;N # EGYPTIAN HIEROGLYPH U015
-13344;N # EGYPTIAN HIEROGLYPH U016
-13345;N # EGYPTIAN HIEROGLYPH U017
-13346;N # EGYPTIAN HIEROGLYPH U018
-13347;N # EGYPTIAN HIEROGLYPH U019
-13348;N # EGYPTIAN HIEROGLYPH U020
-13349;N # EGYPTIAN HIEROGLYPH U021
-1334A;N # EGYPTIAN HIEROGLYPH U022
-1334B;N # EGYPTIAN HIEROGLYPH U023
-1334C;N # EGYPTIAN HIEROGLYPH U023A
-1334D;N # EGYPTIAN HIEROGLYPH U024
-1334E;N # EGYPTIAN HIEROGLYPH U025
-1334F;N # EGYPTIAN HIEROGLYPH U026
-13350;N # EGYPTIAN HIEROGLYPH U027
-13351;N # EGYPTIAN HIEROGLYPH U028
-13352;N # EGYPTIAN HIEROGLYPH U029
-13353;N # EGYPTIAN HIEROGLYPH U029A
-13354;N # EGYPTIAN HIEROGLYPH U030
-13355;N # EGYPTIAN HIEROGLYPH U031
-13356;N # EGYPTIAN HIEROGLYPH U032
-13357;N # EGYPTIAN HIEROGLYPH U032A
-13358;N # EGYPTIAN HIEROGLYPH U033
-13359;N # EGYPTIAN HIEROGLYPH U034
-1335A;N # EGYPTIAN HIEROGLYPH U035
-1335B;N # EGYPTIAN HIEROGLYPH U036
-1335C;N # EGYPTIAN HIEROGLYPH U037
-1335D;N # EGYPTIAN HIEROGLYPH U038
-1335E;N # EGYPTIAN HIEROGLYPH U039
-1335F;N # EGYPTIAN HIEROGLYPH U040
-13360;N # EGYPTIAN HIEROGLYPH U041
-13361;N # EGYPTIAN HIEROGLYPH U042
-13362;N # EGYPTIAN HIEROGLYPH V001
-13363;N # EGYPTIAN HIEROGLYPH V001A
-13364;N # EGYPTIAN HIEROGLYPH V001B
-13365;N # EGYPTIAN HIEROGLYPH V001C
-13366;N # EGYPTIAN HIEROGLYPH V001D
-13367;N # EGYPTIAN HIEROGLYPH V001E
-13368;N # EGYPTIAN HIEROGLYPH V001F
-13369;N # EGYPTIAN HIEROGLYPH V001G
-1336A;N # EGYPTIAN HIEROGLYPH V001H
-1336B;N # EGYPTIAN HIEROGLYPH V001I
-1336C;N # EGYPTIAN HIEROGLYPH V002
-1336D;N # EGYPTIAN HIEROGLYPH V002A
-1336E;N # EGYPTIAN HIEROGLYPH V003
-1336F;N # EGYPTIAN HIEROGLYPH V004
-13370;N # EGYPTIAN HIEROGLYPH V005
-13371;N # EGYPTIAN HIEROGLYPH V006
-13372;N # EGYPTIAN HIEROGLYPH V007
-13373;N # EGYPTIAN HIEROGLYPH V007A
-13374;N # EGYPTIAN HIEROGLYPH V007B
-13375;N # EGYPTIAN HIEROGLYPH V008
-13376;N # EGYPTIAN HIEROGLYPH V009
-13377;N # EGYPTIAN HIEROGLYPH V010
-13378;N # EGYPTIAN HIEROGLYPH V011
-13379;N # EGYPTIAN HIEROGLYPH V011A
-1337A;N # EGYPTIAN HIEROGLYPH V011B
-1337B;N # EGYPTIAN HIEROGLYPH V011C
-1337C;N # EGYPTIAN HIEROGLYPH V012
-1337D;N # EGYPTIAN HIEROGLYPH V012A
-1337E;N # EGYPTIAN HIEROGLYPH V012B
-1337F;N # EGYPTIAN HIEROGLYPH V013
-13380;N # EGYPTIAN HIEROGLYPH V014
-13381;N # EGYPTIAN HIEROGLYPH V015
-13382;N # EGYPTIAN HIEROGLYPH V016
-13383;N # EGYPTIAN HIEROGLYPH V017
-13384;N # EGYPTIAN HIEROGLYPH V018
-13385;N # EGYPTIAN HIEROGLYPH V019
-13386;N # EGYPTIAN HIEROGLYPH V020
-13387;N # EGYPTIAN HIEROGLYPH V020A
-13388;N # EGYPTIAN HIEROGLYPH V020B
-13389;N # EGYPTIAN HIEROGLYPH V020C
-1338A;N # EGYPTIAN HIEROGLYPH V020D
-1338B;N # EGYPTIAN HIEROGLYPH V020E
-1338C;N # EGYPTIAN HIEROGLYPH V020F
-1338D;N # EGYPTIAN HIEROGLYPH V020G
-1338E;N # EGYPTIAN HIEROGLYPH V020H
-1338F;N # EGYPTIAN HIEROGLYPH V020I
-13390;N # EGYPTIAN HIEROGLYPH V020J
-13391;N # EGYPTIAN HIEROGLYPH V020K
-13392;N # EGYPTIAN HIEROGLYPH V020L
-13393;N # EGYPTIAN HIEROGLYPH V021
-13394;N # EGYPTIAN HIEROGLYPH V022
-13395;N # EGYPTIAN HIEROGLYPH V023
-13396;N # EGYPTIAN HIEROGLYPH V023A
-13397;N # EGYPTIAN HIEROGLYPH V024
-13398;N # EGYPTIAN HIEROGLYPH V025
-13399;N # EGYPTIAN HIEROGLYPH V026
-1339A;N # EGYPTIAN HIEROGLYPH V027
-1339B;N # EGYPTIAN HIEROGLYPH V028
-1339C;N # EGYPTIAN HIEROGLYPH V028A
-1339D;N # EGYPTIAN HIEROGLYPH V029
-1339E;N # EGYPTIAN HIEROGLYPH V029A
-1339F;N # EGYPTIAN HIEROGLYPH V030
-133A0;N # EGYPTIAN HIEROGLYPH V030A
-133A1;N # EGYPTIAN HIEROGLYPH V031
-133A2;N # EGYPTIAN HIEROGLYPH V031A
-133A3;N # EGYPTIAN HIEROGLYPH V032
-133A4;N # EGYPTIAN HIEROGLYPH V033
-133A5;N # EGYPTIAN HIEROGLYPH V033A
-133A6;N # EGYPTIAN HIEROGLYPH V034
-133A7;N # EGYPTIAN HIEROGLYPH V035
-133A8;N # EGYPTIAN HIEROGLYPH V036
-133A9;N # EGYPTIAN HIEROGLYPH V037
-133AA;N # EGYPTIAN HIEROGLYPH V037A
-133AB;N # EGYPTIAN HIEROGLYPH V038
-133AC;N # EGYPTIAN HIEROGLYPH V039
-133AD;N # EGYPTIAN HIEROGLYPH V040
-133AE;N # EGYPTIAN HIEROGLYPH V040A
-133AF;N # EGYPTIAN HIEROGLYPH W001
-133B0;N # EGYPTIAN HIEROGLYPH W002
-133B1;N # EGYPTIAN HIEROGLYPH W003
-133B2;N # EGYPTIAN HIEROGLYPH W003A
-133B3;N # EGYPTIAN HIEROGLYPH W004
-133B4;N # EGYPTIAN HIEROGLYPH W005
-133B5;N # EGYPTIAN HIEROGLYPH W006
-133B6;N # EGYPTIAN HIEROGLYPH W007
-133B7;N # EGYPTIAN HIEROGLYPH W008
-133B8;N # EGYPTIAN HIEROGLYPH W009
-133B9;N # EGYPTIAN HIEROGLYPH W009A
-133BA;N # EGYPTIAN HIEROGLYPH W010
-133BB;N # EGYPTIAN HIEROGLYPH W010A
-133BC;N # EGYPTIAN HIEROGLYPH W011
-133BD;N # EGYPTIAN HIEROGLYPH W012
-133BE;N # EGYPTIAN HIEROGLYPH W013
-133BF;N # EGYPTIAN HIEROGLYPH W014
-133C0;N # EGYPTIAN HIEROGLYPH W014A
-133C1;N # EGYPTIAN HIEROGLYPH W015
-133C2;N # EGYPTIAN HIEROGLYPH W016
-133C3;N # EGYPTIAN HIEROGLYPH W017
-133C4;N # EGYPTIAN HIEROGLYPH W017A
-133C5;N # EGYPTIAN HIEROGLYPH W018
-133C6;N # EGYPTIAN HIEROGLYPH W018A
-133C7;N # EGYPTIAN HIEROGLYPH W019
-133C8;N # EGYPTIAN HIEROGLYPH W020
-133C9;N # EGYPTIAN HIEROGLYPH W021
-133CA;N # EGYPTIAN HIEROGLYPH W022
-133CB;N # EGYPTIAN HIEROGLYPH W023
-133CC;N # EGYPTIAN HIEROGLYPH W024
-133CD;N # EGYPTIAN HIEROGLYPH W024A
-133CE;N # EGYPTIAN HIEROGLYPH W025
-133CF;N # EGYPTIAN HIEROGLYPH X001
-133D0;N # EGYPTIAN HIEROGLYPH X002
-133D1;N # EGYPTIAN HIEROGLYPH X003
-133D2;N # EGYPTIAN HIEROGLYPH X004
-133D3;N # EGYPTIAN HIEROGLYPH X004A
-133D4;N # EGYPTIAN HIEROGLYPH X004B
-133D5;N # EGYPTIAN HIEROGLYPH X005
-133D6;N # EGYPTIAN HIEROGLYPH X006
-133D7;N # EGYPTIAN HIEROGLYPH X006A
-133D8;N # EGYPTIAN HIEROGLYPH X007
-133D9;N # EGYPTIAN HIEROGLYPH X008
-133DA;N # EGYPTIAN HIEROGLYPH X008A
-133DB;N # EGYPTIAN HIEROGLYPH Y001
-133DC;N # EGYPTIAN HIEROGLYPH Y001A
-133DD;N # EGYPTIAN HIEROGLYPH Y002
-133DE;N # EGYPTIAN HIEROGLYPH Y003
-133DF;N # EGYPTIAN HIEROGLYPH Y004
-133E0;N # EGYPTIAN HIEROGLYPH Y005
-133E1;N # EGYPTIAN HIEROGLYPH Y006
-133E2;N # EGYPTIAN HIEROGLYPH Y007
-133E3;N # EGYPTIAN HIEROGLYPH Y008
-133E4;N # EGYPTIAN HIEROGLYPH Z001
-133E5;N # EGYPTIAN HIEROGLYPH Z002
-133E6;N # EGYPTIAN HIEROGLYPH Z002A
-133E7;N # EGYPTIAN HIEROGLYPH Z002B
-133E8;N # EGYPTIAN HIEROGLYPH Z002C
-133E9;N # EGYPTIAN HIEROGLYPH Z002D
-133EA;N # EGYPTIAN HIEROGLYPH Z003
-133EB;N # EGYPTIAN HIEROGLYPH Z003A
-133EC;N # EGYPTIAN HIEROGLYPH Z003B
-133ED;N # EGYPTIAN HIEROGLYPH Z004
-133EE;N # EGYPTIAN HIEROGLYPH Z004A
-133EF;N # EGYPTIAN HIEROGLYPH Z005
-133F0;N # EGYPTIAN HIEROGLYPH Z005A
-133F1;N # EGYPTIAN HIEROGLYPH Z006
-133F2;N # EGYPTIAN HIEROGLYPH Z007
-133F3;N # EGYPTIAN HIEROGLYPH Z008
-133F4;N # EGYPTIAN HIEROGLYPH Z009
-133F5;N # EGYPTIAN HIEROGLYPH Z010
-133F6;N # EGYPTIAN HIEROGLYPH Z011
-133F7;N # EGYPTIAN HIEROGLYPH Z012
-133F8;N # EGYPTIAN HIEROGLYPH Z013
-133F9;N # EGYPTIAN HIEROGLYPH Z014
-133FA;N # EGYPTIAN HIEROGLYPH Z015
-133FB;N # EGYPTIAN HIEROGLYPH Z015A
-133FC;N # EGYPTIAN HIEROGLYPH Z015B
-133FD;N # EGYPTIAN HIEROGLYPH Z015C
-133FE;N # EGYPTIAN HIEROGLYPH Z015D
-133FF;N # EGYPTIAN HIEROGLYPH Z015E
-13400;N # EGYPTIAN HIEROGLYPH Z015F
-13401;N # EGYPTIAN HIEROGLYPH Z015G
-13402;N # EGYPTIAN HIEROGLYPH Z015H
-13403;N # EGYPTIAN HIEROGLYPH Z015I
-13404;N # EGYPTIAN HIEROGLYPH Z016
-13405;N # EGYPTIAN HIEROGLYPH Z016A
-13406;N # EGYPTIAN HIEROGLYPH Z016B
-13407;N # EGYPTIAN HIEROGLYPH Z016C
-13408;N # EGYPTIAN HIEROGLYPH Z016D
-13409;N # EGYPTIAN HIEROGLYPH Z016E
-1340A;N # EGYPTIAN HIEROGLYPH Z016F
-1340B;N # EGYPTIAN HIEROGLYPH Z016G
-1340C;N # EGYPTIAN HIEROGLYPH Z016H
-1340D;N # EGYPTIAN HIEROGLYPH AA001
-1340E;N # EGYPTIAN HIEROGLYPH AA002
-1340F;N # EGYPTIAN HIEROGLYPH AA003
-13410;N # EGYPTIAN HIEROGLYPH AA004
-13411;N # EGYPTIAN HIEROGLYPH AA005
-13412;N # EGYPTIAN HIEROGLYPH AA006
-13413;N # EGYPTIAN HIEROGLYPH AA007
-13414;N # EGYPTIAN HIEROGLYPH AA007A
-13415;N # EGYPTIAN HIEROGLYPH AA007B
-13416;N # EGYPTIAN HIEROGLYPH AA008
-13417;N # EGYPTIAN HIEROGLYPH AA009
-13418;N # EGYPTIAN HIEROGLYPH AA010
-13419;N # EGYPTIAN HIEROGLYPH AA011
-1341A;N # EGYPTIAN HIEROGLYPH AA012
-1341B;N # EGYPTIAN HIEROGLYPH AA013
-1341C;N # EGYPTIAN HIEROGLYPH AA014
-1341D;N # EGYPTIAN HIEROGLYPH AA015
-1341E;N # EGYPTIAN HIEROGLYPH AA016
-1341F;N # EGYPTIAN HIEROGLYPH AA017
-13420;N # EGYPTIAN HIEROGLYPH AA018
-13421;N # EGYPTIAN HIEROGLYPH AA019
-13422;N # EGYPTIAN HIEROGLYPH AA020
-13423;N # EGYPTIAN HIEROGLYPH AA021
-13424;N # EGYPTIAN HIEROGLYPH AA022
-13425;N # EGYPTIAN HIEROGLYPH AA023
-13426;N # EGYPTIAN HIEROGLYPH AA024
-13427;N # EGYPTIAN HIEROGLYPH AA025
-13428;N # EGYPTIAN HIEROGLYPH AA026
-13429;N # EGYPTIAN HIEROGLYPH AA027
-1342A;N # EGYPTIAN HIEROGLYPH AA028
-1342B;N # EGYPTIAN HIEROGLYPH AA029
-1342C;N # EGYPTIAN HIEROGLYPH AA030
-1342D;N # EGYPTIAN HIEROGLYPH AA031
-1342E;N # EGYPTIAN HIEROGLYPH AA032
-1D000;N # BYZANTINE MUSICAL SYMBOL PSILI
-1D001;N # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002;N # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003;N # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004;N # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005;N # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006;N # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007;N # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008;N # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009;N # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A;N # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B;N # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C;N # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D;N # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E;N # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F;N # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010;N # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011;N # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012;N # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013;N # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014;N # BYZANTINE MUSICAL SYMBOL THITA
-1D015;N # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016;N # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017;N # BYZANTINE MUSICAL SYMBOL PSILON
-1D018;N # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019;N # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A;N # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B;N # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C;N # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D;N # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E;N # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F;N # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020;N # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021;N # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022;N # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023;N # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024;N # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025;N # BYZANTINE MUSICAL SYMBOL REVMA
-1D026;N # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027;N # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028;N # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029;N # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A;N # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B;N # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C;N # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D;N # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E;N # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F;N # BYZANTINE MUSICAL SYMBOL DYO
-1D030;N # BYZANTINE MUSICAL SYMBOL TRIA
-1D031;N # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032;N # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033;N # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034;N # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035;N # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036;N # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037;N # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038;N # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039;N # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A;N # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B;N # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C;N # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D;N # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E;N # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F;N # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040;N # BYZANTINE MUSICAL SYMBOL NANA
-1D041;N # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042;N # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043;N # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044;N # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045;N # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046;N # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047;N # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048;N # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049;N # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A;N # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B;N # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C;N # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D;N # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E;N # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F;N # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050;N # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051;N # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052;N # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053;N # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054;N # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055;N # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056;N # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057;N # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058;N # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059;N # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A;N # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B;N # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C;N # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D;N # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E;N # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F;N # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060;N # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061;N # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062;N # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063;N # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064;N # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065;N # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066;N # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067;N # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068;N # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069;N # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A;N # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B;N # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C;N # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D;N # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E;N # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F;N # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070;N # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071;N # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072;N # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073;N # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074;N # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075;N # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076;N # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077;N # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078;N # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079;N # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A;N # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B;N # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C;N # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D;N # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E;N # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F;N # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080;N # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081;N # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082;N # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083;N # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084;N # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085;N # BYZANTINE MUSICAL SYMBOL APLI
-1D086;N # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087;N # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088;N # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089;N # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A;N # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B;N # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C;N # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D;N # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E;N # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F;N # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090;N # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091;N # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092;N # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093;N # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094;N # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095;N # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096;N # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097;N # BYZANTINE MUSICAL SYMBOL ARGON
-1D098;N # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099;N # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A;N # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B;N # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C;N # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D;N # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E;N # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F;N # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0;N # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1;N # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3;N # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4;N # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5;N # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA;N # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC;N # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD;N # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE;N # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF;N # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0;N # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1;N # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4;N # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5;N # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6;N # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7;N # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8;N # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9;N # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC;N # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE;N # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3;N # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4;N # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5;N # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6;N # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7;N # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8;N # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9;N # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA;N # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB;N # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC;N # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD;N # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE;N # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF;N # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0;N # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1;N # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2;N # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3;N # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4;N # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5;N # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6;N # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7;N # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8;N # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9;N # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA;N # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB;N # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC;N # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD;N # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6;N # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7;N # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8;N # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9;N # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA;N # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB;N # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC;N # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED;N # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE;N # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF;N # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0;N # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1;N # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2;N # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3;N # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4;N # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5;N # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100;N # MUSICAL SYMBOL SINGLE BARLINE
-1D101;N # MUSICAL SYMBOL DOUBLE BARLINE
-1D102;N # MUSICAL SYMBOL FINAL BARLINE
-1D103;N # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104;N # MUSICAL SYMBOL DASHED BARLINE
-1D105;N # MUSICAL SYMBOL SHORT BARLINE
-1D106;N # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107;N # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108;N # MUSICAL SYMBOL REPEAT DOTS
-1D109;N # MUSICAL SYMBOL DAL SEGNO
-1D10A;N # MUSICAL SYMBOL DA CAPO
-1D10B;N # MUSICAL SYMBOL SEGNO
-1D10C;N # MUSICAL SYMBOL CODA
-1D10D;N # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E;N # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F;N # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110;N # MUSICAL SYMBOL FERMATA
-1D111;N # MUSICAL SYMBOL FERMATA BELOW
-1D112;N # MUSICAL SYMBOL BREATH MARK
-1D113;N # MUSICAL SYMBOL CAESURA
-1D114;N # MUSICAL SYMBOL BRACE
-1D115;N # MUSICAL SYMBOL BRACKET
-1D116;N # MUSICAL SYMBOL ONE-LINE STAFF
-1D117;N # MUSICAL SYMBOL TWO-LINE STAFF
-1D118;N # MUSICAL SYMBOL THREE-LINE STAFF
-1D119;N # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A;N # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B;N # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C;N # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D;N # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E;N # MUSICAL SYMBOL G CLEF
-1D11F;N # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120;N # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121;N # MUSICAL SYMBOL C CLEF
-1D122;N # MUSICAL SYMBOL F CLEF
-1D123;N # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124;N # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125;N # MUSICAL SYMBOL DRUM CLEF-1
-1D126;N # MUSICAL SYMBOL DRUM CLEF-2
-1D129;N # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A;N # MUSICAL SYMBOL DOUBLE SHARP
-1D12B;N # MUSICAL SYMBOL DOUBLE FLAT
-1D12C;N # MUSICAL SYMBOL FLAT UP
-1D12D;N # MUSICAL SYMBOL FLAT DOWN
-1D12E;N # MUSICAL SYMBOL NATURAL UP
-1D12F;N # MUSICAL SYMBOL NATURAL DOWN
-1D130;N # MUSICAL SYMBOL SHARP UP
-1D131;N # MUSICAL SYMBOL SHARP DOWN
-1D132;N # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133;N # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134;N # MUSICAL SYMBOL COMMON TIME
-1D135;N # MUSICAL SYMBOL CUT TIME
-1D136;N # MUSICAL SYMBOL OTTAVA ALTA
-1D137;N # MUSICAL SYMBOL OTTAVA BASSA
-1D138;N # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139;N # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A;N # MUSICAL SYMBOL MULTI REST
-1D13B;N # MUSICAL SYMBOL WHOLE REST
-1D13C;N # MUSICAL SYMBOL HALF REST
-1D13D;N # MUSICAL SYMBOL QUARTER REST
-1D13E;N # MUSICAL SYMBOL EIGHTH REST
-1D13F;N # MUSICAL SYMBOL SIXTEENTH REST
-1D140;N # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141;N # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142;N # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143;N # MUSICAL SYMBOL X NOTEHEAD
-1D144;N # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145;N # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146;N # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147;N # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152;N # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153;N # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154;N # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155;N # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156;N # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157;N # MUSICAL SYMBOL VOID NOTEHEAD
-1D158;N # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159;N # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A;N # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B;N # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C;N # MUSICAL SYMBOL BREVE
-1D15D;N # MUSICAL SYMBOL WHOLE NOTE
-1D15E;N # MUSICAL SYMBOL HALF NOTE
-1D15F;N # MUSICAL SYMBOL QUARTER NOTE
-1D160;N # MUSICAL SYMBOL EIGHTH NOTE
-1D161;N # MUSICAL SYMBOL SIXTEENTH NOTE
-1D162;N # MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163;N # MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164;N # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D165;N # MUSICAL SYMBOL COMBINING STEM
-1D166;N # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167;N # MUSICAL SYMBOL COMBINING TREMOLO-1
-1D168;N # MUSICAL SYMBOL COMBINING TREMOLO-2
-1D169;N # MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A;N # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B;N # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C;N # MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D;N # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-1D16E;N # MUSICAL SYMBOL COMBINING FLAG-1
-1D16F;N # MUSICAL SYMBOL COMBINING FLAG-2
-1D170;N # MUSICAL SYMBOL COMBINING FLAG-3
-1D171;N # MUSICAL SYMBOL COMBINING FLAG-4
-1D172;N # MUSICAL SYMBOL COMBINING FLAG-5
-1D173;N # MUSICAL SYMBOL BEGIN BEAM
-1D174;N # MUSICAL SYMBOL END BEAM
-1D175;N # MUSICAL SYMBOL BEGIN TIE
-1D176;N # MUSICAL SYMBOL END TIE
-1D177;N # MUSICAL SYMBOL BEGIN SLUR
-1D178;N # MUSICAL SYMBOL END SLUR
-1D179;N # MUSICAL SYMBOL BEGIN PHRASE
-1D17A;N # MUSICAL SYMBOL END PHRASE
-1D17B;N # MUSICAL SYMBOL COMBINING ACCENT
-1D17C;N # MUSICAL SYMBOL COMBINING STACCATO
-1D17D;N # MUSICAL SYMBOL COMBINING TENUTO
-1D17E;N # MUSICAL SYMBOL COMBINING STACCATISSIMO
-1D17F;N # MUSICAL SYMBOL COMBINING MARCATO
-1D180;N # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
-1D181;N # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
-1D182;N # MUSICAL SYMBOL COMBINING LOURE
-1D183;N # MUSICAL SYMBOL ARPEGGIATO UP
-1D184;N # MUSICAL SYMBOL ARPEGGIATO DOWN
-1D185;N # MUSICAL SYMBOL COMBINING DOIT
-1D186;N # MUSICAL SYMBOL COMBINING RIP
-1D187;N # MUSICAL SYMBOL COMBINING FLIP
-1D188;N # MUSICAL SYMBOL COMBINING SMEAR
-1D189;N # MUSICAL SYMBOL COMBINING BEND
-1D18A;N # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
-1D18B;N # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C;N # MUSICAL SYMBOL RINFORZANDO
-1D18D;N # MUSICAL SYMBOL SUBITO
-1D18E;N # MUSICAL SYMBOL Z
-1D18F;N # MUSICAL SYMBOL PIANO
-1D190;N # MUSICAL SYMBOL MEZZO
-1D191;N # MUSICAL SYMBOL FORTE
-1D192;N # MUSICAL SYMBOL CRESCENDO
-1D193;N # MUSICAL SYMBOL DECRESCENDO
-1D194;N # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195;N # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196;N # MUSICAL SYMBOL TR
-1D197;N # MUSICAL SYMBOL TURN
-1D198;N # MUSICAL SYMBOL INVERTED TURN
-1D199;N # MUSICAL SYMBOL TURN SLASH
-1D19A;N # MUSICAL SYMBOL TURN UP
-1D19B;N # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C;N # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D;N # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E;N # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F;N # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0;N # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1;N # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2;N # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3;N # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4;N # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5;N # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6;N # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7;N # MUSICAL SYMBOL NEBENSTIMME
-1D1A8;N # MUSICAL SYMBOL END OF STIMME
-1D1A9;N # MUSICAL SYMBOL DEGREE SLASH
-1D1AA;N # MUSICAL SYMBOL COMBINING DOWN BOW
-1D1AB;N # MUSICAL SYMBOL COMBINING UP BOW
-1D1AC;N # MUSICAL SYMBOL COMBINING HARMONIC
-1D1AD;N # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE;N # MUSICAL SYMBOL PEDAL MARK
-1D1AF;N # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0;N # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1;N # MUSICAL SYMBOL GLISSANDO UP
-1D1B2;N # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3;N # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4;N # MUSICAL SYMBOL DAMP
-1D1B5;N # MUSICAL SYMBOL DAMP ALL
-1D1B6;N # MUSICAL SYMBOL MAXIMA
-1D1B7;N # MUSICAL SYMBOL LONGA
-1D1B8;N # MUSICAL SYMBOL BREVIS
-1D1B9;N # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA;N # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB;N # MUSICAL SYMBOL MINIMA
-1D1BC;N # MUSICAL SYMBOL MINIMA BLACK
-1D1BD;N # MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE;N # MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF;N # MUSICAL SYMBOL FUSA WHITE
-1D1C0;N # MUSICAL SYMBOL FUSA BLACK
-1D1C1;N # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2;N # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3;N # MUSICAL SYMBOL BREVIS REST
-1D1C4;N # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5;N # MUSICAL SYMBOL MINIMA REST
-1D1C6;N # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7;N # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8;N # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9;N # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF;N # MUSICAL SYMBOL CROIX
-1D1D0;N # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1;N # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2;N # MUSICAL SYMBOL SQUARE B
-1D1D3;N # MUSICAL SYMBOL VIRGA
-1D1D4;N # MUSICAL SYMBOL PODATUS
-1D1D5;N # MUSICAL SYMBOL CLIVIS
-1D1D6;N # MUSICAL SYMBOL SCANDICUS
-1D1D7;N # MUSICAL SYMBOL CLIMACUS
-1D1D8;N # MUSICAL SYMBOL TORCULUS
-1D1D9;N # MUSICAL SYMBOL PORRECTUS
-1D1DA;N # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB;N # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC;N # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD;N # MUSICAL SYMBOL PES SUBPUNCTIS
-1D200;N # GREEK VOCAL NOTATION SYMBOL-1
-1D201;N # GREEK VOCAL NOTATION SYMBOL-2
-1D202;N # GREEK VOCAL NOTATION SYMBOL-3
-1D203;N # GREEK VOCAL NOTATION SYMBOL-4
-1D204;N # GREEK VOCAL NOTATION SYMBOL-5
-1D205;N # GREEK VOCAL NOTATION SYMBOL-6
-1D206;N # GREEK VOCAL NOTATION SYMBOL-7
-1D207;N # GREEK VOCAL NOTATION SYMBOL-8
-1D208;N # GREEK VOCAL NOTATION SYMBOL-9
-1D209;N # GREEK VOCAL NOTATION SYMBOL-10
-1D20A;N # GREEK VOCAL NOTATION SYMBOL-11
-1D20B;N # GREEK VOCAL NOTATION SYMBOL-12
-1D20C;N # GREEK VOCAL NOTATION SYMBOL-13
-1D20D;N # GREEK VOCAL NOTATION SYMBOL-14
-1D20E;N # GREEK VOCAL NOTATION SYMBOL-15
-1D20F;N # GREEK VOCAL NOTATION SYMBOL-16
-1D210;N # GREEK VOCAL NOTATION SYMBOL-17
-1D211;N # GREEK VOCAL NOTATION SYMBOL-18
-1D212;N # GREEK VOCAL NOTATION SYMBOL-19
-1D213;N # GREEK VOCAL NOTATION SYMBOL-20
-1D214;N # GREEK VOCAL NOTATION SYMBOL-21
-1D215;N # GREEK VOCAL NOTATION SYMBOL-22
-1D216;N # GREEK VOCAL NOTATION SYMBOL-23
-1D217;N # GREEK VOCAL NOTATION SYMBOL-24
-1D218;N # GREEK VOCAL NOTATION SYMBOL-50
-1D219;N # GREEK VOCAL NOTATION SYMBOL-51
-1D21A;N # GREEK VOCAL NOTATION SYMBOL-52
-1D21B;N # GREEK VOCAL NOTATION SYMBOL-53
-1D21C;N # GREEK VOCAL NOTATION SYMBOL-54
-1D21D;N # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E;N # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F;N # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220;N # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221;N # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222;N # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223;N # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224;N # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225;N # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226;N # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227;N # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228;N # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229;N # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A;N # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B;N # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C;N # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D;N # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E;N # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F;N # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230;N # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231;N # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232;N # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233;N # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234;N # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235;N # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236;N # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237;N # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238;N # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239;N # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A;N # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B;N # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C;N # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D;N # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E;N # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F;N # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240;N # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241;N # GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D242;N # COMBINING GREEK MUSICAL TRISEME
-1D243;N # COMBINING GREEK MUSICAL TETRASEME
-1D244;N # COMBINING GREEK MUSICAL PENTASEME
-1D245;N # GREEK MUSICAL LEIMMA
-1D300;N # MONOGRAM FOR EARTH
-1D301;N # DIGRAM FOR HEAVENLY EARTH
-1D302;N # DIGRAM FOR HUMAN EARTH
-1D303;N # DIGRAM FOR EARTHLY HEAVEN
-1D304;N # DIGRAM FOR EARTHLY HUMAN
-1D305;N # DIGRAM FOR EARTH
-1D306;N # TETRAGRAM FOR CENTRE
-1D307;N # TETRAGRAM FOR FULL CIRCLE
-1D308;N # TETRAGRAM FOR MIRED
-1D309;N # TETRAGRAM FOR BARRIER
-1D30A;N # TETRAGRAM FOR KEEPING SMALL
-1D30B;N # TETRAGRAM FOR CONTRARIETY
-1D30C;N # TETRAGRAM FOR ASCENT
-1D30D;N # TETRAGRAM FOR OPPOSITION
-1D30E;N # TETRAGRAM FOR BRANCHING OUT
-1D30F;N # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310;N # TETRAGRAM FOR DIVERGENCE
-1D311;N # TETRAGRAM FOR YOUTHFULNESS
-1D312;N # TETRAGRAM FOR INCREASE
-1D313;N # TETRAGRAM FOR PENETRATION
-1D314;N # TETRAGRAM FOR REACH
-1D315;N # TETRAGRAM FOR CONTACT
-1D316;N # TETRAGRAM FOR HOLDING BACK
-1D317;N # TETRAGRAM FOR WAITING
-1D318;N # TETRAGRAM FOR FOLLOWING
-1D319;N # TETRAGRAM FOR ADVANCE
-1D31A;N # TETRAGRAM FOR RELEASE
-1D31B;N # TETRAGRAM FOR RESISTANCE
-1D31C;N # TETRAGRAM FOR EASE
-1D31D;N # TETRAGRAM FOR JOY
-1D31E;N # TETRAGRAM FOR CONTENTION
-1D31F;N # TETRAGRAM FOR ENDEAVOUR
-1D320;N # TETRAGRAM FOR DUTIES
-1D321;N # TETRAGRAM FOR CHANGE
-1D322;N # TETRAGRAM FOR DECISIVENESS
-1D323;N # TETRAGRAM FOR BOLD RESOLUTION
-1D324;N # TETRAGRAM FOR PACKING
-1D325;N # TETRAGRAM FOR LEGION
-1D326;N # TETRAGRAM FOR CLOSENESS
-1D327;N # TETRAGRAM FOR KINSHIP
-1D328;N # TETRAGRAM FOR GATHERING
-1D329;N # TETRAGRAM FOR STRENGTH
-1D32A;N # TETRAGRAM FOR PURITY
-1D32B;N # TETRAGRAM FOR FULLNESS
-1D32C;N # TETRAGRAM FOR RESIDENCE
-1D32D;N # TETRAGRAM FOR LAW OR MODEL
-1D32E;N # TETRAGRAM FOR RESPONSE
-1D32F;N # TETRAGRAM FOR GOING TO MEET
-1D330;N # TETRAGRAM FOR ENCOUNTERS
-1D331;N # TETRAGRAM FOR STOVE
-1D332;N # TETRAGRAM FOR GREATNESS
-1D333;N # TETRAGRAM FOR ENLARGEMENT
-1D334;N # TETRAGRAM FOR PATTERN
-1D335;N # TETRAGRAM FOR RITUAL
-1D336;N # TETRAGRAM FOR FLIGHT
-1D337;N # TETRAGRAM FOR VASTNESS OR WASTING
-1D338;N # TETRAGRAM FOR CONSTANCY
-1D339;N # TETRAGRAM FOR MEASURE
-1D33A;N # TETRAGRAM FOR ETERNITY
-1D33B;N # TETRAGRAM FOR UNITY
-1D33C;N # TETRAGRAM FOR DIMINISHMENT
-1D33D;N # TETRAGRAM FOR CLOSED MOUTH
-1D33E;N # TETRAGRAM FOR GUARDEDNESS
-1D33F;N # TETRAGRAM FOR GATHERING IN
-1D340;N # TETRAGRAM FOR MASSING
-1D341;N # TETRAGRAM FOR ACCUMULATION
-1D342;N # TETRAGRAM FOR EMBELLISHMENT
-1D343;N # TETRAGRAM FOR DOUBT
-1D344;N # TETRAGRAM FOR WATCH
-1D345;N # TETRAGRAM FOR SINKING
-1D346;N # TETRAGRAM FOR INNER
-1D347;N # TETRAGRAM FOR DEPARTURE
-1D348;N # TETRAGRAM FOR DARKENING
-1D349;N # TETRAGRAM FOR DIMMING
-1D34A;N # TETRAGRAM FOR EXHAUSTION
-1D34B;N # TETRAGRAM FOR SEVERANCE
-1D34C;N # TETRAGRAM FOR STOPPAGE
-1D34D;N # TETRAGRAM FOR HARDNESS
-1D34E;N # TETRAGRAM FOR COMPLETION
-1D34F;N # TETRAGRAM FOR CLOSURE
-1D350;N # TETRAGRAM FOR FAILURE
-1D351;N # TETRAGRAM FOR AGGRAVATION
-1D352;N # TETRAGRAM FOR COMPLIANCE
-1D353;N # TETRAGRAM FOR ON THE VERGE
-1D354;N # TETRAGRAM FOR DIFFICULTIES
-1D355;N # TETRAGRAM FOR LABOURING
-1D356;N # TETRAGRAM FOR FOSTERING
-1D360;N # COUNTING ROD UNIT DIGIT ONE
-1D361;N # COUNTING ROD UNIT DIGIT TWO
-1D362;N # COUNTING ROD UNIT DIGIT THREE
-1D363;N # COUNTING ROD UNIT DIGIT FOUR
-1D364;N # COUNTING ROD UNIT DIGIT FIVE
-1D365;N # COUNTING ROD UNIT DIGIT SIX
-1D366;N # COUNTING ROD UNIT DIGIT SEVEN
-1D367;N # COUNTING ROD UNIT DIGIT EIGHT
-1D368;N # COUNTING ROD UNIT DIGIT NINE
-1D369;N # COUNTING ROD TENS DIGIT ONE
-1D36A;N # COUNTING ROD TENS DIGIT TWO
-1D36B;N # COUNTING ROD TENS DIGIT THREE
-1D36C;N # COUNTING ROD TENS DIGIT FOUR
-1D36D;N # COUNTING ROD TENS DIGIT FIVE
-1D36E;N # COUNTING ROD TENS DIGIT SIX
-1D36F;N # COUNTING ROD TENS DIGIT SEVEN
-1D370;N # COUNTING ROD TENS DIGIT EIGHT
-1D371;N # COUNTING ROD TENS DIGIT NINE
-1D400;N # MATHEMATICAL BOLD CAPITAL A
-1D401;N # MATHEMATICAL BOLD CAPITAL B
-1D402;N # MATHEMATICAL BOLD CAPITAL C
-1D403;N # MATHEMATICAL BOLD CAPITAL D
-1D404;N # MATHEMATICAL BOLD CAPITAL E
-1D405;N # MATHEMATICAL BOLD CAPITAL F
-1D406;N # MATHEMATICAL BOLD CAPITAL G
-1D407;N # MATHEMATICAL BOLD CAPITAL H
-1D408;N # MATHEMATICAL BOLD CAPITAL I
-1D409;N # MATHEMATICAL BOLD CAPITAL J
-1D40A;N # MATHEMATICAL BOLD CAPITAL K
-1D40B;N # MATHEMATICAL BOLD CAPITAL L
-1D40C;N # MATHEMATICAL BOLD CAPITAL M
-1D40D;N # MATHEMATICAL BOLD CAPITAL N
-1D40E;N # MATHEMATICAL BOLD CAPITAL O
-1D40F;N # MATHEMATICAL BOLD CAPITAL P
-1D410;N # MATHEMATICAL BOLD CAPITAL Q
-1D411;N # MATHEMATICAL BOLD CAPITAL R
-1D412;N # MATHEMATICAL BOLD CAPITAL S
-1D413;N # MATHEMATICAL BOLD CAPITAL T
-1D414;N # MATHEMATICAL BOLD CAPITAL U
-1D415;N # MATHEMATICAL BOLD CAPITAL V
-1D416;N # MATHEMATICAL BOLD CAPITAL W
-1D417;N # MATHEMATICAL BOLD CAPITAL X
-1D418;N # MATHEMATICAL BOLD CAPITAL Y
-1D419;N # MATHEMATICAL BOLD CAPITAL Z
-1D41A;N # MATHEMATICAL BOLD SMALL A
-1D41B;N # MATHEMATICAL BOLD SMALL B
-1D41C;N # MATHEMATICAL BOLD SMALL C
-1D41D;N # MATHEMATICAL BOLD SMALL D
-1D41E;N # MATHEMATICAL BOLD SMALL E
-1D41F;N # MATHEMATICAL BOLD SMALL F
-1D420;N # MATHEMATICAL BOLD SMALL G
-1D421;N # MATHEMATICAL BOLD SMALL H
-1D422;N # MATHEMATICAL BOLD SMALL I
-1D423;N # MATHEMATICAL BOLD SMALL J
-1D424;N # MATHEMATICAL BOLD SMALL K
-1D425;N # MATHEMATICAL BOLD SMALL L
-1D426;N # MATHEMATICAL BOLD SMALL M
-1D427;N # MATHEMATICAL BOLD SMALL N
-1D428;N # MATHEMATICAL BOLD SMALL O
-1D429;N # MATHEMATICAL BOLD SMALL P
-1D42A;N # MATHEMATICAL BOLD SMALL Q
-1D42B;N # MATHEMATICAL BOLD SMALL R
-1D42C;N # MATHEMATICAL BOLD SMALL S
-1D42D;N # MATHEMATICAL BOLD SMALL T
-1D42E;N # MATHEMATICAL BOLD SMALL U
-1D42F;N # MATHEMATICAL BOLD SMALL V
-1D430;N # MATHEMATICAL BOLD SMALL W
-1D431;N # MATHEMATICAL BOLD SMALL X
-1D432;N # MATHEMATICAL BOLD SMALL Y
-1D433;N # MATHEMATICAL BOLD SMALL Z
-1D434;N # MATHEMATICAL ITALIC CAPITAL A
-1D435;N # MATHEMATICAL ITALIC CAPITAL B
-1D436;N # MATHEMATICAL ITALIC CAPITAL C
-1D437;N # MATHEMATICAL ITALIC CAPITAL D
-1D438;N # MATHEMATICAL ITALIC CAPITAL E
-1D439;N # MATHEMATICAL ITALIC CAPITAL F
-1D43A;N # MATHEMATICAL ITALIC CAPITAL G
-1D43B;N # MATHEMATICAL ITALIC CAPITAL H
-1D43C;N # MATHEMATICAL ITALIC CAPITAL I
-1D43D;N # MATHEMATICAL ITALIC CAPITAL J
-1D43E;N # MATHEMATICAL ITALIC CAPITAL K
-1D43F;N # MATHEMATICAL ITALIC CAPITAL L
-1D440;N # MATHEMATICAL ITALIC CAPITAL M
-1D441;N # MATHEMATICAL ITALIC CAPITAL N
-1D442;N # MATHEMATICAL ITALIC CAPITAL O
-1D443;N # MATHEMATICAL ITALIC CAPITAL P
-1D444;N # MATHEMATICAL ITALIC CAPITAL Q
-1D445;N # MATHEMATICAL ITALIC CAPITAL R
-1D446;N # MATHEMATICAL ITALIC CAPITAL S
-1D447;N # MATHEMATICAL ITALIC CAPITAL T
-1D448;N # MATHEMATICAL ITALIC CAPITAL U
-1D449;N # MATHEMATICAL ITALIC CAPITAL V
-1D44A;N # MATHEMATICAL ITALIC CAPITAL W
-1D44B;N # MATHEMATICAL ITALIC CAPITAL X
-1D44C;N # MATHEMATICAL ITALIC CAPITAL Y
-1D44D;N # MATHEMATICAL ITALIC CAPITAL Z
-1D44E;N # MATHEMATICAL ITALIC SMALL A
-1D44F;N # MATHEMATICAL ITALIC SMALL B
-1D450;N # MATHEMATICAL ITALIC SMALL C
-1D451;N # MATHEMATICAL ITALIC SMALL D
-1D452;N # MATHEMATICAL ITALIC SMALL E
-1D453;N # MATHEMATICAL ITALIC SMALL F
-1D454;N # MATHEMATICAL ITALIC SMALL G
-1D456;N # MATHEMATICAL ITALIC SMALL I
-1D457;N # MATHEMATICAL ITALIC SMALL J
-1D458;N # MATHEMATICAL ITALIC SMALL K
-1D459;N # MATHEMATICAL ITALIC SMALL L
-1D45A;N # MATHEMATICAL ITALIC SMALL M
-1D45B;N # MATHEMATICAL ITALIC SMALL N
-1D45C;N # MATHEMATICAL ITALIC SMALL O
-1D45D;N # MATHEMATICAL ITALIC SMALL P
-1D45E;N # MATHEMATICAL ITALIC SMALL Q
-1D45F;N # MATHEMATICAL ITALIC SMALL R
-1D460;N # MATHEMATICAL ITALIC SMALL S
-1D461;N # MATHEMATICAL ITALIC SMALL T
-1D462;N # MATHEMATICAL ITALIC SMALL U
-1D463;N # MATHEMATICAL ITALIC SMALL V
-1D464;N # MATHEMATICAL ITALIC SMALL W
-1D465;N # MATHEMATICAL ITALIC SMALL X
-1D466;N # MATHEMATICAL ITALIC SMALL Y
-1D467;N # MATHEMATICAL ITALIC SMALL Z
-1D468;N # MATHEMATICAL BOLD ITALIC CAPITAL A
-1D469;N # MATHEMATICAL BOLD ITALIC CAPITAL B
-1D46A;N # MATHEMATICAL BOLD ITALIC CAPITAL C
-1D46B;N # MATHEMATICAL BOLD ITALIC CAPITAL D
-1D46C;N # MATHEMATICAL BOLD ITALIC CAPITAL E
-1D46D;N # MATHEMATICAL BOLD ITALIC CAPITAL F
-1D46E;N # MATHEMATICAL BOLD ITALIC CAPITAL G
-1D46F;N # MATHEMATICAL BOLD ITALIC CAPITAL H
-1D470;N # MATHEMATICAL BOLD ITALIC CAPITAL I
-1D471;N # MATHEMATICAL BOLD ITALIC CAPITAL J
-1D472;N # MATHEMATICAL BOLD ITALIC CAPITAL K
-1D473;N # MATHEMATICAL BOLD ITALIC CAPITAL L
-1D474;N # MATHEMATICAL BOLD ITALIC CAPITAL M
-1D475;N # MATHEMATICAL BOLD ITALIC CAPITAL N
-1D476;N # MATHEMATICAL BOLD ITALIC CAPITAL O
-1D477;N # MATHEMATICAL BOLD ITALIC CAPITAL P
-1D478;N # MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D479;N # MATHEMATICAL BOLD ITALIC CAPITAL R
-1D47A;N # MATHEMATICAL BOLD ITALIC CAPITAL S
-1D47B;N # MATHEMATICAL BOLD ITALIC CAPITAL T
-1D47C;N # MATHEMATICAL BOLD ITALIC CAPITAL U
-1D47D;N # MATHEMATICAL BOLD ITALIC CAPITAL V
-1D47E;N # MATHEMATICAL BOLD ITALIC CAPITAL W
-1D47F;N # MATHEMATICAL BOLD ITALIC CAPITAL X
-1D480;N # MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D481;N # MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D482;N # MATHEMATICAL BOLD ITALIC SMALL A
-1D483;N # MATHEMATICAL BOLD ITALIC SMALL B
-1D484;N # MATHEMATICAL BOLD ITALIC SMALL C
-1D485;N # MATHEMATICAL BOLD ITALIC SMALL D
-1D486;N # MATHEMATICAL BOLD ITALIC SMALL E
-1D487;N # MATHEMATICAL BOLD ITALIC SMALL F
-1D488;N # MATHEMATICAL BOLD ITALIC SMALL G
-1D489;N # MATHEMATICAL BOLD ITALIC SMALL H
-1D48A;N # MATHEMATICAL BOLD ITALIC SMALL I
-1D48B;N # MATHEMATICAL BOLD ITALIC SMALL J
-1D48C;N # MATHEMATICAL BOLD ITALIC SMALL K
-1D48D;N # MATHEMATICAL BOLD ITALIC SMALL L
-1D48E;N # MATHEMATICAL BOLD ITALIC SMALL M
-1D48F;N # MATHEMATICAL BOLD ITALIC SMALL N
-1D490;N # MATHEMATICAL BOLD ITALIC SMALL O
-1D491;N # MATHEMATICAL BOLD ITALIC SMALL P
-1D492;N # MATHEMATICAL BOLD ITALIC SMALL Q
-1D493;N # MATHEMATICAL BOLD ITALIC SMALL R
-1D494;N # MATHEMATICAL BOLD ITALIC SMALL S
-1D495;N # MATHEMATICAL BOLD ITALIC SMALL T
-1D496;N # MATHEMATICAL BOLD ITALIC SMALL U
-1D497;N # MATHEMATICAL BOLD ITALIC SMALL V
-1D498;N # MATHEMATICAL BOLD ITALIC SMALL W
-1D499;N # MATHEMATICAL BOLD ITALIC SMALL X
-1D49A;N # MATHEMATICAL BOLD ITALIC SMALL Y
-1D49B;N # MATHEMATICAL BOLD ITALIC SMALL Z
-1D49C;N # MATHEMATICAL SCRIPT CAPITAL A
-1D49E;N # MATHEMATICAL SCRIPT CAPITAL C
-1D49F;N # MATHEMATICAL SCRIPT CAPITAL D
-1D4A2;N # MATHEMATICAL SCRIPT CAPITAL G
-1D4A5;N # MATHEMATICAL SCRIPT CAPITAL J
-1D4A6;N # MATHEMATICAL SCRIPT CAPITAL K
-1D4A9;N # MATHEMATICAL SCRIPT CAPITAL N
-1D4AA;N # MATHEMATICAL SCRIPT CAPITAL O
-1D4AB;N # MATHEMATICAL SCRIPT CAPITAL P
-1D4AC;N # MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE;N # MATHEMATICAL SCRIPT CAPITAL S
-1D4AF;N # MATHEMATICAL SCRIPT CAPITAL T
-1D4B0;N # MATHEMATICAL SCRIPT CAPITAL U
-1D4B1;N # MATHEMATICAL SCRIPT CAPITAL V
-1D4B2;N # MATHEMATICAL SCRIPT CAPITAL W
-1D4B3;N # MATHEMATICAL SCRIPT CAPITAL X
-1D4B4;N # MATHEMATICAL SCRIPT CAPITAL Y
-1D4B5;N # MATHEMATICAL SCRIPT CAPITAL Z
-1D4B6;N # MATHEMATICAL SCRIPT SMALL A
-1D4B7;N # MATHEMATICAL SCRIPT SMALL B
-1D4B8;N # MATHEMATICAL SCRIPT SMALL C
-1D4B9;N # MATHEMATICAL SCRIPT SMALL D
-1D4BB;N # MATHEMATICAL SCRIPT SMALL F
-1D4BD;N # MATHEMATICAL SCRIPT SMALL H
-1D4BE;N # MATHEMATICAL SCRIPT SMALL I
-1D4BF;N # MATHEMATICAL SCRIPT SMALL J
-1D4C0;N # MATHEMATICAL SCRIPT SMALL K
-1D4C1;N # MATHEMATICAL SCRIPT SMALL L
-1D4C2;N # MATHEMATICAL SCRIPT SMALL M
-1D4C3;N # MATHEMATICAL SCRIPT SMALL N
-1D4C5;N # MATHEMATICAL SCRIPT SMALL P
-1D4C6;N # MATHEMATICAL SCRIPT SMALL Q
-1D4C7;N # MATHEMATICAL SCRIPT SMALL R
-1D4C8;N # MATHEMATICAL SCRIPT SMALL S
-1D4C9;N # MATHEMATICAL SCRIPT SMALL T
-1D4CA;N # MATHEMATICAL SCRIPT SMALL U
-1D4CB;N # MATHEMATICAL SCRIPT SMALL V
-1D4CC;N # MATHEMATICAL SCRIPT SMALL W
-1D4CD;N # MATHEMATICAL SCRIPT SMALL X
-1D4CE;N # MATHEMATICAL SCRIPT SMALL Y
-1D4CF;N # MATHEMATICAL SCRIPT SMALL Z
-1D4D0;N # MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D4D1;N # MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D4D2;N # MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D4D3;N # MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D4D4;N # MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D4D5;N # MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D4D6;N # MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D4D7;N # MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D4D8;N # MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D4D9;N # MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D4DA;N # MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D4DB;N # MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D4DC;N # MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D4DD;N # MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D4DE;N # MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D4DF;N # MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D4E0;N # MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D4E1;N # MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D4E2;N # MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D4E3;N # MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D4E4;N # MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D4E5;N # MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D4E6;N # MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D4E7;N # MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D4E8;N # MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D4E9;N # MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D4EA;N # MATHEMATICAL BOLD SCRIPT SMALL A
-1D4EB;N # MATHEMATICAL BOLD SCRIPT SMALL B
-1D4EC;N # MATHEMATICAL BOLD SCRIPT SMALL C
-1D4ED;N # MATHEMATICAL BOLD SCRIPT SMALL D
-1D4EE;N # MATHEMATICAL BOLD SCRIPT SMALL E
-1D4EF;N # MATHEMATICAL BOLD SCRIPT SMALL F
-1D4F0;N # MATHEMATICAL BOLD SCRIPT SMALL G
-1D4F1;N # MATHEMATICAL BOLD SCRIPT SMALL H
-1D4F2;N # MATHEMATICAL BOLD SCRIPT SMALL I
-1D4F3;N # MATHEMATICAL BOLD SCRIPT SMALL J
-1D4F4;N # MATHEMATICAL BOLD SCRIPT SMALL K
-1D4F5;N # MATHEMATICAL BOLD SCRIPT SMALL L
-1D4F6;N # MATHEMATICAL BOLD SCRIPT SMALL M
-1D4F7;N # MATHEMATICAL BOLD SCRIPT SMALL N
-1D4F8;N # MATHEMATICAL BOLD SCRIPT SMALL O
-1D4F9;N # MATHEMATICAL BOLD SCRIPT SMALL P
-1D4FA;N # MATHEMATICAL BOLD SCRIPT SMALL Q
-1D4FB;N # MATHEMATICAL BOLD SCRIPT SMALL R
-1D4FC;N # MATHEMATICAL BOLD SCRIPT SMALL S
-1D4FD;N # MATHEMATICAL BOLD SCRIPT SMALL T
-1D4FE;N # MATHEMATICAL BOLD SCRIPT SMALL U
-1D4FF;N # MATHEMATICAL BOLD SCRIPT SMALL V
-1D500;N # MATHEMATICAL BOLD SCRIPT SMALL W
-1D501;N # MATHEMATICAL BOLD SCRIPT SMALL X
-1D502;N # MATHEMATICAL BOLD SCRIPT SMALL Y
-1D503;N # MATHEMATICAL BOLD SCRIPT SMALL Z
-1D504;N # MATHEMATICAL FRAKTUR CAPITAL A
-1D505;N # MATHEMATICAL FRAKTUR CAPITAL B
-1D507;N # MATHEMATICAL FRAKTUR CAPITAL D
-1D508;N # MATHEMATICAL FRAKTUR CAPITAL E
-1D509;N # MATHEMATICAL FRAKTUR CAPITAL F
-1D50A;N # MATHEMATICAL FRAKTUR CAPITAL G
-1D50D;N # MATHEMATICAL FRAKTUR CAPITAL J
-1D50E;N # MATHEMATICAL FRAKTUR CAPITAL K
-1D50F;N # MATHEMATICAL FRAKTUR CAPITAL L
-1D510;N # MATHEMATICAL FRAKTUR CAPITAL M
-1D511;N # MATHEMATICAL FRAKTUR CAPITAL N
-1D512;N # MATHEMATICAL FRAKTUR CAPITAL O
-1D513;N # MATHEMATICAL FRAKTUR CAPITAL P
-1D514;N # MATHEMATICAL FRAKTUR CAPITAL Q
-1D516;N # MATHEMATICAL FRAKTUR CAPITAL S
-1D517;N # MATHEMATICAL FRAKTUR CAPITAL T
-1D518;N # MATHEMATICAL FRAKTUR CAPITAL U
-1D519;N # MATHEMATICAL FRAKTUR CAPITAL V
-1D51A;N # MATHEMATICAL FRAKTUR CAPITAL W
-1D51B;N # MATHEMATICAL FRAKTUR CAPITAL X
-1D51C;N # MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E;N # MATHEMATICAL FRAKTUR SMALL A
-1D51F;N # MATHEMATICAL FRAKTUR SMALL B
-1D520;N # MATHEMATICAL FRAKTUR SMALL C
-1D521;N # MATHEMATICAL FRAKTUR SMALL D
-1D522;N # MATHEMATICAL FRAKTUR SMALL E
-1D523;N # MATHEMATICAL FRAKTUR SMALL F
-1D524;N # MATHEMATICAL FRAKTUR SMALL G
-1D525;N # MATHEMATICAL FRAKTUR SMALL H
-1D526;N # MATHEMATICAL FRAKTUR SMALL I
-1D527;N # MATHEMATICAL FRAKTUR SMALL J
-1D528;N # MATHEMATICAL FRAKTUR SMALL K
-1D529;N # MATHEMATICAL FRAKTUR SMALL L
-1D52A;N # MATHEMATICAL FRAKTUR SMALL M
-1D52B;N # MATHEMATICAL FRAKTUR SMALL N
-1D52C;N # MATHEMATICAL FRAKTUR SMALL O
-1D52D;N # MATHEMATICAL FRAKTUR SMALL P
-1D52E;N # MATHEMATICAL FRAKTUR SMALL Q
-1D52F;N # MATHEMATICAL FRAKTUR SMALL R
-1D530;N # MATHEMATICAL FRAKTUR SMALL S
-1D531;N # MATHEMATICAL FRAKTUR SMALL T
-1D532;N # MATHEMATICAL FRAKTUR SMALL U
-1D533;N # MATHEMATICAL FRAKTUR SMALL V
-1D534;N # MATHEMATICAL FRAKTUR SMALL W
-1D535;N # MATHEMATICAL FRAKTUR SMALL X
-1D536;N # MATHEMATICAL FRAKTUR SMALL Y
-1D537;N # MATHEMATICAL FRAKTUR SMALL Z
-1D538;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D539;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D53C;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D53D;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D53E;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D541;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D542;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D543;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D544;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D54B;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D54C;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D54D;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D54E;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D54F;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D550;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552;N # MATHEMATICAL DOUBLE-STRUCK SMALL A
-1D553;N # MATHEMATICAL DOUBLE-STRUCK SMALL B
-1D554;N # MATHEMATICAL DOUBLE-STRUCK SMALL C
-1D555;N # MATHEMATICAL DOUBLE-STRUCK SMALL D
-1D556;N # MATHEMATICAL DOUBLE-STRUCK SMALL E
-1D557;N # MATHEMATICAL DOUBLE-STRUCK SMALL F
-1D558;N # MATHEMATICAL DOUBLE-STRUCK SMALL G
-1D559;N # MATHEMATICAL DOUBLE-STRUCK SMALL H
-1D55A;N # MATHEMATICAL DOUBLE-STRUCK SMALL I
-1D55B;N # MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D55C;N # MATHEMATICAL DOUBLE-STRUCK SMALL K
-1D55D;N # MATHEMATICAL DOUBLE-STRUCK SMALL L
-1D55E;N # MATHEMATICAL DOUBLE-STRUCK SMALL M
-1D55F;N # MATHEMATICAL DOUBLE-STRUCK SMALL N
-1D560;N # MATHEMATICAL DOUBLE-STRUCK SMALL O
-1D561;N # MATHEMATICAL DOUBLE-STRUCK SMALL P
-1D562;N # MATHEMATICAL DOUBLE-STRUCK SMALL Q
-1D563;N # MATHEMATICAL DOUBLE-STRUCK SMALL R
-1D564;N # MATHEMATICAL DOUBLE-STRUCK SMALL S
-1D565;N # MATHEMATICAL DOUBLE-STRUCK SMALL T
-1D566;N # MATHEMATICAL DOUBLE-STRUCK SMALL U
-1D567;N # MATHEMATICAL DOUBLE-STRUCK SMALL V
-1D568;N # MATHEMATICAL DOUBLE-STRUCK SMALL W
-1D569;N # MATHEMATICAL DOUBLE-STRUCK SMALL X
-1D56A;N # MATHEMATICAL DOUBLE-STRUCK SMALL Y
-1D56B;N # MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D56C;N # MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D56D;N # MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D56E;N # MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D56F;N # MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D570;N # MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D571;N # MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D572;N # MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D573;N # MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D574;N # MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D575;N # MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D576;N # MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D577;N # MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D578;N # MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D579;N # MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D57A;N # MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D57B;N # MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D57C;N # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D57D;N # MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D57E;N # MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D57F;N # MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D580;N # MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D581;N # MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D582;N # MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D583;N # MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D584;N # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D585;N # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D586;N # MATHEMATICAL BOLD FRAKTUR SMALL A
-1D587;N # MATHEMATICAL BOLD FRAKTUR SMALL B
-1D588;N # MATHEMATICAL BOLD FRAKTUR SMALL C
-1D589;N # MATHEMATICAL BOLD FRAKTUR SMALL D
-1D58A;N # MATHEMATICAL BOLD FRAKTUR SMALL E
-1D58B;N # MATHEMATICAL BOLD FRAKTUR SMALL F
-1D58C;N # MATHEMATICAL BOLD FRAKTUR SMALL G
-1D58D;N # MATHEMATICAL BOLD FRAKTUR SMALL H
-1D58E;N # MATHEMATICAL BOLD FRAKTUR SMALL I
-1D58F;N # MATHEMATICAL BOLD FRAKTUR SMALL J
-1D590;N # MATHEMATICAL BOLD FRAKTUR SMALL K
-1D591;N # MATHEMATICAL BOLD FRAKTUR SMALL L
-1D592;N # MATHEMATICAL BOLD FRAKTUR SMALL M
-1D593;N # MATHEMATICAL BOLD FRAKTUR SMALL N
-1D594;N # MATHEMATICAL BOLD FRAKTUR SMALL O
-1D595;N # MATHEMATICAL BOLD FRAKTUR SMALL P
-1D596;N # MATHEMATICAL BOLD FRAKTUR SMALL Q
-1D597;N # MATHEMATICAL BOLD FRAKTUR SMALL R
-1D598;N # MATHEMATICAL BOLD FRAKTUR SMALL S
-1D599;N # MATHEMATICAL BOLD FRAKTUR SMALL T
-1D59A;N # MATHEMATICAL BOLD FRAKTUR SMALL U
-1D59B;N # MATHEMATICAL BOLD FRAKTUR SMALL V
-1D59C;N # MATHEMATICAL BOLD FRAKTUR SMALL W
-1D59D;N # MATHEMATICAL BOLD FRAKTUR SMALL X
-1D59E;N # MATHEMATICAL BOLD FRAKTUR SMALL Y
-1D59F;N # MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5A0;N # MATHEMATICAL SANS-SERIF CAPITAL A
-1D5A1;N # MATHEMATICAL SANS-SERIF CAPITAL B
-1D5A2;N # MATHEMATICAL SANS-SERIF CAPITAL C
-1D5A3;N # MATHEMATICAL SANS-SERIF CAPITAL D
-1D5A4;N # MATHEMATICAL SANS-SERIF CAPITAL E
-1D5A5;N # MATHEMATICAL SANS-SERIF CAPITAL F
-1D5A6;N # MATHEMATICAL SANS-SERIF CAPITAL G
-1D5A7;N # MATHEMATICAL SANS-SERIF CAPITAL H
-1D5A8;N # MATHEMATICAL SANS-SERIF CAPITAL I
-1D5A9;N # MATHEMATICAL SANS-SERIF CAPITAL J
-1D5AA;N # MATHEMATICAL SANS-SERIF CAPITAL K
-1D5AB;N # MATHEMATICAL SANS-SERIF CAPITAL L
-1D5AC;N # MATHEMATICAL SANS-SERIF CAPITAL M
-1D5AD;N # MATHEMATICAL SANS-SERIF CAPITAL N
-1D5AE;N # MATHEMATICAL SANS-SERIF CAPITAL O
-1D5AF;N # MATHEMATICAL SANS-SERIF CAPITAL P
-1D5B0;N # MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5B1;N # MATHEMATICAL SANS-SERIF CAPITAL R
-1D5B2;N # MATHEMATICAL SANS-SERIF CAPITAL S
-1D5B3;N # MATHEMATICAL SANS-SERIF CAPITAL T
-1D5B4;N # MATHEMATICAL SANS-SERIF CAPITAL U
-1D5B5;N # MATHEMATICAL SANS-SERIF CAPITAL V
-1D5B6;N # MATHEMATICAL SANS-SERIF CAPITAL W
-1D5B7;N # MATHEMATICAL SANS-SERIF CAPITAL X
-1D5B8;N # MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5B9;N # MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5BA;N # MATHEMATICAL SANS-SERIF SMALL A
-1D5BB;N # MATHEMATICAL SANS-SERIF SMALL B
-1D5BC;N # MATHEMATICAL SANS-SERIF SMALL C
-1D5BD;N # MATHEMATICAL SANS-SERIF SMALL D
-1D5BE;N # MATHEMATICAL SANS-SERIF SMALL E
-1D5BF;N # MATHEMATICAL SANS-SERIF SMALL F
-1D5C0;N # MATHEMATICAL SANS-SERIF SMALL G
-1D5C1;N # MATHEMATICAL SANS-SERIF SMALL H
-1D5C2;N # MATHEMATICAL SANS-SERIF SMALL I
-1D5C3;N # MATHEMATICAL SANS-SERIF SMALL J
-1D5C4;N # MATHEMATICAL SANS-SERIF SMALL K
-1D5C5;N # MATHEMATICAL SANS-SERIF SMALL L
-1D5C6;N # MATHEMATICAL SANS-SERIF SMALL M
-1D5C7;N # MATHEMATICAL SANS-SERIF SMALL N
-1D5C8;N # MATHEMATICAL SANS-SERIF SMALL O
-1D5C9;N # MATHEMATICAL SANS-SERIF SMALL P
-1D5CA;N # MATHEMATICAL SANS-SERIF SMALL Q
-1D5CB;N # MATHEMATICAL SANS-SERIF SMALL R
-1D5CC;N # MATHEMATICAL SANS-SERIF SMALL S
-1D5CD;N # MATHEMATICAL SANS-SERIF SMALL T
-1D5CE;N # MATHEMATICAL SANS-SERIF SMALL U
-1D5CF;N # MATHEMATICAL SANS-SERIF SMALL V
-1D5D0;N # MATHEMATICAL SANS-SERIF SMALL W
-1D5D1;N # MATHEMATICAL SANS-SERIF SMALL X
-1D5D2;N # MATHEMATICAL SANS-SERIF SMALL Y
-1D5D3;N # MATHEMATICAL SANS-SERIF SMALL Z
-1D5D4;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D5D5;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D5D6;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D5D7;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D5D8;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D5D9;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D5DA;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D5DB;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D5DC;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D5DD;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D5DE;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D5DF;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D5E0;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D5E1;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D5E2;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D5E3;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D5E4;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D5E5;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D5E6;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D5E7;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D5E8;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D5E9;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D5EA;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D5EB;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D5EC;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D5ED;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D5EE;N # MATHEMATICAL SANS-SERIF BOLD SMALL A
-1D5EF;N # MATHEMATICAL SANS-SERIF BOLD SMALL B
-1D5F0;N # MATHEMATICAL SANS-SERIF BOLD SMALL C
-1D5F1;N # MATHEMATICAL SANS-SERIF BOLD SMALL D
-1D5F2;N # MATHEMATICAL SANS-SERIF BOLD SMALL E
-1D5F3;N # MATHEMATICAL SANS-SERIF BOLD SMALL F
-1D5F4;N # MATHEMATICAL SANS-SERIF BOLD SMALL G
-1D5F5;N # MATHEMATICAL SANS-SERIF BOLD SMALL H
-1D5F6;N # MATHEMATICAL SANS-SERIF BOLD SMALL I
-1D5F7;N # MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D5F8;N # MATHEMATICAL SANS-SERIF BOLD SMALL K
-1D5F9;N # MATHEMATICAL SANS-SERIF BOLD SMALL L
-1D5FA;N # MATHEMATICAL SANS-SERIF BOLD SMALL M
-1D5FB;N # MATHEMATICAL SANS-SERIF BOLD SMALL N
-1D5FC;N # MATHEMATICAL SANS-SERIF BOLD SMALL O
-1D5FD;N # MATHEMATICAL SANS-SERIF BOLD SMALL P
-1D5FE;N # MATHEMATICAL SANS-SERIF BOLD SMALL Q
-1D5FF;N # MATHEMATICAL SANS-SERIF BOLD SMALL R
-1D600;N # MATHEMATICAL SANS-SERIF BOLD SMALL S
-1D601;N # MATHEMATICAL SANS-SERIF BOLD SMALL T
-1D602;N # MATHEMATICAL SANS-SERIF BOLD SMALL U
-1D603;N # MATHEMATICAL SANS-SERIF BOLD SMALL V
-1D604;N # MATHEMATICAL SANS-SERIF BOLD SMALL W
-1D605;N # MATHEMATICAL SANS-SERIF BOLD SMALL X
-1D606;N # MATHEMATICAL SANS-SERIF BOLD SMALL Y
-1D607;N # MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D608;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D609;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D60A;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D60B;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D60C;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D60D;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D60E;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D60F;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D610;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D611;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D612;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D613;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D614;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D615;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D616;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D617;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D618;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D619;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D61A;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D61B;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D61C;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D61D;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D61E;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D61F;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D620;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D621;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D622;N # MATHEMATICAL SANS-SERIF ITALIC SMALL A
-1D623;N # MATHEMATICAL SANS-SERIF ITALIC SMALL B
-1D624;N # MATHEMATICAL SANS-SERIF ITALIC SMALL C
-1D625;N # MATHEMATICAL SANS-SERIF ITALIC SMALL D
-1D626;N # MATHEMATICAL SANS-SERIF ITALIC SMALL E
-1D627;N # MATHEMATICAL SANS-SERIF ITALIC SMALL F
-1D628;N # MATHEMATICAL SANS-SERIF ITALIC SMALL G
-1D629;N # MATHEMATICAL SANS-SERIF ITALIC SMALL H
-1D62A;N # MATHEMATICAL SANS-SERIF ITALIC SMALL I
-1D62B;N # MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D62C;N # MATHEMATICAL SANS-SERIF ITALIC SMALL K
-1D62D;N # MATHEMATICAL SANS-SERIF ITALIC SMALL L
-1D62E;N # MATHEMATICAL SANS-SERIF ITALIC SMALL M
-1D62F;N # MATHEMATICAL SANS-SERIF ITALIC SMALL N
-1D630;N # MATHEMATICAL SANS-SERIF ITALIC SMALL O
-1D631;N # MATHEMATICAL SANS-SERIF ITALIC SMALL P
-1D632;N # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
-1D633;N # MATHEMATICAL SANS-SERIF ITALIC SMALL R
-1D634;N # MATHEMATICAL SANS-SERIF ITALIC SMALL S
-1D635;N # MATHEMATICAL SANS-SERIF ITALIC SMALL T
-1D636;N # MATHEMATICAL SANS-SERIF ITALIC SMALL U
-1D637;N # MATHEMATICAL SANS-SERIF ITALIC SMALL V
-1D638;N # MATHEMATICAL SANS-SERIF ITALIC SMALL W
-1D639;N # MATHEMATICAL SANS-SERIF ITALIC SMALL X
-1D63A;N # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
-1D63B;N # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D63C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D63D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D63E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D63F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D640;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D641;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D642;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D643;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D644;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D645;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D646;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D647;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D648;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D649;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D64A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D64B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D64C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D64D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D64E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D64F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D650;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D651;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D652;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D653;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D654;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D655;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D656;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
-1D657;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
-1D658;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
-1D659;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
-1D65A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
-1D65B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
-1D65C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
-1D65D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
-1D65E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
-1D65F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D660;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
-1D661;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
-1D662;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
-1D663;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
-1D664;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
-1D665;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
-1D666;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
-1D667;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
-1D668;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
-1D669;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
-1D66A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
-1D66B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
-1D66C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
-1D66D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
-1D66E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
-1D66F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D670;N # MATHEMATICAL MONOSPACE CAPITAL A
-1D671;N # MATHEMATICAL MONOSPACE CAPITAL B
-1D672;N # MATHEMATICAL MONOSPACE CAPITAL C
-1D673;N # MATHEMATICAL MONOSPACE CAPITAL D
-1D674;N # MATHEMATICAL MONOSPACE CAPITAL E
-1D675;N # MATHEMATICAL MONOSPACE CAPITAL F
-1D676;N # MATHEMATICAL MONOSPACE CAPITAL G
-1D677;N # MATHEMATICAL MONOSPACE CAPITAL H
-1D678;N # MATHEMATICAL MONOSPACE CAPITAL I
-1D679;N # MATHEMATICAL MONOSPACE CAPITAL J
-1D67A;N # MATHEMATICAL MONOSPACE CAPITAL K
-1D67B;N # MATHEMATICAL MONOSPACE CAPITAL L
-1D67C;N # MATHEMATICAL MONOSPACE CAPITAL M
-1D67D;N # MATHEMATICAL MONOSPACE CAPITAL N
-1D67E;N # MATHEMATICAL MONOSPACE CAPITAL O
-1D67F;N # MATHEMATICAL MONOSPACE CAPITAL P
-1D680;N # MATHEMATICAL MONOSPACE CAPITAL Q
-1D681;N # MATHEMATICAL MONOSPACE CAPITAL R
-1D682;N # MATHEMATICAL MONOSPACE CAPITAL S
-1D683;N # MATHEMATICAL MONOSPACE CAPITAL T
-1D684;N # MATHEMATICAL MONOSPACE CAPITAL U
-1D685;N # MATHEMATICAL MONOSPACE CAPITAL V
-1D686;N # MATHEMATICAL MONOSPACE CAPITAL W
-1D687;N # MATHEMATICAL MONOSPACE CAPITAL X
-1D688;N # MATHEMATICAL MONOSPACE CAPITAL Y
-1D689;N # MATHEMATICAL MONOSPACE CAPITAL Z
-1D68A;N # MATHEMATICAL MONOSPACE SMALL A
-1D68B;N # MATHEMATICAL MONOSPACE SMALL B
-1D68C;N # MATHEMATICAL MONOSPACE SMALL C
-1D68D;N # MATHEMATICAL MONOSPACE SMALL D
-1D68E;N # MATHEMATICAL MONOSPACE SMALL E
-1D68F;N # MATHEMATICAL MONOSPACE SMALL F
-1D690;N # MATHEMATICAL MONOSPACE SMALL G
-1D691;N # MATHEMATICAL MONOSPACE SMALL H
-1D692;N # MATHEMATICAL MONOSPACE SMALL I
-1D693;N # MATHEMATICAL MONOSPACE SMALL J
-1D694;N # MATHEMATICAL MONOSPACE SMALL K
-1D695;N # MATHEMATICAL MONOSPACE SMALL L
-1D696;N # MATHEMATICAL MONOSPACE SMALL M
-1D697;N # MATHEMATICAL MONOSPACE SMALL N
-1D698;N # MATHEMATICAL MONOSPACE SMALL O
-1D699;N # MATHEMATICAL MONOSPACE SMALL P
-1D69A;N # MATHEMATICAL MONOSPACE SMALL Q
-1D69B;N # MATHEMATICAL MONOSPACE SMALL R
-1D69C;N # MATHEMATICAL MONOSPACE SMALL S
-1D69D;N # MATHEMATICAL MONOSPACE SMALL T
-1D69E;N # MATHEMATICAL MONOSPACE SMALL U
-1D69F;N # MATHEMATICAL MONOSPACE SMALL V
-1D6A0;N # MATHEMATICAL MONOSPACE SMALL W
-1D6A1;N # MATHEMATICAL MONOSPACE SMALL X
-1D6A2;N # MATHEMATICAL MONOSPACE SMALL Y
-1D6A3;N # MATHEMATICAL MONOSPACE SMALL Z
-1D6A4;N # MATHEMATICAL ITALIC SMALL DOTLESS I
-1D6A5;N # MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8;N # MATHEMATICAL BOLD CAPITAL ALPHA
-1D6A9;N # MATHEMATICAL BOLD CAPITAL BETA
-1D6AA;N # MATHEMATICAL BOLD CAPITAL GAMMA
-1D6AB;N # MATHEMATICAL BOLD CAPITAL DELTA
-1D6AC;N # MATHEMATICAL BOLD CAPITAL EPSILON
-1D6AD;N # MATHEMATICAL BOLD CAPITAL ZETA
-1D6AE;N # MATHEMATICAL BOLD CAPITAL ETA
-1D6AF;N # MATHEMATICAL BOLD CAPITAL THETA
-1D6B0;N # MATHEMATICAL BOLD CAPITAL IOTA
-1D6B1;N # MATHEMATICAL BOLD CAPITAL KAPPA
-1D6B2;N # MATHEMATICAL BOLD CAPITAL LAMDA
-1D6B3;N # MATHEMATICAL BOLD CAPITAL MU
-1D6B4;N # MATHEMATICAL BOLD CAPITAL NU
-1D6B5;N # MATHEMATICAL BOLD CAPITAL XI
-1D6B6;N # MATHEMATICAL BOLD CAPITAL OMICRON
-1D6B7;N # MATHEMATICAL BOLD CAPITAL PI
-1D6B8;N # MATHEMATICAL BOLD CAPITAL RHO
-1D6B9;N # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6BA;N # MATHEMATICAL BOLD CAPITAL SIGMA
-1D6BB;N # MATHEMATICAL BOLD CAPITAL TAU
-1D6BC;N # MATHEMATICAL BOLD CAPITAL UPSILON
-1D6BD;N # MATHEMATICAL BOLD CAPITAL PHI
-1D6BE;N # MATHEMATICAL BOLD CAPITAL CHI
-1D6BF;N # MATHEMATICAL BOLD CAPITAL PSI
-1D6C0;N # MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1;N # MATHEMATICAL BOLD NABLA
-1D6C2;N # MATHEMATICAL BOLD SMALL ALPHA
-1D6C3;N # MATHEMATICAL BOLD SMALL BETA
-1D6C4;N # MATHEMATICAL BOLD SMALL GAMMA
-1D6C5;N # MATHEMATICAL BOLD SMALL DELTA
-1D6C6;N # MATHEMATICAL BOLD SMALL EPSILON
-1D6C7;N # MATHEMATICAL BOLD SMALL ZETA
-1D6C8;N # MATHEMATICAL BOLD SMALL ETA
-1D6C9;N # MATHEMATICAL BOLD SMALL THETA
-1D6CA;N # MATHEMATICAL BOLD SMALL IOTA
-1D6CB;N # MATHEMATICAL BOLD SMALL KAPPA
-1D6CC;N # MATHEMATICAL BOLD SMALL LAMDA
-1D6CD;N # MATHEMATICAL BOLD SMALL MU
-1D6CE;N # MATHEMATICAL BOLD SMALL NU
-1D6CF;N # MATHEMATICAL BOLD SMALL XI
-1D6D0;N # MATHEMATICAL BOLD SMALL OMICRON
-1D6D1;N # MATHEMATICAL BOLD SMALL PI
-1D6D2;N # MATHEMATICAL BOLD SMALL RHO
-1D6D3;N # MATHEMATICAL BOLD SMALL FINAL SIGMA
-1D6D4;N # MATHEMATICAL BOLD SMALL SIGMA
-1D6D5;N # MATHEMATICAL BOLD SMALL TAU
-1D6D6;N # MATHEMATICAL BOLD SMALL UPSILON
-1D6D7;N # MATHEMATICAL BOLD SMALL PHI
-1D6D8;N # MATHEMATICAL BOLD SMALL CHI
-1D6D9;N # MATHEMATICAL BOLD SMALL PSI
-1D6DA;N # MATHEMATICAL BOLD SMALL OMEGA
-1D6DB;N # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC;N # MATHEMATICAL BOLD EPSILON SYMBOL
-1D6DD;N # MATHEMATICAL BOLD THETA SYMBOL
-1D6DE;N # MATHEMATICAL BOLD KAPPA SYMBOL
-1D6DF;N # MATHEMATICAL BOLD PHI SYMBOL
-1D6E0;N # MATHEMATICAL BOLD RHO SYMBOL
-1D6E1;N # MATHEMATICAL BOLD PI SYMBOL
-1D6E2;N # MATHEMATICAL ITALIC CAPITAL ALPHA
-1D6E3;N # MATHEMATICAL ITALIC CAPITAL BETA
-1D6E4;N # MATHEMATICAL ITALIC CAPITAL GAMMA
-1D6E5;N # MATHEMATICAL ITALIC CAPITAL DELTA
-1D6E6;N # MATHEMATICAL ITALIC CAPITAL EPSILON
-1D6E7;N # MATHEMATICAL ITALIC CAPITAL ZETA
-1D6E8;N # MATHEMATICAL ITALIC CAPITAL ETA
-1D6E9;N # MATHEMATICAL ITALIC CAPITAL THETA
-1D6EA;N # MATHEMATICAL ITALIC CAPITAL IOTA
-1D6EB;N # MATHEMATICAL ITALIC CAPITAL KAPPA
-1D6EC;N # MATHEMATICAL ITALIC CAPITAL LAMDA
-1D6ED;N # MATHEMATICAL ITALIC CAPITAL MU
-1D6EE;N # MATHEMATICAL ITALIC CAPITAL NU
-1D6EF;N # MATHEMATICAL ITALIC CAPITAL XI
-1D6F0;N # MATHEMATICAL ITALIC CAPITAL OMICRON
-1D6F1;N # MATHEMATICAL ITALIC CAPITAL PI
-1D6F2;N # MATHEMATICAL ITALIC CAPITAL RHO
-1D6F3;N # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D6F4;N # MATHEMATICAL ITALIC CAPITAL SIGMA
-1D6F5;N # MATHEMATICAL ITALIC CAPITAL TAU
-1D6F6;N # MATHEMATICAL ITALIC CAPITAL UPSILON
-1D6F7;N # MATHEMATICAL ITALIC CAPITAL PHI
-1D6F8;N # MATHEMATICAL ITALIC CAPITAL CHI
-1D6F9;N # MATHEMATICAL ITALIC CAPITAL PSI
-1D6FA;N # MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB;N # MATHEMATICAL ITALIC NABLA
-1D6FC;N # MATHEMATICAL ITALIC SMALL ALPHA
-1D6FD;N # MATHEMATICAL ITALIC SMALL BETA
-1D6FE;N # MATHEMATICAL ITALIC SMALL GAMMA
-1D6FF;N # MATHEMATICAL ITALIC SMALL DELTA
-1D700;N # MATHEMATICAL ITALIC SMALL EPSILON
-1D701;N # MATHEMATICAL ITALIC SMALL ZETA
-1D702;N # MATHEMATICAL ITALIC SMALL ETA
-1D703;N # MATHEMATICAL ITALIC SMALL THETA
-1D704;N # MATHEMATICAL ITALIC SMALL IOTA
-1D705;N # MATHEMATICAL ITALIC SMALL KAPPA
-1D706;N # MATHEMATICAL ITALIC SMALL LAMDA
-1D707;N # MATHEMATICAL ITALIC SMALL MU
-1D708;N # MATHEMATICAL ITALIC SMALL NU
-1D709;N # MATHEMATICAL ITALIC SMALL XI
-1D70A;N # MATHEMATICAL ITALIC SMALL OMICRON
-1D70B;N # MATHEMATICAL ITALIC SMALL PI
-1D70C;N # MATHEMATICAL ITALIC SMALL RHO
-1D70D;N # MATHEMATICAL ITALIC SMALL FINAL SIGMA
-1D70E;N # MATHEMATICAL ITALIC SMALL SIGMA
-1D70F;N # MATHEMATICAL ITALIC SMALL TAU
-1D710;N # MATHEMATICAL ITALIC SMALL UPSILON
-1D711;N # MATHEMATICAL ITALIC SMALL PHI
-1D712;N # MATHEMATICAL ITALIC SMALL CHI
-1D713;N # MATHEMATICAL ITALIC SMALL PSI
-1D714;N # MATHEMATICAL ITALIC SMALL OMEGA
-1D715;N # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716;N # MATHEMATICAL ITALIC EPSILON SYMBOL
-1D717;N # MATHEMATICAL ITALIC THETA SYMBOL
-1D718;N # MATHEMATICAL ITALIC KAPPA SYMBOL
-1D719;N # MATHEMATICAL ITALIC PHI SYMBOL
-1D71A;N # MATHEMATICAL ITALIC RHO SYMBOL
-1D71B;N # MATHEMATICAL ITALIC PI SYMBOL
-1D71C;N # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D71D;N # MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D71E;N # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D71F;N # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D720;N # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D721;N # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D722;N # MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D723;N # MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D724;N # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D725;N # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D726;N # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D727;N # MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D728;N # MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D729;N # MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D72A;N # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D72B;N # MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D72C;N # MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D72D;N # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D72E;N # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D72F;N # MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D730;N # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D731;N # MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D732;N # MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D733;N # MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D734;N # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735;N # MATHEMATICAL BOLD ITALIC NABLA
-1D736;N # MATHEMATICAL BOLD ITALIC SMALL ALPHA
-1D737;N # MATHEMATICAL BOLD ITALIC SMALL BETA
-1D738;N # MATHEMATICAL BOLD ITALIC SMALL GAMMA
-1D739;N # MATHEMATICAL BOLD ITALIC SMALL DELTA
-1D73A;N # MATHEMATICAL BOLD ITALIC SMALL EPSILON
-1D73B;N # MATHEMATICAL BOLD ITALIC SMALL ZETA
-1D73C;N # MATHEMATICAL BOLD ITALIC SMALL ETA
-1D73D;N # MATHEMATICAL BOLD ITALIC SMALL THETA
-1D73E;N # MATHEMATICAL BOLD ITALIC SMALL IOTA
-1D73F;N # MATHEMATICAL BOLD ITALIC SMALL KAPPA
-1D740;N # MATHEMATICAL BOLD ITALIC SMALL LAMDA
-1D741;N # MATHEMATICAL BOLD ITALIC SMALL MU
-1D742;N # MATHEMATICAL BOLD ITALIC SMALL NU
-1D743;N # MATHEMATICAL BOLD ITALIC SMALL XI
-1D744;N # MATHEMATICAL BOLD ITALIC SMALL OMICRON
-1D745;N # MATHEMATICAL BOLD ITALIC SMALL PI
-1D746;N # MATHEMATICAL BOLD ITALIC SMALL RHO
-1D747;N # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
-1D748;N # MATHEMATICAL BOLD ITALIC SMALL SIGMA
-1D749;N # MATHEMATICAL BOLD ITALIC SMALL TAU
-1D74A;N # MATHEMATICAL BOLD ITALIC SMALL UPSILON
-1D74B;N # MATHEMATICAL BOLD ITALIC SMALL PHI
-1D74C;N # MATHEMATICAL BOLD ITALIC SMALL CHI
-1D74D;N # MATHEMATICAL BOLD ITALIC SMALL PSI
-1D74E;N # MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F;N # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750;N # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
-1D751;N # MATHEMATICAL BOLD ITALIC THETA SYMBOL
-1D752;N # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
-1D753;N # MATHEMATICAL BOLD ITALIC PHI SYMBOL
-1D754;N # MATHEMATICAL BOLD ITALIC RHO SYMBOL
-1D755;N # MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D756;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D757;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D758;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D759;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D75A;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D75B;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D75C;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D75D;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D75E;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D75F;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D760;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D761;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D762;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D763;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D764;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D765;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D766;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D767;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D768;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D769;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D76A;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D76B;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D76C;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D76D;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D76E;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F;N # MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770;N # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
-1D771;N # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
-1D772;N # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
-1D773;N # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
-1D774;N # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
-1D775;N # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
-1D776;N # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
-1D777;N # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
-1D778;N # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
-1D779;N # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
-1D77A;N # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
-1D77B;N # MATHEMATICAL SANS-SERIF BOLD SMALL MU
-1D77C;N # MATHEMATICAL SANS-SERIF BOLD SMALL NU
-1D77D;N # MATHEMATICAL SANS-SERIF BOLD SMALL XI
-1D77E;N # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
-1D77F;N # MATHEMATICAL SANS-SERIF BOLD SMALL PI
-1D780;N # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
-1D781;N # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
-1D782;N # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
-1D783;N # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
-1D784;N # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
-1D785;N # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
-1D786;N # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
-1D787;N # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
-1D788;N # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789;N # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A;N # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
-1D78B;N # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
-1D78C;N # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
-1D78D;N # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
-1D78E;N # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
-1D78F;N # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D790;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1D791;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D792;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D793;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D794;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1D795;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-1D796;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1D797;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D798;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1D799;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-1D79A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D79B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-1D79C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-1D79D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-1D79E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1D79F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D7A0;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D7A1;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1D7A2;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-1D7A3;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-1D7A4;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1D7A5;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D7A6;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D7A7;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D7A8;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9;N # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
-1D7AB;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
-1D7AC;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
-1D7AD;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
-1D7AE;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
-1D7AF;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
-1D7B0;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
-1D7B1;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
-1D7B2;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
-1D7B3;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
-1D7B4;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
-1D7B5;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
-1D7B6;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
-1D7B7;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
-1D7B8;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
-1D7B9;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
-1D7BA;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
-1D7BB;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
-1D7BC;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
-1D7BD;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
-1D7BE;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
-1D7BF;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
-1D7C0;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
-1D7C1;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
-1D7C2;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3;N # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4;N # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
-1D7C5;N # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
-1D7C6;N # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
-1D7C7;N # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
-1D7C8;N # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
-1D7C9;N # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CA;N # MATHEMATICAL BOLD CAPITAL DIGAMMA
-1D7CB;N # MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE;N # MATHEMATICAL BOLD DIGIT ZERO
-1D7CF;N # MATHEMATICAL BOLD DIGIT ONE
-1D7D0;N # MATHEMATICAL BOLD DIGIT TWO
-1D7D1;N # MATHEMATICAL BOLD DIGIT THREE
-1D7D2;N # MATHEMATICAL BOLD DIGIT FOUR
-1D7D3;N # MATHEMATICAL BOLD DIGIT FIVE
-1D7D4;N # MATHEMATICAL BOLD DIGIT SIX
-1D7D5;N # MATHEMATICAL BOLD DIGIT SEVEN
-1D7D6;N # MATHEMATICAL BOLD DIGIT EIGHT
-1D7D7;N # MATHEMATICAL BOLD DIGIT NINE
-1D7D8;N # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7D9;N # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7DA;N # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7DB;N # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7DC;N # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7DD;N # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7DE;N # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7DF;N # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E0;N # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7E1;N # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7E2;N # MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7E3;N # MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7E4;N # MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7E5;N # MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7E6;N # MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7E7;N # MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7E8;N # MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7E9;N # MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7EA;N # MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7EB;N # MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7EC;N # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7ED;N # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7EE;N # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7EF;N # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F0;N # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7F1;N # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7F2;N # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7F3;N # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7F4;N # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7F5;N # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7F6;N # MATHEMATICAL MONOSPACE DIGIT ZERO
-1D7F7;N # MATHEMATICAL MONOSPACE DIGIT ONE
-1D7F8;N # MATHEMATICAL MONOSPACE DIGIT TWO
-1D7F9;N # MATHEMATICAL MONOSPACE DIGIT THREE
-1D7FA;N # MATHEMATICAL MONOSPACE DIGIT FOUR
-1D7FB;N # MATHEMATICAL MONOSPACE DIGIT FIVE
-1D7FC;N # MATHEMATICAL MONOSPACE DIGIT SIX
-1D7FD;N # MATHEMATICAL MONOSPACE DIGIT SEVEN
-1D7FE;N # MATHEMATICAL MONOSPACE DIGIT EIGHT
-1D7FF;N # MATHEMATICAL MONOSPACE DIGIT NINE
-1F000;N # MAHJONG TILE EAST WIND
-1F001;N # MAHJONG TILE SOUTH WIND
-1F002;N # MAHJONG TILE WEST WIND
-1F003;N # MAHJONG TILE NORTH WIND
-1F004;N # MAHJONG TILE RED DRAGON
-1F005;N # MAHJONG TILE GREEN DRAGON
-1F006;N # MAHJONG TILE WHITE DRAGON
-1F007;N # MAHJONG TILE ONE OF CHARACTERS
-1F008;N # MAHJONG TILE TWO OF CHARACTERS
-1F009;N # MAHJONG TILE THREE OF CHARACTERS
-1F00A;N # MAHJONG TILE FOUR OF CHARACTERS
-1F00B;N # MAHJONG TILE FIVE OF CHARACTERS
-1F00C;N # MAHJONG TILE SIX OF CHARACTERS
-1F00D;N # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E;N # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F;N # MAHJONG TILE NINE OF CHARACTERS
-1F010;N # MAHJONG TILE ONE OF BAMBOOS
-1F011;N # MAHJONG TILE TWO OF BAMBOOS
-1F012;N # MAHJONG TILE THREE OF BAMBOOS
-1F013;N # MAHJONG TILE FOUR OF BAMBOOS
-1F014;N # MAHJONG TILE FIVE OF BAMBOOS
-1F015;N # MAHJONG TILE SIX OF BAMBOOS
-1F016;N # MAHJONG TILE SEVEN OF BAMBOOS
-1F017;N # MAHJONG TILE EIGHT OF BAMBOOS
-1F018;N # MAHJONG TILE NINE OF BAMBOOS
-1F019;N # MAHJONG TILE ONE OF CIRCLES
-1F01A;N # MAHJONG TILE TWO OF CIRCLES
-1F01B;N # MAHJONG TILE THREE OF CIRCLES
-1F01C;N # MAHJONG TILE FOUR OF CIRCLES
-1F01D;N # MAHJONG TILE FIVE OF CIRCLES
-1F01E;N # MAHJONG TILE SIX OF CIRCLES
-1F01F;N # MAHJONG TILE SEVEN OF CIRCLES
-1F020;N # MAHJONG TILE EIGHT OF CIRCLES
-1F021;N # MAHJONG TILE NINE OF CIRCLES
-1F022;N # MAHJONG TILE PLUM
-1F023;N # MAHJONG TILE ORCHID
-1F024;N # MAHJONG TILE BAMBOO
-1F025;N # MAHJONG TILE CHRYSANTHEMUM
-1F026;N # MAHJONG TILE SPRING
-1F027;N # MAHJONG TILE SUMMER
-1F028;N # MAHJONG TILE AUTUMN
-1F029;N # MAHJONG TILE WINTER
-1F02A;N # MAHJONG TILE JOKER
-1F02B;N # MAHJONG TILE BACK
-1F030;N # DOMINO TILE HORIZONTAL BACK
-1F031;N # DOMINO TILE HORIZONTAL-00-00
-1F032;N # DOMINO TILE HORIZONTAL-00-01
-1F033;N # DOMINO TILE HORIZONTAL-00-02
-1F034;N # DOMINO TILE HORIZONTAL-00-03
-1F035;N # DOMINO TILE HORIZONTAL-00-04
-1F036;N # DOMINO TILE HORIZONTAL-00-05
-1F037;N # DOMINO TILE HORIZONTAL-00-06
-1F038;N # DOMINO TILE HORIZONTAL-01-00
-1F039;N # DOMINO TILE HORIZONTAL-01-01
-1F03A;N # DOMINO TILE HORIZONTAL-01-02
-1F03B;N # DOMINO TILE HORIZONTAL-01-03
-1F03C;N # DOMINO TILE HORIZONTAL-01-04
-1F03D;N # DOMINO TILE HORIZONTAL-01-05
-1F03E;N # DOMINO TILE HORIZONTAL-01-06
-1F03F;N # DOMINO TILE HORIZONTAL-02-00
-1F040;N # DOMINO TILE HORIZONTAL-02-01
-1F041;N # DOMINO TILE HORIZONTAL-02-02
-1F042;N # DOMINO TILE HORIZONTAL-02-03
-1F043;N # DOMINO TILE HORIZONTAL-02-04
-1F044;N # DOMINO TILE HORIZONTAL-02-05
-1F045;N # DOMINO TILE HORIZONTAL-02-06
-1F046;N # DOMINO TILE HORIZONTAL-03-00
-1F047;N # DOMINO TILE HORIZONTAL-03-01
-1F048;N # DOMINO TILE HORIZONTAL-03-02
-1F049;N # DOMINO TILE HORIZONTAL-03-03
-1F04A;N # DOMINO TILE HORIZONTAL-03-04
-1F04B;N # DOMINO TILE HORIZONTAL-03-05
-1F04C;N # DOMINO TILE HORIZONTAL-03-06
-1F04D;N # DOMINO TILE HORIZONTAL-04-00
-1F04E;N # DOMINO TILE HORIZONTAL-04-01
-1F04F;N # DOMINO TILE HORIZONTAL-04-02
-1F050;N # DOMINO TILE HORIZONTAL-04-03
-1F051;N # DOMINO TILE HORIZONTAL-04-04
-1F052;N # DOMINO TILE HORIZONTAL-04-05
-1F053;N # DOMINO TILE HORIZONTAL-04-06
-1F054;N # DOMINO TILE HORIZONTAL-05-00
-1F055;N # DOMINO TILE HORIZONTAL-05-01
-1F056;N # DOMINO TILE HORIZONTAL-05-02
-1F057;N # DOMINO TILE HORIZONTAL-05-03
-1F058;N # DOMINO TILE HORIZONTAL-05-04
-1F059;N # DOMINO TILE HORIZONTAL-05-05
-1F05A;N # DOMINO TILE HORIZONTAL-05-06
-1F05B;N # DOMINO TILE HORIZONTAL-06-00
-1F05C;N # DOMINO TILE HORIZONTAL-06-01
-1F05D;N # DOMINO TILE HORIZONTAL-06-02
-1F05E;N # DOMINO TILE HORIZONTAL-06-03
-1F05F;N # DOMINO TILE HORIZONTAL-06-04
-1F060;N # DOMINO TILE HORIZONTAL-06-05
-1F061;N # DOMINO TILE HORIZONTAL-06-06
-1F062;N # DOMINO TILE VERTICAL BACK
-1F063;N # DOMINO TILE VERTICAL-00-00
-1F064;N # DOMINO TILE VERTICAL-00-01
-1F065;N # DOMINO TILE VERTICAL-00-02
-1F066;N # DOMINO TILE VERTICAL-00-03
-1F067;N # DOMINO TILE VERTICAL-00-04
-1F068;N # DOMINO TILE VERTICAL-00-05
-1F069;N # DOMINO TILE VERTICAL-00-06
-1F06A;N # DOMINO TILE VERTICAL-01-00
-1F06B;N # DOMINO TILE VERTICAL-01-01
-1F06C;N # DOMINO TILE VERTICAL-01-02
-1F06D;N # DOMINO TILE VERTICAL-01-03
-1F06E;N # DOMINO TILE VERTICAL-01-04
-1F06F;N # DOMINO TILE VERTICAL-01-05
-1F070;N # DOMINO TILE VERTICAL-01-06
-1F071;N # DOMINO TILE VERTICAL-02-00
-1F072;N # DOMINO TILE VERTICAL-02-01
-1F073;N # DOMINO TILE VERTICAL-02-02
-1F074;N # DOMINO TILE VERTICAL-02-03
-1F075;N # DOMINO TILE VERTICAL-02-04
-1F076;N # DOMINO TILE VERTICAL-02-05
-1F077;N # DOMINO TILE VERTICAL-02-06
-1F078;N # DOMINO TILE VERTICAL-03-00
-1F079;N # DOMINO TILE VERTICAL-03-01
-1F07A;N # DOMINO TILE VERTICAL-03-02
-1F07B;N # DOMINO TILE VERTICAL-03-03
-1F07C;N # DOMINO TILE VERTICAL-03-04
-1F07D;N # DOMINO TILE VERTICAL-03-05
-1F07E;N # DOMINO TILE VERTICAL-03-06
-1F07F;N # DOMINO TILE VERTICAL-04-00
-1F080;N # DOMINO TILE VERTICAL-04-01
-1F081;N # DOMINO TILE VERTICAL-04-02
-1F082;N # DOMINO TILE VERTICAL-04-03
-1F083;N # DOMINO TILE VERTICAL-04-04
-1F084;N # DOMINO TILE VERTICAL-04-05
-1F085;N # DOMINO TILE VERTICAL-04-06
-1F086;N # DOMINO TILE VERTICAL-05-00
-1F087;N # DOMINO TILE VERTICAL-05-01
-1F088;N # DOMINO TILE VERTICAL-05-02
-1F089;N # DOMINO TILE VERTICAL-05-03
-1F08A;N # DOMINO TILE VERTICAL-05-04
-1F08B;N # DOMINO TILE VERTICAL-05-05
-1F08C;N # DOMINO TILE VERTICAL-05-06
-1F08D;N # DOMINO TILE VERTICAL-06-00
-1F08E;N # DOMINO TILE VERTICAL-06-01
-1F08F;N # DOMINO TILE VERTICAL-06-02
-1F090;N # DOMINO TILE VERTICAL-06-03
-1F091;N # DOMINO TILE VERTICAL-06-04
-1F092;N # DOMINO TILE VERTICAL-06-05
-1F093;N # DOMINO TILE VERTICAL-06-06
-1F100;A # DIGIT ZERO FULL STOP
-1F101;A # DIGIT ZERO COMMA
-1F102;A # DIGIT ONE COMMA
-1F103;A # DIGIT TWO COMMA
-1F104;A # DIGIT THREE COMMA
-1F105;A # DIGIT FOUR COMMA
-1F106;A # DIGIT FIVE COMMA
-1F107;A # DIGIT SIX COMMA
-1F108;A # DIGIT SEVEN COMMA
-1F109;A # DIGIT EIGHT COMMA
-1F10A;A # DIGIT NINE COMMA
-1F110;A # PARENTHESIZED LATIN CAPITAL LETTER A
-1F111;A # PARENTHESIZED LATIN CAPITAL LETTER B
-1F112;A # PARENTHESIZED LATIN CAPITAL LETTER C
-1F113;A # PARENTHESIZED LATIN CAPITAL LETTER D
-1F114;A # PARENTHESIZED LATIN CAPITAL LETTER E
-1F115;A # PARENTHESIZED LATIN CAPITAL LETTER F
-1F116;A # PARENTHESIZED LATIN CAPITAL LETTER G
-1F117;A # PARENTHESIZED LATIN CAPITAL LETTER H
-1F118;A # PARENTHESIZED LATIN CAPITAL LETTER I
-1F119;A # PARENTHESIZED LATIN CAPITAL LETTER J
-1F11A;A # PARENTHESIZED LATIN CAPITAL LETTER K
-1F11B;A # PARENTHESIZED LATIN CAPITAL LETTER L
-1F11C;A # PARENTHESIZED LATIN CAPITAL LETTER M
-1F11D;A # PARENTHESIZED LATIN CAPITAL LETTER N
-1F11E;A # PARENTHESIZED LATIN CAPITAL LETTER O
-1F11F;A # PARENTHESIZED LATIN CAPITAL LETTER P
-1F120;A # PARENTHESIZED LATIN CAPITAL LETTER Q
-1F121;A # PARENTHESIZED LATIN CAPITAL LETTER R
-1F122;A # PARENTHESIZED LATIN CAPITAL LETTER S
-1F123;A # PARENTHESIZED LATIN CAPITAL LETTER T
-1F124;A # PARENTHESIZED LATIN CAPITAL LETTER U
-1F125;A # PARENTHESIZED LATIN CAPITAL LETTER V
-1F126;A # PARENTHESIZED LATIN CAPITAL LETTER W
-1F127;A # PARENTHESIZED LATIN CAPITAL LETTER X
-1F128;A # PARENTHESIZED LATIN CAPITAL LETTER Y
-1F129;A # PARENTHESIZED LATIN CAPITAL LETTER Z
-1F12A;A # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12B;A # CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F12C;A # CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F12D;A # CIRCLED CD
-1F12E;N # CIRCLED WZ
-1F131;A # SQUARED LATIN CAPITAL LETTER B
-1F13D;A # SQUARED LATIN CAPITAL LETTER N
-1F13F;A # SQUARED LATIN CAPITAL LETTER P
-1F142;A # SQUARED LATIN CAPITAL LETTER S
-1F146;A # SQUARED LATIN CAPITAL LETTER W
-1F14A;A # SQUARED HV
-1F14B;A # SQUARED MV
-1F14C;A # SQUARED SD
-1F14D;A # SQUARED SS
-1F14E;A # SQUARED PPV
-1F157;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179;A # NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B;A # NEGATIVE SQUARED LATIN CAPITAL LETTER L
-1F17C;A # NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F;A # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A;A # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18B;A # NEGATIVE SQUARED IC
-1F18C;A # NEGATIVE SQUARED PA
-1F18D;A # NEGATIVE SQUARED SA
-1F190;A # SQUARE DJ
-1F200;W # SQUARE HIRAGANA HOKA
-1F210;W # SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F211;W # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-1F212;W # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-1F213;W # SQUARED KATAKANA DE
-1F214;W # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-1F215;W # SQUARED CJK UNIFIED IDEOGRAPH-591A
-1F216;W # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-1F217;W # SQUARED CJK UNIFIED IDEOGRAPH-5929
-1F218;W # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-1F219;W # SQUARED CJK UNIFIED IDEOGRAPH-6620
-1F21A;W # SQUARED CJK UNIFIED IDEOGRAPH-7121
-1F21B;W # SQUARED CJK UNIFIED IDEOGRAPH-6599
-1F21C;W # SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F21D;W # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F21E;W # SQUARED CJK UNIFIED IDEOGRAPH-518D
-1F21F;W # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-1F220;W # SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F221;W # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-1F222;W # SQUARED CJK UNIFIED IDEOGRAPH-751F
-1F223;W # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-1F224;W # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-1F225;W # SQUARED CJK UNIFIED IDEOGRAPH-5439
-1F226;W # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-1F227;W # SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F228;W # SQUARED CJK UNIFIED IDEOGRAPH-6355
-1F229;W # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-1F22A;W # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-1F22B;W # SQUARED CJK UNIFIED IDEOGRAPH-904A
-1F22C;W # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-1F22D;W # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-1F22E;W # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F22F;W # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F230;W # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-1F231;W # SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F241;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F243;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F244;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F245;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F246;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-1F247;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F248;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6;W # <CJK Ideograph Extension B, First>..<CJK Ideograph Extension B, Last>
-2A6D7..2A6FF;W # <reserved-2A6D7>..<reserved-2A6FF>
-2A700..2B734;W # <CJK Ideograph Extension C, First>..<CJK Ideograph Extension C, Last>
-2B735..2F7FF;W # <reserved-2B735>..<reserved-2F7FF>
-2F800;W # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F801;W # CJK COMPATIBILITY IDEOGRAPH-2F801
-2F802;W # CJK COMPATIBILITY IDEOGRAPH-2F802
-2F803;W # CJK COMPATIBILITY IDEOGRAPH-2F803
-2F804;W # CJK COMPATIBILITY IDEOGRAPH-2F804
-2F805;W # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806;W # CJK COMPATIBILITY IDEOGRAPH-2F806
-2F807;W # CJK COMPATIBILITY IDEOGRAPH-2F807
-2F808;W # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809;W # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80A;W # CJK COMPATIBILITY IDEOGRAPH-2F80A
-2F80B;W # CJK COMPATIBILITY IDEOGRAPH-2F80B
-2F80C;W # CJK COMPATIBILITY IDEOGRAPH-2F80C
-2F80D;W # CJK COMPATIBILITY IDEOGRAPH-2F80D
-2F80E;W # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F;W # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810;W # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F811;W # CJK COMPATIBILITY IDEOGRAPH-2F811
-2F812;W # CJK COMPATIBILITY IDEOGRAPH-2F812
-2F813;W # CJK COMPATIBILITY IDEOGRAPH-2F813
-2F814;W # CJK COMPATIBILITY IDEOGRAPH-2F814
-2F815;W # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F816;W # CJK COMPATIBILITY IDEOGRAPH-2F816
-2F817;W # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818;W # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F819;W # CJK COMPATIBILITY IDEOGRAPH-2F819
-2F81A;W # CJK COMPATIBILITY IDEOGRAPH-2F81A
-2F81B;W # CJK COMPATIBILITY IDEOGRAPH-2F81B
-2F81C;W # CJK COMPATIBILITY IDEOGRAPH-2F81C
-2F81D;W # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E;W # CJK COMPATIBILITY IDEOGRAPH-2F81E
-2F81F;W # CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F820;W # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821;W # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822;W # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823;W # CJK COMPATIBILITY IDEOGRAPH-2F823
-2F824;W # CJK COMPATIBILITY IDEOGRAPH-2F824
-2F825;W # CJK COMPATIBILITY IDEOGRAPH-2F825
-2F826;W # CJK COMPATIBILITY IDEOGRAPH-2F826
-2F827;W # CJK COMPATIBILITY IDEOGRAPH-2F827
-2F828;W # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829;W # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A;W # CJK COMPATIBILITY IDEOGRAPH-2F82A
-2F82B;W # CJK COMPATIBILITY IDEOGRAPH-2F82B
-2F82C;W # CJK COMPATIBILITY IDEOGRAPH-2F82C
-2F82D;W # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E;W # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F;W # CJK COMPATIBILITY IDEOGRAPH-2F82F
-2F830;W # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831;W # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832;W # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833;W # CJK COMPATIBILITY IDEOGRAPH-2F833
-2F834;W # CJK COMPATIBILITY IDEOGRAPH-2F834
-2F835;W # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F836;W # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837;W # CJK COMPATIBILITY IDEOGRAPH-2F837
-2F838;W # CJK COMPATIBILITY IDEOGRAPH-2F838
-2F839;W # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A;W # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B;W # CJK COMPATIBILITY IDEOGRAPH-2F83B
-2F83C;W # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F83D;W # CJK COMPATIBILITY IDEOGRAPH-2F83D
-2F83E;W # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F;W # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840;W # CJK COMPATIBILITY IDEOGRAPH-2F840
-2F841;W # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842;W # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843;W # CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844;W # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845;W # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846;W # CJK COMPATIBILITY IDEOGRAPH-2F846
-2F847;W # CJK COMPATIBILITY IDEOGRAPH-2F847
-2F848;W # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849;W # CJK COMPATIBILITY IDEOGRAPH-2F849
-2F84A;W # CJK COMPATIBILITY IDEOGRAPH-2F84A
-2F84B;W # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84C;W # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84D;W # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F84E;W # CJK COMPATIBILITY IDEOGRAPH-2F84E
-2F84F;W # CJK COMPATIBILITY IDEOGRAPH-2F84F
-2F850;W # CJK COMPATIBILITY IDEOGRAPH-2F850
-2F851;W # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F852;W # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853;W # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854;W # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F855;W # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F856;W # CJK COMPATIBILITY IDEOGRAPH-2F856
-2F857;W # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F858;W # CJK COMPATIBILITY IDEOGRAPH-2F858
-2F859;W # CJK COMPATIBILITY IDEOGRAPH-2F859
-2F85A;W # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B;W # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C;W # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D;W # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E;W # CJK COMPATIBILITY IDEOGRAPH-2F85E
-2F85F;W # CJK COMPATIBILITY IDEOGRAPH-2F85F
-2F860;W # CJK COMPATIBILITY IDEOGRAPH-2F860
-2F861;W # CJK COMPATIBILITY IDEOGRAPH-2F861
-2F862;W # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863;W # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864;W # CJK COMPATIBILITY IDEOGRAPH-2F864
-2F865;W # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F866;W # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F867;W # CJK COMPATIBILITY IDEOGRAPH-2F867
-2F868;W # CJK COMPATIBILITY IDEOGRAPH-2F868
-2F869;W # CJK COMPATIBILITY IDEOGRAPH-2F869
-2F86A;W # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B;W # CJK COMPATIBILITY IDEOGRAPH-2F86B
-2F86C;W # CJK COMPATIBILITY IDEOGRAPH-2F86C
-2F86D;W # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E;W # CJK COMPATIBILITY IDEOGRAPH-2F86E
-2F86F;W # CJK COMPATIBILITY IDEOGRAPH-2F86F
-2F870;W # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F871;W # CJK COMPATIBILITY IDEOGRAPH-2F871
-2F872;W # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873;W # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F874;W # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F875;W # CJK COMPATIBILITY IDEOGRAPH-2F875
-2F876;W # CJK COMPATIBILITY IDEOGRAPH-2F876
-2F877;W # CJK COMPATIBILITY IDEOGRAPH-2F877
-2F878;W # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F879;W # CJK COMPATIBILITY IDEOGRAPH-2F879
-2F87A;W # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F87B;W # CJK COMPATIBILITY IDEOGRAPH-2F87B
-2F87C;W # CJK COMPATIBILITY IDEOGRAPH-2F87C
-2F87D;W # CJK COMPATIBILITY IDEOGRAPH-2F87D
-2F87E;W # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F87F;W # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F880;W # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F881;W # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882;W # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F883;W # CJK COMPATIBILITY IDEOGRAPH-2F883
-2F884;W # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885;W # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886;W # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887;W # CJK COMPATIBILITY IDEOGRAPH-2F887
-2F888;W # CJK COMPATIBILITY IDEOGRAPH-2F888
-2F889;W # CJK COMPATIBILITY IDEOGRAPH-2F889
-2F88A;W # CJK COMPATIBILITY IDEOGRAPH-2F88A
-2F88B;W # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C;W # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D;W # CJK COMPATIBILITY IDEOGRAPH-2F88D
-2F88E;W # CJK COMPATIBILITY IDEOGRAPH-2F88E
-2F88F;W # CJK COMPATIBILITY IDEOGRAPH-2F88F
-2F890;W # CJK COMPATIBILITY IDEOGRAPH-2F890
-2F891;W # CJK COMPATIBILITY IDEOGRAPH-2F891
-2F892;W # CJK COMPATIBILITY IDEOGRAPH-2F892
-2F893;W # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F894;W # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895;W # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F896;W # CJK COMPATIBILITY IDEOGRAPH-2F896
-2F897;W # CJK COMPATIBILITY IDEOGRAPH-2F897
-2F898;W # CJK COMPATIBILITY IDEOGRAPH-2F898
-2F899;W # CJK COMPATIBILITY IDEOGRAPH-2F899
-2F89A;W # CJK COMPATIBILITY IDEOGRAPH-2F89A
-2F89B;W # CJK COMPATIBILITY IDEOGRAPH-2F89B
-2F89C;W # CJK COMPATIBILITY IDEOGRAPH-2F89C
-2F89D;W # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E;W # CJK COMPATIBILITY IDEOGRAPH-2F89E
-2F89F;W # CJK COMPATIBILITY IDEOGRAPH-2F89F
-2F8A0;W # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-2F8A1;W # CJK COMPATIBILITY IDEOGRAPH-2F8A1
-2F8A2;W # CJK COMPATIBILITY IDEOGRAPH-2F8A2
-2F8A3;W # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A4;W # CJK COMPATIBILITY IDEOGRAPH-2F8A4
-2F8A5;W # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-2F8A6;W # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7;W # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A8;W # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-2F8A9;W # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-2F8AA;W # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-2F8AB;W # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-2F8AC;W # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AD;W # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE;W # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AF;W # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-2F8B0;W # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-2F8B1;W # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-2F8B2;W # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3;W # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-2F8B4;W # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5;W # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-2F8B6;W # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8B7;W # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8B8;W # CJK COMPATIBILITY IDEOGRAPH-2F8B8
-2F8B9;W # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8BA;W # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-2F8BB;W # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-2F8BC;W # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-2F8BD;W # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-2F8BE;W # CJK COMPATIBILITY IDEOGRAPH-2F8BE
-2F8BF;W # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-2F8C0;W # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8C1;W # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-2F8C2;W # CJK COMPATIBILITY IDEOGRAPH-2F8C2
-2F8C3;W # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C4;W # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-2F8C5;W # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-2F8C6;W # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C7;W # CJK COMPATIBILITY IDEOGRAPH-2F8C7
-2F8C8;W # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-2F8C9;W # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-2F8CA;W # CJK COMPATIBILITY IDEOGRAPH-2F8CA
-2F8CB;W # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-2F8CC;W # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8CD;W # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-2F8CE;W # CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8CF;W # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D0;W # CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8D1;W # CJK COMPATIBILITY IDEOGRAPH-2F8D1
-2F8D2;W # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3;W # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F8D4;W # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-2F8D5;W # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-2F8D6;W # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F8D7;W # CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2F8D8;W # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-2F8D9;W # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA;W # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-2F8DB;W # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-2F8DC;W # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-2F8DD;W # CJK COMPATIBILITY IDEOGRAPH-2F8DD
-2F8DE;W # CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8DF;W # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-2F8E0;W # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-2F8E1;W # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-2F8E2;W # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E3;W # CJK COMPATIBILITY IDEOGRAPH-2F8E3
-2F8E4;W # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-2F8E5;W # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E6;W # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E7;W # CJK COMPATIBILITY IDEOGRAPH-2F8E7
-2F8E8;W # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9;W # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA;W # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-2F8EB;W # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-2F8EC;W # CJK COMPATIBILITY IDEOGRAPH-2F8EC
-2F8ED;W # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-2F8EE;W # CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F8EF;W # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F0;W # CJK COMPATIBILITY IDEOGRAPH-2F8F0
-2F8F1;W # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F2;W # CJK COMPATIBILITY IDEOGRAPH-2F8F2
-2F8F3;W # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-2F8F4;W # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-2F8F5;W # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6;W # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8F7;W # CJK COMPATIBILITY IDEOGRAPH-2F8F7
-2F8F8;W # CJK COMPATIBILITY IDEOGRAPH-2F8F8
-2F8F9;W # CJK COMPATIBILITY IDEOGRAPH-2F8F9
-2F8FA;W # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FB;W # CJK COMPATIBILITY IDEOGRAPH-2F8FB
-2F8FC;W # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-2F8FD;W # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-2F8FE;W # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-2F8FF;W # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-2F900;W # CJK COMPATIBILITY IDEOGRAPH-2F900
-2F901;W # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F902;W # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903;W # CJK COMPATIBILITY IDEOGRAPH-2F903
-2F904;W # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905;W # CJK COMPATIBILITY IDEOGRAPH-2F905
-2F906;W # CJK COMPATIBILITY IDEOGRAPH-2F906
-2F907;W # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F908;W # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909;W # CJK COMPATIBILITY IDEOGRAPH-2F909
-2F90A;W # CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F90B;W # CJK COMPATIBILITY IDEOGRAPH-2F90B
-2F90C;W # CJK COMPATIBILITY IDEOGRAPH-2F90C
-2F90D;W # CJK COMPATIBILITY IDEOGRAPH-2F90D
-2F90E;W # CJK COMPATIBILITY IDEOGRAPH-2F90E
-2F90F;W # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F910;W # CJK COMPATIBILITY IDEOGRAPH-2F910
-2F911;W # CJK COMPATIBILITY IDEOGRAPH-2F911
-2F912;W # CJK COMPATIBILITY IDEOGRAPH-2F912
-2F913;W # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F914;W # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F915;W # CJK COMPATIBILITY IDEOGRAPH-2F915
-2F916;W # CJK COMPATIBILITY IDEOGRAPH-2F916
-2F917;W # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F918;W # CJK COMPATIBILITY IDEOGRAPH-2F918
-2F919;W # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F91A;W # CJK COMPATIBILITY IDEOGRAPH-2F91A
-2F91B;W # CJK COMPATIBILITY IDEOGRAPH-2F91B
-2F91C;W # CJK COMPATIBILITY IDEOGRAPH-2F91C
-2F91D;W # CJK COMPATIBILITY IDEOGRAPH-2F91D
-2F91E;W # CJK COMPATIBILITY IDEOGRAPH-2F91E
-2F91F;W # CJK COMPATIBILITY IDEOGRAPH-2F91F
-2F920;W # CJK COMPATIBILITY IDEOGRAPH-2F920
-2F921;W # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922;W # CJK COMPATIBILITY IDEOGRAPH-2F922
-2F923;W # CJK COMPATIBILITY IDEOGRAPH-2F923
-2F924;W # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925;W # CJK COMPATIBILITY IDEOGRAPH-2F925
-2F926;W # CJK COMPATIBILITY IDEOGRAPH-2F926
-2F927;W # CJK COMPATIBILITY IDEOGRAPH-2F927
-2F928;W # CJK COMPATIBILITY IDEOGRAPH-2F928
-2F929;W # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92A;W # CJK COMPATIBILITY IDEOGRAPH-2F92A
-2F92B;W # CJK COMPATIBILITY IDEOGRAPH-2F92B
-2F92C;W # CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D;W # CJK COMPATIBILITY IDEOGRAPH-2F92D
-2F92E;W # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F;W # CJK COMPATIBILITY IDEOGRAPH-2F92F
-2F930;W # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931;W # CJK COMPATIBILITY IDEOGRAPH-2F931
-2F932;W # CJK COMPATIBILITY IDEOGRAPH-2F932
-2F933;W # CJK COMPATIBILITY IDEOGRAPH-2F933
-2F934;W # CJK COMPATIBILITY IDEOGRAPH-2F934
-2F935;W # CJK COMPATIBILITY IDEOGRAPH-2F935
-2F936;W # CJK COMPATIBILITY IDEOGRAPH-2F936
-2F937;W # CJK COMPATIBILITY IDEOGRAPH-2F937
-2F938;W # CJK COMPATIBILITY IDEOGRAPH-2F938
-2F939;W # CJK COMPATIBILITY IDEOGRAPH-2F939
-2F93A;W # CJK COMPATIBILITY IDEOGRAPH-2F93A
-2F93B;W # CJK COMPATIBILITY IDEOGRAPH-2F93B
-2F93C;W # CJK COMPATIBILITY IDEOGRAPH-2F93C
-2F93D;W # CJK COMPATIBILITY IDEOGRAPH-2F93D
-2F93E;W # CJK COMPATIBILITY IDEOGRAPH-2F93E
-2F93F;W # CJK COMPATIBILITY IDEOGRAPH-2F93F
-2F940;W # CJK COMPATIBILITY IDEOGRAPH-2F940
-2F941;W # CJK COMPATIBILITY IDEOGRAPH-2F941
-2F942;W # CJK COMPATIBILITY IDEOGRAPH-2F942
-2F943;W # CJK COMPATIBILITY IDEOGRAPH-2F943
-2F944;W # CJK COMPATIBILITY IDEOGRAPH-2F944
-2F945;W # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946;W # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947;W # CJK COMPATIBILITY IDEOGRAPH-2F947
-2F948;W # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F949;W # CJK COMPATIBILITY IDEOGRAPH-2F949
-2F94A;W # CJK COMPATIBILITY IDEOGRAPH-2F94A
-2F94B;W # CJK COMPATIBILITY IDEOGRAPH-2F94B
-2F94C;W # CJK COMPATIBILITY IDEOGRAPH-2F94C
-2F94D;W # CJK COMPATIBILITY IDEOGRAPH-2F94D
-2F94E;W # CJK COMPATIBILITY IDEOGRAPH-2F94E
-2F94F;W # CJK COMPATIBILITY IDEOGRAPH-2F94F
-2F950;W # CJK COMPATIBILITY IDEOGRAPH-2F950
-2F951;W # CJK COMPATIBILITY IDEOGRAPH-2F951
-2F952;W # CJK COMPATIBILITY IDEOGRAPH-2F952
-2F953;W # CJK COMPATIBILITY IDEOGRAPH-2F953
-2F954;W # CJK COMPATIBILITY IDEOGRAPH-2F954
-2F955;W # CJK COMPATIBILITY IDEOGRAPH-2F955
-2F956;W # CJK COMPATIBILITY IDEOGRAPH-2F956
-2F957;W # CJK COMPATIBILITY IDEOGRAPH-2F957
-2F958;W # CJK COMPATIBILITY IDEOGRAPH-2F958
-2F959;W # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A;W # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B;W # CJK COMPATIBILITY IDEOGRAPH-2F95B
-2F95C;W # CJK COMPATIBILITY IDEOGRAPH-2F95C
-2F95D;W # CJK COMPATIBILITY IDEOGRAPH-2F95D
-2F95E;W # CJK COMPATIBILITY IDEOGRAPH-2F95E
-2F95F;W # CJK COMPATIBILITY IDEOGRAPH-2F95F
-2F960;W # CJK COMPATIBILITY IDEOGRAPH-2F960
-2F961;W # CJK COMPATIBILITY IDEOGRAPH-2F961
-2F962;W # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963;W # CJK COMPATIBILITY IDEOGRAPH-2F963
-2F964;W # CJK COMPATIBILITY IDEOGRAPH-2F964
-2F965;W # CJK COMPATIBILITY IDEOGRAPH-2F965
-2F966;W # CJK COMPATIBILITY IDEOGRAPH-2F966
-2F967;W # CJK COMPATIBILITY IDEOGRAPH-2F967
-2F968;W # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F969;W # CJK COMPATIBILITY IDEOGRAPH-2F969
-2F96A;W # CJK COMPATIBILITY IDEOGRAPH-2F96A
-2F96B;W # CJK COMPATIBILITY IDEOGRAPH-2F96B
-2F96C;W # CJK COMPATIBILITY IDEOGRAPH-2F96C
-2F96D;W # CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F96E;W # CJK COMPATIBILITY IDEOGRAPH-2F96E
-2F96F;W # CJK COMPATIBILITY IDEOGRAPH-2F96F
-2F970;W # CJK COMPATIBILITY IDEOGRAPH-2F970
-2F971;W # CJK COMPATIBILITY IDEOGRAPH-2F971
-2F972;W # CJK COMPATIBILITY IDEOGRAPH-2F972
-2F973;W # CJK COMPATIBILITY IDEOGRAPH-2F973
-2F974;W # CJK COMPATIBILITY IDEOGRAPH-2F974
-2F975;W # CJK COMPATIBILITY IDEOGRAPH-2F975
-2F976;W # CJK COMPATIBILITY IDEOGRAPH-2F976
-2F977;W # CJK COMPATIBILITY IDEOGRAPH-2F977
-2F978;W # CJK COMPATIBILITY IDEOGRAPH-2F978
-2F979;W # CJK COMPATIBILITY IDEOGRAPH-2F979
-2F97A;W # CJK COMPATIBILITY IDEOGRAPH-2F97A
-2F97B;W # CJK COMPATIBILITY IDEOGRAPH-2F97B
-2F97C;W # CJK COMPATIBILITY IDEOGRAPH-2F97C
-2F97D;W # CJK COMPATIBILITY IDEOGRAPH-2F97D
-2F97E;W # CJK COMPATIBILITY IDEOGRAPH-2F97E
-2F97F;W # CJK COMPATIBILITY IDEOGRAPH-2F97F
-2F980;W # CJK COMPATIBILITY IDEOGRAPH-2F980
-2F981;W # CJK COMPATIBILITY IDEOGRAPH-2F981
-2F982;W # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983;W # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F984;W # CJK COMPATIBILITY IDEOGRAPH-2F984
-2F985;W # CJK COMPATIBILITY IDEOGRAPH-2F985
-2F986;W # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F987;W # CJK COMPATIBILITY IDEOGRAPH-2F987
-2F988;W # CJK COMPATIBILITY IDEOGRAPH-2F988
-2F989;W # CJK COMPATIBILITY IDEOGRAPH-2F989
-2F98A;W # CJK COMPATIBILITY IDEOGRAPH-2F98A
-2F98B;W # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C;W # CJK COMPATIBILITY IDEOGRAPH-2F98C
-2F98D;W # CJK COMPATIBILITY IDEOGRAPH-2F98D
-2F98E;W # CJK COMPATIBILITY IDEOGRAPH-2F98E
-2F98F;W # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F990;W # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991;W # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F992;W # CJK COMPATIBILITY IDEOGRAPH-2F992
-2F993;W # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994;W # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995;W # CJK COMPATIBILITY IDEOGRAPH-2F995
-2F996;W # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F997;W # CJK COMPATIBILITY IDEOGRAPH-2F997
-2F998;W # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F999;W # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99A;W # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B;W # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99C;W # CJK COMPATIBILITY IDEOGRAPH-2F99C
-2F99D;W # CJK COMPATIBILITY IDEOGRAPH-2F99D
-2F99E;W # CJK COMPATIBILITY IDEOGRAPH-2F99E
-2F99F;W # CJK COMPATIBILITY IDEOGRAPH-2F99F
-2F9A0;W # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F9A1;W # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2;W # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3;W # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F9A4;W # CJK COMPATIBILITY IDEOGRAPH-2F9A4
-2F9A5;W # CJK COMPATIBILITY IDEOGRAPH-2F9A5
-2F9A6;W # CJK COMPATIBILITY IDEOGRAPH-2F9A6
-2F9A7;W # CJK COMPATIBILITY IDEOGRAPH-2F9A7
-2F9A8;W # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9;W # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-2F9AA;W # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AB;W # CJK COMPATIBILITY IDEOGRAPH-2F9AB
-2F9AC;W # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-2F9AD;W # CJK COMPATIBILITY IDEOGRAPH-2F9AD
-2F9AE;W # CJK COMPATIBILITY IDEOGRAPH-2F9AE
-2F9AF;W # CJK COMPATIBILITY IDEOGRAPH-2F9AF
-2F9B0;W # CJK COMPATIBILITY IDEOGRAPH-2F9B0
-2F9B1;W # CJK COMPATIBILITY IDEOGRAPH-2F9B1
-2F9B2;W # CJK COMPATIBILITY IDEOGRAPH-2F9B2
-2F9B3;W # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-2F9B4;W # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5;W # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6;W # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B7;W # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9B8;W # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B9;W # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BA;W # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9BB;W # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BC;W # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD;W # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-2F9BE;W # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-2F9BF;W # CJK COMPATIBILITY IDEOGRAPH-2F9BF
-2F9C0;W # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1;W # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-2F9C2;W # CJK COMPATIBILITY IDEOGRAPH-2F9C2
-2F9C3;W # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4;W # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-2F9C5;W # CJK COMPATIBILITY IDEOGRAPH-2F9C5
-2F9C6;W # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7;W # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-2F9C8;W # CJK COMPATIBILITY IDEOGRAPH-2F9C8
-2F9C9;W # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-2F9CA;W # CJK COMPATIBILITY IDEOGRAPH-2F9CA
-2F9CB;W # CJK COMPATIBILITY IDEOGRAPH-2F9CB
-2F9CC;W # CJK COMPATIBILITY IDEOGRAPH-2F9CC
-2F9CD;W # CJK COMPATIBILITY IDEOGRAPH-2F9CD
-2F9CE;W # CJK COMPATIBILITY IDEOGRAPH-2F9CE
-2F9CF;W # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-2F9D0;W # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-2F9D1;W # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-2F9D2;W # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D3;W # CJK COMPATIBILITY IDEOGRAPH-2F9D3
-2F9D4;W # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5;W # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-2F9D6;W # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7;W # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9D8;W # CJK COMPATIBILITY IDEOGRAPH-2F9D8
-2F9D9;W # CJK COMPATIBILITY IDEOGRAPH-2F9D9
-2F9DA;W # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-2F9DB;W # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DC;W # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-2F9DD;W # CJK COMPATIBILITY IDEOGRAPH-2F9DD
-2F9DE;W # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-2F9DF;W # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-2F9E0;W # CJK COMPATIBILITY IDEOGRAPH-2F9E0
-2F9E1;W # CJK COMPATIBILITY IDEOGRAPH-2F9E1
-2F9E2;W # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-2F9E3;W # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-2F9E4;W # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E5;W # CJK COMPATIBILITY IDEOGRAPH-2F9E5
-2F9E6;W # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-2F9E7;W # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-2F9E8;W # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9;W # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-2F9EA;W # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9EB;W # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC;W # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9ED;W # CJK COMPATIBILITY IDEOGRAPH-2F9ED
-2F9EE;W # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-2F9EF;W # CJK COMPATIBILITY IDEOGRAPH-2F9EF
-2F9F0;W # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-2F9F1;W # CJK COMPATIBILITY IDEOGRAPH-2F9F1
-2F9F2;W # CJK COMPATIBILITY IDEOGRAPH-2F9F2
-2F9F3;W # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-2F9F4;W # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-2F9F5;W # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-2F9F6;W # CJK COMPATIBILITY IDEOGRAPH-2F9F6
-2F9F7;W # CJK COMPATIBILITY IDEOGRAPH-2F9F7
-2F9F8;W # CJK COMPATIBILITY IDEOGRAPH-2F9F8
-2F9F9;W # CJK COMPATIBILITY IDEOGRAPH-2F9F9
-2F9FA;W # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-2F9FB;W # CJK COMPATIBILITY IDEOGRAPH-2F9FB
-2F9FC;W # CJK COMPATIBILITY IDEOGRAPH-2F9FC
-2F9FD;W # CJK COMPATIBILITY IDEOGRAPH-2F9FD
-2F9FE;W # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF;W # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-2FA00;W # CJK COMPATIBILITY IDEOGRAPH-2FA00
-2FA01;W # CJK COMPATIBILITY IDEOGRAPH-2FA01
-2FA02;W # CJK COMPATIBILITY IDEOGRAPH-2FA02
-2FA03;W # CJK COMPATIBILITY IDEOGRAPH-2FA03
-2FA04;W # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05;W # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06;W # CJK COMPATIBILITY IDEOGRAPH-2FA06
-2FA07;W # CJK COMPATIBILITY IDEOGRAPH-2FA07
-2FA08;W # CJK COMPATIBILITY IDEOGRAPH-2FA08
-2FA09;W # CJK COMPATIBILITY IDEOGRAPH-2FA09
-2FA0A;W # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-2FA0B;W # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-2FA0C;W # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0D;W # CJK COMPATIBILITY IDEOGRAPH-2FA0D
-2FA0E;W # CJK COMPATIBILITY IDEOGRAPH-2FA0E
-2FA0F;W # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-2FA10;W # CJK COMPATIBILITY IDEOGRAPH-2FA10
-2FA11;W # CJK COMPATIBILITY IDEOGRAPH-2FA11
-2FA12;W # CJK COMPATIBILITY IDEOGRAPH-2FA12
-2FA13;W # CJK COMPATIBILITY IDEOGRAPH-2FA13
-2FA14;W # CJK COMPATIBILITY IDEOGRAPH-2FA14
-2FA15;W # CJK COMPATIBILITY IDEOGRAPH-2FA15
-2FA16;W # CJK COMPATIBILITY IDEOGRAPH-2FA16
-2FA17;W # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18;W # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19;W # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A;W # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B;W # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C;W # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-2FA1D;W # CJK COMPATIBILITY IDEOGRAPH-2FA1D
-2FA1E..2FFFD;W # <reserved-2FA1E>..<reserved-2FFFD>
-30000..3FFFD;W # <reserved-30000>..<reserved-3FFFD>
-E0001;N # LANGUAGE TAG
-E0020;N # TAG SPACE
-E0021;N # TAG EXCLAMATION MARK
-E0022;N # TAG QUOTATION MARK
-E0023;N # TAG NUMBER SIGN
-E0024;N # TAG DOLLAR SIGN
-E0025;N # TAG PERCENT SIGN
-E0026;N # TAG AMPERSAND
-E0027;N # TAG APOSTROPHE
-E0028;N # TAG LEFT PARENTHESIS
-E0029;N # TAG RIGHT PARENTHESIS
-E002A;N # TAG ASTERISK
-E002B;N # TAG PLUS SIGN
-E002C;N # TAG COMMA
-E002D;N # TAG HYPHEN-MINUS
-E002E;N # TAG FULL STOP
-E002F;N # TAG SOLIDUS
-E0030;N # TAG DIGIT ZERO
-E0031;N # TAG DIGIT ONE
-E0032;N # TAG DIGIT TWO
-E0033;N # TAG DIGIT THREE
-E0034;N # TAG DIGIT FOUR
-E0035;N # TAG DIGIT FIVE
-E0036;N # TAG DIGIT SIX
-E0037;N # TAG DIGIT SEVEN
-E0038;N # TAG DIGIT EIGHT
-E0039;N # TAG DIGIT NINE
-E003A;N # TAG COLON
-E003B;N # TAG SEMICOLON
-E003C;N # TAG LESS-THAN SIGN
-E003D;N # TAG EQUALS SIGN
-E003E;N # TAG GREATER-THAN SIGN
-E003F;N # TAG QUESTION MARK
-E0040;N # TAG COMMERCIAL AT
-E0041;N # TAG LATIN CAPITAL LETTER A
-E0042;N # TAG LATIN CAPITAL LETTER B
-E0043;N # TAG LATIN CAPITAL LETTER C
-E0044;N # TAG LATIN CAPITAL LETTER D
-E0045;N # TAG LATIN CAPITAL LETTER E
-E0046;N # TAG LATIN CAPITAL LETTER F
-E0047;N # TAG LATIN CAPITAL LETTER G
-E0048;N # TAG LATIN CAPITAL LETTER H
-E0049;N # TAG LATIN CAPITAL LETTER I
-E004A;N # TAG LATIN CAPITAL LETTER J
-E004B;N # TAG LATIN CAPITAL LETTER K
-E004C;N # TAG LATIN CAPITAL LETTER L
-E004D;N # TAG LATIN CAPITAL LETTER M
-E004E;N # TAG LATIN CAPITAL LETTER N
-E004F;N # TAG LATIN CAPITAL LETTER O
-E0050;N # TAG LATIN CAPITAL LETTER P
-E0051;N # TAG LATIN CAPITAL LETTER Q
-E0052;N # TAG LATIN CAPITAL LETTER R
-E0053;N # TAG LATIN CAPITAL LETTER S
-E0054;N # TAG LATIN CAPITAL LETTER T
-E0055;N # TAG LATIN CAPITAL LETTER U
-E0056;N # TAG LATIN CAPITAL LETTER V
-E0057;N # TAG LATIN CAPITAL LETTER W
-E0058;N # TAG LATIN CAPITAL LETTER X
-E0059;N # TAG LATIN CAPITAL LETTER Y
-E005A;N # TAG LATIN CAPITAL LETTER Z
-E005B;N # TAG LEFT SQUARE BRACKET
-E005C;N # TAG REVERSE SOLIDUS
-E005D;N # TAG RIGHT SQUARE BRACKET
-E005E;N # TAG CIRCUMFLEX ACCENT
-E005F;N # TAG LOW LINE
-E0060;N # TAG GRAVE ACCENT
-E0061;N # TAG LATIN SMALL LETTER A
-E0062;N # TAG LATIN SMALL LETTER B
-E0063;N # TAG LATIN SMALL LETTER C
-E0064;N # TAG LATIN SMALL LETTER D
-E0065;N # TAG LATIN SMALL LETTER E
-E0066;N # TAG LATIN SMALL LETTER F
-E0067;N # TAG LATIN SMALL LETTER G
-E0068;N # TAG LATIN SMALL LETTER H
-E0069;N # TAG LATIN SMALL LETTER I
-E006A;N # TAG LATIN SMALL LETTER J
-E006B;N # TAG LATIN SMALL LETTER K
-E006C;N # TAG LATIN SMALL LETTER L
-E006D;N # TAG LATIN SMALL LETTER M
-E006E;N # TAG LATIN SMALL LETTER N
-E006F;N # TAG LATIN SMALL LETTER O
-E0070;N # TAG LATIN SMALL LETTER P
-E0071;N # TAG LATIN SMALL LETTER Q
-E0072;N # TAG LATIN SMALL LETTER R
-E0073;N # TAG LATIN SMALL LETTER S
-E0074;N # TAG LATIN SMALL LETTER T
-E0075;N # TAG LATIN SMALL LETTER U
-E0076;N # TAG LATIN SMALL LETTER V
-E0077;N # TAG LATIN SMALL LETTER W
-E0078;N # TAG LATIN SMALL LETTER X
-E0079;N # TAG LATIN SMALL LETTER Y
-E007A;N # TAG LATIN SMALL LETTER Z
-E007B;N # TAG LEFT CURLY BRACKET
-E007C;N # TAG VERTICAL LINE
-E007D;N # TAG RIGHT CURLY BRACKET
-E007E;N # TAG TILDE
-E007F;N # CANCEL TAG
-E0100;A # VARIATION SELECTOR-17
-E0101;A # VARIATION SELECTOR-18
-E0102;A # VARIATION SELECTOR-19
-E0103;A # VARIATION SELECTOR-20
-E0104;A # VARIATION SELECTOR-21
-E0105;A # VARIATION SELECTOR-22
-E0106;A # VARIATION SELECTOR-23
-E0107;A # VARIATION SELECTOR-24
-E0108;A # VARIATION SELECTOR-25
-E0109;A # VARIATION SELECTOR-26
-E010A;A # VARIATION SELECTOR-27
-E010B;A # VARIATION SELECTOR-28
-E010C;A # VARIATION SELECTOR-29
-E010D;A # VARIATION SELECTOR-30
-E010E;A # VARIATION SELECTOR-31
-E010F;A # VARIATION SELECTOR-32
-E0110;A # VARIATION SELECTOR-33
-E0111;A # VARIATION SELECTOR-34
-E0112;A # VARIATION SELECTOR-35
-E0113;A # VARIATION SELECTOR-36
-E0114;A # VARIATION SELECTOR-37
-E0115;A # VARIATION SELECTOR-38
-E0116;A # VARIATION SELECTOR-39
-E0117;A # VARIATION SELECTOR-40
-E0118;A # VARIATION SELECTOR-41
-E0119;A # VARIATION SELECTOR-42
-E011A;A # VARIATION SELECTOR-43
-E011B;A # VARIATION SELECTOR-44
-E011C;A # VARIATION SELECTOR-45
-E011D;A # VARIATION SELECTOR-46
-E011E;A # VARIATION SELECTOR-47
-E011F;A # VARIATION SELECTOR-48
-E0120;A # VARIATION SELECTOR-49
-E0121;A # VARIATION SELECTOR-50
-E0122;A # VARIATION SELECTOR-51
-E0123;A # VARIATION SELECTOR-52
-E0124;A # VARIATION SELECTOR-53
-E0125;A # VARIATION SELECTOR-54
-E0126;A # VARIATION SELECTOR-55
-E0127;A # VARIATION SELECTOR-56
-E0128;A # VARIATION SELECTOR-57
-E0129;A # VARIATION SELECTOR-58
-E012A;A # VARIATION SELECTOR-59
-E012B;A # VARIATION SELECTOR-60
-E012C;A # VARIATION SELECTOR-61
-E012D;A # VARIATION SELECTOR-62
-E012E;A # VARIATION SELECTOR-63
-E012F;A # VARIATION SELECTOR-64
-E0130;A # VARIATION SELECTOR-65
-E0131;A # VARIATION SELECTOR-66
-E0132;A # VARIATION SELECTOR-67
-E0133;A # VARIATION SELECTOR-68
-E0134;A # VARIATION SELECTOR-69
-E0135;A # VARIATION SELECTOR-70
-E0136;A # VARIATION SELECTOR-71
-E0137;A # VARIATION SELECTOR-72
-E0138;A # VARIATION SELECTOR-73
-E0139;A # VARIATION SELECTOR-74
-E013A;A # VARIATION SELECTOR-75
-E013B;A # VARIATION SELECTOR-76
-E013C;A # VARIATION SELECTOR-77
-E013D;A # VARIATION SELECTOR-78
-E013E;A # VARIATION SELECTOR-79
-E013F;A # VARIATION SELECTOR-80
-E0140;A # VARIATION SELECTOR-81
-E0141;A # VARIATION SELECTOR-82
-E0142;A # VARIATION SELECTOR-83
-E0143;A # VARIATION SELECTOR-84
-E0144;A # VARIATION SELECTOR-85
-E0145;A # VARIATION SELECTOR-86
-E0146;A # VARIATION SELECTOR-87
-E0147;A # VARIATION SELECTOR-88
-E0148;A # VARIATION SELECTOR-89
-E0149;A # VARIATION SELECTOR-90
-E014A;A # VARIATION SELECTOR-91
-E014B;A # VARIATION SELECTOR-92
-E014C;A # VARIATION SELECTOR-93
-E014D;A # VARIATION SELECTOR-94
-E014E;A # VARIATION SELECTOR-95
-E014F;A # VARIATION SELECTOR-96
-E0150;A # VARIATION SELECTOR-97
-E0151;A # VARIATION SELECTOR-98
-E0152;A # VARIATION SELECTOR-99
-E0153;A # VARIATION SELECTOR-100
-E0154;A # VARIATION SELECTOR-101
-E0155;A # VARIATION SELECTOR-102
-E0156;A # VARIATION SELECTOR-103
-E0157;A # VARIATION SELECTOR-104
-E0158;A # VARIATION SELECTOR-105
-E0159;A # VARIATION SELECTOR-106
-E015A;A # VARIATION SELECTOR-107
-E015B;A # VARIATION SELECTOR-108
-E015C;A # VARIATION SELECTOR-109
-E015D;A # VARIATION SELECTOR-110
-E015E;A # VARIATION SELECTOR-111
-E015F;A # VARIATION SELECTOR-112
-E0160;A # VARIATION SELECTOR-113
-E0161;A # VARIATION SELECTOR-114
-E0162;A # VARIATION SELECTOR-115
-E0163;A # VARIATION SELECTOR-116
-E0164;A # VARIATION SELECTOR-117
-E0165;A # VARIATION SELECTOR-118
-E0166;A # VARIATION SELECTOR-119
-E0167;A # VARIATION SELECTOR-120
-E0168;A # VARIATION SELECTOR-121
-E0169;A # VARIATION SELECTOR-122
-E016A;A # VARIATION SELECTOR-123
-E016B;A # VARIATION SELECTOR-124
-E016C;A # VARIATION SELECTOR-125
-E016D;A # VARIATION SELECTOR-126
-E016E;A # VARIATION SELECTOR-127
-E016F;A # VARIATION SELECTOR-128
-E0170;A # VARIATION SELECTOR-129
-E0171;A # VARIATION SELECTOR-130
-E0172;A # VARIATION SELECTOR-131
-E0173;A # VARIATION SELECTOR-132
-E0174;A # VARIATION SELECTOR-133
-E0175;A # VARIATION SELECTOR-134
-E0176;A # VARIATION SELECTOR-135
-E0177;A # VARIATION SELECTOR-136
-E0178;A # VARIATION SELECTOR-137
-E0179;A # VARIATION SELECTOR-138
-E017A;A # VARIATION SELECTOR-139
-E017B;A # VARIATION SELECTOR-140
-E017C;A # VARIATION SELECTOR-141
-E017D;A # VARIATION SELECTOR-142
-E017E;A # VARIATION SELECTOR-143
-E017F;A # VARIATION SELECTOR-144
-E0180;A # VARIATION SELECTOR-145
-E0181;A # VARIATION SELECTOR-146
-E0182;A # VARIATION SELECTOR-147
-E0183;A # VARIATION SELECTOR-148
-E0184;A # VARIATION SELECTOR-149
-E0185;A # VARIATION SELECTOR-150
-E0186;A # VARIATION SELECTOR-151
-E0187;A # VARIATION SELECTOR-152
-E0188;A # VARIATION SELECTOR-153
-E0189;A # VARIATION SELECTOR-154
-E018A;A # VARIATION SELECTOR-155
-E018B;A # VARIATION SELECTOR-156
-E018C;A # VARIATION SELECTOR-157
-E018D;A # VARIATION SELECTOR-158
-E018E;A # VARIATION SELECTOR-159
-E018F;A # VARIATION SELECTOR-160
-E0190;A # VARIATION SELECTOR-161
-E0191;A # VARIATION SELECTOR-162
-E0192;A # VARIATION SELECTOR-163
-E0193;A # VARIATION SELECTOR-164
-E0194;A # VARIATION SELECTOR-165
-E0195;A # VARIATION SELECTOR-166
-E0196;A # VARIATION SELECTOR-167
-E0197;A # VARIATION SELECTOR-168
-E0198;A # VARIATION SELECTOR-169
-E0199;A # VARIATION SELECTOR-170
-E019A;A # VARIATION SELECTOR-171
-E019B;A # VARIATION SELECTOR-172
-E019C;A # VARIATION SELECTOR-173
-E019D;A # VARIATION SELECTOR-174
-E019E;A # VARIATION SELECTOR-175
-E019F;A # VARIATION SELECTOR-176
-E01A0;A # VARIATION SELECTOR-177
-E01A1;A # VARIATION SELECTOR-178
-E01A2;A # VARIATION SELECTOR-179
-E01A3;A # VARIATION SELECTOR-180
-E01A4;A # VARIATION SELECTOR-181
-E01A5;A # VARIATION SELECTOR-182
-E01A6;A # VARIATION SELECTOR-183
-E01A7;A # VARIATION SELECTOR-184
-E01A8;A # VARIATION SELECTOR-185
-E01A9;A # VARIATION SELECTOR-186
-E01AA;A # VARIATION SELECTOR-187
-E01AB;A # VARIATION SELECTOR-188
-E01AC;A # VARIATION SELECTOR-189
-E01AD;A # VARIATION SELECTOR-190
-E01AE;A # VARIATION SELECTOR-191
-E01AF;A # VARIATION SELECTOR-192
-E01B0;A # VARIATION SELECTOR-193
-E01B1;A # VARIATION SELECTOR-194
-E01B2;A # VARIATION SELECTOR-195
-E01B3;A # VARIATION SELECTOR-196
-E01B4;A # VARIATION SELECTOR-197
-E01B5;A # VARIATION SELECTOR-198
-E01B6;A # VARIATION SELECTOR-199
-E01B7;A # VARIATION SELECTOR-200
-E01B8;A # VARIATION SELECTOR-201
-E01B9;A # VARIATION SELECTOR-202
-E01BA;A # VARIATION SELECTOR-203
-E01BB;A # VARIATION SELECTOR-204
-E01BC;A # VARIATION SELECTOR-205
-E01BD;A # VARIATION SELECTOR-206
-E01BE;A # VARIATION SELECTOR-207
-E01BF;A # VARIATION SELECTOR-208
-E01C0;A # VARIATION SELECTOR-209
-E01C1;A # VARIATION SELECTOR-210
-E01C2;A # VARIATION SELECTOR-211
-E01C3;A # VARIATION SELECTOR-212
-E01C4;A # VARIATION SELECTOR-213
-E01C5;A # VARIATION SELECTOR-214
-E01C6;A # VARIATION SELECTOR-215
-E01C7;A # VARIATION SELECTOR-216
-E01C8;A # VARIATION SELECTOR-217
-E01C9;A # VARIATION SELECTOR-218
-E01CA;A # VARIATION SELECTOR-219
-E01CB;A # VARIATION SELECTOR-220
-E01CC;A # VARIATION SELECTOR-221
-E01CD;A # VARIATION SELECTOR-222
-E01CE;A # VARIATION SELECTOR-223
-E01CF;A # VARIATION SELECTOR-224
-E01D0;A # VARIATION SELECTOR-225
-E01D1;A # VARIATION SELECTOR-226
-E01D2;A # VARIATION SELECTOR-227
-E01D3;A # VARIATION SELECTOR-228
-E01D4;A # VARIATION SELECTOR-229
-E01D5;A # VARIATION SELECTOR-230
-E01D6;A # VARIATION SELECTOR-231
-E01D7;A # VARIATION SELECTOR-232
-E01D8;A # VARIATION SELECTOR-233
-E01D9;A # VARIATION SELECTOR-234
-E01DA;A # VARIATION SELECTOR-235
-E01DB;A # VARIATION SELECTOR-236
-E01DC;A # VARIATION SELECTOR-237
-E01DD;A # VARIATION SELECTOR-238
-E01DE;A # VARIATION SELECTOR-239
-E01DF;A # VARIATION SELECTOR-240
-E01E0;A # VARIATION SELECTOR-241
-E01E1;A # VARIATION SELECTOR-242
-E01E2;A # VARIATION SELECTOR-243
-E01E3;A # VARIATION SELECTOR-244
-E01E4;A # VARIATION SELECTOR-245
-E01E5;A # VARIATION SELECTOR-246
-E01E6;A # VARIATION SELECTOR-247
-E01E7;A # VARIATION SELECTOR-248
-E01E8;A # VARIATION SELECTOR-249
-E01E9;A # VARIATION SELECTOR-250
-E01EA;A # VARIATION SELECTOR-251
-E01EB;A # VARIATION SELECTOR-252
-E01EC;A # VARIATION SELECTOR-253
-E01ED;A # VARIATION SELECTOR-254
-E01EE;A # VARIATION SELECTOR-255
-E01EF;A # VARIATION SELECTOR-256
-F0000..FFFFD;A # <Plane 15 Private Use, First>..<Plane 15 Private Use, Last>
-100000..10FFFD;A # <Plane 16 Private Use, First>..<Plane 16 Private Use, Last>
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/HangulSyllableType.txt b/Master/tlpkg/tlperl/lib/unicore/HangulSyllableType.txt
deleted file mode 100644
index dff0ff03dfb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/HangulSyllableType.txt
+++ /dev/null
@@ -1,857 +0,0 @@
-# HangulSyllableType-5.2.0.txt
-# Date: 2009-05-22, 22:58:24 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: Hangul_Syllable_Type
-
-# All code points not explicitly listed for Hangul_Syllable_Type
-# have the value Not_Applicable (NA).
-
-# @missing: 0000..10FFFF; Not_Applicable
-
-# ================================================
-
-# Hangul_Syllable_Type=Leading_Jamo
-
-1100..115F ; L # Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
-A960..A97C ; L # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-
-# Total code points: 125
-
-# ================================================
-
-# Hangul_Syllable_Type=Vowel_Jamo
-
-1160..11A7 ; V # Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
-D7B0..D7C6 ; V # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-
-# Total code points: 95
-
-# ================================================
-
-# Hangul_Syllable_Type=Trailing_Jamo
-
-11A8..11FF ; T # Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
-D7CB..D7FB ; T # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-
-# Total code points: 137
-
-# ================================================
-
-# Hangul_Syllable_Type=LV_Syllable
-
-AC00 ; LV # Lo HANGUL SYLLABLE GA
-AC1C ; LV # Lo HANGUL SYLLABLE GAE
-AC38 ; LV # Lo HANGUL SYLLABLE GYA
-AC54 ; LV # Lo HANGUL SYLLABLE GYAE
-AC70 ; LV # Lo HANGUL SYLLABLE GEO
-AC8C ; LV # Lo HANGUL SYLLABLE GE
-ACA8 ; LV # Lo HANGUL SYLLABLE GYEO
-ACC4 ; LV # Lo HANGUL SYLLABLE GYE
-ACE0 ; LV # Lo HANGUL SYLLABLE GO
-ACFC ; LV # Lo HANGUL SYLLABLE GWA
-AD18 ; LV # Lo HANGUL SYLLABLE GWAE
-AD34 ; LV # Lo HANGUL SYLLABLE GOE
-AD50 ; LV # Lo HANGUL SYLLABLE GYO
-AD6C ; LV # Lo HANGUL SYLLABLE GU
-AD88 ; LV # Lo HANGUL SYLLABLE GWEO
-ADA4 ; LV # Lo HANGUL SYLLABLE GWE
-ADC0 ; LV # Lo HANGUL SYLLABLE GWI
-ADDC ; LV # Lo HANGUL SYLLABLE GYU
-ADF8 ; LV # Lo HANGUL SYLLABLE GEU
-AE14 ; LV # Lo HANGUL SYLLABLE GYI
-AE30 ; LV # Lo HANGUL SYLLABLE GI
-AE4C ; LV # Lo HANGUL SYLLABLE GGA
-AE68 ; LV # Lo HANGUL SYLLABLE GGAE
-AE84 ; LV # Lo HANGUL SYLLABLE GGYA
-AEA0 ; LV # Lo HANGUL SYLLABLE GGYAE
-AEBC ; LV # Lo HANGUL SYLLABLE GGEO
-AED8 ; LV # Lo HANGUL SYLLABLE GGE
-AEF4 ; LV # Lo HANGUL SYLLABLE GGYEO
-AF10 ; LV # Lo HANGUL SYLLABLE GGYE
-AF2C ; LV # Lo HANGUL SYLLABLE GGO
-AF48 ; LV # Lo HANGUL SYLLABLE GGWA
-AF64 ; LV # Lo HANGUL SYLLABLE GGWAE
-AF80 ; LV # Lo HANGUL SYLLABLE GGOE
-AF9C ; LV # Lo HANGUL SYLLABLE GGYO
-AFB8 ; LV # Lo HANGUL SYLLABLE GGU
-AFD4 ; LV # Lo HANGUL SYLLABLE GGWEO
-AFF0 ; LV # Lo HANGUL SYLLABLE GGWE
-B00C ; LV # Lo HANGUL SYLLABLE GGWI
-B028 ; LV # Lo HANGUL SYLLABLE GGYU
-B044 ; LV # Lo HANGUL SYLLABLE GGEU
-B060 ; LV # Lo HANGUL SYLLABLE GGYI
-B07C ; LV # Lo HANGUL SYLLABLE GGI
-B098 ; LV # Lo HANGUL SYLLABLE NA
-B0B4 ; LV # Lo HANGUL SYLLABLE NAE
-B0D0 ; LV # Lo HANGUL SYLLABLE NYA
-B0EC ; LV # Lo HANGUL SYLLABLE NYAE
-B108 ; LV # Lo HANGUL SYLLABLE NEO
-B124 ; LV # Lo HANGUL SYLLABLE NE
-B140 ; LV # Lo HANGUL SYLLABLE NYEO
-B15C ; LV # Lo HANGUL SYLLABLE NYE
-B178 ; LV # Lo HANGUL SYLLABLE NO
-B194 ; LV # Lo HANGUL SYLLABLE NWA
-B1B0 ; LV # Lo HANGUL SYLLABLE NWAE
-B1CC ; LV # Lo HANGUL SYLLABLE NOE
-B1E8 ; LV # Lo HANGUL SYLLABLE NYO
-B204 ; LV # Lo HANGUL SYLLABLE NU
-B220 ; LV # Lo HANGUL SYLLABLE NWEO
-B23C ; LV # Lo HANGUL SYLLABLE NWE
-B258 ; LV # Lo HANGUL SYLLABLE NWI
-B274 ; LV # Lo HANGUL SYLLABLE NYU
-B290 ; LV # Lo HANGUL SYLLABLE NEU
-B2AC ; LV # Lo HANGUL SYLLABLE NYI
-B2C8 ; LV # Lo HANGUL SYLLABLE NI
-B2E4 ; LV # Lo HANGUL SYLLABLE DA
-B300 ; LV # Lo HANGUL SYLLABLE DAE
-B31C ; LV # Lo HANGUL SYLLABLE DYA
-B338 ; LV # Lo HANGUL SYLLABLE DYAE
-B354 ; LV # Lo HANGUL SYLLABLE DEO
-B370 ; LV # Lo HANGUL SYLLABLE DE
-B38C ; LV # Lo HANGUL SYLLABLE DYEO
-B3A8 ; LV # Lo HANGUL SYLLABLE DYE
-B3C4 ; LV # Lo HANGUL SYLLABLE DO
-B3E0 ; LV # Lo HANGUL SYLLABLE DWA
-B3FC ; LV # Lo HANGUL SYLLABLE DWAE
-B418 ; LV # Lo HANGUL SYLLABLE DOE
-B434 ; LV # Lo HANGUL SYLLABLE DYO
-B450 ; LV # Lo HANGUL SYLLABLE DU
-B46C ; LV # Lo HANGUL SYLLABLE DWEO
-B488 ; LV # Lo HANGUL SYLLABLE DWE
-B4A4 ; LV # Lo HANGUL SYLLABLE DWI
-B4C0 ; LV # Lo HANGUL SYLLABLE DYU
-B4DC ; LV # Lo HANGUL SYLLABLE DEU
-B4F8 ; LV # Lo HANGUL SYLLABLE DYI
-B514 ; LV # Lo HANGUL SYLLABLE DI
-B530 ; LV # Lo HANGUL SYLLABLE DDA
-B54C ; LV # Lo HANGUL SYLLABLE DDAE
-B568 ; LV # Lo HANGUL SYLLABLE DDYA
-B584 ; LV # Lo HANGUL SYLLABLE DDYAE
-B5A0 ; LV # Lo HANGUL SYLLABLE DDEO
-B5BC ; LV # Lo HANGUL SYLLABLE DDE
-B5D8 ; LV # Lo HANGUL SYLLABLE DDYEO
-B5F4 ; LV # Lo HANGUL SYLLABLE DDYE
-B610 ; LV # Lo HANGUL SYLLABLE DDO
-B62C ; LV # Lo HANGUL SYLLABLE DDWA
-B648 ; LV # Lo HANGUL SYLLABLE DDWAE
-B664 ; LV # Lo HANGUL SYLLABLE DDOE
-B680 ; LV # Lo HANGUL SYLLABLE DDYO
-B69C ; LV # Lo HANGUL SYLLABLE DDU
-B6B8 ; LV # Lo HANGUL SYLLABLE DDWEO
-B6D4 ; LV # Lo HANGUL SYLLABLE DDWE
-B6F0 ; LV # Lo HANGUL SYLLABLE DDWI
-B70C ; LV # Lo HANGUL SYLLABLE DDYU
-B728 ; LV # Lo HANGUL SYLLABLE DDEU
-B744 ; LV # Lo HANGUL SYLLABLE DDYI
-B760 ; LV # Lo HANGUL SYLLABLE DDI
-B77C ; LV # Lo HANGUL SYLLABLE RA
-B798 ; LV # Lo HANGUL SYLLABLE RAE
-B7B4 ; LV # Lo HANGUL SYLLABLE RYA
-B7D0 ; LV # Lo HANGUL SYLLABLE RYAE
-B7EC ; LV # Lo HANGUL SYLLABLE REO
-B808 ; LV # Lo HANGUL SYLLABLE RE
-B824 ; LV # Lo HANGUL SYLLABLE RYEO
-B840 ; LV # Lo HANGUL SYLLABLE RYE
-B85C ; LV # Lo HANGUL SYLLABLE RO
-B878 ; LV # Lo HANGUL SYLLABLE RWA
-B894 ; LV # Lo HANGUL SYLLABLE RWAE
-B8B0 ; LV # Lo HANGUL SYLLABLE ROE
-B8CC ; LV # Lo HANGUL SYLLABLE RYO
-B8E8 ; LV # Lo HANGUL SYLLABLE RU
-B904 ; LV # Lo HANGUL SYLLABLE RWEO
-B920 ; LV # Lo HANGUL SYLLABLE RWE
-B93C ; LV # Lo HANGUL SYLLABLE RWI
-B958 ; LV # Lo HANGUL SYLLABLE RYU
-B974 ; LV # Lo HANGUL SYLLABLE REU
-B990 ; LV # Lo HANGUL SYLLABLE RYI
-B9AC ; LV # Lo HANGUL SYLLABLE RI
-B9C8 ; LV # Lo HANGUL SYLLABLE MA
-B9E4 ; LV # Lo HANGUL SYLLABLE MAE
-BA00 ; LV # Lo HANGUL SYLLABLE MYA
-BA1C ; LV # Lo HANGUL SYLLABLE MYAE
-BA38 ; LV # Lo HANGUL SYLLABLE MEO
-BA54 ; LV # Lo HANGUL SYLLABLE ME
-BA70 ; LV # Lo HANGUL SYLLABLE MYEO
-BA8C ; LV # Lo HANGUL SYLLABLE MYE
-BAA8 ; LV # Lo HANGUL SYLLABLE MO
-BAC4 ; LV # Lo HANGUL SYLLABLE MWA
-BAE0 ; LV # Lo HANGUL SYLLABLE MWAE
-BAFC ; LV # Lo HANGUL SYLLABLE MOE
-BB18 ; LV # Lo HANGUL SYLLABLE MYO
-BB34 ; LV # Lo HANGUL SYLLABLE MU
-BB50 ; LV # Lo HANGUL SYLLABLE MWEO
-BB6C ; LV # Lo HANGUL SYLLABLE MWE
-BB88 ; LV # Lo HANGUL SYLLABLE MWI
-BBA4 ; LV # Lo HANGUL SYLLABLE MYU
-BBC0 ; LV # Lo HANGUL SYLLABLE MEU
-BBDC ; LV # Lo HANGUL SYLLABLE MYI
-BBF8 ; LV # Lo HANGUL SYLLABLE MI
-BC14 ; LV # Lo HANGUL SYLLABLE BA
-BC30 ; LV # Lo HANGUL SYLLABLE BAE
-BC4C ; LV # Lo HANGUL SYLLABLE BYA
-BC68 ; LV # Lo HANGUL SYLLABLE BYAE
-BC84 ; LV # Lo HANGUL SYLLABLE BEO
-BCA0 ; LV # Lo HANGUL SYLLABLE BE
-BCBC ; LV # Lo HANGUL SYLLABLE BYEO
-BCD8 ; LV # Lo HANGUL SYLLABLE BYE
-BCF4 ; LV # Lo HANGUL SYLLABLE BO
-BD10 ; LV # Lo HANGUL SYLLABLE BWA
-BD2C ; LV # Lo HANGUL SYLLABLE BWAE
-BD48 ; LV # Lo HANGUL SYLLABLE BOE
-BD64 ; LV # Lo HANGUL SYLLABLE BYO
-BD80 ; LV # Lo HANGUL SYLLABLE BU
-BD9C ; LV # Lo HANGUL SYLLABLE BWEO
-BDB8 ; LV # Lo HANGUL SYLLABLE BWE
-BDD4 ; LV # Lo HANGUL SYLLABLE BWI
-BDF0 ; LV # Lo HANGUL SYLLABLE BYU
-BE0C ; LV # Lo HANGUL SYLLABLE BEU
-BE28 ; LV # Lo HANGUL SYLLABLE BYI
-BE44 ; LV # Lo HANGUL SYLLABLE BI
-BE60 ; LV # Lo HANGUL SYLLABLE BBA
-BE7C ; LV # Lo HANGUL SYLLABLE BBAE
-BE98 ; LV # Lo HANGUL SYLLABLE BBYA
-BEB4 ; LV # Lo HANGUL SYLLABLE BBYAE
-BED0 ; LV # Lo HANGUL SYLLABLE BBEO
-BEEC ; LV # Lo HANGUL SYLLABLE BBE
-BF08 ; LV # Lo HANGUL SYLLABLE BBYEO
-BF24 ; LV # Lo HANGUL SYLLABLE BBYE
-BF40 ; LV # Lo HANGUL SYLLABLE BBO
-BF5C ; LV # Lo HANGUL SYLLABLE BBWA
-BF78 ; LV # Lo HANGUL SYLLABLE BBWAE
-BF94 ; LV # Lo HANGUL SYLLABLE BBOE
-BFB0 ; LV # Lo HANGUL SYLLABLE BBYO
-BFCC ; LV # Lo HANGUL SYLLABLE BBU
-BFE8 ; LV # Lo HANGUL SYLLABLE BBWEO
-C004 ; LV # Lo HANGUL SYLLABLE BBWE
-C020 ; LV # Lo HANGUL SYLLABLE BBWI
-C03C ; LV # Lo HANGUL SYLLABLE BBYU
-C058 ; LV # Lo HANGUL SYLLABLE BBEU
-C074 ; LV # Lo HANGUL SYLLABLE BBYI
-C090 ; LV # Lo HANGUL SYLLABLE BBI
-C0AC ; LV # Lo HANGUL SYLLABLE SA
-C0C8 ; LV # Lo HANGUL SYLLABLE SAE
-C0E4 ; LV # Lo HANGUL SYLLABLE SYA
-C100 ; LV # Lo HANGUL SYLLABLE SYAE
-C11C ; LV # Lo HANGUL SYLLABLE SEO
-C138 ; LV # Lo HANGUL SYLLABLE SE
-C154 ; LV # Lo HANGUL SYLLABLE SYEO
-C170 ; LV # Lo HANGUL SYLLABLE SYE
-C18C ; LV # Lo HANGUL SYLLABLE SO
-C1A8 ; LV # Lo HANGUL SYLLABLE SWA
-C1C4 ; LV # Lo HANGUL SYLLABLE SWAE
-C1E0 ; LV # Lo HANGUL SYLLABLE SOE
-C1FC ; LV # Lo HANGUL SYLLABLE SYO
-C218 ; LV # Lo HANGUL SYLLABLE SU
-C234 ; LV # Lo HANGUL SYLLABLE SWEO
-C250 ; LV # Lo HANGUL SYLLABLE SWE
-C26C ; LV # Lo HANGUL SYLLABLE SWI
-C288 ; LV # Lo HANGUL SYLLABLE SYU
-C2A4 ; LV # Lo HANGUL SYLLABLE SEU
-C2C0 ; LV # Lo HANGUL SYLLABLE SYI
-C2DC ; LV # Lo HANGUL SYLLABLE SI
-C2F8 ; LV # Lo HANGUL SYLLABLE SSA
-C314 ; LV # Lo HANGUL SYLLABLE SSAE
-C330 ; LV # Lo HANGUL SYLLABLE SSYA
-C34C ; LV # Lo HANGUL SYLLABLE SSYAE
-C368 ; LV # Lo HANGUL SYLLABLE SSEO
-C384 ; LV # Lo HANGUL SYLLABLE SSE
-C3A0 ; LV # Lo HANGUL SYLLABLE SSYEO
-C3BC ; LV # Lo HANGUL SYLLABLE SSYE
-C3D8 ; LV # Lo HANGUL SYLLABLE SSO
-C3F4 ; LV # Lo HANGUL SYLLABLE SSWA
-C410 ; LV # Lo HANGUL SYLLABLE SSWAE
-C42C ; LV # Lo HANGUL SYLLABLE SSOE
-C448 ; LV # Lo HANGUL SYLLABLE SSYO
-C464 ; LV # Lo HANGUL SYLLABLE SSU
-C480 ; LV # Lo HANGUL SYLLABLE SSWEO
-C49C ; LV # Lo HANGUL SYLLABLE SSWE
-C4B8 ; LV # Lo HANGUL SYLLABLE SSWI
-C4D4 ; LV # Lo HANGUL SYLLABLE SSYU
-C4F0 ; LV # Lo HANGUL SYLLABLE SSEU
-C50C ; LV # Lo HANGUL SYLLABLE SSYI
-C528 ; LV # Lo HANGUL SYLLABLE SSI
-C544 ; LV # Lo HANGUL SYLLABLE A
-C560 ; LV # Lo HANGUL SYLLABLE AE
-C57C ; LV # Lo HANGUL SYLLABLE YA
-C598 ; LV # Lo HANGUL SYLLABLE YAE
-C5B4 ; LV # Lo HANGUL SYLLABLE EO
-C5D0 ; LV # Lo HANGUL SYLLABLE E
-C5EC ; LV # Lo HANGUL SYLLABLE YEO
-C608 ; LV # Lo HANGUL SYLLABLE YE
-C624 ; LV # Lo HANGUL SYLLABLE O
-C640 ; LV # Lo HANGUL SYLLABLE WA
-C65C ; LV # Lo HANGUL SYLLABLE WAE
-C678 ; LV # Lo HANGUL SYLLABLE OE
-C694 ; LV # Lo HANGUL SYLLABLE YO
-C6B0 ; LV # Lo HANGUL SYLLABLE U
-C6CC ; LV # Lo HANGUL SYLLABLE WEO
-C6E8 ; LV # Lo HANGUL SYLLABLE WE
-C704 ; LV # Lo HANGUL SYLLABLE WI
-C720 ; LV # Lo HANGUL SYLLABLE YU
-C73C ; LV # Lo HANGUL SYLLABLE EU
-C758 ; LV # Lo HANGUL SYLLABLE YI
-C774 ; LV # Lo HANGUL SYLLABLE I
-C790 ; LV # Lo HANGUL SYLLABLE JA
-C7AC ; LV # Lo HANGUL SYLLABLE JAE
-C7C8 ; LV # Lo HANGUL SYLLABLE JYA
-C7E4 ; LV # Lo HANGUL SYLLABLE JYAE
-C800 ; LV # Lo HANGUL SYLLABLE JEO
-C81C ; LV # Lo HANGUL SYLLABLE JE
-C838 ; LV # Lo HANGUL SYLLABLE JYEO
-C854 ; LV # Lo HANGUL SYLLABLE JYE
-C870 ; LV # Lo HANGUL SYLLABLE JO
-C88C ; LV # Lo HANGUL SYLLABLE JWA
-C8A8 ; LV # Lo HANGUL SYLLABLE JWAE
-C8C4 ; LV # Lo HANGUL SYLLABLE JOE
-C8E0 ; LV # Lo HANGUL SYLLABLE JYO
-C8FC ; LV # Lo HANGUL SYLLABLE JU
-C918 ; LV # Lo HANGUL SYLLABLE JWEO
-C934 ; LV # Lo HANGUL SYLLABLE JWE
-C950 ; LV # Lo HANGUL SYLLABLE JWI
-C96C ; LV # Lo HANGUL SYLLABLE JYU
-C988 ; LV # Lo HANGUL SYLLABLE JEU
-C9A4 ; LV # Lo HANGUL SYLLABLE JYI
-C9C0 ; LV # Lo HANGUL SYLLABLE JI
-C9DC ; LV # Lo HANGUL SYLLABLE JJA
-C9F8 ; LV # Lo HANGUL SYLLABLE JJAE
-CA14 ; LV # Lo HANGUL SYLLABLE JJYA
-CA30 ; LV # Lo HANGUL SYLLABLE JJYAE
-CA4C ; LV # Lo HANGUL SYLLABLE JJEO
-CA68 ; LV # Lo HANGUL SYLLABLE JJE
-CA84 ; LV # Lo HANGUL SYLLABLE JJYEO
-CAA0 ; LV # Lo HANGUL SYLLABLE JJYE
-CABC ; LV # Lo HANGUL SYLLABLE JJO
-CAD8 ; LV # Lo HANGUL SYLLABLE JJWA
-CAF4 ; LV # Lo HANGUL SYLLABLE JJWAE
-CB10 ; LV # Lo HANGUL SYLLABLE JJOE
-CB2C ; LV # Lo HANGUL SYLLABLE JJYO
-CB48 ; LV # Lo HANGUL SYLLABLE JJU
-CB64 ; LV # Lo HANGUL SYLLABLE JJWEO
-CB80 ; LV # Lo HANGUL SYLLABLE JJWE
-CB9C ; LV # Lo HANGUL SYLLABLE JJWI
-CBB8 ; LV # Lo HANGUL SYLLABLE JJYU
-CBD4 ; LV # Lo HANGUL SYLLABLE JJEU
-CBF0 ; LV # Lo HANGUL SYLLABLE JJYI
-CC0C ; LV # Lo HANGUL SYLLABLE JJI
-CC28 ; LV # Lo HANGUL SYLLABLE CA
-CC44 ; LV # Lo HANGUL SYLLABLE CAE
-CC60 ; LV # Lo HANGUL SYLLABLE CYA
-CC7C ; LV # Lo HANGUL SYLLABLE CYAE
-CC98 ; LV # Lo HANGUL SYLLABLE CEO
-CCB4 ; LV # Lo HANGUL SYLLABLE CE
-CCD0 ; LV # Lo HANGUL SYLLABLE CYEO
-CCEC ; LV # Lo HANGUL SYLLABLE CYE
-CD08 ; LV # Lo HANGUL SYLLABLE CO
-CD24 ; LV # Lo HANGUL SYLLABLE CWA
-CD40 ; LV # Lo HANGUL SYLLABLE CWAE
-CD5C ; LV # Lo HANGUL SYLLABLE COE
-CD78 ; LV # Lo HANGUL SYLLABLE CYO
-CD94 ; LV # Lo HANGUL SYLLABLE CU
-CDB0 ; LV # Lo HANGUL SYLLABLE CWEO
-CDCC ; LV # Lo HANGUL SYLLABLE CWE
-CDE8 ; LV # Lo HANGUL SYLLABLE CWI
-CE04 ; LV # Lo HANGUL SYLLABLE CYU
-CE20 ; LV # Lo HANGUL SYLLABLE CEU
-CE3C ; LV # Lo HANGUL SYLLABLE CYI
-CE58 ; LV # Lo HANGUL SYLLABLE CI
-CE74 ; LV # Lo HANGUL SYLLABLE KA
-CE90 ; LV # Lo HANGUL SYLLABLE KAE
-CEAC ; LV # Lo HANGUL SYLLABLE KYA
-CEC8 ; LV # Lo HANGUL SYLLABLE KYAE
-CEE4 ; LV # Lo HANGUL SYLLABLE KEO
-CF00 ; LV # Lo HANGUL SYLLABLE KE
-CF1C ; LV # Lo HANGUL SYLLABLE KYEO
-CF38 ; LV # Lo HANGUL SYLLABLE KYE
-CF54 ; LV # Lo HANGUL SYLLABLE KO
-CF70 ; LV # Lo HANGUL SYLLABLE KWA
-CF8C ; LV # Lo HANGUL SYLLABLE KWAE
-CFA8 ; LV # Lo HANGUL SYLLABLE KOE
-CFC4 ; LV # Lo HANGUL SYLLABLE KYO
-CFE0 ; LV # Lo HANGUL SYLLABLE KU
-CFFC ; LV # Lo HANGUL SYLLABLE KWEO
-D018 ; LV # Lo HANGUL SYLLABLE KWE
-D034 ; LV # Lo HANGUL SYLLABLE KWI
-D050 ; LV # Lo HANGUL SYLLABLE KYU
-D06C ; LV # Lo HANGUL SYLLABLE KEU
-D088 ; LV # Lo HANGUL SYLLABLE KYI
-D0A4 ; LV # Lo HANGUL SYLLABLE KI
-D0C0 ; LV # Lo HANGUL SYLLABLE TA
-D0DC ; LV # Lo HANGUL SYLLABLE TAE
-D0F8 ; LV # Lo HANGUL SYLLABLE TYA
-D114 ; LV # Lo HANGUL SYLLABLE TYAE
-D130 ; LV # Lo HANGUL SYLLABLE TEO
-D14C ; LV # Lo HANGUL SYLLABLE TE
-D168 ; LV # Lo HANGUL SYLLABLE TYEO
-D184 ; LV # Lo HANGUL SYLLABLE TYE
-D1A0 ; LV # Lo HANGUL SYLLABLE TO
-D1BC ; LV # Lo HANGUL SYLLABLE TWA
-D1D8 ; LV # Lo HANGUL SYLLABLE TWAE
-D1F4 ; LV # Lo HANGUL SYLLABLE TOE
-D210 ; LV # Lo HANGUL SYLLABLE TYO
-D22C ; LV # Lo HANGUL SYLLABLE TU
-D248 ; LV # Lo HANGUL SYLLABLE TWEO
-D264 ; LV # Lo HANGUL SYLLABLE TWE
-D280 ; LV # Lo HANGUL SYLLABLE TWI
-D29C ; LV # Lo HANGUL SYLLABLE TYU
-D2B8 ; LV # Lo HANGUL SYLLABLE TEU
-D2D4 ; LV # Lo HANGUL SYLLABLE TYI
-D2F0 ; LV # Lo HANGUL SYLLABLE TI
-D30C ; LV # Lo HANGUL SYLLABLE PA
-D328 ; LV # Lo HANGUL SYLLABLE PAE
-D344 ; LV # Lo HANGUL SYLLABLE PYA
-D360 ; LV # Lo HANGUL SYLLABLE PYAE
-D37C ; LV # Lo HANGUL SYLLABLE PEO
-D398 ; LV # Lo HANGUL SYLLABLE PE
-D3B4 ; LV # Lo HANGUL SYLLABLE PYEO
-D3D0 ; LV # Lo HANGUL SYLLABLE PYE
-D3EC ; LV # Lo HANGUL SYLLABLE PO
-D408 ; LV # Lo HANGUL SYLLABLE PWA
-D424 ; LV # Lo HANGUL SYLLABLE PWAE
-D440 ; LV # Lo HANGUL SYLLABLE POE
-D45C ; LV # Lo HANGUL SYLLABLE PYO
-D478 ; LV # Lo HANGUL SYLLABLE PU
-D494 ; LV # Lo HANGUL SYLLABLE PWEO
-D4B0 ; LV # Lo HANGUL SYLLABLE PWE
-D4CC ; LV # Lo HANGUL SYLLABLE PWI
-D4E8 ; LV # Lo HANGUL SYLLABLE PYU
-D504 ; LV # Lo HANGUL SYLLABLE PEU
-D520 ; LV # Lo HANGUL SYLLABLE PYI
-D53C ; LV # Lo HANGUL SYLLABLE PI
-D558 ; LV # Lo HANGUL SYLLABLE HA
-D574 ; LV # Lo HANGUL SYLLABLE HAE
-D590 ; LV # Lo HANGUL SYLLABLE HYA
-D5AC ; LV # Lo HANGUL SYLLABLE HYAE
-D5C8 ; LV # Lo HANGUL SYLLABLE HEO
-D5E4 ; LV # Lo HANGUL SYLLABLE HE
-D600 ; LV # Lo HANGUL SYLLABLE HYEO
-D61C ; LV # Lo HANGUL SYLLABLE HYE
-D638 ; LV # Lo HANGUL SYLLABLE HO
-D654 ; LV # Lo HANGUL SYLLABLE HWA
-D670 ; LV # Lo HANGUL SYLLABLE HWAE
-D68C ; LV # Lo HANGUL SYLLABLE HOE
-D6A8 ; LV # Lo HANGUL SYLLABLE HYO
-D6C4 ; LV # Lo HANGUL SYLLABLE HU
-D6E0 ; LV # Lo HANGUL SYLLABLE HWEO
-D6FC ; LV # Lo HANGUL SYLLABLE HWE
-D718 ; LV # Lo HANGUL SYLLABLE HWI
-D734 ; LV # Lo HANGUL SYLLABLE HYU
-D750 ; LV # Lo HANGUL SYLLABLE HEU
-D76C ; LV # Lo HANGUL SYLLABLE HYI
-D788 ; LV # Lo HANGUL SYLLABLE HI
-
-# Total code points: 399
-
-# ================================================
-
-# Hangul_Syllable_Type=LVT_Syllable
-
-AC01..AC1B ; LVT # Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
-AC1D..AC37 ; LVT # Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
-AC39..AC53 ; LVT # Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
-AC55..AC6F ; LVT # Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
-AC71..AC8B ; LVT # Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
-AC8D..ACA7 ; LVT # Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
-ACA9..ACC3 ; LVT # Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
-ACC5..ACDF ; LVT # Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
-ACE1..ACFB ; LVT # Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
-ACFD..AD17 ; LVT # Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
-AD19..AD33 ; LVT # Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
-AD35..AD4F ; LVT # Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
-AD51..AD6B ; LVT # Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
-AD6D..AD87 ; LVT # Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
-AD89..ADA3 ; LVT # Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
-ADA5..ADBF ; LVT # Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
-ADC1..ADDB ; LVT # Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
-ADDD..ADF7 ; LVT # Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
-ADF9..AE13 ; LVT # Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
-AE15..AE2F ; LVT # Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
-AE31..AE4B ; LVT # Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
-AE4D..AE67 ; LVT # Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
-AE69..AE83 ; LVT # Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
-AE85..AE9F ; LVT # Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
-AEA1..AEBB ; LVT # Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
-AEBD..AED7 ; LVT # Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
-AED9..AEF3 ; LVT # Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
-AEF5..AF0F ; LVT # Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
-AF11..AF2B ; LVT # Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
-AF2D..AF47 ; LVT # Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
-AF49..AF63 ; LVT # Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
-AF65..AF7F ; LVT # Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
-AF81..AF9B ; LVT # Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
-AF9D..AFB7 ; LVT # Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
-AFB9..AFD3 ; LVT # Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
-AFD5..AFEF ; LVT # Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
-AFF1..B00B ; LVT # Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
-B00D..B027 ; LVT # Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
-B029..B043 ; LVT # Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
-B045..B05F ; LVT # Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
-B061..B07B ; LVT # Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
-B07D..B097 ; LVT # Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
-B099..B0B3 ; LVT # Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
-B0B5..B0CF ; LVT # Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
-B0D1..B0EB ; LVT # Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
-B0ED..B107 ; LVT # Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
-B109..B123 ; LVT # Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
-B125..B13F ; LVT # Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
-B141..B15B ; LVT # Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
-B15D..B177 ; LVT # Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
-B179..B193 ; LVT # Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
-B195..B1AF ; LVT # Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
-B1B1..B1CB ; LVT # Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
-B1CD..B1E7 ; LVT # Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
-B1E9..B203 ; LVT # Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
-B205..B21F ; LVT # Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
-B221..B23B ; LVT # Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
-B23D..B257 ; LVT # Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
-B259..B273 ; LVT # Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
-B275..B28F ; LVT # Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
-B291..B2AB ; LVT # Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
-B2AD..B2C7 ; LVT # Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
-B2C9..B2E3 ; LVT # Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
-B2E5..B2FF ; LVT # Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
-B301..B31B ; LVT # Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
-B31D..B337 ; LVT # Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
-B339..B353 ; LVT # Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
-B355..B36F ; LVT # Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
-B371..B38B ; LVT # Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
-B38D..B3A7 ; LVT # Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
-B3A9..B3C3 ; LVT # Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
-B3C5..B3DF ; LVT # Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
-B3E1..B3FB ; LVT # Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
-B3FD..B417 ; LVT # Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
-B419..B433 ; LVT # Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
-B435..B44F ; LVT # Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
-B451..B46B ; LVT # Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
-B46D..B487 ; LVT # Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
-B489..B4A3 ; LVT # Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
-B4A5..B4BF ; LVT # Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
-B4C1..B4DB ; LVT # Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
-B4DD..B4F7 ; LVT # Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
-B4F9..B513 ; LVT # Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
-B515..B52F ; LVT # Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
-B531..B54B ; LVT # Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
-B54D..B567 ; LVT # Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
-B569..B583 ; LVT # Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
-B585..B59F ; LVT # Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
-B5A1..B5BB ; LVT # Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
-B5BD..B5D7 ; LVT # Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
-B5D9..B5F3 ; LVT # Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
-B5F5..B60F ; LVT # Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
-B611..B62B ; LVT # Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
-B62D..B647 ; LVT # Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
-B649..B663 ; LVT # Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
-B665..B67F ; LVT # Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
-B681..B69B ; LVT # Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
-B69D..B6B7 ; LVT # Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
-B6B9..B6D3 ; LVT # Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
-B6D5..B6EF ; LVT # Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
-B6F1..B70B ; LVT # Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
-B70D..B727 ; LVT # Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
-B729..B743 ; LVT # Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
-B745..B75F ; LVT # Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
-B761..B77B ; LVT # Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
-B77D..B797 ; LVT # Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
-B799..B7B3 ; LVT # Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
-B7B5..B7CF ; LVT # Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
-B7D1..B7EB ; LVT # Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
-B7ED..B807 ; LVT # Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
-B809..B823 ; LVT # Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
-B825..B83F ; LVT # Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
-B841..B85B ; LVT # Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
-B85D..B877 ; LVT # Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
-B879..B893 ; LVT # Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
-B895..B8AF ; LVT # Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
-B8B1..B8CB ; LVT # Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
-B8CD..B8E7 ; LVT # Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
-B8E9..B903 ; LVT # Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
-B905..B91F ; LVT # Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
-B921..B93B ; LVT # Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
-B93D..B957 ; LVT # Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
-B959..B973 ; LVT # Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
-B975..B98F ; LVT # Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
-B991..B9AB ; LVT # Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
-B9AD..B9C7 ; LVT # Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
-B9C9..B9E3 ; LVT # Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
-B9E5..B9FF ; LVT # Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
-BA01..BA1B ; LVT # Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
-BA1D..BA37 ; LVT # Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
-BA39..BA53 ; LVT # Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
-BA55..BA6F ; LVT # Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
-BA71..BA8B ; LVT # Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
-BA8D..BAA7 ; LVT # Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
-BAA9..BAC3 ; LVT # Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
-BAC5..BADF ; LVT # Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
-BAE1..BAFB ; LVT # Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
-BAFD..BB17 ; LVT # Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
-BB19..BB33 ; LVT # Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
-BB35..BB4F ; LVT # Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
-BB51..BB6B ; LVT # Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
-BB6D..BB87 ; LVT # Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
-BB89..BBA3 ; LVT # Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
-BBA5..BBBF ; LVT # Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
-BBC1..BBDB ; LVT # Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
-BBDD..BBF7 ; LVT # Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
-BBF9..BC13 ; LVT # Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
-BC15..BC2F ; LVT # Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
-BC31..BC4B ; LVT # Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
-BC4D..BC67 ; LVT # Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
-BC69..BC83 ; LVT # Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
-BC85..BC9F ; LVT # Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
-BCA1..BCBB ; LVT # Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
-BCBD..BCD7 ; LVT # Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
-BCD9..BCF3 ; LVT # Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
-BCF5..BD0F ; LVT # Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
-BD11..BD2B ; LVT # Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
-BD2D..BD47 ; LVT # Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
-BD49..BD63 ; LVT # Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
-BD65..BD7F ; LVT # Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
-BD81..BD9B ; LVT # Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
-BD9D..BDB7 ; LVT # Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
-BDB9..BDD3 ; LVT # Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
-BDD5..BDEF ; LVT # Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
-BDF1..BE0B ; LVT # Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
-BE0D..BE27 ; LVT # Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
-BE29..BE43 ; LVT # Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
-BE45..BE5F ; LVT # Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
-BE61..BE7B ; LVT # Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
-BE7D..BE97 ; LVT # Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
-BE99..BEB3 ; LVT # Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
-BEB5..BECF ; LVT # Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
-BED1..BEEB ; LVT # Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
-BEED..BF07 ; LVT # Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
-BF09..BF23 ; LVT # Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
-BF25..BF3F ; LVT # Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
-BF41..BF5B ; LVT # Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
-BF5D..BF77 ; LVT # Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
-BF79..BF93 ; LVT # Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
-BF95..BFAF ; LVT # Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
-BFB1..BFCB ; LVT # Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
-BFCD..BFE7 ; LVT # Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
-BFE9..C003 ; LVT # Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
-C005..C01F ; LVT # Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
-C021..C03B ; LVT # Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
-C03D..C057 ; LVT # Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
-C059..C073 ; LVT # Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
-C075..C08F ; LVT # Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
-C091..C0AB ; LVT # Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
-C0AD..C0C7 ; LVT # Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
-C0C9..C0E3 ; LVT # Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
-C0E5..C0FF ; LVT # Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
-C101..C11B ; LVT # Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
-C11D..C137 ; LVT # Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
-C139..C153 ; LVT # Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
-C155..C16F ; LVT # Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
-C171..C18B ; LVT # Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
-C18D..C1A7 ; LVT # Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
-C1A9..C1C3 ; LVT # Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
-C1C5..C1DF ; LVT # Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
-C1E1..C1FB ; LVT # Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
-C1FD..C217 ; LVT # Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
-C219..C233 ; LVT # Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
-C235..C24F ; LVT # Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
-C251..C26B ; LVT # Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
-C26D..C287 ; LVT # Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
-C289..C2A3 ; LVT # Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
-C2A5..C2BF ; LVT # Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
-C2C1..C2DB ; LVT # Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
-C2DD..C2F7 ; LVT # Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
-C2F9..C313 ; LVT # Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
-C315..C32F ; LVT # Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
-C331..C34B ; LVT # Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
-C34D..C367 ; LVT # Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
-C369..C383 ; LVT # Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
-C385..C39F ; LVT # Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
-C3A1..C3BB ; LVT # Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
-C3BD..C3D7 ; LVT # Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
-C3D9..C3F3 ; LVT # Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
-C3F5..C40F ; LVT # Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
-C411..C42B ; LVT # Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
-C42D..C447 ; LVT # Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
-C449..C463 ; LVT # Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
-C465..C47F ; LVT # Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
-C481..C49B ; LVT # Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
-C49D..C4B7 ; LVT # Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
-C4B9..C4D3 ; LVT # Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
-C4D5..C4EF ; LVT # Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
-C4F1..C50B ; LVT # Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
-C50D..C527 ; LVT # Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
-C529..C543 ; LVT # Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
-C545..C55F ; LVT # Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
-C561..C57B ; LVT # Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
-C57D..C597 ; LVT # Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
-C599..C5B3 ; LVT # Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
-C5B5..C5CF ; LVT # Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
-C5D1..C5EB ; LVT # Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
-C5ED..C607 ; LVT # Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
-C609..C623 ; LVT # Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
-C625..C63F ; LVT # Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
-C641..C65B ; LVT # Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
-C65D..C677 ; LVT # Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
-C679..C693 ; LVT # Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
-C695..C6AF ; LVT # Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
-C6B1..C6CB ; LVT # Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
-C6CD..C6E7 ; LVT # Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
-C6E9..C703 ; LVT # Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
-C705..C71F ; LVT # Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
-C721..C73B ; LVT # Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
-C73D..C757 ; LVT # Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
-C759..C773 ; LVT # Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
-C775..C78F ; LVT # Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
-C791..C7AB ; LVT # Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
-C7AD..C7C7 ; LVT # Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
-C7C9..C7E3 ; LVT # Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
-C7E5..C7FF ; LVT # Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
-C801..C81B ; LVT # Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
-C81D..C837 ; LVT # Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
-C839..C853 ; LVT # Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
-C855..C86F ; LVT # Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
-C871..C88B ; LVT # Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
-C88D..C8A7 ; LVT # Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
-C8A9..C8C3 ; LVT # Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
-C8C5..C8DF ; LVT # Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
-C8E1..C8FB ; LVT # Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
-C8FD..C917 ; LVT # Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
-C919..C933 ; LVT # Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
-C935..C94F ; LVT # Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
-C951..C96B ; LVT # Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
-C96D..C987 ; LVT # Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
-C989..C9A3 ; LVT # Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
-C9A5..C9BF ; LVT # Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
-C9C1..C9DB ; LVT # Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
-C9DD..C9F7 ; LVT # Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
-C9F9..CA13 ; LVT # Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
-CA15..CA2F ; LVT # Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
-CA31..CA4B ; LVT # Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
-CA4D..CA67 ; LVT # Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
-CA69..CA83 ; LVT # Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
-CA85..CA9F ; LVT # Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
-CAA1..CABB ; LVT # Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
-CABD..CAD7 ; LVT # Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
-CAD9..CAF3 ; LVT # Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
-CAF5..CB0F ; LVT # Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
-CB11..CB2B ; LVT # Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
-CB2D..CB47 ; LVT # Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
-CB49..CB63 ; LVT # Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
-CB65..CB7F ; LVT # Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
-CB81..CB9B ; LVT # Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
-CB9D..CBB7 ; LVT # Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
-CBB9..CBD3 ; LVT # Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
-CBD5..CBEF ; LVT # Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
-CBF1..CC0B ; LVT # Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
-CC0D..CC27 ; LVT # Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
-CC29..CC43 ; LVT # Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
-CC45..CC5F ; LVT # Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
-CC61..CC7B ; LVT # Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
-CC7D..CC97 ; LVT # Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
-CC99..CCB3 ; LVT # Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
-CCB5..CCCF ; LVT # Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
-CCD1..CCEB ; LVT # Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
-CCED..CD07 ; LVT # Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
-CD09..CD23 ; LVT # Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
-CD25..CD3F ; LVT # Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
-CD41..CD5B ; LVT # Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
-CD5D..CD77 ; LVT # Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
-CD79..CD93 ; LVT # Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
-CD95..CDAF ; LVT # Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
-CDB1..CDCB ; LVT # Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
-CDCD..CDE7 ; LVT # Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
-CDE9..CE03 ; LVT # Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
-CE05..CE1F ; LVT # Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
-CE21..CE3B ; LVT # Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
-CE3D..CE57 ; LVT # Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
-CE59..CE73 ; LVT # Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
-CE75..CE8F ; LVT # Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
-CE91..CEAB ; LVT # Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
-CEAD..CEC7 ; LVT # Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
-CEC9..CEE3 ; LVT # Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
-CEE5..CEFF ; LVT # Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
-CF01..CF1B ; LVT # Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
-CF1D..CF37 ; LVT # Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
-CF39..CF53 ; LVT # Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
-CF55..CF6F ; LVT # Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
-CF71..CF8B ; LVT # Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
-CF8D..CFA7 ; LVT # Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
-CFA9..CFC3 ; LVT # Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
-CFC5..CFDF ; LVT # Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
-CFE1..CFFB ; LVT # Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
-CFFD..D017 ; LVT # Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
-D019..D033 ; LVT # Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
-D035..D04F ; LVT # Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
-D051..D06B ; LVT # Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
-D06D..D087 ; LVT # Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
-D089..D0A3 ; LVT # Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
-D0A5..D0BF ; LVT # Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
-D0C1..D0DB ; LVT # Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
-D0DD..D0F7 ; LVT # Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
-D0F9..D113 ; LVT # Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
-D115..D12F ; LVT # Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
-D131..D14B ; LVT # Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
-D14D..D167 ; LVT # Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
-D169..D183 ; LVT # Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
-D185..D19F ; LVT # Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
-D1A1..D1BB ; LVT # Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
-D1BD..D1D7 ; LVT # Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
-D1D9..D1F3 ; LVT # Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
-D1F5..D20F ; LVT # Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
-D211..D22B ; LVT # Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
-D22D..D247 ; LVT # Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
-D249..D263 ; LVT # Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
-D265..D27F ; LVT # Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
-D281..D29B ; LVT # Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
-D29D..D2B7 ; LVT # Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
-D2B9..D2D3 ; LVT # Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
-D2D5..D2EF ; LVT # Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
-D2F1..D30B ; LVT # Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
-D30D..D327 ; LVT # Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
-D329..D343 ; LVT # Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
-D345..D35F ; LVT # Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
-D361..D37B ; LVT # Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
-D37D..D397 ; LVT # Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
-D399..D3B3 ; LVT # Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
-D3B5..D3CF ; LVT # Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
-D3D1..D3EB ; LVT # Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
-D3ED..D407 ; LVT # Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
-D409..D423 ; LVT # Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
-D425..D43F ; LVT # Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
-D441..D45B ; LVT # Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
-D45D..D477 ; LVT # Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
-D479..D493 ; LVT # Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
-D495..D4AF ; LVT # Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
-D4B1..D4CB ; LVT # Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
-D4CD..D4E7 ; LVT # Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
-D4E9..D503 ; LVT # Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
-D505..D51F ; LVT # Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
-D521..D53B ; LVT # Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
-D53D..D557 ; LVT # Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
-D559..D573 ; LVT # Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
-D575..D58F ; LVT # Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
-D591..D5AB ; LVT # Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
-D5AD..D5C7 ; LVT # Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
-D5C9..D5E3 ; LVT # Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
-D5E5..D5FF ; LVT # Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
-D601..D61B ; LVT # Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
-D61D..D637 ; LVT # Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
-D639..D653 ; LVT # Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
-D655..D66F ; LVT # Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
-D671..D68B ; LVT # Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
-D68D..D6A7 ; LVT # Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
-D6A9..D6C3 ; LVT # Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
-D6C5..D6DF ; LVT # Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
-D6E1..D6FB ; LVT # Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
-D6FD..D717 ; LVT # Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
-D719..D733 ; LVT # Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
-D735..D74F ; LVT # Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
-D751..D76B ; LVT # Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
-D76D..D787 ; LVT # Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
-D789..D7A3 ; LVT # Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
-
-# Total code points: 10773
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/Heavy.pl b/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
index d5a5856bccc..89c8bf503b3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
@@ -1,6 +1,6 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
@@ -332,6 +332,8 @@
'age=5.0' => 'Age/5_0',
'age=5.1' => 'Age/5_1',
'age=5.2' => 'Age/5_2',
+ 'age=6' => 'Age/6_0',
+ 'age=6.0' => 'Age/6_0',
'ccc=0' => 'Ccc/NR',
'ccc=1' => 'Ccc/OV',
'ccc=10' => 'Ccc/10',
@@ -403,6 +405,8 @@
'in=5.0' => 'In/5_0',
'in=5.1' => 'In/5_1',
'in=5.2' => 'In/5_2',
+ 'in=6' => 'In/6_0',
+ 'in=6.0' => 'In/6_0',
'nv=-1/2' => 'Nv/_1_2',
'nv=0' => 'Nv/0',
'nv=1' => 'Nv/1',
@@ -532,6 +536,7 @@
'ahex=true' => 'AHex/Y',
'ahex=y' => 'AHex/Y',
'ahex=yes' => 'AHex/Y',
+ 'alchemicalsymbols' => 'Blk/Alchemic',
'all' => 'Perl/Any',
'alnum' => 'Perl/Alnum',
'alpha' => 'Alpha/Y',
@@ -567,7 +572,10 @@
'balinese' => 'Sc/Bali',
'bamu' => 'Sc/Bamu',
'bamum' => 'Sc/Bamu',
+ 'bamumsupplement' => 'Blk/BamumSup',
'basiclatin' => 'Blk/ASCII',
+ 'batak' => 'Sc/Batk',
+ 'batk' => 'Sc/Batk',
'bc=al' => 'Bc/AL',
'bc=an' => 'Bc/AN',
'bc=arabicletter' => 'Bc/AL',
@@ -630,6 +638,7 @@
'bidimirrored' => 'BidiM/Y',
'blank' => 'Perl/Blank',
'blk=aegeannumbers' => 'Blk/AegeanNu',
+ 'blk=alchemicalsymbols' => 'Blk/Alchemic',
'blk=alphabeticpresentationforms' => 'Blk/Alphabet',
'blk=ancientgreekmusicalnotation' => 'Blk/Ancient2',
'blk=ancientgreeknumbers' => 'Blk/AncientG',
@@ -644,12 +653,15 @@
'blk=avestan' => 'Blk/Avestan',
'blk=balinese' => 'Blk/Balinese',
'blk=bamum' => 'Blk/Bamum',
+ 'blk=bamumsupplement' => 'Blk/BamumSup',
'blk=basiclatin' => 'Blk/ASCII',
+ 'blk=batak' => 'Blk/Batak',
'blk=bengali' => 'Blk/Bengali',
'blk=blockelements' => 'Blk/BlockEle',
'blk=bopomofo' => 'Blk/Bopomofo',
'blk=bopomofoextended' => 'Blk/Bopomof2',
'blk=boxdrawing' => 'Blk/BoxDrawi',
+ 'blk=brahmi' => 'Blk/Brahmi',
'blk=braillepatterns' => 'Blk/BrailleP',
'blk=buginese' => 'Blk/Buginese',
'blk=buhid' => 'Blk/Buhid',
@@ -669,6 +681,7 @@
'blk=cjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
'blk=cjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
'blk=cjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
+ 'blk=cjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
'blk=combiningdiacriticalmarks' => 'Blk/Combini3',
'blk=combiningdiacriticalmarksforsymbols' => 'Blk/Combini2',
'blk=combiningdiacriticalmarkssupplement' => 'Blk/Combini4',
@@ -693,13 +706,15 @@
'blk=dingbats' => 'Blk/Dingbats',
'blk=dominotiles' => 'Blk/DominoTi',
'blk=egyptianhieroglyphs' => 'Blk/Egyptian',
+ 'blk=emoticons' => 'Blk/Emoticon',
'blk=enclosedalphanumerics' => 'Blk/Enclosed',
'blk=enclosedalphanumericsupplement' => 'Blk/Enclose4',
'blk=enclosedcjklettersandmonths' => 'Blk/Enclose2',
'blk=enclosedideographicsupplement' => 'Blk/Enclose3',
'blk=ethiopic' => 'Blk/Ethiopic',
'blk=ethiopicextended' => 'Blk/Ethiopi2',
- 'blk=ethiopicsupplement' => 'Blk/Ethiopi3',
+ 'blk=ethiopicextendeda' => 'Blk/Ethiopi3',
+ 'blk=ethiopicsupplement' => 'Blk/Ethiopi4',
'blk=generalpunctuation' => 'Blk/GeneralP',
'blk=geometricshapes' => 'Blk/Geometri',
'blk=georgian' => 'Blk/Georgian',
@@ -729,6 +744,7 @@
'blk=ipaextensions' => 'Blk/IPAExten',
'blk=javanese' => 'Blk/Javanese',
'blk=kaithi' => 'Blk/Kaithi',
+ 'blk=kanasupplement' => 'Blk/KanaSupp',
'blk=kanbun' => 'Blk/Kanbun',
'blk=kangxiradicals' => 'Blk/KangxiRa',
'blk=kannada' => 'Blk/Kannada',
@@ -757,6 +773,7 @@
'blk=lydian' => 'Blk/Lydian',
'blk=mahjongtiles' => 'Blk/MahjongT',
'blk=malayalam' => 'Blk/Malayala',
+ 'blk=mandaic' => 'Blk/Mandaic',
'blk=mathematicalalphanumericsymbols' => 'Blk/Mathema2',
'blk=mathematicaloperators' => 'Blk/Mathemat',
'blk=meeteimayek' => 'Blk/MeeteiMa',
@@ -764,6 +781,7 @@
'blk=miscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
'blk=miscellaneoussymbols' => 'Blk/Miscella',
'blk=miscellaneoussymbolsandarrows' => 'Blk/Miscell3',
+ 'blk=miscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
'blk=miscellaneoustechnical' => 'Blk/Miscell2',
'blk=modifiertoneletters' => 'Blk/Modifier',
'blk=mongolian' => 'Blk/Mongolia',
@@ -788,6 +806,7 @@
'blk=phoenician' => 'Blk/Phoenici',
'blk=phoneticextensions' => 'Blk/Phonetic',
'blk=phoneticextensionssupplement' => 'Blk/Phoneti2',
+ 'blk=playingcards' => 'Blk/PlayingC',
'blk=privateuse' => 'Blk/PrivateU',
'blk=privateusearea' => 'Blk/PrivateU',
'blk=rejang' => 'Blk/Rejang',
@@ -823,6 +842,7 @@
'blk=thai' => 'Blk/Thai',
'blk=tibetan' => 'Blk/Tibetan',
'blk=tifinagh' => 'Blk/Tifinagh',
+ 'blk=transportandmapsymbols' => 'Blk/Transpor',
'blk=ugaritic' => 'Blk/Ugaritic',
'blk=unifiedcanadianaboriginalsyllabics' => 'Blk/Canadian',
'blk=unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UnifiedC',
@@ -839,6 +859,8 @@
'bopomofo' => 'Sc/Bopo',
'bopomofoextended' => 'Blk/Bopomof2',
'boxdrawing' => 'Blk/BoxDrawi',
+ 'brah' => 'Sc/Brah',
+ 'brahmi' => 'Sc/Brah',
'brai' => 'Blk/BrailleP',
'braille' => 'Blk/BrailleP',
'braillepatterns' => 'Blk/BrailleP',
@@ -944,6 +966,7 @@
'cjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
'cjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
'cjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
+ 'cjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
'closepunctuation' => 'Gc/Pe',
'cn' => 'Gc/Cn',
'cntrl' => 'Gc/Cc',
@@ -1136,6 +1159,7 @@
'ea=wide' => 'Ea/W',
'egyp' => 'Sc/Egyp',
'egyptianhieroglyphs' => 'Sc/Egyp',
+ 'emoticons' => 'Blk/Emoticon',
'enclosedalphanumerics' => 'Blk/Enclosed',
'enclosedalphanumericsupplement' => 'Blk/Enclose4',
'enclosedcjklettersandmonths' => 'Blk/Enclose2',
@@ -1144,7 +1168,8 @@
'ethi' => 'Sc/Ethi',
'ethiopic' => 'Sc/Ethi',
'ethiopicextended' => 'Blk/Ethiopi2',
- 'ethiopicsupplement' => 'Blk/Ethiopi3',
+ 'ethiopicextendeda' => 'Blk/Ethiopi3',
+ 'ethiopicsupplement' => 'Blk/Ethiopi4',
'ext' => 'Ext/Y',
'ext=f' => 'Ext/N',
'ext=false' => 'Ext/N',
@@ -1188,7 +1213,7 @@
'gc=lm' => 'Gc/Lm',
'gc=lo' => 'Gc/Lo',
'gc=lowercaseletter' => 'Gc/Ll',
- 'gc=lt' => 'Gc/Lt',
+ 'gc=lt' => 'Perl/Title',
'gc=lu' => 'Gc/Lu',
'gc=m' => 'Gc/M',
'gc=mark' => 'Gc/M',
@@ -1232,7 +1257,7 @@
'gc=spacingmark' => 'Gc/Mc',
'gc=surrogate' => 'Gc/Cs',
'gc=symbol' => 'Gc/S',
- 'gc=titlecaseletter' => 'Gc/Lt',
+ 'gc=titlecaseletter' => 'Perl/Title',
'gc=unassigned' => 'Gc/Cn',
'gc=uppercaseletter' => 'Gc/Lu',
'gc=z' => 'Gc/Z',
@@ -1267,7 +1292,7 @@
'gothic' => 'Sc/Goth',
'graph' => 'Perl/Graph',
'graphemebase' => 'GrBase/Y',
- 'graphemeextend' => 'GrExt/Y',
+ 'graphemeextend' => 'GCB/EX',
'grbase' => 'GrBase/Y',
'grbase=f' => 'GrBase/N',
'grbase=false' => 'GrBase/N',
@@ -1281,15 +1306,15 @@
'greekandcoptic' => 'Blk/Greek',
'greekextended' => 'Blk/GreekExt',
'grek' => 'Sc/Grek',
- 'grext' => 'GrExt/Y',
+ 'grext' => 'GCB/EX',
'grext=f' => 'GrExt/N',
'grext=false' => 'GrExt/N',
'grext=n' => 'GrExt/N',
'grext=no' => 'GrExt/N',
- 'grext=t' => 'GrExt/Y',
- 'grext=true' => 'GrExt/Y',
- 'grext=y' => 'GrExt/Y',
- 'grext=yes' => 'GrExt/Y',
+ 'grext=t' => 'GCB/EX',
+ 'grext=true' => 'GCB/EX',
+ 'grext=y' => 'GCB/EX',
+ 'grext=yes' => 'GCB/EX',
'gujarati' => 'Sc/Gujr',
'gujr' => 'Sc/Gujr',
'gurmukhi' => 'Sc/Guru',
@@ -1398,6 +1423,7 @@
'imperialaramaic' => 'Sc/Armi',
'in=unassigned' => 'Age/Unassign',
'inaegeannumbers' => 'Blk/AegeanNu',
+ 'inalchemicalsymbols' => 'Blk/Alchemic',
'inalphabeticpresentationforms' => 'Blk/Alphabet',
'inancientgreekmusicalnotation' => 'Blk/Ancient2',
'inancientgreeknumbers' => 'Blk/AncientG',
@@ -1412,12 +1438,15 @@
'inavestan' => 'Blk/Avestan',
'inbalinese' => 'Blk/Balinese',
'inbamum' => 'Blk/Bamum',
+ 'inbamumsupplement' => 'Blk/BamumSup',
'inbasiclatin' => 'Blk/ASCII',
+ 'inbatak' => 'Blk/Batak',
'inbengali' => 'Blk/Bengali',
'inblockelements' => 'Blk/BlockEle',
'inbopomofo' => 'Blk/Bopomofo',
'inbopomofoextended' => 'Blk/Bopomof2',
'inboxdrawing' => 'Blk/BoxDrawi',
+ 'inbrahmi' => 'Blk/Brahmi',
'inbraillepatterns' => 'Blk/BrailleP',
'inbuginese' => 'Blk/Buginese',
'inbuhid' => 'Blk/Buhid',
@@ -1437,6 +1466,7 @@
'incjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
'incjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
'incjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
+ 'incjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
'incombiningdiacriticalmarks' => 'Blk/Combini3',
'incombiningdiacriticalmarksforsymbols' => 'Blk/Combini2',
'incombiningdiacriticalmarkssupplement' => 'Blk/Combini4',
@@ -1461,13 +1491,15 @@
'indingbats' => 'Blk/Dingbats',
'indominotiles' => 'Blk/DominoTi',
'inegyptianhieroglyphs' => 'Blk/Egyptian',
+ 'inemoticons' => 'Blk/Emoticon',
'inenclosedalphanumerics' => 'Blk/Enclosed',
'inenclosedalphanumericsupplement' => 'Blk/Enclose4',
'inenclosedcjklettersandmonths' => 'Blk/Enclose2',
'inenclosedideographicsupplement' => 'Blk/Enclose3',
'inethiopic' => 'Blk/Ethiopic',
'inethiopicextended' => 'Blk/Ethiopi2',
- 'inethiopicsupplement' => 'Blk/Ethiopi3',
+ 'inethiopicextendeda' => 'Blk/Ethiopi3',
+ 'inethiopicsupplement' => 'Blk/Ethiopi4',
'ingeneralpunctuation' => 'Blk/GeneralP',
'ingeometricshapes' => 'Blk/Geometri',
'ingeorgian' => 'Blk/Georgian',
@@ -1499,6 +1531,7 @@
'initialpunctuation' => 'Gc/Pi',
'injavanese' => 'Blk/Javanese',
'inkaithi' => 'Blk/Kaithi',
+ 'inkanasupplement' => 'Blk/KanaSupp',
'inkanbun' => 'Blk/Kanbun',
'inkangxiradicals' => 'Blk/KangxiRa',
'inkannada' => 'Blk/Kannada',
@@ -1527,6 +1560,7 @@
'inlydian' => 'Blk/Lydian',
'inmahjongtiles' => 'Blk/MahjongT',
'inmalayalam' => 'Blk/Malayala',
+ 'inmandaic' => 'Blk/Mandaic',
'inmathematicalalphanumericsymbols' => 'Blk/Mathema2',
'inmathematicaloperators' => 'Blk/Mathemat',
'inmeeteimayek' => 'Blk/MeeteiMa',
@@ -1534,6 +1568,7 @@
'inmiscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
'inmiscellaneoussymbols' => 'Blk/Miscella',
'inmiscellaneoussymbolsandarrows' => 'Blk/Miscell3',
+ 'inmiscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
'inmiscellaneoustechnical' => 'Blk/Miscell2',
'inmodifiertoneletters' => 'Blk/Modifier',
'inmongolian' => 'Blk/Mongolia',
@@ -1558,6 +1593,7 @@
'inphoenician' => 'Blk/Phoenici',
'inphoneticextensions' => 'Blk/Phonetic',
'inphoneticextensionssupplement' => 'Blk/Phoneti2',
+ 'inplayingcards' => 'Blk/PlayingC',
'inprivateuse' => 'Blk/PrivateU',
'inprivateusearea' => 'Blk/PrivateU',
'inrejang' => 'Blk/Rejang',
@@ -1595,6 +1631,7 @@
'inthai' => 'Blk/Thai',
'intibetan' => 'Blk/Tibetan',
'intifinagh' => 'Blk/Tifinagh',
+ 'intransportandmapsymbols' => 'Blk/Transpor',
'inugaritic' => 'Blk/Ugaritic',
'inunifiedcanadianaboriginalsyllabics' => 'Blk/Canadian',
'inunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UnifiedC',
@@ -1609,6 +1646,7 @@
'ipaextensions' => 'Blk/IPAExten',
'isaegeannumbers' => 'Blk/AegeanNu',
'isahex' => 'AHex/Y',
+ 'isalchemicalsymbols' => 'Blk/Alchemic',
'isall' => 'Perl/Any',
'isalnum' => 'Perl/Alnum',
'isalpha' => 'Alpha/Y',
@@ -1636,7 +1674,10 @@
'isbalinese' => 'Sc/Bali',
'isbamu' => 'Sc/Bamu',
'isbamum' => 'Sc/Bamu',
+ 'isbamumsupplement' => 'Blk/BamumSup',
'isbasiclatin' => 'Blk/ASCII',
+ 'isbatak' => 'Sc/Batk',
+ 'isbatk' => 'Sc/Batk',
'isbeng' => 'Sc/Beng',
'isbengali' => 'Sc/Beng',
'isbidic' => 'BidiC/Y',
@@ -1649,6 +1690,8 @@
'isbopomofo' => 'Sc/Bopo',
'isbopomofoextended' => 'Blk/Bopomof2',
'isboxdrawing' => 'Blk/BoxDrawi',
+ 'isbrah' => 'Sc/Brah',
+ 'isbrahmi' => 'Sc/Brah',
'isbrai' => 'Blk/BrailleP',
'isbraille' => 'Blk/BrailleP',
'isbraillepatterns' => 'Blk/BrailleP',
@@ -1690,6 +1733,7 @@
'iscjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
'iscjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
'iscjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
+ 'iscjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
'isclosepunctuation' => 'Gc/Pe',
'iscn' => 'Gc/Cn',
'iscntrl' => 'Gc/Cc',
@@ -1748,6 +1792,7 @@
'isdsrt' => 'Blk/Deseret',
'isegyp' => 'Sc/Egyp',
'isegyptianhieroglyphs' => 'Sc/Egyp',
+ 'isemoticons' => 'Blk/Emoticon',
'isenclosedalphanumerics' => 'Blk/Enclosed',
'isenclosedalphanumericsupplement' => 'Blk/Enclose4',
'isenclosedcjklettersandmonths' => 'Blk/Enclose2',
@@ -1756,7 +1801,8 @@
'isethi' => 'Sc/Ethi',
'isethiopic' => 'Sc/Ethi',
'isethiopicextended' => 'Blk/Ethiopi2',
- 'isethiopicsupplement' => 'Blk/Ethiopi3',
+ 'isethiopicextendeda' => 'Blk/Ethiopi3',
+ 'isethiopicsupplement' => 'Blk/Ethiopi4',
'isext' => 'Ext/Y',
'isextender' => 'Ext/Y',
'isfinalpunctuation' => 'Gc/Pf',
@@ -1773,13 +1819,13 @@
'isgothic' => 'Sc/Goth',
'isgraph' => 'Perl/Graph',
'isgraphemebase' => 'GrBase/Y',
- 'isgraphemeextend' => 'GrExt/Y',
+ 'isgraphemeextend' => 'GCB/EX',
'isgrbase' => 'GrBase/Y',
'isgreek' => 'Sc/Grek',
'isgreekandcoptic' => 'Blk/Greek',
'isgreekextended' => 'Blk/GreekExt',
'isgrek' => 'Sc/Grek',
- 'isgrext' => 'GrExt/Y',
+ 'isgrext' => 'GCB/EX',
'isgujarati' => 'Sc/Gujr',
'isgujr' => 'Sc/Gujr',
'isgurmukhi' => 'Sc/Guru',
@@ -1831,6 +1877,7 @@
'iskaithi' => 'Sc/Kthi',
'iskali' => 'Blk/KayahLi',
'iskana' => 'Sc/Kana',
+ 'iskanasupplement' => 'Blk/KanaSupp',
'iskanbun' => 'Blk/Kanbun',
'iskangxiradicals' => 'Blk/KangxiRa',
'iskannada' => 'Sc/Knda',
@@ -1882,7 +1929,7 @@
'islowercase' => 'Lower/Y',
'islowercaseletter' => 'Gc/Ll',
'islowsurrogates' => 'Blk/LowSurro',
- 'islt' => 'Gc/Lt',
+ 'islt' => 'Perl/Title',
'islu' => 'Gc/Lu',
'islyci' => 'Sc/Lyci',
'islycian' => 'Sc/Lyci',
@@ -1891,6 +1938,8 @@
'ism' => 'Gc/M',
'ismahjongtiles' => 'Blk/MahjongT',
'ismalayalam' => 'Sc/Mlym',
+ 'ismand' => 'Sc/Mand',
+ 'ismandaic' => 'Sc/Mand',
'ismark' => 'Gc/M',
'ismath' => 'Math/Y',
'ismathematicalalphanumericsymbols' => 'Blk/Mathema2',
@@ -1903,6 +1952,7 @@
'ismiscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
'ismiscellaneoussymbols' => 'Blk/Miscella',
'ismiscellaneoussymbolsandarrows' => 'Blk/Miscell3',
+ 'ismiscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
'ismiscellaneoustechnical' => 'Blk/Miscell2',
'ismlym' => 'Sc/Mlym',
'ismn' => 'Gc/Mn',
@@ -1986,6 +2036,7 @@
'isphoneticextensions' => 'Blk/Phonetic',
'isphoneticextensionssupplement' => 'Blk/Phoneti2',
'ispi' => 'Gc/Pi',
+ 'isplayingcards' => 'Blk/PlayingC',
'ispo' => 'Gc/Po',
'isposixalnum' => 'Perl/PosixAln',
'isposixalpha' => 'Perl/PosixAlp',
@@ -1998,6 +2049,8 @@
'isposixpunct' => 'Perl/PosixPun',
'isposixspace' => 'Perl/PosixSpa',
'isposixupper' => 'Perl/PosixUpp',
+ 'isposixword' => 'Perl/PerlWord',
+ 'isposixxdigit' => 'AHex/Y',
'isprint' => 'Perl/Print',
'isprivateuse' => 'Gc/Co',
'isprivateusearea' => 'Blk/PrivateU',
@@ -2080,8 +2133,10 @@
'istibetan' => 'Sc/Tibt',
'istibt' => 'Sc/Tibt',
'istifinagh' => 'Sc/Tfng',
- 'istitle' => 'Gc/Lt',
- 'istitlecaseletter' => 'Gc/Lt',
+ 'istitle' => 'Perl/Title',
+ 'istitlecase' => 'Perl/Title',
+ 'istitlecaseletter' => 'Perl/Title',
+ 'istransportandmapsymbols' => 'Blk/Transpor',
'isugar' => 'Sc/Ugar',
'isugaritic' => 'Sc/Ugar',
'isuideo' => 'UIdeo/Y',
@@ -2111,6 +2166,20 @@
'isxids' => 'XIDS/Y',
'isxidstart' => 'XIDS/Y',
'isxpeo' => 'Sc/Xpeo',
+ 'isxperlspace' => 'Perl/SpacePer',
+ 'isxposixalnum' => 'Perl/Alnum',
+ 'isxposixalpha' => 'Alpha/Y',
+ 'isxposixblank' => 'Perl/Blank',
+ 'isxposixcntrl' => 'Gc/Cc',
+ 'isxposixdigit' => 'Nt/De',
+ 'isxposixgraph' => 'Perl/Graph',
+ 'isxposixlower' => 'Lower/Y',
+ 'isxposixprint' => 'Perl/Print',
+ 'isxposixpunct' => 'Perl/XPosixPu',
+ 'isxposixspace' => 'Space/Y',
+ 'isxposixupper' => 'Upper/Y',
+ 'isxposixword' => 'Perl/Word',
+ 'isxposixxdigit' => 'Hex/Y',
'isxsux' => 'Sc/Xsux',
'isyi' => 'Sc/Yi',
'isyiii' => 'Sc/Yi',
@@ -2143,7 +2212,7 @@
'jg=gaf' => 'Jg/Gaf',
'jg=gamal' => 'Jg/Gamal',
'jg=hah' => 'Jg/Hah',
- 'jg=hamzaonhehgoal' => 'Jg/HamzaOnH',
+ 'jg=hamzaonhehgoal' => 'Jg/TehMarb2',
'jg=he' => 'Jg/He',
'jg=heh' => 'Jg/Heh',
'jg=hehgoal' => 'Jg/HehGoal',
@@ -2175,6 +2244,7 @@
'jg=tah' => 'Jg/Tah',
'jg=taw' => 'Jg/Taw',
'jg=tehmarbuta' => 'Jg/TehMarbu',
+ 'jg=tehmarbutagoal' => 'Jg/TehMarb2',
'jg=teth' => 'Jg/Teth',
'jg=waw' => 'Jg/Waw',
'jg=yeh' => 'Jg/Yeh',
@@ -2209,6 +2279,7 @@
'kaithi' => 'Sc/Kthi',
'kali' => 'Blk/KayahLi',
'kana' => 'Sc/Kana',
+ 'kanasupplement' => 'Blk/KanaSupp',
'kanbun' => 'Blk/Kanbun',
'kangxiradicals' => 'Blk/KangxiRa',
'kannada' => 'Sc/Knda',
@@ -2346,7 +2417,7 @@
'lowercase' => 'Lower/Y',
'lowercaseletter' => 'Gc/Ll',
'lowsurrogates' => 'Blk/LowSurro',
- 'lt' => 'Gc/Lt',
+ 'lt' => 'Perl/Title',
'lu' => 'Gc/Lu',
'lyci' => 'Sc/Lyci',
'lycian' => 'Sc/Lyci',
@@ -2355,6 +2426,8 @@
'm' => 'Gc/M',
'mahjongtiles' => 'Blk/MahjongT',
'malayalam' => 'Sc/Mlym',
+ 'mand' => 'Sc/Mand',
+ 'mandaic' => 'Sc/Mand',
'mark' => 'Gc/M',
'math' => 'Math/Y',
'math=f' => 'Math/N',
@@ -2375,6 +2448,7 @@
'miscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
'miscellaneoussymbols' => 'Blk/Miscella',
'miscellaneoussymbolsandarrows' => 'Blk/Miscell3',
+ 'miscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
'miscellaneoustechnical' => 'Blk/Miscell2',
'mlym' => 'Sc/Mlym',
'mn' => 'Gc/Mn',
@@ -2574,6 +2648,7 @@
'phoneticextensions' => 'Blk/Phonetic',
'phoneticextensionssupplement' => 'Blk/Phoneti2',
'pi' => 'Gc/Pi',
+ 'playingcards' => 'Blk/PlayingC',
'po' => 'Gc/Po',
'posixalnum' => 'Perl/PosixAln',
'posixalpha' => 'Perl/PosixAlp',
@@ -2586,6 +2661,8 @@
'posixpunct' => 'Perl/PosixPun',
'posixspace' => 'Perl/PosixSpa',
'posixupper' => 'Perl/PosixUpp',
+ 'posixword' => 'Perl/PerlWord',
+ 'posixxdigit' => 'AHex/Y',
'print' => 'Perl/Print',
'privateuse' => 'Gc/Co',
'privateusearea' => 'Blk/PrivateU',
@@ -2664,10 +2741,14 @@
'sc=balinese' => 'Sc/Bali',
'sc=bamu' => 'Sc/Bamu',
'sc=bamum' => 'Sc/Bamu',
+ 'sc=batak' => 'Sc/Batk',
+ 'sc=batk' => 'Sc/Batk',
'sc=beng' => 'Sc/Beng',
'sc=bengali' => 'Sc/Beng',
'sc=bopo' => 'Sc/Bopo',
'sc=bopomofo' => 'Sc/Bopo',
+ 'sc=brah' => 'Sc/Brah',
+ 'sc=brahmi' => 'Sc/Brah',
'sc=brai' => 'Blk/BrailleP',
'sc=braille' => 'Blk/BrailleP',
'sc=bugi' => 'Sc/Bugi',
@@ -2755,6 +2836,8 @@
'sc=lydi' => 'Sc/Lydi',
'sc=lydian' => 'Sc/Lydi',
'sc=malayalam' => 'Sc/Mlym',
+ 'sc=mand' => 'Sc/Mand',
+ 'sc=mandaic' => 'Sc/Mand',
'sc=meeteimayek' => 'Sc/Mtei',
'sc=mlym' => 'Sc/Mlym',
'sc=mong' => 'Sc/Mong',
@@ -2920,8 +3003,10 @@
'tibetan' => 'Sc/Tibt',
'tibt' => 'Sc/Tibt',
'tifinagh' => 'Sc/Tfng',
- 'title' => 'Gc/Lt',
- 'titlecaseletter' => 'Gc/Lt',
+ 'title' => 'Perl/Title',
+ 'titlecase' => 'Perl/Title',
+ 'titlecaseletter' => 'Perl/Title',
+ 'transportandmapsymbols' => 'Blk/Transpor',
'ugar' => 'Sc/Ugar',
'ugaritic' => 'Sc/Ugar',
'uideo' => 'UIdeo/Y',
@@ -3022,6 +3107,20 @@
'xids=yes' => 'XIDS/Y',
'xidstart' => 'XIDS/Y',
'xpeo' => 'Sc/Xpeo',
+ 'xperlspace' => 'Perl/SpacePer',
+ 'xposixalnum' => 'Perl/Alnum',
+ 'xposixalpha' => 'Alpha/Y',
+ 'xposixblank' => 'Perl/Blank',
+ 'xposixcntrl' => 'Gc/Cc',
+ 'xposixdigit' => 'Nt/De',
+ 'xposixgraph' => 'Perl/Graph',
+ 'xposixlower' => 'Lower/Y',
+ 'xposixprint' => 'Perl/Print',
+ 'xposixpunct' => 'Perl/XPosixPu',
+ 'xposixspace' => 'Space/Y',
+ 'xposixupper' => 'Upper/Y',
+ 'xposixword' => 'Perl/Word',
+ 'xposixxdigit' => 'Hex/Y',
'xsux' => 'Sc/Xsux',
'yi' => 'Sc/Yi',
'yiii' => 'Sc/Yi',
@@ -3079,6 +3178,8 @@ $utf8::max_floating_slop = 0.001;
# the table, so as to avoid duplication, as many property names can map to the
# file, but we only need one entry for all of them.
%utf8::why_deprecated = (
+ 'Hyphen/N' => 'Supplanted by Line_Break property values; see www.unicode.org/reports/tr14',
+ 'Hyphen/Y' => 'Supplanted by Line_Break property values; see www.unicode.org/reports/tr14',
'Lb/SG' => 'Deprecated by Unicode because surrogates should never appear in well-formed text, and therefore shouldn\'t be the basis for line breaking',
'OAlpha/N' => 'Used by Unicode internally for generating the Alphabetic property (which should be used instead) and not intended to be used stand-alone',
'OAlpha/Y' => 'Used by Unicode internally for generating the Alphabetic property (which should be used instead) and not intended to be used stand-alone',
@@ -3098,4 +3199,63 @@ $utf8::max_floating_slop = 0.001;
'OUpper/Y' => 'Used by Unicode internally for generating the Uppercase property (which should be used instead) and not intended to be used stand-alone',
);
+# A few properties have different behavior under /i matching. This maps the
+# those to substitute files to use under /i.
+%utf8::caseless_equivalent = (
+ 'gc=ll' => 'Gc/LC',
+ 'gc=lowercaseletter' => 'Gc/LC',
+ 'gc=lt' => 'Gc/LC',
+ 'gc=lu' => 'Gc/LC',
+ 'gc=titlecaseletter' => 'Gc/LC',
+ 'gc=uppercaseletter' => 'Gc/LC',
+ 'isll' => 'Gc/LC',
+ 'islower' => 'Cased/Y',
+ 'islowercase' => 'Cased/Y',
+ 'islowercaseletter' => 'Gc/LC',
+ 'islt' => 'Gc/LC',
+ 'islu' => 'Gc/LC',
+ 'isposixlower' => 'Perl/PosixAlp',
+ 'isposixupper' => 'Perl/PosixAlp',
+ 'istitle' => 'Cased/Y',
+ 'istitlecase' => 'Cased/Y',
+ 'istitlecaseletter' => 'Gc/LC',
+ 'isupper' => 'Cased/Y',
+ 'isuppercase' => 'Cased/Y',
+ 'isuppercaseletter' => 'Gc/LC',
+ 'isxposixlower' => 'Cased/Y',
+ 'isxposixupper' => 'Cased/Y',
+ 'll' => 'Gc/LC',
+ 'lower' => 'Cased/Y',
+ 'lower=f' => 'Cased/N',
+ 'lower=false' => 'Cased/N',
+ 'lower=n' => 'Cased/N',
+ 'lower=no' => 'Cased/N',
+ 'lower=t' => 'Cased/Y',
+ 'lower=true' => 'Cased/Y',
+ 'lower=y' => 'Cased/Y',
+ 'lower=yes' => 'Cased/Y',
+ 'lowercase' => 'Cased/Y',
+ 'lowercaseletter' => 'Gc/LC',
+ 'lt' => 'Gc/LC',
+ 'lu' => 'Gc/LC',
+ 'posixlower' => 'Perl/PosixAlp',
+ 'posixupper' => 'Perl/PosixAlp',
+ 'title' => 'Cased/Y',
+ 'titlecase' => 'Cased/Y',
+ 'titlecaseletter' => 'Gc/LC',
+ 'upper' => 'Cased/Y',
+ 'upper=f' => 'Cased/N',
+ 'upper=false' => 'Cased/N',
+ 'upper=n' => 'Cased/N',
+ 'upper=no' => 'Cased/N',
+ 'upper=t' => 'Cased/Y',
+ 'upper=true' => 'Cased/Y',
+ 'upper=y' => 'Cased/Y',
+ 'upper=yes' => 'Cased/Y',
+ 'uppercase' => 'Cased/Y',
+ 'uppercaseletter' => 'Gc/LC',
+ 'xposixlower' => 'Cased/Y',
+ 'xposixupper' => 'Cased/Y',
+);
+
1;
diff --git a/Master/tlpkg/tlperl/lib/unicore/Index.txt b/Master/tlpkg/tlperl/lib/unicore/Index.txt
deleted file mode 100644
index e8167420626..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/Index.txt
+++ /dev/null
@@ -1,5376 +0,0 @@
-A WITH ACUTE, LATIN CAPITAL LETTER 00C1
-A WITH ACUTE, LATIN SMALL LETTER 00E1
-A WITH BREVE, LATIN SMALL LETTER 0103
-A WITH CARON, LATIN SMALL LETTER 01CE
-A WITH CIRCUMFLEX, LATIN CAPITAL LETTER 00C2
-A WITH CIRCUMFLEX, LATIN SMALL LETTER 00E2
-A WITH DIAERESIS, LATIN CAPITAL LETTER 00C4
-A WITH DIAERESIS, LATIN SMALL LETTER 00E4
-A WITH DOT ABOVE, LATIN SMALL LETTER 0227
-A WITH DOT BELOW, LATIN SMALL LETTER 1EA1
-A WITH DOUBLE GRAVE, LATIN SMALL LETTER 0201
-A WITH GRAVE, LATIN CAPITAL LETTER 00C0
-A WITH GRAVE, LATIN SMALL LETTER 00E0
-A WITH HOOK ABOVE, LATIN SMALL LETTER 1EA3
-A WITH INVERTED BREVE, LATIN SMALL LETTER 0203
-A WITH MACRON, LATIN SMALL LETTER 0101
-A WITH OGONEK, LATIN SMALL LETTER 0105
-A WITH RIGHT HALF RING, LATIN SMALL LETTER 1E9A
-A WITH RING ABOVE, LATIN CAPITAL LETTER 00C5
-A WITH RING ABOVE, LATIN SMALL LETTER 00E5
-A WITH RING BELOW, LATIN SMALL LETTER 1E01
-A WITH STROKE, LATIN CAPITAL LETTER 023A
-A WITH TILDE, LATIN CAPITAL LETTER 00C3
-A WITH TILDE, LATIN SMALL LETTER 00E3
-A, COMBINING LATIN SMALL LETTER 0363
-A, LATIN LETTER SMALL CAPITAL 1D00
-a, latin small letter script 0251
-A, LATIN SMALL LETTER TURNED 0250
-ABBREVIATION MARK, ARMENIAN 055F
-ABBREVIATION MARK, SYRIAC 070F
-ABBREVIATION SIGN, DEVANAGARI 0970
-Abbreviations, Squared Latin 3371
-Aboriginal Syllabics Extended, Unified Canadian 18B0
-Aboriginal Syllabics, Unified Canadian 1400
-ABOVE RIGHT, COMBINING COMMA 0315
-ABOVE RIGHT, COMBINING DOT 0358
-above, cedilla 0312
-ABOVE, COMBINING ALMOST EQUAL TO 034C
-ABOVE, COMBINING ANTICLOCKWISE ARROW 20D4
-ABOVE, COMBINING ASTERISK 20F0
-ABOVE, COMBINING BRIDGE 0346
-ABOVE, COMBINING CLOCKWISE ARROW 20D5
-ABOVE, COMBINING COMMA 0313
-above, combining counterclockwise arrow 20D4
-ABOVE, COMBINING DOT 0307
-ABOVE, COMBINING DOUBLE VERTICAL LINE 030E
-ABOVE, COMBINING FOUR DOTS 20DC
-ABOVE, COMBINING HOMOTHETIC 034B
-ABOVE, COMBINING HOOK 0309
-ABOVE, COMBINING LEFT ANGLE 031A
-ABOVE, COMBINING LEFT ARROW 20D6
-ABOVE, COMBINING LEFT HALF RING 0351
-ABOVE, COMBINING LEFT HARPOON 20D0
-ABOVE, COMBINING LEFT RIGHT ARROW 20E1
-ABOVE, COMBINING NOT TILDE 034A
-ABOVE, COMBINING REVERSED COMMA 0314
-ABOVE, COMBINING RIGHT ARROW 20D7
-ABOVE, COMBINING RIGHT ARROWHEAD 0350
-ABOVE, COMBINING RIGHT HALF RING 0357
-ABOVE, COMBINING RIGHT HARPOON 20D1
-ABOVE, COMBINING RING 030A
-ABOVE, COMBINING THREE DOTS 20DB
-ABOVE, COMBINING TURNED COMMA 0312
-ABOVE, COMBINING VERTICAL LINE 030D
-ABOVE, COMBINING WIDE BRIDGE 20E9
-ABOVE, COMBINING X 033D
-ABOVE, COMBINING ZIGZAG 035B
-ABOVE, DOT 02D9
-above, double dot 0308
-ABOVE, RING 02DA
-above, v 030C
-absolute continuity 2AA1
-absolute value 007C
-abstract syntax bracket, left 301A
-abstract syntax bracket, right 301B
-AC CURRENT 23E6
-ACCENT BELOW, COMBINING ACUTE 0317
-ACCENT BELOW, COMBINING CIRCUMFLEX 032D
-ACCENT BELOW, COMBINING GRAVE 0316
-ACCENT, ACUTE 00B4
-ACCENT, CIRCUMFLEX 005E
-ACCENT, COMBINING ACUTE 0301
-ACCENT, COMBINING CIRCUMFLEX 0302
-ACCENT, COMBINING DOUBLE ACUTE 030B
-ACCENT, COMBINING DOUBLE GRAVE 030F
-ACCENT, COMBINING GRAVE 0300
-ACCENT, DOUBLE ACUTE 02DD
-ACCENT, GRAVE 0060
-ACCENT, MODIFIER LETTER ACUTE 02CA
-ACCENT, MODIFIER LETTER CIRCUMFLEX 02C6
-ACCENT, MODIFIER LETTER CROSS 02DF
-ACCENT, MODIFIER LETTER GRAVE 02CB
-ACCENT, MODIFIER LETTER LOW ACUTE 02CF
-ACCENT, MODIFIER LETTER LOW GRAVE 02CE
-accent, spacing acute 00B4
-accent, spacing circumflex 005E
-accent, spacing grave 0060
-accent, swedish grave 02DF
-accident 26CC
-ACCOUNT OF 2100
-ACKNOWLEDGE 0006
-ACKNOWLEDGE, NEGATIVE 0015
-ACKNOWLEDGE, SYMBOL FOR 2406
-ACKNOWLEDGE, SYMBOL FOR NEGATIVE 2415
-acrophonic symbol three, epidaurean 205D
-actuarial bend 20E7
-ACUTE ACCENT 00B4
-ACUTE ACCENT BELOW, COMBINING 0317
-ACUTE ACCENT, COMBINING 0301
-ACUTE ACCENT, COMBINING DOUBLE 030B
-ACUTE ACCENT, DOUBLE 02DD
-ACUTE ACCENT, MODIFIER LETTER 02CA
-ACUTE ACCENT, MODIFIER LETTER LOW 02CF
-acute accent, spacing 00B4
-ACUTE TONE MARK, COMBINING 0341
-ADDAK, GURMUKHI 0A71
-ADDRESSED TO THE SUBJECT 2101
-ADI SHAKTI 262C
-AE, LATIN CAPITAL LETTER 00C6
-ae, latin capital ligature 00C6
-AE, LATIN LETTER SMALL CAPITAL 1D01
-AE, LATIN SMALL LETTER 00E6
-AE, LATIN SMALL LETTER TURNED 1D02
-ae, latin small ligature 00E6
-AEGEAN WORD SEPARATOR DOT 10101
-AEGEAN WORD SEPARATOR LINE 10100
-AESCULAPIUS, STAFF OF 2695
-AFGHANI SIGN 060B
-African Letters for Clicks 01C0
-AIN, LATIN LETTER 1D25
-Ainu, Katakana Extensions for 31F0
-AIRPLANE 2708
-AKTIESELSKAB 214D
-AL-LAKUNA, SINHALA SIGN 0DCA
-aldus leaf 2766
-ALEF SYMBOL 2135
-ALEMBIC 2697
-ALL AROUND-PROFILE 232E
-ALL EQUAL TO 224C
-ALL, FOR 2200
-ALMOST EQUAL TO 2248
-ALMOST EQUAL TO ABOVE, COMBINING 034C
-ALMOST EQUAL TO, NOT 2249
-ALPHA, LATIN SMALL LETTER 0251
-ALPHA, LATIN SMALL LETTER TURNED 0252
-Alphabetic Presentation Forms FB00
-Alphanumeric Supplement, Enclosed 1F100
-Alphanumeric Symbols, Mathematical 1D400
-Alphanumerics, Enclosed 2460
-alternating current 223F
-ALTERNATIVE KEY SYMBOL 2387
-ALVEOLAR CLICK, LATIN LETTER 01C2
-always 25FB
-AMPERSAND 0026
-AMPERSAND, TURNED 214B
-ANCHOR 2693
-ANCHOR, INTERLINEAR ANNOTATION FFF9
-AND, CURLY LOGICAL 22CF
-AND, LOGICAL 2227
-AND, N-ARY LOGICAL 22C0
-Ands and Ors, Logical 2A51
-ANGKHANKHU, THAI CHARACTER 0E5A
-ANGLE 2220
-ANGLE ABOVE, COMBINING LEFT 031A
-angle arc 2222
-ANGLE BELOW, COMBINING LEFT 0349
-ANGLE BRACKET, LEFT 3008
-ANGLE BRACKET, LEFT DOUBLE 300A
-ANGLE BRACKET, LEFT-POINTING 2329
-ANGLE BRACKET, MATHEMATICAL LEFT 27E8
-ANGLE BRACKET, MATHEMATICAL LEFT DOUBLE 27EA
-ANGLE BRACKET, MATHEMATICAL RIGHT 27E9
-ANGLE BRACKET, MATHEMATICAL RIGHT DOUBLE 27EB
-ANGLE BRACKET, RIGHT 3009
-ANGLE BRACKET, RIGHT DOUBLE 300B
-ANGLE BRACKET, RIGHT-POINTING 232A
-Angle Brackets, CJK 3008
-ANGLE QUOTATION MARK, LEFT-POINTING DOUBLE 00AB
-ANGLE QUOTATION MARK, RIGHT-POINTING DOUBLE 00BB
-ANGLE QUOTATION MARK, SINGLE LEFT-POINTING 2039
-ANGLE QUOTATION MARK, SINGLE RIGHT-POINTING 203A
-Angle Quotation Marks, Ornamental 276E
-ANGLE WITH ARC, RIGHT 22BE
-ANGLE, MEASURED 2221
-ANGLE, RIGHT 221F
-ANGLE, SPHERICAL 2222
-angled dash 00AC
-Angles 221F
-Angles and Measured Angles 299B
-ANGSTROM SIGN 212B
-ANKH 2625
-ANNOTATION ANCHOR, INTERLINEAR FFF9
-ANNOTATION SEPARATOR, INTERLINEAR FFFA
-Annotation Signs, Arabic Koranic 06D6
-Annotation Signs, Arabic Qur'anic 06D6
-ANNOTATION TERMINATOR, INTERLINEAR FFFB
-Annotation, Interlinear FFF9
-Annotation, Japanese Kanbun Ideographic 3190
-ANNUITY SYMBOL, COMBINING 20E7
-ano teleia, greek 00B7
-ANTICLOCKWISE ARROW ABOVE, COMBINING 20D4
-ANTICLOCKWISE CONTOUR INTEGRAL 2233
-ANTICLOCKWISE INTEGRATION 2A11
-ANTICLOCKWISE RING OVERLAY, COMBINING 20DA
-antisigma, claudian 2183
-anunasika, devanagari 0901
-ANUSVARA, DEVANAGARI SIGN 0902
-anusvara, khmer 17C6
-anusvara, tibetan 0F7E
-apl downstile 230A
-APL Functional Symbols 2336
-apl jot 2218
-apl overbar 00AF
-apl quote 0027
-apl stile 2223
-apl tilde 223C
-apl upstile 2308
-APOSTROPHE 0027
-apostrophe 2019
-APOSTROPHE, ARMENIAN 055A
-APOSTROPHE, MODIFIER LETTER 02BC
-APOSTROPHE, MODIFIER LETTER DOUBLE 02EE
-apostrophe, neutral 02BC
-apostrophe-quote 0027
-apostrophic c 2183
-APPLICATION PROGRAM COMMAND 009F
-APPLICATION, FUNCTION 2061
-APPROACHES THE LIMIT 2250
-APPROXIMATELY EQUAL TO 2245
-approximately equal to 2257
-AQUARIUS 2652
-Arabian, Old South 10A60
-Arabic 0600
-Arabic Alphabet 0621
-Arabic Combining Marks 0653
-ARABIC COMMA 060C
-Arabic Contextual Form Glyphs FB50
-Arabic Contextual Form Glyphs FE80
-ARABIC DATE SEPARATOR 060D
-ARABIC DECIMAL SEPARATOR 066B
-Arabic Extensions 0671
-ARABIC FULL STOP 06D4
-Arabic Harakat 064B
-Arabic Honorifics 0610
-arabic kashida 0640
-Arabic Koranic Annotation Signs 06D6
-arabic letter hamzah on ha 06C0
-ARABIC LETTER HEH WITH YEH ABOVE 06C0
-Arabic Letters, Extended 0671
-Arabic Letters, Extended 0750
-ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM FDFD
-Arabic Ligatures FBEA
-arabic phrase separator 066C
-Arabic Points, Glyphs for Spacing Forms of FE70
-Arabic Presentation Forms-A FB50
-Arabic Presentation Forms-B FE70
-Arabic Punctuation 060C
-ARABIC QUESTION MARK 061F
-Arabic Qur'anic Annotation Signs 06D6
-ARABIC SEMICOLON 061B
-Arabic Subtending Marks 0600
-Arabic Supplement 0750
-ARABIC TATWEEL 0640
-ARABIC THOUSANDS SEPARATOR 066C
-Arabic-Indic Digits 0660
-Arabic-Indic Digits, Eastern 06F0
-Aramaic, Imperial 10840
-ARC 2312
-arc, angle 2222
-ARC, RIGHT ANGLE WITH 22BE
-ARCH BELOW, COMBINING INVERTED DOUBLE 032B
-Arcs 25DC
-Area, Asian Scripts AC00
-Area, CJK Ideographs 3400
-Area, CJK Phonetics and Symbols 2E80
-Area, Compatibility and Specials F900
-Area, General Scripts 0000
-Area, Korean Hangul Syllables AC00
-Area, Private Use E000
-Area, Supplementary CJK Ideographs 20000
-Area, Supplementary General Scripts 10000
-Area, Surrogates D800
-Area, Symbols 2000
-Area-A, Supplementary Private Use FFF80
-Area-B, Supplementary Private Use 10FF80
-argentinian former currency 20B3
-ARIES 2648
-ARMENIAN ABBREVIATION MARK 055F
-Armenian Alphabet 0530
-ARMENIAN APOSTROPHE 055A
-armenian batsaganchakan nshan 055C
-armenian bowt 055D
-Armenian Capital Letters 0531
-ARMENIAN COMMA 055D
-ARMENIAN EMPHASIS MARK 055B
-ARMENIAN EXCLAMATION MARK 055C
-ARMENIAN FULL STOP 0589
-armenian hartsakan nshan 055E
-ARMENIAN HYPHEN 058A
-Armenian Ligatures FB13
-armenian patiw 055F
-ARMENIAN QUESTION MARK 055E
-armenian shesht 055B
-Armenian Small Letters 0561
-armenian vertsaket 0589
-armenian yentamna 058A
-ARROW ABOVE, COMBINING ANTICLOCKWISE 20D4
-ARROW ABOVE, COMBINING CLOCKWISE 20D5
-arrow above, combining counterclockwise 20D4
-ARROW ABOVE, COMBINING LEFT 20D6
-ARROW ABOVE, COMBINING LEFT RIGHT 20E1
-ARROW ABOVE, COMBINING RIGHT 20D7
-ARROW BELOW, COMBINING DOUBLE RIGHTWARDS 0362
-ARROW BELOW, COMBINING LEFT 20EE
-ARROW BELOW, COMBINING LEFT RIGHT 034D
-ARROW BELOW, COMBINING RIGHT 20EF
-ARROW BELOW, COMBINING UPWARDS 034E
-Arrow Dingbats 2794
-arrow indicator, backward 25C5
-arrow indicator, forward 25BB
-ARROW OVERLAY, COMBINING LEFTWARDS 20EA
-ARROW, DOWNWARDS 2193
-ARROW, ELECTRIC 2301
-ARROW, LEFTWARDS 2190
-ARROW, RIGHTWARDS 2192
-ARROW, UPWARDS 2191
-ARROWHEAD ABOVE, COMBINING RIGHT 0350
-ARROWHEAD BELOW, COMBINING LEFT 0354
-ARROWHEAD BELOW, COMBINING RIGHT 0355
-ARROWHEAD, DOWN 2304
-ARROWHEAD, UP 2303
-Arrowheads, Modifier Letter 02C2
-Arrows 2190
-Arrows, Dingbat 2794
-Arrows, Double 21CD
-Arrows, Long 27F5
-Arrows, Mathematical 2B30
-Arrows, Miscellaneous 2B00
-Arrows-A Supplement 27F0
-Arrows-B, Supplemental 2900
-ASCENDING NODE 260A
-ASCII C0 Control Codes 0000
-ASCII Digits 0030
-ASCII Punctuation and Symbols 0020
-ASCII Variants, Fullwidth FF01
-ash 00E6
-Asian Scripts Area AC00
-ASSERTION 22A6
-ASTERISK 002A
-ASTERISK ABOVE, COMBINING 20F0
-ASTERISK BELOW, COMBINING 0359
-Asterisk Dingbats 2722
-ASTERISK OPERATOR 2217
-ASTERISK OPERATOR, CIRCLED 229B
-ASTERISK, LOW 204E
-Asterisks 2722
-ASTERISKS ALIGNED VERTICALLY, TWO 2051
-ASTERISM 2042
-Astrological Signs 26B3
-Astrological Signs, Tibetan 0F15
-Astrological Symbols 263D
-Astrological Symbols, Weather and 2600
-asymptotic to 2248
-ASYMPTOTICALLY EQUAL TO 2243
-ASYMPTOTICALLY EQUAL TO, NOT 2244
-at sign 0040
-AT, COMMERCIAL 0040
-ATOM SYMBOL 269B
-AUSTRAL SIGN 20B3
-AVAGRAHA, DEVANAGARI SIGN 093D
-Avestan 10B00
-aytham, tamil 0B83
-B WITH DOT ABOVE, LATIN SMALL LETTER 1E03
-B WITH DOT BELOW, LATIN SMALL LETTER 1E05
-B WITH HOOK, LATIN CAPITAL LETTER 0181
-B WITH HOOK, LATIN SMALL LETTER 0253
-B WITH LINE BELOW, LATIN SMALL LETTER 1E07
-B WITH STROKE, LATIN CAPITAL LETTER 0243
-B WITH STROKE, LATIN SMALL LETTER 0180
-B WITH TOPBAR, LATIN SMALL LETTER 0183
-B, LATIN LETTER SMALL CAPITAL 0299
-B, LATIN LETTER SMALL CAPITAL BARRED 1D03
-B, SCRIPT CAPITAL 212C
-baby gamma, latin small letter 0264
-backslash 005C
-BACKSLASH, COMBINING ENCLOSING CIRCLE 20E0
-BACKSPACE 0008
-BACKSPACE, SYMBOL FOR 2408
-backward arrow indicator 25C5
-backward difference 2207
-BACKWARD, PARTIAL LINE 008C
-bag addition 228E
-bag bracket, left 27E6
-bag bracket, right 27E7
-bag count, infix 266F
-BAG MEMBERSHIP, Z NOTATION 22FF
-bag subtraction 2A41
-BAHT, THAI CURRENCY SYMBOL 0E3F
-Balinese 1B00
-Balinese Digits 1B50
-Balinese Musical Symbols 1B61
-BALLOT BOX 2610
-BALLOT BOX WITH CHECK 2611
-BALLOT BOX WITH X 2612
-BALLOT X 2717
-BALLOT X, HEAVY 2718
-Bamum A6A0
-bang 0021
-Bar Dingbats, Vertical 2758
-Bar Symbols, Error 29EE
-BAR, BROKEN 00A6
-BAR, HORIZONTAL 2015
-bar, vertical 007C
-BAR, WHITE VERTICAL 2AFE
-BARRED B, LATIN LETTER SMALL CAPITAL 1D03
-barred o, latin capital letter 019F
-BARRED O, LATIN SMALL LETTER 0275
-base 22A5
-BASEBALL 26BE
-batsaganchakan nshan, armenian 055C
-battleground symbol 2694
-beach, bathing 26F1
-BEAMED EIGHTH NOTES 266B
-BEAMED SIXTEENTH NOTES 266C
-BECAUSE 2235
-BELL 0007
-BELL SYMBOL 237E
-BELL, SYMBOL FOR 2407
-BELOW, COMBINING ACUTE ACCENT 0317
-BELOW, COMBINING ASTERISK 0359
-BELOW, COMBINING BREVE 032E
-BELOW, COMBINING BRIDGE 032A
-BELOW, COMBINING CARON 032C
-BELOW, COMBINING CIRCUMFLEX ACCENT 032D
-BELOW, COMBINING COMMA 0326
-BELOW, COMBINING DIAERESIS 0324
-BELOW, COMBINING DOT 0323
-BELOW, COMBINING DOUBLE BREVE 035C
-BELOW, COMBINING DOUBLE MACRON 035F
-BELOW, COMBINING DOUBLE RIGHTWARDS ARROW 0362
-BELOW, COMBINING DOUBLE RING 035A
-BELOW, COMBINING DOUBLE VERTICAL LINE 0348
-BELOW, COMBINING DOWN TACK 031E
-BELOW, COMBINING EQUALS SIGN 0347
-BELOW, COMBINING GRAVE ACCENT 0316
-BELOW, COMBINING INVERTED BREVE 032F
-BELOW, COMBINING INVERTED BRIDGE 033A
-BELOW, COMBINING INVERTED DOUBLE ARCH 032B
-BELOW, COMBINING LEFT ANGLE 0349
-BELOW, COMBINING LEFT ARROW 20EE
-BELOW, COMBINING LEFT ARROWHEAD 0354
-BELOW, COMBINING LEFT HALF RING 031C
-BELOW, COMBINING LEFT RIGHT ARROW 034D
-BELOW, COMBINING LEFT TACK 0318
-BELOW, COMBINING MACRON 0331
-BELOW, COMBINING MINUS SIGN 0320
-BELOW, COMBINING PALATALIZED HOOK 0321
-BELOW, COMBINING PLUS SIGN 031F
-BELOW, COMBINING RETROFLEX HOOK 0322
-BELOW, COMBINING RIGHT ARROW 20EF
-BELOW, COMBINING RIGHT ARROWHEAD 0355
-BELOW, COMBINING RIGHT HALF RING 0339
-BELOW, COMBINING RIGHT TACK 0319
-BELOW, COMBINING RING 0325
-BELOW, COMBINING SEAGULL 033C
-BELOW, COMBINING SQUARE 033B
-BELOW, COMBINING TILDE 0330
-BELOW, COMBINING UP TACK 031D
-BELOW, COMBINING UPWARDS ARROW 034E
-BELOW, COMBINING VERTICAL LINE 0329
-BELOW, COMBINING X 0353
-BELT, LATIN SMALL LETTER L WITH 026C
-bend, actuarial 20E7
-Bengali 0980
-Bengali Consonants 0995
-Bengali Currency Signs 09F2
-Bengali Dependent Vowel Signs 09BE
-Bengali Digits 09E6
-bengali hasant 09CD
-Bengali Independent Vowels 0985
-BENGALI ISSHAR 09FA
-BENGALI RUPEE MARK 09F2
-BENGALI RUPEE SIGN 09F3
-BENZENE RING 232C
-bernoulli function 212C
-BET SYMBOL 2136
-BETA SYMBOL, GREEK 03D0
-beta, curled 03D0
-BETWEEN 226C
-BEVERAGE, HOT 2615
-Bidirectional Format Characters 202A
-Big 5, Duplicate Characters from FA0C
-BIG REVERSE SOLIDUS 29F9
-BIG SOLIDUS 29F8
-bijection 2916
-BILABIAL CLICK, LATIN LETTER 0298
-BILABIAL PERCUSSIVE, LATIN LETTER 02AC
-bindu, devanagari 0902
-BIOHAZARD SIGN 2623
-BIRGA, MONGOLIAN 1800
-BISMILLAH AR-RAHMAN AR-RAHEEM, ARABIC LIGATURE FDFD
-BLACK CIRCLE 25CF
-BLACK CIRCLE, MEDIUM 26AB
-BLACK FLAG 2691
-BLACK HOURGLASS 29D7
-BLACK LEFT POINTING INDEX 261A
-BLACK LEFTWARDS BULLET 204C
-BLACK LENTICULAR BRACKET, LEFT 3010
-BLACK LENTICULAR BRACKET, RIGHT 3011
-BLACK LOZENGE 29EB
-BLACK MEDIUM SMALL SQUARE 25FE
-BLACK MEDIUM SQUARE 25FC
-BLACK NIB 2712
-BLACK PARALLELOGRAM 25B0
-BLACK RIGHT POINTING INDEX 261B
-BLACK RIGHTWARDS BULLET 204D
-BLACK SCISSORS 2702
-BLACK SHOGI PIECE 2617
-black small circle 2022
-BLACK SMILING FACE 263B
-BLACK STAR 2605
-BLACK SUN WITH RAYS 2600
-BLACK TELEPHONE 260E
-BLACK-LETTER CAPITAL C 212D
-BLACK-LETTER CAPITAL H 210C
-BLACK-LETTER CAPITAL I 2111
-BLACK-LETTER CAPITAL R 211C
-BLACK-LETTER CAPITAL Z 2128
-Black-letter Mathematical Symbols 1D504
-BLANK SYMBOL 2422
-Block Elements 2580
-BLOCK, END OF TRANSMISSION 0017
-BLOCK, FULL 2588
-BLOCK, SYMBOL FOR END OF TRANSMISSION 2417
-boat terminal 26F4
-Bohairic Coptic 2C80
-Bold Digits 1D7CE
-Bold Digits, Sans-serif 1D7EC
-Bold Fraktur Mathematical Symbols 1D56C
-Bold Greek Mathematical Symbols 1D6A8
-Bold Greek Mathematical Symbols, Sans-serif 1D756
-Bold Italic Greek Mathematical Symbols 1D71C
-Bold Italic Greek Mathematical Symbols, Sans-serif 1D790
-Bold Italic Mathematical Symbols 1D468
-Bold Italic Mathematical Symbols, Sans-serif 1D63C
-Bold Mathematical Symbols 1D400
-Bold Mathematical Symbols, Sans-serif 1D5D4
-Bold Script Mathematical Symbols 1D4D0
-bom FEFF
-Bopomofo Extensions, Chinese 31A0
-Bopomofo, Chinese 3100
-bottom 22A5
-bowt, armenian 055D
-BOWTIE 22C8
-Bowtie Symbols 29D1
-bowtie, large 2A1D
-bowtie, vertical 29D6
-Box Drawing 2500
-BOX WITH CHECK, BALLOT 2611
-BOX WITH X, BALLOT 2612
-BOX, BALLOT 2610
-BOX, OPEN 2423
-BOX, SHOULDERED OPEN 237D
-BOX, X IN A RECTANGLE 2327
-bra 27E8
-brace, closing 007D
-brace, opening 007B
-Bracket Pieces 239B
-Bracket Pieces 23B0
-Bracket Variants for Vertical Text 23DC
-BRACKET WITH QUILL, LEFT SQUARE 2045
-BRACKET WITH QUILL, RIGHT SQUARE 2046
-bracket, closing curly 007D
-bracket, closing square 005D
-bracket, left abstract syntax 301A
-BRACKET, LEFT ANGLE 3008
-bracket, left bag 27E6
-BRACKET, LEFT BLACK LENTICULAR 3010
-bracket, left chevron 27EA
-BRACKET, LEFT CORNER 300C
-BRACKET, LEFT CURLY 007B
-BRACKET, LEFT DOUBLE ANGLE 300A
-bracket, left sequence 27E8
-BRACKET, LEFT SQUARE 005B
-BRACKET, LEFT TORTOISE SHELL 3014
-BRACKET, LEFT WHITE CORNER 300E
-BRACKET, LEFT WHITE CURLY 2983
-BRACKET, LEFT WHITE LENTICULAR 3016
-BRACKET, LEFT WHITE SQUARE 301A
-BRACKET, LEFT WHITE TORTOISE SHELL 3018
-BRACKET, LEFT-POINTING ANGLE 2329
-BRACKET, MATHEMATICAL LEFT ANGLE 27E8
-BRACKET, MATHEMATICAL LEFT DOUBLE ANGLE 27EA
-BRACKET, MATHEMATICAL RIGHT ANGLE 27E9
-BRACKET, MATHEMATICAL RIGHT DOUBLE ANGLE 27EB
-bracket, opening curly 007B
-bracket, opening square 005B
-bracket, right abstract syntax 301B
-BRACKET, RIGHT ANGLE 3009
-bracket, right bag 27E7
-BRACKET, RIGHT BLACK LENTICULAR 3011
-bracket, right chevron 27EB
-BRACKET, RIGHT CORNER 300D
-BRACKET, RIGHT CURLY 007D
-BRACKET, RIGHT DOUBLE ANGLE 300B
-bracket, right sequence 27E9
-BRACKET, RIGHT SQUARE 005D
-BRACKET, RIGHT TORTOISE SHELL 3015
-BRACKET, RIGHT WHITE CORNER 300F
-BRACKET, RIGHT WHITE CURLY 2984
-BRACKET, RIGHT WHITE LENTICULAR 3017
-BRACKET, RIGHT WHITE SQUARE 301B
-BRACKET, RIGHT WHITE TORTOISE SHELL 3019
-BRACKET, RIGHT-POINTING ANGLE 232A
-Brackets 2983
-Brackets, CJK Angle 3008
-Brackets, CJK Corner 300C
-Brackets, Corner 2308
-Brackets, Mathematical 27E6
-Brackets, Ornamental 2768
-Brackets, Vertical 23B4
-Braille Patterns 2800
-brazilian currency 20A2
-BREAK HERE, NO 0083
-BREAK PERMITTED HERE 0082
-breathing mark, greek rough 0314
-breathing mark, greek smooth 0313
-BREVE 02D8
-BREVE BELOW, COMBINING 032E
-BREVE BELOW, COMBINING DOUBLE 035C
-BREVE BELOW, COMBINING INVERTED 032F
-BREVE, COMBINING 0306
-BREVE, COMBINING DOUBLE 035D
-BREVE, COMBINING DOUBLE INVERTED 0361
-BREVE, COMBINING INVERTED 0311
-BRIDGE ABOVE, COMBINING 0346
-BRIDGE ABOVE, COMBINING WIDE 20E9
-BRIDGE BELOW, COMBINING 032A
-BRIDGE BELOW, COMBINING INVERTED 033A
-BROKEN BAR 00A6
-broken vertical bar 00A6
-Buginese 1A00
-Buhid 1740
-BULLET 2022
-BULLET OPERATOR 2219
-BULLET, BLACK LEFTWARDS 204C
-BULLET, BLACK RIGHTWARDS 204D
-BULLET, HYPHEN 2043
-BULLET, REVERSED ROTATED FLORAL HEART 2619
-bullet, tainome japanese 25C9
-BULLET, TRIANGULAR 2023
-BULLET, WHITE 25E6
-BULLSEYE 25CE
-bullseye, latin letter 0298
-buried symbol 26B0
-Burmese 1000
-by definition, equal to 225C
-BY DEFINITION, EQUAL TO 225D
-BY, MEASURED 225E
-byte order mark FEFF
-Byzantine Musical Symbols 1D000
-C WITH ACUTE, LATIN SMALL LETTER 0107
-C WITH CARON, LATIN SMALL LETTER 010D
-C WITH CEDILLA, LATIN CAPITAL LETTER 00C7
-C WITH CEDILLA, LATIN SMALL LETTER 00E7
-C WITH CIRCUMFLEX, LATIN SMALL LETTER 0109
-C WITH CURL, LATIN SMALL LETTER 0255
-C WITH DOT ABOVE, LATIN SMALL LETTER 010B
-C WITH HOOK, LATIN SMALL LETTER 0188
-C WITH STROKE, LATIN CAPITAL LETTER 023B
-C WITH STROKE, LATIN SMALL LETTER 023C
-c, apostrophic 2183
-C, BLACK-LETTER CAPITAL 212D
-C, COMBINING LATIN SMALL LETTER 0368
-C, DOUBLE-STRUCK CAPITAL 2102
-C, LATIN LETTER SMALL CAPITAL 1D04
-C, LATIN LETTER STRETCHED 0297
-C, LATIN SMALL LETTER REVERSED 2184
-C0 Control Codes, ASCII 0000
-C1 Control Codes 0080
-CADA UNA 2106
-CADUCEUS 2624
-Cambodian 1780
-camping site 26FA
-Canadian Aboriginal Syllabics Extended, Unified 18B0
-Canadian Aboriginal Syllabics, Unified 1400
-CANADIAN SYLLABICS FULL STOP 166E
-Canadian Syllabics Punctuation 166D
-CANCEL 0018
-CANCEL CHARACTER 0094
-CANCEL TAG E007F
-CANCEL, SYMBOL FOR 2418
-CANCELLATION MARK, LAO 0ECC
-CANCER 264B
-CANDRABINDU, COMBINING 0310
-CANDRABINDU, DEVANAGARI SIGN 0901
-Cantillation Marks, Hebrew 0591
-Cantillation Signs, Tibetan 0FC0
-cap 2229
-CAP, SQUARE 2293
-Capital Letters, Armenian 0531
-Capital Letters, Cyrillic 0400
-Capital Letters, Georgian 10A0
-Capital Letters, Greek 0391
-Capital Letters, Latin 0041
-CAPRICORN 2651
-caps lock 21EA
-caps lock 21EC
-CAR SLIDING 26D0
-CAR, DISABLED 26CD
-Card Suits, Playing 2660
-cardinal, first transfinite 2135
-cardinal, fourth transfinite 2138
-cardinal, second transfinite 2136
-cardinal, third transfinite 2137
-CARE OF 2105
-caret 028C
-CARET 2038
-CARET INSERTION POINT 2041
-Carian 102A0
-CARON 02C7
-CARON BELOW, COMBINING 032C
-CARON, COMBINING 030C
-CARRIAGE RETURN 000D
-CARRIAGE RETURN, SYMBOL FOR 240D
-cartesian product 00D7
-CASTLE 26EB
-CAUTION SIGN 2621
-CEDI SIGN 20B5
-CEDILLA 00B8
-cedilla above 0312
-CEDILLA, COMBINING 0327
-CEDILLA, LATIN CAPITAL LETTER C WITH 00C7
-CEDILLA, LATIN SMALL LETTER C WITH 00E7
-cedilla, spacing 00B8
-CEILING, LEFT 2308
-CEILING, RIGHT 2309
-CELSIUS, DEGREE 2103
-cemetery 26FC
-CENT SIGN 00A2
-center 2385
-centigrade, degrees 2103
-CENTRE LINE SYMBOL 2104
-CENTRELINE LOW LINE FE4E
-CENTRELINE OVERLINE FE4A
-cgj 034F
-CHAINS 26D3
-Cham AA00
-chandrakkala, malayalam 0D4D
-CHARACTER INTRODUCER, SINGLE 009A
-CHARACTER TABULATION 0009
-CHARACTER TABULATION SET 0088
-CHARACTER TABULATION WITH JUSTIFICATION 0089
-CHARACTER TIE 2040
-Chart Components, Form and 2500
-CHECK MARK 2713
-CHECK MARK, HEAVY 2714
-CHECK MARK, NOT 237B
-CHECK, BALLOT BOX WITH 2611
-Checkers, Symbols for Draughts and 26C0
-Cherokee 13A0
-Chess Symbols 2654
-Chess Symbols, Japanese 2616
-chevron bracket, left 27EA
-chevron bracket, right 27EB
-chevrons 00AB
-CHI RHO 2627
-Chillu Letters, Malayalam 0D7A
-Chinese Bopomofo 3100
-Chinese Bopomofo Extensions 31A0
-chinese fifth or neutral tone, mandarin 02D9
-chinese first tone, mandarin 02C9
-chinese fourth tone, mandarin 02CB
-chinese second tone, mandarin 02CA
-chinese third tone, mandarin 02C7
-Chinese, Corner Tone Marks for A700
-choice, dijkstra 2AFE
-choice, n-ary dijkstra 2AFF
-christogram 2627
-CHURCH 26EA
-CIRCLE BACKSLASH, COMBINING ENCLOSING 20E0
-Circle Signs, Heavy 2B55
-Circle Symbols 29B5
-CIRCLE, BLACK 25CF
-circle, black small 2022
-CIRCLE, COMBINING ENCLOSING 20DD
-CIRCLE, DOTTED 25CC
-circle, jis composition 20DD
-CIRCLE, LARGE 25EF
-CIRCLE, MEDIUM BLACK 26AB
-CIRCLE, MEDIUM SMALL WHITE 26AC
-CIRCLE, MEDIUM WHITE 26AA
-CIRCLE, SHADOWED WHITE 274D
-CIRCLE, WHITE 25CB
-CIRCLED ASTERISK OPERATOR 229B
-CIRCLED CROSSING LANES 26D2
-CIRCLED DASH 229D
-CIRCLED DIGIT ZERO 24EA
-Circled Digits, Dingbat 2776
-CIRCLED DIVISION SIGN 2A38
-CIRCLED DIVISION SLASH 2298
-CIRCLED DOT OPERATOR 2299
-CIRCLED DOT OPERATOR, N-ARY 2A00
-CIRCLED EQUALS 229C
-Circled Ideographs 3280
-Circled Inverse Numbers 2776
-Circled Katakana 32D0
-Circled Korean Hangul Letters 3260
-Circled Korean Hangul Syllables 326E
-Circled Latin Letters 1F12B
-Circled Latin Letters 24B6
-CIRCLED MINUS 2296
-Circled Numbers 2460
-Circled Numbers 3251
-Circled Numbers 32B1
-Circled Numbers, Double 24F5
-Circled Numbers, White on Black 24EB
-CIRCLED PLUS 2295
-CIRCLED PLUS OPERATOR, N-ARY 2A01
-CIRCLED POSTAL MARK 3036
-CIRCLED RING OPERATOR 229A
-CIRCLED TIMES 2297
-CIRCLED TIMES OPERATOR, N-ARY 2A02
-Circles 25CB
-CIRCUMFLEX ACCENT 005E
-CIRCUMFLEX ACCENT BELOW, COMBINING 032D
-CIRCUMFLEX ACCENT, COMBINING 0302
-CIRCUMFLEX ACCENT, MODIFIER LETTER 02C6
-circumflex accent, spacing 005E
-CJK Angle Brackets 3008
-CJK Compatibility 3300
-CJK Compatibility Forms FE30
-CJK Compatibility Ideographs F900
-CJK Compatibility Ideographs Supplement 2F800
-CJK Corner Brackets 300C
-CJK Diacritics 302A
-CJK Ideographic Description Characters 2FF0
-CJK Ideographs Area 3400
-CJK Ideographs Area, Supplementary 20000
-CJK Ideographs, Parenthesized 3220
-CJK Kangxi Radicals 2F00
-CJK Letters and Months, Enclosed 3200
-CJK Phonetics and Symbols Area 2E80
-CJK Punctuation, Halfwidth FF61
-CJK Quotation Marks 300C
-CJK Radicals Supplement 2E80
-CJK Strokes 31C0
-CJK Symbols and Punctuation 3000
-CJK Unified Ideographs 4E00
-CJK Unified Ideographs Extension A 3400
-CJK Unified Ideographs Extension B 20000
-CJK Unified Ideographs Extension C 2A700
-claudian antisigma 2183
-claudian digamma inversum 2132
-clear key 2327
-CLEAR SCREEN SYMBOL 239A
-clear weather 2600
-CLICK, LATIN LETTER ALVEOLAR 01C2
-CLICK, LATIN LETTER BILABIAL 0298
-CLICK, LATIN LETTER DENTAL 01C0
-CLICK, LATIN LETTER LATERAL 01C1
-CLICK, LATIN LETTER RETROFLEX 01C3
-Clicks, African Letters for 01C0
-CLOCKWISE ARROW ABOVE, COMBINING 20D5
-CLOCKWISE CONTOUR INTEGRAL 2232
-CLOCKWISE INTEGRAL 2231
-CLOCKWISE RING OVERLAY, COMBINING 20D9
-clone 2104
-Clones of Diacritics, Spacing 02D8
-CLOSE UP 2050
-closed epsilon, latin small letter 029A
-CLOSED OMEGA, LATIN SMALL LETTER 0277
-CLOSED OPEN E, LATIN SMALL LETTER 029A
-closed reversed epsilon, latin small letter 025E
-CLOSED REVERSED OPEN E, LATIN SMALL LETTER 025E
-closing brace 007D
-closing curly bracket 007D
-CLOSING MARK, IDEOGRAPHIC 3006
-closing parenthesis 0029
-closing square bracket 005D
-CLOUD 2601
-cloudy weather 2601
-cloudy, partly 26C5
-CNS 11643-1992, Duplicate Characters from 2F800
-coffee, cup of 2615
-COFFIN 26B0
-COLON 003A
-COLON EQUALS 2254
-colon right arrow 29F4
-COLON SIGN 20A1
-COLON, EQUALS 2255
-COLON, ETHIOPIC 1365
-COLON, ETHIOPIC PREFACE 1366
-COLON, MODIFIER LETTER HALF TRIANGULAR 02D1
-COLON, MODIFIER LETTER TRIANGULAR 02D0
-COLON, MONGOLIAN 1804
-COLON, Z NOTATION TYPE 2982
-COMBINING ACUTE ACCENT 0301
-COMBINING ACUTE ACCENT BELOW 0317
-COMBINING ACUTE TONE MARK 0341
-COMBINING ALMOST EQUAL TO ABOVE 034C
-Combining Alphabet, Korean Hangul Jamo 1100
-COMBINING ANNUITY SYMBOL 20E7
-COMBINING ANTICLOCKWISE ARROW ABOVE 20D4
-COMBINING ANTICLOCKWISE RING OVERLAY 20DA
-COMBINING ASTERISK ABOVE 20F0
-COMBINING ASTERISK BELOW 0359
-COMBINING BREVE 0306
-COMBINING BREVE BELOW 032E
-COMBINING BRIDGE ABOVE 0346
-COMBINING BRIDGE BELOW 032A
-COMBINING CANDRABINDU 0310
-COMBINING CARON 030C
-COMBINING CARON BELOW 032C
-COMBINING CEDILLA 0327
-Combining Characters, Cyrillic 0483
-COMBINING CIRCUMFLEX ACCENT 0302
-COMBINING CIRCUMFLEX ACCENT BELOW 032D
-COMBINING CLOCKWISE ARROW ABOVE 20D5
-COMBINING CLOCKWISE RING OVERLAY 20D9
-COMBINING COMMA ABOVE 0313
-COMBINING COMMA ABOVE RIGHT 0315
-COMBINING COMMA BELOW 0326
-COMBINING CONJOINING MACRON FE26
-combining counterclockwise arrow above 20D4
-combining counterclockwise ring overlay 20DA
-Combining Diacritical Marks 0300
-Combining Diacritical Marks for Symbols 20D0
-COMBINING DIAERESIS 0308
-COMBINING DIAERESIS BELOW 0324
-COMBINING DOT ABOVE 0307
-COMBINING DOT ABOVE RIGHT 0358
-COMBINING DOT BELOW 0323
-COMBINING DOUBLE ACUTE ACCENT 030B
-COMBINING DOUBLE BREVE 035D
-COMBINING DOUBLE BREVE BELOW 035C
-COMBINING DOUBLE GRAVE ACCENT 030F
-COMBINING DOUBLE INVERTED BREVE 0361
-COMBINING DOUBLE LOW LINE 0333
-COMBINING DOUBLE MACRON 035E
-COMBINING DOUBLE MACRON BELOW 035F
-COMBINING DOUBLE OVERLINE 033F
-COMBINING DOUBLE RIGHTWARDS ARROW BELOW 0362
-COMBINING DOUBLE RING BELOW 035A
-COMBINING DOUBLE TILDE 0360
-COMBINING DOUBLE VERTICAL LINE ABOVE 030E
-COMBINING DOUBLE VERTICAL LINE BELOW 0348
-COMBINING DOUBLE VERTICAL STROKE OVERLAY 20E6
-COMBINING DOWN TACK BELOW 031E
-COMBINING ENCLOSING CIRCLE 20DD
-COMBINING ENCLOSING CIRCLE BACKSLASH 20E0
-COMBINING ENCLOSING DIAMOND 20DF
-COMBINING ENCLOSING KEYCAP 20E3
-COMBINING ENCLOSING SCREEN 20E2
-COMBINING ENCLOSING SQUARE 20DE
-COMBINING ENCLOSING UPWARD POINTING TRIANGLE 20E4
-COMBINING EQUALS SIGN BELOW 0347
-COMBINING FERMATA 0352
-COMBINING FOUR DOTS ABOVE 20DC
-COMBINING GRAPHEME JOINER 034F
-COMBINING GRAVE ACCENT 0300
-COMBINING GRAVE ACCENT BELOW 0316
-COMBINING GRAVE TONE MARK 0340
-COMBINING GREEK DIALYTIKA TONOS 0344
-COMBINING GREEK KORONIS 0343
-COMBINING GREEK PERISPOMENI 0342
-COMBINING GREEK YPOGEGRAMMENI 0345
-combining hacek 030C
-Combining Half Marks FE20
-COMBINING HOMOTHETIC ABOVE 034B
-COMBINING HOOK ABOVE 0309
-COMBINING HORN 031B
-COMBINING INVERTED BREVE 0311
-COMBINING INVERTED BREVE BELOW 032F
-COMBINING INVERTED BRIDGE BELOW 033A
-COMBINING INVERTED DOUBLE ARCH BELOW 032B
-combining japanese daku-on 3099
-combining japanese han-daku-on 309A
-Combining Latin Small Letters 0363
-COMBINING LEFT ANGLE ABOVE 031A
-COMBINING LEFT ANGLE BELOW 0349
-COMBINING LEFT ARROW ABOVE 20D6
-COMBINING LEFT ARROW BELOW 20EE
-COMBINING LEFT ARROWHEAD BELOW 0354
-COMBINING LEFT HALF RING ABOVE 0351
-COMBINING LEFT HALF RING BELOW 031C
-COMBINING LEFT HARPOON ABOVE 20D0
-COMBINING LEFT RIGHT ARROW ABOVE 20E1
-COMBINING LEFT RIGHT ARROW BELOW 034D
-COMBINING LEFT TACK BELOW 0318
-COMBINING LEFTWARDS ARROW OVERLAY 20EA
-COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS 20ED
-COMBINING LONG DOUBLE SOLIDUS OVERLAY 20EB
-COMBINING LONG SOLIDUS OVERLAY 0338
-COMBINING LONG STROKE OVERLAY 0336
-COMBINING LONG VERTICAL LINE OVERLAY 20D2
-COMBINING LOW LINE 0332
-COMBINING MACRON 0304
-COMBINING MACRON BELOW 0331
-COMBINING MACRON LEFT HALF FE24
-COMBINING MACRON RIGHT HALF FE25
-Combining Marks, Arabic 0653
-COMBINING MINUS SIGN BELOW 0320
-COMBINING NOT TILDE ABOVE 034A
-COMBINING OGONEK 0328
-COMBINING OVERLINE 0305
-COMBINING PALATALIZED HOOK BELOW 0321
-COMBINING PLUS SIGN BELOW 031F
-COMBINING RETROFLEX HOOK BELOW 0322
-COMBINING REVERSE SOLIDUS OVERLAY 20E5
-COMBINING REVERSED COMMA ABOVE 0314
-COMBINING RIGHT ARROW ABOVE 20D7
-COMBINING RIGHT ARROW BELOW 20EF
-COMBINING RIGHT ARROWHEAD ABOVE 0350
-COMBINING RIGHT ARROWHEAD BELOW 0355
-COMBINING RIGHT HALF RING ABOVE 0357
-COMBINING RIGHT HALF RING BELOW 0339
-COMBINING RIGHT HARPOON ABOVE 20D1
-COMBINING RIGHT TACK BELOW 0319
-COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS 20EC
-COMBINING RING ABOVE 030A
-COMBINING RING BELOW 0325
-COMBINING RING OVERLAY 20D8
-COMBINING SEAGULL BELOW 033C
-COMBINING SHORT SOLIDUS OVERLAY 0337
-COMBINING SHORT STROKE OVERLAY 0335
-COMBINING SHORT VERTICAL LINE OVERLAY 20D3
-COMBINING SQUARE BELOW 033B
-COMBINING THREE DOTS ABOVE 20DB
-COMBINING TILDE 0303
-COMBINING TILDE BELOW 0330
-COMBINING TILDE OVERLAY 0334
-COMBINING TRIPLE UNDERDOT 20E8
-COMBINING TURNED COMMA ABOVE 0312
-COMBINING UP TACK BELOW 031D
-COMBINING UPWARDS ARROW BELOW 034E
-COMBINING VERTICAL LINE ABOVE 030D
-COMBINING VERTICAL LINE BELOW 0329
-COMBINING VERTICAL TILDE 033E
-COMBINING WIDE BRIDGE ABOVE 20E9
-COMBINING X ABOVE 033D
-COMBINING X BELOW 0353
-COMBINING ZIGZAG ABOVE 035B
-COMET 2604
-COMMA 002C
-COMMA ABOVE RIGHT, COMBINING 0315
-COMMA ABOVE, COMBINING 0313
-COMMA ABOVE, COMBINING REVERSED 0314
-COMMA ABOVE, COMBINING TURNED 0312
-COMMA BELOW, COMBINING 0326
-comma quotation mark, double 201D
-comma quotation mark, double reversed 201F
-comma quotation mark, double turned 201C
-comma quotation mark, low double 201E
-comma quotation mark, low single 201A
-comma quotation mark, single 2019
-comma quotation mark, single reversed 201B
-comma quotation mark, single turned 2018
-COMMA, ARABIC 060C
-COMMA, ARMENIAN 055D
-COMMA, ETHIOPIC 1363
-comma, georgian 00B7
-COMMA, IDEOGRAPHIC 3001
-comma, invisible 2063
-COMMA, MODIFIER LETTER REVERSED 02BD
-COMMA, MODIFIER LETTER TURNED 02BB
-COMMA, MONGOLIAN 1802
-COMMA, MONGOLIAN MANCHU 1808
-command key 2318
-COMMAND, APPLICATION PROGRAM 009F
-COMMAND, OPERATING SYSTEM 009D
-COMMERCIAL AT 0040
-COMMERCIAL MINUS SIGN 2052
-compass 263C
-Compatibility and Specials Area F900
-Compatibility Forms, CJK FE30
-Compatibility Ideographs Supplement, CJK 2F800
-Compatibility Ideographs, CJK F900
-Compatibility Ideographs, DPRK FA70
-Compatibility Ideographs, JIS X 0213 FA30
-Compatibility Jamo, Korean Hangul 3130
-Compatibility, CJK 3300
-COMPLEMENT 2201
-complex numbers 2102
-component, radial 27DF
-Components, Form and Chart 2500
-composite function 2218
-composition circle, jis 20DD
-COMPOSITION SYMBOL 2384
-concatenation, sequence 2040
-CONICAL TAPER 2332
-CONJOINING MACRON, COMBINING FE26
-CONJUGATE MATRIX, HERMITIAN 22B9
-conjunction 2227
-CONJUNCTION 260C
-constant pi, mathematical 03C0
-CONSTANT, EULER 2107
-CONSTANT, PLANCK 210E
-constantine's cross 2627
-construction 26CF
-CONTAINS AS MEMBER 220B
-CONTAINS AS MEMBER, SMALL 220D
-CONTAINS AS NORMAL SUBGROUP 22B3
-Contextual Form Glyphs, Arabic FB50
-Contextual Form Glyphs, Arabic FE80
-continuity, absolute 2AA1
-CONTINUOUS UNDERLINE SYMBOL 2381
-continuum, second transfinite cardinal 2136
-CONTOUR INTEGRAL 222E
-CONTOUR INTEGRAL, ANTICLOCKWISE 2233
-CONTOUR INTEGRAL, CLOCKWISE 2232
-contour integral, counterclockwise 2233
-contraction operator 20E9
-control 2388
-Control Code Graphics, Quadrant 25F0
-Control Codes, ASCII C0 0000
-Control Codes, C0 0000
-Control Codes, C1 0080
-Control Codes, Graphic Pictures for 2400
-Control Codes, Graphics for 237D
-CONTROL SEQUENCE INTRODUCER 009B
-Controls, Bidirectional Format 202A
-Controls, Mongolian Format 180B
-coproduct sign 2210
-COPRODUCT, N-ARY 2210
-Coptic Letters Derived from Demotic 03E2
-Coptic, Bohairic 2C80
-Coptic, Continuous Macrons for FE24
-Coptic, Extended 2CB2
-COPYRIGHT SIGN 00A9
-COPYRIGHT, SOUND RECORDING 2117
-Corner Brackets 2308
-Corner Brackets, CJK 300C
-Corner Tone Marks for Chinese A700
-Corners, Quine 231C
-CORRESPONDS TO 2258
-corresponds to 2259
-costa rican currency 20A1
-countable, first transfinite cardinal 2135
-COUNTERBORE 2334
-counterclockwise arrow above, combining 20D4
-counterclockwise contour integral 2233
-counterclockwise integration 2A11
-counterclockwise ring overlay, combining 20DA
-COUNTERSINK 2335
-cr 000D
-CREDIT SIGN, TAMIL 0BF7
-cremated symbol 26B1
-CRESCENT, STAR AND 262A
-Croatian Digraphs Matching Serbian Cyrillic Letters 01C4
-Crops 230C
-CROSS ACCENT, MODIFIER LETTER 02DF
-Cross Dingbats 2719
-CROSS OF JERUSALEM 2629
-CROSS OF LORRAINE 2628
-cross ratio 211E
-cross, constantine's 2627
-CROSS, DOTTED 205C
-CROSS, EAST SYRIAC 2671
-CROSS, LATIN 271D
-cross, long 2020
-CROSS, MALTESE 2720
-CROSS, ORTHODOX 2626
-cross, st. andrew's 2613
-CROSS, WEST SYRIAC 2670
-CROSSED SWORDS 2694
-Crosses 2719
-crosshatch 0023
-CRUZEIRO SIGN 20A2
-Cryptogrammic Letters 2CEB
-CUBE ROOT 221B
-cubed 00B3
-Cuneiform 12000
-Cuneiform Numbers and Punctuation 12400
-cup 222A
-cup of coffee 2615
-cup of tea 2615
-CUP ON BLACK SQUARE 26FE
-CUP, SQUARE 2294
-curled beta 03D0
-curly bracket, closing 007D
-CURLY BRACKET, LEFT 007B
-CURLY BRACKET, LEFT WHITE 2983
-curly bracket, opening 007B
-CURLY BRACKET, RIGHT 007D
-CURLY BRACKET, RIGHT WHITE 2984
-CURLY LOGICAL AND 22CF
-CURLY LOGICAL OR 22CE
-CURRENCY SIGN 00A4
-Currency Signs, Bengali 09F2
-CURRENCY SYMBOL BAHT, THAI 0E3F
-CURRENCY SYMBOL RIEL, KHMER 17DB
-currency symbol, florin 0192
-Currency Symbols 20A0
-currency, argentinian former 20B3
-currency, brazilian 20A2
-currency, costa rican 20A1
-currency, el salvadorian 20A1
-currency, euro european 20AC
-currency, french 20A3
-currency, ghana 20B5
-currency, greek 20AF
-currency, indian 20A8
-currency, iranian FDFC
-currency, israeli 20AA
-currency, italian 20A4
-currency, korean 20A9
-currency, laotian 20AD
-currency, mongolian 20AE
-currency, nigerian 20A6
-currency, paraguayan 20B2
-currency, phillipine 20B1
-currency, spanish 20A7
-currency, turkish 20A4
-currency, ukrainian 20B4
-currency, vietnamese 20AB
-CURRENT SYMBOL FORM TWO, DIRECT 2393
-CURRENT, AC 23E6
-current, alternating 223F
-cursor down, fast 21A1
-cursor left, fast 219E
-cursor right, fast 21A0
-cursor up, fast 219F
-cycle 223C
-CYLINDRICITY 232D
-Cypriot Syllabary 10800
-Cyrillic 0400
-Cyrillic Capital Letters 0400
-Cyrillic Combining Characters 0483
-Cyrillic Extended-A 2DE0
-Cyrillic Extended-B A640
-Cyrillic Extensions 0450
-Cyrillic Extensions 048A
-Cyrillic Historic Letters 0460
-Cyrillic Small Letters 0430
-Cyrillic Supplement 0500
-d retroflex hook, latin small letter 0256
-D WITH CARON, LATIN SMALL LETTER 010F
-D WITH CEDILLA, LATIN SMALL LETTER 1E11
-D WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER 1E13
-D WITH CURL, LATIN SMALL LETTER 0221
-D WITH DOT ABOVE, LATIN SMALL LETTER 1E0B
-D WITH DOT BELOW, LATIN SMALL LETTER 1E0D
-D WITH HOOK, LATIN CAPITAL LETTER 018A
-D WITH HOOK, LATIN SMALL LETTER 0257
-D WITH LINE BELOW, LATIN SMALL LETTER 1E0F
-D WITH STROKE, LATIN SMALL LETTER 0111
-D WITH TAIL, LATIN SMALL LETTER 0256
-D WITH TOPBAR, LATIN SMALL LETTER 018C
-d'alembertian 29E0
-D, COMBINING LATIN SMALL LETTER 0369
-D, DOUBLE-STRUCK ITALIC CAPITAL 2145
-D, DOUBLE-STRUCK ITALIC SMALL 2146
-D, LATIN CAPITAL LETTER AFRICAN 0189
-D, LATIN LETTER SMALL CAPITAL 1D05
-DAGGER 2020
-DAGGER, DOUBLE 2021
-daku-on, combining japanese 3099
-daku-on, japanese 309B
-DALET SYMBOL 2138
-DANDA, DEVANAGARI 0964
-DANDA, DEVANAGARI DOUBLE 0965
-dash, angled 00AC
-DASH, CIRCLED 229D
-DASH, EM 2014
-DASH, EN 2013
-DASH, FIGURE 2012
-dash, quotation 2015
-DASH, SWUNG 2053
-DASH, WAVE 301C
-DASH, WAVY 3030
-DASHED LOW LINE FE4D
-DASHED OVERLINE FE49
-Dashes 2010
-dasia, greek 0314
-DATA LINK ESCAPE 0010
-DATA LINK ESCAPE, SYMBOL FOR 2410
-Database Theory Operators 27D5
-DAVID, STAR OF 2721
-DAY SIGN, TAMIL 0BF3
-Days, Ideographic Telegraph Symbols for 33E0
-DB DIGRAPH, LATIN SMALL LETTER 0238
-DEBIT SIGN, TAMIL 0BF6
-DECIMAL EXPONENT SYMBOL 23E8
-decimal point 002E
-decimal separator 002C
-DECIMAL SEPARATOR KEY SYMBOL 2396
-DECIMAL SEPARATOR, ARABIC 066B
-deergh viram, devanagari 0965
-DEGREE CELSIUS 2103
-DEGREE FAHRENHEIT 2109
-DEGREE SIGN 00B0
-degrees centigrade 2103
-del 2207
-DELETE 007F
-DELETE FORM TWO, SYMBOL FOR 2425
-delete to the left key 232B
-delete to the right key 2326
-DELETE, SYMBOL FOR 2421
-DELTA EQUAL TO 225C
-DELTA, LATIN SMALL LETTER TURNED 018D
-Demotic, Coptic Letters Derived from 03E2
-DENTAL CLICK, LATIN LETTER 01C0
-Dentistry Notation Symbols 23BE
-depth symbol 21A7
-derivative 0307
-derivative, double 0308
-derivative, fourth 20DC
-derivative, third 20DB
-DESCENDING NODE 260B
-Deseret 10400
-Devanagari 0900
-devanagari bindu 0902
-Devanagari Consonants 0915
-DEVANAGARI DANDA 0964
-devanagari deergh viram 0965
-Devanagari Dependent Vowel Signs 093E
-Devanagari Digits 0966
-DEVANAGARI DOUBLE DANDA 0965
-Devanagari Extended A8E0
-Devanagari Extensions 0951
-Devanagari Independent Vowels 0904
-DEVANAGARI OM 0950
-devanagari purna viram 0964
-DEVANAGARI SIGN ANUSVARA 0902
-DEVANAGARI SIGN AVAGRAHA 093D
-DEVANAGARI SIGN CANDRABINDU 0901
-DEVANAGARI SIGN NUKTA 093C
-DEVANAGARI SIGN VIRAMA 094D
-DEVANAGARI SIGN VISARGA 0903
-Device Controls 0011
-Device Controls, Symbols for 2411
-DHARMA, WHEEL OF 2638
-diacritic, finite function 20E6
-Diacritical Marks for Symbols, Combining 20D0
-Diacritical Marks, Combining 0300
-Diacritics for Greek 0342
-Diacritics for IPA 0346
-Diacritics for Uralic Phonetic Alphabet 0350
-Diacritics, CJK 302A
-Diacritics, Double 035C
-Diacritics, Enclosing 20DD
-Diacritics, Medieval Superscript Letter 0363
-Diacritics, Ordinary 0300
-Diacritics, Overstruck 0334
-Diacritics, Spacing Clones of 02D8
-DIAERESIS 00A8
-DIAERESIS BELOW, COMBINING 0324
-DIAERESIS, COMBINING 0308
-diaeresis, spacing 00A8
-DIAGONAL ELLIPSIS, DOWN RIGHT 22F1
-DIAGONAL ELLIPSIS, UP RIGHT 22F0
-DIALYTIKA TONOS, COMBINING GREEK 0344
-dialytika, greek 0308
-DIAMETER SIGN 2300
-DIAMOND OPERATOR 22C4
-DIAMOND, COMBINING ENCLOSING 20DF
-Diamonds 25C6
-Diamonds and Lozenges 2B25
-Dice 2680
-Dictionary and Map Symbols 2690
-Dictionary Punctuation 2E1A
-diesis 2021
-difference between 223C
-DIFFERENCE BETWEEN 224F
-difference or sum, positive 2A24
-difference, backward 2207
-difference, forward 2206
-difference, sum or positive 2A26
-difference, symmetric 2206
-difference, symmetric 2238
-difference, symmetric 2296
-DIFFERENTIAL, PARTIAL 2202
-digamma inversum, claudian 2132
-DIGIT ZERO, CIRCLED 24EA
-Digits Minus Half, Tibetan 0F2A
-Digits Symbols, Mathematical 1D7CE
-Digits, Arabic-Indic 0660
-Digits, ASCII 0030
-Digits, Balinese 1B50
-Digits, Bengali 09E6
-Digits, Bold 1D7CE
-Digits, Devanagari 0966
-Digits, Dingbat Circled 2776
-Digits, Double-struck 1D7D8
-Digits, Eastern Arabic-Indic 06F0
-Digits, Ethiopic 1369
-Digits, Gujarati 0AE6
-Digits, Gurmukhi 0A66
-Digits, Kannada 0CE6
-Digits, Kharoshthi 10A40
-Digits, Khmer 17E0
-Digits, Lao 0ED0
-Digits, Limbu 1946
-Digits, Malayalam 0D66
-Digits, Mongolian 1810
-Digits, Monospace 1D7F6
-Digits, Myanmar 1040
-Digits, New Tai Lue 19D0
-Digits, Oriya 0B66
-Digits, Osmanya 104A0
-Digits, Sans-serif 1D7E2
-Digits, Sans-serif Bold 1D7EC
-Digits, Subscript 2080
-Digits, Superscript 2070
-Digits, Tamil 0BE7
-Digits, Telugu 0C66
-Digits, Thai 0E50
-Digits, Tibetan 0F20
-Digram Symbols, Yijing / I Ching Monogram and 268A
-Digraphs Matching Serbian Cyrillic Letters, Croatian 01C4
-Digraphs, Phonetic 02A3
-Digraphs, Yiddish 05F0
-dijkstra choice 2AFE
-dijkstra choice, n-ary 2AFF
-DIMENSION ORIGIN 2331
-Dingbat Arrows 2794
-Dingbat Circled Digits 2776
-Dingbats 2700
-Dingbats Series 100, ITC Zapf 2700
-Dingbats, Arrow 2794
-Dingbats, Asterisk 2722
-Dingbats, Cross 2719
-Dingbats, Drop-shadowed 274D
-Dingbats, Hazard 2620
-Dingbats, Heart 2763
-Dingbats, Miscellaneous 2600
-Dingbats, Music 2669
-Dingbats, Pencil 270E
-Dingbats, Pointing Index Finger 261A
-Dingbats, Quotation Mark 275B
-Dingbats, Scissors 2701
-Dingbats, Snowflake 2744
-Dingbats, Star 2726
-Dingbats, Vertical Bar 2758
-Dingbats, Warning 2620
-Dingbats, Weather 2600
-Dingbats, Zapf 2700
-DIRECT CURRENT SYMBOL FORM TWO 2393
-direct product 2299
-direct sum 2295
-Directional Format Characters 202A
-DIRECTIONAL FORMATTING, POP 202C
-DISCONTINUOUS UNDERLINE SYMBOL 2382
-discretionary hyphen 00AD
-disjunction 2228
-DITTO MARK 3003
-DIVIDES 2223
-Divination, Khmer Numeric Symbols for 17F0
-DIVISION SIGN 00F7
-Division Sign Operators, Multiplication and 2A2F
-DIVISION SIGN, CIRCLED 2A38
-DIVISION SLASH 2215
-DIVISION SLASH, CIRCLED 2298
-DIVISION TIMES 22C7
-DIVISION, LONG 27CC
-DIVORCE SYMBOL 26AE
-do not enter 26D4
-DOES NOT CONTAIN AS MEMBER 220C
-DOES NOT DIVIDE 2224
-DOES NOT EXIST, THERE 2204
-does not yield 22A3
-DOLLAR SIGN 0024
-domain restriction 25C1
-Domino Tiles 1F030
-DONG SIGN 20AB
-dot 002E
-DOT ABOVE 02D9
-DOT ABOVE RIGHT, COMBINING 0358
-DOT ABOVE, COMBINING 0307
-dot above, double 0308
-DOT BELOW, COMBINING 0323
-DOT BELOW, MYANMAR SIGN 1037
-DOT LEADER, ONE 2024
-dot leader, three 2026
-DOT LEADER, TWO 2025
-DOT MINUS 2238
-DOT OPERATOR 22C5
-DOT OPERATOR, CIRCLED 2299
-DOT OPERATOR, SQUARED 22A1
-DOT PLUS 2214
-DOT PUNCTUATION, FIVE 2059
-DOT PUNCTUATION, FOUR 2058
-DOT PUNCTUATION, THREE 2056
-DOT PUNCTUATION, TWO 205A
-dot, greek middle 00B7
-DOT, KATAKANA MIDDLE 30FB
-dot, latin capital letter i 0130
-DOT, MIDDLE 00B7
-DOT, SESAME FE45
-DOT, VERTICAL LINE WITH MIDDLE 237F
-DOT, WHITE SESAME FE46
-DOTLESS I, LATIN SMALL LETTER 0131
-DOTLESS J WITH STROKE, LATIN SMALL LETTER 025F
-DOTLESS J, LATIN SMALL LETTER 0237
-Dotless Mathematical Symbols 1D6A4
-DOTS ABOVE, COMBINING FOUR 20DC
-DOTS ABOVE, COMBINING THREE 20DB
-DOTS, MONGOLIAN FOUR 1805
-DOTS, VERTICAL FOUR 205E
-DOTTED CIRCLE 25CC
-DOTTED CROSS 205C
-DOTTED FENCE 2999
-Dotted Mathematical Operators 2234
-DOUBLE ACUTE ACCENT 02DD
-DOUBLE ACUTE ACCENT, COMBINING 030B
-DOUBLE ANGLE BRACKET, LEFT 300A
-DOUBLE ANGLE BRACKET, MATHEMATICAL LEFT 27EA
-DOUBLE ANGLE BRACKET, MATHEMATICAL RIGHT 27EB
-DOUBLE ANGLE BRACKET, RIGHT 300B
-DOUBLE ANGLE QUOTATION MARK, LEFT-POINTING 00AB
-DOUBLE ANGLE QUOTATION MARK, RIGHT-POINTING 00BB
-DOUBLE APOSTROPHE, MODIFIER LETTER 02EE
-DOUBLE ARCH BELOW, COMBINING INVERTED 032B
-Double Arrows 21CD
-DOUBLE BREVE BELOW, COMBINING 035C
-DOUBLE BREVE, COMBINING 035D
-Double Circled Numbers 24F5
-double comma quotation mark 201D
-double comma quotation mark, low 201E
-DOUBLE DAGGER 2021
-DOUBLE DANDA, DEVANAGARI 0965
-double derivative 0308
-Double Diacritics 035C
-double dot above 0308
-DOUBLE EXCLAMATION MARK 203C
-DOUBLE GRAVE ACCENT, COMBINING 030F
-DOUBLE HIGH-REVERSED-9 QUOTATION MARK 201F
-DOUBLE HYPHEN, KATAKANA-HIRAGANA 30A0
-DOUBLE INTEGRAL 222C
-DOUBLE INTERSECTION 22D2
-DOUBLE INVERTED BREVE, COMBINING 0361
-DOUBLE LOGICAL AND 2A53
-DOUBLE LOGICAL OR 2A54
-DOUBLE LOW LINE 2017
-DOUBLE LOW LINE, COMBINING 0333
-DOUBLE LOW-9 QUOTATION MARK 201E
-DOUBLE MACRON BELOW, COMBINING 035F
-DOUBLE MACRON, COMBINING 035E
-Double Operators 22D0
-DOUBLE OVERLINE, COMBINING 033F
-double pipe 01C1
-DOUBLE PLUS 29FA
-DOUBLE PRECEDES 2ABB
-DOUBLE PRIME 2033
-DOUBLE PRIME QUOTATION MARK 301E
-DOUBLE PRIME QUOTATION MARK, LOW 301F
-DOUBLE PRIME QUOTATION MARK, REVERSED 301D
-DOUBLE PRIME, MODIFIER LETTER 02BA
-DOUBLE PRIME, REVERSED 2036
-Double Punctuation for Vertical Text 2047
-DOUBLE PUNCTUATION, PHILIPPINE 1736
-DOUBLE QUESTION MARK 2047
-DOUBLE QUOTATION MARK, LEFT 201C
-DOUBLE QUOTATION MARK, RIGHT 201D
-double reversed comma quotation mark 201F
-DOUBLE RIGHTWARDS ARROW BELOW, COMBINING 0362
-DOUBLE RING BELOW, COMBINING 035A
-double slash overlay, long 20EB
-DOUBLE SOLIDUS OPERATOR 2AFD
-DOUBLE SOLIDUS OVERLAY, COMBINING LONG 20EB
-DOUBLE SUBSET 22D0
-DOUBLE SUCCEEDS 2ABC
-DOUBLE SUPERSET 22D1
-DOUBLE TILDE, COMBINING 0360
-double turned comma quotation mark 201C
-double underline 0333
-double underscore 0333
-double underscore, spacing 2017
-DOUBLE UNION 22D3
-DOUBLE VERTICAL LINE 2016
-DOUBLE VERTICAL LINE ABOVE, COMBINING 030E
-DOUBLE VERTICAL LINE BELOW, COMBINING 0348
-DOUBLE VERTICAL STROKE OVERLAY, COMBINING 20E6
-DOUBLE WAVY OVERLINE FE4C
-double-barred pipe 01C2
-Double-struck Digits 1D7D8
-Double-struck Greek Letters 213C
-Double-struck Greek Letters 213D
-Double-struck Italic Mathematical Symbols 2145
-Double-struck Mathematical Symbols 1D538
-DOWN ARROWHEAD 2304
-DOWN POINTING INDEX, WHITE 261F
-DOWN RIGHT DIAGONAL ELLIPSIS 22F1
-DOWN TACK 22A4
-DOWN TACK BELOW, COMBINING 031E
-down, page 21DF
-downstile, apl 230A
-DOWNWARDS ARROW 2193
-DPRK Compatibility Ideographs FA70
-DRACHMA SIGN 20AF
-Drafting Symbols 232D
-dram 0292
-Draughts and Checkers, Symbols for 26C0
-DRIVE SLOW SIGN 26DA
-drive-in restaurant 26FE
-drop 264F
-Drop-shadowed Dingbats 274D
-Duplicate Characters from Big 5 FA0C
-Duplicate Characters from CNS 11643-1992 2F800
-E WITH ACUTE, LATIN CAPITAL LETTER 00C9
-E WITH ACUTE, LATIN SMALL LETTER 00E9
-E WITH BREVE, LATIN SMALL LETTER 0115
-E WITH CARON, LATIN SMALL LETTER 011B
-E WITH CEDILLA, LATIN SMALL LETTER 0229
-E WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER 1E19
-E WITH CIRCUMFLEX, LATIN CAPITAL LETTER 00CA
-E WITH CIRCUMFLEX, LATIN SMALL LETTER 00EA
-E WITH DIAERESIS, LATIN CAPITAL LETTER 00CB
-E WITH DIAERESIS, LATIN SMALL LETTER 00EB
-E WITH DOT ABOVE, LATIN SMALL LETTER 0117
-E WITH DOT BELOW, LATIN SMALL LETTER 1EB9
-E WITH DOUBLE GRAVE, LATIN SMALL LETTER 0205
-E WITH GRAVE, LATIN CAPITAL LETTER 00C8
-E WITH GRAVE, LATIN SMALL LETTER 00E8
-E WITH HOOK ABOVE, LATIN SMALL LETTER 1EBB
-E WITH HOOK, LATIN SMALL LETTER REVERSED OPEN 025D
-E WITH INVERTED BREVE, LATIN SMALL LETTER 0207
-E WITH MACRON, LATIN SMALL LETTER 0113
-E WITH OGONEK, LATIN SMALL LETTER 0119
-E WITH STROKE, LATIN CAPITAL LETTER 0246
-E WITH STROKE, LATIN SMALL LETTER 0247
-E WITH TILDE BELOW, LATIN SMALL LETTER 1E1B
-E WITH TILDE, LATIN SMALL LETTER 1EBD
-E, COMBINING LATIN SMALL LETTER 0364
-E, DOUBLE-STRUCK ITALIC SMALL 2147
-E, LATIN CAPITAL LETTER OPEN 0190
-E, LATIN CAPITAL LETTER REVERSED 018E
-e, latin capital letter turned 018E
-E, LATIN LETTER SMALL CAPITAL 1D07
-E, LATIN SMALL LETTER CLOSED OPEN 029A
-E, LATIN SMALL LETTER CLOSED REVERSED OPEN 025E
-e, latin small letter o 0153
-E, LATIN SMALL LETTER OPEN 025B
-E, LATIN SMALL LETTER REVERSED 0258
-E, LATIN SMALL LETTER REVERSED OPEN 025C
-E, LATIN SMALL LETTER TURNED 01DD
-E, LATIN SMALL LETTER TURNED OPEN 1D08
-E, SCRIPT CAPITAL 2130
-E, SCRIPT SMALL 212F
-EARTH 2641
-EARTH GROUND 23DA
-EAST SYRIAC CROSS 2671
-Eastern Arabic-Indic Digits 06F0
-Editorial Symbols, New Testament 2E00
-egressive airflow 2191
-Egyptian Hieroglyphs 13000
-EIGHTH NOTE 266A
-EIGHTH NOTES, BEAMED 266B
-Eighths, Fractions 215B
-eject media 23CF
-EK ONKAR, GURMUKHI 0A74
-el salvadorian currency 20A1
-ELECTRIC ARROW 2301
-ELECTRICAL INTERSECTION 23E7
-electrolysis 21AF
-electromotive force 2130
-Electrotechnical Symbols 238D
-ELEMENT OF 2208
-ELEMENT OF, NOT AN 2209
-ELEMENT OF, SMALL 220A
-element, unique 2129
-Ellipses 2B2C
-ELLIPSIS, DOWN RIGHT DIAGONAL 22F1
-ELLIPSIS, HORIZONTAL 2026
-ELLIPSIS, LAO 0EAF
-ELLIPSIS, MIDLINE HORIZONTAL 22EF
-ELLIPSIS, MONGOLIAN 1801
-ELLIPSIS, UP RIGHT DIAGONAL 22F0
-ELLIPSIS, VERTICAL 22EE
-elliptic function, weierstrass 2118
-EM DASH 2014
-EM QUAD 2001
-EM SPACE 2003
-EMBEDDING, LEFT-TO-RIGHT 202A
-EMBEDDING, RIGHT-TO-LEFT 202B
-emf 2130
-EMPHASIS MARK, ARMENIAN 055B
-Emphasis Marks, Sidelining FE45
-EMPHASIS SYMBOL 2383
-EMPTY SET 2205
-Empty Sets 29B0
-EN DASH 2013
-EN QUAD 2000
-EN SPACE 2002
-Enclosed Alphanumeric Supplement 1F100
-Enclosed Alphanumerics 2460
-Enclosed CJK Letters and Months 3200
-Enclosed Ideographic Supplement 1F200
-Enclosed Latin Capital Letters 1F110
-Enclosed Mathematical Operators 2295
-ENCLOSING CIRCLE BACKSLASH, COMBINING 20E0
-ENCLOSING CIRCLE, COMBINING 20DD
-Enclosing Diacritics 20DD
-ENCLOSING DIAMOND, COMBINING 20DF
-ENCLOSING KEYCAP, COMBINING 20E3
-ENCLOSING SCREEN, COMBINING 20E2
-ENCLOSING SQUARE, COMBINING 20DE
-ENCLOSING UPWARD POINTING TRIANGLE, COMBINING 20E4
-end 21F2
-END OF GUARDED AREA 0097
-end of line 000A
-END OF MEDIUM 0019
-end of medium, symbol for 237F
-END OF MEDIUM, SYMBOL FOR 2419
-END OF PROOF 220E
-END OF SELECTED AREA 0087
-END OF TEXT 0003
-END OF TEXT, SYMBOL FOR 2403
-END OF TRANSMISSION 0004
-END OF TRANSMISSION BLOCK 0017
-END OF TRANSMISSION BLOCK, SYMBOL FOR 2417
-end of transmission symbol 2301
-END OF TRANSMISSION, SYMBOL FOR 2404
-ENG, LATIN SMALL LETTER 014B
-enn, tamil 0BFA
-enotikon, greek 203F
-ENQUIRY 0005
-ENQUIRY, SYMBOL FOR 2405
-enter key 2324
-ENTER SYMBOL 2386
-entity &iinfin;, isotech 29DC
-ENVELOPE 2709
-eol 000A
-epidaurean acrophonic symbol three 205D
-EPSILON SYMBOL, GREEK LUNATE 03F5
-EPSILON SYMBOL, GREEK REVERSED LUNATE 03F6
-epsilon, latin capital letter 0190
-epsilon, latin small letter 025B
-epsilon, latin small letter closed 029A
-epsilon, latin small letter closed reversed 025E
-epsilon, reversed straight 03F6
-epsilon, reversed straight 220D
-epsilon, straight 03F5
-EQUAL TO ABOVE, COMBINING ALMOST 034C
-equal to by definition 225C
-EQUAL TO BY DEFINITION 225D
-EQUAL TO, ALL 224C
-EQUAL TO, ALMOST 2248
-EQUAL TO, APPROXIMATELY 2245
-equal to, approximately 2257
-EQUAL TO, ASYMPTOTICALLY 2243
-EQUAL TO, DELTA 225C
-EQUAL TO, GEOMETRICALLY 2251
-EQUAL TO, GREATER-THAN OR 2265
-EQUAL TO, LESS-THAN OR 2264
-EQUAL TO, NOT 2260
-EQUAL TO, QUESTIONED 225F
-EQUAL TO, RING 2257
-EQUAL TO, RING IN 2256
-Equality and Inequality Signs 2243
-Equality and Inequality Signs 22D5
-EQUALS COLON 2255
-EQUALS SIGN 003D
-EQUALS SIGN BELOW, COMBINING 0347
-EQUALS, CIRCLED 229C
-EQUALS, COLON 2254
-equals, nearly 2252
-EQUALS, REVERSED TILDE 22CD
-EQUALS, STAR 225B
-equiangular 225C
-EQUIANGULAR TO 225A
-EQUIVALENT TO 224D
-EQUIVALENT TO, GEOMETRICALLY 224E
-EQUIVALENT TO, STRICTLY 2263
-equivalent, tautological 29E6
-Era Names, Japanese 337B
-ERASE TO THE LEFT 232B
-ERASE TO THE RIGHT 2326
-error 212F
-Error Bar Symbols 29EE
-ESCAPE 001B
-escape 238B
-ESCAPE, DATA LINK 0010
-ESCAPE, SYMBOL FOR 241B
-ESCAPE, SYMBOL FOR DATA LINK 2410
-escudo 0024
-ESH LOOP, LATIN LETTER REVERSED 01AA
-ESH, LATIN CAPITAL LETTER 01A9
-ESH, LATIN SMALL LETTER 0283
-ESH, LATIN SMALL LETTER SQUAT REVERSED 0285
-ESTIMATED SYMBOL 212E
-ESTIMATES 2259
-eszett 00DF
-ET, TIRONIAN SIGN 204A
-ETH, LATIN CAPITAL LETTER 00D0
-ETH, LATIN LETTER SMALL CAPITAL 1D06
-ETH, LATIN SMALL LETTER 00F0
-ethel 0153
-ETHIOPIC COLON 1365
-ETHIOPIC COMMA 1363
-Ethiopic Digits 1369
-Ethiopic Extended 2D80
-ETHIOPIC FULL STOP 1362
-Ethiopic Numbers 1369
-ETHIOPIC PARAGRAPH SEPARATOR 1368
-ETHIOPIC PREFACE COLON 1366
-Ethiopic Punctuation 1361
-ETHIOPIC QUESTION MARK 1367
-ETHIOPIC SEMICOLON 1364
-Ethiopic Supplement 1380
-Ethiopic Syllables 1200
-ETHIOPIC WORDSPACE 1361
-EULER CONSTANT 2107
-euro european currency 20AC
-EURO SIGN 20AC
-European Latin 0100
-european paragraph sign 00A7
-european section sign 00B6
-EXCESS 2239
-EXCLAMATION MARK 0021
-EXCLAMATION MARK ORNAMENT, HEAVY 2762
-EXCLAMATION MARK, ARMENIAN 055C
-EXCLAMATION MARK, DOUBLE 203C
-EXCLAMATION MARK, INVERTED 00A1
-exclamation mark, latin letter 01C3
-EXCLAMATION MARK, LIMBU 1944
-EXCLAMATION MARK, QUESTION 2048
-EXCLAMATION QUESTION MARK 2049
-EXIST, THERE DOES NOT 2204
-existential quantifier 2203
-EXISTS, THERE 2203
-exponent, natural 212F
-Extensions for Ainu, Katakana 31F0
-EZH REVERSED, LATIN SMALL LETTER 01B9
-EZH WITH CARON, LATIN SMALL LETTER 01EF
-EZH, LATIN CAPITAL LETTER 01B7
-EZH, LATIN LETTER SMALL CAPITAL 1D23
-EZH, LATIN SMALL LETTER 0292
-F WITH DOT ABOVE, LATIN SMALL LETTER 1E1F
-F WITH HOOK, LATIN SMALL LETTER 0192
-f, latin small letter script 0192
-F, SCRIPT CAPITAL 2131
-F, TURNED CAPITAL 2132
-F, TURNED SMALL 214E
-FACE, BLACK SMILING 263B
-FACE, POSTAL MARK 3020
-FACE, WHITE FROWNING 2639
-FACE, WHITE SMILING 263A
-FACSIMILE SIGN 213B
-factorial 0021
-factory 26ED
-FAHRENHEIT, DEGREE 2109
-fast cursor down 21A1
-fast cursor left 219E
-fast cursor right 21A0
-fast cursor up 219F
-feet 2032
-FEMALE SIGN 2640
-FEMININE ORDINAL INDICATOR 00AA
-FENCE, DOTTED 2999
-Fences 2999
-Fences, Wiggly 29D8
-FERMATA, COMBINING 0352
-FERRY 26F4
-ff 000C
-Fifths, Fractions 2155
-FIGURE DASH 2012
-FIGURE SPACE 2007
-file separator 001C
-FILE SEPARATOR, SYMBOL FOR 241C
-FILL SPACE, IDEOGRAPHIC HALF 303F
-FILLER, HANGUL 3164
-Finger Dingbats, Pointing Index 261A
-finite function 21FB
-finite function diacritic 20E6
-finite injection 2915
-finite relation 21FC
-finite surjection 2901
-finite surjective injection 2918
-FIRST QUARTER MOON 263D
-Fish Tails 297C
-FISHEYE 25C9
-fist 261E
-FIVE DOT PUNCTUATION 2059
-FLAG IN HOLE 26F3
-FLAG, BLACK 2691
-FLAG, WHITE 2690
-FLAT SIGN, MUSIC 266D
-FLATNESS 23E5
-FLEUR-DE-LIS 269C
-FLOOR, LEFT 230A
-FLOOR, RIGHT 230B
-FLORAL HEART BULLET, REVERSED ROTATED 2619
-florin currency symbol 0192
-folder 0192
-FONGMAN, THAI CHARACTER 0E4F
-FOR ALL 2200
-FORCES 22A9
-Forfeda Supplement, Ogham 1695
-Forks 2AD9
-Form and Chart Components 2500
-FORM FEED 000C
-form feed 21A1
-FORM FEED, SYMBOL FOR 240C
-Format Characters 200C
-Format Characters, Directional 202A
-Format Controls, Mongolian 180B
-FORMATTING, POP DIRECTIONAL 202C
-forward arrow indicator 25BB
-forward difference 2206
-FOUNTAIN 26F2
-FOUR CORNERS, SQUARE 26F6
-FOUR DOT MARK 205B
-FOUR DOT PUNCTUATION 2058
-FOUR DOTS ABOVE, COMBINING 20DC
-FOUR DOTS, MONGOLIAN 1805
-FOUR DOTS, VERTICAL 205E
-FOUR-PER-EM SPACE 2005
-fourier transform 2131
-fourth derivative 20DC
-FOURTH ROOT 221C
-fourth tone, mandarin chinese 02CB
-Fourths, Fractions 00BC
-FRACTION NUMERATOR ONE 215F
-FRACTION ONE HALF, VULGAR 00BD
-FRACTION ONE NINTH, VULGAR 2151
-FRACTION ONE QUARTER, VULGAR 00BC
-FRACTION ONE SEVENTH, VULGAR 2150
-FRACTION ONE TENTH, VULGAR 2152
-FRACTION SLASH 2044
-FRACTION THREE QUARTERS, VULGAR 00BE
-Fractions Eighths 215B
-Fractions Fifths 2155
-Fractions Fourths 00BC
-Fractions Quarters 00BC
-Fractions Sixths 2159
-Fractions Thirds 2153
-Fractions, Vulgar 2153
-Fraktur Mathematical Symbols 1D504
-Fraktur Mathematical Symbols, Bold 1D56C
-framus, white 29D6
-FRANC SIGN, FRENCH 20A3
-FRICATIVE, LATIN LETTER PHARYNGEAL VOICED 0295
-FROWN 2322
-FROWNING FACE, WHITE 2639
-FUEL PUMP 26FD
-FULL BLOCK 2588
-FULL STOP 002E
-FULL STOP, ARABIC 06D4
-FULL STOP, ARMENIAN 0589
-FULL STOP, CANADIAN SYLLABICS 166E
-FULL STOP, ETHIOPIC 1362
-full stop, georgian 0589
-FULL STOP, IDEOGRAPHIC 3002
-FULL STOP, MONGOLIAN 1803
-FULL STOP, MONGOLIAN MANCHU 1809
-Fullwidth ASCII Variants FF01
-Fullwidth Forms, Halfwidth and FF00
-Fullwidth Symbol Variants FFE0
-FUNCTION APPLICATION 2061
-function symbol 0192
-function, bernoulli 212C
-function, composite 2218
-function, finite 21FB
-function, gamma 0393
-function, partial 21F8
-function, total 2192
-function, weierstrass elliptic 2118
-Functional Symbols, APL 2336
-FUNERAL URN 26B1
-FUSE 23DB
-fvs1 180B
-G WITH ACUTE, LATIN SMALL LETTER 01F5
-G WITH BREVE, LATIN SMALL LETTER 011F
-G WITH CARON, LATIN SMALL LETTER 01E7
-G WITH CEDILLA, LATIN SMALL LETTER 0123
-G WITH CIRCUMFLEX, LATIN SMALL LETTER 011D
-G WITH DOT ABOVE, LATIN SMALL LETTER 0121
-G WITH HOOK, LATIN CAPITAL LETTER 0193
-G WITH HOOK, LATIN LETTER SMALL CAPITAL 029B
-G WITH HOOK, LATIN SMALL LETTER 0260
-G WITH MACRON, LATIN SMALL LETTER 1E21
-G WITH STROKE, LATIN SMALL LETTER 01E5
-G, LATIN LETTER SMALL CAPITAL 0262
-G, LATIN SMALL LETTER SCRIPT 0261
-G, SCRIPT SMALL 210A
-G, TURNED SANS-SERIF CAPITAL 2141
-game 2141
-gamma function 0393
-GAMMA, DOUBLE-STRUCK CAPITAL 213E
-GAMMA, DOUBLE-STRUCK SMALL 213D
-GAMMA, LATIN CAPITAL LETTER 0194
-GAMMA, LATIN SMALL LETTER 0263
-gamma, latin small letter baby 0264
-GAMMA, MODIFIER LETTER SMALL 02E0
-gas station 26FD
-GEAR 2699
-GEMINI 264A
-Gender Symbols 26A2
-Genealogical Symbols 26AD
-General Punctuation 2000
-General Scripts Area 0000
-General Scripts Area, Supplementary 10000
-generalized intersection 22C2
-generalized union 22C3
-GEOMETRIC PROPORTION 223A
-Geometric Shapes 25A0
-GEOMETRICALLY EQUAL TO 2251
-GEOMETRICALLY EQUIVALENT TO 224E
-Georgian 10A0
-Georgian Alphabet 10D0
-Georgian Capital Letters 10A0
-georgian comma 00B7
-Georgian Extensions 10F1
-georgian full stop 0589
-Georgian Khutsuri 10A0
-Georgian Mkhedruli 10D0
-GEORGIAN PARAGRAPH SEPARATOR 10FB
-Georgian Small Letters 10D0
-Georgian Supplement 2D00
-german mark pre-wwii 2133
-GERMAN PENNY SIGN 20B0
-GETA MARK 3013
-ghana currency 20B5
-GIMEL SYMBOL 2137
-Glagolitic 2C00
-GLEICH STARK 29E6
-glottal stop 02BC
-GLOTTAL STOP, LATIN CAPITAL LETTER 0241
-GLOTTAL STOP, LATIN LETTER 0294
-GLOTTAL STOP, LATIN LETTER INVERTED 0296
-glottal stop, latin letter reversed 0295
-GLOTTAL STOP, LATIN SMALL LETTER 0242
-GLOTTAL STOP, MODIFIER LETTER 02C0
-GLOTTAL STOP, MODIFIER LETTER REVERSED 02C1
-GLOTTAL STOP, MODIFIER LETTER SMALL REVERSED 02E4
-gnaborretni 2E18
-Go Markers 2686
-Golden Numbers, Runic 16EE
-golf course 26F3
-Gothic 10330
-GRAPHEME JOINER, COMBINING 034F
-Graphic Characters, Terminal 23B7
-Graphic Characters, Terminal 2596
-Graphic Pictures for Control Codes 2400
-Graphics for Control Codes 237D
-Graphics, Quadrant Control Code 25F0
-GRAVE ACCENT 0060
-GRAVE ACCENT BELOW, COMBINING 0316
-GRAVE ACCENT, COMBINING 0300
-GRAVE ACCENT, COMBINING DOUBLE 030F
-GRAVE ACCENT, MODIFIER LETTER 02CB
-GRAVE ACCENT, MODIFIER LETTER LOW 02CE
-grave accent, spacing 0060
-grave accent, swedish 02DF
-GRAVE TONE MARK, COMBINING 0340
-graveyard 26FC
-GREATER-THAN OR EQUAL TO 2265
-GREATER-THAN SIGN 003E
-GREATER-THAN, MUCH 226B
-GREATER-THAN, VERY MUCH 22D9
-Greek 0370
-Greek Alphabet 0391
-greek ano teleia 00B7
-Greek Archaic Letters 03D8
-GREEK BETA SYMBOL 03D0
-Greek Capital Letters 0391
-greek currency 20AF
-greek dasia 0314
-greek dialytika 0308
-GREEK DIALYTIKA TONOS, COMBINING 0344
-greek enotikon 203F
-Greek Extended 1F00
-greek iota subscript 0345
-GREEK KORONIS, COMBINING 0343
-Greek Letters, Double-struck 213C
-GREEK LUNATE EPSILON SYMBOL 03F5
-GREEK LUNATE SIGMA SYMBOL 03F2
-Greek Mathematical Symbols 1D6A8
-Greek Mathematical Symbols, Bold 1D6A8
-Greek Mathematical Symbols, Bold Italic 1D71C
-Greek Mathematical Symbols, Italic 1D6E2
-Greek Mathematical Symbols, Sans-serif Bold 1D756
-Greek Mathematical Symbols, Sans-serif Bold Italic 1D790
-greek middle dot 00B7
-Greek Musical Notation, Ancient 1D200
-greek non-spacing iota below 0345
-Greek Numbers, Ancient 10140
-greek old testament 1D516
-greek oxia 0301
-greek pentonkion 2059
-GREEK PERISPOMENI, COMBINING 0342
-GREEK PHI SYMBOL 03D5
-GREEK PI SYMBOL 03D6
-greek psili 0313
-Greek Punctuation and Signs 0374
-greek question mark 003B
-GREEK QUESTION MARK 037E
-GREEK REVERSED LUNATE EPSILON SYMBOL 03F6
-greek rough breathing mark 0314
-GREEK SMALL LETTER IOTA, TURNED 2129
-greek small letter lunate sigma 03F2
-GREEK SMALL LETTER PI 03C0
-Greek Small Letters 03B1
-greek smooth breathing mark 0313
-Greek Textual Symbols, Ancient 2E0E
-GREEK THETA SYMBOL 03D1
-greek tonos 0301
-greek varia 0300
-Greek Variant Letterforms 03D0
-greek vrachy 0306
-GREEK YPOGEGRAMMENI, COMBINING 0345
-Greek, Diacritics for 0342
-Greek, Precomposed Polytonic 1F00
-GROUND, EARTH 23DA
-group lock 21F0
-group separator 001D
-GROUP SEPARATOR, SYMBOL FOR 241D
-GUARANI SIGN 20B2
-GUARDED AREA, END OF 0097
-GUARDED AREA, START OF 0096
-guillemet, left pointing 00AB
-guillemet, left pointing single 2039
-guillemet, right pointing 00BB
-guillemet, right pointing single 203A
-Gujarati 0A80
-Gujarati Consonants 0A95
-Gujarati Dependent Vowel Signs 0ABE
-Gujarati Digits 0AE6
-Gujarati Independent Vowels 0A85
-GUJARATI RUPEE SIGN 0AF1
-Gurmukhi 0A00
-GURMUKHI ADDAK 0A71
-Gurmukhi Consonants 0A15
-Gurmukhi Dependent Vowel Signs 0A3E
-Gurmukhi Digits 0A66
-GURMUKHI EK ONKAR 0A74
-Gurmukhi Independent Vowels 0A05
-gurmukhi khanda 262C
-GURMUKHI TIPPI 0A70
-H WITH BREVE BELOW, LATIN SMALL LETTER 1E2B
-H WITH CARON, LATIN SMALL LETTER 021F
-H WITH CEDILLA, LATIN SMALL LETTER 1E29
-H WITH CIRCUMFLEX, LATIN SMALL LETTER 0125
-H WITH DIAERESIS, LATIN SMALL LETTER 1E27
-H WITH DOT ABOVE, LATIN SMALL LETTER 1E23
-H WITH DOT BELOW, LATIN SMALL LETTER 1E25
-H WITH FISHHOOK, LATIN SMALL LETTER TURNED 02AE
-H WITH HOOK, LATIN SMALL LETTER 0266
-H WITH LINE BELOW, LATIN SMALL LETTER 1E96
-H WITH STROKE, LATIN SMALL LETTER 0127
-H, BLACK-LETTER CAPITAL 210C
-H, COMBINING LATIN SMALL LETTER 036A
-H, DOUBLE-STRUCK CAPITAL 210D
-H, LATIN LETTER SMALL CAPITAL 029C
-H, LATIN SMALL LETTER TURNED 0265
-H, MODIFIER LETTER SMALL 02B0
-H, SCRIPT CAPITAL 210B
-hacek, combining 030C
-hacek, modifier letter 02C7
-HAIR SPACE 200A
-halant 094D
-HALANTA, TIBETAN MARK 0F84
-HALF FILL SPACE, IDEOGRAPHIC 303F
-HALF INTEGRAL, BOTTOM 2321
-HALF INTEGRAL, TOP 2320
-Half Marks, Combining FE20
-HALF RING ABOVE, COMBINING LEFT 0351
-HALF RING ABOVE, COMBINING RIGHT 0357
-HALF RING BELOW, COMBINING LEFT 031C
-HALF RING BELOW, COMBINING RIGHT 0339
-HALF RING, ARMENIAN MODIFIER LETTER LEFT 0559
-half ring, armenian modifier letter right 055A
-HALF RING, MODIFIER LETTER CENTRED LEFT 02D3
-HALF RING, MODIFIER LETTER LEFT 02BF
-HALF TRIANGULAR COLON, MODIFIER LETTER 02D1
-HALF, VULGAR FRACTION ONE 00BD
-Halfwidth and Fullwidth Forms FF00
-Halfwidth CJK Punctuation FF61
-Halfwidth Japanese Katakana Variants FF61
-Halfwidth Korean Hangul Variants FFA0
-Halfwidth Symbol Variants FFE8
-hamilton operator 25BD
-HAMMER AND PICK 2692
-HAMMER AND SICKLE 262D
-hamzah on ha, arabic letter 06C0
-Han Ideographs 4E00
-han-daku-on, combining japanese 309A
-han-daku-on, japanese 309C
-Hand Symbols, Pointing 261A
-HAND, VICTORY 270C
-HAND, WRITING 270D
-Hangul Archaic Letters, Korean 3165
-HANGUL CHOSEONG FILLER 115F
-Hangul Compatibility Jamo, Korean 3130
-HANGUL FILLER 3164
-Hangul Jamo Combining Alphabet, Korean 1100
-Hangul Jamo Extended-A, Korean A960
-Hangul Jamo Extended-B, Korean D7B0
-HANGUL JUNGSEONG FILLER 1160
-Hangul Letters, Circled Korean 3260
-Hangul Letters, Parenthesized Korean 3200
-Hangul Syllables Area, Korean AC00
-Hangul Syllables, Circled Korean 326E
-Hangul Syllables, Parenthesized Korean 320E
-Hangul Variants, Halfwidth Korean FFA0
-Hangzhou Numerals 3021
-Hanunoo 1720
-Harakat, Arabic 064B
-harbor symbol 2693
-HARPOON ABOVE, COMBINING LEFT 20D0
-HARPOON ABOVE, COMBINING RIGHT 20D1
-HARPOON WITH BARB DOWNWARDS, COMBINING LEFTWARDS 20ED
-HARPOON WITH BARB DOWNWARDS, COMBINING RIGHTWARDS 20EC
-Harpoons 21BC
-Harpoons, Miscellaneous 294A
-hartsakan nshan, armenian 055E
-hasant, bengali 09CD
-HASANTA, SYLOTI NAGRI SIGN A806
-hash 0023
-hat 0302
-hat 2229
-have a nice day! 263A
-Hazard Dingbats 2620
-Head Marks, Tibetan 0F01
-HEADING, START OF 0001
-HEADING, SYMBOL FOR START OF 2401
-HEADSTONE GRAVEYARD SYMBOL 26FC
-HEART BULLET, REVERSED ROTATED FLORAL 2619
-Heart Dingbats 2763
-Heart Ornaments 2763
-HEAVY BALLOT X 2718
-HEAVY CHECK MARK 2714
-HEAVY EXCLAMATION MARK ORNAMENT 2762
-HEAVY MULTIPLICATION X 2716
-HEAVY SPARKLE 2748
-Hebrew 0590
-Hebrew Alphabet 05D0
-Hebrew Cantillation Marks 0591
-Hebrew Letterlike Mathematical Symbols 2135
-Hebrew Points and Punctuation 05B0
-Hebrew Presentation Forms FB1D
-hedera 2767
-HEH WITH YEH ABOVE, ARABIC LETTER 06C0
-HELM SYMBOL 2388
-HELMET WITH WHITE CROSS 26D1
-HERMES, STAFF OF 269A
-HERMITIAN CONJUGATE MATRIX 22B9
-Hexagram Symbols, Yijing / I Ching 4DC0
-Hieroglyphs, Egyptian 13000
-High Surrogates D800
-HIGH VOLTAGE SIGN 26A1
-HIGH-REVERSED-9 QUOTATION MARK, DOUBLE 201F
-HIGH-REVERSED-9 QUOTATION MARK, SINGLE 201B
-higher rank than 227B
-hilbert space 210C
-Hiragana 3040
-HIRAGANA ITERATION MARK 309D
-HIRAGANA LETTER SMALL KA 3095
-HIRAGANA LETTER SMALL KE 3096
-Hiragana Supplement 3095
-HIRAGANA VOICED ITERATION MARK 309E
-histogram marker 25AE
-HISTORIC SITE 26EC
-holler 2365
-home 21B8
-home 21F1
-HOMOTHETIC 223B
-HOMOTHETIC ABOVE, COMBINING 034B
-Honorifics, Arabic 0610
-HOOK ABOVE, COMBINING 0309
-HOOK BELOW, COMBINING PALATALIZED 0321
-HOOK BELOW, COMBINING RETROFLEX 0322
-HOOK, MODIFIER LETTER RHOTIC 02DE
-hook, nasal 0328
-hoot 2364
-HORIZONTAL BAR 2015
-HORIZONTAL ELLIPSIS 2026
-HORIZONTAL ELLIPSIS, MIDLINE 22EF
-Horizontal Scan Lines 23BA
-horizontal tabulation 0009
-HORIZONTAL TABULATION, SYMBOL FOR 2409
-HORN, COMBINING 031B
-hospital 26E8
-HOT BEVERAGE 2615
-HOT SPRINGS 2668
-HOURGLASS 231B
-HOURGLASS, BLACK 29D7
-Hours, Ideographic Telegraph Symbols for 3358
-HOUSE 2302
-HRYVNIA SIGN 20B4
-ht 0009
-HV, LATIN SMALL LETTER 0195
-HWAIR, LATIN CAPITAL LETTER 01F6
-HYPHEN 2010
-HYPHEN BULLET 2043
-hyphen or minus sign 002D
-HYPHEN, ARMENIAN 058A
-hyphen, discretionary 00AD
-HYPHEN, KATAKANA-HIRAGANA DOUBLE 30A0
-HYPHEN, MONGOLIAN TODO SOFT 1806
-HYPHEN, NON-BREAKING 2011
-hyphen, papyrological 035C
-HYPHEN, SOFT 00AD
-HYPHEN-MINUS 002D
-HYPHENATION POINT 2027
-hyphus 002D
-HYSTERESIS SYMBOL 238E
-i bar, latin capital letter 0197
-I Ching / Yijing Hexagram Symbols 4DC0
-I Ching / Yijing Monogram and Digram Symbols 268A
-I Ching / Yijing Trigram Symbols 2630
-i dot, latin capital letter 0130
-I WITH ACUTE, LATIN CAPITAL LETTER 00CD
-I WITH ACUTE, LATIN SMALL LETTER 00ED
-I WITH BREVE, LATIN SMALL LETTER 012D
-I WITH CARON, LATIN SMALL LETTER 01D0
-I WITH CIRCUMFLEX, LATIN CAPITAL LETTER 00CE
-I WITH CIRCUMFLEX, LATIN SMALL LETTER 00EE
-I WITH DIAERESIS, LATIN CAPITAL LETTER 00CF
-I WITH DIAERESIS, LATIN SMALL LETTER 00EF
-I WITH DOT ABOVE, LATIN CAPITAL LETTER 0130
-I WITH DOT BELOW, LATIN SMALL LETTER 1ECB
-I WITH DOUBLE GRAVE, LATIN SMALL LETTER 0209
-I WITH GRAVE, LATIN CAPITAL LETTER 00CC
-I WITH GRAVE, LATIN SMALL LETTER 00EC
-I WITH HOOK ABOVE, LATIN SMALL LETTER 1EC9
-I WITH INVERTED BREVE, LATIN SMALL LETTER 020B
-I WITH MACRON, LATIN SMALL LETTER 012B
-I WITH OGONEK, LATIN SMALL LETTER 012F
-I WITH STROKE, LATIN CAPITAL LETTER 0197
-I WITH STROKE, LATIN SMALL LETTER 0268
-I WITH TILDE BELOW, LATIN SMALL LETTER 1E2D
-I WITH TILDE, LATIN SMALL LETTER 0129
-I, BLACK-LETTER CAPITAL 2111
-I, COMBINING LATIN SMALL LETTER 0365
-I, DOUBLE-STRUCK ITALIC SMALL 2148
-I, LATIN LETTER SMALL CAPITAL 026A
-I, LATIN SMALL LETTER DOTLESS 0131
-I, LATIN SMALL LETTER TURNED 1D09
-I, LATIN SUBSCRIPT SMALL LETTER 1D62
-I, SCRIPT CAPITAL 2110
-I, SUPERSCRIPT LATIN SMALL LETTER 2071
-ICE SKATE 26F8
-icy road 26D0
-IDENTICAL TO 2261
-IDENTICAL TO, NOT 2262
-Ideograms, Linear B 10080
-Ideographic Annotation, Japanese Kanbun 3190
-IDEOGRAPHIC CLOSING MARK 3006
-IDEOGRAPHIC COMMA 3001
-Ideographic Description Characters, CJK 2FF0
-IDEOGRAPHIC FULL STOP 3002
-IDEOGRAPHIC HALF FILL SPACE 303F
-IDEOGRAPHIC ITERATION MARK 3005
-IDEOGRAPHIC ITERATION MARK, VERTICAL 303B
-IDEOGRAPHIC NUMBER ZERO 3007
-IDEOGRAPHIC SPACE 3000
-Ideographic Supplement, Enclosed 1F200
-Ideographic Telegraph Symbols for Days 33E0
-Ideographic Telegraph Symbols for Hours 3358
-Ideographic Telegraph Symbols for Months 32C0
-Ideographic Tone Marks 302A
-IDEOGRAPHIC VARIATION INDICATOR 303E
-Ideographs Area, CJK 3400
-Ideographs Area, Supplementary CJK 20000
-Ideographs Extension A, CJK Unified 3400
-Ideographs Extension B, CJK Unified 20000
-Ideographs Extension C, CJK Unified 2A700
-Ideographs Supplement, CJK Compatibility 2F800
-Ideographs, Circled 3280
-Ideographs, CJK Compatibility F900
-Ideographs, CJK Unified 4E00
-Ideographs, DPRK Compatibility FA70
-Ideographs, Han 4E00
-Ideographs, JIS X 0213 Compatibility FA30
-Ideographs, Parenthesized CJK 3220
-IDLE, SYMBOL FOR SYNCHRONOUS 2416
-IDLE, SYNCHRONOUS 0016
-IJ, LATIN SMALL LIGATURE 0133
-IMAGE OF 22B7
-IMAGE OF, SQUARE 228F
-imaginary part 2111
-Imperial Aramaic 10840
-implies 22A2
-inches 2033
-included in set 2282
-includes in set 2283
-incorporated, japanese 337F
-INCREMENT 2206
-independence 2AEB
-independent 2ADD
-independent, not 2ADC
-Index Finger Dingbats, Pointing 261A
-INDEX, BLACK LEFT POINTING 261A
-INDEX, BLACK RIGHT POINTING 261B
-INDEX, WHITE DOWN POINTING 261F
-INDEX, WHITE LEFT POINTING 261C
-INDEX, WHITE RIGHT POINTING 261E
-INDEX, WHITE UP POINTING 261D
-indian currency 20A8
-Indic Number Forms, Common A830
-indicator, backward arrow 25C5
-indicator, forward arrow 25BB
-Inequality Signs, Equality and 2243
-Inequality Signs, Equality and 22D5
-INFINITY 221E
-infix bag count 266F
-INFORMATION SEPARATOR FOUR 001C
-INFORMATION SEPARATOR ONE 001F
-INFORMATION SEPARATOR THREE 001D
-INFORMATION SEPARATOR TWO 001E
-INFORMATION SOURCE 2139
-ingressive airflow 2193
-injection, finite 2915
-injection, finite surjective 2918
-injection, partial 2914
-injection, surjective 2917
-injection, total 21A3
-INSERTION POINT, CARET 2041
-INSERTION SYMBOL 2380
-integers 2124
-INTEGRAL 222B
-INTEGRAL OPERATOR, QUATERNION 2A16
-Integral Signs 222B
-INTEGRAL, ANTICLOCKWISE CONTOUR 2233
-INTEGRAL, BOTTOM HALF 2321
-INTEGRAL, CLOCKWISE 2231
-INTEGRAL, CLOCKWISE CONTOUR 2232
-INTEGRAL, CONTOUR 222E
-integral, counterclockwise contour 2233
-INTEGRAL, DOUBLE 222C
-integral, lower 2A1C
-integral, riemann 211B
-INTEGRAL, SURFACE 222F
-INTEGRAL, TOP HALF 2320
-INTEGRAL, TRIPLE 222D
-integral, upper 2A1B
-INTEGRAL, VOLUME 2230
-Integrals, Summations and 2A0A
-INTEGRATION, ANTICLOCKWISE 2A11
-integration, counterclockwise 2A11
-INTERCALATE 22BA
-INTEREST SIGN, PLACE OF 2318
-INTERIOR PRODUCT 2A3C
-INTERIOR PRODUCT, RIGHTHAND 2A3D
-interleave 2AF4
-Interlinear Annotation FFF9
-INTERLINEAR ANNOTATION ANCHOR FFF9
-INTERLINEAR ANNOTATION SEPARATOR FFFA
-INTERLINEAR ANNOTATION TERMINATOR FFFB
-INTERROBANG 203D
-INTERROBANG, INVERTED 2E18
-interrupt 238A
-INTERSECTION 2229
-INTERSECTION, DOUBLE 22D2
-INTERSECTION, ELECTRICAL 23E7
-intersection, generalized 22C2
-INTERSECTION, N-ARY 22C2
-intersection, proper 22D4
-Intersections and Unions 2A40
-INTERSYLLABIC TSHEG, TIBETAN MARK 0F0B
-INTRODUCER, CONTROL SEQUENCE 009B
-INTRODUCER, SINGLE CHARACTER 009A
-Inverse Numbers, Circled 2776
-INVERTED BREVE BELOW, COMBINING 032F
-INVERTED BREVE, COMBINING 0311
-INVERTED BREVE, COMBINING DOUBLE 0361
-INVERTED BRIDGE BELOW, COMBINING 033A
-INVERTED DOUBLE ARCH BELOW, COMBINING 032B
-INVERTED EXCLAMATION MARK 00A1
-INVERTED GLOTTAL STOP, LATIN LETTER 0296
-INVERTED INTERROBANG 2E18
-INVERTED LAZY S 223E
-INVERTED OHM SIGN 2127
-INVERTED QUESTION MARK 00BF
-INVERTED R, LATIN LETTER SMALL CAPITAL 0281
-INVERTED R, MODIFIER LETTER SMALL CAPITAL 02B6
-INVERTED UNDERTIE 2054
-invisible comma 2063
-INVISIBLE PLUS 2064
-INVISIBLE SEPARATOR 2063
-INVISIBLE TIMES 2062
-iota below, greek non-spacing 0345
-iota subscript, greek 0345
-IOTA, LATIN CAPITAL LETTER 0196
-IOTA, LATIN SMALL LETTER 0269
-IOTA, TURNED GREEK SMALL LETTER 2129
-IPA Extensions 0250
-IPA, Diacritics for 0346
-iranian currency FDFC
-irish punt 00A3
-isotech entity &iinfin; 29DC
-israeli currency 20AA
-ISSHAR, BENGALI 09FA
-ISSHAR, ORIYA 0B70
-italian currency 20A4
-italian lira 00A3
-Italic Greek Mathematical Symbols 1D6E2
-Italic Greek Mathematical Symbols, Bold 1D71C
-Italic Greek Mathematical Symbols, Sans-serif Bold 1D790
-Italic Mathematical Symbols 1D434
-Italic Mathematical Symbols, Bold 1D468
-Italic Mathematical Symbols, Sans-serif 1D608
-Italic Mathematical Symbols, Sans-serif Bold 1D63C
-Italic, Old 10300
-ITC Zapf Dingbats Series 100 2700
-ITERATION MARK, HIRAGANA 309D
-ITERATION MARK, HIRAGANA VOICED 309E
-ITERATION MARK, IDEOGRAPHIC 3005
-ITERATION MARK, KATAKANA 30FD
-ITERATION MARK, KATAKANA VOICED 30FE
-ITERATION MARK, VERTICAL IDEOGRAPHIC 303B
-ivy leaf 2767
-izafet 06C0
-J WITH CARON, LATIN SMALL LETTER 01F0
-J WITH CIRCUMFLEX, LATIN SMALL LETTER 0135
-J WITH CROSSED-TAIL, LATIN SMALL LETTER 029D
-J WITH STROKE, LATIN CAPITAL LETTER 0248
-J WITH STROKE, LATIN SMALL LETTER 0249
-J WITH STROKE, LATIN SMALL LETTER DOTLESS 025F
-J, DOUBLE-STRUCK ITALIC SMALL 2149
-J, LATIN LETTER SMALL CAPITAL 1D0A
-J, LATIN SMALL LETTER DOTLESS 0237
-J, MODIFIER LETTER SMALL 02B2
-jack 2749
-Jamo Combining Alphabet, Korean Hangul 1100
-Jamo, Korean Hangul Compatibility 3130
-japanese bullet, tainome 25C9
-Japanese Chess Symbols 2616
-Japanese Era Names 337B
-Japanese Hiragana 3040
-japanese incorporated 337F
-JAPANESE INDUSTRIAL STANDARD SYMBOL 3004
-Japanese Kanbun Ideographic Annotation 3190
-Japanese Katakana 30A0
-Japanese Katakana Variants, Halfwidth FF61
-Japanese Katakana Words, Squared 3300
-Japanese Katakana, Circled 32D0
-japanese kome 203B
-Javanese A980
-JERUSALEM, CROSS OF 2629
-jis composition circle 20DD
-JIS X 0213 Compatibility Ideographs FA30
-JOIN 2A1D
-JOINER, COMBINING GRAPHEME 034F
-JOINER, WORD 2060
-JOINER, ZERO WIDTH 200D
-jolly roger 2620
-jot, apl 2218
-JUPITER 2643
-jurisprudence symbol 2696
-K WITH ACUTE, LATIN SMALL LETTER 1E31
-K WITH CARON, LATIN SMALL LETTER 01E9
-K WITH CEDILLA, LATIN SMALL LETTER 0137
-K WITH DOT BELOW, LATIN SMALL LETTER 1E33
-K WITH HOOK, LATIN SMALL LETTER 0199
-K WITH LINE BELOW, LATIN SMALL LETTER 1E35
-K, LATIN LETTER SMALL CAPITAL 1D0B
-K, LATIN SMALL LETTER TURNED 029E
-KA, HIRAGANA LETTER SMALL 3095
-kabusiki-gaisya 337F
-Kaithi 11080
-Kana Repeat Marks 3031
-Kanbun Ideographic Annotation, Japanese 3190
-Kangxi Radicals, CJK 2F00
-Kannada 0C80
-Kannada Consonants 0C95
-Kannada Dependent Vowel Signs 0CBE
-Kannada Digits 0CE6
-Kannada Independent Vowels 0C85
-kashida, arabic 0640
-Katakana 30A0
-KATAKANA DIGRAPH KOTO 30FF
-Katakana Extensions for Ainu 31F0
-KATAKANA ITERATION MARK 30FD
-KATAKANA MIDDLE DOT 30FB
-Katakana Phonetic Extensions 31F0
-Katakana Variants, Halfwidth Japanese FF61
-KATAKANA VOICED ITERATION MARK 30FE
-Katakana Words, Squared 3300
-Katakana, Circled 32D0
-KATAKANA-HIRAGANA DOUBLE HYPHEN 30A0
-KATAKANA-HIRAGANA PROLONGED SOUND MARK 30FC
-Kayah Li A900
-KELVIN SIGN 212A
-ket 27E9
-key, clear 2327
-key, command 2318
-key, delete to the left 232B
-key, delete to the right 2326
-key, enter 2324
-KEY, OPTION 2325
-KEY, SQUARED 26BF
-KEYBOARD 2328
-keyboard symbol for no break space 237D
-Keyboard Symbols 21E6
-Keyboard Symbols 2324
-Keyboard Symbols 2380
-Keyboard Symbols 2396
-KEYCAP, COMBINING ENCLOSING 20E3
-khanda, gurmukhi 262C
-Kharoshthi 10A00
-Kharoshthi Digits 10A40
-Khmer 1780
-khmer anusvara 17C6
-Khmer Consonants 1780
-KHMER CURRENCY SYMBOL RIEL 17DB
-Khmer Dependent Vowel Signs 17B6
-Khmer Digits 17E0
-Khmer Independent Vowels 17A5
-Khmer Numeric Symbols for Divination 17F0
-KHMER SIGN NIKAHIT 17C6
-KHMER SIGN REAHMUK 17C7
-Khmer Signs 17C6
-khmer srak ah 17C7
-khmer srak am 17C6
-Khmer Symbols 19E0
-khmer visarga 17C7
-KHOMUT, THAI CHARACTER 0E5B
-Khutsuri, Georgian 10A0
-killer, myanmar 1039
-KIP SIGN 20AD
-kissen 2311
-kome, japanese 203B
-Komi Letters 0500
-Koranic Annotation Signs, Arabic 06D6
-Korean Combining Alphabet 1100
-korean currency 20A9
-Korean Hangul Archaic Letters 3165
-Korean Hangul Compatibility Jamo 3130
-Korean Hangul Jamo Combining Alphabet 1100
-Korean Hangul Jamo Extended-A A960
-Korean Hangul Jamo Extended-B D7B0
-Korean Hangul Letters, Circled 3260
-Korean Hangul Letters, Parenthesized 3200
-Korean Hangul Syllables AC00
-Korean Hangul Syllables, Circled 326E
-Korean Hangul Syllables, Parenthesized 320E
-Korean Hangul Variants, Halfwidth FFA0
-KOREAN STANDARD SYMBOL 327F
-KORONIS, COMBINING GREEK 0343
-KOTO, KATAKANA DIGRAPH 30FF
-KRA, LATIN SMALL LETTER 0138
-L B BAR SYMBOL 2114
-L WITH ACUTE, LATIN SMALL LETTER 013A
-L WITH BAR, LATIN CAPITAL LETTER 023D
-L WITH BAR, LATIN SMALL LETTER 019A
-L WITH BELT, LATIN SMALL LETTER 026C
-L WITH CARON, LATIN SMALL LETTER 013E
-L WITH CEDILLA, LATIN SMALL LETTER 013C
-L WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER 1E3D
-L WITH CURL, LATIN SMALL LETTER 0234
-L WITH DOT BELOW, LATIN SMALL LETTER 1E37
-L WITH LINE BELOW, LATIN SMALL LETTER 1E3B
-L WITH MIDDLE DOT, LATIN SMALL LETTER 0140
-L WITH MIDDLE TILDE, LATIN SMALL LETTER 026B
-L WITH RETROFLEX HOOK, LATIN SMALL LETTER 026D
-L WITH STROKE, LATIN LETTER SMALL CAPITAL 1D0C
-L WITH STROKE, LATIN SMALL LETTER 0142
-L, LATIN LETTER SMALL CAPITAL 029F
-L, MODIFIER LETTER SMALL 02E1
-L, REVERSED SANS-SERIF CAPITAL 2143
-L, SCRIPT CAPITAL 2112
-L, SCRIPT SMALL 2113
-L, TURNED SANS-SERIF CAPITAL 2142
-lambda bar, latin letter 019B
-LANGUAGE TAG E0001
-Lao 0E80
-LAO CANCELLATION MARK 0ECC
-Lao Consonants 0E81
-Lao Digits 0ED0
-LAO ELLIPSIS 0EAF
-Lao Marks and Signs 0EC8
-LAO NIGGAHITA 0ECD
-Lao Vowels 0EB0
-laotian currency 20AD
-laplace operator 2206
-laplace transform 2112
-large bowtie 2A1D
-LARGE CIRCLE 25EF
-Large Operators 29F8
-LAST QUARTER MOON 263E
-LATERAL CLICK, LATIN LETTER 01C1
-Latin Abbreviations, Squared 3371
-Latin Abbreviations, Squared 3380
-Latin Capital Letters, Enclosed 1F110
-Latin Capital Letters, Parenthesized 1F110
-LATIN CROSS 271D
-Latin Extended Additional 1E00
-Latin Extended-A 0100
-Latin Extended-B 0180
-Latin Extended-C 2C60
-Latin Extended-D A720
-Latin Extensions 1D00
-LATIN LETTER AIN 1D25
-LATIN LETTER ALVEOLAR CLICK 01C2
-LATIN LETTER BIDENTAL PERCUSSIVE 02AD
-LATIN LETTER BILABIAL CLICK 0298
-LATIN LETTER BILABIAL PERCUSSIVE 02AC
-latin letter bullseye 0298
-LATIN LETTER DENTAL CLICK 01C0
-latin letter exclamation mark 01C3
-LATIN LETTER GLOTTAL STOP 0294
-LATIN LETTER INVERTED GLOTTAL STOP 0296
-latin letter lambda bar 019B
-LATIN LETTER LATERAL CLICK 01C1
-LATIN LETTER PHARYNGEAL VOICED FRICATIVE 0295
-LATIN LETTER RETROFLEX CLICK 01C3
-LATIN LETTER REVERSED ESH LOOP 01AA
-latin letter reversed glottal stop 0295
-LATIN LETTER STRETCHED C 0297
-LATIN LETTER VOICED LARYNGEAL SPIRANT 1D24
-LATIN LETTER WYNN 01BF
-LATIN LETTER YR 01A6
-Latin Letters, Circled 1F12B
-Latin Letters, Circled 24B6
-Latin Letters, Parenthesized 1F110
-Latin Letters, Parenthesized 249C
-Latin Letters, Phonetic Modifiers Derived from 02B0
-Latin Letters, Squared 1F131
-Latin Ligatures FB00
-Latin Lowercase Alphabet 0061
-LATIN SMALL LETTER AE 00E6
-LATIN SMALL LETTER ALPHA 0251
-latin small letter baby gamma 0264
-latin small letter closed epsilon 029A
-LATIN SMALL LETTER CLOSED OMEGA 0277
-latin small letter closed reversed epsilon 025E
-LATIN SMALL LETTER DB DIGRAPH 0238
-LATIN SMALL LETTER ENG 014B
-latin small letter epsilon 025B
-LATIN SMALL LETTER ESH 0283
-LATIN SMALL LETTER ETH 00F0
-LATIN SMALL LETTER EZH 0292
-LATIN SMALL LETTER EZH REVERSED 01B9
-LATIN SMALL LETTER EZH WITH CARON 01EF
-LATIN SMALL LETTER GAMMA 0263
-LATIN SMALL LETTER GLOTTAL STOP 0242
-LATIN SMALL LETTER HV 0195
-LATIN SMALL LETTER IOTA 0269
-LATIN SMALL LETTER KRA 0138
-LATIN SMALL LETTER LEZH 026E
-LATIN SMALL LETTER OI 01A3
-LATIN SMALL LETTER OU 0223
-LATIN SMALL LETTER PHI 0278
-LATIN SMALL LETTER QP DIGRAPH 0239
-LATIN SMALL LETTER RAMS HORN 0264
-LATIN SMALL LETTER SCHWA 0259
-LATIN SMALL LETTER SQUAT REVERSED ESH 0285
-LATIN SMALL LETTER THORN 00FE
-LATIN SMALL LETTER TONE SIX 0185
-LATIN SMALL LETTER TURNED AE 1D02
-LATIN SMALL LETTER TURNED ALPHA 0252
-LATIN SMALL LETTER TURNED DELTA 018D
-LATIN SMALL LETTER TURNED OE 1D14
-LATIN SMALL LETTER UPSILON 028A
-LATIN SMALL LETTER YOGH 021D
-Latin Small Letters 0061
-Latin Small Letters, Combining 0363
-latin small ligature ae 00E6
-LATIN SMALL LIGATURE IJ 0133
-LATIN SMALL LIGATURE OE 0153
-Latin Superscript Modifier Letters 02B0
-Latin Uppercase Alphabet 0041
-Latin, Basic 0000
-Latin, European 0100
-Latin-1 Punctuation and Symbols 00A0
-Latin-1 Supplement 00A0
-lazy s 223D
-LAZY S, INVERTED 223E
-LEADER, ONE DOT 2024
-leader, three dot 2026
-LEADER, TWO DOT 2025
-leaf, aldus 2766
-leaf, ivy 2767
-left abstract syntax bracket 301A
-LEFT ANGLE ABOVE, COMBINING 031A
-LEFT ANGLE BELOW, COMBINING 0349
-LEFT ANGLE BRACKET 3008
-LEFT ANGLE BRACKET, MATHEMATICAL 27E8
-LEFT ARROW ABOVE, COMBINING 20D6
-LEFT ARROW BELOW, COMBINING 20EE
-LEFT ARROWHEAD BELOW, COMBINING 0354
-left bag bracket 27E6
-LEFT BLACK LENTICULAR BRACKET 3010
-LEFT CEILING 2308
-left chevron bracket 27EA
-LEFT CORNER BRACKET 300C
-LEFT CURLY BRACKET 007B
-LEFT DOUBLE ANGLE BRACKET 300A
-LEFT DOUBLE ANGLE BRACKET, MATHEMATICAL 27EA
-LEFT DOUBLE QUOTATION MARK 201C
-LEFT FLOOR 230A
-LEFT HALF RING ABOVE, COMBINING 0351
-LEFT HALF RING BELOW, COMBINING 031C
-LEFT HALF RING, ARMENIAN MODIFIER LETTER 0559
-LEFT HALF RING, MODIFIER LETTER 02BF
-LEFT HALF RING, MODIFIER LETTER CENTRED 02D3
-LEFT HARPOON ABOVE, COMBINING 20D0
-LEFT HOOK, LATIN CAPITAL LETTER N WITH 019D
-LEFT HOOK, LATIN SMALL LETTER N WITH 0272
-left key, delete to the 232B
-left moustache 23B0
-LEFT NORMAL FACTOR SEMIDIRECT PRODUCT 22C9
-LEFT PARENTHESIS 0028
-LEFT PARENTHESIS, ORNATE FD3E
-left pointing guillemet 00AB
-LEFT POINTING INDEX, BLACK 261A
-LEFT POINTING INDEX, WHITE 261C
-left pointing single guillemet 2039
-LEFT RIGHT ARROW ABOVE, COMBINING 20E1
-LEFT RIGHT ARROW BELOW, COMBINING 034D
-LEFT SEMIDIRECT PRODUCT 22CB
-left sequence bracket 27E8
-LEFT SINGLE QUOTATION MARK 2018
-LEFT SQUARE BRACKET 005B
-LEFT SQUARE BRACKET WITH QUILL 2045
-LEFT TACK 22A3
-LEFT TACK BELOW, COMBINING 0318
-LEFT TORTOISE SHELL BRACKET 3014
-LEFT WHITE CORNER BRACKET 300E
-LEFT WHITE CURLY BRACKET 2983
-LEFT WHITE LENTICULAR BRACKET 3016
-LEFT WHITE PARENTHESIS 2985
-LEFT WHITE SQUARE BRACKET 301A
-LEFT WHITE TORTOISE SHELL BRACKET 3018
-LEFT, ERASE TO THE 232B
-left, fast cursor 219E
-LEFT-POINTING ANGLE BRACKET 2329
-LEFT-POINTING ANGLE QUOTATION MARK, SINGLE 2039
-LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 00AB
-LEFT-TO-RIGHT EMBEDDING 202A
-LEFT-TO-RIGHT MARK 200E
-LEFT-TO-RIGHT OVERRIDE 202D
-leftward tab 21E4
-LEFTWARDS ARROW 2190
-LEFTWARDS ARROW OVERLAY, COMBINING 20EA
-LEFTWARDS BULLET, BLACK 204C
-LEFTWARDS HARPOON WITH BARB DOWNWARDS, COMBINING 20ED
-LENTICULAR BRACKET, LEFT BLACK 3010
-LENTICULAR BRACKET, LEFT WHITE 3016
-LENTICULAR BRACKET, RIGHT BLACK 3011
-LENTICULAR BRACKET, RIGHT WHITE 3017
-LEO 264C
-Lepcha 1C00
-LESS-THAN OR EQUAL TO 2264
-LESS-THAN SIGN 003C
-LESS-THAN, MUCH 226A
-LESS-THAN, VERY MUCH 22D8
-Letterlike Mathematical Symbols, Hebrew 2135
-Letterlike Symbols 2100
-level 2 lock 21EB
-level 3 lock 21EF
-level 3 select 21EE
-LEZH, LATIN SMALL LETTER 026E
-lf 000A
-lgroup 27EE
-LIBRA 264E
-ligature ae, latin capital 00C6
-ligature ae, latin small 00E6
-LIGATURE IJ, LATIN SMALL 0133
-LIGATURE OE, LATIN SMALL 0153
-ligature tie 0361
-ligature tie below 035C
-Ligatures, Arabic FBEA
-Ligatures, Armenian FB13
-Ligatures, Latin FB00
-LIGHTHOUSE, MAP SYMBOL FOR 26EF
-LIGHTNING 2607
-Limbu 1900
-Limbu Digits 1946
-LIMBU EXCLAMATION MARK 1944
-LIMBU QUESTION MARK 1945
-Limbu Signs 1939
-LIMIT, APPROACHES THE 2250
-LINE ABOVE, COMBINING DOUBLE VERTICAL 030E
-LINE ABOVE, COMBINING VERTICAL 030D
-LINE BACKWARD, PARTIAL 008C
-LINE BELOW, COMBINING DOUBLE VERTICAL 0348
-LINE BELOW, COMBINING VERTICAL 0329
-LINE FEED 000A
-line feed 21B4
-LINE FEED, REVERSE 008D
-LINE FEED, SYMBOL FOR 240A
-LINE FORWARD, PARTIAL 008B
-line marker 2319
-Line Operators, Vertical 2AEE
-LINE OVERLAY, COMBINING LONG VERTICAL 20D2
-LINE OVERLAY, COMBINING SHORT VERTICAL 20D3
-LINE SEPARATOR 2028
-LINE SYMBOL, CENTRE 2104
-LINE TABULATION 000B
-LINE TABULATION SET 008A
-LINE WITH MIDDLE DOT, VERTICAL 237F
-line, beginning of 2310
-LINE, CENTRELINE LOW FE4E
-LINE, COMBINING DOUBLE LOW 0333
-LINE, COMBINING LOW 0332
-LINE, DASHED LOW FE4D
-LINE, DOUBLE LOW 2017
-LINE, DOUBLE VERTICAL 2016
-line, end of 000A
-LINE, LOW 005F
-LINE, MODIFIER LETTER LOW VERTICAL 02CC
-LINE, MODIFIER LETTER VERTICAL 02C8
-line, new 000A
-LINE, NEXT 0085
-LINE, PROPERTY 214A
-LINE, VERTICAL 007C
-LINE, WAVY 2307
-LINE, WAVY LOW FE4F
-Linear B Ideograms 10080
-Linear B Syllabary 10000
-Lines, Horizontal Scan 23BA
-Lines, Vertical 2223
-LIRA SIGN 20A4
-lira, italian 00A3
-lira, turkish 00A3
-Lisu A4D0
-liter 2113
-LIVRE TOURNOIS SIGN 20B6
-lock, caps 21EA
-lock, caps 21EC
-lock, numerics 21ED
-lock, parental 26BF
-Logic Operators, Modal 27D8
-Logic Operators, Modal 27E0
-LOGICAL AND 2227
-LOGICAL AND, CURLY 22CF
-LOGICAL AND, N-ARY 22C0
-Logical Ands and Ors 2A51
-LOGICAL OR 2228
-LOGICAL OR, CURLY 22CE
-LOGICAL OR, N-ARY 22C1
-long 0304
-Long Arrows 27F5
-LONG DIVISION 27CC
-long double slash overlay 20EB
-LONG S, LATIN SMALL LETTER 017F
-long slash overlay 0338
-LONG SOLIDUS OVERLAY, COMBINING 0338
-LONG STROKE OVERLAY, COMBINING 0336
-LONG VERTICAL LINE OVERLAY, COMBINING 20D2
-LORRAINE, CROSS OF 2628
-lorry, black 26DF
-LOW ACUTE ACCENT, MODIFIER LETTER 02CF
-LOW ASTERISK 204E
-low double comma quotation mark 201E
-LOW DOUBLE PRIME QUOTATION MARK 301F
-LOW GRAVE ACCENT, MODIFIER LETTER 02CE
-LOW LINE 005F
-LOW LINE, CENTRELINE FE4E
-LOW LINE, COMBINING 0332
-LOW LINE, COMBINING DOUBLE 0333
-LOW LINE, DASHED FE4D
-LOW LINE, DOUBLE 2017
-LOW LINE, WAVY FE4F
-LOW MACRON, MODIFIER LETTER 02CD
-low single comma quotation mark 201A
-Low Surrogates DC00
-LOW VERTICAL LINE, MODIFIER LETTER 02CC
-LOW-9 QUOTATION MARK, DOUBLE 201E
-LOW-9 QUOTATION MARK, SINGLE 201A
-lower integral 2A1C
-lower rank than 227A
-Lowercase Alphabet, Latin 0061
-LOZENGE 25CA
-LOZENGE, BLACK 29EB
-LOZENGE, SQUARE 2311
-lre 202A
-lrm 200E
-lro 202D
-LUNATE EPSILON SYMBOL, GREEK 03F5
-LUNATE EPSILON SYMBOL, GREEK REVERSED 03F6
-LUNATE SIGMA SYMBOL, GREEK 03F2
-Lycian 10280
-Lydian 10920
-M WITH ACUTE, LATIN SMALL LETTER 1E3F
-M WITH DOT ABOVE, LATIN SMALL LETTER 1E41
-M WITH DOT BELOW, LATIN SMALL LETTER 1E43
-M WITH HOOK, LATIN SMALL LETTER 0271
-M WITH LONG LEG, LATIN SMALL LETTER TURNED 0270
-M, COMBINING LATIN SMALL LETTER 036B
-M, LATIN CAPITAL LETTER TURNED 019C
-M, LATIN LETTER SMALL CAPITAL 1D0D
-M, LATIN SMALL LETTER SIDEWAYS TURNED 1D1F
-M, LATIN SMALL LETTER TURNED 026F
-M, SCRIPT CAPITAL 2133
-m-matrix 2133
-maatham, tamil 0BF4
-MACRON 00AF
-MACRON BELOW, COMBINING 0331
-MACRON BELOW, COMBINING DOUBLE 035F
-MACRON LEFT HALF, COMBINING FE24
-MACRON RIGHT HALF, COMBINING FE25
-MACRON, COMBINING 0304
-MACRON, COMBINING DOUBLE 035E
-MACRON, MODIFIER LETTER 02C9
-MACRON, MODIFIER LETTER LOW 02CD
-macron, spacing 00AF
-Mahjong Tiles 1F000
-Malayalam 0D00
-malayalam chandrakkala 0D4D
-Malayalam Chillu Letters 0D7A
-Malayalam Consonants 0D15
-Malayalam Dependent Vowel Signs 0D3E
-Malayalam Digits 0D66
-Malayalam Independent Vowels 0D05
-MALAYALAM SIGN VIRAMA 0D4D
-malayalam vowel half-u 0D4D
-MALE SIGN 2642
-MALTESE CROSS 2720
-MANCHU COMMA, MONGOLIAN 1808
-MANCHU FULL STOP, MONGOLIAN 1809
-mandarin chinese fifth or neutral tone 02D9
-mandarin chinese first tone 02C9
-mandarin chinese fourth tone 02CB
-mandarin chinese second tone 02CA
-mandarin chinese third tone 02C7
-Map Symbols, Dictionary and 2690
-maplet 21A6
-maps from 27FB
-maps from 2906
-maps to 27FC
-maps to 2905
-maps to 2907
-marina or yacht harbour 26F4
-mark pre-wwii, german 2133
-marker, histogram 25AE
-marker, line 2319
-Markers, Go 2686
-Marks, Combining Diacritical 0300
-Marks, Combining Half FE20
-MARRIAGE SYMBOL 26AD
-mars 2642
-MASCULINE ORDINAL INDICATOR 00BA
-MASU MARK 303C
-Mathematical Alphanumeric Symbols 1D400
-Mathematical Brackets 27E6
-mathematical constant 3.141592... pi 03C0
-Mathematical Digits Symbols 1D7CE
-Mathematical Operators 2200
-Mathematical Operators, Dotted 2234
-Mathematical Operators, Enclosed 2295
-Mathematical Operators, Supplemental 2A00
-Mathematical Operators, Tilde 223B
-MATHEMATICAL SPACE, MEDIUM 205F
-Mathematical Symbols 27C0
-Mathematical Symbols 2980
-Mathematical Symbols, Black-letter 1D504
-Mathematical Symbols, Bold Fraktur 1D56C
-Mathematical Symbols, Bold Greek 1D6A8
-Mathematical Symbols, Bold Italic 1D468
-Mathematical Symbols, Bold Italic Greek 1D71C
-Mathematical Symbols, Bold Script 1D4D0
-Mathematical Symbols, Dotless 1D6A4
-Mathematical Symbols, Double-struck 1D538
-Mathematical Symbols, Fraktur 1D504
-Mathematical Symbols, Greek 1D6A8
-Mathematical Symbols, Hebrew Letterlike 2135
-Mathematical Symbols, Italic 1D434
-Mathematical Symbols, Italic Greek 1D6E2
-Mathematical Symbols, Monospace 1D670
-Mathematical Symbols, Sans-serif 1D5A0
-Mathematical Symbols, Sans-serif Bold 1D5D4
-Mathematical Symbols, Sans-serif Bold Greek 1D756
-Mathematical Symbols, Sans-serif Bold Italic 1D63C
-Mathematical Symbols, Sans-serif Bold Italic Greek 1D790
-Mathematical Symbols, Sans-serif Italic 1D608
-Mathematical Symbols, Script 1D49C
-Mathematical Symbols-A, Miscellaneous 27C0
-Mathematical Symbols-B, Miscellaneous 2980
-MATRIX, HERMITIAN CONJUGATE 22B9
-MEASURED ANGLE 2221
-Measured Angles, Angles and 299B
-MEASURED BY 225E
-med avdrag av 2052
-Medieval Superscript Letter Diacritics 0363
-Medieval Superscript Letter Diacritics, Latin 1DD3
-Medievalist Punctuation 2E2A
-MEDIUM BLACK CIRCLE 26AB
-MEDIUM MATHEMATICAL SPACE 205F
-MEDIUM SMALL SQUARE, BLACK 25FE
-MEDIUM SMALL WHITE CIRCLE 26AC
-MEDIUM SQUARE, BLACK 25FC
-MEDIUM WHITE CIRCLE 26AA
-MEDIUM, END OF 0019
-MEDIUM, SYMBOL FOR END OF 2419
-Meetei Mayek ABC0
-MEMBER, CONTAINS AS 220B
-MEMBER, DOES NOT CONTAIN AS 220C
-MEMBER, SMALL CONTAINS AS 220D
-Membership Signs, Set 2208
-MEMBERSHIP, Z NOTATION BAG 22FF
-MERCURY 263F
-merge 2A07
-merpadi, tamil 0BF8
-MESSAGE WAITING 0095
-MESSAGE, PRIVACY 009E
-Metrical Symbols 23D1
-mho 2127
-MICRO SIGN 00B5
-mid space 2005
-MIDDLE DOT 00B7
-middle dot, greek 00B7
-MIDDLE DOT, KATAKANA 30FB
-MIDDLE DOT, LATIN SMALL LETTER L WITH 0140
-MIDDLE DOT, VERTICAL LINE WITH 237F
-MIDDLE DOT, WORD SEPARATOR 2E31
-MIDDLE TILDE, LATIN CAPITAL LETTER O WITH 019F
-MIDDLE TILDE, LATIN SMALL LETTER L WITH 026B
-MIDLINE HORIZONTAL ELLIPSIS 22EF
-midpoint 00B7
-MILL SIGN 20A5
-MILLE SIGN, PER 2030
-milreis 0024
-minim 264F
-minim alternate glyph 264D
-mining symbol 2692
-MINUS SIGN 2212
-MINUS SIGN BELOW, COMBINING 0320
-Minus Sign Operators, Plus and 2A22
-MINUS SIGN, COMMERCIAL 2052
-minus sign, hyphen or 002D
-MINUS SIGN, MODIFIER LETTER 02D7
-MINUS TILDE 2242
-MINUS, CIRCLED 2296
-MINUS, DOT 2238
-MINUS, SET 2216
-MINUS, SQUARED 229F
-MINUS-OR-PLUS SIGN 2213
-minutes 2032
-MINY 29FF
-Mkhedruli, Georgian 10D0
-mmsp 205F
-Modal Logic Operators 27E0
-MODELS 22A7
-Modifier Letter Extensions 1D2C
-Modifier Letters, Latin Superscript 02B0
-Modifier Letters, Spacing 02B0
-Modifier Tone Letters A700
-Modifiers Derived from Latin Letters, Phonetic 02B0
-Modifiers, Phonetic 02B9
-Modifiers, UPA 02EF
-Mongolian 1800
-Mongolian Basic Letters 1820
-MONGOLIAN BIRGA 1800
-MONGOLIAN COLON 1804
-MONGOLIAN COMMA 1802
-mongolian currency 20AE
-Mongolian Digits 1810
-MONGOLIAN ELLIPSIS 1801
-Mongolian Extensions 1843
-Mongolian Format Controls 180B
-MONGOLIAN FOUR DOTS 1805
-MONGOLIAN FREE VARIATION SELECTOR ONE 180B
-MONGOLIAN FREE VARIATION SELECTOR THREE 180D
-MONGOLIAN FREE VARIATION SELECTOR TWO 180C
-MONGOLIAN FULL STOP 1803
-MONGOLIAN MANCHU COMMA 1808
-MONGOLIAN MANCHU FULL STOP 1809
-MONGOLIAN NIRUGU 180A
-Mongolian Punctuation 1800
-MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER 1807
-MONGOLIAN TODO SOFT HYPHEN 1806
-MONGOLIAN VOWEL SEPARATOR 180E
-Monogram and Digram Symbols, Yijing / I Ching 268A
-Monospace Digits 1D7F6
-Monospace Mathematical Symbols 1D670
-MONOSTABLE SYMBOL 238D
-MONTH SIGN, TAMIL 0BF4
-Months, Enclosed CJK Letters and 3200
-Months, Ideographic Telegraph Symbols for 32C0
-MOON, FIRST QUARTER 263D
-MOON, LAST QUARTER 263E
-most positive 223E
-MOUNTAIN 26F0
-moustache, left 23B0
-moustache, right 23B1
-MUCH GREATER-THAN 226B
-MUCH GREATER-THAN, VERY 22D9
-MUCH LESS-THAN 226A
-MUCH LESS-THAN, VERY 22D8
-MULTIMAP 22B8
-Multiplication and Division Sign Operators 2A2F
-MULTIPLICATION SIGN 00D7
-MULTIPLICATION X 2715
-MULTIPLICATION X, HEAVY 2716
-MULTIPLICATION, MULTISET 228D
-MULTISET 228C
-MULTISET MULTIPLICATION 228D
-MULTISET UNION 228E
-Music Dingbats 2669
-MUSIC FLAT SIGN 266D
-MUSIC NATURAL SIGN 266E
-MUSIC SHARP SIGN 266F
-Musical Notation, Ancient Greek 1D200
-Musical Symbols 1D100
-Musical Symbols, Balinese 1B61
-Musical Symbols, Basic 2669
-Musical Symbols, Byzantine 1D000
-mutton 2003
-mutton quad 2001
-Myanmar 1000
-Myanmar Consonants 1000
-Myanmar Dependent Vowel Signs 102C
-Myanmar Digits 1040
-Myanmar Extended-A AA60
-Myanmar Independent Vowels 1021
-myanmar killer 1039
-MYANMAR SIGN VIRAMA 1039
-Myanmar Signs 1036
-N WITH ACUTE, LATIN SMALL LETTER 0144
-N WITH CARON, LATIN SMALL LETTER 0148
-N WITH CEDILLA, LATIN SMALL LETTER 0146
-N WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER 1E4B
-N WITH CURL, LATIN SMALL LETTER 0235
-N WITH DOT ABOVE, LATIN SMALL LETTER 1E45
-N WITH DOT BELOW, LATIN SMALL LETTER 1E47
-N WITH GRAVE, LATIN SMALL LETTER 01F9
-N WITH LEFT HOOK, LATIN CAPITAL LETTER 019D
-N WITH LEFT HOOK, LATIN SMALL LETTER 0272
-N WITH LINE BELOW, LATIN SMALL LETTER 1E49
-N WITH LONG RIGHT LEG, LATIN CAPITAL LETTER 0220
-N WITH LONG RIGHT LEG, LATIN SMALL LETTER 019E
-N WITH RETROFLEX HOOK, LATIN SMALL LETTER 0273
-N WITH TILDE, LATIN CAPITAL LETTER 00D1
-N WITH TILDE, LATIN SMALL LETTER 00F1
-N, DOUBLE-STRUCK CAPITAL 2115
-N, LATIN LETTER SMALL CAPITAL 0274
-N, LATIN LETTER SMALL CAPITAL REVERSED 1D0E
-N-ARY COPRODUCT 2210
-n-ary dijkstra choice 2AFF
-N-ARY INTERSECTION 22C2
-N-ARY LOGICAL AND 22C0
-N-ARY LOGICAL OR 22C1
-N-ary Operators 22C0
-N-ary Operators 2A00
-N-ARY PRODUCT 220F
-N-ARY SUMMATION 2211
-N-ARY SUMMATION, DOUBLE-STRUCK 2140
-N-ARY TIMES OPERATOR 2A09
-N-ARY UNION 22C3
-N-ARY WHITE VERTICAL BAR 2AFF
-naal, tamil 0BF3
-NABLA 2207
-NAIRA SIGN 20A6
-NAND 22BC
-NARROW NO-BREAK SPACE 202F
-nasal hook 0328
-natural exponent 212F
-natural number 2115
-NATURAL SIGN, MUSIC 266E
-nbsp 00A0
-nearly equals 2252
-necessarily satisfies 2AF1
-NEGATIVE ACKNOWLEDGE 0015
-NEGATIVE ACKNOWLEDGE, SYMBOL FOR 2415
-nel 0085
-NEPTUNE 2646
-NEUTER 26B2
-neutral quotation mark 0022
-neutral single quotation mark 0027
-neutral tone, mandarin chinese fifth or 02D9
-new line 000A
-NEW SHEQEL SIGN 20AA
-New Tai Lue 1980
-New Tai Lue Digits 19D0
-New Testament Editorial Symbols 2E00
-new testament majority text 1D510
-NEWLINE, SYMBOL FOR 2424
-NEXT LINE 0085
-NEXT PAGE 2398
-NIB, BLACK 2712
-NIB, WHITE 2711
-nigerian currency 20A6
-NIGGAHITA, LAO 0ECD
-NIKAHIT, KHMER SIGN 17C6
-NIKHAHIT, THAI CHARACTER 0E4D
-nim-addition 2A27
-NIRUGU, MONGOLIAN 180A
-NKo 07C0
-nl 000A
-nnbsp 202F
-no 20E0
-NO BREAK HERE 0083
-no break space, keyboard symbol for 237D
-NO ENTRY 26D4
-NO-BREAK SPACE 00A0
-NO-BREAK SPACE, NARROW 202F
-NO-BREAK SPACE, ZERO WIDTH FEFF
-NODE, ASCENDING 260A
-NODE, DESCENDING 260B
-NON-BREAKING HYPHEN 2011
-non-breaking space 00A0
-NON-JOINER, ZERO WIDTH 200C
-non-spacing iota below, greek 0345
-non-theorem 22A3
-Noncharacters *FFFE
-Noncharacters *FFFF
-Noncharacters FDD*
-Noncharacters FDE*
-NOR 22BD
-NORMAL FACTOR SEMIDIRECT PRODUCT, LEFT 22C9
-NORMAL FACTOR SEMIDIRECT PRODUCT, RIGHT 22CA
-NORMAL SUBGROUP OF 22B2
-Normal Subgroup Signs 22EA
-NORMAL SUBGROUP, CONTAINS AS 22B3
-not 223C
-NOT A SUBSET OF 2284
-NOT A SUPERSET OF 2285
-NOT ALMOST EQUAL TO 2249
-NOT AN ELEMENT OF 2209
-NOT ASYMPTOTICALLY EQUAL TO 2244
-NOT CHECK MARK 237B
-NOT EQUAL TO 2260
-NOT IDENTICAL TO 2262
-not independent 2ADC
-NOT PARALLEL TO 2226
-NOT SIGN 00AC
-NOT SIGN, REVERSED 2310
-NOT SIGN, TURNED 2319
-NOT TILDE 2241
-NOT TILDE ABOVE, COMBINING 034A
-not yield, does 22A3
-NOTE, EIGHTH 266A
-NOTE, QUARTER 2669
-NOTES, BEAMED EIGHTH 266B
-NOTES, BEAMED SIXTEENTH 266C
-NUKTA, DEVANAGARI SIGN 093C
-NULL 0000
-null set 2205
-NULL, SYMBOL FOR 2400
-Number Forms 2150
-NUMBER SIGN 0023
-NUMBER SIGN, TAMIL 0BFA
-number symbol, real 210A
-NUMBER ZERO, IDEOGRAPHIC 3007
-number, natural 2115
-Numbers and Punctuation, Cuneiform 12400
-Numbers Followed by Period 2488
-Numbers, Ancient Greek 10140
-Numbers, Circled 2460
-Numbers, Circled 3251
-Numbers, Circled 32B1
-Numbers, Circled Inverse 2776
-numbers, complex 2102
-Numbers, Double Circled 24F5
-Numbers, Ethiopic 1369
-Numbers, Parenthesized 2474
-numbers, rational 211A
-numbers, real 211D
-Numbers, Runic Golden 16EE
-Numbers, Tamil 0BE7
-Numbers, White on Black Circled 24EB
-Numerals, Hangzhou 3021
-Numerals, Old Italic 10320
-Numerals, Roman 2160
-Numerals, Suzhou 3021
-NUMERATOR ONE, FRACTION 215F
-Numeric Symbols for Divination, Khmer 17F0
-numerics lock 21ED
-NUMERO SIGN 2116
-nut 2002
-o bar, latin capital letter 019F
-o bar, latin small letter 0275
-o e, latin small letter 0153
-o slash, latin capital letter 00D8
-o slash, latin small letter 00F8
-O WITH ACUTE, LATIN CAPITAL LETTER 00D3
-O WITH ACUTE, LATIN SMALL LETTER 00F3
-O WITH BREVE, LATIN SMALL LETTER 014F
-O WITH CARON, LATIN SMALL LETTER 01D2
-O WITH CIRCUMFLEX, LATIN CAPITAL LETTER 00D4
-O WITH CIRCUMFLEX, LATIN SMALL LETTER 00F4
-O WITH DIAERESIS, LATIN CAPITAL LETTER 00D6
-O WITH DIAERESIS, LATIN SMALL LETTER 00F6
-O WITH DOT ABOVE, LATIN SMALL LETTER 022F
-O WITH DOT BELOW, LATIN SMALL LETTER 1ECD
-O WITH DOUBLE ACUTE, LATIN SMALL LETTER 0151
-O WITH DOUBLE GRAVE, LATIN SMALL LETTER 020D
-O WITH GRAVE, LATIN CAPITAL LETTER 00D2
-O WITH GRAVE, LATIN SMALL LETTER 00F2
-O WITH HOOK ABOVE, LATIN SMALL LETTER 1ECF
-O WITH HORN, LATIN SMALL LETTER 01A1
-O WITH INVERTED BREVE, LATIN SMALL LETTER 020F
-O WITH MACRON, LATIN SMALL LETTER 014D
-O WITH MIDDLE TILDE, LATIN CAPITAL LETTER 019F
-O WITH OGONEK, LATIN SMALL LETTER 01EB
-O WITH STROKE, LATIN CAPITAL LETTER 00D8
-O WITH STROKE, LATIN SMALL LETTER 00F8
-O WITH STROKE, LATIN SMALL LETTER SIDEWAYS 1D13
-O WITH TILDE, LATIN CAPITAL LETTER 00D5
-O WITH TILDE, LATIN SMALL LETTER 00F5
-O, COMBINING LATIN SMALL LETTER 0366
-o, latin capital letter barred 019F
-O, LATIN CAPITAL LETTER OPEN 0186
-O, LATIN LETTER SMALL CAPITAL 1D0F
-O, LATIN LETTER SMALL CAPITAL OPEN 1D10
-O, LATIN SMALL LETTER BARRED 0275
-O, LATIN SMALL LETTER BOTTOM HALF 1D17
-O, LATIN SMALL LETTER OPEN 0254
-O, LATIN SMALL LETTER SIDEWAYS 1D11
-O, LATIN SMALL LETTER SIDEWAYS OPEN 1D12
-O, LATIN SMALL LETTER TOP HALF 1D16
-O, SCRIPT SMALL 2134
-OBJECT REPLACEMENT CHARACTER FFFC
-OCR, Optical Character Recognition 2440
-octothorpe 0023
-OE, LATIN LETTER SMALL CAPITAL 0276
-OE, LATIN SMALL LETTER TURNED 1D14
-OE, LATIN SMALL LIGATURE 0153
-Ogham 1680
-Ogham Forfeda Supplement 1695
-Ogham Punctuation 169B
-OGHAM SPACE MARK 1680
-Ogham Traditional Letters 1681
-OGONEK 02DB
-OGONEK, COMBINING 0328
-OHM SIGN 2126
-OHM SIGN, INVERTED 2127
-OI, LATIN SMALL LETTER 01A3
-Ol Chiki 1C50
-Old Italic 10300
-Old Persian 103A0
-old testament, greek 1D516
-OM, DEVANAGARI 0950
-OM, TIBETAN SYLLABLE 0F00
-omega pi 03D6
-OMEGA, LATIN SMALL LETTER CLOSED 0277
-ONE DOT LEADER 2024
-ONE HALF, VULGAR FRACTION 00BD
-ONE QUARTER, VULGAR FRACTION 00BC
-ONE, FRACTION NUMERATOR 215F
-ONE, SUPERSCRIPT 00B9
-OPEN BOX 2423
-OPEN BOX, SHOULDERED 237D
-OPEN E WITH HOOK, LATIN SMALL LETTER REVERSED 025D
-OPEN E, LATIN CAPITAL LETTER 0190
-OPEN E, LATIN SMALL LETTER 025B
-OPEN E, LATIN SMALL LETTER CLOSED 029A
-OPEN E, LATIN SMALL LETTER CLOSED REVERSED 025E
-OPEN E, LATIN SMALL LETTER REVERSED 025C
-OPEN E, LATIN SMALL LETTER TURNED 1D08
-OPEN O, LATIN CAPITAL LETTER 0186
-OPEN O, LATIN LETTER SMALL CAPITAL 1D10
-OPEN O, LATIN SMALL LETTER 0254
-OPEN O, LATIN SMALL LETTER SIDEWAYS 1D12
-opening brace 007B
-opening curly bracket 007B
-opening parenthesis 0028
-opening square bracket 005B
-OPERATING SYSTEM COMMAND 009D
-Operators Supplement, Mathematical 2A00
-Operators, Database Theory 27D5
-Operators, Dotted Mathematical 2234
-Operators, Double 22D0
-Operators, Enclosed Mathematical 2295
-Operators, Invisible 2061
-Operators, Large 29F8
-Operators, Mathematical 2200
-Operators, Modal Logic 27E0
-Operators, Multiplication and Division Sign 2A2F
-Operators, N-ary 22C0
-Operators, N-ary 2A00
-Operators, Plus and Minus Sign 2A22
-Operators, Relational 29E3
-Operators, Specialized Plus Sign 29FA
-Operators, Supplemental Mathematical 2A00
-Operators, Tilde Mathematical 223B
-Operators, Vertical Line 2AEE
-OPPOSITION 260D
-Optical Character Recognition, OCR 2440
-OPTION KEY 2325
-OR, CURLY LOGICAL 22CE
-OR, DOUBLE LOGICAL 2A54
-OR, LOGICAL 2228
-OR, N-ARY LOGICAL 22C1
-order 2134
-Order Relation Precedence Signs 227A
-Order Relation Precedence Signs 22DE
-ORDINAL INDICATOR, FEMININE 00AA
-ORDINAL INDICATOR, MASCULINE 00BA
-ordinarily satisfies 2AE2
-Ordinary Diacritics 0300
-ORIGIN, DIMENSION 2331
-ORIGINAL OF 22B6
-ORIGINAL OF, SQUARE 2290
-Oriya 0B00
-Oriya Consonants 0B15
-Oriya Dependent Vowel Signs 0B3E
-Oriya Digits 0B66
-Oriya Independent Vowels 0B05
-ORIYA ISSHAR 0B70
-Ornamental Angle Quotation Marks 276E
-Ornamental Brackets 2768
-Ornaments, Heart 2763
-Ornaments, Punctuation 275B
-Ornaments, Quotation Mark 275B
-ORNATE LEFT PARENTHESIS FD3E
-ORNATE RIGHT PARENTHESIS FD3F
-Ors, Logical Ands and 2A51
-ORTHODOX CROSS 2626
-orthogonal to 22A5
-Osmanya 10480
-Osmanya Digits 104A0
-OU, LATIN LETTER SMALL CAPITAL 1D15
-OU, LATIN SMALL LETTER 0223
-OUNCE SIGN 2125
-overbar, apl 00AF
-OVERLAY, COMBINING ANTICLOCKWISE RING 20DA
-OVERLAY, COMBINING CLOCKWISE RING 20D9
-overlay, combining counterclockwise ring 20DA
-OVERLAY, COMBINING DOUBLE VERTICAL STROKE 20E6
-OVERLAY, COMBINING LEFTWARDS ARROW 20EA
-OVERLAY, COMBINING LONG DOUBLE SOLIDUS 20EB
-OVERLAY, COMBINING LONG SOLIDUS 0338
-OVERLAY, COMBINING LONG STROKE 0336
-OVERLAY, COMBINING LONG VERTICAL LINE 20D2
-OVERLAY, COMBINING REVERSE SOLIDUS 20E5
-OVERLAY, COMBINING RING 20D8
-OVERLAY, COMBINING SHORT SOLIDUS 0337
-OVERLAY, COMBINING SHORT STROKE 0335
-OVERLAY, COMBINING SHORT VERTICAL LINE 20D3
-OVERLAY, COMBINING TILDE 0334
-overlay, long double slash 20EB
-overlay, long slash 0338
-overlay, short slash 0337
-overline 00AF
-OVERLINE 203E
-OVERLINE, CENTRELINE FE4A
-OVERLINE, COMBINING 0305
-OVERLINE, COMBINING DOUBLE 033F
-OVERLINE, DASHED FE49
-OVERLINE, DOUBLE WAVY FE4C
-OVERLINE, WAVY FE4B
-OVERRIDE, LEFT-TO-RIGHT 202D
-OVERRIDE, RIGHT-TO-LEFT 202E
-overscore 0305
-overscore, spacing 203E
-Overscores and Underscores FE49
-Overstruck Diacritics 0334
-oxia, greek 0301
-P WITH ACUTE, LATIN SMALL LETTER 1E55
-P WITH DOT ABOVE, LATIN SMALL LETTER 1E57
-P WITH HOOK, LATIN SMALL LETTER 01A5
-P, DOUBLE-STRUCK CAPITAL 2119
-P, LATIN LETTER SMALL CAPITAL 1D18
-P, SCRIPT CAPITAL 2118
-page down 21DF
-page up 21DE
-PAGE, NEXT 2398
-PAGE, PREVIOUS 2397
-Pahlavi 10B60
-PALATAL HOOK, LATIN SMALL LETTER T WITH 01AB
-PALATALIZED HOOK BELOW, COMBINING 0321
-PALM BRANCH 2E19
-PALUTA, TIBETAN MARK 0F85
-PAMUDPOD, HANUNOO SIGN 1734
-PAPER SIGN, PERMANENT 267E
-PAPER SYMBOL, PARTIALLY-RECYCLED 267D
-PAPER SYMBOL, RECYCLED 267C
-papyrological hyphen 035C
-PARAGRAPH SEPARATOR 2029
-PARAGRAPH SEPARATOR, ETHIOPIC 1368
-PARAGRAPH SEPARATOR, GEORGIAN 10FB
-paragraph separator, urdu 203B
-paragraph sign 00B6
-PARAGRAPH SIGN ORNAMENT, CURVED STEM 2761
-paragraph sign, european 00A7
-paraguayan currency 20B2
-PARALLEL TO 2225
-PARALLEL TO, NOT 2226
-PARALLELOGRAM, BLACK 25B0
-parental lock 26BF
-parenthesis, closing 0029
-PARENTHESIS, LEFT 0028
-PARENTHESIS, LEFT WHITE 2985
-parenthesis, opening 0028
-PARENTHESIS, ORNATE LEFT FD3E
-PARENTHESIS, ORNATE RIGHT FD3F
-PARENTHESIS, RIGHT 0029
-PARENTHESIS, RIGHT WHITE 2986
-Parenthesized CJK Ideographs 3220
-Parenthesized Korean Hangul Letters 3200
-Parenthesized Korean Hangul Syllables 320E
-Parenthesized Latin Capital Letters 1F110
-Parenthesized Latin Letters 1F110
-Parenthesized Latin Letters 249C
-Parenthesized Numbers 2474
-park 26F2
-parted rule 00A6
-Parthian, Inscriptional 10B40
-PARTIAL DIFFERENTIAL 2202
-partial function 21F8
-partial injection 2914
-PARTIAL LINE BACKWARD 008C
-PARTIAL LINE FORWARD 008B
-partial relation 21F9
-partial surjection 2900
-PARTIALLY-RECYCLED PAPER SYMBOL 267D
-partly cloudy 26C5
-PARTNERSHIP SYMBOL, UNMARRIED 26AF
-patiw, armenian 055F
-patru, tamil 0BF6
-pause 2389
-pdf 202C
-PEACE SYMBOL 262E
-PENCIL 270F
-Pencil Dingbats 270E
-PENCIL, LOWER RIGHT 270E
-PENCIL, UPPER RIGHT 2710
-PENNY SIGN, GERMAN 20B0
-pentonkion, greek 2059
-PER MILLE SIGN 2030
-PER SIGN 214C
-PER TEN THOUSAND SIGN 2031
-per thousand 2030
-PERCENT SIGN 0025
-PERCUSSIVE, LATIN LETTER BIDENTAL 02AD
-PERCUSSIVE, LATIN LETTER BILABIAL 02AC
-period 002E
-Period, Numbers Followed by 2488
-PERISPOMENI, COMBINING GREEK 0342
-PERMANENT PAPER SIGN 267E
-perpendicular 22A5
-Persian, Old 103A0
-PERSPECTIVE 2306
-PESETA SIGN 20A7
-PESO SIGN 20B1
-petrol station 26FD
-Phags-pa A840
-Phaistos Disc 101D0
-PHARYNGEAL VOICED FRICATIVE, LATIN LETTER 0295
-PHI SYMBOL, GREEK 03D5
-PHI, LATIN SMALL LETTER 0278
-PHILIPPINE DOUBLE PUNCTUATION 1736
-PHILIPPINE SINGLE PUNCTUATION 1735
-phillipine currency 20B1
-Phoenician 10900
-Phonetic Digraphs 02A3
-Phonetic Extensions 1D00
-Phonetic Extensions, Katakana 31F0
-Phonetic Modifiers 02B9
-Phonetic Modifiers Derived from Latin Letters 02B0
-Phonetics and Symbols Area, CJK 2E80
-phonorecord sign 2117
-phul 2055
-PI SYMBOL, GREEK 03D6
-PI, DOUBLE-STRUCK CAPITAL 213F
-PI, DOUBLE-STRUCK SMALL 213C
-PI, GREEK SMALL LETTER 03C0
-pi, mathematical constant 3.141592... 03C0
-PICK 26CF
-Pictures for Control Codes, Graphic 2400
-PILCROW SIGN 00B6
-PILCROW SIGN, REVERSED 204B
-pillow 2311
-pipe 01C0
-pipe, double 01C1
-pipe, double-barred 01C2
-PISCES 2653
-piska 2052
-PITCHFORK 22D4
-PLACE OF INTEREST SIGN 2318
-plaintiff 226C
-PLANCK CONSTANT 210E
-PLANCK CONSTANT OVER TWO PI 210F
-Planet Symbols 263F
-Plastics Recycling Symbols 2673
-Playing Card Suits 2660
-Plus and Minus Sign Operators 2A22
-PLUS SIGN 002B
-PLUS SIGN BELOW, COMBINING 031F
-Plus Sign Operators, Specialized 29FA
-PLUS SIGN, MODIFIER LETTER 02D6
-PLUS, CIRCLED 2295
-PLUS, DOT 2214
-PLUS, DOUBLE 29FA
-PLUS, INVISIBLE 2064
-PLUS, SQUARED 229E
-PLUS, TRIPLE 29FB
-PLUS-MINUS SIGN 00B1
-PLUTO 2647
-point, decimal 002E
-POINT, HYPHENATION 2027
-Pointers 25BA
-Pointing Hand Symbols 261A
-Pointing Index Finger Dingbats 261A
-POINTING INDEX, BLACK LEFT 261A
-POINTING INDEX, BLACK RIGHT 261B
-POINTING INDEX, WHITE DOWN 261F
-POINTING INDEX, WHITE LEFT 261C
-POINTING INDEX, WHITE RIGHT 261E
-POINTING INDEX, WHITE UP 261D
-Points and Punctuation, Hebrew 05B0
-Points, Hebrew 05B0
-Points, Syriac 0730
-poison 2620
-Political Symbols, Religious and 2625
-Polygonal Symbols 2B12
-Polytonic Greek, Precomposed 1F00
-POP DIRECTIONAL FORMATTING 202C
-POSITION INDICATOR 2316
-positive difference or sum 2A24
-positive difference, sum or 2A26
-positive, most 223E
-POSTAL MARK 3012
-POSTAL MARK FACE 3020
-POSTAL MARK, CIRCLED 3036
-pound sign 0023
-POUND SIGN 00A3
-pound sterling 00A3
-pounds 2114
-power plant 26EE
-power set 1D4AB
-Precedence Signs, Order Relation 227A
-Precedence Signs, Order Relation 22DE
-PRECEDES 227A
-PRECEDES UNDER RELATION 22B0
-PRECEDES, DOUBLE 2ABB
-Precomposed Polytonic Greek 1F00
-PRESCRIPTION TAKE 211E
-Presentation Forms, Alphabetic FB00
-Presentation Forms, Hebrew FB1D
-Presentation Forms-A, Arabic FB50
-Presentation Forms-B, Arabic FE70
-PREVIOUS PAGE 2397
-PRIME 2032
-PRIME QUOTATION MARK, DOUBLE 301E
-PRIME QUOTATION MARK, LOW DOUBLE 301F
-PRIME QUOTATION MARK, REVERSED DOUBLE 301D
-PRIME, DOUBLE 2033
-PRIME, MODIFIER LETTER 02B9
-PRIME, MODIFIER LETTER DOUBLE 02BA
-PRIME, QUADRUPLE 2057
-PRIME, REVERSED 2035
-PRIME, REVERSED DOUBLE 2036
-PRIME, REVERSED TRIPLE 2037
-PRIME, TRIPLE 2034
-PRINT SCREEN SYMBOL 2399
-PRIVACY MESSAGE 009E
-Private Use Area E000
-Private Use Area-A, Supplementary F0000
-Private Use Area-B, Supplementary 100000
-PRIVATE USE ONE 0091
-PRIVATE USE TWO 0092
-product sign 220F
-product, cartesian 00D7
-product, direct 2299
-PRODUCT, INTERIOR 2A3C
-PRODUCT, LEFT NORMAL FACTOR SEMIDIRECT 22C9
-PRODUCT, LEFT SEMIDIRECT 22CB
-PRODUCT, N-ARY 220F
-PRODUCT, RIGHT NORMAL FACTOR SEMIDIRECT 22CA
-PRODUCT, RIGHT SEMIDIRECT 22CC
-PRODUCT, RIGHTHAND INTERIOR 2A3D
-PRODUCT, SHUFFLE 29E2
-PRODUCT, SMASH 2A33
-product, tensor 2297
-PRODUCT, VECTOR OR CROSS 2A2F
-PRODUCT, WREATH 2240
-PROGRAM COMMAND, APPLICATION 009F
-prohibition 20E0
-PROJECTIVE 2305
-PROOF, END OF 220E
-proper intersection 22D4
-PROPERTY LINE 214A
-PROPORTION 2237
-PROPORTION, GEOMETRIC 223A
-PROPORTIONAL TO 221D
-proportional to 223C
-proves 22A2
-psili, greek 0313
-published 2117
-pullback 27D3
-Punctuation and Signs, Greek 0374
-Punctuation and Signs, Myanmar 104A
-Punctuation and Signs, Syriac 0700
-Punctuation and Symbols, ASCII 0020
-Punctuation and Symbols, Latin-1 00A0
-Punctuation for Vertical Text, Double 2047
-Punctuation Ornaments 275B
-PUNCTUATION SPACE 2008
-Punctuation, Arabic 060C
-Punctuation, Canadian Syllabics 166D
-Punctuation, CJK Symbols and 3000
-Punctuation, Cuneiform Numbers and 12400
-Punctuation, Ethiopic 1361
-Punctuation, General 2000
-Punctuation, Halfwidth CJK FF61
-Punctuation, Hebrew Points and 05B0
-Punctuation, Mongolian 1800
-Punctuation, Ogham 169B
-PUNCTUATION, PHILIPPINE DOUBLE 1736
-PUNCTUATION, PHILIPPINE SINGLE 1735
-Punctuation, Runic 16EB
-Punctuation, Supplemental 2E00
-punt, irish 00A3
-purna viram, devanagari 0964
-pushout 27D4
-puspika 2055
-Q WITH HOOK TAIL, LATIN CAPITAL LETTER SMALL 024A
-Q WITH HOOK TAIL, LATIN SMALL LETTER 024B
-Q WITH HOOK, LATIN SMALL LETTER 02A0
-Q, DOUBLE-STRUCK CAPITAL 211A
-Q, ROTATED CAPITAL 213A
-q.e.d. 220E
-QP DIGRAPH, LATIN SMALL LETTER 0239
-QUAD, EM 2001
-QUAD, EN 2000
-quad, mutton 2001
-Quadrant Control Code Graphics 25F0
-quadrature 25A1
-QUADRUPLE PRIME 2057
-quantic 226C
-quantifier, existential 2203
-quantifier, universal 2200
-QUARTER MOON, FIRST 263D
-QUARTER MOON, LAST 263E
-QUARTER NOTE 2669
-QUARTER, VULGAR FRACTION ONE 00BC
-Quarters, Fractions 00BC
-QUARTERS, VULGAR FRACTION THREE 00BE
-QUATERNION INTEGRAL OPERATOR 2A16
-QUESTION EXCLAMATION MARK 2048
-QUESTION MARK 003F
-QUESTION MARK, ARABIC 061F
-QUESTION MARK, ARMENIAN 055E
-QUESTION MARK, DOUBLE 2047
-QUESTION MARK, ETHIOPIC 1367
-QUESTION MARK, EXCLAMATION 2049
-question mark, greek 003B
-QUESTION MARK, GREEK 037E
-QUESTION MARK, INVERTED 00BF
-QUESTION MARK, LIMBU 1945
-question mark, turned 00BF
-QUESTIONED EQUAL TO 225F
-QUILL, LEFT SQUARE BRACKET WITH 2045
-QUILL, RIGHT SQUARE BRACKET WITH 2046
-Quine Corners 231C
-quotation dash 2015
-QUOTATION MARK 0022
-Quotation Mark Dingbats 275B
-Quotation Mark Ornaments 275B
-quotation mark, double comma 201D
-QUOTATION MARK, DOUBLE HIGH-REVERSED-9 201F
-QUOTATION MARK, DOUBLE LOW-9 201E
-QUOTATION MARK, DOUBLE PRIME 301E
-quotation mark, double reversed comma 201F
-quotation mark, double turned comma 201C
-QUOTATION MARK, LEFT DOUBLE 201C
-QUOTATION MARK, LEFT SINGLE 2018
-QUOTATION MARK, LEFT-POINTING DOUBLE ANGLE 00AB
-quotation mark, low double comma 201E
-QUOTATION MARK, LOW DOUBLE PRIME 301F
-quotation mark, low single comma 201A
-quotation mark, neutral 0022
-quotation mark, neutral single 0027
-QUOTATION MARK, REVERSED DOUBLE PRIME 301D
-QUOTATION MARK, RIGHT DOUBLE 201D
-QUOTATION MARK, RIGHT SINGLE 2019
-QUOTATION MARK, RIGHT-POINTING DOUBLE ANGLE 00BB
-quotation mark, single comma 2019
-QUOTATION MARK, SINGLE HIGH-REVERSED-9 201B
-QUOTATION MARK, SINGLE LEFT-POINTING ANGLE 2039
-QUOTATION MARK, SINGLE LOW-9 201A
-quotation mark, single reversed comma 201B
-QUOTATION MARK, SINGLE RIGHT-POINTING ANGLE 203A
-quotation mark, single turned comma 2018
-Quotation Marks 2018
-Quotation Marks, CJK 300C
-Quotation Marks, Ornamental Angle 276E
-quote, apl 0027
-Qur'anic Annotation Signs, Arabic 06D6
-R WITH ACUTE, LATIN SMALL LETTER 0155
-R WITH CARON, LATIN SMALL LETTER 0159
-R WITH CEDILLA, LATIN SMALL LETTER 0157
-R WITH DOT ABOVE, LATIN SMALL LETTER 1E59
-R WITH DOT BELOW, LATIN SMALL LETTER 1E5B
-R WITH DOUBLE GRAVE, LATIN SMALL LETTER 0211
-R WITH FISHHOOK, LATIN SMALL LETTER 027E
-R WITH FISHHOOK, LATIN SMALL LETTER REVERSED 027F
-R WITH HOOK, LATIN SMALL LETTER TURNED 027B
-R WITH INVERTED BREVE, LATIN SMALL LETTER 0213
-R WITH LINE BELOW, LATIN SMALL LETTER 1E5F
-R WITH LONG LEG, LATIN SMALL LETTER 027C
-R WITH LONG LEG, LATIN SMALL LETTER TURNED 027A
-R WITH STROKE, LATIN CAPITAL LETTER 024C
-R WITH STROKE, LATIN SMALL LETTER 024D
-R WITH TAIL, LATIN SMALL LETTER 027D
-R, BLACK-LETTER CAPITAL 211C
-R, COMBINING LATIN SMALL LETTER 036C
-R, DOUBLE-STRUCK CAPITAL 211D
-R, LATIN LETTER SMALL CAPITAL 0280
-R, LATIN LETTER SMALL CAPITAL INVERTED 0281
-R, LATIN LETTER SMALL CAPITAL REVERSED 1D19
-R, LATIN LETTER SMALL CAPITAL TURNED 1D1A
-R, LATIN SMALL LETTER TURNED 0279
-R, LATIN SUBSCRIPT SMALL LETTER 1D63
-R, MODIFIER LETTER SMALL 02B3
-R, MODIFIER LETTER SMALL CAPITAL INVERTED 02B6
-R, MODIFIER LETTER SMALL TURNED 02B4
-R, SCRIPT CAPITAL 211B
-radial component 27DF
-radical sign 221A
-Radicals Supplement, CJK 2E80
-Radicals, CJK Kangxi 2F00
-Radicals, Yi A490
-RADIOACTIVE SIGN 2622
-RAIN 26C6
-RAIN DROPS, UMBRELLA WITH 2614
-rainy weather 2602
-RAMS HORN, LATIN SMALL LETTER 0264
-range restriction 25B7
-RATIO 2236
-ratio, cross 211E
-rational numbers 211A
-REAHMUK, KHMER SIGN 17C7
-real number symbol 210A
-real numbers 211D
-real part 211C
-recipe 211E
-record separator 001E
-RECORD SEPARATOR, SYMBOL FOR 241E
-RECORDER, TELEPHONE 2315
-RECORDING COPYRIGHT, SOUND 2117
-RECTANGLE BOX, X IN A 2327
-Rectangles 25AC
-RECYCLED PAPER SYMBOL 267C
-RECYCLED PAPER SYMBOL, PARTIALLY- 267D
-RECYCLING SYMBOL, UNIVERSAL 2672
-Recycling Symbols 2672
-Recycling Symbols, Plastics 2673
-reduces to 22A6
-reducible 22A2
-REFERENCE MARK 203B
-REGISTERED SIGN 00AE
-registered trade mark sign 00AE
-Rejang A930
-relation 2194
-relation, finite 21FC
-relation, partial 21F9
-Relational Operators 29E3
-Relations, Subset and Superset 2ABD
-Religious and Political Symbols 2626
-Repeat Marks, Kana 3031
-REPLACEMENT CHARACTER FFFD
-REPLACEMENT CHARACTER, OBJECT FFFC
-RESPONSE 211F
-restriction, domain 25C1
-restriction, range 25B7
-results in 22A8
-RETROFLEX CLICK, LATIN LETTER 01C3
-RETROFLEX HOOK BELOW, COMBINING 0322
-RETROFLEX HOOK, LATIN CAPITAL LETTER T WITH 01AE
-retroflex hook, latin small letter d 0256
-RETROFLEX HOOK, LATIN SMALL LETTER L WITH 026D
-RETROFLEX HOOK, LATIN SMALL LETTER N WITH 0273
-RETROFLEX HOOK, LATIN SMALL LETTER T WITH 0288
-RETROFLEX HOOK, LATIN SMALL LETTER Z WITH 0290
-RETURN SYMBOL 23CE
-RETURN, CARRIAGE 000D
-RETURN, SYMBOL FOR CARRIAGE 240D
-REVERSE LINE FEED 008D
-REVERSE SOLIDUS 005C
-REVERSE SOLIDUS OPERATOR 29F5
-REVERSE SOLIDUS OVERLAY, COMBINING 20E5
-REVERSE SOLIDUS, BIG 29F9
-reverse turnstile 22A3
-REVERSED C, LATIN SMALL LETTER 2184
-REVERSED COMMA ABOVE, COMBINING 0314
-reversed comma quotation mark, double 201F
-reversed comma quotation mark, single 201B
-REVERSED COMMA, MODIFIER LETTER 02BD
-REVERSED DOUBLE PRIME 2036
-REVERSED DOUBLE PRIME QUOTATION MARK 301D
-REVERSED E, LATIN CAPITAL LETTER 018E
-REVERSED E, LATIN SMALL LETTER 0258
-reversed epsilon, latin small letter closed 025E
-REVERSED ESH LOOP, LATIN LETTER 01AA
-REVERSED ESH, LATIN SMALL LETTER SQUAT 0285
-reversed glottal stop, latin letter 0295
-REVERSED GLOTTAL STOP, MODIFIER LETTER 02C1
-REVERSED GLOTTAL STOP, MODIFIER LETTER SMALL 02E4
-REVERSED LUNATE EPSILON SYMBOL, GREEK 03F6
-REVERSED N, LATIN LETTER SMALL CAPITAL 1D0E
-REVERSED NOT SIGN 2310
-REVERSED OPEN E WITH HOOK, LATIN SMALL LETTER 025D
-REVERSED OPEN E, LATIN SMALL LETTER 025C
-REVERSED OPEN E, LATIN SMALL LETTER CLOSED 025E
-REVERSED PILCROW SIGN 204B
-REVERSED PRIME 2035
-REVERSED R WITH FISHHOOK, LATIN SMALL LETTER 027F
-REVERSED R, LATIN LETTER SMALL CAPITAL 1D19
-REVERSED ROTATED FLORAL HEART BULLET 2619
-REVERSED SANS-SERIF CAPITAL L 2143
-REVERSED SEMICOLON 204F
-reversed straight epsilon 03F6
-REVERSED TILDE 223D
-REVERSED TILDE EQUALS 22CD
-REVERSED TRIPLE PRIME 2037
-REVERSED, LATIN SMALL LETTER EZH 01B9
-rgroup 27EF
-RHOTIC HOOK, MODIFIER LETTER 02DE
-RIAL SIGN FDFC
-RIEL, KHMER CURRENCY SYMBOL 17DB
-riemann integral 211B
-right abstract syntax bracket 301B
-RIGHT ANGLE 221F
-RIGHT ANGLE BRACKET 3009
-RIGHT ANGLE BRACKET, MATHEMATICAL 27E9
-RIGHT ANGLE WITH ARC 22BE
-RIGHT ARROW ABOVE, COMBINING 20D7
-RIGHT ARROW ABOVE, COMBINING LEFT 20E1
-RIGHT ARROW BELOW, COMBINING 20EF
-RIGHT ARROW BELOW, COMBINING LEFT 034D
-right arrow, colon 29F4
-RIGHT ARROWHEAD ABOVE, COMBINING 0350
-RIGHT ARROWHEAD BELOW, COMBINING 0355
-right bag bracket 27E7
-RIGHT BLACK LENTICULAR BRACKET 3011
-RIGHT CEILING 2309
-right chevron bracket 27EB
-RIGHT CORNER BRACKET 300D
-RIGHT CURLY BRACKET 007D
-RIGHT DIAGONAL ELLIPSIS, DOWN 22F1
-RIGHT DIAGONAL ELLIPSIS, UP 22F0
-RIGHT DOUBLE ANGLE BRACKET 300B
-RIGHT DOUBLE ANGLE BRACKET, MATHEMATICAL 27EB
-RIGHT DOUBLE QUOTATION MARK 201D
-RIGHT FLOOR 230B
-RIGHT HALF RING ABOVE, COMBINING 0357
-RIGHT HALF RING BELOW, COMBINING 0339
-right half ring, armenian modifier letter 055A
-RIGHT HARPOON ABOVE, COMBINING 20D1
-right key, delete to the 2326
-right moustache 23B1
-RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT 22CA
-RIGHT PARENTHESIS 0029
-RIGHT PARENTHESIS, ORNATE FD3F
-RIGHT PENCIL, LOWER 270E
-RIGHT PENCIL, UPPER 2710
-right pointing guillemet 00BB
-RIGHT POINTING INDEX, BLACK 261B
-RIGHT POINTING INDEX, WHITE 261E
-right pointing single guillemet 203A
-RIGHT SEMIDIRECT PRODUCT 22CC
-right sequence bracket 27E9
-RIGHT SINGLE QUOTATION MARK 2019
-RIGHT SQUARE BRACKET 005D
-RIGHT SQUARE BRACKET WITH QUILL 2046
-RIGHT TACK 22A2
-RIGHT TACK BELOW, COMBINING 0319
-RIGHT TORTOISE SHELL BRACKET 3015
-RIGHT TRIANGLE 22BF
-RIGHT WHITE CORNER BRACKET 300F
-RIGHT WHITE CURLY BRACKET 2984
-RIGHT WHITE LENTICULAR BRACKET 3017
-RIGHT WHITE PARENTHESIS 2986
-RIGHT WHITE SQUARE BRACKET 301B
-RIGHT WHITE TORTOISE SHELL BRACKET 3019
-RIGHT, COMBINING COMMA ABOVE 0315
-RIGHT, COMBINING DOT ABOVE 0358
-RIGHT, ERASE TO THE 2326
-right, fast cursor 21A0
-RIGHT-POINTING ANGLE BRACKET 232A
-RIGHT-POINTING ANGLE QUOTATION MARK, SINGLE 203A
-RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 00BB
-RIGHT-TO-LEFT EMBEDDING 202B
-RIGHT-TO-LEFT MARK 200F
-RIGHT-TO-LEFT OVERRIDE 202E
-RIGHTHAND INTERIOR PRODUCT 2A3D
-rightward tab 21E5
-RIGHTWARDS ARROW 2192
-RIGHTWARDS ARROW BELOW, COMBINING DOUBLE 0362
-RIGHTWARDS BULLET, BLACK 204D
-RIGHTWARDS HARPOON WITH BARB DOWNWARDS, COMBINING 20EC
-RING ABOVE 02DA
-RING ABOVE, COMBINING 030A
-RING ABOVE, COMBINING LEFT HALF 0351
-RING ABOVE, COMBINING RIGHT HALF 0357
-RING ABOVE, LATIN CAPITAL LETTER A WITH 00C5
-RING ABOVE, LATIN SMALL LETTER A WITH 00E5
-RING BELOW, COMBINING 0325
-RING BELOW, COMBINING DOUBLE 035A
-RING BELOW, COMBINING LEFT HALF 031C
-RING BELOW, COMBINING RIGHT HALF 0339
-RING BELOW, LATIN SMALL LETTER A WITH 1E01
-RING EQUAL TO 2257
-RING IN EQUAL TO 2256
-RING OPERATOR 2218
-RING OPERATOR, CIRCLED 229A
-RING OVERLAY, COMBINING 20D8
-RING OVERLAY, COMBINING ANTICLOCKWISE 20DA
-RING OVERLAY, COMBINING CLOCKWISE 20D9
-ring overlay, combining counterclockwise 20DA
-RING, ARMENIAN MODIFIER LETTER LEFT HALF 0559
-ring, armenian modifier letter right half 055A
-RING, BENZENE 232C
-RING, MODIFIER LETTER CENTRED LEFT HALF 02D3
-RING, MODIFIER LETTER LEFT HALF 02BF
-RJES SU NGA RO, TIBETAN SIGN 0F7E
-rle 202B
-rlm 200F
-rlo 202E
-RNAM BCAD, TIBETAN SIGN 0F7F
-road closed 26D2
-Roman Numerals 2160
-Roman Numerals, Archaic 2185
-Roman Symbols 10190
-ROOT, CUBE 221B
-ROOT, FOURTH 221C
-ROOT, SQUARE 221A
-ROTATED CAPITAL Q 213A
-rough breathing mark, greek 0314
-rule, parted 00A6
-RULE-DELAYED 29F4
-Rumi Numeral Symbols 10E60
-Runic 16A0
-Runic Golden Numbers 16EE
-Runic Punctuation 16EB
-RUNOUT, TOTAL 2330
-rupai, tamil 0BF9
-RUPEE MARK, BENGALI 09F2
-RUPEE SIGN 20A8
-RUPEE SIGN, BENGALI 09F3
-RUPEE SIGN, GUJARATI 0AF1
-RUPEE SIGN, TAMIL 0BF9
-Russian Alphabet 0410
-S WITH ACUTE, LATIN SMALL LETTER 015B
-S WITH CARON, LATIN SMALL LETTER 0161
-S WITH CEDILLA, LATIN SMALL LETTER 015F
-S WITH CIRCUMFLEX, LATIN SMALL LETTER 015D
-S WITH COMMA BELOW, LATIN SMALL LETTER 0219
-S WITH DOT ABOVE, LATIN SMALL LETTER 1E61
-S WITH DOT ABOVE, LATIN SMALL LETTER LONG 1E9B
-S WITH DOT BELOW, LATIN SMALL LETTER 1E63
-S WITH HOOK, LATIN SMALL LETTER 0282
-S WITH SWASH TAIL, LATIN SMALL LETTER 023F
-S, INVERTED LAZY 223E
-S, LATIN SMALL LETTER LONG 017F
-S, LATIN SMALL LETTER SHARP 00DF
-s, lazy 223D
-S, MODIFIER LETTER SMALL 02E2
-SAGITTARIUS 2650
-SAILBOAT 26F4
-SALTIRE 2613
-sam, syriac 070F
-Samaritan 0800
-SAMARITAN SOURCE, SYMBOL FOR 214F
-Sans-serif Bold Digits 1D7EC
-Sans-serif Bold Greek Mathematical Symbols 1D756
-Sans-serif Bold Italic Greek Mathematical Symbols 1D790
-Sans-serif Bold Italic Mathematical Symbols 1D63C
-Sans-serif Bold Mathematical Symbols 1D5D4
-SANS-SERIF CAPITAL G, TURNED 2141
-SANS-SERIF CAPITAL L, REVERSED 2143
-SANS-SERIF CAPITAL L, TURNED 2142
-SANS-SERIF CAPITAL Y, TURNED 2144
-Sans-serif Digits 1D7E2
-Sans-serif Italic Mathematical Symbols 1D608
-Sans-serif Mathematical Symbols 1D5A0
-satisfies 22A8
-satisfies, necessarily 2AF1
-satisfies, ordinarily 2AE2
-saturating subtraction 2238
-SATURN 2644
-Saurashtra A880
-SCALES 2696
-Scan Lines, Horizontal 23BA
-schema hiding 29F9
-SCHWA, LATIN CAPITAL LETTER 018F
-SCHWA, LATIN SMALL LETTER 0259
-SCISSORS, BLACK 2702
-SCISSORS, UPPER BLADE 2701
-SCISSORS, WHITE 2704
-SCORPIUS 264F
-SCREEN SYMBOL, CLEAR 239A
-SCREEN SYMBOL, PRINT 2399
-SCREEN, COMBINING ENCLOSING 20E2
-script a, latin small letter 0251
-SCRIPT CAPITAL B 212C
-SCRIPT CAPITAL E 2130
-SCRIPT CAPITAL F 2131
-SCRIPT CAPITAL H 210B
-SCRIPT CAPITAL I 2110
-SCRIPT CAPITAL L 2112
-SCRIPT CAPITAL M 2133
-SCRIPT CAPITAL P 2118
-SCRIPT CAPITAL R 211B
-script f, latin small letter 0192
-SCRIPT G, LATIN SMALL LETTER 0261
-Script Mathematical Symbols 1D49C
-Script Mathematical Symbols, Bold 1D4D0
-SCRIPT SMALL E 212F
-SCRIPT SMALL G 210A
-SCRIPT SMALL L 2113
-SCRIPT SMALL O 2134
-script theta 03D1
-script v, latin capital letter 01B2
-script v, latin small letter 028B
-scrolling 21F3
-SCRUPLE 2108
-SEAGULL BELOW, COMBINING 033C
-second tone, mandarin chinese 02CA
-seconds 2033
-SECTION SIGN 00A7
-section sign, european 00B6
-SECTOR 2314
-SEGMENT 2313
-SELECTED AREA, END OF 0087
-SELECTED AREA, START OF 0086
-Selectors Supplement, Variation E0100
-Selectors, Variation FE00
-SEMICOLON 003B
-SEMICOLON, ARABIC 061B
-SEMICOLON, ETHIOPIC 1364
-SEMICOLON, REVERSED 204F
-SEMIDIRECT PRODUCT, LEFT 22CB
-SEMIDIRECT PRODUCT, LEFT NORMAL FACTOR 22C9
-SEMIDIRECT PRODUCT, RIGHT 22CC
-SEMIDIRECT PRODUCT, RIGHT NORMAL FACTOR 22CA
-SEPARATOR DOT, AEGEAN WORD 10101
-SEPARATOR KEY SYMBOL, DECIMAL 2396
-SEPARATOR LINE, AEGEAN WORD 10100
-SEPARATOR MIDDLE DOT, WORD 2E31
-SEPARATOR, ARABIC DATE 060D
-SEPARATOR, ARABIC DECIMAL 066B
-separator, arabic phrase 066C
-SEPARATOR, ARABIC THOUSANDS 066C
-separator, decimal 002C
-separator, devanagari phrase 0964
-SEPARATOR, ETHIOPIC PARAGRAPH 1368
-separator, file 001C
-SEPARATOR, GEORGIAN PARAGRAPH 10FB
-separator, group 001D
-SEPARATOR, INTERLINEAR ANNOTATION FFFA
-SEPARATOR, INVISIBLE 2063
-SEPARATOR, LINE 2028
-SEPARATOR, MONGOLIAN VOWEL 180E
-SEPARATOR, PARAGRAPH 2029
-separator, record 001E
-separator, unit 001F
-separator, urdu paragraph 203B
-septuagint 1D516
-sequence bracket, left 27E8
-sequence bracket, right 27E9
-sequence concatenation 2040
-SEQUENCE INTRODUCER, CONTROL 009B
-SERVICE MARK 2120
-SESAME DOT FE45
-SESAME DOT, WHITE FE46
-Set Membership Signs 2208
-SET MINUS 2216
-set of complex numbers, the 2102
-set of integers, the 2124
-set of rational numbers, the 211A
-set of real numbers, the 211D
-SET TRANSMIT STATE 0093
-SET, EMPTY 2205
-set, included in 2282
-set, includes in 2283
-set, null 2205
-set, power 1D4AB
-Sets, Empty 29B0
-sextile 2736
-Shade Characters 2591
-SHADOWED WHITE CIRCLE 274D
-SHAMROCK 2618
-shamrock 2663
-Shapes, Geometric 25A0
-SHARP S, LATIN SMALL LETTER 00DF
-SHARP SIGN, MUSIC 266F
-Shavian 10450
-SHEQEL SIGN, NEW 20AA
-shesht, armenian 055B
-SHIELD, BLACK CROSS ON 26E8
-shift 21E7
-SHIFT IN 000F
-SHIFT IN, SYMBOL FOR 240F
-SHIFT OUT 000E
-SHIFT OUT, SYMBOL FOR 240E
-SHINTO SHRINE 26E9
-SHOGI PIECE, BLACK 2617
-SHOGI PIECE, TURNED BLACK 26CA
-SHOGI PIECE, TURNED WHITE 26C9
-SHOGI PIECE, WHITE 2616
-short 0306
-short slash overlay 0337
-SHORT SOLIDUS OVERLAY, COMBINING 0337
-SHORT STROKE OVERLAY, COMBINING 0335
-SHORT VERTICAL LINE OVERLAY, COMBINING 20D3
-SHOULDERED OPEN BOX 237D
-showery weather 2614
-SHUFFLE PRODUCT 29E2
-shy 00AD
-SIBE SYLLABLE BOUNDARY MARKER, MONGOLIAN 1807
-Sidelining Emphasis Marks FE45
-SIDEWAYS DIAERESIZED U, LATIN SMALL LETTER 1D1E
-SIDEWAYS O WITH STROKE, LATIN SMALL LETTER 1D13
-SIDEWAYS O, LATIN SMALL LETTER 1D11
-SIDEWAYS OPEN O, LATIN SMALL LETTER 1D12
-SIDEWAYS TURNED M, LATIN SMALL LETTER 1D1F
-SIDEWAYS U, LATIN SMALL LETTER 1D1D
-SIGMA SYMBOL, GREEK LUNATE 03F2
-sigma, greek small letter lunate 03F2
-Signs, Warning 2620
-Signs, Warning 26A0
-similar to 223C
-SINE WAVE 223F
-SINGLE CHARACTER INTRODUCER 009A
-single comma quotation mark 2019
-single comma quotation mark, low 201A
-single guillemet, left pointing 2039
-single guillemet, right pointing 203A
-SINGLE HIGH-REVERSED-9 QUOTATION MARK 201B
-SINGLE LEFT-POINTING ANGLE QUOTATION MARK 2039
-SINGLE LOW-9 QUOTATION MARK 201A
-SINGLE PUNCTUATION, PHILIPPINE 1735
-SINGLE QUOTATION MARK, LEFT 2018
-single quotation mark, neutral 0027
-SINGLE QUOTATION MARK, RIGHT 2019
-single reversed comma quotation mark 201B
-SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 203A
-SINGLE SHIFT THREE 008F
-SINGLE SHIFT TWO 008E
-single turned comma quotation mark 2018
-Sinhala 0D80
-Sinhala Consonants 0D9A
-Sinhala Dependent Vowel Signs 0DCF
-Sinhala Independent Vowels 0D85
-SINHALA SIGN AL-LAKUNA 0DCA
-sinhala virama 0DCA
-SIX-PER-EM SPACE 2006
-SIXTEENTH NOTES, BEAMED 266C
-Sixths, Fractions 2159
-SKIER 26F7
-SKULL AND CROSSBONES 2620
-slash 002F
-slash overlay, long 0338
-slash overlay, long double 20EB
-slash overlay, short 0337
-SLASH, CIRCLED DIVISION 2298
-SLASH, DIVISION 2215
-SLASH, FRACTION 2044
-slash, latin capital letter o 00D8
-slash, latin small letter o 00F8
-SLOPE 2333
-SMALL CAPITAL AE, LATIN LETTER 1D01
-SMALL CAPITAL ETH, LATIN LETTER 1D06
-SMALL CAPITAL EZH, LATIN LETTER 1D23
-SMALL CAPITAL OE, LATIN LETTER 0276
-SMALL CAPITAL OU, LATIN LETTER 1D15
-small circle, black 2022
-SMALL CONTAINS AS MEMBER 220D
-SMALL ELEMENT OF 220A
-Small Form Variants FE50
-SMALL GAMMA, DOUBLE-STRUCK 213D
-SMALL GAMMA, MODIFIER LETTER 02E0
-SMALL KA, HIRAGANA LETTER 3095
-SMALL KE, HIRAGANA LETTER 3096
-Small Letters, Armenian 0561
-Small Letters, Combining Latin 0363
-Small Letters, Cyrillic 0430
-Small Letters, Georgian 10D0
-Small Letters, Greek 03B1
-Small Letters, Latin 0061
-small ligature ae, latin 00E6
-SMALL LIGATURE IJ, LATIN 0133
-SMALL LIGATURE OE, LATIN 0153
-SMALL PI, DOUBLE-STRUCK 213C
-SMALL REVERSED GLOTTAL STOP, MODIFIER LETTER 02E4
-SMALL SQUARE, BLACK MEDIUM 25FE
-SMALL TILDE 02DC
-SMALL WHITE CIRCLE, MEDIUM 26AC
-SMASH PRODUCT 2A33
-SMILE 2323
-SMILING FACE, BLACK 263B
-SMILING FACE, WHITE 263A
-smirk 2368
-smooth breathing mark, greek 0313
-snow, heavy 26C7
-snow, light 26C4
-Snowflake Dingbats 2744
-Snowflakes 2721
-SNOWMAN 2603
-SNOWMAN WITHOUT SNOW 26C4
-SNOWMAN, BLACK 26C7
-snowy weather 2603
-SOCCER BALL 26BD
-SOFT HYPHEN 00AD
-SOFT HYPHEN, MONGOLIAN TODO 1806
-SOFTWARE-FUNCTION SYMBOL 2394
-solid 2588
-SOLIDUS 002F
-solidus 2044
-SOLIDUS OPERATOR, DOUBLE 2AFD
-SOLIDUS OPERATOR, REVERSE 29F5
-SOLIDUS OVERLAY, COMBINING LONG 0338
-SOLIDUS OVERLAY, COMBINING LONG DOUBLE 20EB
-SOLIDUS OVERLAY, COMBINING REVERSE 20E5
-SOLIDUS OVERLAY, COMBINING SHORT 0337
-SOLIDUS, BIG 29F8
-SOLIDUS, BIG REVERSE 29F9
-SOLIDUS, REVERSE 005C
-SOUND RECORDING COPYRIGHT 2117
-SOURCE, INFORMATION 2139
-SPACE 0020
-SPACE MARK, OGHAM 1680
-SPACE, EM 2003
-SPACE, EN 2002
-SPACE, FIGURE 2007
-SPACE, FOUR-PER-EM 2005
-space, graphic for 2423
-SPACE, HAIR 200A
-space, hilbert 210C
-SPACE, IDEOGRAPHIC 3000
-SPACE, IDEOGRAPHIC HALF FILL 303F
-space, keyboard symbol for no break 237D
-SPACE, MEDIUM MATHEMATICAL 205F
-space, mid 2005
-SPACE, NARROW NO-BREAK 202F
-SPACE, NO-BREAK 00A0
-space, non-breaking 00A0
-SPACE, PUNCTUATION 2008
-SPACE, SIX-PER-EM 2006
-SPACE, SYMBOL FOR 2420
-space, thick 2004
-SPACE, THIN 2009
-SPACE, THREE-PER-EM 2004
-SPACE, ZERO WIDTH 200B
-SPACE, ZERO WIDTH NO-BREAK FEFF
-Spaces 2000
-spacing acute accent 00B4
-spacing cedilla 00B8
-spacing circumflex accent 005E
-Spacing Clones of Diacritics 02D8
-spacing diaeresis 00A8
-spacing double underscore 2017
-spacing grave accent 0060
-spacing macron 00AF
-Spacing Modifier Letters 02B0
-spacing overscore 203E
-spacing tilde 007E
-spacing underscore 005F
-spanish currency 20A7
-SPARKLE 2747
-SPARKLE, HEAVY 2748
-Specials FFF0
-Specials Area, Compatibility and F900
-SPESMILO SIGN 20B7
-SPHERICAL ANGLE 2222
-SQUARE BELOW, COMBINING 033B
-SQUARE BRACKET WITH QUILL, LEFT 2045
-SQUARE BRACKET WITH QUILL, RIGHT 2046
-square bracket, closing 005D
-SQUARE BRACKET, LEFT 005B
-SQUARE BRACKET, LEFT WHITE 301A
-square bracket, opening 005B
-SQUARE BRACKET, RIGHT 005D
-SQUARE BRACKET, RIGHT WHITE 301B
-SQUARE CAP 2293
-SQUARE CUP 2294
-SQUARE FOOT 23CD
-SQUARE IMAGE OF 228F
-SQUARE LOZENGE 2311
-SQUARE ORIGINAL OF 2290
-SQUARE ROOT 221A
-Square Symbols 29C4
-SQUARE, BLACK MEDIUM 25FC
-SQUARE, BLACK MEDIUM SMALL 25FE
-SQUARE, COMBINING ENCLOSING 20DE
-SQUARE, VIEWDATA 2317
-squared 00B2
-SQUARED DOT OPERATOR 22A1
-Squared Japanese Katakana Words 3300
-Squared Latin Abbreviations 3371
-Squared Latin Letters 1F131
-SQUARED MINUS 229F
-SQUARED PLUS 229E
-SQUARED TIMES 22A0
-Squares 25A0
-Squares 2B1A
-SQUAT REVERSED ESH, LATIN SMALL LETTER 0285
-srak ah, khmer 17C7
-srak am, khmer 17C6
-srog med, tibetan 0F84
-st. andrew's cross 2613
-STAFF OF AESCULAPIUS 2695
-STAFF OF HERMES 269A
-star 002A
-STAR AND CRESCENT 262A
-Star Dingbats 2726
-STAR EQUALS 225B
-STAR OF DAVID 2721
-STAR OPERATOR 22C6
-STAR, ARABIC FIVE POINTED 066D
-STAR, BLACK 2605
-STAR, WHITE 2606
-starburst 273A
-Stars 2721
-START OF GUARDED AREA 0096
-START OF HEADING 0001
-START OF HEADING, SYMBOL FOR 2401
-START OF SELECTED AREA 0086
-START OF STRING 0098
-START OF TEXT 0002
-START OF TEXT, SYMBOL FOR 2402
-statement is true 22A8
-sterling, pound 00A3
-stile, apl 2223
-straight epsilon 03F5
-straight epsilon, reversed 03F6
-STRAIGHTNESS 23E4
-stress mark 0301
-STRETCHED C, LATIN LETTER 0297
-STRICTLY EQUIVALENT TO 2263
-STRING TERMINATOR 009C
-STRING, DEVICE CONTROL 0090
-STRING, START OF 0098
-STROKE OVERLAY, COMBINING DOUBLE VERTICAL 20E6
-STROKE OVERLAY, COMBINING LONG 0336
-STROKE OVERLAY, COMBINING SHORT 0335
-STROKE, LATIN CAPITAL LETTER O WITH 00D8
-STROKE, LATIN SMALL LETTER O WITH 00F8
-Strokes, CJK 31C0
-SUBGROUP OF, NORMAL 22B2
-Subgroup Signs, Normal 22EA
-SUBGROUP, CONTAINS AS NORMAL 22B3
-Subjoined Consonants, Tibetan 0F90
-Subscript Digits 2080
-subscript, greek iota 0345
-Subscripts 2080
-Subset and Superset Relations 2ABD
-SUBSET OF 2282
-SUBSET OF, NOT A 2284
-Subset Signs, Superset and 2282
-SUBSET, DOUBLE 22D0
-SUBSTITUTE 001A
-SUBSTITUTE FORM TWO, SYMBOL FOR 2426
-SUBSTITUTE, SYMBOL FOR 241A
-Subtending Marks, Arabic 0600
-subtraction, bag 2A41
-subtraction, saturating 2238
-SUCCEEDS 227B
-SUCCEEDS UNDER RELATION 22B1
-SUCCEEDS, DOUBLE 2ABC
-such that 220B
-such that 2223
-Suits, Playing Card 2660
-sum or positive difference 2A26
-sum, direct 2295
-sum, positive difference or 2A24
-summation sign 2211
-Summation Sign Parts 23B2
-SUMMATION, DOUBLE-STRUCK N-ARY 2140
-SUMMATION, N-ARY 2211
-Summations and Integrals 2A0A
-SUN 2609
-SUN BEHIND CLOUD 26C5
-SUN WITH RAYS, BLACK 2600
-SUN WITH RAYS, WHITE 263C
-Sundanese 1B80
-sunna, telugu 0C02
-Superscript Digits 2070
-Superscript Letter Diacritics, Latin Medieval 1DD3
-Superscript Letter Diacritics, Medieval 0363
-Superscript Modifier Letters, Latin 02B0
-SUPERSCRIPT ONE 00B9
-SUPERSCRIPT THREE 00B3
-SUPERSCRIPT TWO 00B2
-SUPERSCRIPT ZERO 2070
-Superscripts 2070
-Superset and Subset Signs 2282
-SUPERSET OF 2283
-SUPERSET OF, NOT A 2285
-Superset Relations, Subset and 2ABD
-SUPERSET, DOUBLE 22D1
-Supplemental Arrows-B 2900
-Supplemental Mathematical Operators 2A00
-Supplemental Punctuation 2E00
-Supplementary CJK Ideographs Area 20000
-Supplementary General Scripts Area 10000
-Supplementary Private Use Area-A F0000
-Supplementary Private Use Area-B 100000
-SURFACE INTEGRAL 222F
-surjection, finite 2901
-surjection, partial 2900
-surjection, total 21A0
-surjective injection 2917
-surjective injection, finite 2918
-Surrogates Area D800
-Surrogates, High D800
-Surrogates, Low DC00
-Suzhou Numerals 3021
-Svasti Signs 0FD5
-SWASH TAIL, LATIN SMALL LETTER S WITH 023F
-SWASH TAIL, LATIN SMALL LETTER Z WITH 0240
-swedish grave accent 02DF
-SWORDS, CROSSED 2694
-SWUNG DASH 2053
-Syllabary, Cypriot 10800
-Syllabary, Linear B 10000
-SYLLABICS FULL STOP, CANADIAN 166E
-Syllabics Punctuation, Canadian 166D
-Syllabics, Unified Canadian Aboriginal 1400
-Syllables, Cherokee 13A0
-Syllables, Circled Korean Hangul 326E
-Syllables, Ethiopic 1200
-Syllables, Korean Hangul AC00
-Syllables, Parenthesized Korean Hangul 320E
-Syllables, Yi A000
-Syloti Nagri A800
-Symbol Variants, Fullwidth FFE0
-Symbol Variants, Halfwidth FFE8
-Symbols and Punctuation, CJK 3000
-Symbols Area 2000
-Symbols Area, CJK Phonetics and 2E80
-Symbols for Days, Ideographic Telegraph 33E0
-Symbols for Divination, Khmer Numeric 17F0
-Symbols for Hours, Ideographic Telegraph 3358
-Symbols for Months, Ideographic Telegraph 32C0
-Symbols, Ancient Greek Textual 2E0E
-Symbols, APL Functional 2336
-Symbols, ASCII Punctuation and 0020
-Symbols, Astrological 263D
-Symbols, Balinese Musical 1B61
-Symbols, Basic Musical 2669
-Symbols, Bowtie 29D1
-Symbols, Byzantine Musical 1D000
-Symbols, Chess 2654
-Symbols, Circle 29B5
-Symbols, Combining Diacritical Marks for 20D0
-Symbols, Currency 20A0
-Symbols, Dentistry Notation 23BE
-Symbols, Diacritical Marks for 20D0
-Symbols, Dictionary and Map 2690
-Symbols, Drafting 232D
-Symbols, Electrotechnical 238D
-Symbols, Error Bar 29EE
-Symbols, Gender 26A2
-Symbols, Genealogical 26AD
-Symbols, Greek Mathematical 1D6A8
-Symbols, Hebrew Letterlike Mathematical 2135
-Symbols, I Ching / Yijing Hexagram 4DC0
-Symbols, I Ching / Yijing Monogram and Digram 268A
-Symbols, I Ching / Yijing Trigram 2630
-Symbols, Japanese Chess 2616
-Symbols, Keyboard 21E6
-Symbols, Keyboard 2324
-Symbols, Keyboard 2380
-Symbols, Keyboard 2396
-Symbols, Khmer 19E0
-Symbols, Latin-1 Punctuation and 00A0
-Symbols, Letterlike 2100
-Symbols, Mathematical 27C0
-Symbols, Mathematical 2980
-Symbols, Mathematical Alphanumeric 1D400
-Symbols, Mathematical Digits 1D7CE
-Symbols, Metrical 23D1
-Symbols, Miscellaneous 2600
-Symbols, Musical 1D100
-Symbols, New Testament Editorial 2E00
-Symbols, Planet 263F
-Symbols, Plastics Recycling 2673
-Symbols, Playing Card 2660
-Symbols, Pointing Hand 261A
-Symbols, Polygonal 2B12
-Symbols, Recycling 2672
-Symbols, Religious and Political 2625
-Symbols, Square 29C4
-Symbols, Tai Xuan Jing 1D300
-Symbols, Tamil 0BF3
-Symbols, Tibetan 0FC4
-Symbols, Triangle 29CA
-Symbols, Weather and Astrological 2600
-Symbols, Yijing / I Ching Hexagram 4DC0
-Symbols, Yijing / I Ching Monogram and Digram 268A
-Symbols, Yijing / I Ching Trigram 2630
-Symbols, Zodiacal 2648
-Symbols-A, Miscellaneous Mathematical 27C0
-Symbols-B, Miscellaneous Mathematical 2980
-symmetric difference 2206
-symmetric difference 2238
-symmetric difference 2296
-SYMMETRY 232F
-SYNCHRONOUS IDLE 0016
-SYNCHRONOUS IDLE, SYMBOL FOR 2416
-Syriac 0700
-SYRIAC CROSS, EAST 2671
-SYRIAC CROSS, WEST 2670
-Syriac Letters 0710
-Syriac Punctuation and Signs 0700
-syriac sam 070F
-T WITH CARON, LATIN SMALL LETTER 0165
-T WITH CEDILLA, LATIN SMALL LETTER 0163
-T WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER 1E71
-T WITH COMMA BELOW, LATIN SMALL LETTER 021B
-T WITH CURL, LATIN SMALL LETTER 0236
-T WITH DIAERESIS, LATIN SMALL LETTER 1E97
-T WITH DIAGONAL STROKE, LATIN CAPITAL LETTER 023E
-T WITH DOT ABOVE, LATIN SMALL LETTER 1E6B
-T WITH DOT BELOW, LATIN SMALL LETTER 1E6D
-T WITH HOOK, LATIN SMALL LETTER 01AD
-T WITH LINE BELOW, LATIN SMALL LETTER 1E6F
-T WITH PALATAL HOOK, LATIN SMALL LETTER 01AB
-T WITH RETROFLEX HOOK, LATIN CAPITAL LETTER 01AE
-T WITH RETROFLEX HOOK, LATIN SMALL LETTER 0288
-T WITH STROKE, LATIN SMALL LETTER 0167
-T, COMBINING LATIN SMALL LETTER 036D
-T, LATIN LETTER SMALL CAPITAL 1D1B
-T, LATIN SMALL LETTER TURNED 0287
-tab 0009
-tab with shift tab 21B9
-tab, leftward 21E4
-tab, rightward 21E5
-TABULATION SET, CHARACTER 0088
-TABULATION SET, LINE 008A
-TABULATION WITH JUSTIFICATION, CHARACTER 0089
-TABULATION, CHARACTER 0009
-tabulation, horizontal 0009
-TABULATION, LINE 000B
-TABULATION, SYMBOL FOR HORIZONTAL 2409
-TABULATION, SYMBOL FOR VERTICAL 240B
-tabulation, vertical 000B
-TACK BELOW, COMBINING DOWN 031E
-TACK BELOW, COMBINING LEFT 0318
-TACK BELOW, COMBINING RIGHT 0319
-TACK BELOW, COMBINING UP 031D
-TACK, DOWN 22A4
-TACK, LEFT 22A3
-TACK, MODIFIER LETTER UP 02D4
-TACK, RIGHT 22A2
-TACK, UP 22A5
-Tacks and Turnstiles 22A2
-Tacks and Turnstiles 27D8
-Tacks and Turnstiles 2ADE
-Tagalog 1700
-TAGALOG SIGN VIRAMA 1714
-Tagbanwa 1760
-Tags E0000
-Tai Le 1950
-Tai Lue Digits, New 19D0
-Tai Lue, New 1980
-Tai Tham 1A20
-Tai Viet AA80
-Tai Xuan Jing Symbols 1D300
-Tails, Fish 297C
-tainome japanese bullet 25C9
-TAKE, PRESCRIPTION 211E
-Tamil 0B80
-TAMIL AS ABOVE SIGN 0BF8
-tamil aytham 0B83
-Tamil Consonants 0B95
-TAMIL CREDIT SIGN 0BF7
-TAMIL DAY SIGN 0BF3
-TAMIL DEBIT SIGN 0BF6
-Tamil Dependent Vowel Signs 0BBE
-Tamil Digits 0BE7
-tamil enn 0BFA
-Tamil Independent Vowels 0B85
-tamil maatham 0BF4
-tamil merpadi 0BF8
-TAMIL MONTH SIGN 0BF4
-tamil naal 0BF3
-TAMIL NUMBER SIGN 0BFA
-Tamil Numbers 0BE7
-tamil patru 0BF6
-tamil rupai 0BF9
-TAMIL RUPEE SIGN 0BF9
-TAMIL SIGN VISARGA 0B83
-Tamil Symbols 0BF3
-tamil varavu 0BF7
-tamil varudam 0BF5
-TAMIL YEAR SIGN 0BF5
-TAPE DRIVE 2707
-TAPER, CONICAL 2332
-TATWEEL, ARABIC 0640
-TAURUS 2649
-tautological equivalent 29E6
-tautology 22A8
-tea, cup of 2615
-Technical, Miscellaneous 2300
-Telegraph Symbols for Days, Ideographic 33E0
-Telegraph Symbols for Hours, Ideographic 3358
-Telegraph Symbols for Months, Ideographic 32C0
-TELEPHONE LOCATION SIGN 2706
-TELEPHONE RECORDER 2315
-TELEPHONE SIGN 2121
-TELEPHONE, BLACK 260E
-TELEPHONE, WHITE 260F
-Telugu 0C00
-Telugu Consonants 0C15
-Telugu Dependent Vowel Signs 0C3E
-Telugu Digits 0C66
-Telugu Independent Vowels 0C05
-TELUGU SIGN ANUSVARA 0C02
-telugu sunna 0C02
-TEN THOUSAND SIGN, PER 2031
-TENGE SIGN 20B8
-tensor product 2297
-TENT 26FA
-Terminal Graphic Characters 23B7
-Terminal Graphic Characters 2596
-TERMINATOR, INTERLINEAR ANNOTATION FFFB
-TERMINATOR, STRING 009C
-TEXT, END OF 0003
-TEXT, START OF 0002
-TEXT, SYMBOL FOR END OF 2403
-TEXT, SYMBOL FOR START OF 2402
-Thaana 0780
-Thai 0E00
-THAI CHARACTER ANGKHANKHU 0E5A
-THAI CHARACTER FONGMAN 0E4F
-THAI CHARACTER KHOMUT 0E5B
-THAI CHARACTER NIKHAHIT 0E4D
-THAI CHARACTER THANTHAKHAT 0E4C
-THAI CHARACTER YAMAKKAN 0E4E
-Thai Consonants 0E01
-THAI CURRENCY SYMBOL BAHT 0E3F
-Thai Digits 0E50
-Thai Marks and Signs 0E48
-Thai Vowels 0E30
-THANTHAKHAT, THAI CHARACTER 0E4C
-THERE DOES NOT EXIST 2204
-THERE EXISTS 2203
-THEREFORE 2234
-THERMODYNAMIC 29E7
-THETA SYMBOL, GREEK 03D1
-theta, script 03D1
-thick space 2004
-THIN SPACE 2009
-third derivative 20DB
-third tone, mandarin chinese 02C7
-Thirds, Fractions 2153
-THORN, LATIN CAPITAL LETTER 00DE
-THORN, LATIN SMALL LETTER 00FE
-THOUSANDS SEPARATOR, ARABIC 066C
-three dot leader 2026
-THREE DOT PUNCTUATION 2056
-THREE DOTS ABOVE, COMBINING 20DB
-THREE QUARTERS, VULGAR FRACTION 00BE
-THREE, SUPERSCRIPT 00B3
-THREE-PER-EM SPACE 2004
-thunder 26A1
-THUNDERSTORM 2608
-thunderstorm 26C8
-Tibetan 0F00
-tibetan anusvara 0F7E
-Tibetan Astrological Signs 0F15
-Tibetan Cantillation Signs 0FC0
-Tibetan Consonants 0F40
-Tibetan Dependent Vowel Signs 0F71
-Tibetan Digits 0F20
-Tibetan Digits Minus Half 0F2A
-Tibetan Head Marks 0F01
-TIBETAN KU RU KHA 0FBE
-TIBETAN KU RU KHA BZHI MIG CAN 0FBF
-TIBETAN MARK DELIMITER TSHEG BSTAR 0F0C
-TIBETAN MARK HALANTA 0F84
-TIBETAN MARK INTERSYLLABIC TSHEG 0F0B
-TIBETAN MARK PALUTA 0F85
-Tibetan Marks and Signs 0F08
-Tibetan Marks and Signs 0F34
-Tibetan Marks and Signs 0F82
-Tibetan Marks and Signs 0FBE
-TIBETAN SIGN RJES SU NGA RO 0F7E
-TIBETAN SIGN RNAM BCAD 0F7F
-tibetan srog med 0F84
-Tibetan Subjoined Consonants 0F90
-TIBETAN SYLLABLE OM 0F00
-Tibetan Symbols 0FC4
-tibetan visarga 0F7F
-Tibetan Vocalic Modification 0F7E
-tie below, ligature 035C
-TIE, CHARACTER 2040
-tie, ligature 0361
-Tifinagh 2D30
-TILDE 007E
-TILDE ABOVE, COMBINING NOT 034A
-TILDE BELOW, COMBINING 0330
-TILDE EQUALS, REVERSED 22CD
-Tilde Mathematical Operators 223B
-TILDE OPERATOR 223C
-TILDE OVERLAY, COMBINING 0334
-tilde, apl 223C
-TILDE, COMBINING 0303
-TILDE, COMBINING DOUBLE 0360
-TILDE, COMBINING VERTICAL 033E
-TILDE, MINUS 2242
-TILDE, NOT 2241
-TILDE, REVERSED 223D
-TILDE, SMALL 02DC
-tilde, spacing 007E
-TILDE, TRIPLE 224B
-Tiles, Domino 1F030
-Tiles, Mahjong 1F000
-TIMES OPERATOR, N-ARY 2A09
-TIMES, CIRCLED 2297
-TIMES, DIVISION 22C7
-TIMES, INVISIBLE 2062
-TIMES, SQUARED 22A0
-TINY 29FE
-TIPPI, GURMUKHI 0A70
-TIRONIAN SIGN ET 204A
-TODO SOFT HYPHEN, MONGOLIAN 1806
-Tone Letters 02E5
-Tone Letters, Modifier A700
-TONE MARK, COMBINING ACUTE 0341
-TONE MARK, COMBINING GRAVE 0340
-Tone Marks for Chinese, Corner A700
-Tone Marks, Contour 1DCB
-Tone Marks, Ideographic 302A
-tone, mandarin chinese fifth or neutral 02D9
-tone, mandarin chinese first 02C9
-tone, mandarin chinese fourth 02CB
-tone, mandarin chinese second 02CA
-tone, mandarin chinese third 02C7
-TONOS, COMBINING GREEK DIALYTIKA 0344
-tonos, greek 0301
-top 22A4
-TOP HALF INTEGRAL 2320
-torii 26E9
-TORTOISE SHELL BRACKET, LEFT 3014
-TORTOISE SHELL BRACKET, LEFT WHITE 3018
-TORTOISE SHELL BRACKET, RIGHT 3015
-TORTOISE SHELL BRACKET, RIGHT WHITE 3019
-total function 2192
-total injection 21A3
-TOTAL RUNOUT 2330
-total surjection 21A0
-TRADE MARK SIGN 2122
-trade mark sign, registered 00AE
-transfinite cardinal, first 2135
-transfinite cardinal, fourth 2138
-transfinite cardinal, second 2136
-transfinite cardinal, third 2137
-transform, fourier 2131
-TRANSMISSION BLOCK, END OF 0017
-TRANSMISSION BLOCK, SYMBOL FOR END OF 2417
-transmission symbol, end of 2301
-TRANSMISSION, END OF 0004
-TRANSMISSION, SYMBOL FOR END OF 2404
-TRANSMIT STATE, SET 0093
-TRAPEZIUM, WHITE 23E2
-Triangle Symbols 29CA
-TRIANGLE, COMBINING ENCLOSING UPWARD POINTING 20E4
-TRIANGLE, RIGHT 22BF
-Triangles 25B2
-TRIANGULAR BULLET 2023
-TRIANGULAR COLON, MODIFIER LETTER 02D0
-TRIANGULAR COLON, MODIFIER LETTER HALF 02D1
-TRICOLON 205D
-Trigram Symbols, Yijing / I Ching 2630
-trine 25B3
-TRIPLE INTEGRAL 222D
-TRIPLE PLUS 29FB
-TRIPLE PRIME 2034
-TRIPLE PRIME, REVERSED 2037
-TRIPLE TILDE 224B
-TRIPLE UNDERDOT, COMBINING 20E8
-TRUCK, BLACK 26DF
-TRUE 22A8
-TSHEG BSTAR, TIBETAN MARK DELIMITER 0F0C
-TSHEG, TIBETAN MARK INTERSYLLABIC 0F0B
-TUGRIK SIGN 20AE
-turbofan 274B
-Turkic, Old 10C00
-turkish currency 20A4
-turkish lira 00A3
-TURNED A, LATIN SMALL LETTER 0250
-TURNED AE, LATIN SMALL LETTER 1D02
-TURNED ALPHA, LATIN SMALL LETTER 0252
-TURNED AMPERSAND 214B
-TURNED CAPITAL F 2132
-TURNED COMMA ABOVE, COMBINING 0312
-turned comma quotation mark, double 201C
-turned comma quotation mark, single 2018
-TURNED COMMA, MODIFIER LETTER 02BB
-TURNED DELTA, LATIN SMALL LETTER 018D
-turned e, latin capital letter 018E
-TURNED E, LATIN SMALL LETTER 01DD
-TURNED GREEK SMALL LETTER IOTA 2129
-TURNED H WITH FISHHOOK, LATIN SMALL LETTER 02AE
-TURNED H, LATIN SMALL LETTER 0265
-TURNED I, LATIN SMALL LETTER 1D09
-TURNED K, LATIN SMALL LETTER 029E
-TURNED M WITH LONG LEG, LATIN SMALL LETTER 0270
-TURNED M, LATIN CAPITAL LETTER 019C
-TURNED M, LATIN SMALL LETTER 026F
-TURNED M, LATIN SMALL LETTER SIDEWAYS 1D1F
-TURNED NOT SIGN 2319
-TURNED OE, LATIN SMALL LETTER 1D14
-TURNED OPEN E, LATIN SMALL LETTER 1D08
-turned question mark 00BF
-TURNED R WITH HOOK, LATIN SMALL LETTER 027B
-TURNED R WITH LONG LEG, LATIN SMALL LETTER 027A
-TURNED R, LATIN LETTER SMALL CAPITAL 1D1A
-TURNED R, LATIN SMALL LETTER 0279
-TURNED R, MODIFIER LETTER SMALL 02B4
-TURNED SANS-SERIF CAPITAL G 2141
-TURNED SANS-SERIF CAPITAL L 2142
-TURNED SANS-SERIF CAPITAL Y 2144
-TURNED SMALL F 214E
-TURNED T, LATIN SMALL LETTER 0287
-TURNED V, LATIN CAPITAL LETTER 0245
-TURNED V, LATIN SMALL LETTER 028C
-TURNED W, LATIN SMALL LETTER 028D
-TURNED Y, LATIN SMALL LETTER 028E
-turnstile 22A2
-turnstile, reverse 22A3
-Turnstiles, Tacks and 22A2
-Turnstiles, Tacks and 27D8
-Turnstiles, Tacks and 2ADE
-TWO ASTERISKS ALIGNED VERTICALLY 2051
-TWO DOT LEADER 2025
-TWO DOT PUNCTUATION 205A
-TWO, SUPERSCRIPT 00B2
-U BAR, LATIN CAPITAL LETTER 0244
-U BAR, LATIN SMALL LETTER 0289
-U WITH ACUTE, LATIN CAPITAL LETTER 00DA
-U WITH ACUTE, LATIN SMALL LETTER 00FA
-U WITH BREVE, LATIN SMALL LETTER 016D
-U WITH CARON, LATIN SMALL LETTER 01D4
-U WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER 1E77
-U WITH CIRCUMFLEX, LATIN CAPITAL LETTER 00DB
-U WITH CIRCUMFLEX, LATIN SMALL LETTER 00FB
-U WITH DIAERESIS BELOW, LATIN SMALL LETTER 1E73
-U WITH DIAERESIS, LATIN CAPITAL LETTER 00DC
-U WITH DIAERESIS, LATIN SMALL LETTER 00FC
-U WITH DOT BELOW, LATIN SMALL LETTER 1EE5
-U WITH DOUBLE ACUTE, LATIN SMALL LETTER 0171
-U WITH DOUBLE GRAVE, LATIN SMALL LETTER 0215
-U WITH GRAVE, LATIN CAPITAL LETTER 00D9
-U WITH GRAVE, LATIN SMALL LETTER 00F9
-U WITH HOOK ABOVE, LATIN SMALL LETTER 1EE7
-U WITH HORN, LATIN SMALL LETTER 01B0
-U WITH INVERTED BREVE, LATIN SMALL LETTER 0217
-U WITH MACRON, LATIN SMALL LETTER 016B
-U WITH OGONEK, LATIN SMALL LETTER 0173
-U WITH RING ABOVE, LATIN SMALL LETTER 016F
-U WITH TILDE BELOW, LATIN SMALL LETTER 1E75
-U WITH TILDE, LATIN SMALL LETTER 0169
-U, COMBINING LATIN SMALL LETTER 0367
-U, LATIN LETTER SMALL CAPITAL 1D1C
-U, LATIN SMALL LETTER SIDEWAYS 1D1D
-U, LATIN SMALL LETTER SIDEWAYS DIAERESIZED 1D1E
-U, LATIN SUBSCRIPT SMALL LETTER 1D64
-Ugaritic 10380
-ukrainian currency 20B4
-UMBRELLA 2602
-UMBRELLA ON GROUND 26F1
-UMBRELLA WITH RAIN DROPS 2614
-umlaut 0308
-UNASPIRATED, MODIFIER LETTER 02ED
-UNDERDOT, COMBINING TRIPLE 20E8
-underline 0332
-UNDERLINE SYMBOL, CONTINUOUS 2381
-UNDERLINE SYMBOL, DISCONTINUOUS 2382
-underline, double 0333
-underscore 0332
-underscore, double 0333
-underscore, spacing 005F
-underscore, spacing double 2017
-Underscores, Overscores and FE49
-UNDERTIE 203F
-UNDERTIE, INVERTED 2054
-UNDO SYMBOL 238C
-Unified Canadian Aboriginal Syllabics 1400
-Unified Canadian Aboriginal Syllabics Extended 18B0
-Unified Ideographs Extension A, CJK 3400
-Unified Ideographs Extension B, CJK 20000
-Unified Ideographs Extension C, CJK 2A700
-Unified Ideographs, CJK 4E00
-UNION 222A
-UNION, DOUBLE 22D3
-union, generalized 22C3
-UNION, MULTISET 228E
-UNION, N-ARY 22C3
-Unions, Intersections and 2A40
-unique element 2129
-unit separator 001F
-UNIT SEPARATOR, SYMBOL FOR 241F
-universal quantifier 2200
-UNIVERSAL RECYCLING SYMBOL 2672
-UNMARRIED PARTNERSHIP SYMBOL 26AF
-UP ARROWHEAD 2303
-UP POINTING INDEX, WHITE 261D
-UP RIGHT DIAGONAL ELLIPSIS 22F0
-UP TACK 22A5
-UP TACK BELOW, COMBINING 031D
-UP TACK, MODIFIER LETTER 02D4
-UP, CLOSE 2050
-up, fast cursor 219F
-up, page 21DE
-UPA Modifiers 02EF
-UPPER BLADE SCISSORS 2701
-upper integral 2A1B
-UPPER RIGHT PENCIL 2710
-Uppercase Alphabet, Latin 0041
-UPSILON, LATIN CAPITAL LETTER 01B1
-UPSILON, LATIN SMALL LETTER 028A
-upstile, apl 2308
-UPWARD POINTING TRIANGLE, COMBINING ENCLOSING 20E4
-UPWARDS ARROW 2191
-UPWARDS ARROW BELOW, COMBINING 034E
-Uralic Phonetic Alphabet, Diacritics for 0350
-URANUS 2645
-urdu paragraph separator 203B
-URN, FUNERAL 26B1
-v above 030C
-V WITH DOT BELOW, LATIN SMALL LETTER 1E7F
-V WITH HOOK, LATIN CAPITAL LETTER 01B2
-V WITH HOOK, LATIN SMALL LETTER 028B
-V WITH TILDE, LATIN SMALL LETTER 1E7D
-V, COMBINING LATIN SMALL LETTER 036E
-v, latin capital letter script 01B2
-V, LATIN CAPITAL LETTER TURNED 0245
-V, LATIN LETTER SMALL CAPITAL 1D20
-v, latin small letter script 028B
-V, LATIN SMALL LETTER TURNED 028C
-V, LATIN SUBSCRIPT SMALL LETTER 1D65
-Vai A500
-valentine 2665
-valid 22A8
-varavu, tamil 0BF7
-varia, greek 0300
-VARIATION INDICATOR, IDEOGRAPHIC 303E
-VARIATION SELECTOR ONE, MONGOLIAN FREE 180B
-VARIATION SELECTOR THREE, MONGOLIAN FREE 180D
-VARIATION SELECTOR TWO, MONGOLIAN FREE 180C
-VARIATION SELECTOR-1 FE00
-Variation Selectors FE00
-Variation Selectors Supplement E0100
-varies with 223C
-varudam, tamil 0BF5
-vector 20D1
-vector 20D7
-VECTOR OR CROSS PRODUCT 2A2F
-vector pointing into page 2295
-vector pointing into page 2297
-vector pointing out of page 2299
-Vedic Extensions 1CD0
-Vedic Signs 0CF1
-Vedic Tone Marks 0951
-vee 2228
-venus 2640
-VERSICLE 2123
-vertical bar 007C
-VERTICAL BAR DELIMITER, TRIPLE 2980
-Vertical Bar Dingbats 2758
-vertical bar, broken 00A6
-VERTICAL BAR, N-ARY WHITE 2AFF
-VERTICAL BAR, WHITE 2AFE
-vertical bowtie 29D6
-Vertical Brackets 23B4
-VERTICAL ELLIPSIS 22EE
-Vertical Form Variants FE30
-VERTICAL FOUR DOTS 205E
-VERTICAL IDEOGRAPHIC ITERATION MARK 303B
-VERTICAL LINE 007C
-VERTICAL LINE ABOVE, COMBINING 030D
-VERTICAL LINE ABOVE, COMBINING DOUBLE 030E
-VERTICAL LINE BELOW, COMBINING 0329
-VERTICAL LINE BELOW, COMBINING DOUBLE 0348
-Vertical Line Operators 2AEE
-VERTICAL LINE OVERLAY, COMBINING LONG 20D2
-VERTICAL LINE OVERLAY, COMBINING SHORT 20D3
-VERTICAL LINE WITH MIDDLE DOT 237F
-VERTICAL LINE, DOUBLE 2016
-VERTICAL LINE, MODIFIER LETTER 02C8
-VERTICAL LINE, MODIFIER LETTER LOW 02CC
-Vertical Lines 2223
-VERTICAL STROKE OVERLAY, COMBINING DOUBLE 20E6
-vertical tabulation 000B
-VERTICAL TABULATION, SYMBOL FOR 240B
-Vertical Text, Bracket Variants for 23DC
-Vertical Text, Double Punctuation for 2047
-VERTICAL TILDE, COMBINING 033E
-Vertical Variants, Glyphs for FE10
-Vertical Variants, Glyphs for FE30
-vertsaket, armenian 0589
-VERY MUCH GREATER-THAN 22D9
-VERY MUCH LESS-THAN 22D8
-VICTORY HAND 270C
-vietnamese currency 20AB
-VIEWDATA SQUARE 2317
-vinculum 0305
-viram, devanagari deergh 0965
-viram, devanagari purna 0964
-VIRAMA, DEVANAGARI SIGN 094D
-VIRAMA, MALAYALAM SIGN 0D4D
-VIRAMA, MYANMAR SIGN 1039
-virama, sinhala 0DCA
-VIRAMA, TAGALOG SIGN 1714
-VIRGO 264D
-virgule 002F
-VISARGA, DEVANAGARI SIGN 0903
-visarga, khmer 17C7
-VISARGA, TAMIL SIGN 0B83
-visarga, tibetan 0F7F
-VOICED FRICATIVE, LATIN LETTER PHARYNGEAL 0295
-VOICED ITERATION MARK, HIRAGANA 309E
-VOICED ITERATION MARK, KATAKANA 30FE
-VOICING, MODIFIER LETTER 02EC
-VOLTAGE SIGN, HIGH 26A1
-VOLUME INTEGRAL 2230
-vrachy, greek 0306
-vs1 FE00
-vs17 E0100
-vt 000B
-VULGAR FRACTION ONE HALF 00BD
-VULGAR FRACTION ONE NINTH 2151
-VULGAR FRACTION ONE QUARTER 00BC
-VULGAR FRACTION ONE SEVENTH 2150
-VULGAR FRACTION ONE TENTH 2152
-VULGAR FRACTION THREE QUARTERS 00BE
-Vulgar Fractions 2153
-W WITH ACUTE, LATIN SMALL LETTER 1E83
-W WITH CIRCUMFLEX, LATIN SMALL LETTER 0175
-W WITH DIAERESIS, LATIN SMALL LETTER 1E85
-W WITH DOT ABOVE, LATIN SMALL LETTER 1E87
-W WITH DOT BELOW, LATIN SMALL LETTER 1E89
-W WITH GRAVE, LATIN SMALL LETTER 1E81
-W WITH RING ABOVE, LATIN SMALL LETTER 1E98
-W, LATIN LETTER SMALL CAPITAL 1D21
-W, LATIN SMALL LETTER TURNED 028D
-W, MODIFIER LETTER SMALL 02B7
-WAITING, MESSAGE 0095
-WARNING SIGN 26A0
-Warning Signs 2620
-WATCH 231A
-WAVE DASH 301C
-WAVE, SINE 223F
-WAVY DASH 3030
-WAVY LINE 2307
-WAVY LOW LINE FE4F
-WAVY OVERLINE FE4B
-WAVY OVERLINE, DOUBLE FE4C
-Weather and Astrological Symbols 2600
-weather, clear 2600
-weather, cloudy 2601
-weather, rainy 2602
-weather, showery 2614
-weather, snowy 2603
-wedge 028C
-wedge 2227
-weierstrass elliptic function 2118
-WEST SYRIAC CROSS 2670
-WHEEL OF DHARMA 2638
-WHEELCHAIR SYMBOL 267F
-WHITE BULLET 25E6
-WHITE CIRCLE 25CB
-WHITE CIRCLE, MEDIUM 26AA
-WHITE CIRCLE, MEDIUM SMALL 26AC
-WHITE CIRCLE, SHADOWED 274D
-WHITE CORNER BRACKET, LEFT 300E
-WHITE CORNER BRACKET, RIGHT 300F
-WHITE CURLY BRACKET, LEFT 2983
-WHITE CURLY BRACKET, RIGHT 2984
-WHITE DOWN POINTING INDEX 261F
-WHITE FLAG 2690
-white framus 29D6
-WHITE FROWNING FACE 2639
-WHITE LEFT POINTING INDEX 261C
-WHITE LENTICULAR BRACKET, LEFT 3016
-WHITE LENTICULAR BRACKET, RIGHT 3017
-WHITE NIB 2711
-White on Black Circled Numbers 24EB
-WHITE PARENTHESIS, LEFT 2985
-WHITE PARENTHESIS, RIGHT 2986
-WHITE RIGHT POINTING INDEX 261E
-WHITE SCISSORS 2704
-WHITE SESAME DOT FE46
-WHITE SHOGI PIECE 2616
-WHITE SMILING FACE 263A
-WHITE SQUARE BRACKET, LEFT 301A
-WHITE SQUARE BRACKET, RIGHT 301B
-WHITE STAR 2606
-WHITE SUN WITH RAYS 263C
-WHITE TELEPHONE 260F
-WHITE TORTOISE SHELL BRACKET, LEFT 3018
-WHITE TORTOISE SHELL BRACKET, RIGHT 3019
-WHITE TRAPEZIUM 23E2
-WHITE UP POINTING INDEX 261D
-WHITE VERTICAL BAR 2AFE
-WHITE VERTICAL BAR, N-ARY 2AFF
-WIDE BRIDGE ABOVE, COMBINING 20E9
-Wiggly Fences 29D8
-wj 2060
-WON SIGN 20A9
-WORD JOINER 2060
-WORD SEPARATOR MIDDLE DOT 2E31
-Word Separators, Aegean 10100
-Words, Squared Katakana 3300
-WORDSPACE, ETHIOPIC 1361
-working day symbol 2692
-WREATH PRODUCT 2240
-WRITING HAND 270D
-WYNN, LATIN CAPITAL LETTER 01F7
-WYNN, LATIN LETTER 01BF
-X ABOVE, COMBINING 033D
-X BELOW, COMBINING 0353
-X IN A RECTANGLE BOX 2327
-X WITH DIAERESIS, LATIN SMALL LETTER 1E8D
-X WITH DOT ABOVE, LATIN SMALL LETTER 1E8B
-X, BALLOT 2717
-X, BALLOT BOX WITH 2612
-X, COMBINING LATIN SMALL LETTER 036F
-X, HEAVY BALLOT 2718
-X, HEAVY MULTIPLICATION 2716
-X, MODIFIER LETTER SMALL 02E3
-X, MULTIPLICATION 2715
-XOR 22BB
-Y WITH ACUTE, LATIN CAPITAL LETTER 00DD
-Y WITH ACUTE, LATIN SMALL LETTER 00FD
-Y WITH CIRCUMFLEX, LATIN SMALL LETTER 0177
-Y WITH DIAERESIS, LATIN CAPITAL LETTER 0178
-Y WITH DIAERESIS, LATIN SMALL LETTER 00FF
-Y WITH DOT ABOVE, LATIN SMALL LETTER 1E8F
-Y WITH DOT BELOW, LATIN SMALL LETTER 1EF5
-Y WITH GRAVE, LATIN SMALL LETTER 1EF3
-Y WITH HOOK ABOVE, LATIN SMALL LETTER 1EF7
-Y WITH HOOK, LATIN SMALL LETTER 01B4
-Y WITH MACRON, LATIN SMALL LETTER 0233
-Y WITH RING ABOVE, LATIN SMALL LETTER 1E99
-Y WITH STROKE, LATIN CAPITAL LETTER 024E
-Y WITH STROKE, LATIN SMALL LETTER 024F
-Y WITH TILDE, LATIN SMALL LETTER 1EF9
-Y, LATIN LETTER SMALL CAPITAL 028F
-Y, LATIN SMALL LETTER TURNED 028E
-Y, MODIFIER LETTER SMALL 02B8
-Y, TURNED SANS-SERIF CAPITAL 2144
-YAMAKKAN, THAI CHARACTER 0E4E
-YEAR SIGN, TAMIL 0BF5
-YEN SIGN 00A5
-yentamna, armenian 058A
-Yi Radicals A490
-Yi Syllables A000
-Yiddish Digraphs 05F0
-yield 26DB
-yield, does not 22A3
-yields 22A2
-Yijing / I Ching Hexagram Symbols 4DC0
-Yijing / I Ching Monogram and Digram Symbols 268A
-Yijing / I Ching Trigram Symbols 2630
-YIN YANG 262F
-YOGH, LATIN SMALL LETTER 021D
-YPOGEGRAMMENI, COMBINING GREEK 0345
-YR, LATIN LETTER 01A6
-yuan sign 00A5
-z bar, latin small letter 01B6
-Z NOTATION BAG MEMBERSHIP 22FF
-Z NOTATION SPOT 2981
-Z NOTATION TYPE COLON 2982
-Z WITH ACUTE, LATIN SMALL LETTER 017A
-Z WITH CARON, LATIN SMALL LETTER 017E
-Z WITH CIRCUMFLEX, LATIN SMALL LETTER 1E91
-Z WITH CURL, LATIN SMALL LETTER 0291
-Z WITH DOT ABOVE, LATIN SMALL LETTER 017C
-Z WITH DOT BELOW, LATIN SMALL LETTER 1E93
-Z WITH HOOK, LATIN SMALL LETTER 0225
-Z WITH LINE BELOW, LATIN SMALL LETTER 1E95
-Z WITH RETROFLEX HOOK, LATIN SMALL LETTER 0290
-Z WITH STROKE, LATIN SMALL LETTER 01B6
-Z WITH SWASH TAIL, LATIN SMALL LETTER 0240
-Z, BLACK-LETTER CAPITAL 2128
-Z, DOUBLE-STRUCK CAPITAL 2124
-Z, LATIN LETTER SMALL CAPITAL 1D22
-Zapf Dingbats Series 100, ITC 2700
-ZERO WIDTH JOINER 200D
-ZERO WIDTH NO-BREAK SPACE FEFF
-ZERO WIDTH NON-JOINER 200C
-ZERO WIDTH SPACE 200B
-ZERO, CIRCLED DIGIT 24EA
-ZERO, IDEOGRAPHIC NUMBER 3007
-ZERO, SUPERSCRIPT 2070
-ZIGZAG ABOVE, COMBINING 035B
-Zodiacal Symbols 2648
-zwj 200D
-zwnbsp FEFF
-zwnj 200C
-zwsp 200B
diff --git a/Master/tlpkg/tlperl/lib/unicore/Jamo.txt b/Master/tlpkg/tlperl/lib/unicore/Jamo.txt
deleted file mode 100644
index f873683a43d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/Jamo.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-# Jamo-5.2.0.txt
-# Date: 2009-05-22, 13:02:00 PDT [KW]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-#
-# This file defines the Jamo Short Name property.
-#
-# See Section 3.12 of The Unicode Standard, Version 5.2
-# for more information.
-#
-# Each line contains two fields, separated by a semicolon.
-#
-# The first field gives the code point, in 4-digit hexadecimal
-# form, of a combining jamo character that participates in
-# the algorithmic determination Hangul syllable character names.
-# The second field gives the Jamo Short Name as a one-, two-,
-# or three-character ASCII string (or in one case, for U+110B,
-# the null string).
-#
-# #############################################################
-
-1100; G # HANGUL CHOSEONG KIYEOK
-1101; GG # HANGUL CHOSEONG SSANGKIYEOK
-1102; N # HANGUL CHOSEONG NIEUN
-1103; D # HANGUL CHOSEONG TIKEUT
-1104; DD # HANGUL CHOSEONG SSANGTIKEUT
-1105; R # HANGUL CHOSEONG RIEUL
-1106; M # HANGUL CHOSEONG MIEUM
-1107; B # HANGUL CHOSEONG PIEUP
-1108; BB # HANGUL CHOSEONG SSANGPIEUP
-1109; S # HANGUL CHOSEONG SIOS
-110A; SS # HANGUL CHOSEONG SSANGSIOS
-110B; # HANGUL CHOSEONG IEUNG
-110C; J # HANGUL CHOSEONG CIEUC
-110D; JJ # HANGUL CHOSEONG SSANGCIEUC
-110E; C # HANGUL CHOSEONG CHIEUCH
-110F; K # HANGUL CHOSEONG KHIEUKH
-1110; T # HANGUL CHOSEONG THIEUTH
-1111; P # HANGUL CHOSEONG PHIEUPH
-1112; H # HANGUL CHOSEONG HIEUH
-1161; A # HANGUL JUNGSEONG A
-1162; AE # HANGUL JUNGSEONG AE
-1163; YA # HANGUL JUNGSEONG YA
-1164; YAE # HANGUL JUNGSEONG YAE
-1165; EO # HANGUL JUNGSEONG EO
-1166; E # HANGUL JUNGSEONG E
-1167; YEO # HANGUL JUNGSEONG YEO
-1168; YE # HANGUL JUNGSEONG YE
-1169; O # HANGUL JUNGSEONG O
-116A; WA # HANGUL JUNGSEONG WA
-116B; WAE # HANGUL JUNGSEONG WAE
-116C; OE # HANGUL JUNGSEONG OE
-116D; YO # HANGUL JUNGSEONG YO
-116E; U # HANGUL JUNGSEONG U
-116F; WEO # HANGUL JUNGSEONG WEO
-1170; WE # HANGUL JUNGSEONG WE
-1171; WI # HANGUL JUNGSEONG WI
-1172; YU # HANGUL JUNGSEONG YU
-1173; EU # HANGUL JUNGSEONG EU
-1174; YI # HANGUL JUNGSEONG YI
-1175; I # HANGUL JUNGSEONG I
-11A8; G # HANGUL JONGSEONG KIYEOK
-11A9; GG # HANGUL JONGSEONG SSANGKIYEOK
-11AA; GS # HANGUL JONGSEONG KIYEOK-SIOS
-11AB; N # HANGUL JONGSEONG NIEUN
-11AC; NJ # HANGUL JONGSEONG NIEUN-CIEUC
-11AD; NH # HANGUL JONGSEONG NIEUN-HIEUH
-11AE; D # HANGUL JONGSEONG TIKEUT
-11AF; L # HANGUL JONGSEONG RIEUL
-11B0; LG # HANGUL JONGSEONG RIEUL-KIYEOK
-11B1; LM # HANGUL JONGSEONG RIEUL-MIEUM
-11B2; LB # HANGUL JONGSEONG RIEUL-PIEUP
-11B3; LS # HANGUL JONGSEONG RIEUL-SIOS
-11B4; LT # HANGUL JONGSEONG RIEUL-THIEUTH
-11B5; LP # HANGUL JONGSEONG RIEUL-PHIEUPH
-11B6; LH # HANGUL JONGSEONG RIEUL-HIEUH
-11B7; M # HANGUL JONGSEONG MIEUM
-11B8; B # HANGUL JONGSEONG PIEUP
-11B9; BS # HANGUL JONGSEONG PIEUP-SIOS
-11BA; S # HANGUL JONGSEONG SIOS
-11BB; SS # HANGUL JONGSEONG SSANGSIOS
-11BC; NG # HANGUL JONGSEONG IEUNG
-11BD; J # HANGUL JONGSEONG CIEUC
-11BE; C # HANGUL JONGSEONG CHIEUCH
-11BF; K # HANGUL JONGSEONG KHIEUKH
-11C0; T # HANGUL JONGSEONG THIEUTH
-11C1; P # HANGUL JONGSEONG PHIEUPH
-11C2; H # HANGUL JONGSEONG HIEUH
-
diff --git a/Master/tlpkg/tlperl/lib/unicore/LineBreak.txt b/Master/tlpkg/tlperl/lib/unicore/LineBreak.txt
deleted file mode 100644
index d5d1636be56..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/LineBreak.txt
+++ /dev/null
@@ -1,22670 +0,0 @@
-# LineBreak-5.2.0.txt
-# Date: 2009-08-17, 12:21:00 PDT [KW]
-#
-# Line Break Properties
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-# It contains both normative and informative data.
-#
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# The format is two fields separated by a semicolon.
-# Field 0: Unicode value
-# Field 1: LineBreak property, consisting of one of the following values:
-# Normative:
-# "BK", "CR", "LF", "CM", "SG", "GL", "CB", "SP", "ZW",
-# "NL", "WJ", "JL", "JV", "JT", "H2", "H3"
-# Informative:
-# "XX", "OP", "CL", "CP", "QU", "NS", "EX", "SY",
-# "IS", "PR", "PO", "NU", "AL", "ID", "IN", "HY",
-# "BB", "BA", "SA", "AI", "B2"
-# - All code points, assigned and unassigned, that are not listed
-# explicitly are given the value "XX".
-# The unassigned code points that default to "ID" include ranges in the
-# following blocks:
-# CJK Unified Ideographs Extension A: U+3400..U+4DBF
-# CJK Unified Ideographs: U+4E00..U+9FFF
-# CJK Compatibility Ideographs: U+F900..U+FAFF
-# CJK Unified Ideographs Extension B: U+20000..U+2A6DF
-# CJK Unified Ideographs Extension C: U+2A700..U+2B73F
-# CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F
-# and any other reserved code points on
-# Planes 2 and 3: U+20000..U+2FFFD
-# U+30000..U+3FFFD
-# - Characters ranges are specified as for other property files in
-# the Unicode Character Database.
-#
-# The Unicode name of each character is provided in a comment for help
-# in identifying the characters.
-#
-# See UAX #14: Unicode Line Breaking Algorithm, for more information
-#
-# @missing: 0000..10FFFF; XX
-0000;CM # <control>
-0001;CM # <control>
-0002;CM # <control>
-0003;CM # <control>
-0004;CM # <control>
-0005;CM # <control>
-0006;CM # <control>
-0007;CM # <control>
-0008;CM # <control>
-0009;BA # <control>
-000A;LF # <control>
-000B;BK # <control>
-000C;BK # <control>
-000D;CR # <control>
-000E;CM # <control>
-000F;CM # <control>
-0010;CM # <control>
-0011;CM # <control>
-0012;CM # <control>
-0013;CM # <control>
-0014;CM # <control>
-0015;CM # <control>
-0016;CM # <control>
-0017;CM # <control>
-0018;CM # <control>
-0019;CM # <control>
-001A;CM # <control>
-001B;CM # <control>
-001C;CM # <control>
-001D;CM # <control>
-001E;CM # <control>
-001F;CM # <control>
-0020;SP # SPACE
-0021;EX # EXCLAMATION MARK
-0022;QU # QUOTATION MARK
-0023;AL # NUMBER SIGN
-0024;PR # DOLLAR SIGN
-0025;PO # PERCENT SIGN
-0026;AL # AMPERSAND
-0027;QU # APOSTROPHE
-0028;OP # LEFT PARENTHESIS
-0029;CP # RIGHT PARENTHESIS
-002A;AL # ASTERISK
-002B;PR # PLUS SIGN
-002C;IS # COMMA
-002D;HY # HYPHEN-MINUS
-002E;IS # FULL STOP
-002F;SY # SOLIDUS
-0030;NU # DIGIT ZERO
-0031;NU # DIGIT ONE
-0032;NU # DIGIT TWO
-0033;NU # DIGIT THREE
-0034;NU # DIGIT FOUR
-0035;NU # DIGIT FIVE
-0036;NU # DIGIT SIX
-0037;NU # DIGIT SEVEN
-0038;NU # DIGIT EIGHT
-0039;NU # DIGIT NINE
-003A;IS # COLON
-003B;IS # SEMICOLON
-003C;AL # LESS-THAN SIGN
-003D;AL # EQUALS SIGN
-003E;AL # GREATER-THAN SIGN
-003F;EX # QUESTION MARK
-0040;AL # COMMERCIAL AT
-0041;AL # LATIN CAPITAL LETTER A
-0042;AL # LATIN CAPITAL LETTER B
-0043;AL # LATIN CAPITAL LETTER C
-0044;AL # LATIN CAPITAL LETTER D
-0045;AL # LATIN CAPITAL LETTER E
-0046;AL # LATIN CAPITAL LETTER F
-0047;AL # LATIN CAPITAL LETTER G
-0048;AL # LATIN CAPITAL LETTER H
-0049;AL # LATIN CAPITAL LETTER I
-004A;AL # LATIN CAPITAL LETTER J
-004B;AL # LATIN CAPITAL LETTER K
-004C;AL # LATIN CAPITAL LETTER L
-004D;AL # LATIN CAPITAL LETTER M
-004E;AL # LATIN CAPITAL LETTER N
-004F;AL # LATIN CAPITAL LETTER O
-0050;AL # LATIN CAPITAL LETTER P
-0051;AL # LATIN CAPITAL LETTER Q
-0052;AL # LATIN CAPITAL LETTER R
-0053;AL # LATIN CAPITAL LETTER S
-0054;AL # LATIN CAPITAL LETTER T
-0055;AL # LATIN CAPITAL LETTER U
-0056;AL # LATIN CAPITAL LETTER V
-0057;AL # LATIN CAPITAL LETTER W
-0058;AL # LATIN CAPITAL LETTER X
-0059;AL # LATIN CAPITAL LETTER Y
-005A;AL # LATIN CAPITAL LETTER Z
-005B;OP # LEFT SQUARE BRACKET
-005C;PR # REVERSE SOLIDUS
-005D;CP # RIGHT SQUARE BRACKET
-005E;AL # CIRCUMFLEX ACCENT
-005F;AL # LOW LINE
-0060;AL # GRAVE ACCENT
-0061;AL # LATIN SMALL LETTER A
-0062;AL # LATIN SMALL LETTER B
-0063;AL # LATIN SMALL LETTER C
-0064;AL # LATIN SMALL LETTER D
-0065;AL # LATIN SMALL LETTER E
-0066;AL # LATIN SMALL LETTER F
-0067;AL # LATIN SMALL LETTER G
-0068;AL # LATIN SMALL LETTER H
-0069;AL # LATIN SMALL LETTER I
-006A;AL # LATIN SMALL LETTER J
-006B;AL # LATIN SMALL LETTER K
-006C;AL # LATIN SMALL LETTER L
-006D;AL # LATIN SMALL LETTER M
-006E;AL # LATIN SMALL LETTER N
-006F;AL # LATIN SMALL LETTER O
-0070;AL # LATIN SMALL LETTER P
-0071;AL # LATIN SMALL LETTER Q
-0072;AL # LATIN SMALL LETTER R
-0073;AL # LATIN SMALL LETTER S
-0074;AL # LATIN SMALL LETTER T
-0075;AL # LATIN SMALL LETTER U
-0076;AL # LATIN SMALL LETTER V
-0077;AL # LATIN SMALL LETTER W
-0078;AL # LATIN SMALL LETTER X
-0079;AL # LATIN SMALL LETTER Y
-007A;AL # LATIN SMALL LETTER Z
-007B;OP # LEFT CURLY BRACKET
-007C;BA # VERTICAL LINE
-007D;CL # RIGHT CURLY BRACKET
-007E;AL # TILDE
-007F;CM # <control>
-0080;CM # <control>
-0081;CM # <control>
-0082;CM # <control>
-0083;CM # <control>
-0084;CM # <control>
-0085;NL # <control>
-0086;CM # <control>
-0087;CM # <control>
-0088;CM # <control>
-0089;CM # <control>
-008A;CM # <control>
-008B;CM # <control>
-008C;CM # <control>
-008D;CM # <control>
-008E;CM # <control>
-008F;CM # <control>
-0090;CM # <control>
-0091;CM # <control>
-0092;CM # <control>
-0093;CM # <control>
-0094;CM # <control>
-0095;CM # <control>
-0096;CM # <control>
-0097;CM # <control>
-0098;CM # <control>
-0099;CM # <control>
-009A;CM # <control>
-009B;CM # <control>
-009C;CM # <control>
-009D;CM # <control>
-009E;CM # <control>
-009F;CM # <control>
-00A0;GL # NO-BREAK SPACE
-00A1;OP # INVERTED EXCLAMATION MARK
-00A2;PO # CENT SIGN
-00A3;PR # POUND SIGN
-00A4;PR # CURRENCY SIGN
-00A5;PR # YEN SIGN
-00A6;AL # BROKEN BAR
-00A7;AI # SECTION SIGN
-00A8;AI # DIAERESIS
-00A9;AL # COPYRIGHT SIGN
-00AA;AI # FEMININE ORDINAL INDICATOR
-00AB;QU # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC;AL # NOT SIGN
-00AD;BA # SOFT HYPHEN
-00AE;AL # REGISTERED SIGN
-00AF;AL # MACRON
-00B0;PO # DEGREE SIGN
-00B1;PR # PLUS-MINUS SIGN
-00B2;AI # SUPERSCRIPT TWO
-00B3;AI # SUPERSCRIPT THREE
-00B4;BB # ACUTE ACCENT
-00B5;AL # MICRO SIGN
-00B6;AI # PILCROW SIGN
-00B7;AI # MIDDLE DOT
-00B8;AI # CEDILLA
-00B9;AI # SUPERSCRIPT ONE
-00BA;AI # MASCULINE ORDINAL INDICATOR
-00BB;QU # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC;AI # VULGAR FRACTION ONE QUARTER
-00BD;AI # VULGAR FRACTION ONE HALF
-00BE;AI # VULGAR FRACTION THREE QUARTERS
-00BF;OP # INVERTED QUESTION MARK
-00C0;AL # LATIN CAPITAL LETTER A WITH GRAVE
-00C1;AL # LATIN CAPITAL LETTER A WITH ACUTE
-00C2;AL # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00C3;AL # LATIN CAPITAL LETTER A WITH TILDE
-00C4;AL # LATIN CAPITAL LETTER A WITH DIAERESIS
-00C5;AL # LATIN CAPITAL LETTER A WITH RING ABOVE
-00C6;AL # LATIN CAPITAL LETTER AE
-00C7;AL # LATIN CAPITAL LETTER C WITH CEDILLA
-00C8;AL # LATIN CAPITAL LETTER E WITH GRAVE
-00C9;AL # LATIN CAPITAL LETTER E WITH ACUTE
-00CA;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00CB;AL # LATIN CAPITAL LETTER E WITH DIAERESIS
-00CC;AL # LATIN CAPITAL LETTER I WITH GRAVE
-00CD;AL # LATIN CAPITAL LETTER I WITH ACUTE
-00CE;AL # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF;AL # LATIN CAPITAL LETTER I WITH DIAERESIS
-00D0;AL # LATIN CAPITAL LETTER ETH
-00D1;AL # LATIN CAPITAL LETTER N WITH TILDE
-00D2;AL # LATIN CAPITAL LETTER O WITH GRAVE
-00D3;AL # LATIN CAPITAL LETTER O WITH ACUTE
-00D4;AL # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00D5;AL # LATIN CAPITAL LETTER O WITH TILDE
-00D6;AL # LATIN CAPITAL LETTER O WITH DIAERESIS
-00D7;AI # MULTIPLICATION SIGN
-00D8;AL # LATIN CAPITAL LETTER O WITH STROKE
-00D9;AL # LATIN CAPITAL LETTER U WITH GRAVE
-00DA;AL # LATIN CAPITAL LETTER U WITH ACUTE
-00DB;AL # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-00DC;AL # LATIN CAPITAL LETTER U WITH DIAERESIS
-00DD;AL # LATIN CAPITAL LETTER Y WITH ACUTE
-00DE;AL # LATIN CAPITAL LETTER THORN
-00DF;AL # LATIN SMALL LETTER SHARP S
-00E0;AL # LATIN SMALL LETTER A WITH GRAVE
-00E1;AL # LATIN SMALL LETTER A WITH ACUTE
-00E2;AL # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00E3;AL # LATIN SMALL LETTER A WITH TILDE
-00E4;AL # LATIN SMALL LETTER A WITH DIAERESIS
-00E5;AL # LATIN SMALL LETTER A WITH RING ABOVE
-00E6;AL # LATIN SMALL LETTER AE
-00E7;AL # LATIN SMALL LETTER C WITH CEDILLA
-00E8;AL # LATIN SMALL LETTER E WITH GRAVE
-00E9;AL # LATIN SMALL LETTER E WITH ACUTE
-00EA;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00EB;AL # LATIN SMALL LETTER E WITH DIAERESIS
-00EC;AL # LATIN SMALL LETTER I WITH GRAVE
-00ED;AL # LATIN SMALL LETTER I WITH ACUTE
-00EE;AL # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00EF;AL # LATIN SMALL LETTER I WITH DIAERESIS
-00F0;AL # LATIN SMALL LETTER ETH
-00F1;AL # LATIN SMALL LETTER N WITH TILDE
-00F2;AL # LATIN SMALL LETTER O WITH GRAVE
-00F3;AL # LATIN SMALL LETTER O WITH ACUTE
-00F4;AL # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00F5;AL # LATIN SMALL LETTER O WITH TILDE
-00F6;AL # LATIN SMALL LETTER O WITH DIAERESIS
-00F7;AI # DIVISION SIGN
-00F8;AL # LATIN SMALL LETTER O WITH STROKE
-00F9;AL # LATIN SMALL LETTER U WITH GRAVE
-00FA;AL # LATIN SMALL LETTER U WITH ACUTE
-00FB;AL # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00FC;AL # LATIN SMALL LETTER U WITH DIAERESIS
-00FD;AL # LATIN SMALL LETTER Y WITH ACUTE
-00FE;AL # LATIN SMALL LETTER THORN
-00FF;AL # LATIN SMALL LETTER Y WITH DIAERESIS
-0100;AL # LATIN CAPITAL LETTER A WITH MACRON
-0101;AL # LATIN SMALL LETTER A WITH MACRON
-0102;AL # LATIN CAPITAL LETTER A WITH BREVE
-0103;AL # LATIN SMALL LETTER A WITH BREVE
-0104;AL # LATIN CAPITAL LETTER A WITH OGONEK
-0105;AL # LATIN SMALL LETTER A WITH OGONEK
-0106;AL # LATIN CAPITAL LETTER C WITH ACUTE
-0107;AL # LATIN SMALL LETTER C WITH ACUTE
-0108;AL # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0109;AL # LATIN SMALL LETTER C WITH CIRCUMFLEX
-010A;AL # LATIN CAPITAL LETTER C WITH DOT ABOVE
-010B;AL # LATIN SMALL LETTER C WITH DOT ABOVE
-010C;AL # LATIN CAPITAL LETTER C WITH CARON
-010D;AL # LATIN SMALL LETTER C WITH CARON
-010E;AL # LATIN CAPITAL LETTER D WITH CARON
-010F;AL # LATIN SMALL LETTER D WITH CARON
-0110;AL # LATIN CAPITAL LETTER D WITH STROKE
-0111;AL # LATIN SMALL LETTER D WITH STROKE
-0112;AL # LATIN CAPITAL LETTER E WITH MACRON
-0113;AL # LATIN SMALL LETTER E WITH MACRON
-0114;AL # LATIN CAPITAL LETTER E WITH BREVE
-0115;AL # LATIN SMALL LETTER E WITH BREVE
-0116;AL # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0117;AL # LATIN SMALL LETTER E WITH DOT ABOVE
-0118;AL # LATIN CAPITAL LETTER E WITH OGONEK
-0119;AL # LATIN SMALL LETTER E WITH OGONEK
-011A;AL # LATIN CAPITAL LETTER E WITH CARON
-011B;AL # LATIN SMALL LETTER E WITH CARON
-011C;AL # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011D;AL # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011E;AL # LATIN CAPITAL LETTER G WITH BREVE
-011F;AL # LATIN SMALL LETTER G WITH BREVE
-0120;AL # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0121;AL # LATIN SMALL LETTER G WITH DOT ABOVE
-0122;AL # LATIN CAPITAL LETTER G WITH CEDILLA
-0123;AL # LATIN SMALL LETTER G WITH CEDILLA
-0124;AL # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0125;AL # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0126;AL # LATIN CAPITAL LETTER H WITH STROKE
-0127;AL # LATIN SMALL LETTER H WITH STROKE
-0128;AL # LATIN CAPITAL LETTER I WITH TILDE
-0129;AL # LATIN SMALL LETTER I WITH TILDE
-012A;AL # LATIN CAPITAL LETTER I WITH MACRON
-012B;AL # LATIN SMALL LETTER I WITH MACRON
-012C;AL # LATIN CAPITAL LETTER I WITH BREVE
-012D;AL # LATIN SMALL LETTER I WITH BREVE
-012E;AL # LATIN CAPITAL LETTER I WITH OGONEK
-012F;AL # LATIN SMALL LETTER I WITH OGONEK
-0130;AL # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0131;AL # LATIN SMALL LETTER DOTLESS I
-0132;AL # LATIN CAPITAL LIGATURE IJ
-0133;AL # LATIN SMALL LIGATURE IJ
-0134;AL # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0135;AL # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0136;AL # LATIN CAPITAL LETTER K WITH CEDILLA
-0137;AL # LATIN SMALL LETTER K WITH CEDILLA
-0138;AL # LATIN SMALL LETTER KRA
-0139;AL # LATIN CAPITAL LETTER L WITH ACUTE
-013A;AL # LATIN SMALL LETTER L WITH ACUTE
-013B;AL # LATIN CAPITAL LETTER L WITH CEDILLA
-013C;AL # LATIN SMALL LETTER L WITH CEDILLA
-013D;AL # LATIN CAPITAL LETTER L WITH CARON
-013E;AL # LATIN SMALL LETTER L WITH CARON
-013F;AL # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0140;AL # LATIN SMALL LETTER L WITH MIDDLE DOT
-0141;AL # LATIN CAPITAL LETTER L WITH STROKE
-0142;AL # LATIN SMALL LETTER L WITH STROKE
-0143;AL # LATIN CAPITAL LETTER N WITH ACUTE
-0144;AL # LATIN SMALL LETTER N WITH ACUTE
-0145;AL # LATIN CAPITAL LETTER N WITH CEDILLA
-0146;AL # LATIN SMALL LETTER N WITH CEDILLA
-0147;AL # LATIN CAPITAL LETTER N WITH CARON
-0148;AL # LATIN SMALL LETTER N WITH CARON
-0149;AL # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014A;AL # LATIN CAPITAL LETTER ENG
-014B;AL # LATIN SMALL LETTER ENG
-014C;AL # LATIN CAPITAL LETTER O WITH MACRON
-014D;AL # LATIN SMALL LETTER O WITH MACRON
-014E;AL # LATIN CAPITAL LETTER O WITH BREVE
-014F;AL # LATIN SMALL LETTER O WITH BREVE
-0150;AL # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0151;AL # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0152;AL # LATIN CAPITAL LIGATURE OE
-0153;AL # LATIN SMALL LIGATURE OE
-0154;AL # LATIN CAPITAL LETTER R WITH ACUTE
-0155;AL # LATIN SMALL LETTER R WITH ACUTE
-0156;AL # LATIN CAPITAL LETTER R WITH CEDILLA
-0157;AL # LATIN SMALL LETTER R WITH CEDILLA
-0158;AL # LATIN CAPITAL LETTER R WITH CARON
-0159;AL # LATIN SMALL LETTER R WITH CARON
-015A;AL # LATIN CAPITAL LETTER S WITH ACUTE
-015B;AL # LATIN SMALL LETTER S WITH ACUTE
-015C;AL # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015D;AL # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015E;AL # LATIN CAPITAL LETTER S WITH CEDILLA
-015F;AL # LATIN SMALL LETTER S WITH CEDILLA
-0160;AL # LATIN CAPITAL LETTER S WITH CARON
-0161;AL # LATIN SMALL LETTER S WITH CARON
-0162;AL # LATIN CAPITAL LETTER T WITH CEDILLA
-0163;AL # LATIN SMALL LETTER T WITH CEDILLA
-0164;AL # LATIN CAPITAL LETTER T WITH CARON
-0165;AL # LATIN SMALL LETTER T WITH CARON
-0166;AL # LATIN CAPITAL LETTER T WITH STROKE
-0167;AL # LATIN SMALL LETTER T WITH STROKE
-0168;AL # LATIN CAPITAL LETTER U WITH TILDE
-0169;AL # LATIN SMALL LETTER U WITH TILDE
-016A;AL # LATIN CAPITAL LETTER U WITH MACRON
-016B;AL # LATIN SMALL LETTER U WITH MACRON
-016C;AL # LATIN CAPITAL LETTER U WITH BREVE
-016D;AL # LATIN SMALL LETTER U WITH BREVE
-016E;AL # LATIN CAPITAL LETTER U WITH RING ABOVE
-016F;AL # LATIN SMALL LETTER U WITH RING ABOVE
-0170;AL # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0171;AL # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0172;AL # LATIN CAPITAL LETTER U WITH OGONEK
-0173;AL # LATIN SMALL LETTER U WITH OGONEK
-0174;AL # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0175;AL # LATIN SMALL LETTER W WITH CIRCUMFLEX
-0176;AL # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0177;AL # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0178;AL # LATIN CAPITAL LETTER Y WITH DIAERESIS
-0179;AL # LATIN CAPITAL LETTER Z WITH ACUTE
-017A;AL # LATIN SMALL LETTER Z WITH ACUTE
-017B;AL # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017C;AL # LATIN SMALL LETTER Z WITH DOT ABOVE
-017D;AL # LATIN CAPITAL LETTER Z WITH CARON
-017E;AL # LATIN SMALL LETTER Z WITH CARON
-017F;AL # LATIN SMALL LETTER LONG S
-0180;AL # LATIN SMALL LETTER B WITH STROKE
-0181;AL # LATIN CAPITAL LETTER B WITH HOOK
-0182;AL # LATIN CAPITAL LETTER B WITH TOPBAR
-0183;AL # LATIN SMALL LETTER B WITH TOPBAR
-0184;AL # LATIN CAPITAL LETTER TONE SIX
-0185;AL # LATIN SMALL LETTER TONE SIX
-0186;AL # LATIN CAPITAL LETTER OPEN O
-0187;AL # LATIN CAPITAL LETTER C WITH HOOK
-0188;AL # LATIN SMALL LETTER C WITH HOOK
-0189;AL # LATIN CAPITAL LETTER AFRICAN D
-018A;AL # LATIN CAPITAL LETTER D WITH HOOK
-018B;AL # LATIN CAPITAL LETTER D WITH TOPBAR
-018C;AL # LATIN SMALL LETTER D WITH TOPBAR
-018D;AL # LATIN SMALL LETTER TURNED DELTA
-018E;AL # LATIN CAPITAL LETTER REVERSED E
-018F;AL # LATIN CAPITAL LETTER SCHWA
-0190;AL # LATIN CAPITAL LETTER OPEN E
-0191;AL # LATIN CAPITAL LETTER F WITH HOOK
-0192;AL # LATIN SMALL LETTER F WITH HOOK
-0193;AL # LATIN CAPITAL LETTER G WITH HOOK
-0194;AL # LATIN CAPITAL LETTER GAMMA
-0195;AL # LATIN SMALL LETTER HV
-0196;AL # LATIN CAPITAL LETTER IOTA
-0197;AL # LATIN CAPITAL LETTER I WITH STROKE
-0198;AL # LATIN CAPITAL LETTER K WITH HOOK
-0199;AL # LATIN SMALL LETTER K WITH HOOK
-019A;AL # LATIN SMALL LETTER L WITH BAR
-019B;AL # LATIN SMALL LETTER LAMBDA WITH STROKE
-019C;AL # LATIN CAPITAL LETTER TURNED M
-019D;AL # LATIN CAPITAL LETTER N WITH LEFT HOOK
-019E;AL # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-019F;AL # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-01A0;AL # LATIN CAPITAL LETTER O WITH HORN
-01A1;AL # LATIN SMALL LETTER O WITH HORN
-01A2;AL # LATIN CAPITAL LETTER OI
-01A3;AL # LATIN SMALL LETTER OI
-01A4;AL # LATIN CAPITAL LETTER P WITH HOOK
-01A5;AL # LATIN SMALL LETTER P WITH HOOK
-01A6;AL # LATIN LETTER YR
-01A7;AL # LATIN CAPITAL LETTER TONE TWO
-01A8;AL # LATIN SMALL LETTER TONE TWO
-01A9;AL # LATIN CAPITAL LETTER ESH
-01AA;AL # LATIN LETTER REVERSED ESH LOOP
-01AB;AL # LATIN SMALL LETTER T WITH PALATAL HOOK
-01AC;AL # LATIN CAPITAL LETTER T WITH HOOK
-01AD;AL # LATIN SMALL LETTER T WITH HOOK
-01AE;AL # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-01AF;AL # LATIN CAPITAL LETTER U WITH HORN
-01B0;AL # LATIN SMALL LETTER U WITH HORN
-01B1;AL # LATIN CAPITAL LETTER UPSILON
-01B2;AL # LATIN CAPITAL LETTER V WITH HOOK
-01B3;AL # LATIN CAPITAL LETTER Y WITH HOOK
-01B4;AL # LATIN SMALL LETTER Y WITH HOOK
-01B5;AL # LATIN CAPITAL LETTER Z WITH STROKE
-01B6;AL # LATIN SMALL LETTER Z WITH STROKE
-01B7;AL # LATIN CAPITAL LETTER EZH
-01B8;AL # LATIN CAPITAL LETTER EZH REVERSED
-01B9;AL # LATIN SMALL LETTER EZH REVERSED
-01BA;AL # LATIN SMALL LETTER EZH WITH TAIL
-01BB;AL # LATIN LETTER TWO WITH STROKE
-01BC;AL # LATIN CAPITAL LETTER TONE FIVE
-01BD;AL # LATIN SMALL LETTER TONE FIVE
-01BE;AL # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
-01BF;AL # LATIN LETTER WYNN
-01C0;AL # LATIN LETTER DENTAL CLICK
-01C1;AL # LATIN LETTER LATERAL CLICK
-01C2;AL # LATIN LETTER ALVEOLAR CLICK
-01C3;AL # LATIN LETTER RETROFLEX CLICK
-01C4;AL # LATIN CAPITAL LETTER DZ WITH CARON
-01C5;AL # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C6;AL # LATIN SMALL LETTER DZ WITH CARON
-01C7;AL # LATIN CAPITAL LETTER LJ
-01C8;AL # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01C9;AL # LATIN SMALL LETTER LJ
-01CA;AL # LATIN CAPITAL LETTER NJ
-01CB;AL # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CC;AL # LATIN SMALL LETTER NJ
-01CD;AL # LATIN CAPITAL LETTER A WITH CARON
-01CE;AL # LATIN SMALL LETTER A WITH CARON
-01CF;AL # LATIN CAPITAL LETTER I WITH CARON
-01D0;AL # LATIN SMALL LETTER I WITH CARON
-01D1;AL # LATIN CAPITAL LETTER O WITH CARON
-01D2;AL # LATIN SMALL LETTER O WITH CARON
-01D3;AL # LATIN CAPITAL LETTER U WITH CARON
-01D4;AL # LATIN SMALL LETTER U WITH CARON
-01D5;AL # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D6;AL # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D7;AL # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D8;AL # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D9;AL # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DA;AL # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DB;AL # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DC;AL # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DD;AL # LATIN SMALL LETTER TURNED E
-01DE;AL # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01DF;AL # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E0;AL # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E1;AL # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E2;AL # LATIN CAPITAL LETTER AE WITH MACRON
-01E3;AL # LATIN SMALL LETTER AE WITH MACRON
-01E4;AL # LATIN CAPITAL LETTER G WITH STROKE
-01E5;AL # LATIN SMALL LETTER G WITH STROKE
-01E6;AL # LATIN CAPITAL LETTER G WITH CARON
-01E7;AL # LATIN SMALL LETTER G WITH CARON
-01E8;AL # LATIN CAPITAL LETTER K WITH CARON
-01E9;AL # LATIN SMALL LETTER K WITH CARON
-01EA;AL # LATIN CAPITAL LETTER O WITH OGONEK
-01EB;AL # LATIN SMALL LETTER O WITH OGONEK
-01EC;AL # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01ED;AL # LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EE;AL # LATIN CAPITAL LETTER EZH WITH CARON
-01EF;AL # LATIN SMALL LETTER EZH WITH CARON
-01F0;AL # LATIN SMALL LETTER J WITH CARON
-01F1;AL # LATIN CAPITAL LETTER DZ
-01F2;AL # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F3;AL # LATIN SMALL LETTER DZ
-01F4;AL # LATIN CAPITAL LETTER G WITH ACUTE
-01F5;AL # LATIN SMALL LETTER G WITH ACUTE
-01F6;AL # LATIN CAPITAL LETTER HWAIR
-01F7;AL # LATIN CAPITAL LETTER WYNN
-01F8;AL # LATIN CAPITAL LETTER N WITH GRAVE
-01F9;AL # LATIN SMALL LETTER N WITH GRAVE
-01FA;AL # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FB;AL # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FC;AL # LATIN CAPITAL LETTER AE WITH ACUTE
-01FD;AL # LATIN SMALL LETTER AE WITH ACUTE
-01FE;AL # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-01FF;AL # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0200;AL # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0201;AL # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0202;AL # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0203;AL # LATIN SMALL LETTER A WITH INVERTED BREVE
-0204;AL # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0205;AL # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0206;AL # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0207;AL # LATIN SMALL LETTER E WITH INVERTED BREVE
-0208;AL # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-0209;AL # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020A;AL # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020B;AL # LATIN SMALL LETTER I WITH INVERTED BREVE
-020C;AL # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020D;AL # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020E;AL # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-020F;AL # LATIN SMALL LETTER O WITH INVERTED BREVE
-0210;AL # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0211;AL # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0212;AL # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0213;AL # LATIN SMALL LETTER R WITH INVERTED BREVE
-0214;AL # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0215;AL # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0216;AL # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0217;AL # LATIN SMALL LETTER U WITH INVERTED BREVE
-0218;AL # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0219;AL # LATIN SMALL LETTER S WITH COMMA BELOW
-021A;AL # LATIN CAPITAL LETTER T WITH COMMA BELOW
-021B;AL # LATIN SMALL LETTER T WITH COMMA BELOW
-021C;AL # LATIN CAPITAL LETTER YOGH
-021D;AL # LATIN SMALL LETTER YOGH
-021E;AL # LATIN CAPITAL LETTER H WITH CARON
-021F;AL # LATIN SMALL LETTER H WITH CARON
-0220;AL # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0221;AL # LATIN SMALL LETTER D WITH CURL
-0222;AL # LATIN CAPITAL LETTER OU
-0223;AL # LATIN SMALL LETTER OU
-0224;AL # LATIN CAPITAL LETTER Z WITH HOOK
-0225;AL # LATIN SMALL LETTER Z WITH HOOK
-0226;AL # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0227;AL # LATIN SMALL LETTER A WITH DOT ABOVE
-0228;AL # LATIN CAPITAL LETTER E WITH CEDILLA
-0229;AL # LATIN SMALL LETTER E WITH CEDILLA
-022A;AL # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022B;AL # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022C;AL # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022D;AL # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022E;AL # LATIN CAPITAL LETTER O WITH DOT ABOVE
-022F;AL # LATIN SMALL LETTER O WITH DOT ABOVE
-0230;AL # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0231;AL # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0232;AL # LATIN CAPITAL LETTER Y WITH MACRON
-0233;AL # LATIN SMALL LETTER Y WITH MACRON
-0234;AL # LATIN SMALL LETTER L WITH CURL
-0235;AL # LATIN SMALL LETTER N WITH CURL
-0236;AL # LATIN SMALL LETTER T WITH CURL
-0237;AL # LATIN SMALL LETTER DOTLESS J
-0238;AL # LATIN SMALL LETTER DB DIGRAPH
-0239;AL # LATIN SMALL LETTER QP DIGRAPH
-023A;AL # LATIN CAPITAL LETTER A WITH STROKE
-023B;AL # LATIN CAPITAL LETTER C WITH STROKE
-023C;AL # LATIN SMALL LETTER C WITH STROKE
-023D;AL # LATIN CAPITAL LETTER L WITH BAR
-023E;AL # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-023F;AL # LATIN SMALL LETTER S WITH SWASH TAIL
-0240;AL # LATIN SMALL LETTER Z WITH SWASH TAIL
-0241;AL # LATIN CAPITAL LETTER GLOTTAL STOP
-0242;AL # LATIN SMALL LETTER GLOTTAL STOP
-0243;AL # LATIN CAPITAL LETTER B WITH STROKE
-0244;AL # LATIN CAPITAL LETTER U BAR
-0245;AL # LATIN CAPITAL LETTER TURNED V
-0246;AL # LATIN CAPITAL LETTER E WITH STROKE
-0247;AL # LATIN SMALL LETTER E WITH STROKE
-0248;AL # LATIN CAPITAL LETTER J WITH STROKE
-0249;AL # LATIN SMALL LETTER J WITH STROKE
-024A;AL # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024B;AL # LATIN SMALL LETTER Q WITH HOOK TAIL
-024C;AL # LATIN CAPITAL LETTER R WITH STROKE
-024D;AL # LATIN SMALL LETTER R WITH STROKE
-024E;AL # LATIN CAPITAL LETTER Y WITH STROKE
-024F;AL # LATIN SMALL LETTER Y WITH STROKE
-0250;AL # LATIN SMALL LETTER TURNED A
-0251;AL # LATIN SMALL LETTER ALPHA
-0252;AL # LATIN SMALL LETTER TURNED ALPHA
-0253;AL # LATIN SMALL LETTER B WITH HOOK
-0254;AL # LATIN SMALL LETTER OPEN O
-0255;AL # LATIN SMALL LETTER C WITH CURL
-0256;AL # LATIN SMALL LETTER D WITH TAIL
-0257;AL # LATIN SMALL LETTER D WITH HOOK
-0258;AL # LATIN SMALL LETTER REVERSED E
-0259;AL # LATIN SMALL LETTER SCHWA
-025A;AL # LATIN SMALL LETTER SCHWA WITH HOOK
-025B;AL # LATIN SMALL LETTER OPEN E
-025C;AL # LATIN SMALL LETTER REVERSED OPEN E
-025D;AL # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E;AL # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-025F;AL # LATIN SMALL LETTER DOTLESS J WITH STROKE
-0260;AL # LATIN SMALL LETTER G WITH HOOK
-0261;AL # LATIN SMALL LETTER SCRIPT G
-0262;AL # LATIN LETTER SMALL CAPITAL G
-0263;AL # LATIN SMALL LETTER GAMMA
-0264;AL # LATIN SMALL LETTER RAMS HORN
-0265;AL # LATIN SMALL LETTER TURNED H
-0266;AL # LATIN SMALL LETTER H WITH HOOK
-0267;AL # LATIN SMALL LETTER HENG WITH HOOK
-0268;AL # LATIN SMALL LETTER I WITH STROKE
-0269;AL # LATIN SMALL LETTER IOTA
-026A;AL # LATIN LETTER SMALL CAPITAL I
-026B;AL # LATIN SMALL LETTER L WITH MIDDLE TILDE
-026C;AL # LATIN SMALL LETTER L WITH BELT
-026D;AL # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-026E;AL # LATIN SMALL LETTER LEZH
-026F;AL # LATIN SMALL LETTER TURNED M
-0270;AL # LATIN SMALL LETTER TURNED M WITH LONG LEG
-0271;AL # LATIN SMALL LETTER M WITH HOOK
-0272;AL # LATIN SMALL LETTER N WITH LEFT HOOK
-0273;AL # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-0274;AL # LATIN LETTER SMALL CAPITAL N
-0275;AL # LATIN SMALL LETTER BARRED O
-0276;AL # LATIN LETTER SMALL CAPITAL OE
-0277;AL # LATIN SMALL LETTER CLOSED OMEGA
-0278;AL # LATIN SMALL LETTER PHI
-0279;AL # LATIN SMALL LETTER TURNED R
-027A;AL # LATIN SMALL LETTER TURNED R WITH LONG LEG
-027B;AL # LATIN SMALL LETTER TURNED R WITH HOOK
-027C;AL # LATIN SMALL LETTER R WITH LONG LEG
-027D;AL # LATIN SMALL LETTER R WITH TAIL
-027E;AL # LATIN SMALL LETTER R WITH FISHHOOK
-027F;AL # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0280;AL # LATIN LETTER SMALL CAPITAL R
-0281;AL # LATIN LETTER SMALL CAPITAL INVERTED R
-0282;AL # LATIN SMALL LETTER S WITH HOOK
-0283;AL # LATIN SMALL LETTER ESH
-0284;AL # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-0285;AL # LATIN SMALL LETTER SQUAT REVERSED ESH
-0286;AL # LATIN SMALL LETTER ESH WITH CURL
-0287;AL # LATIN SMALL LETTER TURNED T
-0288;AL # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-0289;AL # LATIN SMALL LETTER U BAR
-028A;AL # LATIN SMALL LETTER UPSILON
-028B;AL # LATIN SMALL LETTER V WITH HOOK
-028C;AL # LATIN SMALL LETTER TURNED V
-028D;AL # LATIN SMALL LETTER TURNED W
-028E;AL # LATIN SMALL LETTER TURNED Y
-028F;AL # LATIN LETTER SMALL CAPITAL Y
-0290;AL # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-0291;AL # LATIN SMALL LETTER Z WITH CURL
-0292;AL # LATIN SMALL LETTER EZH
-0293;AL # LATIN SMALL LETTER EZH WITH CURL
-0294;AL # LATIN LETTER GLOTTAL STOP
-0295;AL # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296;AL # LATIN LETTER INVERTED GLOTTAL STOP
-0297;AL # LATIN LETTER STRETCHED C
-0298;AL # LATIN LETTER BILABIAL CLICK
-0299;AL # LATIN LETTER SMALL CAPITAL B
-029A;AL # LATIN SMALL LETTER CLOSED OPEN E
-029B;AL # LATIN LETTER SMALL CAPITAL G WITH HOOK
-029C;AL # LATIN LETTER SMALL CAPITAL H
-029D;AL # LATIN SMALL LETTER J WITH CROSSED-TAIL
-029E;AL # LATIN SMALL LETTER TURNED K
-029F;AL # LATIN LETTER SMALL CAPITAL L
-02A0;AL # LATIN SMALL LETTER Q WITH HOOK
-02A1;AL # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2;AL # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-02A3;AL # LATIN SMALL LETTER DZ DIGRAPH
-02A4;AL # LATIN SMALL LETTER DEZH DIGRAPH
-02A5;AL # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
-02A6;AL # LATIN SMALL LETTER TS DIGRAPH
-02A7;AL # LATIN SMALL LETTER TESH DIGRAPH
-02A8;AL # LATIN SMALL LETTER TC DIGRAPH WITH CURL
-02A9;AL # LATIN SMALL LETTER FENG DIGRAPH
-02AA;AL # LATIN SMALL LETTER LS DIGRAPH
-02AB;AL # LATIN SMALL LETTER LZ DIGRAPH
-02AC;AL # LATIN LETTER BILABIAL PERCUSSIVE
-02AD;AL # LATIN LETTER BIDENTAL PERCUSSIVE
-02AE;AL # LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF;AL # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0;AL # MODIFIER LETTER SMALL H
-02B1;AL # MODIFIER LETTER SMALL H WITH HOOK
-02B2;AL # MODIFIER LETTER SMALL J
-02B3;AL # MODIFIER LETTER SMALL R
-02B4;AL # MODIFIER LETTER SMALL TURNED R
-02B5;AL # MODIFIER LETTER SMALL TURNED R WITH HOOK
-02B6;AL # MODIFIER LETTER SMALL CAPITAL INVERTED R
-02B7;AL # MODIFIER LETTER SMALL W
-02B8;AL # MODIFIER LETTER SMALL Y
-02B9;AL # MODIFIER LETTER PRIME
-02BA;AL # MODIFIER LETTER DOUBLE PRIME
-02BB;AL # MODIFIER LETTER TURNED COMMA
-02BC;AL # MODIFIER LETTER APOSTROPHE
-02BD;AL # MODIFIER LETTER REVERSED COMMA
-02BE;AL # MODIFIER LETTER RIGHT HALF RING
-02BF;AL # MODIFIER LETTER LEFT HALF RING
-02C0;AL # MODIFIER LETTER GLOTTAL STOP
-02C1;AL # MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2;AL # MODIFIER LETTER LEFT ARROWHEAD
-02C3;AL # MODIFIER LETTER RIGHT ARROWHEAD
-02C4;AL # MODIFIER LETTER UP ARROWHEAD
-02C5;AL # MODIFIER LETTER DOWN ARROWHEAD
-02C6;AL # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7;AI # CARON
-02C8;BB # MODIFIER LETTER VERTICAL LINE
-02C9;AI # MODIFIER LETTER MACRON
-02CA;AI # MODIFIER LETTER ACUTE ACCENT
-02CB;AI # MODIFIER LETTER GRAVE ACCENT
-02CC;BB # MODIFIER LETTER LOW VERTICAL LINE
-02CD;AI # MODIFIER LETTER LOW MACRON
-02CE;AL # MODIFIER LETTER LOW GRAVE ACCENT
-02CF;AL # MODIFIER LETTER LOW ACUTE ACCENT
-02D0;AI # MODIFIER LETTER TRIANGULAR COLON
-02D1;AL # MODIFIER LETTER HALF TRIANGULAR COLON
-02D2;AL # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3;AL # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4;AL # MODIFIER LETTER UP TACK
-02D5;AL # MODIFIER LETTER DOWN TACK
-02D6;AL # MODIFIER LETTER PLUS SIGN
-02D7;AL # MODIFIER LETTER MINUS SIGN
-02D8;AI # BREVE
-02D9;AI # DOT ABOVE
-02DA;AI # RING ABOVE
-02DB;AI # OGONEK
-02DC;AL # SMALL TILDE
-02DD;AI # DOUBLE ACUTE ACCENT
-02DE;AL # MODIFIER LETTER RHOTIC HOOK
-02DF;BB # MODIFIER LETTER CROSS ACCENT
-02E0;AL # MODIFIER LETTER SMALL GAMMA
-02E1;AL # MODIFIER LETTER SMALL L
-02E2;AL # MODIFIER LETTER SMALL S
-02E3;AL # MODIFIER LETTER SMALL X
-02E4;AL # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5;AL # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6;AL # MODIFIER LETTER HIGH TONE BAR
-02E7;AL # MODIFIER LETTER MID TONE BAR
-02E8;AL # MODIFIER LETTER LOW TONE BAR
-02E9;AL # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA;AL # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB;AL # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC;AL # MODIFIER LETTER VOICING
-02ED;AL # MODIFIER LETTER UNASPIRATED
-02EE;AL # MODIFIER LETTER DOUBLE APOSTROPHE
-02EF;AL # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0;AL # MODIFIER LETTER LOW UP ARROWHEAD
-02F1;AL # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2;AL # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3;AL # MODIFIER LETTER LOW RING
-02F4;AL # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5;AL # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6;AL # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7;AL # MODIFIER LETTER LOW TILDE
-02F8;AL # MODIFIER LETTER RAISED COLON
-02F9;AL # MODIFIER LETTER BEGIN HIGH TONE
-02FA;AL # MODIFIER LETTER END HIGH TONE
-02FB;AL # MODIFIER LETTER BEGIN LOW TONE
-02FC;AL # MODIFIER LETTER END LOW TONE
-02FD;AL # MODIFIER LETTER SHELF
-02FE;AL # MODIFIER LETTER OPEN SHELF
-02FF;AL # MODIFIER LETTER LOW LEFT ARROW
-0300;CM # COMBINING GRAVE ACCENT
-0301;CM # COMBINING ACUTE ACCENT
-0302;CM # COMBINING CIRCUMFLEX ACCENT
-0303;CM # COMBINING TILDE
-0304;CM # COMBINING MACRON
-0305;CM # COMBINING OVERLINE
-0306;CM # COMBINING BREVE
-0307;CM # COMBINING DOT ABOVE
-0308;CM # COMBINING DIAERESIS
-0309;CM # COMBINING HOOK ABOVE
-030A;CM # COMBINING RING ABOVE
-030B;CM # COMBINING DOUBLE ACUTE ACCENT
-030C;CM # COMBINING CARON
-030D;CM # COMBINING VERTICAL LINE ABOVE
-030E;CM # COMBINING DOUBLE VERTICAL LINE ABOVE
-030F;CM # COMBINING DOUBLE GRAVE ACCENT
-0310;CM # COMBINING CANDRABINDU
-0311;CM # COMBINING INVERTED BREVE
-0312;CM # COMBINING TURNED COMMA ABOVE
-0313;CM # COMBINING COMMA ABOVE
-0314;CM # COMBINING REVERSED COMMA ABOVE
-0315;CM # COMBINING COMMA ABOVE RIGHT
-0316;CM # COMBINING GRAVE ACCENT BELOW
-0317;CM # COMBINING ACUTE ACCENT BELOW
-0318;CM # COMBINING LEFT TACK BELOW
-0319;CM # COMBINING RIGHT TACK BELOW
-031A;CM # COMBINING LEFT ANGLE ABOVE
-031B;CM # COMBINING HORN
-031C;CM # COMBINING LEFT HALF RING BELOW
-031D;CM # COMBINING UP TACK BELOW
-031E;CM # COMBINING DOWN TACK BELOW
-031F;CM # COMBINING PLUS SIGN BELOW
-0320;CM # COMBINING MINUS SIGN BELOW
-0321;CM # COMBINING PALATALIZED HOOK BELOW
-0322;CM # COMBINING RETROFLEX HOOK BELOW
-0323;CM # COMBINING DOT BELOW
-0324;CM # COMBINING DIAERESIS BELOW
-0325;CM # COMBINING RING BELOW
-0326;CM # COMBINING COMMA BELOW
-0327;CM # COMBINING CEDILLA
-0328;CM # COMBINING OGONEK
-0329;CM # COMBINING VERTICAL LINE BELOW
-032A;CM # COMBINING BRIDGE BELOW
-032B;CM # COMBINING INVERTED DOUBLE ARCH BELOW
-032C;CM # COMBINING CARON BELOW
-032D;CM # COMBINING CIRCUMFLEX ACCENT BELOW
-032E;CM # COMBINING BREVE BELOW
-032F;CM # COMBINING INVERTED BREVE BELOW
-0330;CM # COMBINING TILDE BELOW
-0331;CM # COMBINING MACRON BELOW
-0332;CM # COMBINING LOW LINE
-0333;CM # COMBINING DOUBLE LOW LINE
-0334;CM # COMBINING TILDE OVERLAY
-0335;CM # COMBINING SHORT STROKE OVERLAY
-0336;CM # COMBINING LONG STROKE OVERLAY
-0337;CM # COMBINING SHORT SOLIDUS OVERLAY
-0338;CM # COMBINING LONG SOLIDUS OVERLAY
-0339;CM # COMBINING RIGHT HALF RING BELOW
-033A;CM # COMBINING INVERTED BRIDGE BELOW
-033B;CM # COMBINING SQUARE BELOW
-033C;CM # COMBINING SEAGULL BELOW
-033D;CM # COMBINING X ABOVE
-033E;CM # COMBINING VERTICAL TILDE
-033F;CM # COMBINING DOUBLE OVERLINE
-0340;CM # COMBINING GRAVE TONE MARK
-0341;CM # COMBINING ACUTE TONE MARK
-0342;CM # COMBINING GREEK PERISPOMENI
-0343;CM # COMBINING GREEK KORONIS
-0344;CM # COMBINING GREEK DIALYTIKA TONOS
-0345;CM # COMBINING GREEK YPOGEGRAMMENI
-0346;CM # COMBINING BRIDGE ABOVE
-0347;CM # COMBINING EQUALS SIGN BELOW
-0348;CM # COMBINING DOUBLE VERTICAL LINE BELOW
-0349;CM # COMBINING LEFT ANGLE BELOW
-034A;CM # COMBINING NOT TILDE ABOVE
-034B;CM # COMBINING HOMOTHETIC ABOVE
-034C;CM # COMBINING ALMOST EQUAL TO ABOVE
-034D;CM # COMBINING LEFT RIGHT ARROW BELOW
-034E;CM # COMBINING UPWARDS ARROW BELOW
-034F;GL # COMBINING GRAPHEME JOINER
-0350;CM # COMBINING RIGHT ARROWHEAD ABOVE
-0351;CM # COMBINING LEFT HALF RING ABOVE
-0352;CM # COMBINING FERMATA
-0353;CM # COMBINING X BELOW
-0354;CM # COMBINING LEFT ARROWHEAD BELOW
-0355;CM # COMBINING RIGHT ARROWHEAD BELOW
-0356;CM # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0357;CM # COMBINING RIGHT HALF RING ABOVE
-0358;CM # COMBINING DOT ABOVE RIGHT
-0359;CM # COMBINING ASTERISK BELOW
-035A;CM # COMBINING DOUBLE RING BELOW
-035B;CM # COMBINING ZIGZAG ABOVE
-035C;GL # COMBINING DOUBLE BREVE BELOW
-035D;GL # COMBINING DOUBLE BREVE
-035E;GL # COMBINING DOUBLE MACRON
-035F;GL # COMBINING DOUBLE MACRON BELOW
-0360;GL # COMBINING DOUBLE TILDE
-0361;GL # COMBINING DOUBLE INVERTED BREVE
-0362;GL # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-0363;CM # COMBINING LATIN SMALL LETTER A
-0364;CM # COMBINING LATIN SMALL LETTER E
-0365;CM # COMBINING LATIN SMALL LETTER I
-0366;CM # COMBINING LATIN SMALL LETTER O
-0367;CM # COMBINING LATIN SMALL LETTER U
-0368;CM # COMBINING LATIN SMALL LETTER C
-0369;CM # COMBINING LATIN SMALL LETTER D
-036A;CM # COMBINING LATIN SMALL LETTER H
-036B;CM # COMBINING LATIN SMALL LETTER M
-036C;CM # COMBINING LATIN SMALL LETTER R
-036D;CM # COMBINING LATIN SMALL LETTER T
-036E;CM # COMBINING LATIN SMALL LETTER V
-036F;CM # COMBINING LATIN SMALL LETTER X
-0370;AL # GREEK CAPITAL LETTER HETA
-0371;AL # GREEK SMALL LETTER HETA
-0372;AL # GREEK CAPITAL LETTER ARCHAIC SAMPI
-0373;AL # GREEK SMALL LETTER ARCHAIC SAMPI
-0374;AL # GREEK NUMERAL SIGN
-0375;AL # GREEK LOWER NUMERAL SIGN
-0376;AL # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0377;AL # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A;AL # GREEK YPOGEGRAMMENI
-037B;AL # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-037C;AL # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-037D;AL # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-037E;IS # GREEK QUESTION MARK
-0384;AL # GREEK TONOS
-0385;AL # GREEK DIALYTIKA TONOS
-0386;AL # GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387;AL # GREEK ANO TELEIA
-0388;AL # GREEK CAPITAL LETTER EPSILON WITH TONOS
-0389;AL # GREEK CAPITAL LETTER ETA WITH TONOS
-038A;AL # GREEK CAPITAL LETTER IOTA WITH TONOS
-038C;AL # GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E;AL # GREEK CAPITAL LETTER UPSILON WITH TONOS
-038F;AL # GREEK CAPITAL LETTER OMEGA WITH TONOS
-0390;AL # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-0391;AL # GREEK CAPITAL LETTER ALPHA
-0392;AL # GREEK CAPITAL LETTER BETA
-0393;AL # GREEK CAPITAL LETTER GAMMA
-0394;AL # GREEK CAPITAL LETTER DELTA
-0395;AL # GREEK CAPITAL LETTER EPSILON
-0396;AL # GREEK CAPITAL LETTER ZETA
-0397;AL # GREEK CAPITAL LETTER ETA
-0398;AL # GREEK CAPITAL LETTER THETA
-0399;AL # GREEK CAPITAL LETTER IOTA
-039A;AL # GREEK CAPITAL LETTER KAPPA
-039B;AL # GREEK CAPITAL LETTER LAMDA
-039C;AL # GREEK CAPITAL LETTER MU
-039D;AL # GREEK CAPITAL LETTER NU
-039E;AL # GREEK CAPITAL LETTER XI
-039F;AL # GREEK CAPITAL LETTER OMICRON
-03A0;AL # GREEK CAPITAL LETTER PI
-03A1;AL # GREEK CAPITAL LETTER RHO
-03A3;AL # GREEK CAPITAL LETTER SIGMA
-03A4;AL # GREEK CAPITAL LETTER TAU
-03A5;AL # GREEK CAPITAL LETTER UPSILON
-03A6;AL # GREEK CAPITAL LETTER PHI
-03A7;AL # GREEK CAPITAL LETTER CHI
-03A8;AL # GREEK CAPITAL LETTER PSI
-03A9;AL # GREEK CAPITAL LETTER OMEGA
-03AA;AL # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-03AB;AL # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03AC;AL # GREEK SMALL LETTER ALPHA WITH TONOS
-03AD;AL # GREEK SMALL LETTER EPSILON WITH TONOS
-03AE;AL # GREEK SMALL LETTER ETA WITH TONOS
-03AF;AL # GREEK SMALL LETTER IOTA WITH TONOS
-03B0;AL # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03B1;AL # GREEK SMALL LETTER ALPHA
-03B2;AL # GREEK SMALL LETTER BETA
-03B3;AL # GREEK SMALL LETTER GAMMA
-03B4;AL # GREEK SMALL LETTER DELTA
-03B5;AL # GREEK SMALL LETTER EPSILON
-03B6;AL # GREEK SMALL LETTER ZETA
-03B7;AL # GREEK SMALL LETTER ETA
-03B8;AL # GREEK SMALL LETTER THETA
-03B9;AL # GREEK SMALL LETTER IOTA
-03BA;AL # GREEK SMALL LETTER KAPPA
-03BB;AL # GREEK SMALL LETTER LAMDA
-03BC;AL # GREEK SMALL LETTER MU
-03BD;AL # GREEK SMALL LETTER NU
-03BE;AL # GREEK SMALL LETTER XI
-03BF;AL # GREEK SMALL LETTER OMICRON
-03C0;AL # GREEK SMALL LETTER PI
-03C1;AL # GREEK SMALL LETTER RHO
-03C2;AL # GREEK SMALL LETTER FINAL SIGMA
-03C3;AL # GREEK SMALL LETTER SIGMA
-03C4;AL # GREEK SMALL LETTER TAU
-03C5;AL # GREEK SMALL LETTER UPSILON
-03C6;AL # GREEK SMALL LETTER PHI
-03C7;AL # GREEK SMALL LETTER CHI
-03C8;AL # GREEK SMALL LETTER PSI
-03C9;AL # GREEK SMALL LETTER OMEGA
-03CA;AL # GREEK SMALL LETTER IOTA WITH DIALYTIKA
-03CB;AL # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-03CC;AL # GREEK SMALL LETTER OMICRON WITH TONOS
-03CD;AL # GREEK SMALL LETTER UPSILON WITH TONOS
-03CE;AL # GREEK SMALL LETTER OMEGA WITH TONOS
-03CF;AL # GREEK CAPITAL KAI SYMBOL
-03D0;AL # GREEK BETA SYMBOL
-03D1;AL # GREEK THETA SYMBOL
-03D2;AL # GREEK UPSILON WITH HOOK SYMBOL
-03D3;AL # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-03D4;AL # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D5;AL # GREEK PHI SYMBOL
-03D6;AL # GREEK PI SYMBOL
-03D7;AL # GREEK KAI SYMBOL
-03D8;AL # GREEK LETTER ARCHAIC KOPPA
-03D9;AL # GREEK SMALL LETTER ARCHAIC KOPPA
-03DA;AL # GREEK LETTER STIGMA
-03DB;AL # GREEK SMALL LETTER STIGMA
-03DC;AL # GREEK LETTER DIGAMMA
-03DD;AL # GREEK SMALL LETTER DIGAMMA
-03DE;AL # GREEK LETTER KOPPA
-03DF;AL # GREEK SMALL LETTER KOPPA
-03E0;AL # GREEK LETTER SAMPI
-03E1;AL # GREEK SMALL LETTER SAMPI
-03E2;AL # COPTIC CAPITAL LETTER SHEI
-03E3;AL # COPTIC SMALL LETTER SHEI
-03E4;AL # COPTIC CAPITAL LETTER FEI
-03E5;AL # COPTIC SMALL LETTER FEI
-03E6;AL # COPTIC CAPITAL LETTER KHEI
-03E7;AL # COPTIC SMALL LETTER KHEI
-03E8;AL # COPTIC CAPITAL LETTER HORI
-03E9;AL # COPTIC SMALL LETTER HORI
-03EA;AL # COPTIC CAPITAL LETTER GANGIA
-03EB;AL # COPTIC SMALL LETTER GANGIA
-03EC;AL # COPTIC CAPITAL LETTER SHIMA
-03ED;AL # COPTIC SMALL LETTER SHIMA
-03EE;AL # COPTIC CAPITAL LETTER DEI
-03EF;AL # COPTIC SMALL LETTER DEI
-03F0;AL # GREEK KAPPA SYMBOL
-03F1;AL # GREEK RHO SYMBOL
-03F2;AL # GREEK LUNATE SIGMA SYMBOL
-03F3;AL # GREEK LETTER YOT
-03F4;AL # GREEK CAPITAL THETA SYMBOL
-03F5;AL # GREEK LUNATE EPSILON SYMBOL
-03F6;AL # GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7;AL # GREEK CAPITAL LETTER SHO
-03F8;AL # GREEK SMALL LETTER SHO
-03F9;AL # GREEK CAPITAL LUNATE SIGMA SYMBOL
-03FA;AL # GREEK CAPITAL LETTER SAN
-03FB;AL # GREEK SMALL LETTER SAN
-03FC;AL # GREEK RHO WITH STROKE SYMBOL
-03FD;AL # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-03FE;AL # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-03FF;AL # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0400;AL # CYRILLIC CAPITAL LETTER IE WITH GRAVE
-0401;AL # CYRILLIC CAPITAL LETTER IO
-0402;AL # CYRILLIC CAPITAL LETTER DJE
-0403;AL # CYRILLIC CAPITAL LETTER GJE
-0404;AL # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0405;AL # CYRILLIC CAPITAL LETTER DZE
-0406;AL # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0407;AL # CYRILLIC CAPITAL LETTER YI
-0408;AL # CYRILLIC CAPITAL LETTER JE
-0409;AL # CYRILLIC CAPITAL LETTER LJE
-040A;AL # CYRILLIC CAPITAL LETTER NJE
-040B;AL # CYRILLIC CAPITAL LETTER TSHE
-040C;AL # CYRILLIC CAPITAL LETTER KJE
-040D;AL # CYRILLIC CAPITAL LETTER I WITH GRAVE
-040E;AL # CYRILLIC CAPITAL LETTER SHORT U
-040F;AL # CYRILLIC CAPITAL LETTER DZHE
-0410;AL # CYRILLIC CAPITAL LETTER A
-0411;AL # CYRILLIC CAPITAL LETTER BE
-0412;AL # CYRILLIC CAPITAL LETTER VE
-0413;AL # CYRILLIC CAPITAL LETTER GHE
-0414;AL # CYRILLIC CAPITAL LETTER DE
-0415;AL # CYRILLIC CAPITAL LETTER IE
-0416;AL # CYRILLIC CAPITAL LETTER ZHE
-0417;AL # CYRILLIC CAPITAL LETTER ZE
-0418;AL # CYRILLIC CAPITAL LETTER I
-0419;AL # CYRILLIC CAPITAL LETTER SHORT I
-041A;AL # CYRILLIC CAPITAL LETTER KA
-041B;AL # CYRILLIC CAPITAL LETTER EL
-041C;AL # CYRILLIC CAPITAL LETTER EM
-041D;AL # CYRILLIC CAPITAL LETTER EN
-041E;AL # CYRILLIC CAPITAL LETTER O
-041F;AL # CYRILLIC CAPITAL LETTER PE
-0420;AL # CYRILLIC CAPITAL LETTER ER
-0421;AL # CYRILLIC CAPITAL LETTER ES
-0422;AL # CYRILLIC CAPITAL LETTER TE
-0423;AL # CYRILLIC CAPITAL LETTER U
-0424;AL # CYRILLIC CAPITAL LETTER EF
-0425;AL # CYRILLIC CAPITAL LETTER HA
-0426;AL # CYRILLIC CAPITAL LETTER TSE
-0427;AL # CYRILLIC CAPITAL LETTER CHE
-0428;AL # CYRILLIC CAPITAL LETTER SHA
-0429;AL # CYRILLIC CAPITAL LETTER SHCHA
-042A;AL # CYRILLIC CAPITAL LETTER HARD SIGN
-042B;AL # CYRILLIC CAPITAL LETTER YERU
-042C;AL # CYRILLIC CAPITAL LETTER SOFT SIGN
-042D;AL # CYRILLIC CAPITAL LETTER E
-042E;AL # CYRILLIC CAPITAL LETTER YU
-042F;AL # CYRILLIC CAPITAL LETTER YA
-0430;AL # CYRILLIC SMALL LETTER A
-0431;AL # CYRILLIC SMALL LETTER BE
-0432;AL # CYRILLIC SMALL LETTER VE
-0433;AL # CYRILLIC SMALL LETTER GHE
-0434;AL # CYRILLIC SMALL LETTER DE
-0435;AL # CYRILLIC SMALL LETTER IE
-0436;AL # CYRILLIC SMALL LETTER ZHE
-0437;AL # CYRILLIC SMALL LETTER ZE
-0438;AL # CYRILLIC SMALL LETTER I
-0439;AL # CYRILLIC SMALL LETTER SHORT I
-043A;AL # CYRILLIC SMALL LETTER KA
-043B;AL # CYRILLIC SMALL LETTER EL
-043C;AL # CYRILLIC SMALL LETTER EM
-043D;AL # CYRILLIC SMALL LETTER EN
-043E;AL # CYRILLIC SMALL LETTER O
-043F;AL # CYRILLIC SMALL LETTER PE
-0440;AL # CYRILLIC SMALL LETTER ER
-0441;AL # CYRILLIC SMALL LETTER ES
-0442;AL # CYRILLIC SMALL LETTER TE
-0443;AL # CYRILLIC SMALL LETTER U
-0444;AL # CYRILLIC SMALL LETTER EF
-0445;AL # CYRILLIC SMALL LETTER HA
-0446;AL # CYRILLIC SMALL LETTER TSE
-0447;AL # CYRILLIC SMALL LETTER CHE
-0448;AL # CYRILLIC SMALL LETTER SHA
-0449;AL # CYRILLIC SMALL LETTER SHCHA
-044A;AL # CYRILLIC SMALL LETTER HARD SIGN
-044B;AL # CYRILLIC SMALL LETTER YERU
-044C;AL # CYRILLIC SMALL LETTER SOFT SIGN
-044D;AL # CYRILLIC SMALL LETTER E
-044E;AL # CYRILLIC SMALL LETTER YU
-044F;AL # CYRILLIC SMALL LETTER YA
-0450;AL # CYRILLIC SMALL LETTER IE WITH GRAVE
-0451;AL # CYRILLIC SMALL LETTER IO
-0452;AL # CYRILLIC SMALL LETTER DJE
-0453;AL # CYRILLIC SMALL LETTER GJE
-0454;AL # CYRILLIC SMALL LETTER UKRAINIAN IE
-0455;AL # CYRILLIC SMALL LETTER DZE
-0456;AL # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0457;AL # CYRILLIC SMALL LETTER YI
-0458;AL # CYRILLIC SMALL LETTER JE
-0459;AL # CYRILLIC SMALL LETTER LJE
-045A;AL # CYRILLIC SMALL LETTER NJE
-045B;AL # CYRILLIC SMALL LETTER TSHE
-045C;AL # CYRILLIC SMALL LETTER KJE
-045D;AL # CYRILLIC SMALL LETTER I WITH GRAVE
-045E;AL # CYRILLIC SMALL LETTER SHORT U
-045F;AL # CYRILLIC SMALL LETTER DZHE
-0460;AL # CYRILLIC CAPITAL LETTER OMEGA
-0461;AL # CYRILLIC SMALL LETTER OMEGA
-0462;AL # CYRILLIC CAPITAL LETTER YAT
-0463;AL # CYRILLIC SMALL LETTER YAT
-0464;AL # CYRILLIC CAPITAL LETTER IOTIFIED E
-0465;AL # CYRILLIC SMALL LETTER IOTIFIED E
-0466;AL # CYRILLIC CAPITAL LETTER LITTLE YUS
-0467;AL # CYRILLIC SMALL LETTER LITTLE YUS
-0468;AL # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-0469;AL # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046A;AL # CYRILLIC CAPITAL LETTER BIG YUS
-046B;AL # CYRILLIC SMALL LETTER BIG YUS
-046C;AL # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046D;AL # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046E;AL # CYRILLIC CAPITAL LETTER KSI
-046F;AL # CYRILLIC SMALL LETTER KSI
-0470;AL # CYRILLIC CAPITAL LETTER PSI
-0471;AL # CYRILLIC SMALL LETTER PSI
-0472;AL # CYRILLIC CAPITAL LETTER FITA
-0473;AL # CYRILLIC SMALL LETTER FITA
-0474;AL # CYRILLIC CAPITAL LETTER IZHITSA
-0475;AL # CYRILLIC SMALL LETTER IZHITSA
-0476;AL # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0477;AL # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478;AL # CYRILLIC CAPITAL LETTER UK
-0479;AL # CYRILLIC SMALL LETTER UK
-047A;AL # CYRILLIC CAPITAL LETTER ROUND OMEGA
-047B;AL # CYRILLIC SMALL LETTER ROUND OMEGA
-047C;AL # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047D;AL # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047E;AL # CYRILLIC CAPITAL LETTER OT
-047F;AL # CYRILLIC SMALL LETTER OT
-0480;AL # CYRILLIC CAPITAL LETTER KOPPA
-0481;AL # CYRILLIC SMALL LETTER KOPPA
-0482;AL # CYRILLIC THOUSANDS SIGN
-0483;CM # COMBINING CYRILLIC TITLO
-0484;CM # COMBINING CYRILLIC PALATALIZATION
-0485;CM # COMBINING CYRILLIC DASIA PNEUMATA
-0486;CM # COMBINING CYRILLIC PSILI PNEUMATA
-0487;CM # COMBINING CYRILLIC POKRYTIE
-0488;CM # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
-0489;CM # COMBINING CYRILLIC MILLIONS SIGN
-048A;AL # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048B;AL # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048C;AL # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048D;AL # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048E;AL # CYRILLIC CAPITAL LETTER ER WITH TICK
-048F;AL # CYRILLIC SMALL LETTER ER WITH TICK
-0490;AL # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0491;AL # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0492;AL # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0493;AL # CYRILLIC SMALL LETTER GHE WITH STROKE
-0494;AL # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0495;AL # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0496;AL # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0497;AL # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0498;AL # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0499;AL # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049A;AL # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049B;AL # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049C;AL # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049D;AL # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049E;AL # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049F;AL # CYRILLIC SMALL LETTER KA WITH STROKE
-04A0;AL # CYRILLIC CAPITAL LETTER BASHKIR KA
-04A1;AL # CYRILLIC SMALL LETTER BASHKIR KA
-04A2;AL # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A3;AL # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A4;AL # CYRILLIC CAPITAL LIGATURE EN GHE
-04A5;AL # CYRILLIC SMALL LIGATURE EN GHE
-04A6;AL # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A7;AL # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A8;AL # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04A9;AL # CYRILLIC SMALL LETTER ABKHASIAN HA
-04AA;AL # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AB;AL # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AC;AL # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AD;AL # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AE;AL # CYRILLIC CAPITAL LETTER STRAIGHT U
-04AF;AL # CYRILLIC SMALL LETTER STRAIGHT U
-04B0;AL # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B1;AL # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B2;AL # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B3;AL # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B4;AL # CYRILLIC CAPITAL LIGATURE TE TSE
-04B5;AL # CYRILLIC SMALL LIGATURE TE TSE
-04B6;AL # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B7;AL # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B8;AL # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04B9;AL # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BA;AL # CYRILLIC CAPITAL LETTER SHHA
-04BB;AL # CYRILLIC SMALL LETTER SHHA
-04BC;AL # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BD;AL # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BE;AL # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04BF;AL # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0;AL # CYRILLIC LETTER PALOCHKA
-04C1;AL # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C2;AL # CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C3;AL # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C4;AL # CYRILLIC SMALL LETTER KA WITH HOOK
-04C5;AL # CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C6;AL # CYRILLIC SMALL LETTER EL WITH TAIL
-04C7;AL # CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C8;AL # CYRILLIC SMALL LETTER EN WITH HOOK
-04C9;AL # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CA;AL # CYRILLIC SMALL LETTER EN WITH TAIL
-04CB;AL # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CC;AL # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CD;AL # CYRILLIC CAPITAL LETTER EM WITH TAIL
-04CE;AL # CYRILLIC SMALL LETTER EM WITH TAIL
-04CF;AL # CYRILLIC SMALL LETTER PALOCHKA
-04D0;AL # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D1;AL # CYRILLIC SMALL LETTER A WITH BREVE
-04D2;AL # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D3;AL # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D4;AL # CYRILLIC CAPITAL LIGATURE A IE
-04D5;AL # CYRILLIC SMALL LIGATURE A IE
-04D6;AL # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D7;AL # CYRILLIC SMALL LETTER IE WITH BREVE
-04D8;AL # CYRILLIC CAPITAL LETTER SCHWA
-04D9;AL # CYRILLIC SMALL LETTER SCHWA
-04DA;AL # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DB;AL # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DC;AL # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DD;AL # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DE;AL # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04DF;AL # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E0;AL # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E1;AL # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E2;AL # CYRILLIC CAPITAL LETTER I WITH MACRON
-04E3;AL # CYRILLIC SMALL LETTER I WITH MACRON
-04E4;AL # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E5;AL # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E6;AL # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E7;AL # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E8;AL # CYRILLIC CAPITAL LETTER BARRED O
-04E9;AL # CYRILLIC SMALL LETTER BARRED O
-04EA;AL # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EB;AL # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EC;AL # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04ED;AL # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EE;AL # CYRILLIC CAPITAL LETTER U WITH MACRON
-04EF;AL # CYRILLIC SMALL LETTER U WITH MACRON
-04F0;AL # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F1;AL # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F2;AL # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F3;AL # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F4;AL # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F5;AL # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F6;AL # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F7;AL # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F8;AL # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04F9;AL # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FA;AL # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FB;AL # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FC;AL # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FD;AL # CYRILLIC SMALL LETTER HA WITH HOOK
-04FE;AL # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04FF;AL # CYRILLIC SMALL LETTER HA WITH STROKE
-0500;AL # CYRILLIC CAPITAL LETTER KOMI DE
-0501;AL # CYRILLIC SMALL LETTER KOMI DE
-0502;AL # CYRILLIC CAPITAL LETTER KOMI DJE
-0503;AL # CYRILLIC SMALL LETTER KOMI DJE
-0504;AL # CYRILLIC CAPITAL LETTER KOMI ZJE
-0505;AL # CYRILLIC SMALL LETTER KOMI ZJE
-0506;AL # CYRILLIC CAPITAL LETTER KOMI DZJE
-0507;AL # CYRILLIC SMALL LETTER KOMI DZJE
-0508;AL # CYRILLIC CAPITAL LETTER KOMI LJE
-0509;AL # CYRILLIC SMALL LETTER KOMI LJE
-050A;AL # CYRILLIC CAPITAL LETTER KOMI NJE
-050B;AL # CYRILLIC SMALL LETTER KOMI NJE
-050C;AL # CYRILLIC CAPITAL LETTER KOMI SJE
-050D;AL # CYRILLIC SMALL LETTER KOMI SJE
-050E;AL # CYRILLIC CAPITAL LETTER KOMI TJE
-050F;AL # CYRILLIC SMALL LETTER KOMI TJE
-0510;AL # CYRILLIC CAPITAL LETTER REVERSED ZE
-0511;AL # CYRILLIC SMALL LETTER REVERSED ZE
-0512;AL # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0513;AL # CYRILLIC SMALL LETTER EL WITH HOOK
-0514;AL # CYRILLIC CAPITAL LETTER LHA
-0515;AL # CYRILLIC SMALL LETTER LHA
-0516;AL # CYRILLIC CAPITAL LETTER RHA
-0517;AL # CYRILLIC SMALL LETTER RHA
-0518;AL # CYRILLIC CAPITAL LETTER YAE
-0519;AL # CYRILLIC SMALL LETTER YAE
-051A;AL # CYRILLIC CAPITAL LETTER QA
-051B;AL # CYRILLIC SMALL LETTER QA
-051C;AL # CYRILLIC CAPITAL LETTER WE
-051D;AL # CYRILLIC SMALL LETTER WE
-051E;AL # CYRILLIC CAPITAL LETTER ALEUT KA
-051F;AL # CYRILLIC SMALL LETTER ALEUT KA
-0520;AL # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0521;AL # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0522;AL # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0523;AL # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0524;AL # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0525;AL # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531;AL # ARMENIAN CAPITAL LETTER AYB
-0532;AL # ARMENIAN CAPITAL LETTER BEN
-0533;AL # ARMENIAN CAPITAL LETTER GIM
-0534;AL # ARMENIAN CAPITAL LETTER DA
-0535;AL # ARMENIAN CAPITAL LETTER ECH
-0536;AL # ARMENIAN CAPITAL LETTER ZA
-0537;AL # ARMENIAN CAPITAL LETTER EH
-0538;AL # ARMENIAN CAPITAL LETTER ET
-0539;AL # ARMENIAN CAPITAL LETTER TO
-053A;AL # ARMENIAN CAPITAL LETTER ZHE
-053B;AL # ARMENIAN CAPITAL LETTER INI
-053C;AL # ARMENIAN CAPITAL LETTER LIWN
-053D;AL # ARMENIAN CAPITAL LETTER XEH
-053E;AL # ARMENIAN CAPITAL LETTER CA
-053F;AL # ARMENIAN CAPITAL LETTER KEN
-0540;AL # ARMENIAN CAPITAL LETTER HO
-0541;AL # ARMENIAN CAPITAL LETTER JA
-0542;AL # ARMENIAN CAPITAL LETTER GHAD
-0543;AL # ARMENIAN CAPITAL LETTER CHEH
-0544;AL # ARMENIAN CAPITAL LETTER MEN
-0545;AL # ARMENIAN CAPITAL LETTER YI
-0546;AL # ARMENIAN CAPITAL LETTER NOW
-0547;AL # ARMENIAN CAPITAL LETTER SHA
-0548;AL # ARMENIAN CAPITAL LETTER VO
-0549;AL # ARMENIAN CAPITAL LETTER CHA
-054A;AL # ARMENIAN CAPITAL LETTER PEH
-054B;AL # ARMENIAN CAPITAL LETTER JHEH
-054C;AL # ARMENIAN CAPITAL LETTER RA
-054D;AL # ARMENIAN CAPITAL LETTER SEH
-054E;AL # ARMENIAN CAPITAL LETTER VEW
-054F;AL # ARMENIAN CAPITAL LETTER TIWN
-0550;AL # ARMENIAN CAPITAL LETTER REH
-0551;AL # ARMENIAN CAPITAL LETTER CO
-0552;AL # ARMENIAN CAPITAL LETTER YIWN
-0553;AL # ARMENIAN CAPITAL LETTER PIWR
-0554;AL # ARMENIAN CAPITAL LETTER KEH
-0555;AL # ARMENIAN CAPITAL LETTER OH
-0556;AL # ARMENIAN CAPITAL LETTER FEH
-0559;AL # ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A;AL # ARMENIAN APOSTROPHE
-055B;AL # ARMENIAN EMPHASIS MARK
-055C;AL # ARMENIAN EXCLAMATION MARK
-055D;AL # ARMENIAN COMMA
-055E;AL # ARMENIAN QUESTION MARK
-055F;AL # ARMENIAN ABBREVIATION MARK
-0561;AL # ARMENIAN SMALL LETTER AYB
-0562;AL # ARMENIAN SMALL LETTER BEN
-0563;AL # ARMENIAN SMALL LETTER GIM
-0564;AL # ARMENIAN SMALL LETTER DA
-0565;AL # ARMENIAN SMALL LETTER ECH
-0566;AL # ARMENIAN SMALL LETTER ZA
-0567;AL # ARMENIAN SMALL LETTER EH
-0568;AL # ARMENIAN SMALL LETTER ET
-0569;AL # ARMENIAN SMALL LETTER TO
-056A;AL # ARMENIAN SMALL LETTER ZHE
-056B;AL # ARMENIAN SMALL LETTER INI
-056C;AL # ARMENIAN SMALL LETTER LIWN
-056D;AL # ARMENIAN SMALL LETTER XEH
-056E;AL # ARMENIAN SMALL LETTER CA
-056F;AL # ARMENIAN SMALL LETTER KEN
-0570;AL # ARMENIAN SMALL LETTER HO
-0571;AL # ARMENIAN SMALL LETTER JA
-0572;AL # ARMENIAN SMALL LETTER GHAD
-0573;AL # ARMENIAN SMALL LETTER CHEH
-0574;AL # ARMENIAN SMALL LETTER MEN
-0575;AL # ARMENIAN SMALL LETTER YI
-0576;AL # ARMENIAN SMALL LETTER NOW
-0577;AL # ARMENIAN SMALL LETTER SHA
-0578;AL # ARMENIAN SMALL LETTER VO
-0579;AL # ARMENIAN SMALL LETTER CHA
-057A;AL # ARMENIAN SMALL LETTER PEH
-057B;AL # ARMENIAN SMALL LETTER JHEH
-057C;AL # ARMENIAN SMALL LETTER RA
-057D;AL # ARMENIAN SMALL LETTER SEH
-057E;AL # ARMENIAN SMALL LETTER VEW
-057F;AL # ARMENIAN SMALL LETTER TIWN
-0580;AL # ARMENIAN SMALL LETTER REH
-0581;AL # ARMENIAN SMALL LETTER CO
-0582;AL # ARMENIAN SMALL LETTER YIWN
-0583;AL # ARMENIAN SMALL LETTER PIWR
-0584;AL # ARMENIAN SMALL LETTER KEH
-0585;AL # ARMENIAN SMALL LETTER OH
-0586;AL # ARMENIAN SMALL LETTER FEH
-0587;AL # ARMENIAN SMALL LIGATURE ECH YIWN
-0589;IS # ARMENIAN FULL STOP
-058A;BA # ARMENIAN HYPHEN
-0591;CM # HEBREW ACCENT ETNAHTA
-0592;CM # HEBREW ACCENT SEGOL
-0593;CM # HEBREW ACCENT SHALSHELET
-0594;CM # HEBREW ACCENT ZAQEF QATAN
-0595;CM # HEBREW ACCENT ZAQEF GADOL
-0596;CM # HEBREW ACCENT TIPEHA
-0597;CM # HEBREW ACCENT REVIA
-0598;CM # HEBREW ACCENT ZARQA
-0599;CM # HEBREW ACCENT PASHTA
-059A;CM # HEBREW ACCENT YETIV
-059B;CM # HEBREW ACCENT TEVIR
-059C;CM # HEBREW ACCENT GERESH
-059D;CM # HEBREW ACCENT GERESH MUQDAM
-059E;CM # HEBREW ACCENT GERSHAYIM
-059F;CM # HEBREW ACCENT QARNEY PARA
-05A0;CM # HEBREW ACCENT TELISHA GEDOLA
-05A1;CM # HEBREW ACCENT PAZER
-05A2;CM # HEBREW ACCENT ATNAH HAFUKH
-05A3;CM # HEBREW ACCENT MUNAH
-05A4;CM # HEBREW ACCENT MAHAPAKH
-05A5;CM # HEBREW ACCENT MERKHA
-05A6;CM # HEBREW ACCENT MERKHA KEFULA
-05A7;CM # HEBREW ACCENT DARGA
-05A8;CM # HEBREW ACCENT QADMA
-05A9;CM # HEBREW ACCENT TELISHA QETANA
-05AA;CM # HEBREW ACCENT YERAH BEN YOMO
-05AB;CM # HEBREW ACCENT OLE
-05AC;CM # HEBREW ACCENT ILUY
-05AD;CM # HEBREW ACCENT DEHI
-05AE;CM # HEBREW ACCENT ZINOR
-05AF;CM # HEBREW MARK MASORA CIRCLE
-05B0;CM # HEBREW POINT SHEVA
-05B1;CM # HEBREW POINT HATAF SEGOL
-05B2;CM # HEBREW POINT HATAF PATAH
-05B3;CM # HEBREW POINT HATAF QAMATS
-05B4;CM # HEBREW POINT HIRIQ
-05B5;CM # HEBREW POINT TSERE
-05B6;CM # HEBREW POINT SEGOL
-05B7;CM # HEBREW POINT PATAH
-05B8;CM # HEBREW POINT QAMATS
-05B9;CM # HEBREW POINT HOLAM
-05BA;CM # HEBREW POINT HOLAM HASER FOR VAV
-05BB;CM # HEBREW POINT QUBUTS
-05BC;CM # HEBREW POINT DAGESH OR MAPIQ
-05BD;CM # HEBREW POINT METEG
-05BE;BA # HEBREW PUNCTUATION MAQAF
-05BF;CM # HEBREW POINT RAFE
-05C0;AL # HEBREW PUNCTUATION PASEQ
-05C1;CM # HEBREW POINT SHIN DOT
-05C2;CM # HEBREW POINT SIN DOT
-05C3;AL # HEBREW PUNCTUATION SOF PASUQ
-05C4;CM # HEBREW MARK UPPER DOT
-05C5;CM # HEBREW MARK LOWER DOT
-05C6;EX # HEBREW PUNCTUATION NUN HAFUKHA
-05C7;CM # HEBREW POINT QAMATS QATAN
-05D0;AL # HEBREW LETTER ALEF
-05D1;AL # HEBREW LETTER BET
-05D2;AL # HEBREW LETTER GIMEL
-05D3;AL # HEBREW LETTER DALET
-05D4;AL # HEBREW LETTER HE
-05D5;AL # HEBREW LETTER VAV
-05D6;AL # HEBREW LETTER ZAYIN
-05D7;AL # HEBREW LETTER HET
-05D8;AL # HEBREW LETTER TET
-05D9;AL # HEBREW LETTER YOD
-05DA;AL # HEBREW LETTER FINAL KAF
-05DB;AL # HEBREW LETTER KAF
-05DC;AL # HEBREW LETTER LAMED
-05DD;AL # HEBREW LETTER FINAL MEM
-05DE;AL # HEBREW LETTER MEM
-05DF;AL # HEBREW LETTER FINAL NUN
-05E0;AL # HEBREW LETTER NUN
-05E1;AL # HEBREW LETTER SAMEKH
-05E2;AL # HEBREW LETTER AYIN
-05E3;AL # HEBREW LETTER FINAL PE
-05E4;AL # HEBREW LETTER PE
-05E5;AL # HEBREW LETTER FINAL TSADI
-05E6;AL # HEBREW LETTER TSADI
-05E7;AL # HEBREW LETTER QOF
-05E8;AL # HEBREW LETTER RESH
-05E9;AL # HEBREW LETTER SHIN
-05EA;AL # HEBREW LETTER TAV
-05F0;AL # HEBREW LIGATURE YIDDISH DOUBLE VAV
-05F1;AL # HEBREW LIGATURE YIDDISH VAV YOD
-05F2;AL # HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3;AL # HEBREW PUNCTUATION GERESH
-05F4;AL # HEBREW PUNCTUATION GERSHAYIM
-0600;AL # ARABIC NUMBER SIGN
-0601;AL # ARABIC SIGN SANAH
-0602;AL # ARABIC FOOTNOTE MARKER
-0603;AL # ARABIC SIGN SAFHA
-0606;AL # ARABIC-INDIC CUBE ROOT
-0607;AL # ARABIC-INDIC FOURTH ROOT
-0608;AL # ARABIC RAY
-0609;PO # ARABIC-INDIC PER MILLE SIGN
-060A;PO # ARABIC-INDIC PER TEN THOUSAND SIGN
-060B;PO # AFGHANI SIGN
-060C;IS # ARABIC COMMA
-060D;IS # ARABIC DATE SEPARATOR
-060E;AL # ARABIC POETIC VERSE SIGN
-060F;AL # ARABIC SIGN MISRA
-0610;CM # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
-0611;CM # ARABIC SIGN ALAYHE ASSALLAM
-0612;CM # ARABIC SIGN RAHMATULLAH ALAYHE
-0613;CM # ARABIC SIGN RADI ALLAHOU ANHU
-0614;CM # ARABIC SIGN TAKHALLUS
-0615;CM # ARABIC SMALL HIGH TAH
-0616;CM # ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
-0617;CM # ARABIC SMALL HIGH ZAIN
-0618;CM # ARABIC SMALL FATHA
-0619;CM # ARABIC SMALL DAMMA
-061A;CM # ARABIC SMALL KASRA
-061B;EX # ARABIC SEMICOLON
-061E;EX # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F;EX # ARABIC QUESTION MARK
-0621;AL # ARABIC LETTER HAMZA
-0622;AL # ARABIC LETTER ALEF WITH MADDA ABOVE
-0623;AL # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0624;AL # ARABIC LETTER WAW WITH HAMZA ABOVE
-0625;AL # ARABIC LETTER ALEF WITH HAMZA BELOW
-0626;AL # ARABIC LETTER YEH WITH HAMZA ABOVE
-0627;AL # ARABIC LETTER ALEF
-0628;AL # ARABIC LETTER BEH
-0629;AL # ARABIC LETTER TEH MARBUTA
-062A;AL # ARABIC LETTER TEH
-062B;AL # ARABIC LETTER THEH
-062C;AL # ARABIC LETTER JEEM
-062D;AL # ARABIC LETTER HAH
-062E;AL # ARABIC LETTER KHAH
-062F;AL # ARABIC LETTER DAL
-0630;AL # ARABIC LETTER THAL
-0631;AL # ARABIC LETTER REH
-0632;AL # ARABIC LETTER ZAIN
-0633;AL # ARABIC LETTER SEEN
-0634;AL # ARABIC LETTER SHEEN
-0635;AL # ARABIC LETTER SAD
-0636;AL # ARABIC LETTER DAD
-0637;AL # ARABIC LETTER TAH
-0638;AL # ARABIC LETTER ZAH
-0639;AL # ARABIC LETTER AIN
-063A;AL # ARABIC LETTER GHAIN
-063B;AL # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C;AL # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-063D;AL # ARABIC LETTER FARSI YEH WITH INVERTED V
-063E;AL # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F;AL # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640;AL # ARABIC TATWEEL
-0641;AL # ARABIC LETTER FEH
-0642;AL # ARABIC LETTER QAF
-0643;AL # ARABIC LETTER KAF
-0644;AL # ARABIC LETTER LAM
-0645;AL # ARABIC LETTER MEEM
-0646;AL # ARABIC LETTER NOON
-0647;AL # ARABIC LETTER HEH
-0648;AL # ARABIC LETTER WAW
-0649;AL # ARABIC LETTER ALEF MAKSURA
-064A;AL # ARABIC LETTER YEH
-064B;CM # ARABIC FATHATAN
-064C;CM # ARABIC DAMMATAN
-064D;CM # ARABIC KASRATAN
-064E;CM # ARABIC FATHA
-064F;CM # ARABIC DAMMA
-0650;CM # ARABIC KASRA
-0651;CM # ARABIC SHADDA
-0652;CM # ARABIC SUKUN
-0653;CM # ARABIC MADDAH ABOVE
-0654;CM # ARABIC HAMZA ABOVE
-0655;CM # ARABIC HAMZA BELOW
-0656;CM # ARABIC SUBSCRIPT ALEF
-0657;CM # ARABIC INVERTED DAMMA
-0658;CM # ARABIC MARK NOON GHUNNA
-0659;CM # ARABIC ZWARAKAY
-065A;CM # ARABIC VOWEL SIGN SMALL V ABOVE
-065B;CM # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C;CM # ARABIC VOWEL SIGN DOT BELOW
-065D;CM # ARABIC REVERSED DAMMA
-065E;CM # ARABIC FATHA WITH TWO DOTS
-0660;NU # ARABIC-INDIC DIGIT ZERO
-0661;NU # ARABIC-INDIC DIGIT ONE
-0662;NU # ARABIC-INDIC DIGIT TWO
-0663;NU # ARABIC-INDIC DIGIT THREE
-0664;NU # ARABIC-INDIC DIGIT FOUR
-0665;NU # ARABIC-INDIC DIGIT FIVE
-0666;NU # ARABIC-INDIC DIGIT SIX
-0667;NU # ARABIC-INDIC DIGIT SEVEN
-0668;NU # ARABIC-INDIC DIGIT EIGHT
-0669;NU # ARABIC-INDIC DIGIT NINE
-066A;PO # ARABIC PERCENT SIGN
-066B;NU # ARABIC DECIMAL SEPARATOR
-066C;NU # ARABIC THOUSANDS SEPARATOR
-066D;AL # ARABIC FIVE POINTED STAR
-066E;AL # ARABIC LETTER DOTLESS BEH
-066F;AL # ARABIC LETTER DOTLESS QAF
-0670;CM # ARABIC LETTER SUPERSCRIPT ALEF
-0671;AL # ARABIC LETTER ALEF WASLA
-0672;AL # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0673;AL # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0674;AL # ARABIC LETTER HIGH HAMZA
-0675;AL # ARABIC LETTER HIGH HAMZA ALEF
-0676;AL # ARABIC LETTER HIGH HAMZA WAW
-0677;AL # ARABIC LETTER U WITH HAMZA ABOVE
-0678;AL # ARABIC LETTER HIGH HAMZA YEH
-0679;AL # ARABIC LETTER TTEH
-067A;AL # ARABIC LETTER TTEHEH
-067B;AL # ARABIC LETTER BEEH
-067C;AL # ARABIC LETTER TEH WITH RING
-067D;AL # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067E;AL # ARABIC LETTER PEH
-067F;AL # ARABIC LETTER TEHEH
-0680;AL # ARABIC LETTER BEHEH
-0681;AL # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682;AL # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0683;AL # ARABIC LETTER NYEH
-0684;AL # ARABIC LETTER DYEH
-0685;AL # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0686;AL # ARABIC LETTER TCHEH
-0687;AL # ARABIC LETTER TCHEHEH
-0688;AL # ARABIC LETTER DDAL
-0689;AL # ARABIC LETTER DAL WITH RING
-068A;AL # ARABIC LETTER DAL WITH DOT BELOW
-068B;AL # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C;AL # ARABIC LETTER DAHAL
-068D;AL # ARABIC LETTER DDAHAL
-068E;AL # ARABIC LETTER DUL
-068F;AL # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690;AL # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-0691;AL # ARABIC LETTER RREH
-0692;AL # ARABIC LETTER REH WITH SMALL V
-0693;AL # ARABIC LETTER REH WITH RING
-0694;AL # ARABIC LETTER REH WITH DOT BELOW
-0695;AL # ARABIC LETTER REH WITH SMALL V BELOW
-0696;AL # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697;AL # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698;AL # ARABIC LETTER JEH
-0699;AL # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-069A;AL # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B;AL # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C;AL # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-069D;AL # ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E;AL # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-069F;AL # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-06A0;AL # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06A1;AL # ARABIC LETTER DOTLESS FEH
-06A2;AL # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3;AL # ARABIC LETTER FEH WITH DOT BELOW
-06A4;AL # ARABIC LETTER VEH
-06A5;AL # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6;AL # ARABIC LETTER PEHEH
-06A7;AL # ARABIC LETTER QAF WITH DOT ABOVE
-06A8;AL # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-06A9;AL # ARABIC LETTER KEHEH
-06AA;AL # ARABIC LETTER SWASH KAF
-06AB;AL # ARABIC LETTER KAF WITH RING
-06AC;AL # ARABIC LETTER KAF WITH DOT ABOVE
-06AD;AL # ARABIC LETTER NG
-06AE;AL # ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF;AL # ARABIC LETTER GAF
-06B0;AL # ARABIC LETTER GAF WITH RING
-06B1;AL # ARABIC LETTER NGOEH
-06B2;AL # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3;AL # ARABIC LETTER GUEH
-06B4;AL # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-06B5;AL # ARABIC LETTER LAM WITH SMALL V
-06B6;AL # ARABIC LETTER LAM WITH DOT ABOVE
-06B7;AL # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8;AL # ARABIC LETTER LAM WITH THREE DOTS BELOW
-06B9;AL # ARABIC LETTER NOON WITH DOT BELOW
-06BA;AL # ARABIC LETTER NOON GHUNNA
-06BB;AL # ARABIC LETTER RNOON
-06BC;AL # ARABIC LETTER NOON WITH RING
-06BD;AL # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06BE;AL # ARABIC LETTER HEH DOACHASHMEE
-06BF;AL # ARABIC LETTER TCHEH WITH DOT ABOVE
-06C0;AL # ARABIC LETTER HEH WITH YEH ABOVE
-06C1;AL # ARABIC LETTER HEH GOAL
-06C2;AL # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C3;AL # ARABIC LETTER TEH MARBUTA GOAL
-06C4;AL # ARABIC LETTER WAW WITH RING
-06C5;AL # ARABIC LETTER KIRGHIZ OE
-06C6;AL # ARABIC LETTER OE
-06C7;AL # ARABIC LETTER U
-06C8;AL # ARABIC LETTER YU
-06C9;AL # ARABIC LETTER KIRGHIZ YU
-06CA;AL # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB;AL # ARABIC LETTER VE
-06CC;AL # ARABIC LETTER FARSI YEH
-06CD;AL # ARABIC LETTER YEH WITH TAIL
-06CE;AL # ARABIC LETTER YEH WITH SMALL V
-06CF;AL # ARABIC LETTER WAW WITH DOT ABOVE
-06D0;AL # ARABIC LETTER E
-06D1;AL # ARABIC LETTER YEH WITH THREE DOTS BELOW
-06D2;AL # ARABIC LETTER YEH BARREE
-06D3;AL # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4;EX # ARABIC FULL STOP
-06D5;AL # ARABIC LETTER AE
-06D6;CM # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
-06D7;CM # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
-06D8;CM # ARABIC SMALL HIGH MEEM INITIAL FORM
-06D9;CM # ARABIC SMALL HIGH LAM ALEF
-06DA;CM # ARABIC SMALL HIGH JEEM
-06DB;CM # ARABIC SMALL HIGH THREE DOTS
-06DC;CM # ARABIC SMALL HIGH SEEN
-06DD;AL # ARABIC END OF AYAH
-06DE;CM # ARABIC START OF RUB EL HIZB
-06DF;CM # ARABIC SMALL HIGH ROUNDED ZERO
-06E0;CM # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
-06E1;CM # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
-06E2;CM # ARABIC SMALL HIGH MEEM ISOLATED FORM
-06E3;CM # ARABIC SMALL LOW SEEN
-06E4;CM # ARABIC SMALL HIGH MADDA
-06E5;AL # ARABIC SMALL WAW
-06E6;AL # ARABIC SMALL YEH
-06E7;CM # ARABIC SMALL HIGH YEH
-06E8;CM # ARABIC SMALL HIGH NOON
-06E9;AL # ARABIC PLACE OF SAJDAH
-06EA;CM # ARABIC EMPTY CENTRE LOW STOP
-06EB;CM # ARABIC EMPTY CENTRE HIGH STOP
-06EC;CM # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
-06ED;CM # ARABIC SMALL LOW MEEM
-06EE;AL # ARABIC LETTER DAL WITH INVERTED V
-06EF;AL # ARABIC LETTER REH WITH INVERTED V
-06F0;NU # EXTENDED ARABIC-INDIC DIGIT ZERO
-06F1;NU # EXTENDED ARABIC-INDIC DIGIT ONE
-06F2;NU # EXTENDED ARABIC-INDIC DIGIT TWO
-06F3;NU # EXTENDED ARABIC-INDIC DIGIT THREE
-06F4;NU # EXTENDED ARABIC-INDIC DIGIT FOUR
-06F5;NU # EXTENDED ARABIC-INDIC DIGIT FIVE
-06F6;NU # EXTENDED ARABIC-INDIC DIGIT SIX
-06F7;NU # EXTENDED ARABIC-INDIC DIGIT SEVEN
-06F8;NU # EXTENDED ARABIC-INDIC DIGIT EIGHT
-06F9;NU # EXTENDED ARABIC-INDIC DIGIT NINE
-06FA;AL # ARABIC LETTER SHEEN WITH DOT BELOW
-06FB;AL # ARABIC LETTER DAD WITH DOT BELOW
-06FC;AL # ARABIC LETTER GHAIN WITH DOT BELOW
-06FD;AL # ARABIC SIGN SINDHI AMPERSAND
-06FE;AL # ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF;AL # ARABIC LETTER HEH WITH INVERTED V
-0700;AL # SYRIAC END OF PARAGRAPH
-0701;AL # SYRIAC SUPRALINEAR FULL STOP
-0702;AL # SYRIAC SUBLINEAR FULL STOP
-0703;AL # SYRIAC SUPRALINEAR COLON
-0704;AL # SYRIAC SUBLINEAR COLON
-0705;AL # SYRIAC HORIZONTAL COLON
-0706;AL # SYRIAC COLON SKEWED LEFT
-0707;AL # SYRIAC COLON SKEWED RIGHT
-0708;AL # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709;AL # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A;AL # SYRIAC CONTRACTION
-070B;AL # SYRIAC HARKLEAN OBELUS
-070C;AL # SYRIAC HARKLEAN METOBELUS
-070D;AL # SYRIAC HARKLEAN ASTERISCUS
-070F;AL # SYRIAC ABBREVIATION MARK
-0710;AL # SYRIAC LETTER ALAPH
-0711;CM # SYRIAC LETTER SUPERSCRIPT ALAPH
-0712;AL # SYRIAC LETTER BETH
-0713;AL # SYRIAC LETTER GAMAL
-0714;AL # SYRIAC LETTER GAMAL GARSHUNI
-0715;AL # SYRIAC LETTER DALATH
-0716;AL # SYRIAC LETTER DOTLESS DALATH RISH
-0717;AL # SYRIAC LETTER HE
-0718;AL # SYRIAC LETTER WAW
-0719;AL # SYRIAC LETTER ZAIN
-071A;AL # SYRIAC LETTER HETH
-071B;AL # SYRIAC LETTER TETH
-071C;AL # SYRIAC LETTER TETH GARSHUNI
-071D;AL # SYRIAC LETTER YUDH
-071E;AL # SYRIAC LETTER YUDH HE
-071F;AL # SYRIAC LETTER KAPH
-0720;AL # SYRIAC LETTER LAMADH
-0721;AL # SYRIAC LETTER MIM
-0722;AL # SYRIAC LETTER NUN
-0723;AL # SYRIAC LETTER SEMKATH
-0724;AL # SYRIAC LETTER FINAL SEMKATH
-0725;AL # SYRIAC LETTER E
-0726;AL # SYRIAC LETTER PE
-0727;AL # SYRIAC LETTER REVERSED PE
-0728;AL # SYRIAC LETTER SADHE
-0729;AL # SYRIAC LETTER QAPH
-072A;AL # SYRIAC LETTER RISH
-072B;AL # SYRIAC LETTER SHIN
-072C;AL # SYRIAC LETTER TAW
-072D;AL # SYRIAC LETTER PERSIAN BHETH
-072E;AL # SYRIAC LETTER PERSIAN GHAMAL
-072F;AL # SYRIAC LETTER PERSIAN DHALATH
-0730;CM # SYRIAC PTHAHA ABOVE
-0731;CM # SYRIAC PTHAHA BELOW
-0732;CM # SYRIAC PTHAHA DOTTED
-0733;CM # SYRIAC ZQAPHA ABOVE
-0734;CM # SYRIAC ZQAPHA BELOW
-0735;CM # SYRIAC ZQAPHA DOTTED
-0736;CM # SYRIAC RBASA ABOVE
-0737;CM # SYRIAC RBASA BELOW
-0738;CM # SYRIAC DOTTED ZLAMA HORIZONTAL
-0739;CM # SYRIAC DOTTED ZLAMA ANGULAR
-073A;CM # SYRIAC HBASA ABOVE
-073B;CM # SYRIAC HBASA BELOW
-073C;CM # SYRIAC HBASA-ESASA DOTTED
-073D;CM # SYRIAC ESASA ABOVE
-073E;CM # SYRIAC ESASA BELOW
-073F;CM # SYRIAC RWAHA
-0740;CM # SYRIAC FEMININE DOT
-0741;CM # SYRIAC QUSHSHAYA
-0742;CM # SYRIAC RUKKAKHA
-0743;CM # SYRIAC TWO VERTICAL DOTS ABOVE
-0744;CM # SYRIAC TWO VERTICAL DOTS BELOW
-0745;CM # SYRIAC THREE DOTS ABOVE
-0746;CM # SYRIAC THREE DOTS BELOW
-0747;CM # SYRIAC OBLIQUE LINE ABOVE
-0748;CM # SYRIAC OBLIQUE LINE BELOW
-0749;CM # SYRIAC MUSIC
-074A;CM # SYRIAC BARREKH
-074D;AL # SYRIAC LETTER SOGDIAN ZHAIN
-074E;AL # SYRIAC LETTER SOGDIAN KHAPH
-074F;AL # SYRIAC LETTER SOGDIAN FE
-0750;AL # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751;AL # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752;AL # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753;AL # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754;AL # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755;AL # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756;AL # ARABIC LETTER BEH WITH SMALL V
-0757;AL # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758;AL # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-0759;AL # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A;AL # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-075B;AL # ARABIC LETTER REH WITH STROKE
-075C;AL # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-075D;AL # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E;AL # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F;AL # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0760;AL # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761;AL # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-0762;AL # ARABIC LETTER KEHEH WITH DOT ABOVE
-0763;AL # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764;AL # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0765;AL # ARABIC LETTER MEEM WITH DOT ABOVE
-0766;AL # ARABIC LETTER MEEM WITH DOT BELOW
-0767;AL # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768;AL # ARABIC LETTER NOON WITH SMALL TAH
-0769;AL # ARABIC LETTER NOON WITH SMALL V
-076A;AL # ARABIC LETTER LAM WITH BAR
-076B;AL # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C;AL # ARABIC LETTER REH WITH HAMZA ABOVE
-076D;AL # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-076E;AL # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F;AL # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0770;AL # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0771;AL # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772;AL # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-0773;AL # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774;AL # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0775;AL # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776;AL # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777;AL # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-0778;AL # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779;AL # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077A;AL # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B;AL # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077C;AL # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-077D;AL # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E;AL # ARABIC LETTER SEEN WITH INVERTED V
-077F;AL # ARABIC LETTER KAF WITH TWO DOTS ABOVE
-0780;AL # THAANA LETTER HAA
-0781;AL # THAANA LETTER SHAVIYANI
-0782;AL # THAANA LETTER NOONU
-0783;AL # THAANA LETTER RAA
-0784;AL # THAANA LETTER BAA
-0785;AL # THAANA LETTER LHAVIYANI
-0786;AL # THAANA LETTER KAAFU
-0787;AL # THAANA LETTER ALIFU
-0788;AL # THAANA LETTER VAAVU
-0789;AL # THAANA LETTER MEEMU
-078A;AL # THAANA LETTER FAAFU
-078B;AL # THAANA LETTER DHAALU
-078C;AL # THAANA LETTER THAA
-078D;AL # THAANA LETTER LAAMU
-078E;AL # THAANA LETTER GAAFU
-078F;AL # THAANA LETTER GNAVIYANI
-0790;AL # THAANA LETTER SEENU
-0791;AL # THAANA LETTER DAVIYANI
-0792;AL # THAANA LETTER ZAVIYANI
-0793;AL # THAANA LETTER TAVIYANI
-0794;AL # THAANA LETTER YAA
-0795;AL # THAANA LETTER PAVIYANI
-0796;AL # THAANA LETTER JAVIYANI
-0797;AL # THAANA LETTER CHAVIYANI
-0798;AL # THAANA LETTER TTAA
-0799;AL # THAANA LETTER HHAA
-079A;AL # THAANA LETTER KHAA
-079B;AL # THAANA LETTER THAALU
-079C;AL # THAANA LETTER ZAA
-079D;AL # THAANA LETTER SHEENU
-079E;AL # THAANA LETTER SAADHU
-079F;AL # THAANA LETTER DAADHU
-07A0;AL # THAANA LETTER TO
-07A1;AL # THAANA LETTER ZO
-07A2;AL # THAANA LETTER AINU
-07A3;AL # THAANA LETTER GHAINU
-07A4;AL # THAANA LETTER QAAFU
-07A5;AL # THAANA LETTER WAAVU
-07A6;CM # THAANA ABAFILI
-07A7;CM # THAANA AABAAFILI
-07A8;CM # THAANA IBIFILI
-07A9;CM # THAANA EEBEEFILI
-07AA;CM # THAANA UBUFILI
-07AB;CM # THAANA OOBOOFILI
-07AC;CM # THAANA EBEFILI
-07AD;CM # THAANA EYBEYFILI
-07AE;CM # THAANA OBOFILI
-07AF;CM # THAANA OABOAFILI
-07B0;CM # THAANA SUKUN
-07B1;AL # THAANA LETTER NAA
-07C0;NU # NKO DIGIT ZERO
-07C1;NU # NKO DIGIT ONE
-07C2;NU # NKO DIGIT TWO
-07C3;NU # NKO DIGIT THREE
-07C4;NU # NKO DIGIT FOUR
-07C5;NU # NKO DIGIT FIVE
-07C6;NU # NKO DIGIT SIX
-07C7;NU # NKO DIGIT SEVEN
-07C8;NU # NKO DIGIT EIGHT
-07C9;NU # NKO DIGIT NINE
-07CA;AL # NKO LETTER A
-07CB;AL # NKO LETTER EE
-07CC;AL # NKO LETTER I
-07CD;AL # NKO LETTER E
-07CE;AL # NKO LETTER U
-07CF;AL # NKO LETTER OO
-07D0;AL # NKO LETTER O
-07D1;AL # NKO LETTER DAGBASINNA
-07D2;AL # NKO LETTER N
-07D3;AL # NKO LETTER BA
-07D4;AL # NKO LETTER PA
-07D5;AL # NKO LETTER TA
-07D6;AL # NKO LETTER JA
-07D7;AL # NKO LETTER CHA
-07D8;AL # NKO LETTER DA
-07D9;AL # NKO LETTER RA
-07DA;AL # NKO LETTER RRA
-07DB;AL # NKO LETTER SA
-07DC;AL # NKO LETTER GBA
-07DD;AL # NKO LETTER FA
-07DE;AL # NKO LETTER KA
-07DF;AL # NKO LETTER LA
-07E0;AL # NKO LETTER NA WOLOSO
-07E1;AL # NKO LETTER MA
-07E2;AL # NKO LETTER NYA
-07E3;AL # NKO LETTER NA
-07E4;AL # NKO LETTER HA
-07E5;AL # NKO LETTER WA
-07E6;AL # NKO LETTER YA
-07E7;AL # NKO LETTER NYA WOLOSO
-07E8;AL # NKO LETTER JONA JA
-07E9;AL # NKO LETTER JONA CHA
-07EA;AL # NKO LETTER JONA RA
-07EB;CM # NKO COMBINING SHORT HIGH TONE
-07EC;CM # NKO COMBINING SHORT LOW TONE
-07ED;CM # NKO COMBINING SHORT RISING TONE
-07EE;CM # NKO COMBINING LONG DESCENDING TONE
-07EF;CM # NKO COMBINING LONG HIGH TONE
-07F0;CM # NKO COMBINING LONG LOW TONE
-07F1;CM # NKO COMBINING LONG RISING TONE
-07F2;CM # NKO COMBINING NASALIZATION MARK
-07F3;CM # NKO COMBINING DOUBLE DOT ABOVE
-07F4;AL # NKO HIGH TONE APOSTROPHE
-07F5;AL # NKO LOW TONE APOSTROPHE
-07F6;AL # NKO SYMBOL OO DENNEN
-07F7;AL # NKO SYMBOL GBAKURUNEN
-07F8;IS # NKO COMMA
-07F9;EX # NKO EXCLAMATION MARK
-07FA;AL # NKO LAJANYALAN
-0800;AL # SAMARITAN LETTER ALAF
-0801;AL # SAMARITAN LETTER BIT
-0802;AL # SAMARITAN LETTER GAMAN
-0803;AL # SAMARITAN LETTER DALAT
-0804;AL # SAMARITAN LETTER IY
-0805;AL # SAMARITAN LETTER BAA
-0806;AL # SAMARITAN LETTER ZEN
-0807;AL # SAMARITAN LETTER IT
-0808;AL # SAMARITAN LETTER TIT
-0809;AL # SAMARITAN LETTER YUT
-080A;AL # SAMARITAN LETTER KAAF
-080B;AL # SAMARITAN LETTER LABAT
-080C;AL # SAMARITAN LETTER MIM
-080D;AL # SAMARITAN LETTER NUN
-080E;AL # SAMARITAN LETTER SINGAAT
-080F;AL # SAMARITAN LETTER IN
-0810;AL # SAMARITAN LETTER FI
-0811;AL # SAMARITAN LETTER TSAADIY
-0812;AL # SAMARITAN LETTER QUF
-0813;AL # SAMARITAN LETTER RISH
-0814;AL # SAMARITAN LETTER SHAN
-0815;AL # SAMARITAN LETTER TAAF
-0816;CM # SAMARITAN MARK IN
-0817;CM # SAMARITAN MARK IN-ALAF
-0818;CM # SAMARITAN MARK OCCLUSION
-0819;CM # SAMARITAN MARK DAGESH
-081A;AL # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B;CM # SAMARITAN MARK EPENTHETIC YUT
-081C;CM # SAMARITAN VOWEL SIGN LONG E
-081D;CM # SAMARITAN VOWEL SIGN E
-081E;CM # SAMARITAN VOWEL SIGN OVERLONG AA
-081F;CM # SAMARITAN VOWEL SIGN LONG AA
-0820;CM # SAMARITAN VOWEL SIGN AA
-0821;CM # SAMARITAN VOWEL SIGN OVERLONG A
-0822;CM # SAMARITAN VOWEL SIGN LONG A
-0823;CM # SAMARITAN VOWEL SIGN A
-0824;AL # SAMARITAN MODIFIER LETTER SHORT A
-0825;CM # SAMARITAN VOWEL SIGN SHORT A
-0826;CM # SAMARITAN VOWEL SIGN LONG U
-0827;CM # SAMARITAN VOWEL SIGN U
-0828;AL # SAMARITAN MODIFIER LETTER I
-0829;CM # SAMARITAN VOWEL SIGN LONG I
-082A;CM # SAMARITAN VOWEL SIGN I
-082B;CM # SAMARITAN VOWEL SIGN O
-082C;CM # SAMARITAN VOWEL SIGN SUKUN
-082D;CM # SAMARITAN MARK NEQUDAA
-0830;AL # SAMARITAN PUNCTUATION NEQUDAA
-0831;AL # SAMARITAN PUNCTUATION AFSAAQ
-0832;AL # SAMARITAN PUNCTUATION ANGED
-0833;AL # SAMARITAN PUNCTUATION BAU
-0834;AL # SAMARITAN PUNCTUATION ATMAAU
-0835;AL # SAMARITAN PUNCTUATION SHIYYAALAA
-0836;AL # SAMARITAN ABBREVIATION MARK
-0837;AL # SAMARITAN PUNCTUATION MELODIC QITSA
-0838;AL # SAMARITAN PUNCTUATION ZIQAA
-0839;AL # SAMARITAN PUNCTUATION QITSA
-083A;AL # SAMARITAN PUNCTUATION ZAEF
-083B;AL # SAMARITAN PUNCTUATION TURU
-083C;AL # SAMARITAN PUNCTUATION ARKAANU
-083D;AL # SAMARITAN PUNCTUATION SOF MASHFAAT
-083E;AL # SAMARITAN PUNCTUATION ANNAAU
-0900;CM # DEVANAGARI SIGN INVERTED CANDRABINDU
-0901;CM # DEVANAGARI SIGN CANDRABINDU
-0902;CM # DEVANAGARI SIGN ANUSVARA
-0903;CM # DEVANAGARI SIGN VISARGA
-0904;AL # DEVANAGARI LETTER SHORT A
-0905;AL # DEVANAGARI LETTER A
-0906;AL # DEVANAGARI LETTER AA
-0907;AL # DEVANAGARI LETTER I
-0908;AL # DEVANAGARI LETTER II
-0909;AL # DEVANAGARI LETTER U
-090A;AL # DEVANAGARI LETTER UU
-090B;AL # DEVANAGARI LETTER VOCALIC R
-090C;AL # DEVANAGARI LETTER VOCALIC L
-090D;AL # DEVANAGARI LETTER CANDRA E
-090E;AL # DEVANAGARI LETTER SHORT E
-090F;AL # DEVANAGARI LETTER E
-0910;AL # DEVANAGARI LETTER AI
-0911;AL # DEVANAGARI LETTER CANDRA O
-0912;AL # DEVANAGARI LETTER SHORT O
-0913;AL # DEVANAGARI LETTER O
-0914;AL # DEVANAGARI LETTER AU
-0915;AL # DEVANAGARI LETTER KA
-0916;AL # DEVANAGARI LETTER KHA
-0917;AL # DEVANAGARI LETTER GA
-0918;AL # DEVANAGARI LETTER GHA
-0919;AL # DEVANAGARI LETTER NGA
-091A;AL # DEVANAGARI LETTER CA
-091B;AL # DEVANAGARI LETTER CHA
-091C;AL # DEVANAGARI LETTER JA
-091D;AL # DEVANAGARI LETTER JHA
-091E;AL # DEVANAGARI LETTER NYA
-091F;AL # DEVANAGARI LETTER TTA
-0920;AL # DEVANAGARI LETTER TTHA
-0921;AL # DEVANAGARI LETTER DDA
-0922;AL # DEVANAGARI LETTER DDHA
-0923;AL # DEVANAGARI LETTER NNA
-0924;AL # DEVANAGARI LETTER TA
-0925;AL # DEVANAGARI LETTER THA
-0926;AL # DEVANAGARI LETTER DA
-0927;AL # DEVANAGARI LETTER DHA
-0928;AL # DEVANAGARI LETTER NA
-0929;AL # DEVANAGARI LETTER NNNA
-092A;AL # DEVANAGARI LETTER PA
-092B;AL # DEVANAGARI LETTER PHA
-092C;AL # DEVANAGARI LETTER BA
-092D;AL # DEVANAGARI LETTER BHA
-092E;AL # DEVANAGARI LETTER MA
-092F;AL # DEVANAGARI LETTER YA
-0930;AL # DEVANAGARI LETTER RA
-0931;AL # DEVANAGARI LETTER RRA
-0932;AL # DEVANAGARI LETTER LA
-0933;AL # DEVANAGARI LETTER LLA
-0934;AL # DEVANAGARI LETTER LLLA
-0935;AL # DEVANAGARI LETTER VA
-0936;AL # DEVANAGARI LETTER SHA
-0937;AL # DEVANAGARI LETTER SSA
-0938;AL # DEVANAGARI LETTER SA
-0939;AL # DEVANAGARI LETTER HA
-093C;CM # DEVANAGARI SIGN NUKTA
-093D;AL # DEVANAGARI SIGN AVAGRAHA
-093E;CM # DEVANAGARI VOWEL SIGN AA
-093F;CM # DEVANAGARI VOWEL SIGN I
-0940;CM # DEVANAGARI VOWEL SIGN II
-0941;CM # DEVANAGARI VOWEL SIGN U
-0942;CM # DEVANAGARI VOWEL SIGN UU
-0943;CM # DEVANAGARI VOWEL SIGN VOCALIC R
-0944;CM # DEVANAGARI VOWEL SIGN VOCALIC RR
-0945;CM # DEVANAGARI VOWEL SIGN CANDRA E
-0946;CM # DEVANAGARI VOWEL SIGN SHORT E
-0947;CM # DEVANAGARI VOWEL SIGN E
-0948;CM # DEVANAGARI VOWEL SIGN AI
-0949;CM # DEVANAGARI VOWEL SIGN CANDRA O
-094A;CM # DEVANAGARI VOWEL SIGN SHORT O
-094B;CM # DEVANAGARI VOWEL SIGN O
-094C;CM # DEVANAGARI VOWEL SIGN AU
-094D;CM # DEVANAGARI SIGN VIRAMA
-094E;CM # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950;AL # DEVANAGARI OM
-0951;CM # DEVANAGARI STRESS SIGN UDATTA
-0952;CM # DEVANAGARI STRESS SIGN ANUDATTA
-0953;CM # DEVANAGARI GRAVE ACCENT
-0954;CM # DEVANAGARI ACUTE ACCENT
-0955;CM # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958;AL # DEVANAGARI LETTER QA
-0959;AL # DEVANAGARI LETTER KHHA
-095A;AL # DEVANAGARI LETTER GHHA
-095B;AL # DEVANAGARI LETTER ZA
-095C;AL # DEVANAGARI LETTER DDDHA
-095D;AL # DEVANAGARI LETTER RHA
-095E;AL # DEVANAGARI LETTER FA
-095F;AL # DEVANAGARI LETTER YYA
-0960;AL # DEVANAGARI LETTER VOCALIC RR
-0961;AL # DEVANAGARI LETTER VOCALIC LL
-0962;CM # DEVANAGARI VOWEL SIGN VOCALIC L
-0963;CM # DEVANAGARI VOWEL SIGN VOCALIC LL
-0964;BA # DEVANAGARI DANDA
-0965;BA # DEVANAGARI DOUBLE DANDA
-0966;NU # DEVANAGARI DIGIT ZERO
-0967;NU # DEVANAGARI DIGIT ONE
-0968;NU # DEVANAGARI DIGIT TWO
-0969;NU # DEVANAGARI DIGIT THREE
-096A;NU # DEVANAGARI DIGIT FOUR
-096B;NU # DEVANAGARI DIGIT FIVE
-096C;NU # DEVANAGARI DIGIT SIX
-096D;NU # DEVANAGARI DIGIT SEVEN
-096E;NU # DEVANAGARI DIGIT EIGHT
-096F;NU # DEVANAGARI DIGIT NINE
-0970;AL # DEVANAGARI ABBREVIATION SIGN
-0971;AL # DEVANAGARI SIGN HIGH SPACING DOT
-0972;AL # DEVANAGARI LETTER CANDRA A
-0979;AL # DEVANAGARI LETTER ZHA
-097A;AL # DEVANAGARI LETTER HEAVY YA
-097B;AL # DEVANAGARI LETTER GGA
-097C;AL # DEVANAGARI LETTER JJA
-097D;AL # DEVANAGARI LETTER GLOTTAL STOP
-097E;AL # DEVANAGARI LETTER DDDA
-097F;AL # DEVANAGARI LETTER BBA
-0981;CM # BENGALI SIGN CANDRABINDU
-0982;CM # BENGALI SIGN ANUSVARA
-0983;CM # BENGALI SIGN VISARGA
-0985;AL # BENGALI LETTER A
-0986;AL # BENGALI LETTER AA
-0987;AL # BENGALI LETTER I
-0988;AL # BENGALI LETTER II
-0989;AL # BENGALI LETTER U
-098A;AL # BENGALI LETTER UU
-098B;AL # BENGALI LETTER VOCALIC R
-098C;AL # BENGALI LETTER VOCALIC L
-098F;AL # BENGALI LETTER E
-0990;AL # BENGALI LETTER AI
-0993;AL # BENGALI LETTER O
-0994;AL # BENGALI LETTER AU
-0995;AL # BENGALI LETTER KA
-0996;AL # BENGALI LETTER KHA
-0997;AL # BENGALI LETTER GA
-0998;AL # BENGALI LETTER GHA
-0999;AL # BENGALI LETTER NGA
-099A;AL # BENGALI LETTER CA
-099B;AL # BENGALI LETTER CHA
-099C;AL # BENGALI LETTER JA
-099D;AL # BENGALI LETTER JHA
-099E;AL # BENGALI LETTER NYA
-099F;AL # BENGALI LETTER TTA
-09A0;AL # BENGALI LETTER TTHA
-09A1;AL # BENGALI LETTER DDA
-09A2;AL # BENGALI LETTER DDHA
-09A3;AL # BENGALI LETTER NNA
-09A4;AL # BENGALI LETTER TA
-09A5;AL # BENGALI LETTER THA
-09A6;AL # BENGALI LETTER DA
-09A7;AL # BENGALI LETTER DHA
-09A8;AL # BENGALI LETTER NA
-09AA;AL # BENGALI LETTER PA
-09AB;AL # BENGALI LETTER PHA
-09AC;AL # BENGALI LETTER BA
-09AD;AL # BENGALI LETTER BHA
-09AE;AL # BENGALI LETTER MA
-09AF;AL # BENGALI LETTER YA
-09B0;AL # BENGALI LETTER RA
-09B2;AL # BENGALI LETTER LA
-09B6;AL # BENGALI LETTER SHA
-09B7;AL # BENGALI LETTER SSA
-09B8;AL # BENGALI LETTER SA
-09B9;AL # BENGALI LETTER HA
-09BC;CM # BENGALI SIGN NUKTA
-09BD;AL # BENGALI SIGN AVAGRAHA
-09BE;CM # BENGALI VOWEL SIGN AA
-09BF;CM # BENGALI VOWEL SIGN I
-09C0;CM # BENGALI VOWEL SIGN II
-09C1;CM # BENGALI VOWEL SIGN U
-09C2;CM # BENGALI VOWEL SIGN UU
-09C3;CM # BENGALI VOWEL SIGN VOCALIC R
-09C4;CM # BENGALI VOWEL SIGN VOCALIC RR
-09C7;CM # BENGALI VOWEL SIGN E
-09C8;CM # BENGALI VOWEL SIGN AI
-09CB;CM # BENGALI VOWEL SIGN O
-09CC;CM # BENGALI VOWEL SIGN AU
-09CD;CM # BENGALI SIGN VIRAMA
-09CE;AL # BENGALI LETTER KHANDA TA
-09D7;CM # BENGALI AU LENGTH MARK
-09DC;AL # BENGALI LETTER RRA
-09DD;AL # BENGALI LETTER RHA
-09DF;AL # BENGALI LETTER YYA
-09E0;AL # BENGALI LETTER VOCALIC RR
-09E1;AL # BENGALI LETTER VOCALIC LL
-09E2;CM # BENGALI VOWEL SIGN VOCALIC L
-09E3;CM # BENGALI VOWEL SIGN VOCALIC LL
-09E6;NU # BENGALI DIGIT ZERO
-09E7;NU # BENGALI DIGIT ONE
-09E8;NU # BENGALI DIGIT TWO
-09E9;NU # BENGALI DIGIT THREE
-09EA;NU # BENGALI DIGIT FOUR
-09EB;NU # BENGALI DIGIT FIVE
-09EC;NU # BENGALI DIGIT SIX
-09ED;NU # BENGALI DIGIT SEVEN
-09EE;NU # BENGALI DIGIT EIGHT
-09EF;NU # BENGALI DIGIT NINE
-09F0;AL # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09F1;AL # BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2;PO # BENGALI RUPEE MARK
-09F3;PO # BENGALI RUPEE SIGN
-09F4;AL # BENGALI CURRENCY NUMERATOR ONE
-09F5;AL # BENGALI CURRENCY NUMERATOR TWO
-09F6;AL # BENGALI CURRENCY NUMERATOR THREE
-09F7;AL # BENGALI CURRENCY NUMERATOR FOUR
-09F8;AL # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9;PO # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA;AL # BENGALI ISSHAR
-09FB;PR # BENGALI GANDA MARK
-0A01;CM # GURMUKHI SIGN ADAK BINDI
-0A02;CM # GURMUKHI SIGN BINDI
-0A03;CM # GURMUKHI SIGN VISARGA
-0A05;AL # GURMUKHI LETTER A
-0A06;AL # GURMUKHI LETTER AA
-0A07;AL # GURMUKHI LETTER I
-0A08;AL # GURMUKHI LETTER II
-0A09;AL # GURMUKHI LETTER U
-0A0A;AL # GURMUKHI LETTER UU
-0A0F;AL # GURMUKHI LETTER EE
-0A10;AL # GURMUKHI LETTER AI
-0A13;AL # GURMUKHI LETTER OO
-0A14;AL # GURMUKHI LETTER AU
-0A15;AL # GURMUKHI LETTER KA
-0A16;AL # GURMUKHI LETTER KHA
-0A17;AL # GURMUKHI LETTER GA
-0A18;AL # GURMUKHI LETTER GHA
-0A19;AL # GURMUKHI LETTER NGA
-0A1A;AL # GURMUKHI LETTER CA
-0A1B;AL # GURMUKHI LETTER CHA
-0A1C;AL # GURMUKHI LETTER JA
-0A1D;AL # GURMUKHI LETTER JHA
-0A1E;AL # GURMUKHI LETTER NYA
-0A1F;AL # GURMUKHI LETTER TTA
-0A20;AL # GURMUKHI LETTER TTHA
-0A21;AL # GURMUKHI LETTER DDA
-0A22;AL # GURMUKHI LETTER DDHA
-0A23;AL # GURMUKHI LETTER NNA
-0A24;AL # GURMUKHI LETTER TA
-0A25;AL # GURMUKHI LETTER THA
-0A26;AL # GURMUKHI LETTER DA
-0A27;AL # GURMUKHI LETTER DHA
-0A28;AL # GURMUKHI LETTER NA
-0A2A;AL # GURMUKHI LETTER PA
-0A2B;AL # GURMUKHI LETTER PHA
-0A2C;AL # GURMUKHI LETTER BA
-0A2D;AL # GURMUKHI LETTER BHA
-0A2E;AL # GURMUKHI LETTER MA
-0A2F;AL # GURMUKHI LETTER YA
-0A30;AL # GURMUKHI LETTER RA
-0A32;AL # GURMUKHI LETTER LA
-0A33;AL # GURMUKHI LETTER LLA
-0A35;AL # GURMUKHI LETTER VA
-0A36;AL # GURMUKHI LETTER SHA
-0A38;AL # GURMUKHI LETTER SA
-0A39;AL # GURMUKHI LETTER HA
-0A3C;CM # GURMUKHI SIGN NUKTA
-0A3E;CM # GURMUKHI VOWEL SIGN AA
-0A3F;CM # GURMUKHI VOWEL SIGN I
-0A40;CM # GURMUKHI VOWEL SIGN II
-0A41;CM # GURMUKHI VOWEL SIGN U
-0A42;CM # GURMUKHI VOWEL SIGN UU
-0A47;CM # GURMUKHI VOWEL SIGN EE
-0A48;CM # GURMUKHI VOWEL SIGN AI
-0A4B;CM # GURMUKHI VOWEL SIGN OO
-0A4C;CM # GURMUKHI VOWEL SIGN AU
-0A4D;CM # GURMUKHI SIGN VIRAMA
-0A51;CM # GURMUKHI SIGN UDAAT
-0A59;AL # GURMUKHI LETTER KHHA
-0A5A;AL # GURMUKHI LETTER GHHA
-0A5B;AL # GURMUKHI LETTER ZA
-0A5C;AL # GURMUKHI LETTER RRA
-0A5E;AL # GURMUKHI LETTER FA
-0A66;NU # GURMUKHI DIGIT ZERO
-0A67;NU # GURMUKHI DIGIT ONE
-0A68;NU # GURMUKHI DIGIT TWO
-0A69;NU # GURMUKHI DIGIT THREE
-0A6A;NU # GURMUKHI DIGIT FOUR
-0A6B;NU # GURMUKHI DIGIT FIVE
-0A6C;NU # GURMUKHI DIGIT SIX
-0A6D;NU # GURMUKHI DIGIT SEVEN
-0A6E;NU # GURMUKHI DIGIT EIGHT
-0A6F;NU # GURMUKHI DIGIT NINE
-0A70;CM # GURMUKHI TIPPI
-0A71;CM # GURMUKHI ADDAK
-0A72;AL # GURMUKHI IRI
-0A73;AL # GURMUKHI URA
-0A74;AL # GURMUKHI EK ONKAR
-0A75;CM # GURMUKHI SIGN YAKASH
-0A81;CM # GUJARATI SIGN CANDRABINDU
-0A82;CM # GUJARATI SIGN ANUSVARA
-0A83;CM # GUJARATI SIGN VISARGA
-0A85;AL # GUJARATI LETTER A
-0A86;AL # GUJARATI LETTER AA
-0A87;AL # GUJARATI LETTER I
-0A88;AL # GUJARATI LETTER II
-0A89;AL # GUJARATI LETTER U
-0A8A;AL # GUJARATI LETTER UU
-0A8B;AL # GUJARATI LETTER VOCALIC R
-0A8C;AL # GUJARATI LETTER VOCALIC L
-0A8D;AL # GUJARATI VOWEL CANDRA E
-0A8F;AL # GUJARATI LETTER E
-0A90;AL # GUJARATI LETTER AI
-0A91;AL # GUJARATI VOWEL CANDRA O
-0A93;AL # GUJARATI LETTER O
-0A94;AL # GUJARATI LETTER AU
-0A95;AL # GUJARATI LETTER KA
-0A96;AL # GUJARATI LETTER KHA
-0A97;AL # GUJARATI LETTER GA
-0A98;AL # GUJARATI LETTER GHA
-0A99;AL # GUJARATI LETTER NGA
-0A9A;AL # GUJARATI LETTER CA
-0A9B;AL # GUJARATI LETTER CHA
-0A9C;AL # GUJARATI LETTER JA
-0A9D;AL # GUJARATI LETTER JHA
-0A9E;AL # GUJARATI LETTER NYA
-0A9F;AL # GUJARATI LETTER TTA
-0AA0;AL # GUJARATI LETTER TTHA
-0AA1;AL # GUJARATI LETTER DDA
-0AA2;AL # GUJARATI LETTER DDHA
-0AA3;AL # GUJARATI LETTER NNA
-0AA4;AL # GUJARATI LETTER TA
-0AA5;AL # GUJARATI LETTER THA
-0AA6;AL # GUJARATI LETTER DA
-0AA7;AL # GUJARATI LETTER DHA
-0AA8;AL # GUJARATI LETTER NA
-0AAA;AL # GUJARATI LETTER PA
-0AAB;AL # GUJARATI LETTER PHA
-0AAC;AL # GUJARATI LETTER BA
-0AAD;AL # GUJARATI LETTER BHA
-0AAE;AL # GUJARATI LETTER MA
-0AAF;AL # GUJARATI LETTER YA
-0AB0;AL # GUJARATI LETTER RA
-0AB2;AL # GUJARATI LETTER LA
-0AB3;AL # GUJARATI LETTER LLA
-0AB5;AL # GUJARATI LETTER VA
-0AB6;AL # GUJARATI LETTER SHA
-0AB7;AL # GUJARATI LETTER SSA
-0AB8;AL # GUJARATI LETTER SA
-0AB9;AL # GUJARATI LETTER HA
-0ABC;CM # GUJARATI SIGN NUKTA
-0ABD;AL # GUJARATI SIGN AVAGRAHA
-0ABE;CM # GUJARATI VOWEL SIGN AA
-0ABF;CM # GUJARATI VOWEL SIGN I
-0AC0;CM # GUJARATI VOWEL SIGN II
-0AC1;CM # GUJARATI VOWEL SIGN U
-0AC2;CM # GUJARATI VOWEL SIGN UU
-0AC3;CM # GUJARATI VOWEL SIGN VOCALIC R
-0AC4;CM # GUJARATI VOWEL SIGN VOCALIC RR
-0AC5;CM # GUJARATI VOWEL SIGN CANDRA E
-0AC7;CM # GUJARATI VOWEL SIGN E
-0AC8;CM # GUJARATI VOWEL SIGN AI
-0AC9;CM # GUJARATI VOWEL SIGN CANDRA O
-0ACB;CM # GUJARATI VOWEL SIGN O
-0ACC;CM # GUJARATI VOWEL SIGN AU
-0ACD;CM # GUJARATI SIGN VIRAMA
-0AD0;AL # GUJARATI OM
-0AE0;AL # GUJARATI LETTER VOCALIC RR
-0AE1;AL # GUJARATI LETTER VOCALIC LL
-0AE2;CM # GUJARATI VOWEL SIGN VOCALIC L
-0AE3;CM # GUJARATI VOWEL SIGN VOCALIC LL
-0AE6;NU # GUJARATI DIGIT ZERO
-0AE7;NU # GUJARATI DIGIT ONE
-0AE8;NU # GUJARATI DIGIT TWO
-0AE9;NU # GUJARATI DIGIT THREE
-0AEA;NU # GUJARATI DIGIT FOUR
-0AEB;NU # GUJARATI DIGIT FIVE
-0AEC;NU # GUJARATI DIGIT SIX
-0AED;NU # GUJARATI DIGIT SEVEN
-0AEE;NU # GUJARATI DIGIT EIGHT
-0AEF;NU # GUJARATI DIGIT NINE
-0AF1;PR # GUJARATI RUPEE SIGN
-0B01;CM # ORIYA SIGN CANDRABINDU
-0B02;CM # ORIYA SIGN ANUSVARA
-0B03;CM # ORIYA SIGN VISARGA
-0B05;AL # ORIYA LETTER A
-0B06;AL # ORIYA LETTER AA
-0B07;AL # ORIYA LETTER I
-0B08;AL # ORIYA LETTER II
-0B09;AL # ORIYA LETTER U
-0B0A;AL # ORIYA LETTER UU
-0B0B;AL # ORIYA LETTER VOCALIC R
-0B0C;AL # ORIYA LETTER VOCALIC L
-0B0F;AL # ORIYA LETTER E
-0B10;AL # ORIYA LETTER AI
-0B13;AL # ORIYA LETTER O
-0B14;AL # ORIYA LETTER AU
-0B15;AL # ORIYA LETTER KA
-0B16;AL # ORIYA LETTER KHA
-0B17;AL # ORIYA LETTER GA
-0B18;AL # ORIYA LETTER GHA
-0B19;AL # ORIYA LETTER NGA
-0B1A;AL # ORIYA LETTER CA
-0B1B;AL # ORIYA LETTER CHA
-0B1C;AL # ORIYA LETTER JA
-0B1D;AL # ORIYA LETTER JHA
-0B1E;AL # ORIYA LETTER NYA
-0B1F;AL # ORIYA LETTER TTA
-0B20;AL # ORIYA LETTER TTHA
-0B21;AL # ORIYA LETTER DDA
-0B22;AL # ORIYA LETTER DDHA
-0B23;AL # ORIYA LETTER NNA
-0B24;AL # ORIYA LETTER TA
-0B25;AL # ORIYA LETTER THA
-0B26;AL # ORIYA LETTER DA
-0B27;AL # ORIYA LETTER DHA
-0B28;AL # ORIYA LETTER NA
-0B2A;AL # ORIYA LETTER PA
-0B2B;AL # ORIYA LETTER PHA
-0B2C;AL # ORIYA LETTER BA
-0B2D;AL # ORIYA LETTER BHA
-0B2E;AL # ORIYA LETTER MA
-0B2F;AL # ORIYA LETTER YA
-0B30;AL # ORIYA LETTER RA
-0B32;AL # ORIYA LETTER LA
-0B33;AL # ORIYA LETTER LLA
-0B35;AL # ORIYA LETTER VA
-0B36;AL # ORIYA LETTER SHA
-0B37;AL # ORIYA LETTER SSA
-0B38;AL # ORIYA LETTER SA
-0B39;AL # ORIYA LETTER HA
-0B3C;CM # ORIYA SIGN NUKTA
-0B3D;AL # ORIYA SIGN AVAGRAHA
-0B3E;CM # ORIYA VOWEL SIGN AA
-0B3F;CM # ORIYA VOWEL SIGN I
-0B40;CM # ORIYA VOWEL SIGN II
-0B41;CM # ORIYA VOWEL SIGN U
-0B42;CM # ORIYA VOWEL SIGN UU
-0B43;CM # ORIYA VOWEL SIGN VOCALIC R
-0B44;CM # ORIYA VOWEL SIGN VOCALIC RR
-0B47;CM # ORIYA VOWEL SIGN E
-0B48;CM # ORIYA VOWEL SIGN AI
-0B4B;CM # ORIYA VOWEL SIGN O
-0B4C;CM # ORIYA VOWEL SIGN AU
-0B4D;CM # ORIYA SIGN VIRAMA
-0B56;CM # ORIYA AI LENGTH MARK
-0B57;CM # ORIYA AU LENGTH MARK
-0B5C;AL # ORIYA LETTER RRA
-0B5D;AL # ORIYA LETTER RHA
-0B5F;AL # ORIYA LETTER YYA
-0B60;AL # ORIYA LETTER VOCALIC RR
-0B61;AL # ORIYA LETTER VOCALIC LL
-0B62;CM # ORIYA VOWEL SIGN VOCALIC L
-0B63;CM # ORIYA VOWEL SIGN VOCALIC LL
-0B66;NU # ORIYA DIGIT ZERO
-0B67;NU # ORIYA DIGIT ONE
-0B68;NU # ORIYA DIGIT TWO
-0B69;NU # ORIYA DIGIT THREE
-0B6A;NU # ORIYA DIGIT FOUR
-0B6B;NU # ORIYA DIGIT FIVE
-0B6C;NU # ORIYA DIGIT SIX
-0B6D;NU # ORIYA DIGIT SEVEN
-0B6E;NU # ORIYA DIGIT EIGHT
-0B6F;NU # ORIYA DIGIT NINE
-0B70;AL # ORIYA ISSHAR
-0B71;AL # ORIYA LETTER WA
-0B82;CM # TAMIL SIGN ANUSVARA
-0B83;AL # TAMIL SIGN VISARGA
-0B85;AL # TAMIL LETTER A
-0B86;AL # TAMIL LETTER AA
-0B87;AL # TAMIL LETTER I
-0B88;AL # TAMIL LETTER II
-0B89;AL # TAMIL LETTER U
-0B8A;AL # TAMIL LETTER UU
-0B8E;AL # TAMIL LETTER E
-0B8F;AL # TAMIL LETTER EE
-0B90;AL # TAMIL LETTER AI
-0B92;AL # TAMIL LETTER O
-0B93;AL # TAMIL LETTER OO
-0B94;AL # TAMIL LETTER AU
-0B95;AL # TAMIL LETTER KA
-0B99;AL # TAMIL LETTER NGA
-0B9A;AL # TAMIL LETTER CA
-0B9C;AL # TAMIL LETTER JA
-0B9E;AL # TAMIL LETTER NYA
-0B9F;AL # TAMIL LETTER TTA
-0BA3;AL # TAMIL LETTER NNA
-0BA4;AL # TAMIL LETTER TA
-0BA8;AL # TAMIL LETTER NA
-0BA9;AL # TAMIL LETTER NNNA
-0BAA;AL # TAMIL LETTER PA
-0BAE;AL # TAMIL LETTER MA
-0BAF;AL # TAMIL LETTER YA
-0BB0;AL # TAMIL LETTER RA
-0BB1;AL # TAMIL LETTER RRA
-0BB2;AL # TAMIL LETTER LA
-0BB3;AL # TAMIL LETTER LLA
-0BB4;AL # TAMIL LETTER LLLA
-0BB5;AL # TAMIL LETTER VA
-0BB6;AL # TAMIL LETTER SHA
-0BB7;AL # TAMIL LETTER SSA
-0BB8;AL # TAMIL LETTER SA
-0BB9;AL # TAMIL LETTER HA
-0BBE;CM # TAMIL VOWEL SIGN AA
-0BBF;CM # TAMIL VOWEL SIGN I
-0BC0;CM # TAMIL VOWEL SIGN II
-0BC1;CM # TAMIL VOWEL SIGN U
-0BC2;CM # TAMIL VOWEL SIGN UU
-0BC6;CM # TAMIL VOWEL SIGN E
-0BC7;CM # TAMIL VOWEL SIGN EE
-0BC8;CM # TAMIL VOWEL SIGN AI
-0BCA;CM # TAMIL VOWEL SIGN O
-0BCB;CM # TAMIL VOWEL SIGN OO
-0BCC;CM # TAMIL VOWEL SIGN AU
-0BCD;CM # TAMIL SIGN VIRAMA
-0BD0;AL # TAMIL OM
-0BD7;CM # TAMIL AU LENGTH MARK
-0BE6;NU # TAMIL DIGIT ZERO
-0BE7;NU # TAMIL DIGIT ONE
-0BE8;NU # TAMIL DIGIT TWO
-0BE9;NU # TAMIL DIGIT THREE
-0BEA;NU # TAMIL DIGIT FOUR
-0BEB;NU # TAMIL DIGIT FIVE
-0BEC;NU # TAMIL DIGIT SIX
-0BED;NU # TAMIL DIGIT SEVEN
-0BEE;NU # TAMIL DIGIT EIGHT
-0BEF;NU # TAMIL DIGIT NINE
-0BF0;AL # TAMIL NUMBER TEN
-0BF1;AL # TAMIL NUMBER ONE HUNDRED
-0BF2;AL # TAMIL NUMBER ONE THOUSAND
-0BF3;AL # TAMIL DAY SIGN
-0BF4;AL # TAMIL MONTH SIGN
-0BF5;AL # TAMIL YEAR SIGN
-0BF6;AL # TAMIL DEBIT SIGN
-0BF7;AL # TAMIL CREDIT SIGN
-0BF8;AL # TAMIL AS ABOVE SIGN
-0BF9;PR # TAMIL RUPEE SIGN
-0BFA;AL # TAMIL NUMBER SIGN
-0C01;CM # TELUGU SIGN CANDRABINDU
-0C02;CM # TELUGU SIGN ANUSVARA
-0C03;CM # TELUGU SIGN VISARGA
-0C05;AL # TELUGU LETTER A
-0C06;AL # TELUGU LETTER AA
-0C07;AL # TELUGU LETTER I
-0C08;AL # TELUGU LETTER II
-0C09;AL # TELUGU LETTER U
-0C0A;AL # TELUGU LETTER UU
-0C0B;AL # TELUGU LETTER VOCALIC R
-0C0C;AL # TELUGU LETTER VOCALIC L
-0C0E;AL # TELUGU LETTER E
-0C0F;AL # TELUGU LETTER EE
-0C10;AL # TELUGU LETTER AI
-0C12;AL # TELUGU LETTER O
-0C13;AL # TELUGU LETTER OO
-0C14;AL # TELUGU LETTER AU
-0C15;AL # TELUGU LETTER KA
-0C16;AL # TELUGU LETTER KHA
-0C17;AL # TELUGU LETTER GA
-0C18;AL # TELUGU LETTER GHA
-0C19;AL # TELUGU LETTER NGA
-0C1A;AL # TELUGU LETTER CA
-0C1B;AL # TELUGU LETTER CHA
-0C1C;AL # TELUGU LETTER JA
-0C1D;AL # TELUGU LETTER JHA
-0C1E;AL # TELUGU LETTER NYA
-0C1F;AL # TELUGU LETTER TTA
-0C20;AL # TELUGU LETTER TTHA
-0C21;AL # TELUGU LETTER DDA
-0C22;AL # TELUGU LETTER DDHA
-0C23;AL # TELUGU LETTER NNA
-0C24;AL # TELUGU LETTER TA
-0C25;AL # TELUGU LETTER THA
-0C26;AL # TELUGU LETTER DA
-0C27;AL # TELUGU LETTER DHA
-0C28;AL # TELUGU LETTER NA
-0C2A;AL # TELUGU LETTER PA
-0C2B;AL # TELUGU LETTER PHA
-0C2C;AL # TELUGU LETTER BA
-0C2D;AL # TELUGU LETTER BHA
-0C2E;AL # TELUGU LETTER MA
-0C2F;AL # TELUGU LETTER YA
-0C30;AL # TELUGU LETTER RA
-0C31;AL # TELUGU LETTER RRA
-0C32;AL # TELUGU LETTER LA
-0C33;AL # TELUGU LETTER LLA
-0C35;AL # TELUGU LETTER VA
-0C36;AL # TELUGU LETTER SHA
-0C37;AL # TELUGU LETTER SSA
-0C38;AL # TELUGU LETTER SA
-0C39;AL # TELUGU LETTER HA
-0C3D;AL # TELUGU SIGN AVAGRAHA
-0C3E;CM # TELUGU VOWEL SIGN AA
-0C3F;CM # TELUGU VOWEL SIGN I
-0C40;CM # TELUGU VOWEL SIGN II
-0C41;CM # TELUGU VOWEL SIGN U
-0C42;CM # TELUGU VOWEL SIGN UU
-0C43;CM # TELUGU VOWEL SIGN VOCALIC R
-0C44;CM # TELUGU VOWEL SIGN VOCALIC RR
-0C46;CM # TELUGU VOWEL SIGN E
-0C47;CM # TELUGU VOWEL SIGN EE
-0C48;CM # TELUGU VOWEL SIGN AI
-0C4A;CM # TELUGU VOWEL SIGN O
-0C4B;CM # TELUGU VOWEL SIGN OO
-0C4C;CM # TELUGU VOWEL SIGN AU
-0C4D;CM # TELUGU SIGN VIRAMA
-0C55;CM # TELUGU LENGTH MARK
-0C56;CM # TELUGU AI LENGTH MARK
-0C58;AL # TELUGU LETTER TSA
-0C59;AL # TELUGU LETTER DZA
-0C60;AL # TELUGU LETTER VOCALIC RR
-0C61;AL # TELUGU LETTER VOCALIC LL
-0C62;CM # TELUGU VOWEL SIGN VOCALIC L
-0C63;CM # TELUGU VOWEL SIGN VOCALIC LL
-0C66;NU # TELUGU DIGIT ZERO
-0C67;NU # TELUGU DIGIT ONE
-0C68;NU # TELUGU DIGIT TWO
-0C69;NU # TELUGU DIGIT THREE
-0C6A;NU # TELUGU DIGIT FOUR
-0C6B;NU # TELUGU DIGIT FIVE
-0C6C;NU # TELUGU DIGIT SIX
-0C6D;NU # TELUGU DIGIT SEVEN
-0C6E;NU # TELUGU DIGIT EIGHT
-0C6F;NU # TELUGU DIGIT NINE
-0C78;AL # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0C79;AL # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7A;AL # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7B;AL # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7C;AL # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0C7D;AL # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0C7E;AL # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F;AL # TELUGU SIGN TUUMU
-0C82;CM # KANNADA SIGN ANUSVARA
-0C83;CM # KANNADA SIGN VISARGA
-0C85;AL # KANNADA LETTER A
-0C86;AL # KANNADA LETTER AA
-0C87;AL # KANNADA LETTER I
-0C88;AL # KANNADA LETTER II
-0C89;AL # KANNADA LETTER U
-0C8A;AL # KANNADA LETTER UU
-0C8B;AL # KANNADA LETTER VOCALIC R
-0C8C;AL # KANNADA LETTER VOCALIC L
-0C8E;AL # KANNADA LETTER E
-0C8F;AL # KANNADA LETTER EE
-0C90;AL # KANNADA LETTER AI
-0C92;AL # KANNADA LETTER O
-0C93;AL # KANNADA LETTER OO
-0C94;AL # KANNADA LETTER AU
-0C95;AL # KANNADA LETTER KA
-0C96;AL # KANNADA LETTER KHA
-0C97;AL # KANNADA LETTER GA
-0C98;AL # KANNADA LETTER GHA
-0C99;AL # KANNADA LETTER NGA
-0C9A;AL # KANNADA LETTER CA
-0C9B;AL # KANNADA LETTER CHA
-0C9C;AL # KANNADA LETTER JA
-0C9D;AL # KANNADA LETTER JHA
-0C9E;AL # KANNADA LETTER NYA
-0C9F;AL # KANNADA LETTER TTA
-0CA0;AL # KANNADA LETTER TTHA
-0CA1;AL # KANNADA LETTER DDA
-0CA2;AL # KANNADA LETTER DDHA
-0CA3;AL # KANNADA LETTER NNA
-0CA4;AL # KANNADA LETTER TA
-0CA5;AL # KANNADA LETTER THA
-0CA6;AL # KANNADA LETTER DA
-0CA7;AL # KANNADA LETTER DHA
-0CA8;AL # KANNADA LETTER NA
-0CAA;AL # KANNADA LETTER PA
-0CAB;AL # KANNADA LETTER PHA
-0CAC;AL # KANNADA LETTER BA
-0CAD;AL # KANNADA LETTER BHA
-0CAE;AL # KANNADA LETTER MA
-0CAF;AL # KANNADA LETTER YA
-0CB0;AL # KANNADA LETTER RA
-0CB1;AL # KANNADA LETTER RRA
-0CB2;AL # KANNADA LETTER LA
-0CB3;AL # KANNADA LETTER LLA
-0CB5;AL # KANNADA LETTER VA
-0CB6;AL # KANNADA LETTER SHA
-0CB7;AL # KANNADA LETTER SSA
-0CB8;AL # KANNADA LETTER SA
-0CB9;AL # KANNADA LETTER HA
-0CBC;CM # KANNADA SIGN NUKTA
-0CBD;AL # KANNADA SIGN AVAGRAHA
-0CBE;CM # KANNADA VOWEL SIGN AA
-0CBF;CM # KANNADA VOWEL SIGN I
-0CC0;CM # KANNADA VOWEL SIGN II
-0CC1;CM # KANNADA VOWEL SIGN U
-0CC2;CM # KANNADA VOWEL SIGN UU
-0CC3;CM # KANNADA VOWEL SIGN VOCALIC R
-0CC4;CM # KANNADA VOWEL SIGN VOCALIC RR
-0CC6;CM # KANNADA VOWEL SIGN E
-0CC7;CM # KANNADA VOWEL SIGN EE
-0CC8;CM # KANNADA VOWEL SIGN AI
-0CCA;CM # KANNADA VOWEL SIGN O
-0CCB;CM # KANNADA VOWEL SIGN OO
-0CCC;CM # KANNADA VOWEL SIGN AU
-0CCD;CM # KANNADA SIGN VIRAMA
-0CD5;CM # KANNADA LENGTH MARK
-0CD6;CM # KANNADA AI LENGTH MARK
-0CDE;AL # KANNADA LETTER FA
-0CE0;AL # KANNADA LETTER VOCALIC RR
-0CE1;AL # KANNADA LETTER VOCALIC LL
-0CE2;CM # KANNADA VOWEL SIGN VOCALIC L
-0CE3;CM # KANNADA VOWEL SIGN VOCALIC LL
-0CE6;NU # KANNADA DIGIT ZERO
-0CE7;NU # KANNADA DIGIT ONE
-0CE8;NU # KANNADA DIGIT TWO
-0CE9;NU # KANNADA DIGIT THREE
-0CEA;NU # KANNADA DIGIT FOUR
-0CEB;NU # KANNADA DIGIT FIVE
-0CEC;NU # KANNADA DIGIT SIX
-0CED;NU # KANNADA DIGIT SEVEN
-0CEE;NU # KANNADA DIGIT EIGHT
-0CEF;NU # KANNADA DIGIT NINE
-0CF1;AL # KANNADA SIGN JIHVAMULIYA
-0CF2;AL # KANNADA SIGN UPADHMANIYA
-0D02;CM # MALAYALAM SIGN ANUSVARA
-0D03;CM # MALAYALAM SIGN VISARGA
-0D05;AL # MALAYALAM LETTER A
-0D06;AL # MALAYALAM LETTER AA
-0D07;AL # MALAYALAM LETTER I
-0D08;AL # MALAYALAM LETTER II
-0D09;AL # MALAYALAM LETTER U
-0D0A;AL # MALAYALAM LETTER UU
-0D0B;AL # MALAYALAM LETTER VOCALIC R
-0D0C;AL # MALAYALAM LETTER VOCALIC L
-0D0E;AL # MALAYALAM LETTER E
-0D0F;AL # MALAYALAM LETTER EE
-0D10;AL # MALAYALAM LETTER AI
-0D12;AL # MALAYALAM LETTER O
-0D13;AL # MALAYALAM LETTER OO
-0D14;AL # MALAYALAM LETTER AU
-0D15;AL # MALAYALAM LETTER KA
-0D16;AL # MALAYALAM LETTER KHA
-0D17;AL # MALAYALAM LETTER GA
-0D18;AL # MALAYALAM LETTER GHA
-0D19;AL # MALAYALAM LETTER NGA
-0D1A;AL # MALAYALAM LETTER CA
-0D1B;AL # MALAYALAM LETTER CHA
-0D1C;AL # MALAYALAM LETTER JA
-0D1D;AL # MALAYALAM LETTER JHA
-0D1E;AL # MALAYALAM LETTER NYA
-0D1F;AL # MALAYALAM LETTER TTA
-0D20;AL # MALAYALAM LETTER TTHA
-0D21;AL # MALAYALAM LETTER DDA
-0D22;AL # MALAYALAM LETTER DDHA
-0D23;AL # MALAYALAM LETTER NNA
-0D24;AL # MALAYALAM LETTER TA
-0D25;AL # MALAYALAM LETTER THA
-0D26;AL # MALAYALAM LETTER DA
-0D27;AL # MALAYALAM LETTER DHA
-0D28;AL # MALAYALAM LETTER NA
-0D2A;AL # MALAYALAM LETTER PA
-0D2B;AL # MALAYALAM LETTER PHA
-0D2C;AL # MALAYALAM LETTER BA
-0D2D;AL # MALAYALAM LETTER BHA
-0D2E;AL # MALAYALAM LETTER MA
-0D2F;AL # MALAYALAM LETTER YA
-0D30;AL # MALAYALAM LETTER RA
-0D31;AL # MALAYALAM LETTER RRA
-0D32;AL # MALAYALAM LETTER LA
-0D33;AL # MALAYALAM LETTER LLA
-0D34;AL # MALAYALAM LETTER LLLA
-0D35;AL # MALAYALAM LETTER VA
-0D36;AL # MALAYALAM LETTER SHA
-0D37;AL # MALAYALAM LETTER SSA
-0D38;AL # MALAYALAM LETTER SA
-0D39;AL # MALAYALAM LETTER HA
-0D3D;AL # MALAYALAM SIGN AVAGRAHA
-0D3E;CM # MALAYALAM VOWEL SIGN AA
-0D3F;CM # MALAYALAM VOWEL SIGN I
-0D40;CM # MALAYALAM VOWEL SIGN II
-0D41;CM # MALAYALAM VOWEL SIGN U
-0D42;CM # MALAYALAM VOWEL SIGN UU
-0D43;CM # MALAYALAM VOWEL SIGN VOCALIC R
-0D44;CM # MALAYALAM VOWEL SIGN VOCALIC RR
-0D46;CM # MALAYALAM VOWEL SIGN E
-0D47;CM # MALAYALAM VOWEL SIGN EE
-0D48;CM # MALAYALAM VOWEL SIGN AI
-0D4A;CM # MALAYALAM VOWEL SIGN O
-0D4B;CM # MALAYALAM VOWEL SIGN OO
-0D4C;CM # MALAYALAM VOWEL SIGN AU
-0D4D;CM # MALAYALAM SIGN VIRAMA
-0D57;CM # MALAYALAM AU LENGTH MARK
-0D60;AL # MALAYALAM LETTER VOCALIC RR
-0D61;AL # MALAYALAM LETTER VOCALIC LL
-0D62;CM # MALAYALAM VOWEL SIGN VOCALIC L
-0D63;CM # MALAYALAM VOWEL SIGN VOCALIC LL
-0D66;NU # MALAYALAM DIGIT ZERO
-0D67;NU # MALAYALAM DIGIT ONE
-0D68;NU # MALAYALAM DIGIT TWO
-0D69;NU # MALAYALAM DIGIT THREE
-0D6A;NU # MALAYALAM DIGIT FOUR
-0D6B;NU # MALAYALAM DIGIT FIVE
-0D6C;NU # MALAYALAM DIGIT SIX
-0D6D;NU # MALAYALAM DIGIT SEVEN
-0D6E;NU # MALAYALAM DIGIT EIGHT
-0D6F;NU # MALAYALAM DIGIT NINE
-0D70;AL # MALAYALAM NUMBER TEN
-0D71;AL # MALAYALAM NUMBER ONE HUNDRED
-0D72;AL # MALAYALAM NUMBER ONE THOUSAND
-0D73;AL # MALAYALAM FRACTION ONE QUARTER
-0D74;AL # MALAYALAM FRACTION ONE HALF
-0D75;AL # MALAYALAM FRACTION THREE QUARTERS
-0D79;PO # MALAYALAM DATE MARK
-0D7A;AL # MALAYALAM LETTER CHILLU NN
-0D7B;AL # MALAYALAM LETTER CHILLU N
-0D7C;AL # MALAYALAM LETTER CHILLU RR
-0D7D;AL # MALAYALAM LETTER CHILLU L
-0D7E;AL # MALAYALAM LETTER CHILLU LL
-0D7F;AL # MALAYALAM LETTER CHILLU K
-0D82;CM # SINHALA SIGN ANUSVARAYA
-0D83;CM # SINHALA SIGN VISARGAYA
-0D85;AL # SINHALA LETTER AYANNA
-0D86;AL # SINHALA LETTER AAYANNA
-0D87;AL # SINHALA LETTER AEYANNA
-0D88;AL # SINHALA LETTER AEEYANNA
-0D89;AL # SINHALA LETTER IYANNA
-0D8A;AL # SINHALA LETTER IIYANNA
-0D8B;AL # SINHALA LETTER UYANNA
-0D8C;AL # SINHALA LETTER UUYANNA
-0D8D;AL # SINHALA LETTER IRUYANNA
-0D8E;AL # SINHALA LETTER IRUUYANNA
-0D8F;AL # SINHALA LETTER ILUYANNA
-0D90;AL # SINHALA LETTER ILUUYANNA
-0D91;AL # SINHALA LETTER EYANNA
-0D92;AL # SINHALA LETTER EEYANNA
-0D93;AL # SINHALA LETTER AIYANNA
-0D94;AL # SINHALA LETTER OYANNA
-0D95;AL # SINHALA LETTER OOYANNA
-0D96;AL # SINHALA LETTER AUYANNA
-0D9A;AL # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B;AL # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C;AL # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D;AL # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E;AL # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F;AL # SINHALA LETTER SANYAKA GAYANNA
-0DA0;AL # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1;AL # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2;AL # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3;AL # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4;AL # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5;AL # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6;AL # SINHALA LETTER SANYAKA JAYANNA
-0DA7;AL # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8;AL # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9;AL # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA;AL # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB;AL # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC;AL # SINHALA LETTER SANYAKA DDAYANNA
-0DAD;AL # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE;AL # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF;AL # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0;AL # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1;AL # SINHALA LETTER DANTAJA NAYANNA
-0DB3;AL # SINHALA LETTER SANYAKA DAYANNA
-0DB4;AL # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5;AL # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6;AL # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7;AL # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8;AL # SINHALA LETTER MAYANNA
-0DB9;AL # SINHALA LETTER AMBA BAYANNA
-0DBA;AL # SINHALA LETTER YAYANNA
-0DBB;AL # SINHALA LETTER RAYANNA
-0DBD;AL # SINHALA LETTER DANTAJA LAYANNA
-0DC0;AL # SINHALA LETTER VAYANNA
-0DC1;AL # SINHALA LETTER TAALUJA SAYANNA
-0DC2;AL # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3;AL # SINHALA LETTER DANTAJA SAYANNA
-0DC4;AL # SINHALA LETTER HAYANNA
-0DC5;AL # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6;AL # SINHALA LETTER FAYANNA
-0DCA;CM # SINHALA SIGN AL-LAKUNA
-0DCF;CM # SINHALA VOWEL SIGN AELA-PILLA
-0DD0;CM # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1;CM # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2;CM # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3;CM # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4;CM # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6;CM # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8;CM # SINHALA VOWEL SIGN GAETTA-PILLA
-0DD9;CM # SINHALA VOWEL SIGN KOMBUVA
-0DDA;CM # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB;CM # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC;CM # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD;CM # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE;CM # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DDF;CM # SINHALA VOWEL SIGN GAYANUKITTA
-0DF2;CM # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DF3;CM # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4;AL # SINHALA PUNCTUATION KUNDDALIYA
-0E01;SA # THAI CHARACTER KO KAI
-0E02;SA # THAI CHARACTER KHO KHAI
-0E03;SA # THAI CHARACTER KHO KHUAT
-0E04;SA # THAI CHARACTER KHO KHWAI
-0E05;SA # THAI CHARACTER KHO KHON
-0E06;SA # THAI CHARACTER KHO RAKHANG
-0E07;SA # THAI CHARACTER NGO NGU
-0E08;SA # THAI CHARACTER CHO CHAN
-0E09;SA # THAI CHARACTER CHO CHING
-0E0A;SA # THAI CHARACTER CHO CHANG
-0E0B;SA # THAI CHARACTER SO SO
-0E0C;SA # THAI CHARACTER CHO CHOE
-0E0D;SA # THAI CHARACTER YO YING
-0E0E;SA # THAI CHARACTER DO CHADA
-0E0F;SA # THAI CHARACTER TO PATAK
-0E10;SA # THAI CHARACTER THO THAN
-0E11;SA # THAI CHARACTER THO NANGMONTHO
-0E12;SA # THAI CHARACTER THO PHUTHAO
-0E13;SA # THAI CHARACTER NO NEN
-0E14;SA # THAI CHARACTER DO DEK
-0E15;SA # THAI CHARACTER TO TAO
-0E16;SA # THAI CHARACTER THO THUNG
-0E17;SA # THAI CHARACTER THO THAHAN
-0E18;SA # THAI CHARACTER THO THONG
-0E19;SA # THAI CHARACTER NO NU
-0E1A;SA # THAI CHARACTER BO BAIMAI
-0E1B;SA # THAI CHARACTER PO PLA
-0E1C;SA # THAI CHARACTER PHO PHUNG
-0E1D;SA # THAI CHARACTER FO FA
-0E1E;SA # THAI CHARACTER PHO PHAN
-0E1F;SA # THAI CHARACTER FO FAN
-0E20;SA # THAI CHARACTER PHO SAMPHAO
-0E21;SA # THAI CHARACTER MO MA
-0E22;SA # THAI CHARACTER YO YAK
-0E23;SA # THAI CHARACTER RO RUA
-0E24;SA # THAI CHARACTER RU
-0E25;SA # THAI CHARACTER LO LING
-0E26;SA # THAI CHARACTER LU
-0E27;SA # THAI CHARACTER WO WAEN
-0E28;SA # THAI CHARACTER SO SALA
-0E29;SA # THAI CHARACTER SO RUSI
-0E2A;SA # THAI CHARACTER SO SUA
-0E2B;SA # THAI CHARACTER HO HIP
-0E2C;SA # THAI CHARACTER LO CHULA
-0E2D;SA # THAI CHARACTER O ANG
-0E2E;SA # THAI CHARACTER HO NOKHUK
-0E2F;SA # THAI CHARACTER PAIYANNOI
-0E30;SA # THAI CHARACTER SARA A
-0E31;SA # THAI CHARACTER MAI HAN-AKAT
-0E32;SA # THAI CHARACTER SARA AA
-0E33;SA # THAI CHARACTER SARA AM
-0E34;SA # THAI CHARACTER SARA I
-0E35;SA # THAI CHARACTER SARA II
-0E36;SA # THAI CHARACTER SARA UE
-0E37;SA # THAI CHARACTER SARA UEE
-0E38;SA # THAI CHARACTER SARA U
-0E39;SA # THAI CHARACTER SARA UU
-0E3A;SA # THAI CHARACTER PHINTHU
-0E3F;PR # THAI CURRENCY SYMBOL BAHT
-0E40;SA # THAI CHARACTER SARA E
-0E41;SA # THAI CHARACTER SARA AE
-0E42;SA # THAI CHARACTER SARA O
-0E43;SA # THAI CHARACTER SARA AI MAIMUAN
-0E44;SA # THAI CHARACTER SARA AI MAIMALAI
-0E45;SA # THAI CHARACTER LAKKHANGYAO
-0E46;SA # THAI CHARACTER MAIYAMOK
-0E47;SA # THAI CHARACTER MAITAIKHU
-0E48;SA # THAI CHARACTER MAI EK
-0E49;SA # THAI CHARACTER MAI THO
-0E4A;SA # THAI CHARACTER MAI TRI
-0E4B;SA # THAI CHARACTER MAI CHATTAWA
-0E4C;SA # THAI CHARACTER THANTHAKHAT
-0E4D;SA # THAI CHARACTER NIKHAHIT
-0E4E;SA # THAI CHARACTER YAMAKKAN
-0E4F;AL # THAI CHARACTER FONGMAN
-0E50;NU # THAI DIGIT ZERO
-0E51;NU # THAI DIGIT ONE
-0E52;NU # THAI DIGIT TWO
-0E53;NU # THAI DIGIT THREE
-0E54;NU # THAI DIGIT FOUR
-0E55;NU # THAI DIGIT FIVE
-0E56;NU # THAI DIGIT SIX
-0E57;NU # THAI DIGIT SEVEN
-0E58;NU # THAI DIGIT EIGHT
-0E59;NU # THAI DIGIT NINE
-0E5A;BA # THAI CHARACTER ANGKHANKHU
-0E5B;BA # THAI CHARACTER KHOMUT
-0E81;SA # LAO LETTER KO
-0E82;SA # LAO LETTER KHO SUNG
-0E84;SA # LAO LETTER KHO TAM
-0E87;SA # LAO LETTER NGO
-0E88;SA # LAO LETTER CO
-0E8A;SA # LAO LETTER SO TAM
-0E8D;SA # LAO LETTER NYO
-0E94;SA # LAO LETTER DO
-0E95;SA # LAO LETTER TO
-0E96;SA # LAO LETTER THO SUNG
-0E97;SA # LAO LETTER THO TAM
-0E99;SA # LAO LETTER NO
-0E9A;SA # LAO LETTER BO
-0E9B;SA # LAO LETTER PO
-0E9C;SA # LAO LETTER PHO SUNG
-0E9D;SA # LAO LETTER FO TAM
-0E9E;SA # LAO LETTER PHO TAM
-0E9F;SA # LAO LETTER FO SUNG
-0EA1;SA # LAO LETTER MO
-0EA2;SA # LAO LETTER YO
-0EA3;SA # LAO LETTER LO LING
-0EA5;SA # LAO LETTER LO LOOT
-0EA7;SA # LAO LETTER WO
-0EAA;SA # LAO LETTER SO SUNG
-0EAB;SA # LAO LETTER HO SUNG
-0EAD;SA # LAO LETTER O
-0EAE;SA # LAO LETTER HO TAM
-0EAF;SA # LAO ELLIPSIS
-0EB0;SA # LAO VOWEL SIGN A
-0EB1;SA # LAO VOWEL SIGN MAI KAN
-0EB2;SA # LAO VOWEL SIGN AA
-0EB3;SA # LAO VOWEL SIGN AM
-0EB4;SA # LAO VOWEL SIGN I
-0EB5;SA # LAO VOWEL SIGN II
-0EB6;SA # LAO VOWEL SIGN Y
-0EB7;SA # LAO VOWEL SIGN YY
-0EB8;SA # LAO VOWEL SIGN U
-0EB9;SA # LAO VOWEL SIGN UU
-0EBB;SA # LAO VOWEL SIGN MAI KON
-0EBC;SA # LAO SEMIVOWEL SIGN LO
-0EBD;SA # LAO SEMIVOWEL SIGN NYO
-0EC0;SA # LAO VOWEL SIGN E
-0EC1;SA # LAO VOWEL SIGN EI
-0EC2;SA # LAO VOWEL SIGN O
-0EC3;SA # LAO VOWEL SIGN AY
-0EC4;SA # LAO VOWEL SIGN AI
-0EC6;SA # LAO KO LA
-0EC8;SA # LAO TONE MAI EK
-0EC9;SA # LAO TONE MAI THO
-0ECA;SA # LAO TONE MAI TI
-0ECB;SA # LAO TONE MAI CATAWA
-0ECC;SA # LAO CANCELLATION MARK
-0ECD;SA # LAO NIGGAHITA
-0ED0;NU # LAO DIGIT ZERO
-0ED1;NU # LAO DIGIT ONE
-0ED2;NU # LAO DIGIT TWO
-0ED3;NU # LAO DIGIT THREE
-0ED4;NU # LAO DIGIT FOUR
-0ED5;NU # LAO DIGIT FIVE
-0ED6;NU # LAO DIGIT SIX
-0ED7;NU # LAO DIGIT SEVEN
-0ED8;NU # LAO DIGIT EIGHT
-0ED9;NU # LAO DIGIT NINE
-0EDC;SA # LAO HO NO
-0EDD;SA # LAO HO MO
-0F00;AL # TIBETAN SYLLABLE OM
-0F01;BB # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02;BB # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03;BB # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04;BB # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05;AL # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06;BB # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07;BB # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08;GL # TIBETAN MARK SBRUL SHAD
-0F09;BB # TIBETAN MARK BSKUR YIG MGO
-0F0A;BB # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B;BA # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C;GL # TIBETAN MARK DELIMITER TSHEG BSTAR
-0F0D;EX # TIBETAN MARK SHAD
-0F0E;EX # TIBETAN MARK NYIS SHAD
-0F0F;EX # TIBETAN MARK TSHEG SHAD
-0F10;EX # TIBETAN MARK NYIS TSHEG SHAD
-0F11;EX # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12;GL # TIBETAN MARK RGYA GRAM SHAD
-0F13;AL # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14;EX # TIBETAN MARK GTER TSHEG
-0F15;AL # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16;AL # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17;AL # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F18;CM # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
-0F19;CM # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A;AL # TIBETAN SIGN RDEL DKAR GCIG
-0F1B;AL # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C;AL # TIBETAN SIGN RDEL DKAR GSUM
-0F1D;AL # TIBETAN SIGN RDEL NAG GCIG
-0F1E;AL # TIBETAN SIGN RDEL NAG GNYIS
-0F1F;AL # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20;NU # TIBETAN DIGIT ZERO
-0F21;NU # TIBETAN DIGIT ONE
-0F22;NU # TIBETAN DIGIT TWO
-0F23;NU # TIBETAN DIGIT THREE
-0F24;NU # TIBETAN DIGIT FOUR
-0F25;NU # TIBETAN DIGIT FIVE
-0F26;NU # TIBETAN DIGIT SIX
-0F27;NU # TIBETAN DIGIT SEVEN
-0F28;NU # TIBETAN DIGIT EIGHT
-0F29;NU # TIBETAN DIGIT NINE
-0F2A;AL # TIBETAN DIGIT HALF ONE
-0F2B;AL # TIBETAN DIGIT HALF TWO
-0F2C;AL # TIBETAN DIGIT HALF THREE
-0F2D;AL # TIBETAN DIGIT HALF FOUR
-0F2E;AL # TIBETAN DIGIT HALF FIVE
-0F2F;AL # TIBETAN DIGIT HALF SIX
-0F30;AL # TIBETAN DIGIT HALF SEVEN
-0F31;AL # TIBETAN DIGIT HALF EIGHT
-0F32;AL # TIBETAN DIGIT HALF NINE
-0F33;AL # TIBETAN DIGIT HALF ZERO
-0F34;BA # TIBETAN MARK BSDUS RTAGS
-0F35;CM # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36;AL # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F37;CM # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38;AL # TIBETAN MARK CHE MGO
-0F39;CM # TIBETAN MARK TSA -PHRU
-0F3A;OP # TIBETAN MARK GUG RTAGS GYON
-0F3B;CL # TIBETAN MARK GUG RTAGS GYAS
-0F3C;OP # TIBETAN MARK ANG KHANG GYON
-0F3D;CL # TIBETAN MARK ANG KHANG GYAS
-0F3E;CM # TIBETAN SIGN YAR TSHES
-0F3F;CM # TIBETAN SIGN MAR TSHES
-0F40;AL # TIBETAN LETTER KA
-0F41;AL # TIBETAN LETTER KHA
-0F42;AL # TIBETAN LETTER GA
-0F43;AL # TIBETAN LETTER GHA
-0F44;AL # TIBETAN LETTER NGA
-0F45;AL # TIBETAN LETTER CA
-0F46;AL # TIBETAN LETTER CHA
-0F47;AL # TIBETAN LETTER JA
-0F49;AL # TIBETAN LETTER NYA
-0F4A;AL # TIBETAN LETTER TTA
-0F4B;AL # TIBETAN LETTER TTHA
-0F4C;AL # TIBETAN LETTER DDA
-0F4D;AL # TIBETAN LETTER DDHA
-0F4E;AL # TIBETAN LETTER NNA
-0F4F;AL # TIBETAN LETTER TA
-0F50;AL # TIBETAN LETTER THA
-0F51;AL # TIBETAN LETTER DA
-0F52;AL # TIBETAN LETTER DHA
-0F53;AL # TIBETAN LETTER NA
-0F54;AL # TIBETAN LETTER PA
-0F55;AL # TIBETAN LETTER PHA
-0F56;AL # TIBETAN LETTER BA
-0F57;AL # TIBETAN LETTER BHA
-0F58;AL # TIBETAN LETTER MA
-0F59;AL # TIBETAN LETTER TSA
-0F5A;AL # TIBETAN LETTER TSHA
-0F5B;AL # TIBETAN LETTER DZA
-0F5C;AL # TIBETAN LETTER DZHA
-0F5D;AL # TIBETAN LETTER WA
-0F5E;AL # TIBETAN LETTER ZHA
-0F5F;AL # TIBETAN LETTER ZA
-0F60;AL # TIBETAN LETTER -A
-0F61;AL # TIBETAN LETTER YA
-0F62;AL # TIBETAN LETTER RA
-0F63;AL # TIBETAN LETTER LA
-0F64;AL # TIBETAN LETTER SHA
-0F65;AL # TIBETAN LETTER SSA
-0F66;AL # TIBETAN LETTER SA
-0F67;AL # TIBETAN LETTER HA
-0F68;AL # TIBETAN LETTER A
-0F69;AL # TIBETAN LETTER KSSA
-0F6A;AL # TIBETAN LETTER FIXED-FORM RA
-0F6B;AL # TIBETAN LETTER KKA
-0F6C;AL # TIBETAN LETTER RRA
-0F71;CM # TIBETAN VOWEL SIGN AA
-0F72;CM # TIBETAN VOWEL SIGN I
-0F73;CM # TIBETAN VOWEL SIGN II
-0F74;CM # TIBETAN VOWEL SIGN U
-0F75;CM # TIBETAN VOWEL SIGN UU
-0F76;CM # TIBETAN VOWEL SIGN VOCALIC R
-0F77;CM # TIBETAN VOWEL SIGN VOCALIC RR
-0F78;CM # TIBETAN VOWEL SIGN VOCALIC L
-0F79;CM # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A;CM # TIBETAN VOWEL SIGN E
-0F7B;CM # TIBETAN VOWEL SIGN EE
-0F7C;CM # TIBETAN VOWEL SIGN O
-0F7D;CM # TIBETAN VOWEL SIGN OO
-0F7E;CM # TIBETAN SIGN RJES SU NGA RO
-0F7F;BA # TIBETAN SIGN RNAM BCAD
-0F80;CM # TIBETAN VOWEL SIGN REVERSED I
-0F81;CM # TIBETAN VOWEL SIGN REVERSED II
-0F82;CM # TIBETAN SIGN NYI ZLA NAA DA
-0F83;CM # TIBETAN SIGN SNA LDAN
-0F84;CM # TIBETAN MARK HALANTA
-0F85;BA # TIBETAN MARK PALUTA
-0F86;CM # TIBETAN SIGN LCI RTAGS
-0F87;CM # TIBETAN SIGN YANG RTAGS
-0F88;AL # TIBETAN SIGN LCE TSA CAN
-0F89;AL # TIBETAN SIGN MCHU CAN
-0F8A;AL # TIBETAN SIGN GRU CAN RGYINGS
-0F8B;AL # TIBETAN SIGN GRU MED RGYINGS
-0F90;CM # TIBETAN SUBJOINED LETTER KA
-0F91;CM # TIBETAN SUBJOINED LETTER KHA
-0F92;CM # TIBETAN SUBJOINED LETTER GA
-0F93;CM # TIBETAN SUBJOINED LETTER GHA
-0F94;CM # TIBETAN SUBJOINED LETTER NGA
-0F95;CM # TIBETAN SUBJOINED LETTER CA
-0F96;CM # TIBETAN SUBJOINED LETTER CHA
-0F97;CM # TIBETAN SUBJOINED LETTER JA
-0F99;CM # TIBETAN SUBJOINED LETTER NYA
-0F9A;CM # TIBETAN SUBJOINED LETTER TTA
-0F9B;CM # TIBETAN SUBJOINED LETTER TTHA
-0F9C;CM # TIBETAN SUBJOINED LETTER DDA
-0F9D;CM # TIBETAN SUBJOINED LETTER DDHA
-0F9E;CM # TIBETAN SUBJOINED LETTER NNA
-0F9F;CM # TIBETAN SUBJOINED LETTER TA
-0FA0;CM # TIBETAN SUBJOINED LETTER THA
-0FA1;CM # TIBETAN SUBJOINED LETTER DA
-0FA2;CM # TIBETAN SUBJOINED LETTER DHA
-0FA3;CM # TIBETAN SUBJOINED LETTER NA
-0FA4;CM # TIBETAN SUBJOINED LETTER PA
-0FA5;CM # TIBETAN SUBJOINED LETTER PHA
-0FA6;CM # TIBETAN SUBJOINED LETTER BA
-0FA7;CM # TIBETAN SUBJOINED LETTER BHA
-0FA8;CM # TIBETAN SUBJOINED LETTER MA
-0FA9;CM # TIBETAN SUBJOINED LETTER TSA
-0FAA;CM # TIBETAN SUBJOINED LETTER TSHA
-0FAB;CM # TIBETAN SUBJOINED LETTER DZA
-0FAC;CM # TIBETAN SUBJOINED LETTER DZHA
-0FAD;CM # TIBETAN SUBJOINED LETTER WA
-0FAE;CM # TIBETAN SUBJOINED LETTER ZHA
-0FAF;CM # TIBETAN SUBJOINED LETTER ZA
-0FB0;CM # TIBETAN SUBJOINED LETTER -A
-0FB1;CM # TIBETAN SUBJOINED LETTER YA
-0FB2;CM # TIBETAN SUBJOINED LETTER RA
-0FB3;CM # TIBETAN SUBJOINED LETTER LA
-0FB4;CM # TIBETAN SUBJOINED LETTER SHA
-0FB5;CM # TIBETAN SUBJOINED LETTER SSA
-0FB6;CM # TIBETAN SUBJOINED LETTER SA
-0FB7;CM # TIBETAN SUBJOINED LETTER HA
-0FB8;CM # TIBETAN SUBJOINED LETTER A
-0FB9;CM # TIBETAN SUBJOINED LETTER KSSA
-0FBA;CM # TIBETAN SUBJOINED LETTER FIXED-FORM WA
-0FBB;CM # TIBETAN SUBJOINED LETTER FIXED-FORM YA
-0FBC;CM # TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE;BA # TIBETAN KU RU KHA
-0FBF;BA # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0;AL # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1;AL # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2;AL # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3;AL # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4;AL # TIBETAN SYMBOL DRIL BU
-0FC5;AL # TIBETAN SYMBOL RDO RJE
-0FC6;CM # TIBETAN SYMBOL PADMA GDAN
-0FC7;AL # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8;AL # TIBETAN SYMBOL PHUR PA
-0FC9;AL # TIBETAN SYMBOL NOR BU
-0FCA;AL # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB;AL # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC;AL # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE;AL # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF;AL # TIBETAN SIGN RDEL NAG GSUM
-0FD0;BB # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1;BB # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2;BA # TIBETAN MARK NYIS TSHEG
-0FD3;BB # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4;AL # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5;AL # RIGHT-FACING SVASTI SIGN
-0FD6;AL # LEFT-FACING SVASTI SIGN
-0FD7;AL # RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8;AL # LEFT-FACING SVASTI SIGN WITH DOTS
-1000;SA # MYANMAR LETTER KA
-1001;SA # MYANMAR LETTER KHA
-1002;SA # MYANMAR LETTER GA
-1003;SA # MYANMAR LETTER GHA
-1004;SA # MYANMAR LETTER NGA
-1005;SA # MYANMAR LETTER CA
-1006;SA # MYANMAR LETTER CHA
-1007;SA # MYANMAR LETTER JA
-1008;SA # MYANMAR LETTER JHA
-1009;SA # MYANMAR LETTER NYA
-100A;SA # MYANMAR LETTER NNYA
-100B;SA # MYANMAR LETTER TTA
-100C;SA # MYANMAR LETTER TTHA
-100D;SA # MYANMAR LETTER DDA
-100E;SA # MYANMAR LETTER DDHA
-100F;SA # MYANMAR LETTER NNA
-1010;SA # MYANMAR LETTER TA
-1011;SA # MYANMAR LETTER THA
-1012;SA # MYANMAR LETTER DA
-1013;SA # MYANMAR LETTER DHA
-1014;SA # MYANMAR LETTER NA
-1015;SA # MYANMAR LETTER PA
-1016;SA # MYANMAR LETTER PHA
-1017;SA # MYANMAR LETTER BA
-1018;SA # MYANMAR LETTER BHA
-1019;SA # MYANMAR LETTER MA
-101A;SA # MYANMAR LETTER YA
-101B;SA # MYANMAR LETTER RA
-101C;SA # MYANMAR LETTER LA
-101D;SA # MYANMAR LETTER WA
-101E;SA # MYANMAR LETTER SA
-101F;SA # MYANMAR LETTER HA
-1020;SA # MYANMAR LETTER LLA
-1021;SA # MYANMAR LETTER A
-1022;SA # MYANMAR LETTER SHAN A
-1023;SA # MYANMAR LETTER I
-1024;SA # MYANMAR LETTER II
-1025;SA # MYANMAR LETTER U
-1026;SA # MYANMAR LETTER UU
-1027;SA # MYANMAR LETTER E
-1028;SA # MYANMAR LETTER MON E
-1029;SA # MYANMAR LETTER O
-102A;SA # MYANMAR LETTER AU
-102B;SA # MYANMAR VOWEL SIGN TALL AA
-102C;SA # MYANMAR VOWEL SIGN AA
-102D;SA # MYANMAR VOWEL SIGN I
-102E;SA # MYANMAR VOWEL SIGN II
-102F;SA # MYANMAR VOWEL SIGN U
-1030;SA # MYANMAR VOWEL SIGN UU
-1031;SA # MYANMAR VOWEL SIGN E
-1032;SA # MYANMAR VOWEL SIGN AI
-1033;SA # MYANMAR VOWEL SIGN MON II
-1034;SA # MYANMAR VOWEL SIGN MON O
-1035;SA # MYANMAR VOWEL SIGN E ABOVE
-1036;SA # MYANMAR SIGN ANUSVARA
-1037;SA # MYANMAR SIGN DOT BELOW
-1038;SA # MYANMAR SIGN VISARGA
-1039;SA # MYANMAR SIGN VIRAMA
-103A;SA # MYANMAR SIGN ASAT
-103B;SA # MYANMAR CONSONANT SIGN MEDIAL YA
-103C;SA # MYANMAR CONSONANT SIGN MEDIAL RA
-103D;SA # MYANMAR CONSONANT SIGN MEDIAL WA
-103E;SA # MYANMAR CONSONANT SIGN MEDIAL HA
-103F;SA # MYANMAR LETTER GREAT SA
-1040;NU # MYANMAR DIGIT ZERO
-1041;NU # MYANMAR DIGIT ONE
-1042;NU # MYANMAR DIGIT TWO
-1043;NU # MYANMAR DIGIT THREE
-1044;NU # MYANMAR DIGIT FOUR
-1045;NU # MYANMAR DIGIT FIVE
-1046;NU # MYANMAR DIGIT SIX
-1047;NU # MYANMAR DIGIT SEVEN
-1048;NU # MYANMAR DIGIT EIGHT
-1049;NU # MYANMAR DIGIT NINE
-104A;BA # MYANMAR SIGN LITTLE SECTION
-104B;BA # MYANMAR SIGN SECTION
-104C;AL # MYANMAR SYMBOL LOCATIVE
-104D;AL # MYANMAR SYMBOL COMPLETED
-104E;AL # MYANMAR SYMBOL AFOREMENTIONED
-104F;AL # MYANMAR SYMBOL GENITIVE
-1050;SA # MYANMAR LETTER SHA
-1051;SA # MYANMAR LETTER SSA
-1052;SA # MYANMAR LETTER VOCALIC R
-1053;SA # MYANMAR LETTER VOCALIC RR
-1054;SA # MYANMAR LETTER VOCALIC L
-1055;SA # MYANMAR LETTER VOCALIC LL
-1056;SA # MYANMAR VOWEL SIGN VOCALIC R
-1057;SA # MYANMAR VOWEL SIGN VOCALIC RR
-1058;SA # MYANMAR VOWEL SIGN VOCALIC L
-1059;SA # MYANMAR VOWEL SIGN VOCALIC LL
-105A;SA # MYANMAR LETTER MON NGA
-105B;SA # MYANMAR LETTER MON JHA
-105C;SA # MYANMAR LETTER MON BBA
-105D;SA # MYANMAR LETTER MON BBE
-105E;SA # MYANMAR CONSONANT SIGN MON MEDIAL NA
-105F;SA # MYANMAR CONSONANT SIGN MON MEDIAL MA
-1060;SA # MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061;SA # MYANMAR LETTER SGAW KAREN SHA
-1062;SA # MYANMAR VOWEL SIGN SGAW KAREN EU
-1063;SA # MYANMAR TONE MARK SGAW KAREN HATHI
-1064;SA # MYANMAR TONE MARK SGAW KAREN KE PHO
-1065;SA # MYANMAR LETTER WESTERN PWO KAREN THA
-1066;SA # MYANMAR LETTER WESTERN PWO KAREN PWA
-1067;SA # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068;SA # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1069;SA # MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A;SA # MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B;SA # MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C;SA # MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D;SA # MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E;SA # MYANMAR LETTER EASTERN PWO KAREN NNA
-106F;SA # MYANMAR LETTER EASTERN PWO KAREN YWA
-1070;SA # MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071;SA # MYANMAR VOWEL SIGN GEBA KAREN I
-1072;SA # MYANMAR VOWEL SIGN KAYAH OE
-1073;SA # MYANMAR VOWEL SIGN KAYAH U
-1074;SA # MYANMAR VOWEL SIGN KAYAH EE
-1075;SA # MYANMAR LETTER SHAN KA
-1076;SA # MYANMAR LETTER SHAN KHA
-1077;SA # MYANMAR LETTER SHAN GA
-1078;SA # MYANMAR LETTER SHAN CA
-1079;SA # MYANMAR LETTER SHAN ZA
-107A;SA # MYANMAR LETTER SHAN NYA
-107B;SA # MYANMAR LETTER SHAN DA
-107C;SA # MYANMAR LETTER SHAN NA
-107D;SA # MYANMAR LETTER SHAN PHA
-107E;SA # MYANMAR LETTER SHAN FA
-107F;SA # MYANMAR LETTER SHAN BA
-1080;SA # MYANMAR LETTER SHAN THA
-1081;SA # MYANMAR LETTER SHAN HA
-1082;SA # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083;SA # MYANMAR VOWEL SIGN SHAN AA
-1084;SA # MYANMAR VOWEL SIGN SHAN E
-1085;SA # MYANMAR VOWEL SIGN SHAN E ABOVE
-1086;SA # MYANMAR VOWEL SIGN SHAN FINAL Y
-1087;SA # MYANMAR SIGN SHAN TONE-2
-1088;SA # MYANMAR SIGN SHAN TONE-3
-1089;SA # MYANMAR SIGN SHAN TONE-5
-108A;SA # MYANMAR SIGN SHAN TONE-6
-108B;SA # MYANMAR SIGN SHAN COUNCIL TONE-2
-108C;SA # MYANMAR SIGN SHAN COUNCIL TONE-3
-108D;SA # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E;SA # MYANMAR LETTER RUMAI PALAUNG FA
-108F;SA # MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090;NU # MYANMAR SHAN DIGIT ZERO
-1091;NU # MYANMAR SHAN DIGIT ONE
-1092;NU # MYANMAR SHAN DIGIT TWO
-1093;NU # MYANMAR SHAN DIGIT THREE
-1094;NU # MYANMAR SHAN DIGIT FOUR
-1095;NU # MYANMAR SHAN DIGIT FIVE
-1096;NU # MYANMAR SHAN DIGIT SIX
-1097;NU # MYANMAR SHAN DIGIT SEVEN
-1098;NU # MYANMAR SHAN DIGIT EIGHT
-1099;NU # MYANMAR SHAN DIGIT NINE
-109A;SA # MYANMAR SIGN KHAMTI TONE-1
-109B;SA # MYANMAR SIGN KHAMTI TONE-3
-109C;SA # MYANMAR VOWEL SIGN AITON A
-109D;SA # MYANMAR VOWEL SIGN AITON AI
-109E;SA # MYANMAR SYMBOL SHAN ONE
-109F;SA # MYANMAR SYMBOL SHAN EXCLAMATION
-10A0;AL # GEORGIAN CAPITAL LETTER AN
-10A1;AL # GEORGIAN CAPITAL LETTER BAN
-10A2;AL # GEORGIAN CAPITAL LETTER GAN
-10A3;AL # GEORGIAN CAPITAL LETTER DON
-10A4;AL # GEORGIAN CAPITAL LETTER EN
-10A5;AL # GEORGIAN CAPITAL LETTER VIN
-10A6;AL # GEORGIAN CAPITAL LETTER ZEN
-10A7;AL # GEORGIAN CAPITAL LETTER TAN
-10A8;AL # GEORGIAN CAPITAL LETTER IN
-10A9;AL # GEORGIAN CAPITAL LETTER KAN
-10AA;AL # GEORGIAN CAPITAL LETTER LAS
-10AB;AL # GEORGIAN CAPITAL LETTER MAN
-10AC;AL # GEORGIAN CAPITAL LETTER NAR
-10AD;AL # GEORGIAN CAPITAL LETTER ON
-10AE;AL # GEORGIAN CAPITAL LETTER PAR
-10AF;AL # GEORGIAN CAPITAL LETTER ZHAR
-10B0;AL # GEORGIAN CAPITAL LETTER RAE
-10B1;AL # GEORGIAN CAPITAL LETTER SAN
-10B2;AL # GEORGIAN CAPITAL LETTER TAR
-10B3;AL # GEORGIAN CAPITAL LETTER UN
-10B4;AL # GEORGIAN CAPITAL LETTER PHAR
-10B5;AL # GEORGIAN CAPITAL LETTER KHAR
-10B6;AL # GEORGIAN CAPITAL LETTER GHAN
-10B7;AL # GEORGIAN CAPITAL LETTER QAR
-10B8;AL # GEORGIAN CAPITAL LETTER SHIN
-10B9;AL # GEORGIAN CAPITAL LETTER CHIN
-10BA;AL # GEORGIAN CAPITAL LETTER CAN
-10BB;AL # GEORGIAN CAPITAL LETTER JIL
-10BC;AL # GEORGIAN CAPITAL LETTER CIL
-10BD;AL # GEORGIAN CAPITAL LETTER CHAR
-10BE;AL # GEORGIAN CAPITAL LETTER XAN
-10BF;AL # GEORGIAN CAPITAL LETTER JHAN
-10C0;AL # GEORGIAN CAPITAL LETTER HAE
-10C1;AL # GEORGIAN CAPITAL LETTER HE
-10C2;AL # GEORGIAN CAPITAL LETTER HIE
-10C3;AL # GEORGIAN CAPITAL LETTER WE
-10C4;AL # GEORGIAN CAPITAL LETTER HAR
-10C5;AL # GEORGIAN CAPITAL LETTER HOE
-10D0;AL # GEORGIAN LETTER AN
-10D1;AL # GEORGIAN LETTER BAN
-10D2;AL # GEORGIAN LETTER GAN
-10D3;AL # GEORGIAN LETTER DON
-10D4;AL # GEORGIAN LETTER EN
-10D5;AL # GEORGIAN LETTER VIN
-10D6;AL # GEORGIAN LETTER ZEN
-10D7;AL # GEORGIAN LETTER TAN
-10D8;AL # GEORGIAN LETTER IN
-10D9;AL # GEORGIAN LETTER KAN
-10DA;AL # GEORGIAN LETTER LAS
-10DB;AL # GEORGIAN LETTER MAN
-10DC;AL # GEORGIAN LETTER NAR
-10DD;AL # GEORGIAN LETTER ON
-10DE;AL # GEORGIAN LETTER PAR
-10DF;AL # GEORGIAN LETTER ZHAR
-10E0;AL # GEORGIAN LETTER RAE
-10E1;AL # GEORGIAN LETTER SAN
-10E2;AL # GEORGIAN LETTER TAR
-10E3;AL # GEORGIAN LETTER UN
-10E4;AL # GEORGIAN LETTER PHAR
-10E5;AL # GEORGIAN LETTER KHAR
-10E6;AL # GEORGIAN LETTER GHAN
-10E7;AL # GEORGIAN LETTER QAR
-10E8;AL # GEORGIAN LETTER SHIN
-10E9;AL # GEORGIAN LETTER CHIN
-10EA;AL # GEORGIAN LETTER CAN
-10EB;AL # GEORGIAN LETTER JIL
-10EC;AL # GEORGIAN LETTER CIL
-10ED;AL # GEORGIAN LETTER CHAR
-10EE;AL # GEORGIAN LETTER XAN
-10EF;AL # GEORGIAN LETTER JHAN
-10F0;AL # GEORGIAN LETTER HAE
-10F1;AL # GEORGIAN LETTER HE
-10F2;AL # GEORGIAN LETTER HIE
-10F3;AL # GEORGIAN LETTER WE
-10F4;AL # GEORGIAN LETTER HAR
-10F5;AL # GEORGIAN LETTER HOE
-10F6;AL # GEORGIAN LETTER FI
-10F7;AL # GEORGIAN LETTER YN
-10F8;AL # GEORGIAN LETTER ELIFI
-10F9;AL # GEORGIAN LETTER TURNED GAN
-10FA;AL # GEORGIAN LETTER AIN
-10FB;AL # GEORGIAN PARAGRAPH SEPARATOR
-10FC;AL # MODIFIER LETTER GEORGIAN NAR
-1100;JL # HANGUL CHOSEONG KIYEOK
-1101;JL # HANGUL CHOSEONG SSANGKIYEOK
-1102;JL # HANGUL CHOSEONG NIEUN
-1103;JL # HANGUL CHOSEONG TIKEUT
-1104;JL # HANGUL CHOSEONG SSANGTIKEUT
-1105;JL # HANGUL CHOSEONG RIEUL
-1106;JL # HANGUL CHOSEONG MIEUM
-1107;JL # HANGUL CHOSEONG PIEUP
-1108;JL # HANGUL CHOSEONG SSANGPIEUP
-1109;JL # HANGUL CHOSEONG SIOS
-110A;JL # HANGUL CHOSEONG SSANGSIOS
-110B;JL # HANGUL CHOSEONG IEUNG
-110C;JL # HANGUL CHOSEONG CIEUC
-110D;JL # HANGUL CHOSEONG SSANGCIEUC
-110E;JL # HANGUL CHOSEONG CHIEUCH
-110F;JL # HANGUL CHOSEONG KHIEUKH
-1110;JL # HANGUL CHOSEONG THIEUTH
-1111;JL # HANGUL CHOSEONG PHIEUPH
-1112;JL # HANGUL CHOSEONG HIEUH
-1113;JL # HANGUL CHOSEONG NIEUN-KIYEOK
-1114;JL # HANGUL CHOSEONG SSANGNIEUN
-1115;JL # HANGUL CHOSEONG NIEUN-TIKEUT
-1116;JL # HANGUL CHOSEONG NIEUN-PIEUP
-1117;JL # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118;JL # HANGUL CHOSEONG RIEUL-NIEUN
-1119;JL # HANGUL CHOSEONG SSANGRIEUL
-111A;JL # HANGUL CHOSEONG RIEUL-HIEUH
-111B;JL # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C;JL # HANGUL CHOSEONG MIEUM-PIEUP
-111D;JL # HANGUL CHOSEONG KAPYEOUNMIEUM
-111E;JL # HANGUL CHOSEONG PIEUP-KIYEOK
-111F;JL # HANGUL CHOSEONG PIEUP-NIEUN
-1120;JL # HANGUL CHOSEONG PIEUP-TIKEUT
-1121;JL # HANGUL CHOSEONG PIEUP-SIOS
-1122;JL # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-1123;JL # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-1124;JL # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125;JL # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126;JL # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127;JL # HANGUL CHOSEONG PIEUP-CIEUC
-1128;JL # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129;JL # HANGUL CHOSEONG PIEUP-THIEUTH
-112A;JL # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B;JL # HANGUL CHOSEONG KAPYEOUNPIEUP
-112C;JL # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-112D;JL # HANGUL CHOSEONG SIOS-KIYEOK
-112E;JL # HANGUL CHOSEONG SIOS-NIEUN
-112F;JL # HANGUL CHOSEONG SIOS-TIKEUT
-1130;JL # HANGUL CHOSEONG SIOS-RIEUL
-1131;JL # HANGUL CHOSEONG SIOS-MIEUM
-1132;JL # HANGUL CHOSEONG SIOS-PIEUP
-1133;JL # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134;JL # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135;JL # HANGUL CHOSEONG SIOS-IEUNG
-1136;JL # HANGUL CHOSEONG SIOS-CIEUC
-1137;JL # HANGUL CHOSEONG SIOS-CHIEUCH
-1138;JL # HANGUL CHOSEONG SIOS-KHIEUKH
-1139;JL # HANGUL CHOSEONG SIOS-THIEUTH
-113A;JL # HANGUL CHOSEONG SIOS-PHIEUPH
-113B;JL # HANGUL CHOSEONG SIOS-HIEUH
-113C;JL # HANGUL CHOSEONG CHITUEUMSIOS
-113D;JL # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E;JL # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F;JL # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140;JL # HANGUL CHOSEONG PANSIOS
-1141;JL # HANGUL CHOSEONG IEUNG-KIYEOK
-1142;JL # HANGUL CHOSEONG IEUNG-TIKEUT
-1143;JL # HANGUL CHOSEONG IEUNG-MIEUM
-1144;JL # HANGUL CHOSEONG IEUNG-PIEUP
-1145;JL # HANGUL CHOSEONG IEUNG-SIOS
-1146;JL # HANGUL CHOSEONG IEUNG-PANSIOS
-1147;JL # HANGUL CHOSEONG SSANGIEUNG
-1148;JL # HANGUL CHOSEONG IEUNG-CIEUC
-1149;JL # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A;JL # HANGUL CHOSEONG IEUNG-THIEUTH
-114B;JL # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C;JL # HANGUL CHOSEONG YESIEUNG
-114D;JL # HANGUL CHOSEONG CIEUC-IEUNG
-114E;JL # HANGUL CHOSEONG CHITUEUMCIEUC
-114F;JL # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150;JL # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151;JL # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152;JL # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153;JL # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154;JL # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155;JL # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156;JL # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157;JL # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-1158;JL # HANGUL CHOSEONG SSANGHIEUH
-1159;JL # HANGUL CHOSEONG YEORINHIEUH
-115A;JL # HANGUL CHOSEONG KIYEOK-TIKEUT
-115B;JL # HANGUL CHOSEONG NIEUN-SIOS
-115C;JL # HANGUL CHOSEONG NIEUN-CIEUC
-115D;JL # HANGUL CHOSEONG NIEUN-HIEUH
-115E;JL # HANGUL CHOSEONG TIKEUT-RIEUL
-115F;JL # HANGUL CHOSEONG FILLER
-1160;JV # HANGUL JUNGSEONG FILLER
-1161;JV # HANGUL JUNGSEONG A
-1162;JV # HANGUL JUNGSEONG AE
-1163;JV # HANGUL JUNGSEONG YA
-1164;JV # HANGUL JUNGSEONG YAE
-1165;JV # HANGUL JUNGSEONG EO
-1166;JV # HANGUL JUNGSEONG E
-1167;JV # HANGUL JUNGSEONG YEO
-1168;JV # HANGUL JUNGSEONG YE
-1169;JV # HANGUL JUNGSEONG O
-116A;JV # HANGUL JUNGSEONG WA
-116B;JV # HANGUL JUNGSEONG WAE
-116C;JV # HANGUL JUNGSEONG OE
-116D;JV # HANGUL JUNGSEONG YO
-116E;JV # HANGUL JUNGSEONG U
-116F;JV # HANGUL JUNGSEONG WEO
-1170;JV # HANGUL JUNGSEONG WE
-1171;JV # HANGUL JUNGSEONG WI
-1172;JV # HANGUL JUNGSEONG YU
-1173;JV # HANGUL JUNGSEONG EU
-1174;JV # HANGUL JUNGSEONG YI
-1175;JV # HANGUL JUNGSEONG I
-1176;JV # HANGUL JUNGSEONG A-O
-1177;JV # HANGUL JUNGSEONG A-U
-1178;JV # HANGUL JUNGSEONG YA-O
-1179;JV # HANGUL JUNGSEONG YA-YO
-117A;JV # HANGUL JUNGSEONG EO-O
-117B;JV # HANGUL JUNGSEONG EO-U
-117C;JV # HANGUL JUNGSEONG EO-EU
-117D;JV # HANGUL JUNGSEONG YEO-O
-117E;JV # HANGUL JUNGSEONG YEO-U
-117F;JV # HANGUL JUNGSEONG O-EO
-1180;JV # HANGUL JUNGSEONG O-E
-1181;JV # HANGUL JUNGSEONG O-YE
-1182;JV # HANGUL JUNGSEONG O-O
-1183;JV # HANGUL JUNGSEONG O-U
-1184;JV # HANGUL JUNGSEONG YO-YA
-1185;JV # HANGUL JUNGSEONG YO-YAE
-1186;JV # HANGUL JUNGSEONG YO-YEO
-1187;JV # HANGUL JUNGSEONG YO-O
-1188;JV # HANGUL JUNGSEONG YO-I
-1189;JV # HANGUL JUNGSEONG U-A
-118A;JV # HANGUL JUNGSEONG U-AE
-118B;JV # HANGUL JUNGSEONG U-EO-EU
-118C;JV # HANGUL JUNGSEONG U-YE
-118D;JV # HANGUL JUNGSEONG U-U
-118E;JV # HANGUL JUNGSEONG YU-A
-118F;JV # HANGUL JUNGSEONG YU-EO
-1190;JV # HANGUL JUNGSEONG YU-E
-1191;JV # HANGUL JUNGSEONG YU-YEO
-1192;JV # HANGUL JUNGSEONG YU-YE
-1193;JV # HANGUL JUNGSEONG YU-U
-1194;JV # HANGUL JUNGSEONG YU-I
-1195;JV # HANGUL JUNGSEONG EU-U
-1196;JV # HANGUL JUNGSEONG EU-EU
-1197;JV # HANGUL JUNGSEONG YI-U
-1198;JV # HANGUL JUNGSEONG I-A
-1199;JV # HANGUL JUNGSEONG I-YA
-119A;JV # HANGUL JUNGSEONG I-O
-119B;JV # HANGUL JUNGSEONG I-U
-119C;JV # HANGUL JUNGSEONG I-EU
-119D;JV # HANGUL JUNGSEONG I-ARAEA
-119E;JV # HANGUL JUNGSEONG ARAEA
-119F;JV # HANGUL JUNGSEONG ARAEA-EO
-11A0;JV # HANGUL JUNGSEONG ARAEA-U
-11A1;JV # HANGUL JUNGSEONG ARAEA-I
-11A2;JV # HANGUL JUNGSEONG SSANGARAEA
-11A3;JV # HANGUL JUNGSEONG A-EU
-11A4;JV # HANGUL JUNGSEONG YA-U
-11A5;JV # HANGUL JUNGSEONG YEO-YA
-11A6;JV # HANGUL JUNGSEONG O-YA
-11A7;JV # HANGUL JUNGSEONG O-YAE
-11A8;JT # HANGUL JONGSEONG KIYEOK
-11A9;JT # HANGUL JONGSEONG SSANGKIYEOK
-11AA;JT # HANGUL JONGSEONG KIYEOK-SIOS
-11AB;JT # HANGUL JONGSEONG NIEUN
-11AC;JT # HANGUL JONGSEONG NIEUN-CIEUC
-11AD;JT # HANGUL JONGSEONG NIEUN-HIEUH
-11AE;JT # HANGUL JONGSEONG TIKEUT
-11AF;JT # HANGUL JONGSEONG RIEUL
-11B0;JT # HANGUL JONGSEONG RIEUL-KIYEOK
-11B1;JT # HANGUL JONGSEONG RIEUL-MIEUM
-11B2;JT # HANGUL JONGSEONG RIEUL-PIEUP
-11B3;JT # HANGUL JONGSEONG RIEUL-SIOS
-11B4;JT # HANGUL JONGSEONG RIEUL-THIEUTH
-11B5;JT # HANGUL JONGSEONG RIEUL-PHIEUPH
-11B6;JT # HANGUL JONGSEONG RIEUL-HIEUH
-11B7;JT # HANGUL JONGSEONG MIEUM
-11B8;JT # HANGUL JONGSEONG PIEUP
-11B9;JT # HANGUL JONGSEONG PIEUP-SIOS
-11BA;JT # HANGUL JONGSEONG SIOS
-11BB;JT # HANGUL JONGSEONG SSANGSIOS
-11BC;JT # HANGUL JONGSEONG IEUNG
-11BD;JT # HANGUL JONGSEONG CIEUC
-11BE;JT # HANGUL JONGSEONG CHIEUCH
-11BF;JT # HANGUL JONGSEONG KHIEUKH
-11C0;JT # HANGUL JONGSEONG THIEUTH
-11C1;JT # HANGUL JONGSEONG PHIEUPH
-11C2;JT # HANGUL JONGSEONG HIEUH
-11C3;JT # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4;JT # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5;JT # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6;JT # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7;JT # HANGUL JONGSEONG NIEUN-SIOS
-11C8;JT # HANGUL JONGSEONG NIEUN-PANSIOS
-11C9;JT # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA;JT # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB;JT # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC;JT # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-11CD;JT # HANGUL JONGSEONG RIEUL-NIEUN
-11CE;JT # HANGUL JONGSEONG RIEUL-TIKEUT
-11CF;JT # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0;JT # HANGUL JONGSEONG SSANGRIEUL
-11D1;JT # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2;JT # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3;JT # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-11D4;JT # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5;JT # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6;JT # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7;JT # HANGUL JONGSEONG RIEUL-PANSIOS
-11D8;JT # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9;JT # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-11DA;JT # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB;JT # HANGUL JONGSEONG MIEUM-RIEUL
-11DC;JT # HANGUL JONGSEONG MIEUM-PIEUP
-11DD;JT # HANGUL JONGSEONG MIEUM-SIOS
-11DE;JT # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF;JT # HANGUL JONGSEONG MIEUM-PANSIOS
-11E0;JT # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1;JT # HANGUL JONGSEONG MIEUM-HIEUH
-11E2;JT # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3;JT # HANGUL JONGSEONG PIEUP-RIEUL
-11E4;JT # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5;JT # HANGUL JONGSEONG PIEUP-HIEUH
-11E6;JT # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7;JT # HANGUL JONGSEONG SIOS-KIYEOK
-11E8;JT # HANGUL JONGSEONG SIOS-TIKEUT
-11E9;JT # HANGUL JONGSEONG SIOS-RIEUL
-11EA;JT # HANGUL JONGSEONG SIOS-PIEUP
-11EB;JT # HANGUL JONGSEONG PANSIOS
-11EC;JT # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED;JT # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE;JT # HANGUL JONGSEONG SSANGIEUNG
-11EF;JT # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0;JT # HANGUL JONGSEONG YESIEUNG
-11F1;JT # HANGUL JONGSEONG YESIEUNG-SIOS
-11F2;JT # HANGUL JONGSEONG YESIEUNG-PANSIOS
-11F3;JT # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4;JT # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5;JT # HANGUL JONGSEONG HIEUH-NIEUN
-11F6;JT # HANGUL JONGSEONG HIEUH-RIEUL
-11F7;JT # HANGUL JONGSEONG HIEUH-MIEUM
-11F8;JT # HANGUL JONGSEONG HIEUH-PIEUP
-11F9;JT # HANGUL JONGSEONG YEORINHIEUH
-11FA;JT # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB;JT # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC;JT # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD;JT # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE;JT # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF;JT # HANGUL JONGSEONG SSANGNIEUN
-1200;AL # ETHIOPIC SYLLABLE HA
-1201;AL # ETHIOPIC SYLLABLE HU
-1202;AL # ETHIOPIC SYLLABLE HI
-1203;AL # ETHIOPIC SYLLABLE HAA
-1204;AL # ETHIOPIC SYLLABLE HEE
-1205;AL # ETHIOPIC SYLLABLE HE
-1206;AL # ETHIOPIC SYLLABLE HO
-1207;AL # ETHIOPIC SYLLABLE HOA
-1208;AL # ETHIOPIC SYLLABLE LA
-1209;AL # ETHIOPIC SYLLABLE LU
-120A;AL # ETHIOPIC SYLLABLE LI
-120B;AL # ETHIOPIC SYLLABLE LAA
-120C;AL # ETHIOPIC SYLLABLE LEE
-120D;AL # ETHIOPIC SYLLABLE LE
-120E;AL # ETHIOPIC SYLLABLE LO
-120F;AL # ETHIOPIC SYLLABLE LWA
-1210;AL # ETHIOPIC SYLLABLE HHA
-1211;AL # ETHIOPIC SYLLABLE HHU
-1212;AL # ETHIOPIC SYLLABLE HHI
-1213;AL # ETHIOPIC SYLLABLE HHAA
-1214;AL # ETHIOPIC SYLLABLE HHEE
-1215;AL # ETHIOPIC SYLLABLE HHE
-1216;AL # ETHIOPIC SYLLABLE HHO
-1217;AL # ETHIOPIC SYLLABLE HHWA
-1218;AL # ETHIOPIC SYLLABLE MA
-1219;AL # ETHIOPIC SYLLABLE MU
-121A;AL # ETHIOPIC SYLLABLE MI
-121B;AL # ETHIOPIC SYLLABLE MAA
-121C;AL # ETHIOPIC SYLLABLE MEE
-121D;AL # ETHIOPIC SYLLABLE ME
-121E;AL # ETHIOPIC SYLLABLE MO
-121F;AL # ETHIOPIC SYLLABLE MWA
-1220;AL # ETHIOPIC SYLLABLE SZA
-1221;AL # ETHIOPIC SYLLABLE SZU
-1222;AL # ETHIOPIC SYLLABLE SZI
-1223;AL # ETHIOPIC SYLLABLE SZAA
-1224;AL # ETHIOPIC SYLLABLE SZEE
-1225;AL # ETHIOPIC SYLLABLE SZE
-1226;AL # ETHIOPIC SYLLABLE SZO
-1227;AL # ETHIOPIC SYLLABLE SZWA
-1228;AL # ETHIOPIC SYLLABLE RA
-1229;AL # ETHIOPIC SYLLABLE RU
-122A;AL # ETHIOPIC SYLLABLE RI
-122B;AL # ETHIOPIC SYLLABLE RAA
-122C;AL # ETHIOPIC SYLLABLE REE
-122D;AL # ETHIOPIC SYLLABLE RE
-122E;AL # ETHIOPIC SYLLABLE RO
-122F;AL # ETHIOPIC SYLLABLE RWA
-1230;AL # ETHIOPIC SYLLABLE SA
-1231;AL # ETHIOPIC SYLLABLE SU
-1232;AL # ETHIOPIC SYLLABLE SI
-1233;AL # ETHIOPIC SYLLABLE SAA
-1234;AL # ETHIOPIC SYLLABLE SEE
-1235;AL # ETHIOPIC SYLLABLE SE
-1236;AL # ETHIOPIC SYLLABLE SO
-1237;AL # ETHIOPIC SYLLABLE SWA
-1238;AL # ETHIOPIC SYLLABLE SHA
-1239;AL # ETHIOPIC SYLLABLE SHU
-123A;AL # ETHIOPIC SYLLABLE SHI
-123B;AL # ETHIOPIC SYLLABLE SHAA
-123C;AL # ETHIOPIC SYLLABLE SHEE
-123D;AL # ETHIOPIC SYLLABLE SHE
-123E;AL # ETHIOPIC SYLLABLE SHO
-123F;AL # ETHIOPIC SYLLABLE SHWA
-1240;AL # ETHIOPIC SYLLABLE QA
-1241;AL # ETHIOPIC SYLLABLE QU
-1242;AL # ETHIOPIC SYLLABLE QI
-1243;AL # ETHIOPIC SYLLABLE QAA
-1244;AL # ETHIOPIC SYLLABLE QEE
-1245;AL # ETHIOPIC SYLLABLE QE
-1246;AL # ETHIOPIC SYLLABLE QO
-1247;AL # ETHIOPIC SYLLABLE QOA
-1248;AL # ETHIOPIC SYLLABLE QWA
-124A;AL # ETHIOPIC SYLLABLE QWI
-124B;AL # ETHIOPIC SYLLABLE QWAA
-124C;AL # ETHIOPIC SYLLABLE QWEE
-124D;AL # ETHIOPIC SYLLABLE QWE
-1250;AL # ETHIOPIC SYLLABLE QHA
-1251;AL # ETHIOPIC SYLLABLE QHU
-1252;AL # ETHIOPIC SYLLABLE QHI
-1253;AL # ETHIOPIC SYLLABLE QHAA
-1254;AL # ETHIOPIC SYLLABLE QHEE
-1255;AL # ETHIOPIC SYLLABLE QHE
-1256;AL # ETHIOPIC SYLLABLE QHO
-1258;AL # ETHIOPIC SYLLABLE QHWA
-125A;AL # ETHIOPIC SYLLABLE QHWI
-125B;AL # ETHIOPIC SYLLABLE QHWAA
-125C;AL # ETHIOPIC SYLLABLE QHWEE
-125D;AL # ETHIOPIC SYLLABLE QHWE
-1260;AL # ETHIOPIC SYLLABLE BA
-1261;AL # ETHIOPIC SYLLABLE BU
-1262;AL # ETHIOPIC SYLLABLE BI
-1263;AL # ETHIOPIC SYLLABLE BAA
-1264;AL # ETHIOPIC SYLLABLE BEE
-1265;AL # ETHIOPIC SYLLABLE BE
-1266;AL # ETHIOPIC SYLLABLE BO
-1267;AL # ETHIOPIC SYLLABLE BWA
-1268;AL # ETHIOPIC SYLLABLE VA
-1269;AL # ETHIOPIC SYLLABLE VU
-126A;AL # ETHIOPIC SYLLABLE VI
-126B;AL # ETHIOPIC SYLLABLE VAA
-126C;AL # ETHIOPIC SYLLABLE VEE
-126D;AL # ETHIOPIC SYLLABLE VE
-126E;AL # ETHIOPIC SYLLABLE VO
-126F;AL # ETHIOPIC SYLLABLE VWA
-1270;AL # ETHIOPIC SYLLABLE TA
-1271;AL # ETHIOPIC SYLLABLE TU
-1272;AL # ETHIOPIC SYLLABLE TI
-1273;AL # ETHIOPIC SYLLABLE TAA
-1274;AL # ETHIOPIC SYLLABLE TEE
-1275;AL # ETHIOPIC SYLLABLE TE
-1276;AL # ETHIOPIC SYLLABLE TO
-1277;AL # ETHIOPIC SYLLABLE TWA
-1278;AL # ETHIOPIC SYLLABLE CA
-1279;AL # ETHIOPIC SYLLABLE CU
-127A;AL # ETHIOPIC SYLLABLE CI
-127B;AL # ETHIOPIC SYLLABLE CAA
-127C;AL # ETHIOPIC SYLLABLE CEE
-127D;AL # ETHIOPIC SYLLABLE CE
-127E;AL # ETHIOPIC SYLLABLE CO
-127F;AL # ETHIOPIC SYLLABLE CWA
-1280;AL # ETHIOPIC SYLLABLE XA
-1281;AL # ETHIOPIC SYLLABLE XU
-1282;AL # ETHIOPIC SYLLABLE XI
-1283;AL # ETHIOPIC SYLLABLE XAA
-1284;AL # ETHIOPIC SYLLABLE XEE
-1285;AL # ETHIOPIC SYLLABLE XE
-1286;AL # ETHIOPIC SYLLABLE XO
-1287;AL # ETHIOPIC SYLLABLE XOA
-1288;AL # ETHIOPIC SYLLABLE XWA
-128A;AL # ETHIOPIC SYLLABLE XWI
-128B;AL # ETHIOPIC SYLLABLE XWAA
-128C;AL # ETHIOPIC SYLLABLE XWEE
-128D;AL # ETHIOPIC SYLLABLE XWE
-1290;AL # ETHIOPIC SYLLABLE NA
-1291;AL # ETHIOPIC SYLLABLE NU
-1292;AL # ETHIOPIC SYLLABLE NI
-1293;AL # ETHIOPIC SYLLABLE NAA
-1294;AL # ETHIOPIC SYLLABLE NEE
-1295;AL # ETHIOPIC SYLLABLE NE
-1296;AL # ETHIOPIC SYLLABLE NO
-1297;AL # ETHIOPIC SYLLABLE NWA
-1298;AL # ETHIOPIC SYLLABLE NYA
-1299;AL # ETHIOPIC SYLLABLE NYU
-129A;AL # ETHIOPIC SYLLABLE NYI
-129B;AL # ETHIOPIC SYLLABLE NYAA
-129C;AL # ETHIOPIC SYLLABLE NYEE
-129D;AL # ETHIOPIC SYLLABLE NYE
-129E;AL # ETHIOPIC SYLLABLE NYO
-129F;AL # ETHIOPIC SYLLABLE NYWA
-12A0;AL # ETHIOPIC SYLLABLE GLOTTAL A
-12A1;AL # ETHIOPIC SYLLABLE GLOTTAL U
-12A2;AL # ETHIOPIC SYLLABLE GLOTTAL I
-12A3;AL # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4;AL # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5;AL # ETHIOPIC SYLLABLE GLOTTAL E
-12A6;AL # ETHIOPIC SYLLABLE GLOTTAL O
-12A7;AL # ETHIOPIC SYLLABLE GLOTTAL WA
-12A8;AL # ETHIOPIC SYLLABLE KA
-12A9;AL # ETHIOPIC SYLLABLE KU
-12AA;AL # ETHIOPIC SYLLABLE KI
-12AB;AL # ETHIOPIC SYLLABLE KAA
-12AC;AL # ETHIOPIC SYLLABLE KEE
-12AD;AL # ETHIOPIC SYLLABLE KE
-12AE;AL # ETHIOPIC SYLLABLE KO
-12AF;AL # ETHIOPIC SYLLABLE KOA
-12B0;AL # ETHIOPIC SYLLABLE KWA
-12B2;AL # ETHIOPIC SYLLABLE KWI
-12B3;AL # ETHIOPIC SYLLABLE KWAA
-12B4;AL # ETHIOPIC SYLLABLE KWEE
-12B5;AL # ETHIOPIC SYLLABLE KWE
-12B8;AL # ETHIOPIC SYLLABLE KXA
-12B9;AL # ETHIOPIC SYLLABLE KXU
-12BA;AL # ETHIOPIC SYLLABLE KXI
-12BB;AL # ETHIOPIC SYLLABLE KXAA
-12BC;AL # ETHIOPIC SYLLABLE KXEE
-12BD;AL # ETHIOPIC SYLLABLE KXE
-12BE;AL # ETHIOPIC SYLLABLE KXO
-12C0;AL # ETHIOPIC SYLLABLE KXWA
-12C2;AL # ETHIOPIC SYLLABLE KXWI
-12C3;AL # ETHIOPIC SYLLABLE KXWAA
-12C4;AL # ETHIOPIC SYLLABLE KXWEE
-12C5;AL # ETHIOPIC SYLLABLE KXWE
-12C8;AL # ETHIOPIC SYLLABLE WA
-12C9;AL # ETHIOPIC SYLLABLE WU
-12CA;AL # ETHIOPIC SYLLABLE WI
-12CB;AL # ETHIOPIC SYLLABLE WAA
-12CC;AL # ETHIOPIC SYLLABLE WEE
-12CD;AL # ETHIOPIC SYLLABLE WE
-12CE;AL # ETHIOPIC SYLLABLE WO
-12CF;AL # ETHIOPIC SYLLABLE WOA
-12D0;AL # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1;AL # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2;AL # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3;AL # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4;AL # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5;AL # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6;AL # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8;AL # ETHIOPIC SYLLABLE ZA
-12D9;AL # ETHIOPIC SYLLABLE ZU
-12DA;AL # ETHIOPIC SYLLABLE ZI
-12DB;AL # ETHIOPIC SYLLABLE ZAA
-12DC;AL # ETHIOPIC SYLLABLE ZEE
-12DD;AL # ETHIOPIC SYLLABLE ZE
-12DE;AL # ETHIOPIC SYLLABLE ZO
-12DF;AL # ETHIOPIC SYLLABLE ZWA
-12E0;AL # ETHIOPIC SYLLABLE ZHA
-12E1;AL # ETHIOPIC SYLLABLE ZHU
-12E2;AL # ETHIOPIC SYLLABLE ZHI
-12E3;AL # ETHIOPIC SYLLABLE ZHAA
-12E4;AL # ETHIOPIC SYLLABLE ZHEE
-12E5;AL # ETHIOPIC SYLLABLE ZHE
-12E6;AL # ETHIOPIC SYLLABLE ZHO
-12E7;AL # ETHIOPIC SYLLABLE ZHWA
-12E8;AL # ETHIOPIC SYLLABLE YA
-12E9;AL # ETHIOPIC SYLLABLE YU
-12EA;AL # ETHIOPIC SYLLABLE YI
-12EB;AL # ETHIOPIC SYLLABLE YAA
-12EC;AL # ETHIOPIC SYLLABLE YEE
-12ED;AL # ETHIOPIC SYLLABLE YE
-12EE;AL # ETHIOPIC SYLLABLE YO
-12EF;AL # ETHIOPIC SYLLABLE YOA
-12F0;AL # ETHIOPIC SYLLABLE DA
-12F1;AL # ETHIOPIC SYLLABLE DU
-12F2;AL # ETHIOPIC SYLLABLE DI
-12F3;AL # ETHIOPIC SYLLABLE DAA
-12F4;AL # ETHIOPIC SYLLABLE DEE
-12F5;AL # ETHIOPIC SYLLABLE DE
-12F6;AL # ETHIOPIC SYLLABLE DO
-12F7;AL # ETHIOPIC SYLLABLE DWA
-12F8;AL # ETHIOPIC SYLLABLE DDA
-12F9;AL # ETHIOPIC SYLLABLE DDU
-12FA;AL # ETHIOPIC SYLLABLE DDI
-12FB;AL # ETHIOPIC SYLLABLE DDAA
-12FC;AL # ETHIOPIC SYLLABLE DDEE
-12FD;AL # ETHIOPIC SYLLABLE DDE
-12FE;AL # ETHIOPIC SYLLABLE DDO
-12FF;AL # ETHIOPIC SYLLABLE DDWA
-1300;AL # ETHIOPIC SYLLABLE JA
-1301;AL # ETHIOPIC SYLLABLE JU
-1302;AL # ETHIOPIC SYLLABLE JI
-1303;AL # ETHIOPIC SYLLABLE JAA
-1304;AL # ETHIOPIC SYLLABLE JEE
-1305;AL # ETHIOPIC SYLLABLE JE
-1306;AL # ETHIOPIC SYLLABLE JO
-1307;AL # ETHIOPIC SYLLABLE JWA
-1308;AL # ETHIOPIC SYLLABLE GA
-1309;AL # ETHIOPIC SYLLABLE GU
-130A;AL # ETHIOPIC SYLLABLE GI
-130B;AL # ETHIOPIC SYLLABLE GAA
-130C;AL # ETHIOPIC SYLLABLE GEE
-130D;AL # ETHIOPIC SYLLABLE GE
-130E;AL # ETHIOPIC SYLLABLE GO
-130F;AL # ETHIOPIC SYLLABLE GOA
-1310;AL # ETHIOPIC SYLLABLE GWA
-1312;AL # ETHIOPIC SYLLABLE GWI
-1313;AL # ETHIOPIC SYLLABLE GWAA
-1314;AL # ETHIOPIC SYLLABLE GWEE
-1315;AL # ETHIOPIC SYLLABLE GWE
-1318;AL # ETHIOPIC SYLLABLE GGA
-1319;AL # ETHIOPIC SYLLABLE GGU
-131A;AL # ETHIOPIC SYLLABLE GGI
-131B;AL # ETHIOPIC SYLLABLE GGAA
-131C;AL # ETHIOPIC SYLLABLE GGEE
-131D;AL # ETHIOPIC SYLLABLE GGE
-131E;AL # ETHIOPIC SYLLABLE GGO
-131F;AL # ETHIOPIC SYLLABLE GGWAA
-1320;AL # ETHIOPIC SYLLABLE THA
-1321;AL # ETHIOPIC SYLLABLE THU
-1322;AL # ETHIOPIC SYLLABLE THI
-1323;AL # ETHIOPIC SYLLABLE THAA
-1324;AL # ETHIOPIC SYLLABLE THEE
-1325;AL # ETHIOPIC SYLLABLE THE
-1326;AL # ETHIOPIC SYLLABLE THO
-1327;AL # ETHIOPIC SYLLABLE THWA
-1328;AL # ETHIOPIC SYLLABLE CHA
-1329;AL # ETHIOPIC SYLLABLE CHU
-132A;AL # ETHIOPIC SYLLABLE CHI
-132B;AL # ETHIOPIC SYLLABLE CHAA
-132C;AL # ETHIOPIC SYLLABLE CHEE
-132D;AL # ETHIOPIC SYLLABLE CHE
-132E;AL # ETHIOPIC SYLLABLE CHO
-132F;AL # ETHIOPIC SYLLABLE CHWA
-1330;AL # ETHIOPIC SYLLABLE PHA
-1331;AL # ETHIOPIC SYLLABLE PHU
-1332;AL # ETHIOPIC SYLLABLE PHI
-1333;AL # ETHIOPIC SYLLABLE PHAA
-1334;AL # ETHIOPIC SYLLABLE PHEE
-1335;AL # ETHIOPIC SYLLABLE PHE
-1336;AL # ETHIOPIC SYLLABLE PHO
-1337;AL # ETHIOPIC SYLLABLE PHWA
-1338;AL # ETHIOPIC SYLLABLE TSA
-1339;AL # ETHIOPIC SYLLABLE TSU
-133A;AL # ETHIOPIC SYLLABLE TSI
-133B;AL # ETHIOPIC SYLLABLE TSAA
-133C;AL # ETHIOPIC SYLLABLE TSEE
-133D;AL # ETHIOPIC SYLLABLE TSE
-133E;AL # ETHIOPIC SYLLABLE TSO
-133F;AL # ETHIOPIC SYLLABLE TSWA
-1340;AL # ETHIOPIC SYLLABLE TZA
-1341;AL # ETHIOPIC SYLLABLE TZU
-1342;AL # ETHIOPIC SYLLABLE TZI
-1343;AL # ETHIOPIC SYLLABLE TZAA
-1344;AL # ETHIOPIC SYLLABLE TZEE
-1345;AL # ETHIOPIC SYLLABLE TZE
-1346;AL # ETHIOPIC SYLLABLE TZO
-1347;AL # ETHIOPIC SYLLABLE TZOA
-1348;AL # ETHIOPIC SYLLABLE FA
-1349;AL # ETHIOPIC SYLLABLE FU
-134A;AL # ETHIOPIC SYLLABLE FI
-134B;AL # ETHIOPIC SYLLABLE FAA
-134C;AL # ETHIOPIC SYLLABLE FEE
-134D;AL # ETHIOPIC SYLLABLE FE
-134E;AL # ETHIOPIC SYLLABLE FO
-134F;AL # ETHIOPIC SYLLABLE FWA
-1350;AL # ETHIOPIC SYLLABLE PA
-1351;AL # ETHIOPIC SYLLABLE PU
-1352;AL # ETHIOPIC SYLLABLE PI
-1353;AL # ETHIOPIC SYLLABLE PAA
-1354;AL # ETHIOPIC SYLLABLE PEE
-1355;AL # ETHIOPIC SYLLABLE PE
-1356;AL # ETHIOPIC SYLLABLE PO
-1357;AL # ETHIOPIC SYLLABLE PWA
-1358;AL # ETHIOPIC SYLLABLE RYA
-1359;AL # ETHIOPIC SYLLABLE MYA
-135A;AL # ETHIOPIC SYLLABLE FYA
-135F;CM # ETHIOPIC COMBINING GEMINATION MARK
-1360;AL # ETHIOPIC SECTION MARK
-1361;BA # ETHIOPIC WORDSPACE
-1362;AL # ETHIOPIC FULL STOP
-1363;AL # ETHIOPIC COMMA
-1364;AL # ETHIOPIC SEMICOLON
-1365;AL # ETHIOPIC COLON
-1366;AL # ETHIOPIC PREFACE COLON
-1367;AL # ETHIOPIC QUESTION MARK
-1368;AL # ETHIOPIC PARAGRAPH SEPARATOR
-1369;AL # ETHIOPIC DIGIT ONE
-136A;AL # ETHIOPIC DIGIT TWO
-136B;AL # ETHIOPIC DIGIT THREE
-136C;AL # ETHIOPIC DIGIT FOUR
-136D;AL # ETHIOPIC DIGIT FIVE
-136E;AL # ETHIOPIC DIGIT SIX
-136F;AL # ETHIOPIC DIGIT SEVEN
-1370;AL # ETHIOPIC DIGIT EIGHT
-1371;AL # ETHIOPIC DIGIT NINE
-1372;AL # ETHIOPIC NUMBER TEN
-1373;AL # ETHIOPIC NUMBER TWENTY
-1374;AL # ETHIOPIC NUMBER THIRTY
-1375;AL # ETHIOPIC NUMBER FORTY
-1376;AL # ETHIOPIC NUMBER FIFTY
-1377;AL # ETHIOPIC NUMBER SIXTY
-1378;AL # ETHIOPIC NUMBER SEVENTY
-1379;AL # ETHIOPIC NUMBER EIGHTY
-137A;AL # ETHIOPIC NUMBER NINETY
-137B;AL # ETHIOPIC NUMBER HUNDRED
-137C;AL # ETHIOPIC NUMBER TEN THOUSAND
-1380;AL # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381;AL # ETHIOPIC SYLLABLE MWI
-1382;AL # ETHIOPIC SYLLABLE MWEE
-1383;AL # ETHIOPIC SYLLABLE MWE
-1384;AL # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385;AL # ETHIOPIC SYLLABLE BWI
-1386;AL # ETHIOPIC SYLLABLE BWEE
-1387;AL # ETHIOPIC SYLLABLE BWE
-1388;AL # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389;AL # ETHIOPIC SYLLABLE FWI
-138A;AL # ETHIOPIC SYLLABLE FWEE
-138B;AL # ETHIOPIC SYLLABLE FWE
-138C;AL # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D;AL # ETHIOPIC SYLLABLE PWI
-138E;AL # ETHIOPIC SYLLABLE PWEE
-138F;AL # ETHIOPIC SYLLABLE PWE
-1390;AL # ETHIOPIC TONAL MARK YIZET
-1391;AL # ETHIOPIC TONAL MARK DERET
-1392;AL # ETHIOPIC TONAL MARK RIKRIK
-1393;AL # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394;AL # ETHIOPIC TONAL MARK DIFAT
-1395;AL # ETHIOPIC TONAL MARK KENAT
-1396;AL # ETHIOPIC TONAL MARK CHIRET
-1397;AL # ETHIOPIC TONAL MARK HIDET
-1398;AL # ETHIOPIC TONAL MARK DERET-HIDET
-1399;AL # ETHIOPIC TONAL MARK KURT
-13A0;AL # CHEROKEE LETTER A
-13A1;AL # CHEROKEE LETTER E
-13A2;AL # CHEROKEE LETTER I
-13A3;AL # CHEROKEE LETTER O
-13A4;AL # CHEROKEE LETTER U
-13A5;AL # CHEROKEE LETTER V
-13A6;AL # CHEROKEE LETTER GA
-13A7;AL # CHEROKEE LETTER KA
-13A8;AL # CHEROKEE LETTER GE
-13A9;AL # CHEROKEE LETTER GI
-13AA;AL # CHEROKEE LETTER GO
-13AB;AL # CHEROKEE LETTER GU
-13AC;AL # CHEROKEE LETTER GV
-13AD;AL # CHEROKEE LETTER HA
-13AE;AL # CHEROKEE LETTER HE
-13AF;AL # CHEROKEE LETTER HI
-13B0;AL # CHEROKEE LETTER HO
-13B1;AL # CHEROKEE LETTER HU
-13B2;AL # CHEROKEE LETTER HV
-13B3;AL # CHEROKEE LETTER LA
-13B4;AL # CHEROKEE LETTER LE
-13B5;AL # CHEROKEE LETTER LI
-13B6;AL # CHEROKEE LETTER LO
-13B7;AL # CHEROKEE LETTER LU
-13B8;AL # CHEROKEE LETTER LV
-13B9;AL # CHEROKEE LETTER MA
-13BA;AL # CHEROKEE LETTER ME
-13BB;AL # CHEROKEE LETTER MI
-13BC;AL # CHEROKEE LETTER MO
-13BD;AL # CHEROKEE LETTER MU
-13BE;AL # CHEROKEE LETTER NA
-13BF;AL # CHEROKEE LETTER HNA
-13C0;AL # CHEROKEE LETTER NAH
-13C1;AL # CHEROKEE LETTER NE
-13C2;AL # CHEROKEE LETTER NI
-13C3;AL # CHEROKEE LETTER NO
-13C4;AL # CHEROKEE LETTER NU
-13C5;AL # CHEROKEE LETTER NV
-13C6;AL # CHEROKEE LETTER QUA
-13C7;AL # CHEROKEE LETTER QUE
-13C8;AL # CHEROKEE LETTER QUI
-13C9;AL # CHEROKEE LETTER QUO
-13CA;AL # CHEROKEE LETTER QUU
-13CB;AL # CHEROKEE LETTER QUV
-13CC;AL # CHEROKEE LETTER SA
-13CD;AL # CHEROKEE LETTER S
-13CE;AL # CHEROKEE LETTER SE
-13CF;AL # CHEROKEE LETTER SI
-13D0;AL # CHEROKEE LETTER SO
-13D1;AL # CHEROKEE LETTER SU
-13D2;AL # CHEROKEE LETTER SV
-13D3;AL # CHEROKEE LETTER DA
-13D4;AL # CHEROKEE LETTER TA
-13D5;AL # CHEROKEE LETTER DE
-13D6;AL # CHEROKEE LETTER TE
-13D7;AL # CHEROKEE LETTER DI
-13D8;AL # CHEROKEE LETTER TI
-13D9;AL # CHEROKEE LETTER DO
-13DA;AL # CHEROKEE LETTER DU
-13DB;AL # CHEROKEE LETTER DV
-13DC;AL # CHEROKEE LETTER DLA
-13DD;AL # CHEROKEE LETTER TLA
-13DE;AL # CHEROKEE LETTER TLE
-13DF;AL # CHEROKEE LETTER TLI
-13E0;AL # CHEROKEE LETTER TLO
-13E1;AL # CHEROKEE LETTER TLU
-13E2;AL # CHEROKEE LETTER TLV
-13E3;AL # CHEROKEE LETTER TSA
-13E4;AL # CHEROKEE LETTER TSE
-13E5;AL # CHEROKEE LETTER TSI
-13E6;AL # CHEROKEE LETTER TSO
-13E7;AL # CHEROKEE LETTER TSU
-13E8;AL # CHEROKEE LETTER TSV
-13E9;AL # CHEROKEE LETTER WA
-13EA;AL # CHEROKEE LETTER WE
-13EB;AL # CHEROKEE LETTER WI
-13EC;AL # CHEROKEE LETTER WO
-13ED;AL # CHEROKEE LETTER WU
-13EE;AL # CHEROKEE LETTER WV
-13EF;AL # CHEROKEE LETTER YA
-13F0;AL # CHEROKEE LETTER YE
-13F1;AL # CHEROKEE LETTER YI
-13F2;AL # CHEROKEE LETTER YO
-13F3;AL # CHEROKEE LETTER YU
-13F4;AL # CHEROKEE LETTER YV
-1400;BA # CANADIAN SYLLABICS HYPHEN
-1401;AL # CANADIAN SYLLABICS E
-1402;AL # CANADIAN SYLLABICS AAI
-1403;AL # CANADIAN SYLLABICS I
-1404;AL # CANADIAN SYLLABICS II
-1405;AL # CANADIAN SYLLABICS O
-1406;AL # CANADIAN SYLLABICS OO
-1407;AL # CANADIAN SYLLABICS Y-CREE OO
-1408;AL # CANADIAN SYLLABICS CARRIER EE
-1409;AL # CANADIAN SYLLABICS CARRIER I
-140A;AL # CANADIAN SYLLABICS A
-140B;AL # CANADIAN SYLLABICS AA
-140C;AL # CANADIAN SYLLABICS WE
-140D;AL # CANADIAN SYLLABICS WEST-CREE WE
-140E;AL # CANADIAN SYLLABICS WI
-140F;AL # CANADIAN SYLLABICS WEST-CREE WI
-1410;AL # CANADIAN SYLLABICS WII
-1411;AL # CANADIAN SYLLABICS WEST-CREE WII
-1412;AL # CANADIAN SYLLABICS WO
-1413;AL # CANADIAN SYLLABICS WEST-CREE WO
-1414;AL # CANADIAN SYLLABICS WOO
-1415;AL # CANADIAN SYLLABICS WEST-CREE WOO
-1416;AL # CANADIAN SYLLABICS NASKAPI WOO
-1417;AL # CANADIAN SYLLABICS WA
-1418;AL # CANADIAN SYLLABICS WEST-CREE WA
-1419;AL # CANADIAN SYLLABICS WAA
-141A;AL # CANADIAN SYLLABICS WEST-CREE WAA
-141B;AL # CANADIAN SYLLABICS NASKAPI WAA
-141C;AL # CANADIAN SYLLABICS AI
-141D;AL # CANADIAN SYLLABICS Y-CREE W
-141E;AL # CANADIAN SYLLABICS GLOTTAL STOP
-141F;AL # CANADIAN SYLLABICS FINAL ACUTE
-1420;AL # CANADIAN SYLLABICS FINAL GRAVE
-1421;AL # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422;AL # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423;AL # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424;AL # CANADIAN SYLLABICS FINAL RING
-1425;AL # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426;AL # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427;AL # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428;AL # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429;AL # CANADIAN SYLLABICS FINAL PLUS
-142A;AL # CANADIAN SYLLABICS FINAL DOWN TACK
-142B;AL # CANADIAN SYLLABICS EN
-142C;AL # CANADIAN SYLLABICS IN
-142D;AL # CANADIAN SYLLABICS ON
-142E;AL # CANADIAN SYLLABICS AN
-142F;AL # CANADIAN SYLLABICS PE
-1430;AL # CANADIAN SYLLABICS PAAI
-1431;AL # CANADIAN SYLLABICS PI
-1432;AL # CANADIAN SYLLABICS PII
-1433;AL # CANADIAN SYLLABICS PO
-1434;AL # CANADIAN SYLLABICS POO
-1435;AL # CANADIAN SYLLABICS Y-CREE POO
-1436;AL # CANADIAN SYLLABICS CARRIER HEE
-1437;AL # CANADIAN SYLLABICS CARRIER HI
-1438;AL # CANADIAN SYLLABICS PA
-1439;AL # CANADIAN SYLLABICS PAA
-143A;AL # CANADIAN SYLLABICS PWE
-143B;AL # CANADIAN SYLLABICS WEST-CREE PWE
-143C;AL # CANADIAN SYLLABICS PWI
-143D;AL # CANADIAN SYLLABICS WEST-CREE PWI
-143E;AL # CANADIAN SYLLABICS PWII
-143F;AL # CANADIAN SYLLABICS WEST-CREE PWII
-1440;AL # CANADIAN SYLLABICS PWO
-1441;AL # CANADIAN SYLLABICS WEST-CREE PWO
-1442;AL # CANADIAN SYLLABICS PWOO
-1443;AL # CANADIAN SYLLABICS WEST-CREE PWOO
-1444;AL # CANADIAN SYLLABICS PWA
-1445;AL # CANADIAN SYLLABICS WEST-CREE PWA
-1446;AL # CANADIAN SYLLABICS PWAA
-1447;AL # CANADIAN SYLLABICS WEST-CREE PWAA
-1448;AL # CANADIAN SYLLABICS Y-CREE PWAA
-1449;AL # CANADIAN SYLLABICS P
-144A;AL # CANADIAN SYLLABICS WEST-CREE P
-144B;AL # CANADIAN SYLLABICS CARRIER H
-144C;AL # CANADIAN SYLLABICS TE
-144D;AL # CANADIAN SYLLABICS TAAI
-144E;AL # CANADIAN SYLLABICS TI
-144F;AL # CANADIAN SYLLABICS TII
-1450;AL # CANADIAN SYLLABICS TO
-1451;AL # CANADIAN SYLLABICS TOO
-1452;AL # CANADIAN SYLLABICS Y-CREE TOO
-1453;AL # CANADIAN SYLLABICS CARRIER DEE
-1454;AL # CANADIAN SYLLABICS CARRIER DI
-1455;AL # CANADIAN SYLLABICS TA
-1456;AL # CANADIAN SYLLABICS TAA
-1457;AL # CANADIAN SYLLABICS TWE
-1458;AL # CANADIAN SYLLABICS WEST-CREE TWE
-1459;AL # CANADIAN SYLLABICS TWI
-145A;AL # CANADIAN SYLLABICS WEST-CREE TWI
-145B;AL # CANADIAN SYLLABICS TWII
-145C;AL # CANADIAN SYLLABICS WEST-CREE TWII
-145D;AL # CANADIAN SYLLABICS TWO
-145E;AL # CANADIAN SYLLABICS WEST-CREE TWO
-145F;AL # CANADIAN SYLLABICS TWOO
-1460;AL # CANADIAN SYLLABICS WEST-CREE TWOO
-1461;AL # CANADIAN SYLLABICS TWA
-1462;AL # CANADIAN SYLLABICS WEST-CREE TWA
-1463;AL # CANADIAN SYLLABICS TWAA
-1464;AL # CANADIAN SYLLABICS WEST-CREE TWAA
-1465;AL # CANADIAN SYLLABICS NASKAPI TWAA
-1466;AL # CANADIAN SYLLABICS T
-1467;AL # CANADIAN SYLLABICS TTE
-1468;AL # CANADIAN SYLLABICS TTI
-1469;AL # CANADIAN SYLLABICS TTO
-146A;AL # CANADIAN SYLLABICS TTA
-146B;AL # CANADIAN SYLLABICS KE
-146C;AL # CANADIAN SYLLABICS KAAI
-146D;AL # CANADIAN SYLLABICS KI
-146E;AL # CANADIAN SYLLABICS KII
-146F;AL # CANADIAN SYLLABICS KO
-1470;AL # CANADIAN SYLLABICS KOO
-1471;AL # CANADIAN SYLLABICS Y-CREE KOO
-1472;AL # CANADIAN SYLLABICS KA
-1473;AL # CANADIAN SYLLABICS KAA
-1474;AL # CANADIAN SYLLABICS KWE
-1475;AL # CANADIAN SYLLABICS WEST-CREE KWE
-1476;AL # CANADIAN SYLLABICS KWI
-1477;AL # CANADIAN SYLLABICS WEST-CREE KWI
-1478;AL # CANADIAN SYLLABICS KWII
-1479;AL # CANADIAN SYLLABICS WEST-CREE KWII
-147A;AL # CANADIAN SYLLABICS KWO
-147B;AL # CANADIAN SYLLABICS WEST-CREE KWO
-147C;AL # CANADIAN SYLLABICS KWOO
-147D;AL # CANADIAN SYLLABICS WEST-CREE KWOO
-147E;AL # CANADIAN SYLLABICS KWA
-147F;AL # CANADIAN SYLLABICS WEST-CREE KWA
-1480;AL # CANADIAN SYLLABICS KWAA
-1481;AL # CANADIAN SYLLABICS WEST-CREE KWAA
-1482;AL # CANADIAN SYLLABICS NASKAPI KWAA
-1483;AL # CANADIAN SYLLABICS K
-1484;AL # CANADIAN SYLLABICS KW
-1485;AL # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486;AL # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487;AL # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488;AL # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489;AL # CANADIAN SYLLABICS CE
-148A;AL # CANADIAN SYLLABICS CAAI
-148B;AL # CANADIAN SYLLABICS CI
-148C;AL # CANADIAN SYLLABICS CII
-148D;AL # CANADIAN SYLLABICS CO
-148E;AL # CANADIAN SYLLABICS COO
-148F;AL # CANADIAN SYLLABICS Y-CREE COO
-1490;AL # CANADIAN SYLLABICS CA
-1491;AL # CANADIAN SYLLABICS CAA
-1492;AL # CANADIAN SYLLABICS CWE
-1493;AL # CANADIAN SYLLABICS WEST-CREE CWE
-1494;AL # CANADIAN SYLLABICS CWI
-1495;AL # CANADIAN SYLLABICS WEST-CREE CWI
-1496;AL # CANADIAN SYLLABICS CWII
-1497;AL # CANADIAN SYLLABICS WEST-CREE CWII
-1498;AL # CANADIAN SYLLABICS CWO
-1499;AL # CANADIAN SYLLABICS WEST-CREE CWO
-149A;AL # CANADIAN SYLLABICS CWOO
-149B;AL # CANADIAN SYLLABICS WEST-CREE CWOO
-149C;AL # CANADIAN SYLLABICS CWA
-149D;AL # CANADIAN SYLLABICS WEST-CREE CWA
-149E;AL # CANADIAN SYLLABICS CWAA
-149F;AL # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0;AL # CANADIAN SYLLABICS NASKAPI CWAA
-14A1;AL # CANADIAN SYLLABICS C
-14A2;AL # CANADIAN SYLLABICS SAYISI TH
-14A3;AL # CANADIAN SYLLABICS ME
-14A4;AL # CANADIAN SYLLABICS MAAI
-14A5;AL # CANADIAN SYLLABICS MI
-14A6;AL # CANADIAN SYLLABICS MII
-14A7;AL # CANADIAN SYLLABICS MO
-14A8;AL # CANADIAN SYLLABICS MOO
-14A9;AL # CANADIAN SYLLABICS Y-CREE MOO
-14AA;AL # CANADIAN SYLLABICS MA
-14AB;AL # CANADIAN SYLLABICS MAA
-14AC;AL # CANADIAN SYLLABICS MWE
-14AD;AL # CANADIAN SYLLABICS WEST-CREE MWE
-14AE;AL # CANADIAN SYLLABICS MWI
-14AF;AL # CANADIAN SYLLABICS WEST-CREE MWI
-14B0;AL # CANADIAN SYLLABICS MWII
-14B1;AL # CANADIAN SYLLABICS WEST-CREE MWII
-14B2;AL # CANADIAN SYLLABICS MWO
-14B3;AL # CANADIAN SYLLABICS WEST-CREE MWO
-14B4;AL # CANADIAN SYLLABICS MWOO
-14B5;AL # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6;AL # CANADIAN SYLLABICS MWA
-14B7;AL # CANADIAN SYLLABICS WEST-CREE MWA
-14B8;AL # CANADIAN SYLLABICS MWAA
-14B9;AL # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA;AL # CANADIAN SYLLABICS NASKAPI MWAA
-14BB;AL # CANADIAN SYLLABICS M
-14BC;AL # CANADIAN SYLLABICS WEST-CREE M
-14BD;AL # CANADIAN SYLLABICS MH
-14BE;AL # CANADIAN SYLLABICS ATHAPASCAN M
-14BF;AL # CANADIAN SYLLABICS SAYISI M
-14C0;AL # CANADIAN SYLLABICS NE
-14C1;AL # CANADIAN SYLLABICS NAAI
-14C2;AL # CANADIAN SYLLABICS NI
-14C3;AL # CANADIAN SYLLABICS NII
-14C4;AL # CANADIAN SYLLABICS NO
-14C5;AL # CANADIAN SYLLABICS NOO
-14C6;AL # CANADIAN SYLLABICS Y-CREE NOO
-14C7;AL # CANADIAN SYLLABICS NA
-14C8;AL # CANADIAN SYLLABICS NAA
-14C9;AL # CANADIAN SYLLABICS NWE
-14CA;AL # CANADIAN SYLLABICS WEST-CREE NWE
-14CB;AL # CANADIAN SYLLABICS NWA
-14CC;AL # CANADIAN SYLLABICS WEST-CREE NWA
-14CD;AL # CANADIAN SYLLABICS NWAA
-14CE;AL # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF;AL # CANADIAN SYLLABICS NASKAPI NWAA
-14D0;AL # CANADIAN SYLLABICS N
-14D1;AL # CANADIAN SYLLABICS CARRIER NG
-14D2;AL # CANADIAN SYLLABICS NH
-14D3;AL # CANADIAN SYLLABICS LE
-14D4;AL # CANADIAN SYLLABICS LAAI
-14D5;AL # CANADIAN SYLLABICS LI
-14D6;AL # CANADIAN SYLLABICS LII
-14D7;AL # CANADIAN SYLLABICS LO
-14D8;AL # CANADIAN SYLLABICS LOO
-14D9;AL # CANADIAN SYLLABICS Y-CREE LOO
-14DA;AL # CANADIAN SYLLABICS LA
-14DB;AL # CANADIAN SYLLABICS LAA
-14DC;AL # CANADIAN SYLLABICS LWE
-14DD;AL # CANADIAN SYLLABICS WEST-CREE LWE
-14DE;AL # CANADIAN SYLLABICS LWI
-14DF;AL # CANADIAN SYLLABICS WEST-CREE LWI
-14E0;AL # CANADIAN SYLLABICS LWII
-14E1;AL # CANADIAN SYLLABICS WEST-CREE LWII
-14E2;AL # CANADIAN SYLLABICS LWO
-14E3;AL # CANADIAN SYLLABICS WEST-CREE LWO
-14E4;AL # CANADIAN SYLLABICS LWOO
-14E5;AL # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6;AL # CANADIAN SYLLABICS LWA
-14E7;AL # CANADIAN SYLLABICS WEST-CREE LWA
-14E8;AL # CANADIAN SYLLABICS LWAA
-14E9;AL # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA;AL # CANADIAN SYLLABICS L
-14EB;AL # CANADIAN SYLLABICS WEST-CREE L
-14EC;AL # CANADIAN SYLLABICS MEDIAL L
-14ED;AL # CANADIAN SYLLABICS SE
-14EE;AL # CANADIAN SYLLABICS SAAI
-14EF;AL # CANADIAN SYLLABICS SI
-14F0;AL # CANADIAN SYLLABICS SII
-14F1;AL # CANADIAN SYLLABICS SO
-14F2;AL # CANADIAN SYLLABICS SOO
-14F3;AL # CANADIAN SYLLABICS Y-CREE SOO
-14F4;AL # CANADIAN SYLLABICS SA
-14F5;AL # CANADIAN SYLLABICS SAA
-14F6;AL # CANADIAN SYLLABICS SWE
-14F7;AL # CANADIAN SYLLABICS WEST-CREE SWE
-14F8;AL # CANADIAN SYLLABICS SWI
-14F9;AL # CANADIAN SYLLABICS WEST-CREE SWI
-14FA;AL # CANADIAN SYLLABICS SWII
-14FB;AL # CANADIAN SYLLABICS WEST-CREE SWII
-14FC;AL # CANADIAN SYLLABICS SWO
-14FD;AL # CANADIAN SYLLABICS WEST-CREE SWO
-14FE;AL # CANADIAN SYLLABICS SWOO
-14FF;AL # CANADIAN SYLLABICS WEST-CREE SWOO
-1500;AL # CANADIAN SYLLABICS SWA
-1501;AL # CANADIAN SYLLABICS WEST-CREE SWA
-1502;AL # CANADIAN SYLLABICS SWAA
-1503;AL # CANADIAN SYLLABICS WEST-CREE SWAA
-1504;AL # CANADIAN SYLLABICS NASKAPI SWAA
-1505;AL # CANADIAN SYLLABICS S
-1506;AL # CANADIAN SYLLABICS ATHAPASCAN S
-1507;AL # CANADIAN SYLLABICS SW
-1508;AL # CANADIAN SYLLABICS BLACKFOOT S
-1509;AL # CANADIAN SYLLABICS MOOSE-CREE SK
-150A;AL # CANADIAN SYLLABICS NASKAPI SKW
-150B;AL # CANADIAN SYLLABICS NASKAPI S-W
-150C;AL # CANADIAN SYLLABICS NASKAPI SPWA
-150D;AL # CANADIAN SYLLABICS NASKAPI STWA
-150E;AL # CANADIAN SYLLABICS NASKAPI SKWA
-150F;AL # CANADIAN SYLLABICS NASKAPI SCWA
-1510;AL # CANADIAN SYLLABICS SHE
-1511;AL # CANADIAN SYLLABICS SHI
-1512;AL # CANADIAN SYLLABICS SHII
-1513;AL # CANADIAN SYLLABICS SHO
-1514;AL # CANADIAN SYLLABICS SHOO
-1515;AL # CANADIAN SYLLABICS SHA
-1516;AL # CANADIAN SYLLABICS SHAA
-1517;AL # CANADIAN SYLLABICS SHWE
-1518;AL # CANADIAN SYLLABICS WEST-CREE SHWE
-1519;AL # CANADIAN SYLLABICS SHWI
-151A;AL # CANADIAN SYLLABICS WEST-CREE SHWI
-151B;AL # CANADIAN SYLLABICS SHWII
-151C;AL # CANADIAN SYLLABICS WEST-CREE SHWII
-151D;AL # CANADIAN SYLLABICS SHWO
-151E;AL # CANADIAN SYLLABICS WEST-CREE SHWO
-151F;AL # CANADIAN SYLLABICS SHWOO
-1520;AL # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521;AL # CANADIAN SYLLABICS SHWA
-1522;AL # CANADIAN SYLLABICS WEST-CREE SHWA
-1523;AL # CANADIAN SYLLABICS SHWAA
-1524;AL # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525;AL # CANADIAN SYLLABICS SH
-1526;AL # CANADIAN SYLLABICS YE
-1527;AL # CANADIAN SYLLABICS YAAI
-1528;AL # CANADIAN SYLLABICS YI
-1529;AL # CANADIAN SYLLABICS YII
-152A;AL # CANADIAN SYLLABICS YO
-152B;AL # CANADIAN SYLLABICS YOO
-152C;AL # CANADIAN SYLLABICS Y-CREE YOO
-152D;AL # CANADIAN SYLLABICS YA
-152E;AL # CANADIAN SYLLABICS YAA
-152F;AL # CANADIAN SYLLABICS YWE
-1530;AL # CANADIAN SYLLABICS WEST-CREE YWE
-1531;AL # CANADIAN SYLLABICS YWI
-1532;AL # CANADIAN SYLLABICS WEST-CREE YWI
-1533;AL # CANADIAN SYLLABICS YWII
-1534;AL # CANADIAN SYLLABICS WEST-CREE YWII
-1535;AL # CANADIAN SYLLABICS YWO
-1536;AL # CANADIAN SYLLABICS WEST-CREE YWO
-1537;AL # CANADIAN SYLLABICS YWOO
-1538;AL # CANADIAN SYLLABICS WEST-CREE YWOO
-1539;AL # CANADIAN SYLLABICS YWA
-153A;AL # CANADIAN SYLLABICS WEST-CREE YWA
-153B;AL # CANADIAN SYLLABICS YWAA
-153C;AL # CANADIAN SYLLABICS WEST-CREE YWAA
-153D;AL # CANADIAN SYLLABICS NASKAPI YWAA
-153E;AL # CANADIAN SYLLABICS Y
-153F;AL # CANADIAN SYLLABICS BIBLE-CREE Y
-1540;AL # CANADIAN SYLLABICS WEST-CREE Y
-1541;AL # CANADIAN SYLLABICS SAYISI YI
-1542;AL # CANADIAN SYLLABICS RE
-1543;AL # CANADIAN SYLLABICS R-CREE RE
-1544;AL # CANADIAN SYLLABICS WEST-CREE LE
-1545;AL # CANADIAN SYLLABICS RAAI
-1546;AL # CANADIAN SYLLABICS RI
-1547;AL # CANADIAN SYLLABICS RII
-1548;AL # CANADIAN SYLLABICS RO
-1549;AL # CANADIAN SYLLABICS ROO
-154A;AL # CANADIAN SYLLABICS WEST-CREE LO
-154B;AL # CANADIAN SYLLABICS RA
-154C;AL # CANADIAN SYLLABICS RAA
-154D;AL # CANADIAN SYLLABICS WEST-CREE LA
-154E;AL # CANADIAN SYLLABICS RWAA
-154F;AL # CANADIAN SYLLABICS WEST-CREE RWAA
-1550;AL # CANADIAN SYLLABICS R
-1551;AL # CANADIAN SYLLABICS WEST-CREE R
-1552;AL # CANADIAN SYLLABICS MEDIAL R
-1553;AL # CANADIAN SYLLABICS FE
-1554;AL # CANADIAN SYLLABICS FAAI
-1555;AL # CANADIAN SYLLABICS FI
-1556;AL # CANADIAN SYLLABICS FII
-1557;AL # CANADIAN SYLLABICS FO
-1558;AL # CANADIAN SYLLABICS FOO
-1559;AL # CANADIAN SYLLABICS FA
-155A;AL # CANADIAN SYLLABICS FAA
-155B;AL # CANADIAN SYLLABICS FWAA
-155C;AL # CANADIAN SYLLABICS WEST-CREE FWAA
-155D;AL # CANADIAN SYLLABICS F
-155E;AL # CANADIAN SYLLABICS THE
-155F;AL # CANADIAN SYLLABICS N-CREE THE
-1560;AL # CANADIAN SYLLABICS THI
-1561;AL # CANADIAN SYLLABICS N-CREE THI
-1562;AL # CANADIAN SYLLABICS THII
-1563;AL # CANADIAN SYLLABICS N-CREE THII
-1564;AL # CANADIAN SYLLABICS THO
-1565;AL # CANADIAN SYLLABICS THOO
-1566;AL # CANADIAN SYLLABICS THA
-1567;AL # CANADIAN SYLLABICS THAA
-1568;AL # CANADIAN SYLLABICS THWAA
-1569;AL # CANADIAN SYLLABICS WEST-CREE THWAA
-156A;AL # CANADIAN SYLLABICS TH
-156B;AL # CANADIAN SYLLABICS TTHE
-156C;AL # CANADIAN SYLLABICS TTHI
-156D;AL # CANADIAN SYLLABICS TTHO
-156E;AL # CANADIAN SYLLABICS TTHA
-156F;AL # CANADIAN SYLLABICS TTH
-1570;AL # CANADIAN SYLLABICS TYE
-1571;AL # CANADIAN SYLLABICS TYI
-1572;AL # CANADIAN SYLLABICS TYO
-1573;AL # CANADIAN SYLLABICS TYA
-1574;AL # CANADIAN SYLLABICS NUNAVIK HE
-1575;AL # CANADIAN SYLLABICS NUNAVIK HI
-1576;AL # CANADIAN SYLLABICS NUNAVIK HII
-1577;AL # CANADIAN SYLLABICS NUNAVIK HO
-1578;AL # CANADIAN SYLLABICS NUNAVIK HOO
-1579;AL # CANADIAN SYLLABICS NUNAVIK HA
-157A;AL # CANADIAN SYLLABICS NUNAVIK HAA
-157B;AL # CANADIAN SYLLABICS NUNAVIK H
-157C;AL # CANADIAN SYLLABICS NUNAVUT H
-157D;AL # CANADIAN SYLLABICS HK
-157E;AL # CANADIAN SYLLABICS QAAI
-157F;AL # CANADIAN SYLLABICS QI
-1580;AL # CANADIAN SYLLABICS QII
-1581;AL # CANADIAN SYLLABICS QO
-1582;AL # CANADIAN SYLLABICS QOO
-1583;AL # CANADIAN SYLLABICS QA
-1584;AL # CANADIAN SYLLABICS QAA
-1585;AL # CANADIAN SYLLABICS Q
-1586;AL # CANADIAN SYLLABICS TLHE
-1587;AL # CANADIAN SYLLABICS TLHI
-1588;AL # CANADIAN SYLLABICS TLHO
-1589;AL # CANADIAN SYLLABICS TLHA
-158A;AL # CANADIAN SYLLABICS WEST-CREE RE
-158B;AL # CANADIAN SYLLABICS WEST-CREE RI
-158C;AL # CANADIAN SYLLABICS WEST-CREE RO
-158D;AL # CANADIAN SYLLABICS WEST-CREE RA
-158E;AL # CANADIAN SYLLABICS NGAAI
-158F;AL # CANADIAN SYLLABICS NGI
-1590;AL # CANADIAN SYLLABICS NGII
-1591;AL # CANADIAN SYLLABICS NGO
-1592;AL # CANADIAN SYLLABICS NGOO
-1593;AL # CANADIAN SYLLABICS NGA
-1594;AL # CANADIAN SYLLABICS NGAA
-1595;AL # CANADIAN SYLLABICS NG
-1596;AL # CANADIAN SYLLABICS NNG
-1597;AL # CANADIAN SYLLABICS SAYISI SHE
-1598;AL # CANADIAN SYLLABICS SAYISI SHI
-1599;AL # CANADIAN SYLLABICS SAYISI SHO
-159A;AL # CANADIAN SYLLABICS SAYISI SHA
-159B;AL # CANADIAN SYLLABICS WOODS-CREE THE
-159C;AL # CANADIAN SYLLABICS WOODS-CREE THI
-159D;AL # CANADIAN SYLLABICS WOODS-CREE THO
-159E;AL # CANADIAN SYLLABICS WOODS-CREE THA
-159F;AL # CANADIAN SYLLABICS WOODS-CREE TH
-15A0;AL # CANADIAN SYLLABICS LHI
-15A1;AL # CANADIAN SYLLABICS LHII
-15A2;AL # CANADIAN SYLLABICS LHO
-15A3;AL # CANADIAN SYLLABICS LHOO
-15A4;AL # CANADIAN SYLLABICS LHA
-15A5;AL # CANADIAN SYLLABICS LHAA
-15A6;AL # CANADIAN SYLLABICS LH
-15A7;AL # CANADIAN SYLLABICS TH-CREE THE
-15A8;AL # CANADIAN SYLLABICS TH-CREE THI
-15A9;AL # CANADIAN SYLLABICS TH-CREE THII
-15AA;AL # CANADIAN SYLLABICS TH-CREE THO
-15AB;AL # CANADIAN SYLLABICS TH-CREE THOO
-15AC;AL # CANADIAN SYLLABICS TH-CREE THA
-15AD;AL # CANADIAN SYLLABICS TH-CREE THAA
-15AE;AL # CANADIAN SYLLABICS TH-CREE TH
-15AF;AL # CANADIAN SYLLABICS AIVILIK B
-15B0;AL # CANADIAN SYLLABICS BLACKFOOT E
-15B1;AL # CANADIAN SYLLABICS BLACKFOOT I
-15B2;AL # CANADIAN SYLLABICS BLACKFOOT O
-15B3;AL # CANADIAN SYLLABICS BLACKFOOT A
-15B4;AL # CANADIAN SYLLABICS BLACKFOOT WE
-15B5;AL # CANADIAN SYLLABICS BLACKFOOT WI
-15B6;AL # CANADIAN SYLLABICS BLACKFOOT WO
-15B7;AL # CANADIAN SYLLABICS BLACKFOOT WA
-15B8;AL # CANADIAN SYLLABICS BLACKFOOT NE
-15B9;AL # CANADIAN SYLLABICS BLACKFOOT NI
-15BA;AL # CANADIAN SYLLABICS BLACKFOOT NO
-15BB;AL # CANADIAN SYLLABICS BLACKFOOT NA
-15BC;AL # CANADIAN SYLLABICS BLACKFOOT KE
-15BD;AL # CANADIAN SYLLABICS BLACKFOOT KI
-15BE;AL # CANADIAN SYLLABICS BLACKFOOT KO
-15BF;AL # CANADIAN SYLLABICS BLACKFOOT KA
-15C0;AL # CANADIAN SYLLABICS SAYISI HE
-15C1;AL # CANADIAN SYLLABICS SAYISI HI
-15C2;AL # CANADIAN SYLLABICS SAYISI HO
-15C3;AL # CANADIAN SYLLABICS SAYISI HA
-15C4;AL # CANADIAN SYLLABICS CARRIER GHU
-15C5;AL # CANADIAN SYLLABICS CARRIER GHO
-15C6;AL # CANADIAN SYLLABICS CARRIER GHE
-15C7;AL # CANADIAN SYLLABICS CARRIER GHEE
-15C8;AL # CANADIAN SYLLABICS CARRIER GHI
-15C9;AL # CANADIAN SYLLABICS CARRIER GHA
-15CA;AL # CANADIAN SYLLABICS CARRIER RU
-15CB;AL # CANADIAN SYLLABICS CARRIER RO
-15CC;AL # CANADIAN SYLLABICS CARRIER RE
-15CD;AL # CANADIAN SYLLABICS CARRIER REE
-15CE;AL # CANADIAN SYLLABICS CARRIER RI
-15CF;AL # CANADIAN SYLLABICS CARRIER RA
-15D0;AL # CANADIAN SYLLABICS CARRIER WU
-15D1;AL # CANADIAN SYLLABICS CARRIER WO
-15D2;AL # CANADIAN SYLLABICS CARRIER WE
-15D3;AL # CANADIAN SYLLABICS CARRIER WEE
-15D4;AL # CANADIAN SYLLABICS CARRIER WI
-15D5;AL # CANADIAN SYLLABICS CARRIER WA
-15D6;AL # CANADIAN SYLLABICS CARRIER HWU
-15D7;AL # CANADIAN SYLLABICS CARRIER HWO
-15D8;AL # CANADIAN SYLLABICS CARRIER HWE
-15D9;AL # CANADIAN SYLLABICS CARRIER HWEE
-15DA;AL # CANADIAN SYLLABICS CARRIER HWI
-15DB;AL # CANADIAN SYLLABICS CARRIER HWA
-15DC;AL # CANADIAN SYLLABICS CARRIER THU
-15DD;AL # CANADIAN SYLLABICS CARRIER THO
-15DE;AL # CANADIAN SYLLABICS CARRIER THE
-15DF;AL # CANADIAN SYLLABICS CARRIER THEE
-15E0;AL # CANADIAN SYLLABICS CARRIER THI
-15E1;AL # CANADIAN SYLLABICS CARRIER THA
-15E2;AL # CANADIAN SYLLABICS CARRIER TTU
-15E3;AL # CANADIAN SYLLABICS CARRIER TTO
-15E4;AL # CANADIAN SYLLABICS CARRIER TTE
-15E5;AL # CANADIAN SYLLABICS CARRIER TTEE
-15E6;AL # CANADIAN SYLLABICS CARRIER TTI
-15E7;AL # CANADIAN SYLLABICS CARRIER TTA
-15E8;AL # CANADIAN SYLLABICS CARRIER PU
-15E9;AL # CANADIAN SYLLABICS CARRIER PO
-15EA;AL # CANADIAN SYLLABICS CARRIER PE
-15EB;AL # CANADIAN SYLLABICS CARRIER PEE
-15EC;AL # CANADIAN SYLLABICS CARRIER PI
-15ED;AL # CANADIAN SYLLABICS CARRIER PA
-15EE;AL # CANADIAN SYLLABICS CARRIER P
-15EF;AL # CANADIAN SYLLABICS CARRIER GU
-15F0;AL # CANADIAN SYLLABICS CARRIER GO
-15F1;AL # CANADIAN SYLLABICS CARRIER GE
-15F2;AL # CANADIAN SYLLABICS CARRIER GEE
-15F3;AL # CANADIAN SYLLABICS CARRIER GI
-15F4;AL # CANADIAN SYLLABICS CARRIER GA
-15F5;AL # CANADIAN SYLLABICS CARRIER KHU
-15F6;AL # CANADIAN SYLLABICS CARRIER KHO
-15F7;AL # CANADIAN SYLLABICS CARRIER KHE
-15F8;AL # CANADIAN SYLLABICS CARRIER KHEE
-15F9;AL # CANADIAN SYLLABICS CARRIER KHI
-15FA;AL # CANADIAN SYLLABICS CARRIER KHA
-15FB;AL # CANADIAN SYLLABICS CARRIER KKU
-15FC;AL # CANADIAN SYLLABICS CARRIER KKO
-15FD;AL # CANADIAN SYLLABICS CARRIER KKE
-15FE;AL # CANADIAN SYLLABICS CARRIER KKEE
-15FF;AL # CANADIAN SYLLABICS CARRIER KKI
-1600;AL # CANADIAN SYLLABICS CARRIER KKA
-1601;AL # CANADIAN SYLLABICS CARRIER KK
-1602;AL # CANADIAN SYLLABICS CARRIER NU
-1603;AL # CANADIAN SYLLABICS CARRIER NO
-1604;AL # CANADIAN SYLLABICS CARRIER NE
-1605;AL # CANADIAN SYLLABICS CARRIER NEE
-1606;AL # CANADIAN SYLLABICS CARRIER NI
-1607;AL # CANADIAN SYLLABICS CARRIER NA
-1608;AL # CANADIAN SYLLABICS CARRIER MU
-1609;AL # CANADIAN SYLLABICS CARRIER MO
-160A;AL # CANADIAN SYLLABICS CARRIER ME
-160B;AL # CANADIAN SYLLABICS CARRIER MEE
-160C;AL # CANADIAN SYLLABICS CARRIER MI
-160D;AL # CANADIAN SYLLABICS CARRIER MA
-160E;AL # CANADIAN SYLLABICS CARRIER YU
-160F;AL # CANADIAN SYLLABICS CARRIER YO
-1610;AL # CANADIAN SYLLABICS CARRIER YE
-1611;AL # CANADIAN SYLLABICS CARRIER YEE
-1612;AL # CANADIAN SYLLABICS CARRIER YI
-1613;AL # CANADIAN SYLLABICS CARRIER YA
-1614;AL # CANADIAN SYLLABICS CARRIER JU
-1615;AL # CANADIAN SYLLABICS SAYISI JU
-1616;AL # CANADIAN SYLLABICS CARRIER JO
-1617;AL # CANADIAN SYLLABICS CARRIER JE
-1618;AL # CANADIAN SYLLABICS CARRIER JEE
-1619;AL # CANADIAN SYLLABICS CARRIER JI
-161A;AL # CANADIAN SYLLABICS SAYISI JI
-161B;AL # CANADIAN SYLLABICS CARRIER JA
-161C;AL # CANADIAN SYLLABICS CARRIER JJU
-161D;AL # CANADIAN SYLLABICS CARRIER JJO
-161E;AL # CANADIAN SYLLABICS CARRIER JJE
-161F;AL # CANADIAN SYLLABICS CARRIER JJEE
-1620;AL # CANADIAN SYLLABICS CARRIER JJI
-1621;AL # CANADIAN SYLLABICS CARRIER JJA
-1622;AL # CANADIAN SYLLABICS CARRIER LU
-1623;AL # CANADIAN SYLLABICS CARRIER LO
-1624;AL # CANADIAN SYLLABICS CARRIER LE
-1625;AL # CANADIAN SYLLABICS CARRIER LEE
-1626;AL # CANADIAN SYLLABICS CARRIER LI
-1627;AL # CANADIAN SYLLABICS CARRIER LA
-1628;AL # CANADIAN SYLLABICS CARRIER DLU
-1629;AL # CANADIAN SYLLABICS CARRIER DLO
-162A;AL # CANADIAN SYLLABICS CARRIER DLE
-162B;AL # CANADIAN SYLLABICS CARRIER DLEE
-162C;AL # CANADIAN SYLLABICS CARRIER DLI
-162D;AL # CANADIAN SYLLABICS CARRIER DLA
-162E;AL # CANADIAN SYLLABICS CARRIER LHU
-162F;AL # CANADIAN SYLLABICS CARRIER LHO
-1630;AL # CANADIAN SYLLABICS CARRIER LHE
-1631;AL # CANADIAN SYLLABICS CARRIER LHEE
-1632;AL # CANADIAN SYLLABICS CARRIER LHI
-1633;AL # CANADIAN SYLLABICS CARRIER LHA
-1634;AL # CANADIAN SYLLABICS CARRIER TLHU
-1635;AL # CANADIAN SYLLABICS CARRIER TLHO
-1636;AL # CANADIAN SYLLABICS CARRIER TLHE
-1637;AL # CANADIAN SYLLABICS CARRIER TLHEE
-1638;AL # CANADIAN SYLLABICS CARRIER TLHI
-1639;AL # CANADIAN SYLLABICS CARRIER TLHA
-163A;AL # CANADIAN SYLLABICS CARRIER TLU
-163B;AL # CANADIAN SYLLABICS CARRIER TLO
-163C;AL # CANADIAN SYLLABICS CARRIER TLE
-163D;AL # CANADIAN SYLLABICS CARRIER TLEE
-163E;AL # CANADIAN SYLLABICS CARRIER TLI
-163F;AL # CANADIAN SYLLABICS CARRIER TLA
-1640;AL # CANADIAN SYLLABICS CARRIER ZU
-1641;AL # CANADIAN SYLLABICS CARRIER ZO
-1642;AL # CANADIAN SYLLABICS CARRIER ZE
-1643;AL # CANADIAN SYLLABICS CARRIER ZEE
-1644;AL # CANADIAN SYLLABICS CARRIER ZI
-1645;AL # CANADIAN SYLLABICS CARRIER ZA
-1646;AL # CANADIAN SYLLABICS CARRIER Z
-1647;AL # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648;AL # CANADIAN SYLLABICS CARRIER DZU
-1649;AL # CANADIAN SYLLABICS CARRIER DZO
-164A;AL # CANADIAN SYLLABICS CARRIER DZE
-164B;AL # CANADIAN SYLLABICS CARRIER DZEE
-164C;AL # CANADIAN SYLLABICS CARRIER DZI
-164D;AL # CANADIAN SYLLABICS CARRIER DZA
-164E;AL # CANADIAN SYLLABICS CARRIER SU
-164F;AL # CANADIAN SYLLABICS CARRIER SO
-1650;AL # CANADIAN SYLLABICS CARRIER SE
-1651;AL # CANADIAN SYLLABICS CARRIER SEE
-1652;AL # CANADIAN SYLLABICS CARRIER SI
-1653;AL # CANADIAN SYLLABICS CARRIER SA
-1654;AL # CANADIAN SYLLABICS CARRIER SHU
-1655;AL # CANADIAN SYLLABICS CARRIER SHO
-1656;AL # CANADIAN SYLLABICS CARRIER SHE
-1657;AL # CANADIAN SYLLABICS CARRIER SHEE
-1658;AL # CANADIAN SYLLABICS CARRIER SHI
-1659;AL # CANADIAN SYLLABICS CARRIER SHA
-165A;AL # CANADIAN SYLLABICS CARRIER SH
-165B;AL # CANADIAN SYLLABICS CARRIER TSU
-165C;AL # CANADIAN SYLLABICS CARRIER TSO
-165D;AL # CANADIAN SYLLABICS CARRIER TSE
-165E;AL # CANADIAN SYLLABICS CARRIER TSEE
-165F;AL # CANADIAN SYLLABICS CARRIER TSI
-1660;AL # CANADIAN SYLLABICS CARRIER TSA
-1661;AL # CANADIAN SYLLABICS CARRIER CHU
-1662;AL # CANADIAN SYLLABICS CARRIER CHO
-1663;AL # CANADIAN SYLLABICS CARRIER CHE
-1664;AL # CANADIAN SYLLABICS CARRIER CHEE
-1665;AL # CANADIAN SYLLABICS CARRIER CHI
-1666;AL # CANADIAN SYLLABICS CARRIER CHA
-1667;AL # CANADIAN SYLLABICS CARRIER TTSU
-1668;AL # CANADIAN SYLLABICS CARRIER TTSO
-1669;AL # CANADIAN SYLLABICS CARRIER TTSE
-166A;AL # CANADIAN SYLLABICS CARRIER TTSEE
-166B;AL # CANADIAN SYLLABICS CARRIER TTSI
-166C;AL # CANADIAN SYLLABICS CARRIER TTSA
-166D;AL # CANADIAN SYLLABICS CHI SIGN
-166E;AL # CANADIAN SYLLABICS FULL STOP
-166F;AL # CANADIAN SYLLABICS QAI
-1670;AL # CANADIAN SYLLABICS NGAI
-1671;AL # CANADIAN SYLLABICS NNGI
-1672;AL # CANADIAN SYLLABICS NNGII
-1673;AL # CANADIAN SYLLABICS NNGO
-1674;AL # CANADIAN SYLLABICS NNGOO
-1675;AL # CANADIAN SYLLABICS NNGA
-1676;AL # CANADIAN SYLLABICS NNGAA
-1677;AL # CANADIAN SYLLABICS WOODS-CREE THWEE
-1678;AL # CANADIAN SYLLABICS WOODS-CREE THWI
-1679;AL # CANADIAN SYLLABICS WOODS-CREE THWII
-167A;AL # CANADIAN SYLLABICS WOODS-CREE THWO
-167B;AL # CANADIAN SYLLABICS WOODS-CREE THWOO
-167C;AL # CANADIAN SYLLABICS WOODS-CREE THWA
-167D;AL # CANADIAN SYLLABICS WOODS-CREE THWAA
-167E;AL # CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F;AL # CANADIAN SYLLABICS BLACKFOOT W
-1680;BA # OGHAM SPACE MARK
-1681;AL # OGHAM LETTER BEITH
-1682;AL # OGHAM LETTER LUIS
-1683;AL # OGHAM LETTER FEARN
-1684;AL # OGHAM LETTER SAIL
-1685;AL # OGHAM LETTER NION
-1686;AL # OGHAM LETTER UATH
-1687;AL # OGHAM LETTER DAIR
-1688;AL # OGHAM LETTER TINNE
-1689;AL # OGHAM LETTER COLL
-168A;AL # OGHAM LETTER CEIRT
-168B;AL # OGHAM LETTER MUIN
-168C;AL # OGHAM LETTER GORT
-168D;AL # OGHAM LETTER NGEADAL
-168E;AL # OGHAM LETTER STRAIF
-168F;AL # OGHAM LETTER RUIS
-1690;AL # OGHAM LETTER AILM
-1691;AL # OGHAM LETTER ONN
-1692;AL # OGHAM LETTER UR
-1693;AL # OGHAM LETTER EADHADH
-1694;AL # OGHAM LETTER IODHADH
-1695;AL # OGHAM LETTER EABHADH
-1696;AL # OGHAM LETTER OR
-1697;AL # OGHAM LETTER UILLEANN
-1698;AL # OGHAM LETTER IFIN
-1699;AL # OGHAM LETTER EAMHANCHOLL
-169A;AL # OGHAM LETTER PEITH
-169B;OP # OGHAM FEATHER MARK
-169C;CL # OGHAM REVERSED FEATHER MARK
-16A0;AL # RUNIC LETTER FEHU FEOH FE F
-16A1;AL # RUNIC LETTER V
-16A2;AL # RUNIC LETTER URUZ UR U
-16A3;AL # RUNIC LETTER YR
-16A4;AL # RUNIC LETTER Y
-16A5;AL # RUNIC LETTER W
-16A6;AL # RUNIC LETTER THURISAZ THURS THORN
-16A7;AL # RUNIC LETTER ETH
-16A8;AL # RUNIC LETTER ANSUZ A
-16A9;AL # RUNIC LETTER OS O
-16AA;AL # RUNIC LETTER AC A
-16AB;AL # RUNIC LETTER AESC
-16AC;AL # RUNIC LETTER LONG-BRANCH-OSS O
-16AD;AL # RUNIC LETTER SHORT-TWIG-OSS O
-16AE;AL # RUNIC LETTER O
-16AF;AL # RUNIC LETTER OE
-16B0;AL # RUNIC LETTER ON
-16B1;AL # RUNIC LETTER RAIDO RAD REID R
-16B2;AL # RUNIC LETTER KAUNA
-16B3;AL # RUNIC LETTER CEN
-16B4;AL # RUNIC LETTER KAUN K
-16B5;AL # RUNIC LETTER G
-16B6;AL # RUNIC LETTER ENG
-16B7;AL # RUNIC LETTER GEBO GYFU G
-16B8;AL # RUNIC LETTER GAR
-16B9;AL # RUNIC LETTER WUNJO WYNN W
-16BA;AL # RUNIC LETTER HAGLAZ H
-16BB;AL # RUNIC LETTER HAEGL H
-16BC;AL # RUNIC LETTER LONG-BRANCH-HAGALL H
-16BD;AL # RUNIC LETTER SHORT-TWIG-HAGALL H
-16BE;AL # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF;AL # RUNIC LETTER SHORT-TWIG-NAUD N
-16C0;AL # RUNIC LETTER DOTTED-N
-16C1;AL # RUNIC LETTER ISAZ IS ISS I
-16C2;AL # RUNIC LETTER E
-16C3;AL # RUNIC LETTER JERAN J
-16C4;AL # RUNIC LETTER GER
-16C5;AL # RUNIC LETTER LONG-BRANCH-AR AE
-16C6;AL # RUNIC LETTER SHORT-TWIG-AR A
-16C7;AL # RUNIC LETTER IWAZ EOH
-16C8;AL # RUNIC LETTER PERTHO PEORTH P
-16C9;AL # RUNIC LETTER ALGIZ EOLHX
-16CA;AL # RUNIC LETTER SOWILO S
-16CB;AL # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
-16CC;AL # RUNIC LETTER SHORT-TWIG-SOL S
-16CD;AL # RUNIC LETTER C
-16CE;AL # RUNIC LETTER Z
-16CF;AL # RUNIC LETTER TIWAZ TIR TYR T
-16D0;AL # RUNIC LETTER SHORT-TWIG-TYR T
-16D1;AL # RUNIC LETTER D
-16D2;AL # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3;AL # RUNIC LETTER SHORT-TWIG-BJARKAN B
-16D4;AL # RUNIC LETTER DOTTED-P
-16D5;AL # RUNIC LETTER OPEN-P
-16D6;AL # RUNIC LETTER EHWAZ EH E
-16D7;AL # RUNIC LETTER MANNAZ MAN M
-16D8;AL # RUNIC LETTER LONG-BRANCH-MADR M
-16D9;AL # RUNIC LETTER SHORT-TWIG-MADR M
-16DA;AL # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB;AL # RUNIC LETTER DOTTED-L
-16DC;AL # RUNIC LETTER INGWAZ
-16DD;AL # RUNIC LETTER ING
-16DE;AL # RUNIC LETTER DAGAZ DAEG D
-16DF;AL # RUNIC LETTER OTHALAN ETHEL O
-16E0;AL # RUNIC LETTER EAR
-16E1;AL # RUNIC LETTER IOR
-16E2;AL # RUNIC LETTER CWEORTH
-16E3;AL # RUNIC LETTER CALC
-16E4;AL # RUNIC LETTER CEALC
-16E5;AL # RUNIC LETTER STAN
-16E6;AL # RUNIC LETTER LONG-BRANCH-YR
-16E7;AL # RUNIC LETTER SHORT-TWIG-YR
-16E8;AL # RUNIC LETTER ICELANDIC-YR
-16E9;AL # RUNIC LETTER Q
-16EA;AL # RUNIC LETTER X
-16EB;BA # RUNIC SINGLE PUNCTUATION
-16EC;BA # RUNIC MULTIPLE PUNCTUATION
-16ED;BA # RUNIC CROSS PUNCTUATION
-16EE;AL # RUNIC ARLAUG SYMBOL
-16EF;AL # RUNIC TVIMADUR SYMBOL
-16F0;AL # RUNIC BELGTHOR SYMBOL
-1700;AL # TAGALOG LETTER A
-1701;AL # TAGALOG LETTER I
-1702;AL # TAGALOG LETTER U
-1703;AL # TAGALOG LETTER KA
-1704;AL # TAGALOG LETTER GA
-1705;AL # TAGALOG LETTER NGA
-1706;AL # TAGALOG LETTER TA
-1707;AL # TAGALOG LETTER DA
-1708;AL # TAGALOG LETTER NA
-1709;AL # TAGALOG LETTER PA
-170A;AL # TAGALOG LETTER BA
-170B;AL # TAGALOG LETTER MA
-170C;AL # TAGALOG LETTER YA
-170E;AL # TAGALOG LETTER LA
-170F;AL # TAGALOG LETTER WA
-1710;AL # TAGALOG LETTER SA
-1711;AL # TAGALOG LETTER HA
-1712;CM # TAGALOG VOWEL SIGN I
-1713;CM # TAGALOG VOWEL SIGN U
-1714;CM # TAGALOG SIGN VIRAMA
-1720;AL # HANUNOO LETTER A
-1721;AL # HANUNOO LETTER I
-1722;AL # HANUNOO LETTER U
-1723;AL # HANUNOO LETTER KA
-1724;AL # HANUNOO LETTER GA
-1725;AL # HANUNOO LETTER NGA
-1726;AL # HANUNOO LETTER TA
-1727;AL # HANUNOO LETTER DA
-1728;AL # HANUNOO LETTER NA
-1729;AL # HANUNOO LETTER PA
-172A;AL # HANUNOO LETTER BA
-172B;AL # HANUNOO LETTER MA
-172C;AL # HANUNOO LETTER YA
-172D;AL # HANUNOO LETTER RA
-172E;AL # HANUNOO LETTER LA
-172F;AL # HANUNOO LETTER WA
-1730;AL # HANUNOO LETTER SA
-1731;AL # HANUNOO LETTER HA
-1732;CM # HANUNOO VOWEL SIGN I
-1733;CM # HANUNOO VOWEL SIGN U
-1734;CM # HANUNOO SIGN PAMUDPOD
-1735;BA # PHILIPPINE SINGLE PUNCTUATION
-1736;BA # PHILIPPINE DOUBLE PUNCTUATION
-1740;AL # BUHID LETTER A
-1741;AL # BUHID LETTER I
-1742;AL # BUHID LETTER U
-1743;AL # BUHID LETTER KA
-1744;AL # BUHID LETTER GA
-1745;AL # BUHID LETTER NGA
-1746;AL # BUHID LETTER TA
-1747;AL # BUHID LETTER DA
-1748;AL # BUHID LETTER NA
-1749;AL # BUHID LETTER PA
-174A;AL # BUHID LETTER BA
-174B;AL # BUHID LETTER MA
-174C;AL # BUHID LETTER YA
-174D;AL # BUHID LETTER RA
-174E;AL # BUHID LETTER LA
-174F;AL # BUHID LETTER WA
-1750;AL # BUHID LETTER SA
-1751;AL # BUHID LETTER HA
-1752;CM # BUHID VOWEL SIGN I
-1753;CM # BUHID VOWEL SIGN U
-1760;AL # TAGBANWA LETTER A
-1761;AL # TAGBANWA LETTER I
-1762;AL # TAGBANWA LETTER U
-1763;AL # TAGBANWA LETTER KA
-1764;AL # TAGBANWA LETTER GA
-1765;AL # TAGBANWA LETTER NGA
-1766;AL # TAGBANWA LETTER TA
-1767;AL # TAGBANWA LETTER DA
-1768;AL # TAGBANWA LETTER NA
-1769;AL # TAGBANWA LETTER PA
-176A;AL # TAGBANWA LETTER BA
-176B;AL # TAGBANWA LETTER MA
-176C;AL # TAGBANWA LETTER YA
-176E;AL # TAGBANWA LETTER LA
-176F;AL # TAGBANWA LETTER WA
-1770;AL # TAGBANWA LETTER SA
-1772;CM # TAGBANWA VOWEL SIGN I
-1773;CM # TAGBANWA VOWEL SIGN U
-1780;SA # KHMER LETTER KA
-1781;SA # KHMER LETTER KHA
-1782;SA # KHMER LETTER KO
-1783;SA # KHMER LETTER KHO
-1784;SA # KHMER LETTER NGO
-1785;SA # KHMER LETTER CA
-1786;SA # KHMER LETTER CHA
-1787;SA # KHMER LETTER CO
-1788;SA # KHMER LETTER CHO
-1789;SA # KHMER LETTER NYO
-178A;SA # KHMER LETTER DA
-178B;SA # KHMER LETTER TTHA
-178C;SA # KHMER LETTER DO
-178D;SA # KHMER LETTER TTHO
-178E;SA # KHMER LETTER NNO
-178F;SA # KHMER LETTER TA
-1790;SA # KHMER LETTER THA
-1791;SA # KHMER LETTER TO
-1792;SA # KHMER LETTER THO
-1793;SA # KHMER LETTER NO
-1794;SA # KHMER LETTER BA
-1795;SA # KHMER LETTER PHA
-1796;SA # KHMER LETTER PO
-1797;SA # KHMER LETTER PHO
-1798;SA # KHMER LETTER MO
-1799;SA # KHMER LETTER YO
-179A;SA # KHMER LETTER RO
-179B;SA # KHMER LETTER LO
-179C;SA # KHMER LETTER VO
-179D;SA # KHMER LETTER SHA
-179E;SA # KHMER LETTER SSO
-179F;SA # KHMER LETTER SA
-17A0;SA # KHMER LETTER HA
-17A1;SA # KHMER LETTER LA
-17A2;SA # KHMER LETTER QA
-17A3;SA # KHMER INDEPENDENT VOWEL QAQ
-17A4;SA # KHMER INDEPENDENT VOWEL QAA
-17A5;SA # KHMER INDEPENDENT VOWEL QI
-17A6;SA # KHMER INDEPENDENT VOWEL QII
-17A7;SA # KHMER INDEPENDENT VOWEL QU
-17A8;SA # KHMER INDEPENDENT VOWEL QUK
-17A9;SA # KHMER INDEPENDENT VOWEL QUU
-17AA;SA # KHMER INDEPENDENT VOWEL QUUV
-17AB;SA # KHMER INDEPENDENT VOWEL RY
-17AC;SA # KHMER INDEPENDENT VOWEL RYY
-17AD;SA # KHMER INDEPENDENT VOWEL LY
-17AE;SA # KHMER INDEPENDENT VOWEL LYY
-17AF;SA # KHMER INDEPENDENT VOWEL QE
-17B0;SA # KHMER INDEPENDENT VOWEL QAI
-17B1;SA # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2;SA # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3;SA # KHMER INDEPENDENT VOWEL QAU
-17B4;SA # KHMER VOWEL INHERENT AQ
-17B5;SA # KHMER VOWEL INHERENT AA
-17B6;SA # KHMER VOWEL SIGN AA
-17B7;SA # KHMER VOWEL SIGN I
-17B8;SA # KHMER VOWEL SIGN II
-17B9;SA # KHMER VOWEL SIGN Y
-17BA;SA # KHMER VOWEL SIGN YY
-17BB;SA # KHMER VOWEL SIGN U
-17BC;SA # KHMER VOWEL SIGN UU
-17BD;SA # KHMER VOWEL SIGN UA
-17BE;SA # KHMER VOWEL SIGN OE
-17BF;SA # KHMER VOWEL SIGN YA
-17C0;SA # KHMER VOWEL SIGN IE
-17C1;SA # KHMER VOWEL SIGN E
-17C2;SA # KHMER VOWEL SIGN AE
-17C3;SA # KHMER VOWEL SIGN AI
-17C4;SA # KHMER VOWEL SIGN OO
-17C5;SA # KHMER VOWEL SIGN AU
-17C6;SA # KHMER SIGN NIKAHIT
-17C7;SA # KHMER SIGN REAHMUK
-17C8;SA # KHMER SIGN YUUKALEAPINTU
-17C9;SA # KHMER SIGN MUUSIKATOAN
-17CA;SA # KHMER SIGN TRIISAP
-17CB;SA # KHMER SIGN BANTOC
-17CC;SA # KHMER SIGN ROBAT
-17CD;SA # KHMER SIGN TOANDAKHIAT
-17CE;SA # KHMER SIGN KAKABAT
-17CF;SA # KHMER SIGN AHSDA
-17D0;SA # KHMER SIGN SAMYOK SANNYA
-17D1;SA # KHMER SIGN VIRIAM
-17D2;SA # KHMER SIGN COENG
-17D3;SA # KHMER SIGN BATHAMASAT
-17D4;BA # KHMER SIGN KHAN
-17D5;BA # KHMER SIGN BARIYOOSAN
-17D6;NS # KHMER SIGN CAMNUC PII KUUH
-17D7;SA # KHMER SIGN LEK TOO
-17D8;BA # KHMER SIGN BEYYAL
-17D9;AL # KHMER SIGN PHNAEK MUAN
-17DA;BA # KHMER SIGN KOOMUUT
-17DB;PR # KHMER CURRENCY SYMBOL RIEL
-17DC;SA # KHMER SIGN AVAKRAHASANYA
-17DD;SA # KHMER SIGN ATTHACAN
-17E0;NU # KHMER DIGIT ZERO
-17E1;NU # KHMER DIGIT ONE
-17E2;NU # KHMER DIGIT TWO
-17E3;NU # KHMER DIGIT THREE
-17E4;NU # KHMER DIGIT FOUR
-17E5;NU # KHMER DIGIT FIVE
-17E6;NU # KHMER DIGIT SIX
-17E7;NU # KHMER DIGIT SEVEN
-17E8;NU # KHMER DIGIT EIGHT
-17E9;NU # KHMER DIGIT NINE
-17F0;AL # KHMER SYMBOL LEK ATTAK SON
-17F1;AL # KHMER SYMBOL LEK ATTAK MUOY
-17F2;AL # KHMER SYMBOL LEK ATTAK PII
-17F3;AL # KHMER SYMBOL LEK ATTAK BEI
-17F4;AL # KHMER SYMBOL LEK ATTAK BUON
-17F5;AL # KHMER SYMBOL LEK ATTAK PRAM
-17F6;AL # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-17F7;AL # KHMER SYMBOL LEK ATTAK PRAM-PII
-17F8;AL # KHMER SYMBOL LEK ATTAK PRAM-BEI
-17F9;AL # KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800;AL # MONGOLIAN BIRGA
-1801;AL # MONGOLIAN ELLIPSIS
-1802;EX # MONGOLIAN COMMA
-1803;EX # MONGOLIAN FULL STOP
-1804;BA # MONGOLIAN COLON
-1805;BA # MONGOLIAN FOUR DOTS
-1806;BB # MONGOLIAN TODO SOFT HYPHEN
-1807;AL # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808;EX # MONGOLIAN MANCHU COMMA
-1809;EX # MONGOLIAN MANCHU FULL STOP
-180A;AL # MONGOLIAN NIRUGU
-180B;CM # MONGOLIAN FREE VARIATION SELECTOR ONE
-180C;CM # MONGOLIAN FREE VARIATION SELECTOR TWO
-180D;CM # MONGOLIAN FREE VARIATION SELECTOR THREE
-180E;GL # MONGOLIAN VOWEL SEPARATOR
-1810;NU # MONGOLIAN DIGIT ZERO
-1811;NU # MONGOLIAN DIGIT ONE
-1812;NU # MONGOLIAN DIGIT TWO
-1813;NU # MONGOLIAN DIGIT THREE
-1814;NU # MONGOLIAN DIGIT FOUR
-1815;NU # MONGOLIAN DIGIT FIVE
-1816;NU # MONGOLIAN DIGIT SIX
-1817;NU # MONGOLIAN DIGIT SEVEN
-1818;NU # MONGOLIAN DIGIT EIGHT
-1819;NU # MONGOLIAN DIGIT NINE
-1820;AL # MONGOLIAN LETTER A
-1821;AL # MONGOLIAN LETTER E
-1822;AL # MONGOLIAN LETTER I
-1823;AL # MONGOLIAN LETTER O
-1824;AL # MONGOLIAN LETTER U
-1825;AL # MONGOLIAN LETTER OE
-1826;AL # MONGOLIAN LETTER UE
-1827;AL # MONGOLIAN LETTER EE
-1828;AL # MONGOLIAN LETTER NA
-1829;AL # MONGOLIAN LETTER ANG
-182A;AL # MONGOLIAN LETTER BA
-182B;AL # MONGOLIAN LETTER PA
-182C;AL # MONGOLIAN LETTER QA
-182D;AL # MONGOLIAN LETTER GA
-182E;AL # MONGOLIAN LETTER MA
-182F;AL # MONGOLIAN LETTER LA
-1830;AL # MONGOLIAN LETTER SA
-1831;AL # MONGOLIAN LETTER SHA
-1832;AL # MONGOLIAN LETTER TA
-1833;AL # MONGOLIAN LETTER DA
-1834;AL # MONGOLIAN LETTER CHA
-1835;AL # MONGOLIAN LETTER JA
-1836;AL # MONGOLIAN LETTER YA
-1837;AL # MONGOLIAN LETTER RA
-1838;AL # MONGOLIAN LETTER WA
-1839;AL # MONGOLIAN LETTER FA
-183A;AL # MONGOLIAN LETTER KA
-183B;AL # MONGOLIAN LETTER KHA
-183C;AL # MONGOLIAN LETTER TSA
-183D;AL # MONGOLIAN LETTER ZA
-183E;AL # MONGOLIAN LETTER HAA
-183F;AL # MONGOLIAN LETTER ZRA
-1840;AL # MONGOLIAN LETTER LHA
-1841;AL # MONGOLIAN LETTER ZHI
-1842;AL # MONGOLIAN LETTER CHI
-1843;AL # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844;AL # MONGOLIAN LETTER TODO E
-1845;AL # MONGOLIAN LETTER TODO I
-1846;AL # MONGOLIAN LETTER TODO O
-1847;AL # MONGOLIAN LETTER TODO U
-1848;AL # MONGOLIAN LETTER TODO OE
-1849;AL # MONGOLIAN LETTER TODO UE
-184A;AL # MONGOLIAN LETTER TODO ANG
-184B;AL # MONGOLIAN LETTER TODO BA
-184C;AL # MONGOLIAN LETTER TODO PA
-184D;AL # MONGOLIAN LETTER TODO QA
-184E;AL # MONGOLIAN LETTER TODO GA
-184F;AL # MONGOLIAN LETTER TODO MA
-1850;AL # MONGOLIAN LETTER TODO TA
-1851;AL # MONGOLIAN LETTER TODO DA
-1852;AL # MONGOLIAN LETTER TODO CHA
-1853;AL # MONGOLIAN LETTER TODO JA
-1854;AL # MONGOLIAN LETTER TODO TSA
-1855;AL # MONGOLIAN LETTER TODO YA
-1856;AL # MONGOLIAN LETTER TODO WA
-1857;AL # MONGOLIAN LETTER TODO KA
-1858;AL # MONGOLIAN LETTER TODO GAA
-1859;AL # MONGOLIAN LETTER TODO HAA
-185A;AL # MONGOLIAN LETTER TODO JIA
-185B;AL # MONGOLIAN LETTER TODO NIA
-185C;AL # MONGOLIAN LETTER TODO DZA
-185D;AL # MONGOLIAN LETTER SIBE E
-185E;AL # MONGOLIAN LETTER SIBE I
-185F;AL # MONGOLIAN LETTER SIBE IY
-1860;AL # MONGOLIAN LETTER SIBE UE
-1861;AL # MONGOLIAN LETTER SIBE U
-1862;AL # MONGOLIAN LETTER SIBE ANG
-1863;AL # MONGOLIAN LETTER SIBE KA
-1864;AL # MONGOLIAN LETTER SIBE GA
-1865;AL # MONGOLIAN LETTER SIBE HA
-1866;AL # MONGOLIAN LETTER SIBE PA
-1867;AL # MONGOLIAN LETTER SIBE SHA
-1868;AL # MONGOLIAN LETTER SIBE TA
-1869;AL # MONGOLIAN LETTER SIBE DA
-186A;AL # MONGOLIAN LETTER SIBE JA
-186B;AL # MONGOLIAN LETTER SIBE FA
-186C;AL # MONGOLIAN LETTER SIBE GAA
-186D;AL # MONGOLIAN LETTER SIBE HAA
-186E;AL # MONGOLIAN LETTER SIBE TSA
-186F;AL # MONGOLIAN LETTER SIBE ZA
-1870;AL # MONGOLIAN LETTER SIBE RAA
-1871;AL # MONGOLIAN LETTER SIBE CHA
-1872;AL # MONGOLIAN LETTER SIBE ZHA
-1873;AL # MONGOLIAN LETTER MANCHU I
-1874;AL # MONGOLIAN LETTER MANCHU KA
-1875;AL # MONGOLIAN LETTER MANCHU RA
-1876;AL # MONGOLIAN LETTER MANCHU FA
-1877;AL # MONGOLIAN LETTER MANCHU ZHA
-1880;AL # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881;AL # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882;AL # MONGOLIAN LETTER ALI GALI DAMARU
-1883;AL # MONGOLIAN LETTER ALI GALI UBADAMA
-1884;AL # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885;AL # MONGOLIAN LETTER ALI GALI BALUDA
-1886;AL # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1887;AL # MONGOLIAN LETTER ALI GALI A
-1888;AL # MONGOLIAN LETTER ALI GALI I
-1889;AL # MONGOLIAN LETTER ALI GALI KA
-188A;AL # MONGOLIAN LETTER ALI GALI NGA
-188B;AL # MONGOLIAN LETTER ALI GALI CA
-188C;AL # MONGOLIAN LETTER ALI GALI TTA
-188D;AL # MONGOLIAN LETTER ALI GALI TTHA
-188E;AL # MONGOLIAN LETTER ALI GALI DDA
-188F;AL # MONGOLIAN LETTER ALI GALI NNA
-1890;AL # MONGOLIAN LETTER ALI GALI TA
-1891;AL # MONGOLIAN LETTER ALI GALI DA
-1892;AL # MONGOLIAN LETTER ALI GALI PA
-1893;AL # MONGOLIAN LETTER ALI GALI PHA
-1894;AL # MONGOLIAN LETTER ALI GALI SSA
-1895;AL # MONGOLIAN LETTER ALI GALI ZHA
-1896;AL # MONGOLIAN LETTER ALI GALI ZA
-1897;AL # MONGOLIAN LETTER ALI GALI AH
-1898;AL # MONGOLIAN LETTER TODO ALI GALI TA
-1899;AL # MONGOLIAN LETTER TODO ALI GALI ZHA
-189A;AL # MONGOLIAN LETTER MANCHU ALI GALI GHA
-189B;AL # MONGOLIAN LETTER MANCHU ALI GALI NGA
-189C;AL # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D;AL # MONGOLIAN LETTER MANCHU ALI GALI JHA
-189E;AL # MONGOLIAN LETTER MANCHU ALI GALI TTA
-189F;AL # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-18A0;AL # MONGOLIAN LETTER MANCHU ALI GALI TA
-18A1;AL # MONGOLIAN LETTER MANCHU ALI GALI DHA
-18A2;AL # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A3;AL # MONGOLIAN LETTER MANCHU ALI GALI CYA
-18A4;AL # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5;AL # MONGOLIAN LETTER MANCHU ALI GALI ZA
-18A6;AL # MONGOLIAN LETTER ALI GALI HALF U
-18A7;AL # MONGOLIAN LETTER ALI GALI HALF YA
-18A8;AL # MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9;CM # MONGOLIAN LETTER ALI GALI DAGALGA
-18AA;AL # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0;AL # CANADIAN SYLLABICS OY
-18B1;AL # CANADIAN SYLLABICS AY
-18B2;AL # CANADIAN SYLLABICS AAY
-18B3;AL # CANADIAN SYLLABICS WAY
-18B4;AL # CANADIAN SYLLABICS POY
-18B5;AL # CANADIAN SYLLABICS PAY
-18B6;AL # CANADIAN SYLLABICS PWOY
-18B7;AL # CANADIAN SYLLABICS TAY
-18B8;AL # CANADIAN SYLLABICS KAY
-18B9;AL # CANADIAN SYLLABICS KWAY
-18BA;AL # CANADIAN SYLLABICS MAY
-18BB;AL # CANADIAN SYLLABICS NOY
-18BC;AL # CANADIAN SYLLABICS NAY
-18BD;AL # CANADIAN SYLLABICS LAY
-18BE;AL # CANADIAN SYLLABICS SOY
-18BF;AL # CANADIAN SYLLABICS SAY
-18C0;AL # CANADIAN SYLLABICS SHOY
-18C1;AL # CANADIAN SYLLABICS SHAY
-18C2;AL # CANADIAN SYLLABICS SHWOY
-18C3;AL # CANADIAN SYLLABICS YOY
-18C4;AL # CANADIAN SYLLABICS YAY
-18C5;AL # CANADIAN SYLLABICS RAY
-18C6;AL # CANADIAN SYLLABICS NWI
-18C7;AL # CANADIAN SYLLABICS OJIBWAY NWI
-18C8;AL # CANADIAN SYLLABICS NWII
-18C9;AL # CANADIAN SYLLABICS OJIBWAY NWII
-18CA;AL # CANADIAN SYLLABICS NWO
-18CB;AL # CANADIAN SYLLABICS OJIBWAY NWO
-18CC;AL # CANADIAN SYLLABICS NWOO
-18CD;AL # CANADIAN SYLLABICS OJIBWAY NWOO
-18CE;AL # CANADIAN SYLLABICS RWEE
-18CF;AL # CANADIAN SYLLABICS RWI
-18D0;AL # CANADIAN SYLLABICS RWII
-18D1;AL # CANADIAN SYLLABICS RWO
-18D2;AL # CANADIAN SYLLABICS RWOO
-18D3;AL # CANADIAN SYLLABICS RWA
-18D4;AL # CANADIAN SYLLABICS OJIBWAY P
-18D5;AL # CANADIAN SYLLABICS OJIBWAY T
-18D6;AL # CANADIAN SYLLABICS OJIBWAY K
-18D7;AL # CANADIAN SYLLABICS OJIBWAY C
-18D8;AL # CANADIAN SYLLABICS OJIBWAY M
-18D9;AL # CANADIAN SYLLABICS OJIBWAY N
-18DA;AL # CANADIAN SYLLABICS OJIBWAY S
-18DB;AL # CANADIAN SYLLABICS OJIBWAY SH
-18DC;AL # CANADIAN SYLLABICS EASTERN W
-18DD;AL # CANADIAN SYLLABICS WESTERN W
-18DE;AL # CANADIAN SYLLABICS FINAL SMALL RING
-18DF;AL # CANADIAN SYLLABICS FINAL RAISED DOT
-18E0;AL # CANADIAN SYLLABICS R-CREE RWE
-18E1;AL # CANADIAN SYLLABICS WEST-CREE LOO
-18E2;AL # CANADIAN SYLLABICS WEST-CREE LAA
-18E3;AL # CANADIAN SYLLABICS THWE
-18E4;AL # CANADIAN SYLLABICS THWA
-18E5;AL # CANADIAN SYLLABICS TTHWE
-18E6;AL # CANADIAN SYLLABICS TTHOO
-18E7;AL # CANADIAN SYLLABICS TTHAA
-18E8;AL # CANADIAN SYLLABICS TLHWE
-18E9;AL # CANADIAN SYLLABICS TLHOO
-18EA;AL # CANADIAN SYLLABICS SAYISI SHWE
-18EB;AL # CANADIAN SYLLABICS SAYISI SHOO
-18EC;AL # CANADIAN SYLLABICS SAYISI HOO
-18ED;AL # CANADIAN SYLLABICS CARRIER GWU
-18EE;AL # CANADIAN SYLLABICS CARRIER DENE GEE
-18EF;AL # CANADIAN SYLLABICS CARRIER GAA
-18F0;AL # CANADIAN SYLLABICS CARRIER GWA
-18F1;AL # CANADIAN SYLLABICS SAYISI JUU
-18F2;AL # CANADIAN SYLLABICS CARRIER JWA
-18F3;AL # CANADIAN SYLLABICS BEAVER DENE L
-18F4;AL # CANADIAN SYLLABICS BEAVER DENE R
-18F5;AL # CANADIAN SYLLABICS CARRIER DENTAL S
-1900;AL # LIMBU VOWEL-CARRIER LETTER
-1901;AL # LIMBU LETTER KA
-1902;AL # LIMBU LETTER KHA
-1903;AL # LIMBU LETTER GA
-1904;AL # LIMBU LETTER GHA
-1905;AL # LIMBU LETTER NGA
-1906;AL # LIMBU LETTER CA
-1907;AL # LIMBU LETTER CHA
-1908;AL # LIMBU LETTER JA
-1909;AL # LIMBU LETTER JHA
-190A;AL # LIMBU LETTER YAN
-190B;AL # LIMBU LETTER TA
-190C;AL # LIMBU LETTER THA
-190D;AL # LIMBU LETTER DA
-190E;AL # LIMBU LETTER DHA
-190F;AL # LIMBU LETTER NA
-1910;AL # LIMBU LETTER PA
-1911;AL # LIMBU LETTER PHA
-1912;AL # LIMBU LETTER BA
-1913;AL # LIMBU LETTER BHA
-1914;AL # LIMBU LETTER MA
-1915;AL # LIMBU LETTER YA
-1916;AL # LIMBU LETTER RA
-1917;AL # LIMBU LETTER LA
-1918;AL # LIMBU LETTER WA
-1919;AL # LIMBU LETTER SHA
-191A;AL # LIMBU LETTER SSA
-191B;AL # LIMBU LETTER SA
-191C;AL # LIMBU LETTER HA
-1920;CM # LIMBU VOWEL SIGN A
-1921;CM # LIMBU VOWEL SIGN I
-1922;CM # LIMBU VOWEL SIGN U
-1923;CM # LIMBU VOWEL SIGN EE
-1924;CM # LIMBU VOWEL SIGN AI
-1925;CM # LIMBU VOWEL SIGN OO
-1926;CM # LIMBU VOWEL SIGN AU
-1927;CM # LIMBU VOWEL SIGN E
-1928;CM # LIMBU VOWEL SIGN O
-1929;CM # LIMBU SUBJOINED LETTER YA
-192A;CM # LIMBU SUBJOINED LETTER RA
-192B;CM # LIMBU SUBJOINED LETTER WA
-1930;CM # LIMBU SMALL LETTER KA
-1931;CM # LIMBU SMALL LETTER NGA
-1932;CM # LIMBU SMALL LETTER ANUSVARA
-1933;CM # LIMBU SMALL LETTER TA
-1934;CM # LIMBU SMALL LETTER NA
-1935;CM # LIMBU SMALL LETTER PA
-1936;CM # LIMBU SMALL LETTER MA
-1937;CM # LIMBU SMALL LETTER RA
-1938;CM # LIMBU SMALL LETTER LA
-1939;CM # LIMBU SIGN MUKPHRENG
-193A;CM # LIMBU SIGN KEMPHRENG
-193B;CM # LIMBU SIGN SA-I
-1940;AL # LIMBU SIGN LOO
-1944;EX # LIMBU EXCLAMATION MARK
-1945;EX # LIMBU QUESTION MARK
-1946;NU # LIMBU DIGIT ZERO
-1947;NU # LIMBU DIGIT ONE
-1948;NU # LIMBU DIGIT TWO
-1949;NU # LIMBU DIGIT THREE
-194A;NU # LIMBU DIGIT FOUR
-194B;NU # LIMBU DIGIT FIVE
-194C;NU # LIMBU DIGIT SIX
-194D;NU # LIMBU DIGIT SEVEN
-194E;NU # LIMBU DIGIT EIGHT
-194F;NU # LIMBU DIGIT NINE
-1950;SA # TAI LE LETTER KA
-1951;SA # TAI LE LETTER XA
-1952;SA # TAI LE LETTER NGA
-1953;SA # TAI LE LETTER TSA
-1954;SA # TAI LE LETTER SA
-1955;SA # TAI LE LETTER YA
-1956;SA # TAI LE LETTER TA
-1957;SA # TAI LE LETTER THA
-1958;SA # TAI LE LETTER LA
-1959;SA # TAI LE LETTER PA
-195A;SA # TAI LE LETTER PHA
-195B;SA # TAI LE LETTER MA
-195C;SA # TAI LE LETTER FA
-195D;SA # TAI LE LETTER VA
-195E;SA # TAI LE LETTER HA
-195F;SA # TAI LE LETTER QA
-1960;SA # TAI LE LETTER KHA
-1961;SA # TAI LE LETTER TSHA
-1962;SA # TAI LE LETTER NA
-1963;SA # TAI LE LETTER A
-1964;SA # TAI LE LETTER I
-1965;SA # TAI LE LETTER EE
-1966;SA # TAI LE LETTER EH
-1967;SA # TAI LE LETTER U
-1968;SA # TAI LE LETTER OO
-1969;SA # TAI LE LETTER O
-196A;SA # TAI LE LETTER UE
-196B;SA # TAI LE LETTER E
-196C;SA # TAI LE LETTER AUE
-196D;SA # TAI LE LETTER AI
-1970;SA # TAI LE LETTER TONE-2
-1971;SA # TAI LE LETTER TONE-3
-1972;SA # TAI LE LETTER TONE-4
-1973;SA # TAI LE LETTER TONE-5
-1974;SA # TAI LE LETTER TONE-6
-1980;SA # NEW TAI LUE LETTER HIGH QA
-1981;SA # NEW TAI LUE LETTER LOW QA
-1982;SA # NEW TAI LUE LETTER HIGH KA
-1983;SA # NEW TAI LUE LETTER HIGH XA
-1984;SA # NEW TAI LUE LETTER HIGH NGA
-1985;SA # NEW TAI LUE LETTER LOW KA
-1986;SA # NEW TAI LUE LETTER LOW XA
-1987;SA # NEW TAI LUE LETTER LOW NGA
-1988;SA # NEW TAI LUE LETTER HIGH TSA
-1989;SA # NEW TAI LUE LETTER HIGH SA
-198A;SA # NEW TAI LUE LETTER HIGH YA
-198B;SA # NEW TAI LUE LETTER LOW TSA
-198C;SA # NEW TAI LUE LETTER LOW SA
-198D;SA # NEW TAI LUE LETTER LOW YA
-198E;SA # NEW TAI LUE LETTER HIGH TA
-198F;SA # NEW TAI LUE LETTER HIGH THA
-1990;SA # NEW TAI LUE LETTER HIGH NA
-1991;SA # NEW TAI LUE LETTER LOW TA
-1992;SA # NEW TAI LUE LETTER LOW THA
-1993;SA # NEW TAI LUE LETTER LOW NA
-1994;SA # NEW TAI LUE LETTER HIGH PA
-1995;SA # NEW TAI LUE LETTER HIGH PHA
-1996;SA # NEW TAI LUE LETTER HIGH MA
-1997;SA # NEW TAI LUE LETTER LOW PA
-1998;SA # NEW TAI LUE LETTER LOW PHA
-1999;SA # NEW TAI LUE LETTER LOW MA
-199A;SA # NEW TAI LUE LETTER HIGH FA
-199B;SA # NEW TAI LUE LETTER HIGH VA
-199C;SA # NEW TAI LUE LETTER HIGH LA
-199D;SA # NEW TAI LUE LETTER LOW FA
-199E;SA # NEW TAI LUE LETTER LOW VA
-199F;SA # NEW TAI LUE LETTER LOW LA
-19A0;SA # NEW TAI LUE LETTER HIGH HA
-19A1;SA # NEW TAI LUE LETTER HIGH DA
-19A2;SA # NEW TAI LUE LETTER HIGH BA
-19A3;SA # NEW TAI LUE LETTER LOW HA
-19A4;SA # NEW TAI LUE LETTER LOW DA
-19A5;SA # NEW TAI LUE LETTER LOW BA
-19A6;SA # NEW TAI LUE LETTER HIGH KVA
-19A7;SA # NEW TAI LUE LETTER HIGH XVA
-19A8;SA # NEW TAI LUE LETTER LOW KVA
-19A9;SA # NEW TAI LUE LETTER LOW XVA
-19AA;SA # NEW TAI LUE LETTER HIGH SUA
-19AB;SA # NEW TAI LUE LETTER LOW SUA
-19B0;SA # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1;SA # NEW TAI LUE VOWEL SIGN AA
-19B2;SA # NEW TAI LUE VOWEL SIGN II
-19B3;SA # NEW TAI LUE VOWEL SIGN U
-19B4;SA # NEW TAI LUE VOWEL SIGN UU
-19B5;SA # NEW TAI LUE VOWEL SIGN E
-19B6;SA # NEW TAI LUE VOWEL SIGN AE
-19B7;SA # NEW TAI LUE VOWEL SIGN O
-19B8;SA # NEW TAI LUE VOWEL SIGN OA
-19B9;SA # NEW TAI LUE VOWEL SIGN UE
-19BA;SA # NEW TAI LUE VOWEL SIGN AY
-19BB;SA # NEW TAI LUE VOWEL SIGN AAY
-19BC;SA # NEW TAI LUE VOWEL SIGN UY
-19BD;SA # NEW TAI LUE VOWEL SIGN OY
-19BE;SA # NEW TAI LUE VOWEL SIGN OAY
-19BF;SA # NEW TAI LUE VOWEL SIGN UEY
-19C0;SA # NEW TAI LUE VOWEL SIGN IY
-19C1;SA # NEW TAI LUE LETTER FINAL V
-19C2;SA # NEW TAI LUE LETTER FINAL NG
-19C3;SA # NEW TAI LUE LETTER FINAL N
-19C4;SA # NEW TAI LUE LETTER FINAL M
-19C5;SA # NEW TAI LUE LETTER FINAL K
-19C6;SA # NEW TAI LUE LETTER FINAL D
-19C7;SA # NEW TAI LUE LETTER FINAL B
-19C8;SA # NEW TAI LUE TONE MARK-1
-19C9;SA # NEW TAI LUE TONE MARK-2
-19D0;NU # NEW TAI LUE DIGIT ZERO
-19D1;NU # NEW TAI LUE DIGIT ONE
-19D2;NU # NEW TAI LUE DIGIT TWO
-19D3;NU # NEW TAI LUE DIGIT THREE
-19D4;NU # NEW TAI LUE DIGIT FOUR
-19D5;NU # NEW TAI LUE DIGIT FIVE
-19D6;NU # NEW TAI LUE DIGIT SIX
-19D7;NU # NEW TAI LUE DIGIT SEVEN
-19D8;NU # NEW TAI LUE DIGIT EIGHT
-19D9;NU # NEW TAI LUE DIGIT NINE
-19DA;NU # NEW TAI LUE THAM DIGIT ONE
-19DE;SA # NEW TAI LUE SIGN LAE
-19DF;SA # NEW TAI LUE SIGN LAEV
-19E0;AL # KHMER SYMBOL PATHAMASAT
-19E1;AL # KHMER SYMBOL MUOY KOET
-19E2;AL # KHMER SYMBOL PII KOET
-19E3;AL # KHMER SYMBOL BEI KOET
-19E4;AL # KHMER SYMBOL BUON KOET
-19E5;AL # KHMER SYMBOL PRAM KOET
-19E6;AL # KHMER SYMBOL PRAM-MUOY KOET
-19E7;AL # KHMER SYMBOL PRAM-PII KOET
-19E8;AL # KHMER SYMBOL PRAM-BEI KOET
-19E9;AL # KHMER SYMBOL PRAM-BUON KOET
-19EA;AL # KHMER SYMBOL DAP KOET
-19EB;AL # KHMER SYMBOL DAP-MUOY KOET
-19EC;AL # KHMER SYMBOL DAP-PII KOET
-19ED;AL # KHMER SYMBOL DAP-BEI KOET
-19EE;AL # KHMER SYMBOL DAP-BUON KOET
-19EF;AL # KHMER SYMBOL DAP-PRAM KOET
-19F0;AL # KHMER SYMBOL TUTEYASAT
-19F1;AL # KHMER SYMBOL MUOY ROC
-19F2;AL # KHMER SYMBOL PII ROC
-19F3;AL # KHMER SYMBOL BEI ROC
-19F4;AL # KHMER SYMBOL BUON ROC
-19F5;AL # KHMER SYMBOL PRAM ROC
-19F6;AL # KHMER SYMBOL PRAM-MUOY ROC
-19F7;AL # KHMER SYMBOL PRAM-PII ROC
-19F8;AL # KHMER SYMBOL PRAM-BEI ROC
-19F9;AL # KHMER SYMBOL PRAM-BUON ROC
-19FA;AL # KHMER SYMBOL DAP ROC
-19FB;AL # KHMER SYMBOL DAP-MUOY ROC
-19FC;AL # KHMER SYMBOL DAP-PII ROC
-19FD;AL # KHMER SYMBOL DAP-BEI ROC
-19FE;AL # KHMER SYMBOL DAP-BUON ROC
-19FF;AL # KHMER SYMBOL DAP-PRAM ROC
-1A00;AL # BUGINESE LETTER KA
-1A01;AL # BUGINESE LETTER GA
-1A02;AL # BUGINESE LETTER NGA
-1A03;AL # BUGINESE LETTER NGKA
-1A04;AL # BUGINESE LETTER PA
-1A05;AL # BUGINESE LETTER BA
-1A06;AL # BUGINESE LETTER MA
-1A07;AL # BUGINESE LETTER MPA
-1A08;AL # BUGINESE LETTER TA
-1A09;AL # BUGINESE LETTER DA
-1A0A;AL # BUGINESE LETTER NA
-1A0B;AL # BUGINESE LETTER NRA
-1A0C;AL # BUGINESE LETTER CA
-1A0D;AL # BUGINESE LETTER JA
-1A0E;AL # BUGINESE LETTER NYA
-1A0F;AL # BUGINESE LETTER NYCA
-1A10;AL # BUGINESE LETTER YA
-1A11;AL # BUGINESE LETTER RA
-1A12;AL # BUGINESE LETTER LA
-1A13;AL # BUGINESE LETTER VA
-1A14;AL # BUGINESE LETTER SA
-1A15;AL # BUGINESE LETTER A
-1A16;AL # BUGINESE LETTER HA
-1A17;CM # BUGINESE VOWEL SIGN I
-1A18;CM # BUGINESE VOWEL SIGN U
-1A19;CM # BUGINESE VOWEL SIGN E
-1A1A;CM # BUGINESE VOWEL SIGN O
-1A1B;CM # BUGINESE VOWEL SIGN AE
-1A1E;AL # BUGINESE PALLAWA
-1A1F;AL # BUGINESE END OF SECTION
-1A20;SA # TAI THAM LETTER HIGH KA
-1A21;SA # TAI THAM LETTER HIGH KHA
-1A22;SA # TAI THAM LETTER HIGH KXA
-1A23;SA # TAI THAM LETTER LOW KA
-1A24;SA # TAI THAM LETTER LOW KXA
-1A25;SA # TAI THAM LETTER LOW KHA
-1A26;SA # TAI THAM LETTER NGA
-1A27;SA # TAI THAM LETTER HIGH CA
-1A28;SA # TAI THAM LETTER HIGH CHA
-1A29;SA # TAI THAM LETTER LOW CA
-1A2A;SA # TAI THAM LETTER LOW SA
-1A2B;SA # TAI THAM LETTER LOW CHA
-1A2C;SA # TAI THAM LETTER NYA
-1A2D;SA # TAI THAM LETTER RATA
-1A2E;SA # TAI THAM LETTER HIGH RATHA
-1A2F;SA # TAI THAM LETTER DA
-1A30;SA # TAI THAM LETTER LOW RATHA
-1A31;SA # TAI THAM LETTER RANA
-1A32;SA # TAI THAM LETTER HIGH TA
-1A33;SA # TAI THAM LETTER HIGH THA
-1A34;SA # TAI THAM LETTER LOW TA
-1A35;SA # TAI THAM LETTER LOW THA
-1A36;SA # TAI THAM LETTER NA
-1A37;SA # TAI THAM LETTER BA
-1A38;SA # TAI THAM LETTER HIGH PA
-1A39;SA # TAI THAM LETTER HIGH PHA
-1A3A;SA # TAI THAM LETTER HIGH FA
-1A3B;SA # TAI THAM LETTER LOW PA
-1A3C;SA # TAI THAM LETTER LOW FA
-1A3D;SA # TAI THAM LETTER LOW PHA
-1A3E;SA # TAI THAM LETTER MA
-1A3F;SA # TAI THAM LETTER LOW YA
-1A40;SA # TAI THAM LETTER HIGH YA
-1A41;SA # TAI THAM LETTER RA
-1A42;SA # TAI THAM LETTER RUE
-1A43;SA # TAI THAM LETTER LA
-1A44;SA # TAI THAM LETTER LUE
-1A45;SA # TAI THAM LETTER WA
-1A46;SA # TAI THAM LETTER HIGH SHA
-1A47;SA # TAI THAM LETTER HIGH SSA
-1A48;SA # TAI THAM LETTER HIGH SA
-1A49;SA # TAI THAM LETTER HIGH HA
-1A4A;SA # TAI THAM LETTER LLA
-1A4B;SA # TAI THAM LETTER A
-1A4C;SA # TAI THAM LETTER LOW HA
-1A4D;SA # TAI THAM LETTER I
-1A4E;SA # TAI THAM LETTER II
-1A4F;SA # TAI THAM LETTER U
-1A50;SA # TAI THAM LETTER UU
-1A51;SA # TAI THAM LETTER EE
-1A52;SA # TAI THAM LETTER OO
-1A53;SA # TAI THAM LETTER LAE
-1A54;SA # TAI THAM LETTER GREAT SA
-1A55;SA # TAI THAM CONSONANT SIGN MEDIAL RA
-1A56;SA # TAI THAM CONSONANT SIGN MEDIAL LA
-1A57;SA # TAI THAM CONSONANT SIGN LA TANG LAI
-1A58;SA # TAI THAM SIGN MAI KANG LAI
-1A59;SA # TAI THAM CONSONANT SIGN FINAL NGA
-1A5A;SA # TAI THAM CONSONANT SIGN LOW PA
-1A5B;SA # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-1A5C;SA # TAI THAM CONSONANT SIGN MA
-1A5D;SA # TAI THAM CONSONANT SIGN BA
-1A5E;SA # TAI THAM CONSONANT SIGN SA
-1A60;SA # TAI THAM SIGN SAKOT
-1A61;SA # TAI THAM VOWEL SIGN A
-1A62;SA # TAI THAM VOWEL SIGN MAI SAT
-1A63;SA # TAI THAM VOWEL SIGN AA
-1A64;SA # TAI THAM VOWEL SIGN TALL AA
-1A65;SA # TAI THAM VOWEL SIGN I
-1A66;SA # TAI THAM VOWEL SIGN II
-1A67;SA # TAI THAM VOWEL SIGN UE
-1A68;SA # TAI THAM VOWEL SIGN UUE
-1A69;SA # TAI THAM VOWEL SIGN U
-1A6A;SA # TAI THAM VOWEL SIGN UU
-1A6B;SA # TAI THAM VOWEL SIGN O
-1A6C;SA # TAI THAM VOWEL SIGN OA BELOW
-1A6D;SA # TAI THAM VOWEL SIGN OY
-1A6E;SA # TAI THAM VOWEL SIGN E
-1A6F;SA # TAI THAM VOWEL SIGN AE
-1A70;SA # TAI THAM VOWEL SIGN OO
-1A71;SA # TAI THAM VOWEL SIGN AI
-1A72;SA # TAI THAM VOWEL SIGN THAM AI
-1A73;SA # TAI THAM VOWEL SIGN OA ABOVE
-1A74;SA # TAI THAM SIGN MAI KANG
-1A75;SA # TAI THAM SIGN TONE-1
-1A76;SA # TAI THAM SIGN TONE-2
-1A77;SA # TAI THAM SIGN KHUEN TONE-3
-1A78;SA # TAI THAM SIGN KHUEN TONE-4
-1A79;SA # TAI THAM SIGN KHUEN TONE-5
-1A7A;SA # TAI THAM SIGN RA HAAM
-1A7B;SA # TAI THAM SIGN MAI SAM
-1A7C;SA # TAI THAM SIGN KHUEN-LUE KARAN
-1A7F;CM # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80;NU # TAI THAM HORA DIGIT ZERO
-1A81;NU # TAI THAM HORA DIGIT ONE
-1A82;NU # TAI THAM HORA DIGIT TWO
-1A83;NU # TAI THAM HORA DIGIT THREE
-1A84;NU # TAI THAM HORA DIGIT FOUR
-1A85;NU # TAI THAM HORA DIGIT FIVE
-1A86;NU # TAI THAM HORA DIGIT SIX
-1A87;NU # TAI THAM HORA DIGIT SEVEN
-1A88;NU # TAI THAM HORA DIGIT EIGHT
-1A89;NU # TAI THAM HORA DIGIT NINE
-1A90;NU # TAI THAM THAM DIGIT ZERO
-1A91;NU # TAI THAM THAM DIGIT ONE
-1A92;NU # TAI THAM THAM DIGIT TWO
-1A93;NU # TAI THAM THAM DIGIT THREE
-1A94;NU # TAI THAM THAM DIGIT FOUR
-1A95;NU # TAI THAM THAM DIGIT FIVE
-1A96;NU # TAI THAM THAM DIGIT SIX
-1A97;NU # TAI THAM THAM DIGIT SEVEN
-1A98;NU # TAI THAM THAM DIGIT EIGHT
-1A99;NU # TAI THAM THAM DIGIT NINE
-1AA0;SA # TAI THAM SIGN WIANG
-1AA1;SA # TAI THAM SIGN WIANGWAAK
-1AA2;SA # TAI THAM SIGN SAWAN
-1AA3;SA # TAI THAM SIGN KEOW
-1AA4;SA # TAI THAM SIGN HOY
-1AA5;SA # TAI THAM SIGN DOKMAI
-1AA6;SA # TAI THAM SIGN REVERSED ROTATED RANA
-1AA7;SA # TAI THAM SIGN MAI YAMOK
-1AA8;SA # TAI THAM SIGN KAAN
-1AA9;SA # TAI THAM SIGN KAANKUU
-1AAA;SA # TAI THAM SIGN SATKAAN
-1AAB;SA # TAI THAM SIGN SATKAANKUU
-1AAC;SA # TAI THAM SIGN HANG
-1AAD;SA # TAI THAM SIGN CAANG
-1B00;CM # BALINESE SIGN ULU RICEM
-1B01;CM # BALINESE SIGN ULU CANDRA
-1B02;CM # BALINESE SIGN CECEK
-1B03;CM # BALINESE SIGN SURANG
-1B04;CM # BALINESE SIGN BISAH
-1B05;AL # BALINESE LETTER AKARA
-1B06;AL # BALINESE LETTER AKARA TEDUNG
-1B07;AL # BALINESE LETTER IKARA
-1B08;AL # BALINESE LETTER IKARA TEDUNG
-1B09;AL # BALINESE LETTER UKARA
-1B0A;AL # BALINESE LETTER UKARA TEDUNG
-1B0B;AL # BALINESE LETTER RA REPA
-1B0C;AL # BALINESE LETTER RA REPA TEDUNG
-1B0D;AL # BALINESE LETTER LA LENGA
-1B0E;AL # BALINESE LETTER LA LENGA TEDUNG
-1B0F;AL # BALINESE LETTER EKARA
-1B10;AL # BALINESE LETTER AIKARA
-1B11;AL # BALINESE LETTER OKARA
-1B12;AL # BALINESE LETTER OKARA TEDUNG
-1B13;AL # BALINESE LETTER KA
-1B14;AL # BALINESE LETTER KA MAHAPRANA
-1B15;AL # BALINESE LETTER GA
-1B16;AL # BALINESE LETTER GA GORA
-1B17;AL # BALINESE LETTER NGA
-1B18;AL # BALINESE LETTER CA
-1B19;AL # BALINESE LETTER CA LACA
-1B1A;AL # BALINESE LETTER JA
-1B1B;AL # BALINESE LETTER JA JERA
-1B1C;AL # BALINESE LETTER NYA
-1B1D;AL # BALINESE LETTER TA LATIK
-1B1E;AL # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F;AL # BALINESE LETTER DA MURDA ALPAPRANA
-1B20;AL # BALINESE LETTER DA MURDA MAHAPRANA
-1B21;AL # BALINESE LETTER NA RAMBAT
-1B22;AL # BALINESE LETTER TA
-1B23;AL # BALINESE LETTER TA TAWA
-1B24;AL # BALINESE LETTER DA
-1B25;AL # BALINESE LETTER DA MADU
-1B26;AL # BALINESE LETTER NA
-1B27;AL # BALINESE LETTER PA
-1B28;AL # BALINESE LETTER PA KAPAL
-1B29;AL # BALINESE LETTER BA
-1B2A;AL # BALINESE LETTER BA KEMBANG
-1B2B;AL # BALINESE LETTER MA
-1B2C;AL # BALINESE LETTER YA
-1B2D;AL # BALINESE LETTER RA
-1B2E;AL # BALINESE LETTER LA
-1B2F;AL # BALINESE LETTER WA
-1B30;AL # BALINESE LETTER SA SAGA
-1B31;AL # BALINESE LETTER SA SAPA
-1B32;AL # BALINESE LETTER SA
-1B33;AL # BALINESE LETTER HA
-1B34;CM # BALINESE SIGN REREKAN
-1B35;CM # BALINESE VOWEL SIGN TEDUNG
-1B36;CM # BALINESE VOWEL SIGN ULU
-1B37;CM # BALINESE VOWEL SIGN ULU SARI
-1B38;CM # BALINESE VOWEL SIGN SUKU
-1B39;CM # BALINESE VOWEL SIGN SUKU ILUT
-1B3A;CM # BALINESE VOWEL SIGN RA REPA
-1B3B;CM # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C;CM # BALINESE VOWEL SIGN LA LENGA
-1B3D;CM # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E;CM # BALINESE VOWEL SIGN TALING
-1B3F;CM # BALINESE VOWEL SIGN TALING REPA
-1B40;CM # BALINESE VOWEL SIGN TALING TEDUNG
-1B41;CM # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42;CM # BALINESE VOWEL SIGN PEPET
-1B43;CM # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44;CM # BALINESE ADEG ADEG
-1B45;AL # BALINESE LETTER KAF SASAK
-1B46;AL # BALINESE LETTER KHOT SASAK
-1B47;AL # BALINESE LETTER TZIR SASAK
-1B48;AL # BALINESE LETTER EF SASAK
-1B49;AL # BALINESE LETTER VE SASAK
-1B4A;AL # BALINESE LETTER ZAL SASAK
-1B4B;AL # BALINESE LETTER ASYURA SASAK
-1B50;NU # BALINESE DIGIT ZERO
-1B51;NU # BALINESE DIGIT ONE
-1B52;NU # BALINESE DIGIT TWO
-1B53;NU # BALINESE DIGIT THREE
-1B54;NU # BALINESE DIGIT FOUR
-1B55;NU # BALINESE DIGIT FIVE
-1B56;NU # BALINESE DIGIT SIX
-1B57;NU # BALINESE DIGIT SEVEN
-1B58;NU # BALINESE DIGIT EIGHT
-1B59;NU # BALINESE DIGIT NINE
-1B5A;BA # BALINESE PANTI
-1B5B;BA # BALINESE PAMADA
-1B5C;AL # BALINESE WINDU
-1B5D;BA # BALINESE CARIK PAMUNGKAH
-1B5E;BA # BALINESE CARIK SIKI
-1B5F;BA # BALINESE CARIK PAREREN
-1B60;BA # BALINESE PAMENENG
-1B61;AL # BALINESE MUSICAL SYMBOL DONG
-1B62;AL # BALINESE MUSICAL SYMBOL DENG
-1B63;AL # BALINESE MUSICAL SYMBOL DUNG
-1B64;AL # BALINESE MUSICAL SYMBOL DANG
-1B65;AL # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66;AL # BALINESE MUSICAL SYMBOL DING
-1B67;AL # BALINESE MUSICAL SYMBOL DAENG
-1B68;AL # BALINESE MUSICAL SYMBOL DEUNG
-1B69;AL # BALINESE MUSICAL SYMBOL DAING
-1B6A;AL # BALINESE MUSICAL SYMBOL DANG GEDE
-1B6B;CM # BALINESE MUSICAL SYMBOL COMBINING TEGEH
-1B6C;CM # BALINESE MUSICAL SYMBOL COMBINING ENDEP
-1B6D;CM # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
-1B6E;CM # BALINESE MUSICAL SYMBOL COMBINING KEMPLI
-1B6F;CM # BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
-1B70;CM # BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
-1B71;CM # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
-1B72;CM # BALINESE MUSICAL SYMBOL COMBINING BENDE
-1B73;CM # BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74;AL # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75;AL # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76;AL # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77;AL # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78;AL # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79;AL # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A;AL # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B;AL # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C;AL # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B80;CM # SUNDANESE SIGN PANYECEK
-1B81;CM # SUNDANESE SIGN PANGLAYAR
-1B82;CM # SUNDANESE SIGN PANGWISAD
-1B83;AL # SUNDANESE LETTER A
-1B84;AL # SUNDANESE LETTER I
-1B85;AL # SUNDANESE LETTER U
-1B86;AL # SUNDANESE LETTER AE
-1B87;AL # SUNDANESE LETTER O
-1B88;AL # SUNDANESE LETTER E
-1B89;AL # SUNDANESE LETTER EU
-1B8A;AL # SUNDANESE LETTER KA
-1B8B;AL # SUNDANESE LETTER QA
-1B8C;AL # SUNDANESE LETTER GA
-1B8D;AL # SUNDANESE LETTER NGA
-1B8E;AL # SUNDANESE LETTER CA
-1B8F;AL # SUNDANESE LETTER JA
-1B90;AL # SUNDANESE LETTER ZA
-1B91;AL # SUNDANESE LETTER NYA
-1B92;AL # SUNDANESE LETTER TA
-1B93;AL # SUNDANESE LETTER DA
-1B94;AL # SUNDANESE LETTER NA
-1B95;AL # SUNDANESE LETTER PA
-1B96;AL # SUNDANESE LETTER FA
-1B97;AL # SUNDANESE LETTER VA
-1B98;AL # SUNDANESE LETTER BA
-1B99;AL # SUNDANESE LETTER MA
-1B9A;AL # SUNDANESE LETTER YA
-1B9B;AL # SUNDANESE LETTER RA
-1B9C;AL # SUNDANESE LETTER LA
-1B9D;AL # SUNDANESE LETTER WA
-1B9E;AL # SUNDANESE LETTER SA
-1B9F;AL # SUNDANESE LETTER XA
-1BA0;AL # SUNDANESE LETTER HA
-1BA1;CM # SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2;CM # SUNDANESE CONSONANT SIGN PANYAKRA
-1BA3;CM # SUNDANESE CONSONANT SIGN PANYIKU
-1BA4;CM # SUNDANESE VOWEL SIGN PANGHULU
-1BA5;CM # SUNDANESE VOWEL SIGN PANYUKU
-1BA6;CM # SUNDANESE VOWEL SIGN PANAELAENG
-1BA7;CM # SUNDANESE VOWEL SIGN PANOLONG
-1BA8;CM # SUNDANESE VOWEL SIGN PAMEPET
-1BA9;CM # SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA;CM # SUNDANESE SIGN PAMAAEH
-1BAE;AL # SUNDANESE LETTER KHA
-1BAF;AL # SUNDANESE LETTER SYA
-1BB0;NU # SUNDANESE DIGIT ZERO
-1BB1;NU # SUNDANESE DIGIT ONE
-1BB2;NU # SUNDANESE DIGIT TWO
-1BB3;NU # SUNDANESE DIGIT THREE
-1BB4;NU # SUNDANESE DIGIT FOUR
-1BB5;NU # SUNDANESE DIGIT FIVE
-1BB6;NU # SUNDANESE DIGIT SIX
-1BB7;NU # SUNDANESE DIGIT SEVEN
-1BB8;NU # SUNDANESE DIGIT EIGHT
-1BB9;NU # SUNDANESE DIGIT NINE
-1C00;AL # LEPCHA LETTER KA
-1C01;AL # LEPCHA LETTER KLA
-1C02;AL # LEPCHA LETTER KHA
-1C03;AL # LEPCHA LETTER GA
-1C04;AL # LEPCHA LETTER GLA
-1C05;AL # LEPCHA LETTER NGA
-1C06;AL # LEPCHA LETTER CA
-1C07;AL # LEPCHA LETTER CHA
-1C08;AL # LEPCHA LETTER JA
-1C09;AL # LEPCHA LETTER NYA
-1C0A;AL # LEPCHA LETTER TA
-1C0B;AL # LEPCHA LETTER THA
-1C0C;AL # LEPCHA LETTER DA
-1C0D;AL # LEPCHA LETTER NA
-1C0E;AL # LEPCHA LETTER PA
-1C0F;AL # LEPCHA LETTER PLA
-1C10;AL # LEPCHA LETTER PHA
-1C11;AL # LEPCHA LETTER FA
-1C12;AL # LEPCHA LETTER FLA
-1C13;AL # LEPCHA LETTER BA
-1C14;AL # LEPCHA LETTER BLA
-1C15;AL # LEPCHA LETTER MA
-1C16;AL # LEPCHA LETTER MLA
-1C17;AL # LEPCHA LETTER TSA
-1C18;AL # LEPCHA LETTER TSHA
-1C19;AL # LEPCHA LETTER DZA
-1C1A;AL # LEPCHA LETTER YA
-1C1B;AL # LEPCHA LETTER RA
-1C1C;AL # LEPCHA LETTER LA
-1C1D;AL # LEPCHA LETTER HA
-1C1E;AL # LEPCHA LETTER HLA
-1C1F;AL # LEPCHA LETTER VA
-1C20;AL # LEPCHA LETTER SA
-1C21;AL # LEPCHA LETTER SHA
-1C22;AL # LEPCHA LETTER WA
-1C23;AL # LEPCHA LETTER A
-1C24;CM # LEPCHA SUBJOINED LETTER YA
-1C25;CM # LEPCHA SUBJOINED LETTER RA
-1C26;CM # LEPCHA VOWEL SIGN AA
-1C27;CM # LEPCHA VOWEL SIGN I
-1C28;CM # LEPCHA VOWEL SIGN O
-1C29;CM # LEPCHA VOWEL SIGN OO
-1C2A;CM # LEPCHA VOWEL SIGN U
-1C2B;CM # LEPCHA VOWEL SIGN UU
-1C2C;CM # LEPCHA VOWEL SIGN E
-1C2D;CM # LEPCHA CONSONANT SIGN K
-1C2E;CM # LEPCHA CONSONANT SIGN M
-1C2F;CM # LEPCHA CONSONANT SIGN L
-1C30;CM # LEPCHA CONSONANT SIGN N
-1C31;CM # LEPCHA CONSONANT SIGN P
-1C32;CM # LEPCHA CONSONANT SIGN R
-1C33;CM # LEPCHA CONSONANT SIGN T
-1C34;CM # LEPCHA CONSONANT SIGN NYIN-DO
-1C35;CM # LEPCHA CONSONANT SIGN KANG
-1C36;CM # LEPCHA SIGN RAN
-1C37;CM # LEPCHA SIGN NUKTA
-1C3B;BA # LEPCHA PUNCTUATION TA-ROL
-1C3C;BA # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D;BA # LEPCHA PUNCTUATION CER-WA
-1C3E;BA # LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F;BA # LEPCHA PUNCTUATION TSHOOK
-1C40;NU # LEPCHA DIGIT ZERO
-1C41;NU # LEPCHA DIGIT ONE
-1C42;NU # LEPCHA DIGIT TWO
-1C43;NU # LEPCHA DIGIT THREE
-1C44;NU # LEPCHA DIGIT FOUR
-1C45;NU # LEPCHA DIGIT FIVE
-1C46;NU # LEPCHA DIGIT SIX
-1C47;NU # LEPCHA DIGIT SEVEN
-1C48;NU # LEPCHA DIGIT EIGHT
-1C49;NU # LEPCHA DIGIT NINE
-1C4D;AL # LEPCHA LETTER TTA
-1C4E;AL # LEPCHA LETTER TTHA
-1C4F;AL # LEPCHA LETTER DDA
-1C50;NU # OL CHIKI DIGIT ZERO
-1C51;NU # OL CHIKI DIGIT ONE
-1C52;NU # OL CHIKI DIGIT TWO
-1C53;NU # OL CHIKI DIGIT THREE
-1C54;NU # OL CHIKI DIGIT FOUR
-1C55;NU # OL CHIKI DIGIT FIVE
-1C56;NU # OL CHIKI DIGIT SIX
-1C57;NU # OL CHIKI DIGIT SEVEN
-1C58;NU # OL CHIKI DIGIT EIGHT
-1C59;NU # OL CHIKI DIGIT NINE
-1C5A;AL # OL CHIKI LETTER LA
-1C5B;AL # OL CHIKI LETTER AT
-1C5C;AL # OL CHIKI LETTER AG
-1C5D;AL # OL CHIKI LETTER ANG
-1C5E;AL # OL CHIKI LETTER AL
-1C5F;AL # OL CHIKI LETTER LAA
-1C60;AL # OL CHIKI LETTER AAK
-1C61;AL # OL CHIKI LETTER AAJ
-1C62;AL # OL CHIKI LETTER AAM
-1C63;AL # OL CHIKI LETTER AAW
-1C64;AL # OL CHIKI LETTER LI
-1C65;AL # OL CHIKI LETTER IS
-1C66;AL # OL CHIKI LETTER IH
-1C67;AL # OL CHIKI LETTER INY
-1C68;AL # OL CHIKI LETTER IR
-1C69;AL # OL CHIKI LETTER LU
-1C6A;AL # OL CHIKI LETTER UC
-1C6B;AL # OL CHIKI LETTER UD
-1C6C;AL # OL CHIKI LETTER UNN
-1C6D;AL # OL CHIKI LETTER UY
-1C6E;AL # OL CHIKI LETTER LE
-1C6F;AL # OL CHIKI LETTER EP
-1C70;AL # OL CHIKI LETTER EDD
-1C71;AL # OL CHIKI LETTER EN
-1C72;AL # OL CHIKI LETTER ERR
-1C73;AL # OL CHIKI LETTER LO
-1C74;AL # OL CHIKI LETTER OTT
-1C75;AL # OL CHIKI LETTER OB
-1C76;AL # OL CHIKI LETTER OV
-1C77;AL # OL CHIKI LETTER OH
-1C78;AL # OL CHIKI MU TTUDDAG
-1C79;AL # OL CHIKI GAAHLAA TTUDDAAG
-1C7A;AL # OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B;AL # OL CHIKI RELAA
-1C7C;AL # OL CHIKI PHAARKAA
-1C7D;AL # OL CHIKI AHAD
-1C7E;BA # OL CHIKI PUNCTUATION MUCAAD
-1C7F;BA # OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD0;CM # VEDIC TONE KARSHANA
-1CD1;CM # VEDIC TONE SHARA
-1CD2;CM # VEDIC TONE PRENKHA
-1CD3;AL # VEDIC SIGN NIHSHVASA
-1CD4;CM # VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
-1CD5;CM # VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
-1CD6;CM # VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
-1CD7;CM # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
-1CD8;CM # VEDIC TONE CANDRA BELOW
-1CD9;CM # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
-1CDA;CM # VEDIC TONE DOUBLE SVARITA
-1CDB;CM # VEDIC TONE TRIPLE SVARITA
-1CDC;CM # VEDIC TONE KATHAKA ANUDATTA
-1CDD;CM # VEDIC TONE DOT BELOW
-1CDE;CM # VEDIC TONE TWO DOTS BELOW
-1CDF;CM # VEDIC TONE THREE DOTS BELOW
-1CE0;CM # VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1;CM # VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2;CM # VEDIC SIGN VISARGA SVARITA
-1CE3;CM # VEDIC SIGN VISARGA UDATTA
-1CE4;CM # VEDIC SIGN REVERSED VISARGA UDATTA
-1CE5;CM # VEDIC SIGN VISARGA ANUDATTA
-1CE6;CM # VEDIC SIGN REVERSED VISARGA ANUDATTA
-1CE7;CM # VEDIC SIGN VISARGA UDATTA WITH TAIL
-1CE8;CM # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CE9;AL # VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA;AL # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
-1CEB;AL # VEDIC SIGN ANUSVARA VAMAGOMUKHA
-1CEC;AL # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CED;CM # VEDIC SIGN TIRYAK
-1CEE;AL # VEDIC SIGN HEXIFORM LONG ANUSVARA
-1CEF;AL # VEDIC SIGN LONG ANUSVARA
-1CF0;AL # VEDIC SIGN RTHANG LONG ANUSVARA
-1CF1;AL # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2;CM # VEDIC SIGN ARDHAVISARGA
-1D00;AL # LATIN LETTER SMALL CAPITAL A
-1D01;AL # LATIN LETTER SMALL CAPITAL AE
-1D02;AL # LATIN SMALL LETTER TURNED AE
-1D03;AL # LATIN LETTER SMALL CAPITAL BARRED B
-1D04;AL # LATIN LETTER SMALL CAPITAL C
-1D05;AL # LATIN LETTER SMALL CAPITAL D
-1D06;AL # LATIN LETTER SMALL CAPITAL ETH
-1D07;AL # LATIN LETTER SMALL CAPITAL E
-1D08;AL # LATIN SMALL LETTER TURNED OPEN E
-1D09;AL # LATIN SMALL LETTER TURNED I
-1D0A;AL # LATIN LETTER SMALL CAPITAL J
-1D0B;AL # LATIN LETTER SMALL CAPITAL K
-1D0C;AL # LATIN LETTER SMALL CAPITAL L WITH STROKE
-1D0D;AL # LATIN LETTER SMALL CAPITAL M
-1D0E;AL # LATIN LETTER SMALL CAPITAL REVERSED N
-1D0F;AL # LATIN LETTER SMALL CAPITAL O
-1D10;AL # LATIN LETTER SMALL CAPITAL OPEN O
-1D11;AL # LATIN SMALL LETTER SIDEWAYS O
-1D12;AL # LATIN SMALL LETTER SIDEWAYS OPEN O
-1D13;AL # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-1D14;AL # LATIN SMALL LETTER TURNED OE
-1D15;AL # LATIN LETTER SMALL CAPITAL OU
-1D16;AL # LATIN SMALL LETTER TOP HALF O
-1D17;AL # LATIN SMALL LETTER BOTTOM HALF O
-1D18;AL # LATIN LETTER SMALL CAPITAL P
-1D19;AL # LATIN LETTER SMALL CAPITAL REVERSED R
-1D1A;AL # LATIN LETTER SMALL CAPITAL TURNED R
-1D1B;AL # LATIN LETTER SMALL CAPITAL T
-1D1C;AL # LATIN LETTER SMALL CAPITAL U
-1D1D;AL # LATIN SMALL LETTER SIDEWAYS U
-1D1E;AL # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D1F;AL # LATIN SMALL LETTER SIDEWAYS TURNED M
-1D20;AL # LATIN LETTER SMALL CAPITAL V
-1D21;AL # LATIN LETTER SMALL CAPITAL W
-1D22;AL # LATIN LETTER SMALL CAPITAL Z
-1D23;AL # LATIN LETTER SMALL CAPITAL EZH
-1D24;AL # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25;AL # LATIN LETTER AIN
-1D26;AL # GREEK LETTER SMALL CAPITAL GAMMA
-1D27;AL # GREEK LETTER SMALL CAPITAL LAMDA
-1D28;AL # GREEK LETTER SMALL CAPITAL PI
-1D29;AL # GREEK LETTER SMALL CAPITAL RHO
-1D2A;AL # GREEK LETTER SMALL CAPITAL PSI
-1D2B;AL # CYRILLIC LETTER SMALL CAPITAL EL
-1D2C;AL # MODIFIER LETTER CAPITAL A
-1D2D;AL # MODIFIER LETTER CAPITAL AE
-1D2E;AL # MODIFIER LETTER CAPITAL B
-1D2F;AL # MODIFIER LETTER CAPITAL BARRED B
-1D30;AL # MODIFIER LETTER CAPITAL D
-1D31;AL # MODIFIER LETTER CAPITAL E
-1D32;AL # MODIFIER LETTER CAPITAL REVERSED E
-1D33;AL # MODIFIER LETTER CAPITAL G
-1D34;AL # MODIFIER LETTER CAPITAL H
-1D35;AL # MODIFIER LETTER CAPITAL I
-1D36;AL # MODIFIER LETTER CAPITAL J
-1D37;AL # MODIFIER LETTER CAPITAL K
-1D38;AL # MODIFIER LETTER CAPITAL L
-1D39;AL # MODIFIER LETTER CAPITAL M
-1D3A;AL # MODIFIER LETTER CAPITAL N
-1D3B;AL # MODIFIER LETTER CAPITAL REVERSED N
-1D3C;AL # MODIFIER LETTER CAPITAL O
-1D3D;AL # MODIFIER LETTER CAPITAL OU
-1D3E;AL # MODIFIER LETTER CAPITAL P
-1D3F;AL # MODIFIER LETTER CAPITAL R
-1D40;AL # MODIFIER LETTER CAPITAL T
-1D41;AL # MODIFIER LETTER CAPITAL U
-1D42;AL # MODIFIER LETTER CAPITAL W
-1D43;AL # MODIFIER LETTER SMALL A
-1D44;AL # MODIFIER LETTER SMALL TURNED A
-1D45;AL # MODIFIER LETTER SMALL ALPHA
-1D46;AL # MODIFIER LETTER SMALL TURNED AE
-1D47;AL # MODIFIER LETTER SMALL B
-1D48;AL # MODIFIER LETTER SMALL D
-1D49;AL # MODIFIER LETTER SMALL E
-1D4A;AL # MODIFIER LETTER SMALL SCHWA
-1D4B;AL # MODIFIER LETTER SMALL OPEN E
-1D4C;AL # MODIFIER LETTER SMALL TURNED OPEN E
-1D4D;AL # MODIFIER LETTER SMALL G
-1D4E;AL # MODIFIER LETTER SMALL TURNED I
-1D4F;AL # MODIFIER LETTER SMALL K
-1D50;AL # MODIFIER LETTER SMALL M
-1D51;AL # MODIFIER LETTER SMALL ENG
-1D52;AL # MODIFIER LETTER SMALL O
-1D53;AL # MODIFIER LETTER SMALL OPEN O
-1D54;AL # MODIFIER LETTER SMALL TOP HALF O
-1D55;AL # MODIFIER LETTER SMALL BOTTOM HALF O
-1D56;AL # MODIFIER LETTER SMALL P
-1D57;AL # MODIFIER LETTER SMALL T
-1D58;AL # MODIFIER LETTER SMALL U
-1D59;AL # MODIFIER LETTER SMALL SIDEWAYS U
-1D5A;AL # MODIFIER LETTER SMALL TURNED M
-1D5B;AL # MODIFIER LETTER SMALL V
-1D5C;AL # MODIFIER LETTER SMALL AIN
-1D5D;AL # MODIFIER LETTER SMALL BETA
-1D5E;AL # MODIFIER LETTER SMALL GREEK GAMMA
-1D5F;AL # MODIFIER LETTER SMALL DELTA
-1D60;AL # MODIFIER LETTER SMALL GREEK PHI
-1D61;AL # MODIFIER LETTER SMALL CHI
-1D62;AL # LATIN SUBSCRIPT SMALL LETTER I
-1D63;AL # LATIN SUBSCRIPT SMALL LETTER R
-1D64;AL # LATIN SUBSCRIPT SMALL LETTER U
-1D65;AL # LATIN SUBSCRIPT SMALL LETTER V
-1D66;AL # GREEK SUBSCRIPT SMALL LETTER BETA
-1D67;AL # GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D68;AL # GREEK SUBSCRIPT SMALL LETTER RHO
-1D69;AL # GREEK SUBSCRIPT SMALL LETTER PHI
-1D6A;AL # GREEK SUBSCRIPT SMALL LETTER CHI
-1D6B;AL # LATIN SMALL LETTER UE
-1D6C;AL # LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D6D;AL # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D6E;AL # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D6F;AL # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D70;AL # LATIN SMALL LETTER N WITH MIDDLE TILDE
-1D71;AL # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D72;AL # LATIN SMALL LETTER R WITH MIDDLE TILDE
-1D73;AL # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-1D74;AL # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D75;AL # LATIN SMALL LETTER T WITH MIDDLE TILDE
-1D76;AL # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D77;AL # LATIN SMALL LETTER TURNED G
-1D78;AL # MODIFIER LETTER CYRILLIC EN
-1D79;AL # LATIN SMALL LETTER INSULAR G
-1D7A;AL # LATIN SMALL LETTER TH WITH STRIKETHROUGH
-1D7B;AL # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1D7C;AL # LATIN SMALL LETTER IOTA WITH STROKE
-1D7D;AL # LATIN SMALL LETTER P WITH STROKE
-1D7E;AL # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D7F;AL # LATIN SMALL LETTER UPSILON WITH STROKE
-1D80;AL # LATIN SMALL LETTER B WITH PALATAL HOOK
-1D81;AL # LATIN SMALL LETTER D WITH PALATAL HOOK
-1D82;AL # LATIN SMALL LETTER F WITH PALATAL HOOK
-1D83;AL # LATIN SMALL LETTER G WITH PALATAL HOOK
-1D84;AL # LATIN SMALL LETTER K WITH PALATAL HOOK
-1D85;AL # LATIN SMALL LETTER L WITH PALATAL HOOK
-1D86;AL # LATIN SMALL LETTER M WITH PALATAL HOOK
-1D87;AL # LATIN SMALL LETTER N WITH PALATAL HOOK
-1D88;AL # LATIN SMALL LETTER P WITH PALATAL HOOK
-1D89;AL # LATIN SMALL LETTER R WITH PALATAL HOOK
-1D8A;AL # LATIN SMALL LETTER S WITH PALATAL HOOK
-1D8B;AL # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-1D8C;AL # LATIN SMALL LETTER V WITH PALATAL HOOK
-1D8D;AL # LATIN SMALL LETTER X WITH PALATAL HOOK
-1D8E;AL # LATIN SMALL LETTER Z WITH PALATAL HOOK
-1D8F;AL # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D90;AL # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-1D91;AL # LATIN SMALL LETTER D WITH HOOK AND TAIL
-1D92;AL # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-1D93;AL # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-1D94;AL # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D95;AL # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-1D96;AL # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-1D97;AL # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-1D98;AL # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-1D99;AL # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-1D9A;AL # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B;AL # MODIFIER LETTER SMALL TURNED ALPHA
-1D9C;AL # MODIFIER LETTER SMALL C
-1D9D;AL # MODIFIER LETTER SMALL C WITH CURL
-1D9E;AL # MODIFIER LETTER SMALL ETH
-1D9F;AL # MODIFIER LETTER SMALL REVERSED OPEN E
-1DA0;AL # MODIFIER LETTER SMALL F
-1DA1;AL # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
-1DA2;AL # MODIFIER LETTER SMALL SCRIPT G
-1DA3;AL # MODIFIER LETTER SMALL TURNED H
-1DA4;AL # MODIFIER LETTER SMALL I WITH STROKE
-1DA5;AL # MODIFIER LETTER SMALL IOTA
-1DA6;AL # MODIFIER LETTER SMALL CAPITAL I
-1DA7;AL # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
-1DA8;AL # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-1DA9;AL # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
-1DAA;AL # MODIFIER LETTER SMALL L WITH PALATAL HOOK
-1DAB;AL # MODIFIER LETTER SMALL CAPITAL L
-1DAC;AL # MODIFIER LETTER SMALL M WITH HOOK
-1DAD;AL # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
-1DAE;AL # MODIFIER LETTER SMALL N WITH LEFT HOOK
-1DAF;AL # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
-1DB0;AL # MODIFIER LETTER SMALL CAPITAL N
-1DB1;AL # MODIFIER LETTER SMALL BARRED O
-1DB2;AL # MODIFIER LETTER SMALL PHI
-1DB3;AL # MODIFIER LETTER SMALL S WITH HOOK
-1DB4;AL # MODIFIER LETTER SMALL ESH
-1DB5;AL # MODIFIER LETTER SMALL T WITH PALATAL HOOK
-1DB6;AL # MODIFIER LETTER SMALL U BAR
-1DB7;AL # MODIFIER LETTER SMALL UPSILON
-1DB8;AL # MODIFIER LETTER SMALL CAPITAL U
-1DB9;AL # MODIFIER LETTER SMALL V WITH HOOK
-1DBA;AL # MODIFIER LETTER SMALL TURNED V
-1DBB;AL # MODIFIER LETTER SMALL Z
-1DBC;AL # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
-1DBD;AL # MODIFIER LETTER SMALL Z WITH CURL
-1DBE;AL # MODIFIER LETTER SMALL EZH
-1DBF;AL # MODIFIER LETTER SMALL THETA
-1DC0;CM # COMBINING DOTTED GRAVE ACCENT
-1DC1;CM # COMBINING DOTTED ACUTE ACCENT
-1DC2;CM # COMBINING SNAKE BELOW
-1DC3;CM # COMBINING SUSPENSION MARK
-1DC4;CM # COMBINING MACRON-ACUTE
-1DC5;CM # COMBINING GRAVE-MACRON
-1DC6;CM # COMBINING MACRON-GRAVE
-1DC7;CM # COMBINING ACUTE-MACRON
-1DC8;CM # COMBINING GRAVE-ACUTE-GRAVE
-1DC9;CM # COMBINING ACUTE-GRAVE-ACUTE
-1DCA;CM # COMBINING LATIN SMALL LETTER R BELOW
-1DCB;CM # COMBINING BREVE-MACRON
-1DCC;CM # COMBINING MACRON-BREVE
-1DCD;CM # COMBINING DOUBLE CIRCUMFLEX ABOVE
-1DCE;CM # COMBINING OGONEK ABOVE
-1DCF;CM # COMBINING ZIGZAG BELOW
-1DD0;CM # COMBINING IS BELOW
-1DD1;CM # COMBINING UR ABOVE
-1DD2;CM # COMBINING US ABOVE
-1DD3;CM # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
-1DD4;CM # COMBINING LATIN SMALL LETTER AE
-1DD5;CM # COMBINING LATIN SMALL LETTER AO
-1DD6;CM # COMBINING LATIN SMALL LETTER AV
-1DD7;CM # COMBINING LATIN SMALL LETTER C CEDILLA
-1DD8;CM # COMBINING LATIN SMALL LETTER INSULAR D
-1DD9;CM # COMBINING LATIN SMALL LETTER ETH
-1DDA;CM # COMBINING LATIN SMALL LETTER G
-1DDB;CM # COMBINING LATIN LETTER SMALL CAPITAL G
-1DDC;CM # COMBINING LATIN SMALL LETTER K
-1DDD;CM # COMBINING LATIN SMALL LETTER L
-1DDE;CM # COMBINING LATIN LETTER SMALL CAPITAL L
-1DDF;CM # COMBINING LATIN LETTER SMALL CAPITAL M
-1DE0;CM # COMBINING LATIN SMALL LETTER N
-1DE1;CM # COMBINING LATIN LETTER SMALL CAPITAL N
-1DE2;CM # COMBINING LATIN LETTER SMALL CAPITAL R
-1DE3;CM # COMBINING LATIN SMALL LETTER R ROTUNDA
-1DE4;CM # COMBINING LATIN SMALL LETTER S
-1DE5;CM # COMBINING LATIN SMALL LETTER LONG S
-1DE6;CM # COMBINING LATIN SMALL LETTER Z
-1DFD;CM # COMBINING ALMOST EQUAL TO BELOW
-1DFE;CM # COMBINING LEFT ARROWHEAD ABOVE
-1DFF;CM # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1E00;AL # LATIN CAPITAL LETTER A WITH RING BELOW
-1E01;AL # LATIN SMALL LETTER A WITH RING BELOW
-1E02;AL # LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E03;AL # LATIN SMALL LETTER B WITH DOT ABOVE
-1E04;AL # LATIN CAPITAL LETTER B WITH DOT BELOW
-1E05;AL # LATIN SMALL LETTER B WITH DOT BELOW
-1E06;AL # LATIN CAPITAL LETTER B WITH LINE BELOW
-1E07;AL # LATIN SMALL LETTER B WITH LINE BELOW
-1E08;AL # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E09;AL # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0A;AL # LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0B;AL # LATIN SMALL LETTER D WITH DOT ABOVE
-1E0C;AL # LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0D;AL # LATIN SMALL LETTER D WITH DOT BELOW
-1E0E;AL # LATIN CAPITAL LETTER D WITH LINE BELOW
-1E0F;AL # LATIN SMALL LETTER D WITH LINE BELOW
-1E10;AL # LATIN CAPITAL LETTER D WITH CEDILLA
-1E11;AL # LATIN SMALL LETTER D WITH CEDILLA
-1E12;AL # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E13;AL # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E14;AL # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E15;AL # LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E16;AL # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E17;AL # LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E18;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E19;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1A;AL # LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1B;AL # LATIN SMALL LETTER E WITH TILDE BELOW
-1E1C;AL # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1D;AL # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1E;AL # LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E1F;AL # LATIN SMALL LETTER F WITH DOT ABOVE
-1E20;AL # LATIN CAPITAL LETTER G WITH MACRON
-1E21;AL # LATIN SMALL LETTER G WITH MACRON
-1E22;AL # LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E23;AL # LATIN SMALL LETTER H WITH DOT ABOVE
-1E24;AL # LATIN CAPITAL LETTER H WITH DOT BELOW
-1E25;AL # LATIN SMALL LETTER H WITH DOT BELOW
-1E26;AL # LATIN CAPITAL LETTER H WITH DIAERESIS
-1E27;AL # LATIN SMALL LETTER H WITH DIAERESIS
-1E28;AL # LATIN CAPITAL LETTER H WITH CEDILLA
-1E29;AL # LATIN SMALL LETTER H WITH CEDILLA
-1E2A;AL # LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2B;AL # LATIN SMALL LETTER H WITH BREVE BELOW
-1E2C;AL # LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2D;AL # LATIN SMALL LETTER I WITH TILDE BELOW
-1E2E;AL # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E2F;AL # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E30;AL # LATIN CAPITAL LETTER K WITH ACUTE
-1E31;AL # LATIN SMALL LETTER K WITH ACUTE
-1E32;AL # LATIN CAPITAL LETTER K WITH DOT BELOW
-1E33;AL # LATIN SMALL LETTER K WITH DOT BELOW
-1E34;AL # LATIN CAPITAL LETTER K WITH LINE BELOW
-1E35;AL # LATIN SMALL LETTER K WITH LINE BELOW
-1E36;AL # LATIN CAPITAL LETTER L WITH DOT BELOW
-1E37;AL # LATIN SMALL LETTER L WITH DOT BELOW
-1E38;AL # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E39;AL # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3A;AL # LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3B;AL # LATIN SMALL LETTER L WITH LINE BELOW
-1E3C;AL # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3D;AL # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3E;AL # LATIN CAPITAL LETTER M WITH ACUTE
-1E3F;AL # LATIN SMALL LETTER M WITH ACUTE
-1E40;AL # LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E41;AL # LATIN SMALL LETTER M WITH DOT ABOVE
-1E42;AL # LATIN CAPITAL LETTER M WITH DOT BELOW
-1E43;AL # LATIN SMALL LETTER M WITH DOT BELOW
-1E44;AL # LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E45;AL # LATIN SMALL LETTER N WITH DOT ABOVE
-1E46;AL # LATIN CAPITAL LETTER N WITH DOT BELOW
-1E47;AL # LATIN SMALL LETTER N WITH DOT BELOW
-1E48;AL # LATIN CAPITAL LETTER N WITH LINE BELOW
-1E49;AL # LATIN SMALL LETTER N WITH LINE BELOW
-1E4A;AL # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4B;AL # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4C;AL # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4D;AL # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4E;AL # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E4F;AL # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E50;AL # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E51;AL # LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E52;AL # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E53;AL # LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E54;AL # LATIN CAPITAL LETTER P WITH ACUTE
-1E55;AL # LATIN SMALL LETTER P WITH ACUTE
-1E56;AL # LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E57;AL # LATIN SMALL LETTER P WITH DOT ABOVE
-1E58;AL # LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E59;AL # LATIN SMALL LETTER R WITH DOT ABOVE
-1E5A;AL # LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5B;AL # LATIN SMALL LETTER R WITH DOT BELOW
-1E5C;AL # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5D;AL # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5E;AL # LATIN CAPITAL LETTER R WITH LINE BELOW
-1E5F;AL # LATIN SMALL LETTER R WITH LINE BELOW
-1E60;AL # LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E61;AL # LATIN SMALL LETTER S WITH DOT ABOVE
-1E62;AL # LATIN CAPITAL LETTER S WITH DOT BELOW
-1E63;AL # LATIN SMALL LETTER S WITH DOT BELOW
-1E64;AL # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E65;AL # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E66;AL # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E67;AL # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E68;AL # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E69;AL # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A;AL # LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6B;AL # LATIN SMALL LETTER T WITH DOT ABOVE
-1E6C;AL # LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6D;AL # LATIN SMALL LETTER T WITH DOT BELOW
-1E6E;AL # LATIN CAPITAL LETTER T WITH LINE BELOW
-1E6F;AL # LATIN SMALL LETTER T WITH LINE BELOW
-1E70;AL # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E71;AL # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E72;AL # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E73;AL # LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E74;AL # LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E75;AL # LATIN SMALL LETTER U WITH TILDE BELOW
-1E76;AL # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E77;AL # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E78;AL # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E79;AL # LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7A;AL # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7B;AL # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7C;AL # LATIN CAPITAL LETTER V WITH TILDE
-1E7D;AL # LATIN SMALL LETTER V WITH TILDE
-1E7E;AL # LATIN CAPITAL LETTER V WITH DOT BELOW
-1E7F;AL # LATIN SMALL LETTER V WITH DOT BELOW
-1E80;AL # LATIN CAPITAL LETTER W WITH GRAVE
-1E81;AL # LATIN SMALL LETTER W WITH GRAVE
-1E82;AL # LATIN CAPITAL LETTER W WITH ACUTE
-1E83;AL # LATIN SMALL LETTER W WITH ACUTE
-1E84;AL # LATIN CAPITAL LETTER W WITH DIAERESIS
-1E85;AL # LATIN SMALL LETTER W WITH DIAERESIS
-1E86;AL # LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E87;AL # LATIN SMALL LETTER W WITH DOT ABOVE
-1E88;AL # LATIN CAPITAL LETTER W WITH DOT BELOW
-1E89;AL # LATIN SMALL LETTER W WITH DOT BELOW
-1E8A;AL # LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8B;AL # LATIN SMALL LETTER X WITH DOT ABOVE
-1E8C;AL # LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8D;AL # LATIN SMALL LETTER X WITH DIAERESIS
-1E8E;AL # LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E8F;AL # LATIN SMALL LETTER Y WITH DOT ABOVE
-1E90;AL # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E91;AL # LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E92;AL # LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E93;AL # LATIN SMALL LETTER Z WITH DOT BELOW
-1E94;AL # LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E95;AL # LATIN SMALL LETTER Z WITH LINE BELOW
-1E96;AL # LATIN SMALL LETTER H WITH LINE BELOW
-1E97;AL # LATIN SMALL LETTER T WITH DIAERESIS
-1E98;AL # LATIN SMALL LETTER W WITH RING ABOVE
-1E99;AL # LATIN SMALL LETTER Y WITH RING ABOVE
-1E9A;AL # LATIN SMALL LETTER A WITH RIGHT HALF RING
-1E9B;AL # LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9C;AL # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D;AL # LATIN SMALL LETTER LONG S WITH HIGH STROKE
-1E9E;AL # LATIN CAPITAL LETTER SHARP S
-1E9F;AL # LATIN SMALL LETTER DELTA
-1EA0;AL # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA1;AL # LATIN SMALL LETTER A WITH DOT BELOW
-1EA2;AL # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA3;AL # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA4;AL # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA5;AL # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6;AL # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA7;AL # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8;AL # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA9;AL # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA;AL # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAB;AL # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC;AL # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAD;AL # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE;AL # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EAF;AL # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB0;AL # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB1;AL # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB2;AL # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB3;AL # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4;AL # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB5;AL # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB6;AL # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB7;AL # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB8;AL # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EB9;AL # LATIN SMALL LETTER E WITH DOT BELOW
-1EBA;AL # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBB;AL # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBC;AL # LATIN CAPITAL LETTER E WITH TILDE
-1EBD;AL # LATIN SMALL LETTER E WITH TILDE
-1EBE;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBF;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC1;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC3;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC5;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6;AL # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC7;AL # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8;AL # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1EC9;AL # LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECA;AL # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECB;AL # LATIN SMALL LETTER I WITH DOT BELOW
-1ECC;AL # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECD;AL # LATIN SMALL LETTER O WITH DOT BELOW
-1ECE;AL # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ECF;AL # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED0;AL # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED1;AL # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2;AL # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED3;AL # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4;AL # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED5;AL # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6;AL # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED7;AL # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8;AL # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED9;AL # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA;AL # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDB;AL # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDC;AL # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDD;AL # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDE;AL # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EDF;AL # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE0;AL # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE1;AL # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE2;AL # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE3;AL # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE4;AL # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE5;AL # LATIN SMALL LETTER U WITH DOT BELOW
-1EE6;AL # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE7;AL # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE8;AL # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EE9;AL # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEA;AL # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEB;AL # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEC;AL # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EED;AL # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEE;AL # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EEF;AL # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF0;AL # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF1;AL # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF2;AL # LATIN CAPITAL LETTER Y WITH GRAVE
-1EF3;AL # LATIN SMALL LETTER Y WITH GRAVE
-1EF4;AL # LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF5;AL # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF6;AL # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF7;AL # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF8;AL # LATIN CAPITAL LETTER Y WITH TILDE
-1EF9;AL # LATIN SMALL LETTER Y WITH TILDE
-1EFA;AL # LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFB;AL # LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFC;AL # LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFD;AL # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFE;AL # LATIN CAPITAL LETTER Y WITH LOOP
-1EFF;AL # LATIN SMALL LETTER Y WITH LOOP
-1F00;AL # GREEK SMALL LETTER ALPHA WITH PSILI
-1F01;AL # GREEK SMALL LETTER ALPHA WITH DASIA
-1F02;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
-1F03;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
-1F04;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
-1F05;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
-1F06;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F07;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F08;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI
-1F09;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA
-1F0A;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
-1F0B;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
-1F0C;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
-1F0D;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
-1F0E;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F0F;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10;AL # GREEK SMALL LETTER EPSILON WITH PSILI
-1F11;AL # GREEK SMALL LETTER EPSILON WITH DASIA
-1F12;AL # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
-1F13;AL # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
-1F14;AL # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
-1F15;AL # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18;AL # GREEK CAPITAL LETTER EPSILON WITH PSILI
-1F19;AL # GREEK CAPITAL LETTER EPSILON WITH DASIA
-1F1A;AL # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-1F1B;AL # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-1F1C;AL # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-1F1D;AL # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20;AL # GREEK SMALL LETTER ETA WITH PSILI
-1F21;AL # GREEK SMALL LETTER ETA WITH DASIA
-1F22;AL # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
-1F23;AL # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
-1F24;AL # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
-1F25;AL # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
-1F26;AL # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
-1F27;AL # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F28;AL # GREEK CAPITAL LETTER ETA WITH PSILI
-1F29;AL # GREEK CAPITAL LETTER ETA WITH DASIA
-1F2A;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
-1F2B;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
-1F2C;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
-1F2D;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
-1F2E;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
-1F2F;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30;AL # GREEK SMALL LETTER IOTA WITH PSILI
-1F31;AL # GREEK SMALL LETTER IOTA WITH DASIA
-1F32;AL # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
-1F33;AL # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
-1F34;AL # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
-1F35;AL # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
-1F36;AL # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F37;AL # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F38;AL # GREEK CAPITAL LETTER IOTA WITH PSILI
-1F39;AL # GREEK CAPITAL LETTER IOTA WITH DASIA
-1F3A;AL # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
-1F3B;AL # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
-1F3C;AL # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
-1F3D;AL # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
-1F3E;AL # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F3F;AL # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40;AL # GREEK SMALL LETTER OMICRON WITH PSILI
-1F41;AL # GREEK SMALL LETTER OMICRON WITH DASIA
-1F42;AL # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
-1F43;AL # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
-1F44;AL # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
-1F45;AL # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48;AL # GREEK CAPITAL LETTER OMICRON WITH PSILI
-1F49;AL # GREEK CAPITAL LETTER OMICRON WITH DASIA
-1F4A;AL # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
-1F4B;AL # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
-1F4C;AL # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
-1F4D;AL # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50;AL # GREEK SMALL LETTER UPSILON WITH PSILI
-1F51;AL # GREEK SMALL LETTER UPSILON WITH DASIA
-1F52;AL # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
-1F53;AL # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
-1F54;AL # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
-1F55;AL # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
-1F56;AL # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
-1F57;AL # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59;AL # GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B;AL # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D;AL # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F;AL # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60;AL # GREEK SMALL LETTER OMEGA WITH PSILI
-1F61;AL # GREEK SMALL LETTER OMEGA WITH DASIA
-1F62;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
-1F63;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
-1F64;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
-1F65;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
-1F66;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F67;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F68;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI
-1F69;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA
-1F6A;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
-1F6B;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
-1F6C;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
-1F6D;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
-1F6E;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F6F;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70;AL # GREEK SMALL LETTER ALPHA WITH VARIA
-1F71;AL # GREEK SMALL LETTER ALPHA WITH OXIA
-1F72;AL # GREEK SMALL LETTER EPSILON WITH VARIA
-1F73;AL # GREEK SMALL LETTER EPSILON WITH OXIA
-1F74;AL # GREEK SMALL LETTER ETA WITH VARIA
-1F75;AL # GREEK SMALL LETTER ETA WITH OXIA
-1F76;AL # GREEK SMALL LETTER IOTA WITH VARIA
-1F77;AL # GREEK SMALL LETTER IOTA WITH OXIA
-1F78;AL # GREEK SMALL LETTER OMICRON WITH VARIA
-1F79;AL # GREEK SMALL LETTER OMICRON WITH OXIA
-1F7A;AL # GREEK SMALL LETTER UPSILON WITH VARIA
-1F7B;AL # GREEK SMALL LETTER UPSILON WITH OXIA
-1F7C;AL # GREEK SMALL LETTER OMEGA WITH VARIA
-1F7D;AL # GREEK SMALL LETTER OMEGA WITH OXIA
-1F80;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
-1F81;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
-1F82;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F83;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F84;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F85;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F86;AL # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F87;AL # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F88;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
-1F89;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
-1F8A;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F8B;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F8C;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F8D;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F8E;AL # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F8F;AL # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F90;AL # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
-1F91;AL # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
-1F92;AL # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F93;AL # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F94;AL # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F95;AL # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F96;AL # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F97;AL # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F98;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
-1F99;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
-1F9A;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F9B;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F9C;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F9D;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F9E;AL # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F9F;AL # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA0;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
-1FA1;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
-1FA2;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1FA3;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1FA4;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1FA5;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1FA6;AL # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1FA7;AL # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA8;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
-1FA9;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
-1FAA;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1FAB;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1FAC;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1FAD;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1FAE;AL # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1FAF;AL # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB0;AL # GREEK SMALL LETTER ALPHA WITH VRACHY
-1FB1;AL # GREEK SMALL LETTER ALPHA WITH MACRON
-1FB2;AL # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
-1FB3;AL # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-1FB4;AL # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6;AL # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
-1FB7;AL # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FB8;AL # GREEK CAPITAL LETTER ALPHA WITH VRACHY
-1FB9;AL # GREEK CAPITAL LETTER ALPHA WITH MACRON
-1FBA;AL # GREEK CAPITAL LETTER ALPHA WITH VARIA
-1FBB;AL # GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBC;AL # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD;AL # GREEK KORONIS
-1FBE;AL # GREEK PROSGEGRAMMENI
-1FBF;AL # GREEK PSILI
-1FC0;AL # GREEK PERISPOMENI
-1FC1;AL # GREEK DIALYTIKA AND PERISPOMENI
-1FC2;AL # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
-1FC3;AL # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
-1FC4;AL # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6;AL # GREEK SMALL LETTER ETA WITH PERISPOMENI
-1FC7;AL # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FC8;AL # GREEK CAPITAL LETTER EPSILON WITH VARIA
-1FC9;AL # GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCA;AL # GREEK CAPITAL LETTER ETA WITH VARIA
-1FCB;AL # GREEK CAPITAL LETTER ETA WITH OXIA
-1FCC;AL # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD;AL # GREEK PSILI AND VARIA
-1FCE;AL # GREEK PSILI AND OXIA
-1FCF;AL # GREEK PSILI AND PERISPOMENI
-1FD0;AL # GREEK SMALL LETTER IOTA WITH VRACHY
-1FD1;AL # GREEK SMALL LETTER IOTA WITH MACRON
-1FD2;AL # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
-1FD3;AL # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6;AL # GREEK SMALL LETTER IOTA WITH PERISPOMENI
-1FD7;AL # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FD8;AL # GREEK CAPITAL LETTER IOTA WITH VRACHY
-1FD9;AL # GREEK CAPITAL LETTER IOTA WITH MACRON
-1FDA;AL # GREEK CAPITAL LETTER IOTA WITH VARIA
-1FDB;AL # GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD;AL # GREEK DASIA AND VARIA
-1FDE;AL # GREEK DASIA AND OXIA
-1FDF;AL # GREEK DASIA AND PERISPOMENI
-1FE0;AL # GREEK SMALL LETTER UPSILON WITH VRACHY
-1FE1;AL # GREEK SMALL LETTER UPSILON WITH MACRON
-1FE2;AL # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
-1FE3;AL # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE4;AL # GREEK SMALL LETTER RHO WITH PSILI
-1FE5;AL # GREEK SMALL LETTER RHO WITH DASIA
-1FE6;AL # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
-1FE7;AL # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FE8;AL # GREEK CAPITAL LETTER UPSILON WITH VRACHY
-1FE9;AL # GREEK CAPITAL LETTER UPSILON WITH MACRON
-1FEA;AL # GREEK CAPITAL LETTER UPSILON WITH VARIA
-1FEB;AL # GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FEC;AL # GREEK CAPITAL LETTER RHO WITH DASIA
-1FED;AL # GREEK DIALYTIKA AND VARIA
-1FEE;AL # GREEK DIALYTIKA AND OXIA
-1FEF;AL # GREEK VARIA
-1FF2;AL # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
-1FF3;AL # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
-1FF4;AL # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6;AL # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
-1FF7;AL # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FF8;AL # GREEK CAPITAL LETTER OMICRON WITH VARIA
-1FF9;AL # GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFA;AL # GREEK CAPITAL LETTER OMEGA WITH VARIA
-1FFB;AL # GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFC;AL # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD;BB # GREEK OXIA
-1FFE;AL # GREEK DASIA
-2000;BA # EN QUAD
-2001;BA # EM QUAD
-2002;BA # EN SPACE
-2003;BA # EM SPACE
-2004;BA # THREE-PER-EM SPACE
-2005;BA # FOUR-PER-EM SPACE
-2006;BA # SIX-PER-EM SPACE
-2007;GL # FIGURE SPACE
-2008;BA # PUNCTUATION SPACE
-2009;BA # THIN SPACE
-200A;BA # HAIR SPACE
-200B;ZW # ZERO WIDTH SPACE
-200C;CM # ZERO WIDTH NON-JOINER
-200D;CM # ZERO WIDTH JOINER
-200E;CM # LEFT-TO-RIGHT MARK
-200F;CM # RIGHT-TO-LEFT MARK
-2010;BA # HYPHEN
-2011;GL # NON-BREAKING HYPHEN
-2012;BA # FIGURE DASH
-2013;BA # EN DASH
-2014;B2 # EM DASH
-2015;AI # HORIZONTAL BAR
-2016;AI # DOUBLE VERTICAL LINE
-2017;AL # DOUBLE LOW LINE
-2018;QU # LEFT SINGLE QUOTATION MARK
-2019;QU # RIGHT SINGLE QUOTATION MARK
-201A;OP # SINGLE LOW-9 QUOTATION MARK
-201B;QU # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C;QU # LEFT DOUBLE QUOTATION MARK
-201D;QU # RIGHT DOUBLE QUOTATION MARK
-201E;OP # DOUBLE LOW-9 QUOTATION MARK
-201F;QU # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020;AI # DAGGER
-2021;AI # DOUBLE DAGGER
-2022;AL # BULLET
-2023;AL # TRIANGULAR BULLET
-2024;IN # ONE DOT LEADER
-2025;IN # TWO DOT LEADER
-2026;IN # HORIZONTAL ELLIPSIS
-2027;BA # HYPHENATION POINT
-2028;BK # LINE SEPARATOR
-2029;BK # PARAGRAPH SEPARATOR
-202A;CM # LEFT-TO-RIGHT EMBEDDING
-202B;CM # RIGHT-TO-LEFT EMBEDDING
-202C;CM # POP DIRECTIONAL FORMATTING
-202D;CM # LEFT-TO-RIGHT OVERRIDE
-202E;CM # RIGHT-TO-LEFT OVERRIDE
-202F;GL # NARROW NO-BREAK SPACE
-2030;PO # PER MILLE SIGN
-2031;PO # PER TEN THOUSAND SIGN
-2032;PO # PRIME
-2033;PO # DOUBLE PRIME
-2034;PO # TRIPLE PRIME
-2035;PO # REVERSED PRIME
-2036;PO # REVERSED DOUBLE PRIME
-2037;PO # REVERSED TRIPLE PRIME
-2038;AL # CARET
-2039;QU # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A;QU # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B;AI # REFERENCE MARK
-203C;NS # DOUBLE EXCLAMATION MARK
-203D;NS # INTERROBANG
-203E;AL # OVERLINE
-203F;AL # UNDERTIE
-2040;AL # CHARACTER TIE
-2041;AL # CARET INSERTION POINT
-2042;AL # ASTERISM
-2043;AL # HYPHEN BULLET
-2044;IS # FRACTION SLASH
-2045;OP # LEFT SQUARE BRACKET WITH QUILL
-2046;CL # RIGHT SQUARE BRACKET WITH QUILL
-2047;NS # DOUBLE QUESTION MARK
-2048;NS # QUESTION EXCLAMATION MARK
-2049;NS # EXCLAMATION QUESTION MARK
-204A;AL # TIRONIAN SIGN ET
-204B;AL # REVERSED PILCROW SIGN
-204C;AL # BLACK LEFTWARDS BULLET
-204D;AL # BLACK RIGHTWARDS BULLET
-204E;AL # LOW ASTERISK
-204F;AL # REVERSED SEMICOLON
-2050;AL # CLOSE UP
-2051;AL # TWO ASTERISKS ALIGNED VERTICALLY
-2052;AL # COMMERCIAL MINUS SIGN
-2053;AL # SWUNG DASH
-2054;AL # INVERTED UNDERTIE
-2055;AL # FLOWER PUNCTUATION MARK
-2056;BA # THREE DOT PUNCTUATION
-2057;AL # QUADRUPLE PRIME
-2058;BA # FOUR DOT PUNCTUATION
-2059;BA # FIVE DOT PUNCTUATION
-205A;BA # TWO DOT PUNCTUATION
-205B;BA # FOUR DOT MARK
-205C;AL # DOTTED CROSS
-205D;BA # TRICOLON
-205E;BA # VERTICAL FOUR DOTS
-205F;BA # MEDIUM MATHEMATICAL SPACE
-2060;WJ # WORD JOINER
-2061;AL # FUNCTION APPLICATION
-2062;AL # INVISIBLE TIMES
-2063;AL # INVISIBLE SEPARATOR
-2064;AL # INVISIBLE PLUS
-206A;CM # INHIBIT SYMMETRIC SWAPPING
-206B;CM # ACTIVATE SYMMETRIC SWAPPING
-206C;CM # INHIBIT ARABIC FORM SHAPING
-206D;CM # ACTIVATE ARABIC FORM SHAPING
-206E;CM # NATIONAL DIGIT SHAPES
-206F;CM # NOMINAL DIGIT SHAPES
-2070;AL # SUPERSCRIPT ZERO
-2071;AL # SUPERSCRIPT LATIN SMALL LETTER I
-2074;AI # SUPERSCRIPT FOUR
-2075;AL # SUPERSCRIPT FIVE
-2076;AL # SUPERSCRIPT SIX
-2077;AL # SUPERSCRIPT SEVEN
-2078;AL # SUPERSCRIPT EIGHT
-2079;AL # SUPERSCRIPT NINE
-207A;AL # SUPERSCRIPT PLUS SIGN
-207B;AL # SUPERSCRIPT MINUS
-207C;AL # SUPERSCRIPT EQUALS SIGN
-207D;OP # SUPERSCRIPT LEFT PARENTHESIS
-207E;CL # SUPERSCRIPT RIGHT PARENTHESIS
-207F;AI # SUPERSCRIPT LATIN SMALL LETTER N
-2080;AL # SUBSCRIPT ZERO
-2081;AI # SUBSCRIPT ONE
-2082;AI # SUBSCRIPT TWO
-2083;AI # SUBSCRIPT THREE
-2084;AI # SUBSCRIPT FOUR
-2085;AL # SUBSCRIPT FIVE
-2086;AL # SUBSCRIPT SIX
-2087;AL # SUBSCRIPT SEVEN
-2088;AL # SUBSCRIPT EIGHT
-2089;AL # SUBSCRIPT NINE
-208A;AL # SUBSCRIPT PLUS SIGN
-208B;AL # SUBSCRIPT MINUS
-208C;AL # SUBSCRIPT EQUALS SIGN
-208D;OP # SUBSCRIPT LEFT PARENTHESIS
-208E;CL # SUBSCRIPT RIGHT PARENTHESIS
-2090;AL # LATIN SUBSCRIPT SMALL LETTER A
-2091;AL # LATIN SUBSCRIPT SMALL LETTER E
-2092;AL # LATIN SUBSCRIPT SMALL LETTER O
-2093;AL # LATIN SUBSCRIPT SMALL LETTER X
-2094;AL # LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A0;PR # EURO-CURRENCY SIGN
-20A1;PR # COLON SIGN
-20A2;PR # CRUZEIRO SIGN
-20A3;PR # FRENCH FRANC SIGN
-20A4;PR # LIRA SIGN
-20A5;PR # MILL SIGN
-20A6;PR # NAIRA SIGN
-20A7;PO # PESETA SIGN
-20A8;PR # RUPEE SIGN
-20A9;PR # WON SIGN
-20AA;PR # NEW SHEQEL SIGN
-20AB;PR # DONG SIGN
-20AC;PR # EURO SIGN
-20AD;PR # KIP SIGN
-20AE;PR # TUGRIK SIGN
-20AF;PR # DRACHMA SIGN
-20B0;PR # GERMAN PENNY SIGN
-20B1;PR # PESO SIGN
-20B2;PR # GUARANI SIGN
-20B3;PR # AUSTRAL SIGN
-20B4;PR # HRYVNIA SIGN
-20B5;PR # CEDI SIGN
-20B6;PO # LIVRE TOURNOIS SIGN
-20B7;PR # SPESMILO SIGN
-20B8;PR # TENGE SIGN
-20D0;CM # COMBINING LEFT HARPOON ABOVE
-20D1;CM # COMBINING RIGHT HARPOON ABOVE
-20D2;CM # COMBINING LONG VERTICAL LINE OVERLAY
-20D3;CM # COMBINING SHORT VERTICAL LINE OVERLAY
-20D4;CM # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5;CM # COMBINING CLOCKWISE ARROW ABOVE
-20D6;CM # COMBINING LEFT ARROW ABOVE
-20D7;CM # COMBINING RIGHT ARROW ABOVE
-20D8;CM # COMBINING RING OVERLAY
-20D9;CM # COMBINING CLOCKWISE RING OVERLAY
-20DA;CM # COMBINING ANTICLOCKWISE RING OVERLAY
-20DB;CM # COMBINING THREE DOTS ABOVE
-20DC;CM # COMBINING FOUR DOTS ABOVE
-20DD;CM # COMBINING ENCLOSING CIRCLE
-20DE;CM # COMBINING ENCLOSING SQUARE
-20DF;CM # COMBINING ENCLOSING DIAMOND
-20E0;CM # COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1;CM # COMBINING LEFT RIGHT ARROW ABOVE
-20E2;CM # COMBINING ENCLOSING SCREEN
-20E3;CM # COMBINING ENCLOSING KEYCAP
-20E4;CM # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5;CM # COMBINING REVERSE SOLIDUS OVERLAY
-20E6;CM # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7;CM # COMBINING ANNUITY SYMBOL
-20E8;CM # COMBINING TRIPLE UNDERDOT
-20E9;CM # COMBINING WIDE BRIDGE ABOVE
-20EA;CM # COMBINING LEFTWARDS ARROW OVERLAY
-20EB;CM # COMBINING LONG DOUBLE SOLIDUS OVERLAY
-20EC;CM # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-20ED;CM # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
-20EE;CM # COMBINING LEFT ARROW BELOW
-20EF;CM # COMBINING RIGHT ARROW BELOW
-20F0;CM # COMBINING ASTERISK ABOVE
-2100;AL # ACCOUNT OF
-2101;AL # ADDRESSED TO THE SUBJECT
-2102;AL # DOUBLE-STRUCK CAPITAL C
-2103;PO # DEGREE CELSIUS
-2104;AL # CENTRE LINE SYMBOL
-2105;AI # CARE OF
-2106;AL # CADA UNA
-2107;AL # EULER CONSTANT
-2108;AL # SCRUPLE
-2109;PO # DEGREE FAHRENHEIT
-210A;AL # SCRIPT SMALL G
-210B;AL # SCRIPT CAPITAL H
-210C;AL # BLACK-LETTER CAPITAL H
-210D;AL # DOUBLE-STRUCK CAPITAL H
-210E;AL # PLANCK CONSTANT
-210F;AL # PLANCK CONSTANT OVER TWO PI
-2110;AL # SCRIPT CAPITAL I
-2111;AL # BLACK-LETTER CAPITAL I
-2112;AL # SCRIPT CAPITAL L
-2113;AI # SCRIPT SMALL L
-2114;AL # L B BAR SYMBOL
-2115;AL # DOUBLE-STRUCK CAPITAL N
-2116;PR # NUMERO SIGN
-2117;AL # SOUND RECORDING COPYRIGHT
-2118;AL # SCRIPT CAPITAL P
-2119;AL # DOUBLE-STRUCK CAPITAL P
-211A;AL # DOUBLE-STRUCK CAPITAL Q
-211B;AL # SCRIPT CAPITAL R
-211C;AL # BLACK-LETTER CAPITAL R
-211D;AL # DOUBLE-STRUCK CAPITAL R
-211E;AL # PRESCRIPTION TAKE
-211F;AL # RESPONSE
-2120;AL # SERVICE MARK
-2121;AI # TELEPHONE SIGN
-2122;AI # TRADE MARK SIGN
-2123;AL # VERSICLE
-2124;AL # DOUBLE-STRUCK CAPITAL Z
-2125;AL # OUNCE SIGN
-2126;AL # OHM SIGN
-2127;AL # INVERTED OHM SIGN
-2128;AL # BLACK-LETTER CAPITAL Z
-2129;AL # TURNED GREEK SMALL LETTER IOTA
-212A;AL # KELVIN SIGN
-212B;AI # ANGSTROM SIGN
-212C;AL # SCRIPT CAPITAL B
-212D;AL # BLACK-LETTER CAPITAL C
-212E;AL # ESTIMATED SYMBOL
-212F;AL # SCRIPT SMALL E
-2130;AL # SCRIPT CAPITAL E
-2131;AL # SCRIPT CAPITAL F
-2132;AL # TURNED CAPITAL F
-2133;AL # SCRIPT CAPITAL M
-2134;AL # SCRIPT SMALL O
-2135;AL # ALEF SYMBOL
-2136;AL # BET SYMBOL
-2137;AL # GIMEL SYMBOL
-2138;AL # DALET SYMBOL
-2139;AL # INFORMATION SOURCE
-213A;AL # ROTATED CAPITAL Q
-213B;AL # FACSIMILE SIGN
-213C;AL # DOUBLE-STRUCK SMALL PI
-213D;AL # DOUBLE-STRUCK SMALL GAMMA
-213E;AL # DOUBLE-STRUCK CAPITAL GAMMA
-213F;AL # DOUBLE-STRUCK CAPITAL PI
-2140;AL # DOUBLE-STRUCK N-ARY SUMMATION
-2141;AL # TURNED SANS-SERIF CAPITAL G
-2142;AL # TURNED SANS-SERIF CAPITAL L
-2143;AL # REVERSED SANS-SERIF CAPITAL L
-2144;AL # TURNED SANS-SERIF CAPITAL Y
-2145;AL # DOUBLE-STRUCK ITALIC CAPITAL D
-2146;AL # DOUBLE-STRUCK ITALIC SMALL D
-2147;AL # DOUBLE-STRUCK ITALIC SMALL E
-2148;AL # DOUBLE-STRUCK ITALIC SMALL I
-2149;AL # DOUBLE-STRUCK ITALIC SMALL J
-214A;AL # PROPERTY LINE
-214B;AL # TURNED AMPERSAND
-214C;AL # PER SIGN
-214D;AL # AKTIESELSKAB
-214E;AL # TURNED SMALL F
-214F;AL # SYMBOL FOR SAMARITAN SOURCE
-2150;AL # VULGAR FRACTION ONE SEVENTH
-2151;AL # VULGAR FRACTION ONE NINTH
-2152;AL # VULGAR FRACTION ONE TENTH
-2153;AL # VULGAR FRACTION ONE THIRD
-2154;AI # VULGAR FRACTION TWO THIRDS
-2155;AI # VULGAR FRACTION ONE FIFTH
-2156;AL # VULGAR FRACTION TWO FIFTHS
-2157;AL # VULGAR FRACTION THREE FIFTHS
-2158;AL # VULGAR FRACTION FOUR FIFTHS
-2159;AL # VULGAR FRACTION ONE SIXTH
-215A;AL # VULGAR FRACTION FIVE SIXTHS
-215B;AI # VULGAR FRACTION ONE EIGHTH
-215C;AL # VULGAR FRACTION THREE EIGHTHS
-215D;AL # VULGAR FRACTION FIVE EIGHTHS
-215E;AI # VULGAR FRACTION SEVEN EIGHTHS
-215F;AL # FRACTION NUMERATOR ONE
-2160;AI # ROMAN NUMERAL ONE
-2161;AI # ROMAN NUMERAL TWO
-2162;AI # ROMAN NUMERAL THREE
-2163;AI # ROMAN NUMERAL FOUR
-2164;AI # ROMAN NUMERAL FIVE
-2165;AI # ROMAN NUMERAL SIX
-2166;AI # ROMAN NUMERAL SEVEN
-2167;AI # ROMAN NUMERAL EIGHT
-2168;AI # ROMAN NUMERAL NINE
-2169;AI # ROMAN NUMERAL TEN
-216A;AI # ROMAN NUMERAL ELEVEN
-216B;AI # ROMAN NUMERAL TWELVE
-216C;AL # ROMAN NUMERAL FIFTY
-216D;AL # ROMAN NUMERAL ONE HUNDRED
-216E;AL # ROMAN NUMERAL FIVE HUNDRED
-216F;AL # ROMAN NUMERAL ONE THOUSAND
-2170;AI # SMALL ROMAN NUMERAL ONE
-2171;AI # SMALL ROMAN NUMERAL TWO
-2172;AI # SMALL ROMAN NUMERAL THREE
-2173;AI # SMALL ROMAN NUMERAL FOUR
-2174;AI # SMALL ROMAN NUMERAL FIVE
-2175;AI # SMALL ROMAN NUMERAL SIX
-2176;AI # SMALL ROMAN NUMERAL SEVEN
-2177;AI # SMALL ROMAN NUMERAL EIGHT
-2178;AI # SMALL ROMAN NUMERAL NINE
-2179;AI # SMALL ROMAN NUMERAL TEN
-217A;AL # SMALL ROMAN NUMERAL ELEVEN
-217B;AL # SMALL ROMAN NUMERAL TWELVE
-217C;AL # SMALL ROMAN NUMERAL FIFTY
-217D;AL # SMALL ROMAN NUMERAL ONE HUNDRED
-217E;AL # SMALL ROMAN NUMERAL FIVE HUNDRED
-217F;AL # SMALL ROMAN NUMERAL ONE THOUSAND
-2180;AL # ROMAN NUMERAL ONE THOUSAND C D
-2181;AL # ROMAN NUMERAL FIVE THOUSAND
-2182;AL # ROMAN NUMERAL TEN THOUSAND
-2183;AL # ROMAN NUMERAL REVERSED ONE HUNDRED
-2184;AL # LATIN SMALL LETTER REVERSED C
-2185;AL # ROMAN NUMERAL SIX LATE FORM
-2186;AL # ROMAN NUMERAL FIFTY EARLY FORM
-2187;AL # ROMAN NUMERAL FIFTY THOUSAND
-2188;AL # ROMAN NUMERAL ONE HUNDRED THOUSAND
-2189;AI # VULGAR FRACTION ZERO THIRDS
-2190;AI # LEFTWARDS ARROW
-2191;AI # UPWARDS ARROW
-2192;AI # RIGHTWARDS ARROW
-2193;AI # DOWNWARDS ARROW
-2194;AI # LEFT RIGHT ARROW
-2195;AI # UP DOWN ARROW
-2196;AI # NORTH WEST ARROW
-2197;AI # NORTH EAST ARROW
-2198;AI # SOUTH EAST ARROW
-2199;AI # SOUTH WEST ARROW
-219A;AL # LEFTWARDS ARROW WITH STROKE
-219B;AL # RIGHTWARDS ARROW WITH STROKE
-219C;AL # LEFTWARDS WAVE ARROW
-219D;AL # RIGHTWARDS WAVE ARROW
-219E;AL # LEFTWARDS TWO HEADED ARROW
-219F;AL # UPWARDS TWO HEADED ARROW
-21A0;AL # RIGHTWARDS TWO HEADED ARROW
-21A1;AL # DOWNWARDS TWO HEADED ARROW
-21A2;AL # LEFTWARDS ARROW WITH TAIL
-21A3;AL # RIGHTWARDS ARROW WITH TAIL
-21A4;AL # LEFTWARDS ARROW FROM BAR
-21A5;AL # UPWARDS ARROW FROM BAR
-21A6;AL # RIGHTWARDS ARROW FROM BAR
-21A7;AL # DOWNWARDS ARROW FROM BAR
-21A8;AL # UP DOWN ARROW WITH BASE
-21A9;AL # LEFTWARDS ARROW WITH HOOK
-21AA;AL # RIGHTWARDS ARROW WITH HOOK
-21AB;AL # LEFTWARDS ARROW WITH LOOP
-21AC;AL # RIGHTWARDS ARROW WITH LOOP
-21AD;AL # LEFT RIGHT WAVE ARROW
-21AE;AL # LEFT RIGHT ARROW WITH STROKE
-21AF;AL # DOWNWARDS ZIGZAG ARROW
-21B0;AL # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1;AL # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2;AL # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3;AL # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4;AL # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5;AL # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6;AL # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7;AL # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8;AL # NORTH WEST ARROW TO LONG BAR
-21B9;AL # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA;AL # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB;AL # CLOCKWISE OPEN CIRCLE ARROW
-21BC;AL # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD;AL # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE;AL # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF;AL # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0;AL # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1;AL # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2;AL # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3;AL # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4;AL # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5;AL # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6;AL # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7;AL # LEFTWARDS PAIRED ARROWS
-21C8;AL # UPWARDS PAIRED ARROWS
-21C9;AL # RIGHTWARDS PAIRED ARROWS
-21CA;AL # DOWNWARDS PAIRED ARROWS
-21CB;AL # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC;AL # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD;AL # LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE;AL # LEFT RIGHT DOUBLE ARROW WITH STROKE
-21CF;AL # RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0;AL # LEFTWARDS DOUBLE ARROW
-21D1;AL # UPWARDS DOUBLE ARROW
-21D2;AI # RIGHTWARDS DOUBLE ARROW
-21D3;AL # DOWNWARDS DOUBLE ARROW
-21D4;AI # LEFT RIGHT DOUBLE ARROW
-21D5;AL # UP DOWN DOUBLE ARROW
-21D6;AL # NORTH WEST DOUBLE ARROW
-21D7;AL # NORTH EAST DOUBLE ARROW
-21D8;AL # SOUTH EAST DOUBLE ARROW
-21D9;AL # SOUTH WEST DOUBLE ARROW
-21DA;AL # LEFTWARDS TRIPLE ARROW
-21DB;AL # RIGHTWARDS TRIPLE ARROW
-21DC;AL # LEFTWARDS SQUIGGLE ARROW
-21DD;AL # RIGHTWARDS SQUIGGLE ARROW
-21DE;AL # UPWARDS ARROW WITH DOUBLE STROKE
-21DF;AL # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0;AL # LEFTWARDS DASHED ARROW
-21E1;AL # UPWARDS DASHED ARROW
-21E2;AL # RIGHTWARDS DASHED ARROW
-21E3;AL # DOWNWARDS DASHED ARROW
-21E4;AL # LEFTWARDS ARROW TO BAR
-21E5;AL # RIGHTWARDS ARROW TO BAR
-21E6;AL # LEFTWARDS WHITE ARROW
-21E7;AL # UPWARDS WHITE ARROW
-21E8;AL # RIGHTWARDS WHITE ARROW
-21E9;AL # DOWNWARDS WHITE ARROW
-21EA;AL # UPWARDS WHITE ARROW FROM BAR
-21EB;AL # UPWARDS WHITE ARROW ON PEDESTAL
-21EC;AL # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED;AL # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE;AL # UPWARDS WHITE DOUBLE ARROW
-21EF;AL # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0;AL # RIGHTWARDS WHITE ARROW FROM WALL
-21F1;AL # NORTH WEST ARROW TO CORNER
-21F2;AL # SOUTH EAST ARROW TO CORNER
-21F3;AL # UP DOWN WHITE ARROW
-21F4;AL # RIGHT ARROW WITH SMALL CIRCLE
-21F5;AL # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6;AL # THREE RIGHTWARDS ARROWS
-21F7;AL # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8;AL # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9;AL # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA;AL # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB;AL # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC;AL # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD;AL # LEFTWARDS OPEN-HEADED ARROW
-21FE;AL # RIGHTWARDS OPEN-HEADED ARROW
-21FF;AL # LEFT RIGHT OPEN-HEADED ARROW
-2200;AI # FOR ALL
-2201;AL # COMPLEMENT
-2202;AI # PARTIAL DIFFERENTIAL
-2203;AI # THERE EXISTS
-2204;AL # THERE DOES NOT EXIST
-2205;AL # EMPTY SET
-2206;AL # INCREMENT
-2207;AI # NABLA
-2208;AI # ELEMENT OF
-2209;AL # NOT AN ELEMENT OF
-220A;AL # SMALL ELEMENT OF
-220B;AI # CONTAINS AS MEMBER
-220C;AL # DOES NOT CONTAIN AS MEMBER
-220D;AL # SMALL CONTAINS AS MEMBER
-220E;AL # END OF PROOF
-220F;AI # N-ARY PRODUCT
-2210;AL # N-ARY COPRODUCT
-2211;AI # N-ARY SUMMATION
-2212;PR # MINUS SIGN
-2213;PR # MINUS-OR-PLUS SIGN
-2214;AL # DOT PLUS
-2215;AI # DIVISION SLASH
-2216;AL # SET MINUS
-2217;AL # ASTERISK OPERATOR
-2218;AL # RING OPERATOR
-2219;AL # BULLET OPERATOR
-221A;AI # SQUARE ROOT
-221B;AL # CUBE ROOT
-221C;AL # FOURTH ROOT
-221D;AI # PROPORTIONAL TO
-221E;AI # INFINITY
-221F;AI # RIGHT ANGLE
-2220;AI # ANGLE
-2221;AL # MEASURED ANGLE
-2222;AL # SPHERICAL ANGLE
-2223;AI # DIVIDES
-2224;AL # DOES NOT DIVIDE
-2225;AI # PARALLEL TO
-2226;AL # NOT PARALLEL TO
-2227;AI # LOGICAL AND
-2228;AI # LOGICAL OR
-2229;AI # INTERSECTION
-222A;AI # UNION
-222B;AI # INTEGRAL
-222C;AI # DOUBLE INTEGRAL
-222D;AL # TRIPLE INTEGRAL
-222E;AI # CONTOUR INTEGRAL
-222F;AL # SURFACE INTEGRAL
-2230;AL # VOLUME INTEGRAL
-2231;AL # CLOCKWISE INTEGRAL
-2232;AL # CLOCKWISE CONTOUR INTEGRAL
-2233;AL # ANTICLOCKWISE CONTOUR INTEGRAL
-2234;AI # THEREFORE
-2235;AI # BECAUSE
-2236;AI # RATIO
-2237;AI # PROPORTION
-2238;AL # DOT MINUS
-2239;AL # EXCESS
-223A;AL # GEOMETRIC PROPORTION
-223B;AL # HOMOTHETIC
-223C;AI # TILDE OPERATOR
-223D;AI # REVERSED TILDE
-223E;AL # INVERTED LAZY S
-223F;AL # SINE WAVE
-2240;AL # WREATH PRODUCT
-2241;AL # NOT TILDE
-2242;AL # MINUS TILDE
-2243;AL # ASYMPTOTICALLY EQUAL TO
-2244;AL # NOT ASYMPTOTICALLY EQUAL TO
-2245;AL # APPROXIMATELY EQUAL TO
-2246;AL # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247;AL # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2248;AI # ALMOST EQUAL TO
-2249;AL # NOT ALMOST EQUAL TO
-224A;AL # ALMOST EQUAL OR EQUAL TO
-224B;AL # TRIPLE TILDE
-224C;AI # ALL EQUAL TO
-224D;AL # EQUIVALENT TO
-224E;AL # GEOMETRICALLY EQUIVALENT TO
-224F;AL # DIFFERENCE BETWEEN
-2250;AL # APPROACHES THE LIMIT
-2251;AL # GEOMETRICALLY EQUAL TO
-2252;AI # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253;AL # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254;AL # COLON EQUALS
-2255;AL # EQUALS COLON
-2256;AL # RING IN EQUAL TO
-2257;AL # RING EQUAL TO
-2258;AL # CORRESPONDS TO
-2259;AL # ESTIMATES
-225A;AL # EQUIANGULAR TO
-225B;AL # STAR EQUALS
-225C;AL # DELTA EQUAL TO
-225D;AL # EQUAL TO BY DEFINITION
-225E;AL # MEASURED BY
-225F;AL # QUESTIONED EQUAL TO
-2260;AI # NOT EQUAL TO
-2261;AI # IDENTICAL TO
-2262;AL # NOT IDENTICAL TO
-2263;AL # STRICTLY EQUIVALENT TO
-2264;AI # LESS-THAN OR EQUAL TO
-2265;AI # GREATER-THAN OR EQUAL TO
-2266;AI # LESS-THAN OVER EQUAL TO
-2267;AI # GREATER-THAN OVER EQUAL TO
-2268;AL # LESS-THAN BUT NOT EQUAL TO
-2269;AL # GREATER-THAN BUT NOT EQUAL TO
-226A;AI # MUCH LESS-THAN
-226B;AI # MUCH GREATER-THAN
-226C;AL # BETWEEN
-226D;AL # NOT EQUIVALENT TO
-226E;AI # NOT LESS-THAN
-226F;AI # NOT GREATER-THAN
-2270;AL # NEITHER LESS-THAN NOR EQUAL TO
-2271;AL # NEITHER GREATER-THAN NOR EQUAL TO
-2272;AL # LESS-THAN OR EQUIVALENT TO
-2273;AL # GREATER-THAN OR EQUIVALENT TO
-2274;AL # NEITHER LESS-THAN NOR EQUIVALENT TO
-2275;AL # NEITHER GREATER-THAN NOR EQUIVALENT TO
-2276;AL # LESS-THAN OR GREATER-THAN
-2277;AL # GREATER-THAN OR LESS-THAN
-2278;AL # NEITHER LESS-THAN NOR GREATER-THAN
-2279;AL # NEITHER GREATER-THAN NOR LESS-THAN
-227A;AL # PRECEDES
-227B;AL # SUCCEEDS
-227C;AL # PRECEDES OR EQUAL TO
-227D;AL # SUCCEEDS OR EQUAL TO
-227E;AL # PRECEDES OR EQUIVALENT TO
-227F;AL # SUCCEEDS OR EQUIVALENT TO
-2280;AL # DOES NOT PRECEDE
-2281;AL # DOES NOT SUCCEED
-2282;AI # SUBSET OF
-2283;AI # SUPERSET OF
-2284;AL # NOT A SUBSET OF
-2285;AL # NOT A SUPERSET OF
-2286;AI # SUBSET OF OR EQUAL TO
-2287;AI # SUPERSET OF OR EQUAL TO
-2288;AL # NEITHER A SUBSET OF NOR EQUAL TO
-2289;AL # NEITHER A SUPERSET OF NOR EQUAL TO
-228A;AL # SUBSET OF WITH NOT EQUAL TO
-228B;AL # SUPERSET OF WITH NOT EQUAL TO
-228C;AL # MULTISET
-228D;AL # MULTISET MULTIPLICATION
-228E;AL # MULTISET UNION
-228F;AL # SQUARE IMAGE OF
-2290;AL # SQUARE ORIGINAL OF
-2291;AL # SQUARE IMAGE OF OR EQUAL TO
-2292;AL # SQUARE ORIGINAL OF OR EQUAL TO
-2293;AL # SQUARE CAP
-2294;AL # SQUARE CUP
-2295;AI # CIRCLED PLUS
-2296;AL # CIRCLED MINUS
-2297;AL # CIRCLED TIMES
-2298;AL # CIRCLED DIVISION SLASH
-2299;AI # CIRCLED DOT OPERATOR
-229A;AL # CIRCLED RING OPERATOR
-229B;AL # CIRCLED ASTERISK OPERATOR
-229C;AL # CIRCLED EQUALS
-229D;AL # CIRCLED DASH
-229E;AL # SQUARED PLUS
-229F;AL # SQUARED MINUS
-22A0;AL # SQUARED TIMES
-22A1;AL # SQUARED DOT OPERATOR
-22A2;AL # RIGHT TACK
-22A3;AL # LEFT TACK
-22A4;AL # DOWN TACK
-22A5;AI # UP TACK
-22A6;AL # ASSERTION
-22A7;AL # MODELS
-22A8;AL # TRUE
-22A9;AL # FORCES
-22AA;AL # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB;AL # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC;AL # DOES NOT PROVE
-22AD;AL # NOT TRUE
-22AE;AL # DOES NOT FORCE
-22AF;AL # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22B0;AL # PRECEDES UNDER RELATION
-22B1;AL # SUCCEEDS UNDER RELATION
-22B2;AL # NORMAL SUBGROUP OF
-22B3;AL # CONTAINS AS NORMAL SUBGROUP
-22B4;AL # NORMAL SUBGROUP OF OR EQUAL TO
-22B5;AL # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6;AL # ORIGINAL OF
-22B7;AL # IMAGE OF
-22B8;AL # MULTIMAP
-22B9;AL # HERMITIAN CONJUGATE MATRIX
-22BA;AL # INTERCALATE
-22BB;AL # XOR
-22BC;AL # NAND
-22BD;AL # NOR
-22BE;AL # RIGHT ANGLE WITH ARC
-22BF;AI # RIGHT TRIANGLE
-22C0;AL # N-ARY LOGICAL AND
-22C1;AL # N-ARY LOGICAL OR
-22C2;AL # N-ARY INTERSECTION
-22C3;AL # N-ARY UNION
-22C4;AL # DIAMOND OPERATOR
-22C5;AL # DOT OPERATOR
-22C6;AL # STAR OPERATOR
-22C7;AL # DIVISION TIMES
-22C8;AL # BOWTIE
-22C9;AL # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA;AL # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB;AL # LEFT SEMIDIRECT PRODUCT
-22CC;AL # RIGHT SEMIDIRECT PRODUCT
-22CD;AL # REVERSED TILDE EQUALS
-22CE;AL # CURLY LOGICAL OR
-22CF;AL # CURLY LOGICAL AND
-22D0;AL # DOUBLE SUBSET
-22D1;AL # DOUBLE SUPERSET
-22D2;AL # DOUBLE INTERSECTION
-22D3;AL # DOUBLE UNION
-22D4;AL # PITCHFORK
-22D5;AL # EQUAL AND PARALLEL TO
-22D6;AL # LESS-THAN WITH DOT
-22D7;AL # GREATER-THAN WITH DOT
-22D8;AL # VERY MUCH LESS-THAN
-22D9;AL # VERY MUCH GREATER-THAN
-22DA;AL # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB;AL # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC;AL # EQUAL TO OR LESS-THAN
-22DD;AL # EQUAL TO OR GREATER-THAN
-22DE;AL # EQUAL TO OR PRECEDES
-22DF;AL # EQUAL TO OR SUCCEEDS
-22E0;AL # DOES NOT PRECEDE OR EQUAL
-22E1;AL # DOES NOT SUCCEED OR EQUAL
-22E2;AL # NOT SQUARE IMAGE OF OR EQUAL TO
-22E3;AL # NOT SQUARE ORIGINAL OF OR EQUAL TO
-22E4;AL # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5;AL # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6;AL # LESS-THAN BUT NOT EQUIVALENT TO
-22E7;AL # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8;AL # PRECEDES BUT NOT EQUIVALENT TO
-22E9;AL # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA;AL # NOT NORMAL SUBGROUP OF
-22EB;AL # DOES NOT CONTAIN AS NORMAL SUBGROUP
-22EC;AL # NOT NORMAL SUBGROUP OF OR EQUAL TO
-22ED;AL # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22EE;AL # VERTICAL ELLIPSIS
-22EF;AL # MIDLINE HORIZONTAL ELLIPSIS
-22F0;AL # UP RIGHT DIAGONAL ELLIPSIS
-22F1;AL # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2;AL # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3;AL # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4;AL # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5;AL # ELEMENT OF WITH DOT ABOVE
-22F6;AL # ELEMENT OF WITH OVERBAR
-22F7;AL # SMALL ELEMENT OF WITH OVERBAR
-22F8;AL # ELEMENT OF WITH UNDERBAR
-22F9;AL # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA;AL # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB;AL # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC;AL # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD;AL # CONTAINS WITH OVERBAR
-22FE;AL # SMALL CONTAINS WITH OVERBAR
-22FF;AL # Z NOTATION BAG MEMBERSHIP
-2300;AL # DIAMETER SIGN
-2301;AL # ELECTRIC ARROW
-2302;AL # HOUSE
-2303;AL # UP ARROWHEAD
-2304;AL # DOWN ARROWHEAD
-2305;AL # PROJECTIVE
-2306;AL # PERSPECTIVE
-2307;AL # WAVY LINE
-2308;AL # LEFT CEILING
-2309;AL # RIGHT CEILING
-230A;AL # LEFT FLOOR
-230B;AL # RIGHT FLOOR
-230C;AL # BOTTOM RIGHT CROP
-230D;AL # BOTTOM LEFT CROP
-230E;AL # TOP RIGHT CROP
-230F;AL # TOP LEFT CROP
-2310;AL # REVERSED NOT SIGN
-2311;AL # SQUARE LOZENGE
-2312;AI # ARC
-2313;AL # SEGMENT
-2314;AL # SECTOR
-2315;AL # TELEPHONE RECORDER
-2316;AL # POSITION INDICATOR
-2317;AL # VIEWDATA SQUARE
-2318;AL # PLACE OF INTEREST SIGN
-2319;AL # TURNED NOT SIGN
-231A;AL # WATCH
-231B;AL # HOURGLASS
-231C;AL # TOP LEFT CORNER
-231D;AL # TOP RIGHT CORNER
-231E;AL # BOTTOM LEFT CORNER
-231F;AL # BOTTOM RIGHT CORNER
-2320;AL # TOP HALF INTEGRAL
-2321;AL # BOTTOM HALF INTEGRAL
-2322;AL # FROWN
-2323;AL # SMILE
-2324;AL # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325;AL # OPTION KEY
-2326;AL # ERASE TO THE RIGHT
-2327;AL # X IN A RECTANGLE BOX
-2328;AL # KEYBOARD
-2329;OP # LEFT-POINTING ANGLE BRACKET
-232A;CL # RIGHT-POINTING ANGLE BRACKET
-232B;AL # ERASE TO THE LEFT
-232C;AL # BENZENE RING
-232D;AL # CYLINDRICITY
-232E;AL # ALL AROUND-PROFILE
-232F;AL # SYMMETRY
-2330;AL # TOTAL RUNOUT
-2331;AL # DIMENSION ORIGIN
-2332;AL # CONICAL TAPER
-2333;AL # SLOPE
-2334;AL # COUNTERBORE
-2335;AL # COUNTERSINK
-2336;AL # APL FUNCTIONAL SYMBOL I-BEAM
-2337;AL # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338;AL # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339;AL # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A;AL # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B;AL # APL FUNCTIONAL SYMBOL QUAD JOT
-233C;AL # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D;AL # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E;AL # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F;AL # APL FUNCTIONAL SYMBOL SLASH BAR
-2340;AL # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341;AL # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342;AL # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343;AL # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344;AL # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345;AL # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346;AL # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347;AL # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348;AL # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349;AL # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A;AL # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B;AL # APL FUNCTIONAL SYMBOL DELTA STILE
-234C;AL # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D;AL # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E;AL # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F;AL # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350;AL # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351;AL # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352;AL # APL FUNCTIONAL SYMBOL DEL STILE
-2353;AL # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354;AL # APL FUNCTIONAL SYMBOL QUAD DEL
-2355;AL # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356;AL # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357;AL # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358;AL # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359;AL # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A;AL # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B;AL # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C;AL # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D;AL # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E;AL # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F;AL # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360;AL # APL FUNCTIONAL SYMBOL QUAD COLON
-2361;AL # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362;AL # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363;AL # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364;AL # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365;AL # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366;AL # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367;AL # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368;AL # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369;AL # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A;AL # APL FUNCTIONAL SYMBOL COMMA BAR
-236B;AL # APL FUNCTIONAL SYMBOL DEL TILDE
-236C;AL # APL FUNCTIONAL SYMBOL ZILDE
-236D;AL # APL FUNCTIONAL SYMBOL STILE TILDE
-236E;AL # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F;AL # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370;AL # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371;AL # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372;AL # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373;AL # APL FUNCTIONAL SYMBOL IOTA
-2374;AL # APL FUNCTIONAL SYMBOL RHO
-2375;AL # APL FUNCTIONAL SYMBOL OMEGA
-2376;AL # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377;AL # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378;AL # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379;AL # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A;AL # APL FUNCTIONAL SYMBOL ALPHA
-237B;AL # NOT CHECK MARK
-237C;AL # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D;AL # SHOULDERED OPEN BOX
-237E;AL # BELL SYMBOL
-237F;AL # VERTICAL LINE WITH MIDDLE DOT
-2380;AL # INSERTION SYMBOL
-2381;AL # CONTINUOUS UNDERLINE SYMBOL
-2382;AL # DISCONTINUOUS UNDERLINE SYMBOL
-2383;AL # EMPHASIS SYMBOL
-2384;AL # COMPOSITION SYMBOL
-2385;AL # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386;AL # ENTER SYMBOL
-2387;AL # ALTERNATIVE KEY SYMBOL
-2388;AL # HELM SYMBOL
-2389;AL # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A;AL # CIRCLED TRIANGLE DOWN
-238B;AL # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C;AL # UNDO SYMBOL
-238D;AL # MONOSTABLE SYMBOL
-238E;AL # HYSTERESIS SYMBOL
-238F;AL # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390;AL # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391;AL # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392;AL # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393;AL # DIRECT CURRENT SYMBOL FORM TWO
-2394;AL # SOFTWARE-FUNCTION SYMBOL
-2395;AL # APL FUNCTIONAL SYMBOL QUAD
-2396;AL # DECIMAL SEPARATOR KEY SYMBOL
-2397;AL # PREVIOUS PAGE
-2398;AL # NEXT PAGE
-2399;AL # PRINT SCREEN SYMBOL
-239A;AL # CLEAR SCREEN SYMBOL
-239B;AL # LEFT PARENTHESIS UPPER HOOK
-239C;AL # LEFT PARENTHESIS EXTENSION
-239D;AL # LEFT PARENTHESIS LOWER HOOK
-239E;AL # RIGHT PARENTHESIS UPPER HOOK
-239F;AL # RIGHT PARENTHESIS EXTENSION
-23A0;AL # RIGHT PARENTHESIS LOWER HOOK
-23A1;AL # LEFT SQUARE BRACKET UPPER CORNER
-23A2;AL # LEFT SQUARE BRACKET EXTENSION
-23A3;AL # LEFT SQUARE BRACKET LOWER CORNER
-23A4;AL # RIGHT SQUARE BRACKET UPPER CORNER
-23A5;AL # RIGHT SQUARE BRACKET EXTENSION
-23A6;AL # RIGHT SQUARE BRACKET LOWER CORNER
-23A7;AL # LEFT CURLY BRACKET UPPER HOOK
-23A8;AL # LEFT CURLY BRACKET MIDDLE PIECE
-23A9;AL # LEFT CURLY BRACKET LOWER HOOK
-23AA;AL # CURLY BRACKET EXTENSION
-23AB;AL # RIGHT CURLY BRACKET UPPER HOOK
-23AC;AL # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD;AL # RIGHT CURLY BRACKET LOWER HOOK
-23AE;AL # INTEGRAL EXTENSION
-23AF;AL # HORIZONTAL LINE EXTENSION
-23B0;AL # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1;AL # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2;AL # SUMMATION TOP
-23B3;AL # SUMMATION BOTTOM
-23B4;AL # TOP SQUARE BRACKET
-23B5;AL # BOTTOM SQUARE BRACKET
-23B6;AL # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7;AL # RADICAL SYMBOL BOTTOM
-23B8;AL # LEFT VERTICAL BOX LINE
-23B9;AL # RIGHT VERTICAL BOX LINE
-23BA;AL # HORIZONTAL SCAN LINE-1
-23BB;AL # HORIZONTAL SCAN LINE-3
-23BC;AL # HORIZONTAL SCAN LINE-7
-23BD;AL # HORIZONTAL SCAN LINE-9
-23BE;AL # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF;AL # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0;AL # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1;AL # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2;AL # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3;AL # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4;AL # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5;AL # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6;AL # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7;AL # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8;AL # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9;AL # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA;AL # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB;AL # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC;AL # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD;AL # SQUARE FOOT
-23CE;AL # RETURN SYMBOL
-23CF;AL # EJECT SYMBOL
-23D0;AL # VERTICAL LINE EXTENSION
-23D1;AL # METRICAL BREVE
-23D2;AL # METRICAL LONG OVER SHORT
-23D3;AL # METRICAL SHORT OVER LONG
-23D4;AL # METRICAL LONG OVER TWO SHORTS
-23D5;AL # METRICAL TWO SHORTS OVER LONG
-23D6;AL # METRICAL TWO SHORTS JOINED
-23D7;AL # METRICAL TRISEME
-23D8;AL # METRICAL TETRASEME
-23D9;AL # METRICAL PENTASEME
-23DA;AL # EARTH GROUND
-23DB;AL # FUSE
-23DC;AL # TOP PARENTHESIS
-23DD;AL # BOTTOM PARENTHESIS
-23DE;AL # TOP CURLY BRACKET
-23DF;AL # BOTTOM CURLY BRACKET
-23E0;AL # TOP TORTOISE SHELL BRACKET
-23E1;AL # BOTTOM TORTOISE SHELL BRACKET
-23E2;AL # WHITE TRAPEZIUM
-23E3;AL # BENZENE RING WITH CIRCLE
-23E4;AL # STRAIGHTNESS
-23E5;AL # FLATNESS
-23E6;AL # AC CURRENT
-23E7;AL # ELECTRICAL INTERSECTION
-23E8;AL # DECIMAL EXPONENT SYMBOL
-2400;AL # SYMBOL FOR NULL
-2401;AL # SYMBOL FOR START OF HEADING
-2402;AL # SYMBOL FOR START OF TEXT
-2403;AL # SYMBOL FOR END OF TEXT
-2404;AL # SYMBOL FOR END OF TRANSMISSION
-2405;AL # SYMBOL FOR ENQUIRY
-2406;AL # SYMBOL FOR ACKNOWLEDGE
-2407;AL # SYMBOL FOR BELL
-2408;AL # SYMBOL FOR BACKSPACE
-2409;AL # SYMBOL FOR HORIZONTAL TABULATION
-240A;AL # SYMBOL FOR LINE FEED
-240B;AL # SYMBOL FOR VERTICAL TABULATION
-240C;AL # SYMBOL FOR FORM FEED
-240D;AL # SYMBOL FOR CARRIAGE RETURN
-240E;AL # SYMBOL FOR SHIFT OUT
-240F;AL # SYMBOL FOR SHIFT IN
-2410;AL # SYMBOL FOR DATA LINK ESCAPE
-2411;AL # SYMBOL FOR DEVICE CONTROL ONE
-2412;AL # SYMBOL FOR DEVICE CONTROL TWO
-2413;AL # SYMBOL FOR DEVICE CONTROL THREE
-2414;AL # SYMBOL FOR DEVICE CONTROL FOUR
-2415;AL # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416;AL # SYMBOL FOR SYNCHRONOUS IDLE
-2417;AL # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418;AL # SYMBOL FOR CANCEL
-2419;AL # SYMBOL FOR END OF MEDIUM
-241A;AL # SYMBOL FOR SUBSTITUTE
-241B;AL # SYMBOL FOR ESCAPE
-241C;AL # SYMBOL FOR FILE SEPARATOR
-241D;AL # SYMBOL FOR GROUP SEPARATOR
-241E;AL # SYMBOL FOR RECORD SEPARATOR
-241F;AL # SYMBOL FOR UNIT SEPARATOR
-2420;AL # SYMBOL FOR SPACE
-2421;AL # SYMBOL FOR DELETE
-2422;AL # BLANK SYMBOL
-2423;AL # OPEN BOX
-2424;AL # SYMBOL FOR NEWLINE
-2425;AL # SYMBOL FOR DELETE FORM TWO
-2426;AL # SYMBOL FOR SUBSTITUTE FORM TWO
-2440;AL # OCR HOOK
-2441;AL # OCR CHAIR
-2442;AL # OCR FORK
-2443;AL # OCR INVERTED FORK
-2444;AL # OCR BELT BUCKLE
-2445;AL # OCR BOW TIE
-2446;AL # OCR BRANCH BANK IDENTIFICATION
-2447;AL # OCR AMOUNT OF CHECK
-2448;AL # OCR DASH
-2449;AL # OCR CUSTOMER ACCOUNT NUMBER
-244A;AL # OCR DOUBLE BACKSLASH
-2460;AI # CIRCLED DIGIT ONE
-2461;AI # CIRCLED DIGIT TWO
-2462;AI # CIRCLED DIGIT THREE
-2463;AI # CIRCLED DIGIT FOUR
-2464;AI # CIRCLED DIGIT FIVE
-2465;AI # CIRCLED DIGIT SIX
-2466;AI # CIRCLED DIGIT SEVEN
-2467;AI # CIRCLED DIGIT EIGHT
-2468;AI # CIRCLED DIGIT NINE
-2469;AI # CIRCLED NUMBER TEN
-246A;AI # CIRCLED NUMBER ELEVEN
-246B;AI # CIRCLED NUMBER TWELVE
-246C;AI # CIRCLED NUMBER THIRTEEN
-246D;AI # CIRCLED NUMBER FOURTEEN
-246E;AI # CIRCLED NUMBER FIFTEEN
-246F;AI # CIRCLED NUMBER SIXTEEN
-2470;AI # CIRCLED NUMBER SEVENTEEN
-2471;AI # CIRCLED NUMBER EIGHTEEN
-2472;AI # CIRCLED NUMBER NINETEEN
-2473;AI # CIRCLED NUMBER TWENTY
-2474;AI # PARENTHESIZED DIGIT ONE
-2475;AI # PARENTHESIZED DIGIT TWO
-2476;AI # PARENTHESIZED DIGIT THREE
-2477;AI # PARENTHESIZED DIGIT FOUR
-2478;AI # PARENTHESIZED DIGIT FIVE
-2479;AI # PARENTHESIZED DIGIT SIX
-247A;AI # PARENTHESIZED DIGIT SEVEN
-247B;AI # PARENTHESIZED DIGIT EIGHT
-247C;AI # PARENTHESIZED DIGIT NINE
-247D;AI # PARENTHESIZED NUMBER TEN
-247E;AI # PARENTHESIZED NUMBER ELEVEN
-247F;AI # PARENTHESIZED NUMBER TWELVE
-2480;AI # PARENTHESIZED NUMBER THIRTEEN
-2481;AI # PARENTHESIZED NUMBER FOURTEEN
-2482;AI # PARENTHESIZED NUMBER FIFTEEN
-2483;AI # PARENTHESIZED NUMBER SIXTEEN
-2484;AI # PARENTHESIZED NUMBER SEVENTEEN
-2485;AI # PARENTHESIZED NUMBER EIGHTEEN
-2486;AI # PARENTHESIZED NUMBER NINETEEN
-2487;AI # PARENTHESIZED NUMBER TWENTY
-2488;AI # DIGIT ONE FULL STOP
-2489;AI # DIGIT TWO FULL STOP
-248A;AI # DIGIT THREE FULL STOP
-248B;AI # DIGIT FOUR FULL STOP
-248C;AI # DIGIT FIVE FULL STOP
-248D;AI # DIGIT SIX FULL STOP
-248E;AI # DIGIT SEVEN FULL STOP
-248F;AI # DIGIT EIGHT FULL STOP
-2490;AI # DIGIT NINE FULL STOP
-2491;AI # NUMBER TEN FULL STOP
-2492;AI # NUMBER ELEVEN FULL STOP
-2493;AI # NUMBER TWELVE FULL STOP
-2494;AI # NUMBER THIRTEEN FULL STOP
-2495;AI # NUMBER FOURTEEN FULL STOP
-2496;AI # NUMBER FIFTEEN FULL STOP
-2497;AI # NUMBER SIXTEEN FULL STOP
-2498;AI # NUMBER SEVENTEEN FULL STOP
-2499;AI # NUMBER EIGHTEEN FULL STOP
-249A;AI # NUMBER NINETEEN FULL STOP
-249B;AI # NUMBER TWENTY FULL STOP
-249C;AI # PARENTHESIZED LATIN SMALL LETTER A
-249D;AI # PARENTHESIZED LATIN SMALL LETTER B
-249E;AI # PARENTHESIZED LATIN SMALL LETTER C
-249F;AI # PARENTHESIZED LATIN SMALL LETTER D
-24A0;AI # PARENTHESIZED LATIN SMALL LETTER E
-24A1;AI # PARENTHESIZED LATIN SMALL LETTER F
-24A2;AI # PARENTHESIZED LATIN SMALL LETTER G
-24A3;AI # PARENTHESIZED LATIN SMALL LETTER H
-24A4;AI # PARENTHESIZED LATIN SMALL LETTER I
-24A5;AI # PARENTHESIZED LATIN SMALL LETTER J
-24A6;AI # PARENTHESIZED LATIN SMALL LETTER K
-24A7;AI # PARENTHESIZED LATIN SMALL LETTER L
-24A8;AI # PARENTHESIZED LATIN SMALL LETTER M
-24A9;AI # PARENTHESIZED LATIN SMALL LETTER N
-24AA;AI # PARENTHESIZED LATIN SMALL LETTER O
-24AB;AI # PARENTHESIZED LATIN SMALL LETTER P
-24AC;AI # PARENTHESIZED LATIN SMALL LETTER Q
-24AD;AI # PARENTHESIZED LATIN SMALL LETTER R
-24AE;AI # PARENTHESIZED LATIN SMALL LETTER S
-24AF;AI # PARENTHESIZED LATIN SMALL LETTER T
-24B0;AI # PARENTHESIZED LATIN SMALL LETTER U
-24B1;AI # PARENTHESIZED LATIN SMALL LETTER V
-24B2;AI # PARENTHESIZED LATIN SMALL LETTER W
-24B3;AI # PARENTHESIZED LATIN SMALL LETTER X
-24B4;AI # PARENTHESIZED LATIN SMALL LETTER Y
-24B5;AI # PARENTHESIZED LATIN SMALL LETTER Z
-24B6;AI # CIRCLED LATIN CAPITAL LETTER A
-24B7;AI # CIRCLED LATIN CAPITAL LETTER B
-24B8;AI # CIRCLED LATIN CAPITAL LETTER C
-24B9;AI # CIRCLED LATIN CAPITAL LETTER D
-24BA;AI # CIRCLED LATIN CAPITAL LETTER E
-24BB;AI # CIRCLED LATIN CAPITAL LETTER F
-24BC;AI # CIRCLED LATIN CAPITAL LETTER G
-24BD;AI # CIRCLED LATIN CAPITAL LETTER H
-24BE;AI # CIRCLED LATIN CAPITAL LETTER I
-24BF;AI # CIRCLED LATIN CAPITAL LETTER J
-24C0;AI # CIRCLED LATIN CAPITAL LETTER K
-24C1;AI # CIRCLED LATIN CAPITAL LETTER L
-24C2;AI # CIRCLED LATIN CAPITAL LETTER M
-24C3;AI # CIRCLED LATIN CAPITAL LETTER N
-24C4;AI # CIRCLED LATIN CAPITAL LETTER O
-24C5;AI # CIRCLED LATIN CAPITAL LETTER P
-24C6;AI # CIRCLED LATIN CAPITAL LETTER Q
-24C7;AI # CIRCLED LATIN CAPITAL LETTER R
-24C8;AI # CIRCLED LATIN CAPITAL LETTER S
-24C9;AI # CIRCLED LATIN CAPITAL LETTER T
-24CA;AI # CIRCLED LATIN CAPITAL LETTER U
-24CB;AI # CIRCLED LATIN CAPITAL LETTER V
-24CC;AI # CIRCLED LATIN CAPITAL LETTER W
-24CD;AI # CIRCLED LATIN CAPITAL LETTER X
-24CE;AI # CIRCLED LATIN CAPITAL LETTER Y
-24CF;AI # CIRCLED LATIN CAPITAL LETTER Z
-24D0;AI # CIRCLED LATIN SMALL LETTER A
-24D1;AI # CIRCLED LATIN SMALL LETTER B
-24D2;AI # CIRCLED LATIN SMALL LETTER C
-24D3;AI # CIRCLED LATIN SMALL LETTER D
-24D4;AI # CIRCLED LATIN SMALL LETTER E
-24D5;AI # CIRCLED LATIN SMALL LETTER F
-24D6;AI # CIRCLED LATIN SMALL LETTER G
-24D7;AI # CIRCLED LATIN SMALL LETTER H
-24D8;AI # CIRCLED LATIN SMALL LETTER I
-24D9;AI # CIRCLED LATIN SMALL LETTER J
-24DA;AI # CIRCLED LATIN SMALL LETTER K
-24DB;AI # CIRCLED LATIN SMALL LETTER L
-24DC;AI # CIRCLED LATIN SMALL LETTER M
-24DD;AI # CIRCLED LATIN SMALL LETTER N
-24DE;AI # CIRCLED LATIN SMALL LETTER O
-24DF;AI # CIRCLED LATIN SMALL LETTER P
-24E0;AI # CIRCLED LATIN SMALL LETTER Q
-24E1;AI # CIRCLED LATIN SMALL LETTER R
-24E2;AI # CIRCLED LATIN SMALL LETTER S
-24E3;AI # CIRCLED LATIN SMALL LETTER T
-24E4;AI # CIRCLED LATIN SMALL LETTER U
-24E5;AI # CIRCLED LATIN SMALL LETTER V
-24E6;AI # CIRCLED LATIN SMALL LETTER W
-24E7;AI # CIRCLED LATIN SMALL LETTER X
-24E8;AI # CIRCLED LATIN SMALL LETTER Y
-24E9;AI # CIRCLED LATIN SMALL LETTER Z
-24EA;AI # CIRCLED DIGIT ZERO
-24EB;AI # NEGATIVE CIRCLED NUMBER ELEVEN
-24EC;AI # NEGATIVE CIRCLED NUMBER TWELVE
-24ED;AI # NEGATIVE CIRCLED NUMBER THIRTEEN
-24EE;AI # NEGATIVE CIRCLED NUMBER FOURTEEN
-24EF;AI # NEGATIVE CIRCLED NUMBER FIFTEEN
-24F0;AI # NEGATIVE CIRCLED NUMBER SIXTEEN
-24F1;AI # NEGATIVE CIRCLED NUMBER SEVENTEEN
-24F2;AI # NEGATIVE CIRCLED NUMBER EIGHTEEN
-24F3;AI # NEGATIVE CIRCLED NUMBER NINETEEN
-24F4;AI # NEGATIVE CIRCLED NUMBER TWENTY
-24F5;AI # DOUBLE CIRCLED DIGIT ONE
-24F6;AI # DOUBLE CIRCLED DIGIT TWO
-24F7;AI # DOUBLE CIRCLED DIGIT THREE
-24F8;AI # DOUBLE CIRCLED DIGIT FOUR
-24F9;AI # DOUBLE CIRCLED DIGIT FIVE
-24FA;AI # DOUBLE CIRCLED DIGIT SIX
-24FB;AI # DOUBLE CIRCLED DIGIT SEVEN
-24FC;AI # DOUBLE CIRCLED DIGIT EIGHT
-24FD;AI # DOUBLE CIRCLED DIGIT NINE
-24FE;AI # DOUBLE CIRCLED NUMBER TEN
-24FF;AL # NEGATIVE CIRCLED DIGIT ZERO
-2500;AI # BOX DRAWINGS LIGHT HORIZONTAL
-2501;AI # BOX DRAWINGS HEAVY HORIZONTAL
-2502;AI # BOX DRAWINGS LIGHT VERTICAL
-2503;AI # BOX DRAWINGS HEAVY VERTICAL
-2504;AI # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505;AI # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506;AI # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507;AI # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508;AI # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509;AI # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A;AI # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B;AI # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C;AI # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D;AI # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E;AI # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F;AI # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510;AI # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511;AI # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512;AI # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513;AI # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514;AI # BOX DRAWINGS LIGHT UP AND RIGHT
-2515;AI # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516;AI # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517;AI # BOX DRAWINGS HEAVY UP AND RIGHT
-2518;AI # BOX DRAWINGS LIGHT UP AND LEFT
-2519;AI # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A;AI # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B;AI # BOX DRAWINGS HEAVY UP AND LEFT
-251C;AI # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D;AI # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E;AI # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F;AI # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520;AI # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521;AI # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522;AI # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523;AI # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524;AI # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525;AI # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526;AI # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527;AI # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528;AI # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529;AI # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A;AI # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B;AI # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C;AI # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D;AI # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E;AI # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F;AI # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530;AI # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531;AI # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532;AI # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533;AI # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534;AI # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535;AI # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536;AI # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537;AI # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538;AI # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539;AI # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A;AI # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B;AI # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C;AI # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D;AI # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E;AI # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F;AI # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540;AI # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541;AI # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542;AI # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543;AI # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544;AI # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545;AI # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546;AI # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547;AI # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548;AI # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549;AI # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A;AI # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B;AI # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C;AL # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D;AL # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E;AL # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F;AL # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550;AI # BOX DRAWINGS DOUBLE HORIZONTAL
-2551;AI # BOX DRAWINGS DOUBLE VERTICAL
-2552;AI # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553;AI # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554;AI # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555;AI # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556;AI # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557;AI # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558;AI # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559;AI # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A;AI # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B;AI # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C;AI # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D;AI # BOX DRAWINGS DOUBLE UP AND LEFT
-255E;AI # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F;AI # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560;AI # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561;AI # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562;AI # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563;AI # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564;AI # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565;AI # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566;AI # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567;AI # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568;AI # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569;AI # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A;AI # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B;AI # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C;AI # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D;AI # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E;AI # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F;AI # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570;AI # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571;AI # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572;AI # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573;AI # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574;AI # BOX DRAWINGS LIGHT LEFT
-2575;AL # BOX DRAWINGS LIGHT UP
-2576;AL # BOX DRAWINGS LIGHT RIGHT
-2577;AL # BOX DRAWINGS LIGHT DOWN
-2578;AL # BOX DRAWINGS HEAVY LEFT
-2579;AL # BOX DRAWINGS HEAVY UP
-257A;AL # BOX DRAWINGS HEAVY RIGHT
-257B;AL # BOX DRAWINGS HEAVY DOWN
-257C;AL # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D;AL # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E;AL # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F;AL # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580;AI # UPPER HALF BLOCK
-2581;AI # LOWER ONE EIGHTH BLOCK
-2582;AI # LOWER ONE QUARTER BLOCK
-2583;AI # LOWER THREE EIGHTHS BLOCK
-2584;AI # LOWER HALF BLOCK
-2585;AI # LOWER FIVE EIGHTHS BLOCK
-2586;AI # LOWER THREE QUARTERS BLOCK
-2587;AI # LOWER SEVEN EIGHTHS BLOCK
-2588;AI # FULL BLOCK
-2589;AI # LEFT SEVEN EIGHTHS BLOCK
-258A;AI # LEFT THREE QUARTERS BLOCK
-258B;AI # LEFT FIVE EIGHTHS BLOCK
-258C;AI # LEFT HALF BLOCK
-258D;AI # LEFT THREE EIGHTHS BLOCK
-258E;AI # LEFT ONE QUARTER BLOCK
-258F;AI # LEFT ONE EIGHTH BLOCK
-2590;AL # RIGHT HALF BLOCK
-2591;AL # LIGHT SHADE
-2592;AI # MEDIUM SHADE
-2593;AI # DARK SHADE
-2594;AI # UPPER ONE EIGHTH BLOCK
-2595;AI # RIGHT ONE EIGHTH BLOCK
-2596;AL # QUADRANT LOWER LEFT
-2597;AL # QUADRANT LOWER RIGHT
-2598;AL # QUADRANT UPPER LEFT
-2599;AL # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A;AL # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B;AL # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C;AL # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D;AL # QUADRANT UPPER RIGHT
-259E;AL # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F;AL # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0;AI # BLACK SQUARE
-25A1;AI # WHITE SQUARE
-25A2;AL # WHITE SQUARE WITH ROUNDED CORNERS
-25A3;AI # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4;AI # SQUARE WITH HORIZONTAL FILL
-25A5;AI # SQUARE WITH VERTICAL FILL
-25A6;AI # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7;AI # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8;AI # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9;AI # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA;AL # BLACK SMALL SQUARE
-25AB;AL # WHITE SMALL SQUARE
-25AC;AL # BLACK RECTANGLE
-25AD;AL # WHITE RECTANGLE
-25AE;AL # BLACK VERTICAL RECTANGLE
-25AF;AL # WHITE VERTICAL RECTANGLE
-25B0;AL # BLACK PARALLELOGRAM
-25B1;AL # WHITE PARALLELOGRAM
-25B2;AI # BLACK UP-POINTING TRIANGLE
-25B3;AI # WHITE UP-POINTING TRIANGLE
-25B4;AL # BLACK UP-POINTING SMALL TRIANGLE
-25B5;AL # WHITE UP-POINTING SMALL TRIANGLE
-25B6;AI # BLACK RIGHT-POINTING TRIANGLE
-25B7;AI # WHITE RIGHT-POINTING TRIANGLE
-25B8;AL # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9;AL # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA;AL # BLACK RIGHT-POINTING POINTER
-25BB;AL # WHITE RIGHT-POINTING POINTER
-25BC;AI # BLACK DOWN-POINTING TRIANGLE
-25BD;AI # WHITE DOWN-POINTING TRIANGLE
-25BE;AL # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF;AL # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0;AI # BLACK LEFT-POINTING TRIANGLE
-25C1;AI # WHITE LEFT-POINTING TRIANGLE
-25C2;AL # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3;AL # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4;AL # BLACK LEFT-POINTING POINTER
-25C5;AL # WHITE LEFT-POINTING POINTER
-25C6;AI # BLACK DIAMOND
-25C7;AI # WHITE DIAMOND
-25C8;AI # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9;AL # FISHEYE
-25CA;AL # LOZENGE
-25CB;AI # WHITE CIRCLE
-25CC;AL # DOTTED CIRCLE
-25CD;AL # CIRCLE WITH VERTICAL FILL
-25CE;AI # BULLSEYE
-25CF;AI # BLACK CIRCLE
-25D0;AI # CIRCLE WITH LEFT HALF BLACK
-25D1;AI # CIRCLE WITH RIGHT HALF BLACK
-25D2;AL # CIRCLE WITH LOWER HALF BLACK
-25D3;AL # CIRCLE WITH UPPER HALF BLACK
-25D4;AL # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5;AL # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6;AL # LEFT HALF BLACK CIRCLE
-25D7;AL # RIGHT HALF BLACK CIRCLE
-25D8;AL # INVERSE BULLET
-25D9;AL # INVERSE WHITE CIRCLE
-25DA;AL # UPPER HALF INVERSE WHITE CIRCLE
-25DB;AL # LOWER HALF INVERSE WHITE CIRCLE
-25DC;AL # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD;AL # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE;AL # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF;AL # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0;AL # UPPER HALF CIRCLE
-25E1;AL # LOWER HALF CIRCLE
-25E2;AI # BLACK LOWER RIGHT TRIANGLE
-25E3;AI # BLACK LOWER LEFT TRIANGLE
-25E4;AI # BLACK UPPER LEFT TRIANGLE
-25E5;AI # BLACK UPPER RIGHT TRIANGLE
-25E6;AL # WHITE BULLET
-25E7;AL # SQUARE WITH LEFT HALF BLACK
-25E8;AL # SQUARE WITH RIGHT HALF BLACK
-25E9;AL # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA;AL # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB;AL # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC;AL # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED;AL # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE;AL # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF;AI # LARGE CIRCLE
-25F0;AL # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1;AL # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2;AL # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3;AL # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4;AL # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5;AL # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6;AL # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7;AL # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8;AL # UPPER LEFT TRIANGLE
-25F9;AL # UPPER RIGHT TRIANGLE
-25FA;AL # LOWER LEFT TRIANGLE
-25FB;AL # WHITE MEDIUM SQUARE
-25FC;AL # BLACK MEDIUM SQUARE
-25FD;AL # WHITE MEDIUM SMALL SQUARE
-25FE;AL # BLACK MEDIUM SMALL SQUARE
-25FF;AL # LOWER RIGHT TRIANGLE
-2600;AL # BLACK SUN WITH RAYS
-2601;AL # CLOUD
-2602;AL # UMBRELLA
-2603;AL # SNOWMAN
-2604;AL # COMET
-2605;AI # BLACK STAR
-2606;AI # WHITE STAR
-2607;AL # LIGHTNING
-2608;AL # THUNDERSTORM
-2609;AI # SUN
-260A;AL # ASCENDING NODE
-260B;AL # DESCENDING NODE
-260C;AL # CONJUNCTION
-260D;AL # OPPOSITION
-260E;AI # BLACK TELEPHONE
-260F;AI # WHITE TELEPHONE
-2610;AL # BALLOT BOX
-2611;AL # BALLOT BOX WITH CHECK
-2612;AL # BALLOT BOX WITH X
-2613;AL # SALTIRE
-2614;AI # UMBRELLA WITH RAIN DROPS
-2615;AI # HOT BEVERAGE
-2616;AI # WHITE SHOGI PIECE
-2617;AI # BLACK SHOGI PIECE
-2618;AL # SHAMROCK
-2619;AL # REVERSED ROTATED FLORAL HEART BULLET
-261A;AL # BLACK LEFT POINTING INDEX
-261B;AL # BLACK RIGHT POINTING INDEX
-261C;AI # WHITE LEFT POINTING INDEX
-261D;AL # WHITE UP POINTING INDEX
-261E;AI # WHITE RIGHT POINTING INDEX
-261F;AL # WHITE DOWN POINTING INDEX
-2620;AL # SKULL AND CROSSBONES
-2621;AL # CAUTION SIGN
-2622;AL # RADIOACTIVE SIGN
-2623;AL # BIOHAZARD SIGN
-2624;AL # CADUCEUS
-2625;AL # ANKH
-2626;AL # ORTHODOX CROSS
-2627;AL # CHI RHO
-2628;AL # CROSS OF LORRAINE
-2629;AL # CROSS OF JERUSALEM
-262A;AL # STAR AND CRESCENT
-262B;AL # FARSI SYMBOL
-262C;AL # ADI SHAKTI
-262D;AL # HAMMER AND SICKLE
-262E;AL # PEACE SYMBOL
-262F;AL # YIN YANG
-2630;AL # TRIGRAM FOR HEAVEN
-2631;AL # TRIGRAM FOR LAKE
-2632;AL # TRIGRAM FOR FIRE
-2633;AL # TRIGRAM FOR THUNDER
-2634;AL # TRIGRAM FOR WIND
-2635;AL # TRIGRAM FOR WATER
-2636;AL # TRIGRAM FOR MOUNTAIN
-2637;AL # TRIGRAM FOR EARTH
-2638;AL # WHEEL OF DHARMA
-2639;AL # WHITE FROWNING FACE
-263A;AL # WHITE SMILING FACE
-263B;AL # BLACK SMILING FACE
-263C;AL # WHITE SUN WITH RAYS
-263D;AL # FIRST QUARTER MOON
-263E;AL # LAST QUARTER MOON
-263F;AL # MERCURY
-2640;AI # FEMALE SIGN
-2641;AL # EARTH
-2642;AI # MALE SIGN
-2643;AL # JUPITER
-2644;AL # SATURN
-2645;AL # URANUS
-2646;AL # NEPTUNE
-2647;AL # PLUTO
-2648;AL # ARIES
-2649;AL # TAURUS
-264A;AL # GEMINI
-264B;AL # CANCER
-264C;AL # LEO
-264D;AL # VIRGO
-264E;AL # LIBRA
-264F;AL # SCORPIUS
-2650;AL # SAGITTARIUS
-2651;AL # CAPRICORN
-2652;AL # AQUARIUS
-2653;AL # PISCES
-2654;AL # WHITE CHESS KING
-2655;AL # WHITE CHESS QUEEN
-2656;AL # WHITE CHESS ROOK
-2657;AL # WHITE CHESS BISHOP
-2658;AL # WHITE CHESS KNIGHT
-2659;AL # WHITE CHESS PAWN
-265A;AL # BLACK CHESS KING
-265B;AL # BLACK CHESS QUEEN
-265C;AL # BLACK CHESS ROOK
-265D;AL # BLACK CHESS BISHOP
-265E;AL # BLACK CHESS KNIGHT
-265F;AL # BLACK CHESS PAWN
-2660;AI # BLACK SPADE SUIT
-2661;AI # WHITE HEART SUIT
-2662;AL # WHITE DIAMOND SUIT
-2663;AI # BLACK CLUB SUIT
-2664;AI # WHITE SPADE SUIT
-2665;AI # BLACK HEART SUIT
-2666;AL # BLACK DIAMOND SUIT
-2667;AI # WHITE CLUB SUIT
-2668;AI # HOT SPRINGS
-2669;AI # QUARTER NOTE
-266A;AI # EIGHTH NOTE
-266B;AL # BEAMED EIGHTH NOTES
-266C;AI # BEAMED SIXTEENTH NOTES
-266D;AI # MUSIC FLAT SIGN
-266E;AL # MUSIC NATURAL SIGN
-266F;AI # MUSIC SHARP SIGN
-2670;AL # WEST SYRIAC CROSS
-2671;AL # EAST SYRIAC CROSS
-2672;AL # UNIVERSAL RECYCLING SYMBOL
-2673;AL # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674;AL # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675;AL # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676;AL # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677;AL # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678;AL # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679;AL # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A;AL # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B;AL # BLACK UNIVERSAL RECYCLING SYMBOL
-267C;AL # RECYCLED PAPER SYMBOL
-267D;AL # PARTIALLY-RECYCLED PAPER SYMBOL
-267E;AL # PERMANENT PAPER SIGN
-267F;AL # WHEELCHAIR SYMBOL
-2680;AL # DIE FACE-1
-2681;AL # DIE FACE-2
-2682;AL # DIE FACE-3
-2683;AL # DIE FACE-4
-2684;AL # DIE FACE-5
-2685;AL # DIE FACE-6
-2686;AL # WHITE CIRCLE WITH DOT RIGHT
-2687;AL # WHITE CIRCLE WITH TWO DOTS
-2688;AL # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689;AL # BLACK CIRCLE WITH TWO WHITE DOTS
-268A;AL # MONOGRAM FOR YANG
-268B;AL # MONOGRAM FOR YIN
-268C;AL # DIGRAM FOR GREATER YANG
-268D;AL # DIGRAM FOR LESSER YIN
-268E;AL # DIGRAM FOR LESSER YANG
-268F;AL # DIGRAM FOR GREATER YIN
-2690;AL # WHITE FLAG
-2691;AL # BLACK FLAG
-2692;AL # HAMMER AND PICK
-2693;AL # ANCHOR
-2694;AL # CROSSED SWORDS
-2695;AL # STAFF OF AESCULAPIUS
-2696;AL # SCALES
-2697;AL # ALEMBIC
-2698;AL # FLOWER
-2699;AL # GEAR
-269A;AL # STAFF OF HERMES
-269B;AL # ATOM SYMBOL
-269C;AL # FLEUR-DE-LIS
-269D;AL # OUTLINED WHITE STAR
-269E;AI # THREE LINES CONVERGING RIGHT
-269F;AI # THREE LINES CONVERGING LEFT
-26A0;AL # WARNING SIGN
-26A1;AL # HIGH VOLTAGE SIGN
-26A2;AL # DOUBLED FEMALE SIGN
-26A3;AL # DOUBLED MALE SIGN
-26A4;AL # INTERLOCKED FEMALE AND MALE SIGN
-26A5;AL # MALE AND FEMALE SIGN
-26A6;AL # MALE WITH STROKE SIGN
-26A7;AL # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8;AL # VERTICAL MALE WITH STROKE SIGN
-26A9;AL # HORIZONTAL MALE WITH STROKE SIGN
-26AA;AL # MEDIUM WHITE CIRCLE
-26AB;AL # MEDIUM BLACK CIRCLE
-26AC;AL # MEDIUM SMALL WHITE CIRCLE
-26AD;AL # MARRIAGE SYMBOL
-26AE;AL # DIVORCE SYMBOL
-26AF;AL # UNMARRIED PARTNERSHIP SYMBOL
-26B0;AL # COFFIN
-26B1;AL # FUNERAL URN
-26B2;AL # NEUTER
-26B3;AL # CERES
-26B4;AL # PALLAS
-26B5;AL # JUNO
-26B6;AL # VESTA
-26B7;AL # CHIRON
-26B8;AL # BLACK MOON LILITH
-26B9;AL # SEXTILE
-26BA;AL # SEMISEXTILE
-26BB;AL # QUINCUNX
-26BC;AL # SESQUIQUADRATE
-26BD;AL # SOCCER BALL
-26BE;AI # BASEBALL
-26BF;AI # SQUARED KEY
-26C0;AL # WHITE DRAUGHTS MAN
-26C1;AL # WHITE DRAUGHTS KING
-26C2;AL # BLACK DRAUGHTS MAN
-26C3;AL # BLACK DRAUGHTS KING
-26C4;AI # SNOWMAN WITHOUT SNOW
-26C5;AI # SUN BEHIND CLOUD
-26C6;AI # RAIN
-26C7;AI # BLACK SNOWMAN
-26C8;AI # THUNDER CLOUD AND RAIN
-26C9;AI # TURNED WHITE SHOGI PIECE
-26CA;AI # TURNED BLACK SHOGI PIECE
-26CB;AI # WHITE DIAMOND IN SQUARE
-26CC;AI # CROSSING LANES
-26CD;AI # DISABLED CAR
-26CF;AI # PICK
-26D0;AI # CAR SLIDING
-26D1;AI # HELMET WITH WHITE CROSS
-26D2;AI # CIRCLED CROSSING LANES
-26D3;AI # CHAINS
-26D4;AI # NO ENTRY
-26D5;AI # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6;AI # BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7;AI # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8;AI # BLACK LEFT LANE MERGE
-26D9;AI # WHITE LEFT LANE MERGE
-26DA;AI # DRIVE SLOW SIGN
-26DB;AI # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC;AI # LEFT CLOSED ENTRY
-26DD;AI # SQUARED SALTIRE
-26DE;AI # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF;AI # BLACK TRUCK
-26E0;AI # RESTRICTED LEFT ENTRY-1
-26E1;AI # RESTRICTED LEFT ENTRY-2
-26E3;AI # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8;AI # BLACK CROSS ON SHIELD
-26E9;AI # SHINTO SHRINE
-26EA;AI # CHURCH
-26EB;AI # CASTLE
-26EC;AI # HISTORIC SITE
-26ED;AI # GEAR WITHOUT HUB
-26EE;AI # GEAR WITH HANDLES
-26EF;AI # MAP SYMBOL FOR LIGHTHOUSE
-26F0;AI # MOUNTAIN
-26F1;AI # UMBRELLA ON GROUND
-26F2;AI # FOUNTAIN
-26F3;AI # FLAG IN HOLE
-26F4;AI # FERRY
-26F5;AI # SAILBOAT
-26F6;AI # SQUARE FOUR CORNERS
-26F7;AI # SKIER
-26F8;AI # ICE SKATE
-26F9;AI # PERSON WITH BALL
-26FA;AI # TENT
-26FB;AI # JAPANESE BANK SYMBOL
-26FC;AI # HEADSTONE GRAVEYARD SYMBOL
-26FD;AI # FUEL PUMP
-26FE;AI # CUP ON BLACK SQUARE
-26FF;AI # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701;AL # UPPER BLADE SCISSORS
-2702;AL # BLACK SCISSORS
-2703;AL # LOWER BLADE SCISSORS
-2704;AL # WHITE SCISSORS
-2706;AL # TELEPHONE LOCATION SIGN
-2707;AL # TAPE DRIVE
-2708;AL # AIRPLANE
-2709;AL # ENVELOPE
-270C;AL # VICTORY HAND
-270D;AL # WRITING HAND
-270E;AL # LOWER RIGHT PENCIL
-270F;AL # PENCIL
-2710;AL # UPPER RIGHT PENCIL
-2711;AL # WHITE NIB
-2712;AL # BLACK NIB
-2713;AL # CHECK MARK
-2714;AL # HEAVY CHECK MARK
-2715;AL # MULTIPLICATION X
-2716;AL # HEAVY MULTIPLICATION X
-2717;AL # BALLOT X
-2718;AL # HEAVY BALLOT X
-2719;AL # OUTLINED GREEK CROSS
-271A;AL # HEAVY GREEK CROSS
-271B;AL # OPEN CENTRE CROSS
-271C;AL # HEAVY OPEN CENTRE CROSS
-271D;AL # LATIN CROSS
-271E;AL # SHADOWED WHITE LATIN CROSS
-271F;AL # OUTLINED LATIN CROSS
-2720;AL # MALTESE CROSS
-2721;AL # STAR OF DAVID
-2722;AL # FOUR TEARDROP-SPOKED ASTERISK
-2723;AL # FOUR BALLOON-SPOKED ASTERISK
-2724;AL # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725;AL # FOUR CLUB-SPOKED ASTERISK
-2726;AL # BLACK FOUR POINTED STAR
-2727;AL # WHITE FOUR POINTED STAR
-2729;AL # STRESS OUTLINED WHITE STAR
-272A;AL # CIRCLED WHITE STAR
-272B;AL # OPEN CENTRE BLACK STAR
-272C;AL # BLACK CENTRE WHITE STAR
-272D;AL # OUTLINED BLACK STAR
-272E;AL # HEAVY OUTLINED BLACK STAR
-272F;AL # PINWHEEL STAR
-2730;AL # SHADOWED WHITE STAR
-2731;AL # HEAVY ASTERISK
-2732;AL # OPEN CENTRE ASTERISK
-2733;AL # EIGHT SPOKED ASTERISK
-2734;AL # EIGHT POINTED BLACK STAR
-2735;AL # EIGHT POINTED PINWHEEL STAR
-2736;AL # SIX POINTED BLACK STAR
-2737;AL # EIGHT POINTED RECTILINEAR BLACK STAR
-2738;AL # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739;AL # TWELVE POINTED BLACK STAR
-273A;AL # SIXTEEN POINTED ASTERISK
-273B;AL # TEARDROP-SPOKED ASTERISK
-273C;AL # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D;AL # HEAVY TEARDROP-SPOKED ASTERISK
-273E;AL # SIX PETALLED BLACK AND WHITE FLORETTE
-273F;AL # BLACK FLORETTE
-2740;AL # WHITE FLORETTE
-2741;AL # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742;AL # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743;AL # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744;AL # SNOWFLAKE
-2745;AL # TIGHT TRIFOLIATE SNOWFLAKE
-2746;AL # HEAVY CHEVRON SNOWFLAKE
-2747;AL # SPARKLE
-2748;AL # HEAVY SPARKLE
-2749;AL # BALLOON-SPOKED ASTERISK
-274A;AL # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B;AL # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D;AL # SHADOWED WHITE CIRCLE
-274F;AL # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750;AL # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751;AL # LOWER RIGHT SHADOWED WHITE SQUARE
-2752;AL # UPPER RIGHT SHADOWED WHITE SQUARE
-2756;AL # BLACK DIAMOND MINUS WHITE X
-2757;AI # HEAVY EXCLAMATION MARK SYMBOL
-2758;AL # LIGHT VERTICAL BAR
-2759;AL # MEDIUM VERTICAL BAR
-275A;AL # HEAVY VERTICAL BAR
-275B;QU # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C;QU # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D;QU # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E;QU # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761;AL # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762;EX # HEAVY EXCLAMATION MARK ORNAMENT
-2763;EX # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764;AL # HEAVY BLACK HEART
-2765;AL # ROTATED HEAVY BLACK HEART BULLET
-2766;AL # FLORAL HEART
-2767;AL # ROTATED FLORAL HEART BULLET
-2768;OP # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769;CL # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A;OP # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B;CL # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C;OP # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D;CL # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E;OP # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F;CL # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770;OP # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771;CL # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772;OP # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773;CL # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774;OP # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775;CL # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776;AI # DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2777;AI # DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2778;AI # DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2779;AI # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-277A;AI # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-277B;AI # DINGBAT NEGATIVE CIRCLED DIGIT SIX
-277C;AI # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-277D;AI # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-277E;AI # DINGBAT NEGATIVE CIRCLED DIGIT NINE
-277F;AI # DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2780;AI # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-2781;AI # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-2782;AI # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-2783;AI # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-2784;AI # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-2785;AI # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-2786;AI # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2787;AI # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2788;AI # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2789;AI # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-278A;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-278B;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-278C;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-278D;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-278E;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-278F;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-2790;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-2791;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-2792;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-2793;AI # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794;AL # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798;AL # HEAVY SOUTH EAST ARROW
-2799;AL # HEAVY RIGHTWARDS ARROW
-279A;AL # HEAVY NORTH EAST ARROW
-279B;AL # DRAFTING POINT RIGHTWARDS ARROW
-279C;AL # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D;AL # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E;AL # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F;AL # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0;AL # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1;AL # BLACK RIGHTWARDS ARROW
-27A2;AL # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3;AL # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4;AL # BLACK RIGHTWARDS ARROWHEAD
-27A5;AL # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6;AL # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7;AL # SQUAT BLACK RIGHTWARDS ARROW
-27A8;AL # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9;AL # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA;AL # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB;AL # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC;AL # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD;AL # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE;AL # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF;AL # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1;AL # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2;AL # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3;AL # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4;AL # BLACK-FEATHERED SOUTH EAST ARROW
-27B5;AL # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6;AL # BLACK-FEATHERED NORTH EAST ARROW
-27B7;AL # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8;AL # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9;AL # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA;AL # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB;AL # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC;AL # WEDGE-TAILED RIGHTWARDS ARROW
-27BD;AL # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE;AL # OPEN-OUTLINED RIGHTWARDS ARROW
-27C0;AL # THREE DIMENSIONAL ANGLE
-27C1;AL # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2;AL # PERPENDICULAR
-27C3;AL # OPEN SUBSET
-27C4;AL # OPEN SUPERSET
-27C5;OP # LEFT S-SHAPED BAG DELIMITER
-27C6;CL # RIGHT S-SHAPED BAG DELIMITER
-27C7;AL # OR WITH DOT INSIDE
-27C8;AL # REVERSE SOLIDUS PRECEDING SUBSET
-27C9;AL # SUPERSET PRECEDING SOLIDUS
-27CA;AL # VERTICAL BAR WITH HORIZONTAL STROKE
-27CC;AL # LONG DIVISION
-27D0;AL # WHITE DIAMOND WITH CENTRED DOT
-27D1;AL # AND WITH DOT
-27D2;AL # ELEMENT OF OPENING UPWARDS
-27D3;AL # LOWER RIGHT CORNER WITH DOT
-27D4;AL # UPPER LEFT CORNER WITH DOT
-27D5;AL # LEFT OUTER JOIN
-27D6;AL # RIGHT OUTER JOIN
-27D7;AL # FULL OUTER JOIN
-27D8;AL # LARGE UP TACK
-27D9;AL # LARGE DOWN TACK
-27DA;AL # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB;AL # LEFT AND RIGHT TACK
-27DC;AL # LEFT MULTIMAP
-27DD;AL # LONG RIGHT TACK
-27DE;AL # LONG LEFT TACK
-27DF;AL # UP TACK WITH CIRCLE ABOVE
-27E0;AL # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1;AL # WHITE CONCAVE-SIDED DIAMOND
-27E2;AL # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3;AL # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4;AL # WHITE SQUARE WITH LEFTWARDS TICK
-27E5;AL # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6;OP # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7;CL # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8;OP # MATHEMATICAL LEFT ANGLE BRACKET
-27E9;CL # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA;OP # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB;CL # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC;OP # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED;CL # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE;OP # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF;CL # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0;AL # UPWARDS QUADRUPLE ARROW
-27F1;AL # DOWNWARDS QUADRUPLE ARROW
-27F2;AL # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3;AL # CLOCKWISE GAPPED CIRCLE ARROW
-27F4;AL # RIGHT ARROW WITH CIRCLED PLUS
-27F5;AL # LONG LEFTWARDS ARROW
-27F6;AL # LONG RIGHTWARDS ARROW
-27F7;AL # LONG LEFT RIGHT ARROW
-27F8;AL # LONG LEFTWARDS DOUBLE ARROW
-27F9;AL # LONG RIGHTWARDS DOUBLE ARROW
-27FA;AL # LONG LEFT RIGHT DOUBLE ARROW
-27FB;AL # LONG LEFTWARDS ARROW FROM BAR
-27FC;AL # LONG RIGHTWARDS ARROW FROM BAR
-27FD;AL # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE;AL # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF;AL # LONG RIGHTWARDS SQUIGGLE ARROW
-2800;AL # BRAILLE PATTERN BLANK
-2801;AL # BRAILLE PATTERN DOTS-1
-2802;AL # BRAILLE PATTERN DOTS-2
-2803;AL # BRAILLE PATTERN DOTS-12
-2804;AL # BRAILLE PATTERN DOTS-3
-2805;AL # BRAILLE PATTERN DOTS-13
-2806;AL # BRAILLE PATTERN DOTS-23
-2807;AL # BRAILLE PATTERN DOTS-123
-2808;AL # BRAILLE PATTERN DOTS-4
-2809;AL # BRAILLE PATTERN DOTS-14
-280A;AL # BRAILLE PATTERN DOTS-24
-280B;AL # BRAILLE PATTERN DOTS-124
-280C;AL # BRAILLE PATTERN DOTS-34
-280D;AL # BRAILLE PATTERN DOTS-134
-280E;AL # BRAILLE PATTERN DOTS-234
-280F;AL # BRAILLE PATTERN DOTS-1234
-2810;AL # BRAILLE PATTERN DOTS-5
-2811;AL # BRAILLE PATTERN DOTS-15
-2812;AL # BRAILLE PATTERN DOTS-25
-2813;AL # BRAILLE PATTERN DOTS-125
-2814;AL # BRAILLE PATTERN DOTS-35
-2815;AL # BRAILLE PATTERN DOTS-135
-2816;AL # BRAILLE PATTERN DOTS-235
-2817;AL # BRAILLE PATTERN DOTS-1235
-2818;AL # BRAILLE PATTERN DOTS-45
-2819;AL # BRAILLE PATTERN DOTS-145
-281A;AL # BRAILLE PATTERN DOTS-245
-281B;AL # BRAILLE PATTERN DOTS-1245
-281C;AL # BRAILLE PATTERN DOTS-345
-281D;AL # BRAILLE PATTERN DOTS-1345
-281E;AL # BRAILLE PATTERN DOTS-2345
-281F;AL # BRAILLE PATTERN DOTS-12345
-2820;AL # BRAILLE PATTERN DOTS-6
-2821;AL # BRAILLE PATTERN DOTS-16
-2822;AL # BRAILLE PATTERN DOTS-26
-2823;AL # BRAILLE PATTERN DOTS-126
-2824;AL # BRAILLE PATTERN DOTS-36
-2825;AL # BRAILLE PATTERN DOTS-136
-2826;AL # BRAILLE PATTERN DOTS-236
-2827;AL # BRAILLE PATTERN DOTS-1236
-2828;AL # BRAILLE PATTERN DOTS-46
-2829;AL # BRAILLE PATTERN DOTS-146
-282A;AL # BRAILLE PATTERN DOTS-246
-282B;AL # BRAILLE PATTERN DOTS-1246
-282C;AL # BRAILLE PATTERN DOTS-346
-282D;AL # BRAILLE PATTERN DOTS-1346
-282E;AL # BRAILLE PATTERN DOTS-2346
-282F;AL # BRAILLE PATTERN DOTS-12346
-2830;AL # BRAILLE PATTERN DOTS-56
-2831;AL # BRAILLE PATTERN DOTS-156
-2832;AL # BRAILLE PATTERN DOTS-256
-2833;AL # BRAILLE PATTERN DOTS-1256
-2834;AL # BRAILLE PATTERN DOTS-356
-2835;AL # BRAILLE PATTERN DOTS-1356
-2836;AL # BRAILLE PATTERN DOTS-2356
-2837;AL # BRAILLE PATTERN DOTS-12356
-2838;AL # BRAILLE PATTERN DOTS-456
-2839;AL # BRAILLE PATTERN DOTS-1456
-283A;AL # BRAILLE PATTERN DOTS-2456
-283B;AL # BRAILLE PATTERN DOTS-12456
-283C;AL # BRAILLE PATTERN DOTS-3456
-283D;AL # BRAILLE PATTERN DOTS-13456
-283E;AL # BRAILLE PATTERN DOTS-23456
-283F;AL # BRAILLE PATTERN DOTS-123456
-2840;AL # BRAILLE PATTERN DOTS-7
-2841;AL # BRAILLE PATTERN DOTS-17
-2842;AL # BRAILLE PATTERN DOTS-27
-2843;AL # BRAILLE PATTERN DOTS-127
-2844;AL # BRAILLE PATTERN DOTS-37
-2845;AL # BRAILLE PATTERN DOTS-137
-2846;AL # BRAILLE PATTERN DOTS-237
-2847;AL # BRAILLE PATTERN DOTS-1237
-2848;AL # BRAILLE PATTERN DOTS-47
-2849;AL # BRAILLE PATTERN DOTS-147
-284A;AL # BRAILLE PATTERN DOTS-247
-284B;AL # BRAILLE PATTERN DOTS-1247
-284C;AL # BRAILLE PATTERN DOTS-347
-284D;AL # BRAILLE PATTERN DOTS-1347
-284E;AL # BRAILLE PATTERN DOTS-2347
-284F;AL # BRAILLE PATTERN DOTS-12347
-2850;AL # BRAILLE PATTERN DOTS-57
-2851;AL # BRAILLE PATTERN DOTS-157
-2852;AL # BRAILLE PATTERN DOTS-257
-2853;AL # BRAILLE PATTERN DOTS-1257
-2854;AL # BRAILLE PATTERN DOTS-357
-2855;AL # BRAILLE PATTERN DOTS-1357
-2856;AL # BRAILLE PATTERN DOTS-2357
-2857;AL # BRAILLE PATTERN DOTS-12357
-2858;AL # BRAILLE PATTERN DOTS-457
-2859;AL # BRAILLE PATTERN DOTS-1457
-285A;AL # BRAILLE PATTERN DOTS-2457
-285B;AL # BRAILLE PATTERN DOTS-12457
-285C;AL # BRAILLE PATTERN DOTS-3457
-285D;AL # BRAILLE PATTERN DOTS-13457
-285E;AL # BRAILLE PATTERN DOTS-23457
-285F;AL # BRAILLE PATTERN DOTS-123457
-2860;AL # BRAILLE PATTERN DOTS-67
-2861;AL # BRAILLE PATTERN DOTS-167
-2862;AL # BRAILLE PATTERN DOTS-267
-2863;AL # BRAILLE PATTERN DOTS-1267
-2864;AL # BRAILLE PATTERN DOTS-367
-2865;AL # BRAILLE PATTERN DOTS-1367
-2866;AL # BRAILLE PATTERN DOTS-2367
-2867;AL # BRAILLE PATTERN DOTS-12367
-2868;AL # BRAILLE PATTERN DOTS-467
-2869;AL # BRAILLE PATTERN DOTS-1467
-286A;AL # BRAILLE PATTERN DOTS-2467
-286B;AL # BRAILLE PATTERN DOTS-12467
-286C;AL # BRAILLE PATTERN DOTS-3467
-286D;AL # BRAILLE PATTERN DOTS-13467
-286E;AL # BRAILLE PATTERN DOTS-23467
-286F;AL # BRAILLE PATTERN DOTS-123467
-2870;AL # BRAILLE PATTERN DOTS-567
-2871;AL # BRAILLE PATTERN DOTS-1567
-2872;AL # BRAILLE PATTERN DOTS-2567
-2873;AL # BRAILLE PATTERN DOTS-12567
-2874;AL # BRAILLE PATTERN DOTS-3567
-2875;AL # BRAILLE PATTERN DOTS-13567
-2876;AL # BRAILLE PATTERN DOTS-23567
-2877;AL # BRAILLE PATTERN DOTS-123567
-2878;AL # BRAILLE PATTERN DOTS-4567
-2879;AL # BRAILLE PATTERN DOTS-14567
-287A;AL # BRAILLE PATTERN DOTS-24567
-287B;AL # BRAILLE PATTERN DOTS-124567
-287C;AL # BRAILLE PATTERN DOTS-34567
-287D;AL # BRAILLE PATTERN DOTS-134567
-287E;AL # BRAILLE PATTERN DOTS-234567
-287F;AL # BRAILLE PATTERN DOTS-1234567
-2880;AL # BRAILLE PATTERN DOTS-8
-2881;AL # BRAILLE PATTERN DOTS-18
-2882;AL # BRAILLE PATTERN DOTS-28
-2883;AL # BRAILLE PATTERN DOTS-128
-2884;AL # BRAILLE PATTERN DOTS-38
-2885;AL # BRAILLE PATTERN DOTS-138
-2886;AL # BRAILLE PATTERN DOTS-238
-2887;AL # BRAILLE PATTERN DOTS-1238
-2888;AL # BRAILLE PATTERN DOTS-48
-2889;AL # BRAILLE PATTERN DOTS-148
-288A;AL # BRAILLE PATTERN DOTS-248
-288B;AL # BRAILLE PATTERN DOTS-1248
-288C;AL # BRAILLE PATTERN DOTS-348
-288D;AL # BRAILLE PATTERN DOTS-1348
-288E;AL # BRAILLE PATTERN DOTS-2348
-288F;AL # BRAILLE PATTERN DOTS-12348
-2890;AL # BRAILLE PATTERN DOTS-58
-2891;AL # BRAILLE PATTERN DOTS-158
-2892;AL # BRAILLE PATTERN DOTS-258
-2893;AL # BRAILLE PATTERN DOTS-1258
-2894;AL # BRAILLE PATTERN DOTS-358
-2895;AL # BRAILLE PATTERN DOTS-1358
-2896;AL # BRAILLE PATTERN DOTS-2358
-2897;AL # BRAILLE PATTERN DOTS-12358
-2898;AL # BRAILLE PATTERN DOTS-458
-2899;AL # BRAILLE PATTERN DOTS-1458
-289A;AL # BRAILLE PATTERN DOTS-2458
-289B;AL # BRAILLE PATTERN DOTS-12458
-289C;AL # BRAILLE PATTERN DOTS-3458
-289D;AL # BRAILLE PATTERN DOTS-13458
-289E;AL # BRAILLE PATTERN DOTS-23458
-289F;AL # BRAILLE PATTERN DOTS-123458
-28A0;AL # BRAILLE PATTERN DOTS-68
-28A1;AL # BRAILLE PATTERN DOTS-168
-28A2;AL # BRAILLE PATTERN DOTS-268
-28A3;AL # BRAILLE PATTERN DOTS-1268
-28A4;AL # BRAILLE PATTERN DOTS-368
-28A5;AL # BRAILLE PATTERN DOTS-1368
-28A6;AL # BRAILLE PATTERN DOTS-2368
-28A7;AL # BRAILLE PATTERN DOTS-12368
-28A8;AL # BRAILLE PATTERN DOTS-468
-28A9;AL # BRAILLE PATTERN DOTS-1468
-28AA;AL # BRAILLE PATTERN DOTS-2468
-28AB;AL # BRAILLE PATTERN DOTS-12468
-28AC;AL # BRAILLE PATTERN DOTS-3468
-28AD;AL # BRAILLE PATTERN DOTS-13468
-28AE;AL # BRAILLE PATTERN DOTS-23468
-28AF;AL # BRAILLE PATTERN DOTS-123468
-28B0;AL # BRAILLE PATTERN DOTS-568
-28B1;AL # BRAILLE PATTERN DOTS-1568
-28B2;AL # BRAILLE PATTERN DOTS-2568
-28B3;AL # BRAILLE PATTERN DOTS-12568
-28B4;AL # BRAILLE PATTERN DOTS-3568
-28B5;AL # BRAILLE PATTERN DOTS-13568
-28B6;AL # BRAILLE PATTERN DOTS-23568
-28B7;AL # BRAILLE PATTERN DOTS-123568
-28B8;AL # BRAILLE PATTERN DOTS-4568
-28B9;AL # BRAILLE PATTERN DOTS-14568
-28BA;AL # BRAILLE PATTERN DOTS-24568
-28BB;AL # BRAILLE PATTERN DOTS-124568
-28BC;AL # BRAILLE PATTERN DOTS-34568
-28BD;AL # BRAILLE PATTERN DOTS-134568
-28BE;AL # BRAILLE PATTERN DOTS-234568
-28BF;AL # BRAILLE PATTERN DOTS-1234568
-28C0;AL # BRAILLE PATTERN DOTS-78
-28C1;AL # BRAILLE PATTERN DOTS-178
-28C2;AL # BRAILLE PATTERN DOTS-278
-28C3;AL # BRAILLE PATTERN DOTS-1278
-28C4;AL # BRAILLE PATTERN DOTS-378
-28C5;AL # BRAILLE PATTERN DOTS-1378
-28C6;AL # BRAILLE PATTERN DOTS-2378
-28C7;AL # BRAILLE PATTERN DOTS-12378
-28C8;AL # BRAILLE PATTERN DOTS-478
-28C9;AL # BRAILLE PATTERN DOTS-1478
-28CA;AL # BRAILLE PATTERN DOTS-2478
-28CB;AL # BRAILLE PATTERN DOTS-12478
-28CC;AL # BRAILLE PATTERN DOTS-3478
-28CD;AL # BRAILLE PATTERN DOTS-13478
-28CE;AL # BRAILLE PATTERN DOTS-23478
-28CF;AL # BRAILLE PATTERN DOTS-123478
-28D0;AL # BRAILLE PATTERN DOTS-578
-28D1;AL # BRAILLE PATTERN DOTS-1578
-28D2;AL # BRAILLE PATTERN DOTS-2578
-28D3;AL # BRAILLE PATTERN DOTS-12578
-28D4;AL # BRAILLE PATTERN DOTS-3578
-28D5;AL # BRAILLE PATTERN DOTS-13578
-28D6;AL # BRAILLE PATTERN DOTS-23578
-28D7;AL # BRAILLE PATTERN DOTS-123578
-28D8;AL # BRAILLE PATTERN DOTS-4578
-28D9;AL # BRAILLE PATTERN DOTS-14578
-28DA;AL # BRAILLE PATTERN DOTS-24578
-28DB;AL # BRAILLE PATTERN DOTS-124578
-28DC;AL # BRAILLE PATTERN DOTS-34578
-28DD;AL # BRAILLE PATTERN DOTS-134578
-28DE;AL # BRAILLE PATTERN DOTS-234578
-28DF;AL # BRAILLE PATTERN DOTS-1234578
-28E0;AL # BRAILLE PATTERN DOTS-678
-28E1;AL # BRAILLE PATTERN DOTS-1678
-28E2;AL # BRAILLE PATTERN DOTS-2678
-28E3;AL # BRAILLE PATTERN DOTS-12678
-28E4;AL # BRAILLE PATTERN DOTS-3678
-28E5;AL # BRAILLE PATTERN DOTS-13678
-28E6;AL # BRAILLE PATTERN DOTS-23678
-28E7;AL # BRAILLE PATTERN DOTS-123678
-28E8;AL # BRAILLE PATTERN DOTS-4678
-28E9;AL # BRAILLE PATTERN DOTS-14678
-28EA;AL # BRAILLE PATTERN DOTS-24678
-28EB;AL # BRAILLE PATTERN DOTS-124678
-28EC;AL # BRAILLE PATTERN DOTS-34678
-28ED;AL # BRAILLE PATTERN DOTS-134678
-28EE;AL # BRAILLE PATTERN DOTS-234678
-28EF;AL # BRAILLE PATTERN DOTS-1234678
-28F0;AL # BRAILLE PATTERN DOTS-5678
-28F1;AL # BRAILLE PATTERN DOTS-15678
-28F2;AL # BRAILLE PATTERN DOTS-25678
-28F3;AL # BRAILLE PATTERN DOTS-125678
-28F4;AL # BRAILLE PATTERN DOTS-35678
-28F5;AL # BRAILLE PATTERN DOTS-135678
-28F6;AL # BRAILLE PATTERN DOTS-235678
-28F7;AL # BRAILLE PATTERN DOTS-1235678
-28F8;AL # BRAILLE PATTERN DOTS-45678
-28F9;AL # BRAILLE PATTERN DOTS-145678
-28FA;AL # BRAILLE PATTERN DOTS-245678
-28FB;AL # BRAILLE PATTERN DOTS-1245678
-28FC;AL # BRAILLE PATTERN DOTS-345678
-28FD;AL # BRAILLE PATTERN DOTS-1345678
-28FE;AL # BRAILLE PATTERN DOTS-2345678
-28FF;AL # BRAILLE PATTERN DOTS-12345678
-2900;AL # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901;AL # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902;AL # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903;AL # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904;AL # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905;AL # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906;AL # LEFTWARDS DOUBLE ARROW FROM BAR
-2907;AL # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908;AL # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909;AL # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A;AL # UPWARDS TRIPLE ARROW
-290B;AL # DOWNWARDS TRIPLE ARROW
-290C;AL # LEFTWARDS DOUBLE DASH ARROW
-290D;AL # RIGHTWARDS DOUBLE DASH ARROW
-290E;AL # LEFTWARDS TRIPLE DASH ARROW
-290F;AL # RIGHTWARDS TRIPLE DASH ARROW
-2910;AL # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911;AL # RIGHTWARDS ARROW WITH DOTTED STEM
-2912;AL # UPWARDS ARROW TO BAR
-2913;AL # DOWNWARDS ARROW TO BAR
-2914;AL # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915;AL # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916;AL # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917;AL # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918;AL # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919;AL # LEFTWARDS ARROW-TAIL
-291A;AL # RIGHTWARDS ARROW-TAIL
-291B;AL # LEFTWARDS DOUBLE ARROW-TAIL
-291C;AL # RIGHTWARDS DOUBLE ARROW-TAIL
-291D;AL # LEFTWARDS ARROW TO BLACK DIAMOND
-291E;AL # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F;AL # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920;AL # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921;AL # NORTH WEST AND SOUTH EAST ARROW
-2922;AL # NORTH EAST AND SOUTH WEST ARROW
-2923;AL # NORTH WEST ARROW WITH HOOK
-2924;AL # NORTH EAST ARROW WITH HOOK
-2925;AL # SOUTH EAST ARROW WITH HOOK
-2926;AL # SOUTH WEST ARROW WITH HOOK
-2927;AL # NORTH WEST ARROW AND NORTH EAST ARROW
-2928;AL # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929;AL # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A;AL # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B;AL # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C;AL # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D;AL # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E;AL # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F;AL # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930;AL # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931;AL # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932;AL # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933;AL # WAVE ARROW POINTING DIRECTLY RIGHT
-2934;AL # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935;AL # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936;AL # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937;AL # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938;AL # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939;AL # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A;AL # TOP ARC ANTICLOCKWISE ARROW
-293B;AL # BOTTOM ARC ANTICLOCKWISE ARROW
-293C;AL # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D;AL # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E;AL # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F;AL # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940;AL # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941;AL # CLOCKWISE CLOSED CIRCLE ARROW
-2942;AL # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943;AL # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944;AL # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945;AL # RIGHTWARDS ARROW WITH PLUS BELOW
-2946;AL # LEFTWARDS ARROW WITH PLUS BELOW
-2947;AL # RIGHTWARDS ARROW THROUGH X
-2948;AL # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949;AL # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A;AL # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B;AL # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C;AL # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D;AL # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E;AL # LEFT BARB UP RIGHT BARB UP HARPOON
-294F;AL # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950;AL # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951;AL # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952;AL # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953;AL # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954;AL # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955;AL # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956;AL # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957;AL # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958;AL # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959;AL # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A;AL # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B;AL # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C;AL # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D;AL # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E;AL # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F;AL # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960;AL # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961;AL # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962;AL # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963;AL # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964;AL # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965;AL # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966;AL # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967;AL # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968;AL # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969;AL # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A;AL # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B;AL # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C;AL # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D;AL # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E;AL # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F;AL # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970;AL # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971;AL # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972;AL # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973;AL # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974;AL # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975;AL # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976;AL # LESS-THAN ABOVE LEFTWARDS ARROW
-2977;AL # LEFTWARDS ARROW THROUGH LESS-THAN
-2978;AL # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979;AL # SUBSET ABOVE RIGHTWARDS ARROW
-297A;AL # LEFTWARDS ARROW THROUGH SUBSET
-297B;AL # SUPERSET ABOVE LEFTWARDS ARROW
-297C;AL # LEFT FISH TAIL
-297D;AL # RIGHT FISH TAIL
-297E;AL # UP FISH TAIL
-297F;AL # DOWN FISH TAIL
-2980;AL # TRIPLE VERTICAL BAR DELIMITER
-2981;AL # Z NOTATION SPOT
-2982;AL # Z NOTATION TYPE COLON
-2983;OP # LEFT WHITE CURLY BRACKET
-2984;CL # RIGHT WHITE CURLY BRACKET
-2985;OP # LEFT WHITE PARENTHESIS
-2986;CL # RIGHT WHITE PARENTHESIS
-2987;OP # Z NOTATION LEFT IMAGE BRACKET
-2988;CL # Z NOTATION RIGHT IMAGE BRACKET
-2989;OP # Z NOTATION LEFT BINDING BRACKET
-298A;CL # Z NOTATION RIGHT BINDING BRACKET
-298B;OP # LEFT SQUARE BRACKET WITH UNDERBAR
-298C;CL # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D;OP # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E;CL # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F;OP # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990;CL # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991;OP # LEFT ANGLE BRACKET WITH DOT
-2992;CL # RIGHT ANGLE BRACKET WITH DOT
-2993;OP # LEFT ARC LESS-THAN BRACKET
-2994;CL # RIGHT ARC GREATER-THAN BRACKET
-2995;OP # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996;CL # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997;OP # LEFT BLACK TORTOISE SHELL BRACKET
-2998;CL # RIGHT BLACK TORTOISE SHELL BRACKET
-2999;AL # DOTTED FENCE
-299A;AL # VERTICAL ZIGZAG LINE
-299B;AL # MEASURED ANGLE OPENING LEFT
-299C;AL # RIGHT ANGLE VARIANT WITH SQUARE
-299D;AL # MEASURED RIGHT ANGLE WITH DOT
-299E;AL # ANGLE WITH S INSIDE
-299F;AL # ACUTE ANGLE
-29A0;AL # SPHERICAL ANGLE OPENING LEFT
-29A1;AL # SPHERICAL ANGLE OPENING UP
-29A2;AL # TURNED ANGLE
-29A3;AL # REVERSED ANGLE
-29A4;AL # ANGLE WITH UNDERBAR
-29A5;AL # REVERSED ANGLE WITH UNDERBAR
-29A6;AL # OBLIQUE ANGLE OPENING UP
-29A7;AL # OBLIQUE ANGLE OPENING DOWN
-29A8;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF;AL # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0;AL # REVERSED EMPTY SET
-29B1;AL # EMPTY SET WITH OVERBAR
-29B2;AL # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3;AL # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4;AL # EMPTY SET WITH LEFT ARROW ABOVE
-29B5;AL # CIRCLE WITH HORIZONTAL BAR
-29B6;AL # CIRCLED VERTICAL BAR
-29B7;AL # CIRCLED PARALLEL
-29B8;AL # CIRCLED REVERSE SOLIDUS
-29B9;AL # CIRCLED PERPENDICULAR
-29BA;AL # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB;AL # CIRCLE WITH SUPERIMPOSED X
-29BC;AL # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD;AL # UP ARROW THROUGH CIRCLE
-29BE;AL # CIRCLED WHITE BULLET
-29BF;AL # CIRCLED BULLET
-29C0;AL # CIRCLED LESS-THAN
-29C1;AL # CIRCLED GREATER-THAN
-29C2;AL # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3;AL # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4;AL # SQUARED RISING DIAGONAL SLASH
-29C5;AL # SQUARED FALLING DIAGONAL SLASH
-29C6;AL # SQUARED ASTERISK
-29C7;AL # SQUARED SMALL CIRCLE
-29C8;AL # SQUARED SQUARE
-29C9;AL # TWO JOINED SQUARES
-29CA;AL # TRIANGLE WITH DOT ABOVE
-29CB;AL # TRIANGLE WITH UNDERBAR
-29CC;AL # S IN TRIANGLE
-29CD;AL # TRIANGLE WITH SERIFS AT BOTTOM
-29CE;AL # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF;AL # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0;AL # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1;AL # BOWTIE WITH LEFT HALF BLACK
-29D2;AL # BOWTIE WITH RIGHT HALF BLACK
-29D3;AL # BLACK BOWTIE
-29D4;AL # TIMES WITH LEFT HALF BLACK
-29D5;AL # TIMES WITH RIGHT HALF BLACK
-29D6;AL # WHITE HOURGLASS
-29D7;AL # BLACK HOURGLASS
-29D8;OP # LEFT WIGGLY FENCE
-29D9;CL # RIGHT WIGGLY FENCE
-29DA;OP # LEFT DOUBLE WIGGLY FENCE
-29DB;CL # RIGHT DOUBLE WIGGLY FENCE
-29DC;AL # INCOMPLETE INFINITY
-29DD;AL # TIE OVER INFINITY
-29DE;AL # INFINITY NEGATED WITH VERTICAL BAR
-29DF;AL # DOUBLE-ENDED MULTIMAP
-29E0;AL # SQUARE WITH CONTOURED OUTLINE
-29E1;AL # INCREASES AS
-29E2;AL # SHUFFLE PRODUCT
-29E3;AL # EQUALS SIGN AND SLANTED PARALLEL
-29E4;AL # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5;AL # IDENTICAL TO AND SLANTED PARALLEL
-29E6;AL # GLEICH STARK
-29E7;AL # THERMODYNAMIC
-29E8;AL # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9;AL # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA;AL # BLACK DIAMOND WITH DOWN ARROW
-29EB;AL # BLACK LOZENGE
-29EC;AL # WHITE CIRCLE WITH DOWN ARROW
-29ED;AL # BLACK CIRCLE WITH DOWN ARROW
-29EE;AL # ERROR-BARRED WHITE SQUARE
-29EF;AL # ERROR-BARRED BLACK SQUARE
-29F0;AL # ERROR-BARRED WHITE DIAMOND
-29F1;AL # ERROR-BARRED BLACK DIAMOND
-29F2;AL # ERROR-BARRED WHITE CIRCLE
-29F3;AL # ERROR-BARRED BLACK CIRCLE
-29F4;AL # RULE-DELAYED
-29F5;AL # REVERSE SOLIDUS OPERATOR
-29F6;AL # SOLIDUS WITH OVERBAR
-29F7;AL # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8;AL # BIG SOLIDUS
-29F9;AL # BIG REVERSE SOLIDUS
-29FA;AL # DOUBLE PLUS
-29FB;AL # TRIPLE PLUS
-29FC;OP # LEFT-POINTING CURVED ANGLE BRACKET
-29FD;CL # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE;AL # TINY
-29FF;AL # MINY
-2A00;AL # N-ARY CIRCLED DOT OPERATOR
-2A01;AL # N-ARY CIRCLED PLUS OPERATOR
-2A02;AL # N-ARY CIRCLED TIMES OPERATOR
-2A03;AL # N-ARY UNION OPERATOR WITH DOT
-2A04;AL # N-ARY UNION OPERATOR WITH PLUS
-2A05;AL # N-ARY SQUARE INTERSECTION OPERATOR
-2A06;AL # N-ARY SQUARE UNION OPERATOR
-2A07;AL # TWO LOGICAL AND OPERATOR
-2A08;AL # TWO LOGICAL OR OPERATOR
-2A09;AL # N-ARY TIMES OPERATOR
-2A0A;AL # MODULO TWO SUM
-2A0B;AL # SUMMATION WITH INTEGRAL
-2A0C;AL # QUADRUPLE INTEGRAL OPERATOR
-2A0D;AL # FINITE PART INTEGRAL
-2A0E;AL # INTEGRAL WITH DOUBLE STROKE
-2A0F;AL # INTEGRAL AVERAGE WITH SLASH
-2A10;AL # CIRCULATION FUNCTION
-2A11;AL # ANTICLOCKWISE INTEGRATION
-2A12;AL # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13;AL # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14;AL # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15;AL # INTEGRAL AROUND A POINT OPERATOR
-2A16;AL # QUATERNION INTEGRAL OPERATOR
-2A17;AL # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18;AL # INTEGRAL WITH TIMES SIGN
-2A19;AL # INTEGRAL WITH INTERSECTION
-2A1A;AL # INTEGRAL WITH UNION
-2A1B;AL # INTEGRAL WITH OVERBAR
-2A1C;AL # INTEGRAL WITH UNDERBAR
-2A1D;AL # JOIN
-2A1E;AL # LARGE LEFT TRIANGLE OPERATOR
-2A1F;AL # Z NOTATION SCHEMA COMPOSITION
-2A20;AL # Z NOTATION SCHEMA PIPING
-2A21;AL # Z NOTATION SCHEMA PROJECTION
-2A22;AL # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23;AL # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24;AL # PLUS SIGN WITH TILDE ABOVE
-2A25;AL # PLUS SIGN WITH DOT BELOW
-2A26;AL # PLUS SIGN WITH TILDE BELOW
-2A27;AL # PLUS SIGN WITH SUBSCRIPT TWO
-2A28;AL # PLUS SIGN WITH BLACK TRIANGLE
-2A29;AL # MINUS SIGN WITH COMMA ABOVE
-2A2A;AL # MINUS SIGN WITH DOT BELOW
-2A2B;AL # MINUS SIGN WITH FALLING DOTS
-2A2C;AL # MINUS SIGN WITH RISING DOTS
-2A2D;AL # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E;AL # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F;AL # VECTOR OR CROSS PRODUCT
-2A30;AL # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31;AL # MULTIPLICATION SIGN WITH UNDERBAR
-2A32;AL # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33;AL # SMASH PRODUCT
-2A34;AL # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35;AL # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36;AL # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37;AL # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38;AL # CIRCLED DIVISION SIGN
-2A39;AL # PLUS SIGN IN TRIANGLE
-2A3A;AL # MINUS SIGN IN TRIANGLE
-2A3B;AL # MULTIPLICATION SIGN IN TRIANGLE
-2A3C;AL # INTERIOR PRODUCT
-2A3D;AL # RIGHTHAND INTERIOR PRODUCT
-2A3E;AL # Z NOTATION RELATIONAL COMPOSITION
-2A3F;AL # AMALGAMATION OR COPRODUCT
-2A40;AL # INTERSECTION WITH DOT
-2A41;AL # UNION WITH MINUS SIGN
-2A42;AL # UNION WITH OVERBAR
-2A43;AL # INTERSECTION WITH OVERBAR
-2A44;AL # INTERSECTION WITH LOGICAL AND
-2A45;AL # UNION WITH LOGICAL OR
-2A46;AL # UNION ABOVE INTERSECTION
-2A47;AL # INTERSECTION ABOVE UNION
-2A48;AL # UNION ABOVE BAR ABOVE INTERSECTION
-2A49;AL # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A;AL # UNION BESIDE AND JOINED WITH UNION
-2A4B;AL # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C;AL # CLOSED UNION WITH SERIFS
-2A4D;AL # CLOSED INTERSECTION WITH SERIFS
-2A4E;AL # DOUBLE SQUARE INTERSECTION
-2A4F;AL # DOUBLE SQUARE UNION
-2A50;AL # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51;AL # LOGICAL AND WITH DOT ABOVE
-2A52;AL # LOGICAL OR WITH DOT ABOVE
-2A53;AL # DOUBLE LOGICAL AND
-2A54;AL # DOUBLE LOGICAL OR
-2A55;AL # TWO INTERSECTING LOGICAL AND
-2A56;AL # TWO INTERSECTING LOGICAL OR
-2A57;AL # SLOPING LARGE OR
-2A58;AL # SLOPING LARGE AND
-2A59;AL # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A;AL # LOGICAL AND WITH MIDDLE STEM
-2A5B;AL # LOGICAL OR WITH MIDDLE STEM
-2A5C;AL # LOGICAL AND WITH HORIZONTAL DASH
-2A5D;AL # LOGICAL OR WITH HORIZONTAL DASH
-2A5E;AL # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F;AL # LOGICAL AND WITH UNDERBAR
-2A60;AL # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61;AL # SMALL VEE WITH UNDERBAR
-2A62;AL # LOGICAL OR WITH DOUBLE OVERBAR
-2A63;AL # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64;AL # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65;AL # Z NOTATION RANGE ANTIRESTRICTION
-2A66;AL # EQUALS SIGN WITH DOT BELOW
-2A67;AL # IDENTICAL WITH DOT ABOVE
-2A68;AL # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69;AL # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A;AL # TILDE OPERATOR WITH DOT ABOVE
-2A6B;AL # TILDE OPERATOR WITH RISING DOTS
-2A6C;AL # SIMILAR MINUS SIMILAR
-2A6D;AL # CONGRUENT WITH DOT ABOVE
-2A6E;AL # EQUALS WITH ASTERISK
-2A6F;AL # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70;AL # APPROXIMATELY EQUAL OR EQUAL TO
-2A71;AL # EQUALS SIGN ABOVE PLUS SIGN
-2A72;AL # PLUS SIGN ABOVE EQUALS SIGN
-2A73;AL # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74;AL # DOUBLE COLON EQUAL
-2A75;AL # TWO CONSECUTIVE EQUALS SIGNS
-2A76;AL # THREE CONSECUTIVE EQUALS SIGNS
-2A77;AL # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78;AL # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79;AL # LESS-THAN WITH CIRCLE INSIDE
-2A7A;AL # GREATER-THAN WITH CIRCLE INSIDE
-2A7B;AL # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C;AL # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D;AL # LESS-THAN OR SLANTED EQUAL TO
-2A7E;AL # GREATER-THAN OR SLANTED EQUAL TO
-2A7F;AL # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80;AL # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81;AL # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82;AL # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83;AL # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84;AL # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85;AL # LESS-THAN OR APPROXIMATE
-2A86;AL # GREATER-THAN OR APPROXIMATE
-2A87;AL # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88;AL # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89;AL # LESS-THAN AND NOT APPROXIMATE
-2A8A;AL # GREATER-THAN AND NOT APPROXIMATE
-2A8B;AL # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C;AL # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D;AL # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E;AL # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F;AL # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90;AL # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91;AL # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92;AL # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93;AL # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94;AL # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95;AL # SLANTED EQUAL TO OR LESS-THAN
-2A96;AL # SLANTED EQUAL TO OR GREATER-THAN
-2A97;AL # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98;AL # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99;AL # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A;AL # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B;AL # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C;AL # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D;AL # SIMILAR OR LESS-THAN
-2A9E;AL # SIMILAR OR GREATER-THAN
-2A9F;AL # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0;AL # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1;AL # DOUBLE NESTED LESS-THAN
-2AA2;AL # DOUBLE NESTED GREATER-THAN
-2AA3;AL # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4;AL # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5;AL # GREATER-THAN BESIDE LESS-THAN
-2AA6;AL # LESS-THAN CLOSED BY CURVE
-2AA7;AL # GREATER-THAN CLOSED BY CURVE
-2AA8;AL # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9;AL # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA;AL # SMALLER THAN
-2AAB;AL # LARGER THAN
-2AAC;AL # SMALLER THAN OR EQUAL TO
-2AAD;AL # LARGER THAN OR EQUAL TO
-2AAE;AL # EQUALS SIGN WITH BUMPY ABOVE
-2AAF;AL # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0;AL # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1;AL # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2;AL # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3;AL # PRECEDES ABOVE EQUALS SIGN
-2AB4;AL # SUCCEEDS ABOVE EQUALS SIGN
-2AB5;AL # PRECEDES ABOVE NOT EQUAL TO
-2AB6;AL # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7;AL # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8;AL # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9;AL # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA;AL # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB;AL # DOUBLE PRECEDES
-2ABC;AL # DOUBLE SUCCEEDS
-2ABD;AL # SUBSET WITH DOT
-2ABE;AL # SUPERSET WITH DOT
-2ABF;AL # SUBSET WITH PLUS SIGN BELOW
-2AC0;AL # SUPERSET WITH PLUS SIGN BELOW
-2AC1;AL # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2;AL # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3;AL # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4;AL # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5;AL # SUBSET OF ABOVE EQUALS SIGN
-2AC6;AL # SUPERSET OF ABOVE EQUALS SIGN
-2AC7;AL # SUBSET OF ABOVE TILDE OPERATOR
-2AC8;AL # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9;AL # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA;AL # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB;AL # SUBSET OF ABOVE NOT EQUAL TO
-2ACC;AL # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD;AL # SQUARE LEFT OPEN BOX OPERATOR
-2ACE;AL # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF;AL # CLOSED SUBSET
-2AD0;AL # CLOSED SUPERSET
-2AD1;AL # CLOSED SUBSET OR EQUAL TO
-2AD2;AL # CLOSED SUPERSET OR EQUAL TO
-2AD3;AL # SUBSET ABOVE SUPERSET
-2AD4;AL # SUPERSET ABOVE SUBSET
-2AD5;AL # SUBSET ABOVE SUBSET
-2AD6;AL # SUPERSET ABOVE SUPERSET
-2AD7;AL # SUPERSET BESIDE SUBSET
-2AD8;AL # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9;AL # ELEMENT OF OPENING DOWNWARDS
-2ADA;AL # PITCHFORK WITH TEE TOP
-2ADB;AL # TRANSVERSAL INTERSECTION
-2ADC;AL # FORKING
-2ADD;AL # NONFORKING
-2ADE;AL # SHORT LEFT TACK
-2ADF;AL # SHORT DOWN TACK
-2AE0;AL # SHORT UP TACK
-2AE1;AL # PERPENDICULAR WITH S
-2AE2;AL # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3;AL # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4;AL # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5;AL # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6;AL # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7;AL # SHORT DOWN TACK WITH OVERBAR
-2AE8;AL # SHORT UP TACK WITH UNDERBAR
-2AE9;AL # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA;AL # DOUBLE DOWN TACK
-2AEB;AL # DOUBLE UP TACK
-2AEC;AL # DOUBLE STROKE NOT SIGN
-2AED;AL # REVERSED DOUBLE STROKE NOT SIGN
-2AEE;AL # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF;AL # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0;AL # VERTICAL LINE WITH CIRCLE BELOW
-2AF1;AL # DOWN TACK WITH CIRCLE BELOW
-2AF2;AL # PARALLEL WITH HORIZONTAL STROKE
-2AF3;AL # PARALLEL WITH TILDE OPERATOR
-2AF4;AL # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5;AL # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6;AL # TRIPLE COLON OPERATOR
-2AF7;AL # TRIPLE NESTED LESS-THAN
-2AF8;AL # TRIPLE NESTED GREATER-THAN
-2AF9;AL # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA;AL # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB;AL # TRIPLE SOLIDUS BINARY RELATION
-2AFC;AL # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD;AL # DOUBLE SOLIDUS OPERATOR
-2AFE;AL # WHITE VERTICAL BAR
-2AFF;AL # N-ARY WHITE VERTICAL BAR
-2B00;AL # NORTH EAST WHITE ARROW
-2B01;AL # NORTH WEST WHITE ARROW
-2B02;AL # SOUTH EAST WHITE ARROW
-2B03;AL # SOUTH WEST WHITE ARROW
-2B04;AL # LEFT RIGHT WHITE ARROW
-2B05;AL # LEFTWARDS BLACK ARROW
-2B06;AL # UPWARDS BLACK ARROW
-2B07;AL # DOWNWARDS BLACK ARROW
-2B08;AL # NORTH EAST BLACK ARROW
-2B09;AL # NORTH WEST BLACK ARROW
-2B0A;AL # SOUTH EAST BLACK ARROW
-2B0B;AL # SOUTH WEST BLACK ARROW
-2B0C;AL # LEFT RIGHT BLACK ARROW
-2B0D;AL # UP DOWN BLACK ARROW
-2B0E;AL # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F;AL # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10;AL # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11;AL # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12;AL # SQUARE WITH TOP HALF BLACK
-2B13;AL # SQUARE WITH BOTTOM HALF BLACK
-2B14;AL # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15;AL # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16;AL # DIAMOND WITH LEFT HALF BLACK
-2B17;AL # DIAMOND WITH RIGHT HALF BLACK
-2B18;AL # DIAMOND WITH TOP HALF BLACK
-2B19;AL # DIAMOND WITH BOTTOM HALF BLACK
-2B1A;AL # DOTTED SQUARE
-2B1B;AL # BLACK LARGE SQUARE
-2B1C;AL # WHITE LARGE SQUARE
-2B1D;AL # BLACK VERY SMALL SQUARE
-2B1E;AL # WHITE VERY SMALL SQUARE
-2B1F;AL # BLACK PENTAGON
-2B20;AL # WHITE PENTAGON
-2B21;AL # WHITE HEXAGON
-2B22;AL # BLACK HEXAGON
-2B23;AL # HORIZONTAL BLACK HEXAGON
-2B24;AL # BLACK LARGE CIRCLE
-2B25;AL # BLACK MEDIUM DIAMOND
-2B26;AL # WHITE MEDIUM DIAMOND
-2B27;AL # BLACK MEDIUM LOZENGE
-2B28;AL # WHITE MEDIUM LOZENGE
-2B29;AL # BLACK SMALL DIAMOND
-2B2A;AL # BLACK SMALL LOZENGE
-2B2B;AL # WHITE SMALL LOZENGE
-2B2C;AL # BLACK HORIZONTAL ELLIPSE
-2B2D;AL # WHITE HORIZONTAL ELLIPSE
-2B2E;AL # BLACK VERTICAL ELLIPSE
-2B2F;AL # WHITE VERTICAL ELLIPSE
-2B30;AL # LEFT ARROW WITH SMALL CIRCLE
-2B31;AL # THREE LEFTWARDS ARROWS
-2B32;AL # LEFT ARROW WITH CIRCLED PLUS
-2B33;AL # LONG LEFTWARDS SQUIGGLE ARROW
-2B34;AL # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35;AL # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36;AL # LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37;AL # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38;AL # LEFTWARDS ARROW WITH DOTTED STEM
-2B39;AL # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A;AL # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B;AL # LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C;AL # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D;AL # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E;AL # LEFTWARDS ARROW THROUGH X
-2B3F;AL # WAVE ARROW POINTING DIRECTLY LEFT
-2B40;AL # EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41;AL # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42;AL # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43;AL # RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44;AL # RIGHTWARDS ARROW THROUGH SUPERSET
-2B45;AL # LEFTWARDS QUADRUPLE ARROW
-2B46;AL # RIGHTWARDS QUADRUPLE ARROW
-2B47;AL # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48;AL # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49;AL # TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A;AL # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B;AL # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C;AL # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50;AL # WHITE MEDIUM STAR
-2B51;AL # BLACK SMALL STAR
-2B52;AL # WHITE SMALL STAR
-2B53;AL # BLACK RIGHT-POINTING PENTAGON
-2B54;AL # WHITE RIGHT-POINTING PENTAGON
-2B55;AI # HEAVY LARGE CIRCLE
-2B56;AI # HEAVY OVAL WITH OVAL INSIDE
-2B57;AI # HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58;AI # HEAVY CIRCLE
-2B59;AI # HEAVY CIRCLED SALTIRE
-2C00;AL # GLAGOLITIC CAPITAL LETTER AZU
-2C01;AL # GLAGOLITIC CAPITAL LETTER BUKY
-2C02;AL # GLAGOLITIC CAPITAL LETTER VEDE
-2C03;AL # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C04;AL # GLAGOLITIC CAPITAL LETTER DOBRO
-2C05;AL # GLAGOLITIC CAPITAL LETTER YESTU
-2C06;AL # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C07;AL # GLAGOLITIC CAPITAL LETTER DZELO
-2C08;AL # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C09;AL # GLAGOLITIC CAPITAL LETTER IZHE
-2C0A;AL # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C0B;AL # GLAGOLITIC CAPITAL LETTER I
-2C0C;AL # GLAGOLITIC CAPITAL LETTER DJERVI
-2C0D;AL # GLAGOLITIC CAPITAL LETTER KAKO
-2C0E;AL # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C0F;AL # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C10;AL # GLAGOLITIC CAPITAL LETTER NASHI
-2C11;AL # GLAGOLITIC CAPITAL LETTER ONU
-2C12;AL # GLAGOLITIC CAPITAL LETTER POKOJI
-2C13;AL # GLAGOLITIC CAPITAL LETTER RITSI
-2C14;AL # GLAGOLITIC CAPITAL LETTER SLOVO
-2C15;AL # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C16;AL # GLAGOLITIC CAPITAL LETTER UKU
-2C17;AL # GLAGOLITIC CAPITAL LETTER FRITU
-2C18;AL # GLAGOLITIC CAPITAL LETTER HERU
-2C19;AL # GLAGOLITIC CAPITAL LETTER OTU
-2C1A;AL # GLAGOLITIC CAPITAL LETTER PE
-2C1B;AL # GLAGOLITIC CAPITAL LETTER SHTA
-2C1C;AL # GLAGOLITIC CAPITAL LETTER TSI
-2C1D;AL # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C1E;AL # GLAGOLITIC CAPITAL LETTER SHA
-2C1F;AL # GLAGOLITIC CAPITAL LETTER YERU
-2C20;AL # GLAGOLITIC CAPITAL LETTER YERI
-2C21;AL # GLAGOLITIC CAPITAL LETTER YATI
-2C22;AL # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C23;AL # GLAGOLITIC CAPITAL LETTER YU
-2C24;AL # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C25;AL # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C26;AL # GLAGOLITIC CAPITAL LETTER YO
-2C27;AL # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C28;AL # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C29;AL # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C2A;AL # GLAGOLITIC CAPITAL LETTER FITA
-2C2B;AL # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C2C;AL # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C2D;AL # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C2E;AL # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30;AL # GLAGOLITIC SMALL LETTER AZU
-2C31;AL # GLAGOLITIC SMALL LETTER BUKY
-2C32;AL # GLAGOLITIC SMALL LETTER VEDE
-2C33;AL # GLAGOLITIC SMALL LETTER GLAGOLI
-2C34;AL # GLAGOLITIC SMALL LETTER DOBRO
-2C35;AL # GLAGOLITIC SMALL LETTER YESTU
-2C36;AL # GLAGOLITIC SMALL LETTER ZHIVETE
-2C37;AL # GLAGOLITIC SMALL LETTER DZELO
-2C38;AL # GLAGOLITIC SMALL LETTER ZEMLJA
-2C39;AL # GLAGOLITIC SMALL LETTER IZHE
-2C3A;AL # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C3B;AL # GLAGOLITIC SMALL LETTER I
-2C3C;AL # GLAGOLITIC SMALL LETTER DJERVI
-2C3D;AL # GLAGOLITIC SMALL LETTER KAKO
-2C3E;AL # GLAGOLITIC SMALL LETTER LJUDIJE
-2C3F;AL # GLAGOLITIC SMALL LETTER MYSLITE
-2C40;AL # GLAGOLITIC SMALL LETTER NASHI
-2C41;AL # GLAGOLITIC SMALL LETTER ONU
-2C42;AL # GLAGOLITIC SMALL LETTER POKOJI
-2C43;AL # GLAGOLITIC SMALL LETTER RITSI
-2C44;AL # GLAGOLITIC SMALL LETTER SLOVO
-2C45;AL # GLAGOLITIC SMALL LETTER TVRIDO
-2C46;AL # GLAGOLITIC SMALL LETTER UKU
-2C47;AL # GLAGOLITIC SMALL LETTER FRITU
-2C48;AL # GLAGOLITIC SMALL LETTER HERU
-2C49;AL # GLAGOLITIC SMALL LETTER OTU
-2C4A;AL # GLAGOLITIC SMALL LETTER PE
-2C4B;AL # GLAGOLITIC SMALL LETTER SHTA
-2C4C;AL # GLAGOLITIC SMALL LETTER TSI
-2C4D;AL # GLAGOLITIC SMALL LETTER CHRIVI
-2C4E;AL # GLAGOLITIC SMALL LETTER SHA
-2C4F;AL # GLAGOLITIC SMALL LETTER YERU
-2C50;AL # GLAGOLITIC SMALL LETTER YERI
-2C51;AL # GLAGOLITIC SMALL LETTER YATI
-2C52;AL # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C53;AL # GLAGOLITIC SMALL LETTER YU
-2C54;AL # GLAGOLITIC SMALL LETTER SMALL YUS
-2C55;AL # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C56;AL # GLAGOLITIC SMALL LETTER YO
-2C57;AL # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C58;AL # GLAGOLITIC SMALL LETTER BIG YUS
-2C59;AL # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C5A;AL # GLAGOLITIC SMALL LETTER FITA
-2C5B;AL # GLAGOLITIC SMALL LETTER IZHITSA
-2C5C;AL # GLAGOLITIC SMALL LETTER SHTAPIC
-2C5D;AL # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C5E;AL # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60;AL # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C61;AL # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C62;AL # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-2C63;AL # LATIN CAPITAL LETTER P WITH STROKE
-2C64;AL # LATIN CAPITAL LETTER R WITH TAIL
-2C65;AL # LATIN SMALL LETTER A WITH STROKE
-2C66;AL # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C67;AL # LATIN CAPITAL LETTER H WITH DESCENDER
-2C68;AL # LATIN SMALL LETTER H WITH DESCENDER
-2C69;AL # LATIN CAPITAL LETTER K WITH DESCENDER
-2C6A;AL # LATIN SMALL LETTER K WITH DESCENDER
-2C6B;AL # LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6C;AL # LATIN SMALL LETTER Z WITH DESCENDER
-2C6D;AL # LATIN CAPITAL LETTER ALPHA
-2C6E;AL # LATIN CAPITAL LETTER M WITH HOOK
-2C6F;AL # LATIN CAPITAL LETTER TURNED A
-2C70;AL # LATIN CAPITAL LETTER TURNED ALPHA
-2C71;AL # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C72;AL # LATIN CAPITAL LETTER W WITH HOOK
-2C73;AL # LATIN SMALL LETTER W WITH HOOK
-2C74;AL # LATIN SMALL LETTER V WITH CURL
-2C75;AL # LATIN CAPITAL LETTER HALF H
-2C76;AL # LATIN SMALL LETTER HALF H
-2C77;AL # LATIN SMALL LETTER TAILLESS PHI
-2C78;AL # LATIN SMALL LETTER E WITH NOTCH
-2C79;AL # LATIN SMALL LETTER TURNED R WITH TAIL
-2C7A;AL # LATIN SMALL LETTER O WITH LOW RING INSIDE
-2C7B;AL # LATIN LETTER SMALL CAPITAL TURNED E
-2C7C;AL # LATIN SUBSCRIPT SMALL LETTER J
-2C7D;AL # MODIFIER LETTER CAPITAL V
-2C7E;AL # LATIN CAPITAL LETTER S WITH SWASH TAIL
-2C7F;AL # LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C80;AL # COPTIC CAPITAL LETTER ALFA
-2C81;AL # COPTIC SMALL LETTER ALFA
-2C82;AL # COPTIC CAPITAL LETTER VIDA
-2C83;AL # COPTIC SMALL LETTER VIDA
-2C84;AL # COPTIC CAPITAL LETTER GAMMA
-2C85;AL # COPTIC SMALL LETTER GAMMA
-2C86;AL # COPTIC CAPITAL LETTER DALDA
-2C87;AL # COPTIC SMALL LETTER DALDA
-2C88;AL # COPTIC CAPITAL LETTER EIE
-2C89;AL # COPTIC SMALL LETTER EIE
-2C8A;AL # COPTIC CAPITAL LETTER SOU
-2C8B;AL # COPTIC SMALL LETTER SOU
-2C8C;AL # COPTIC CAPITAL LETTER ZATA
-2C8D;AL # COPTIC SMALL LETTER ZATA
-2C8E;AL # COPTIC CAPITAL LETTER HATE
-2C8F;AL # COPTIC SMALL LETTER HATE
-2C90;AL # COPTIC CAPITAL LETTER THETHE
-2C91;AL # COPTIC SMALL LETTER THETHE
-2C92;AL # COPTIC CAPITAL LETTER IAUDA
-2C93;AL # COPTIC SMALL LETTER IAUDA
-2C94;AL # COPTIC CAPITAL LETTER KAPA
-2C95;AL # COPTIC SMALL LETTER KAPA
-2C96;AL # COPTIC CAPITAL LETTER LAULA
-2C97;AL # COPTIC SMALL LETTER LAULA
-2C98;AL # COPTIC CAPITAL LETTER MI
-2C99;AL # COPTIC SMALL LETTER MI
-2C9A;AL # COPTIC CAPITAL LETTER NI
-2C9B;AL # COPTIC SMALL LETTER NI
-2C9C;AL # COPTIC CAPITAL LETTER KSI
-2C9D;AL # COPTIC SMALL LETTER KSI
-2C9E;AL # COPTIC CAPITAL LETTER O
-2C9F;AL # COPTIC SMALL LETTER O
-2CA0;AL # COPTIC CAPITAL LETTER PI
-2CA1;AL # COPTIC SMALL LETTER PI
-2CA2;AL # COPTIC CAPITAL LETTER RO
-2CA3;AL # COPTIC SMALL LETTER RO
-2CA4;AL # COPTIC CAPITAL LETTER SIMA
-2CA5;AL # COPTIC SMALL LETTER SIMA
-2CA6;AL # COPTIC CAPITAL LETTER TAU
-2CA7;AL # COPTIC SMALL LETTER TAU
-2CA8;AL # COPTIC CAPITAL LETTER UA
-2CA9;AL # COPTIC SMALL LETTER UA
-2CAA;AL # COPTIC CAPITAL LETTER FI
-2CAB;AL # COPTIC SMALL LETTER FI
-2CAC;AL # COPTIC CAPITAL LETTER KHI
-2CAD;AL # COPTIC SMALL LETTER KHI
-2CAE;AL # COPTIC CAPITAL LETTER PSI
-2CAF;AL # COPTIC SMALL LETTER PSI
-2CB0;AL # COPTIC CAPITAL LETTER OOU
-2CB1;AL # COPTIC SMALL LETTER OOU
-2CB2;AL # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB3;AL # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB4;AL # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB5;AL # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB6;AL # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB7;AL # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB8;AL # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CB9;AL # COPTIC SMALL LETTER DIALECT-P KAPA
-2CBA;AL # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBB;AL # COPTIC SMALL LETTER DIALECT-P NI
-2CBC;AL # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBD;AL # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBE;AL # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CBF;AL # COPTIC SMALL LETTER OLD COPTIC OOU
-2CC0;AL # COPTIC CAPITAL LETTER SAMPI
-2CC1;AL # COPTIC SMALL LETTER SAMPI
-2CC2;AL # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC3;AL # COPTIC SMALL LETTER CROSSED SHEI
-2CC4;AL # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC5;AL # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC6;AL # COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC7;AL # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC8;AL # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CC9;AL # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCA;AL # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCB;AL # COPTIC SMALL LETTER DIALECT-P HORI
-2CCC;AL # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCD;AL # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCE;AL # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CCF;AL # COPTIC SMALL LETTER OLD COPTIC HA
-2CD0;AL # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD1;AL # COPTIC SMALL LETTER L-SHAPED HA
-2CD2;AL # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD3;AL # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD4;AL # COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD5;AL # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD6;AL # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD7;AL # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD8;AL # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CD9;AL # COPTIC SMALL LETTER OLD COPTIC DJA
-2CDA;AL # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDB;AL # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDC;AL # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDD;AL # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDE;AL # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CDF;AL # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE0;AL # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE1;AL # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE2;AL # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CE3;AL # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE4;AL # COPTIC SYMBOL KAI
-2CE5;AL # COPTIC SYMBOL MI RO
-2CE6;AL # COPTIC SYMBOL PI RO
-2CE7;AL # COPTIC SYMBOL STAUROS
-2CE8;AL # COPTIC SYMBOL TAU RO
-2CE9;AL # COPTIC SYMBOL KHI RO
-2CEA;AL # COPTIC SYMBOL SHIMA SIMA
-2CEB;AL # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CEC;AL # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CED;AL # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CEE;AL # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF;CM # COPTIC COMBINING NI ABOVE
-2CF0;CM # COPTIC COMBINING SPIRITUS ASPER
-2CF1;CM # COPTIC COMBINING SPIRITUS LENIS
-2CF9;EX # COPTIC OLD NUBIAN FULL STOP
-2CFA;BA # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB;BA # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC;BA # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD;AL # COPTIC FRACTION ONE HALF
-2CFE;EX # COPTIC FULL STOP
-2CFF;BA # COPTIC MORPHOLOGICAL DIVIDER
-2D00;AL # GEORGIAN SMALL LETTER AN
-2D01;AL # GEORGIAN SMALL LETTER BAN
-2D02;AL # GEORGIAN SMALL LETTER GAN
-2D03;AL # GEORGIAN SMALL LETTER DON
-2D04;AL # GEORGIAN SMALL LETTER EN
-2D05;AL # GEORGIAN SMALL LETTER VIN
-2D06;AL # GEORGIAN SMALL LETTER ZEN
-2D07;AL # GEORGIAN SMALL LETTER TAN
-2D08;AL # GEORGIAN SMALL LETTER IN
-2D09;AL # GEORGIAN SMALL LETTER KAN
-2D0A;AL # GEORGIAN SMALL LETTER LAS
-2D0B;AL # GEORGIAN SMALL LETTER MAN
-2D0C;AL # GEORGIAN SMALL LETTER NAR
-2D0D;AL # GEORGIAN SMALL LETTER ON
-2D0E;AL # GEORGIAN SMALL LETTER PAR
-2D0F;AL # GEORGIAN SMALL LETTER ZHAR
-2D10;AL # GEORGIAN SMALL LETTER RAE
-2D11;AL # GEORGIAN SMALL LETTER SAN
-2D12;AL # GEORGIAN SMALL LETTER TAR
-2D13;AL # GEORGIAN SMALL LETTER UN
-2D14;AL # GEORGIAN SMALL LETTER PHAR
-2D15;AL # GEORGIAN SMALL LETTER KHAR
-2D16;AL # GEORGIAN SMALL LETTER GHAN
-2D17;AL # GEORGIAN SMALL LETTER QAR
-2D18;AL # GEORGIAN SMALL LETTER SHIN
-2D19;AL # GEORGIAN SMALL LETTER CHIN
-2D1A;AL # GEORGIAN SMALL LETTER CAN
-2D1B;AL # GEORGIAN SMALL LETTER JIL
-2D1C;AL # GEORGIAN SMALL LETTER CIL
-2D1D;AL # GEORGIAN SMALL LETTER CHAR
-2D1E;AL # GEORGIAN SMALL LETTER XAN
-2D1F;AL # GEORGIAN SMALL LETTER JHAN
-2D20;AL # GEORGIAN SMALL LETTER HAE
-2D21;AL # GEORGIAN SMALL LETTER HE
-2D22;AL # GEORGIAN SMALL LETTER HIE
-2D23;AL # GEORGIAN SMALL LETTER WE
-2D24;AL # GEORGIAN SMALL LETTER HAR
-2D25;AL # GEORGIAN SMALL LETTER HOE
-2D30;AL # TIFINAGH LETTER YA
-2D31;AL # TIFINAGH LETTER YAB
-2D32;AL # TIFINAGH LETTER YABH
-2D33;AL # TIFINAGH LETTER YAG
-2D34;AL # TIFINAGH LETTER YAGHH
-2D35;AL # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36;AL # TIFINAGH LETTER YAJ
-2D37;AL # TIFINAGH LETTER YAD
-2D38;AL # TIFINAGH LETTER YADH
-2D39;AL # TIFINAGH LETTER YADD
-2D3A;AL # TIFINAGH LETTER YADDH
-2D3B;AL # TIFINAGH LETTER YEY
-2D3C;AL # TIFINAGH LETTER YAF
-2D3D;AL # TIFINAGH LETTER YAK
-2D3E;AL # TIFINAGH LETTER TUAREG YAK
-2D3F;AL # TIFINAGH LETTER YAKHH
-2D40;AL # TIFINAGH LETTER YAH
-2D41;AL # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42;AL # TIFINAGH LETTER TUAREG YAH
-2D43;AL # TIFINAGH LETTER YAHH
-2D44;AL # TIFINAGH LETTER YAA
-2D45;AL # TIFINAGH LETTER YAKH
-2D46;AL # TIFINAGH LETTER TUAREG YAKH
-2D47;AL # TIFINAGH LETTER YAQ
-2D48;AL # TIFINAGH LETTER TUAREG YAQ
-2D49;AL # TIFINAGH LETTER YI
-2D4A;AL # TIFINAGH LETTER YAZH
-2D4B;AL # TIFINAGH LETTER AHAGGAR YAZH
-2D4C;AL # TIFINAGH LETTER TUAREG YAZH
-2D4D;AL # TIFINAGH LETTER YAL
-2D4E;AL # TIFINAGH LETTER YAM
-2D4F;AL # TIFINAGH LETTER YAN
-2D50;AL # TIFINAGH LETTER TUAREG YAGN
-2D51;AL # TIFINAGH LETTER TUAREG YANG
-2D52;AL # TIFINAGH LETTER YAP
-2D53;AL # TIFINAGH LETTER YU
-2D54;AL # TIFINAGH LETTER YAR
-2D55;AL # TIFINAGH LETTER YARR
-2D56;AL # TIFINAGH LETTER YAGH
-2D57;AL # TIFINAGH LETTER TUAREG YAGH
-2D58;AL # TIFINAGH LETTER AYER YAGH
-2D59;AL # TIFINAGH LETTER YAS
-2D5A;AL # TIFINAGH LETTER YASS
-2D5B;AL # TIFINAGH LETTER YASH
-2D5C;AL # TIFINAGH LETTER YAT
-2D5D;AL # TIFINAGH LETTER YATH
-2D5E;AL # TIFINAGH LETTER YACH
-2D5F;AL # TIFINAGH LETTER YATT
-2D60;AL # TIFINAGH LETTER YAV
-2D61;AL # TIFINAGH LETTER YAW
-2D62;AL # TIFINAGH LETTER YAY
-2D63;AL # TIFINAGH LETTER YAZ
-2D64;AL # TIFINAGH LETTER TAWELLEMET YAZ
-2D65;AL # TIFINAGH LETTER YAZZ
-2D6F;AL # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80;AL # ETHIOPIC SYLLABLE LOA
-2D81;AL # ETHIOPIC SYLLABLE MOA
-2D82;AL # ETHIOPIC SYLLABLE ROA
-2D83;AL # ETHIOPIC SYLLABLE SOA
-2D84;AL # ETHIOPIC SYLLABLE SHOA
-2D85;AL # ETHIOPIC SYLLABLE BOA
-2D86;AL # ETHIOPIC SYLLABLE TOA
-2D87;AL # ETHIOPIC SYLLABLE COA
-2D88;AL # ETHIOPIC SYLLABLE NOA
-2D89;AL # ETHIOPIC SYLLABLE NYOA
-2D8A;AL # ETHIOPIC SYLLABLE GLOTTAL OA
-2D8B;AL # ETHIOPIC SYLLABLE ZOA
-2D8C;AL # ETHIOPIC SYLLABLE DOA
-2D8D;AL # ETHIOPIC SYLLABLE DDOA
-2D8E;AL # ETHIOPIC SYLLABLE JOA
-2D8F;AL # ETHIOPIC SYLLABLE THOA
-2D90;AL # ETHIOPIC SYLLABLE CHOA
-2D91;AL # ETHIOPIC SYLLABLE PHOA
-2D92;AL # ETHIOPIC SYLLABLE POA
-2D93;AL # ETHIOPIC SYLLABLE GGWA
-2D94;AL # ETHIOPIC SYLLABLE GGWI
-2D95;AL # ETHIOPIC SYLLABLE GGWEE
-2D96;AL # ETHIOPIC SYLLABLE GGWE
-2DA0;AL # ETHIOPIC SYLLABLE SSA
-2DA1;AL # ETHIOPIC SYLLABLE SSU
-2DA2;AL # ETHIOPIC SYLLABLE SSI
-2DA3;AL # ETHIOPIC SYLLABLE SSAA
-2DA4;AL # ETHIOPIC SYLLABLE SSEE
-2DA5;AL # ETHIOPIC SYLLABLE SSE
-2DA6;AL # ETHIOPIC SYLLABLE SSO
-2DA8;AL # ETHIOPIC SYLLABLE CCA
-2DA9;AL # ETHIOPIC SYLLABLE CCU
-2DAA;AL # ETHIOPIC SYLLABLE CCI
-2DAB;AL # ETHIOPIC SYLLABLE CCAA
-2DAC;AL # ETHIOPIC SYLLABLE CCEE
-2DAD;AL # ETHIOPIC SYLLABLE CCE
-2DAE;AL # ETHIOPIC SYLLABLE CCO
-2DB0;AL # ETHIOPIC SYLLABLE ZZA
-2DB1;AL # ETHIOPIC SYLLABLE ZZU
-2DB2;AL # ETHIOPIC SYLLABLE ZZI
-2DB3;AL # ETHIOPIC SYLLABLE ZZAA
-2DB4;AL # ETHIOPIC SYLLABLE ZZEE
-2DB5;AL # ETHIOPIC SYLLABLE ZZE
-2DB6;AL # ETHIOPIC SYLLABLE ZZO
-2DB8;AL # ETHIOPIC SYLLABLE CCHA
-2DB9;AL # ETHIOPIC SYLLABLE CCHU
-2DBA;AL # ETHIOPIC SYLLABLE CCHI
-2DBB;AL # ETHIOPIC SYLLABLE CCHAA
-2DBC;AL # ETHIOPIC SYLLABLE CCHEE
-2DBD;AL # ETHIOPIC SYLLABLE CCHE
-2DBE;AL # ETHIOPIC SYLLABLE CCHO
-2DC0;AL # ETHIOPIC SYLLABLE QYA
-2DC1;AL # ETHIOPIC SYLLABLE QYU
-2DC2;AL # ETHIOPIC SYLLABLE QYI
-2DC3;AL # ETHIOPIC SYLLABLE QYAA
-2DC4;AL # ETHIOPIC SYLLABLE QYEE
-2DC5;AL # ETHIOPIC SYLLABLE QYE
-2DC6;AL # ETHIOPIC SYLLABLE QYO
-2DC8;AL # ETHIOPIC SYLLABLE KYA
-2DC9;AL # ETHIOPIC SYLLABLE KYU
-2DCA;AL # ETHIOPIC SYLLABLE KYI
-2DCB;AL # ETHIOPIC SYLLABLE KYAA
-2DCC;AL # ETHIOPIC SYLLABLE KYEE
-2DCD;AL # ETHIOPIC SYLLABLE KYE
-2DCE;AL # ETHIOPIC SYLLABLE KYO
-2DD0;AL # ETHIOPIC SYLLABLE XYA
-2DD1;AL # ETHIOPIC SYLLABLE XYU
-2DD2;AL # ETHIOPIC SYLLABLE XYI
-2DD3;AL # ETHIOPIC SYLLABLE XYAA
-2DD4;AL # ETHIOPIC SYLLABLE XYEE
-2DD5;AL # ETHIOPIC SYLLABLE XYE
-2DD6;AL # ETHIOPIC SYLLABLE XYO
-2DD8;AL # ETHIOPIC SYLLABLE GYA
-2DD9;AL # ETHIOPIC SYLLABLE GYU
-2DDA;AL # ETHIOPIC SYLLABLE GYI
-2DDB;AL # ETHIOPIC SYLLABLE GYAA
-2DDC;AL # ETHIOPIC SYLLABLE GYEE
-2DDD;AL # ETHIOPIC SYLLABLE GYE
-2DDE;AL # ETHIOPIC SYLLABLE GYO
-2DE0;CM # COMBINING CYRILLIC LETTER BE
-2DE1;CM # COMBINING CYRILLIC LETTER VE
-2DE2;CM # COMBINING CYRILLIC LETTER GHE
-2DE3;CM # COMBINING CYRILLIC LETTER DE
-2DE4;CM # COMBINING CYRILLIC LETTER ZHE
-2DE5;CM # COMBINING CYRILLIC LETTER ZE
-2DE6;CM # COMBINING CYRILLIC LETTER KA
-2DE7;CM # COMBINING CYRILLIC LETTER EL
-2DE8;CM # COMBINING CYRILLIC LETTER EM
-2DE9;CM # COMBINING CYRILLIC LETTER EN
-2DEA;CM # COMBINING CYRILLIC LETTER O
-2DEB;CM # COMBINING CYRILLIC LETTER PE
-2DEC;CM # COMBINING CYRILLIC LETTER ER
-2DED;CM # COMBINING CYRILLIC LETTER ES
-2DEE;CM # COMBINING CYRILLIC LETTER TE
-2DEF;CM # COMBINING CYRILLIC LETTER HA
-2DF0;CM # COMBINING CYRILLIC LETTER TSE
-2DF1;CM # COMBINING CYRILLIC LETTER CHE
-2DF2;CM # COMBINING CYRILLIC LETTER SHA
-2DF3;CM # COMBINING CYRILLIC LETTER SHCHA
-2DF4;CM # COMBINING CYRILLIC LETTER FITA
-2DF5;CM # COMBINING CYRILLIC LETTER ES-TE
-2DF6;CM # COMBINING CYRILLIC LETTER A
-2DF7;CM # COMBINING CYRILLIC LETTER IE
-2DF8;CM # COMBINING CYRILLIC LETTER DJERV
-2DF9;CM # COMBINING CYRILLIC LETTER MONOGRAPH UK
-2DFA;CM # COMBINING CYRILLIC LETTER YAT
-2DFB;CM # COMBINING CYRILLIC LETTER YU
-2DFC;CM # COMBINING CYRILLIC LETTER IOTIFIED A
-2DFD;CM # COMBINING CYRILLIC LETTER LITTLE YUS
-2DFE;CM # COMBINING CYRILLIC LETTER BIG YUS
-2DFF;CM # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E00;QU # RIGHT ANGLE SUBSTITUTION MARKER
-2E01;QU # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02;QU # LEFT SUBSTITUTION BRACKET
-2E03;QU # RIGHT SUBSTITUTION BRACKET
-2E04;QU # LEFT DOTTED SUBSTITUTION BRACKET
-2E05;QU # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06;QU # RAISED INTERPOLATION MARKER
-2E07;QU # RAISED DOTTED INTERPOLATION MARKER
-2E08;QU # DOTTED TRANSPOSITION MARKER
-2E09;QU # LEFT TRANSPOSITION BRACKET
-2E0A;QU # RIGHT TRANSPOSITION BRACKET
-2E0B;QU # RAISED SQUARE
-2E0C;QU # LEFT RAISED OMISSION BRACKET
-2E0D;QU # RIGHT RAISED OMISSION BRACKET
-2E0E;BA # EDITORIAL CORONIS
-2E0F;BA # PARAGRAPHOS
-2E10;BA # FORKED PARAGRAPHOS
-2E11;BA # REVERSED FORKED PARAGRAPHOS
-2E12;BA # HYPODIASTOLE
-2E13;BA # DOTTED OBELOS
-2E14;BA # DOWNWARDS ANCORA
-2E15;BA # UPWARDS ANCORA
-2E16;AL # DOTTED RIGHT-POINTING ANGLE
-2E17;BA # DOUBLE OBLIQUE HYPHEN
-2E18;OP # INVERTED INTERROBANG
-2E19;BA # PALM BRANCH
-2E1A;AL # HYPHEN WITH DIAERESIS
-2E1B;AL # TILDE WITH RING ABOVE
-2E1C;QU # LEFT LOW PARAPHRASE BRACKET
-2E1D;QU # RIGHT LOW PARAPHRASE BRACKET
-2E1E;AL # TILDE WITH DOT ABOVE
-2E1F;AL # TILDE WITH DOT BELOW
-2E20;QU # LEFT VERTICAL BAR WITH QUILL
-2E21;QU # RIGHT VERTICAL BAR WITH QUILL
-2E22;OP # TOP LEFT HALF BRACKET
-2E23;CL # TOP RIGHT HALF BRACKET
-2E24;OP # BOTTOM LEFT HALF BRACKET
-2E25;CL # BOTTOM RIGHT HALF BRACKET
-2E26;OP # LEFT SIDEWAYS U BRACKET
-2E27;CL # RIGHT SIDEWAYS U BRACKET
-2E28;OP # LEFT DOUBLE PARENTHESIS
-2E29;CL # RIGHT DOUBLE PARENTHESIS
-2E2A;BA # TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B;BA # ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C;BA # SQUARED FOUR DOT PUNCTUATION
-2E2D;BA # FIVE DOT MARK
-2E2E;EX # REVERSED QUESTION MARK
-2E2F;AL # VERTICAL TILDE
-2E30;BA # RING POINT
-2E31;BA # WORD SEPARATOR MIDDLE DOT
-2E80;ID # CJK RADICAL REPEAT
-2E81;ID # CJK RADICAL CLIFF
-2E82;ID # CJK RADICAL SECOND ONE
-2E83;ID # CJK RADICAL SECOND TWO
-2E84;ID # CJK RADICAL SECOND THREE
-2E85;ID # CJK RADICAL PERSON
-2E86;ID # CJK RADICAL BOX
-2E87;ID # CJK RADICAL TABLE
-2E88;ID # CJK RADICAL KNIFE ONE
-2E89;ID # CJK RADICAL KNIFE TWO
-2E8A;ID # CJK RADICAL DIVINATION
-2E8B;ID # CJK RADICAL SEAL
-2E8C;ID # CJK RADICAL SMALL ONE
-2E8D;ID # CJK RADICAL SMALL TWO
-2E8E;ID # CJK RADICAL LAME ONE
-2E8F;ID # CJK RADICAL LAME TWO
-2E90;ID # CJK RADICAL LAME THREE
-2E91;ID # CJK RADICAL LAME FOUR
-2E92;ID # CJK RADICAL SNAKE
-2E93;ID # CJK RADICAL THREAD
-2E94;ID # CJK RADICAL SNOUT ONE
-2E95;ID # CJK RADICAL SNOUT TWO
-2E96;ID # CJK RADICAL HEART ONE
-2E97;ID # CJK RADICAL HEART TWO
-2E98;ID # CJK RADICAL HAND
-2E99;ID # CJK RADICAL RAP
-2E9B;ID # CJK RADICAL CHOKE
-2E9C;ID # CJK RADICAL SUN
-2E9D;ID # CJK RADICAL MOON
-2E9E;ID # CJK RADICAL DEATH
-2E9F;ID # CJK RADICAL MOTHER
-2EA0;ID # CJK RADICAL CIVILIAN
-2EA1;ID # CJK RADICAL WATER ONE
-2EA2;ID # CJK RADICAL WATER TWO
-2EA3;ID # CJK RADICAL FIRE
-2EA4;ID # CJK RADICAL PAW ONE
-2EA5;ID # CJK RADICAL PAW TWO
-2EA6;ID # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
-2EA7;ID # CJK RADICAL COW
-2EA8;ID # CJK RADICAL DOG
-2EA9;ID # CJK RADICAL JADE
-2EAA;ID # CJK RADICAL BOLT OF CLOTH
-2EAB;ID # CJK RADICAL EYE
-2EAC;ID # CJK RADICAL SPIRIT ONE
-2EAD;ID # CJK RADICAL SPIRIT TWO
-2EAE;ID # CJK RADICAL BAMBOO
-2EAF;ID # CJK RADICAL SILK
-2EB0;ID # CJK RADICAL C-SIMPLIFIED SILK
-2EB1;ID # CJK RADICAL NET ONE
-2EB2;ID # CJK RADICAL NET TWO
-2EB3;ID # CJK RADICAL NET THREE
-2EB4;ID # CJK RADICAL NET FOUR
-2EB5;ID # CJK RADICAL MESH
-2EB6;ID # CJK RADICAL SHEEP
-2EB7;ID # CJK RADICAL RAM
-2EB8;ID # CJK RADICAL EWE
-2EB9;ID # CJK RADICAL OLD
-2EBA;ID # CJK RADICAL BRUSH ONE
-2EBB;ID # CJK RADICAL BRUSH TWO
-2EBC;ID # CJK RADICAL MEAT
-2EBD;ID # CJK RADICAL MORTAR
-2EBE;ID # CJK RADICAL GRASS ONE
-2EBF;ID # CJK RADICAL GRASS TWO
-2EC0;ID # CJK RADICAL GRASS THREE
-2EC1;ID # CJK RADICAL TIGER
-2EC2;ID # CJK RADICAL CLOTHES
-2EC3;ID # CJK RADICAL WEST ONE
-2EC4;ID # CJK RADICAL WEST TWO
-2EC5;ID # CJK RADICAL C-SIMPLIFIED SEE
-2EC6;ID # CJK RADICAL SIMPLIFIED HORN
-2EC7;ID # CJK RADICAL HORN
-2EC8;ID # CJK RADICAL C-SIMPLIFIED SPEECH
-2EC9;ID # CJK RADICAL C-SIMPLIFIED SHELL
-2ECA;ID # CJK RADICAL FOOT
-2ECB;ID # CJK RADICAL C-SIMPLIFIED CART
-2ECC;ID # CJK RADICAL SIMPLIFIED WALK
-2ECD;ID # CJK RADICAL WALK ONE
-2ECE;ID # CJK RADICAL WALK TWO
-2ECF;ID # CJK RADICAL CITY
-2ED0;ID # CJK RADICAL C-SIMPLIFIED GOLD
-2ED1;ID # CJK RADICAL LONG ONE
-2ED2;ID # CJK RADICAL LONG TWO
-2ED3;ID # CJK RADICAL C-SIMPLIFIED LONG
-2ED4;ID # CJK RADICAL C-SIMPLIFIED GATE
-2ED5;ID # CJK RADICAL MOUND ONE
-2ED6;ID # CJK RADICAL MOUND TWO
-2ED7;ID # CJK RADICAL RAIN
-2ED8;ID # CJK RADICAL BLUE
-2ED9;ID # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
-2EDA;ID # CJK RADICAL C-SIMPLIFIED LEAF
-2EDB;ID # CJK RADICAL C-SIMPLIFIED WIND
-2EDC;ID # CJK RADICAL C-SIMPLIFIED FLY
-2EDD;ID # CJK RADICAL EAT ONE
-2EDE;ID # CJK RADICAL EAT TWO
-2EDF;ID # CJK RADICAL EAT THREE
-2EE0;ID # CJK RADICAL C-SIMPLIFIED EAT
-2EE1;ID # CJK RADICAL HEAD
-2EE2;ID # CJK RADICAL C-SIMPLIFIED HORSE
-2EE3;ID # CJK RADICAL BONE
-2EE4;ID # CJK RADICAL GHOST
-2EE5;ID # CJK RADICAL C-SIMPLIFIED FISH
-2EE6;ID # CJK RADICAL C-SIMPLIFIED BIRD
-2EE7;ID # CJK RADICAL C-SIMPLIFIED SALT
-2EE8;ID # CJK RADICAL SIMPLIFIED WHEAT
-2EE9;ID # CJK RADICAL SIMPLIFIED YELLOW
-2EEA;ID # CJK RADICAL C-SIMPLIFIED FROG
-2EEB;ID # CJK RADICAL J-SIMPLIFIED EVEN
-2EEC;ID # CJK RADICAL C-SIMPLIFIED EVEN
-2EED;ID # CJK RADICAL J-SIMPLIFIED TOOTH
-2EEE;ID # CJK RADICAL C-SIMPLIFIED TOOTH
-2EEF;ID # CJK RADICAL J-SIMPLIFIED DRAGON
-2EF0;ID # CJK RADICAL C-SIMPLIFIED DRAGON
-2EF1;ID # CJK RADICAL TURTLE
-2EF2;ID # CJK RADICAL J-SIMPLIFIED TURTLE
-2EF3;ID # CJK RADICAL C-SIMPLIFIED TURTLE
-2F00;ID # KANGXI RADICAL ONE
-2F01;ID # KANGXI RADICAL LINE
-2F02;ID # KANGXI RADICAL DOT
-2F03;ID # KANGXI RADICAL SLASH
-2F04;ID # KANGXI RADICAL SECOND
-2F05;ID # KANGXI RADICAL HOOK
-2F06;ID # KANGXI RADICAL TWO
-2F07;ID # KANGXI RADICAL LID
-2F08;ID # KANGXI RADICAL MAN
-2F09;ID # KANGXI RADICAL LEGS
-2F0A;ID # KANGXI RADICAL ENTER
-2F0B;ID # KANGXI RADICAL EIGHT
-2F0C;ID # KANGXI RADICAL DOWN BOX
-2F0D;ID # KANGXI RADICAL COVER
-2F0E;ID # KANGXI RADICAL ICE
-2F0F;ID # KANGXI RADICAL TABLE
-2F10;ID # KANGXI RADICAL OPEN BOX
-2F11;ID # KANGXI RADICAL KNIFE
-2F12;ID # KANGXI RADICAL POWER
-2F13;ID # KANGXI RADICAL WRAP
-2F14;ID # KANGXI RADICAL SPOON
-2F15;ID # KANGXI RADICAL RIGHT OPEN BOX
-2F16;ID # KANGXI RADICAL HIDING ENCLOSURE
-2F17;ID # KANGXI RADICAL TEN
-2F18;ID # KANGXI RADICAL DIVINATION
-2F19;ID # KANGXI RADICAL SEAL
-2F1A;ID # KANGXI RADICAL CLIFF
-2F1B;ID # KANGXI RADICAL PRIVATE
-2F1C;ID # KANGXI RADICAL AGAIN
-2F1D;ID # KANGXI RADICAL MOUTH
-2F1E;ID # KANGXI RADICAL ENCLOSURE
-2F1F;ID # KANGXI RADICAL EARTH
-2F20;ID # KANGXI RADICAL SCHOLAR
-2F21;ID # KANGXI RADICAL GO
-2F22;ID # KANGXI RADICAL GO SLOWLY
-2F23;ID # KANGXI RADICAL EVENING
-2F24;ID # KANGXI RADICAL BIG
-2F25;ID # KANGXI RADICAL WOMAN
-2F26;ID # KANGXI RADICAL CHILD
-2F27;ID # KANGXI RADICAL ROOF
-2F28;ID # KANGXI RADICAL INCH
-2F29;ID # KANGXI RADICAL SMALL
-2F2A;ID # KANGXI RADICAL LAME
-2F2B;ID # KANGXI RADICAL CORPSE
-2F2C;ID # KANGXI RADICAL SPROUT
-2F2D;ID # KANGXI RADICAL MOUNTAIN
-2F2E;ID # KANGXI RADICAL RIVER
-2F2F;ID # KANGXI RADICAL WORK
-2F30;ID # KANGXI RADICAL ONESELF
-2F31;ID # KANGXI RADICAL TURBAN
-2F32;ID # KANGXI RADICAL DRY
-2F33;ID # KANGXI RADICAL SHORT THREAD
-2F34;ID # KANGXI RADICAL DOTTED CLIFF
-2F35;ID # KANGXI RADICAL LONG STRIDE
-2F36;ID # KANGXI RADICAL TWO HANDS
-2F37;ID # KANGXI RADICAL SHOOT
-2F38;ID # KANGXI RADICAL BOW
-2F39;ID # KANGXI RADICAL SNOUT
-2F3A;ID # KANGXI RADICAL BRISTLE
-2F3B;ID # KANGXI RADICAL STEP
-2F3C;ID # KANGXI RADICAL HEART
-2F3D;ID # KANGXI RADICAL HALBERD
-2F3E;ID # KANGXI RADICAL DOOR
-2F3F;ID # KANGXI RADICAL HAND
-2F40;ID # KANGXI RADICAL BRANCH
-2F41;ID # KANGXI RADICAL RAP
-2F42;ID # KANGXI RADICAL SCRIPT
-2F43;ID # KANGXI RADICAL DIPPER
-2F44;ID # KANGXI RADICAL AXE
-2F45;ID # KANGXI RADICAL SQUARE
-2F46;ID # KANGXI RADICAL NOT
-2F47;ID # KANGXI RADICAL SUN
-2F48;ID # KANGXI RADICAL SAY
-2F49;ID # KANGXI RADICAL MOON
-2F4A;ID # KANGXI RADICAL TREE
-2F4B;ID # KANGXI RADICAL LACK
-2F4C;ID # KANGXI RADICAL STOP
-2F4D;ID # KANGXI RADICAL DEATH
-2F4E;ID # KANGXI RADICAL WEAPON
-2F4F;ID # KANGXI RADICAL DO NOT
-2F50;ID # KANGXI RADICAL COMPARE
-2F51;ID # KANGXI RADICAL FUR
-2F52;ID # KANGXI RADICAL CLAN
-2F53;ID # KANGXI RADICAL STEAM
-2F54;ID # KANGXI RADICAL WATER
-2F55;ID # KANGXI RADICAL FIRE
-2F56;ID # KANGXI RADICAL CLAW
-2F57;ID # KANGXI RADICAL FATHER
-2F58;ID # KANGXI RADICAL DOUBLE X
-2F59;ID # KANGXI RADICAL HALF TREE TRUNK
-2F5A;ID # KANGXI RADICAL SLICE
-2F5B;ID # KANGXI RADICAL FANG
-2F5C;ID # KANGXI RADICAL COW
-2F5D;ID # KANGXI RADICAL DOG
-2F5E;ID # KANGXI RADICAL PROFOUND
-2F5F;ID # KANGXI RADICAL JADE
-2F60;ID # KANGXI RADICAL MELON
-2F61;ID # KANGXI RADICAL TILE
-2F62;ID # KANGXI RADICAL SWEET
-2F63;ID # KANGXI RADICAL LIFE
-2F64;ID # KANGXI RADICAL USE
-2F65;ID # KANGXI RADICAL FIELD
-2F66;ID # KANGXI RADICAL BOLT OF CLOTH
-2F67;ID # KANGXI RADICAL SICKNESS
-2F68;ID # KANGXI RADICAL DOTTED TENT
-2F69;ID # KANGXI RADICAL WHITE
-2F6A;ID # KANGXI RADICAL SKIN
-2F6B;ID # KANGXI RADICAL DISH
-2F6C;ID # KANGXI RADICAL EYE
-2F6D;ID # KANGXI RADICAL SPEAR
-2F6E;ID # KANGXI RADICAL ARROW
-2F6F;ID # KANGXI RADICAL STONE
-2F70;ID # KANGXI RADICAL SPIRIT
-2F71;ID # KANGXI RADICAL TRACK
-2F72;ID # KANGXI RADICAL GRAIN
-2F73;ID # KANGXI RADICAL CAVE
-2F74;ID # KANGXI RADICAL STAND
-2F75;ID # KANGXI RADICAL BAMBOO
-2F76;ID # KANGXI RADICAL RICE
-2F77;ID # KANGXI RADICAL SILK
-2F78;ID # KANGXI RADICAL JAR
-2F79;ID # KANGXI RADICAL NET
-2F7A;ID # KANGXI RADICAL SHEEP
-2F7B;ID # KANGXI RADICAL FEATHER
-2F7C;ID # KANGXI RADICAL OLD
-2F7D;ID # KANGXI RADICAL AND
-2F7E;ID # KANGXI RADICAL PLOW
-2F7F;ID # KANGXI RADICAL EAR
-2F80;ID # KANGXI RADICAL BRUSH
-2F81;ID # KANGXI RADICAL MEAT
-2F82;ID # KANGXI RADICAL MINISTER
-2F83;ID # KANGXI RADICAL SELF
-2F84;ID # KANGXI RADICAL ARRIVE
-2F85;ID # KANGXI RADICAL MORTAR
-2F86;ID # KANGXI RADICAL TONGUE
-2F87;ID # KANGXI RADICAL OPPOSE
-2F88;ID # KANGXI RADICAL BOAT
-2F89;ID # KANGXI RADICAL STOPPING
-2F8A;ID # KANGXI RADICAL COLOR
-2F8B;ID # KANGXI RADICAL GRASS
-2F8C;ID # KANGXI RADICAL TIGER
-2F8D;ID # KANGXI RADICAL INSECT
-2F8E;ID # KANGXI RADICAL BLOOD
-2F8F;ID # KANGXI RADICAL WALK ENCLOSURE
-2F90;ID # KANGXI RADICAL CLOTHES
-2F91;ID # KANGXI RADICAL WEST
-2F92;ID # KANGXI RADICAL SEE
-2F93;ID # KANGXI RADICAL HORN
-2F94;ID # KANGXI RADICAL SPEECH
-2F95;ID # KANGXI RADICAL VALLEY
-2F96;ID # KANGXI RADICAL BEAN
-2F97;ID # KANGXI RADICAL PIG
-2F98;ID # KANGXI RADICAL BADGER
-2F99;ID # KANGXI RADICAL SHELL
-2F9A;ID # KANGXI RADICAL RED
-2F9B;ID # KANGXI RADICAL RUN
-2F9C;ID # KANGXI RADICAL FOOT
-2F9D;ID # KANGXI RADICAL BODY
-2F9E;ID # KANGXI RADICAL CART
-2F9F;ID # KANGXI RADICAL BITTER
-2FA0;ID # KANGXI RADICAL MORNING
-2FA1;ID # KANGXI RADICAL WALK
-2FA2;ID # KANGXI RADICAL CITY
-2FA3;ID # KANGXI RADICAL WINE
-2FA4;ID # KANGXI RADICAL DISTINGUISH
-2FA5;ID # KANGXI RADICAL VILLAGE
-2FA6;ID # KANGXI RADICAL GOLD
-2FA7;ID # KANGXI RADICAL LONG
-2FA8;ID # KANGXI RADICAL GATE
-2FA9;ID # KANGXI RADICAL MOUND
-2FAA;ID # KANGXI RADICAL SLAVE
-2FAB;ID # KANGXI RADICAL SHORT TAILED BIRD
-2FAC;ID # KANGXI RADICAL RAIN
-2FAD;ID # KANGXI RADICAL BLUE
-2FAE;ID # KANGXI RADICAL WRONG
-2FAF;ID # KANGXI RADICAL FACE
-2FB0;ID # KANGXI RADICAL LEATHER
-2FB1;ID # KANGXI RADICAL TANNED LEATHER
-2FB2;ID # KANGXI RADICAL LEEK
-2FB3;ID # KANGXI RADICAL SOUND
-2FB4;ID # KANGXI RADICAL LEAF
-2FB5;ID # KANGXI RADICAL WIND
-2FB6;ID # KANGXI RADICAL FLY
-2FB7;ID # KANGXI RADICAL EAT
-2FB8;ID # KANGXI RADICAL HEAD
-2FB9;ID # KANGXI RADICAL FRAGRANT
-2FBA;ID # KANGXI RADICAL HORSE
-2FBB;ID # KANGXI RADICAL BONE
-2FBC;ID # KANGXI RADICAL TALL
-2FBD;ID # KANGXI RADICAL HAIR
-2FBE;ID # KANGXI RADICAL FIGHT
-2FBF;ID # KANGXI RADICAL SACRIFICIAL WINE
-2FC0;ID # KANGXI RADICAL CAULDRON
-2FC1;ID # KANGXI RADICAL GHOST
-2FC2;ID # KANGXI RADICAL FISH
-2FC3;ID # KANGXI RADICAL BIRD
-2FC4;ID # KANGXI RADICAL SALT
-2FC5;ID # KANGXI RADICAL DEER
-2FC6;ID # KANGXI RADICAL WHEAT
-2FC7;ID # KANGXI RADICAL HEMP
-2FC8;ID # KANGXI RADICAL YELLOW
-2FC9;ID # KANGXI RADICAL MILLET
-2FCA;ID # KANGXI RADICAL BLACK
-2FCB;ID # KANGXI RADICAL EMBROIDERY
-2FCC;ID # KANGXI RADICAL FROG
-2FCD;ID # KANGXI RADICAL TRIPOD
-2FCE;ID # KANGXI RADICAL DRUM
-2FCF;ID # KANGXI RADICAL RAT
-2FD0;ID # KANGXI RADICAL NOSE
-2FD1;ID # KANGXI RADICAL EVEN
-2FD2;ID # KANGXI RADICAL TOOTH
-2FD3;ID # KANGXI RADICAL DRAGON
-2FD4;ID # KANGXI RADICAL TURTLE
-2FD5;ID # KANGXI RADICAL FLUTE
-2FF0;ID # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1;ID # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2;ID # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3;ID # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4;ID # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5;ID # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6;ID # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7;ID # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8;ID # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9;ID # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA;ID # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB;ID # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000;ID # IDEOGRAPHIC SPACE
-3001;CL # IDEOGRAPHIC COMMA
-3002;CL # IDEOGRAPHIC FULL STOP
-3003;ID # DITTO MARK
-3004;ID # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005;NS # IDEOGRAPHIC ITERATION MARK
-3006;ID # IDEOGRAPHIC CLOSING MARK
-3007;ID # IDEOGRAPHIC NUMBER ZERO
-3008;OP # LEFT ANGLE BRACKET
-3009;CL # RIGHT ANGLE BRACKET
-300A;OP # LEFT DOUBLE ANGLE BRACKET
-300B;CL # RIGHT DOUBLE ANGLE BRACKET
-300C;OP # LEFT CORNER BRACKET
-300D;CL # RIGHT CORNER BRACKET
-300E;OP # LEFT WHITE CORNER BRACKET
-300F;CL # RIGHT WHITE CORNER BRACKET
-3010;OP # LEFT BLACK LENTICULAR BRACKET
-3011;CL # RIGHT BLACK LENTICULAR BRACKET
-3012;ID # POSTAL MARK
-3013;ID # GETA MARK
-3014;OP # LEFT TORTOISE SHELL BRACKET
-3015;CL # RIGHT TORTOISE SHELL BRACKET
-3016;OP # LEFT WHITE LENTICULAR BRACKET
-3017;CL # RIGHT WHITE LENTICULAR BRACKET
-3018;OP # LEFT WHITE TORTOISE SHELL BRACKET
-3019;CL # RIGHT WHITE TORTOISE SHELL BRACKET
-301A;OP # LEFT WHITE SQUARE BRACKET
-301B;CL # RIGHT WHITE SQUARE BRACKET
-301C;NS # WAVE DASH
-301D;OP # REVERSED DOUBLE PRIME QUOTATION MARK
-301E;CL # DOUBLE PRIME QUOTATION MARK
-301F;CL # LOW DOUBLE PRIME QUOTATION MARK
-3020;ID # POSTAL MARK FACE
-3021;ID # HANGZHOU NUMERAL ONE
-3022;ID # HANGZHOU NUMERAL TWO
-3023;ID # HANGZHOU NUMERAL THREE
-3024;ID # HANGZHOU NUMERAL FOUR
-3025;ID # HANGZHOU NUMERAL FIVE
-3026;ID # HANGZHOU NUMERAL SIX
-3027;ID # HANGZHOU NUMERAL SEVEN
-3028;ID # HANGZHOU NUMERAL EIGHT
-3029;ID # HANGZHOU NUMERAL NINE
-302A;CM # IDEOGRAPHIC LEVEL TONE MARK
-302B;CM # IDEOGRAPHIC RISING TONE MARK
-302C;CM # IDEOGRAPHIC DEPARTING TONE MARK
-302D;CM # IDEOGRAPHIC ENTERING TONE MARK
-302E;CM # HANGUL SINGLE DOT TONE MARK
-302F;CM # HANGUL DOUBLE DOT TONE MARK
-3030;ID # WAVY DASH
-3031;ID # VERTICAL KANA REPEAT MARK
-3032;ID # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
-3033;ID # VERTICAL KANA REPEAT MARK UPPER HALF
-3034;ID # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
-3035;ID # VERTICAL KANA REPEAT MARK LOWER HALF
-3036;ID # CIRCLED POSTAL MARK
-3037;ID # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038;ID # HANGZHOU NUMERAL TEN
-3039;ID # HANGZHOU NUMERAL TWENTY
-303A;ID # HANGZHOU NUMERAL THIRTY
-303B;NS # VERTICAL IDEOGRAPHIC ITERATION MARK
-303C;NS # MASU MARK
-303D;ID # PART ALTERNATION MARK
-303E;ID # IDEOGRAPHIC VARIATION INDICATOR
-303F;ID # IDEOGRAPHIC HALF FILL SPACE
-3041;NS # HIRAGANA LETTER SMALL A
-3042;ID # HIRAGANA LETTER A
-3043;NS # HIRAGANA LETTER SMALL I
-3044;ID # HIRAGANA LETTER I
-3045;NS # HIRAGANA LETTER SMALL U
-3046;ID # HIRAGANA LETTER U
-3047;NS # HIRAGANA LETTER SMALL E
-3048;ID # HIRAGANA LETTER E
-3049;NS # HIRAGANA LETTER SMALL O
-304A;ID # HIRAGANA LETTER O
-304B;ID # HIRAGANA LETTER KA
-304C;ID # HIRAGANA LETTER GA
-304D;ID # HIRAGANA LETTER KI
-304E;ID # HIRAGANA LETTER GI
-304F;ID # HIRAGANA LETTER KU
-3050;ID # HIRAGANA LETTER GU
-3051;ID # HIRAGANA LETTER KE
-3052;ID # HIRAGANA LETTER GE
-3053;ID # HIRAGANA LETTER KO
-3054;ID # HIRAGANA LETTER GO
-3055;ID # HIRAGANA LETTER SA
-3056;ID # HIRAGANA LETTER ZA
-3057;ID # HIRAGANA LETTER SI
-3058;ID # HIRAGANA LETTER ZI
-3059;ID # HIRAGANA LETTER SU
-305A;ID # HIRAGANA LETTER ZU
-305B;ID # HIRAGANA LETTER SE
-305C;ID # HIRAGANA LETTER ZE
-305D;ID # HIRAGANA LETTER SO
-305E;ID # HIRAGANA LETTER ZO
-305F;ID # HIRAGANA LETTER TA
-3060;ID # HIRAGANA LETTER DA
-3061;ID # HIRAGANA LETTER TI
-3062;ID # HIRAGANA LETTER DI
-3063;NS # HIRAGANA LETTER SMALL TU
-3064;ID # HIRAGANA LETTER TU
-3065;ID # HIRAGANA LETTER DU
-3066;ID # HIRAGANA LETTER TE
-3067;ID # HIRAGANA LETTER DE
-3068;ID # HIRAGANA LETTER TO
-3069;ID # HIRAGANA LETTER DO
-306A;ID # HIRAGANA LETTER NA
-306B;ID # HIRAGANA LETTER NI
-306C;ID # HIRAGANA LETTER NU
-306D;ID # HIRAGANA LETTER NE
-306E;ID # HIRAGANA LETTER NO
-306F;ID # HIRAGANA LETTER HA
-3070;ID # HIRAGANA LETTER BA
-3071;ID # HIRAGANA LETTER PA
-3072;ID # HIRAGANA LETTER HI
-3073;ID # HIRAGANA LETTER BI
-3074;ID # HIRAGANA LETTER PI
-3075;ID # HIRAGANA LETTER HU
-3076;ID # HIRAGANA LETTER BU
-3077;ID # HIRAGANA LETTER PU
-3078;ID # HIRAGANA LETTER HE
-3079;ID # HIRAGANA LETTER BE
-307A;ID # HIRAGANA LETTER PE
-307B;ID # HIRAGANA LETTER HO
-307C;ID # HIRAGANA LETTER BO
-307D;ID # HIRAGANA LETTER PO
-307E;ID # HIRAGANA LETTER MA
-307F;ID # HIRAGANA LETTER MI
-3080;ID # HIRAGANA LETTER MU
-3081;ID # HIRAGANA LETTER ME
-3082;ID # HIRAGANA LETTER MO
-3083;NS # HIRAGANA LETTER SMALL YA
-3084;ID # HIRAGANA LETTER YA
-3085;NS # HIRAGANA LETTER SMALL YU
-3086;ID # HIRAGANA LETTER YU
-3087;NS # HIRAGANA LETTER SMALL YO
-3088;ID # HIRAGANA LETTER YO
-3089;ID # HIRAGANA LETTER RA
-308A;ID # HIRAGANA LETTER RI
-308B;ID # HIRAGANA LETTER RU
-308C;ID # HIRAGANA LETTER RE
-308D;ID # HIRAGANA LETTER RO
-308E;NS # HIRAGANA LETTER SMALL WA
-308F;ID # HIRAGANA LETTER WA
-3090;ID # HIRAGANA LETTER WI
-3091;ID # HIRAGANA LETTER WE
-3092;ID # HIRAGANA LETTER WO
-3093;ID # HIRAGANA LETTER N
-3094;ID # HIRAGANA LETTER VU
-3095;NS # HIRAGANA LETTER SMALL KA
-3096;NS # HIRAGANA LETTER SMALL KE
-3099;CM # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-309A;CM # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B;NS # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C;NS # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D;NS # HIRAGANA ITERATION MARK
-309E;NS # HIRAGANA VOICED ITERATION MARK
-309F;ID # HIRAGANA DIGRAPH YORI
-30A0;NS # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1;NS # KATAKANA LETTER SMALL A
-30A2;ID # KATAKANA LETTER A
-30A3;NS # KATAKANA LETTER SMALL I
-30A4;ID # KATAKANA LETTER I
-30A5;NS # KATAKANA LETTER SMALL U
-30A6;ID # KATAKANA LETTER U
-30A7;NS # KATAKANA LETTER SMALL E
-30A8;ID # KATAKANA LETTER E
-30A9;NS # KATAKANA LETTER SMALL O
-30AA;ID # KATAKANA LETTER O
-30AB;ID # KATAKANA LETTER KA
-30AC;ID # KATAKANA LETTER GA
-30AD;ID # KATAKANA LETTER KI
-30AE;ID # KATAKANA LETTER GI
-30AF;ID # KATAKANA LETTER KU
-30B0;ID # KATAKANA LETTER GU
-30B1;ID # KATAKANA LETTER KE
-30B2;ID # KATAKANA LETTER GE
-30B3;ID # KATAKANA LETTER KO
-30B4;ID # KATAKANA LETTER GO
-30B5;ID # KATAKANA LETTER SA
-30B6;ID # KATAKANA LETTER ZA
-30B7;ID # KATAKANA LETTER SI
-30B8;ID # KATAKANA LETTER ZI
-30B9;ID # KATAKANA LETTER SU
-30BA;ID # KATAKANA LETTER ZU
-30BB;ID # KATAKANA LETTER SE
-30BC;ID # KATAKANA LETTER ZE
-30BD;ID # KATAKANA LETTER SO
-30BE;ID # KATAKANA LETTER ZO
-30BF;ID # KATAKANA LETTER TA
-30C0;ID # KATAKANA LETTER DA
-30C1;ID # KATAKANA LETTER TI
-30C2;ID # KATAKANA LETTER DI
-30C3;NS # KATAKANA LETTER SMALL TU
-30C4;ID # KATAKANA LETTER TU
-30C5;ID # KATAKANA LETTER DU
-30C6;ID # KATAKANA LETTER TE
-30C7;ID # KATAKANA LETTER DE
-30C8;ID # KATAKANA LETTER TO
-30C9;ID # KATAKANA LETTER DO
-30CA;ID # KATAKANA LETTER NA
-30CB;ID # KATAKANA LETTER NI
-30CC;ID # KATAKANA LETTER NU
-30CD;ID # KATAKANA LETTER NE
-30CE;ID # KATAKANA LETTER NO
-30CF;ID # KATAKANA LETTER HA
-30D0;ID # KATAKANA LETTER BA
-30D1;ID # KATAKANA LETTER PA
-30D2;ID # KATAKANA LETTER HI
-30D3;ID # KATAKANA LETTER BI
-30D4;ID # KATAKANA LETTER PI
-30D5;ID # KATAKANA LETTER HU
-30D6;ID # KATAKANA LETTER BU
-30D7;ID # KATAKANA LETTER PU
-30D8;ID # KATAKANA LETTER HE
-30D9;ID # KATAKANA LETTER BE
-30DA;ID # KATAKANA LETTER PE
-30DB;ID # KATAKANA LETTER HO
-30DC;ID # KATAKANA LETTER BO
-30DD;ID # KATAKANA LETTER PO
-30DE;ID # KATAKANA LETTER MA
-30DF;ID # KATAKANA LETTER MI
-30E0;ID # KATAKANA LETTER MU
-30E1;ID # KATAKANA LETTER ME
-30E2;ID # KATAKANA LETTER MO
-30E3;NS # KATAKANA LETTER SMALL YA
-30E4;ID # KATAKANA LETTER YA
-30E5;NS # KATAKANA LETTER SMALL YU
-30E6;ID # KATAKANA LETTER YU
-30E7;NS # KATAKANA LETTER SMALL YO
-30E8;ID # KATAKANA LETTER YO
-30E9;ID # KATAKANA LETTER RA
-30EA;ID # KATAKANA LETTER RI
-30EB;ID # KATAKANA LETTER RU
-30EC;ID # KATAKANA LETTER RE
-30ED;ID # KATAKANA LETTER RO
-30EE;NS # KATAKANA LETTER SMALL WA
-30EF;ID # KATAKANA LETTER WA
-30F0;ID # KATAKANA LETTER WI
-30F1;ID # KATAKANA LETTER WE
-30F2;ID # KATAKANA LETTER WO
-30F3;ID # KATAKANA LETTER N
-30F4;ID # KATAKANA LETTER VU
-30F5;NS # KATAKANA LETTER SMALL KA
-30F6;NS # KATAKANA LETTER SMALL KE
-30F7;ID # KATAKANA LETTER VA
-30F8;ID # KATAKANA LETTER VI
-30F9;ID # KATAKANA LETTER VE
-30FA;ID # KATAKANA LETTER VO
-30FB;NS # KATAKANA MIDDLE DOT
-30FC;NS # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-30FD;NS # KATAKANA ITERATION MARK
-30FE;NS # KATAKANA VOICED ITERATION MARK
-30FF;ID # KATAKANA DIGRAPH KOTO
-3105;ID # BOPOMOFO LETTER B
-3106;ID # BOPOMOFO LETTER P
-3107;ID # BOPOMOFO LETTER M
-3108;ID # BOPOMOFO LETTER F
-3109;ID # BOPOMOFO LETTER D
-310A;ID # BOPOMOFO LETTER T
-310B;ID # BOPOMOFO LETTER N
-310C;ID # BOPOMOFO LETTER L
-310D;ID # BOPOMOFO LETTER G
-310E;ID # BOPOMOFO LETTER K
-310F;ID # BOPOMOFO LETTER H
-3110;ID # BOPOMOFO LETTER J
-3111;ID # BOPOMOFO LETTER Q
-3112;ID # BOPOMOFO LETTER X
-3113;ID # BOPOMOFO LETTER ZH
-3114;ID # BOPOMOFO LETTER CH
-3115;ID # BOPOMOFO LETTER SH
-3116;ID # BOPOMOFO LETTER R
-3117;ID # BOPOMOFO LETTER Z
-3118;ID # BOPOMOFO LETTER C
-3119;ID # BOPOMOFO LETTER S
-311A;ID # BOPOMOFO LETTER A
-311B;ID # BOPOMOFO LETTER O
-311C;ID # BOPOMOFO LETTER E
-311D;ID # BOPOMOFO LETTER EH
-311E;ID # BOPOMOFO LETTER AI
-311F;ID # BOPOMOFO LETTER EI
-3120;ID # BOPOMOFO LETTER AU
-3121;ID # BOPOMOFO LETTER OU
-3122;ID # BOPOMOFO LETTER AN
-3123;ID # BOPOMOFO LETTER EN
-3124;ID # BOPOMOFO LETTER ANG
-3125;ID # BOPOMOFO LETTER ENG
-3126;ID # BOPOMOFO LETTER ER
-3127;ID # BOPOMOFO LETTER I
-3128;ID # BOPOMOFO LETTER U
-3129;ID # BOPOMOFO LETTER IU
-312A;ID # BOPOMOFO LETTER V
-312B;ID # BOPOMOFO LETTER NG
-312C;ID # BOPOMOFO LETTER GN
-312D;ID # BOPOMOFO LETTER IH
-3131;ID # HANGUL LETTER KIYEOK
-3132;ID # HANGUL LETTER SSANGKIYEOK
-3133;ID # HANGUL LETTER KIYEOK-SIOS
-3134;ID # HANGUL LETTER NIEUN
-3135;ID # HANGUL LETTER NIEUN-CIEUC
-3136;ID # HANGUL LETTER NIEUN-HIEUH
-3137;ID # HANGUL LETTER TIKEUT
-3138;ID # HANGUL LETTER SSANGTIKEUT
-3139;ID # HANGUL LETTER RIEUL
-313A;ID # HANGUL LETTER RIEUL-KIYEOK
-313B;ID # HANGUL LETTER RIEUL-MIEUM
-313C;ID # HANGUL LETTER RIEUL-PIEUP
-313D;ID # HANGUL LETTER RIEUL-SIOS
-313E;ID # HANGUL LETTER RIEUL-THIEUTH
-313F;ID # HANGUL LETTER RIEUL-PHIEUPH
-3140;ID # HANGUL LETTER RIEUL-HIEUH
-3141;ID # HANGUL LETTER MIEUM
-3142;ID # HANGUL LETTER PIEUP
-3143;ID # HANGUL LETTER SSANGPIEUP
-3144;ID # HANGUL LETTER PIEUP-SIOS
-3145;ID # HANGUL LETTER SIOS
-3146;ID # HANGUL LETTER SSANGSIOS
-3147;ID # HANGUL LETTER IEUNG
-3148;ID # HANGUL LETTER CIEUC
-3149;ID # HANGUL LETTER SSANGCIEUC
-314A;ID # HANGUL LETTER CHIEUCH
-314B;ID # HANGUL LETTER KHIEUKH
-314C;ID # HANGUL LETTER THIEUTH
-314D;ID # HANGUL LETTER PHIEUPH
-314E;ID # HANGUL LETTER HIEUH
-314F;ID # HANGUL LETTER A
-3150;ID # HANGUL LETTER AE
-3151;ID # HANGUL LETTER YA
-3152;ID # HANGUL LETTER YAE
-3153;ID # HANGUL LETTER EO
-3154;ID # HANGUL LETTER E
-3155;ID # HANGUL LETTER YEO
-3156;ID # HANGUL LETTER YE
-3157;ID # HANGUL LETTER O
-3158;ID # HANGUL LETTER WA
-3159;ID # HANGUL LETTER WAE
-315A;ID # HANGUL LETTER OE
-315B;ID # HANGUL LETTER YO
-315C;ID # HANGUL LETTER U
-315D;ID # HANGUL LETTER WEO
-315E;ID # HANGUL LETTER WE
-315F;ID # HANGUL LETTER WI
-3160;ID # HANGUL LETTER YU
-3161;ID # HANGUL LETTER EU
-3162;ID # HANGUL LETTER YI
-3163;ID # HANGUL LETTER I
-3164;ID # HANGUL FILLER
-3165;ID # HANGUL LETTER SSANGNIEUN
-3166;ID # HANGUL LETTER NIEUN-TIKEUT
-3167;ID # HANGUL LETTER NIEUN-SIOS
-3168;ID # HANGUL LETTER NIEUN-PANSIOS
-3169;ID # HANGUL LETTER RIEUL-KIYEOK-SIOS
-316A;ID # HANGUL LETTER RIEUL-TIKEUT
-316B;ID # HANGUL LETTER RIEUL-PIEUP-SIOS
-316C;ID # HANGUL LETTER RIEUL-PANSIOS
-316D;ID # HANGUL LETTER RIEUL-YEORINHIEUH
-316E;ID # HANGUL LETTER MIEUM-PIEUP
-316F;ID # HANGUL LETTER MIEUM-SIOS
-3170;ID # HANGUL LETTER MIEUM-PANSIOS
-3171;ID # HANGUL LETTER KAPYEOUNMIEUM
-3172;ID # HANGUL LETTER PIEUP-KIYEOK
-3173;ID # HANGUL LETTER PIEUP-TIKEUT
-3174;ID # HANGUL LETTER PIEUP-SIOS-KIYEOK
-3175;ID # HANGUL LETTER PIEUP-SIOS-TIKEUT
-3176;ID # HANGUL LETTER PIEUP-CIEUC
-3177;ID # HANGUL LETTER PIEUP-THIEUTH
-3178;ID # HANGUL LETTER KAPYEOUNPIEUP
-3179;ID # HANGUL LETTER KAPYEOUNSSANGPIEUP
-317A;ID # HANGUL LETTER SIOS-KIYEOK
-317B;ID # HANGUL LETTER SIOS-NIEUN
-317C;ID # HANGUL LETTER SIOS-TIKEUT
-317D;ID # HANGUL LETTER SIOS-PIEUP
-317E;ID # HANGUL LETTER SIOS-CIEUC
-317F;ID # HANGUL LETTER PANSIOS
-3180;ID # HANGUL LETTER SSANGIEUNG
-3181;ID # HANGUL LETTER YESIEUNG
-3182;ID # HANGUL LETTER YESIEUNG-SIOS
-3183;ID # HANGUL LETTER YESIEUNG-PANSIOS
-3184;ID # HANGUL LETTER KAPYEOUNPHIEUPH
-3185;ID # HANGUL LETTER SSANGHIEUH
-3186;ID # HANGUL LETTER YEORINHIEUH
-3187;ID # HANGUL LETTER YO-YA
-3188;ID # HANGUL LETTER YO-YAE
-3189;ID # HANGUL LETTER YO-I
-318A;ID # HANGUL LETTER YU-YEO
-318B;ID # HANGUL LETTER YU-YE
-318C;ID # HANGUL LETTER YU-I
-318D;ID # HANGUL LETTER ARAEA
-318E;ID # HANGUL LETTER ARAEAE
-3190;ID # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191;ID # IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192;ID # IDEOGRAPHIC ANNOTATION ONE MARK
-3193;ID # IDEOGRAPHIC ANNOTATION TWO MARK
-3194;ID # IDEOGRAPHIC ANNOTATION THREE MARK
-3195;ID # IDEOGRAPHIC ANNOTATION FOUR MARK
-3196;ID # IDEOGRAPHIC ANNOTATION TOP MARK
-3197;ID # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-3198;ID # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-3199;ID # IDEOGRAPHIC ANNOTATION FIRST MARK
-319A;ID # IDEOGRAPHIC ANNOTATION SECOND MARK
-319B;ID # IDEOGRAPHIC ANNOTATION THIRD MARK
-319C;ID # IDEOGRAPHIC ANNOTATION FOURTH MARK
-319D;ID # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-319E;ID # IDEOGRAPHIC ANNOTATION EARTH MARK
-319F;ID # IDEOGRAPHIC ANNOTATION MAN MARK
-31A0;ID # BOPOMOFO LETTER BU
-31A1;ID # BOPOMOFO LETTER ZI
-31A2;ID # BOPOMOFO LETTER JI
-31A3;ID # BOPOMOFO LETTER GU
-31A4;ID # BOPOMOFO LETTER EE
-31A5;ID # BOPOMOFO LETTER ENN
-31A6;ID # BOPOMOFO LETTER OO
-31A7;ID # BOPOMOFO LETTER ONN
-31A8;ID # BOPOMOFO LETTER IR
-31A9;ID # BOPOMOFO LETTER ANN
-31AA;ID # BOPOMOFO LETTER INN
-31AB;ID # BOPOMOFO LETTER UNN
-31AC;ID # BOPOMOFO LETTER IM
-31AD;ID # BOPOMOFO LETTER NGG
-31AE;ID # BOPOMOFO LETTER AINN
-31AF;ID # BOPOMOFO LETTER AUNN
-31B0;ID # BOPOMOFO LETTER AM
-31B1;ID # BOPOMOFO LETTER OM
-31B2;ID # BOPOMOFO LETTER ONG
-31B3;ID # BOPOMOFO LETTER INNN
-31B4;ID # BOPOMOFO FINAL LETTER P
-31B5;ID # BOPOMOFO FINAL LETTER T
-31B6;ID # BOPOMOFO FINAL LETTER K
-31B7;ID # BOPOMOFO FINAL LETTER H
-31C0;ID # CJK STROKE T
-31C1;ID # CJK STROKE WG
-31C2;ID # CJK STROKE XG
-31C3;ID # CJK STROKE BXG
-31C4;ID # CJK STROKE SW
-31C5;ID # CJK STROKE HZZ
-31C6;ID # CJK STROKE HZG
-31C7;ID # CJK STROKE HP
-31C8;ID # CJK STROKE HZWG
-31C9;ID # CJK STROKE SZWG
-31CA;ID # CJK STROKE HZT
-31CB;ID # CJK STROKE HZZP
-31CC;ID # CJK STROKE HPWG
-31CD;ID # CJK STROKE HZW
-31CE;ID # CJK STROKE HZZZ
-31CF;ID # CJK STROKE N
-31D0;ID # CJK STROKE H
-31D1;ID # CJK STROKE S
-31D2;ID # CJK STROKE P
-31D3;ID # CJK STROKE SP
-31D4;ID # CJK STROKE D
-31D5;ID # CJK STROKE HZ
-31D6;ID # CJK STROKE HG
-31D7;ID # CJK STROKE SZ
-31D8;ID # CJK STROKE SWZ
-31D9;ID # CJK STROKE ST
-31DA;ID # CJK STROKE SG
-31DB;ID # CJK STROKE PD
-31DC;ID # CJK STROKE PZ
-31DD;ID # CJK STROKE TN
-31DE;ID # CJK STROKE SZZ
-31DF;ID # CJK STROKE SWG
-31E0;ID # CJK STROKE HXWG
-31E1;ID # CJK STROKE HZZZG
-31E2;ID # CJK STROKE PG
-31E3;ID # CJK STROKE Q
-31F0;NS # KATAKANA LETTER SMALL KU
-31F1;NS # KATAKANA LETTER SMALL SI
-31F2;NS # KATAKANA LETTER SMALL SU
-31F3;NS # KATAKANA LETTER SMALL TO
-31F4;NS # KATAKANA LETTER SMALL NU
-31F5;NS # KATAKANA LETTER SMALL HA
-31F6;NS # KATAKANA LETTER SMALL HI
-31F7;NS # KATAKANA LETTER SMALL HU
-31F8;NS # KATAKANA LETTER SMALL HE
-31F9;NS # KATAKANA LETTER SMALL HO
-31FA;NS # KATAKANA LETTER SMALL MU
-31FB;NS # KATAKANA LETTER SMALL RA
-31FC;NS # KATAKANA LETTER SMALL RI
-31FD;NS # KATAKANA LETTER SMALL RU
-31FE;NS # KATAKANA LETTER SMALL RE
-31FF;NS # KATAKANA LETTER SMALL RO
-3200;ID # PARENTHESIZED HANGUL KIYEOK
-3201;ID # PARENTHESIZED HANGUL NIEUN
-3202;ID # PARENTHESIZED HANGUL TIKEUT
-3203;ID # PARENTHESIZED HANGUL RIEUL
-3204;ID # PARENTHESIZED HANGUL MIEUM
-3205;ID # PARENTHESIZED HANGUL PIEUP
-3206;ID # PARENTHESIZED HANGUL SIOS
-3207;ID # PARENTHESIZED HANGUL IEUNG
-3208;ID # PARENTHESIZED HANGUL CIEUC
-3209;ID # PARENTHESIZED HANGUL CHIEUCH
-320A;ID # PARENTHESIZED HANGUL KHIEUKH
-320B;ID # PARENTHESIZED HANGUL THIEUTH
-320C;ID # PARENTHESIZED HANGUL PHIEUPH
-320D;ID # PARENTHESIZED HANGUL HIEUH
-320E;ID # PARENTHESIZED HANGUL KIYEOK A
-320F;ID # PARENTHESIZED HANGUL NIEUN A
-3210;ID # PARENTHESIZED HANGUL TIKEUT A
-3211;ID # PARENTHESIZED HANGUL RIEUL A
-3212;ID # PARENTHESIZED HANGUL MIEUM A
-3213;ID # PARENTHESIZED HANGUL PIEUP A
-3214;ID # PARENTHESIZED HANGUL SIOS A
-3215;ID # PARENTHESIZED HANGUL IEUNG A
-3216;ID # PARENTHESIZED HANGUL CIEUC A
-3217;ID # PARENTHESIZED HANGUL CHIEUCH A
-3218;ID # PARENTHESIZED HANGUL KHIEUKH A
-3219;ID # PARENTHESIZED HANGUL THIEUTH A
-321A;ID # PARENTHESIZED HANGUL PHIEUPH A
-321B;ID # PARENTHESIZED HANGUL HIEUH A
-321C;ID # PARENTHESIZED HANGUL CIEUC U
-321D;ID # PARENTHESIZED KOREAN CHARACTER OJEON
-321E;ID # PARENTHESIZED KOREAN CHARACTER O HU
-3220;ID # PARENTHESIZED IDEOGRAPH ONE
-3221;ID # PARENTHESIZED IDEOGRAPH TWO
-3222;ID # PARENTHESIZED IDEOGRAPH THREE
-3223;ID # PARENTHESIZED IDEOGRAPH FOUR
-3224;ID # PARENTHESIZED IDEOGRAPH FIVE
-3225;ID # PARENTHESIZED IDEOGRAPH SIX
-3226;ID # PARENTHESIZED IDEOGRAPH SEVEN
-3227;ID # PARENTHESIZED IDEOGRAPH EIGHT
-3228;ID # PARENTHESIZED IDEOGRAPH NINE
-3229;ID # PARENTHESIZED IDEOGRAPH TEN
-322A;ID # PARENTHESIZED IDEOGRAPH MOON
-322B;ID # PARENTHESIZED IDEOGRAPH FIRE
-322C;ID # PARENTHESIZED IDEOGRAPH WATER
-322D;ID # PARENTHESIZED IDEOGRAPH WOOD
-322E;ID # PARENTHESIZED IDEOGRAPH METAL
-322F;ID # PARENTHESIZED IDEOGRAPH EARTH
-3230;ID # PARENTHESIZED IDEOGRAPH SUN
-3231;ID # PARENTHESIZED IDEOGRAPH STOCK
-3232;ID # PARENTHESIZED IDEOGRAPH HAVE
-3233;ID # PARENTHESIZED IDEOGRAPH SOCIETY
-3234;ID # PARENTHESIZED IDEOGRAPH NAME
-3235;ID # PARENTHESIZED IDEOGRAPH SPECIAL
-3236;ID # PARENTHESIZED IDEOGRAPH FINANCIAL
-3237;ID # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3238;ID # PARENTHESIZED IDEOGRAPH LABOR
-3239;ID # PARENTHESIZED IDEOGRAPH REPRESENT
-323A;ID # PARENTHESIZED IDEOGRAPH CALL
-323B;ID # PARENTHESIZED IDEOGRAPH STUDY
-323C;ID # PARENTHESIZED IDEOGRAPH SUPERVISE
-323D;ID # PARENTHESIZED IDEOGRAPH ENTERPRISE
-323E;ID # PARENTHESIZED IDEOGRAPH RESOURCE
-323F;ID # PARENTHESIZED IDEOGRAPH ALLIANCE
-3240;ID # PARENTHESIZED IDEOGRAPH FESTIVAL
-3241;ID # PARENTHESIZED IDEOGRAPH REST
-3242;ID # PARENTHESIZED IDEOGRAPH SELF
-3243;ID # PARENTHESIZED IDEOGRAPH REACH
-3244;ID # CIRCLED IDEOGRAPH QUESTION
-3245;ID # CIRCLED IDEOGRAPH KINDERGARTEN
-3246;ID # CIRCLED IDEOGRAPH SCHOOL
-3247;ID # CIRCLED IDEOGRAPH KOTO
-3248;AI # CIRCLED NUMBER TEN ON BLACK SQUARE
-3249;AI # CIRCLED NUMBER TWENTY ON BLACK SQUARE
-324A;AI # CIRCLED NUMBER THIRTY ON BLACK SQUARE
-324B;AI # CIRCLED NUMBER FORTY ON BLACK SQUARE
-324C;AI # CIRCLED NUMBER FIFTY ON BLACK SQUARE
-324D;AI # CIRCLED NUMBER SIXTY ON BLACK SQUARE
-324E;AI # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
-324F;AI # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-3250;ID # PARTNERSHIP SIGN
-3251;ID # CIRCLED NUMBER TWENTY ONE
-3252;ID # CIRCLED NUMBER TWENTY TWO
-3253;ID # CIRCLED NUMBER TWENTY THREE
-3254;ID # CIRCLED NUMBER TWENTY FOUR
-3255;ID # CIRCLED NUMBER TWENTY FIVE
-3256;ID # CIRCLED NUMBER TWENTY SIX
-3257;ID # CIRCLED NUMBER TWENTY SEVEN
-3258;ID # CIRCLED NUMBER TWENTY EIGHT
-3259;ID # CIRCLED NUMBER TWENTY NINE
-325A;ID # CIRCLED NUMBER THIRTY
-325B;ID # CIRCLED NUMBER THIRTY ONE
-325C;ID # CIRCLED NUMBER THIRTY TWO
-325D;ID # CIRCLED NUMBER THIRTY THREE
-325E;ID # CIRCLED NUMBER THIRTY FOUR
-325F;ID # CIRCLED NUMBER THIRTY FIVE
-3260;ID # CIRCLED HANGUL KIYEOK
-3261;ID # CIRCLED HANGUL NIEUN
-3262;ID # CIRCLED HANGUL TIKEUT
-3263;ID # CIRCLED HANGUL RIEUL
-3264;ID # CIRCLED HANGUL MIEUM
-3265;ID # CIRCLED HANGUL PIEUP
-3266;ID # CIRCLED HANGUL SIOS
-3267;ID # CIRCLED HANGUL IEUNG
-3268;ID # CIRCLED HANGUL CIEUC
-3269;ID # CIRCLED HANGUL CHIEUCH
-326A;ID # CIRCLED HANGUL KHIEUKH
-326B;ID # CIRCLED HANGUL THIEUTH
-326C;ID # CIRCLED HANGUL PHIEUPH
-326D;ID # CIRCLED HANGUL HIEUH
-326E;ID # CIRCLED HANGUL KIYEOK A
-326F;ID # CIRCLED HANGUL NIEUN A
-3270;ID # CIRCLED HANGUL TIKEUT A
-3271;ID # CIRCLED HANGUL RIEUL A
-3272;ID # CIRCLED HANGUL MIEUM A
-3273;ID # CIRCLED HANGUL PIEUP A
-3274;ID # CIRCLED HANGUL SIOS A
-3275;ID # CIRCLED HANGUL IEUNG A
-3276;ID # CIRCLED HANGUL CIEUC A
-3277;ID # CIRCLED HANGUL CHIEUCH A
-3278;ID # CIRCLED HANGUL KHIEUKH A
-3279;ID # CIRCLED HANGUL THIEUTH A
-327A;ID # CIRCLED HANGUL PHIEUPH A
-327B;ID # CIRCLED HANGUL HIEUH A
-327C;ID # CIRCLED KOREAN CHARACTER CHAMKO
-327D;ID # CIRCLED KOREAN CHARACTER JUEUI
-327E;ID # CIRCLED HANGUL IEUNG U
-327F;ID # KOREAN STANDARD SYMBOL
-3280;ID # CIRCLED IDEOGRAPH ONE
-3281;ID # CIRCLED IDEOGRAPH TWO
-3282;ID # CIRCLED IDEOGRAPH THREE
-3283;ID # CIRCLED IDEOGRAPH FOUR
-3284;ID # CIRCLED IDEOGRAPH FIVE
-3285;ID # CIRCLED IDEOGRAPH SIX
-3286;ID # CIRCLED IDEOGRAPH SEVEN
-3287;ID # CIRCLED IDEOGRAPH EIGHT
-3288;ID # CIRCLED IDEOGRAPH NINE
-3289;ID # CIRCLED IDEOGRAPH TEN
-328A;ID # CIRCLED IDEOGRAPH MOON
-328B;ID # CIRCLED IDEOGRAPH FIRE
-328C;ID # CIRCLED IDEOGRAPH WATER
-328D;ID # CIRCLED IDEOGRAPH WOOD
-328E;ID # CIRCLED IDEOGRAPH METAL
-328F;ID # CIRCLED IDEOGRAPH EARTH
-3290;ID # CIRCLED IDEOGRAPH SUN
-3291;ID # CIRCLED IDEOGRAPH STOCK
-3292;ID # CIRCLED IDEOGRAPH HAVE
-3293;ID # CIRCLED IDEOGRAPH SOCIETY
-3294;ID # CIRCLED IDEOGRAPH NAME
-3295;ID # CIRCLED IDEOGRAPH SPECIAL
-3296;ID # CIRCLED IDEOGRAPH FINANCIAL
-3297;ID # CIRCLED IDEOGRAPH CONGRATULATION
-3298;ID # CIRCLED IDEOGRAPH LABOR
-3299;ID # CIRCLED IDEOGRAPH SECRET
-329A;ID # CIRCLED IDEOGRAPH MALE
-329B;ID # CIRCLED IDEOGRAPH FEMALE
-329C;ID # CIRCLED IDEOGRAPH SUITABLE
-329D;ID # CIRCLED IDEOGRAPH EXCELLENT
-329E;ID # CIRCLED IDEOGRAPH PRINT
-329F;ID # CIRCLED IDEOGRAPH ATTENTION
-32A0;ID # CIRCLED IDEOGRAPH ITEM
-32A1;ID # CIRCLED IDEOGRAPH REST
-32A2;ID # CIRCLED IDEOGRAPH COPY
-32A3;ID # CIRCLED IDEOGRAPH CORRECT
-32A4;ID # CIRCLED IDEOGRAPH HIGH
-32A5;ID # CIRCLED IDEOGRAPH CENTRE
-32A6;ID # CIRCLED IDEOGRAPH LOW
-32A7;ID # CIRCLED IDEOGRAPH LEFT
-32A8;ID # CIRCLED IDEOGRAPH RIGHT
-32A9;ID # CIRCLED IDEOGRAPH MEDICINE
-32AA;ID # CIRCLED IDEOGRAPH RELIGION
-32AB;ID # CIRCLED IDEOGRAPH STUDY
-32AC;ID # CIRCLED IDEOGRAPH SUPERVISE
-32AD;ID # CIRCLED IDEOGRAPH ENTERPRISE
-32AE;ID # CIRCLED IDEOGRAPH RESOURCE
-32AF;ID # CIRCLED IDEOGRAPH ALLIANCE
-32B0;ID # CIRCLED IDEOGRAPH NIGHT
-32B1;ID # CIRCLED NUMBER THIRTY SIX
-32B2;ID # CIRCLED NUMBER THIRTY SEVEN
-32B3;ID # CIRCLED NUMBER THIRTY EIGHT
-32B4;ID # CIRCLED NUMBER THIRTY NINE
-32B5;ID # CIRCLED NUMBER FORTY
-32B6;ID # CIRCLED NUMBER FORTY ONE
-32B7;ID # CIRCLED NUMBER FORTY TWO
-32B8;ID # CIRCLED NUMBER FORTY THREE
-32B9;ID # CIRCLED NUMBER FORTY FOUR
-32BA;ID # CIRCLED NUMBER FORTY FIVE
-32BB;ID # CIRCLED NUMBER FORTY SIX
-32BC;ID # CIRCLED NUMBER FORTY SEVEN
-32BD;ID # CIRCLED NUMBER FORTY EIGHT
-32BE;ID # CIRCLED NUMBER FORTY NINE
-32BF;ID # CIRCLED NUMBER FIFTY
-32C0;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-32C1;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-32C2;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-32C3;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-32C4;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-32C5;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-32C6;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-32C7;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-32C8;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-32C9;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-32CA;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-32CB;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-32CC;ID # SQUARE HG
-32CD;ID # SQUARE ERG
-32CE;ID # SQUARE EV
-32CF;ID # LIMITED LIABILITY SIGN
-32D0;ID # CIRCLED KATAKANA A
-32D1;ID # CIRCLED KATAKANA I
-32D2;ID # CIRCLED KATAKANA U
-32D3;ID # CIRCLED KATAKANA E
-32D4;ID # CIRCLED KATAKANA O
-32D5;ID # CIRCLED KATAKANA KA
-32D6;ID # CIRCLED KATAKANA KI
-32D7;ID # CIRCLED KATAKANA KU
-32D8;ID # CIRCLED KATAKANA KE
-32D9;ID # CIRCLED KATAKANA KO
-32DA;ID # CIRCLED KATAKANA SA
-32DB;ID # CIRCLED KATAKANA SI
-32DC;ID # CIRCLED KATAKANA SU
-32DD;ID # CIRCLED KATAKANA SE
-32DE;ID # CIRCLED KATAKANA SO
-32DF;ID # CIRCLED KATAKANA TA
-32E0;ID # CIRCLED KATAKANA TI
-32E1;ID # CIRCLED KATAKANA TU
-32E2;ID # CIRCLED KATAKANA TE
-32E3;ID # CIRCLED KATAKANA TO
-32E4;ID # CIRCLED KATAKANA NA
-32E5;ID # CIRCLED KATAKANA NI
-32E6;ID # CIRCLED KATAKANA NU
-32E7;ID # CIRCLED KATAKANA NE
-32E8;ID # CIRCLED KATAKANA NO
-32E9;ID # CIRCLED KATAKANA HA
-32EA;ID # CIRCLED KATAKANA HI
-32EB;ID # CIRCLED KATAKANA HU
-32EC;ID # CIRCLED KATAKANA HE
-32ED;ID # CIRCLED KATAKANA HO
-32EE;ID # CIRCLED KATAKANA MA
-32EF;ID # CIRCLED KATAKANA MI
-32F0;ID # CIRCLED KATAKANA MU
-32F1;ID # CIRCLED KATAKANA ME
-32F2;ID # CIRCLED KATAKANA MO
-32F3;ID # CIRCLED KATAKANA YA
-32F4;ID # CIRCLED KATAKANA YU
-32F5;ID # CIRCLED KATAKANA YO
-32F6;ID # CIRCLED KATAKANA RA
-32F7;ID # CIRCLED KATAKANA RI
-32F8;ID # CIRCLED KATAKANA RU
-32F9;ID # CIRCLED KATAKANA RE
-32FA;ID # CIRCLED KATAKANA RO
-32FB;ID # CIRCLED KATAKANA WA
-32FC;ID # CIRCLED KATAKANA WI
-32FD;ID # CIRCLED KATAKANA WE
-32FE;ID # CIRCLED KATAKANA WO
-3300;ID # SQUARE APAATO
-3301;ID # SQUARE ARUHUA
-3302;ID # SQUARE ANPEA
-3303;ID # SQUARE AARU
-3304;ID # SQUARE ININGU
-3305;ID # SQUARE INTI
-3306;ID # SQUARE UON
-3307;ID # SQUARE ESUKUUDO
-3308;ID # SQUARE EEKAA
-3309;ID # SQUARE ONSU
-330A;ID # SQUARE OOMU
-330B;ID # SQUARE KAIRI
-330C;ID # SQUARE KARATTO
-330D;ID # SQUARE KARORII
-330E;ID # SQUARE GARON
-330F;ID # SQUARE GANMA
-3310;ID # SQUARE GIGA
-3311;ID # SQUARE GINII
-3312;ID # SQUARE KYURII
-3313;ID # SQUARE GIRUDAA
-3314;ID # SQUARE KIRO
-3315;ID # SQUARE KIROGURAMU
-3316;ID # SQUARE KIROMEETORU
-3317;ID # SQUARE KIROWATTO
-3318;ID # SQUARE GURAMU
-3319;ID # SQUARE GURAMUTON
-331A;ID # SQUARE KURUZEIRO
-331B;ID # SQUARE KUROONE
-331C;ID # SQUARE KEESU
-331D;ID # SQUARE KORUNA
-331E;ID # SQUARE KOOPO
-331F;ID # SQUARE SAIKURU
-3320;ID # SQUARE SANTIIMU
-3321;ID # SQUARE SIRINGU
-3322;ID # SQUARE SENTI
-3323;ID # SQUARE SENTO
-3324;ID # SQUARE DAASU
-3325;ID # SQUARE DESI
-3326;ID # SQUARE DORU
-3327;ID # SQUARE TON
-3328;ID # SQUARE NANO
-3329;ID # SQUARE NOTTO
-332A;ID # SQUARE HAITU
-332B;ID # SQUARE PAASENTO
-332C;ID # SQUARE PAATU
-332D;ID # SQUARE BAARERU
-332E;ID # SQUARE PIASUTORU
-332F;ID # SQUARE PIKURU
-3330;ID # SQUARE PIKO
-3331;ID # SQUARE BIRU
-3332;ID # SQUARE HUARADDO
-3333;ID # SQUARE HUIITO
-3334;ID # SQUARE BUSSYERU
-3335;ID # SQUARE HURAN
-3336;ID # SQUARE HEKUTAARU
-3337;ID # SQUARE PESO
-3338;ID # SQUARE PENIHI
-3339;ID # SQUARE HERUTU
-333A;ID # SQUARE PENSU
-333B;ID # SQUARE PEEZI
-333C;ID # SQUARE BEETA
-333D;ID # SQUARE POINTO
-333E;ID # SQUARE BORUTO
-333F;ID # SQUARE HON
-3340;ID # SQUARE PONDO
-3341;ID # SQUARE HOORU
-3342;ID # SQUARE HOON
-3343;ID # SQUARE MAIKURO
-3344;ID # SQUARE MAIRU
-3345;ID # SQUARE MAHHA
-3346;ID # SQUARE MARUKU
-3347;ID # SQUARE MANSYON
-3348;ID # SQUARE MIKURON
-3349;ID # SQUARE MIRI
-334A;ID # SQUARE MIRIBAARU
-334B;ID # SQUARE MEGA
-334C;ID # SQUARE MEGATON
-334D;ID # SQUARE MEETORU
-334E;ID # SQUARE YAADO
-334F;ID # SQUARE YAARU
-3350;ID # SQUARE YUAN
-3351;ID # SQUARE RITTORU
-3352;ID # SQUARE RIRA
-3353;ID # SQUARE RUPII
-3354;ID # SQUARE RUUBURU
-3355;ID # SQUARE REMU
-3356;ID # SQUARE RENTOGEN
-3357;ID # SQUARE WATTO
-3358;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-3359;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-335A;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-335B;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-335C;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-335D;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-335E;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-335F;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-3360;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-3361;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-3362;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-3363;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-3364;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-3365;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-3366;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-3367;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-3368;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-3369;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-336A;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-336B;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-336C;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-336D;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-336E;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-336F;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-3370;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-3371;ID # SQUARE HPA
-3372;ID # SQUARE DA
-3373;ID # SQUARE AU
-3374;ID # SQUARE BAR
-3375;ID # SQUARE OV
-3376;ID # SQUARE PC
-3377;ID # SQUARE DM
-3378;ID # SQUARE DM SQUARED
-3379;ID # SQUARE DM CUBED
-337A;ID # SQUARE IU
-337B;ID # SQUARE ERA NAME HEISEI
-337C;ID # SQUARE ERA NAME SYOUWA
-337D;ID # SQUARE ERA NAME TAISYOU
-337E;ID # SQUARE ERA NAME MEIZI
-337F;ID # SQUARE CORPORATION
-3380;ID # SQUARE PA AMPS
-3381;ID # SQUARE NA
-3382;ID # SQUARE MU A
-3383;ID # SQUARE MA
-3384;ID # SQUARE KA
-3385;ID # SQUARE KB
-3386;ID # SQUARE MB
-3387;ID # SQUARE GB
-3388;ID # SQUARE CAL
-3389;ID # SQUARE KCAL
-338A;ID # SQUARE PF
-338B;ID # SQUARE NF
-338C;ID # SQUARE MU F
-338D;ID # SQUARE MU G
-338E;ID # SQUARE MG
-338F;ID # SQUARE KG
-3390;ID # SQUARE HZ
-3391;ID # SQUARE KHZ
-3392;ID # SQUARE MHZ
-3393;ID # SQUARE GHZ
-3394;ID # SQUARE THZ
-3395;ID # SQUARE MU L
-3396;ID # SQUARE ML
-3397;ID # SQUARE DL
-3398;ID # SQUARE KL
-3399;ID # SQUARE FM
-339A;ID # SQUARE NM
-339B;ID # SQUARE MU M
-339C;ID # SQUARE MM
-339D;ID # SQUARE CM
-339E;ID # SQUARE KM
-339F;ID # SQUARE MM SQUARED
-33A0;ID # SQUARE CM SQUARED
-33A1;ID # SQUARE M SQUARED
-33A2;ID # SQUARE KM SQUARED
-33A3;ID # SQUARE MM CUBED
-33A4;ID # SQUARE CM CUBED
-33A5;ID # SQUARE M CUBED
-33A6;ID # SQUARE KM CUBED
-33A7;ID # SQUARE M OVER S
-33A8;ID # SQUARE M OVER S SQUARED
-33A9;ID # SQUARE PA
-33AA;ID # SQUARE KPA
-33AB;ID # SQUARE MPA
-33AC;ID # SQUARE GPA
-33AD;ID # SQUARE RAD
-33AE;ID # SQUARE RAD OVER S
-33AF;ID # SQUARE RAD OVER S SQUARED
-33B0;ID # SQUARE PS
-33B1;ID # SQUARE NS
-33B2;ID # SQUARE MU S
-33B3;ID # SQUARE MS
-33B4;ID # SQUARE PV
-33B5;ID # SQUARE NV
-33B6;ID # SQUARE MU V
-33B7;ID # SQUARE MV
-33B8;ID # SQUARE KV
-33B9;ID # SQUARE MV MEGA
-33BA;ID # SQUARE PW
-33BB;ID # SQUARE NW
-33BC;ID # SQUARE MU W
-33BD;ID # SQUARE MW
-33BE;ID # SQUARE KW
-33BF;ID # SQUARE MW MEGA
-33C0;ID # SQUARE K OHM
-33C1;ID # SQUARE M OHM
-33C2;ID # SQUARE AM
-33C3;ID # SQUARE BQ
-33C4;ID # SQUARE CC
-33C5;ID # SQUARE CD
-33C6;ID # SQUARE C OVER KG
-33C7;ID # SQUARE CO
-33C8;ID # SQUARE DB
-33C9;ID # SQUARE GY
-33CA;ID # SQUARE HA
-33CB;ID # SQUARE HP
-33CC;ID # SQUARE IN
-33CD;ID # SQUARE KK
-33CE;ID # SQUARE KM CAPITAL
-33CF;ID # SQUARE KT
-33D0;ID # SQUARE LM
-33D1;ID # SQUARE LN
-33D2;ID # SQUARE LOG
-33D3;ID # SQUARE LX
-33D4;ID # SQUARE MB SMALL
-33D5;ID # SQUARE MIL
-33D6;ID # SQUARE MOL
-33D7;ID # SQUARE PH
-33D8;ID # SQUARE PM
-33D9;ID # SQUARE PPM
-33DA;ID # SQUARE PR
-33DB;ID # SQUARE SR
-33DC;ID # SQUARE SV
-33DD;ID # SQUARE WB
-33DE;ID # SQUARE V OVER M
-33DF;ID # SQUARE A OVER M
-33E0;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-33E1;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-33E2;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-33E3;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-33E4;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-33E5;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-33E6;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-33E7;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-33E8;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-33E9;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-33EA;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-33EB;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-33EC;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-33ED;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-33EE;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-33EF;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-33F0;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-33F1;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-33F2;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-33F3;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-33F4;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-33F5;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-33F6;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-33F7;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-33F8;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33FD;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE;ID # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33FF;ID # SQUARE GAL
-3400..4DB5;ID # <CJK Ideograph Extension A, First>..<CJK Ideograph Extension A, Last>
-4DB6..4DBF;ID # <reserved-4DB6>..<reserved-4DBF>
-4DC0;AL # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1;AL # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2;AL # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3;AL # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4;AL # HEXAGRAM FOR WAITING
-4DC5;AL # HEXAGRAM FOR CONFLICT
-4DC6;AL # HEXAGRAM FOR THE ARMY
-4DC7;AL # HEXAGRAM FOR HOLDING TOGETHER
-4DC8;AL # HEXAGRAM FOR SMALL TAMING
-4DC9;AL # HEXAGRAM FOR TREADING
-4DCA;AL # HEXAGRAM FOR PEACE
-4DCB;AL # HEXAGRAM FOR STANDSTILL
-4DCC;AL # HEXAGRAM FOR FELLOWSHIP
-4DCD;AL # HEXAGRAM FOR GREAT POSSESSION
-4DCE;AL # HEXAGRAM FOR MODESTY
-4DCF;AL # HEXAGRAM FOR ENTHUSIASM
-4DD0;AL # HEXAGRAM FOR FOLLOWING
-4DD1;AL # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2;AL # HEXAGRAM FOR APPROACH
-4DD3;AL # HEXAGRAM FOR CONTEMPLATION
-4DD4;AL # HEXAGRAM FOR BITING THROUGH
-4DD5;AL # HEXAGRAM FOR GRACE
-4DD6;AL # HEXAGRAM FOR SPLITTING APART
-4DD7;AL # HEXAGRAM FOR RETURN
-4DD8;AL # HEXAGRAM FOR INNOCENCE
-4DD9;AL # HEXAGRAM FOR GREAT TAMING
-4DDA;AL # HEXAGRAM FOR MOUTH CORNERS
-4DDB;AL # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC;AL # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD;AL # HEXAGRAM FOR THE CLINGING FIRE
-4DDE;AL # HEXAGRAM FOR INFLUENCE
-4DDF;AL # HEXAGRAM FOR DURATION
-4DE0;AL # HEXAGRAM FOR RETREAT
-4DE1;AL # HEXAGRAM FOR GREAT POWER
-4DE2;AL # HEXAGRAM FOR PROGRESS
-4DE3;AL # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4;AL # HEXAGRAM FOR THE FAMILY
-4DE5;AL # HEXAGRAM FOR OPPOSITION
-4DE6;AL # HEXAGRAM FOR OBSTRUCTION
-4DE7;AL # HEXAGRAM FOR DELIVERANCE
-4DE8;AL # HEXAGRAM FOR DECREASE
-4DE9;AL # HEXAGRAM FOR INCREASE
-4DEA;AL # HEXAGRAM FOR BREAKTHROUGH
-4DEB;AL # HEXAGRAM FOR COMING TO MEET
-4DEC;AL # HEXAGRAM FOR GATHERING TOGETHER
-4DED;AL # HEXAGRAM FOR PUSHING UPWARD
-4DEE;AL # HEXAGRAM FOR OPPRESSION
-4DEF;AL # HEXAGRAM FOR THE WELL
-4DF0;AL # HEXAGRAM FOR REVOLUTION
-4DF1;AL # HEXAGRAM FOR THE CAULDRON
-4DF2;AL # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3;AL # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4;AL # HEXAGRAM FOR DEVELOPMENT
-4DF5;AL # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6;AL # HEXAGRAM FOR ABUNDANCE
-4DF7;AL # HEXAGRAM FOR THE WANDERER
-4DF8;AL # HEXAGRAM FOR THE GENTLE WIND
-4DF9;AL # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA;AL # HEXAGRAM FOR DISPERSION
-4DFB;AL # HEXAGRAM FOR LIMITATION
-4DFC;AL # HEXAGRAM FOR INNER TRUTH
-4DFD;AL # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE;AL # HEXAGRAM FOR AFTER COMPLETION
-4DFF;AL # HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB;ID # <CJK Ideograph, First>..<CJK Ideograph, Last>
-9FCC..9FFF;ID # <reserved-9FCC>..<reserved-9FFF>
-A000;ID # YI SYLLABLE IT
-A001;ID # YI SYLLABLE IX
-A002;ID # YI SYLLABLE I
-A003;ID # YI SYLLABLE IP
-A004;ID # YI SYLLABLE IET
-A005;ID # YI SYLLABLE IEX
-A006;ID # YI SYLLABLE IE
-A007;ID # YI SYLLABLE IEP
-A008;ID # YI SYLLABLE AT
-A009;ID # YI SYLLABLE AX
-A00A;ID # YI SYLLABLE A
-A00B;ID # YI SYLLABLE AP
-A00C;ID # YI SYLLABLE UOX
-A00D;ID # YI SYLLABLE UO
-A00E;ID # YI SYLLABLE UOP
-A00F;ID # YI SYLLABLE OT
-A010;ID # YI SYLLABLE OX
-A011;ID # YI SYLLABLE O
-A012;ID # YI SYLLABLE OP
-A013;ID # YI SYLLABLE EX
-A014;ID # YI SYLLABLE E
-A015;NS # YI SYLLABLE WU
-A016;ID # YI SYLLABLE BIT
-A017;ID # YI SYLLABLE BIX
-A018;ID # YI SYLLABLE BI
-A019;ID # YI SYLLABLE BIP
-A01A;ID # YI SYLLABLE BIET
-A01B;ID # YI SYLLABLE BIEX
-A01C;ID # YI SYLLABLE BIE
-A01D;ID # YI SYLLABLE BIEP
-A01E;ID # YI SYLLABLE BAT
-A01F;ID # YI SYLLABLE BAX
-A020;ID # YI SYLLABLE BA
-A021;ID # YI SYLLABLE BAP
-A022;ID # YI SYLLABLE BUOX
-A023;ID # YI SYLLABLE BUO
-A024;ID # YI SYLLABLE BUOP
-A025;ID # YI SYLLABLE BOT
-A026;ID # YI SYLLABLE BOX
-A027;ID # YI SYLLABLE BO
-A028;ID # YI SYLLABLE BOP
-A029;ID # YI SYLLABLE BEX
-A02A;ID # YI SYLLABLE BE
-A02B;ID # YI SYLLABLE BEP
-A02C;ID # YI SYLLABLE BUT
-A02D;ID # YI SYLLABLE BUX
-A02E;ID # YI SYLLABLE BU
-A02F;ID # YI SYLLABLE BUP
-A030;ID # YI SYLLABLE BURX
-A031;ID # YI SYLLABLE BUR
-A032;ID # YI SYLLABLE BYT
-A033;ID # YI SYLLABLE BYX
-A034;ID # YI SYLLABLE BY
-A035;ID # YI SYLLABLE BYP
-A036;ID # YI SYLLABLE BYRX
-A037;ID # YI SYLLABLE BYR
-A038;ID # YI SYLLABLE PIT
-A039;ID # YI SYLLABLE PIX
-A03A;ID # YI SYLLABLE PI
-A03B;ID # YI SYLLABLE PIP
-A03C;ID # YI SYLLABLE PIEX
-A03D;ID # YI SYLLABLE PIE
-A03E;ID # YI SYLLABLE PIEP
-A03F;ID # YI SYLLABLE PAT
-A040;ID # YI SYLLABLE PAX
-A041;ID # YI SYLLABLE PA
-A042;ID # YI SYLLABLE PAP
-A043;ID # YI SYLLABLE PUOX
-A044;ID # YI SYLLABLE PUO
-A045;ID # YI SYLLABLE PUOP
-A046;ID # YI SYLLABLE POT
-A047;ID # YI SYLLABLE POX
-A048;ID # YI SYLLABLE PO
-A049;ID # YI SYLLABLE POP
-A04A;ID # YI SYLLABLE PUT
-A04B;ID # YI SYLLABLE PUX
-A04C;ID # YI SYLLABLE PU
-A04D;ID # YI SYLLABLE PUP
-A04E;ID # YI SYLLABLE PURX
-A04F;ID # YI SYLLABLE PUR
-A050;ID # YI SYLLABLE PYT
-A051;ID # YI SYLLABLE PYX
-A052;ID # YI SYLLABLE PY
-A053;ID # YI SYLLABLE PYP
-A054;ID # YI SYLLABLE PYRX
-A055;ID # YI SYLLABLE PYR
-A056;ID # YI SYLLABLE BBIT
-A057;ID # YI SYLLABLE BBIX
-A058;ID # YI SYLLABLE BBI
-A059;ID # YI SYLLABLE BBIP
-A05A;ID # YI SYLLABLE BBIET
-A05B;ID # YI SYLLABLE BBIEX
-A05C;ID # YI SYLLABLE BBIE
-A05D;ID # YI SYLLABLE BBIEP
-A05E;ID # YI SYLLABLE BBAT
-A05F;ID # YI SYLLABLE BBAX
-A060;ID # YI SYLLABLE BBA
-A061;ID # YI SYLLABLE BBAP
-A062;ID # YI SYLLABLE BBUOX
-A063;ID # YI SYLLABLE BBUO
-A064;ID # YI SYLLABLE BBUOP
-A065;ID # YI SYLLABLE BBOT
-A066;ID # YI SYLLABLE BBOX
-A067;ID # YI SYLLABLE BBO
-A068;ID # YI SYLLABLE BBOP
-A069;ID # YI SYLLABLE BBEX
-A06A;ID # YI SYLLABLE BBE
-A06B;ID # YI SYLLABLE BBEP
-A06C;ID # YI SYLLABLE BBUT
-A06D;ID # YI SYLLABLE BBUX
-A06E;ID # YI SYLLABLE BBU
-A06F;ID # YI SYLLABLE BBUP
-A070;ID # YI SYLLABLE BBURX
-A071;ID # YI SYLLABLE BBUR
-A072;ID # YI SYLLABLE BBYT
-A073;ID # YI SYLLABLE BBYX
-A074;ID # YI SYLLABLE BBY
-A075;ID # YI SYLLABLE BBYP
-A076;ID # YI SYLLABLE NBIT
-A077;ID # YI SYLLABLE NBIX
-A078;ID # YI SYLLABLE NBI
-A079;ID # YI SYLLABLE NBIP
-A07A;ID # YI SYLLABLE NBIEX
-A07B;ID # YI SYLLABLE NBIE
-A07C;ID # YI SYLLABLE NBIEP
-A07D;ID # YI SYLLABLE NBAT
-A07E;ID # YI SYLLABLE NBAX
-A07F;ID # YI SYLLABLE NBA
-A080;ID # YI SYLLABLE NBAP
-A081;ID # YI SYLLABLE NBOT
-A082;ID # YI SYLLABLE NBOX
-A083;ID # YI SYLLABLE NBO
-A084;ID # YI SYLLABLE NBOP
-A085;ID # YI SYLLABLE NBUT
-A086;ID # YI SYLLABLE NBUX
-A087;ID # YI SYLLABLE NBU
-A088;ID # YI SYLLABLE NBUP
-A089;ID # YI SYLLABLE NBURX
-A08A;ID # YI SYLLABLE NBUR
-A08B;ID # YI SYLLABLE NBYT
-A08C;ID # YI SYLLABLE NBYX
-A08D;ID # YI SYLLABLE NBY
-A08E;ID # YI SYLLABLE NBYP
-A08F;ID # YI SYLLABLE NBYRX
-A090;ID # YI SYLLABLE NBYR
-A091;ID # YI SYLLABLE HMIT
-A092;ID # YI SYLLABLE HMIX
-A093;ID # YI SYLLABLE HMI
-A094;ID # YI SYLLABLE HMIP
-A095;ID # YI SYLLABLE HMIEX
-A096;ID # YI SYLLABLE HMIE
-A097;ID # YI SYLLABLE HMIEP
-A098;ID # YI SYLLABLE HMAT
-A099;ID # YI SYLLABLE HMAX
-A09A;ID # YI SYLLABLE HMA
-A09B;ID # YI SYLLABLE HMAP
-A09C;ID # YI SYLLABLE HMUOX
-A09D;ID # YI SYLLABLE HMUO
-A09E;ID # YI SYLLABLE HMUOP
-A09F;ID # YI SYLLABLE HMOT
-A0A0;ID # YI SYLLABLE HMOX
-A0A1;ID # YI SYLLABLE HMO
-A0A2;ID # YI SYLLABLE HMOP
-A0A3;ID # YI SYLLABLE HMUT
-A0A4;ID # YI SYLLABLE HMUX
-A0A5;ID # YI SYLLABLE HMU
-A0A6;ID # YI SYLLABLE HMUP
-A0A7;ID # YI SYLLABLE HMURX
-A0A8;ID # YI SYLLABLE HMUR
-A0A9;ID # YI SYLLABLE HMYX
-A0AA;ID # YI SYLLABLE HMY
-A0AB;ID # YI SYLLABLE HMYP
-A0AC;ID # YI SYLLABLE HMYRX
-A0AD;ID # YI SYLLABLE HMYR
-A0AE;ID # YI SYLLABLE MIT
-A0AF;ID # YI SYLLABLE MIX
-A0B0;ID # YI SYLLABLE MI
-A0B1;ID # YI SYLLABLE MIP
-A0B2;ID # YI SYLLABLE MIEX
-A0B3;ID # YI SYLLABLE MIE
-A0B4;ID # YI SYLLABLE MIEP
-A0B5;ID # YI SYLLABLE MAT
-A0B6;ID # YI SYLLABLE MAX
-A0B7;ID # YI SYLLABLE MA
-A0B8;ID # YI SYLLABLE MAP
-A0B9;ID # YI SYLLABLE MUOT
-A0BA;ID # YI SYLLABLE MUOX
-A0BB;ID # YI SYLLABLE MUO
-A0BC;ID # YI SYLLABLE MUOP
-A0BD;ID # YI SYLLABLE MOT
-A0BE;ID # YI SYLLABLE MOX
-A0BF;ID # YI SYLLABLE MO
-A0C0;ID # YI SYLLABLE MOP
-A0C1;ID # YI SYLLABLE MEX
-A0C2;ID # YI SYLLABLE ME
-A0C3;ID # YI SYLLABLE MUT
-A0C4;ID # YI SYLLABLE MUX
-A0C5;ID # YI SYLLABLE MU
-A0C6;ID # YI SYLLABLE MUP
-A0C7;ID # YI SYLLABLE MURX
-A0C8;ID # YI SYLLABLE MUR
-A0C9;ID # YI SYLLABLE MYT
-A0CA;ID # YI SYLLABLE MYX
-A0CB;ID # YI SYLLABLE MY
-A0CC;ID # YI SYLLABLE MYP
-A0CD;ID # YI SYLLABLE FIT
-A0CE;ID # YI SYLLABLE FIX
-A0CF;ID # YI SYLLABLE FI
-A0D0;ID # YI SYLLABLE FIP
-A0D1;ID # YI SYLLABLE FAT
-A0D2;ID # YI SYLLABLE FAX
-A0D3;ID # YI SYLLABLE FA
-A0D4;ID # YI SYLLABLE FAP
-A0D5;ID # YI SYLLABLE FOX
-A0D6;ID # YI SYLLABLE FO
-A0D7;ID # YI SYLLABLE FOP
-A0D8;ID # YI SYLLABLE FUT
-A0D9;ID # YI SYLLABLE FUX
-A0DA;ID # YI SYLLABLE FU
-A0DB;ID # YI SYLLABLE FUP
-A0DC;ID # YI SYLLABLE FURX
-A0DD;ID # YI SYLLABLE FUR
-A0DE;ID # YI SYLLABLE FYT
-A0DF;ID # YI SYLLABLE FYX
-A0E0;ID # YI SYLLABLE FY
-A0E1;ID # YI SYLLABLE FYP
-A0E2;ID # YI SYLLABLE VIT
-A0E3;ID # YI SYLLABLE VIX
-A0E4;ID # YI SYLLABLE VI
-A0E5;ID # YI SYLLABLE VIP
-A0E6;ID # YI SYLLABLE VIET
-A0E7;ID # YI SYLLABLE VIEX
-A0E8;ID # YI SYLLABLE VIE
-A0E9;ID # YI SYLLABLE VIEP
-A0EA;ID # YI SYLLABLE VAT
-A0EB;ID # YI SYLLABLE VAX
-A0EC;ID # YI SYLLABLE VA
-A0ED;ID # YI SYLLABLE VAP
-A0EE;ID # YI SYLLABLE VOT
-A0EF;ID # YI SYLLABLE VOX
-A0F0;ID # YI SYLLABLE VO
-A0F1;ID # YI SYLLABLE VOP
-A0F2;ID # YI SYLLABLE VEX
-A0F3;ID # YI SYLLABLE VEP
-A0F4;ID # YI SYLLABLE VUT
-A0F5;ID # YI SYLLABLE VUX
-A0F6;ID # YI SYLLABLE VU
-A0F7;ID # YI SYLLABLE VUP
-A0F8;ID # YI SYLLABLE VURX
-A0F9;ID # YI SYLLABLE VUR
-A0FA;ID # YI SYLLABLE VYT
-A0FB;ID # YI SYLLABLE VYX
-A0FC;ID # YI SYLLABLE VY
-A0FD;ID # YI SYLLABLE VYP
-A0FE;ID # YI SYLLABLE VYRX
-A0FF;ID # YI SYLLABLE VYR
-A100;ID # YI SYLLABLE DIT
-A101;ID # YI SYLLABLE DIX
-A102;ID # YI SYLLABLE DI
-A103;ID # YI SYLLABLE DIP
-A104;ID # YI SYLLABLE DIEX
-A105;ID # YI SYLLABLE DIE
-A106;ID # YI SYLLABLE DIEP
-A107;ID # YI SYLLABLE DAT
-A108;ID # YI SYLLABLE DAX
-A109;ID # YI SYLLABLE DA
-A10A;ID # YI SYLLABLE DAP
-A10B;ID # YI SYLLABLE DUOX
-A10C;ID # YI SYLLABLE DUO
-A10D;ID # YI SYLLABLE DOT
-A10E;ID # YI SYLLABLE DOX
-A10F;ID # YI SYLLABLE DO
-A110;ID # YI SYLLABLE DOP
-A111;ID # YI SYLLABLE DEX
-A112;ID # YI SYLLABLE DE
-A113;ID # YI SYLLABLE DEP
-A114;ID # YI SYLLABLE DUT
-A115;ID # YI SYLLABLE DUX
-A116;ID # YI SYLLABLE DU
-A117;ID # YI SYLLABLE DUP
-A118;ID # YI SYLLABLE DURX
-A119;ID # YI SYLLABLE DUR
-A11A;ID # YI SYLLABLE TIT
-A11B;ID # YI SYLLABLE TIX
-A11C;ID # YI SYLLABLE TI
-A11D;ID # YI SYLLABLE TIP
-A11E;ID # YI SYLLABLE TIEX
-A11F;ID # YI SYLLABLE TIE
-A120;ID # YI SYLLABLE TIEP
-A121;ID # YI SYLLABLE TAT
-A122;ID # YI SYLLABLE TAX
-A123;ID # YI SYLLABLE TA
-A124;ID # YI SYLLABLE TAP
-A125;ID # YI SYLLABLE TUOT
-A126;ID # YI SYLLABLE TUOX
-A127;ID # YI SYLLABLE TUO
-A128;ID # YI SYLLABLE TUOP
-A129;ID # YI SYLLABLE TOT
-A12A;ID # YI SYLLABLE TOX
-A12B;ID # YI SYLLABLE TO
-A12C;ID # YI SYLLABLE TOP
-A12D;ID # YI SYLLABLE TEX
-A12E;ID # YI SYLLABLE TE
-A12F;ID # YI SYLLABLE TEP
-A130;ID # YI SYLLABLE TUT
-A131;ID # YI SYLLABLE TUX
-A132;ID # YI SYLLABLE TU
-A133;ID # YI SYLLABLE TUP
-A134;ID # YI SYLLABLE TURX
-A135;ID # YI SYLLABLE TUR
-A136;ID # YI SYLLABLE DDIT
-A137;ID # YI SYLLABLE DDIX
-A138;ID # YI SYLLABLE DDI
-A139;ID # YI SYLLABLE DDIP
-A13A;ID # YI SYLLABLE DDIEX
-A13B;ID # YI SYLLABLE DDIE
-A13C;ID # YI SYLLABLE DDIEP
-A13D;ID # YI SYLLABLE DDAT
-A13E;ID # YI SYLLABLE DDAX
-A13F;ID # YI SYLLABLE DDA
-A140;ID # YI SYLLABLE DDAP
-A141;ID # YI SYLLABLE DDUOX
-A142;ID # YI SYLLABLE DDUO
-A143;ID # YI SYLLABLE DDUOP
-A144;ID # YI SYLLABLE DDOT
-A145;ID # YI SYLLABLE DDOX
-A146;ID # YI SYLLABLE DDO
-A147;ID # YI SYLLABLE DDOP
-A148;ID # YI SYLLABLE DDEX
-A149;ID # YI SYLLABLE DDE
-A14A;ID # YI SYLLABLE DDEP
-A14B;ID # YI SYLLABLE DDUT
-A14C;ID # YI SYLLABLE DDUX
-A14D;ID # YI SYLLABLE DDU
-A14E;ID # YI SYLLABLE DDUP
-A14F;ID # YI SYLLABLE DDURX
-A150;ID # YI SYLLABLE DDUR
-A151;ID # YI SYLLABLE NDIT
-A152;ID # YI SYLLABLE NDIX
-A153;ID # YI SYLLABLE NDI
-A154;ID # YI SYLLABLE NDIP
-A155;ID # YI SYLLABLE NDIEX
-A156;ID # YI SYLLABLE NDIE
-A157;ID # YI SYLLABLE NDAT
-A158;ID # YI SYLLABLE NDAX
-A159;ID # YI SYLLABLE NDA
-A15A;ID # YI SYLLABLE NDAP
-A15B;ID # YI SYLLABLE NDOT
-A15C;ID # YI SYLLABLE NDOX
-A15D;ID # YI SYLLABLE NDO
-A15E;ID # YI SYLLABLE NDOP
-A15F;ID # YI SYLLABLE NDEX
-A160;ID # YI SYLLABLE NDE
-A161;ID # YI SYLLABLE NDEP
-A162;ID # YI SYLLABLE NDUT
-A163;ID # YI SYLLABLE NDUX
-A164;ID # YI SYLLABLE NDU
-A165;ID # YI SYLLABLE NDUP
-A166;ID # YI SYLLABLE NDURX
-A167;ID # YI SYLLABLE NDUR
-A168;ID # YI SYLLABLE HNIT
-A169;ID # YI SYLLABLE HNIX
-A16A;ID # YI SYLLABLE HNI
-A16B;ID # YI SYLLABLE HNIP
-A16C;ID # YI SYLLABLE HNIET
-A16D;ID # YI SYLLABLE HNIEX
-A16E;ID # YI SYLLABLE HNIE
-A16F;ID # YI SYLLABLE HNIEP
-A170;ID # YI SYLLABLE HNAT
-A171;ID # YI SYLLABLE HNAX
-A172;ID # YI SYLLABLE HNA
-A173;ID # YI SYLLABLE HNAP
-A174;ID # YI SYLLABLE HNUOX
-A175;ID # YI SYLLABLE HNUO
-A176;ID # YI SYLLABLE HNOT
-A177;ID # YI SYLLABLE HNOX
-A178;ID # YI SYLLABLE HNOP
-A179;ID # YI SYLLABLE HNEX
-A17A;ID # YI SYLLABLE HNE
-A17B;ID # YI SYLLABLE HNEP
-A17C;ID # YI SYLLABLE HNUT
-A17D;ID # YI SYLLABLE NIT
-A17E;ID # YI SYLLABLE NIX
-A17F;ID # YI SYLLABLE NI
-A180;ID # YI SYLLABLE NIP
-A181;ID # YI SYLLABLE NIEX
-A182;ID # YI SYLLABLE NIE
-A183;ID # YI SYLLABLE NIEP
-A184;ID # YI SYLLABLE NAX
-A185;ID # YI SYLLABLE NA
-A186;ID # YI SYLLABLE NAP
-A187;ID # YI SYLLABLE NUOX
-A188;ID # YI SYLLABLE NUO
-A189;ID # YI SYLLABLE NUOP
-A18A;ID # YI SYLLABLE NOT
-A18B;ID # YI SYLLABLE NOX
-A18C;ID # YI SYLLABLE NO
-A18D;ID # YI SYLLABLE NOP
-A18E;ID # YI SYLLABLE NEX
-A18F;ID # YI SYLLABLE NE
-A190;ID # YI SYLLABLE NEP
-A191;ID # YI SYLLABLE NUT
-A192;ID # YI SYLLABLE NUX
-A193;ID # YI SYLLABLE NU
-A194;ID # YI SYLLABLE NUP
-A195;ID # YI SYLLABLE NURX
-A196;ID # YI SYLLABLE NUR
-A197;ID # YI SYLLABLE HLIT
-A198;ID # YI SYLLABLE HLIX
-A199;ID # YI SYLLABLE HLI
-A19A;ID # YI SYLLABLE HLIP
-A19B;ID # YI SYLLABLE HLIEX
-A19C;ID # YI SYLLABLE HLIE
-A19D;ID # YI SYLLABLE HLIEP
-A19E;ID # YI SYLLABLE HLAT
-A19F;ID # YI SYLLABLE HLAX
-A1A0;ID # YI SYLLABLE HLA
-A1A1;ID # YI SYLLABLE HLAP
-A1A2;ID # YI SYLLABLE HLUOX
-A1A3;ID # YI SYLLABLE HLUO
-A1A4;ID # YI SYLLABLE HLUOP
-A1A5;ID # YI SYLLABLE HLOX
-A1A6;ID # YI SYLLABLE HLO
-A1A7;ID # YI SYLLABLE HLOP
-A1A8;ID # YI SYLLABLE HLEX
-A1A9;ID # YI SYLLABLE HLE
-A1AA;ID # YI SYLLABLE HLEP
-A1AB;ID # YI SYLLABLE HLUT
-A1AC;ID # YI SYLLABLE HLUX
-A1AD;ID # YI SYLLABLE HLU
-A1AE;ID # YI SYLLABLE HLUP
-A1AF;ID # YI SYLLABLE HLURX
-A1B0;ID # YI SYLLABLE HLUR
-A1B1;ID # YI SYLLABLE HLYT
-A1B2;ID # YI SYLLABLE HLYX
-A1B3;ID # YI SYLLABLE HLY
-A1B4;ID # YI SYLLABLE HLYP
-A1B5;ID # YI SYLLABLE HLYRX
-A1B6;ID # YI SYLLABLE HLYR
-A1B7;ID # YI SYLLABLE LIT
-A1B8;ID # YI SYLLABLE LIX
-A1B9;ID # YI SYLLABLE LI
-A1BA;ID # YI SYLLABLE LIP
-A1BB;ID # YI SYLLABLE LIET
-A1BC;ID # YI SYLLABLE LIEX
-A1BD;ID # YI SYLLABLE LIE
-A1BE;ID # YI SYLLABLE LIEP
-A1BF;ID # YI SYLLABLE LAT
-A1C0;ID # YI SYLLABLE LAX
-A1C1;ID # YI SYLLABLE LA
-A1C2;ID # YI SYLLABLE LAP
-A1C3;ID # YI SYLLABLE LUOT
-A1C4;ID # YI SYLLABLE LUOX
-A1C5;ID # YI SYLLABLE LUO
-A1C6;ID # YI SYLLABLE LUOP
-A1C7;ID # YI SYLLABLE LOT
-A1C8;ID # YI SYLLABLE LOX
-A1C9;ID # YI SYLLABLE LO
-A1CA;ID # YI SYLLABLE LOP
-A1CB;ID # YI SYLLABLE LEX
-A1CC;ID # YI SYLLABLE LE
-A1CD;ID # YI SYLLABLE LEP
-A1CE;ID # YI SYLLABLE LUT
-A1CF;ID # YI SYLLABLE LUX
-A1D0;ID # YI SYLLABLE LU
-A1D1;ID # YI SYLLABLE LUP
-A1D2;ID # YI SYLLABLE LURX
-A1D3;ID # YI SYLLABLE LUR
-A1D4;ID # YI SYLLABLE LYT
-A1D5;ID # YI SYLLABLE LYX
-A1D6;ID # YI SYLLABLE LY
-A1D7;ID # YI SYLLABLE LYP
-A1D8;ID # YI SYLLABLE LYRX
-A1D9;ID # YI SYLLABLE LYR
-A1DA;ID # YI SYLLABLE GIT
-A1DB;ID # YI SYLLABLE GIX
-A1DC;ID # YI SYLLABLE GI
-A1DD;ID # YI SYLLABLE GIP
-A1DE;ID # YI SYLLABLE GIET
-A1DF;ID # YI SYLLABLE GIEX
-A1E0;ID # YI SYLLABLE GIE
-A1E1;ID # YI SYLLABLE GIEP
-A1E2;ID # YI SYLLABLE GAT
-A1E3;ID # YI SYLLABLE GAX
-A1E4;ID # YI SYLLABLE GA
-A1E5;ID # YI SYLLABLE GAP
-A1E6;ID # YI SYLLABLE GUOT
-A1E7;ID # YI SYLLABLE GUOX
-A1E8;ID # YI SYLLABLE GUO
-A1E9;ID # YI SYLLABLE GUOP
-A1EA;ID # YI SYLLABLE GOT
-A1EB;ID # YI SYLLABLE GOX
-A1EC;ID # YI SYLLABLE GO
-A1ED;ID # YI SYLLABLE GOP
-A1EE;ID # YI SYLLABLE GET
-A1EF;ID # YI SYLLABLE GEX
-A1F0;ID # YI SYLLABLE GE
-A1F1;ID # YI SYLLABLE GEP
-A1F2;ID # YI SYLLABLE GUT
-A1F3;ID # YI SYLLABLE GUX
-A1F4;ID # YI SYLLABLE GU
-A1F5;ID # YI SYLLABLE GUP
-A1F6;ID # YI SYLLABLE GURX
-A1F7;ID # YI SYLLABLE GUR
-A1F8;ID # YI SYLLABLE KIT
-A1F9;ID # YI SYLLABLE KIX
-A1FA;ID # YI SYLLABLE KI
-A1FB;ID # YI SYLLABLE KIP
-A1FC;ID # YI SYLLABLE KIEX
-A1FD;ID # YI SYLLABLE KIE
-A1FE;ID # YI SYLLABLE KIEP
-A1FF;ID # YI SYLLABLE KAT
-A200;ID # YI SYLLABLE KAX
-A201;ID # YI SYLLABLE KA
-A202;ID # YI SYLLABLE KAP
-A203;ID # YI SYLLABLE KUOX
-A204;ID # YI SYLLABLE KUO
-A205;ID # YI SYLLABLE KUOP
-A206;ID # YI SYLLABLE KOT
-A207;ID # YI SYLLABLE KOX
-A208;ID # YI SYLLABLE KO
-A209;ID # YI SYLLABLE KOP
-A20A;ID # YI SYLLABLE KET
-A20B;ID # YI SYLLABLE KEX
-A20C;ID # YI SYLLABLE KE
-A20D;ID # YI SYLLABLE KEP
-A20E;ID # YI SYLLABLE KUT
-A20F;ID # YI SYLLABLE KUX
-A210;ID # YI SYLLABLE KU
-A211;ID # YI SYLLABLE KUP
-A212;ID # YI SYLLABLE KURX
-A213;ID # YI SYLLABLE KUR
-A214;ID # YI SYLLABLE GGIT
-A215;ID # YI SYLLABLE GGIX
-A216;ID # YI SYLLABLE GGI
-A217;ID # YI SYLLABLE GGIEX
-A218;ID # YI SYLLABLE GGIE
-A219;ID # YI SYLLABLE GGIEP
-A21A;ID # YI SYLLABLE GGAT
-A21B;ID # YI SYLLABLE GGAX
-A21C;ID # YI SYLLABLE GGA
-A21D;ID # YI SYLLABLE GGAP
-A21E;ID # YI SYLLABLE GGUOT
-A21F;ID # YI SYLLABLE GGUOX
-A220;ID # YI SYLLABLE GGUO
-A221;ID # YI SYLLABLE GGUOP
-A222;ID # YI SYLLABLE GGOT
-A223;ID # YI SYLLABLE GGOX
-A224;ID # YI SYLLABLE GGO
-A225;ID # YI SYLLABLE GGOP
-A226;ID # YI SYLLABLE GGET
-A227;ID # YI SYLLABLE GGEX
-A228;ID # YI SYLLABLE GGE
-A229;ID # YI SYLLABLE GGEP
-A22A;ID # YI SYLLABLE GGUT
-A22B;ID # YI SYLLABLE GGUX
-A22C;ID # YI SYLLABLE GGU
-A22D;ID # YI SYLLABLE GGUP
-A22E;ID # YI SYLLABLE GGURX
-A22F;ID # YI SYLLABLE GGUR
-A230;ID # YI SYLLABLE MGIEX
-A231;ID # YI SYLLABLE MGIE
-A232;ID # YI SYLLABLE MGAT
-A233;ID # YI SYLLABLE MGAX
-A234;ID # YI SYLLABLE MGA
-A235;ID # YI SYLLABLE MGAP
-A236;ID # YI SYLLABLE MGUOX
-A237;ID # YI SYLLABLE MGUO
-A238;ID # YI SYLLABLE MGUOP
-A239;ID # YI SYLLABLE MGOT
-A23A;ID # YI SYLLABLE MGOX
-A23B;ID # YI SYLLABLE MGO
-A23C;ID # YI SYLLABLE MGOP
-A23D;ID # YI SYLLABLE MGEX
-A23E;ID # YI SYLLABLE MGE
-A23F;ID # YI SYLLABLE MGEP
-A240;ID # YI SYLLABLE MGUT
-A241;ID # YI SYLLABLE MGUX
-A242;ID # YI SYLLABLE MGU
-A243;ID # YI SYLLABLE MGUP
-A244;ID # YI SYLLABLE MGURX
-A245;ID # YI SYLLABLE MGUR
-A246;ID # YI SYLLABLE HXIT
-A247;ID # YI SYLLABLE HXIX
-A248;ID # YI SYLLABLE HXI
-A249;ID # YI SYLLABLE HXIP
-A24A;ID # YI SYLLABLE HXIET
-A24B;ID # YI SYLLABLE HXIEX
-A24C;ID # YI SYLLABLE HXIE
-A24D;ID # YI SYLLABLE HXIEP
-A24E;ID # YI SYLLABLE HXAT
-A24F;ID # YI SYLLABLE HXAX
-A250;ID # YI SYLLABLE HXA
-A251;ID # YI SYLLABLE HXAP
-A252;ID # YI SYLLABLE HXUOT
-A253;ID # YI SYLLABLE HXUOX
-A254;ID # YI SYLLABLE HXUO
-A255;ID # YI SYLLABLE HXUOP
-A256;ID # YI SYLLABLE HXOT
-A257;ID # YI SYLLABLE HXOX
-A258;ID # YI SYLLABLE HXO
-A259;ID # YI SYLLABLE HXOP
-A25A;ID # YI SYLLABLE HXEX
-A25B;ID # YI SYLLABLE HXE
-A25C;ID # YI SYLLABLE HXEP
-A25D;ID # YI SYLLABLE NGIEX
-A25E;ID # YI SYLLABLE NGIE
-A25F;ID # YI SYLLABLE NGIEP
-A260;ID # YI SYLLABLE NGAT
-A261;ID # YI SYLLABLE NGAX
-A262;ID # YI SYLLABLE NGA
-A263;ID # YI SYLLABLE NGAP
-A264;ID # YI SYLLABLE NGUOT
-A265;ID # YI SYLLABLE NGUOX
-A266;ID # YI SYLLABLE NGUO
-A267;ID # YI SYLLABLE NGOT
-A268;ID # YI SYLLABLE NGOX
-A269;ID # YI SYLLABLE NGO
-A26A;ID # YI SYLLABLE NGOP
-A26B;ID # YI SYLLABLE NGEX
-A26C;ID # YI SYLLABLE NGE
-A26D;ID # YI SYLLABLE NGEP
-A26E;ID # YI SYLLABLE HIT
-A26F;ID # YI SYLLABLE HIEX
-A270;ID # YI SYLLABLE HIE
-A271;ID # YI SYLLABLE HAT
-A272;ID # YI SYLLABLE HAX
-A273;ID # YI SYLLABLE HA
-A274;ID # YI SYLLABLE HAP
-A275;ID # YI SYLLABLE HUOT
-A276;ID # YI SYLLABLE HUOX
-A277;ID # YI SYLLABLE HUO
-A278;ID # YI SYLLABLE HUOP
-A279;ID # YI SYLLABLE HOT
-A27A;ID # YI SYLLABLE HOX
-A27B;ID # YI SYLLABLE HO
-A27C;ID # YI SYLLABLE HOP
-A27D;ID # YI SYLLABLE HEX
-A27E;ID # YI SYLLABLE HE
-A27F;ID # YI SYLLABLE HEP
-A280;ID # YI SYLLABLE WAT
-A281;ID # YI SYLLABLE WAX
-A282;ID # YI SYLLABLE WA
-A283;ID # YI SYLLABLE WAP
-A284;ID # YI SYLLABLE WUOX
-A285;ID # YI SYLLABLE WUO
-A286;ID # YI SYLLABLE WUOP
-A287;ID # YI SYLLABLE WOX
-A288;ID # YI SYLLABLE WO
-A289;ID # YI SYLLABLE WOP
-A28A;ID # YI SYLLABLE WEX
-A28B;ID # YI SYLLABLE WE
-A28C;ID # YI SYLLABLE WEP
-A28D;ID # YI SYLLABLE ZIT
-A28E;ID # YI SYLLABLE ZIX
-A28F;ID # YI SYLLABLE ZI
-A290;ID # YI SYLLABLE ZIP
-A291;ID # YI SYLLABLE ZIEX
-A292;ID # YI SYLLABLE ZIE
-A293;ID # YI SYLLABLE ZIEP
-A294;ID # YI SYLLABLE ZAT
-A295;ID # YI SYLLABLE ZAX
-A296;ID # YI SYLLABLE ZA
-A297;ID # YI SYLLABLE ZAP
-A298;ID # YI SYLLABLE ZUOX
-A299;ID # YI SYLLABLE ZUO
-A29A;ID # YI SYLLABLE ZUOP
-A29B;ID # YI SYLLABLE ZOT
-A29C;ID # YI SYLLABLE ZOX
-A29D;ID # YI SYLLABLE ZO
-A29E;ID # YI SYLLABLE ZOP
-A29F;ID # YI SYLLABLE ZEX
-A2A0;ID # YI SYLLABLE ZE
-A2A1;ID # YI SYLLABLE ZEP
-A2A2;ID # YI SYLLABLE ZUT
-A2A3;ID # YI SYLLABLE ZUX
-A2A4;ID # YI SYLLABLE ZU
-A2A5;ID # YI SYLLABLE ZUP
-A2A6;ID # YI SYLLABLE ZURX
-A2A7;ID # YI SYLLABLE ZUR
-A2A8;ID # YI SYLLABLE ZYT
-A2A9;ID # YI SYLLABLE ZYX
-A2AA;ID # YI SYLLABLE ZY
-A2AB;ID # YI SYLLABLE ZYP
-A2AC;ID # YI SYLLABLE ZYRX
-A2AD;ID # YI SYLLABLE ZYR
-A2AE;ID # YI SYLLABLE CIT
-A2AF;ID # YI SYLLABLE CIX
-A2B0;ID # YI SYLLABLE CI
-A2B1;ID # YI SYLLABLE CIP
-A2B2;ID # YI SYLLABLE CIET
-A2B3;ID # YI SYLLABLE CIEX
-A2B4;ID # YI SYLLABLE CIE
-A2B5;ID # YI SYLLABLE CIEP
-A2B6;ID # YI SYLLABLE CAT
-A2B7;ID # YI SYLLABLE CAX
-A2B8;ID # YI SYLLABLE CA
-A2B9;ID # YI SYLLABLE CAP
-A2BA;ID # YI SYLLABLE CUOX
-A2BB;ID # YI SYLLABLE CUO
-A2BC;ID # YI SYLLABLE CUOP
-A2BD;ID # YI SYLLABLE COT
-A2BE;ID # YI SYLLABLE COX
-A2BF;ID # YI SYLLABLE CO
-A2C0;ID # YI SYLLABLE COP
-A2C1;ID # YI SYLLABLE CEX
-A2C2;ID # YI SYLLABLE CE
-A2C3;ID # YI SYLLABLE CEP
-A2C4;ID # YI SYLLABLE CUT
-A2C5;ID # YI SYLLABLE CUX
-A2C6;ID # YI SYLLABLE CU
-A2C7;ID # YI SYLLABLE CUP
-A2C8;ID # YI SYLLABLE CURX
-A2C9;ID # YI SYLLABLE CUR
-A2CA;ID # YI SYLLABLE CYT
-A2CB;ID # YI SYLLABLE CYX
-A2CC;ID # YI SYLLABLE CY
-A2CD;ID # YI SYLLABLE CYP
-A2CE;ID # YI SYLLABLE CYRX
-A2CF;ID # YI SYLLABLE CYR
-A2D0;ID # YI SYLLABLE ZZIT
-A2D1;ID # YI SYLLABLE ZZIX
-A2D2;ID # YI SYLLABLE ZZI
-A2D3;ID # YI SYLLABLE ZZIP
-A2D4;ID # YI SYLLABLE ZZIET
-A2D5;ID # YI SYLLABLE ZZIEX
-A2D6;ID # YI SYLLABLE ZZIE
-A2D7;ID # YI SYLLABLE ZZIEP
-A2D8;ID # YI SYLLABLE ZZAT
-A2D9;ID # YI SYLLABLE ZZAX
-A2DA;ID # YI SYLLABLE ZZA
-A2DB;ID # YI SYLLABLE ZZAP
-A2DC;ID # YI SYLLABLE ZZOX
-A2DD;ID # YI SYLLABLE ZZO
-A2DE;ID # YI SYLLABLE ZZOP
-A2DF;ID # YI SYLLABLE ZZEX
-A2E0;ID # YI SYLLABLE ZZE
-A2E1;ID # YI SYLLABLE ZZEP
-A2E2;ID # YI SYLLABLE ZZUX
-A2E3;ID # YI SYLLABLE ZZU
-A2E4;ID # YI SYLLABLE ZZUP
-A2E5;ID # YI SYLLABLE ZZURX
-A2E6;ID # YI SYLLABLE ZZUR
-A2E7;ID # YI SYLLABLE ZZYT
-A2E8;ID # YI SYLLABLE ZZYX
-A2E9;ID # YI SYLLABLE ZZY
-A2EA;ID # YI SYLLABLE ZZYP
-A2EB;ID # YI SYLLABLE ZZYRX
-A2EC;ID # YI SYLLABLE ZZYR
-A2ED;ID # YI SYLLABLE NZIT
-A2EE;ID # YI SYLLABLE NZIX
-A2EF;ID # YI SYLLABLE NZI
-A2F0;ID # YI SYLLABLE NZIP
-A2F1;ID # YI SYLLABLE NZIEX
-A2F2;ID # YI SYLLABLE NZIE
-A2F3;ID # YI SYLLABLE NZIEP
-A2F4;ID # YI SYLLABLE NZAT
-A2F5;ID # YI SYLLABLE NZAX
-A2F6;ID # YI SYLLABLE NZA
-A2F7;ID # YI SYLLABLE NZAP
-A2F8;ID # YI SYLLABLE NZUOX
-A2F9;ID # YI SYLLABLE NZUO
-A2FA;ID # YI SYLLABLE NZOX
-A2FB;ID # YI SYLLABLE NZOP
-A2FC;ID # YI SYLLABLE NZEX
-A2FD;ID # YI SYLLABLE NZE
-A2FE;ID # YI SYLLABLE NZUX
-A2FF;ID # YI SYLLABLE NZU
-A300;ID # YI SYLLABLE NZUP
-A301;ID # YI SYLLABLE NZURX
-A302;ID # YI SYLLABLE NZUR
-A303;ID # YI SYLLABLE NZYT
-A304;ID # YI SYLLABLE NZYX
-A305;ID # YI SYLLABLE NZY
-A306;ID # YI SYLLABLE NZYP
-A307;ID # YI SYLLABLE NZYRX
-A308;ID # YI SYLLABLE NZYR
-A309;ID # YI SYLLABLE SIT
-A30A;ID # YI SYLLABLE SIX
-A30B;ID # YI SYLLABLE SI
-A30C;ID # YI SYLLABLE SIP
-A30D;ID # YI SYLLABLE SIEX
-A30E;ID # YI SYLLABLE SIE
-A30F;ID # YI SYLLABLE SIEP
-A310;ID # YI SYLLABLE SAT
-A311;ID # YI SYLLABLE SAX
-A312;ID # YI SYLLABLE SA
-A313;ID # YI SYLLABLE SAP
-A314;ID # YI SYLLABLE SUOX
-A315;ID # YI SYLLABLE SUO
-A316;ID # YI SYLLABLE SUOP
-A317;ID # YI SYLLABLE SOT
-A318;ID # YI SYLLABLE SOX
-A319;ID # YI SYLLABLE SO
-A31A;ID # YI SYLLABLE SOP
-A31B;ID # YI SYLLABLE SEX
-A31C;ID # YI SYLLABLE SE
-A31D;ID # YI SYLLABLE SEP
-A31E;ID # YI SYLLABLE SUT
-A31F;ID # YI SYLLABLE SUX
-A320;ID # YI SYLLABLE SU
-A321;ID # YI SYLLABLE SUP
-A322;ID # YI SYLLABLE SURX
-A323;ID # YI SYLLABLE SUR
-A324;ID # YI SYLLABLE SYT
-A325;ID # YI SYLLABLE SYX
-A326;ID # YI SYLLABLE SY
-A327;ID # YI SYLLABLE SYP
-A328;ID # YI SYLLABLE SYRX
-A329;ID # YI SYLLABLE SYR
-A32A;ID # YI SYLLABLE SSIT
-A32B;ID # YI SYLLABLE SSIX
-A32C;ID # YI SYLLABLE SSI
-A32D;ID # YI SYLLABLE SSIP
-A32E;ID # YI SYLLABLE SSIEX
-A32F;ID # YI SYLLABLE SSIE
-A330;ID # YI SYLLABLE SSIEP
-A331;ID # YI SYLLABLE SSAT
-A332;ID # YI SYLLABLE SSAX
-A333;ID # YI SYLLABLE SSA
-A334;ID # YI SYLLABLE SSAP
-A335;ID # YI SYLLABLE SSOT
-A336;ID # YI SYLLABLE SSOX
-A337;ID # YI SYLLABLE SSO
-A338;ID # YI SYLLABLE SSOP
-A339;ID # YI SYLLABLE SSEX
-A33A;ID # YI SYLLABLE SSE
-A33B;ID # YI SYLLABLE SSEP
-A33C;ID # YI SYLLABLE SSUT
-A33D;ID # YI SYLLABLE SSUX
-A33E;ID # YI SYLLABLE SSU
-A33F;ID # YI SYLLABLE SSUP
-A340;ID # YI SYLLABLE SSYT
-A341;ID # YI SYLLABLE SSYX
-A342;ID # YI SYLLABLE SSY
-A343;ID # YI SYLLABLE SSYP
-A344;ID # YI SYLLABLE SSYRX
-A345;ID # YI SYLLABLE SSYR
-A346;ID # YI SYLLABLE ZHAT
-A347;ID # YI SYLLABLE ZHAX
-A348;ID # YI SYLLABLE ZHA
-A349;ID # YI SYLLABLE ZHAP
-A34A;ID # YI SYLLABLE ZHUOX
-A34B;ID # YI SYLLABLE ZHUO
-A34C;ID # YI SYLLABLE ZHUOP
-A34D;ID # YI SYLLABLE ZHOT
-A34E;ID # YI SYLLABLE ZHOX
-A34F;ID # YI SYLLABLE ZHO
-A350;ID # YI SYLLABLE ZHOP
-A351;ID # YI SYLLABLE ZHET
-A352;ID # YI SYLLABLE ZHEX
-A353;ID # YI SYLLABLE ZHE
-A354;ID # YI SYLLABLE ZHEP
-A355;ID # YI SYLLABLE ZHUT
-A356;ID # YI SYLLABLE ZHUX
-A357;ID # YI SYLLABLE ZHU
-A358;ID # YI SYLLABLE ZHUP
-A359;ID # YI SYLLABLE ZHURX
-A35A;ID # YI SYLLABLE ZHUR
-A35B;ID # YI SYLLABLE ZHYT
-A35C;ID # YI SYLLABLE ZHYX
-A35D;ID # YI SYLLABLE ZHY
-A35E;ID # YI SYLLABLE ZHYP
-A35F;ID # YI SYLLABLE ZHYRX
-A360;ID # YI SYLLABLE ZHYR
-A361;ID # YI SYLLABLE CHAT
-A362;ID # YI SYLLABLE CHAX
-A363;ID # YI SYLLABLE CHA
-A364;ID # YI SYLLABLE CHAP
-A365;ID # YI SYLLABLE CHUOT
-A366;ID # YI SYLLABLE CHUOX
-A367;ID # YI SYLLABLE CHUO
-A368;ID # YI SYLLABLE CHUOP
-A369;ID # YI SYLLABLE CHOT
-A36A;ID # YI SYLLABLE CHOX
-A36B;ID # YI SYLLABLE CHO
-A36C;ID # YI SYLLABLE CHOP
-A36D;ID # YI SYLLABLE CHET
-A36E;ID # YI SYLLABLE CHEX
-A36F;ID # YI SYLLABLE CHE
-A370;ID # YI SYLLABLE CHEP
-A371;ID # YI SYLLABLE CHUX
-A372;ID # YI SYLLABLE CHU
-A373;ID # YI SYLLABLE CHUP
-A374;ID # YI SYLLABLE CHURX
-A375;ID # YI SYLLABLE CHUR
-A376;ID # YI SYLLABLE CHYT
-A377;ID # YI SYLLABLE CHYX
-A378;ID # YI SYLLABLE CHY
-A379;ID # YI SYLLABLE CHYP
-A37A;ID # YI SYLLABLE CHYRX
-A37B;ID # YI SYLLABLE CHYR
-A37C;ID # YI SYLLABLE RRAX
-A37D;ID # YI SYLLABLE RRA
-A37E;ID # YI SYLLABLE RRUOX
-A37F;ID # YI SYLLABLE RRUO
-A380;ID # YI SYLLABLE RROT
-A381;ID # YI SYLLABLE RROX
-A382;ID # YI SYLLABLE RRO
-A383;ID # YI SYLLABLE RROP
-A384;ID # YI SYLLABLE RRET
-A385;ID # YI SYLLABLE RREX
-A386;ID # YI SYLLABLE RRE
-A387;ID # YI SYLLABLE RREP
-A388;ID # YI SYLLABLE RRUT
-A389;ID # YI SYLLABLE RRUX
-A38A;ID # YI SYLLABLE RRU
-A38B;ID # YI SYLLABLE RRUP
-A38C;ID # YI SYLLABLE RRURX
-A38D;ID # YI SYLLABLE RRUR
-A38E;ID # YI SYLLABLE RRYT
-A38F;ID # YI SYLLABLE RRYX
-A390;ID # YI SYLLABLE RRY
-A391;ID # YI SYLLABLE RRYP
-A392;ID # YI SYLLABLE RRYRX
-A393;ID # YI SYLLABLE RRYR
-A394;ID # YI SYLLABLE NRAT
-A395;ID # YI SYLLABLE NRAX
-A396;ID # YI SYLLABLE NRA
-A397;ID # YI SYLLABLE NRAP
-A398;ID # YI SYLLABLE NROX
-A399;ID # YI SYLLABLE NRO
-A39A;ID # YI SYLLABLE NROP
-A39B;ID # YI SYLLABLE NRET
-A39C;ID # YI SYLLABLE NREX
-A39D;ID # YI SYLLABLE NRE
-A39E;ID # YI SYLLABLE NREP
-A39F;ID # YI SYLLABLE NRUT
-A3A0;ID # YI SYLLABLE NRUX
-A3A1;ID # YI SYLLABLE NRU
-A3A2;ID # YI SYLLABLE NRUP
-A3A3;ID # YI SYLLABLE NRURX
-A3A4;ID # YI SYLLABLE NRUR
-A3A5;ID # YI SYLLABLE NRYT
-A3A6;ID # YI SYLLABLE NRYX
-A3A7;ID # YI SYLLABLE NRY
-A3A8;ID # YI SYLLABLE NRYP
-A3A9;ID # YI SYLLABLE NRYRX
-A3AA;ID # YI SYLLABLE NRYR
-A3AB;ID # YI SYLLABLE SHAT
-A3AC;ID # YI SYLLABLE SHAX
-A3AD;ID # YI SYLLABLE SHA
-A3AE;ID # YI SYLLABLE SHAP
-A3AF;ID # YI SYLLABLE SHUOX
-A3B0;ID # YI SYLLABLE SHUO
-A3B1;ID # YI SYLLABLE SHUOP
-A3B2;ID # YI SYLLABLE SHOT
-A3B3;ID # YI SYLLABLE SHOX
-A3B4;ID # YI SYLLABLE SHO
-A3B5;ID # YI SYLLABLE SHOP
-A3B6;ID # YI SYLLABLE SHET
-A3B7;ID # YI SYLLABLE SHEX
-A3B8;ID # YI SYLLABLE SHE
-A3B9;ID # YI SYLLABLE SHEP
-A3BA;ID # YI SYLLABLE SHUT
-A3BB;ID # YI SYLLABLE SHUX
-A3BC;ID # YI SYLLABLE SHU
-A3BD;ID # YI SYLLABLE SHUP
-A3BE;ID # YI SYLLABLE SHURX
-A3BF;ID # YI SYLLABLE SHUR
-A3C0;ID # YI SYLLABLE SHYT
-A3C1;ID # YI SYLLABLE SHYX
-A3C2;ID # YI SYLLABLE SHY
-A3C3;ID # YI SYLLABLE SHYP
-A3C4;ID # YI SYLLABLE SHYRX
-A3C5;ID # YI SYLLABLE SHYR
-A3C6;ID # YI SYLLABLE RAT
-A3C7;ID # YI SYLLABLE RAX
-A3C8;ID # YI SYLLABLE RA
-A3C9;ID # YI SYLLABLE RAP
-A3CA;ID # YI SYLLABLE RUOX
-A3CB;ID # YI SYLLABLE RUO
-A3CC;ID # YI SYLLABLE RUOP
-A3CD;ID # YI SYLLABLE ROT
-A3CE;ID # YI SYLLABLE ROX
-A3CF;ID # YI SYLLABLE RO
-A3D0;ID # YI SYLLABLE ROP
-A3D1;ID # YI SYLLABLE REX
-A3D2;ID # YI SYLLABLE RE
-A3D3;ID # YI SYLLABLE REP
-A3D4;ID # YI SYLLABLE RUT
-A3D5;ID # YI SYLLABLE RUX
-A3D6;ID # YI SYLLABLE RU
-A3D7;ID # YI SYLLABLE RUP
-A3D8;ID # YI SYLLABLE RURX
-A3D9;ID # YI SYLLABLE RUR
-A3DA;ID # YI SYLLABLE RYT
-A3DB;ID # YI SYLLABLE RYX
-A3DC;ID # YI SYLLABLE RY
-A3DD;ID # YI SYLLABLE RYP
-A3DE;ID # YI SYLLABLE RYRX
-A3DF;ID # YI SYLLABLE RYR
-A3E0;ID # YI SYLLABLE JIT
-A3E1;ID # YI SYLLABLE JIX
-A3E2;ID # YI SYLLABLE JI
-A3E3;ID # YI SYLLABLE JIP
-A3E4;ID # YI SYLLABLE JIET
-A3E5;ID # YI SYLLABLE JIEX
-A3E6;ID # YI SYLLABLE JIE
-A3E7;ID # YI SYLLABLE JIEP
-A3E8;ID # YI SYLLABLE JUOT
-A3E9;ID # YI SYLLABLE JUOX
-A3EA;ID # YI SYLLABLE JUO
-A3EB;ID # YI SYLLABLE JUOP
-A3EC;ID # YI SYLLABLE JOT
-A3ED;ID # YI SYLLABLE JOX
-A3EE;ID # YI SYLLABLE JO
-A3EF;ID # YI SYLLABLE JOP
-A3F0;ID # YI SYLLABLE JUT
-A3F1;ID # YI SYLLABLE JUX
-A3F2;ID # YI SYLLABLE JU
-A3F3;ID # YI SYLLABLE JUP
-A3F4;ID # YI SYLLABLE JURX
-A3F5;ID # YI SYLLABLE JUR
-A3F6;ID # YI SYLLABLE JYT
-A3F7;ID # YI SYLLABLE JYX
-A3F8;ID # YI SYLLABLE JY
-A3F9;ID # YI SYLLABLE JYP
-A3FA;ID # YI SYLLABLE JYRX
-A3FB;ID # YI SYLLABLE JYR
-A3FC;ID # YI SYLLABLE QIT
-A3FD;ID # YI SYLLABLE QIX
-A3FE;ID # YI SYLLABLE QI
-A3FF;ID # YI SYLLABLE QIP
-A400;ID # YI SYLLABLE QIET
-A401;ID # YI SYLLABLE QIEX
-A402;ID # YI SYLLABLE QIE
-A403;ID # YI SYLLABLE QIEP
-A404;ID # YI SYLLABLE QUOT
-A405;ID # YI SYLLABLE QUOX
-A406;ID # YI SYLLABLE QUO
-A407;ID # YI SYLLABLE QUOP
-A408;ID # YI SYLLABLE QOT
-A409;ID # YI SYLLABLE QOX
-A40A;ID # YI SYLLABLE QO
-A40B;ID # YI SYLLABLE QOP
-A40C;ID # YI SYLLABLE QUT
-A40D;ID # YI SYLLABLE QUX
-A40E;ID # YI SYLLABLE QU
-A40F;ID # YI SYLLABLE QUP
-A410;ID # YI SYLLABLE QURX
-A411;ID # YI SYLLABLE QUR
-A412;ID # YI SYLLABLE QYT
-A413;ID # YI SYLLABLE QYX
-A414;ID # YI SYLLABLE QY
-A415;ID # YI SYLLABLE QYP
-A416;ID # YI SYLLABLE QYRX
-A417;ID # YI SYLLABLE QYR
-A418;ID # YI SYLLABLE JJIT
-A419;ID # YI SYLLABLE JJIX
-A41A;ID # YI SYLLABLE JJI
-A41B;ID # YI SYLLABLE JJIP
-A41C;ID # YI SYLLABLE JJIET
-A41D;ID # YI SYLLABLE JJIEX
-A41E;ID # YI SYLLABLE JJIE
-A41F;ID # YI SYLLABLE JJIEP
-A420;ID # YI SYLLABLE JJUOX
-A421;ID # YI SYLLABLE JJUO
-A422;ID # YI SYLLABLE JJUOP
-A423;ID # YI SYLLABLE JJOT
-A424;ID # YI SYLLABLE JJOX
-A425;ID # YI SYLLABLE JJO
-A426;ID # YI SYLLABLE JJOP
-A427;ID # YI SYLLABLE JJUT
-A428;ID # YI SYLLABLE JJUX
-A429;ID # YI SYLLABLE JJU
-A42A;ID # YI SYLLABLE JJUP
-A42B;ID # YI SYLLABLE JJURX
-A42C;ID # YI SYLLABLE JJUR
-A42D;ID # YI SYLLABLE JJYT
-A42E;ID # YI SYLLABLE JJYX
-A42F;ID # YI SYLLABLE JJY
-A430;ID # YI SYLLABLE JJYP
-A431;ID # YI SYLLABLE NJIT
-A432;ID # YI SYLLABLE NJIX
-A433;ID # YI SYLLABLE NJI
-A434;ID # YI SYLLABLE NJIP
-A435;ID # YI SYLLABLE NJIET
-A436;ID # YI SYLLABLE NJIEX
-A437;ID # YI SYLLABLE NJIE
-A438;ID # YI SYLLABLE NJIEP
-A439;ID # YI SYLLABLE NJUOX
-A43A;ID # YI SYLLABLE NJUO
-A43B;ID # YI SYLLABLE NJOT
-A43C;ID # YI SYLLABLE NJOX
-A43D;ID # YI SYLLABLE NJO
-A43E;ID # YI SYLLABLE NJOP
-A43F;ID # YI SYLLABLE NJUX
-A440;ID # YI SYLLABLE NJU
-A441;ID # YI SYLLABLE NJUP
-A442;ID # YI SYLLABLE NJURX
-A443;ID # YI SYLLABLE NJUR
-A444;ID # YI SYLLABLE NJYT
-A445;ID # YI SYLLABLE NJYX
-A446;ID # YI SYLLABLE NJY
-A447;ID # YI SYLLABLE NJYP
-A448;ID # YI SYLLABLE NJYRX
-A449;ID # YI SYLLABLE NJYR
-A44A;ID # YI SYLLABLE NYIT
-A44B;ID # YI SYLLABLE NYIX
-A44C;ID # YI SYLLABLE NYI
-A44D;ID # YI SYLLABLE NYIP
-A44E;ID # YI SYLLABLE NYIET
-A44F;ID # YI SYLLABLE NYIEX
-A450;ID # YI SYLLABLE NYIE
-A451;ID # YI SYLLABLE NYIEP
-A452;ID # YI SYLLABLE NYUOX
-A453;ID # YI SYLLABLE NYUO
-A454;ID # YI SYLLABLE NYUOP
-A455;ID # YI SYLLABLE NYOT
-A456;ID # YI SYLLABLE NYOX
-A457;ID # YI SYLLABLE NYO
-A458;ID # YI SYLLABLE NYOP
-A459;ID # YI SYLLABLE NYUT
-A45A;ID # YI SYLLABLE NYUX
-A45B;ID # YI SYLLABLE NYU
-A45C;ID # YI SYLLABLE NYUP
-A45D;ID # YI SYLLABLE XIT
-A45E;ID # YI SYLLABLE XIX
-A45F;ID # YI SYLLABLE XI
-A460;ID # YI SYLLABLE XIP
-A461;ID # YI SYLLABLE XIET
-A462;ID # YI SYLLABLE XIEX
-A463;ID # YI SYLLABLE XIE
-A464;ID # YI SYLLABLE XIEP
-A465;ID # YI SYLLABLE XUOX
-A466;ID # YI SYLLABLE XUO
-A467;ID # YI SYLLABLE XOT
-A468;ID # YI SYLLABLE XOX
-A469;ID # YI SYLLABLE XO
-A46A;ID # YI SYLLABLE XOP
-A46B;ID # YI SYLLABLE XYT
-A46C;ID # YI SYLLABLE XYX
-A46D;ID # YI SYLLABLE XY
-A46E;ID # YI SYLLABLE XYP
-A46F;ID # YI SYLLABLE XYRX
-A470;ID # YI SYLLABLE XYR
-A471;ID # YI SYLLABLE YIT
-A472;ID # YI SYLLABLE YIX
-A473;ID # YI SYLLABLE YI
-A474;ID # YI SYLLABLE YIP
-A475;ID # YI SYLLABLE YIET
-A476;ID # YI SYLLABLE YIEX
-A477;ID # YI SYLLABLE YIE
-A478;ID # YI SYLLABLE YIEP
-A479;ID # YI SYLLABLE YUOT
-A47A;ID # YI SYLLABLE YUOX
-A47B;ID # YI SYLLABLE YUO
-A47C;ID # YI SYLLABLE YUOP
-A47D;ID # YI SYLLABLE YOT
-A47E;ID # YI SYLLABLE YOX
-A47F;ID # YI SYLLABLE YO
-A480;ID # YI SYLLABLE YOP
-A481;ID # YI SYLLABLE YUT
-A482;ID # YI SYLLABLE YUX
-A483;ID # YI SYLLABLE YU
-A484;ID # YI SYLLABLE YUP
-A485;ID # YI SYLLABLE YURX
-A486;ID # YI SYLLABLE YUR
-A487;ID # YI SYLLABLE YYT
-A488;ID # YI SYLLABLE YYX
-A489;ID # YI SYLLABLE YY
-A48A;ID # YI SYLLABLE YYP
-A48B;ID # YI SYLLABLE YYRX
-A48C;ID # YI SYLLABLE YYR
-A490;ID # YI RADICAL QOT
-A491;ID # YI RADICAL LI
-A492;ID # YI RADICAL KIT
-A493;ID # YI RADICAL NYIP
-A494;ID # YI RADICAL CYP
-A495;ID # YI RADICAL SSI
-A496;ID # YI RADICAL GGOP
-A497;ID # YI RADICAL GEP
-A498;ID # YI RADICAL MI
-A499;ID # YI RADICAL HXIT
-A49A;ID # YI RADICAL LYR
-A49B;ID # YI RADICAL BBUT
-A49C;ID # YI RADICAL MOP
-A49D;ID # YI RADICAL YO
-A49E;ID # YI RADICAL PUT
-A49F;ID # YI RADICAL HXUO
-A4A0;ID # YI RADICAL TAT
-A4A1;ID # YI RADICAL GA
-A4A2;ID # YI RADICAL ZUP
-A4A3;ID # YI RADICAL CYT
-A4A4;ID # YI RADICAL DDUR
-A4A5;ID # YI RADICAL BUR
-A4A6;ID # YI RADICAL GGUO
-A4A7;ID # YI RADICAL NYOP
-A4A8;ID # YI RADICAL TU
-A4A9;ID # YI RADICAL OP
-A4AA;ID # YI RADICAL JJUT
-A4AB;ID # YI RADICAL ZOT
-A4AC;ID # YI RADICAL PYT
-A4AD;ID # YI RADICAL HMO
-A4AE;ID # YI RADICAL YIT
-A4AF;ID # YI RADICAL VUR
-A4B0;ID # YI RADICAL SHY
-A4B1;ID # YI RADICAL VEP
-A4B2;ID # YI RADICAL ZA
-A4B3;ID # YI RADICAL JO
-A4B4;ID # YI RADICAL NZUP
-A4B5;ID # YI RADICAL JJY
-A4B6;ID # YI RADICAL GOT
-A4B7;ID # YI RADICAL JJIE
-A4B8;ID # YI RADICAL WO
-A4B9;ID # YI RADICAL DU
-A4BA;ID # YI RADICAL SHUR
-A4BB;ID # YI RADICAL LIE
-A4BC;ID # YI RADICAL CY
-A4BD;ID # YI RADICAL CUOP
-A4BE;ID # YI RADICAL CIP
-A4BF;ID # YI RADICAL HXOP
-A4C0;ID # YI RADICAL SHAT
-A4C1;ID # YI RADICAL ZUR
-A4C2;ID # YI RADICAL SHOP
-A4C3;ID # YI RADICAL CHE
-A4C4;ID # YI RADICAL ZZIET
-A4C5;ID # YI RADICAL NBIE
-A4C6;ID # YI RADICAL KE
-A4D0;AL # LISU LETTER BA
-A4D1;AL # LISU LETTER PA
-A4D2;AL # LISU LETTER PHA
-A4D3;AL # LISU LETTER DA
-A4D4;AL # LISU LETTER TA
-A4D5;AL # LISU LETTER THA
-A4D6;AL # LISU LETTER GA
-A4D7;AL # LISU LETTER KA
-A4D8;AL # LISU LETTER KHA
-A4D9;AL # LISU LETTER JA
-A4DA;AL # LISU LETTER CA
-A4DB;AL # LISU LETTER CHA
-A4DC;AL # LISU LETTER DZA
-A4DD;AL # LISU LETTER TSA
-A4DE;AL # LISU LETTER TSHA
-A4DF;AL # LISU LETTER MA
-A4E0;AL # LISU LETTER NA
-A4E1;AL # LISU LETTER LA
-A4E2;AL # LISU LETTER SA
-A4E3;AL # LISU LETTER ZHA
-A4E4;AL # LISU LETTER ZA
-A4E5;AL # LISU LETTER NGA
-A4E6;AL # LISU LETTER HA
-A4E7;AL # LISU LETTER XA
-A4E8;AL # LISU LETTER HHA
-A4E9;AL # LISU LETTER FA
-A4EA;AL # LISU LETTER WA
-A4EB;AL # LISU LETTER SHA
-A4EC;AL # LISU LETTER YA
-A4ED;AL # LISU LETTER GHA
-A4EE;AL # LISU LETTER A
-A4EF;AL # LISU LETTER AE
-A4F0;AL # LISU LETTER E
-A4F1;AL # LISU LETTER EU
-A4F2;AL # LISU LETTER I
-A4F3;AL # LISU LETTER O
-A4F4;AL # LISU LETTER U
-A4F5;AL # LISU LETTER UE
-A4F6;AL # LISU LETTER UH
-A4F7;AL # LISU LETTER OE
-A4F8;AL # LISU LETTER TONE MYA TI
-A4F9;AL # LISU LETTER TONE NA PO
-A4FA;AL # LISU LETTER TONE MYA CYA
-A4FB;AL # LISU LETTER TONE MYA BO
-A4FC;AL # LISU LETTER TONE MYA NA
-A4FD;AL # LISU LETTER TONE MYA JEU
-A4FE;BA # LISU PUNCTUATION COMMA
-A4FF;BA # LISU PUNCTUATION FULL STOP
-A500;AL # VAI SYLLABLE EE
-A501;AL # VAI SYLLABLE EEN
-A502;AL # VAI SYLLABLE HEE
-A503;AL # VAI SYLLABLE WEE
-A504;AL # VAI SYLLABLE WEEN
-A505;AL # VAI SYLLABLE PEE
-A506;AL # VAI SYLLABLE BHEE
-A507;AL # VAI SYLLABLE BEE
-A508;AL # VAI SYLLABLE MBEE
-A509;AL # VAI SYLLABLE KPEE
-A50A;AL # VAI SYLLABLE MGBEE
-A50B;AL # VAI SYLLABLE GBEE
-A50C;AL # VAI SYLLABLE FEE
-A50D;AL # VAI SYLLABLE VEE
-A50E;AL # VAI SYLLABLE TEE
-A50F;AL # VAI SYLLABLE THEE
-A510;AL # VAI SYLLABLE DHEE
-A511;AL # VAI SYLLABLE DHHEE
-A512;AL # VAI SYLLABLE LEE
-A513;AL # VAI SYLLABLE REE
-A514;AL # VAI SYLLABLE DEE
-A515;AL # VAI SYLLABLE NDEE
-A516;AL # VAI SYLLABLE SEE
-A517;AL # VAI SYLLABLE SHEE
-A518;AL # VAI SYLLABLE ZEE
-A519;AL # VAI SYLLABLE ZHEE
-A51A;AL # VAI SYLLABLE CEE
-A51B;AL # VAI SYLLABLE JEE
-A51C;AL # VAI SYLLABLE NJEE
-A51D;AL # VAI SYLLABLE YEE
-A51E;AL # VAI SYLLABLE KEE
-A51F;AL # VAI SYLLABLE NGGEE
-A520;AL # VAI SYLLABLE GEE
-A521;AL # VAI SYLLABLE MEE
-A522;AL # VAI SYLLABLE NEE
-A523;AL # VAI SYLLABLE NYEE
-A524;AL # VAI SYLLABLE I
-A525;AL # VAI SYLLABLE IN
-A526;AL # VAI SYLLABLE HI
-A527;AL # VAI SYLLABLE HIN
-A528;AL # VAI SYLLABLE WI
-A529;AL # VAI SYLLABLE WIN
-A52A;AL # VAI SYLLABLE PI
-A52B;AL # VAI SYLLABLE BHI
-A52C;AL # VAI SYLLABLE BI
-A52D;AL # VAI SYLLABLE MBI
-A52E;AL # VAI SYLLABLE KPI
-A52F;AL # VAI SYLLABLE MGBI
-A530;AL # VAI SYLLABLE GBI
-A531;AL # VAI SYLLABLE FI
-A532;AL # VAI SYLLABLE VI
-A533;AL # VAI SYLLABLE TI
-A534;AL # VAI SYLLABLE THI
-A535;AL # VAI SYLLABLE DHI
-A536;AL # VAI SYLLABLE DHHI
-A537;AL # VAI SYLLABLE LI
-A538;AL # VAI SYLLABLE RI
-A539;AL # VAI SYLLABLE DI
-A53A;AL # VAI SYLLABLE NDI
-A53B;AL # VAI SYLLABLE SI
-A53C;AL # VAI SYLLABLE SHI
-A53D;AL # VAI SYLLABLE ZI
-A53E;AL # VAI SYLLABLE ZHI
-A53F;AL # VAI SYLLABLE CI
-A540;AL # VAI SYLLABLE JI
-A541;AL # VAI SYLLABLE NJI
-A542;AL # VAI SYLLABLE YI
-A543;AL # VAI SYLLABLE KI
-A544;AL # VAI SYLLABLE NGGI
-A545;AL # VAI SYLLABLE GI
-A546;AL # VAI SYLLABLE MI
-A547;AL # VAI SYLLABLE NI
-A548;AL # VAI SYLLABLE NYI
-A549;AL # VAI SYLLABLE A
-A54A;AL # VAI SYLLABLE AN
-A54B;AL # VAI SYLLABLE NGAN
-A54C;AL # VAI SYLLABLE HA
-A54D;AL # VAI SYLLABLE HAN
-A54E;AL # VAI SYLLABLE WA
-A54F;AL # VAI SYLLABLE WAN
-A550;AL # VAI SYLLABLE PA
-A551;AL # VAI SYLLABLE BHA
-A552;AL # VAI SYLLABLE BA
-A553;AL # VAI SYLLABLE MBA
-A554;AL # VAI SYLLABLE KPA
-A555;AL # VAI SYLLABLE KPAN
-A556;AL # VAI SYLLABLE MGBA
-A557;AL # VAI SYLLABLE GBA
-A558;AL # VAI SYLLABLE FA
-A559;AL # VAI SYLLABLE VA
-A55A;AL # VAI SYLLABLE TA
-A55B;AL # VAI SYLLABLE THA
-A55C;AL # VAI SYLLABLE DHA
-A55D;AL # VAI SYLLABLE DHHA
-A55E;AL # VAI SYLLABLE LA
-A55F;AL # VAI SYLLABLE RA
-A560;AL # VAI SYLLABLE DA
-A561;AL # VAI SYLLABLE NDA
-A562;AL # VAI SYLLABLE SA
-A563;AL # VAI SYLLABLE SHA
-A564;AL # VAI SYLLABLE ZA
-A565;AL # VAI SYLLABLE ZHA
-A566;AL # VAI SYLLABLE CA
-A567;AL # VAI SYLLABLE JA
-A568;AL # VAI SYLLABLE NJA
-A569;AL # VAI SYLLABLE YA
-A56A;AL # VAI SYLLABLE KA
-A56B;AL # VAI SYLLABLE KAN
-A56C;AL # VAI SYLLABLE NGGA
-A56D;AL # VAI SYLLABLE GA
-A56E;AL # VAI SYLLABLE MA
-A56F;AL # VAI SYLLABLE NA
-A570;AL # VAI SYLLABLE NYA
-A571;AL # VAI SYLLABLE OO
-A572;AL # VAI SYLLABLE OON
-A573;AL # VAI SYLLABLE HOO
-A574;AL # VAI SYLLABLE WOO
-A575;AL # VAI SYLLABLE WOON
-A576;AL # VAI SYLLABLE POO
-A577;AL # VAI SYLLABLE BHOO
-A578;AL # VAI SYLLABLE BOO
-A579;AL # VAI SYLLABLE MBOO
-A57A;AL # VAI SYLLABLE KPOO
-A57B;AL # VAI SYLLABLE MGBOO
-A57C;AL # VAI SYLLABLE GBOO
-A57D;AL # VAI SYLLABLE FOO
-A57E;AL # VAI SYLLABLE VOO
-A57F;AL # VAI SYLLABLE TOO
-A580;AL # VAI SYLLABLE THOO
-A581;AL # VAI SYLLABLE DHOO
-A582;AL # VAI SYLLABLE DHHOO
-A583;AL # VAI SYLLABLE LOO
-A584;AL # VAI SYLLABLE ROO
-A585;AL # VAI SYLLABLE DOO
-A586;AL # VAI SYLLABLE NDOO
-A587;AL # VAI SYLLABLE SOO
-A588;AL # VAI SYLLABLE SHOO
-A589;AL # VAI SYLLABLE ZOO
-A58A;AL # VAI SYLLABLE ZHOO
-A58B;AL # VAI SYLLABLE COO
-A58C;AL # VAI SYLLABLE JOO
-A58D;AL # VAI SYLLABLE NJOO
-A58E;AL # VAI SYLLABLE YOO
-A58F;AL # VAI SYLLABLE KOO
-A590;AL # VAI SYLLABLE NGGOO
-A591;AL # VAI SYLLABLE GOO
-A592;AL # VAI SYLLABLE MOO
-A593;AL # VAI SYLLABLE NOO
-A594;AL # VAI SYLLABLE NYOO
-A595;AL # VAI SYLLABLE U
-A596;AL # VAI SYLLABLE UN
-A597;AL # VAI SYLLABLE HU
-A598;AL # VAI SYLLABLE HUN
-A599;AL # VAI SYLLABLE WU
-A59A;AL # VAI SYLLABLE WUN
-A59B;AL # VAI SYLLABLE PU
-A59C;AL # VAI SYLLABLE BHU
-A59D;AL # VAI SYLLABLE BU
-A59E;AL # VAI SYLLABLE MBU
-A59F;AL # VAI SYLLABLE KPU
-A5A0;AL # VAI SYLLABLE MGBU
-A5A1;AL # VAI SYLLABLE GBU
-A5A2;AL # VAI SYLLABLE FU
-A5A3;AL # VAI SYLLABLE VU
-A5A4;AL # VAI SYLLABLE TU
-A5A5;AL # VAI SYLLABLE THU
-A5A6;AL # VAI SYLLABLE DHU
-A5A7;AL # VAI SYLLABLE DHHU
-A5A8;AL # VAI SYLLABLE LU
-A5A9;AL # VAI SYLLABLE RU
-A5AA;AL # VAI SYLLABLE DU
-A5AB;AL # VAI SYLLABLE NDU
-A5AC;AL # VAI SYLLABLE SU
-A5AD;AL # VAI SYLLABLE SHU
-A5AE;AL # VAI SYLLABLE ZU
-A5AF;AL # VAI SYLLABLE ZHU
-A5B0;AL # VAI SYLLABLE CU
-A5B1;AL # VAI SYLLABLE JU
-A5B2;AL # VAI SYLLABLE NJU
-A5B3;AL # VAI SYLLABLE YU
-A5B4;AL # VAI SYLLABLE KU
-A5B5;AL # VAI SYLLABLE NGGU
-A5B6;AL # VAI SYLLABLE GU
-A5B7;AL # VAI SYLLABLE MU
-A5B8;AL # VAI SYLLABLE NU
-A5B9;AL # VAI SYLLABLE NYU
-A5BA;AL # VAI SYLLABLE O
-A5BB;AL # VAI SYLLABLE ON
-A5BC;AL # VAI SYLLABLE NGON
-A5BD;AL # VAI SYLLABLE HO
-A5BE;AL # VAI SYLLABLE HON
-A5BF;AL # VAI SYLLABLE WO
-A5C0;AL # VAI SYLLABLE WON
-A5C1;AL # VAI SYLLABLE PO
-A5C2;AL # VAI SYLLABLE BHO
-A5C3;AL # VAI SYLLABLE BO
-A5C4;AL # VAI SYLLABLE MBO
-A5C5;AL # VAI SYLLABLE KPO
-A5C6;AL # VAI SYLLABLE MGBO
-A5C7;AL # VAI SYLLABLE GBO
-A5C8;AL # VAI SYLLABLE GBON
-A5C9;AL # VAI SYLLABLE FO
-A5CA;AL # VAI SYLLABLE VO
-A5CB;AL # VAI SYLLABLE TO
-A5CC;AL # VAI SYLLABLE THO
-A5CD;AL # VAI SYLLABLE DHO
-A5CE;AL # VAI SYLLABLE DHHO
-A5CF;AL # VAI SYLLABLE LO
-A5D0;AL # VAI SYLLABLE RO
-A5D1;AL # VAI SYLLABLE DO
-A5D2;AL # VAI SYLLABLE NDO
-A5D3;AL # VAI SYLLABLE SO
-A5D4;AL # VAI SYLLABLE SHO
-A5D5;AL # VAI SYLLABLE ZO
-A5D6;AL # VAI SYLLABLE ZHO
-A5D7;AL # VAI SYLLABLE CO
-A5D8;AL # VAI SYLLABLE JO
-A5D9;AL # VAI SYLLABLE NJO
-A5DA;AL # VAI SYLLABLE YO
-A5DB;AL # VAI SYLLABLE KO
-A5DC;AL # VAI SYLLABLE NGGO
-A5DD;AL # VAI SYLLABLE GO
-A5DE;AL # VAI SYLLABLE MO
-A5DF;AL # VAI SYLLABLE NO
-A5E0;AL # VAI SYLLABLE NYO
-A5E1;AL # VAI SYLLABLE E
-A5E2;AL # VAI SYLLABLE EN
-A5E3;AL # VAI SYLLABLE NGEN
-A5E4;AL # VAI SYLLABLE HE
-A5E5;AL # VAI SYLLABLE HEN
-A5E6;AL # VAI SYLLABLE WE
-A5E7;AL # VAI SYLLABLE WEN
-A5E8;AL # VAI SYLLABLE PE
-A5E9;AL # VAI SYLLABLE BHE
-A5EA;AL # VAI SYLLABLE BE
-A5EB;AL # VAI SYLLABLE MBE
-A5EC;AL # VAI SYLLABLE KPE
-A5ED;AL # VAI SYLLABLE KPEN
-A5EE;AL # VAI SYLLABLE MGBE
-A5EF;AL # VAI SYLLABLE GBE
-A5F0;AL # VAI SYLLABLE GBEN
-A5F1;AL # VAI SYLLABLE FE
-A5F2;AL # VAI SYLLABLE VE
-A5F3;AL # VAI SYLLABLE TE
-A5F4;AL # VAI SYLLABLE THE
-A5F5;AL # VAI SYLLABLE DHE
-A5F6;AL # VAI SYLLABLE DHHE
-A5F7;AL # VAI SYLLABLE LE
-A5F8;AL # VAI SYLLABLE RE
-A5F9;AL # VAI SYLLABLE DE
-A5FA;AL # VAI SYLLABLE NDE
-A5FB;AL # VAI SYLLABLE SE
-A5FC;AL # VAI SYLLABLE SHE
-A5FD;AL # VAI SYLLABLE ZE
-A5FE;AL # VAI SYLLABLE ZHE
-A5FF;AL # VAI SYLLABLE CE
-A600;AL # VAI SYLLABLE JE
-A601;AL # VAI SYLLABLE NJE
-A602;AL # VAI SYLLABLE YE
-A603;AL # VAI SYLLABLE KE
-A604;AL # VAI SYLLABLE NGGE
-A605;AL # VAI SYLLABLE NGGEN
-A606;AL # VAI SYLLABLE GE
-A607;AL # VAI SYLLABLE GEN
-A608;AL # VAI SYLLABLE ME
-A609;AL # VAI SYLLABLE NE
-A60A;AL # VAI SYLLABLE NYE
-A60B;AL # VAI SYLLABLE NG
-A60C;AL # VAI SYLLABLE LENGTHENER
-A60D;BA # VAI COMMA
-A60E;EX # VAI FULL STOP
-A60F;BA # VAI QUESTION MARK
-A610;AL # VAI SYLLABLE NDOLE FA
-A611;AL # VAI SYLLABLE NDOLE KA
-A612;AL # VAI SYLLABLE NDOLE SOO
-A613;AL # VAI SYMBOL FEENG
-A614;AL # VAI SYMBOL KEENG
-A615;AL # VAI SYMBOL TING
-A616;AL # VAI SYMBOL NII
-A617;AL # VAI SYMBOL BANG
-A618;AL # VAI SYMBOL FAA
-A619;AL # VAI SYMBOL TAA
-A61A;AL # VAI SYMBOL DANG
-A61B;AL # VAI SYMBOL DOONG
-A61C;AL # VAI SYMBOL KUNG
-A61D;AL # VAI SYMBOL TONG
-A61E;AL # VAI SYMBOL DO-O
-A61F;AL # VAI SYMBOL JONG
-A620;NU # VAI DIGIT ZERO
-A621;NU # VAI DIGIT ONE
-A622;NU # VAI DIGIT TWO
-A623;NU # VAI DIGIT THREE
-A624;NU # VAI DIGIT FOUR
-A625;NU # VAI DIGIT FIVE
-A626;NU # VAI DIGIT SIX
-A627;NU # VAI DIGIT SEVEN
-A628;NU # VAI DIGIT EIGHT
-A629;NU # VAI DIGIT NINE
-A62A;AL # VAI SYLLABLE NDOLE MA
-A62B;AL # VAI SYLLABLE NDOLE DO
-A640;AL # CYRILLIC CAPITAL LETTER ZEMLYA
-A641;AL # CYRILLIC SMALL LETTER ZEMLYA
-A642;AL # CYRILLIC CAPITAL LETTER DZELO
-A643;AL # CYRILLIC SMALL LETTER DZELO
-A644;AL # CYRILLIC CAPITAL LETTER REVERSED DZE
-A645;AL # CYRILLIC SMALL LETTER REVERSED DZE
-A646;AL # CYRILLIC CAPITAL LETTER IOTA
-A647;AL # CYRILLIC SMALL LETTER IOTA
-A648;AL # CYRILLIC CAPITAL LETTER DJERV
-A649;AL # CYRILLIC SMALL LETTER DJERV
-A64A;AL # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64B;AL # CYRILLIC SMALL LETTER MONOGRAPH UK
-A64C;AL # CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64D;AL # CYRILLIC SMALL LETTER BROAD OMEGA
-A64E;AL # CYRILLIC CAPITAL LETTER NEUTRAL YER
-A64F;AL # CYRILLIC SMALL LETTER NEUTRAL YER
-A650;AL # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A651;AL # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A652;AL # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A653;AL # CYRILLIC SMALL LETTER IOTIFIED YAT
-A654;AL # CYRILLIC CAPITAL LETTER REVERSED YU
-A655;AL # CYRILLIC SMALL LETTER REVERSED YU
-A656;AL # CYRILLIC CAPITAL LETTER IOTIFIED A
-A657;AL # CYRILLIC SMALL LETTER IOTIFIED A
-A658;AL # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A659;AL # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65A;AL # CYRILLIC CAPITAL LETTER BLENDED YUS
-A65B;AL # CYRILLIC SMALL LETTER BLENDED YUS
-A65C;AL # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65D;AL # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E;AL # CYRILLIC CAPITAL LETTER YN
-A65F;AL # CYRILLIC SMALL LETTER YN
-A662;AL # CYRILLIC CAPITAL LETTER SOFT DE
-A663;AL # CYRILLIC SMALL LETTER SOFT DE
-A664;AL # CYRILLIC CAPITAL LETTER SOFT EL
-A665;AL # CYRILLIC SMALL LETTER SOFT EL
-A666;AL # CYRILLIC CAPITAL LETTER SOFT EM
-A667;AL # CYRILLIC SMALL LETTER SOFT EM
-A668;AL # CYRILLIC CAPITAL LETTER MONOCULAR O
-A669;AL # CYRILLIC SMALL LETTER MONOCULAR O
-A66A;AL # CYRILLIC CAPITAL LETTER BINOCULAR O
-A66B;AL # CYRILLIC SMALL LETTER BINOCULAR O
-A66C;AL # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A66D;AL # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E;AL # CYRILLIC LETTER MULTIOCULAR O
-A66F;CM # COMBINING CYRILLIC VZMET
-A670;CM # COMBINING CYRILLIC TEN MILLIONS SIGN
-A671;CM # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
-A672;CM # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673;AL # SLAVONIC ASTERISK
-A67C;CM # COMBINING CYRILLIC KAVYKA
-A67D;CM # COMBINING CYRILLIC PAYEROK
-A67E;AL # CYRILLIC KAVYKA
-A67F;AL # CYRILLIC PAYEROK
-A680;AL # CYRILLIC CAPITAL LETTER DWE
-A681;AL # CYRILLIC SMALL LETTER DWE
-A682;AL # CYRILLIC CAPITAL LETTER DZWE
-A683;AL # CYRILLIC SMALL LETTER DZWE
-A684;AL # CYRILLIC CAPITAL LETTER ZHWE
-A685;AL # CYRILLIC SMALL LETTER ZHWE
-A686;AL # CYRILLIC CAPITAL LETTER CCHE
-A687;AL # CYRILLIC SMALL LETTER CCHE
-A688;AL # CYRILLIC CAPITAL LETTER DZZE
-A689;AL # CYRILLIC SMALL LETTER DZZE
-A68A;AL # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68B;AL # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68C;AL # CYRILLIC CAPITAL LETTER TWE
-A68D;AL # CYRILLIC SMALL LETTER TWE
-A68E;AL # CYRILLIC CAPITAL LETTER TSWE
-A68F;AL # CYRILLIC SMALL LETTER TSWE
-A690;AL # CYRILLIC CAPITAL LETTER TSSE
-A691;AL # CYRILLIC SMALL LETTER TSSE
-A692;AL # CYRILLIC CAPITAL LETTER TCHE
-A693;AL # CYRILLIC SMALL LETTER TCHE
-A694;AL # CYRILLIC CAPITAL LETTER HWE
-A695;AL # CYRILLIC SMALL LETTER HWE
-A696;AL # CYRILLIC CAPITAL LETTER SHWE
-A697;AL # CYRILLIC SMALL LETTER SHWE
-A6A0;AL # BAMUM LETTER A
-A6A1;AL # BAMUM LETTER KA
-A6A2;AL # BAMUM LETTER U
-A6A3;AL # BAMUM LETTER KU
-A6A4;AL # BAMUM LETTER EE
-A6A5;AL # BAMUM LETTER REE
-A6A6;AL # BAMUM LETTER TAE
-A6A7;AL # BAMUM LETTER O
-A6A8;AL # BAMUM LETTER NYI
-A6A9;AL # BAMUM LETTER I
-A6AA;AL # BAMUM LETTER LA
-A6AB;AL # BAMUM LETTER PA
-A6AC;AL # BAMUM LETTER RII
-A6AD;AL # BAMUM LETTER RIEE
-A6AE;AL # BAMUM LETTER LEEEE
-A6AF;AL # BAMUM LETTER MEEEE
-A6B0;AL # BAMUM LETTER TAA
-A6B1;AL # BAMUM LETTER NDAA
-A6B2;AL # BAMUM LETTER NJAEM
-A6B3;AL # BAMUM LETTER M
-A6B4;AL # BAMUM LETTER SUU
-A6B5;AL # BAMUM LETTER MU
-A6B6;AL # BAMUM LETTER SHII
-A6B7;AL # BAMUM LETTER SI
-A6B8;AL # BAMUM LETTER SHEUX
-A6B9;AL # BAMUM LETTER SEUX
-A6BA;AL # BAMUM LETTER KYEE
-A6BB;AL # BAMUM LETTER KET
-A6BC;AL # BAMUM LETTER NUAE
-A6BD;AL # BAMUM LETTER NU
-A6BE;AL # BAMUM LETTER NJUAE
-A6BF;AL # BAMUM LETTER YOQ
-A6C0;AL # BAMUM LETTER SHU
-A6C1;AL # BAMUM LETTER YUQ
-A6C2;AL # BAMUM LETTER YA
-A6C3;AL # BAMUM LETTER NSHA
-A6C4;AL # BAMUM LETTER KEUX
-A6C5;AL # BAMUM LETTER PEUX
-A6C6;AL # BAMUM LETTER NJEE
-A6C7;AL # BAMUM LETTER NTEE
-A6C8;AL # BAMUM LETTER PUE
-A6C9;AL # BAMUM LETTER WUE
-A6CA;AL # BAMUM LETTER PEE
-A6CB;AL # BAMUM LETTER FEE
-A6CC;AL # BAMUM LETTER RU
-A6CD;AL # BAMUM LETTER LU
-A6CE;AL # BAMUM LETTER MI
-A6CF;AL # BAMUM LETTER NI
-A6D0;AL # BAMUM LETTER REUX
-A6D1;AL # BAMUM LETTER RAE
-A6D2;AL # BAMUM LETTER KEN
-A6D3;AL # BAMUM LETTER NGKWAEN
-A6D4;AL # BAMUM LETTER NGGA
-A6D5;AL # BAMUM LETTER NGA
-A6D6;AL # BAMUM LETTER SHO
-A6D7;AL # BAMUM LETTER PUAE
-A6D8;AL # BAMUM LETTER FU
-A6D9;AL # BAMUM LETTER FOM
-A6DA;AL # BAMUM LETTER WA
-A6DB;AL # BAMUM LETTER NA
-A6DC;AL # BAMUM LETTER LI
-A6DD;AL # BAMUM LETTER PI
-A6DE;AL # BAMUM LETTER LOQ
-A6DF;AL # BAMUM LETTER KO
-A6E0;AL # BAMUM LETTER MBEN
-A6E1;AL # BAMUM LETTER REN
-A6E2;AL # BAMUM LETTER MEN
-A6E3;AL # BAMUM LETTER MA
-A6E4;AL # BAMUM LETTER TI
-A6E5;AL # BAMUM LETTER KI
-A6E6;AL # BAMUM LETTER MO
-A6E7;AL # BAMUM LETTER MBAA
-A6E8;AL # BAMUM LETTER TET
-A6E9;AL # BAMUM LETTER KPA
-A6EA;AL # BAMUM LETTER TEN
-A6EB;AL # BAMUM LETTER NTUU
-A6EC;AL # BAMUM LETTER SAMBA
-A6ED;AL # BAMUM LETTER FAAMAE
-A6EE;AL # BAMUM LETTER KOVUU
-A6EF;AL # BAMUM LETTER KOGHOM
-A6F0;CM # BAMUM COMBINING MARK KOQNDON
-A6F1;CM # BAMUM COMBINING MARK TUKWENTIS
-A6F2;AL # BAMUM NJAEMLI
-A6F3;BA # BAMUM FULL STOP
-A6F4;BA # BAMUM COLON
-A6F5;BA # BAMUM COMMA
-A6F6;BA # BAMUM SEMICOLON
-A6F7;BA # BAMUM QUESTION MARK
-A700;AL # MODIFIER LETTER CHINESE TONE YIN PING
-A701;AL # MODIFIER LETTER CHINESE TONE YANG PING
-A702;AL # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703;AL # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704;AL # MODIFIER LETTER CHINESE TONE YIN QU
-A705;AL # MODIFIER LETTER CHINESE TONE YANG QU
-A706;AL # MODIFIER LETTER CHINESE TONE YIN RU
-A707;AL # MODIFIER LETTER CHINESE TONE YANG RU
-A708;AL # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709;AL # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A;AL # MODIFIER LETTER MID DOTTED TONE BAR
-A70B;AL # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C;AL # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D;AL # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E;AL # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F;AL # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710;AL # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711;AL # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712;AL # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713;AL # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714;AL # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715;AL # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716;AL # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717;AL # MODIFIER LETTER DOT VERTICAL BAR
-A718;AL # MODIFIER LETTER DOT SLASH
-A719;AL # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A;AL # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B;AL # MODIFIER LETTER RAISED UP ARROW
-A71C;AL # MODIFIER LETTER RAISED DOWN ARROW
-A71D;AL # MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E;AL # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F;AL # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720;AL # MODIFIER LETTER STRESS AND HIGH TONE
-A721;AL # MODIFIER LETTER STRESS AND LOW TONE
-A722;AL # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A723;AL # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A724;AL # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A725;AL # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A726;AL # LATIN CAPITAL LETTER HENG
-A727;AL # LATIN SMALL LETTER HENG
-A728;AL # LATIN CAPITAL LETTER TZ
-A729;AL # LATIN SMALL LETTER TZ
-A72A;AL # LATIN CAPITAL LETTER TRESILLO
-A72B;AL # LATIN SMALL LETTER TRESILLO
-A72C;AL # LATIN CAPITAL LETTER CUATRILLO
-A72D;AL # LATIN SMALL LETTER CUATRILLO
-A72E;AL # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A72F;AL # LATIN SMALL LETTER CUATRILLO WITH COMMA
-A730;AL # LATIN LETTER SMALL CAPITAL F
-A731;AL # LATIN LETTER SMALL CAPITAL S
-A732;AL # LATIN CAPITAL LETTER AA
-A733;AL # LATIN SMALL LETTER AA
-A734;AL # LATIN CAPITAL LETTER AO
-A735;AL # LATIN SMALL LETTER AO
-A736;AL # LATIN CAPITAL LETTER AU
-A737;AL # LATIN SMALL LETTER AU
-A738;AL # LATIN CAPITAL LETTER AV
-A739;AL # LATIN SMALL LETTER AV
-A73A;AL # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73B;AL # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73C;AL # LATIN CAPITAL LETTER AY
-A73D;AL # LATIN SMALL LETTER AY
-A73E;AL # LATIN CAPITAL LETTER REVERSED C WITH DOT
-A73F;AL # LATIN SMALL LETTER REVERSED C WITH DOT
-A740;AL # LATIN CAPITAL LETTER K WITH STROKE
-A741;AL # LATIN SMALL LETTER K WITH STROKE
-A742;AL # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A743;AL # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A744;AL # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A745;AL # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746;AL # LATIN CAPITAL LETTER BROKEN L
-A747;AL # LATIN SMALL LETTER BROKEN L
-A748;AL # LATIN CAPITAL LETTER L WITH HIGH STROKE
-A749;AL # LATIN SMALL LETTER L WITH HIGH STROKE
-A74A;AL # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74B;AL # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74C;AL # LATIN CAPITAL LETTER O WITH LOOP
-A74D;AL # LATIN SMALL LETTER O WITH LOOP
-A74E;AL # LATIN CAPITAL LETTER OO
-A74F;AL # LATIN SMALL LETTER OO
-A750;AL # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A751;AL # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A752;AL # LATIN CAPITAL LETTER P WITH FLOURISH
-A753;AL # LATIN SMALL LETTER P WITH FLOURISH
-A754;AL # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A755;AL # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A756;AL # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A757;AL # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A758;AL # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A759;AL # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75A;AL # LATIN CAPITAL LETTER R ROTUNDA
-A75B;AL # LATIN SMALL LETTER R ROTUNDA
-A75C;AL # LATIN CAPITAL LETTER RUM ROTUNDA
-A75D;AL # LATIN SMALL LETTER RUM ROTUNDA
-A75E;AL # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A75F;AL # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A760;AL # LATIN CAPITAL LETTER VY
-A761;AL # LATIN SMALL LETTER VY
-A762;AL # LATIN CAPITAL LETTER VISIGOTHIC Z
-A763;AL # LATIN SMALL LETTER VISIGOTHIC Z
-A764;AL # LATIN CAPITAL LETTER THORN WITH STROKE
-A765;AL # LATIN SMALL LETTER THORN WITH STROKE
-A766;AL # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A767;AL # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768;AL # LATIN CAPITAL LETTER VEND
-A769;AL # LATIN SMALL LETTER VEND
-A76A;AL # LATIN CAPITAL LETTER ET
-A76B;AL # LATIN SMALL LETTER ET
-A76C;AL # LATIN CAPITAL LETTER IS
-A76D;AL # LATIN SMALL LETTER IS
-A76E;AL # LATIN CAPITAL LETTER CON
-A76F;AL # LATIN SMALL LETTER CON
-A770;AL # MODIFIER LETTER US
-A771;AL # LATIN SMALL LETTER DUM
-A772;AL # LATIN SMALL LETTER LUM
-A773;AL # LATIN SMALL LETTER MUM
-A774;AL # LATIN SMALL LETTER NUM
-A775;AL # LATIN SMALL LETTER RUM
-A776;AL # LATIN LETTER SMALL CAPITAL RUM
-A777;AL # LATIN SMALL LETTER TUM
-A778;AL # LATIN SMALL LETTER UM
-A779;AL # LATIN CAPITAL LETTER INSULAR D
-A77A;AL # LATIN SMALL LETTER INSULAR D
-A77B;AL # LATIN CAPITAL LETTER INSULAR F
-A77C;AL # LATIN SMALL LETTER INSULAR F
-A77D;AL # LATIN CAPITAL LETTER INSULAR G
-A77E;AL # LATIN CAPITAL LETTER TURNED INSULAR G
-A77F;AL # LATIN SMALL LETTER TURNED INSULAR G
-A780;AL # LATIN CAPITAL LETTER TURNED L
-A781;AL # LATIN SMALL LETTER TURNED L
-A782;AL # LATIN CAPITAL LETTER INSULAR R
-A783;AL # LATIN SMALL LETTER INSULAR R
-A784;AL # LATIN CAPITAL LETTER INSULAR S
-A785;AL # LATIN SMALL LETTER INSULAR S
-A786;AL # LATIN CAPITAL LETTER INSULAR T
-A787;AL # LATIN SMALL LETTER INSULAR T
-A788;AL # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789;AL # MODIFIER LETTER COLON
-A78A;AL # MODIFIER LETTER SHORT EQUALS SIGN
-A78B;AL # LATIN CAPITAL LETTER SALTILLO
-A78C;AL # LATIN SMALL LETTER SALTILLO
-A7FB;AL # LATIN EPIGRAPHIC LETTER REVERSED F
-A7FC;AL # LATIN EPIGRAPHIC LETTER REVERSED P
-A7FD;AL # LATIN EPIGRAPHIC LETTER INVERTED M
-A7FE;AL # LATIN EPIGRAPHIC LETTER I LONGA
-A7FF;AL # LATIN EPIGRAPHIC LETTER ARCHAIC M
-A800;AL # SYLOTI NAGRI LETTER A
-A801;AL # SYLOTI NAGRI LETTER I
-A802;CM # SYLOTI NAGRI SIGN DVISVARA
-A803;AL # SYLOTI NAGRI LETTER U
-A804;AL # SYLOTI NAGRI LETTER E
-A805;AL # SYLOTI NAGRI LETTER O
-A806;CM # SYLOTI NAGRI SIGN HASANTA
-A807;AL # SYLOTI NAGRI LETTER KO
-A808;AL # SYLOTI NAGRI LETTER KHO
-A809;AL # SYLOTI NAGRI LETTER GO
-A80A;AL # SYLOTI NAGRI LETTER GHO
-A80B;CM # SYLOTI NAGRI SIGN ANUSVARA
-A80C;AL # SYLOTI NAGRI LETTER CO
-A80D;AL # SYLOTI NAGRI LETTER CHO
-A80E;AL # SYLOTI NAGRI LETTER JO
-A80F;AL # SYLOTI NAGRI LETTER JHO
-A810;AL # SYLOTI NAGRI LETTER TTO
-A811;AL # SYLOTI NAGRI LETTER TTHO
-A812;AL # SYLOTI NAGRI LETTER DDO
-A813;AL # SYLOTI NAGRI LETTER DDHO
-A814;AL # SYLOTI NAGRI LETTER TO
-A815;AL # SYLOTI NAGRI LETTER THO
-A816;AL # SYLOTI NAGRI LETTER DO
-A817;AL # SYLOTI NAGRI LETTER DHO
-A818;AL # SYLOTI NAGRI LETTER NO
-A819;AL # SYLOTI NAGRI LETTER PO
-A81A;AL # SYLOTI NAGRI LETTER PHO
-A81B;AL # SYLOTI NAGRI LETTER BO
-A81C;AL # SYLOTI NAGRI LETTER BHO
-A81D;AL # SYLOTI NAGRI LETTER MO
-A81E;AL # SYLOTI NAGRI LETTER RO
-A81F;AL # SYLOTI NAGRI LETTER LO
-A820;AL # SYLOTI NAGRI LETTER RRO
-A821;AL # SYLOTI NAGRI LETTER SO
-A822;AL # SYLOTI NAGRI LETTER HO
-A823;CM # SYLOTI NAGRI VOWEL SIGN A
-A824;CM # SYLOTI NAGRI VOWEL SIGN I
-A825;CM # SYLOTI NAGRI VOWEL SIGN U
-A826;CM # SYLOTI NAGRI VOWEL SIGN E
-A827;CM # SYLOTI NAGRI VOWEL SIGN OO
-A828;AL # SYLOTI NAGRI POETRY MARK-1
-A829;AL # SYLOTI NAGRI POETRY MARK-2
-A82A;AL # SYLOTI NAGRI POETRY MARK-3
-A82B;AL # SYLOTI NAGRI POETRY MARK-4
-A830;AL # NORTH INDIC FRACTION ONE QUARTER
-A831;AL # NORTH INDIC FRACTION ONE HALF
-A832;AL # NORTH INDIC FRACTION THREE QUARTERS
-A833;AL # NORTH INDIC FRACTION ONE SIXTEENTH
-A834;AL # NORTH INDIC FRACTION ONE EIGHTH
-A835;AL # NORTH INDIC FRACTION THREE SIXTEENTHS
-A836;AL # NORTH INDIC QUARTER MARK
-A837;AL # NORTH INDIC PLACEHOLDER MARK
-A838;PO # NORTH INDIC RUPEE MARK
-A839;AL # NORTH INDIC QUANTITY MARK
-A840;AL # PHAGS-PA LETTER KA
-A841;AL # PHAGS-PA LETTER KHA
-A842;AL # PHAGS-PA LETTER GA
-A843;AL # PHAGS-PA LETTER NGA
-A844;AL # PHAGS-PA LETTER CA
-A845;AL # PHAGS-PA LETTER CHA
-A846;AL # PHAGS-PA LETTER JA
-A847;AL # PHAGS-PA LETTER NYA
-A848;AL # PHAGS-PA LETTER TA
-A849;AL # PHAGS-PA LETTER THA
-A84A;AL # PHAGS-PA LETTER DA
-A84B;AL # PHAGS-PA LETTER NA
-A84C;AL # PHAGS-PA LETTER PA
-A84D;AL # PHAGS-PA LETTER PHA
-A84E;AL # PHAGS-PA LETTER BA
-A84F;AL # PHAGS-PA LETTER MA
-A850;AL # PHAGS-PA LETTER TSA
-A851;AL # PHAGS-PA LETTER TSHA
-A852;AL # PHAGS-PA LETTER DZA
-A853;AL # PHAGS-PA LETTER WA
-A854;AL # PHAGS-PA LETTER ZHA
-A855;AL # PHAGS-PA LETTER ZA
-A856;AL # PHAGS-PA LETTER SMALL A
-A857;AL # PHAGS-PA LETTER YA
-A858;AL # PHAGS-PA LETTER RA
-A859;AL # PHAGS-PA LETTER LA
-A85A;AL # PHAGS-PA LETTER SHA
-A85B;AL # PHAGS-PA LETTER SA
-A85C;AL # PHAGS-PA LETTER HA
-A85D;AL # PHAGS-PA LETTER A
-A85E;AL # PHAGS-PA LETTER I
-A85F;AL # PHAGS-PA LETTER U
-A860;AL # PHAGS-PA LETTER E
-A861;AL # PHAGS-PA LETTER O
-A862;AL # PHAGS-PA LETTER QA
-A863;AL # PHAGS-PA LETTER XA
-A864;AL # PHAGS-PA LETTER FA
-A865;AL # PHAGS-PA LETTER GGA
-A866;AL # PHAGS-PA LETTER EE
-A867;AL # PHAGS-PA SUBJOINED LETTER WA
-A868;AL # PHAGS-PA SUBJOINED LETTER YA
-A869;AL # PHAGS-PA LETTER TTA
-A86A;AL # PHAGS-PA LETTER TTHA
-A86B;AL # PHAGS-PA LETTER DDA
-A86C;AL # PHAGS-PA LETTER NNA
-A86D;AL # PHAGS-PA LETTER ALTERNATE YA
-A86E;AL # PHAGS-PA LETTER VOICELESS SHA
-A86F;AL # PHAGS-PA LETTER VOICED HA
-A870;AL # PHAGS-PA LETTER ASPIRATED FA
-A871;AL # PHAGS-PA SUBJOINED LETTER RA
-A872;AL # PHAGS-PA SUPERFIXED LETTER RA
-A873;AL # PHAGS-PA LETTER CANDRABINDU
-A874;BB # PHAGS-PA SINGLE HEAD MARK
-A875;BB # PHAGS-PA DOUBLE HEAD MARK
-A876;EX # PHAGS-PA MARK SHAD
-A877;EX # PHAGS-PA MARK DOUBLE SHAD
-A880;CM # SAURASHTRA SIGN ANUSVARA
-A881;CM # SAURASHTRA SIGN VISARGA
-A882;AL # SAURASHTRA LETTER A
-A883;AL # SAURASHTRA LETTER AA
-A884;AL # SAURASHTRA LETTER I
-A885;AL # SAURASHTRA LETTER II
-A886;AL # SAURASHTRA LETTER U
-A887;AL # SAURASHTRA LETTER UU
-A888;AL # SAURASHTRA LETTER VOCALIC R
-A889;AL # SAURASHTRA LETTER VOCALIC RR
-A88A;AL # SAURASHTRA LETTER VOCALIC L
-A88B;AL # SAURASHTRA LETTER VOCALIC LL
-A88C;AL # SAURASHTRA LETTER E
-A88D;AL # SAURASHTRA LETTER EE
-A88E;AL # SAURASHTRA LETTER AI
-A88F;AL # SAURASHTRA LETTER O
-A890;AL # SAURASHTRA LETTER OO
-A891;AL # SAURASHTRA LETTER AU
-A892;AL # SAURASHTRA LETTER KA
-A893;AL # SAURASHTRA LETTER KHA
-A894;AL # SAURASHTRA LETTER GA
-A895;AL # SAURASHTRA LETTER GHA
-A896;AL # SAURASHTRA LETTER NGA
-A897;AL # SAURASHTRA LETTER CA
-A898;AL # SAURASHTRA LETTER CHA
-A899;AL # SAURASHTRA LETTER JA
-A89A;AL # SAURASHTRA LETTER JHA
-A89B;AL # SAURASHTRA LETTER NYA
-A89C;AL # SAURASHTRA LETTER TTA
-A89D;AL # SAURASHTRA LETTER TTHA
-A89E;AL # SAURASHTRA LETTER DDA
-A89F;AL # SAURASHTRA LETTER DDHA
-A8A0;AL # SAURASHTRA LETTER NNA
-A8A1;AL # SAURASHTRA LETTER TA
-A8A2;AL # SAURASHTRA LETTER THA
-A8A3;AL # SAURASHTRA LETTER DA
-A8A4;AL # SAURASHTRA LETTER DHA
-A8A5;AL # SAURASHTRA LETTER NA
-A8A6;AL # SAURASHTRA LETTER PA
-A8A7;AL # SAURASHTRA LETTER PHA
-A8A8;AL # SAURASHTRA LETTER BA
-A8A9;AL # SAURASHTRA LETTER BHA
-A8AA;AL # SAURASHTRA LETTER MA
-A8AB;AL # SAURASHTRA LETTER YA
-A8AC;AL # SAURASHTRA LETTER RA
-A8AD;AL # SAURASHTRA LETTER LA
-A8AE;AL # SAURASHTRA LETTER VA
-A8AF;AL # SAURASHTRA LETTER SHA
-A8B0;AL # SAURASHTRA LETTER SSA
-A8B1;AL # SAURASHTRA LETTER SA
-A8B2;AL # SAURASHTRA LETTER HA
-A8B3;AL # SAURASHTRA LETTER LLA
-A8B4;CM # SAURASHTRA CONSONANT SIGN HAARU
-A8B5;CM # SAURASHTRA VOWEL SIGN AA
-A8B6;CM # SAURASHTRA VOWEL SIGN I
-A8B7;CM # SAURASHTRA VOWEL SIGN II
-A8B8;CM # SAURASHTRA VOWEL SIGN U
-A8B9;CM # SAURASHTRA VOWEL SIGN UU
-A8BA;CM # SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB;CM # SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC;CM # SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD;CM # SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE;CM # SAURASHTRA VOWEL SIGN E
-A8BF;CM # SAURASHTRA VOWEL SIGN EE
-A8C0;CM # SAURASHTRA VOWEL SIGN AI
-A8C1;CM # SAURASHTRA VOWEL SIGN O
-A8C2;CM # SAURASHTRA VOWEL SIGN OO
-A8C3;CM # SAURASHTRA VOWEL SIGN AU
-A8C4;CM # SAURASHTRA SIGN VIRAMA
-A8CE;BA # SAURASHTRA DANDA
-A8CF;BA # SAURASHTRA DOUBLE DANDA
-A8D0;NU # SAURASHTRA DIGIT ZERO
-A8D1;NU # SAURASHTRA DIGIT ONE
-A8D2;NU # SAURASHTRA DIGIT TWO
-A8D3;NU # SAURASHTRA DIGIT THREE
-A8D4;NU # SAURASHTRA DIGIT FOUR
-A8D5;NU # SAURASHTRA DIGIT FIVE
-A8D6;NU # SAURASHTRA DIGIT SIX
-A8D7;NU # SAURASHTRA DIGIT SEVEN
-A8D8;NU # SAURASHTRA DIGIT EIGHT
-A8D9;NU # SAURASHTRA DIGIT NINE
-A8E0;CM # COMBINING DEVANAGARI DIGIT ZERO
-A8E1;CM # COMBINING DEVANAGARI DIGIT ONE
-A8E2;CM # COMBINING DEVANAGARI DIGIT TWO
-A8E3;CM # COMBINING DEVANAGARI DIGIT THREE
-A8E4;CM # COMBINING DEVANAGARI DIGIT FOUR
-A8E5;CM # COMBINING DEVANAGARI DIGIT FIVE
-A8E6;CM # COMBINING DEVANAGARI DIGIT SIX
-A8E7;CM # COMBINING DEVANAGARI DIGIT SEVEN
-A8E8;CM # COMBINING DEVANAGARI DIGIT EIGHT
-A8E9;CM # COMBINING DEVANAGARI DIGIT NINE
-A8EA;CM # COMBINING DEVANAGARI LETTER A
-A8EB;CM # COMBINING DEVANAGARI LETTER U
-A8EC;CM # COMBINING DEVANAGARI LETTER KA
-A8ED;CM # COMBINING DEVANAGARI LETTER NA
-A8EE;CM # COMBINING DEVANAGARI LETTER PA
-A8EF;CM # COMBINING DEVANAGARI LETTER RA
-A8F0;CM # COMBINING DEVANAGARI LETTER VI
-A8F1;CM # COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2;AL # DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3;AL # DEVANAGARI SIGN CANDRABINDU VIRAMA
-A8F4;AL # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
-A8F5;AL # DEVANAGARI SIGN CANDRABINDU TWO
-A8F6;AL # DEVANAGARI SIGN CANDRABINDU THREE
-A8F7;AL # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8;AL # DEVANAGARI SIGN PUSHPIKA
-A8F9;AL # DEVANAGARI GAP FILLER
-A8FA;AL # DEVANAGARI CARET
-A8FB;AL # DEVANAGARI HEADSTROKE
-A900;NU # KAYAH LI DIGIT ZERO
-A901;NU # KAYAH LI DIGIT ONE
-A902;NU # KAYAH LI DIGIT TWO
-A903;NU # KAYAH LI DIGIT THREE
-A904;NU # KAYAH LI DIGIT FOUR
-A905;NU # KAYAH LI DIGIT FIVE
-A906;NU # KAYAH LI DIGIT SIX
-A907;NU # KAYAH LI DIGIT SEVEN
-A908;NU # KAYAH LI DIGIT EIGHT
-A909;NU # KAYAH LI DIGIT NINE
-A90A;AL # KAYAH LI LETTER KA
-A90B;AL # KAYAH LI LETTER KHA
-A90C;AL # KAYAH LI LETTER GA
-A90D;AL # KAYAH LI LETTER NGA
-A90E;AL # KAYAH LI LETTER SA
-A90F;AL # KAYAH LI LETTER SHA
-A910;AL # KAYAH LI LETTER ZA
-A911;AL # KAYAH LI LETTER NYA
-A912;AL # KAYAH LI LETTER TA
-A913;AL # KAYAH LI LETTER HTA
-A914;AL # KAYAH LI LETTER NA
-A915;AL # KAYAH LI LETTER PA
-A916;AL # KAYAH LI LETTER PHA
-A917;AL # KAYAH LI LETTER MA
-A918;AL # KAYAH LI LETTER DA
-A919;AL # KAYAH LI LETTER BA
-A91A;AL # KAYAH LI LETTER RA
-A91B;AL # KAYAH LI LETTER YA
-A91C;AL # KAYAH LI LETTER LA
-A91D;AL # KAYAH LI LETTER WA
-A91E;AL # KAYAH LI LETTER THA
-A91F;AL # KAYAH LI LETTER HA
-A920;AL # KAYAH LI LETTER VA
-A921;AL # KAYAH LI LETTER CA
-A922;AL # KAYAH LI LETTER A
-A923;AL # KAYAH LI LETTER OE
-A924;AL # KAYAH LI LETTER I
-A925;AL # KAYAH LI LETTER OO
-A926;CM # KAYAH LI VOWEL UE
-A927;CM # KAYAH LI VOWEL E
-A928;CM # KAYAH LI VOWEL U
-A929;CM # KAYAH LI VOWEL EE
-A92A;CM # KAYAH LI VOWEL O
-A92B;CM # KAYAH LI TONE PLOPHU
-A92C;CM # KAYAH LI TONE CALYA
-A92D;CM # KAYAH LI TONE CALYA PLOPHU
-A92E;BA # KAYAH LI SIGN CWI
-A92F;BA # KAYAH LI SIGN SHYA
-A930;AL # REJANG LETTER KA
-A931;AL # REJANG LETTER GA
-A932;AL # REJANG LETTER NGA
-A933;AL # REJANG LETTER TA
-A934;AL # REJANG LETTER DA
-A935;AL # REJANG LETTER NA
-A936;AL # REJANG LETTER PA
-A937;AL # REJANG LETTER BA
-A938;AL # REJANG LETTER MA
-A939;AL # REJANG LETTER CA
-A93A;AL # REJANG LETTER JA
-A93B;AL # REJANG LETTER NYA
-A93C;AL # REJANG LETTER SA
-A93D;AL # REJANG LETTER RA
-A93E;AL # REJANG LETTER LA
-A93F;AL # REJANG LETTER YA
-A940;AL # REJANG LETTER WA
-A941;AL # REJANG LETTER HA
-A942;AL # REJANG LETTER MBA
-A943;AL # REJANG LETTER NGGA
-A944;AL # REJANG LETTER NDA
-A945;AL # REJANG LETTER NYJA
-A946;AL # REJANG LETTER A
-A947;CM # REJANG VOWEL SIGN I
-A948;CM # REJANG VOWEL SIGN U
-A949;CM # REJANG VOWEL SIGN E
-A94A;CM # REJANG VOWEL SIGN AI
-A94B;CM # REJANG VOWEL SIGN O
-A94C;CM # REJANG VOWEL SIGN AU
-A94D;CM # REJANG VOWEL SIGN EU
-A94E;CM # REJANG VOWEL SIGN EA
-A94F;CM # REJANG CONSONANT SIGN NG
-A950;CM # REJANG CONSONANT SIGN N
-A951;CM # REJANG CONSONANT SIGN R
-A952;CM # REJANG CONSONANT SIGN H
-A953;CM # REJANG VIRAMA
-A95F;AL # REJANG SECTION MARK
-A960;JL # HANGUL CHOSEONG TIKEUT-MIEUM
-A961;JL # HANGUL CHOSEONG TIKEUT-PIEUP
-A962;JL # HANGUL CHOSEONG TIKEUT-SIOS
-A963;JL # HANGUL CHOSEONG TIKEUT-CIEUC
-A964;JL # HANGUL CHOSEONG RIEUL-KIYEOK
-A965;JL # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966;JL # HANGUL CHOSEONG RIEUL-TIKEUT
-A967;JL # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968;JL # HANGUL CHOSEONG RIEUL-MIEUM
-A969;JL # HANGUL CHOSEONG RIEUL-PIEUP
-A96A;JL # HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B;JL # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C;JL # HANGUL CHOSEONG RIEUL-SIOS
-A96D;JL # HANGUL CHOSEONG RIEUL-CIEUC
-A96E;JL # HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F;JL # HANGUL CHOSEONG MIEUM-KIYEOK
-A970;JL # HANGUL CHOSEONG MIEUM-TIKEUT
-A971;JL # HANGUL CHOSEONG MIEUM-SIOS
-A972;JL # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973;JL # HANGUL CHOSEONG PIEUP-KHIEUKH
-A974;JL # HANGUL CHOSEONG PIEUP-HIEUH
-A975;JL # HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976;JL # HANGUL CHOSEONG IEUNG-RIEUL
-A977;JL # HANGUL CHOSEONG IEUNG-HIEUH
-A978;JL # HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979;JL # HANGUL CHOSEONG SSANGTHIEUTH
-A97A;JL # HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B;JL # HANGUL CHOSEONG HIEUH-SIOS
-A97C;JL # HANGUL CHOSEONG SSANGYEORINHIEUH
-A980;CM # JAVANESE SIGN PANYANGGA
-A981;CM # JAVANESE SIGN CECAK
-A982;CM # JAVANESE SIGN LAYAR
-A983;CM # JAVANESE SIGN WIGNYAN
-A984;AL # JAVANESE LETTER A
-A985;AL # JAVANESE LETTER I KAWI
-A986;AL # JAVANESE LETTER I
-A987;AL # JAVANESE LETTER II
-A988;AL # JAVANESE LETTER U
-A989;AL # JAVANESE LETTER PA CEREK
-A98A;AL # JAVANESE LETTER NGA LELET
-A98B;AL # JAVANESE LETTER NGA LELET RASWADI
-A98C;AL # JAVANESE LETTER E
-A98D;AL # JAVANESE LETTER AI
-A98E;AL # JAVANESE LETTER O
-A98F;AL # JAVANESE LETTER KA
-A990;AL # JAVANESE LETTER KA SASAK
-A991;AL # JAVANESE LETTER KA MURDA
-A992;AL # JAVANESE LETTER GA
-A993;AL # JAVANESE LETTER GA MURDA
-A994;AL # JAVANESE LETTER NGA
-A995;AL # JAVANESE LETTER CA
-A996;AL # JAVANESE LETTER CA MURDA
-A997;AL # JAVANESE LETTER JA
-A998;AL # JAVANESE LETTER NYA MURDA
-A999;AL # JAVANESE LETTER JA MAHAPRANA
-A99A;AL # JAVANESE LETTER NYA
-A99B;AL # JAVANESE LETTER TTA
-A99C;AL # JAVANESE LETTER TTA MAHAPRANA
-A99D;AL # JAVANESE LETTER DDA
-A99E;AL # JAVANESE LETTER DDA MAHAPRANA
-A99F;AL # JAVANESE LETTER NA MURDA
-A9A0;AL # JAVANESE LETTER TA
-A9A1;AL # JAVANESE LETTER TA MURDA
-A9A2;AL # JAVANESE LETTER DA
-A9A3;AL # JAVANESE LETTER DA MAHAPRANA
-A9A4;AL # JAVANESE LETTER NA
-A9A5;AL # JAVANESE LETTER PA
-A9A6;AL # JAVANESE LETTER PA MURDA
-A9A7;AL # JAVANESE LETTER BA
-A9A8;AL # JAVANESE LETTER BA MURDA
-A9A9;AL # JAVANESE LETTER MA
-A9AA;AL # JAVANESE LETTER YA
-A9AB;AL # JAVANESE LETTER RA
-A9AC;AL # JAVANESE LETTER RA AGUNG
-A9AD;AL # JAVANESE LETTER LA
-A9AE;AL # JAVANESE LETTER WA
-A9AF;AL # JAVANESE LETTER SA MURDA
-A9B0;AL # JAVANESE LETTER SA MAHAPRANA
-A9B1;AL # JAVANESE LETTER SA
-A9B2;AL # JAVANESE LETTER HA
-A9B3;CM # JAVANESE SIGN CECAK TELU
-A9B4;CM # JAVANESE VOWEL SIGN TARUNG
-A9B5;CM # JAVANESE VOWEL SIGN TOLONG
-A9B6;CM # JAVANESE VOWEL SIGN WULU
-A9B7;CM # JAVANESE VOWEL SIGN WULU MELIK
-A9B8;CM # JAVANESE VOWEL SIGN SUKU
-A9B9;CM # JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA;CM # JAVANESE VOWEL SIGN TALING
-A9BB;CM # JAVANESE VOWEL SIGN DIRGA MURE
-A9BC;CM # JAVANESE VOWEL SIGN PEPET
-A9BD;CM # JAVANESE CONSONANT SIGN KERET
-A9BE;CM # JAVANESE CONSONANT SIGN PENGKAL
-A9BF;CM # JAVANESE CONSONANT SIGN CAKRA
-A9C0;CM # JAVANESE PANGKON
-A9C1;AL # JAVANESE LEFT RERENGGAN
-A9C2;AL # JAVANESE RIGHT RERENGGAN
-A9C3;AL # JAVANESE PADA ANDAP
-A9C4;AL # JAVANESE PADA MADYA
-A9C5;AL # JAVANESE PADA LUHUR
-A9C6;AL # JAVANESE PADA WINDU
-A9C7;BA # JAVANESE PADA PANGKAT
-A9C8;BA # JAVANESE PADA LINGSA
-A9C9;BA # JAVANESE PADA LUNGSI
-A9CA;AL # JAVANESE PADA ADEG
-A9CB;AL # JAVANESE PADA ADEG ADEG
-A9CC;AL # JAVANESE PADA PISELEH
-A9CD;AL # JAVANESE TURNED PADA PISELEH
-A9CF;AL # JAVANESE PANGRANGKEP
-A9D0;NU # JAVANESE DIGIT ZERO
-A9D1;NU # JAVANESE DIGIT ONE
-A9D2;NU # JAVANESE DIGIT TWO
-A9D3;NU # JAVANESE DIGIT THREE
-A9D4;NU # JAVANESE DIGIT FOUR
-A9D5;NU # JAVANESE DIGIT FIVE
-A9D6;NU # JAVANESE DIGIT SIX
-A9D7;NU # JAVANESE DIGIT SEVEN
-A9D8;NU # JAVANESE DIGIT EIGHT
-A9D9;NU # JAVANESE DIGIT NINE
-A9DE;AL # JAVANESE PADA TIRTA TUMETES
-A9DF;AL # JAVANESE PADA ISEN-ISEN
-AA00;AL # CHAM LETTER A
-AA01;AL # CHAM LETTER I
-AA02;AL # CHAM LETTER U
-AA03;AL # CHAM LETTER E
-AA04;AL # CHAM LETTER AI
-AA05;AL # CHAM LETTER O
-AA06;AL # CHAM LETTER KA
-AA07;AL # CHAM LETTER KHA
-AA08;AL # CHAM LETTER GA
-AA09;AL # CHAM LETTER GHA
-AA0A;AL # CHAM LETTER NGUE
-AA0B;AL # CHAM LETTER NGA
-AA0C;AL # CHAM LETTER CHA
-AA0D;AL # CHAM LETTER CHHA
-AA0E;AL # CHAM LETTER JA
-AA0F;AL # CHAM LETTER JHA
-AA10;AL # CHAM LETTER NHUE
-AA11;AL # CHAM LETTER NHA
-AA12;AL # CHAM LETTER NHJA
-AA13;AL # CHAM LETTER TA
-AA14;AL # CHAM LETTER THA
-AA15;AL # CHAM LETTER DA
-AA16;AL # CHAM LETTER DHA
-AA17;AL # CHAM LETTER NUE
-AA18;AL # CHAM LETTER NA
-AA19;AL # CHAM LETTER DDA
-AA1A;AL # CHAM LETTER PA
-AA1B;AL # CHAM LETTER PPA
-AA1C;AL # CHAM LETTER PHA
-AA1D;AL # CHAM LETTER BA
-AA1E;AL # CHAM LETTER BHA
-AA1F;AL # CHAM LETTER MUE
-AA20;AL # CHAM LETTER MA
-AA21;AL # CHAM LETTER BBA
-AA22;AL # CHAM LETTER YA
-AA23;AL # CHAM LETTER RA
-AA24;AL # CHAM LETTER LA
-AA25;AL # CHAM LETTER VA
-AA26;AL # CHAM LETTER SSA
-AA27;AL # CHAM LETTER SA
-AA28;AL # CHAM LETTER HA
-AA29;CM # CHAM VOWEL SIGN AA
-AA2A;CM # CHAM VOWEL SIGN I
-AA2B;CM # CHAM VOWEL SIGN II
-AA2C;CM # CHAM VOWEL SIGN EI
-AA2D;CM # CHAM VOWEL SIGN U
-AA2E;CM # CHAM VOWEL SIGN OE
-AA2F;CM # CHAM VOWEL SIGN O
-AA30;CM # CHAM VOWEL SIGN AI
-AA31;CM # CHAM VOWEL SIGN AU
-AA32;CM # CHAM VOWEL SIGN UE
-AA33;CM # CHAM CONSONANT SIGN YA
-AA34;CM # CHAM CONSONANT SIGN RA
-AA35;CM # CHAM CONSONANT SIGN LA
-AA36;CM # CHAM CONSONANT SIGN WA
-AA40;AL # CHAM LETTER FINAL K
-AA41;AL # CHAM LETTER FINAL G
-AA42;AL # CHAM LETTER FINAL NG
-AA43;CM # CHAM CONSONANT SIGN FINAL NG
-AA44;AL # CHAM LETTER FINAL CH
-AA45;AL # CHAM LETTER FINAL T
-AA46;AL # CHAM LETTER FINAL N
-AA47;AL # CHAM LETTER FINAL P
-AA48;AL # CHAM LETTER FINAL Y
-AA49;AL # CHAM LETTER FINAL R
-AA4A;AL # CHAM LETTER FINAL L
-AA4B;AL # CHAM LETTER FINAL SS
-AA4C;CM # CHAM CONSONANT SIGN FINAL M
-AA4D;CM # CHAM CONSONANT SIGN FINAL H
-AA50;NU # CHAM DIGIT ZERO
-AA51;NU # CHAM DIGIT ONE
-AA52;NU # CHAM DIGIT TWO
-AA53;NU # CHAM DIGIT THREE
-AA54;NU # CHAM DIGIT FOUR
-AA55;NU # CHAM DIGIT FIVE
-AA56;NU # CHAM DIGIT SIX
-AA57;NU # CHAM DIGIT SEVEN
-AA58;NU # CHAM DIGIT EIGHT
-AA59;NU # CHAM DIGIT NINE
-AA5C;AL # CHAM PUNCTUATION SPIRAL
-AA5D;BA # CHAM PUNCTUATION DANDA
-AA5E;BA # CHAM PUNCTUATION DOUBLE DANDA
-AA5F;BA # CHAM PUNCTUATION TRIPLE DANDA
-AA60;SA # MYANMAR LETTER KHAMTI GA
-AA61;SA # MYANMAR LETTER KHAMTI CA
-AA62;SA # MYANMAR LETTER KHAMTI CHA
-AA63;SA # MYANMAR LETTER KHAMTI JA
-AA64;SA # MYANMAR LETTER KHAMTI JHA
-AA65;SA # MYANMAR LETTER KHAMTI NYA
-AA66;SA # MYANMAR LETTER KHAMTI TTA
-AA67;SA # MYANMAR LETTER KHAMTI TTHA
-AA68;SA # MYANMAR LETTER KHAMTI DDA
-AA69;SA # MYANMAR LETTER KHAMTI DDHA
-AA6A;SA # MYANMAR LETTER KHAMTI DHA
-AA6B;SA # MYANMAR LETTER KHAMTI NA
-AA6C;SA # MYANMAR LETTER KHAMTI SA
-AA6D;SA # MYANMAR LETTER KHAMTI HA
-AA6E;SA # MYANMAR LETTER KHAMTI HHA
-AA6F;SA # MYANMAR LETTER KHAMTI FA
-AA70;SA # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71;SA # MYANMAR LETTER KHAMTI XA
-AA72;SA # MYANMAR LETTER KHAMTI ZA
-AA73;SA # MYANMAR LETTER KHAMTI RA
-AA74;SA # MYANMAR LOGOGRAM KHAMTI OAY
-AA75;SA # MYANMAR LOGOGRAM KHAMTI QN
-AA76;SA # MYANMAR LOGOGRAM KHAMTI HM
-AA77;SA # MYANMAR SYMBOL AITON EXCLAMATION
-AA78;SA # MYANMAR SYMBOL AITON ONE
-AA79;SA # MYANMAR SYMBOL AITON TWO
-AA7A;SA # MYANMAR LETTER AITON RA
-AA7B;SA # MYANMAR SIGN PAO KAREN TONE
-AA80;SA # TAI VIET LETTER LOW KO
-AA81;SA # TAI VIET LETTER HIGH KO
-AA82;SA # TAI VIET LETTER LOW KHO
-AA83;SA # TAI VIET LETTER HIGH KHO
-AA84;SA # TAI VIET LETTER LOW KHHO
-AA85;SA # TAI VIET LETTER HIGH KHHO
-AA86;SA # TAI VIET LETTER LOW GO
-AA87;SA # TAI VIET LETTER HIGH GO
-AA88;SA # TAI VIET LETTER LOW NGO
-AA89;SA # TAI VIET LETTER HIGH NGO
-AA8A;SA # TAI VIET LETTER LOW CO
-AA8B;SA # TAI VIET LETTER HIGH CO
-AA8C;SA # TAI VIET LETTER LOW CHO
-AA8D;SA # TAI VIET LETTER HIGH CHO
-AA8E;SA # TAI VIET LETTER LOW SO
-AA8F;SA # TAI VIET LETTER HIGH SO
-AA90;SA # TAI VIET LETTER LOW NYO
-AA91;SA # TAI VIET LETTER HIGH NYO
-AA92;SA # TAI VIET LETTER LOW DO
-AA93;SA # TAI VIET LETTER HIGH DO
-AA94;SA # TAI VIET LETTER LOW TO
-AA95;SA # TAI VIET LETTER HIGH TO
-AA96;SA # TAI VIET LETTER LOW THO
-AA97;SA # TAI VIET LETTER HIGH THO
-AA98;SA # TAI VIET LETTER LOW NO
-AA99;SA # TAI VIET LETTER HIGH NO
-AA9A;SA # TAI VIET LETTER LOW BO
-AA9B;SA # TAI VIET LETTER HIGH BO
-AA9C;SA # TAI VIET LETTER LOW PO
-AA9D;SA # TAI VIET LETTER HIGH PO
-AA9E;SA # TAI VIET LETTER LOW PHO
-AA9F;SA # TAI VIET LETTER HIGH PHO
-AAA0;SA # TAI VIET LETTER LOW FO
-AAA1;SA # TAI VIET LETTER HIGH FO
-AAA2;SA # TAI VIET LETTER LOW MO
-AAA3;SA # TAI VIET LETTER HIGH MO
-AAA4;SA # TAI VIET LETTER LOW YO
-AAA5;SA # TAI VIET LETTER HIGH YO
-AAA6;SA # TAI VIET LETTER LOW RO
-AAA7;SA # TAI VIET LETTER HIGH RO
-AAA8;SA # TAI VIET LETTER LOW LO
-AAA9;SA # TAI VIET LETTER HIGH LO
-AAAA;SA # TAI VIET LETTER LOW VO
-AAAB;SA # TAI VIET LETTER HIGH VO
-AAAC;SA # TAI VIET LETTER LOW HO
-AAAD;SA # TAI VIET LETTER HIGH HO
-AAAE;SA # TAI VIET LETTER LOW O
-AAAF;SA # TAI VIET LETTER HIGH O
-AAB0;SA # TAI VIET MAI KANG
-AAB1;SA # TAI VIET VOWEL AA
-AAB2;SA # TAI VIET VOWEL I
-AAB3;SA # TAI VIET VOWEL UE
-AAB4;SA # TAI VIET VOWEL U
-AAB5;SA # TAI VIET VOWEL E
-AAB6;SA # TAI VIET VOWEL O
-AAB7;SA # TAI VIET MAI KHIT
-AAB8;SA # TAI VIET VOWEL IA
-AAB9;SA # TAI VIET VOWEL UEA
-AABA;SA # TAI VIET VOWEL UA
-AABB;SA # TAI VIET VOWEL AUE
-AABC;SA # TAI VIET VOWEL AY
-AABD;SA # TAI VIET VOWEL AN
-AABE;SA # TAI VIET VOWEL AM
-AABF;SA # TAI VIET TONE MAI EK
-AAC0;SA # TAI VIET TONE MAI NUENG
-AAC1;SA # TAI VIET TONE MAI THO
-AAC2;SA # TAI VIET TONE MAI SONG
-AADB;SA # TAI VIET SYMBOL KON
-AADC;SA # TAI VIET SYMBOL NUENG
-AADD;SA # TAI VIET SYMBOL SAM
-AADE;SA # TAI VIET SYMBOL HO HOI
-AADF;SA # TAI VIET SYMBOL KOI KOI
-ABC0;AL # MEETEI MAYEK LETTER KOK
-ABC1;AL # MEETEI MAYEK LETTER SAM
-ABC2;AL # MEETEI MAYEK LETTER LAI
-ABC3;AL # MEETEI MAYEK LETTER MIT
-ABC4;AL # MEETEI MAYEK LETTER PA
-ABC5;AL # MEETEI MAYEK LETTER NA
-ABC6;AL # MEETEI MAYEK LETTER CHIL
-ABC7;AL # MEETEI MAYEK LETTER TIL
-ABC8;AL # MEETEI MAYEK LETTER KHOU
-ABC9;AL # MEETEI MAYEK LETTER NGOU
-ABCA;AL # MEETEI MAYEK LETTER THOU
-ABCB;AL # MEETEI MAYEK LETTER WAI
-ABCC;AL # MEETEI MAYEK LETTER YANG
-ABCD;AL # MEETEI MAYEK LETTER HUK
-ABCE;AL # MEETEI MAYEK LETTER UN
-ABCF;AL # MEETEI MAYEK LETTER I
-ABD0;AL # MEETEI MAYEK LETTER PHAM
-ABD1;AL # MEETEI MAYEK LETTER ATIYA
-ABD2;AL # MEETEI MAYEK LETTER GOK
-ABD3;AL # MEETEI MAYEK LETTER JHAM
-ABD4;AL # MEETEI MAYEK LETTER RAI
-ABD5;AL # MEETEI MAYEK LETTER BA
-ABD6;AL # MEETEI MAYEK LETTER JIL
-ABD7;AL # MEETEI MAYEK LETTER DIL
-ABD8;AL # MEETEI MAYEK LETTER GHOU
-ABD9;AL # MEETEI MAYEK LETTER DHOU
-ABDA;AL # MEETEI MAYEK LETTER BHAM
-ABDB;AL # MEETEI MAYEK LETTER KOK LONSUM
-ABDC;AL # MEETEI MAYEK LETTER LAI LONSUM
-ABDD;AL # MEETEI MAYEK LETTER MIT LONSUM
-ABDE;AL # MEETEI MAYEK LETTER PA LONSUM
-ABDF;AL # MEETEI MAYEK LETTER NA LONSUM
-ABE0;AL # MEETEI MAYEK LETTER TIL LONSUM
-ABE1;AL # MEETEI MAYEK LETTER NGOU LONSUM
-ABE2;AL # MEETEI MAYEK LETTER I LONSUM
-ABE3;CM # MEETEI MAYEK VOWEL SIGN ONAP
-ABE4;CM # MEETEI MAYEK VOWEL SIGN INAP
-ABE5;CM # MEETEI MAYEK VOWEL SIGN ANAP
-ABE6;CM # MEETEI MAYEK VOWEL SIGN YENAP
-ABE7;CM # MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8;CM # MEETEI MAYEK VOWEL SIGN UNAP
-ABE9;CM # MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA;CM # MEETEI MAYEK VOWEL SIGN NUNG
-ABEB;BA # MEETEI MAYEK CHEIKHEI
-ABEC;CM # MEETEI MAYEK LUM IYEK
-ABED;CM # MEETEI MAYEK APUN IYEK
-ABF0;NU # MEETEI MAYEK DIGIT ZERO
-ABF1;NU # MEETEI MAYEK DIGIT ONE
-ABF2;NU # MEETEI MAYEK DIGIT TWO
-ABF3;NU # MEETEI MAYEK DIGIT THREE
-ABF4;NU # MEETEI MAYEK DIGIT FOUR
-ABF5;NU # MEETEI MAYEK DIGIT FIVE
-ABF6;NU # MEETEI MAYEK DIGIT SIX
-ABF7;NU # MEETEI MAYEK DIGIT SEVEN
-ABF8;NU # MEETEI MAYEK DIGIT EIGHT
-ABF9;NU # MEETEI MAYEK DIGIT NINE
-AC00;H2 # HANGUL SYLLABLE GA
-AC01..AC1B;H3 # HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
-AC1C;H2 # HANGUL SYLLABLE GAE
-AC1D..AC37;H3 # HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
-AC38;H2 # HANGUL SYLLABLE GYA
-AC39..AC53;H3 # HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
-AC54;H2 # HANGUL SYLLABLE GYAE
-AC55..AC6F;H3 # HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
-AC70;H2 # HANGUL SYLLABLE GEO
-AC71..AC8B;H3 # HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
-AC8C;H2 # HANGUL SYLLABLE GE
-AC8D..ACA7;H3 # HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
-ACA8;H2 # HANGUL SYLLABLE GYEO
-ACA9..ACC3;H3 # HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
-ACC4;H2 # HANGUL SYLLABLE GYE
-ACC5..ACDF;H3 # HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
-ACE0;H2 # HANGUL SYLLABLE GO
-ACE1..ACFB;H3 # HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
-ACFC;H2 # HANGUL SYLLABLE GWA
-ACFD..AD17;H3 # HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
-AD18;H2 # HANGUL SYLLABLE GWAE
-AD19..AD33;H3 # HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
-AD34;H2 # HANGUL SYLLABLE GOE
-AD35..AD4F;H3 # HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
-AD50;H2 # HANGUL SYLLABLE GYO
-AD51..AD6B;H3 # HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
-AD6C;H2 # HANGUL SYLLABLE GU
-AD6D..AD87;H3 # HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
-AD88;H2 # HANGUL SYLLABLE GWEO
-AD89..ADA3;H3 # HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
-ADA4;H2 # HANGUL SYLLABLE GWE
-ADA5..ADBF;H3 # HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
-ADC0;H2 # HANGUL SYLLABLE GWI
-ADC1..ADDB;H3 # HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
-ADDC;H2 # HANGUL SYLLABLE GYU
-ADDD..ADF7;H3 # HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
-ADF8;H2 # HANGUL SYLLABLE GEU
-ADF9..AE13;H3 # HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
-AE14;H2 # HANGUL SYLLABLE GYI
-AE15..AE2F;H3 # HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
-AE30;H2 # HANGUL SYLLABLE GI
-AE31..AE4B;H3 # HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
-AE4C;H2 # HANGUL SYLLABLE GGA
-AE4D..AE67;H3 # HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
-AE68;H2 # HANGUL SYLLABLE GGAE
-AE69..AE83;H3 # HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
-AE84;H2 # HANGUL SYLLABLE GGYA
-AE85..AE9F;H3 # HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
-AEA0;H2 # HANGUL SYLLABLE GGYAE
-AEA1..AEBB;H3 # HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
-AEBC;H2 # HANGUL SYLLABLE GGEO
-AEBD..AED7;H3 # HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
-AED8;H2 # HANGUL SYLLABLE GGE
-AED9..AEF3;H3 # HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
-AEF4;H2 # HANGUL SYLLABLE GGYEO
-AEF5..AF0F;H3 # HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
-AF10;H2 # HANGUL SYLLABLE GGYE
-AF11..AF2B;H3 # HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
-AF2C;H2 # HANGUL SYLLABLE GGO
-AF2D..AF47;H3 # HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
-AF48;H2 # HANGUL SYLLABLE GGWA
-AF49..AF63;H3 # HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
-AF64;H2 # HANGUL SYLLABLE GGWAE
-AF65..AF7F;H3 # HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
-AF80;H2 # HANGUL SYLLABLE GGOE
-AF81..AF9B;H3 # HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
-AF9C;H2 # HANGUL SYLLABLE GGYO
-AF9D..AFB7;H3 # HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
-AFB8;H2 # HANGUL SYLLABLE GGU
-AFB9..AFD3;H3 # HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
-AFD4;H2 # HANGUL SYLLABLE GGWEO
-AFD5..AFEF;H3 # HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
-AFF0;H2 # HANGUL SYLLABLE GGWE
-AFF1..B00B;H3 # HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
-B00C;H2 # HANGUL SYLLABLE GGWI
-B00D..B027;H3 # HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
-B028;H2 # HANGUL SYLLABLE GGYU
-B029..B043;H3 # HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
-B044;H2 # HANGUL SYLLABLE GGEU
-B045..B05F;H3 # HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
-B060;H2 # HANGUL SYLLABLE GGYI
-B061..B07B;H3 # HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
-B07C;H2 # HANGUL SYLLABLE GGI
-B07D..B097;H3 # HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
-B098;H2 # HANGUL SYLLABLE NA
-B099..B0B3;H3 # HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
-B0B4;H2 # HANGUL SYLLABLE NAE
-B0B5..B0CF;H3 # HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
-B0D0;H2 # HANGUL SYLLABLE NYA
-B0D1..B0EB;H3 # HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
-B0EC;H2 # HANGUL SYLLABLE NYAE
-B0ED..B107;H3 # HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
-B108;H2 # HANGUL SYLLABLE NEO
-B109..B123;H3 # HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
-B124;H2 # HANGUL SYLLABLE NE
-B125..B13F;H3 # HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
-B140;H2 # HANGUL SYLLABLE NYEO
-B141..B15B;H3 # HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
-B15C;H2 # HANGUL SYLLABLE NYE
-B15D..B177;H3 # HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
-B178;H2 # HANGUL SYLLABLE NO
-B179..B193;H3 # HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
-B194;H2 # HANGUL SYLLABLE NWA
-B195..B1AF;H3 # HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
-B1B0;H2 # HANGUL SYLLABLE NWAE
-B1B1..B1CB;H3 # HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
-B1CC;H2 # HANGUL SYLLABLE NOE
-B1CD..B1E7;H3 # HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
-B1E8;H2 # HANGUL SYLLABLE NYO
-B1E9..B203;H3 # HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
-B204;H2 # HANGUL SYLLABLE NU
-B205..B21F;H3 # HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
-B220;H2 # HANGUL SYLLABLE NWEO
-B221..B23B;H3 # HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
-B23C;H2 # HANGUL SYLLABLE NWE
-B23D..B257;H3 # HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
-B258;H2 # HANGUL SYLLABLE NWI
-B259..B273;H3 # HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
-B274;H2 # HANGUL SYLLABLE NYU
-B275..B28F;H3 # HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
-B290;H2 # HANGUL SYLLABLE NEU
-B291..B2AB;H3 # HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
-B2AC;H2 # HANGUL SYLLABLE NYI
-B2AD..B2C7;H3 # HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
-B2C8;H2 # HANGUL SYLLABLE NI
-B2C9..B2E3;H3 # HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
-B2E4;H2 # HANGUL SYLLABLE DA
-B2E5..B2FF;H3 # HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
-B300;H2 # HANGUL SYLLABLE DAE
-B301..B31B;H3 # HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
-B31C;H2 # HANGUL SYLLABLE DYA
-B31D..B337;H3 # HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
-B338;H2 # HANGUL SYLLABLE DYAE
-B339..B353;H3 # HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
-B354;H2 # HANGUL SYLLABLE DEO
-B355..B36F;H3 # HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
-B370;H2 # HANGUL SYLLABLE DE
-B371..B38B;H3 # HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
-B38C;H2 # HANGUL SYLLABLE DYEO
-B38D..B3A7;H3 # HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
-B3A8;H2 # HANGUL SYLLABLE DYE
-B3A9..B3C3;H3 # HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
-B3C4;H2 # HANGUL SYLLABLE DO
-B3C5..B3DF;H3 # HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
-B3E0;H2 # HANGUL SYLLABLE DWA
-B3E1..B3FB;H3 # HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
-B3FC;H2 # HANGUL SYLLABLE DWAE
-B3FD..B417;H3 # HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
-B418;H2 # HANGUL SYLLABLE DOE
-B419..B433;H3 # HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
-B434;H2 # HANGUL SYLLABLE DYO
-B435..B44F;H3 # HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
-B450;H2 # HANGUL SYLLABLE DU
-B451..B46B;H3 # HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
-B46C;H2 # HANGUL SYLLABLE DWEO
-B46D..B487;H3 # HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
-B488;H2 # HANGUL SYLLABLE DWE
-B489..B4A3;H3 # HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
-B4A4;H2 # HANGUL SYLLABLE DWI
-B4A5..B4BF;H3 # HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
-B4C0;H2 # HANGUL SYLLABLE DYU
-B4C1..B4DB;H3 # HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
-B4DC;H2 # HANGUL SYLLABLE DEU
-B4DD..B4F7;H3 # HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
-B4F8;H2 # HANGUL SYLLABLE DYI
-B4F9..B513;H3 # HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
-B514;H2 # HANGUL SYLLABLE DI
-B515..B52F;H3 # HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
-B530;H2 # HANGUL SYLLABLE DDA
-B531..B54B;H3 # HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
-B54C;H2 # HANGUL SYLLABLE DDAE
-B54D..B567;H3 # HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
-B568;H2 # HANGUL SYLLABLE DDYA
-B569..B583;H3 # HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
-B584;H2 # HANGUL SYLLABLE DDYAE
-B585..B59F;H3 # HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
-B5A0;H2 # HANGUL SYLLABLE DDEO
-B5A1..B5BB;H3 # HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
-B5BC;H2 # HANGUL SYLLABLE DDE
-B5BD..B5D7;H3 # HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
-B5D8;H2 # HANGUL SYLLABLE DDYEO
-B5D9..B5F3;H3 # HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
-B5F4;H2 # HANGUL SYLLABLE DDYE
-B5F5..B60F;H3 # HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
-B610;H2 # HANGUL SYLLABLE DDO
-B611..B62B;H3 # HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
-B62C;H2 # HANGUL SYLLABLE DDWA
-B62D..B647;H3 # HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
-B648;H2 # HANGUL SYLLABLE DDWAE
-B649..B663;H3 # HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
-B664;H2 # HANGUL SYLLABLE DDOE
-B665..B67F;H3 # HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
-B680;H2 # HANGUL SYLLABLE DDYO
-B681..B69B;H3 # HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
-B69C;H2 # HANGUL SYLLABLE DDU
-B69D..B6B7;H3 # HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
-B6B8;H2 # HANGUL SYLLABLE DDWEO
-B6B9..B6D3;H3 # HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
-B6D4;H2 # HANGUL SYLLABLE DDWE
-B6D5..B6EF;H3 # HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
-B6F0;H2 # HANGUL SYLLABLE DDWI
-B6F1..B70B;H3 # HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
-B70C;H2 # HANGUL SYLLABLE DDYU
-B70D..B727;H3 # HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
-B728;H2 # HANGUL SYLLABLE DDEU
-B729..B743;H3 # HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
-B744;H2 # HANGUL SYLLABLE DDYI
-B745..B75F;H3 # HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
-B760;H2 # HANGUL SYLLABLE DDI
-B761..B77B;H3 # HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
-B77C;H2 # HANGUL SYLLABLE RA
-B77D..B797;H3 # HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
-B798;H2 # HANGUL SYLLABLE RAE
-B799..B7B3;H3 # HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
-B7B4;H2 # HANGUL SYLLABLE RYA
-B7B5..B7CF;H3 # HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
-B7D0;H2 # HANGUL SYLLABLE RYAE
-B7D1..B7EB;H3 # HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
-B7EC;H2 # HANGUL SYLLABLE REO
-B7ED..B807;H3 # HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
-B808;H2 # HANGUL SYLLABLE RE
-B809..B823;H3 # HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
-B824;H2 # HANGUL SYLLABLE RYEO
-B825..B83F;H3 # HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
-B840;H2 # HANGUL SYLLABLE RYE
-B841..B85B;H3 # HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
-B85C;H2 # HANGUL SYLLABLE RO
-B85D..B877;H3 # HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
-B878;H2 # HANGUL SYLLABLE RWA
-B879..B893;H3 # HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
-B894;H2 # HANGUL SYLLABLE RWAE
-B895..B8AF;H3 # HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
-B8B0;H2 # HANGUL SYLLABLE ROE
-B8B1..B8CB;H3 # HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
-B8CC;H2 # HANGUL SYLLABLE RYO
-B8CD..B8E7;H3 # HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
-B8E8;H2 # HANGUL SYLLABLE RU
-B8E9..B903;H3 # HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
-B904;H2 # HANGUL SYLLABLE RWEO
-B905..B91F;H3 # HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
-B920;H2 # HANGUL SYLLABLE RWE
-B921..B93B;H3 # HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
-B93C;H2 # HANGUL SYLLABLE RWI
-B93D..B957;H3 # HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
-B958;H2 # HANGUL SYLLABLE RYU
-B959..B973;H3 # HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
-B974;H2 # HANGUL SYLLABLE REU
-B975..B98F;H3 # HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
-B990;H2 # HANGUL SYLLABLE RYI
-B991..B9AB;H3 # HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
-B9AC;H2 # HANGUL SYLLABLE RI
-B9AD..B9C7;H3 # HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
-B9C8;H2 # HANGUL SYLLABLE MA
-B9C9..B9E3;H3 # HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
-B9E4;H2 # HANGUL SYLLABLE MAE
-B9E5..B9FF;H3 # HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
-BA00;H2 # HANGUL SYLLABLE MYA
-BA01..BA1B;H3 # HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
-BA1C;H2 # HANGUL SYLLABLE MYAE
-BA1D..BA37;H3 # HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
-BA38;H2 # HANGUL SYLLABLE MEO
-BA39..BA53;H3 # HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
-BA54;H2 # HANGUL SYLLABLE ME
-BA55..BA6F;H3 # HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
-BA70;H2 # HANGUL SYLLABLE MYEO
-BA71..BA8B;H3 # HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
-BA8C;H2 # HANGUL SYLLABLE MYE
-BA8D..BAA7;H3 # HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
-BAA8;H2 # HANGUL SYLLABLE MO
-BAA9..BAC3;H3 # HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
-BAC4;H2 # HANGUL SYLLABLE MWA
-BAC5..BADF;H3 # HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
-BAE0;H2 # HANGUL SYLLABLE MWAE
-BAE1..BAFB;H3 # HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
-BAFC;H2 # HANGUL SYLLABLE MOE
-BAFD..BB17;H3 # HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
-BB18;H2 # HANGUL SYLLABLE MYO
-BB19..BB33;H3 # HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
-BB34;H2 # HANGUL SYLLABLE MU
-BB35..BB4F;H3 # HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
-BB50;H2 # HANGUL SYLLABLE MWEO
-BB51..BB6B;H3 # HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
-BB6C;H2 # HANGUL SYLLABLE MWE
-BB6D..BB87;H3 # HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
-BB88;H2 # HANGUL SYLLABLE MWI
-BB89..BBA3;H3 # HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
-BBA4;H2 # HANGUL SYLLABLE MYU
-BBA5..BBBF;H3 # HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
-BBC0;H2 # HANGUL SYLLABLE MEU
-BBC1..BBDB;H3 # HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
-BBDC;H2 # HANGUL SYLLABLE MYI
-BBDD..BBF7;H3 # HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
-BBF8;H2 # HANGUL SYLLABLE MI
-BBF9..BC13;H3 # HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
-BC14;H2 # HANGUL SYLLABLE BA
-BC15..BC2F;H3 # HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
-BC30;H2 # HANGUL SYLLABLE BAE
-BC31..BC4B;H3 # HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
-BC4C;H2 # HANGUL SYLLABLE BYA
-BC4D..BC67;H3 # HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
-BC68;H2 # HANGUL SYLLABLE BYAE
-BC69..BC83;H3 # HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
-BC84;H2 # HANGUL SYLLABLE BEO
-BC85..BC9F;H3 # HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
-BCA0;H2 # HANGUL SYLLABLE BE
-BCA1..BCBB;H3 # HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
-BCBC;H2 # HANGUL SYLLABLE BYEO
-BCBD..BCD7;H3 # HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
-BCD8;H2 # HANGUL SYLLABLE BYE
-BCD9..BCF3;H3 # HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
-BCF4;H2 # HANGUL SYLLABLE BO
-BCF5..BD0F;H3 # HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
-BD10;H2 # HANGUL SYLLABLE BWA
-BD11..BD2B;H3 # HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
-BD2C;H2 # HANGUL SYLLABLE BWAE
-BD2D..BD47;H3 # HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
-BD48;H2 # HANGUL SYLLABLE BOE
-BD49..BD63;H3 # HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
-BD64;H2 # HANGUL SYLLABLE BYO
-BD65..BD7F;H3 # HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
-BD80;H2 # HANGUL SYLLABLE BU
-BD81..BD9B;H3 # HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
-BD9C;H2 # HANGUL SYLLABLE BWEO
-BD9D..BDB7;H3 # HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
-BDB8;H2 # HANGUL SYLLABLE BWE
-BDB9..BDD3;H3 # HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
-BDD4;H2 # HANGUL SYLLABLE BWI
-BDD5..BDEF;H3 # HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
-BDF0;H2 # HANGUL SYLLABLE BYU
-BDF1..BE0B;H3 # HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
-BE0C;H2 # HANGUL SYLLABLE BEU
-BE0D..BE27;H3 # HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
-BE28;H2 # HANGUL SYLLABLE BYI
-BE29..BE43;H3 # HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
-BE44;H2 # HANGUL SYLLABLE BI
-BE45..BE5F;H3 # HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
-BE60;H2 # HANGUL SYLLABLE BBA
-BE61..BE7B;H3 # HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
-BE7C;H2 # HANGUL SYLLABLE BBAE
-BE7D..BE97;H3 # HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
-BE98;H2 # HANGUL SYLLABLE BBYA
-BE99..BEB3;H3 # HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
-BEB4;H2 # HANGUL SYLLABLE BBYAE
-BEB5..BECF;H3 # HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
-BED0;H2 # HANGUL SYLLABLE BBEO
-BED1..BEEB;H3 # HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
-BEEC;H2 # HANGUL SYLLABLE BBE
-BEED..BF07;H3 # HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
-BF08;H2 # HANGUL SYLLABLE BBYEO
-BF09..BF23;H3 # HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
-BF24;H2 # HANGUL SYLLABLE BBYE
-BF25..BF3F;H3 # HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
-BF40;H2 # HANGUL SYLLABLE BBO
-BF41..BF5B;H3 # HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
-BF5C;H2 # HANGUL SYLLABLE BBWA
-BF5D..BF77;H3 # HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
-BF78;H2 # HANGUL SYLLABLE BBWAE
-BF79..BF93;H3 # HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
-BF94;H2 # HANGUL SYLLABLE BBOE
-BF95..BFAF;H3 # HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
-BFB0;H2 # HANGUL SYLLABLE BBYO
-BFB1..BFCB;H3 # HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
-BFCC;H2 # HANGUL SYLLABLE BBU
-BFCD..BFE7;H3 # HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
-BFE8;H2 # HANGUL SYLLABLE BBWEO
-BFE9..C003;H3 # HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
-C004;H2 # HANGUL SYLLABLE BBWE
-C005..C01F;H3 # HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
-C020;H2 # HANGUL SYLLABLE BBWI
-C021..C03B;H3 # HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
-C03C;H2 # HANGUL SYLLABLE BBYU
-C03D..C057;H3 # HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
-C058;H2 # HANGUL SYLLABLE BBEU
-C059..C073;H3 # HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
-C074;H2 # HANGUL SYLLABLE BBYI
-C075..C08F;H3 # HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
-C090;H2 # HANGUL SYLLABLE BBI
-C091..C0AB;H3 # HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
-C0AC;H2 # HANGUL SYLLABLE SA
-C0AD..C0C7;H3 # HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
-C0C8;H2 # HANGUL SYLLABLE SAE
-C0C9..C0E3;H3 # HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
-C0E4;H2 # HANGUL SYLLABLE SYA
-C0E5..C0FF;H3 # HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
-C100;H2 # HANGUL SYLLABLE SYAE
-C101..C11B;H3 # HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
-C11C;H2 # HANGUL SYLLABLE SEO
-C11D..C137;H3 # HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
-C138;H2 # HANGUL SYLLABLE SE
-C139..C153;H3 # HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
-C154;H2 # HANGUL SYLLABLE SYEO
-C155..C16F;H3 # HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
-C170;H2 # HANGUL SYLLABLE SYE
-C171..C18B;H3 # HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
-C18C;H2 # HANGUL SYLLABLE SO
-C18D..C1A7;H3 # HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
-C1A8;H2 # HANGUL SYLLABLE SWA
-C1A9..C1C3;H3 # HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
-C1C4;H2 # HANGUL SYLLABLE SWAE
-C1C5..C1DF;H3 # HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
-C1E0;H2 # HANGUL SYLLABLE SOE
-C1E1..C1FB;H3 # HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
-C1FC;H2 # HANGUL SYLLABLE SYO
-C1FD..C217;H3 # HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
-C218;H2 # HANGUL SYLLABLE SU
-C219..C233;H3 # HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
-C234;H2 # HANGUL SYLLABLE SWEO
-C235..C24F;H3 # HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
-C250;H2 # HANGUL SYLLABLE SWE
-C251..C26B;H3 # HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
-C26C;H2 # HANGUL SYLLABLE SWI
-C26D..C287;H3 # HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
-C288;H2 # HANGUL SYLLABLE SYU
-C289..C2A3;H3 # HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
-C2A4;H2 # HANGUL SYLLABLE SEU
-C2A5..C2BF;H3 # HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
-C2C0;H2 # HANGUL SYLLABLE SYI
-C2C1..C2DB;H3 # HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
-C2DC;H2 # HANGUL SYLLABLE SI
-C2DD..C2F7;H3 # HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
-C2F8;H2 # HANGUL SYLLABLE SSA
-C2F9..C313;H3 # HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
-C314;H2 # HANGUL SYLLABLE SSAE
-C315..C32F;H3 # HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
-C330;H2 # HANGUL SYLLABLE SSYA
-C331..C34B;H3 # HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
-C34C;H2 # HANGUL SYLLABLE SSYAE
-C34D..C367;H3 # HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
-C368;H2 # HANGUL SYLLABLE SSEO
-C369..C383;H3 # HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
-C384;H2 # HANGUL SYLLABLE SSE
-C385..C39F;H3 # HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
-C3A0;H2 # HANGUL SYLLABLE SSYEO
-C3A1..C3BB;H3 # HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
-C3BC;H2 # HANGUL SYLLABLE SSYE
-C3BD..C3D7;H3 # HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
-C3D8;H2 # HANGUL SYLLABLE SSO
-C3D9..C3F3;H3 # HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
-C3F4;H2 # HANGUL SYLLABLE SSWA
-C3F5..C40F;H3 # HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
-C410;H2 # HANGUL SYLLABLE SSWAE
-C411..C42B;H3 # HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
-C42C;H2 # HANGUL SYLLABLE SSOE
-C42D..C447;H3 # HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
-C448;H2 # HANGUL SYLLABLE SSYO
-C449..C463;H3 # HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
-C464;H2 # HANGUL SYLLABLE SSU
-C465..C47F;H3 # HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
-C480;H2 # HANGUL SYLLABLE SSWEO
-C481..C49B;H3 # HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
-C49C;H2 # HANGUL SYLLABLE SSWE
-C49D..C4B7;H3 # HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
-C4B8;H2 # HANGUL SYLLABLE SSWI
-C4B9..C4D3;H3 # HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
-C4D4;H2 # HANGUL SYLLABLE SSYU
-C4D5..C4EF;H3 # HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
-C4F0;H2 # HANGUL SYLLABLE SSEU
-C4F1..C50B;H3 # HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
-C50C;H2 # HANGUL SYLLABLE SSYI
-C50D..C527;H3 # HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
-C528;H2 # HANGUL SYLLABLE SSI
-C529..C543;H3 # HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
-C544;H2 # HANGUL SYLLABLE A
-C545..C55F;H3 # HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
-C560;H2 # HANGUL SYLLABLE AE
-C561..C57B;H3 # HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
-C57C;H2 # HANGUL SYLLABLE YA
-C57D..C597;H3 # HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
-C598;H2 # HANGUL SYLLABLE YAE
-C599..C5B3;H3 # HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
-C5B4;H2 # HANGUL SYLLABLE EO
-C5B5..C5CF;H3 # HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
-C5D0;H2 # HANGUL SYLLABLE E
-C5D1..C5EB;H3 # HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
-C5EC;H2 # HANGUL SYLLABLE YEO
-C5ED..C607;H3 # HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
-C608;H2 # HANGUL SYLLABLE YE
-C609..C623;H3 # HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
-C624;H2 # HANGUL SYLLABLE O
-C625..C63F;H3 # HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
-C640;H2 # HANGUL SYLLABLE WA
-C641..C65B;H3 # HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
-C65C;H2 # HANGUL SYLLABLE WAE
-C65D..C677;H3 # HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
-C678;H2 # HANGUL SYLLABLE OE
-C679..C693;H3 # HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
-C694;H2 # HANGUL SYLLABLE YO
-C695..C6AF;H3 # HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
-C6B0;H2 # HANGUL SYLLABLE U
-C6B1..C6CB;H3 # HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
-C6CC;H2 # HANGUL SYLLABLE WEO
-C6CD..C6E7;H3 # HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
-C6E8;H2 # HANGUL SYLLABLE WE
-C6E9..C703;H3 # HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
-C704;H2 # HANGUL SYLLABLE WI
-C705..C71F;H3 # HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
-C720;H2 # HANGUL SYLLABLE YU
-C721..C73B;H3 # HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
-C73C;H2 # HANGUL SYLLABLE EU
-C73D..C757;H3 # HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
-C758;H2 # HANGUL SYLLABLE YI
-C759..C773;H3 # HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
-C774;H2 # HANGUL SYLLABLE I
-C775..C78F;H3 # HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
-C790;H2 # HANGUL SYLLABLE JA
-C791..C7AB;H3 # HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
-C7AC;H2 # HANGUL SYLLABLE JAE
-C7AD..C7C7;H3 # HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
-C7C8;H2 # HANGUL SYLLABLE JYA
-C7C9..C7E3;H3 # HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
-C7E4;H2 # HANGUL SYLLABLE JYAE
-C7E5..C7FF;H3 # HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
-C800;H2 # HANGUL SYLLABLE JEO
-C801..C81B;H3 # HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
-C81C;H2 # HANGUL SYLLABLE JE
-C81D..C837;H3 # HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
-C838;H2 # HANGUL SYLLABLE JYEO
-C839..C853;H3 # HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
-C854;H2 # HANGUL SYLLABLE JYE
-C855..C86F;H3 # HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
-C870;H2 # HANGUL SYLLABLE JO
-C871..C88B;H3 # HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
-C88C;H2 # HANGUL SYLLABLE JWA
-C88D..C8A7;H3 # HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
-C8A8;H2 # HANGUL SYLLABLE JWAE
-C8A9..C8C3;H3 # HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
-C8C4;H2 # HANGUL SYLLABLE JOE
-C8C5..C8DF;H3 # HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
-C8E0;H2 # HANGUL SYLLABLE JYO
-C8E1..C8FB;H3 # HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
-C8FC;H2 # HANGUL SYLLABLE JU
-C8FD..C917;H3 # HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
-C918;H2 # HANGUL SYLLABLE JWEO
-C919..C933;H3 # HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
-C934;H2 # HANGUL SYLLABLE JWE
-C935..C94F;H3 # HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
-C950;H2 # HANGUL SYLLABLE JWI
-C951..C96B;H3 # HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
-C96C;H2 # HANGUL SYLLABLE JYU
-C96D..C987;H3 # HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
-C988;H2 # HANGUL SYLLABLE JEU
-C989..C9A3;H3 # HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
-C9A4;H2 # HANGUL SYLLABLE JYI
-C9A5..C9BF;H3 # HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
-C9C0;H2 # HANGUL SYLLABLE JI
-C9C1..C9DB;H3 # HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
-C9DC;H2 # HANGUL SYLLABLE JJA
-C9DD..C9F7;H3 # HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
-C9F8;H2 # HANGUL SYLLABLE JJAE
-C9F9..CA13;H3 # HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
-CA14;H2 # HANGUL SYLLABLE JJYA
-CA15..CA2F;H3 # HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
-CA30;H2 # HANGUL SYLLABLE JJYAE
-CA31..CA4B;H3 # HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
-CA4C;H2 # HANGUL SYLLABLE JJEO
-CA4D..CA67;H3 # HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
-CA68;H2 # HANGUL SYLLABLE JJE
-CA69..CA83;H3 # HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
-CA84;H2 # HANGUL SYLLABLE JJYEO
-CA85..CA9F;H3 # HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
-CAA0;H2 # HANGUL SYLLABLE JJYE
-CAA1..CABB;H3 # HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
-CABC;H2 # HANGUL SYLLABLE JJO
-CABD..CAD7;H3 # HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
-CAD8;H2 # HANGUL SYLLABLE JJWA
-CAD9..CAF3;H3 # HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
-CAF4;H2 # HANGUL SYLLABLE JJWAE
-CAF5..CB0F;H3 # HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
-CB10;H2 # HANGUL SYLLABLE JJOE
-CB11..CB2B;H3 # HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
-CB2C;H2 # HANGUL SYLLABLE JJYO
-CB2D..CB47;H3 # HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
-CB48;H2 # HANGUL SYLLABLE JJU
-CB49..CB63;H3 # HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
-CB64;H2 # HANGUL SYLLABLE JJWEO
-CB65..CB7F;H3 # HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
-CB80;H2 # HANGUL SYLLABLE JJWE
-CB81..CB9B;H3 # HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
-CB9C;H2 # HANGUL SYLLABLE JJWI
-CB9D..CBB7;H3 # HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
-CBB8;H2 # HANGUL SYLLABLE JJYU
-CBB9..CBD3;H3 # HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
-CBD4;H2 # HANGUL SYLLABLE JJEU
-CBD5..CBEF;H3 # HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
-CBF0;H2 # HANGUL SYLLABLE JJYI
-CBF1..CC0B;H3 # HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
-CC0C;H2 # HANGUL SYLLABLE JJI
-CC0D..CC27;H3 # HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
-CC28;H2 # HANGUL SYLLABLE CA
-CC29..CC43;H3 # HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
-CC44;H2 # HANGUL SYLLABLE CAE
-CC45..CC5F;H3 # HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
-CC60;H2 # HANGUL SYLLABLE CYA
-CC61..CC7B;H3 # HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
-CC7C;H2 # HANGUL SYLLABLE CYAE
-CC7D..CC97;H3 # HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
-CC98;H2 # HANGUL SYLLABLE CEO
-CC99..CCB3;H3 # HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
-CCB4;H2 # HANGUL SYLLABLE CE
-CCB5..CCCF;H3 # HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
-CCD0;H2 # HANGUL SYLLABLE CYEO
-CCD1..CCEB;H3 # HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
-CCEC;H2 # HANGUL SYLLABLE CYE
-CCED..CD07;H3 # HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
-CD08;H2 # HANGUL SYLLABLE CO
-CD09..CD23;H3 # HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
-CD24;H2 # HANGUL SYLLABLE CWA
-CD25..CD3F;H3 # HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
-CD40;H2 # HANGUL SYLLABLE CWAE
-CD41..CD5B;H3 # HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
-CD5C;H2 # HANGUL SYLLABLE COE
-CD5D..CD77;H3 # HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
-CD78;H2 # HANGUL SYLLABLE CYO
-CD79..CD93;H3 # HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
-CD94;H2 # HANGUL SYLLABLE CU
-CD95..CDAF;H3 # HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
-CDB0;H2 # HANGUL SYLLABLE CWEO
-CDB1..CDCB;H3 # HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
-CDCC;H2 # HANGUL SYLLABLE CWE
-CDCD..CDE7;H3 # HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
-CDE8;H2 # HANGUL SYLLABLE CWI
-CDE9..CE03;H3 # HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
-CE04;H2 # HANGUL SYLLABLE CYU
-CE05..CE1F;H3 # HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
-CE20;H2 # HANGUL SYLLABLE CEU
-CE21..CE3B;H3 # HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
-CE3C;H2 # HANGUL SYLLABLE CYI
-CE3D..CE57;H3 # HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
-CE58;H2 # HANGUL SYLLABLE CI
-CE59..CE73;H3 # HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
-CE74;H2 # HANGUL SYLLABLE KA
-CE75..CE8F;H3 # HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
-CE90;H2 # HANGUL SYLLABLE KAE
-CE91..CEAB;H3 # HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
-CEAC;H2 # HANGUL SYLLABLE KYA
-CEAD..CEC7;H3 # HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
-CEC8;H2 # HANGUL SYLLABLE KYAE
-CEC9..CEE3;H3 # HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
-CEE4;H2 # HANGUL SYLLABLE KEO
-CEE5..CEFF;H3 # HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
-CF00;H2 # HANGUL SYLLABLE KE
-CF01..CF1B;H3 # HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
-CF1C;H2 # HANGUL SYLLABLE KYEO
-CF1D..CF37;H3 # HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
-CF38;H2 # HANGUL SYLLABLE KYE
-CF39..CF53;H3 # HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
-CF54;H2 # HANGUL SYLLABLE KO
-CF55..CF6F;H3 # HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
-CF70;H2 # HANGUL SYLLABLE KWA
-CF71..CF8B;H3 # HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
-CF8C;H2 # HANGUL SYLLABLE KWAE
-CF8D..CFA7;H3 # HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
-CFA8;H2 # HANGUL SYLLABLE KOE
-CFA9..CFC3;H3 # HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
-CFC4;H2 # HANGUL SYLLABLE KYO
-CFC5..CFDF;H3 # HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
-CFE0;H2 # HANGUL SYLLABLE KU
-CFE1..CFFB;H3 # HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
-CFFC;H2 # HANGUL SYLLABLE KWEO
-CFFD..D017;H3 # HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
-D018;H2 # HANGUL SYLLABLE KWE
-D019..D033;H3 # HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
-D034;H2 # HANGUL SYLLABLE KWI
-D035..D04F;H3 # HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
-D050;H2 # HANGUL SYLLABLE KYU
-D051..D06B;H3 # HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
-D06C;H2 # HANGUL SYLLABLE KEU
-D06D..D087;H3 # HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
-D088;H2 # HANGUL SYLLABLE KYI
-D089..D0A3;H3 # HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
-D0A4;H2 # HANGUL SYLLABLE KI
-D0A5..D0BF;H3 # HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
-D0C0;H2 # HANGUL SYLLABLE TA
-D0C1..D0DB;H3 # HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
-D0DC;H2 # HANGUL SYLLABLE TAE
-D0DD..D0F7;H3 # HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
-D0F8;H2 # HANGUL SYLLABLE TYA
-D0F9..D113;H3 # HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
-D114;H2 # HANGUL SYLLABLE TYAE
-D115..D12F;H3 # HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
-D130;H2 # HANGUL SYLLABLE TEO
-D131..D14B;H3 # HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
-D14C;H2 # HANGUL SYLLABLE TE
-D14D..D167;H3 # HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
-D168;H2 # HANGUL SYLLABLE TYEO
-D169..D183;H3 # HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
-D184;H2 # HANGUL SYLLABLE TYE
-D185..D19F;H3 # HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
-D1A0;H2 # HANGUL SYLLABLE TO
-D1A1..D1BB;H3 # HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
-D1BC;H2 # HANGUL SYLLABLE TWA
-D1BD..D1D7;H3 # HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
-D1D8;H2 # HANGUL SYLLABLE TWAE
-D1D9..D1F3;H3 # HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
-D1F4;H2 # HANGUL SYLLABLE TOE
-D1F5..D20F;H3 # HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
-D210;H2 # HANGUL SYLLABLE TYO
-D211..D22B;H3 # HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
-D22C;H2 # HANGUL SYLLABLE TU
-D22D..D247;H3 # HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
-D248;H2 # HANGUL SYLLABLE TWEO
-D249..D263;H3 # HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
-D264;H2 # HANGUL SYLLABLE TWE
-D265..D27F;H3 # HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
-D280;H2 # HANGUL SYLLABLE TWI
-D281..D29B;H3 # HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
-D29C;H2 # HANGUL SYLLABLE TYU
-D29D..D2B7;H3 # HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
-D2B8;H2 # HANGUL SYLLABLE TEU
-D2B9..D2D3;H3 # HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
-D2D4;H2 # HANGUL SYLLABLE TYI
-D2D5..D2EF;H3 # HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
-D2F0;H2 # HANGUL SYLLABLE TI
-D2F1..D30B;H3 # HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
-D30C;H2 # HANGUL SYLLABLE PA
-D30D..D327;H3 # HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
-D328;H2 # HANGUL SYLLABLE PAE
-D329..D343;H3 # HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
-D344;H2 # HANGUL SYLLABLE PYA
-D345..D35F;H3 # HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
-D360;H2 # HANGUL SYLLABLE PYAE
-D361..D37B;H3 # HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
-D37C;H2 # HANGUL SYLLABLE PEO
-D37D..D397;H3 # HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
-D398;H2 # HANGUL SYLLABLE PE
-D399..D3B3;H3 # HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
-D3B4;H2 # HANGUL SYLLABLE PYEO
-D3B5..D3CF;H3 # HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
-D3D0;H2 # HANGUL SYLLABLE PYE
-D3D1..D3EB;H3 # HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
-D3EC;H2 # HANGUL SYLLABLE PO
-D3ED..D407;H3 # HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
-D408;H2 # HANGUL SYLLABLE PWA
-D409..D423;H3 # HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
-D424;H2 # HANGUL SYLLABLE PWAE
-D425..D43F;H3 # HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
-D440;H2 # HANGUL SYLLABLE POE
-D441..D45B;H3 # HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
-D45C;H2 # HANGUL SYLLABLE PYO
-D45D..D477;H3 # HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
-D478;H2 # HANGUL SYLLABLE PU
-D479..D493;H3 # HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
-D494;H2 # HANGUL SYLLABLE PWEO
-D495..D4AF;H3 # HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
-D4B0;H2 # HANGUL SYLLABLE PWE
-D4B1..D4CB;H3 # HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
-D4CC;H2 # HANGUL SYLLABLE PWI
-D4CD..D4E7;H3 # HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
-D4E8;H2 # HANGUL SYLLABLE PYU
-D4E9..D503;H3 # HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
-D504;H2 # HANGUL SYLLABLE PEU
-D505..D51F;H3 # HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
-D520;H2 # HANGUL SYLLABLE PYI
-D521..D53B;H3 # HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
-D53C;H2 # HANGUL SYLLABLE PI
-D53D..D557;H3 # HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
-D558;H2 # HANGUL SYLLABLE HA
-D559..D573;H3 # HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
-D574;H2 # HANGUL SYLLABLE HAE
-D575..D58F;H3 # HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
-D590;H2 # HANGUL SYLLABLE HYA
-D591..D5AB;H3 # HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
-D5AC;H2 # HANGUL SYLLABLE HYAE
-D5AD..D5C7;H3 # HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
-D5C8;H2 # HANGUL SYLLABLE HEO
-D5C9..D5E3;H3 # HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
-D5E4;H2 # HANGUL SYLLABLE HE
-D5E5..D5FF;H3 # HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
-D600;H2 # HANGUL SYLLABLE HYEO
-D601..D61B;H3 # HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
-D61C;H2 # HANGUL SYLLABLE HYE
-D61D..D637;H3 # HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
-D638;H2 # HANGUL SYLLABLE HO
-D639..D653;H3 # HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
-D654;H2 # HANGUL SYLLABLE HWA
-D655..D66F;H3 # HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
-D670;H2 # HANGUL SYLLABLE HWAE
-D671..D68B;H3 # HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
-D68C;H2 # HANGUL SYLLABLE HOE
-D68D..D6A7;H3 # HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
-D6A8;H2 # HANGUL SYLLABLE HYO
-D6A9..D6C3;H3 # HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
-D6C4;H2 # HANGUL SYLLABLE HU
-D6C5..D6DF;H3 # HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
-D6E0;H2 # HANGUL SYLLABLE HWEO
-D6E1..D6FB;H3 # HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
-D6FC;H2 # HANGUL SYLLABLE HWE
-D6FD..D717;H3 # HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
-D718;H2 # HANGUL SYLLABLE HWI
-D719..D733;H3 # HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
-D734;H2 # HANGUL SYLLABLE HYU
-D735..D74F;H3 # HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
-D750;H2 # HANGUL SYLLABLE HEU
-D751..D76B;H3 # HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
-D76C;H2 # HANGUL SYLLABLE HYI
-D76D..D787;H3 # HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
-D788;H2 # HANGUL SYLLABLE HI
-D789..D7A3;H3 # HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
-D7B0;JV # HANGUL JUNGSEONG O-YEO
-D7B1;JV # HANGUL JUNGSEONG O-O-I
-D7B2;JV # HANGUL JUNGSEONG YO-A
-D7B3;JV # HANGUL JUNGSEONG YO-AE
-D7B4;JV # HANGUL JUNGSEONG YO-EO
-D7B5;JV # HANGUL JUNGSEONG U-YEO
-D7B6;JV # HANGUL JUNGSEONG U-I-I
-D7B7;JV # HANGUL JUNGSEONG YU-AE
-D7B8;JV # HANGUL JUNGSEONG YU-O
-D7B9;JV # HANGUL JUNGSEONG EU-A
-D7BA;JV # HANGUL JUNGSEONG EU-EO
-D7BB;JV # HANGUL JUNGSEONG EU-E
-D7BC;JV # HANGUL JUNGSEONG EU-O
-D7BD;JV # HANGUL JUNGSEONG I-YA-O
-D7BE;JV # HANGUL JUNGSEONG I-YAE
-D7BF;JV # HANGUL JUNGSEONG I-YEO
-D7C0;JV # HANGUL JUNGSEONG I-YE
-D7C1;JV # HANGUL JUNGSEONG I-O-I
-D7C2;JV # HANGUL JUNGSEONG I-YO
-D7C3;JV # HANGUL JUNGSEONG I-YU
-D7C4;JV # HANGUL JUNGSEONG I-I
-D7C5;JV # HANGUL JUNGSEONG ARAEA-A
-D7C6;JV # HANGUL JUNGSEONG ARAEA-E
-D7CB;JT # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC;JT # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD;JT # HANGUL JONGSEONG SSANGTIKEUT
-D7CE;JT # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF;JT # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0;JT # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1;JT # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2;JT # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3;JT # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4;JT # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5;JT # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6;JT # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7;JT # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8;JT # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9;JT # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA;JT # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB;JT # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC;JT # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD;JT # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE;JT # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF;JT # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0;JT # HANGUL JONGSEONG SSANGMIEUM
-D7E1;JT # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2;JT # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3;JT # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4;JT # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5;JT # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6;JT # HANGUL JONGSEONG SSANGPIEUP
-D7E7;JT # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8;JT # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9;JT # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA;JT # HANGUL JONGSEONG SIOS-MIEUM
-D7EB;JT # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC;JT # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED;JT # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE;JT # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF;JT # HANGUL JONGSEONG SIOS-CIEUC
-D7F0;JT # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1;JT # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2;JT # HANGUL JONGSEONG SIOS-HIEUH
-D7F3;JT # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4;JT # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5;JT # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6;JT # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7;JT # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8;JT # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9;JT # HANGUL JONGSEONG SSANGCIEUC
-D7FA;JT # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB;JT # HANGUL JONGSEONG PHIEUPH-THIEUTH
-D800..DB7F;SG # <Non Private Use High Surrogate, First>..<Non Private Use High Surrogate, Last>
-DB80..DBFF;SG # <Private Use High Surrogate, First>..<Private Use High Surrogate, Last>
-DC00..DFFF;SG # <Low Surrogate, First>..<Low Surrogate, Last>
-E000..F8FF;XX # <Private Use, First>..<Private Use, Last>
-F900;ID # CJK COMPATIBILITY IDEOGRAPH-F900
-F901;ID # CJK COMPATIBILITY IDEOGRAPH-F901
-F902;ID # CJK COMPATIBILITY IDEOGRAPH-F902
-F903;ID # CJK COMPATIBILITY IDEOGRAPH-F903
-F904;ID # CJK COMPATIBILITY IDEOGRAPH-F904
-F905;ID # CJK COMPATIBILITY IDEOGRAPH-F905
-F906;ID # CJK COMPATIBILITY IDEOGRAPH-F906
-F907;ID # CJK COMPATIBILITY IDEOGRAPH-F907
-F908;ID # CJK COMPATIBILITY IDEOGRAPH-F908
-F909;ID # CJK COMPATIBILITY IDEOGRAPH-F909
-F90A;ID # CJK COMPATIBILITY IDEOGRAPH-F90A
-F90B;ID # CJK COMPATIBILITY IDEOGRAPH-F90B
-F90C;ID # CJK COMPATIBILITY IDEOGRAPH-F90C
-F90D;ID # CJK COMPATIBILITY IDEOGRAPH-F90D
-F90E;ID # CJK COMPATIBILITY IDEOGRAPH-F90E
-F90F;ID # CJK COMPATIBILITY IDEOGRAPH-F90F
-F910;ID # CJK COMPATIBILITY IDEOGRAPH-F910
-F911;ID # CJK COMPATIBILITY IDEOGRAPH-F911
-F912;ID # CJK COMPATIBILITY IDEOGRAPH-F912
-F913;ID # CJK COMPATIBILITY IDEOGRAPH-F913
-F914;ID # CJK COMPATIBILITY IDEOGRAPH-F914
-F915;ID # CJK COMPATIBILITY IDEOGRAPH-F915
-F916;ID # CJK COMPATIBILITY IDEOGRAPH-F916
-F917;ID # CJK COMPATIBILITY IDEOGRAPH-F917
-F918;ID # CJK COMPATIBILITY IDEOGRAPH-F918
-F919;ID # CJK COMPATIBILITY IDEOGRAPH-F919
-F91A;ID # CJK COMPATIBILITY IDEOGRAPH-F91A
-F91B;ID # CJK COMPATIBILITY IDEOGRAPH-F91B
-F91C;ID # CJK COMPATIBILITY IDEOGRAPH-F91C
-F91D;ID # CJK COMPATIBILITY IDEOGRAPH-F91D
-F91E;ID # CJK COMPATIBILITY IDEOGRAPH-F91E
-F91F;ID # CJK COMPATIBILITY IDEOGRAPH-F91F
-F920;ID # CJK COMPATIBILITY IDEOGRAPH-F920
-F921;ID # CJK COMPATIBILITY IDEOGRAPH-F921
-F922;ID # CJK COMPATIBILITY IDEOGRAPH-F922
-F923;ID # CJK COMPATIBILITY IDEOGRAPH-F923
-F924;ID # CJK COMPATIBILITY IDEOGRAPH-F924
-F925;ID # CJK COMPATIBILITY IDEOGRAPH-F925
-F926;ID # CJK COMPATIBILITY IDEOGRAPH-F926
-F927;ID # CJK COMPATIBILITY IDEOGRAPH-F927
-F928;ID # CJK COMPATIBILITY IDEOGRAPH-F928
-F929;ID # CJK COMPATIBILITY IDEOGRAPH-F929
-F92A;ID # CJK COMPATIBILITY IDEOGRAPH-F92A
-F92B;ID # CJK COMPATIBILITY IDEOGRAPH-F92B
-F92C;ID # CJK COMPATIBILITY IDEOGRAPH-F92C
-F92D;ID # CJK COMPATIBILITY IDEOGRAPH-F92D
-F92E;ID # CJK COMPATIBILITY IDEOGRAPH-F92E
-F92F;ID # CJK COMPATIBILITY IDEOGRAPH-F92F
-F930;ID # CJK COMPATIBILITY IDEOGRAPH-F930
-F931;ID # CJK COMPATIBILITY IDEOGRAPH-F931
-F932;ID # CJK COMPATIBILITY IDEOGRAPH-F932
-F933;ID # CJK COMPATIBILITY IDEOGRAPH-F933
-F934;ID # CJK COMPATIBILITY IDEOGRAPH-F934
-F935;ID # CJK COMPATIBILITY IDEOGRAPH-F935
-F936;ID # CJK COMPATIBILITY IDEOGRAPH-F936
-F937;ID # CJK COMPATIBILITY IDEOGRAPH-F937
-F938;ID # CJK COMPATIBILITY IDEOGRAPH-F938
-F939;ID # CJK COMPATIBILITY IDEOGRAPH-F939
-F93A;ID # CJK COMPATIBILITY IDEOGRAPH-F93A
-F93B;ID # CJK COMPATIBILITY IDEOGRAPH-F93B
-F93C;ID # CJK COMPATIBILITY IDEOGRAPH-F93C
-F93D;ID # CJK COMPATIBILITY IDEOGRAPH-F93D
-F93E;ID # CJK COMPATIBILITY IDEOGRAPH-F93E
-F93F;ID # CJK COMPATIBILITY IDEOGRAPH-F93F
-F940;ID # CJK COMPATIBILITY IDEOGRAPH-F940
-F941;ID # CJK COMPATIBILITY IDEOGRAPH-F941
-F942;ID # CJK COMPATIBILITY IDEOGRAPH-F942
-F943;ID # CJK COMPATIBILITY IDEOGRAPH-F943
-F944;ID # CJK COMPATIBILITY IDEOGRAPH-F944
-F945;ID # CJK COMPATIBILITY IDEOGRAPH-F945
-F946;ID # CJK COMPATIBILITY IDEOGRAPH-F946
-F947;ID # CJK COMPATIBILITY IDEOGRAPH-F947
-F948;ID # CJK COMPATIBILITY IDEOGRAPH-F948
-F949;ID # CJK COMPATIBILITY IDEOGRAPH-F949
-F94A;ID # CJK COMPATIBILITY IDEOGRAPH-F94A
-F94B;ID # CJK COMPATIBILITY IDEOGRAPH-F94B
-F94C;ID # CJK COMPATIBILITY IDEOGRAPH-F94C
-F94D;ID # CJK COMPATIBILITY IDEOGRAPH-F94D
-F94E;ID # CJK COMPATIBILITY IDEOGRAPH-F94E
-F94F;ID # CJK COMPATIBILITY IDEOGRAPH-F94F
-F950;ID # CJK COMPATIBILITY IDEOGRAPH-F950
-F951;ID # CJK COMPATIBILITY IDEOGRAPH-F951
-F952;ID # CJK COMPATIBILITY IDEOGRAPH-F952
-F953;ID # CJK COMPATIBILITY IDEOGRAPH-F953
-F954;ID # CJK COMPATIBILITY IDEOGRAPH-F954
-F955;ID # CJK COMPATIBILITY IDEOGRAPH-F955
-F956;ID # CJK COMPATIBILITY IDEOGRAPH-F956
-F957;ID # CJK COMPATIBILITY IDEOGRAPH-F957
-F958;ID # CJK COMPATIBILITY IDEOGRAPH-F958
-F959;ID # CJK COMPATIBILITY IDEOGRAPH-F959
-F95A;ID # CJK COMPATIBILITY IDEOGRAPH-F95A
-F95B;ID # CJK COMPATIBILITY IDEOGRAPH-F95B
-F95C;ID # CJK COMPATIBILITY IDEOGRAPH-F95C
-F95D;ID # CJK COMPATIBILITY IDEOGRAPH-F95D
-F95E;ID # CJK COMPATIBILITY IDEOGRAPH-F95E
-F95F;ID # CJK COMPATIBILITY IDEOGRAPH-F95F
-F960;ID # CJK COMPATIBILITY IDEOGRAPH-F960
-F961;ID # CJK COMPATIBILITY IDEOGRAPH-F961
-F962;ID # CJK COMPATIBILITY IDEOGRAPH-F962
-F963;ID # CJK COMPATIBILITY IDEOGRAPH-F963
-F964;ID # CJK COMPATIBILITY IDEOGRAPH-F964
-F965;ID # CJK COMPATIBILITY IDEOGRAPH-F965
-F966;ID # CJK COMPATIBILITY IDEOGRAPH-F966
-F967;ID # CJK COMPATIBILITY IDEOGRAPH-F967
-F968;ID # CJK COMPATIBILITY IDEOGRAPH-F968
-F969;ID # CJK COMPATIBILITY IDEOGRAPH-F969
-F96A;ID # CJK COMPATIBILITY IDEOGRAPH-F96A
-F96B;ID # CJK COMPATIBILITY IDEOGRAPH-F96B
-F96C;ID # CJK COMPATIBILITY IDEOGRAPH-F96C
-F96D;ID # CJK COMPATIBILITY IDEOGRAPH-F96D
-F96E;ID # CJK COMPATIBILITY IDEOGRAPH-F96E
-F96F;ID # CJK COMPATIBILITY IDEOGRAPH-F96F
-F970;ID # CJK COMPATIBILITY IDEOGRAPH-F970
-F971;ID # CJK COMPATIBILITY IDEOGRAPH-F971
-F972;ID # CJK COMPATIBILITY IDEOGRAPH-F972
-F973;ID # CJK COMPATIBILITY IDEOGRAPH-F973
-F974;ID # CJK COMPATIBILITY IDEOGRAPH-F974
-F975;ID # CJK COMPATIBILITY IDEOGRAPH-F975
-F976;ID # CJK COMPATIBILITY IDEOGRAPH-F976
-F977;ID # CJK COMPATIBILITY IDEOGRAPH-F977
-F978;ID # CJK COMPATIBILITY IDEOGRAPH-F978
-F979;ID # CJK COMPATIBILITY IDEOGRAPH-F979
-F97A;ID # CJK COMPATIBILITY IDEOGRAPH-F97A
-F97B;ID # CJK COMPATIBILITY IDEOGRAPH-F97B
-F97C;ID # CJK COMPATIBILITY IDEOGRAPH-F97C
-F97D;ID # CJK COMPATIBILITY IDEOGRAPH-F97D
-F97E;ID # CJK COMPATIBILITY IDEOGRAPH-F97E
-F97F;ID # CJK COMPATIBILITY IDEOGRAPH-F97F
-F980;ID # CJK COMPATIBILITY IDEOGRAPH-F980
-F981;ID # CJK COMPATIBILITY IDEOGRAPH-F981
-F982;ID # CJK COMPATIBILITY IDEOGRAPH-F982
-F983;ID # CJK COMPATIBILITY IDEOGRAPH-F983
-F984;ID # CJK COMPATIBILITY IDEOGRAPH-F984
-F985;ID # CJK COMPATIBILITY IDEOGRAPH-F985
-F986;ID # CJK COMPATIBILITY IDEOGRAPH-F986
-F987;ID # CJK COMPATIBILITY IDEOGRAPH-F987
-F988;ID # CJK COMPATIBILITY IDEOGRAPH-F988
-F989;ID # CJK COMPATIBILITY IDEOGRAPH-F989
-F98A;ID # CJK COMPATIBILITY IDEOGRAPH-F98A
-F98B;ID # CJK COMPATIBILITY IDEOGRAPH-F98B
-F98C;ID # CJK COMPATIBILITY IDEOGRAPH-F98C
-F98D;ID # CJK COMPATIBILITY IDEOGRAPH-F98D
-F98E;ID # CJK COMPATIBILITY IDEOGRAPH-F98E
-F98F;ID # CJK COMPATIBILITY IDEOGRAPH-F98F
-F990;ID # CJK COMPATIBILITY IDEOGRAPH-F990
-F991;ID # CJK COMPATIBILITY IDEOGRAPH-F991
-F992;ID # CJK COMPATIBILITY IDEOGRAPH-F992
-F993;ID # CJK COMPATIBILITY IDEOGRAPH-F993
-F994;ID # CJK COMPATIBILITY IDEOGRAPH-F994
-F995;ID # CJK COMPATIBILITY IDEOGRAPH-F995
-F996;ID # CJK COMPATIBILITY IDEOGRAPH-F996
-F997;ID # CJK COMPATIBILITY IDEOGRAPH-F997
-F998;ID # CJK COMPATIBILITY IDEOGRAPH-F998
-F999;ID # CJK COMPATIBILITY IDEOGRAPH-F999
-F99A;ID # CJK COMPATIBILITY IDEOGRAPH-F99A
-F99B;ID # CJK COMPATIBILITY IDEOGRAPH-F99B
-F99C;ID # CJK COMPATIBILITY IDEOGRAPH-F99C
-F99D;ID # CJK COMPATIBILITY IDEOGRAPH-F99D
-F99E;ID # CJK COMPATIBILITY IDEOGRAPH-F99E
-F99F;ID # CJK COMPATIBILITY IDEOGRAPH-F99F
-F9A0;ID # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9A1;ID # CJK COMPATIBILITY IDEOGRAPH-F9A1
-F9A2;ID # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F9A3;ID # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F9A4;ID # CJK COMPATIBILITY IDEOGRAPH-F9A4
-F9A5;ID # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F9A6;ID # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F9A7;ID # CJK COMPATIBILITY IDEOGRAPH-F9A7
-F9A8;ID # CJK COMPATIBILITY IDEOGRAPH-F9A8
-F9A9;ID # CJK COMPATIBILITY IDEOGRAPH-F9A9
-F9AA;ID # CJK COMPATIBILITY IDEOGRAPH-F9AA
-F9AB;ID # CJK COMPATIBILITY IDEOGRAPH-F9AB
-F9AC;ID # CJK COMPATIBILITY IDEOGRAPH-F9AC
-F9AD;ID # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F9AE;ID # CJK COMPATIBILITY IDEOGRAPH-F9AE
-F9AF;ID # CJK COMPATIBILITY IDEOGRAPH-F9AF
-F9B0;ID # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F9B1;ID # CJK COMPATIBILITY IDEOGRAPH-F9B1
-F9B2;ID # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F9B3;ID # CJK COMPATIBILITY IDEOGRAPH-F9B3
-F9B4;ID # CJK COMPATIBILITY IDEOGRAPH-F9B4
-F9B5;ID # CJK COMPATIBILITY IDEOGRAPH-F9B5
-F9B6;ID # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F9B7;ID # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9B8;ID # CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9B9;ID # CJK COMPATIBILITY IDEOGRAPH-F9B9
-F9BA;ID # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F9BB;ID # CJK COMPATIBILITY IDEOGRAPH-F9BB
-F9BC;ID # CJK COMPATIBILITY IDEOGRAPH-F9BC
-F9BD;ID # CJK COMPATIBILITY IDEOGRAPH-F9BD
-F9BE;ID # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F9BF;ID # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F9C0;ID # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9C1;ID # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F9C2;ID # CJK COMPATIBILITY IDEOGRAPH-F9C2
-F9C3;ID # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F9C4;ID # CJK COMPATIBILITY IDEOGRAPH-F9C4
-F9C5;ID # CJK COMPATIBILITY IDEOGRAPH-F9C5
-F9C6;ID # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F9C7;ID # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F9C8;ID # CJK COMPATIBILITY IDEOGRAPH-F9C8
-F9C9;ID # CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9CA;ID # CJK COMPATIBILITY IDEOGRAPH-F9CA
-F9CB;ID # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9CC;ID # CJK COMPATIBILITY IDEOGRAPH-F9CC
-F9CD;ID # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F9CE;ID # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F9CF;ID # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F9D0;ID # CJK COMPATIBILITY IDEOGRAPH-F9D0
-F9D1;ID # CJK COMPATIBILITY IDEOGRAPH-F9D1
-F9D2;ID # CJK COMPATIBILITY IDEOGRAPH-F9D2
-F9D3;ID # CJK COMPATIBILITY IDEOGRAPH-F9D3
-F9D4;ID # CJK COMPATIBILITY IDEOGRAPH-F9D4
-F9D5;ID # CJK COMPATIBILITY IDEOGRAPH-F9D5
-F9D6;ID # CJK COMPATIBILITY IDEOGRAPH-F9D6
-F9D7;ID # CJK COMPATIBILITY IDEOGRAPH-F9D7
-F9D8;ID # CJK COMPATIBILITY IDEOGRAPH-F9D8
-F9D9;ID # CJK COMPATIBILITY IDEOGRAPH-F9D9
-F9DA;ID # CJK COMPATIBILITY IDEOGRAPH-F9DA
-F9DB;ID # CJK COMPATIBILITY IDEOGRAPH-F9DB
-F9DC;ID # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9DD;ID # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9DE;ID # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9DF;ID # CJK COMPATIBILITY IDEOGRAPH-F9DF
-F9E0;ID # CJK COMPATIBILITY IDEOGRAPH-F9E0
-F9E1;ID # CJK COMPATIBILITY IDEOGRAPH-F9E1
-F9E2;ID # CJK COMPATIBILITY IDEOGRAPH-F9E2
-F9E3;ID # CJK COMPATIBILITY IDEOGRAPH-F9E3
-F9E4;ID # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9E5;ID # CJK COMPATIBILITY IDEOGRAPH-F9E5
-F9E6;ID # CJK COMPATIBILITY IDEOGRAPH-F9E6
-F9E7;ID # CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8;ID # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F9E9;ID # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F9EA;ID # CJK COMPATIBILITY IDEOGRAPH-F9EA
-F9EB;ID # CJK COMPATIBILITY IDEOGRAPH-F9EB
-F9EC;ID # CJK COMPATIBILITY IDEOGRAPH-F9EC
-F9ED;ID # CJK COMPATIBILITY IDEOGRAPH-F9ED
-F9EE;ID # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F9EF;ID # CJK COMPATIBILITY IDEOGRAPH-F9EF
-F9F0;ID # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F9F1;ID # CJK COMPATIBILITY IDEOGRAPH-F9F1
-F9F2;ID # CJK COMPATIBILITY IDEOGRAPH-F9F2
-F9F3;ID # CJK COMPATIBILITY IDEOGRAPH-F9F3
-F9F4;ID # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9F5;ID # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F9F6;ID # CJK COMPATIBILITY IDEOGRAPH-F9F6
-F9F7;ID # CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8;ID # CJK COMPATIBILITY IDEOGRAPH-F9F8
-F9F9;ID # CJK COMPATIBILITY IDEOGRAPH-F9F9
-F9FA;ID # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F9FB;ID # CJK COMPATIBILITY IDEOGRAPH-F9FB
-F9FC;ID # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F9FD;ID # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9FE;ID # CJK COMPATIBILITY IDEOGRAPH-F9FE
-F9FF;ID # CJK COMPATIBILITY IDEOGRAPH-F9FF
-FA00;ID # CJK COMPATIBILITY IDEOGRAPH-FA00
-FA01;ID # CJK COMPATIBILITY IDEOGRAPH-FA01
-FA02;ID # CJK COMPATIBILITY IDEOGRAPH-FA02
-FA03;ID # CJK COMPATIBILITY IDEOGRAPH-FA03
-FA04;ID # CJK COMPATIBILITY IDEOGRAPH-FA04
-FA05;ID # CJK COMPATIBILITY IDEOGRAPH-FA05
-FA06;ID # CJK COMPATIBILITY IDEOGRAPH-FA06
-FA07;ID # CJK COMPATIBILITY IDEOGRAPH-FA07
-FA08;ID # CJK COMPATIBILITY IDEOGRAPH-FA08
-FA09;ID # CJK COMPATIBILITY IDEOGRAPH-FA09
-FA0A;ID # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA0B;ID # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA0C;ID # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA0D;ID # CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA0E;ID # CJK COMPATIBILITY IDEOGRAPH-FA0E
-FA0F;ID # CJK COMPATIBILITY IDEOGRAPH-FA0F
-FA10;ID # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA11;ID # CJK COMPATIBILITY IDEOGRAPH-FA11
-FA12;ID # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA13;ID # CJK COMPATIBILITY IDEOGRAPH-FA13
-FA14;ID # CJK COMPATIBILITY IDEOGRAPH-FA14
-FA15;ID # CJK COMPATIBILITY IDEOGRAPH-FA15
-FA16;ID # CJK COMPATIBILITY IDEOGRAPH-FA16
-FA17;ID # CJK COMPATIBILITY IDEOGRAPH-FA17
-FA18;ID # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA19;ID # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A;ID # CJK COMPATIBILITY IDEOGRAPH-FA1A
-FA1B;ID # CJK COMPATIBILITY IDEOGRAPH-FA1B
-FA1C;ID # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FA1D;ID # CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA1E;ID # CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA1F;ID # CJK COMPATIBILITY IDEOGRAPH-FA1F
-FA20;ID # CJK COMPATIBILITY IDEOGRAPH-FA20
-FA21;ID # CJK COMPATIBILITY IDEOGRAPH-FA21
-FA22;ID # CJK COMPATIBILITY IDEOGRAPH-FA22
-FA23;ID # CJK COMPATIBILITY IDEOGRAPH-FA23
-FA24;ID # CJK COMPATIBILITY IDEOGRAPH-FA24
-FA25;ID # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA26;ID # CJK COMPATIBILITY IDEOGRAPH-FA26
-FA27;ID # CJK COMPATIBILITY IDEOGRAPH-FA27
-FA28;ID # CJK COMPATIBILITY IDEOGRAPH-FA28
-FA29;ID # CJK COMPATIBILITY IDEOGRAPH-FA29
-FA2A;ID # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B;ID # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C;ID # CJK COMPATIBILITY IDEOGRAPH-FA2C
-FA2D;ID # CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F;ID # <reserved-FA2E>..<reserved-FA2F>
-FA30;ID # CJK COMPATIBILITY IDEOGRAPH-FA30
-FA31;ID # CJK COMPATIBILITY IDEOGRAPH-FA31
-FA32;ID # CJK COMPATIBILITY IDEOGRAPH-FA32
-FA33;ID # CJK COMPATIBILITY IDEOGRAPH-FA33
-FA34;ID # CJK COMPATIBILITY IDEOGRAPH-FA34
-FA35;ID # CJK COMPATIBILITY IDEOGRAPH-FA35
-FA36;ID # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA37;ID # CJK COMPATIBILITY IDEOGRAPH-FA37
-FA38;ID # CJK COMPATIBILITY IDEOGRAPH-FA38
-FA39;ID # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA3A;ID # CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA3B;ID # CJK COMPATIBILITY IDEOGRAPH-FA3B
-FA3C;ID # CJK COMPATIBILITY IDEOGRAPH-FA3C
-FA3D;ID # CJK COMPATIBILITY IDEOGRAPH-FA3D
-FA3E;ID # CJK COMPATIBILITY IDEOGRAPH-FA3E
-FA3F;ID # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA40;ID # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA41;ID # CJK COMPATIBILITY IDEOGRAPH-FA41
-FA42;ID # CJK COMPATIBILITY IDEOGRAPH-FA42
-FA43;ID # CJK COMPATIBILITY IDEOGRAPH-FA43
-FA44;ID # CJK COMPATIBILITY IDEOGRAPH-FA44
-FA45;ID # CJK COMPATIBILITY IDEOGRAPH-FA45
-FA46;ID # CJK COMPATIBILITY IDEOGRAPH-FA46
-FA47;ID # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA48;ID # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA49;ID # CJK COMPATIBILITY IDEOGRAPH-FA49
-FA4A;ID # CJK COMPATIBILITY IDEOGRAPH-FA4A
-FA4B;ID # CJK COMPATIBILITY IDEOGRAPH-FA4B
-FA4C;ID # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4D;ID # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4E;ID # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4F;ID # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50;ID # CJK COMPATIBILITY IDEOGRAPH-FA50
-FA51;ID # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA52;ID # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53;ID # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA54;ID # CJK COMPATIBILITY IDEOGRAPH-FA54
-FA55;ID # CJK COMPATIBILITY IDEOGRAPH-FA55
-FA56;ID # CJK COMPATIBILITY IDEOGRAPH-FA56
-FA57;ID # CJK COMPATIBILITY IDEOGRAPH-FA57
-FA58;ID # CJK COMPATIBILITY IDEOGRAPH-FA58
-FA59;ID # CJK COMPATIBILITY IDEOGRAPH-FA59
-FA5A;ID # CJK COMPATIBILITY IDEOGRAPH-FA5A
-FA5B;ID # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FA5C;ID # CJK COMPATIBILITY IDEOGRAPH-FA5C
-FA5D;ID # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E;ID # CJK COMPATIBILITY IDEOGRAPH-FA5E
-FA5F;ID # CJK COMPATIBILITY IDEOGRAPH-FA5F
-FA60;ID # CJK COMPATIBILITY IDEOGRAPH-FA60
-FA61;ID # CJK COMPATIBILITY IDEOGRAPH-FA61
-FA62;ID # CJK COMPATIBILITY IDEOGRAPH-FA62
-FA63;ID # CJK COMPATIBILITY IDEOGRAPH-FA63
-FA64;ID # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65;ID # CJK COMPATIBILITY IDEOGRAPH-FA65
-FA66;ID # CJK COMPATIBILITY IDEOGRAPH-FA66
-FA67;ID # CJK COMPATIBILITY IDEOGRAPH-FA67
-FA68;ID # CJK COMPATIBILITY IDEOGRAPH-FA68
-FA69;ID # CJK COMPATIBILITY IDEOGRAPH-FA69
-FA6A;ID # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FA6B;ID # CJK COMPATIBILITY IDEOGRAPH-FA6B
-FA6C;ID # CJK COMPATIBILITY IDEOGRAPH-FA6C
-FA6D;ID # CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA6E..FA6F;ID # <reserved-FA6E>..<reserved-FA6F>
-FA70;ID # CJK COMPATIBILITY IDEOGRAPH-FA70
-FA71;ID # CJK COMPATIBILITY IDEOGRAPH-FA71
-FA72;ID # CJK COMPATIBILITY IDEOGRAPH-FA72
-FA73;ID # CJK COMPATIBILITY IDEOGRAPH-FA73
-FA74;ID # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA75;ID # CJK COMPATIBILITY IDEOGRAPH-FA75
-FA76;ID # CJK COMPATIBILITY IDEOGRAPH-FA76
-FA77;ID # CJK COMPATIBILITY IDEOGRAPH-FA77
-FA78;ID # CJK COMPATIBILITY IDEOGRAPH-FA78
-FA79;ID # CJK COMPATIBILITY IDEOGRAPH-FA79
-FA7A;ID # CJK COMPATIBILITY IDEOGRAPH-FA7A
-FA7B;ID # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA7C;ID # CJK COMPATIBILITY IDEOGRAPH-FA7C
-FA7D;ID # CJK COMPATIBILITY IDEOGRAPH-FA7D
-FA7E;ID # CJK COMPATIBILITY IDEOGRAPH-FA7E
-FA7F;ID # CJK COMPATIBILITY IDEOGRAPH-FA7F
-FA80;ID # CJK COMPATIBILITY IDEOGRAPH-FA80
-FA81;ID # CJK COMPATIBILITY IDEOGRAPH-FA81
-FA82;ID # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA83;ID # CJK COMPATIBILITY IDEOGRAPH-FA83
-FA84;ID # CJK COMPATIBILITY IDEOGRAPH-FA84
-FA85;ID # CJK COMPATIBILITY IDEOGRAPH-FA85
-FA86;ID # CJK COMPATIBILITY IDEOGRAPH-FA86
-FA87;ID # CJK COMPATIBILITY IDEOGRAPH-FA87
-FA88;ID # CJK COMPATIBILITY IDEOGRAPH-FA88
-FA89;ID # CJK COMPATIBILITY IDEOGRAPH-FA89
-FA8A;ID # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA8B;ID # CJK COMPATIBILITY IDEOGRAPH-FA8B
-FA8C;ID # CJK COMPATIBILITY IDEOGRAPH-FA8C
-FA8D;ID # CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E;ID # CJK COMPATIBILITY IDEOGRAPH-FA8E
-FA8F;ID # CJK COMPATIBILITY IDEOGRAPH-FA8F
-FA90;ID # CJK COMPATIBILITY IDEOGRAPH-FA90
-FA91;ID # CJK COMPATIBILITY IDEOGRAPH-FA91
-FA92;ID # CJK COMPATIBILITY IDEOGRAPH-FA92
-FA93;ID # CJK COMPATIBILITY IDEOGRAPH-FA93
-FA94;ID # CJK COMPATIBILITY IDEOGRAPH-FA94
-FA95;ID # CJK COMPATIBILITY IDEOGRAPH-FA95
-FA96;ID # CJK COMPATIBILITY IDEOGRAPH-FA96
-FA97;ID # CJK COMPATIBILITY IDEOGRAPH-FA97
-FA98;ID # CJK COMPATIBILITY IDEOGRAPH-FA98
-FA99;ID # CJK COMPATIBILITY IDEOGRAPH-FA99
-FA9A;ID # CJK COMPATIBILITY IDEOGRAPH-FA9A
-FA9B;ID # CJK COMPATIBILITY IDEOGRAPH-FA9B
-FA9C;ID # CJK COMPATIBILITY IDEOGRAPH-FA9C
-FA9D;ID # CJK COMPATIBILITY IDEOGRAPH-FA9D
-FA9E;ID # CJK COMPATIBILITY IDEOGRAPH-FA9E
-FA9F;ID # CJK COMPATIBILITY IDEOGRAPH-FA9F
-FAA0;ID # CJK COMPATIBILITY IDEOGRAPH-FAA0
-FAA1;ID # CJK COMPATIBILITY IDEOGRAPH-FAA1
-FAA2;ID # CJK COMPATIBILITY IDEOGRAPH-FAA2
-FAA3;ID # CJK COMPATIBILITY IDEOGRAPH-FAA3
-FAA4;ID # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5;ID # CJK COMPATIBILITY IDEOGRAPH-FAA5
-FAA6;ID # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7;ID # CJK COMPATIBILITY IDEOGRAPH-FAA7
-FAA8;ID # CJK COMPATIBILITY IDEOGRAPH-FAA8
-FAA9;ID # CJK COMPATIBILITY IDEOGRAPH-FAA9
-FAAA;ID # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAAB;ID # CJK COMPATIBILITY IDEOGRAPH-FAAB
-FAAC;ID # CJK COMPATIBILITY IDEOGRAPH-FAAC
-FAAD;ID # CJK COMPATIBILITY IDEOGRAPH-FAAD
-FAAE;ID # CJK COMPATIBILITY IDEOGRAPH-FAAE
-FAAF;ID # CJK COMPATIBILITY IDEOGRAPH-FAAF
-FAB0;ID # CJK COMPATIBILITY IDEOGRAPH-FAB0
-FAB1;ID # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FAB2;ID # CJK COMPATIBILITY IDEOGRAPH-FAB2
-FAB3;ID # CJK COMPATIBILITY IDEOGRAPH-FAB3
-FAB4;ID # CJK COMPATIBILITY IDEOGRAPH-FAB4
-FAB5;ID # CJK COMPATIBILITY IDEOGRAPH-FAB5
-FAB6;ID # CJK COMPATIBILITY IDEOGRAPH-FAB6
-FAB7;ID # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FAB8;ID # CJK COMPATIBILITY IDEOGRAPH-FAB8
-FAB9;ID # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABA;ID # CJK COMPATIBILITY IDEOGRAPH-FABA
-FABB;ID # CJK COMPATIBILITY IDEOGRAPH-FABB
-FABC;ID # CJK COMPATIBILITY IDEOGRAPH-FABC
-FABD;ID # CJK COMPATIBILITY IDEOGRAPH-FABD
-FABE;ID # CJK COMPATIBILITY IDEOGRAPH-FABE
-FABF;ID # CJK COMPATIBILITY IDEOGRAPH-FABF
-FAC0;ID # CJK COMPATIBILITY IDEOGRAPH-FAC0
-FAC1;ID # CJK COMPATIBILITY IDEOGRAPH-FAC1
-FAC2;ID # CJK COMPATIBILITY IDEOGRAPH-FAC2
-FAC3;ID # CJK COMPATIBILITY IDEOGRAPH-FAC3
-FAC4;ID # CJK COMPATIBILITY IDEOGRAPH-FAC4
-FAC5;ID # CJK COMPATIBILITY IDEOGRAPH-FAC5
-FAC6;ID # CJK COMPATIBILITY IDEOGRAPH-FAC6
-FAC7;ID # CJK COMPATIBILITY IDEOGRAPH-FAC7
-FAC8;ID # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9;ID # CJK COMPATIBILITY IDEOGRAPH-FAC9
-FACA;ID # CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB;ID # CJK COMPATIBILITY IDEOGRAPH-FACB
-FACC;ID # CJK COMPATIBILITY IDEOGRAPH-FACC
-FACD;ID # CJK COMPATIBILITY IDEOGRAPH-FACD
-FACE;ID # CJK COMPATIBILITY IDEOGRAPH-FACE
-FACF;ID # CJK COMPATIBILITY IDEOGRAPH-FACF
-FAD0;ID # CJK COMPATIBILITY IDEOGRAPH-FAD0
-FAD1;ID # CJK COMPATIBILITY IDEOGRAPH-FAD1
-FAD2;ID # CJK COMPATIBILITY IDEOGRAPH-FAD2
-FAD3;ID # CJK COMPATIBILITY IDEOGRAPH-FAD3
-FAD4;ID # CJK COMPATIBILITY IDEOGRAPH-FAD4
-FAD5;ID # CJK COMPATIBILITY IDEOGRAPH-FAD5
-FAD6;ID # CJK COMPATIBILITY IDEOGRAPH-FAD6
-FAD7;ID # CJK COMPATIBILITY IDEOGRAPH-FAD7
-FAD8;ID # CJK COMPATIBILITY IDEOGRAPH-FAD8
-FAD9;ID # CJK COMPATIBILITY IDEOGRAPH-FAD9
-FADA..FAFF;ID # <reserved-FADA>..<reserved-FAFF>
-FB00;AL # LATIN SMALL LIGATURE FF
-FB01;AL # LATIN SMALL LIGATURE FI
-FB02;AL # LATIN SMALL LIGATURE FL
-FB03;AL # LATIN SMALL LIGATURE FFI
-FB04;AL # LATIN SMALL LIGATURE FFL
-FB05;AL # LATIN SMALL LIGATURE LONG S T
-FB06;AL # LATIN SMALL LIGATURE ST
-FB13;AL # ARMENIAN SMALL LIGATURE MEN NOW
-FB14;AL # ARMENIAN SMALL LIGATURE MEN ECH
-FB15;AL # ARMENIAN SMALL LIGATURE MEN INI
-FB16;AL # ARMENIAN SMALL LIGATURE VEW NOW
-FB17;AL # ARMENIAN SMALL LIGATURE MEN XEH
-FB1D;AL # HEBREW LETTER YOD WITH HIRIQ
-FB1E;CM # HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F;AL # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB20;AL # HEBREW LETTER ALTERNATIVE AYIN
-FB21;AL # HEBREW LETTER WIDE ALEF
-FB22;AL # HEBREW LETTER WIDE DALET
-FB23;AL # HEBREW LETTER WIDE HE
-FB24;AL # HEBREW LETTER WIDE KAF
-FB25;AL # HEBREW LETTER WIDE LAMED
-FB26;AL # HEBREW LETTER WIDE FINAL MEM
-FB27;AL # HEBREW LETTER WIDE RESH
-FB28;AL # HEBREW LETTER WIDE TAV
-FB29;AL # HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A;AL # HEBREW LETTER SHIN WITH SHIN DOT
-FB2B;AL # HEBREW LETTER SHIN WITH SIN DOT
-FB2C;AL # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D;AL # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E;AL # HEBREW LETTER ALEF WITH PATAH
-FB2F;AL # HEBREW LETTER ALEF WITH QAMATS
-FB30;AL # HEBREW LETTER ALEF WITH MAPIQ
-FB31;AL # HEBREW LETTER BET WITH DAGESH
-FB32;AL # HEBREW LETTER GIMEL WITH DAGESH
-FB33;AL # HEBREW LETTER DALET WITH DAGESH
-FB34;AL # HEBREW LETTER HE WITH MAPIQ
-FB35;AL # HEBREW LETTER VAV WITH DAGESH
-FB36;AL # HEBREW LETTER ZAYIN WITH DAGESH
-FB38;AL # HEBREW LETTER TET WITH DAGESH
-FB39;AL # HEBREW LETTER YOD WITH DAGESH
-FB3A;AL # HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B;AL # HEBREW LETTER KAF WITH DAGESH
-FB3C;AL # HEBREW LETTER LAMED WITH DAGESH
-FB3E;AL # HEBREW LETTER MEM WITH DAGESH
-FB40;AL # HEBREW LETTER NUN WITH DAGESH
-FB41;AL # HEBREW LETTER SAMEKH WITH DAGESH
-FB43;AL # HEBREW LETTER FINAL PE WITH DAGESH
-FB44;AL # HEBREW LETTER PE WITH DAGESH
-FB46;AL # HEBREW LETTER TSADI WITH DAGESH
-FB47;AL # HEBREW LETTER QOF WITH DAGESH
-FB48;AL # HEBREW LETTER RESH WITH DAGESH
-FB49;AL # HEBREW LETTER SHIN WITH DAGESH
-FB4A;AL # HEBREW LETTER TAV WITH DAGESH
-FB4B;AL # HEBREW LETTER VAV WITH HOLAM
-FB4C;AL # HEBREW LETTER BET WITH RAFE
-FB4D;AL # HEBREW LETTER KAF WITH RAFE
-FB4E;AL # HEBREW LETTER PE WITH RAFE
-FB4F;AL # HEBREW LIGATURE ALEF LAMED
-FB50;AL # ARABIC LETTER ALEF WASLA ISOLATED FORM
-FB51;AL # ARABIC LETTER ALEF WASLA FINAL FORM
-FB52;AL # ARABIC LETTER BEEH ISOLATED FORM
-FB53;AL # ARABIC LETTER BEEH FINAL FORM
-FB54;AL # ARABIC LETTER BEEH INITIAL FORM
-FB55;AL # ARABIC LETTER BEEH MEDIAL FORM
-FB56;AL # ARABIC LETTER PEH ISOLATED FORM
-FB57;AL # ARABIC LETTER PEH FINAL FORM
-FB58;AL # ARABIC LETTER PEH INITIAL FORM
-FB59;AL # ARABIC LETTER PEH MEDIAL FORM
-FB5A;AL # ARABIC LETTER BEHEH ISOLATED FORM
-FB5B;AL # ARABIC LETTER BEHEH FINAL FORM
-FB5C;AL # ARABIC LETTER BEHEH INITIAL FORM
-FB5D;AL # ARABIC LETTER BEHEH MEDIAL FORM
-FB5E;AL # ARABIC LETTER TTEHEH ISOLATED FORM
-FB5F;AL # ARABIC LETTER TTEHEH FINAL FORM
-FB60;AL # ARABIC LETTER TTEHEH INITIAL FORM
-FB61;AL # ARABIC LETTER TTEHEH MEDIAL FORM
-FB62;AL # ARABIC LETTER TEHEH ISOLATED FORM
-FB63;AL # ARABIC LETTER TEHEH FINAL FORM
-FB64;AL # ARABIC LETTER TEHEH INITIAL FORM
-FB65;AL # ARABIC LETTER TEHEH MEDIAL FORM
-FB66;AL # ARABIC LETTER TTEH ISOLATED FORM
-FB67;AL # ARABIC LETTER TTEH FINAL FORM
-FB68;AL # ARABIC LETTER TTEH INITIAL FORM
-FB69;AL # ARABIC LETTER TTEH MEDIAL FORM
-FB6A;AL # ARABIC LETTER VEH ISOLATED FORM
-FB6B;AL # ARABIC LETTER VEH FINAL FORM
-FB6C;AL # ARABIC LETTER VEH INITIAL FORM
-FB6D;AL # ARABIC LETTER VEH MEDIAL FORM
-FB6E;AL # ARABIC LETTER PEHEH ISOLATED FORM
-FB6F;AL # ARABIC LETTER PEHEH FINAL FORM
-FB70;AL # ARABIC LETTER PEHEH INITIAL FORM
-FB71;AL # ARABIC LETTER PEHEH MEDIAL FORM
-FB72;AL # ARABIC LETTER DYEH ISOLATED FORM
-FB73;AL # ARABIC LETTER DYEH FINAL FORM
-FB74;AL # ARABIC LETTER DYEH INITIAL FORM
-FB75;AL # ARABIC LETTER DYEH MEDIAL FORM
-FB76;AL # ARABIC LETTER NYEH ISOLATED FORM
-FB77;AL # ARABIC LETTER NYEH FINAL FORM
-FB78;AL # ARABIC LETTER NYEH INITIAL FORM
-FB79;AL # ARABIC LETTER NYEH MEDIAL FORM
-FB7A;AL # ARABIC LETTER TCHEH ISOLATED FORM
-FB7B;AL # ARABIC LETTER TCHEH FINAL FORM
-FB7C;AL # ARABIC LETTER TCHEH INITIAL FORM
-FB7D;AL # ARABIC LETTER TCHEH MEDIAL FORM
-FB7E;AL # ARABIC LETTER TCHEHEH ISOLATED FORM
-FB7F;AL # ARABIC LETTER TCHEHEH FINAL FORM
-FB80;AL # ARABIC LETTER TCHEHEH INITIAL FORM
-FB81;AL # ARABIC LETTER TCHEHEH MEDIAL FORM
-FB82;AL # ARABIC LETTER DDAHAL ISOLATED FORM
-FB83;AL # ARABIC LETTER DDAHAL FINAL FORM
-FB84;AL # ARABIC LETTER DAHAL ISOLATED FORM
-FB85;AL # ARABIC LETTER DAHAL FINAL FORM
-FB86;AL # ARABIC LETTER DUL ISOLATED FORM
-FB87;AL # ARABIC LETTER DUL FINAL FORM
-FB88;AL # ARABIC LETTER DDAL ISOLATED FORM
-FB89;AL # ARABIC LETTER DDAL FINAL FORM
-FB8A;AL # ARABIC LETTER JEH ISOLATED FORM
-FB8B;AL # ARABIC LETTER JEH FINAL FORM
-FB8C;AL # ARABIC LETTER RREH ISOLATED FORM
-FB8D;AL # ARABIC LETTER RREH FINAL FORM
-FB8E;AL # ARABIC LETTER KEHEH ISOLATED FORM
-FB8F;AL # ARABIC LETTER KEHEH FINAL FORM
-FB90;AL # ARABIC LETTER KEHEH INITIAL FORM
-FB91;AL # ARABIC LETTER KEHEH MEDIAL FORM
-FB92;AL # ARABIC LETTER GAF ISOLATED FORM
-FB93;AL # ARABIC LETTER GAF FINAL FORM
-FB94;AL # ARABIC LETTER GAF INITIAL FORM
-FB95;AL # ARABIC LETTER GAF MEDIAL FORM
-FB96;AL # ARABIC LETTER GUEH ISOLATED FORM
-FB97;AL # ARABIC LETTER GUEH FINAL FORM
-FB98;AL # ARABIC LETTER GUEH INITIAL FORM
-FB99;AL # ARABIC LETTER GUEH MEDIAL FORM
-FB9A;AL # ARABIC LETTER NGOEH ISOLATED FORM
-FB9B;AL # ARABIC LETTER NGOEH FINAL FORM
-FB9C;AL # ARABIC LETTER NGOEH INITIAL FORM
-FB9D;AL # ARABIC LETTER NGOEH MEDIAL FORM
-FB9E;AL # ARABIC LETTER NOON GHUNNA ISOLATED FORM
-FB9F;AL # ARABIC LETTER NOON GHUNNA FINAL FORM
-FBA0;AL # ARABIC LETTER RNOON ISOLATED FORM
-FBA1;AL # ARABIC LETTER RNOON FINAL FORM
-FBA2;AL # ARABIC LETTER RNOON INITIAL FORM
-FBA3;AL # ARABIC LETTER RNOON MEDIAL FORM
-FBA4;AL # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
-FBA5;AL # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA6;AL # ARABIC LETTER HEH GOAL ISOLATED FORM
-FBA7;AL # ARABIC LETTER HEH GOAL FINAL FORM
-FBA8;AL # ARABIC LETTER HEH GOAL INITIAL FORM
-FBA9;AL # ARABIC LETTER HEH GOAL MEDIAL FORM
-FBAA;AL # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-FBAB;AL # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
-FBAC;AL # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
-FBAD;AL # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBAE;AL # ARABIC LETTER YEH BARREE ISOLATED FORM
-FBAF;AL # ARABIC LETTER YEH BARREE FINAL FORM
-FBB0;AL # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-FBB1;AL # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3;AL # ARABIC LETTER NG ISOLATED FORM
-FBD4;AL # ARABIC LETTER NG FINAL FORM
-FBD5;AL # ARABIC LETTER NG INITIAL FORM
-FBD6;AL # ARABIC LETTER NG MEDIAL FORM
-FBD7;AL # ARABIC LETTER U ISOLATED FORM
-FBD8;AL # ARABIC LETTER U FINAL FORM
-FBD9;AL # ARABIC LETTER OE ISOLATED FORM
-FBDA;AL # ARABIC LETTER OE FINAL FORM
-FBDB;AL # ARABIC LETTER YU ISOLATED FORM
-FBDC;AL # ARABIC LETTER YU FINAL FORM
-FBDD;AL # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-FBDE;AL # ARABIC LETTER VE ISOLATED FORM
-FBDF;AL # ARABIC LETTER VE FINAL FORM
-FBE0;AL # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
-FBE1;AL # ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE2;AL # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
-FBE3;AL # ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE4;AL # ARABIC LETTER E ISOLATED FORM
-FBE5;AL # ARABIC LETTER E FINAL FORM
-FBE6;AL # ARABIC LETTER E INITIAL FORM
-FBE7;AL # ARABIC LETTER E MEDIAL FORM
-FBE8;AL # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9;AL # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FBEA;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
-FBEB;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBEC;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
-FBED;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEE;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
-FBEF;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBF0;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
-FBF1;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF2;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
-FBF3;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF4;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
-FBF5;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF6;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
-FBF7;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
-FBF8;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBF9;AL # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FBFA;AL # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FBFB;AL # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFC;AL # ARABIC LETTER FARSI YEH ISOLATED FORM
-FBFD;AL # ARABIC LETTER FARSI YEH FINAL FORM
-FBFE;AL # ARABIC LETTER FARSI YEH INITIAL FORM
-FBFF;AL # ARABIC LETTER FARSI YEH MEDIAL FORM
-FC00;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
-FC01;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
-FC02;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
-FC03;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC04;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
-FC05;AL # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
-FC06;AL # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
-FC07;AL # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
-FC08;AL # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
-FC09;AL # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
-FC0A;AL # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
-FC0B;AL # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
-FC0C;AL # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
-FC0D;AL # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
-FC0E;AL # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
-FC0F;AL # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
-FC10;AL # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
-FC11;AL # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
-FC12;AL # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
-FC13;AL # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
-FC14;AL # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
-FC15;AL # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
-FC16;AL # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
-FC17;AL # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
-FC18;AL # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
-FC19;AL # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
-FC1A;AL # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
-FC1B;AL # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
-FC1C;AL # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
-FC1D;AL # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
-FC1E;AL # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
-FC1F;AL # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
-FC20;AL # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
-FC21;AL # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
-FC22;AL # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
-FC23;AL # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
-FC24;AL # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
-FC25;AL # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
-FC26;AL # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
-FC27;AL # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
-FC28;AL # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
-FC29;AL # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
-FC2A;AL # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
-FC2B;AL # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
-FC2C;AL # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
-FC2D;AL # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
-FC2E;AL # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
-FC2F;AL # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
-FC30;AL # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
-FC31;AL # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
-FC32;AL # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
-FC33;AL # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
-FC34;AL # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
-FC35;AL # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
-FC36;AL # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
-FC37;AL # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
-FC38;AL # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
-FC39;AL # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
-FC3A;AL # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
-FC3B;AL # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
-FC3C;AL # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
-FC3D;AL # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
-FC3E;AL # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
-FC3F;AL # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
-FC40;AL # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
-FC41;AL # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
-FC42;AL # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
-FC43;AL # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
-FC44;AL # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
-FC45;AL # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
-FC46;AL # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
-FC47;AL # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
-FC48;AL # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
-FC49;AL # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
-FC4A;AL # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
-FC4B;AL # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
-FC4C;AL # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
-FC4D;AL # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
-FC4E;AL # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
-FC4F;AL # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
-FC50;AL # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
-FC51;AL # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
-FC52;AL # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
-FC53;AL # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
-FC54;AL # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
-FC55;AL # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
-FC56;AL # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
-FC57;AL # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
-FC58;AL # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
-FC59;AL # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
-FC5A;AL # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
-FC5B;AL # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5C;AL # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5D;AL # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5E;AL # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
-FC5F;AL # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
-FC60;AL # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
-FC61;AL # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
-FC62;AL # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
-FC63;AL # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC64;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
-FC65;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
-FC66;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
-FC67;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
-FC68;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FC69;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
-FC6A;AL # ARABIC LIGATURE BEH WITH REH FINAL FORM
-FC6B;AL # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
-FC6C;AL # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
-FC6D;AL # ARABIC LIGATURE BEH WITH NOON FINAL FORM
-FC6E;AL # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
-FC6F;AL # ARABIC LIGATURE BEH WITH YEH FINAL FORM
-FC70;AL # ARABIC LIGATURE TEH WITH REH FINAL FORM
-FC71;AL # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
-FC72;AL # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
-FC73;AL # ARABIC LIGATURE TEH WITH NOON FINAL FORM
-FC74;AL # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
-FC75;AL # ARABIC LIGATURE TEH WITH YEH FINAL FORM
-FC76;AL # ARABIC LIGATURE THEH WITH REH FINAL FORM
-FC77;AL # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
-FC78;AL # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
-FC79;AL # ARABIC LIGATURE THEH WITH NOON FINAL FORM
-FC7A;AL # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
-FC7B;AL # ARABIC LIGATURE THEH WITH YEH FINAL FORM
-FC7C;AL # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
-FC7D;AL # ARABIC LIGATURE FEH WITH YEH FINAL FORM
-FC7E;AL # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
-FC7F;AL # ARABIC LIGATURE QAF WITH YEH FINAL FORM
-FC80;AL # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
-FC81;AL # ARABIC LIGATURE KAF WITH LAM FINAL FORM
-FC82;AL # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
-FC83;AL # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
-FC84;AL # ARABIC LIGATURE KAF WITH YEH FINAL FORM
-FC85;AL # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
-FC86;AL # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
-FC87;AL # ARABIC LIGATURE LAM WITH YEH FINAL FORM
-FC88;AL # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
-FC89;AL # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
-FC8A;AL # ARABIC LIGATURE NOON WITH REH FINAL FORM
-FC8B;AL # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
-FC8C;AL # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
-FC8D;AL # ARABIC LIGATURE NOON WITH NOON FINAL FORM
-FC8E;AL # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
-FC8F;AL # ARABIC LIGATURE NOON WITH YEH FINAL FORM
-FC90;AL # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC91;AL # ARABIC LIGATURE YEH WITH REH FINAL FORM
-FC92;AL # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
-FC93;AL # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
-FC94;AL # ARABIC LIGATURE YEH WITH NOON FINAL FORM
-FC95;AL # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
-FC96;AL # ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FC97;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
-FC98;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
-FC99;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
-FC9A;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
-FC9B;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
-FC9C;AL # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
-FC9D;AL # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
-FC9E;AL # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
-FC9F;AL # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
-FCA0;AL # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
-FCA1;AL # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
-FCA2;AL # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
-FCA3;AL # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
-FCA4;AL # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
-FCA5;AL # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
-FCA6;AL # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
-FCA7;AL # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
-FCA8;AL # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
-FCA9;AL # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
-FCAA;AL # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
-FCAB;AL # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
-FCAC;AL # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
-FCAD;AL # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
-FCAE;AL # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
-FCAF;AL # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
-FCB0;AL # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
-FCB1;AL # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
-FCB2;AL # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
-FCB3;AL # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
-FCB4;AL # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
-FCB5;AL # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
-FCB6;AL # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
-FCB7;AL # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
-FCB8;AL # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
-FCB9;AL # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
-FCBA;AL # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
-FCBB;AL # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
-FCBC;AL # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
-FCBD;AL # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
-FCBE;AL # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
-FCBF;AL # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
-FCC0;AL # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
-FCC1;AL # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
-FCC2;AL # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
-FCC3;AL # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
-FCC4;AL # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
-FCC5;AL # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
-FCC6;AL # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
-FCC7;AL # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
-FCC8;AL # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
-FCC9;AL # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
-FCCA;AL # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
-FCCB;AL # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
-FCCC;AL # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
-FCCD;AL # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
-FCCE;AL # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
-FCCF;AL # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
-FCD0;AL # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
-FCD1;AL # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
-FCD2;AL # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
-FCD3;AL # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
-FCD4;AL # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
-FCD5;AL # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
-FCD6;AL # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
-FCD7;AL # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
-FCD8;AL # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
-FCD9;AL # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
-FCDA;AL # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
-FCDB;AL # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
-FCDC;AL # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
-FCDD;AL # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
-FCDE;AL # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FCDF;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
-FCE0;AL # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
-FCE1;AL # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
-FCE2;AL # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
-FCE3;AL # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
-FCE4;AL # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
-FCE5;AL # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
-FCE6;AL # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
-FCE7;AL # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
-FCE8;AL # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
-FCE9;AL # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
-FCEA;AL # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
-FCEB;AL # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
-FCEC;AL # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
-FCED;AL # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
-FCEE;AL # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
-FCEF;AL # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
-FCF0;AL # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
-FCF1;AL # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
-FCF2;AL # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
-FCF3;AL # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
-FCF4;AL # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
-FCF5;AL # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
-FCF6;AL # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
-FCF7;AL # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
-FCF8;AL # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
-FCF9;AL # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
-FCFA;AL # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
-FCFB;AL # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFC;AL # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
-FCFD;AL # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFE;AL # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
-FCFF;AL # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
-FD00;AL # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
-FD01;AL # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
-FD02;AL # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
-FD03;AL # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
-FD04;AL # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
-FD05;AL # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
-FD06;AL # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
-FD07;AL # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
-FD08;AL # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
-FD09;AL # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
-FD0A;AL # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
-FD0B;AL # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
-FD0C;AL # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
-FD0D;AL # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
-FD0E;AL # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
-FD0F;AL # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
-FD10;AL # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FD11;AL # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
-FD12;AL # ARABIC LIGATURE TAH WITH YEH FINAL FORM
-FD13;AL # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
-FD14;AL # ARABIC LIGATURE AIN WITH YEH FINAL FORM
-FD15;AL # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
-FD16;AL # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
-FD17;AL # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
-FD18;AL # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
-FD19;AL # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
-FD1A;AL # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
-FD1B;AL # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
-FD1C;AL # ARABIC LIGATURE HAH WITH YEH FINAL FORM
-FD1D;AL # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
-FD1E;AL # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
-FD1F;AL # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
-FD20;AL # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
-FD21;AL # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
-FD22;AL # ARABIC LIGATURE SAD WITH YEH FINAL FORM
-FD23;AL # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
-FD24;AL # ARABIC LIGATURE DAD WITH YEH FINAL FORM
-FD25;AL # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
-FD26;AL # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
-FD27;AL # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
-FD28;AL # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
-FD29;AL # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
-FD2A;AL # ARABIC LIGATURE SEEN WITH REH FINAL FORM
-FD2B;AL # ARABIC LIGATURE SAD WITH REH FINAL FORM
-FD2C;AL # ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD2D;AL # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
-FD2E;AL # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
-FD2F;AL # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
-FD30;AL # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
-FD31;AL # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
-FD32;AL # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
-FD33;AL # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD34;AL # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
-FD35;AL # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
-FD36;AL # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
-FD37;AL # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
-FD38;AL # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
-FD39;AL # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
-FD3A;AL # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
-FD3B;AL # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FD3C;AL # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
-FD3D;AL # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD3E;OP # ORNATE LEFT PARENTHESIS
-FD3F;CL # ORNATE RIGHT PARENTHESIS
-FD50;AL # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FD51;AL # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
-FD52;AL # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
-FD53;AL # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
-FD54;AL # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
-FD55;AL # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
-FD56;AL # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
-FD57;AL # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FD58;AL # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
-FD59;AL # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD5A;AL # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
-FD5B;AL # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5C;AL # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
-FD5D;AL # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD5E;AL # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD5F;AL # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
-FD60;AL # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
-FD61;AL # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD62;AL # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
-FD63;AL # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD64;AL # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
-FD65;AL # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD66;AL # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
-FD67;AL # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
-FD68;AL # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD69;AL # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
-FD6A;AL # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
-FD6B;AL # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6C;AL # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
-FD6D;AL # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD6E;AL # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD6F;AL # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
-FD70;AL # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD71;AL # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
-FD72;AL # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
-FD73;AL # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD74;AL # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
-FD75;AL # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
-FD76;AL # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
-FD77;AL # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD78;AL # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD79;AL # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
-FD7A;AL # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
-FD7B;AL # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD7C;AL # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
-FD7D;AL # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD7E;AL # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
-FD7F;AL # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
-FD80;AL # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
-FD81;AL # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
-FD82;AL # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD83;AL # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
-FD84;AL # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
-FD85;AL # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
-FD86;AL # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD87;AL # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
-FD88;AL # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
-FD89;AL # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
-FD8A;AL # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FD8B;AL # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FD8C;AL # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
-FD8D;AL # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
-FD8E;AL # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
-FD8F;AL # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92;AL # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
-FD93;AL # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
-FD94;AL # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
-FD95;AL # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD96;AL # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD97;AL # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
-FD98;AL # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD99;AL # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD9A;AL # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
-FD9B;AL # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD9C;AL # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
-FD9D;AL # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FD9E;AL # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
-FD9F;AL # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
-FDA0;AL # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FDA1;AL # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
-FDA2;AL # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA3;AL # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
-FDA4;AL # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA5;AL # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
-FDA6;AL # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDA7;AL # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA8;AL # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA9;AL # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
-FDAA;AL # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
-FDAB;AL # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
-FDAC;AL # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
-FDAD;AL # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
-FDAE;AL # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
-FDAF;AL # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
-FDB0;AL # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
-FDB1;AL # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
-FDB2;AL # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
-FDB3;AL # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FDB4;AL # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
-FDB5;AL # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FDB6;AL # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
-FDB7;AL # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FDB8;AL # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDB9;AL # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FDBA;AL # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDBB;AL # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
-FDBC;AL # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
-FDBD;AL # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
-FDBE;AL # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
-FDBF;AL # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
-FDC0;AL # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
-FDC1;AL # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
-FDC2;AL # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FDC3;AL # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
-FDC4;AL # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
-FDC5;AL # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FDC6;AL # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
-FDC7;AL # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0;AL # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF1;AL # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF2;AL # ARABIC LIGATURE ALLAH ISOLATED FORM
-FDF3;AL # ARABIC LIGATURE AKBAR ISOLATED FORM
-FDF4;AL # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
-FDF5;AL # ARABIC LIGATURE SALAM ISOLATED FORM
-FDF6;AL # ARABIC LIGATURE RASOUL ISOLATED FORM
-FDF7;AL # ARABIC LIGATURE ALAYHE ISOLATED FORM
-FDF8;AL # ARABIC LIGATURE WASALLAM ISOLATED FORM
-FDF9;AL # ARABIC LIGATURE SALLA ISOLATED FORM
-FDFA;AL # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
-FDFB;AL # ARABIC LIGATURE JALLAJALALOUHOU
-FDFC;PO # RIAL SIGN
-FDFD;AL # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE00;CM # VARIATION SELECTOR-1
-FE01;CM # VARIATION SELECTOR-2
-FE02;CM # VARIATION SELECTOR-3
-FE03;CM # VARIATION SELECTOR-4
-FE04;CM # VARIATION SELECTOR-5
-FE05;CM # VARIATION SELECTOR-6
-FE06;CM # VARIATION SELECTOR-7
-FE07;CM # VARIATION SELECTOR-8
-FE08;CM # VARIATION SELECTOR-9
-FE09;CM # VARIATION SELECTOR-10
-FE0A;CM # VARIATION SELECTOR-11
-FE0B;CM # VARIATION SELECTOR-12
-FE0C;CM # VARIATION SELECTOR-13
-FE0D;CM # VARIATION SELECTOR-14
-FE0E;CM # VARIATION SELECTOR-15
-FE0F;CM # VARIATION SELECTOR-16
-FE10;IS # PRESENTATION FORM FOR VERTICAL COMMA
-FE11;CL # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE12;CL # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE13;IS # PRESENTATION FORM FOR VERTICAL COLON
-FE14;IS # PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE15;EX # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
-FE16;EX # PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17;OP # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18;CL # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19;IN # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE20;CM # COMBINING LIGATURE LEFT HALF
-FE21;CM # COMBINING LIGATURE RIGHT HALF
-FE22;CM # COMBINING DOUBLE TILDE LEFT HALF
-FE23;CM # COMBINING DOUBLE TILDE RIGHT HALF
-FE24;CM # COMBINING MACRON LEFT HALF
-FE25;CM # COMBINING MACRON RIGHT HALF
-FE26;CM # COMBINING CONJOINING MACRON
-FE30;ID # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31;ID # PRESENTATION FORM FOR VERTICAL EM DASH
-FE32;ID # PRESENTATION FORM FOR VERTICAL EN DASH
-FE33;ID # PRESENTATION FORM FOR VERTICAL LOW LINE
-FE34;ID # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35;OP # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36;CL # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37;OP # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38;CL # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39;OP # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A;CL # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B;OP # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C;CL # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D;OP # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E;CL # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F;OP # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40;CL # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41;OP # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42;CL # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43;OP # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44;CL # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45;ID # SESAME DOT
-FE46;ID # WHITE SESAME DOT
-FE47;OP # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48;CL # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49;ID # DASHED OVERLINE
-FE4A;ID # CENTRELINE OVERLINE
-FE4B;ID # WAVY OVERLINE
-FE4C;ID # DOUBLE WAVY OVERLINE
-FE4D;ID # DASHED LOW LINE
-FE4E;ID # CENTRELINE LOW LINE
-FE4F;ID # WAVY LOW LINE
-FE50;CL # SMALL COMMA
-FE51;ID # SMALL IDEOGRAPHIC COMMA
-FE52;CL # SMALL FULL STOP
-FE54;NS # SMALL SEMICOLON
-FE55;NS # SMALL COLON
-FE56;EX # SMALL QUESTION MARK
-FE57;EX # SMALL EXCLAMATION MARK
-FE58;ID # SMALL EM DASH
-FE59;OP # SMALL LEFT PARENTHESIS
-FE5A;CL # SMALL RIGHT PARENTHESIS
-FE5B;OP # SMALL LEFT CURLY BRACKET
-FE5C;CL # SMALL RIGHT CURLY BRACKET
-FE5D;OP # SMALL LEFT TORTOISE SHELL BRACKET
-FE5E;CL # SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F;ID # SMALL NUMBER SIGN
-FE60;ID # SMALL AMPERSAND
-FE61;ID # SMALL ASTERISK
-FE62;ID # SMALL PLUS SIGN
-FE63;ID # SMALL HYPHEN-MINUS
-FE64;ID # SMALL LESS-THAN SIGN
-FE65;ID # SMALL GREATER-THAN SIGN
-FE66;ID # SMALL EQUALS SIGN
-FE68;ID # SMALL REVERSE SOLIDUS
-FE69;PR # SMALL DOLLAR SIGN
-FE6A;PO # SMALL PERCENT SIGN
-FE6B;ID # SMALL COMMERCIAL AT
-FE70;AL # ARABIC FATHATAN ISOLATED FORM
-FE71;AL # ARABIC TATWEEL WITH FATHATAN ABOVE
-FE72;AL # ARABIC DAMMATAN ISOLATED FORM
-FE73;AL # ARABIC TAIL FRAGMENT
-FE74;AL # ARABIC KASRATAN ISOLATED FORM
-FE76;AL # ARABIC FATHA ISOLATED FORM
-FE77;AL # ARABIC FATHA MEDIAL FORM
-FE78;AL # ARABIC DAMMA ISOLATED FORM
-FE79;AL # ARABIC DAMMA MEDIAL FORM
-FE7A;AL # ARABIC KASRA ISOLATED FORM
-FE7B;AL # ARABIC KASRA MEDIAL FORM
-FE7C;AL # ARABIC SHADDA ISOLATED FORM
-FE7D;AL # ARABIC SHADDA MEDIAL FORM
-FE7E;AL # ARABIC SUKUN ISOLATED FORM
-FE7F;AL # ARABIC SUKUN MEDIAL FORM
-FE80;AL # ARABIC LETTER HAMZA ISOLATED FORM
-FE81;AL # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-FE82;AL # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE83;AL # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-FE84;AL # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE85;AL # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-FE86;AL # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE87;AL # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
-FE88;AL # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE89;AL # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-FE8A;AL # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-FE8B;AL # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-FE8C;AL # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE8D;AL # ARABIC LETTER ALEF ISOLATED FORM
-FE8E;AL # ARABIC LETTER ALEF FINAL FORM
-FE8F;AL # ARABIC LETTER BEH ISOLATED FORM
-FE90;AL # ARABIC LETTER BEH FINAL FORM
-FE91;AL # ARABIC LETTER BEH INITIAL FORM
-FE92;AL # ARABIC LETTER BEH MEDIAL FORM
-FE93;AL # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-FE94;AL # ARABIC LETTER TEH MARBUTA FINAL FORM
-FE95;AL # ARABIC LETTER TEH ISOLATED FORM
-FE96;AL # ARABIC LETTER TEH FINAL FORM
-FE97;AL # ARABIC LETTER TEH INITIAL FORM
-FE98;AL # ARABIC LETTER TEH MEDIAL FORM
-FE99;AL # ARABIC LETTER THEH ISOLATED FORM
-FE9A;AL # ARABIC LETTER THEH FINAL FORM
-FE9B;AL # ARABIC LETTER THEH INITIAL FORM
-FE9C;AL # ARABIC LETTER THEH MEDIAL FORM
-FE9D;AL # ARABIC LETTER JEEM ISOLATED FORM
-FE9E;AL # ARABIC LETTER JEEM FINAL FORM
-FE9F;AL # ARABIC LETTER JEEM INITIAL FORM
-FEA0;AL # ARABIC LETTER JEEM MEDIAL FORM
-FEA1;AL # ARABIC LETTER HAH ISOLATED FORM
-FEA2;AL # ARABIC LETTER HAH FINAL FORM
-FEA3;AL # ARABIC LETTER HAH INITIAL FORM
-FEA4;AL # ARABIC LETTER HAH MEDIAL FORM
-FEA5;AL # ARABIC LETTER KHAH ISOLATED FORM
-FEA6;AL # ARABIC LETTER KHAH FINAL FORM
-FEA7;AL # ARABIC LETTER KHAH INITIAL FORM
-FEA8;AL # ARABIC LETTER KHAH MEDIAL FORM
-FEA9;AL # ARABIC LETTER DAL ISOLATED FORM
-FEAA;AL # ARABIC LETTER DAL FINAL FORM
-FEAB;AL # ARABIC LETTER THAL ISOLATED FORM
-FEAC;AL # ARABIC LETTER THAL FINAL FORM
-FEAD;AL # ARABIC LETTER REH ISOLATED FORM
-FEAE;AL # ARABIC LETTER REH FINAL FORM
-FEAF;AL # ARABIC LETTER ZAIN ISOLATED FORM
-FEB0;AL # ARABIC LETTER ZAIN FINAL FORM
-FEB1;AL # ARABIC LETTER SEEN ISOLATED FORM
-FEB2;AL # ARABIC LETTER SEEN FINAL FORM
-FEB3;AL # ARABIC LETTER SEEN INITIAL FORM
-FEB4;AL # ARABIC LETTER SEEN MEDIAL FORM
-FEB5;AL # ARABIC LETTER SHEEN ISOLATED FORM
-FEB6;AL # ARABIC LETTER SHEEN FINAL FORM
-FEB7;AL # ARABIC LETTER SHEEN INITIAL FORM
-FEB8;AL # ARABIC LETTER SHEEN MEDIAL FORM
-FEB9;AL # ARABIC LETTER SAD ISOLATED FORM
-FEBA;AL # ARABIC LETTER SAD FINAL FORM
-FEBB;AL # ARABIC LETTER SAD INITIAL FORM
-FEBC;AL # ARABIC LETTER SAD MEDIAL FORM
-FEBD;AL # ARABIC LETTER DAD ISOLATED FORM
-FEBE;AL # ARABIC LETTER DAD FINAL FORM
-FEBF;AL # ARABIC LETTER DAD INITIAL FORM
-FEC0;AL # ARABIC LETTER DAD MEDIAL FORM
-FEC1;AL # ARABIC LETTER TAH ISOLATED FORM
-FEC2;AL # ARABIC LETTER TAH FINAL FORM
-FEC3;AL # ARABIC LETTER TAH INITIAL FORM
-FEC4;AL # ARABIC LETTER TAH MEDIAL FORM
-FEC5;AL # ARABIC LETTER ZAH ISOLATED FORM
-FEC6;AL # ARABIC LETTER ZAH FINAL FORM
-FEC7;AL # ARABIC LETTER ZAH INITIAL FORM
-FEC8;AL # ARABIC LETTER ZAH MEDIAL FORM
-FEC9;AL # ARABIC LETTER AIN ISOLATED FORM
-FECA;AL # ARABIC LETTER AIN FINAL FORM
-FECB;AL # ARABIC LETTER AIN INITIAL FORM
-FECC;AL # ARABIC LETTER AIN MEDIAL FORM
-FECD;AL # ARABIC LETTER GHAIN ISOLATED FORM
-FECE;AL # ARABIC LETTER GHAIN FINAL FORM
-FECF;AL # ARABIC LETTER GHAIN INITIAL FORM
-FED0;AL # ARABIC LETTER GHAIN MEDIAL FORM
-FED1;AL # ARABIC LETTER FEH ISOLATED FORM
-FED2;AL # ARABIC LETTER FEH FINAL FORM
-FED3;AL # ARABIC LETTER FEH INITIAL FORM
-FED4;AL # ARABIC LETTER FEH MEDIAL FORM
-FED5;AL # ARABIC LETTER QAF ISOLATED FORM
-FED6;AL # ARABIC LETTER QAF FINAL FORM
-FED7;AL # ARABIC LETTER QAF INITIAL FORM
-FED8;AL # ARABIC LETTER QAF MEDIAL FORM
-FED9;AL # ARABIC LETTER KAF ISOLATED FORM
-FEDA;AL # ARABIC LETTER KAF FINAL FORM
-FEDB;AL # ARABIC LETTER KAF INITIAL FORM
-FEDC;AL # ARABIC LETTER KAF MEDIAL FORM
-FEDD;AL # ARABIC LETTER LAM ISOLATED FORM
-FEDE;AL # ARABIC LETTER LAM FINAL FORM
-FEDF;AL # ARABIC LETTER LAM INITIAL FORM
-FEE0;AL # ARABIC LETTER LAM MEDIAL FORM
-FEE1;AL # ARABIC LETTER MEEM ISOLATED FORM
-FEE2;AL # ARABIC LETTER MEEM FINAL FORM
-FEE3;AL # ARABIC LETTER MEEM INITIAL FORM
-FEE4;AL # ARABIC LETTER MEEM MEDIAL FORM
-FEE5;AL # ARABIC LETTER NOON ISOLATED FORM
-FEE6;AL # ARABIC LETTER NOON FINAL FORM
-FEE7;AL # ARABIC LETTER NOON INITIAL FORM
-FEE8;AL # ARABIC LETTER NOON MEDIAL FORM
-FEE9;AL # ARABIC LETTER HEH ISOLATED FORM
-FEEA;AL # ARABIC LETTER HEH FINAL FORM
-FEEB;AL # ARABIC LETTER HEH INITIAL FORM
-FEEC;AL # ARABIC LETTER HEH MEDIAL FORM
-FEED;AL # ARABIC LETTER WAW ISOLATED FORM
-FEEE;AL # ARABIC LETTER WAW FINAL FORM
-FEEF;AL # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FEF0;AL # ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEF1;AL # ARABIC LETTER YEH ISOLATED FORM
-FEF2;AL # ARABIC LETTER YEH FINAL FORM
-FEF3;AL # ARABIC LETTER YEH INITIAL FORM
-FEF4;AL # ARABIC LETTER YEH MEDIAL FORM
-FEF5;AL # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-FEF6;AL # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF7;AL # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-FEF8;AL # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEF9;AL # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-FEFA;AL # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEFB;AL # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-FEFC;AL # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF;WJ # ZERO WIDTH NO-BREAK SPACE
-FF01;EX # FULLWIDTH EXCLAMATION MARK
-FF02;ID # FULLWIDTH QUOTATION MARK
-FF03;ID # FULLWIDTH NUMBER SIGN
-FF04;PR # FULLWIDTH DOLLAR SIGN
-FF05;PO # FULLWIDTH PERCENT SIGN
-FF06;ID # FULLWIDTH AMPERSAND
-FF07;ID # FULLWIDTH APOSTROPHE
-FF08;OP # FULLWIDTH LEFT PARENTHESIS
-FF09;CL # FULLWIDTH RIGHT PARENTHESIS
-FF0A;ID # FULLWIDTH ASTERISK
-FF0B;ID # FULLWIDTH PLUS SIGN
-FF0C;CL # FULLWIDTH COMMA
-FF0D;ID # FULLWIDTH HYPHEN-MINUS
-FF0E;CL # FULLWIDTH FULL STOP
-FF0F;ID # FULLWIDTH SOLIDUS
-FF10;ID # FULLWIDTH DIGIT ZERO
-FF11;ID # FULLWIDTH DIGIT ONE
-FF12;ID # FULLWIDTH DIGIT TWO
-FF13;ID # FULLWIDTH DIGIT THREE
-FF14;ID # FULLWIDTH DIGIT FOUR
-FF15;ID # FULLWIDTH DIGIT FIVE
-FF16;ID # FULLWIDTH DIGIT SIX
-FF17;ID # FULLWIDTH DIGIT SEVEN
-FF18;ID # FULLWIDTH DIGIT EIGHT
-FF19;ID # FULLWIDTH DIGIT NINE
-FF1A;NS # FULLWIDTH COLON
-FF1B;NS # FULLWIDTH SEMICOLON
-FF1C;ID # FULLWIDTH LESS-THAN SIGN
-FF1D;ID # FULLWIDTH EQUALS SIGN
-FF1E;ID # FULLWIDTH GREATER-THAN SIGN
-FF1F;EX # FULLWIDTH QUESTION MARK
-FF20;ID # FULLWIDTH COMMERCIAL AT
-FF21;ID # FULLWIDTH LATIN CAPITAL LETTER A
-FF22;ID # FULLWIDTH LATIN CAPITAL LETTER B
-FF23;ID # FULLWIDTH LATIN CAPITAL LETTER C
-FF24;ID # FULLWIDTH LATIN CAPITAL LETTER D
-FF25;ID # FULLWIDTH LATIN CAPITAL LETTER E
-FF26;ID # FULLWIDTH LATIN CAPITAL LETTER F
-FF27;ID # FULLWIDTH LATIN CAPITAL LETTER G
-FF28;ID # FULLWIDTH LATIN CAPITAL LETTER H
-FF29;ID # FULLWIDTH LATIN CAPITAL LETTER I
-FF2A;ID # FULLWIDTH LATIN CAPITAL LETTER J
-FF2B;ID # FULLWIDTH LATIN CAPITAL LETTER K
-FF2C;ID # FULLWIDTH LATIN CAPITAL LETTER L
-FF2D;ID # FULLWIDTH LATIN CAPITAL LETTER M
-FF2E;ID # FULLWIDTH LATIN CAPITAL LETTER N
-FF2F;ID # FULLWIDTH LATIN CAPITAL LETTER O
-FF30;ID # FULLWIDTH LATIN CAPITAL LETTER P
-FF31;ID # FULLWIDTH LATIN CAPITAL LETTER Q
-FF32;ID # FULLWIDTH LATIN CAPITAL LETTER R
-FF33;ID # FULLWIDTH LATIN CAPITAL LETTER S
-FF34;ID # FULLWIDTH LATIN CAPITAL LETTER T
-FF35;ID # FULLWIDTH LATIN CAPITAL LETTER U
-FF36;ID # FULLWIDTH LATIN CAPITAL LETTER V
-FF37;ID # FULLWIDTH LATIN CAPITAL LETTER W
-FF38;ID # FULLWIDTH LATIN CAPITAL LETTER X
-FF39;ID # FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A;ID # FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B;OP # FULLWIDTH LEFT SQUARE BRACKET
-FF3C;ID # FULLWIDTH REVERSE SOLIDUS
-FF3D;CL # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E;ID # FULLWIDTH CIRCUMFLEX ACCENT
-FF3F;ID # FULLWIDTH LOW LINE
-FF40;ID # FULLWIDTH GRAVE ACCENT
-FF41;ID # FULLWIDTH LATIN SMALL LETTER A
-FF42;ID # FULLWIDTH LATIN SMALL LETTER B
-FF43;ID # FULLWIDTH LATIN SMALL LETTER C
-FF44;ID # FULLWIDTH LATIN SMALL LETTER D
-FF45;ID # FULLWIDTH LATIN SMALL LETTER E
-FF46;ID # FULLWIDTH LATIN SMALL LETTER F
-FF47;ID # FULLWIDTH LATIN SMALL LETTER G
-FF48;ID # FULLWIDTH LATIN SMALL LETTER H
-FF49;ID # FULLWIDTH LATIN SMALL LETTER I
-FF4A;ID # FULLWIDTH LATIN SMALL LETTER J
-FF4B;ID # FULLWIDTH LATIN SMALL LETTER K
-FF4C;ID # FULLWIDTH LATIN SMALL LETTER L
-FF4D;ID # FULLWIDTH LATIN SMALL LETTER M
-FF4E;ID # FULLWIDTH LATIN SMALL LETTER N
-FF4F;ID # FULLWIDTH LATIN SMALL LETTER O
-FF50;ID # FULLWIDTH LATIN SMALL LETTER P
-FF51;ID # FULLWIDTH LATIN SMALL LETTER Q
-FF52;ID # FULLWIDTH LATIN SMALL LETTER R
-FF53;ID # FULLWIDTH LATIN SMALL LETTER S
-FF54;ID # FULLWIDTH LATIN SMALL LETTER T
-FF55;ID # FULLWIDTH LATIN SMALL LETTER U
-FF56;ID # FULLWIDTH LATIN SMALL LETTER V
-FF57;ID # FULLWIDTH LATIN SMALL LETTER W
-FF58;ID # FULLWIDTH LATIN SMALL LETTER X
-FF59;ID # FULLWIDTH LATIN SMALL LETTER Y
-FF5A;ID # FULLWIDTH LATIN SMALL LETTER Z
-FF5B;OP # FULLWIDTH LEFT CURLY BRACKET
-FF5C;ID # FULLWIDTH VERTICAL LINE
-FF5D;CL # FULLWIDTH RIGHT CURLY BRACKET
-FF5E;ID # FULLWIDTH TILDE
-FF5F;OP # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60;CL # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61;CL # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62;OP # HALFWIDTH LEFT CORNER BRACKET
-FF63;CL # HALFWIDTH RIGHT CORNER BRACKET
-FF64;CL # HALFWIDTH IDEOGRAPHIC COMMA
-FF65;NS # HALFWIDTH KATAKANA MIDDLE DOT
-FF66;AL # HALFWIDTH KATAKANA LETTER WO
-FF67;NS # HALFWIDTH KATAKANA LETTER SMALL A
-FF68;NS # HALFWIDTH KATAKANA LETTER SMALL I
-FF69;NS # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A;NS # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B;NS # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C;NS # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D;NS # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E;NS # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F;NS # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70;NS # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71;AL # HALFWIDTH KATAKANA LETTER A
-FF72;AL # HALFWIDTH KATAKANA LETTER I
-FF73;AL # HALFWIDTH KATAKANA LETTER U
-FF74;AL # HALFWIDTH KATAKANA LETTER E
-FF75;AL # HALFWIDTH KATAKANA LETTER O
-FF76;AL # HALFWIDTH KATAKANA LETTER KA
-FF77;AL # HALFWIDTH KATAKANA LETTER KI
-FF78;AL # HALFWIDTH KATAKANA LETTER KU
-FF79;AL # HALFWIDTH KATAKANA LETTER KE
-FF7A;AL # HALFWIDTH KATAKANA LETTER KO
-FF7B;AL # HALFWIDTH KATAKANA LETTER SA
-FF7C;AL # HALFWIDTH KATAKANA LETTER SI
-FF7D;AL # HALFWIDTH KATAKANA LETTER SU
-FF7E;AL # HALFWIDTH KATAKANA LETTER SE
-FF7F;AL # HALFWIDTH KATAKANA LETTER SO
-FF80;AL # HALFWIDTH KATAKANA LETTER TA
-FF81;AL # HALFWIDTH KATAKANA LETTER TI
-FF82;AL # HALFWIDTH KATAKANA LETTER TU
-FF83;AL # HALFWIDTH KATAKANA LETTER TE
-FF84;AL # HALFWIDTH KATAKANA LETTER TO
-FF85;AL # HALFWIDTH KATAKANA LETTER NA
-FF86;AL # HALFWIDTH KATAKANA LETTER NI
-FF87;AL # HALFWIDTH KATAKANA LETTER NU
-FF88;AL # HALFWIDTH KATAKANA LETTER NE
-FF89;AL # HALFWIDTH KATAKANA LETTER NO
-FF8A;AL # HALFWIDTH KATAKANA LETTER HA
-FF8B;AL # HALFWIDTH KATAKANA LETTER HI
-FF8C;AL # HALFWIDTH KATAKANA LETTER HU
-FF8D;AL # HALFWIDTH KATAKANA LETTER HE
-FF8E;AL # HALFWIDTH KATAKANA LETTER HO
-FF8F;AL # HALFWIDTH KATAKANA LETTER MA
-FF90;AL # HALFWIDTH KATAKANA LETTER MI
-FF91;AL # HALFWIDTH KATAKANA LETTER MU
-FF92;AL # HALFWIDTH KATAKANA LETTER ME
-FF93;AL # HALFWIDTH KATAKANA LETTER MO
-FF94;AL # HALFWIDTH KATAKANA LETTER YA
-FF95;AL # HALFWIDTH KATAKANA LETTER YU
-FF96;AL # HALFWIDTH KATAKANA LETTER YO
-FF97;AL # HALFWIDTH KATAKANA LETTER RA
-FF98;AL # HALFWIDTH KATAKANA LETTER RI
-FF99;AL # HALFWIDTH KATAKANA LETTER RU
-FF9A;AL # HALFWIDTH KATAKANA LETTER RE
-FF9B;AL # HALFWIDTH KATAKANA LETTER RO
-FF9C;AL # HALFWIDTH KATAKANA LETTER WA
-FF9D;AL # HALFWIDTH KATAKANA LETTER N
-FF9E;NS # HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F;NS # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0;AL # HALFWIDTH HANGUL FILLER
-FFA1;AL # HALFWIDTH HANGUL LETTER KIYEOK
-FFA2;AL # HALFWIDTH HANGUL LETTER SSANGKIYEOK
-FFA3;AL # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
-FFA4;AL # HALFWIDTH HANGUL LETTER NIEUN
-FFA5;AL # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
-FFA6;AL # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
-FFA7;AL # HALFWIDTH HANGUL LETTER TIKEUT
-FFA8;AL # HALFWIDTH HANGUL LETTER SSANGTIKEUT
-FFA9;AL # HALFWIDTH HANGUL LETTER RIEUL
-FFAA;AL # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
-FFAB;AL # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
-FFAC;AL # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
-FFAD;AL # HALFWIDTH HANGUL LETTER RIEUL-SIOS
-FFAE;AL # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
-FFAF;AL # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
-FFB0;AL # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
-FFB1;AL # HALFWIDTH HANGUL LETTER MIEUM
-FFB2;AL # HALFWIDTH HANGUL LETTER PIEUP
-FFB3;AL # HALFWIDTH HANGUL LETTER SSANGPIEUP
-FFB4;AL # HALFWIDTH HANGUL LETTER PIEUP-SIOS
-FFB5;AL # HALFWIDTH HANGUL LETTER SIOS
-FFB6;AL # HALFWIDTH HANGUL LETTER SSANGSIOS
-FFB7;AL # HALFWIDTH HANGUL LETTER IEUNG
-FFB8;AL # HALFWIDTH HANGUL LETTER CIEUC
-FFB9;AL # HALFWIDTH HANGUL LETTER SSANGCIEUC
-FFBA;AL # HALFWIDTH HANGUL LETTER CHIEUCH
-FFBB;AL # HALFWIDTH HANGUL LETTER KHIEUKH
-FFBC;AL # HALFWIDTH HANGUL LETTER THIEUTH
-FFBD;AL # HALFWIDTH HANGUL LETTER PHIEUPH
-FFBE;AL # HALFWIDTH HANGUL LETTER HIEUH
-FFC2;AL # HALFWIDTH HANGUL LETTER A
-FFC3;AL # HALFWIDTH HANGUL LETTER AE
-FFC4;AL # HALFWIDTH HANGUL LETTER YA
-FFC5;AL # HALFWIDTH HANGUL LETTER YAE
-FFC6;AL # HALFWIDTH HANGUL LETTER EO
-FFC7;AL # HALFWIDTH HANGUL LETTER E
-FFCA;AL # HALFWIDTH HANGUL LETTER YEO
-FFCB;AL # HALFWIDTH HANGUL LETTER YE
-FFCC;AL # HALFWIDTH HANGUL LETTER O
-FFCD;AL # HALFWIDTH HANGUL LETTER WA
-FFCE;AL # HALFWIDTH HANGUL LETTER WAE
-FFCF;AL # HALFWIDTH HANGUL LETTER OE
-FFD2;AL # HALFWIDTH HANGUL LETTER YO
-FFD3;AL # HALFWIDTH HANGUL LETTER U
-FFD4;AL # HALFWIDTH HANGUL LETTER WEO
-FFD5;AL # HALFWIDTH HANGUL LETTER WE
-FFD6;AL # HALFWIDTH HANGUL LETTER WI
-FFD7;AL # HALFWIDTH HANGUL LETTER YU
-FFDA;AL # HALFWIDTH HANGUL LETTER EU
-FFDB;AL # HALFWIDTH HANGUL LETTER YI
-FFDC;AL # HALFWIDTH HANGUL LETTER I
-FFE0;PO # FULLWIDTH CENT SIGN
-FFE1;PR # FULLWIDTH POUND SIGN
-FFE2;ID # FULLWIDTH NOT SIGN
-FFE3;ID # FULLWIDTH MACRON
-FFE4;ID # FULLWIDTH BROKEN BAR
-FFE5;PR # FULLWIDTH YEN SIGN
-FFE6;PR # FULLWIDTH WON SIGN
-FFE8;AL # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9;AL # HALFWIDTH LEFTWARDS ARROW
-FFEA;AL # HALFWIDTH UPWARDS ARROW
-FFEB;AL # HALFWIDTH RIGHTWARDS ARROW
-FFEC;AL # HALFWIDTH DOWNWARDS ARROW
-FFED;AL # HALFWIDTH BLACK SQUARE
-FFEE;AL # HALFWIDTH WHITE CIRCLE
-FFF9;CM # INTERLINEAR ANNOTATION ANCHOR
-FFFA;CM # INTERLINEAR ANNOTATION SEPARATOR
-FFFB;CM # INTERLINEAR ANNOTATION TERMINATOR
-FFFC;CB # OBJECT REPLACEMENT CHARACTER
-FFFD;AI # REPLACEMENT CHARACTER
-10000;AL # LINEAR B SYLLABLE B008 A
-10001;AL # LINEAR B SYLLABLE B038 E
-10002;AL # LINEAR B SYLLABLE B028 I
-10003;AL # LINEAR B SYLLABLE B061 O
-10004;AL # LINEAR B SYLLABLE B010 U
-10005;AL # LINEAR B SYLLABLE B001 DA
-10006;AL # LINEAR B SYLLABLE B045 DE
-10007;AL # LINEAR B SYLLABLE B007 DI
-10008;AL # LINEAR B SYLLABLE B014 DO
-10009;AL # LINEAR B SYLLABLE B051 DU
-1000A;AL # LINEAR B SYLLABLE B057 JA
-1000B;AL # LINEAR B SYLLABLE B046 JE
-1000D;AL # LINEAR B SYLLABLE B036 JO
-1000E;AL # LINEAR B SYLLABLE B065 JU
-1000F;AL # LINEAR B SYLLABLE B077 KA
-10010;AL # LINEAR B SYLLABLE B044 KE
-10011;AL # LINEAR B SYLLABLE B067 KI
-10012;AL # LINEAR B SYLLABLE B070 KO
-10013;AL # LINEAR B SYLLABLE B081 KU
-10014;AL # LINEAR B SYLLABLE B080 MA
-10015;AL # LINEAR B SYLLABLE B013 ME
-10016;AL # LINEAR B SYLLABLE B073 MI
-10017;AL # LINEAR B SYLLABLE B015 MO
-10018;AL # LINEAR B SYLLABLE B023 MU
-10019;AL # LINEAR B SYLLABLE B006 NA
-1001A;AL # LINEAR B SYLLABLE B024 NE
-1001B;AL # LINEAR B SYLLABLE B030 NI
-1001C;AL # LINEAR B SYLLABLE B052 NO
-1001D;AL # LINEAR B SYLLABLE B055 NU
-1001E;AL # LINEAR B SYLLABLE B003 PA
-1001F;AL # LINEAR B SYLLABLE B072 PE
-10020;AL # LINEAR B SYLLABLE B039 PI
-10021;AL # LINEAR B SYLLABLE B011 PO
-10022;AL # LINEAR B SYLLABLE B050 PU
-10023;AL # LINEAR B SYLLABLE B016 QA
-10024;AL # LINEAR B SYLLABLE B078 QE
-10025;AL # LINEAR B SYLLABLE B021 QI
-10026;AL # LINEAR B SYLLABLE B032 QO
-10028;AL # LINEAR B SYLLABLE B060 RA
-10029;AL # LINEAR B SYLLABLE B027 RE
-1002A;AL # LINEAR B SYLLABLE B053 RI
-1002B;AL # LINEAR B SYLLABLE B002 RO
-1002C;AL # LINEAR B SYLLABLE B026 RU
-1002D;AL # LINEAR B SYLLABLE B031 SA
-1002E;AL # LINEAR B SYLLABLE B009 SE
-1002F;AL # LINEAR B SYLLABLE B041 SI
-10030;AL # LINEAR B SYLLABLE B012 SO
-10031;AL # LINEAR B SYLLABLE B058 SU
-10032;AL # LINEAR B SYLLABLE B059 TA
-10033;AL # LINEAR B SYLLABLE B004 TE
-10034;AL # LINEAR B SYLLABLE B037 TI
-10035;AL # LINEAR B SYLLABLE B005 TO
-10036;AL # LINEAR B SYLLABLE B069 TU
-10037;AL # LINEAR B SYLLABLE B054 WA
-10038;AL # LINEAR B SYLLABLE B075 WE
-10039;AL # LINEAR B SYLLABLE B040 WI
-1003A;AL # LINEAR B SYLLABLE B042 WO
-1003C;AL # LINEAR B SYLLABLE B017 ZA
-1003D;AL # LINEAR B SYLLABLE B074 ZE
-1003F;AL # LINEAR B SYLLABLE B020 ZO
-10040;AL # LINEAR B SYLLABLE B025 A2
-10041;AL # LINEAR B SYLLABLE B043 A3
-10042;AL # LINEAR B SYLLABLE B085 AU
-10043;AL # LINEAR B SYLLABLE B071 DWE
-10044;AL # LINEAR B SYLLABLE B090 DWO
-10045;AL # LINEAR B SYLLABLE B048 NWA
-10046;AL # LINEAR B SYLLABLE B029 PU2
-10047;AL # LINEAR B SYLLABLE B062 PTE
-10048;AL # LINEAR B SYLLABLE B076 RA2
-10049;AL # LINEAR B SYLLABLE B033 RA3
-1004A;AL # LINEAR B SYLLABLE B068 RO2
-1004B;AL # LINEAR B SYLLABLE B066 TA2
-1004C;AL # LINEAR B SYLLABLE B087 TWE
-1004D;AL # LINEAR B SYLLABLE B091 TWO
-10050;AL # LINEAR B SYMBOL B018
-10051;AL # LINEAR B SYMBOL B019
-10052;AL # LINEAR B SYMBOL B022
-10053;AL # LINEAR B SYMBOL B034
-10054;AL # LINEAR B SYMBOL B047
-10055;AL # LINEAR B SYMBOL B049
-10056;AL # LINEAR B SYMBOL B056
-10057;AL # LINEAR B SYMBOL B063
-10058;AL # LINEAR B SYMBOL B064
-10059;AL # LINEAR B SYMBOL B079
-1005A;AL # LINEAR B SYMBOL B082
-1005B;AL # LINEAR B SYMBOL B083
-1005C;AL # LINEAR B SYMBOL B086
-1005D;AL # LINEAR B SYMBOL B089
-10080;AL # LINEAR B IDEOGRAM B100 MAN
-10081;AL # LINEAR B IDEOGRAM B102 WOMAN
-10082;AL # LINEAR B IDEOGRAM B104 DEER
-10083;AL # LINEAR B IDEOGRAM B105 EQUID
-10084;AL # LINEAR B IDEOGRAM B105F MARE
-10085;AL # LINEAR B IDEOGRAM B105M STALLION
-10086;AL # LINEAR B IDEOGRAM B106F EWE
-10087;AL # LINEAR B IDEOGRAM B106M RAM
-10088;AL # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089;AL # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A;AL # LINEAR B IDEOGRAM B108F SOW
-1008B;AL # LINEAR B IDEOGRAM B108M BOAR
-1008C;AL # LINEAR B IDEOGRAM B109F COW
-1008D;AL # LINEAR B IDEOGRAM B109M BULL
-1008E;AL # LINEAR B IDEOGRAM B120 WHEAT
-1008F;AL # LINEAR B IDEOGRAM B121 BARLEY
-10090;AL # LINEAR B IDEOGRAM B122 OLIVE
-10091;AL # LINEAR B IDEOGRAM B123 SPICE
-10092;AL # LINEAR B IDEOGRAM B125 CYPERUS
-10093;AL # LINEAR B MONOGRAM B127 KAPO
-10094;AL # LINEAR B MONOGRAM B128 KANAKO
-10095;AL # LINEAR B IDEOGRAM B130 OIL
-10096;AL # LINEAR B IDEOGRAM B131 WINE
-10097;AL # LINEAR B IDEOGRAM B132
-10098;AL # LINEAR B MONOGRAM B133 AREPA
-10099;AL # LINEAR B MONOGRAM B135 MERI
-1009A;AL # LINEAR B IDEOGRAM B140 BRONZE
-1009B;AL # LINEAR B IDEOGRAM B141 GOLD
-1009C;AL # LINEAR B IDEOGRAM B142
-1009D;AL # LINEAR B IDEOGRAM B145 WOOL
-1009E;AL # LINEAR B IDEOGRAM B146
-1009F;AL # LINEAR B IDEOGRAM B150
-100A0;AL # LINEAR B IDEOGRAM B151 HORN
-100A1;AL # LINEAR B IDEOGRAM B152
-100A2;AL # LINEAR B IDEOGRAM B153
-100A3;AL # LINEAR B IDEOGRAM B154
-100A4;AL # LINEAR B MONOGRAM B156 TURO2
-100A5;AL # LINEAR B IDEOGRAM B157
-100A6;AL # LINEAR B IDEOGRAM B158
-100A7;AL # LINEAR B IDEOGRAM B159 CLOTH
-100A8;AL # LINEAR B IDEOGRAM B160
-100A9;AL # LINEAR B IDEOGRAM B161
-100AA;AL # LINEAR B IDEOGRAM B162 GARMENT
-100AB;AL # LINEAR B IDEOGRAM B163 ARMOUR
-100AC;AL # LINEAR B IDEOGRAM B164
-100AD;AL # LINEAR B IDEOGRAM B165
-100AE;AL # LINEAR B IDEOGRAM B166
-100AF;AL # LINEAR B IDEOGRAM B167
-100B0;AL # LINEAR B IDEOGRAM B168
-100B1;AL # LINEAR B IDEOGRAM B169
-100B2;AL # LINEAR B IDEOGRAM B170
-100B3;AL # LINEAR B IDEOGRAM B171
-100B4;AL # LINEAR B IDEOGRAM B172
-100B5;AL # LINEAR B IDEOGRAM B173 MONTH
-100B6;AL # LINEAR B IDEOGRAM B174
-100B7;AL # LINEAR B IDEOGRAM B176 TREE
-100B8;AL # LINEAR B IDEOGRAM B177
-100B9;AL # LINEAR B IDEOGRAM B178
-100BA;AL # LINEAR B IDEOGRAM B179
-100BB;AL # LINEAR B IDEOGRAM B180
-100BC;AL # LINEAR B IDEOGRAM B181
-100BD;AL # LINEAR B IDEOGRAM B182
-100BE;AL # LINEAR B IDEOGRAM B183
-100BF;AL # LINEAR B IDEOGRAM B184
-100C0;AL # LINEAR B IDEOGRAM B185
-100C1;AL # LINEAR B IDEOGRAM B189
-100C2;AL # LINEAR B IDEOGRAM B190
-100C3;AL # LINEAR B IDEOGRAM B191 HELMET
-100C4;AL # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5;AL # LINEAR B IDEOGRAM B225 BATHTUB
-100C6;AL # LINEAR B IDEOGRAM B230 SPEAR
-100C7;AL # LINEAR B IDEOGRAM B231 ARROW
-100C8;AL # LINEAR B IDEOGRAM B232
-100C9;AL # LINEAR B IDEOGRAM B233 SWORD
-100CA;AL # LINEAR B IDEOGRAM B234
-100CB;AL # LINEAR B IDEOGRAM B236
-100CC;AL # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD;AL # LINEAR B IDEOGRAM B241 CHARIOT
-100CE;AL # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF;AL # LINEAR B IDEOGRAM B243 WHEEL
-100D0;AL # LINEAR B IDEOGRAM B245
-100D1;AL # LINEAR B IDEOGRAM B246
-100D2;AL # LINEAR B MONOGRAM B247 DIPTE
-100D3;AL # LINEAR B IDEOGRAM B248
-100D4;AL # LINEAR B IDEOGRAM B249
-100D5;AL # LINEAR B IDEOGRAM B251
-100D6;AL # LINEAR B IDEOGRAM B252
-100D7;AL # LINEAR B IDEOGRAM B253
-100D8;AL # LINEAR B IDEOGRAM B254 DART
-100D9;AL # LINEAR B IDEOGRAM B255
-100DA;AL # LINEAR B IDEOGRAM B256
-100DB;AL # LINEAR B IDEOGRAM B257
-100DC;AL # LINEAR B IDEOGRAM B258
-100DD;AL # LINEAR B IDEOGRAM B259
-100DE;AL # LINEAR B IDEOGRAM VESSEL B155
-100DF;AL # LINEAR B IDEOGRAM VESSEL B200
-100E0;AL # LINEAR B IDEOGRAM VESSEL B201
-100E1;AL # LINEAR B IDEOGRAM VESSEL B202
-100E2;AL # LINEAR B IDEOGRAM VESSEL B203
-100E3;AL # LINEAR B IDEOGRAM VESSEL B204
-100E4;AL # LINEAR B IDEOGRAM VESSEL B205
-100E5;AL # LINEAR B IDEOGRAM VESSEL B206
-100E6;AL # LINEAR B IDEOGRAM VESSEL B207
-100E7;AL # LINEAR B IDEOGRAM VESSEL B208
-100E8;AL # LINEAR B IDEOGRAM VESSEL B209
-100E9;AL # LINEAR B IDEOGRAM VESSEL B210
-100EA;AL # LINEAR B IDEOGRAM VESSEL B211
-100EB;AL # LINEAR B IDEOGRAM VESSEL B212
-100EC;AL # LINEAR B IDEOGRAM VESSEL B213
-100ED;AL # LINEAR B IDEOGRAM VESSEL B214
-100EE;AL # LINEAR B IDEOGRAM VESSEL B215
-100EF;AL # LINEAR B IDEOGRAM VESSEL B216
-100F0;AL # LINEAR B IDEOGRAM VESSEL B217
-100F1;AL # LINEAR B IDEOGRAM VESSEL B218
-100F2;AL # LINEAR B IDEOGRAM VESSEL B219
-100F3;AL # LINEAR B IDEOGRAM VESSEL B221
-100F4;AL # LINEAR B IDEOGRAM VESSEL B222
-100F5;AL # LINEAR B IDEOGRAM VESSEL B226
-100F6;AL # LINEAR B IDEOGRAM VESSEL B227
-100F7;AL # LINEAR B IDEOGRAM VESSEL B228
-100F8;AL # LINEAR B IDEOGRAM VESSEL B229
-100F9;AL # LINEAR B IDEOGRAM VESSEL B250
-100FA;AL # LINEAR B IDEOGRAM VESSEL B305
-10100;BA # AEGEAN WORD SEPARATOR LINE
-10101;BA # AEGEAN WORD SEPARATOR DOT
-10102;BA # AEGEAN CHECK MARK
-10107;AL # AEGEAN NUMBER ONE
-10108;AL # AEGEAN NUMBER TWO
-10109;AL # AEGEAN NUMBER THREE
-1010A;AL # AEGEAN NUMBER FOUR
-1010B;AL # AEGEAN NUMBER FIVE
-1010C;AL # AEGEAN NUMBER SIX
-1010D;AL # AEGEAN NUMBER SEVEN
-1010E;AL # AEGEAN NUMBER EIGHT
-1010F;AL # AEGEAN NUMBER NINE
-10110;AL # AEGEAN NUMBER TEN
-10111;AL # AEGEAN NUMBER TWENTY
-10112;AL # AEGEAN NUMBER THIRTY
-10113;AL # AEGEAN NUMBER FORTY
-10114;AL # AEGEAN NUMBER FIFTY
-10115;AL # AEGEAN NUMBER SIXTY
-10116;AL # AEGEAN NUMBER SEVENTY
-10117;AL # AEGEAN NUMBER EIGHTY
-10118;AL # AEGEAN NUMBER NINETY
-10119;AL # AEGEAN NUMBER ONE HUNDRED
-1011A;AL # AEGEAN NUMBER TWO HUNDRED
-1011B;AL # AEGEAN NUMBER THREE HUNDRED
-1011C;AL # AEGEAN NUMBER FOUR HUNDRED
-1011D;AL # AEGEAN NUMBER FIVE HUNDRED
-1011E;AL # AEGEAN NUMBER SIX HUNDRED
-1011F;AL # AEGEAN NUMBER SEVEN HUNDRED
-10120;AL # AEGEAN NUMBER EIGHT HUNDRED
-10121;AL # AEGEAN NUMBER NINE HUNDRED
-10122;AL # AEGEAN NUMBER ONE THOUSAND
-10123;AL # AEGEAN NUMBER TWO THOUSAND
-10124;AL # AEGEAN NUMBER THREE THOUSAND
-10125;AL # AEGEAN NUMBER FOUR THOUSAND
-10126;AL # AEGEAN NUMBER FIVE THOUSAND
-10127;AL # AEGEAN NUMBER SIX THOUSAND
-10128;AL # AEGEAN NUMBER SEVEN THOUSAND
-10129;AL # AEGEAN NUMBER EIGHT THOUSAND
-1012A;AL # AEGEAN NUMBER NINE THOUSAND
-1012B;AL # AEGEAN NUMBER TEN THOUSAND
-1012C;AL # AEGEAN NUMBER TWENTY THOUSAND
-1012D;AL # AEGEAN NUMBER THIRTY THOUSAND
-1012E;AL # AEGEAN NUMBER FORTY THOUSAND
-1012F;AL # AEGEAN NUMBER FIFTY THOUSAND
-10130;AL # AEGEAN NUMBER SIXTY THOUSAND
-10131;AL # AEGEAN NUMBER SEVENTY THOUSAND
-10132;AL # AEGEAN NUMBER EIGHTY THOUSAND
-10133;AL # AEGEAN NUMBER NINETY THOUSAND
-10137;AL # AEGEAN WEIGHT BASE UNIT
-10138;AL # AEGEAN WEIGHT FIRST SUBUNIT
-10139;AL # AEGEAN WEIGHT SECOND SUBUNIT
-1013A;AL # AEGEAN WEIGHT THIRD SUBUNIT
-1013B;AL # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C;AL # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D;AL # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E;AL # AEGEAN MEASURE SECOND SUBUNIT
-1013F;AL # AEGEAN MEASURE THIRD SUBUNIT
-10140;AL # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141;AL # GREEK ACROPHONIC ATTIC ONE HALF
-10142;AL # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10143;AL # GREEK ACROPHONIC ATTIC FIVE
-10144;AL # GREEK ACROPHONIC ATTIC FIFTY
-10145;AL # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146;AL # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147;AL # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10148;AL # GREEK ACROPHONIC ATTIC FIVE TALENTS
-10149;AL # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A;AL # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B;AL # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C;AL # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D;AL # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E;AL # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-1014F;AL # GREEK ACROPHONIC ATTIC FIVE STATERS
-10150;AL # GREEK ACROPHONIC ATTIC TEN STATERS
-10151;AL # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152;AL # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153;AL # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154;AL # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155;AL # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156;AL # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157;AL # GREEK ACROPHONIC ATTIC TEN MNAS
-10158;AL # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159;AL # GREEK ACROPHONIC THESPIAN ONE
-1015A;AL # GREEK ACROPHONIC HERMIONIAN ONE
-1015B;AL # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C;AL # GREEK ACROPHONIC THESPIAN TWO
-1015D;AL # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E;AL # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-1015F;AL # GREEK ACROPHONIC TROEZENIAN FIVE
-10160;AL # GREEK ACROPHONIC TROEZENIAN TEN
-10161;AL # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162;AL # GREEK ACROPHONIC HERMIONIAN TEN
-10163;AL # GREEK ACROPHONIC MESSENIAN TEN
-10164;AL # GREEK ACROPHONIC THESPIAN TEN
-10165;AL # GREEK ACROPHONIC THESPIAN THIRTY
-10166;AL # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167;AL # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168;AL # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169;AL # GREEK ACROPHONIC THESPIAN FIFTY
-1016A;AL # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B;AL # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C;AL # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D;AL # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E;AL # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F;AL # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170;AL # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171;AL # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172;AL # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10173;AL # GREEK ACROPHONIC DELPHIC FIVE MNAS
-10174;AL # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175;AL # GREEK ONE HALF SIGN
-10176;AL # GREEK ONE HALF SIGN ALTERNATE FORM
-10177;AL # GREEK TWO THIRDS SIGN
-10178;AL # GREEK THREE QUARTERS SIGN
-10179;AL # GREEK YEAR SIGN
-1017A;AL # GREEK TALENT SIGN
-1017B;AL # GREEK DRACHMA SIGN
-1017C;AL # GREEK OBOL SIGN
-1017D;AL # GREEK TWO OBOLS SIGN
-1017E;AL # GREEK THREE OBOLS SIGN
-1017F;AL # GREEK FOUR OBOLS SIGN
-10180;AL # GREEK FIVE OBOLS SIGN
-10181;AL # GREEK METRETES SIGN
-10182;AL # GREEK KYATHOS BASE SIGN
-10183;AL # GREEK LITRA SIGN
-10184;AL # GREEK OUNKIA SIGN
-10185;AL # GREEK XESTES SIGN
-10186;AL # GREEK ARTABE SIGN
-10187;AL # GREEK AROURA SIGN
-10188;AL # GREEK GRAMMA SIGN
-10189;AL # GREEK TRYBLION BASE SIGN
-1018A;AL # GREEK ZERO SIGN
-10190;AL # ROMAN SEXTANS SIGN
-10191;AL # ROMAN UNCIA SIGN
-10192;AL # ROMAN SEMUNCIA SIGN
-10193;AL # ROMAN SEXTULA SIGN
-10194;AL # ROMAN DIMIDIA SEXTULA SIGN
-10195;AL # ROMAN SILIQUA SIGN
-10196;AL # ROMAN DENARIUS SIGN
-10197;AL # ROMAN QUINARIUS SIGN
-10198;AL # ROMAN SESTERTIUS SIGN
-10199;AL # ROMAN DUPONDIUS SIGN
-1019A;AL # ROMAN AS SIGN
-1019B;AL # ROMAN CENTURIAL SIGN
-101D0;AL # PHAISTOS DISC SIGN PEDESTRIAN
-101D1;AL # PHAISTOS DISC SIGN PLUMED HEAD
-101D2;AL # PHAISTOS DISC SIGN TATTOOED HEAD
-101D3;AL # PHAISTOS DISC SIGN CAPTIVE
-101D4;AL # PHAISTOS DISC SIGN CHILD
-101D5;AL # PHAISTOS DISC SIGN WOMAN
-101D6;AL # PHAISTOS DISC SIGN HELMET
-101D7;AL # PHAISTOS DISC SIGN GAUNTLET
-101D8;AL # PHAISTOS DISC SIGN TIARA
-101D9;AL # PHAISTOS DISC SIGN ARROW
-101DA;AL # PHAISTOS DISC SIGN BOW
-101DB;AL # PHAISTOS DISC SIGN SHIELD
-101DC;AL # PHAISTOS DISC SIGN CLUB
-101DD;AL # PHAISTOS DISC SIGN MANACLES
-101DE;AL # PHAISTOS DISC SIGN MATTOCK
-101DF;AL # PHAISTOS DISC SIGN SAW
-101E0;AL # PHAISTOS DISC SIGN LID
-101E1;AL # PHAISTOS DISC SIGN BOOMERANG
-101E2;AL # PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3;AL # PHAISTOS DISC SIGN DOLIUM
-101E4;AL # PHAISTOS DISC SIGN COMB
-101E5;AL # PHAISTOS DISC SIGN SLING
-101E6;AL # PHAISTOS DISC SIGN COLUMN
-101E7;AL # PHAISTOS DISC SIGN BEEHIVE
-101E8;AL # PHAISTOS DISC SIGN SHIP
-101E9;AL # PHAISTOS DISC SIGN HORN
-101EA;AL # PHAISTOS DISC SIGN HIDE
-101EB;AL # PHAISTOS DISC SIGN BULLS LEG
-101EC;AL # PHAISTOS DISC SIGN CAT
-101ED;AL # PHAISTOS DISC SIGN RAM
-101EE;AL # PHAISTOS DISC SIGN EAGLE
-101EF;AL # PHAISTOS DISC SIGN DOVE
-101F0;AL # PHAISTOS DISC SIGN TUNNY
-101F1;AL # PHAISTOS DISC SIGN BEE
-101F2;AL # PHAISTOS DISC SIGN PLANE TREE
-101F3;AL # PHAISTOS DISC SIGN VINE
-101F4;AL # PHAISTOS DISC SIGN PAPYRUS
-101F5;AL # PHAISTOS DISC SIGN ROSETTE
-101F6;AL # PHAISTOS DISC SIGN LILY
-101F7;AL # PHAISTOS DISC SIGN OX BACK
-101F8;AL # PHAISTOS DISC SIGN FLUTE
-101F9;AL # PHAISTOS DISC SIGN GRATER
-101FA;AL # PHAISTOS DISC SIGN STRAINER
-101FB;AL # PHAISTOS DISC SIGN SMALL AXE
-101FC;AL # PHAISTOS DISC SIGN WAVY BAND
-101FD;CM # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280;AL # LYCIAN LETTER A
-10281;AL # LYCIAN LETTER E
-10282;AL # LYCIAN LETTER B
-10283;AL # LYCIAN LETTER BH
-10284;AL # LYCIAN LETTER G
-10285;AL # LYCIAN LETTER D
-10286;AL # LYCIAN LETTER I
-10287;AL # LYCIAN LETTER W
-10288;AL # LYCIAN LETTER Z
-10289;AL # LYCIAN LETTER TH
-1028A;AL # LYCIAN LETTER J
-1028B;AL # LYCIAN LETTER K
-1028C;AL # LYCIAN LETTER Q
-1028D;AL # LYCIAN LETTER L
-1028E;AL # LYCIAN LETTER M
-1028F;AL # LYCIAN LETTER N
-10290;AL # LYCIAN LETTER MM
-10291;AL # LYCIAN LETTER NN
-10292;AL # LYCIAN LETTER U
-10293;AL # LYCIAN LETTER P
-10294;AL # LYCIAN LETTER KK
-10295;AL # LYCIAN LETTER R
-10296;AL # LYCIAN LETTER S
-10297;AL # LYCIAN LETTER T
-10298;AL # LYCIAN LETTER TT
-10299;AL # LYCIAN LETTER AN
-1029A;AL # LYCIAN LETTER EN
-1029B;AL # LYCIAN LETTER H
-1029C;AL # LYCIAN LETTER X
-102A0;AL # CARIAN LETTER A
-102A1;AL # CARIAN LETTER P2
-102A2;AL # CARIAN LETTER D
-102A3;AL # CARIAN LETTER L
-102A4;AL # CARIAN LETTER UUU
-102A5;AL # CARIAN LETTER R
-102A6;AL # CARIAN LETTER LD
-102A7;AL # CARIAN LETTER A2
-102A8;AL # CARIAN LETTER Q
-102A9;AL # CARIAN LETTER B
-102AA;AL # CARIAN LETTER M
-102AB;AL # CARIAN LETTER O
-102AC;AL # CARIAN LETTER D2
-102AD;AL # CARIAN LETTER T
-102AE;AL # CARIAN LETTER SH
-102AF;AL # CARIAN LETTER SH2
-102B0;AL # CARIAN LETTER S
-102B1;AL # CARIAN LETTER C-18
-102B2;AL # CARIAN LETTER U
-102B3;AL # CARIAN LETTER NN
-102B4;AL # CARIAN LETTER X
-102B5;AL # CARIAN LETTER N
-102B6;AL # CARIAN LETTER TT2
-102B7;AL # CARIAN LETTER P
-102B8;AL # CARIAN LETTER SS
-102B9;AL # CARIAN LETTER I
-102BA;AL # CARIAN LETTER E
-102BB;AL # CARIAN LETTER UUUU
-102BC;AL # CARIAN LETTER K
-102BD;AL # CARIAN LETTER K2
-102BE;AL # CARIAN LETTER ND
-102BF;AL # CARIAN LETTER UU
-102C0;AL # CARIAN LETTER G
-102C1;AL # CARIAN LETTER G2
-102C2;AL # CARIAN LETTER ST
-102C3;AL # CARIAN LETTER ST2
-102C4;AL # CARIAN LETTER NG
-102C5;AL # CARIAN LETTER II
-102C6;AL # CARIAN LETTER C-39
-102C7;AL # CARIAN LETTER TT
-102C8;AL # CARIAN LETTER UUU2
-102C9;AL # CARIAN LETTER RR
-102CA;AL # CARIAN LETTER MB
-102CB;AL # CARIAN LETTER MB2
-102CC;AL # CARIAN LETTER MB3
-102CD;AL # CARIAN LETTER MB4
-102CE;AL # CARIAN LETTER LD2
-102CF;AL # CARIAN LETTER E2
-102D0;AL # CARIAN LETTER UUU3
-10300;AL # OLD ITALIC LETTER A
-10301;AL # OLD ITALIC LETTER BE
-10302;AL # OLD ITALIC LETTER KE
-10303;AL # OLD ITALIC LETTER DE
-10304;AL # OLD ITALIC LETTER E
-10305;AL # OLD ITALIC LETTER VE
-10306;AL # OLD ITALIC LETTER ZE
-10307;AL # OLD ITALIC LETTER HE
-10308;AL # OLD ITALIC LETTER THE
-10309;AL # OLD ITALIC LETTER I
-1030A;AL # OLD ITALIC LETTER KA
-1030B;AL # OLD ITALIC LETTER EL
-1030C;AL # OLD ITALIC LETTER EM
-1030D;AL # OLD ITALIC LETTER EN
-1030E;AL # OLD ITALIC LETTER ESH
-1030F;AL # OLD ITALIC LETTER O
-10310;AL # OLD ITALIC LETTER PE
-10311;AL # OLD ITALIC LETTER SHE
-10312;AL # OLD ITALIC LETTER KU
-10313;AL # OLD ITALIC LETTER ER
-10314;AL # OLD ITALIC LETTER ES
-10315;AL # OLD ITALIC LETTER TE
-10316;AL # OLD ITALIC LETTER U
-10317;AL # OLD ITALIC LETTER EKS
-10318;AL # OLD ITALIC LETTER PHE
-10319;AL # OLD ITALIC LETTER KHE
-1031A;AL # OLD ITALIC LETTER EF
-1031B;AL # OLD ITALIC LETTER ERS
-1031C;AL # OLD ITALIC LETTER CHE
-1031D;AL # OLD ITALIC LETTER II
-1031E;AL # OLD ITALIC LETTER UU
-10320;AL # OLD ITALIC NUMERAL ONE
-10321;AL # OLD ITALIC NUMERAL FIVE
-10322;AL # OLD ITALIC NUMERAL TEN
-10323;AL # OLD ITALIC NUMERAL FIFTY
-10330;AL # GOTHIC LETTER AHSA
-10331;AL # GOTHIC LETTER BAIRKAN
-10332;AL # GOTHIC LETTER GIBA
-10333;AL # GOTHIC LETTER DAGS
-10334;AL # GOTHIC LETTER AIHVUS
-10335;AL # GOTHIC LETTER QAIRTHRA
-10336;AL # GOTHIC LETTER IUJA
-10337;AL # GOTHIC LETTER HAGL
-10338;AL # GOTHIC LETTER THIUTH
-10339;AL # GOTHIC LETTER EIS
-1033A;AL # GOTHIC LETTER KUSMA
-1033B;AL # GOTHIC LETTER LAGUS
-1033C;AL # GOTHIC LETTER MANNA
-1033D;AL # GOTHIC LETTER NAUTHS
-1033E;AL # GOTHIC LETTER JER
-1033F;AL # GOTHIC LETTER URUS
-10340;AL # GOTHIC LETTER PAIRTHRA
-10341;AL # GOTHIC LETTER NINETY
-10342;AL # GOTHIC LETTER RAIDA
-10343;AL # GOTHIC LETTER SAUIL
-10344;AL # GOTHIC LETTER TEIWS
-10345;AL # GOTHIC LETTER WINJA
-10346;AL # GOTHIC LETTER FAIHU
-10347;AL # GOTHIC LETTER IGGWS
-10348;AL # GOTHIC LETTER HWAIR
-10349;AL # GOTHIC LETTER OTHAL
-1034A;AL # GOTHIC LETTER NINE HUNDRED
-10380;AL # UGARITIC LETTER ALPA
-10381;AL # UGARITIC LETTER BETA
-10382;AL # UGARITIC LETTER GAMLA
-10383;AL # UGARITIC LETTER KHA
-10384;AL # UGARITIC LETTER DELTA
-10385;AL # UGARITIC LETTER HO
-10386;AL # UGARITIC LETTER WO
-10387;AL # UGARITIC LETTER ZETA
-10388;AL # UGARITIC LETTER HOTA
-10389;AL # UGARITIC LETTER TET
-1038A;AL # UGARITIC LETTER YOD
-1038B;AL # UGARITIC LETTER KAF
-1038C;AL # UGARITIC LETTER SHIN
-1038D;AL # UGARITIC LETTER LAMDA
-1038E;AL # UGARITIC LETTER MEM
-1038F;AL # UGARITIC LETTER DHAL
-10390;AL # UGARITIC LETTER NUN
-10391;AL # UGARITIC LETTER ZU
-10392;AL # UGARITIC LETTER SAMKA
-10393;AL # UGARITIC LETTER AIN
-10394;AL # UGARITIC LETTER PU
-10395;AL # UGARITIC LETTER SADE
-10396;AL # UGARITIC LETTER QOPA
-10397;AL # UGARITIC LETTER RASHA
-10398;AL # UGARITIC LETTER THANNA
-10399;AL # UGARITIC LETTER GHAIN
-1039A;AL # UGARITIC LETTER TO
-1039B;AL # UGARITIC LETTER I
-1039C;AL # UGARITIC LETTER U
-1039D;AL # UGARITIC LETTER SSU
-1039F;BA # UGARITIC WORD DIVIDER
-103A0;AL # OLD PERSIAN SIGN A
-103A1;AL # OLD PERSIAN SIGN I
-103A2;AL # OLD PERSIAN SIGN U
-103A3;AL # OLD PERSIAN SIGN KA
-103A4;AL # OLD PERSIAN SIGN KU
-103A5;AL # OLD PERSIAN SIGN GA
-103A6;AL # OLD PERSIAN SIGN GU
-103A7;AL # OLD PERSIAN SIGN XA
-103A8;AL # OLD PERSIAN SIGN CA
-103A9;AL # OLD PERSIAN SIGN JA
-103AA;AL # OLD PERSIAN SIGN JI
-103AB;AL # OLD PERSIAN SIGN TA
-103AC;AL # OLD PERSIAN SIGN TU
-103AD;AL # OLD PERSIAN SIGN DA
-103AE;AL # OLD PERSIAN SIGN DI
-103AF;AL # OLD PERSIAN SIGN DU
-103B0;AL # OLD PERSIAN SIGN THA
-103B1;AL # OLD PERSIAN SIGN PA
-103B2;AL # OLD PERSIAN SIGN BA
-103B3;AL # OLD PERSIAN SIGN FA
-103B4;AL # OLD PERSIAN SIGN NA
-103B5;AL # OLD PERSIAN SIGN NU
-103B6;AL # OLD PERSIAN SIGN MA
-103B7;AL # OLD PERSIAN SIGN MI
-103B8;AL # OLD PERSIAN SIGN MU
-103B9;AL # OLD PERSIAN SIGN YA
-103BA;AL # OLD PERSIAN SIGN VA
-103BB;AL # OLD PERSIAN SIGN VI
-103BC;AL # OLD PERSIAN SIGN RA
-103BD;AL # OLD PERSIAN SIGN RU
-103BE;AL # OLD PERSIAN SIGN LA
-103BF;AL # OLD PERSIAN SIGN SA
-103C0;AL # OLD PERSIAN SIGN ZA
-103C1;AL # OLD PERSIAN SIGN SHA
-103C2;AL # OLD PERSIAN SIGN SSA
-103C3;AL # OLD PERSIAN SIGN HA
-103C8;AL # OLD PERSIAN SIGN AURAMAZDAA
-103C9;AL # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA;AL # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB;AL # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC;AL # OLD PERSIAN SIGN DAHYAAUSH
-103CD;AL # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE;AL # OLD PERSIAN SIGN BAGA
-103CF;AL # OLD PERSIAN SIGN BUUMISH
-103D0;BA # OLD PERSIAN WORD DIVIDER
-103D1;AL # OLD PERSIAN NUMBER ONE
-103D2;AL # OLD PERSIAN NUMBER TWO
-103D3;AL # OLD PERSIAN NUMBER TEN
-103D4;AL # OLD PERSIAN NUMBER TWENTY
-103D5;AL # OLD PERSIAN NUMBER HUNDRED
-10400;AL # DESERET CAPITAL LETTER LONG I
-10401;AL # DESERET CAPITAL LETTER LONG E
-10402;AL # DESERET CAPITAL LETTER LONG A
-10403;AL # DESERET CAPITAL LETTER LONG AH
-10404;AL # DESERET CAPITAL LETTER LONG O
-10405;AL # DESERET CAPITAL LETTER LONG OO
-10406;AL # DESERET CAPITAL LETTER SHORT I
-10407;AL # DESERET CAPITAL LETTER SHORT E
-10408;AL # DESERET CAPITAL LETTER SHORT A
-10409;AL # DESERET CAPITAL LETTER SHORT AH
-1040A;AL # DESERET CAPITAL LETTER SHORT O
-1040B;AL # DESERET CAPITAL LETTER SHORT OO
-1040C;AL # DESERET CAPITAL LETTER AY
-1040D;AL # DESERET CAPITAL LETTER OW
-1040E;AL # DESERET CAPITAL LETTER WU
-1040F;AL # DESERET CAPITAL LETTER YEE
-10410;AL # DESERET CAPITAL LETTER H
-10411;AL # DESERET CAPITAL LETTER PEE
-10412;AL # DESERET CAPITAL LETTER BEE
-10413;AL # DESERET CAPITAL LETTER TEE
-10414;AL # DESERET CAPITAL LETTER DEE
-10415;AL # DESERET CAPITAL LETTER CHEE
-10416;AL # DESERET CAPITAL LETTER JEE
-10417;AL # DESERET CAPITAL LETTER KAY
-10418;AL # DESERET CAPITAL LETTER GAY
-10419;AL # DESERET CAPITAL LETTER EF
-1041A;AL # DESERET CAPITAL LETTER VEE
-1041B;AL # DESERET CAPITAL LETTER ETH
-1041C;AL # DESERET CAPITAL LETTER THEE
-1041D;AL # DESERET CAPITAL LETTER ES
-1041E;AL # DESERET CAPITAL LETTER ZEE
-1041F;AL # DESERET CAPITAL LETTER ESH
-10420;AL # DESERET CAPITAL LETTER ZHEE
-10421;AL # DESERET CAPITAL LETTER ER
-10422;AL # DESERET CAPITAL LETTER EL
-10423;AL # DESERET CAPITAL LETTER EM
-10424;AL # DESERET CAPITAL LETTER EN
-10425;AL # DESERET CAPITAL LETTER ENG
-10426;AL # DESERET CAPITAL LETTER OI
-10427;AL # DESERET CAPITAL LETTER EW
-10428;AL # DESERET SMALL LETTER LONG I
-10429;AL # DESERET SMALL LETTER LONG E
-1042A;AL # DESERET SMALL LETTER LONG A
-1042B;AL # DESERET SMALL LETTER LONG AH
-1042C;AL # DESERET SMALL LETTER LONG O
-1042D;AL # DESERET SMALL LETTER LONG OO
-1042E;AL # DESERET SMALL LETTER SHORT I
-1042F;AL # DESERET SMALL LETTER SHORT E
-10430;AL # DESERET SMALL LETTER SHORT A
-10431;AL # DESERET SMALL LETTER SHORT AH
-10432;AL # DESERET SMALL LETTER SHORT O
-10433;AL # DESERET SMALL LETTER SHORT OO
-10434;AL # DESERET SMALL LETTER AY
-10435;AL # DESERET SMALL LETTER OW
-10436;AL # DESERET SMALL LETTER WU
-10437;AL # DESERET SMALL LETTER YEE
-10438;AL # DESERET SMALL LETTER H
-10439;AL # DESERET SMALL LETTER PEE
-1043A;AL # DESERET SMALL LETTER BEE
-1043B;AL # DESERET SMALL LETTER TEE
-1043C;AL # DESERET SMALL LETTER DEE
-1043D;AL # DESERET SMALL LETTER CHEE
-1043E;AL # DESERET SMALL LETTER JEE
-1043F;AL # DESERET SMALL LETTER KAY
-10440;AL # DESERET SMALL LETTER GAY
-10441;AL # DESERET SMALL LETTER EF
-10442;AL # DESERET SMALL LETTER VEE
-10443;AL # DESERET SMALL LETTER ETH
-10444;AL # DESERET SMALL LETTER THEE
-10445;AL # DESERET SMALL LETTER ES
-10446;AL # DESERET SMALL LETTER ZEE
-10447;AL # DESERET SMALL LETTER ESH
-10448;AL # DESERET SMALL LETTER ZHEE
-10449;AL # DESERET SMALL LETTER ER
-1044A;AL # DESERET SMALL LETTER EL
-1044B;AL # DESERET SMALL LETTER EM
-1044C;AL # DESERET SMALL LETTER EN
-1044D;AL # DESERET SMALL LETTER ENG
-1044E;AL # DESERET SMALL LETTER OI
-1044F;AL # DESERET SMALL LETTER EW
-10450;AL # SHAVIAN LETTER PEEP
-10451;AL # SHAVIAN LETTER TOT
-10452;AL # SHAVIAN LETTER KICK
-10453;AL # SHAVIAN LETTER FEE
-10454;AL # SHAVIAN LETTER THIGH
-10455;AL # SHAVIAN LETTER SO
-10456;AL # SHAVIAN LETTER SURE
-10457;AL # SHAVIAN LETTER CHURCH
-10458;AL # SHAVIAN LETTER YEA
-10459;AL # SHAVIAN LETTER HUNG
-1045A;AL # SHAVIAN LETTER BIB
-1045B;AL # SHAVIAN LETTER DEAD
-1045C;AL # SHAVIAN LETTER GAG
-1045D;AL # SHAVIAN LETTER VOW
-1045E;AL # SHAVIAN LETTER THEY
-1045F;AL # SHAVIAN LETTER ZOO
-10460;AL # SHAVIAN LETTER MEASURE
-10461;AL # SHAVIAN LETTER JUDGE
-10462;AL # SHAVIAN LETTER WOE
-10463;AL # SHAVIAN LETTER HA-HA
-10464;AL # SHAVIAN LETTER LOLL
-10465;AL # SHAVIAN LETTER MIME
-10466;AL # SHAVIAN LETTER IF
-10467;AL # SHAVIAN LETTER EGG
-10468;AL # SHAVIAN LETTER ASH
-10469;AL # SHAVIAN LETTER ADO
-1046A;AL # SHAVIAN LETTER ON
-1046B;AL # SHAVIAN LETTER WOOL
-1046C;AL # SHAVIAN LETTER OUT
-1046D;AL # SHAVIAN LETTER AH
-1046E;AL # SHAVIAN LETTER ROAR
-1046F;AL # SHAVIAN LETTER NUN
-10470;AL # SHAVIAN LETTER EAT
-10471;AL # SHAVIAN LETTER AGE
-10472;AL # SHAVIAN LETTER ICE
-10473;AL # SHAVIAN LETTER UP
-10474;AL # SHAVIAN LETTER OAK
-10475;AL # SHAVIAN LETTER OOZE
-10476;AL # SHAVIAN LETTER OIL
-10477;AL # SHAVIAN LETTER AWE
-10478;AL # SHAVIAN LETTER ARE
-10479;AL # SHAVIAN LETTER OR
-1047A;AL # SHAVIAN LETTER AIR
-1047B;AL # SHAVIAN LETTER ERR
-1047C;AL # SHAVIAN LETTER ARRAY
-1047D;AL # SHAVIAN LETTER EAR
-1047E;AL # SHAVIAN LETTER IAN
-1047F;AL # SHAVIAN LETTER YEW
-10480;AL # OSMANYA LETTER ALEF
-10481;AL # OSMANYA LETTER BA
-10482;AL # OSMANYA LETTER TA
-10483;AL # OSMANYA LETTER JA
-10484;AL # OSMANYA LETTER XA
-10485;AL # OSMANYA LETTER KHA
-10486;AL # OSMANYA LETTER DEEL
-10487;AL # OSMANYA LETTER RA
-10488;AL # OSMANYA LETTER SA
-10489;AL # OSMANYA LETTER SHIIN
-1048A;AL # OSMANYA LETTER DHA
-1048B;AL # OSMANYA LETTER CAYN
-1048C;AL # OSMANYA LETTER GA
-1048D;AL # OSMANYA LETTER FA
-1048E;AL # OSMANYA LETTER QAAF
-1048F;AL # OSMANYA LETTER KAAF
-10490;AL # OSMANYA LETTER LAAN
-10491;AL # OSMANYA LETTER MIIN
-10492;AL # OSMANYA LETTER NUUN
-10493;AL # OSMANYA LETTER WAW
-10494;AL # OSMANYA LETTER HA
-10495;AL # OSMANYA LETTER YA
-10496;AL # OSMANYA LETTER A
-10497;AL # OSMANYA LETTER E
-10498;AL # OSMANYA LETTER I
-10499;AL # OSMANYA LETTER O
-1049A;AL # OSMANYA LETTER U
-1049B;AL # OSMANYA LETTER AA
-1049C;AL # OSMANYA LETTER EE
-1049D;AL # OSMANYA LETTER OO
-104A0;NU # OSMANYA DIGIT ZERO
-104A1;NU # OSMANYA DIGIT ONE
-104A2;NU # OSMANYA DIGIT TWO
-104A3;NU # OSMANYA DIGIT THREE
-104A4;NU # OSMANYA DIGIT FOUR
-104A5;NU # OSMANYA DIGIT FIVE
-104A6;NU # OSMANYA DIGIT SIX
-104A7;NU # OSMANYA DIGIT SEVEN
-104A8;NU # OSMANYA DIGIT EIGHT
-104A9;NU # OSMANYA DIGIT NINE
-10800;AL # CYPRIOT SYLLABLE A
-10801;AL # CYPRIOT SYLLABLE E
-10802;AL # CYPRIOT SYLLABLE I
-10803;AL # CYPRIOT SYLLABLE O
-10804;AL # CYPRIOT SYLLABLE U
-10805;AL # CYPRIOT SYLLABLE JA
-10808;AL # CYPRIOT SYLLABLE JO
-1080A;AL # CYPRIOT SYLLABLE KA
-1080B;AL # CYPRIOT SYLLABLE KE
-1080C;AL # CYPRIOT SYLLABLE KI
-1080D;AL # CYPRIOT SYLLABLE KO
-1080E;AL # CYPRIOT SYLLABLE KU
-1080F;AL # CYPRIOT SYLLABLE LA
-10810;AL # CYPRIOT SYLLABLE LE
-10811;AL # CYPRIOT SYLLABLE LI
-10812;AL # CYPRIOT SYLLABLE LO
-10813;AL # CYPRIOT SYLLABLE LU
-10814;AL # CYPRIOT SYLLABLE MA
-10815;AL # CYPRIOT SYLLABLE ME
-10816;AL # CYPRIOT SYLLABLE MI
-10817;AL # CYPRIOT SYLLABLE MO
-10818;AL # CYPRIOT SYLLABLE MU
-10819;AL # CYPRIOT SYLLABLE NA
-1081A;AL # CYPRIOT SYLLABLE NE
-1081B;AL # CYPRIOT SYLLABLE NI
-1081C;AL # CYPRIOT SYLLABLE NO
-1081D;AL # CYPRIOT SYLLABLE NU
-1081E;AL # CYPRIOT SYLLABLE PA
-1081F;AL # CYPRIOT SYLLABLE PE
-10820;AL # CYPRIOT SYLLABLE PI
-10821;AL # CYPRIOT SYLLABLE PO
-10822;AL # CYPRIOT SYLLABLE PU
-10823;AL # CYPRIOT SYLLABLE RA
-10824;AL # CYPRIOT SYLLABLE RE
-10825;AL # CYPRIOT SYLLABLE RI
-10826;AL # CYPRIOT SYLLABLE RO
-10827;AL # CYPRIOT SYLLABLE RU
-10828;AL # CYPRIOT SYLLABLE SA
-10829;AL # CYPRIOT SYLLABLE SE
-1082A;AL # CYPRIOT SYLLABLE SI
-1082B;AL # CYPRIOT SYLLABLE SO
-1082C;AL # CYPRIOT SYLLABLE SU
-1082D;AL # CYPRIOT SYLLABLE TA
-1082E;AL # CYPRIOT SYLLABLE TE
-1082F;AL # CYPRIOT SYLLABLE TI
-10830;AL # CYPRIOT SYLLABLE TO
-10831;AL # CYPRIOT SYLLABLE TU
-10832;AL # CYPRIOT SYLLABLE WA
-10833;AL # CYPRIOT SYLLABLE WE
-10834;AL # CYPRIOT SYLLABLE WI
-10835;AL # CYPRIOT SYLLABLE WO
-10837;AL # CYPRIOT SYLLABLE XA
-10838;AL # CYPRIOT SYLLABLE XE
-1083C;AL # CYPRIOT SYLLABLE ZA
-1083F;AL # CYPRIOT SYLLABLE ZO
-10840;AL # IMPERIAL ARAMAIC LETTER ALEPH
-10841;AL # IMPERIAL ARAMAIC LETTER BETH
-10842;AL # IMPERIAL ARAMAIC LETTER GIMEL
-10843;AL # IMPERIAL ARAMAIC LETTER DALETH
-10844;AL # IMPERIAL ARAMAIC LETTER HE
-10845;AL # IMPERIAL ARAMAIC LETTER WAW
-10846;AL # IMPERIAL ARAMAIC LETTER ZAYIN
-10847;AL # IMPERIAL ARAMAIC LETTER HETH
-10848;AL # IMPERIAL ARAMAIC LETTER TETH
-10849;AL # IMPERIAL ARAMAIC LETTER YODH
-1084A;AL # IMPERIAL ARAMAIC LETTER KAPH
-1084B;AL # IMPERIAL ARAMAIC LETTER LAMEDH
-1084C;AL # IMPERIAL ARAMAIC LETTER MEM
-1084D;AL # IMPERIAL ARAMAIC LETTER NUN
-1084E;AL # IMPERIAL ARAMAIC LETTER SAMEKH
-1084F;AL # IMPERIAL ARAMAIC LETTER AYIN
-10850;AL # IMPERIAL ARAMAIC LETTER PE
-10851;AL # IMPERIAL ARAMAIC LETTER SADHE
-10852;AL # IMPERIAL ARAMAIC LETTER QOPH
-10853;AL # IMPERIAL ARAMAIC LETTER RESH
-10854;AL # IMPERIAL ARAMAIC LETTER SHIN
-10855;AL # IMPERIAL ARAMAIC LETTER TAW
-10857;BA # IMPERIAL ARAMAIC SECTION SIGN
-10858;AL # IMPERIAL ARAMAIC NUMBER ONE
-10859;AL # IMPERIAL ARAMAIC NUMBER TWO
-1085A;AL # IMPERIAL ARAMAIC NUMBER THREE
-1085B;AL # IMPERIAL ARAMAIC NUMBER TEN
-1085C;AL # IMPERIAL ARAMAIC NUMBER TWENTY
-1085D;AL # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E;AL # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F;AL # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900;AL # PHOENICIAN LETTER ALF
-10901;AL # PHOENICIAN LETTER BET
-10902;AL # PHOENICIAN LETTER GAML
-10903;AL # PHOENICIAN LETTER DELT
-10904;AL # PHOENICIAN LETTER HE
-10905;AL # PHOENICIAN LETTER WAU
-10906;AL # PHOENICIAN LETTER ZAI
-10907;AL # PHOENICIAN LETTER HET
-10908;AL # PHOENICIAN LETTER TET
-10909;AL # PHOENICIAN LETTER YOD
-1090A;AL # PHOENICIAN LETTER KAF
-1090B;AL # PHOENICIAN LETTER LAMD
-1090C;AL # PHOENICIAN LETTER MEM
-1090D;AL # PHOENICIAN LETTER NUN
-1090E;AL # PHOENICIAN LETTER SEMK
-1090F;AL # PHOENICIAN LETTER AIN
-10910;AL # PHOENICIAN LETTER PE
-10911;AL # PHOENICIAN LETTER SADE
-10912;AL # PHOENICIAN LETTER QOF
-10913;AL # PHOENICIAN LETTER ROSH
-10914;AL # PHOENICIAN LETTER SHIN
-10915;AL # PHOENICIAN LETTER TAU
-10916;AL # PHOENICIAN NUMBER ONE
-10917;AL # PHOENICIAN NUMBER TEN
-10918;AL # PHOENICIAN NUMBER TWENTY
-10919;AL # PHOENICIAN NUMBER ONE HUNDRED
-1091A;AL # PHOENICIAN NUMBER TWO
-1091B;AL # PHOENICIAN NUMBER THREE
-1091F;BA # PHOENICIAN WORD SEPARATOR
-10920;AL # LYDIAN LETTER A
-10921;AL # LYDIAN LETTER B
-10922;AL # LYDIAN LETTER G
-10923;AL # LYDIAN LETTER D
-10924;AL # LYDIAN LETTER E
-10925;AL # LYDIAN LETTER V
-10926;AL # LYDIAN LETTER I
-10927;AL # LYDIAN LETTER Y
-10928;AL # LYDIAN LETTER K
-10929;AL # LYDIAN LETTER L
-1092A;AL # LYDIAN LETTER M
-1092B;AL # LYDIAN LETTER N
-1092C;AL # LYDIAN LETTER O
-1092D;AL # LYDIAN LETTER R
-1092E;AL # LYDIAN LETTER SS
-1092F;AL # LYDIAN LETTER T
-10930;AL # LYDIAN LETTER U
-10931;AL # LYDIAN LETTER F
-10932;AL # LYDIAN LETTER Q
-10933;AL # LYDIAN LETTER S
-10934;AL # LYDIAN LETTER TT
-10935;AL # LYDIAN LETTER AN
-10936;AL # LYDIAN LETTER EN
-10937;AL # LYDIAN LETTER LY
-10938;AL # LYDIAN LETTER NN
-10939;AL # LYDIAN LETTER C
-1093F;AL # LYDIAN TRIANGULAR MARK
-10A00;AL # KHAROSHTHI LETTER A
-10A01;CM # KHAROSHTHI VOWEL SIGN I
-10A02;CM # KHAROSHTHI VOWEL SIGN U
-10A03;CM # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05;CM # KHAROSHTHI VOWEL SIGN E
-10A06;CM # KHAROSHTHI VOWEL SIGN O
-10A0C;CM # KHAROSHTHI VOWEL LENGTH MARK
-10A0D;CM # KHAROSHTHI SIGN DOUBLE RING BELOW
-10A0E;CM # KHAROSHTHI SIGN ANUSVARA
-10A0F;CM # KHAROSHTHI SIGN VISARGA
-10A10;AL # KHAROSHTHI LETTER KA
-10A11;AL # KHAROSHTHI LETTER KHA
-10A12;AL # KHAROSHTHI LETTER GA
-10A13;AL # KHAROSHTHI LETTER GHA
-10A15;AL # KHAROSHTHI LETTER CA
-10A16;AL # KHAROSHTHI LETTER CHA
-10A17;AL # KHAROSHTHI LETTER JA
-10A19;AL # KHAROSHTHI LETTER NYA
-10A1A;AL # KHAROSHTHI LETTER TTA
-10A1B;AL # KHAROSHTHI LETTER TTHA
-10A1C;AL # KHAROSHTHI LETTER DDA
-10A1D;AL # KHAROSHTHI LETTER DDHA
-10A1E;AL # KHAROSHTHI LETTER NNA
-10A1F;AL # KHAROSHTHI LETTER TA
-10A20;AL # KHAROSHTHI LETTER THA
-10A21;AL # KHAROSHTHI LETTER DA
-10A22;AL # KHAROSHTHI LETTER DHA
-10A23;AL # KHAROSHTHI LETTER NA
-10A24;AL # KHAROSHTHI LETTER PA
-10A25;AL # KHAROSHTHI LETTER PHA
-10A26;AL # KHAROSHTHI LETTER BA
-10A27;AL # KHAROSHTHI LETTER BHA
-10A28;AL # KHAROSHTHI LETTER MA
-10A29;AL # KHAROSHTHI LETTER YA
-10A2A;AL # KHAROSHTHI LETTER RA
-10A2B;AL # KHAROSHTHI LETTER LA
-10A2C;AL # KHAROSHTHI LETTER VA
-10A2D;AL # KHAROSHTHI LETTER SHA
-10A2E;AL # KHAROSHTHI LETTER SSA
-10A2F;AL # KHAROSHTHI LETTER SA
-10A30;AL # KHAROSHTHI LETTER ZA
-10A31;AL # KHAROSHTHI LETTER HA
-10A32;AL # KHAROSHTHI LETTER KKA
-10A33;AL # KHAROSHTHI LETTER TTTHA
-10A38;CM # KHAROSHTHI SIGN BAR ABOVE
-10A39;CM # KHAROSHTHI SIGN CAUDA
-10A3A;CM # KHAROSHTHI SIGN DOT BELOW
-10A3F;CM # KHAROSHTHI VIRAMA
-10A40;AL # KHAROSHTHI DIGIT ONE
-10A41;AL # KHAROSHTHI DIGIT TWO
-10A42;AL # KHAROSHTHI DIGIT THREE
-10A43;AL # KHAROSHTHI DIGIT FOUR
-10A44;AL # KHAROSHTHI NUMBER TEN
-10A45;AL # KHAROSHTHI NUMBER TWENTY
-10A46;AL # KHAROSHTHI NUMBER ONE HUNDRED
-10A47;AL # KHAROSHTHI NUMBER ONE THOUSAND
-10A50;BA # KHAROSHTHI PUNCTUATION DOT
-10A51;BA # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52;BA # KHAROSHTHI PUNCTUATION CIRCLE
-10A53;BA # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54;BA # KHAROSHTHI PUNCTUATION MANGALAM
-10A55;BA # KHAROSHTHI PUNCTUATION LOTUS
-10A56;BA # KHAROSHTHI PUNCTUATION DANDA
-10A57;BA # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58;AL # KHAROSHTHI PUNCTUATION LINES
-10A60;AL # OLD SOUTH ARABIAN LETTER HE
-10A61;AL # OLD SOUTH ARABIAN LETTER LAMEDH
-10A62;AL # OLD SOUTH ARABIAN LETTER HETH
-10A63;AL # OLD SOUTH ARABIAN LETTER MEM
-10A64;AL # OLD SOUTH ARABIAN LETTER QOPH
-10A65;AL # OLD SOUTH ARABIAN LETTER WAW
-10A66;AL # OLD SOUTH ARABIAN LETTER SHIN
-10A67;AL # OLD SOUTH ARABIAN LETTER RESH
-10A68;AL # OLD SOUTH ARABIAN LETTER BETH
-10A69;AL # OLD SOUTH ARABIAN LETTER TAW
-10A6A;AL # OLD SOUTH ARABIAN LETTER SAT
-10A6B;AL # OLD SOUTH ARABIAN LETTER KAPH
-10A6C;AL # OLD SOUTH ARABIAN LETTER NUN
-10A6D;AL # OLD SOUTH ARABIAN LETTER KHETH
-10A6E;AL # OLD SOUTH ARABIAN LETTER SADHE
-10A6F;AL # OLD SOUTH ARABIAN LETTER SAMEKH
-10A70;AL # OLD SOUTH ARABIAN LETTER FE
-10A71;AL # OLD SOUTH ARABIAN LETTER ALEF
-10A72;AL # OLD SOUTH ARABIAN LETTER AYN
-10A73;AL # OLD SOUTH ARABIAN LETTER DHADHE
-10A74;AL # OLD SOUTH ARABIAN LETTER GIMEL
-10A75;AL # OLD SOUTH ARABIAN LETTER DALETH
-10A76;AL # OLD SOUTH ARABIAN LETTER GHAYN
-10A77;AL # OLD SOUTH ARABIAN LETTER TETH
-10A78;AL # OLD SOUTH ARABIAN LETTER ZAYN
-10A79;AL # OLD SOUTH ARABIAN LETTER DHALETH
-10A7A;AL # OLD SOUTH ARABIAN LETTER YODH
-10A7B;AL # OLD SOUTH ARABIAN LETTER THAW
-10A7C;AL # OLD SOUTH ARABIAN LETTER THETH
-10A7D;AL # OLD SOUTH ARABIAN NUMBER ONE
-10A7E;AL # OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F;AL # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00;AL # AVESTAN LETTER A
-10B01;AL # AVESTAN LETTER AA
-10B02;AL # AVESTAN LETTER AO
-10B03;AL # AVESTAN LETTER AAO
-10B04;AL # AVESTAN LETTER AN
-10B05;AL # AVESTAN LETTER AAN
-10B06;AL # AVESTAN LETTER AE
-10B07;AL # AVESTAN LETTER AEE
-10B08;AL # AVESTAN LETTER E
-10B09;AL # AVESTAN LETTER EE
-10B0A;AL # AVESTAN LETTER O
-10B0B;AL # AVESTAN LETTER OO
-10B0C;AL # AVESTAN LETTER I
-10B0D;AL # AVESTAN LETTER II
-10B0E;AL # AVESTAN LETTER U
-10B0F;AL # AVESTAN LETTER UU
-10B10;AL # AVESTAN LETTER KE
-10B11;AL # AVESTAN LETTER XE
-10B12;AL # AVESTAN LETTER XYE
-10B13;AL # AVESTAN LETTER XVE
-10B14;AL # AVESTAN LETTER GE
-10B15;AL # AVESTAN LETTER GGE
-10B16;AL # AVESTAN LETTER GHE
-10B17;AL # AVESTAN LETTER CE
-10B18;AL # AVESTAN LETTER JE
-10B19;AL # AVESTAN LETTER TE
-10B1A;AL # AVESTAN LETTER THE
-10B1B;AL # AVESTAN LETTER DE
-10B1C;AL # AVESTAN LETTER DHE
-10B1D;AL # AVESTAN LETTER TTE
-10B1E;AL # AVESTAN LETTER PE
-10B1F;AL # AVESTAN LETTER FE
-10B20;AL # AVESTAN LETTER BE
-10B21;AL # AVESTAN LETTER BHE
-10B22;AL # AVESTAN LETTER NGE
-10B23;AL # AVESTAN LETTER NGYE
-10B24;AL # AVESTAN LETTER NGVE
-10B25;AL # AVESTAN LETTER NE
-10B26;AL # AVESTAN LETTER NYE
-10B27;AL # AVESTAN LETTER NNE
-10B28;AL # AVESTAN LETTER ME
-10B29;AL # AVESTAN LETTER HME
-10B2A;AL # AVESTAN LETTER YYE
-10B2B;AL # AVESTAN LETTER YE
-10B2C;AL # AVESTAN LETTER VE
-10B2D;AL # AVESTAN LETTER RE
-10B2E;AL # AVESTAN LETTER LE
-10B2F;AL # AVESTAN LETTER SE
-10B30;AL # AVESTAN LETTER ZE
-10B31;AL # AVESTAN LETTER SHE
-10B32;AL # AVESTAN LETTER ZHE
-10B33;AL # AVESTAN LETTER SHYE
-10B34;AL # AVESTAN LETTER SSHE
-10B35;AL # AVESTAN LETTER HE
-10B39;BA # AVESTAN ABBREVIATION MARK
-10B3A;BA # TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B;BA # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C;BA # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D;BA # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E;BA # LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F;BA # LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B40;AL # INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41;AL # INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42;AL # INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43;AL # INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44;AL # INSCRIPTIONAL PARTHIAN LETTER HE
-10B45;AL # INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46;AL # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47;AL # INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48;AL # INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49;AL # INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A;AL # INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B;AL # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C;AL # INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D;AL # INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E;AL # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F;AL # INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50;AL # INSCRIPTIONAL PARTHIAN LETTER PE
-10B51;AL # INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52;AL # INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53;AL # INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54;AL # INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55;AL # INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58;AL # INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B59;AL # INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B5A;AL # INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B5B;AL # INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B5C;AL # INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D;AL # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E;AL # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F;AL # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60;AL # INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61;AL # INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62;AL # INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63;AL # INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64;AL # INSCRIPTIONAL PAHLAVI LETTER HE
-10B65;AL # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66;AL # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67;AL # INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68;AL # INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69;AL # INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A;AL # INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B;AL # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C;AL # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D;AL # INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E;AL # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F;AL # INSCRIPTIONAL PAHLAVI LETTER PE
-10B70;AL # INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71;AL # INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72;AL # INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78;AL # INSCRIPTIONAL PAHLAVI NUMBER ONE
-10B79;AL # INSCRIPTIONAL PAHLAVI NUMBER TWO
-10B7A;AL # INSCRIPTIONAL PAHLAVI NUMBER THREE
-10B7B;AL # INSCRIPTIONAL PAHLAVI NUMBER FOUR
-10B7C;AL # INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D;AL # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E;AL # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F;AL # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00;AL # OLD TURKIC LETTER ORKHON A
-10C01;AL # OLD TURKIC LETTER YENISEI A
-10C02;AL # OLD TURKIC LETTER YENISEI AE
-10C03;AL # OLD TURKIC LETTER ORKHON I
-10C04;AL # OLD TURKIC LETTER YENISEI I
-10C05;AL # OLD TURKIC LETTER YENISEI E
-10C06;AL # OLD TURKIC LETTER ORKHON O
-10C07;AL # OLD TURKIC LETTER ORKHON OE
-10C08;AL # OLD TURKIC LETTER YENISEI OE
-10C09;AL # OLD TURKIC LETTER ORKHON AB
-10C0A;AL # OLD TURKIC LETTER YENISEI AB
-10C0B;AL # OLD TURKIC LETTER ORKHON AEB
-10C0C;AL # OLD TURKIC LETTER YENISEI AEB
-10C0D;AL # OLD TURKIC LETTER ORKHON AG
-10C0E;AL # OLD TURKIC LETTER YENISEI AG
-10C0F;AL # OLD TURKIC LETTER ORKHON AEG
-10C10;AL # OLD TURKIC LETTER YENISEI AEG
-10C11;AL # OLD TURKIC LETTER ORKHON AD
-10C12;AL # OLD TURKIC LETTER YENISEI AD
-10C13;AL # OLD TURKIC LETTER ORKHON AED
-10C14;AL # OLD TURKIC LETTER ORKHON EZ
-10C15;AL # OLD TURKIC LETTER YENISEI EZ
-10C16;AL # OLD TURKIC LETTER ORKHON AY
-10C17;AL # OLD TURKIC LETTER YENISEI AY
-10C18;AL # OLD TURKIC LETTER ORKHON AEY
-10C19;AL # OLD TURKIC LETTER YENISEI AEY
-10C1A;AL # OLD TURKIC LETTER ORKHON AEK
-10C1B;AL # OLD TURKIC LETTER YENISEI AEK
-10C1C;AL # OLD TURKIC LETTER ORKHON OEK
-10C1D;AL # OLD TURKIC LETTER YENISEI OEK
-10C1E;AL # OLD TURKIC LETTER ORKHON AL
-10C1F;AL # OLD TURKIC LETTER YENISEI AL
-10C20;AL # OLD TURKIC LETTER ORKHON AEL
-10C21;AL # OLD TURKIC LETTER ORKHON ELT
-10C22;AL # OLD TURKIC LETTER ORKHON EM
-10C23;AL # OLD TURKIC LETTER ORKHON AN
-10C24;AL # OLD TURKIC LETTER ORKHON AEN
-10C25;AL # OLD TURKIC LETTER YENISEI AEN
-10C26;AL # OLD TURKIC LETTER ORKHON ENT
-10C27;AL # OLD TURKIC LETTER YENISEI ENT
-10C28;AL # OLD TURKIC LETTER ORKHON ENC
-10C29;AL # OLD TURKIC LETTER YENISEI ENC
-10C2A;AL # OLD TURKIC LETTER ORKHON ENY
-10C2B;AL # OLD TURKIC LETTER YENISEI ENY
-10C2C;AL # OLD TURKIC LETTER YENISEI ANG
-10C2D;AL # OLD TURKIC LETTER ORKHON ENG
-10C2E;AL # OLD TURKIC LETTER YENISEI AENG
-10C2F;AL # OLD TURKIC LETTER ORKHON EP
-10C30;AL # OLD TURKIC LETTER ORKHON OP
-10C31;AL # OLD TURKIC LETTER ORKHON IC
-10C32;AL # OLD TURKIC LETTER ORKHON EC
-10C33;AL # OLD TURKIC LETTER YENISEI EC
-10C34;AL # OLD TURKIC LETTER ORKHON AQ
-10C35;AL # OLD TURKIC LETTER YENISEI AQ
-10C36;AL # OLD TURKIC LETTER ORKHON IQ
-10C37;AL # OLD TURKIC LETTER YENISEI IQ
-10C38;AL # OLD TURKIC LETTER ORKHON OQ
-10C39;AL # OLD TURKIC LETTER YENISEI OQ
-10C3A;AL # OLD TURKIC LETTER ORKHON AR
-10C3B;AL # OLD TURKIC LETTER YENISEI AR
-10C3C;AL # OLD TURKIC LETTER ORKHON AER
-10C3D;AL # OLD TURKIC LETTER ORKHON AS
-10C3E;AL # OLD TURKIC LETTER ORKHON AES
-10C3F;AL # OLD TURKIC LETTER ORKHON ASH
-10C40;AL # OLD TURKIC LETTER YENISEI ASH
-10C41;AL # OLD TURKIC LETTER ORKHON ESH
-10C42;AL # OLD TURKIC LETTER YENISEI ESH
-10C43;AL # OLD TURKIC LETTER ORKHON AT
-10C44;AL # OLD TURKIC LETTER YENISEI AT
-10C45;AL # OLD TURKIC LETTER ORKHON AET
-10C46;AL # OLD TURKIC LETTER YENISEI AET
-10C47;AL # OLD TURKIC LETTER ORKHON OT
-10C48;AL # OLD TURKIC LETTER ORKHON BASH
-10E60;AL # RUMI DIGIT ONE
-10E61;AL # RUMI DIGIT TWO
-10E62;AL # RUMI DIGIT THREE
-10E63;AL # RUMI DIGIT FOUR
-10E64;AL # RUMI DIGIT FIVE
-10E65;AL # RUMI DIGIT SIX
-10E66;AL # RUMI DIGIT SEVEN
-10E67;AL # RUMI DIGIT EIGHT
-10E68;AL # RUMI DIGIT NINE
-10E69;AL # RUMI NUMBER TEN
-10E6A;AL # RUMI NUMBER TWENTY
-10E6B;AL # RUMI NUMBER THIRTY
-10E6C;AL # RUMI NUMBER FORTY
-10E6D;AL # RUMI NUMBER FIFTY
-10E6E;AL # RUMI NUMBER SIXTY
-10E6F;AL # RUMI NUMBER SEVENTY
-10E70;AL # RUMI NUMBER EIGHTY
-10E71;AL # RUMI NUMBER NINETY
-10E72;AL # RUMI NUMBER ONE HUNDRED
-10E73;AL # RUMI NUMBER TWO HUNDRED
-10E74;AL # RUMI NUMBER THREE HUNDRED
-10E75;AL # RUMI NUMBER FOUR HUNDRED
-10E76;AL # RUMI NUMBER FIVE HUNDRED
-10E77;AL # RUMI NUMBER SIX HUNDRED
-10E78;AL # RUMI NUMBER SEVEN HUNDRED
-10E79;AL # RUMI NUMBER EIGHT HUNDRED
-10E7A;AL # RUMI NUMBER NINE HUNDRED
-10E7B;AL # RUMI FRACTION ONE HALF
-10E7C;AL # RUMI FRACTION ONE QUARTER
-10E7D;AL # RUMI FRACTION ONE THIRD
-10E7E;AL # RUMI FRACTION TWO THIRDS
-11080;CM # KAITHI SIGN CANDRABINDU
-11081;CM # KAITHI SIGN ANUSVARA
-11082;CM # KAITHI SIGN VISARGA
-11083;AL # KAITHI LETTER A
-11084;AL # KAITHI LETTER AA
-11085;AL # KAITHI LETTER I
-11086;AL # KAITHI LETTER II
-11087;AL # KAITHI LETTER U
-11088;AL # KAITHI LETTER UU
-11089;AL # KAITHI LETTER E
-1108A;AL # KAITHI LETTER AI
-1108B;AL # KAITHI LETTER O
-1108C;AL # KAITHI LETTER AU
-1108D;AL # KAITHI LETTER KA
-1108E;AL # KAITHI LETTER KHA
-1108F;AL # KAITHI LETTER GA
-11090;AL # KAITHI LETTER GHA
-11091;AL # KAITHI LETTER NGA
-11092;AL # KAITHI LETTER CA
-11093;AL # KAITHI LETTER CHA
-11094;AL # KAITHI LETTER JA
-11095;AL # KAITHI LETTER JHA
-11096;AL # KAITHI LETTER NYA
-11097;AL # KAITHI LETTER TTA
-11098;AL # KAITHI LETTER TTHA
-11099;AL # KAITHI LETTER DDA
-1109A;AL # KAITHI LETTER DDDHA
-1109B;AL # KAITHI LETTER DDHA
-1109C;AL # KAITHI LETTER RHA
-1109D;AL # KAITHI LETTER NNA
-1109E;AL # KAITHI LETTER TA
-1109F;AL # KAITHI LETTER THA
-110A0;AL # KAITHI LETTER DA
-110A1;AL # KAITHI LETTER DHA
-110A2;AL # KAITHI LETTER NA
-110A3;AL # KAITHI LETTER PA
-110A4;AL # KAITHI LETTER PHA
-110A5;AL # KAITHI LETTER BA
-110A6;AL # KAITHI LETTER BHA
-110A7;AL # KAITHI LETTER MA
-110A8;AL # KAITHI LETTER YA
-110A9;AL # KAITHI LETTER RA
-110AA;AL # KAITHI LETTER LA
-110AB;AL # KAITHI LETTER VA
-110AC;AL # KAITHI LETTER SHA
-110AD;AL # KAITHI LETTER SSA
-110AE;AL # KAITHI LETTER SA
-110AF;AL # KAITHI LETTER HA
-110B0;CM # KAITHI VOWEL SIGN AA
-110B1;CM # KAITHI VOWEL SIGN I
-110B2;CM # KAITHI VOWEL SIGN II
-110B3;CM # KAITHI VOWEL SIGN U
-110B4;CM # KAITHI VOWEL SIGN UU
-110B5;CM # KAITHI VOWEL SIGN E
-110B6;CM # KAITHI VOWEL SIGN AI
-110B7;CM # KAITHI VOWEL SIGN O
-110B8;CM # KAITHI VOWEL SIGN AU
-110B9;CM # KAITHI SIGN VIRAMA
-110BA;CM # KAITHI SIGN NUKTA
-110BB;AL # KAITHI ABBREVIATION SIGN
-110BC;AL # KAITHI ENUMERATION SIGN
-110BD;AL # KAITHI NUMBER SIGN
-110BE;BA # KAITHI SECTION MARK
-110BF;BA # KAITHI DOUBLE SECTION MARK
-110C0;BA # KAITHI DANDA
-110C1;BA # KAITHI DOUBLE DANDA
-12000;AL # CUNEIFORM SIGN A
-12001;AL # CUNEIFORM SIGN A TIMES A
-12002;AL # CUNEIFORM SIGN A TIMES BAD
-12003;AL # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004;AL # CUNEIFORM SIGN A TIMES HA
-12005;AL # CUNEIFORM SIGN A TIMES IGI
-12006;AL # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007;AL # CUNEIFORM SIGN A TIMES MUSH
-12008;AL # CUNEIFORM SIGN A TIMES SAG
-12009;AL # CUNEIFORM SIGN A2
-1200A;AL # CUNEIFORM SIGN AB
-1200B;AL # CUNEIFORM SIGN AB TIMES ASH2
-1200C;AL # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D;AL # CUNEIFORM SIGN AB TIMES GAL
-1200E;AL # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F;AL # CUNEIFORM SIGN AB TIMES HA
-12010;AL # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011;AL # CUNEIFORM SIGN AB TIMES IMIN
-12012;AL # CUNEIFORM SIGN AB TIMES LAGAB
-12013;AL # CUNEIFORM SIGN AB TIMES SHESH
-12014;AL # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015;AL # CUNEIFORM SIGN AB GUNU
-12016;AL # CUNEIFORM SIGN AB2
-12017;AL # CUNEIFORM SIGN AB2 TIMES BALAG
-12018;AL # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019;AL # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A;AL # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B;AL # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C;AL # CUNEIFORM SIGN AD
-1201D;AL # CUNEIFORM SIGN AK
-1201E;AL # CUNEIFORM SIGN AK TIMES ERIN2
-1201F;AL # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020;AL # CUNEIFORM SIGN AL
-12021;AL # CUNEIFORM SIGN AL TIMES AL
-12022;AL # CUNEIFORM SIGN AL TIMES DIM2
-12023;AL # CUNEIFORM SIGN AL TIMES GISH
-12024;AL # CUNEIFORM SIGN AL TIMES HA
-12025;AL # CUNEIFORM SIGN AL TIMES KAD3
-12026;AL # CUNEIFORM SIGN AL TIMES KI
-12027;AL # CUNEIFORM SIGN AL TIMES SHE
-12028;AL # CUNEIFORM SIGN AL TIMES USH
-12029;AL # CUNEIFORM SIGN ALAN
-1202A;AL # CUNEIFORM SIGN ALEPH
-1202B;AL # CUNEIFORM SIGN AMAR
-1202C;AL # CUNEIFORM SIGN AMAR TIMES SHE
-1202D;AL # CUNEIFORM SIGN AN
-1202E;AL # CUNEIFORM SIGN AN OVER AN
-1202F;AL # CUNEIFORM SIGN AN THREE TIMES
-12030;AL # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031;AL # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032;AL # CUNEIFORM SIGN ANSHE
-12033;AL # CUNEIFORM SIGN APIN
-12034;AL # CUNEIFORM SIGN ARAD
-12035;AL # CUNEIFORM SIGN ARAD TIMES KUR
-12036;AL # CUNEIFORM SIGN ARKAB
-12037;AL # CUNEIFORM SIGN ASAL2
-12038;AL # CUNEIFORM SIGN ASH
-12039;AL # CUNEIFORM SIGN ASH ZIDA TENU
-1203A;AL # CUNEIFORM SIGN ASH KABA TENU
-1203B;AL # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C;AL # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D;AL # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E;AL # CUNEIFORM SIGN ASH2
-1203F;AL # CUNEIFORM SIGN ASHGAB
-12040;AL # CUNEIFORM SIGN BA
-12041;AL # CUNEIFORM SIGN BAD
-12042;AL # CUNEIFORM SIGN BAG3
-12043;AL # CUNEIFORM SIGN BAHAR2
-12044;AL # CUNEIFORM SIGN BAL
-12045;AL # CUNEIFORM SIGN BAL OVER BAL
-12046;AL # CUNEIFORM SIGN BALAG
-12047;AL # CUNEIFORM SIGN BAR
-12048;AL # CUNEIFORM SIGN BARA2
-12049;AL # CUNEIFORM SIGN BI
-1204A;AL # CUNEIFORM SIGN BI TIMES A
-1204B;AL # CUNEIFORM SIGN BI TIMES GAR
-1204C;AL # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D;AL # CUNEIFORM SIGN BU
-1204E;AL # CUNEIFORM SIGN BU OVER BU AB
-1204F;AL # CUNEIFORM SIGN BU OVER BU UN
-12050;AL # CUNEIFORM SIGN BU CROSSING BU
-12051;AL # CUNEIFORM SIGN BULUG
-12052;AL # CUNEIFORM SIGN BULUG OVER BULUG
-12053;AL # CUNEIFORM SIGN BUR
-12054;AL # CUNEIFORM SIGN BUR2
-12055;AL # CUNEIFORM SIGN DA
-12056;AL # CUNEIFORM SIGN DAG
-12057;AL # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058;AL # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059;AL # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A;AL # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B;AL # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C;AL # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D;AL # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E;AL # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F;AL # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060;AL # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061;AL # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062;AL # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063;AL # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064;AL # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065;AL # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066;AL # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067;AL # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068;AL # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069;AL # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A;AL # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B;AL # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C;AL # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D;AL # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E;AL # CUNEIFORM SIGN DAM
-1206F;AL # CUNEIFORM SIGN DAR
-12070;AL # CUNEIFORM SIGN DARA3
-12071;AL # CUNEIFORM SIGN DARA4
-12072;AL # CUNEIFORM SIGN DI
-12073;AL # CUNEIFORM SIGN DIB
-12074;AL # CUNEIFORM SIGN DIM
-12075;AL # CUNEIFORM SIGN DIM TIMES SHE
-12076;AL # CUNEIFORM SIGN DIM2
-12077;AL # CUNEIFORM SIGN DIN
-12078;AL # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079;AL # CUNEIFORM SIGN DISH
-1207A;AL # CUNEIFORM SIGN DU
-1207B;AL # CUNEIFORM SIGN DU OVER DU
-1207C;AL # CUNEIFORM SIGN DU GUNU
-1207D;AL # CUNEIFORM SIGN DU SHESHIG
-1207E;AL # CUNEIFORM SIGN DUB
-1207F;AL # CUNEIFORM SIGN DUB TIMES ESH2
-12080;AL # CUNEIFORM SIGN DUB2
-12081;AL # CUNEIFORM SIGN DUG
-12082;AL # CUNEIFORM SIGN DUGUD
-12083;AL # CUNEIFORM SIGN DUH
-12084;AL # CUNEIFORM SIGN DUN
-12085;AL # CUNEIFORM SIGN DUN3
-12086;AL # CUNEIFORM SIGN DUN3 GUNU
-12087;AL # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088;AL # CUNEIFORM SIGN DUN4
-12089;AL # CUNEIFORM SIGN DUR2
-1208A;AL # CUNEIFORM SIGN E
-1208B;AL # CUNEIFORM SIGN E TIMES PAP
-1208C;AL # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D;AL # CUNEIFORM SIGN E2
-1208E;AL # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F;AL # CUNEIFORM SIGN E2 TIMES GAR
-12090;AL # CUNEIFORM SIGN E2 TIMES MI
-12091;AL # CUNEIFORM SIGN E2 TIMES SAL
-12092;AL # CUNEIFORM SIGN E2 TIMES SHE
-12093;AL # CUNEIFORM SIGN E2 TIMES U
-12094;AL # CUNEIFORM SIGN EDIN
-12095;AL # CUNEIFORM SIGN EGIR
-12096;AL # CUNEIFORM SIGN EL
-12097;AL # CUNEIFORM SIGN EN
-12098;AL # CUNEIFORM SIGN EN TIMES GAN2
-12099;AL # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A;AL # CUNEIFORM SIGN EN TIMES ME
-1209B;AL # CUNEIFORM SIGN EN CROSSING EN
-1209C;AL # CUNEIFORM SIGN EN OPPOSING EN
-1209D;AL # CUNEIFORM SIGN EN SQUARED
-1209E;AL # CUNEIFORM SIGN EREN
-1209F;AL # CUNEIFORM SIGN ERIN2
-120A0;AL # CUNEIFORM SIGN ESH2
-120A1;AL # CUNEIFORM SIGN EZEN
-120A2;AL # CUNEIFORM SIGN EZEN TIMES A
-120A3;AL # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4;AL # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5;AL # CUNEIFORM SIGN EZEN TIMES AN
-120A6;AL # CUNEIFORM SIGN EZEN TIMES BAD
-120A7;AL # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8;AL # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9;AL # CUNEIFORM SIGN EZEN TIMES HA
-120AA;AL # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB;AL # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC;AL # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD;AL # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE;AL # CUNEIFORM SIGN EZEN TIMES KU3
-120AF;AL # CUNEIFORM SIGN EZEN TIMES LA
-120B0;AL # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1;AL # CUNEIFORM SIGN EZEN TIMES LI
-120B2;AL # CUNEIFORM SIGN EZEN TIMES LU
-120B3;AL # CUNEIFORM SIGN EZEN TIMES U2
-120B4;AL # CUNEIFORM SIGN EZEN TIMES UD
-120B5;AL # CUNEIFORM SIGN GA
-120B6;AL # CUNEIFORM SIGN GA GUNU
-120B7;AL # CUNEIFORM SIGN GA2
-120B8;AL # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9;AL # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA;AL # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB;AL # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC;AL # CUNEIFORM SIGN GA2 TIMES AN
-120BD;AL # CUNEIFORM SIGN GA2 TIMES ASH
-120BE;AL # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF;AL # CUNEIFORM SIGN GA2 TIMES BAD
-120C0;AL # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1;AL # CUNEIFORM SIGN GA2 TIMES BUR
-120C2;AL # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3;AL # CUNEIFORM SIGN GA2 TIMES DA
-120C4;AL # CUNEIFORM SIGN GA2 TIMES DI
-120C5;AL # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6;AL # CUNEIFORM SIGN GA2 TIMES DUB
-120C7;AL # CUNEIFORM SIGN GA2 TIMES EL
-120C8;AL # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9;AL # CUNEIFORM SIGN GA2 TIMES EN
-120CA;AL # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB;AL # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC;AL # CUNEIFORM SIGN GA2 TIMES GAR
-120CD;AL # CUNEIFORM SIGN GA2 TIMES GI
-120CE;AL # CUNEIFORM SIGN GA2 TIMES GI4
-120CF;AL # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0;AL # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1;AL # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2;AL # CUNEIFORM SIGN GA2 TIMES HAL
-120D3;AL # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4;AL # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5;AL # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6;AL # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7;AL # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8;AL # CUNEIFORM SIGN GA2 TIMES KAK
-120D9;AL # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA;AL # CUNEIFORM SIGN GA2 TIMES KID
-120DB;AL # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC;AL # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD;AL # CUNEIFORM SIGN GA2 TIMES LA
-120DE;AL # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF;AL # CUNEIFORM SIGN GA2 TIMES MI
-120E0;AL # CUNEIFORM SIGN GA2 TIMES NUN
-120E1;AL # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2;AL # CUNEIFORM SIGN GA2 TIMES PA
-120E3;AL # CUNEIFORM SIGN GA2 TIMES SAL
-120E4;AL # CUNEIFORM SIGN GA2 TIMES SAR
-120E5;AL # CUNEIFORM SIGN GA2 TIMES SHE
-120E6;AL # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7;AL # CUNEIFORM SIGN GA2 TIMES SHID
-120E8;AL # CUNEIFORM SIGN GA2 TIMES SUM
-120E9;AL # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA;AL # CUNEIFORM SIGN GA2 TIMES U
-120EB;AL # CUNEIFORM SIGN GA2 TIMES UD
-120EC;AL # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED;AL # CUNEIFORM SIGN GA2 OVER GA2
-120EE;AL # CUNEIFORM SIGN GABA
-120EF;AL # CUNEIFORM SIGN GABA CROSSING GABA
-120F0;AL # CUNEIFORM SIGN GAD
-120F1;AL # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2;AL # CUNEIFORM SIGN GAL
-120F3;AL # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4;AL # CUNEIFORM SIGN GALAM
-120F5;AL # CUNEIFORM SIGN GAM
-120F6;AL # CUNEIFORM SIGN GAN
-120F7;AL # CUNEIFORM SIGN GAN2
-120F8;AL # CUNEIFORM SIGN GAN2 TENU
-120F9;AL # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA;AL # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB;AL # CUNEIFORM SIGN GAR
-120FC;AL # CUNEIFORM SIGN GAR3
-120FD;AL # CUNEIFORM SIGN GASHAN
-120FE;AL # CUNEIFORM SIGN GESHTIN
-120FF;AL # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100;AL # CUNEIFORM SIGN GI
-12101;AL # CUNEIFORM SIGN GI TIMES E
-12102;AL # CUNEIFORM SIGN GI TIMES U
-12103;AL # CUNEIFORM SIGN GI CROSSING GI
-12104;AL # CUNEIFORM SIGN GI4
-12105;AL # CUNEIFORM SIGN GI4 OVER GI4
-12106;AL # CUNEIFORM SIGN GI4 CROSSING GI4
-12107;AL # CUNEIFORM SIGN GIDIM
-12108;AL # CUNEIFORM SIGN GIR2
-12109;AL # CUNEIFORM SIGN GIR2 GUNU
-1210A;AL # CUNEIFORM SIGN GIR3
-1210B;AL # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C;AL # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D;AL # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E;AL # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F;AL # CUNEIFORM SIGN GIR3 TIMES PA
-12110;AL # CUNEIFORM SIGN GISAL
-12111;AL # CUNEIFORM SIGN GISH
-12112;AL # CUNEIFORM SIGN GISH CROSSING GISH
-12113;AL # CUNEIFORM SIGN GISH TIMES BAD
-12114;AL # CUNEIFORM SIGN GISH TIMES TAK4
-12115;AL # CUNEIFORM SIGN GISH TENU
-12116;AL # CUNEIFORM SIGN GU
-12117;AL # CUNEIFORM SIGN GU CROSSING GU
-12118;AL # CUNEIFORM SIGN GU2
-12119;AL # CUNEIFORM SIGN GU2 TIMES KAK
-1211A;AL # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B;AL # CUNEIFORM SIGN GU2 TIMES NUN
-1211C;AL # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D;AL # CUNEIFORM SIGN GU2 GUNU
-1211E;AL # CUNEIFORM SIGN GUD
-1211F;AL # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120;AL # CUNEIFORM SIGN GUD TIMES KUR
-12121;AL # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122;AL # CUNEIFORM SIGN GUL
-12123;AL # CUNEIFORM SIGN GUM
-12124;AL # CUNEIFORM SIGN GUM TIMES SHE
-12125;AL # CUNEIFORM SIGN GUR
-12126;AL # CUNEIFORM SIGN GUR7
-12127;AL # CUNEIFORM SIGN GURUN
-12128;AL # CUNEIFORM SIGN GURUSH
-12129;AL # CUNEIFORM SIGN HA
-1212A;AL # CUNEIFORM SIGN HA TENU
-1212B;AL # CUNEIFORM SIGN HA GUNU
-1212C;AL # CUNEIFORM SIGN HAL
-1212D;AL # CUNEIFORM SIGN HI
-1212E;AL # CUNEIFORM SIGN HI TIMES ASH
-1212F;AL # CUNEIFORM SIGN HI TIMES ASH2
-12130;AL # CUNEIFORM SIGN HI TIMES BAD
-12131;AL # CUNEIFORM SIGN HI TIMES DISH
-12132;AL # CUNEIFORM SIGN HI TIMES GAD
-12133;AL # CUNEIFORM SIGN HI TIMES KIN
-12134;AL # CUNEIFORM SIGN HI TIMES NUN
-12135;AL # CUNEIFORM SIGN HI TIMES SHE
-12136;AL # CUNEIFORM SIGN HI TIMES U
-12137;AL # CUNEIFORM SIGN HU
-12138;AL # CUNEIFORM SIGN HUB2
-12139;AL # CUNEIFORM SIGN HUB2 TIMES AN
-1213A;AL # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B;AL # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C;AL # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D;AL # CUNEIFORM SIGN HUB2 TIMES UD
-1213E;AL # CUNEIFORM SIGN HUL2
-1213F;AL # CUNEIFORM SIGN I
-12140;AL # CUNEIFORM SIGN I A
-12141;AL # CUNEIFORM SIGN IB
-12142;AL # CUNEIFORM SIGN IDIM
-12143;AL # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144;AL # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145;AL # CUNEIFORM SIGN IG
-12146;AL # CUNEIFORM SIGN IGI
-12147;AL # CUNEIFORM SIGN IGI DIB
-12148;AL # CUNEIFORM SIGN IGI RI
-12149;AL # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A;AL # CUNEIFORM SIGN IGI GUNU
-1214B;AL # CUNEIFORM SIGN IL
-1214C;AL # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D;AL # CUNEIFORM SIGN IL2
-1214E;AL # CUNEIFORM SIGN IM
-1214F;AL # CUNEIFORM SIGN IM TIMES TAK4
-12150;AL # CUNEIFORM SIGN IM CROSSING IM
-12151;AL # CUNEIFORM SIGN IM OPPOSING IM
-12152;AL # CUNEIFORM SIGN IM SQUARED
-12153;AL # CUNEIFORM SIGN IMIN
-12154;AL # CUNEIFORM SIGN IN
-12155;AL # CUNEIFORM SIGN IR
-12156;AL # CUNEIFORM SIGN ISH
-12157;AL # CUNEIFORM SIGN KA
-12158;AL # CUNEIFORM SIGN KA TIMES A
-12159;AL # CUNEIFORM SIGN KA TIMES AD
-1215A;AL # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B;AL # CUNEIFORM SIGN KA TIMES ASH2
-1215C;AL # CUNEIFORM SIGN KA TIMES BAD
-1215D;AL # CUNEIFORM SIGN KA TIMES BALAG
-1215E;AL # CUNEIFORM SIGN KA TIMES BAR
-1215F;AL # CUNEIFORM SIGN KA TIMES BI
-12160;AL # CUNEIFORM SIGN KA TIMES ERIN2
-12161;AL # CUNEIFORM SIGN KA TIMES ESH2
-12162;AL # CUNEIFORM SIGN KA TIMES GA
-12163;AL # CUNEIFORM SIGN KA TIMES GAL
-12164;AL # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165;AL # CUNEIFORM SIGN KA TIMES GAR
-12166;AL # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167;AL # CUNEIFORM SIGN KA TIMES GI
-12168;AL # CUNEIFORM SIGN KA TIMES GIR2
-12169;AL # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A;AL # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B;AL # CUNEIFORM SIGN KA TIMES GU
-1216C;AL # CUNEIFORM SIGN KA TIMES GUR7
-1216D;AL # CUNEIFORM SIGN KA TIMES IGI
-1216E;AL # CUNEIFORM SIGN KA TIMES IM
-1216F;AL # CUNEIFORM SIGN KA TIMES KAK
-12170;AL # CUNEIFORM SIGN KA TIMES KI
-12171;AL # CUNEIFORM SIGN KA TIMES KID
-12172;AL # CUNEIFORM SIGN KA TIMES LI
-12173;AL # CUNEIFORM SIGN KA TIMES LU
-12174;AL # CUNEIFORM SIGN KA TIMES ME
-12175;AL # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176;AL # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177;AL # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178;AL # CUNEIFORM SIGN KA TIMES MI
-12179;AL # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A;AL # CUNEIFORM SIGN KA TIMES NE
-1217B;AL # CUNEIFORM SIGN KA TIMES NUN
-1217C;AL # CUNEIFORM SIGN KA TIMES PI
-1217D;AL # CUNEIFORM SIGN KA TIMES RU
-1217E;AL # CUNEIFORM SIGN KA TIMES SA
-1217F;AL # CUNEIFORM SIGN KA TIMES SAR
-12180;AL # CUNEIFORM SIGN KA TIMES SHA
-12181;AL # CUNEIFORM SIGN KA TIMES SHE
-12182;AL # CUNEIFORM SIGN KA TIMES SHID
-12183;AL # CUNEIFORM SIGN KA TIMES SHU
-12184;AL # CUNEIFORM SIGN KA TIMES SIG
-12185;AL # CUNEIFORM SIGN KA TIMES SUHUR
-12186;AL # CUNEIFORM SIGN KA TIMES TAR
-12187;AL # CUNEIFORM SIGN KA TIMES U
-12188;AL # CUNEIFORM SIGN KA TIMES U2
-12189;AL # CUNEIFORM SIGN KA TIMES UD
-1218A;AL # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B;AL # CUNEIFORM SIGN KA TIMES USH
-1218C;AL # CUNEIFORM SIGN KA TIMES ZI
-1218D;AL # CUNEIFORM SIGN KA2
-1218E;AL # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F;AL # CUNEIFORM SIGN KAB
-12190;AL # CUNEIFORM SIGN KAD2
-12191;AL # CUNEIFORM SIGN KAD3
-12192;AL # CUNEIFORM SIGN KAD4
-12193;AL # CUNEIFORM SIGN KAD5
-12194;AL # CUNEIFORM SIGN KAD5 OVER KAD5
-12195;AL # CUNEIFORM SIGN KAK
-12196;AL # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197;AL # CUNEIFORM SIGN KAL
-12198;AL # CUNEIFORM SIGN KAL TIMES BAD
-12199;AL # CUNEIFORM SIGN KAL CROSSING KAL
-1219A;AL # CUNEIFORM SIGN KAM2
-1219B;AL # CUNEIFORM SIGN KAM4
-1219C;AL # CUNEIFORM SIGN KASKAL
-1219D;AL # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E;AL # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F;AL # CUNEIFORM SIGN KESH2
-121A0;AL # CUNEIFORM SIGN KI
-121A1;AL # CUNEIFORM SIGN KI TIMES BAD
-121A2;AL # CUNEIFORM SIGN KI TIMES U
-121A3;AL # CUNEIFORM SIGN KI TIMES UD
-121A4;AL # CUNEIFORM SIGN KID
-121A5;AL # CUNEIFORM SIGN KIN
-121A6;AL # CUNEIFORM SIGN KISAL
-121A7;AL # CUNEIFORM SIGN KISH
-121A8;AL # CUNEIFORM SIGN KISIM5
-121A9;AL # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA;AL # CUNEIFORM SIGN KU
-121AB;AL # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC;AL # CUNEIFORM SIGN KU3
-121AD;AL # CUNEIFORM SIGN KU4
-121AE;AL # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF;AL # CUNEIFORM SIGN KU7
-121B0;AL # CUNEIFORM SIGN KUL
-121B1;AL # CUNEIFORM SIGN KUL GUNU
-121B2;AL # CUNEIFORM SIGN KUN
-121B3;AL # CUNEIFORM SIGN KUR
-121B4;AL # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5;AL # CUNEIFORM SIGN KUSHU2
-121B6;AL # CUNEIFORM SIGN KWU318
-121B7;AL # CUNEIFORM SIGN LA
-121B8;AL # CUNEIFORM SIGN LAGAB
-121B9;AL # CUNEIFORM SIGN LAGAB TIMES A
-121BA;AL # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB;AL # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC;AL # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD;AL # CUNEIFORM SIGN LAGAB TIMES AL
-121BE;AL # CUNEIFORM SIGN LAGAB TIMES AN
-121BF;AL # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0;AL # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1;AL # CUNEIFORM SIGN LAGAB TIMES BI
-121C2;AL # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3;AL # CUNEIFORM SIGN LAGAB TIMES EN
-121C4;AL # CUNEIFORM SIGN LAGAB TIMES GA
-121C5;AL # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6;AL # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7;AL # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8;AL # CUNEIFORM SIGN LAGAB TIMES HA
-121C9;AL # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA;AL # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB;AL # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC;AL # CUNEIFORM SIGN LAGAB TIMES IM
-121CD;AL # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE;AL # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF;AL # CUNEIFORM SIGN LAGAB TIMES KI
-121D0;AL # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1;AL # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2;AL # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3;AL # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4;AL # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5;AL # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6;AL # CUNEIFORM SIGN LAGAB TIMES LU
-121D7;AL # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8;AL # CUNEIFORM SIGN LAGAB TIMES ME
-121D9;AL # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA;AL # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB;AL # CUNEIFORM SIGN LAGAB TIMES NE
-121DC;AL # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD;AL # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE;AL # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF;AL # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0;AL # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1;AL # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2;AL # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3;AL # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4;AL # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5;AL # CUNEIFORM SIGN LAGAB TIMES U
-121E6;AL # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7;AL # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8;AL # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9;AL # CUNEIFORM SIGN LAGAB TIMES UD
-121EA;AL # CUNEIFORM SIGN LAGAB TIMES USH
-121EB;AL # CUNEIFORM SIGN LAGAB SQUARED
-121EC;AL # CUNEIFORM SIGN LAGAR
-121ED;AL # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE;AL # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF;AL # CUNEIFORM SIGN LAGAR GUNU
-121F0;AL # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1;AL # CUNEIFORM SIGN LAHSHU
-121F2;AL # CUNEIFORM SIGN LAL
-121F3;AL # CUNEIFORM SIGN LAL TIMES LAL
-121F4;AL # CUNEIFORM SIGN LAM
-121F5;AL # CUNEIFORM SIGN LAM TIMES KUR
-121F6;AL # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7;AL # CUNEIFORM SIGN LI
-121F8;AL # CUNEIFORM SIGN LIL
-121F9;AL # CUNEIFORM SIGN LIMMU2
-121FA;AL # CUNEIFORM SIGN LISH
-121FB;AL # CUNEIFORM SIGN LU
-121FC;AL # CUNEIFORM SIGN LU TIMES BAD
-121FD;AL # CUNEIFORM SIGN LU2
-121FE;AL # CUNEIFORM SIGN LU2 TIMES AL
-121FF;AL # CUNEIFORM SIGN LU2 TIMES BAD
-12200;AL # CUNEIFORM SIGN LU2 TIMES ESH2
-12201;AL # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202;AL # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203;AL # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204;AL # CUNEIFORM SIGN LU2 TIMES IM
-12205;AL # CUNEIFORM SIGN LU2 TIMES KAD2
-12206;AL # CUNEIFORM SIGN LU2 TIMES KAD3
-12207;AL # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208;AL # CUNEIFORM SIGN LU2 TIMES KI
-12209;AL # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A;AL # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B;AL # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C;AL # CUNEIFORM SIGN LU2 TIMES NE
-1220D;AL # CUNEIFORM SIGN LU2 TIMES NU
-1220E;AL # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F;AL # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210;AL # CUNEIFORM SIGN LU2 TIMES TUG2
-12211;AL # CUNEIFORM SIGN LU2 TENU
-12212;AL # CUNEIFORM SIGN LU2 CROSSING LU2
-12213;AL # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214;AL # CUNEIFORM SIGN LU2 SQUARED
-12215;AL # CUNEIFORM SIGN LU2 SHESHIG
-12216;AL # CUNEIFORM SIGN LU3
-12217;AL # CUNEIFORM SIGN LUGAL
-12218;AL # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219;AL # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A;AL # CUNEIFORM SIGN LUGAL SHESHIG
-1221B;AL # CUNEIFORM SIGN LUH
-1221C;AL # CUNEIFORM SIGN LUL
-1221D;AL # CUNEIFORM SIGN LUM
-1221E;AL # CUNEIFORM SIGN LUM OVER LUM
-1221F;AL # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220;AL # CUNEIFORM SIGN MA
-12221;AL # CUNEIFORM SIGN MA TIMES TAK4
-12222;AL # CUNEIFORM SIGN MA GUNU
-12223;AL # CUNEIFORM SIGN MA2
-12224;AL # CUNEIFORM SIGN MAH
-12225;AL # CUNEIFORM SIGN MAR
-12226;AL # CUNEIFORM SIGN MASH
-12227;AL # CUNEIFORM SIGN MASH2
-12228;AL # CUNEIFORM SIGN ME
-12229;AL # CUNEIFORM SIGN MES
-1222A;AL # CUNEIFORM SIGN MI
-1222B;AL # CUNEIFORM SIGN MIN
-1222C;AL # CUNEIFORM SIGN MU
-1222D;AL # CUNEIFORM SIGN MU OVER MU
-1222E;AL # CUNEIFORM SIGN MUG
-1222F;AL # CUNEIFORM SIGN MUG GUNU
-12230;AL # CUNEIFORM SIGN MUNSUB
-12231;AL # CUNEIFORM SIGN MURGU2
-12232;AL # CUNEIFORM SIGN MUSH
-12233;AL # CUNEIFORM SIGN MUSH TIMES A
-12234;AL # CUNEIFORM SIGN MUSH TIMES KUR
-12235;AL # CUNEIFORM SIGN MUSH TIMES ZA
-12236;AL # CUNEIFORM SIGN MUSH OVER MUSH
-12237;AL # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238;AL # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239;AL # CUNEIFORM SIGN MUSH3
-1223A;AL # CUNEIFORM SIGN MUSH3 TIMES A
-1223B;AL # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C;AL # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D;AL # CUNEIFORM SIGN MUSH3 GUNU
-1223E;AL # CUNEIFORM SIGN NA
-1223F;AL # CUNEIFORM SIGN NA2
-12240;AL # CUNEIFORM SIGN NAGA
-12241;AL # CUNEIFORM SIGN NAGA INVERTED
-12242;AL # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243;AL # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244;AL # CUNEIFORM SIGN NAGAR
-12245;AL # CUNEIFORM SIGN NAM NUTILLU
-12246;AL # CUNEIFORM SIGN NAM
-12247;AL # CUNEIFORM SIGN NAM2
-12248;AL # CUNEIFORM SIGN NE
-12249;AL # CUNEIFORM SIGN NE TIMES A
-1224A;AL # CUNEIFORM SIGN NE TIMES UD
-1224B;AL # CUNEIFORM SIGN NE SHESHIG
-1224C;AL # CUNEIFORM SIGN NI
-1224D;AL # CUNEIFORM SIGN NI TIMES E
-1224E;AL # CUNEIFORM SIGN NI2
-1224F;AL # CUNEIFORM SIGN NIM
-12250;AL # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251;AL # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252;AL # CUNEIFORM SIGN NINDA2
-12253;AL # CUNEIFORM SIGN NINDA2 TIMES AN
-12254;AL # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255;AL # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256;AL # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257;AL # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258;AL # CUNEIFORM SIGN NINDA2 TIMES NE
-12259;AL # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A;AL # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B;AL # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C;AL # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D;AL # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E;AL # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F;AL # CUNEIFORM SIGN NINDA2 TIMES USH
-12260;AL # CUNEIFORM SIGN NISAG
-12261;AL # CUNEIFORM SIGN NU
-12262;AL # CUNEIFORM SIGN NU11
-12263;AL # CUNEIFORM SIGN NUN
-12264;AL # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265;AL # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266;AL # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267;AL # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268;AL # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269;AL # CUNEIFORM SIGN NUN TENU
-1226A;AL # CUNEIFORM SIGN NUN OVER NUN
-1226B;AL # CUNEIFORM SIGN NUN CROSSING NUN
-1226C;AL # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D;AL # CUNEIFORM SIGN NUNUZ
-1226E;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277;AL # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278;AL # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279;AL # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A;AL # CUNEIFORM SIGN PA
-1227B;AL # CUNEIFORM SIGN PAD
-1227C;AL # CUNEIFORM SIGN PAN
-1227D;AL # CUNEIFORM SIGN PAP
-1227E;AL # CUNEIFORM SIGN PESH2
-1227F;AL # CUNEIFORM SIGN PI
-12280;AL # CUNEIFORM SIGN PI TIMES A
-12281;AL # CUNEIFORM SIGN PI TIMES AB
-12282;AL # CUNEIFORM SIGN PI TIMES BI
-12283;AL # CUNEIFORM SIGN PI TIMES BU
-12284;AL # CUNEIFORM SIGN PI TIMES E
-12285;AL # CUNEIFORM SIGN PI TIMES I
-12286;AL # CUNEIFORM SIGN PI TIMES IB
-12287;AL # CUNEIFORM SIGN PI TIMES U
-12288;AL # CUNEIFORM SIGN PI TIMES U2
-12289;AL # CUNEIFORM SIGN PI CROSSING PI
-1228A;AL # CUNEIFORM SIGN PIRIG
-1228B;AL # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C;AL # CUNEIFORM SIGN PIRIG TIMES UD
-1228D;AL # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E;AL # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F;AL # CUNEIFORM SIGN RA
-12290;AL # CUNEIFORM SIGN RAB
-12291;AL # CUNEIFORM SIGN RI
-12292;AL # CUNEIFORM SIGN RU
-12293;AL # CUNEIFORM SIGN SA
-12294;AL # CUNEIFORM SIGN SAG NUTILLU
-12295;AL # CUNEIFORM SIGN SAG
-12296;AL # CUNEIFORM SIGN SAG TIMES A
-12297;AL # CUNEIFORM SIGN SAG TIMES DU
-12298;AL # CUNEIFORM SIGN SAG TIMES DUB
-12299;AL # CUNEIFORM SIGN SAG TIMES HA
-1229A;AL # CUNEIFORM SIGN SAG TIMES KAK
-1229B;AL # CUNEIFORM SIGN SAG TIMES KUR
-1229C;AL # CUNEIFORM SIGN SAG TIMES LUM
-1229D;AL # CUNEIFORM SIGN SAG TIMES MI
-1229E;AL # CUNEIFORM SIGN SAG TIMES NUN
-1229F;AL # CUNEIFORM SIGN SAG TIMES SAL
-122A0;AL # CUNEIFORM SIGN SAG TIMES SHID
-122A1;AL # CUNEIFORM SIGN SAG TIMES TAB
-122A2;AL # CUNEIFORM SIGN SAG TIMES U2
-122A3;AL # CUNEIFORM SIGN SAG TIMES UB
-122A4;AL # CUNEIFORM SIGN SAG TIMES UM
-122A5;AL # CUNEIFORM SIGN SAG TIMES UR
-122A6;AL # CUNEIFORM SIGN SAG TIMES USH
-122A7;AL # CUNEIFORM SIGN SAG OVER SAG
-122A8;AL # CUNEIFORM SIGN SAG GUNU
-122A9;AL # CUNEIFORM SIGN SAL
-122AA;AL # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB;AL # CUNEIFORM SIGN SANGA2
-122AC;AL # CUNEIFORM SIGN SAR
-122AD;AL # CUNEIFORM SIGN SHA
-122AE;AL # CUNEIFORM SIGN SHA3
-122AF;AL # CUNEIFORM SIGN SHA3 TIMES A
-122B0;AL # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1;AL # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2;AL # CUNEIFORM SIGN SHA3 TIMES NE
-122B3;AL # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4;AL # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5;AL # CUNEIFORM SIGN SHA3 TIMES U
-122B6;AL # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7;AL # CUNEIFORM SIGN SHA6
-122B8;AL # CUNEIFORM SIGN SHAB6
-122B9;AL # CUNEIFORM SIGN SHAR2
-122BA;AL # CUNEIFORM SIGN SHE
-122BB;AL # CUNEIFORM SIGN SHE HU
-122BC;AL # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD;AL # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE;AL # CUNEIFORM SIGN SHEG9
-122BF;AL # CUNEIFORM SIGN SHEN
-122C0;AL # CUNEIFORM SIGN SHESH
-122C1;AL # CUNEIFORM SIGN SHESH2
-122C2;AL # CUNEIFORM SIGN SHESHLAM
-122C3;AL # CUNEIFORM SIGN SHID
-122C4;AL # CUNEIFORM SIGN SHID TIMES A
-122C5;AL # CUNEIFORM SIGN SHID TIMES IM
-122C6;AL # CUNEIFORM SIGN SHIM
-122C7;AL # CUNEIFORM SIGN SHIM TIMES A
-122C8;AL # CUNEIFORM SIGN SHIM TIMES BAL
-122C9;AL # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA;AL # CUNEIFORM SIGN SHIM TIMES DIN
-122CB;AL # CUNEIFORM SIGN SHIM TIMES GAR
-122CC;AL # CUNEIFORM SIGN SHIM TIMES IGI
-122CD;AL # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE;AL # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF;AL # CUNEIFORM SIGN SHIM TIMES LUL
-122D0;AL # CUNEIFORM SIGN SHIM TIMES MUG
-122D1;AL # CUNEIFORM SIGN SHIM TIMES SAL
-122D2;AL # CUNEIFORM SIGN SHINIG
-122D3;AL # CUNEIFORM SIGN SHIR
-122D4;AL # CUNEIFORM SIGN SHIR TENU
-122D5;AL # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6;AL # CUNEIFORM SIGN SHITA
-122D7;AL # CUNEIFORM SIGN SHU
-122D8;AL # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9;AL # CUNEIFORM SIGN SHU2
-122DA;AL # CUNEIFORM SIGN SHUBUR
-122DB;AL # CUNEIFORM SIGN SI
-122DC;AL # CUNEIFORM SIGN SI GUNU
-122DD;AL # CUNEIFORM SIGN SIG
-122DE;AL # CUNEIFORM SIGN SIG4
-122DF;AL # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0;AL # CUNEIFORM SIGN SIK2
-122E1;AL # CUNEIFORM SIGN SILA3
-122E2;AL # CUNEIFORM SIGN SU
-122E3;AL # CUNEIFORM SIGN SU OVER SU
-122E4;AL # CUNEIFORM SIGN SUD
-122E5;AL # CUNEIFORM SIGN SUD2
-122E6;AL # CUNEIFORM SIGN SUHUR
-122E7;AL # CUNEIFORM SIGN SUM
-122E8;AL # CUNEIFORM SIGN SUMASH
-122E9;AL # CUNEIFORM SIGN SUR
-122EA;AL # CUNEIFORM SIGN SUR9
-122EB;AL # CUNEIFORM SIGN TA
-122EC;AL # CUNEIFORM SIGN TA ASTERISK
-122ED;AL # CUNEIFORM SIGN TA TIMES HI
-122EE;AL # CUNEIFORM SIGN TA TIMES MI
-122EF;AL # CUNEIFORM SIGN TA GUNU
-122F0;AL # CUNEIFORM SIGN TAB
-122F1;AL # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2;AL # CUNEIFORM SIGN TAB SQUARED
-122F3;AL # CUNEIFORM SIGN TAG
-122F4;AL # CUNEIFORM SIGN TAG TIMES BI
-122F5;AL # CUNEIFORM SIGN TAG TIMES GUD
-122F6;AL # CUNEIFORM SIGN TAG TIMES SHE
-122F7;AL # CUNEIFORM SIGN TAG TIMES SHU
-122F8;AL # CUNEIFORM SIGN TAG TIMES TUG2
-122F9;AL # CUNEIFORM SIGN TAG TIMES UD
-122FA;AL # CUNEIFORM SIGN TAK4
-122FB;AL # CUNEIFORM SIGN TAR
-122FC;AL # CUNEIFORM SIGN TE
-122FD;AL # CUNEIFORM SIGN TE GUNU
-122FE;AL # CUNEIFORM SIGN TI
-122FF;AL # CUNEIFORM SIGN TI TENU
-12300;AL # CUNEIFORM SIGN TIL
-12301;AL # CUNEIFORM SIGN TIR
-12302;AL # CUNEIFORM SIGN TIR TIMES TAK4
-12303;AL # CUNEIFORM SIGN TIR OVER TIR
-12304;AL # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305;AL # CUNEIFORM SIGN TU
-12306;AL # CUNEIFORM SIGN TUG2
-12307;AL # CUNEIFORM SIGN TUK
-12308;AL # CUNEIFORM SIGN TUM
-12309;AL # CUNEIFORM SIGN TUR
-1230A;AL # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B;AL # CUNEIFORM SIGN U
-1230C;AL # CUNEIFORM SIGN U GUD
-1230D;AL # CUNEIFORM SIGN U U U
-1230E;AL # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F;AL # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310;AL # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311;AL # CUNEIFORM SIGN U2
-12312;AL # CUNEIFORM SIGN UB
-12313;AL # CUNEIFORM SIGN UD
-12314;AL # CUNEIFORM SIGN UD KUSHU2
-12315;AL # CUNEIFORM SIGN UD TIMES BAD
-12316;AL # CUNEIFORM SIGN UD TIMES MI
-12317;AL # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318;AL # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319;AL # CUNEIFORM SIGN UD GUNU
-1231A;AL # CUNEIFORM SIGN UD SHESHIG
-1231B;AL # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C;AL # CUNEIFORM SIGN UDUG
-1231D;AL # CUNEIFORM SIGN UM
-1231E;AL # CUNEIFORM SIGN UM TIMES LAGAB
-1231F;AL # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320;AL # CUNEIFORM SIGN UM TIMES SHA3
-12321;AL # CUNEIFORM SIGN UM TIMES U
-12322;AL # CUNEIFORM SIGN UMBIN
-12323;AL # CUNEIFORM SIGN UMUM
-12324;AL # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325;AL # CUNEIFORM SIGN UMUM TIMES PA
-12326;AL # CUNEIFORM SIGN UN
-12327;AL # CUNEIFORM SIGN UN GUNU
-12328;AL # CUNEIFORM SIGN UR
-12329;AL # CUNEIFORM SIGN UR CROSSING UR
-1232A;AL # CUNEIFORM SIGN UR SHESHIG
-1232B;AL # CUNEIFORM SIGN UR2
-1232C;AL # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D;AL # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E;AL # CUNEIFORM SIGN UR2 TIMES AL
-1232F;AL # CUNEIFORM SIGN UR2 TIMES HA
-12330;AL # CUNEIFORM SIGN UR2 TIMES NUN
-12331;AL # CUNEIFORM SIGN UR2 TIMES U2
-12332;AL # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333;AL # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334;AL # CUNEIFORM SIGN UR4
-12335;AL # CUNEIFORM SIGN URI
-12336;AL # CUNEIFORM SIGN URI3
-12337;AL # CUNEIFORM SIGN URU
-12338;AL # CUNEIFORM SIGN URU TIMES A
-12339;AL # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A;AL # CUNEIFORM SIGN URU TIMES BAR
-1233B;AL # CUNEIFORM SIGN URU TIMES DUN
-1233C;AL # CUNEIFORM SIGN URU TIMES GA
-1233D;AL # CUNEIFORM SIGN URU TIMES GAL
-1233E;AL # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F;AL # CUNEIFORM SIGN URU TIMES GAR
-12340;AL # CUNEIFORM SIGN URU TIMES GU
-12341;AL # CUNEIFORM SIGN URU TIMES HA
-12342;AL # CUNEIFORM SIGN URU TIMES IGI
-12343;AL # CUNEIFORM SIGN URU TIMES IM
-12344;AL # CUNEIFORM SIGN URU TIMES ISH
-12345;AL # CUNEIFORM SIGN URU TIMES KI
-12346;AL # CUNEIFORM SIGN URU TIMES LUM
-12347;AL # CUNEIFORM SIGN URU TIMES MIN
-12348;AL # CUNEIFORM SIGN URU TIMES PA
-12349;AL # CUNEIFORM SIGN URU TIMES SHE
-1234A;AL # CUNEIFORM SIGN URU TIMES SIG4
-1234B;AL # CUNEIFORM SIGN URU TIMES TU
-1234C;AL # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D;AL # CUNEIFORM SIGN URU TIMES UD
-1234E;AL # CUNEIFORM SIGN URU TIMES URUDA
-1234F;AL # CUNEIFORM SIGN URUDA
-12350;AL # CUNEIFORM SIGN URUDA TIMES U
-12351;AL # CUNEIFORM SIGN USH
-12352;AL # CUNEIFORM SIGN USH TIMES A
-12353;AL # CUNEIFORM SIGN USH TIMES KU
-12354;AL # CUNEIFORM SIGN USH TIMES KUR
-12355;AL # CUNEIFORM SIGN USH TIMES TAK4
-12356;AL # CUNEIFORM SIGN USHX
-12357;AL # CUNEIFORM SIGN USH2
-12358;AL # CUNEIFORM SIGN USHUMX
-12359;AL # CUNEIFORM SIGN UTUKI
-1235A;AL # CUNEIFORM SIGN UZ3
-1235B;AL # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C;AL # CUNEIFORM SIGN UZU
-1235D;AL # CUNEIFORM SIGN ZA
-1235E;AL # CUNEIFORM SIGN ZA TENU
-1235F;AL # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360;AL # CUNEIFORM SIGN ZAG
-12361;AL # CUNEIFORM SIGN ZAMX
-12362;AL # CUNEIFORM SIGN ZE2
-12363;AL # CUNEIFORM SIGN ZI
-12364;AL # CUNEIFORM SIGN ZI OVER ZI
-12365;AL # CUNEIFORM SIGN ZI3
-12366;AL # CUNEIFORM SIGN ZIB
-12367;AL # CUNEIFORM SIGN ZIB KABA TENU
-12368;AL # CUNEIFORM SIGN ZIG
-12369;AL # CUNEIFORM SIGN ZIZ2
-1236A;AL # CUNEIFORM SIGN ZU
-1236B;AL # CUNEIFORM SIGN ZU5
-1236C;AL # CUNEIFORM SIGN ZU5 TIMES A
-1236D;AL # CUNEIFORM SIGN ZUBUR
-1236E;AL # CUNEIFORM SIGN ZUM
-12400;AL # CUNEIFORM NUMERIC SIGN TWO ASH
-12401;AL # CUNEIFORM NUMERIC SIGN THREE ASH
-12402;AL # CUNEIFORM NUMERIC SIGN FOUR ASH
-12403;AL # CUNEIFORM NUMERIC SIGN FIVE ASH
-12404;AL # CUNEIFORM NUMERIC SIGN SIX ASH
-12405;AL # CUNEIFORM NUMERIC SIGN SEVEN ASH
-12406;AL # CUNEIFORM NUMERIC SIGN EIGHT ASH
-12407;AL # CUNEIFORM NUMERIC SIGN NINE ASH
-12408;AL # CUNEIFORM NUMERIC SIGN THREE DISH
-12409;AL # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240A;AL # CUNEIFORM NUMERIC SIGN FIVE DISH
-1240B;AL # CUNEIFORM NUMERIC SIGN SIX DISH
-1240C;AL # CUNEIFORM NUMERIC SIGN SEVEN DISH
-1240D;AL # CUNEIFORM NUMERIC SIGN EIGHT DISH
-1240E;AL # CUNEIFORM NUMERIC SIGN NINE DISH
-1240F;AL # CUNEIFORM NUMERIC SIGN FOUR U
-12410;AL # CUNEIFORM NUMERIC SIGN FIVE U
-12411;AL # CUNEIFORM NUMERIC SIGN SIX U
-12412;AL # CUNEIFORM NUMERIC SIGN SEVEN U
-12413;AL # CUNEIFORM NUMERIC SIGN EIGHT U
-12414;AL # CUNEIFORM NUMERIC SIGN NINE U
-12415;AL # CUNEIFORM NUMERIC SIGN ONE GESH2
-12416;AL # CUNEIFORM NUMERIC SIGN TWO GESH2
-12417;AL # CUNEIFORM NUMERIC SIGN THREE GESH2
-12418;AL # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12419;AL # CUNEIFORM NUMERIC SIGN FIVE GESH2
-1241A;AL # CUNEIFORM NUMERIC SIGN SIX GESH2
-1241B;AL # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-1241C;AL # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1241D;AL # CUNEIFORM NUMERIC SIGN NINE GESH2
-1241E;AL # CUNEIFORM NUMERIC SIGN ONE GESHU
-1241F;AL # CUNEIFORM NUMERIC SIGN TWO GESHU
-12420;AL # CUNEIFORM NUMERIC SIGN THREE GESHU
-12421;AL # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12422;AL # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12423;AL # CUNEIFORM NUMERIC SIGN TWO SHAR2
-12424;AL # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425;AL # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-12426;AL # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12427;AL # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12428;AL # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12429;AL # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-1242A;AL # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-1242B;AL # CUNEIFORM NUMERIC SIGN NINE SHAR2
-1242C;AL # CUNEIFORM NUMERIC SIGN ONE SHARU
-1242D;AL # CUNEIFORM NUMERIC SIGN TWO SHARU
-1242E;AL # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F;AL # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12430;AL # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12431;AL # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12432;AL # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433;AL # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12434;AL # CUNEIFORM NUMERIC SIGN ONE BURU
-12435;AL # CUNEIFORM NUMERIC SIGN TWO BURU
-12436;AL # CUNEIFORM NUMERIC SIGN THREE BURU
-12437;AL # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-12438;AL # CUNEIFORM NUMERIC SIGN FOUR BURU
-12439;AL # CUNEIFORM NUMERIC SIGN FIVE BURU
-1243A;AL # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B;AL # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1243C;AL # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D;AL # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E;AL # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F;AL # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-12440;AL # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-12441;AL # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442;AL # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443;AL # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-12444;AL # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445;AL # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-12446;AL # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447;AL # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448;AL # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449;AL # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1244A;AL # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-1244B;AL # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-1244C;AL # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-1244D;AL # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-1244E;AL # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1244F;AL # CUNEIFORM NUMERIC SIGN ONE BAN2
-12450;AL # CUNEIFORM NUMERIC SIGN TWO BAN2
-12451;AL # CUNEIFORM NUMERIC SIGN THREE BAN2
-12452;AL # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453;AL # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-12454;AL # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455;AL # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-12456;AL # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457;AL # CUNEIFORM NUMERIC SIGN NIGIDAESH
-12458;AL # CUNEIFORM NUMERIC SIGN ONE ESHE3
-12459;AL # CUNEIFORM NUMERIC SIGN TWO ESHE3
-1245A;AL # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B;AL # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C;AL # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D;AL # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E;AL # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F;AL # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460;AL # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461;AL # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462;AL # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470;BA # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471;BA # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472;BA # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473;BA # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000;AL # EGYPTIAN HIEROGLYPH A001
-13001;AL # EGYPTIAN HIEROGLYPH A002
-13002;AL # EGYPTIAN HIEROGLYPH A003
-13003;AL # EGYPTIAN HIEROGLYPH A004
-13004;AL # EGYPTIAN HIEROGLYPH A005
-13005;AL # EGYPTIAN HIEROGLYPH A005A
-13006;AL # EGYPTIAN HIEROGLYPH A006
-13007;AL # EGYPTIAN HIEROGLYPH A006A
-13008;AL # EGYPTIAN HIEROGLYPH A006B
-13009;AL # EGYPTIAN HIEROGLYPH A007
-1300A;AL # EGYPTIAN HIEROGLYPH A008
-1300B;AL # EGYPTIAN HIEROGLYPH A009
-1300C;AL # EGYPTIAN HIEROGLYPH A010
-1300D;AL # EGYPTIAN HIEROGLYPH A011
-1300E;AL # EGYPTIAN HIEROGLYPH A012
-1300F;AL # EGYPTIAN HIEROGLYPH A013
-13010;AL # EGYPTIAN HIEROGLYPH A014
-13011;AL # EGYPTIAN HIEROGLYPH A014A
-13012;AL # EGYPTIAN HIEROGLYPH A015
-13013;AL # EGYPTIAN HIEROGLYPH A016
-13014;AL # EGYPTIAN HIEROGLYPH A017
-13015;AL # EGYPTIAN HIEROGLYPH A017A
-13016;AL # EGYPTIAN HIEROGLYPH A018
-13017;AL # EGYPTIAN HIEROGLYPH A019
-13018;AL # EGYPTIAN HIEROGLYPH A020
-13019;AL # EGYPTIAN HIEROGLYPH A021
-1301A;AL # EGYPTIAN HIEROGLYPH A022
-1301B;AL # EGYPTIAN HIEROGLYPH A023
-1301C;AL # EGYPTIAN HIEROGLYPH A024
-1301D;AL # EGYPTIAN HIEROGLYPH A025
-1301E;AL # EGYPTIAN HIEROGLYPH A026
-1301F;AL # EGYPTIAN HIEROGLYPH A027
-13020;AL # EGYPTIAN HIEROGLYPH A028
-13021;AL # EGYPTIAN HIEROGLYPH A029
-13022;AL # EGYPTIAN HIEROGLYPH A030
-13023;AL # EGYPTIAN HIEROGLYPH A031
-13024;AL # EGYPTIAN HIEROGLYPH A032
-13025;AL # EGYPTIAN HIEROGLYPH A032A
-13026;AL # EGYPTIAN HIEROGLYPH A033
-13027;AL # EGYPTIAN HIEROGLYPH A034
-13028;AL # EGYPTIAN HIEROGLYPH A035
-13029;AL # EGYPTIAN HIEROGLYPH A036
-1302A;AL # EGYPTIAN HIEROGLYPH A037
-1302B;AL # EGYPTIAN HIEROGLYPH A038
-1302C;AL # EGYPTIAN HIEROGLYPH A039
-1302D;AL # EGYPTIAN HIEROGLYPH A040
-1302E;AL # EGYPTIAN HIEROGLYPH A040A
-1302F;AL # EGYPTIAN HIEROGLYPH A041
-13030;AL # EGYPTIAN HIEROGLYPH A042
-13031;AL # EGYPTIAN HIEROGLYPH A042A
-13032;AL # EGYPTIAN HIEROGLYPH A043
-13033;AL # EGYPTIAN HIEROGLYPH A043A
-13034;AL # EGYPTIAN HIEROGLYPH A044
-13035;AL # EGYPTIAN HIEROGLYPH A045
-13036;AL # EGYPTIAN HIEROGLYPH A045A
-13037;AL # EGYPTIAN HIEROGLYPH A046
-13038;AL # EGYPTIAN HIEROGLYPH A047
-13039;AL # EGYPTIAN HIEROGLYPH A048
-1303A;AL # EGYPTIAN HIEROGLYPH A049
-1303B;AL # EGYPTIAN HIEROGLYPH A050
-1303C;AL # EGYPTIAN HIEROGLYPH A051
-1303D;AL # EGYPTIAN HIEROGLYPH A052
-1303E;AL # EGYPTIAN HIEROGLYPH A053
-1303F;AL # EGYPTIAN HIEROGLYPH A054
-13040;AL # EGYPTIAN HIEROGLYPH A055
-13041;AL # EGYPTIAN HIEROGLYPH A056
-13042;AL # EGYPTIAN HIEROGLYPH A057
-13043;AL # EGYPTIAN HIEROGLYPH A058
-13044;AL # EGYPTIAN HIEROGLYPH A059
-13045;AL # EGYPTIAN HIEROGLYPH A060
-13046;AL # EGYPTIAN HIEROGLYPH A061
-13047;AL # EGYPTIAN HIEROGLYPH A062
-13048;AL # EGYPTIAN HIEROGLYPH A063
-13049;AL # EGYPTIAN HIEROGLYPH A064
-1304A;AL # EGYPTIAN HIEROGLYPH A065
-1304B;AL # EGYPTIAN HIEROGLYPH A066
-1304C;AL # EGYPTIAN HIEROGLYPH A067
-1304D;AL # EGYPTIAN HIEROGLYPH A068
-1304E;AL # EGYPTIAN HIEROGLYPH A069
-1304F;AL # EGYPTIAN HIEROGLYPH A070
-13050;AL # EGYPTIAN HIEROGLYPH B001
-13051;AL # EGYPTIAN HIEROGLYPH B002
-13052;AL # EGYPTIAN HIEROGLYPH B003
-13053;AL # EGYPTIAN HIEROGLYPH B004
-13054;AL # EGYPTIAN HIEROGLYPH B005
-13055;AL # EGYPTIAN HIEROGLYPH B005A
-13056;AL # EGYPTIAN HIEROGLYPH B006
-13057;AL # EGYPTIAN HIEROGLYPH B007
-13058;AL # EGYPTIAN HIEROGLYPH B008
-13059;AL # EGYPTIAN HIEROGLYPH B009
-1305A;AL # EGYPTIAN HIEROGLYPH C001
-1305B;AL # EGYPTIAN HIEROGLYPH C002
-1305C;AL # EGYPTIAN HIEROGLYPH C002A
-1305D;AL # EGYPTIAN HIEROGLYPH C002B
-1305E;AL # EGYPTIAN HIEROGLYPH C002C
-1305F;AL # EGYPTIAN HIEROGLYPH C003
-13060;AL # EGYPTIAN HIEROGLYPH C004
-13061;AL # EGYPTIAN HIEROGLYPH C005
-13062;AL # EGYPTIAN HIEROGLYPH C006
-13063;AL # EGYPTIAN HIEROGLYPH C007
-13064;AL # EGYPTIAN HIEROGLYPH C008
-13065;AL # EGYPTIAN HIEROGLYPH C009
-13066;AL # EGYPTIAN HIEROGLYPH C010
-13067;AL # EGYPTIAN HIEROGLYPH C010A
-13068;AL # EGYPTIAN HIEROGLYPH C011
-13069;AL # EGYPTIAN HIEROGLYPH C012
-1306A;AL # EGYPTIAN HIEROGLYPH C013
-1306B;AL # EGYPTIAN HIEROGLYPH C014
-1306C;AL # EGYPTIAN HIEROGLYPH C015
-1306D;AL # EGYPTIAN HIEROGLYPH C016
-1306E;AL # EGYPTIAN HIEROGLYPH C017
-1306F;AL # EGYPTIAN HIEROGLYPH C018
-13070;AL # EGYPTIAN HIEROGLYPH C019
-13071;AL # EGYPTIAN HIEROGLYPH C020
-13072;AL # EGYPTIAN HIEROGLYPH C021
-13073;AL # EGYPTIAN HIEROGLYPH C022
-13074;AL # EGYPTIAN HIEROGLYPH C023
-13075;AL # EGYPTIAN HIEROGLYPH C024
-13076;AL # EGYPTIAN HIEROGLYPH D001
-13077;AL # EGYPTIAN HIEROGLYPH D002
-13078;AL # EGYPTIAN HIEROGLYPH D003
-13079;AL # EGYPTIAN HIEROGLYPH D004
-1307A;AL # EGYPTIAN HIEROGLYPH D005
-1307B;AL # EGYPTIAN HIEROGLYPH D006
-1307C;AL # EGYPTIAN HIEROGLYPH D007
-1307D;AL # EGYPTIAN HIEROGLYPH D008
-1307E;AL # EGYPTIAN HIEROGLYPH D008A
-1307F;AL # EGYPTIAN HIEROGLYPH D009
-13080;AL # EGYPTIAN HIEROGLYPH D010
-13081;AL # EGYPTIAN HIEROGLYPH D011
-13082;AL # EGYPTIAN HIEROGLYPH D012
-13083;AL # EGYPTIAN HIEROGLYPH D013
-13084;AL # EGYPTIAN HIEROGLYPH D014
-13085;AL # EGYPTIAN HIEROGLYPH D015
-13086;AL # EGYPTIAN HIEROGLYPH D016
-13087;AL # EGYPTIAN HIEROGLYPH D017
-13088;AL # EGYPTIAN HIEROGLYPH D018
-13089;AL # EGYPTIAN HIEROGLYPH D019
-1308A;AL # EGYPTIAN HIEROGLYPH D020
-1308B;AL # EGYPTIAN HIEROGLYPH D021
-1308C;AL # EGYPTIAN HIEROGLYPH D022
-1308D;AL # EGYPTIAN HIEROGLYPH D023
-1308E;AL # EGYPTIAN HIEROGLYPH D024
-1308F;AL # EGYPTIAN HIEROGLYPH D025
-13090;AL # EGYPTIAN HIEROGLYPH D026
-13091;AL # EGYPTIAN HIEROGLYPH D027
-13092;AL # EGYPTIAN HIEROGLYPH D027A
-13093;AL # EGYPTIAN HIEROGLYPH D028
-13094;AL # EGYPTIAN HIEROGLYPH D029
-13095;AL # EGYPTIAN HIEROGLYPH D030
-13096;AL # EGYPTIAN HIEROGLYPH D031
-13097;AL # EGYPTIAN HIEROGLYPH D031A
-13098;AL # EGYPTIAN HIEROGLYPH D032
-13099;AL # EGYPTIAN HIEROGLYPH D033
-1309A;AL # EGYPTIAN HIEROGLYPH D034
-1309B;AL # EGYPTIAN HIEROGLYPH D034A
-1309C;AL # EGYPTIAN HIEROGLYPH D035
-1309D;AL # EGYPTIAN HIEROGLYPH D036
-1309E;AL # EGYPTIAN HIEROGLYPH D037
-1309F;AL # EGYPTIAN HIEROGLYPH D038
-130A0;AL # EGYPTIAN HIEROGLYPH D039
-130A1;AL # EGYPTIAN HIEROGLYPH D040
-130A2;AL # EGYPTIAN HIEROGLYPH D041
-130A3;AL # EGYPTIAN HIEROGLYPH D042
-130A4;AL # EGYPTIAN HIEROGLYPH D043
-130A5;AL # EGYPTIAN HIEROGLYPH D044
-130A6;AL # EGYPTIAN HIEROGLYPH D045
-130A7;AL # EGYPTIAN HIEROGLYPH D046
-130A8;AL # EGYPTIAN HIEROGLYPH D046A
-130A9;AL # EGYPTIAN HIEROGLYPH D047
-130AA;AL # EGYPTIAN HIEROGLYPH D048
-130AB;AL # EGYPTIAN HIEROGLYPH D048A
-130AC;AL # EGYPTIAN HIEROGLYPH D049
-130AD;AL # EGYPTIAN HIEROGLYPH D050
-130AE;AL # EGYPTIAN HIEROGLYPH D050A
-130AF;AL # EGYPTIAN HIEROGLYPH D050B
-130B0;AL # EGYPTIAN HIEROGLYPH D050C
-130B1;AL # EGYPTIAN HIEROGLYPH D050D
-130B2;AL # EGYPTIAN HIEROGLYPH D050E
-130B3;AL # EGYPTIAN HIEROGLYPH D050F
-130B4;AL # EGYPTIAN HIEROGLYPH D050G
-130B5;AL # EGYPTIAN HIEROGLYPH D050H
-130B6;AL # EGYPTIAN HIEROGLYPH D050I
-130B7;AL # EGYPTIAN HIEROGLYPH D051
-130B8;AL # EGYPTIAN HIEROGLYPH D052
-130B9;AL # EGYPTIAN HIEROGLYPH D052A
-130BA;AL # EGYPTIAN HIEROGLYPH D053
-130BB;AL # EGYPTIAN HIEROGLYPH D054
-130BC;AL # EGYPTIAN HIEROGLYPH D054A
-130BD;AL # EGYPTIAN HIEROGLYPH D055
-130BE;AL # EGYPTIAN HIEROGLYPH D056
-130BF;AL # EGYPTIAN HIEROGLYPH D057
-130C0;AL # EGYPTIAN HIEROGLYPH D058
-130C1;AL # EGYPTIAN HIEROGLYPH D059
-130C2;AL # EGYPTIAN HIEROGLYPH D060
-130C3;AL # EGYPTIAN HIEROGLYPH D061
-130C4;AL # EGYPTIAN HIEROGLYPH D062
-130C5;AL # EGYPTIAN HIEROGLYPH D063
-130C6;AL # EGYPTIAN HIEROGLYPH D064
-130C7;AL # EGYPTIAN HIEROGLYPH D065
-130C8;AL # EGYPTIAN HIEROGLYPH D066
-130C9;AL # EGYPTIAN HIEROGLYPH D067
-130CA;AL # EGYPTIAN HIEROGLYPH D067A
-130CB;AL # EGYPTIAN HIEROGLYPH D067B
-130CC;AL # EGYPTIAN HIEROGLYPH D067C
-130CD;AL # EGYPTIAN HIEROGLYPH D067D
-130CE;AL # EGYPTIAN HIEROGLYPH D067E
-130CF;AL # EGYPTIAN HIEROGLYPH D067F
-130D0;AL # EGYPTIAN HIEROGLYPH D067G
-130D1;AL # EGYPTIAN HIEROGLYPH D067H
-130D2;AL # EGYPTIAN HIEROGLYPH E001
-130D3;AL # EGYPTIAN HIEROGLYPH E002
-130D4;AL # EGYPTIAN HIEROGLYPH E003
-130D5;AL # EGYPTIAN HIEROGLYPH E004
-130D6;AL # EGYPTIAN HIEROGLYPH E005
-130D7;AL # EGYPTIAN HIEROGLYPH E006
-130D8;AL # EGYPTIAN HIEROGLYPH E007
-130D9;AL # EGYPTIAN HIEROGLYPH E008
-130DA;AL # EGYPTIAN HIEROGLYPH E008A
-130DB;AL # EGYPTIAN HIEROGLYPH E009
-130DC;AL # EGYPTIAN HIEROGLYPH E009A
-130DD;AL # EGYPTIAN HIEROGLYPH E010
-130DE;AL # EGYPTIAN HIEROGLYPH E011
-130DF;AL # EGYPTIAN HIEROGLYPH E012
-130E0;AL # EGYPTIAN HIEROGLYPH E013
-130E1;AL # EGYPTIAN HIEROGLYPH E014
-130E2;AL # EGYPTIAN HIEROGLYPH E015
-130E3;AL # EGYPTIAN HIEROGLYPH E016
-130E4;AL # EGYPTIAN HIEROGLYPH E016A
-130E5;AL # EGYPTIAN HIEROGLYPH E017
-130E6;AL # EGYPTIAN HIEROGLYPH E017A
-130E7;AL # EGYPTIAN HIEROGLYPH E018
-130E8;AL # EGYPTIAN HIEROGLYPH E019
-130E9;AL # EGYPTIAN HIEROGLYPH E020
-130EA;AL # EGYPTIAN HIEROGLYPH E020A
-130EB;AL # EGYPTIAN HIEROGLYPH E021
-130EC;AL # EGYPTIAN HIEROGLYPH E022
-130ED;AL # EGYPTIAN HIEROGLYPH E023
-130EE;AL # EGYPTIAN HIEROGLYPH E024
-130EF;AL # EGYPTIAN HIEROGLYPH E025
-130F0;AL # EGYPTIAN HIEROGLYPH E026
-130F1;AL # EGYPTIAN HIEROGLYPH E027
-130F2;AL # EGYPTIAN HIEROGLYPH E028
-130F3;AL # EGYPTIAN HIEROGLYPH E028A
-130F4;AL # EGYPTIAN HIEROGLYPH E029
-130F5;AL # EGYPTIAN HIEROGLYPH E030
-130F6;AL # EGYPTIAN HIEROGLYPH E031
-130F7;AL # EGYPTIAN HIEROGLYPH E032
-130F8;AL # EGYPTIAN HIEROGLYPH E033
-130F9;AL # EGYPTIAN HIEROGLYPH E034
-130FA;AL # EGYPTIAN HIEROGLYPH E034A
-130FB;AL # EGYPTIAN HIEROGLYPH E036
-130FC;AL # EGYPTIAN HIEROGLYPH E037
-130FD;AL # EGYPTIAN HIEROGLYPH E038
-130FE;AL # EGYPTIAN HIEROGLYPH F001
-130FF;AL # EGYPTIAN HIEROGLYPH F001A
-13100;AL # EGYPTIAN HIEROGLYPH F002
-13101;AL # EGYPTIAN HIEROGLYPH F003
-13102;AL # EGYPTIAN HIEROGLYPH F004
-13103;AL # EGYPTIAN HIEROGLYPH F005
-13104;AL # EGYPTIAN HIEROGLYPH F006
-13105;AL # EGYPTIAN HIEROGLYPH F007
-13106;AL # EGYPTIAN HIEROGLYPH F008
-13107;AL # EGYPTIAN HIEROGLYPH F009
-13108;AL # EGYPTIAN HIEROGLYPH F010
-13109;AL # EGYPTIAN HIEROGLYPH F011
-1310A;AL # EGYPTIAN HIEROGLYPH F012
-1310B;AL # EGYPTIAN HIEROGLYPH F013
-1310C;AL # EGYPTIAN HIEROGLYPH F013A
-1310D;AL # EGYPTIAN HIEROGLYPH F014
-1310E;AL # EGYPTIAN HIEROGLYPH F015
-1310F;AL # EGYPTIAN HIEROGLYPH F016
-13110;AL # EGYPTIAN HIEROGLYPH F017
-13111;AL # EGYPTIAN HIEROGLYPH F018
-13112;AL # EGYPTIAN HIEROGLYPH F019
-13113;AL # EGYPTIAN HIEROGLYPH F020
-13114;AL # EGYPTIAN HIEROGLYPH F021
-13115;AL # EGYPTIAN HIEROGLYPH F021A
-13116;AL # EGYPTIAN HIEROGLYPH F022
-13117;AL # EGYPTIAN HIEROGLYPH F023
-13118;AL # EGYPTIAN HIEROGLYPH F024
-13119;AL # EGYPTIAN HIEROGLYPH F025
-1311A;AL # EGYPTIAN HIEROGLYPH F026
-1311B;AL # EGYPTIAN HIEROGLYPH F027
-1311C;AL # EGYPTIAN HIEROGLYPH F028
-1311D;AL # EGYPTIAN HIEROGLYPH F029
-1311E;AL # EGYPTIAN HIEROGLYPH F030
-1311F;AL # EGYPTIAN HIEROGLYPH F031
-13120;AL # EGYPTIAN HIEROGLYPH F031A
-13121;AL # EGYPTIAN HIEROGLYPH F032
-13122;AL # EGYPTIAN HIEROGLYPH F033
-13123;AL # EGYPTIAN HIEROGLYPH F034
-13124;AL # EGYPTIAN HIEROGLYPH F035
-13125;AL # EGYPTIAN HIEROGLYPH F036
-13126;AL # EGYPTIAN HIEROGLYPH F037
-13127;AL # EGYPTIAN HIEROGLYPH F037A
-13128;AL # EGYPTIAN HIEROGLYPH F038
-13129;AL # EGYPTIAN HIEROGLYPH F038A
-1312A;AL # EGYPTIAN HIEROGLYPH F039
-1312B;AL # EGYPTIAN HIEROGLYPH F040
-1312C;AL # EGYPTIAN HIEROGLYPH F041
-1312D;AL # EGYPTIAN HIEROGLYPH F042
-1312E;AL # EGYPTIAN HIEROGLYPH F043
-1312F;AL # EGYPTIAN HIEROGLYPH F044
-13130;AL # EGYPTIAN HIEROGLYPH F045
-13131;AL # EGYPTIAN HIEROGLYPH F045A
-13132;AL # EGYPTIAN HIEROGLYPH F046
-13133;AL # EGYPTIAN HIEROGLYPH F046A
-13134;AL # EGYPTIAN HIEROGLYPH F047
-13135;AL # EGYPTIAN HIEROGLYPH F047A
-13136;AL # EGYPTIAN HIEROGLYPH F048
-13137;AL # EGYPTIAN HIEROGLYPH F049
-13138;AL # EGYPTIAN HIEROGLYPH F050
-13139;AL # EGYPTIAN HIEROGLYPH F051
-1313A;AL # EGYPTIAN HIEROGLYPH F051A
-1313B;AL # EGYPTIAN HIEROGLYPH F051B
-1313C;AL # EGYPTIAN HIEROGLYPH F051C
-1313D;AL # EGYPTIAN HIEROGLYPH F052
-1313E;AL # EGYPTIAN HIEROGLYPH F053
-1313F;AL # EGYPTIAN HIEROGLYPH G001
-13140;AL # EGYPTIAN HIEROGLYPH G002
-13141;AL # EGYPTIAN HIEROGLYPH G003
-13142;AL # EGYPTIAN HIEROGLYPH G004
-13143;AL # EGYPTIAN HIEROGLYPH G005
-13144;AL # EGYPTIAN HIEROGLYPH G006
-13145;AL # EGYPTIAN HIEROGLYPH G006A
-13146;AL # EGYPTIAN HIEROGLYPH G007
-13147;AL # EGYPTIAN HIEROGLYPH G007A
-13148;AL # EGYPTIAN HIEROGLYPH G007B
-13149;AL # EGYPTIAN HIEROGLYPH G008
-1314A;AL # EGYPTIAN HIEROGLYPH G009
-1314B;AL # EGYPTIAN HIEROGLYPH G010
-1314C;AL # EGYPTIAN HIEROGLYPH G011
-1314D;AL # EGYPTIAN HIEROGLYPH G011A
-1314E;AL # EGYPTIAN HIEROGLYPH G012
-1314F;AL # EGYPTIAN HIEROGLYPH G013
-13150;AL # EGYPTIAN HIEROGLYPH G014
-13151;AL # EGYPTIAN HIEROGLYPH G015
-13152;AL # EGYPTIAN HIEROGLYPH G016
-13153;AL # EGYPTIAN HIEROGLYPH G017
-13154;AL # EGYPTIAN HIEROGLYPH G018
-13155;AL # EGYPTIAN HIEROGLYPH G019
-13156;AL # EGYPTIAN HIEROGLYPH G020
-13157;AL # EGYPTIAN HIEROGLYPH G020A
-13158;AL # EGYPTIAN HIEROGLYPH G021
-13159;AL # EGYPTIAN HIEROGLYPH G022
-1315A;AL # EGYPTIAN HIEROGLYPH G023
-1315B;AL # EGYPTIAN HIEROGLYPH G024
-1315C;AL # EGYPTIAN HIEROGLYPH G025
-1315D;AL # EGYPTIAN HIEROGLYPH G026
-1315E;AL # EGYPTIAN HIEROGLYPH G026A
-1315F;AL # EGYPTIAN HIEROGLYPH G027
-13160;AL # EGYPTIAN HIEROGLYPH G028
-13161;AL # EGYPTIAN HIEROGLYPH G029
-13162;AL # EGYPTIAN HIEROGLYPH G030
-13163;AL # EGYPTIAN HIEROGLYPH G031
-13164;AL # EGYPTIAN HIEROGLYPH G032
-13165;AL # EGYPTIAN HIEROGLYPH G033
-13166;AL # EGYPTIAN HIEROGLYPH G034
-13167;AL # EGYPTIAN HIEROGLYPH G035
-13168;AL # EGYPTIAN HIEROGLYPH G036
-13169;AL # EGYPTIAN HIEROGLYPH G036A
-1316A;AL # EGYPTIAN HIEROGLYPH G037
-1316B;AL # EGYPTIAN HIEROGLYPH G037A
-1316C;AL # EGYPTIAN HIEROGLYPH G038
-1316D;AL # EGYPTIAN HIEROGLYPH G039
-1316E;AL # EGYPTIAN HIEROGLYPH G040
-1316F;AL # EGYPTIAN HIEROGLYPH G041
-13170;AL # EGYPTIAN HIEROGLYPH G042
-13171;AL # EGYPTIAN HIEROGLYPH G043
-13172;AL # EGYPTIAN HIEROGLYPH G043A
-13173;AL # EGYPTIAN HIEROGLYPH G044
-13174;AL # EGYPTIAN HIEROGLYPH G045
-13175;AL # EGYPTIAN HIEROGLYPH G045A
-13176;AL # EGYPTIAN HIEROGLYPH G046
-13177;AL # EGYPTIAN HIEROGLYPH G047
-13178;AL # EGYPTIAN HIEROGLYPH G048
-13179;AL # EGYPTIAN HIEROGLYPH G049
-1317A;AL # EGYPTIAN HIEROGLYPH G050
-1317B;AL # EGYPTIAN HIEROGLYPH G051
-1317C;AL # EGYPTIAN HIEROGLYPH G052
-1317D;AL # EGYPTIAN HIEROGLYPH G053
-1317E;AL # EGYPTIAN HIEROGLYPH G054
-1317F;AL # EGYPTIAN HIEROGLYPH H001
-13180;AL # EGYPTIAN HIEROGLYPH H002
-13181;AL # EGYPTIAN HIEROGLYPH H003
-13182;AL # EGYPTIAN HIEROGLYPH H004
-13183;AL # EGYPTIAN HIEROGLYPH H005
-13184;AL # EGYPTIAN HIEROGLYPH H006
-13185;AL # EGYPTIAN HIEROGLYPH H006A
-13186;AL # EGYPTIAN HIEROGLYPH H007
-13187;AL # EGYPTIAN HIEROGLYPH H008
-13188;AL # EGYPTIAN HIEROGLYPH I001
-13189;AL # EGYPTIAN HIEROGLYPH I002
-1318A;AL # EGYPTIAN HIEROGLYPH I003
-1318B;AL # EGYPTIAN HIEROGLYPH I004
-1318C;AL # EGYPTIAN HIEROGLYPH I005
-1318D;AL # EGYPTIAN HIEROGLYPH I005A
-1318E;AL # EGYPTIAN HIEROGLYPH I006
-1318F;AL # EGYPTIAN HIEROGLYPH I007
-13190;AL # EGYPTIAN HIEROGLYPH I008
-13191;AL # EGYPTIAN HIEROGLYPH I009
-13192;AL # EGYPTIAN HIEROGLYPH I009A
-13193;AL # EGYPTIAN HIEROGLYPH I010
-13194;AL # EGYPTIAN HIEROGLYPH I010A
-13195;AL # EGYPTIAN HIEROGLYPH I011
-13196;AL # EGYPTIAN HIEROGLYPH I011A
-13197;AL # EGYPTIAN HIEROGLYPH I012
-13198;AL # EGYPTIAN HIEROGLYPH I013
-13199;AL # EGYPTIAN HIEROGLYPH I014
-1319A;AL # EGYPTIAN HIEROGLYPH I015
-1319B;AL # EGYPTIAN HIEROGLYPH K001
-1319C;AL # EGYPTIAN HIEROGLYPH K002
-1319D;AL # EGYPTIAN HIEROGLYPH K003
-1319E;AL # EGYPTIAN HIEROGLYPH K004
-1319F;AL # EGYPTIAN HIEROGLYPH K005
-131A0;AL # EGYPTIAN HIEROGLYPH K006
-131A1;AL # EGYPTIAN HIEROGLYPH K007
-131A2;AL # EGYPTIAN HIEROGLYPH K008
-131A3;AL # EGYPTIAN HIEROGLYPH L001
-131A4;AL # EGYPTIAN HIEROGLYPH L002
-131A5;AL # EGYPTIAN HIEROGLYPH L002A
-131A6;AL # EGYPTIAN HIEROGLYPH L003
-131A7;AL # EGYPTIAN HIEROGLYPH L004
-131A8;AL # EGYPTIAN HIEROGLYPH L005
-131A9;AL # EGYPTIAN HIEROGLYPH L006
-131AA;AL # EGYPTIAN HIEROGLYPH L006A
-131AB;AL # EGYPTIAN HIEROGLYPH L007
-131AC;AL # EGYPTIAN HIEROGLYPH L008
-131AD;AL # EGYPTIAN HIEROGLYPH M001
-131AE;AL # EGYPTIAN HIEROGLYPH M001A
-131AF;AL # EGYPTIAN HIEROGLYPH M001B
-131B0;AL # EGYPTIAN HIEROGLYPH M002
-131B1;AL # EGYPTIAN HIEROGLYPH M003
-131B2;AL # EGYPTIAN HIEROGLYPH M003A
-131B3;AL # EGYPTIAN HIEROGLYPH M004
-131B4;AL # EGYPTIAN HIEROGLYPH M005
-131B5;AL # EGYPTIAN HIEROGLYPH M006
-131B6;AL # EGYPTIAN HIEROGLYPH M007
-131B7;AL # EGYPTIAN HIEROGLYPH M008
-131B8;AL # EGYPTIAN HIEROGLYPH M009
-131B9;AL # EGYPTIAN HIEROGLYPH M010
-131BA;AL # EGYPTIAN HIEROGLYPH M010A
-131BB;AL # EGYPTIAN HIEROGLYPH M011
-131BC;AL # EGYPTIAN HIEROGLYPH M012
-131BD;AL # EGYPTIAN HIEROGLYPH M012A
-131BE;AL # EGYPTIAN HIEROGLYPH M012B
-131BF;AL # EGYPTIAN HIEROGLYPH M012C
-131C0;AL # EGYPTIAN HIEROGLYPH M012D
-131C1;AL # EGYPTIAN HIEROGLYPH M012E
-131C2;AL # EGYPTIAN HIEROGLYPH M012F
-131C3;AL # EGYPTIAN HIEROGLYPH M012G
-131C4;AL # EGYPTIAN HIEROGLYPH M012H
-131C5;AL # EGYPTIAN HIEROGLYPH M013
-131C6;AL # EGYPTIAN HIEROGLYPH M014
-131C7;AL # EGYPTIAN HIEROGLYPH M015
-131C8;AL # EGYPTIAN HIEROGLYPH M015A
-131C9;AL # EGYPTIAN HIEROGLYPH M016
-131CA;AL # EGYPTIAN HIEROGLYPH M016A
-131CB;AL # EGYPTIAN HIEROGLYPH M017
-131CC;AL # EGYPTIAN HIEROGLYPH M017A
-131CD;AL # EGYPTIAN HIEROGLYPH M018
-131CE;AL # EGYPTIAN HIEROGLYPH M019
-131CF;AL # EGYPTIAN HIEROGLYPH M020
-131D0;AL # EGYPTIAN HIEROGLYPH M021
-131D1;AL # EGYPTIAN HIEROGLYPH M022
-131D2;AL # EGYPTIAN HIEROGLYPH M022A
-131D3;AL # EGYPTIAN HIEROGLYPH M023
-131D4;AL # EGYPTIAN HIEROGLYPH M024
-131D5;AL # EGYPTIAN HIEROGLYPH M024A
-131D6;AL # EGYPTIAN HIEROGLYPH M025
-131D7;AL # EGYPTIAN HIEROGLYPH M026
-131D8;AL # EGYPTIAN HIEROGLYPH M027
-131D9;AL # EGYPTIAN HIEROGLYPH M028
-131DA;AL # EGYPTIAN HIEROGLYPH M028A
-131DB;AL # EGYPTIAN HIEROGLYPH M029
-131DC;AL # EGYPTIAN HIEROGLYPH M030
-131DD;AL # EGYPTIAN HIEROGLYPH M031
-131DE;AL # EGYPTIAN HIEROGLYPH M031A
-131DF;AL # EGYPTIAN HIEROGLYPH M032
-131E0;AL # EGYPTIAN HIEROGLYPH M033
-131E1;AL # EGYPTIAN HIEROGLYPH M033A
-131E2;AL # EGYPTIAN HIEROGLYPH M033B
-131E3;AL # EGYPTIAN HIEROGLYPH M034
-131E4;AL # EGYPTIAN HIEROGLYPH M035
-131E5;AL # EGYPTIAN HIEROGLYPH M036
-131E6;AL # EGYPTIAN HIEROGLYPH M037
-131E7;AL # EGYPTIAN HIEROGLYPH M038
-131E8;AL # EGYPTIAN HIEROGLYPH M039
-131E9;AL # EGYPTIAN HIEROGLYPH M040
-131EA;AL # EGYPTIAN HIEROGLYPH M040A
-131EB;AL # EGYPTIAN HIEROGLYPH M041
-131EC;AL # EGYPTIAN HIEROGLYPH M042
-131ED;AL # EGYPTIAN HIEROGLYPH M043
-131EE;AL # EGYPTIAN HIEROGLYPH M044
-131EF;AL # EGYPTIAN HIEROGLYPH N001
-131F0;AL # EGYPTIAN HIEROGLYPH N002
-131F1;AL # EGYPTIAN HIEROGLYPH N003
-131F2;AL # EGYPTIAN HIEROGLYPH N004
-131F3;AL # EGYPTIAN HIEROGLYPH N005
-131F4;AL # EGYPTIAN HIEROGLYPH N006
-131F5;AL # EGYPTIAN HIEROGLYPH N007
-131F6;AL # EGYPTIAN HIEROGLYPH N008
-131F7;AL # EGYPTIAN HIEROGLYPH N009
-131F8;AL # EGYPTIAN HIEROGLYPH N010
-131F9;AL # EGYPTIAN HIEROGLYPH N011
-131FA;AL # EGYPTIAN HIEROGLYPH N012
-131FB;AL # EGYPTIAN HIEROGLYPH N013
-131FC;AL # EGYPTIAN HIEROGLYPH N014
-131FD;AL # EGYPTIAN HIEROGLYPH N015
-131FE;AL # EGYPTIAN HIEROGLYPH N016
-131FF;AL # EGYPTIAN HIEROGLYPH N017
-13200;AL # EGYPTIAN HIEROGLYPH N018
-13201;AL # EGYPTIAN HIEROGLYPH N018A
-13202;AL # EGYPTIAN HIEROGLYPH N018B
-13203;AL # EGYPTIAN HIEROGLYPH N019
-13204;AL # EGYPTIAN HIEROGLYPH N020
-13205;AL # EGYPTIAN HIEROGLYPH N021
-13206;AL # EGYPTIAN HIEROGLYPH N022
-13207;AL # EGYPTIAN HIEROGLYPH N023
-13208;AL # EGYPTIAN HIEROGLYPH N024
-13209;AL # EGYPTIAN HIEROGLYPH N025
-1320A;AL # EGYPTIAN HIEROGLYPH N025A
-1320B;AL # EGYPTIAN HIEROGLYPH N026
-1320C;AL # EGYPTIAN HIEROGLYPH N027
-1320D;AL # EGYPTIAN HIEROGLYPH N028
-1320E;AL # EGYPTIAN HIEROGLYPH N029
-1320F;AL # EGYPTIAN HIEROGLYPH N030
-13210;AL # EGYPTIAN HIEROGLYPH N031
-13211;AL # EGYPTIAN HIEROGLYPH N032
-13212;AL # EGYPTIAN HIEROGLYPH N033
-13213;AL # EGYPTIAN HIEROGLYPH N033A
-13214;AL # EGYPTIAN HIEROGLYPH N034
-13215;AL # EGYPTIAN HIEROGLYPH N034A
-13216;AL # EGYPTIAN HIEROGLYPH N035
-13217;AL # EGYPTIAN HIEROGLYPH N035A
-13218;AL # EGYPTIAN HIEROGLYPH N036
-13219;AL # EGYPTIAN HIEROGLYPH N037
-1321A;AL # EGYPTIAN HIEROGLYPH N037A
-1321B;AL # EGYPTIAN HIEROGLYPH N038
-1321C;AL # EGYPTIAN HIEROGLYPH N039
-1321D;AL # EGYPTIAN HIEROGLYPH N040
-1321E;AL # EGYPTIAN HIEROGLYPH N041
-1321F;AL # EGYPTIAN HIEROGLYPH N042
-13220;AL # EGYPTIAN HIEROGLYPH NL001
-13221;AL # EGYPTIAN HIEROGLYPH NL002
-13222;AL # EGYPTIAN HIEROGLYPH NL003
-13223;AL # EGYPTIAN HIEROGLYPH NL004
-13224;AL # EGYPTIAN HIEROGLYPH NL005
-13225;AL # EGYPTIAN HIEROGLYPH NL005A
-13226;AL # EGYPTIAN HIEROGLYPH NL006
-13227;AL # EGYPTIAN HIEROGLYPH NL007
-13228;AL # EGYPTIAN HIEROGLYPH NL008
-13229;AL # EGYPTIAN HIEROGLYPH NL009
-1322A;AL # EGYPTIAN HIEROGLYPH NL010
-1322B;AL # EGYPTIAN HIEROGLYPH NL011
-1322C;AL # EGYPTIAN HIEROGLYPH NL012
-1322D;AL # EGYPTIAN HIEROGLYPH NL013
-1322E;AL # EGYPTIAN HIEROGLYPH NL014
-1322F;AL # EGYPTIAN HIEROGLYPH NL015
-13230;AL # EGYPTIAN HIEROGLYPH NL016
-13231;AL # EGYPTIAN HIEROGLYPH NL017
-13232;AL # EGYPTIAN HIEROGLYPH NL017A
-13233;AL # EGYPTIAN HIEROGLYPH NL018
-13234;AL # EGYPTIAN HIEROGLYPH NL019
-13235;AL # EGYPTIAN HIEROGLYPH NL020
-13236;AL # EGYPTIAN HIEROGLYPH NU001
-13237;AL # EGYPTIAN HIEROGLYPH NU002
-13238;AL # EGYPTIAN HIEROGLYPH NU003
-13239;AL # EGYPTIAN HIEROGLYPH NU004
-1323A;AL # EGYPTIAN HIEROGLYPH NU005
-1323B;AL # EGYPTIAN HIEROGLYPH NU006
-1323C;AL # EGYPTIAN HIEROGLYPH NU007
-1323D;AL # EGYPTIAN HIEROGLYPH NU008
-1323E;AL # EGYPTIAN HIEROGLYPH NU009
-1323F;AL # EGYPTIAN HIEROGLYPH NU010
-13240;AL # EGYPTIAN HIEROGLYPH NU010A
-13241;AL # EGYPTIAN HIEROGLYPH NU011
-13242;AL # EGYPTIAN HIEROGLYPH NU011A
-13243;AL # EGYPTIAN HIEROGLYPH NU012
-13244;AL # EGYPTIAN HIEROGLYPH NU013
-13245;AL # EGYPTIAN HIEROGLYPH NU014
-13246;AL # EGYPTIAN HIEROGLYPH NU015
-13247;AL # EGYPTIAN HIEROGLYPH NU016
-13248;AL # EGYPTIAN HIEROGLYPH NU017
-13249;AL # EGYPTIAN HIEROGLYPH NU018
-1324A;AL # EGYPTIAN HIEROGLYPH NU018A
-1324B;AL # EGYPTIAN HIEROGLYPH NU019
-1324C;AL # EGYPTIAN HIEROGLYPH NU020
-1324D;AL # EGYPTIAN HIEROGLYPH NU021
-1324E;AL # EGYPTIAN HIEROGLYPH NU022
-1324F;AL # EGYPTIAN HIEROGLYPH NU022A
-13250;AL # EGYPTIAN HIEROGLYPH O001
-13251;AL # EGYPTIAN HIEROGLYPH O001A
-13252;AL # EGYPTIAN HIEROGLYPH O002
-13253;AL # EGYPTIAN HIEROGLYPH O003
-13254;AL # EGYPTIAN HIEROGLYPH O004
-13255;AL # EGYPTIAN HIEROGLYPH O005
-13256;AL # EGYPTIAN HIEROGLYPH O005A
-13257;AL # EGYPTIAN HIEROGLYPH O006
-13258;OP # EGYPTIAN HIEROGLYPH O006A
-13259;OP # EGYPTIAN HIEROGLYPH O006B
-1325A;OP # EGYPTIAN HIEROGLYPH O006C
-1325B;CL # EGYPTIAN HIEROGLYPH O006D
-1325C;CL # EGYPTIAN HIEROGLYPH O006E
-1325D;CL # EGYPTIAN HIEROGLYPH O006F
-1325E;AL # EGYPTIAN HIEROGLYPH O007
-1325F;AL # EGYPTIAN HIEROGLYPH O008
-13260;AL # EGYPTIAN HIEROGLYPH O009
-13261;AL # EGYPTIAN HIEROGLYPH O010
-13262;AL # EGYPTIAN HIEROGLYPH O010A
-13263;AL # EGYPTIAN HIEROGLYPH O010B
-13264;AL # EGYPTIAN HIEROGLYPH O010C
-13265;AL # EGYPTIAN HIEROGLYPH O011
-13266;AL # EGYPTIAN HIEROGLYPH O012
-13267;AL # EGYPTIAN HIEROGLYPH O013
-13268;AL # EGYPTIAN HIEROGLYPH O014
-13269;AL # EGYPTIAN HIEROGLYPH O015
-1326A;AL # EGYPTIAN HIEROGLYPH O016
-1326B;AL # EGYPTIAN HIEROGLYPH O017
-1326C;AL # EGYPTIAN HIEROGLYPH O018
-1326D;AL # EGYPTIAN HIEROGLYPH O019
-1326E;AL # EGYPTIAN HIEROGLYPH O019A
-1326F;AL # EGYPTIAN HIEROGLYPH O020
-13270;AL # EGYPTIAN HIEROGLYPH O020A
-13271;AL # EGYPTIAN HIEROGLYPH O021
-13272;AL # EGYPTIAN HIEROGLYPH O022
-13273;AL # EGYPTIAN HIEROGLYPH O023
-13274;AL # EGYPTIAN HIEROGLYPH O024
-13275;AL # EGYPTIAN HIEROGLYPH O024A
-13276;AL # EGYPTIAN HIEROGLYPH O025
-13277;AL # EGYPTIAN HIEROGLYPH O025A
-13278;AL # EGYPTIAN HIEROGLYPH O026
-13279;AL # EGYPTIAN HIEROGLYPH O027
-1327A;AL # EGYPTIAN HIEROGLYPH O028
-1327B;AL # EGYPTIAN HIEROGLYPH O029
-1327C;AL # EGYPTIAN HIEROGLYPH O029A
-1327D;AL # EGYPTIAN HIEROGLYPH O030
-1327E;AL # EGYPTIAN HIEROGLYPH O030A
-1327F;AL # EGYPTIAN HIEROGLYPH O031
-13280;AL # EGYPTIAN HIEROGLYPH O032
-13281;AL # EGYPTIAN HIEROGLYPH O033
-13282;CL # EGYPTIAN HIEROGLYPH O033A
-13283;AL # EGYPTIAN HIEROGLYPH O034
-13284;AL # EGYPTIAN HIEROGLYPH O035
-13285;AL # EGYPTIAN HIEROGLYPH O036
-13286;OP # EGYPTIAN HIEROGLYPH O036A
-13287;CL # EGYPTIAN HIEROGLYPH O036B
-13288;OP # EGYPTIAN HIEROGLYPH O036C
-13289;CL # EGYPTIAN HIEROGLYPH O036D
-1328A;AL # EGYPTIAN HIEROGLYPH O037
-1328B;AL # EGYPTIAN HIEROGLYPH O038
-1328C;AL # EGYPTIAN HIEROGLYPH O039
-1328D;AL # EGYPTIAN HIEROGLYPH O040
-1328E;AL # EGYPTIAN HIEROGLYPH O041
-1328F;AL # EGYPTIAN HIEROGLYPH O042
-13290;AL # EGYPTIAN HIEROGLYPH O043
-13291;AL # EGYPTIAN HIEROGLYPH O044
-13292;AL # EGYPTIAN HIEROGLYPH O045
-13293;AL # EGYPTIAN HIEROGLYPH O046
-13294;AL # EGYPTIAN HIEROGLYPH O047
-13295;AL # EGYPTIAN HIEROGLYPH O048
-13296;AL # EGYPTIAN HIEROGLYPH O049
-13297;AL # EGYPTIAN HIEROGLYPH O050
-13298;AL # EGYPTIAN HIEROGLYPH O050A
-13299;AL # EGYPTIAN HIEROGLYPH O050B
-1329A;AL # EGYPTIAN HIEROGLYPH O051
-1329B;AL # EGYPTIAN HIEROGLYPH P001
-1329C;AL # EGYPTIAN HIEROGLYPH P001A
-1329D;AL # EGYPTIAN HIEROGLYPH P002
-1329E;AL # EGYPTIAN HIEROGLYPH P003
-1329F;AL # EGYPTIAN HIEROGLYPH P003A
-132A0;AL # EGYPTIAN HIEROGLYPH P004
-132A1;AL # EGYPTIAN HIEROGLYPH P005
-132A2;AL # EGYPTIAN HIEROGLYPH P006
-132A3;AL # EGYPTIAN HIEROGLYPH P007
-132A4;AL # EGYPTIAN HIEROGLYPH P008
-132A5;AL # EGYPTIAN HIEROGLYPH P009
-132A6;AL # EGYPTIAN HIEROGLYPH P010
-132A7;AL # EGYPTIAN HIEROGLYPH P011
-132A8;AL # EGYPTIAN HIEROGLYPH Q001
-132A9;AL # EGYPTIAN HIEROGLYPH Q002
-132AA;AL # EGYPTIAN HIEROGLYPH Q003
-132AB;AL # EGYPTIAN HIEROGLYPH Q004
-132AC;AL # EGYPTIAN HIEROGLYPH Q005
-132AD;AL # EGYPTIAN HIEROGLYPH Q006
-132AE;AL # EGYPTIAN HIEROGLYPH Q007
-132AF;AL # EGYPTIAN HIEROGLYPH R001
-132B0;AL # EGYPTIAN HIEROGLYPH R002
-132B1;AL # EGYPTIAN HIEROGLYPH R002A
-132B2;AL # EGYPTIAN HIEROGLYPH R003
-132B3;AL # EGYPTIAN HIEROGLYPH R003A
-132B4;AL # EGYPTIAN HIEROGLYPH R003B
-132B5;AL # EGYPTIAN HIEROGLYPH R004
-132B6;AL # EGYPTIAN HIEROGLYPH R005
-132B7;AL # EGYPTIAN HIEROGLYPH R006
-132B8;AL # EGYPTIAN HIEROGLYPH R007
-132B9;AL # EGYPTIAN HIEROGLYPH R008
-132BA;AL # EGYPTIAN HIEROGLYPH R009
-132BB;AL # EGYPTIAN HIEROGLYPH R010
-132BC;AL # EGYPTIAN HIEROGLYPH R010A
-132BD;AL # EGYPTIAN HIEROGLYPH R011
-132BE;AL # EGYPTIAN HIEROGLYPH R012
-132BF;AL # EGYPTIAN HIEROGLYPH R013
-132C0;AL # EGYPTIAN HIEROGLYPH R014
-132C1;AL # EGYPTIAN HIEROGLYPH R015
-132C2;AL # EGYPTIAN HIEROGLYPH R016
-132C3;AL # EGYPTIAN HIEROGLYPH R016A
-132C4;AL # EGYPTIAN HIEROGLYPH R017
-132C5;AL # EGYPTIAN HIEROGLYPH R018
-132C6;AL # EGYPTIAN HIEROGLYPH R019
-132C7;AL # EGYPTIAN HIEROGLYPH R020
-132C8;AL # EGYPTIAN HIEROGLYPH R021
-132C9;AL # EGYPTIAN HIEROGLYPH R022
-132CA;AL # EGYPTIAN HIEROGLYPH R023
-132CB;AL # EGYPTIAN HIEROGLYPH R024
-132CC;AL # EGYPTIAN HIEROGLYPH R025
-132CD;AL # EGYPTIAN HIEROGLYPH R026
-132CE;AL # EGYPTIAN HIEROGLYPH R027
-132CF;AL # EGYPTIAN HIEROGLYPH R028
-132D0;AL # EGYPTIAN HIEROGLYPH R029
-132D1;AL # EGYPTIAN HIEROGLYPH S001
-132D2;AL # EGYPTIAN HIEROGLYPH S002
-132D3;AL # EGYPTIAN HIEROGLYPH S002A
-132D4;AL # EGYPTIAN HIEROGLYPH S003
-132D5;AL # EGYPTIAN HIEROGLYPH S004
-132D6;AL # EGYPTIAN HIEROGLYPH S005
-132D7;AL # EGYPTIAN HIEROGLYPH S006
-132D8;AL # EGYPTIAN HIEROGLYPH S006A
-132D9;AL # EGYPTIAN HIEROGLYPH S007
-132DA;AL # EGYPTIAN HIEROGLYPH S008
-132DB;AL # EGYPTIAN HIEROGLYPH S009
-132DC;AL # EGYPTIAN HIEROGLYPH S010
-132DD;AL # EGYPTIAN HIEROGLYPH S011
-132DE;AL # EGYPTIAN HIEROGLYPH S012
-132DF;AL # EGYPTIAN HIEROGLYPH S013
-132E0;AL # EGYPTIAN HIEROGLYPH S014
-132E1;AL # EGYPTIAN HIEROGLYPH S014A
-132E2;AL # EGYPTIAN HIEROGLYPH S014B
-132E3;AL # EGYPTIAN HIEROGLYPH S015
-132E4;AL # EGYPTIAN HIEROGLYPH S016
-132E5;AL # EGYPTIAN HIEROGLYPH S017
-132E6;AL # EGYPTIAN HIEROGLYPH S017A
-132E7;AL # EGYPTIAN HIEROGLYPH S018
-132E8;AL # EGYPTIAN HIEROGLYPH S019
-132E9;AL # EGYPTIAN HIEROGLYPH S020
-132EA;AL # EGYPTIAN HIEROGLYPH S021
-132EB;AL # EGYPTIAN HIEROGLYPH S022
-132EC;AL # EGYPTIAN HIEROGLYPH S023
-132ED;AL # EGYPTIAN HIEROGLYPH S024
-132EE;AL # EGYPTIAN HIEROGLYPH S025
-132EF;AL # EGYPTIAN HIEROGLYPH S026
-132F0;AL # EGYPTIAN HIEROGLYPH S026A
-132F1;AL # EGYPTIAN HIEROGLYPH S026B
-132F2;AL # EGYPTIAN HIEROGLYPH S027
-132F3;AL # EGYPTIAN HIEROGLYPH S028
-132F4;AL # EGYPTIAN HIEROGLYPH S029
-132F5;AL # EGYPTIAN HIEROGLYPH S030
-132F6;AL # EGYPTIAN HIEROGLYPH S031
-132F7;AL # EGYPTIAN HIEROGLYPH S032
-132F8;AL # EGYPTIAN HIEROGLYPH S033
-132F9;AL # EGYPTIAN HIEROGLYPH S034
-132FA;AL # EGYPTIAN HIEROGLYPH S035
-132FB;AL # EGYPTIAN HIEROGLYPH S035A
-132FC;AL # EGYPTIAN HIEROGLYPH S036
-132FD;AL # EGYPTIAN HIEROGLYPH S037
-132FE;AL # EGYPTIAN HIEROGLYPH S038
-132FF;AL # EGYPTIAN HIEROGLYPH S039
-13300;AL # EGYPTIAN HIEROGLYPH S040
-13301;AL # EGYPTIAN HIEROGLYPH S041
-13302;AL # EGYPTIAN HIEROGLYPH S042
-13303;AL # EGYPTIAN HIEROGLYPH S043
-13304;AL # EGYPTIAN HIEROGLYPH S044
-13305;AL # EGYPTIAN HIEROGLYPH S045
-13306;AL # EGYPTIAN HIEROGLYPH S046
-13307;AL # EGYPTIAN HIEROGLYPH T001
-13308;AL # EGYPTIAN HIEROGLYPH T002
-13309;AL # EGYPTIAN HIEROGLYPH T003
-1330A;AL # EGYPTIAN HIEROGLYPH T003A
-1330B;AL # EGYPTIAN HIEROGLYPH T004
-1330C;AL # EGYPTIAN HIEROGLYPH T005
-1330D;AL # EGYPTIAN HIEROGLYPH T006
-1330E;AL # EGYPTIAN HIEROGLYPH T007
-1330F;AL # EGYPTIAN HIEROGLYPH T007A
-13310;AL # EGYPTIAN HIEROGLYPH T008
-13311;AL # EGYPTIAN HIEROGLYPH T008A
-13312;AL # EGYPTIAN HIEROGLYPH T009
-13313;AL # EGYPTIAN HIEROGLYPH T009A
-13314;AL # EGYPTIAN HIEROGLYPH T010
-13315;AL # EGYPTIAN HIEROGLYPH T011
-13316;AL # EGYPTIAN HIEROGLYPH T011A
-13317;AL # EGYPTIAN HIEROGLYPH T012
-13318;AL # EGYPTIAN HIEROGLYPH T013
-13319;AL # EGYPTIAN HIEROGLYPH T014
-1331A;AL # EGYPTIAN HIEROGLYPH T015
-1331B;AL # EGYPTIAN HIEROGLYPH T016
-1331C;AL # EGYPTIAN HIEROGLYPH T016A
-1331D;AL # EGYPTIAN HIEROGLYPH T017
-1331E;AL # EGYPTIAN HIEROGLYPH T018
-1331F;AL # EGYPTIAN HIEROGLYPH T019
-13320;AL # EGYPTIAN HIEROGLYPH T020
-13321;AL # EGYPTIAN HIEROGLYPH T021
-13322;AL # EGYPTIAN HIEROGLYPH T022
-13323;AL # EGYPTIAN HIEROGLYPH T023
-13324;AL # EGYPTIAN HIEROGLYPH T024
-13325;AL # EGYPTIAN HIEROGLYPH T025
-13326;AL # EGYPTIAN HIEROGLYPH T026
-13327;AL # EGYPTIAN HIEROGLYPH T027
-13328;AL # EGYPTIAN HIEROGLYPH T028
-13329;AL # EGYPTIAN HIEROGLYPH T029
-1332A;AL # EGYPTIAN HIEROGLYPH T030
-1332B;AL # EGYPTIAN HIEROGLYPH T031
-1332C;AL # EGYPTIAN HIEROGLYPH T032
-1332D;AL # EGYPTIAN HIEROGLYPH T032A
-1332E;AL # EGYPTIAN HIEROGLYPH T033
-1332F;AL # EGYPTIAN HIEROGLYPH T033A
-13330;AL # EGYPTIAN HIEROGLYPH T034
-13331;AL # EGYPTIAN HIEROGLYPH T035
-13332;AL # EGYPTIAN HIEROGLYPH T036
-13333;AL # EGYPTIAN HIEROGLYPH U001
-13334;AL # EGYPTIAN HIEROGLYPH U002
-13335;AL # EGYPTIAN HIEROGLYPH U003
-13336;AL # EGYPTIAN HIEROGLYPH U004
-13337;AL # EGYPTIAN HIEROGLYPH U005
-13338;AL # EGYPTIAN HIEROGLYPH U006
-13339;AL # EGYPTIAN HIEROGLYPH U006A
-1333A;AL # EGYPTIAN HIEROGLYPH U006B
-1333B;AL # EGYPTIAN HIEROGLYPH U007
-1333C;AL # EGYPTIAN HIEROGLYPH U008
-1333D;AL # EGYPTIAN HIEROGLYPH U009
-1333E;AL # EGYPTIAN HIEROGLYPH U010
-1333F;AL # EGYPTIAN HIEROGLYPH U011
-13340;AL # EGYPTIAN HIEROGLYPH U012
-13341;AL # EGYPTIAN HIEROGLYPH U013
-13342;AL # EGYPTIAN HIEROGLYPH U014
-13343;AL # EGYPTIAN HIEROGLYPH U015
-13344;AL # EGYPTIAN HIEROGLYPH U016
-13345;AL # EGYPTIAN HIEROGLYPH U017
-13346;AL # EGYPTIAN HIEROGLYPH U018
-13347;AL # EGYPTIAN HIEROGLYPH U019
-13348;AL # EGYPTIAN HIEROGLYPH U020
-13349;AL # EGYPTIAN HIEROGLYPH U021
-1334A;AL # EGYPTIAN HIEROGLYPH U022
-1334B;AL # EGYPTIAN HIEROGLYPH U023
-1334C;AL # EGYPTIAN HIEROGLYPH U023A
-1334D;AL # EGYPTIAN HIEROGLYPH U024
-1334E;AL # EGYPTIAN HIEROGLYPH U025
-1334F;AL # EGYPTIAN HIEROGLYPH U026
-13350;AL # EGYPTIAN HIEROGLYPH U027
-13351;AL # EGYPTIAN HIEROGLYPH U028
-13352;AL # EGYPTIAN HIEROGLYPH U029
-13353;AL # EGYPTIAN HIEROGLYPH U029A
-13354;AL # EGYPTIAN HIEROGLYPH U030
-13355;AL # EGYPTIAN HIEROGLYPH U031
-13356;AL # EGYPTIAN HIEROGLYPH U032
-13357;AL # EGYPTIAN HIEROGLYPH U032A
-13358;AL # EGYPTIAN HIEROGLYPH U033
-13359;AL # EGYPTIAN HIEROGLYPH U034
-1335A;AL # EGYPTIAN HIEROGLYPH U035
-1335B;AL # EGYPTIAN HIEROGLYPH U036
-1335C;AL # EGYPTIAN HIEROGLYPH U037
-1335D;AL # EGYPTIAN HIEROGLYPH U038
-1335E;AL # EGYPTIAN HIEROGLYPH U039
-1335F;AL # EGYPTIAN HIEROGLYPH U040
-13360;AL # EGYPTIAN HIEROGLYPH U041
-13361;AL # EGYPTIAN HIEROGLYPH U042
-13362;AL # EGYPTIAN HIEROGLYPH V001
-13363;AL # EGYPTIAN HIEROGLYPH V001A
-13364;AL # EGYPTIAN HIEROGLYPH V001B
-13365;AL # EGYPTIAN HIEROGLYPH V001C
-13366;AL # EGYPTIAN HIEROGLYPH V001D
-13367;AL # EGYPTIAN HIEROGLYPH V001E
-13368;AL # EGYPTIAN HIEROGLYPH V001F
-13369;AL # EGYPTIAN HIEROGLYPH V001G
-1336A;AL # EGYPTIAN HIEROGLYPH V001H
-1336B;AL # EGYPTIAN HIEROGLYPH V001I
-1336C;AL # EGYPTIAN HIEROGLYPH V002
-1336D;AL # EGYPTIAN HIEROGLYPH V002A
-1336E;AL # EGYPTIAN HIEROGLYPH V003
-1336F;AL # EGYPTIAN HIEROGLYPH V004
-13370;AL # EGYPTIAN HIEROGLYPH V005
-13371;AL # EGYPTIAN HIEROGLYPH V006
-13372;AL # EGYPTIAN HIEROGLYPH V007
-13373;AL # EGYPTIAN HIEROGLYPH V007A
-13374;AL # EGYPTIAN HIEROGLYPH V007B
-13375;AL # EGYPTIAN HIEROGLYPH V008
-13376;AL # EGYPTIAN HIEROGLYPH V009
-13377;AL # EGYPTIAN HIEROGLYPH V010
-13378;AL # EGYPTIAN HIEROGLYPH V011
-13379;OP # EGYPTIAN HIEROGLYPH V011A
-1337A;CL # EGYPTIAN HIEROGLYPH V011B
-1337B;CL # EGYPTIAN HIEROGLYPH V011C
-1337C;AL # EGYPTIAN HIEROGLYPH V012
-1337D;AL # EGYPTIAN HIEROGLYPH V012A
-1337E;AL # EGYPTIAN HIEROGLYPH V012B
-1337F;AL # EGYPTIAN HIEROGLYPH V013
-13380;AL # EGYPTIAN HIEROGLYPH V014
-13381;AL # EGYPTIAN HIEROGLYPH V015
-13382;AL # EGYPTIAN HIEROGLYPH V016
-13383;AL # EGYPTIAN HIEROGLYPH V017
-13384;AL # EGYPTIAN HIEROGLYPH V018
-13385;AL # EGYPTIAN HIEROGLYPH V019
-13386;AL # EGYPTIAN HIEROGLYPH V020
-13387;AL # EGYPTIAN HIEROGLYPH V020A
-13388;AL # EGYPTIAN HIEROGLYPH V020B
-13389;AL # EGYPTIAN HIEROGLYPH V020C
-1338A;AL # EGYPTIAN HIEROGLYPH V020D
-1338B;AL # EGYPTIAN HIEROGLYPH V020E
-1338C;AL # EGYPTIAN HIEROGLYPH V020F
-1338D;AL # EGYPTIAN HIEROGLYPH V020G
-1338E;AL # EGYPTIAN HIEROGLYPH V020H
-1338F;AL # EGYPTIAN HIEROGLYPH V020I
-13390;AL # EGYPTIAN HIEROGLYPH V020J
-13391;AL # EGYPTIAN HIEROGLYPH V020K
-13392;AL # EGYPTIAN HIEROGLYPH V020L
-13393;AL # EGYPTIAN HIEROGLYPH V021
-13394;AL # EGYPTIAN HIEROGLYPH V022
-13395;AL # EGYPTIAN HIEROGLYPH V023
-13396;AL # EGYPTIAN HIEROGLYPH V023A
-13397;AL # EGYPTIAN HIEROGLYPH V024
-13398;AL # EGYPTIAN HIEROGLYPH V025
-13399;AL # EGYPTIAN HIEROGLYPH V026
-1339A;AL # EGYPTIAN HIEROGLYPH V027
-1339B;AL # EGYPTIAN HIEROGLYPH V028
-1339C;AL # EGYPTIAN HIEROGLYPH V028A
-1339D;AL # EGYPTIAN HIEROGLYPH V029
-1339E;AL # EGYPTIAN HIEROGLYPH V029A
-1339F;AL # EGYPTIAN HIEROGLYPH V030
-133A0;AL # EGYPTIAN HIEROGLYPH V030A
-133A1;AL # EGYPTIAN HIEROGLYPH V031
-133A2;AL # EGYPTIAN HIEROGLYPH V031A
-133A3;AL # EGYPTIAN HIEROGLYPH V032
-133A4;AL # EGYPTIAN HIEROGLYPH V033
-133A5;AL # EGYPTIAN HIEROGLYPH V033A
-133A6;AL # EGYPTIAN HIEROGLYPH V034
-133A7;AL # EGYPTIAN HIEROGLYPH V035
-133A8;AL # EGYPTIAN HIEROGLYPH V036
-133A9;AL # EGYPTIAN HIEROGLYPH V037
-133AA;AL # EGYPTIAN HIEROGLYPH V037A
-133AB;AL # EGYPTIAN HIEROGLYPH V038
-133AC;AL # EGYPTIAN HIEROGLYPH V039
-133AD;AL # EGYPTIAN HIEROGLYPH V040
-133AE;AL # EGYPTIAN HIEROGLYPH V040A
-133AF;AL # EGYPTIAN HIEROGLYPH W001
-133B0;AL # EGYPTIAN HIEROGLYPH W002
-133B1;AL # EGYPTIAN HIEROGLYPH W003
-133B2;AL # EGYPTIAN HIEROGLYPH W003A
-133B3;AL # EGYPTIAN HIEROGLYPH W004
-133B4;AL # EGYPTIAN HIEROGLYPH W005
-133B5;AL # EGYPTIAN HIEROGLYPH W006
-133B6;AL # EGYPTIAN HIEROGLYPH W007
-133B7;AL # EGYPTIAN HIEROGLYPH W008
-133B8;AL # EGYPTIAN HIEROGLYPH W009
-133B9;AL # EGYPTIAN HIEROGLYPH W009A
-133BA;AL # EGYPTIAN HIEROGLYPH W010
-133BB;AL # EGYPTIAN HIEROGLYPH W010A
-133BC;AL # EGYPTIAN HIEROGLYPH W011
-133BD;AL # EGYPTIAN HIEROGLYPH W012
-133BE;AL # EGYPTIAN HIEROGLYPH W013
-133BF;AL # EGYPTIAN HIEROGLYPH W014
-133C0;AL # EGYPTIAN HIEROGLYPH W014A
-133C1;AL # EGYPTIAN HIEROGLYPH W015
-133C2;AL # EGYPTIAN HIEROGLYPH W016
-133C3;AL # EGYPTIAN HIEROGLYPH W017
-133C4;AL # EGYPTIAN HIEROGLYPH W017A
-133C5;AL # EGYPTIAN HIEROGLYPH W018
-133C6;AL # EGYPTIAN HIEROGLYPH W018A
-133C7;AL # EGYPTIAN HIEROGLYPH W019
-133C8;AL # EGYPTIAN HIEROGLYPH W020
-133C9;AL # EGYPTIAN HIEROGLYPH W021
-133CA;AL # EGYPTIAN HIEROGLYPH W022
-133CB;AL # EGYPTIAN HIEROGLYPH W023
-133CC;AL # EGYPTIAN HIEROGLYPH W024
-133CD;AL # EGYPTIAN HIEROGLYPH W024A
-133CE;AL # EGYPTIAN HIEROGLYPH W025
-133CF;AL # EGYPTIAN HIEROGLYPH X001
-133D0;AL # EGYPTIAN HIEROGLYPH X002
-133D1;AL # EGYPTIAN HIEROGLYPH X003
-133D2;AL # EGYPTIAN HIEROGLYPH X004
-133D3;AL # EGYPTIAN HIEROGLYPH X004A
-133D4;AL # EGYPTIAN HIEROGLYPH X004B
-133D5;AL # EGYPTIAN HIEROGLYPH X005
-133D6;AL # EGYPTIAN HIEROGLYPH X006
-133D7;AL # EGYPTIAN HIEROGLYPH X006A
-133D8;AL # EGYPTIAN HIEROGLYPH X007
-133D9;AL # EGYPTIAN HIEROGLYPH X008
-133DA;AL # EGYPTIAN HIEROGLYPH X008A
-133DB;AL # EGYPTIAN HIEROGLYPH Y001
-133DC;AL # EGYPTIAN HIEROGLYPH Y001A
-133DD;AL # EGYPTIAN HIEROGLYPH Y002
-133DE;AL # EGYPTIAN HIEROGLYPH Y003
-133DF;AL # EGYPTIAN HIEROGLYPH Y004
-133E0;AL # EGYPTIAN HIEROGLYPH Y005
-133E1;AL # EGYPTIAN HIEROGLYPH Y006
-133E2;AL # EGYPTIAN HIEROGLYPH Y007
-133E3;AL # EGYPTIAN HIEROGLYPH Y008
-133E4;AL # EGYPTIAN HIEROGLYPH Z001
-133E5;AL # EGYPTIAN HIEROGLYPH Z002
-133E6;AL # EGYPTIAN HIEROGLYPH Z002A
-133E7;AL # EGYPTIAN HIEROGLYPH Z002B
-133E8;AL # EGYPTIAN HIEROGLYPH Z002C
-133E9;AL # EGYPTIAN HIEROGLYPH Z002D
-133EA;AL # EGYPTIAN HIEROGLYPH Z003
-133EB;AL # EGYPTIAN HIEROGLYPH Z003A
-133EC;AL # EGYPTIAN HIEROGLYPH Z003B
-133ED;AL # EGYPTIAN HIEROGLYPH Z004
-133EE;AL # EGYPTIAN HIEROGLYPH Z004A
-133EF;AL # EGYPTIAN HIEROGLYPH Z005
-133F0;AL # EGYPTIAN HIEROGLYPH Z005A
-133F1;AL # EGYPTIAN HIEROGLYPH Z006
-133F2;AL # EGYPTIAN HIEROGLYPH Z007
-133F3;AL # EGYPTIAN HIEROGLYPH Z008
-133F4;AL # EGYPTIAN HIEROGLYPH Z009
-133F5;AL # EGYPTIAN HIEROGLYPH Z010
-133F6;AL # EGYPTIAN HIEROGLYPH Z011
-133F7;AL # EGYPTIAN HIEROGLYPH Z012
-133F8;AL # EGYPTIAN HIEROGLYPH Z013
-133F9;AL # EGYPTIAN HIEROGLYPH Z014
-133FA;AL # EGYPTIAN HIEROGLYPH Z015
-133FB;AL # EGYPTIAN HIEROGLYPH Z015A
-133FC;AL # EGYPTIAN HIEROGLYPH Z015B
-133FD;AL # EGYPTIAN HIEROGLYPH Z015C
-133FE;AL # EGYPTIAN HIEROGLYPH Z015D
-133FF;AL # EGYPTIAN HIEROGLYPH Z015E
-13400;AL # EGYPTIAN HIEROGLYPH Z015F
-13401;AL # EGYPTIAN HIEROGLYPH Z015G
-13402;AL # EGYPTIAN HIEROGLYPH Z015H
-13403;AL # EGYPTIAN HIEROGLYPH Z015I
-13404;AL # EGYPTIAN HIEROGLYPH Z016
-13405;AL # EGYPTIAN HIEROGLYPH Z016A
-13406;AL # EGYPTIAN HIEROGLYPH Z016B
-13407;AL # EGYPTIAN HIEROGLYPH Z016C
-13408;AL # EGYPTIAN HIEROGLYPH Z016D
-13409;AL # EGYPTIAN HIEROGLYPH Z016E
-1340A;AL # EGYPTIAN HIEROGLYPH Z016F
-1340B;AL # EGYPTIAN HIEROGLYPH Z016G
-1340C;AL # EGYPTIAN HIEROGLYPH Z016H
-1340D;AL # EGYPTIAN HIEROGLYPH AA001
-1340E;AL # EGYPTIAN HIEROGLYPH AA002
-1340F;AL # EGYPTIAN HIEROGLYPH AA003
-13410;AL # EGYPTIAN HIEROGLYPH AA004
-13411;AL # EGYPTIAN HIEROGLYPH AA005
-13412;AL # EGYPTIAN HIEROGLYPH AA006
-13413;AL # EGYPTIAN HIEROGLYPH AA007
-13414;AL # EGYPTIAN HIEROGLYPH AA007A
-13415;AL # EGYPTIAN HIEROGLYPH AA007B
-13416;AL # EGYPTIAN HIEROGLYPH AA008
-13417;AL # EGYPTIAN HIEROGLYPH AA009
-13418;AL # EGYPTIAN HIEROGLYPH AA010
-13419;AL # EGYPTIAN HIEROGLYPH AA011
-1341A;AL # EGYPTIAN HIEROGLYPH AA012
-1341B;AL # EGYPTIAN HIEROGLYPH AA013
-1341C;AL # EGYPTIAN HIEROGLYPH AA014
-1341D;AL # EGYPTIAN HIEROGLYPH AA015
-1341E;AL # EGYPTIAN HIEROGLYPH AA016
-1341F;AL # EGYPTIAN HIEROGLYPH AA017
-13420;AL # EGYPTIAN HIEROGLYPH AA018
-13421;AL # EGYPTIAN HIEROGLYPH AA019
-13422;AL # EGYPTIAN HIEROGLYPH AA020
-13423;AL # EGYPTIAN HIEROGLYPH AA021
-13424;AL # EGYPTIAN HIEROGLYPH AA022
-13425;AL # EGYPTIAN HIEROGLYPH AA023
-13426;AL # EGYPTIAN HIEROGLYPH AA024
-13427;AL # EGYPTIAN HIEROGLYPH AA025
-13428;AL # EGYPTIAN HIEROGLYPH AA026
-13429;AL # EGYPTIAN HIEROGLYPH AA027
-1342A;AL # EGYPTIAN HIEROGLYPH AA028
-1342B;AL # EGYPTIAN HIEROGLYPH AA029
-1342C;AL # EGYPTIAN HIEROGLYPH AA030
-1342D;AL # EGYPTIAN HIEROGLYPH AA031
-1342E;AL # EGYPTIAN HIEROGLYPH AA032
-1D000;AL # BYZANTINE MUSICAL SYMBOL PSILI
-1D001;AL # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002;AL # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003;AL # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004;AL # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005;AL # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006;AL # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007;AL # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008;AL # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009;AL # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A;AL # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B;AL # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C;AL # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D;AL # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E;AL # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F;AL # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010;AL # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011;AL # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012;AL # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013;AL # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014;AL # BYZANTINE MUSICAL SYMBOL THITA
-1D015;AL # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016;AL # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017;AL # BYZANTINE MUSICAL SYMBOL PSILON
-1D018;AL # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019;AL # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A;AL # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B;AL # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C;AL # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D;AL # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E;AL # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F;AL # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020;AL # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021;AL # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022;AL # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023;AL # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024;AL # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025;AL # BYZANTINE MUSICAL SYMBOL REVMA
-1D026;AL # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027;AL # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028;AL # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029;AL # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A;AL # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B;AL # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C;AL # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D;AL # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E;AL # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F;AL # BYZANTINE MUSICAL SYMBOL DYO
-1D030;AL # BYZANTINE MUSICAL SYMBOL TRIA
-1D031;AL # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032;AL # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033;AL # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034;AL # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035;AL # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036;AL # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037;AL # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038;AL # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039;AL # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A;AL # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B;AL # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C;AL # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D;AL # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E;AL # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F;AL # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040;AL # BYZANTINE MUSICAL SYMBOL NANA
-1D041;AL # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042;AL # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043;AL # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044;AL # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045;AL # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046;AL # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047;AL # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048;AL # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049;AL # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A;AL # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B;AL # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C;AL # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D;AL # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E;AL # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F;AL # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050;AL # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051;AL # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052;AL # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053;AL # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054;AL # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055;AL # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056;AL # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057;AL # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058;AL # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059;AL # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A;AL # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B;AL # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C;AL # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D;AL # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E;AL # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F;AL # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060;AL # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061;AL # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062;AL # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063;AL # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064;AL # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065;AL # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066;AL # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067;AL # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068;AL # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069;AL # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A;AL # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B;AL # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C;AL # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D;AL # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E;AL # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F;AL # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070;AL # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071;AL # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072;AL # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073;AL # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074;AL # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075;AL # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076;AL # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077;AL # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078;AL # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079;AL # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A;AL # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B;AL # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C;AL # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D;AL # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E;AL # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F;AL # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080;AL # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081;AL # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082;AL # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083;AL # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084;AL # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085;AL # BYZANTINE MUSICAL SYMBOL APLI
-1D086;AL # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087;AL # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088;AL # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089;AL # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A;AL # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B;AL # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C;AL # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D;AL # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E;AL # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F;AL # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090;AL # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091;AL # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092;AL # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093;AL # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094;AL # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095;AL # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096;AL # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097;AL # BYZANTINE MUSICAL SYMBOL ARGON
-1D098;AL # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099;AL # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A;AL # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B;AL # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C;AL # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D;AL # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E;AL # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F;AL # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0;AL # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1;AL # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC;AL # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD;AL # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE;AL # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF;AL # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0;AL # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3;AL # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4;AL # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5;AL # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6;AL # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7;AL # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8;AL # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9;AL # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC;AL # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE;AL # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2;AL # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3;AL # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4;AL # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5;AL # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6;AL # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7;AL # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8;AL # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9;AL # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA;AL # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB;AL # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC;AL # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD;AL # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE;AL # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF;AL # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0;AL # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1;AL # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2;AL # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3;AL # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4;AL # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5;AL # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6;AL # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7;AL # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8;AL # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9;AL # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA;AL # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB;AL # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC;AL # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD;AL # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5;AL # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6;AL # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7;AL # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8;AL # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF;AL # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0;AL # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1;AL # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2;AL # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3;AL # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4;AL # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5;AL # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100;AL # MUSICAL SYMBOL SINGLE BARLINE
-1D101;AL # MUSICAL SYMBOL DOUBLE BARLINE
-1D102;AL # MUSICAL SYMBOL FINAL BARLINE
-1D103;AL # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104;AL # MUSICAL SYMBOL DASHED BARLINE
-1D105;AL # MUSICAL SYMBOL SHORT BARLINE
-1D106;AL # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107;AL # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108;AL # MUSICAL SYMBOL REPEAT DOTS
-1D109;AL # MUSICAL SYMBOL DAL SEGNO
-1D10A;AL # MUSICAL SYMBOL DA CAPO
-1D10B;AL # MUSICAL SYMBOL SEGNO
-1D10C;AL # MUSICAL SYMBOL CODA
-1D10D;AL # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E;AL # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F;AL # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110;AL # MUSICAL SYMBOL FERMATA
-1D111;AL # MUSICAL SYMBOL FERMATA BELOW
-1D112;AL # MUSICAL SYMBOL BREATH MARK
-1D113;AL # MUSICAL SYMBOL CAESURA
-1D114;AL # MUSICAL SYMBOL BRACE
-1D115;AL # MUSICAL SYMBOL BRACKET
-1D116;AL # MUSICAL SYMBOL ONE-LINE STAFF
-1D117;AL # MUSICAL SYMBOL TWO-LINE STAFF
-1D118;AL # MUSICAL SYMBOL THREE-LINE STAFF
-1D119;AL # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A;AL # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B;AL # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C;AL # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D;AL # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E;AL # MUSICAL SYMBOL G CLEF
-1D11F;AL # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120;AL # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121;AL # MUSICAL SYMBOL C CLEF
-1D122;AL # MUSICAL SYMBOL F CLEF
-1D123;AL # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124;AL # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125;AL # MUSICAL SYMBOL DRUM CLEF-1
-1D126;AL # MUSICAL SYMBOL DRUM CLEF-2
-1D129;AL # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A;AL # MUSICAL SYMBOL DOUBLE SHARP
-1D12B;AL # MUSICAL SYMBOL DOUBLE FLAT
-1D12C;AL # MUSICAL SYMBOL FLAT UP
-1D12D;AL # MUSICAL SYMBOL FLAT DOWN
-1D12E;AL # MUSICAL SYMBOL NATURAL UP
-1D12F;AL # MUSICAL SYMBOL NATURAL DOWN
-1D130;AL # MUSICAL SYMBOL SHARP UP
-1D131;AL # MUSICAL SYMBOL SHARP DOWN
-1D132;AL # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133;AL # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134;AL # MUSICAL SYMBOL COMMON TIME
-1D135;AL # MUSICAL SYMBOL CUT TIME
-1D136;AL # MUSICAL SYMBOL OTTAVA ALTA
-1D137;AL # MUSICAL SYMBOL OTTAVA BASSA
-1D138;AL # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139;AL # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A;AL # MUSICAL SYMBOL MULTI REST
-1D13B;AL # MUSICAL SYMBOL WHOLE REST
-1D13C;AL # MUSICAL SYMBOL HALF REST
-1D13D;AL # MUSICAL SYMBOL QUARTER REST
-1D13E;AL # MUSICAL SYMBOL EIGHTH REST
-1D13F;AL # MUSICAL SYMBOL SIXTEENTH REST
-1D140;AL # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141;AL # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142;AL # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143;AL # MUSICAL SYMBOL X NOTEHEAD
-1D144;AL # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145;AL # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146;AL # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147;AL # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151;AL # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152;AL # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153;AL # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154;AL # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155;AL # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156;AL # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157;AL # MUSICAL SYMBOL VOID NOTEHEAD
-1D158;AL # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159;AL # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A;AL # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B;AL # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C;AL # MUSICAL SYMBOL BREVE
-1D15D;AL # MUSICAL SYMBOL WHOLE NOTE
-1D15E;AL # MUSICAL SYMBOL HALF NOTE
-1D15F;AL # MUSICAL SYMBOL QUARTER NOTE
-1D160;AL # MUSICAL SYMBOL EIGHTH NOTE
-1D161;AL # MUSICAL SYMBOL SIXTEENTH NOTE
-1D162;AL # MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163;AL # MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164;AL # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D165;CM # MUSICAL SYMBOL COMBINING STEM
-1D166;CM # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167;CM # MUSICAL SYMBOL COMBINING TREMOLO-1
-1D168;CM # MUSICAL SYMBOL COMBINING TREMOLO-2
-1D169;CM # MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A;AL # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B;AL # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C;AL # MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D;CM # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-1D16E;CM # MUSICAL SYMBOL COMBINING FLAG-1
-1D16F;CM # MUSICAL SYMBOL COMBINING FLAG-2
-1D170;CM # MUSICAL SYMBOL COMBINING FLAG-3
-1D171;CM # MUSICAL SYMBOL COMBINING FLAG-4
-1D172;CM # MUSICAL SYMBOL COMBINING FLAG-5
-1D173;CM # MUSICAL SYMBOL BEGIN BEAM
-1D174;CM # MUSICAL SYMBOL END BEAM
-1D175;CM # MUSICAL SYMBOL BEGIN TIE
-1D176;CM # MUSICAL SYMBOL END TIE
-1D177;CM # MUSICAL SYMBOL BEGIN SLUR
-1D178;CM # MUSICAL SYMBOL END SLUR
-1D179;CM # MUSICAL SYMBOL BEGIN PHRASE
-1D17A;CM # MUSICAL SYMBOL END PHRASE
-1D17B;CM # MUSICAL SYMBOL COMBINING ACCENT
-1D17C;CM # MUSICAL SYMBOL COMBINING STACCATO
-1D17D;CM # MUSICAL SYMBOL COMBINING TENUTO
-1D17E;CM # MUSICAL SYMBOL COMBINING STACCATISSIMO
-1D17F;CM # MUSICAL SYMBOL COMBINING MARCATO
-1D180;CM # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
-1D181;CM # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
-1D182;CM # MUSICAL SYMBOL COMBINING LOURE
-1D183;AL # MUSICAL SYMBOL ARPEGGIATO UP
-1D184;AL # MUSICAL SYMBOL ARPEGGIATO DOWN
-1D185;CM # MUSICAL SYMBOL COMBINING DOIT
-1D186;CM # MUSICAL SYMBOL COMBINING RIP
-1D187;CM # MUSICAL SYMBOL COMBINING FLIP
-1D188;CM # MUSICAL SYMBOL COMBINING SMEAR
-1D189;CM # MUSICAL SYMBOL COMBINING BEND
-1D18A;CM # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
-1D18B;CM # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C;AL # MUSICAL SYMBOL RINFORZANDO
-1D18D;AL # MUSICAL SYMBOL SUBITO
-1D18E;AL # MUSICAL SYMBOL Z
-1D18F;AL # MUSICAL SYMBOL PIANO
-1D190;AL # MUSICAL SYMBOL MEZZO
-1D191;AL # MUSICAL SYMBOL FORTE
-1D192;AL # MUSICAL SYMBOL CRESCENDO
-1D193;AL # MUSICAL SYMBOL DECRESCENDO
-1D194;AL # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195;AL # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196;AL # MUSICAL SYMBOL TR
-1D197;AL # MUSICAL SYMBOL TURN
-1D198;AL # MUSICAL SYMBOL INVERTED TURN
-1D199;AL # MUSICAL SYMBOL TURN SLASH
-1D19A;AL # MUSICAL SYMBOL TURN UP
-1D19B;AL # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C;AL # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D;AL # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E;AL # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F;AL # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0;AL # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1;AL # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2;AL # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3;AL # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4;AL # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5;AL # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6;AL # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7;AL # MUSICAL SYMBOL NEBENSTIMME
-1D1A8;AL # MUSICAL SYMBOL END OF STIMME
-1D1A9;AL # MUSICAL SYMBOL DEGREE SLASH
-1D1AA;CM # MUSICAL SYMBOL COMBINING DOWN BOW
-1D1AB;CM # MUSICAL SYMBOL COMBINING UP BOW
-1D1AC;CM # MUSICAL SYMBOL COMBINING HARMONIC
-1D1AD;CM # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE;AL # MUSICAL SYMBOL PEDAL MARK
-1D1AF;AL # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0;AL # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1;AL # MUSICAL SYMBOL GLISSANDO UP
-1D1B2;AL # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3;AL # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4;AL # MUSICAL SYMBOL DAMP
-1D1B5;AL # MUSICAL SYMBOL DAMP ALL
-1D1B6;AL # MUSICAL SYMBOL MAXIMA
-1D1B7;AL # MUSICAL SYMBOL LONGA
-1D1B8;AL # MUSICAL SYMBOL BREVIS
-1D1B9;AL # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA;AL # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB;AL # MUSICAL SYMBOL MINIMA
-1D1BC;AL # MUSICAL SYMBOL MINIMA BLACK
-1D1BD;AL # MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE;AL # MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF;AL # MUSICAL SYMBOL FUSA WHITE
-1D1C0;AL # MUSICAL SYMBOL FUSA BLACK
-1D1C1;AL # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2;AL # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3;AL # MUSICAL SYMBOL BREVIS REST
-1D1C4;AL # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5;AL # MUSICAL SYMBOL MINIMA REST
-1D1C6;AL # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7;AL # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8;AL # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9;AL # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA;AL # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB;AL # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC;AL # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD;AL # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE;AL # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF;AL # MUSICAL SYMBOL CROIX
-1D1D0;AL # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1;AL # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2;AL # MUSICAL SYMBOL SQUARE B
-1D1D3;AL # MUSICAL SYMBOL VIRGA
-1D1D4;AL # MUSICAL SYMBOL PODATUS
-1D1D5;AL # MUSICAL SYMBOL CLIVIS
-1D1D6;AL # MUSICAL SYMBOL SCANDICUS
-1D1D7;AL # MUSICAL SYMBOL CLIMACUS
-1D1D8;AL # MUSICAL SYMBOL TORCULUS
-1D1D9;AL # MUSICAL SYMBOL PORRECTUS
-1D1DA;AL # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB;AL # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC;AL # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD;AL # MUSICAL SYMBOL PES SUBPUNCTIS
-1D200;AL # GREEK VOCAL NOTATION SYMBOL-1
-1D201;AL # GREEK VOCAL NOTATION SYMBOL-2
-1D202;AL # GREEK VOCAL NOTATION SYMBOL-3
-1D203;AL # GREEK VOCAL NOTATION SYMBOL-4
-1D204;AL # GREEK VOCAL NOTATION SYMBOL-5
-1D205;AL # GREEK VOCAL NOTATION SYMBOL-6
-1D206;AL # GREEK VOCAL NOTATION SYMBOL-7
-1D207;AL # GREEK VOCAL NOTATION SYMBOL-8
-1D208;AL # GREEK VOCAL NOTATION SYMBOL-9
-1D209;AL # GREEK VOCAL NOTATION SYMBOL-10
-1D20A;AL # GREEK VOCAL NOTATION SYMBOL-11
-1D20B;AL # GREEK VOCAL NOTATION SYMBOL-12
-1D20C;AL # GREEK VOCAL NOTATION SYMBOL-13
-1D20D;AL # GREEK VOCAL NOTATION SYMBOL-14
-1D20E;AL # GREEK VOCAL NOTATION SYMBOL-15
-1D20F;AL # GREEK VOCAL NOTATION SYMBOL-16
-1D210;AL # GREEK VOCAL NOTATION SYMBOL-17
-1D211;AL # GREEK VOCAL NOTATION SYMBOL-18
-1D212;AL # GREEK VOCAL NOTATION SYMBOL-19
-1D213;AL # GREEK VOCAL NOTATION SYMBOL-20
-1D214;AL # GREEK VOCAL NOTATION SYMBOL-21
-1D215;AL # GREEK VOCAL NOTATION SYMBOL-22
-1D216;AL # GREEK VOCAL NOTATION SYMBOL-23
-1D217;AL # GREEK VOCAL NOTATION SYMBOL-24
-1D218;AL # GREEK VOCAL NOTATION SYMBOL-50
-1D219;AL # GREEK VOCAL NOTATION SYMBOL-51
-1D21A;AL # GREEK VOCAL NOTATION SYMBOL-52
-1D21B;AL # GREEK VOCAL NOTATION SYMBOL-53
-1D21C;AL # GREEK VOCAL NOTATION SYMBOL-54
-1D21D;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241;AL # GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D242;CM # COMBINING GREEK MUSICAL TRISEME
-1D243;CM # COMBINING GREEK MUSICAL TETRASEME
-1D244;CM # COMBINING GREEK MUSICAL PENTASEME
-1D245;AL # GREEK MUSICAL LEIMMA
-1D300;AL # MONOGRAM FOR EARTH
-1D301;AL # DIGRAM FOR HEAVENLY EARTH
-1D302;AL # DIGRAM FOR HUMAN EARTH
-1D303;AL # DIGRAM FOR EARTHLY HEAVEN
-1D304;AL # DIGRAM FOR EARTHLY HUMAN
-1D305;AL # DIGRAM FOR EARTH
-1D306;AL # TETRAGRAM FOR CENTRE
-1D307;AL # TETRAGRAM FOR FULL CIRCLE
-1D308;AL # TETRAGRAM FOR MIRED
-1D309;AL # TETRAGRAM FOR BARRIER
-1D30A;AL # TETRAGRAM FOR KEEPING SMALL
-1D30B;AL # TETRAGRAM FOR CONTRARIETY
-1D30C;AL # TETRAGRAM FOR ASCENT
-1D30D;AL # TETRAGRAM FOR OPPOSITION
-1D30E;AL # TETRAGRAM FOR BRANCHING OUT
-1D30F;AL # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310;AL # TETRAGRAM FOR DIVERGENCE
-1D311;AL # TETRAGRAM FOR YOUTHFULNESS
-1D312;AL # TETRAGRAM FOR INCREASE
-1D313;AL # TETRAGRAM FOR PENETRATION
-1D314;AL # TETRAGRAM FOR REACH
-1D315;AL # TETRAGRAM FOR CONTACT
-1D316;AL # TETRAGRAM FOR HOLDING BACK
-1D317;AL # TETRAGRAM FOR WAITING
-1D318;AL # TETRAGRAM FOR FOLLOWING
-1D319;AL # TETRAGRAM FOR ADVANCE
-1D31A;AL # TETRAGRAM FOR RELEASE
-1D31B;AL # TETRAGRAM FOR RESISTANCE
-1D31C;AL # TETRAGRAM FOR EASE
-1D31D;AL # TETRAGRAM FOR JOY
-1D31E;AL # TETRAGRAM FOR CONTENTION
-1D31F;AL # TETRAGRAM FOR ENDEAVOUR
-1D320;AL # TETRAGRAM FOR DUTIES
-1D321;AL # TETRAGRAM FOR CHANGE
-1D322;AL # TETRAGRAM FOR DECISIVENESS
-1D323;AL # TETRAGRAM FOR BOLD RESOLUTION
-1D324;AL # TETRAGRAM FOR PACKING
-1D325;AL # TETRAGRAM FOR LEGION
-1D326;AL # TETRAGRAM FOR CLOSENESS
-1D327;AL # TETRAGRAM FOR KINSHIP
-1D328;AL # TETRAGRAM FOR GATHERING
-1D329;AL # TETRAGRAM FOR STRENGTH
-1D32A;AL # TETRAGRAM FOR PURITY
-1D32B;AL # TETRAGRAM FOR FULLNESS
-1D32C;AL # TETRAGRAM FOR RESIDENCE
-1D32D;AL # TETRAGRAM FOR LAW OR MODEL
-1D32E;AL # TETRAGRAM FOR RESPONSE
-1D32F;AL # TETRAGRAM FOR GOING TO MEET
-1D330;AL # TETRAGRAM FOR ENCOUNTERS
-1D331;AL # TETRAGRAM FOR STOVE
-1D332;AL # TETRAGRAM FOR GREATNESS
-1D333;AL # TETRAGRAM FOR ENLARGEMENT
-1D334;AL # TETRAGRAM FOR PATTERN
-1D335;AL # TETRAGRAM FOR RITUAL
-1D336;AL # TETRAGRAM FOR FLIGHT
-1D337;AL # TETRAGRAM FOR VASTNESS OR WASTING
-1D338;AL # TETRAGRAM FOR CONSTANCY
-1D339;AL # TETRAGRAM FOR MEASURE
-1D33A;AL # TETRAGRAM FOR ETERNITY
-1D33B;AL # TETRAGRAM FOR UNITY
-1D33C;AL # TETRAGRAM FOR DIMINISHMENT
-1D33D;AL # TETRAGRAM FOR CLOSED MOUTH
-1D33E;AL # TETRAGRAM FOR GUARDEDNESS
-1D33F;AL # TETRAGRAM FOR GATHERING IN
-1D340;AL # TETRAGRAM FOR MASSING
-1D341;AL # TETRAGRAM FOR ACCUMULATION
-1D342;AL # TETRAGRAM FOR EMBELLISHMENT
-1D343;AL # TETRAGRAM FOR DOUBT
-1D344;AL # TETRAGRAM FOR WATCH
-1D345;AL # TETRAGRAM FOR SINKING
-1D346;AL # TETRAGRAM FOR INNER
-1D347;AL # TETRAGRAM FOR DEPARTURE
-1D348;AL # TETRAGRAM FOR DARKENING
-1D349;AL # TETRAGRAM FOR DIMMING
-1D34A;AL # TETRAGRAM FOR EXHAUSTION
-1D34B;AL # TETRAGRAM FOR SEVERANCE
-1D34C;AL # TETRAGRAM FOR STOPPAGE
-1D34D;AL # TETRAGRAM FOR HARDNESS
-1D34E;AL # TETRAGRAM FOR COMPLETION
-1D34F;AL # TETRAGRAM FOR CLOSURE
-1D350;AL # TETRAGRAM FOR FAILURE
-1D351;AL # TETRAGRAM FOR AGGRAVATION
-1D352;AL # TETRAGRAM FOR COMPLIANCE
-1D353;AL # TETRAGRAM FOR ON THE VERGE
-1D354;AL # TETRAGRAM FOR DIFFICULTIES
-1D355;AL # TETRAGRAM FOR LABOURING
-1D356;AL # TETRAGRAM FOR FOSTERING
-1D360;AL # COUNTING ROD UNIT DIGIT ONE
-1D361;AL # COUNTING ROD UNIT DIGIT TWO
-1D362;AL # COUNTING ROD UNIT DIGIT THREE
-1D363;AL # COUNTING ROD UNIT DIGIT FOUR
-1D364;AL # COUNTING ROD UNIT DIGIT FIVE
-1D365;AL # COUNTING ROD UNIT DIGIT SIX
-1D366;AL # COUNTING ROD UNIT DIGIT SEVEN
-1D367;AL # COUNTING ROD UNIT DIGIT EIGHT
-1D368;AL # COUNTING ROD UNIT DIGIT NINE
-1D369;AL # COUNTING ROD TENS DIGIT ONE
-1D36A;AL # COUNTING ROD TENS DIGIT TWO
-1D36B;AL # COUNTING ROD TENS DIGIT THREE
-1D36C;AL # COUNTING ROD TENS DIGIT FOUR
-1D36D;AL # COUNTING ROD TENS DIGIT FIVE
-1D36E;AL # COUNTING ROD TENS DIGIT SIX
-1D36F;AL # COUNTING ROD TENS DIGIT SEVEN
-1D370;AL # COUNTING ROD TENS DIGIT EIGHT
-1D371;AL # COUNTING ROD TENS DIGIT NINE
-1D400;AL # MATHEMATICAL BOLD CAPITAL A
-1D401;AL # MATHEMATICAL BOLD CAPITAL B
-1D402;AL # MATHEMATICAL BOLD CAPITAL C
-1D403;AL # MATHEMATICAL BOLD CAPITAL D
-1D404;AL # MATHEMATICAL BOLD CAPITAL E
-1D405;AL # MATHEMATICAL BOLD CAPITAL F
-1D406;AL # MATHEMATICAL BOLD CAPITAL G
-1D407;AL # MATHEMATICAL BOLD CAPITAL H
-1D408;AL # MATHEMATICAL BOLD CAPITAL I
-1D409;AL # MATHEMATICAL BOLD CAPITAL J
-1D40A;AL # MATHEMATICAL BOLD CAPITAL K
-1D40B;AL # MATHEMATICAL BOLD CAPITAL L
-1D40C;AL # MATHEMATICAL BOLD CAPITAL M
-1D40D;AL # MATHEMATICAL BOLD CAPITAL N
-1D40E;AL # MATHEMATICAL BOLD CAPITAL O
-1D40F;AL # MATHEMATICAL BOLD CAPITAL P
-1D410;AL # MATHEMATICAL BOLD CAPITAL Q
-1D411;AL # MATHEMATICAL BOLD CAPITAL R
-1D412;AL # MATHEMATICAL BOLD CAPITAL S
-1D413;AL # MATHEMATICAL BOLD CAPITAL T
-1D414;AL # MATHEMATICAL BOLD CAPITAL U
-1D415;AL # MATHEMATICAL BOLD CAPITAL V
-1D416;AL # MATHEMATICAL BOLD CAPITAL W
-1D417;AL # MATHEMATICAL BOLD CAPITAL X
-1D418;AL # MATHEMATICAL BOLD CAPITAL Y
-1D419;AL # MATHEMATICAL BOLD CAPITAL Z
-1D41A;AL # MATHEMATICAL BOLD SMALL A
-1D41B;AL # MATHEMATICAL BOLD SMALL B
-1D41C;AL # MATHEMATICAL BOLD SMALL C
-1D41D;AL # MATHEMATICAL BOLD SMALL D
-1D41E;AL # MATHEMATICAL BOLD SMALL E
-1D41F;AL # MATHEMATICAL BOLD SMALL F
-1D420;AL # MATHEMATICAL BOLD SMALL G
-1D421;AL # MATHEMATICAL BOLD SMALL H
-1D422;AL # MATHEMATICAL BOLD SMALL I
-1D423;AL # MATHEMATICAL BOLD SMALL J
-1D424;AL # MATHEMATICAL BOLD SMALL K
-1D425;AL # MATHEMATICAL BOLD SMALL L
-1D426;AL # MATHEMATICAL BOLD SMALL M
-1D427;AL # MATHEMATICAL BOLD SMALL N
-1D428;AL # MATHEMATICAL BOLD SMALL O
-1D429;AL # MATHEMATICAL BOLD SMALL P
-1D42A;AL # MATHEMATICAL BOLD SMALL Q
-1D42B;AL # MATHEMATICAL BOLD SMALL R
-1D42C;AL # MATHEMATICAL BOLD SMALL S
-1D42D;AL # MATHEMATICAL BOLD SMALL T
-1D42E;AL # MATHEMATICAL BOLD SMALL U
-1D42F;AL # MATHEMATICAL BOLD SMALL V
-1D430;AL # MATHEMATICAL BOLD SMALL W
-1D431;AL # MATHEMATICAL BOLD SMALL X
-1D432;AL # MATHEMATICAL BOLD SMALL Y
-1D433;AL # MATHEMATICAL BOLD SMALL Z
-1D434;AL # MATHEMATICAL ITALIC CAPITAL A
-1D435;AL # MATHEMATICAL ITALIC CAPITAL B
-1D436;AL # MATHEMATICAL ITALIC CAPITAL C
-1D437;AL # MATHEMATICAL ITALIC CAPITAL D
-1D438;AL # MATHEMATICAL ITALIC CAPITAL E
-1D439;AL # MATHEMATICAL ITALIC CAPITAL F
-1D43A;AL # MATHEMATICAL ITALIC CAPITAL G
-1D43B;AL # MATHEMATICAL ITALIC CAPITAL H
-1D43C;AL # MATHEMATICAL ITALIC CAPITAL I
-1D43D;AL # MATHEMATICAL ITALIC CAPITAL J
-1D43E;AL # MATHEMATICAL ITALIC CAPITAL K
-1D43F;AL # MATHEMATICAL ITALIC CAPITAL L
-1D440;AL # MATHEMATICAL ITALIC CAPITAL M
-1D441;AL # MATHEMATICAL ITALIC CAPITAL N
-1D442;AL # MATHEMATICAL ITALIC CAPITAL O
-1D443;AL # MATHEMATICAL ITALIC CAPITAL P
-1D444;AL # MATHEMATICAL ITALIC CAPITAL Q
-1D445;AL # MATHEMATICAL ITALIC CAPITAL R
-1D446;AL # MATHEMATICAL ITALIC CAPITAL S
-1D447;AL # MATHEMATICAL ITALIC CAPITAL T
-1D448;AL # MATHEMATICAL ITALIC CAPITAL U
-1D449;AL # MATHEMATICAL ITALIC CAPITAL V
-1D44A;AL # MATHEMATICAL ITALIC CAPITAL W
-1D44B;AL # MATHEMATICAL ITALIC CAPITAL X
-1D44C;AL # MATHEMATICAL ITALIC CAPITAL Y
-1D44D;AL # MATHEMATICAL ITALIC CAPITAL Z
-1D44E;AL # MATHEMATICAL ITALIC SMALL A
-1D44F;AL # MATHEMATICAL ITALIC SMALL B
-1D450;AL # MATHEMATICAL ITALIC SMALL C
-1D451;AL # MATHEMATICAL ITALIC SMALL D
-1D452;AL # MATHEMATICAL ITALIC SMALL E
-1D453;AL # MATHEMATICAL ITALIC SMALL F
-1D454;AL # MATHEMATICAL ITALIC SMALL G
-1D456;AL # MATHEMATICAL ITALIC SMALL I
-1D457;AL # MATHEMATICAL ITALIC SMALL J
-1D458;AL # MATHEMATICAL ITALIC SMALL K
-1D459;AL # MATHEMATICAL ITALIC SMALL L
-1D45A;AL # MATHEMATICAL ITALIC SMALL M
-1D45B;AL # MATHEMATICAL ITALIC SMALL N
-1D45C;AL # MATHEMATICAL ITALIC SMALL O
-1D45D;AL # MATHEMATICAL ITALIC SMALL P
-1D45E;AL # MATHEMATICAL ITALIC SMALL Q
-1D45F;AL # MATHEMATICAL ITALIC SMALL R
-1D460;AL # MATHEMATICAL ITALIC SMALL S
-1D461;AL # MATHEMATICAL ITALIC SMALL T
-1D462;AL # MATHEMATICAL ITALIC SMALL U
-1D463;AL # MATHEMATICAL ITALIC SMALL V
-1D464;AL # MATHEMATICAL ITALIC SMALL W
-1D465;AL # MATHEMATICAL ITALIC SMALL X
-1D466;AL # MATHEMATICAL ITALIC SMALL Y
-1D467;AL # MATHEMATICAL ITALIC SMALL Z
-1D468;AL # MATHEMATICAL BOLD ITALIC CAPITAL A
-1D469;AL # MATHEMATICAL BOLD ITALIC CAPITAL B
-1D46A;AL # MATHEMATICAL BOLD ITALIC CAPITAL C
-1D46B;AL # MATHEMATICAL BOLD ITALIC CAPITAL D
-1D46C;AL # MATHEMATICAL BOLD ITALIC CAPITAL E
-1D46D;AL # MATHEMATICAL BOLD ITALIC CAPITAL F
-1D46E;AL # MATHEMATICAL BOLD ITALIC CAPITAL G
-1D46F;AL # MATHEMATICAL BOLD ITALIC CAPITAL H
-1D470;AL # MATHEMATICAL BOLD ITALIC CAPITAL I
-1D471;AL # MATHEMATICAL BOLD ITALIC CAPITAL J
-1D472;AL # MATHEMATICAL BOLD ITALIC CAPITAL K
-1D473;AL # MATHEMATICAL BOLD ITALIC CAPITAL L
-1D474;AL # MATHEMATICAL BOLD ITALIC CAPITAL M
-1D475;AL # MATHEMATICAL BOLD ITALIC CAPITAL N
-1D476;AL # MATHEMATICAL BOLD ITALIC CAPITAL O
-1D477;AL # MATHEMATICAL BOLD ITALIC CAPITAL P
-1D478;AL # MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D479;AL # MATHEMATICAL BOLD ITALIC CAPITAL R
-1D47A;AL # MATHEMATICAL BOLD ITALIC CAPITAL S
-1D47B;AL # MATHEMATICAL BOLD ITALIC CAPITAL T
-1D47C;AL # MATHEMATICAL BOLD ITALIC CAPITAL U
-1D47D;AL # MATHEMATICAL BOLD ITALIC CAPITAL V
-1D47E;AL # MATHEMATICAL BOLD ITALIC CAPITAL W
-1D47F;AL # MATHEMATICAL BOLD ITALIC CAPITAL X
-1D480;AL # MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D481;AL # MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D482;AL # MATHEMATICAL BOLD ITALIC SMALL A
-1D483;AL # MATHEMATICAL BOLD ITALIC SMALL B
-1D484;AL # MATHEMATICAL BOLD ITALIC SMALL C
-1D485;AL # MATHEMATICAL BOLD ITALIC SMALL D
-1D486;AL # MATHEMATICAL BOLD ITALIC SMALL E
-1D487;AL # MATHEMATICAL BOLD ITALIC SMALL F
-1D488;AL # MATHEMATICAL BOLD ITALIC SMALL G
-1D489;AL # MATHEMATICAL BOLD ITALIC SMALL H
-1D48A;AL # MATHEMATICAL BOLD ITALIC SMALL I
-1D48B;AL # MATHEMATICAL BOLD ITALIC SMALL J
-1D48C;AL # MATHEMATICAL BOLD ITALIC SMALL K
-1D48D;AL # MATHEMATICAL BOLD ITALIC SMALL L
-1D48E;AL # MATHEMATICAL BOLD ITALIC SMALL M
-1D48F;AL # MATHEMATICAL BOLD ITALIC SMALL N
-1D490;AL # MATHEMATICAL BOLD ITALIC SMALL O
-1D491;AL # MATHEMATICAL BOLD ITALIC SMALL P
-1D492;AL # MATHEMATICAL BOLD ITALIC SMALL Q
-1D493;AL # MATHEMATICAL BOLD ITALIC SMALL R
-1D494;AL # MATHEMATICAL BOLD ITALIC SMALL S
-1D495;AL # MATHEMATICAL BOLD ITALIC SMALL T
-1D496;AL # MATHEMATICAL BOLD ITALIC SMALL U
-1D497;AL # MATHEMATICAL BOLD ITALIC SMALL V
-1D498;AL # MATHEMATICAL BOLD ITALIC SMALL W
-1D499;AL # MATHEMATICAL BOLD ITALIC SMALL X
-1D49A;AL # MATHEMATICAL BOLD ITALIC SMALL Y
-1D49B;AL # MATHEMATICAL BOLD ITALIC SMALL Z
-1D49C;AL # MATHEMATICAL SCRIPT CAPITAL A
-1D49E;AL # MATHEMATICAL SCRIPT CAPITAL C
-1D49F;AL # MATHEMATICAL SCRIPT CAPITAL D
-1D4A2;AL # MATHEMATICAL SCRIPT CAPITAL G
-1D4A5;AL # MATHEMATICAL SCRIPT CAPITAL J
-1D4A6;AL # MATHEMATICAL SCRIPT CAPITAL K
-1D4A9;AL # MATHEMATICAL SCRIPT CAPITAL N
-1D4AA;AL # MATHEMATICAL SCRIPT CAPITAL O
-1D4AB;AL # MATHEMATICAL SCRIPT CAPITAL P
-1D4AC;AL # MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE;AL # MATHEMATICAL SCRIPT CAPITAL S
-1D4AF;AL # MATHEMATICAL SCRIPT CAPITAL T
-1D4B0;AL # MATHEMATICAL SCRIPT CAPITAL U
-1D4B1;AL # MATHEMATICAL SCRIPT CAPITAL V
-1D4B2;AL # MATHEMATICAL SCRIPT CAPITAL W
-1D4B3;AL # MATHEMATICAL SCRIPT CAPITAL X
-1D4B4;AL # MATHEMATICAL SCRIPT CAPITAL Y
-1D4B5;AL # MATHEMATICAL SCRIPT CAPITAL Z
-1D4B6;AL # MATHEMATICAL SCRIPT SMALL A
-1D4B7;AL # MATHEMATICAL SCRIPT SMALL B
-1D4B8;AL # MATHEMATICAL SCRIPT SMALL C
-1D4B9;AL # MATHEMATICAL SCRIPT SMALL D
-1D4BB;AL # MATHEMATICAL SCRIPT SMALL F
-1D4BD;AL # MATHEMATICAL SCRIPT SMALL H
-1D4BE;AL # MATHEMATICAL SCRIPT SMALL I
-1D4BF;AL # MATHEMATICAL SCRIPT SMALL J
-1D4C0;AL # MATHEMATICAL SCRIPT SMALL K
-1D4C1;AL # MATHEMATICAL SCRIPT SMALL L
-1D4C2;AL # MATHEMATICAL SCRIPT SMALL M
-1D4C3;AL # MATHEMATICAL SCRIPT SMALL N
-1D4C5;AL # MATHEMATICAL SCRIPT SMALL P
-1D4C6;AL # MATHEMATICAL SCRIPT SMALL Q
-1D4C7;AL # MATHEMATICAL SCRIPT SMALL R
-1D4C8;AL # MATHEMATICAL SCRIPT SMALL S
-1D4C9;AL # MATHEMATICAL SCRIPT SMALL T
-1D4CA;AL # MATHEMATICAL SCRIPT SMALL U
-1D4CB;AL # MATHEMATICAL SCRIPT SMALL V
-1D4CC;AL # MATHEMATICAL SCRIPT SMALL W
-1D4CD;AL # MATHEMATICAL SCRIPT SMALL X
-1D4CE;AL # MATHEMATICAL SCRIPT SMALL Y
-1D4CF;AL # MATHEMATICAL SCRIPT SMALL Z
-1D4D0;AL # MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D4D1;AL # MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D4D2;AL # MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D4D3;AL # MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D4D4;AL # MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D4D5;AL # MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D4D6;AL # MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D4D7;AL # MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D4D8;AL # MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D4D9;AL # MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D4DA;AL # MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D4DB;AL # MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D4DC;AL # MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D4DD;AL # MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D4DE;AL # MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D4DF;AL # MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D4E0;AL # MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D4E1;AL # MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D4E2;AL # MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D4E3;AL # MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D4E4;AL # MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D4E5;AL # MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D4E6;AL # MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D4E7;AL # MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D4E8;AL # MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D4E9;AL # MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D4EA;AL # MATHEMATICAL BOLD SCRIPT SMALL A
-1D4EB;AL # MATHEMATICAL BOLD SCRIPT SMALL B
-1D4EC;AL # MATHEMATICAL BOLD SCRIPT SMALL C
-1D4ED;AL # MATHEMATICAL BOLD SCRIPT SMALL D
-1D4EE;AL # MATHEMATICAL BOLD SCRIPT SMALL E
-1D4EF;AL # MATHEMATICAL BOLD SCRIPT SMALL F
-1D4F0;AL # MATHEMATICAL BOLD SCRIPT SMALL G
-1D4F1;AL # MATHEMATICAL BOLD SCRIPT SMALL H
-1D4F2;AL # MATHEMATICAL BOLD SCRIPT SMALL I
-1D4F3;AL # MATHEMATICAL BOLD SCRIPT SMALL J
-1D4F4;AL # MATHEMATICAL BOLD SCRIPT SMALL K
-1D4F5;AL # MATHEMATICAL BOLD SCRIPT SMALL L
-1D4F6;AL # MATHEMATICAL BOLD SCRIPT SMALL M
-1D4F7;AL # MATHEMATICAL BOLD SCRIPT SMALL N
-1D4F8;AL # MATHEMATICAL BOLD SCRIPT SMALL O
-1D4F9;AL # MATHEMATICAL BOLD SCRIPT SMALL P
-1D4FA;AL # MATHEMATICAL BOLD SCRIPT SMALL Q
-1D4FB;AL # MATHEMATICAL BOLD SCRIPT SMALL R
-1D4FC;AL # MATHEMATICAL BOLD SCRIPT SMALL S
-1D4FD;AL # MATHEMATICAL BOLD SCRIPT SMALL T
-1D4FE;AL # MATHEMATICAL BOLD SCRIPT SMALL U
-1D4FF;AL # MATHEMATICAL BOLD SCRIPT SMALL V
-1D500;AL # MATHEMATICAL BOLD SCRIPT SMALL W
-1D501;AL # MATHEMATICAL BOLD SCRIPT SMALL X
-1D502;AL # MATHEMATICAL BOLD SCRIPT SMALL Y
-1D503;AL # MATHEMATICAL BOLD SCRIPT SMALL Z
-1D504;AL # MATHEMATICAL FRAKTUR CAPITAL A
-1D505;AL # MATHEMATICAL FRAKTUR CAPITAL B
-1D507;AL # MATHEMATICAL FRAKTUR CAPITAL D
-1D508;AL # MATHEMATICAL FRAKTUR CAPITAL E
-1D509;AL # MATHEMATICAL FRAKTUR CAPITAL F
-1D50A;AL # MATHEMATICAL FRAKTUR CAPITAL G
-1D50D;AL # MATHEMATICAL FRAKTUR CAPITAL J
-1D50E;AL # MATHEMATICAL FRAKTUR CAPITAL K
-1D50F;AL # MATHEMATICAL FRAKTUR CAPITAL L
-1D510;AL # MATHEMATICAL FRAKTUR CAPITAL M
-1D511;AL # MATHEMATICAL FRAKTUR CAPITAL N
-1D512;AL # MATHEMATICAL FRAKTUR CAPITAL O
-1D513;AL # MATHEMATICAL FRAKTUR CAPITAL P
-1D514;AL # MATHEMATICAL FRAKTUR CAPITAL Q
-1D516;AL # MATHEMATICAL FRAKTUR CAPITAL S
-1D517;AL # MATHEMATICAL FRAKTUR CAPITAL T
-1D518;AL # MATHEMATICAL FRAKTUR CAPITAL U
-1D519;AL # MATHEMATICAL FRAKTUR CAPITAL V
-1D51A;AL # MATHEMATICAL FRAKTUR CAPITAL W
-1D51B;AL # MATHEMATICAL FRAKTUR CAPITAL X
-1D51C;AL # MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E;AL # MATHEMATICAL FRAKTUR SMALL A
-1D51F;AL # MATHEMATICAL FRAKTUR SMALL B
-1D520;AL # MATHEMATICAL FRAKTUR SMALL C
-1D521;AL # MATHEMATICAL FRAKTUR SMALL D
-1D522;AL # MATHEMATICAL FRAKTUR SMALL E
-1D523;AL # MATHEMATICAL FRAKTUR SMALL F
-1D524;AL # MATHEMATICAL FRAKTUR SMALL G
-1D525;AL # MATHEMATICAL FRAKTUR SMALL H
-1D526;AL # MATHEMATICAL FRAKTUR SMALL I
-1D527;AL # MATHEMATICAL FRAKTUR SMALL J
-1D528;AL # MATHEMATICAL FRAKTUR SMALL K
-1D529;AL # MATHEMATICAL FRAKTUR SMALL L
-1D52A;AL # MATHEMATICAL FRAKTUR SMALL M
-1D52B;AL # MATHEMATICAL FRAKTUR SMALL N
-1D52C;AL # MATHEMATICAL FRAKTUR SMALL O
-1D52D;AL # MATHEMATICAL FRAKTUR SMALL P
-1D52E;AL # MATHEMATICAL FRAKTUR SMALL Q
-1D52F;AL # MATHEMATICAL FRAKTUR SMALL R
-1D530;AL # MATHEMATICAL FRAKTUR SMALL S
-1D531;AL # MATHEMATICAL FRAKTUR SMALL T
-1D532;AL # MATHEMATICAL FRAKTUR SMALL U
-1D533;AL # MATHEMATICAL FRAKTUR SMALL V
-1D534;AL # MATHEMATICAL FRAKTUR SMALL W
-1D535;AL # MATHEMATICAL FRAKTUR SMALL X
-1D536;AL # MATHEMATICAL FRAKTUR SMALL Y
-1D537;AL # MATHEMATICAL FRAKTUR SMALL Z
-1D538;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D539;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D53C;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D53D;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D53E;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D541;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D542;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D543;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D544;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D54B;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D54C;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D54D;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D54E;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D54F;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D550;AL # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552;AL # MATHEMATICAL DOUBLE-STRUCK SMALL A
-1D553;AL # MATHEMATICAL DOUBLE-STRUCK SMALL B
-1D554;AL # MATHEMATICAL DOUBLE-STRUCK SMALL C
-1D555;AL # MATHEMATICAL DOUBLE-STRUCK SMALL D
-1D556;AL # MATHEMATICAL DOUBLE-STRUCK SMALL E
-1D557;AL # MATHEMATICAL DOUBLE-STRUCK SMALL F
-1D558;AL # MATHEMATICAL DOUBLE-STRUCK SMALL G
-1D559;AL # MATHEMATICAL DOUBLE-STRUCK SMALL H
-1D55A;AL # MATHEMATICAL DOUBLE-STRUCK SMALL I
-1D55B;AL # MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D55C;AL # MATHEMATICAL DOUBLE-STRUCK SMALL K
-1D55D;AL # MATHEMATICAL DOUBLE-STRUCK SMALL L
-1D55E;AL # MATHEMATICAL DOUBLE-STRUCK SMALL M
-1D55F;AL # MATHEMATICAL DOUBLE-STRUCK SMALL N
-1D560;AL # MATHEMATICAL DOUBLE-STRUCK SMALL O
-1D561;AL # MATHEMATICAL DOUBLE-STRUCK SMALL P
-1D562;AL # MATHEMATICAL DOUBLE-STRUCK SMALL Q
-1D563;AL # MATHEMATICAL DOUBLE-STRUCK SMALL R
-1D564;AL # MATHEMATICAL DOUBLE-STRUCK SMALL S
-1D565;AL # MATHEMATICAL DOUBLE-STRUCK SMALL T
-1D566;AL # MATHEMATICAL DOUBLE-STRUCK SMALL U
-1D567;AL # MATHEMATICAL DOUBLE-STRUCK SMALL V
-1D568;AL # MATHEMATICAL DOUBLE-STRUCK SMALL W
-1D569;AL # MATHEMATICAL DOUBLE-STRUCK SMALL X
-1D56A;AL # MATHEMATICAL DOUBLE-STRUCK SMALL Y
-1D56B;AL # MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D56C;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D56D;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D56E;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D56F;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D570;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D571;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D572;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D573;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D574;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D575;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D576;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D577;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D578;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D579;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D57A;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D57B;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D57C;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D57D;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D57E;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D57F;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D580;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D581;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D582;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D583;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D584;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D585;AL # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D586;AL # MATHEMATICAL BOLD FRAKTUR SMALL A
-1D587;AL # MATHEMATICAL BOLD FRAKTUR SMALL B
-1D588;AL # MATHEMATICAL BOLD FRAKTUR SMALL C
-1D589;AL # MATHEMATICAL BOLD FRAKTUR SMALL D
-1D58A;AL # MATHEMATICAL BOLD FRAKTUR SMALL E
-1D58B;AL # MATHEMATICAL BOLD FRAKTUR SMALL F
-1D58C;AL # MATHEMATICAL BOLD FRAKTUR SMALL G
-1D58D;AL # MATHEMATICAL BOLD FRAKTUR SMALL H
-1D58E;AL # MATHEMATICAL BOLD FRAKTUR SMALL I
-1D58F;AL # MATHEMATICAL BOLD FRAKTUR SMALL J
-1D590;AL # MATHEMATICAL BOLD FRAKTUR SMALL K
-1D591;AL # MATHEMATICAL BOLD FRAKTUR SMALL L
-1D592;AL # MATHEMATICAL BOLD FRAKTUR SMALL M
-1D593;AL # MATHEMATICAL BOLD FRAKTUR SMALL N
-1D594;AL # MATHEMATICAL BOLD FRAKTUR SMALL O
-1D595;AL # MATHEMATICAL BOLD FRAKTUR SMALL P
-1D596;AL # MATHEMATICAL BOLD FRAKTUR SMALL Q
-1D597;AL # MATHEMATICAL BOLD FRAKTUR SMALL R
-1D598;AL # MATHEMATICAL BOLD FRAKTUR SMALL S
-1D599;AL # MATHEMATICAL BOLD FRAKTUR SMALL T
-1D59A;AL # MATHEMATICAL BOLD FRAKTUR SMALL U
-1D59B;AL # MATHEMATICAL BOLD FRAKTUR SMALL V
-1D59C;AL # MATHEMATICAL BOLD FRAKTUR SMALL W
-1D59D;AL # MATHEMATICAL BOLD FRAKTUR SMALL X
-1D59E;AL # MATHEMATICAL BOLD FRAKTUR SMALL Y
-1D59F;AL # MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5A0;AL # MATHEMATICAL SANS-SERIF CAPITAL A
-1D5A1;AL # MATHEMATICAL SANS-SERIF CAPITAL B
-1D5A2;AL # MATHEMATICAL SANS-SERIF CAPITAL C
-1D5A3;AL # MATHEMATICAL SANS-SERIF CAPITAL D
-1D5A4;AL # MATHEMATICAL SANS-SERIF CAPITAL E
-1D5A5;AL # MATHEMATICAL SANS-SERIF CAPITAL F
-1D5A6;AL # MATHEMATICAL SANS-SERIF CAPITAL G
-1D5A7;AL # MATHEMATICAL SANS-SERIF CAPITAL H
-1D5A8;AL # MATHEMATICAL SANS-SERIF CAPITAL I
-1D5A9;AL # MATHEMATICAL SANS-SERIF CAPITAL J
-1D5AA;AL # MATHEMATICAL SANS-SERIF CAPITAL K
-1D5AB;AL # MATHEMATICAL SANS-SERIF CAPITAL L
-1D5AC;AL # MATHEMATICAL SANS-SERIF CAPITAL M
-1D5AD;AL # MATHEMATICAL SANS-SERIF CAPITAL N
-1D5AE;AL # MATHEMATICAL SANS-SERIF CAPITAL O
-1D5AF;AL # MATHEMATICAL SANS-SERIF CAPITAL P
-1D5B0;AL # MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5B1;AL # MATHEMATICAL SANS-SERIF CAPITAL R
-1D5B2;AL # MATHEMATICAL SANS-SERIF CAPITAL S
-1D5B3;AL # MATHEMATICAL SANS-SERIF CAPITAL T
-1D5B4;AL # MATHEMATICAL SANS-SERIF CAPITAL U
-1D5B5;AL # MATHEMATICAL SANS-SERIF CAPITAL V
-1D5B6;AL # MATHEMATICAL SANS-SERIF CAPITAL W
-1D5B7;AL # MATHEMATICAL SANS-SERIF CAPITAL X
-1D5B8;AL # MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5B9;AL # MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5BA;AL # MATHEMATICAL SANS-SERIF SMALL A
-1D5BB;AL # MATHEMATICAL SANS-SERIF SMALL B
-1D5BC;AL # MATHEMATICAL SANS-SERIF SMALL C
-1D5BD;AL # MATHEMATICAL SANS-SERIF SMALL D
-1D5BE;AL # MATHEMATICAL SANS-SERIF SMALL E
-1D5BF;AL # MATHEMATICAL SANS-SERIF SMALL F
-1D5C0;AL # MATHEMATICAL SANS-SERIF SMALL G
-1D5C1;AL # MATHEMATICAL SANS-SERIF SMALL H
-1D5C2;AL # MATHEMATICAL SANS-SERIF SMALL I
-1D5C3;AL # MATHEMATICAL SANS-SERIF SMALL J
-1D5C4;AL # MATHEMATICAL SANS-SERIF SMALL K
-1D5C5;AL # MATHEMATICAL SANS-SERIF SMALL L
-1D5C6;AL # MATHEMATICAL SANS-SERIF SMALL M
-1D5C7;AL # MATHEMATICAL SANS-SERIF SMALL N
-1D5C8;AL # MATHEMATICAL SANS-SERIF SMALL O
-1D5C9;AL # MATHEMATICAL SANS-SERIF SMALL P
-1D5CA;AL # MATHEMATICAL SANS-SERIF SMALL Q
-1D5CB;AL # MATHEMATICAL SANS-SERIF SMALL R
-1D5CC;AL # MATHEMATICAL SANS-SERIF SMALL S
-1D5CD;AL # MATHEMATICAL SANS-SERIF SMALL T
-1D5CE;AL # MATHEMATICAL SANS-SERIF SMALL U
-1D5CF;AL # MATHEMATICAL SANS-SERIF SMALL V
-1D5D0;AL # MATHEMATICAL SANS-SERIF SMALL W
-1D5D1;AL # MATHEMATICAL SANS-SERIF SMALL X
-1D5D2;AL # MATHEMATICAL SANS-SERIF SMALL Y
-1D5D3;AL # MATHEMATICAL SANS-SERIF SMALL Z
-1D5D4;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D5D5;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D5D6;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D5D7;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D5D8;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D5D9;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D5DA;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D5DB;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D5DC;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D5DD;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D5DE;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D5DF;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D5E0;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D5E1;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D5E2;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D5E3;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D5E4;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D5E5;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D5E6;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D5E7;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D5E8;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D5E9;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D5EA;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D5EB;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D5EC;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D5ED;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D5EE;AL # MATHEMATICAL SANS-SERIF BOLD SMALL A
-1D5EF;AL # MATHEMATICAL SANS-SERIF BOLD SMALL B
-1D5F0;AL # MATHEMATICAL SANS-SERIF BOLD SMALL C
-1D5F1;AL # MATHEMATICAL SANS-SERIF BOLD SMALL D
-1D5F2;AL # MATHEMATICAL SANS-SERIF BOLD SMALL E
-1D5F3;AL # MATHEMATICAL SANS-SERIF BOLD SMALL F
-1D5F4;AL # MATHEMATICAL SANS-SERIF BOLD SMALL G
-1D5F5;AL # MATHEMATICAL SANS-SERIF BOLD SMALL H
-1D5F6;AL # MATHEMATICAL SANS-SERIF BOLD SMALL I
-1D5F7;AL # MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D5F8;AL # MATHEMATICAL SANS-SERIF BOLD SMALL K
-1D5F9;AL # MATHEMATICAL SANS-SERIF BOLD SMALL L
-1D5FA;AL # MATHEMATICAL SANS-SERIF BOLD SMALL M
-1D5FB;AL # MATHEMATICAL SANS-SERIF BOLD SMALL N
-1D5FC;AL # MATHEMATICAL SANS-SERIF BOLD SMALL O
-1D5FD;AL # MATHEMATICAL SANS-SERIF BOLD SMALL P
-1D5FE;AL # MATHEMATICAL SANS-SERIF BOLD SMALL Q
-1D5FF;AL # MATHEMATICAL SANS-SERIF BOLD SMALL R
-1D600;AL # MATHEMATICAL SANS-SERIF BOLD SMALL S
-1D601;AL # MATHEMATICAL SANS-SERIF BOLD SMALL T
-1D602;AL # MATHEMATICAL SANS-SERIF BOLD SMALL U
-1D603;AL # MATHEMATICAL SANS-SERIF BOLD SMALL V
-1D604;AL # MATHEMATICAL SANS-SERIF BOLD SMALL W
-1D605;AL # MATHEMATICAL SANS-SERIF BOLD SMALL X
-1D606;AL # MATHEMATICAL SANS-SERIF BOLD SMALL Y
-1D607;AL # MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D608;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D609;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D60A;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D60B;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D60C;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D60D;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D60E;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D60F;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D610;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D611;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D612;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D613;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D614;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D615;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D616;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D617;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D618;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D619;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D61A;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D61B;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D61C;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D61D;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D61E;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D61F;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D620;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D621;AL # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D622;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL A
-1D623;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL B
-1D624;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL C
-1D625;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL D
-1D626;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL E
-1D627;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL F
-1D628;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL G
-1D629;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL H
-1D62A;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL I
-1D62B;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D62C;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL K
-1D62D;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL L
-1D62E;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL M
-1D62F;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL N
-1D630;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL O
-1D631;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL P
-1D632;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
-1D633;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL R
-1D634;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL S
-1D635;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL T
-1D636;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL U
-1D637;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL V
-1D638;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL W
-1D639;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL X
-1D63A;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
-1D63B;AL # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D63C;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D63D;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D63E;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D63F;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D640;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D641;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D642;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D643;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D644;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D645;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D646;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D647;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D648;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D649;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D64A;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D64B;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D64C;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D64D;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D64E;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D64F;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D650;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D651;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D652;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D653;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D654;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D655;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D656;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
-1D657;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
-1D658;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
-1D659;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
-1D65A;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
-1D65B;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
-1D65C;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
-1D65D;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
-1D65E;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
-1D65F;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D660;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
-1D661;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
-1D662;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
-1D663;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
-1D664;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
-1D665;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
-1D666;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
-1D667;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
-1D668;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
-1D669;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
-1D66A;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
-1D66B;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
-1D66C;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
-1D66D;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
-1D66E;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
-1D66F;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D670;AL # MATHEMATICAL MONOSPACE CAPITAL A
-1D671;AL # MATHEMATICAL MONOSPACE CAPITAL B
-1D672;AL # MATHEMATICAL MONOSPACE CAPITAL C
-1D673;AL # MATHEMATICAL MONOSPACE CAPITAL D
-1D674;AL # MATHEMATICAL MONOSPACE CAPITAL E
-1D675;AL # MATHEMATICAL MONOSPACE CAPITAL F
-1D676;AL # MATHEMATICAL MONOSPACE CAPITAL G
-1D677;AL # MATHEMATICAL MONOSPACE CAPITAL H
-1D678;AL # MATHEMATICAL MONOSPACE CAPITAL I
-1D679;AL # MATHEMATICAL MONOSPACE CAPITAL J
-1D67A;AL # MATHEMATICAL MONOSPACE CAPITAL K
-1D67B;AL # MATHEMATICAL MONOSPACE CAPITAL L
-1D67C;AL # MATHEMATICAL MONOSPACE CAPITAL M
-1D67D;AL # MATHEMATICAL MONOSPACE CAPITAL N
-1D67E;AL # MATHEMATICAL MONOSPACE CAPITAL O
-1D67F;AL # MATHEMATICAL MONOSPACE CAPITAL P
-1D680;AL # MATHEMATICAL MONOSPACE CAPITAL Q
-1D681;AL # MATHEMATICAL MONOSPACE CAPITAL R
-1D682;AL # MATHEMATICAL MONOSPACE CAPITAL S
-1D683;AL # MATHEMATICAL MONOSPACE CAPITAL T
-1D684;AL # MATHEMATICAL MONOSPACE CAPITAL U
-1D685;AL # MATHEMATICAL MONOSPACE CAPITAL V
-1D686;AL # MATHEMATICAL MONOSPACE CAPITAL W
-1D687;AL # MATHEMATICAL MONOSPACE CAPITAL X
-1D688;AL # MATHEMATICAL MONOSPACE CAPITAL Y
-1D689;AL # MATHEMATICAL MONOSPACE CAPITAL Z
-1D68A;AL # MATHEMATICAL MONOSPACE SMALL A
-1D68B;AL # MATHEMATICAL MONOSPACE SMALL B
-1D68C;AL # MATHEMATICAL MONOSPACE SMALL C
-1D68D;AL # MATHEMATICAL MONOSPACE SMALL D
-1D68E;AL # MATHEMATICAL MONOSPACE SMALL E
-1D68F;AL # MATHEMATICAL MONOSPACE SMALL F
-1D690;AL # MATHEMATICAL MONOSPACE SMALL G
-1D691;AL # MATHEMATICAL MONOSPACE SMALL H
-1D692;AL # MATHEMATICAL MONOSPACE SMALL I
-1D693;AL # MATHEMATICAL MONOSPACE SMALL J
-1D694;AL # MATHEMATICAL MONOSPACE SMALL K
-1D695;AL # MATHEMATICAL MONOSPACE SMALL L
-1D696;AL # MATHEMATICAL MONOSPACE SMALL M
-1D697;AL # MATHEMATICAL MONOSPACE SMALL N
-1D698;AL # MATHEMATICAL MONOSPACE SMALL O
-1D699;AL # MATHEMATICAL MONOSPACE SMALL P
-1D69A;AL # MATHEMATICAL MONOSPACE SMALL Q
-1D69B;AL # MATHEMATICAL MONOSPACE SMALL R
-1D69C;AL # MATHEMATICAL MONOSPACE SMALL S
-1D69D;AL # MATHEMATICAL MONOSPACE SMALL T
-1D69E;AL # MATHEMATICAL MONOSPACE SMALL U
-1D69F;AL # MATHEMATICAL MONOSPACE SMALL V
-1D6A0;AL # MATHEMATICAL MONOSPACE SMALL W
-1D6A1;AL # MATHEMATICAL MONOSPACE SMALL X
-1D6A2;AL # MATHEMATICAL MONOSPACE SMALL Y
-1D6A3;AL # MATHEMATICAL MONOSPACE SMALL Z
-1D6A4;AL # MATHEMATICAL ITALIC SMALL DOTLESS I
-1D6A5;AL # MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8;AL # MATHEMATICAL BOLD CAPITAL ALPHA
-1D6A9;AL # MATHEMATICAL BOLD CAPITAL BETA
-1D6AA;AL # MATHEMATICAL BOLD CAPITAL GAMMA
-1D6AB;AL # MATHEMATICAL BOLD CAPITAL DELTA
-1D6AC;AL # MATHEMATICAL BOLD CAPITAL EPSILON
-1D6AD;AL # MATHEMATICAL BOLD CAPITAL ZETA
-1D6AE;AL # MATHEMATICAL BOLD CAPITAL ETA
-1D6AF;AL # MATHEMATICAL BOLD CAPITAL THETA
-1D6B0;AL # MATHEMATICAL BOLD CAPITAL IOTA
-1D6B1;AL # MATHEMATICAL BOLD CAPITAL KAPPA
-1D6B2;AL # MATHEMATICAL BOLD CAPITAL LAMDA
-1D6B3;AL # MATHEMATICAL BOLD CAPITAL MU
-1D6B4;AL # MATHEMATICAL BOLD CAPITAL NU
-1D6B5;AL # MATHEMATICAL BOLD CAPITAL XI
-1D6B6;AL # MATHEMATICAL BOLD CAPITAL OMICRON
-1D6B7;AL # MATHEMATICAL BOLD CAPITAL PI
-1D6B8;AL # MATHEMATICAL BOLD CAPITAL RHO
-1D6B9;AL # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6BA;AL # MATHEMATICAL BOLD CAPITAL SIGMA
-1D6BB;AL # MATHEMATICAL BOLD CAPITAL TAU
-1D6BC;AL # MATHEMATICAL BOLD CAPITAL UPSILON
-1D6BD;AL # MATHEMATICAL BOLD CAPITAL PHI
-1D6BE;AL # MATHEMATICAL BOLD CAPITAL CHI
-1D6BF;AL # MATHEMATICAL BOLD CAPITAL PSI
-1D6C0;AL # MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1;AL # MATHEMATICAL BOLD NABLA
-1D6C2;AL # MATHEMATICAL BOLD SMALL ALPHA
-1D6C3;AL # MATHEMATICAL BOLD SMALL BETA
-1D6C4;AL # MATHEMATICAL BOLD SMALL GAMMA
-1D6C5;AL # MATHEMATICAL BOLD SMALL DELTA
-1D6C6;AL # MATHEMATICAL BOLD SMALL EPSILON
-1D6C7;AL # MATHEMATICAL BOLD SMALL ZETA
-1D6C8;AL # MATHEMATICAL BOLD SMALL ETA
-1D6C9;AL # MATHEMATICAL BOLD SMALL THETA
-1D6CA;AL # MATHEMATICAL BOLD SMALL IOTA
-1D6CB;AL # MATHEMATICAL BOLD SMALL KAPPA
-1D6CC;AL # MATHEMATICAL BOLD SMALL LAMDA
-1D6CD;AL # MATHEMATICAL BOLD SMALL MU
-1D6CE;AL # MATHEMATICAL BOLD SMALL NU
-1D6CF;AL # MATHEMATICAL BOLD SMALL XI
-1D6D0;AL # MATHEMATICAL BOLD SMALL OMICRON
-1D6D1;AL # MATHEMATICAL BOLD SMALL PI
-1D6D2;AL # MATHEMATICAL BOLD SMALL RHO
-1D6D3;AL # MATHEMATICAL BOLD SMALL FINAL SIGMA
-1D6D4;AL # MATHEMATICAL BOLD SMALL SIGMA
-1D6D5;AL # MATHEMATICAL BOLD SMALL TAU
-1D6D6;AL # MATHEMATICAL BOLD SMALL UPSILON
-1D6D7;AL # MATHEMATICAL BOLD SMALL PHI
-1D6D8;AL # MATHEMATICAL BOLD SMALL CHI
-1D6D9;AL # MATHEMATICAL BOLD SMALL PSI
-1D6DA;AL # MATHEMATICAL BOLD SMALL OMEGA
-1D6DB;AL # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC;AL # MATHEMATICAL BOLD EPSILON SYMBOL
-1D6DD;AL # MATHEMATICAL BOLD THETA SYMBOL
-1D6DE;AL # MATHEMATICAL BOLD KAPPA SYMBOL
-1D6DF;AL # MATHEMATICAL BOLD PHI SYMBOL
-1D6E0;AL # MATHEMATICAL BOLD RHO SYMBOL
-1D6E1;AL # MATHEMATICAL BOLD PI SYMBOL
-1D6E2;AL # MATHEMATICAL ITALIC CAPITAL ALPHA
-1D6E3;AL # MATHEMATICAL ITALIC CAPITAL BETA
-1D6E4;AL # MATHEMATICAL ITALIC CAPITAL GAMMA
-1D6E5;AL # MATHEMATICAL ITALIC CAPITAL DELTA
-1D6E6;AL # MATHEMATICAL ITALIC CAPITAL EPSILON
-1D6E7;AL # MATHEMATICAL ITALIC CAPITAL ZETA
-1D6E8;AL # MATHEMATICAL ITALIC CAPITAL ETA
-1D6E9;AL # MATHEMATICAL ITALIC CAPITAL THETA
-1D6EA;AL # MATHEMATICAL ITALIC CAPITAL IOTA
-1D6EB;AL # MATHEMATICAL ITALIC CAPITAL KAPPA
-1D6EC;AL # MATHEMATICAL ITALIC CAPITAL LAMDA
-1D6ED;AL # MATHEMATICAL ITALIC CAPITAL MU
-1D6EE;AL # MATHEMATICAL ITALIC CAPITAL NU
-1D6EF;AL # MATHEMATICAL ITALIC CAPITAL XI
-1D6F0;AL # MATHEMATICAL ITALIC CAPITAL OMICRON
-1D6F1;AL # MATHEMATICAL ITALIC CAPITAL PI
-1D6F2;AL # MATHEMATICAL ITALIC CAPITAL RHO
-1D6F3;AL # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D6F4;AL # MATHEMATICAL ITALIC CAPITAL SIGMA
-1D6F5;AL # MATHEMATICAL ITALIC CAPITAL TAU
-1D6F6;AL # MATHEMATICAL ITALIC CAPITAL UPSILON
-1D6F7;AL # MATHEMATICAL ITALIC CAPITAL PHI
-1D6F8;AL # MATHEMATICAL ITALIC CAPITAL CHI
-1D6F9;AL # MATHEMATICAL ITALIC CAPITAL PSI
-1D6FA;AL # MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB;AL # MATHEMATICAL ITALIC NABLA
-1D6FC;AL # MATHEMATICAL ITALIC SMALL ALPHA
-1D6FD;AL # MATHEMATICAL ITALIC SMALL BETA
-1D6FE;AL # MATHEMATICAL ITALIC SMALL GAMMA
-1D6FF;AL # MATHEMATICAL ITALIC SMALL DELTA
-1D700;AL # MATHEMATICAL ITALIC SMALL EPSILON
-1D701;AL # MATHEMATICAL ITALIC SMALL ZETA
-1D702;AL # MATHEMATICAL ITALIC SMALL ETA
-1D703;AL # MATHEMATICAL ITALIC SMALL THETA
-1D704;AL # MATHEMATICAL ITALIC SMALL IOTA
-1D705;AL # MATHEMATICAL ITALIC SMALL KAPPA
-1D706;AL # MATHEMATICAL ITALIC SMALL LAMDA
-1D707;AL # MATHEMATICAL ITALIC SMALL MU
-1D708;AL # MATHEMATICAL ITALIC SMALL NU
-1D709;AL # MATHEMATICAL ITALIC SMALL XI
-1D70A;AL # MATHEMATICAL ITALIC SMALL OMICRON
-1D70B;AL # MATHEMATICAL ITALIC SMALL PI
-1D70C;AL # MATHEMATICAL ITALIC SMALL RHO
-1D70D;AL # MATHEMATICAL ITALIC SMALL FINAL SIGMA
-1D70E;AL # MATHEMATICAL ITALIC SMALL SIGMA
-1D70F;AL # MATHEMATICAL ITALIC SMALL TAU
-1D710;AL # MATHEMATICAL ITALIC SMALL UPSILON
-1D711;AL # MATHEMATICAL ITALIC SMALL PHI
-1D712;AL # MATHEMATICAL ITALIC SMALL CHI
-1D713;AL # MATHEMATICAL ITALIC SMALL PSI
-1D714;AL # MATHEMATICAL ITALIC SMALL OMEGA
-1D715;AL # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716;AL # MATHEMATICAL ITALIC EPSILON SYMBOL
-1D717;AL # MATHEMATICAL ITALIC THETA SYMBOL
-1D718;AL # MATHEMATICAL ITALIC KAPPA SYMBOL
-1D719;AL # MATHEMATICAL ITALIC PHI SYMBOL
-1D71A;AL # MATHEMATICAL ITALIC RHO SYMBOL
-1D71B;AL # MATHEMATICAL ITALIC PI SYMBOL
-1D71C;AL # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D71D;AL # MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D71E;AL # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D71F;AL # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D720;AL # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D721;AL # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D722;AL # MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D723;AL # MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D724;AL # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D725;AL # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D726;AL # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D727;AL # MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D728;AL # MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D729;AL # MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D72A;AL # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D72B;AL # MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D72C;AL # MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D72D;AL # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D72E;AL # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D72F;AL # MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D730;AL # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D731;AL # MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D732;AL # MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D733;AL # MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D734;AL # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735;AL # MATHEMATICAL BOLD ITALIC NABLA
-1D736;AL # MATHEMATICAL BOLD ITALIC SMALL ALPHA
-1D737;AL # MATHEMATICAL BOLD ITALIC SMALL BETA
-1D738;AL # MATHEMATICAL BOLD ITALIC SMALL GAMMA
-1D739;AL # MATHEMATICAL BOLD ITALIC SMALL DELTA
-1D73A;AL # MATHEMATICAL BOLD ITALIC SMALL EPSILON
-1D73B;AL # MATHEMATICAL BOLD ITALIC SMALL ZETA
-1D73C;AL # MATHEMATICAL BOLD ITALIC SMALL ETA
-1D73D;AL # MATHEMATICAL BOLD ITALIC SMALL THETA
-1D73E;AL # MATHEMATICAL BOLD ITALIC SMALL IOTA
-1D73F;AL # MATHEMATICAL BOLD ITALIC SMALL KAPPA
-1D740;AL # MATHEMATICAL BOLD ITALIC SMALL LAMDA
-1D741;AL # MATHEMATICAL BOLD ITALIC SMALL MU
-1D742;AL # MATHEMATICAL BOLD ITALIC SMALL NU
-1D743;AL # MATHEMATICAL BOLD ITALIC SMALL XI
-1D744;AL # MATHEMATICAL BOLD ITALIC SMALL OMICRON
-1D745;AL # MATHEMATICAL BOLD ITALIC SMALL PI
-1D746;AL # MATHEMATICAL BOLD ITALIC SMALL RHO
-1D747;AL # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
-1D748;AL # MATHEMATICAL BOLD ITALIC SMALL SIGMA
-1D749;AL # MATHEMATICAL BOLD ITALIC SMALL TAU
-1D74A;AL # MATHEMATICAL BOLD ITALIC SMALL UPSILON
-1D74B;AL # MATHEMATICAL BOLD ITALIC SMALL PHI
-1D74C;AL # MATHEMATICAL BOLD ITALIC SMALL CHI
-1D74D;AL # MATHEMATICAL BOLD ITALIC SMALL PSI
-1D74E;AL # MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F;AL # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750;AL # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
-1D751;AL # MATHEMATICAL BOLD ITALIC THETA SYMBOL
-1D752;AL # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
-1D753;AL # MATHEMATICAL BOLD ITALIC PHI SYMBOL
-1D754;AL # MATHEMATICAL BOLD ITALIC RHO SYMBOL
-1D755;AL # MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D756;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D757;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D758;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D759;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D75A;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D75B;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D75C;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D75D;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D75E;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D75F;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D760;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D761;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D762;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D763;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D764;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D765;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D766;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D767;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D768;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D769;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D76A;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D76B;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D76C;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D76D;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D76E;AL # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F;AL # MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770;AL # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
-1D771;AL # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
-1D772;AL # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
-1D773;AL # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
-1D774;AL # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
-1D775;AL # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
-1D776;AL # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
-1D777;AL # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
-1D778;AL # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
-1D779;AL # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
-1D77A;AL # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
-1D77B;AL # MATHEMATICAL SANS-SERIF BOLD SMALL MU
-1D77C;AL # MATHEMATICAL SANS-SERIF BOLD SMALL NU
-1D77D;AL # MATHEMATICAL SANS-SERIF BOLD SMALL XI
-1D77E;AL # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
-1D77F;AL # MATHEMATICAL SANS-SERIF BOLD SMALL PI
-1D780;AL # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
-1D781;AL # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
-1D782;AL # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
-1D783;AL # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
-1D784;AL # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
-1D785;AL # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
-1D786;AL # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
-1D787;AL # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
-1D788;AL # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789;AL # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A;AL # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
-1D78B;AL # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
-1D78C;AL # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
-1D78D;AL # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
-1D78E;AL # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
-1D78F;AL # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D790;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1D791;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D792;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D793;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D794;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1D795;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-1D796;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1D797;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D798;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1D799;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-1D79A;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D79B;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-1D79C;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-1D79D;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-1D79E;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1D79F;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D7A0;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D7A1;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1D7A2;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-1D7A3;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-1D7A4;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1D7A5;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D7A6;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D7A7;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D7A8;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
-1D7AB;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
-1D7AC;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
-1D7AD;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
-1D7AE;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
-1D7AF;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
-1D7B0;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
-1D7B1;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
-1D7B2;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
-1D7B3;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
-1D7B4;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
-1D7B5;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
-1D7B6;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
-1D7B7;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
-1D7B8;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
-1D7B9;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
-1D7BA;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
-1D7BB;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
-1D7BC;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
-1D7BD;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
-1D7BE;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
-1D7BF;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
-1D7C0;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
-1D7C1;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
-1D7C2;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
-1D7C5;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
-1D7C6;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
-1D7C7;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
-1D7C8;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
-1D7C9;AL # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CA;AL # MATHEMATICAL BOLD CAPITAL DIGAMMA
-1D7CB;AL # MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE;NU # MATHEMATICAL BOLD DIGIT ZERO
-1D7CF;NU # MATHEMATICAL BOLD DIGIT ONE
-1D7D0;NU # MATHEMATICAL BOLD DIGIT TWO
-1D7D1;NU # MATHEMATICAL BOLD DIGIT THREE
-1D7D2;NU # MATHEMATICAL BOLD DIGIT FOUR
-1D7D3;NU # MATHEMATICAL BOLD DIGIT FIVE
-1D7D4;NU # MATHEMATICAL BOLD DIGIT SIX
-1D7D5;NU # MATHEMATICAL BOLD DIGIT SEVEN
-1D7D6;NU # MATHEMATICAL BOLD DIGIT EIGHT
-1D7D7;NU # MATHEMATICAL BOLD DIGIT NINE
-1D7D8;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7D9;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7DA;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7DB;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7DC;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7DD;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7DE;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7DF;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E0;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7E1;NU # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7E2;NU # MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7E3;NU # MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7E4;NU # MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7E5;NU # MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7E6;NU # MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7E7;NU # MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7E8;NU # MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7E9;NU # MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7EA;NU # MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7EB;NU # MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7EC;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7ED;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7EE;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7EF;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F0;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7F1;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7F2;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7F3;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7F4;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7F5;NU # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7F6;NU # MATHEMATICAL MONOSPACE DIGIT ZERO
-1D7F7;NU # MATHEMATICAL MONOSPACE DIGIT ONE
-1D7F8;NU # MATHEMATICAL MONOSPACE DIGIT TWO
-1D7F9;NU # MATHEMATICAL MONOSPACE DIGIT THREE
-1D7FA;NU # MATHEMATICAL MONOSPACE DIGIT FOUR
-1D7FB;NU # MATHEMATICAL MONOSPACE DIGIT FIVE
-1D7FC;NU # MATHEMATICAL MONOSPACE DIGIT SIX
-1D7FD;NU # MATHEMATICAL MONOSPACE DIGIT SEVEN
-1D7FE;NU # MATHEMATICAL MONOSPACE DIGIT EIGHT
-1D7FF;NU # MATHEMATICAL MONOSPACE DIGIT NINE
-1F000;AL # MAHJONG TILE EAST WIND
-1F001;AL # MAHJONG TILE SOUTH WIND
-1F002;AL # MAHJONG TILE WEST WIND
-1F003;AL # MAHJONG TILE NORTH WIND
-1F004;AL # MAHJONG TILE RED DRAGON
-1F005;AL # MAHJONG TILE GREEN DRAGON
-1F006;AL # MAHJONG TILE WHITE DRAGON
-1F007;AL # MAHJONG TILE ONE OF CHARACTERS
-1F008;AL # MAHJONG TILE TWO OF CHARACTERS
-1F009;AL # MAHJONG TILE THREE OF CHARACTERS
-1F00A;AL # MAHJONG TILE FOUR OF CHARACTERS
-1F00B;AL # MAHJONG TILE FIVE OF CHARACTERS
-1F00C;AL # MAHJONG TILE SIX OF CHARACTERS
-1F00D;AL # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E;AL # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F;AL # MAHJONG TILE NINE OF CHARACTERS
-1F010;AL # MAHJONG TILE ONE OF BAMBOOS
-1F011;AL # MAHJONG TILE TWO OF BAMBOOS
-1F012;AL # MAHJONG TILE THREE OF BAMBOOS
-1F013;AL # MAHJONG TILE FOUR OF BAMBOOS
-1F014;AL # MAHJONG TILE FIVE OF BAMBOOS
-1F015;AL # MAHJONG TILE SIX OF BAMBOOS
-1F016;AL # MAHJONG TILE SEVEN OF BAMBOOS
-1F017;AL # MAHJONG TILE EIGHT OF BAMBOOS
-1F018;AL # MAHJONG TILE NINE OF BAMBOOS
-1F019;AL # MAHJONG TILE ONE OF CIRCLES
-1F01A;AL # MAHJONG TILE TWO OF CIRCLES
-1F01B;AL # MAHJONG TILE THREE OF CIRCLES
-1F01C;AL # MAHJONG TILE FOUR OF CIRCLES
-1F01D;AL # MAHJONG TILE FIVE OF CIRCLES
-1F01E;AL # MAHJONG TILE SIX OF CIRCLES
-1F01F;AL # MAHJONG TILE SEVEN OF CIRCLES
-1F020;AL # MAHJONG TILE EIGHT OF CIRCLES
-1F021;AL # MAHJONG TILE NINE OF CIRCLES
-1F022;AL # MAHJONG TILE PLUM
-1F023;AL # MAHJONG TILE ORCHID
-1F024;AL # MAHJONG TILE BAMBOO
-1F025;AL # MAHJONG TILE CHRYSANTHEMUM
-1F026;AL # MAHJONG TILE SPRING
-1F027;AL # MAHJONG TILE SUMMER
-1F028;AL # MAHJONG TILE AUTUMN
-1F029;AL # MAHJONG TILE WINTER
-1F02A;AL # MAHJONG TILE JOKER
-1F02B;AL # MAHJONG TILE BACK
-1F030;AL # DOMINO TILE HORIZONTAL BACK
-1F031;AL # DOMINO TILE HORIZONTAL-00-00
-1F032;AL # DOMINO TILE HORIZONTAL-00-01
-1F033;AL # DOMINO TILE HORIZONTAL-00-02
-1F034;AL # DOMINO TILE HORIZONTAL-00-03
-1F035;AL # DOMINO TILE HORIZONTAL-00-04
-1F036;AL # DOMINO TILE HORIZONTAL-00-05
-1F037;AL # DOMINO TILE HORIZONTAL-00-06
-1F038;AL # DOMINO TILE HORIZONTAL-01-00
-1F039;AL # DOMINO TILE HORIZONTAL-01-01
-1F03A;AL # DOMINO TILE HORIZONTAL-01-02
-1F03B;AL # DOMINO TILE HORIZONTAL-01-03
-1F03C;AL # DOMINO TILE HORIZONTAL-01-04
-1F03D;AL # DOMINO TILE HORIZONTAL-01-05
-1F03E;AL # DOMINO TILE HORIZONTAL-01-06
-1F03F;AL # DOMINO TILE HORIZONTAL-02-00
-1F040;AL # DOMINO TILE HORIZONTAL-02-01
-1F041;AL # DOMINO TILE HORIZONTAL-02-02
-1F042;AL # DOMINO TILE HORIZONTAL-02-03
-1F043;AL # DOMINO TILE HORIZONTAL-02-04
-1F044;AL # DOMINO TILE HORIZONTAL-02-05
-1F045;AL # DOMINO TILE HORIZONTAL-02-06
-1F046;AL # DOMINO TILE HORIZONTAL-03-00
-1F047;AL # DOMINO TILE HORIZONTAL-03-01
-1F048;AL # DOMINO TILE HORIZONTAL-03-02
-1F049;AL # DOMINO TILE HORIZONTAL-03-03
-1F04A;AL # DOMINO TILE HORIZONTAL-03-04
-1F04B;AL # DOMINO TILE HORIZONTAL-03-05
-1F04C;AL # DOMINO TILE HORIZONTAL-03-06
-1F04D;AL # DOMINO TILE HORIZONTAL-04-00
-1F04E;AL # DOMINO TILE HORIZONTAL-04-01
-1F04F;AL # DOMINO TILE HORIZONTAL-04-02
-1F050;AL # DOMINO TILE HORIZONTAL-04-03
-1F051;AL # DOMINO TILE HORIZONTAL-04-04
-1F052;AL # DOMINO TILE HORIZONTAL-04-05
-1F053;AL # DOMINO TILE HORIZONTAL-04-06
-1F054;AL # DOMINO TILE HORIZONTAL-05-00
-1F055;AL # DOMINO TILE HORIZONTAL-05-01
-1F056;AL # DOMINO TILE HORIZONTAL-05-02
-1F057;AL # DOMINO TILE HORIZONTAL-05-03
-1F058;AL # DOMINO TILE HORIZONTAL-05-04
-1F059;AL # DOMINO TILE HORIZONTAL-05-05
-1F05A;AL # DOMINO TILE HORIZONTAL-05-06
-1F05B;AL # DOMINO TILE HORIZONTAL-06-00
-1F05C;AL # DOMINO TILE HORIZONTAL-06-01
-1F05D;AL # DOMINO TILE HORIZONTAL-06-02
-1F05E;AL # DOMINO TILE HORIZONTAL-06-03
-1F05F;AL # DOMINO TILE HORIZONTAL-06-04
-1F060;AL # DOMINO TILE HORIZONTAL-06-05
-1F061;AL # DOMINO TILE HORIZONTAL-06-06
-1F062;AL # DOMINO TILE VERTICAL BACK
-1F063;AL # DOMINO TILE VERTICAL-00-00
-1F064;AL # DOMINO TILE VERTICAL-00-01
-1F065;AL # DOMINO TILE VERTICAL-00-02
-1F066;AL # DOMINO TILE VERTICAL-00-03
-1F067;AL # DOMINO TILE VERTICAL-00-04
-1F068;AL # DOMINO TILE VERTICAL-00-05
-1F069;AL # DOMINO TILE VERTICAL-00-06
-1F06A;AL # DOMINO TILE VERTICAL-01-00
-1F06B;AL # DOMINO TILE VERTICAL-01-01
-1F06C;AL # DOMINO TILE VERTICAL-01-02
-1F06D;AL # DOMINO TILE VERTICAL-01-03
-1F06E;AL # DOMINO TILE VERTICAL-01-04
-1F06F;AL # DOMINO TILE VERTICAL-01-05
-1F070;AL # DOMINO TILE VERTICAL-01-06
-1F071;AL # DOMINO TILE VERTICAL-02-00
-1F072;AL # DOMINO TILE VERTICAL-02-01
-1F073;AL # DOMINO TILE VERTICAL-02-02
-1F074;AL # DOMINO TILE VERTICAL-02-03
-1F075;AL # DOMINO TILE VERTICAL-02-04
-1F076;AL # DOMINO TILE VERTICAL-02-05
-1F077;AL # DOMINO TILE VERTICAL-02-06
-1F078;AL # DOMINO TILE VERTICAL-03-00
-1F079;AL # DOMINO TILE VERTICAL-03-01
-1F07A;AL # DOMINO TILE VERTICAL-03-02
-1F07B;AL # DOMINO TILE VERTICAL-03-03
-1F07C;AL # DOMINO TILE VERTICAL-03-04
-1F07D;AL # DOMINO TILE VERTICAL-03-05
-1F07E;AL # DOMINO TILE VERTICAL-03-06
-1F07F;AL # DOMINO TILE VERTICAL-04-00
-1F080;AL # DOMINO TILE VERTICAL-04-01
-1F081;AL # DOMINO TILE VERTICAL-04-02
-1F082;AL # DOMINO TILE VERTICAL-04-03
-1F083;AL # DOMINO TILE VERTICAL-04-04
-1F084;AL # DOMINO TILE VERTICAL-04-05
-1F085;AL # DOMINO TILE VERTICAL-04-06
-1F086;AL # DOMINO TILE VERTICAL-05-00
-1F087;AL # DOMINO TILE VERTICAL-05-01
-1F088;AL # DOMINO TILE VERTICAL-05-02
-1F089;AL # DOMINO TILE VERTICAL-05-03
-1F08A;AL # DOMINO TILE VERTICAL-05-04
-1F08B;AL # DOMINO TILE VERTICAL-05-05
-1F08C;AL # DOMINO TILE VERTICAL-05-06
-1F08D;AL # DOMINO TILE VERTICAL-06-00
-1F08E;AL # DOMINO TILE VERTICAL-06-01
-1F08F;AL # DOMINO TILE VERTICAL-06-02
-1F090;AL # DOMINO TILE VERTICAL-06-03
-1F091;AL # DOMINO TILE VERTICAL-06-04
-1F092;AL # DOMINO TILE VERTICAL-06-05
-1F093;AL # DOMINO TILE VERTICAL-06-06
-1F100;AI # DIGIT ZERO FULL STOP
-1F101;AI # DIGIT ZERO COMMA
-1F102;AI # DIGIT ONE COMMA
-1F103;AI # DIGIT TWO COMMA
-1F104;AI # DIGIT THREE COMMA
-1F105;AI # DIGIT FOUR COMMA
-1F106;AI # DIGIT FIVE COMMA
-1F107;AI # DIGIT SIX COMMA
-1F108;AI # DIGIT SEVEN COMMA
-1F109;AI # DIGIT EIGHT COMMA
-1F10A;AI # DIGIT NINE COMMA
-1F110;AI # PARENTHESIZED LATIN CAPITAL LETTER A
-1F111;AI # PARENTHESIZED LATIN CAPITAL LETTER B
-1F112;AI # PARENTHESIZED LATIN CAPITAL LETTER C
-1F113;AI # PARENTHESIZED LATIN CAPITAL LETTER D
-1F114;AI # PARENTHESIZED LATIN CAPITAL LETTER E
-1F115;AI # PARENTHESIZED LATIN CAPITAL LETTER F
-1F116;AI # PARENTHESIZED LATIN CAPITAL LETTER G
-1F117;AI # PARENTHESIZED LATIN CAPITAL LETTER H
-1F118;AI # PARENTHESIZED LATIN CAPITAL LETTER I
-1F119;AI # PARENTHESIZED LATIN CAPITAL LETTER J
-1F11A;AI # PARENTHESIZED LATIN CAPITAL LETTER K
-1F11B;AI # PARENTHESIZED LATIN CAPITAL LETTER L
-1F11C;AI # PARENTHESIZED LATIN CAPITAL LETTER M
-1F11D;AI # PARENTHESIZED LATIN CAPITAL LETTER N
-1F11E;AI # PARENTHESIZED LATIN CAPITAL LETTER O
-1F11F;AI # PARENTHESIZED LATIN CAPITAL LETTER P
-1F120;AI # PARENTHESIZED LATIN CAPITAL LETTER Q
-1F121;AI # PARENTHESIZED LATIN CAPITAL LETTER R
-1F122;AI # PARENTHESIZED LATIN CAPITAL LETTER S
-1F123;AI # PARENTHESIZED LATIN CAPITAL LETTER T
-1F124;AI # PARENTHESIZED LATIN CAPITAL LETTER U
-1F125;AI # PARENTHESIZED LATIN CAPITAL LETTER V
-1F126;AI # PARENTHESIZED LATIN CAPITAL LETTER W
-1F127;AI # PARENTHESIZED LATIN CAPITAL LETTER X
-1F128;AI # PARENTHESIZED LATIN CAPITAL LETTER Y
-1F129;AI # PARENTHESIZED LATIN CAPITAL LETTER Z
-1F12A;AI # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12B;AI # CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F12C;AI # CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F12D;AI # CIRCLED CD
-1F12E;AL # CIRCLED WZ
-1F131;AI # SQUARED LATIN CAPITAL LETTER B
-1F13D;AI # SQUARED LATIN CAPITAL LETTER N
-1F13F;AI # SQUARED LATIN CAPITAL LETTER P
-1F142;AI # SQUARED LATIN CAPITAL LETTER S
-1F146;AI # SQUARED LATIN CAPITAL LETTER W
-1F14A;AI # SQUARED HV
-1F14B;AI # SQUARED MV
-1F14C;AI # SQUARED SD
-1F14D;AI # SQUARED SS
-1F14E;AI # SQUARED PPV
-1F157;AI # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F;AI # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER L
-1F17C;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A;AI # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18B;AI # NEGATIVE SQUARED IC
-1F18C;AI # NEGATIVE SQUARED PA
-1F18D;AI # NEGATIVE SQUARED SA
-1F190;AI # SQUARE DJ
-1F200;ID # SQUARE HIRAGANA HOKA
-1F210;ID # SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F211;ID # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-1F212;ID # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-1F213;ID # SQUARED KATAKANA DE
-1F214;ID # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-1F215;ID # SQUARED CJK UNIFIED IDEOGRAPH-591A
-1F216;ID # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-1F217;ID # SQUARED CJK UNIFIED IDEOGRAPH-5929
-1F218;ID # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-1F219;ID # SQUARED CJK UNIFIED IDEOGRAPH-6620
-1F21A;ID # SQUARED CJK UNIFIED IDEOGRAPH-7121
-1F21B;ID # SQUARED CJK UNIFIED IDEOGRAPH-6599
-1F21C;ID # SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F21D;ID # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F21E;ID # SQUARED CJK UNIFIED IDEOGRAPH-518D
-1F21F;ID # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-1F220;ID # SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F221;ID # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-1F222;ID # SQUARED CJK UNIFIED IDEOGRAPH-751F
-1F223;ID # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-1F224;ID # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-1F225;ID # SQUARED CJK UNIFIED IDEOGRAPH-5439
-1F226;ID # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-1F227;ID # SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F228;ID # SQUARED CJK UNIFIED IDEOGRAPH-6355
-1F229;ID # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-1F22A;ID # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-1F22B;ID # SQUARED CJK UNIFIED IDEOGRAPH-904A
-1F22C;ID # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-1F22D;ID # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-1F22E;ID # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F22F;ID # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F230;ID # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-1F231;ID # SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F241;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F243;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F244;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F245;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F246;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-1F247;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F248;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6;ID # <CJK Ideograph Extension B, First>..<CJK Ideograph Extension B, Last>
-2A6D7..2A6FF;ID # <reserved-2A6D7>..<reserved-2A6FF>
-2A700..2B734;ID # <CJK Ideograph Extension C, First>..<CJK Ideograph Extension C, Last>
-2B735..2F7FF;ID # <reserved-2B735>..<reserved-2F7FF>
-2F800;ID # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F801;ID # CJK COMPATIBILITY IDEOGRAPH-2F801
-2F802;ID # CJK COMPATIBILITY IDEOGRAPH-2F802
-2F803;ID # CJK COMPATIBILITY IDEOGRAPH-2F803
-2F804;ID # CJK COMPATIBILITY IDEOGRAPH-2F804
-2F805;ID # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806;ID # CJK COMPATIBILITY IDEOGRAPH-2F806
-2F807;ID # CJK COMPATIBILITY IDEOGRAPH-2F807
-2F808;ID # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809;ID # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80A;ID # CJK COMPATIBILITY IDEOGRAPH-2F80A
-2F80B;ID # CJK COMPATIBILITY IDEOGRAPH-2F80B
-2F80C;ID # CJK COMPATIBILITY IDEOGRAPH-2F80C
-2F80D;ID # CJK COMPATIBILITY IDEOGRAPH-2F80D
-2F80E;ID # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F;ID # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810;ID # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F811;ID # CJK COMPATIBILITY IDEOGRAPH-2F811
-2F812;ID # CJK COMPATIBILITY IDEOGRAPH-2F812
-2F813;ID # CJK COMPATIBILITY IDEOGRAPH-2F813
-2F814;ID # CJK COMPATIBILITY IDEOGRAPH-2F814
-2F815;ID # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F816;ID # CJK COMPATIBILITY IDEOGRAPH-2F816
-2F817;ID # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818;ID # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F819;ID # CJK COMPATIBILITY IDEOGRAPH-2F819
-2F81A;ID # CJK COMPATIBILITY IDEOGRAPH-2F81A
-2F81B;ID # CJK COMPATIBILITY IDEOGRAPH-2F81B
-2F81C;ID # CJK COMPATIBILITY IDEOGRAPH-2F81C
-2F81D;ID # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E;ID # CJK COMPATIBILITY IDEOGRAPH-2F81E
-2F81F;ID # CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F820;ID # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821;ID # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822;ID # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823;ID # CJK COMPATIBILITY IDEOGRAPH-2F823
-2F824;ID # CJK COMPATIBILITY IDEOGRAPH-2F824
-2F825;ID # CJK COMPATIBILITY IDEOGRAPH-2F825
-2F826;ID # CJK COMPATIBILITY IDEOGRAPH-2F826
-2F827;ID # CJK COMPATIBILITY IDEOGRAPH-2F827
-2F828;ID # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829;ID # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A;ID # CJK COMPATIBILITY IDEOGRAPH-2F82A
-2F82B;ID # CJK COMPATIBILITY IDEOGRAPH-2F82B
-2F82C;ID # CJK COMPATIBILITY IDEOGRAPH-2F82C
-2F82D;ID # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E;ID # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F;ID # CJK COMPATIBILITY IDEOGRAPH-2F82F
-2F830;ID # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831;ID # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832;ID # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833;ID # CJK COMPATIBILITY IDEOGRAPH-2F833
-2F834;ID # CJK COMPATIBILITY IDEOGRAPH-2F834
-2F835;ID # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F836;ID # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837;ID # CJK COMPATIBILITY IDEOGRAPH-2F837
-2F838;ID # CJK COMPATIBILITY IDEOGRAPH-2F838
-2F839;ID # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A;ID # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B;ID # CJK COMPATIBILITY IDEOGRAPH-2F83B
-2F83C;ID # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F83D;ID # CJK COMPATIBILITY IDEOGRAPH-2F83D
-2F83E;ID # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F;ID # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840;ID # CJK COMPATIBILITY IDEOGRAPH-2F840
-2F841;ID # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842;ID # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843;ID # CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844;ID # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845;ID # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846;ID # CJK COMPATIBILITY IDEOGRAPH-2F846
-2F847;ID # CJK COMPATIBILITY IDEOGRAPH-2F847
-2F848;ID # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849;ID # CJK COMPATIBILITY IDEOGRAPH-2F849
-2F84A;ID # CJK COMPATIBILITY IDEOGRAPH-2F84A
-2F84B;ID # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84C;ID # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84D;ID # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F84E;ID # CJK COMPATIBILITY IDEOGRAPH-2F84E
-2F84F;ID # CJK COMPATIBILITY IDEOGRAPH-2F84F
-2F850;ID # CJK COMPATIBILITY IDEOGRAPH-2F850
-2F851;ID # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F852;ID # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853;ID # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854;ID # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F855;ID # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F856;ID # CJK COMPATIBILITY IDEOGRAPH-2F856
-2F857;ID # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F858;ID # CJK COMPATIBILITY IDEOGRAPH-2F858
-2F859;ID # CJK COMPATIBILITY IDEOGRAPH-2F859
-2F85A;ID # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B;ID # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C;ID # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D;ID # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E;ID # CJK COMPATIBILITY IDEOGRAPH-2F85E
-2F85F;ID # CJK COMPATIBILITY IDEOGRAPH-2F85F
-2F860;ID # CJK COMPATIBILITY IDEOGRAPH-2F860
-2F861;ID # CJK COMPATIBILITY IDEOGRAPH-2F861
-2F862;ID # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863;ID # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864;ID # CJK COMPATIBILITY IDEOGRAPH-2F864
-2F865;ID # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F866;ID # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F867;ID # CJK COMPATIBILITY IDEOGRAPH-2F867
-2F868;ID # CJK COMPATIBILITY IDEOGRAPH-2F868
-2F869;ID # CJK COMPATIBILITY IDEOGRAPH-2F869
-2F86A;ID # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B;ID # CJK COMPATIBILITY IDEOGRAPH-2F86B
-2F86C;ID # CJK COMPATIBILITY IDEOGRAPH-2F86C
-2F86D;ID # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E;ID # CJK COMPATIBILITY IDEOGRAPH-2F86E
-2F86F;ID # CJK COMPATIBILITY IDEOGRAPH-2F86F
-2F870;ID # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F871;ID # CJK COMPATIBILITY IDEOGRAPH-2F871
-2F872;ID # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873;ID # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F874;ID # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F875;ID # CJK COMPATIBILITY IDEOGRAPH-2F875
-2F876;ID # CJK COMPATIBILITY IDEOGRAPH-2F876
-2F877;ID # CJK COMPATIBILITY IDEOGRAPH-2F877
-2F878;ID # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F879;ID # CJK COMPATIBILITY IDEOGRAPH-2F879
-2F87A;ID # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F87B;ID # CJK COMPATIBILITY IDEOGRAPH-2F87B
-2F87C;ID # CJK COMPATIBILITY IDEOGRAPH-2F87C
-2F87D;ID # CJK COMPATIBILITY IDEOGRAPH-2F87D
-2F87E;ID # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F87F;ID # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F880;ID # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F881;ID # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882;ID # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F883;ID # CJK COMPATIBILITY IDEOGRAPH-2F883
-2F884;ID # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885;ID # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886;ID # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887;ID # CJK COMPATIBILITY IDEOGRAPH-2F887
-2F888;ID # CJK COMPATIBILITY IDEOGRAPH-2F888
-2F889;ID # CJK COMPATIBILITY IDEOGRAPH-2F889
-2F88A;ID # CJK COMPATIBILITY IDEOGRAPH-2F88A
-2F88B;ID # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C;ID # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D;ID # CJK COMPATIBILITY IDEOGRAPH-2F88D
-2F88E;ID # CJK COMPATIBILITY IDEOGRAPH-2F88E
-2F88F;ID # CJK COMPATIBILITY IDEOGRAPH-2F88F
-2F890;ID # CJK COMPATIBILITY IDEOGRAPH-2F890
-2F891;ID # CJK COMPATIBILITY IDEOGRAPH-2F891
-2F892;ID # CJK COMPATIBILITY IDEOGRAPH-2F892
-2F893;ID # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F894;ID # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895;ID # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F896;ID # CJK COMPATIBILITY IDEOGRAPH-2F896
-2F897;ID # CJK COMPATIBILITY IDEOGRAPH-2F897
-2F898;ID # CJK COMPATIBILITY IDEOGRAPH-2F898
-2F899;ID # CJK COMPATIBILITY IDEOGRAPH-2F899
-2F89A;ID # CJK COMPATIBILITY IDEOGRAPH-2F89A
-2F89B;ID # CJK COMPATIBILITY IDEOGRAPH-2F89B
-2F89C;ID # CJK COMPATIBILITY IDEOGRAPH-2F89C
-2F89D;ID # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E;ID # CJK COMPATIBILITY IDEOGRAPH-2F89E
-2F89F;ID # CJK COMPATIBILITY IDEOGRAPH-2F89F
-2F8A0;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-2F8A1;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A1
-2F8A2;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A2
-2F8A3;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A4;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A4
-2F8A5;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-2F8A6;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A8;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-2F8A9;ID # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-2F8AA;ID # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-2F8AB;ID # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-2F8AC;ID # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AD;ID # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE;ID # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AF;ID # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-2F8B0;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-2F8B1;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-2F8B2;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-2F8B4;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-2F8B6;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8B7;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8B8;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B8
-2F8B9;ID # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8BA;ID # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-2F8BB;ID # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-2F8BC;ID # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-2F8BD;ID # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-2F8BE;ID # CJK COMPATIBILITY IDEOGRAPH-2F8BE
-2F8BF;ID # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-2F8C0;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8C1;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-2F8C2;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C2
-2F8C3;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C4;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-2F8C5;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-2F8C6;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C7;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C7
-2F8C8;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-2F8C9;ID # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-2F8CA;ID # CJK COMPATIBILITY IDEOGRAPH-2F8CA
-2F8CB;ID # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-2F8CC;ID # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8CD;ID # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-2F8CE;ID # CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8CF;ID # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D0;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8D1;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D1
-2F8D2;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F8D4;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-2F8D5;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-2F8D6;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F8D7;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2F8D8;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-2F8D9;ID # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA;ID # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-2F8DB;ID # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-2F8DC;ID # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-2F8DD;ID # CJK COMPATIBILITY IDEOGRAPH-2F8DD
-2F8DE;ID # CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8DF;ID # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-2F8E0;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-2F8E1;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-2F8E2;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E3;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E3
-2F8E4;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-2F8E5;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E6;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E7;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E7
-2F8E8;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9;ID # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA;ID # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-2F8EB;ID # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-2F8EC;ID # CJK COMPATIBILITY IDEOGRAPH-2F8EC
-2F8ED;ID # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-2F8EE;ID # CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F8EF;ID # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F0;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F0
-2F8F1;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F2;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F2
-2F8F3;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-2F8F4;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-2F8F5;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8F7;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F7
-2F8F8;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F8
-2F8F9;ID # CJK COMPATIBILITY IDEOGRAPH-2F8F9
-2F8FA;ID # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FB;ID # CJK COMPATIBILITY IDEOGRAPH-2F8FB
-2F8FC;ID # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-2F8FD;ID # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-2F8FE;ID # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-2F8FF;ID # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-2F900;ID # CJK COMPATIBILITY IDEOGRAPH-2F900
-2F901;ID # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F902;ID # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903;ID # CJK COMPATIBILITY IDEOGRAPH-2F903
-2F904;ID # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905;ID # CJK COMPATIBILITY IDEOGRAPH-2F905
-2F906;ID # CJK COMPATIBILITY IDEOGRAPH-2F906
-2F907;ID # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F908;ID # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909;ID # CJK COMPATIBILITY IDEOGRAPH-2F909
-2F90A;ID # CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F90B;ID # CJK COMPATIBILITY IDEOGRAPH-2F90B
-2F90C;ID # CJK COMPATIBILITY IDEOGRAPH-2F90C
-2F90D;ID # CJK COMPATIBILITY IDEOGRAPH-2F90D
-2F90E;ID # CJK COMPATIBILITY IDEOGRAPH-2F90E
-2F90F;ID # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F910;ID # CJK COMPATIBILITY IDEOGRAPH-2F910
-2F911;ID # CJK COMPATIBILITY IDEOGRAPH-2F911
-2F912;ID # CJK COMPATIBILITY IDEOGRAPH-2F912
-2F913;ID # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F914;ID # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F915;ID # CJK COMPATIBILITY IDEOGRAPH-2F915
-2F916;ID # CJK COMPATIBILITY IDEOGRAPH-2F916
-2F917;ID # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F918;ID # CJK COMPATIBILITY IDEOGRAPH-2F918
-2F919;ID # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F91A;ID # CJK COMPATIBILITY IDEOGRAPH-2F91A
-2F91B;ID # CJK COMPATIBILITY IDEOGRAPH-2F91B
-2F91C;ID # CJK COMPATIBILITY IDEOGRAPH-2F91C
-2F91D;ID # CJK COMPATIBILITY IDEOGRAPH-2F91D
-2F91E;ID # CJK COMPATIBILITY IDEOGRAPH-2F91E
-2F91F;ID # CJK COMPATIBILITY IDEOGRAPH-2F91F
-2F920;ID # CJK COMPATIBILITY IDEOGRAPH-2F920
-2F921;ID # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922;ID # CJK COMPATIBILITY IDEOGRAPH-2F922
-2F923;ID # CJK COMPATIBILITY IDEOGRAPH-2F923
-2F924;ID # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925;ID # CJK COMPATIBILITY IDEOGRAPH-2F925
-2F926;ID # CJK COMPATIBILITY IDEOGRAPH-2F926
-2F927;ID # CJK COMPATIBILITY IDEOGRAPH-2F927
-2F928;ID # CJK COMPATIBILITY IDEOGRAPH-2F928
-2F929;ID # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92A;ID # CJK COMPATIBILITY IDEOGRAPH-2F92A
-2F92B;ID # CJK COMPATIBILITY IDEOGRAPH-2F92B
-2F92C;ID # CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D;ID # CJK COMPATIBILITY IDEOGRAPH-2F92D
-2F92E;ID # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F;ID # CJK COMPATIBILITY IDEOGRAPH-2F92F
-2F930;ID # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931;ID # CJK COMPATIBILITY IDEOGRAPH-2F931
-2F932;ID # CJK COMPATIBILITY IDEOGRAPH-2F932
-2F933;ID # CJK COMPATIBILITY IDEOGRAPH-2F933
-2F934;ID # CJK COMPATIBILITY IDEOGRAPH-2F934
-2F935;ID # CJK COMPATIBILITY IDEOGRAPH-2F935
-2F936;ID # CJK COMPATIBILITY IDEOGRAPH-2F936
-2F937;ID # CJK COMPATIBILITY IDEOGRAPH-2F937
-2F938;ID # CJK COMPATIBILITY IDEOGRAPH-2F938
-2F939;ID # CJK COMPATIBILITY IDEOGRAPH-2F939
-2F93A;ID # CJK COMPATIBILITY IDEOGRAPH-2F93A
-2F93B;ID # CJK COMPATIBILITY IDEOGRAPH-2F93B
-2F93C;ID # CJK COMPATIBILITY IDEOGRAPH-2F93C
-2F93D;ID # CJK COMPATIBILITY IDEOGRAPH-2F93D
-2F93E;ID # CJK COMPATIBILITY IDEOGRAPH-2F93E
-2F93F;ID # CJK COMPATIBILITY IDEOGRAPH-2F93F
-2F940;ID # CJK COMPATIBILITY IDEOGRAPH-2F940
-2F941;ID # CJK COMPATIBILITY IDEOGRAPH-2F941
-2F942;ID # CJK COMPATIBILITY IDEOGRAPH-2F942
-2F943;ID # CJK COMPATIBILITY IDEOGRAPH-2F943
-2F944;ID # CJK COMPATIBILITY IDEOGRAPH-2F944
-2F945;ID # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946;ID # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947;ID # CJK COMPATIBILITY IDEOGRAPH-2F947
-2F948;ID # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F949;ID # CJK COMPATIBILITY IDEOGRAPH-2F949
-2F94A;ID # CJK COMPATIBILITY IDEOGRAPH-2F94A
-2F94B;ID # CJK COMPATIBILITY IDEOGRAPH-2F94B
-2F94C;ID # CJK COMPATIBILITY IDEOGRAPH-2F94C
-2F94D;ID # CJK COMPATIBILITY IDEOGRAPH-2F94D
-2F94E;ID # CJK COMPATIBILITY IDEOGRAPH-2F94E
-2F94F;ID # CJK COMPATIBILITY IDEOGRAPH-2F94F
-2F950;ID # CJK COMPATIBILITY IDEOGRAPH-2F950
-2F951;ID # CJK COMPATIBILITY IDEOGRAPH-2F951
-2F952;ID # CJK COMPATIBILITY IDEOGRAPH-2F952
-2F953;ID # CJK COMPATIBILITY IDEOGRAPH-2F953
-2F954;ID # CJK COMPATIBILITY IDEOGRAPH-2F954
-2F955;ID # CJK COMPATIBILITY IDEOGRAPH-2F955
-2F956;ID # CJK COMPATIBILITY IDEOGRAPH-2F956
-2F957;ID # CJK COMPATIBILITY IDEOGRAPH-2F957
-2F958;ID # CJK COMPATIBILITY IDEOGRAPH-2F958
-2F959;ID # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A;ID # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B;ID # CJK COMPATIBILITY IDEOGRAPH-2F95B
-2F95C;ID # CJK COMPATIBILITY IDEOGRAPH-2F95C
-2F95D;ID # CJK COMPATIBILITY IDEOGRAPH-2F95D
-2F95E;ID # CJK COMPATIBILITY IDEOGRAPH-2F95E
-2F95F;ID # CJK COMPATIBILITY IDEOGRAPH-2F95F
-2F960;ID # CJK COMPATIBILITY IDEOGRAPH-2F960
-2F961;ID # CJK COMPATIBILITY IDEOGRAPH-2F961
-2F962;ID # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963;ID # CJK COMPATIBILITY IDEOGRAPH-2F963
-2F964;ID # CJK COMPATIBILITY IDEOGRAPH-2F964
-2F965;ID # CJK COMPATIBILITY IDEOGRAPH-2F965
-2F966;ID # CJK COMPATIBILITY IDEOGRAPH-2F966
-2F967;ID # CJK COMPATIBILITY IDEOGRAPH-2F967
-2F968;ID # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F969;ID # CJK COMPATIBILITY IDEOGRAPH-2F969
-2F96A;ID # CJK COMPATIBILITY IDEOGRAPH-2F96A
-2F96B;ID # CJK COMPATIBILITY IDEOGRAPH-2F96B
-2F96C;ID # CJK COMPATIBILITY IDEOGRAPH-2F96C
-2F96D;ID # CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F96E;ID # CJK COMPATIBILITY IDEOGRAPH-2F96E
-2F96F;ID # CJK COMPATIBILITY IDEOGRAPH-2F96F
-2F970;ID # CJK COMPATIBILITY IDEOGRAPH-2F970
-2F971;ID # CJK COMPATIBILITY IDEOGRAPH-2F971
-2F972;ID # CJK COMPATIBILITY IDEOGRAPH-2F972
-2F973;ID # CJK COMPATIBILITY IDEOGRAPH-2F973
-2F974;ID # CJK COMPATIBILITY IDEOGRAPH-2F974
-2F975;ID # CJK COMPATIBILITY IDEOGRAPH-2F975
-2F976;ID # CJK COMPATIBILITY IDEOGRAPH-2F976
-2F977;ID # CJK COMPATIBILITY IDEOGRAPH-2F977
-2F978;ID # CJK COMPATIBILITY IDEOGRAPH-2F978
-2F979;ID # CJK COMPATIBILITY IDEOGRAPH-2F979
-2F97A;ID # CJK COMPATIBILITY IDEOGRAPH-2F97A
-2F97B;ID # CJK COMPATIBILITY IDEOGRAPH-2F97B
-2F97C;ID # CJK COMPATIBILITY IDEOGRAPH-2F97C
-2F97D;ID # CJK COMPATIBILITY IDEOGRAPH-2F97D
-2F97E;ID # CJK COMPATIBILITY IDEOGRAPH-2F97E
-2F97F;ID # CJK COMPATIBILITY IDEOGRAPH-2F97F
-2F980;ID # CJK COMPATIBILITY IDEOGRAPH-2F980
-2F981;ID # CJK COMPATIBILITY IDEOGRAPH-2F981
-2F982;ID # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983;ID # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F984;ID # CJK COMPATIBILITY IDEOGRAPH-2F984
-2F985;ID # CJK COMPATIBILITY IDEOGRAPH-2F985
-2F986;ID # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F987;ID # CJK COMPATIBILITY IDEOGRAPH-2F987
-2F988;ID # CJK COMPATIBILITY IDEOGRAPH-2F988
-2F989;ID # CJK COMPATIBILITY IDEOGRAPH-2F989
-2F98A;ID # CJK COMPATIBILITY IDEOGRAPH-2F98A
-2F98B;ID # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C;ID # CJK COMPATIBILITY IDEOGRAPH-2F98C
-2F98D;ID # CJK COMPATIBILITY IDEOGRAPH-2F98D
-2F98E;ID # CJK COMPATIBILITY IDEOGRAPH-2F98E
-2F98F;ID # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F990;ID # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991;ID # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F992;ID # CJK COMPATIBILITY IDEOGRAPH-2F992
-2F993;ID # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994;ID # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995;ID # CJK COMPATIBILITY IDEOGRAPH-2F995
-2F996;ID # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F997;ID # CJK COMPATIBILITY IDEOGRAPH-2F997
-2F998;ID # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F999;ID # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99A;ID # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B;ID # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99C;ID # CJK COMPATIBILITY IDEOGRAPH-2F99C
-2F99D;ID # CJK COMPATIBILITY IDEOGRAPH-2F99D
-2F99E;ID # CJK COMPATIBILITY IDEOGRAPH-2F99E
-2F99F;ID # CJK COMPATIBILITY IDEOGRAPH-2F99F
-2F9A0;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F9A1;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F9A4;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A4
-2F9A5;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A5
-2F9A6;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A6
-2F9A7;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A7
-2F9A8;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9;ID # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-2F9AA;ID # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AB;ID # CJK COMPATIBILITY IDEOGRAPH-2F9AB
-2F9AC;ID # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-2F9AD;ID # CJK COMPATIBILITY IDEOGRAPH-2F9AD
-2F9AE;ID # CJK COMPATIBILITY IDEOGRAPH-2F9AE
-2F9AF;ID # CJK COMPATIBILITY IDEOGRAPH-2F9AF
-2F9B0;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B0
-2F9B1;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B1
-2F9B2;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B2
-2F9B3;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-2F9B4;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B7;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9B8;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B9;ID # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BA;ID # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9BB;ID # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BC;ID # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD;ID # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-2F9BE;ID # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-2F9BF;ID # CJK COMPATIBILITY IDEOGRAPH-2F9BF
-2F9C0;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-2F9C2;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C2
-2F9C3;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-2F9C5;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C5
-2F9C6;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-2F9C8;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C8
-2F9C9;ID # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-2F9CA;ID # CJK COMPATIBILITY IDEOGRAPH-2F9CA
-2F9CB;ID # CJK COMPATIBILITY IDEOGRAPH-2F9CB
-2F9CC;ID # CJK COMPATIBILITY IDEOGRAPH-2F9CC
-2F9CD;ID # CJK COMPATIBILITY IDEOGRAPH-2F9CD
-2F9CE;ID # CJK COMPATIBILITY IDEOGRAPH-2F9CE
-2F9CF;ID # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-2F9D0;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-2F9D1;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-2F9D2;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D3;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D3
-2F9D4;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-2F9D6;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9D8;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D8
-2F9D9;ID # CJK COMPATIBILITY IDEOGRAPH-2F9D9
-2F9DA;ID # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-2F9DB;ID # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DC;ID # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-2F9DD;ID # CJK COMPATIBILITY IDEOGRAPH-2F9DD
-2F9DE;ID # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-2F9DF;ID # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-2F9E0;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E0
-2F9E1;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E1
-2F9E2;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-2F9E3;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-2F9E4;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E5;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E5
-2F9E6;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-2F9E7;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-2F9E8;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9;ID # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-2F9EA;ID # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9EB;ID # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC;ID # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9ED;ID # CJK COMPATIBILITY IDEOGRAPH-2F9ED
-2F9EE;ID # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-2F9EF;ID # CJK COMPATIBILITY IDEOGRAPH-2F9EF
-2F9F0;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-2F9F1;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F1
-2F9F2;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F2
-2F9F3;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-2F9F4;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-2F9F5;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-2F9F6;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F6
-2F9F7;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F7
-2F9F8;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F8
-2F9F9;ID # CJK COMPATIBILITY IDEOGRAPH-2F9F9
-2F9FA;ID # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-2F9FB;ID # CJK COMPATIBILITY IDEOGRAPH-2F9FB
-2F9FC;ID # CJK COMPATIBILITY IDEOGRAPH-2F9FC
-2F9FD;ID # CJK COMPATIBILITY IDEOGRAPH-2F9FD
-2F9FE;ID # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF;ID # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-2FA00;ID # CJK COMPATIBILITY IDEOGRAPH-2FA00
-2FA01;ID # CJK COMPATIBILITY IDEOGRAPH-2FA01
-2FA02;ID # CJK COMPATIBILITY IDEOGRAPH-2FA02
-2FA03;ID # CJK COMPATIBILITY IDEOGRAPH-2FA03
-2FA04;ID # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05;ID # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06;ID # CJK COMPATIBILITY IDEOGRAPH-2FA06
-2FA07;ID # CJK COMPATIBILITY IDEOGRAPH-2FA07
-2FA08;ID # CJK COMPATIBILITY IDEOGRAPH-2FA08
-2FA09;ID # CJK COMPATIBILITY IDEOGRAPH-2FA09
-2FA0A;ID # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-2FA0B;ID # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-2FA0C;ID # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0D;ID # CJK COMPATIBILITY IDEOGRAPH-2FA0D
-2FA0E;ID # CJK COMPATIBILITY IDEOGRAPH-2FA0E
-2FA0F;ID # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-2FA10;ID # CJK COMPATIBILITY IDEOGRAPH-2FA10
-2FA11;ID # CJK COMPATIBILITY IDEOGRAPH-2FA11
-2FA12;ID # CJK COMPATIBILITY IDEOGRAPH-2FA12
-2FA13;ID # CJK COMPATIBILITY IDEOGRAPH-2FA13
-2FA14;ID # CJK COMPATIBILITY IDEOGRAPH-2FA14
-2FA15;ID # CJK COMPATIBILITY IDEOGRAPH-2FA15
-2FA16;ID # CJK COMPATIBILITY IDEOGRAPH-2FA16
-2FA17;ID # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18;ID # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19;ID # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A;ID # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B;ID # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C;ID # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-2FA1D;ID # CJK COMPATIBILITY IDEOGRAPH-2FA1D
-2FA1E..2FFFD;ID # <reserved-2FA1E>..<reserved-2FFFD>
-30000..3FFFD;ID # <reserved-30000>..<reserved-3FFFD>
-E0001;CM # LANGUAGE TAG
-E0020;CM # TAG SPACE
-E0021;CM # TAG EXCLAMATION MARK
-E0022;CM # TAG QUOTATION MARK
-E0023;CM # TAG NUMBER SIGN
-E0024;CM # TAG DOLLAR SIGN
-E0025;CM # TAG PERCENT SIGN
-E0026;CM # TAG AMPERSAND
-E0027;CM # TAG APOSTROPHE
-E0028;CM # TAG LEFT PARENTHESIS
-E0029;CM # TAG RIGHT PARENTHESIS
-E002A;CM # TAG ASTERISK
-E002B;CM # TAG PLUS SIGN
-E002C;CM # TAG COMMA
-E002D;CM # TAG HYPHEN-MINUS
-E002E;CM # TAG FULL STOP
-E002F;CM # TAG SOLIDUS
-E0030;CM # TAG DIGIT ZERO
-E0031;CM # TAG DIGIT ONE
-E0032;CM # TAG DIGIT TWO
-E0033;CM # TAG DIGIT THREE
-E0034;CM # TAG DIGIT FOUR
-E0035;CM # TAG DIGIT FIVE
-E0036;CM # TAG DIGIT SIX
-E0037;CM # TAG DIGIT SEVEN
-E0038;CM # TAG DIGIT EIGHT
-E0039;CM # TAG DIGIT NINE
-E003A;CM # TAG COLON
-E003B;CM # TAG SEMICOLON
-E003C;CM # TAG LESS-THAN SIGN
-E003D;CM # TAG EQUALS SIGN
-E003E;CM # TAG GREATER-THAN SIGN
-E003F;CM # TAG QUESTION MARK
-E0040;CM # TAG COMMERCIAL AT
-E0041;CM # TAG LATIN CAPITAL LETTER A
-E0042;CM # TAG LATIN CAPITAL LETTER B
-E0043;CM # TAG LATIN CAPITAL LETTER C
-E0044;CM # TAG LATIN CAPITAL LETTER D
-E0045;CM # TAG LATIN CAPITAL LETTER E
-E0046;CM # TAG LATIN CAPITAL LETTER F
-E0047;CM # TAG LATIN CAPITAL LETTER G
-E0048;CM # TAG LATIN CAPITAL LETTER H
-E0049;CM # TAG LATIN CAPITAL LETTER I
-E004A;CM # TAG LATIN CAPITAL LETTER J
-E004B;CM # TAG LATIN CAPITAL LETTER K
-E004C;CM # TAG LATIN CAPITAL LETTER L
-E004D;CM # TAG LATIN CAPITAL LETTER M
-E004E;CM # TAG LATIN CAPITAL LETTER N
-E004F;CM # TAG LATIN CAPITAL LETTER O
-E0050;CM # TAG LATIN CAPITAL LETTER P
-E0051;CM # TAG LATIN CAPITAL LETTER Q
-E0052;CM # TAG LATIN CAPITAL LETTER R
-E0053;CM # TAG LATIN CAPITAL LETTER S
-E0054;CM # TAG LATIN CAPITAL LETTER T
-E0055;CM # TAG LATIN CAPITAL LETTER U
-E0056;CM # TAG LATIN CAPITAL LETTER V
-E0057;CM # TAG LATIN CAPITAL LETTER W
-E0058;CM # TAG LATIN CAPITAL LETTER X
-E0059;CM # TAG LATIN CAPITAL LETTER Y
-E005A;CM # TAG LATIN CAPITAL LETTER Z
-E005B;CM # TAG LEFT SQUARE BRACKET
-E005C;CM # TAG REVERSE SOLIDUS
-E005D;CM # TAG RIGHT SQUARE BRACKET
-E005E;CM # TAG CIRCUMFLEX ACCENT
-E005F;CM # TAG LOW LINE
-E0060;CM # TAG GRAVE ACCENT
-E0061;CM # TAG LATIN SMALL LETTER A
-E0062;CM # TAG LATIN SMALL LETTER B
-E0063;CM # TAG LATIN SMALL LETTER C
-E0064;CM # TAG LATIN SMALL LETTER D
-E0065;CM # TAG LATIN SMALL LETTER E
-E0066;CM # TAG LATIN SMALL LETTER F
-E0067;CM # TAG LATIN SMALL LETTER G
-E0068;CM # TAG LATIN SMALL LETTER H
-E0069;CM # TAG LATIN SMALL LETTER I
-E006A;CM # TAG LATIN SMALL LETTER J
-E006B;CM # TAG LATIN SMALL LETTER K
-E006C;CM # TAG LATIN SMALL LETTER L
-E006D;CM # TAG LATIN SMALL LETTER M
-E006E;CM # TAG LATIN SMALL LETTER N
-E006F;CM # TAG LATIN SMALL LETTER O
-E0070;CM # TAG LATIN SMALL LETTER P
-E0071;CM # TAG LATIN SMALL LETTER Q
-E0072;CM # TAG LATIN SMALL LETTER R
-E0073;CM # TAG LATIN SMALL LETTER S
-E0074;CM # TAG LATIN SMALL LETTER T
-E0075;CM # TAG LATIN SMALL LETTER U
-E0076;CM # TAG LATIN SMALL LETTER V
-E0077;CM # TAG LATIN SMALL LETTER W
-E0078;CM # TAG LATIN SMALL LETTER X
-E0079;CM # TAG LATIN SMALL LETTER Y
-E007A;CM # TAG LATIN SMALL LETTER Z
-E007B;CM # TAG LEFT CURLY BRACKET
-E007C;CM # TAG VERTICAL LINE
-E007D;CM # TAG RIGHT CURLY BRACKET
-E007E;CM # TAG TILDE
-E007F;CM # CANCEL TAG
-E0100;CM # VARIATION SELECTOR-17
-E0101;CM # VARIATION SELECTOR-18
-E0102;CM # VARIATION SELECTOR-19
-E0103;CM # VARIATION SELECTOR-20
-E0104;CM # VARIATION SELECTOR-21
-E0105;CM # VARIATION SELECTOR-22
-E0106;CM # VARIATION SELECTOR-23
-E0107;CM # VARIATION SELECTOR-24
-E0108;CM # VARIATION SELECTOR-25
-E0109;CM # VARIATION SELECTOR-26
-E010A;CM # VARIATION SELECTOR-27
-E010B;CM # VARIATION SELECTOR-28
-E010C;CM # VARIATION SELECTOR-29
-E010D;CM # VARIATION SELECTOR-30
-E010E;CM # VARIATION SELECTOR-31
-E010F;CM # VARIATION SELECTOR-32
-E0110;CM # VARIATION SELECTOR-33
-E0111;CM # VARIATION SELECTOR-34
-E0112;CM # VARIATION SELECTOR-35
-E0113;CM # VARIATION SELECTOR-36
-E0114;CM # VARIATION SELECTOR-37
-E0115;CM # VARIATION SELECTOR-38
-E0116;CM # VARIATION SELECTOR-39
-E0117;CM # VARIATION SELECTOR-40
-E0118;CM # VARIATION SELECTOR-41
-E0119;CM # VARIATION SELECTOR-42
-E011A;CM # VARIATION SELECTOR-43
-E011B;CM # VARIATION SELECTOR-44
-E011C;CM # VARIATION SELECTOR-45
-E011D;CM # VARIATION SELECTOR-46
-E011E;CM # VARIATION SELECTOR-47
-E011F;CM # VARIATION SELECTOR-48
-E0120;CM # VARIATION SELECTOR-49
-E0121;CM # VARIATION SELECTOR-50
-E0122;CM # VARIATION SELECTOR-51
-E0123;CM # VARIATION SELECTOR-52
-E0124;CM # VARIATION SELECTOR-53
-E0125;CM # VARIATION SELECTOR-54
-E0126;CM # VARIATION SELECTOR-55
-E0127;CM # VARIATION SELECTOR-56
-E0128;CM # VARIATION SELECTOR-57
-E0129;CM # VARIATION SELECTOR-58
-E012A;CM # VARIATION SELECTOR-59
-E012B;CM # VARIATION SELECTOR-60
-E012C;CM # VARIATION SELECTOR-61
-E012D;CM # VARIATION SELECTOR-62
-E012E;CM # VARIATION SELECTOR-63
-E012F;CM # VARIATION SELECTOR-64
-E0130;CM # VARIATION SELECTOR-65
-E0131;CM # VARIATION SELECTOR-66
-E0132;CM # VARIATION SELECTOR-67
-E0133;CM # VARIATION SELECTOR-68
-E0134;CM # VARIATION SELECTOR-69
-E0135;CM # VARIATION SELECTOR-70
-E0136;CM # VARIATION SELECTOR-71
-E0137;CM # VARIATION SELECTOR-72
-E0138;CM # VARIATION SELECTOR-73
-E0139;CM # VARIATION SELECTOR-74
-E013A;CM # VARIATION SELECTOR-75
-E013B;CM # VARIATION SELECTOR-76
-E013C;CM # VARIATION SELECTOR-77
-E013D;CM # VARIATION SELECTOR-78
-E013E;CM # VARIATION SELECTOR-79
-E013F;CM # VARIATION SELECTOR-80
-E0140;CM # VARIATION SELECTOR-81
-E0141;CM # VARIATION SELECTOR-82
-E0142;CM # VARIATION SELECTOR-83
-E0143;CM # VARIATION SELECTOR-84
-E0144;CM # VARIATION SELECTOR-85
-E0145;CM # VARIATION SELECTOR-86
-E0146;CM # VARIATION SELECTOR-87
-E0147;CM # VARIATION SELECTOR-88
-E0148;CM # VARIATION SELECTOR-89
-E0149;CM # VARIATION SELECTOR-90
-E014A;CM # VARIATION SELECTOR-91
-E014B;CM # VARIATION SELECTOR-92
-E014C;CM # VARIATION SELECTOR-93
-E014D;CM # VARIATION SELECTOR-94
-E014E;CM # VARIATION SELECTOR-95
-E014F;CM # VARIATION SELECTOR-96
-E0150;CM # VARIATION SELECTOR-97
-E0151;CM # VARIATION SELECTOR-98
-E0152;CM # VARIATION SELECTOR-99
-E0153;CM # VARIATION SELECTOR-100
-E0154;CM # VARIATION SELECTOR-101
-E0155;CM # VARIATION SELECTOR-102
-E0156;CM # VARIATION SELECTOR-103
-E0157;CM # VARIATION SELECTOR-104
-E0158;CM # VARIATION SELECTOR-105
-E0159;CM # VARIATION SELECTOR-106
-E015A;CM # VARIATION SELECTOR-107
-E015B;CM # VARIATION SELECTOR-108
-E015C;CM # VARIATION SELECTOR-109
-E015D;CM # VARIATION SELECTOR-110
-E015E;CM # VARIATION SELECTOR-111
-E015F;CM # VARIATION SELECTOR-112
-E0160;CM # VARIATION SELECTOR-113
-E0161;CM # VARIATION SELECTOR-114
-E0162;CM # VARIATION SELECTOR-115
-E0163;CM # VARIATION SELECTOR-116
-E0164;CM # VARIATION SELECTOR-117
-E0165;CM # VARIATION SELECTOR-118
-E0166;CM # VARIATION SELECTOR-119
-E0167;CM # VARIATION SELECTOR-120
-E0168;CM # VARIATION SELECTOR-121
-E0169;CM # VARIATION SELECTOR-122
-E016A;CM # VARIATION SELECTOR-123
-E016B;CM # VARIATION SELECTOR-124
-E016C;CM # VARIATION SELECTOR-125
-E016D;CM # VARIATION SELECTOR-126
-E016E;CM # VARIATION SELECTOR-127
-E016F;CM # VARIATION SELECTOR-128
-E0170;CM # VARIATION SELECTOR-129
-E0171;CM # VARIATION SELECTOR-130
-E0172;CM # VARIATION SELECTOR-131
-E0173;CM # VARIATION SELECTOR-132
-E0174;CM # VARIATION SELECTOR-133
-E0175;CM # VARIATION SELECTOR-134
-E0176;CM # VARIATION SELECTOR-135
-E0177;CM # VARIATION SELECTOR-136
-E0178;CM # VARIATION SELECTOR-137
-E0179;CM # VARIATION SELECTOR-138
-E017A;CM # VARIATION SELECTOR-139
-E017B;CM # VARIATION SELECTOR-140
-E017C;CM # VARIATION SELECTOR-141
-E017D;CM # VARIATION SELECTOR-142
-E017E;CM # VARIATION SELECTOR-143
-E017F;CM # VARIATION SELECTOR-144
-E0180;CM # VARIATION SELECTOR-145
-E0181;CM # VARIATION SELECTOR-146
-E0182;CM # VARIATION SELECTOR-147
-E0183;CM # VARIATION SELECTOR-148
-E0184;CM # VARIATION SELECTOR-149
-E0185;CM # VARIATION SELECTOR-150
-E0186;CM # VARIATION SELECTOR-151
-E0187;CM # VARIATION SELECTOR-152
-E0188;CM # VARIATION SELECTOR-153
-E0189;CM # VARIATION SELECTOR-154
-E018A;CM # VARIATION SELECTOR-155
-E018B;CM # VARIATION SELECTOR-156
-E018C;CM # VARIATION SELECTOR-157
-E018D;CM # VARIATION SELECTOR-158
-E018E;CM # VARIATION SELECTOR-159
-E018F;CM # VARIATION SELECTOR-160
-E0190;CM # VARIATION SELECTOR-161
-E0191;CM # VARIATION SELECTOR-162
-E0192;CM # VARIATION SELECTOR-163
-E0193;CM # VARIATION SELECTOR-164
-E0194;CM # VARIATION SELECTOR-165
-E0195;CM # VARIATION SELECTOR-166
-E0196;CM # VARIATION SELECTOR-167
-E0197;CM # VARIATION SELECTOR-168
-E0198;CM # VARIATION SELECTOR-169
-E0199;CM # VARIATION SELECTOR-170
-E019A;CM # VARIATION SELECTOR-171
-E019B;CM # VARIATION SELECTOR-172
-E019C;CM # VARIATION SELECTOR-173
-E019D;CM # VARIATION SELECTOR-174
-E019E;CM # VARIATION SELECTOR-175
-E019F;CM # VARIATION SELECTOR-176
-E01A0;CM # VARIATION SELECTOR-177
-E01A1;CM # VARIATION SELECTOR-178
-E01A2;CM # VARIATION SELECTOR-179
-E01A3;CM # VARIATION SELECTOR-180
-E01A4;CM # VARIATION SELECTOR-181
-E01A5;CM # VARIATION SELECTOR-182
-E01A6;CM # VARIATION SELECTOR-183
-E01A7;CM # VARIATION SELECTOR-184
-E01A8;CM # VARIATION SELECTOR-185
-E01A9;CM # VARIATION SELECTOR-186
-E01AA;CM # VARIATION SELECTOR-187
-E01AB;CM # VARIATION SELECTOR-188
-E01AC;CM # VARIATION SELECTOR-189
-E01AD;CM # VARIATION SELECTOR-190
-E01AE;CM # VARIATION SELECTOR-191
-E01AF;CM # VARIATION SELECTOR-192
-E01B0;CM # VARIATION SELECTOR-193
-E01B1;CM # VARIATION SELECTOR-194
-E01B2;CM # VARIATION SELECTOR-195
-E01B3;CM # VARIATION SELECTOR-196
-E01B4;CM # VARIATION SELECTOR-197
-E01B5;CM # VARIATION SELECTOR-198
-E01B6;CM # VARIATION SELECTOR-199
-E01B7;CM # VARIATION SELECTOR-200
-E01B8;CM # VARIATION SELECTOR-201
-E01B9;CM # VARIATION SELECTOR-202
-E01BA;CM # VARIATION SELECTOR-203
-E01BB;CM # VARIATION SELECTOR-204
-E01BC;CM # VARIATION SELECTOR-205
-E01BD;CM # VARIATION SELECTOR-206
-E01BE;CM # VARIATION SELECTOR-207
-E01BF;CM # VARIATION SELECTOR-208
-E01C0;CM # VARIATION SELECTOR-209
-E01C1;CM # VARIATION SELECTOR-210
-E01C2;CM # VARIATION SELECTOR-211
-E01C3;CM # VARIATION SELECTOR-212
-E01C4;CM # VARIATION SELECTOR-213
-E01C5;CM # VARIATION SELECTOR-214
-E01C6;CM # VARIATION SELECTOR-215
-E01C7;CM # VARIATION SELECTOR-216
-E01C8;CM # VARIATION SELECTOR-217
-E01C9;CM # VARIATION SELECTOR-218
-E01CA;CM # VARIATION SELECTOR-219
-E01CB;CM # VARIATION SELECTOR-220
-E01CC;CM # VARIATION SELECTOR-221
-E01CD;CM # VARIATION SELECTOR-222
-E01CE;CM # VARIATION SELECTOR-223
-E01CF;CM # VARIATION SELECTOR-224
-E01D0;CM # VARIATION SELECTOR-225
-E01D1;CM # VARIATION SELECTOR-226
-E01D2;CM # VARIATION SELECTOR-227
-E01D3;CM # VARIATION SELECTOR-228
-E01D4;CM # VARIATION SELECTOR-229
-E01D5;CM # VARIATION SELECTOR-230
-E01D6;CM # VARIATION SELECTOR-231
-E01D7;CM # VARIATION SELECTOR-232
-E01D8;CM # VARIATION SELECTOR-233
-E01D9;CM # VARIATION SELECTOR-234
-E01DA;CM # VARIATION SELECTOR-235
-E01DB;CM # VARIATION SELECTOR-236
-E01DC;CM # VARIATION SELECTOR-237
-E01DD;CM # VARIATION SELECTOR-238
-E01DE;CM # VARIATION SELECTOR-239
-E01DF;CM # VARIATION SELECTOR-240
-E01E0;CM # VARIATION SELECTOR-241
-E01E1;CM # VARIATION SELECTOR-242
-E01E2;CM # VARIATION SELECTOR-243
-E01E3;CM # VARIATION SELECTOR-244
-E01E4;CM # VARIATION SELECTOR-245
-E01E5;CM # VARIATION SELECTOR-246
-E01E6;CM # VARIATION SELECTOR-247
-E01E7;CM # VARIATION SELECTOR-248
-E01E8;CM # VARIATION SELECTOR-249
-E01E9;CM # VARIATION SELECTOR-250
-E01EA;CM # VARIATION SELECTOR-251
-E01EB;CM # VARIATION SELECTOR-252
-E01EC;CM # VARIATION SELECTOR-253
-E01ED;CM # VARIATION SELECTOR-254
-E01EE;CM # VARIATION SELECTOR-255
-E01EF;CM # VARIATION SELECTOR-256
-F0000..FFFFD;XX # <Plane 15 Private Use, First>..<Plane 15 Private Use, Last>
-100000..10FFFD;XX # <Plane 16 Private Use, First>..<Plane 16 Private Use, Last>
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/Name.pl b/Master/tlpkg/tlperl/lib/unicore/Name.pl
index 3d351c06e40..13ba74baafb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Name.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Name.pl
@@ -1,32 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the mapping:
-# Perl_Charnames(cp)
-#
-# where 'cp' is one of the 107_368 code points in Unicode Version 5.2.0 for
-# which the mapping is not to the null string. Note that this mapping is
-# accessible through the Perl core via \N{...} and charnames.pm.
-#
-# This file is for charnames.pm. It is the union of the Name,
-# Unicode_1_Name, and Name_Alias properties. Unicode_1_Name entries are used
-# only for otherwise nameless code points. The Name_Alias property adds
-# duplicate code point entries with a corrected name. The original (less
-# correct, but still valid) name will be physically first.
-#
-# The format of the main body of lines of this file is: CODE_POINT\t\tMAPPING
-# where CODE_POINT is in hex; MAPPING is what CODE_POINT maps to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToName'}{'format'} = 's'; # arbitrary string
+$utf8::SwashInfo{'ToName'}{'format'} = 's'; # string
$utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
# To achieve significant memory savings when this file is read in,
@@ -38,13 +23,30 @@ $utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
# Matches legal code point. 4-6 hex numbers, If there are 6, the
# first two must be '10'; if there are 5, the first must not be a '0'.
- my $code_point_re = qr/(?x-ism: \b (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b)/;
+ my $code_point_re = qr/(?^x: \b (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b)/;
# In the following hash, the keys are the bases of names which includes
# the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01. The values
# of each key is another hash which is used to get the low and high ends
# for each range of code points that apply to the name
my %names_ending_in_code_point = (
+ 'CJK COMPATIBILITY IDEOGRAPH' =>
+ {
+ 'high' =>
+ [
+ 64045, # [0]
+ 64109, # [1]
+ 64217, # [2]
+ 195101, # [3]
+ ],
+ 'low' =>
+ [
+ 63744, # [0]
+ 64048, # [1]
+ 64112, # [2]
+ 194560, # [3]
+ ],
+ },
'CJK UNIFIED IDEOGRAPH' =>
{
'high' =>
@@ -53,6 +55,7 @@ $utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
40907, # [1]
173782, # [2]
177972, # [3]
+ 178205, # [4]
],
'low' =>
[
@@ -60,6 +63,7 @@ $utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
19968, # [1]
131072, # [2]
173824, # [3]
+ 177984, # [4]
],
},
@@ -80,15 +84,40 @@ $utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
'name' => 'CJK UNIFIED IDEOGRAPH',
}, # [1]
{
+ 'high' => 64045,
+ 'low' => 63744,
+ 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+ }, # [2]
+ {
+ 'high' => 64109,
+ 'low' => 64048,
+ 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+ }, # [3]
+ {
+ 'high' => 64217,
+ 'low' => 64112,
+ 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+ }, # [4]
+ {
'high' => 173782,
'low' => 131072,
'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [2]
+ }, # [5]
{
'high' => 177972,
'low' => 173824,
'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [3]
+ }, # [6]
+ {
+ 'high' => 178205,
+ 'low' => 177984,
+ 'name' => 'CJK UNIFIED IDEOGRAPH',
+ }, # [7]
+ {
+ 'high' => 195101,
+ 'low' => 194560,
+ 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+ }, # [8]
,
);
@@ -322,7 +351,7 @@ $utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
my $L = $LBase + $SIndex / $NCount;
my $V = $VBase + ($SIndex % $NCount) / $TCount;
my $T = $TBase + $SIndex % $TCount;
- $name = "$HANGUL_SYLLABLE $Jamo{$L}$Jamo{$V}";
+ $name = "$HANGUL_SYLLABLE$Jamo{$L}$Jamo{$V}";
$name .= $Jamo{$T} if $T != $TBase;
return $name;
}
@@ -340,21818 +369,23089 @@ $utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
return <<'END';
-0000 NULL
-0001 START OF HEADING
-0002 START OF TEXT
-0003 END OF TEXT
-0004 END OF TRANSMISSION
-0005 ENQUIRY
-0006 ACKNOWLEDGE
-0007 BELL
-0008 BACKSPACE
-0009 CHARACTER TABULATION
-000A LINE FEED (LF)
-000B LINE TABULATION
-000C FORM FEED (FF)
-000D CARRIAGE RETURN (CR)
-000E SHIFT OUT
-000F SHIFT IN
-0010 DATA LINK ESCAPE
-0011 DEVICE CONTROL ONE
-0012 DEVICE CONTROL TWO
-0013 DEVICE CONTROL THREE
-0014 DEVICE CONTROL FOUR
-0015 NEGATIVE ACKNOWLEDGE
-0016 SYNCHRONOUS IDLE
-0017 END OF TRANSMISSION BLOCK
-0018 CANCEL
-0019 END OF MEDIUM
-001A SUBSTITUTE
-001B ESCAPE
-001C INFORMATION SEPARATOR FOUR
-001D INFORMATION SEPARATOR THREE
-001E INFORMATION SEPARATOR TWO
-001F INFORMATION SEPARATOR ONE
-0020 SPACE
-0021 EXCLAMATION MARK
-0022 QUOTATION MARK
-0023 NUMBER SIGN
-0024 DOLLAR SIGN
-0025 PERCENT SIGN
-0026 AMPERSAND
-0027 APOSTROPHE
-0028 LEFT PARENTHESIS
-0029 RIGHT PARENTHESIS
-002A ASTERISK
-002B PLUS SIGN
-002C COMMA
-002D HYPHEN-MINUS
-002E FULL STOP
-002F SOLIDUS
-0030 DIGIT ZERO
-0031 DIGIT ONE
-0032 DIGIT TWO
-0033 DIGIT THREE
-0034 DIGIT FOUR
-0035 DIGIT FIVE
-0036 DIGIT SIX
-0037 DIGIT SEVEN
-0038 DIGIT EIGHT
-0039 DIGIT NINE
-003A COLON
-003B SEMICOLON
-003C LESS-THAN SIGN
-003D EQUALS SIGN
-003E GREATER-THAN SIGN
-003F QUESTION MARK
-0040 COMMERCIAL AT
-0041 LATIN CAPITAL LETTER A
-0042 LATIN CAPITAL LETTER B
-0043 LATIN CAPITAL LETTER C
-0044 LATIN CAPITAL LETTER D
-0045 LATIN CAPITAL LETTER E
-0046 LATIN CAPITAL LETTER F
-0047 LATIN CAPITAL LETTER G
-0048 LATIN CAPITAL LETTER H
-0049 LATIN CAPITAL LETTER I
-004A LATIN CAPITAL LETTER J
-004B LATIN CAPITAL LETTER K
-004C LATIN CAPITAL LETTER L
-004D LATIN CAPITAL LETTER M
-004E LATIN CAPITAL LETTER N
-004F LATIN CAPITAL LETTER O
-0050 LATIN CAPITAL LETTER P
-0051 LATIN CAPITAL LETTER Q
-0052 LATIN CAPITAL LETTER R
-0053 LATIN CAPITAL LETTER S
-0054 LATIN CAPITAL LETTER T
-0055 LATIN CAPITAL LETTER U
-0056 LATIN CAPITAL LETTER V
-0057 LATIN CAPITAL LETTER W
-0058 LATIN CAPITAL LETTER X
-0059 LATIN CAPITAL LETTER Y
-005A LATIN CAPITAL LETTER Z
-005B LEFT SQUARE BRACKET
-005C REVERSE SOLIDUS
-005D RIGHT SQUARE BRACKET
-005E CIRCUMFLEX ACCENT
-005F LOW LINE
-0060 GRAVE ACCENT
-0061 LATIN SMALL LETTER A
-0062 LATIN SMALL LETTER B
-0063 LATIN SMALL LETTER C
-0064 LATIN SMALL LETTER D
-0065 LATIN SMALL LETTER E
-0066 LATIN SMALL LETTER F
-0067 LATIN SMALL LETTER G
-0068 LATIN SMALL LETTER H
-0069 LATIN SMALL LETTER I
-006A LATIN SMALL LETTER J
-006B LATIN SMALL LETTER K
-006C LATIN SMALL LETTER L
-006D LATIN SMALL LETTER M
-006E LATIN SMALL LETTER N
-006F LATIN SMALL LETTER O
-0070 LATIN SMALL LETTER P
-0071 LATIN SMALL LETTER Q
-0072 LATIN SMALL LETTER R
-0073 LATIN SMALL LETTER S
-0074 LATIN SMALL LETTER T
-0075 LATIN SMALL LETTER U
-0076 LATIN SMALL LETTER V
-0077 LATIN SMALL LETTER W
-0078 LATIN SMALL LETTER X
-0079 LATIN SMALL LETTER Y
-007A LATIN SMALL LETTER Z
-007B LEFT CURLY BRACKET
-007C VERTICAL LINE
-007D RIGHT CURLY BRACKET
-007E TILDE
-007F DELETE
-0082 BREAK PERMITTED HERE
-0083 NO BREAK HERE
-0085 NEXT LINE (NEL)
-0086 START OF SELECTED AREA
-0087 END OF SELECTED AREA
-0088 CHARACTER TABULATION SET
-0089 CHARACTER TABULATION WITH JUSTIFICATION
-008A LINE TABULATION SET
-008B PARTIAL LINE FORWARD
-008C PARTIAL LINE BACKWARD
-008D REVERSE LINE FEED
-008E SINGLE SHIFT TWO
-008F SINGLE SHIFT THREE
-0090 DEVICE CONTROL STRING
-0091 PRIVATE USE ONE
-0092 PRIVATE USE TWO
-0093 SET TRANSMIT STATE
-0094 CANCEL CHARACTER
-0095 MESSAGE WAITING
-0096 START OF GUARDED AREA
-0097 END OF GUARDED AREA
-0098 START OF STRING
-009A SINGLE CHARACTER INTRODUCER
-009B CONTROL SEQUENCE INTRODUCER
-009C STRING TERMINATOR
-009D OPERATING SYSTEM COMMAND
-009E PRIVACY MESSAGE
-009F APPLICATION PROGRAM COMMAND
-00A0 NO-BREAK SPACE
-00A1 INVERTED EXCLAMATION MARK
-00A2 CENT SIGN
-00A3 POUND SIGN
-00A4 CURRENCY SIGN
-00A5 YEN SIGN
-00A6 BROKEN BAR
-00A7 SECTION SIGN
-00A8 DIAERESIS
-00A9 COPYRIGHT SIGN
-00AA FEMININE ORDINAL INDICATOR
-00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC NOT SIGN
-00AD SOFT HYPHEN
-00AE REGISTERED SIGN
-00AF MACRON
-00B0 DEGREE SIGN
-00B1 PLUS-MINUS SIGN
-00B2 SUPERSCRIPT TWO
-00B3 SUPERSCRIPT THREE
-00B4 ACUTE ACCENT
-00B5 MICRO SIGN
-00B6 PILCROW SIGN
-00B7 MIDDLE DOT
-00B8 CEDILLA
-00B9 SUPERSCRIPT ONE
-00BA MASCULINE ORDINAL INDICATOR
-00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC VULGAR FRACTION ONE QUARTER
-00BD VULGAR FRACTION ONE HALF
-00BE VULGAR FRACTION THREE QUARTERS
-00BF INVERTED QUESTION MARK
-00C0 LATIN CAPITAL LETTER A WITH GRAVE
-00C1 LATIN CAPITAL LETTER A WITH ACUTE
-00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00C3 LATIN CAPITAL LETTER A WITH TILDE
-00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
-00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
-00C6 LATIN CAPITAL LETTER AE
-00C7 LATIN CAPITAL LETTER C WITH CEDILLA
-00C8 LATIN CAPITAL LETTER E WITH GRAVE
-00C9 LATIN CAPITAL LETTER E WITH ACUTE
-00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00CB LATIN CAPITAL LETTER E WITH DIAERESIS
-00CC LATIN CAPITAL LETTER I WITH GRAVE
-00CD LATIN CAPITAL LETTER I WITH ACUTE
-00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF LATIN CAPITAL LETTER I WITH DIAERESIS
-00D0 LATIN CAPITAL LETTER ETH
-00D1 LATIN CAPITAL LETTER N WITH TILDE
-00D2 LATIN CAPITAL LETTER O WITH GRAVE
-00D3 LATIN CAPITAL LETTER O WITH ACUTE
-00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00D5 LATIN CAPITAL LETTER O WITH TILDE
-00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
-00D7 MULTIPLICATION SIGN
-00D8 LATIN CAPITAL LETTER O WITH STROKE
-00D9 LATIN CAPITAL LETTER U WITH GRAVE
-00DA LATIN CAPITAL LETTER U WITH ACUTE
-00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-00DC LATIN CAPITAL LETTER U WITH DIAERESIS
-00DD LATIN CAPITAL LETTER Y WITH ACUTE
-00DE LATIN CAPITAL LETTER THORN
-00DF LATIN SMALL LETTER SHARP S
-00E0 LATIN SMALL LETTER A WITH GRAVE
-00E1 LATIN SMALL LETTER A WITH ACUTE
-00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
-00E3 LATIN SMALL LETTER A WITH TILDE
-00E4 LATIN SMALL LETTER A WITH DIAERESIS
-00E5 LATIN SMALL LETTER A WITH RING ABOVE
-00E6 LATIN SMALL LETTER AE
-00E7 LATIN SMALL LETTER C WITH CEDILLA
-00E8 LATIN SMALL LETTER E WITH GRAVE
-00E9 LATIN SMALL LETTER E WITH ACUTE
-00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
-00EB LATIN SMALL LETTER E WITH DIAERESIS
-00EC LATIN SMALL LETTER I WITH GRAVE
-00ED LATIN SMALL LETTER I WITH ACUTE
-00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
-00EF LATIN SMALL LETTER I WITH DIAERESIS
-00F0 LATIN SMALL LETTER ETH
-00F1 LATIN SMALL LETTER N WITH TILDE
-00F2 LATIN SMALL LETTER O WITH GRAVE
-00F3 LATIN SMALL LETTER O WITH ACUTE
-00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
-00F5 LATIN SMALL LETTER O WITH TILDE
-00F6 LATIN SMALL LETTER O WITH DIAERESIS
-00F7 DIVISION SIGN
-00F8 LATIN SMALL LETTER O WITH STROKE
-00F9 LATIN SMALL LETTER U WITH GRAVE
-00FA LATIN SMALL LETTER U WITH ACUTE
-00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
-00FC LATIN SMALL LETTER U WITH DIAERESIS
-00FD LATIN SMALL LETTER Y WITH ACUTE
-00FE LATIN SMALL LETTER THORN
-00FF LATIN SMALL LETTER Y WITH DIAERESIS
-0100 LATIN CAPITAL LETTER A WITH MACRON
-0101 LATIN SMALL LETTER A WITH MACRON
-0102 LATIN CAPITAL LETTER A WITH BREVE
-0103 LATIN SMALL LETTER A WITH BREVE
-0104 LATIN CAPITAL LETTER A WITH OGONEK
-0105 LATIN SMALL LETTER A WITH OGONEK
-0106 LATIN CAPITAL LETTER C WITH ACUTE
-0107 LATIN SMALL LETTER C WITH ACUTE
-0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
-010A LATIN CAPITAL LETTER C WITH DOT ABOVE
-010B LATIN SMALL LETTER C WITH DOT ABOVE
-010C LATIN CAPITAL LETTER C WITH CARON
-010D LATIN SMALL LETTER C WITH CARON
-010E LATIN CAPITAL LETTER D WITH CARON
-010F LATIN SMALL LETTER D WITH CARON
-0110 LATIN CAPITAL LETTER D WITH STROKE
-0111 LATIN SMALL LETTER D WITH STROKE
-0112 LATIN CAPITAL LETTER E WITH MACRON
-0113 LATIN SMALL LETTER E WITH MACRON
-0114 LATIN CAPITAL LETTER E WITH BREVE
-0115 LATIN SMALL LETTER E WITH BREVE
-0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
-0117 LATIN SMALL LETTER E WITH DOT ABOVE
-0118 LATIN CAPITAL LETTER E WITH OGONEK
-0119 LATIN SMALL LETTER E WITH OGONEK
-011A LATIN CAPITAL LETTER E WITH CARON
-011B LATIN SMALL LETTER E WITH CARON
-011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011D LATIN SMALL LETTER G WITH CIRCUMFLEX
-011E LATIN CAPITAL LETTER G WITH BREVE
-011F LATIN SMALL LETTER G WITH BREVE
-0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
-0121 LATIN SMALL LETTER G WITH DOT ABOVE
-0122 LATIN CAPITAL LETTER G WITH CEDILLA
-0123 LATIN SMALL LETTER G WITH CEDILLA
-0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
-0126 LATIN CAPITAL LETTER H WITH STROKE
-0127 LATIN SMALL LETTER H WITH STROKE
-0128 LATIN CAPITAL LETTER I WITH TILDE
-0129 LATIN SMALL LETTER I WITH TILDE
-012A LATIN CAPITAL LETTER I WITH MACRON
-012B LATIN SMALL LETTER I WITH MACRON
-012C LATIN CAPITAL LETTER I WITH BREVE
-012D LATIN SMALL LETTER I WITH BREVE
-012E LATIN CAPITAL LETTER I WITH OGONEK
-012F LATIN SMALL LETTER I WITH OGONEK
-0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
-0131 LATIN SMALL LETTER DOTLESS I
-0132 LATIN CAPITAL LIGATURE IJ
-0133 LATIN SMALL LIGATURE IJ
-0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
-0136 LATIN CAPITAL LETTER K WITH CEDILLA
-0137 LATIN SMALL LETTER K WITH CEDILLA
-0138 LATIN SMALL LETTER KRA
-0139 LATIN CAPITAL LETTER L WITH ACUTE
-013A LATIN SMALL LETTER L WITH ACUTE
-013B LATIN CAPITAL LETTER L WITH CEDILLA
-013C LATIN SMALL LETTER L WITH CEDILLA
-013D LATIN CAPITAL LETTER L WITH CARON
-013E LATIN SMALL LETTER L WITH CARON
-013F LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0140 LATIN SMALL LETTER L WITH MIDDLE DOT
-0141 LATIN CAPITAL LETTER L WITH STROKE
-0142 LATIN SMALL LETTER L WITH STROKE
-0143 LATIN CAPITAL LETTER N WITH ACUTE
-0144 LATIN SMALL LETTER N WITH ACUTE
-0145 LATIN CAPITAL LETTER N WITH CEDILLA
-0146 LATIN SMALL LETTER N WITH CEDILLA
-0147 LATIN CAPITAL LETTER N WITH CARON
-0148 LATIN SMALL LETTER N WITH CARON
-0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014A LATIN CAPITAL LETTER ENG
-014B LATIN SMALL LETTER ENG
-014C LATIN CAPITAL LETTER O WITH MACRON
-014D LATIN SMALL LETTER O WITH MACRON
-014E LATIN CAPITAL LETTER O WITH BREVE
-014F LATIN SMALL LETTER O WITH BREVE
-0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0152 LATIN CAPITAL LIGATURE OE
-0153 LATIN SMALL LIGATURE OE
-0154 LATIN CAPITAL LETTER R WITH ACUTE
-0155 LATIN SMALL LETTER R WITH ACUTE
-0156 LATIN CAPITAL LETTER R WITH CEDILLA
-0157 LATIN SMALL LETTER R WITH CEDILLA
-0158 LATIN CAPITAL LETTER R WITH CARON
-0159 LATIN SMALL LETTER R WITH CARON
-015A LATIN CAPITAL LETTER S WITH ACUTE
-015B LATIN SMALL LETTER S WITH ACUTE
-015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015D LATIN SMALL LETTER S WITH CIRCUMFLEX
-015E LATIN CAPITAL LETTER S WITH CEDILLA
-015F LATIN SMALL LETTER S WITH CEDILLA
-0160 LATIN CAPITAL LETTER S WITH CARON
-0161 LATIN SMALL LETTER S WITH CARON
-0162 LATIN CAPITAL LETTER T WITH CEDILLA
-0163 LATIN SMALL LETTER T WITH CEDILLA
-0164 LATIN CAPITAL LETTER T WITH CARON
-0165 LATIN SMALL LETTER T WITH CARON
-0166 LATIN CAPITAL LETTER T WITH STROKE
-0167 LATIN SMALL LETTER T WITH STROKE
-0168 LATIN CAPITAL LETTER U WITH TILDE
-0169 LATIN SMALL LETTER U WITH TILDE
-016A LATIN CAPITAL LETTER U WITH MACRON
-016B LATIN SMALL LETTER U WITH MACRON
-016C LATIN CAPITAL LETTER U WITH BREVE
-016D LATIN SMALL LETTER U WITH BREVE
-016E LATIN CAPITAL LETTER U WITH RING ABOVE
-016F LATIN SMALL LETTER U WITH RING ABOVE
-0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0172 LATIN CAPITAL LETTER U WITH OGONEK
-0173 LATIN SMALL LETTER U WITH OGONEK
-0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
-0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
-0179 LATIN CAPITAL LETTER Z WITH ACUTE
-017A LATIN SMALL LETTER Z WITH ACUTE
-017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017C LATIN SMALL LETTER Z WITH DOT ABOVE
-017D LATIN CAPITAL LETTER Z WITH CARON
-017E LATIN SMALL LETTER Z WITH CARON
-017F LATIN SMALL LETTER LONG S
-0180 LATIN SMALL LETTER B WITH STROKE
-0181 LATIN CAPITAL LETTER B WITH HOOK
-0182 LATIN CAPITAL LETTER B WITH TOPBAR
-0183 LATIN SMALL LETTER B WITH TOPBAR
-0184 LATIN CAPITAL LETTER TONE SIX
-0185 LATIN SMALL LETTER TONE SIX
-0186 LATIN CAPITAL LETTER OPEN O
-0187 LATIN CAPITAL LETTER C WITH HOOK
-0188 LATIN SMALL LETTER C WITH HOOK
-0189 LATIN CAPITAL LETTER AFRICAN D
-018A LATIN CAPITAL LETTER D WITH HOOK
-018B LATIN CAPITAL LETTER D WITH TOPBAR
-018C LATIN SMALL LETTER D WITH TOPBAR
-018D LATIN SMALL LETTER TURNED DELTA
-018E LATIN CAPITAL LETTER REVERSED E
-018F LATIN CAPITAL LETTER SCHWA
-0190 LATIN CAPITAL LETTER OPEN E
-0191 LATIN CAPITAL LETTER F WITH HOOK
-0192 LATIN SMALL LETTER F WITH HOOK
-0193 LATIN CAPITAL LETTER G WITH HOOK
-0194 LATIN CAPITAL LETTER GAMMA
-0195 LATIN SMALL LETTER HV
-0196 LATIN CAPITAL LETTER IOTA
-0197 LATIN CAPITAL LETTER I WITH STROKE
-0198 LATIN CAPITAL LETTER K WITH HOOK
-0199 LATIN SMALL LETTER K WITH HOOK
-019A LATIN SMALL LETTER L WITH BAR
-019B LATIN SMALL LETTER LAMBDA WITH STROKE
-019C LATIN CAPITAL LETTER TURNED M
-019D LATIN CAPITAL LETTER N WITH LEFT HOOK
-019E LATIN SMALL LETTER N WITH LONG RIGHT LEG
-019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-01A0 LATIN CAPITAL LETTER O WITH HORN
-01A1 LATIN SMALL LETTER O WITH HORN
-01A2 LATIN CAPITAL LETTER OI
-01A2 LATIN CAPITAL LETTER GHA
-01A3 LATIN SMALL LETTER OI
-01A3 LATIN SMALL LETTER GHA
-01A4 LATIN CAPITAL LETTER P WITH HOOK
-01A5 LATIN SMALL LETTER P WITH HOOK
-01A6 LATIN LETTER YR
-01A7 LATIN CAPITAL LETTER TONE TWO
-01A8 LATIN SMALL LETTER TONE TWO
-01A9 LATIN CAPITAL LETTER ESH
-01AA LATIN LETTER REVERSED ESH LOOP
-01AB LATIN SMALL LETTER T WITH PALATAL HOOK
-01AC LATIN CAPITAL LETTER T WITH HOOK
-01AD LATIN SMALL LETTER T WITH HOOK
-01AE LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-01AF LATIN CAPITAL LETTER U WITH HORN
-01B0 LATIN SMALL LETTER U WITH HORN
-01B1 LATIN CAPITAL LETTER UPSILON
-01B2 LATIN CAPITAL LETTER V WITH HOOK
-01B3 LATIN CAPITAL LETTER Y WITH HOOK
-01B4 LATIN SMALL LETTER Y WITH HOOK
-01B5 LATIN CAPITAL LETTER Z WITH STROKE
-01B6 LATIN SMALL LETTER Z WITH STROKE
-01B7 LATIN CAPITAL LETTER EZH
-01B8 LATIN CAPITAL LETTER EZH REVERSED
-01B9 LATIN SMALL LETTER EZH REVERSED
-01BA LATIN SMALL LETTER EZH WITH TAIL
-01BB LATIN LETTER TWO WITH STROKE
-01BC LATIN CAPITAL LETTER TONE FIVE
-01BD LATIN SMALL LETTER TONE FIVE
-01BE LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
-01BF LATIN LETTER WYNN
-01C0 LATIN LETTER DENTAL CLICK
-01C1 LATIN LETTER LATERAL CLICK
-01C2 LATIN LETTER ALVEOLAR CLICK
-01C3 LATIN LETTER RETROFLEX CLICK
-01C4 LATIN CAPITAL LETTER DZ WITH CARON
-01C5 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C6 LATIN SMALL LETTER DZ WITH CARON
-01C7 LATIN CAPITAL LETTER LJ
-01C8 LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01C9 LATIN SMALL LETTER LJ
-01CA LATIN CAPITAL LETTER NJ
-01CB LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CC LATIN SMALL LETTER NJ
-01CD LATIN CAPITAL LETTER A WITH CARON
-01CE LATIN SMALL LETTER A WITH CARON
-01CF LATIN CAPITAL LETTER I WITH CARON
-01D0 LATIN SMALL LETTER I WITH CARON
-01D1 LATIN CAPITAL LETTER O WITH CARON
-01D2 LATIN SMALL LETTER O WITH CARON
-01D3 LATIN CAPITAL LETTER U WITH CARON
-01D4 LATIN SMALL LETTER U WITH CARON
-01D5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DB LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DD LATIN SMALL LETTER TURNED E
-01DE LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01DF LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E0 LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E1 LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E2 LATIN CAPITAL LETTER AE WITH MACRON
-01E3 LATIN SMALL LETTER AE WITH MACRON
-01E4 LATIN CAPITAL LETTER G WITH STROKE
-01E5 LATIN SMALL LETTER G WITH STROKE
-01E6 LATIN CAPITAL LETTER G WITH CARON
-01E7 LATIN SMALL LETTER G WITH CARON
-01E8 LATIN CAPITAL LETTER K WITH CARON
-01E9 LATIN SMALL LETTER K WITH CARON
-01EA LATIN CAPITAL LETTER O WITH OGONEK
-01EB LATIN SMALL LETTER O WITH OGONEK
-01EC LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01ED LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EE LATIN CAPITAL LETTER EZH WITH CARON
-01EF LATIN SMALL LETTER EZH WITH CARON
-01F0 LATIN SMALL LETTER J WITH CARON
-01F1 LATIN CAPITAL LETTER DZ
-01F2 LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F3 LATIN SMALL LETTER DZ
-01F4 LATIN CAPITAL LETTER G WITH ACUTE
-01F5 LATIN SMALL LETTER G WITH ACUTE
-01F6 LATIN CAPITAL LETTER HWAIR
-01F7 LATIN CAPITAL LETTER WYNN
-01F8 LATIN CAPITAL LETTER N WITH GRAVE
-01F9 LATIN SMALL LETTER N WITH GRAVE
-01FA LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FB LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FC LATIN CAPITAL LETTER AE WITH ACUTE
-01FD LATIN SMALL LETTER AE WITH ACUTE
-01FE LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-01FF LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0200 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0201 LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0202 LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0203 LATIN SMALL LETTER A WITH INVERTED BREVE
-0204 LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0205 LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0206 LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0207 LATIN SMALL LETTER E WITH INVERTED BREVE
-0208 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-0209 LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020A LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020B LATIN SMALL LETTER I WITH INVERTED BREVE
-020C LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020D LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020E LATIN CAPITAL LETTER O WITH INVERTED BREVE
-020F LATIN SMALL LETTER O WITH INVERTED BREVE
-0210 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0211 LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0212 LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0213 LATIN SMALL LETTER R WITH INVERTED BREVE
-0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0215 LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0216 LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0217 LATIN SMALL LETTER U WITH INVERTED BREVE
-0218 LATIN CAPITAL LETTER S WITH COMMA BELOW
-0219 LATIN SMALL LETTER S WITH COMMA BELOW
-021A LATIN CAPITAL LETTER T WITH COMMA BELOW
-021B LATIN SMALL LETTER T WITH COMMA BELOW
-021C LATIN CAPITAL LETTER YOGH
-021D LATIN SMALL LETTER YOGH
-021E LATIN CAPITAL LETTER H WITH CARON
-021F LATIN SMALL LETTER H WITH CARON
-0220 LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0221 LATIN SMALL LETTER D WITH CURL
-0222 LATIN CAPITAL LETTER OU
-0223 LATIN SMALL LETTER OU
-0224 LATIN CAPITAL LETTER Z WITH HOOK
-0225 LATIN SMALL LETTER Z WITH HOOK
-0226 LATIN CAPITAL LETTER A WITH DOT ABOVE
-0227 LATIN SMALL LETTER A WITH DOT ABOVE
-0228 LATIN CAPITAL LETTER E WITH CEDILLA
-0229 LATIN SMALL LETTER E WITH CEDILLA
-022A LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022B LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022C LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022D LATIN SMALL LETTER O WITH TILDE AND MACRON
-022E LATIN CAPITAL LETTER O WITH DOT ABOVE
-022F LATIN SMALL LETTER O WITH DOT ABOVE
-0230 LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0231 LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0232 LATIN CAPITAL LETTER Y WITH MACRON
-0233 LATIN SMALL LETTER Y WITH MACRON
-0234 LATIN SMALL LETTER L WITH CURL
-0235 LATIN SMALL LETTER N WITH CURL
-0236 LATIN SMALL LETTER T WITH CURL
-0237 LATIN SMALL LETTER DOTLESS J
-0238 LATIN SMALL LETTER DB DIGRAPH
-0239 LATIN SMALL LETTER QP DIGRAPH
-023A LATIN CAPITAL LETTER A WITH STROKE
-023B LATIN CAPITAL LETTER C WITH STROKE
-023C LATIN SMALL LETTER C WITH STROKE
-023D LATIN CAPITAL LETTER L WITH BAR
-023E LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-023F LATIN SMALL LETTER S WITH SWASH TAIL
-0240 LATIN SMALL LETTER Z WITH SWASH TAIL
-0241 LATIN CAPITAL LETTER GLOTTAL STOP
-0242 LATIN SMALL LETTER GLOTTAL STOP
-0243 LATIN CAPITAL LETTER B WITH STROKE
-0244 LATIN CAPITAL LETTER U BAR
-0245 LATIN CAPITAL LETTER TURNED V
-0246 LATIN CAPITAL LETTER E WITH STROKE
-0247 LATIN SMALL LETTER E WITH STROKE
-0248 LATIN CAPITAL LETTER J WITH STROKE
-0249 LATIN SMALL LETTER J WITH STROKE
-024A LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024B LATIN SMALL LETTER Q WITH HOOK TAIL
-024C LATIN CAPITAL LETTER R WITH STROKE
-024D LATIN SMALL LETTER R WITH STROKE
-024E LATIN CAPITAL LETTER Y WITH STROKE
-024F LATIN SMALL LETTER Y WITH STROKE
-0250 LATIN SMALL LETTER TURNED A
-0251 LATIN SMALL LETTER ALPHA
-0252 LATIN SMALL LETTER TURNED ALPHA
-0253 LATIN SMALL LETTER B WITH HOOK
-0254 LATIN SMALL LETTER OPEN O
-0255 LATIN SMALL LETTER C WITH CURL
-0256 LATIN SMALL LETTER D WITH TAIL
-0257 LATIN SMALL LETTER D WITH HOOK
-0258 LATIN SMALL LETTER REVERSED E
-0259 LATIN SMALL LETTER SCHWA
-025A LATIN SMALL LETTER SCHWA WITH HOOK
-025B LATIN SMALL LETTER OPEN E
-025C LATIN SMALL LETTER REVERSED OPEN E
-025D LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E LATIN SMALL LETTER CLOSED REVERSED OPEN E
-025F LATIN SMALL LETTER DOTLESS J WITH STROKE
-0260 LATIN SMALL LETTER G WITH HOOK
-0261 LATIN SMALL LETTER SCRIPT G
-0262 LATIN LETTER SMALL CAPITAL G
-0263 LATIN SMALL LETTER GAMMA
-0264 LATIN SMALL LETTER RAMS HORN
-0265 LATIN SMALL LETTER TURNED H
-0266 LATIN SMALL LETTER H WITH HOOK
-0267 LATIN SMALL LETTER HENG WITH HOOK
-0268 LATIN SMALL LETTER I WITH STROKE
-0269 LATIN SMALL LETTER IOTA
-026A LATIN LETTER SMALL CAPITAL I
-026B LATIN SMALL LETTER L WITH MIDDLE TILDE
-026C LATIN SMALL LETTER L WITH BELT
-026D LATIN SMALL LETTER L WITH RETROFLEX HOOK
-026E LATIN SMALL LETTER LEZH
-026F LATIN SMALL LETTER TURNED M
-0270 LATIN SMALL LETTER TURNED M WITH LONG LEG
-0271 LATIN SMALL LETTER M WITH HOOK
-0272 LATIN SMALL LETTER N WITH LEFT HOOK
-0273 LATIN SMALL LETTER N WITH RETROFLEX HOOK
-0274 LATIN LETTER SMALL CAPITAL N
-0275 LATIN SMALL LETTER BARRED O
-0276 LATIN LETTER SMALL CAPITAL OE
-0277 LATIN SMALL LETTER CLOSED OMEGA
-0278 LATIN SMALL LETTER PHI
-0279 LATIN SMALL LETTER TURNED R
-027A LATIN SMALL LETTER TURNED R WITH LONG LEG
-027B LATIN SMALL LETTER TURNED R WITH HOOK
-027C LATIN SMALL LETTER R WITH LONG LEG
-027D LATIN SMALL LETTER R WITH TAIL
-027E LATIN SMALL LETTER R WITH FISHHOOK
-027F LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0280 LATIN LETTER SMALL CAPITAL R
-0281 LATIN LETTER SMALL CAPITAL INVERTED R
-0282 LATIN SMALL LETTER S WITH HOOK
-0283 LATIN SMALL LETTER ESH
-0284 LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-0285 LATIN SMALL LETTER SQUAT REVERSED ESH
-0286 LATIN SMALL LETTER ESH WITH CURL
-0287 LATIN SMALL LETTER TURNED T
-0288 LATIN SMALL LETTER T WITH RETROFLEX HOOK
-0289 LATIN SMALL LETTER U BAR
-028A LATIN SMALL LETTER UPSILON
-028B LATIN SMALL LETTER V WITH HOOK
-028C LATIN SMALL LETTER TURNED V
-028D LATIN SMALL LETTER TURNED W
-028E LATIN SMALL LETTER TURNED Y
-028F LATIN LETTER SMALL CAPITAL Y
-0290 LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-0291 LATIN SMALL LETTER Z WITH CURL
-0292 LATIN SMALL LETTER EZH
-0293 LATIN SMALL LETTER EZH WITH CURL
-0294 LATIN LETTER GLOTTAL STOP
-0295 LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-0296 LATIN LETTER INVERTED GLOTTAL STOP
-0297 LATIN LETTER STRETCHED C
-0298 LATIN LETTER BILABIAL CLICK
-0299 LATIN LETTER SMALL CAPITAL B
-029A LATIN SMALL LETTER CLOSED OPEN E
-029B LATIN LETTER SMALL CAPITAL G WITH HOOK
-029C LATIN LETTER SMALL CAPITAL H
-029D LATIN SMALL LETTER J WITH CROSSED-TAIL
-029E LATIN SMALL LETTER TURNED K
-029F LATIN LETTER SMALL CAPITAL L
-02A0 LATIN SMALL LETTER Q WITH HOOK
-02A1 LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2 LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-02A3 LATIN SMALL LETTER DZ DIGRAPH
-02A4 LATIN SMALL LETTER DEZH DIGRAPH
-02A5 LATIN SMALL LETTER DZ DIGRAPH WITH CURL
-02A6 LATIN SMALL LETTER TS DIGRAPH
-02A7 LATIN SMALL LETTER TESH DIGRAPH
-02A8 LATIN SMALL LETTER TC DIGRAPH WITH CURL
-02A9 LATIN SMALL LETTER FENG DIGRAPH
-02AA LATIN SMALL LETTER LS DIGRAPH
-02AB LATIN SMALL LETTER LZ DIGRAPH
-02AC LATIN LETTER BILABIAL PERCUSSIVE
-02AD LATIN LETTER BIDENTAL PERCUSSIVE
-02AE LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0 MODIFIER LETTER SMALL H
-02B1 MODIFIER LETTER SMALL H WITH HOOK
-02B2 MODIFIER LETTER SMALL J
-02B3 MODIFIER LETTER SMALL R
-02B4 MODIFIER LETTER SMALL TURNED R
-02B5 MODIFIER LETTER SMALL TURNED R WITH HOOK
-02B6 MODIFIER LETTER SMALL CAPITAL INVERTED R
-02B7 MODIFIER LETTER SMALL W
-02B8 MODIFIER LETTER SMALL Y
-02B9 MODIFIER LETTER PRIME
-02BA MODIFIER LETTER DOUBLE PRIME
-02BB MODIFIER LETTER TURNED COMMA
-02BC MODIFIER LETTER APOSTROPHE
-02BD MODIFIER LETTER REVERSED COMMA
-02BE MODIFIER LETTER RIGHT HALF RING
-02BF MODIFIER LETTER LEFT HALF RING
-02C0 MODIFIER LETTER GLOTTAL STOP
-02C1 MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2 MODIFIER LETTER LEFT ARROWHEAD
-02C3 MODIFIER LETTER RIGHT ARROWHEAD
-02C4 MODIFIER LETTER UP ARROWHEAD
-02C5 MODIFIER LETTER DOWN ARROWHEAD
-02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7 CARON
-02C8 MODIFIER LETTER VERTICAL LINE
-02C9 MODIFIER LETTER MACRON
-02CA MODIFIER LETTER ACUTE ACCENT
-02CB MODIFIER LETTER GRAVE ACCENT
-02CC MODIFIER LETTER LOW VERTICAL LINE
-02CD MODIFIER LETTER LOW MACRON
-02CE MODIFIER LETTER LOW GRAVE ACCENT
-02CF MODIFIER LETTER LOW ACUTE ACCENT
-02D0 MODIFIER LETTER TRIANGULAR COLON
-02D1 MODIFIER LETTER HALF TRIANGULAR COLON
-02D2 MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3 MODIFIER LETTER CENTRED LEFT HALF RING
-02D4 MODIFIER LETTER UP TACK
-02D5 MODIFIER LETTER DOWN TACK
-02D6 MODIFIER LETTER PLUS SIGN
-02D7 MODIFIER LETTER MINUS SIGN
-02D8 BREVE
-02D9 DOT ABOVE
-02DA RING ABOVE
-02DB OGONEK
-02DC SMALL TILDE
-02DD DOUBLE ACUTE ACCENT
-02DE MODIFIER LETTER RHOTIC HOOK
-02DF MODIFIER LETTER CROSS ACCENT
-02E0 MODIFIER LETTER SMALL GAMMA
-02E1 MODIFIER LETTER SMALL L
-02E2 MODIFIER LETTER SMALL S
-02E3 MODIFIER LETTER SMALL X
-02E4 MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5 MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6 MODIFIER LETTER HIGH TONE BAR
-02E7 MODIFIER LETTER MID TONE BAR
-02E8 MODIFIER LETTER LOW TONE BAR
-02E9 MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC MODIFIER LETTER VOICING
-02ED MODIFIER LETTER UNASPIRATED
-02EE MODIFIER LETTER DOUBLE APOSTROPHE
-02EF MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0 MODIFIER LETTER LOW UP ARROWHEAD
-02F1 MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2 MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3 MODIFIER LETTER LOW RING
-02F4 MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7 MODIFIER LETTER LOW TILDE
-02F8 MODIFIER LETTER RAISED COLON
-02F9 MODIFIER LETTER BEGIN HIGH TONE
-02FA MODIFIER LETTER END HIGH TONE
-02FB MODIFIER LETTER BEGIN LOW TONE
-02FC MODIFIER LETTER END LOW TONE
-02FD MODIFIER LETTER SHELF
-02FE MODIFIER LETTER OPEN SHELF
-02FF MODIFIER LETTER LOW LEFT ARROW
-0300 COMBINING GRAVE ACCENT
-0301 COMBINING ACUTE ACCENT
-0302 COMBINING CIRCUMFLEX ACCENT
-0303 COMBINING TILDE
-0304 COMBINING MACRON
-0305 COMBINING OVERLINE
-0306 COMBINING BREVE
-0307 COMBINING DOT ABOVE
-0308 COMBINING DIAERESIS
-0309 COMBINING HOOK ABOVE
-030A COMBINING RING ABOVE
-030B COMBINING DOUBLE ACUTE ACCENT
-030C COMBINING CARON
-030D COMBINING VERTICAL LINE ABOVE
-030E COMBINING DOUBLE VERTICAL LINE ABOVE
-030F COMBINING DOUBLE GRAVE ACCENT
-0310 COMBINING CANDRABINDU
-0311 COMBINING INVERTED BREVE
-0312 COMBINING TURNED COMMA ABOVE
-0313 COMBINING COMMA ABOVE
-0314 COMBINING REVERSED COMMA ABOVE
-0315 COMBINING COMMA ABOVE RIGHT
-0316 COMBINING GRAVE ACCENT BELOW
-0317 COMBINING ACUTE ACCENT BELOW
-0318 COMBINING LEFT TACK BELOW
-0319 COMBINING RIGHT TACK BELOW
-031A COMBINING LEFT ANGLE ABOVE
-031B COMBINING HORN
-031C COMBINING LEFT HALF RING BELOW
-031D COMBINING UP TACK BELOW
-031E COMBINING DOWN TACK BELOW
-031F COMBINING PLUS SIGN BELOW
-0320 COMBINING MINUS SIGN BELOW
-0321 COMBINING PALATALIZED HOOK BELOW
-0322 COMBINING RETROFLEX HOOK BELOW
-0323 COMBINING DOT BELOW
-0324 COMBINING DIAERESIS BELOW
-0325 COMBINING RING BELOW
-0326 COMBINING COMMA BELOW
-0327 COMBINING CEDILLA
-0328 COMBINING OGONEK
-0329 COMBINING VERTICAL LINE BELOW
-032A COMBINING BRIDGE BELOW
-032B COMBINING INVERTED DOUBLE ARCH BELOW
-032C COMBINING CARON BELOW
-032D COMBINING CIRCUMFLEX ACCENT BELOW
-032E COMBINING BREVE BELOW
-032F COMBINING INVERTED BREVE BELOW
-0330 COMBINING TILDE BELOW
-0331 COMBINING MACRON BELOW
-0332 COMBINING LOW LINE
-0333 COMBINING DOUBLE LOW LINE
-0334 COMBINING TILDE OVERLAY
-0335 COMBINING SHORT STROKE OVERLAY
-0336 COMBINING LONG STROKE OVERLAY
-0337 COMBINING SHORT SOLIDUS OVERLAY
-0338 COMBINING LONG SOLIDUS OVERLAY
-0339 COMBINING RIGHT HALF RING BELOW
-033A COMBINING INVERTED BRIDGE BELOW
-033B COMBINING SQUARE BELOW
-033C COMBINING SEAGULL BELOW
-033D COMBINING X ABOVE
-033E COMBINING VERTICAL TILDE
-033F COMBINING DOUBLE OVERLINE
-0340 COMBINING GRAVE TONE MARK
-0341 COMBINING ACUTE TONE MARK
-0342 COMBINING GREEK PERISPOMENI
-0343 COMBINING GREEK KORONIS
-0344 COMBINING GREEK DIALYTIKA TONOS
-0345 COMBINING GREEK YPOGEGRAMMENI
-0346 COMBINING BRIDGE ABOVE
-0347 COMBINING EQUALS SIGN BELOW
-0348 COMBINING DOUBLE VERTICAL LINE BELOW
-0349 COMBINING LEFT ANGLE BELOW
-034A COMBINING NOT TILDE ABOVE
-034B COMBINING HOMOTHETIC ABOVE
-034C COMBINING ALMOST EQUAL TO ABOVE
-034D COMBINING LEFT RIGHT ARROW BELOW
-034E COMBINING UPWARDS ARROW BELOW
-034F COMBINING GRAPHEME JOINER
-0350 COMBINING RIGHT ARROWHEAD ABOVE
-0351 COMBINING LEFT HALF RING ABOVE
-0352 COMBINING FERMATA
-0353 COMBINING X BELOW
-0354 COMBINING LEFT ARROWHEAD BELOW
-0355 COMBINING RIGHT ARROWHEAD BELOW
-0356 COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0357 COMBINING RIGHT HALF RING ABOVE
-0358 COMBINING DOT ABOVE RIGHT
-0359 COMBINING ASTERISK BELOW
-035A COMBINING DOUBLE RING BELOW
-035B COMBINING ZIGZAG ABOVE
-035C COMBINING DOUBLE BREVE BELOW
-035D COMBINING DOUBLE BREVE
-035E COMBINING DOUBLE MACRON
-035F COMBINING DOUBLE MACRON BELOW
-0360 COMBINING DOUBLE TILDE
-0361 COMBINING DOUBLE INVERTED BREVE
-0362 COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-0363 COMBINING LATIN SMALL LETTER A
-0364 COMBINING LATIN SMALL LETTER E
-0365 COMBINING LATIN SMALL LETTER I
-0366 COMBINING LATIN SMALL LETTER O
-0367 COMBINING LATIN SMALL LETTER U
-0368 COMBINING LATIN SMALL LETTER C
-0369 COMBINING LATIN SMALL LETTER D
-036A COMBINING LATIN SMALL LETTER H
-036B COMBINING LATIN SMALL LETTER M
-036C COMBINING LATIN SMALL LETTER R
-036D COMBINING LATIN SMALL LETTER T
-036E COMBINING LATIN SMALL LETTER V
-036F COMBINING LATIN SMALL LETTER X
-0370 GREEK CAPITAL LETTER HETA
-0371 GREEK SMALL LETTER HETA
-0372 GREEK CAPITAL LETTER ARCHAIC SAMPI
-0373 GREEK SMALL LETTER ARCHAIC SAMPI
-0374 GREEK NUMERAL SIGN
-0375 GREEK LOWER NUMERAL SIGN
-0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A GREEK YPOGEGRAMMENI
-037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-037E GREEK QUESTION MARK
-0384 GREEK TONOS
-0385 GREEK DIALYTIKA TONOS
-0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 GREEK ANO TELEIA
-0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
-0389 GREEK CAPITAL LETTER ETA WITH TONOS
-038A GREEK CAPITAL LETTER IOTA WITH TONOS
-038C GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E GREEK CAPITAL LETTER UPSILON WITH TONOS
-038F GREEK CAPITAL LETTER OMEGA WITH TONOS
-0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-0391 GREEK CAPITAL LETTER ALPHA
-0392 GREEK CAPITAL LETTER BETA
-0393 GREEK CAPITAL LETTER GAMMA
-0394 GREEK CAPITAL LETTER DELTA
-0395 GREEK CAPITAL LETTER EPSILON
-0396 GREEK CAPITAL LETTER ZETA
-0397 GREEK CAPITAL LETTER ETA
-0398 GREEK CAPITAL LETTER THETA
-0399 GREEK CAPITAL LETTER IOTA
-039A GREEK CAPITAL LETTER KAPPA
-039B GREEK CAPITAL LETTER LAMDA
-039C GREEK CAPITAL LETTER MU
-039D GREEK CAPITAL LETTER NU
-039E GREEK CAPITAL LETTER XI
-039F GREEK CAPITAL LETTER OMICRON
-03A0 GREEK CAPITAL LETTER PI
-03A1 GREEK CAPITAL LETTER RHO
-03A3 GREEK CAPITAL LETTER SIGMA
-03A4 GREEK CAPITAL LETTER TAU
-03A5 GREEK CAPITAL LETTER UPSILON
-03A6 GREEK CAPITAL LETTER PHI
-03A7 GREEK CAPITAL LETTER CHI
-03A8 GREEK CAPITAL LETTER PSI
-03A9 GREEK CAPITAL LETTER OMEGA
-03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03AC GREEK SMALL LETTER ALPHA WITH TONOS
-03AD GREEK SMALL LETTER EPSILON WITH TONOS
-03AE GREEK SMALL LETTER ETA WITH TONOS
-03AF GREEK SMALL LETTER IOTA WITH TONOS
-03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03B1 GREEK SMALL LETTER ALPHA
-03B2 GREEK SMALL LETTER BETA
-03B3 GREEK SMALL LETTER GAMMA
-03B4 GREEK SMALL LETTER DELTA
-03B5 GREEK SMALL LETTER EPSILON
-03B6 GREEK SMALL LETTER ZETA
-03B7 GREEK SMALL LETTER ETA
-03B8 GREEK SMALL LETTER THETA
-03B9 GREEK SMALL LETTER IOTA
-03BA GREEK SMALL LETTER KAPPA
-03BB GREEK SMALL LETTER LAMDA
-03BC GREEK SMALL LETTER MU
-03BD GREEK SMALL LETTER NU
-03BE GREEK SMALL LETTER XI
-03BF GREEK SMALL LETTER OMICRON
-03C0 GREEK SMALL LETTER PI
-03C1 GREEK SMALL LETTER RHO
-03C2 GREEK SMALL LETTER FINAL SIGMA
-03C3 GREEK SMALL LETTER SIGMA
-03C4 GREEK SMALL LETTER TAU
-03C5 GREEK SMALL LETTER UPSILON
-03C6 GREEK SMALL LETTER PHI
-03C7 GREEK SMALL LETTER CHI
-03C8 GREEK SMALL LETTER PSI
-03C9 GREEK SMALL LETTER OMEGA
-03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
-03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-03CC GREEK SMALL LETTER OMICRON WITH TONOS
-03CD GREEK SMALL LETTER UPSILON WITH TONOS
-03CE GREEK SMALL LETTER OMEGA WITH TONOS
-03CF GREEK CAPITAL KAI SYMBOL
-03D0 GREEK BETA SYMBOL
-03D1 GREEK THETA SYMBOL
-03D2 GREEK UPSILON WITH HOOK SYMBOL
-03D3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-03D4 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D5 GREEK PHI SYMBOL
-03D6 GREEK PI SYMBOL
-03D7 GREEK KAI SYMBOL
-03D8 GREEK LETTER ARCHAIC KOPPA
-03D9 GREEK SMALL LETTER ARCHAIC KOPPA
-03DA GREEK LETTER STIGMA
-03DB GREEK SMALL LETTER STIGMA
-03DC GREEK LETTER DIGAMMA
-03DD GREEK SMALL LETTER DIGAMMA
-03DE GREEK LETTER KOPPA
-03DF GREEK SMALL LETTER KOPPA
-03E0 GREEK LETTER SAMPI
-03E1 GREEK SMALL LETTER SAMPI
-03E2 COPTIC CAPITAL LETTER SHEI
-03E3 COPTIC SMALL LETTER SHEI
-03E4 COPTIC CAPITAL LETTER FEI
-03E5 COPTIC SMALL LETTER FEI
-03E6 COPTIC CAPITAL LETTER KHEI
-03E7 COPTIC SMALL LETTER KHEI
-03E8 COPTIC CAPITAL LETTER HORI
-03E9 COPTIC SMALL LETTER HORI
-03EA COPTIC CAPITAL LETTER GANGIA
-03EB COPTIC SMALL LETTER GANGIA
-03EC COPTIC CAPITAL LETTER SHIMA
-03ED COPTIC SMALL LETTER SHIMA
-03EE COPTIC CAPITAL LETTER DEI
-03EF COPTIC SMALL LETTER DEI
-03F0 GREEK KAPPA SYMBOL
-03F1 GREEK RHO SYMBOL
-03F2 GREEK LUNATE SIGMA SYMBOL
-03F3 GREEK LETTER YOT
-03F4 GREEK CAPITAL THETA SYMBOL
-03F5 GREEK LUNATE EPSILON SYMBOL
-03F6 GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7 GREEK CAPITAL LETTER SHO
-03F8 GREEK SMALL LETTER SHO
-03F9 GREEK CAPITAL LUNATE SIGMA SYMBOL
-03FA GREEK CAPITAL LETTER SAN
-03FB GREEK SMALL LETTER SAN
-03FC GREEK RHO WITH STROKE SYMBOL
-03FD GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-03FE GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-03FF GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0400 CYRILLIC CAPITAL LETTER IE WITH GRAVE
-0401 CYRILLIC CAPITAL LETTER IO
-0402 CYRILLIC CAPITAL LETTER DJE
-0403 CYRILLIC CAPITAL LETTER GJE
-0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0405 CYRILLIC CAPITAL LETTER DZE
-0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0407 CYRILLIC CAPITAL LETTER YI
-0408 CYRILLIC CAPITAL LETTER JE
-0409 CYRILLIC CAPITAL LETTER LJE
-040A CYRILLIC CAPITAL LETTER NJE
-040B CYRILLIC CAPITAL LETTER TSHE
-040C CYRILLIC CAPITAL LETTER KJE
-040D CYRILLIC CAPITAL LETTER I WITH GRAVE
-040E CYRILLIC CAPITAL LETTER SHORT U
-040F CYRILLIC CAPITAL LETTER DZHE
-0410 CYRILLIC CAPITAL LETTER A
-0411 CYRILLIC CAPITAL LETTER BE
-0412 CYRILLIC CAPITAL LETTER VE
-0413 CYRILLIC CAPITAL LETTER GHE
-0414 CYRILLIC CAPITAL LETTER DE
-0415 CYRILLIC CAPITAL LETTER IE
-0416 CYRILLIC CAPITAL LETTER ZHE
-0417 CYRILLIC CAPITAL LETTER ZE
-0418 CYRILLIC CAPITAL LETTER I
-0419 CYRILLIC CAPITAL LETTER SHORT I
-041A CYRILLIC CAPITAL LETTER KA
-041B CYRILLIC CAPITAL LETTER EL
-041C CYRILLIC CAPITAL LETTER EM
-041D CYRILLIC CAPITAL LETTER EN
-041E CYRILLIC CAPITAL LETTER O
-041F CYRILLIC CAPITAL LETTER PE
-0420 CYRILLIC CAPITAL LETTER ER
-0421 CYRILLIC CAPITAL LETTER ES
-0422 CYRILLIC CAPITAL LETTER TE
-0423 CYRILLIC CAPITAL LETTER U
-0424 CYRILLIC CAPITAL LETTER EF
-0425 CYRILLIC CAPITAL LETTER HA
-0426 CYRILLIC CAPITAL LETTER TSE
-0427 CYRILLIC CAPITAL LETTER CHE
-0428 CYRILLIC CAPITAL LETTER SHA
-0429 CYRILLIC CAPITAL LETTER SHCHA
-042A CYRILLIC CAPITAL LETTER HARD SIGN
-042B CYRILLIC CAPITAL LETTER YERU
-042C CYRILLIC CAPITAL LETTER SOFT SIGN
-042D CYRILLIC CAPITAL LETTER E
-042E CYRILLIC CAPITAL LETTER YU
-042F CYRILLIC CAPITAL LETTER YA
-0430 CYRILLIC SMALL LETTER A
-0431 CYRILLIC SMALL LETTER BE
-0432 CYRILLIC SMALL LETTER VE
-0433 CYRILLIC SMALL LETTER GHE
-0434 CYRILLIC SMALL LETTER DE
-0435 CYRILLIC SMALL LETTER IE
-0436 CYRILLIC SMALL LETTER ZHE
-0437 CYRILLIC SMALL LETTER ZE
-0438 CYRILLIC SMALL LETTER I
-0439 CYRILLIC SMALL LETTER SHORT I
-043A CYRILLIC SMALL LETTER KA
-043B CYRILLIC SMALL LETTER EL
-043C CYRILLIC SMALL LETTER EM
-043D CYRILLIC SMALL LETTER EN
-043E CYRILLIC SMALL LETTER O
-043F CYRILLIC SMALL LETTER PE
-0440 CYRILLIC SMALL LETTER ER
-0441 CYRILLIC SMALL LETTER ES
-0442 CYRILLIC SMALL LETTER TE
-0443 CYRILLIC SMALL LETTER U
-0444 CYRILLIC SMALL LETTER EF
-0445 CYRILLIC SMALL LETTER HA
-0446 CYRILLIC SMALL LETTER TSE
-0447 CYRILLIC SMALL LETTER CHE
-0448 CYRILLIC SMALL LETTER SHA
-0449 CYRILLIC SMALL LETTER SHCHA
-044A CYRILLIC SMALL LETTER HARD SIGN
-044B CYRILLIC SMALL LETTER YERU
-044C CYRILLIC SMALL LETTER SOFT SIGN
-044D CYRILLIC SMALL LETTER E
-044E CYRILLIC SMALL LETTER YU
-044F CYRILLIC SMALL LETTER YA
-0450 CYRILLIC SMALL LETTER IE WITH GRAVE
-0451 CYRILLIC SMALL LETTER IO
-0452 CYRILLIC SMALL LETTER DJE
-0453 CYRILLIC SMALL LETTER GJE
-0454 CYRILLIC SMALL LETTER UKRAINIAN IE
-0455 CYRILLIC SMALL LETTER DZE
-0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0457 CYRILLIC SMALL LETTER YI
-0458 CYRILLIC SMALL LETTER JE
-0459 CYRILLIC SMALL LETTER LJE
-045A CYRILLIC SMALL LETTER NJE
-045B CYRILLIC SMALL LETTER TSHE
-045C CYRILLIC SMALL LETTER KJE
-045D CYRILLIC SMALL LETTER I WITH GRAVE
-045E CYRILLIC SMALL LETTER SHORT U
-045F CYRILLIC SMALL LETTER DZHE
-0460 CYRILLIC CAPITAL LETTER OMEGA
-0461 CYRILLIC SMALL LETTER OMEGA
-0462 CYRILLIC CAPITAL LETTER YAT
-0463 CYRILLIC SMALL LETTER YAT
-0464 CYRILLIC CAPITAL LETTER IOTIFIED E
-0465 CYRILLIC SMALL LETTER IOTIFIED E
-0466 CYRILLIC CAPITAL LETTER LITTLE YUS
-0467 CYRILLIC SMALL LETTER LITTLE YUS
-0468 CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-0469 CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046A CYRILLIC CAPITAL LETTER BIG YUS
-046B CYRILLIC SMALL LETTER BIG YUS
-046C CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046D CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046E CYRILLIC CAPITAL LETTER KSI
-046F CYRILLIC SMALL LETTER KSI
-0470 CYRILLIC CAPITAL LETTER PSI
-0471 CYRILLIC SMALL LETTER PSI
-0472 CYRILLIC CAPITAL LETTER FITA
-0473 CYRILLIC SMALL LETTER FITA
-0474 CYRILLIC CAPITAL LETTER IZHITSA
-0475 CYRILLIC SMALL LETTER IZHITSA
-0476 CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0477 CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 CYRILLIC CAPITAL LETTER UK
-0479 CYRILLIC SMALL LETTER UK
-047A CYRILLIC CAPITAL LETTER ROUND OMEGA
-047B CYRILLIC SMALL LETTER ROUND OMEGA
-047C CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047D CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047E CYRILLIC CAPITAL LETTER OT
-047F CYRILLIC SMALL LETTER OT
-0480 CYRILLIC CAPITAL LETTER KOPPA
-0481 CYRILLIC SMALL LETTER KOPPA
-0482 CYRILLIC THOUSANDS SIGN
-0483 COMBINING CYRILLIC TITLO
-0484 COMBINING CYRILLIC PALATALIZATION
-0485 COMBINING CYRILLIC DASIA PNEUMATA
-0486 COMBINING CYRILLIC PSILI PNEUMATA
-0487 COMBINING CYRILLIC POKRYTIE
-0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
-0489 COMBINING CYRILLIC MILLIONS SIGN
-048A CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048B CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048C CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048D CYRILLIC SMALL LETTER SEMISOFT SIGN
-048E CYRILLIC CAPITAL LETTER ER WITH TICK
-048F CYRILLIC SMALL LETTER ER WITH TICK
-0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
-0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0493 CYRILLIC SMALL LETTER GHE WITH STROKE
-0494 CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0495 CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0498 CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0499 CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049B CYRILLIC SMALL LETTER KA WITH DESCENDER
-049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049E CYRILLIC CAPITAL LETTER KA WITH STROKE
-049F CYRILLIC SMALL LETTER KA WITH STROKE
-04A0 CYRILLIC CAPITAL LETTER BASHKIR KA
-04A1 CYRILLIC SMALL LETTER BASHKIR KA
-04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A4 CYRILLIC CAPITAL LIGATURE EN GHE
-04A5 CYRILLIC SMALL LIGATURE EN GHE
-04A6 CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A7 CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A8 CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04A9 CYRILLIC SMALL LETTER ABKHASIAN HA
-04AA CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AB CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AC CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AD CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AE CYRILLIC CAPITAL LETTER STRAIGHT U
-04AF CYRILLIC SMALL LETTER STRAIGHT U
-04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B4 CYRILLIC CAPITAL LIGATURE TE TSE
-04B5 CYRILLIC SMALL LIGATURE TE TSE
-04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BA CYRILLIC CAPITAL LETTER SHHA
-04BB CYRILLIC SMALL LETTER SHHA
-04BC CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BD CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BE CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04BF CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0 CYRILLIC LETTER PALOCHKA
-04C1 CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C2 CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C3 CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C4 CYRILLIC SMALL LETTER KA WITH HOOK
-04C5 CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C6 CYRILLIC SMALL LETTER EL WITH TAIL
-04C7 CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C8 CYRILLIC SMALL LETTER EN WITH HOOK
-04C9 CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CA CYRILLIC SMALL LETTER EN WITH TAIL
-04CB CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CC CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CD CYRILLIC CAPITAL LETTER EM WITH TAIL
-04CE CYRILLIC SMALL LETTER EM WITH TAIL
-04CF CYRILLIC SMALL LETTER PALOCHKA
-04D0 CYRILLIC CAPITAL LETTER A WITH BREVE
-04D1 CYRILLIC SMALL LETTER A WITH BREVE
-04D2 CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D3 CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D4 CYRILLIC CAPITAL LIGATURE A IE
-04D5 CYRILLIC SMALL LIGATURE A IE
-04D6 CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D7 CYRILLIC SMALL LETTER IE WITH BREVE
-04D8 CYRILLIC CAPITAL LETTER SCHWA
-04D9 CYRILLIC SMALL LETTER SCHWA
-04DA CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DB CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DC CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DD CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DE CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04DF CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E0 CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E1 CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E2 CYRILLIC CAPITAL LETTER I WITH MACRON
-04E3 CYRILLIC SMALL LETTER I WITH MACRON
-04E4 CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E5 CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E6 CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E7 CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E8 CYRILLIC CAPITAL LETTER BARRED O
-04E9 CYRILLIC SMALL LETTER BARRED O
-04EA CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EB CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EC CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04ED CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EE CYRILLIC CAPITAL LETTER U WITH MACRON
-04EF CYRILLIC SMALL LETTER U WITH MACRON
-04F0 CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F1 CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F2 CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F3 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F4 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F5 CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F6 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F7 CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F8 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04F9 CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FA CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FB CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FC CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FD CYRILLIC SMALL LETTER HA WITH HOOK
-04FE CYRILLIC CAPITAL LETTER HA WITH STROKE
-04FF CYRILLIC SMALL LETTER HA WITH STROKE
-0500 CYRILLIC CAPITAL LETTER KOMI DE
-0501 CYRILLIC SMALL LETTER KOMI DE
-0502 CYRILLIC CAPITAL LETTER KOMI DJE
-0503 CYRILLIC SMALL LETTER KOMI DJE
-0504 CYRILLIC CAPITAL LETTER KOMI ZJE
-0505 CYRILLIC SMALL LETTER KOMI ZJE
-0506 CYRILLIC CAPITAL LETTER KOMI DZJE
-0507 CYRILLIC SMALL LETTER KOMI DZJE
-0508 CYRILLIC CAPITAL LETTER KOMI LJE
-0509 CYRILLIC SMALL LETTER KOMI LJE
-050A CYRILLIC CAPITAL LETTER KOMI NJE
-050B CYRILLIC SMALL LETTER KOMI NJE
-050C CYRILLIC CAPITAL LETTER KOMI SJE
-050D CYRILLIC SMALL LETTER KOMI SJE
-050E CYRILLIC CAPITAL LETTER KOMI TJE
-050F CYRILLIC SMALL LETTER KOMI TJE
-0510 CYRILLIC CAPITAL LETTER REVERSED ZE
-0511 CYRILLIC SMALL LETTER REVERSED ZE
-0512 CYRILLIC CAPITAL LETTER EL WITH HOOK
-0513 CYRILLIC SMALL LETTER EL WITH HOOK
-0514 CYRILLIC CAPITAL LETTER LHA
-0515 CYRILLIC SMALL LETTER LHA
-0516 CYRILLIC CAPITAL LETTER RHA
-0517 CYRILLIC SMALL LETTER RHA
-0518 CYRILLIC CAPITAL LETTER YAE
-0519 CYRILLIC SMALL LETTER YAE
-051A CYRILLIC CAPITAL LETTER QA
-051B CYRILLIC SMALL LETTER QA
-051C CYRILLIC CAPITAL LETTER WE
-051D CYRILLIC SMALL LETTER WE
-051E CYRILLIC CAPITAL LETTER ALEUT KA
-051F CYRILLIC SMALL LETTER ALEUT KA
-0520 CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0521 CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0522 CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0523 CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0524 CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0525 CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531 ARMENIAN CAPITAL LETTER AYB
-0532 ARMENIAN CAPITAL LETTER BEN
-0533 ARMENIAN CAPITAL LETTER GIM
-0534 ARMENIAN CAPITAL LETTER DA
-0535 ARMENIAN CAPITAL LETTER ECH
-0536 ARMENIAN CAPITAL LETTER ZA
-0537 ARMENIAN CAPITAL LETTER EH
-0538 ARMENIAN CAPITAL LETTER ET
-0539 ARMENIAN CAPITAL LETTER TO
-053A ARMENIAN CAPITAL LETTER ZHE
-053B ARMENIAN CAPITAL LETTER INI
-053C ARMENIAN CAPITAL LETTER LIWN
-053D ARMENIAN CAPITAL LETTER XEH
-053E ARMENIAN CAPITAL LETTER CA
-053F ARMENIAN CAPITAL LETTER KEN
-0540 ARMENIAN CAPITAL LETTER HO
-0541 ARMENIAN CAPITAL LETTER JA
-0542 ARMENIAN CAPITAL LETTER GHAD
-0543 ARMENIAN CAPITAL LETTER CHEH
-0544 ARMENIAN CAPITAL LETTER MEN
-0545 ARMENIAN CAPITAL LETTER YI
-0546 ARMENIAN CAPITAL LETTER NOW
-0547 ARMENIAN CAPITAL LETTER SHA
-0548 ARMENIAN CAPITAL LETTER VO
-0549 ARMENIAN CAPITAL LETTER CHA
-054A ARMENIAN CAPITAL LETTER PEH
-054B ARMENIAN CAPITAL LETTER JHEH
-054C ARMENIAN CAPITAL LETTER RA
-054D ARMENIAN CAPITAL LETTER SEH
-054E ARMENIAN CAPITAL LETTER VEW
-054F ARMENIAN CAPITAL LETTER TIWN
-0550 ARMENIAN CAPITAL LETTER REH
-0551 ARMENIAN CAPITAL LETTER CO
-0552 ARMENIAN CAPITAL LETTER YIWN
-0553 ARMENIAN CAPITAL LETTER PIWR
-0554 ARMENIAN CAPITAL LETTER KEH
-0555 ARMENIAN CAPITAL LETTER OH
-0556 ARMENIAN CAPITAL LETTER FEH
-0559 ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A ARMENIAN APOSTROPHE
-055B ARMENIAN EMPHASIS MARK
-055C ARMENIAN EXCLAMATION MARK
-055D ARMENIAN COMMA
-055E ARMENIAN QUESTION MARK
-055F ARMENIAN ABBREVIATION MARK
-0561 ARMENIAN SMALL LETTER AYB
-0562 ARMENIAN SMALL LETTER BEN
-0563 ARMENIAN SMALL LETTER GIM
-0564 ARMENIAN SMALL LETTER DA
-0565 ARMENIAN SMALL LETTER ECH
-0566 ARMENIAN SMALL LETTER ZA
-0567 ARMENIAN SMALL LETTER EH
-0568 ARMENIAN SMALL LETTER ET
-0569 ARMENIAN SMALL LETTER TO
-056A ARMENIAN SMALL LETTER ZHE
-056B ARMENIAN SMALL LETTER INI
-056C ARMENIAN SMALL LETTER LIWN
-056D ARMENIAN SMALL LETTER XEH
-056E ARMENIAN SMALL LETTER CA
-056F ARMENIAN SMALL LETTER KEN
-0570 ARMENIAN SMALL LETTER HO
-0571 ARMENIAN SMALL LETTER JA
-0572 ARMENIAN SMALL LETTER GHAD
-0573 ARMENIAN SMALL LETTER CHEH
-0574 ARMENIAN SMALL LETTER MEN
-0575 ARMENIAN SMALL LETTER YI
-0576 ARMENIAN SMALL LETTER NOW
-0577 ARMENIAN SMALL LETTER SHA
-0578 ARMENIAN SMALL LETTER VO
-0579 ARMENIAN SMALL LETTER CHA
-057A ARMENIAN SMALL LETTER PEH
-057B ARMENIAN SMALL LETTER JHEH
-057C ARMENIAN SMALL LETTER RA
-057D ARMENIAN SMALL LETTER SEH
-057E ARMENIAN SMALL LETTER VEW
-057F ARMENIAN SMALL LETTER TIWN
-0580 ARMENIAN SMALL LETTER REH
-0581 ARMENIAN SMALL LETTER CO
-0582 ARMENIAN SMALL LETTER YIWN
-0583 ARMENIAN SMALL LETTER PIWR
-0584 ARMENIAN SMALL LETTER KEH
-0585 ARMENIAN SMALL LETTER OH
-0586 ARMENIAN SMALL LETTER FEH
-0587 ARMENIAN SMALL LIGATURE ECH YIWN
-0589 ARMENIAN FULL STOP
-058A ARMENIAN HYPHEN
-0591 HEBREW ACCENT ETNAHTA
-0592 HEBREW ACCENT SEGOL
-0593 HEBREW ACCENT SHALSHELET
-0594 HEBREW ACCENT ZAQEF QATAN
-0595 HEBREW ACCENT ZAQEF GADOL
-0596 HEBREW ACCENT TIPEHA
-0597 HEBREW ACCENT REVIA
-0598 HEBREW ACCENT ZARQA
-0599 HEBREW ACCENT PASHTA
-059A HEBREW ACCENT YETIV
-059B HEBREW ACCENT TEVIR
-059C HEBREW ACCENT GERESH
-059D HEBREW ACCENT GERESH MUQDAM
-059E HEBREW ACCENT GERSHAYIM
-059F HEBREW ACCENT QARNEY PARA
-05A0 HEBREW ACCENT TELISHA GEDOLA
-05A1 HEBREW ACCENT PAZER
-05A2 HEBREW ACCENT ATNAH HAFUKH
-05A3 HEBREW ACCENT MUNAH
-05A4 HEBREW ACCENT MAHAPAKH
-05A5 HEBREW ACCENT MERKHA
-05A6 HEBREW ACCENT MERKHA KEFULA
-05A7 HEBREW ACCENT DARGA
-05A8 HEBREW ACCENT QADMA
-05A9 HEBREW ACCENT TELISHA QETANA
-05AA HEBREW ACCENT YERAH BEN YOMO
-05AB HEBREW ACCENT OLE
-05AC HEBREW ACCENT ILUY
-05AD HEBREW ACCENT DEHI
-05AE HEBREW ACCENT ZINOR
-05AF HEBREW MARK MASORA CIRCLE
-05B0 HEBREW POINT SHEVA
-05B1 HEBREW POINT HATAF SEGOL
-05B2 HEBREW POINT HATAF PATAH
-05B3 HEBREW POINT HATAF QAMATS
-05B4 HEBREW POINT HIRIQ
-05B5 HEBREW POINT TSERE
-05B6 HEBREW POINT SEGOL
-05B7 HEBREW POINT PATAH
-05B8 HEBREW POINT QAMATS
-05B9 HEBREW POINT HOLAM
-05BA HEBREW POINT HOLAM HASER FOR VAV
-05BB HEBREW POINT QUBUTS
-05BC HEBREW POINT DAGESH OR MAPIQ
-05BD HEBREW POINT METEG
-05BE HEBREW PUNCTUATION MAQAF
-05BF HEBREW POINT RAFE
-05C0 HEBREW PUNCTUATION PASEQ
-05C1 HEBREW POINT SHIN DOT
-05C2 HEBREW POINT SIN DOT
-05C3 HEBREW PUNCTUATION SOF PASUQ
-05C4 HEBREW MARK UPPER DOT
-05C5 HEBREW MARK LOWER DOT
-05C6 HEBREW PUNCTUATION NUN HAFUKHA
-05C7 HEBREW POINT QAMATS QATAN
-05D0 HEBREW LETTER ALEF
-05D1 HEBREW LETTER BET
-05D2 HEBREW LETTER GIMEL
-05D3 HEBREW LETTER DALET
-05D4 HEBREW LETTER HE
-05D5 HEBREW LETTER VAV
-05D6 HEBREW LETTER ZAYIN
-05D7 HEBREW LETTER HET
-05D8 HEBREW LETTER TET
-05D9 HEBREW LETTER YOD
-05DA HEBREW LETTER FINAL KAF
-05DB HEBREW LETTER KAF
-05DC HEBREW LETTER LAMED
-05DD HEBREW LETTER FINAL MEM
-05DE HEBREW LETTER MEM
-05DF HEBREW LETTER FINAL NUN
-05E0 HEBREW LETTER NUN
-05E1 HEBREW LETTER SAMEKH
-05E2 HEBREW LETTER AYIN
-05E3 HEBREW LETTER FINAL PE
-05E4 HEBREW LETTER PE
-05E5 HEBREW LETTER FINAL TSADI
-05E6 HEBREW LETTER TSADI
-05E7 HEBREW LETTER QOF
-05E8 HEBREW LETTER RESH
-05E9 HEBREW LETTER SHIN
-05EA HEBREW LETTER TAV
-05F0 HEBREW LIGATURE YIDDISH DOUBLE VAV
-05F1 HEBREW LIGATURE YIDDISH VAV YOD
-05F2 HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3 HEBREW PUNCTUATION GERESH
-05F4 HEBREW PUNCTUATION GERSHAYIM
-0600 ARABIC NUMBER SIGN
-0601 ARABIC SIGN SANAH
-0602 ARABIC FOOTNOTE MARKER
-0603 ARABIC SIGN SAFHA
-0606 ARABIC-INDIC CUBE ROOT
-0607 ARABIC-INDIC FOURTH ROOT
-0608 ARABIC RAY
-0609 ARABIC-INDIC PER MILLE SIGN
-060A ARABIC-INDIC PER TEN THOUSAND SIGN
-060B AFGHANI SIGN
-060C ARABIC COMMA
-060D ARABIC DATE SEPARATOR
-060E ARABIC POETIC VERSE SIGN
-060F ARABIC SIGN MISRA
-0610 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
-0611 ARABIC SIGN ALAYHE ASSALLAM
-0612 ARABIC SIGN RAHMATULLAH ALAYHE
-0613 ARABIC SIGN RADI ALLAHOU ANHU
-0614 ARABIC SIGN TAKHALLUS
-0615 ARABIC SMALL HIGH TAH
-0616 ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
-0617 ARABIC SMALL HIGH ZAIN
-0618 ARABIC SMALL FATHA
-0619 ARABIC SMALL DAMMA
-061A ARABIC SMALL KASRA
-061B ARABIC SEMICOLON
-061E ARABIC TRIPLE DOT PUNCTUATION MARK
-061F ARABIC QUESTION MARK
-0621 ARABIC LETTER HAMZA
-0622 ARABIC LETTER ALEF WITH MADDA ABOVE
-0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
-0624 ARABIC LETTER WAW WITH HAMZA ABOVE
-0625 ARABIC LETTER ALEF WITH HAMZA BELOW
-0626 ARABIC LETTER YEH WITH HAMZA ABOVE
-0627 ARABIC LETTER ALEF
-0628 ARABIC LETTER BEH
-0629 ARABIC LETTER TEH MARBUTA
-062A ARABIC LETTER TEH
-062B ARABIC LETTER THEH
-062C ARABIC LETTER JEEM
-062D ARABIC LETTER HAH
-062E ARABIC LETTER KHAH
-062F ARABIC LETTER DAL
-0630 ARABIC LETTER THAL
-0631 ARABIC LETTER REH
-0632 ARABIC LETTER ZAIN
-0633 ARABIC LETTER SEEN
-0634 ARABIC LETTER SHEEN
-0635 ARABIC LETTER SAD
-0636 ARABIC LETTER DAD
-0637 ARABIC LETTER TAH
-0638 ARABIC LETTER ZAH
-0639 ARABIC LETTER AIN
-063A ARABIC LETTER GHAIN
-063B ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-063D ARABIC LETTER FARSI YEH WITH INVERTED V
-063E ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ARABIC TATWEEL
-0641 ARABIC LETTER FEH
-0642 ARABIC LETTER QAF
-0643 ARABIC LETTER KAF
-0644 ARABIC LETTER LAM
-0645 ARABIC LETTER MEEM
-0646 ARABIC LETTER NOON
-0647 ARABIC LETTER HEH
-0648 ARABIC LETTER WAW
-0649 ARABIC LETTER ALEF MAKSURA
-064A ARABIC LETTER YEH
-064B ARABIC FATHATAN
-064C ARABIC DAMMATAN
-064D ARABIC KASRATAN
-064E ARABIC FATHA
-064F ARABIC DAMMA
-0650 ARABIC KASRA
-0651 ARABIC SHADDA
-0652 ARABIC SUKUN
-0653 ARABIC MADDAH ABOVE
-0654 ARABIC HAMZA ABOVE
-0655 ARABIC HAMZA BELOW
-0656 ARABIC SUBSCRIPT ALEF
-0657 ARABIC INVERTED DAMMA
-0658 ARABIC MARK NOON GHUNNA
-0659 ARABIC ZWARAKAY
-065A ARABIC VOWEL SIGN SMALL V ABOVE
-065B ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C ARABIC VOWEL SIGN DOT BELOW
-065D ARABIC REVERSED DAMMA
-065E ARABIC FATHA WITH TWO DOTS
-0660 ARABIC-INDIC DIGIT ZERO
-0661 ARABIC-INDIC DIGIT ONE
-0662 ARABIC-INDIC DIGIT TWO
-0663 ARABIC-INDIC DIGIT THREE
-0664 ARABIC-INDIC DIGIT FOUR
-0665 ARABIC-INDIC DIGIT FIVE
-0666 ARABIC-INDIC DIGIT SIX
-0667 ARABIC-INDIC DIGIT SEVEN
-0668 ARABIC-INDIC DIGIT EIGHT
-0669 ARABIC-INDIC DIGIT NINE
-066A ARABIC PERCENT SIGN
-066B ARABIC DECIMAL SEPARATOR
-066C ARABIC THOUSANDS SEPARATOR
-066D ARABIC FIVE POINTED STAR
-066E ARABIC LETTER DOTLESS BEH
-066F ARABIC LETTER DOTLESS QAF
-0670 ARABIC LETTER SUPERSCRIPT ALEF
-0671 ARABIC LETTER ALEF WASLA
-0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0674 ARABIC LETTER HIGH HAMZA
-0675 ARABIC LETTER HIGH HAMZA ALEF
-0676 ARABIC LETTER HIGH HAMZA WAW
-0677 ARABIC LETTER U WITH HAMZA ABOVE
-0678 ARABIC LETTER HIGH HAMZA YEH
-0679 ARABIC LETTER TTEH
-067A ARABIC LETTER TTEHEH
-067B ARABIC LETTER BEEH
-067C ARABIC LETTER TEH WITH RING
-067D ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067E ARABIC LETTER PEH
-067F ARABIC LETTER TEHEH
-0680 ARABIC LETTER BEHEH
-0681 ARABIC LETTER HAH WITH HAMZA ABOVE
-0682 ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0683 ARABIC LETTER NYEH
-0684 ARABIC LETTER DYEH
-0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0686 ARABIC LETTER TCHEH
-0687 ARABIC LETTER TCHEHEH
-0688 ARABIC LETTER DDAL
-0689 ARABIC LETTER DAL WITH RING
-068A ARABIC LETTER DAL WITH DOT BELOW
-068B ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C ARABIC LETTER DAHAL
-068D ARABIC LETTER DDAHAL
-068E ARABIC LETTER DUL
-068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690 ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-0691 ARABIC LETTER RREH
-0692 ARABIC LETTER REH WITH SMALL V
-0693 ARABIC LETTER REH WITH RING
-0694 ARABIC LETTER REH WITH DOT BELOW
-0695 ARABIC LETTER REH WITH SMALL V BELOW
-0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697 ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698 ARABIC LETTER JEH
-0699 ARABIC LETTER REH WITH FOUR DOTS ABOVE
-069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-069D ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E ARABIC LETTER SAD WITH THREE DOTS ABOVE
-069F ARABIC LETTER TAH WITH THREE DOTS ABOVE
-06A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06A1 ARABIC LETTER DOTLESS FEH
-06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3 ARABIC LETTER FEH WITH DOT BELOW
-06A4 ARABIC LETTER VEH
-06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6 ARABIC LETTER PEHEH
-06A7 ARABIC LETTER QAF WITH DOT ABOVE
-06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE
-06A9 ARABIC LETTER KEHEH
-06AA ARABIC LETTER SWASH KAF
-06AB ARABIC LETTER KAF WITH RING
-06AC ARABIC LETTER KAF WITH DOT ABOVE
-06AD ARABIC LETTER NG
-06AE ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF ARABIC LETTER GAF
-06B0 ARABIC LETTER GAF WITH RING
-06B1 ARABIC LETTER NGOEH
-06B2 ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3 ARABIC LETTER GUEH
-06B4 ARABIC LETTER GAF WITH THREE DOTS ABOVE
-06B5 ARABIC LETTER LAM WITH SMALL V
-06B6 ARABIC LETTER LAM WITH DOT ABOVE
-06B7 ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8 ARABIC LETTER LAM WITH THREE DOTS BELOW
-06B9 ARABIC LETTER NOON WITH DOT BELOW
-06BA ARABIC LETTER NOON GHUNNA
-06BB ARABIC LETTER RNOON
-06BC ARABIC LETTER NOON WITH RING
-06BD ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06BE ARABIC LETTER HEH DOACHASHMEE
-06BF ARABIC LETTER TCHEH WITH DOT ABOVE
-06C0 ARABIC LETTER HEH WITH YEH ABOVE
-06C1 ARABIC LETTER HEH GOAL
-06C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C3 ARABIC LETTER TEH MARBUTA GOAL
-06C4 ARABIC LETTER WAW WITH RING
-06C5 ARABIC LETTER KIRGHIZ OE
-06C6 ARABIC LETTER OE
-06C7 ARABIC LETTER U
-06C8 ARABIC LETTER YU
-06C9 ARABIC LETTER KIRGHIZ YU
-06CA ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB ARABIC LETTER VE
-06CC ARABIC LETTER FARSI YEH
-06CD ARABIC LETTER YEH WITH TAIL
-06CE ARABIC LETTER YEH WITH SMALL V
-06CF ARABIC LETTER WAW WITH DOT ABOVE
-06D0 ARABIC LETTER E
-06D1 ARABIC LETTER YEH WITH THREE DOTS BELOW
-06D2 ARABIC LETTER YEH BARREE
-06D3 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4 ARABIC FULL STOP
-06D5 ARABIC LETTER AE
-06D6 ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
-06D7 ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
-06D8 ARABIC SMALL HIGH MEEM INITIAL FORM
-06D9 ARABIC SMALL HIGH LAM ALEF
-06DA ARABIC SMALL HIGH JEEM
-06DB ARABIC SMALL HIGH THREE DOTS
-06DC ARABIC SMALL HIGH SEEN
-06DD ARABIC END OF AYAH
-06DE ARABIC START OF RUB EL HIZB
-06DF ARABIC SMALL HIGH ROUNDED ZERO
-06E0 ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
-06E1 ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
-06E2 ARABIC SMALL HIGH MEEM ISOLATED FORM
-06E3 ARABIC SMALL LOW SEEN
-06E4 ARABIC SMALL HIGH MADDA
-06E5 ARABIC SMALL WAW
-06E6 ARABIC SMALL YEH
-06E7 ARABIC SMALL HIGH YEH
-06E8 ARABIC SMALL HIGH NOON
-06E9 ARABIC PLACE OF SAJDAH
-06EA ARABIC EMPTY CENTRE LOW STOP
-06EB ARABIC EMPTY CENTRE HIGH STOP
-06EC ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
-06ED ARABIC SMALL LOW MEEM
-06EE ARABIC LETTER DAL WITH INVERTED V
-06EF ARABIC LETTER REH WITH INVERTED V
-06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
-06F1 EXTENDED ARABIC-INDIC DIGIT ONE
-06F2 EXTENDED ARABIC-INDIC DIGIT TWO
-06F3 EXTENDED ARABIC-INDIC DIGIT THREE
-06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
-06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
-06F6 EXTENDED ARABIC-INDIC DIGIT SIX
-06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
-06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
-06F9 EXTENDED ARABIC-INDIC DIGIT NINE
-06FA ARABIC LETTER SHEEN WITH DOT BELOW
-06FB ARABIC LETTER DAD WITH DOT BELOW
-06FC ARABIC LETTER GHAIN WITH DOT BELOW
-06FD ARABIC SIGN SINDHI AMPERSAND
-06FE ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ARABIC LETTER HEH WITH INVERTED V
-0700 SYRIAC END OF PARAGRAPH
-0701 SYRIAC SUPRALINEAR FULL STOP
-0702 SYRIAC SUBLINEAR FULL STOP
-0703 SYRIAC SUPRALINEAR COLON
-0704 SYRIAC SUBLINEAR COLON
-0705 SYRIAC HORIZONTAL COLON
-0706 SYRIAC COLON SKEWED LEFT
-0707 SYRIAC COLON SKEWED RIGHT
-0708 SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709 SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A SYRIAC CONTRACTION
-070B SYRIAC HARKLEAN OBELUS
-070C SYRIAC HARKLEAN METOBELUS
-070D SYRIAC HARKLEAN ASTERISCUS
-070F SYRIAC ABBREVIATION MARK
-0710 SYRIAC LETTER ALAPH
-0711 SYRIAC LETTER SUPERSCRIPT ALAPH
-0712 SYRIAC LETTER BETH
-0713 SYRIAC LETTER GAMAL
-0714 SYRIAC LETTER GAMAL GARSHUNI
-0715 SYRIAC LETTER DALATH
-0716 SYRIAC LETTER DOTLESS DALATH RISH
-0717 SYRIAC LETTER HE
-0718 SYRIAC LETTER WAW
-0719 SYRIAC LETTER ZAIN
-071A SYRIAC LETTER HETH
-071B SYRIAC LETTER TETH
-071C SYRIAC LETTER TETH GARSHUNI
-071D SYRIAC LETTER YUDH
-071E SYRIAC LETTER YUDH HE
-071F SYRIAC LETTER KAPH
-0720 SYRIAC LETTER LAMADH
-0721 SYRIAC LETTER MIM
-0722 SYRIAC LETTER NUN
-0723 SYRIAC LETTER SEMKATH
-0724 SYRIAC LETTER FINAL SEMKATH
-0725 SYRIAC LETTER E
-0726 SYRIAC LETTER PE
-0727 SYRIAC LETTER REVERSED PE
-0728 SYRIAC LETTER SADHE
-0729 SYRIAC LETTER QAPH
-072A SYRIAC LETTER RISH
-072B SYRIAC LETTER SHIN
-072C SYRIAC LETTER TAW
-072D SYRIAC LETTER PERSIAN BHETH
-072E SYRIAC LETTER PERSIAN GHAMAL
-072F SYRIAC LETTER PERSIAN DHALATH
-0730 SYRIAC PTHAHA ABOVE
-0731 SYRIAC PTHAHA BELOW
-0732 SYRIAC PTHAHA DOTTED
-0733 SYRIAC ZQAPHA ABOVE
-0734 SYRIAC ZQAPHA BELOW
-0735 SYRIAC ZQAPHA DOTTED
-0736 SYRIAC RBASA ABOVE
-0737 SYRIAC RBASA BELOW
-0738 SYRIAC DOTTED ZLAMA HORIZONTAL
-0739 SYRIAC DOTTED ZLAMA ANGULAR
-073A SYRIAC HBASA ABOVE
-073B SYRIAC HBASA BELOW
-073C SYRIAC HBASA-ESASA DOTTED
-073D SYRIAC ESASA ABOVE
-073E SYRIAC ESASA BELOW
-073F SYRIAC RWAHA
-0740 SYRIAC FEMININE DOT
-0741 SYRIAC QUSHSHAYA
-0742 SYRIAC RUKKAKHA
-0743 SYRIAC TWO VERTICAL DOTS ABOVE
-0744 SYRIAC TWO VERTICAL DOTS BELOW
-0745 SYRIAC THREE DOTS ABOVE
-0746 SYRIAC THREE DOTS BELOW
-0747 SYRIAC OBLIQUE LINE ABOVE
-0748 SYRIAC OBLIQUE LINE BELOW
-0749 SYRIAC MUSIC
-074A SYRIAC BARREKH
-074D SYRIAC LETTER SOGDIAN ZHAIN
-074E SYRIAC LETTER SOGDIAN KHAPH
-074F SYRIAC LETTER SOGDIAN FE
-0750 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754 ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755 ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756 ARABIC LETTER BEH WITH SMALL V
-0757 ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758 ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-0759 ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-075B ARABIC LETTER REH WITH STROKE
-075C ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-075D ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0760 ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761 ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-0762 ARABIC LETTER KEHEH WITH DOT ABOVE
-0763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764 ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0765 ARABIC LETTER MEEM WITH DOT ABOVE
-0766 ARABIC LETTER MEEM WITH DOT BELOW
-0767 ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768 ARABIC LETTER NOON WITH SMALL TAH
-0769 ARABIC LETTER NOON WITH SMALL V
-076A ARABIC LETTER LAM WITH BAR
-076B ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C ARABIC LETTER REH WITH HAMZA ABOVE
-076D ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-076E ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0770 ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0771 ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772 ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-0773 ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774 ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0775 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-0778 ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779 ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077A ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077C ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-077D ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E ARABIC LETTER SEEN WITH INVERTED V
-077F ARABIC LETTER KAF WITH TWO DOTS ABOVE
-0780 THAANA LETTER HAA
-0781 THAANA LETTER SHAVIYANI
-0782 THAANA LETTER NOONU
-0783 THAANA LETTER RAA
-0784 THAANA LETTER BAA
-0785 THAANA LETTER LHAVIYANI
-0786 THAANA LETTER KAAFU
-0787 THAANA LETTER ALIFU
-0788 THAANA LETTER VAAVU
-0789 THAANA LETTER MEEMU
-078A THAANA LETTER FAAFU
-078B THAANA LETTER DHAALU
-078C THAANA LETTER THAA
-078D THAANA LETTER LAAMU
-078E THAANA LETTER GAAFU
-078F THAANA LETTER GNAVIYANI
-0790 THAANA LETTER SEENU
-0791 THAANA LETTER DAVIYANI
-0792 THAANA LETTER ZAVIYANI
-0793 THAANA LETTER TAVIYANI
-0794 THAANA LETTER YAA
-0795 THAANA LETTER PAVIYANI
-0796 THAANA LETTER JAVIYANI
-0797 THAANA LETTER CHAVIYANI
-0798 THAANA LETTER TTAA
-0799 THAANA LETTER HHAA
-079A THAANA LETTER KHAA
-079B THAANA LETTER THAALU
-079C THAANA LETTER ZAA
-079D THAANA LETTER SHEENU
-079E THAANA LETTER SAADHU
-079F THAANA LETTER DAADHU
-07A0 THAANA LETTER TO
-07A1 THAANA LETTER ZO
-07A2 THAANA LETTER AINU
-07A3 THAANA LETTER GHAINU
-07A4 THAANA LETTER QAAFU
-07A5 THAANA LETTER WAAVU
-07A6 THAANA ABAFILI
-07A7 THAANA AABAAFILI
-07A8 THAANA IBIFILI
-07A9 THAANA EEBEEFILI
-07AA THAANA UBUFILI
-07AB THAANA OOBOOFILI
-07AC THAANA EBEFILI
-07AD THAANA EYBEYFILI
-07AE THAANA OBOFILI
-07AF THAANA OABOAFILI
-07B0 THAANA SUKUN
-07B1 THAANA LETTER NAA
-07C0 NKO DIGIT ZERO
-07C1 NKO DIGIT ONE
-07C2 NKO DIGIT TWO
-07C3 NKO DIGIT THREE
-07C4 NKO DIGIT FOUR
-07C5 NKO DIGIT FIVE
-07C6 NKO DIGIT SIX
-07C7 NKO DIGIT SEVEN
-07C8 NKO DIGIT EIGHT
-07C9 NKO DIGIT NINE
-07CA NKO LETTER A
-07CB NKO LETTER EE
-07CC NKO LETTER I
-07CD NKO LETTER E
-07CE NKO LETTER U
-07CF NKO LETTER OO
-07D0 NKO LETTER O
-07D1 NKO LETTER DAGBASINNA
-07D2 NKO LETTER N
-07D3 NKO LETTER BA
-07D4 NKO LETTER PA
-07D5 NKO LETTER TA
-07D6 NKO LETTER JA
-07D7 NKO LETTER CHA
-07D8 NKO LETTER DA
-07D9 NKO LETTER RA
-07DA NKO LETTER RRA
-07DB NKO LETTER SA
-07DC NKO LETTER GBA
-07DD NKO LETTER FA
-07DE NKO LETTER KA
-07DF NKO LETTER LA
-07E0 NKO LETTER NA WOLOSO
-07E1 NKO LETTER MA
-07E2 NKO LETTER NYA
-07E3 NKO LETTER NA
-07E4 NKO LETTER HA
-07E5 NKO LETTER WA
-07E6 NKO LETTER YA
-07E7 NKO LETTER NYA WOLOSO
-07E8 NKO LETTER JONA JA
-07E9 NKO LETTER JONA CHA
-07EA NKO LETTER JONA RA
-07EB NKO COMBINING SHORT HIGH TONE
-07EC NKO COMBINING SHORT LOW TONE
-07ED NKO COMBINING SHORT RISING TONE
-07EE NKO COMBINING LONG DESCENDING TONE
-07EF NKO COMBINING LONG HIGH TONE
-07F0 NKO COMBINING LONG LOW TONE
-07F1 NKO COMBINING LONG RISING TONE
-07F2 NKO COMBINING NASALIZATION MARK
-07F3 NKO COMBINING DOUBLE DOT ABOVE
-07F4 NKO HIGH TONE APOSTROPHE
-07F5 NKO LOW TONE APOSTROPHE
-07F6 NKO SYMBOL OO DENNEN
-07F7 NKO SYMBOL GBAKURUNEN
-07F8 NKO COMMA
-07F9 NKO EXCLAMATION MARK
-07FA NKO LAJANYALAN
-0800 SAMARITAN LETTER ALAF
-0801 SAMARITAN LETTER BIT
-0802 SAMARITAN LETTER GAMAN
-0803 SAMARITAN LETTER DALAT
-0804 SAMARITAN LETTER IY
-0805 SAMARITAN LETTER BAA
-0806 SAMARITAN LETTER ZEN
-0807 SAMARITAN LETTER IT
-0808 SAMARITAN LETTER TIT
-0809 SAMARITAN LETTER YUT
-080A SAMARITAN LETTER KAAF
-080B SAMARITAN LETTER LABAT
-080C SAMARITAN LETTER MIM
-080D SAMARITAN LETTER NUN
-080E SAMARITAN LETTER SINGAAT
-080F SAMARITAN LETTER IN
-0810 SAMARITAN LETTER FI
-0811 SAMARITAN LETTER TSAADIY
-0812 SAMARITAN LETTER QUF
-0813 SAMARITAN LETTER RISH
-0814 SAMARITAN LETTER SHAN
-0815 SAMARITAN LETTER TAAF
-0816 SAMARITAN MARK IN
-0817 SAMARITAN MARK IN-ALAF
-0818 SAMARITAN MARK OCCLUSION
-0819 SAMARITAN MARK DAGESH
-081A SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B SAMARITAN MARK EPENTHETIC YUT
-081C SAMARITAN VOWEL SIGN LONG E
-081D SAMARITAN VOWEL SIGN E
-081E SAMARITAN VOWEL SIGN OVERLONG AA
-081F SAMARITAN VOWEL SIGN LONG AA
-0820 SAMARITAN VOWEL SIGN AA
-0821 SAMARITAN VOWEL SIGN OVERLONG A
-0822 SAMARITAN VOWEL SIGN LONG A
-0823 SAMARITAN VOWEL SIGN A
-0824 SAMARITAN MODIFIER LETTER SHORT A
-0825 SAMARITAN VOWEL SIGN SHORT A
-0826 SAMARITAN VOWEL SIGN LONG U
-0827 SAMARITAN VOWEL SIGN U
-0828 SAMARITAN MODIFIER LETTER I
-0829 SAMARITAN VOWEL SIGN LONG I
-082A SAMARITAN VOWEL SIGN I
-082B SAMARITAN VOWEL SIGN O
-082C SAMARITAN VOWEL SIGN SUKUN
-082D SAMARITAN MARK NEQUDAA
-0830 SAMARITAN PUNCTUATION NEQUDAA
-0831 SAMARITAN PUNCTUATION AFSAAQ
-0832 SAMARITAN PUNCTUATION ANGED
-0833 SAMARITAN PUNCTUATION BAU
-0834 SAMARITAN PUNCTUATION ATMAAU
-0835 SAMARITAN PUNCTUATION SHIYYAALAA
-0836 SAMARITAN ABBREVIATION MARK
-0837 SAMARITAN PUNCTUATION MELODIC QITSA
-0838 SAMARITAN PUNCTUATION ZIQAA
-0839 SAMARITAN PUNCTUATION QITSA
-083A SAMARITAN PUNCTUATION ZAEF
-083B SAMARITAN PUNCTUATION TURU
-083C SAMARITAN PUNCTUATION ARKAANU
-083D SAMARITAN PUNCTUATION SOF MASHFAAT
-083E SAMARITAN PUNCTUATION ANNAAU
-0900 DEVANAGARI SIGN INVERTED CANDRABINDU
-0901 DEVANAGARI SIGN CANDRABINDU
-0902 DEVANAGARI SIGN ANUSVARA
-0903 DEVANAGARI SIGN VISARGA
-0904 DEVANAGARI LETTER SHORT A
-0905 DEVANAGARI LETTER A
-0906 DEVANAGARI LETTER AA
-0907 DEVANAGARI LETTER I
-0908 DEVANAGARI LETTER II
-0909 DEVANAGARI LETTER U
-090A DEVANAGARI LETTER UU
-090B DEVANAGARI LETTER VOCALIC R
-090C DEVANAGARI LETTER VOCALIC L
-090D DEVANAGARI LETTER CANDRA E
-090E DEVANAGARI LETTER SHORT E
-090F DEVANAGARI LETTER E
-0910 DEVANAGARI LETTER AI
-0911 DEVANAGARI LETTER CANDRA O
-0912 DEVANAGARI LETTER SHORT O
-0913 DEVANAGARI LETTER O
-0914 DEVANAGARI LETTER AU
-0915 DEVANAGARI LETTER KA
-0916 DEVANAGARI LETTER KHA
-0917 DEVANAGARI LETTER GA
-0918 DEVANAGARI LETTER GHA
-0919 DEVANAGARI LETTER NGA
-091A DEVANAGARI LETTER CA
-091B DEVANAGARI LETTER CHA
-091C DEVANAGARI LETTER JA
-091D DEVANAGARI LETTER JHA
-091E DEVANAGARI LETTER NYA
-091F DEVANAGARI LETTER TTA
-0920 DEVANAGARI LETTER TTHA
-0921 DEVANAGARI LETTER DDA
-0922 DEVANAGARI LETTER DDHA
-0923 DEVANAGARI LETTER NNA
-0924 DEVANAGARI LETTER TA
-0925 DEVANAGARI LETTER THA
-0926 DEVANAGARI LETTER DA
-0927 DEVANAGARI LETTER DHA
-0928 DEVANAGARI LETTER NA
-0929 DEVANAGARI LETTER NNNA
-092A DEVANAGARI LETTER PA
-092B DEVANAGARI LETTER PHA
-092C DEVANAGARI LETTER BA
-092D DEVANAGARI LETTER BHA
-092E DEVANAGARI LETTER MA
-092F DEVANAGARI LETTER YA
-0930 DEVANAGARI LETTER RA
-0931 DEVANAGARI LETTER RRA
-0932 DEVANAGARI LETTER LA
-0933 DEVANAGARI LETTER LLA
-0934 DEVANAGARI LETTER LLLA
-0935 DEVANAGARI LETTER VA
-0936 DEVANAGARI LETTER SHA
-0937 DEVANAGARI LETTER SSA
-0938 DEVANAGARI LETTER SA
-0939 DEVANAGARI LETTER HA
-093C DEVANAGARI SIGN NUKTA
-093D DEVANAGARI SIGN AVAGRAHA
-093E DEVANAGARI VOWEL SIGN AA
-093F DEVANAGARI VOWEL SIGN I
-0940 DEVANAGARI VOWEL SIGN II
-0941 DEVANAGARI VOWEL SIGN U
-0942 DEVANAGARI VOWEL SIGN UU
-0943 DEVANAGARI VOWEL SIGN VOCALIC R
-0944 DEVANAGARI VOWEL SIGN VOCALIC RR
-0945 DEVANAGARI VOWEL SIGN CANDRA E
-0946 DEVANAGARI VOWEL SIGN SHORT E
-0947 DEVANAGARI VOWEL SIGN E
-0948 DEVANAGARI VOWEL SIGN AI
-0949 DEVANAGARI VOWEL SIGN CANDRA O
-094A DEVANAGARI VOWEL SIGN SHORT O
-094B DEVANAGARI VOWEL SIGN O
-094C DEVANAGARI VOWEL SIGN AU
-094D DEVANAGARI SIGN VIRAMA
-094E DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 DEVANAGARI OM
-0951 DEVANAGARI STRESS SIGN UDATTA
-0952 DEVANAGARI STRESS SIGN ANUDATTA
-0953 DEVANAGARI GRAVE ACCENT
-0954 DEVANAGARI ACUTE ACCENT
-0955 DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958 DEVANAGARI LETTER QA
-0959 DEVANAGARI LETTER KHHA
-095A DEVANAGARI LETTER GHHA
-095B DEVANAGARI LETTER ZA
-095C DEVANAGARI LETTER DDDHA
-095D DEVANAGARI LETTER RHA
-095E DEVANAGARI LETTER FA
-095F DEVANAGARI LETTER YYA
-0960 DEVANAGARI LETTER VOCALIC RR
-0961 DEVANAGARI LETTER VOCALIC LL
-0962 DEVANAGARI VOWEL SIGN VOCALIC L
-0963 DEVANAGARI VOWEL SIGN VOCALIC LL
-0964 DEVANAGARI DANDA
-0965 DEVANAGARI DOUBLE DANDA
-0966 DEVANAGARI DIGIT ZERO
-0967 DEVANAGARI DIGIT ONE
-0968 DEVANAGARI DIGIT TWO
-0969 DEVANAGARI DIGIT THREE
-096A DEVANAGARI DIGIT FOUR
-096B DEVANAGARI DIGIT FIVE
-096C DEVANAGARI DIGIT SIX
-096D DEVANAGARI DIGIT SEVEN
-096E DEVANAGARI DIGIT EIGHT
-096F DEVANAGARI DIGIT NINE
-0970 DEVANAGARI ABBREVIATION SIGN
-0971 DEVANAGARI SIGN HIGH SPACING DOT
-0972 DEVANAGARI LETTER CANDRA A
-0979 DEVANAGARI LETTER ZHA
-097A DEVANAGARI LETTER HEAVY YA
-097B DEVANAGARI LETTER GGA
-097C DEVANAGARI LETTER JJA
-097D DEVANAGARI LETTER GLOTTAL STOP
-097E DEVANAGARI LETTER DDDA
-097F DEVANAGARI LETTER BBA
-0981 BENGALI SIGN CANDRABINDU
-0982 BENGALI SIGN ANUSVARA
-0983 BENGALI SIGN VISARGA
-0985 BENGALI LETTER A
-0986 BENGALI LETTER AA
-0987 BENGALI LETTER I
-0988 BENGALI LETTER II
-0989 BENGALI LETTER U
-098A BENGALI LETTER UU
-098B BENGALI LETTER VOCALIC R
-098C BENGALI LETTER VOCALIC L
-098F BENGALI LETTER E
-0990 BENGALI LETTER AI
-0993 BENGALI LETTER O
-0994 BENGALI LETTER AU
-0995 BENGALI LETTER KA
-0996 BENGALI LETTER KHA
-0997 BENGALI LETTER GA
-0998 BENGALI LETTER GHA
-0999 BENGALI LETTER NGA
-099A BENGALI LETTER CA
-099B BENGALI LETTER CHA
-099C BENGALI LETTER JA
-099D BENGALI LETTER JHA
-099E BENGALI LETTER NYA
-099F BENGALI LETTER TTA
-09A0 BENGALI LETTER TTHA
-09A1 BENGALI LETTER DDA
-09A2 BENGALI LETTER DDHA
-09A3 BENGALI LETTER NNA
-09A4 BENGALI LETTER TA
-09A5 BENGALI LETTER THA
-09A6 BENGALI LETTER DA
-09A7 BENGALI LETTER DHA
-09A8 BENGALI LETTER NA
-09AA BENGALI LETTER PA
-09AB BENGALI LETTER PHA
-09AC BENGALI LETTER BA
-09AD BENGALI LETTER BHA
-09AE BENGALI LETTER MA
-09AF BENGALI LETTER YA
-09B0 BENGALI LETTER RA
-09B2 BENGALI LETTER LA
-09B6 BENGALI LETTER SHA
-09B7 BENGALI LETTER SSA
-09B8 BENGALI LETTER SA
-09B9 BENGALI LETTER HA
-09BC BENGALI SIGN NUKTA
-09BD BENGALI SIGN AVAGRAHA
-09BE BENGALI VOWEL SIGN AA
-09BF BENGALI VOWEL SIGN I
-09C0 BENGALI VOWEL SIGN II
-09C1 BENGALI VOWEL SIGN U
-09C2 BENGALI VOWEL SIGN UU
-09C3 BENGALI VOWEL SIGN VOCALIC R
-09C4 BENGALI VOWEL SIGN VOCALIC RR
-09C7 BENGALI VOWEL SIGN E
-09C8 BENGALI VOWEL SIGN AI
-09CB BENGALI VOWEL SIGN O
-09CC BENGALI VOWEL SIGN AU
-09CD BENGALI SIGN VIRAMA
-09CE BENGALI LETTER KHANDA TA
-09D7 BENGALI AU LENGTH MARK
-09DC BENGALI LETTER RRA
-09DD BENGALI LETTER RHA
-09DF BENGALI LETTER YYA
-09E0 BENGALI LETTER VOCALIC RR
-09E1 BENGALI LETTER VOCALIC LL
-09E2 BENGALI VOWEL SIGN VOCALIC L
-09E3 BENGALI VOWEL SIGN VOCALIC LL
-09E6 BENGALI DIGIT ZERO
-09E7 BENGALI DIGIT ONE
-09E8 BENGALI DIGIT TWO
-09E9 BENGALI DIGIT THREE
-09EA BENGALI DIGIT FOUR
-09EB BENGALI DIGIT FIVE
-09EC BENGALI DIGIT SIX
-09ED BENGALI DIGIT SEVEN
-09EE BENGALI DIGIT EIGHT
-09EF BENGALI DIGIT NINE
-09F0 BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09F1 BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2 BENGALI RUPEE MARK
-09F3 BENGALI RUPEE SIGN
-09F4 BENGALI CURRENCY NUMERATOR ONE
-09F5 BENGALI CURRENCY NUMERATOR TWO
-09F6 BENGALI CURRENCY NUMERATOR THREE
-09F7 BENGALI CURRENCY NUMERATOR FOUR
-09F8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9 BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA BENGALI ISSHAR
-09FB BENGALI GANDA MARK
-0A01 GURMUKHI SIGN ADAK BINDI
-0A02 GURMUKHI SIGN BINDI
-0A03 GURMUKHI SIGN VISARGA
-0A05 GURMUKHI LETTER A
-0A06 GURMUKHI LETTER AA
-0A07 GURMUKHI LETTER I
-0A08 GURMUKHI LETTER II
-0A09 GURMUKHI LETTER U
-0A0A GURMUKHI LETTER UU
-0A0F GURMUKHI LETTER EE
-0A10 GURMUKHI LETTER AI
-0A13 GURMUKHI LETTER OO
-0A14 GURMUKHI LETTER AU
-0A15 GURMUKHI LETTER KA
-0A16 GURMUKHI LETTER KHA
-0A17 GURMUKHI LETTER GA
-0A18 GURMUKHI LETTER GHA
-0A19 GURMUKHI LETTER NGA
-0A1A GURMUKHI LETTER CA
-0A1B GURMUKHI LETTER CHA
-0A1C GURMUKHI LETTER JA
-0A1D GURMUKHI LETTER JHA
-0A1E GURMUKHI LETTER NYA
-0A1F GURMUKHI LETTER TTA
-0A20 GURMUKHI LETTER TTHA
-0A21 GURMUKHI LETTER DDA
-0A22 GURMUKHI LETTER DDHA
-0A23 GURMUKHI LETTER NNA
-0A24 GURMUKHI LETTER TA
-0A25 GURMUKHI LETTER THA
-0A26 GURMUKHI LETTER DA
-0A27 GURMUKHI LETTER DHA
-0A28 GURMUKHI LETTER NA
-0A2A GURMUKHI LETTER PA
-0A2B GURMUKHI LETTER PHA
-0A2C GURMUKHI LETTER BA
-0A2D GURMUKHI LETTER BHA
-0A2E GURMUKHI LETTER MA
-0A2F GURMUKHI LETTER YA
-0A30 GURMUKHI LETTER RA
-0A32 GURMUKHI LETTER LA
-0A33 GURMUKHI LETTER LLA
-0A35 GURMUKHI LETTER VA
-0A36 GURMUKHI LETTER SHA
-0A38 GURMUKHI LETTER SA
-0A39 GURMUKHI LETTER HA
-0A3C GURMUKHI SIGN NUKTA
-0A3E GURMUKHI VOWEL SIGN AA
-0A3F GURMUKHI VOWEL SIGN I
-0A40 GURMUKHI VOWEL SIGN II
-0A41 GURMUKHI VOWEL SIGN U
-0A42 GURMUKHI VOWEL SIGN UU
-0A47 GURMUKHI VOWEL SIGN EE
-0A48 GURMUKHI VOWEL SIGN AI
-0A4B GURMUKHI VOWEL SIGN OO
-0A4C GURMUKHI VOWEL SIGN AU
-0A4D GURMUKHI SIGN VIRAMA
-0A51 GURMUKHI SIGN UDAAT
-0A59 GURMUKHI LETTER KHHA
-0A5A GURMUKHI LETTER GHHA
-0A5B GURMUKHI LETTER ZA
-0A5C GURMUKHI LETTER RRA
-0A5E GURMUKHI LETTER FA
-0A66 GURMUKHI DIGIT ZERO
-0A67 GURMUKHI DIGIT ONE
-0A68 GURMUKHI DIGIT TWO
-0A69 GURMUKHI DIGIT THREE
-0A6A GURMUKHI DIGIT FOUR
-0A6B GURMUKHI DIGIT FIVE
-0A6C GURMUKHI DIGIT SIX
-0A6D GURMUKHI DIGIT SEVEN
-0A6E GURMUKHI DIGIT EIGHT
-0A6F GURMUKHI DIGIT NINE
-0A70 GURMUKHI TIPPI
-0A71 GURMUKHI ADDAK
-0A72 GURMUKHI IRI
-0A73 GURMUKHI URA
-0A74 GURMUKHI EK ONKAR
-0A75 GURMUKHI SIGN YAKASH
-0A81 GUJARATI SIGN CANDRABINDU
-0A82 GUJARATI SIGN ANUSVARA
-0A83 GUJARATI SIGN VISARGA
-0A85 GUJARATI LETTER A
-0A86 GUJARATI LETTER AA
-0A87 GUJARATI LETTER I
-0A88 GUJARATI LETTER II
-0A89 GUJARATI LETTER U
-0A8A GUJARATI LETTER UU
-0A8B GUJARATI LETTER VOCALIC R
-0A8C GUJARATI LETTER VOCALIC L
-0A8D GUJARATI VOWEL CANDRA E
-0A8F GUJARATI LETTER E
-0A90 GUJARATI LETTER AI
-0A91 GUJARATI VOWEL CANDRA O
-0A93 GUJARATI LETTER O
-0A94 GUJARATI LETTER AU
-0A95 GUJARATI LETTER KA
-0A96 GUJARATI LETTER KHA
-0A97 GUJARATI LETTER GA
-0A98 GUJARATI LETTER GHA
-0A99 GUJARATI LETTER NGA
-0A9A GUJARATI LETTER CA
-0A9B GUJARATI LETTER CHA
-0A9C GUJARATI LETTER JA
-0A9D GUJARATI LETTER JHA
-0A9E GUJARATI LETTER NYA
-0A9F GUJARATI LETTER TTA
-0AA0 GUJARATI LETTER TTHA
-0AA1 GUJARATI LETTER DDA
-0AA2 GUJARATI LETTER DDHA
-0AA3 GUJARATI LETTER NNA
-0AA4 GUJARATI LETTER TA
-0AA5 GUJARATI LETTER THA
-0AA6 GUJARATI LETTER DA
-0AA7 GUJARATI LETTER DHA
-0AA8 GUJARATI LETTER NA
-0AAA GUJARATI LETTER PA
-0AAB GUJARATI LETTER PHA
-0AAC GUJARATI LETTER BA
-0AAD GUJARATI LETTER BHA
-0AAE GUJARATI LETTER MA
-0AAF GUJARATI LETTER YA
-0AB0 GUJARATI LETTER RA
-0AB2 GUJARATI LETTER LA
-0AB3 GUJARATI LETTER LLA
-0AB5 GUJARATI LETTER VA
-0AB6 GUJARATI LETTER SHA
-0AB7 GUJARATI LETTER SSA
-0AB8 GUJARATI LETTER SA
-0AB9 GUJARATI LETTER HA
-0ABC GUJARATI SIGN NUKTA
-0ABD GUJARATI SIGN AVAGRAHA
-0ABE GUJARATI VOWEL SIGN AA
-0ABF GUJARATI VOWEL SIGN I
-0AC0 GUJARATI VOWEL SIGN II
-0AC1 GUJARATI VOWEL SIGN U
-0AC2 GUJARATI VOWEL SIGN UU
-0AC3 GUJARATI VOWEL SIGN VOCALIC R
-0AC4 GUJARATI VOWEL SIGN VOCALIC RR
-0AC5 GUJARATI VOWEL SIGN CANDRA E
-0AC7 GUJARATI VOWEL SIGN E
-0AC8 GUJARATI VOWEL SIGN AI
-0AC9 GUJARATI VOWEL SIGN CANDRA O
-0ACB GUJARATI VOWEL SIGN O
-0ACC GUJARATI VOWEL SIGN AU
-0ACD GUJARATI SIGN VIRAMA
-0AD0 GUJARATI OM
-0AE0 GUJARATI LETTER VOCALIC RR
-0AE1 GUJARATI LETTER VOCALIC LL
-0AE2 GUJARATI VOWEL SIGN VOCALIC L
-0AE3 GUJARATI VOWEL SIGN VOCALIC LL
-0AE6 GUJARATI DIGIT ZERO
-0AE7 GUJARATI DIGIT ONE
-0AE8 GUJARATI DIGIT TWO
-0AE9 GUJARATI DIGIT THREE
-0AEA GUJARATI DIGIT FOUR
-0AEB GUJARATI DIGIT FIVE
-0AEC GUJARATI DIGIT SIX
-0AED GUJARATI DIGIT SEVEN
-0AEE GUJARATI DIGIT EIGHT
-0AEF GUJARATI DIGIT NINE
-0AF1 GUJARATI RUPEE SIGN
-0B01 ORIYA SIGN CANDRABINDU
-0B02 ORIYA SIGN ANUSVARA
-0B03 ORIYA SIGN VISARGA
-0B05 ORIYA LETTER A
-0B06 ORIYA LETTER AA
-0B07 ORIYA LETTER I
-0B08 ORIYA LETTER II
-0B09 ORIYA LETTER U
-0B0A ORIYA LETTER UU
-0B0B ORIYA LETTER VOCALIC R
-0B0C ORIYA LETTER VOCALIC L
-0B0F ORIYA LETTER E
-0B10 ORIYA LETTER AI
-0B13 ORIYA LETTER O
-0B14 ORIYA LETTER AU
-0B15 ORIYA LETTER KA
-0B16 ORIYA LETTER KHA
-0B17 ORIYA LETTER GA
-0B18 ORIYA LETTER GHA
-0B19 ORIYA LETTER NGA
-0B1A ORIYA LETTER CA
-0B1B ORIYA LETTER CHA
-0B1C ORIYA LETTER JA
-0B1D ORIYA LETTER JHA
-0B1E ORIYA LETTER NYA
-0B1F ORIYA LETTER TTA
-0B20 ORIYA LETTER TTHA
-0B21 ORIYA LETTER DDA
-0B22 ORIYA LETTER DDHA
-0B23 ORIYA LETTER NNA
-0B24 ORIYA LETTER TA
-0B25 ORIYA LETTER THA
-0B26 ORIYA LETTER DA
-0B27 ORIYA LETTER DHA
-0B28 ORIYA LETTER NA
-0B2A ORIYA LETTER PA
-0B2B ORIYA LETTER PHA
-0B2C ORIYA LETTER BA
-0B2D ORIYA LETTER BHA
-0B2E ORIYA LETTER MA
-0B2F ORIYA LETTER YA
-0B30 ORIYA LETTER RA
-0B32 ORIYA LETTER LA
-0B33 ORIYA LETTER LLA
-0B35 ORIYA LETTER VA
-0B36 ORIYA LETTER SHA
-0B37 ORIYA LETTER SSA
-0B38 ORIYA LETTER SA
-0B39 ORIYA LETTER HA
-0B3C ORIYA SIGN NUKTA
-0B3D ORIYA SIGN AVAGRAHA
-0B3E ORIYA VOWEL SIGN AA
-0B3F ORIYA VOWEL SIGN I
-0B40 ORIYA VOWEL SIGN II
-0B41 ORIYA VOWEL SIGN U
-0B42 ORIYA VOWEL SIGN UU
-0B43 ORIYA VOWEL SIGN VOCALIC R
-0B44 ORIYA VOWEL SIGN VOCALIC RR
-0B47 ORIYA VOWEL SIGN E
-0B48 ORIYA VOWEL SIGN AI
-0B4B ORIYA VOWEL SIGN O
-0B4C ORIYA VOWEL SIGN AU
-0B4D ORIYA SIGN VIRAMA
-0B56 ORIYA AI LENGTH MARK
-0B57 ORIYA AU LENGTH MARK
-0B5C ORIYA LETTER RRA
-0B5D ORIYA LETTER RHA
-0B5F ORIYA LETTER YYA
-0B60 ORIYA LETTER VOCALIC RR
-0B61 ORIYA LETTER VOCALIC LL
-0B62 ORIYA VOWEL SIGN VOCALIC L
-0B63 ORIYA VOWEL SIGN VOCALIC LL
-0B66 ORIYA DIGIT ZERO
-0B67 ORIYA DIGIT ONE
-0B68 ORIYA DIGIT TWO
-0B69 ORIYA DIGIT THREE
-0B6A ORIYA DIGIT FOUR
-0B6B ORIYA DIGIT FIVE
-0B6C ORIYA DIGIT SIX
-0B6D ORIYA DIGIT SEVEN
-0B6E ORIYA DIGIT EIGHT
-0B6F ORIYA DIGIT NINE
-0B70 ORIYA ISSHAR
-0B71 ORIYA LETTER WA
-0B82 TAMIL SIGN ANUSVARA
-0B83 TAMIL SIGN VISARGA
-0B85 TAMIL LETTER A
-0B86 TAMIL LETTER AA
-0B87 TAMIL LETTER I
-0B88 TAMIL LETTER II
-0B89 TAMIL LETTER U
-0B8A TAMIL LETTER UU
-0B8E TAMIL LETTER E
-0B8F TAMIL LETTER EE
-0B90 TAMIL LETTER AI
-0B92 TAMIL LETTER O
-0B93 TAMIL LETTER OO
-0B94 TAMIL LETTER AU
-0B95 TAMIL LETTER KA
-0B99 TAMIL LETTER NGA
-0B9A TAMIL LETTER CA
-0B9C TAMIL LETTER JA
-0B9E TAMIL LETTER NYA
-0B9F TAMIL LETTER TTA
-0BA3 TAMIL LETTER NNA
-0BA4 TAMIL LETTER TA
-0BA8 TAMIL LETTER NA
-0BA9 TAMIL LETTER NNNA
-0BAA TAMIL LETTER PA
-0BAE TAMIL LETTER MA
-0BAF TAMIL LETTER YA
-0BB0 TAMIL LETTER RA
-0BB1 TAMIL LETTER RRA
-0BB2 TAMIL LETTER LA
-0BB3 TAMIL LETTER LLA
-0BB4 TAMIL LETTER LLLA
-0BB5 TAMIL LETTER VA
-0BB6 TAMIL LETTER SHA
-0BB7 TAMIL LETTER SSA
-0BB8 TAMIL LETTER SA
-0BB9 TAMIL LETTER HA
-0BBE TAMIL VOWEL SIGN AA
-0BBF TAMIL VOWEL SIGN I
-0BC0 TAMIL VOWEL SIGN II
-0BC1 TAMIL VOWEL SIGN U
-0BC2 TAMIL VOWEL SIGN UU
-0BC6 TAMIL VOWEL SIGN E
-0BC7 TAMIL VOWEL SIGN EE
-0BC8 TAMIL VOWEL SIGN AI
-0BCA TAMIL VOWEL SIGN O
-0BCB TAMIL VOWEL SIGN OO
-0BCC TAMIL VOWEL SIGN AU
-0BCD TAMIL SIGN VIRAMA
-0BD0 TAMIL OM
-0BD7 TAMIL AU LENGTH MARK
-0BE6 TAMIL DIGIT ZERO
-0BE7 TAMIL DIGIT ONE
-0BE8 TAMIL DIGIT TWO
-0BE9 TAMIL DIGIT THREE
-0BEA TAMIL DIGIT FOUR
-0BEB TAMIL DIGIT FIVE
-0BEC TAMIL DIGIT SIX
-0BED TAMIL DIGIT SEVEN
-0BEE TAMIL DIGIT EIGHT
-0BEF TAMIL DIGIT NINE
-0BF0 TAMIL NUMBER TEN
-0BF1 TAMIL NUMBER ONE HUNDRED
-0BF2 TAMIL NUMBER ONE THOUSAND
-0BF3 TAMIL DAY SIGN
-0BF4 TAMIL MONTH SIGN
-0BF5 TAMIL YEAR SIGN
-0BF6 TAMIL DEBIT SIGN
-0BF7 TAMIL CREDIT SIGN
-0BF8 TAMIL AS ABOVE SIGN
-0BF9 TAMIL RUPEE SIGN
-0BFA TAMIL NUMBER SIGN
-0C01 TELUGU SIGN CANDRABINDU
-0C02 TELUGU SIGN ANUSVARA
-0C03 TELUGU SIGN VISARGA
-0C05 TELUGU LETTER A
-0C06 TELUGU LETTER AA
-0C07 TELUGU LETTER I
-0C08 TELUGU LETTER II
-0C09 TELUGU LETTER U
-0C0A TELUGU LETTER UU
-0C0B TELUGU LETTER VOCALIC R
-0C0C TELUGU LETTER VOCALIC L
-0C0E TELUGU LETTER E
-0C0F TELUGU LETTER EE
-0C10 TELUGU LETTER AI
-0C12 TELUGU LETTER O
-0C13 TELUGU LETTER OO
-0C14 TELUGU LETTER AU
-0C15 TELUGU LETTER KA
-0C16 TELUGU LETTER KHA
-0C17 TELUGU LETTER GA
-0C18 TELUGU LETTER GHA
-0C19 TELUGU LETTER NGA
-0C1A TELUGU LETTER CA
-0C1B TELUGU LETTER CHA
-0C1C TELUGU LETTER JA
-0C1D TELUGU LETTER JHA
-0C1E TELUGU LETTER NYA
-0C1F TELUGU LETTER TTA
-0C20 TELUGU LETTER TTHA
-0C21 TELUGU LETTER DDA
-0C22 TELUGU LETTER DDHA
-0C23 TELUGU LETTER NNA
-0C24 TELUGU LETTER TA
-0C25 TELUGU LETTER THA
-0C26 TELUGU LETTER DA
-0C27 TELUGU LETTER DHA
-0C28 TELUGU LETTER NA
-0C2A TELUGU LETTER PA
-0C2B TELUGU LETTER PHA
-0C2C TELUGU LETTER BA
-0C2D TELUGU LETTER BHA
-0C2E TELUGU LETTER MA
-0C2F TELUGU LETTER YA
-0C30 TELUGU LETTER RA
-0C31 TELUGU LETTER RRA
-0C32 TELUGU LETTER LA
-0C33 TELUGU LETTER LLA
-0C35 TELUGU LETTER VA
-0C36 TELUGU LETTER SHA
-0C37 TELUGU LETTER SSA
-0C38 TELUGU LETTER SA
-0C39 TELUGU LETTER HA
-0C3D TELUGU SIGN AVAGRAHA
-0C3E TELUGU VOWEL SIGN AA
-0C3F TELUGU VOWEL SIGN I
-0C40 TELUGU VOWEL SIGN II
-0C41 TELUGU VOWEL SIGN U
-0C42 TELUGU VOWEL SIGN UU
-0C43 TELUGU VOWEL SIGN VOCALIC R
-0C44 TELUGU VOWEL SIGN VOCALIC RR
-0C46 TELUGU VOWEL SIGN E
-0C47 TELUGU VOWEL SIGN EE
-0C48 TELUGU VOWEL SIGN AI
-0C4A TELUGU VOWEL SIGN O
-0C4B TELUGU VOWEL SIGN OO
-0C4C TELUGU VOWEL SIGN AU
-0C4D TELUGU SIGN VIRAMA
-0C55 TELUGU LENGTH MARK
-0C56 TELUGU AI LENGTH MARK
-0C58 TELUGU LETTER TSA
-0C59 TELUGU LETTER DZA
-0C60 TELUGU LETTER VOCALIC RR
-0C61 TELUGU LETTER VOCALIC LL
-0C62 TELUGU VOWEL SIGN VOCALIC L
-0C63 TELUGU VOWEL SIGN VOCALIC LL
-0C66 TELUGU DIGIT ZERO
-0C67 TELUGU DIGIT ONE
-0C68 TELUGU DIGIT TWO
-0C69 TELUGU DIGIT THREE
-0C6A TELUGU DIGIT FOUR
-0C6B TELUGU DIGIT FIVE
-0C6C TELUGU DIGIT SIX
-0C6D TELUGU DIGIT SEVEN
-0C6E TELUGU DIGIT EIGHT
-0C6F TELUGU DIGIT NINE
-0C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0C79 TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7A TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7B TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7C TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0C7D TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0C7E TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F TELUGU SIGN TUUMU
-0C82 KANNADA SIGN ANUSVARA
-0C83 KANNADA SIGN VISARGA
-0C85 KANNADA LETTER A
-0C86 KANNADA LETTER AA
-0C87 KANNADA LETTER I
-0C88 KANNADA LETTER II
-0C89 KANNADA LETTER U
-0C8A KANNADA LETTER UU
-0C8B KANNADA LETTER VOCALIC R
-0C8C KANNADA LETTER VOCALIC L
-0C8E KANNADA LETTER E
-0C8F KANNADA LETTER EE
-0C90 KANNADA LETTER AI
-0C92 KANNADA LETTER O
-0C93 KANNADA LETTER OO
-0C94 KANNADA LETTER AU
-0C95 KANNADA LETTER KA
-0C96 KANNADA LETTER KHA
-0C97 KANNADA LETTER GA
-0C98 KANNADA LETTER GHA
-0C99 KANNADA LETTER NGA
-0C9A KANNADA LETTER CA
-0C9B KANNADA LETTER CHA
-0C9C KANNADA LETTER JA
-0C9D KANNADA LETTER JHA
-0C9E KANNADA LETTER NYA
-0C9F KANNADA LETTER TTA
-0CA0 KANNADA LETTER TTHA
-0CA1 KANNADA LETTER DDA
-0CA2 KANNADA LETTER DDHA
-0CA3 KANNADA LETTER NNA
-0CA4 KANNADA LETTER TA
-0CA5 KANNADA LETTER THA
-0CA6 KANNADA LETTER DA
-0CA7 KANNADA LETTER DHA
-0CA8 KANNADA LETTER NA
-0CAA KANNADA LETTER PA
-0CAB KANNADA LETTER PHA
-0CAC KANNADA LETTER BA
-0CAD KANNADA LETTER BHA
-0CAE KANNADA LETTER MA
-0CAF KANNADA LETTER YA
-0CB0 KANNADA LETTER RA
-0CB1 KANNADA LETTER RRA
-0CB2 KANNADA LETTER LA
-0CB3 KANNADA LETTER LLA
-0CB5 KANNADA LETTER VA
-0CB6 KANNADA LETTER SHA
-0CB7 KANNADA LETTER SSA
-0CB8 KANNADA LETTER SA
-0CB9 KANNADA LETTER HA
-0CBC KANNADA SIGN NUKTA
-0CBD KANNADA SIGN AVAGRAHA
-0CBE KANNADA VOWEL SIGN AA
-0CBF KANNADA VOWEL SIGN I
-0CC0 KANNADA VOWEL SIGN II
-0CC1 KANNADA VOWEL SIGN U
-0CC2 KANNADA VOWEL SIGN UU
-0CC3 KANNADA VOWEL SIGN VOCALIC R
-0CC4 KANNADA VOWEL SIGN VOCALIC RR
-0CC6 KANNADA VOWEL SIGN E
-0CC7 KANNADA VOWEL SIGN EE
-0CC8 KANNADA VOWEL SIGN AI
-0CCA KANNADA VOWEL SIGN O
-0CCB KANNADA VOWEL SIGN OO
-0CCC KANNADA VOWEL SIGN AU
-0CCD KANNADA SIGN VIRAMA
-0CD5 KANNADA LENGTH MARK
-0CD6 KANNADA AI LENGTH MARK
-0CDE KANNADA LETTER FA
-0CDE KANNADA LETTER LLLA
-0CE0 KANNADA LETTER VOCALIC RR
-0CE1 KANNADA LETTER VOCALIC LL
-0CE2 KANNADA VOWEL SIGN VOCALIC L
-0CE3 KANNADA VOWEL SIGN VOCALIC LL
-0CE6 KANNADA DIGIT ZERO
-0CE7 KANNADA DIGIT ONE
-0CE8 KANNADA DIGIT TWO
-0CE9 KANNADA DIGIT THREE
-0CEA KANNADA DIGIT FOUR
-0CEB KANNADA DIGIT FIVE
-0CEC KANNADA DIGIT SIX
-0CED KANNADA DIGIT SEVEN
-0CEE KANNADA DIGIT EIGHT
-0CEF KANNADA DIGIT NINE
-0CF1 KANNADA SIGN JIHVAMULIYA
-0CF2 KANNADA SIGN UPADHMANIYA
-0D02 MALAYALAM SIGN ANUSVARA
-0D03 MALAYALAM SIGN VISARGA
-0D05 MALAYALAM LETTER A
-0D06 MALAYALAM LETTER AA
-0D07 MALAYALAM LETTER I
-0D08 MALAYALAM LETTER II
-0D09 MALAYALAM LETTER U
-0D0A MALAYALAM LETTER UU
-0D0B MALAYALAM LETTER VOCALIC R
-0D0C MALAYALAM LETTER VOCALIC L
-0D0E MALAYALAM LETTER E
-0D0F MALAYALAM LETTER EE
-0D10 MALAYALAM LETTER AI
-0D12 MALAYALAM LETTER O
-0D13 MALAYALAM LETTER OO
-0D14 MALAYALAM LETTER AU
-0D15 MALAYALAM LETTER KA
-0D16 MALAYALAM LETTER KHA
-0D17 MALAYALAM LETTER GA
-0D18 MALAYALAM LETTER GHA
-0D19 MALAYALAM LETTER NGA
-0D1A MALAYALAM LETTER CA
-0D1B MALAYALAM LETTER CHA
-0D1C MALAYALAM LETTER JA
-0D1D MALAYALAM LETTER JHA
-0D1E MALAYALAM LETTER NYA
-0D1F MALAYALAM LETTER TTA
-0D20 MALAYALAM LETTER TTHA
-0D21 MALAYALAM LETTER DDA
-0D22 MALAYALAM LETTER DDHA
-0D23 MALAYALAM LETTER NNA
-0D24 MALAYALAM LETTER TA
-0D25 MALAYALAM LETTER THA
-0D26 MALAYALAM LETTER DA
-0D27 MALAYALAM LETTER DHA
-0D28 MALAYALAM LETTER NA
-0D2A MALAYALAM LETTER PA
-0D2B MALAYALAM LETTER PHA
-0D2C MALAYALAM LETTER BA
-0D2D MALAYALAM LETTER BHA
-0D2E MALAYALAM LETTER MA
-0D2F MALAYALAM LETTER YA
-0D30 MALAYALAM LETTER RA
-0D31 MALAYALAM LETTER RRA
-0D32 MALAYALAM LETTER LA
-0D33 MALAYALAM LETTER LLA
-0D34 MALAYALAM LETTER LLLA
-0D35 MALAYALAM LETTER VA
-0D36 MALAYALAM LETTER SHA
-0D37 MALAYALAM LETTER SSA
-0D38 MALAYALAM LETTER SA
-0D39 MALAYALAM LETTER HA
-0D3D MALAYALAM SIGN AVAGRAHA
-0D3E MALAYALAM VOWEL SIGN AA
-0D3F MALAYALAM VOWEL SIGN I
-0D40 MALAYALAM VOWEL SIGN II
-0D41 MALAYALAM VOWEL SIGN U
-0D42 MALAYALAM VOWEL SIGN UU
-0D43 MALAYALAM VOWEL SIGN VOCALIC R
-0D44 MALAYALAM VOWEL SIGN VOCALIC RR
-0D46 MALAYALAM VOWEL SIGN E
-0D47 MALAYALAM VOWEL SIGN EE
-0D48 MALAYALAM VOWEL SIGN AI
-0D4A MALAYALAM VOWEL SIGN O
-0D4B MALAYALAM VOWEL SIGN OO
-0D4C MALAYALAM VOWEL SIGN AU
-0D4D MALAYALAM SIGN VIRAMA
-0D57 MALAYALAM AU LENGTH MARK
-0D60 MALAYALAM LETTER VOCALIC RR
-0D61 MALAYALAM LETTER VOCALIC LL
-0D62 MALAYALAM VOWEL SIGN VOCALIC L
-0D63 MALAYALAM VOWEL SIGN VOCALIC LL
-0D66 MALAYALAM DIGIT ZERO
-0D67 MALAYALAM DIGIT ONE
-0D68 MALAYALAM DIGIT TWO
-0D69 MALAYALAM DIGIT THREE
-0D6A MALAYALAM DIGIT FOUR
-0D6B MALAYALAM DIGIT FIVE
-0D6C MALAYALAM DIGIT SIX
-0D6D MALAYALAM DIGIT SEVEN
-0D6E MALAYALAM DIGIT EIGHT
-0D6F MALAYALAM DIGIT NINE
-0D70 MALAYALAM NUMBER TEN
-0D71 MALAYALAM NUMBER ONE HUNDRED
-0D72 MALAYALAM NUMBER ONE THOUSAND
-0D73 MALAYALAM FRACTION ONE QUARTER
-0D74 MALAYALAM FRACTION ONE HALF
-0D75 MALAYALAM FRACTION THREE QUARTERS
-0D79 MALAYALAM DATE MARK
-0D7A MALAYALAM LETTER CHILLU NN
-0D7B MALAYALAM LETTER CHILLU N
-0D7C MALAYALAM LETTER CHILLU RR
-0D7D MALAYALAM LETTER CHILLU L
-0D7E MALAYALAM LETTER CHILLU LL
-0D7F MALAYALAM LETTER CHILLU K
-0D82 SINHALA SIGN ANUSVARAYA
-0D83 SINHALA SIGN VISARGAYA
-0D85 SINHALA LETTER AYANNA
-0D86 SINHALA LETTER AAYANNA
-0D87 SINHALA LETTER AEYANNA
-0D88 SINHALA LETTER AEEYANNA
-0D89 SINHALA LETTER IYANNA
-0D8A SINHALA LETTER IIYANNA
-0D8B SINHALA LETTER UYANNA
-0D8C SINHALA LETTER UUYANNA
-0D8D SINHALA LETTER IRUYANNA
-0D8E SINHALA LETTER IRUUYANNA
-0D8F SINHALA LETTER ILUYANNA
-0D90 SINHALA LETTER ILUUYANNA
-0D91 SINHALA LETTER EYANNA
-0D92 SINHALA LETTER EEYANNA
-0D93 SINHALA LETTER AIYANNA
-0D94 SINHALA LETTER OYANNA
-0D95 SINHALA LETTER OOYANNA
-0D96 SINHALA LETTER AUYANNA
-0D9A SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F SINHALA LETTER SANYAKA GAYANNA
-0DA0 SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1 SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2 SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3 SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4 SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5 SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6 SINHALA LETTER SANYAKA JAYANNA
-0DA7 SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8 SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9 SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB SINHALA LETTER MUURDHAJA NAYANNA
-0DAC SINHALA LETTER SANYAKA DDAYANNA
-0DAD SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0 SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1 SINHALA LETTER DANTAJA NAYANNA
-0DB3 SINHALA LETTER SANYAKA DAYANNA
-0DB4 SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5 SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6 SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7 SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8 SINHALA LETTER MAYANNA
-0DB9 SINHALA LETTER AMBA BAYANNA
-0DBA SINHALA LETTER YAYANNA
-0DBB SINHALA LETTER RAYANNA
-0DBD SINHALA LETTER DANTAJA LAYANNA
-0DC0 SINHALA LETTER VAYANNA
-0DC1 SINHALA LETTER TAALUJA SAYANNA
-0DC2 SINHALA LETTER MUURDHAJA SAYANNA
-0DC3 SINHALA LETTER DANTAJA SAYANNA
-0DC4 SINHALA LETTER HAYANNA
-0DC5 SINHALA LETTER MUURDHAJA LAYANNA
-0DC6 SINHALA LETTER FAYANNA
-0DCA SINHALA SIGN AL-LAKUNA
-0DCF SINHALA VOWEL SIGN AELA-PILLA
-0DD0 SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1 SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2 SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3 SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4 SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8 SINHALA VOWEL SIGN GAETTA-PILLA
-0DD9 SINHALA VOWEL SIGN KOMBUVA
-0DDA SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB SINHALA VOWEL SIGN KOMBU DEKA
-0DDC SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DDF SINHALA VOWEL SIGN GAYANUKITTA
-0DF2 SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DF3 SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4 SINHALA PUNCTUATION KUNDDALIYA
-0E01 THAI CHARACTER KO KAI
-0E02 THAI CHARACTER KHO KHAI
-0E03 THAI CHARACTER KHO KHUAT
-0E04 THAI CHARACTER KHO KHWAI
-0E05 THAI CHARACTER KHO KHON
-0E06 THAI CHARACTER KHO RAKHANG
-0E07 THAI CHARACTER NGO NGU
-0E08 THAI CHARACTER CHO CHAN
-0E09 THAI CHARACTER CHO CHING
-0E0A THAI CHARACTER CHO CHANG
-0E0B THAI CHARACTER SO SO
-0E0C THAI CHARACTER CHO CHOE
-0E0D THAI CHARACTER YO YING
-0E0E THAI CHARACTER DO CHADA
-0E0F THAI CHARACTER TO PATAK
-0E10 THAI CHARACTER THO THAN
-0E11 THAI CHARACTER THO NANGMONTHO
-0E12 THAI CHARACTER THO PHUTHAO
-0E13 THAI CHARACTER NO NEN
-0E14 THAI CHARACTER DO DEK
-0E15 THAI CHARACTER TO TAO
-0E16 THAI CHARACTER THO THUNG
-0E17 THAI CHARACTER THO THAHAN
-0E18 THAI CHARACTER THO THONG
-0E19 THAI CHARACTER NO NU
-0E1A THAI CHARACTER BO BAIMAI
-0E1B THAI CHARACTER PO PLA
-0E1C THAI CHARACTER PHO PHUNG
-0E1D THAI CHARACTER FO FA
-0E1E THAI CHARACTER PHO PHAN
-0E1F THAI CHARACTER FO FAN
-0E20 THAI CHARACTER PHO SAMPHAO
-0E21 THAI CHARACTER MO MA
-0E22 THAI CHARACTER YO YAK
-0E23 THAI CHARACTER RO RUA
-0E24 THAI CHARACTER RU
-0E25 THAI CHARACTER LO LING
-0E26 THAI CHARACTER LU
-0E27 THAI CHARACTER WO WAEN
-0E28 THAI CHARACTER SO SALA
-0E29 THAI CHARACTER SO RUSI
-0E2A THAI CHARACTER SO SUA
-0E2B THAI CHARACTER HO HIP
-0E2C THAI CHARACTER LO CHULA
-0E2D THAI CHARACTER O ANG
-0E2E THAI CHARACTER HO NOKHUK
-0E2F THAI CHARACTER PAIYANNOI
-0E30 THAI CHARACTER SARA A
-0E31 THAI CHARACTER MAI HAN-AKAT
-0E32 THAI CHARACTER SARA AA
-0E33 THAI CHARACTER SARA AM
-0E34 THAI CHARACTER SARA I
-0E35 THAI CHARACTER SARA II
-0E36 THAI CHARACTER SARA UE
-0E37 THAI CHARACTER SARA UEE
-0E38 THAI CHARACTER SARA U
-0E39 THAI CHARACTER SARA UU
-0E3A THAI CHARACTER PHINTHU
-0E3F THAI CURRENCY SYMBOL BAHT
-0E40 THAI CHARACTER SARA E
-0E41 THAI CHARACTER SARA AE
-0E42 THAI CHARACTER SARA O
-0E43 THAI CHARACTER SARA AI MAIMUAN
-0E44 THAI CHARACTER SARA AI MAIMALAI
-0E45 THAI CHARACTER LAKKHANGYAO
-0E46 THAI CHARACTER MAIYAMOK
-0E47 THAI CHARACTER MAITAIKHU
-0E48 THAI CHARACTER MAI EK
-0E49 THAI CHARACTER MAI THO
-0E4A THAI CHARACTER MAI TRI
-0E4B THAI CHARACTER MAI CHATTAWA
-0E4C THAI CHARACTER THANTHAKHAT
-0E4D THAI CHARACTER NIKHAHIT
-0E4E THAI CHARACTER YAMAKKAN
-0E4F THAI CHARACTER FONGMAN
-0E50 THAI DIGIT ZERO
-0E51 THAI DIGIT ONE
-0E52 THAI DIGIT TWO
-0E53 THAI DIGIT THREE
-0E54 THAI DIGIT FOUR
-0E55 THAI DIGIT FIVE
-0E56 THAI DIGIT SIX
-0E57 THAI DIGIT SEVEN
-0E58 THAI DIGIT EIGHT
-0E59 THAI DIGIT NINE
-0E5A THAI CHARACTER ANGKHANKHU
-0E5B THAI CHARACTER KHOMUT
-0E81 LAO LETTER KO
-0E82 LAO LETTER KHO SUNG
-0E84 LAO LETTER KHO TAM
-0E87 LAO LETTER NGO
-0E88 LAO LETTER CO
-0E8A LAO LETTER SO TAM
-0E8D LAO LETTER NYO
-0E94 LAO LETTER DO
-0E95 LAO LETTER TO
-0E96 LAO LETTER THO SUNG
-0E97 LAO LETTER THO TAM
-0E99 LAO LETTER NO
-0E9A LAO LETTER BO
-0E9B LAO LETTER PO
-0E9C LAO LETTER PHO SUNG
-0E9D LAO LETTER FO TAM
-0E9D LAO LETTER FO FON
-0E9E LAO LETTER PHO TAM
-0E9F LAO LETTER FO SUNG
-0E9F LAO LETTER FO FAY
-0EA1 LAO LETTER MO
-0EA2 LAO LETTER YO
-0EA3 LAO LETTER LO LING
-0EA3 LAO LETTER RO
-0EA5 LAO LETTER LO LOOT
-0EA5 LAO LETTER LO
-0EA7 LAO LETTER WO
-0EAA LAO LETTER SO SUNG
-0EAB LAO LETTER HO SUNG
-0EAD LAO LETTER O
-0EAE LAO LETTER HO TAM
-0EAF LAO ELLIPSIS
-0EB0 LAO VOWEL SIGN A
-0EB1 LAO VOWEL SIGN MAI KAN
-0EB2 LAO VOWEL SIGN AA
-0EB3 LAO VOWEL SIGN AM
-0EB4 LAO VOWEL SIGN I
-0EB5 LAO VOWEL SIGN II
-0EB6 LAO VOWEL SIGN Y
-0EB7 LAO VOWEL SIGN YY
-0EB8 LAO VOWEL SIGN U
-0EB9 LAO VOWEL SIGN UU
-0EBB LAO VOWEL SIGN MAI KON
-0EBC LAO SEMIVOWEL SIGN LO
-0EBD LAO SEMIVOWEL SIGN NYO
-0EC0 LAO VOWEL SIGN E
-0EC1 LAO VOWEL SIGN EI
-0EC2 LAO VOWEL SIGN O
-0EC3 LAO VOWEL SIGN AY
-0EC4 LAO VOWEL SIGN AI
-0EC6 LAO KO LA
-0EC8 LAO TONE MAI EK
-0EC9 LAO TONE MAI THO
-0ECA LAO TONE MAI TI
-0ECB LAO TONE MAI CATAWA
-0ECC LAO CANCELLATION MARK
-0ECD LAO NIGGAHITA
-0ED0 LAO DIGIT ZERO
-0ED1 LAO DIGIT ONE
-0ED2 LAO DIGIT TWO
-0ED3 LAO DIGIT THREE
-0ED4 LAO DIGIT FOUR
-0ED5 LAO DIGIT FIVE
-0ED6 LAO DIGIT SIX
-0ED7 LAO DIGIT SEVEN
-0ED8 LAO DIGIT EIGHT
-0ED9 LAO DIGIT NINE
-0EDC LAO HO NO
-0EDD LAO HO MO
-0F00 TIBETAN SYLLABLE OM
-0F01 TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02 TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03 TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04 TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05 TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06 TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07 TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08 TIBETAN MARK SBRUL SHAD
-0F09 TIBETAN MARK BSKUR YIG MGO
-0F0A TIBETAN MARK BKA- SHOG YIG MGO
-0F0B TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C TIBETAN MARK DELIMITER TSHEG BSTAR
-0F0D TIBETAN MARK SHAD
-0F0E TIBETAN MARK NYIS SHAD
-0F0F TIBETAN MARK TSHEG SHAD
-0F10 TIBETAN MARK NYIS TSHEG SHAD
-0F11 TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12 TIBETAN MARK RGYA GRAM SHAD
-0F13 TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14 TIBETAN MARK GTER TSHEG
-0F15 TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16 TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17 TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F18 TIBETAN ASTROLOGICAL SIGN -KHYUD PA
-0F19 TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A TIBETAN SIGN RDEL DKAR GCIG
-0F1B TIBETAN SIGN RDEL DKAR GNYIS
-0F1C TIBETAN SIGN RDEL DKAR GSUM
-0F1D TIBETAN SIGN RDEL NAG GCIG
-0F1E TIBETAN SIGN RDEL NAG GNYIS
-0F1F TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20 TIBETAN DIGIT ZERO
-0F21 TIBETAN DIGIT ONE
-0F22 TIBETAN DIGIT TWO
-0F23 TIBETAN DIGIT THREE
-0F24 TIBETAN DIGIT FOUR
-0F25 TIBETAN DIGIT FIVE
-0F26 TIBETAN DIGIT SIX
-0F27 TIBETAN DIGIT SEVEN
-0F28 TIBETAN DIGIT EIGHT
-0F29 TIBETAN DIGIT NINE
-0F2A TIBETAN DIGIT HALF ONE
-0F2B TIBETAN DIGIT HALF TWO
-0F2C TIBETAN DIGIT HALF THREE
-0F2D TIBETAN DIGIT HALF FOUR
-0F2E TIBETAN DIGIT HALF FIVE
-0F2F TIBETAN DIGIT HALF SIX
-0F30 TIBETAN DIGIT HALF SEVEN
-0F31 TIBETAN DIGIT HALF EIGHT
-0F32 TIBETAN DIGIT HALF NINE
-0F33 TIBETAN DIGIT HALF ZERO
-0F34 TIBETAN MARK BSDUS RTAGS
-0F35 TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36 TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F37 TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38 TIBETAN MARK CHE MGO
-0F39 TIBETAN MARK TSA -PHRU
-0F3A TIBETAN MARK GUG RTAGS GYON
-0F3B TIBETAN MARK GUG RTAGS GYAS
-0F3C TIBETAN MARK ANG KHANG GYON
-0F3D TIBETAN MARK ANG KHANG GYAS
-0F3E TIBETAN SIGN YAR TSHES
-0F3F TIBETAN SIGN MAR TSHES
-0F40 TIBETAN LETTER KA
-0F41 TIBETAN LETTER KHA
-0F42 TIBETAN LETTER GA
-0F43 TIBETAN LETTER GHA
-0F44 TIBETAN LETTER NGA
-0F45 TIBETAN LETTER CA
-0F46 TIBETAN LETTER CHA
-0F47 TIBETAN LETTER JA
-0F49 TIBETAN LETTER NYA
-0F4A TIBETAN LETTER TTA
-0F4B TIBETAN LETTER TTHA
-0F4C TIBETAN LETTER DDA
-0F4D TIBETAN LETTER DDHA
-0F4E TIBETAN LETTER NNA
-0F4F TIBETAN LETTER TA
-0F50 TIBETAN LETTER THA
-0F51 TIBETAN LETTER DA
-0F52 TIBETAN LETTER DHA
-0F53 TIBETAN LETTER NA
-0F54 TIBETAN LETTER PA
-0F55 TIBETAN LETTER PHA
-0F56 TIBETAN LETTER BA
-0F57 TIBETAN LETTER BHA
-0F58 TIBETAN LETTER MA
-0F59 TIBETAN LETTER TSA
-0F5A TIBETAN LETTER TSHA
-0F5B TIBETAN LETTER DZA
-0F5C TIBETAN LETTER DZHA
-0F5D TIBETAN LETTER WA
-0F5E TIBETAN LETTER ZHA
-0F5F TIBETAN LETTER ZA
-0F60 TIBETAN LETTER -A
-0F61 TIBETAN LETTER YA
-0F62 TIBETAN LETTER RA
-0F63 TIBETAN LETTER LA
-0F64 TIBETAN LETTER SHA
-0F65 TIBETAN LETTER SSA
-0F66 TIBETAN LETTER SA
-0F67 TIBETAN LETTER HA
-0F68 TIBETAN LETTER A
-0F69 TIBETAN LETTER KSSA
-0F6A TIBETAN LETTER FIXED-FORM RA
-0F6B TIBETAN LETTER KKA
-0F6C TIBETAN LETTER RRA
-0F71 TIBETAN VOWEL SIGN AA
-0F72 TIBETAN VOWEL SIGN I
-0F73 TIBETAN VOWEL SIGN II
-0F74 TIBETAN VOWEL SIGN U
-0F75 TIBETAN VOWEL SIGN UU
-0F76 TIBETAN VOWEL SIGN VOCALIC R
-0F77 TIBETAN VOWEL SIGN VOCALIC RR
-0F78 TIBETAN VOWEL SIGN VOCALIC L
-0F79 TIBETAN VOWEL SIGN VOCALIC LL
-0F7A TIBETAN VOWEL SIGN E
-0F7B TIBETAN VOWEL SIGN EE
-0F7C TIBETAN VOWEL SIGN O
-0F7D TIBETAN VOWEL SIGN OO
-0F7E TIBETAN SIGN RJES SU NGA RO
-0F7F TIBETAN SIGN RNAM BCAD
-0F80 TIBETAN VOWEL SIGN REVERSED I
-0F81 TIBETAN VOWEL SIGN REVERSED II
-0F82 TIBETAN SIGN NYI ZLA NAA DA
-0F83 TIBETAN SIGN SNA LDAN
-0F84 TIBETAN MARK HALANTA
-0F85 TIBETAN MARK PALUTA
-0F86 TIBETAN SIGN LCI RTAGS
-0F87 TIBETAN SIGN YANG RTAGS
-0F88 TIBETAN SIGN LCE TSA CAN
-0F89 TIBETAN SIGN MCHU CAN
-0F8A TIBETAN SIGN GRU CAN RGYINGS
-0F8B TIBETAN SIGN GRU MED RGYINGS
-0F90 TIBETAN SUBJOINED LETTER KA
-0F91 TIBETAN SUBJOINED LETTER KHA
-0F92 TIBETAN SUBJOINED LETTER GA
-0F93 TIBETAN SUBJOINED LETTER GHA
-0F94 TIBETAN SUBJOINED LETTER NGA
-0F95 TIBETAN SUBJOINED LETTER CA
-0F96 TIBETAN SUBJOINED LETTER CHA
-0F97 TIBETAN SUBJOINED LETTER JA
-0F99 TIBETAN SUBJOINED LETTER NYA
-0F9A TIBETAN SUBJOINED LETTER TTA
-0F9B TIBETAN SUBJOINED LETTER TTHA
-0F9C TIBETAN SUBJOINED LETTER DDA
-0F9D TIBETAN SUBJOINED LETTER DDHA
-0F9E TIBETAN SUBJOINED LETTER NNA
-0F9F TIBETAN SUBJOINED LETTER TA
-0FA0 TIBETAN SUBJOINED LETTER THA
-0FA1 TIBETAN SUBJOINED LETTER DA
-0FA2 TIBETAN SUBJOINED LETTER DHA
-0FA3 TIBETAN SUBJOINED LETTER NA
-0FA4 TIBETAN SUBJOINED LETTER PA
-0FA5 TIBETAN SUBJOINED LETTER PHA
-0FA6 TIBETAN SUBJOINED LETTER BA
-0FA7 TIBETAN SUBJOINED LETTER BHA
-0FA8 TIBETAN SUBJOINED LETTER MA
-0FA9 TIBETAN SUBJOINED LETTER TSA
-0FAA TIBETAN SUBJOINED LETTER TSHA
-0FAB TIBETAN SUBJOINED LETTER DZA
-0FAC TIBETAN SUBJOINED LETTER DZHA
-0FAD TIBETAN SUBJOINED LETTER WA
-0FAE TIBETAN SUBJOINED LETTER ZHA
-0FAF TIBETAN SUBJOINED LETTER ZA
-0FB0 TIBETAN SUBJOINED LETTER -A
-0FB1 TIBETAN SUBJOINED LETTER YA
-0FB2 TIBETAN SUBJOINED LETTER RA
-0FB3 TIBETAN SUBJOINED LETTER LA
-0FB4 TIBETAN SUBJOINED LETTER SHA
-0FB5 TIBETAN SUBJOINED LETTER SSA
-0FB6 TIBETAN SUBJOINED LETTER SA
-0FB7 TIBETAN SUBJOINED LETTER HA
-0FB8 TIBETAN SUBJOINED LETTER A
-0FB9 TIBETAN SUBJOINED LETTER KSSA
-0FBA TIBETAN SUBJOINED LETTER FIXED-FORM WA
-0FBB TIBETAN SUBJOINED LETTER FIXED-FORM YA
-0FBC TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE TIBETAN KU RU KHA
-0FBF TIBETAN KU RU KHA BZHI MIG CAN
-0FC0 TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1 TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2 TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3 TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4 TIBETAN SYMBOL DRIL BU
-0FC5 TIBETAN SYMBOL RDO RJE
-0FC6 TIBETAN SYMBOL PADMA GDAN
-0FC7 TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8 TIBETAN SYMBOL PHUR PA
-0FC9 TIBETAN SYMBOL NOR BU
-0FCA TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF TIBETAN SIGN RDEL NAG GSUM
-0FD0 TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD0 TIBETAN MARK BKA- SHOG GI MGO RGYAN
-0FD1 TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2 TIBETAN MARK NYIS TSHEG
-0FD3 TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4 TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5 RIGHT-FACING SVASTI SIGN
-0FD6 LEFT-FACING SVASTI SIGN
-0FD7 RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8 LEFT-FACING SVASTI SIGN WITH DOTS
-1000 MYANMAR LETTER KA
-1001 MYANMAR LETTER KHA
-1002 MYANMAR LETTER GA
-1003 MYANMAR LETTER GHA
-1004 MYANMAR LETTER NGA
-1005 MYANMAR LETTER CA
-1006 MYANMAR LETTER CHA
-1007 MYANMAR LETTER JA
-1008 MYANMAR LETTER JHA
-1009 MYANMAR LETTER NYA
-100A MYANMAR LETTER NNYA
-100B MYANMAR LETTER TTA
-100C MYANMAR LETTER TTHA
-100D MYANMAR LETTER DDA
-100E MYANMAR LETTER DDHA
-100F MYANMAR LETTER NNA
-1010 MYANMAR LETTER TA
-1011 MYANMAR LETTER THA
-1012 MYANMAR LETTER DA
-1013 MYANMAR LETTER DHA
-1014 MYANMAR LETTER NA
-1015 MYANMAR LETTER PA
-1016 MYANMAR LETTER PHA
-1017 MYANMAR LETTER BA
-1018 MYANMAR LETTER BHA
-1019 MYANMAR LETTER MA
-101A MYANMAR LETTER YA
-101B MYANMAR LETTER RA
-101C MYANMAR LETTER LA
-101D MYANMAR LETTER WA
-101E MYANMAR LETTER SA
-101F MYANMAR LETTER HA
-1020 MYANMAR LETTER LLA
-1021 MYANMAR LETTER A
-1022 MYANMAR LETTER SHAN A
-1023 MYANMAR LETTER I
-1024 MYANMAR LETTER II
-1025 MYANMAR LETTER U
-1026 MYANMAR LETTER UU
-1027 MYANMAR LETTER E
-1028 MYANMAR LETTER MON E
-1029 MYANMAR LETTER O
-102A MYANMAR LETTER AU
-102B MYANMAR VOWEL SIGN TALL AA
-102C MYANMAR VOWEL SIGN AA
-102D MYANMAR VOWEL SIGN I
-102E MYANMAR VOWEL SIGN II
-102F MYANMAR VOWEL SIGN U
-1030 MYANMAR VOWEL SIGN UU
-1031 MYANMAR VOWEL SIGN E
-1032 MYANMAR VOWEL SIGN AI
-1033 MYANMAR VOWEL SIGN MON II
-1034 MYANMAR VOWEL SIGN MON O
-1035 MYANMAR VOWEL SIGN E ABOVE
-1036 MYANMAR SIGN ANUSVARA
-1037 MYANMAR SIGN DOT BELOW
-1038 MYANMAR SIGN VISARGA
-1039 MYANMAR SIGN VIRAMA
-103A MYANMAR SIGN ASAT
-103B MYANMAR CONSONANT SIGN MEDIAL YA
-103C MYANMAR CONSONANT SIGN MEDIAL RA
-103D MYANMAR CONSONANT SIGN MEDIAL WA
-103E MYANMAR CONSONANT SIGN MEDIAL HA
-103F MYANMAR LETTER GREAT SA
-1040 MYANMAR DIGIT ZERO
-1041 MYANMAR DIGIT ONE
-1042 MYANMAR DIGIT TWO
-1043 MYANMAR DIGIT THREE
-1044 MYANMAR DIGIT FOUR
-1045 MYANMAR DIGIT FIVE
-1046 MYANMAR DIGIT SIX
-1047 MYANMAR DIGIT SEVEN
-1048 MYANMAR DIGIT EIGHT
-1049 MYANMAR DIGIT NINE
-104A MYANMAR SIGN LITTLE SECTION
-104B MYANMAR SIGN SECTION
-104C MYANMAR SYMBOL LOCATIVE
-104D MYANMAR SYMBOL COMPLETED
-104E MYANMAR SYMBOL AFOREMENTIONED
-104F MYANMAR SYMBOL GENITIVE
-1050 MYANMAR LETTER SHA
-1051 MYANMAR LETTER SSA
-1052 MYANMAR LETTER VOCALIC R
-1053 MYANMAR LETTER VOCALIC RR
-1054 MYANMAR LETTER VOCALIC L
-1055 MYANMAR LETTER VOCALIC LL
-1056 MYANMAR VOWEL SIGN VOCALIC R
-1057 MYANMAR VOWEL SIGN VOCALIC RR
-1058 MYANMAR VOWEL SIGN VOCALIC L
-1059 MYANMAR VOWEL SIGN VOCALIC LL
-105A MYANMAR LETTER MON NGA
-105B MYANMAR LETTER MON JHA
-105C MYANMAR LETTER MON BBA
-105D MYANMAR LETTER MON BBE
-105E MYANMAR CONSONANT SIGN MON MEDIAL NA
-105F MYANMAR CONSONANT SIGN MON MEDIAL MA
-1060 MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 MYANMAR LETTER SGAW KAREN SHA
-1062 MYANMAR VOWEL SIGN SGAW KAREN EU
-1063 MYANMAR TONE MARK SGAW KAREN HATHI
-1064 MYANMAR TONE MARK SGAW KAREN KE PHO
-1065 MYANMAR LETTER WESTERN PWO KAREN THA
-1066 MYANMAR LETTER WESTERN PWO KAREN PWA
-1067 MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068 MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1069 MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E MYANMAR LETTER EASTERN PWO KAREN NNA
-106F MYANMAR LETTER EASTERN PWO KAREN YWA
-1070 MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071 MYANMAR VOWEL SIGN GEBA KAREN I
-1072 MYANMAR VOWEL SIGN KAYAH OE
-1073 MYANMAR VOWEL SIGN KAYAH U
-1074 MYANMAR VOWEL SIGN KAYAH EE
-1075 MYANMAR LETTER SHAN KA
-1076 MYANMAR LETTER SHAN KHA
-1077 MYANMAR LETTER SHAN GA
-1078 MYANMAR LETTER SHAN CA
-1079 MYANMAR LETTER SHAN ZA
-107A MYANMAR LETTER SHAN NYA
-107B MYANMAR LETTER SHAN DA
-107C MYANMAR LETTER SHAN NA
-107D MYANMAR LETTER SHAN PHA
-107E MYANMAR LETTER SHAN FA
-107F MYANMAR LETTER SHAN BA
-1080 MYANMAR LETTER SHAN THA
-1081 MYANMAR LETTER SHAN HA
-1082 MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083 MYANMAR VOWEL SIGN SHAN AA
-1084 MYANMAR VOWEL SIGN SHAN E
-1085 MYANMAR VOWEL SIGN SHAN E ABOVE
-1086 MYANMAR VOWEL SIGN SHAN FINAL Y
-1087 MYANMAR SIGN SHAN TONE-2
-1088 MYANMAR SIGN SHAN TONE-3
-1089 MYANMAR SIGN SHAN TONE-5
-108A MYANMAR SIGN SHAN TONE-6
-108B MYANMAR SIGN SHAN COUNCIL TONE-2
-108C MYANMAR SIGN SHAN COUNCIL TONE-3
-108D MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E MYANMAR LETTER RUMAI PALAUNG FA
-108F MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090 MYANMAR SHAN DIGIT ZERO
-1091 MYANMAR SHAN DIGIT ONE
-1092 MYANMAR SHAN DIGIT TWO
-1093 MYANMAR SHAN DIGIT THREE
-1094 MYANMAR SHAN DIGIT FOUR
-1095 MYANMAR SHAN DIGIT FIVE
-1096 MYANMAR SHAN DIGIT SIX
-1097 MYANMAR SHAN DIGIT SEVEN
-1098 MYANMAR SHAN DIGIT EIGHT
-1099 MYANMAR SHAN DIGIT NINE
-109A MYANMAR SIGN KHAMTI TONE-1
-109B MYANMAR SIGN KHAMTI TONE-3
-109C MYANMAR VOWEL SIGN AITON A
-109D MYANMAR VOWEL SIGN AITON AI
-109E MYANMAR SYMBOL SHAN ONE
-109F MYANMAR SYMBOL SHAN EXCLAMATION
-10A0 GEORGIAN CAPITAL LETTER AN
-10A1 GEORGIAN CAPITAL LETTER BAN
-10A2 GEORGIAN CAPITAL LETTER GAN
-10A3 GEORGIAN CAPITAL LETTER DON
-10A4 GEORGIAN CAPITAL LETTER EN
-10A5 GEORGIAN CAPITAL LETTER VIN
-10A6 GEORGIAN CAPITAL LETTER ZEN
-10A7 GEORGIAN CAPITAL LETTER TAN
-10A8 GEORGIAN CAPITAL LETTER IN
-10A9 GEORGIAN CAPITAL LETTER KAN
-10AA GEORGIAN CAPITAL LETTER LAS
-10AB GEORGIAN CAPITAL LETTER MAN
-10AC GEORGIAN CAPITAL LETTER NAR
-10AD GEORGIAN CAPITAL LETTER ON
-10AE GEORGIAN CAPITAL LETTER PAR
-10AF GEORGIAN CAPITAL LETTER ZHAR
-10B0 GEORGIAN CAPITAL LETTER RAE
-10B1 GEORGIAN CAPITAL LETTER SAN
-10B2 GEORGIAN CAPITAL LETTER TAR
-10B3 GEORGIAN CAPITAL LETTER UN
-10B4 GEORGIAN CAPITAL LETTER PHAR
-10B5 GEORGIAN CAPITAL LETTER KHAR
-10B6 GEORGIAN CAPITAL LETTER GHAN
-10B7 GEORGIAN CAPITAL LETTER QAR
-10B8 GEORGIAN CAPITAL LETTER SHIN
-10B9 GEORGIAN CAPITAL LETTER CHIN
-10BA GEORGIAN CAPITAL LETTER CAN
-10BB GEORGIAN CAPITAL LETTER JIL
-10BC GEORGIAN CAPITAL LETTER CIL
-10BD GEORGIAN CAPITAL LETTER CHAR
-10BE GEORGIAN CAPITAL LETTER XAN
-10BF GEORGIAN CAPITAL LETTER JHAN
-10C0 GEORGIAN CAPITAL LETTER HAE
-10C1 GEORGIAN CAPITAL LETTER HE
-10C2 GEORGIAN CAPITAL LETTER HIE
-10C3 GEORGIAN CAPITAL LETTER WE
-10C4 GEORGIAN CAPITAL LETTER HAR
-10C5 GEORGIAN CAPITAL LETTER HOE
-10D0 GEORGIAN LETTER AN
-10D1 GEORGIAN LETTER BAN
-10D2 GEORGIAN LETTER GAN
-10D3 GEORGIAN LETTER DON
-10D4 GEORGIAN LETTER EN
-10D5 GEORGIAN LETTER VIN
-10D6 GEORGIAN LETTER ZEN
-10D7 GEORGIAN LETTER TAN
-10D8 GEORGIAN LETTER IN
-10D9 GEORGIAN LETTER KAN
-10DA GEORGIAN LETTER LAS
-10DB GEORGIAN LETTER MAN
-10DC GEORGIAN LETTER NAR
-10DD GEORGIAN LETTER ON
-10DE GEORGIAN LETTER PAR
-10DF GEORGIAN LETTER ZHAR
-10E0 GEORGIAN LETTER RAE
-10E1 GEORGIAN LETTER SAN
-10E2 GEORGIAN LETTER TAR
-10E3 GEORGIAN LETTER UN
-10E4 GEORGIAN LETTER PHAR
-10E5 GEORGIAN LETTER KHAR
-10E6 GEORGIAN LETTER GHAN
-10E7 GEORGIAN LETTER QAR
-10E8 GEORGIAN LETTER SHIN
-10E9 GEORGIAN LETTER CHIN
-10EA GEORGIAN LETTER CAN
-10EB GEORGIAN LETTER JIL
-10EC GEORGIAN LETTER CIL
-10ED GEORGIAN LETTER CHAR
-10EE GEORGIAN LETTER XAN
-10EF GEORGIAN LETTER JHAN
-10F0 GEORGIAN LETTER HAE
-10F1 GEORGIAN LETTER HE
-10F2 GEORGIAN LETTER HIE
-10F3 GEORGIAN LETTER WE
-10F4 GEORGIAN LETTER HAR
-10F5 GEORGIAN LETTER HOE
-10F6 GEORGIAN LETTER FI
-10F7 GEORGIAN LETTER YN
-10F8 GEORGIAN LETTER ELIFI
-10F9 GEORGIAN LETTER TURNED GAN
-10FA GEORGIAN LETTER AIN
-10FB GEORGIAN PARAGRAPH SEPARATOR
-10FC MODIFIER LETTER GEORGIAN NAR
-1100 HANGUL CHOSEONG KIYEOK
-1101 HANGUL CHOSEONG SSANGKIYEOK
-1102 HANGUL CHOSEONG NIEUN
-1103 HANGUL CHOSEONG TIKEUT
-1104 HANGUL CHOSEONG SSANGTIKEUT
-1105 HANGUL CHOSEONG RIEUL
-1106 HANGUL CHOSEONG MIEUM
-1107 HANGUL CHOSEONG PIEUP
-1108 HANGUL CHOSEONG SSANGPIEUP
-1109 HANGUL CHOSEONG SIOS
-110A HANGUL CHOSEONG SSANGSIOS
-110B HANGUL CHOSEONG IEUNG
-110C HANGUL CHOSEONG CIEUC
-110D HANGUL CHOSEONG SSANGCIEUC
-110E HANGUL CHOSEONG CHIEUCH
-110F HANGUL CHOSEONG KHIEUKH
-1110 HANGUL CHOSEONG THIEUTH
-1111 HANGUL CHOSEONG PHIEUPH
-1112 HANGUL CHOSEONG HIEUH
-1113 HANGUL CHOSEONG NIEUN-KIYEOK
-1114 HANGUL CHOSEONG SSANGNIEUN
-1115 HANGUL CHOSEONG NIEUN-TIKEUT
-1116 HANGUL CHOSEONG NIEUN-PIEUP
-1117 HANGUL CHOSEONG TIKEUT-KIYEOK
-1118 HANGUL CHOSEONG RIEUL-NIEUN
-1119 HANGUL CHOSEONG SSANGRIEUL
-111A HANGUL CHOSEONG RIEUL-HIEUH
-111B HANGUL CHOSEONG KAPYEOUNRIEUL
-111C HANGUL CHOSEONG MIEUM-PIEUP
-111D HANGUL CHOSEONG KAPYEOUNMIEUM
-111E HANGUL CHOSEONG PIEUP-KIYEOK
-111F HANGUL CHOSEONG PIEUP-NIEUN
-1120 HANGUL CHOSEONG PIEUP-TIKEUT
-1121 HANGUL CHOSEONG PIEUP-SIOS
-1122 HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-1123 HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-1124 HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125 HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126 HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127 HANGUL CHOSEONG PIEUP-CIEUC
-1128 HANGUL CHOSEONG PIEUP-CHIEUCH
-1129 HANGUL CHOSEONG PIEUP-THIEUTH
-112A HANGUL CHOSEONG PIEUP-PHIEUPH
-112B HANGUL CHOSEONG KAPYEOUNPIEUP
-112C HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-112D HANGUL CHOSEONG SIOS-KIYEOK
-112E HANGUL CHOSEONG SIOS-NIEUN
-112F HANGUL CHOSEONG SIOS-TIKEUT
-1130 HANGUL CHOSEONG SIOS-RIEUL
-1131 HANGUL CHOSEONG SIOS-MIEUM
-1132 HANGUL CHOSEONG SIOS-PIEUP
-1133 HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134 HANGUL CHOSEONG SIOS-SSANGSIOS
-1135 HANGUL CHOSEONG SIOS-IEUNG
-1136 HANGUL CHOSEONG SIOS-CIEUC
-1137 HANGUL CHOSEONG SIOS-CHIEUCH
-1138 HANGUL CHOSEONG SIOS-KHIEUKH
-1139 HANGUL CHOSEONG SIOS-THIEUTH
-113A HANGUL CHOSEONG SIOS-PHIEUPH
-113B HANGUL CHOSEONG SIOS-HIEUH
-113C HANGUL CHOSEONG CHITUEUMSIOS
-113D HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140 HANGUL CHOSEONG PANSIOS
-1141 HANGUL CHOSEONG IEUNG-KIYEOK
-1142 HANGUL CHOSEONG IEUNG-TIKEUT
-1143 HANGUL CHOSEONG IEUNG-MIEUM
-1144 HANGUL CHOSEONG IEUNG-PIEUP
-1145 HANGUL CHOSEONG IEUNG-SIOS
-1146 HANGUL CHOSEONG IEUNG-PANSIOS
-1147 HANGUL CHOSEONG SSANGIEUNG
-1148 HANGUL CHOSEONG IEUNG-CIEUC
-1149 HANGUL CHOSEONG IEUNG-CHIEUCH
-114A HANGUL CHOSEONG IEUNG-THIEUTH
-114B HANGUL CHOSEONG IEUNG-PHIEUPH
-114C HANGUL CHOSEONG YESIEUNG
-114D HANGUL CHOSEONG CIEUC-IEUNG
-114E HANGUL CHOSEONG CHITUEUMCIEUC
-114F HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150 HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151 HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152 HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153 HANGUL CHOSEONG CHIEUCH-HIEUH
-1154 HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155 HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156 HANGUL CHOSEONG PHIEUPH-PIEUP
-1157 HANGUL CHOSEONG KAPYEOUNPHIEUPH
-1158 HANGUL CHOSEONG SSANGHIEUH
-1159 HANGUL CHOSEONG YEORINHIEUH
-115A HANGUL CHOSEONG KIYEOK-TIKEUT
-115B HANGUL CHOSEONG NIEUN-SIOS
-115C HANGUL CHOSEONG NIEUN-CIEUC
-115D HANGUL CHOSEONG NIEUN-HIEUH
-115E HANGUL CHOSEONG TIKEUT-RIEUL
-115F HANGUL CHOSEONG FILLER
-1160 HANGUL JUNGSEONG FILLER
-1161 HANGUL JUNGSEONG A
-1162 HANGUL JUNGSEONG AE
-1163 HANGUL JUNGSEONG YA
-1164 HANGUL JUNGSEONG YAE
-1165 HANGUL JUNGSEONG EO
-1166 HANGUL JUNGSEONG E
-1167 HANGUL JUNGSEONG YEO
-1168 HANGUL JUNGSEONG YE
-1169 HANGUL JUNGSEONG O
-116A HANGUL JUNGSEONG WA
-116B HANGUL JUNGSEONG WAE
-116C HANGUL JUNGSEONG OE
-116D HANGUL JUNGSEONG YO
-116E HANGUL JUNGSEONG U
-116F HANGUL JUNGSEONG WEO
-1170 HANGUL JUNGSEONG WE
-1171 HANGUL JUNGSEONG WI
-1172 HANGUL JUNGSEONG YU
-1173 HANGUL JUNGSEONG EU
-1174 HANGUL JUNGSEONG YI
-1175 HANGUL JUNGSEONG I
-1176 HANGUL JUNGSEONG A-O
-1177 HANGUL JUNGSEONG A-U
-1178 HANGUL JUNGSEONG YA-O
-1179 HANGUL JUNGSEONG YA-YO
-117A HANGUL JUNGSEONG EO-O
-117B HANGUL JUNGSEONG EO-U
-117C HANGUL JUNGSEONG EO-EU
-117D HANGUL JUNGSEONG YEO-O
-117E HANGUL JUNGSEONG YEO-U
-117F HANGUL JUNGSEONG O-EO
-1180 HANGUL JUNGSEONG O-E
-1181 HANGUL JUNGSEONG O-YE
-1182 HANGUL JUNGSEONG O-O
-1183 HANGUL JUNGSEONG O-U
-1184 HANGUL JUNGSEONG YO-YA
-1185 HANGUL JUNGSEONG YO-YAE
-1186 HANGUL JUNGSEONG YO-YEO
-1187 HANGUL JUNGSEONG YO-O
-1188 HANGUL JUNGSEONG YO-I
-1189 HANGUL JUNGSEONG U-A
-118A HANGUL JUNGSEONG U-AE
-118B HANGUL JUNGSEONG U-EO-EU
-118C HANGUL JUNGSEONG U-YE
-118D HANGUL JUNGSEONG U-U
-118E HANGUL JUNGSEONG YU-A
-118F HANGUL JUNGSEONG YU-EO
-1190 HANGUL JUNGSEONG YU-E
-1191 HANGUL JUNGSEONG YU-YEO
-1192 HANGUL JUNGSEONG YU-YE
-1193 HANGUL JUNGSEONG YU-U
-1194 HANGUL JUNGSEONG YU-I
-1195 HANGUL JUNGSEONG EU-U
-1196 HANGUL JUNGSEONG EU-EU
-1197 HANGUL JUNGSEONG YI-U
-1198 HANGUL JUNGSEONG I-A
-1199 HANGUL JUNGSEONG I-YA
-119A HANGUL JUNGSEONG I-O
-119B HANGUL JUNGSEONG I-U
-119C HANGUL JUNGSEONG I-EU
-119D HANGUL JUNGSEONG I-ARAEA
-119E HANGUL JUNGSEONG ARAEA
-119F HANGUL JUNGSEONG ARAEA-EO
-11A0 HANGUL JUNGSEONG ARAEA-U
-11A1 HANGUL JUNGSEONG ARAEA-I
-11A2 HANGUL JUNGSEONG SSANGARAEA
-11A3 HANGUL JUNGSEONG A-EU
-11A4 HANGUL JUNGSEONG YA-U
-11A5 HANGUL JUNGSEONG YEO-YA
-11A6 HANGUL JUNGSEONG O-YA
-11A7 HANGUL JUNGSEONG O-YAE
-11A8 HANGUL JONGSEONG KIYEOK
-11A9 HANGUL JONGSEONG SSANGKIYEOK
-11AA HANGUL JONGSEONG KIYEOK-SIOS
-11AB HANGUL JONGSEONG NIEUN
-11AC HANGUL JONGSEONG NIEUN-CIEUC
-11AD HANGUL JONGSEONG NIEUN-HIEUH
-11AE HANGUL JONGSEONG TIKEUT
-11AF HANGUL JONGSEONG RIEUL
-11B0 HANGUL JONGSEONG RIEUL-KIYEOK
-11B1 HANGUL JONGSEONG RIEUL-MIEUM
-11B2 HANGUL JONGSEONG RIEUL-PIEUP
-11B3 HANGUL JONGSEONG RIEUL-SIOS
-11B4 HANGUL JONGSEONG RIEUL-THIEUTH
-11B5 HANGUL JONGSEONG RIEUL-PHIEUPH
-11B6 HANGUL JONGSEONG RIEUL-HIEUH
-11B7 HANGUL JONGSEONG MIEUM
-11B8 HANGUL JONGSEONG PIEUP
-11B9 HANGUL JONGSEONG PIEUP-SIOS
-11BA HANGUL JONGSEONG SIOS
-11BB HANGUL JONGSEONG SSANGSIOS
-11BC HANGUL JONGSEONG IEUNG
-11BD HANGUL JONGSEONG CIEUC
-11BE HANGUL JONGSEONG CHIEUCH
-11BF HANGUL JONGSEONG KHIEUKH
-11C0 HANGUL JONGSEONG THIEUTH
-11C1 HANGUL JONGSEONG PHIEUPH
-11C2 HANGUL JONGSEONG HIEUH
-11C3 HANGUL JONGSEONG KIYEOK-RIEUL
-11C4 HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5 HANGUL JONGSEONG NIEUN-KIYEOK
-11C6 HANGUL JONGSEONG NIEUN-TIKEUT
-11C7 HANGUL JONGSEONG NIEUN-SIOS
-11C8 HANGUL JONGSEONG NIEUN-PANSIOS
-11C9 HANGUL JONGSEONG NIEUN-THIEUTH
-11CA HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB HANGUL JONGSEONG TIKEUT-RIEUL
-11CC HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-11CD HANGUL JONGSEONG RIEUL-NIEUN
-11CE HANGUL JONGSEONG RIEUL-TIKEUT
-11CF HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0 HANGUL JONGSEONG SSANGRIEUL
-11D1 HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2 HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3 HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-11D4 HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5 HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6 HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7 HANGUL JONGSEONG RIEUL-PANSIOS
-11D8 HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9 HANGUL JONGSEONG RIEUL-YEORINHIEUH
-11DA HANGUL JONGSEONG MIEUM-KIYEOK
-11DB HANGUL JONGSEONG MIEUM-RIEUL
-11DC HANGUL JONGSEONG MIEUM-PIEUP
-11DD HANGUL JONGSEONG MIEUM-SIOS
-11DE HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF HANGUL JONGSEONG MIEUM-PANSIOS
-11E0 HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1 HANGUL JONGSEONG MIEUM-HIEUH
-11E2 HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3 HANGUL JONGSEONG PIEUP-RIEUL
-11E4 HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5 HANGUL JONGSEONG PIEUP-HIEUH
-11E6 HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7 HANGUL JONGSEONG SIOS-KIYEOK
-11E8 HANGUL JONGSEONG SIOS-TIKEUT
-11E9 HANGUL JONGSEONG SIOS-RIEUL
-11EA HANGUL JONGSEONG SIOS-PIEUP
-11EB HANGUL JONGSEONG PANSIOS
-11EC HANGUL JONGSEONG IEUNG-KIYEOK
-11ED HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE HANGUL JONGSEONG SSANGIEUNG
-11EF HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0 HANGUL JONGSEONG YESIEUNG
-11F1 HANGUL JONGSEONG YESIEUNG-SIOS
-11F2 HANGUL JONGSEONG YESIEUNG-PANSIOS
-11F3 HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4 HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5 HANGUL JONGSEONG HIEUH-NIEUN
-11F6 HANGUL JONGSEONG HIEUH-RIEUL
-11F7 HANGUL JONGSEONG HIEUH-MIEUM
-11F8 HANGUL JONGSEONG HIEUH-PIEUP
-11F9 HANGUL JONGSEONG YEORINHIEUH
-11FA HANGUL JONGSEONG KIYEOK-NIEUN
-11FB HANGUL JONGSEONG KIYEOK-PIEUP
-11FC HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE HANGUL JONGSEONG KIYEOK-HIEUH
-11FF HANGUL JONGSEONG SSANGNIEUN
-1200 ETHIOPIC SYLLABLE HA
-1201 ETHIOPIC SYLLABLE HU
-1202 ETHIOPIC SYLLABLE HI
-1203 ETHIOPIC SYLLABLE HAA
-1204 ETHIOPIC SYLLABLE HEE
-1205 ETHIOPIC SYLLABLE HE
-1206 ETHIOPIC SYLLABLE HO
-1207 ETHIOPIC SYLLABLE HOA
-1208 ETHIOPIC SYLLABLE LA
-1209 ETHIOPIC SYLLABLE LU
-120A ETHIOPIC SYLLABLE LI
-120B ETHIOPIC SYLLABLE LAA
-120C ETHIOPIC SYLLABLE LEE
-120D ETHIOPIC SYLLABLE LE
-120E ETHIOPIC SYLLABLE LO
-120F ETHIOPIC SYLLABLE LWA
-1210 ETHIOPIC SYLLABLE HHA
-1211 ETHIOPIC SYLLABLE HHU
-1212 ETHIOPIC SYLLABLE HHI
-1213 ETHIOPIC SYLLABLE HHAA
-1214 ETHIOPIC SYLLABLE HHEE
-1215 ETHIOPIC SYLLABLE HHE
-1216 ETHIOPIC SYLLABLE HHO
-1217 ETHIOPIC SYLLABLE HHWA
-1218 ETHIOPIC SYLLABLE MA
-1219 ETHIOPIC SYLLABLE MU
-121A ETHIOPIC SYLLABLE MI
-121B ETHIOPIC SYLLABLE MAA
-121C ETHIOPIC SYLLABLE MEE
-121D ETHIOPIC SYLLABLE ME
-121E ETHIOPIC SYLLABLE MO
-121F ETHIOPIC SYLLABLE MWA
-1220 ETHIOPIC SYLLABLE SZA
-1221 ETHIOPIC SYLLABLE SZU
-1222 ETHIOPIC SYLLABLE SZI
-1223 ETHIOPIC SYLLABLE SZAA
-1224 ETHIOPIC SYLLABLE SZEE
-1225 ETHIOPIC SYLLABLE SZE
-1226 ETHIOPIC SYLLABLE SZO
-1227 ETHIOPIC SYLLABLE SZWA
-1228 ETHIOPIC SYLLABLE RA
-1229 ETHIOPIC SYLLABLE RU
-122A ETHIOPIC SYLLABLE RI
-122B ETHIOPIC SYLLABLE RAA
-122C ETHIOPIC SYLLABLE REE
-122D ETHIOPIC SYLLABLE RE
-122E ETHIOPIC SYLLABLE RO
-122F ETHIOPIC SYLLABLE RWA
-1230 ETHIOPIC SYLLABLE SA
-1231 ETHIOPIC SYLLABLE SU
-1232 ETHIOPIC SYLLABLE SI
-1233 ETHIOPIC SYLLABLE SAA
-1234 ETHIOPIC SYLLABLE SEE
-1235 ETHIOPIC SYLLABLE SE
-1236 ETHIOPIC SYLLABLE SO
-1237 ETHIOPIC SYLLABLE SWA
-1238 ETHIOPIC SYLLABLE SHA
-1239 ETHIOPIC SYLLABLE SHU
-123A ETHIOPIC SYLLABLE SHI
-123B ETHIOPIC SYLLABLE SHAA
-123C ETHIOPIC SYLLABLE SHEE
-123D ETHIOPIC SYLLABLE SHE
-123E ETHIOPIC SYLLABLE SHO
-123F ETHIOPIC SYLLABLE SHWA
-1240 ETHIOPIC SYLLABLE QA
-1241 ETHIOPIC SYLLABLE QU
-1242 ETHIOPIC SYLLABLE QI
-1243 ETHIOPIC SYLLABLE QAA
-1244 ETHIOPIC SYLLABLE QEE
-1245 ETHIOPIC SYLLABLE QE
-1246 ETHIOPIC SYLLABLE QO
-1247 ETHIOPIC SYLLABLE QOA
-1248 ETHIOPIC SYLLABLE QWA
-124A ETHIOPIC SYLLABLE QWI
-124B ETHIOPIC SYLLABLE QWAA
-124C ETHIOPIC SYLLABLE QWEE
-124D ETHIOPIC SYLLABLE QWE
-1250 ETHIOPIC SYLLABLE QHA
-1251 ETHIOPIC SYLLABLE QHU
-1252 ETHIOPIC SYLLABLE QHI
-1253 ETHIOPIC SYLLABLE QHAA
-1254 ETHIOPIC SYLLABLE QHEE
-1255 ETHIOPIC SYLLABLE QHE
-1256 ETHIOPIC SYLLABLE QHO
-1258 ETHIOPIC SYLLABLE QHWA
-125A ETHIOPIC SYLLABLE QHWI
-125B ETHIOPIC SYLLABLE QHWAA
-125C ETHIOPIC SYLLABLE QHWEE
-125D ETHIOPIC SYLLABLE QHWE
-1260 ETHIOPIC SYLLABLE BA
-1261 ETHIOPIC SYLLABLE BU
-1262 ETHIOPIC SYLLABLE BI
-1263 ETHIOPIC SYLLABLE BAA
-1264 ETHIOPIC SYLLABLE BEE
-1265 ETHIOPIC SYLLABLE BE
-1266 ETHIOPIC SYLLABLE BO
-1267 ETHIOPIC SYLLABLE BWA
-1268 ETHIOPIC SYLLABLE VA
-1269 ETHIOPIC SYLLABLE VU
-126A ETHIOPIC SYLLABLE VI
-126B ETHIOPIC SYLLABLE VAA
-126C ETHIOPIC SYLLABLE VEE
-126D ETHIOPIC SYLLABLE VE
-126E ETHIOPIC SYLLABLE VO
-126F ETHIOPIC SYLLABLE VWA
-1270 ETHIOPIC SYLLABLE TA
-1271 ETHIOPIC SYLLABLE TU
-1272 ETHIOPIC SYLLABLE TI
-1273 ETHIOPIC SYLLABLE TAA
-1274 ETHIOPIC SYLLABLE TEE
-1275 ETHIOPIC SYLLABLE TE
-1276 ETHIOPIC SYLLABLE TO
-1277 ETHIOPIC SYLLABLE TWA
-1278 ETHIOPIC SYLLABLE CA
-1279 ETHIOPIC SYLLABLE CU
-127A ETHIOPIC SYLLABLE CI
-127B ETHIOPIC SYLLABLE CAA
-127C ETHIOPIC SYLLABLE CEE
-127D ETHIOPIC SYLLABLE CE
-127E ETHIOPIC SYLLABLE CO
-127F ETHIOPIC SYLLABLE CWA
-1280 ETHIOPIC SYLLABLE XA
-1281 ETHIOPIC SYLLABLE XU
-1282 ETHIOPIC SYLLABLE XI
-1283 ETHIOPIC SYLLABLE XAA
-1284 ETHIOPIC SYLLABLE XEE
-1285 ETHIOPIC SYLLABLE XE
-1286 ETHIOPIC SYLLABLE XO
-1287 ETHIOPIC SYLLABLE XOA
-1288 ETHIOPIC SYLLABLE XWA
-128A ETHIOPIC SYLLABLE XWI
-128B ETHIOPIC SYLLABLE XWAA
-128C ETHIOPIC SYLLABLE XWEE
-128D ETHIOPIC SYLLABLE XWE
-1290 ETHIOPIC SYLLABLE NA
-1291 ETHIOPIC SYLLABLE NU
-1292 ETHIOPIC SYLLABLE NI
-1293 ETHIOPIC SYLLABLE NAA
-1294 ETHIOPIC SYLLABLE NEE
-1295 ETHIOPIC SYLLABLE NE
-1296 ETHIOPIC SYLLABLE NO
-1297 ETHIOPIC SYLLABLE NWA
-1298 ETHIOPIC SYLLABLE NYA
-1299 ETHIOPIC SYLLABLE NYU
-129A ETHIOPIC SYLLABLE NYI
-129B ETHIOPIC SYLLABLE NYAA
-129C ETHIOPIC SYLLABLE NYEE
-129D ETHIOPIC SYLLABLE NYE
-129E ETHIOPIC SYLLABLE NYO
-129F ETHIOPIC SYLLABLE NYWA
-12A0 ETHIOPIC SYLLABLE GLOTTAL A
-12A1 ETHIOPIC SYLLABLE GLOTTAL U
-12A2 ETHIOPIC SYLLABLE GLOTTAL I
-12A3 ETHIOPIC SYLLABLE GLOTTAL AA
-12A4 ETHIOPIC SYLLABLE GLOTTAL EE
-12A5 ETHIOPIC SYLLABLE GLOTTAL E
-12A6 ETHIOPIC SYLLABLE GLOTTAL O
-12A7 ETHIOPIC SYLLABLE GLOTTAL WA
-12A8 ETHIOPIC SYLLABLE KA
-12A9 ETHIOPIC SYLLABLE KU
-12AA ETHIOPIC SYLLABLE KI
-12AB ETHIOPIC SYLLABLE KAA
-12AC ETHIOPIC SYLLABLE KEE
-12AD ETHIOPIC SYLLABLE KE
-12AE ETHIOPIC SYLLABLE KO
-12AF ETHIOPIC SYLLABLE KOA
-12B0 ETHIOPIC SYLLABLE KWA
-12B2 ETHIOPIC SYLLABLE KWI
-12B3 ETHIOPIC SYLLABLE KWAA
-12B4 ETHIOPIC SYLLABLE KWEE
-12B5 ETHIOPIC SYLLABLE KWE
-12B8 ETHIOPIC SYLLABLE KXA
-12B9 ETHIOPIC SYLLABLE KXU
-12BA ETHIOPIC SYLLABLE KXI
-12BB ETHIOPIC SYLLABLE KXAA
-12BC ETHIOPIC SYLLABLE KXEE
-12BD ETHIOPIC SYLLABLE KXE
-12BE ETHIOPIC SYLLABLE KXO
-12C0 ETHIOPIC SYLLABLE KXWA
-12C2 ETHIOPIC SYLLABLE KXWI
-12C3 ETHIOPIC SYLLABLE KXWAA
-12C4 ETHIOPIC SYLLABLE KXWEE
-12C5 ETHIOPIC SYLLABLE KXWE
-12C8 ETHIOPIC SYLLABLE WA
-12C9 ETHIOPIC SYLLABLE WU
-12CA ETHIOPIC SYLLABLE WI
-12CB ETHIOPIC SYLLABLE WAA
-12CC ETHIOPIC SYLLABLE WEE
-12CD ETHIOPIC SYLLABLE WE
-12CE ETHIOPIC SYLLABLE WO
-12CF ETHIOPIC SYLLABLE WOA
-12D0 ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1 ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2 ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3 ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4 ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5 ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6 ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8 ETHIOPIC SYLLABLE ZA
-12D9 ETHIOPIC SYLLABLE ZU
-12DA ETHIOPIC SYLLABLE ZI
-12DB ETHIOPIC SYLLABLE ZAA
-12DC ETHIOPIC SYLLABLE ZEE
-12DD ETHIOPIC SYLLABLE ZE
-12DE ETHIOPIC SYLLABLE ZO
-12DF ETHIOPIC SYLLABLE ZWA
-12E0 ETHIOPIC SYLLABLE ZHA
-12E1 ETHIOPIC SYLLABLE ZHU
-12E2 ETHIOPIC SYLLABLE ZHI
-12E3 ETHIOPIC SYLLABLE ZHAA
-12E4 ETHIOPIC SYLLABLE ZHEE
-12E5 ETHIOPIC SYLLABLE ZHE
-12E6 ETHIOPIC SYLLABLE ZHO
-12E7 ETHIOPIC SYLLABLE ZHWA
-12E8 ETHIOPIC SYLLABLE YA
-12E9 ETHIOPIC SYLLABLE YU
-12EA ETHIOPIC SYLLABLE YI
-12EB ETHIOPIC SYLLABLE YAA
-12EC ETHIOPIC SYLLABLE YEE
-12ED ETHIOPIC SYLLABLE YE
-12EE ETHIOPIC SYLLABLE YO
-12EF ETHIOPIC SYLLABLE YOA
-12F0 ETHIOPIC SYLLABLE DA
-12F1 ETHIOPIC SYLLABLE DU
-12F2 ETHIOPIC SYLLABLE DI
-12F3 ETHIOPIC SYLLABLE DAA
-12F4 ETHIOPIC SYLLABLE DEE
-12F5 ETHIOPIC SYLLABLE DE
-12F6 ETHIOPIC SYLLABLE DO
-12F7 ETHIOPIC SYLLABLE DWA
-12F8 ETHIOPIC SYLLABLE DDA
-12F9 ETHIOPIC SYLLABLE DDU
-12FA ETHIOPIC SYLLABLE DDI
-12FB ETHIOPIC SYLLABLE DDAA
-12FC ETHIOPIC SYLLABLE DDEE
-12FD ETHIOPIC SYLLABLE DDE
-12FE ETHIOPIC SYLLABLE DDO
-12FF ETHIOPIC SYLLABLE DDWA
-1300 ETHIOPIC SYLLABLE JA
-1301 ETHIOPIC SYLLABLE JU
-1302 ETHIOPIC SYLLABLE JI
-1303 ETHIOPIC SYLLABLE JAA
-1304 ETHIOPIC SYLLABLE JEE
-1305 ETHIOPIC SYLLABLE JE
-1306 ETHIOPIC SYLLABLE JO
-1307 ETHIOPIC SYLLABLE JWA
-1308 ETHIOPIC SYLLABLE GA
-1309 ETHIOPIC SYLLABLE GU
-130A ETHIOPIC SYLLABLE GI
-130B ETHIOPIC SYLLABLE GAA
-130C ETHIOPIC SYLLABLE GEE
-130D ETHIOPIC SYLLABLE GE
-130E ETHIOPIC SYLLABLE GO
-130F ETHIOPIC SYLLABLE GOA
-1310 ETHIOPIC SYLLABLE GWA
-1312 ETHIOPIC SYLLABLE GWI
-1313 ETHIOPIC SYLLABLE GWAA
-1314 ETHIOPIC SYLLABLE GWEE
-1315 ETHIOPIC SYLLABLE GWE
-1318 ETHIOPIC SYLLABLE GGA
-1319 ETHIOPIC SYLLABLE GGU
-131A ETHIOPIC SYLLABLE GGI
-131B ETHIOPIC SYLLABLE GGAA
-131C ETHIOPIC SYLLABLE GGEE
-131D ETHIOPIC SYLLABLE GGE
-131E ETHIOPIC SYLLABLE GGO
-131F ETHIOPIC SYLLABLE GGWAA
-1320 ETHIOPIC SYLLABLE THA
-1321 ETHIOPIC SYLLABLE THU
-1322 ETHIOPIC SYLLABLE THI
-1323 ETHIOPIC SYLLABLE THAA
-1324 ETHIOPIC SYLLABLE THEE
-1325 ETHIOPIC SYLLABLE THE
-1326 ETHIOPIC SYLLABLE THO
-1327 ETHIOPIC SYLLABLE THWA
-1328 ETHIOPIC SYLLABLE CHA
-1329 ETHIOPIC SYLLABLE CHU
-132A ETHIOPIC SYLLABLE CHI
-132B ETHIOPIC SYLLABLE CHAA
-132C ETHIOPIC SYLLABLE CHEE
-132D ETHIOPIC SYLLABLE CHE
-132E ETHIOPIC SYLLABLE CHO
-132F ETHIOPIC SYLLABLE CHWA
-1330 ETHIOPIC SYLLABLE PHA
-1331 ETHIOPIC SYLLABLE PHU
-1332 ETHIOPIC SYLLABLE PHI
-1333 ETHIOPIC SYLLABLE PHAA
-1334 ETHIOPIC SYLLABLE PHEE
-1335 ETHIOPIC SYLLABLE PHE
-1336 ETHIOPIC SYLLABLE PHO
-1337 ETHIOPIC SYLLABLE PHWA
-1338 ETHIOPIC SYLLABLE TSA
-1339 ETHIOPIC SYLLABLE TSU
-133A ETHIOPIC SYLLABLE TSI
-133B ETHIOPIC SYLLABLE TSAA
-133C ETHIOPIC SYLLABLE TSEE
-133D ETHIOPIC SYLLABLE TSE
-133E ETHIOPIC SYLLABLE TSO
-133F ETHIOPIC SYLLABLE TSWA
-1340 ETHIOPIC SYLLABLE TZA
-1341 ETHIOPIC SYLLABLE TZU
-1342 ETHIOPIC SYLLABLE TZI
-1343 ETHIOPIC SYLLABLE TZAA
-1344 ETHIOPIC SYLLABLE TZEE
-1345 ETHIOPIC SYLLABLE TZE
-1346 ETHIOPIC SYLLABLE TZO
-1347 ETHIOPIC SYLLABLE TZOA
-1348 ETHIOPIC SYLLABLE FA
-1349 ETHIOPIC SYLLABLE FU
-134A ETHIOPIC SYLLABLE FI
-134B ETHIOPIC SYLLABLE FAA
-134C ETHIOPIC SYLLABLE FEE
-134D ETHIOPIC SYLLABLE FE
-134E ETHIOPIC SYLLABLE FO
-134F ETHIOPIC SYLLABLE FWA
-1350 ETHIOPIC SYLLABLE PA
-1351 ETHIOPIC SYLLABLE PU
-1352 ETHIOPIC SYLLABLE PI
-1353 ETHIOPIC SYLLABLE PAA
-1354 ETHIOPIC SYLLABLE PEE
-1355 ETHIOPIC SYLLABLE PE
-1356 ETHIOPIC SYLLABLE PO
-1357 ETHIOPIC SYLLABLE PWA
-1358 ETHIOPIC SYLLABLE RYA
-1359 ETHIOPIC SYLLABLE MYA
-135A ETHIOPIC SYLLABLE FYA
-135F ETHIOPIC COMBINING GEMINATION MARK
-1360 ETHIOPIC SECTION MARK
-1361 ETHIOPIC WORDSPACE
-1362 ETHIOPIC FULL STOP
-1363 ETHIOPIC COMMA
-1364 ETHIOPIC SEMICOLON
-1365 ETHIOPIC COLON
-1366 ETHIOPIC PREFACE COLON
-1367 ETHIOPIC QUESTION MARK
-1368 ETHIOPIC PARAGRAPH SEPARATOR
-1369 ETHIOPIC DIGIT ONE
-136A ETHIOPIC DIGIT TWO
-136B ETHIOPIC DIGIT THREE
-136C ETHIOPIC DIGIT FOUR
-136D ETHIOPIC DIGIT FIVE
-136E ETHIOPIC DIGIT SIX
-136F ETHIOPIC DIGIT SEVEN
-1370 ETHIOPIC DIGIT EIGHT
-1371 ETHIOPIC DIGIT NINE
-1372 ETHIOPIC NUMBER TEN
-1373 ETHIOPIC NUMBER TWENTY
-1374 ETHIOPIC NUMBER THIRTY
-1375 ETHIOPIC NUMBER FORTY
-1376 ETHIOPIC NUMBER FIFTY
-1377 ETHIOPIC NUMBER SIXTY
-1378 ETHIOPIC NUMBER SEVENTY
-1379 ETHIOPIC NUMBER EIGHTY
-137A ETHIOPIC NUMBER NINETY
-137B ETHIOPIC NUMBER HUNDRED
-137C ETHIOPIC NUMBER TEN THOUSAND
-1380 ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381 ETHIOPIC SYLLABLE MWI
-1382 ETHIOPIC SYLLABLE MWEE
-1383 ETHIOPIC SYLLABLE MWE
-1384 ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385 ETHIOPIC SYLLABLE BWI
-1386 ETHIOPIC SYLLABLE BWEE
-1387 ETHIOPIC SYLLABLE BWE
-1388 ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389 ETHIOPIC SYLLABLE FWI
-138A ETHIOPIC SYLLABLE FWEE
-138B ETHIOPIC SYLLABLE FWE
-138C ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D ETHIOPIC SYLLABLE PWI
-138E ETHIOPIC SYLLABLE PWEE
-138F ETHIOPIC SYLLABLE PWE
-1390 ETHIOPIC TONAL MARK YIZET
-1391 ETHIOPIC TONAL MARK DERET
-1392 ETHIOPIC TONAL MARK RIKRIK
-1393 ETHIOPIC TONAL MARK SHORT RIKRIK
-1394 ETHIOPIC TONAL MARK DIFAT
-1395 ETHIOPIC TONAL MARK KENAT
-1396 ETHIOPIC TONAL MARK CHIRET
-1397 ETHIOPIC TONAL MARK HIDET
-1398 ETHIOPIC TONAL MARK DERET-HIDET
-1399 ETHIOPIC TONAL MARK KURT
-13A0 CHEROKEE LETTER A
-13A1 CHEROKEE LETTER E
-13A2 CHEROKEE LETTER I
-13A3 CHEROKEE LETTER O
-13A4 CHEROKEE LETTER U
-13A5 CHEROKEE LETTER V
-13A6 CHEROKEE LETTER GA
-13A7 CHEROKEE LETTER KA
-13A8 CHEROKEE LETTER GE
-13A9 CHEROKEE LETTER GI
-13AA CHEROKEE LETTER GO
-13AB CHEROKEE LETTER GU
-13AC CHEROKEE LETTER GV
-13AD CHEROKEE LETTER HA
-13AE CHEROKEE LETTER HE
-13AF CHEROKEE LETTER HI
-13B0 CHEROKEE LETTER HO
-13B1 CHEROKEE LETTER HU
-13B2 CHEROKEE LETTER HV
-13B3 CHEROKEE LETTER LA
-13B4 CHEROKEE LETTER LE
-13B5 CHEROKEE LETTER LI
-13B6 CHEROKEE LETTER LO
-13B7 CHEROKEE LETTER LU
-13B8 CHEROKEE LETTER LV
-13B9 CHEROKEE LETTER MA
-13BA CHEROKEE LETTER ME
-13BB CHEROKEE LETTER MI
-13BC CHEROKEE LETTER MO
-13BD CHEROKEE LETTER MU
-13BE CHEROKEE LETTER NA
-13BF CHEROKEE LETTER HNA
-13C0 CHEROKEE LETTER NAH
-13C1 CHEROKEE LETTER NE
-13C2 CHEROKEE LETTER NI
-13C3 CHEROKEE LETTER NO
-13C4 CHEROKEE LETTER NU
-13C5 CHEROKEE LETTER NV
-13C6 CHEROKEE LETTER QUA
-13C7 CHEROKEE LETTER QUE
-13C8 CHEROKEE LETTER QUI
-13C9 CHEROKEE LETTER QUO
-13CA CHEROKEE LETTER QUU
-13CB CHEROKEE LETTER QUV
-13CC CHEROKEE LETTER SA
-13CD CHEROKEE LETTER S
-13CE CHEROKEE LETTER SE
-13CF CHEROKEE LETTER SI
-13D0 CHEROKEE LETTER SO
-13D1 CHEROKEE LETTER SU
-13D2 CHEROKEE LETTER SV
-13D3 CHEROKEE LETTER DA
-13D4 CHEROKEE LETTER TA
-13D5 CHEROKEE LETTER DE
-13D6 CHEROKEE LETTER TE
-13D7 CHEROKEE LETTER DI
-13D8 CHEROKEE LETTER TI
-13D9 CHEROKEE LETTER DO
-13DA CHEROKEE LETTER DU
-13DB CHEROKEE LETTER DV
-13DC CHEROKEE LETTER DLA
-13DD CHEROKEE LETTER TLA
-13DE CHEROKEE LETTER TLE
-13DF CHEROKEE LETTER TLI
-13E0 CHEROKEE LETTER TLO
-13E1 CHEROKEE LETTER TLU
-13E2 CHEROKEE LETTER TLV
-13E3 CHEROKEE LETTER TSA
-13E4 CHEROKEE LETTER TSE
-13E5 CHEROKEE LETTER TSI
-13E6 CHEROKEE LETTER TSO
-13E7 CHEROKEE LETTER TSU
-13E8 CHEROKEE LETTER TSV
-13E9 CHEROKEE LETTER WA
-13EA CHEROKEE LETTER WE
-13EB CHEROKEE LETTER WI
-13EC CHEROKEE LETTER WO
-13ED CHEROKEE LETTER WU
-13EE CHEROKEE LETTER WV
-13EF CHEROKEE LETTER YA
-13F0 CHEROKEE LETTER YE
-13F1 CHEROKEE LETTER YI
-13F2 CHEROKEE LETTER YO
-13F3 CHEROKEE LETTER YU
-13F4 CHEROKEE LETTER YV
-1400 CANADIAN SYLLABICS HYPHEN
-1401 CANADIAN SYLLABICS E
-1402 CANADIAN SYLLABICS AAI
-1403 CANADIAN SYLLABICS I
-1404 CANADIAN SYLLABICS II
-1405 CANADIAN SYLLABICS O
-1406 CANADIAN SYLLABICS OO
-1407 CANADIAN SYLLABICS Y-CREE OO
-1408 CANADIAN SYLLABICS CARRIER EE
-1409 CANADIAN SYLLABICS CARRIER I
-140A CANADIAN SYLLABICS A
-140B CANADIAN SYLLABICS AA
-140C CANADIAN SYLLABICS WE
-140D CANADIAN SYLLABICS WEST-CREE WE
-140E CANADIAN SYLLABICS WI
-140F CANADIAN SYLLABICS WEST-CREE WI
-1410 CANADIAN SYLLABICS WII
-1411 CANADIAN SYLLABICS WEST-CREE WII
-1412 CANADIAN SYLLABICS WO
-1413 CANADIAN SYLLABICS WEST-CREE WO
-1414 CANADIAN SYLLABICS WOO
-1415 CANADIAN SYLLABICS WEST-CREE WOO
-1416 CANADIAN SYLLABICS NASKAPI WOO
-1417 CANADIAN SYLLABICS WA
-1418 CANADIAN SYLLABICS WEST-CREE WA
-1419 CANADIAN SYLLABICS WAA
-141A CANADIAN SYLLABICS WEST-CREE WAA
-141B CANADIAN SYLLABICS NASKAPI WAA
-141C CANADIAN SYLLABICS AI
-141D CANADIAN SYLLABICS Y-CREE W
-141E CANADIAN SYLLABICS GLOTTAL STOP
-141F CANADIAN SYLLABICS FINAL ACUTE
-1420 CANADIAN SYLLABICS FINAL GRAVE
-1421 CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422 CANADIAN SYLLABICS FINAL TOP HALF RING
-1423 CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424 CANADIAN SYLLABICS FINAL RING
-1425 CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426 CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427 CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428 CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429 CANADIAN SYLLABICS FINAL PLUS
-142A CANADIAN SYLLABICS FINAL DOWN TACK
-142B CANADIAN SYLLABICS EN
-142C CANADIAN SYLLABICS IN
-142D CANADIAN SYLLABICS ON
-142E CANADIAN SYLLABICS AN
-142F CANADIAN SYLLABICS PE
-1430 CANADIAN SYLLABICS PAAI
-1431 CANADIAN SYLLABICS PI
-1432 CANADIAN SYLLABICS PII
-1433 CANADIAN SYLLABICS PO
-1434 CANADIAN SYLLABICS POO
-1435 CANADIAN SYLLABICS Y-CREE POO
-1436 CANADIAN SYLLABICS CARRIER HEE
-1437 CANADIAN SYLLABICS CARRIER HI
-1438 CANADIAN SYLLABICS PA
-1439 CANADIAN SYLLABICS PAA
-143A CANADIAN SYLLABICS PWE
-143B CANADIAN SYLLABICS WEST-CREE PWE
-143C CANADIAN SYLLABICS PWI
-143D CANADIAN SYLLABICS WEST-CREE PWI
-143E CANADIAN SYLLABICS PWII
-143F CANADIAN SYLLABICS WEST-CREE PWII
-1440 CANADIAN SYLLABICS PWO
-1441 CANADIAN SYLLABICS WEST-CREE PWO
-1442 CANADIAN SYLLABICS PWOO
-1443 CANADIAN SYLLABICS WEST-CREE PWOO
-1444 CANADIAN SYLLABICS PWA
-1445 CANADIAN SYLLABICS WEST-CREE PWA
-1446 CANADIAN SYLLABICS PWAA
-1447 CANADIAN SYLLABICS WEST-CREE PWAA
-1448 CANADIAN SYLLABICS Y-CREE PWAA
-1449 CANADIAN SYLLABICS P
-144A CANADIAN SYLLABICS WEST-CREE P
-144B CANADIAN SYLLABICS CARRIER H
-144C CANADIAN SYLLABICS TE
-144D CANADIAN SYLLABICS TAAI
-144E CANADIAN SYLLABICS TI
-144F CANADIAN SYLLABICS TII
-1450 CANADIAN SYLLABICS TO
-1451 CANADIAN SYLLABICS TOO
-1452 CANADIAN SYLLABICS Y-CREE TOO
-1453 CANADIAN SYLLABICS CARRIER DEE
-1454 CANADIAN SYLLABICS CARRIER DI
-1455 CANADIAN SYLLABICS TA
-1456 CANADIAN SYLLABICS TAA
-1457 CANADIAN SYLLABICS TWE
-1458 CANADIAN SYLLABICS WEST-CREE TWE
-1459 CANADIAN SYLLABICS TWI
-145A CANADIAN SYLLABICS WEST-CREE TWI
-145B CANADIAN SYLLABICS TWII
-145C CANADIAN SYLLABICS WEST-CREE TWII
-145D CANADIAN SYLLABICS TWO
-145E CANADIAN SYLLABICS WEST-CREE TWO
-145F CANADIAN SYLLABICS TWOO
-1460 CANADIAN SYLLABICS WEST-CREE TWOO
-1461 CANADIAN SYLLABICS TWA
-1462 CANADIAN SYLLABICS WEST-CREE TWA
-1463 CANADIAN SYLLABICS TWAA
-1464 CANADIAN SYLLABICS WEST-CREE TWAA
-1465 CANADIAN SYLLABICS NASKAPI TWAA
-1466 CANADIAN SYLLABICS T
-1467 CANADIAN SYLLABICS TTE
-1468 CANADIAN SYLLABICS TTI
-1469 CANADIAN SYLLABICS TTO
-146A CANADIAN SYLLABICS TTA
-146B CANADIAN SYLLABICS KE
-146C CANADIAN SYLLABICS KAAI
-146D CANADIAN SYLLABICS KI
-146E CANADIAN SYLLABICS KII
-146F CANADIAN SYLLABICS KO
-1470 CANADIAN SYLLABICS KOO
-1471 CANADIAN SYLLABICS Y-CREE KOO
-1472 CANADIAN SYLLABICS KA
-1473 CANADIAN SYLLABICS KAA
-1474 CANADIAN SYLLABICS KWE
-1475 CANADIAN SYLLABICS WEST-CREE KWE
-1476 CANADIAN SYLLABICS KWI
-1477 CANADIAN SYLLABICS WEST-CREE KWI
-1478 CANADIAN SYLLABICS KWII
-1479 CANADIAN SYLLABICS WEST-CREE KWII
-147A CANADIAN SYLLABICS KWO
-147B CANADIAN SYLLABICS WEST-CREE KWO
-147C CANADIAN SYLLABICS KWOO
-147D CANADIAN SYLLABICS WEST-CREE KWOO
-147E CANADIAN SYLLABICS KWA
-147F CANADIAN SYLLABICS WEST-CREE KWA
-1480 CANADIAN SYLLABICS KWAA
-1481 CANADIAN SYLLABICS WEST-CREE KWAA
-1482 CANADIAN SYLLABICS NASKAPI KWAA
-1483 CANADIAN SYLLABICS K
-1484 CANADIAN SYLLABICS KW
-1485 CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486 CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487 CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488 CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489 CANADIAN SYLLABICS CE
-148A CANADIAN SYLLABICS CAAI
-148B CANADIAN SYLLABICS CI
-148C CANADIAN SYLLABICS CII
-148D CANADIAN SYLLABICS CO
-148E CANADIAN SYLLABICS COO
-148F CANADIAN SYLLABICS Y-CREE COO
-1490 CANADIAN SYLLABICS CA
-1491 CANADIAN SYLLABICS CAA
-1492 CANADIAN SYLLABICS CWE
-1493 CANADIAN SYLLABICS WEST-CREE CWE
-1494 CANADIAN SYLLABICS CWI
-1495 CANADIAN SYLLABICS WEST-CREE CWI
-1496 CANADIAN SYLLABICS CWII
-1497 CANADIAN SYLLABICS WEST-CREE CWII
-1498 CANADIAN SYLLABICS CWO
-1499 CANADIAN SYLLABICS WEST-CREE CWO
-149A CANADIAN SYLLABICS CWOO
-149B CANADIAN SYLLABICS WEST-CREE CWOO
-149C CANADIAN SYLLABICS CWA
-149D CANADIAN SYLLABICS WEST-CREE CWA
-149E CANADIAN SYLLABICS CWAA
-149F CANADIAN SYLLABICS WEST-CREE CWAA
-14A0 CANADIAN SYLLABICS NASKAPI CWAA
-14A1 CANADIAN SYLLABICS C
-14A2 CANADIAN SYLLABICS SAYISI TH
-14A3 CANADIAN SYLLABICS ME
-14A4 CANADIAN SYLLABICS MAAI
-14A5 CANADIAN SYLLABICS MI
-14A6 CANADIAN SYLLABICS MII
-14A7 CANADIAN SYLLABICS MO
-14A8 CANADIAN SYLLABICS MOO
-14A9 CANADIAN SYLLABICS Y-CREE MOO
-14AA CANADIAN SYLLABICS MA
-14AB CANADIAN SYLLABICS MAA
-14AC CANADIAN SYLLABICS MWE
-14AD CANADIAN SYLLABICS WEST-CREE MWE
-14AE CANADIAN SYLLABICS MWI
-14AF CANADIAN SYLLABICS WEST-CREE MWI
-14B0 CANADIAN SYLLABICS MWII
-14B1 CANADIAN SYLLABICS WEST-CREE MWII
-14B2 CANADIAN SYLLABICS MWO
-14B3 CANADIAN SYLLABICS WEST-CREE MWO
-14B4 CANADIAN SYLLABICS MWOO
-14B5 CANADIAN SYLLABICS WEST-CREE MWOO
-14B6 CANADIAN SYLLABICS MWA
-14B7 CANADIAN SYLLABICS WEST-CREE MWA
-14B8 CANADIAN SYLLABICS MWAA
-14B9 CANADIAN SYLLABICS WEST-CREE MWAA
-14BA CANADIAN SYLLABICS NASKAPI MWAA
-14BB CANADIAN SYLLABICS M
-14BC CANADIAN SYLLABICS WEST-CREE M
-14BD CANADIAN SYLLABICS MH
-14BE CANADIAN SYLLABICS ATHAPASCAN M
-14BF CANADIAN SYLLABICS SAYISI M
-14C0 CANADIAN SYLLABICS NE
-14C1 CANADIAN SYLLABICS NAAI
-14C2 CANADIAN SYLLABICS NI
-14C3 CANADIAN SYLLABICS NII
-14C4 CANADIAN SYLLABICS NO
-14C5 CANADIAN SYLLABICS NOO
-14C6 CANADIAN SYLLABICS Y-CREE NOO
-14C7 CANADIAN SYLLABICS NA
-14C8 CANADIAN SYLLABICS NAA
-14C9 CANADIAN SYLLABICS NWE
-14CA CANADIAN SYLLABICS WEST-CREE NWE
-14CB CANADIAN SYLLABICS NWA
-14CC CANADIAN SYLLABICS WEST-CREE NWA
-14CD CANADIAN SYLLABICS NWAA
-14CE CANADIAN SYLLABICS WEST-CREE NWAA
-14CF CANADIAN SYLLABICS NASKAPI NWAA
-14D0 CANADIAN SYLLABICS N
-14D1 CANADIAN SYLLABICS CARRIER NG
-14D2 CANADIAN SYLLABICS NH
-14D3 CANADIAN SYLLABICS LE
-14D4 CANADIAN SYLLABICS LAAI
-14D5 CANADIAN SYLLABICS LI
-14D6 CANADIAN SYLLABICS LII
-14D7 CANADIAN SYLLABICS LO
-14D8 CANADIAN SYLLABICS LOO
-14D9 CANADIAN SYLLABICS Y-CREE LOO
-14DA CANADIAN SYLLABICS LA
-14DB CANADIAN SYLLABICS LAA
-14DC CANADIAN SYLLABICS LWE
-14DD CANADIAN SYLLABICS WEST-CREE LWE
-14DE CANADIAN SYLLABICS LWI
-14DF CANADIAN SYLLABICS WEST-CREE LWI
-14E0 CANADIAN SYLLABICS LWII
-14E1 CANADIAN SYLLABICS WEST-CREE LWII
-14E2 CANADIAN SYLLABICS LWO
-14E3 CANADIAN SYLLABICS WEST-CREE LWO
-14E4 CANADIAN SYLLABICS LWOO
-14E5 CANADIAN SYLLABICS WEST-CREE LWOO
-14E6 CANADIAN SYLLABICS LWA
-14E7 CANADIAN SYLLABICS WEST-CREE LWA
-14E8 CANADIAN SYLLABICS LWAA
-14E9 CANADIAN SYLLABICS WEST-CREE LWAA
-14EA CANADIAN SYLLABICS L
-14EB CANADIAN SYLLABICS WEST-CREE L
-14EC CANADIAN SYLLABICS MEDIAL L
-14ED CANADIAN SYLLABICS SE
-14EE CANADIAN SYLLABICS SAAI
-14EF CANADIAN SYLLABICS SI
-14F0 CANADIAN SYLLABICS SII
-14F1 CANADIAN SYLLABICS SO
-14F2 CANADIAN SYLLABICS SOO
-14F3 CANADIAN SYLLABICS Y-CREE SOO
-14F4 CANADIAN SYLLABICS SA
-14F5 CANADIAN SYLLABICS SAA
-14F6 CANADIAN SYLLABICS SWE
-14F7 CANADIAN SYLLABICS WEST-CREE SWE
-14F8 CANADIAN SYLLABICS SWI
-14F9 CANADIAN SYLLABICS WEST-CREE SWI
-14FA CANADIAN SYLLABICS SWII
-14FB CANADIAN SYLLABICS WEST-CREE SWII
-14FC CANADIAN SYLLABICS SWO
-14FD CANADIAN SYLLABICS WEST-CREE SWO
-14FE CANADIAN SYLLABICS SWOO
-14FF CANADIAN SYLLABICS WEST-CREE SWOO
-1500 CANADIAN SYLLABICS SWA
-1501 CANADIAN SYLLABICS WEST-CREE SWA
-1502 CANADIAN SYLLABICS SWAA
-1503 CANADIAN SYLLABICS WEST-CREE SWAA
-1504 CANADIAN SYLLABICS NASKAPI SWAA
-1505 CANADIAN SYLLABICS S
-1506 CANADIAN SYLLABICS ATHAPASCAN S
-1507 CANADIAN SYLLABICS SW
-1508 CANADIAN SYLLABICS BLACKFOOT S
-1509 CANADIAN SYLLABICS MOOSE-CREE SK
-150A CANADIAN SYLLABICS NASKAPI SKW
-150B CANADIAN SYLLABICS NASKAPI S-W
-150C CANADIAN SYLLABICS NASKAPI SPWA
-150D CANADIAN SYLLABICS NASKAPI STWA
-150E CANADIAN SYLLABICS NASKAPI SKWA
-150F CANADIAN SYLLABICS NASKAPI SCWA
-1510 CANADIAN SYLLABICS SHE
-1511 CANADIAN SYLLABICS SHI
-1512 CANADIAN SYLLABICS SHII
-1513 CANADIAN SYLLABICS SHO
-1514 CANADIAN SYLLABICS SHOO
-1515 CANADIAN SYLLABICS SHA
-1516 CANADIAN SYLLABICS SHAA
-1517 CANADIAN SYLLABICS SHWE
-1518 CANADIAN SYLLABICS WEST-CREE SHWE
-1519 CANADIAN SYLLABICS SHWI
-151A CANADIAN SYLLABICS WEST-CREE SHWI
-151B CANADIAN SYLLABICS SHWII
-151C CANADIAN SYLLABICS WEST-CREE SHWII
-151D CANADIAN SYLLABICS SHWO
-151E CANADIAN SYLLABICS WEST-CREE SHWO
-151F CANADIAN SYLLABICS SHWOO
-1520 CANADIAN SYLLABICS WEST-CREE SHWOO
-1521 CANADIAN SYLLABICS SHWA
-1522 CANADIAN SYLLABICS WEST-CREE SHWA
-1523 CANADIAN SYLLABICS SHWAA
-1524 CANADIAN SYLLABICS WEST-CREE SHWAA
-1525 CANADIAN SYLLABICS SH
-1526 CANADIAN SYLLABICS YE
-1527 CANADIAN SYLLABICS YAAI
-1528 CANADIAN SYLLABICS YI
-1529 CANADIAN SYLLABICS YII
-152A CANADIAN SYLLABICS YO
-152B CANADIAN SYLLABICS YOO
-152C CANADIAN SYLLABICS Y-CREE YOO
-152D CANADIAN SYLLABICS YA
-152E CANADIAN SYLLABICS YAA
-152F CANADIAN SYLLABICS YWE
-1530 CANADIAN SYLLABICS WEST-CREE YWE
-1531 CANADIAN SYLLABICS YWI
-1532 CANADIAN SYLLABICS WEST-CREE YWI
-1533 CANADIAN SYLLABICS YWII
-1534 CANADIAN SYLLABICS WEST-CREE YWII
-1535 CANADIAN SYLLABICS YWO
-1536 CANADIAN SYLLABICS WEST-CREE YWO
-1537 CANADIAN SYLLABICS YWOO
-1538 CANADIAN SYLLABICS WEST-CREE YWOO
-1539 CANADIAN SYLLABICS YWA
-153A CANADIAN SYLLABICS WEST-CREE YWA
-153B CANADIAN SYLLABICS YWAA
-153C CANADIAN SYLLABICS WEST-CREE YWAA
-153D CANADIAN SYLLABICS NASKAPI YWAA
-153E CANADIAN SYLLABICS Y
-153F CANADIAN SYLLABICS BIBLE-CREE Y
-1540 CANADIAN SYLLABICS WEST-CREE Y
-1541 CANADIAN SYLLABICS SAYISI YI
-1542 CANADIAN SYLLABICS RE
-1543 CANADIAN SYLLABICS R-CREE RE
-1544 CANADIAN SYLLABICS WEST-CREE LE
-1545 CANADIAN SYLLABICS RAAI
-1546 CANADIAN SYLLABICS RI
-1547 CANADIAN SYLLABICS RII
-1548 CANADIAN SYLLABICS RO
-1549 CANADIAN SYLLABICS ROO
-154A CANADIAN SYLLABICS WEST-CREE LO
-154B CANADIAN SYLLABICS RA
-154C CANADIAN SYLLABICS RAA
-154D CANADIAN SYLLABICS WEST-CREE LA
-154E CANADIAN SYLLABICS RWAA
-154F CANADIAN SYLLABICS WEST-CREE RWAA
-1550 CANADIAN SYLLABICS R
-1551 CANADIAN SYLLABICS WEST-CREE R
-1552 CANADIAN SYLLABICS MEDIAL R
-1553 CANADIAN SYLLABICS FE
-1554 CANADIAN SYLLABICS FAAI
-1555 CANADIAN SYLLABICS FI
-1556 CANADIAN SYLLABICS FII
-1557 CANADIAN SYLLABICS FO
-1558 CANADIAN SYLLABICS FOO
-1559 CANADIAN SYLLABICS FA
-155A CANADIAN SYLLABICS FAA
-155B CANADIAN SYLLABICS FWAA
-155C CANADIAN SYLLABICS WEST-CREE FWAA
-155D CANADIAN SYLLABICS F
-155E CANADIAN SYLLABICS THE
-155F CANADIAN SYLLABICS N-CREE THE
-1560 CANADIAN SYLLABICS THI
-1561 CANADIAN SYLLABICS N-CREE THI
-1562 CANADIAN SYLLABICS THII
-1563 CANADIAN SYLLABICS N-CREE THII
-1564 CANADIAN SYLLABICS THO
-1565 CANADIAN SYLLABICS THOO
-1566 CANADIAN SYLLABICS THA
-1567 CANADIAN SYLLABICS THAA
-1568 CANADIAN SYLLABICS THWAA
-1569 CANADIAN SYLLABICS WEST-CREE THWAA
-156A CANADIAN SYLLABICS TH
-156B CANADIAN SYLLABICS TTHE
-156C CANADIAN SYLLABICS TTHI
-156D CANADIAN SYLLABICS TTHO
-156E CANADIAN SYLLABICS TTHA
-156F CANADIAN SYLLABICS TTH
-1570 CANADIAN SYLLABICS TYE
-1571 CANADIAN SYLLABICS TYI
-1572 CANADIAN SYLLABICS TYO
-1573 CANADIAN SYLLABICS TYA
-1574 CANADIAN SYLLABICS NUNAVIK HE
-1575 CANADIAN SYLLABICS NUNAVIK HI
-1576 CANADIAN SYLLABICS NUNAVIK HII
-1577 CANADIAN SYLLABICS NUNAVIK HO
-1578 CANADIAN SYLLABICS NUNAVIK HOO
-1579 CANADIAN SYLLABICS NUNAVIK HA
-157A CANADIAN SYLLABICS NUNAVIK HAA
-157B CANADIAN SYLLABICS NUNAVIK H
-157C CANADIAN SYLLABICS NUNAVUT H
-157D CANADIAN SYLLABICS HK
-157E CANADIAN SYLLABICS QAAI
-157F CANADIAN SYLLABICS QI
-1580 CANADIAN SYLLABICS QII
-1581 CANADIAN SYLLABICS QO
-1582 CANADIAN SYLLABICS QOO
-1583 CANADIAN SYLLABICS QA
-1584 CANADIAN SYLLABICS QAA
-1585 CANADIAN SYLLABICS Q
-1586 CANADIAN SYLLABICS TLHE
-1587 CANADIAN SYLLABICS TLHI
-1588 CANADIAN SYLLABICS TLHO
-1589 CANADIAN SYLLABICS TLHA
-158A CANADIAN SYLLABICS WEST-CREE RE
-158B CANADIAN SYLLABICS WEST-CREE RI
-158C CANADIAN SYLLABICS WEST-CREE RO
-158D CANADIAN SYLLABICS WEST-CREE RA
-158E CANADIAN SYLLABICS NGAAI
-158F CANADIAN SYLLABICS NGI
-1590 CANADIAN SYLLABICS NGII
-1591 CANADIAN SYLLABICS NGO
-1592 CANADIAN SYLLABICS NGOO
-1593 CANADIAN SYLLABICS NGA
-1594 CANADIAN SYLLABICS NGAA
-1595 CANADIAN SYLLABICS NG
-1596 CANADIAN SYLLABICS NNG
-1597 CANADIAN SYLLABICS SAYISI SHE
-1598 CANADIAN SYLLABICS SAYISI SHI
-1599 CANADIAN SYLLABICS SAYISI SHO
-159A CANADIAN SYLLABICS SAYISI SHA
-159B CANADIAN SYLLABICS WOODS-CREE THE
-159C CANADIAN SYLLABICS WOODS-CREE THI
-159D CANADIAN SYLLABICS WOODS-CREE THO
-159E CANADIAN SYLLABICS WOODS-CREE THA
-159F CANADIAN SYLLABICS WOODS-CREE TH
-15A0 CANADIAN SYLLABICS LHI
-15A1 CANADIAN SYLLABICS LHII
-15A2 CANADIAN SYLLABICS LHO
-15A3 CANADIAN SYLLABICS LHOO
-15A4 CANADIAN SYLLABICS LHA
-15A5 CANADIAN SYLLABICS LHAA
-15A6 CANADIAN SYLLABICS LH
-15A7 CANADIAN SYLLABICS TH-CREE THE
-15A8 CANADIAN SYLLABICS TH-CREE THI
-15A9 CANADIAN SYLLABICS TH-CREE THII
-15AA CANADIAN SYLLABICS TH-CREE THO
-15AB CANADIAN SYLLABICS TH-CREE THOO
-15AC CANADIAN SYLLABICS TH-CREE THA
-15AD CANADIAN SYLLABICS TH-CREE THAA
-15AE CANADIAN SYLLABICS TH-CREE TH
-15AF CANADIAN SYLLABICS AIVILIK B
-15B0 CANADIAN SYLLABICS BLACKFOOT E
-15B1 CANADIAN SYLLABICS BLACKFOOT I
-15B2 CANADIAN SYLLABICS BLACKFOOT O
-15B3 CANADIAN SYLLABICS BLACKFOOT A
-15B4 CANADIAN SYLLABICS BLACKFOOT WE
-15B5 CANADIAN SYLLABICS BLACKFOOT WI
-15B6 CANADIAN SYLLABICS BLACKFOOT WO
-15B7 CANADIAN SYLLABICS BLACKFOOT WA
-15B8 CANADIAN SYLLABICS BLACKFOOT NE
-15B9 CANADIAN SYLLABICS BLACKFOOT NI
-15BA CANADIAN SYLLABICS BLACKFOOT NO
-15BB CANADIAN SYLLABICS BLACKFOOT NA
-15BC CANADIAN SYLLABICS BLACKFOOT KE
-15BD CANADIAN SYLLABICS BLACKFOOT KI
-15BE CANADIAN SYLLABICS BLACKFOOT KO
-15BF CANADIAN SYLLABICS BLACKFOOT KA
-15C0 CANADIAN SYLLABICS SAYISI HE
-15C1 CANADIAN SYLLABICS SAYISI HI
-15C2 CANADIAN SYLLABICS SAYISI HO
-15C3 CANADIAN SYLLABICS SAYISI HA
-15C4 CANADIAN SYLLABICS CARRIER GHU
-15C5 CANADIAN SYLLABICS CARRIER GHO
-15C6 CANADIAN SYLLABICS CARRIER GHE
-15C7 CANADIAN SYLLABICS CARRIER GHEE
-15C8 CANADIAN SYLLABICS CARRIER GHI
-15C9 CANADIAN SYLLABICS CARRIER GHA
-15CA CANADIAN SYLLABICS CARRIER RU
-15CB CANADIAN SYLLABICS CARRIER RO
-15CC CANADIAN SYLLABICS CARRIER RE
-15CD CANADIAN SYLLABICS CARRIER REE
-15CE CANADIAN SYLLABICS CARRIER RI
-15CF CANADIAN SYLLABICS CARRIER RA
-15D0 CANADIAN SYLLABICS CARRIER WU
-15D1 CANADIAN SYLLABICS CARRIER WO
-15D2 CANADIAN SYLLABICS CARRIER WE
-15D3 CANADIAN SYLLABICS CARRIER WEE
-15D4 CANADIAN SYLLABICS CARRIER WI
-15D5 CANADIAN SYLLABICS CARRIER WA
-15D6 CANADIAN SYLLABICS CARRIER HWU
-15D7 CANADIAN SYLLABICS CARRIER HWO
-15D8 CANADIAN SYLLABICS CARRIER HWE
-15D9 CANADIAN SYLLABICS CARRIER HWEE
-15DA CANADIAN SYLLABICS CARRIER HWI
-15DB CANADIAN SYLLABICS CARRIER HWA
-15DC CANADIAN SYLLABICS CARRIER THU
-15DD CANADIAN SYLLABICS CARRIER THO
-15DE CANADIAN SYLLABICS CARRIER THE
-15DF CANADIAN SYLLABICS CARRIER THEE
-15E0 CANADIAN SYLLABICS CARRIER THI
-15E1 CANADIAN SYLLABICS CARRIER THA
-15E2 CANADIAN SYLLABICS CARRIER TTU
-15E3 CANADIAN SYLLABICS CARRIER TTO
-15E4 CANADIAN SYLLABICS CARRIER TTE
-15E5 CANADIAN SYLLABICS CARRIER TTEE
-15E6 CANADIAN SYLLABICS CARRIER TTI
-15E7 CANADIAN SYLLABICS CARRIER TTA
-15E8 CANADIAN SYLLABICS CARRIER PU
-15E9 CANADIAN SYLLABICS CARRIER PO
-15EA CANADIAN SYLLABICS CARRIER PE
-15EB CANADIAN SYLLABICS CARRIER PEE
-15EC CANADIAN SYLLABICS CARRIER PI
-15ED CANADIAN SYLLABICS CARRIER PA
-15EE CANADIAN SYLLABICS CARRIER P
-15EF CANADIAN SYLLABICS CARRIER GU
-15F0 CANADIAN SYLLABICS CARRIER GO
-15F1 CANADIAN SYLLABICS CARRIER GE
-15F2 CANADIAN SYLLABICS CARRIER GEE
-15F3 CANADIAN SYLLABICS CARRIER GI
-15F4 CANADIAN SYLLABICS CARRIER GA
-15F5 CANADIAN SYLLABICS CARRIER KHU
-15F6 CANADIAN SYLLABICS CARRIER KHO
-15F7 CANADIAN SYLLABICS CARRIER KHE
-15F8 CANADIAN SYLLABICS CARRIER KHEE
-15F9 CANADIAN SYLLABICS CARRIER KHI
-15FA CANADIAN SYLLABICS CARRIER KHA
-15FB CANADIAN SYLLABICS CARRIER KKU
-15FC CANADIAN SYLLABICS CARRIER KKO
-15FD CANADIAN SYLLABICS CARRIER KKE
-15FE CANADIAN SYLLABICS CARRIER KKEE
-15FF CANADIAN SYLLABICS CARRIER KKI
-1600 CANADIAN SYLLABICS CARRIER KKA
-1601 CANADIAN SYLLABICS CARRIER KK
-1602 CANADIAN SYLLABICS CARRIER NU
-1603 CANADIAN SYLLABICS CARRIER NO
-1604 CANADIAN SYLLABICS CARRIER NE
-1605 CANADIAN SYLLABICS CARRIER NEE
-1606 CANADIAN SYLLABICS CARRIER NI
-1607 CANADIAN SYLLABICS CARRIER NA
-1608 CANADIAN SYLLABICS CARRIER MU
-1609 CANADIAN SYLLABICS CARRIER MO
-160A CANADIAN SYLLABICS CARRIER ME
-160B CANADIAN SYLLABICS CARRIER MEE
-160C CANADIAN SYLLABICS CARRIER MI
-160D CANADIAN SYLLABICS CARRIER MA
-160E CANADIAN SYLLABICS CARRIER YU
-160F CANADIAN SYLLABICS CARRIER YO
-1610 CANADIAN SYLLABICS CARRIER YE
-1611 CANADIAN SYLLABICS CARRIER YEE
-1612 CANADIAN SYLLABICS CARRIER YI
-1613 CANADIAN SYLLABICS CARRIER YA
-1614 CANADIAN SYLLABICS CARRIER JU
-1615 CANADIAN SYLLABICS SAYISI JU
-1616 CANADIAN SYLLABICS CARRIER JO
-1617 CANADIAN SYLLABICS CARRIER JE
-1618 CANADIAN SYLLABICS CARRIER JEE
-1619 CANADIAN SYLLABICS CARRIER JI
-161A CANADIAN SYLLABICS SAYISI JI
-161B CANADIAN SYLLABICS CARRIER JA
-161C CANADIAN SYLLABICS CARRIER JJU
-161D CANADIAN SYLLABICS CARRIER JJO
-161E CANADIAN SYLLABICS CARRIER JJE
-161F CANADIAN SYLLABICS CARRIER JJEE
-1620 CANADIAN SYLLABICS CARRIER JJI
-1621 CANADIAN SYLLABICS CARRIER JJA
-1622 CANADIAN SYLLABICS CARRIER LU
-1623 CANADIAN SYLLABICS CARRIER LO
-1624 CANADIAN SYLLABICS CARRIER LE
-1625 CANADIAN SYLLABICS CARRIER LEE
-1626 CANADIAN SYLLABICS CARRIER LI
-1627 CANADIAN SYLLABICS CARRIER LA
-1628 CANADIAN SYLLABICS CARRIER DLU
-1629 CANADIAN SYLLABICS CARRIER DLO
-162A CANADIAN SYLLABICS CARRIER DLE
-162B CANADIAN SYLLABICS CARRIER DLEE
-162C CANADIAN SYLLABICS CARRIER DLI
-162D CANADIAN SYLLABICS CARRIER DLA
-162E CANADIAN SYLLABICS CARRIER LHU
-162F CANADIAN SYLLABICS CARRIER LHO
-1630 CANADIAN SYLLABICS CARRIER LHE
-1631 CANADIAN SYLLABICS CARRIER LHEE
-1632 CANADIAN SYLLABICS CARRIER LHI
-1633 CANADIAN SYLLABICS CARRIER LHA
-1634 CANADIAN SYLLABICS CARRIER TLHU
-1635 CANADIAN SYLLABICS CARRIER TLHO
-1636 CANADIAN SYLLABICS CARRIER TLHE
-1637 CANADIAN SYLLABICS CARRIER TLHEE
-1638 CANADIAN SYLLABICS CARRIER TLHI
-1639 CANADIAN SYLLABICS CARRIER TLHA
-163A CANADIAN SYLLABICS CARRIER TLU
-163B CANADIAN SYLLABICS CARRIER TLO
-163C CANADIAN SYLLABICS CARRIER TLE
-163D CANADIAN SYLLABICS CARRIER TLEE
-163E CANADIAN SYLLABICS CARRIER TLI
-163F CANADIAN SYLLABICS CARRIER TLA
-1640 CANADIAN SYLLABICS CARRIER ZU
-1641 CANADIAN SYLLABICS CARRIER ZO
-1642 CANADIAN SYLLABICS CARRIER ZE
-1643 CANADIAN SYLLABICS CARRIER ZEE
-1644 CANADIAN SYLLABICS CARRIER ZI
-1645 CANADIAN SYLLABICS CARRIER ZA
-1646 CANADIAN SYLLABICS CARRIER Z
-1647 CANADIAN SYLLABICS CARRIER INITIAL Z
-1648 CANADIAN SYLLABICS CARRIER DZU
-1649 CANADIAN SYLLABICS CARRIER DZO
-164A CANADIAN SYLLABICS CARRIER DZE
-164B CANADIAN SYLLABICS CARRIER DZEE
-164C CANADIAN SYLLABICS CARRIER DZI
-164D CANADIAN SYLLABICS CARRIER DZA
-164E CANADIAN SYLLABICS CARRIER SU
-164F CANADIAN SYLLABICS CARRIER SO
-1650 CANADIAN SYLLABICS CARRIER SE
-1651 CANADIAN SYLLABICS CARRIER SEE
-1652 CANADIAN SYLLABICS CARRIER SI
-1653 CANADIAN SYLLABICS CARRIER SA
-1654 CANADIAN SYLLABICS CARRIER SHU
-1655 CANADIAN SYLLABICS CARRIER SHO
-1656 CANADIAN SYLLABICS CARRIER SHE
-1657 CANADIAN SYLLABICS CARRIER SHEE
-1658 CANADIAN SYLLABICS CARRIER SHI
-1659 CANADIAN SYLLABICS CARRIER SHA
-165A CANADIAN SYLLABICS CARRIER SH
-165B CANADIAN SYLLABICS CARRIER TSU
-165C CANADIAN SYLLABICS CARRIER TSO
-165D CANADIAN SYLLABICS CARRIER TSE
-165E CANADIAN SYLLABICS CARRIER TSEE
-165F CANADIAN SYLLABICS CARRIER TSI
-1660 CANADIAN SYLLABICS CARRIER TSA
-1661 CANADIAN SYLLABICS CARRIER CHU
-1662 CANADIAN SYLLABICS CARRIER CHO
-1663 CANADIAN SYLLABICS CARRIER CHE
-1664 CANADIAN SYLLABICS CARRIER CHEE
-1665 CANADIAN SYLLABICS CARRIER CHI
-1666 CANADIAN SYLLABICS CARRIER CHA
-1667 CANADIAN SYLLABICS CARRIER TTSU
-1668 CANADIAN SYLLABICS CARRIER TTSO
-1669 CANADIAN SYLLABICS CARRIER TTSE
-166A CANADIAN SYLLABICS CARRIER TTSEE
-166B CANADIAN SYLLABICS CARRIER TTSI
-166C CANADIAN SYLLABICS CARRIER TTSA
-166D CANADIAN SYLLABICS CHI SIGN
-166E CANADIAN SYLLABICS FULL STOP
-166F CANADIAN SYLLABICS QAI
-1670 CANADIAN SYLLABICS NGAI
-1671 CANADIAN SYLLABICS NNGI
-1672 CANADIAN SYLLABICS NNGII
-1673 CANADIAN SYLLABICS NNGO
-1674 CANADIAN SYLLABICS NNGOO
-1675 CANADIAN SYLLABICS NNGA
-1676 CANADIAN SYLLABICS NNGAA
-1677 CANADIAN SYLLABICS WOODS-CREE THWEE
-1678 CANADIAN SYLLABICS WOODS-CREE THWI
-1679 CANADIAN SYLLABICS WOODS-CREE THWII
-167A CANADIAN SYLLABICS WOODS-CREE THWO
-167B CANADIAN SYLLABICS WOODS-CREE THWOO
-167C CANADIAN SYLLABICS WOODS-CREE THWA
-167D CANADIAN SYLLABICS WOODS-CREE THWAA
-167E CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F CANADIAN SYLLABICS BLACKFOOT W
-1680 OGHAM SPACE MARK
-1681 OGHAM LETTER BEITH
-1682 OGHAM LETTER LUIS
-1683 OGHAM LETTER FEARN
-1684 OGHAM LETTER SAIL
-1685 OGHAM LETTER NION
-1686 OGHAM LETTER UATH
-1687 OGHAM LETTER DAIR
-1688 OGHAM LETTER TINNE
-1689 OGHAM LETTER COLL
-168A OGHAM LETTER CEIRT
-168B OGHAM LETTER MUIN
-168C OGHAM LETTER GORT
-168D OGHAM LETTER NGEADAL
-168E OGHAM LETTER STRAIF
-168F OGHAM LETTER RUIS
-1690 OGHAM LETTER AILM
-1691 OGHAM LETTER ONN
-1692 OGHAM LETTER UR
-1693 OGHAM LETTER EADHADH
-1694 OGHAM LETTER IODHADH
-1695 OGHAM LETTER EABHADH
-1696 OGHAM LETTER OR
-1697 OGHAM LETTER UILLEANN
-1698 OGHAM LETTER IFIN
-1699 OGHAM LETTER EAMHANCHOLL
-169A OGHAM LETTER PEITH
-169B OGHAM FEATHER MARK
-169C OGHAM REVERSED FEATHER MARK
-16A0 RUNIC LETTER FEHU FEOH FE F
-16A1 RUNIC LETTER V
-16A2 RUNIC LETTER URUZ UR U
-16A3 RUNIC LETTER YR
-16A4 RUNIC LETTER Y
-16A5 RUNIC LETTER W
-16A6 RUNIC LETTER THURISAZ THURS THORN
-16A7 RUNIC LETTER ETH
-16A8 RUNIC LETTER ANSUZ A
-16A9 RUNIC LETTER OS O
-16AA RUNIC LETTER AC A
-16AB RUNIC LETTER AESC
-16AC RUNIC LETTER LONG-BRANCH-OSS O
-16AD RUNIC LETTER SHORT-TWIG-OSS O
-16AE RUNIC LETTER O
-16AF RUNIC LETTER OE
-16B0 RUNIC LETTER ON
-16B1 RUNIC LETTER RAIDO RAD REID R
-16B2 RUNIC LETTER KAUNA
-16B3 RUNIC LETTER CEN
-16B4 RUNIC LETTER KAUN K
-16B5 RUNIC LETTER G
-16B6 RUNIC LETTER ENG
-16B7 RUNIC LETTER GEBO GYFU G
-16B8 RUNIC LETTER GAR
-16B9 RUNIC LETTER WUNJO WYNN W
-16BA RUNIC LETTER HAGLAZ H
-16BB RUNIC LETTER HAEGL H
-16BC RUNIC LETTER LONG-BRANCH-HAGALL H
-16BD RUNIC LETTER SHORT-TWIG-HAGALL H
-16BE RUNIC LETTER NAUDIZ NYD NAUD N
-16BF RUNIC LETTER SHORT-TWIG-NAUD N
-16C0 RUNIC LETTER DOTTED-N
-16C1 RUNIC LETTER ISAZ IS ISS I
-16C2 RUNIC LETTER E
-16C3 RUNIC LETTER JERAN J
-16C4 RUNIC LETTER GER
-16C5 RUNIC LETTER LONG-BRANCH-AR AE
-16C6 RUNIC LETTER SHORT-TWIG-AR A
-16C7 RUNIC LETTER IWAZ EOH
-16C8 RUNIC LETTER PERTHO PEORTH P
-16C9 RUNIC LETTER ALGIZ EOLHX
-16CA RUNIC LETTER SOWILO S
-16CB RUNIC LETTER SIGEL LONG-BRANCH-SOL S
-16CC RUNIC LETTER SHORT-TWIG-SOL S
-16CD RUNIC LETTER C
-16CE RUNIC LETTER Z
-16CF RUNIC LETTER TIWAZ TIR TYR T
-16D0 RUNIC LETTER SHORT-TWIG-TYR T
-16D1 RUNIC LETTER D
-16D2 RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3 RUNIC LETTER SHORT-TWIG-BJARKAN B
-16D4 RUNIC LETTER DOTTED-P
-16D5 RUNIC LETTER OPEN-P
-16D6 RUNIC LETTER EHWAZ EH E
-16D7 RUNIC LETTER MANNAZ MAN M
-16D8 RUNIC LETTER LONG-BRANCH-MADR M
-16D9 RUNIC LETTER SHORT-TWIG-MADR M
-16DA RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB RUNIC LETTER DOTTED-L
-16DC RUNIC LETTER INGWAZ
-16DD RUNIC LETTER ING
-16DE RUNIC LETTER DAGAZ DAEG D
-16DF RUNIC LETTER OTHALAN ETHEL O
-16E0 RUNIC LETTER EAR
-16E1 RUNIC LETTER IOR
-16E2 RUNIC LETTER CWEORTH
-16E3 RUNIC LETTER CALC
-16E4 RUNIC LETTER CEALC
-16E5 RUNIC LETTER STAN
-16E6 RUNIC LETTER LONG-BRANCH-YR
-16E7 RUNIC LETTER SHORT-TWIG-YR
-16E8 RUNIC LETTER ICELANDIC-YR
-16E9 RUNIC LETTER Q
-16EA RUNIC LETTER X
-16EB RUNIC SINGLE PUNCTUATION
-16EC RUNIC MULTIPLE PUNCTUATION
-16ED RUNIC CROSS PUNCTUATION
-16EE RUNIC ARLAUG SYMBOL
-16EF RUNIC TVIMADUR SYMBOL
-16F0 RUNIC BELGTHOR SYMBOL
-1700 TAGALOG LETTER A
-1701 TAGALOG LETTER I
-1702 TAGALOG LETTER U
-1703 TAGALOG LETTER KA
-1704 TAGALOG LETTER GA
-1705 TAGALOG LETTER NGA
-1706 TAGALOG LETTER TA
-1707 TAGALOG LETTER DA
-1708 TAGALOG LETTER NA
-1709 TAGALOG LETTER PA
-170A TAGALOG LETTER BA
-170B TAGALOG LETTER MA
-170C TAGALOG LETTER YA
-170E TAGALOG LETTER LA
-170F TAGALOG LETTER WA
-1710 TAGALOG LETTER SA
-1711 TAGALOG LETTER HA
-1712 TAGALOG VOWEL SIGN I
-1713 TAGALOG VOWEL SIGN U
-1714 TAGALOG SIGN VIRAMA
-1720 HANUNOO LETTER A
-1721 HANUNOO LETTER I
-1722 HANUNOO LETTER U
-1723 HANUNOO LETTER KA
-1724 HANUNOO LETTER GA
-1725 HANUNOO LETTER NGA
-1726 HANUNOO LETTER TA
-1727 HANUNOO LETTER DA
-1728 HANUNOO LETTER NA
-1729 HANUNOO LETTER PA
-172A HANUNOO LETTER BA
-172B HANUNOO LETTER MA
-172C HANUNOO LETTER YA
-172D HANUNOO LETTER RA
-172E HANUNOO LETTER LA
-172F HANUNOO LETTER WA
-1730 HANUNOO LETTER SA
-1731 HANUNOO LETTER HA
-1732 HANUNOO VOWEL SIGN I
-1733 HANUNOO VOWEL SIGN U
-1734 HANUNOO SIGN PAMUDPOD
-1735 PHILIPPINE SINGLE PUNCTUATION
-1736 PHILIPPINE DOUBLE PUNCTUATION
-1740 BUHID LETTER A
-1741 BUHID LETTER I
-1742 BUHID LETTER U
-1743 BUHID LETTER KA
-1744 BUHID LETTER GA
-1745 BUHID LETTER NGA
-1746 BUHID LETTER TA
-1747 BUHID LETTER DA
-1748 BUHID LETTER NA
-1749 BUHID LETTER PA
-174A BUHID LETTER BA
-174B BUHID LETTER MA
-174C BUHID LETTER YA
-174D BUHID LETTER RA
-174E BUHID LETTER LA
-174F BUHID LETTER WA
-1750 BUHID LETTER SA
-1751 BUHID LETTER HA
-1752 BUHID VOWEL SIGN I
-1753 BUHID VOWEL SIGN U
-1760 TAGBANWA LETTER A
-1761 TAGBANWA LETTER I
-1762 TAGBANWA LETTER U
-1763 TAGBANWA LETTER KA
-1764 TAGBANWA LETTER GA
-1765 TAGBANWA LETTER NGA
-1766 TAGBANWA LETTER TA
-1767 TAGBANWA LETTER DA
-1768 TAGBANWA LETTER NA
-1769 TAGBANWA LETTER PA
-176A TAGBANWA LETTER BA
-176B TAGBANWA LETTER MA
-176C TAGBANWA LETTER YA
-176E TAGBANWA LETTER LA
-176F TAGBANWA LETTER WA
-1770 TAGBANWA LETTER SA
-1772 TAGBANWA VOWEL SIGN I
-1773 TAGBANWA VOWEL SIGN U
-1780 KHMER LETTER KA
-1781 KHMER LETTER KHA
-1782 KHMER LETTER KO
-1783 KHMER LETTER KHO
-1784 KHMER LETTER NGO
-1785 KHMER LETTER CA
-1786 KHMER LETTER CHA
-1787 KHMER LETTER CO
-1788 KHMER LETTER CHO
-1789 KHMER LETTER NYO
-178A KHMER LETTER DA
-178B KHMER LETTER TTHA
-178C KHMER LETTER DO
-178D KHMER LETTER TTHO
-178E KHMER LETTER NNO
-178F KHMER LETTER TA
-1790 KHMER LETTER THA
-1791 KHMER LETTER TO
-1792 KHMER LETTER THO
-1793 KHMER LETTER NO
-1794 KHMER LETTER BA
-1795 KHMER LETTER PHA
-1796 KHMER LETTER PO
-1797 KHMER LETTER PHO
-1798 KHMER LETTER MO
-1799 KHMER LETTER YO
-179A KHMER LETTER RO
-179B KHMER LETTER LO
-179C KHMER LETTER VO
-179D KHMER LETTER SHA
-179E KHMER LETTER SSO
-179F KHMER LETTER SA
-17A0 KHMER LETTER HA
-17A1 KHMER LETTER LA
-17A2 KHMER LETTER QA
-17A3 KHMER INDEPENDENT VOWEL QAQ
-17A4 KHMER INDEPENDENT VOWEL QAA
-17A5 KHMER INDEPENDENT VOWEL QI
-17A6 KHMER INDEPENDENT VOWEL QII
-17A7 KHMER INDEPENDENT VOWEL QU
-17A8 KHMER INDEPENDENT VOWEL QUK
-17A9 KHMER INDEPENDENT VOWEL QUU
-17AA KHMER INDEPENDENT VOWEL QUUV
-17AB KHMER INDEPENDENT VOWEL RY
-17AC KHMER INDEPENDENT VOWEL RYY
-17AD KHMER INDEPENDENT VOWEL LY
-17AE KHMER INDEPENDENT VOWEL LYY
-17AF KHMER INDEPENDENT VOWEL QE
-17B0 KHMER INDEPENDENT VOWEL QAI
-17B1 KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2 KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3 KHMER INDEPENDENT VOWEL QAU
-17B4 KHMER VOWEL INHERENT AQ
-17B5 KHMER VOWEL INHERENT AA
-17B6 KHMER VOWEL SIGN AA
-17B7 KHMER VOWEL SIGN I
-17B8 KHMER VOWEL SIGN II
-17B9 KHMER VOWEL SIGN Y
-17BA KHMER VOWEL SIGN YY
-17BB KHMER VOWEL SIGN U
-17BC KHMER VOWEL SIGN UU
-17BD KHMER VOWEL SIGN UA
-17BE KHMER VOWEL SIGN OE
-17BF KHMER VOWEL SIGN YA
-17C0 KHMER VOWEL SIGN IE
-17C1 KHMER VOWEL SIGN E
-17C2 KHMER VOWEL SIGN AE
-17C3 KHMER VOWEL SIGN AI
-17C4 KHMER VOWEL SIGN OO
-17C5 KHMER VOWEL SIGN AU
-17C6 KHMER SIGN NIKAHIT
-17C7 KHMER SIGN REAHMUK
-17C8 KHMER SIGN YUUKALEAPINTU
-17C9 KHMER SIGN MUUSIKATOAN
-17CA KHMER SIGN TRIISAP
-17CB KHMER SIGN BANTOC
-17CC KHMER SIGN ROBAT
-17CD KHMER SIGN TOANDAKHIAT
-17CE KHMER SIGN KAKABAT
-17CF KHMER SIGN AHSDA
-17D0 KHMER SIGN SAMYOK SANNYA
-17D1 KHMER SIGN VIRIAM
-17D2 KHMER SIGN COENG
-17D3 KHMER SIGN BATHAMASAT
-17D4 KHMER SIGN KHAN
-17D5 KHMER SIGN BARIYOOSAN
-17D6 KHMER SIGN CAMNUC PII KUUH
-17D7 KHMER SIGN LEK TOO
-17D8 KHMER SIGN BEYYAL
-17D9 KHMER SIGN PHNAEK MUAN
-17DA KHMER SIGN KOOMUUT
-17DB KHMER CURRENCY SYMBOL RIEL
-17DC KHMER SIGN AVAKRAHASANYA
-17DD KHMER SIGN ATTHACAN
-17E0 KHMER DIGIT ZERO
-17E1 KHMER DIGIT ONE
-17E2 KHMER DIGIT TWO
-17E3 KHMER DIGIT THREE
-17E4 KHMER DIGIT FOUR
-17E5 KHMER DIGIT FIVE
-17E6 KHMER DIGIT SIX
-17E7 KHMER DIGIT SEVEN
-17E8 KHMER DIGIT EIGHT
-17E9 KHMER DIGIT NINE
-17F0 KHMER SYMBOL LEK ATTAK SON
-17F1 KHMER SYMBOL LEK ATTAK MUOY
-17F2 KHMER SYMBOL LEK ATTAK PII
-17F3 KHMER SYMBOL LEK ATTAK BEI
-17F4 KHMER SYMBOL LEK ATTAK BUON
-17F5 KHMER SYMBOL LEK ATTAK PRAM
-17F6 KHMER SYMBOL LEK ATTAK PRAM-MUOY
-17F7 KHMER SYMBOL LEK ATTAK PRAM-PII
-17F8 KHMER SYMBOL LEK ATTAK PRAM-BEI
-17F9 KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800 MONGOLIAN BIRGA
-1801 MONGOLIAN ELLIPSIS
-1802 MONGOLIAN COMMA
-1803 MONGOLIAN FULL STOP
-1804 MONGOLIAN COLON
-1805 MONGOLIAN FOUR DOTS
-1806 MONGOLIAN TODO SOFT HYPHEN
-1807 MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808 MONGOLIAN MANCHU COMMA
-1809 MONGOLIAN MANCHU FULL STOP
-180A MONGOLIAN NIRUGU
-180B MONGOLIAN FREE VARIATION SELECTOR ONE
-180C MONGOLIAN FREE VARIATION SELECTOR TWO
-180D MONGOLIAN FREE VARIATION SELECTOR THREE
-180E MONGOLIAN VOWEL SEPARATOR
-1810 MONGOLIAN DIGIT ZERO
-1811 MONGOLIAN DIGIT ONE
-1812 MONGOLIAN DIGIT TWO
-1813 MONGOLIAN DIGIT THREE
-1814 MONGOLIAN DIGIT FOUR
-1815 MONGOLIAN DIGIT FIVE
-1816 MONGOLIAN DIGIT SIX
-1817 MONGOLIAN DIGIT SEVEN
-1818 MONGOLIAN DIGIT EIGHT
-1819 MONGOLIAN DIGIT NINE
-1820 MONGOLIAN LETTER A
-1821 MONGOLIAN LETTER E
-1822 MONGOLIAN LETTER I
-1823 MONGOLIAN LETTER O
-1824 MONGOLIAN LETTER U
-1825 MONGOLIAN LETTER OE
-1826 MONGOLIAN LETTER UE
-1827 MONGOLIAN LETTER EE
-1828 MONGOLIAN LETTER NA
-1829 MONGOLIAN LETTER ANG
-182A MONGOLIAN LETTER BA
-182B MONGOLIAN LETTER PA
-182C MONGOLIAN LETTER QA
-182D MONGOLIAN LETTER GA
-182E MONGOLIAN LETTER MA
-182F MONGOLIAN LETTER LA
-1830 MONGOLIAN LETTER SA
-1831 MONGOLIAN LETTER SHA
-1832 MONGOLIAN LETTER TA
-1833 MONGOLIAN LETTER DA
-1834 MONGOLIAN LETTER CHA
-1835 MONGOLIAN LETTER JA
-1836 MONGOLIAN LETTER YA
-1837 MONGOLIAN LETTER RA
-1838 MONGOLIAN LETTER WA
-1839 MONGOLIAN LETTER FA
-183A MONGOLIAN LETTER KA
-183B MONGOLIAN LETTER KHA
-183C MONGOLIAN LETTER TSA
-183D MONGOLIAN LETTER ZA
-183E MONGOLIAN LETTER HAA
-183F MONGOLIAN LETTER ZRA
-1840 MONGOLIAN LETTER LHA
-1841 MONGOLIAN LETTER ZHI
-1842 MONGOLIAN LETTER CHI
-1843 MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844 MONGOLIAN LETTER TODO E
-1845 MONGOLIAN LETTER TODO I
-1846 MONGOLIAN LETTER TODO O
-1847 MONGOLIAN LETTER TODO U
-1848 MONGOLIAN LETTER TODO OE
-1849 MONGOLIAN LETTER TODO UE
-184A MONGOLIAN LETTER TODO ANG
-184B MONGOLIAN LETTER TODO BA
-184C MONGOLIAN LETTER TODO PA
-184D MONGOLIAN LETTER TODO QA
-184E MONGOLIAN LETTER TODO GA
-184F MONGOLIAN LETTER TODO MA
-1850 MONGOLIAN LETTER TODO TA
-1851 MONGOLIAN LETTER TODO DA
-1852 MONGOLIAN LETTER TODO CHA
-1853 MONGOLIAN LETTER TODO JA
-1854 MONGOLIAN LETTER TODO TSA
-1855 MONGOLIAN LETTER TODO YA
-1856 MONGOLIAN LETTER TODO WA
-1857 MONGOLIAN LETTER TODO KA
-1858 MONGOLIAN LETTER TODO GAA
-1859 MONGOLIAN LETTER TODO HAA
-185A MONGOLIAN LETTER TODO JIA
-185B MONGOLIAN LETTER TODO NIA
-185C MONGOLIAN LETTER TODO DZA
-185D MONGOLIAN LETTER SIBE E
-185E MONGOLIAN LETTER SIBE I
-185F MONGOLIAN LETTER SIBE IY
-1860 MONGOLIAN LETTER SIBE UE
-1861 MONGOLIAN LETTER SIBE U
-1862 MONGOLIAN LETTER SIBE ANG
-1863 MONGOLIAN LETTER SIBE KA
-1864 MONGOLIAN LETTER SIBE GA
-1865 MONGOLIAN LETTER SIBE HA
-1866 MONGOLIAN LETTER SIBE PA
-1867 MONGOLIAN LETTER SIBE SHA
-1868 MONGOLIAN LETTER SIBE TA
-1869 MONGOLIAN LETTER SIBE DA
-186A MONGOLIAN LETTER SIBE JA
-186B MONGOLIAN LETTER SIBE FA
-186C MONGOLIAN LETTER SIBE GAA
-186D MONGOLIAN LETTER SIBE HAA
-186E MONGOLIAN LETTER SIBE TSA
-186F MONGOLIAN LETTER SIBE ZA
-1870 MONGOLIAN LETTER SIBE RAA
-1871 MONGOLIAN LETTER SIBE CHA
-1872 MONGOLIAN LETTER SIBE ZHA
-1873 MONGOLIAN LETTER MANCHU I
-1874 MONGOLIAN LETTER MANCHU KA
-1875 MONGOLIAN LETTER MANCHU RA
-1876 MONGOLIAN LETTER MANCHU FA
-1877 MONGOLIAN LETTER MANCHU ZHA
-1880 MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881 MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882 MONGOLIAN LETTER ALI GALI DAMARU
-1883 MONGOLIAN LETTER ALI GALI UBADAMA
-1884 MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885 MONGOLIAN LETTER ALI GALI BALUDA
-1886 MONGOLIAN LETTER ALI GALI THREE BALUDA
-1887 MONGOLIAN LETTER ALI GALI A
-1888 MONGOLIAN LETTER ALI GALI I
-1889 MONGOLIAN LETTER ALI GALI KA
-188A MONGOLIAN LETTER ALI GALI NGA
-188B MONGOLIAN LETTER ALI GALI CA
-188C MONGOLIAN LETTER ALI GALI TTA
-188D MONGOLIAN LETTER ALI GALI TTHA
-188E MONGOLIAN LETTER ALI GALI DDA
-188F MONGOLIAN LETTER ALI GALI NNA
-1890 MONGOLIAN LETTER ALI GALI TA
-1891 MONGOLIAN LETTER ALI GALI DA
-1892 MONGOLIAN LETTER ALI GALI PA
-1893 MONGOLIAN LETTER ALI GALI PHA
-1894 MONGOLIAN LETTER ALI GALI SSA
-1895 MONGOLIAN LETTER ALI GALI ZHA
-1896 MONGOLIAN LETTER ALI GALI ZA
-1897 MONGOLIAN LETTER ALI GALI AH
-1898 MONGOLIAN LETTER TODO ALI GALI TA
-1899 MONGOLIAN LETTER TODO ALI GALI ZHA
-189A MONGOLIAN LETTER MANCHU ALI GALI GHA
-189B MONGOLIAN LETTER MANCHU ALI GALI NGA
-189C MONGOLIAN LETTER MANCHU ALI GALI CA
-189D MONGOLIAN LETTER MANCHU ALI GALI JHA
-189E MONGOLIAN LETTER MANCHU ALI GALI TTA
-189F MONGOLIAN LETTER MANCHU ALI GALI DDHA
-18A0 MONGOLIAN LETTER MANCHU ALI GALI TA
-18A1 MONGOLIAN LETTER MANCHU ALI GALI DHA
-18A2 MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A3 MONGOLIAN LETTER MANCHU ALI GALI CYA
-18A4 MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5 MONGOLIAN LETTER MANCHU ALI GALI ZA
-18A6 MONGOLIAN LETTER ALI GALI HALF U
-18A7 MONGOLIAN LETTER ALI GALI HALF YA
-18A8 MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 MONGOLIAN LETTER ALI GALI DAGALGA
-18AA MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0 CANADIAN SYLLABICS OY
-18B1 CANADIAN SYLLABICS AY
-18B2 CANADIAN SYLLABICS AAY
-18B3 CANADIAN SYLLABICS WAY
-18B4 CANADIAN SYLLABICS POY
-18B5 CANADIAN SYLLABICS PAY
-18B6 CANADIAN SYLLABICS PWOY
-18B7 CANADIAN SYLLABICS TAY
-18B8 CANADIAN SYLLABICS KAY
-18B9 CANADIAN SYLLABICS KWAY
-18BA CANADIAN SYLLABICS MAY
-18BB CANADIAN SYLLABICS NOY
-18BC CANADIAN SYLLABICS NAY
-18BD CANADIAN SYLLABICS LAY
-18BE CANADIAN SYLLABICS SOY
-18BF CANADIAN SYLLABICS SAY
-18C0 CANADIAN SYLLABICS SHOY
-18C1 CANADIAN SYLLABICS SHAY
-18C2 CANADIAN SYLLABICS SHWOY
-18C3 CANADIAN SYLLABICS YOY
-18C4 CANADIAN SYLLABICS YAY
-18C5 CANADIAN SYLLABICS RAY
-18C6 CANADIAN SYLLABICS NWI
-18C7 CANADIAN SYLLABICS OJIBWAY NWI
-18C8 CANADIAN SYLLABICS NWII
-18C9 CANADIAN SYLLABICS OJIBWAY NWII
-18CA CANADIAN SYLLABICS NWO
-18CB CANADIAN SYLLABICS OJIBWAY NWO
-18CC CANADIAN SYLLABICS NWOO
-18CD CANADIAN SYLLABICS OJIBWAY NWOO
-18CE CANADIAN SYLLABICS RWEE
-18CF CANADIAN SYLLABICS RWI
-18D0 CANADIAN SYLLABICS RWII
-18D1 CANADIAN SYLLABICS RWO
-18D2 CANADIAN SYLLABICS RWOO
-18D3 CANADIAN SYLLABICS RWA
-18D4 CANADIAN SYLLABICS OJIBWAY P
-18D5 CANADIAN SYLLABICS OJIBWAY T
-18D6 CANADIAN SYLLABICS OJIBWAY K
-18D7 CANADIAN SYLLABICS OJIBWAY C
-18D8 CANADIAN SYLLABICS OJIBWAY M
-18D9 CANADIAN SYLLABICS OJIBWAY N
-18DA CANADIAN SYLLABICS OJIBWAY S
-18DB CANADIAN SYLLABICS OJIBWAY SH
-18DC CANADIAN SYLLABICS EASTERN W
-18DD CANADIAN SYLLABICS WESTERN W
-18DE CANADIAN SYLLABICS FINAL SMALL RING
-18DF CANADIAN SYLLABICS FINAL RAISED DOT
-18E0 CANADIAN SYLLABICS R-CREE RWE
-18E1 CANADIAN SYLLABICS WEST-CREE LOO
-18E2 CANADIAN SYLLABICS WEST-CREE LAA
-18E3 CANADIAN SYLLABICS THWE
-18E4 CANADIAN SYLLABICS THWA
-18E5 CANADIAN SYLLABICS TTHWE
-18E6 CANADIAN SYLLABICS TTHOO
-18E7 CANADIAN SYLLABICS TTHAA
-18E8 CANADIAN SYLLABICS TLHWE
-18E9 CANADIAN SYLLABICS TLHOO
-18EA CANADIAN SYLLABICS SAYISI SHWE
-18EB CANADIAN SYLLABICS SAYISI SHOO
-18EC CANADIAN SYLLABICS SAYISI HOO
-18ED CANADIAN SYLLABICS CARRIER GWU
-18EE CANADIAN SYLLABICS CARRIER DENE GEE
-18EF CANADIAN SYLLABICS CARRIER GAA
-18F0 CANADIAN SYLLABICS CARRIER GWA
-18F1 CANADIAN SYLLABICS SAYISI JUU
-18F2 CANADIAN SYLLABICS CARRIER JWA
-18F3 CANADIAN SYLLABICS BEAVER DENE L
-18F4 CANADIAN SYLLABICS BEAVER DENE R
-18F5 CANADIAN SYLLABICS CARRIER DENTAL S
-1900 LIMBU VOWEL-CARRIER LETTER
-1901 LIMBU LETTER KA
-1902 LIMBU LETTER KHA
-1903 LIMBU LETTER GA
-1904 LIMBU LETTER GHA
-1905 LIMBU LETTER NGA
-1906 LIMBU LETTER CA
-1907 LIMBU LETTER CHA
-1908 LIMBU LETTER JA
-1909 LIMBU LETTER JHA
-190A LIMBU LETTER YAN
-190B LIMBU LETTER TA
-190C LIMBU LETTER THA
-190D LIMBU LETTER DA
-190E LIMBU LETTER DHA
-190F LIMBU LETTER NA
-1910 LIMBU LETTER PA
-1911 LIMBU LETTER PHA
-1912 LIMBU LETTER BA
-1913 LIMBU LETTER BHA
-1914 LIMBU LETTER MA
-1915 LIMBU LETTER YA
-1916 LIMBU LETTER RA
-1917 LIMBU LETTER LA
-1918 LIMBU LETTER WA
-1919 LIMBU LETTER SHA
-191A LIMBU LETTER SSA
-191B LIMBU LETTER SA
-191C LIMBU LETTER HA
-1920 LIMBU VOWEL SIGN A
-1921 LIMBU VOWEL SIGN I
-1922 LIMBU VOWEL SIGN U
-1923 LIMBU VOWEL SIGN EE
-1924 LIMBU VOWEL SIGN AI
-1925 LIMBU VOWEL SIGN OO
-1926 LIMBU VOWEL SIGN AU
-1927 LIMBU VOWEL SIGN E
-1928 LIMBU VOWEL SIGN O
-1929 LIMBU SUBJOINED LETTER YA
-192A LIMBU SUBJOINED LETTER RA
-192B LIMBU SUBJOINED LETTER WA
-1930 LIMBU SMALL LETTER KA
-1931 LIMBU SMALL LETTER NGA
-1932 LIMBU SMALL LETTER ANUSVARA
-1933 LIMBU SMALL LETTER TA
-1934 LIMBU SMALL LETTER NA
-1935 LIMBU SMALL LETTER PA
-1936 LIMBU SMALL LETTER MA
-1937 LIMBU SMALL LETTER RA
-1938 LIMBU SMALL LETTER LA
-1939 LIMBU SIGN MUKPHRENG
-193A LIMBU SIGN KEMPHRENG
-193B LIMBU SIGN SA-I
-1940 LIMBU SIGN LOO
-1944 LIMBU EXCLAMATION MARK
-1945 LIMBU QUESTION MARK
-1946 LIMBU DIGIT ZERO
-1947 LIMBU DIGIT ONE
-1948 LIMBU DIGIT TWO
-1949 LIMBU DIGIT THREE
-194A LIMBU DIGIT FOUR
-194B LIMBU DIGIT FIVE
-194C LIMBU DIGIT SIX
-194D LIMBU DIGIT SEVEN
-194E LIMBU DIGIT EIGHT
-194F LIMBU DIGIT NINE
-1950 TAI LE LETTER KA
-1951 TAI LE LETTER XA
-1952 TAI LE LETTER NGA
-1953 TAI LE LETTER TSA
-1954 TAI LE LETTER SA
-1955 TAI LE LETTER YA
-1956 TAI LE LETTER TA
-1957 TAI LE LETTER THA
-1958 TAI LE LETTER LA
-1959 TAI LE LETTER PA
-195A TAI LE LETTER PHA
-195B TAI LE LETTER MA
-195C TAI LE LETTER FA
-195D TAI LE LETTER VA
-195E TAI LE LETTER HA
-195F TAI LE LETTER QA
-1960 TAI LE LETTER KHA
-1961 TAI LE LETTER TSHA
-1962 TAI LE LETTER NA
-1963 TAI LE LETTER A
-1964 TAI LE LETTER I
-1965 TAI LE LETTER EE
-1966 TAI LE LETTER EH
-1967 TAI LE LETTER U
-1968 TAI LE LETTER OO
-1969 TAI LE LETTER O
-196A TAI LE LETTER UE
-196B TAI LE LETTER E
-196C TAI LE LETTER AUE
-196D TAI LE LETTER AI
-1970 TAI LE LETTER TONE-2
-1971 TAI LE LETTER TONE-3
-1972 TAI LE LETTER TONE-4
-1973 TAI LE LETTER TONE-5
-1974 TAI LE LETTER TONE-6
-1980 NEW TAI LUE LETTER HIGH QA
-1981 NEW TAI LUE LETTER LOW QA
-1982 NEW TAI LUE LETTER HIGH KA
-1983 NEW TAI LUE LETTER HIGH XA
-1984 NEW TAI LUE LETTER HIGH NGA
-1985 NEW TAI LUE LETTER LOW KA
-1986 NEW TAI LUE LETTER LOW XA
-1987 NEW TAI LUE LETTER LOW NGA
-1988 NEW TAI LUE LETTER HIGH TSA
-1989 NEW TAI LUE LETTER HIGH SA
-198A NEW TAI LUE LETTER HIGH YA
-198B NEW TAI LUE LETTER LOW TSA
-198C NEW TAI LUE LETTER LOW SA
-198D NEW TAI LUE LETTER LOW YA
-198E NEW TAI LUE LETTER HIGH TA
-198F NEW TAI LUE LETTER HIGH THA
-1990 NEW TAI LUE LETTER HIGH NA
-1991 NEW TAI LUE LETTER LOW TA
-1992 NEW TAI LUE LETTER LOW THA
-1993 NEW TAI LUE LETTER LOW NA
-1994 NEW TAI LUE LETTER HIGH PA
-1995 NEW TAI LUE LETTER HIGH PHA
-1996 NEW TAI LUE LETTER HIGH MA
-1997 NEW TAI LUE LETTER LOW PA
-1998 NEW TAI LUE LETTER LOW PHA
-1999 NEW TAI LUE LETTER LOW MA
-199A NEW TAI LUE LETTER HIGH FA
-199B NEW TAI LUE LETTER HIGH VA
-199C NEW TAI LUE LETTER HIGH LA
-199D NEW TAI LUE LETTER LOW FA
-199E NEW TAI LUE LETTER LOW VA
-199F NEW TAI LUE LETTER LOW LA
-19A0 NEW TAI LUE LETTER HIGH HA
-19A1 NEW TAI LUE LETTER HIGH DA
-19A2 NEW TAI LUE LETTER HIGH BA
-19A3 NEW TAI LUE LETTER LOW HA
-19A4 NEW TAI LUE LETTER LOW DA
-19A5 NEW TAI LUE LETTER LOW BA
-19A6 NEW TAI LUE LETTER HIGH KVA
-19A7 NEW TAI LUE LETTER HIGH XVA
-19A8 NEW TAI LUE LETTER LOW KVA
-19A9 NEW TAI LUE LETTER LOW XVA
-19AA NEW TAI LUE LETTER HIGH SUA
-19AB NEW TAI LUE LETTER LOW SUA
-19B0 NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1 NEW TAI LUE VOWEL SIGN AA
-19B2 NEW TAI LUE VOWEL SIGN II
-19B3 NEW TAI LUE VOWEL SIGN U
-19B4 NEW TAI LUE VOWEL SIGN UU
-19B5 NEW TAI LUE VOWEL SIGN E
-19B6 NEW TAI LUE VOWEL SIGN AE
-19B7 NEW TAI LUE VOWEL SIGN O
-19B8 NEW TAI LUE VOWEL SIGN OA
-19B9 NEW TAI LUE VOWEL SIGN UE
-19BA NEW TAI LUE VOWEL SIGN AY
-19BB NEW TAI LUE VOWEL SIGN AAY
-19BC NEW TAI LUE VOWEL SIGN UY
-19BD NEW TAI LUE VOWEL SIGN OY
-19BE NEW TAI LUE VOWEL SIGN OAY
-19BF NEW TAI LUE VOWEL SIGN UEY
-19C0 NEW TAI LUE VOWEL SIGN IY
-19C1 NEW TAI LUE LETTER FINAL V
-19C2 NEW TAI LUE LETTER FINAL NG
-19C3 NEW TAI LUE LETTER FINAL N
-19C4 NEW TAI LUE LETTER FINAL M
-19C5 NEW TAI LUE LETTER FINAL K
-19C6 NEW TAI LUE LETTER FINAL D
-19C7 NEW TAI LUE LETTER FINAL B
-19C8 NEW TAI LUE TONE MARK-1
-19C9 NEW TAI LUE TONE MARK-2
-19D0 NEW TAI LUE DIGIT ZERO
-19D1 NEW TAI LUE DIGIT ONE
-19D2 NEW TAI LUE DIGIT TWO
-19D3 NEW TAI LUE DIGIT THREE
-19D4 NEW TAI LUE DIGIT FOUR
-19D5 NEW TAI LUE DIGIT FIVE
-19D6 NEW TAI LUE DIGIT SIX
-19D7 NEW TAI LUE DIGIT SEVEN
-19D8 NEW TAI LUE DIGIT EIGHT
-19D9 NEW TAI LUE DIGIT NINE
-19DA NEW TAI LUE THAM DIGIT ONE
-19DE NEW TAI LUE SIGN LAE
-19DF NEW TAI LUE SIGN LAEV
-19E0 KHMER SYMBOL PATHAMASAT
-19E1 KHMER SYMBOL MUOY KOET
-19E2 KHMER SYMBOL PII KOET
-19E3 KHMER SYMBOL BEI KOET
-19E4 KHMER SYMBOL BUON KOET
-19E5 KHMER SYMBOL PRAM KOET
-19E6 KHMER SYMBOL PRAM-MUOY KOET
-19E7 KHMER SYMBOL PRAM-PII KOET
-19E8 KHMER SYMBOL PRAM-BEI KOET
-19E9 KHMER SYMBOL PRAM-BUON KOET
-19EA KHMER SYMBOL DAP KOET
-19EB KHMER SYMBOL DAP-MUOY KOET
-19EC KHMER SYMBOL DAP-PII KOET
-19ED KHMER SYMBOL DAP-BEI KOET
-19EE KHMER SYMBOL DAP-BUON KOET
-19EF KHMER SYMBOL DAP-PRAM KOET
-19F0 KHMER SYMBOL TUTEYASAT
-19F1 KHMER SYMBOL MUOY ROC
-19F2 KHMER SYMBOL PII ROC
-19F3 KHMER SYMBOL BEI ROC
-19F4 KHMER SYMBOL BUON ROC
-19F5 KHMER SYMBOL PRAM ROC
-19F6 KHMER SYMBOL PRAM-MUOY ROC
-19F7 KHMER SYMBOL PRAM-PII ROC
-19F8 KHMER SYMBOL PRAM-BEI ROC
-19F9 KHMER SYMBOL PRAM-BUON ROC
-19FA KHMER SYMBOL DAP ROC
-19FB KHMER SYMBOL DAP-MUOY ROC
-19FC KHMER SYMBOL DAP-PII ROC
-19FD KHMER SYMBOL DAP-BEI ROC
-19FE KHMER SYMBOL DAP-BUON ROC
-19FF KHMER SYMBOL DAP-PRAM ROC
-1A00 BUGINESE LETTER KA
-1A01 BUGINESE LETTER GA
-1A02 BUGINESE LETTER NGA
-1A03 BUGINESE LETTER NGKA
-1A04 BUGINESE LETTER PA
-1A05 BUGINESE LETTER BA
-1A06 BUGINESE LETTER MA
-1A07 BUGINESE LETTER MPA
-1A08 BUGINESE LETTER TA
-1A09 BUGINESE LETTER DA
-1A0A BUGINESE LETTER NA
-1A0B BUGINESE LETTER NRA
-1A0C BUGINESE LETTER CA
-1A0D BUGINESE LETTER JA
-1A0E BUGINESE LETTER NYA
-1A0F BUGINESE LETTER NYCA
-1A10 BUGINESE LETTER YA
-1A11 BUGINESE LETTER RA
-1A12 BUGINESE LETTER LA
-1A13 BUGINESE LETTER VA
-1A14 BUGINESE LETTER SA
-1A15 BUGINESE LETTER A
-1A16 BUGINESE LETTER HA
-1A17 BUGINESE VOWEL SIGN I
-1A18 BUGINESE VOWEL SIGN U
-1A19 BUGINESE VOWEL SIGN E
-1A1A BUGINESE VOWEL SIGN O
-1A1B BUGINESE VOWEL SIGN AE
-1A1E BUGINESE PALLAWA
-1A1F BUGINESE END OF SECTION
-1A20 TAI THAM LETTER HIGH KA
-1A21 TAI THAM LETTER HIGH KHA
-1A22 TAI THAM LETTER HIGH KXA
-1A23 TAI THAM LETTER LOW KA
-1A24 TAI THAM LETTER LOW KXA
-1A25 TAI THAM LETTER LOW KHA
-1A26 TAI THAM LETTER NGA
-1A27 TAI THAM LETTER HIGH CA
-1A28 TAI THAM LETTER HIGH CHA
-1A29 TAI THAM LETTER LOW CA
-1A2A TAI THAM LETTER LOW SA
-1A2B TAI THAM LETTER LOW CHA
-1A2C TAI THAM LETTER NYA
-1A2D TAI THAM LETTER RATA
-1A2E TAI THAM LETTER HIGH RATHA
-1A2F TAI THAM LETTER DA
-1A30 TAI THAM LETTER LOW RATHA
-1A31 TAI THAM LETTER RANA
-1A32 TAI THAM LETTER HIGH TA
-1A33 TAI THAM LETTER HIGH THA
-1A34 TAI THAM LETTER LOW TA
-1A35 TAI THAM LETTER LOW THA
-1A36 TAI THAM LETTER NA
-1A37 TAI THAM LETTER BA
-1A38 TAI THAM LETTER HIGH PA
-1A39 TAI THAM LETTER HIGH PHA
-1A3A TAI THAM LETTER HIGH FA
-1A3B TAI THAM LETTER LOW PA
-1A3C TAI THAM LETTER LOW FA
-1A3D TAI THAM LETTER LOW PHA
-1A3E TAI THAM LETTER MA
-1A3F TAI THAM LETTER LOW YA
-1A40 TAI THAM LETTER HIGH YA
-1A41 TAI THAM LETTER RA
-1A42 TAI THAM LETTER RUE
-1A43 TAI THAM LETTER LA
-1A44 TAI THAM LETTER LUE
-1A45 TAI THAM LETTER WA
-1A46 TAI THAM LETTER HIGH SHA
-1A47 TAI THAM LETTER HIGH SSA
-1A48 TAI THAM LETTER HIGH SA
-1A49 TAI THAM LETTER HIGH HA
-1A4A TAI THAM LETTER LLA
-1A4B TAI THAM LETTER A
-1A4C TAI THAM LETTER LOW HA
-1A4D TAI THAM LETTER I
-1A4E TAI THAM LETTER II
-1A4F TAI THAM LETTER U
-1A50 TAI THAM LETTER UU
-1A51 TAI THAM LETTER EE
-1A52 TAI THAM LETTER OO
-1A53 TAI THAM LETTER LAE
-1A54 TAI THAM LETTER GREAT SA
-1A55 TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 TAI THAM CONSONANT SIGN LA TANG LAI
-1A58 TAI THAM SIGN MAI KANG LAI
-1A59 TAI THAM CONSONANT SIGN FINAL NGA
-1A5A TAI THAM CONSONANT SIGN LOW PA
-1A5B TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-1A5C TAI THAM CONSONANT SIGN MA
-1A5D TAI THAM CONSONANT SIGN BA
-1A5E TAI THAM CONSONANT SIGN SA
-1A60 TAI THAM SIGN SAKOT
-1A61 TAI THAM VOWEL SIGN A
-1A62 TAI THAM VOWEL SIGN MAI SAT
-1A63 TAI THAM VOWEL SIGN AA
-1A64 TAI THAM VOWEL SIGN TALL AA
-1A65 TAI THAM VOWEL SIGN I
-1A66 TAI THAM VOWEL SIGN II
-1A67 TAI THAM VOWEL SIGN UE
-1A68 TAI THAM VOWEL SIGN UUE
-1A69 TAI THAM VOWEL SIGN U
-1A6A TAI THAM VOWEL SIGN UU
-1A6B TAI THAM VOWEL SIGN O
-1A6C TAI THAM VOWEL SIGN OA BELOW
-1A6D TAI THAM VOWEL SIGN OY
-1A6E TAI THAM VOWEL SIGN E
-1A6F TAI THAM VOWEL SIGN AE
-1A70 TAI THAM VOWEL SIGN OO
-1A71 TAI THAM VOWEL SIGN AI
-1A72 TAI THAM VOWEL SIGN THAM AI
-1A73 TAI THAM VOWEL SIGN OA ABOVE
-1A74 TAI THAM SIGN MAI KANG
-1A75 TAI THAM SIGN TONE-1
-1A76 TAI THAM SIGN TONE-2
-1A77 TAI THAM SIGN KHUEN TONE-3
-1A78 TAI THAM SIGN KHUEN TONE-4
-1A79 TAI THAM SIGN KHUEN TONE-5
-1A7A TAI THAM SIGN RA HAAM
-1A7B TAI THAM SIGN MAI SAM
-1A7C TAI THAM SIGN KHUEN-LUE KARAN
-1A7F TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80 TAI THAM HORA DIGIT ZERO
-1A81 TAI THAM HORA DIGIT ONE
-1A82 TAI THAM HORA DIGIT TWO
-1A83 TAI THAM HORA DIGIT THREE
-1A84 TAI THAM HORA DIGIT FOUR
-1A85 TAI THAM HORA DIGIT FIVE
-1A86 TAI THAM HORA DIGIT SIX
-1A87 TAI THAM HORA DIGIT SEVEN
-1A88 TAI THAM HORA DIGIT EIGHT
-1A89 TAI THAM HORA DIGIT NINE
-1A90 TAI THAM THAM DIGIT ZERO
-1A91 TAI THAM THAM DIGIT ONE
-1A92 TAI THAM THAM DIGIT TWO
-1A93 TAI THAM THAM DIGIT THREE
-1A94 TAI THAM THAM DIGIT FOUR
-1A95 TAI THAM THAM DIGIT FIVE
-1A96 TAI THAM THAM DIGIT SIX
-1A97 TAI THAM THAM DIGIT SEVEN
-1A98 TAI THAM THAM DIGIT EIGHT
-1A99 TAI THAM THAM DIGIT NINE
-1AA0 TAI THAM SIGN WIANG
-1AA1 TAI THAM SIGN WIANGWAAK
-1AA2 TAI THAM SIGN SAWAN
-1AA3 TAI THAM SIGN KEOW
-1AA4 TAI THAM SIGN HOY
-1AA5 TAI THAM SIGN DOKMAI
-1AA6 TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 TAI THAM SIGN MAI YAMOK
-1AA8 TAI THAM SIGN KAAN
-1AA9 TAI THAM SIGN KAANKUU
-1AAA TAI THAM SIGN SATKAAN
-1AAB TAI THAM SIGN SATKAANKUU
-1AAC TAI THAM SIGN HANG
-1AAD TAI THAM SIGN CAANG
-1B00 BALINESE SIGN ULU RICEM
-1B01 BALINESE SIGN ULU CANDRA
-1B02 BALINESE SIGN CECEK
-1B03 BALINESE SIGN SURANG
-1B04 BALINESE SIGN BISAH
-1B05 BALINESE LETTER AKARA
-1B06 BALINESE LETTER AKARA TEDUNG
-1B07 BALINESE LETTER IKARA
-1B08 BALINESE LETTER IKARA TEDUNG
-1B09 BALINESE LETTER UKARA
-1B0A BALINESE LETTER UKARA TEDUNG
-1B0B BALINESE LETTER RA REPA
-1B0C BALINESE LETTER RA REPA TEDUNG
-1B0D BALINESE LETTER LA LENGA
-1B0E BALINESE LETTER LA LENGA TEDUNG
-1B0F BALINESE LETTER EKARA
-1B10 BALINESE LETTER AIKARA
-1B11 BALINESE LETTER OKARA
-1B12 BALINESE LETTER OKARA TEDUNG
-1B13 BALINESE LETTER KA
-1B14 BALINESE LETTER KA MAHAPRANA
-1B15 BALINESE LETTER GA
-1B16 BALINESE LETTER GA GORA
-1B17 BALINESE LETTER NGA
-1B18 BALINESE LETTER CA
-1B19 BALINESE LETTER CA LACA
-1B1A BALINESE LETTER JA
-1B1B BALINESE LETTER JA JERA
-1B1C BALINESE LETTER NYA
-1B1D BALINESE LETTER TA LATIK
-1B1E BALINESE LETTER TA MURDA MAHAPRANA
-1B1F BALINESE LETTER DA MURDA ALPAPRANA
-1B20 BALINESE LETTER DA MURDA MAHAPRANA
-1B21 BALINESE LETTER NA RAMBAT
-1B22 BALINESE LETTER TA
-1B23 BALINESE LETTER TA TAWA
-1B24 BALINESE LETTER DA
-1B25 BALINESE LETTER DA MADU
-1B26 BALINESE LETTER NA
-1B27 BALINESE LETTER PA
-1B28 BALINESE LETTER PA KAPAL
-1B29 BALINESE LETTER BA
-1B2A BALINESE LETTER BA KEMBANG
-1B2B BALINESE LETTER MA
-1B2C BALINESE LETTER YA
-1B2D BALINESE LETTER RA
-1B2E BALINESE LETTER LA
-1B2F BALINESE LETTER WA
-1B30 BALINESE LETTER SA SAGA
-1B31 BALINESE LETTER SA SAPA
-1B32 BALINESE LETTER SA
-1B33 BALINESE LETTER HA
-1B34 BALINESE SIGN REREKAN
-1B35 BALINESE VOWEL SIGN TEDUNG
-1B36 BALINESE VOWEL SIGN ULU
-1B37 BALINESE VOWEL SIGN ULU SARI
-1B38 BALINESE VOWEL SIGN SUKU
-1B39 BALINESE VOWEL SIGN SUKU ILUT
-1B3A BALINESE VOWEL SIGN RA REPA
-1B3B BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C BALINESE VOWEL SIGN LA LENGA
-1B3D BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E BALINESE VOWEL SIGN TALING
-1B3F BALINESE VOWEL SIGN TALING REPA
-1B40 BALINESE VOWEL SIGN TALING TEDUNG
-1B41 BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 BALINESE VOWEL SIGN PEPET
-1B43 BALINESE VOWEL SIGN PEPET TEDUNG
-1B44 BALINESE ADEG ADEG
-1B45 BALINESE LETTER KAF SASAK
-1B46 BALINESE LETTER KHOT SASAK
-1B47 BALINESE LETTER TZIR SASAK
-1B48 BALINESE LETTER EF SASAK
-1B49 BALINESE LETTER VE SASAK
-1B4A BALINESE LETTER ZAL SASAK
-1B4B BALINESE LETTER ASYURA SASAK
-1B50 BALINESE DIGIT ZERO
-1B51 BALINESE DIGIT ONE
-1B52 BALINESE DIGIT TWO
-1B53 BALINESE DIGIT THREE
-1B54 BALINESE DIGIT FOUR
-1B55 BALINESE DIGIT FIVE
-1B56 BALINESE DIGIT SIX
-1B57 BALINESE DIGIT SEVEN
-1B58 BALINESE DIGIT EIGHT
-1B59 BALINESE DIGIT NINE
-1B5A BALINESE PANTI
-1B5B BALINESE PAMADA
-1B5C BALINESE WINDU
-1B5D BALINESE CARIK PAMUNGKAH
-1B5E BALINESE CARIK SIKI
-1B5F BALINESE CARIK PAREREN
-1B60 BALINESE PAMENENG
-1B61 BALINESE MUSICAL SYMBOL DONG
-1B62 BALINESE MUSICAL SYMBOL DENG
-1B63 BALINESE MUSICAL SYMBOL DUNG
-1B64 BALINESE MUSICAL SYMBOL DANG
-1B65 BALINESE MUSICAL SYMBOL DANG SURANG
-1B66 BALINESE MUSICAL SYMBOL DING
-1B67 BALINESE MUSICAL SYMBOL DAENG
-1B68 BALINESE MUSICAL SYMBOL DEUNG
-1B69 BALINESE MUSICAL SYMBOL DAING
-1B6A BALINESE MUSICAL SYMBOL DANG GEDE
-1B6B BALINESE MUSICAL SYMBOL COMBINING TEGEH
-1B6C BALINESE MUSICAL SYMBOL COMBINING ENDEP
-1B6D BALINESE MUSICAL SYMBOL COMBINING KEMPUL
-1B6E BALINESE MUSICAL SYMBOL COMBINING KEMPLI
-1B6F BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
-1B70 BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
-1B71 BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
-1B72 BALINESE MUSICAL SYMBOL COMBINING BENDE
-1B73 BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76 BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77 BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78 BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79 BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B80 SUNDANESE SIGN PANYECEK
-1B81 SUNDANESE SIGN PANGLAYAR
-1B82 SUNDANESE SIGN PANGWISAD
-1B83 SUNDANESE LETTER A
-1B84 SUNDANESE LETTER I
-1B85 SUNDANESE LETTER U
-1B86 SUNDANESE LETTER AE
-1B87 SUNDANESE LETTER O
-1B88 SUNDANESE LETTER E
-1B89 SUNDANESE LETTER EU
-1B8A SUNDANESE LETTER KA
-1B8B SUNDANESE LETTER QA
-1B8C SUNDANESE LETTER GA
-1B8D SUNDANESE LETTER NGA
-1B8E SUNDANESE LETTER CA
-1B8F SUNDANESE LETTER JA
-1B90 SUNDANESE LETTER ZA
-1B91 SUNDANESE LETTER NYA
-1B92 SUNDANESE LETTER TA
-1B93 SUNDANESE LETTER DA
-1B94 SUNDANESE LETTER NA
-1B95 SUNDANESE LETTER PA
-1B96 SUNDANESE LETTER FA
-1B97 SUNDANESE LETTER VA
-1B98 SUNDANESE LETTER BA
-1B99 SUNDANESE LETTER MA
-1B9A SUNDANESE LETTER YA
-1B9B SUNDANESE LETTER RA
-1B9C SUNDANESE LETTER LA
-1B9D SUNDANESE LETTER WA
-1B9E SUNDANESE LETTER SA
-1B9F SUNDANESE LETTER XA
-1BA0 SUNDANESE LETTER HA
-1BA1 SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2 SUNDANESE CONSONANT SIGN PANYAKRA
-1BA3 SUNDANESE CONSONANT SIGN PANYIKU
-1BA4 SUNDANESE VOWEL SIGN PANGHULU
-1BA5 SUNDANESE VOWEL SIGN PANYUKU
-1BA6 SUNDANESE VOWEL SIGN PANAELAENG
-1BA7 SUNDANESE VOWEL SIGN PANOLONG
-1BA8 SUNDANESE VOWEL SIGN PAMEPET
-1BA9 SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA SUNDANESE SIGN PAMAAEH
-1BAE SUNDANESE LETTER KHA
-1BAF SUNDANESE LETTER SYA
-1BB0 SUNDANESE DIGIT ZERO
-1BB1 SUNDANESE DIGIT ONE
-1BB2 SUNDANESE DIGIT TWO
-1BB3 SUNDANESE DIGIT THREE
-1BB4 SUNDANESE DIGIT FOUR
-1BB5 SUNDANESE DIGIT FIVE
-1BB6 SUNDANESE DIGIT SIX
-1BB7 SUNDANESE DIGIT SEVEN
-1BB8 SUNDANESE DIGIT EIGHT
-1BB9 SUNDANESE DIGIT NINE
-1C00 LEPCHA LETTER KA
-1C01 LEPCHA LETTER KLA
-1C02 LEPCHA LETTER KHA
-1C03 LEPCHA LETTER GA
-1C04 LEPCHA LETTER GLA
-1C05 LEPCHA LETTER NGA
-1C06 LEPCHA LETTER CA
-1C07 LEPCHA LETTER CHA
-1C08 LEPCHA LETTER JA
-1C09 LEPCHA LETTER NYA
-1C0A LEPCHA LETTER TA
-1C0B LEPCHA LETTER THA
-1C0C LEPCHA LETTER DA
-1C0D LEPCHA LETTER NA
-1C0E LEPCHA LETTER PA
-1C0F LEPCHA LETTER PLA
-1C10 LEPCHA LETTER PHA
-1C11 LEPCHA LETTER FA
-1C12 LEPCHA LETTER FLA
-1C13 LEPCHA LETTER BA
-1C14 LEPCHA LETTER BLA
-1C15 LEPCHA LETTER MA
-1C16 LEPCHA LETTER MLA
-1C17 LEPCHA LETTER TSA
-1C18 LEPCHA LETTER TSHA
-1C19 LEPCHA LETTER DZA
-1C1A LEPCHA LETTER YA
-1C1B LEPCHA LETTER RA
-1C1C LEPCHA LETTER LA
-1C1D LEPCHA LETTER HA
-1C1E LEPCHA LETTER HLA
-1C1F LEPCHA LETTER VA
-1C20 LEPCHA LETTER SA
-1C21 LEPCHA LETTER SHA
-1C22 LEPCHA LETTER WA
-1C23 LEPCHA LETTER A
-1C24 LEPCHA SUBJOINED LETTER YA
-1C25 LEPCHA SUBJOINED LETTER RA
-1C26 LEPCHA VOWEL SIGN AA
-1C27 LEPCHA VOWEL SIGN I
-1C28 LEPCHA VOWEL SIGN O
-1C29 LEPCHA VOWEL SIGN OO
-1C2A LEPCHA VOWEL SIGN U
-1C2B LEPCHA VOWEL SIGN UU
-1C2C LEPCHA VOWEL SIGN E
-1C2D LEPCHA CONSONANT SIGN K
-1C2E LEPCHA CONSONANT SIGN M
-1C2F LEPCHA CONSONANT SIGN L
-1C30 LEPCHA CONSONANT SIGN N
-1C31 LEPCHA CONSONANT SIGN P
-1C32 LEPCHA CONSONANT SIGN R
-1C33 LEPCHA CONSONANT SIGN T
-1C34 LEPCHA CONSONANT SIGN NYIN-DO
-1C35 LEPCHA CONSONANT SIGN KANG
-1C36 LEPCHA SIGN RAN
-1C37 LEPCHA SIGN NUKTA
-1C3B LEPCHA PUNCTUATION TA-ROL
-1C3C LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D LEPCHA PUNCTUATION CER-WA
-1C3E LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F LEPCHA PUNCTUATION TSHOOK
-1C40 LEPCHA DIGIT ZERO
-1C41 LEPCHA DIGIT ONE
-1C42 LEPCHA DIGIT TWO
-1C43 LEPCHA DIGIT THREE
-1C44 LEPCHA DIGIT FOUR
-1C45 LEPCHA DIGIT FIVE
-1C46 LEPCHA DIGIT SIX
-1C47 LEPCHA DIGIT SEVEN
-1C48 LEPCHA DIGIT EIGHT
-1C49 LEPCHA DIGIT NINE
-1C4D LEPCHA LETTER TTA
-1C4E LEPCHA LETTER TTHA
-1C4F LEPCHA LETTER DDA
-1C50 OL CHIKI DIGIT ZERO
-1C51 OL CHIKI DIGIT ONE
-1C52 OL CHIKI DIGIT TWO
-1C53 OL CHIKI DIGIT THREE
-1C54 OL CHIKI DIGIT FOUR
-1C55 OL CHIKI DIGIT FIVE
-1C56 OL CHIKI DIGIT SIX
-1C57 OL CHIKI DIGIT SEVEN
-1C58 OL CHIKI DIGIT EIGHT
-1C59 OL CHIKI DIGIT NINE
-1C5A OL CHIKI LETTER LA
-1C5B OL CHIKI LETTER AT
-1C5C OL CHIKI LETTER AG
-1C5D OL CHIKI LETTER ANG
-1C5E OL CHIKI LETTER AL
-1C5F OL CHIKI LETTER LAA
-1C60 OL CHIKI LETTER AAK
-1C61 OL CHIKI LETTER AAJ
-1C62 OL CHIKI LETTER AAM
-1C63 OL CHIKI LETTER AAW
-1C64 OL CHIKI LETTER LI
-1C65 OL CHIKI LETTER IS
-1C66 OL CHIKI LETTER IH
-1C67 OL CHIKI LETTER INY
-1C68 OL CHIKI LETTER IR
-1C69 OL CHIKI LETTER LU
-1C6A OL CHIKI LETTER UC
-1C6B OL CHIKI LETTER UD
-1C6C OL CHIKI LETTER UNN
-1C6D OL CHIKI LETTER UY
-1C6E OL CHIKI LETTER LE
-1C6F OL CHIKI LETTER EP
-1C70 OL CHIKI LETTER EDD
-1C71 OL CHIKI LETTER EN
-1C72 OL CHIKI LETTER ERR
-1C73 OL CHIKI LETTER LO
-1C74 OL CHIKI LETTER OTT
-1C75 OL CHIKI LETTER OB
-1C76 OL CHIKI LETTER OV
-1C77 OL CHIKI LETTER OH
-1C78 OL CHIKI MU TTUDDAG
-1C79 OL CHIKI GAAHLAA TTUDDAAG
-1C7A OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B OL CHIKI RELAA
-1C7C OL CHIKI PHAARKAA
-1C7D OL CHIKI AHAD
-1C7E OL CHIKI PUNCTUATION MUCAAD
-1C7F OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD0 VEDIC TONE KARSHANA
-1CD1 VEDIC TONE SHARA
-1CD2 VEDIC TONE PRENKHA
-1CD3 VEDIC SIGN NIHSHVASA
-1CD4 VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
-1CD5 VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
-1CD6 VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
-1CD7 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
-1CD8 VEDIC TONE CANDRA BELOW
-1CD9 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
-1CDA VEDIC TONE DOUBLE SVARITA
-1CDB VEDIC TONE TRIPLE SVARITA
-1CDC VEDIC TONE KATHAKA ANUDATTA
-1CDD VEDIC TONE DOT BELOW
-1CDE VEDIC TONE TWO DOTS BELOW
-1CDF VEDIC TONE THREE DOTS BELOW
-1CE0 VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2 VEDIC SIGN VISARGA SVARITA
-1CE3 VEDIC SIGN VISARGA UDATTA
-1CE4 VEDIC SIGN REVERSED VISARGA UDATTA
-1CE5 VEDIC SIGN VISARGA ANUDATTA
-1CE6 VEDIC SIGN REVERSED VISARGA ANUDATTA
-1CE7 VEDIC SIGN VISARGA UDATTA WITH TAIL
-1CE8 VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CE9 VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA VEDIC SIGN ANUSVARA BAHIRGOMUKHA
-1CEB VEDIC SIGN ANUSVARA VAMAGOMUKHA
-1CEC VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CED VEDIC SIGN TIRYAK
-1CEE VEDIC SIGN HEXIFORM LONG ANUSVARA
-1CEF VEDIC SIGN LONG ANUSVARA
-1CF0 VEDIC SIGN RTHANG LONG ANUSVARA
-1CF1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 VEDIC SIGN ARDHAVISARGA
-1D00 LATIN LETTER SMALL CAPITAL A
-1D01 LATIN LETTER SMALL CAPITAL AE
-1D02 LATIN SMALL LETTER TURNED AE
-1D03 LATIN LETTER SMALL CAPITAL BARRED B
-1D04 LATIN LETTER SMALL CAPITAL C
-1D05 LATIN LETTER SMALL CAPITAL D
-1D06 LATIN LETTER SMALL CAPITAL ETH
-1D07 LATIN LETTER SMALL CAPITAL E
-1D08 LATIN SMALL LETTER TURNED OPEN E
-1D09 LATIN SMALL LETTER TURNED I
-1D0A LATIN LETTER SMALL CAPITAL J
-1D0B LATIN LETTER SMALL CAPITAL K
-1D0C LATIN LETTER SMALL CAPITAL L WITH STROKE
-1D0D LATIN LETTER SMALL CAPITAL M
-1D0E LATIN LETTER SMALL CAPITAL REVERSED N
-1D0F LATIN LETTER SMALL CAPITAL O
-1D10 LATIN LETTER SMALL CAPITAL OPEN O
-1D11 LATIN SMALL LETTER SIDEWAYS O
-1D12 LATIN SMALL LETTER SIDEWAYS OPEN O
-1D13 LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-1D14 LATIN SMALL LETTER TURNED OE
-1D15 LATIN LETTER SMALL CAPITAL OU
-1D16 LATIN SMALL LETTER TOP HALF O
-1D17 LATIN SMALL LETTER BOTTOM HALF O
-1D18 LATIN LETTER SMALL CAPITAL P
-1D19 LATIN LETTER SMALL CAPITAL REVERSED R
-1D1A LATIN LETTER SMALL CAPITAL TURNED R
-1D1B LATIN LETTER SMALL CAPITAL T
-1D1C LATIN LETTER SMALL CAPITAL U
-1D1D LATIN SMALL LETTER SIDEWAYS U
-1D1E LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D1F LATIN SMALL LETTER SIDEWAYS TURNED M
-1D20 LATIN LETTER SMALL CAPITAL V
-1D21 LATIN LETTER SMALL CAPITAL W
-1D22 LATIN LETTER SMALL CAPITAL Z
-1D23 LATIN LETTER SMALL CAPITAL EZH
-1D24 LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25 LATIN LETTER AIN
-1D26 GREEK LETTER SMALL CAPITAL GAMMA
-1D27 GREEK LETTER SMALL CAPITAL LAMDA
-1D28 GREEK LETTER SMALL CAPITAL PI
-1D29 GREEK LETTER SMALL CAPITAL RHO
-1D2A GREEK LETTER SMALL CAPITAL PSI
-1D2B CYRILLIC LETTER SMALL CAPITAL EL
-1D2C MODIFIER LETTER CAPITAL A
-1D2D MODIFIER LETTER CAPITAL AE
-1D2E MODIFIER LETTER CAPITAL B
-1D2F MODIFIER LETTER CAPITAL BARRED B
-1D30 MODIFIER LETTER CAPITAL D
-1D31 MODIFIER LETTER CAPITAL E
-1D32 MODIFIER LETTER CAPITAL REVERSED E
-1D33 MODIFIER LETTER CAPITAL G
-1D34 MODIFIER LETTER CAPITAL H
-1D35 MODIFIER LETTER CAPITAL I
-1D36 MODIFIER LETTER CAPITAL J
-1D37 MODIFIER LETTER CAPITAL K
-1D38 MODIFIER LETTER CAPITAL L
-1D39 MODIFIER LETTER CAPITAL M
-1D3A MODIFIER LETTER CAPITAL N
-1D3B MODIFIER LETTER CAPITAL REVERSED N
-1D3C MODIFIER LETTER CAPITAL O
-1D3D MODIFIER LETTER CAPITAL OU
-1D3E MODIFIER LETTER CAPITAL P
-1D3F MODIFIER LETTER CAPITAL R
-1D40 MODIFIER LETTER CAPITAL T
-1D41 MODIFIER LETTER CAPITAL U
-1D42 MODIFIER LETTER CAPITAL W
-1D43 MODIFIER LETTER SMALL A
-1D44 MODIFIER LETTER SMALL TURNED A
-1D45 MODIFIER LETTER SMALL ALPHA
-1D46 MODIFIER LETTER SMALL TURNED AE
-1D47 MODIFIER LETTER SMALL B
-1D48 MODIFIER LETTER SMALL D
-1D49 MODIFIER LETTER SMALL E
-1D4A MODIFIER LETTER SMALL SCHWA
-1D4B MODIFIER LETTER SMALL OPEN E
-1D4C MODIFIER LETTER SMALL TURNED OPEN E
-1D4D MODIFIER LETTER SMALL G
-1D4E MODIFIER LETTER SMALL TURNED I
-1D4F MODIFIER LETTER SMALL K
-1D50 MODIFIER LETTER SMALL M
-1D51 MODIFIER LETTER SMALL ENG
-1D52 MODIFIER LETTER SMALL O
-1D53 MODIFIER LETTER SMALL OPEN O
-1D54 MODIFIER LETTER SMALL TOP HALF O
-1D55 MODIFIER LETTER SMALL BOTTOM HALF O
-1D56 MODIFIER LETTER SMALL P
-1D57 MODIFIER LETTER SMALL T
-1D58 MODIFIER LETTER SMALL U
-1D59 MODIFIER LETTER SMALL SIDEWAYS U
-1D5A MODIFIER LETTER SMALL TURNED M
-1D5B MODIFIER LETTER SMALL V
-1D5C MODIFIER LETTER SMALL AIN
-1D5D MODIFIER LETTER SMALL BETA
-1D5E MODIFIER LETTER SMALL GREEK GAMMA
-1D5F MODIFIER LETTER SMALL DELTA
-1D60 MODIFIER LETTER SMALL GREEK PHI
-1D61 MODIFIER LETTER SMALL CHI
-1D62 LATIN SUBSCRIPT SMALL LETTER I
-1D63 LATIN SUBSCRIPT SMALL LETTER R
-1D64 LATIN SUBSCRIPT SMALL LETTER U
-1D65 LATIN SUBSCRIPT SMALL LETTER V
-1D66 GREEK SUBSCRIPT SMALL LETTER BETA
-1D67 GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D68 GREEK SUBSCRIPT SMALL LETTER RHO
-1D69 GREEK SUBSCRIPT SMALL LETTER PHI
-1D6A GREEK SUBSCRIPT SMALL LETTER CHI
-1D6B LATIN SMALL LETTER UE
-1D6C LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D6D LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D6E LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D6F LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D70 LATIN SMALL LETTER N WITH MIDDLE TILDE
-1D71 LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D72 LATIN SMALL LETTER R WITH MIDDLE TILDE
-1D73 LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-1D74 LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D75 LATIN SMALL LETTER T WITH MIDDLE TILDE
-1D76 LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D77 LATIN SMALL LETTER TURNED G
-1D78 MODIFIER LETTER CYRILLIC EN
-1D79 LATIN SMALL LETTER INSULAR G
-1D7A LATIN SMALL LETTER TH WITH STRIKETHROUGH
-1D7B LATIN SMALL CAPITAL LETTER I WITH STROKE
-1D7C LATIN SMALL LETTER IOTA WITH STROKE
-1D7D LATIN SMALL LETTER P WITH STROKE
-1D7E LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D7F LATIN SMALL LETTER UPSILON WITH STROKE
-1D80 LATIN SMALL LETTER B WITH PALATAL HOOK
-1D81 LATIN SMALL LETTER D WITH PALATAL HOOK
-1D82 LATIN SMALL LETTER F WITH PALATAL HOOK
-1D83 LATIN SMALL LETTER G WITH PALATAL HOOK
-1D84 LATIN SMALL LETTER K WITH PALATAL HOOK
-1D85 LATIN SMALL LETTER L WITH PALATAL HOOK
-1D86 LATIN SMALL LETTER M WITH PALATAL HOOK
-1D87 LATIN SMALL LETTER N WITH PALATAL HOOK
-1D88 LATIN SMALL LETTER P WITH PALATAL HOOK
-1D89 LATIN SMALL LETTER R WITH PALATAL HOOK
-1D8A LATIN SMALL LETTER S WITH PALATAL HOOK
-1D8B LATIN SMALL LETTER ESH WITH PALATAL HOOK
-1D8C LATIN SMALL LETTER V WITH PALATAL HOOK
-1D8D LATIN SMALL LETTER X WITH PALATAL HOOK
-1D8E LATIN SMALL LETTER Z WITH PALATAL HOOK
-1D8F LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D90 LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-1D91 LATIN SMALL LETTER D WITH HOOK AND TAIL
-1D92 LATIN SMALL LETTER E WITH RETROFLEX HOOK
-1D93 LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-1D94 LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D95 LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-1D96 LATIN SMALL LETTER I WITH RETROFLEX HOOK
-1D97 LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-1D98 LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-1D99 LATIN SMALL LETTER U WITH RETROFLEX HOOK
-1D9A LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B MODIFIER LETTER SMALL TURNED ALPHA
-1D9C MODIFIER LETTER SMALL C
-1D9D MODIFIER LETTER SMALL C WITH CURL
-1D9E MODIFIER LETTER SMALL ETH
-1D9F MODIFIER LETTER SMALL REVERSED OPEN E
-1DA0 MODIFIER LETTER SMALL F
-1DA1 MODIFIER LETTER SMALL DOTLESS J WITH STROKE
-1DA2 MODIFIER LETTER SMALL SCRIPT G
-1DA3 MODIFIER LETTER SMALL TURNED H
-1DA4 MODIFIER LETTER SMALL I WITH STROKE
-1DA5 MODIFIER LETTER SMALL IOTA
-1DA6 MODIFIER LETTER SMALL CAPITAL I
-1DA7 MODIFIER LETTER SMALL CAPITAL I WITH STROKE
-1DA8 MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-1DA9 MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
-1DAA MODIFIER LETTER SMALL L WITH PALATAL HOOK
-1DAB MODIFIER LETTER SMALL CAPITAL L
-1DAC MODIFIER LETTER SMALL M WITH HOOK
-1DAD MODIFIER LETTER SMALL TURNED M WITH LONG LEG
-1DAE MODIFIER LETTER SMALL N WITH LEFT HOOK
-1DAF MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
-1DB0 MODIFIER LETTER SMALL CAPITAL N
-1DB1 MODIFIER LETTER SMALL BARRED O
-1DB2 MODIFIER LETTER SMALL PHI
-1DB3 MODIFIER LETTER SMALL S WITH HOOK
-1DB4 MODIFIER LETTER SMALL ESH
-1DB5 MODIFIER LETTER SMALL T WITH PALATAL HOOK
-1DB6 MODIFIER LETTER SMALL U BAR
-1DB7 MODIFIER LETTER SMALL UPSILON
-1DB8 MODIFIER LETTER SMALL CAPITAL U
-1DB9 MODIFIER LETTER SMALL V WITH HOOK
-1DBA MODIFIER LETTER SMALL TURNED V
-1DBB MODIFIER LETTER SMALL Z
-1DBC MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
-1DBD MODIFIER LETTER SMALL Z WITH CURL
-1DBE MODIFIER LETTER SMALL EZH
-1DBF MODIFIER LETTER SMALL THETA
-1DC0 COMBINING DOTTED GRAVE ACCENT
-1DC1 COMBINING DOTTED ACUTE ACCENT
-1DC2 COMBINING SNAKE BELOW
-1DC3 COMBINING SUSPENSION MARK
-1DC4 COMBINING MACRON-ACUTE
-1DC5 COMBINING GRAVE-MACRON
-1DC6 COMBINING MACRON-GRAVE
-1DC7 COMBINING ACUTE-MACRON
-1DC8 COMBINING GRAVE-ACUTE-GRAVE
-1DC9 COMBINING ACUTE-GRAVE-ACUTE
-1DCA COMBINING LATIN SMALL LETTER R BELOW
-1DCB COMBINING BREVE-MACRON
-1DCC COMBINING MACRON-BREVE
-1DCD COMBINING DOUBLE CIRCUMFLEX ABOVE
-1DCE COMBINING OGONEK ABOVE
-1DCF COMBINING ZIGZAG BELOW
-1DD0 COMBINING IS BELOW
-1DD1 COMBINING UR ABOVE
-1DD2 COMBINING US ABOVE
-1DD3 COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
-1DD4 COMBINING LATIN SMALL LETTER AE
-1DD5 COMBINING LATIN SMALL LETTER AO
-1DD6 COMBINING LATIN SMALL LETTER AV
-1DD7 COMBINING LATIN SMALL LETTER C CEDILLA
-1DD8 COMBINING LATIN SMALL LETTER INSULAR D
-1DD9 COMBINING LATIN SMALL LETTER ETH
-1DDA COMBINING LATIN SMALL LETTER G
-1DDB COMBINING LATIN LETTER SMALL CAPITAL G
-1DDC COMBINING LATIN SMALL LETTER K
-1DDD COMBINING LATIN SMALL LETTER L
-1DDE COMBINING LATIN LETTER SMALL CAPITAL L
-1DDF COMBINING LATIN LETTER SMALL CAPITAL M
-1DE0 COMBINING LATIN SMALL LETTER N
-1DE1 COMBINING LATIN LETTER SMALL CAPITAL N
-1DE2 COMBINING LATIN LETTER SMALL CAPITAL R
-1DE3 COMBINING LATIN SMALL LETTER R ROTUNDA
-1DE4 COMBINING LATIN SMALL LETTER S
-1DE5 COMBINING LATIN SMALL LETTER LONG S
-1DE6 COMBINING LATIN SMALL LETTER Z
-1DFD COMBINING ALMOST EQUAL TO BELOW
-1DFE COMBINING LEFT ARROWHEAD ABOVE
-1DFF COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1E00 LATIN CAPITAL LETTER A WITH RING BELOW
-1E01 LATIN SMALL LETTER A WITH RING BELOW
-1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E03 LATIN SMALL LETTER B WITH DOT ABOVE
-1E04 LATIN CAPITAL LETTER B WITH DOT BELOW
-1E05 LATIN SMALL LETTER B WITH DOT BELOW
-1E06 LATIN CAPITAL LETTER B WITH LINE BELOW
-1E07 LATIN SMALL LETTER B WITH LINE BELOW
-1E08 LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E09 LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0B LATIN SMALL LETTER D WITH DOT ABOVE
-1E0C LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0D LATIN SMALL LETTER D WITH DOT BELOW
-1E0E LATIN CAPITAL LETTER D WITH LINE BELOW
-1E0F LATIN SMALL LETTER D WITH LINE BELOW
-1E10 LATIN CAPITAL LETTER D WITH CEDILLA
-1E11 LATIN SMALL LETTER D WITH CEDILLA
-1E12 LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E13 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E14 LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E15 LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E16 LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E17 LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E18 LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E19 LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1A LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1B LATIN SMALL LETTER E WITH TILDE BELOW
-1E1C LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1D LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E1F LATIN SMALL LETTER F WITH DOT ABOVE
-1E20 LATIN CAPITAL LETTER G WITH MACRON
-1E21 LATIN SMALL LETTER G WITH MACRON
-1E22 LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E23 LATIN SMALL LETTER H WITH DOT ABOVE
-1E24 LATIN CAPITAL LETTER H WITH DOT BELOW
-1E25 LATIN SMALL LETTER H WITH DOT BELOW
-1E26 LATIN CAPITAL LETTER H WITH DIAERESIS
-1E27 LATIN SMALL LETTER H WITH DIAERESIS
-1E28 LATIN CAPITAL LETTER H WITH CEDILLA
-1E29 LATIN SMALL LETTER H WITH CEDILLA
-1E2A LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2B LATIN SMALL LETTER H WITH BREVE BELOW
-1E2C LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2D LATIN SMALL LETTER I WITH TILDE BELOW
-1E2E LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E2F LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E30 LATIN CAPITAL LETTER K WITH ACUTE
-1E31 LATIN SMALL LETTER K WITH ACUTE
-1E32 LATIN CAPITAL LETTER K WITH DOT BELOW
-1E33 LATIN SMALL LETTER K WITH DOT BELOW
-1E34 LATIN CAPITAL LETTER K WITH LINE BELOW
-1E35 LATIN SMALL LETTER K WITH LINE BELOW
-1E36 LATIN CAPITAL LETTER L WITH DOT BELOW
-1E37 LATIN SMALL LETTER L WITH DOT BELOW
-1E38 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E39 LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3A LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3B LATIN SMALL LETTER L WITH LINE BELOW
-1E3C LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3D LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3E LATIN CAPITAL LETTER M WITH ACUTE
-1E3F LATIN SMALL LETTER M WITH ACUTE
-1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E41 LATIN SMALL LETTER M WITH DOT ABOVE
-1E42 LATIN CAPITAL LETTER M WITH DOT BELOW
-1E43 LATIN SMALL LETTER M WITH DOT BELOW
-1E44 LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E45 LATIN SMALL LETTER N WITH DOT ABOVE
-1E46 LATIN CAPITAL LETTER N WITH DOT BELOW
-1E47 LATIN SMALL LETTER N WITH DOT BELOW
-1E48 LATIN CAPITAL LETTER N WITH LINE BELOW
-1E49 LATIN SMALL LETTER N WITH LINE BELOW
-1E4A LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4B LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4C LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4D LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4E LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E4F LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E50 LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E51 LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E52 LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E53 LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E54 LATIN CAPITAL LETTER P WITH ACUTE
-1E55 LATIN SMALL LETTER P WITH ACUTE
-1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E57 LATIN SMALL LETTER P WITH DOT ABOVE
-1E58 LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E59 LATIN SMALL LETTER R WITH DOT ABOVE
-1E5A LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5B LATIN SMALL LETTER R WITH DOT BELOW
-1E5C LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5D LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5E LATIN CAPITAL LETTER R WITH LINE BELOW
-1E5F LATIN SMALL LETTER R WITH LINE BELOW
-1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E61 LATIN SMALL LETTER S WITH DOT ABOVE
-1E62 LATIN CAPITAL LETTER S WITH DOT BELOW
-1E63 LATIN SMALL LETTER S WITH DOT BELOW
-1E64 LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E65 LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E67 LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E68 LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E69 LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6B LATIN SMALL LETTER T WITH DOT ABOVE
-1E6C LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6D LATIN SMALL LETTER T WITH DOT BELOW
-1E6E LATIN CAPITAL LETTER T WITH LINE BELOW
-1E6F LATIN SMALL LETTER T WITH LINE BELOW
-1E70 LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E71 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E72 LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E73 LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E74 LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E75 LATIN SMALL LETTER U WITH TILDE BELOW
-1E76 LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E77 LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E78 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E79 LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7A LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7B LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7C LATIN CAPITAL LETTER V WITH TILDE
-1E7D LATIN SMALL LETTER V WITH TILDE
-1E7E LATIN CAPITAL LETTER V WITH DOT BELOW
-1E7F LATIN SMALL LETTER V WITH DOT BELOW
-1E80 LATIN CAPITAL LETTER W WITH GRAVE
-1E81 LATIN SMALL LETTER W WITH GRAVE
-1E82 LATIN CAPITAL LETTER W WITH ACUTE
-1E83 LATIN SMALL LETTER W WITH ACUTE
-1E84 LATIN CAPITAL LETTER W WITH DIAERESIS
-1E85 LATIN SMALL LETTER W WITH DIAERESIS
-1E86 LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E87 LATIN SMALL LETTER W WITH DOT ABOVE
-1E88 LATIN CAPITAL LETTER W WITH DOT BELOW
-1E89 LATIN SMALL LETTER W WITH DOT BELOW
-1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8B LATIN SMALL LETTER X WITH DOT ABOVE
-1E8C LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8D LATIN SMALL LETTER X WITH DIAERESIS
-1E8E LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E8F LATIN SMALL LETTER Y WITH DOT ABOVE
-1E90 LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E91 LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E92 LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E93 LATIN SMALL LETTER Z WITH DOT BELOW
-1E94 LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E95 LATIN SMALL LETTER Z WITH LINE BELOW
-1E96 LATIN SMALL LETTER H WITH LINE BELOW
-1E97 LATIN SMALL LETTER T WITH DIAERESIS
-1E98 LATIN SMALL LETTER W WITH RING ABOVE
-1E99 LATIN SMALL LETTER Y WITH RING ABOVE
-1E9A LATIN SMALL LETTER A WITH RIGHT HALF RING
-1E9B LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1E9C LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D LATIN SMALL LETTER LONG S WITH HIGH STROKE
-1E9E LATIN CAPITAL LETTER SHARP S
-1E9F LATIN SMALL LETTER DELTA
-1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA1 LATIN SMALL LETTER A WITH DOT BELOW
-1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW
-1EB9 LATIN SMALL LETTER E WITH DOT BELOW
-1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBB LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBC LATIN CAPITAL LETTER E WITH TILDE
-1EBD LATIN SMALL LETTER E WITH TILDE
-1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECA LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECB LATIN SMALL LETTER I WITH DOT BELOW
-1ECC LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECD LATIN SMALL LETTER O WITH DOT BELOW
-1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ECF LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE5 LATIN SMALL LETTER U WITH DOT BELOW
-1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EEF LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF2 LATIN CAPITAL LETTER Y WITH GRAVE
-1EF3 LATIN SMALL LETTER Y WITH GRAVE
-1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF5 LATIN SMALL LETTER Y WITH DOT BELOW
-1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF8 LATIN CAPITAL LETTER Y WITH TILDE
-1EF9 LATIN SMALL LETTER Y WITH TILDE
-1EFA LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFB LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFC LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFD LATIN SMALL LETTER MIDDLE-WELSH V
-1EFE LATIN CAPITAL LETTER Y WITH LOOP
-1EFF LATIN SMALL LETTER Y WITH LOOP
-1F00 GREEK SMALL LETTER ALPHA WITH PSILI
-1F01 GREEK SMALL LETTER ALPHA WITH DASIA
-1F02 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
-1F03 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
-1F04 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
-1F05 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
-1F06 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F07 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F08 GREEK CAPITAL LETTER ALPHA WITH PSILI
-1F09 GREEK CAPITAL LETTER ALPHA WITH DASIA
-1F0A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
-1F0B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
-1F0C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
-1F0D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
-1F0E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F0F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10 GREEK SMALL LETTER EPSILON WITH PSILI
-1F11 GREEK SMALL LETTER EPSILON WITH DASIA
-1F12 GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
-1F13 GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
-1F14 GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
-1F15 GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18 GREEK CAPITAL LETTER EPSILON WITH PSILI
-1F19 GREEK CAPITAL LETTER EPSILON WITH DASIA
-1F1A GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-1F1B GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-1F1C GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-1F1D GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20 GREEK SMALL LETTER ETA WITH PSILI
-1F21 GREEK SMALL LETTER ETA WITH DASIA
-1F22 GREEK SMALL LETTER ETA WITH PSILI AND VARIA
-1F23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
-1F24 GREEK SMALL LETTER ETA WITH PSILI AND OXIA
-1F25 GREEK SMALL LETTER ETA WITH DASIA AND OXIA
-1F26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
-1F27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F28 GREEK CAPITAL LETTER ETA WITH PSILI
-1F29 GREEK CAPITAL LETTER ETA WITH DASIA
-1F2A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
-1F2B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
-1F2C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
-1F2D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
-1F2E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
-1F2F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30 GREEK SMALL LETTER IOTA WITH PSILI
-1F31 GREEK SMALL LETTER IOTA WITH DASIA
-1F32 GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
-1F33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
-1F34 GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
-1F35 GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
-1F36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F38 GREEK CAPITAL LETTER IOTA WITH PSILI
-1F39 GREEK CAPITAL LETTER IOTA WITH DASIA
-1F3A GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
-1F3B GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
-1F3C GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
-1F3D GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
-1F3E GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F3F GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40 GREEK SMALL LETTER OMICRON WITH PSILI
-1F41 GREEK SMALL LETTER OMICRON WITH DASIA
-1F42 GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
-1F43 GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
-1F44 GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
-1F45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48 GREEK CAPITAL LETTER OMICRON WITH PSILI
-1F49 GREEK CAPITAL LETTER OMICRON WITH DASIA
-1F4A GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
-1F4B GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
-1F4C GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
-1F4D GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50 GREEK SMALL LETTER UPSILON WITH PSILI
-1F51 GREEK SMALL LETTER UPSILON WITH DASIA
-1F52 GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
-1F53 GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
-1F54 GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
-1F55 GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
-1F56 GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
-1F57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60 GREEK SMALL LETTER OMEGA WITH PSILI
-1F61 GREEK SMALL LETTER OMEGA WITH DASIA
-1F62 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
-1F63 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
-1F64 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
-1F65 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
-1F66 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F68 GREEK CAPITAL LETTER OMEGA WITH PSILI
-1F69 GREEK CAPITAL LETTER OMEGA WITH DASIA
-1F6A GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
-1F6B GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
-1F6C GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
-1F6D GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
-1F6E GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F6F GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70 GREEK SMALL LETTER ALPHA WITH VARIA
-1F71 GREEK SMALL LETTER ALPHA WITH OXIA
-1F72 GREEK SMALL LETTER EPSILON WITH VARIA
-1F73 GREEK SMALL LETTER EPSILON WITH OXIA
-1F74 GREEK SMALL LETTER ETA WITH VARIA
-1F75 GREEK SMALL LETTER ETA WITH OXIA
-1F76 GREEK SMALL LETTER IOTA WITH VARIA
-1F77 GREEK SMALL LETTER IOTA WITH OXIA
-1F78 GREEK SMALL LETTER OMICRON WITH VARIA
-1F79 GREEK SMALL LETTER OMICRON WITH OXIA
-1F7A GREEK SMALL LETTER UPSILON WITH VARIA
-1F7B GREEK SMALL LETTER UPSILON WITH OXIA
-1F7C GREEK SMALL LETTER OMEGA WITH VARIA
-1F7D GREEK SMALL LETTER OMEGA WITH OXIA
-1F80 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
-1F81 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
-1F82 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F83 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F84 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F85 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F86 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F87 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F88 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
-1F89 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
-1F8A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F8B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F8C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F8D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F8E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F8F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F90 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
-1F91 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
-1F92 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F93 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F94 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F95 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F96 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F97 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F98 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
-1F99 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
-1F9A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F9B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F9C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F9D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F9E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F9F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA0 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
-1FA1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
-1FA2 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1FA3 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1FA4 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1FA5 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1FA6 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1FA7 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA8 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
-1FA9 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
-1FAA GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1FAB GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1FAC GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1FAD GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1FAE GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1FAF GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB0 GREEK SMALL LETTER ALPHA WITH VRACHY
-1FB1 GREEK SMALL LETTER ALPHA WITH MACRON
-1FB2 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
-1FB3 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-1FB4 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6 GREEK SMALL LETTER ALPHA WITH PERISPOMENI
-1FB7 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FB8 GREEK CAPITAL LETTER ALPHA WITH VRACHY
-1FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON
-1FBA GREEK CAPITAL LETTER ALPHA WITH VARIA
-1FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FBC GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD GREEK KORONIS
-1FBE GREEK PROSGEGRAMMENI
-1FBF GREEK PSILI
-1FC0 GREEK PERISPOMENI
-1FC1 GREEK DIALYTIKA AND PERISPOMENI
-1FC2 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
-1FC3 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
-1FC4 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6 GREEK SMALL LETTER ETA WITH PERISPOMENI
-1FC7 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FC8 GREEK CAPITAL LETTER EPSILON WITH VARIA
-1FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
-1FCA GREEK CAPITAL LETTER ETA WITH VARIA
-1FCB GREEK CAPITAL LETTER ETA WITH OXIA
-1FCC GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD GREEK PSILI AND VARIA
-1FCE GREEK PSILI AND OXIA
-1FCF GREEK PSILI AND PERISPOMENI
-1FD0 GREEK SMALL LETTER IOTA WITH VRACHY
-1FD1 GREEK SMALL LETTER IOTA WITH MACRON
-1FD2 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
-1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6 GREEK SMALL LETTER IOTA WITH PERISPOMENI
-1FD7 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FD8 GREEK CAPITAL LETTER IOTA WITH VRACHY
-1FD9 GREEK CAPITAL LETTER IOTA WITH MACRON
-1FDA GREEK CAPITAL LETTER IOTA WITH VARIA
-1FDB GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD GREEK DASIA AND VARIA
-1FDE GREEK DASIA AND OXIA
-1FDF GREEK DASIA AND PERISPOMENI
-1FE0 GREEK SMALL LETTER UPSILON WITH VRACHY
-1FE1 GREEK SMALL LETTER UPSILON WITH MACRON
-1FE2 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
-1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE4 GREEK SMALL LETTER RHO WITH PSILI
-1FE5 GREEK SMALL LETTER RHO WITH DASIA
-1FE6 GREEK SMALL LETTER UPSILON WITH PERISPOMENI
-1FE7 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FE8 GREEK CAPITAL LETTER UPSILON WITH VRACHY
-1FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON
-1FEA GREEK CAPITAL LETTER UPSILON WITH VARIA
-1FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
-1FEC GREEK CAPITAL LETTER RHO WITH DASIA
-1FED GREEK DIALYTIKA AND VARIA
-1FEE GREEK DIALYTIKA AND OXIA
-1FEF GREEK VARIA
-1FF2 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
-1FF3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
-1FF4 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6 GREEK SMALL LETTER OMEGA WITH PERISPOMENI
-1FF7 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FF8 GREEK CAPITAL LETTER OMICRON WITH VARIA
-1FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
-1FFA GREEK CAPITAL LETTER OMEGA WITH VARIA
-1FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FFC GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD GREEK OXIA
-1FFE GREEK DASIA
-2000 EN QUAD
-2001 EM QUAD
-2002 EN SPACE
-2003 EM SPACE
-2004 THREE-PER-EM SPACE
-2005 FOUR-PER-EM SPACE
-2006 SIX-PER-EM SPACE
-2007 FIGURE SPACE
-2008 PUNCTUATION SPACE
-2009 THIN SPACE
-200A HAIR SPACE
-200B ZERO WIDTH SPACE
-200C ZERO WIDTH NON-JOINER
-200D ZERO WIDTH JOINER
-200E LEFT-TO-RIGHT MARK
-200F RIGHT-TO-LEFT MARK
-2010 HYPHEN
-2011 NON-BREAKING HYPHEN
-2012 FIGURE DASH
-2013 EN DASH
-2014 EM DASH
-2015 HORIZONTAL BAR
-2016 DOUBLE VERTICAL LINE
-2017 DOUBLE LOW LINE
-2018 LEFT SINGLE QUOTATION MARK
-2019 RIGHT SINGLE QUOTATION MARK
-201A SINGLE LOW-9 QUOTATION MARK
-201B SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C LEFT DOUBLE QUOTATION MARK
-201D RIGHT DOUBLE QUOTATION MARK
-201E DOUBLE LOW-9 QUOTATION MARK
-201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020 DAGGER
-2021 DOUBLE DAGGER
-2022 BULLET
-2023 TRIANGULAR BULLET
-2024 ONE DOT LEADER
-2025 TWO DOT LEADER
-2026 HORIZONTAL ELLIPSIS
-2027 HYPHENATION POINT
-2028 LINE SEPARATOR
-2029 PARAGRAPH SEPARATOR
-202A LEFT-TO-RIGHT EMBEDDING
-202B RIGHT-TO-LEFT EMBEDDING
-202C POP DIRECTIONAL FORMATTING
-202D LEFT-TO-RIGHT OVERRIDE
-202E RIGHT-TO-LEFT OVERRIDE
-202F NARROW NO-BREAK SPACE
-2030 PER MILLE SIGN
-2031 PER TEN THOUSAND SIGN
-2032 PRIME
-2033 DOUBLE PRIME
-2034 TRIPLE PRIME
-2035 REVERSED PRIME
-2036 REVERSED DOUBLE PRIME
-2037 REVERSED TRIPLE PRIME
-2038 CARET
-2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B REFERENCE MARK
-203C DOUBLE EXCLAMATION MARK
-203D INTERROBANG
-203E OVERLINE
-203F UNDERTIE
-2040 CHARACTER TIE
-2041 CARET INSERTION POINT
-2042 ASTERISM
-2043 HYPHEN BULLET
-2044 FRACTION SLASH
-2045 LEFT SQUARE BRACKET WITH QUILL
-2046 RIGHT SQUARE BRACKET WITH QUILL
-2047 DOUBLE QUESTION MARK
-2048 QUESTION EXCLAMATION MARK
-2049 EXCLAMATION QUESTION MARK
-204A TIRONIAN SIGN ET
-204B REVERSED PILCROW SIGN
-204C BLACK LEFTWARDS BULLET
-204D BLACK RIGHTWARDS BULLET
-204E LOW ASTERISK
-204F REVERSED SEMICOLON
-2050 CLOSE UP
-2051 TWO ASTERISKS ALIGNED VERTICALLY
-2052 COMMERCIAL MINUS SIGN
-2053 SWUNG DASH
-2054 INVERTED UNDERTIE
-2055 FLOWER PUNCTUATION MARK
-2056 THREE DOT PUNCTUATION
-2057 QUADRUPLE PRIME
-2058 FOUR DOT PUNCTUATION
-2059 FIVE DOT PUNCTUATION
-205A TWO DOT PUNCTUATION
-205B FOUR DOT MARK
-205C DOTTED CROSS
-205D TRICOLON
-205E VERTICAL FOUR DOTS
-205F MEDIUM MATHEMATICAL SPACE
-2060 WORD JOINER
-2061 FUNCTION APPLICATION
-2062 INVISIBLE TIMES
-2063 INVISIBLE SEPARATOR
-2064 INVISIBLE PLUS
-206A INHIBIT SYMMETRIC SWAPPING
-206B ACTIVATE SYMMETRIC SWAPPING
-206C INHIBIT ARABIC FORM SHAPING
-206D ACTIVATE ARABIC FORM SHAPING
-206E NATIONAL DIGIT SHAPES
-206F NOMINAL DIGIT SHAPES
-2070 SUPERSCRIPT ZERO
-2071 SUPERSCRIPT LATIN SMALL LETTER I
-2074 SUPERSCRIPT FOUR
-2075 SUPERSCRIPT FIVE
-2076 SUPERSCRIPT SIX
-2077 SUPERSCRIPT SEVEN
-2078 SUPERSCRIPT EIGHT
-2079 SUPERSCRIPT NINE
-207A SUPERSCRIPT PLUS SIGN
-207B SUPERSCRIPT MINUS
-207C SUPERSCRIPT EQUALS SIGN
-207D SUPERSCRIPT LEFT PARENTHESIS
-207E SUPERSCRIPT RIGHT PARENTHESIS
-207F SUPERSCRIPT LATIN SMALL LETTER N
-2080 SUBSCRIPT ZERO
-2081 SUBSCRIPT ONE
-2082 SUBSCRIPT TWO
-2083 SUBSCRIPT THREE
-2084 SUBSCRIPT FOUR
-2085 SUBSCRIPT FIVE
-2086 SUBSCRIPT SIX
-2087 SUBSCRIPT SEVEN
-2088 SUBSCRIPT EIGHT
-2089 SUBSCRIPT NINE
-208A SUBSCRIPT PLUS SIGN
-208B SUBSCRIPT MINUS
-208C SUBSCRIPT EQUALS SIGN
-208D SUBSCRIPT LEFT PARENTHESIS
-208E SUBSCRIPT RIGHT PARENTHESIS
-2090 LATIN SUBSCRIPT SMALL LETTER A
-2091 LATIN SUBSCRIPT SMALL LETTER E
-2092 LATIN SUBSCRIPT SMALL LETTER O
-2093 LATIN SUBSCRIPT SMALL LETTER X
-2094 LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A0 EURO-CURRENCY SIGN
-20A1 COLON SIGN
-20A2 CRUZEIRO SIGN
-20A3 FRENCH FRANC SIGN
-20A4 LIRA SIGN
-20A5 MILL SIGN
-20A6 NAIRA SIGN
-20A7 PESETA SIGN
-20A8 RUPEE SIGN
-20A9 WON SIGN
-20AA NEW SHEQEL SIGN
-20AB DONG SIGN
-20AC EURO SIGN
-20AD KIP SIGN
-20AE TUGRIK SIGN
-20AF DRACHMA SIGN
-20B0 GERMAN PENNY SIGN
-20B1 PESO SIGN
-20B2 GUARANI SIGN
-20B3 AUSTRAL SIGN
-20B4 HRYVNIA SIGN
-20B5 CEDI SIGN
-20B6 LIVRE TOURNOIS SIGN
-20B7 SPESMILO SIGN
-20B8 TENGE SIGN
-20D0 COMBINING LEFT HARPOON ABOVE
-20D1 COMBINING RIGHT HARPOON ABOVE
-20D2 COMBINING LONG VERTICAL LINE OVERLAY
-20D3 COMBINING SHORT VERTICAL LINE OVERLAY
-20D4 COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5 COMBINING CLOCKWISE ARROW ABOVE
-20D6 COMBINING LEFT ARROW ABOVE
-20D7 COMBINING RIGHT ARROW ABOVE
-20D8 COMBINING RING OVERLAY
-20D9 COMBINING CLOCKWISE RING OVERLAY
-20DA COMBINING ANTICLOCKWISE RING OVERLAY
-20DB COMBINING THREE DOTS ABOVE
-20DC COMBINING FOUR DOTS ABOVE
-20DD COMBINING ENCLOSING CIRCLE
-20DE COMBINING ENCLOSING SQUARE
-20DF COMBINING ENCLOSING DIAMOND
-20E0 COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 COMBINING LEFT RIGHT ARROW ABOVE
-20E2 COMBINING ENCLOSING SCREEN
-20E3 COMBINING ENCLOSING KEYCAP
-20E4 COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5 COMBINING REVERSE SOLIDUS OVERLAY
-20E6 COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7 COMBINING ANNUITY SYMBOL
-20E8 COMBINING TRIPLE UNDERDOT
-20E9 COMBINING WIDE BRIDGE ABOVE
-20EA COMBINING LEFTWARDS ARROW OVERLAY
-20EB COMBINING LONG DOUBLE SOLIDUS OVERLAY
-20EC COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-20ED COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
-20EE COMBINING LEFT ARROW BELOW
-20EF COMBINING RIGHT ARROW BELOW
-20F0 COMBINING ASTERISK ABOVE
-2100 ACCOUNT OF
-2101 ADDRESSED TO THE SUBJECT
-2102 DOUBLE-STRUCK CAPITAL C
-2103 DEGREE CELSIUS
-2104 CENTRE LINE SYMBOL
-2105 CARE OF
-2106 CADA UNA
-2107 EULER CONSTANT
-2108 SCRUPLE
-2109 DEGREE FAHRENHEIT
-210A SCRIPT SMALL G
-210B SCRIPT CAPITAL H
-210C BLACK-LETTER CAPITAL H
-210D DOUBLE-STRUCK CAPITAL H
-210E PLANCK CONSTANT
-210F PLANCK CONSTANT OVER TWO PI
-2110 SCRIPT CAPITAL I
-2111 BLACK-LETTER CAPITAL I
-2112 SCRIPT CAPITAL L
-2113 SCRIPT SMALL L
-2114 L B BAR SYMBOL
-2115 DOUBLE-STRUCK CAPITAL N
-2116 NUMERO SIGN
-2117 SOUND RECORDING COPYRIGHT
-2118 SCRIPT CAPITAL P
-2119 DOUBLE-STRUCK CAPITAL P
-211A DOUBLE-STRUCK CAPITAL Q
-211B SCRIPT CAPITAL R
-211C BLACK-LETTER CAPITAL R
-211D DOUBLE-STRUCK CAPITAL R
-211E PRESCRIPTION TAKE
-211F RESPONSE
-2120 SERVICE MARK
-2121 TELEPHONE SIGN
-2122 TRADE MARK SIGN
-2123 VERSICLE
-2124 DOUBLE-STRUCK CAPITAL Z
-2125 OUNCE SIGN
-2126 OHM SIGN
-2127 INVERTED OHM SIGN
-2128 BLACK-LETTER CAPITAL Z
-2129 TURNED GREEK SMALL LETTER IOTA
-212A KELVIN SIGN
-212B ANGSTROM SIGN
-212C SCRIPT CAPITAL B
-212D BLACK-LETTER CAPITAL C
-212E ESTIMATED SYMBOL
-212F SCRIPT SMALL E
-2130 SCRIPT CAPITAL E
-2131 SCRIPT CAPITAL F
-2132 TURNED CAPITAL F
-2133 SCRIPT CAPITAL M
-2134 SCRIPT SMALL O
-2135 ALEF SYMBOL
-2136 BET SYMBOL
-2137 GIMEL SYMBOL
-2138 DALET SYMBOL
-2139 INFORMATION SOURCE
-213A ROTATED CAPITAL Q
-213B FACSIMILE SIGN
-213C DOUBLE-STRUCK SMALL PI
-213D DOUBLE-STRUCK SMALL GAMMA
-213E DOUBLE-STRUCK CAPITAL GAMMA
-213F DOUBLE-STRUCK CAPITAL PI
-2140 DOUBLE-STRUCK N-ARY SUMMATION
-2141 TURNED SANS-SERIF CAPITAL G
-2142 TURNED SANS-SERIF CAPITAL L
-2143 REVERSED SANS-SERIF CAPITAL L
-2144 TURNED SANS-SERIF CAPITAL Y
-2145 DOUBLE-STRUCK ITALIC CAPITAL D
-2146 DOUBLE-STRUCK ITALIC SMALL D
-2147 DOUBLE-STRUCK ITALIC SMALL E
-2148 DOUBLE-STRUCK ITALIC SMALL I
-2149 DOUBLE-STRUCK ITALIC SMALL J
-214A PROPERTY LINE
-214B TURNED AMPERSAND
-214C PER SIGN
-214D AKTIESELSKAB
-214E TURNED SMALL F
-214F SYMBOL FOR SAMARITAN SOURCE
-2150 VULGAR FRACTION ONE SEVENTH
-2151 VULGAR FRACTION ONE NINTH
-2152 VULGAR FRACTION ONE TENTH
-2153 VULGAR FRACTION ONE THIRD
-2154 VULGAR FRACTION TWO THIRDS
-2155 VULGAR FRACTION ONE FIFTH
-2156 VULGAR FRACTION TWO FIFTHS
-2157 VULGAR FRACTION THREE FIFTHS
-2158 VULGAR FRACTION FOUR FIFTHS
-2159 VULGAR FRACTION ONE SIXTH
-215A VULGAR FRACTION FIVE SIXTHS
-215B VULGAR FRACTION ONE EIGHTH
-215C VULGAR FRACTION THREE EIGHTHS
-215D VULGAR FRACTION FIVE EIGHTHS
-215E VULGAR FRACTION SEVEN EIGHTHS
-215F FRACTION NUMERATOR ONE
-2160 ROMAN NUMERAL ONE
-2161 ROMAN NUMERAL TWO
-2162 ROMAN NUMERAL THREE
-2163 ROMAN NUMERAL FOUR
-2164 ROMAN NUMERAL FIVE
-2165 ROMAN NUMERAL SIX
-2166 ROMAN NUMERAL SEVEN
-2167 ROMAN NUMERAL EIGHT
-2168 ROMAN NUMERAL NINE
-2169 ROMAN NUMERAL TEN
-216A ROMAN NUMERAL ELEVEN
-216B ROMAN NUMERAL TWELVE
-216C ROMAN NUMERAL FIFTY
-216D ROMAN NUMERAL ONE HUNDRED
-216E ROMAN NUMERAL FIVE HUNDRED
-216F ROMAN NUMERAL ONE THOUSAND
-2170 SMALL ROMAN NUMERAL ONE
-2171 SMALL ROMAN NUMERAL TWO
-2172 SMALL ROMAN NUMERAL THREE
-2173 SMALL ROMAN NUMERAL FOUR
-2174 SMALL ROMAN NUMERAL FIVE
-2175 SMALL ROMAN NUMERAL SIX
-2176 SMALL ROMAN NUMERAL SEVEN
-2177 SMALL ROMAN NUMERAL EIGHT
-2178 SMALL ROMAN NUMERAL NINE
-2179 SMALL ROMAN NUMERAL TEN
-217A SMALL ROMAN NUMERAL ELEVEN
-217B SMALL ROMAN NUMERAL TWELVE
-217C SMALL ROMAN NUMERAL FIFTY
-217D SMALL ROMAN NUMERAL ONE HUNDRED
-217E SMALL ROMAN NUMERAL FIVE HUNDRED
-217F SMALL ROMAN NUMERAL ONE THOUSAND
-2180 ROMAN NUMERAL ONE THOUSAND C D
-2181 ROMAN NUMERAL FIVE THOUSAND
-2182 ROMAN NUMERAL TEN THOUSAND
-2183 ROMAN NUMERAL REVERSED ONE HUNDRED
-2184 LATIN SMALL LETTER REVERSED C
-2185 ROMAN NUMERAL SIX LATE FORM
-2186 ROMAN NUMERAL FIFTY EARLY FORM
-2187 ROMAN NUMERAL FIFTY THOUSAND
-2188 ROMAN NUMERAL ONE HUNDRED THOUSAND
-2189 VULGAR FRACTION ZERO THIRDS
-2190 LEFTWARDS ARROW
-2191 UPWARDS ARROW
-2192 RIGHTWARDS ARROW
-2193 DOWNWARDS ARROW
-2194 LEFT RIGHT ARROW
-2195 UP DOWN ARROW
-2196 NORTH WEST ARROW
-2197 NORTH EAST ARROW
-2198 SOUTH EAST ARROW
-2199 SOUTH WEST ARROW
-219A LEFTWARDS ARROW WITH STROKE
-219B RIGHTWARDS ARROW WITH STROKE
-219C LEFTWARDS WAVE ARROW
-219D RIGHTWARDS WAVE ARROW
-219E LEFTWARDS TWO HEADED ARROW
-219F UPWARDS TWO HEADED ARROW
-21A0 RIGHTWARDS TWO HEADED ARROW
-21A1 DOWNWARDS TWO HEADED ARROW
-21A2 LEFTWARDS ARROW WITH TAIL
-21A3 RIGHTWARDS ARROW WITH TAIL
-21A4 LEFTWARDS ARROW FROM BAR
-21A5 UPWARDS ARROW FROM BAR
-21A6 RIGHTWARDS ARROW FROM BAR
-21A7 DOWNWARDS ARROW FROM BAR
-21A8 UP DOWN ARROW WITH BASE
-21A9 LEFTWARDS ARROW WITH HOOK
-21AA RIGHTWARDS ARROW WITH HOOK
-21AB LEFTWARDS ARROW WITH LOOP
-21AC RIGHTWARDS ARROW WITH LOOP
-21AD LEFT RIGHT WAVE ARROW
-21AE LEFT RIGHT ARROW WITH STROKE
-21AF DOWNWARDS ZIGZAG ARROW
-21B0 UPWARDS ARROW WITH TIP LEFTWARDS
-21B1 UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2 DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5 DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6 ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7 CLOCKWISE TOP SEMICIRCLE ARROW
-21B8 NORTH WEST ARROW TO LONG BAR
-21B9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB CLOCKWISE OPEN CIRCLE ARROW
-21BC LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0 RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1 RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2 DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3 DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7 LEFTWARDS PAIRED ARROWS
-21C8 UPWARDS PAIRED ARROWS
-21C9 RIGHTWARDS PAIRED ARROWS
-21CA DOWNWARDS PAIRED ARROWS
-21CB LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE LEFT RIGHT DOUBLE ARROW WITH STROKE
-21CF RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0 LEFTWARDS DOUBLE ARROW
-21D1 UPWARDS DOUBLE ARROW
-21D2 RIGHTWARDS DOUBLE ARROW
-21D3 DOWNWARDS DOUBLE ARROW
-21D4 LEFT RIGHT DOUBLE ARROW
-21D5 UP DOWN DOUBLE ARROW
-21D6 NORTH WEST DOUBLE ARROW
-21D7 NORTH EAST DOUBLE ARROW
-21D8 SOUTH EAST DOUBLE ARROW
-21D9 SOUTH WEST DOUBLE ARROW
-21DA LEFTWARDS TRIPLE ARROW
-21DB RIGHTWARDS TRIPLE ARROW
-21DC LEFTWARDS SQUIGGLE ARROW
-21DD RIGHTWARDS SQUIGGLE ARROW
-21DE UPWARDS ARROW WITH DOUBLE STROKE
-21DF DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0 LEFTWARDS DASHED ARROW
-21E1 UPWARDS DASHED ARROW
-21E2 RIGHTWARDS DASHED ARROW
-21E3 DOWNWARDS DASHED ARROW
-21E4 LEFTWARDS ARROW TO BAR
-21E5 RIGHTWARDS ARROW TO BAR
-21E6 LEFTWARDS WHITE ARROW
-21E7 UPWARDS WHITE ARROW
-21E8 RIGHTWARDS WHITE ARROW
-21E9 DOWNWARDS WHITE ARROW
-21EA UPWARDS WHITE ARROW FROM BAR
-21EB UPWARDS WHITE ARROW ON PEDESTAL
-21EC UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE UPWARDS WHITE DOUBLE ARROW
-21EF UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0 RIGHTWARDS WHITE ARROW FROM WALL
-21F1 NORTH WEST ARROW TO CORNER
-21F2 SOUTH EAST ARROW TO CORNER
-21F3 UP DOWN WHITE ARROW
-21F4 RIGHT ARROW WITH SMALL CIRCLE
-21F5 DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6 THREE RIGHTWARDS ARROWS
-21F7 LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8 RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9 LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD LEFTWARDS OPEN-HEADED ARROW
-21FE RIGHTWARDS OPEN-HEADED ARROW
-21FF LEFT RIGHT OPEN-HEADED ARROW
-2200 FOR ALL
-2201 COMPLEMENT
-2202 PARTIAL DIFFERENTIAL
-2203 THERE EXISTS
-2204 THERE DOES NOT EXIST
-2205 EMPTY SET
-2206 INCREMENT
-2207 NABLA
-2208 ELEMENT OF
-2209 NOT AN ELEMENT OF
-220A SMALL ELEMENT OF
-220B CONTAINS AS MEMBER
-220C DOES NOT CONTAIN AS MEMBER
-220D SMALL CONTAINS AS MEMBER
-220E END OF PROOF
-220F N-ARY PRODUCT
-2210 N-ARY COPRODUCT
-2211 N-ARY SUMMATION
-2212 MINUS SIGN
-2213 MINUS-OR-PLUS SIGN
-2214 DOT PLUS
-2215 DIVISION SLASH
-2216 SET MINUS
-2217 ASTERISK OPERATOR
-2218 RING OPERATOR
-2219 BULLET OPERATOR
-221A SQUARE ROOT
-221B CUBE ROOT
-221C FOURTH ROOT
-221D PROPORTIONAL TO
-221E INFINITY
-221F RIGHT ANGLE
-2220 ANGLE
-2221 MEASURED ANGLE
-2222 SPHERICAL ANGLE
-2223 DIVIDES
-2224 DOES NOT DIVIDE
-2225 PARALLEL TO
-2226 NOT PARALLEL TO
-2227 LOGICAL AND
-2228 LOGICAL OR
-2229 INTERSECTION
-222A UNION
-222B INTEGRAL
-222C DOUBLE INTEGRAL
-222D TRIPLE INTEGRAL
-222E CONTOUR INTEGRAL
-222F SURFACE INTEGRAL
-2230 VOLUME INTEGRAL
-2231 CLOCKWISE INTEGRAL
-2232 CLOCKWISE CONTOUR INTEGRAL
-2233 ANTICLOCKWISE CONTOUR INTEGRAL
-2234 THEREFORE
-2235 BECAUSE
-2236 RATIO
-2237 PROPORTION
-2238 DOT MINUS
-2239 EXCESS
-223A GEOMETRIC PROPORTION
-223B HOMOTHETIC
-223C TILDE OPERATOR
-223D REVERSED TILDE
-223E INVERTED LAZY S
-223F SINE WAVE
-2240 WREATH PRODUCT
-2241 NOT TILDE
-2242 MINUS TILDE
-2243 ASYMPTOTICALLY EQUAL TO
-2244 NOT ASYMPTOTICALLY EQUAL TO
-2245 APPROXIMATELY EQUAL TO
-2246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2248 ALMOST EQUAL TO
-2249 NOT ALMOST EQUAL TO
-224A ALMOST EQUAL OR EQUAL TO
-224B TRIPLE TILDE
-224C ALL EQUAL TO
-224D EQUIVALENT TO
-224E GEOMETRICALLY EQUIVALENT TO
-224F DIFFERENCE BETWEEN
-2250 APPROACHES THE LIMIT
-2251 GEOMETRICALLY EQUAL TO
-2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253 IMAGE OF OR APPROXIMATELY EQUAL TO
-2254 COLON EQUALS
-2255 EQUALS COLON
-2256 RING IN EQUAL TO
-2257 RING EQUAL TO
-2258 CORRESPONDS TO
-2259 ESTIMATES
-225A EQUIANGULAR TO
-225B STAR EQUALS
-225C DELTA EQUAL TO
-225D EQUAL TO BY DEFINITION
-225E MEASURED BY
-225F QUESTIONED EQUAL TO
-2260 NOT EQUAL TO
-2261 IDENTICAL TO
-2262 NOT IDENTICAL TO
-2263 STRICTLY EQUIVALENT TO
-2264 LESS-THAN OR EQUAL TO
-2265 GREATER-THAN OR EQUAL TO
-2266 LESS-THAN OVER EQUAL TO
-2267 GREATER-THAN OVER EQUAL TO
-2268 LESS-THAN BUT NOT EQUAL TO
-2269 GREATER-THAN BUT NOT EQUAL TO
-226A MUCH LESS-THAN
-226B MUCH GREATER-THAN
-226C BETWEEN
-226D NOT EQUIVALENT TO
-226E NOT LESS-THAN
-226F NOT GREATER-THAN
-2270 NEITHER LESS-THAN NOR EQUAL TO
-2271 NEITHER GREATER-THAN NOR EQUAL TO
-2272 LESS-THAN OR EQUIVALENT TO
-2273 GREATER-THAN OR EQUIVALENT TO
-2274 NEITHER LESS-THAN NOR EQUIVALENT TO
-2275 NEITHER GREATER-THAN NOR EQUIVALENT TO
-2276 LESS-THAN OR GREATER-THAN
-2277 GREATER-THAN OR LESS-THAN
-2278 NEITHER LESS-THAN NOR GREATER-THAN
-2279 NEITHER GREATER-THAN NOR LESS-THAN
-227A PRECEDES
-227B SUCCEEDS
-227C PRECEDES OR EQUAL TO
-227D SUCCEEDS OR EQUAL TO
-227E PRECEDES OR EQUIVALENT TO
-227F SUCCEEDS OR EQUIVALENT TO
-2280 DOES NOT PRECEDE
-2281 DOES NOT SUCCEED
-2282 SUBSET OF
-2283 SUPERSET OF
-2284 NOT A SUBSET OF
-2285 NOT A SUPERSET OF
-2286 SUBSET OF OR EQUAL TO
-2287 SUPERSET OF OR EQUAL TO
-2288 NEITHER A SUBSET OF NOR EQUAL TO
-2289 NEITHER A SUPERSET OF NOR EQUAL TO
-228A SUBSET OF WITH NOT EQUAL TO
-228B SUPERSET OF WITH NOT EQUAL TO
-228C MULTISET
-228D MULTISET MULTIPLICATION
-228E MULTISET UNION
-228F SQUARE IMAGE OF
-2290 SQUARE ORIGINAL OF
-2291 SQUARE IMAGE OF OR EQUAL TO
-2292 SQUARE ORIGINAL OF OR EQUAL TO
-2293 SQUARE CAP
-2294 SQUARE CUP
-2295 CIRCLED PLUS
-2296 CIRCLED MINUS
-2297 CIRCLED TIMES
-2298 CIRCLED DIVISION SLASH
-2299 CIRCLED DOT OPERATOR
-229A CIRCLED RING OPERATOR
-229B CIRCLED ASTERISK OPERATOR
-229C CIRCLED EQUALS
-229D CIRCLED DASH
-229E SQUARED PLUS
-229F SQUARED MINUS
-22A0 SQUARED TIMES
-22A1 SQUARED DOT OPERATOR
-22A2 RIGHT TACK
-22A3 LEFT TACK
-22A4 DOWN TACK
-22A5 UP TACK
-22A6 ASSERTION
-22A7 MODELS
-22A8 TRUE
-22A9 FORCES
-22AA TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC DOES NOT PROVE
-22AD NOT TRUE
-22AE DOES NOT FORCE
-22AF NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22B0 PRECEDES UNDER RELATION
-22B1 SUCCEEDS UNDER RELATION
-22B2 NORMAL SUBGROUP OF
-22B3 CONTAINS AS NORMAL SUBGROUP
-22B4 NORMAL SUBGROUP OF OR EQUAL TO
-22B5 CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6 ORIGINAL OF
-22B7 IMAGE OF
-22B8 MULTIMAP
-22B9 HERMITIAN CONJUGATE MATRIX
-22BA INTERCALATE
-22BB XOR
-22BC NAND
-22BD NOR
-22BE RIGHT ANGLE WITH ARC
-22BF RIGHT TRIANGLE
-22C0 N-ARY LOGICAL AND
-22C1 N-ARY LOGICAL OR
-22C2 N-ARY INTERSECTION
-22C3 N-ARY UNION
-22C4 DIAMOND OPERATOR
-22C5 DOT OPERATOR
-22C6 STAR OPERATOR
-22C7 DIVISION TIMES
-22C8 BOWTIE
-22C9 LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB LEFT SEMIDIRECT PRODUCT
-22CC RIGHT SEMIDIRECT PRODUCT
-22CD REVERSED TILDE EQUALS
-22CE CURLY LOGICAL OR
-22CF CURLY LOGICAL AND
-22D0 DOUBLE SUBSET
-22D1 DOUBLE SUPERSET
-22D2 DOUBLE INTERSECTION
-22D3 DOUBLE UNION
-22D4 PITCHFORK
-22D5 EQUAL AND PARALLEL TO
-22D6 LESS-THAN WITH DOT
-22D7 GREATER-THAN WITH DOT
-22D8 VERY MUCH LESS-THAN
-22D9 VERY MUCH GREATER-THAN
-22DA LESS-THAN EQUAL TO OR GREATER-THAN
-22DB GREATER-THAN EQUAL TO OR LESS-THAN
-22DC EQUAL TO OR LESS-THAN
-22DD EQUAL TO OR GREATER-THAN
-22DE EQUAL TO OR PRECEDES
-22DF EQUAL TO OR SUCCEEDS
-22E0 DOES NOT PRECEDE OR EQUAL
-22E1 DOES NOT SUCCEED OR EQUAL
-22E2 NOT SQUARE IMAGE OF OR EQUAL TO
-22E3 NOT SQUARE ORIGINAL OF OR EQUAL TO
-22E4 SQUARE IMAGE OF OR NOT EQUAL TO
-22E5 SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6 LESS-THAN BUT NOT EQUIVALENT TO
-22E7 GREATER-THAN BUT NOT EQUIVALENT TO
-22E8 PRECEDES BUT NOT EQUIVALENT TO
-22E9 SUCCEEDS BUT NOT EQUIVALENT TO
-22EA NOT NORMAL SUBGROUP OF
-22EB DOES NOT CONTAIN AS NORMAL SUBGROUP
-22EC NOT NORMAL SUBGROUP OF OR EQUAL TO
-22ED DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22EE VERTICAL ELLIPSIS
-22EF MIDLINE HORIZONTAL ELLIPSIS
-22F0 UP RIGHT DIAGONAL ELLIPSIS
-22F1 DOWN RIGHT DIAGONAL ELLIPSIS
-22F2 ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3 ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4 SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5 ELEMENT OF WITH DOT ABOVE
-22F6 ELEMENT OF WITH OVERBAR
-22F7 SMALL ELEMENT OF WITH OVERBAR
-22F8 ELEMENT OF WITH UNDERBAR
-22F9 ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA CONTAINS WITH LONG HORIZONTAL STROKE
-22FB CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD CONTAINS WITH OVERBAR
-22FE SMALL CONTAINS WITH OVERBAR
-22FF Z NOTATION BAG MEMBERSHIP
-2300 DIAMETER SIGN
-2301 ELECTRIC ARROW
-2302 HOUSE
-2303 UP ARROWHEAD
-2304 DOWN ARROWHEAD
-2305 PROJECTIVE
-2306 PERSPECTIVE
-2307 WAVY LINE
-2308 LEFT CEILING
-2309 RIGHT CEILING
-230A LEFT FLOOR
-230B RIGHT FLOOR
-230C BOTTOM RIGHT CROP
-230D BOTTOM LEFT CROP
-230E TOP RIGHT CROP
-230F TOP LEFT CROP
-2310 REVERSED NOT SIGN
-2311 SQUARE LOZENGE
-2312 ARC
-2313 SEGMENT
-2314 SECTOR
-2315 TELEPHONE RECORDER
-2316 POSITION INDICATOR
-2317 VIEWDATA SQUARE
-2318 PLACE OF INTEREST SIGN
-2319 TURNED NOT SIGN
-231A WATCH
-231B HOURGLASS
-231C TOP LEFT CORNER
-231D TOP RIGHT CORNER
-231E BOTTOM LEFT CORNER
-231F BOTTOM RIGHT CORNER
-2320 TOP HALF INTEGRAL
-2321 BOTTOM HALF INTEGRAL
-2322 FROWN
-2323 SMILE
-2324 UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325 OPTION KEY
-2326 ERASE TO THE RIGHT
-2327 X IN A RECTANGLE BOX
-2328 KEYBOARD
-2329 LEFT-POINTING ANGLE BRACKET
-232A RIGHT-POINTING ANGLE BRACKET
-232B ERASE TO THE LEFT
-232C BENZENE RING
-232D CYLINDRICITY
-232E ALL AROUND-PROFILE
-232F SYMMETRY
-2330 TOTAL RUNOUT
-2331 DIMENSION ORIGIN
-2332 CONICAL TAPER
-2333 SLOPE
-2334 COUNTERBORE
-2335 COUNTERSINK
-2336 APL FUNCTIONAL SYMBOL I-BEAM
-2337 APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338 APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339 APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B APL FUNCTIONAL SYMBOL QUAD JOT
-233C APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F APL FUNCTIONAL SYMBOL SLASH BAR
-2340 APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341 APL FUNCTIONAL SYMBOL QUAD SLASH
-2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343 APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344 APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345 APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346 APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B APL FUNCTIONAL SYMBOL DELTA STILE
-234C APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D APL FUNCTIONAL SYMBOL QUAD DELTA
-234E APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351 APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352 APL FUNCTIONAL SYMBOL DEL STILE
-2353 APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354 APL FUNCTIONAL SYMBOL QUAD DEL
-2355 APL FUNCTIONAL SYMBOL UP TACK JOT
-2356 APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360 APL FUNCTIONAL SYMBOL QUAD COLON
-2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363 APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367 APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368 APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369 APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A APL FUNCTIONAL SYMBOL COMMA BAR
-236B APL FUNCTIONAL SYMBOL DEL TILDE
-236C APL FUNCTIONAL SYMBOL ZILDE
-236D APL FUNCTIONAL SYMBOL STILE TILDE
-236E APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370 APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372 APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373 APL FUNCTIONAL SYMBOL IOTA
-2374 APL FUNCTIONAL SYMBOL RHO
-2375 APL FUNCTIONAL SYMBOL OMEGA
-2376 APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A APL FUNCTIONAL SYMBOL ALPHA
-237B NOT CHECK MARK
-237C RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D SHOULDERED OPEN BOX
-237E BELL SYMBOL
-237F VERTICAL LINE WITH MIDDLE DOT
-2380 INSERTION SYMBOL
-2381 CONTINUOUS UNDERLINE SYMBOL
-2382 DISCONTINUOUS UNDERLINE SYMBOL
-2383 EMPHASIS SYMBOL
-2384 COMPOSITION SYMBOL
-2385 WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386 ENTER SYMBOL
-2387 ALTERNATIVE KEY SYMBOL
-2388 HELM SYMBOL
-2389 CIRCLED HORIZONTAL BAR WITH NOTCH
-238A CIRCLED TRIANGLE DOWN
-238B BROKEN CIRCLE WITH NORTHWEST ARROW
-238C UNDO SYMBOL
-238D MONOSTABLE SYMBOL
-238E HYSTERESIS SYMBOL
-238F OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390 OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391 PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392 PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393 DIRECT CURRENT SYMBOL FORM TWO
-2394 SOFTWARE-FUNCTION SYMBOL
-2395 APL FUNCTIONAL SYMBOL QUAD
-2396 DECIMAL SEPARATOR KEY SYMBOL
-2397 PREVIOUS PAGE
-2398 NEXT PAGE
-2399 PRINT SCREEN SYMBOL
-239A CLEAR SCREEN SYMBOL
-239B LEFT PARENTHESIS UPPER HOOK
-239C LEFT PARENTHESIS EXTENSION
-239D LEFT PARENTHESIS LOWER HOOK
-239E RIGHT PARENTHESIS UPPER HOOK
-239F RIGHT PARENTHESIS EXTENSION
-23A0 RIGHT PARENTHESIS LOWER HOOK
-23A1 LEFT SQUARE BRACKET UPPER CORNER
-23A2 LEFT SQUARE BRACKET EXTENSION
-23A3 LEFT SQUARE BRACKET LOWER CORNER
-23A4 RIGHT SQUARE BRACKET UPPER CORNER
-23A5 RIGHT SQUARE BRACKET EXTENSION
-23A6 RIGHT SQUARE BRACKET LOWER CORNER
-23A7 LEFT CURLY BRACKET UPPER HOOK
-23A8 LEFT CURLY BRACKET MIDDLE PIECE
-23A9 LEFT CURLY BRACKET LOWER HOOK
-23AA CURLY BRACKET EXTENSION
-23AB RIGHT CURLY BRACKET UPPER HOOK
-23AC RIGHT CURLY BRACKET MIDDLE PIECE
-23AD RIGHT CURLY BRACKET LOWER HOOK
-23AE INTEGRAL EXTENSION
-23AF HORIZONTAL LINE EXTENSION
-23B0 UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1 UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2 SUMMATION TOP
-23B3 SUMMATION BOTTOM
-23B4 TOP SQUARE BRACKET
-23B5 BOTTOM SQUARE BRACKET
-23B6 BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7 RADICAL SYMBOL BOTTOM
-23B8 LEFT VERTICAL BOX LINE
-23B9 RIGHT VERTICAL BOX LINE
-23BA HORIZONTAL SCAN LINE-1
-23BB HORIZONTAL SCAN LINE-3
-23BC HORIZONTAL SCAN LINE-7
-23BD HORIZONTAL SCAN LINE-9
-23BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0 DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3 DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6 DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD SQUARE FOOT
-23CE RETURN SYMBOL
-23CF EJECT SYMBOL
-23D0 VERTICAL LINE EXTENSION
-23D1 METRICAL BREVE
-23D2 METRICAL LONG OVER SHORT
-23D3 METRICAL SHORT OVER LONG
-23D4 METRICAL LONG OVER TWO SHORTS
-23D5 METRICAL TWO SHORTS OVER LONG
-23D6 METRICAL TWO SHORTS JOINED
-23D7 METRICAL TRISEME
-23D8 METRICAL TETRASEME
-23D9 METRICAL PENTASEME
-23DA EARTH GROUND
-23DB FUSE
-23DC TOP PARENTHESIS
-23DD BOTTOM PARENTHESIS
-23DE TOP CURLY BRACKET
-23DF BOTTOM CURLY BRACKET
-23E0 TOP TORTOISE SHELL BRACKET
-23E1 BOTTOM TORTOISE SHELL BRACKET
-23E2 WHITE TRAPEZIUM
-23E3 BENZENE RING WITH CIRCLE
-23E4 STRAIGHTNESS
-23E5 FLATNESS
-23E6 AC CURRENT
-23E7 ELECTRICAL INTERSECTION
-23E8 DECIMAL EXPONENT SYMBOL
-2400 SYMBOL FOR NULL
-2401 SYMBOL FOR START OF HEADING
-2402 SYMBOL FOR START OF TEXT
-2403 SYMBOL FOR END OF TEXT
-2404 SYMBOL FOR END OF TRANSMISSION
-2405 SYMBOL FOR ENQUIRY
-2406 SYMBOL FOR ACKNOWLEDGE
-2407 SYMBOL FOR BELL
-2408 SYMBOL FOR BACKSPACE
-2409 SYMBOL FOR HORIZONTAL TABULATION
-240A SYMBOL FOR LINE FEED
-240B SYMBOL FOR VERTICAL TABULATION
-240C SYMBOL FOR FORM FEED
-240D SYMBOL FOR CARRIAGE RETURN
-240E SYMBOL FOR SHIFT OUT
-240F SYMBOL FOR SHIFT IN
-2410 SYMBOL FOR DATA LINK ESCAPE
-2411 SYMBOL FOR DEVICE CONTROL ONE
-2412 SYMBOL FOR DEVICE CONTROL TWO
-2413 SYMBOL FOR DEVICE CONTROL THREE
-2414 SYMBOL FOR DEVICE CONTROL FOUR
-2415 SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416 SYMBOL FOR SYNCHRONOUS IDLE
-2417 SYMBOL FOR END OF TRANSMISSION BLOCK
-2418 SYMBOL FOR CANCEL
-2419 SYMBOL FOR END OF MEDIUM
-241A SYMBOL FOR SUBSTITUTE
-241B SYMBOL FOR ESCAPE
-241C SYMBOL FOR FILE SEPARATOR
-241D SYMBOL FOR GROUP SEPARATOR
-241E SYMBOL FOR RECORD SEPARATOR
-241F SYMBOL FOR UNIT SEPARATOR
-2420 SYMBOL FOR SPACE
-2421 SYMBOL FOR DELETE
-2422 BLANK SYMBOL
-2423 OPEN BOX
-2424 SYMBOL FOR NEWLINE
-2425 SYMBOL FOR DELETE FORM TWO
-2426 SYMBOL FOR SUBSTITUTE FORM TWO
-2440 OCR HOOK
-2441 OCR CHAIR
-2442 OCR FORK
-2443 OCR INVERTED FORK
-2444 OCR BELT BUCKLE
-2445 OCR BOW TIE
-2446 OCR BRANCH BANK IDENTIFICATION
-2447 OCR AMOUNT OF CHECK
-2448 OCR DASH
-2449 OCR CUSTOMER ACCOUNT NUMBER
-244A OCR DOUBLE BACKSLASH
-2460 CIRCLED DIGIT ONE
-2461 CIRCLED DIGIT TWO
-2462 CIRCLED DIGIT THREE
-2463 CIRCLED DIGIT FOUR
-2464 CIRCLED DIGIT FIVE
-2465 CIRCLED DIGIT SIX
-2466 CIRCLED DIGIT SEVEN
-2467 CIRCLED DIGIT EIGHT
-2468 CIRCLED DIGIT NINE
-2469 CIRCLED NUMBER TEN
-246A CIRCLED NUMBER ELEVEN
-246B CIRCLED NUMBER TWELVE
-246C CIRCLED NUMBER THIRTEEN
-246D CIRCLED NUMBER FOURTEEN
-246E CIRCLED NUMBER FIFTEEN
-246F CIRCLED NUMBER SIXTEEN
-2470 CIRCLED NUMBER SEVENTEEN
-2471 CIRCLED NUMBER EIGHTEEN
-2472 CIRCLED NUMBER NINETEEN
-2473 CIRCLED NUMBER TWENTY
-2474 PARENTHESIZED DIGIT ONE
-2475 PARENTHESIZED DIGIT TWO
-2476 PARENTHESIZED DIGIT THREE
-2477 PARENTHESIZED DIGIT FOUR
-2478 PARENTHESIZED DIGIT FIVE
-2479 PARENTHESIZED DIGIT SIX
-247A PARENTHESIZED DIGIT SEVEN
-247B PARENTHESIZED DIGIT EIGHT
-247C PARENTHESIZED DIGIT NINE
-247D PARENTHESIZED NUMBER TEN
-247E PARENTHESIZED NUMBER ELEVEN
-247F PARENTHESIZED NUMBER TWELVE
-2480 PARENTHESIZED NUMBER THIRTEEN
-2481 PARENTHESIZED NUMBER FOURTEEN
-2482 PARENTHESIZED NUMBER FIFTEEN
-2483 PARENTHESIZED NUMBER SIXTEEN
-2484 PARENTHESIZED NUMBER SEVENTEEN
-2485 PARENTHESIZED NUMBER EIGHTEEN
-2486 PARENTHESIZED NUMBER NINETEEN
-2487 PARENTHESIZED NUMBER TWENTY
-2488 DIGIT ONE FULL STOP
-2489 DIGIT TWO FULL STOP
-248A DIGIT THREE FULL STOP
-248B DIGIT FOUR FULL STOP
-248C DIGIT FIVE FULL STOP
-248D DIGIT SIX FULL STOP
-248E DIGIT SEVEN FULL STOP
-248F DIGIT EIGHT FULL STOP
-2490 DIGIT NINE FULL STOP
-2491 NUMBER TEN FULL STOP
-2492 NUMBER ELEVEN FULL STOP
-2493 NUMBER TWELVE FULL STOP
-2494 NUMBER THIRTEEN FULL STOP
-2495 NUMBER FOURTEEN FULL STOP
-2496 NUMBER FIFTEEN FULL STOP
-2497 NUMBER SIXTEEN FULL STOP
-2498 NUMBER SEVENTEEN FULL STOP
-2499 NUMBER EIGHTEEN FULL STOP
-249A NUMBER NINETEEN FULL STOP
-249B NUMBER TWENTY FULL STOP
-249C PARENTHESIZED LATIN SMALL LETTER A
-249D PARENTHESIZED LATIN SMALL LETTER B
-249E PARENTHESIZED LATIN SMALL LETTER C
-249F PARENTHESIZED LATIN SMALL LETTER D
-24A0 PARENTHESIZED LATIN SMALL LETTER E
-24A1 PARENTHESIZED LATIN SMALL LETTER F
-24A2 PARENTHESIZED LATIN SMALL LETTER G
-24A3 PARENTHESIZED LATIN SMALL LETTER H
-24A4 PARENTHESIZED LATIN SMALL LETTER I
-24A5 PARENTHESIZED LATIN SMALL LETTER J
-24A6 PARENTHESIZED LATIN SMALL LETTER K
-24A7 PARENTHESIZED LATIN SMALL LETTER L
-24A8 PARENTHESIZED LATIN SMALL LETTER M
-24A9 PARENTHESIZED LATIN SMALL LETTER N
-24AA PARENTHESIZED LATIN SMALL LETTER O
-24AB PARENTHESIZED LATIN SMALL LETTER P
-24AC PARENTHESIZED LATIN SMALL LETTER Q
-24AD PARENTHESIZED LATIN SMALL LETTER R
-24AE PARENTHESIZED LATIN SMALL LETTER S
-24AF PARENTHESIZED LATIN SMALL LETTER T
-24B0 PARENTHESIZED LATIN SMALL LETTER U
-24B1 PARENTHESIZED LATIN SMALL LETTER V
-24B2 PARENTHESIZED LATIN SMALL LETTER W
-24B3 PARENTHESIZED LATIN SMALL LETTER X
-24B4 PARENTHESIZED LATIN SMALL LETTER Y
-24B5 PARENTHESIZED LATIN SMALL LETTER Z
-24B6 CIRCLED LATIN CAPITAL LETTER A
-24B7 CIRCLED LATIN CAPITAL LETTER B
-24B8 CIRCLED LATIN CAPITAL LETTER C
-24B9 CIRCLED LATIN CAPITAL LETTER D
-24BA CIRCLED LATIN CAPITAL LETTER E
-24BB CIRCLED LATIN CAPITAL LETTER F
-24BC CIRCLED LATIN CAPITAL LETTER G
-24BD CIRCLED LATIN CAPITAL LETTER H
-24BE CIRCLED LATIN CAPITAL LETTER I
-24BF CIRCLED LATIN CAPITAL LETTER J
-24C0 CIRCLED LATIN CAPITAL LETTER K
-24C1 CIRCLED LATIN CAPITAL LETTER L
-24C2 CIRCLED LATIN CAPITAL LETTER M
-24C3 CIRCLED LATIN CAPITAL LETTER N
-24C4 CIRCLED LATIN CAPITAL LETTER O
-24C5 CIRCLED LATIN CAPITAL LETTER P
-24C6 CIRCLED LATIN CAPITAL LETTER Q
-24C7 CIRCLED LATIN CAPITAL LETTER R
-24C8 CIRCLED LATIN CAPITAL LETTER S
-24C9 CIRCLED LATIN CAPITAL LETTER T
-24CA CIRCLED LATIN CAPITAL LETTER U
-24CB CIRCLED LATIN CAPITAL LETTER V
-24CC CIRCLED LATIN CAPITAL LETTER W
-24CD CIRCLED LATIN CAPITAL LETTER X
-24CE CIRCLED LATIN CAPITAL LETTER Y
-24CF CIRCLED LATIN CAPITAL LETTER Z
-24D0 CIRCLED LATIN SMALL LETTER A
-24D1 CIRCLED LATIN SMALL LETTER B
-24D2 CIRCLED LATIN SMALL LETTER C
-24D3 CIRCLED LATIN SMALL LETTER D
-24D4 CIRCLED LATIN SMALL LETTER E
-24D5 CIRCLED LATIN SMALL LETTER F
-24D6 CIRCLED LATIN SMALL LETTER G
-24D7 CIRCLED LATIN SMALL LETTER H
-24D8 CIRCLED LATIN SMALL LETTER I
-24D9 CIRCLED LATIN SMALL LETTER J
-24DA CIRCLED LATIN SMALL LETTER K
-24DB CIRCLED LATIN SMALL LETTER L
-24DC CIRCLED LATIN SMALL LETTER M
-24DD CIRCLED LATIN SMALL LETTER N
-24DE CIRCLED LATIN SMALL LETTER O
-24DF CIRCLED LATIN SMALL LETTER P
-24E0 CIRCLED LATIN SMALL LETTER Q
-24E1 CIRCLED LATIN SMALL LETTER R
-24E2 CIRCLED LATIN SMALL LETTER S
-24E3 CIRCLED LATIN SMALL LETTER T
-24E4 CIRCLED LATIN SMALL LETTER U
-24E5 CIRCLED LATIN SMALL LETTER V
-24E6 CIRCLED LATIN SMALL LETTER W
-24E7 CIRCLED LATIN SMALL LETTER X
-24E8 CIRCLED LATIN SMALL LETTER Y
-24E9 CIRCLED LATIN SMALL LETTER Z
-24EA CIRCLED DIGIT ZERO
-24EB NEGATIVE CIRCLED NUMBER ELEVEN
-24EC NEGATIVE CIRCLED NUMBER TWELVE
-24ED NEGATIVE CIRCLED NUMBER THIRTEEN
-24EE NEGATIVE CIRCLED NUMBER FOURTEEN
-24EF NEGATIVE CIRCLED NUMBER FIFTEEN
-24F0 NEGATIVE CIRCLED NUMBER SIXTEEN
-24F1 NEGATIVE CIRCLED NUMBER SEVENTEEN
-24F2 NEGATIVE CIRCLED NUMBER EIGHTEEN
-24F3 NEGATIVE CIRCLED NUMBER NINETEEN
-24F4 NEGATIVE CIRCLED NUMBER TWENTY
-24F5 DOUBLE CIRCLED DIGIT ONE
-24F6 DOUBLE CIRCLED DIGIT TWO
-24F7 DOUBLE CIRCLED DIGIT THREE
-24F8 DOUBLE CIRCLED DIGIT FOUR
-24F9 DOUBLE CIRCLED DIGIT FIVE
-24FA DOUBLE CIRCLED DIGIT SIX
-24FB DOUBLE CIRCLED DIGIT SEVEN
-24FC DOUBLE CIRCLED DIGIT EIGHT
-24FD DOUBLE CIRCLED DIGIT NINE
-24FE DOUBLE CIRCLED NUMBER TEN
-24FF NEGATIVE CIRCLED DIGIT ZERO
-2500 BOX DRAWINGS LIGHT HORIZONTAL
-2501 BOX DRAWINGS HEAVY HORIZONTAL
-2502 BOX DRAWINGS LIGHT VERTICAL
-2503 BOX DRAWINGS HEAVY VERTICAL
-2504 BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505 BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506 BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507 BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508 BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509 BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510 BOX DRAWINGS LIGHT DOWN AND LEFT
-2511 BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512 BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513 BOX DRAWINGS HEAVY DOWN AND LEFT
-2514 BOX DRAWINGS LIGHT UP AND RIGHT
-2515 BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516 BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517 BOX DRAWINGS HEAVY UP AND RIGHT
-2518 BOX DRAWINGS LIGHT UP AND LEFT
-2519 BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B BOX DRAWINGS HEAVY UP AND LEFT
-251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521 BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522 BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526 BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527 BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529 BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531 BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532 BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535 BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536 BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539 BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540 BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541 BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543 BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544 BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545 BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546 BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547 BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548 BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549 BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550 BOX DRAWINGS DOUBLE HORIZONTAL
-2551 BOX DRAWINGS DOUBLE VERTICAL
-2552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557 BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A BOX DRAWINGS DOUBLE UP AND RIGHT
-255B BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D BOX DRAWINGS DOUBLE UP AND LEFT
-255E BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570 BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571 BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572 BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573 BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574 BOX DRAWINGS LIGHT LEFT
-2575 BOX DRAWINGS LIGHT UP
-2576 BOX DRAWINGS LIGHT RIGHT
-2577 BOX DRAWINGS LIGHT DOWN
-2578 BOX DRAWINGS HEAVY LEFT
-2579 BOX DRAWINGS HEAVY UP
-257A BOX DRAWINGS HEAVY RIGHT
-257B BOX DRAWINGS HEAVY DOWN
-257C BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580 UPPER HALF BLOCK
-2581 LOWER ONE EIGHTH BLOCK
-2582 LOWER ONE QUARTER BLOCK
-2583 LOWER THREE EIGHTHS BLOCK
-2584 LOWER HALF BLOCK
-2585 LOWER FIVE EIGHTHS BLOCK
-2586 LOWER THREE QUARTERS BLOCK
-2587 LOWER SEVEN EIGHTHS BLOCK
-2588 FULL BLOCK
-2589 LEFT SEVEN EIGHTHS BLOCK
-258A LEFT THREE QUARTERS BLOCK
-258B LEFT FIVE EIGHTHS BLOCK
-258C LEFT HALF BLOCK
-258D LEFT THREE EIGHTHS BLOCK
-258E LEFT ONE QUARTER BLOCK
-258F LEFT ONE EIGHTH BLOCK
-2590 RIGHT HALF BLOCK
-2591 LIGHT SHADE
-2592 MEDIUM SHADE
-2593 DARK SHADE
-2594 UPPER ONE EIGHTH BLOCK
-2595 RIGHT ONE EIGHTH BLOCK
-2596 QUADRANT LOWER LEFT
-2597 QUADRANT LOWER RIGHT
-2598 QUADRANT UPPER LEFT
-2599 QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A QUADRANT UPPER LEFT AND LOWER RIGHT
-259B QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D QUADRANT UPPER RIGHT
-259E QUADRANT UPPER RIGHT AND LOWER LEFT
-259F QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0 BLACK SQUARE
-25A1 WHITE SQUARE
-25A2 WHITE SQUARE WITH ROUNDED CORNERS
-25A3 WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4 SQUARE WITH HORIZONTAL FILL
-25A5 SQUARE WITH VERTICAL FILL
-25A6 SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7 SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8 SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9 SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA BLACK SMALL SQUARE
-25AB WHITE SMALL SQUARE
-25AC BLACK RECTANGLE
-25AD WHITE RECTANGLE
-25AE BLACK VERTICAL RECTANGLE
-25AF WHITE VERTICAL RECTANGLE
-25B0 BLACK PARALLELOGRAM
-25B1 WHITE PARALLELOGRAM
-25B2 BLACK UP-POINTING TRIANGLE
-25B3 WHITE UP-POINTING TRIANGLE
-25B4 BLACK UP-POINTING SMALL TRIANGLE
-25B5 WHITE UP-POINTING SMALL TRIANGLE
-25B6 BLACK RIGHT-POINTING TRIANGLE
-25B7 WHITE RIGHT-POINTING TRIANGLE
-25B8 BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9 WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA BLACK RIGHT-POINTING POINTER
-25BB WHITE RIGHT-POINTING POINTER
-25BC BLACK DOWN-POINTING TRIANGLE
-25BD WHITE DOWN-POINTING TRIANGLE
-25BE BLACK DOWN-POINTING SMALL TRIANGLE
-25BF WHITE DOWN-POINTING SMALL TRIANGLE
-25C0 BLACK LEFT-POINTING TRIANGLE
-25C1 WHITE LEFT-POINTING TRIANGLE
-25C2 BLACK LEFT-POINTING SMALL TRIANGLE
-25C3 WHITE LEFT-POINTING SMALL TRIANGLE
-25C4 BLACK LEFT-POINTING POINTER
-25C5 WHITE LEFT-POINTING POINTER
-25C6 BLACK DIAMOND
-25C7 WHITE DIAMOND
-25C8 WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9 FISHEYE
-25CA LOZENGE
-25CB WHITE CIRCLE
-25CC DOTTED CIRCLE
-25CD CIRCLE WITH VERTICAL FILL
-25CE BULLSEYE
-25CF BLACK CIRCLE
-25D0 CIRCLE WITH LEFT HALF BLACK
-25D1 CIRCLE WITH RIGHT HALF BLACK
-25D2 CIRCLE WITH LOWER HALF BLACK
-25D3 CIRCLE WITH UPPER HALF BLACK
-25D4 CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5 CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6 LEFT HALF BLACK CIRCLE
-25D7 RIGHT HALF BLACK CIRCLE
-25D8 INVERSE BULLET
-25D9 INVERSE WHITE CIRCLE
-25DA UPPER HALF INVERSE WHITE CIRCLE
-25DB LOWER HALF INVERSE WHITE CIRCLE
-25DC UPPER LEFT QUADRANT CIRCULAR ARC
-25DD UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF LOWER LEFT QUADRANT CIRCULAR ARC
-25E0 UPPER HALF CIRCLE
-25E1 LOWER HALF CIRCLE
-25E2 BLACK LOWER RIGHT TRIANGLE
-25E3 BLACK LOWER LEFT TRIANGLE
-25E4 BLACK UPPER LEFT TRIANGLE
-25E5 BLACK UPPER RIGHT TRIANGLE
-25E6 WHITE BULLET
-25E7 SQUARE WITH LEFT HALF BLACK
-25E8 SQUARE WITH RIGHT HALF BLACK
-25E9 SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC WHITE UP-POINTING TRIANGLE WITH DOT
-25ED UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF LARGE CIRCLE
-25F0 WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1 WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2 WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3 WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4 WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5 WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6 WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7 WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8 UPPER LEFT TRIANGLE
-25F9 UPPER RIGHT TRIANGLE
-25FA LOWER LEFT TRIANGLE
-25FB WHITE MEDIUM SQUARE
-25FC BLACK MEDIUM SQUARE
-25FD WHITE MEDIUM SMALL SQUARE
-25FE BLACK MEDIUM SMALL SQUARE
-25FF LOWER RIGHT TRIANGLE
-2600 BLACK SUN WITH RAYS
-2601 CLOUD
-2602 UMBRELLA
-2603 SNOWMAN
-2604 COMET
-2605 BLACK STAR
-2606 WHITE STAR
-2607 LIGHTNING
-2608 THUNDERSTORM
-2609 SUN
-260A ASCENDING NODE
-260B DESCENDING NODE
-260C CONJUNCTION
-260D OPPOSITION
-260E BLACK TELEPHONE
-260F WHITE TELEPHONE
-2610 BALLOT BOX
-2611 BALLOT BOX WITH CHECK
-2612 BALLOT BOX WITH X
-2613 SALTIRE
-2614 UMBRELLA WITH RAIN DROPS
-2615 HOT BEVERAGE
-2616 WHITE SHOGI PIECE
-2617 BLACK SHOGI PIECE
-2618 SHAMROCK
-2619 REVERSED ROTATED FLORAL HEART BULLET
-261A BLACK LEFT POINTING INDEX
-261B BLACK RIGHT POINTING INDEX
-261C WHITE LEFT POINTING INDEX
-261D WHITE UP POINTING INDEX
-261E WHITE RIGHT POINTING INDEX
-261F WHITE DOWN POINTING INDEX
-2620 SKULL AND CROSSBONES
-2621 CAUTION SIGN
-2622 RADIOACTIVE SIGN
-2623 BIOHAZARD SIGN
-2624 CADUCEUS
-2625 ANKH
-2626 ORTHODOX CROSS
-2627 CHI RHO
-2628 CROSS OF LORRAINE
-2629 CROSS OF JERUSALEM
-262A STAR AND CRESCENT
-262B FARSI SYMBOL
-262C ADI SHAKTI
-262D HAMMER AND SICKLE
-262E PEACE SYMBOL
-262F YIN YANG
-2630 TRIGRAM FOR HEAVEN
-2631 TRIGRAM FOR LAKE
-2632 TRIGRAM FOR FIRE
-2633 TRIGRAM FOR THUNDER
-2634 TRIGRAM FOR WIND
-2635 TRIGRAM FOR WATER
-2636 TRIGRAM FOR MOUNTAIN
-2637 TRIGRAM FOR EARTH
-2638 WHEEL OF DHARMA
-2639 WHITE FROWNING FACE
-263A WHITE SMILING FACE
-263B BLACK SMILING FACE
-263C WHITE SUN WITH RAYS
-263D FIRST QUARTER MOON
-263E LAST QUARTER MOON
-263F MERCURY
-2640 FEMALE SIGN
-2641 EARTH
-2642 MALE SIGN
-2643 JUPITER
-2644 SATURN
-2645 URANUS
-2646 NEPTUNE
-2647 PLUTO
-2648 ARIES
-2649 TAURUS
-264A GEMINI
-264B CANCER
-264C LEO
-264D VIRGO
-264E LIBRA
-264F SCORPIUS
-2650 SAGITTARIUS
-2651 CAPRICORN
-2652 AQUARIUS
-2653 PISCES
-2654 WHITE CHESS KING
-2655 WHITE CHESS QUEEN
-2656 WHITE CHESS ROOK
-2657 WHITE CHESS BISHOP
-2658 WHITE CHESS KNIGHT
-2659 WHITE CHESS PAWN
-265A BLACK CHESS KING
-265B BLACK CHESS QUEEN
-265C BLACK CHESS ROOK
-265D BLACK CHESS BISHOP
-265E BLACK CHESS KNIGHT
-265F BLACK CHESS PAWN
-2660 BLACK SPADE SUIT
-2661 WHITE HEART SUIT
-2662 WHITE DIAMOND SUIT
-2663 BLACK CLUB SUIT
-2664 WHITE SPADE SUIT
-2665 BLACK HEART SUIT
-2666 BLACK DIAMOND SUIT
-2667 WHITE CLUB SUIT
-2668 HOT SPRINGS
-2669 QUARTER NOTE
-266A EIGHTH NOTE
-266B BEAMED EIGHTH NOTES
-266C BEAMED SIXTEENTH NOTES
-266D MUSIC FLAT SIGN
-266E MUSIC NATURAL SIGN
-266F MUSIC SHARP SIGN
-2670 WEST SYRIAC CROSS
-2671 EAST SYRIAC CROSS
-2672 UNIVERSAL RECYCLING SYMBOL
-2673 RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674 RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675 RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676 RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677 RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678 RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679 RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B BLACK UNIVERSAL RECYCLING SYMBOL
-267C RECYCLED PAPER SYMBOL
-267D PARTIALLY-RECYCLED PAPER SYMBOL
-267E PERMANENT PAPER SIGN
-267F WHEELCHAIR SYMBOL
-2680 DIE FACE-1
-2681 DIE FACE-2
-2682 DIE FACE-3
-2683 DIE FACE-4
-2684 DIE FACE-5
-2685 DIE FACE-6
-2686 WHITE CIRCLE WITH DOT RIGHT
-2687 WHITE CIRCLE WITH TWO DOTS
-2688 BLACK CIRCLE WITH WHITE DOT RIGHT
-2689 BLACK CIRCLE WITH TWO WHITE DOTS
-268A MONOGRAM FOR YANG
-268B MONOGRAM FOR YIN
-268C DIGRAM FOR GREATER YANG
-268D DIGRAM FOR LESSER YIN
-268E DIGRAM FOR LESSER YANG
-268F DIGRAM FOR GREATER YIN
-2690 WHITE FLAG
-2691 BLACK FLAG
-2692 HAMMER AND PICK
-2693 ANCHOR
-2694 CROSSED SWORDS
-2695 STAFF OF AESCULAPIUS
-2696 SCALES
-2697 ALEMBIC
-2698 FLOWER
-2699 GEAR
-269A STAFF OF HERMES
-269B ATOM SYMBOL
-269C FLEUR-DE-LIS
-269D OUTLINED WHITE STAR
-269E THREE LINES CONVERGING RIGHT
-269F THREE LINES CONVERGING LEFT
-26A0 WARNING SIGN
-26A1 HIGH VOLTAGE SIGN
-26A2 DOUBLED FEMALE SIGN
-26A3 DOUBLED MALE SIGN
-26A4 INTERLOCKED FEMALE AND MALE SIGN
-26A5 MALE AND FEMALE SIGN
-26A6 MALE WITH STROKE SIGN
-26A7 MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8 VERTICAL MALE WITH STROKE SIGN
-26A9 HORIZONTAL MALE WITH STROKE SIGN
-26AA MEDIUM WHITE CIRCLE
-26AB MEDIUM BLACK CIRCLE
-26AC MEDIUM SMALL WHITE CIRCLE
-26AD MARRIAGE SYMBOL
-26AE DIVORCE SYMBOL
-26AF UNMARRIED PARTNERSHIP SYMBOL
-26B0 COFFIN
-26B1 FUNERAL URN
-26B2 NEUTER
-26B3 CERES
-26B4 PALLAS
-26B5 JUNO
-26B6 VESTA
-26B7 CHIRON
-26B8 BLACK MOON LILITH
-26B9 SEXTILE
-26BA SEMISEXTILE
-26BB QUINCUNX
-26BC SESQUIQUADRATE
-26BD SOCCER BALL
-26BE BASEBALL
-26BF SQUARED KEY
-26C0 WHITE DRAUGHTS MAN
-26C1 WHITE DRAUGHTS KING
-26C2 BLACK DRAUGHTS MAN
-26C3 BLACK DRAUGHTS KING
-26C4 SNOWMAN WITHOUT SNOW
-26C5 SUN BEHIND CLOUD
-26C6 RAIN
-26C7 BLACK SNOWMAN
-26C8 THUNDER CLOUD AND RAIN
-26C9 TURNED WHITE SHOGI PIECE
-26CA TURNED BLACK SHOGI PIECE
-26CB WHITE DIAMOND IN SQUARE
-26CC CROSSING LANES
-26CD DISABLED CAR
-26CF PICK
-26D0 CAR SLIDING
-26D1 HELMET WITH WHITE CROSS
-26D2 CIRCLED CROSSING LANES
-26D3 CHAINS
-26D4 NO ENTRY
-26D5 ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6 BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7 WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8 BLACK LEFT LANE MERGE
-26D9 WHITE LEFT LANE MERGE
-26DA DRIVE SLOW SIGN
-26DB HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC LEFT CLOSED ENTRY
-26DD SQUARED SALTIRE
-26DE FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF BLACK TRUCK
-26E0 RESTRICTED LEFT ENTRY-1
-26E1 RESTRICTED LEFT ENTRY-2
-26E3 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8 BLACK CROSS ON SHIELD
-26E9 SHINTO SHRINE
-26EA CHURCH
-26EB CASTLE
-26EC HISTORIC SITE
-26ED GEAR WITHOUT HUB
-26EE GEAR WITH HANDLES
-26EF MAP SYMBOL FOR LIGHTHOUSE
-26F0 MOUNTAIN
-26F1 UMBRELLA ON GROUND
-26F2 FOUNTAIN
-26F3 FLAG IN HOLE
-26F4 FERRY
-26F5 SAILBOAT
-26F6 SQUARE FOUR CORNERS
-26F7 SKIER
-26F8 ICE SKATE
-26F9 PERSON WITH BALL
-26FA TENT
-26FB JAPANESE BANK SYMBOL
-26FC HEADSTONE GRAVEYARD SYMBOL
-26FD FUEL PUMP
-26FE CUP ON BLACK SQUARE
-26FF WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701 UPPER BLADE SCISSORS
-2702 BLACK SCISSORS
-2703 LOWER BLADE SCISSORS
-2704 WHITE SCISSORS
-2706 TELEPHONE LOCATION SIGN
-2707 TAPE DRIVE
-2708 AIRPLANE
-2709 ENVELOPE
-270C VICTORY HAND
-270D WRITING HAND
-270E LOWER RIGHT PENCIL
-270F PENCIL
-2710 UPPER RIGHT PENCIL
-2711 WHITE NIB
-2712 BLACK NIB
-2713 CHECK MARK
-2714 HEAVY CHECK MARK
-2715 MULTIPLICATION X
-2716 HEAVY MULTIPLICATION X
-2717 BALLOT X
-2718 HEAVY BALLOT X
-2719 OUTLINED GREEK CROSS
-271A HEAVY GREEK CROSS
-271B OPEN CENTRE CROSS
-271C HEAVY OPEN CENTRE CROSS
-271D LATIN CROSS
-271E SHADOWED WHITE LATIN CROSS
-271F OUTLINED LATIN CROSS
-2720 MALTESE CROSS
-2721 STAR OF DAVID
-2722 FOUR TEARDROP-SPOKED ASTERISK
-2723 FOUR BALLOON-SPOKED ASTERISK
-2724 HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725 FOUR CLUB-SPOKED ASTERISK
-2726 BLACK FOUR POINTED STAR
-2727 WHITE FOUR POINTED STAR
-2729 STRESS OUTLINED WHITE STAR
-272A CIRCLED WHITE STAR
-272B OPEN CENTRE BLACK STAR
-272C BLACK CENTRE WHITE STAR
-272D OUTLINED BLACK STAR
-272E HEAVY OUTLINED BLACK STAR
-272F PINWHEEL STAR
-2730 SHADOWED WHITE STAR
-2731 HEAVY ASTERISK
-2732 OPEN CENTRE ASTERISK
-2733 EIGHT SPOKED ASTERISK
-2734 EIGHT POINTED BLACK STAR
-2735 EIGHT POINTED PINWHEEL STAR
-2736 SIX POINTED BLACK STAR
-2737 EIGHT POINTED RECTILINEAR BLACK STAR
-2738 HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739 TWELVE POINTED BLACK STAR
-273A SIXTEEN POINTED ASTERISK
-273B TEARDROP-SPOKED ASTERISK
-273C OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D HEAVY TEARDROP-SPOKED ASTERISK
-273E SIX PETALLED BLACK AND WHITE FLORETTE
-273F BLACK FLORETTE
-2740 WHITE FLORETTE
-2741 EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742 CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744 SNOWFLAKE
-2745 TIGHT TRIFOLIATE SNOWFLAKE
-2746 HEAVY CHEVRON SNOWFLAKE
-2747 SPARKLE
-2748 HEAVY SPARKLE
-2749 BALLOON-SPOKED ASTERISK
-274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D SHADOWED WHITE CIRCLE
-274F LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751 LOWER RIGHT SHADOWED WHITE SQUARE
-2752 UPPER RIGHT SHADOWED WHITE SQUARE
-2756 BLACK DIAMOND MINUS WHITE X
-2757 HEAVY EXCLAMATION MARK SYMBOL
-2758 LIGHT VERTICAL BAR
-2759 MEDIUM VERTICAL BAR
-275A HEAVY VERTICAL BAR
-275B HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761 CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762 HEAVY EXCLAMATION MARK ORNAMENT
-2763 HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764 HEAVY BLACK HEART
-2765 ROTATED HEAVY BLACK HEART BULLET
-2766 FLORAL HEART
-2767 ROTATED FLORAL HEART BULLET
-2768 MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
-277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-277E DINGBAT NEGATIVE CIRCLED DIGIT NINE
-277F DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-2781 DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-2782 DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-2783 DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-2784 DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-2785 DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-2786 DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2787 DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2788 DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2789 DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-278A DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-278B DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-278C DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-278D DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-278E DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-278F DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-2790 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-2791 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-2792 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-2793 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794 HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798 HEAVY SOUTH EAST ARROW
-2799 HEAVY RIGHTWARDS ARROW
-279A HEAVY NORTH EAST ARROW
-279B DRAFTING POINT RIGHTWARDS ARROW
-279C HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D TRIANGLE-HEADED RIGHTWARDS ARROW
-279E HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0 HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1 BLACK RIGHTWARDS ARROW
-27A2 THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3 THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4 BLACK RIGHTWARDS ARROWHEAD
-27A5 HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6 HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7 SQUAT BLACK RIGHTWARDS ARROW
-27A8 HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9 RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3 WHITE-FEATHERED RIGHTWARDS ARROW
-27B4 BLACK-FEATHERED SOUTH EAST ARROW
-27B5 BLACK-FEATHERED RIGHTWARDS ARROW
-27B6 BLACK-FEATHERED NORTH EAST ARROW
-27B7 HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8 HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9 HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA TEARDROP-BARBED RIGHTWARDS ARROW
-27BB HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC WEDGE-TAILED RIGHTWARDS ARROW
-27BD HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE OPEN-OUTLINED RIGHTWARDS ARROW
-27C0 THREE DIMENSIONAL ANGLE
-27C1 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2 PERPENDICULAR
-27C3 OPEN SUBSET
-27C4 OPEN SUPERSET
-27C5 LEFT S-SHAPED BAG DELIMITER
-27C6 RIGHT S-SHAPED BAG DELIMITER
-27C7 OR WITH DOT INSIDE
-27C8 REVERSE SOLIDUS PRECEDING SUBSET
-27C9 SUPERSET PRECEDING SOLIDUS
-27CA VERTICAL BAR WITH HORIZONTAL STROKE
-27CC LONG DIVISION
-27D0 WHITE DIAMOND WITH CENTRED DOT
-27D1 AND WITH DOT
-27D2 ELEMENT OF OPENING UPWARDS
-27D3 LOWER RIGHT CORNER WITH DOT
-27D4 UPPER LEFT CORNER WITH DOT
-27D5 LEFT OUTER JOIN
-27D6 RIGHT OUTER JOIN
-27D7 FULL OUTER JOIN
-27D8 LARGE UP TACK
-27D9 LARGE DOWN TACK
-27DA LEFT AND RIGHT DOUBLE TURNSTILE
-27DB LEFT AND RIGHT TACK
-27DC LEFT MULTIMAP
-27DD LONG RIGHT TACK
-27DE LONG LEFT TACK
-27DF UP TACK WITH CIRCLE ABOVE
-27E0 LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1 WHITE CONCAVE-SIDED DIAMOND
-27E2 WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3 WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4 WHITE SQUARE WITH LEFTWARDS TICK
-27E5 WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 MATHEMATICAL LEFT ANGLE BRACKET
-27E9 MATHEMATICAL RIGHT ANGLE BRACKET
-27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0 UPWARDS QUADRUPLE ARROW
-27F1 DOWNWARDS QUADRUPLE ARROW
-27F2 ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3 CLOCKWISE GAPPED CIRCLE ARROW
-27F4 RIGHT ARROW WITH CIRCLED PLUS
-27F5 LONG LEFTWARDS ARROW
-27F6 LONG RIGHTWARDS ARROW
-27F7 LONG LEFT RIGHT ARROW
-27F8 LONG LEFTWARDS DOUBLE ARROW
-27F9 LONG RIGHTWARDS DOUBLE ARROW
-27FA LONG LEFT RIGHT DOUBLE ARROW
-27FB LONG LEFTWARDS ARROW FROM BAR
-27FC LONG RIGHTWARDS ARROW FROM BAR
-27FD LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF LONG RIGHTWARDS SQUIGGLE ARROW
-2800 BRAILLE PATTERN BLANK
-2801 BRAILLE PATTERN DOTS-1
-2802 BRAILLE PATTERN DOTS-2
-2803 BRAILLE PATTERN DOTS-12
-2804 BRAILLE PATTERN DOTS-3
-2805 BRAILLE PATTERN DOTS-13
-2806 BRAILLE PATTERN DOTS-23
-2807 BRAILLE PATTERN DOTS-123
-2808 BRAILLE PATTERN DOTS-4
-2809 BRAILLE PATTERN DOTS-14
-280A BRAILLE PATTERN DOTS-24
-280B BRAILLE PATTERN DOTS-124
-280C BRAILLE PATTERN DOTS-34
-280D BRAILLE PATTERN DOTS-134
-280E BRAILLE PATTERN DOTS-234
-280F BRAILLE PATTERN DOTS-1234
-2810 BRAILLE PATTERN DOTS-5
-2811 BRAILLE PATTERN DOTS-15
-2812 BRAILLE PATTERN DOTS-25
-2813 BRAILLE PATTERN DOTS-125
-2814 BRAILLE PATTERN DOTS-35
-2815 BRAILLE PATTERN DOTS-135
-2816 BRAILLE PATTERN DOTS-235
-2817 BRAILLE PATTERN DOTS-1235
-2818 BRAILLE PATTERN DOTS-45
-2819 BRAILLE PATTERN DOTS-145
-281A BRAILLE PATTERN DOTS-245
-281B BRAILLE PATTERN DOTS-1245
-281C BRAILLE PATTERN DOTS-345
-281D BRAILLE PATTERN DOTS-1345
-281E BRAILLE PATTERN DOTS-2345
-281F BRAILLE PATTERN DOTS-12345
-2820 BRAILLE PATTERN DOTS-6
-2821 BRAILLE PATTERN DOTS-16
-2822 BRAILLE PATTERN DOTS-26
-2823 BRAILLE PATTERN DOTS-126
-2824 BRAILLE PATTERN DOTS-36
-2825 BRAILLE PATTERN DOTS-136
-2826 BRAILLE PATTERN DOTS-236
-2827 BRAILLE PATTERN DOTS-1236
-2828 BRAILLE PATTERN DOTS-46
-2829 BRAILLE PATTERN DOTS-146
-282A BRAILLE PATTERN DOTS-246
-282B BRAILLE PATTERN DOTS-1246
-282C BRAILLE PATTERN DOTS-346
-282D BRAILLE PATTERN DOTS-1346
-282E BRAILLE PATTERN DOTS-2346
-282F BRAILLE PATTERN DOTS-12346
-2830 BRAILLE PATTERN DOTS-56
-2831 BRAILLE PATTERN DOTS-156
-2832 BRAILLE PATTERN DOTS-256
-2833 BRAILLE PATTERN DOTS-1256
-2834 BRAILLE PATTERN DOTS-356
-2835 BRAILLE PATTERN DOTS-1356
-2836 BRAILLE PATTERN DOTS-2356
-2837 BRAILLE PATTERN DOTS-12356
-2838 BRAILLE PATTERN DOTS-456
-2839 BRAILLE PATTERN DOTS-1456
-283A BRAILLE PATTERN DOTS-2456
-283B BRAILLE PATTERN DOTS-12456
-283C BRAILLE PATTERN DOTS-3456
-283D BRAILLE PATTERN DOTS-13456
-283E BRAILLE PATTERN DOTS-23456
-283F BRAILLE PATTERN DOTS-123456
-2840 BRAILLE PATTERN DOTS-7
-2841 BRAILLE PATTERN DOTS-17
-2842 BRAILLE PATTERN DOTS-27
-2843 BRAILLE PATTERN DOTS-127
-2844 BRAILLE PATTERN DOTS-37
-2845 BRAILLE PATTERN DOTS-137
-2846 BRAILLE PATTERN DOTS-237
-2847 BRAILLE PATTERN DOTS-1237
-2848 BRAILLE PATTERN DOTS-47
-2849 BRAILLE PATTERN DOTS-147
-284A BRAILLE PATTERN DOTS-247
-284B BRAILLE PATTERN DOTS-1247
-284C BRAILLE PATTERN DOTS-347
-284D BRAILLE PATTERN DOTS-1347
-284E BRAILLE PATTERN DOTS-2347
-284F BRAILLE PATTERN DOTS-12347
-2850 BRAILLE PATTERN DOTS-57
-2851 BRAILLE PATTERN DOTS-157
-2852 BRAILLE PATTERN DOTS-257
-2853 BRAILLE PATTERN DOTS-1257
-2854 BRAILLE PATTERN DOTS-357
-2855 BRAILLE PATTERN DOTS-1357
-2856 BRAILLE PATTERN DOTS-2357
-2857 BRAILLE PATTERN DOTS-12357
-2858 BRAILLE PATTERN DOTS-457
-2859 BRAILLE PATTERN DOTS-1457
-285A BRAILLE PATTERN DOTS-2457
-285B BRAILLE PATTERN DOTS-12457
-285C BRAILLE PATTERN DOTS-3457
-285D BRAILLE PATTERN DOTS-13457
-285E BRAILLE PATTERN DOTS-23457
-285F BRAILLE PATTERN DOTS-123457
-2860 BRAILLE PATTERN DOTS-67
-2861 BRAILLE PATTERN DOTS-167
-2862 BRAILLE PATTERN DOTS-267
-2863 BRAILLE PATTERN DOTS-1267
-2864 BRAILLE PATTERN DOTS-367
-2865 BRAILLE PATTERN DOTS-1367
-2866 BRAILLE PATTERN DOTS-2367
-2867 BRAILLE PATTERN DOTS-12367
-2868 BRAILLE PATTERN DOTS-467
-2869 BRAILLE PATTERN DOTS-1467
-286A BRAILLE PATTERN DOTS-2467
-286B BRAILLE PATTERN DOTS-12467
-286C BRAILLE PATTERN DOTS-3467
-286D BRAILLE PATTERN DOTS-13467
-286E BRAILLE PATTERN DOTS-23467
-286F BRAILLE PATTERN DOTS-123467
-2870 BRAILLE PATTERN DOTS-567
-2871 BRAILLE PATTERN DOTS-1567
-2872 BRAILLE PATTERN DOTS-2567
-2873 BRAILLE PATTERN DOTS-12567
-2874 BRAILLE PATTERN DOTS-3567
-2875 BRAILLE PATTERN DOTS-13567
-2876 BRAILLE PATTERN DOTS-23567
-2877 BRAILLE PATTERN DOTS-123567
-2878 BRAILLE PATTERN DOTS-4567
-2879 BRAILLE PATTERN DOTS-14567
-287A BRAILLE PATTERN DOTS-24567
-287B BRAILLE PATTERN DOTS-124567
-287C BRAILLE PATTERN DOTS-34567
-287D BRAILLE PATTERN DOTS-134567
-287E BRAILLE PATTERN DOTS-234567
-287F BRAILLE PATTERN DOTS-1234567
-2880 BRAILLE PATTERN DOTS-8
-2881 BRAILLE PATTERN DOTS-18
-2882 BRAILLE PATTERN DOTS-28
-2883 BRAILLE PATTERN DOTS-128
-2884 BRAILLE PATTERN DOTS-38
-2885 BRAILLE PATTERN DOTS-138
-2886 BRAILLE PATTERN DOTS-238
-2887 BRAILLE PATTERN DOTS-1238
-2888 BRAILLE PATTERN DOTS-48
-2889 BRAILLE PATTERN DOTS-148
-288A BRAILLE PATTERN DOTS-248
-288B BRAILLE PATTERN DOTS-1248
-288C BRAILLE PATTERN DOTS-348
-288D BRAILLE PATTERN DOTS-1348
-288E BRAILLE PATTERN DOTS-2348
-288F BRAILLE PATTERN DOTS-12348
-2890 BRAILLE PATTERN DOTS-58
-2891 BRAILLE PATTERN DOTS-158
-2892 BRAILLE PATTERN DOTS-258
-2893 BRAILLE PATTERN DOTS-1258
-2894 BRAILLE PATTERN DOTS-358
-2895 BRAILLE PATTERN DOTS-1358
-2896 BRAILLE PATTERN DOTS-2358
-2897 BRAILLE PATTERN DOTS-12358
-2898 BRAILLE PATTERN DOTS-458
-2899 BRAILLE PATTERN DOTS-1458
-289A BRAILLE PATTERN DOTS-2458
-289B BRAILLE PATTERN DOTS-12458
-289C BRAILLE PATTERN DOTS-3458
-289D BRAILLE PATTERN DOTS-13458
-289E BRAILLE PATTERN DOTS-23458
-289F BRAILLE PATTERN DOTS-123458
-28A0 BRAILLE PATTERN DOTS-68
-28A1 BRAILLE PATTERN DOTS-168
-28A2 BRAILLE PATTERN DOTS-268
-28A3 BRAILLE PATTERN DOTS-1268
-28A4 BRAILLE PATTERN DOTS-368
-28A5 BRAILLE PATTERN DOTS-1368
-28A6 BRAILLE PATTERN DOTS-2368
-28A7 BRAILLE PATTERN DOTS-12368
-28A8 BRAILLE PATTERN DOTS-468
-28A9 BRAILLE PATTERN DOTS-1468
-28AA BRAILLE PATTERN DOTS-2468
-28AB BRAILLE PATTERN DOTS-12468
-28AC BRAILLE PATTERN DOTS-3468
-28AD BRAILLE PATTERN DOTS-13468
-28AE BRAILLE PATTERN DOTS-23468
-28AF BRAILLE PATTERN DOTS-123468
-28B0 BRAILLE PATTERN DOTS-568
-28B1 BRAILLE PATTERN DOTS-1568
-28B2 BRAILLE PATTERN DOTS-2568
-28B3 BRAILLE PATTERN DOTS-12568
-28B4 BRAILLE PATTERN DOTS-3568
-28B5 BRAILLE PATTERN DOTS-13568
-28B6 BRAILLE PATTERN DOTS-23568
-28B7 BRAILLE PATTERN DOTS-123568
-28B8 BRAILLE PATTERN DOTS-4568
-28B9 BRAILLE PATTERN DOTS-14568
-28BA BRAILLE PATTERN DOTS-24568
-28BB BRAILLE PATTERN DOTS-124568
-28BC BRAILLE PATTERN DOTS-34568
-28BD BRAILLE PATTERN DOTS-134568
-28BE BRAILLE PATTERN DOTS-234568
-28BF BRAILLE PATTERN DOTS-1234568
-28C0 BRAILLE PATTERN DOTS-78
-28C1 BRAILLE PATTERN DOTS-178
-28C2 BRAILLE PATTERN DOTS-278
-28C3 BRAILLE PATTERN DOTS-1278
-28C4 BRAILLE PATTERN DOTS-378
-28C5 BRAILLE PATTERN DOTS-1378
-28C6 BRAILLE PATTERN DOTS-2378
-28C7 BRAILLE PATTERN DOTS-12378
-28C8 BRAILLE PATTERN DOTS-478
-28C9 BRAILLE PATTERN DOTS-1478
-28CA BRAILLE PATTERN DOTS-2478
-28CB BRAILLE PATTERN DOTS-12478
-28CC BRAILLE PATTERN DOTS-3478
-28CD BRAILLE PATTERN DOTS-13478
-28CE BRAILLE PATTERN DOTS-23478
-28CF BRAILLE PATTERN DOTS-123478
-28D0 BRAILLE PATTERN DOTS-578
-28D1 BRAILLE PATTERN DOTS-1578
-28D2 BRAILLE PATTERN DOTS-2578
-28D3 BRAILLE PATTERN DOTS-12578
-28D4 BRAILLE PATTERN DOTS-3578
-28D5 BRAILLE PATTERN DOTS-13578
-28D6 BRAILLE PATTERN DOTS-23578
-28D7 BRAILLE PATTERN DOTS-123578
-28D8 BRAILLE PATTERN DOTS-4578
-28D9 BRAILLE PATTERN DOTS-14578
-28DA BRAILLE PATTERN DOTS-24578
-28DB BRAILLE PATTERN DOTS-124578
-28DC BRAILLE PATTERN DOTS-34578
-28DD BRAILLE PATTERN DOTS-134578
-28DE BRAILLE PATTERN DOTS-234578
-28DF BRAILLE PATTERN DOTS-1234578
-28E0 BRAILLE PATTERN DOTS-678
-28E1 BRAILLE PATTERN DOTS-1678
-28E2 BRAILLE PATTERN DOTS-2678
-28E3 BRAILLE PATTERN DOTS-12678
-28E4 BRAILLE PATTERN DOTS-3678
-28E5 BRAILLE PATTERN DOTS-13678
-28E6 BRAILLE PATTERN DOTS-23678
-28E7 BRAILLE PATTERN DOTS-123678
-28E8 BRAILLE PATTERN DOTS-4678
-28E9 BRAILLE PATTERN DOTS-14678
-28EA BRAILLE PATTERN DOTS-24678
-28EB BRAILLE PATTERN DOTS-124678
-28EC BRAILLE PATTERN DOTS-34678
-28ED BRAILLE PATTERN DOTS-134678
-28EE BRAILLE PATTERN DOTS-234678
-28EF BRAILLE PATTERN DOTS-1234678
-28F0 BRAILLE PATTERN DOTS-5678
-28F1 BRAILLE PATTERN DOTS-15678
-28F2 BRAILLE PATTERN DOTS-25678
-28F3 BRAILLE PATTERN DOTS-125678
-28F4 BRAILLE PATTERN DOTS-35678
-28F5 BRAILLE PATTERN DOTS-135678
-28F6 BRAILLE PATTERN DOTS-235678
-28F7 BRAILLE PATTERN DOTS-1235678
-28F8 BRAILLE PATTERN DOTS-45678
-28F9 BRAILLE PATTERN DOTS-145678
-28FA BRAILLE PATTERN DOTS-245678
-28FB BRAILLE PATTERN DOTS-1245678
-28FC BRAILLE PATTERN DOTS-345678
-28FD BRAILLE PATTERN DOTS-1345678
-28FE BRAILLE PATTERN DOTS-2345678
-28FF BRAILLE PATTERN DOTS-12345678
-2900 RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901 RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902 LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903 RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904 LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905 RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906 LEFTWARDS DOUBLE ARROW FROM BAR
-2907 RIGHTWARDS DOUBLE ARROW FROM BAR
-2908 DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909 UPWARDS ARROW WITH HORIZONTAL STROKE
-290A UPWARDS TRIPLE ARROW
-290B DOWNWARDS TRIPLE ARROW
-290C LEFTWARDS DOUBLE DASH ARROW
-290D RIGHTWARDS DOUBLE DASH ARROW
-290E LEFTWARDS TRIPLE DASH ARROW
-290F RIGHTWARDS TRIPLE DASH ARROW
-2910 RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911 RIGHTWARDS ARROW WITH DOTTED STEM
-2912 UPWARDS ARROW TO BAR
-2913 DOWNWARDS ARROW TO BAR
-2914 RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915 RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916 RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917 RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918 RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919 LEFTWARDS ARROW-TAIL
-291A RIGHTWARDS ARROW-TAIL
-291B LEFTWARDS DOUBLE ARROW-TAIL
-291C RIGHTWARDS DOUBLE ARROW-TAIL
-291D LEFTWARDS ARROW TO BLACK DIAMOND
-291E RIGHTWARDS ARROW TO BLACK DIAMOND
-291F LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920 RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921 NORTH WEST AND SOUTH EAST ARROW
-2922 NORTH EAST AND SOUTH WEST ARROW
-2923 NORTH WEST ARROW WITH HOOK
-2924 NORTH EAST ARROW WITH HOOK
-2925 SOUTH EAST ARROW WITH HOOK
-2926 SOUTH WEST ARROW WITH HOOK
-2927 NORTH WEST ARROW AND NORTH EAST ARROW
-2928 NORTH EAST ARROW AND SOUTH EAST ARROW
-2929 SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A SOUTH WEST ARROW AND NORTH WEST ARROW
-292B RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930 RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931 NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932 NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933 WAVE ARROW POINTING DIRECTLY RIGHT
-2934 ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935 ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937 ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938 RIGHT-SIDE ARC CLOCKWISE ARROW
-2939 LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A TOP ARC ANTICLOCKWISE ARROW
-293B BOTTOM ARC ANTICLOCKWISE ARROW
-293C TOP ARC CLOCKWISE ARROW WITH MINUS
-293D TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940 ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941 CLOCKWISE CLOSED CIRCLE ARROW
-2942 RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943 LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944 SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945 RIGHTWARDS ARROW WITH PLUS BELOW
-2946 LEFTWARDS ARROW WITH PLUS BELOW
-2947 RIGHTWARDS ARROW THROUGH X
-2948 LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949 UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E LEFT BARB UP RIGHT BARB UP HARPOON
-294F UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950 LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951 UP BARB LEFT DOWN BARB LEFT HARPOON
-2952 LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953 RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954 UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955 DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956 LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957 RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958 UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959 DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960 UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961 DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962 LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963 UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964 RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965 DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966 LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967 LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968 RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969 RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970 RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971 EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972 TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973 LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974 RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975 RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976 LESS-THAN ABOVE LEFTWARDS ARROW
-2977 LEFTWARDS ARROW THROUGH LESS-THAN
-2978 GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979 SUBSET ABOVE RIGHTWARDS ARROW
-297A LEFTWARDS ARROW THROUGH SUBSET
-297B SUPERSET ABOVE LEFTWARDS ARROW
-297C LEFT FISH TAIL
-297D RIGHT FISH TAIL
-297E UP FISH TAIL
-297F DOWN FISH TAIL
-2980 TRIPLE VERTICAL BAR DELIMITER
-2981 Z NOTATION SPOT
-2982 Z NOTATION TYPE COLON
-2983 LEFT WHITE CURLY BRACKET
-2984 RIGHT WHITE CURLY BRACKET
-2985 LEFT WHITE PARENTHESIS
-2986 RIGHT WHITE PARENTHESIS
-2987 Z NOTATION LEFT IMAGE BRACKET
-2988 Z NOTATION RIGHT IMAGE BRACKET
-2989 Z NOTATION LEFT BINDING BRACKET
-298A Z NOTATION RIGHT BINDING BRACKET
-298B LEFT SQUARE BRACKET WITH UNDERBAR
-298C RIGHT SQUARE BRACKET WITH UNDERBAR
-298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 LEFT ANGLE BRACKET WITH DOT
-2992 RIGHT ANGLE BRACKET WITH DOT
-2993 LEFT ARC LESS-THAN BRACKET
-2994 RIGHT ARC GREATER-THAN BRACKET
-2995 DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 LEFT BLACK TORTOISE SHELL BRACKET
-2998 RIGHT BLACK TORTOISE SHELL BRACKET
-2999 DOTTED FENCE
-299A VERTICAL ZIGZAG LINE
-299B MEASURED ANGLE OPENING LEFT
-299C RIGHT ANGLE VARIANT WITH SQUARE
-299D MEASURED RIGHT ANGLE WITH DOT
-299E ANGLE WITH S INSIDE
-299F ACUTE ANGLE
-29A0 SPHERICAL ANGLE OPENING LEFT
-29A1 SPHERICAL ANGLE OPENING UP
-29A2 TURNED ANGLE
-29A3 REVERSED ANGLE
-29A4 ANGLE WITH UNDERBAR
-29A5 REVERSED ANGLE WITH UNDERBAR
-29A6 OBLIQUE ANGLE OPENING UP
-29A7 OBLIQUE ANGLE OPENING DOWN
-29A8 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0 REVERSED EMPTY SET
-29B1 EMPTY SET WITH OVERBAR
-29B2 EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3 EMPTY SET WITH RIGHT ARROW ABOVE
-29B4 EMPTY SET WITH LEFT ARROW ABOVE
-29B5 CIRCLE WITH HORIZONTAL BAR
-29B6 CIRCLED VERTICAL BAR
-29B7 CIRCLED PARALLEL
-29B8 CIRCLED REVERSE SOLIDUS
-29B9 CIRCLED PERPENDICULAR
-29BA CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB CIRCLE WITH SUPERIMPOSED X
-29BC CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD UP ARROW THROUGH CIRCLE
-29BE CIRCLED WHITE BULLET
-29BF CIRCLED BULLET
-29C0 CIRCLED LESS-THAN
-29C1 CIRCLED GREATER-THAN
-29C2 CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3 CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4 SQUARED RISING DIAGONAL SLASH
-29C5 SQUARED FALLING DIAGONAL SLASH
-29C6 SQUARED ASTERISK
-29C7 SQUARED SMALL CIRCLE
-29C8 SQUARED SQUARE
-29C9 TWO JOINED SQUARES
-29CA TRIANGLE WITH DOT ABOVE
-29CB TRIANGLE WITH UNDERBAR
-29CC S IN TRIANGLE
-29CD TRIANGLE WITH SERIFS AT BOTTOM
-29CE RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0 VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1 BOWTIE WITH LEFT HALF BLACK
-29D2 BOWTIE WITH RIGHT HALF BLACK
-29D3 BLACK BOWTIE
-29D4 TIMES WITH LEFT HALF BLACK
-29D5 TIMES WITH RIGHT HALF BLACK
-29D6 WHITE HOURGLASS
-29D7 BLACK HOURGLASS
-29D8 LEFT WIGGLY FENCE
-29D9 RIGHT WIGGLY FENCE
-29DA LEFT DOUBLE WIGGLY FENCE
-29DB RIGHT DOUBLE WIGGLY FENCE
-29DC INCOMPLETE INFINITY
-29DD TIE OVER INFINITY
-29DE INFINITY NEGATED WITH VERTICAL BAR
-29DF DOUBLE-ENDED MULTIMAP
-29E0 SQUARE WITH CONTOURED OUTLINE
-29E1 INCREASES AS
-29E2 SHUFFLE PRODUCT
-29E3 EQUALS SIGN AND SLANTED PARALLEL
-29E4 EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5 IDENTICAL TO AND SLANTED PARALLEL
-29E6 GLEICH STARK
-29E7 THERMODYNAMIC
-29E8 DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9 DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA BLACK DIAMOND WITH DOWN ARROW
-29EB BLACK LOZENGE
-29EC WHITE CIRCLE WITH DOWN ARROW
-29ED BLACK CIRCLE WITH DOWN ARROW
-29EE ERROR-BARRED WHITE SQUARE
-29EF ERROR-BARRED BLACK SQUARE
-29F0 ERROR-BARRED WHITE DIAMOND
-29F1 ERROR-BARRED BLACK DIAMOND
-29F2 ERROR-BARRED WHITE CIRCLE
-29F3 ERROR-BARRED BLACK CIRCLE
-29F4 RULE-DELAYED
-29F5 REVERSE SOLIDUS OPERATOR
-29F6 SOLIDUS WITH OVERBAR
-29F7 REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8 BIG SOLIDUS
-29F9 BIG REVERSE SOLIDUS
-29FA DOUBLE PLUS
-29FB TRIPLE PLUS
-29FC LEFT-POINTING CURVED ANGLE BRACKET
-29FD RIGHT-POINTING CURVED ANGLE BRACKET
-29FE TINY
-29FF MINY
-2A00 N-ARY CIRCLED DOT OPERATOR
-2A01 N-ARY CIRCLED PLUS OPERATOR
-2A02 N-ARY CIRCLED TIMES OPERATOR
-2A03 N-ARY UNION OPERATOR WITH DOT
-2A04 N-ARY UNION OPERATOR WITH PLUS
-2A05 N-ARY SQUARE INTERSECTION OPERATOR
-2A06 N-ARY SQUARE UNION OPERATOR
-2A07 TWO LOGICAL AND OPERATOR
-2A08 TWO LOGICAL OR OPERATOR
-2A09 N-ARY TIMES OPERATOR
-2A0A MODULO TWO SUM
-2A0B SUMMATION WITH INTEGRAL
-2A0C QUADRUPLE INTEGRAL OPERATOR
-2A0D FINITE PART INTEGRAL
-2A0E INTEGRAL WITH DOUBLE STROKE
-2A0F INTEGRAL AVERAGE WITH SLASH
-2A10 CIRCULATION FUNCTION
-2A11 ANTICLOCKWISE INTEGRATION
-2A12 LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13 LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14 LINE INTEGRATION NOT INCLUDING THE POLE
-2A15 INTEGRAL AROUND A POINT OPERATOR
-2A16 QUATERNION INTEGRAL OPERATOR
-2A17 INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18 INTEGRAL WITH TIMES SIGN
-2A19 INTEGRAL WITH INTERSECTION
-2A1A INTEGRAL WITH UNION
-2A1B INTEGRAL WITH OVERBAR
-2A1C INTEGRAL WITH UNDERBAR
-2A1D JOIN
-2A1E LARGE LEFT TRIANGLE OPERATOR
-2A1F Z NOTATION SCHEMA COMPOSITION
-2A20 Z NOTATION SCHEMA PIPING
-2A21 Z NOTATION SCHEMA PROJECTION
-2A22 PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23 PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24 PLUS SIGN WITH TILDE ABOVE
-2A25 PLUS SIGN WITH DOT BELOW
-2A26 PLUS SIGN WITH TILDE BELOW
-2A27 PLUS SIGN WITH SUBSCRIPT TWO
-2A28 PLUS SIGN WITH BLACK TRIANGLE
-2A29 MINUS SIGN WITH COMMA ABOVE
-2A2A MINUS SIGN WITH DOT BELOW
-2A2B MINUS SIGN WITH FALLING DOTS
-2A2C MINUS SIGN WITH RISING DOTS
-2A2D PLUS SIGN IN LEFT HALF CIRCLE
-2A2E PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F VECTOR OR CROSS PRODUCT
-2A30 MULTIPLICATION SIGN WITH DOT ABOVE
-2A31 MULTIPLICATION SIGN WITH UNDERBAR
-2A32 SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33 SMASH PRODUCT
-2A34 MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35 MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36 CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37 MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38 CIRCLED DIVISION SIGN
-2A39 PLUS SIGN IN TRIANGLE
-2A3A MINUS SIGN IN TRIANGLE
-2A3B MULTIPLICATION SIGN IN TRIANGLE
-2A3C INTERIOR PRODUCT
-2A3D RIGHTHAND INTERIOR PRODUCT
-2A3E Z NOTATION RELATIONAL COMPOSITION
-2A3F AMALGAMATION OR COPRODUCT
-2A40 INTERSECTION WITH DOT
-2A41 UNION WITH MINUS SIGN
-2A42 UNION WITH OVERBAR
-2A43 INTERSECTION WITH OVERBAR
-2A44 INTERSECTION WITH LOGICAL AND
-2A45 UNION WITH LOGICAL OR
-2A46 UNION ABOVE INTERSECTION
-2A47 INTERSECTION ABOVE UNION
-2A48 UNION ABOVE BAR ABOVE INTERSECTION
-2A49 INTERSECTION ABOVE BAR ABOVE UNION
-2A4A UNION BESIDE AND JOINED WITH UNION
-2A4B INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C CLOSED UNION WITH SERIFS
-2A4D CLOSED INTERSECTION WITH SERIFS
-2A4E DOUBLE SQUARE INTERSECTION
-2A4F DOUBLE SQUARE UNION
-2A50 CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51 LOGICAL AND WITH DOT ABOVE
-2A52 LOGICAL OR WITH DOT ABOVE
-2A53 DOUBLE LOGICAL AND
-2A54 DOUBLE LOGICAL OR
-2A55 TWO INTERSECTING LOGICAL AND
-2A56 TWO INTERSECTING LOGICAL OR
-2A57 SLOPING LARGE OR
-2A58 SLOPING LARGE AND
-2A59 LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A LOGICAL AND WITH MIDDLE STEM
-2A5B LOGICAL OR WITH MIDDLE STEM
-2A5C LOGICAL AND WITH HORIZONTAL DASH
-2A5D LOGICAL OR WITH HORIZONTAL DASH
-2A5E LOGICAL AND WITH DOUBLE OVERBAR
-2A5F LOGICAL AND WITH UNDERBAR
-2A60 LOGICAL AND WITH DOUBLE UNDERBAR
-2A61 SMALL VEE WITH UNDERBAR
-2A62 LOGICAL OR WITH DOUBLE OVERBAR
-2A63 LOGICAL OR WITH DOUBLE UNDERBAR
-2A64 Z NOTATION DOMAIN ANTIRESTRICTION
-2A65 Z NOTATION RANGE ANTIRESTRICTION
-2A66 EQUALS SIGN WITH DOT BELOW
-2A67 IDENTICAL WITH DOT ABOVE
-2A68 TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69 TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A TILDE OPERATOR WITH DOT ABOVE
-2A6B TILDE OPERATOR WITH RISING DOTS
-2A6C SIMILAR MINUS SIMILAR
-2A6D CONGRUENT WITH DOT ABOVE
-2A6E EQUALS WITH ASTERISK
-2A6F ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70 APPROXIMATELY EQUAL OR EQUAL TO
-2A71 EQUALS SIGN ABOVE PLUS SIGN
-2A72 PLUS SIGN ABOVE EQUALS SIGN
-2A73 EQUALS SIGN ABOVE TILDE OPERATOR
-2A74 DOUBLE COLON EQUAL
-2A75 TWO CONSECUTIVE EQUALS SIGNS
-2A76 THREE CONSECUTIVE EQUALS SIGNS
-2A77 EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78 EQUIVALENT WITH FOUR DOTS ABOVE
-2A79 LESS-THAN WITH CIRCLE INSIDE
-2A7A GREATER-THAN WITH CIRCLE INSIDE
-2A7B LESS-THAN WITH QUESTION MARK ABOVE
-2A7C GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D LESS-THAN OR SLANTED EQUAL TO
-2A7E GREATER-THAN OR SLANTED EQUAL TO
-2A7F LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80 GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81 LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83 LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85 LESS-THAN OR APPROXIMATE
-2A86 GREATER-THAN OR APPROXIMATE
-2A87 LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88 GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89 LESS-THAN AND NOT APPROXIMATE
-2A8A GREATER-THAN AND NOT APPROXIMATE
-2A8B LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90 GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91 LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92 GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93 LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95 SLANTED EQUAL TO OR LESS-THAN
-2A96 SLANTED EQUAL TO OR GREATER-THAN
-2A97 SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98 SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99 DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D SIMILAR OR LESS-THAN
-2A9E SIMILAR OR GREATER-THAN
-2A9F SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0 SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1 DOUBLE NESTED LESS-THAN
-2AA2 DOUBLE NESTED GREATER-THAN
-2AA3 DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4 GREATER-THAN OVERLAPPING LESS-THAN
-2AA5 GREATER-THAN BESIDE LESS-THAN
-2AA6 LESS-THAN CLOSED BY CURVE
-2AA7 GREATER-THAN CLOSED BY CURVE
-2AA8 LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9 GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA SMALLER THAN
-2AAB LARGER THAN
-2AAC SMALLER THAN OR EQUAL TO
-2AAD LARGER THAN OR EQUAL TO
-2AAE EQUALS SIGN WITH BUMPY ABOVE
-2AAF PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0 SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1 PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2 SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3 PRECEDES ABOVE EQUALS SIGN
-2AB4 SUCCEEDS ABOVE EQUALS SIGN
-2AB5 PRECEDES ABOVE NOT EQUAL TO
-2AB6 SUCCEEDS ABOVE NOT EQUAL TO
-2AB7 PRECEDES ABOVE ALMOST EQUAL TO
-2AB8 SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9 PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB DOUBLE PRECEDES
-2ABC DOUBLE SUCCEEDS
-2ABD SUBSET WITH DOT
-2ABE SUPERSET WITH DOT
-2ABF SUBSET WITH PLUS SIGN BELOW
-2AC0 SUPERSET WITH PLUS SIGN BELOW
-2AC1 SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2 SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3 SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4 SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5 SUBSET OF ABOVE EQUALS SIGN
-2AC6 SUPERSET OF ABOVE EQUALS SIGN
-2AC7 SUBSET OF ABOVE TILDE OPERATOR
-2AC8 SUPERSET OF ABOVE TILDE OPERATOR
-2AC9 SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB SUBSET OF ABOVE NOT EQUAL TO
-2ACC SUPERSET OF ABOVE NOT EQUAL TO
-2ACD SQUARE LEFT OPEN BOX OPERATOR
-2ACE SQUARE RIGHT OPEN BOX OPERATOR
-2ACF CLOSED SUBSET
-2AD0 CLOSED SUPERSET
-2AD1 CLOSED SUBSET OR EQUAL TO
-2AD2 CLOSED SUPERSET OR EQUAL TO
-2AD3 SUBSET ABOVE SUPERSET
-2AD4 SUPERSET ABOVE SUBSET
-2AD5 SUBSET ABOVE SUBSET
-2AD6 SUPERSET ABOVE SUPERSET
-2AD7 SUPERSET BESIDE SUBSET
-2AD8 SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9 ELEMENT OF OPENING DOWNWARDS
-2ADA PITCHFORK WITH TEE TOP
-2ADB TRANSVERSAL INTERSECTION
-2ADC FORKING
-2ADD NONFORKING
-2ADE SHORT LEFT TACK
-2ADF SHORT DOWN TACK
-2AE0 SHORT UP TACK
-2AE1 PERPENDICULAR WITH S
-2AE2 VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3 DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4 VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5 DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6 LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7 SHORT DOWN TACK WITH OVERBAR
-2AE8 SHORT UP TACK WITH UNDERBAR
-2AE9 SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA DOUBLE DOWN TACK
-2AEB DOUBLE UP TACK
-2AEC DOUBLE STROKE NOT SIGN
-2AED REVERSED DOUBLE STROKE NOT SIGN
-2AEE DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF VERTICAL LINE WITH CIRCLE ABOVE
-2AF0 VERTICAL LINE WITH CIRCLE BELOW
-2AF1 DOWN TACK WITH CIRCLE BELOW
-2AF2 PARALLEL WITH HORIZONTAL STROKE
-2AF3 PARALLEL WITH TILDE OPERATOR
-2AF4 TRIPLE VERTICAL BAR BINARY RELATION
-2AF5 TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6 TRIPLE COLON OPERATOR
-2AF7 TRIPLE NESTED LESS-THAN
-2AF8 TRIPLE NESTED GREATER-THAN
-2AF9 DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB TRIPLE SOLIDUS BINARY RELATION
-2AFC LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD DOUBLE SOLIDUS OPERATOR
-2AFE WHITE VERTICAL BAR
-2AFF N-ARY WHITE VERTICAL BAR
-2B00 NORTH EAST WHITE ARROW
-2B01 NORTH WEST WHITE ARROW
-2B02 SOUTH EAST WHITE ARROW
-2B03 SOUTH WEST WHITE ARROW
-2B04 LEFT RIGHT WHITE ARROW
-2B05 LEFTWARDS BLACK ARROW
-2B06 UPWARDS BLACK ARROW
-2B07 DOWNWARDS BLACK ARROW
-2B08 NORTH EAST BLACK ARROW
-2B09 NORTH WEST BLACK ARROW
-2B0A SOUTH EAST BLACK ARROW
-2B0B SOUTH WEST BLACK ARROW
-2B0C LEFT RIGHT BLACK ARROW
-2B0D UP DOWN BLACK ARROW
-2B0E RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10 LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11 LEFTWARDS ARROW WITH TIP UPWARDS
-2B12 SQUARE WITH TOP HALF BLACK
-2B13 SQUARE WITH BOTTOM HALF BLACK
-2B14 SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15 SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16 DIAMOND WITH LEFT HALF BLACK
-2B17 DIAMOND WITH RIGHT HALF BLACK
-2B18 DIAMOND WITH TOP HALF BLACK
-2B19 DIAMOND WITH BOTTOM HALF BLACK
-2B1A DOTTED SQUARE
-2B1B BLACK LARGE SQUARE
-2B1C WHITE LARGE SQUARE
-2B1D BLACK VERY SMALL SQUARE
-2B1E WHITE VERY SMALL SQUARE
-2B1F BLACK PENTAGON
-2B20 WHITE PENTAGON
-2B21 WHITE HEXAGON
-2B22 BLACK HEXAGON
-2B23 HORIZONTAL BLACK HEXAGON
-2B24 BLACK LARGE CIRCLE
-2B25 BLACK MEDIUM DIAMOND
-2B26 WHITE MEDIUM DIAMOND
-2B27 BLACK MEDIUM LOZENGE
-2B28 WHITE MEDIUM LOZENGE
-2B29 BLACK SMALL DIAMOND
-2B2A BLACK SMALL LOZENGE
-2B2B WHITE SMALL LOZENGE
-2B2C BLACK HORIZONTAL ELLIPSE
-2B2D WHITE HORIZONTAL ELLIPSE
-2B2E BLACK VERTICAL ELLIPSE
-2B2F WHITE VERTICAL ELLIPSE
-2B30 LEFT ARROW WITH SMALL CIRCLE
-2B31 THREE LEFTWARDS ARROWS
-2B32 LEFT ARROW WITH CIRCLED PLUS
-2B33 LONG LEFTWARDS SQUIGGLE ARROW
-2B34 LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35 LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36 LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37 LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38 LEFTWARDS ARROW WITH DOTTED STEM
-2B39 LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E LEFTWARDS ARROW THROUGH X
-2B3F WAVE ARROW POINTING DIRECTLY LEFT
-2B40 EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41 REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42 LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43 RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44 RIGHTWARDS ARROW THROUGH SUPERSET
-2B45 LEFTWARDS QUADRUPLE ARROW
-2B46 RIGHTWARDS QUADRUPLE ARROW
-2B47 REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48 RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49 TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50 WHITE MEDIUM STAR
-2B51 BLACK SMALL STAR
-2B52 WHITE SMALL STAR
-2B53 BLACK RIGHT-POINTING PENTAGON
-2B54 WHITE RIGHT-POINTING PENTAGON
-2B55 HEAVY LARGE CIRCLE
-2B56 HEAVY OVAL WITH OVAL INSIDE
-2B57 HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58 HEAVY CIRCLE
-2B59 HEAVY CIRCLED SALTIRE
-2C00 GLAGOLITIC CAPITAL LETTER AZU
-2C01 GLAGOLITIC CAPITAL LETTER BUKY
-2C02 GLAGOLITIC CAPITAL LETTER VEDE
-2C03 GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C04 GLAGOLITIC CAPITAL LETTER DOBRO
-2C05 GLAGOLITIC CAPITAL LETTER YESTU
-2C06 GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C07 GLAGOLITIC CAPITAL LETTER DZELO
-2C08 GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C09 GLAGOLITIC CAPITAL LETTER IZHE
-2C0A GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C0B GLAGOLITIC CAPITAL LETTER I
-2C0C GLAGOLITIC CAPITAL LETTER DJERVI
-2C0D GLAGOLITIC CAPITAL LETTER KAKO
-2C0E GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C0F GLAGOLITIC CAPITAL LETTER MYSLITE
-2C10 GLAGOLITIC CAPITAL LETTER NASHI
-2C11 GLAGOLITIC CAPITAL LETTER ONU
-2C12 GLAGOLITIC CAPITAL LETTER POKOJI
-2C13 GLAGOLITIC CAPITAL LETTER RITSI
-2C14 GLAGOLITIC CAPITAL LETTER SLOVO
-2C15 GLAGOLITIC CAPITAL LETTER TVRIDO
-2C16 GLAGOLITIC CAPITAL LETTER UKU
-2C17 GLAGOLITIC CAPITAL LETTER FRITU
-2C18 GLAGOLITIC CAPITAL LETTER HERU
-2C19 GLAGOLITIC CAPITAL LETTER OTU
-2C1A GLAGOLITIC CAPITAL LETTER PE
-2C1B GLAGOLITIC CAPITAL LETTER SHTA
-2C1C GLAGOLITIC CAPITAL LETTER TSI
-2C1D GLAGOLITIC CAPITAL LETTER CHRIVI
-2C1E GLAGOLITIC CAPITAL LETTER SHA
-2C1F GLAGOLITIC CAPITAL LETTER YERU
-2C20 GLAGOLITIC CAPITAL LETTER YERI
-2C21 GLAGOLITIC CAPITAL LETTER YATI
-2C22 GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C23 GLAGOLITIC CAPITAL LETTER YU
-2C24 GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C25 GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C26 GLAGOLITIC CAPITAL LETTER YO
-2C27 GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C28 GLAGOLITIC CAPITAL LETTER BIG YUS
-2C29 GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C2A GLAGOLITIC CAPITAL LETTER FITA
-2C2B GLAGOLITIC CAPITAL LETTER IZHITSA
-2C2C GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C2D GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C2E GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30 GLAGOLITIC SMALL LETTER AZU
-2C31 GLAGOLITIC SMALL LETTER BUKY
-2C32 GLAGOLITIC SMALL LETTER VEDE
-2C33 GLAGOLITIC SMALL LETTER GLAGOLI
-2C34 GLAGOLITIC SMALL LETTER DOBRO
-2C35 GLAGOLITIC SMALL LETTER YESTU
-2C36 GLAGOLITIC SMALL LETTER ZHIVETE
-2C37 GLAGOLITIC SMALL LETTER DZELO
-2C38 GLAGOLITIC SMALL LETTER ZEMLJA
-2C39 GLAGOLITIC SMALL LETTER IZHE
-2C3A GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C3B GLAGOLITIC SMALL LETTER I
-2C3C GLAGOLITIC SMALL LETTER DJERVI
-2C3D GLAGOLITIC SMALL LETTER KAKO
-2C3E GLAGOLITIC SMALL LETTER LJUDIJE
-2C3F GLAGOLITIC SMALL LETTER MYSLITE
-2C40 GLAGOLITIC SMALL LETTER NASHI
-2C41 GLAGOLITIC SMALL LETTER ONU
-2C42 GLAGOLITIC SMALL LETTER POKOJI
-2C43 GLAGOLITIC SMALL LETTER RITSI
-2C44 GLAGOLITIC SMALL LETTER SLOVO
-2C45 GLAGOLITIC SMALL LETTER TVRIDO
-2C46 GLAGOLITIC SMALL LETTER UKU
-2C47 GLAGOLITIC SMALL LETTER FRITU
-2C48 GLAGOLITIC SMALL LETTER HERU
-2C49 GLAGOLITIC SMALL LETTER OTU
-2C4A GLAGOLITIC SMALL LETTER PE
-2C4B GLAGOLITIC SMALL LETTER SHTA
-2C4C GLAGOLITIC SMALL LETTER TSI
-2C4D GLAGOLITIC SMALL LETTER CHRIVI
-2C4E GLAGOLITIC SMALL LETTER SHA
-2C4F GLAGOLITIC SMALL LETTER YERU
-2C50 GLAGOLITIC SMALL LETTER YERI
-2C51 GLAGOLITIC SMALL LETTER YATI
-2C52 GLAGOLITIC SMALL LETTER SPIDERY HA
-2C53 GLAGOLITIC SMALL LETTER YU
-2C54 GLAGOLITIC SMALL LETTER SMALL YUS
-2C55 GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C56 GLAGOLITIC SMALL LETTER YO
-2C57 GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C58 GLAGOLITIC SMALL LETTER BIG YUS
-2C59 GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C5A GLAGOLITIC SMALL LETTER FITA
-2C5B GLAGOLITIC SMALL LETTER IZHITSA
-2C5C GLAGOLITIC SMALL LETTER SHTAPIC
-2C5D GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C5E GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60 LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C61 LATIN SMALL LETTER L WITH DOUBLE BAR
-2C62 LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-2C63 LATIN CAPITAL LETTER P WITH STROKE
-2C64 LATIN CAPITAL LETTER R WITH TAIL
-2C65 LATIN SMALL LETTER A WITH STROKE
-2C66 LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C67 LATIN CAPITAL LETTER H WITH DESCENDER
-2C68 LATIN SMALL LETTER H WITH DESCENDER
-2C69 LATIN CAPITAL LETTER K WITH DESCENDER
-2C6A LATIN SMALL LETTER K WITH DESCENDER
-2C6B LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6C LATIN SMALL LETTER Z WITH DESCENDER
-2C6D LATIN CAPITAL LETTER ALPHA
-2C6E LATIN CAPITAL LETTER M WITH HOOK
-2C6F LATIN CAPITAL LETTER TURNED A
-2C70 LATIN CAPITAL LETTER TURNED ALPHA
-2C71 LATIN SMALL LETTER V WITH RIGHT HOOK
-2C72 LATIN CAPITAL LETTER W WITH HOOK
-2C73 LATIN SMALL LETTER W WITH HOOK
-2C74 LATIN SMALL LETTER V WITH CURL
-2C75 LATIN CAPITAL LETTER HALF H
-2C76 LATIN SMALL LETTER HALF H
-2C77 LATIN SMALL LETTER TAILLESS PHI
-2C78 LATIN SMALL LETTER E WITH NOTCH
-2C79 LATIN SMALL LETTER TURNED R WITH TAIL
-2C7A LATIN SMALL LETTER O WITH LOW RING INSIDE
-2C7B LATIN LETTER SMALL CAPITAL TURNED E
-2C7C LATIN SUBSCRIPT SMALL LETTER J
-2C7D MODIFIER LETTER CAPITAL V
-2C7E LATIN CAPITAL LETTER S WITH SWASH TAIL
-2C7F LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C80 COPTIC CAPITAL LETTER ALFA
-2C81 COPTIC SMALL LETTER ALFA
-2C82 COPTIC CAPITAL LETTER VIDA
-2C83 COPTIC SMALL LETTER VIDA
-2C84 COPTIC CAPITAL LETTER GAMMA
-2C85 COPTIC SMALL LETTER GAMMA
-2C86 COPTIC CAPITAL LETTER DALDA
-2C87 COPTIC SMALL LETTER DALDA
-2C88 COPTIC CAPITAL LETTER EIE
-2C89 COPTIC SMALL LETTER EIE
-2C8A COPTIC CAPITAL LETTER SOU
-2C8B COPTIC SMALL LETTER SOU
-2C8C COPTIC CAPITAL LETTER ZATA
-2C8D COPTIC SMALL LETTER ZATA
-2C8E COPTIC CAPITAL LETTER HATE
-2C8F COPTIC SMALL LETTER HATE
-2C90 COPTIC CAPITAL LETTER THETHE
-2C91 COPTIC SMALL LETTER THETHE
-2C92 COPTIC CAPITAL LETTER IAUDA
-2C93 COPTIC SMALL LETTER IAUDA
-2C94 COPTIC CAPITAL LETTER KAPA
-2C95 COPTIC SMALL LETTER KAPA
-2C96 COPTIC CAPITAL LETTER LAULA
-2C97 COPTIC SMALL LETTER LAULA
-2C98 COPTIC CAPITAL LETTER MI
-2C99 COPTIC SMALL LETTER MI
-2C9A COPTIC CAPITAL LETTER NI
-2C9B COPTIC SMALL LETTER NI
-2C9C COPTIC CAPITAL LETTER KSI
-2C9D COPTIC SMALL LETTER KSI
-2C9E COPTIC CAPITAL LETTER O
-2C9F COPTIC SMALL LETTER O
-2CA0 COPTIC CAPITAL LETTER PI
-2CA1 COPTIC SMALL LETTER PI
-2CA2 COPTIC CAPITAL LETTER RO
-2CA3 COPTIC SMALL LETTER RO
-2CA4 COPTIC CAPITAL LETTER SIMA
-2CA5 COPTIC SMALL LETTER SIMA
-2CA6 COPTIC CAPITAL LETTER TAU
-2CA7 COPTIC SMALL LETTER TAU
-2CA8 COPTIC CAPITAL LETTER UA
-2CA9 COPTIC SMALL LETTER UA
-2CAA COPTIC CAPITAL LETTER FI
-2CAB COPTIC SMALL LETTER FI
-2CAC COPTIC CAPITAL LETTER KHI
-2CAD COPTIC SMALL LETTER KHI
-2CAE COPTIC CAPITAL LETTER PSI
-2CAF COPTIC SMALL LETTER PSI
-2CB0 COPTIC CAPITAL LETTER OOU
-2CB1 COPTIC SMALL LETTER OOU
-2CB2 COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB3 COPTIC SMALL LETTER DIALECT-P ALEF
-2CB4 COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB5 COPTIC SMALL LETTER OLD COPTIC AIN
-2CB6 COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB7 COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB8 COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CB9 COPTIC SMALL LETTER DIALECT-P KAPA
-2CBA COPTIC CAPITAL LETTER DIALECT-P NI
-2CBB COPTIC SMALL LETTER DIALECT-P NI
-2CBC COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBD COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBE COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CBF COPTIC SMALL LETTER OLD COPTIC OOU
-2CC0 COPTIC CAPITAL LETTER SAMPI
-2CC1 COPTIC SMALL LETTER SAMPI
-2CC2 COPTIC CAPITAL LETTER CROSSED SHEI
-2CC3 COPTIC SMALL LETTER CROSSED SHEI
-2CC4 COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC5 COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC6 COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC7 COPTIC SMALL LETTER OLD COPTIC ESH
-2CC8 COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CC9 COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCA COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCB COPTIC SMALL LETTER DIALECT-P HORI
-2CCC COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCD COPTIC SMALL LETTER OLD COPTIC HORI
-2CCE COPTIC CAPITAL LETTER OLD COPTIC HA
-2CCF COPTIC SMALL LETTER OLD COPTIC HA
-2CD0 COPTIC CAPITAL LETTER L-SHAPED HA
-2CD1 COPTIC SMALL LETTER L-SHAPED HA
-2CD2 COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD3 COPTIC SMALL LETTER OLD COPTIC HEI
-2CD4 COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD5 COPTIC SMALL LETTER OLD COPTIC HAT
-2CD6 COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD7 COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD8 COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CD9 COPTIC SMALL LETTER OLD COPTIC DJA
-2CDA COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDB COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDC COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDD COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDE COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CDF COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE0 COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE1 COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE2 COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CE3 COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE4 COPTIC SYMBOL KAI
-2CE5 COPTIC SYMBOL MI RO
-2CE6 COPTIC SYMBOL PI RO
-2CE7 COPTIC SYMBOL STAUROS
-2CE8 COPTIC SYMBOL TAU RO
-2CE9 COPTIC SYMBOL KHI RO
-2CEA COPTIC SYMBOL SHIMA SIMA
-2CEB COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CEC COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CED COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CEE COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF COPTIC COMBINING NI ABOVE
-2CF0 COPTIC COMBINING SPIRITUS ASPER
-2CF1 COPTIC COMBINING SPIRITUS LENIS
-2CF9 COPTIC OLD NUBIAN FULL STOP
-2CFA COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD COPTIC FRACTION ONE HALF
-2CFE COPTIC FULL STOP
-2CFF COPTIC MORPHOLOGICAL DIVIDER
-2D00 GEORGIAN SMALL LETTER AN
-2D01 GEORGIAN SMALL LETTER BAN
-2D02 GEORGIAN SMALL LETTER GAN
-2D03 GEORGIAN SMALL LETTER DON
-2D04 GEORGIAN SMALL LETTER EN
-2D05 GEORGIAN SMALL LETTER VIN
-2D06 GEORGIAN SMALL LETTER ZEN
-2D07 GEORGIAN SMALL LETTER TAN
-2D08 GEORGIAN SMALL LETTER IN
-2D09 GEORGIAN SMALL LETTER KAN
-2D0A GEORGIAN SMALL LETTER LAS
-2D0B GEORGIAN SMALL LETTER MAN
-2D0C GEORGIAN SMALL LETTER NAR
-2D0D GEORGIAN SMALL LETTER ON
-2D0E GEORGIAN SMALL LETTER PAR
-2D0F GEORGIAN SMALL LETTER ZHAR
-2D10 GEORGIAN SMALL LETTER RAE
-2D11 GEORGIAN SMALL LETTER SAN
-2D12 GEORGIAN SMALL LETTER TAR
-2D13 GEORGIAN SMALL LETTER UN
-2D14 GEORGIAN SMALL LETTER PHAR
-2D15 GEORGIAN SMALL LETTER KHAR
-2D16 GEORGIAN SMALL LETTER GHAN
-2D17 GEORGIAN SMALL LETTER QAR
-2D18 GEORGIAN SMALL LETTER SHIN
-2D19 GEORGIAN SMALL LETTER CHIN
-2D1A GEORGIAN SMALL LETTER CAN
-2D1B GEORGIAN SMALL LETTER JIL
-2D1C GEORGIAN SMALL LETTER CIL
-2D1D GEORGIAN SMALL LETTER CHAR
-2D1E GEORGIAN SMALL LETTER XAN
-2D1F GEORGIAN SMALL LETTER JHAN
-2D20 GEORGIAN SMALL LETTER HAE
-2D21 GEORGIAN SMALL LETTER HE
-2D22 GEORGIAN SMALL LETTER HIE
-2D23 GEORGIAN SMALL LETTER WE
-2D24 GEORGIAN SMALL LETTER HAR
-2D25 GEORGIAN SMALL LETTER HOE
-2D30 TIFINAGH LETTER YA
-2D31 TIFINAGH LETTER YAB
-2D32 TIFINAGH LETTER YABH
-2D33 TIFINAGH LETTER YAG
-2D34 TIFINAGH LETTER YAGHH
-2D35 TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36 TIFINAGH LETTER YAJ
-2D37 TIFINAGH LETTER YAD
-2D38 TIFINAGH LETTER YADH
-2D39 TIFINAGH LETTER YADD
-2D3A TIFINAGH LETTER YADDH
-2D3B TIFINAGH LETTER YEY
-2D3C TIFINAGH LETTER YAF
-2D3D TIFINAGH LETTER YAK
-2D3E TIFINAGH LETTER TUAREG YAK
-2D3F TIFINAGH LETTER YAKHH
-2D40 TIFINAGH LETTER YAH
-2D41 TIFINAGH LETTER BERBER ACADEMY YAH
-2D42 TIFINAGH LETTER TUAREG YAH
-2D43 TIFINAGH LETTER YAHH
-2D44 TIFINAGH LETTER YAA
-2D45 TIFINAGH LETTER YAKH
-2D46 TIFINAGH LETTER TUAREG YAKH
-2D47 TIFINAGH LETTER YAQ
-2D48 TIFINAGH LETTER TUAREG YAQ
-2D49 TIFINAGH LETTER YI
-2D4A TIFINAGH LETTER YAZH
-2D4B TIFINAGH LETTER AHAGGAR YAZH
-2D4C TIFINAGH LETTER TUAREG YAZH
-2D4D TIFINAGH LETTER YAL
-2D4E TIFINAGH LETTER YAM
-2D4F TIFINAGH LETTER YAN
-2D50 TIFINAGH LETTER TUAREG YAGN
-2D51 TIFINAGH LETTER TUAREG YANG
-2D52 TIFINAGH LETTER YAP
-2D53 TIFINAGH LETTER YU
-2D54 TIFINAGH LETTER YAR
-2D55 TIFINAGH LETTER YARR
-2D56 TIFINAGH LETTER YAGH
-2D57 TIFINAGH LETTER TUAREG YAGH
-2D58 TIFINAGH LETTER AYER YAGH
-2D59 TIFINAGH LETTER YAS
-2D5A TIFINAGH LETTER YASS
-2D5B TIFINAGH LETTER YASH
-2D5C TIFINAGH LETTER YAT
-2D5D TIFINAGH LETTER YATH
-2D5E TIFINAGH LETTER YACH
-2D5F TIFINAGH LETTER YATT
-2D60 TIFINAGH LETTER YAV
-2D61 TIFINAGH LETTER YAW
-2D62 TIFINAGH LETTER YAY
-2D63 TIFINAGH LETTER YAZ
-2D64 TIFINAGH LETTER TAWELLEMET YAZ
-2D65 TIFINAGH LETTER YAZZ
-2D6F TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80 ETHIOPIC SYLLABLE LOA
-2D81 ETHIOPIC SYLLABLE MOA
-2D82 ETHIOPIC SYLLABLE ROA
-2D83 ETHIOPIC SYLLABLE SOA
-2D84 ETHIOPIC SYLLABLE SHOA
-2D85 ETHIOPIC SYLLABLE BOA
-2D86 ETHIOPIC SYLLABLE TOA
-2D87 ETHIOPIC SYLLABLE COA
-2D88 ETHIOPIC SYLLABLE NOA
-2D89 ETHIOPIC SYLLABLE NYOA
-2D8A ETHIOPIC SYLLABLE GLOTTAL OA
-2D8B ETHIOPIC SYLLABLE ZOA
-2D8C ETHIOPIC SYLLABLE DOA
-2D8D ETHIOPIC SYLLABLE DDOA
-2D8E ETHIOPIC SYLLABLE JOA
-2D8F ETHIOPIC SYLLABLE THOA
-2D90 ETHIOPIC SYLLABLE CHOA
-2D91 ETHIOPIC SYLLABLE PHOA
-2D92 ETHIOPIC SYLLABLE POA
-2D93 ETHIOPIC SYLLABLE GGWA
-2D94 ETHIOPIC SYLLABLE GGWI
-2D95 ETHIOPIC SYLLABLE GGWEE
-2D96 ETHIOPIC SYLLABLE GGWE
-2DA0 ETHIOPIC SYLLABLE SSA
-2DA1 ETHIOPIC SYLLABLE SSU
-2DA2 ETHIOPIC SYLLABLE SSI
-2DA3 ETHIOPIC SYLLABLE SSAA
-2DA4 ETHIOPIC SYLLABLE SSEE
-2DA5 ETHIOPIC SYLLABLE SSE
-2DA6 ETHIOPIC SYLLABLE SSO
-2DA8 ETHIOPIC SYLLABLE CCA
-2DA9 ETHIOPIC SYLLABLE CCU
-2DAA ETHIOPIC SYLLABLE CCI
-2DAB ETHIOPIC SYLLABLE CCAA
-2DAC ETHIOPIC SYLLABLE CCEE
-2DAD ETHIOPIC SYLLABLE CCE
-2DAE ETHIOPIC SYLLABLE CCO
-2DB0 ETHIOPIC SYLLABLE ZZA
-2DB1 ETHIOPIC SYLLABLE ZZU
-2DB2 ETHIOPIC SYLLABLE ZZI
-2DB3 ETHIOPIC SYLLABLE ZZAA
-2DB4 ETHIOPIC SYLLABLE ZZEE
-2DB5 ETHIOPIC SYLLABLE ZZE
-2DB6 ETHIOPIC SYLLABLE ZZO
-2DB8 ETHIOPIC SYLLABLE CCHA
-2DB9 ETHIOPIC SYLLABLE CCHU
-2DBA ETHIOPIC SYLLABLE CCHI
-2DBB ETHIOPIC SYLLABLE CCHAA
-2DBC ETHIOPIC SYLLABLE CCHEE
-2DBD ETHIOPIC SYLLABLE CCHE
-2DBE ETHIOPIC SYLLABLE CCHO
-2DC0 ETHIOPIC SYLLABLE QYA
-2DC1 ETHIOPIC SYLLABLE QYU
-2DC2 ETHIOPIC SYLLABLE QYI
-2DC3 ETHIOPIC SYLLABLE QYAA
-2DC4 ETHIOPIC SYLLABLE QYEE
-2DC5 ETHIOPIC SYLLABLE QYE
-2DC6 ETHIOPIC SYLLABLE QYO
-2DC8 ETHIOPIC SYLLABLE KYA
-2DC9 ETHIOPIC SYLLABLE KYU
-2DCA ETHIOPIC SYLLABLE KYI
-2DCB ETHIOPIC SYLLABLE KYAA
-2DCC ETHIOPIC SYLLABLE KYEE
-2DCD ETHIOPIC SYLLABLE KYE
-2DCE ETHIOPIC SYLLABLE KYO
-2DD0 ETHIOPIC SYLLABLE XYA
-2DD1 ETHIOPIC SYLLABLE XYU
-2DD2 ETHIOPIC SYLLABLE XYI
-2DD3 ETHIOPIC SYLLABLE XYAA
-2DD4 ETHIOPIC SYLLABLE XYEE
-2DD5 ETHIOPIC SYLLABLE XYE
-2DD6 ETHIOPIC SYLLABLE XYO
-2DD8 ETHIOPIC SYLLABLE GYA
-2DD9 ETHIOPIC SYLLABLE GYU
-2DDA ETHIOPIC SYLLABLE GYI
-2DDB ETHIOPIC SYLLABLE GYAA
-2DDC ETHIOPIC SYLLABLE GYEE
-2DDD ETHIOPIC SYLLABLE GYE
-2DDE ETHIOPIC SYLLABLE GYO
-2DE0 COMBINING CYRILLIC LETTER BE
-2DE1 COMBINING CYRILLIC LETTER VE
-2DE2 COMBINING CYRILLIC LETTER GHE
-2DE3 COMBINING CYRILLIC LETTER DE
-2DE4 COMBINING CYRILLIC LETTER ZHE
-2DE5 COMBINING CYRILLIC LETTER ZE
-2DE6 COMBINING CYRILLIC LETTER KA
-2DE7 COMBINING CYRILLIC LETTER EL
-2DE8 COMBINING CYRILLIC LETTER EM
-2DE9 COMBINING CYRILLIC LETTER EN
-2DEA COMBINING CYRILLIC LETTER O
-2DEB COMBINING CYRILLIC LETTER PE
-2DEC COMBINING CYRILLIC LETTER ER
-2DED COMBINING CYRILLIC LETTER ES
-2DEE COMBINING CYRILLIC LETTER TE
-2DEF COMBINING CYRILLIC LETTER HA
-2DF0 COMBINING CYRILLIC LETTER TSE
-2DF1 COMBINING CYRILLIC LETTER CHE
-2DF2 COMBINING CYRILLIC LETTER SHA
-2DF3 COMBINING CYRILLIC LETTER SHCHA
-2DF4 COMBINING CYRILLIC LETTER FITA
-2DF5 COMBINING CYRILLIC LETTER ES-TE
-2DF6 COMBINING CYRILLIC LETTER A
-2DF7 COMBINING CYRILLIC LETTER IE
-2DF8 COMBINING CYRILLIC LETTER DJERV
-2DF9 COMBINING CYRILLIC LETTER MONOGRAPH UK
-2DFA COMBINING CYRILLIC LETTER YAT
-2DFB COMBINING CYRILLIC LETTER YU
-2DFC COMBINING CYRILLIC LETTER IOTIFIED A
-2DFD COMBINING CYRILLIC LETTER LITTLE YUS
-2DFE COMBINING CYRILLIC LETTER BIG YUS
-2DFF COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E00 RIGHT ANGLE SUBSTITUTION MARKER
-2E01 RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 LEFT SUBSTITUTION BRACKET
-2E03 RIGHT SUBSTITUTION BRACKET
-2E04 LEFT DOTTED SUBSTITUTION BRACKET
-2E05 RIGHT DOTTED SUBSTITUTION BRACKET
-2E06 RAISED INTERPOLATION MARKER
-2E07 RAISED DOTTED INTERPOLATION MARKER
-2E08 DOTTED TRANSPOSITION MARKER
-2E09 LEFT TRANSPOSITION BRACKET
-2E0A RIGHT TRANSPOSITION BRACKET
-2E0B RAISED SQUARE
-2E0C LEFT RAISED OMISSION BRACKET
-2E0D RIGHT RAISED OMISSION BRACKET
-2E0E EDITORIAL CORONIS
-2E0F PARAGRAPHOS
-2E10 FORKED PARAGRAPHOS
-2E11 REVERSED FORKED PARAGRAPHOS
-2E12 HYPODIASTOLE
-2E13 DOTTED OBELOS
-2E14 DOWNWARDS ANCORA
-2E15 UPWARDS ANCORA
-2E16 DOTTED RIGHT-POINTING ANGLE
-2E17 DOUBLE OBLIQUE HYPHEN
-2E18 INVERTED INTERROBANG
-2E19 PALM BRANCH
-2E1A HYPHEN WITH DIAERESIS
-2E1B TILDE WITH RING ABOVE
-2E1C LEFT LOW PARAPHRASE BRACKET
-2E1D RIGHT LOW PARAPHRASE BRACKET
-2E1E TILDE WITH DOT ABOVE
-2E1F TILDE WITH DOT BELOW
-2E20 LEFT VERTICAL BAR WITH QUILL
-2E21 RIGHT VERTICAL BAR WITH QUILL
-2E22 TOP LEFT HALF BRACKET
-2E23 TOP RIGHT HALF BRACKET
-2E24 BOTTOM LEFT HALF BRACKET
-2E25 BOTTOM RIGHT HALF BRACKET
-2E26 LEFT SIDEWAYS U BRACKET
-2E27 RIGHT SIDEWAYS U BRACKET
-2E28 LEFT DOUBLE PARENTHESIS
-2E29 RIGHT DOUBLE PARENTHESIS
-2E2A TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C SQUARED FOUR DOT PUNCTUATION
-2E2D FIVE DOT MARK
-2E2E REVERSED QUESTION MARK
-2E2F VERTICAL TILDE
-2E30 RING POINT
-2E31 WORD SEPARATOR MIDDLE DOT
-2E80 CJK RADICAL REPEAT
-2E81 CJK RADICAL CLIFF
-2E82 CJK RADICAL SECOND ONE
-2E83 CJK RADICAL SECOND TWO
-2E84 CJK RADICAL SECOND THREE
-2E85 CJK RADICAL PERSON
-2E86 CJK RADICAL BOX
-2E87 CJK RADICAL TABLE
-2E88 CJK RADICAL KNIFE ONE
-2E89 CJK RADICAL KNIFE TWO
-2E8A CJK RADICAL DIVINATION
-2E8B CJK RADICAL SEAL
-2E8C CJK RADICAL SMALL ONE
-2E8D CJK RADICAL SMALL TWO
-2E8E CJK RADICAL LAME ONE
-2E8F CJK RADICAL LAME TWO
-2E90 CJK RADICAL LAME THREE
-2E91 CJK RADICAL LAME FOUR
-2E92 CJK RADICAL SNAKE
-2E93 CJK RADICAL THREAD
-2E94 CJK RADICAL SNOUT ONE
-2E95 CJK RADICAL SNOUT TWO
-2E96 CJK RADICAL HEART ONE
-2E97 CJK RADICAL HEART TWO
-2E98 CJK RADICAL HAND
-2E99 CJK RADICAL RAP
-2E9B CJK RADICAL CHOKE
-2E9C CJK RADICAL SUN
-2E9D CJK RADICAL MOON
-2E9E CJK RADICAL DEATH
-2E9F CJK RADICAL MOTHER
-2EA0 CJK RADICAL CIVILIAN
-2EA1 CJK RADICAL WATER ONE
-2EA2 CJK RADICAL WATER TWO
-2EA3 CJK RADICAL FIRE
-2EA4 CJK RADICAL PAW ONE
-2EA5 CJK RADICAL PAW TWO
-2EA6 CJK RADICAL SIMPLIFIED HALF TREE TRUNK
-2EA7 CJK RADICAL COW
-2EA8 CJK RADICAL DOG
-2EA9 CJK RADICAL JADE
-2EAA CJK RADICAL BOLT OF CLOTH
-2EAB CJK RADICAL EYE
-2EAC CJK RADICAL SPIRIT ONE
-2EAD CJK RADICAL SPIRIT TWO
-2EAE CJK RADICAL BAMBOO
-2EAF CJK RADICAL SILK
-2EB0 CJK RADICAL C-SIMPLIFIED SILK
-2EB1 CJK RADICAL NET ONE
-2EB2 CJK RADICAL NET TWO
-2EB3 CJK RADICAL NET THREE
-2EB4 CJK RADICAL NET FOUR
-2EB5 CJK RADICAL MESH
-2EB6 CJK RADICAL SHEEP
-2EB7 CJK RADICAL RAM
-2EB8 CJK RADICAL EWE
-2EB9 CJK RADICAL OLD
-2EBA CJK RADICAL BRUSH ONE
-2EBB CJK RADICAL BRUSH TWO
-2EBC CJK RADICAL MEAT
-2EBD CJK RADICAL MORTAR
-2EBE CJK RADICAL GRASS ONE
-2EBF CJK RADICAL GRASS TWO
-2EC0 CJK RADICAL GRASS THREE
-2EC1 CJK RADICAL TIGER
-2EC2 CJK RADICAL CLOTHES
-2EC3 CJK RADICAL WEST ONE
-2EC4 CJK RADICAL WEST TWO
-2EC5 CJK RADICAL C-SIMPLIFIED SEE
-2EC6 CJK RADICAL SIMPLIFIED HORN
-2EC7 CJK RADICAL HORN
-2EC8 CJK RADICAL C-SIMPLIFIED SPEECH
-2EC9 CJK RADICAL C-SIMPLIFIED SHELL
-2ECA CJK RADICAL FOOT
-2ECB CJK RADICAL C-SIMPLIFIED CART
-2ECC CJK RADICAL SIMPLIFIED WALK
-2ECD CJK RADICAL WALK ONE
-2ECE CJK RADICAL WALK TWO
-2ECF CJK RADICAL CITY
-2ED0 CJK RADICAL C-SIMPLIFIED GOLD
-2ED1 CJK RADICAL LONG ONE
-2ED2 CJK RADICAL LONG TWO
-2ED3 CJK RADICAL C-SIMPLIFIED LONG
-2ED4 CJK RADICAL C-SIMPLIFIED GATE
-2ED5 CJK RADICAL MOUND ONE
-2ED6 CJK RADICAL MOUND TWO
-2ED7 CJK RADICAL RAIN
-2ED8 CJK RADICAL BLUE
-2ED9 CJK RADICAL C-SIMPLIFIED TANNED LEATHER
-2EDA CJK RADICAL C-SIMPLIFIED LEAF
-2EDB CJK RADICAL C-SIMPLIFIED WIND
-2EDC CJK RADICAL C-SIMPLIFIED FLY
-2EDD CJK RADICAL EAT ONE
-2EDE CJK RADICAL EAT TWO
-2EDF CJK RADICAL EAT THREE
-2EE0 CJK RADICAL C-SIMPLIFIED EAT
-2EE1 CJK RADICAL HEAD
-2EE2 CJK RADICAL C-SIMPLIFIED HORSE
-2EE3 CJK RADICAL BONE
-2EE4 CJK RADICAL GHOST
-2EE5 CJK RADICAL C-SIMPLIFIED FISH
-2EE6 CJK RADICAL C-SIMPLIFIED BIRD
-2EE7 CJK RADICAL C-SIMPLIFIED SALT
-2EE8 CJK RADICAL SIMPLIFIED WHEAT
-2EE9 CJK RADICAL SIMPLIFIED YELLOW
-2EEA CJK RADICAL C-SIMPLIFIED FROG
-2EEB CJK RADICAL J-SIMPLIFIED EVEN
-2EEC CJK RADICAL C-SIMPLIFIED EVEN
-2EED CJK RADICAL J-SIMPLIFIED TOOTH
-2EEE CJK RADICAL C-SIMPLIFIED TOOTH
-2EEF CJK RADICAL J-SIMPLIFIED DRAGON
-2EF0 CJK RADICAL C-SIMPLIFIED DRAGON
-2EF1 CJK RADICAL TURTLE
-2EF2 CJK RADICAL J-SIMPLIFIED TURTLE
-2EF3 CJK RADICAL C-SIMPLIFIED TURTLE
-2F00 KANGXI RADICAL ONE
-2F01 KANGXI RADICAL LINE
-2F02 KANGXI RADICAL DOT
-2F03 KANGXI RADICAL SLASH
-2F04 KANGXI RADICAL SECOND
-2F05 KANGXI RADICAL HOOK
-2F06 KANGXI RADICAL TWO
-2F07 KANGXI RADICAL LID
-2F08 KANGXI RADICAL MAN
-2F09 KANGXI RADICAL LEGS
-2F0A KANGXI RADICAL ENTER
-2F0B KANGXI RADICAL EIGHT
-2F0C KANGXI RADICAL DOWN BOX
-2F0D KANGXI RADICAL COVER
-2F0E KANGXI RADICAL ICE
-2F0F KANGXI RADICAL TABLE
-2F10 KANGXI RADICAL OPEN BOX
-2F11 KANGXI RADICAL KNIFE
-2F12 KANGXI RADICAL POWER
-2F13 KANGXI RADICAL WRAP
-2F14 KANGXI RADICAL SPOON
-2F15 KANGXI RADICAL RIGHT OPEN BOX
-2F16 KANGXI RADICAL HIDING ENCLOSURE
-2F17 KANGXI RADICAL TEN
-2F18 KANGXI RADICAL DIVINATION
-2F19 KANGXI RADICAL SEAL
-2F1A KANGXI RADICAL CLIFF
-2F1B KANGXI RADICAL PRIVATE
-2F1C KANGXI RADICAL AGAIN
-2F1D KANGXI RADICAL MOUTH
-2F1E KANGXI RADICAL ENCLOSURE
-2F1F KANGXI RADICAL EARTH
-2F20 KANGXI RADICAL SCHOLAR
-2F21 KANGXI RADICAL GO
-2F22 KANGXI RADICAL GO SLOWLY
-2F23 KANGXI RADICAL EVENING
-2F24 KANGXI RADICAL BIG
-2F25 KANGXI RADICAL WOMAN
-2F26 KANGXI RADICAL CHILD
-2F27 KANGXI RADICAL ROOF
-2F28 KANGXI RADICAL INCH
-2F29 KANGXI RADICAL SMALL
-2F2A KANGXI RADICAL LAME
-2F2B KANGXI RADICAL CORPSE
-2F2C KANGXI RADICAL SPROUT
-2F2D KANGXI RADICAL MOUNTAIN
-2F2E KANGXI RADICAL RIVER
-2F2F KANGXI RADICAL WORK
-2F30 KANGXI RADICAL ONESELF
-2F31 KANGXI RADICAL TURBAN
-2F32 KANGXI RADICAL DRY
-2F33 KANGXI RADICAL SHORT THREAD
-2F34 KANGXI RADICAL DOTTED CLIFF
-2F35 KANGXI RADICAL LONG STRIDE
-2F36 KANGXI RADICAL TWO HANDS
-2F37 KANGXI RADICAL SHOOT
-2F38 KANGXI RADICAL BOW
-2F39 KANGXI RADICAL SNOUT
-2F3A KANGXI RADICAL BRISTLE
-2F3B KANGXI RADICAL STEP
-2F3C KANGXI RADICAL HEART
-2F3D KANGXI RADICAL HALBERD
-2F3E KANGXI RADICAL DOOR
-2F3F KANGXI RADICAL HAND
-2F40 KANGXI RADICAL BRANCH
-2F41 KANGXI RADICAL RAP
-2F42 KANGXI RADICAL SCRIPT
-2F43 KANGXI RADICAL DIPPER
-2F44 KANGXI RADICAL AXE
-2F45 KANGXI RADICAL SQUARE
-2F46 KANGXI RADICAL NOT
-2F47 KANGXI RADICAL SUN
-2F48 KANGXI RADICAL SAY
-2F49 KANGXI RADICAL MOON
-2F4A KANGXI RADICAL TREE
-2F4B KANGXI RADICAL LACK
-2F4C KANGXI RADICAL STOP
-2F4D KANGXI RADICAL DEATH
-2F4E KANGXI RADICAL WEAPON
-2F4F KANGXI RADICAL DO NOT
-2F50 KANGXI RADICAL COMPARE
-2F51 KANGXI RADICAL FUR
-2F52 KANGXI RADICAL CLAN
-2F53 KANGXI RADICAL STEAM
-2F54 KANGXI RADICAL WATER
-2F55 KANGXI RADICAL FIRE
-2F56 KANGXI RADICAL CLAW
-2F57 KANGXI RADICAL FATHER
-2F58 KANGXI RADICAL DOUBLE X
-2F59 KANGXI RADICAL HALF TREE TRUNK
-2F5A KANGXI RADICAL SLICE
-2F5B KANGXI RADICAL FANG
-2F5C KANGXI RADICAL COW
-2F5D KANGXI RADICAL DOG
-2F5E KANGXI RADICAL PROFOUND
-2F5F KANGXI RADICAL JADE
-2F60 KANGXI RADICAL MELON
-2F61 KANGXI RADICAL TILE
-2F62 KANGXI RADICAL SWEET
-2F63 KANGXI RADICAL LIFE
-2F64 KANGXI RADICAL USE
-2F65 KANGXI RADICAL FIELD
-2F66 KANGXI RADICAL BOLT OF CLOTH
-2F67 KANGXI RADICAL SICKNESS
-2F68 KANGXI RADICAL DOTTED TENT
-2F69 KANGXI RADICAL WHITE
-2F6A KANGXI RADICAL SKIN
-2F6B KANGXI RADICAL DISH
-2F6C KANGXI RADICAL EYE
-2F6D KANGXI RADICAL SPEAR
-2F6E KANGXI RADICAL ARROW
-2F6F KANGXI RADICAL STONE
-2F70 KANGXI RADICAL SPIRIT
-2F71 KANGXI RADICAL TRACK
-2F72 KANGXI RADICAL GRAIN
-2F73 KANGXI RADICAL CAVE
-2F74 KANGXI RADICAL STAND
-2F75 KANGXI RADICAL BAMBOO
-2F76 KANGXI RADICAL RICE
-2F77 KANGXI RADICAL SILK
-2F78 KANGXI RADICAL JAR
-2F79 KANGXI RADICAL NET
-2F7A KANGXI RADICAL SHEEP
-2F7B KANGXI RADICAL FEATHER
-2F7C KANGXI RADICAL OLD
-2F7D KANGXI RADICAL AND
-2F7E KANGXI RADICAL PLOW
-2F7F KANGXI RADICAL EAR
-2F80 KANGXI RADICAL BRUSH
-2F81 KANGXI RADICAL MEAT
-2F82 KANGXI RADICAL MINISTER
-2F83 KANGXI RADICAL SELF
-2F84 KANGXI RADICAL ARRIVE
-2F85 KANGXI RADICAL MORTAR
-2F86 KANGXI RADICAL TONGUE
-2F87 KANGXI RADICAL OPPOSE
-2F88 KANGXI RADICAL BOAT
-2F89 KANGXI RADICAL STOPPING
-2F8A KANGXI RADICAL COLOR
-2F8B KANGXI RADICAL GRASS
-2F8C KANGXI RADICAL TIGER
-2F8D KANGXI RADICAL INSECT
-2F8E KANGXI RADICAL BLOOD
-2F8F KANGXI RADICAL WALK ENCLOSURE
-2F90 KANGXI RADICAL CLOTHES
-2F91 KANGXI RADICAL WEST
-2F92 KANGXI RADICAL SEE
-2F93 KANGXI RADICAL HORN
-2F94 KANGXI RADICAL SPEECH
-2F95 KANGXI RADICAL VALLEY
-2F96 KANGXI RADICAL BEAN
-2F97 KANGXI RADICAL PIG
-2F98 KANGXI RADICAL BADGER
-2F99 KANGXI RADICAL SHELL
-2F9A KANGXI RADICAL RED
-2F9B KANGXI RADICAL RUN
-2F9C KANGXI RADICAL FOOT
-2F9D KANGXI RADICAL BODY
-2F9E KANGXI RADICAL CART
-2F9F KANGXI RADICAL BITTER
-2FA0 KANGXI RADICAL MORNING
-2FA1 KANGXI RADICAL WALK
-2FA2 KANGXI RADICAL CITY
-2FA3 KANGXI RADICAL WINE
-2FA4 KANGXI RADICAL DISTINGUISH
-2FA5 KANGXI RADICAL VILLAGE
-2FA6 KANGXI RADICAL GOLD
-2FA7 KANGXI RADICAL LONG
-2FA8 KANGXI RADICAL GATE
-2FA9 KANGXI RADICAL MOUND
-2FAA KANGXI RADICAL SLAVE
-2FAB KANGXI RADICAL SHORT TAILED BIRD
-2FAC KANGXI RADICAL RAIN
-2FAD KANGXI RADICAL BLUE
-2FAE KANGXI RADICAL WRONG
-2FAF KANGXI RADICAL FACE
-2FB0 KANGXI RADICAL LEATHER
-2FB1 KANGXI RADICAL TANNED LEATHER
-2FB2 KANGXI RADICAL LEEK
-2FB3 KANGXI RADICAL SOUND
-2FB4 KANGXI RADICAL LEAF
-2FB5 KANGXI RADICAL WIND
-2FB6 KANGXI RADICAL FLY
-2FB7 KANGXI RADICAL EAT
-2FB8 KANGXI RADICAL HEAD
-2FB9 KANGXI RADICAL FRAGRANT
-2FBA KANGXI RADICAL HORSE
-2FBB KANGXI RADICAL BONE
-2FBC KANGXI RADICAL TALL
-2FBD KANGXI RADICAL HAIR
-2FBE KANGXI RADICAL FIGHT
-2FBF KANGXI RADICAL SACRIFICIAL WINE
-2FC0 KANGXI RADICAL CAULDRON
-2FC1 KANGXI RADICAL GHOST
-2FC2 KANGXI RADICAL FISH
-2FC3 KANGXI RADICAL BIRD
-2FC4 KANGXI RADICAL SALT
-2FC5 KANGXI RADICAL DEER
-2FC6 KANGXI RADICAL WHEAT
-2FC7 KANGXI RADICAL HEMP
-2FC8 KANGXI RADICAL YELLOW
-2FC9 KANGXI RADICAL MILLET
-2FCA KANGXI RADICAL BLACK
-2FCB KANGXI RADICAL EMBROIDERY
-2FCC KANGXI RADICAL FROG
-2FCD KANGXI RADICAL TRIPOD
-2FCE KANGXI RADICAL DRUM
-2FCF KANGXI RADICAL RAT
-2FD0 KANGXI RADICAL NOSE
-2FD1 KANGXI RADICAL EVEN
-2FD2 KANGXI RADICAL TOOTH
-2FD3 KANGXI RADICAL DRAGON
-2FD4 KANGXI RADICAL TURTLE
-2FD5 KANGXI RADICAL FLUTE
-2FF0 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4 IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 IDEOGRAPHIC SPACE
-3001 IDEOGRAPHIC COMMA
-3002 IDEOGRAPHIC FULL STOP
-3003 DITTO MARK
-3004 JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005 IDEOGRAPHIC ITERATION MARK
-3006 IDEOGRAPHIC CLOSING MARK
-3007 IDEOGRAPHIC NUMBER ZERO
-3008 LEFT ANGLE BRACKET
-3009 RIGHT ANGLE BRACKET
-300A LEFT DOUBLE ANGLE BRACKET
-300B RIGHT DOUBLE ANGLE BRACKET
-300C LEFT CORNER BRACKET
-300D RIGHT CORNER BRACKET
-300E LEFT WHITE CORNER BRACKET
-300F RIGHT WHITE CORNER BRACKET
-3010 LEFT BLACK LENTICULAR BRACKET
-3011 RIGHT BLACK LENTICULAR BRACKET
-3012 POSTAL MARK
-3013 GETA MARK
-3014 LEFT TORTOISE SHELL BRACKET
-3015 RIGHT TORTOISE SHELL BRACKET
-3016 LEFT WHITE LENTICULAR BRACKET
-3017 RIGHT WHITE LENTICULAR BRACKET
-3018 LEFT WHITE TORTOISE SHELL BRACKET
-3019 RIGHT WHITE TORTOISE SHELL BRACKET
-301A LEFT WHITE SQUARE BRACKET
-301B RIGHT WHITE SQUARE BRACKET
-301C WAVE DASH
-301D REVERSED DOUBLE PRIME QUOTATION MARK
-301E DOUBLE PRIME QUOTATION MARK
-301F LOW DOUBLE PRIME QUOTATION MARK
-3020 POSTAL MARK FACE
-3021 HANGZHOU NUMERAL ONE
-3022 HANGZHOU NUMERAL TWO
-3023 HANGZHOU NUMERAL THREE
-3024 HANGZHOU NUMERAL FOUR
-3025 HANGZHOU NUMERAL FIVE
-3026 HANGZHOU NUMERAL SIX
-3027 HANGZHOU NUMERAL SEVEN
-3028 HANGZHOU NUMERAL EIGHT
-3029 HANGZHOU NUMERAL NINE
-302A IDEOGRAPHIC LEVEL TONE MARK
-302B IDEOGRAPHIC RISING TONE MARK
-302C IDEOGRAPHIC DEPARTING TONE MARK
-302D IDEOGRAPHIC ENTERING TONE MARK
-302E HANGUL SINGLE DOT TONE MARK
-302F HANGUL DOUBLE DOT TONE MARK
-3030 WAVY DASH
-3031 VERTICAL KANA REPEAT MARK
-3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
-3033 VERTICAL KANA REPEAT MARK UPPER HALF
-3034 VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
-3035 VERTICAL KANA REPEAT MARK LOWER HALF
-3036 CIRCLED POSTAL MARK
-3037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038 HANGZHOU NUMERAL TEN
-3039 HANGZHOU NUMERAL TWENTY
-303A HANGZHOU NUMERAL THIRTY
-303B VERTICAL IDEOGRAPHIC ITERATION MARK
-303C MASU MARK
-303D PART ALTERNATION MARK
-303E IDEOGRAPHIC VARIATION INDICATOR
-303F IDEOGRAPHIC HALF FILL SPACE
-3041 HIRAGANA LETTER SMALL A
-3042 HIRAGANA LETTER A
-3043 HIRAGANA LETTER SMALL I
-3044 HIRAGANA LETTER I
-3045 HIRAGANA LETTER SMALL U
-3046 HIRAGANA LETTER U
-3047 HIRAGANA LETTER SMALL E
-3048 HIRAGANA LETTER E
-3049 HIRAGANA LETTER SMALL O
-304A HIRAGANA LETTER O
-304B HIRAGANA LETTER KA
-304C HIRAGANA LETTER GA
-304D HIRAGANA LETTER KI
-304E HIRAGANA LETTER GI
-304F HIRAGANA LETTER KU
-3050 HIRAGANA LETTER GU
-3051 HIRAGANA LETTER KE
-3052 HIRAGANA LETTER GE
-3053 HIRAGANA LETTER KO
-3054 HIRAGANA LETTER GO
-3055 HIRAGANA LETTER SA
-3056 HIRAGANA LETTER ZA
-3057 HIRAGANA LETTER SI
-3058 HIRAGANA LETTER ZI
-3059 HIRAGANA LETTER SU
-305A HIRAGANA LETTER ZU
-305B HIRAGANA LETTER SE
-305C HIRAGANA LETTER ZE
-305D HIRAGANA LETTER SO
-305E HIRAGANA LETTER ZO
-305F HIRAGANA LETTER TA
-3060 HIRAGANA LETTER DA
-3061 HIRAGANA LETTER TI
-3062 HIRAGANA LETTER DI
-3063 HIRAGANA LETTER SMALL TU
-3064 HIRAGANA LETTER TU
-3065 HIRAGANA LETTER DU
-3066 HIRAGANA LETTER TE
-3067 HIRAGANA LETTER DE
-3068 HIRAGANA LETTER TO
-3069 HIRAGANA LETTER DO
-306A HIRAGANA LETTER NA
-306B HIRAGANA LETTER NI
-306C HIRAGANA LETTER NU
-306D HIRAGANA LETTER NE
-306E HIRAGANA LETTER NO
-306F HIRAGANA LETTER HA
-3070 HIRAGANA LETTER BA
-3071 HIRAGANA LETTER PA
-3072 HIRAGANA LETTER HI
-3073 HIRAGANA LETTER BI
-3074 HIRAGANA LETTER PI
-3075 HIRAGANA LETTER HU
-3076 HIRAGANA LETTER BU
-3077 HIRAGANA LETTER PU
-3078 HIRAGANA LETTER HE
-3079 HIRAGANA LETTER BE
-307A HIRAGANA LETTER PE
-307B HIRAGANA LETTER HO
-307C HIRAGANA LETTER BO
-307D HIRAGANA LETTER PO
-307E HIRAGANA LETTER MA
-307F HIRAGANA LETTER MI
-3080 HIRAGANA LETTER MU
-3081 HIRAGANA LETTER ME
-3082 HIRAGANA LETTER MO
-3083 HIRAGANA LETTER SMALL YA
-3084 HIRAGANA LETTER YA
-3085 HIRAGANA LETTER SMALL YU
-3086 HIRAGANA LETTER YU
-3087 HIRAGANA LETTER SMALL YO
-3088 HIRAGANA LETTER YO
-3089 HIRAGANA LETTER RA
-308A HIRAGANA LETTER RI
-308B HIRAGANA LETTER RU
-308C HIRAGANA LETTER RE
-308D HIRAGANA LETTER RO
-308E HIRAGANA LETTER SMALL WA
-308F HIRAGANA LETTER WA
-3090 HIRAGANA LETTER WI
-3091 HIRAGANA LETTER WE
-3092 HIRAGANA LETTER WO
-3093 HIRAGANA LETTER N
-3094 HIRAGANA LETTER VU
-3095 HIRAGANA LETTER SMALL KA
-3096 HIRAGANA LETTER SMALL KE
-3099 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B KATAKANA-HIRAGANA VOICED SOUND MARK
-309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D HIRAGANA ITERATION MARK
-309E HIRAGANA VOICED ITERATION MARK
-309F HIRAGANA DIGRAPH YORI
-30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1 KATAKANA LETTER SMALL A
-30A2 KATAKANA LETTER A
-30A3 KATAKANA LETTER SMALL I
-30A4 KATAKANA LETTER I
-30A5 KATAKANA LETTER SMALL U
-30A6 KATAKANA LETTER U
-30A7 KATAKANA LETTER SMALL E
-30A8 KATAKANA LETTER E
-30A9 KATAKANA LETTER SMALL O
-30AA KATAKANA LETTER O
-30AB KATAKANA LETTER KA
-30AC KATAKANA LETTER GA
-30AD KATAKANA LETTER KI
-30AE KATAKANA LETTER GI
-30AF KATAKANA LETTER KU
-30B0 KATAKANA LETTER GU
-30B1 KATAKANA LETTER KE
-30B2 KATAKANA LETTER GE
-30B3 KATAKANA LETTER KO
-30B4 KATAKANA LETTER GO
-30B5 KATAKANA LETTER SA
-30B6 KATAKANA LETTER ZA
-30B7 KATAKANA LETTER SI
-30B8 KATAKANA LETTER ZI
-30B9 KATAKANA LETTER SU
-30BA KATAKANA LETTER ZU
-30BB KATAKANA LETTER SE
-30BC KATAKANA LETTER ZE
-30BD KATAKANA LETTER SO
-30BE KATAKANA LETTER ZO
-30BF KATAKANA LETTER TA
-30C0 KATAKANA LETTER DA
-30C1 KATAKANA LETTER TI
-30C2 KATAKANA LETTER DI
-30C3 KATAKANA LETTER SMALL TU
-30C4 KATAKANA LETTER TU
-30C5 KATAKANA LETTER DU
-30C6 KATAKANA LETTER TE
-30C7 KATAKANA LETTER DE
-30C8 KATAKANA LETTER TO
-30C9 KATAKANA LETTER DO
-30CA KATAKANA LETTER NA
-30CB KATAKANA LETTER NI
-30CC KATAKANA LETTER NU
-30CD KATAKANA LETTER NE
-30CE KATAKANA LETTER NO
-30CF KATAKANA LETTER HA
-30D0 KATAKANA LETTER BA
-30D1 KATAKANA LETTER PA
-30D2 KATAKANA LETTER HI
-30D3 KATAKANA LETTER BI
-30D4 KATAKANA LETTER PI
-30D5 KATAKANA LETTER HU
-30D6 KATAKANA LETTER BU
-30D7 KATAKANA LETTER PU
-30D8 KATAKANA LETTER HE
-30D9 KATAKANA LETTER BE
-30DA KATAKANA LETTER PE
-30DB KATAKANA LETTER HO
-30DC KATAKANA LETTER BO
-30DD KATAKANA LETTER PO
-30DE KATAKANA LETTER MA
-30DF KATAKANA LETTER MI
-30E0 KATAKANA LETTER MU
-30E1 KATAKANA LETTER ME
-30E2 KATAKANA LETTER MO
-30E3 KATAKANA LETTER SMALL YA
-30E4 KATAKANA LETTER YA
-30E5 KATAKANA LETTER SMALL YU
-30E6 KATAKANA LETTER YU
-30E7 KATAKANA LETTER SMALL YO
-30E8 KATAKANA LETTER YO
-30E9 KATAKANA LETTER RA
-30EA KATAKANA LETTER RI
-30EB KATAKANA LETTER RU
-30EC KATAKANA LETTER RE
-30ED KATAKANA LETTER RO
-30EE KATAKANA LETTER SMALL WA
-30EF KATAKANA LETTER WA
-30F0 KATAKANA LETTER WI
-30F1 KATAKANA LETTER WE
-30F2 KATAKANA LETTER WO
-30F3 KATAKANA LETTER N
-30F4 KATAKANA LETTER VU
-30F5 KATAKANA LETTER SMALL KA
-30F6 KATAKANA LETTER SMALL KE
-30F7 KATAKANA LETTER VA
-30F8 KATAKANA LETTER VI
-30F9 KATAKANA LETTER VE
-30FA KATAKANA LETTER VO
-30FB KATAKANA MIDDLE DOT
-30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
-30FD KATAKANA ITERATION MARK
-30FE KATAKANA VOICED ITERATION MARK
-30FF KATAKANA DIGRAPH KOTO
-3105 BOPOMOFO LETTER B
-3106 BOPOMOFO LETTER P
-3107 BOPOMOFO LETTER M
-3108 BOPOMOFO LETTER F
-3109 BOPOMOFO LETTER D
-310A BOPOMOFO LETTER T
-310B BOPOMOFO LETTER N
-310C BOPOMOFO LETTER L
-310D BOPOMOFO LETTER G
-310E BOPOMOFO LETTER K
-310F BOPOMOFO LETTER H
-3110 BOPOMOFO LETTER J
-3111 BOPOMOFO LETTER Q
-3112 BOPOMOFO LETTER X
-3113 BOPOMOFO LETTER ZH
-3114 BOPOMOFO LETTER CH
-3115 BOPOMOFO LETTER SH
-3116 BOPOMOFO LETTER R
-3117 BOPOMOFO LETTER Z
-3118 BOPOMOFO LETTER C
-3119 BOPOMOFO LETTER S
-311A BOPOMOFO LETTER A
-311B BOPOMOFO LETTER O
-311C BOPOMOFO LETTER E
-311D BOPOMOFO LETTER EH
-311E BOPOMOFO LETTER AI
-311F BOPOMOFO LETTER EI
-3120 BOPOMOFO LETTER AU
-3121 BOPOMOFO LETTER OU
-3122 BOPOMOFO LETTER AN
-3123 BOPOMOFO LETTER EN
-3124 BOPOMOFO LETTER ANG
-3125 BOPOMOFO LETTER ENG
-3126 BOPOMOFO LETTER ER
-3127 BOPOMOFO LETTER I
-3128 BOPOMOFO LETTER U
-3129 BOPOMOFO LETTER IU
-312A BOPOMOFO LETTER V
-312B BOPOMOFO LETTER NG
-312C BOPOMOFO LETTER GN
-312D BOPOMOFO LETTER IH
-3131 HANGUL LETTER KIYEOK
-3132 HANGUL LETTER SSANGKIYEOK
-3133 HANGUL LETTER KIYEOK-SIOS
-3134 HANGUL LETTER NIEUN
-3135 HANGUL LETTER NIEUN-CIEUC
-3136 HANGUL LETTER NIEUN-HIEUH
-3137 HANGUL LETTER TIKEUT
-3138 HANGUL LETTER SSANGTIKEUT
-3139 HANGUL LETTER RIEUL
-313A HANGUL LETTER RIEUL-KIYEOK
-313B HANGUL LETTER RIEUL-MIEUM
-313C HANGUL LETTER RIEUL-PIEUP
-313D HANGUL LETTER RIEUL-SIOS
-313E HANGUL LETTER RIEUL-THIEUTH
-313F HANGUL LETTER RIEUL-PHIEUPH
-3140 HANGUL LETTER RIEUL-HIEUH
-3141 HANGUL LETTER MIEUM
-3142 HANGUL LETTER PIEUP
-3143 HANGUL LETTER SSANGPIEUP
-3144 HANGUL LETTER PIEUP-SIOS
-3145 HANGUL LETTER SIOS
-3146 HANGUL LETTER SSANGSIOS
-3147 HANGUL LETTER IEUNG
-3148 HANGUL LETTER CIEUC
-3149 HANGUL LETTER SSANGCIEUC
-314A HANGUL LETTER CHIEUCH
-314B HANGUL LETTER KHIEUKH
-314C HANGUL LETTER THIEUTH
-314D HANGUL LETTER PHIEUPH
-314E HANGUL LETTER HIEUH
-314F HANGUL LETTER A
-3150 HANGUL LETTER AE
-3151 HANGUL LETTER YA
-3152 HANGUL LETTER YAE
-3153 HANGUL LETTER EO
-3154 HANGUL LETTER E
-3155 HANGUL LETTER YEO
-3156 HANGUL LETTER YE
-3157 HANGUL LETTER O
-3158 HANGUL LETTER WA
-3159 HANGUL LETTER WAE
-315A HANGUL LETTER OE
-315B HANGUL LETTER YO
-315C HANGUL LETTER U
-315D HANGUL LETTER WEO
-315E HANGUL LETTER WE
-315F HANGUL LETTER WI
-3160 HANGUL LETTER YU
-3161 HANGUL LETTER EU
-3162 HANGUL LETTER YI
-3163 HANGUL LETTER I
-3164 HANGUL FILLER
-3165 HANGUL LETTER SSANGNIEUN
-3166 HANGUL LETTER NIEUN-TIKEUT
-3167 HANGUL LETTER NIEUN-SIOS
-3168 HANGUL LETTER NIEUN-PANSIOS
-3169 HANGUL LETTER RIEUL-KIYEOK-SIOS
-316A HANGUL LETTER RIEUL-TIKEUT
-316B HANGUL LETTER RIEUL-PIEUP-SIOS
-316C HANGUL LETTER RIEUL-PANSIOS
-316D HANGUL LETTER RIEUL-YEORINHIEUH
-316E HANGUL LETTER MIEUM-PIEUP
-316F HANGUL LETTER MIEUM-SIOS
-3170 HANGUL LETTER MIEUM-PANSIOS
-3171 HANGUL LETTER KAPYEOUNMIEUM
-3172 HANGUL LETTER PIEUP-KIYEOK
-3173 HANGUL LETTER PIEUP-TIKEUT
-3174 HANGUL LETTER PIEUP-SIOS-KIYEOK
-3175 HANGUL LETTER PIEUP-SIOS-TIKEUT
-3176 HANGUL LETTER PIEUP-CIEUC
-3177 HANGUL LETTER PIEUP-THIEUTH
-3178 HANGUL LETTER KAPYEOUNPIEUP
-3179 HANGUL LETTER KAPYEOUNSSANGPIEUP
-317A HANGUL LETTER SIOS-KIYEOK
-317B HANGUL LETTER SIOS-NIEUN
-317C HANGUL LETTER SIOS-TIKEUT
-317D HANGUL LETTER SIOS-PIEUP
-317E HANGUL LETTER SIOS-CIEUC
-317F HANGUL LETTER PANSIOS
-3180 HANGUL LETTER SSANGIEUNG
-3181 HANGUL LETTER YESIEUNG
-3182 HANGUL LETTER YESIEUNG-SIOS
-3183 HANGUL LETTER YESIEUNG-PANSIOS
-3184 HANGUL LETTER KAPYEOUNPHIEUPH
-3185 HANGUL LETTER SSANGHIEUH
-3186 HANGUL LETTER YEORINHIEUH
-3187 HANGUL LETTER YO-YA
-3188 HANGUL LETTER YO-YAE
-3189 HANGUL LETTER YO-I
-318A HANGUL LETTER YU-YEO
-318B HANGUL LETTER YU-YE
-318C HANGUL LETTER YU-I
-318D HANGUL LETTER ARAEA
-318E HANGUL LETTER ARAEAE
-3190 IDEOGRAPHIC ANNOTATION LINKING MARK
-3191 IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192 IDEOGRAPHIC ANNOTATION ONE MARK
-3193 IDEOGRAPHIC ANNOTATION TWO MARK
-3194 IDEOGRAPHIC ANNOTATION THREE MARK
-3195 IDEOGRAPHIC ANNOTATION FOUR MARK
-3196 IDEOGRAPHIC ANNOTATION TOP MARK
-3197 IDEOGRAPHIC ANNOTATION MIDDLE MARK
-3198 IDEOGRAPHIC ANNOTATION BOTTOM MARK
-3199 IDEOGRAPHIC ANNOTATION FIRST MARK
-319A IDEOGRAPHIC ANNOTATION SECOND MARK
-319B IDEOGRAPHIC ANNOTATION THIRD MARK
-319C IDEOGRAPHIC ANNOTATION FOURTH MARK
-319D IDEOGRAPHIC ANNOTATION HEAVEN MARK
-319E IDEOGRAPHIC ANNOTATION EARTH MARK
-319F IDEOGRAPHIC ANNOTATION MAN MARK
-31A0 BOPOMOFO LETTER BU
-31A1 BOPOMOFO LETTER ZI
-31A2 BOPOMOFO LETTER JI
-31A3 BOPOMOFO LETTER GU
-31A4 BOPOMOFO LETTER EE
-31A5 BOPOMOFO LETTER ENN
-31A6 BOPOMOFO LETTER OO
-31A7 BOPOMOFO LETTER ONN
-31A8 BOPOMOFO LETTER IR
-31A9 BOPOMOFO LETTER ANN
-31AA BOPOMOFO LETTER INN
-31AB BOPOMOFO LETTER UNN
-31AC BOPOMOFO LETTER IM
-31AD BOPOMOFO LETTER NGG
-31AE BOPOMOFO LETTER AINN
-31AF BOPOMOFO LETTER AUNN
-31B0 BOPOMOFO LETTER AM
-31B1 BOPOMOFO LETTER OM
-31B2 BOPOMOFO LETTER ONG
-31B3 BOPOMOFO LETTER INNN
-31B4 BOPOMOFO FINAL LETTER P
-31B5 BOPOMOFO FINAL LETTER T
-31B6 BOPOMOFO FINAL LETTER K
-31B7 BOPOMOFO FINAL LETTER H
-31C0 CJK STROKE T
-31C1 CJK STROKE WG
-31C2 CJK STROKE XG
-31C3 CJK STROKE BXG
-31C4 CJK STROKE SW
-31C5 CJK STROKE HZZ
-31C6 CJK STROKE HZG
-31C7 CJK STROKE HP
-31C8 CJK STROKE HZWG
-31C9 CJK STROKE SZWG
-31CA CJK STROKE HZT
-31CB CJK STROKE HZZP
-31CC CJK STROKE HPWG
-31CD CJK STROKE HZW
-31CE CJK STROKE HZZZ
-31CF CJK STROKE N
-31D0 CJK STROKE H
-31D1 CJK STROKE S
-31D2 CJK STROKE P
-31D3 CJK STROKE SP
-31D4 CJK STROKE D
-31D5 CJK STROKE HZ
-31D6 CJK STROKE HG
-31D7 CJK STROKE SZ
-31D8 CJK STROKE SWZ
-31D9 CJK STROKE ST
-31DA CJK STROKE SG
-31DB CJK STROKE PD
-31DC CJK STROKE PZ
-31DD CJK STROKE TN
-31DE CJK STROKE SZZ
-31DF CJK STROKE SWG
-31E0 CJK STROKE HXWG
-31E1 CJK STROKE HZZZG
-31E2 CJK STROKE PG
-31E3 CJK STROKE Q
-31F0 KATAKANA LETTER SMALL KU
-31F1 KATAKANA LETTER SMALL SI
-31F2 KATAKANA LETTER SMALL SU
-31F3 KATAKANA LETTER SMALL TO
-31F4 KATAKANA LETTER SMALL NU
-31F5 KATAKANA LETTER SMALL HA
-31F6 KATAKANA LETTER SMALL HI
-31F7 KATAKANA LETTER SMALL HU
-31F8 KATAKANA LETTER SMALL HE
-31F9 KATAKANA LETTER SMALL HO
-31FA KATAKANA LETTER SMALL MU
-31FB KATAKANA LETTER SMALL RA
-31FC KATAKANA LETTER SMALL RI
-31FD KATAKANA LETTER SMALL RU
-31FE KATAKANA LETTER SMALL RE
-31FF KATAKANA LETTER SMALL RO
-3200 PARENTHESIZED HANGUL KIYEOK
-3201 PARENTHESIZED HANGUL NIEUN
-3202 PARENTHESIZED HANGUL TIKEUT
-3203 PARENTHESIZED HANGUL RIEUL
-3204 PARENTHESIZED HANGUL MIEUM
-3205 PARENTHESIZED HANGUL PIEUP
-3206 PARENTHESIZED HANGUL SIOS
-3207 PARENTHESIZED HANGUL IEUNG
-3208 PARENTHESIZED HANGUL CIEUC
-3209 PARENTHESIZED HANGUL CHIEUCH
-320A PARENTHESIZED HANGUL KHIEUKH
-320B PARENTHESIZED HANGUL THIEUTH
-320C PARENTHESIZED HANGUL PHIEUPH
-320D PARENTHESIZED HANGUL HIEUH
-320E PARENTHESIZED HANGUL KIYEOK A
-320F PARENTHESIZED HANGUL NIEUN A
-3210 PARENTHESIZED HANGUL TIKEUT A
-3211 PARENTHESIZED HANGUL RIEUL A
-3212 PARENTHESIZED HANGUL MIEUM A
-3213 PARENTHESIZED HANGUL PIEUP A
-3214 PARENTHESIZED HANGUL SIOS A
-3215 PARENTHESIZED HANGUL IEUNG A
-3216 PARENTHESIZED HANGUL CIEUC A
-3217 PARENTHESIZED HANGUL CHIEUCH A
-3218 PARENTHESIZED HANGUL KHIEUKH A
-3219 PARENTHESIZED HANGUL THIEUTH A
-321A PARENTHESIZED HANGUL PHIEUPH A
-321B PARENTHESIZED HANGUL HIEUH A
-321C PARENTHESIZED HANGUL CIEUC U
-321D PARENTHESIZED KOREAN CHARACTER OJEON
-321E PARENTHESIZED KOREAN CHARACTER O HU
-3220 PARENTHESIZED IDEOGRAPH ONE
-3221 PARENTHESIZED IDEOGRAPH TWO
-3222 PARENTHESIZED IDEOGRAPH THREE
-3223 PARENTHESIZED IDEOGRAPH FOUR
-3224 PARENTHESIZED IDEOGRAPH FIVE
-3225 PARENTHESIZED IDEOGRAPH SIX
-3226 PARENTHESIZED IDEOGRAPH SEVEN
-3227 PARENTHESIZED IDEOGRAPH EIGHT
-3228 PARENTHESIZED IDEOGRAPH NINE
-3229 PARENTHESIZED IDEOGRAPH TEN
-322A PARENTHESIZED IDEOGRAPH MOON
-322B PARENTHESIZED IDEOGRAPH FIRE
-322C PARENTHESIZED IDEOGRAPH WATER
-322D PARENTHESIZED IDEOGRAPH WOOD
-322E PARENTHESIZED IDEOGRAPH METAL
-322F PARENTHESIZED IDEOGRAPH EARTH
-3230 PARENTHESIZED IDEOGRAPH SUN
-3231 PARENTHESIZED IDEOGRAPH STOCK
-3232 PARENTHESIZED IDEOGRAPH HAVE
-3233 PARENTHESIZED IDEOGRAPH SOCIETY
-3234 PARENTHESIZED IDEOGRAPH NAME
-3235 PARENTHESIZED IDEOGRAPH SPECIAL
-3236 PARENTHESIZED IDEOGRAPH FINANCIAL
-3237 PARENTHESIZED IDEOGRAPH CONGRATULATION
-3238 PARENTHESIZED IDEOGRAPH LABOR
-3239 PARENTHESIZED IDEOGRAPH REPRESENT
-323A PARENTHESIZED IDEOGRAPH CALL
-323B PARENTHESIZED IDEOGRAPH STUDY
-323C PARENTHESIZED IDEOGRAPH SUPERVISE
-323D PARENTHESIZED IDEOGRAPH ENTERPRISE
-323E PARENTHESIZED IDEOGRAPH RESOURCE
-323F PARENTHESIZED IDEOGRAPH ALLIANCE
-3240 PARENTHESIZED IDEOGRAPH FESTIVAL
-3241 PARENTHESIZED IDEOGRAPH REST
-3242 PARENTHESIZED IDEOGRAPH SELF
-3243 PARENTHESIZED IDEOGRAPH REACH
-3244 CIRCLED IDEOGRAPH QUESTION
-3245 CIRCLED IDEOGRAPH KINDERGARTEN
-3246 CIRCLED IDEOGRAPH SCHOOL
-3247 CIRCLED IDEOGRAPH KOTO
-3248 CIRCLED NUMBER TEN ON BLACK SQUARE
-3249 CIRCLED NUMBER TWENTY ON BLACK SQUARE
-324A CIRCLED NUMBER THIRTY ON BLACK SQUARE
-324B CIRCLED NUMBER FORTY ON BLACK SQUARE
-324C CIRCLED NUMBER FIFTY ON BLACK SQUARE
-324D CIRCLED NUMBER SIXTY ON BLACK SQUARE
-324E CIRCLED NUMBER SEVENTY ON BLACK SQUARE
-324F CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-3250 PARTNERSHIP SIGN
-3251 CIRCLED NUMBER TWENTY ONE
-3252 CIRCLED NUMBER TWENTY TWO
-3253 CIRCLED NUMBER TWENTY THREE
-3254 CIRCLED NUMBER TWENTY FOUR
-3255 CIRCLED NUMBER TWENTY FIVE
-3256 CIRCLED NUMBER TWENTY SIX
-3257 CIRCLED NUMBER TWENTY SEVEN
-3258 CIRCLED NUMBER TWENTY EIGHT
-3259 CIRCLED NUMBER TWENTY NINE
-325A CIRCLED NUMBER THIRTY
-325B CIRCLED NUMBER THIRTY ONE
-325C CIRCLED NUMBER THIRTY TWO
-325D CIRCLED NUMBER THIRTY THREE
-325E CIRCLED NUMBER THIRTY FOUR
-325F CIRCLED NUMBER THIRTY FIVE
-3260 CIRCLED HANGUL KIYEOK
-3261 CIRCLED HANGUL NIEUN
-3262 CIRCLED HANGUL TIKEUT
-3263 CIRCLED HANGUL RIEUL
-3264 CIRCLED HANGUL MIEUM
-3265 CIRCLED HANGUL PIEUP
-3266 CIRCLED HANGUL SIOS
-3267 CIRCLED HANGUL IEUNG
-3268 CIRCLED HANGUL CIEUC
-3269 CIRCLED HANGUL CHIEUCH
-326A CIRCLED HANGUL KHIEUKH
-326B CIRCLED HANGUL THIEUTH
-326C CIRCLED HANGUL PHIEUPH
-326D CIRCLED HANGUL HIEUH
-326E CIRCLED HANGUL KIYEOK A
-326F CIRCLED HANGUL NIEUN A
-3270 CIRCLED HANGUL TIKEUT A
-3271 CIRCLED HANGUL RIEUL A
-3272 CIRCLED HANGUL MIEUM A
-3273 CIRCLED HANGUL PIEUP A
-3274 CIRCLED HANGUL SIOS A
-3275 CIRCLED HANGUL IEUNG A
-3276 CIRCLED HANGUL CIEUC A
-3277 CIRCLED HANGUL CHIEUCH A
-3278 CIRCLED HANGUL KHIEUKH A
-3279 CIRCLED HANGUL THIEUTH A
-327A CIRCLED HANGUL PHIEUPH A
-327B CIRCLED HANGUL HIEUH A
-327C CIRCLED KOREAN CHARACTER CHAMKO
-327D CIRCLED KOREAN CHARACTER JUEUI
-327E CIRCLED HANGUL IEUNG U
-327F KOREAN STANDARD SYMBOL
-3280 CIRCLED IDEOGRAPH ONE
-3281 CIRCLED IDEOGRAPH TWO
-3282 CIRCLED IDEOGRAPH THREE
-3283 CIRCLED IDEOGRAPH FOUR
-3284 CIRCLED IDEOGRAPH FIVE
-3285 CIRCLED IDEOGRAPH SIX
-3286 CIRCLED IDEOGRAPH SEVEN
-3287 CIRCLED IDEOGRAPH EIGHT
-3288 CIRCLED IDEOGRAPH NINE
-3289 CIRCLED IDEOGRAPH TEN
-328A CIRCLED IDEOGRAPH MOON
-328B CIRCLED IDEOGRAPH FIRE
-328C CIRCLED IDEOGRAPH WATER
-328D CIRCLED IDEOGRAPH WOOD
-328E CIRCLED IDEOGRAPH METAL
-328F CIRCLED IDEOGRAPH EARTH
-3290 CIRCLED IDEOGRAPH SUN
-3291 CIRCLED IDEOGRAPH STOCK
-3292 CIRCLED IDEOGRAPH HAVE
-3293 CIRCLED IDEOGRAPH SOCIETY
-3294 CIRCLED IDEOGRAPH NAME
-3295 CIRCLED IDEOGRAPH SPECIAL
-3296 CIRCLED IDEOGRAPH FINANCIAL
-3297 CIRCLED IDEOGRAPH CONGRATULATION
-3298 CIRCLED IDEOGRAPH LABOR
-3299 CIRCLED IDEOGRAPH SECRET
-329A CIRCLED IDEOGRAPH MALE
-329B CIRCLED IDEOGRAPH FEMALE
-329C CIRCLED IDEOGRAPH SUITABLE
-329D CIRCLED IDEOGRAPH EXCELLENT
-329E CIRCLED IDEOGRAPH PRINT
-329F CIRCLED IDEOGRAPH ATTENTION
-32A0 CIRCLED IDEOGRAPH ITEM
-32A1 CIRCLED IDEOGRAPH REST
-32A2 CIRCLED IDEOGRAPH COPY
-32A3 CIRCLED IDEOGRAPH CORRECT
-32A4 CIRCLED IDEOGRAPH HIGH
-32A5 CIRCLED IDEOGRAPH CENTRE
-32A6 CIRCLED IDEOGRAPH LOW
-32A7 CIRCLED IDEOGRAPH LEFT
-32A8 CIRCLED IDEOGRAPH RIGHT
-32A9 CIRCLED IDEOGRAPH MEDICINE
-32AA CIRCLED IDEOGRAPH RELIGION
-32AB CIRCLED IDEOGRAPH STUDY
-32AC CIRCLED IDEOGRAPH SUPERVISE
-32AD CIRCLED IDEOGRAPH ENTERPRISE
-32AE CIRCLED IDEOGRAPH RESOURCE
-32AF CIRCLED IDEOGRAPH ALLIANCE
-32B0 CIRCLED IDEOGRAPH NIGHT
-32B1 CIRCLED NUMBER THIRTY SIX
-32B2 CIRCLED NUMBER THIRTY SEVEN
-32B3 CIRCLED NUMBER THIRTY EIGHT
-32B4 CIRCLED NUMBER THIRTY NINE
-32B5 CIRCLED NUMBER FORTY
-32B6 CIRCLED NUMBER FORTY ONE
-32B7 CIRCLED NUMBER FORTY TWO
-32B8 CIRCLED NUMBER FORTY THREE
-32B9 CIRCLED NUMBER FORTY FOUR
-32BA CIRCLED NUMBER FORTY FIVE
-32BB CIRCLED NUMBER FORTY SIX
-32BC CIRCLED NUMBER FORTY SEVEN
-32BD CIRCLED NUMBER FORTY EIGHT
-32BE CIRCLED NUMBER FORTY NINE
-32BF CIRCLED NUMBER FIFTY
-32C0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-32C1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-32C2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-32C3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-32C4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-32C5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-32C6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-32C7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-32C8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-32C9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-32CA IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-32CB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-32CC SQUARE HG
-32CD SQUARE ERG
-32CE SQUARE EV
-32CF LIMITED LIABILITY SIGN
-32D0 CIRCLED KATAKANA A
-32D1 CIRCLED KATAKANA I
-32D2 CIRCLED KATAKANA U
-32D3 CIRCLED KATAKANA E
-32D4 CIRCLED KATAKANA O
-32D5 CIRCLED KATAKANA KA
-32D6 CIRCLED KATAKANA KI
-32D7 CIRCLED KATAKANA KU
-32D8 CIRCLED KATAKANA KE
-32D9 CIRCLED KATAKANA KO
-32DA CIRCLED KATAKANA SA
-32DB CIRCLED KATAKANA SI
-32DC CIRCLED KATAKANA SU
-32DD CIRCLED KATAKANA SE
-32DE CIRCLED KATAKANA SO
-32DF CIRCLED KATAKANA TA
-32E0 CIRCLED KATAKANA TI
-32E1 CIRCLED KATAKANA TU
-32E2 CIRCLED KATAKANA TE
-32E3 CIRCLED KATAKANA TO
-32E4 CIRCLED KATAKANA NA
-32E5 CIRCLED KATAKANA NI
-32E6 CIRCLED KATAKANA NU
-32E7 CIRCLED KATAKANA NE
-32E8 CIRCLED KATAKANA NO
-32E9 CIRCLED KATAKANA HA
-32EA CIRCLED KATAKANA HI
-32EB CIRCLED KATAKANA HU
-32EC CIRCLED KATAKANA HE
-32ED CIRCLED KATAKANA HO
-32EE CIRCLED KATAKANA MA
-32EF CIRCLED KATAKANA MI
-32F0 CIRCLED KATAKANA MU
-32F1 CIRCLED KATAKANA ME
-32F2 CIRCLED KATAKANA MO
-32F3 CIRCLED KATAKANA YA
-32F4 CIRCLED KATAKANA YU
-32F5 CIRCLED KATAKANA YO
-32F6 CIRCLED KATAKANA RA
-32F7 CIRCLED KATAKANA RI
-32F8 CIRCLED KATAKANA RU
-32F9 CIRCLED KATAKANA RE
-32FA CIRCLED KATAKANA RO
-32FB CIRCLED KATAKANA WA
-32FC CIRCLED KATAKANA WI
-32FD CIRCLED KATAKANA WE
-32FE CIRCLED KATAKANA WO
-3300 SQUARE APAATO
-3301 SQUARE ARUHUA
-3302 SQUARE ANPEA
-3303 SQUARE AARU
-3304 SQUARE ININGU
-3305 SQUARE INTI
-3306 SQUARE UON
-3307 SQUARE ESUKUUDO
-3308 SQUARE EEKAA
-3309 SQUARE ONSU
-330A SQUARE OOMU
-330B SQUARE KAIRI
-330C SQUARE KARATTO
-330D SQUARE KARORII
-330E SQUARE GARON
-330F SQUARE GANMA
-3310 SQUARE GIGA
-3311 SQUARE GINII
-3312 SQUARE KYURII
-3313 SQUARE GIRUDAA
-3314 SQUARE KIRO
-3315 SQUARE KIROGURAMU
-3316 SQUARE KIROMEETORU
-3317 SQUARE KIROWATTO
-3318 SQUARE GURAMU
-3319 SQUARE GURAMUTON
-331A SQUARE KURUZEIRO
-331B SQUARE KUROONE
-331C SQUARE KEESU
-331D SQUARE KORUNA
-331E SQUARE KOOPO
-331F SQUARE SAIKURU
-3320 SQUARE SANTIIMU
-3321 SQUARE SIRINGU
-3322 SQUARE SENTI
-3323 SQUARE SENTO
-3324 SQUARE DAASU
-3325 SQUARE DESI
-3326 SQUARE DORU
-3327 SQUARE TON
-3328 SQUARE NANO
-3329 SQUARE NOTTO
-332A SQUARE HAITU
-332B SQUARE PAASENTO
-332C SQUARE PAATU
-332D SQUARE BAARERU
-332E SQUARE PIASUTORU
-332F SQUARE PIKURU
-3330 SQUARE PIKO
-3331 SQUARE BIRU
-3332 SQUARE HUARADDO
-3333 SQUARE HUIITO
-3334 SQUARE BUSSYERU
-3335 SQUARE HURAN
-3336 SQUARE HEKUTAARU
-3337 SQUARE PESO
-3338 SQUARE PENIHI
-3339 SQUARE HERUTU
-333A SQUARE PENSU
-333B SQUARE PEEZI
-333C SQUARE BEETA
-333D SQUARE POINTO
-333E SQUARE BORUTO
-333F SQUARE HON
-3340 SQUARE PONDO
-3341 SQUARE HOORU
-3342 SQUARE HOON
-3343 SQUARE MAIKURO
-3344 SQUARE MAIRU
-3345 SQUARE MAHHA
-3346 SQUARE MARUKU
-3347 SQUARE MANSYON
-3348 SQUARE MIKURON
-3349 SQUARE MIRI
-334A SQUARE MIRIBAARU
-334B SQUARE MEGA
-334C SQUARE MEGATON
-334D SQUARE MEETORU
-334E SQUARE YAADO
-334F SQUARE YAARU
-3350 SQUARE YUAN
-3351 SQUARE RITTORU
-3352 SQUARE RIRA
-3353 SQUARE RUPII
-3354 SQUARE RUUBURU
-3355 SQUARE REMU
-3356 SQUARE RENTOGEN
-3357 SQUARE WATTO
-3358 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-3359 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-335A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-335B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-335C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-335D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-335E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-335F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-3360 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-3361 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-3362 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-3363 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-3364 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-3365 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-3366 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-3367 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-3368 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-3369 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-336A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-336B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-336C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-336D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-336E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-336F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-3370 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-3371 SQUARE HPA
-3372 SQUARE DA
-3373 SQUARE AU
-3374 SQUARE BAR
-3375 SQUARE OV
-3376 SQUARE PC
-3377 SQUARE DM
-3378 SQUARE DM SQUARED
-3379 SQUARE DM CUBED
-337A SQUARE IU
-337B SQUARE ERA NAME HEISEI
-337C SQUARE ERA NAME SYOUWA
-337D SQUARE ERA NAME TAISYOU
-337E SQUARE ERA NAME MEIZI
-337F SQUARE CORPORATION
-3380 SQUARE PA AMPS
-3381 SQUARE NA
-3382 SQUARE MU A
-3383 SQUARE MA
-3384 SQUARE KA
-3385 SQUARE KB
-3386 SQUARE MB
-3387 SQUARE GB
-3388 SQUARE CAL
-3389 SQUARE KCAL
-338A SQUARE PF
-338B SQUARE NF
-338C SQUARE MU F
-338D SQUARE MU G
-338E SQUARE MG
-338F SQUARE KG
-3390 SQUARE HZ
-3391 SQUARE KHZ
-3392 SQUARE MHZ
-3393 SQUARE GHZ
-3394 SQUARE THZ
-3395 SQUARE MU L
-3396 SQUARE ML
-3397 SQUARE DL
-3398 SQUARE KL
-3399 SQUARE FM
-339A SQUARE NM
-339B SQUARE MU M
-339C SQUARE MM
-339D SQUARE CM
-339E SQUARE KM
-339F SQUARE MM SQUARED
-33A0 SQUARE CM SQUARED
-33A1 SQUARE M SQUARED
-33A2 SQUARE KM SQUARED
-33A3 SQUARE MM CUBED
-33A4 SQUARE CM CUBED
-33A5 SQUARE M CUBED
-33A6 SQUARE KM CUBED
-33A7 SQUARE M OVER S
-33A8 SQUARE M OVER S SQUARED
-33A9 SQUARE PA
-33AA SQUARE KPA
-33AB SQUARE MPA
-33AC SQUARE GPA
-33AD SQUARE RAD
-33AE SQUARE RAD OVER S
-33AF SQUARE RAD OVER S SQUARED
-33B0 SQUARE PS
-33B1 SQUARE NS
-33B2 SQUARE MU S
-33B3 SQUARE MS
-33B4 SQUARE PV
-33B5 SQUARE NV
-33B6 SQUARE MU V
-33B7 SQUARE MV
-33B8 SQUARE KV
-33B9 SQUARE MV MEGA
-33BA SQUARE PW
-33BB SQUARE NW
-33BC SQUARE MU W
-33BD SQUARE MW
-33BE SQUARE KW
-33BF SQUARE MW MEGA
-33C0 SQUARE K OHM
-33C1 SQUARE M OHM
-33C2 SQUARE AM
-33C3 SQUARE BQ
-33C4 SQUARE CC
-33C5 SQUARE CD
-33C6 SQUARE C OVER KG
-33C7 SQUARE CO
-33C8 SQUARE DB
-33C9 SQUARE GY
-33CA SQUARE HA
-33CB SQUARE HP
-33CC SQUARE IN
-33CD SQUARE KK
-33CE SQUARE KM CAPITAL
-33CF SQUARE KT
-33D0 SQUARE LM
-33D1 SQUARE LN
-33D2 SQUARE LOG
-33D3 SQUARE LX
-33D4 SQUARE MB SMALL
-33D5 SQUARE MIL
-33D6 SQUARE MOL
-33D7 SQUARE PH
-33D8 SQUARE PM
-33D9 SQUARE PPM
-33DA SQUARE PR
-33DB SQUARE SR
-33DC SQUARE SV
-33DD SQUARE WB
-33DE SQUARE V OVER M
-33DF SQUARE A OVER M
-33E0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-33E1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-33E2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-33E3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-33E4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-33E5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-33E6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-33E7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-33E8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-33E9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-33EA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-33EB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-33EC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-33ED IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-33EE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-33EF IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-33F0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-33F1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-33F2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-33F3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-33F4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-33F5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-33F6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-33F7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-33F8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33FD IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33FF SQUARE GAL
-4DC0 HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1 HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2 HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3 HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4 HEXAGRAM FOR WAITING
-4DC5 HEXAGRAM FOR CONFLICT
-4DC6 HEXAGRAM FOR THE ARMY
-4DC7 HEXAGRAM FOR HOLDING TOGETHER
-4DC8 HEXAGRAM FOR SMALL TAMING
-4DC9 HEXAGRAM FOR TREADING
-4DCA HEXAGRAM FOR PEACE
-4DCB HEXAGRAM FOR STANDSTILL
-4DCC HEXAGRAM FOR FELLOWSHIP
-4DCD HEXAGRAM FOR GREAT POSSESSION
-4DCE HEXAGRAM FOR MODESTY
-4DCF HEXAGRAM FOR ENTHUSIASM
-4DD0 HEXAGRAM FOR FOLLOWING
-4DD1 HEXAGRAM FOR WORK ON THE DECAYED
-4DD2 HEXAGRAM FOR APPROACH
-4DD3 HEXAGRAM FOR CONTEMPLATION
-4DD4 HEXAGRAM FOR BITING THROUGH
-4DD5 HEXAGRAM FOR GRACE
-4DD6 HEXAGRAM FOR SPLITTING APART
-4DD7 HEXAGRAM FOR RETURN
-4DD8 HEXAGRAM FOR INNOCENCE
-4DD9 HEXAGRAM FOR GREAT TAMING
-4DDA HEXAGRAM FOR MOUTH CORNERS
-4DDB HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC HEXAGRAM FOR THE ABYSMAL WATER
-4DDD HEXAGRAM FOR THE CLINGING FIRE
-4DDE HEXAGRAM FOR INFLUENCE
-4DDF HEXAGRAM FOR DURATION
-4DE0 HEXAGRAM FOR RETREAT
-4DE1 HEXAGRAM FOR GREAT POWER
-4DE2 HEXAGRAM FOR PROGRESS
-4DE3 HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4 HEXAGRAM FOR THE FAMILY
-4DE5 HEXAGRAM FOR OPPOSITION
-4DE6 HEXAGRAM FOR OBSTRUCTION
-4DE7 HEXAGRAM FOR DELIVERANCE
-4DE8 HEXAGRAM FOR DECREASE
-4DE9 HEXAGRAM FOR INCREASE
-4DEA HEXAGRAM FOR BREAKTHROUGH
-4DEB HEXAGRAM FOR COMING TO MEET
-4DEC HEXAGRAM FOR GATHERING TOGETHER
-4DED HEXAGRAM FOR PUSHING UPWARD
-4DEE HEXAGRAM FOR OPPRESSION
-4DEF HEXAGRAM FOR THE WELL
-4DF0 HEXAGRAM FOR REVOLUTION
-4DF1 HEXAGRAM FOR THE CAULDRON
-4DF2 HEXAGRAM FOR THE AROUSING THUNDER
-4DF3 HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4 HEXAGRAM FOR DEVELOPMENT
-4DF5 HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6 HEXAGRAM FOR ABUNDANCE
-4DF7 HEXAGRAM FOR THE WANDERER
-4DF8 HEXAGRAM FOR THE GENTLE WIND
-4DF9 HEXAGRAM FOR THE JOYOUS LAKE
-4DFA HEXAGRAM FOR DISPERSION
-4DFB HEXAGRAM FOR LIMITATION
-4DFC HEXAGRAM FOR INNER TRUTH
-4DFD HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE HEXAGRAM FOR AFTER COMPLETION
-4DFF HEXAGRAM FOR BEFORE COMPLETION
-A000 YI SYLLABLE IT
-A001 YI SYLLABLE IX
-A002 YI SYLLABLE I
-A003 YI SYLLABLE IP
-A004 YI SYLLABLE IET
-A005 YI SYLLABLE IEX
-A006 YI SYLLABLE IE
-A007 YI SYLLABLE IEP
-A008 YI SYLLABLE AT
-A009 YI SYLLABLE AX
-A00A YI SYLLABLE A
-A00B YI SYLLABLE AP
-A00C YI SYLLABLE UOX
-A00D YI SYLLABLE UO
-A00E YI SYLLABLE UOP
-A00F YI SYLLABLE OT
-A010 YI SYLLABLE OX
-A011 YI SYLLABLE O
-A012 YI SYLLABLE OP
-A013 YI SYLLABLE EX
-A014 YI SYLLABLE E
-A015 YI SYLLABLE WU
-A015 YI SYLLABLE ITERATION MARK
-A016 YI SYLLABLE BIT
-A017 YI SYLLABLE BIX
-A018 YI SYLLABLE BI
-A019 YI SYLLABLE BIP
-A01A YI SYLLABLE BIET
-A01B YI SYLLABLE BIEX
-A01C YI SYLLABLE BIE
-A01D YI SYLLABLE BIEP
-A01E YI SYLLABLE BAT
-A01F YI SYLLABLE BAX
-A020 YI SYLLABLE BA
-A021 YI SYLLABLE BAP
-A022 YI SYLLABLE BUOX
-A023 YI SYLLABLE BUO
-A024 YI SYLLABLE BUOP
-A025 YI SYLLABLE BOT
-A026 YI SYLLABLE BOX
-A027 YI SYLLABLE BO
-A028 YI SYLLABLE BOP
-A029 YI SYLLABLE BEX
-A02A YI SYLLABLE BE
-A02B YI SYLLABLE BEP
-A02C YI SYLLABLE BUT
-A02D YI SYLLABLE BUX
-A02E YI SYLLABLE BU
-A02F YI SYLLABLE BUP
-A030 YI SYLLABLE BURX
-A031 YI SYLLABLE BUR
-A032 YI SYLLABLE BYT
-A033 YI SYLLABLE BYX
-A034 YI SYLLABLE BY
-A035 YI SYLLABLE BYP
-A036 YI SYLLABLE BYRX
-A037 YI SYLLABLE BYR
-A038 YI SYLLABLE PIT
-A039 YI SYLLABLE PIX
-A03A YI SYLLABLE PI
-A03B YI SYLLABLE PIP
-A03C YI SYLLABLE PIEX
-A03D YI SYLLABLE PIE
-A03E YI SYLLABLE PIEP
-A03F YI SYLLABLE PAT
-A040 YI SYLLABLE PAX
-A041 YI SYLLABLE PA
-A042 YI SYLLABLE PAP
-A043 YI SYLLABLE PUOX
-A044 YI SYLLABLE PUO
-A045 YI SYLLABLE PUOP
-A046 YI SYLLABLE POT
-A047 YI SYLLABLE POX
-A048 YI SYLLABLE PO
-A049 YI SYLLABLE POP
-A04A YI SYLLABLE PUT
-A04B YI SYLLABLE PUX
-A04C YI SYLLABLE PU
-A04D YI SYLLABLE PUP
-A04E YI SYLLABLE PURX
-A04F YI SYLLABLE PUR
-A050 YI SYLLABLE PYT
-A051 YI SYLLABLE PYX
-A052 YI SYLLABLE PY
-A053 YI SYLLABLE PYP
-A054 YI SYLLABLE PYRX
-A055 YI SYLLABLE PYR
-A056 YI SYLLABLE BBIT
-A057 YI SYLLABLE BBIX
-A058 YI SYLLABLE BBI
-A059 YI SYLLABLE BBIP
-A05A YI SYLLABLE BBIET
-A05B YI SYLLABLE BBIEX
-A05C YI SYLLABLE BBIE
-A05D YI SYLLABLE BBIEP
-A05E YI SYLLABLE BBAT
-A05F YI SYLLABLE BBAX
-A060 YI SYLLABLE BBA
-A061 YI SYLLABLE BBAP
-A062 YI SYLLABLE BBUOX
-A063 YI SYLLABLE BBUO
-A064 YI SYLLABLE BBUOP
-A065 YI SYLLABLE BBOT
-A066 YI SYLLABLE BBOX
-A067 YI SYLLABLE BBO
-A068 YI SYLLABLE BBOP
-A069 YI SYLLABLE BBEX
-A06A YI SYLLABLE BBE
-A06B YI SYLLABLE BBEP
-A06C YI SYLLABLE BBUT
-A06D YI SYLLABLE BBUX
-A06E YI SYLLABLE BBU
-A06F YI SYLLABLE BBUP
-A070 YI SYLLABLE BBURX
-A071 YI SYLLABLE BBUR
-A072 YI SYLLABLE BBYT
-A073 YI SYLLABLE BBYX
-A074 YI SYLLABLE BBY
-A075 YI SYLLABLE BBYP
-A076 YI SYLLABLE NBIT
-A077 YI SYLLABLE NBIX
-A078 YI SYLLABLE NBI
-A079 YI SYLLABLE NBIP
-A07A YI SYLLABLE NBIEX
-A07B YI SYLLABLE NBIE
-A07C YI SYLLABLE NBIEP
-A07D YI SYLLABLE NBAT
-A07E YI SYLLABLE NBAX
-A07F YI SYLLABLE NBA
-A080 YI SYLLABLE NBAP
-A081 YI SYLLABLE NBOT
-A082 YI SYLLABLE NBOX
-A083 YI SYLLABLE NBO
-A084 YI SYLLABLE NBOP
-A085 YI SYLLABLE NBUT
-A086 YI SYLLABLE NBUX
-A087 YI SYLLABLE NBU
-A088 YI SYLLABLE NBUP
-A089 YI SYLLABLE NBURX
-A08A YI SYLLABLE NBUR
-A08B YI SYLLABLE NBYT
-A08C YI SYLLABLE NBYX
-A08D YI SYLLABLE NBY
-A08E YI SYLLABLE NBYP
-A08F YI SYLLABLE NBYRX
-A090 YI SYLLABLE NBYR
-A091 YI SYLLABLE HMIT
-A092 YI SYLLABLE HMIX
-A093 YI SYLLABLE HMI
-A094 YI SYLLABLE HMIP
-A095 YI SYLLABLE HMIEX
-A096 YI SYLLABLE HMIE
-A097 YI SYLLABLE HMIEP
-A098 YI SYLLABLE HMAT
-A099 YI SYLLABLE HMAX
-A09A YI SYLLABLE HMA
-A09B YI SYLLABLE HMAP
-A09C YI SYLLABLE HMUOX
-A09D YI SYLLABLE HMUO
-A09E YI SYLLABLE HMUOP
-A09F YI SYLLABLE HMOT
-A0A0 YI SYLLABLE HMOX
-A0A1 YI SYLLABLE HMO
-A0A2 YI SYLLABLE HMOP
-A0A3 YI SYLLABLE HMUT
-A0A4 YI SYLLABLE HMUX
-A0A5 YI SYLLABLE HMU
-A0A6 YI SYLLABLE HMUP
-A0A7 YI SYLLABLE HMURX
-A0A8 YI SYLLABLE HMUR
-A0A9 YI SYLLABLE HMYX
-A0AA YI SYLLABLE HMY
-A0AB YI SYLLABLE HMYP
-A0AC YI SYLLABLE HMYRX
-A0AD YI SYLLABLE HMYR
-A0AE YI SYLLABLE MIT
-A0AF YI SYLLABLE MIX
-A0B0 YI SYLLABLE MI
-A0B1 YI SYLLABLE MIP
-A0B2 YI SYLLABLE MIEX
-A0B3 YI SYLLABLE MIE
-A0B4 YI SYLLABLE MIEP
-A0B5 YI SYLLABLE MAT
-A0B6 YI SYLLABLE MAX
-A0B7 YI SYLLABLE MA
-A0B8 YI SYLLABLE MAP
-A0B9 YI SYLLABLE MUOT
-A0BA YI SYLLABLE MUOX
-A0BB YI SYLLABLE MUO
-A0BC YI SYLLABLE MUOP
-A0BD YI SYLLABLE MOT
-A0BE YI SYLLABLE MOX
-A0BF YI SYLLABLE MO
-A0C0 YI SYLLABLE MOP
-A0C1 YI SYLLABLE MEX
-A0C2 YI SYLLABLE ME
-A0C3 YI SYLLABLE MUT
-A0C4 YI SYLLABLE MUX
-A0C5 YI SYLLABLE MU
-A0C6 YI SYLLABLE MUP
-A0C7 YI SYLLABLE MURX
-A0C8 YI SYLLABLE MUR
-A0C9 YI SYLLABLE MYT
-A0CA YI SYLLABLE MYX
-A0CB YI SYLLABLE MY
-A0CC YI SYLLABLE MYP
-A0CD YI SYLLABLE FIT
-A0CE YI SYLLABLE FIX
-A0CF YI SYLLABLE FI
-A0D0 YI SYLLABLE FIP
-A0D1 YI SYLLABLE FAT
-A0D2 YI SYLLABLE FAX
-A0D3 YI SYLLABLE FA
-A0D4 YI SYLLABLE FAP
-A0D5 YI SYLLABLE FOX
-A0D6 YI SYLLABLE FO
-A0D7 YI SYLLABLE FOP
-A0D8 YI SYLLABLE FUT
-A0D9 YI SYLLABLE FUX
-A0DA YI SYLLABLE FU
-A0DB YI SYLLABLE FUP
-A0DC YI SYLLABLE FURX
-A0DD YI SYLLABLE FUR
-A0DE YI SYLLABLE FYT
-A0DF YI SYLLABLE FYX
-A0E0 YI SYLLABLE FY
-A0E1 YI SYLLABLE FYP
-A0E2 YI SYLLABLE VIT
-A0E3 YI SYLLABLE VIX
-A0E4 YI SYLLABLE VI
-A0E5 YI SYLLABLE VIP
-A0E6 YI SYLLABLE VIET
-A0E7 YI SYLLABLE VIEX
-A0E8 YI SYLLABLE VIE
-A0E9 YI SYLLABLE VIEP
-A0EA YI SYLLABLE VAT
-A0EB YI SYLLABLE VAX
-A0EC YI SYLLABLE VA
-A0ED YI SYLLABLE VAP
-A0EE YI SYLLABLE VOT
-A0EF YI SYLLABLE VOX
-A0F0 YI SYLLABLE VO
-A0F1 YI SYLLABLE VOP
-A0F2 YI SYLLABLE VEX
-A0F3 YI SYLLABLE VEP
-A0F4 YI SYLLABLE VUT
-A0F5 YI SYLLABLE VUX
-A0F6 YI SYLLABLE VU
-A0F7 YI SYLLABLE VUP
-A0F8 YI SYLLABLE VURX
-A0F9 YI SYLLABLE VUR
-A0FA YI SYLLABLE VYT
-A0FB YI SYLLABLE VYX
-A0FC YI SYLLABLE VY
-A0FD YI SYLLABLE VYP
-A0FE YI SYLLABLE VYRX
-A0FF YI SYLLABLE VYR
-A100 YI SYLLABLE DIT
-A101 YI SYLLABLE DIX
-A102 YI SYLLABLE DI
-A103 YI SYLLABLE DIP
-A104 YI SYLLABLE DIEX
-A105 YI SYLLABLE DIE
-A106 YI SYLLABLE DIEP
-A107 YI SYLLABLE DAT
-A108 YI SYLLABLE DAX
-A109 YI SYLLABLE DA
-A10A YI SYLLABLE DAP
-A10B YI SYLLABLE DUOX
-A10C YI SYLLABLE DUO
-A10D YI SYLLABLE DOT
-A10E YI SYLLABLE DOX
-A10F YI SYLLABLE DO
-A110 YI SYLLABLE DOP
-A111 YI SYLLABLE DEX
-A112 YI SYLLABLE DE
-A113 YI SYLLABLE DEP
-A114 YI SYLLABLE DUT
-A115 YI SYLLABLE DUX
-A116 YI SYLLABLE DU
-A117 YI SYLLABLE DUP
-A118 YI SYLLABLE DURX
-A119 YI SYLLABLE DUR
-A11A YI SYLLABLE TIT
-A11B YI SYLLABLE TIX
-A11C YI SYLLABLE TI
-A11D YI SYLLABLE TIP
-A11E YI SYLLABLE TIEX
-A11F YI SYLLABLE TIE
-A120 YI SYLLABLE TIEP
-A121 YI SYLLABLE TAT
-A122 YI SYLLABLE TAX
-A123 YI SYLLABLE TA
-A124 YI SYLLABLE TAP
-A125 YI SYLLABLE TUOT
-A126 YI SYLLABLE TUOX
-A127 YI SYLLABLE TUO
-A128 YI SYLLABLE TUOP
-A129 YI SYLLABLE TOT
-A12A YI SYLLABLE TOX
-A12B YI SYLLABLE TO
-A12C YI SYLLABLE TOP
-A12D YI SYLLABLE TEX
-A12E YI SYLLABLE TE
-A12F YI SYLLABLE TEP
-A130 YI SYLLABLE TUT
-A131 YI SYLLABLE TUX
-A132 YI SYLLABLE TU
-A133 YI SYLLABLE TUP
-A134 YI SYLLABLE TURX
-A135 YI SYLLABLE TUR
-A136 YI SYLLABLE DDIT
-A137 YI SYLLABLE DDIX
-A138 YI SYLLABLE DDI
-A139 YI SYLLABLE DDIP
-A13A YI SYLLABLE DDIEX
-A13B YI SYLLABLE DDIE
-A13C YI SYLLABLE DDIEP
-A13D YI SYLLABLE DDAT
-A13E YI SYLLABLE DDAX
-A13F YI SYLLABLE DDA
-A140 YI SYLLABLE DDAP
-A141 YI SYLLABLE DDUOX
-A142 YI SYLLABLE DDUO
-A143 YI SYLLABLE DDUOP
-A144 YI SYLLABLE DDOT
-A145 YI SYLLABLE DDOX
-A146 YI SYLLABLE DDO
-A147 YI SYLLABLE DDOP
-A148 YI SYLLABLE DDEX
-A149 YI SYLLABLE DDE
-A14A YI SYLLABLE DDEP
-A14B YI SYLLABLE DDUT
-A14C YI SYLLABLE DDUX
-A14D YI SYLLABLE DDU
-A14E YI SYLLABLE DDUP
-A14F YI SYLLABLE DDURX
-A150 YI SYLLABLE DDUR
-A151 YI SYLLABLE NDIT
-A152 YI SYLLABLE NDIX
-A153 YI SYLLABLE NDI
-A154 YI SYLLABLE NDIP
-A155 YI SYLLABLE NDIEX
-A156 YI SYLLABLE NDIE
-A157 YI SYLLABLE NDAT
-A158 YI SYLLABLE NDAX
-A159 YI SYLLABLE NDA
-A15A YI SYLLABLE NDAP
-A15B YI SYLLABLE NDOT
-A15C YI SYLLABLE NDOX
-A15D YI SYLLABLE NDO
-A15E YI SYLLABLE NDOP
-A15F YI SYLLABLE NDEX
-A160 YI SYLLABLE NDE
-A161 YI SYLLABLE NDEP
-A162 YI SYLLABLE NDUT
-A163 YI SYLLABLE NDUX
-A164 YI SYLLABLE NDU
-A165 YI SYLLABLE NDUP
-A166 YI SYLLABLE NDURX
-A167 YI SYLLABLE NDUR
-A168 YI SYLLABLE HNIT
-A169 YI SYLLABLE HNIX
-A16A YI SYLLABLE HNI
-A16B YI SYLLABLE HNIP
-A16C YI SYLLABLE HNIET
-A16D YI SYLLABLE HNIEX
-A16E YI SYLLABLE HNIE
-A16F YI SYLLABLE HNIEP
-A170 YI SYLLABLE HNAT
-A171 YI SYLLABLE HNAX
-A172 YI SYLLABLE HNA
-A173 YI SYLLABLE HNAP
-A174 YI SYLLABLE HNUOX
-A175 YI SYLLABLE HNUO
-A176 YI SYLLABLE HNOT
-A177 YI SYLLABLE HNOX
-A178 YI SYLLABLE HNOP
-A179 YI SYLLABLE HNEX
-A17A YI SYLLABLE HNE
-A17B YI SYLLABLE HNEP
-A17C YI SYLLABLE HNUT
-A17D YI SYLLABLE NIT
-A17E YI SYLLABLE NIX
-A17F YI SYLLABLE NI
-A180 YI SYLLABLE NIP
-A181 YI SYLLABLE NIEX
-A182 YI SYLLABLE NIE
-A183 YI SYLLABLE NIEP
-A184 YI SYLLABLE NAX
-A185 YI SYLLABLE NA
-A186 YI SYLLABLE NAP
-A187 YI SYLLABLE NUOX
-A188 YI SYLLABLE NUO
-A189 YI SYLLABLE NUOP
-A18A YI SYLLABLE NOT
-A18B YI SYLLABLE NOX
-A18C YI SYLLABLE NO
-A18D YI SYLLABLE NOP
-A18E YI SYLLABLE NEX
-A18F YI SYLLABLE NE
-A190 YI SYLLABLE NEP
-A191 YI SYLLABLE NUT
-A192 YI SYLLABLE NUX
-A193 YI SYLLABLE NU
-A194 YI SYLLABLE NUP
-A195 YI SYLLABLE NURX
-A196 YI SYLLABLE NUR
-A197 YI SYLLABLE HLIT
-A198 YI SYLLABLE HLIX
-A199 YI SYLLABLE HLI
-A19A YI SYLLABLE HLIP
-A19B YI SYLLABLE HLIEX
-A19C YI SYLLABLE HLIE
-A19D YI SYLLABLE HLIEP
-A19E YI SYLLABLE HLAT
-A19F YI SYLLABLE HLAX
-A1A0 YI SYLLABLE HLA
-A1A1 YI SYLLABLE HLAP
-A1A2 YI SYLLABLE HLUOX
-A1A3 YI SYLLABLE HLUO
-A1A4 YI SYLLABLE HLUOP
-A1A5 YI SYLLABLE HLOX
-A1A6 YI SYLLABLE HLO
-A1A7 YI SYLLABLE HLOP
-A1A8 YI SYLLABLE HLEX
-A1A9 YI SYLLABLE HLE
-A1AA YI SYLLABLE HLEP
-A1AB YI SYLLABLE HLUT
-A1AC YI SYLLABLE HLUX
-A1AD YI SYLLABLE HLU
-A1AE YI SYLLABLE HLUP
-A1AF YI SYLLABLE HLURX
-A1B0 YI SYLLABLE HLUR
-A1B1 YI SYLLABLE HLYT
-A1B2 YI SYLLABLE HLYX
-A1B3 YI SYLLABLE HLY
-A1B4 YI SYLLABLE HLYP
-A1B5 YI SYLLABLE HLYRX
-A1B6 YI SYLLABLE HLYR
-A1B7 YI SYLLABLE LIT
-A1B8 YI SYLLABLE LIX
-A1B9 YI SYLLABLE LI
-A1BA YI SYLLABLE LIP
-A1BB YI SYLLABLE LIET
-A1BC YI SYLLABLE LIEX
-A1BD YI SYLLABLE LIE
-A1BE YI SYLLABLE LIEP
-A1BF YI SYLLABLE LAT
-A1C0 YI SYLLABLE LAX
-A1C1 YI SYLLABLE LA
-A1C2 YI SYLLABLE LAP
-A1C3 YI SYLLABLE LUOT
-A1C4 YI SYLLABLE LUOX
-A1C5 YI SYLLABLE LUO
-A1C6 YI SYLLABLE LUOP
-A1C7 YI SYLLABLE LOT
-A1C8 YI SYLLABLE LOX
-A1C9 YI SYLLABLE LO
-A1CA YI SYLLABLE LOP
-A1CB YI SYLLABLE LEX
-A1CC YI SYLLABLE LE
-A1CD YI SYLLABLE LEP
-A1CE YI SYLLABLE LUT
-A1CF YI SYLLABLE LUX
-A1D0 YI SYLLABLE LU
-A1D1 YI SYLLABLE LUP
-A1D2 YI SYLLABLE LURX
-A1D3 YI SYLLABLE LUR
-A1D4 YI SYLLABLE LYT
-A1D5 YI SYLLABLE LYX
-A1D6 YI SYLLABLE LY
-A1D7 YI SYLLABLE LYP
-A1D8 YI SYLLABLE LYRX
-A1D9 YI SYLLABLE LYR
-A1DA YI SYLLABLE GIT
-A1DB YI SYLLABLE GIX
-A1DC YI SYLLABLE GI
-A1DD YI SYLLABLE GIP
-A1DE YI SYLLABLE GIET
-A1DF YI SYLLABLE GIEX
-A1E0 YI SYLLABLE GIE
-A1E1 YI SYLLABLE GIEP
-A1E2 YI SYLLABLE GAT
-A1E3 YI SYLLABLE GAX
-A1E4 YI SYLLABLE GA
-A1E5 YI SYLLABLE GAP
-A1E6 YI SYLLABLE GUOT
-A1E7 YI SYLLABLE GUOX
-A1E8 YI SYLLABLE GUO
-A1E9 YI SYLLABLE GUOP
-A1EA YI SYLLABLE GOT
-A1EB YI SYLLABLE GOX
-A1EC YI SYLLABLE GO
-A1ED YI SYLLABLE GOP
-A1EE YI SYLLABLE GET
-A1EF YI SYLLABLE GEX
-A1F0 YI SYLLABLE GE
-A1F1 YI SYLLABLE GEP
-A1F2 YI SYLLABLE GUT
-A1F3 YI SYLLABLE GUX
-A1F4 YI SYLLABLE GU
-A1F5 YI SYLLABLE GUP
-A1F6 YI SYLLABLE GURX
-A1F7 YI SYLLABLE GUR
-A1F8 YI SYLLABLE KIT
-A1F9 YI SYLLABLE KIX
-A1FA YI SYLLABLE KI
-A1FB YI SYLLABLE KIP
-A1FC YI SYLLABLE KIEX
-A1FD YI SYLLABLE KIE
-A1FE YI SYLLABLE KIEP
-A1FF YI SYLLABLE KAT
-A200 YI SYLLABLE KAX
-A201 YI SYLLABLE KA
-A202 YI SYLLABLE KAP
-A203 YI SYLLABLE KUOX
-A204 YI SYLLABLE KUO
-A205 YI SYLLABLE KUOP
-A206 YI SYLLABLE KOT
-A207 YI SYLLABLE KOX
-A208 YI SYLLABLE KO
-A209 YI SYLLABLE KOP
-A20A YI SYLLABLE KET
-A20B YI SYLLABLE KEX
-A20C YI SYLLABLE KE
-A20D YI SYLLABLE KEP
-A20E YI SYLLABLE KUT
-A20F YI SYLLABLE KUX
-A210 YI SYLLABLE KU
-A211 YI SYLLABLE KUP
-A212 YI SYLLABLE KURX
-A213 YI SYLLABLE KUR
-A214 YI SYLLABLE GGIT
-A215 YI SYLLABLE GGIX
-A216 YI SYLLABLE GGI
-A217 YI SYLLABLE GGIEX
-A218 YI SYLLABLE GGIE
-A219 YI SYLLABLE GGIEP
-A21A YI SYLLABLE GGAT
-A21B YI SYLLABLE GGAX
-A21C YI SYLLABLE GGA
-A21D YI SYLLABLE GGAP
-A21E YI SYLLABLE GGUOT
-A21F YI SYLLABLE GGUOX
-A220 YI SYLLABLE GGUO
-A221 YI SYLLABLE GGUOP
-A222 YI SYLLABLE GGOT
-A223 YI SYLLABLE GGOX
-A224 YI SYLLABLE GGO
-A225 YI SYLLABLE GGOP
-A226 YI SYLLABLE GGET
-A227 YI SYLLABLE GGEX
-A228 YI SYLLABLE GGE
-A229 YI SYLLABLE GGEP
-A22A YI SYLLABLE GGUT
-A22B YI SYLLABLE GGUX
-A22C YI SYLLABLE GGU
-A22D YI SYLLABLE GGUP
-A22E YI SYLLABLE GGURX
-A22F YI SYLLABLE GGUR
-A230 YI SYLLABLE MGIEX
-A231 YI SYLLABLE MGIE
-A232 YI SYLLABLE MGAT
-A233 YI SYLLABLE MGAX
-A234 YI SYLLABLE MGA
-A235 YI SYLLABLE MGAP
-A236 YI SYLLABLE MGUOX
-A237 YI SYLLABLE MGUO
-A238 YI SYLLABLE MGUOP
-A239 YI SYLLABLE MGOT
-A23A YI SYLLABLE MGOX
-A23B YI SYLLABLE MGO
-A23C YI SYLLABLE MGOP
-A23D YI SYLLABLE MGEX
-A23E YI SYLLABLE MGE
-A23F YI SYLLABLE MGEP
-A240 YI SYLLABLE MGUT
-A241 YI SYLLABLE MGUX
-A242 YI SYLLABLE MGU
-A243 YI SYLLABLE MGUP
-A244 YI SYLLABLE MGURX
-A245 YI SYLLABLE MGUR
-A246 YI SYLLABLE HXIT
-A247 YI SYLLABLE HXIX
-A248 YI SYLLABLE HXI
-A249 YI SYLLABLE HXIP
-A24A YI SYLLABLE HXIET
-A24B YI SYLLABLE HXIEX
-A24C YI SYLLABLE HXIE
-A24D YI SYLLABLE HXIEP
-A24E YI SYLLABLE HXAT
-A24F YI SYLLABLE HXAX
-A250 YI SYLLABLE HXA
-A251 YI SYLLABLE HXAP
-A252 YI SYLLABLE HXUOT
-A253 YI SYLLABLE HXUOX
-A254 YI SYLLABLE HXUO
-A255 YI SYLLABLE HXUOP
-A256 YI SYLLABLE HXOT
-A257 YI SYLLABLE HXOX
-A258 YI SYLLABLE HXO
-A259 YI SYLLABLE HXOP
-A25A YI SYLLABLE HXEX
-A25B YI SYLLABLE HXE
-A25C YI SYLLABLE HXEP
-A25D YI SYLLABLE NGIEX
-A25E YI SYLLABLE NGIE
-A25F YI SYLLABLE NGIEP
-A260 YI SYLLABLE NGAT
-A261 YI SYLLABLE NGAX
-A262 YI SYLLABLE NGA
-A263 YI SYLLABLE NGAP
-A264 YI SYLLABLE NGUOT
-A265 YI SYLLABLE NGUOX
-A266 YI SYLLABLE NGUO
-A267 YI SYLLABLE NGOT
-A268 YI SYLLABLE NGOX
-A269 YI SYLLABLE NGO
-A26A YI SYLLABLE NGOP
-A26B YI SYLLABLE NGEX
-A26C YI SYLLABLE NGE
-A26D YI SYLLABLE NGEP
-A26E YI SYLLABLE HIT
-A26F YI SYLLABLE HIEX
-A270 YI SYLLABLE HIE
-A271 YI SYLLABLE HAT
-A272 YI SYLLABLE HAX
-A273 YI SYLLABLE HA
-A274 YI SYLLABLE HAP
-A275 YI SYLLABLE HUOT
-A276 YI SYLLABLE HUOX
-A277 YI SYLLABLE HUO
-A278 YI SYLLABLE HUOP
-A279 YI SYLLABLE HOT
-A27A YI SYLLABLE HOX
-A27B YI SYLLABLE HO
-A27C YI SYLLABLE HOP
-A27D YI SYLLABLE HEX
-A27E YI SYLLABLE HE
-A27F YI SYLLABLE HEP
-A280 YI SYLLABLE WAT
-A281 YI SYLLABLE WAX
-A282 YI SYLLABLE WA
-A283 YI SYLLABLE WAP
-A284 YI SYLLABLE WUOX
-A285 YI SYLLABLE WUO
-A286 YI SYLLABLE WUOP
-A287 YI SYLLABLE WOX
-A288 YI SYLLABLE WO
-A289 YI SYLLABLE WOP
-A28A YI SYLLABLE WEX
-A28B YI SYLLABLE WE
-A28C YI SYLLABLE WEP
-A28D YI SYLLABLE ZIT
-A28E YI SYLLABLE ZIX
-A28F YI SYLLABLE ZI
-A290 YI SYLLABLE ZIP
-A291 YI SYLLABLE ZIEX
-A292 YI SYLLABLE ZIE
-A293 YI SYLLABLE ZIEP
-A294 YI SYLLABLE ZAT
-A295 YI SYLLABLE ZAX
-A296 YI SYLLABLE ZA
-A297 YI SYLLABLE ZAP
-A298 YI SYLLABLE ZUOX
-A299 YI SYLLABLE ZUO
-A29A YI SYLLABLE ZUOP
-A29B YI SYLLABLE ZOT
-A29C YI SYLLABLE ZOX
-A29D YI SYLLABLE ZO
-A29E YI SYLLABLE ZOP
-A29F YI SYLLABLE ZEX
-A2A0 YI SYLLABLE ZE
-A2A1 YI SYLLABLE ZEP
-A2A2 YI SYLLABLE ZUT
-A2A3 YI SYLLABLE ZUX
-A2A4 YI SYLLABLE ZU
-A2A5 YI SYLLABLE ZUP
-A2A6 YI SYLLABLE ZURX
-A2A7 YI SYLLABLE ZUR
-A2A8 YI SYLLABLE ZYT
-A2A9 YI SYLLABLE ZYX
-A2AA YI SYLLABLE ZY
-A2AB YI SYLLABLE ZYP
-A2AC YI SYLLABLE ZYRX
-A2AD YI SYLLABLE ZYR
-A2AE YI SYLLABLE CIT
-A2AF YI SYLLABLE CIX
-A2B0 YI SYLLABLE CI
-A2B1 YI SYLLABLE CIP
-A2B2 YI SYLLABLE CIET
-A2B3 YI SYLLABLE CIEX
-A2B4 YI SYLLABLE CIE
-A2B5 YI SYLLABLE CIEP
-A2B6 YI SYLLABLE CAT
-A2B7 YI SYLLABLE CAX
-A2B8 YI SYLLABLE CA
-A2B9 YI SYLLABLE CAP
-A2BA YI SYLLABLE CUOX
-A2BB YI SYLLABLE CUO
-A2BC YI SYLLABLE CUOP
-A2BD YI SYLLABLE COT
-A2BE YI SYLLABLE COX
-A2BF YI SYLLABLE CO
-A2C0 YI SYLLABLE COP
-A2C1 YI SYLLABLE CEX
-A2C2 YI SYLLABLE CE
-A2C3 YI SYLLABLE CEP
-A2C4 YI SYLLABLE CUT
-A2C5 YI SYLLABLE CUX
-A2C6 YI SYLLABLE CU
-A2C7 YI SYLLABLE CUP
-A2C8 YI SYLLABLE CURX
-A2C9 YI SYLLABLE CUR
-A2CA YI SYLLABLE CYT
-A2CB YI SYLLABLE CYX
-A2CC YI SYLLABLE CY
-A2CD YI SYLLABLE CYP
-A2CE YI SYLLABLE CYRX
-A2CF YI SYLLABLE CYR
-A2D0 YI SYLLABLE ZZIT
-A2D1 YI SYLLABLE ZZIX
-A2D2 YI SYLLABLE ZZI
-A2D3 YI SYLLABLE ZZIP
-A2D4 YI SYLLABLE ZZIET
-A2D5 YI SYLLABLE ZZIEX
-A2D6 YI SYLLABLE ZZIE
-A2D7 YI SYLLABLE ZZIEP
-A2D8 YI SYLLABLE ZZAT
-A2D9 YI SYLLABLE ZZAX
-A2DA YI SYLLABLE ZZA
-A2DB YI SYLLABLE ZZAP
-A2DC YI SYLLABLE ZZOX
-A2DD YI SYLLABLE ZZO
-A2DE YI SYLLABLE ZZOP
-A2DF YI SYLLABLE ZZEX
-A2E0 YI SYLLABLE ZZE
-A2E1 YI SYLLABLE ZZEP
-A2E2 YI SYLLABLE ZZUX
-A2E3 YI SYLLABLE ZZU
-A2E4 YI SYLLABLE ZZUP
-A2E5 YI SYLLABLE ZZURX
-A2E6 YI SYLLABLE ZZUR
-A2E7 YI SYLLABLE ZZYT
-A2E8 YI SYLLABLE ZZYX
-A2E9 YI SYLLABLE ZZY
-A2EA YI SYLLABLE ZZYP
-A2EB YI SYLLABLE ZZYRX
-A2EC YI SYLLABLE ZZYR
-A2ED YI SYLLABLE NZIT
-A2EE YI SYLLABLE NZIX
-A2EF YI SYLLABLE NZI
-A2F0 YI SYLLABLE NZIP
-A2F1 YI SYLLABLE NZIEX
-A2F2 YI SYLLABLE NZIE
-A2F3 YI SYLLABLE NZIEP
-A2F4 YI SYLLABLE NZAT
-A2F5 YI SYLLABLE NZAX
-A2F6 YI SYLLABLE NZA
-A2F7 YI SYLLABLE NZAP
-A2F8 YI SYLLABLE NZUOX
-A2F9 YI SYLLABLE NZUO
-A2FA YI SYLLABLE NZOX
-A2FB YI SYLLABLE NZOP
-A2FC YI SYLLABLE NZEX
-A2FD YI SYLLABLE NZE
-A2FE YI SYLLABLE NZUX
-A2FF YI SYLLABLE NZU
-A300 YI SYLLABLE NZUP
-A301 YI SYLLABLE NZURX
-A302 YI SYLLABLE NZUR
-A303 YI SYLLABLE NZYT
-A304 YI SYLLABLE NZYX
-A305 YI SYLLABLE NZY
-A306 YI SYLLABLE NZYP
-A307 YI SYLLABLE NZYRX
-A308 YI SYLLABLE NZYR
-A309 YI SYLLABLE SIT
-A30A YI SYLLABLE SIX
-A30B YI SYLLABLE SI
-A30C YI SYLLABLE SIP
-A30D YI SYLLABLE SIEX
-A30E YI SYLLABLE SIE
-A30F YI SYLLABLE SIEP
-A310 YI SYLLABLE SAT
-A311 YI SYLLABLE SAX
-A312 YI SYLLABLE SA
-A313 YI SYLLABLE SAP
-A314 YI SYLLABLE SUOX
-A315 YI SYLLABLE SUO
-A316 YI SYLLABLE SUOP
-A317 YI SYLLABLE SOT
-A318 YI SYLLABLE SOX
-A319 YI SYLLABLE SO
-A31A YI SYLLABLE SOP
-A31B YI SYLLABLE SEX
-A31C YI SYLLABLE SE
-A31D YI SYLLABLE SEP
-A31E YI SYLLABLE SUT
-A31F YI SYLLABLE SUX
-A320 YI SYLLABLE SU
-A321 YI SYLLABLE SUP
-A322 YI SYLLABLE SURX
-A323 YI SYLLABLE SUR
-A324 YI SYLLABLE SYT
-A325 YI SYLLABLE SYX
-A326 YI SYLLABLE SY
-A327 YI SYLLABLE SYP
-A328 YI SYLLABLE SYRX
-A329 YI SYLLABLE SYR
-A32A YI SYLLABLE SSIT
-A32B YI SYLLABLE SSIX
-A32C YI SYLLABLE SSI
-A32D YI SYLLABLE SSIP
-A32E YI SYLLABLE SSIEX
-A32F YI SYLLABLE SSIE
-A330 YI SYLLABLE SSIEP
-A331 YI SYLLABLE SSAT
-A332 YI SYLLABLE SSAX
-A333 YI SYLLABLE SSA
-A334 YI SYLLABLE SSAP
-A335 YI SYLLABLE SSOT
-A336 YI SYLLABLE SSOX
-A337 YI SYLLABLE SSO
-A338 YI SYLLABLE SSOP
-A339 YI SYLLABLE SSEX
-A33A YI SYLLABLE SSE
-A33B YI SYLLABLE SSEP
-A33C YI SYLLABLE SSUT
-A33D YI SYLLABLE SSUX
-A33E YI SYLLABLE SSU
-A33F YI SYLLABLE SSUP
-A340 YI SYLLABLE SSYT
-A341 YI SYLLABLE SSYX
-A342 YI SYLLABLE SSY
-A343 YI SYLLABLE SSYP
-A344 YI SYLLABLE SSYRX
-A345 YI SYLLABLE SSYR
-A346 YI SYLLABLE ZHAT
-A347 YI SYLLABLE ZHAX
-A348 YI SYLLABLE ZHA
-A349 YI SYLLABLE ZHAP
-A34A YI SYLLABLE ZHUOX
-A34B YI SYLLABLE ZHUO
-A34C YI SYLLABLE ZHUOP
-A34D YI SYLLABLE ZHOT
-A34E YI SYLLABLE ZHOX
-A34F YI SYLLABLE ZHO
-A350 YI SYLLABLE ZHOP
-A351 YI SYLLABLE ZHET
-A352 YI SYLLABLE ZHEX
-A353 YI SYLLABLE ZHE
-A354 YI SYLLABLE ZHEP
-A355 YI SYLLABLE ZHUT
-A356 YI SYLLABLE ZHUX
-A357 YI SYLLABLE ZHU
-A358 YI SYLLABLE ZHUP
-A359 YI SYLLABLE ZHURX
-A35A YI SYLLABLE ZHUR
-A35B YI SYLLABLE ZHYT
-A35C YI SYLLABLE ZHYX
-A35D YI SYLLABLE ZHY
-A35E YI SYLLABLE ZHYP
-A35F YI SYLLABLE ZHYRX
-A360 YI SYLLABLE ZHYR
-A361 YI SYLLABLE CHAT
-A362 YI SYLLABLE CHAX
-A363 YI SYLLABLE CHA
-A364 YI SYLLABLE CHAP
-A365 YI SYLLABLE CHUOT
-A366 YI SYLLABLE CHUOX
-A367 YI SYLLABLE CHUO
-A368 YI SYLLABLE CHUOP
-A369 YI SYLLABLE CHOT
-A36A YI SYLLABLE CHOX
-A36B YI SYLLABLE CHO
-A36C YI SYLLABLE CHOP
-A36D YI SYLLABLE CHET
-A36E YI SYLLABLE CHEX
-A36F YI SYLLABLE CHE
-A370 YI SYLLABLE CHEP
-A371 YI SYLLABLE CHUX
-A372 YI SYLLABLE CHU
-A373 YI SYLLABLE CHUP
-A374 YI SYLLABLE CHURX
-A375 YI SYLLABLE CHUR
-A376 YI SYLLABLE CHYT
-A377 YI SYLLABLE CHYX
-A378 YI SYLLABLE CHY
-A379 YI SYLLABLE CHYP
-A37A YI SYLLABLE CHYRX
-A37B YI SYLLABLE CHYR
-A37C YI SYLLABLE RRAX
-A37D YI SYLLABLE RRA
-A37E YI SYLLABLE RRUOX
-A37F YI SYLLABLE RRUO
-A380 YI SYLLABLE RROT
-A381 YI SYLLABLE RROX
-A382 YI SYLLABLE RRO
-A383 YI SYLLABLE RROP
-A384 YI SYLLABLE RRET
-A385 YI SYLLABLE RREX
-A386 YI SYLLABLE RRE
-A387 YI SYLLABLE RREP
-A388 YI SYLLABLE RRUT
-A389 YI SYLLABLE RRUX
-A38A YI SYLLABLE RRU
-A38B YI SYLLABLE RRUP
-A38C YI SYLLABLE RRURX
-A38D YI SYLLABLE RRUR
-A38E YI SYLLABLE RRYT
-A38F YI SYLLABLE RRYX
-A390 YI SYLLABLE RRY
-A391 YI SYLLABLE RRYP
-A392 YI SYLLABLE RRYRX
-A393 YI SYLLABLE RRYR
-A394 YI SYLLABLE NRAT
-A395 YI SYLLABLE NRAX
-A396 YI SYLLABLE NRA
-A397 YI SYLLABLE NRAP
-A398 YI SYLLABLE NROX
-A399 YI SYLLABLE NRO
-A39A YI SYLLABLE NROP
-A39B YI SYLLABLE NRET
-A39C YI SYLLABLE NREX
-A39D YI SYLLABLE NRE
-A39E YI SYLLABLE NREP
-A39F YI SYLLABLE NRUT
-A3A0 YI SYLLABLE NRUX
-A3A1 YI SYLLABLE NRU
-A3A2 YI SYLLABLE NRUP
-A3A3 YI SYLLABLE NRURX
-A3A4 YI SYLLABLE NRUR
-A3A5 YI SYLLABLE NRYT
-A3A6 YI SYLLABLE NRYX
-A3A7 YI SYLLABLE NRY
-A3A8 YI SYLLABLE NRYP
-A3A9 YI SYLLABLE NRYRX
-A3AA YI SYLLABLE NRYR
-A3AB YI SYLLABLE SHAT
-A3AC YI SYLLABLE SHAX
-A3AD YI SYLLABLE SHA
-A3AE YI SYLLABLE SHAP
-A3AF YI SYLLABLE SHUOX
-A3B0 YI SYLLABLE SHUO
-A3B1 YI SYLLABLE SHUOP
-A3B2 YI SYLLABLE SHOT
-A3B3 YI SYLLABLE SHOX
-A3B4 YI SYLLABLE SHO
-A3B5 YI SYLLABLE SHOP
-A3B6 YI SYLLABLE SHET
-A3B7 YI SYLLABLE SHEX
-A3B8 YI SYLLABLE SHE
-A3B9 YI SYLLABLE SHEP
-A3BA YI SYLLABLE SHUT
-A3BB YI SYLLABLE SHUX
-A3BC YI SYLLABLE SHU
-A3BD YI SYLLABLE SHUP
-A3BE YI SYLLABLE SHURX
-A3BF YI SYLLABLE SHUR
-A3C0 YI SYLLABLE SHYT
-A3C1 YI SYLLABLE SHYX
-A3C2 YI SYLLABLE SHY
-A3C3 YI SYLLABLE SHYP
-A3C4 YI SYLLABLE SHYRX
-A3C5 YI SYLLABLE SHYR
-A3C6 YI SYLLABLE RAT
-A3C7 YI SYLLABLE RAX
-A3C8 YI SYLLABLE RA
-A3C9 YI SYLLABLE RAP
-A3CA YI SYLLABLE RUOX
-A3CB YI SYLLABLE RUO
-A3CC YI SYLLABLE RUOP
-A3CD YI SYLLABLE ROT
-A3CE YI SYLLABLE ROX
-A3CF YI SYLLABLE RO
-A3D0 YI SYLLABLE ROP
-A3D1 YI SYLLABLE REX
-A3D2 YI SYLLABLE RE
-A3D3 YI SYLLABLE REP
-A3D4 YI SYLLABLE RUT
-A3D5 YI SYLLABLE RUX
-A3D6 YI SYLLABLE RU
-A3D7 YI SYLLABLE RUP
-A3D8 YI SYLLABLE RURX
-A3D9 YI SYLLABLE RUR
-A3DA YI SYLLABLE RYT
-A3DB YI SYLLABLE RYX
-A3DC YI SYLLABLE RY
-A3DD YI SYLLABLE RYP
-A3DE YI SYLLABLE RYRX
-A3DF YI SYLLABLE RYR
-A3E0 YI SYLLABLE JIT
-A3E1 YI SYLLABLE JIX
-A3E2 YI SYLLABLE JI
-A3E3 YI SYLLABLE JIP
-A3E4 YI SYLLABLE JIET
-A3E5 YI SYLLABLE JIEX
-A3E6 YI SYLLABLE JIE
-A3E7 YI SYLLABLE JIEP
-A3E8 YI SYLLABLE JUOT
-A3E9 YI SYLLABLE JUOX
-A3EA YI SYLLABLE JUO
-A3EB YI SYLLABLE JUOP
-A3EC YI SYLLABLE JOT
-A3ED YI SYLLABLE JOX
-A3EE YI SYLLABLE JO
-A3EF YI SYLLABLE JOP
-A3F0 YI SYLLABLE JUT
-A3F1 YI SYLLABLE JUX
-A3F2 YI SYLLABLE JU
-A3F3 YI SYLLABLE JUP
-A3F4 YI SYLLABLE JURX
-A3F5 YI SYLLABLE JUR
-A3F6 YI SYLLABLE JYT
-A3F7 YI SYLLABLE JYX
-A3F8 YI SYLLABLE JY
-A3F9 YI SYLLABLE JYP
-A3FA YI SYLLABLE JYRX
-A3FB YI SYLLABLE JYR
-A3FC YI SYLLABLE QIT
-A3FD YI SYLLABLE QIX
-A3FE YI SYLLABLE QI
-A3FF YI SYLLABLE QIP
-A400 YI SYLLABLE QIET
-A401 YI SYLLABLE QIEX
-A402 YI SYLLABLE QIE
-A403 YI SYLLABLE QIEP
-A404 YI SYLLABLE QUOT
-A405 YI SYLLABLE QUOX
-A406 YI SYLLABLE QUO
-A407 YI SYLLABLE QUOP
-A408 YI SYLLABLE QOT
-A409 YI SYLLABLE QOX
-A40A YI SYLLABLE QO
-A40B YI SYLLABLE QOP
-A40C YI SYLLABLE QUT
-A40D YI SYLLABLE QUX
-A40E YI SYLLABLE QU
-A40F YI SYLLABLE QUP
-A410 YI SYLLABLE QURX
-A411 YI SYLLABLE QUR
-A412 YI SYLLABLE QYT
-A413 YI SYLLABLE QYX
-A414 YI SYLLABLE QY
-A415 YI SYLLABLE QYP
-A416 YI SYLLABLE QYRX
-A417 YI SYLLABLE QYR
-A418 YI SYLLABLE JJIT
-A419 YI SYLLABLE JJIX
-A41A YI SYLLABLE JJI
-A41B YI SYLLABLE JJIP
-A41C YI SYLLABLE JJIET
-A41D YI SYLLABLE JJIEX
-A41E YI SYLLABLE JJIE
-A41F YI SYLLABLE JJIEP
-A420 YI SYLLABLE JJUOX
-A421 YI SYLLABLE JJUO
-A422 YI SYLLABLE JJUOP
-A423 YI SYLLABLE JJOT
-A424 YI SYLLABLE JJOX
-A425 YI SYLLABLE JJO
-A426 YI SYLLABLE JJOP
-A427 YI SYLLABLE JJUT
-A428 YI SYLLABLE JJUX
-A429 YI SYLLABLE JJU
-A42A YI SYLLABLE JJUP
-A42B YI SYLLABLE JJURX
-A42C YI SYLLABLE JJUR
-A42D YI SYLLABLE JJYT
-A42E YI SYLLABLE JJYX
-A42F YI SYLLABLE JJY
-A430 YI SYLLABLE JJYP
-A431 YI SYLLABLE NJIT
-A432 YI SYLLABLE NJIX
-A433 YI SYLLABLE NJI
-A434 YI SYLLABLE NJIP
-A435 YI SYLLABLE NJIET
-A436 YI SYLLABLE NJIEX
-A437 YI SYLLABLE NJIE
-A438 YI SYLLABLE NJIEP
-A439 YI SYLLABLE NJUOX
-A43A YI SYLLABLE NJUO
-A43B YI SYLLABLE NJOT
-A43C YI SYLLABLE NJOX
-A43D YI SYLLABLE NJO
-A43E YI SYLLABLE NJOP
-A43F YI SYLLABLE NJUX
-A440 YI SYLLABLE NJU
-A441 YI SYLLABLE NJUP
-A442 YI SYLLABLE NJURX
-A443 YI SYLLABLE NJUR
-A444 YI SYLLABLE NJYT
-A445 YI SYLLABLE NJYX
-A446 YI SYLLABLE NJY
-A447 YI SYLLABLE NJYP
-A448 YI SYLLABLE NJYRX
-A449 YI SYLLABLE NJYR
-A44A YI SYLLABLE NYIT
-A44B YI SYLLABLE NYIX
-A44C YI SYLLABLE NYI
-A44D YI SYLLABLE NYIP
-A44E YI SYLLABLE NYIET
-A44F YI SYLLABLE NYIEX
-A450 YI SYLLABLE NYIE
-A451 YI SYLLABLE NYIEP
-A452 YI SYLLABLE NYUOX
-A453 YI SYLLABLE NYUO
-A454 YI SYLLABLE NYUOP
-A455 YI SYLLABLE NYOT
-A456 YI SYLLABLE NYOX
-A457 YI SYLLABLE NYO
-A458 YI SYLLABLE NYOP
-A459 YI SYLLABLE NYUT
-A45A YI SYLLABLE NYUX
-A45B YI SYLLABLE NYU
-A45C YI SYLLABLE NYUP
-A45D YI SYLLABLE XIT
-A45E YI SYLLABLE XIX
-A45F YI SYLLABLE XI
-A460 YI SYLLABLE XIP
-A461 YI SYLLABLE XIET
-A462 YI SYLLABLE XIEX
-A463 YI SYLLABLE XIE
-A464 YI SYLLABLE XIEP
-A465 YI SYLLABLE XUOX
-A466 YI SYLLABLE XUO
-A467 YI SYLLABLE XOT
-A468 YI SYLLABLE XOX
-A469 YI SYLLABLE XO
-A46A YI SYLLABLE XOP
-A46B YI SYLLABLE XYT
-A46C YI SYLLABLE XYX
-A46D YI SYLLABLE XY
-A46E YI SYLLABLE XYP
-A46F YI SYLLABLE XYRX
-A470 YI SYLLABLE XYR
-A471 YI SYLLABLE YIT
-A472 YI SYLLABLE YIX
-A473 YI SYLLABLE YI
-A474 YI SYLLABLE YIP
-A475 YI SYLLABLE YIET
-A476 YI SYLLABLE YIEX
-A477 YI SYLLABLE YIE
-A478 YI SYLLABLE YIEP
-A479 YI SYLLABLE YUOT
-A47A YI SYLLABLE YUOX
-A47B YI SYLLABLE YUO
-A47C YI SYLLABLE YUOP
-A47D YI SYLLABLE YOT
-A47E YI SYLLABLE YOX
-A47F YI SYLLABLE YO
-A480 YI SYLLABLE YOP
-A481 YI SYLLABLE YUT
-A482 YI SYLLABLE YUX
-A483 YI SYLLABLE YU
-A484 YI SYLLABLE YUP
-A485 YI SYLLABLE YURX
-A486 YI SYLLABLE YUR
-A487 YI SYLLABLE YYT
-A488 YI SYLLABLE YYX
-A489 YI SYLLABLE YY
-A48A YI SYLLABLE YYP
-A48B YI SYLLABLE YYRX
-A48C YI SYLLABLE YYR
-A490 YI RADICAL QOT
-A491 YI RADICAL LI
-A492 YI RADICAL KIT
-A493 YI RADICAL NYIP
-A494 YI RADICAL CYP
-A495 YI RADICAL SSI
-A496 YI RADICAL GGOP
-A497 YI RADICAL GEP
-A498 YI RADICAL MI
-A499 YI RADICAL HXIT
-A49A YI RADICAL LYR
-A49B YI RADICAL BBUT
-A49C YI RADICAL MOP
-A49D YI RADICAL YO
-A49E YI RADICAL PUT
-A49F YI RADICAL HXUO
-A4A0 YI RADICAL TAT
-A4A1 YI RADICAL GA
-A4A2 YI RADICAL ZUP
-A4A3 YI RADICAL CYT
-A4A4 YI RADICAL DDUR
-A4A5 YI RADICAL BUR
-A4A6 YI RADICAL GGUO
-A4A7 YI RADICAL NYOP
-A4A8 YI RADICAL TU
-A4A9 YI RADICAL OP
-A4AA YI RADICAL JJUT
-A4AB YI RADICAL ZOT
-A4AC YI RADICAL PYT
-A4AD YI RADICAL HMO
-A4AE YI RADICAL YIT
-A4AF YI RADICAL VUR
-A4B0 YI RADICAL SHY
-A4B1 YI RADICAL VEP
-A4B2 YI RADICAL ZA
-A4B3 YI RADICAL JO
-A4B4 YI RADICAL NZUP
-A4B5 YI RADICAL JJY
-A4B6 YI RADICAL GOT
-A4B7 YI RADICAL JJIE
-A4B8 YI RADICAL WO
-A4B9 YI RADICAL DU
-A4BA YI RADICAL SHUR
-A4BB YI RADICAL LIE
-A4BC YI RADICAL CY
-A4BD YI RADICAL CUOP
-A4BE YI RADICAL CIP
-A4BF YI RADICAL HXOP
-A4C0 YI RADICAL SHAT
-A4C1 YI RADICAL ZUR
-A4C2 YI RADICAL SHOP
-A4C3 YI RADICAL CHE
-A4C4 YI RADICAL ZZIET
-A4C5 YI RADICAL NBIE
-A4C6 YI RADICAL KE
-A4D0 LISU LETTER BA
-A4D1 LISU LETTER PA
-A4D2 LISU LETTER PHA
-A4D3 LISU LETTER DA
-A4D4 LISU LETTER TA
-A4D5 LISU LETTER THA
-A4D6 LISU LETTER GA
-A4D7 LISU LETTER KA
-A4D8 LISU LETTER KHA
-A4D9 LISU LETTER JA
-A4DA LISU LETTER CA
-A4DB LISU LETTER CHA
-A4DC LISU LETTER DZA
-A4DD LISU LETTER TSA
-A4DE LISU LETTER TSHA
-A4DF LISU LETTER MA
-A4E0 LISU LETTER NA
-A4E1 LISU LETTER LA
-A4E2 LISU LETTER SA
-A4E3 LISU LETTER ZHA
-A4E4 LISU LETTER ZA
-A4E5 LISU LETTER NGA
-A4E6 LISU LETTER HA
-A4E7 LISU LETTER XA
-A4E8 LISU LETTER HHA
-A4E9 LISU LETTER FA
-A4EA LISU LETTER WA
-A4EB LISU LETTER SHA
-A4EC LISU LETTER YA
-A4ED LISU LETTER GHA
-A4EE LISU LETTER A
-A4EF LISU LETTER AE
-A4F0 LISU LETTER E
-A4F1 LISU LETTER EU
-A4F2 LISU LETTER I
-A4F3 LISU LETTER O
-A4F4 LISU LETTER U
-A4F5 LISU LETTER UE
-A4F6 LISU LETTER UH
-A4F7 LISU LETTER OE
-A4F8 LISU LETTER TONE MYA TI
-A4F9 LISU LETTER TONE NA PO
-A4FA LISU LETTER TONE MYA CYA
-A4FB LISU LETTER TONE MYA BO
-A4FC LISU LETTER TONE MYA NA
-A4FD LISU LETTER TONE MYA JEU
-A4FE LISU PUNCTUATION COMMA
-A4FF LISU PUNCTUATION FULL STOP
-A500 VAI SYLLABLE EE
-A501 VAI SYLLABLE EEN
-A502 VAI SYLLABLE HEE
-A503 VAI SYLLABLE WEE
-A504 VAI SYLLABLE WEEN
-A505 VAI SYLLABLE PEE
-A506 VAI SYLLABLE BHEE
-A507 VAI SYLLABLE BEE
-A508 VAI SYLLABLE MBEE
-A509 VAI SYLLABLE KPEE
-A50A VAI SYLLABLE MGBEE
-A50B VAI SYLLABLE GBEE
-A50C VAI SYLLABLE FEE
-A50D VAI SYLLABLE VEE
-A50E VAI SYLLABLE TEE
-A50F VAI SYLLABLE THEE
-A510 VAI SYLLABLE DHEE
-A511 VAI SYLLABLE DHHEE
-A512 VAI SYLLABLE LEE
-A513 VAI SYLLABLE REE
-A514 VAI SYLLABLE DEE
-A515 VAI SYLLABLE NDEE
-A516 VAI SYLLABLE SEE
-A517 VAI SYLLABLE SHEE
-A518 VAI SYLLABLE ZEE
-A519 VAI SYLLABLE ZHEE
-A51A VAI SYLLABLE CEE
-A51B VAI SYLLABLE JEE
-A51C VAI SYLLABLE NJEE
-A51D VAI SYLLABLE YEE
-A51E VAI SYLLABLE KEE
-A51F VAI SYLLABLE NGGEE
-A520 VAI SYLLABLE GEE
-A521 VAI SYLLABLE MEE
-A522 VAI SYLLABLE NEE
-A523 VAI SYLLABLE NYEE
-A524 VAI SYLLABLE I
-A525 VAI SYLLABLE IN
-A526 VAI SYLLABLE HI
-A527 VAI SYLLABLE HIN
-A528 VAI SYLLABLE WI
-A529 VAI SYLLABLE WIN
-A52A VAI SYLLABLE PI
-A52B VAI SYLLABLE BHI
-A52C VAI SYLLABLE BI
-A52D VAI SYLLABLE MBI
-A52E VAI SYLLABLE KPI
-A52F VAI SYLLABLE MGBI
-A530 VAI SYLLABLE GBI
-A531 VAI SYLLABLE FI
-A532 VAI SYLLABLE VI
-A533 VAI SYLLABLE TI
-A534 VAI SYLLABLE THI
-A535 VAI SYLLABLE DHI
-A536 VAI SYLLABLE DHHI
-A537 VAI SYLLABLE LI
-A538 VAI SYLLABLE RI
-A539 VAI SYLLABLE DI
-A53A VAI SYLLABLE NDI
-A53B VAI SYLLABLE SI
-A53C VAI SYLLABLE SHI
-A53D VAI SYLLABLE ZI
-A53E VAI SYLLABLE ZHI
-A53F VAI SYLLABLE CI
-A540 VAI SYLLABLE JI
-A541 VAI SYLLABLE NJI
-A542 VAI SYLLABLE YI
-A543 VAI SYLLABLE KI
-A544 VAI SYLLABLE NGGI
-A545 VAI SYLLABLE GI
-A546 VAI SYLLABLE MI
-A547 VAI SYLLABLE NI
-A548 VAI SYLLABLE NYI
-A549 VAI SYLLABLE A
-A54A VAI SYLLABLE AN
-A54B VAI SYLLABLE NGAN
-A54C VAI SYLLABLE HA
-A54D VAI SYLLABLE HAN
-A54E VAI SYLLABLE WA
-A54F VAI SYLLABLE WAN
-A550 VAI SYLLABLE PA
-A551 VAI SYLLABLE BHA
-A552 VAI SYLLABLE BA
-A553 VAI SYLLABLE MBA
-A554 VAI SYLLABLE KPA
-A555 VAI SYLLABLE KPAN
-A556 VAI SYLLABLE MGBA
-A557 VAI SYLLABLE GBA
-A558 VAI SYLLABLE FA
-A559 VAI SYLLABLE VA
-A55A VAI SYLLABLE TA
-A55B VAI SYLLABLE THA
-A55C VAI SYLLABLE DHA
-A55D VAI SYLLABLE DHHA
-A55E VAI SYLLABLE LA
-A55F VAI SYLLABLE RA
-A560 VAI SYLLABLE DA
-A561 VAI SYLLABLE NDA
-A562 VAI SYLLABLE SA
-A563 VAI SYLLABLE SHA
-A564 VAI SYLLABLE ZA
-A565 VAI SYLLABLE ZHA
-A566 VAI SYLLABLE CA
-A567 VAI SYLLABLE JA
-A568 VAI SYLLABLE NJA
-A569 VAI SYLLABLE YA
-A56A VAI SYLLABLE KA
-A56B VAI SYLLABLE KAN
-A56C VAI SYLLABLE NGGA
-A56D VAI SYLLABLE GA
-A56E VAI SYLLABLE MA
-A56F VAI SYLLABLE NA
-A570 VAI SYLLABLE NYA
-A571 VAI SYLLABLE OO
-A572 VAI SYLLABLE OON
-A573 VAI SYLLABLE HOO
-A574 VAI SYLLABLE WOO
-A575 VAI SYLLABLE WOON
-A576 VAI SYLLABLE POO
-A577 VAI SYLLABLE BHOO
-A578 VAI SYLLABLE BOO
-A579 VAI SYLLABLE MBOO
-A57A VAI SYLLABLE KPOO
-A57B VAI SYLLABLE MGBOO
-A57C VAI SYLLABLE GBOO
-A57D VAI SYLLABLE FOO
-A57E VAI SYLLABLE VOO
-A57F VAI SYLLABLE TOO
-A580 VAI SYLLABLE THOO
-A581 VAI SYLLABLE DHOO
-A582 VAI SYLLABLE DHHOO
-A583 VAI SYLLABLE LOO
-A584 VAI SYLLABLE ROO
-A585 VAI SYLLABLE DOO
-A586 VAI SYLLABLE NDOO
-A587 VAI SYLLABLE SOO
-A588 VAI SYLLABLE SHOO
-A589 VAI SYLLABLE ZOO
-A58A VAI SYLLABLE ZHOO
-A58B VAI SYLLABLE COO
-A58C VAI SYLLABLE JOO
-A58D VAI SYLLABLE NJOO
-A58E VAI SYLLABLE YOO
-A58F VAI SYLLABLE KOO
-A590 VAI SYLLABLE NGGOO
-A591 VAI SYLLABLE GOO
-A592 VAI SYLLABLE MOO
-A593 VAI SYLLABLE NOO
-A594 VAI SYLLABLE NYOO
-A595 VAI SYLLABLE U
-A596 VAI SYLLABLE UN
-A597 VAI SYLLABLE HU
-A598 VAI SYLLABLE HUN
-A599 VAI SYLLABLE WU
-A59A VAI SYLLABLE WUN
-A59B VAI SYLLABLE PU
-A59C VAI SYLLABLE BHU
-A59D VAI SYLLABLE BU
-A59E VAI SYLLABLE MBU
-A59F VAI SYLLABLE KPU
-A5A0 VAI SYLLABLE MGBU
-A5A1 VAI SYLLABLE GBU
-A5A2 VAI SYLLABLE FU
-A5A3 VAI SYLLABLE VU
-A5A4 VAI SYLLABLE TU
-A5A5 VAI SYLLABLE THU
-A5A6 VAI SYLLABLE DHU
-A5A7 VAI SYLLABLE DHHU
-A5A8 VAI SYLLABLE LU
-A5A9 VAI SYLLABLE RU
-A5AA VAI SYLLABLE DU
-A5AB VAI SYLLABLE NDU
-A5AC VAI SYLLABLE SU
-A5AD VAI SYLLABLE SHU
-A5AE VAI SYLLABLE ZU
-A5AF VAI SYLLABLE ZHU
-A5B0 VAI SYLLABLE CU
-A5B1 VAI SYLLABLE JU
-A5B2 VAI SYLLABLE NJU
-A5B3 VAI SYLLABLE YU
-A5B4 VAI SYLLABLE KU
-A5B5 VAI SYLLABLE NGGU
-A5B6 VAI SYLLABLE GU
-A5B7 VAI SYLLABLE MU
-A5B8 VAI SYLLABLE NU
-A5B9 VAI SYLLABLE NYU
-A5BA VAI SYLLABLE O
-A5BB VAI SYLLABLE ON
-A5BC VAI SYLLABLE NGON
-A5BD VAI SYLLABLE HO
-A5BE VAI SYLLABLE HON
-A5BF VAI SYLLABLE WO
-A5C0 VAI SYLLABLE WON
-A5C1 VAI SYLLABLE PO
-A5C2 VAI SYLLABLE BHO
-A5C3 VAI SYLLABLE BO
-A5C4 VAI SYLLABLE MBO
-A5C5 VAI SYLLABLE KPO
-A5C6 VAI SYLLABLE MGBO
-A5C7 VAI SYLLABLE GBO
-A5C8 VAI SYLLABLE GBON
-A5C9 VAI SYLLABLE FO
-A5CA VAI SYLLABLE VO
-A5CB VAI SYLLABLE TO
-A5CC VAI SYLLABLE THO
-A5CD VAI SYLLABLE DHO
-A5CE VAI SYLLABLE DHHO
-A5CF VAI SYLLABLE LO
-A5D0 VAI SYLLABLE RO
-A5D1 VAI SYLLABLE DO
-A5D2 VAI SYLLABLE NDO
-A5D3 VAI SYLLABLE SO
-A5D4 VAI SYLLABLE SHO
-A5D5 VAI SYLLABLE ZO
-A5D6 VAI SYLLABLE ZHO
-A5D7 VAI SYLLABLE CO
-A5D8 VAI SYLLABLE JO
-A5D9 VAI SYLLABLE NJO
-A5DA VAI SYLLABLE YO
-A5DB VAI SYLLABLE KO
-A5DC VAI SYLLABLE NGGO
-A5DD VAI SYLLABLE GO
-A5DE VAI SYLLABLE MO
-A5DF VAI SYLLABLE NO
-A5E0 VAI SYLLABLE NYO
-A5E1 VAI SYLLABLE E
-A5E2 VAI SYLLABLE EN
-A5E3 VAI SYLLABLE NGEN
-A5E4 VAI SYLLABLE HE
-A5E5 VAI SYLLABLE HEN
-A5E6 VAI SYLLABLE WE
-A5E7 VAI SYLLABLE WEN
-A5E8 VAI SYLLABLE PE
-A5E9 VAI SYLLABLE BHE
-A5EA VAI SYLLABLE BE
-A5EB VAI SYLLABLE MBE
-A5EC VAI SYLLABLE KPE
-A5ED VAI SYLLABLE KPEN
-A5EE VAI SYLLABLE MGBE
-A5EF VAI SYLLABLE GBE
-A5F0 VAI SYLLABLE GBEN
-A5F1 VAI SYLLABLE FE
-A5F2 VAI SYLLABLE VE
-A5F3 VAI SYLLABLE TE
-A5F4 VAI SYLLABLE THE
-A5F5 VAI SYLLABLE DHE
-A5F6 VAI SYLLABLE DHHE
-A5F7 VAI SYLLABLE LE
-A5F8 VAI SYLLABLE RE
-A5F9 VAI SYLLABLE DE
-A5FA VAI SYLLABLE NDE
-A5FB VAI SYLLABLE SE
-A5FC VAI SYLLABLE SHE
-A5FD VAI SYLLABLE ZE
-A5FE VAI SYLLABLE ZHE
-A5FF VAI SYLLABLE CE
-A600 VAI SYLLABLE JE
-A601 VAI SYLLABLE NJE
-A602 VAI SYLLABLE YE
-A603 VAI SYLLABLE KE
-A604 VAI SYLLABLE NGGE
-A605 VAI SYLLABLE NGGEN
-A606 VAI SYLLABLE GE
-A607 VAI SYLLABLE GEN
-A608 VAI SYLLABLE ME
-A609 VAI SYLLABLE NE
-A60A VAI SYLLABLE NYE
-A60B VAI SYLLABLE NG
-A60C VAI SYLLABLE LENGTHENER
-A60D VAI COMMA
-A60E VAI FULL STOP
-A60F VAI QUESTION MARK
-A610 VAI SYLLABLE NDOLE FA
-A611 VAI SYLLABLE NDOLE KA
-A612 VAI SYLLABLE NDOLE SOO
-A613 VAI SYMBOL FEENG
-A614 VAI SYMBOL KEENG
-A615 VAI SYMBOL TING
-A616 VAI SYMBOL NII
-A617 VAI SYMBOL BANG
-A618 VAI SYMBOL FAA
-A619 VAI SYMBOL TAA
-A61A VAI SYMBOL DANG
-A61B VAI SYMBOL DOONG
-A61C VAI SYMBOL KUNG
-A61D VAI SYMBOL TONG
-A61E VAI SYMBOL DO-O
-A61F VAI SYMBOL JONG
-A620 VAI DIGIT ZERO
-A621 VAI DIGIT ONE
-A622 VAI DIGIT TWO
-A623 VAI DIGIT THREE
-A624 VAI DIGIT FOUR
-A625 VAI DIGIT FIVE
-A626 VAI DIGIT SIX
-A627 VAI DIGIT SEVEN
-A628 VAI DIGIT EIGHT
-A629 VAI DIGIT NINE
-A62A VAI SYLLABLE NDOLE MA
-A62B VAI SYLLABLE NDOLE DO
-A640 CYRILLIC CAPITAL LETTER ZEMLYA
-A641 CYRILLIC SMALL LETTER ZEMLYA
-A642 CYRILLIC CAPITAL LETTER DZELO
-A643 CYRILLIC SMALL LETTER DZELO
-A644 CYRILLIC CAPITAL LETTER REVERSED DZE
-A645 CYRILLIC SMALL LETTER REVERSED DZE
-A646 CYRILLIC CAPITAL LETTER IOTA
-A647 CYRILLIC SMALL LETTER IOTA
-A648 CYRILLIC CAPITAL LETTER DJERV
-A649 CYRILLIC SMALL LETTER DJERV
-A64A CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64B CYRILLIC SMALL LETTER MONOGRAPH UK
-A64C CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64D CYRILLIC SMALL LETTER BROAD OMEGA
-A64E CYRILLIC CAPITAL LETTER NEUTRAL YER
-A64F CYRILLIC SMALL LETTER NEUTRAL YER
-A650 CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A651 CYRILLIC SMALL LETTER YERU WITH BACK YER
-A652 CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A653 CYRILLIC SMALL LETTER IOTIFIED YAT
-A654 CYRILLIC CAPITAL LETTER REVERSED YU
-A655 CYRILLIC SMALL LETTER REVERSED YU
-A656 CYRILLIC CAPITAL LETTER IOTIFIED A
-A657 CYRILLIC SMALL LETTER IOTIFIED A
-A658 CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A659 CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65A CYRILLIC CAPITAL LETTER BLENDED YUS
-A65B CYRILLIC SMALL LETTER BLENDED YUS
-A65C CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65D CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E CYRILLIC CAPITAL LETTER YN
-A65F CYRILLIC SMALL LETTER YN
-A662 CYRILLIC CAPITAL LETTER SOFT DE
-A663 CYRILLIC SMALL LETTER SOFT DE
-A664 CYRILLIC CAPITAL LETTER SOFT EL
-A665 CYRILLIC SMALL LETTER SOFT EL
-A666 CYRILLIC CAPITAL LETTER SOFT EM
-A667 CYRILLIC SMALL LETTER SOFT EM
-A668 CYRILLIC CAPITAL LETTER MONOCULAR O
-A669 CYRILLIC SMALL LETTER MONOCULAR O
-A66A CYRILLIC CAPITAL LETTER BINOCULAR O
-A66B CYRILLIC SMALL LETTER BINOCULAR O
-A66C CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A66D CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E CYRILLIC LETTER MULTIOCULAR O
-A66F COMBINING CYRILLIC VZMET
-A670 COMBINING CYRILLIC TEN MILLIONS SIGN
-A671 COMBINING CYRILLIC HUNDRED MILLIONS SIGN
-A672 COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673 SLAVONIC ASTERISK
-A67C COMBINING CYRILLIC KAVYKA
-A67D COMBINING CYRILLIC PAYEROK
-A67E CYRILLIC KAVYKA
-A67F CYRILLIC PAYEROK
-A680 CYRILLIC CAPITAL LETTER DWE
-A681 CYRILLIC SMALL LETTER DWE
-A682 CYRILLIC CAPITAL LETTER DZWE
-A683 CYRILLIC SMALL LETTER DZWE
-A684 CYRILLIC CAPITAL LETTER ZHWE
-A685 CYRILLIC SMALL LETTER ZHWE
-A686 CYRILLIC CAPITAL LETTER CCHE
-A687 CYRILLIC SMALL LETTER CCHE
-A688 CYRILLIC CAPITAL LETTER DZZE
-A689 CYRILLIC SMALL LETTER DZZE
-A68A CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68B CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68C CYRILLIC CAPITAL LETTER TWE
-A68D CYRILLIC SMALL LETTER TWE
-A68E CYRILLIC CAPITAL LETTER TSWE
-A68F CYRILLIC SMALL LETTER TSWE
-A690 CYRILLIC CAPITAL LETTER TSSE
-A691 CYRILLIC SMALL LETTER TSSE
-A692 CYRILLIC CAPITAL LETTER TCHE
-A693 CYRILLIC SMALL LETTER TCHE
-A694 CYRILLIC CAPITAL LETTER HWE
-A695 CYRILLIC SMALL LETTER HWE
-A696 CYRILLIC CAPITAL LETTER SHWE
-A697 CYRILLIC SMALL LETTER SHWE
-A6A0 BAMUM LETTER A
-A6A1 BAMUM LETTER KA
-A6A2 BAMUM LETTER U
-A6A3 BAMUM LETTER KU
-A6A4 BAMUM LETTER EE
-A6A5 BAMUM LETTER REE
-A6A6 BAMUM LETTER TAE
-A6A7 BAMUM LETTER O
-A6A8 BAMUM LETTER NYI
-A6A9 BAMUM LETTER I
-A6AA BAMUM LETTER LA
-A6AB BAMUM LETTER PA
-A6AC BAMUM LETTER RII
-A6AD BAMUM LETTER RIEE
-A6AE BAMUM LETTER LEEEE
-A6AF BAMUM LETTER MEEEE
-A6B0 BAMUM LETTER TAA
-A6B1 BAMUM LETTER NDAA
-A6B2 BAMUM LETTER NJAEM
-A6B3 BAMUM LETTER M
-A6B4 BAMUM LETTER SUU
-A6B5 BAMUM LETTER MU
-A6B6 BAMUM LETTER SHII
-A6B7 BAMUM LETTER SI
-A6B8 BAMUM LETTER SHEUX
-A6B9 BAMUM LETTER SEUX
-A6BA BAMUM LETTER KYEE
-A6BB BAMUM LETTER KET
-A6BC BAMUM LETTER NUAE
-A6BD BAMUM LETTER NU
-A6BE BAMUM LETTER NJUAE
-A6BF BAMUM LETTER YOQ
-A6C0 BAMUM LETTER SHU
-A6C1 BAMUM LETTER YUQ
-A6C2 BAMUM LETTER YA
-A6C3 BAMUM LETTER NSHA
-A6C4 BAMUM LETTER KEUX
-A6C5 BAMUM LETTER PEUX
-A6C6 BAMUM LETTER NJEE
-A6C7 BAMUM LETTER NTEE
-A6C8 BAMUM LETTER PUE
-A6C9 BAMUM LETTER WUE
-A6CA BAMUM LETTER PEE
-A6CB BAMUM LETTER FEE
-A6CC BAMUM LETTER RU
-A6CD BAMUM LETTER LU
-A6CE BAMUM LETTER MI
-A6CF BAMUM LETTER NI
-A6D0 BAMUM LETTER REUX
-A6D1 BAMUM LETTER RAE
-A6D2 BAMUM LETTER KEN
-A6D3 BAMUM LETTER NGKWAEN
-A6D4 BAMUM LETTER NGGA
-A6D5 BAMUM LETTER NGA
-A6D6 BAMUM LETTER SHO
-A6D7 BAMUM LETTER PUAE
-A6D8 BAMUM LETTER FU
-A6D9 BAMUM LETTER FOM
-A6DA BAMUM LETTER WA
-A6DB BAMUM LETTER NA
-A6DC BAMUM LETTER LI
-A6DD BAMUM LETTER PI
-A6DE BAMUM LETTER LOQ
-A6DF BAMUM LETTER KO
-A6E0 BAMUM LETTER MBEN
-A6E1 BAMUM LETTER REN
-A6E2 BAMUM LETTER MEN
-A6E3 BAMUM LETTER MA
-A6E4 BAMUM LETTER TI
-A6E5 BAMUM LETTER KI
-A6E6 BAMUM LETTER MO
-A6E7 BAMUM LETTER MBAA
-A6E8 BAMUM LETTER TET
-A6E9 BAMUM LETTER KPA
-A6EA BAMUM LETTER TEN
-A6EB BAMUM LETTER NTUU
-A6EC BAMUM LETTER SAMBA
-A6ED BAMUM LETTER FAAMAE
-A6EE BAMUM LETTER KOVUU
-A6EF BAMUM LETTER KOGHOM
-A6F0 BAMUM COMBINING MARK KOQNDON
-A6F1 BAMUM COMBINING MARK TUKWENTIS
-A6F2 BAMUM NJAEMLI
-A6F3 BAMUM FULL STOP
-A6F4 BAMUM COLON
-A6F5 BAMUM COMMA
-A6F6 BAMUM SEMICOLON
-A6F7 BAMUM QUESTION MARK
-A700 MODIFIER LETTER CHINESE TONE YIN PING
-A701 MODIFIER LETTER CHINESE TONE YANG PING
-A702 MODIFIER LETTER CHINESE TONE YIN SHANG
-A703 MODIFIER LETTER CHINESE TONE YANG SHANG
-A704 MODIFIER LETTER CHINESE TONE YIN QU
-A705 MODIFIER LETTER CHINESE TONE YANG QU
-A706 MODIFIER LETTER CHINESE TONE YIN RU
-A707 MODIFIER LETTER CHINESE TONE YANG RU
-A708 MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709 MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A MODIFIER LETTER MID DOTTED TONE BAR
-A70B MODIFIER LETTER LOW DOTTED TONE BAR
-A70C MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710 MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711 MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712 MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713 MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714 MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715 MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716 MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717 MODIFIER LETTER DOT VERTICAL BAR
-A718 MODIFIER LETTER DOT SLASH
-A719 MODIFIER LETTER DOT HORIZONTAL BAR
-A71A MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B MODIFIER LETTER RAISED UP ARROW
-A71C MODIFIER LETTER RAISED DOWN ARROW
-A71D MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720 MODIFIER LETTER STRESS AND HIGH TONE
-A721 MODIFIER LETTER STRESS AND LOW TONE
-A722 LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A723 LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A724 LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A725 LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A726 LATIN CAPITAL LETTER HENG
-A727 LATIN SMALL LETTER HENG
-A728 LATIN CAPITAL LETTER TZ
-A729 LATIN SMALL LETTER TZ
-A72A LATIN CAPITAL LETTER TRESILLO
-A72B LATIN SMALL LETTER TRESILLO
-A72C LATIN CAPITAL LETTER CUATRILLO
-A72D LATIN SMALL LETTER CUATRILLO
-A72E LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A72F LATIN SMALL LETTER CUATRILLO WITH COMMA
-A730 LATIN LETTER SMALL CAPITAL F
-A731 LATIN LETTER SMALL CAPITAL S
-A732 LATIN CAPITAL LETTER AA
-A733 LATIN SMALL LETTER AA
-A734 LATIN CAPITAL LETTER AO
-A735 LATIN SMALL LETTER AO
-A736 LATIN CAPITAL LETTER AU
-A737 LATIN SMALL LETTER AU
-A738 LATIN CAPITAL LETTER AV
-A739 LATIN SMALL LETTER AV
-A73A LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73B LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73C LATIN CAPITAL LETTER AY
-A73D LATIN SMALL LETTER AY
-A73E LATIN CAPITAL LETTER REVERSED C WITH DOT
-A73F LATIN SMALL LETTER REVERSED C WITH DOT
-A740 LATIN CAPITAL LETTER K WITH STROKE
-A741 LATIN SMALL LETTER K WITH STROKE
-A742 LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A743 LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A744 LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A745 LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 LATIN CAPITAL LETTER BROKEN L
-A747 LATIN SMALL LETTER BROKEN L
-A748 LATIN CAPITAL LETTER L WITH HIGH STROKE
-A749 LATIN SMALL LETTER L WITH HIGH STROKE
-A74A LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74B LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74C LATIN CAPITAL LETTER O WITH LOOP
-A74D LATIN SMALL LETTER O WITH LOOP
-A74E LATIN CAPITAL LETTER OO
-A74F LATIN SMALL LETTER OO
-A750 LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A751 LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A752 LATIN CAPITAL LETTER P WITH FLOURISH
-A753 LATIN SMALL LETTER P WITH FLOURISH
-A754 LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A755 LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A756 LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A757 LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A759 LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75A LATIN CAPITAL LETTER R ROTUNDA
-A75B LATIN SMALL LETTER R ROTUNDA
-A75C LATIN CAPITAL LETTER RUM ROTUNDA
-A75D LATIN SMALL LETTER RUM ROTUNDA
-A75E LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A75F LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A760 LATIN CAPITAL LETTER VY
-A761 LATIN SMALL LETTER VY
-A762 LATIN CAPITAL LETTER VISIGOTHIC Z
-A763 LATIN SMALL LETTER VISIGOTHIC Z
-A764 LATIN CAPITAL LETTER THORN WITH STROKE
-A765 LATIN SMALL LETTER THORN WITH STROKE
-A766 LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A767 LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 LATIN CAPITAL LETTER VEND
-A769 LATIN SMALL LETTER VEND
-A76A LATIN CAPITAL LETTER ET
-A76B LATIN SMALL LETTER ET
-A76C LATIN CAPITAL LETTER IS
-A76D LATIN SMALL LETTER IS
-A76E LATIN CAPITAL LETTER CON
-A76F LATIN SMALL LETTER CON
-A770 MODIFIER LETTER US
-A771 LATIN SMALL LETTER DUM
-A772 LATIN SMALL LETTER LUM
-A773 LATIN SMALL LETTER MUM
-A774 LATIN SMALL LETTER NUM
-A775 LATIN SMALL LETTER RUM
-A776 LATIN LETTER SMALL CAPITAL RUM
-A777 LATIN SMALL LETTER TUM
-A778 LATIN SMALL LETTER UM
-A779 LATIN CAPITAL LETTER INSULAR D
-A77A LATIN SMALL LETTER INSULAR D
-A77B LATIN CAPITAL LETTER INSULAR F
-A77C LATIN SMALL LETTER INSULAR F
-A77D LATIN CAPITAL LETTER INSULAR G
-A77E LATIN CAPITAL LETTER TURNED INSULAR G
-A77F LATIN SMALL LETTER TURNED INSULAR G
-A780 LATIN CAPITAL LETTER TURNED L
-A781 LATIN SMALL LETTER TURNED L
-A782 LATIN CAPITAL LETTER INSULAR R
-A783 LATIN SMALL LETTER INSULAR R
-A784 LATIN CAPITAL LETTER INSULAR S
-A785 LATIN SMALL LETTER INSULAR S
-A786 LATIN CAPITAL LETTER INSULAR T
-A787 LATIN SMALL LETTER INSULAR T
-A788 MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789 MODIFIER LETTER COLON
-A78A MODIFIER LETTER SHORT EQUALS SIGN
-A78B LATIN CAPITAL LETTER SALTILLO
-A78C LATIN SMALL LETTER SALTILLO
-A7FB LATIN EPIGRAPHIC LETTER REVERSED F
-A7FC LATIN EPIGRAPHIC LETTER REVERSED P
-A7FD LATIN EPIGRAPHIC LETTER INVERTED M
-A7FE LATIN EPIGRAPHIC LETTER I LONGA
-A7FF LATIN EPIGRAPHIC LETTER ARCHAIC M
-A800 SYLOTI NAGRI LETTER A
-A801 SYLOTI NAGRI LETTER I
-A802 SYLOTI NAGRI SIGN DVISVARA
-A803 SYLOTI NAGRI LETTER U
-A804 SYLOTI NAGRI LETTER E
-A805 SYLOTI NAGRI LETTER O
-A806 SYLOTI NAGRI SIGN HASANTA
-A807 SYLOTI NAGRI LETTER KO
-A808 SYLOTI NAGRI LETTER KHO
-A809 SYLOTI NAGRI LETTER GO
-A80A SYLOTI NAGRI LETTER GHO
-A80B SYLOTI NAGRI SIGN ANUSVARA
-A80C SYLOTI NAGRI LETTER CO
-A80D SYLOTI NAGRI LETTER CHO
-A80E SYLOTI NAGRI LETTER JO
-A80F SYLOTI NAGRI LETTER JHO
-A810 SYLOTI NAGRI LETTER TTO
-A811 SYLOTI NAGRI LETTER TTHO
-A812 SYLOTI NAGRI LETTER DDO
-A813 SYLOTI NAGRI LETTER DDHO
-A814 SYLOTI NAGRI LETTER TO
-A815 SYLOTI NAGRI LETTER THO
-A816 SYLOTI NAGRI LETTER DO
-A817 SYLOTI NAGRI LETTER DHO
-A818 SYLOTI NAGRI LETTER NO
-A819 SYLOTI NAGRI LETTER PO
-A81A SYLOTI NAGRI LETTER PHO
-A81B SYLOTI NAGRI LETTER BO
-A81C SYLOTI NAGRI LETTER BHO
-A81D SYLOTI NAGRI LETTER MO
-A81E SYLOTI NAGRI LETTER RO
-A81F SYLOTI NAGRI LETTER LO
-A820 SYLOTI NAGRI LETTER RRO
-A821 SYLOTI NAGRI LETTER SO
-A822 SYLOTI NAGRI LETTER HO
-A823 SYLOTI NAGRI VOWEL SIGN A
-A824 SYLOTI NAGRI VOWEL SIGN I
-A825 SYLOTI NAGRI VOWEL SIGN U
-A826 SYLOTI NAGRI VOWEL SIGN E
-A827 SYLOTI NAGRI VOWEL SIGN OO
-A828 SYLOTI NAGRI POETRY MARK-1
-A829 SYLOTI NAGRI POETRY MARK-2
-A82A SYLOTI NAGRI POETRY MARK-3
-A82B SYLOTI NAGRI POETRY MARK-4
-A830 NORTH INDIC FRACTION ONE QUARTER
-A831 NORTH INDIC FRACTION ONE HALF
-A832 NORTH INDIC FRACTION THREE QUARTERS
-A833 NORTH INDIC FRACTION ONE SIXTEENTH
-A834 NORTH INDIC FRACTION ONE EIGHTH
-A835 NORTH INDIC FRACTION THREE SIXTEENTHS
-A836 NORTH INDIC QUARTER MARK
-A837 NORTH INDIC PLACEHOLDER MARK
-A838 NORTH INDIC RUPEE MARK
-A839 NORTH INDIC QUANTITY MARK
-A840 PHAGS-PA LETTER KA
-A841 PHAGS-PA LETTER KHA
-A842 PHAGS-PA LETTER GA
-A843 PHAGS-PA LETTER NGA
-A844 PHAGS-PA LETTER CA
-A845 PHAGS-PA LETTER CHA
-A846 PHAGS-PA LETTER JA
-A847 PHAGS-PA LETTER NYA
-A848 PHAGS-PA LETTER TA
-A849 PHAGS-PA LETTER THA
-A84A PHAGS-PA LETTER DA
-A84B PHAGS-PA LETTER NA
-A84C PHAGS-PA LETTER PA
-A84D PHAGS-PA LETTER PHA
-A84E PHAGS-PA LETTER BA
-A84F PHAGS-PA LETTER MA
-A850 PHAGS-PA LETTER TSA
-A851 PHAGS-PA LETTER TSHA
-A852 PHAGS-PA LETTER DZA
-A853 PHAGS-PA LETTER WA
-A854 PHAGS-PA LETTER ZHA
-A855 PHAGS-PA LETTER ZA
-A856 PHAGS-PA LETTER SMALL A
-A857 PHAGS-PA LETTER YA
-A858 PHAGS-PA LETTER RA
-A859 PHAGS-PA LETTER LA
-A85A PHAGS-PA LETTER SHA
-A85B PHAGS-PA LETTER SA
-A85C PHAGS-PA LETTER HA
-A85D PHAGS-PA LETTER A
-A85E PHAGS-PA LETTER I
-A85F PHAGS-PA LETTER U
-A860 PHAGS-PA LETTER E
-A861 PHAGS-PA LETTER O
-A862 PHAGS-PA LETTER QA
-A863 PHAGS-PA LETTER XA
-A864 PHAGS-PA LETTER FA
-A865 PHAGS-PA LETTER GGA
-A866 PHAGS-PA LETTER EE
-A867 PHAGS-PA SUBJOINED LETTER WA
-A868 PHAGS-PA SUBJOINED LETTER YA
-A869 PHAGS-PA LETTER TTA
-A86A PHAGS-PA LETTER TTHA
-A86B PHAGS-PA LETTER DDA
-A86C PHAGS-PA LETTER NNA
-A86D PHAGS-PA LETTER ALTERNATE YA
-A86E PHAGS-PA LETTER VOICELESS SHA
-A86F PHAGS-PA LETTER VOICED HA
-A870 PHAGS-PA LETTER ASPIRATED FA
-A871 PHAGS-PA SUBJOINED LETTER RA
-A872 PHAGS-PA SUPERFIXED LETTER RA
-A873 PHAGS-PA LETTER CANDRABINDU
-A874 PHAGS-PA SINGLE HEAD MARK
-A875 PHAGS-PA DOUBLE HEAD MARK
-A876 PHAGS-PA MARK SHAD
-A877 PHAGS-PA MARK DOUBLE SHAD
-A880 SAURASHTRA SIGN ANUSVARA
-A881 SAURASHTRA SIGN VISARGA
-A882 SAURASHTRA LETTER A
-A883 SAURASHTRA LETTER AA
-A884 SAURASHTRA LETTER I
-A885 SAURASHTRA LETTER II
-A886 SAURASHTRA LETTER U
-A887 SAURASHTRA LETTER UU
-A888 SAURASHTRA LETTER VOCALIC R
-A889 SAURASHTRA LETTER VOCALIC RR
-A88A SAURASHTRA LETTER VOCALIC L
-A88B SAURASHTRA LETTER VOCALIC LL
-A88C SAURASHTRA LETTER E
-A88D SAURASHTRA LETTER EE
-A88E SAURASHTRA LETTER AI
-A88F SAURASHTRA LETTER O
-A890 SAURASHTRA LETTER OO
-A891 SAURASHTRA LETTER AU
-A892 SAURASHTRA LETTER KA
-A893 SAURASHTRA LETTER KHA
-A894 SAURASHTRA LETTER GA
-A895 SAURASHTRA LETTER GHA
-A896 SAURASHTRA LETTER NGA
-A897 SAURASHTRA LETTER CA
-A898 SAURASHTRA LETTER CHA
-A899 SAURASHTRA LETTER JA
-A89A SAURASHTRA LETTER JHA
-A89B SAURASHTRA LETTER NYA
-A89C SAURASHTRA LETTER TTA
-A89D SAURASHTRA LETTER TTHA
-A89E SAURASHTRA LETTER DDA
-A89F SAURASHTRA LETTER DDHA
-A8A0 SAURASHTRA LETTER NNA
-A8A1 SAURASHTRA LETTER TA
-A8A2 SAURASHTRA LETTER THA
-A8A3 SAURASHTRA LETTER DA
-A8A4 SAURASHTRA LETTER DHA
-A8A5 SAURASHTRA LETTER NA
-A8A6 SAURASHTRA LETTER PA
-A8A7 SAURASHTRA LETTER PHA
-A8A8 SAURASHTRA LETTER BA
-A8A9 SAURASHTRA LETTER BHA
-A8AA SAURASHTRA LETTER MA
-A8AB SAURASHTRA LETTER YA
-A8AC SAURASHTRA LETTER RA
-A8AD SAURASHTRA LETTER LA
-A8AE SAURASHTRA LETTER VA
-A8AF SAURASHTRA LETTER SHA
-A8B0 SAURASHTRA LETTER SSA
-A8B1 SAURASHTRA LETTER SA
-A8B2 SAURASHTRA LETTER HA
-A8B3 SAURASHTRA LETTER LLA
-A8B4 SAURASHTRA CONSONANT SIGN HAARU
-A8B5 SAURASHTRA VOWEL SIGN AA
-A8B6 SAURASHTRA VOWEL SIGN I
-A8B7 SAURASHTRA VOWEL SIGN II
-A8B8 SAURASHTRA VOWEL SIGN U
-A8B9 SAURASHTRA VOWEL SIGN UU
-A8BA SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE SAURASHTRA VOWEL SIGN E
-A8BF SAURASHTRA VOWEL SIGN EE
-A8C0 SAURASHTRA VOWEL SIGN AI
-A8C1 SAURASHTRA VOWEL SIGN O
-A8C2 SAURASHTRA VOWEL SIGN OO
-A8C3 SAURASHTRA VOWEL SIGN AU
-A8C4 SAURASHTRA SIGN VIRAMA
-A8CE SAURASHTRA DANDA
-A8CF SAURASHTRA DOUBLE DANDA
-A8D0 SAURASHTRA DIGIT ZERO
-A8D1 SAURASHTRA DIGIT ONE
-A8D2 SAURASHTRA DIGIT TWO
-A8D3 SAURASHTRA DIGIT THREE
-A8D4 SAURASHTRA DIGIT FOUR
-A8D5 SAURASHTRA DIGIT FIVE
-A8D6 SAURASHTRA DIGIT SIX
-A8D7 SAURASHTRA DIGIT SEVEN
-A8D8 SAURASHTRA DIGIT EIGHT
-A8D9 SAURASHTRA DIGIT NINE
-A8E0 COMBINING DEVANAGARI DIGIT ZERO
-A8E1 COMBINING DEVANAGARI DIGIT ONE
-A8E2 COMBINING DEVANAGARI DIGIT TWO
-A8E3 COMBINING DEVANAGARI DIGIT THREE
-A8E4 COMBINING DEVANAGARI DIGIT FOUR
-A8E5 COMBINING DEVANAGARI DIGIT FIVE
-A8E6 COMBINING DEVANAGARI DIGIT SIX
-A8E7 COMBINING DEVANAGARI DIGIT SEVEN
-A8E8 COMBINING DEVANAGARI DIGIT EIGHT
-A8E9 COMBINING DEVANAGARI DIGIT NINE
-A8EA COMBINING DEVANAGARI LETTER A
-A8EB COMBINING DEVANAGARI LETTER U
-A8EC COMBINING DEVANAGARI LETTER KA
-A8ED COMBINING DEVANAGARI LETTER NA
-A8EE COMBINING DEVANAGARI LETTER PA
-A8EF COMBINING DEVANAGARI LETTER RA
-A8F0 COMBINING DEVANAGARI LETTER VI
-A8F1 COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2 DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3 DEVANAGARI SIGN CANDRABINDU VIRAMA
-A8F4 DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
-A8F5 DEVANAGARI SIGN CANDRABINDU TWO
-A8F6 DEVANAGARI SIGN CANDRABINDU THREE
-A8F7 DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8 DEVANAGARI SIGN PUSHPIKA
-A8F9 DEVANAGARI GAP FILLER
-A8FA DEVANAGARI CARET
-A8FB DEVANAGARI HEADSTROKE
-A900 KAYAH LI DIGIT ZERO
-A901 KAYAH LI DIGIT ONE
-A902 KAYAH LI DIGIT TWO
-A903 KAYAH LI DIGIT THREE
-A904 KAYAH LI DIGIT FOUR
-A905 KAYAH LI DIGIT FIVE
-A906 KAYAH LI DIGIT SIX
-A907 KAYAH LI DIGIT SEVEN
-A908 KAYAH LI DIGIT EIGHT
-A909 KAYAH LI DIGIT NINE
-A90A KAYAH LI LETTER KA
-A90B KAYAH LI LETTER KHA
-A90C KAYAH LI LETTER GA
-A90D KAYAH LI LETTER NGA
-A90E KAYAH LI LETTER SA
-A90F KAYAH LI LETTER SHA
-A910 KAYAH LI LETTER ZA
-A911 KAYAH LI LETTER NYA
-A912 KAYAH LI LETTER TA
-A913 KAYAH LI LETTER HTA
-A914 KAYAH LI LETTER NA
-A915 KAYAH LI LETTER PA
-A916 KAYAH LI LETTER PHA
-A917 KAYAH LI LETTER MA
-A918 KAYAH LI LETTER DA
-A919 KAYAH LI LETTER BA
-A91A KAYAH LI LETTER RA
-A91B KAYAH LI LETTER YA
-A91C KAYAH LI LETTER LA
-A91D KAYAH LI LETTER WA
-A91E KAYAH LI LETTER THA
-A91F KAYAH LI LETTER HA
-A920 KAYAH LI LETTER VA
-A921 KAYAH LI LETTER CA
-A922 KAYAH LI LETTER A
-A923 KAYAH LI LETTER OE
-A924 KAYAH LI LETTER I
-A925 KAYAH LI LETTER OO
-A926 KAYAH LI VOWEL UE
-A927 KAYAH LI VOWEL E
-A928 KAYAH LI VOWEL U
-A929 KAYAH LI VOWEL EE
-A92A KAYAH LI VOWEL O
-A92B KAYAH LI TONE PLOPHU
-A92C KAYAH LI TONE CALYA
-A92D KAYAH LI TONE CALYA PLOPHU
-A92E KAYAH LI SIGN CWI
-A92F KAYAH LI SIGN SHYA
-A930 REJANG LETTER KA
-A931 REJANG LETTER GA
-A932 REJANG LETTER NGA
-A933 REJANG LETTER TA
-A934 REJANG LETTER DA
-A935 REJANG LETTER NA
-A936 REJANG LETTER PA
-A937 REJANG LETTER BA
-A938 REJANG LETTER MA
-A939 REJANG LETTER CA
-A93A REJANG LETTER JA
-A93B REJANG LETTER NYA
-A93C REJANG LETTER SA
-A93D REJANG LETTER RA
-A93E REJANG LETTER LA
-A93F REJANG LETTER YA
-A940 REJANG LETTER WA
-A941 REJANG LETTER HA
-A942 REJANG LETTER MBA
-A943 REJANG LETTER NGGA
-A944 REJANG LETTER NDA
-A945 REJANG LETTER NYJA
-A946 REJANG LETTER A
-A947 REJANG VOWEL SIGN I
-A948 REJANG VOWEL SIGN U
-A949 REJANG VOWEL SIGN E
-A94A REJANG VOWEL SIGN AI
-A94B REJANG VOWEL SIGN O
-A94C REJANG VOWEL SIGN AU
-A94D REJANG VOWEL SIGN EU
-A94E REJANG VOWEL SIGN EA
-A94F REJANG CONSONANT SIGN NG
-A950 REJANG CONSONANT SIGN N
-A951 REJANG CONSONANT SIGN R
-A952 REJANG CONSONANT SIGN H
-A953 REJANG VIRAMA
-A95F REJANG SECTION MARK
-A960 HANGUL CHOSEONG TIKEUT-MIEUM
-A961 HANGUL CHOSEONG TIKEUT-PIEUP
-A962 HANGUL CHOSEONG TIKEUT-SIOS
-A963 HANGUL CHOSEONG TIKEUT-CIEUC
-A964 HANGUL CHOSEONG RIEUL-KIYEOK
-A965 HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966 HANGUL CHOSEONG RIEUL-TIKEUT
-A967 HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968 HANGUL CHOSEONG RIEUL-MIEUM
-A969 HANGUL CHOSEONG RIEUL-PIEUP
-A96A HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C HANGUL CHOSEONG RIEUL-SIOS
-A96D HANGUL CHOSEONG RIEUL-CIEUC
-A96E HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F HANGUL CHOSEONG MIEUM-KIYEOK
-A970 HANGUL CHOSEONG MIEUM-TIKEUT
-A971 HANGUL CHOSEONG MIEUM-SIOS
-A972 HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973 HANGUL CHOSEONG PIEUP-KHIEUKH
-A974 HANGUL CHOSEONG PIEUP-HIEUH
-A975 HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976 HANGUL CHOSEONG IEUNG-RIEUL
-A977 HANGUL CHOSEONG IEUNG-HIEUH
-A978 HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979 HANGUL CHOSEONG SSANGTHIEUTH
-A97A HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B HANGUL CHOSEONG HIEUH-SIOS
-A97C HANGUL CHOSEONG SSANGYEORINHIEUH
-A980 JAVANESE SIGN PANYANGGA
-A981 JAVANESE SIGN CECAK
-A982 JAVANESE SIGN LAYAR
-A983 JAVANESE SIGN WIGNYAN
-A984 JAVANESE LETTER A
-A985 JAVANESE LETTER I KAWI
-A986 JAVANESE LETTER I
-A987 JAVANESE LETTER II
-A988 JAVANESE LETTER U
-A989 JAVANESE LETTER PA CEREK
-A98A JAVANESE LETTER NGA LELET
-A98B JAVANESE LETTER NGA LELET RASWADI
-A98C JAVANESE LETTER E
-A98D JAVANESE LETTER AI
-A98E JAVANESE LETTER O
-A98F JAVANESE LETTER KA
-A990 JAVANESE LETTER KA SASAK
-A991 JAVANESE LETTER KA MURDA
-A992 JAVANESE LETTER GA
-A993 JAVANESE LETTER GA MURDA
-A994 JAVANESE LETTER NGA
-A995 JAVANESE LETTER CA
-A996 JAVANESE LETTER CA MURDA
-A997 JAVANESE LETTER JA
-A998 JAVANESE LETTER NYA MURDA
-A999 JAVANESE LETTER JA MAHAPRANA
-A99A JAVANESE LETTER NYA
-A99B JAVANESE LETTER TTA
-A99C JAVANESE LETTER TTA MAHAPRANA
-A99D JAVANESE LETTER DDA
-A99E JAVANESE LETTER DDA MAHAPRANA
-A99F JAVANESE LETTER NA MURDA
-A9A0 JAVANESE LETTER TA
-A9A1 JAVANESE LETTER TA MURDA
-A9A2 JAVANESE LETTER DA
-A9A3 JAVANESE LETTER DA MAHAPRANA
-A9A4 JAVANESE LETTER NA
-A9A5 JAVANESE LETTER PA
-A9A6 JAVANESE LETTER PA MURDA
-A9A7 JAVANESE LETTER BA
-A9A8 JAVANESE LETTER BA MURDA
-A9A9 JAVANESE LETTER MA
-A9AA JAVANESE LETTER YA
-A9AB JAVANESE LETTER RA
-A9AC JAVANESE LETTER RA AGUNG
-A9AD JAVANESE LETTER LA
-A9AE JAVANESE LETTER WA
-A9AF JAVANESE LETTER SA MURDA
-A9B0 JAVANESE LETTER SA MAHAPRANA
-A9B1 JAVANESE LETTER SA
-A9B2 JAVANESE LETTER HA
-A9B3 JAVANESE SIGN CECAK TELU
-A9B4 JAVANESE VOWEL SIGN TARUNG
-A9B5 JAVANESE VOWEL SIGN TOLONG
-A9B6 JAVANESE VOWEL SIGN WULU
-A9B7 JAVANESE VOWEL SIGN WULU MELIK
-A9B8 JAVANESE VOWEL SIGN SUKU
-A9B9 JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA JAVANESE VOWEL SIGN TALING
-A9BB JAVANESE VOWEL SIGN DIRGA MURE
-A9BC JAVANESE VOWEL SIGN PEPET
-A9BD JAVANESE CONSONANT SIGN KERET
-A9BE JAVANESE CONSONANT SIGN PENGKAL
-A9BF JAVANESE CONSONANT SIGN CAKRA
-A9C0 JAVANESE PANGKON
-A9C1 JAVANESE LEFT RERENGGAN
-A9C2 JAVANESE RIGHT RERENGGAN
-A9C3 JAVANESE PADA ANDAP
-A9C4 JAVANESE PADA MADYA
-A9C5 JAVANESE PADA LUHUR
-A9C6 JAVANESE PADA WINDU
-A9C7 JAVANESE PADA PANGKAT
-A9C8 JAVANESE PADA LINGSA
-A9C9 JAVANESE PADA LUNGSI
-A9CA JAVANESE PADA ADEG
-A9CB JAVANESE PADA ADEG ADEG
-A9CC JAVANESE PADA PISELEH
-A9CD JAVANESE TURNED PADA PISELEH
-A9CF JAVANESE PANGRANGKEP
-A9D0 JAVANESE DIGIT ZERO
-A9D1 JAVANESE DIGIT ONE
-A9D2 JAVANESE DIGIT TWO
-A9D3 JAVANESE DIGIT THREE
-A9D4 JAVANESE DIGIT FOUR
-A9D5 JAVANESE DIGIT FIVE
-A9D6 JAVANESE DIGIT SIX
-A9D7 JAVANESE DIGIT SEVEN
-A9D8 JAVANESE DIGIT EIGHT
-A9D9 JAVANESE DIGIT NINE
-A9DE JAVANESE PADA TIRTA TUMETES
-A9DF JAVANESE PADA ISEN-ISEN
-AA00 CHAM LETTER A
-AA01 CHAM LETTER I
-AA02 CHAM LETTER U
-AA03 CHAM LETTER E
-AA04 CHAM LETTER AI
-AA05 CHAM LETTER O
-AA06 CHAM LETTER KA
-AA07 CHAM LETTER KHA
-AA08 CHAM LETTER GA
-AA09 CHAM LETTER GHA
-AA0A CHAM LETTER NGUE
-AA0B CHAM LETTER NGA
-AA0C CHAM LETTER CHA
-AA0D CHAM LETTER CHHA
-AA0E CHAM LETTER JA
-AA0F CHAM LETTER JHA
-AA10 CHAM LETTER NHUE
-AA11 CHAM LETTER NHA
-AA12 CHAM LETTER NHJA
-AA13 CHAM LETTER TA
-AA14 CHAM LETTER THA
-AA15 CHAM LETTER DA
-AA16 CHAM LETTER DHA
-AA17 CHAM LETTER NUE
-AA18 CHAM LETTER NA
-AA19 CHAM LETTER DDA
-AA1A CHAM LETTER PA
-AA1B CHAM LETTER PPA
-AA1C CHAM LETTER PHA
-AA1D CHAM LETTER BA
-AA1E CHAM LETTER BHA
-AA1F CHAM LETTER MUE
-AA20 CHAM LETTER MA
-AA21 CHAM LETTER BBA
-AA22 CHAM LETTER YA
-AA23 CHAM LETTER RA
-AA24 CHAM LETTER LA
-AA25 CHAM LETTER VA
-AA26 CHAM LETTER SSA
-AA27 CHAM LETTER SA
-AA28 CHAM LETTER HA
-AA29 CHAM VOWEL SIGN AA
-AA2A CHAM VOWEL SIGN I
-AA2B CHAM VOWEL SIGN II
-AA2C CHAM VOWEL SIGN EI
-AA2D CHAM VOWEL SIGN U
-AA2E CHAM VOWEL SIGN OE
-AA2F CHAM VOWEL SIGN O
-AA30 CHAM VOWEL SIGN AI
-AA31 CHAM VOWEL SIGN AU
-AA32 CHAM VOWEL SIGN UE
-AA33 CHAM CONSONANT SIGN YA
-AA34 CHAM CONSONANT SIGN RA
-AA35 CHAM CONSONANT SIGN LA
-AA36 CHAM CONSONANT SIGN WA
-AA40 CHAM LETTER FINAL K
-AA41 CHAM LETTER FINAL G
-AA42 CHAM LETTER FINAL NG
-AA43 CHAM CONSONANT SIGN FINAL NG
-AA44 CHAM LETTER FINAL CH
-AA45 CHAM LETTER FINAL T
-AA46 CHAM LETTER FINAL N
-AA47 CHAM LETTER FINAL P
-AA48 CHAM LETTER FINAL Y
-AA49 CHAM LETTER FINAL R
-AA4A CHAM LETTER FINAL L
-AA4B CHAM LETTER FINAL SS
-AA4C CHAM CONSONANT SIGN FINAL M
-AA4D CHAM CONSONANT SIGN FINAL H
-AA50 CHAM DIGIT ZERO
-AA51 CHAM DIGIT ONE
-AA52 CHAM DIGIT TWO
-AA53 CHAM DIGIT THREE
-AA54 CHAM DIGIT FOUR
-AA55 CHAM DIGIT FIVE
-AA56 CHAM DIGIT SIX
-AA57 CHAM DIGIT SEVEN
-AA58 CHAM DIGIT EIGHT
-AA59 CHAM DIGIT NINE
-AA5C CHAM PUNCTUATION SPIRAL
-AA5D CHAM PUNCTUATION DANDA
-AA5E CHAM PUNCTUATION DOUBLE DANDA
-AA5F CHAM PUNCTUATION TRIPLE DANDA
-AA60 MYANMAR LETTER KHAMTI GA
-AA61 MYANMAR LETTER KHAMTI CA
-AA62 MYANMAR LETTER KHAMTI CHA
-AA63 MYANMAR LETTER KHAMTI JA
-AA64 MYANMAR LETTER KHAMTI JHA
-AA65 MYANMAR LETTER KHAMTI NYA
-AA66 MYANMAR LETTER KHAMTI TTA
-AA67 MYANMAR LETTER KHAMTI TTHA
-AA68 MYANMAR LETTER KHAMTI DDA
-AA69 MYANMAR LETTER KHAMTI DDHA
-AA6A MYANMAR LETTER KHAMTI DHA
-AA6B MYANMAR LETTER KHAMTI NA
-AA6C MYANMAR LETTER KHAMTI SA
-AA6D MYANMAR LETTER KHAMTI HA
-AA6E MYANMAR LETTER KHAMTI HHA
-AA6F MYANMAR LETTER KHAMTI FA
-AA70 MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71 MYANMAR LETTER KHAMTI XA
-AA72 MYANMAR LETTER KHAMTI ZA
-AA73 MYANMAR LETTER KHAMTI RA
-AA74 MYANMAR LOGOGRAM KHAMTI OAY
-AA75 MYANMAR LOGOGRAM KHAMTI QN
-AA76 MYANMAR LOGOGRAM KHAMTI HM
-AA77 MYANMAR SYMBOL AITON EXCLAMATION
-AA78 MYANMAR SYMBOL AITON ONE
-AA79 MYANMAR SYMBOL AITON TWO
-AA7A MYANMAR LETTER AITON RA
-AA7B MYANMAR SIGN PAO KAREN TONE
-AA80 TAI VIET LETTER LOW KO
-AA81 TAI VIET LETTER HIGH KO
-AA82 TAI VIET LETTER LOW KHO
-AA83 TAI VIET LETTER HIGH KHO
-AA84 TAI VIET LETTER LOW KHHO
-AA85 TAI VIET LETTER HIGH KHHO
-AA86 TAI VIET LETTER LOW GO
-AA87 TAI VIET LETTER HIGH GO
-AA88 TAI VIET LETTER LOW NGO
-AA89 TAI VIET LETTER HIGH NGO
-AA8A TAI VIET LETTER LOW CO
-AA8B TAI VIET LETTER HIGH CO
-AA8C TAI VIET LETTER LOW CHO
-AA8D TAI VIET LETTER HIGH CHO
-AA8E TAI VIET LETTER LOW SO
-AA8F TAI VIET LETTER HIGH SO
-AA90 TAI VIET LETTER LOW NYO
-AA91 TAI VIET LETTER HIGH NYO
-AA92 TAI VIET LETTER LOW DO
-AA93 TAI VIET LETTER HIGH DO
-AA94 TAI VIET LETTER LOW TO
-AA95 TAI VIET LETTER HIGH TO
-AA96 TAI VIET LETTER LOW THO
-AA97 TAI VIET LETTER HIGH THO
-AA98 TAI VIET LETTER LOW NO
-AA99 TAI VIET LETTER HIGH NO
-AA9A TAI VIET LETTER LOW BO
-AA9B TAI VIET LETTER HIGH BO
-AA9C TAI VIET LETTER LOW PO
-AA9D TAI VIET LETTER HIGH PO
-AA9E TAI VIET LETTER LOW PHO
-AA9F TAI VIET LETTER HIGH PHO
-AAA0 TAI VIET LETTER LOW FO
-AAA1 TAI VIET LETTER HIGH FO
-AAA2 TAI VIET LETTER LOW MO
-AAA3 TAI VIET LETTER HIGH MO
-AAA4 TAI VIET LETTER LOW YO
-AAA5 TAI VIET LETTER HIGH YO
-AAA6 TAI VIET LETTER LOW RO
-AAA7 TAI VIET LETTER HIGH RO
-AAA8 TAI VIET LETTER LOW LO
-AAA9 TAI VIET LETTER HIGH LO
-AAAA TAI VIET LETTER LOW VO
-AAAB TAI VIET LETTER HIGH VO
-AAAC TAI VIET LETTER LOW HO
-AAAD TAI VIET LETTER HIGH HO
-AAAE TAI VIET LETTER LOW O
-AAAF TAI VIET LETTER HIGH O
-AAB0 TAI VIET MAI KANG
-AAB1 TAI VIET VOWEL AA
-AAB2 TAI VIET VOWEL I
-AAB3 TAI VIET VOWEL UE
-AAB4 TAI VIET VOWEL U
-AAB5 TAI VIET VOWEL E
-AAB6 TAI VIET VOWEL O
-AAB7 TAI VIET MAI KHIT
-AAB8 TAI VIET VOWEL IA
-AAB9 TAI VIET VOWEL UEA
-AABA TAI VIET VOWEL UA
-AABB TAI VIET VOWEL AUE
-AABC TAI VIET VOWEL AY
-AABD TAI VIET VOWEL AN
-AABE TAI VIET VOWEL AM
-AABF TAI VIET TONE MAI EK
-AAC0 TAI VIET TONE MAI NUENG
-AAC1 TAI VIET TONE MAI THO
-AAC2 TAI VIET TONE MAI SONG
-AADB TAI VIET SYMBOL KON
-AADC TAI VIET SYMBOL NUENG
-AADD TAI VIET SYMBOL SAM
-AADE TAI VIET SYMBOL HO HOI
-AADF TAI VIET SYMBOL KOI KOI
-ABC0 MEETEI MAYEK LETTER KOK
-ABC1 MEETEI MAYEK LETTER SAM
-ABC2 MEETEI MAYEK LETTER LAI
-ABC3 MEETEI MAYEK LETTER MIT
-ABC4 MEETEI MAYEK LETTER PA
-ABC5 MEETEI MAYEK LETTER NA
-ABC6 MEETEI MAYEK LETTER CHIL
-ABC7 MEETEI MAYEK LETTER TIL
-ABC8 MEETEI MAYEK LETTER KHOU
-ABC9 MEETEI MAYEK LETTER NGOU
-ABCA MEETEI MAYEK LETTER THOU
-ABCB MEETEI MAYEK LETTER WAI
-ABCC MEETEI MAYEK LETTER YANG
-ABCD MEETEI MAYEK LETTER HUK
-ABCE MEETEI MAYEK LETTER UN
-ABCF MEETEI MAYEK LETTER I
-ABD0 MEETEI MAYEK LETTER PHAM
-ABD1 MEETEI MAYEK LETTER ATIYA
-ABD2 MEETEI MAYEK LETTER GOK
-ABD3 MEETEI MAYEK LETTER JHAM
-ABD4 MEETEI MAYEK LETTER RAI
-ABD5 MEETEI MAYEK LETTER BA
-ABD6 MEETEI MAYEK LETTER JIL
-ABD7 MEETEI MAYEK LETTER DIL
-ABD8 MEETEI MAYEK LETTER GHOU
-ABD9 MEETEI MAYEK LETTER DHOU
-ABDA MEETEI MAYEK LETTER BHAM
-ABDB MEETEI MAYEK LETTER KOK LONSUM
-ABDC MEETEI MAYEK LETTER LAI LONSUM
-ABDD MEETEI MAYEK LETTER MIT LONSUM
-ABDE MEETEI MAYEK LETTER PA LONSUM
-ABDF MEETEI MAYEK LETTER NA LONSUM
-ABE0 MEETEI MAYEK LETTER TIL LONSUM
-ABE1 MEETEI MAYEK LETTER NGOU LONSUM
-ABE2 MEETEI MAYEK LETTER I LONSUM
-ABE3 MEETEI MAYEK VOWEL SIGN ONAP
-ABE4 MEETEI MAYEK VOWEL SIGN INAP
-ABE5 MEETEI MAYEK VOWEL SIGN ANAP
-ABE6 MEETEI MAYEK VOWEL SIGN YENAP
-ABE7 MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 MEETEI MAYEK VOWEL SIGN UNAP
-ABE9 MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA MEETEI MAYEK VOWEL SIGN NUNG
-ABEB MEETEI MAYEK CHEIKHEI
-ABEC MEETEI MAYEK LUM IYEK
-ABED MEETEI MAYEK APUN IYEK
-ABF0 MEETEI MAYEK DIGIT ZERO
-ABF1 MEETEI MAYEK DIGIT ONE
-ABF2 MEETEI MAYEK DIGIT TWO
-ABF3 MEETEI MAYEK DIGIT THREE
-ABF4 MEETEI MAYEK DIGIT FOUR
-ABF5 MEETEI MAYEK DIGIT FIVE
-ABF6 MEETEI MAYEK DIGIT SIX
-ABF7 MEETEI MAYEK DIGIT SEVEN
-ABF8 MEETEI MAYEK DIGIT EIGHT
-ABF9 MEETEI MAYEK DIGIT NINE
-D7B0 HANGUL JUNGSEONG O-YEO
-D7B1 HANGUL JUNGSEONG O-O-I
-D7B2 HANGUL JUNGSEONG YO-A
-D7B3 HANGUL JUNGSEONG YO-AE
-D7B4 HANGUL JUNGSEONG YO-EO
-D7B5 HANGUL JUNGSEONG U-YEO
-D7B6 HANGUL JUNGSEONG U-I-I
-D7B7 HANGUL JUNGSEONG YU-AE
-D7B8 HANGUL JUNGSEONG YU-O
-D7B9 HANGUL JUNGSEONG EU-A
-D7BA HANGUL JUNGSEONG EU-EO
-D7BB HANGUL JUNGSEONG EU-E
-D7BC HANGUL JUNGSEONG EU-O
-D7BD HANGUL JUNGSEONG I-YA-O
-D7BE HANGUL JUNGSEONG I-YAE
-D7BF HANGUL JUNGSEONG I-YEO
-D7C0 HANGUL JUNGSEONG I-YE
-D7C1 HANGUL JUNGSEONG I-O-I
-D7C2 HANGUL JUNGSEONG I-YO
-D7C3 HANGUL JUNGSEONG I-YU
-D7C4 HANGUL JUNGSEONG I-I
-D7C5 HANGUL JUNGSEONG ARAEA-A
-D7C6 HANGUL JUNGSEONG ARAEA-E
-D7CB HANGUL JONGSEONG NIEUN-RIEUL
-D7CC HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD HANGUL JONGSEONG SSANGTIKEUT
-D7CE HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0 HANGUL JONGSEONG TIKEUT-SIOS
-D7D1 HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2 HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3 HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4 HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5 HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6 HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7 HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8 HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9 HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE HANGUL JONGSEONG MIEUM-NIEUN
-D7DF HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0 HANGUL JONGSEONG SSANGMIEUM
-D7E1 HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2 HANGUL JONGSEONG MIEUM-CIEUC
-D7E3 HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4 HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5 HANGUL JONGSEONG PIEUP-MIEUM
-D7E6 HANGUL JONGSEONG SSANGPIEUP
-D7E7 HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8 HANGUL JONGSEONG PIEUP-CIEUC
-D7E9 HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA HANGUL JONGSEONG SIOS-MIEUM
-D7EB HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE HANGUL JONGSEONG SIOS-PANSIOS
-D7EF HANGUL JONGSEONG SIOS-CIEUC
-D7F0 HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1 HANGUL JONGSEONG SIOS-THIEUTH
-D7F2 HANGUL JONGSEONG SIOS-HIEUH
-D7F3 HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4 HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5 HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6 HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7 HANGUL JONGSEONG CIEUC-PIEUP
-D7F8 HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9 HANGUL JONGSEONG SSANGCIEUC
-D7FA HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900 CJK COMPATIBILITY IDEOGRAPH-F900
-F901 CJK COMPATIBILITY IDEOGRAPH-F901
-F902 CJK COMPATIBILITY IDEOGRAPH-F902
-F903 CJK COMPATIBILITY IDEOGRAPH-F903
-F904 CJK COMPATIBILITY IDEOGRAPH-F904
-F905 CJK COMPATIBILITY IDEOGRAPH-F905
-F906 CJK COMPATIBILITY IDEOGRAPH-F906
-F907 CJK COMPATIBILITY IDEOGRAPH-F907
-F908 CJK COMPATIBILITY IDEOGRAPH-F908
-F909 CJK COMPATIBILITY IDEOGRAPH-F909
-F90A CJK COMPATIBILITY IDEOGRAPH-F90A
-F90B CJK COMPATIBILITY IDEOGRAPH-F90B
-F90C CJK COMPATIBILITY IDEOGRAPH-F90C
-F90D CJK COMPATIBILITY IDEOGRAPH-F90D
-F90E CJK COMPATIBILITY IDEOGRAPH-F90E
-F90F CJK COMPATIBILITY IDEOGRAPH-F90F
-F910 CJK COMPATIBILITY IDEOGRAPH-F910
-F911 CJK COMPATIBILITY IDEOGRAPH-F911
-F912 CJK COMPATIBILITY IDEOGRAPH-F912
-F913 CJK COMPATIBILITY IDEOGRAPH-F913
-F914 CJK COMPATIBILITY IDEOGRAPH-F914
-F915 CJK COMPATIBILITY IDEOGRAPH-F915
-F916 CJK COMPATIBILITY IDEOGRAPH-F916
-F917 CJK COMPATIBILITY IDEOGRAPH-F917
-F918 CJK COMPATIBILITY IDEOGRAPH-F918
-F919 CJK COMPATIBILITY IDEOGRAPH-F919
-F91A CJK COMPATIBILITY IDEOGRAPH-F91A
-F91B CJK COMPATIBILITY IDEOGRAPH-F91B
-F91C CJK COMPATIBILITY IDEOGRAPH-F91C
-F91D CJK COMPATIBILITY IDEOGRAPH-F91D
-F91E CJK COMPATIBILITY IDEOGRAPH-F91E
-F91F CJK COMPATIBILITY IDEOGRAPH-F91F
-F920 CJK COMPATIBILITY IDEOGRAPH-F920
-F921 CJK COMPATIBILITY IDEOGRAPH-F921
-F922 CJK COMPATIBILITY IDEOGRAPH-F922
-F923 CJK COMPATIBILITY IDEOGRAPH-F923
-F924 CJK COMPATIBILITY IDEOGRAPH-F924
-F925 CJK COMPATIBILITY IDEOGRAPH-F925
-F926 CJK COMPATIBILITY IDEOGRAPH-F926
-F927 CJK COMPATIBILITY IDEOGRAPH-F927
-F928 CJK COMPATIBILITY IDEOGRAPH-F928
-F929 CJK COMPATIBILITY IDEOGRAPH-F929
-F92A CJK COMPATIBILITY IDEOGRAPH-F92A
-F92B CJK COMPATIBILITY IDEOGRAPH-F92B
-F92C CJK COMPATIBILITY IDEOGRAPH-F92C
-F92D CJK COMPATIBILITY IDEOGRAPH-F92D
-F92E CJK COMPATIBILITY IDEOGRAPH-F92E
-F92F CJK COMPATIBILITY IDEOGRAPH-F92F
-F930 CJK COMPATIBILITY IDEOGRAPH-F930
-F931 CJK COMPATIBILITY IDEOGRAPH-F931
-F932 CJK COMPATIBILITY IDEOGRAPH-F932
-F933 CJK COMPATIBILITY IDEOGRAPH-F933
-F934 CJK COMPATIBILITY IDEOGRAPH-F934
-F935 CJK COMPATIBILITY IDEOGRAPH-F935
-F936 CJK COMPATIBILITY IDEOGRAPH-F936
-F937 CJK COMPATIBILITY IDEOGRAPH-F937
-F938 CJK COMPATIBILITY IDEOGRAPH-F938
-F939 CJK COMPATIBILITY IDEOGRAPH-F939
-F93A CJK COMPATIBILITY IDEOGRAPH-F93A
-F93B CJK COMPATIBILITY IDEOGRAPH-F93B
-F93C CJK COMPATIBILITY IDEOGRAPH-F93C
-F93D CJK COMPATIBILITY IDEOGRAPH-F93D
-F93E CJK COMPATIBILITY IDEOGRAPH-F93E
-F93F CJK COMPATIBILITY IDEOGRAPH-F93F
-F940 CJK COMPATIBILITY IDEOGRAPH-F940
-F941 CJK COMPATIBILITY IDEOGRAPH-F941
-F942 CJK COMPATIBILITY IDEOGRAPH-F942
-F943 CJK COMPATIBILITY IDEOGRAPH-F943
-F944 CJK COMPATIBILITY IDEOGRAPH-F944
-F945 CJK COMPATIBILITY IDEOGRAPH-F945
-F946 CJK COMPATIBILITY IDEOGRAPH-F946
-F947 CJK COMPATIBILITY IDEOGRAPH-F947
-F948 CJK COMPATIBILITY IDEOGRAPH-F948
-F949 CJK COMPATIBILITY IDEOGRAPH-F949
-F94A CJK COMPATIBILITY IDEOGRAPH-F94A
-F94B CJK COMPATIBILITY IDEOGRAPH-F94B
-F94C CJK COMPATIBILITY IDEOGRAPH-F94C
-F94D CJK COMPATIBILITY IDEOGRAPH-F94D
-F94E CJK COMPATIBILITY IDEOGRAPH-F94E
-F94F CJK COMPATIBILITY IDEOGRAPH-F94F
-F950 CJK COMPATIBILITY IDEOGRAPH-F950
-F951 CJK COMPATIBILITY IDEOGRAPH-F951
-F952 CJK COMPATIBILITY IDEOGRAPH-F952
-F953 CJK COMPATIBILITY IDEOGRAPH-F953
-F954 CJK COMPATIBILITY IDEOGRAPH-F954
-F955 CJK COMPATIBILITY IDEOGRAPH-F955
-F956 CJK COMPATIBILITY IDEOGRAPH-F956
-F957 CJK COMPATIBILITY IDEOGRAPH-F957
-F958 CJK COMPATIBILITY IDEOGRAPH-F958
-F959 CJK COMPATIBILITY IDEOGRAPH-F959
-F95A CJK COMPATIBILITY IDEOGRAPH-F95A
-F95B CJK COMPATIBILITY IDEOGRAPH-F95B
-F95C CJK COMPATIBILITY IDEOGRAPH-F95C
-F95D CJK COMPATIBILITY IDEOGRAPH-F95D
-F95E CJK COMPATIBILITY IDEOGRAPH-F95E
-F95F CJK COMPATIBILITY IDEOGRAPH-F95F
-F960 CJK COMPATIBILITY IDEOGRAPH-F960
-F961 CJK COMPATIBILITY IDEOGRAPH-F961
-F962 CJK COMPATIBILITY IDEOGRAPH-F962
-F963 CJK COMPATIBILITY IDEOGRAPH-F963
-F964 CJK COMPATIBILITY IDEOGRAPH-F964
-F965 CJK COMPATIBILITY IDEOGRAPH-F965
-F966 CJK COMPATIBILITY IDEOGRAPH-F966
-F967 CJK COMPATIBILITY IDEOGRAPH-F967
-F968 CJK COMPATIBILITY IDEOGRAPH-F968
-F969 CJK COMPATIBILITY IDEOGRAPH-F969
-F96A CJK COMPATIBILITY IDEOGRAPH-F96A
-F96B CJK COMPATIBILITY IDEOGRAPH-F96B
-F96C CJK COMPATIBILITY IDEOGRAPH-F96C
-F96D CJK COMPATIBILITY IDEOGRAPH-F96D
-F96E CJK COMPATIBILITY IDEOGRAPH-F96E
-F96F CJK COMPATIBILITY IDEOGRAPH-F96F
-F970 CJK COMPATIBILITY IDEOGRAPH-F970
-F971 CJK COMPATIBILITY IDEOGRAPH-F971
-F972 CJK COMPATIBILITY IDEOGRAPH-F972
-F973 CJK COMPATIBILITY IDEOGRAPH-F973
-F974 CJK COMPATIBILITY IDEOGRAPH-F974
-F975 CJK COMPATIBILITY IDEOGRAPH-F975
-F976 CJK COMPATIBILITY IDEOGRAPH-F976
-F977 CJK COMPATIBILITY IDEOGRAPH-F977
-F978 CJK COMPATIBILITY IDEOGRAPH-F978
-F979 CJK COMPATIBILITY IDEOGRAPH-F979
-F97A CJK COMPATIBILITY IDEOGRAPH-F97A
-F97B CJK COMPATIBILITY IDEOGRAPH-F97B
-F97C CJK COMPATIBILITY IDEOGRAPH-F97C
-F97D CJK COMPATIBILITY IDEOGRAPH-F97D
-F97E CJK COMPATIBILITY IDEOGRAPH-F97E
-F97F CJK COMPATIBILITY IDEOGRAPH-F97F
-F980 CJK COMPATIBILITY IDEOGRAPH-F980
-F981 CJK COMPATIBILITY IDEOGRAPH-F981
-F982 CJK COMPATIBILITY IDEOGRAPH-F982
-F983 CJK COMPATIBILITY IDEOGRAPH-F983
-F984 CJK COMPATIBILITY IDEOGRAPH-F984
-F985 CJK COMPATIBILITY IDEOGRAPH-F985
-F986 CJK COMPATIBILITY IDEOGRAPH-F986
-F987 CJK COMPATIBILITY IDEOGRAPH-F987
-F988 CJK COMPATIBILITY IDEOGRAPH-F988
-F989 CJK COMPATIBILITY IDEOGRAPH-F989
-F98A CJK COMPATIBILITY IDEOGRAPH-F98A
-F98B CJK COMPATIBILITY IDEOGRAPH-F98B
-F98C CJK COMPATIBILITY IDEOGRAPH-F98C
-F98D CJK COMPATIBILITY IDEOGRAPH-F98D
-F98E CJK COMPATIBILITY IDEOGRAPH-F98E
-F98F CJK COMPATIBILITY IDEOGRAPH-F98F
-F990 CJK COMPATIBILITY IDEOGRAPH-F990
-F991 CJK COMPATIBILITY IDEOGRAPH-F991
-F992 CJK COMPATIBILITY IDEOGRAPH-F992
-F993 CJK COMPATIBILITY IDEOGRAPH-F993
-F994 CJK COMPATIBILITY IDEOGRAPH-F994
-F995 CJK COMPATIBILITY IDEOGRAPH-F995
-F996 CJK COMPATIBILITY IDEOGRAPH-F996
-F997 CJK COMPATIBILITY IDEOGRAPH-F997
-F998 CJK COMPATIBILITY IDEOGRAPH-F998
-F999 CJK COMPATIBILITY IDEOGRAPH-F999
-F99A CJK COMPATIBILITY IDEOGRAPH-F99A
-F99B CJK COMPATIBILITY IDEOGRAPH-F99B
-F99C CJK COMPATIBILITY IDEOGRAPH-F99C
-F99D CJK COMPATIBILITY IDEOGRAPH-F99D
-F99E CJK COMPATIBILITY IDEOGRAPH-F99E
-F99F CJK COMPATIBILITY IDEOGRAPH-F99F
-F9A0 CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9A1 CJK COMPATIBILITY IDEOGRAPH-F9A1
-F9A2 CJK COMPATIBILITY IDEOGRAPH-F9A2
-F9A3 CJK COMPATIBILITY IDEOGRAPH-F9A3
-F9A4 CJK COMPATIBILITY IDEOGRAPH-F9A4
-F9A5 CJK COMPATIBILITY IDEOGRAPH-F9A5
-F9A6 CJK COMPATIBILITY IDEOGRAPH-F9A6
-F9A7 CJK COMPATIBILITY IDEOGRAPH-F9A7
-F9A8 CJK COMPATIBILITY IDEOGRAPH-F9A8
-F9A9 CJK COMPATIBILITY IDEOGRAPH-F9A9
-F9AA CJK COMPATIBILITY IDEOGRAPH-F9AA
-F9AB CJK COMPATIBILITY IDEOGRAPH-F9AB
-F9AC CJK COMPATIBILITY IDEOGRAPH-F9AC
-F9AD CJK COMPATIBILITY IDEOGRAPH-F9AD
-F9AE CJK COMPATIBILITY IDEOGRAPH-F9AE
-F9AF CJK COMPATIBILITY IDEOGRAPH-F9AF
-F9B0 CJK COMPATIBILITY IDEOGRAPH-F9B0
-F9B1 CJK COMPATIBILITY IDEOGRAPH-F9B1
-F9B2 CJK COMPATIBILITY IDEOGRAPH-F9B2
-F9B3 CJK COMPATIBILITY IDEOGRAPH-F9B3
-F9B4 CJK COMPATIBILITY IDEOGRAPH-F9B4
-F9B5 CJK COMPATIBILITY IDEOGRAPH-F9B5
-F9B6 CJK COMPATIBILITY IDEOGRAPH-F9B6
-F9B7 CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9B8 CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9B9 CJK COMPATIBILITY IDEOGRAPH-F9B9
-F9BA CJK COMPATIBILITY IDEOGRAPH-F9BA
-F9BB CJK COMPATIBILITY IDEOGRAPH-F9BB
-F9BC CJK COMPATIBILITY IDEOGRAPH-F9BC
-F9BD CJK COMPATIBILITY IDEOGRAPH-F9BD
-F9BE CJK COMPATIBILITY IDEOGRAPH-F9BE
-F9BF CJK COMPATIBILITY IDEOGRAPH-F9BF
-F9C0 CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9C1 CJK COMPATIBILITY IDEOGRAPH-F9C1
-F9C2 CJK COMPATIBILITY IDEOGRAPH-F9C2
-F9C3 CJK COMPATIBILITY IDEOGRAPH-F9C3
-F9C4 CJK COMPATIBILITY IDEOGRAPH-F9C4
-F9C5 CJK COMPATIBILITY IDEOGRAPH-F9C5
-F9C6 CJK COMPATIBILITY IDEOGRAPH-F9C6
-F9C7 CJK COMPATIBILITY IDEOGRAPH-F9C7
-F9C8 CJK COMPATIBILITY IDEOGRAPH-F9C8
-F9C9 CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9CA CJK COMPATIBILITY IDEOGRAPH-F9CA
-F9CB CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9CC CJK COMPATIBILITY IDEOGRAPH-F9CC
-F9CD CJK COMPATIBILITY IDEOGRAPH-F9CD
-F9CE CJK COMPATIBILITY IDEOGRAPH-F9CE
-F9CF CJK COMPATIBILITY IDEOGRAPH-F9CF
-F9D0 CJK COMPATIBILITY IDEOGRAPH-F9D0
-F9D1 CJK COMPATIBILITY IDEOGRAPH-F9D1
-F9D2 CJK COMPATIBILITY IDEOGRAPH-F9D2
-F9D3 CJK COMPATIBILITY IDEOGRAPH-F9D3
-F9D4 CJK COMPATIBILITY IDEOGRAPH-F9D4
-F9D5 CJK COMPATIBILITY IDEOGRAPH-F9D5
-F9D6 CJK COMPATIBILITY IDEOGRAPH-F9D6
-F9D7 CJK COMPATIBILITY IDEOGRAPH-F9D7
-F9D8 CJK COMPATIBILITY IDEOGRAPH-F9D8
-F9D9 CJK COMPATIBILITY IDEOGRAPH-F9D9
-F9DA CJK COMPATIBILITY IDEOGRAPH-F9DA
-F9DB CJK COMPATIBILITY IDEOGRAPH-F9DB
-F9DC CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9DD CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9DE CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9DF CJK COMPATIBILITY IDEOGRAPH-F9DF
-F9E0 CJK COMPATIBILITY IDEOGRAPH-F9E0
-F9E1 CJK COMPATIBILITY IDEOGRAPH-F9E1
-F9E2 CJK COMPATIBILITY IDEOGRAPH-F9E2
-F9E3 CJK COMPATIBILITY IDEOGRAPH-F9E3
-F9E4 CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9E5 CJK COMPATIBILITY IDEOGRAPH-F9E5
-F9E6 CJK COMPATIBILITY IDEOGRAPH-F9E6
-F9E7 CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8 CJK COMPATIBILITY IDEOGRAPH-F9E8
-F9E9 CJK COMPATIBILITY IDEOGRAPH-F9E9
-F9EA CJK COMPATIBILITY IDEOGRAPH-F9EA
-F9EB CJK COMPATIBILITY IDEOGRAPH-F9EB
-F9EC CJK COMPATIBILITY IDEOGRAPH-F9EC
-F9ED CJK COMPATIBILITY IDEOGRAPH-F9ED
-F9EE CJK COMPATIBILITY IDEOGRAPH-F9EE
-F9EF CJK COMPATIBILITY IDEOGRAPH-F9EF
-F9F0 CJK COMPATIBILITY IDEOGRAPH-F9F0
-F9F1 CJK COMPATIBILITY IDEOGRAPH-F9F1
-F9F2 CJK COMPATIBILITY IDEOGRAPH-F9F2
-F9F3 CJK COMPATIBILITY IDEOGRAPH-F9F3
-F9F4 CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9F5 CJK COMPATIBILITY IDEOGRAPH-F9F5
-F9F6 CJK COMPATIBILITY IDEOGRAPH-F9F6
-F9F7 CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8 CJK COMPATIBILITY IDEOGRAPH-F9F8
-F9F9 CJK COMPATIBILITY IDEOGRAPH-F9F9
-F9FA CJK COMPATIBILITY IDEOGRAPH-F9FA
-F9FB CJK COMPATIBILITY IDEOGRAPH-F9FB
-F9FC CJK COMPATIBILITY IDEOGRAPH-F9FC
-F9FD CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9FE CJK COMPATIBILITY IDEOGRAPH-F9FE
-F9FF CJK COMPATIBILITY IDEOGRAPH-F9FF
-FA00 CJK COMPATIBILITY IDEOGRAPH-FA00
-FA01 CJK COMPATIBILITY IDEOGRAPH-FA01
-FA02 CJK COMPATIBILITY IDEOGRAPH-FA02
-FA03 CJK COMPATIBILITY IDEOGRAPH-FA03
-FA04 CJK COMPATIBILITY IDEOGRAPH-FA04
-FA05 CJK COMPATIBILITY IDEOGRAPH-FA05
-FA06 CJK COMPATIBILITY IDEOGRAPH-FA06
-FA07 CJK COMPATIBILITY IDEOGRAPH-FA07
-FA08 CJK COMPATIBILITY IDEOGRAPH-FA08
-FA09 CJK COMPATIBILITY IDEOGRAPH-FA09
-FA0A CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA0B CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA0C CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA0D CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA0E CJK COMPATIBILITY IDEOGRAPH-FA0E
-FA0F CJK COMPATIBILITY IDEOGRAPH-FA0F
-FA10 CJK COMPATIBILITY IDEOGRAPH-FA10
-FA11 CJK COMPATIBILITY IDEOGRAPH-FA11
-FA12 CJK COMPATIBILITY IDEOGRAPH-FA12
-FA13 CJK COMPATIBILITY IDEOGRAPH-FA13
-FA14 CJK COMPATIBILITY IDEOGRAPH-FA14
-FA15 CJK COMPATIBILITY IDEOGRAPH-FA15
-FA16 CJK COMPATIBILITY IDEOGRAPH-FA16
-FA17 CJK COMPATIBILITY IDEOGRAPH-FA17
-FA18 CJK COMPATIBILITY IDEOGRAPH-FA18
-FA19 CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A CJK COMPATIBILITY IDEOGRAPH-FA1A
-FA1B CJK COMPATIBILITY IDEOGRAPH-FA1B
-FA1C CJK COMPATIBILITY IDEOGRAPH-FA1C
-FA1D CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA1E CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA1F CJK COMPATIBILITY IDEOGRAPH-FA1F
-FA20 CJK COMPATIBILITY IDEOGRAPH-FA20
-FA21 CJK COMPATIBILITY IDEOGRAPH-FA21
-FA22 CJK COMPATIBILITY IDEOGRAPH-FA22
-FA23 CJK COMPATIBILITY IDEOGRAPH-FA23
-FA24 CJK COMPATIBILITY IDEOGRAPH-FA24
-FA25 CJK COMPATIBILITY IDEOGRAPH-FA25
-FA26 CJK COMPATIBILITY IDEOGRAPH-FA26
-FA27 CJK COMPATIBILITY IDEOGRAPH-FA27
-FA28 CJK COMPATIBILITY IDEOGRAPH-FA28
-FA29 CJK COMPATIBILITY IDEOGRAPH-FA29
-FA2A CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C CJK COMPATIBILITY IDEOGRAPH-FA2C
-FA2D CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30 CJK COMPATIBILITY IDEOGRAPH-FA30
-FA31 CJK COMPATIBILITY IDEOGRAPH-FA31
-FA32 CJK COMPATIBILITY IDEOGRAPH-FA32
-FA33 CJK COMPATIBILITY IDEOGRAPH-FA33
-FA34 CJK COMPATIBILITY IDEOGRAPH-FA34
-FA35 CJK COMPATIBILITY IDEOGRAPH-FA35
-FA36 CJK COMPATIBILITY IDEOGRAPH-FA36
-FA37 CJK COMPATIBILITY IDEOGRAPH-FA37
-FA38 CJK COMPATIBILITY IDEOGRAPH-FA38
-FA39 CJK COMPATIBILITY IDEOGRAPH-FA39
-FA3A CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA3B CJK COMPATIBILITY IDEOGRAPH-FA3B
-FA3C CJK COMPATIBILITY IDEOGRAPH-FA3C
-FA3D CJK COMPATIBILITY IDEOGRAPH-FA3D
-FA3E CJK COMPATIBILITY IDEOGRAPH-FA3E
-FA3F CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA40 CJK COMPATIBILITY IDEOGRAPH-FA40
-FA41 CJK COMPATIBILITY IDEOGRAPH-FA41
-FA42 CJK COMPATIBILITY IDEOGRAPH-FA42
-FA43 CJK COMPATIBILITY IDEOGRAPH-FA43
-FA44 CJK COMPATIBILITY IDEOGRAPH-FA44
-FA45 CJK COMPATIBILITY IDEOGRAPH-FA45
-FA46 CJK COMPATIBILITY IDEOGRAPH-FA46
-FA47 CJK COMPATIBILITY IDEOGRAPH-FA47
-FA48 CJK COMPATIBILITY IDEOGRAPH-FA48
-FA49 CJK COMPATIBILITY IDEOGRAPH-FA49
-FA4A CJK COMPATIBILITY IDEOGRAPH-FA4A
-FA4B CJK COMPATIBILITY IDEOGRAPH-FA4B
-FA4C CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4D CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4E CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4F CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 CJK COMPATIBILITY IDEOGRAPH-FA50
-FA51 CJK COMPATIBILITY IDEOGRAPH-FA51
-FA52 CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 CJK COMPATIBILITY IDEOGRAPH-FA53
-FA54 CJK COMPATIBILITY IDEOGRAPH-FA54
-FA55 CJK COMPATIBILITY IDEOGRAPH-FA55
-FA56 CJK COMPATIBILITY IDEOGRAPH-FA56
-FA57 CJK COMPATIBILITY IDEOGRAPH-FA57
-FA58 CJK COMPATIBILITY IDEOGRAPH-FA58
-FA59 CJK COMPATIBILITY IDEOGRAPH-FA59
-FA5A CJK COMPATIBILITY IDEOGRAPH-FA5A
-FA5B CJK COMPATIBILITY IDEOGRAPH-FA5B
-FA5C CJK COMPATIBILITY IDEOGRAPH-FA5C
-FA5D CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E CJK COMPATIBILITY IDEOGRAPH-FA5E
-FA5F CJK COMPATIBILITY IDEOGRAPH-FA5F
-FA60 CJK COMPATIBILITY IDEOGRAPH-FA60
-FA61 CJK COMPATIBILITY IDEOGRAPH-FA61
-FA62 CJK COMPATIBILITY IDEOGRAPH-FA62
-FA63 CJK COMPATIBILITY IDEOGRAPH-FA63
-FA64 CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 CJK COMPATIBILITY IDEOGRAPH-FA65
-FA66 CJK COMPATIBILITY IDEOGRAPH-FA66
-FA67 CJK COMPATIBILITY IDEOGRAPH-FA67
-FA68 CJK COMPATIBILITY IDEOGRAPH-FA68
-FA69 CJK COMPATIBILITY IDEOGRAPH-FA69
-FA6A CJK COMPATIBILITY IDEOGRAPH-FA6A
-FA6B CJK COMPATIBILITY IDEOGRAPH-FA6B
-FA6C CJK COMPATIBILITY IDEOGRAPH-FA6C
-FA6D CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70 CJK COMPATIBILITY IDEOGRAPH-FA70
-FA71 CJK COMPATIBILITY IDEOGRAPH-FA71
-FA72 CJK COMPATIBILITY IDEOGRAPH-FA72
-FA73 CJK COMPATIBILITY IDEOGRAPH-FA73
-FA74 CJK COMPATIBILITY IDEOGRAPH-FA74
-FA75 CJK COMPATIBILITY IDEOGRAPH-FA75
-FA76 CJK COMPATIBILITY IDEOGRAPH-FA76
-FA77 CJK COMPATIBILITY IDEOGRAPH-FA77
-FA78 CJK COMPATIBILITY IDEOGRAPH-FA78
-FA79 CJK COMPATIBILITY IDEOGRAPH-FA79
-FA7A CJK COMPATIBILITY IDEOGRAPH-FA7A
-FA7B CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA7C CJK COMPATIBILITY IDEOGRAPH-FA7C
-FA7D CJK COMPATIBILITY IDEOGRAPH-FA7D
-FA7E CJK COMPATIBILITY IDEOGRAPH-FA7E
-FA7F CJK COMPATIBILITY IDEOGRAPH-FA7F
-FA80 CJK COMPATIBILITY IDEOGRAPH-FA80
-FA81 CJK COMPATIBILITY IDEOGRAPH-FA81
-FA82 CJK COMPATIBILITY IDEOGRAPH-FA82
-FA83 CJK COMPATIBILITY IDEOGRAPH-FA83
-FA84 CJK COMPATIBILITY IDEOGRAPH-FA84
-FA85 CJK COMPATIBILITY IDEOGRAPH-FA85
-FA86 CJK COMPATIBILITY IDEOGRAPH-FA86
-FA87 CJK COMPATIBILITY IDEOGRAPH-FA87
-FA88 CJK COMPATIBILITY IDEOGRAPH-FA88
-FA89 CJK COMPATIBILITY IDEOGRAPH-FA89
-FA8A CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA8B CJK COMPATIBILITY IDEOGRAPH-FA8B
-FA8C CJK COMPATIBILITY IDEOGRAPH-FA8C
-FA8D CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E CJK COMPATIBILITY IDEOGRAPH-FA8E
-FA8F CJK COMPATIBILITY IDEOGRAPH-FA8F
-FA90 CJK COMPATIBILITY IDEOGRAPH-FA90
-FA91 CJK COMPATIBILITY IDEOGRAPH-FA91
-FA92 CJK COMPATIBILITY IDEOGRAPH-FA92
-FA93 CJK COMPATIBILITY IDEOGRAPH-FA93
-FA94 CJK COMPATIBILITY IDEOGRAPH-FA94
-FA95 CJK COMPATIBILITY IDEOGRAPH-FA95
-FA96 CJK COMPATIBILITY IDEOGRAPH-FA96
-FA97 CJK COMPATIBILITY IDEOGRAPH-FA97
-FA98 CJK COMPATIBILITY IDEOGRAPH-FA98
-FA99 CJK COMPATIBILITY IDEOGRAPH-FA99
-FA9A CJK COMPATIBILITY IDEOGRAPH-FA9A
-FA9B CJK COMPATIBILITY IDEOGRAPH-FA9B
-FA9C CJK COMPATIBILITY IDEOGRAPH-FA9C
-FA9D CJK COMPATIBILITY IDEOGRAPH-FA9D
-FA9E CJK COMPATIBILITY IDEOGRAPH-FA9E
-FA9F CJK COMPATIBILITY IDEOGRAPH-FA9F
-FAA0 CJK COMPATIBILITY IDEOGRAPH-FAA0
-FAA1 CJK COMPATIBILITY IDEOGRAPH-FAA1
-FAA2 CJK COMPATIBILITY IDEOGRAPH-FAA2
-FAA3 CJK COMPATIBILITY IDEOGRAPH-FAA3
-FAA4 CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 CJK COMPATIBILITY IDEOGRAPH-FAA5
-FAA6 CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 CJK COMPATIBILITY IDEOGRAPH-FAA7
-FAA8 CJK COMPATIBILITY IDEOGRAPH-FAA8
-FAA9 CJK COMPATIBILITY IDEOGRAPH-FAA9
-FAAA CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAAB CJK COMPATIBILITY IDEOGRAPH-FAAB
-FAAC CJK COMPATIBILITY IDEOGRAPH-FAAC
-FAAD CJK COMPATIBILITY IDEOGRAPH-FAAD
-FAAE CJK COMPATIBILITY IDEOGRAPH-FAAE
-FAAF CJK COMPATIBILITY IDEOGRAPH-FAAF
-FAB0 CJK COMPATIBILITY IDEOGRAPH-FAB0
-FAB1 CJK COMPATIBILITY IDEOGRAPH-FAB1
-FAB2 CJK COMPATIBILITY IDEOGRAPH-FAB2
-FAB3 CJK COMPATIBILITY IDEOGRAPH-FAB3
-FAB4 CJK COMPATIBILITY IDEOGRAPH-FAB4
-FAB5 CJK COMPATIBILITY IDEOGRAPH-FAB5
-FAB6 CJK COMPATIBILITY IDEOGRAPH-FAB6
-FAB7 CJK COMPATIBILITY IDEOGRAPH-FAB7
-FAB8 CJK COMPATIBILITY IDEOGRAPH-FAB8
-FAB9 CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABA CJK COMPATIBILITY IDEOGRAPH-FABA
-FABB CJK COMPATIBILITY IDEOGRAPH-FABB
-FABC CJK COMPATIBILITY IDEOGRAPH-FABC
-FABD CJK COMPATIBILITY IDEOGRAPH-FABD
-FABE CJK COMPATIBILITY IDEOGRAPH-FABE
-FABF CJK COMPATIBILITY IDEOGRAPH-FABF
-FAC0 CJK COMPATIBILITY IDEOGRAPH-FAC0
-FAC1 CJK COMPATIBILITY IDEOGRAPH-FAC1
-FAC2 CJK COMPATIBILITY IDEOGRAPH-FAC2
-FAC3 CJK COMPATIBILITY IDEOGRAPH-FAC3
-FAC4 CJK COMPATIBILITY IDEOGRAPH-FAC4
-FAC5 CJK COMPATIBILITY IDEOGRAPH-FAC5
-FAC6 CJK COMPATIBILITY IDEOGRAPH-FAC6
-FAC7 CJK COMPATIBILITY IDEOGRAPH-FAC7
-FAC8 CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9 CJK COMPATIBILITY IDEOGRAPH-FAC9
-FACA CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB CJK COMPATIBILITY IDEOGRAPH-FACB
-FACC CJK COMPATIBILITY IDEOGRAPH-FACC
-FACD CJK COMPATIBILITY IDEOGRAPH-FACD
-FACE CJK COMPATIBILITY IDEOGRAPH-FACE
-FACF CJK COMPATIBILITY IDEOGRAPH-FACF
-FAD0 CJK COMPATIBILITY IDEOGRAPH-FAD0
-FAD1 CJK COMPATIBILITY IDEOGRAPH-FAD1
-FAD2 CJK COMPATIBILITY IDEOGRAPH-FAD2
-FAD3 CJK COMPATIBILITY IDEOGRAPH-FAD3
-FAD4 CJK COMPATIBILITY IDEOGRAPH-FAD4
-FAD5 CJK COMPATIBILITY IDEOGRAPH-FAD5
-FAD6 CJK COMPATIBILITY IDEOGRAPH-FAD6
-FAD7 CJK COMPATIBILITY IDEOGRAPH-FAD7
-FAD8 CJK COMPATIBILITY IDEOGRAPH-FAD8
-FAD9 CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00 LATIN SMALL LIGATURE FF
-FB01 LATIN SMALL LIGATURE FI
-FB02 LATIN SMALL LIGATURE FL
-FB03 LATIN SMALL LIGATURE FFI
-FB04 LATIN SMALL LIGATURE FFL
-FB05 LATIN SMALL LIGATURE LONG S T
-FB06 LATIN SMALL LIGATURE ST
-FB13 ARMENIAN SMALL LIGATURE MEN NOW
-FB14 ARMENIAN SMALL LIGATURE MEN ECH
-FB15 ARMENIAN SMALL LIGATURE MEN INI
-FB16 ARMENIAN SMALL LIGATURE VEW NOW
-FB17 ARMENIAN SMALL LIGATURE MEN XEH
-FB1D HEBREW LETTER YOD WITH HIRIQ
-FB1E HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB20 HEBREW LETTER ALTERNATIVE AYIN
-FB21 HEBREW LETTER WIDE ALEF
-FB22 HEBREW LETTER WIDE DALET
-FB23 HEBREW LETTER WIDE HE
-FB24 HEBREW LETTER WIDE KAF
-FB25 HEBREW LETTER WIDE LAMED
-FB26 HEBREW LETTER WIDE FINAL MEM
-FB27 HEBREW LETTER WIDE RESH
-FB28 HEBREW LETTER WIDE TAV
-FB29 HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A HEBREW LETTER SHIN WITH SHIN DOT
-FB2B HEBREW LETTER SHIN WITH SIN DOT
-FB2C HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E HEBREW LETTER ALEF WITH PATAH
-FB2F HEBREW LETTER ALEF WITH QAMATS
-FB30 HEBREW LETTER ALEF WITH MAPIQ
-FB31 HEBREW LETTER BET WITH DAGESH
-FB32 HEBREW LETTER GIMEL WITH DAGESH
-FB33 HEBREW LETTER DALET WITH DAGESH
-FB34 HEBREW LETTER HE WITH MAPIQ
-FB35 HEBREW LETTER VAV WITH DAGESH
-FB36 HEBREW LETTER ZAYIN WITH DAGESH
-FB38 HEBREW LETTER TET WITH DAGESH
-FB39 HEBREW LETTER YOD WITH DAGESH
-FB3A HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B HEBREW LETTER KAF WITH DAGESH
-FB3C HEBREW LETTER LAMED WITH DAGESH
-FB3E HEBREW LETTER MEM WITH DAGESH
-FB40 HEBREW LETTER NUN WITH DAGESH
-FB41 HEBREW LETTER SAMEKH WITH DAGESH
-FB43 HEBREW LETTER FINAL PE WITH DAGESH
-FB44 HEBREW LETTER PE WITH DAGESH
-FB46 HEBREW LETTER TSADI WITH DAGESH
-FB47 HEBREW LETTER QOF WITH DAGESH
-FB48 HEBREW LETTER RESH WITH DAGESH
-FB49 HEBREW LETTER SHIN WITH DAGESH
-FB4A HEBREW LETTER TAV WITH DAGESH
-FB4B HEBREW LETTER VAV WITH HOLAM
-FB4C HEBREW LETTER BET WITH RAFE
-FB4D HEBREW LETTER KAF WITH RAFE
-FB4E HEBREW LETTER PE WITH RAFE
-FB4F HEBREW LIGATURE ALEF LAMED
-FB50 ARABIC LETTER ALEF WASLA ISOLATED FORM
-FB51 ARABIC LETTER ALEF WASLA FINAL FORM
-FB52 ARABIC LETTER BEEH ISOLATED FORM
-FB53 ARABIC LETTER BEEH FINAL FORM
-FB54 ARABIC LETTER BEEH INITIAL FORM
-FB55 ARABIC LETTER BEEH MEDIAL FORM
-FB56 ARABIC LETTER PEH ISOLATED FORM
-FB57 ARABIC LETTER PEH FINAL FORM
-FB58 ARABIC LETTER PEH INITIAL FORM
-FB59 ARABIC LETTER PEH MEDIAL FORM
-FB5A ARABIC LETTER BEHEH ISOLATED FORM
-FB5B ARABIC LETTER BEHEH FINAL FORM
-FB5C ARABIC LETTER BEHEH INITIAL FORM
-FB5D ARABIC LETTER BEHEH MEDIAL FORM
-FB5E ARABIC LETTER TTEHEH ISOLATED FORM
-FB5F ARABIC LETTER TTEHEH FINAL FORM
-FB60 ARABIC LETTER TTEHEH INITIAL FORM
-FB61 ARABIC LETTER TTEHEH MEDIAL FORM
-FB62 ARABIC LETTER TEHEH ISOLATED FORM
-FB63 ARABIC LETTER TEHEH FINAL FORM
-FB64 ARABIC LETTER TEHEH INITIAL FORM
-FB65 ARABIC LETTER TEHEH MEDIAL FORM
-FB66 ARABIC LETTER TTEH ISOLATED FORM
-FB67 ARABIC LETTER TTEH FINAL FORM
-FB68 ARABIC LETTER TTEH INITIAL FORM
-FB69 ARABIC LETTER TTEH MEDIAL FORM
-FB6A ARABIC LETTER VEH ISOLATED FORM
-FB6B ARABIC LETTER VEH FINAL FORM
-FB6C ARABIC LETTER VEH INITIAL FORM
-FB6D ARABIC LETTER VEH MEDIAL FORM
-FB6E ARABIC LETTER PEHEH ISOLATED FORM
-FB6F ARABIC LETTER PEHEH FINAL FORM
-FB70 ARABIC LETTER PEHEH INITIAL FORM
-FB71 ARABIC LETTER PEHEH MEDIAL FORM
-FB72 ARABIC LETTER DYEH ISOLATED FORM
-FB73 ARABIC LETTER DYEH FINAL FORM
-FB74 ARABIC LETTER DYEH INITIAL FORM
-FB75 ARABIC LETTER DYEH MEDIAL FORM
-FB76 ARABIC LETTER NYEH ISOLATED FORM
-FB77 ARABIC LETTER NYEH FINAL FORM
-FB78 ARABIC LETTER NYEH INITIAL FORM
-FB79 ARABIC LETTER NYEH MEDIAL FORM
-FB7A ARABIC LETTER TCHEH ISOLATED FORM
-FB7B ARABIC LETTER TCHEH FINAL FORM
-FB7C ARABIC LETTER TCHEH INITIAL FORM
-FB7D ARABIC LETTER TCHEH MEDIAL FORM
-FB7E ARABIC LETTER TCHEHEH ISOLATED FORM
-FB7F ARABIC LETTER TCHEHEH FINAL FORM
-FB80 ARABIC LETTER TCHEHEH INITIAL FORM
-FB81 ARABIC LETTER TCHEHEH MEDIAL FORM
-FB82 ARABIC LETTER DDAHAL ISOLATED FORM
-FB83 ARABIC LETTER DDAHAL FINAL FORM
-FB84 ARABIC LETTER DAHAL ISOLATED FORM
-FB85 ARABIC LETTER DAHAL FINAL FORM
-FB86 ARABIC LETTER DUL ISOLATED FORM
-FB87 ARABIC LETTER DUL FINAL FORM
-FB88 ARABIC LETTER DDAL ISOLATED FORM
-FB89 ARABIC LETTER DDAL FINAL FORM
-FB8A ARABIC LETTER JEH ISOLATED FORM
-FB8B ARABIC LETTER JEH FINAL FORM
-FB8C ARABIC LETTER RREH ISOLATED FORM
-FB8D ARABIC LETTER RREH FINAL FORM
-FB8E ARABIC LETTER KEHEH ISOLATED FORM
-FB8F ARABIC LETTER KEHEH FINAL FORM
-FB90 ARABIC LETTER KEHEH INITIAL FORM
-FB91 ARABIC LETTER KEHEH MEDIAL FORM
-FB92 ARABIC LETTER GAF ISOLATED FORM
-FB93 ARABIC LETTER GAF FINAL FORM
-FB94 ARABIC LETTER GAF INITIAL FORM
-FB95 ARABIC LETTER GAF MEDIAL FORM
-FB96 ARABIC LETTER GUEH ISOLATED FORM
-FB97 ARABIC LETTER GUEH FINAL FORM
-FB98 ARABIC LETTER GUEH INITIAL FORM
-FB99 ARABIC LETTER GUEH MEDIAL FORM
-FB9A ARABIC LETTER NGOEH ISOLATED FORM
-FB9B ARABIC LETTER NGOEH FINAL FORM
-FB9C ARABIC LETTER NGOEH INITIAL FORM
-FB9D ARABIC LETTER NGOEH MEDIAL FORM
-FB9E ARABIC LETTER NOON GHUNNA ISOLATED FORM
-FB9F ARABIC LETTER NOON GHUNNA FINAL FORM
-FBA0 ARABIC LETTER RNOON ISOLATED FORM
-FBA1 ARABIC LETTER RNOON FINAL FORM
-FBA2 ARABIC LETTER RNOON INITIAL FORM
-FBA3 ARABIC LETTER RNOON MEDIAL FORM
-FBA4 ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
-FBA5 ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA6 ARABIC LETTER HEH GOAL ISOLATED FORM
-FBA7 ARABIC LETTER HEH GOAL FINAL FORM
-FBA8 ARABIC LETTER HEH GOAL INITIAL FORM
-FBA9 ARABIC LETTER HEH GOAL MEDIAL FORM
-FBAA ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-FBAB ARABIC LETTER HEH DOACHASHMEE FINAL FORM
-FBAC ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
-FBAD ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBAE ARABIC LETTER YEH BARREE ISOLATED FORM
-FBAF ARABIC LETTER YEH BARREE FINAL FORM
-FBB0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-FBB1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3 ARABIC LETTER NG ISOLATED FORM
-FBD4 ARABIC LETTER NG FINAL FORM
-FBD5 ARABIC LETTER NG INITIAL FORM
-FBD6 ARABIC LETTER NG MEDIAL FORM
-FBD7 ARABIC LETTER U ISOLATED FORM
-FBD8 ARABIC LETTER U FINAL FORM
-FBD9 ARABIC LETTER OE ISOLATED FORM
-FBDA ARABIC LETTER OE FINAL FORM
-FBDB ARABIC LETTER YU ISOLATED FORM
-FBDC ARABIC LETTER YU FINAL FORM
-FBDD ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-FBDE ARABIC LETTER VE ISOLATED FORM
-FBDF ARABIC LETTER VE FINAL FORM
-FBE0 ARABIC LETTER KIRGHIZ OE ISOLATED FORM
-FBE1 ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE2 ARABIC LETTER KIRGHIZ YU ISOLATED FORM
-FBE3 ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE4 ARABIC LETTER E ISOLATED FORM
-FBE5 ARABIC LETTER E FINAL FORM
-FBE6 ARABIC LETTER E INITIAL FORM
-FBE7 ARABIC LETTER E MEDIAL FORM
-FBE8 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FBEA ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
-FBEB ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBEC ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
-FBED ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEE ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
-FBEF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBF0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
-FBF1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF2 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
-FBF3 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF4 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
-FBF5 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF6 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
-FBF7 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
-FBF8 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FBFA ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FBFB ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFC ARABIC LETTER FARSI YEH ISOLATED FORM
-FBFD ARABIC LETTER FARSI YEH FINAL FORM
-FBFE ARABIC LETTER FARSI YEH INITIAL FORM
-FBFF ARABIC LETTER FARSI YEH MEDIAL FORM
-FC00 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
-FC01 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
-FC02 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
-FC03 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC04 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
-FC05 ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
-FC06 ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
-FC07 ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
-FC08 ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
-FC09 ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
-FC0A ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
-FC0B ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
-FC0C ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
-FC0D ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
-FC0E ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
-FC0F ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
-FC10 ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
-FC11 ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
-FC12 ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
-FC13 ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
-FC14 ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
-FC15 ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
-FC16 ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
-FC17 ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
-FC18 ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
-FC19 ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
-FC1A ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
-FC1B ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
-FC1C ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
-FC1D ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
-FC1E ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
-FC1F ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
-FC20 ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
-FC21 ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
-FC22 ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
-FC23 ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
-FC24 ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
-FC25 ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
-FC26 ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
-FC27 ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
-FC28 ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
-FC29 ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
-FC2A ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
-FC2B ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
-FC2C ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
-FC2D ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
-FC2E ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
-FC2F ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
-FC30 ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
-FC31 ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
-FC32 ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
-FC33 ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
-FC34 ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
-FC35 ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
-FC36 ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
-FC37 ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
-FC38 ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
-FC39 ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
-FC3A ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
-FC3B ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
-FC3C ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
-FC3D ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
-FC3E ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
-FC3F ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
-FC40 ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
-FC41 ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
-FC42 ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
-FC43 ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
-FC44 ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
-FC45 ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
-FC46 ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
-FC47 ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
-FC48 ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
-FC49 ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
-FC4A ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
-FC4B ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
-FC4C ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
-FC4D ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
-FC4E ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
-FC4F ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
-FC50 ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
-FC51 ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
-FC52 ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
-FC53 ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
-FC54 ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
-FC55 ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
-FC56 ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
-FC57 ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
-FC58 ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
-FC59 ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
-FC5A ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
-FC5B ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5C ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5D ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC5E ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
-FC5F ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
-FC60 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
-FC61 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
-FC62 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
-FC63 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FC64 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
-FC65 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
-FC66 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
-FC67 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
-FC68 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FC69 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
-FC6A ARABIC LIGATURE BEH WITH REH FINAL FORM
-FC6B ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
-FC6C ARABIC LIGATURE BEH WITH MEEM FINAL FORM
-FC6D ARABIC LIGATURE BEH WITH NOON FINAL FORM
-FC6E ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
-FC6F ARABIC LIGATURE BEH WITH YEH FINAL FORM
-FC70 ARABIC LIGATURE TEH WITH REH FINAL FORM
-FC71 ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
-FC72 ARABIC LIGATURE TEH WITH MEEM FINAL FORM
-FC73 ARABIC LIGATURE TEH WITH NOON FINAL FORM
-FC74 ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
-FC75 ARABIC LIGATURE TEH WITH YEH FINAL FORM
-FC76 ARABIC LIGATURE THEH WITH REH FINAL FORM
-FC77 ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
-FC78 ARABIC LIGATURE THEH WITH MEEM FINAL FORM
-FC79 ARABIC LIGATURE THEH WITH NOON FINAL FORM
-FC7A ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
-FC7B ARABIC LIGATURE THEH WITH YEH FINAL FORM
-FC7C ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
-FC7D ARABIC LIGATURE FEH WITH YEH FINAL FORM
-FC7E ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
-FC7F ARABIC LIGATURE QAF WITH YEH FINAL FORM
-FC80 ARABIC LIGATURE KAF WITH ALEF FINAL FORM
-FC81 ARABIC LIGATURE KAF WITH LAM FINAL FORM
-FC82 ARABIC LIGATURE KAF WITH MEEM FINAL FORM
-FC83 ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
-FC84 ARABIC LIGATURE KAF WITH YEH FINAL FORM
-FC85 ARABIC LIGATURE LAM WITH MEEM FINAL FORM
-FC86 ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
-FC87 ARABIC LIGATURE LAM WITH YEH FINAL FORM
-FC88 ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
-FC89 ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
-FC8A ARABIC LIGATURE NOON WITH REH FINAL FORM
-FC8B ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
-FC8C ARABIC LIGATURE NOON WITH MEEM FINAL FORM
-FC8D ARABIC LIGATURE NOON WITH NOON FINAL FORM
-FC8E ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
-FC8F ARABIC LIGATURE NOON WITH YEH FINAL FORM
-FC90 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC91 ARABIC LIGATURE YEH WITH REH FINAL FORM
-FC92 ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
-FC93 ARABIC LIGATURE YEH WITH MEEM FINAL FORM
-FC94 ARABIC LIGATURE YEH WITH NOON FINAL FORM
-FC95 ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
-FC96 ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FC97 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
-FC98 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
-FC99 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
-FC9A ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
-FC9B ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
-FC9C ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
-FC9D ARABIC LIGATURE BEH WITH HAH INITIAL FORM
-FC9E ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
-FC9F ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
-FCA0 ARABIC LIGATURE BEH WITH HEH INITIAL FORM
-FCA1 ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
-FCA2 ARABIC LIGATURE TEH WITH HAH INITIAL FORM
-FCA3 ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
-FCA4 ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
-FCA5 ARABIC LIGATURE TEH WITH HEH INITIAL FORM
-FCA6 ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
-FCA7 ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
-FCA8 ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
-FCA9 ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
-FCAA ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
-FCAB ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
-FCAC ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
-FCAD ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
-FCAE ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
-FCAF ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
-FCB0 ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
-FCB1 ARABIC LIGATURE SAD WITH HAH INITIAL FORM
-FCB2 ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
-FCB3 ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
-FCB4 ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
-FCB5 ARABIC LIGATURE DAD WITH HAH INITIAL FORM
-FCB6 ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
-FCB7 ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
-FCB8 ARABIC LIGATURE TAH WITH HAH INITIAL FORM
-FCB9 ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
-FCBA ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
-FCBB ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
-FCBC ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
-FCBD ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
-FCBE ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
-FCBF ARABIC LIGATURE FEH WITH HAH INITIAL FORM
-FCC0 ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
-FCC1 ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
-FCC2 ARABIC LIGATURE QAF WITH HAH INITIAL FORM
-FCC3 ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
-FCC4 ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
-FCC5 ARABIC LIGATURE KAF WITH HAH INITIAL FORM
-FCC6 ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
-FCC7 ARABIC LIGATURE KAF WITH LAM INITIAL FORM
-FCC8 ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
-FCC9 ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
-FCCA ARABIC LIGATURE LAM WITH HAH INITIAL FORM
-FCCB ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
-FCCC ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
-FCCD ARABIC LIGATURE LAM WITH HEH INITIAL FORM
-FCCE ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
-FCCF ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
-FCD0 ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
-FCD1 ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
-FCD2 ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
-FCD3 ARABIC LIGATURE NOON WITH HAH INITIAL FORM
-FCD4 ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
-FCD5 ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
-FCD6 ARABIC LIGATURE NOON WITH HEH INITIAL FORM
-FCD7 ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
-FCD8 ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
-FCD9 ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
-FCDA ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
-FCDB ARABIC LIGATURE YEH WITH HAH INITIAL FORM
-FCDC ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
-FCDD ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
-FCDE ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FCDF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
-FCE0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
-FCE1 ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
-FCE2 ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
-FCE3 ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
-FCE4 ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
-FCE5 ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
-FCE6 ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
-FCE7 ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
-FCE8 ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
-FCE9 ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
-FCEA ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
-FCEB ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
-FCEC ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
-FCED ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
-FCEE ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
-FCEF ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
-FCF0 ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
-FCF1 ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
-FCF2 ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
-FCF3 ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
-FCF4 ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
-FCF5 ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
-FCF6 ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
-FCF7 ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
-FCF8 ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
-FCF9 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
-FCFA ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
-FCFB ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFC ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
-FCFD ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
-FCFE ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
-FCFF ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
-FD00 ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
-FD01 ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
-FD02 ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
-FD03 ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
-FD04 ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
-FD05 ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
-FD06 ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
-FD07 ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
-FD08 ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
-FD09 ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
-FD0A ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
-FD0B ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
-FD0C ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
-FD0D ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
-FD0E ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
-FD0F ARABIC LIGATURE SAD WITH REH ISOLATED FORM
-FD10 ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FD11 ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
-FD12 ARABIC LIGATURE TAH WITH YEH FINAL FORM
-FD13 ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
-FD14 ARABIC LIGATURE AIN WITH YEH FINAL FORM
-FD15 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
-FD16 ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
-FD17 ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
-FD18 ARABIC LIGATURE SEEN WITH YEH FINAL FORM
-FD19 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
-FD1A ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
-FD1B ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
-FD1C ARABIC LIGATURE HAH WITH YEH FINAL FORM
-FD1D ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
-FD1E ARABIC LIGATURE JEEM WITH YEH FINAL FORM
-FD1F ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
-FD20 ARABIC LIGATURE KHAH WITH YEH FINAL FORM
-FD21 ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
-FD22 ARABIC LIGATURE SAD WITH YEH FINAL FORM
-FD23 ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
-FD24 ARABIC LIGATURE DAD WITH YEH FINAL FORM
-FD25 ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
-FD26 ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
-FD27 ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
-FD28 ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
-FD29 ARABIC LIGATURE SHEEN WITH REH FINAL FORM
-FD2A ARABIC LIGATURE SEEN WITH REH FINAL FORM
-FD2B ARABIC LIGATURE SAD WITH REH FINAL FORM
-FD2C ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD2D ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
-FD2E ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
-FD2F ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
-FD30 ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
-FD31 ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
-FD32 ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
-FD33 ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD34 ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
-FD35 ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
-FD36 ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
-FD37 ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
-FD38 ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
-FD39 ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
-FD3A ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
-FD3B ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FD3C ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
-FD3D ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD3E ORNATE LEFT PARENTHESIS
-FD3F ORNATE RIGHT PARENTHESIS
-FD50 ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FD51 ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
-FD52 ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
-FD53 ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
-FD54 ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
-FD55 ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
-FD56 ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
-FD57 ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FD58 ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
-FD59 ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD5A ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
-FD5B ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5C ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
-FD5D ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD5E ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD5F ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
-FD60 ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
-FD61 ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD62 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
-FD63 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD64 ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
-FD65 ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD66 ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
-FD67 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
-FD68 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD69 ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
-FD6A ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
-FD6B ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6C ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
-FD6D ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD6E ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD6F ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
-FD70 ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD71 ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
-FD72 ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
-FD73 ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD74 ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
-FD75 ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
-FD76 ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
-FD77 ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD78 ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD79 ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
-FD7A ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
-FD7B ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD7C ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
-FD7D ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD7E ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
-FD7F ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
-FD80 ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
-FD81 ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
-FD82 ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD83 ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
-FD84 ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
-FD85 ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
-FD86 ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD87 ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
-FD88 ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
-FD89 ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
-FD8A ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FD8B ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FD8C ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
-FD8D ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
-FD8E ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
-FD8F ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92 ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
-FD93 ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
-FD94 ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
-FD95 ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD96 ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD97 ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
-FD98 ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD99 ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD9A ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
-FD9B ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD9C ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
-FD9D ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FD9E ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
-FD9F ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
-FDA0 ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FDA1 ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
-FDA2 ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA3 ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
-FDA4 ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA5 ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
-FDA6 ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDA7 ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA8 ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA9 ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
-FDAA ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
-FDAB ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
-FDAC ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
-FDAD ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
-FDAE ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
-FDAF ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
-FDB0 ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
-FDB1 ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
-FDB2 ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
-FDB3 ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FDB4 ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
-FDB5 ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FDB6 ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
-FDB7 ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FDB8 ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDB9 ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FDBA ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDBB ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
-FDBC ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
-FDBD ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
-FDBE ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
-FDBF ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
-FDC0 ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
-FDC1 ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
-FDC2 ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FDC3 ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
-FDC4 ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
-FDC5 ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FDC6 ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
-FDC7 ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0 ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF1 ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
-FDF2 ARABIC LIGATURE ALLAH ISOLATED FORM
-FDF3 ARABIC LIGATURE AKBAR ISOLATED FORM
-FDF4 ARABIC LIGATURE MOHAMMAD ISOLATED FORM
-FDF5 ARABIC LIGATURE SALAM ISOLATED FORM
-FDF6 ARABIC LIGATURE RASOUL ISOLATED FORM
-FDF7 ARABIC LIGATURE ALAYHE ISOLATED FORM
-FDF8 ARABIC LIGATURE WASALLAM ISOLATED FORM
-FDF9 ARABIC LIGATURE SALLA ISOLATED FORM
-FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
-FDFB ARABIC LIGATURE JALLAJALALOUHOU
-FDFC RIAL SIGN
-FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE00 VARIATION SELECTOR-1
-FE01 VARIATION SELECTOR-2
-FE02 VARIATION SELECTOR-3
-FE03 VARIATION SELECTOR-4
-FE04 VARIATION SELECTOR-5
-FE05 VARIATION SELECTOR-6
-FE06 VARIATION SELECTOR-7
-FE07 VARIATION SELECTOR-8
-FE08 VARIATION SELECTOR-9
-FE09 VARIATION SELECTOR-10
-FE0A VARIATION SELECTOR-11
-FE0B VARIATION SELECTOR-12
-FE0C VARIATION SELECTOR-13
-FE0D VARIATION SELECTOR-14
-FE0E VARIATION SELECTOR-15
-FE0F VARIATION SELECTOR-16
-FE10 PRESENTATION FORM FOR VERTICAL COMMA
-FE11 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE12 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE13 PRESENTATION FORM FOR VERTICAL COLON
-FE14 PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE15 PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
-FE16 PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET
-FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE20 COMBINING LIGATURE LEFT HALF
-FE21 COMBINING LIGATURE RIGHT HALF
-FE22 COMBINING DOUBLE TILDE LEFT HALF
-FE23 COMBINING DOUBLE TILDE RIGHT HALF
-FE24 COMBINING MACRON LEFT HALF
-FE25 COMBINING MACRON RIGHT HALF
-FE26 COMBINING CONJOINING MACRON
-FE30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31 PRESENTATION FORM FOR VERTICAL EM DASH
-FE32 PRESENTATION FORM FOR VERTICAL EN DASH
-FE33 PRESENTATION FORM FOR VERTICAL LOW LINE
-FE34 PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45 SESAME DOT
-FE46 WHITE SESAME DOT
-FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49 DASHED OVERLINE
-FE4A CENTRELINE OVERLINE
-FE4B WAVY OVERLINE
-FE4C DOUBLE WAVY OVERLINE
-FE4D DASHED LOW LINE
-FE4E CENTRELINE LOW LINE
-FE4F WAVY LOW LINE
-FE50 SMALL COMMA
-FE51 SMALL IDEOGRAPHIC COMMA
-FE52 SMALL FULL STOP
-FE54 SMALL SEMICOLON
-FE55 SMALL COLON
-FE56 SMALL QUESTION MARK
-FE57 SMALL EXCLAMATION MARK
-FE58 SMALL EM DASH
-FE59 SMALL LEFT PARENTHESIS
-FE5A SMALL RIGHT PARENTHESIS
-FE5B SMALL LEFT CURLY BRACKET
-FE5C SMALL RIGHT CURLY BRACKET
-FE5D SMALL LEFT TORTOISE SHELL BRACKET
-FE5E SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F SMALL NUMBER SIGN
-FE60 SMALL AMPERSAND
-FE61 SMALL ASTERISK
-FE62 SMALL PLUS SIGN
-FE63 SMALL HYPHEN-MINUS
-FE64 SMALL LESS-THAN SIGN
-FE65 SMALL GREATER-THAN SIGN
-FE66 SMALL EQUALS SIGN
-FE68 SMALL REVERSE SOLIDUS
-FE69 SMALL DOLLAR SIGN
-FE6A SMALL PERCENT SIGN
-FE6B SMALL COMMERCIAL AT
-FE70 ARABIC FATHATAN ISOLATED FORM
-FE71 ARABIC TATWEEL WITH FATHATAN ABOVE
-FE72 ARABIC DAMMATAN ISOLATED FORM
-FE73 ARABIC TAIL FRAGMENT
-FE74 ARABIC KASRATAN ISOLATED FORM
-FE76 ARABIC FATHA ISOLATED FORM
-FE77 ARABIC FATHA MEDIAL FORM
-FE78 ARABIC DAMMA ISOLATED FORM
-FE79 ARABIC DAMMA MEDIAL FORM
-FE7A ARABIC KASRA ISOLATED FORM
-FE7B ARABIC KASRA MEDIAL FORM
-FE7C ARABIC SHADDA ISOLATED FORM
-FE7D ARABIC SHADDA MEDIAL FORM
-FE7E ARABIC SUKUN ISOLATED FORM
-FE7F ARABIC SUKUN MEDIAL FORM
-FE80 ARABIC LETTER HAMZA ISOLATED FORM
-FE81 ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-FE82 ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE83 ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-FE84 ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE85 ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-FE86 ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE87 ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
-FE88 ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE89 ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-FE8A ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-FE8B ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-FE8C ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE8D ARABIC LETTER ALEF ISOLATED FORM
-FE8E ARABIC LETTER ALEF FINAL FORM
-FE8F ARABIC LETTER BEH ISOLATED FORM
-FE90 ARABIC LETTER BEH FINAL FORM
-FE91 ARABIC LETTER BEH INITIAL FORM
-FE92 ARABIC LETTER BEH MEDIAL FORM
-FE93 ARABIC LETTER TEH MARBUTA ISOLATED FORM
-FE94 ARABIC LETTER TEH MARBUTA FINAL FORM
-FE95 ARABIC LETTER TEH ISOLATED FORM
-FE96 ARABIC LETTER TEH FINAL FORM
-FE97 ARABIC LETTER TEH INITIAL FORM
-FE98 ARABIC LETTER TEH MEDIAL FORM
-FE99 ARABIC LETTER THEH ISOLATED FORM
-FE9A ARABIC LETTER THEH FINAL FORM
-FE9B ARABIC LETTER THEH INITIAL FORM
-FE9C ARABIC LETTER THEH MEDIAL FORM
-FE9D ARABIC LETTER JEEM ISOLATED FORM
-FE9E ARABIC LETTER JEEM FINAL FORM
-FE9F ARABIC LETTER JEEM INITIAL FORM
-FEA0 ARABIC LETTER JEEM MEDIAL FORM
-FEA1 ARABIC LETTER HAH ISOLATED FORM
-FEA2 ARABIC LETTER HAH FINAL FORM
-FEA3 ARABIC LETTER HAH INITIAL FORM
-FEA4 ARABIC LETTER HAH MEDIAL FORM
-FEA5 ARABIC LETTER KHAH ISOLATED FORM
-FEA6 ARABIC LETTER KHAH FINAL FORM
-FEA7 ARABIC LETTER KHAH INITIAL FORM
-FEA8 ARABIC LETTER KHAH MEDIAL FORM
-FEA9 ARABIC LETTER DAL ISOLATED FORM
-FEAA ARABIC LETTER DAL FINAL FORM
-FEAB ARABIC LETTER THAL ISOLATED FORM
-FEAC ARABIC LETTER THAL FINAL FORM
-FEAD ARABIC LETTER REH ISOLATED FORM
-FEAE ARABIC LETTER REH FINAL FORM
-FEAF ARABIC LETTER ZAIN ISOLATED FORM
-FEB0 ARABIC LETTER ZAIN FINAL FORM
-FEB1 ARABIC LETTER SEEN ISOLATED FORM
-FEB2 ARABIC LETTER SEEN FINAL FORM
-FEB3 ARABIC LETTER SEEN INITIAL FORM
-FEB4 ARABIC LETTER SEEN MEDIAL FORM
-FEB5 ARABIC LETTER SHEEN ISOLATED FORM
-FEB6 ARABIC LETTER SHEEN FINAL FORM
-FEB7 ARABIC LETTER SHEEN INITIAL FORM
-FEB8 ARABIC LETTER SHEEN MEDIAL FORM
-FEB9 ARABIC LETTER SAD ISOLATED FORM
-FEBA ARABIC LETTER SAD FINAL FORM
-FEBB ARABIC LETTER SAD INITIAL FORM
-FEBC ARABIC LETTER SAD MEDIAL FORM
-FEBD ARABIC LETTER DAD ISOLATED FORM
-FEBE ARABIC LETTER DAD FINAL FORM
-FEBF ARABIC LETTER DAD INITIAL FORM
-FEC0 ARABIC LETTER DAD MEDIAL FORM
-FEC1 ARABIC LETTER TAH ISOLATED FORM
-FEC2 ARABIC LETTER TAH FINAL FORM
-FEC3 ARABIC LETTER TAH INITIAL FORM
-FEC4 ARABIC LETTER TAH MEDIAL FORM
-FEC5 ARABIC LETTER ZAH ISOLATED FORM
-FEC6 ARABIC LETTER ZAH FINAL FORM
-FEC7 ARABIC LETTER ZAH INITIAL FORM
-FEC8 ARABIC LETTER ZAH MEDIAL FORM
-FEC9 ARABIC LETTER AIN ISOLATED FORM
-FECA ARABIC LETTER AIN FINAL FORM
-FECB ARABIC LETTER AIN INITIAL FORM
-FECC ARABIC LETTER AIN MEDIAL FORM
-FECD ARABIC LETTER GHAIN ISOLATED FORM
-FECE ARABIC LETTER GHAIN FINAL FORM
-FECF ARABIC LETTER GHAIN INITIAL FORM
-FED0 ARABIC LETTER GHAIN MEDIAL FORM
-FED1 ARABIC LETTER FEH ISOLATED FORM
-FED2 ARABIC LETTER FEH FINAL FORM
-FED3 ARABIC LETTER FEH INITIAL FORM
-FED4 ARABIC LETTER FEH MEDIAL FORM
-FED5 ARABIC LETTER QAF ISOLATED FORM
-FED6 ARABIC LETTER QAF FINAL FORM
-FED7 ARABIC LETTER QAF INITIAL FORM
-FED8 ARABIC LETTER QAF MEDIAL FORM
-FED9 ARABIC LETTER KAF ISOLATED FORM
-FEDA ARABIC LETTER KAF FINAL FORM
-FEDB ARABIC LETTER KAF INITIAL FORM
-FEDC ARABIC LETTER KAF MEDIAL FORM
-FEDD ARABIC LETTER LAM ISOLATED FORM
-FEDE ARABIC LETTER LAM FINAL FORM
-FEDF ARABIC LETTER LAM INITIAL FORM
-FEE0 ARABIC LETTER LAM MEDIAL FORM
-FEE1 ARABIC LETTER MEEM ISOLATED FORM
-FEE2 ARABIC LETTER MEEM FINAL FORM
-FEE3 ARABIC LETTER MEEM INITIAL FORM
-FEE4 ARABIC LETTER MEEM MEDIAL FORM
-FEE5 ARABIC LETTER NOON ISOLATED FORM
-FEE6 ARABIC LETTER NOON FINAL FORM
-FEE7 ARABIC LETTER NOON INITIAL FORM
-FEE8 ARABIC LETTER NOON MEDIAL FORM
-FEE9 ARABIC LETTER HEH ISOLATED FORM
-FEEA ARABIC LETTER HEH FINAL FORM
-FEEB ARABIC LETTER HEH INITIAL FORM
-FEEC ARABIC LETTER HEH MEDIAL FORM
-FEED ARABIC LETTER WAW ISOLATED FORM
-FEEE ARABIC LETTER WAW FINAL FORM
-FEEF ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FEF0 ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEF1 ARABIC LETTER YEH ISOLATED FORM
-FEF2 ARABIC LETTER YEH FINAL FORM
-FEF3 ARABIC LETTER YEH INITIAL FORM
-FEF4 ARABIC LETTER YEH MEDIAL FORM
-FEF5 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-FEF6 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF7 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-FEF8 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEF9 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-FEFA ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEFB ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-FEFC ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF ZERO WIDTH NO-BREAK SPACE
-FF01 FULLWIDTH EXCLAMATION MARK
-FF02 FULLWIDTH QUOTATION MARK
-FF03 FULLWIDTH NUMBER SIGN
-FF04 FULLWIDTH DOLLAR SIGN
-FF05 FULLWIDTH PERCENT SIGN
-FF06 FULLWIDTH AMPERSAND
-FF07 FULLWIDTH APOSTROPHE
-FF08 FULLWIDTH LEFT PARENTHESIS
-FF09 FULLWIDTH RIGHT PARENTHESIS
-FF0A FULLWIDTH ASTERISK
-FF0B FULLWIDTH PLUS SIGN
-FF0C FULLWIDTH COMMA
-FF0D FULLWIDTH HYPHEN-MINUS
-FF0E FULLWIDTH FULL STOP
-FF0F FULLWIDTH SOLIDUS
-FF10 FULLWIDTH DIGIT ZERO
-FF11 FULLWIDTH DIGIT ONE
-FF12 FULLWIDTH DIGIT TWO
-FF13 FULLWIDTH DIGIT THREE
-FF14 FULLWIDTH DIGIT FOUR
-FF15 FULLWIDTH DIGIT FIVE
-FF16 FULLWIDTH DIGIT SIX
-FF17 FULLWIDTH DIGIT SEVEN
-FF18 FULLWIDTH DIGIT EIGHT
-FF19 FULLWIDTH DIGIT NINE
-FF1A FULLWIDTH COLON
-FF1B FULLWIDTH SEMICOLON
-FF1C FULLWIDTH LESS-THAN SIGN
-FF1D FULLWIDTH EQUALS SIGN
-FF1E FULLWIDTH GREATER-THAN SIGN
-FF1F FULLWIDTH QUESTION MARK
-FF20 FULLWIDTH COMMERCIAL AT
-FF21 FULLWIDTH LATIN CAPITAL LETTER A
-FF22 FULLWIDTH LATIN CAPITAL LETTER B
-FF23 FULLWIDTH LATIN CAPITAL LETTER C
-FF24 FULLWIDTH LATIN CAPITAL LETTER D
-FF25 FULLWIDTH LATIN CAPITAL LETTER E
-FF26 FULLWIDTH LATIN CAPITAL LETTER F
-FF27 FULLWIDTH LATIN CAPITAL LETTER G
-FF28 FULLWIDTH LATIN CAPITAL LETTER H
-FF29 FULLWIDTH LATIN CAPITAL LETTER I
-FF2A FULLWIDTH LATIN CAPITAL LETTER J
-FF2B FULLWIDTH LATIN CAPITAL LETTER K
-FF2C FULLWIDTH LATIN CAPITAL LETTER L
-FF2D FULLWIDTH LATIN CAPITAL LETTER M
-FF2E FULLWIDTH LATIN CAPITAL LETTER N
-FF2F FULLWIDTH LATIN CAPITAL LETTER O
-FF30 FULLWIDTH LATIN CAPITAL LETTER P
-FF31 FULLWIDTH LATIN CAPITAL LETTER Q
-FF32 FULLWIDTH LATIN CAPITAL LETTER R
-FF33 FULLWIDTH LATIN CAPITAL LETTER S
-FF34 FULLWIDTH LATIN CAPITAL LETTER T
-FF35 FULLWIDTH LATIN CAPITAL LETTER U
-FF36 FULLWIDTH LATIN CAPITAL LETTER V
-FF37 FULLWIDTH LATIN CAPITAL LETTER W
-FF38 FULLWIDTH LATIN CAPITAL LETTER X
-FF39 FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B FULLWIDTH LEFT SQUARE BRACKET
-FF3C FULLWIDTH REVERSE SOLIDUS
-FF3D FULLWIDTH RIGHT SQUARE BRACKET
-FF3E FULLWIDTH CIRCUMFLEX ACCENT
-FF3F FULLWIDTH LOW LINE
-FF40 FULLWIDTH GRAVE ACCENT
-FF41 FULLWIDTH LATIN SMALL LETTER A
-FF42 FULLWIDTH LATIN SMALL LETTER B
-FF43 FULLWIDTH LATIN SMALL LETTER C
-FF44 FULLWIDTH LATIN SMALL LETTER D
-FF45 FULLWIDTH LATIN SMALL LETTER E
-FF46 FULLWIDTH LATIN SMALL LETTER F
-FF47 FULLWIDTH LATIN SMALL LETTER G
-FF48 FULLWIDTH LATIN SMALL LETTER H
-FF49 FULLWIDTH LATIN SMALL LETTER I
-FF4A FULLWIDTH LATIN SMALL LETTER J
-FF4B FULLWIDTH LATIN SMALL LETTER K
-FF4C FULLWIDTH LATIN SMALL LETTER L
-FF4D FULLWIDTH LATIN SMALL LETTER M
-FF4E FULLWIDTH LATIN SMALL LETTER N
-FF4F FULLWIDTH LATIN SMALL LETTER O
-FF50 FULLWIDTH LATIN SMALL LETTER P
-FF51 FULLWIDTH LATIN SMALL LETTER Q
-FF52 FULLWIDTH LATIN SMALL LETTER R
-FF53 FULLWIDTH LATIN SMALL LETTER S
-FF54 FULLWIDTH LATIN SMALL LETTER T
-FF55 FULLWIDTH LATIN SMALL LETTER U
-FF56 FULLWIDTH LATIN SMALL LETTER V
-FF57 FULLWIDTH LATIN SMALL LETTER W
-FF58 FULLWIDTH LATIN SMALL LETTER X
-FF59 FULLWIDTH LATIN SMALL LETTER Y
-FF5A FULLWIDTH LATIN SMALL LETTER Z
-FF5B FULLWIDTH LEFT CURLY BRACKET
-FF5C FULLWIDTH VERTICAL LINE
-FF5D FULLWIDTH RIGHT CURLY BRACKET
-FF5E FULLWIDTH TILDE
-FF5F FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 HALFWIDTH LEFT CORNER BRACKET
-FF63 HALFWIDTH RIGHT CORNER BRACKET
-FF64 HALFWIDTH IDEOGRAPHIC COMMA
-FF65 HALFWIDTH KATAKANA MIDDLE DOT
-FF66 HALFWIDTH KATAKANA LETTER WO
-FF67 HALFWIDTH KATAKANA LETTER SMALL A
-FF68 HALFWIDTH KATAKANA LETTER SMALL I
-FF69 HALFWIDTH KATAKANA LETTER SMALL U
-FF6A HALFWIDTH KATAKANA LETTER SMALL E
-FF6B HALFWIDTH KATAKANA LETTER SMALL O
-FF6C HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71 HALFWIDTH KATAKANA LETTER A
-FF72 HALFWIDTH KATAKANA LETTER I
-FF73 HALFWIDTH KATAKANA LETTER U
-FF74 HALFWIDTH KATAKANA LETTER E
-FF75 HALFWIDTH KATAKANA LETTER O
-FF76 HALFWIDTH KATAKANA LETTER KA
-FF77 HALFWIDTH KATAKANA LETTER KI
-FF78 HALFWIDTH KATAKANA LETTER KU
-FF79 HALFWIDTH KATAKANA LETTER KE
-FF7A HALFWIDTH KATAKANA LETTER KO
-FF7B HALFWIDTH KATAKANA LETTER SA
-FF7C HALFWIDTH KATAKANA LETTER SI
-FF7D HALFWIDTH KATAKANA LETTER SU
-FF7E HALFWIDTH KATAKANA LETTER SE
-FF7F HALFWIDTH KATAKANA LETTER SO
-FF80 HALFWIDTH KATAKANA LETTER TA
-FF81 HALFWIDTH KATAKANA LETTER TI
-FF82 HALFWIDTH KATAKANA LETTER TU
-FF83 HALFWIDTH KATAKANA LETTER TE
-FF84 HALFWIDTH KATAKANA LETTER TO
-FF85 HALFWIDTH KATAKANA LETTER NA
-FF86 HALFWIDTH KATAKANA LETTER NI
-FF87 HALFWIDTH KATAKANA LETTER NU
-FF88 HALFWIDTH KATAKANA LETTER NE
-FF89 HALFWIDTH KATAKANA LETTER NO
-FF8A HALFWIDTH KATAKANA LETTER HA
-FF8B HALFWIDTH KATAKANA LETTER HI
-FF8C HALFWIDTH KATAKANA LETTER HU
-FF8D HALFWIDTH KATAKANA LETTER HE
-FF8E HALFWIDTH KATAKANA LETTER HO
-FF8F HALFWIDTH KATAKANA LETTER MA
-FF90 HALFWIDTH KATAKANA LETTER MI
-FF91 HALFWIDTH KATAKANA LETTER MU
-FF92 HALFWIDTH KATAKANA LETTER ME
-FF93 HALFWIDTH KATAKANA LETTER MO
-FF94 HALFWIDTH KATAKANA LETTER YA
-FF95 HALFWIDTH KATAKANA LETTER YU
-FF96 HALFWIDTH KATAKANA LETTER YO
-FF97 HALFWIDTH KATAKANA LETTER RA
-FF98 HALFWIDTH KATAKANA LETTER RI
-FF99 HALFWIDTH KATAKANA LETTER RU
-FF9A HALFWIDTH KATAKANA LETTER RE
-FF9B HALFWIDTH KATAKANA LETTER RO
-FF9C HALFWIDTH KATAKANA LETTER WA
-FF9D HALFWIDTH KATAKANA LETTER N
-FF9E HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0 HALFWIDTH HANGUL FILLER
-FFA1 HALFWIDTH HANGUL LETTER KIYEOK
-FFA2 HALFWIDTH HANGUL LETTER SSANGKIYEOK
-FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS
-FFA4 HALFWIDTH HANGUL LETTER NIEUN
-FFA5 HALFWIDTH HANGUL LETTER NIEUN-CIEUC
-FFA6 HALFWIDTH HANGUL LETTER NIEUN-HIEUH
-FFA7 HALFWIDTH HANGUL LETTER TIKEUT
-FFA8 HALFWIDTH HANGUL LETTER SSANGTIKEUT
-FFA9 HALFWIDTH HANGUL LETTER RIEUL
-FFAA HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
-FFAB HALFWIDTH HANGUL LETTER RIEUL-MIEUM
-FFAC HALFWIDTH HANGUL LETTER RIEUL-PIEUP
-FFAD HALFWIDTH HANGUL LETTER RIEUL-SIOS
-FFAE HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
-FFAF HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
-FFB0 HALFWIDTH HANGUL LETTER RIEUL-HIEUH
-FFB1 HALFWIDTH HANGUL LETTER MIEUM
-FFB2 HALFWIDTH HANGUL LETTER PIEUP
-FFB3 HALFWIDTH HANGUL LETTER SSANGPIEUP
-FFB4 HALFWIDTH HANGUL LETTER PIEUP-SIOS
-FFB5 HALFWIDTH HANGUL LETTER SIOS
-FFB6 HALFWIDTH HANGUL LETTER SSANGSIOS
-FFB7 HALFWIDTH HANGUL LETTER IEUNG
-FFB8 HALFWIDTH HANGUL LETTER CIEUC
-FFB9 HALFWIDTH HANGUL LETTER SSANGCIEUC
-FFBA HALFWIDTH HANGUL LETTER CHIEUCH
-FFBB HALFWIDTH HANGUL LETTER KHIEUKH
-FFBC HALFWIDTH HANGUL LETTER THIEUTH
-FFBD HALFWIDTH HANGUL LETTER PHIEUPH
-FFBE HALFWIDTH HANGUL LETTER HIEUH
-FFC2 HALFWIDTH HANGUL LETTER A
-FFC3 HALFWIDTH HANGUL LETTER AE
-FFC4 HALFWIDTH HANGUL LETTER YA
-FFC5 HALFWIDTH HANGUL LETTER YAE
-FFC6 HALFWIDTH HANGUL LETTER EO
-FFC7 HALFWIDTH HANGUL LETTER E
-FFCA HALFWIDTH HANGUL LETTER YEO
-FFCB HALFWIDTH HANGUL LETTER YE
-FFCC HALFWIDTH HANGUL LETTER O
-FFCD HALFWIDTH HANGUL LETTER WA
-FFCE HALFWIDTH HANGUL LETTER WAE
-FFCF HALFWIDTH HANGUL LETTER OE
-FFD2 HALFWIDTH HANGUL LETTER YO
-FFD3 HALFWIDTH HANGUL LETTER U
-FFD4 HALFWIDTH HANGUL LETTER WEO
-FFD5 HALFWIDTH HANGUL LETTER WE
-FFD6 HALFWIDTH HANGUL LETTER WI
-FFD7 HALFWIDTH HANGUL LETTER YU
-FFDA HALFWIDTH HANGUL LETTER EU
-FFDB HALFWIDTH HANGUL LETTER YI
-FFDC HALFWIDTH HANGUL LETTER I
-FFE0 FULLWIDTH CENT SIGN
-FFE1 FULLWIDTH POUND SIGN
-FFE2 FULLWIDTH NOT SIGN
-FFE3 FULLWIDTH MACRON
-FFE4 FULLWIDTH BROKEN BAR
-FFE5 FULLWIDTH YEN SIGN
-FFE6 FULLWIDTH WON SIGN
-FFE8 HALFWIDTH FORMS LIGHT VERTICAL
-FFE9 HALFWIDTH LEFTWARDS ARROW
-FFEA HALFWIDTH UPWARDS ARROW
-FFEB HALFWIDTH RIGHTWARDS ARROW
-FFEC HALFWIDTH DOWNWARDS ARROW
-FFED HALFWIDTH BLACK SQUARE
-FFEE HALFWIDTH WHITE CIRCLE
-FFF9 INTERLINEAR ANNOTATION ANCHOR
-FFFA INTERLINEAR ANNOTATION SEPARATOR
-FFFB INTERLINEAR ANNOTATION TERMINATOR
-FFFC OBJECT REPLACEMENT CHARACTER
-FFFD REPLACEMENT CHARACTER
-10000 LINEAR B SYLLABLE B008 A
-10001 LINEAR B SYLLABLE B038 E
-10002 LINEAR B SYLLABLE B028 I
-10003 LINEAR B SYLLABLE B061 O
-10004 LINEAR B SYLLABLE B010 U
-10005 LINEAR B SYLLABLE B001 DA
-10006 LINEAR B SYLLABLE B045 DE
-10007 LINEAR B SYLLABLE B007 DI
-10008 LINEAR B SYLLABLE B014 DO
-10009 LINEAR B SYLLABLE B051 DU
-1000A LINEAR B SYLLABLE B057 JA
-1000B LINEAR B SYLLABLE B046 JE
-1000D LINEAR B SYLLABLE B036 JO
-1000E LINEAR B SYLLABLE B065 JU
-1000F LINEAR B SYLLABLE B077 KA
-10010 LINEAR B SYLLABLE B044 KE
-10011 LINEAR B SYLLABLE B067 KI
-10012 LINEAR B SYLLABLE B070 KO
-10013 LINEAR B SYLLABLE B081 KU
-10014 LINEAR B SYLLABLE B080 MA
-10015 LINEAR B SYLLABLE B013 ME
-10016 LINEAR B SYLLABLE B073 MI
-10017 LINEAR B SYLLABLE B015 MO
-10018 LINEAR B SYLLABLE B023 MU
-10019 LINEAR B SYLLABLE B006 NA
-1001A LINEAR B SYLLABLE B024 NE
-1001B LINEAR B SYLLABLE B030 NI
-1001C LINEAR B SYLLABLE B052 NO
-1001D LINEAR B SYLLABLE B055 NU
-1001E LINEAR B SYLLABLE B003 PA
-1001F LINEAR B SYLLABLE B072 PE
-10020 LINEAR B SYLLABLE B039 PI
-10021 LINEAR B SYLLABLE B011 PO
-10022 LINEAR B SYLLABLE B050 PU
-10023 LINEAR B SYLLABLE B016 QA
-10024 LINEAR B SYLLABLE B078 QE
-10025 LINEAR B SYLLABLE B021 QI
-10026 LINEAR B SYLLABLE B032 QO
-10028 LINEAR B SYLLABLE B060 RA
-10029 LINEAR B SYLLABLE B027 RE
-1002A LINEAR B SYLLABLE B053 RI
-1002B LINEAR B SYLLABLE B002 RO
-1002C LINEAR B SYLLABLE B026 RU
-1002D LINEAR B SYLLABLE B031 SA
-1002E LINEAR B SYLLABLE B009 SE
-1002F LINEAR B SYLLABLE B041 SI
-10030 LINEAR B SYLLABLE B012 SO
-10031 LINEAR B SYLLABLE B058 SU
-10032 LINEAR B SYLLABLE B059 TA
-10033 LINEAR B SYLLABLE B004 TE
-10034 LINEAR B SYLLABLE B037 TI
-10035 LINEAR B SYLLABLE B005 TO
-10036 LINEAR B SYLLABLE B069 TU
-10037 LINEAR B SYLLABLE B054 WA
-10038 LINEAR B SYLLABLE B075 WE
-10039 LINEAR B SYLLABLE B040 WI
-1003A LINEAR B SYLLABLE B042 WO
-1003C LINEAR B SYLLABLE B017 ZA
-1003D LINEAR B SYLLABLE B074 ZE
-1003F LINEAR B SYLLABLE B020 ZO
-10040 LINEAR B SYLLABLE B025 A2
-10041 LINEAR B SYLLABLE B043 A3
-10042 LINEAR B SYLLABLE B085 AU
-10043 LINEAR B SYLLABLE B071 DWE
-10044 LINEAR B SYLLABLE B090 DWO
-10045 LINEAR B SYLLABLE B048 NWA
-10046 LINEAR B SYLLABLE B029 PU2
-10047 LINEAR B SYLLABLE B062 PTE
-10048 LINEAR B SYLLABLE B076 RA2
-10049 LINEAR B SYLLABLE B033 RA3
-1004A LINEAR B SYLLABLE B068 RO2
-1004B LINEAR B SYLLABLE B066 TA2
-1004C LINEAR B SYLLABLE B087 TWE
-1004D LINEAR B SYLLABLE B091 TWO
-10050 LINEAR B SYMBOL B018
-10051 LINEAR B SYMBOL B019
-10052 LINEAR B SYMBOL B022
-10053 LINEAR B SYMBOL B034
-10054 LINEAR B SYMBOL B047
-10055 LINEAR B SYMBOL B049
-10056 LINEAR B SYMBOL B056
-10057 LINEAR B SYMBOL B063
-10058 LINEAR B SYMBOL B064
-10059 LINEAR B SYMBOL B079
-1005A LINEAR B SYMBOL B082
-1005B LINEAR B SYMBOL B083
-1005C LINEAR B SYMBOL B086
-1005D LINEAR B SYMBOL B089
-10080 LINEAR B IDEOGRAM B100 MAN
-10081 LINEAR B IDEOGRAM B102 WOMAN
-10082 LINEAR B IDEOGRAM B104 DEER
-10083 LINEAR B IDEOGRAM B105 EQUID
-10084 LINEAR B IDEOGRAM B105F MARE
-10085 LINEAR B IDEOGRAM B105M STALLION
-10086 LINEAR B IDEOGRAM B106F EWE
-10087 LINEAR B IDEOGRAM B106M RAM
-10088 LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 LINEAR B IDEOGRAM B107M HE-GOAT
-1008A LINEAR B IDEOGRAM B108F SOW
-1008B LINEAR B IDEOGRAM B108M BOAR
-1008C LINEAR B IDEOGRAM B109F COW
-1008D LINEAR B IDEOGRAM B109M BULL
-1008E LINEAR B IDEOGRAM B120 WHEAT
-1008F LINEAR B IDEOGRAM B121 BARLEY
-10090 LINEAR B IDEOGRAM B122 OLIVE
-10091 LINEAR B IDEOGRAM B123 SPICE
-10092 LINEAR B IDEOGRAM B125 CYPERUS
-10093 LINEAR B MONOGRAM B127 KAPO
-10094 LINEAR B MONOGRAM B128 KANAKO
-10095 LINEAR B IDEOGRAM B130 OIL
-10096 LINEAR B IDEOGRAM B131 WINE
-10097 LINEAR B IDEOGRAM B132
-10098 LINEAR B MONOGRAM B133 AREPA
-10099 LINEAR B MONOGRAM B135 MERI
-1009A LINEAR B IDEOGRAM B140 BRONZE
-1009B LINEAR B IDEOGRAM B141 GOLD
-1009C LINEAR B IDEOGRAM B142
-1009D LINEAR B IDEOGRAM B145 WOOL
-1009E LINEAR B IDEOGRAM B146
-1009F LINEAR B IDEOGRAM B150
-100A0 LINEAR B IDEOGRAM B151 HORN
-100A1 LINEAR B IDEOGRAM B152
-100A2 LINEAR B IDEOGRAM B153
-100A3 LINEAR B IDEOGRAM B154
-100A4 LINEAR B MONOGRAM B156 TURO2
-100A5 LINEAR B IDEOGRAM B157
-100A6 LINEAR B IDEOGRAM B158
-100A7 LINEAR B IDEOGRAM B159 CLOTH
-100A8 LINEAR B IDEOGRAM B160
-100A9 LINEAR B IDEOGRAM B161
-100AA LINEAR B IDEOGRAM B162 GARMENT
-100AB LINEAR B IDEOGRAM B163 ARMOUR
-100AC LINEAR B IDEOGRAM B164
-100AD LINEAR B IDEOGRAM B165
-100AE LINEAR B IDEOGRAM B166
-100AF LINEAR B IDEOGRAM B167
-100B0 LINEAR B IDEOGRAM B168
-100B1 LINEAR B IDEOGRAM B169
-100B2 LINEAR B IDEOGRAM B170
-100B3 LINEAR B IDEOGRAM B171
-100B4 LINEAR B IDEOGRAM B172
-100B5 LINEAR B IDEOGRAM B173 MONTH
-100B6 LINEAR B IDEOGRAM B174
-100B7 LINEAR B IDEOGRAM B176 TREE
-100B8 LINEAR B IDEOGRAM B177
-100B9 LINEAR B IDEOGRAM B178
-100BA LINEAR B IDEOGRAM B179
-100BB LINEAR B IDEOGRAM B180
-100BC LINEAR B IDEOGRAM B181
-100BD LINEAR B IDEOGRAM B182
-100BE LINEAR B IDEOGRAM B183
-100BF LINEAR B IDEOGRAM B184
-100C0 LINEAR B IDEOGRAM B185
-100C1 LINEAR B IDEOGRAM B189
-100C2 LINEAR B IDEOGRAM B190
-100C3 LINEAR B IDEOGRAM B191 HELMET
-100C4 LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 LINEAR B IDEOGRAM B225 BATHTUB
-100C6 LINEAR B IDEOGRAM B230 SPEAR
-100C7 LINEAR B IDEOGRAM B231 ARROW
-100C8 LINEAR B IDEOGRAM B232
-100C9 LINEAR B IDEOGRAM B233 SWORD
-100CA LINEAR B IDEOGRAM B234
-100CB LINEAR B IDEOGRAM B236
-100CC LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD LINEAR B IDEOGRAM B241 CHARIOT
-100CE LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF LINEAR B IDEOGRAM B243 WHEEL
-100D0 LINEAR B IDEOGRAM B245
-100D1 LINEAR B IDEOGRAM B246
-100D2 LINEAR B MONOGRAM B247 DIPTE
-100D3 LINEAR B IDEOGRAM B248
-100D4 LINEAR B IDEOGRAM B249
-100D5 LINEAR B IDEOGRAM B251
-100D6 LINEAR B IDEOGRAM B252
-100D7 LINEAR B IDEOGRAM B253
-100D8 LINEAR B IDEOGRAM B254 DART
-100D9 LINEAR B IDEOGRAM B255
-100DA LINEAR B IDEOGRAM B256
-100DB LINEAR B IDEOGRAM B257
-100DC LINEAR B IDEOGRAM B258
-100DD LINEAR B IDEOGRAM B259
-100DE LINEAR B IDEOGRAM VESSEL B155
-100DF LINEAR B IDEOGRAM VESSEL B200
-100E0 LINEAR B IDEOGRAM VESSEL B201
-100E1 LINEAR B IDEOGRAM VESSEL B202
-100E2 LINEAR B IDEOGRAM VESSEL B203
-100E3 LINEAR B IDEOGRAM VESSEL B204
-100E4 LINEAR B IDEOGRAM VESSEL B205
-100E5 LINEAR B IDEOGRAM VESSEL B206
-100E6 LINEAR B IDEOGRAM VESSEL B207
-100E7 LINEAR B IDEOGRAM VESSEL B208
-100E8 LINEAR B IDEOGRAM VESSEL B209
-100E9 LINEAR B IDEOGRAM VESSEL B210
-100EA LINEAR B IDEOGRAM VESSEL B211
-100EB LINEAR B IDEOGRAM VESSEL B212
-100EC LINEAR B IDEOGRAM VESSEL B213
-100ED LINEAR B IDEOGRAM VESSEL B214
-100EE LINEAR B IDEOGRAM VESSEL B215
-100EF LINEAR B IDEOGRAM VESSEL B216
-100F0 LINEAR B IDEOGRAM VESSEL B217
-100F1 LINEAR B IDEOGRAM VESSEL B218
-100F2 LINEAR B IDEOGRAM VESSEL B219
-100F3 LINEAR B IDEOGRAM VESSEL B221
-100F4 LINEAR B IDEOGRAM VESSEL B222
-100F5 LINEAR B IDEOGRAM VESSEL B226
-100F6 LINEAR B IDEOGRAM VESSEL B227
-100F7 LINEAR B IDEOGRAM VESSEL B228
-100F8 LINEAR B IDEOGRAM VESSEL B229
-100F9 LINEAR B IDEOGRAM VESSEL B250
-100FA LINEAR B IDEOGRAM VESSEL B305
-10100 AEGEAN WORD SEPARATOR LINE
-10101 AEGEAN WORD SEPARATOR DOT
-10102 AEGEAN CHECK MARK
-10107 AEGEAN NUMBER ONE
-10108 AEGEAN NUMBER TWO
-10109 AEGEAN NUMBER THREE
-1010A AEGEAN NUMBER FOUR
-1010B AEGEAN NUMBER FIVE
-1010C AEGEAN NUMBER SIX
-1010D AEGEAN NUMBER SEVEN
-1010E AEGEAN NUMBER EIGHT
-1010F AEGEAN NUMBER NINE
-10110 AEGEAN NUMBER TEN
-10111 AEGEAN NUMBER TWENTY
-10112 AEGEAN NUMBER THIRTY
-10113 AEGEAN NUMBER FORTY
-10114 AEGEAN NUMBER FIFTY
-10115 AEGEAN NUMBER SIXTY
-10116 AEGEAN NUMBER SEVENTY
-10117 AEGEAN NUMBER EIGHTY
-10118 AEGEAN NUMBER NINETY
-10119 AEGEAN NUMBER ONE HUNDRED
-1011A AEGEAN NUMBER TWO HUNDRED
-1011B AEGEAN NUMBER THREE HUNDRED
-1011C AEGEAN NUMBER FOUR HUNDRED
-1011D AEGEAN NUMBER FIVE HUNDRED
-1011E AEGEAN NUMBER SIX HUNDRED
-1011F AEGEAN NUMBER SEVEN HUNDRED
-10120 AEGEAN NUMBER EIGHT HUNDRED
-10121 AEGEAN NUMBER NINE HUNDRED
-10122 AEGEAN NUMBER ONE THOUSAND
-10123 AEGEAN NUMBER TWO THOUSAND
-10124 AEGEAN NUMBER THREE THOUSAND
-10125 AEGEAN NUMBER FOUR THOUSAND
-10126 AEGEAN NUMBER FIVE THOUSAND
-10127 AEGEAN NUMBER SIX THOUSAND
-10128 AEGEAN NUMBER SEVEN THOUSAND
-10129 AEGEAN NUMBER EIGHT THOUSAND
-1012A AEGEAN NUMBER NINE THOUSAND
-1012B AEGEAN NUMBER TEN THOUSAND
-1012C AEGEAN NUMBER TWENTY THOUSAND
-1012D AEGEAN NUMBER THIRTY THOUSAND
-1012E AEGEAN NUMBER FORTY THOUSAND
-1012F AEGEAN NUMBER FIFTY THOUSAND
-10130 AEGEAN NUMBER SIXTY THOUSAND
-10131 AEGEAN NUMBER SEVENTY THOUSAND
-10132 AEGEAN NUMBER EIGHTY THOUSAND
-10133 AEGEAN NUMBER NINETY THOUSAND
-10137 AEGEAN WEIGHT BASE UNIT
-10138 AEGEAN WEIGHT FIRST SUBUNIT
-10139 AEGEAN WEIGHT SECOND SUBUNIT
-1013A AEGEAN WEIGHT THIRD SUBUNIT
-1013B AEGEAN WEIGHT FOURTH SUBUNIT
-1013C AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E AEGEAN MEASURE SECOND SUBUNIT
-1013F AEGEAN MEASURE THIRD SUBUNIT
-10140 GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 GREEK ACROPHONIC ATTIC ONE HALF
-10142 GREEK ACROPHONIC ATTIC ONE DRACHMA
-10143 GREEK ACROPHONIC ATTIC FIVE
-10144 GREEK ACROPHONIC ATTIC FIFTY
-10145 GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10148 GREEK ACROPHONIC ATTIC FIVE TALENTS
-10149 GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-1014F GREEK ACROPHONIC ATTIC FIVE STATERS
-10150 GREEK ACROPHONIC ATTIC TEN STATERS
-10151 GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 GREEK ACROPHONIC ATTIC TEN MNAS
-10158 GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 GREEK ACROPHONIC THESPIAN ONE
-1015A GREEK ACROPHONIC HERMIONIAN ONE
-1015B GREEK ACROPHONIC EPIDAUREAN TWO
-1015C GREEK ACROPHONIC THESPIAN TWO
-1015D GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-1015F GREEK ACROPHONIC TROEZENIAN FIVE
-10160 GREEK ACROPHONIC TROEZENIAN TEN
-10161 GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 GREEK ACROPHONIC HERMIONIAN TEN
-10163 GREEK ACROPHONIC MESSENIAN TEN
-10164 GREEK ACROPHONIC THESPIAN TEN
-10165 GREEK ACROPHONIC THESPIAN THIRTY
-10166 GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 GREEK ACROPHONIC THESPIAN FIFTY
-1016A GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10173 GREEK ACROPHONIC DELPHIC FIVE MNAS
-10174 GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175 GREEK ONE HALF SIGN
-10176 GREEK ONE HALF SIGN ALTERNATE FORM
-10177 GREEK TWO THIRDS SIGN
-10178 GREEK THREE QUARTERS SIGN
-10179 GREEK YEAR SIGN
-1017A GREEK TALENT SIGN
-1017B GREEK DRACHMA SIGN
-1017C GREEK OBOL SIGN
-1017D GREEK TWO OBOLS SIGN
-1017E GREEK THREE OBOLS SIGN
-1017F GREEK FOUR OBOLS SIGN
-10180 GREEK FIVE OBOLS SIGN
-10181 GREEK METRETES SIGN
-10182 GREEK KYATHOS BASE SIGN
-10183 GREEK LITRA SIGN
-10184 GREEK OUNKIA SIGN
-10185 GREEK XESTES SIGN
-10186 GREEK ARTABE SIGN
-10187 GREEK AROURA SIGN
-10188 GREEK GRAMMA SIGN
-10189 GREEK TRYBLION BASE SIGN
-1018A GREEK ZERO SIGN
-10190 ROMAN SEXTANS SIGN
-10191 ROMAN UNCIA SIGN
-10192 ROMAN SEMUNCIA SIGN
-10193 ROMAN SEXTULA SIGN
-10194 ROMAN DIMIDIA SEXTULA SIGN
-10195 ROMAN SILIQUA SIGN
-10196 ROMAN DENARIUS SIGN
-10197 ROMAN QUINARIUS SIGN
-10198 ROMAN SESTERTIUS SIGN
-10199 ROMAN DUPONDIUS SIGN
-1019A ROMAN AS SIGN
-1019B ROMAN CENTURIAL SIGN
-101D0 PHAISTOS DISC SIGN PEDESTRIAN
-101D1 PHAISTOS DISC SIGN PLUMED HEAD
-101D2 PHAISTOS DISC SIGN TATTOOED HEAD
-101D3 PHAISTOS DISC SIGN CAPTIVE
-101D4 PHAISTOS DISC SIGN CHILD
-101D5 PHAISTOS DISC SIGN WOMAN
-101D6 PHAISTOS DISC SIGN HELMET
-101D7 PHAISTOS DISC SIGN GAUNTLET
-101D8 PHAISTOS DISC SIGN TIARA
-101D9 PHAISTOS DISC SIGN ARROW
-101DA PHAISTOS DISC SIGN BOW
-101DB PHAISTOS DISC SIGN SHIELD
-101DC PHAISTOS DISC SIGN CLUB
-101DD PHAISTOS DISC SIGN MANACLES
-101DE PHAISTOS DISC SIGN MATTOCK
-101DF PHAISTOS DISC SIGN SAW
-101E0 PHAISTOS DISC SIGN LID
-101E1 PHAISTOS DISC SIGN BOOMERANG
-101E2 PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3 PHAISTOS DISC SIGN DOLIUM
-101E4 PHAISTOS DISC SIGN COMB
-101E5 PHAISTOS DISC SIGN SLING
-101E6 PHAISTOS DISC SIGN COLUMN
-101E7 PHAISTOS DISC SIGN BEEHIVE
-101E8 PHAISTOS DISC SIGN SHIP
-101E9 PHAISTOS DISC SIGN HORN
-101EA PHAISTOS DISC SIGN HIDE
-101EB PHAISTOS DISC SIGN BULLS LEG
-101EC PHAISTOS DISC SIGN CAT
-101ED PHAISTOS DISC SIGN RAM
-101EE PHAISTOS DISC SIGN EAGLE
-101EF PHAISTOS DISC SIGN DOVE
-101F0 PHAISTOS DISC SIGN TUNNY
-101F1 PHAISTOS DISC SIGN BEE
-101F2 PHAISTOS DISC SIGN PLANE TREE
-101F3 PHAISTOS DISC SIGN VINE
-101F4 PHAISTOS DISC SIGN PAPYRUS
-101F5 PHAISTOS DISC SIGN ROSETTE
-101F6 PHAISTOS DISC SIGN LILY
-101F7 PHAISTOS DISC SIGN OX BACK
-101F8 PHAISTOS DISC SIGN FLUTE
-101F9 PHAISTOS DISC SIGN GRATER
-101FA PHAISTOS DISC SIGN STRAINER
-101FB PHAISTOS DISC SIGN SMALL AXE
-101FC PHAISTOS DISC SIGN WAVY BAND
-101FD PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280 LYCIAN LETTER A
-10281 LYCIAN LETTER E
-10282 LYCIAN LETTER B
-10283 LYCIAN LETTER BH
-10284 LYCIAN LETTER G
-10285 LYCIAN LETTER D
-10286 LYCIAN LETTER I
-10287 LYCIAN LETTER W
-10288 LYCIAN LETTER Z
-10289 LYCIAN LETTER TH
-1028A LYCIAN LETTER J
-1028B LYCIAN LETTER K
-1028C LYCIAN LETTER Q
-1028D LYCIAN LETTER L
-1028E LYCIAN LETTER M
-1028F LYCIAN LETTER N
-10290 LYCIAN LETTER MM
-10291 LYCIAN LETTER NN
-10292 LYCIAN LETTER U
-10293 LYCIAN LETTER P
-10294 LYCIAN LETTER KK
-10295 LYCIAN LETTER R
-10296 LYCIAN LETTER S
-10297 LYCIAN LETTER T
-10298 LYCIAN LETTER TT
-10299 LYCIAN LETTER AN
-1029A LYCIAN LETTER EN
-1029B LYCIAN LETTER H
-1029C LYCIAN LETTER X
-102A0 CARIAN LETTER A
-102A1 CARIAN LETTER P2
-102A2 CARIAN LETTER D
-102A3 CARIAN LETTER L
-102A4 CARIAN LETTER UUU
-102A5 CARIAN LETTER R
-102A6 CARIAN LETTER LD
-102A7 CARIAN LETTER A2
-102A8 CARIAN LETTER Q
-102A9 CARIAN LETTER B
-102AA CARIAN LETTER M
-102AB CARIAN LETTER O
-102AC CARIAN LETTER D2
-102AD CARIAN LETTER T
-102AE CARIAN LETTER SH
-102AF CARIAN LETTER SH2
-102B0 CARIAN LETTER S
-102B1 CARIAN LETTER C-18
-102B2 CARIAN LETTER U
-102B3 CARIAN LETTER NN
-102B4 CARIAN LETTER X
-102B5 CARIAN LETTER N
-102B6 CARIAN LETTER TT2
-102B7 CARIAN LETTER P
-102B8 CARIAN LETTER SS
-102B9 CARIAN LETTER I
-102BA CARIAN LETTER E
-102BB CARIAN LETTER UUUU
-102BC CARIAN LETTER K
-102BD CARIAN LETTER K2
-102BE CARIAN LETTER ND
-102BF CARIAN LETTER UU
-102C0 CARIAN LETTER G
-102C1 CARIAN LETTER G2
-102C2 CARIAN LETTER ST
-102C3 CARIAN LETTER ST2
-102C4 CARIAN LETTER NG
-102C5 CARIAN LETTER II
-102C6 CARIAN LETTER C-39
-102C7 CARIAN LETTER TT
-102C8 CARIAN LETTER UUU2
-102C9 CARIAN LETTER RR
-102CA CARIAN LETTER MB
-102CB CARIAN LETTER MB2
-102CC CARIAN LETTER MB3
-102CD CARIAN LETTER MB4
-102CE CARIAN LETTER LD2
-102CF CARIAN LETTER E2
-102D0 CARIAN LETTER UUU3
-10300 OLD ITALIC LETTER A
-10301 OLD ITALIC LETTER BE
-10302 OLD ITALIC LETTER KE
-10303 OLD ITALIC LETTER DE
-10304 OLD ITALIC LETTER E
-10305 OLD ITALIC LETTER VE
-10306 OLD ITALIC LETTER ZE
-10307 OLD ITALIC LETTER HE
-10308 OLD ITALIC LETTER THE
-10309 OLD ITALIC LETTER I
-1030A OLD ITALIC LETTER KA
-1030B OLD ITALIC LETTER EL
-1030C OLD ITALIC LETTER EM
-1030D OLD ITALIC LETTER EN
-1030E OLD ITALIC LETTER ESH
-1030F OLD ITALIC LETTER O
-10310 OLD ITALIC LETTER PE
-10311 OLD ITALIC LETTER SHE
-10312 OLD ITALIC LETTER KU
-10313 OLD ITALIC LETTER ER
-10314 OLD ITALIC LETTER ES
-10315 OLD ITALIC LETTER TE
-10316 OLD ITALIC LETTER U
-10317 OLD ITALIC LETTER EKS
-10318 OLD ITALIC LETTER PHE
-10319 OLD ITALIC LETTER KHE
-1031A OLD ITALIC LETTER EF
-1031B OLD ITALIC LETTER ERS
-1031C OLD ITALIC LETTER CHE
-1031D OLD ITALIC LETTER II
-1031E OLD ITALIC LETTER UU
-10320 OLD ITALIC NUMERAL ONE
-10321 OLD ITALIC NUMERAL FIVE
-10322 OLD ITALIC NUMERAL TEN
-10323 OLD ITALIC NUMERAL FIFTY
-10330 GOTHIC LETTER AHSA
-10331 GOTHIC LETTER BAIRKAN
-10332 GOTHIC LETTER GIBA
-10333 GOTHIC LETTER DAGS
-10334 GOTHIC LETTER AIHVUS
-10335 GOTHIC LETTER QAIRTHRA
-10336 GOTHIC LETTER IUJA
-10337 GOTHIC LETTER HAGL
-10338 GOTHIC LETTER THIUTH
-10339 GOTHIC LETTER EIS
-1033A GOTHIC LETTER KUSMA
-1033B GOTHIC LETTER LAGUS
-1033C GOTHIC LETTER MANNA
-1033D GOTHIC LETTER NAUTHS
-1033E GOTHIC LETTER JER
-1033F GOTHIC LETTER URUS
-10340 GOTHIC LETTER PAIRTHRA
-10341 GOTHIC LETTER NINETY
-10342 GOTHIC LETTER RAIDA
-10343 GOTHIC LETTER SAUIL
-10344 GOTHIC LETTER TEIWS
-10345 GOTHIC LETTER WINJA
-10346 GOTHIC LETTER FAIHU
-10347 GOTHIC LETTER IGGWS
-10348 GOTHIC LETTER HWAIR
-10349 GOTHIC LETTER OTHAL
-1034A GOTHIC LETTER NINE HUNDRED
-10380 UGARITIC LETTER ALPA
-10381 UGARITIC LETTER BETA
-10382 UGARITIC LETTER GAMLA
-10383 UGARITIC LETTER KHA
-10384 UGARITIC LETTER DELTA
-10385 UGARITIC LETTER HO
-10386 UGARITIC LETTER WO
-10387 UGARITIC LETTER ZETA
-10388 UGARITIC LETTER HOTA
-10389 UGARITIC LETTER TET
-1038A UGARITIC LETTER YOD
-1038B UGARITIC LETTER KAF
-1038C UGARITIC LETTER SHIN
-1038D UGARITIC LETTER LAMDA
-1038E UGARITIC LETTER MEM
-1038F UGARITIC LETTER DHAL
-10390 UGARITIC LETTER NUN
-10391 UGARITIC LETTER ZU
-10392 UGARITIC LETTER SAMKA
-10393 UGARITIC LETTER AIN
-10394 UGARITIC LETTER PU
-10395 UGARITIC LETTER SADE
-10396 UGARITIC LETTER QOPA
-10397 UGARITIC LETTER RASHA
-10398 UGARITIC LETTER THANNA
-10399 UGARITIC LETTER GHAIN
-1039A UGARITIC LETTER TO
-1039B UGARITIC LETTER I
-1039C UGARITIC LETTER U
-1039D UGARITIC LETTER SSU
-1039F UGARITIC WORD DIVIDER
-103A0 OLD PERSIAN SIGN A
-103A1 OLD PERSIAN SIGN I
-103A2 OLD PERSIAN SIGN U
-103A3 OLD PERSIAN SIGN KA
-103A4 OLD PERSIAN SIGN KU
-103A5 OLD PERSIAN SIGN GA
-103A6 OLD PERSIAN SIGN GU
-103A7 OLD PERSIAN SIGN XA
-103A8 OLD PERSIAN SIGN CA
-103A9 OLD PERSIAN SIGN JA
-103AA OLD PERSIAN SIGN JI
-103AB OLD PERSIAN SIGN TA
-103AC OLD PERSIAN SIGN TU
-103AD OLD PERSIAN SIGN DA
-103AE OLD PERSIAN SIGN DI
-103AF OLD PERSIAN SIGN DU
-103B0 OLD PERSIAN SIGN THA
-103B1 OLD PERSIAN SIGN PA
-103B2 OLD PERSIAN SIGN BA
-103B3 OLD PERSIAN SIGN FA
-103B4 OLD PERSIAN SIGN NA
-103B5 OLD PERSIAN SIGN NU
-103B6 OLD PERSIAN SIGN MA
-103B7 OLD PERSIAN SIGN MI
-103B8 OLD PERSIAN SIGN MU
-103B9 OLD PERSIAN SIGN YA
-103BA OLD PERSIAN SIGN VA
-103BB OLD PERSIAN SIGN VI
-103BC OLD PERSIAN SIGN RA
-103BD OLD PERSIAN SIGN RU
-103BE OLD PERSIAN SIGN LA
-103BF OLD PERSIAN SIGN SA
-103C0 OLD PERSIAN SIGN ZA
-103C1 OLD PERSIAN SIGN SHA
-103C2 OLD PERSIAN SIGN SSA
-103C3 OLD PERSIAN SIGN HA
-103C8 OLD PERSIAN SIGN AURAMAZDAA
-103C9 OLD PERSIAN SIGN AURAMAZDAA-2
-103CA OLD PERSIAN SIGN AURAMAZDAAHA
-103CB OLD PERSIAN SIGN XSHAAYATHIYA
-103CC OLD PERSIAN SIGN DAHYAAUSH
-103CD OLD PERSIAN SIGN DAHYAAUSH-2
-103CE OLD PERSIAN SIGN BAGA
-103CF OLD PERSIAN SIGN BUUMISH
-103D0 OLD PERSIAN WORD DIVIDER
-103D1 OLD PERSIAN NUMBER ONE
-103D2 OLD PERSIAN NUMBER TWO
-103D3 OLD PERSIAN NUMBER TEN
-103D4 OLD PERSIAN NUMBER TWENTY
-103D5 OLD PERSIAN NUMBER HUNDRED
-10400 DESERET CAPITAL LETTER LONG I
-10401 DESERET CAPITAL LETTER LONG E
-10402 DESERET CAPITAL LETTER LONG A
-10403 DESERET CAPITAL LETTER LONG AH
-10404 DESERET CAPITAL LETTER LONG O
-10405 DESERET CAPITAL LETTER LONG OO
-10406 DESERET CAPITAL LETTER SHORT I
-10407 DESERET CAPITAL LETTER SHORT E
-10408 DESERET CAPITAL LETTER SHORT A
-10409 DESERET CAPITAL LETTER SHORT AH
-1040A DESERET CAPITAL LETTER SHORT O
-1040B DESERET CAPITAL LETTER SHORT OO
-1040C DESERET CAPITAL LETTER AY
-1040D DESERET CAPITAL LETTER OW
-1040E DESERET CAPITAL LETTER WU
-1040F DESERET CAPITAL LETTER YEE
-10410 DESERET CAPITAL LETTER H
-10411 DESERET CAPITAL LETTER PEE
-10412 DESERET CAPITAL LETTER BEE
-10413 DESERET CAPITAL LETTER TEE
-10414 DESERET CAPITAL LETTER DEE
-10415 DESERET CAPITAL LETTER CHEE
-10416 DESERET CAPITAL LETTER JEE
-10417 DESERET CAPITAL LETTER KAY
-10418 DESERET CAPITAL LETTER GAY
-10419 DESERET CAPITAL LETTER EF
-1041A DESERET CAPITAL LETTER VEE
-1041B DESERET CAPITAL LETTER ETH
-1041C DESERET CAPITAL LETTER THEE
-1041D DESERET CAPITAL LETTER ES
-1041E DESERET CAPITAL LETTER ZEE
-1041F DESERET CAPITAL LETTER ESH
-10420 DESERET CAPITAL LETTER ZHEE
-10421 DESERET CAPITAL LETTER ER
-10422 DESERET CAPITAL LETTER EL
-10423 DESERET CAPITAL LETTER EM
-10424 DESERET CAPITAL LETTER EN
-10425 DESERET CAPITAL LETTER ENG
-10426 DESERET CAPITAL LETTER OI
-10427 DESERET CAPITAL LETTER EW
-10428 DESERET SMALL LETTER LONG I
-10429 DESERET SMALL LETTER LONG E
-1042A DESERET SMALL LETTER LONG A
-1042B DESERET SMALL LETTER LONG AH
-1042C DESERET SMALL LETTER LONG O
-1042D DESERET SMALL LETTER LONG OO
-1042E DESERET SMALL LETTER SHORT I
-1042F DESERET SMALL LETTER SHORT E
-10430 DESERET SMALL LETTER SHORT A
-10431 DESERET SMALL LETTER SHORT AH
-10432 DESERET SMALL LETTER SHORT O
-10433 DESERET SMALL LETTER SHORT OO
-10434 DESERET SMALL LETTER AY
-10435 DESERET SMALL LETTER OW
-10436 DESERET SMALL LETTER WU
-10437 DESERET SMALL LETTER YEE
-10438 DESERET SMALL LETTER H
-10439 DESERET SMALL LETTER PEE
-1043A DESERET SMALL LETTER BEE
-1043B DESERET SMALL LETTER TEE
-1043C DESERET SMALL LETTER DEE
-1043D DESERET SMALL LETTER CHEE
-1043E DESERET SMALL LETTER JEE
-1043F DESERET SMALL LETTER KAY
-10440 DESERET SMALL LETTER GAY
-10441 DESERET SMALL LETTER EF
-10442 DESERET SMALL LETTER VEE
-10443 DESERET SMALL LETTER ETH
-10444 DESERET SMALL LETTER THEE
-10445 DESERET SMALL LETTER ES
-10446 DESERET SMALL LETTER ZEE
-10447 DESERET SMALL LETTER ESH
-10448 DESERET SMALL LETTER ZHEE
-10449 DESERET SMALL LETTER ER
-1044A DESERET SMALL LETTER EL
-1044B DESERET SMALL LETTER EM
-1044C DESERET SMALL LETTER EN
-1044D DESERET SMALL LETTER ENG
-1044E DESERET SMALL LETTER OI
-1044F DESERET SMALL LETTER EW
-10450 SHAVIAN LETTER PEEP
-10451 SHAVIAN LETTER TOT
-10452 SHAVIAN LETTER KICK
-10453 SHAVIAN LETTER FEE
-10454 SHAVIAN LETTER THIGH
-10455 SHAVIAN LETTER SO
-10456 SHAVIAN LETTER SURE
-10457 SHAVIAN LETTER CHURCH
-10458 SHAVIAN LETTER YEA
-10459 SHAVIAN LETTER HUNG
-1045A SHAVIAN LETTER BIB
-1045B SHAVIAN LETTER DEAD
-1045C SHAVIAN LETTER GAG
-1045D SHAVIAN LETTER VOW
-1045E SHAVIAN LETTER THEY
-1045F SHAVIAN LETTER ZOO
-10460 SHAVIAN LETTER MEASURE
-10461 SHAVIAN LETTER JUDGE
-10462 SHAVIAN LETTER WOE
-10463 SHAVIAN LETTER HA-HA
-10464 SHAVIAN LETTER LOLL
-10465 SHAVIAN LETTER MIME
-10466 SHAVIAN LETTER IF
-10467 SHAVIAN LETTER EGG
-10468 SHAVIAN LETTER ASH
-10469 SHAVIAN LETTER ADO
-1046A SHAVIAN LETTER ON
-1046B SHAVIAN LETTER WOOL
-1046C SHAVIAN LETTER OUT
-1046D SHAVIAN LETTER AH
-1046E SHAVIAN LETTER ROAR
-1046F SHAVIAN LETTER NUN
-10470 SHAVIAN LETTER EAT
-10471 SHAVIAN LETTER AGE
-10472 SHAVIAN LETTER ICE
-10473 SHAVIAN LETTER UP
-10474 SHAVIAN LETTER OAK
-10475 SHAVIAN LETTER OOZE
-10476 SHAVIAN LETTER OIL
-10477 SHAVIAN LETTER AWE
-10478 SHAVIAN LETTER ARE
-10479 SHAVIAN LETTER OR
-1047A SHAVIAN LETTER AIR
-1047B SHAVIAN LETTER ERR
-1047C SHAVIAN LETTER ARRAY
-1047D SHAVIAN LETTER EAR
-1047E SHAVIAN LETTER IAN
-1047F SHAVIAN LETTER YEW
-10480 OSMANYA LETTER ALEF
-10481 OSMANYA LETTER BA
-10482 OSMANYA LETTER TA
-10483 OSMANYA LETTER JA
-10484 OSMANYA LETTER XA
-10485 OSMANYA LETTER KHA
-10486 OSMANYA LETTER DEEL
-10487 OSMANYA LETTER RA
-10488 OSMANYA LETTER SA
-10489 OSMANYA LETTER SHIIN
-1048A OSMANYA LETTER DHA
-1048B OSMANYA LETTER CAYN
-1048C OSMANYA LETTER GA
-1048D OSMANYA LETTER FA
-1048E OSMANYA LETTER QAAF
-1048F OSMANYA LETTER KAAF
-10490 OSMANYA LETTER LAAN
-10491 OSMANYA LETTER MIIN
-10492 OSMANYA LETTER NUUN
-10493 OSMANYA LETTER WAW
-10494 OSMANYA LETTER HA
-10495 OSMANYA LETTER YA
-10496 OSMANYA LETTER A
-10497 OSMANYA LETTER E
-10498 OSMANYA LETTER I
-10499 OSMANYA LETTER O
-1049A OSMANYA LETTER U
-1049B OSMANYA LETTER AA
-1049C OSMANYA LETTER EE
-1049D OSMANYA LETTER OO
-104A0 OSMANYA DIGIT ZERO
-104A1 OSMANYA DIGIT ONE
-104A2 OSMANYA DIGIT TWO
-104A3 OSMANYA DIGIT THREE
-104A4 OSMANYA DIGIT FOUR
-104A5 OSMANYA DIGIT FIVE
-104A6 OSMANYA DIGIT SIX
-104A7 OSMANYA DIGIT SEVEN
-104A8 OSMANYA DIGIT EIGHT
-104A9 OSMANYA DIGIT NINE
-10800 CYPRIOT SYLLABLE A
-10801 CYPRIOT SYLLABLE E
-10802 CYPRIOT SYLLABLE I
-10803 CYPRIOT SYLLABLE O
-10804 CYPRIOT SYLLABLE U
-10805 CYPRIOT SYLLABLE JA
-10808 CYPRIOT SYLLABLE JO
-1080A CYPRIOT SYLLABLE KA
-1080B CYPRIOT SYLLABLE KE
-1080C CYPRIOT SYLLABLE KI
-1080D CYPRIOT SYLLABLE KO
-1080E CYPRIOT SYLLABLE KU
-1080F CYPRIOT SYLLABLE LA
-10810 CYPRIOT SYLLABLE LE
-10811 CYPRIOT SYLLABLE LI
-10812 CYPRIOT SYLLABLE LO
-10813 CYPRIOT SYLLABLE LU
-10814 CYPRIOT SYLLABLE MA
-10815 CYPRIOT SYLLABLE ME
-10816 CYPRIOT SYLLABLE MI
-10817 CYPRIOT SYLLABLE MO
-10818 CYPRIOT SYLLABLE MU
-10819 CYPRIOT SYLLABLE NA
-1081A CYPRIOT SYLLABLE NE
-1081B CYPRIOT SYLLABLE NI
-1081C CYPRIOT SYLLABLE NO
-1081D CYPRIOT SYLLABLE NU
-1081E CYPRIOT SYLLABLE PA
-1081F CYPRIOT SYLLABLE PE
-10820 CYPRIOT SYLLABLE PI
-10821 CYPRIOT SYLLABLE PO
-10822 CYPRIOT SYLLABLE PU
-10823 CYPRIOT SYLLABLE RA
-10824 CYPRIOT SYLLABLE RE
-10825 CYPRIOT SYLLABLE RI
-10826 CYPRIOT SYLLABLE RO
-10827 CYPRIOT SYLLABLE RU
-10828 CYPRIOT SYLLABLE SA
-10829 CYPRIOT SYLLABLE SE
-1082A CYPRIOT SYLLABLE SI
-1082B CYPRIOT SYLLABLE SO
-1082C CYPRIOT SYLLABLE SU
-1082D CYPRIOT SYLLABLE TA
-1082E CYPRIOT SYLLABLE TE
-1082F CYPRIOT SYLLABLE TI
-10830 CYPRIOT SYLLABLE TO
-10831 CYPRIOT SYLLABLE TU
-10832 CYPRIOT SYLLABLE WA
-10833 CYPRIOT SYLLABLE WE
-10834 CYPRIOT SYLLABLE WI
-10835 CYPRIOT SYLLABLE WO
-10837 CYPRIOT SYLLABLE XA
-10838 CYPRIOT SYLLABLE XE
-1083C CYPRIOT SYLLABLE ZA
-1083F CYPRIOT SYLLABLE ZO
-10840 IMPERIAL ARAMAIC LETTER ALEPH
-10841 IMPERIAL ARAMAIC LETTER BETH
-10842 IMPERIAL ARAMAIC LETTER GIMEL
-10843 IMPERIAL ARAMAIC LETTER DALETH
-10844 IMPERIAL ARAMAIC LETTER HE
-10845 IMPERIAL ARAMAIC LETTER WAW
-10846 IMPERIAL ARAMAIC LETTER ZAYIN
-10847 IMPERIAL ARAMAIC LETTER HETH
-10848 IMPERIAL ARAMAIC LETTER TETH
-10849 IMPERIAL ARAMAIC LETTER YODH
-1084A IMPERIAL ARAMAIC LETTER KAPH
-1084B IMPERIAL ARAMAIC LETTER LAMEDH
-1084C IMPERIAL ARAMAIC LETTER MEM
-1084D IMPERIAL ARAMAIC LETTER NUN
-1084E IMPERIAL ARAMAIC LETTER SAMEKH
-1084F IMPERIAL ARAMAIC LETTER AYIN
-10850 IMPERIAL ARAMAIC LETTER PE
-10851 IMPERIAL ARAMAIC LETTER SADHE
-10852 IMPERIAL ARAMAIC LETTER QOPH
-10853 IMPERIAL ARAMAIC LETTER RESH
-10854 IMPERIAL ARAMAIC LETTER SHIN
-10855 IMPERIAL ARAMAIC LETTER TAW
-10857 IMPERIAL ARAMAIC SECTION SIGN
-10858 IMPERIAL ARAMAIC NUMBER ONE
-10859 IMPERIAL ARAMAIC NUMBER TWO
-1085A IMPERIAL ARAMAIC NUMBER THREE
-1085B IMPERIAL ARAMAIC NUMBER TEN
-1085C IMPERIAL ARAMAIC NUMBER TWENTY
-1085D IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900 PHOENICIAN LETTER ALF
-10901 PHOENICIAN LETTER BET
-10902 PHOENICIAN LETTER GAML
-10903 PHOENICIAN LETTER DELT
-10904 PHOENICIAN LETTER HE
-10905 PHOENICIAN LETTER WAU
-10906 PHOENICIAN LETTER ZAI
-10907 PHOENICIAN LETTER HET
-10908 PHOENICIAN LETTER TET
-10909 PHOENICIAN LETTER YOD
-1090A PHOENICIAN LETTER KAF
-1090B PHOENICIAN LETTER LAMD
-1090C PHOENICIAN LETTER MEM
-1090D PHOENICIAN LETTER NUN
-1090E PHOENICIAN LETTER SEMK
-1090F PHOENICIAN LETTER AIN
-10910 PHOENICIAN LETTER PE
-10911 PHOENICIAN LETTER SADE
-10912 PHOENICIAN LETTER QOF
-10913 PHOENICIAN LETTER ROSH
-10914 PHOENICIAN LETTER SHIN
-10915 PHOENICIAN LETTER TAU
-10916 PHOENICIAN NUMBER ONE
-10917 PHOENICIAN NUMBER TEN
-10918 PHOENICIAN NUMBER TWENTY
-10919 PHOENICIAN NUMBER ONE HUNDRED
-1091A PHOENICIAN NUMBER TWO
-1091B PHOENICIAN NUMBER THREE
-1091F PHOENICIAN WORD SEPARATOR
-10920 LYDIAN LETTER A
-10921 LYDIAN LETTER B
-10922 LYDIAN LETTER G
-10923 LYDIAN LETTER D
-10924 LYDIAN LETTER E
-10925 LYDIAN LETTER V
-10926 LYDIAN LETTER I
-10927 LYDIAN LETTER Y
-10928 LYDIAN LETTER K
-10929 LYDIAN LETTER L
-1092A LYDIAN LETTER M
-1092B LYDIAN LETTER N
-1092C LYDIAN LETTER O
-1092D LYDIAN LETTER R
-1092E LYDIAN LETTER SS
-1092F LYDIAN LETTER T
-10930 LYDIAN LETTER U
-10931 LYDIAN LETTER F
-10932 LYDIAN LETTER Q
-10933 LYDIAN LETTER S
-10934 LYDIAN LETTER TT
-10935 LYDIAN LETTER AN
-10936 LYDIAN LETTER EN
-10937 LYDIAN LETTER LY
-10938 LYDIAN LETTER NN
-10939 LYDIAN LETTER C
-1093F LYDIAN TRIANGULAR MARK
-10A00 KHAROSHTHI LETTER A
-10A01 KHAROSHTHI VOWEL SIGN I
-10A02 KHAROSHTHI VOWEL SIGN U
-10A03 KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 KHAROSHTHI VOWEL SIGN E
-10A06 KHAROSHTHI VOWEL SIGN O
-10A0C KHAROSHTHI VOWEL LENGTH MARK
-10A0D KHAROSHTHI SIGN DOUBLE RING BELOW
-10A0E KHAROSHTHI SIGN ANUSVARA
-10A0F KHAROSHTHI SIGN VISARGA
-10A10 KHAROSHTHI LETTER KA
-10A11 KHAROSHTHI LETTER KHA
-10A12 KHAROSHTHI LETTER GA
-10A13 KHAROSHTHI LETTER GHA
-10A15 KHAROSHTHI LETTER CA
-10A16 KHAROSHTHI LETTER CHA
-10A17 KHAROSHTHI LETTER JA
-10A19 KHAROSHTHI LETTER NYA
-10A1A KHAROSHTHI LETTER TTA
-10A1B KHAROSHTHI LETTER TTHA
-10A1C KHAROSHTHI LETTER DDA
-10A1D KHAROSHTHI LETTER DDHA
-10A1E KHAROSHTHI LETTER NNA
-10A1F KHAROSHTHI LETTER TA
-10A20 KHAROSHTHI LETTER THA
-10A21 KHAROSHTHI LETTER DA
-10A22 KHAROSHTHI LETTER DHA
-10A23 KHAROSHTHI LETTER NA
-10A24 KHAROSHTHI LETTER PA
-10A25 KHAROSHTHI LETTER PHA
-10A26 KHAROSHTHI LETTER BA
-10A27 KHAROSHTHI LETTER BHA
-10A28 KHAROSHTHI LETTER MA
-10A29 KHAROSHTHI LETTER YA
-10A2A KHAROSHTHI LETTER RA
-10A2B KHAROSHTHI LETTER LA
-10A2C KHAROSHTHI LETTER VA
-10A2D KHAROSHTHI LETTER SHA
-10A2E KHAROSHTHI LETTER SSA
-10A2F KHAROSHTHI LETTER SA
-10A30 KHAROSHTHI LETTER ZA
-10A31 KHAROSHTHI LETTER HA
-10A32 KHAROSHTHI LETTER KKA
-10A33 KHAROSHTHI LETTER TTTHA
-10A38 KHAROSHTHI SIGN BAR ABOVE
-10A39 KHAROSHTHI SIGN CAUDA
-10A3A KHAROSHTHI SIGN DOT BELOW
-10A3F KHAROSHTHI VIRAMA
-10A40 KHAROSHTHI DIGIT ONE
-10A41 KHAROSHTHI DIGIT TWO
-10A42 KHAROSHTHI DIGIT THREE
-10A43 KHAROSHTHI DIGIT FOUR
-10A44 KHAROSHTHI NUMBER TEN
-10A45 KHAROSHTHI NUMBER TWENTY
-10A46 KHAROSHTHI NUMBER ONE HUNDRED
-10A47 KHAROSHTHI NUMBER ONE THOUSAND
-10A50 KHAROSHTHI PUNCTUATION DOT
-10A51 KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 KHAROSHTHI PUNCTUATION CIRCLE
-10A53 KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 KHAROSHTHI PUNCTUATION MANGALAM
-10A55 KHAROSHTHI PUNCTUATION LOTUS
-10A56 KHAROSHTHI PUNCTUATION DANDA
-10A57 KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 KHAROSHTHI PUNCTUATION LINES
-10A60 OLD SOUTH ARABIAN LETTER HE
-10A61 OLD SOUTH ARABIAN LETTER LAMEDH
-10A62 OLD SOUTH ARABIAN LETTER HETH
-10A63 OLD SOUTH ARABIAN LETTER MEM
-10A64 OLD SOUTH ARABIAN LETTER QOPH
-10A65 OLD SOUTH ARABIAN LETTER WAW
-10A66 OLD SOUTH ARABIAN LETTER SHIN
-10A67 OLD SOUTH ARABIAN LETTER RESH
-10A68 OLD SOUTH ARABIAN LETTER BETH
-10A69 OLD SOUTH ARABIAN LETTER TAW
-10A6A OLD SOUTH ARABIAN LETTER SAT
-10A6B OLD SOUTH ARABIAN LETTER KAPH
-10A6C OLD SOUTH ARABIAN LETTER NUN
-10A6D OLD SOUTH ARABIAN LETTER KHETH
-10A6E OLD SOUTH ARABIAN LETTER SADHE
-10A6F OLD SOUTH ARABIAN LETTER SAMEKH
-10A70 OLD SOUTH ARABIAN LETTER FE
-10A71 OLD SOUTH ARABIAN LETTER ALEF
-10A72 OLD SOUTH ARABIAN LETTER AYN
-10A73 OLD SOUTH ARABIAN LETTER DHADHE
-10A74 OLD SOUTH ARABIAN LETTER GIMEL
-10A75 OLD SOUTH ARABIAN LETTER DALETH
-10A76 OLD SOUTH ARABIAN LETTER GHAYN
-10A77 OLD SOUTH ARABIAN LETTER TETH
-10A78 OLD SOUTH ARABIAN LETTER ZAYN
-10A79 OLD SOUTH ARABIAN LETTER DHALETH
-10A7A OLD SOUTH ARABIAN LETTER YODH
-10A7B OLD SOUTH ARABIAN LETTER THAW
-10A7C OLD SOUTH ARABIAN LETTER THETH
-10A7D OLD SOUTH ARABIAN NUMBER ONE
-10A7E OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00 AVESTAN LETTER A
-10B01 AVESTAN LETTER AA
-10B02 AVESTAN LETTER AO
-10B03 AVESTAN LETTER AAO
-10B04 AVESTAN LETTER AN
-10B05 AVESTAN LETTER AAN
-10B06 AVESTAN LETTER AE
-10B07 AVESTAN LETTER AEE
-10B08 AVESTAN LETTER E
-10B09 AVESTAN LETTER EE
-10B0A AVESTAN LETTER O
-10B0B AVESTAN LETTER OO
-10B0C AVESTAN LETTER I
-10B0D AVESTAN LETTER II
-10B0E AVESTAN LETTER U
-10B0F AVESTAN LETTER UU
-10B10 AVESTAN LETTER KE
-10B11 AVESTAN LETTER XE
-10B12 AVESTAN LETTER XYE
-10B13 AVESTAN LETTER XVE
-10B14 AVESTAN LETTER GE
-10B15 AVESTAN LETTER GGE
-10B16 AVESTAN LETTER GHE
-10B17 AVESTAN LETTER CE
-10B18 AVESTAN LETTER JE
-10B19 AVESTAN LETTER TE
-10B1A AVESTAN LETTER THE
-10B1B AVESTAN LETTER DE
-10B1C AVESTAN LETTER DHE
-10B1D AVESTAN LETTER TTE
-10B1E AVESTAN LETTER PE
-10B1F AVESTAN LETTER FE
-10B20 AVESTAN LETTER BE
-10B21 AVESTAN LETTER BHE
-10B22 AVESTAN LETTER NGE
-10B23 AVESTAN LETTER NGYE
-10B24 AVESTAN LETTER NGVE
-10B25 AVESTAN LETTER NE
-10B26 AVESTAN LETTER NYE
-10B27 AVESTAN LETTER NNE
-10B28 AVESTAN LETTER ME
-10B29 AVESTAN LETTER HME
-10B2A AVESTAN LETTER YYE
-10B2B AVESTAN LETTER YE
-10B2C AVESTAN LETTER VE
-10B2D AVESTAN LETTER RE
-10B2E AVESTAN LETTER LE
-10B2F AVESTAN LETTER SE
-10B30 AVESTAN LETTER ZE
-10B31 AVESTAN LETTER SHE
-10B32 AVESTAN LETTER ZHE
-10B33 AVESTAN LETTER SHYE
-10B34 AVESTAN LETTER SSHE
-10B35 AVESTAN LETTER HE
-10B39 AVESTAN ABBREVIATION MARK
-10B3A TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B40 INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41 INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42 INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43 INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44 INSCRIPTIONAL PARTHIAN LETTER HE
-10B45 INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46 INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47 INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48 INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49 INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50 INSCRIPTIONAL PARTHIAN LETTER PE
-10B51 INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52 INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53 INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54 INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55 INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58 INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B59 INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B5A INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B5B INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B5C INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60 INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61 INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62 INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63 INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64 INSCRIPTIONAL PAHLAVI LETTER HE
-10B65 INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66 INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67 INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68 INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69 INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F INSCRIPTIONAL PAHLAVI LETTER PE
-10B70 INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71 INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72 INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78 INSCRIPTIONAL PAHLAVI NUMBER ONE
-10B79 INSCRIPTIONAL PAHLAVI NUMBER TWO
-10B7A INSCRIPTIONAL PAHLAVI NUMBER THREE
-10B7B INSCRIPTIONAL PAHLAVI NUMBER FOUR
-10B7C INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00 OLD TURKIC LETTER ORKHON A
-10C01 OLD TURKIC LETTER YENISEI A
-10C02 OLD TURKIC LETTER YENISEI AE
-10C03 OLD TURKIC LETTER ORKHON I
-10C04 OLD TURKIC LETTER YENISEI I
-10C05 OLD TURKIC LETTER YENISEI E
-10C06 OLD TURKIC LETTER ORKHON O
-10C07 OLD TURKIC LETTER ORKHON OE
-10C08 OLD TURKIC LETTER YENISEI OE
-10C09 OLD TURKIC LETTER ORKHON AB
-10C0A OLD TURKIC LETTER YENISEI AB
-10C0B OLD TURKIC LETTER ORKHON AEB
-10C0C OLD TURKIC LETTER YENISEI AEB
-10C0D OLD TURKIC LETTER ORKHON AG
-10C0E OLD TURKIC LETTER YENISEI AG
-10C0F OLD TURKIC LETTER ORKHON AEG
-10C10 OLD TURKIC LETTER YENISEI AEG
-10C11 OLD TURKIC LETTER ORKHON AD
-10C12 OLD TURKIC LETTER YENISEI AD
-10C13 OLD TURKIC LETTER ORKHON AED
-10C14 OLD TURKIC LETTER ORKHON EZ
-10C15 OLD TURKIC LETTER YENISEI EZ
-10C16 OLD TURKIC LETTER ORKHON AY
-10C17 OLD TURKIC LETTER YENISEI AY
-10C18 OLD TURKIC LETTER ORKHON AEY
-10C19 OLD TURKIC LETTER YENISEI AEY
-10C1A OLD TURKIC LETTER ORKHON AEK
-10C1B OLD TURKIC LETTER YENISEI AEK
-10C1C OLD TURKIC LETTER ORKHON OEK
-10C1D OLD TURKIC LETTER YENISEI OEK
-10C1E OLD TURKIC LETTER ORKHON AL
-10C1F OLD TURKIC LETTER YENISEI AL
-10C20 OLD TURKIC LETTER ORKHON AEL
-10C21 OLD TURKIC LETTER ORKHON ELT
-10C22 OLD TURKIC LETTER ORKHON EM
-10C23 OLD TURKIC LETTER ORKHON AN
-10C24 OLD TURKIC LETTER ORKHON AEN
-10C25 OLD TURKIC LETTER YENISEI AEN
-10C26 OLD TURKIC LETTER ORKHON ENT
-10C27 OLD TURKIC LETTER YENISEI ENT
-10C28 OLD TURKIC LETTER ORKHON ENC
-10C29 OLD TURKIC LETTER YENISEI ENC
-10C2A OLD TURKIC LETTER ORKHON ENY
-10C2B OLD TURKIC LETTER YENISEI ENY
-10C2C OLD TURKIC LETTER YENISEI ANG
-10C2D OLD TURKIC LETTER ORKHON ENG
-10C2E OLD TURKIC LETTER YENISEI AENG
-10C2F OLD TURKIC LETTER ORKHON EP
-10C30 OLD TURKIC LETTER ORKHON OP
-10C31 OLD TURKIC LETTER ORKHON IC
-10C32 OLD TURKIC LETTER ORKHON EC
-10C33 OLD TURKIC LETTER YENISEI EC
-10C34 OLD TURKIC LETTER ORKHON AQ
-10C35 OLD TURKIC LETTER YENISEI AQ
-10C36 OLD TURKIC LETTER ORKHON IQ
-10C37 OLD TURKIC LETTER YENISEI IQ
-10C38 OLD TURKIC LETTER ORKHON OQ
-10C39 OLD TURKIC LETTER YENISEI OQ
-10C3A OLD TURKIC LETTER ORKHON AR
-10C3B OLD TURKIC LETTER YENISEI AR
-10C3C OLD TURKIC LETTER ORKHON AER
-10C3D OLD TURKIC LETTER ORKHON AS
-10C3E OLD TURKIC LETTER ORKHON AES
-10C3F OLD TURKIC LETTER ORKHON ASH
-10C40 OLD TURKIC LETTER YENISEI ASH
-10C41 OLD TURKIC LETTER ORKHON ESH
-10C42 OLD TURKIC LETTER YENISEI ESH
-10C43 OLD TURKIC LETTER ORKHON AT
-10C44 OLD TURKIC LETTER YENISEI AT
-10C45 OLD TURKIC LETTER ORKHON AET
-10C46 OLD TURKIC LETTER YENISEI AET
-10C47 OLD TURKIC LETTER ORKHON OT
-10C48 OLD TURKIC LETTER ORKHON BASH
-10E60 RUMI DIGIT ONE
-10E61 RUMI DIGIT TWO
-10E62 RUMI DIGIT THREE
-10E63 RUMI DIGIT FOUR
-10E64 RUMI DIGIT FIVE
-10E65 RUMI DIGIT SIX
-10E66 RUMI DIGIT SEVEN
-10E67 RUMI DIGIT EIGHT
-10E68 RUMI DIGIT NINE
-10E69 RUMI NUMBER TEN
-10E6A RUMI NUMBER TWENTY
-10E6B RUMI NUMBER THIRTY
-10E6C RUMI NUMBER FORTY
-10E6D RUMI NUMBER FIFTY
-10E6E RUMI NUMBER SIXTY
-10E6F RUMI NUMBER SEVENTY
-10E70 RUMI NUMBER EIGHTY
-10E71 RUMI NUMBER NINETY
-10E72 RUMI NUMBER ONE HUNDRED
-10E73 RUMI NUMBER TWO HUNDRED
-10E74 RUMI NUMBER THREE HUNDRED
-10E75 RUMI NUMBER FOUR HUNDRED
-10E76 RUMI NUMBER FIVE HUNDRED
-10E77 RUMI NUMBER SIX HUNDRED
-10E78 RUMI NUMBER SEVEN HUNDRED
-10E79 RUMI NUMBER EIGHT HUNDRED
-10E7A RUMI NUMBER NINE HUNDRED
-10E7B RUMI FRACTION ONE HALF
-10E7C RUMI FRACTION ONE QUARTER
-10E7D RUMI FRACTION ONE THIRD
-10E7E RUMI FRACTION TWO THIRDS
-11080 KAITHI SIGN CANDRABINDU
-11081 KAITHI SIGN ANUSVARA
-11082 KAITHI SIGN VISARGA
-11083 KAITHI LETTER A
-11084 KAITHI LETTER AA
-11085 KAITHI LETTER I
-11086 KAITHI LETTER II
-11087 KAITHI LETTER U
-11088 KAITHI LETTER UU
-11089 KAITHI LETTER E
-1108A KAITHI LETTER AI
-1108B KAITHI LETTER O
-1108C KAITHI LETTER AU
-1108D KAITHI LETTER KA
-1108E KAITHI LETTER KHA
-1108F KAITHI LETTER GA
-11090 KAITHI LETTER GHA
-11091 KAITHI LETTER NGA
-11092 KAITHI LETTER CA
-11093 KAITHI LETTER CHA
-11094 KAITHI LETTER JA
-11095 KAITHI LETTER JHA
-11096 KAITHI LETTER NYA
-11097 KAITHI LETTER TTA
-11098 KAITHI LETTER TTHA
-11099 KAITHI LETTER DDA
-1109A KAITHI LETTER DDDHA
-1109B KAITHI LETTER DDHA
-1109C KAITHI LETTER RHA
-1109D KAITHI LETTER NNA
-1109E KAITHI LETTER TA
-1109F KAITHI LETTER THA
-110A0 KAITHI LETTER DA
-110A1 KAITHI LETTER DHA
-110A2 KAITHI LETTER NA
-110A3 KAITHI LETTER PA
-110A4 KAITHI LETTER PHA
-110A5 KAITHI LETTER BA
-110A6 KAITHI LETTER BHA
-110A7 KAITHI LETTER MA
-110A8 KAITHI LETTER YA
-110A9 KAITHI LETTER RA
-110AA KAITHI LETTER LA
-110AB KAITHI LETTER VA
-110AC KAITHI LETTER SHA
-110AD KAITHI LETTER SSA
-110AE KAITHI LETTER SA
-110AF KAITHI LETTER HA
-110B0 KAITHI VOWEL SIGN AA
-110B1 KAITHI VOWEL SIGN I
-110B2 KAITHI VOWEL SIGN II
-110B3 KAITHI VOWEL SIGN U
-110B4 KAITHI VOWEL SIGN UU
-110B5 KAITHI VOWEL SIGN E
-110B6 KAITHI VOWEL SIGN AI
-110B7 KAITHI VOWEL SIGN O
-110B8 KAITHI VOWEL SIGN AU
-110B9 KAITHI SIGN VIRAMA
-110BA KAITHI SIGN NUKTA
-110BB KAITHI ABBREVIATION SIGN
-110BC KAITHI ENUMERATION SIGN
-110BD KAITHI NUMBER SIGN
-110BE KAITHI SECTION MARK
-110BF KAITHI DOUBLE SECTION MARK
-110C0 KAITHI DANDA
-110C1 KAITHI DOUBLE DANDA
-12000 CUNEIFORM SIGN A
-12001 CUNEIFORM SIGN A TIMES A
-12002 CUNEIFORM SIGN A TIMES BAD
-12003 CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 CUNEIFORM SIGN A TIMES HA
-12005 CUNEIFORM SIGN A TIMES IGI
-12006 CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 CUNEIFORM SIGN A TIMES MUSH
-12008 CUNEIFORM SIGN A TIMES SAG
-12009 CUNEIFORM SIGN A2
-1200A CUNEIFORM SIGN AB
-1200B CUNEIFORM SIGN AB TIMES ASH2
-1200C CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D CUNEIFORM SIGN AB TIMES GAL
-1200E CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F CUNEIFORM SIGN AB TIMES HA
-12010 CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 CUNEIFORM SIGN AB TIMES IMIN
-12012 CUNEIFORM SIGN AB TIMES LAGAB
-12013 CUNEIFORM SIGN AB TIMES SHESH
-12014 CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 CUNEIFORM SIGN AB GUNU
-12016 CUNEIFORM SIGN AB2
-12017 CUNEIFORM SIGN AB2 TIMES BALAG
-12018 CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A CUNEIFORM SIGN AB2 TIMES SHA3
-1201B CUNEIFORM SIGN AB2 TIMES TAK4
-1201C CUNEIFORM SIGN AD
-1201D CUNEIFORM SIGN AK
-1201E CUNEIFORM SIGN AK TIMES ERIN2
-1201F CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 CUNEIFORM SIGN AL
-12021 CUNEIFORM SIGN AL TIMES AL
-12022 CUNEIFORM SIGN AL TIMES DIM2
-12023 CUNEIFORM SIGN AL TIMES GISH
-12024 CUNEIFORM SIGN AL TIMES HA
-12025 CUNEIFORM SIGN AL TIMES KAD3
-12026 CUNEIFORM SIGN AL TIMES KI
-12027 CUNEIFORM SIGN AL TIMES SHE
-12028 CUNEIFORM SIGN AL TIMES USH
-12029 CUNEIFORM SIGN ALAN
-1202A CUNEIFORM SIGN ALEPH
-1202B CUNEIFORM SIGN AMAR
-1202C CUNEIFORM SIGN AMAR TIMES SHE
-1202D CUNEIFORM SIGN AN
-1202E CUNEIFORM SIGN AN OVER AN
-1202F CUNEIFORM SIGN AN THREE TIMES
-12030 CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 CUNEIFORM SIGN ANSHE
-12033 CUNEIFORM SIGN APIN
-12034 CUNEIFORM SIGN ARAD
-12035 CUNEIFORM SIGN ARAD TIMES KUR
-12036 CUNEIFORM SIGN ARKAB
-12037 CUNEIFORM SIGN ASAL2
-12038 CUNEIFORM SIGN ASH
-12039 CUNEIFORM SIGN ASH ZIDA TENU
-1203A CUNEIFORM SIGN ASH KABA TENU
-1203B CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E CUNEIFORM SIGN ASH2
-1203F CUNEIFORM SIGN ASHGAB
-12040 CUNEIFORM SIGN BA
-12041 CUNEIFORM SIGN BAD
-12042 CUNEIFORM SIGN BAG3
-12043 CUNEIFORM SIGN BAHAR2
-12044 CUNEIFORM SIGN BAL
-12045 CUNEIFORM SIGN BAL OVER BAL
-12046 CUNEIFORM SIGN BALAG
-12047 CUNEIFORM SIGN BAR
-12048 CUNEIFORM SIGN BARA2
-12049 CUNEIFORM SIGN BI
-1204A CUNEIFORM SIGN BI TIMES A
-1204B CUNEIFORM SIGN BI TIMES GAR
-1204C CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D CUNEIFORM SIGN BU
-1204E CUNEIFORM SIGN BU OVER BU AB
-1204F CUNEIFORM SIGN BU OVER BU UN
-12050 CUNEIFORM SIGN BU CROSSING BU
-12051 CUNEIFORM SIGN BULUG
-12052 CUNEIFORM SIGN BULUG OVER BULUG
-12053 CUNEIFORM SIGN BUR
-12054 CUNEIFORM SIGN BUR2
-12055 CUNEIFORM SIGN DA
-12056 CUNEIFORM SIGN DAG
-12057 CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E CUNEIFORM SIGN DAM
-1206F CUNEIFORM SIGN DAR
-12070 CUNEIFORM SIGN DARA3
-12071 CUNEIFORM SIGN DARA4
-12072 CUNEIFORM SIGN DI
-12073 CUNEIFORM SIGN DIB
-12074 CUNEIFORM SIGN DIM
-12075 CUNEIFORM SIGN DIM TIMES SHE
-12076 CUNEIFORM SIGN DIM2
-12077 CUNEIFORM SIGN DIN
-12078 CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 CUNEIFORM SIGN DISH
-1207A CUNEIFORM SIGN DU
-1207B CUNEIFORM SIGN DU OVER DU
-1207C CUNEIFORM SIGN DU GUNU
-1207D CUNEIFORM SIGN DU SHESHIG
-1207E CUNEIFORM SIGN DUB
-1207F CUNEIFORM SIGN DUB TIMES ESH2
-12080 CUNEIFORM SIGN DUB2
-12081 CUNEIFORM SIGN DUG
-12082 CUNEIFORM SIGN DUGUD
-12083 CUNEIFORM SIGN DUH
-12084 CUNEIFORM SIGN DUN
-12085 CUNEIFORM SIGN DUN3
-12086 CUNEIFORM SIGN DUN3 GUNU
-12087 CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 CUNEIFORM SIGN DUN4
-12089 CUNEIFORM SIGN DUR2
-1208A CUNEIFORM SIGN E
-1208B CUNEIFORM SIGN E TIMES PAP
-1208C CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D CUNEIFORM SIGN E2
-1208E CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F CUNEIFORM SIGN E2 TIMES GAR
-12090 CUNEIFORM SIGN E2 TIMES MI
-12091 CUNEIFORM SIGN E2 TIMES SAL
-12092 CUNEIFORM SIGN E2 TIMES SHE
-12093 CUNEIFORM SIGN E2 TIMES U
-12094 CUNEIFORM SIGN EDIN
-12095 CUNEIFORM SIGN EGIR
-12096 CUNEIFORM SIGN EL
-12097 CUNEIFORM SIGN EN
-12098 CUNEIFORM SIGN EN TIMES GAN2
-12099 CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A CUNEIFORM SIGN EN TIMES ME
-1209B CUNEIFORM SIGN EN CROSSING EN
-1209C CUNEIFORM SIGN EN OPPOSING EN
-1209D CUNEIFORM SIGN EN SQUARED
-1209E CUNEIFORM SIGN EREN
-1209F CUNEIFORM SIGN ERIN2
-120A0 CUNEIFORM SIGN ESH2
-120A1 CUNEIFORM SIGN EZEN
-120A2 CUNEIFORM SIGN EZEN TIMES A
-120A3 CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 CUNEIFORM SIGN EZEN TIMES AN
-120A6 CUNEIFORM SIGN EZEN TIMES BAD
-120A7 CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 CUNEIFORM SIGN EZEN TIMES HA
-120AA CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE CUNEIFORM SIGN EZEN TIMES KU3
-120AF CUNEIFORM SIGN EZEN TIMES LA
-120B0 CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 CUNEIFORM SIGN EZEN TIMES LI
-120B2 CUNEIFORM SIGN EZEN TIMES LU
-120B3 CUNEIFORM SIGN EZEN TIMES U2
-120B4 CUNEIFORM SIGN EZEN TIMES UD
-120B5 CUNEIFORM SIGN GA
-120B6 CUNEIFORM SIGN GA GUNU
-120B7 CUNEIFORM SIGN GA2
-120B8 CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC CUNEIFORM SIGN GA2 TIMES AN
-120BD CUNEIFORM SIGN GA2 TIMES ASH
-120BE CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF CUNEIFORM SIGN GA2 TIMES BAD
-120C0 CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 CUNEIFORM SIGN GA2 TIMES BUR
-120C2 CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 CUNEIFORM SIGN GA2 TIMES DA
-120C4 CUNEIFORM SIGN GA2 TIMES DI
-120C5 CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 CUNEIFORM SIGN GA2 TIMES DUB
-120C7 CUNEIFORM SIGN GA2 TIMES EL
-120C8 CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 CUNEIFORM SIGN GA2 TIMES EN
-120CA CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC CUNEIFORM SIGN GA2 TIMES GAR
-120CD CUNEIFORM SIGN GA2 TIMES GI
-120CE CUNEIFORM SIGN GA2 TIMES GI4
-120CF CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 CUNEIFORM SIGN GA2 TIMES HAL
-120D3 CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 CUNEIFORM SIGN GA2 TIMES KAK
-120D9 CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA CUNEIFORM SIGN GA2 TIMES KID
-120DB CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD CUNEIFORM SIGN GA2 TIMES LA
-120DE CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF CUNEIFORM SIGN GA2 TIMES MI
-120E0 CUNEIFORM SIGN GA2 TIMES NUN
-120E1 CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 CUNEIFORM SIGN GA2 TIMES PA
-120E3 CUNEIFORM SIGN GA2 TIMES SAL
-120E4 CUNEIFORM SIGN GA2 TIMES SAR
-120E5 CUNEIFORM SIGN GA2 TIMES SHE
-120E6 CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 CUNEIFORM SIGN GA2 TIMES SHID
-120E8 CUNEIFORM SIGN GA2 TIMES SUM
-120E9 CUNEIFORM SIGN GA2 TIMES TAK4
-120EA CUNEIFORM SIGN GA2 TIMES U
-120EB CUNEIFORM SIGN GA2 TIMES UD
-120EC CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED CUNEIFORM SIGN GA2 OVER GA2
-120EE CUNEIFORM SIGN GABA
-120EF CUNEIFORM SIGN GABA CROSSING GABA
-120F0 CUNEIFORM SIGN GAD
-120F1 CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 CUNEIFORM SIGN GAL
-120F3 CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 CUNEIFORM SIGN GALAM
-120F5 CUNEIFORM SIGN GAM
-120F6 CUNEIFORM SIGN GAN
-120F7 CUNEIFORM SIGN GAN2
-120F8 CUNEIFORM SIGN GAN2 TENU
-120F9 CUNEIFORM SIGN GAN2 OVER GAN2
-120FA CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB CUNEIFORM SIGN GAR
-120FC CUNEIFORM SIGN GAR3
-120FD CUNEIFORM SIGN GASHAN
-120FE CUNEIFORM SIGN GESHTIN
-120FF CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 CUNEIFORM SIGN GI
-12101 CUNEIFORM SIGN GI TIMES E
-12102 CUNEIFORM SIGN GI TIMES U
-12103 CUNEIFORM SIGN GI CROSSING GI
-12104 CUNEIFORM SIGN GI4
-12105 CUNEIFORM SIGN GI4 OVER GI4
-12106 CUNEIFORM SIGN GI4 CROSSING GI4
-12107 CUNEIFORM SIGN GIDIM
-12108 CUNEIFORM SIGN GIR2
-12109 CUNEIFORM SIGN GIR2 GUNU
-1210A CUNEIFORM SIGN GIR3
-1210B CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D CUNEIFORM SIGN GIR3 TIMES IGI
-1210E CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F CUNEIFORM SIGN GIR3 TIMES PA
-12110 CUNEIFORM SIGN GISAL
-12111 CUNEIFORM SIGN GISH
-12112 CUNEIFORM SIGN GISH CROSSING GISH
-12113 CUNEIFORM SIGN GISH TIMES BAD
-12114 CUNEIFORM SIGN GISH TIMES TAK4
-12115 CUNEIFORM SIGN GISH TENU
-12116 CUNEIFORM SIGN GU
-12117 CUNEIFORM SIGN GU CROSSING GU
-12118 CUNEIFORM SIGN GU2
-12119 CUNEIFORM SIGN GU2 TIMES KAK
-1211A CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B CUNEIFORM SIGN GU2 TIMES NUN
-1211C CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D CUNEIFORM SIGN GU2 GUNU
-1211E CUNEIFORM SIGN GUD
-1211F CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 CUNEIFORM SIGN GUD TIMES KUR
-12121 CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 CUNEIFORM SIGN GUL
-12123 CUNEIFORM SIGN GUM
-12124 CUNEIFORM SIGN GUM TIMES SHE
-12125 CUNEIFORM SIGN GUR
-12126 CUNEIFORM SIGN GUR7
-12127 CUNEIFORM SIGN GURUN
-12128 CUNEIFORM SIGN GURUSH
-12129 CUNEIFORM SIGN HA
-1212A CUNEIFORM SIGN HA TENU
-1212B CUNEIFORM SIGN HA GUNU
-1212C CUNEIFORM SIGN HAL
-1212D CUNEIFORM SIGN HI
-1212E CUNEIFORM SIGN HI TIMES ASH
-1212F CUNEIFORM SIGN HI TIMES ASH2
-12130 CUNEIFORM SIGN HI TIMES BAD
-12131 CUNEIFORM SIGN HI TIMES DISH
-12132 CUNEIFORM SIGN HI TIMES GAD
-12133 CUNEIFORM SIGN HI TIMES KIN
-12134 CUNEIFORM SIGN HI TIMES NUN
-12135 CUNEIFORM SIGN HI TIMES SHE
-12136 CUNEIFORM SIGN HI TIMES U
-12137 CUNEIFORM SIGN HU
-12138 CUNEIFORM SIGN HUB2
-12139 CUNEIFORM SIGN HUB2 TIMES AN
-1213A CUNEIFORM SIGN HUB2 TIMES HAL
-1213B CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C CUNEIFORM SIGN HUB2 TIMES LISH
-1213D CUNEIFORM SIGN HUB2 TIMES UD
-1213E CUNEIFORM SIGN HUL2
-1213F CUNEIFORM SIGN I
-12140 CUNEIFORM SIGN I A
-12141 CUNEIFORM SIGN IB
-12142 CUNEIFORM SIGN IDIM
-12143 CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 CUNEIFORM SIGN IG
-12146 CUNEIFORM SIGN IGI
-12147 CUNEIFORM SIGN IGI DIB
-12148 CUNEIFORM SIGN IGI RI
-12149 CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A CUNEIFORM SIGN IGI GUNU
-1214B CUNEIFORM SIGN IL
-1214C CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D CUNEIFORM SIGN IL2
-1214E CUNEIFORM SIGN IM
-1214F CUNEIFORM SIGN IM TIMES TAK4
-12150 CUNEIFORM SIGN IM CROSSING IM
-12151 CUNEIFORM SIGN IM OPPOSING IM
-12152 CUNEIFORM SIGN IM SQUARED
-12153 CUNEIFORM SIGN IMIN
-12154 CUNEIFORM SIGN IN
-12155 CUNEIFORM SIGN IR
-12156 CUNEIFORM SIGN ISH
-12157 CUNEIFORM SIGN KA
-12158 CUNEIFORM SIGN KA TIMES A
-12159 CUNEIFORM SIGN KA TIMES AD
-1215A CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B CUNEIFORM SIGN KA TIMES ASH2
-1215C CUNEIFORM SIGN KA TIMES BAD
-1215D CUNEIFORM SIGN KA TIMES BALAG
-1215E CUNEIFORM SIGN KA TIMES BAR
-1215F CUNEIFORM SIGN KA TIMES BI
-12160 CUNEIFORM SIGN KA TIMES ERIN2
-12161 CUNEIFORM SIGN KA TIMES ESH2
-12162 CUNEIFORM SIGN KA TIMES GA
-12163 CUNEIFORM SIGN KA TIMES GAL
-12164 CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 CUNEIFORM SIGN KA TIMES GAR
-12166 CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 CUNEIFORM SIGN KA TIMES GI
-12168 CUNEIFORM SIGN KA TIMES GIR2
-12169 CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B CUNEIFORM SIGN KA TIMES GU
-1216C CUNEIFORM SIGN KA TIMES GUR7
-1216D CUNEIFORM SIGN KA TIMES IGI
-1216E CUNEIFORM SIGN KA TIMES IM
-1216F CUNEIFORM SIGN KA TIMES KAK
-12170 CUNEIFORM SIGN KA TIMES KI
-12171 CUNEIFORM SIGN KA TIMES KID
-12172 CUNEIFORM SIGN KA TIMES LI
-12173 CUNEIFORM SIGN KA TIMES LU
-12174 CUNEIFORM SIGN KA TIMES ME
-12175 CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 CUNEIFORM SIGN KA TIMES MI
-12179 CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A CUNEIFORM SIGN KA TIMES NE
-1217B CUNEIFORM SIGN KA TIMES NUN
-1217C CUNEIFORM SIGN KA TIMES PI
-1217D CUNEIFORM SIGN KA TIMES RU
-1217E CUNEIFORM SIGN KA TIMES SA
-1217F CUNEIFORM SIGN KA TIMES SAR
-12180 CUNEIFORM SIGN KA TIMES SHA
-12181 CUNEIFORM SIGN KA TIMES SHE
-12182 CUNEIFORM SIGN KA TIMES SHID
-12183 CUNEIFORM SIGN KA TIMES SHU
-12184 CUNEIFORM SIGN KA TIMES SIG
-12185 CUNEIFORM SIGN KA TIMES SUHUR
-12186 CUNEIFORM SIGN KA TIMES TAR
-12187 CUNEIFORM SIGN KA TIMES U
-12188 CUNEIFORM SIGN KA TIMES U2
-12189 CUNEIFORM SIGN KA TIMES UD
-1218A CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B CUNEIFORM SIGN KA TIMES USH
-1218C CUNEIFORM SIGN KA TIMES ZI
-1218D CUNEIFORM SIGN KA2
-1218E CUNEIFORM SIGN KA2 CROSSING KA2
-1218F CUNEIFORM SIGN KAB
-12190 CUNEIFORM SIGN KAD2
-12191 CUNEIFORM SIGN KAD3
-12192 CUNEIFORM SIGN KAD4
-12193 CUNEIFORM SIGN KAD5
-12194 CUNEIFORM SIGN KAD5 OVER KAD5
-12195 CUNEIFORM SIGN KAK
-12196 CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 CUNEIFORM SIGN KAL
-12198 CUNEIFORM SIGN KAL TIMES BAD
-12199 CUNEIFORM SIGN KAL CROSSING KAL
-1219A CUNEIFORM SIGN KAM2
-1219B CUNEIFORM SIGN KAM4
-1219C CUNEIFORM SIGN KASKAL
-1219D CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F CUNEIFORM SIGN KESH2
-121A0 CUNEIFORM SIGN KI
-121A1 CUNEIFORM SIGN KI TIMES BAD
-121A2 CUNEIFORM SIGN KI TIMES U
-121A3 CUNEIFORM SIGN KI TIMES UD
-121A4 CUNEIFORM SIGN KID
-121A5 CUNEIFORM SIGN KIN
-121A6 CUNEIFORM SIGN KISAL
-121A7 CUNEIFORM SIGN KISH
-121A8 CUNEIFORM SIGN KISIM5
-121A9 CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA CUNEIFORM SIGN KU
-121AB CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC CUNEIFORM SIGN KU3
-121AD CUNEIFORM SIGN KU4
-121AE CUNEIFORM SIGN KU4 VARIANT FORM
-121AF CUNEIFORM SIGN KU7
-121B0 CUNEIFORM SIGN KUL
-121B1 CUNEIFORM SIGN KUL GUNU
-121B2 CUNEIFORM SIGN KUN
-121B3 CUNEIFORM SIGN KUR
-121B4 CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 CUNEIFORM SIGN KUSHU2
-121B6 CUNEIFORM SIGN KWU318
-121B7 CUNEIFORM SIGN LA
-121B8 CUNEIFORM SIGN LAGAB
-121B9 CUNEIFORM SIGN LAGAB TIMES A
-121BA CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD CUNEIFORM SIGN LAGAB TIMES AL
-121BE CUNEIFORM SIGN LAGAB TIMES AN
-121BF CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 CUNEIFORM SIGN LAGAB TIMES BI
-121C2 CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 CUNEIFORM SIGN LAGAB TIMES EN
-121C4 CUNEIFORM SIGN LAGAB TIMES GA
-121C5 CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 CUNEIFORM SIGN LAGAB TIMES HA
-121C9 CUNEIFORM SIGN LAGAB TIMES HAL
-121CA CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC CUNEIFORM SIGN LAGAB TIMES IM
-121CD CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF CUNEIFORM SIGN LAGAB TIMES KI
-121D0 CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 CUNEIFORM SIGN LAGAB TIMES LU
-121D7 CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 CUNEIFORM SIGN LAGAB TIMES ME
-121D9 CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB CUNEIFORM SIGN LAGAB TIMES NE
-121DC CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 CUNEIFORM SIGN LAGAB TIMES U
-121E6 CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 CUNEIFORM SIGN LAGAB TIMES UD
-121EA CUNEIFORM SIGN LAGAB TIMES USH
-121EB CUNEIFORM SIGN LAGAB SQUARED
-121EC CUNEIFORM SIGN LAGAR
-121ED CUNEIFORM SIGN LAGAR TIMES SHE
-121EE CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF CUNEIFORM SIGN LAGAR GUNU
-121F0 CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 CUNEIFORM SIGN LAHSHU
-121F2 CUNEIFORM SIGN LAL
-121F3 CUNEIFORM SIGN LAL TIMES LAL
-121F4 CUNEIFORM SIGN LAM
-121F5 CUNEIFORM SIGN LAM TIMES KUR
-121F6 CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 CUNEIFORM SIGN LI
-121F8 CUNEIFORM SIGN LIL
-121F9 CUNEIFORM SIGN LIMMU2
-121FA CUNEIFORM SIGN LISH
-121FB CUNEIFORM SIGN LU
-121FC CUNEIFORM SIGN LU TIMES BAD
-121FD CUNEIFORM SIGN LU2
-121FE CUNEIFORM SIGN LU2 TIMES AL
-121FF CUNEIFORM SIGN LU2 TIMES BAD
-12200 CUNEIFORM SIGN LU2 TIMES ESH2
-12201 CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 CUNEIFORM SIGN LU2 TIMES IM
-12205 CUNEIFORM SIGN LU2 TIMES KAD2
-12206 CUNEIFORM SIGN LU2 TIMES KAD3
-12207 CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 CUNEIFORM SIGN LU2 TIMES KI
-12209 CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C CUNEIFORM SIGN LU2 TIMES NE
-1220D CUNEIFORM SIGN LU2 TIMES NU
-1220E CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 CUNEIFORM SIGN LU2 TIMES TUG2
-12211 CUNEIFORM SIGN LU2 TENU
-12212 CUNEIFORM SIGN LU2 CROSSING LU2
-12213 CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 CUNEIFORM SIGN LU2 SQUARED
-12215 CUNEIFORM SIGN LU2 SHESHIG
-12216 CUNEIFORM SIGN LU3
-12217 CUNEIFORM SIGN LUGAL
-12218 CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A CUNEIFORM SIGN LUGAL SHESHIG
-1221B CUNEIFORM SIGN LUH
-1221C CUNEIFORM SIGN LUL
-1221D CUNEIFORM SIGN LUM
-1221E CUNEIFORM SIGN LUM OVER LUM
-1221F CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 CUNEIFORM SIGN MA
-12221 CUNEIFORM SIGN MA TIMES TAK4
-12222 CUNEIFORM SIGN MA GUNU
-12223 CUNEIFORM SIGN MA2
-12224 CUNEIFORM SIGN MAH
-12225 CUNEIFORM SIGN MAR
-12226 CUNEIFORM SIGN MASH
-12227 CUNEIFORM SIGN MASH2
-12228 CUNEIFORM SIGN ME
-12229 CUNEIFORM SIGN MES
-1222A CUNEIFORM SIGN MI
-1222B CUNEIFORM SIGN MIN
-1222C CUNEIFORM SIGN MU
-1222D CUNEIFORM SIGN MU OVER MU
-1222E CUNEIFORM SIGN MUG
-1222F CUNEIFORM SIGN MUG GUNU
-12230 CUNEIFORM SIGN MUNSUB
-12231 CUNEIFORM SIGN MURGU2
-12232 CUNEIFORM SIGN MUSH
-12233 CUNEIFORM SIGN MUSH TIMES A
-12234 CUNEIFORM SIGN MUSH TIMES KUR
-12235 CUNEIFORM SIGN MUSH TIMES ZA
-12236 CUNEIFORM SIGN MUSH OVER MUSH
-12237 CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 CUNEIFORM SIGN MUSH3
-1223A CUNEIFORM SIGN MUSH3 TIMES A
-1223B CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C CUNEIFORM SIGN MUSH3 TIMES DI
-1223D CUNEIFORM SIGN MUSH3 GUNU
-1223E CUNEIFORM SIGN NA
-1223F CUNEIFORM SIGN NA2
-12240 CUNEIFORM SIGN NAGA
-12241 CUNEIFORM SIGN NAGA INVERTED
-12242 CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 CUNEIFORM SIGN NAGAR
-12245 CUNEIFORM SIGN NAM NUTILLU
-12246 CUNEIFORM SIGN NAM
-12247 CUNEIFORM SIGN NAM2
-12248 CUNEIFORM SIGN NE
-12249 CUNEIFORM SIGN NE TIMES A
-1224A CUNEIFORM SIGN NE TIMES UD
-1224B CUNEIFORM SIGN NE SHESHIG
-1224C CUNEIFORM SIGN NI
-1224D CUNEIFORM SIGN NI TIMES E
-1224E CUNEIFORM SIGN NI2
-1224F CUNEIFORM SIGN NIM
-12250 CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 CUNEIFORM SIGN NINDA2
-12253 CUNEIFORM SIGN NINDA2 TIMES AN
-12254 CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 CUNEIFORM SIGN NINDA2 TIMES NE
-12259 CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F CUNEIFORM SIGN NINDA2 TIMES USH
-12260 CUNEIFORM SIGN NISAG
-12261 CUNEIFORM SIGN NU
-12262 CUNEIFORM SIGN NU11
-12263 CUNEIFORM SIGN NUN
-12264 CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 CUNEIFORM SIGN NUN TENU
-1226A CUNEIFORM SIGN NUN OVER NUN
-1226B CUNEIFORM SIGN NUN CROSSING NUN
-1226C CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D CUNEIFORM SIGN NUNUZ
-1226E CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A CUNEIFORM SIGN PA
-1227B CUNEIFORM SIGN PAD
-1227C CUNEIFORM SIGN PAN
-1227D CUNEIFORM SIGN PAP
-1227E CUNEIFORM SIGN PESH2
-1227F CUNEIFORM SIGN PI
-12280 CUNEIFORM SIGN PI TIMES A
-12281 CUNEIFORM SIGN PI TIMES AB
-12282 CUNEIFORM SIGN PI TIMES BI
-12283 CUNEIFORM SIGN PI TIMES BU
-12284 CUNEIFORM SIGN PI TIMES E
-12285 CUNEIFORM SIGN PI TIMES I
-12286 CUNEIFORM SIGN PI TIMES IB
-12287 CUNEIFORM SIGN PI TIMES U
-12288 CUNEIFORM SIGN PI TIMES U2
-12289 CUNEIFORM SIGN PI CROSSING PI
-1228A CUNEIFORM SIGN PIRIG
-1228B CUNEIFORM SIGN PIRIG TIMES KAL
-1228C CUNEIFORM SIGN PIRIG TIMES UD
-1228D CUNEIFORM SIGN PIRIG TIMES ZA
-1228E CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F CUNEIFORM SIGN RA
-12290 CUNEIFORM SIGN RAB
-12291 CUNEIFORM SIGN RI
-12292 CUNEIFORM SIGN RU
-12293 CUNEIFORM SIGN SA
-12294 CUNEIFORM SIGN SAG NUTILLU
-12295 CUNEIFORM SIGN SAG
-12296 CUNEIFORM SIGN SAG TIMES A
-12297 CUNEIFORM SIGN SAG TIMES DU
-12298 CUNEIFORM SIGN SAG TIMES DUB
-12299 CUNEIFORM SIGN SAG TIMES HA
-1229A CUNEIFORM SIGN SAG TIMES KAK
-1229B CUNEIFORM SIGN SAG TIMES KUR
-1229C CUNEIFORM SIGN SAG TIMES LUM
-1229D CUNEIFORM SIGN SAG TIMES MI
-1229E CUNEIFORM SIGN SAG TIMES NUN
-1229F CUNEIFORM SIGN SAG TIMES SAL
-122A0 CUNEIFORM SIGN SAG TIMES SHID
-122A1 CUNEIFORM SIGN SAG TIMES TAB
-122A2 CUNEIFORM SIGN SAG TIMES U2
-122A3 CUNEIFORM SIGN SAG TIMES UB
-122A4 CUNEIFORM SIGN SAG TIMES UM
-122A5 CUNEIFORM SIGN SAG TIMES UR
-122A6 CUNEIFORM SIGN SAG TIMES USH
-122A7 CUNEIFORM SIGN SAG OVER SAG
-122A8 CUNEIFORM SIGN SAG GUNU
-122A9 CUNEIFORM SIGN SAL
-122AA CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB CUNEIFORM SIGN SANGA2
-122AC CUNEIFORM SIGN SAR
-122AD CUNEIFORM SIGN SHA
-122AE CUNEIFORM SIGN SHA3
-122AF CUNEIFORM SIGN SHA3 TIMES A
-122B0 CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 CUNEIFORM SIGN SHA3 TIMES NE
-122B3 CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 CUNEIFORM SIGN SHA3 TIMES U
-122B6 CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 CUNEIFORM SIGN SHA6
-122B8 CUNEIFORM SIGN SHAB6
-122B9 CUNEIFORM SIGN SHAR2
-122BA CUNEIFORM SIGN SHE
-122BB CUNEIFORM SIGN SHE HU
-122BC CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE CUNEIFORM SIGN SHEG9
-122BF CUNEIFORM SIGN SHEN
-122C0 CUNEIFORM SIGN SHESH
-122C1 CUNEIFORM SIGN SHESH2
-122C2 CUNEIFORM SIGN SHESHLAM
-122C3 CUNEIFORM SIGN SHID
-122C4 CUNEIFORM SIGN SHID TIMES A
-122C5 CUNEIFORM SIGN SHID TIMES IM
-122C6 CUNEIFORM SIGN SHIM
-122C7 CUNEIFORM SIGN SHIM TIMES A
-122C8 CUNEIFORM SIGN SHIM TIMES BAL
-122C9 CUNEIFORM SIGN SHIM TIMES BULUG
-122CA CUNEIFORM SIGN SHIM TIMES DIN
-122CB CUNEIFORM SIGN SHIM TIMES GAR
-122CC CUNEIFORM SIGN SHIM TIMES IGI
-122CD CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF CUNEIFORM SIGN SHIM TIMES LUL
-122D0 CUNEIFORM SIGN SHIM TIMES MUG
-122D1 CUNEIFORM SIGN SHIM TIMES SAL
-122D2 CUNEIFORM SIGN SHINIG
-122D3 CUNEIFORM SIGN SHIR
-122D4 CUNEIFORM SIGN SHIR TENU
-122D5 CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6 CUNEIFORM SIGN SHITA
-122D7 CUNEIFORM SIGN SHU
-122D8 CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 CUNEIFORM SIGN SHU2
-122DA CUNEIFORM SIGN SHUBUR
-122DB CUNEIFORM SIGN SI
-122DC CUNEIFORM SIGN SI GUNU
-122DD CUNEIFORM SIGN SIG
-122DE CUNEIFORM SIGN SIG4
-122DF CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 CUNEIFORM SIGN SIK2
-122E1 CUNEIFORM SIGN SILA3
-122E2 CUNEIFORM SIGN SU
-122E3 CUNEIFORM SIGN SU OVER SU
-122E4 CUNEIFORM SIGN SUD
-122E5 CUNEIFORM SIGN SUD2
-122E6 CUNEIFORM SIGN SUHUR
-122E7 CUNEIFORM SIGN SUM
-122E8 CUNEIFORM SIGN SUMASH
-122E9 CUNEIFORM SIGN SUR
-122EA CUNEIFORM SIGN SUR9
-122EB CUNEIFORM SIGN TA
-122EC CUNEIFORM SIGN TA ASTERISK
-122ED CUNEIFORM SIGN TA TIMES HI
-122EE CUNEIFORM SIGN TA TIMES MI
-122EF CUNEIFORM SIGN TA GUNU
-122F0 CUNEIFORM SIGN TAB
-122F1 CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 CUNEIFORM SIGN TAB SQUARED
-122F3 CUNEIFORM SIGN TAG
-122F4 CUNEIFORM SIGN TAG TIMES BI
-122F5 CUNEIFORM SIGN TAG TIMES GUD
-122F6 CUNEIFORM SIGN TAG TIMES SHE
-122F7 CUNEIFORM SIGN TAG TIMES SHU
-122F8 CUNEIFORM SIGN TAG TIMES TUG2
-122F9 CUNEIFORM SIGN TAG TIMES UD
-122FA CUNEIFORM SIGN TAK4
-122FB CUNEIFORM SIGN TAR
-122FC CUNEIFORM SIGN TE
-122FD CUNEIFORM SIGN TE GUNU
-122FE CUNEIFORM SIGN TI
-122FF CUNEIFORM SIGN TI TENU
-12300 CUNEIFORM SIGN TIL
-12301 CUNEIFORM SIGN TIR
-12302 CUNEIFORM SIGN TIR TIMES TAK4
-12303 CUNEIFORM SIGN TIR OVER TIR
-12304 CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 CUNEIFORM SIGN TU
-12306 CUNEIFORM SIGN TUG2
-12307 CUNEIFORM SIGN TUK
-12308 CUNEIFORM SIGN TUM
-12309 CUNEIFORM SIGN TUR
-1230A CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B CUNEIFORM SIGN U
-1230C CUNEIFORM SIGN U GUD
-1230D CUNEIFORM SIGN U U U
-1230E CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 CUNEIFORM SIGN U2
-12312 CUNEIFORM SIGN UB
-12313 CUNEIFORM SIGN UD
-12314 CUNEIFORM SIGN UD KUSHU2
-12315 CUNEIFORM SIGN UD TIMES BAD
-12316 CUNEIFORM SIGN UD TIMES MI
-12317 CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 CUNEIFORM SIGN UD GUNU
-1231A CUNEIFORM SIGN UD SHESHIG
-1231B CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C CUNEIFORM SIGN UDUG
-1231D CUNEIFORM SIGN UM
-1231E CUNEIFORM SIGN UM TIMES LAGAB
-1231F CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 CUNEIFORM SIGN UM TIMES SHA3
-12321 CUNEIFORM SIGN UM TIMES U
-12322 CUNEIFORM SIGN UMBIN
-12323 CUNEIFORM SIGN UMUM
-12324 CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 CUNEIFORM SIGN UMUM TIMES PA
-12326 CUNEIFORM SIGN UN
-12327 CUNEIFORM SIGN UN GUNU
-12328 CUNEIFORM SIGN UR
-12329 CUNEIFORM SIGN UR CROSSING UR
-1232A CUNEIFORM SIGN UR SHESHIG
-1232B CUNEIFORM SIGN UR2
-1232C CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E CUNEIFORM SIGN UR2 TIMES AL
-1232F CUNEIFORM SIGN UR2 TIMES HA
-12330 CUNEIFORM SIGN UR2 TIMES NUN
-12331 CUNEIFORM SIGN UR2 TIMES U2
-12332 CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 CUNEIFORM SIGN UR4
-12335 CUNEIFORM SIGN URI
-12336 CUNEIFORM SIGN URI3
-12337 CUNEIFORM SIGN URU
-12338 CUNEIFORM SIGN URU TIMES A
-12339 CUNEIFORM SIGN URU TIMES ASHGAB
-1233A CUNEIFORM SIGN URU TIMES BAR
-1233B CUNEIFORM SIGN URU TIMES DUN
-1233C CUNEIFORM SIGN URU TIMES GA
-1233D CUNEIFORM SIGN URU TIMES GAL
-1233E CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F CUNEIFORM SIGN URU TIMES GAR
-12340 CUNEIFORM SIGN URU TIMES GU
-12341 CUNEIFORM SIGN URU TIMES HA
-12342 CUNEIFORM SIGN URU TIMES IGI
-12343 CUNEIFORM SIGN URU TIMES IM
-12344 CUNEIFORM SIGN URU TIMES ISH
-12345 CUNEIFORM SIGN URU TIMES KI
-12346 CUNEIFORM SIGN URU TIMES LUM
-12347 CUNEIFORM SIGN URU TIMES MIN
-12348 CUNEIFORM SIGN URU TIMES PA
-12349 CUNEIFORM SIGN URU TIMES SHE
-1234A CUNEIFORM SIGN URU TIMES SIG4
-1234B CUNEIFORM SIGN URU TIMES TU
-1234C CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D CUNEIFORM SIGN URU TIMES UD
-1234E CUNEIFORM SIGN URU TIMES URUDA
-1234F CUNEIFORM SIGN URUDA
-12350 CUNEIFORM SIGN URUDA TIMES U
-12351 CUNEIFORM SIGN USH
-12352 CUNEIFORM SIGN USH TIMES A
-12353 CUNEIFORM SIGN USH TIMES KU
-12354 CUNEIFORM SIGN USH TIMES KUR
-12355 CUNEIFORM SIGN USH TIMES TAK4
-12356 CUNEIFORM SIGN USHX
-12357 CUNEIFORM SIGN USH2
-12358 CUNEIFORM SIGN USHUMX
-12359 CUNEIFORM SIGN UTUKI
-1235A CUNEIFORM SIGN UZ3
-1235B CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C CUNEIFORM SIGN UZU
-1235D CUNEIFORM SIGN ZA
-1235E CUNEIFORM SIGN ZA TENU
-1235F CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 CUNEIFORM SIGN ZAG
-12361 CUNEIFORM SIGN ZAMX
-12362 CUNEIFORM SIGN ZE2
-12363 CUNEIFORM SIGN ZI
-12364 CUNEIFORM SIGN ZI OVER ZI
-12365 CUNEIFORM SIGN ZI3
-12366 CUNEIFORM SIGN ZIB
-12367 CUNEIFORM SIGN ZIB KABA TENU
-12368 CUNEIFORM SIGN ZIG
-12369 CUNEIFORM SIGN ZIZ2
-1236A CUNEIFORM SIGN ZU
-1236B CUNEIFORM SIGN ZU5
-1236C CUNEIFORM SIGN ZU5 TIMES A
-1236D CUNEIFORM SIGN ZUBUR
-1236E CUNEIFORM SIGN ZUM
-12400 CUNEIFORM NUMERIC SIGN TWO ASH
-12401 CUNEIFORM NUMERIC SIGN THREE ASH
-12402 CUNEIFORM NUMERIC SIGN FOUR ASH
-12403 CUNEIFORM NUMERIC SIGN FIVE ASH
-12404 CUNEIFORM NUMERIC SIGN SIX ASH
-12405 CUNEIFORM NUMERIC SIGN SEVEN ASH
-12406 CUNEIFORM NUMERIC SIGN EIGHT ASH
-12407 CUNEIFORM NUMERIC SIGN NINE ASH
-12408 CUNEIFORM NUMERIC SIGN THREE DISH
-12409 CUNEIFORM NUMERIC SIGN FOUR DISH
-1240A CUNEIFORM NUMERIC SIGN FIVE DISH
-1240B CUNEIFORM NUMERIC SIGN SIX DISH
-1240C CUNEIFORM NUMERIC SIGN SEVEN DISH
-1240D CUNEIFORM NUMERIC SIGN EIGHT DISH
-1240E CUNEIFORM NUMERIC SIGN NINE DISH
-1240F CUNEIFORM NUMERIC SIGN FOUR U
-12410 CUNEIFORM NUMERIC SIGN FIVE U
-12411 CUNEIFORM NUMERIC SIGN SIX U
-12412 CUNEIFORM NUMERIC SIGN SEVEN U
-12413 CUNEIFORM NUMERIC SIGN EIGHT U
-12414 CUNEIFORM NUMERIC SIGN NINE U
-12415 CUNEIFORM NUMERIC SIGN ONE GESH2
-12416 CUNEIFORM NUMERIC SIGN TWO GESH2
-12417 CUNEIFORM NUMERIC SIGN THREE GESH2
-12418 CUNEIFORM NUMERIC SIGN FOUR GESH2
-12419 CUNEIFORM NUMERIC SIGN FIVE GESH2
-1241A CUNEIFORM NUMERIC SIGN SIX GESH2
-1241B CUNEIFORM NUMERIC SIGN SEVEN GESH2
-1241C CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1241D CUNEIFORM NUMERIC SIGN NINE GESH2
-1241E CUNEIFORM NUMERIC SIGN ONE GESHU
-1241F CUNEIFORM NUMERIC SIGN TWO GESHU
-12420 CUNEIFORM NUMERIC SIGN THREE GESHU
-12421 CUNEIFORM NUMERIC SIGN FOUR GESHU
-12422 CUNEIFORM NUMERIC SIGN FIVE GESHU
-12423 CUNEIFORM NUMERIC SIGN TWO SHAR2
-12424 CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-12426 CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12427 CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12428 CUNEIFORM NUMERIC SIGN SIX SHAR2
-12429 CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-1242A CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-1242B CUNEIFORM NUMERIC SIGN NINE SHAR2
-1242C CUNEIFORM NUMERIC SIGN ONE SHARU
-1242D CUNEIFORM NUMERIC SIGN TWO SHARU
-1242E CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12430 CUNEIFORM NUMERIC SIGN FOUR SHARU
-12431 CUNEIFORM NUMERIC SIGN FIVE SHARU
-12432 CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12434 CUNEIFORM NUMERIC SIGN ONE BURU
-12435 CUNEIFORM NUMERIC SIGN TWO BURU
-12436 CUNEIFORM NUMERIC SIGN THREE BURU
-12437 CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-12438 CUNEIFORM NUMERIC SIGN FOUR BURU
-12439 CUNEIFORM NUMERIC SIGN FIVE BURU
-1243A CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1243C CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-12440 CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-12441 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-12444 CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-12446 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1244A CUNEIFORM NUMERIC SIGN TWO ASH TENU
-1244B CUNEIFORM NUMERIC SIGN THREE ASH TENU
-1244C CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-1244D CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-1244E CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1244F CUNEIFORM NUMERIC SIGN ONE BAN2
-12450 CUNEIFORM NUMERIC SIGN TWO BAN2
-12451 CUNEIFORM NUMERIC SIGN THREE BAN2
-12452 CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-12454 CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-12456 CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457 CUNEIFORM NUMERIC SIGN NIGIDAESH
-12458 CUNEIFORM NUMERIC SIGN ONE ESHE3
-12459 CUNEIFORM NUMERIC SIGN TWO ESHE3
-1245A CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470 CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471 CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000 EGYPTIAN HIEROGLYPH A001
-13001 EGYPTIAN HIEROGLYPH A002
-13002 EGYPTIAN HIEROGLYPH A003
-13003 EGYPTIAN HIEROGLYPH A004
-13004 EGYPTIAN HIEROGLYPH A005
-13005 EGYPTIAN HIEROGLYPH A005A
-13006 EGYPTIAN HIEROGLYPH A006
-13007 EGYPTIAN HIEROGLYPH A006A
-13008 EGYPTIAN HIEROGLYPH A006B
-13009 EGYPTIAN HIEROGLYPH A007
-1300A EGYPTIAN HIEROGLYPH A008
-1300B EGYPTIAN HIEROGLYPH A009
-1300C EGYPTIAN HIEROGLYPH A010
-1300D EGYPTIAN HIEROGLYPH A011
-1300E EGYPTIAN HIEROGLYPH A012
-1300F EGYPTIAN HIEROGLYPH A013
-13010 EGYPTIAN HIEROGLYPH A014
-13011 EGYPTIAN HIEROGLYPH A014A
-13012 EGYPTIAN HIEROGLYPH A015
-13013 EGYPTIAN HIEROGLYPH A016
-13014 EGYPTIAN HIEROGLYPH A017
-13015 EGYPTIAN HIEROGLYPH A017A
-13016 EGYPTIAN HIEROGLYPH A018
-13017 EGYPTIAN HIEROGLYPH A019
-13018 EGYPTIAN HIEROGLYPH A020
-13019 EGYPTIAN HIEROGLYPH A021
-1301A EGYPTIAN HIEROGLYPH A022
-1301B EGYPTIAN HIEROGLYPH A023
-1301C EGYPTIAN HIEROGLYPH A024
-1301D EGYPTIAN HIEROGLYPH A025
-1301E EGYPTIAN HIEROGLYPH A026
-1301F EGYPTIAN HIEROGLYPH A027
-13020 EGYPTIAN HIEROGLYPH A028
-13021 EGYPTIAN HIEROGLYPH A029
-13022 EGYPTIAN HIEROGLYPH A030
-13023 EGYPTIAN HIEROGLYPH A031
-13024 EGYPTIAN HIEROGLYPH A032
-13025 EGYPTIAN HIEROGLYPH A032A
-13026 EGYPTIAN HIEROGLYPH A033
-13027 EGYPTIAN HIEROGLYPH A034
-13028 EGYPTIAN HIEROGLYPH A035
-13029 EGYPTIAN HIEROGLYPH A036
-1302A EGYPTIAN HIEROGLYPH A037
-1302B EGYPTIAN HIEROGLYPH A038
-1302C EGYPTIAN HIEROGLYPH A039
-1302D EGYPTIAN HIEROGLYPH A040
-1302E EGYPTIAN HIEROGLYPH A040A
-1302F EGYPTIAN HIEROGLYPH A041
-13030 EGYPTIAN HIEROGLYPH A042
-13031 EGYPTIAN HIEROGLYPH A042A
-13032 EGYPTIAN HIEROGLYPH A043
-13033 EGYPTIAN HIEROGLYPH A043A
-13034 EGYPTIAN HIEROGLYPH A044
-13035 EGYPTIAN HIEROGLYPH A045
-13036 EGYPTIAN HIEROGLYPH A045A
-13037 EGYPTIAN HIEROGLYPH A046
-13038 EGYPTIAN HIEROGLYPH A047
-13039 EGYPTIAN HIEROGLYPH A048
-1303A EGYPTIAN HIEROGLYPH A049
-1303B EGYPTIAN HIEROGLYPH A050
-1303C EGYPTIAN HIEROGLYPH A051
-1303D EGYPTIAN HIEROGLYPH A052
-1303E EGYPTIAN HIEROGLYPH A053
-1303F EGYPTIAN HIEROGLYPH A054
-13040 EGYPTIAN HIEROGLYPH A055
-13041 EGYPTIAN HIEROGLYPH A056
-13042 EGYPTIAN HIEROGLYPH A057
-13043 EGYPTIAN HIEROGLYPH A058
-13044 EGYPTIAN HIEROGLYPH A059
-13045 EGYPTIAN HIEROGLYPH A060
-13046 EGYPTIAN HIEROGLYPH A061
-13047 EGYPTIAN HIEROGLYPH A062
-13048 EGYPTIAN HIEROGLYPH A063
-13049 EGYPTIAN HIEROGLYPH A064
-1304A EGYPTIAN HIEROGLYPH A065
-1304B EGYPTIAN HIEROGLYPH A066
-1304C EGYPTIAN HIEROGLYPH A067
-1304D EGYPTIAN HIEROGLYPH A068
-1304E EGYPTIAN HIEROGLYPH A069
-1304F EGYPTIAN HIEROGLYPH A070
-13050 EGYPTIAN HIEROGLYPH B001
-13051 EGYPTIAN HIEROGLYPH B002
-13052 EGYPTIAN HIEROGLYPH B003
-13053 EGYPTIAN HIEROGLYPH B004
-13054 EGYPTIAN HIEROGLYPH B005
-13055 EGYPTIAN HIEROGLYPH B005A
-13056 EGYPTIAN HIEROGLYPH B006
-13057 EGYPTIAN HIEROGLYPH B007
-13058 EGYPTIAN HIEROGLYPH B008
-13059 EGYPTIAN HIEROGLYPH B009
-1305A EGYPTIAN HIEROGLYPH C001
-1305B EGYPTIAN HIEROGLYPH C002
-1305C EGYPTIAN HIEROGLYPH C002A
-1305D EGYPTIAN HIEROGLYPH C002B
-1305E EGYPTIAN HIEROGLYPH C002C
-1305F EGYPTIAN HIEROGLYPH C003
-13060 EGYPTIAN HIEROGLYPH C004
-13061 EGYPTIAN HIEROGLYPH C005
-13062 EGYPTIAN HIEROGLYPH C006
-13063 EGYPTIAN HIEROGLYPH C007
-13064 EGYPTIAN HIEROGLYPH C008
-13065 EGYPTIAN HIEROGLYPH C009
-13066 EGYPTIAN HIEROGLYPH C010
-13067 EGYPTIAN HIEROGLYPH C010A
-13068 EGYPTIAN HIEROGLYPH C011
-13069 EGYPTIAN HIEROGLYPH C012
-1306A EGYPTIAN HIEROGLYPH C013
-1306B EGYPTIAN HIEROGLYPH C014
-1306C EGYPTIAN HIEROGLYPH C015
-1306D EGYPTIAN HIEROGLYPH C016
-1306E EGYPTIAN HIEROGLYPH C017
-1306F EGYPTIAN HIEROGLYPH C018
-13070 EGYPTIAN HIEROGLYPH C019
-13071 EGYPTIAN HIEROGLYPH C020
-13072 EGYPTIAN HIEROGLYPH C021
-13073 EGYPTIAN HIEROGLYPH C022
-13074 EGYPTIAN HIEROGLYPH C023
-13075 EGYPTIAN HIEROGLYPH C024
-13076 EGYPTIAN HIEROGLYPH D001
-13077 EGYPTIAN HIEROGLYPH D002
-13078 EGYPTIAN HIEROGLYPH D003
-13079 EGYPTIAN HIEROGLYPH D004
-1307A EGYPTIAN HIEROGLYPH D005
-1307B EGYPTIAN HIEROGLYPH D006
-1307C EGYPTIAN HIEROGLYPH D007
-1307D EGYPTIAN HIEROGLYPH D008
-1307E EGYPTIAN HIEROGLYPH D008A
-1307F EGYPTIAN HIEROGLYPH D009
-13080 EGYPTIAN HIEROGLYPH D010
-13081 EGYPTIAN HIEROGLYPH D011
-13082 EGYPTIAN HIEROGLYPH D012
-13083 EGYPTIAN HIEROGLYPH D013
-13084 EGYPTIAN HIEROGLYPH D014
-13085 EGYPTIAN HIEROGLYPH D015
-13086 EGYPTIAN HIEROGLYPH D016
-13087 EGYPTIAN HIEROGLYPH D017
-13088 EGYPTIAN HIEROGLYPH D018
-13089 EGYPTIAN HIEROGLYPH D019
-1308A EGYPTIAN HIEROGLYPH D020
-1308B EGYPTIAN HIEROGLYPH D021
-1308C EGYPTIAN HIEROGLYPH D022
-1308D EGYPTIAN HIEROGLYPH D023
-1308E EGYPTIAN HIEROGLYPH D024
-1308F EGYPTIAN HIEROGLYPH D025
-13090 EGYPTIAN HIEROGLYPH D026
-13091 EGYPTIAN HIEROGLYPH D027
-13092 EGYPTIAN HIEROGLYPH D027A
-13093 EGYPTIAN HIEROGLYPH D028
-13094 EGYPTIAN HIEROGLYPH D029
-13095 EGYPTIAN HIEROGLYPH D030
-13096 EGYPTIAN HIEROGLYPH D031
-13097 EGYPTIAN HIEROGLYPH D031A
-13098 EGYPTIAN HIEROGLYPH D032
-13099 EGYPTIAN HIEROGLYPH D033
-1309A EGYPTIAN HIEROGLYPH D034
-1309B EGYPTIAN HIEROGLYPH D034A
-1309C EGYPTIAN HIEROGLYPH D035
-1309D EGYPTIAN HIEROGLYPH D036
-1309E EGYPTIAN HIEROGLYPH D037
-1309F EGYPTIAN HIEROGLYPH D038
-130A0 EGYPTIAN HIEROGLYPH D039
-130A1 EGYPTIAN HIEROGLYPH D040
-130A2 EGYPTIAN HIEROGLYPH D041
-130A3 EGYPTIAN HIEROGLYPH D042
-130A4 EGYPTIAN HIEROGLYPH D043
-130A5 EGYPTIAN HIEROGLYPH D044
-130A6 EGYPTIAN HIEROGLYPH D045
-130A7 EGYPTIAN HIEROGLYPH D046
-130A8 EGYPTIAN HIEROGLYPH D046A
-130A9 EGYPTIAN HIEROGLYPH D047
-130AA EGYPTIAN HIEROGLYPH D048
-130AB EGYPTIAN HIEROGLYPH D048A
-130AC EGYPTIAN HIEROGLYPH D049
-130AD EGYPTIAN HIEROGLYPH D050
-130AE EGYPTIAN HIEROGLYPH D050A
-130AF EGYPTIAN HIEROGLYPH D050B
-130B0 EGYPTIAN HIEROGLYPH D050C
-130B1 EGYPTIAN HIEROGLYPH D050D
-130B2 EGYPTIAN HIEROGLYPH D050E
-130B3 EGYPTIAN HIEROGLYPH D050F
-130B4 EGYPTIAN HIEROGLYPH D050G
-130B5 EGYPTIAN HIEROGLYPH D050H
-130B6 EGYPTIAN HIEROGLYPH D050I
-130B7 EGYPTIAN HIEROGLYPH D051
-130B8 EGYPTIAN HIEROGLYPH D052
-130B9 EGYPTIAN HIEROGLYPH D052A
-130BA EGYPTIAN HIEROGLYPH D053
-130BB EGYPTIAN HIEROGLYPH D054
-130BC EGYPTIAN HIEROGLYPH D054A
-130BD EGYPTIAN HIEROGLYPH D055
-130BE EGYPTIAN HIEROGLYPH D056
-130BF EGYPTIAN HIEROGLYPH D057
-130C0 EGYPTIAN HIEROGLYPH D058
-130C1 EGYPTIAN HIEROGLYPH D059
-130C2 EGYPTIAN HIEROGLYPH D060
-130C3 EGYPTIAN HIEROGLYPH D061
-130C4 EGYPTIAN HIEROGLYPH D062
-130C5 EGYPTIAN HIEROGLYPH D063
-130C6 EGYPTIAN HIEROGLYPH D064
-130C7 EGYPTIAN HIEROGLYPH D065
-130C8 EGYPTIAN HIEROGLYPH D066
-130C9 EGYPTIAN HIEROGLYPH D067
-130CA EGYPTIAN HIEROGLYPH D067A
-130CB EGYPTIAN HIEROGLYPH D067B
-130CC EGYPTIAN HIEROGLYPH D067C
-130CD EGYPTIAN HIEROGLYPH D067D
-130CE EGYPTIAN HIEROGLYPH D067E
-130CF EGYPTIAN HIEROGLYPH D067F
-130D0 EGYPTIAN HIEROGLYPH D067G
-130D1 EGYPTIAN HIEROGLYPH D067H
-130D2 EGYPTIAN HIEROGLYPH E001
-130D3 EGYPTIAN HIEROGLYPH E002
-130D4 EGYPTIAN HIEROGLYPH E003
-130D5 EGYPTIAN HIEROGLYPH E004
-130D6 EGYPTIAN HIEROGLYPH E005
-130D7 EGYPTIAN HIEROGLYPH E006
-130D8 EGYPTIAN HIEROGLYPH E007
-130D9 EGYPTIAN HIEROGLYPH E008
-130DA EGYPTIAN HIEROGLYPH E008A
-130DB EGYPTIAN HIEROGLYPH E009
-130DC EGYPTIAN HIEROGLYPH E009A
-130DD EGYPTIAN HIEROGLYPH E010
-130DE EGYPTIAN HIEROGLYPH E011
-130DF EGYPTIAN HIEROGLYPH E012
-130E0 EGYPTIAN HIEROGLYPH E013
-130E1 EGYPTIAN HIEROGLYPH E014
-130E2 EGYPTIAN HIEROGLYPH E015
-130E3 EGYPTIAN HIEROGLYPH E016
-130E4 EGYPTIAN HIEROGLYPH E016A
-130E5 EGYPTIAN HIEROGLYPH E017
-130E6 EGYPTIAN HIEROGLYPH E017A
-130E7 EGYPTIAN HIEROGLYPH E018
-130E8 EGYPTIAN HIEROGLYPH E019
-130E9 EGYPTIAN HIEROGLYPH E020
-130EA EGYPTIAN HIEROGLYPH E020A
-130EB EGYPTIAN HIEROGLYPH E021
-130EC EGYPTIAN HIEROGLYPH E022
-130ED EGYPTIAN HIEROGLYPH E023
-130EE EGYPTIAN HIEROGLYPH E024
-130EF EGYPTIAN HIEROGLYPH E025
-130F0 EGYPTIAN HIEROGLYPH E026
-130F1 EGYPTIAN HIEROGLYPH E027
-130F2 EGYPTIAN HIEROGLYPH E028
-130F3 EGYPTIAN HIEROGLYPH E028A
-130F4 EGYPTIAN HIEROGLYPH E029
-130F5 EGYPTIAN HIEROGLYPH E030
-130F6 EGYPTIAN HIEROGLYPH E031
-130F7 EGYPTIAN HIEROGLYPH E032
-130F8 EGYPTIAN HIEROGLYPH E033
-130F9 EGYPTIAN HIEROGLYPH E034
-130FA EGYPTIAN HIEROGLYPH E034A
-130FB EGYPTIAN HIEROGLYPH E036
-130FC EGYPTIAN HIEROGLYPH E037
-130FD EGYPTIAN HIEROGLYPH E038
-130FE EGYPTIAN HIEROGLYPH F001
-130FF EGYPTIAN HIEROGLYPH F001A
-13100 EGYPTIAN HIEROGLYPH F002
-13101 EGYPTIAN HIEROGLYPH F003
-13102 EGYPTIAN HIEROGLYPH F004
-13103 EGYPTIAN HIEROGLYPH F005
-13104 EGYPTIAN HIEROGLYPH F006
-13105 EGYPTIAN HIEROGLYPH F007
-13106 EGYPTIAN HIEROGLYPH F008
-13107 EGYPTIAN HIEROGLYPH F009
-13108 EGYPTIAN HIEROGLYPH F010
-13109 EGYPTIAN HIEROGLYPH F011
-1310A EGYPTIAN HIEROGLYPH F012
-1310B EGYPTIAN HIEROGLYPH F013
-1310C EGYPTIAN HIEROGLYPH F013A
-1310D EGYPTIAN HIEROGLYPH F014
-1310E EGYPTIAN HIEROGLYPH F015
-1310F EGYPTIAN HIEROGLYPH F016
-13110 EGYPTIAN HIEROGLYPH F017
-13111 EGYPTIAN HIEROGLYPH F018
-13112 EGYPTIAN HIEROGLYPH F019
-13113 EGYPTIAN HIEROGLYPH F020
-13114 EGYPTIAN HIEROGLYPH F021
-13115 EGYPTIAN HIEROGLYPH F021A
-13116 EGYPTIAN HIEROGLYPH F022
-13117 EGYPTIAN HIEROGLYPH F023
-13118 EGYPTIAN HIEROGLYPH F024
-13119 EGYPTIAN HIEROGLYPH F025
-1311A EGYPTIAN HIEROGLYPH F026
-1311B EGYPTIAN HIEROGLYPH F027
-1311C EGYPTIAN HIEROGLYPH F028
-1311D EGYPTIAN HIEROGLYPH F029
-1311E EGYPTIAN HIEROGLYPH F030
-1311F EGYPTIAN HIEROGLYPH F031
-13120 EGYPTIAN HIEROGLYPH F031A
-13121 EGYPTIAN HIEROGLYPH F032
-13122 EGYPTIAN HIEROGLYPH F033
-13123 EGYPTIAN HIEROGLYPH F034
-13124 EGYPTIAN HIEROGLYPH F035
-13125 EGYPTIAN HIEROGLYPH F036
-13126 EGYPTIAN HIEROGLYPH F037
-13127 EGYPTIAN HIEROGLYPH F037A
-13128 EGYPTIAN HIEROGLYPH F038
-13129 EGYPTIAN HIEROGLYPH F038A
-1312A EGYPTIAN HIEROGLYPH F039
-1312B EGYPTIAN HIEROGLYPH F040
-1312C EGYPTIAN HIEROGLYPH F041
-1312D EGYPTIAN HIEROGLYPH F042
-1312E EGYPTIAN HIEROGLYPH F043
-1312F EGYPTIAN HIEROGLYPH F044
-13130 EGYPTIAN HIEROGLYPH F045
-13131 EGYPTIAN HIEROGLYPH F045A
-13132 EGYPTIAN HIEROGLYPH F046
-13133 EGYPTIAN HIEROGLYPH F046A
-13134 EGYPTIAN HIEROGLYPH F047
-13135 EGYPTIAN HIEROGLYPH F047A
-13136 EGYPTIAN HIEROGLYPH F048
-13137 EGYPTIAN HIEROGLYPH F049
-13138 EGYPTIAN HIEROGLYPH F050
-13139 EGYPTIAN HIEROGLYPH F051
-1313A EGYPTIAN HIEROGLYPH F051A
-1313B EGYPTIAN HIEROGLYPH F051B
-1313C EGYPTIAN HIEROGLYPH F051C
-1313D EGYPTIAN HIEROGLYPH F052
-1313E EGYPTIAN HIEROGLYPH F053
-1313F EGYPTIAN HIEROGLYPH G001
-13140 EGYPTIAN HIEROGLYPH G002
-13141 EGYPTIAN HIEROGLYPH G003
-13142 EGYPTIAN HIEROGLYPH G004
-13143 EGYPTIAN HIEROGLYPH G005
-13144 EGYPTIAN HIEROGLYPH G006
-13145 EGYPTIAN HIEROGLYPH G006A
-13146 EGYPTIAN HIEROGLYPH G007
-13147 EGYPTIAN HIEROGLYPH G007A
-13148 EGYPTIAN HIEROGLYPH G007B
-13149 EGYPTIAN HIEROGLYPH G008
-1314A EGYPTIAN HIEROGLYPH G009
-1314B EGYPTIAN HIEROGLYPH G010
-1314C EGYPTIAN HIEROGLYPH G011
-1314D EGYPTIAN HIEROGLYPH G011A
-1314E EGYPTIAN HIEROGLYPH G012
-1314F EGYPTIAN HIEROGLYPH G013
-13150 EGYPTIAN HIEROGLYPH G014
-13151 EGYPTIAN HIEROGLYPH G015
-13152 EGYPTIAN HIEROGLYPH G016
-13153 EGYPTIAN HIEROGLYPH G017
-13154 EGYPTIAN HIEROGLYPH G018
-13155 EGYPTIAN HIEROGLYPH G019
-13156 EGYPTIAN HIEROGLYPH G020
-13157 EGYPTIAN HIEROGLYPH G020A
-13158 EGYPTIAN HIEROGLYPH G021
-13159 EGYPTIAN HIEROGLYPH G022
-1315A EGYPTIAN HIEROGLYPH G023
-1315B EGYPTIAN HIEROGLYPH G024
-1315C EGYPTIAN HIEROGLYPH G025
-1315D EGYPTIAN HIEROGLYPH G026
-1315E EGYPTIAN HIEROGLYPH G026A
-1315F EGYPTIAN HIEROGLYPH G027
-13160 EGYPTIAN HIEROGLYPH G028
-13161 EGYPTIAN HIEROGLYPH G029
-13162 EGYPTIAN HIEROGLYPH G030
-13163 EGYPTIAN HIEROGLYPH G031
-13164 EGYPTIAN HIEROGLYPH G032
-13165 EGYPTIAN HIEROGLYPH G033
-13166 EGYPTIAN HIEROGLYPH G034
-13167 EGYPTIAN HIEROGLYPH G035
-13168 EGYPTIAN HIEROGLYPH G036
-13169 EGYPTIAN HIEROGLYPH G036A
-1316A EGYPTIAN HIEROGLYPH G037
-1316B EGYPTIAN HIEROGLYPH G037A
-1316C EGYPTIAN HIEROGLYPH G038
-1316D EGYPTIAN HIEROGLYPH G039
-1316E EGYPTIAN HIEROGLYPH G040
-1316F EGYPTIAN HIEROGLYPH G041
-13170 EGYPTIAN HIEROGLYPH G042
-13171 EGYPTIAN HIEROGLYPH G043
-13172 EGYPTIAN HIEROGLYPH G043A
-13173 EGYPTIAN HIEROGLYPH G044
-13174 EGYPTIAN HIEROGLYPH G045
-13175 EGYPTIAN HIEROGLYPH G045A
-13176 EGYPTIAN HIEROGLYPH G046
-13177 EGYPTIAN HIEROGLYPH G047
-13178 EGYPTIAN HIEROGLYPH G048
-13179 EGYPTIAN HIEROGLYPH G049
-1317A EGYPTIAN HIEROGLYPH G050
-1317B EGYPTIAN HIEROGLYPH G051
-1317C EGYPTIAN HIEROGLYPH G052
-1317D EGYPTIAN HIEROGLYPH G053
-1317E EGYPTIAN HIEROGLYPH G054
-1317F EGYPTIAN HIEROGLYPH H001
-13180 EGYPTIAN HIEROGLYPH H002
-13181 EGYPTIAN HIEROGLYPH H003
-13182 EGYPTIAN HIEROGLYPH H004
-13183 EGYPTIAN HIEROGLYPH H005
-13184 EGYPTIAN HIEROGLYPH H006
-13185 EGYPTIAN HIEROGLYPH H006A
-13186 EGYPTIAN HIEROGLYPH H007
-13187 EGYPTIAN HIEROGLYPH H008
-13188 EGYPTIAN HIEROGLYPH I001
-13189 EGYPTIAN HIEROGLYPH I002
-1318A EGYPTIAN HIEROGLYPH I003
-1318B EGYPTIAN HIEROGLYPH I004
-1318C EGYPTIAN HIEROGLYPH I005
-1318D EGYPTIAN HIEROGLYPH I005A
-1318E EGYPTIAN HIEROGLYPH I006
-1318F EGYPTIAN HIEROGLYPH I007
-13190 EGYPTIAN HIEROGLYPH I008
-13191 EGYPTIAN HIEROGLYPH I009
-13192 EGYPTIAN HIEROGLYPH I009A
-13193 EGYPTIAN HIEROGLYPH I010
-13194 EGYPTIAN HIEROGLYPH I010A
-13195 EGYPTIAN HIEROGLYPH I011
-13196 EGYPTIAN HIEROGLYPH I011A
-13197 EGYPTIAN HIEROGLYPH I012
-13198 EGYPTIAN HIEROGLYPH I013
-13199 EGYPTIAN HIEROGLYPH I014
-1319A EGYPTIAN HIEROGLYPH I015
-1319B EGYPTIAN HIEROGLYPH K001
-1319C EGYPTIAN HIEROGLYPH K002
-1319D EGYPTIAN HIEROGLYPH K003
-1319E EGYPTIAN HIEROGLYPH K004
-1319F EGYPTIAN HIEROGLYPH K005
-131A0 EGYPTIAN HIEROGLYPH K006
-131A1 EGYPTIAN HIEROGLYPH K007
-131A2 EGYPTIAN HIEROGLYPH K008
-131A3 EGYPTIAN HIEROGLYPH L001
-131A4 EGYPTIAN HIEROGLYPH L002
-131A5 EGYPTIAN HIEROGLYPH L002A
-131A6 EGYPTIAN HIEROGLYPH L003
-131A7 EGYPTIAN HIEROGLYPH L004
-131A8 EGYPTIAN HIEROGLYPH L005
-131A9 EGYPTIAN HIEROGLYPH L006
-131AA EGYPTIAN HIEROGLYPH L006A
-131AB EGYPTIAN HIEROGLYPH L007
-131AC EGYPTIAN HIEROGLYPH L008
-131AD EGYPTIAN HIEROGLYPH M001
-131AE EGYPTIAN HIEROGLYPH M001A
-131AF EGYPTIAN HIEROGLYPH M001B
-131B0 EGYPTIAN HIEROGLYPH M002
-131B1 EGYPTIAN HIEROGLYPH M003
-131B2 EGYPTIAN HIEROGLYPH M003A
-131B3 EGYPTIAN HIEROGLYPH M004
-131B4 EGYPTIAN HIEROGLYPH M005
-131B5 EGYPTIAN HIEROGLYPH M006
-131B6 EGYPTIAN HIEROGLYPH M007
-131B7 EGYPTIAN HIEROGLYPH M008
-131B8 EGYPTIAN HIEROGLYPH M009
-131B9 EGYPTIAN HIEROGLYPH M010
-131BA EGYPTIAN HIEROGLYPH M010A
-131BB EGYPTIAN HIEROGLYPH M011
-131BC EGYPTIAN HIEROGLYPH M012
-131BD EGYPTIAN HIEROGLYPH M012A
-131BE EGYPTIAN HIEROGLYPH M012B
-131BF EGYPTIAN HIEROGLYPH M012C
-131C0 EGYPTIAN HIEROGLYPH M012D
-131C1 EGYPTIAN HIEROGLYPH M012E
-131C2 EGYPTIAN HIEROGLYPH M012F
-131C3 EGYPTIAN HIEROGLYPH M012G
-131C4 EGYPTIAN HIEROGLYPH M012H
-131C5 EGYPTIAN HIEROGLYPH M013
-131C6 EGYPTIAN HIEROGLYPH M014
-131C7 EGYPTIAN HIEROGLYPH M015
-131C8 EGYPTIAN HIEROGLYPH M015A
-131C9 EGYPTIAN HIEROGLYPH M016
-131CA EGYPTIAN HIEROGLYPH M016A
-131CB EGYPTIAN HIEROGLYPH M017
-131CC EGYPTIAN HIEROGLYPH M017A
-131CD EGYPTIAN HIEROGLYPH M018
-131CE EGYPTIAN HIEROGLYPH M019
-131CF EGYPTIAN HIEROGLYPH M020
-131D0 EGYPTIAN HIEROGLYPH M021
-131D1 EGYPTIAN HIEROGLYPH M022
-131D2 EGYPTIAN HIEROGLYPH M022A
-131D3 EGYPTIAN HIEROGLYPH M023
-131D4 EGYPTIAN HIEROGLYPH M024
-131D5 EGYPTIAN HIEROGLYPH M024A
-131D6 EGYPTIAN HIEROGLYPH M025
-131D7 EGYPTIAN HIEROGLYPH M026
-131D8 EGYPTIAN HIEROGLYPH M027
-131D9 EGYPTIAN HIEROGLYPH M028
-131DA EGYPTIAN HIEROGLYPH M028A
-131DB EGYPTIAN HIEROGLYPH M029
-131DC EGYPTIAN HIEROGLYPH M030
-131DD EGYPTIAN HIEROGLYPH M031
-131DE EGYPTIAN HIEROGLYPH M031A
-131DF EGYPTIAN HIEROGLYPH M032
-131E0 EGYPTIAN HIEROGLYPH M033
-131E1 EGYPTIAN HIEROGLYPH M033A
-131E2 EGYPTIAN HIEROGLYPH M033B
-131E3 EGYPTIAN HIEROGLYPH M034
-131E4 EGYPTIAN HIEROGLYPH M035
-131E5 EGYPTIAN HIEROGLYPH M036
-131E6 EGYPTIAN HIEROGLYPH M037
-131E7 EGYPTIAN HIEROGLYPH M038
-131E8 EGYPTIAN HIEROGLYPH M039
-131E9 EGYPTIAN HIEROGLYPH M040
-131EA EGYPTIAN HIEROGLYPH M040A
-131EB EGYPTIAN HIEROGLYPH M041
-131EC EGYPTIAN HIEROGLYPH M042
-131ED EGYPTIAN HIEROGLYPH M043
-131EE EGYPTIAN HIEROGLYPH M044
-131EF EGYPTIAN HIEROGLYPH N001
-131F0 EGYPTIAN HIEROGLYPH N002
-131F1 EGYPTIAN HIEROGLYPH N003
-131F2 EGYPTIAN HIEROGLYPH N004
-131F3 EGYPTIAN HIEROGLYPH N005
-131F4 EGYPTIAN HIEROGLYPH N006
-131F5 EGYPTIAN HIEROGLYPH N007
-131F6 EGYPTIAN HIEROGLYPH N008
-131F7 EGYPTIAN HIEROGLYPH N009
-131F8 EGYPTIAN HIEROGLYPH N010
-131F9 EGYPTIAN HIEROGLYPH N011
-131FA EGYPTIAN HIEROGLYPH N012
-131FB EGYPTIAN HIEROGLYPH N013
-131FC EGYPTIAN HIEROGLYPH N014
-131FD EGYPTIAN HIEROGLYPH N015
-131FE EGYPTIAN HIEROGLYPH N016
-131FF EGYPTIAN HIEROGLYPH N017
-13200 EGYPTIAN HIEROGLYPH N018
-13201 EGYPTIAN HIEROGLYPH N018A
-13202 EGYPTIAN HIEROGLYPH N018B
-13203 EGYPTIAN HIEROGLYPH N019
-13204 EGYPTIAN HIEROGLYPH N020
-13205 EGYPTIAN HIEROGLYPH N021
-13206 EGYPTIAN HIEROGLYPH N022
-13207 EGYPTIAN HIEROGLYPH N023
-13208 EGYPTIAN HIEROGLYPH N024
-13209 EGYPTIAN HIEROGLYPH N025
-1320A EGYPTIAN HIEROGLYPH N025A
-1320B EGYPTIAN HIEROGLYPH N026
-1320C EGYPTIAN HIEROGLYPH N027
-1320D EGYPTIAN HIEROGLYPH N028
-1320E EGYPTIAN HIEROGLYPH N029
-1320F EGYPTIAN HIEROGLYPH N030
-13210 EGYPTIAN HIEROGLYPH N031
-13211 EGYPTIAN HIEROGLYPH N032
-13212 EGYPTIAN HIEROGLYPH N033
-13213 EGYPTIAN HIEROGLYPH N033A
-13214 EGYPTIAN HIEROGLYPH N034
-13215 EGYPTIAN HIEROGLYPH N034A
-13216 EGYPTIAN HIEROGLYPH N035
-13217 EGYPTIAN HIEROGLYPH N035A
-13218 EGYPTIAN HIEROGLYPH N036
-13219 EGYPTIAN HIEROGLYPH N037
-1321A EGYPTIAN HIEROGLYPH N037A
-1321B EGYPTIAN HIEROGLYPH N038
-1321C EGYPTIAN HIEROGLYPH N039
-1321D EGYPTIAN HIEROGLYPH N040
-1321E EGYPTIAN HIEROGLYPH N041
-1321F EGYPTIAN HIEROGLYPH N042
-13220 EGYPTIAN HIEROGLYPH NL001
-13221 EGYPTIAN HIEROGLYPH NL002
-13222 EGYPTIAN HIEROGLYPH NL003
-13223 EGYPTIAN HIEROGLYPH NL004
-13224 EGYPTIAN HIEROGLYPH NL005
-13225 EGYPTIAN HIEROGLYPH NL005A
-13226 EGYPTIAN HIEROGLYPH NL006
-13227 EGYPTIAN HIEROGLYPH NL007
-13228 EGYPTIAN HIEROGLYPH NL008
-13229 EGYPTIAN HIEROGLYPH NL009
-1322A EGYPTIAN HIEROGLYPH NL010
-1322B EGYPTIAN HIEROGLYPH NL011
-1322C EGYPTIAN HIEROGLYPH NL012
-1322D EGYPTIAN HIEROGLYPH NL013
-1322E EGYPTIAN HIEROGLYPH NL014
-1322F EGYPTIAN HIEROGLYPH NL015
-13230 EGYPTIAN HIEROGLYPH NL016
-13231 EGYPTIAN HIEROGLYPH NL017
-13232 EGYPTIAN HIEROGLYPH NL017A
-13233 EGYPTIAN HIEROGLYPH NL018
-13234 EGYPTIAN HIEROGLYPH NL019
-13235 EGYPTIAN HIEROGLYPH NL020
-13236 EGYPTIAN HIEROGLYPH NU001
-13237 EGYPTIAN HIEROGLYPH NU002
-13238 EGYPTIAN HIEROGLYPH NU003
-13239 EGYPTIAN HIEROGLYPH NU004
-1323A EGYPTIAN HIEROGLYPH NU005
-1323B EGYPTIAN HIEROGLYPH NU006
-1323C EGYPTIAN HIEROGLYPH NU007
-1323D EGYPTIAN HIEROGLYPH NU008
-1323E EGYPTIAN HIEROGLYPH NU009
-1323F EGYPTIAN HIEROGLYPH NU010
-13240 EGYPTIAN HIEROGLYPH NU010A
-13241 EGYPTIAN HIEROGLYPH NU011
-13242 EGYPTIAN HIEROGLYPH NU011A
-13243 EGYPTIAN HIEROGLYPH NU012
-13244 EGYPTIAN HIEROGLYPH NU013
-13245 EGYPTIAN HIEROGLYPH NU014
-13246 EGYPTIAN HIEROGLYPH NU015
-13247 EGYPTIAN HIEROGLYPH NU016
-13248 EGYPTIAN HIEROGLYPH NU017
-13249 EGYPTIAN HIEROGLYPH NU018
-1324A EGYPTIAN HIEROGLYPH NU018A
-1324B EGYPTIAN HIEROGLYPH NU019
-1324C EGYPTIAN HIEROGLYPH NU020
-1324D EGYPTIAN HIEROGLYPH NU021
-1324E EGYPTIAN HIEROGLYPH NU022
-1324F EGYPTIAN HIEROGLYPH NU022A
-13250 EGYPTIAN HIEROGLYPH O001
-13251 EGYPTIAN HIEROGLYPH O001A
-13252 EGYPTIAN HIEROGLYPH O002
-13253 EGYPTIAN HIEROGLYPH O003
-13254 EGYPTIAN HIEROGLYPH O004
-13255 EGYPTIAN HIEROGLYPH O005
-13256 EGYPTIAN HIEROGLYPH O005A
-13257 EGYPTIAN HIEROGLYPH O006
-13258 EGYPTIAN HIEROGLYPH O006A
-13259 EGYPTIAN HIEROGLYPH O006B
-1325A EGYPTIAN HIEROGLYPH O006C
-1325B EGYPTIAN HIEROGLYPH O006D
-1325C EGYPTIAN HIEROGLYPH O006E
-1325D EGYPTIAN HIEROGLYPH O006F
-1325E EGYPTIAN HIEROGLYPH O007
-1325F EGYPTIAN HIEROGLYPH O008
-13260 EGYPTIAN HIEROGLYPH O009
-13261 EGYPTIAN HIEROGLYPH O010
-13262 EGYPTIAN HIEROGLYPH O010A
-13263 EGYPTIAN HIEROGLYPH O010B
-13264 EGYPTIAN HIEROGLYPH O010C
-13265 EGYPTIAN HIEROGLYPH O011
-13266 EGYPTIAN HIEROGLYPH O012
-13267 EGYPTIAN HIEROGLYPH O013
-13268 EGYPTIAN HIEROGLYPH O014
-13269 EGYPTIAN HIEROGLYPH O015
-1326A EGYPTIAN HIEROGLYPH O016
-1326B EGYPTIAN HIEROGLYPH O017
-1326C EGYPTIAN HIEROGLYPH O018
-1326D EGYPTIAN HIEROGLYPH O019
-1326E EGYPTIAN HIEROGLYPH O019A
-1326F EGYPTIAN HIEROGLYPH O020
-13270 EGYPTIAN HIEROGLYPH O020A
-13271 EGYPTIAN HIEROGLYPH O021
-13272 EGYPTIAN HIEROGLYPH O022
-13273 EGYPTIAN HIEROGLYPH O023
-13274 EGYPTIAN HIEROGLYPH O024
-13275 EGYPTIAN HIEROGLYPH O024A
-13276 EGYPTIAN HIEROGLYPH O025
-13277 EGYPTIAN HIEROGLYPH O025A
-13278 EGYPTIAN HIEROGLYPH O026
-13279 EGYPTIAN HIEROGLYPH O027
-1327A EGYPTIAN HIEROGLYPH O028
-1327B EGYPTIAN HIEROGLYPH O029
-1327C EGYPTIAN HIEROGLYPH O029A
-1327D EGYPTIAN HIEROGLYPH O030
-1327E EGYPTIAN HIEROGLYPH O030A
-1327F EGYPTIAN HIEROGLYPH O031
-13280 EGYPTIAN HIEROGLYPH O032
-13281 EGYPTIAN HIEROGLYPH O033
-13282 EGYPTIAN HIEROGLYPH O033A
-13283 EGYPTIAN HIEROGLYPH O034
-13284 EGYPTIAN HIEROGLYPH O035
-13285 EGYPTIAN HIEROGLYPH O036
-13286 EGYPTIAN HIEROGLYPH O036A
-13287 EGYPTIAN HIEROGLYPH O036B
-13288 EGYPTIAN HIEROGLYPH O036C
-13289 EGYPTIAN HIEROGLYPH O036D
-1328A EGYPTIAN HIEROGLYPH O037
-1328B EGYPTIAN HIEROGLYPH O038
-1328C EGYPTIAN HIEROGLYPH O039
-1328D EGYPTIAN HIEROGLYPH O040
-1328E EGYPTIAN HIEROGLYPH O041
-1328F EGYPTIAN HIEROGLYPH O042
-13290 EGYPTIAN HIEROGLYPH O043
-13291 EGYPTIAN HIEROGLYPH O044
-13292 EGYPTIAN HIEROGLYPH O045
-13293 EGYPTIAN HIEROGLYPH O046
-13294 EGYPTIAN HIEROGLYPH O047
-13295 EGYPTIAN HIEROGLYPH O048
-13296 EGYPTIAN HIEROGLYPH O049
-13297 EGYPTIAN HIEROGLYPH O050
-13298 EGYPTIAN HIEROGLYPH O050A
-13299 EGYPTIAN HIEROGLYPH O050B
-1329A EGYPTIAN HIEROGLYPH O051
-1329B EGYPTIAN HIEROGLYPH P001
-1329C EGYPTIAN HIEROGLYPH P001A
-1329D EGYPTIAN HIEROGLYPH P002
-1329E EGYPTIAN HIEROGLYPH P003
-1329F EGYPTIAN HIEROGLYPH P003A
-132A0 EGYPTIAN HIEROGLYPH P004
-132A1 EGYPTIAN HIEROGLYPH P005
-132A2 EGYPTIAN HIEROGLYPH P006
-132A3 EGYPTIAN HIEROGLYPH P007
-132A4 EGYPTIAN HIEROGLYPH P008
-132A5 EGYPTIAN HIEROGLYPH P009
-132A6 EGYPTIAN HIEROGLYPH P010
-132A7 EGYPTIAN HIEROGLYPH P011
-132A8 EGYPTIAN HIEROGLYPH Q001
-132A9 EGYPTIAN HIEROGLYPH Q002
-132AA EGYPTIAN HIEROGLYPH Q003
-132AB EGYPTIAN HIEROGLYPH Q004
-132AC EGYPTIAN HIEROGLYPH Q005
-132AD EGYPTIAN HIEROGLYPH Q006
-132AE EGYPTIAN HIEROGLYPH Q007
-132AF EGYPTIAN HIEROGLYPH R001
-132B0 EGYPTIAN HIEROGLYPH R002
-132B1 EGYPTIAN HIEROGLYPH R002A
-132B2 EGYPTIAN HIEROGLYPH R003
-132B3 EGYPTIAN HIEROGLYPH R003A
-132B4 EGYPTIAN HIEROGLYPH R003B
-132B5 EGYPTIAN HIEROGLYPH R004
-132B6 EGYPTIAN HIEROGLYPH R005
-132B7 EGYPTIAN HIEROGLYPH R006
-132B8 EGYPTIAN HIEROGLYPH R007
-132B9 EGYPTIAN HIEROGLYPH R008
-132BA EGYPTIAN HIEROGLYPH R009
-132BB EGYPTIAN HIEROGLYPH R010
-132BC EGYPTIAN HIEROGLYPH R010A
-132BD EGYPTIAN HIEROGLYPH R011
-132BE EGYPTIAN HIEROGLYPH R012
-132BF EGYPTIAN HIEROGLYPH R013
-132C0 EGYPTIAN HIEROGLYPH R014
-132C1 EGYPTIAN HIEROGLYPH R015
-132C2 EGYPTIAN HIEROGLYPH R016
-132C3 EGYPTIAN HIEROGLYPH R016A
-132C4 EGYPTIAN HIEROGLYPH R017
-132C5 EGYPTIAN HIEROGLYPH R018
-132C6 EGYPTIAN HIEROGLYPH R019
-132C7 EGYPTIAN HIEROGLYPH R020
-132C8 EGYPTIAN HIEROGLYPH R021
-132C9 EGYPTIAN HIEROGLYPH R022
-132CA EGYPTIAN HIEROGLYPH R023
-132CB EGYPTIAN HIEROGLYPH R024
-132CC EGYPTIAN HIEROGLYPH R025
-132CD EGYPTIAN HIEROGLYPH R026
-132CE EGYPTIAN HIEROGLYPH R027
-132CF EGYPTIAN HIEROGLYPH R028
-132D0 EGYPTIAN HIEROGLYPH R029
-132D1 EGYPTIAN HIEROGLYPH S001
-132D2 EGYPTIAN HIEROGLYPH S002
-132D3 EGYPTIAN HIEROGLYPH S002A
-132D4 EGYPTIAN HIEROGLYPH S003
-132D5 EGYPTIAN HIEROGLYPH S004
-132D6 EGYPTIAN HIEROGLYPH S005
-132D7 EGYPTIAN HIEROGLYPH S006
-132D8 EGYPTIAN HIEROGLYPH S006A
-132D9 EGYPTIAN HIEROGLYPH S007
-132DA EGYPTIAN HIEROGLYPH S008
-132DB EGYPTIAN HIEROGLYPH S009
-132DC EGYPTIAN HIEROGLYPH S010
-132DD EGYPTIAN HIEROGLYPH S011
-132DE EGYPTIAN HIEROGLYPH S012
-132DF EGYPTIAN HIEROGLYPH S013
-132E0 EGYPTIAN HIEROGLYPH S014
-132E1 EGYPTIAN HIEROGLYPH S014A
-132E2 EGYPTIAN HIEROGLYPH S014B
-132E3 EGYPTIAN HIEROGLYPH S015
-132E4 EGYPTIAN HIEROGLYPH S016
-132E5 EGYPTIAN HIEROGLYPH S017
-132E6 EGYPTIAN HIEROGLYPH S017A
-132E7 EGYPTIAN HIEROGLYPH S018
-132E8 EGYPTIAN HIEROGLYPH S019
-132E9 EGYPTIAN HIEROGLYPH S020
-132EA EGYPTIAN HIEROGLYPH S021
-132EB EGYPTIAN HIEROGLYPH S022
-132EC EGYPTIAN HIEROGLYPH S023
-132ED EGYPTIAN HIEROGLYPH S024
-132EE EGYPTIAN HIEROGLYPH S025
-132EF EGYPTIAN HIEROGLYPH S026
-132F0 EGYPTIAN HIEROGLYPH S026A
-132F1 EGYPTIAN HIEROGLYPH S026B
-132F2 EGYPTIAN HIEROGLYPH S027
-132F3 EGYPTIAN HIEROGLYPH S028
-132F4 EGYPTIAN HIEROGLYPH S029
-132F5 EGYPTIAN HIEROGLYPH S030
-132F6 EGYPTIAN HIEROGLYPH S031
-132F7 EGYPTIAN HIEROGLYPH S032
-132F8 EGYPTIAN HIEROGLYPH S033
-132F9 EGYPTIAN HIEROGLYPH S034
-132FA EGYPTIAN HIEROGLYPH S035
-132FB EGYPTIAN HIEROGLYPH S035A
-132FC EGYPTIAN HIEROGLYPH S036
-132FD EGYPTIAN HIEROGLYPH S037
-132FE EGYPTIAN HIEROGLYPH S038
-132FF EGYPTIAN HIEROGLYPH S039
-13300 EGYPTIAN HIEROGLYPH S040
-13301 EGYPTIAN HIEROGLYPH S041
-13302 EGYPTIAN HIEROGLYPH S042
-13303 EGYPTIAN HIEROGLYPH S043
-13304 EGYPTIAN HIEROGLYPH S044
-13305 EGYPTIAN HIEROGLYPH S045
-13306 EGYPTIAN HIEROGLYPH S046
-13307 EGYPTIAN HIEROGLYPH T001
-13308 EGYPTIAN HIEROGLYPH T002
-13309 EGYPTIAN HIEROGLYPH T003
-1330A EGYPTIAN HIEROGLYPH T003A
-1330B EGYPTIAN HIEROGLYPH T004
-1330C EGYPTIAN HIEROGLYPH T005
-1330D EGYPTIAN HIEROGLYPH T006
-1330E EGYPTIAN HIEROGLYPH T007
-1330F EGYPTIAN HIEROGLYPH T007A
-13310 EGYPTIAN HIEROGLYPH T008
-13311 EGYPTIAN HIEROGLYPH T008A
-13312 EGYPTIAN HIEROGLYPH T009
-13313 EGYPTIAN HIEROGLYPH T009A
-13314 EGYPTIAN HIEROGLYPH T010
-13315 EGYPTIAN HIEROGLYPH T011
-13316 EGYPTIAN HIEROGLYPH T011A
-13317 EGYPTIAN HIEROGLYPH T012
-13318 EGYPTIAN HIEROGLYPH T013
-13319 EGYPTIAN HIEROGLYPH T014
-1331A EGYPTIAN HIEROGLYPH T015
-1331B EGYPTIAN HIEROGLYPH T016
-1331C EGYPTIAN HIEROGLYPH T016A
-1331D EGYPTIAN HIEROGLYPH T017
-1331E EGYPTIAN HIEROGLYPH T018
-1331F EGYPTIAN HIEROGLYPH T019
-13320 EGYPTIAN HIEROGLYPH T020
-13321 EGYPTIAN HIEROGLYPH T021
-13322 EGYPTIAN HIEROGLYPH T022
-13323 EGYPTIAN HIEROGLYPH T023
-13324 EGYPTIAN HIEROGLYPH T024
-13325 EGYPTIAN HIEROGLYPH T025
-13326 EGYPTIAN HIEROGLYPH T026
-13327 EGYPTIAN HIEROGLYPH T027
-13328 EGYPTIAN HIEROGLYPH T028
-13329 EGYPTIAN HIEROGLYPH T029
-1332A EGYPTIAN HIEROGLYPH T030
-1332B EGYPTIAN HIEROGLYPH T031
-1332C EGYPTIAN HIEROGLYPH T032
-1332D EGYPTIAN HIEROGLYPH T032A
-1332E EGYPTIAN HIEROGLYPH T033
-1332F EGYPTIAN HIEROGLYPH T033A
-13330 EGYPTIAN HIEROGLYPH T034
-13331 EGYPTIAN HIEROGLYPH T035
-13332 EGYPTIAN HIEROGLYPH T036
-13333 EGYPTIAN HIEROGLYPH U001
-13334 EGYPTIAN HIEROGLYPH U002
-13335 EGYPTIAN HIEROGLYPH U003
-13336 EGYPTIAN HIEROGLYPH U004
-13337 EGYPTIAN HIEROGLYPH U005
-13338 EGYPTIAN HIEROGLYPH U006
-13339 EGYPTIAN HIEROGLYPH U006A
-1333A EGYPTIAN HIEROGLYPH U006B
-1333B EGYPTIAN HIEROGLYPH U007
-1333C EGYPTIAN HIEROGLYPH U008
-1333D EGYPTIAN HIEROGLYPH U009
-1333E EGYPTIAN HIEROGLYPH U010
-1333F EGYPTIAN HIEROGLYPH U011
-13340 EGYPTIAN HIEROGLYPH U012
-13341 EGYPTIAN HIEROGLYPH U013
-13342 EGYPTIAN HIEROGLYPH U014
-13343 EGYPTIAN HIEROGLYPH U015
-13344 EGYPTIAN HIEROGLYPH U016
-13345 EGYPTIAN HIEROGLYPH U017
-13346 EGYPTIAN HIEROGLYPH U018
-13347 EGYPTIAN HIEROGLYPH U019
-13348 EGYPTIAN HIEROGLYPH U020
-13349 EGYPTIAN HIEROGLYPH U021
-1334A EGYPTIAN HIEROGLYPH U022
-1334B EGYPTIAN HIEROGLYPH U023
-1334C EGYPTIAN HIEROGLYPH U023A
-1334D EGYPTIAN HIEROGLYPH U024
-1334E EGYPTIAN HIEROGLYPH U025
-1334F EGYPTIAN HIEROGLYPH U026
-13350 EGYPTIAN HIEROGLYPH U027
-13351 EGYPTIAN HIEROGLYPH U028
-13352 EGYPTIAN HIEROGLYPH U029
-13353 EGYPTIAN HIEROGLYPH U029A
-13354 EGYPTIAN HIEROGLYPH U030
-13355 EGYPTIAN HIEROGLYPH U031
-13356 EGYPTIAN HIEROGLYPH U032
-13357 EGYPTIAN HIEROGLYPH U032A
-13358 EGYPTIAN HIEROGLYPH U033
-13359 EGYPTIAN HIEROGLYPH U034
-1335A EGYPTIAN HIEROGLYPH U035
-1335B EGYPTIAN HIEROGLYPH U036
-1335C EGYPTIAN HIEROGLYPH U037
-1335D EGYPTIAN HIEROGLYPH U038
-1335E EGYPTIAN HIEROGLYPH U039
-1335F EGYPTIAN HIEROGLYPH U040
-13360 EGYPTIAN HIEROGLYPH U041
-13361 EGYPTIAN HIEROGLYPH U042
-13362 EGYPTIAN HIEROGLYPH V001
-13363 EGYPTIAN HIEROGLYPH V001A
-13364 EGYPTIAN HIEROGLYPH V001B
-13365 EGYPTIAN HIEROGLYPH V001C
-13366 EGYPTIAN HIEROGLYPH V001D
-13367 EGYPTIAN HIEROGLYPH V001E
-13368 EGYPTIAN HIEROGLYPH V001F
-13369 EGYPTIAN HIEROGLYPH V001G
-1336A EGYPTIAN HIEROGLYPH V001H
-1336B EGYPTIAN HIEROGLYPH V001I
-1336C EGYPTIAN HIEROGLYPH V002
-1336D EGYPTIAN HIEROGLYPH V002A
-1336E EGYPTIAN HIEROGLYPH V003
-1336F EGYPTIAN HIEROGLYPH V004
-13370 EGYPTIAN HIEROGLYPH V005
-13371 EGYPTIAN HIEROGLYPH V006
-13372 EGYPTIAN HIEROGLYPH V007
-13373 EGYPTIAN HIEROGLYPH V007A
-13374 EGYPTIAN HIEROGLYPH V007B
-13375 EGYPTIAN HIEROGLYPH V008
-13376 EGYPTIAN HIEROGLYPH V009
-13377 EGYPTIAN HIEROGLYPH V010
-13378 EGYPTIAN HIEROGLYPH V011
-13379 EGYPTIAN HIEROGLYPH V011A
-1337A EGYPTIAN HIEROGLYPH V011B
-1337B EGYPTIAN HIEROGLYPH V011C
-1337C EGYPTIAN HIEROGLYPH V012
-1337D EGYPTIAN HIEROGLYPH V012A
-1337E EGYPTIAN HIEROGLYPH V012B
-1337F EGYPTIAN HIEROGLYPH V013
-13380 EGYPTIAN HIEROGLYPH V014
-13381 EGYPTIAN HIEROGLYPH V015
-13382 EGYPTIAN HIEROGLYPH V016
-13383 EGYPTIAN HIEROGLYPH V017
-13384 EGYPTIAN HIEROGLYPH V018
-13385 EGYPTIAN HIEROGLYPH V019
-13386 EGYPTIAN HIEROGLYPH V020
-13387 EGYPTIAN HIEROGLYPH V020A
-13388 EGYPTIAN HIEROGLYPH V020B
-13389 EGYPTIAN HIEROGLYPH V020C
-1338A EGYPTIAN HIEROGLYPH V020D
-1338B EGYPTIAN HIEROGLYPH V020E
-1338C EGYPTIAN HIEROGLYPH V020F
-1338D EGYPTIAN HIEROGLYPH V020G
-1338E EGYPTIAN HIEROGLYPH V020H
-1338F EGYPTIAN HIEROGLYPH V020I
-13390 EGYPTIAN HIEROGLYPH V020J
-13391 EGYPTIAN HIEROGLYPH V020K
-13392 EGYPTIAN HIEROGLYPH V020L
-13393 EGYPTIAN HIEROGLYPH V021
-13394 EGYPTIAN HIEROGLYPH V022
-13395 EGYPTIAN HIEROGLYPH V023
-13396 EGYPTIAN HIEROGLYPH V023A
-13397 EGYPTIAN HIEROGLYPH V024
-13398 EGYPTIAN HIEROGLYPH V025
-13399 EGYPTIAN HIEROGLYPH V026
-1339A EGYPTIAN HIEROGLYPH V027
-1339B EGYPTIAN HIEROGLYPH V028
-1339C EGYPTIAN HIEROGLYPH V028A
-1339D EGYPTIAN HIEROGLYPH V029
-1339E EGYPTIAN HIEROGLYPH V029A
-1339F EGYPTIAN HIEROGLYPH V030
-133A0 EGYPTIAN HIEROGLYPH V030A
-133A1 EGYPTIAN HIEROGLYPH V031
-133A2 EGYPTIAN HIEROGLYPH V031A
-133A3 EGYPTIAN HIEROGLYPH V032
-133A4 EGYPTIAN HIEROGLYPH V033
-133A5 EGYPTIAN HIEROGLYPH V033A
-133A6 EGYPTIAN HIEROGLYPH V034
-133A7 EGYPTIAN HIEROGLYPH V035
-133A8 EGYPTIAN HIEROGLYPH V036
-133A9 EGYPTIAN HIEROGLYPH V037
-133AA EGYPTIAN HIEROGLYPH V037A
-133AB EGYPTIAN HIEROGLYPH V038
-133AC EGYPTIAN HIEROGLYPH V039
-133AD EGYPTIAN HIEROGLYPH V040
-133AE EGYPTIAN HIEROGLYPH V040A
-133AF EGYPTIAN HIEROGLYPH W001
-133B0 EGYPTIAN HIEROGLYPH W002
-133B1 EGYPTIAN HIEROGLYPH W003
-133B2 EGYPTIAN HIEROGLYPH W003A
-133B3 EGYPTIAN HIEROGLYPH W004
-133B4 EGYPTIAN HIEROGLYPH W005
-133B5 EGYPTIAN HIEROGLYPH W006
-133B6 EGYPTIAN HIEROGLYPH W007
-133B7 EGYPTIAN HIEROGLYPH W008
-133B8 EGYPTIAN HIEROGLYPH W009
-133B9 EGYPTIAN HIEROGLYPH W009A
-133BA EGYPTIAN HIEROGLYPH W010
-133BB EGYPTIAN HIEROGLYPH W010A
-133BC EGYPTIAN HIEROGLYPH W011
-133BD EGYPTIAN HIEROGLYPH W012
-133BE EGYPTIAN HIEROGLYPH W013
-133BF EGYPTIAN HIEROGLYPH W014
-133C0 EGYPTIAN HIEROGLYPH W014A
-133C1 EGYPTIAN HIEROGLYPH W015
-133C2 EGYPTIAN HIEROGLYPH W016
-133C3 EGYPTIAN HIEROGLYPH W017
-133C4 EGYPTIAN HIEROGLYPH W017A
-133C5 EGYPTIAN HIEROGLYPH W018
-133C6 EGYPTIAN HIEROGLYPH W018A
-133C7 EGYPTIAN HIEROGLYPH W019
-133C8 EGYPTIAN HIEROGLYPH W020
-133C9 EGYPTIAN HIEROGLYPH W021
-133CA EGYPTIAN HIEROGLYPH W022
-133CB EGYPTIAN HIEROGLYPH W023
-133CC EGYPTIAN HIEROGLYPH W024
-133CD EGYPTIAN HIEROGLYPH W024A
-133CE EGYPTIAN HIEROGLYPH W025
-133CF EGYPTIAN HIEROGLYPH X001
-133D0 EGYPTIAN HIEROGLYPH X002
-133D1 EGYPTIAN HIEROGLYPH X003
-133D2 EGYPTIAN HIEROGLYPH X004
-133D3 EGYPTIAN HIEROGLYPH X004A
-133D4 EGYPTIAN HIEROGLYPH X004B
-133D5 EGYPTIAN HIEROGLYPH X005
-133D6 EGYPTIAN HIEROGLYPH X006
-133D7 EGYPTIAN HIEROGLYPH X006A
-133D8 EGYPTIAN HIEROGLYPH X007
-133D9 EGYPTIAN HIEROGLYPH X008
-133DA EGYPTIAN HIEROGLYPH X008A
-133DB EGYPTIAN HIEROGLYPH Y001
-133DC EGYPTIAN HIEROGLYPH Y001A
-133DD EGYPTIAN HIEROGLYPH Y002
-133DE EGYPTIAN HIEROGLYPH Y003
-133DF EGYPTIAN HIEROGLYPH Y004
-133E0 EGYPTIAN HIEROGLYPH Y005
-133E1 EGYPTIAN HIEROGLYPH Y006
-133E2 EGYPTIAN HIEROGLYPH Y007
-133E3 EGYPTIAN HIEROGLYPH Y008
-133E4 EGYPTIAN HIEROGLYPH Z001
-133E5 EGYPTIAN HIEROGLYPH Z002
-133E6 EGYPTIAN HIEROGLYPH Z002A
-133E7 EGYPTIAN HIEROGLYPH Z002B
-133E8 EGYPTIAN HIEROGLYPH Z002C
-133E9 EGYPTIAN HIEROGLYPH Z002D
-133EA EGYPTIAN HIEROGLYPH Z003
-133EB EGYPTIAN HIEROGLYPH Z003A
-133EC EGYPTIAN HIEROGLYPH Z003B
-133ED EGYPTIAN HIEROGLYPH Z004
-133EE EGYPTIAN HIEROGLYPH Z004A
-133EF EGYPTIAN HIEROGLYPH Z005
-133F0 EGYPTIAN HIEROGLYPH Z005A
-133F1 EGYPTIAN HIEROGLYPH Z006
-133F2 EGYPTIAN HIEROGLYPH Z007
-133F3 EGYPTIAN HIEROGLYPH Z008
-133F4 EGYPTIAN HIEROGLYPH Z009
-133F5 EGYPTIAN HIEROGLYPH Z010
-133F6 EGYPTIAN HIEROGLYPH Z011
-133F7 EGYPTIAN HIEROGLYPH Z012
-133F8 EGYPTIAN HIEROGLYPH Z013
-133F9 EGYPTIAN HIEROGLYPH Z014
-133FA EGYPTIAN HIEROGLYPH Z015
-133FB EGYPTIAN HIEROGLYPH Z015A
-133FC EGYPTIAN HIEROGLYPH Z015B
-133FD EGYPTIAN HIEROGLYPH Z015C
-133FE EGYPTIAN HIEROGLYPH Z015D
-133FF EGYPTIAN HIEROGLYPH Z015E
-13400 EGYPTIAN HIEROGLYPH Z015F
-13401 EGYPTIAN HIEROGLYPH Z015G
-13402 EGYPTIAN HIEROGLYPH Z015H
-13403 EGYPTIAN HIEROGLYPH Z015I
-13404 EGYPTIAN HIEROGLYPH Z016
-13405 EGYPTIAN HIEROGLYPH Z016A
-13406 EGYPTIAN HIEROGLYPH Z016B
-13407 EGYPTIAN HIEROGLYPH Z016C
-13408 EGYPTIAN HIEROGLYPH Z016D
-13409 EGYPTIAN HIEROGLYPH Z016E
-1340A EGYPTIAN HIEROGLYPH Z016F
-1340B EGYPTIAN HIEROGLYPH Z016G
-1340C EGYPTIAN HIEROGLYPH Z016H
-1340D EGYPTIAN HIEROGLYPH AA001
-1340E EGYPTIAN HIEROGLYPH AA002
-1340F EGYPTIAN HIEROGLYPH AA003
-13410 EGYPTIAN HIEROGLYPH AA004
-13411 EGYPTIAN HIEROGLYPH AA005
-13412 EGYPTIAN HIEROGLYPH AA006
-13413 EGYPTIAN HIEROGLYPH AA007
-13414 EGYPTIAN HIEROGLYPH AA007A
-13415 EGYPTIAN HIEROGLYPH AA007B
-13416 EGYPTIAN HIEROGLYPH AA008
-13417 EGYPTIAN HIEROGLYPH AA009
-13418 EGYPTIAN HIEROGLYPH AA010
-13419 EGYPTIAN HIEROGLYPH AA011
-1341A EGYPTIAN HIEROGLYPH AA012
-1341B EGYPTIAN HIEROGLYPH AA013
-1341C EGYPTIAN HIEROGLYPH AA014
-1341D EGYPTIAN HIEROGLYPH AA015
-1341E EGYPTIAN HIEROGLYPH AA016
-1341F EGYPTIAN HIEROGLYPH AA017
-13420 EGYPTIAN HIEROGLYPH AA018
-13421 EGYPTIAN HIEROGLYPH AA019
-13422 EGYPTIAN HIEROGLYPH AA020
-13423 EGYPTIAN HIEROGLYPH AA021
-13424 EGYPTIAN HIEROGLYPH AA022
-13425 EGYPTIAN HIEROGLYPH AA023
-13426 EGYPTIAN HIEROGLYPH AA024
-13427 EGYPTIAN HIEROGLYPH AA025
-13428 EGYPTIAN HIEROGLYPH AA026
-13429 EGYPTIAN HIEROGLYPH AA027
-1342A EGYPTIAN HIEROGLYPH AA028
-1342B EGYPTIAN HIEROGLYPH AA029
-1342C EGYPTIAN HIEROGLYPH AA030
-1342D EGYPTIAN HIEROGLYPH AA031
-1342E EGYPTIAN HIEROGLYPH AA032
-1D000 BYZANTINE MUSICAL SYMBOL PSILI
-1D001 BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003 BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 BYZANTINE MUSICAL SYMBOL THITA
-1D015 BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 BYZANTINE MUSICAL SYMBOL PSILON
-1D018 BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 BYZANTINE MUSICAL SYMBOL VATHY
-1D01A BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 BYZANTINE MUSICAL SYMBOL REVMA
-1D026 BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D BYZANTINE MUSICAL SYMBOL THEMA
-1D02E BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F BYZANTINE MUSICAL SYMBOL DYO
-1D030 BYZANTINE MUSICAL SYMBOL TRIA
-1D031 BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 BYZANTINE MUSICAL SYMBOL NANA
-1D041 BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046 BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057 BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B BYZANTINE MUSICAL SYMBOL OMALON
-1D05C BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 BYZANTINE MUSICAL SYMBOL APLI
-1D086 BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 BYZANTINE MUSICAL SYMBOL ARGON
-1D098 BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099 BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2 BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5 BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6 BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C5 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS
-1D0C6 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6 BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8 BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9 BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0 BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100 MUSICAL SYMBOL SINGLE BARLINE
-1D101 MUSICAL SYMBOL DOUBLE BARLINE
-1D102 MUSICAL SYMBOL FINAL BARLINE
-1D103 MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 MUSICAL SYMBOL DASHED BARLINE
-1D105 MUSICAL SYMBOL SHORT BARLINE
-1D106 MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 MUSICAL SYMBOL REPEAT DOTS
-1D109 MUSICAL SYMBOL DAL SEGNO
-1D10A MUSICAL SYMBOL DA CAPO
-1D10B MUSICAL SYMBOL SEGNO
-1D10C MUSICAL SYMBOL CODA
-1D10D MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F MUSICAL SYMBOL REPEATED FIGURE-3
-1D110 MUSICAL SYMBOL FERMATA
-1D111 MUSICAL SYMBOL FERMATA BELOW
-1D112 MUSICAL SYMBOL BREATH MARK
-1D113 MUSICAL SYMBOL CAESURA
-1D114 MUSICAL SYMBOL BRACE
-1D115 MUSICAL SYMBOL BRACKET
-1D116 MUSICAL SYMBOL ONE-LINE STAFF
-1D117 MUSICAL SYMBOL TWO-LINE STAFF
-1D118 MUSICAL SYMBOL THREE-LINE STAFF
-1D119 MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B MUSICAL SYMBOL SIX-LINE STAFF
-1D11C MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E MUSICAL SYMBOL G CLEF
-1D11F MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 MUSICAL SYMBOL C CLEF
-1D122 MUSICAL SYMBOL F CLEF
-1D123 MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 MUSICAL SYMBOL DRUM CLEF-1
-1D126 MUSICAL SYMBOL DRUM CLEF-2
-1D129 MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A MUSICAL SYMBOL DOUBLE SHARP
-1D12B MUSICAL SYMBOL DOUBLE FLAT
-1D12C MUSICAL SYMBOL FLAT UP
-1D12D MUSICAL SYMBOL FLAT DOWN
-1D12E MUSICAL SYMBOL NATURAL UP
-1D12F MUSICAL SYMBOL NATURAL DOWN
-1D130 MUSICAL SYMBOL SHARP UP
-1D131 MUSICAL SYMBOL SHARP DOWN
-1D132 MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 MUSICAL SYMBOL QUARTER TONE FLAT
-1D134 MUSICAL SYMBOL COMMON TIME
-1D135 MUSICAL SYMBOL CUT TIME
-1D136 MUSICAL SYMBOL OTTAVA ALTA
-1D137 MUSICAL SYMBOL OTTAVA BASSA
-1D138 MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A MUSICAL SYMBOL MULTI REST
-1D13B MUSICAL SYMBOL WHOLE REST
-1D13C MUSICAL SYMBOL HALF REST
-1D13D MUSICAL SYMBOL QUARTER REST
-1D13E MUSICAL SYMBOL EIGHTH REST
-1D13F MUSICAL SYMBOL SIXTEENTH REST
-1D140 MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143 MUSICAL SYMBOL X NOTEHEAD
-1D144 MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 MUSICAL SYMBOL VOID NOTEHEAD
-1D158 MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 MUSICAL SYMBOL NULL NOTEHEAD
-1D15A MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C MUSICAL SYMBOL BREVE
-1D15D MUSICAL SYMBOL WHOLE NOTE
-1D15E MUSICAL SYMBOL HALF NOTE
-1D15F MUSICAL SYMBOL QUARTER NOTE
-1D160 MUSICAL SYMBOL EIGHTH NOTE
-1D161 MUSICAL SYMBOL SIXTEENTH NOTE
-1D162 MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163 MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D165 MUSICAL SYMBOL COMBINING STEM
-1D166 MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167 MUSICAL SYMBOL COMBINING TREMOLO-1
-1D168 MUSICAL SYMBOL COMBINING TREMOLO-2
-1D169 MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-1D16E MUSICAL SYMBOL COMBINING FLAG-1
-1D16F MUSICAL SYMBOL COMBINING FLAG-2
-1D170 MUSICAL SYMBOL COMBINING FLAG-3
-1D171 MUSICAL SYMBOL COMBINING FLAG-4
-1D172 MUSICAL SYMBOL COMBINING FLAG-5
-1D173 MUSICAL SYMBOL BEGIN BEAM
-1D174 MUSICAL SYMBOL END BEAM
-1D175 MUSICAL SYMBOL BEGIN TIE
-1D176 MUSICAL SYMBOL END TIE
-1D177 MUSICAL SYMBOL BEGIN SLUR
-1D178 MUSICAL SYMBOL END SLUR
-1D179 MUSICAL SYMBOL BEGIN PHRASE
-1D17A MUSICAL SYMBOL END PHRASE
-1D17B MUSICAL SYMBOL COMBINING ACCENT
-1D17C MUSICAL SYMBOL COMBINING STACCATO
-1D17D MUSICAL SYMBOL COMBINING TENUTO
-1D17E MUSICAL SYMBOL COMBINING STACCATISSIMO
-1D17F MUSICAL SYMBOL COMBINING MARCATO
-1D180 MUSICAL SYMBOL COMBINING MARCATO-STACCATO
-1D181 MUSICAL SYMBOL COMBINING ACCENT-STACCATO
-1D182 MUSICAL SYMBOL COMBINING LOURE
-1D183 MUSICAL SYMBOL ARPEGGIATO UP
-1D184 MUSICAL SYMBOL ARPEGGIATO DOWN
-1D185 MUSICAL SYMBOL COMBINING DOIT
-1D186 MUSICAL SYMBOL COMBINING RIP
-1D187 MUSICAL SYMBOL COMBINING FLIP
-1D188 MUSICAL SYMBOL COMBINING SMEAR
-1D189 MUSICAL SYMBOL COMBINING BEND
-1D18A MUSICAL SYMBOL COMBINING DOUBLE TONGUE
-1D18B MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C MUSICAL SYMBOL RINFORZANDO
-1D18D MUSICAL SYMBOL SUBITO
-1D18E MUSICAL SYMBOL Z
-1D18F MUSICAL SYMBOL PIANO
-1D190 MUSICAL SYMBOL MEZZO
-1D191 MUSICAL SYMBOL FORTE
-1D192 MUSICAL SYMBOL CRESCENDO
-1D193 MUSICAL SYMBOL DECRESCENDO
-1D194 MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 MUSICAL SYMBOL TR
-1D197 MUSICAL SYMBOL TURN
-1D198 MUSICAL SYMBOL INVERTED TURN
-1D199 MUSICAL SYMBOL TURN SLASH
-1D19A MUSICAL SYMBOL TURN UP
-1D19B MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6 MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 MUSICAL SYMBOL NEBENSTIMME
-1D1A8 MUSICAL SYMBOL END OF STIMME
-1D1A9 MUSICAL SYMBOL DEGREE SLASH
-1D1AA MUSICAL SYMBOL COMBINING DOWN BOW
-1D1AB MUSICAL SYMBOL COMBINING UP BOW
-1D1AC MUSICAL SYMBOL COMBINING HARMONIC
-1D1AD MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE MUSICAL SYMBOL PEDAL MARK
-1D1AF MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1 MUSICAL SYMBOL GLISSANDO UP
-1D1B2 MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 MUSICAL SYMBOL DAMP
-1D1B5 MUSICAL SYMBOL DAMP ALL
-1D1B6 MUSICAL SYMBOL MAXIMA
-1D1B7 MUSICAL SYMBOL LONGA
-1D1B8 MUSICAL SYMBOL BREVIS
-1D1B9 MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB MUSICAL SYMBOL MINIMA
-1D1BC MUSICAL SYMBOL MINIMA BLACK
-1D1BD MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF MUSICAL SYMBOL FUSA WHITE
-1D1C0 MUSICAL SYMBOL FUSA BLACK
-1D1C1 MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 MUSICAL SYMBOL BREVIS REST
-1D1C4 MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 MUSICAL SYMBOL MINIMA REST
-1D1C6 MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF MUSICAL SYMBOL CROIX
-1D1D0 MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 MUSICAL SYMBOL SQUARE B
-1D1D3 MUSICAL SYMBOL VIRGA
-1D1D4 MUSICAL SYMBOL PODATUS
-1D1D5 MUSICAL SYMBOL CLIVIS
-1D1D6 MUSICAL SYMBOL SCANDICUS
-1D1D7 MUSICAL SYMBOL CLIMACUS
-1D1D8 MUSICAL SYMBOL TORCULUS
-1D1D9 MUSICAL SYMBOL PORRECTUS
-1D1DA MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD MUSICAL SYMBOL PES SUBPUNCTIS
-1D200 GREEK VOCAL NOTATION SYMBOL-1
-1D201 GREEK VOCAL NOTATION SYMBOL-2
-1D202 GREEK VOCAL NOTATION SYMBOL-3
-1D203 GREEK VOCAL NOTATION SYMBOL-4
-1D204 GREEK VOCAL NOTATION SYMBOL-5
-1D205 GREEK VOCAL NOTATION SYMBOL-6
-1D206 GREEK VOCAL NOTATION SYMBOL-7
-1D207 GREEK VOCAL NOTATION SYMBOL-8
-1D208 GREEK VOCAL NOTATION SYMBOL-9
-1D209 GREEK VOCAL NOTATION SYMBOL-10
-1D20A GREEK VOCAL NOTATION SYMBOL-11
-1D20B GREEK VOCAL NOTATION SYMBOL-12
-1D20C GREEK VOCAL NOTATION SYMBOL-13
-1D20D GREEK VOCAL NOTATION SYMBOL-14
-1D20E GREEK VOCAL NOTATION SYMBOL-15
-1D20F GREEK VOCAL NOTATION SYMBOL-16
-1D210 GREEK VOCAL NOTATION SYMBOL-17
-1D211 GREEK VOCAL NOTATION SYMBOL-18
-1D212 GREEK VOCAL NOTATION SYMBOL-19
-1D213 GREEK VOCAL NOTATION SYMBOL-20
-1D214 GREEK VOCAL NOTATION SYMBOL-21
-1D215 GREEK VOCAL NOTATION SYMBOL-22
-1D216 GREEK VOCAL NOTATION SYMBOL-23
-1D217 GREEK VOCAL NOTATION SYMBOL-24
-1D218 GREEK VOCAL NOTATION SYMBOL-50
-1D219 GREEK VOCAL NOTATION SYMBOL-51
-1D21A GREEK VOCAL NOTATION SYMBOL-52
-1D21B GREEK VOCAL NOTATION SYMBOL-53
-1D21C GREEK VOCAL NOTATION SYMBOL-54
-1D21D GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220 GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221 GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222 GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223 GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224 GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225 GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226 GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227 GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228 GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229 GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230 GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231 GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232 GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233 GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234 GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235 GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236 GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237 GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238 GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239 GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240 GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241 GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D242 COMBINING GREEK MUSICAL TRISEME
-1D243 COMBINING GREEK MUSICAL TETRASEME
-1D244 COMBINING GREEK MUSICAL PENTASEME
-1D245 GREEK MUSICAL LEIMMA
-1D300 MONOGRAM FOR EARTH
-1D301 DIGRAM FOR HEAVENLY EARTH
-1D302 DIGRAM FOR HUMAN EARTH
-1D303 DIGRAM FOR EARTHLY HEAVEN
-1D304 DIGRAM FOR EARTHLY HUMAN
-1D305 DIGRAM FOR EARTH
-1D306 TETRAGRAM FOR CENTRE
-1D307 TETRAGRAM FOR FULL CIRCLE
-1D308 TETRAGRAM FOR MIRED
-1D309 TETRAGRAM FOR BARRIER
-1D30A TETRAGRAM FOR KEEPING SMALL
-1D30B TETRAGRAM FOR CONTRARIETY
-1D30C TETRAGRAM FOR ASCENT
-1D30D TETRAGRAM FOR OPPOSITION
-1D30E TETRAGRAM FOR BRANCHING OUT
-1D30F TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 TETRAGRAM FOR DIVERGENCE
-1D311 TETRAGRAM FOR YOUTHFULNESS
-1D312 TETRAGRAM FOR INCREASE
-1D313 TETRAGRAM FOR PENETRATION
-1D314 TETRAGRAM FOR REACH
-1D315 TETRAGRAM FOR CONTACT
-1D316 TETRAGRAM FOR HOLDING BACK
-1D317 TETRAGRAM FOR WAITING
-1D318 TETRAGRAM FOR FOLLOWING
-1D319 TETRAGRAM FOR ADVANCE
-1D31A TETRAGRAM FOR RELEASE
-1D31B TETRAGRAM FOR RESISTANCE
-1D31C TETRAGRAM FOR EASE
-1D31D TETRAGRAM FOR JOY
-1D31E TETRAGRAM FOR CONTENTION
-1D31F TETRAGRAM FOR ENDEAVOUR
-1D320 TETRAGRAM FOR DUTIES
-1D321 TETRAGRAM FOR CHANGE
-1D322 TETRAGRAM FOR DECISIVENESS
-1D323 TETRAGRAM FOR BOLD RESOLUTION
-1D324 TETRAGRAM FOR PACKING
-1D325 TETRAGRAM FOR LEGION
-1D326 TETRAGRAM FOR CLOSENESS
-1D327 TETRAGRAM FOR KINSHIP
-1D328 TETRAGRAM FOR GATHERING
-1D329 TETRAGRAM FOR STRENGTH
-1D32A TETRAGRAM FOR PURITY
-1D32B TETRAGRAM FOR FULLNESS
-1D32C TETRAGRAM FOR RESIDENCE
-1D32D TETRAGRAM FOR LAW OR MODEL
-1D32E TETRAGRAM FOR RESPONSE
-1D32F TETRAGRAM FOR GOING TO MEET
-1D330 TETRAGRAM FOR ENCOUNTERS
-1D331 TETRAGRAM FOR STOVE
-1D332 TETRAGRAM FOR GREATNESS
-1D333 TETRAGRAM FOR ENLARGEMENT
-1D334 TETRAGRAM FOR PATTERN
-1D335 TETRAGRAM FOR RITUAL
-1D336 TETRAGRAM FOR FLIGHT
-1D337 TETRAGRAM FOR VASTNESS OR WASTING
-1D338 TETRAGRAM FOR CONSTANCY
-1D339 TETRAGRAM FOR MEASURE
-1D33A TETRAGRAM FOR ETERNITY
-1D33B TETRAGRAM FOR UNITY
-1D33C TETRAGRAM FOR DIMINISHMENT
-1D33D TETRAGRAM FOR CLOSED MOUTH
-1D33E TETRAGRAM FOR GUARDEDNESS
-1D33F TETRAGRAM FOR GATHERING IN
-1D340 TETRAGRAM FOR MASSING
-1D341 TETRAGRAM FOR ACCUMULATION
-1D342 TETRAGRAM FOR EMBELLISHMENT
-1D343 TETRAGRAM FOR DOUBT
-1D344 TETRAGRAM FOR WATCH
-1D345 TETRAGRAM FOR SINKING
-1D346 TETRAGRAM FOR INNER
-1D347 TETRAGRAM FOR DEPARTURE
-1D348 TETRAGRAM FOR DARKENING
-1D349 TETRAGRAM FOR DIMMING
-1D34A TETRAGRAM FOR EXHAUSTION
-1D34B TETRAGRAM FOR SEVERANCE
-1D34C TETRAGRAM FOR STOPPAGE
-1D34D TETRAGRAM FOR HARDNESS
-1D34E TETRAGRAM FOR COMPLETION
-1D34F TETRAGRAM FOR CLOSURE
-1D350 TETRAGRAM FOR FAILURE
-1D351 TETRAGRAM FOR AGGRAVATION
-1D352 TETRAGRAM FOR COMPLIANCE
-1D353 TETRAGRAM FOR ON THE VERGE
-1D354 TETRAGRAM FOR DIFFICULTIES
-1D355 TETRAGRAM FOR LABOURING
-1D356 TETRAGRAM FOR FOSTERING
-1D360 COUNTING ROD UNIT DIGIT ONE
-1D361 COUNTING ROD UNIT DIGIT TWO
-1D362 COUNTING ROD UNIT DIGIT THREE
-1D363 COUNTING ROD UNIT DIGIT FOUR
-1D364 COUNTING ROD UNIT DIGIT FIVE
-1D365 COUNTING ROD UNIT DIGIT SIX
-1D366 COUNTING ROD UNIT DIGIT SEVEN
-1D367 COUNTING ROD UNIT DIGIT EIGHT
-1D368 COUNTING ROD UNIT DIGIT NINE
-1D369 COUNTING ROD TENS DIGIT ONE
-1D36A COUNTING ROD TENS DIGIT TWO
-1D36B COUNTING ROD TENS DIGIT THREE
-1D36C COUNTING ROD TENS DIGIT FOUR
-1D36D COUNTING ROD TENS DIGIT FIVE
-1D36E COUNTING ROD TENS DIGIT SIX
-1D36F COUNTING ROD TENS DIGIT SEVEN
-1D370 COUNTING ROD TENS DIGIT EIGHT
-1D371 COUNTING ROD TENS DIGIT NINE
-1D400 MATHEMATICAL BOLD CAPITAL A
-1D401 MATHEMATICAL BOLD CAPITAL B
-1D402 MATHEMATICAL BOLD CAPITAL C
-1D403 MATHEMATICAL BOLD CAPITAL D
-1D404 MATHEMATICAL BOLD CAPITAL E
-1D405 MATHEMATICAL BOLD CAPITAL F
-1D406 MATHEMATICAL BOLD CAPITAL G
-1D407 MATHEMATICAL BOLD CAPITAL H
-1D408 MATHEMATICAL BOLD CAPITAL I
-1D409 MATHEMATICAL BOLD CAPITAL J
-1D40A MATHEMATICAL BOLD CAPITAL K
-1D40B MATHEMATICAL BOLD CAPITAL L
-1D40C MATHEMATICAL BOLD CAPITAL M
-1D40D MATHEMATICAL BOLD CAPITAL N
-1D40E MATHEMATICAL BOLD CAPITAL O
-1D40F MATHEMATICAL BOLD CAPITAL P
-1D410 MATHEMATICAL BOLD CAPITAL Q
-1D411 MATHEMATICAL BOLD CAPITAL R
-1D412 MATHEMATICAL BOLD CAPITAL S
-1D413 MATHEMATICAL BOLD CAPITAL T
-1D414 MATHEMATICAL BOLD CAPITAL U
-1D415 MATHEMATICAL BOLD CAPITAL V
-1D416 MATHEMATICAL BOLD CAPITAL W
-1D417 MATHEMATICAL BOLD CAPITAL X
-1D418 MATHEMATICAL BOLD CAPITAL Y
-1D419 MATHEMATICAL BOLD CAPITAL Z
-1D41A MATHEMATICAL BOLD SMALL A
-1D41B MATHEMATICAL BOLD SMALL B
-1D41C MATHEMATICAL BOLD SMALL C
-1D41D MATHEMATICAL BOLD SMALL D
-1D41E MATHEMATICAL BOLD SMALL E
-1D41F MATHEMATICAL BOLD SMALL F
-1D420 MATHEMATICAL BOLD SMALL G
-1D421 MATHEMATICAL BOLD SMALL H
-1D422 MATHEMATICAL BOLD SMALL I
-1D423 MATHEMATICAL BOLD SMALL J
-1D424 MATHEMATICAL BOLD SMALL K
-1D425 MATHEMATICAL BOLD SMALL L
-1D426 MATHEMATICAL BOLD SMALL M
-1D427 MATHEMATICAL BOLD SMALL N
-1D428 MATHEMATICAL BOLD SMALL O
-1D429 MATHEMATICAL BOLD SMALL P
-1D42A MATHEMATICAL BOLD SMALL Q
-1D42B MATHEMATICAL BOLD SMALL R
-1D42C MATHEMATICAL BOLD SMALL S
-1D42D MATHEMATICAL BOLD SMALL T
-1D42E MATHEMATICAL BOLD SMALL U
-1D42F MATHEMATICAL BOLD SMALL V
-1D430 MATHEMATICAL BOLD SMALL W
-1D431 MATHEMATICAL BOLD SMALL X
-1D432 MATHEMATICAL BOLD SMALL Y
-1D433 MATHEMATICAL BOLD SMALL Z
-1D434 MATHEMATICAL ITALIC CAPITAL A
-1D435 MATHEMATICAL ITALIC CAPITAL B
-1D436 MATHEMATICAL ITALIC CAPITAL C
-1D437 MATHEMATICAL ITALIC CAPITAL D
-1D438 MATHEMATICAL ITALIC CAPITAL E
-1D439 MATHEMATICAL ITALIC CAPITAL F
-1D43A MATHEMATICAL ITALIC CAPITAL G
-1D43B MATHEMATICAL ITALIC CAPITAL H
-1D43C MATHEMATICAL ITALIC CAPITAL I
-1D43D MATHEMATICAL ITALIC CAPITAL J
-1D43E MATHEMATICAL ITALIC CAPITAL K
-1D43F MATHEMATICAL ITALIC CAPITAL L
-1D440 MATHEMATICAL ITALIC CAPITAL M
-1D441 MATHEMATICAL ITALIC CAPITAL N
-1D442 MATHEMATICAL ITALIC CAPITAL O
-1D443 MATHEMATICAL ITALIC CAPITAL P
-1D444 MATHEMATICAL ITALIC CAPITAL Q
-1D445 MATHEMATICAL ITALIC CAPITAL R
-1D446 MATHEMATICAL ITALIC CAPITAL S
-1D447 MATHEMATICAL ITALIC CAPITAL T
-1D448 MATHEMATICAL ITALIC CAPITAL U
-1D449 MATHEMATICAL ITALIC CAPITAL V
-1D44A MATHEMATICAL ITALIC CAPITAL W
-1D44B MATHEMATICAL ITALIC CAPITAL X
-1D44C MATHEMATICAL ITALIC CAPITAL Y
-1D44D MATHEMATICAL ITALIC CAPITAL Z
-1D44E MATHEMATICAL ITALIC SMALL A
-1D44F MATHEMATICAL ITALIC SMALL B
-1D450 MATHEMATICAL ITALIC SMALL C
-1D451 MATHEMATICAL ITALIC SMALL D
-1D452 MATHEMATICAL ITALIC SMALL E
-1D453 MATHEMATICAL ITALIC SMALL F
-1D454 MATHEMATICAL ITALIC SMALL G
-1D456 MATHEMATICAL ITALIC SMALL I
-1D457 MATHEMATICAL ITALIC SMALL J
-1D458 MATHEMATICAL ITALIC SMALL K
-1D459 MATHEMATICAL ITALIC SMALL L
-1D45A MATHEMATICAL ITALIC SMALL M
-1D45B MATHEMATICAL ITALIC SMALL N
-1D45C MATHEMATICAL ITALIC SMALL O
-1D45D MATHEMATICAL ITALIC SMALL P
-1D45E MATHEMATICAL ITALIC SMALL Q
-1D45F MATHEMATICAL ITALIC SMALL R
-1D460 MATHEMATICAL ITALIC SMALL S
-1D461 MATHEMATICAL ITALIC SMALL T
-1D462 MATHEMATICAL ITALIC SMALL U
-1D463 MATHEMATICAL ITALIC SMALL V
-1D464 MATHEMATICAL ITALIC SMALL W
-1D465 MATHEMATICAL ITALIC SMALL X
-1D466 MATHEMATICAL ITALIC SMALL Y
-1D467 MATHEMATICAL ITALIC SMALL Z
-1D468 MATHEMATICAL BOLD ITALIC CAPITAL A
-1D469 MATHEMATICAL BOLD ITALIC CAPITAL B
-1D46A MATHEMATICAL BOLD ITALIC CAPITAL C
-1D46B MATHEMATICAL BOLD ITALIC CAPITAL D
-1D46C MATHEMATICAL BOLD ITALIC CAPITAL E
-1D46D MATHEMATICAL BOLD ITALIC CAPITAL F
-1D46E MATHEMATICAL BOLD ITALIC CAPITAL G
-1D46F MATHEMATICAL BOLD ITALIC CAPITAL H
-1D470 MATHEMATICAL BOLD ITALIC CAPITAL I
-1D471 MATHEMATICAL BOLD ITALIC CAPITAL J
-1D472 MATHEMATICAL BOLD ITALIC CAPITAL K
-1D473 MATHEMATICAL BOLD ITALIC CAPITAL L
-1D474 MATHEMATICAL BOLD ITALIC CAPITAL M
-1D475 MATHEMATICAL BOLD ITALIC CAPITAL N
-1D476 MATHEMATICAL BOLD ITALIC CAPITAL O
-1D477 MATHEMATICAL BOLD ITALIC CAPITAL P
-1D478 MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D479 MATHEMATICAL BOLD ITALIC CAPITAL R
-1D47A MATHEMATICAL BOLD ITALIC CAPITAL S
-1D47B MATHEMATICAL BOLD ITALIC CAPITAL T
-1D47C MATHEMATICAL BOLD ITALIC CAPITAL U
-1D47D MATHEMATICAL BOLD ITALIC CAPITAL V
-1D47E MATHEMATICAL BOLD ITALIC CAPITAL W
-1D47F MATHEMATICAL BOLD ITALIC CAPITAL X
-1D480 MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D481 MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D482 MATHEMATICAL BOLD ITALIC SMALL A
-1D483 MATHEMATICAL BOLD ITALIC SMALL B
-1D484 MATHEMATICAL BOLD ITALIC SMALL C
-1D485 MATHEMATICAL BOLD ITALIC SMALL D
-1D486 MATHEMATICAL BOLD ITALIC SMALL E
-1D487 MATHEMATICAL BOLD ITALIC SMALL F
-1D488 MATHEMATICAL BOLD ITALIC SMALL G
-1D489 MATHEMATICAL BOLD ITALIC SMALL H
-1D48A MATHEMATICAL BOLD ITALIC SMALL I
-1D48B MATHEMATICAL BOLD ITALIC SMALL J
-1D48C MATHEMATICAL BOLD ITALIC SMALL K
-1D48D MATHEMATICAL BOLD ITALIC SMALL L
-1D48E MATHEMATICAL BOLD ITALIC SMALL M
-1D48F MATHEMATICAL BOLD ITALIC SMALL N
-1D490 MATHEMATICAL BOLD ITALIC SMALL O
-1D491 MATHEMATICAL BOLD ITALIC SMALL P
-1D492 MATHEMATICAL BOLD ITALIC SMALL Q
-1D493 MATHEMATICAL BOLD ITALIC SMALL R
-1D494 MATHEMATICAL BOLD ITALIC SMALL S
-1D495 MATHEMATICAL BOLD ITALIC SMALL T
-1D496 MATHEMATICAL BOLD ITALIC SMALL U
-1D497 MATHEMATICAL BOLD ITALIC SMALL V
-1D498 MATHEMATICAL BOLD ITALIC SMALL W
-1D499 MATHEMATICAL BOLD ITALIC SMALL X
-1D49A MATHEMATICAL BOLD ITALIC SMALL Y
-1D49B MATHEMATICAL BOLD ITALIC SMALL Z
-1D49C MATHEMATICAL SCRIPT CAPITAL A
-1D49E MATHEMATICAL SCRIPT CAPITAL C
-1D49F MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 MATHEMATICAL SCRIPT CAPITAL G
-1D4A5 MATHEMATICAL SCRIPT CAPITAL J
-1D4A6 MATHEMATICAL SCRIPT CAPITAL K
-1D4A9 MATHEMATICAL SCRIPT CAPITAL N
-1D4AA MATHEMATICAL SCRIPT CAPITAL O
-1D4AB MATHEMATICAL SCRIPT CAPITAL P
-1D4AC MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE MATHEMATICAL SCRIPT CAPITAL S
-1D4AF MATHEMATICAL SCRIPT CAPITAL T
-1D4B0 MATHEMATICAL SCRIPT CAPITAL U
-1D4B1 MATHEMATICAL SCRIPT CAPITAL V
-1D4B2 MATHEMATICAL SCRIPT CAPITAL W
-1D4B3 MATHEMATICAL SCRIPT CAPITAL X
-1D4B4 MATHEMATICAL SCRIPT CAPITAL Y
-1D4B5 MATHEMATICAL SCRIPT CAPITAL Z
-1D4B6 MATHEMATICAL SCRIPT SMALL A
-1D4B7 MATHEMATICAL SCRIPT SMALL B
-1D4B8 MATHEMATICAL SCRIPT SMALL C
-1D4B9 MATHEMATICAL SCRIPT SMALL D
-1D4BB MATHEMATICAL SCRIPT SMALL F
-1D4BD MATHEMATICAL SCRIPT SMALL H
-1D4BE MATHEMATICAL SCRIPT SMALL I
-1D4BF MATHEMATICAL SCRIPT SMALL J
-1D4C0 MATHEMATICAL SCRIPT SMALL K
-1D4C1 MATHEMATICAL SCRIPT SMALL L
-1D4C2 MATHEMATICAL SCRIPT SMALL M
-1D4C3 MATHEMATICAL SCRIPT SMALL N
-1D4C5 MATHEMATICAL SCRIPT SMALL P
-1D4C6 MATHEMATICAL SCRIPT SMALL Q
-1D4C7 MATHEMATICAL SCRIPT SMALL R
-1D4C8 MATHEMATICAL SCRIPT SMALL S
-1D4C9 MATHEMATICAL SCRIPT SMALL T
-1D4CA MATHEMATICAL SCRIPT SMALL U
-1D4CB MATHEMATICAL SCRIPT SMALL V
-1D4CC MATHEMATICAL SCRIPT SMALL W
-1D4CD MATHEMATICAL SCRIPT SMALL X
-1D4CE MATHEMATICAL SCRIPT SMALL Y
-1D4CF MATHEMATICAL SCRIPT SMALL Z
-1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D4D1 MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D4D2 MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D4D3 MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D4D4 MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D4D5 MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D4D6 MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D4D7 MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D4D8 MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D4D9 MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D4DA MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D4DB MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D4DC MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D4DD MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D4DE MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D4DF MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D4E0 MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D4E1 MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D4E2 MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D4E3 MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D4E4 MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D4E5 MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D4E6 MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D4E7 MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D4E8 MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D4E9 MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D4EA MATHEMATICAL BOLD SCRIPT SMALL A
-1D4EB MATHEMATICAL BOLD SCRIPT SMALL B
-1D4EC MATHEMATICAL BOLD SCRIPT SMALL C
-1D4ED MATHEMATICAL BOLD SCRIPT SMALL D
-1D4EE MATHEMATICAL BOLD SCRIPT SMALL E
-1D4EF MATHEMATICAL BOLD SCRIPT SMALL F
-1D4F0 MATHEMATICAL BOLD SCRIPT SMALL G
-1D4F1 MATHEMATICAL BOLD SCRIPT SMALL H
-1D4F2 MATHEMATICAL BOLD SCRIPT SMALL I
-1D4F3 MATHEMATICAL BOLD SCRIPT SMALL J
-1D4F4 MATHEMATICAL BOLD SCRIPT SMALL K
-1D4F5 MATHEMATICAL BOLD SCRIPT SMALL L
-1D4F6 MATHEMATICAL BOLD SCRIPT SMALL M
-1D4F7 MATHEMATICAL BOLD SCRIPT SMALL N
-1D4F8 MATHEMATICAL BOLD SCRIPT SMALL O
-1D4F9 MATHEMATICAL BOLD SCRIPT SMALL P
-1D4FA MATHEMATICAL BOLD SCRIPT SMALL Q
-1D4FB MATHEMATICAL BOLD SCRIPT SMALL R
-1D4FC MATHEMATICAL BOLD SCRIPT SMALL S
-1D4FD MATHEMATICAL BOLD SCRIPT SMALL T
-1D4FE MATHEMATICAL BOLD SCRIPT SMALL U
-1D4FF MATHEMATICAL BOLD SCRIPT SMALL V
-1D500 MATHEMATICAL BOLD SCRIPT SMALL W
-1D501 MATHEMATICAL BOLD SCRIPT SMALL X
-1D502 MATHEMATICAL BOLD SCRIPT SMALL Y
-1D503 MATHEMATICAL BOLD SCRIPT SMALL Z
-1D504 MATHEMATICAL FRAKTUR CAPITAL A
-1D505 MATHEMATICAL FRAKTUR CAPITAL B
-1D507 MATHEMATICAL FRAKTUR CAPITAL D
-1D508 MATHEMATICAL FRAKTUR CAPITAL E
-1D509 MATHEMATICAL FRAKTUR CAPITAL F
-1D50A MATHEMATICAL FRAKTUR CAPITAL G
-1D50D MATHEMATICAL FRAKTUR CAPITAL J
-1D50E MATHEMATICAL FRAKTUR CAPITAL K
-1D50F MATHEMATICAL FRAKTUR CAPITAL L
-1D510 MATHEMATICAL FRAKTUR CAPITAL M
-1D511 MATHEMATICAL FRAKTUR CAPITAL N
-1D512 MATHEMATICAL FRAKTUR CAPITAL O
-1D513 MATHEMATICAL FRAKTUR CAPITAL P
-1D514 MATHEMATICAL FRAKTUR CAPITAL Q
-1D516 MATHEMATICAL FRAKTUR CAPITAL S
-1D517 MATHEMATICAL FRAKTUR CAPITAL T
-1D518 MATHEMATICAL FRAKTUR CAPITAL U
-1D519 MATHEMATICAL FRAKTUR CAPITAL V
-1D51A MATHEMATICAL FRAKTUR CAPITAL W
-1D51B MATHEMATICAL FRAKTUR CAPITAL X
-1D51C MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E MATHEMATICAL FRAKTUR SMALL A
-1D51F MATHEMATICAL FRAKTUR SMALL B
-1D520 MATHEMATICAL FRAKTUR SMALL C
-1D521 MATHEMATICAL FRAKTUR SMALL D
-1D522 MATHEMATICAL FRAKTUR SMALL E
-1D523 MATHEMATICAL FRAKTUR SMALL F
-1D524 MATHEMATICAL FRAKTUR SMALL G
-1D525 MATHEMATICAL FRAKTUR SMALL H
-1D526 MATHEMATICAL FRAKTUR SMALL I
-1D527 MATHEMATICAL FRAKTUR SMALL J
-1D528 MATHEMATICAL FRAKTUR SMALL K
-1D529 MATHEMATICAL FRAKTUR SMALL L
-1D52A MATHEMATICAL FRAKTUR SMALL M
-1D52B MATHEMATICAL FRAKTUR SMALL N
-1D52C MATHEMATICAL FRAKTUR SMALL O
-1D52D MATHEMATICAL FRAKTUR SMALL P
-1D52E MATHEMATICAL FRAKTUR SMALL Q
-1D52F MATHEMATICAL FRAKTUR SMALL R
-1D530 MATHEMATICAL FRAKTUR SMALL S
-1D531 MATHEMATICAL FRAKTUR SMALL T
-1D532 MATHEMATICAL FRAKTUR SMALL U
-1D533 MATHEMATICAL FRAKTUR SMALL V
-1D534 MATHEMATICAL FRAKTUR SMALL W
-1D535 MATHEMATICAL FRAKTUR SMALL X
-1D536 MATHEMATICAL FRAKTUR SMALL Y
-1D537 MATHEMATICAL FRAKTUR SMALL Z
-1D538 MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D539 MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D53C MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D53D MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D53E MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540 MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D541 MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D542 MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D543 MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D544 MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D54B MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D54C MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D54D MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D54E MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D54F MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D550 MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552 MATHEMATICAL DOUBLE-STRUCK SMALL A
-1D553 MATHEMATICAL DOUBLE-STRUCK SMALL B
-1D554 MATHEMATICAL DOUBLE-STRUCK SMALL C
-1D555 MATHEMATICAL DOUBLE-STRUCK SMALL D
-1D556 MATHEMATICAL DOUBLE-STRUCK SMALL E
-1D557 MATHEMATICAL DOUBLE-STRUCK SMALL F
-1D558 MATHEMATICAL DOUBLE-STRUCK SMALL G
-1D559 MATHEMATICAL DOUBLE-STRUCK SMALL H
-1D55A MATHEMATICAL DOUBLE-STRUCK SMALL I
-1D55B MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D55C MATHEMATICAL DOUBLE-STRUCK SMALL K
-1D55D MATHEMATICAL DOUBLE-STRUCK SMALL L
-1D55E MATHEMATICAL DOUBLE-STRUCK SMALL M
-1D55F MATHEMATICAL DOUBLE-STRUCK SMALL N
-1D560 MATHEMATICAL DOUBLE-STRUCK SMALL O
-1D561 MATHEMATICAL DOUBLE-STRUCK SMALL P
-1D562 MATHEMATICAL DOUBLE-STRUCK SMALL Q
-1D563 MATHEMATICAL DOUBLE-STRUCK SMALL R
-1D564 MATHEMATICAL DOUBLE-STRUCK SMALL S
-1D565 MATHEMATICAL DOUBLE-STRUCK SMALL T
-1D566 MATHEMATICAL DOUBLE-STRUCK SMALL U
-1D567 MATHEMATICAL DOUBLE-STRUCK SMALL V
-1D568 MATHEMATICAL DOUBLE-STRUCK SMALL W
-1D569 MATHEMATICAL DOUBLE-STRUCK SMALL X
-1D56A MATHEMATICAL DOUBLE-STRUCK SMALL Y
-1D56B MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D56C MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D56D MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D56E MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D56F MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D570 MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D571 MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D572 MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D573 MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D574 MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D575 MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D576 MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D577 MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D578 MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D579 MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D57A MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D57B MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D57C MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D57D MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D57E MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D57F MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D580 MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D581 MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D582 MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D583 MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D584 MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D585 MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D586 MATHEMATICAL BOLD FRAKTUR SMALL A
-1D587 MATHEMATICAL BOLD FRAKTUR SMALL B
-1D588 MATHEMATICAL BOLD FRAKTUR SMALL C
-1D589 MATHEMATICAL BOLD FRAKTUR SMALL D
-1D58A MATHEMATICAL BOLD FRAKTUR SMALL E
-1D58B MATHEMATICAL BOLD FRAKTUR SMALL F
-1D58C MATHEMATICAL BOLD FRAKTUR SMALL G
-1D58D MATHEMATICAL BOLD FRAKTUR SMALL H
-1D58E MATHEMATICAL BOLD FRAKTUR SMALL I
-1D58F MATHEMATICAL BOLD FRAKTUR SMALL J
-1D590 MATHEMATICAL BOLD FRAKTUR SMALL K
-1D591 MATHEMATICAL BOLD FRAKTUR SMALL L
-1D592 MATHEMATICAL BOLD FRAKTUR SMALL M
-1D593 MATHEMATICAL BOLD FRAKTUR SMALL N
-1D594 MATHEMATICAL BOLD FRAKTUR SMALL O
-1D595 MATHEMATICAL BOLD FRAKTUR SMALL P
-1D596 MATHEMATICAL BOLD FRAKTUR SMALL Q
-1D597 MATHEMATICAL BOLD FRAKTUR SMALL R
-1D598 MATHEMATICAL BOLD FRAKTUR SMALL S
-1D599 MATHEMATICAL BOLD FRAKTUR SMALL T
-1D59A MATHEMATICAL BOLD FRAKTUR SMALL U
-1D59B MATHEMATICAL BOLD FRAKTUR SMALL V
-1D59C MATHEMATICAL BOLD FRAKTUR SMALL W
-1D59D MATHEMATICAL BOLD FRAKTUR SMALL X
-1D59E MATHEMATICAL BOLD FRAKTUR SMALL Y
-1D59F MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5A0 MATHEMATICAL SANS-SERIF CAPITAL A
-1D5A1 MATHEMATICAL SANS-SERIF CAPITAL B
-1D5A2 MATHEMATICAL SANS-SERIF CAPITAL C
-1D5A3 MATHEMATICAL SANS-SERIF CAPITAL D
-1D5A4 MATHEMATICAL SANS-SERIF CAPITAL E
-1D5A5 MATHEMATICAL SANS-SERIF CAPITAL F
-1D5A6 MATHEMATICAL SANS-SERIF CAPITAL G
-1D5A7 MATHEMATICAL SANS-SERIF CAPITAL H
-1D5A8 MATHEMATICAL SANS-SERIF CAPITAL I
-1D5A9 MATHEMATICAL SANS-SERIF CAPITAL J
-1D5AA MATHEMATICAL SANS-SERIF CAPITAL K
-1D5AB MATHEMATICAL SANS-SERIF CAPITAL L
-1D5AC MATHEMATICAL SANS-SERIF CAPITAL M
-1D5AD MATHEMATICAL SANS-SERIF CAPITAL N
-1D5AE MATHEMATICAL SANS-SERIF CAPITAL O
-1D5AF MATHEMATICAL SANS-SERIF CAPITAL P
-1D5B0 MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5B1 MATHEMATICAL SANS-SERIF CAPITAL R
-1D5B2 MATHEMATICAL SANS-SERIF CAPITAL S
-1D5B3 MATHEMATICAL SANS-SERIF CAPITAL T
-1D5B4 MATHEMATICAL SANS-SERIF CAPITAL U
-1D5B5 MATHEMATICAL SANS-SERIF CAPITAL V
-1D5B6 MATHEMATICAL SANS-SERIF CAPITAL W
-1D5B7 MATHEMATICAL SANS-SERIF CAPITAL X
-1D5B8 MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5B9 MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5BA MATHEMATICAL SANS-SERIF SMALL A
-1D5BB MATHEMATICAL SANS-SERIF SMALL B
-1D5BC MATHEMATICAL SANS-SERIF SMALL C
-1D5BD MATHEMATICAL SANS-SERIF SMALL D
-1D5BE MATHEMATICAL SANS-SERIF SMALL E
-1D5BF MATHEMATICAL SANS-SERIF SMALL F
-1D5C0 MATHEMATICAL SANS-SERIF SMALL G
-1D5C1 MATHEMATICAL SANS-SERIF SMALL H
-1D5C2 MATHEMATICAL SANS-SERIF SMALL I
-1D5C3 MATHEMATICAL SANS-SERIF SMALL J
-1D5C4 MATHEMATICAL SANS-SERIF SMALL K
-1D5C5 MATHEMATICAL SANS-SERIF SMALL L
-1D5C6 MATHEMATICAL SANS-SERIF SMALL M
-1D5C7 MATHEMATICAL SANS-SERIF SMALL N
-1D5C8 MATHEMATICAL SANS-SERIF SMALL O
-1D5C9 MATHEMATICAL SANS-SERIF SMALL P
-1D5CA MATHEMATICAL SANS-SERIF SMALL Q
-1D5CB MATHEMATICAL SANS-SERIF SMALL R
-1D5CC MATHEMATICAL SANS-SERIF SMALL S
-1D5CD MATHEMATICAL SANS-SERIF SMALL T
-1D5CE MATHEMATICAL SANS-SERIF SMALL U
-1D5CF MATHEMATICAL SANS-SERIF SMALL V
-1D5D0 MATHEMATICAL SANS-SERIF SMALL W
-1D5D1 MATHEMATICAL SANS-SERIF SMALL X
-1D5D2 MATHEMATICAL SANS-SERIF SMALL Y
-1D5D3 MATHEMATICAL SANS-SERIF SMALL Z
-1D5D4 MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D5D5 MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D5D6 MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D5D7 MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D5D8 MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D5D9 MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D5DA MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D5DB MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D5DC MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D5DD MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D5DE MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D5DF MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D5E0 MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D5E1 MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D5E2 MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D5E3 MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D5E4 MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D5E5 MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D5E6 MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D5E7 MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D5E8 MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D5E9 MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D5EA MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D5EB MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D5EC MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D5ED MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D5EE MATHEMATICAL SANS-SERIF BOLD SMALL A
-1D5EF MATHEMATICAL SANS-SERIF BOLD SMALL B
-1D5F0 MATHEMATICAL SANS-SERIF BOLD SMALL C
-1D5F1 MATHEMATICAL SANS-SERIF BOLD SMALL D
-1D5F2 MATHEMATICAL SANS-SERIF BOLD SMALL E
-1D5F3 MATHEMATICAL SANS-SERIF BOLD SMALL F
-1D5F4 MATHEMATICAL SANS-SERIF BOLD SMALL G
-1D5F5 MATHEMATICAL SANS-SERIF BOLD SMALL H
-1D5F6 MATHEMATICAL SANS-SERIF BOLD SMALL I
-1D5F7 MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D5F8 MATHEMATICAL SANS-SERIF BOLD SMALL K
-1D5F9 MATHEMATICAL SANS-SERIF BOLD SMALL L
-1D5FA MATHEMATICAL SANS-SERIF BOLD SMALL M
-1D5FB MATHEMATICAL SANS-SERIF BOLD SMALL N
-1D5FC MATHEMATICAL SANS-SERIF BOLD SMALL O
-1D5FD MATHEMATICAL SANS-SERIF BOLD SMALL P
-1D5FE MATHEMATICAL SANS-SERIF BOLD SMALL Q
-1D5FF MATHEMATICAL SANS-SERIF BOLD SMALL R
-1D600 MATHEMATICAL SANS-SERIF BOLD SMALL S
-1D601 MATHEMATICAL SANS-SERIF BOLD SMALL T
-1D602 MATHEMATICAL SANS-SERIF BOLD SMALL U
-1D603 MATHEMATICAL SANS-SERIF BOLD SMALL V
-1D604 MATHEMATICAL SANS-SERIF BOLD SMALL W
-1D605 MATHEMATICAL SANS-SERIF BOLD SMALL X
-1D606 MATHEMATICAL SANS-SERIF BOLD SMALL Y
-1D607 MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D608 MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D609 MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D60A MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D60B MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D60C MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D60D MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D60E MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D60F MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D610 MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D611 MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D612 MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D613 MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D614 MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D615 MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D616 MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D617 MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D618 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D619 MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D61A MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D61B MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D61C MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D61D MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D61E MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D61F MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D620 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D621 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D622 MATHEMATICAL SANS-SERIF ITALIC SMALL A
-1D623 MATHEMATICAL SANS-SERIF ITALIC SMALL B
-1D624 MATHEMATICAL SANS-SERIF ITALIC SMALL C
-1D625 MATHEMATICAL SANS-SERIF ITALIC SMALL D
-1D626 MATHEMATICAL SANS-SERIF ITALIC SMALL E
-1D627 MATHEMATICAL SANS-SERIF ITALIC SMALL F
-1D628 MATHEMATICAL SANS-SERIF ITALIC SMALL G
-1D629 MATHEMATICAL SANS-SERIF ITALIC SMALL H
-1D62A MATHEMATICAL SANS-SERIF ITALIC SMALL I
-1D62B MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D62C MATHEMATICAL SANS-SERIF ITALIC SMALL K
-1D62D MATHEMATICAL SANS-SERIF ITALIC SMALL L
-1D62E MATHEMATICAL SANS-SERIF ITALIC SMALL M
-1D62F MATHEMATICAL SANS-SERIF ITALIC SMALL N
-1D630 MATHEMATICAL SANS-SERIF ITALIC SMALL O
-1D631 MATHEMATICAL SANS-SERIF ITALIC SMALL P
-1D632 MATHEMATICAL SANS-SERIF ITALIC SMALL Q
-1D633 MATHEMATICAL SANS-SERIF ITALIC SMALL R
-1D634 MATHEMATICAL SANS-SERIF ITALIC SMALL S
-1D635 MATHEMATICAL SANS-SERIF ITALIC SMALL T
-1D636 MATHEMATICAL SANS-SERIF ITALIC SMALL U
-1D637 MATHEMATICAL SANS-SERIF ITALIC SMALL V
-1D638 MATHEMATICAL SANS-SERIF ITALIC SMALL W
-1D639 MATHEMATICAL SANS-SERIF ITALIC SMALL X
-1D63A MATHEMATICAL SANS-SERIF ITALIC SMALL Y
-1D63B MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D63C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D63D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D63E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D63F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D640 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D641 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D642 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D643 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D644 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D645 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D646 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D647 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D648 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D649 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D64A MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D64B MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D64C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D64D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D64E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D64F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D650 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D651 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D652 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D653 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D654 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D655 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D656 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
-1D657 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
-1D658 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
-1D659 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
-1D65A MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
-1D65B MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
-1D65C MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
-1D65D MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
-1D65E MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
-1D65F MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D660 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
-1D661 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
-1D662 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
-1D663 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
-1D664 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
-1D665 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
-1D666 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
-1D667 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
-1D668 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
-1D669 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
-1D66A MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
-1D66B MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
-1D66C MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
-1D66D MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
-1D66E MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
-1D66F MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D670 MATHEMATICAL MONOSPACE CAPITAL A
-1D671 MATHEMATICAL MONOSPACE CAPITAL B
-1D672 MATHEMATICAL MONOSPACE CAPITAL C
-1D673 MATHEMATICAL MONOSPACE CAPITAL D
-1D674 MATHEMATICAL MONOSPACE CAPITAL E
-1D675 MATHEMATICAL MONOSPACE CAPITAL F
-1D676 MATHEMATICAL MONOSPACE CAPITAL G
-1D677 MATHEMATICAL MONOSPACE CAPITAL H
-1D678 MATHEMATICAL MONOSPACE CAPITAL I
-1D679 MATHEMATICAL MONOSPACE CAPITAL J
-1D67A MATHEMATICAL MONOSPACE CAPITAL K
-1D67B MATHEMATICAL MONOSPACE CAPITAL L
-1D67C MATHEMATICAL MONOSPACE CAPITAL M
-1D67D MATHEMATICAL MONOSPACE CAPITAL N
-1D67E MATHEMATICAL MONOSPACE CAPITAL O
-1D67F MATHEMATICAL MONOSPACE CAPITAL P
-1D680 MATHEMATICAL MONOSPACE CAPITAL Q
-1D681 MATHEMATICAL MONOSPACE CAPITAL R
-1D682 MATHEMATICAL MONOSPACE CAPITAL S
-1D683 MATHEMATICAL MONOSPACE CAPITAL T
-1D684 MATHEMATICAL MONOSPACE CAPITAL U
-1D685 MATHEMATICAL MONOSPACE CAPITAL V
-1D686 MATHEMATICAL MONOSPACE CAPITAL W
-1D687 MATHEMATICAL MONOSPACE CAPITAL X
-1D688 MATHEMATICAL MONOSPACE CAPITAL Y
-1D689 MATHEMATICAL MONOSPACE CAPITAL Z
-1D68A MATHEMATICAL MONOSPACE SMALL A
-1D68B MATHEMATICAL MONOSPACE SMALL B
-1D68C MATHEMATICAL MONOSPACE SMALL C
-1D68D MATHEMATICAL MONOSPACE SMALL D
-1D68E MATHEMATICAL MONOSPACE SMALL E
-1D68F MATHEMATICAL MONOSPACE SMALL F
-1D690 MATHEMATICAL MONOSPACE SMALL G
-1D691 MATHEMATICAL MONOSPACE SMALL H
-1D692 MATHEMATICAL MONOSPACE SMALL I
-1D693 MATHEMATICAL MONOSPACE SMALL J
-1D694 MATHEMATICAL MONOSPACE SMALL K
-1D695 MATHEMATICAL MONOSPACE SMALL L
-1D696 MATHEMATICAL MONOSPACE SMALL M
-1D697 MATHEMATICAL MONOSPACE SMALL N
-1D698 MATHEMATICAL MONOSPACE SMALL O
-1D699 MATHEMATICAL MONOSPACE SMALL P
-1D69A MATHEMATICAL MONOSPACE SMALL Q
-1D69B MATHEMATICAL MONOSPACE SMALL R
-1D69C MATHEMATICAL MONOSPACE SMALL S
-1D69D MATHEMATICAL MONOSPACE SMALL T
-1D69E MATHEMATICAL MONOSPACE SMALL U
-1D69F MATHEMATICAL MONOSPACE SMALL V
-1D6A0 MATHEMATICAL MONOSPACE SMALL W
-1D6A1 MATHEMATICAL MONOSPACE SMALL X
-1D6A2 MATHEMATICAL MONOSPACE SMALL Y
-1D6A3 MATHEMATICAL MONOSPACE SMALL Z
-1D6A4 MATHEMATICAL ITALIC SMALL DOTLESS I
-1D6A5 MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8 MATHEMATICAL BOLD CAPITAL ALPHA
-1D6A9 MATHEMATICAL BOLD CAPITAL BETA
-1D6AA MATHEMATICAL BOLD CAPITAL GAMMA
-1D6AB MATHEMATICAL BOLD CAPITAL DELTA
-1D6AC MATHEMATICAL BOLD CAPITAL EPSILON
-1D6AD MATHEMATICAL BOLD CAPITAL ZETA
-1D6AE MATHEMATICAL BOLD CAPITAL ETA
-1D6AF MATHEMATICAL BOLD CAPITAL THETA
-1D6B0 MATHEMATICAL BOLD CAPITAL IOTA
-1D6B1 MATHEMATICAL BOLD CAPITAL KAPPA
-1D6B2 MATHEMATICAL BOLD CAPITAL LAMDA
-1D6B3 MATHEMATICAL BOLD CAPITAL MU
-1D6B4 MATHEMATICAL BOLD CAPITAL NU
-1D6B5 MATHEMATICAL BOLD CAPITAL XI
-1D6B6 MATHEMATICAL BOLD CAPITAL OMICRON
-1D6B7 MATHEMATICAL BOLD CAPITAL PI
-1D6B8 MATHEMATICAL BOLD CAPITAL RHO
-1D6B9 MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6BA MATHEMATICAL BOLD CAPITAL SIGMA
-1D6BB MATHEMATICAL BOLD CAPITAL TAU
-1D6BC MATHEMATICAL BOLD CAPITAL UPSILON
-1D6BD MATHEMATICAL BOLD CAPITAL PHI
-1D6BE MATHEMATICAL BOLD CAPITAL CHI
-1D6BF MATHEMATICAL BOLD CAPITAL PSI
-1D6C0 MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 MATHEMATICAL BOLD NABLA
-1D6C2 MATHEMATICAL BOLD SMALL ALPHA
-1D6C3 MATHEMATICAL BOLD SMALL BETA
-1D6C4 MATHEMATICAL BOLD SMALL GAMMA
-1D6C5 MATHEMATICAL BOLD SMALL DELTA
-1D6C6 MATHEMATICAL BOLD SMALL EPSILON
-1D6C7 MATHEMATICAL BOLD SMALL ZETA
-1D6C8 MATHEMATICAL BOLD SMALL ETA
-1D6C9 MATHEMATICAL BOLD SMALL THETA
-1D6CA MATHEMATICAL BOLD SMALL IOTA
-1D6CB MATHEMATICAL BOLD SMALL KAPPA
-1D6CC MATHEMATICAL BOLD SMALL LAMDA
-1D6CD MATHEMATICAL BOLD SMALL MU
-1D6CE MATHEMATICAL BOLD SMALL NU
-1D6CF MATHEMATICAL BOLD SMALL XI
-1D6D0 MATHEMATICAL BOLD SMALL OMICRON
-1D6D1 MATHEMATICAL BOLD SMALL PI
-1D6D2 MATHEMATICAL BOLD SMALL RHO
-1D6D3 MATHEMATICAL BOLD SMALL FINAL SIGMA
-1D6D4 MATHEMATICAL BOLD SMALL SIGMA
-1D6D5 MATHEMATICAL BOLD SMALL TAU
-1D6D6 MATHEMATICAL BOLD SMALL UPSILON
-1D6D7 MATHEMATICAL BOLD SMALL PHI
-1D6D8 MATHEMATICAL BOLD SMALL CHI
-1D6D9 MATHEMATICAL BOLD SMALL PSI
-1D6DA MATHEMATICAL BOLD SMALL OMEGA
-1D6DB MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC MATHEMATICAL BOLD EPSILON SYMBOL
-1D6DD MATHEMATICAL BOLD THETA SYMBOL
-1D6DE MATHEMATICAL BOLD KAPPA SYMBOL
-1D6DF MATHEMATICAL BOLD PHI SYMBOL
-1D6E0 MATHEMATICAL BOLD RHO SYMBOL
-1D6E1 MATHEMATICAL BOLD PI SYMBOL
-1D6E2 MATHEMATICAL ITALIC CAPITAL ALPHA
-1D6E3 MATHEMATICAL ITALIC CAPITAL BETA
-1D6E4 MATHEMATICAL ITALIC CAPITAL GAMMA
-1D6E5 MATHEMATICAL ITALIC CAPITAL DELTA
-1D6E6 MATHEMATICAL ITALIC CAPITAL EPSILON
-1D6E7 MATHEMATICAL ITALIC CAPITAL ZETA
-1D6E8 MATHEMATICAL ITALIC CAPITAL ETA
-1D6E9 MATHEMATICAL ITALIC CAPITAL THETA
-1D6EA MATHEMATICAL ITALIC CAPITAL IOTA
-1D6EB MATHEMATICAL ITALIC CAPITAL KAPPA
-1D6EC MATHEMATICAL ITALIC CAPITAL LAMDA
-1D6ED MATHEMATICAL ITALIC CAPITAL MU
-1D6EE MATHEMATICAL ITALIC CAPITAL NU
-1D6EF MATHEMATICAL ITALIC CAPITAL XI
-1D6F0 MATHEMATICAL ITALIC CAPITAL OMICRON
-1D6F1 MATHEMATICAL ITALIC CAPITAL PI
-1D6F2 MATHEMATICAL ITALIC CAPITAL RHO
-1D6F3 MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D6F4 MATHEMATICAL ITALIC CAPITAL SIGMA
-1D6F5 MATHEMATICAL ITALIC CAPITAL TAU
-1D6F6 MATHEMATICAL ITALIC CAPITAL UPSILON
-1D6F7 MATHEMATICAL ITALIC CAPITAL PHI
-1D6F8 MATHEMATICAL ITALIC CAPITAL CHI
-1D6F9 MATHEMATICAL ITALIC CAPITAL PSI
-1D6FA MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB MATHEMATICAL ITALIC NABLA
-1D6FC MATHEMATICAL ITALIC SMALL ALPHA
-1D6FD MATHEMATICAL ITALIC SMALL BETA
-1D6FE MATHEMATICAL ITALIC SMALL GAMMA
-1D6FF MATHEMATICAL ITALIC SMALL DELTA
-1D700 MATHEMATICAL ITALIC SMALL EPSILON
-1D701 MATHEMATICAL ITALIC SMALL ZETA
-1D702 MATHEMATICAL ITALIC SMALL ETA
-1D703 MATHEMATICAL ITALIC SMALL THETA
-1D704 MATHEMATICAL ITALIC SMALL IOTA
-1D705 MATHEMATICAL ITALIC SMALL KAPPA
-1D706 MATHEMATICAL ITALIC SMALL LAMDA
-1D707 MATHEMATICAL ITALIC SMALL MU
-1D708 MATHEMATICAL ITALIC SMALL NU
-1D709 MATHEMATICAL ITALIC SMALL XI
-1D70A MATHEMATICAL ITALIC SMALL OMICRON
-1D70B MATHEMATICAL ITALIC SMALL PI
-1D70C MATHEMATICAL ITALIC SMALL RHO
-1D70D MATHEMATICAL ITALIC SMALL FINAL SIGMA
-1D70E MATHEMATICAL ITALIC SMALL SIGMA
-1D70F MATHEMATICAL ITALIC SMALL TAU
-1D710 MATHEMATICAL ITALIC SMALL UPSILON
-1D711 MATHEMATICAL ITALIC SMALL PHI
-1D712 MATHEMATICAL ITALIC SMALL CHI
-1D713 MATHEMATICAL ITALIC SMALL PSI
-1D714 MATHEMATICAL ITALIC SMALL OMEGA
-1D715 MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716 MATHEMATICAL ITALIC EPSILON SYMBOL
-1D717 MATHEMATICAL ITALIC THETA SYMBOL
-1D718 MATHEMATICAL ITALIC KAPPA SYMBOL
-1D719 MATHEMATICAL ITALIC PHI SYMBOL
-1D71A MATHEMATICAL ITALIC RHO SYMBOL
-1D71B MATHEMATICAL ITALIC PI SYMBOL
-1D71C MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D71D MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D71E MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D71F MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D720 MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D721 MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D722 MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D723 MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D724 MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D725 MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D726 MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D727 MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D728 MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D729 MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D72A MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D72B MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D72C MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D72D MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D72E MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D72F MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D730 MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D731 MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D732 MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D733 MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D734 MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 MATHEMATICAL BOLD ITALIC NABLA
-1D736 MATHEMATICAL BOLD ITALIC SMALL ALPHA
-1D737 MATHEMATICAL BOLD ITALIC SMALL BETA
-1D738 MATHEMATICAL BOLD ITALIC SMALL GAMMA
-1D739 MATHEMATICAL BOLD ITALIC SMALL DELTA
-1D73A MATHEMATICAL BOLD ITALIC SMALL EPSILON
-1D73B MATHEMATICAL BOLD ITALIC SMALL ZETA
-1D73C MATHEMATICAL BOLD ITALIC SMALL ETA
-1D73D MATHEMATICAL BOLD ITALIC SMALL THETA
-1D73E MATHEMATICAL BOLD ITALIC SMALL IOTA
-1D73F MATHEMATICAL BOLD ITALIC SMALL KAPPA
-1D740 MATHEMATICAL BOLD ITALIC SMALL LAMDA
-1D741 MATHEMATICAL BOLD ITALIC SMALL MU
-1D742 MATHEMATICAL BOLD ITALIC SMALL NU
-1D743 MATHEMATICAL BOLD ITALIC SMALL XI
-1D744 MATHEMATICAL BOLD ITALIC SMALL OMICRON
-1D745 MATHEMATICAL BOLD ITALIC SMALL PI
-1D746 MATHEMATICAL BOLD ITALIC SMALL RHO
-1D747 MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
-1D748 MATHEMATICAL BOLD ITALIC SMALL SIGMA
-1D749 MATHEMATICAL BOLD ITALIC SMALL TAU
-1D74A MATHEMATICAL BOLD ITALIC SMALL UPSILON
-1D74B MATHEMATICAL BOLD ITALIC SMALL PHI
-1D74C MATHEMATICAL BOLD ITALIC SMALL CHI
-1D74D MATHEMATICAL BOLD ITALIC SMALL PSI
-1D74E MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750 MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
-1D751 MATHEMATICAL BOLD ITALIC THETA SYMBOL
-1D752 MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
-1D753 MATHEMATICAL BOLD ITALIC PHI SYMBOL
-1D754 MATHEMATICAL BOLD ITALIC RHO SYMBOL
-1D755 MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D756 MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D757 MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D758 MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D759 MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D75A MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D75B MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D75C MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D75D MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D75E MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D75F MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D760 MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D761 MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D762 MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D763 MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D764 MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D765 MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D766 MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D767 MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D768 MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D769 MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D76A MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D76B MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D76C MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D76D MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D76E MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770 MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
-1D771 MATHEMATICAL SANS-SERIF BOLD SMALL BETA
-1D772 MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
-1D773 MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
-1D774 MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
-1D775 MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
-1D776 MATHEMATICAL SANS-SERIF BOLD SMALL ETA
-1D777 MATHEMATICAL SANS-SERIF BOLD SMALL THETA
-1D778 MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
-1D779 MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
-1D77A MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
-1D77B MATHEMATICAL SANS-SERIF BOLD SMALL MU
-1D77C MATHEMATICAL SANS-SERIF BOLD SMALL NU
-1D77D MATHEMATICAL SANS-SERIF BOLD SMALL XI
-1D77E MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
-1D77F MATHEMATICAL SANS-SERIF BOLD SMALL PI
-1D780 MATHEMATICAL SANS-SERIF BOLD SMALL RHO
-1D781 MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
-1D782 MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
-1D783 MATHEMATICAL SANS-SERIF BOLD SMALL TAU
-1D784 MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
-1D785 MATHEMATICAL SANS-SERIF BOLD SMALL PHI
-1D786 MATHEMATICAL SANS-SERIF BOLD SMALL CHI
-1D787 MATHEMATICAL SANS-SERIF BOLD SMALL PSI
-1D788 MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
-1D78B MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
-1D78C MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
-1D78D MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
-1D78E MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
-1D78F MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D790 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1D791 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D792 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D793 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D794 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1D795 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-1D796 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1D797 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D798 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1D799 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-1D79A MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D79B MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-1D79C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-1D79D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-1D79E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1D79F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D7A0 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D7A1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1D7A2 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-1D7A3 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-1D7A4 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1D7A5 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D7A6 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D7A7 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D7A8 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
-1D7AB MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
-1D7AC MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
-1D7AD MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
-1D7AE MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
-1D7AF MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
-1D7B0 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
-1D7B1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
-1D7B2 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
-1D7B3 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
-1D7B4 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
-1D7B5 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
-1D7B6 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
-1D7B7 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
-1D7B8 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
-1D7B9 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
-1D7BA MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
-1D7BB MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
-1D7BC MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
-1D7BD MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
-1D7BE MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
-1D7BF MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
-1D7C0 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
-1D7C1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
-1D7C2 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4 MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
-1D7C5 MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
-1D7C6 MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
-1D7C7 MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
-1D7C8 MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
-1D7C9 MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CA MATHEMATICAL BOLD CAPITAL DIGAMMA
-1D7CB MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE MATHEMATICAL BOLD DIGIT ZERO
-1D7CF MATHEMATICAL BOLD DIGIT ONE
-1D7D0 MATHEMATICAL BOLD DIGIT TWO
-1D7D1 MATHEMATICAL BOLD DIGIT THREE
-1D7D2 MATHEMATICAL BOLD DIGIT FOUR
-1D7D3 MATHEMATICAL BOLD DIGIT FIVE
-1D7D4 MATHEMATICAL BOLD DIGIT SIX
-1D7D5 MATHEMATICAL BOLD DIGIT SEVEN
-1D7D6 MATHEMATICAL BOLD DIGIT EIGHT
-1D7D7 MATHEMATICAL BOLD DIGIT NINE
-1D7D8 MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7D9 MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7DA MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7DC MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7DD MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7DE MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7DF MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E0 MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7E1 MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7E2 MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7E3 MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7E4 MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7E6 MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7E7 MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7E8 MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7E9 MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7EA MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7EB MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7EC MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7ED MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7EE MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F0 MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7F1 MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7F2 MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7F3 MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7F4 MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7F5 MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7F6 MATHEMATICAL MONOSPACE DIGIT ZERO
-1D7F7 MATHEMATICAL MONOSPACE DIGIT ONE
-1D7F8 MATHEMATICAL MONOSPACE DIGIT TWO
-1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE
-1D7FA MATHEMATICAL MONOSPACE DIGIT FOUR
-1D7FB MATHEMATICAL MONOSPACE DIGIT FIVE
-1D7FC MATHEMATICAL MONOSPACE DIGIT SIX
-1D7FD MATHEMATICAL MONOSPACE DIGIT SEVEN
-1D7FE MATHEMATICAL MONOSPACE DIGIT EIGHT
-1D7FF MATHEMATICAL MONOSPACE DIGIT NINE
-1F000 MAHJONG TILE EAST WIND
-1F001 MAHJONG TILE SOUTH WIND
-1F002 MAHJONG TILE WEST WIND
-1F003 MAHJONG TILE NORTH WIND
-1F004 MAHJONG TILE RED DRAGON
-1F005 MAHJONG TILE GREEN DRAGON
-1F006 MAHJONG TILE WHITE DRAGON
-1F007 MAHJONG TILE ONE OF CHARACTERS
-1F008 MAHJONG TILE TWO OF CHARACTERS
-1F009 MAHJONG TILE THREE OF CHARACTERS
-1F00A MAHJONG TILE FOUR OF CHARACTERS
-1F00B MAHJONG TILE FIVE OF CHARACTERS
-1F00C MAHJONG TILE SIX OF CHARACTERS
-1F00D MAHJONG TILE SEVEN OF CHARACTERS
-1F00E MAHJONG TILE EIGHT OF CHARACTERS
-1F00F MAHJONG TILE NINE OF CHARACTERS
-1F010 MAHJONG TILE ONE OF BAMBOOS
-1F011 MAHJONG TILE TWO OF BAMBOOS
-1F012 MAHJONG TILE THREE OF BAMBOOS
-1F013 MAHJONG TILE FOUR OF BAMBOOS
-1F014 MAHJONG TILE FIVE OF BAMBOOS
-1F015 MAHJONG TILE SIX OF BAMBOOS
-1F016 MAHJONG TILE SEVEN OF BAMBOOS
-1F017 MAHJONG TILE EIGHT OF BAMBOOS
-1F018 MAHJONG TILE NINE OF BAMBOOS
-1F019 MAHJONG TILE ONE OF CIRCLES
-1F01A MAHJONG TILE TWO OF CIRCLES
-1F01B MAHJONG TILE THREE OF CIRCLES
-1F01C MAHJONG TILE FOUR OF CIRCLES
-1F01D MAHJONG TILE FIVE OF CIRCLES
-1F01E MAHJONG TILE SIX OF CIRCLES
-1F01F MAHJONG TILE SEVEN OF CIRCLES
-1F020 MAHJONG TILE EIGHT OF CIRCLES
-1F021 MAHJONG TILE NINE OF CIRCLES
-1F022 MAHJONG TILE PLUM
-1F023 MAHJONG TILE ORCHID
-1F024 MAHJONG TILE BAMBOO
-1F025 MAHJONG TILE CHRYSANTHEMUM
-1F026 MAHJONG TILE SPRING
-1F027 MAHJONG TILE SUMMER
-1F028 MAHJONG TILE AUTUMN
-1F029 MAHJONG TILE WINTER
-1F02A MAHJONG TILE JOKER
-1F02B MAHJONG TILE BACK
-1F030 DOMINO TILE HORIZONTAL BACK
-1F031 DOMINO TILE HORIZONTAL-00-00
-1F032 DOMINO TILE HORIZONTAL-00-01
-1F033 DOMINO TILE HORIZONTAL-00-02
-1F034 DOMINO TILE HORIZONTAL-00-03
-1F035 DOMINO TILE HORIZONTAL-00-04
-1F036 DOMINO TILE HORIZONTAL-00-05
-1F037 DOMINO TILE HORIZONTAL-00-06
-1F038 DOMINO TILE HORIZONTAL-01-00
-1F039 DOMINO TILE HORIZONTAL-01-01
-1F03A DOMINO TILE HORIZONTAL-01-02
-1F03B DOMINO TILE HORIZONTAL-01-03
-1F03C DOMINO TILE HORIZONTAL-01-04
-1F03D DOMINO TILE HORIZONTAL-01-05
-1F03E DOMINO TILE HORIZONTAL-01-06
-1F03F DOMINO TILE HORIZONTAL-02-00
-1F040 DOMINO TILE HORIZONTAL-02-01
-1F041 DOMINO TILE HORIZONTAL-02-02
-1F042 DOMINO TILE HORIZONTAL-02-03
-1F043 DOMINO TILE HORIZONTAL-02-04
-1F044 DOMINO TILE HORIZONTAL-02-05
-1F045 DOMINO TILE HORIZONTAL-02-06
-1F046 DOMINO TILE HORIZONTAL-03-00
-1F047 DOMINO TILE HORIZONTAL-03-01
-1F048 DOMINO TILE HORIZONTAL-03-02
-1F049 DOMINO TILE HORIZONTAL-03-03
-1F04A DOMINO TILE HORIZONTAL-03-04
-1F04B DOMINO TILE HORIZONTAL-03-05
-1F04C DOMINO TILE HORIZONTAL-03-06
-1F04D DOMINO TILE HORIZONTAL-04-00
-1F04E DOMINO TILE HORIZONTAL-04-01
-1F04F DOMINO TILE HORIZONTAL-04-02
-1F050 DOMINO TILE HORIZONTAL-04-03
-1F051 DOMINO TILE HORIZONTAL-04-04
-1F052 DOMINO TILE HORIZONTAL-04-05
-1F053 DOMINO TILE HORIZONTAL-04-06
-1F054 DOMINO TILE HORIZONTAL-05-00
-1F055 DOMINO TILE HORIZONTAL-05-01
-1F056 DOMINO TILE HORIZONTAL-05-02
-1F057 DOMINO TILE HORIZONTAL-05-03
-1F058 DOMINO TILE HORIZONTAL-05-04
-1F059 DOMINO TILE HORIZONTAL-05-05
-1F05A DOMINO TILE HORIZONTAL-05-06
-1F05B DOMINO TILE HORIZONTAL-06-00
-1F05C DOMINO TILE HORIZONTAL-06-01
-1F05D DOMINO TILE HORIZONTAL-06-02
-1F05E DOMINO TILE HORIZONTAL-06-03
-1F05F DOMINO TILE HORIZONTAL-06-04
-1F060 DOMINO TILE HORIZONTAL-06-05
-1F061 DOMINO TILE HORIZONTAL-06-06
-1F062 DOMINO TILE VERTICAL BACK
-1F063 DOMINO TILE VERTICAL-00-00
-1F064 DOMINO TILE VERTICAL-00-01
-1F065 DOMINO TILE VERTICAL-00-02
-1F066 DOMINO TILE VERTICAL-00-03
-1F067 DOMINO TILE VERTICAL-00-04
-1F068 DOMINO TILE VERTICAL-00-05
-1F069 DOMINO TILE VERTICAL-00-06
-1F06A DOMINO TILE VERTICAL-01-00
-1F06B DOMINO TILE VERTICAL-01-01
-1F06C DOMINO TILE VERTICAL-01-02
-1F06D DOMINO TILE VERTICAL-01-03
-1F06E DOMINO TILE VERTICAL-01-04
-1F06F DOMINO TILE VERTICAL-01-05
-1F070 DOMINO TILE VERTICAL-01-06
-1F071 DOMINO TILE VERTICAL-02-00
-1F072 DOMINO TILE VERTICAL-02-01
-1F073 DOMINO TILE VERTICAL-02-02
-1F074 DOMINO TILE VERTICAL-02-03
-1F075 DOMINO TILE VERTICAL-02-04
-1F076 DOMINO TILE VERTICAL-02-05
-1F077 DOMINO TILE VERTICAL-02-06
-1F078 DOMINO TILE VERTICAL-03-00
-1F079 DOMINO TILE VERTICAL-03-01
-1F07A DOMINO TILE VERTICAL-03-02
-1F07B DOMINO TILE VERTICAL-03-03
-1F07C DOMINO TILE VERTICAL-03-04
-1F07D DOMINO TILE VERTICAL-03-05
-1F07E DOMINO TILE VERTICAL-03-06
-1F07F DOMINO TILE VERTICAL-04-00
-1F080 DOMINO TILE VERTICAL-04-01
-1F081 DOMINO TILE VERTICAL-04-02
-1F082 DOMINO TILE VERTICAL-04-03
-1F083 DOMINO TILE VERTICAL-04-04
-1F084 DOMINO TILE VERTICAL-04-05
-1F085 DOMINO TILE VERTICAL-04-06
-1F086 DOMINO TILE VERTICAL-05-00
-1F087 DOMINO TILE VERTICAL-05-01
-1F088 DOMINO TILE VERTICAL-05-02
-1F089 DOMINO TILE VERTICAL-05-03
-1F08A DOMINO TILE VERTICAL-05-04
-1F08B DOMINO TILE VERTICAL-05-05
-1F08C DOMINO TILE VERTICAL-05-06
-1F08D DOMINO TILE VERTICAL-06-00
-1F08E DOMINO TILE VERTICAL-06-01
-1F08F DOMINO TILE VERTICAL-06-02
-1F090 DOMINO TILE VERTICAL-06-03
-1F091 DOMINO TILE VERTICAL-06-04
-1F092 DOMINO TILE VERTICAL-06-05
-1F093 DOMINO TILE VERTICAL-06-06
-1F100 DIGIT ZERO FULL STOP
-1F101 DIGIT ZERO COMMA
-1F102 DIGIT ONE COMMA
-1F103 DIGIT TWO COMMA
-1F104 DIGIT THREE COMMA
-1F105 DIGIT FOUR COMMA
-1F106 DIGIT FIVE COMMA
-1F107 DIGIT SIX COMMA
-1F108 DIGIT SEVEN COMMA
-1F109 DIGIT EIGHT COMMA
-1F10A DIGIT NINE COMMA
-1F110 PARENTHESIZED LATIN CAPITAL LETTER A
-1F111 PARENTHESIZED LATIN CAPITAL LETTER B
-1F112 PARENTHESIZED LATIN CAPITAL LETTER C
-1F113 PARENTHESIZED LATIN CAPITAL LETTER D
-1F114 PARENTHESIZED LATIN CAPITAL LETTER E
-1F115 PARENTHESIZED LATIN CAPITAL LETTER F
-1F116 PARENTHESIZED LATIN CAPITAL LETTER G
-1F117 PARENTHESIZED LATIN CAPITAL LETTER H
-1F118 PARENTHESIZED LATIN CAPITAL LETTER I
-1F119 PARENTHESIZED LATIN CAPITAL LETTER J
-1F11A PARENTHESIZED LATIN CAPITAL LETTER K
-1F11B PARENTHESIZED LATIN CAPITAL LETTER L
-1F11C PARENTHESIZED LATIN CAPITAL LETTER M
-1F11D PARENTHESIZED LATIN CAPITAL LETTER N
-1F11E PARENTHESIZED LATIN CAPITAL LETTER O
-1F11F PARENTHESIZED LATIN CAPITAL LETTER P
-1F120 PARENTHESIZED LATIN CAPITAL LETTER Q
-1F121 PARENTHESIZED LATIN CAPITAL LETTER R
-1F122 PARENTHESIZED LATIN CAPITAL LETTER S
-1F123 PARENTHESIZED LATIN CAPITAL LETTER T
-1F124 PARENTHESIZED LATIN CAPITAL LETTER U
-1F125 PARENTHESIZED LATIN CAPITAL LETTER V
-1F126 PARENTHESIZED LATIN CAPITAL LETTER W
-1F127 PARENTHESIZED LATIN CAPITAL LETTER X
-1F128 PARENTHESIZED LATIN CAPITAL LETTER Y
-1F129 PARENTHESIZED LATIN CAPITAL LETTER Z
-1F12A TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F12B CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F12C CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F12D CIRCLED CD
-1F12E CIRCLED WZ
-1F131 SQUARED LATIN CAPITAL LETTER B
-1F13D SQUARED LATIN CAPITAL LETTER N
-1F13F SQUARED LATIN CAPITAL LETTER P
-1F142 SQUARED LATIN CAPITAL LETTER S
-1F146 SQUARED LATIN CAPITAL LETTER W
-1F14A SQUARED HV
-1F14B SQUARED MV
-1F14C SQUARED SD
-1F14D SQUARED SS
-1F14E SQUARED PPV
-1F157 NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B NEGATIVE SQUARED LATIN CAPITAL LETTER L
-1F17C NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18B NEGATIVE SQUARED IC
-1F18C NEGATIVE SQUARED PA
-1F18D NEGATIVE SQUARED SA
-1F190 SQUARE DJ
-1F200 SQUARE HIRAGANA HOKA
-1F210 SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F211 SQUARED CJK UNIFIED IDEOGRAPH-5B57
-1F212 SQUARED CJK UNIFIED IDEOGRAPH-53CC
-1F213 SQUARED KATAKANA DE
-1F214 SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-1F215 SQUARED CJK UNIFIED IDEOGRAPH-591A
-1F216 SQUARED CJK UNIFIED IDEOGRAPH-89E3
-1F217 SQUARED CJK UNIFIED IDEOGRAPH-5929
-1F218 SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-1F219 SQUARED CJK UNIFIED IDEOGRAPH-6620
-1F21A SQUARED CJK UNIFIED IDEOGRAPH-7121
-1F21B SQUARED CJK UNIFIED IDEOGRAPH-6599
-1F21C SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F21D SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F21E SQUARED CJK UNIFIED IDEOGRAPH-518D
-1F21F SQUARED CJK UNIFIED IDEOGRAPH-65B0
-1F220 SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F221 SQUARED CJK UNIFIED IDEOGRAPH-7D42
-1F222 SQUARED CJK UNIFIED IDEOGRAPH-751F
-1F223 SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-1F224 SQUARED CJK UNIFIED IDEOGRAPH-58F0
-1F225 SQUARED CJK UNIFIED IDEOGRAPH-5439
-1F226 SQUARED CJK UNIFIED IDEOGRAPH-6F14
-1F227 SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F228 SQUARED CJK UNIFIED IDEOGRAPH-6355
-1F229 SQUARED CJK UNIFIED IDEOGRAPH-4E00
-1F22A SQUARED CJK UNIFIED IDEOGRAPH-4E09
-1F22B SQUARED CJK UNIFIED IDEOGRAPH-904A
-1F22C SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-1F22D SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-1F22E SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F22F SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F230 SQUARED CJK UNIFIED IDEOGRAPH-8D70
-1F231 SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F241 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F243 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F244 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F245 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F246 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-1F247 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F248 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-2F800 CJK COMPATIBILITY IDEOGRAPH-2F800
-2F801 CJK COMPATIBILITY IDEOGRAPH-2F801
-2F802 CJK COMPATIBILITY IDEOGRAPH-2F802
-2F803 CJK COMPATIBILITY IDEOGRAPH-2F803
-2F804 CJK COMPATIBILITY IDEOGRAPH-2F804
-2F805 CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 CJK COMPATIBILITY IDEOGRAPH-2F806
-2F807 CJK COMPATIBILITY IDEOGRAPH-2F807
-2F808 CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80A CJK COMPATIBILITY IDEOGRAPH-2F80A
-2F80B CJK COMPATIBILITY IDEOGRAPH-2F80B
-2F80C CJK COMPATIBILITY IDEOGRAPH-2F80C
-2F80D CJK COMPATIBILITY IDEOGRAPH-2F80D
-2F80E CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 CJK COMPATIBILITY IDEOGRAPH-2F810
-2F811 CJK COMPATIBILITY IDEOGRAPH-2F811
-2F812 CJK COMPATIBILITY IDEOGRAPH-2F812
-2F813 CJK COMPATIBILITY IDEOGRAPH-2F813
-2F814 CJK COMPATIBILITY IDEOGRAPH-2F814
-2F815 CJK COMPATIBILITY IDEOGRAPH-2F815
-2F816 CJK COMPATIBILITY IDEOGRAPH-2F816
-2F817 CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 CJK COMPATIBILITY IDEOGRAPH-2F818
-2F819 CJK COMPATIBILITY IDEOGRAPH-2F819
-2F81A CJK COMPATIBILITY IDEOGRAPH-2F81A
-2F81B CJK COMPATIBILITY IDEOGRAPH-2F81B
-2F81C CJK COMPATIBILITY IDEOGRAPH-2F81C
-2F81D CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E CJK COMPATIBILITY IDEOGRAPH-2F81E
-2F81F CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F820 CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 CJK COMPATIBILITY IDEOGRAPH-2F823
-2F824 CJK COMPATIBILITY IDEOGRAPH-2F824
-2F825 CJK COMPATIBILITY IDEOGRAPH-2F825
-2F826 CJK COMPATIBILITY IDEOGRAPH-2F826
-2F827 CJK COMPATIBILITY IDEOGRAPH-2F827
-2F828 CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A CJK COMPATIBILITY IDEOGRAPH-2F82A
-2F82B CJK COMPATIBILITY IDEOGRAPH-2F82B
-2F82C CJK COMPATIBILITY IDEOGRAPH-2F82C
-2F82D CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F CJK COMPATIBILITY IDEOGRAPH-2F82F
-2F830 CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 CJK COMPATIBILITY IDEOGRAPH-2F833
-2F834 CJK COMPATIBILITY IDEOGRAPH-2F834
-2F835 CJK COMPATIBILITY IDEOGRAPH-2F835
-2F836 CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 CJK COMPATIBILITY IDEOGRAPH-2F837
-2F838 CJK COMPATIBILITY IDEOGRAPH-2F838
-2F839 CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B CJK COMPATIBILITY IDEOGRAPH-2F83B
-2F83C CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F83D CJK COMPATIBILITY IDEOGRAPH-2F83D
-2F83E CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840 CJK COMPATIBILITY IDEOGRAPH-2F840
-2F841 CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844 CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 CJK COMPATIBILITY IDEOGRAPH-2F846
-2F847 CJK COMPATIBILITY IDEOGRAPH-2F847
-2F848 CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 CJK COMPATIBILITY IDEOGRAPH-2F849
-2F84A CJK COMPATIBILITY IDEOGRAPH-2F84A
-2F84B CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84C CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84D CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F84E CJK COMPATIBILITY IDEOGRAPH-2F84E
-2F84F CJK COMPATIBILITY IDEOGRAPH-2F84F
-2F850 CJK COMPATIBILITY IDEOGRAPH-2F850
-2F851 CJK COMPATIBILITY IDEOGRAPH-2F851
-2F852 CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 CJK COMPATIBILITY IDEOGRAPH-2F854
-2F855 CJK COMPATIBILITY IDEOGRAPH-2F855
-2F856 CJK COMPATIBILITY IDEOGRAPH-2F856
-2F857 CJK COMPATIBILITY IDEOGRAPH-2F857
-2F858 CJK COMPATIBILITY IDEOGRAPH-2F858
-2F859 CJK COMPATIBILITY IDEOGRAPH-2F859
-2F85A CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E CJK COMPATIBILITY IDEOGRAPH-2F85E
-2F85F CJK COMPATIBILITY IDEOGRAPH-2F85F
-2F860 CJK COMPATIBILITY IDEOGRAPH-2F860
-2F861 CJK COMPATIBILITY IDEOGRAPH-2F861
-2F862 CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 CJK COMPATIBILITY IDEOGRAPH-2F864
-2F865 CJK COMPATIBILITY IDEOGRAPH-2F865
-2F866 CJK COMPATIBILITY IDEOGRAPH-2F866
-2F867 CJK COMPATIBILITY IDEOGRAPH-2F867
-2F868 CJK COMPATIBILITY IDEOGRAPH-2F868
-2F869 CJK COMPATIBILITY IDEOGRAPH-2F869
-2F86A CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B CJK COMPATIBILITY IDEOGRAPH-2F86B
-2F86C CJK COMPATIBILITY IDEOGRAPH-2F86C
-2F86D CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E CJK COMPATIBILITY IDEOGRAPH-2F86E
-2F86F CJK COMPATIBILITY IDEOGRAPH-2F86F
-2F870 CJK COMPATIBILITY IDEOGRAPH-2F870
-2F871 CJK COMPATIBILITY IDEOGRAPH-2F871
-2F872 CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 CJK COMPATIBILITY IDEOGRAPH-2F873
-2F874 CJK COMPATIBILITY IDEOGRAPH-2F874
-2F875 CJK COMPATIBILITY IDEOGRAPH-2F875
-2F876 CJK COMPATIBILITY IDEOGRAPH-2F876
-2F877 CJK COMPATIBILITY IDEOGRAPH-2F877
-2F878 CJK COMPATIBILITY IDEOGRAPH-2F878
-2F879 CJK COMPATIBILITY IDEOGRAPH-2F879
-2F87A CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F87B CJK COMPATIBILITY IDEOGRAPH-2F87B
-2F87C CJK COMPATIBILITY IDEOGRAPH-2F87C
-2F87D CJK COMPATIBILITY IDEOGRAPH-2F87D
-2F87E CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F87F CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F880 CJK COMPATIBILITY IDEOGRAPH-2F880
-2F881 CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 CJK COMPATIBILITY IDEOGRAPH-2F882
-2F883 CJK COMPATIBILITY IDEOGRAPH-2F883
-2F884 CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 CJK COMPATIBILITY IDEOGRAPH-2F887
-2F888 CJK COMPATIBILITY IDEOGRAPH-2F888
-2F889 CJK COMPATIBILITY IDEOGRAPH-2F889
-2F88A CJK COMPATIBILITY IDEOGRAPH-2F88A
-2F88B CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D CJK COMPATIBILITY IDEOGRAPH-2F88D
-2F88E CJK COMPATIBILITY IDEOGRAPH-2F88E
-2F88F CJK COMPATIBILITY IDEOGRAPH-2F88F
-2F890 CJK COMPATIBILITY IDEOGRAPH-2F890
-2F891 CJK COMPATIBILITY IDEOGRAPH-2F891
-2F892 CJK COMPATIBILITY IDEOGRAPH-2F892
-2F893 CJK COMPATIBILITY IDEOGRAPH-2F893
-2F894 CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 CJK COMPATIBILITY IDEOGRAPH-2F895
-2F896 CJK COMPATIBILITY IDEOGRAPH-2F896
-2F897 CJK COMPATIBILITY IDEOGRAPH-2F897
-2F898 CJK COMPATIBILITY IDEOGRAPH-2F898
-2F899 CJK COMPATIBILITY IDEOGRAPH-2F899
-2F89A CJK COMPATIBILITY IDEOGRAPH-2F89A
-2F89B CJK COMPATIBILITY IDEOGRAPH-2F89B
-2F89C CJK COMPATIBILITY IDEOGRAPH-2F89C
-2F89D CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E CJK COMPATIBILITY IDEOGRAPH-2F89E
-2F89F CJK COMPATIBILITY IDEOGRAPH-2F89F
-2F8A0 CJK COMPATIBILITY IDEOGRAPH-2F8A0
-2F8A1 CJK COMPATIBILITY IDEOGRAPH-2F8A1
-2F8A2 CJK COMPATIBILITY IDEOGRAPH-2F8A2
-2F8A3 CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A4 CJK COMPATIBILITY IDEOGRAPH-2F8A4
-2F8A5 CJK COMPATIBILITY IDEOGRAPH-2F8A5
-2F8A6 CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A8 CJK COMPATIBILITY IDEOGRAPH-2F8A8
-2F8A9 CJK COMPATIBILITY IDEOGRAPH-2F8A9
-2F8AA CJK COMPATIBILITY IDEOGRAPH-2F8AA
-2F8AB CJK COMPATIBILITY IDEOGRAPH-2F8AB
-2F8AC CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AD CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AF CJK COMPATIBILITY IDEOGRAPH-2F8AF
-2F8B0 CJK COMPATIBILITY IDEOGRAPH-2F8B0
-2F8B1 CJK COMPATIBILITY IDEOGRAPH-2F8B1
-2F8B2 CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 CJK COMPATIBILITY IDEOGRAPH-2F8B3
-2F8B4 CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5 CJK COMPATIBILITY IDEOGRAPH-2F8B5
-2F8B6 CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8B7 CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8B8 CJK COMPATIBILITY IDEOGRAPH-2F8B8
-2F8B9 CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8BA CJK COMPATIBILITY IDEOGRAPH-2F8BA
-2F8BB CJK COMPATIBILITY IDEOGRAPH-2F8BB
-2F8BC CJK COMPATIBILITY IDEOGRAPH-2F8BC
-2F8BD CJK COMPATIBILITY IDEOGRAPH-2F8BD
-2F8BE CJK COMPATIBILITY IDEOGRAPH-2F8BE
-2F8BF CJK COMPATIBILITY IDEOGRAPH-2F8BF
-2F8C0 CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8C1 CJK COMPATIBILITY IDEOGRAPH-2F8C1
-2F8C2 CJK COMPATIBILITY IDEOGRAPH-2F8C2
-2F8C3 CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C4 CJK COMPATIBILITY IDEOGRAPH-2F8C4
-2F8C5 CJK COMPATIBILITY IDEOGRAPH-2F8C5
-2F8C6 CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C7 CJK COMPATIBILITY IDEOGRAPH-2F8C7
-2F8C8 CJK COMPATIBILITY IDEOGRAPH-2F8C8
-2F8C9 CJK COMPATIBILITY IDEOGRAPH-2F8C9
-2F8CA CJK COMPATIBILITY IDEOGRAPH-2F8CA
-2F8CB CJK COMPATIBILITY IDEOGRAPH-2F8CB
-2F8CC CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8CD CJK COMPATIBILITY IDEOGRAPH-2F8CD
-2F8CE CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8CF CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D0 CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8D1 CJK COMPATIBILITY IDEOGRAPH-2F8D1
-2F8D2 CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F8D4 CJK COMPATIBILITY IDEOGRAPH-2F8D4
-2F8D5 CJK COMPATIBILITY IDEOGRAPH-2F8D5
-2F8D6 CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F8D7 CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2F8D8 CJK COMPATIBILITY IDEOGRAPH-2F8D8
-2F8D9 CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA CJK COMPATIBILITY IDEOGRAPH-2F8DA
-2F8DB CJK COMPATIBILITY IDEOGRAPH-2F8DB
-2F8DC CJK COMPATIBILITY IDEOGRAPH-2F8DC
-2F8DD CJK COMPATIBILITY IDEOGRAPH-2F8DD
-2F8DE CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8DF CJK COMPATIBILITY IDEOGRAPH-2F8DF
-2F8E0 CJK COMPATIBILITY IDEOGRAPH-2F8E0
-2F8E1 CJK COMPATIBILITY IDEOGRAPH-2F8E1
-2F8E2 CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E3 CJK COMPATIBILITY IDEOGRAPH-2F8E3
-2F8E4 CJK COMPATIBILITY IDEOGRAPH-2F8E4
-2F8E5 CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E6 CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E7 CJK COMPATIBILITY IDEOGRAPH-2F8E7
-2F8E8 CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA CJK COMPATIBILITY IDEOGRAPH-2F8EA
-2F8EB CJK COMPATIBILITY IDEOGRAPH-2F8EB
-2F8EC CJK COMPATIBILITY IDEOGRAPH-2F8EC
-2F8ED CJK COMPATIBILITY IDEOGRAPH-2F8ED
-2F8EE CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F8EF CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F0 CJK COMPATIBILITY IDEOGRAPH-2F8F0
-2F8F1 CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F2 CJK COMPATIBILITY IDEOGRAPH-2F8F2
-2F8F3 CJK COMPATIBILITY IDEOGRAPH-2F8F3
-2F8F4 CJK COMPATIBILITY IDEOGRAPH-2F8F4
-2F8F5 CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8F7 CJK COMPATIBILITY IDEOGRAPH-2F8F7
-2F8F8 CJK COMPATIBILITY IDEOGRAPH-2F8F8
-2F8F9 CJK COMPATIBILITY IDEOGRAPH-2F8F9
-2F8FA CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FB CJK COMPATIBILITY IDEOGRAPH-2F8FB
-2F8FC CJK COMPATIBILITY IDEOGRAPH-2F8FC
-2F8FD CJK COMPATIBILITY IDEOGRAPH-2F8FD
-2F8FE CJK COMPATIBILITY IDEOGRAPH-2F8FE
-2F8FF CJK COMPATIBILITY IDEOGRAPH-2F8FF
-2F900 CJK COMPATIBILITY IDEOGRAPH-2F900
-2F901 CJK COMPATIBILITY IDEOGRAPH-2F901
-2F902 CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 CJK COMPATIBILITY IDEOGRAPH-2F903
-2F904 CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 CJK COMPATIBILITY IDEOGRAPH-2F905
-2F906 CJK COMPATIBILITY IDEOGRAPH-2F906
-2F907 CJK COMPATIBILITY IDEOGRAPH-2F907
-2F908 CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 CJK COMPATIBILITY IDEOGRAPH-2F909
-2F90A CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F90B CJK COMPATIBILITY IDEOGRAPH-2F90B
-2F90C CJK COMPATIBILITY IDEOGRAPH-2F90C
-2F90D CJK COMPATIBILITY IDEOGRAPH-2F90D
-2F90E CJK COMPATIBILITY IDEOGRAPH-2F90E
-2F90F CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F910 CJK COMPATIBILITY IDEOGRAPH-2F910
-2F911 CJK COMPATIBILITY IDEOGRAPH-2F911
-2F912 CJK COMPATIBILITY IDEOGRAPH-2F912
-2F913 CJK COMPATIBILITY IDEOGRAPH-2F913
-2F914 CJK COMPATIBILITY IDEOGRAPH-2F914
-2F915 CJK COMPATIBILITY IDEOGRAPH-2F915
-2F916 CJK COMPATIBILITY IDEOGRAPH-2F916
-2F917 CJK COMPATIBILITY IDEOGRAPH-2F917
-2F918 CJK COMPATIBILITY IDEOGRAPH-2F918
-2F919 CJK COMPATIBILITY IDEOGRAPH-2F919
-2F91A CJK COMPATIBILITY IDEOGRAPH-2F91A
-2F91B CJK COMPATIBILITY IDEOGRAPH-2F91B
-2F91C CJK COMPATIBILITY IDEOGRAPH-2F91C
-2F91D CJK COMPATIBILITY IDEOGRAPH-2F91D
-2F91E CJK COMPATIBILITY IDEOGRAPH-2F91E
-2F91F CJK COMPATIBILITY IDEOGRAPH-2F91F
-2F920 CJK COMPATIBILITY IDEOGRAPH-2F920
-2F921 CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922 CJK COMPATIBILITY IDEOGRAPH-2F922
-2F923 CJK COMPATIBILITY IDEOGRAPH-2F923
-2F924 CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 CJK COMPATIBILITY IDEOGRAPH-2F925
-2F926 CJK COMPATIBILITY IDEOGRAPH-2F926
-2F927 CJK COMPATIBILITY IDEOGRAPH-2F927
-2F928 CJK COMPATIBILITY IDEOGRAPH-2F928
-2F929 CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92A CJK COMPATIBILITY IDEOGRAPH-2F92A
-2F92B CJK COMPATIBILITY IDEOGRAPH-2F92B
-2F92C CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D CJK COMPATIBILITY IDEOGRAPH-2F92D
-2F92E CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F CJK COMPATIBILITY IDEOGRAPH-2F92F
-2F930 CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 CJK COMPATIBILITY IDEOGRAPH-2F931
-2F932 CJK COMPATIBILITY IDEOGRAPH-2F932
-2F933 CJK COMPATIBILITY IDEOGRAPH-2F933
-2F934 CJK COMPATIBILITY IDEOGRAPH-2F934
-2F935 CJK COMPATIBILITY IDEOGRAPH-2F935
-2F936 CJK COMPATIBILITY IDEOGRAPH-2F936
-2F937 CJK COMPATIBILITY IDEOGRAPH-2F937
-2F938 CJK COMPATIBILITY IDEOGRAPH-2F938
-2F939 CJK COMPATIBILITY IDEOGRAPH-2F939
-2F93A CJK COMPATIBILITY IDEOGRAPH-2F93A
-2F93B CJK COMPATIBILITY IDEOGRAPH-2F93B
-2F93C CJK COMPATIBILITY IDEOGRAPH-2F93C
-2F93D CJK COMPATIBILITY IDEOGRAPH-2F93D
-2F93E CJK COMPATIBILITY IDEOGRAPH-2F93E
-2F93F CJK COMPATIBILITY IDEOGRAPH-2F93F
-2F940 CJK COMPATIBILITY IDEOGRAPH-2F940
-2F941 CJK COMPATIBILITY IDEOGRAPH-2F941
-2F942 CJK COMPATIBILITY IDEOGRAPH-2F942
-2F943 CJK COMPATIBILITY IDEOGRAPH-2F943
-2F944 CJK COMPATIBILITY IDEOGRAPH-2F944
-2F945 CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 CJK COMPATIBILITY IDEOGRAPH-2F947
-2F948 CJK COMPATIBILITY IDEOGRAPH-2F948
-2F949 CJK COMPATIBILITY IDEOGRAPH-2F949
-2F94A CJK COMPATIBILITY IDEOGRAPH-2F94A
-2F94B CJK COMPATIBILITY IDEOGRAPH-2F94B
-2F94C CJK COMPATIBILITY IDEOGRAPH-2F94C
-2F94D CJK COMPATIBILITY IDEOGRAPH-2F94D
-2F94E CJK COMPATIBILITY IDEOGRAPH-2F94E
-2F94F CJK COMPATIBILITY IDEOGRAPH-2F94F
-2F950 CJK COMPATIBILITY IDEOGRAPH-2F950
-2F951 CJK COMPATIBILITY IDEOGRAPH-2F951
-2F952 CJK COMPATIBILITY IDEOGRAPH-2F952
-2F953 CJK COMPATIBILITY IDEOGRAPH-2F953
-2F954 CJK COMPATIBILITY IDEOGRAPH-2F954
-2F955 CJK COMPATIBILITY IDEOGRAPH-2F955
-2F956 CJK COMPATIBILITY IDEOGRAPH-2F956
-2F957 CJK COMPATIBILITY IDEOGRAPH-2F957
-2F958 CJK COMPATIBILITY IDEOGRAPH-2F958
-2F959 CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B CJK COMPATIBILITY IDEOGRAPH-2F95B
-2F95C CJK COMPATIBILITY IDEOGRAPH-2F95C
-2F95D CJK COMPATIBILITY IDEOGRAPH-2F95D
-2F95E CJK COMPATIBILITY IDEOGRAPH-2F95E
-2F95F CJK COMPATIBILITY IDEOGRAPH-2F95F
-2F960 CJK COMPATIBILITY IDEOGRAPH-2F960
-2F961 CJK COMPATIBILITY IDEOGRAPH-2F961
-2F962 CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 CJK COMPATIBILITY IDEOGRAPH-2F963
-2F964 CJK COMPATIBILITY IDEOGRAPH-2F964
-2F965 CJK COMPATIBILITY IDEOGRAPH-2F965
-2F966 CJK COMPATIBILITY IDEOGRAPH-2F966
-2F967 CJK COMPATIBILITY IDEOGRAPH-2F967
-2F968 CJK COMPATIBILITY IDEOGRAPH-2F968
-2F969 CJK COMPATIBILITY IDEOGRAPH-2F969
-2F96A CJK COMPATIBILITY IDEOGRAPH-2F96A
-2F96B CJK COMPATIBILITY IDEOGRAPH-2F96B
-2F96C CJK COMPATIBILITY IDEOGRAPH-2F96C
-2F96D CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F96E CJK COMPATIBILITY IDEOGRAPH-2F96E
-2F96F CJK COMPATIBILITY IDEOGRAPH-2F96F
-2F970 CJK COMPATIBILITY IDEOGRAPH-2F970
-2F971 CJK COMPATIBILITY IDEOGRAPH-2F971
-2F972 CJK COMPATIBILITY IDEOGRAPH-2F972
-2F973 CJK COMPATIBILITY IDEOGRAPH-2F973
-2F974 CJK COMPATIBILITY IDEOGRAPH-2F974
-2F975 CJK COMPATIBILITY IDEOGRAPH-2F975
-2F976 CJK COMPATIBILITY IDEOGRAPH-2F976
-2F977 CJK COMPATIBILITY IDEOGRAPH-2F977
-2F978 CJK COMPATIBILITY IDEOGRAPH-2F978
-2F979 CJK COMPATIBILITY IDEOGRAPH-2F979
-2F97A CJK COMPATIBILITY IDEOGRAPH-2F97A
-2F97B CJK COMPATIBILITY IDEOGRAPH-2F97B
-2F97C CJK COMPATIBILITY IDEOGRAPH-2F97C
-2F97D CJK COMPATIBILITY IDEOGRAPH-2F97D
-2F97E CJK COMPATIBILITY IDEOGRAPH-2F97E
-2F97F CJK COMPATIBILITY IDEOGRAPH-2F97F
-2F980 CJK COMPATIBILITY IDEOGRAPH-2F980
-2F981 CJK COMPATIBILITY IDEOGRAPH-2F981
-2F982 CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 CJK COMPATIBILITY IDEOGRAPH-2F983
-2F984 CJK COMPATIBILITY IDEOGRAPH-2F984
-2F985 CJK COMPATIBILITY IDEOGRAPH-2F985
-2F986 CJK COMPATIBILITY IDEOGRAPH-2F986
-2F987 CJK COMPATIBILITY IDEOGRAPH-2F987
-2F988 CJK COMPATIBILITY IDEOGRAPH-2F988
-2F989 CJK COMPATIBILITY IDEOGRAPH-2F989
-2F98A CJK COMPATIBILITY IDEOGRAPH-2F98A
-2F98B CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C CJK COMPATIBILITY IDEOGRAPH-2F98C
-2F98D CJK COMPATIBILITY IDEOGRAPH-2F98D
-2F98E CJK COMPATIBILITY IDEOGRAPH-2F98E
-2F98F CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F990 CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991 CJK COMPATIBILITY IDEOGRAPH-2F991
-2F992 CJK COMPATIBILITY IDEOGRAPH-2F992
-2F993 CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 CJK COMPATIBILITY IDEOGRAPH-2F995
-2F996 CJK COMPATIBILITY IDEOGRAPH-2F996
-2F997 CJK COMPATIBILITY IDEOGRAPH-2F997
-2F998 CJK COMPATIBILITY IDEOGRAPH-2F998
-2F999 CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99A CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99C CJK COMPATIBILITY IDEOGRAPH-2F99C
-2F99D CJK COMPATIBILITY IDEOGRAPH-2F99D
-2F99E CJK COMPATIBILITY IDEOGRAPH-2F99E
-2F99F CJK COMPATIBILITY IDEOGRAPH-2F99F
-2F9A0 CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F9A1 CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F9A4 CJK COMPATIBILITY IDEOGRAPH-2F9A4
-2F9A5 CJK COMPATIBILITY IDEOGRAPH-2F9A5
-2F9A6 CJK COMPATIBILITY IDEOGRAPH-2F9A6
-2F9A7 CJK COMPATIBILITY IDEOGRAPH-2F9A7
-2F9A8 CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 CJK COMPATIBILITY IDEOGRAPH-2F9A9
-2F9AA CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AB CJK COMPATIBILITY IDEOGRAPH-2F9AB
-2F9AC CJK COMPATIBILITY IDEOGRAPH-2F9AC
-2F9AD CJK COMPATIBILITY IDEOGRAPH-2F9AD
-2F9AE CJK COMPATIBILITY IDEOGRAPH-2F9AE
-2F9AF CJK COMPATIBILITY IDEOGRAPH-2F9AF
-2F9B0 CJK COMPATIBILITY IDEOGRAPH-2F9B0
-2F9B1 CJK COMPATIBILITY IDEOGRAPH-2F9B1
-2F9B2 CJK COMPATIBILITY IDEOGRAPH-2F9B2
-2F9B3 CJK COMPATIBILITY IDEOGRAPH-2F9B3
-2F9B4 CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B7 CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9B8 CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B9 CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BA CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9BB CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BC CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD CJK COMPATIBILITY IDEOGRAPH-2F9BD
-2F9BE CJK COMPATIBILITY IDEOGRAPH-2F9BE
-2F9BF CJK COMPATIBILITY IDEOGRAPH-2F9BF
-2F9C0 CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 CJK COMPATIBILITY IDEOGRAPH-2F9C1
-2F9C2 CJK COMPATIBILITY IDEOGRAPH-2F9C2
-2F9C3 CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 CJK COMPATIBILITY IDEOGRAPH-2F9C4
-2F9C5 CJK COMPATIBILITY IDEOGRAPH-2F9C5
-2F9C6 CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 CJK COMPATIBILITY IDEOGRAPH-2F9C7
-2F9C8 CJK COMPATIBILITY IDEOGRAPH-2F9C8
-2F9C9 CJK COMPATIBILITY IDEOGRAPH-2F9C9
-2F9CA CJK COMPATIBILITY IDEOGRAPH-2F9CA
-2F9CB CJK COMPATIBILITY IDEOGRAPH-2F9CB
-2F9CC CJK COMPATIBILITY IDEOGRAPH-2F9CC
-2F9CD CJK COMPATIBILITY IDEOGRAPH-2F9CD
-2F9CE CJK COMPATIBILITY IDEOGRAPH-2F9CE
-2F9CF CJK COMPATIBILITY IDEOGRAPH-2F9CF
-2F9D0 CJK COMPATIBILITY IDEOGRAPH-2F9D0
-2F9D1 CJK COMPATIBILITY IDEOGRAPH-2F9D1
-2F9D2 CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D3 CJK COMPATIBILITY IDEOGRAPH-2F9D3
-2F9D4 CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 CJK COMPATIBILITY IDEOGRAPH-2F9D5
-2F9D6 CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9D8 CJK COMPATIBILITY IDEOGRAPH-2F9D8
-2F9D9 CJK COMPATIBILITY IDEOGRAPH-2F9D9
-2F9DA CJK COMPATIBILITY IDEOGRAPH-2F9DA
-2F9DB CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DC CJK COMPATIBILITY IDEOGRAPH-2F9DC
-2F9DD CJK COMPATIBILITY IDEOGRAPH-2F9DD
-2F9DE CJK COMPATIBILITY IDEOGRAPH-2F9DE
-2F9DF CJK COMPATIBILITY IDEOGRAPH-2F9DF
-2F9E0 CJK COMPATIBILITY IDEOGRAPH-2F9E0
-2F9E1 CJK COMPATIBILITY IDEOGRAPH-2F9E1
-2F9E2 CJK COMPATIBILITY IDEOGRAPH-2F9E2
-2F9E3 CJK COMPATIBILITY IDEOGRAPH-2F9E3
-2F9E4 CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E5 CJK COMPATIBILITY IDEOGRAPH-2F9E5
-2F9E6 CJK COMPATIBILITY IDEOGRAPH-2F9E6
-2F9E7 CJK COMPATIBILITY IDEOGRAPH-2F9E7
-2F9E8 CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 CJK COMPATIBILITY IDEOGRAPH-2F9E9
-2F9EA CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9EB CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9ED CJK COMPATIBILITY IDEOGRAPH-2F9ED
-2F9EE CJK COMPATIBILITY IDEOGRAPH-2F9EE
-2F9EF CJK COMPATIBILITY IDEOGRAPH-2F9EF
-2F9F0 CJK COMPATIBILITY IDEOGRAPH-2F9F0
-2F9F1 CJK COMPATIBILITY IDEOGRAPH-2F9F1
-2F9F2 CJK COMPATIBILITY IDEOGRAPH-2F9F2
-2F9F3 CJK COMPATIBILITY IDEOGRAPH-2F9F3
-2F9F4 CJK COMPATIBILITY IDEOGRAPH-2F9F4
-2F9F5 CJK COMPATIBILITY IDEOGRAPH-2F9F5
-2F9F6 CJK COMPATIBILITY IDEOGRAPH-2F9F6
-2F9F7 CJK COMPATIBILITY IDEOGRAPH-2F9F7
-2F9F8 CJK COMPATIBILITY IDEOGRAPH-2F9F8
-2F9F9 CJK COMPATIBILITY IDEOGRAPH-2F9F9
-2F9FA CJK COMPATIBILITY IDEOGRAPH-2F9FA
-2F9FB CJK COMPATIBILITY IDEOGRAPH-2F9FB
-2F9FC CJK COMPATIBILITY IDEOGRAPH-2F9FC
-2F9FD CJK COMPATIBILITY IDEOGRAPH-2F9FD
-2F9FE CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF CJK COMPATIBILITY IDEOGRAPH-2F9FF
-2FA00 CJK COMPATIBILITY IDEOGRAPH-2FA00
-2FA01 CJK COMPATIBILITY IDEOGRAPH-2FA01
-2FA02 CJK COMPATIBILITY IDEOGRAPH-2FA02
-2FA03 CJK COMPATIBILITY IDEOGRAPH-2FA03
-2FA04 CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 CJK COMPATIBILITY IDEOGRAPH-2FA06
-2FA07 CJK COMPATIBILITY IDEOGRAPH-2FA07
-2FA08 CJK COMPATIBILITY IDEOGRAPH-2FA08
-2FA09 CJK COMPATIBILITY IDEOGRAPH-2FA09
-2FA0A CJK COMPATIBILITY IDEOGRAPH-2FA0A
-2FA0B CJK COMPATIBILITY IDEOGRAPH-2FA0B
-2FA0C CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0D CJK COMPATIBILITY IDEOGRAPH-2FA0D
-2FA0E CJK COMPATIBILITY IDEOGRAPH-2FA0E
-2FA0F CJK COMPATIBILITY IDEOGRAPH-2FA0F
-2FA10 CJK COMPATIBILITY IDEOGRAPH-2FA10
-2FA11 CJK COMPATIBILITY IDEOGRAPH-2FA11
-2FA12 CJK COMPATIBILITY IDEOGRAPH-2FA12
-2FA13 CJK COMPATIBILITY IDEOGRAPH-2FA13
-2FA14 CJK COMPATIBILITY IDEOGRAPH-2FA14
-2FA15 CJK COMPATIBILITY IDEOGRAPH-2FA15
-2FA16 CJK COMPATIBILITY IDEOGRAPH-2FA16
-2FA17 CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19 CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C CJK COMPATIBILITY IDEOGRAPH-2FA1C
-2FA1D CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0001 LANGUAGE TAG
-E0020 TAG SPACE
-E0021 TAG EXCLAMATION MARK
-E0022 TAG QUOTATION MARK
-E0023 TAG NUMBER SIGN
-E0024 TAG DOLLAR SIGN
-E0025 TAG PERCENT SIGN
-E0026 TAG AMPERSAND
-E0027 TAG APOSTROPHE
-E0028 TAG LEFT PARENTHESIS
-E0029 TAG RIGHT PARENTHESIS
-E002A TAG ASTERISK
-E002B TAG PLUS SIGN
-E002C TAG COMMA
-E002D TAG HYPHEN-MINUS
-E002E TAG FULL STOP
-E002F TAG SOLIDUS
-E0030 TAG DIGIT ZERO
-E0031 TAG DIGIT ONE
-E0032 TAG DIGIT TWO
-E0033 TAG DIGIT THREE
-E0034 TAG DIGIT FOUR
-E0035 TAG DIGIT FIVE
-E0036 TAG DIGIT SIX
-E0037 TAG DIGIT SEVEN
-E0038 TAG DIGIT EIGHT
-E0039 TAG DIGIT NINE
-E003A TAG COLON
-E003B TAG SEMICOLON
-E003C TAG LESS-THAN SIGN
-E003D TAG EQUALS SIGN
-E003E TAG GREATER-THAN SIGN
-E003F TAG QUESTION MARK
-E0040 TAG COMMERCIAL AT
-E0041 TAG LATIN CAPITAL LETTER A
-E0042 TAG LATIN CAPITAL LETTER B
-E0043 TAG LATIN CAPITAL LETTER C
-E0044 TAG LATIN CAPITAL LETTER D
-E0045 TAG LATIN CAPITAL LETTER E
-E0046 TAG LATIN CAPITAL LETTER F
-E0047 TAG LATIN CAPITAL LETTER G
-E0048 TAG LATIN CAPITAL LETTER H
-E0049 TAG LATIN CAPITAL LETTER I
-E004A TAG LATIN CAPITAL LETTER J
-E004B TAG LATIN CAPITAL LETTER K
-E004C TAG LATIN CAPITAL LETTER L
-E004D TAG LATIN CAPITAL LETTER M
-E004E TAG LATIN CAPITAL LETTER N
-E004F TAG LATIN CAPITAL LETTER O
-E0050 TAG LATIN CAPITAL LETTER P
-E0051 TAG LATIN CAPITAL LETTER Q
-E0052 TAG LATIN CAPITAL LETTER R
-E0053 TAG LATIN CAPITAL LETTER S
-E0054 TAG LATIN CAPITAL LETTER T
-E0055 TAG LATIN CAPITAL LETTER U
-E0056 TAG LATIN CAPITAL LETTER V
-E0057 TAG LATIN CAPITAL LETTER W
-E0058 TAG LATIN CAPITAL LETTER X
-E0059 TAG LATIN CAPITAL LETTER Y
-E005A TAG LATIN CAPITAL LETTER Z
-E005B TAG LEFT SQUARE BRACKET
-E005C TAG REVERSE SOLIDUS
-E005D TAG RIGHT SQUARE BRACKET
-E005E TAG CIRCUMFLEX ACCENT
-E005F TAG LOW LINE
-E0060 TAG GRAVE ACCENT
-E0061 TAG LATIN SMALL LETTER A
-E0062 TAG LATIN SMALL LETTER B
-E0063 TAG LATIN SMALL LETTER C
-E0064 TAG LATIN SMALL LETTER D
-E0065 TAG LATIN SMALL LETTER E
-E0066 TAG LATIN SMALL LETTER F
-E0067 TAG LATIN SMALL LETTER G
-E0068 TAG LATIN SMALL LETTER H
-E0069 TAG LATIN SMALL LETTER I
-E006A TAG LATIN SMALL LETTER J
-E006B TAG LATIN SMALL LETTER K
-E006C TAG LATIN SMALL LETTER L
-E006D TAG LATIN SMALL LETTER M
-E006E TAG LATIN SMALL LETTER N
-E006F TAG LATIN SMALL LETTER O
-E0070 TAG LATIN SMALL LETTER P
-E0071 TAG LATIN SMALL LETTER Q
-E0072 TAG LATIN SMALL LETTER R
-E0073 TAG LATIN SMALL LETTER S
-E0074 TAG LATIN SMALL LETTER T
-E0075 TAG LATIN SMALL LETTER U
-E0076 TAG LATIN SMALL LETTER V
-E0077 TAG LATIN SMALL LETTER W
-E0078 TAG LATIN SMALL LETTER X
-E0079 TAG LATIN SMALL LETTER Y
-E007A TAG LATIN SMALL LETTER Z
-E007B TAG LEFT CURLY BRACKET
-E007C TAG VERTICAL LINE
-E007D TAG RIGHT CURLY BRACKET
-E007E TAG TILDE
-E007F CANCEL TAG
-E0100 VARIATION SELECTOR-17
-E0101 VARIATION SELECTOR-18
-E0102 VARIATION SELECTOR-19
-E0103 VARIATION SELECTOR-20
-E0104 VARIATION SELECTOR-21
-E0105 VARIATION SELECTOR-22
-E0106 VARIATION SELECTOR-23
-E0107 VARIATION SELECTOR-24
-E0108 VARIATION SELECTOR-25
-E0109 VARIATION SELECTOR-26
-E010A VARIATION SELECTOR-27
-E010B VARIATION SELECTOR-28
-E010C VARIATION SELECTOR-29
-E010D VARIATION SELECTOR-30
-E010E VARIATION SELECTOR-31
-E010F VARIATION SELECTOR-32
-E0110 VARIATION SELECTOR-33
-E0111 VARIATION SELECTOR-34
-E0112 VARIATION SELECTOR-35
-E0113 VARIATION SELECTOR-36
-E0114 VARIATION SELECTOR-37
-E0115 VARIATION SELECTOR-38
-E0116 VARIATION SELECTOR-39
-E0117 VARIATION SELECTOR-40
-E0118 VARIATION SELECTOR-41
-E0119 VARIATION SELECTOR-42
-E011A VARIATION SELECTOR-43
-E011B VARIATION SELECTOR-44
-E011C VARIATION SELECTOR-45
-E011D VARIATION SELECTOR-46
-E011E VARIATION SELECTOR-47
-E011F VARIATION SELECTOR-48
-E0120 VARIATION SELECTOR-49
-E0121 VARIATION SELECTOR-50
-E0122 VARIATION SELECTOR-51
-E0123 VARIATION SELECTOR-52
-E0124 VARIATION SELECTOR-53
-E0125 VARIATION SELECTOR-54
-E0126 VARIATION SELECTOR-55
-E0127 VARIATION SELECTOR-56
-E0128 VARIATION SELECTOR-57
-E0129 VARIATION SELECTOR-58
-E012A VARIATION SELECTOR-59
-E012B VARIATION SELECTOR-60
-E012C VARIATION SELECTOR-61
-E012D VARIATION SELECTOR-62
-E012E VARIATION SELECTOR-63
-E012F VARIATION SELECTOR-64
-E0130 VARIATION SELECTOR-65
-E0131 VARIATION SELECTOR-66
-E0132 VARIATION SELECTOR-67
-E0133 VARIATION SELECTOR-68
-E0134 VARIATION SELECTOR-69
-E0135 VARIATION SELECTOR-70
-E0136 VARIATION SELECTOR-71
-E0137 VARIATION SELECTOR-72
-E0138 VARIATION SELECTOR-73
-E0139 VARIATION SELECTOR-74
-E013A VARIATION SELECTOR-75
-E013B VARIATION SELECTOR-76
-E013C VARIATION SELECTOR-77
-E013D VARIATION SELECTOR-78
-E013E VARIATION SELECTOR-79
-E013F VARIATION SELECTOR-80
-E0140 VARIATION SELECTOR-81
-E0141 VARIATION SELECTOR-82
-E0142 VARIATION SELECTOR-83
-E0143 VARIATION SELECTOR-84
-E0144 VARIATION SELECTOR-85
-E0145 VARIATION SELECTOR-86
-E0146 VARIATION SELECTOR-87
-E0147 VARIATION SELECTOR-88
-E0148 VARIATION SELECTOR-89
-E0149 VARIATION SELECTOR-90
-E014A VARIATION SELECTOR-91
-E014B VARIATION SELECTOR-92
-E014C VARIATION SELECTOR-93
-E014D VARIATION SELECTOR-94
-E014E VARIATION SELECTOR-95
-E014F VARIATION SELECTOR-96
-E0150 VARIATION SELECTOR-97
-E0151 VARIATION SELECTOR-98
-E0152 VARIATION SELECTOR-99
-E0153 VARIATION SELECTOR-100
-E0154 VARIATION SELECTOR-101
-E0155 VARIATION SELECTOR-102
-E0156 VARIATION SELECTOR-103
-E0157 VARIATION SELECTOR-104
-E0158 VARIATION SELECTOR-105
-E0159 VARIATION SELECTOR-106
-E015A VARIATION SELECTOR-107
-E015B VARIATION SELECTOR-108
-E015C VARIATION SELECTOR-109
-E015D VARIATION SELECTOR-110
-E015E VARIATION SELECTOR-111
-E015F VARIATION SELECTOR-112
-E0160 VARIATION SELECTOR-113
-E0161 VARIATION SELECTOR-114
-E0162 VARIATION SELECTOR-115
-E0163 VARIATION SELECTOR-116
-E0164 VARIATION SELECTOR-117
-E0165 VARIATION SELECTOR-118
-E0166 VARIATION SELECTOR-119
-E0167 VARIATION SELECTOR-120
-E0168 VARIATION SELECTOR-121
-E0169 VARIATION SELECTOR-122
-E016A VARIATION SELECTOR-123
-E016B VARIATION SELECTOR-124
-E016C VARIATION SELECTOR-125
-E016D VARIATION SELECTOR-126
-E016E VARIATION SELECTOR-127
-E016F VARIATION SELECTOR-128
-E0170 VARIATION SELECTOR-129
-E0171 VARIATION SELECTOR-130
-E0172 VARIATION SELECTOR-131
-E0173 VARIATION SELECTOR-132
-E0174 VARIATION SELECTOR-133
-E0175 VARIATION SELECTOR-134
-E0176 VARIATION SELECTOR-135
-E0177 VARIATION SELECTOR-136
-E0178 VARIATION SELECTOR-137
-E0179 VARIATION SELECTOR-138
-E017A VARIATION SELECTOR-139
-E017B VARIATION SELECTOR-140
-E017C VARIATION SELECTOR-141
-E017D VARIATION SELECTOR-142
-E017E VARIATION SELECTOR-143
-E017F VARIATION SELECTOR-144
-E0180 VARIATION SELECTOR-145
-E0181 VARIATION SELECTOR-146
-E0182 VARIATION SELECTOR-147
-E0183 VARIATION SELECTOR-148
-E0184 VARIATION SELECTOR-149
-E0185 VARIATION SELECTOR-150
-E0186 VARIATION SELECTOR-151
-E0187 VARIATION SELECTOR-152
-E0188 VARIATION SELECTOR-153
-E0189 VARIATION SELECTOR-154
-E018A VARIATION SELECTOR-155
-E018B VARIATION SELECTOR-156
-E018C VARIATION SELECTOR-157
-E018D VARIATION SELECTOR-158
-E018E VARIATION SELECTOR-159
-E018F VARIATION SELECTOR-160
-E0190 VARIATION SELECTOR-161
-E0191 VARIATION SELECTOR-162
-E0192 VARIATION SELECTOR-163
-E0193 VARIATION SELECTOR-164
-E0194 VARIATION SELECTOR-165
-E0195 VARIATION SELECTOR-166
-E0196 VARIATION SELECTOR-167
-E0197 VARIATION SELECTOR-168
-E0198 VARIATION SELECTOR-169
-E0199 VARIATION SELECTOR-170
-E019A VARIATION SELECTOR-171
-E019B VARIATION SELECTOR-172
-E019C VARIATION SELECTOR-173
-E019D VARIATION SELECTOR-174
-E019E VARIATION SELECTOR-175
-E019F VARIATION SELECTOR-176
-E01A0 VARIATION SELECTOR-177
-E01A1 VARIATION SELECTOR-178
-E01A2 VARIATION SELECTOR-179
-E01A3 VARIATION SELECTOR-180
-E01A4 VARIATION SELECTOR-181
-E01A5 VARIATION SELECTOR-182
-E01A6 VARIATION SELECTOR-183
-E01A7 VARIATION SELECTOR-184
-E01A8 VARIATION SELECTOR-185
-E01A9 VARIATION SELECTOR-186
-E01AA VARIATION SELECTOR-187
-E01AB VARIATION SELECTOR-188
-E01AC VARIATION SELECTOR-189
-E01AD VARIATION SELECTOR-190
-E01AE VARIATION SELECTOR-191
-E01AF VARIATION SELECTOR-192
-E01B0 VARIATION SELECTOR-193
-E01B1 VARIATION SELECTOR-194
-E01B2 VARIATION SELECTOR-195
-E01B3 VARIATION SELECTOR-196
-E01B4 VARIATION SELECTOR-197
-E01B5 VARIATION SELECTOR-198
-E01B6 VARIATION SELECTOR-199
-E01B7 VARIATION SELECTOR-200
-E01B8 VARIATION SELECTOR-201
-E01B9 VARIATION SELECTOR-202
-E01BA VARIATION SELECTOR-203
-E01BB VARIATION SELECTOR-204
-E01BC VARIATION SELECTOR-205
-E01BD VARIATION SELECTOR-206
-E01BE VARIATION SELECTOR-207
-E01BF VARIATION SELECTOR-208
-E01C0 VARIATION SELECTOR-209
-E01C1 VARIATION SELECTOR-210
-E01C2 VARIATION SELECTOR-211
-E01C3 VARIATION SELECTOR-212
-E01C4 VARIATION SELECTOR-213
-E01C5 VARIATION SELECTOR-214
-E01C6 VARIATION SELECTOR-215
-E01C7 VARIATION SELECTOR-216
-E01C8 VARIATION SELECTOR-217
-E01C9 VARIATION SELECTOR-218
-E01CA VARIATION SELECTOR-219
-E01CB VARIATION SELECTOR-220
-E01CC VARIATION SELECTOR-221
-E01CD VARIATION SELECTOR-222
-E01CE VARIATION SELECTOR-223
-E01CF VARIATION SELECTOR-224
-E01D0 VARIATION SELECTOR-225
-E01D1 VARIATION SELECTOR-226
-E01D2 VARIATION SELECTOR-227
-E01D3 VARIATION SELECTOR-228
-E01D4 VARIATION SELECTOR-229
-E01D5 VARIATION SELECTOR-230
-E01D6 VARIATION SELECTOR-231
-E01D7 VARIATION SELECTOR-232
-E01D8 VARIATION SELECTOR-233
-E01D9 VARIATION SELECTOR-234
-E01DA VARIATION SELECTOR-235
-E01DB VARIATION SELECTOR-236
-E01DC VARIATION SELECTOR-237
-E01DD VARIATION SELECTOR-238
-E01DE VARIATION SELECTOR-239
-E01DF VARIATION SELECTOR-240
-E01E0 VARIATION SELECTOR-241
-E01E1 VARIATION SELECTOR-242
-E01E2 VARIATION SELECTOR-243
-E01E3 VARIATION SELECTOR-244
-E01E4 VARIATION SELECTOR-245
-E01E5 VARIATION SELECTOR-246
-E01E6 VARIATION SELECTOR-247
-E01E7 VARIATION SELECTOR-248
-E01E8 VARIATION SELECTOR-249
-E01E9 VARIATION SELECTOR-250
-E01EA VARIATION SELECTOR-251
-E01EB VARIATION SELECTOR-252
-E01EC VARIATION SELECTOR-253
-E01ED VARIATION SELECTOR-254
-E01EE VARIATION SELECTOR-255
-E01EF VARIATION SELECTOR-256
+00000 NULL
+00001 START OF HEADING
+00002 START OF TEXT
+00003 END OF TEXT
+00004 END OF TRANSMISSION
+00005 ENQUIRY
+00006 ACKNOWLEDGE
+00007 ALERT
+00008 BACKSPACE
+00009 CHARACTER TABULATION
+0000A LINE FEED (LF)
+0000B LINE TABULATION
+0000C FORM FEED (FF)
+0000D CARRIAGE RETURN (CR)
+0000E SHIFT OUT
+0000F SHIFT IN
+00010 DATA LINK ESCAPE
+00011 DEVICE CONTROL ONE
+00012 DEVICE CONTROL TWO
+00013 DEVICE CONTROL THREE
+00014 DEVICE CONTROL FOUR
+00015 NEGATIVE ACKNOWLEDGE
+00016 SYNCHRONOUS IDLE
+00017 END OF TRANSMISSION BLOCK
+00018 CANCEL
+00019 END OF MEDIUM
+0001A SUBSTITUTE
+0001B ESCAPE
+0001C INFORMATION SEPARATOR FOUR
+0001D INFORMATION SEPARATOR THREE
+0001E INFORMATION SEPARATOR TWO
+0001F INFORMATION SEPARATOR ONE
+00020 SPACE
+00021 EXCLAMATION MARK
+00022 QUOTATION MARK
+00023 NUMBER SIGN
+00024 DOLLAR SIGN
+00025 PERCENT SIGN
+00026 AMPERSAND
+00027 APOSTROPHE
+00028 LEFT PARENTHESIS
+00029 RIGHT PARENTHESIS
+0002A ASTERISK
+0002B PLUS SIGN
+0002C COMMA
+0002D HYPHEN-MINUS
+0002E FULL STOP
+0002F SOLIDUS
+00030 DIGIT ZERO
+00031 DIGIT ONE
+00032 DIGIT TWO
+00033 DIGIT THREE
+00034 DIGIT FOUR
+00035 DIGIT FIVE
+00036 DIGIT SIX
+00037 DIGIT SEVEN
+00038 DIGIT EIGHT
+00039 DIGIT NINE
+0003A COLON
+0003B SEMICOLON
+0003C LESS-THAN SIGN
+0003D EQUALS SIGN
+0003E GREATER-THAN SIGN
+0003F QUESTION MARK
+00040 COMMERCIAL AT
+00041 LATIN CAPITAL LETTER A
+00042 LATIN CAPITAL LETTER B
+00043 LATIN CAPITAL LETTER C
+00044 LATIN CAPITAL LETTER D
+00045 LATIN CAPITAL LETTER E
+00046 LATIN CAPITAL LETTER F
+00047 LATIN CAPITAL LETTER G
+00048 LATIN CAPITAL LETTER H
+00049 LATIN CAPITAL LETTER I
+0004A LATIN CAPITAL LETTER J
+0004B LATIN CAPITAL LETTER K
+0004C LATIN CAPITAL LETTER L
+0004D LATIN CAPITAL LETTER M
+0004E LATIN CAPITAL LETTER N
+0004F LATIN CAPITAL LETTER O
+00050 LATIN CAPITAL LETTER P
+00051 LATIN CAPITAL LETTER Q
+00052 LATIN CAPITAL LETTER R
+00053 LATIN CAPITAL LETTER S
+00054 LATIN CAPITAL LETTER T
+00055 LATIN CAPITAL LETTER U
+00056 LATIN CAPITAL LETTER V
+00057 LATIN CAPITAL LETTER W
+00058 LATIN CAPITAL LETTER X
+00059 LATIN CAPITAL LETTER Y
+0005A LATIN CAPITAL LETTER Z
+0005B LEFT SQUARE BRACKET
+0005C REVERSE SOLIDUS
+0005D RIGHT SQUARE BRACKET
+0005E CIRCUMFLEX ACCENT
+0005F LOW LINE
+00060 GRAVE ACCENT
+00061 LATIN SMALL LETTER A
+00062 LATIN SMALL LETTER B
+00063 LATIN SMALL LETTER C
+00064 LATIN SMALL LETTER D
+00065 LATIN SMALL LETTER E
+00066 LATIN SMALL LETTER F
+00067 LATIN SMALL LETTER G
+00068 LATIN SMALL LETTER H
+00069 LATIN SMALL LETTER I
+0006A LATIN SMALL LETTER J
+0006B LATIN SMALL LETTER K
+0006C LATIN SMALL LETTER L
+0006D LATIN SMALL LETTER M
+0006E LATIN SMALL LETTER N
+0006F LATIN SMALL LETTER O
+00070 LATIN SMALL LETTER P
+00071 LATIN SMALL LETTER Q
+00072 LATIN SMALL LETTER R
+00073 LATIN SMALL LETTER S
+00074 LATIN SMALL LETTER T
+00075 LATIN SMALL LETTER U
+00076 LATIN SMALL LETTER V
+00077 LATIN SMALL LETTER W
+00078 LATIN SMALL LETTER X
+00079 LATIN SMALL LETTER Y
+0007A LATIN SMALL LETTER Z
+0007B LEFT CURLY BRACKET
+0007C VERTICAL LINE
+0007D RIGHT CURLY BRACKET
+0007E TILDE
+0007F DELETE
+00082 BREAK PERMITTED HERE
+00083 NO BREAK HERE
+00085 NEXT LINE (NEL)
+00086 START OF SELECTED AREA
+00087 END OF SELECTED AREA
+00088 CHARACTER TABULATION SET
+00089 CHARACTER TABULATION WITH JUSTIFICATION
+0008A LINE TABULATION SET
+0008B PARTIAL LINE FORWARD
+0008C PARTIAL LINE BACKWARD
+0008D REVERSE LINE FEED
+0008E SINGLE SHIFT TWO
+0008F SINGLE SHIFT THREE
+00090 DEVICE CONTROL STRING
+00091 PRIVATE USE ONE
+00092 PRIVATE USE TWO
+00093 SET TRANSMIT STATE
+00094 CANCEL CHARACTER
+00095 MESSAGE WAITING
+00096 START OF GUARDED AREA
+00097 END OF GUARDED AREA
+00098 START OF STRING
+0009A SINGLE CHARACTER INTRODUCER
+0009B CONTROL SEQUENCE INTRODUCER
+0009C STRING TERMINATOR
+0009D OPERATING SYSTEM COMMAND
+0009E PRIVACY MESSAGE
+0009F APPLICATION PROGRAM COMMAND
+000A0 NO-BREAK SPACE
+000A1 INVERTED EXCLAMATION MARK
+000A2 CENT SIGN
+000A3 POUND SIGN
+000A4 CURRENCY SIGN
+000A5 YEN SIGN
+000A6 BROKEN BAR
+000A7 SECTION SIGN
+000A8 DIAERESIS
+000A9 COPYRIGHT SIGN
+000AA FEMININE ORDINAL INDICATOR
+000AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+000AC NOT SIGN
+000AD SOFT HYPHEN
+000AE REGISTERED SIGN
+000AF MACRON
+000B0 DEGREE SIGN
+000B1 PLUS-MINUS SIGN
+000B2 SUPERSCRIPT TWO
+000B3 SUPERSCRIPT THREE
+000B4 ACUTE ACCENT
+000B5 MICRO SIGN
+000B6 PILCROW SIGN
+000B7 MIDDLE DOT
+000B8 CEDILLA
+000B9 SUPERSCRIPT ONE
+000BA MASCULINE ORDINAL INDICATOR
+000BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+000BC VULGAR FRACTION ONE QUARTER
+000BD VULGAR FRACTION ONE HALF
+000BE VULGAR FRACTION THREE QUARTERS
+000BF INVERTED QUESTION MARK
+000C0 LATIN CAPITAL LETTER A WITH GRAVE
+000C1 LATIN CAPITAL LETTER A WITH ACUTE
+000C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+000C3 LATIN CAPITAL LETTER A WITH TILDE
+000C4 LATIN CAPITAL LETTER A WITH DIAERESIS
+000C5 LATIN CAPITAL LETTER A WITH RING ABOVE
+000C6 LATIN CAPITAL LETTER AE
+000C7 LATIN CAPITAL LETTER C WITH CEDILLA
+000C8 LATIN CAPITAL LETTER E WITH GRAVE
+000C9 LATIN CAPITAL LETTER E WITH ACUTE
+000CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+000CB LATIN CAPITAL LETTER E WITH DIAERESIS
+000CC LATIN CAPITAL LETTER I WITH GRAVE
+000CD LATIN CAPITAL LETTER I WITH ACUTE
+000CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+000CF LATIN CAPITAL LETTER I WITH DIAERESIS
+000D0 LATIN CAPITAL LETTER ETH
+000D1 LATIN CAPITAL LETTER N WITH TILDE
+000D2 LATIN CAPITAL LETTER O WITH GRAVE
+000D3 LATIN CAPITAL LETTER O WITH ACUTE
+000D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+000D5 LATIN CAPITAL LETTER O WITH TILDE
+000D6 LATIN CAPITAL LETTER O WITH DIAERESIS
+000D7 MULTIPLICATION SIGN
+000D8 LATIN CAPITAL LETTER O WITH STROKE
+000D9 LATIN CAPITAL LETTER U WITH GRAVE
+000DA LATIN CAPITAL LETTER U WITH ACUTE
+000DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+000DC LATIN CAPITAL LETTER U WITH DIAERESIS
+000DD LATIN CAPITAL LETTER Y WITH ACUTE
+000DE LATIN CAPITAL LETTER THORN
+000DF LATIN SMALL LETTER SHARP S
+000E0 LATIN SMALL LETTER A WITH GRAVE
+000E1 LATIN SMALL LETTER A WITH ACUTE
+000E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+000E3 LATIN SMALL LETTER A WITH TILDE
+000E4 LATIN SMALL LETTER A WITH DIAERESIS
+000E5 LATIN SMALL LETTER A WITH RING ABOVE
+000E6 LATIN SMALL LETTER AE
+000E7 LATIN SMALL LETTER C WITH CEDILLA
+000E8 LATIN SMALL LETTER E WITH GRAVE
+000E9 LATIN SMALL LETTER E WITH ACUTE
+000EA LATIN SMALL LETTER E WITH CIRCUMFLEX
+000EB LATIN SMALL LETTER E WITH DIAERESIS
+000EC LATIN SMALL LETTER I WITH GRAVE
+000ED LATIN SMALL LETTER I WITH ACUTE
+000EE LATIN SMALL LETTER I WITH CIRCUMFLEX
+000EF LATIN SMALL LETTER I WITH DIAERESIS
+000F0 LATIN SMALL LETTER ETH
+000F1 LATIN SMALL LETTER N WITH TILDE
+000F2 LATIN SMALL LETTER O WITH GRAVE
+000F3 LATIN SMALL LETTER O WITH ACUTE
+000F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+000F5 LATIN SMALL LETTER O WITH TILDE
+000F6 LATIN SMALL LETTER O WITH DIAERESIS
+000F7 DIVISION SIGN
+000F8 LATIN SMALL LETTER O WITH STROKE
+000F9 LATIN SMALL LETTER U WITH GRAVE
+000FA LATIN SMALL LETTER U WITH ACUTE
+000FB LATIN SMALL LETTER U WITH CIRCUMFLEX
+000FC LATIN SMALL LETTER U WITH DIAERESIS
+000FD LATIN SMALL LETTER Y WITH ACUTE
+000FE LATIN SMALL LETTER THORN
+000FF LATIN SMALL LETTER Y WITH DIAERESIS
+00100 LATIN CAPITAL LETTER A WITH MACRON
+00101 LATIN SMALL LETTER A WITH MACRON
+00102 LATIN CAPITAL LETTER A WITH BREVE
+00103 LATIN SMALL LETTER A WITH BREVE
+00104 LATIN CAPITAL LETTER A WITH OGONEK
+00105 LATIN SMALL LETTER A WITH OGONEK
+00106 LATIN CAPITAL LETTER C WITH ACUTE
+00107 LATIN SMALL LETTER C WITH ACUTE
+00108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+00109 LATIN SMALL LETTER C WITH CIRCUMFLEX
+0010A LATIN CAPITAL LETTER C WITH DOT ABOVE
+0010B LATIN SMALL LETTER C WITH DOT ABOVE
+0010C LATIN CAPITAL LETTER C WITH CARON
+0010D LATIN SMALL LETTER C WITH CARON
+0010E LATIN CAPITAL LETTER D WITH CARON
+0010F LATIN SMALL LETTER D WITH CARON
+00110 LATIN CAPITAL LETTER D WITH STROKE
+00111 LATIN SMALL LETTER D WITH STROKE
+00112 LATIN CAPITAL LETTER E WITH MACRON
+00113 LATIN SMALL LETTER E WITH MACRON
+00114 LATIN CAPITAL LETTER E WITH BREVE
+00115 LATIN SMALL LETTER E WITH BREVE
+00116 LATIN CAPITAL LETTER E WITH DOT ABOVE
+00117 LATIN SMALL LETTER E WITH DOT ABOVE
+00118 LATIN CAPITAL LETTER E WITH OGONEK
+00119 LATIN SMALL LETTER E WITH OGONEK
+0011A LATIN CAPITAL LETTER E WITH CARON
+0011B LATIN SMALL LETTER E WITH CARON
+0011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0011D LATIN SMALL LETTER G WITH CIRCUMFLEX
+0011E LATIN CAPITAL LETTER G WITH BREVE
+0011F LATIN SMALL LETTER G WITH BREVE
+00120 LATIN CAPITAL LETTER G WITH DOT ABOVE
+00121 LATIN SMALL LETTER G WITH DOT ABOVE
+00122 LATIN CAPITAL LETTER G WITH CEDILLA
+00123 LATIN SMALL LETTER G WITH CEDILLA
+00124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+00125 LATIN SMALL LETTER H WITH CIRCUMFLEX
+00126 LATIN CAPITAL LETTER H WITH STROKE
+00127 LATIN SMALL LETTER H WITH STROKE
+00128 LATIN CAPITAL LETTER I WITH TILDE
+00129 LATIN SMALL LETTER I WITH TILDE
+0012A LATIN CAPITAL LETTER I WITH MACRON
+0012B LATIN SMALL LETTER I WITH MACRON
+0012C LATIN CAPITAL LETTER I WITH BREVE
+0012D LATIN SMALL LETTER I WITH BREVE
+0012E LATIN CAPITAL LETTER I WITH OGONEK
+0012F LATIN SMALL LETTER I WITH OGONEK
+00130 LATIN CAPITAL LETTER I WITH DOT ABOVE
+00131 LATIN SMALL LETTER DOTLESS I
+00132 LATIN CAPITAL LIGATURE IJ
+00133 LATIN SMALL LIGATURE IJ
+00134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+00135 LATIN SMALL LETTER J WITH CIRCUMFLEX
+00136 LATIN CAPITAL LETTER K WITH CEDILLA
+00137 LATIN SMALL LETTER K WITH CEDILLA
+00138 LATIN SMALL LETTER KRA
+00139 LATIN CAPITAL LETTER L WITH ACUTE
+0013A LATIN SMALL LETTER L WITH ACUTE
+0013B LATIN CAPITAL LETTER L WITH CEDILLA
+0013C LATIN SMALL LETTER L WITH CEDILLA
+0013D LATIN CAPITAL LETTER L WITH CARON
+0013E LATIN SMALL LETTER L WITH CARON
+0013F LATIN CAPITAL LETTER L WITH MIDDLE DOT
+00140 LATIN SMALL LETTER L WITH MIDDLE DOT
+00141 LATIN CAPITAL LETTER L WITH STROKE
+00142 LATIN SMALL LETTER L WITH STROKE
+00143 LATIN CAPITAL LETTER N WITH ACUTE
+00144 LATIN SMALL LETTER N WITH ACUTE
+00145 LATIN CAPITAL LETTER N WITH CEDILLA
+00146 LATIN SMALL LETTER N WITH CEDILLA
+00147 LATIN CAPITAL LETTER N WITH CARON
+00148 LATIN SMALL LETTER N WITH CARON
+00149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+0014A LATIN CAPITAL LETTER ENG
+0014B LATIN SMALL LETTER ENG
+0014C LATIN CAPITAL LETTER O WITH MACRON
+0014D LATIN SMALL LETTER O WITH MACRON
+0014E LATIN CAPITAL LETTER O WITH BREVE
+0014F LATIN SMALL LETTER O WITH BREVE
+00150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
+00152 LATIN CAPITAL LIGATURE OE
+00153 LATIN SMALL LIGATURE OE
+00154 LATIN CAPITAL LETTER R WITH ACUTE
+00155 LATIN SMALL LETTER R WITH ACUTE
+00156 LATIN CAPITAL LETTER R WITH CEDILLA
+00157 LATIN SMALL LETTER R WITH CEDILLA
+00158 LATIN CAPITAL LETTER R WITH CARON
+00159 LATIN SMALL LETTER R WITH CARON
+0015A LATIN CAPITAL LETTER S WITH ACUTE
+0015B LATIN SMALL LETTER S WITH ACUTE
+0015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0015D LATIN SMALL LETTER S WITH CIRCUMFLEX
+0015E LATIN CAPITAL LETTER S WITH CEDILLA
+0015F LATIN SMALL LETTER S WITH CEDILLA
+00160 LATIN CAPITAL LETTER S WITH CARON
+00161 LATIN SMALL LETTER S WITH CARON
+00162 LATIN CAPITAL LETTER T WITH CEDILLA
+00163 LATIN SMALL LETTER T WITH CEDILLA
+00164 LATIN CAPITAL LETTER T WITH CARON
+00165 LATIN SMALL LETTER T WITH CARON
+00166 LATIN CAPITAL LETTER T WITH STROKE
+00167 LATIN SMALL LETTER T WITH STROKE
+00168 LATIN CAPITAL LETTER U WITH TILDE
+00169 LATIN SMALL LETTER U WITH TILDE
+0016A LATIN CAPITAL LETTER U WITH MACRON
+0016B LATIN SMALL LETTER U WITH MACRON
+0016C LATIN CAPITAL LETTER U WITH BREVE
+0016D LATIN SMALL LETTER U WITH BREVE
+0016E LATIN CAPITAL LETTER U WITH RING ABOVE
+0016F LATIN SMALL LETTER U WITH RING ABOVE
+00170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
+00172 LATIN CAPITAL LETTER U WITH OGONEK
+00173 LATIN SMALL LETTER U WITH OGONEK
+00174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+00175 LATIN SMALL LETTER W WITH CIRCUMFLEX
+00176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+00177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
+00178 LATIN CAPITAL LETTER Y WITH DIAERESIS
+00179 LATIN CAPITAL LETTER Z WITH ACUTE
+0017A LATIN SMALL LETTER Z WITH ACUTE
+0017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0017C LATIN SMALL LETTER Z WITH DOT ABOVE
+0017D LATIN CAPITAL LETTER Z WITH CARON
+0017E LATIN SMALL LETTER Z WITH CARON
+0017F LATIN SMALL LETTER LONG S
+00180 LATIN SMALL LETTER B WITH STROKE
+00181 LATIN CAPITAL LETTER B WITH HOOK
+00182 LATIN CAPITAL LETTER B WITH TOPBAR
+00183 LATIN SMALL LETTER B WITH TOPBAR
+00184 LATIN CAPITAL LETTER TONE SIX
+00185 LATIN SMALL LETTER TONE SIX
+00186 LATIN CAPITAL LETTER OPEN O
+00187 LATIN CAPITAL LETTER C WITH HOOK
+00188 LATIN SMALL LETTER C WITH HOOK
+00189 LATIN CAPITAL LETTER AFRICAN D
+0018A LATIN CAPITAL LETTER D WITH HOOK
+0018B LATIN CAPITAL LETTER D WITH TOPBAR
+0018C LATIN SMALL LETTER D WITH TOPBAR
+0018D LATIN SMALL LETTER TURNED DELTA
+0018E LATIN CAPITAL LETTER REVERSED E
+0018F LATIN CAPITAL LETTER SCHWA
+00190 LATIN CAPITAL LETTER OPEN E
+00191 LATIN CAPITAL LETTER F WITH HOOK
+00192 LATIN SMALL LETTER F WITH HOOK
+00193 LATIN CAPITAL LETTER G WITH HOOK
+00194 LATIN CAPITAL LETTER GAMMA
+00195 LATIN SMALL LETTER HV
+00196 LATIN CAPITAL LETTER IOTA
+00197 LATIN CAPITAL LETTER I WITH STROKE
+00198 LATIN CAPITAL LETTER K WITH HOOK
+00199 LATIN SMALL LETTER K WITH HOOK
+0019A LATIN SMALL LETTER L WITH BAR
+0019B LATIN SMALL LETTER LAMBDA WITH STROKE
+0019C LATIN CAPITAL LETTER TURNED M
+0019D LATIN CAPITAL LETTER N WITH LEFT HOOK
+0019E LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+001A0 LATIN CAPITAL LETTER O WITH HORN
+001A1 LATIN SMALL LETTER O WITH HORN
+001A2 LATIN CAPITAL LETTER GHA
+001A2 LATIN CAPITAL LETTER OI
+001A3 LATIN SMALL LETTER GHA
+001A3 LATIN SMALL LETTER OI
+001A4 LATIN CAPITAL LETTER P WITH HOOK
+001A5 LATIN SMALL LETTER P WITH HOOK
+001A6 LATIN LETTER YR
+001A7 LATIN CAPITAL LETTER TONE TWO
+001A8 LATIN SMALL LETTER TONE TWO
+001A9 LATIN CAPITAL LETTER ESH
+001AA LATIN LETTER REVERSED ESH LOOP
+001AB LATIN SMALL LETTER T WITH PALATAL HOOK
+001AC LATIN CAPITAL LETTER T WITH HOOK
+001AD LATIN SMALL LETTER T WITH HOOK
+001AE LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+001AF LATIN CAPITAL LETTER U WITH HORN
+001B0 LATIN SMALL LETTER U WITH HORN
+001B1 LATIN CAPITAL LETTER UPSILON
+001B2 LATIN CAPITAL LETTER V WITH HOOK
+001B3 LATIN CAPITAL LETTER Y WITH HOOK
+001B4 LATIN SMALL LETTER Y WITH HOOK
+001B5 LATIN CAPITAL LETTER Z WITH STROKE
+001B6 LATIN SMALL LETTER Z WITH STROKE
+001B7 LATIN CAPITAL LETTER EZH
+001B8 LATIN CAPITAL LETTER EZH REVERSED
+001B9 LATIN SMALL LETTER EZH REVERSED
+001BA LATIN SMALL LETTER EZH WITH TAIL
+001BB LATIN LETTER TWO WITH STROKE
+001BC LATIN CAPITAL LETTER TONE FIVE
+001BD LATIN SMALL LETTER TONE FIVE
+001BE LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+001BF LATIN LETTER WYNN
+001C0 LATIN LETTER DENTAL CLICK
+001C1 LATIN LETTER LATERAL CLICK
+001C2 LATIN LETTER ALVEOLAR CLICK
+001C3 LATIN LETTER RETROFLEX CLICK
+001C4 LATIN CAPITAL LETTER DZ WITH CARON
+001C5 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+001C6 LATIN SMALL LETTER DZ WITH CARON
+001C7 LATIN CAPITAL LETTER LJ
+001C8 LATIN CAPITAL LETTER L WITH SMALL LETTER J
+001C9 LATIN SMALL LETTER LJ
+001CA LATIN CAPITAL LETTER NJ
+001CB LATIN CAPITAL LETTER N WITH SMALL LETTER J
+001CC LATIN SMALL LETTER NJ
+001CD LATIN CAPITAL LETTER A WITH CARON
+001CE LATIN SMALL LETTER A WITH CARON
+001CF LATIN CAPITAL LETTER I WITH CARON
+001D0 LATIN SMALL LETTER I WITH CARON
+001D1 LATIN CAPITAL LETTER O WITH CARON
+001D2 LATIN SMALL LETTER O WITH CARON
+001D3 LATIN CAPITAL LETTER U WITH CARON
+001D4 LATIN SMALL LETTER U WITH CARON
+001D5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+001D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+001D7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+001D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+001D9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+001DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+001DB LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+001DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+001DD LATIN SMALL LETTER TURNED E
+001DE LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+001DF LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+001E0 LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+001E1 LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+001E2 LATIN CAPITAL LETTER AE WITH MACRON
+001E3 LATIN SMALL LETTER AE WITH MACRON
+001E4 LATIN CAPITAL LETTER G WITH STROKE
+001E5 LATIN SMALL LETTER G WITH STROKE
+001E6 LATIN CAPITAL LETTER G WITH CARON
+001E7 LATIN SMALL LETTER G WITH CARON
+001E8 LATIN CAPITAL LETTER K WITH CARON
+001E9 LATIN SMALL LETTER K WITH CARON
+001EA LATIN CAPITAL LETTER O WITH OGONEK
+001EB LATIN SMALL LETTER O WITH OGONEK
+001EC LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+001ED LATIN SMALL LETTER O WITH OGONEK AND MACRON
+001EE LATIN CAPITAL LETTER EZH WITH CARON
+001EF LATIN SMALL LETTER EZH WITH CARON
+001F0 LATIN SMALL LETTER J WITH CARON
+001F1 LATIN CAPITAL LETTER DZ
+001F2 LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+001F3 LATIN SMALL LETTER DZ
+001F4 LATIN CAPITAL LETTER G WITH ACUTE
+001F5 LATIN SMALL LETTER G WITH ACUTE
+001F6 LATIN CAPITAL LETTER HWAIR
+001F7 LATIN CAPITAL LETTER WYNN
+001F8 LATIN CAPITAL LETTER N WITH GRAVE
+001F9 LATIN SMALL LETTER N WITH GRAVE
+001FA LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+001FB LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+001FC LATIN CAPITAL LETTER AE WITH ACUTE
+001FD LATIN SMALL LETTER AE WITH ACUTE
+001FE LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+001FF LATIN SMALL LETTER O WITH STROKE AND ACUTE
+00200 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+00201 LATIN SMALL LETTER A WITH DOUBLE GRAVE
+00202 LATIN CAPITAL LETTER A WITH INVERTED BREVE
+00203 LATIN SMALL LETTER A WITH INVERTED BREVE
+00204 LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+00205 LATIN SMALL LETTER E WITH DOUBLE GRAVE
+00206 LATIN CAPITAL LETTER E WITH INVERTED BREVE
+00207 LATIN SMALL LETTER E WITH INVERTED BREVE
+00208 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+00209 LATIN SMALL LETTER I WITH DOUBLE GRAVE
+0020A LATIN CAPITAL LETTER I WITH INVERTED BREVE
+0020B LATIN SMALL LETTER I WITH INVERTED BREVE
+0020C LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+0020D LATIN SMALL LETTER O WITH DOUBLE GRAVE
+0020E LATIN CAPITAL LETTER O WITH INVERTED BREVE
+0020F LATIN SMALL LETTER O WITH INVERTED BREVE
+00210 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+00211 LATIN SMALL LETTER R WITH DOUBLE GRAVE
+00212 LATIN CAPITAL LETTER R WITH INVERTED BREVE
+00213 LATIN SMALL LETTER R WITH INVERTED BREVE
+00214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+00215 LATIN SMALL LETTER U WITH DOUBLE GRAVE
+00216 LATIN CAPITAL LETTER U WITH INVERTED BREVE
+00217 LATIN SMALL LETTER U WITH INVERTED BREVE
+00218 LATIN CAPITAL LETTER S WITH COMMA BELOW
+00219 LATIN SMALL LETTER S WITH COMMA BELOW
+0021A LATIN CAPITAL LETTER T WITH COMMA BELOW
+0021B LATIN SMALL LETTER T WITH COMMA BELOW
+0021C LATIN CAPITAL LETTER YOGH
+0021D LATIN SMALL LETTER YOGH
+0021E LATIN CAPITAL LETTER H WITH CARON
+0021F LATIN SMALL LETTER H WITH CARON
+00220 LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+00221 LATIN SMALL LETTER D WITH CURL
+00222 LATIN CAPITAL LETTER OU
+00223 LATIN SMALL LETTER OU
+00224 LATIN CAPITAL LETTER Z WITH HOOK
+00225 LATIN SMALL LETTER Z WITH HOOK
+00226 LATIN CAPITAL LETTER A WITH DOT ABOVE
+00227 LATIN SMALL LETTER A WITH DOT ABOVE
+00228 LATIN CAPITAL LETTER E WITH CEDILLA
+00229 LATIN SMALL LETTER E WITH CEDILLA
+0022A LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0022B LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+0022C LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+0022D LATIN SMALL LETTER O WITH TILDE AND MACRON
+0022E LATIN CAPITAL LETTER O WITH DOT ABOVE
+0022F LATIN SMALL LETTER O WITH DOT ABOVE
+00230 LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+00231 LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+00232 LATIN CAPITAL LETTER Y WITH MACRON
+00233 LATIN SMALL LETTER Y WITH MACRON
+00234 LATIN SMALL LETTER L WITH CURL
+00235 LATIN SMALL LETTER N WITH CURL
+00236 LATIN SMALL LETTER T WITH CURL
+00237 LATIN SMALL LETTER DOTLESS J
+00238 LATIN SMALL LETTER DB DIGRAPH
+00239 LATIN SMALL LETTER QP DIGRAPH
+0023A LATIN CAPITAL LETTER A WITH STROKE
+0023B LATIN CAPITAL LETTER C WITH STROKE
+0023C LATIN SMALL LETTER C WITH STROKE
+0023D LATIN CAPITAL LETTER L WITH BAR
+0023E LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+0023F LATIN SMALL LETTER S WITH SWASH TAIL
+00240 LATIN SMALL LETTER Z WITH SWASH TAIL
+00241 LATIN CAPITAL LETTER GLOTTAL STOP
+00242 LATIN SMALL LETTER GLOTTAL STOP
+00243 LATIN CAPITAL LETTER B WITH STROKE
+00244 LATIN CAPITAL LETTER U BAR
+00245 LATIN CAPITAL LETTER TURNED V
+00246 LATIN CAPITAL LETTER E WITH STROKE
+00247 LATIN SMALL LETTER E WITH STROKE
+00248 LATIN CAPITAL LETTER J WITH STROKE
+00249 LATIN SMALL LETTER J WITH STROKE
+0024A LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+0024B LATIN SMALL LETTER Q WITH HOOK TAIL
+0024C LATIN CAPITAL LETTER R WITH STROKE
+0024D LATIN SMALL LETTER R WITH STROKE
+0024E LATIN CAPITAL LETTER Y WITH STROKE
+0024F LATIN SMALL LETTER Y WITH STROKE
+00250 LATIN SMALL LETTER TURNED A
+00251 LATIN SMALL LETTER ALPHA
+00252 LATIN SMALL LETTER TURNED ALPHA
+00253 LATIN SMALL LETTER B WITH HOOK
+00254 LATIN SMALL LETTER OPEN O
+00255 LATIN SMALL LETTER C WITH CURL
+00256 LATIN SMALL LETTER D WITH TAIL
+00257 LATIN SMALL LETTER D WITH HOOK
+00258 LATIN SMALL LETTER REVERSED E
+00259 LATIN SMALL LETTER SCHWA
+0025A LATIN SMALL LETTER SCHWA WITH HOOK
+0025B LATIN SMALL LETTER OPEN E
+0025C LATIN SMALL LETTER REVERSED OPEN E
+0025D LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+0025E LATIN SMALL LETTER CLOSED REVERSED OPEN E
+0025F LATIN SMALL LETTER DOTLESS J WITH STROKE
+00260 LATIN SMALL LETTER G WITH HOOK
+00261 LATIN SMALL LETTER SCRIPT G
+00262 LATIN LETTER SMALL CAPITAL G
+00263 LATIN SMALL LETTER GAMMA
+00264 LATIN SMALL LETTER RAMS HORN
+00265 LATIN SMALL LETTER TURNED H
+00266 LATIN SMALL LETTER H WITH HOOK
+00267 LATIN SMALL LETTER HENG WITH HOOK
+00268 LATIN SMALL LETTER I WITH STROKE
+00269 LATIN SMALL LETTER IOTA
+0026A LATIN LETTER SMALL CAPITAL I
+0026B LATIN SMALL LETTER L WITH MIDDLE TILDE
+0026C LATIN SMALL LETTER L WITH BELT
+0026D LATIN SMALL LETTER L WITH RETROFLEX HOOK
+0026E LATIN SMALL LETTER LEZH
+0026F LATIN SMALL LETTER TURNED M
+00270 LATIN SMALL LETTER TURNED M WITH LONG LEG
+00271 LATIN SMALL LETTER M WITH HOOK
+00272 LATIN SMALL LETTER N WITH LEFT HOOK
+00273 LATIN SMALL LETTER N WITH RETROFLEX HOOK
+00274 LATIN LETTER SMALL CAPITAL N
+00275 LATIN SMALL LETTER BARRED O
+00276 LATIN LETTER SMALL CAPITAL OE
+00277 LATIN SMALL LETTER CLOSED OMEGA
+00278 LATIN SMALL LETTER PHI
+00279 LATIN SMALL LETTER TURNED R
+0027A LATIN SMALL LETTER TURNED R WITH LONG LEG
+0027B LATIN SMALL LETTER TURNED R WITH HOOK
+0027C LATIN SMALL LETTER R WITH LONG LEG
+0027D LATIN SMALL LETTER R WITH TAIL
+0027E LATIN SMALL LETTER R WITH FISHHOOK
+0027F LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+00280 LATIN LETTER SMALL CAPITAL R
+00281 LATIN LETTER SMALL CAPITAL INVERTED R
+00282 LATIN SMALL LETTER S WITH HOOK
+00283 LATIN SMALL LETTER ESH
+00284 LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+00285 LATIN SMALL LETTER SQUAT REVERSED ESH
+00286 LATIN SMALL LETTER ESH WITH CURL
+00287 LATIN SMALL LETTER TURNED T
+00288 LATIN SMALL LETTER T WITH RETROFLEX HOOK
+00289 LATIN SMALL LETTER U BAR
+0028A LATIN SMALL LETTER UPSILON
+0028B LATIN SMALL LETTER V WITH HOOK
+0028C LATIN SMALL LETTER TURNED V
+0028D LATIN SMALL LETTER TURNED W
+0028E LATIN SMALL LETTER TURNED Y
+0028F LATIN LETTER SMALL CAPITAL Y
+00290 LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+00291 LATIN SMALL LETTER Z WITH CURL
+00292 LATIN SMALL LETTER EZH
+00293 LATIN SMALL LETTER EZH WITH CURL
+00294 LATIN LETTER GLOTTAL STOP
+00295 LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+00296 LATIN LETTER INVERTED GLOTTAL STOP
+00297 LATIN LETTER STRETCHED C
+00298 LATIN LETTER BILABIAL CLICK
+00299 LATIN LETTER SMALL CAPITAL B
+0029A LATIN SMALL LETTER CLOSED OPEN E
+0029B LATIN LETTER SMALL CAPITAL G WITH HOOK
+0029C LATIN LETTER SMALL CAPITAL H
+0029D LATIN SMALL LETTER J WITH CROSSED-TAIL
+0029E LATIN SMALL LETTER TURNED K
+0029F LATIN LETTER SMALL CAPITAL L
+002A0 LATIN SMALL LETTER Q WITH HOOK
+002A1 LATIN LETTER GLOTTAL STOP WITH STROKE
+002A2 LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+002A3 LATIN SMALL LETTER DZ DIGRAPH
+002A4 LATIN SMALL LETTER DEZH DIGRAPH
+002A5 LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+002A6 LATIN SMALL LETTER TS DIGRAPH
+002A7 LATIN SMALL LETTER TESH DIGRAPH
+002A8 LATIN SMALL LETTER TC DIGRAPH WITH CURL
+002A9 LATIN SMALL LETTER FENG DIGRAPH
+002AA LATIN SMALL LETTER LS DIGRAPH
+002AB LATIN SMALL LETTER LZ DIGRAPH
+002AC LATIN LETTER BILABIAL PERCUSSIVE
+002AD LATIN LETTER BIDENTAL PERCUSSIVE
+002AE LATIN SMALL LETTER TURNED H WITH FISHHOOK
+002AF LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+002B0 MODIFIER LETTER SMALL H
+002B1 MODIFIER LETTER SMALL H WITH HOOK
+002B2 MODIFIER LETTER SMALL J
+002B3 MODIFIER LETTER SMALL R
+002B4 MODIFIER LETTER SMALL TURNED R
+002B5 MODIFIER LETTER SMALL TURNED R WITH HOOK
+002B6 MODIFIER LETTER SMALL CAPITAL INVERTED R
+002B7 MODIFIER LETTER SMALL W
+002B8 MODIFIER LETTER SMALL Y
+002B9 MODIFIER LETTER PRIME
+002BA MODIFIER LETTER DOUBLE PRIME
+002BB MODIFIER LETTER TURNED COMMA
+002BC MODIFIER LETTER APOSTROPHE
+002BD MODIFIER LETTER REVERSED COMMA
+002BE MODIFIER LETTER RIGHT HALF RING
+002BF MODIFIER LETTER LEFT HALF RING
+002C0 MODIFIER LETTER GLOTTAL STOP
+002C1 MODIFIER LETTER REVERSED GLOTTAL STOP
+002C2 MODIFIER LETTER LEFT ARROWHEAD
+002C3 MODIFIER LETTER RIGHT ARROWHEAD
+002C4 MODIFIER LETTER UP ARROWHEAD
+002C5 MODIFIER LETTER DOWN ARROWHEAD
+002C6 MODIFIER LETTER CIRCUMFLEX ACCENT
+002C7 CARON
+002C8 MODIFIER LETTER VERTICAL LINE
+002C9 MODIFIER LETTER MACRON
+002CA MODIFIER LETTER ACUTE ACCENT
+002CB MODIFIER LETTER GRAVE ACCENT
+002CC MODIFIER LETTER LOW VERTICAL LINE
+002CD MODIFIER LETTER LOW MACRON
+002CE MODIFIER LETTER LOW GRAVE ACCENT
+002CF MODIFIER LETTER LOW ACUTE ACCENT
+002D0 MODIFIER LETTER TRIANGULAR COLON
+002D1 MODIFIER LETTER HALF TRIANGULAR COLON
+002D2 MODIFIER LETTER CENTRED RIGHT HALF RING
+002D3 MODIFIER LETTER CENTRED LEFT HALF RING
+002D4 MODIFIER LETTER UP TACK
+002D5 MODIFIER LETTER DOWN TACK
+002D6 MODIFIER LETTER PLUS SIGN
+002D7 MODIFIER LETTER MINUS SIGN
+002D8 BREVE
+002D9 DOT ABOVE
+002DA RING ABOVE
+002DB OGONEK
+002DC SMALL TILDE
+002DD DOUBLE ACUTE ACCENT
+002DE MODIFIER LETTER RHOTIC HOOK
+002DF MODIFIER LETTER CROSS ACCENT
+002E0 MODIFIER LETTER SMALL GAMMA
+002E1 MODIFIER LETTER SMALL L
+002E2 MODIFIER LETTER SMALL S
+002E3 MODIFIER LETTER SMALL X
+002E4 MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+002E5 MODIFIER LETTER EXTRA-HIGH TONE BAR
+002E6 MODIFIER LETTER HIGH TONE BAR
+002E7 MODIFIER LETTER MID TONE BAR
+002E8 MODIFIER LETTER LOW TONE BAR
+002E9 MODIFIER LETTER EXTRA-LOW TONE BAR
+002EA MODIFIER LETTER YIN DEPARTING TONE MARK
+002EB MODIFIER LETTER YANG DEPARTING TONE MARK
+002EC MODIFIER LETTER VOICING
+002ED MODIFIER LETTER UNASPIRATED
+002EE MODIFIER LETTER DOUBLE APOSTROPHE
+002EF MODIFIER LETTER LOW DOWN ARROWHEAD
+002F0 MODIFIER LETTER LOW UP ARROWHEAD
+002F1 MODIFIER LETTER LOW LEFT ARROWHEAD
+002F2 MODIFIER LETTER LOW RIGHT ARROWHEAD
+002F3 MODIFIER LETTER LOW RING
+002F4 MODIFIER LETTER MIDDLE GRAVE ACCENT
+002F5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+002F6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+002F7 MODIFIER LETTER LOW TILDE
+002F8 MODIFIER LETTER RAISED COLON
+002F9 MODIFIER LETTER BEGIN HIGH TONE
+002FA MODIFIER LETTER END HIGH TONE
+002FB MODIFIER LETTER BEGIN LOW TONE
+002FC MODIFIER LETTER END LOW TONE
+002FD MODIFIER LETTER SHELF
+002FE MODIFIER LETTER OPEN SHELF
+002FF MODIFIER LETTER LOW LEFT ARROW
+00300 COMBINING GRAVE ACCENT
+00301 COMBINING ACUTE ACCENT
+00302 COMBINING CIRCUMFLEX ACCENT
+00303 COMBINING TILDE
+00304 COMBINING MACRON
+00305 COMBINING OVERLINE
+00306 COMBINING BREVE
+00307 COMBINING DOT ABOVE
+00308 COMBINING DIAERESIS
+00309 COMBINING HOOK ABOVE
+0030A COMBINING RING ABOVE
+0030B COMBINING DOUBLE ACUTE ACCENT
+0030C COMBINING CARON
+0030D COMBINING VERTICAL LINE ABOVE
+0030E COMBINING DOUBLE VERTICAL LINE ABOVE
+0030F COMBINING DOUBLE GRAVE ACCENT
+00310 COMBINING CANDRABINDU
+00311 COMBINING INVERTED BREVE
+00312 COMBINING TURNED COMMA ABOVE
+00313 COMBINING COMMA ABOVE
+00314 COMBINING REVERSED COMMA ABOVE
+00315 COMBINING COMMA ABOVE RIGHT
+00316 COMBINING GRAVE ACCENT BELOW
+00317 COMBINING ACUTE ACCENT BELOW
+00318 COMBINING LEFT TACK BELOW
+00319 COMBINING RIGHT TACK BELOW
+0031A COMBINING LEFT ANGLE ABOVE
+0031B COMBINING HORN
+0031C COMBINING LEFT HALF RING BELOW
+0031D COMBINING UP TACK BELOW
+0031E COMBINING DOWN TACK BELOW
+0031F COMBINING PLUS SIGN BELOW
+00320 COMBINING MINUS SIGN BELOW
+00321 COMBINING PALATALIZED HOOK BELOW
+00322 COMBINING RETROFLEX HOOK BELOW
+00323 COMBINING DOT BELOW
+00324 COMBINING DIAERESIS BELOW
+00325 COMBINING RING BELOW
+00326 COMBINING COMMA BELOW
+00327 COMBINING CEDILLA
+00328 COMBINING OGONEK
+00329 COMBINING VERTICAL LINE BELOW
+0032A COMBINING BRIDGE BELOW
+0032B COMBINING INVERTED DOUBLE ARCH BELOW
+0032C COMBINING CARON BELOW
+0032D COMBINING CIRCUMFLEX ACCENT BELOW
+0032E COMBINING BREVE BELOW
+0032F COMBINING INVERTED BREVE BELOW
+00330 COMBINING TILDE BELOW
+00331 COMBINING MACRON BELOW
+00332 COMBINING LOW LINE
+00333 COMBINING DOUBLE LOW LINE
+00334 COMBINING TILDE OVERLAY
+00335 COMBINING SHORT STROKE OVERLAY
+00336 COMBINING LONG STROKE OVERLAY
+00337 COMBINING SHORT SOLIDUS OVERLAY
+00338 COMBINING LONG SOLIDUS OVERLAY
+00339 COMBINING RIGHT HALF RING BELOW
+0033A COMBINING INVERTED BRIDGE BELOW
+0033B COMBINING SQUARE BELOW
+0033C COMBINING SEAGULL BELOW
+0033D COMBINING X ABOVE
+0033E COMBINING VERTICAL TILDE
+0033F COMBINING DOUBLE OVERLINE
+00340 COMBINING GRAVE TONE MARK
+00341 COMBINING ACUTE TONE MARK
+00342 COMBINING GREEK PERISPOMENI
+00343 COMBINING GREEK KORONIS
+00344 COMBINING GREEK DIALYTIKA TONOS
+00345 COMBINING GREEK YPOGEGRAMMENI
+00346 COMBINING BRIDGE ABOVE
+00347 COMBINING EQUALS SIGN BELOW
+00348 COMBINING DOUBLE VERTICAL LINE BELOW
+00349 COMBINING LEFT ANGLE BELOW
+0034A COMBINING NOT TILDE ABOVE
+0034B COMBINING HOMOTHETIC ABOVE
+0034C COMBINING ALMOST EQUAL TO ABOVE
+0034D COMBINING LEFT RIGHT ARROW BELOW
+0034E COMBINING UPWARDS ARROW BELOW
+0034F COMBINING GRAPHEME JOINER
+00350 COMBINING RIGHT ARROWHEAD ABOVE
+00351 COMBINING LEFT HALF RING ABOVE
+00352 COMBINING FERMATA
+00353 COMBINING X BELOW
+00354 COMBINING LEFT ARROWHEAD BELOW
+00355 COMBINING RIGHT ARROWHEAD BELOW
+00356 COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
+00357 COMBINING RIGHT HALF RING ABOVE
+00358 COMBINING DOT ABOVE RIGHT
+00359 COMBINING ASTERISK BELOW
+0035A COMBINING DOUBLE RING BELOW
+0035B COMBINING ZIGZAG ABOVE
+0035C COMBINING DOUBLE BREVE BELOW
+0035D COMBINING DOUBLE BREVE
+0035E COMBINING DOUBLE MACRON
+0035F COMBINING DOUBLE MACRON BELOW
+00360 COMBINING DOUBLE TILDE
+00361 COMBINING DOUBLE INVERTED BREVE
+00362 COMBINING DOUBLE RIGHTWARDS ARROW BELOW
+00363 COMBINING LATIN SMALL LETTER A
+00364 COMBINING LATIN SMALL LETTER E
+00365 COMBINING LATIN SMALL LETTER I
+00366 COMBINING LATIN SMALL LETTER O
+00367 COMBINING LATIN SMALL LETTER U
+00368 COMBINING LATIN SMALL LETTER C
+00369 COMBINING LATIN SMALL LETTER D
+0036A COMBINING LATIN SMALL LETTER H
+0036B COMBINING LATIN SMALL LETTER M
+0036C COMBINING LATIN SMALL LETTER R
+0036D COMBINING LATIN SMALL LETTER T
+0036E COMBINING LATIN SMALL LETTER V
+0036F COMBINING LATIN SMALL LETTER X
+00370 GREEK CAPITAL LETTER HETA
+00371 GREEK SMALL LETTER HETA
+00372 GREEK CAPITAL LETTER ARCHAIC SAMPI
+00373 GREEK SMALL LETTER ARCHAIC SAMPI
+00374 GREEK NUMERAL SIGN
+00375 GREEK LOWER NUMERAL SIGN
+00376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+00377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+0037A GREEK YPOGEGRAMMENI
+0037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+0037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+0037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0037E GREEK QUESTION MARK
+00384 GREEK TONOS
+00385 GREEK DIALYTIKA TONOS
+00386 GREEK CAPITAL LETTER ALPHA WITH TONOS
+00387 GREEK ANO TELEIA
+00388 GREEK CAPITAL LETTER EPSILON WITH TONOS
+00389 GREEK CAPITAL LETTER ETA WITH TONOS
+0038A GREEK CAPITAL LETTER IOTA WITH TONOS
+0038C GREEK CAPITAL LETTER OMICRON WITH TONOS
+0038E GREEK CAPITAL LETTER UPSILON WITH TONOS
+0038F GREEK CAPITAL LETTER OMEGA WITH TONOS
+00390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+00391 GREEK CAPITAL LETTER ALPHA
+00392 GREEK CAPITAL LETTER BETA
+00393 GREEK CAPITAL LETTER GAMMA
+00394 GREEK CAPITAL LETTER DELTA
+00395 GREEK CAPITAL LETTER EPSILON
+00396 GREEK CAPITAL LETTER ZETA
+00397 GREEK CAPITAL LETTER ETA
+00398 GREEK CAPITAL LETTER THETA
+00399 GREEK CAPITAL LETTER IOTA
+0039A GREEK CAPITAL LETTER KAPPA
+0039B GREEK CAPITAL LETTER LAMDA
+0039C GREEK CAPITAL LETTER MU
+0039D GREEK CAPITAL LETTER NU
+0039E GREEK CAPITAL LETTER XI
+0039F GREEK CAPITAL LETTER OMICRON
+003A0 GREEK CAPITAL LETTER PI
+003A1 GREEK CAPITAL LETTER RHO
+003A3 GREEK CAPITAL LETTER SIGMA
+003A4 GREEK CAPITAL LETTER TAU
+003A5 GREEK CAPITAL LETTER UPSILON
+003A6 GREEK CAPITAL LETTER PHI
+003A7 GREEK CAPITAL LETTER CHI
+003A8 GREEK CAPITAL LETTER PSI
+003A9 GREEK CAPITAL LETTER OMEGA
+003AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+003AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+003AC GREEK SMALL LETTER ALPHA WITH TONOS
+003AD GREEK SMALL LETTER EPSILON WITH TONOS
+003AE GREEK SMALL LETTER ETA WITH TONOS
+003AF GREEK SMALL LETTER IOTA WITH TONOS
+003B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+003B1 GREEK SMALL LETTER ALPHA
+003B2 GREEK SMALL LETTER BETA
+003B3 GREEK SMALL LETTER GAMMA
+003B4 GREEK SMALL LETTER DELTA
+003B5 GREEK SMALL LETTER EPSILON
+003B6 GREEK SMALL LETTER ZETA
+003B7 GREEK SMALL LETTER ETA
+003B8 GREEK SMALL LETTER THETA
+003B9 GREEK SMALL LETTER IOTA
+003BA GREEK SMALL LETTER KAPPA
+003BB GREEK SMALL LETTER LAMDA
+003BC GREEK SMALL LETTER MU
+003BD GREEK SMALL LETTER NU
+003BE GREEK SMALL LETTER XI
+003BF GREEK SMALL LETTER OMICRON
+003C0 GREEK SMALL LETTER PI
+003C1 GREEK SMALL LETTER RHO
+003C2 GREEK SMALL LETTER FINAL SIGMA
+003C3 GREEK SMALL LETTER SIGMA
+003C4 GREEK SMALL LETTER TAU
+003C5 GREEK SMALL LETTER UPSILON
+003C6 GREEK SMALL LETTER PHI
+003C7 GREEK SMALL LETTER CHI
+003C8 GREEK SMALL LETTER PSI
+003C9 GREEK SMALL LETTER OMEGA
+003CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
+003CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+003CC GREEK SMALL LETTER OMICRON WITH TONOS
+003CD GREEK SMALL LETTER UPSILON WITH TONOS
+003CE GREEK SMALL LETTER OMEGA WITH TONOS
+003CF GREEK CAPITAL KAI SYMBOL
+003D0 GREEK BETA SYMBOL
+003D1 GREEK THETA SYMBOL
+003D2 GREEK UPSILON WITH HOOK SYMBOL
+003D3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+003D4 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+003D5 GREEK PHI SYMBOL
+003D6 GREEK PI SYMBOL
+003D7 GREEK KAI SYMBOL
+003D8 GREEK LETTER ARCHAIC KOPPA
+003D9 GREEK SMALL LETTER ARCHAIC KOPPA
+003DA GREEK LETTER STIGMA
+003DB GREEK SMALL LETTER STIGMA
+003DC GREEK LETTER DIGAMMA
+003DD GREEK SMALL LETTER DIGAMMA
+003DE GREEK LETTER KOPPA
+003DF GREEK SMALL LETTER KOPPA
+003E0 GREEK LETTER SAMPI
+003E1 GREEK SMALL LETTER SAMPI
+003E2 COPTIC CAPITAL LETTER SHEI
+003E3 COPTIC SMALL LETTER SHEI
+003E4 COPTIC CAPITAL LETTER FEI
+003E5 COPTIC SMALL LETTER FEI
+003E6 COPTIC CAPITAL LETTER KHEI
+003E7 COPTIC SMALL LETTER KHEI
+003E8 COPTIC CAPITAL LETTER HORI
+003E9 COPTIC SMALL LETTER HORI
+003EA COPTIC CAPITAL LETTER GANGIA
+003EB COPTIC SMALL LETTER GANGIA
+003EC COPTIC CAPITAL LETTER SHIMA
+003ED COPTIC SMALL LETTER SHIMA
+003EE COPTIC CAPITAL LETTER DEI
+003EF COPTIC SMALL LETTER DEI
+003F0 GREEK KAPPA SYMBOL
+003F1 GREEK RHO SYMBOL
+003F2 GREEK LUNATE SIGMA SYMBOL
+003F3 GREEK LETTER YOT
+003F4 GREEK CAPITAL THETA SYMBOL
+003F5 GREEK LUNATE EPSILON SYMBOL
+003F6 GREEK REVERSED LUNATE EPSILON SYMBOL
+003F7 GREEK CAPITAL LETTER SHO
+003F8 GREEK SMALL LETTER SHO
+003F9 GREEK CAPITAL LUNATE SIGMA SYMBOL
+003FA GREEK CAPITAL LETTER SAN
+003FB GREEK SMALL LETTER SAN
+003FC GREEK RHO WITH STROKE SYMBOL
+003FD GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+003FE GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+003FF GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+00400 CYRILLIC CAPITAL LETTER IE WITH GRAVE
+00401 CYRILLIC CAPITAL LETTER IO
+00402 CYRILLIC CAPITAL LETTER DJE
+00403 CYRILLIC CAPITAL LETTER GJE
+00404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+00405 CYRILLIC CAPITAL LETTER DZE
+00406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+00407 CYRILLIC CAPITAL LETTER YI
+00408 CYRILLIC CAPITAL LETTER JE
+00409 CYRILLIC CAPITAL LETTER LJE
+0040A CYRILLIC CAPITAL LETTER NJE
+0040B CYRILLIC CAPITAL LETTER TSHE
+0040C CYRILLIC CAPITAL LETTER KJE
+0040D CYRILLIC CAPITAL LETTER I WITH GRAVE
+0040E CYRILLIC CAPITAL LETTER SHORT U
+0040F CYRILLIC CAPITAL LETTER DZHE
+00410 CYRILLIC CAPITAL LETTER A
+00411 CYRILLIC CAPITAL LETTER BE
+00412 CYRILLIC CAPITAL LETTER VE
+00413 CYRILLIC CAPITAL LETTER GHE
+00414 CYRILLIC CAPITAL LETTER DE
+00415 CYRILLIC CAPITAL LETTER IE
+00416 CYRILLIC CAPITAL LETTER ZHE
+00417 CYRILLIC CAPITAL LETTER ZE
+00418 CYRILLIC CAPITAL LETTER I
+00419 CYRILLIC CAPITAL LETTER SHORT I
+0041A CYRILLIC CAPITAL LETTER KA
+0041B CYRILLIC CAPITAL LETTER EL
+0041C CYRILLIC CAPITAL LETTER EM
+0041D CYRILLIC CAPITAL LETTER EN
+0041E CYRILLIC CAPITAL LETTER O
+0041F CYRILLIC CAPITAL LETTER PE
+00420 CYRILLIC CAPITAL LETTER ER
+00421 CYRILLIC CAPITAL LETTER ES
+00422 CYRILLIC CAPITAL LETTER TE
+00423 CYRILLIC CAPITAL LETTER U
+00424 CYRILLIC CAPITAL LETTER EF
+00425 CYRILLIC CAPITAL LETTER HA
+00426 CYRILLIC CAPITAL LETTER TSE
+00427 CYRILLIC CAPITAL LETTER CHE
+00428 CYRILLIC CAPITAL LETTER SHA
+00429 CYRILLIC CAPITAL LETTER SHCHA
+0042A CYRILLIC CAPITAL LETTER HARD SIGN
+0042B CYRILLIC CAPITAL LETTER YERU
+0042C CYRILLIC CAPITAL LETTER SOFT SIGN
+0042D CYRILLIC CAPITAL LETTER E
+0042E CYRILLIC CAPITAL LETTER YU
+0042F CYRILLIC CAPITAL LETTER YA
+00430 CYRILLIC SMALL LETTER A
+00431 CYRILLIC SMALL LETTER BE
+00432 CYRILLIC SMALL LETTER VE
+00433 CYRILLIC SMALL LETTER GHE
+00434 CYRILLIC SMALL LETTER DE
+00435 CYRILLIC SMALL LETTER IE
+00436 CYRILLIC SMALL LETTER ZHE
+00437 CYRILLIC SMALL LETTER ZE
+00438 CYRILLIC SMALL LETTER I
+00439 CYRILLIC SMALL LETTER SHORT I
+0043A CYRILLIC SMALL LETTER KA
+0043B CYRILLIC SMALL LETTER EL
+0043C CYRILLIC SMALL LETTER EM
+0043D CYRILLIC SMALL LETTER EN
+0043E CYRILLIC SMALL LETTER O
+0043F CYRILLIC SMALL LETTER PE
+00440 CYRILLIC SMALL LETTER ER
+00441 CYRILLIC SMALL LETTER ES
+00442 CYRILLIC SMALL LETTER TE
+00443 CYRILLIC SMALL LETTER U
+00444 CYRILLIC SMALL LETTER EF
+00445 CYRILLIC SMALL LETTER HA
+00446 CYRILLIC SMALL LETTER TSE
+00447 CYRILLIC SMALL LETTER CHE
+00448 CYRILLIC SMALL LETTER SHA
+00449 CYRILLIC SMALL LETTER SHCHA
+0044A CYRILLIC SMALL LETTER HARD SIGN
+0044B CYRILLIC SMALL LETTER YERU
+0044C CYRILLIC SMALL LETTER SOFT SIGN
+0044D CYRILLIC SMALL LETTER E
+0044E CYRILLIC SMALL LETTER YU
+0044F CYRILLIC SMALL LETTER YA
+00450 CYRILLIC SMALL LETTER IE WITH GRAVE
+00451 CYRILLIC SMALL LETTER IO
+00452 CYRILLIC SMALL LETTER DJE
+00453 CYRILLIC SMALL LETTER GJE
+00454 CYRILLIC SMALL LETTER UKRAINIAN IE
+00455 CYRILLIC SMALL LETTER DZE
+00456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+00457 CYRILLIC SMALL LETTER YI
+00458 CYRILLIC SMALL LETTER JE
+00459 CYRILLIC SMALL LETTER LJE
+0045A CYRILLIC SMALL LETTER NJE
+0045B CYRILLIC SMALL LETTER TSHE
+0045C CYRILLIC SMALL LETTER KJE
+0045D CYRILLIC SMALL LETTER I WITH GRAVE
+0045E CYRILLIC SMALL LETTER SHORT U
+0045F CYRILLIC SMALL LETTER DZHE
+00460 CYRILLIC CAPITAL LETTER OMEGA
+00461 CYRILLIC SMALL LETTER OMEGA
+00462 CYRILLIC CAPITAL LETTER YAT
+00463 CYRILLIC SMALL LETTER YAT
+00464 CYRILLIC CAPITAL LETTER IOTIFIED E
+00465 CYRILLIC SMALL LETTER IOTIFIED E
+00466 CYRILLIC CAPITAL LETTER LITTLE YUS
+00467 CYRILLIC SMALL LETTER LITTLE YUS
+00468 CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+00469 CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0046A CYRILLIC CAPITAL LETTER BIG YUS
+0046B CYRILLIC SMALL LETTER BIG YUS
+0046C CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+0046D CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+0046E CYRILLIC CAPITAL LETTER KSI
+0046F CYRILLIC SMALL LETTER KSI
+00470 CYRILLIC CAPITAL LETTER PSI
+00471 CYRILLIC SMALL LETTER PSI
+00472 CYRILLIC CAPITAL LETTER FITA
+00473 CYRILLIC SMALL LETTER FITA
+00474 CYRILLIC CAPITAL LETTER IZHITSA
+00475 CYRILLIC SMALL LETTER IZHITSA
+00476 CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+00477 CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+00478 CYRILLIC CAPITAL LETTER UK
+00479 CYRILLIC SMALL LETTER UK
+0047A CYRILLIC CAPITAL LETTER ROUND OMEGA
+0047B CYRILLIC SMALL LETTER ROUND OMEGA
+0047C CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+0047D CYRILLIC SMALL LETTER OMEGA WITH TITLO
+0047E CYRILLIC CAPITAL LETTER OT
+0047F CYRILLIC SMALL LETTER OT
+00480 CYRILLIC CAPITAL LETTER KOPPA
+00481 CYRILLIC SMALL LETTER KOPPA
+00482 CYRILLIC THOUSANDS SIGN
+00483 COMBINING CYRILLIC TITLO
+00484 COMBINING CYRILLIC PALATALIZATION
+00485 COMBINING CYRILLIC DASIA PNEUMATA
+00486 COMBINING CYRILLIC PSILI PNEUMATA
+00487 COMBINING CYRILLIC POKRYTIE
+00488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
+00489 COMBINING CYRILLIC MILLIONS SIGN
+0048A CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+0048B CYRILLIC SMALL LETTER SHORT I WITH TAIL
+0048C CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0048D CYRILLIC SMALL LETTER SEMISOFT SIGN
+0048E CYRILLIC CAPITAL LETTER ER WITH TICK
+0048F CYRILLIC SMALL LETTER ER WITH TICK
+00490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+00491 CYRILLIC SMALL LETTER GHE WITH UPTURN
+00492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
+00493 CYRILLIC SMALL LETTER GHE WITH STROKE
+00494 CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+00495 CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+00496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+00497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+00498 CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+00499 CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+0049B CYRILLIC SMALL LETTER KA WITH DESCENDER
+0049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+0049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+0049E CYRILLIC CAPITAL LETTER KA WITH STROKE
+0049F CYRILLIC SMALL LETTER KA WITH STROKE
+004A0 CYRILLIC CAPITAL LETTER BASHKIR KA
+004A1 CYRILLIC SMALL LETTER BASHKIR KA
+004A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+004A3 CYRILLIC SMALL LETTER EN WITH DESCENDER
+004A4 CYRILLIC CAPITAL LIGATURE EN GHE
+004A5 CYRILLIC SMALL LIGATURE EN GHE
+004A6 CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+004A7 CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+004A8 CYRILLIC CAPITAL LETTER ABKHASIAN HA
+004A9 CYRILLIC SMALL LETTER ABKHASIAN HA
+004AA CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+004AB CYRILLIC SMALL LETTER ES WITH DESCENDER
+004AC CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+004AD CYRILLIC SMALL LETTER TE WITH DESCENDER
+004AE CYRILLIC CAPITAL LETTER STRAIGHT U
+004AF CYRILLIC SMALL LETTER STRAIGHT U
+004B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+004B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+004B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+004B3 CYRILLIC SMALL LETTER HA WITH DESCENDER
+004B4 CYRILLIC CAPITAL LIGATURE TE TSE
+004B5 CYRILLIC SMALL LIGATURE TE TSE
+004B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+004B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
+004B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+004B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+004BA CYRILLIC CAPITAL LETTER SHHA
+004BB CYRILLIC SMALL LETTER SHHA
+004BC CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+004BD CYRILLIC SMALL LETTER ABKHASIAN CHE
+004BE CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+004BF CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+004C0 CYRILLIC LETTER PALOCHKA
+004C1 CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+004C2 CYRILLIC SMALL LETTER ZHE WITH BREVE
+004C3 CYRILLIC CAPITAL LETTER KA WITH HOOK
+004C4 CYRILLIC SMALL LETTER KA WITH HOOK
+004C5 CYRILLIC CAPITAL LETTER EL WITH TAIL
+004C6 CYRILLIC SMALL LETTER EL WITH TAIL
+004C7 CYRILLIC CAPITAL LETTER EN WITH HOOK
+004C8 CYRILLIC SMALL LETTER EN WITH HOOK
+004C9 CYRILLIC CAPITAL LETTER EN WITH TAIL
+004CA CYRILLIC SMALL LETTER EN WITH TAIL
+004CB CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+004CC CYRILLIC SMALL LETTER KHAKASSIAN CHE
+004CD CYRILLIC CAPITAL LETTER EM WITH TAIL
+004CE CYRILLIC SMALL LETTER EM WITH TAIL
+004CF CYRILLIC SMALL LETTER PALOCHKA
+004D0 CYRILLIC CAPITAL LETTER A WITH BREVE
+004D1 CYRILLIC SMALL LETTER A WITH BREVE
+004D2 CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+004D3 CYRILLIC SMALL LETTER A WITH DIAERESIS
+004D4 CYRILLIC CAPITAL LIGATURE A IE
+004D5 CYRILLIC SMALL LIGATURE A IE
+004D6 CYRILLIC CAPITAL LETTER IE WITH BREVE
+004D7 CYRILLIC SMALL LETTER IE WITH BREVE
+004D8 CYRILLIC CAPITAL LETTER SCHWA
+004D9 CYRILLIC SMALL LETTER SCHWA
+004DA CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+004DB CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+004DC CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+004DD CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+004DE CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+004DF CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+004E0 CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+004E1 CYRILLIC SMALL LETTER ABKHASIAN DZE
+004E2 CYRILLIC CAPITAL LETTER I WITH MACRON
+004E3 CYRILLIC SMALL LETTER I WITH MACRON
+004E4 CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+004E5 CYRILLIC SMALL LETTER I WITH DIAERESIS
+004E6 CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+004E7 CYRILLIC SMALL LETTER O WITH DIAERESIS
+004E8 CYRILLIC CAPITAL LETTER BARRED O
+004E9 CYRILLIC SMALL LETTER BARRED O
+004EA CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+004EB CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+004EC CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+004ED CYRILLIC SMALL LETTER E WITH DIAERESIS
+004EE CYRILLIC CAPITAL LETTER U WITH MACRON
+004EF CYRILLIC SMALL LETTER U WITH MACRON
+004F0 CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+004F1 CYRILLIC SMALL LETTER U WITH DIAERESIS
+004F2 CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+004F3 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+004F4 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+004F5 CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+004F6 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+004F7 CYRILLIC SMALL LETTER GHE WITH DESCENDER
+004F8 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+004F9 CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+004FA CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+004FB CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+004FC CYRILLIC CAPITAL LETTER HA WITH HOOK
+004FD CYRILLIC SMALL LETTER HA WITH HOOK
+004FE CYRILLIC CAPITAL LETTER HA WITH STROKE
+004FF CYRILLIC SMALL LETTER HA WITH STROKE
+00500 CYRILLIC CAPITAL LETTER KOMI DE
+00501 CYRILLIC SMALL LETTER KOMI DE
+00502 CYRILLIC CAPITAL LETTER KOMI DJE
+00503 CYRILLIC SMALL LETTER KOMI DJE
+00504 CYRILLIC CAPITAL LETTER KOMI ZJE
+00505 CYRILLIC SMALL LETTER KOMI ZJE
+00506 CYRILLIC CAPITAL LETTER KOMI DZJE
+00507 CYRILLIC SMALL LETTER KOMI DZJE
+00508 CYRILLIC CAPITAL LETTER KOMI LJE
+00509 CYRILLIC SMALL LETTER KOMI LJE
+0050A CYRILLIC CAPITAL LETTER KOMI NJE
+0050B CYRILLIC SMALL LETTER KOMI NJE
+0050C CYRILLIC CAPITAL LETTER KOMI SJE
+0050D CYRILLIC SMALL LETTER KOMI SJE
+0050E CYRILLIC CAPITAL LETTER KOMI TJE
+0050F CYRILLIC SMALL LETTER KOMI TJE
+00510 CYRILLIC CAPITAL LETTER REVERSED ZE
+00511 CYRILLIC SMALL LETTER REVERSED ZE
+00512 CYRILLIC CAPITAL LETTER EL WITH HOOK
+00513 CYRILLIC SMALL LETTER EL WITH HOOK
+00514 CYRILLIC CAPITAL LETTER LHA
+00515 CYRILLIC SMALL LETTER LHA
+00516 CYRILLIC CAPITAL LETTER RHA
+00517 CYRILLIC SMALL LETTER RHA
+00518 CYRILLIC CAPITAL LETTER YAE
+00519 CYRILLIC SMALL LETTER YAE
+0051A CYRILLIC CAPITAL LETTER QA
+0051B CYRILLIC SMALL LETTER QA
+0051C CYRILLIC CAPITAL LETTER WE
+0051D CYRILLIC SMALL LETTER WE
+0051E CYRILLIC CAPITAL LETTER ALEUT KA
+0051F CYRILLIC SMALL LETTER ALEUT KA
+00520 CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+00521 CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+00522 CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+00523 CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+00524 CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+00525 CYRILLIC SMALL LETTER PE WITH DESCENDER
+00526 CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+00527 CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+00531 ARMENIAN CAPITAL LETTER AYB
+00532 ARMENIAN CAPITAL LETTER BEN
+00533 ARMENIAN CAPITAL LETTER GIM
+00534 ARMENIAN CAPITAL LETTER DA
+00535 ARMENIAN CAPITAL LETTER ECH
+00536 ARMENIAN CAPITAL LETTER ZA
+00537 ARMENIAN CAPITAL LETTER EH
+00538 ARMENIAN CAPITAL LETTER ET
+00539 ARMENIAN CAPITAL LETTER TO
+0053A ARMENIAN CAPITAL LETTER ZHE
+0053B ARMENIAN CAPITAL LETTER INI
+0053C ARMENIAN CAPITAL LETTER LIWN
+0053D ARMENIAN CAPITAL LETTER XEH
+0053E ARMENIAN CAPITAL LETTER CA
+0053F ARMENIAN CAPITAL LETTER KEN
+00540 ARMENIAN CAPITAL LETTER HO
+00541 ARMENIAN CAPITAL LETTER JA
+00542 ARMENIAN CAPITAL LETTER GHAD
+00543 ARMENIAN CAPITAL LETTER CHEH
+00544 ARMENIAN CAPITAL LETTER MEN
+00545 ARMENIAN CAPITAL LETTER YI
+00546 ARMENIAN CAPITAL LETTER NOW
+00547 ARMENIAN CAPITAL LETTER SHA
+00548 ARMENIAN CAPITAL LETTER VO
+00549 ARMENIAN CAPITAL LETTER CHA
+0054A ARMENIAN CAPITAL LETTER PEH
+0054B ARMENIAN CAPITAL LETTER JHEH
+0054C ARMENIAN CAPITAL LETTER RA
+0054D ARMENIAN CAPITAL LETTER SEH
+0054E ARMENIAN CAPITAL LETTER VEW
+0054F ARMENIAN CAPITAL LETTER TIWN
+00550 ARMENIAN CAPITAL LETTER REH
+00551 ARMENIAN CAPITAL LETTER CO
+00552 ARMENIAN CAPITAL LETTER YIWN
+00553 ARMENIAN CAPITAL LETTER PIWR
+00554 ARMENIAN CAPITAL LETTER KEH
+00555 ARMENIAN CAPITAL LETTER OH
+00556 ARMENIAN CAPITAL LETTER FEH
+00559 ARMENIAN MODIFIER LETTER LEFT HALF RING
+0055A ARMENIAN APOSTROPHE
+0055B ARMENIAN EMPHASIS MARK
+0055C ARMENIAN EXCLAMATION MARK
+0055D ARMENIAN COMMA
+0055E ARMENIAN QUESTION MARK
+0055F ARMENIAN ABBREVIATION MARK
+00561 ARMENIAN SMALL LETTER AYB
+00562 ARMENIAN SMALL LETTER BEN
+00563 ARMENIAN SMALL LETTER GIM
+00564 ARMENIAN SMALL LETTER DA
+00565 ARMENIAN SMALL LETTER ECH
+00566 ARMENIAN SMALL LETTER ZA
+00567 ARMENIAN SMALL LETTER EH
+00568 ARMENIAN SMALL LETTER ET
+00569 ARMENIAN SMALL LETTER TO
+0056A ARMENIAN SMALL LETTER ZHE
+0056B ARMENIAN SMALL LETTER INI
+0056C ARMENIAN SMALL LETTER LIWN
+0056D ARMENIAN SMALL LETTER XEH
+0056E ARMENIAN SMALL LETTER CA
+0056F ARMENIAN SMALL LETTER KEN
+00570 ARMENIAN SMALL LETTER HO
+00571 ARMENIAN SMALL LETTER JA
+00572 ARMENIAN SMALL LETTER GHAD
+00573 ARMENIAN SMALL LETTER CHEH
+00574 ARMENIAN SMALL LETTER MEN
+00575 ARMENIAN SMALL LETTER YI
+00576 ARMENIAN SMALL LETTER NOW
+00577 ARMENIAN SMALL LETTER SHA
+00578 ARMENIAN SMALL LETTER VO
+00579 ARMENIAN SMALL LETTER CHA
+0057A ARMENIAN SMALL LETTER PEH
+0057B ARMENIAN SMALL LETTER JHEH
+0057C ARMENIAN SMALL LETTER RA
+0057D ARMENIAN SMALL LETTER SEH
+0057E ARMENIAN SMALL LETTER VEW
+0057F ARMENIAN SMALL LETTER TIWN
+00580 ARMENIAN SMALL LETTER REH
+00581 ARMENIAN SMALL LETTER CO
+00582 ARMENIAN SMALL LETTER YIWN
+00583 ARMENIAN SMALL LETTER PIWR
+00584 ARMENIAN SMALL LETTER KEH
+00585 ARMENIAN SMALL LETTER OH
+00586 ARMENIAN SMALL LETTER FEH
+00587 ARMENIAN SMALL LIGATURE ECH YIWN
+00589 ARMENIAN FULL STOP
+0058A ARMENIAN HYPHEN
+00591 HEBREW ACCENT ETNAHTA
+00592 HEBREW ACCENT SEGOL
+00593 HEBREW ACCENT SHALSHELET
+00594 HEBREW ACCENT ZAQEF QATAN
+00595 HEBREW ACCENT ZAQEF GADOL
+00596 HEBREW ACCENT TIPEHA
+00597 HEBREW ACCENT REVIA
+00598 HEBREW ACCENT ZARQA
+00599 HEBREW ACCENT PASHTA
+0059A HEBREW ACCENT YETIV
+0059B HEBREW ACCENT TEVIR
+0059C HEBREW ACCENT GERESH
+0059D HEBREW ACCENT GERESH MUQDAM
+0059E HEBREW ACCENT GERSHAYIM
+0059F HEBREW ACCENT QARNEY PARA
+005A0 HEBREW ACCENT TELISHA GEDOLA
+005A1 HEBREW ACCENT PAZER
+005A2 HEBREW ACCENT ATNAH HAFUKH
+005A3 HEBREW ACCENT MUNAH
+005A4 HEBREW ACCENT MAHAPAKH
+005A5 HEBREW ACCENT MERKHA
+005A6 HEBREW ACCENT MERKHA KEFULA
+005A7 HEBREW ACCENT DARGA
+005A8 HEBREW ACCENT QADMA
+005A9 HEBREW ACCENT TELISHA QETANA
+005AA HEBREW ACCENT YERAH BEN YOMO
+005AB HEBREW ACCENT OLE
+005AC HEBREW ACCENT ILUY
+005AD HEBREW ACCENT DEHI
+005AE HEBREW ACCENT ZINOR
+005AF HEBREW MARK MASORA CIRCLE
+005B0 HEBREW POINT SHEVA
+005B1 HEBREW POINT HATAF SEGOL
+005B2 HEBREW POINT HATAF PATAH
+005B3 HEBREW POINT HATAF QAMATS
+005B4 HEBREW POINT HIRIQ
+005B5 HEBREW POINT TSERE
+005B6 HEBREW POINT SEGOL
+005B7 HEBREW POINT PATAH
+005B8 HEBREW POINT QAMATS
+005B9 HEBREW POINT HOLAM
+005BA HEBREW POINT HOLAM HASER FOR VAV
+005BB HEBREW POINT QUBUTS
+005BC HEBREW POINT DAGESH OR MAPIQ
+005BD HEBREW POINT METEG
+005BE HEBREW PUNCTUATION MAQAF
+005BF HEBREW POINT RAFE
+005C0 HEBREW PUNCTUATION PASEQ
+005C1 HEBREW POINT SHIN DOT
+005C2 HEBREW POINT SIN DOT
+005C3 HEBREW PUNCTUATION SOF PASUQ
+005C4 HEBREW MARK UPPER DOT
+005C5 HEBREW MARK LOWER DOT
+005C6 HEBREW PUNCTUATION NUN HAFUKHA
+005C7 HEBREW POINT QAMATS QATAN
+005D0 HEBREW LETTER ALEF
+005D1 HEBREW LETTER BET
+005D2 HEBREW LETTER GIMEL
+005D3 HEBREW LETTER DALET
+005D4 HEBREW LETTER HE
+005D5 HEBREW LETTER VAV
+005D6 HEBREW LETTER ZAYIN
+005D7 HEBREW LETTER HET
+005D8 HEBREW LETTER TET
+005D9 HEBREW LETTER YOD
+005DA HEBREW LETTER FINAL KAF
+005DB HEBREW LETTER KAF
+005DC HEBREW LETTER LAMED
+005DD HEBREW LETTER FINAL MEM
+005DE HEBREW LETTER MEM
+005DF HEBREW LETTER FINAL NUN
+005E0 HEBREW LETTER NUN
+005E1 HEBREW LETTER SAMEKH
+005E2 HEBREW LETTER AYIN
+005E3 HEBREW LETTER FINAL PE
+005E4 HEBREW LETTER PE
+005E5 HEBREW LETTER FINAL TSADI
+005E6 HEBREW LETTER TSADI
+005E7 HEBREW LETTER QOF
+005E8 HEBREW LETTER RESH
+005E9 HEBREW LETTER SHIN
+005EA HEBREW LETTER TAV
+005F0 HEBREW LIGATURE YIDDISH DOUBLE VAV
+005F1 HEBREW LIGATURE YIDDISH VAV YOD
+005F2 HEBREW LIGATURE YIDDISH DOUBLE YOD
+005F3 HEBREW PUNCTUATION GERESH
+005F4 HEBREW PUNCTUATION GERSHAYIM
+00600 ARABIC NUMBER SIGN
+00601 ARABIC SIGN SANAH
+00602 ARABIC FOOTNOTE MARKER
+00603 ARABIC SIGN SAFHA
+00606 ARABIC-INDIC CUBE ROOT
+00607 ARABIC-INDIC FOURTH ROOT
+00608 ARABIC RAY
+00609 ARABIC-INDIC PER MILLE SIGN
+0060A ARABIC-INDIC PER TEN THOUSAND SIGN
+0060B AFGHANI SIGN
+0060C ARABIC COMMA
+0060D ARABIC DATE SEPARATOR
+0060E ARABIC POETIC VERSE SIGN
+0060F ARABIC SIGN MISRA
+00610 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
+00611 ARABIC SIGN ALAYHE ASSALLAM
+00612 ARABIC SIGN RAHMATULLAH ALAYHE
+00613 ARABIC SIGN RADI ALLAHOU ANHU
+00614 ARABIC SIGN TAKHALLUS
+00615 ARABIC SMALL HIGH TAH
+00616 ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
+00617 ARABIC SMALL HIGH ZAIN
+00618 ARABIC SMALL FATHA
+00619 ARABIC SMALL DAMMA
+0061A ARABIC SMALL KASRA
+0061B ARABIC SEMICOLON
+0061E ARABIC TRIPLE DOT PUNCTUATION MARK
+0061F ARABIC QUESTION MARK
+00620 ARABIC LETTER KASHMIRI YEH
+00621 ARABIC LETTER HAMZA
+00622 ARABIC LETTER ALEF WITH MADDA ABOVE
+00623 ARABIC LETTER ALEF WITH HAMZA ABOVE
+00624 ARABIC LETTER WAW WITH HAMZA ABOVE
+00625 ARABIC LETTER ALEF WITH HAMZA BELOW
+00626 ARABIC LETTER YEH WITH HAMZA ABOVE
+00627 ARABIC LETTER ALEF
+00628 ARABIC LETTER BEH
+00629 ARABIC LETTER TEH MARBUTA
+0062A ARABIC LETTER TEH
+0062B ARABIC LETTER THEH
+0062C ARABIC LETTER JEEM
+0062D ARABIC LETTER HAH
+0062E ARABIC LETTER KHAH
+0062F ARABIC LETTER DAL
+00630 ARABIC LETTER THAL
+00631 ARABIC LETTER REH
+00632 ARABIC LETTER ZAIN
+00633 ARABIC LETTER SEEN
+00634 ARABIC LETTER SHEEN
+00635 ARABIC LETTER SAD
+00636 ARABIC LETTER DAD
+00637 ARABIC LETTER TAH
+00638 ARABIC LETTER ZAH
+00639 ARABIC LETTER AIN
+0063A ARABIC LETTER GHAIN
+0063B ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
+0063C ARABIC LETTER KEHEH WITH THREE DOTS BELOW
+0063D ARABIC LETTER FARSI YEH WITH INVERTED V
+0063E ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
+0063F ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+00640 ARABIC TATWEEL
+00641 ARABIC LETTER FEH
+00642 ARABIC LETTER QAF
+00643 ARABIC LETTER KAF
+00644 ARABIC LETTER LAM
+00645 ARABIC LETTER MEEM
+00646 ARABIC LETTER NOON
+00647 ARABIC LETTER HEH
+00648 ARABIC LETTER WAW
+00649 ARABIC LETTER ALEF MAKSURA
+0064A ARABIC LETTER YEH
+0064B ARABIC FATHATAN
+0064C ARABIC DAMMATAN
+0064D ARABIC KASRATAN
+0064E ARABIC FATHA
+0064F ARABIC DAMMA
+00650 ARABIC KASRA
+00651 ARABIC SHADDA
+00652 ARABIC SUKUN
+00653 ARABIC MADDAH ABOVE
+00654 ARABIC HAMZA ABOVE
+00655 ARABIC HAMZA BELOW
+00656 ARABIC SUBSCRIPT ALEF
+00657 ARABIC INVERTED DAMMA
+00658 ARABIC MARK NOON GHUNNA
+00659 ARABIC ZWARAKAY
+0065A ARABIC VOWEL SIGN SMALL V ABOVE
+0065B ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+0065C ARABIC VOWEL SIGN DOT BELOW
+0065D ARABIC REVERSED DAMMA
+0065E ARABIC FATHA WITH TWO DOTS
+0065F ARABIC WAVY HAMZA BELOW
+00660 ARABIC-INDIC DIGIT ZERO
+00661 ARABIC-INDIC DIGIT ONE
+00662 ARABIC-INDIC DIGIT TWO
+00663 ARABIC-INDIC DIGIT THREE
+00664 ARABIC-INDIC DIGIT FOUR
+00665 ARABIC-INDIC DIGIT FIVE
+00666 ARABIC-INDIC DIGIT SIX
+00667 ARABIC-INDIC DIGIT SEVEN
+00668 ARABIC-INDIC DIGIT EIGHT
+00669 ARABIC-INDIC DIGIT NINE
+0066A ARABIC PERCENT SIGN
+0066B ARABIC DECIMAL SEPARATOR
+0066C ARABIC THOUSANDS SEPARATOR
+0066D ARABIC FIVE POINTED STAR
+0066E ARABIC LETTER DOTLESS BEH
+0066F ARABIC LETTER DOTLESS QAF
+00670 ARABIC LETTER SUPERSCRIPT ALEF
+00671 ARABIC LETTER ALEF WASLA
+00672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+00673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+00674 ARABIC LETTER HIGH HAMZA
+00675 ARABIC LETTER HIGH HAMZA ALEF
+00676 ARABIC LETTER HIGH HAMZA WAW
+00677 ARABIC LETTER U WITH HAMZA ABOVE
+00678 ARABIC LETTER HIGH HAMZA YEH
+00679 ARABIC LETTER TTEH
+0067A ARABIC LETTER TTEHEH
+0067B ARABIC LETTER BEEH
+0067C ARABIC LETTER TEH WITH RING
+0067D ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+0067E ARABIC LETTER PEH
+0067F ARABIC LETTER TEHEH
+00680 ARABIC LETTER BEHEH
+00681 ARABIC LETTER HAH WITH HAMZA ABOVE
+00682 ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+00683 ARABIC LETTER NYEH
+00684 ARABIC LETTER DYEH
+00685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
+00686 ARABIC LETTER TCHEH
+00687 ARABIC LETTER TCHEHEH
+00688 ARABIC LETTER DDAL
+00689 ARABIC LETTER DAL WITH RING
+0068A ARABIC LETTER DAL WITH DOT BELOW
+0068B ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+0068C ARABIC LETTER DAHAL
+0068D ARABIC LETTER DDAHAL
+0068E ARABIC LETTER DUL
+0068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+00690 ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+00691 ARABIC LETTER RREH
+00692 ARABIC LETTER REH WITH SMALL V
+00693 ARABIC LETTER REH WITH RING
+00694 ARABIC LETTER REH WITH DOT BELOW
+00695 ARABIC LETTER REH WITH SMALL V BELOW
+00696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+00697 ARABIC LETTER REH WITH TWO DOTS ABOVE
+00698 ARABIC LETTER JEH
+00699 ARABIC LETTER REH WITH FOUR DOTS ABOVE
+0069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+0069B ARABIC LETTER SEEN WITH THREE DOTS BELOW
+0069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+0069D ARABIC LETTER SAD WITH TWO DOTS BELOW
+0069E ARABIC LETTER SAD WITH THREE DOTS ABOVE
+0069F ARABIC LETTER TAH WITH THREE DOTS ABOVE
+006A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE
+006A1 ARABIC LETTER DOTLESS FEH
+006A2 ARABIC LETTER FEH WITH DOT MOVED BELOW
+006A3 ARABIC LETTER FEH WITH DOT BELOW
+006A4 ARABIC LETTER VEH
+006A5 ARABIC LETTER FEH WITH THREE DOTS BELOW
+006A6 ARABIC LETTER PEHEH
+006A7 ARABIC LETTER QAF WITH DOT ABOVE
+006A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE
+006A9 ARABIC LETTER KEHEH
+006AA ARABIC LETTER SWASH KAF
+006AB ARABIC LETTER KAF WITH RING
+006AC ARABIC LETTER KAF WITH DOT ABOVE
+006AD ARABIC LETTER NG
+006AE ARABIC LETTER KAF WITH THREE DOTS BELOW
+006AF ARABIC LETTER GAF
+006B0 ARABIC LETTER GAF WITH RING
+006B1 ARABIC LETTER NGOEH
+006B2 ARABIC LETTER GAF WITH TWO DOTS BELOW
+006B3 ARABIC LETTER GUEH
+006B4 ARABIC LETTER GAF WITH THREE DOTS ABOVE
+006B5 ARABIC LETTER LAM WITH SMALL V
+006B6 ARABIC LETTER LAM WITH DOT ABOVE
+006B7 ARABIC LETTER LAM WITH THREE DOTS ABOVE
+006B8 ARABIC LETTER LAM WITH THREE DOTS BELOW
+006B9 ARABIC LETTER NOON WITH DOT BELOW
+006BA ARABIC LETTER NOON GHUNNA
+006BB ARABIC LETTER RNOON
+006BC ARABIC LETTER NOON WITH RING
+006BD ARABIC LETTER NOON WITH THREE DOTS ABOVE
+006BE ARABIC LETTER HEH DOACHASHMEE
+006BF ARABIC LETTER TCHEH WITH DOT ABOVE
+006C0 ARABIC LETTER HEH WITH YEH ABOVE
+006C1 ARABIC LETTER HEH GOAL
+006C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+006C3 ARABIC LETTER TEH MARBUTA GOAL
+006C4 ARABIC LETTER WAW WITH RING
+006C5 ARABIC LETTER KIRGHIZ OE
+006C6 ARABIC LETTER OE
+006C7 ARABIC LETTER U
+006C8 ARABIC LETTER YU
+006C9 ARABIC LETTER KIRGHIZ YU
+006CA ARABIC LETTER WAW WITH TWO DOTS ABOVE
+006CB ARABIC LETTER VE
+006CC ARABIC LETTER FARSI YEH
+006CD ARABIC LETTER YEH WITH TAIL
+006CE ARABIC LETTER YEH WITH SMALL V
+006CF ARABIC LETTER WAW WITH DOT ABOVE
+006D0 ARABIC LETTER E
+006D1 ARABIC LETTER YEH WITH THREE DOTS BELOW
+006D2 ARABIC LETTER YEH BARREE
+006D3 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+006D4 ARABIC FULL STOP
+006D5 ARABIC LETTER AE
+006D6 ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
+006D7 ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
+006D8 ARABIC SMALL HIGH MEEM INITIAL FORM
+006D9 ARABIC SMALL HIGH LAM ALEF
+006DA ARABIC SMALL HIGH JEEM
+006DB ARABIC SMALL HIGH THREE DOTS
+006DC ARABIC SMALL HIGH SEEN
+006DD ARABIC END OF AYAH
+006DE ARABIC START OF RUB EL HIZB
+006DF ARABIC SMALL HIGH ROUNDED ZERO
+006E0 ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
+006E1 ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
+006E2 ARABIC SMALL HIGH MEEM ISOLATED FORM
+006E3 ARABIC SMALL LOW SEEN
+006E4 ARABIC SMALL HIGH MADDA
+006E5 ARABIC SMALL WAW
+006E6 ARABIC SMALL YEH
+006E7 ARABIC SMALL HIGH YEH
+006E8 ARABIC SMALL HIGH NOON
+006E9 ARABIC PLACE OF SAJDAH
+006EA ARABIC EMPTY CENTRE LOW STOP
+006EB ARABIC EMPTY CENTRE HIGH STOP
+006EC ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
+006ED ARABIC SMALL LOW MEEM
+006EE ARABIC LETTER DAL WITH INVERTED V
+006EF ARABIC LETTER REH WITH INVERTED V
+006F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+006F1 EXTENDED ARABIC-INDIC DIGIT ONE
+006F2 EXTENDED ARABIC-INDIC DIGIT TWO
+006F3 EXTENDED ARABIC-INDIC DIGIT THREE
+006F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+006F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+006F6 EXTENDED ARABIC-INDIC DIGIT SIX
+006F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+006F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+006F9 EXTENDED ARABIC-INDIC DIGIT NINE
+006FA ARABIC LETTER SHEEN WITH DOT BELOW
+006FB ARABIC LETTER DAD WITH DOT BELOW
+006FC ARABIC LETTER GHAIN WITH DOT BELOW
+006FD ARABIC SIGN SINDHI AMPERSAND
+006FE ARABIC SIGN SINDHI POSTPOSITION MEN
+006FF ARABIC LETTER HEH WITH INVERTED V
+00700 SYRIAC END OF PARAGRAPH
+00701 SYRIAC SUPRALINEAR FULL STOP
+00702 SYRIAC SUBLINEAR FULL STOP
+00703 SYRIAC SUPRALINEAR COLON
+00704 SYRIAC SUBLINEAR COLON
+00705 SYRIAC HORIZONTAL COLON
+00706 SYRIAC COLON SKEWED LEFT
+00707 SYRIAC COLON SKEWED RIGHT
+00708 SYRIAC SUPRALINEAR COLON SKEWED LEFT
+00709 SYRIAC SUBLINEAR COLON SKEWED RIGHT
+0070A SYRIAC CONTRACTION
+0070B SYRIAC HARKLEAN OBELUS
+0070C SYRIAC HARKLEAN METOBELUS
+0070D SYRIAC HARKLEAN ASTERISCUS
+0070F SYRIAC ABBREVIATION MARK
+00710 SYRIAC LETTER ALAPH
+00711 SYRIAC LETTER SUPERSCRIPT ALAPH
+00712 SYRIAC LETTER BETH
+00713 SYRIAC LETTER GAMAL
+00714 SYRIAC LETTER GAMAL GARSHUNI
+00715 SYRIAC LETTER DALATH
+00716 SYRIAC LETTER DOTLESS DALATH RISH
+00717 SYRIAC LETTER HE
+00718 SYRIAC LETTER WAW
+00719 SYRIAC LETTER ZAIN
+0071A SYRIAC LETTER HETH
+0071B SYRIAC LETTER TETH
+0071C SYRIAC LETTER TETH GARSHUNI
+0071D SYRIAC LETTER YUDH
+0071E SYRIAC LETTER YUDH HE
+0071F SYRIAC LETTER KAPH
+00720 SYRIAC LETTER LAMADH
+00721 SYRIAC LETTER MIM
+00722 SYRIAC LETTER NUN
+00723 SYRIAC LETTER SEMKATH
+00724 SYRIAC LETTER FINAL SEMKATH
+00725 SYRIAC LETTER E
+00726 SYRIAC LETTER PE
+00727 SYRIAC LETTER REVERSED PE
+00728 SYRIAC LETTER SADHE
+00729 SYRIAC LETTER QAPH
+0072A SYRIAC LETTER RISH
+0072B SYRIAC LETTER SHIN
+0072C SYRIAC LETTER TAW
+0072D SYRIAC LETTER PERSIAN BHETH
+0072E SYRIAC LETTER PERSIAN GHAMAL
+0072F SYRIAC LETTER PERSIAN DHALATH
+00730 SYRIAC PTHAHA ABOVE
+00731 SYRIAC PTHAHA BELOW
+00732 SYRIAC PTHAHA DOTTED
+00733 SYRIAC ZQAPHA ABOVE
+00734 SYRIAC ZQAPHA BELOW
+00735 SYRIAC ZQAPHA DOTTED
+00736 SYRIAC RBASA ABOVE
+00737 SYRIAC RBASA BELOW
+00738 SYRIAC DOTTED ZLAMA HORIZONTAL
+00739 SYRIAC DOTTED ZLAMA ANGULAR
+0073A SYRIAC HBASA ABOVE
+0073B SYRIAC HBASA BELOW
+0073C SYRIAC HBASA-ESASA DOTTED
+0073D SYRIAC ESASA ABOVE
+0073E SYRIAC ESASA BELOW
+0073F SYRIAC RWAHA
+00740 SYRIAC FEMININE DOT
+00741 SYRIAC QUSHSHAYA
+00742 SYRIAC RUKKAKHA
+00743 SYRIAC TWO VERTICAL DOTS ABOVE
+00744 SYRIAC TWO VERTICAL DOTS BELOW
+00745 SYRIAC THREE DOTS ABOVE
+00746 SYRIAC THREE DOTS BELOW
+00747 SYRIAC OBLIQUE LINE ABOVE
+00748 SYRIAC OBLIQUE LINE BELOW
+00749 SYRIAC MUSIC
+0074A SYRIAC BARREKH
+0074D SYRIAC LETTER SOGDIAN ZHAIN
+0074E SYRIAC LETTER SOGDIAN KHAPH
+0074F SYRIAC LETTER SOGDIAN FE
+00750 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+00751 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+00752 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+00753 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+00754 ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+00755 ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+00756 ARABIC LETTER BEH WITH SMALL V
+00757 ARABIC LETTER HAH WITH TWO DOTS ABOVE
+00758 ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+00759 ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+0075A ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+0075B ARABIC LETTER REH WITH STROKE
+0075C ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+0075D ARABIC LETTER AIN WITH TWO DOTS ABOVE
+0075E ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+0075F ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+00760 ARABIC LETTER FEH WITH TWO DOTS BELOW
+00761 ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+00762 ARABIC LETTER KEHEH WITH DOT ABOVE
+00763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+00764 ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+00765 ARABIC LETTER MEEM WITH DOT ABOVE
+00766 ARABIC LETTER MEEM WITH DOT BELOW
+00767 ARABIC LETTER NOON WITH TWO DOTS BELOW
+00768 ARABIC LETTER NOON WITH SMALL TAH
+00769 ARABIC LETTER NOON WITH SMALL V
+0076A ARABIC LETTER LAM WITH BAR
+0076B ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+0076C ARABIC LETTER REH WITH HAMZA ABOVE
+0076D ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+0076E ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
+0076F ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+00770 ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+00771 ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+00772 ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
+00773 ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+00774 ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+00775 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+00776 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+00777 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+00778 ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+00779 ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0077A ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0077B ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0077C ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+0077D ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
+0077E ARABIC LETTER SEEN WITH INVERTED V
+0077F ARABIC LETTER KAF WITH TWO DOTS ABOVE
+00780 THAANA LETTER HAA
+00781 THAANA LETTER SHAVIYANI
+00782 THAANA LETTER NOONU
+00783 THAANA LETTER RAA
+00784 THAANA LETTER BAA
+00785 THAANA LETTER LHAVIYANI
+00786 THAANA LETTER KAAFU
+00787 THAANA LETTER ALIFU
+00788 THAANA LETTER VAAVU
+00789 THAANA LETTER MEEMU
+0078A THAANA LETTER FAAFU
+0078B THAANA LETTER DHAALU
+0078C THAANA LETTER THAA
+0078D THAANA LETTER LAAMU
+0078E THAANA LETTER GAAFU
+0078F THAANA LETTER GNAVIYANI
+00790 THAANA LETTER SEENU
+00791 THAANA LETTER DAVIYANI
+00792 THAANA LETTER ZAVIYANI
+00793 THAANA LETTER TAVIYANI
+00794 THAANA LETTER YAA
+00795 THAANA LETTER PAVIYANI
+00796 THAANA LETTER JAVIYANI
+00797 THAANA LETTER CHAVIYANI
+00798 THAANA LETTER TTAA
+00799 THAANA LETTER HHAA
+0079A THAANA LETTER KHAA
+0079B THAANA LETTER THAALU
+0079C THAANA LETTER ZAA
+0079D THAANA LETTER SHEENU
+0079E THAANA LETTER SAADHU
+0079F THAANA LETTER DAADHU
+007A0 THAANA LETTER TO
+007A1 THAANA LETTER ZO
+007A2 THAANA LETTER AINU
+007A3 THAANA LETTER GHAINU
+007A4 THAANA LETTER QAAFU
+007A5 THAANA LETTER WAAVU
+007A6 THAANA ABAFILI
+007A7 THAANA AABAAFILI
+007A8 THAANA IBIFILI
+007A9 THAANA EEBEEFILI
+007AA THAANA UBUFILI
+007AB THAANA OOBOOFILI
+007AC THAANA EBEFILI
+007AD THAANA EYBEYFILI
+007AE THAANA OBOFILI
+007AF THAANA OABOAFILI
+007B0 THAANA SUKUN
+007B1 THAANA LETTER NAA
+007C0 NKO DIGIT ZERO
+007C1 NKO DIGIT ONE
+007C2 NKO DIGIT TWO
+007C3 NKO DIGIT THREE
+007C4 NKO DIGIT FOUR
+007C5 NKO DIGIT FIVE
+007C6 NKO DIGIT SIX
+007C7 NKO DIGIT SEVEN
+007C8 NKO DIGIT EIGHT
+007C9 NKO DIGIT NINE
+007CA NKO LETTER A
+007CB NKO LETTER EE
+007CC NKO LETTER I
+007CD NKO LETTER E
+007CE NKO LETTER U
+007CF NKO LETTER OO
+007D0 NKO LETTER O
+007D1 NKO LETTER DAGBASINNA
+007D2 NKO LETTER N
+007D3 NKO LETTER BA
+007D4 NKO LETTER PA
+007D5 NKO LETTER TA
+007D6 NKO LETTER JA
+007D7 NKO LETTER CHA
+007D8 NKO LETTER DA
+007D9 NKO LETTER RA
+007DA NKO LETTER RRA
+007DB NKO LETTER SA
+007DC NKO LETTER GBA
+007DD NKO LETTER FA
+007DE NKO LETTER KA
+007DF NKO LETTER LA
+007E0 NKO LETTER NA WOLOSO
+007E1 NKO LETTER MA
+007E2 NKO LETTER NYA
+007E3 NKO LETTER NA
+007E4 NKO LETTER HA
+007E5 NKO LETTER WA
+007E6 NKO LETTER YA
+007E7 NKO LETTER NYA WOLOSO
+007E8 NKO LETTER JONA JA
+007E9 NKO LETTER JONA CHA
+007EA NKO LETTER JONA RA
+007EB NKO COMBINING SHORT HIGH TONE
+007EC NKO COMBINING SHORT LOW TONE
+007ED NKO COMBINING SHORT RISING TONE
+007EE NKO COMBINING LONG DESCENDING TONE
+007EF NKO COMBINING LONG HIGH TONE
+007F0 NKO COMBINING LONG LOW TONE
+007F1 NKO COMBINING LONG RISING TONE
+007F2 NKO COMBINING NASALIZATION MARK
+007F3 NKO COMBINING DOUBLE DOT ABOVE
+007F4 NKO HIGH TONE APOSTROPHE
+007F5 NKO LOW TONE APOSTROPHE
+007F6 NKO SYMBOL OO DENNEN
+007F7 NKO SYMBOL GBAKURUNEN
+007F8 NKO COMMA
+007F9 NKO EXCLAMATION MARK
+007FA NKO LAJANYALAN
+00800 SAMARITAN LETTER ALAF
+00801 SAMARITAN LETTER BIT
+00802 SAMARITAN LETTER GAMAN
+00803 SAMARITAN LETTER DALAT
+00804 SAMARITAN LETTER IY
+00805 SAMARITAN LETTER BAA
+00806 SAMARITAN LETTER ZEN
+00807 SAMARITAN LETTER IT
+00808 SAMARITAN LETTER TIT
+00809 SAMARITAN LETTER YUT
+0080A SAMARITAN LETTER KAAF
+0080B SAMARITAN LETTER LABAT
+0080C SAMARITAN LETTER MIM
+0080D SAMARITAN LETTER NUN
+0080E SAMARITAN LETTER SINGAAT
+0080F SAMARITAN LETTER IN
+00810 SAMARITAN LETTER FI
+00811 SAMARITAN LETTER TSAADIY
+00812 SAMARITAN LETTER QUF
+00813 SAMARITAN LETTER RISH
+00814 SAMARITAN LETTER SHAN
+00815 SAMARITAN LETTER TAAF
+00816 SAMARITAN MARK IN
+00817 SAMARITAN MARK IN-ALAF
+00818 SAMARITAN MARK OCCLUSION
+00819 SAMARITAN MARK DAGESH
+0081A SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+0081B SAMARITAN MARK EPENTHETIC YUT
+0081C SAMARITAN VOWEL SIGN LONG E
+0081D SAMARITAN VOWEL SIGN E
+0081E SAMARITAN VOWEL SIGN OVERLONG AA
+0081F SAMARITAN VOWEL SIGN LONG AA
+00820 SAMARITAN VOWEL SIGN AA
+00821 SAMARITAN VOWEL SIGN OVERLONG A
+00822 SAMARITAN VOWEL SIGN LONG A
+00823 SAMARITAN VOWEL SIGN A
+00824 SAMARITAN MODIFIER LETTER SHORT A
+00825 SAMARITAN VOWEL SIGN SHORT A
+00826 SAMARITAN VOWEL SIGN LONG U
+00827 SAMARITAN VOWEL SIGN U
+00828 SAMARITAN MODIFIER LETTER I
+00829 SAMARITAN VOWEL SIGN LONG I
+0082A SAMARITAN VOWEL SIGN I
+0082B SAMARITAN VOWEL SIGN O
+0082C SAMARITAN VOWEL SIGN SUKUN
+0082D SAMARITAN MARK NEQUDAA
+00830 SAMARITAN PUNCTUATION NEQUDAA
+00831 SAMARITAN PUNCTUATION AFSAAQ
+00832 SAMARITAN PUNCTUATION ANGED
+00833 SAMARITAN PUNCTUATION BAU
+00834 SAMARITAN PUNCTUATION ATMAAU
+00835 SAMARITAN PUNCTUATION SHIYYAALAA
+00836 SAMARITAN ABBREVIATION MARK
+00837 SAMARITAN PUNCTUATION MELODIC QITSA
+00838 SAMARITAN PUNCTUATION ZIQAA
+00839 SAMARITAN PUNCTUATION QITSA
+0083A SAMARITAN PUNCTUATION ZAEF
+0083B SAMARITAN PUNCTUATION TURU
+0083C SAMARITAN PUNCTUATION ARKAANU
+0083D SAMARITAN PUNCTUATION SOF MASHFAAT
+0083E SAMARITAN PUNCTUATION ANNAAU
+00840 MANDAIC LETTER HALQA
+00841 MANDAIC LETTER AB
+00842 MANDAIC LETTER AG
+00843 MANDAIC LETTER AD
+00844 MANDAIC LETTER AH
+00845 MANDAIC LETTER USHENNA
+00846 MANDAIC LETTER AZ
+00847 MANDAIC LETTER IT
+00848 MANDAIC LETTER ATT
+00849 MANDAIC LETTER AKSA
+0084A MANDAIC LETTER AK
+0084B MANDAIC LETTER AL
+0084C MANDAIC LETTER AM
+0084D MANDAIC LETTER AN
+0084E MANDAIC LETTER AS
+0084F MANDAIC LETTER IN
+00850 MANDAIC LETTER AP
+00851 MANDAIC LETTER ASZ
+00852 MANDAIC LETTER AQ
+00853 MANDAIC LETTER AR
+00854 MANDAIC LETTER ASH
+00855 MANDAIC LETTER AT
+00856 MANDAIC LETTER DUSHENNA
+00857 MANDAIC LETTER KAD
+00858 MANDAIC LETTER AIN
+00859 MANDAIC AFFRICATION MARK
+0085A MANDAIC VOCALIZATION MARK
+0085B MANDAIC GEMINATION MARK
+0085E MANDAIC PUNCTUATION
+00900 DEVANAGARI SIGN INVERTED CANDRABINDU
+00901 DEVANAGARI SIGN CANDRABINDU
+00902 DEVANAGARI SIGN ANUSVARA
+00903 DEVANAGARI SIGN VISARGA
+00904 DEVANAGARI LETTER SHORT A
+00905 DEVANAGARI LETTER A
+00906 DEVANAGARI LETTER AA
+00907 DEVANAGARI LETTER I
+00908 DEVANAGARI LETTER II
+00909 DEVANAGARI LETTER U
+0090A DEVANAGARI LETTER UU
+0090B DEVANAGARI LETTER VOCALIC R
+0090C DEVANAGARI LETTER VOCALIC L
+0090D DEVANAGARI LETTER CANDRA E
+0090E DEVANAGARI LETTER SHORT E
+0090F DEVANAGARI LETTER E
+00910 DEVANAGARI LETTER AI
+00911 DEVANAGARI LETTER CANDRA O
+00912 DEVANAGARI LETTER SHORT O
+00913 DEVANAGARI LETTER O
+00914 DEVANAGARI LETTER AU
+00915 DEVANAGARI LETTER KA
+00916 DEVANAGARI LETTER KHA
+00917 DEVANAGARI LETTER GA
+00918 DEVANAGARI LETTER GHA
+00919 DEVANAGARI LETTER NGA
+0091A DEVANAGARI LETTER CA
+0091B DEVANAGARI LETTER CHA
+0091C DEVANAGARI LETTER JA
+0091D DEVANAGARI LETTER JHA
+0091E DEVANAGARI LETTER NYA
+0091F DEVANAGARI LETTER TTA
+00920 DEVANAGARI LETTER TTHA
+00921 DEVANAGARI LETTER DDA
+00922 DEVANAGARI LETTER DDHA
+00923 DEVANAGARI LETTER NNA
+00924 DEVANAGARI LETTER TA
+00925 DEVANAGARI LETTER THA
+00926 DEVANAGARI LETTER DA
+00927 DEVANAGARI LETTER DHA
+00928 DEVANAGARI LETTER NA
+00929 DEVANAGARI LETTER NNNA
+0092A DEVANAGARI LETTER PA
+0092B DEVANAGARI LETTER PHA
+0092C DEVANAGARI LETTER BA
+0092D DEVANAGARI LETTER BHA
+0092E DEVANAGARI LETTER MA
+0092F DEVANAGARI LETTER YA
+00930 DEVANAGARI LETTER RA
+00931 DEVANAGARI LETTER RRA
+00932 DEVANAGARI LETTER LA
+00933 DEVANAGARI LETTER LLA
+00934 DEVANAGARI LETTER LLLA
+00935 DEVANAGARI LETTER VA
+00936 DEVANAGARI LETTER SHA
+00937 DEVANAGARI LETTER SSA
+00938 DEVANAGARI LETTER SA
+00939 DEVANAGARI LETTER HA
+0093A DEVANAGARI VOWEL SIGN OE
+0093B DEVANAGARI VOWEL SIGN OOE
+0093C DEVANAGARI SIGN NUKTA
+0093D DEVANAGARI SIGN AVAGRAHA
+0093E DEVANAGARI VOWEL SIGN AA
+0093F DEVANAGARI VOWEL SIGN I
+00940 DEVANAGARI VOWEL SIGN II
+00941 DEVANAGARI VOWEL SIGN U
+00942 DEVANAGARI VOWEL SIGN UU
+00943 DEVANAGARI VOWEL SIGN VOCALIC R
+00944 DEVANAGARI VOWEL SIGN VOCALIC RR
+00945 DEVANAGARI VOWEL SIGN CANDRA E
+00946 DEVANAGARI VOWEL SIGN SHORT E
+00947 DEVANAGARI VOWEL SIGN E
+00948 DEVANAGARI VOWEL SIGN AI
+00949 DEVANAGARI VOWEL SIGN CANDRA O
+0094A DEVANAGARI VOWEL SIGN SHORT O
+0094B DEVANAGARI VOWEL SIGN O
+0094C DEVANAGARI VOWEL SIGN AU
+0094D DEVANAGARI SIGN VIRAMA
+0094E DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
+0094F DEVANAGARI VOWEL SIGN AW
+00950 DEVANAGARI OM
+00951 DEVANAGARI STRESS SIGN UDATTA
+00952 DEVANAGARI STRESS SIGN ANUDATTA
+00953 DEVANAGARI GRAVE ACCENT
+00954 DEVANAGARI ACUTE ACCENT
+00955 DEVANAGARI VOWEL SIGN CANDRA LONG E
+00956 DEVANAGARI VOWEL SIGN UE
+00957 DEVANAGARI VOWEL SIGN UUE
+00958 DEVANAGARI LETTER QA
+00959 DEVANAGARI LETTER KHHA
+0095A DEVANAGARI LETTER GHHA
+0095B DEVANAGARI LETTER ZA
+0095C DEVANAGARI LETTER DDDHA
+0095D DEVANAGARI LETTER RHA
+0095E DEVANAGARI LETTER FA
+0095F DEVANAGARI LETTER YYA
+00960 DEVANAGARI LETTER VOCALIC RR
+00961 DEVANAGARI LETTER VOCALIC LL
+00962 DEVANAGARI VOWEL SIGN VOCALIC L
+00963 DEVANAGARI VOWEL SIGN VOCALIC LL
+00964 DEVANAGARI DANDA
+00965 DEVANAGARI DOUBLE DANDA
+00966 DEVANAGARI DIGIT ZERO
+00967 DEVANAGARI DIGIT ONE
+00968 DEVANAGARI DIGIT TWO
+00969 DEVANAGARI DIGIT THREE
+0096A DEVANAGARI DIGIT FOUR
+0096B DEVANAGARI DIGIT FIVE
+0096C DEVANAGARI DIGIT SIX
+0096D DEVANAGARI DIGIT SEVEN
+0096E DEVANAGARI DIGIT EIGHT
+0096F DEVANAGARI DIGIT NINE
+00970 DEVANAGARI ABBREVIATION SIGN
+00971 DEVANAGARI SIGN HIGH SPACING DOT
+00972 DEVANAGARI LETTER CANDRA A
+00973 DEVANAGARI LETTER OE
+00974 DEVANAGARI LETTER OOE
+00975 DEVANAGARI LETTER AW
+00976 DEVANAGARI LETTER UE
+00977 DEVANAGARI LETTER UUE
+00979 DEVANAGARI LETTER ZHA
+0097A DEVANAGARI LETTER HEAVY YA
+0097B DEVANAGARI LETTER GGA
+0097C DEVANAGARI LETTER JJA
+0097D DEVANAGARI LETTER GLOTTAL STOP
+0097E DEVANAGARI LETTER DDDA
+0097F DEVANAGARI LETTER BBA
+00981 BENGALI SIGN CANDRABINDU
+00982 BENGALI SIGN ANUSVARA
+00983 BENGALI SIGN VISARGA
+00985 BENGALI LETTER A
+00986 BENGALI LETTER AA
+00987 BENGALI LETTER I
+00988 BENGALI LETTER II
+00989 BENGALI LETTER U
+0098A BENGALI LETTER UU
+0098B BENGALI LETTER VOCALIC R
+0098C BENGALI LETTER VOCALIC L
+0098F BENGALI LETTER E
+00990 BENGALI LETTER AI
+00993 BENGALI LETTER O
+00994 BENGALI LETTER AU
+00995 BENGALI LETTER KA
+00996 BENGALI LETTER KHA
+00997 BENGALI LETTER GA
+00998 BENGALI LETTER GHA
+00999 BENGALI LETTER NGA
+0099A BENGALI LETTER CA
+0099B BENGALI LETTER CHA
+0099C BENGALI LETTER JA
+0099D BENGALI LETTER JHA
+0099E BENGALI LETTER NYA
+0099F BENGALI LETTER TTA
+009A0 BENGALI LETTER TTHA
+009A1 BENGALI LETTER DDA
+009A2 BENGALI LETTER DDHA
+009A3 BENGALI LETTER NNA
+009A4 BENGALI LETTER TA
+009A5 BENGALI LETTER THA
+009A6 BENGALI LETTER DA
+009A7 BENGALI LETTER DHA
+009A8 BENGALI LETTER NA
+009AA BENGALI LETTER PA
+009AB BENGALI LETTER PHA
+009AC BENGALI LETTER BA
+009AD BENGALI LETTER BHA
+009AE BENGALI LETTER MA
+009AF BENGALI LETTER YA
+009B0 BENGALI LETTER RA
+009B2 BENGALI LETTER LA
+009B6 BENGALI LETTER SHA
+009B7 BENGALI LETTER SSA
+009B8 BENGALI LETTER SA
+009B9 BENGALI LETTER HA
+009BC BENGALI SIGN NUKTA
+009BD BENGALI SIGN AVAGRAHA
+009BE BENGALI VOWEL SIGN AA
+009BF BENGALI VOWEL SIGN I
+009C0 BENGALI VOWEL SIGN II
+009C1 BENGALI VOWEL SIGN U
+009C2 BENGALI VOWEL SIGN UU
+009C3 BENGALI VOWEL SIGN VOCALIC R
+009C4 BENGALI VOWEL SIGN VOCALIC RR
+009C7 BENGALI VOWEL SIGN E
+009C8 BENGALI VOWEL SIGN AI
+009CB BENGALI VOWEL SIGN O
+009CC BENGALI VOWEL SIGN AU
+009CD BENGALI SIGN VIRAMA
+009CE BENGALI LETTER KHANDA TA
+009D7 BENGALI AU LENGTH MARK
+009DC BENGALI LETTER RRA
+009DD BENGALI LETTER RHA
+009DF BENGALI LETTER YYA
+009E0 BENGALI LETTER VOCALIC RR
+009E1 BENGALI LETTER VOCALIC LL
+009E2 BENGALI VOWEL SIGN VOCALIC L
+009E3 BENGALI VOWEL SIGN VOCALIC LL
+009E6 BENGALI DIGIT ZERO
+009E7 BENGALI DIGIT ONE
+009E8 BENGALI DIGIT TWO
+009E9 BENGALI DIGIT THREE
+009EA BENGALI DIGIT FOUR
+009EB BENGALI DIGIT FIVE
+009EC BENGALI DIGIT SIX
+009ED BENGALI DIGIT SEVEN
+009EE BENGALI DIGIT EIGHT
+009EF BENGALI DIGIT NINE
+009F0 BENGALI LETTER RA WITH MIDDLE DIAGONAL
+009F1 BENGALI LETTER RA WITH LOWER DIAGONAL
+009F2 BENGALI RUPEE MARK
+009F3 BENGALI RUPEE SIGN
+009F4 BENGALI CURRENCY NUMERATOR ONE
+009F5 BENGALI CURRENCY NUMERATOR TWO
+009F6 BENGALI CURRENCY NUMERATOR THREE
+009F7 BENGALI CURRENCY NUMERATOR FOUR
+009F8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+009F9 BENGALI CURRENCY DENOMINATOR SIXTEEN
+009FA BENGALI ISSHAR
+009FB BENGALI GANDA MARK
+00A01 GURMUKHI SIGN ADAK BINDI
+00A02 GURMUKHI SIGN BINDI
+00A03 GURMUKHI SIGN VISARGA
+00A05 GURMUKHI LETTER A
+00A06 GURMUKHI LETTER AA
+00A07 GURMUKHI LETTER I
+00A08 GURMUKHI LETTER II
+00A09 GURMUKHI LETTER U
+00A0A GURMUKHI LETTER UU
+00A0F GURMUKHI LETTER EE
+00A10 GURMUKHI LETTER AI
+00A13 GURMUKHI LETTER OO
+00A14 GURMUKHI LETTER AU
+00A15 GURMUKHI LETTER KA
+00A16 GURMUKHI LETTER KHA
+00A17 GURMUKHI LETTER GA
+00A18 GURMUKHI LETTER GHA
+00A19 GURMUKHI LETTER NGA
+00A1A GURMUKHI LETTER CA
+00A1B GURMUKHI LETTER CHA
+00A1C GURMUKHI LETTER JA
+00A1D GURMUKHI LETTER JHA
+00A1E GURMUKHI LETTER NYA
+00A1F GURMUKHI LETTER TTA
+00A20 GURMUKHI LETTER TTHA
+00A21 GURMUKHI LETTER DDA
+00A22 GURMUKHI LETTER DDHA
+00A23 GURMUKHI LETTER NNA
+00A24 GURMUKHI LETTER TA
+00A25 GURMUKHI LETTER THA
+00A26 GURMUKHI LETTER DA
+00A27 GURMUKHI LETTER DHA
+00A28 GURMUKHI LETTER NA
+00A2A GURMUKHI LETTER PA
+00A2B GURMUKHI LETTER PHA
+00A2C GURMUKHI LETTER BA
+00A2D GURMUKHI LETTER BHA
+00A2E GURMUKHI LETTER MA
+00A2F GURMUKHI LETTER YA
+00A30 GURMUKHI LETTER RA
+00A32 GURMUKHI LETTER LA
+00A33 GURMUKHI LETTER LLA
+00A35 GURMUKHI LETTER VA
+00A36 GURMUKHI LETTER SHA
+00A38 GURMUKHI LETTER SA
+00A39 GURMUKHI LETTER HA
+00A3C GURMUKHI SIGN NUKTA
+00A3E GURMUKHI VOWEL SIGN AA
+00A3F GURMUKHI VOWEL SIGN I
+00A40 GURMUKHI VOWEL SIGN II
+00A41 GURMUKHI VOWEL SIGN U
+00A42 GURMUKHI VOWEL SIGN UU
+00A47 GURMUKHI VOWEL SIGN EE
+00A48 GURMUKHI VOWEL SIGN AI
+00A4B GURMUKHI VOWEL SIGN OO
+00A4C GURMUKHI VOWEL SIGN AU
+00A4D GURMUKHI SIGN VIRAMA
+00A51 GURMUKHI SIGN UDAAT
+00A59 GURMUKHI LETTER KHHA
+00A5A GURMUKHI LETTER GHHA
+00A5B GURMUKHI LETTER ZA
+00A5C GURMUKHI LETTER RRA
+00A5E GURMUKHI LETTER FA
+00A66 GURMUKHI DIGIT ZERO
+00A67 GURMUKHI DIGIT ONE
+00A68 GURMUKHI DIGIT TWO
+00A69 GURMUKHI DIGIT THREE
+00A6A GURMUKHI DIGIT FOUR
+00A6B GURMUKHI DIGIT FIVE
+00A6C GURMUKHI DIGIT SIX
+00A6D GURMUKHI DIGIT SEVEN
+00A6E GURMUKHI DIGIT EIGHT
+00A6F GURMUKHI DIGIT NINE
+00A70 GURMUKHI TIPPI
+00A71 GURMUKHI ADDAK
+00A72 GURMUKHI IRI
+00A73 GURMUKHI URA
+00A74 GURMUKHI EK ONKAR
+00A75 GURMUKHI SIGN YAKASH
+00A81 GUJARATI SIGN CANDRABINDU
+00A82 GUJARATI SIGN ANUSVARA
+00A83 GUJARATI SIGN VISARGA
+00A85 GUJARATI LETTER A
+00A86 GUJARATI LETTER AA
+00A87 GUJARATI LETTER I
+00A88 GUJARATI LETTER II
+00A89 GUJARATI LETTER U
+00A8A GUJARATI LETTER UU
+00A8B GUJARATI LETTER VOCALIC R
+00A8C GUJARATI LETTER VOCALIC L
+00A8D GUJARATI VOWEL CANDRA E
+00A8F GUJARATI LETTER E
+00A90 GUJARATI LETTER AI
+00A91 GUJARATI VOWEL CANDRA O
+00A93 GUJARATI LETTER O
+00A94 GUJARATI LETTER AU
+00A95 GUJARATI LETTER KA
+00A96 GUJARATI LETTER KHA
+00A97 GUJARATI LETTER GA
+00A98 GUJARATI LETTER GHA
+00A99 GUJARATI LETTER NGA
+00A9A GUJARATI LETTER CA
+00A9B GUJARATI LETTER CHA
+00A9C GUJARATI LETTER JA
+00A9D GUJARATI LETTER JHA
+00A9E GUJARATI LETTER NYA
+00A9F GUJARATI LETTER TTA
+00AA0 GUJARATI LETTER TTHA
+00AA1 GUJARATI LETTER DDA
+00AA2 GUJARATI LETTER DDHA
+00AA3 GUJARATI LETTER NNA
+00AA4 GUJARATI LETTER TA
+00AA5 GUJARATI LETTER THA
+00AA6 GUJARATI LETTER DA
+00AA7 GUJARATI LETTER DHA
+00AA8 GUJARATI LETTER NA
+00AAA GUJARATI LETTER PA
+00AAB GUJARATI LETTER PHA
+00AAC GUJARATI LETTER BA
+00AAD GUJARATI LETTER BHA
+00AAE GUJARATI LETTER MA
+00AAF GUJARATI LETTER YA
+00AB0 GUJARATI LETTER RA
+00AB2 GUJARATI LETTER LA
+00AB3 GUJARATI LETTER LLA
+00AB5 GUJARATI LETTER VA
+00AB6 GUJARATI LETTER SHA
+00AB7 GUJARATI LETTER SSA
+00AB8 GUJARATI LETTER SA
+00AB9 GUJARATI LETTER HA
+00ABC GUJARATI SIGN NUKTA
+00ABD GUJARATI SIGN AVAGRAHA
+00ABE GUJARATI VOWEL SIGN AA
+00ABF GUJARATI VOWEL SIGN I
+00AC0 GUJARATI VOWEL SIGN II
+00AC1 GUJARATI VOWEL SIGN U
+00AC2 GUJARATI VOWEL SIGN UU
+00AC3 GUJARATI VOWEL SIGN VOCALIC R
+00AC4 GUJARATI VOWEL SIGN VOCALIC RR
+00AC5 GUJARATI VOWEL SIGN CANDRA E
+00AC7 GUJARATI VOWEL SIGN E
+00AC8 GUJARATI VOWEL SIGN AI
+00AC9 GUJARATI VOWEL SIGN CANDRA O
+00ACB GUJARATI VOWEL SIGN O
+00ACC GUJARATI VOWEL SIGN AU
+00ACD GUJARATI SIGN VIRAMA
+00AD0 GUJARATI OM
+00AE0 GUJARATI LETTER VOCALIC RR
+00AE1 GUJARATI LETTER VOCALIC LL
+00AE2 GUJARATI VOWEL SIGN VOCALIC L
+00AE3 GUJARATI VOWEL SIGN VOCALIC LL
+00AE6 GUJARATI DIGIT ZERO
+00AE7 GUJARATI DIGIT ONE
+00AE8 GUJARATI DIGIT TWO
+00AE9 GUJARATI DIGIT THREE
+00AEA GUJARATI DIGIT FOUR
+00AEB GUJARATI DIGIT FIVE
+00AEC GUJARATI DIGIT SIX
+00AED GUJARATI DIGIT SEVEN
+00AEE GUJARATI DIGIT EIGHT
+00AEF GUJARATI DIGIT NINE
+00AF1 GUJARATI RUPEE SIGN
+00B01 ORIYA SIGN CANDRABINDU
+00B02 ORIYA SIGN ANUSVARA
+00B03 ORIYA SIGN VISARGA
+00B05 ORIYA LETTER A
+00B06 ORIYA LETTER AA
+00B07 ORIYA LETTER I
+00B08 ORIYA LETTER II
+00B09 ORIYA LETTER U
+00B0A ORIYA LETTER UU
+00B0B ORIYA LETTER VOCALIC R
+00B0C ORIYA LETTER VOCALIC L
+00B0F ORIYA LETTER E
+00B10 ORIYA LETTER AI
+00B13 ORIYA LETTER O
+00B14 ORIYA LETTER AU
+00B15 ORIYA LETTER KA
+00B16 ORIYA LETTER KHA
+00B17 ORIYA LETTER GA
+00B18 ORIYA LETTER GHA
+00B19 ORIYA LETTER NGA
+00B1A ORIYA LETTER CA
+00B1B ORIYA LETTER CHA
+00B1C ORIYA LETTER JA
+00B1D ORIYA LETTER JHA
+00B1E ORIYA LETTER NYA
+00B1F ORIYA LETTER TTA
+00B20 ORIYA LETTER TTHA
+00B21 ORIYA LETTER DDA
+00B22 ORIYA LETTER DDHA
+00B23 ORIYA LETTER NNA
+00B24 ORIYA LETTER TA
+00B25 ORIYA LETTER THA
+00B26 ORIYA LETTER DA
+00B27 ORIYA LETTER DHA
+00B28 ORIYA LETTER NA
+00B2A ORIYA LETTER PA
+00B2B ORIYA LETTER PHA
+00B2C ORIYA LETTER BA
+00B2D ORIYA LETTER BHA
+00B2E ORIYA LETTER MA
+00B2F ORIYA LETTER YA
+00B30 ORIYA LETTER RA
+00B32 ORIYA LETTER LA
+00B33 ORIYA LETTER LLA
+00B35 ORIYA LETTER VA
+00B36 ORIYA LETTER SHA
+00B37 ORIYA LETTER SSA
+00B38 ORIYA LETTER SA
+00B39 ORIYA LETTER HA
+00B3C ORIYA SIGN NUKTA
+00B3D ORIYA SIGN AVAGRAHA
+00B3E ORIYA VOWEL SIGN AA
+00B3F ORIYA VOWEL SIGN I
+00B40 ORIYA VOWEL SIGN II
+00B41 ORIYA VOWEL SIGN U
+00B42 ORIYA VOWEL SIGN UU
+00B43 ORIYA VOWEL SIGN VOCALIC R
+00B44 ORIYA VOWEL SIGN VOCALIC RR
+00B47 ORIYA VOWEL SIGN E
+00B48 ORIYA VOWEL SIGN AI
+00B4B ORIYA VOWEL SIGN O
+00B4C ORIYA VOWEL SIGN AU
+00B4D ORIYA SIGN VIRAMA
+00B56 ORIYA AI LENGTH MARK
+00B57 ORIYA AU LENGTH MARK
+00B5C ORIYA LETTER RRA
+00B5D ORIYA LETTER RHA
+00B5F ORIYA LETTER YYA
+00B60 ORIYA LETTER VOCALIC RR
+00B61 ORIYA LETTER VOCALIC LL
+00B62 ORIYA VOWEL SIGN VOCALIC L
+00B63 ORIYA VOWEL SIGN VOCALIC LL
+00B66 ORIYA DIGIT ZERO
+00B67 ORIYA DIGIT ONE
+00B68 ORIYA DIGIT TWO
+00B69 ORIYA DIGIT THREE
+00B6A ORIYA DIGIT FOUR
+00B6B ORIYA DIGIT FIVE
+00B6C ORIYA DIGIT SIX
+00B6D ORIYA DIGIT SEVEN
+00B6E ORIYA DIGIT EIGHT
+00B6F ORIYA DIGIT NINE
+00B70 ORIYA ISSHAR
+00B71 ORIYA LETTER WA
+00B72 ORIYA FRACTION ONE QUARTER
+00B73 ORIYA FRACTION ONE HALF
+00B74 ORIYA FRACTION THREE QUARTERS
+00B75 ORIYA FRACTION ONE SIXTEENTH
+00B76 ORIYA FRACTION ONE EIGHTH
+00B77 ORIYA FRACTION THREE SIXTEENTHS
+00B82 TAMIL SIGN ANUSVARA
+00B83 TAMIL SIGN VISARGA
+00B85 TAMIL LETTER A
+00B86 TAMIL LETTER AA
+00B87 TAMIL LETTER I
+00B88 TAMIL LETTER II
+00B89 TAMIL LETTER U
+00B8A TAMIL LETTER UU
+00B8E TAMIL LETTER E
+00B8F TAMIL LETTER EE
+00B90 TAMIL LETTER AI
+00B92 TAMIL LETTER O
+00B93 TAMIL LETTER OO
+00B94 TAMIL LETTER AU
+00B95 TAMIL LETTER KA
+00B99 TAMIL LETTER NGA
+00B9A TAMIL LETTER CA
+00B9C TAMIL LETTER JA
+00B9E TAMIL LETTER NYA
+00B9F TAMIL LETTER TTA
+00BA3 TAMIL LETTER NNA
+00BA4 TAMIL LETTER TA
+00BA8 TAMIL LETTER NA
+00BA9 TAMIL LETTER NNNA
+00BAA TAMIL LETTER PA
+00BAE TAMIL LETTER MA
+00BAF TAMIL LETTER YA
+00BB0 TAMIL LETTER RA
+00BB1 TAMIL LETTER RRA
+00BB2 TAMIL LETTER LA
+00BB3 TAMIL LETTER LLA
+00BB4 TAMIL LETTER LLLA
+00BB5 TAMIL LETTER VA
+00BB6 TAMIL LETTER SHA
+00BB7 TAMIL LETTER SSA
+00BB8 TAMIL LETTER SA
+00BB9 TAMIL LETTER HA
+00BBE TAMIL VOWEL SIGN AA
+00BBF TAMIL VOWEL SIGN I
+00BC0 TAMIL VOWEL SIGN II
+00BC1 TAMIL VOWEL SIGN U
+00BC2 TAMIL VOWEL SIGN UU
+00BC6 TAMIL VOWEL SIGN E
+00BC7 TAMIL VOWEL SIGN EE
+00BC8 TAMIL VOWEL SIGN AI
+00BCA TAMIL VOWEL SIGN O
+00BCB TAMIL VOWEL SIGN OO
+00BCC TAMIL VOWEL SIGN AU
+00BCD TAMIL SIGN VIRAMA
+00BD0 TAMIL OM
+00BD7 TAMIL AU LENGTH MARK
+00BE6 TAMIL DIGIT ZERO
+00BE7 TAMIL DIGIT ONE
+00BE8 TAMIL DIGIT TWO
+00BE9 TAMIL DIGIT THREE
+00BEA TAMIL DIGIT FOUR
+00BEB TAMIL DIGIT FIVE
+00BEC TAMIL DIGIT SIX
+00BED TAMIL DIGIT SEVEN
+00BEE TAMIL DIGIT EIGHT
+00BEF TAMIL DIGIT NINE
+00BF0 TAMIL NUMBER TEN
+00BF1 TAMIL NUMBER ONE HUNDRED
+00BF2 TAMIL NUMBER ONE THOUSAND
+00BF3 TAMIL DAY SIGN
+00BF4 TAMIL MONTH SIGN
+00BF5 TAMIL YEAR SIGN
+00BF6 TAMIL DEBIT SIGN
+00BF7 TAMIL CREDIT SIGN
+00BF8 TAMIL AS ABOVE SIGN
+00BF9 TAMIL RUPEE SIGN
+00BFA TAMIL NUMBER SIGN
+00C01 TELUGU SIGN CANDRABINDU
+00C02 TELUGU SIGN ANUSVARA
+00C03 TELUGU SIGN VISARGA
+00C05 TELUGU LETTER A
+00C06 TELUGU LETTER AA
+00C07 TELUGU LETTER I
+00C08 TELUGU LETTER II
+00C09 TELUGU LETTER U
+00C0A TELUGU LETTER UU
+00C0B TELUGU LETTER VOCALIC R
+00C0C TELUGU LETTER VOCALIC L
+00C0E TELUGU LETTER E
+00C0F TELUGU LETTER EE
+00C10 TELUGU LETTER AI
+00C12 TELUGU LETTER O
+00C13 TELUGU LETTER OO
+00C14 TELUGU LETTER AU
+00C15 TELUGU LETTER KA
+00C16 TELUGU LETTER KHA
+00C17 TELUGU LETTER GA
+00C18 TELUGU LETTER GHA
+00C19 TELUGU LETTER NGA
+00C1A TELUGU LETTER CA
+00C1B TELUGU LETTER CHA
+00C1C TELUGU LETTER JA
+00C1D TELUGU LETTER JHA
+00C1E TELUGU LETTER NYA
+00C1F TELUGU LETTER TTA
+00C20 TELUGU LETTER TTHA
+00C21 TELUGU LETTER DDA
+00C22 TELUGU LETTER DDHA
+00C23 TELUGU LETTER NNA
+00C24 TELUGU LETTER TA
+00C25 TELUGU LETTER THA
+00C26 TELUGU LETTER DA
+00C27 TELUGU LETTER DHA
+00C28 TELUGU LETTER NA
+00C2A TELUGU LETTER PA
+00C2B TELUGU LETTER PHA
+00C2C TELUGU LETTER BA
+00C2D TELUGU LETTER BHA
+00C2E TELUGU LETTER MA
+00C2F TELUGU LETTER YA
+00C30 TELUGU LETTER RA
+00C31 TELUGU LETTER RRA
+00C32 TELUGU LETTER LA
+00C33 TELUGU LETTER LLA
+00C35 TELUGU LETTER VA
+00C36 TELUGU LETTER SHA
+00C37 TELUGU LETTER SSA
+00C38 TELUGU LETTER SA
+00C39 TELUGU LETTER HA
+00C3D TELUGU SIGN AVAGRAHA
+00C3E TELUGU VOWEL SIGN AA
+00C3F TELUGU VOWEL SIGN I
+00C40 TELUGU VOWEL SIGN II
+00C41 TELUGU VOWEL SIGN U
+00C42 TELUGU VOWEL SIGN UU
+00C43 TELUGU VOWEL SIGN VOCALIC R
+00C44 TELUGU VOWEL SIGN VOCALIC RR
+00C46 TELUGU VOWEL SIGN E
+00C47 TELUGU VOWEL SIGN EE
+00C48 TELUGU VOWEL SIGN AI
+00C4A TELUGU VOWEL SIGN O
+00C4B TELUGU VOWEL SIGN OO
+00C4C TELUGU VOWEL SIGN AU
+00C4D TELUGU SIGN VIRAMA
+00C55 TELUGU LENGTH MARK
+00C56 TELUGU AI LENGTH MARK
+00C58 TELUGU LETTER TSA
+00C59 TELUGU LETTER DZA
+00C60 TELUGU LETTER VOCALIC RR
+00C61 TELUGU LETTER VOCALIC LL
+00C62 TELUGU VOWEL SIGN VOCALIC L
+00C63 TELUGU VOWEL SIGN VOCALIC LL
+00C66 TELUGU DIGIT ZERO
+00C67 TELUGU DIGIT ONE
+00C68 TELUGU DIGIT TWO
+00C69 TELUGU DIGIT THREE
+00C6A TELUGU DIGIT FOUR
+00C6B TELUGU DIGIT FIVE
+00C6C TELUGU DIGIT SIX
+00C6D TELUGU DIGIT SEVEN
+00C6E TELUGU DIGIT EIGHT
+00C6F TELUGU DIGIT NINE
+00C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
+00C79 TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
+00C7A TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
+00C7B TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
+00C7C TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
+00C7D TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
+00C7E TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+00C7F TELUGU SIGN TUUMU
+00C82 KANNADA SIGN ANUSVARA
+00C83 KANNADA SIGN VISARGA
+00C85 KANNADA LETTER A
+00C86 KANNADA LETTER AA
+00C87 KANNADA LETTER I
+00C88 KANNADA LETTER II
+00C89 KANNADA LETTER U
+00C8A KANNADA LETTER UU
+00C8B KANNADA LETTER VOCALIC R
+00C8C KANNADA LETTER VOCALIC L
+00C8E KANNADA LETTER E
+00C8F KANNADA LETTER EE
+00C90 KANNADA LETTER AI
+00C92 KANNADA LETTER O
+00C93 KANNADA LETTER OO
+00C94 KANNADA LETTER AU
+00C95 KANNADA LETTER KA
+00C96 KANNADA LETTER KHA
+00C97 KANNADA LETTER GA
+00C98 KANNADA LETTER GHA
+00C99 KANNADA LETTER NGA
+00C9A KANNADA LETTER CA
+00C9B KANNADA LETTER CHA
+00C9C KANNADA LETTER JA
+00C9D KANNADA LETTER JHA
+00C9E KANNADA LETTER NYA
+00C9F KANNADA LETTER TTA
+00CA0 KANNADA LETTER TTHA
+00CA1 KANNADA LETTER DDA
+00CA2 KANNADA LETTER DDHA
+00CA3 KANNADA LETTER NNA
+00CA4 KANNADA LETTER TA
+00CA5 KANNADA LETTER THA
+00CA6 KANNADA LETTER DA
+00CA7 KANNADA LETTER DHA
+00CA8 KANNADA LETTER NA
+00CAA KANNADA LETTER PA
+00CAB KANNADA LETTER PHA
+00CAC KANNADA LETTER BA
+00CAD KANNADA LETTER BHA
+00CAE KANNADA LETTER MA
+00CAF KANNADA LETTER YA
+00CB0 KANNADA LETTER RA
+00CB1 KANNADA LETTER RRA
+00CB2 KANNADA LETTER LA
+00CB3 KANNADA LETTER LLA
+00CB5 KANNADA LETTER VA
+00CB6 KANNADA LETTER SHA
+00CB7 KANNADA LETTER SSA
+00CB8 KANNADA LETTER SA
+00CB9 KANNADA LETTER HA
+00CBC KANNADA SIGN NUKTA
+00CBD KANNADA SIGN AVAGRAHA
+00CBE KANNADA VOWEL SIGN AA
+00CBF KANNADA VOWEL SIGN I
+00CC0 KANNADA VOWEL SIGN II
+00CC1 KANNADA VOWEL SIGN U
+00CC2 KANNADA VOWEL SIGN UU
+00CC3 KANNADA VOWEL SIGN VOCALIC R
+00CC4 KANNADA VOWEL SIGN VOCALIC RR
+00CC6 KANNADA VOWEL SIGN E
+00CC7 KANNADA VOWEL SIGN EE
+00CC8 KANNADA VOWEL SIGN AI
+00CCA KANNADA VOWEL SIGN O
+00CCB KANNADA VOWEL SIGN OO
+00CCC KANNADA VOWEL SIGN AU
+00CCD KANNADA SIGN VIRAMA
+00CD5 KANNADA LENGTH MARK
+00CD6 KANNADA AI LENGTH MARK
+00CDE KANNADA LETTER LLLA
+00CDE KANNADA LETTER FA
+00CE0 KANNADA LETTER VOCALIC RR
+00CE1 KANNADA LETTER VOCALIC LL
+00CE2 KANNADA VOWEL SIGN VOCALIC L
+00CE3 KANNADA VOWEL SIGN VOCALIC LL
+00CE6 KANNADA DIGIT ZERO
+00CE7 KANNADA DIGIT ONE
+00CE8 KANNADA DIGIT TWO
+00CE9 KANNADA DIGIT THREE
+00CEA KANNADA DIGIT FOUR
+00CEB KANNADA DIGIT FIVE
+00CEC KANNADA DIGIT SIX
+00CED KANNADA DIGIT SEVEN
+00CEE KANNADA DIGIT EIGHT
+00CEF KANNADA DIGIT NINE
+00CF1 KANNADA SIGN JIHVAMULIYA
+00CF2 KANNADA SIGN UPADHMANIYA
+00D02 MALAYALAM SIGN ANUSVARA
+00D03 MALAYALAM SIGN VISARGA
+00D05 MALAYALAM LETTER A
+00D06 MALAYALAM LETTER AA
+00D07 MALAYALAM LETTER I
+00D08 MALAYALAM LETTER II
+00D09 MALAYALAM LETTER U
+00D0A MALAYALAM LETTER UU
+00D0B MALAYALAM LETTER VOCALIC R
+00D0C MALAYALAM LETTER VOCALIC L
+00D0E MALAYALAM LETTER E
+00D0F MALAYALAM LETTER EE
+00D10 MALAYALAM LETTER AI
+00D12 MALAYALAM LETTER O
+00D13 MALAYALAM LETTER OO
+00D14 MALAYALAM LETTER AU
+00D15 MALAYALAM LETTER KA
+00D16 MALAYALAM LETTER KHA
+00D17 MALAYALAM LETTER GA
+00D18 MALAYALAM LETTER GHA
+00D19 MALAYALAM LETTER NGA
+00D1A MALAYALAM LETTER CA
+00D1B MALAYALAM LETTER CHA
+00D1C MALAYALAM LETTER JA
+00D1D MALAYALAM LETTER JHA
+00D1E MALAYALAM LETTER NYA
+00D1F MALAYALAM LETTER TTA
+00D20 MALAYALAM LETTER TTHA
+00D21 MALAYALAM LETTER DDA
+00D22 MALAYALAM LETTER DDHA
+00D23 MALAYALAM LETTER NNA
+00D24 MALAYALAM LETTER TA
+00D25 MALAYALAM LETTER THA
+00D26 MALAYALAM LETTER DA
+00D27 MALAYALAM LETTER DHA
+00D28 MALAYALAM LETTER NA
+00D29 MALAYALAM LETTER NNNA
+00D2A MALAYALAM LETTER PA
+00D2B MALAYALAM LETTER PHA
+00D2C MALAYALAM LETTER BA
+00D2D MALAYALAM LETTER BHA
+00D2E MALAYALAM LETTER MA
+00D2F MALAYALAM LETTER YA
+00D30 MALAYALAM LETTER RA
+00D31 MALAYALAM LETTER RRA
+00D32 MALAYALAM LETTER LA
+00D33 MALAYALAM LETTER LLA
+00D34 MALAYALAM LETTER LLLA
+00D35 MALAYALAM LETTER VA
+00D36 MALAYALAM LETTER SHA
+00D37 MALAYALAM LETTER SSA
+00D38 MALAYALAM LETTER SA
+00D39 MALAYALAM LETTER HA
+00D3A MALAYALAM LETTER TTTA
+00D3D MALAYALAM SIGN AVAGRAHA
+00D3E MALAYALAM VOWEL SIGN AA
+00D3F MALAYALAM VOWEL SIGN I
+00D40 MALAYALAM VOWEL SIGN II
+00D41 MALAYALAM VOWEL SIGN U
+00D42 MALAYALAM VOWEL SIGN UU
+00D43 MALAYALAM VOWEL SIGN VOCALIC R
+00D44 MALAYALAM VOWEL SIGN VOCALIC RR
+00D46 MALAYALAM VOWEL SIGN E
+00D47 MALAYALAM VOWEL SIGN EE
+00D48 MALAYALAM VOWEL SIGN AI
+00D4A MALAYALAM VOWEL SIGN O
+00D4B MALAYALAM VOWEL SIGN OO
+00D4C MALAYALAM VOWEL SIGN AU
+00D4D MALAYALAM SIGN VIRAMA
+00D4E MALAYALAM LETTER DOT REPH
+00D57 MALAYALAM AU LENGTH MARK
+00D60 MALAYALAM LETTER VOCALIC RR
+00D61 MALAYALAM LETTER VOCALIC LL
+00D62 MALAYALAM VOWEL SIGN VOCALIC L
+00D63 MALAYALAM VOWEL SIGN VOCALIC LL
+00D66 MALAYALAM DIGIT ZERO
+00D67 MALAYALAM DIGIT ONE
+00D68 MALAYALAM DIGIT TWO
+00D69 MALAYALAM DIGIT THREE
+00D6A MALAYALAM DIGIT FOUR
+00D6B MALAYALAM DIGIT FIVE
+00D6C MALAYALAM DIGIT SIX
+00D6D MALAYALAM DIGIT SEVEN
+00D6E MALAYALAM DIGIT EIGHT
+00D6F MALAYALAM DIGIT NINE
+00D70 MALAYALAM NUMBER TEN
+00D71 MALAYALAM NUMBER ONE HUNDRED
+00D72 MALAYALAM NUMBER ONE THOUSAND
+00D73 MALAYALAM FRACTION ONE QUARTER
+00D74 MALAYALAM FRACTION ONE HALF
+00D75 MALAYALAM FRACTION THREE QUARTERS
+00D79 MALAYALAM DATE MARK
+00D7A MALAYALAM LETTER CHILLU NN
+00D7B MALAYALAM LETTER CHILLU N
+00D7C MALAYALAM LETTER CHILLU RR
+00D7D MALAYALAM LETTER CHILLU L
+00D7E MALAYALAM LETTER CHILLU LL
+00D7F MALAYALAM LETTER CHILLU K
+00D82 SINHALA SIGN ANUSVARAYA
+00D83 SINHALA SIGN VISARGAYA
+00D85 SINHALA LETTER AYANNA
+00D86 SINHALA LETTER AAYANNA
+00D87 SINHALA LETTER AEYANNA
+00D88 SINHALA LETTER AEEYANNA
+00D89 SINHALA LETTER IYANNA
+00D8A SINHALA LETTER IIYANNA
+00D8B SINHALA LETTER UYANNA
+00D8C SINHALA LETTER UUYANNA
+00D8D SINHALA LETTER IRUYANNA
+00D8E SINHALA LETTER IRUUYANNA
+00D8F SINHALA LETTER ILUYANNA
+00D90 SINHALA LETTER ILUUYANNA
+00D91 SINHALA LETTER EYANNA
+00D92 SINHALA LETTER EEYANNA
+00D93 SINHALA LETTER AIYANNA
+00D94 SINHALA LETTER OYANNA
+00D95 SINHALA LETTER OOYANNA
+00D96 SINHALA LETTER AUYANNA
+00D9A SINHALA LETTER ALPAPRAANA KAYANNA
+00D9B SINHALA LETTER MAHAAPRAANA KAYANNA
+00D9C SINHALA LETTER ALPAPRAANA GAYANNA
+00D9D SINHALA LETTER MAHAAPRAANA GAYANNA
+00D9E SINHALA LETTER KANTAJA NAASIKYAYA
+00D9F SINHALA LETTER SANYAKA GAYANNA
+00DA0 SINHALA LETTER ALPAPRAANA CAYANNA
+00DA1 SINHALA LETTER MAHAAPRAANA CAYANNA
+00DA2 SINHALA LETTER ALPAPRAANA JAYANNA
+00DA3 SINHALA LETTER MAHAAPRAANA JAYANNA
+00DA4 SINHALA LETTER TAALUJA NAASIKYAYA
+00DA5 SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+00DA6 SINHALA LETTER SANYAKA JAYANNA
+00DA7 SINHALA LETTER ALPAPRAANA TTAYANNA
+00DA8 SINHALA LETTER MAHAAPRAANA TTAYANNA
+00DA9 SINHALA LETTER ALPAPRAANA DDAYANNA
+00DAA SINHALA LETTER MAHAAPRAANA DDAYANNA
+00DAB SINHALA LETTER MUURDHAJA NAYANNA
+00DAC SINHALA LETTER SANYAKA DDAYANNA
+00DAD SINHALA LETTER ALPAPRAANA TAYANNA
+00DAE SINHALA LETTER MAHAAPRAANA TAYANNA
+00DAF SINHALA LETTER ALPAPRAANA DAYANNA
+00DB0 SINHALA LETTER MAHAAPRAANA DAYANNA
+00DB1 SINHALA LETTER DANTAJA NAYANNA
+00DB3 SINHALA LETTER SANYAKA DAYANNA
+00DB4 SINHALA LETTER ALPAPRAANA PAYANNA
+00DB5 SINHALA LETTER MAHAAPRAANA PAYANNA
+00DB6 SINHALA LETTER ALPAPRAANA BAYANNA
+00DB7 SINHALA LETTER MAHAAPRAANA BAYANNA
+00DB8 SINHALA LETTER MAYANNA
+00DB9 SINHALA LETTER AMBA BAYANNA
+00DBA SINHALA LETTER YAYANNA
+00DBB SINHALA LETTER RAYANNA
+00DBD SINHALA LETTER DANTAJA LAYANNA
+00DC0 SINHALA LETTER VAYANNA
+00DC1 SINHALA LETTER TAALUJA SAYANNA
+00DC2 SINHALA LETTER MUURDHAJA SAYANNA
+00DC3 SINHALA LETTER DANTAJA SAYANNA
+00DC4 SINHALA LETTER HAYANNA
+00DC5 SINHALA LETTER MUURDHAJA LAYANNA
+00DC6 SINHALA LETTER FAYANNA
+00DCA SINHALA SIGN AL-LAKUNA
+00DCF SINHALA VOWEL SIGN AELA-PILLA
+00DD0 SINHALA VOWEL SIGN KETTI AEDA-PILLA
+00DD1 SINHALA VOWEL SIGN DIGA AEDA-PILLA
+00DD2 SINHALA VOWEL SIGN KETTI IS-PILLA
+00DD3 SINHALA VOWEL SIGN DIGA IS-PILLA
+00DD4 SINHALA VOWEL SIGN KETTI PAA-PILLA
+00DD6 SINHALA VOWEL SIGN DIGA PAA-PILLA
+00DD8 SINHALA VOWEL SIGN GAETTA-PILLA
+00DD9 SINHALA VOWEL SIGN KOMBUVA
+00DDA SINHALA VOWEL SIGN DIGA KOMBUVA
+00DDB SINHALA VOWEL SIGN KOMBU DEKA
+00DDC SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+00DDD SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+00DDE SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+00DDF SINHALA VOWEL SIGN GAYANUKITTA
+00DF2 SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+00DF3 SINHALA VOWEL SIGN DIGA GAYANUKITTA
+00DF4 SINHALA PUNCTUATION KUNDDALIYA
+00E01 THAI CHARACTER KO KAI
+00E02 THAI CHARACTER KHO KHAI
+00E03 THAI CHARACTER KHO KHUAT
+00E04 THAI CHARACTER KHO KHWAI
+00E05 THAI CHARACTER KHO KHON
+00E06 THAI CHARACTER KHO RAKHANG
+00E07 THAI CHARACTER NGO NGU
+00E08 THAI CHARACTER CHO CHAN
+00E09 THAI CHARACTER CHO CHING
+00E0A THAI CHARACTER CHO CHANG
+00E0B THAI CHARACTER SO SO
+00E0C THAI CHARACTER CHO CHOE
+00E0D THAI CHARACTER YO YING
+00E0E THAI CHARACTER DO CHADA
+00E0F THAI CHARACTER TO PATAK
+00E10 THAI CHARACTER THO THAN
+00E11 THAI CHARACTER THO NANGMONTHO
+00E12 THAI CHARACTER THO PHUTHAO
+00E13 THAI CHARACTER NO NEN
+00E14 THAI CHARACTER DO DEK
+00E15 THAI CHARACTER TO TAO
+00E16 THAI CHARACTER THO THUNG
+00E17 THAI CHARACTER THO THAHAN
+00E18 THAI CHARACTER THO THONG
+00E19 THAI CHARACTER NO NU
+00E1A THAI CHARACTER BO BAIMAI
+00E1B THAI CHARACTER PO PLA
+00E1C THAI CHARACTER PHO PHUNG
+00E1D THAI CHARACTER FO FA
+00E1E THAI CHARACTER PHO PHAN
+00E1F THAI CHARACTER FO FAN
+00E20 THAI CHARACTER PHO SAMPHAO
+00E21 THAI CHARACTER MO MA
+00E22 THAI CHARACTER YO YAK
+00E23 THAI CHARACTER RO RUA
+00E24 THAI CHARACTER RU
+00E25 THAI CHARACTER LO LING
+00E26 THAI CHARACTER LU
+00E27 THAI CHARACTER WO WAEN
+00E28 THAI CHARACTER SO SALA
+00E29 THAI CHARACTER SO RUSI
+00E2A THAI CHARACTER SO SUA
+00E2B THAI CHARACTER HO HIP
+00E2C THAI CHARACTER LO CHULA
+00E2D THAI CHARACTER O ANG
+00E2E THAI CHARACTER HO NOKHUK
+00E2F THAI CHARACTER PAIYANNOI
+00E30 THAI CHARACTER SARA A
+00E31 THAI CHARACTER MAI HAN-AKAT
+00E32 THAI CHARACTER SARA AA
+00E33 THAI CHARACTER SARA AM
+00E34 THAI CHARACTER SARA I
+00E35 THAI CHARACTER SARA II
+00E36 THAI CHARACTER SARA UE
+00E37 THAI CHARACTER SARA UEE
+00E38 THAI CHARACTER SARA U
+00E39 THAI CHARACTER SARA UU
+00E3A THAI CHARACTER PHINTHU
+00E3F THAI CURRENCY SYMBOL BAHT
+00E40 THAI CHARACTER SARA E
+00E41 THAI CHARACTER SARA AE
+00E42 THAI CHARACTER SARA O
+00E43 THAI CHARACTER SARA AI MAIMUAN
+00E44 THAI CHARACTER SARA AI MAIMALAI
+00E45 THAI CHARACTER LAKKHANGYAO
+00E46 THAI CHARACTER MAIYAMOK
+00E47 THAI CHARACTER MAITAIKHU
+00E48 THAI CHARACTER MAI EK
+00E49 THAI CHARACTER MAI THO
+00E4A THAI CHARACTER MAI TRI
+00E4B THAI CHARACTER MAI CHATTAWA
+00E4C THAI CHARACTER THANTHAKHAT
+00E4D THAI CHARACTER NIKHAHIT
+00E4E THAI CHARACTER YAMAKKAN
+00E4F THAI CHARACTER FONGMAN
+00E50 THAI DIGIT ZERO
+00E51 THAI DIGIT ONE
+00E52 THAI DIGIT TWO
+00E53 THAI DIGIT THREE
+00E54 THAI DIGIT FOUR
+00E55 THAI DIGIT FIVE
+00E56 THAI DIGIT SIX
+00E57 THAI DIGIT SEVEN
+00E58 THAI DIGIT EIGHT
+00E59 THAI DIGIT NINE
+00E5A THAI CHARACTER ANGKHANKHU
+00E5B THAI CHARACTER KHOMUT
+00E81 LAO LETTER KO
+00E82 LAO LETTER KHO SUNG
+00E84 LAO LETTER KHO TAM
+00E87 LAO LETTER NGO
+00E88 LAO LETTER CO
+00E8A LAO LETTER SO TAM
+00E8D LAO LETTER NYO
+00E94 LAO LETTER DO
+00E95 LAO LETTER TO
+00E96 LAO LETTER THO SUNG
+00E97 LAO LETTER THO TAM
+00E99 LAO LETTER NO
+00E9A LAO LETTER BO
+00E9B LAO LETTER PO
+00E9C LAO LETTER PHO SUNG
+00E9D LAO LETTER FO FON
+00E9D LAO LETTER FO TAM
+00E9E LAO LETTER PHO TAM
+00E9F LAO LETTER FO FAY
+00E9F LAO LETTER FO SUNG
+00EA1 LAO LETTER MO
+00EA2 LAO LETTER YO
+00EA3 LAO LETTER RO
+00EA3 LAO LETTER LO LING
+00EA5 LAO LETTER LO
+00EA5 LAO LETTER LO LOOT
+00EA7 LAO LETTER WO
+00EAA LAO LETTER SO SUNG
+00EAB LAO LETTER HO SUNG
+00EAD LAO LETTER O
+00EAE LAO LETTER HO TAM
+00EAF LAO ELLIPSIS
+00EB0 LAO VOWEL SIGN A
+00EB1 LAO VOWEL SIGN MAI KAN
+00EB2 LAO VOWEL SIGN AA
+00EB3 LAO VOWEL SIGN AM
+00EB4 LAO VOWEL SIGN I
+00EB5 LAO VOWEL SIGN II
+00EB6 LAO VOWEL SIGN Y
+00EB7 LAO VOWEL SIGN YY
+00EB8 LAO VOWEL SIGN U
+00EB9 LAO VOWEL SIGN UU
+00EBB LAO VOWEL SIGN MAI KON
+00EBC LAO SEMIVOWEL SIGN LO
+00EBD LAO SEMIVOWEL SIGN NYO
+00EC0 LAO VOWEL SIGN E
+00EC1 LAO VOWEL SIGN EI
+00EC2 LAO VOWEL SIGN O
+00EC3 LAO VOWEL SIGN AY
+00EC4 LAO VOWEL SIGN AI
+00EC6 LAO KO LA
+00EC8 LAO TONE MAI EK
+00EC9 LAO TONE MAI THO
+00ECA LAO TONE MAI TI
+00ECB LAO TONE MAI CATAWA
+00ECC LAO CANCELLATION MARK
+00ECD LAO NIGGAHITA
+00ED0 LAO DIGIT ZERO
+00ED1 LAO DIGIT ONE
+00ED2 LAO DIGIT TWO
+00ED3 LAO DIGIT THREE
+00ED4 LAO DIGIT FOUR
+00ED5 LAO DIGIT FIVE
+00ED6 LAO DIGIT SIX
+00ED7 LAO DIGIT SEVEN
+00ED8 LAO DIGIT EIGHT
+00ED9 LAO DIGIT NINE
+00EDC LAO HO NO
+00EDD LAO HO MO
+00F00 TIBETAN SYLLABLE OM
+00F01 TIBETAN MARK GTER YIG MGO TRUNCATED A
+00F02 TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+00F03 TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+00F04 TIBETAN MARK INITIAL YIG MGO MDUN MA
+00F05 TIBETAN MARK CLOSING YIG MGO SGAB MA
+00F06 TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+00F07 TIBETAN MARK YIG MGO TSHEG SHAD MA
+00F08 TIBETAN MARK SBRUL SHAD
+00F09 TIBETAN MARK BSKUR YIG MGO
+00F0A TIBETAN MARK BKA- SHOG YIG MGO
+00F0B TIBETAN MARK INTERSYLLABIC TSHEG
+00F0C TIBETAN MARK DELIMITER TSHEG BSTAR
+00F0D TIBETAN MARK SHAD
+00F0E TIBETAN MARK NYIS SHAD
+00F0F TIBETAN MARK TSHEG SHAD
+00F10 TIBETAN MARK NYIS TSHEG SHAD
+00F11 TIBETAN MARK RIN CHEN SPUNGS SHAD
+00F12 TIBETAN MARK RGYA GRAM SHAD
+00F13 TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+00F14 TIBETAN MARK GTER TSHEG
+00F15 TIBETAN LOGOTYPE SIGN CHAD RTAGS
+00F16 TIBETAN LOGOTYPE SIGN LHAG RTAGS
+00F17 TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+00F18 TIBETAN ASTROLOGICAL SIGN -KHYUD PA
+00F19 TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+00F1A TIBETAN SIGN RDEL DKAR GCIG
+00F1B TIBETAN SIGN RDEL DKAR GNYIS
+00F1C TIBETAN SIGN RDEL DKAR GSUM
+00F1D TIBETAN SIGN RDEL NAG GCIG
+00F1E TIBETAN SIGN RDEL NAG GNYIS
+00F1F TIBETAN SIGN RDEL DKAR RDEL NAG
+00F20 TIBETAN DIGIT ZERO
+00F21 TIBETAN DIGIT ONE
+00F22 TIBETAN DIGIT TWO
+00F23 TIBETAN DIGIT THREE
+00F24 TIBETAN DIGIT FOUR
+00F25 TIBETAN DIGIT FIVE
+00F26 TIBETAN DIGIT SIX
+00F27 TIBETAN DIGIT SEVEN
+00F28 TIBETAN DIGIT EIGHT
+00F29 TIBETAN DIGIT NINE
+00F2A TIBETAN DIGIT HALF ONE
+00F2B TIBETAN DIGIT HALF TWO
+00F2C TIBETAN DIGIT HALF THREE
+00F2D TIBETAN DIGIT HALF FOUR
+00F2E TIBETAN DIGIT HALF FIVE
+00F2F TIBETAN DIGIT HALF SIX
+00F30 TIBETAN DIGIT HALF SEVEN
+00F31 TIBETAN DIGIT HALF EIGHT
+00F32 TIBETAN DIGIT HALF NINE
+00F33 TIBETAN DIGIT HALF ZERO
+00F34 TIBETAN MARK BSDUS RTAGS
+00F35 TIBETAN MARK NGAS BZUNG NYI ZLA
+00F36 TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+00F37 TIBETAN MARK NGAS BZUNG SGOR RTAGS
+00F38 TIBETAN MARK CHE MGO
+00F39 TIBETAN MARK TSA -PHRU
+00F3A TIBETAN MARK GUG RTAGS GYON
+00F3B TIBETAN MARK GUG RTAGS GYAS
+00F3C TIBETAN MARK ANG KHANG GYON
+00F3D TIBETAN MARK ANG KHANG GYAS
+00F3E TIBETAN SIGN YAR TSHES
+00F3F TIBETAN SIGN MAR TSHES
+00F40 TIBETAN LETTER KA
+00F41 TIBETAN LETTER KHA
+00F42 TIBETAN LETTER GA
+00F43 TIBETAN LETTER GHA
+00F44 TIBETAN LETTER NGA
+00F45 TIBETAN LETTER CA
+00F46 TIBETAN LETTER CHA
+00F47 TIBETAN LETTER JA
+00F49 TIBETAN LETTER NYA
+00F4A TIBETAN LETTER TTA
+00F4B TIBETAN LETTER TTHA
+00F4C TIBETAN LETTER DDA
+00F4D TIBETAN LETTER DDHA
+00F4E TIBETAN LETTER NNA
+00F4F TIBETAN LETTER TA
+00F50 TIBETAN LETTER THA
+00F51 TIBETAN LETTER DA
+00F52 TIBETAN LETTER DHA
+00F53 TIBETAN LETTER NA
+00F54 TIBETAN LETTER PA
+00F55 TIBETAN LETTER PHA
+00F56 TIBETAN LETTER BA
+00F57 TIBETAN LETTER BHA
+00F58 TIBETAN LETTER MA
+00F59 TIBETAN LETTER TSA
+00F5A TIBETAN LETTER TSHA
+00F5B TIBETAN LETTER DZA
+00F5C TIBETAN LETTER DZHA
+00F5D TIBETAN LETTER WA
+00F5E TIBETAN LETTER ZHA
+00F5F TIBETAN LETTER ZA
+00F60 TIBETAN LETTER -A
+00F61 TIBETAN LETTER YA
+00F62 TIBETAN LETTER RA
+00F63 TIBETAN LETTER LA
+00F64 TIBETAN LETTER SHA
+00F65 TIBETAN LETTER SSA
+00F66 TIBETAN LETTER SA
+00F67 TIBETAN LETTER HA
+00F68 TIBETAN LETTER A
+00F69 TIBETAN LETTER KSSA
+00F6A TIBETAN LETTER FIXED-FORM RA
+00F6B TIBETAN LETTER KKA
+00F6C TIBETAN LETTER RRA
+00F71 TIBETAN VOWEL SIGN AA
+00F72 TIBETAN VOWEL SIGN I
+00F73 TIBETAN VOWEL SIGN II
+00F74 TIBETAN VOWEL SIGN U
+00F75 TIBETAN VOWEL SIGN UU
+00F76 TIBETAN VOWEL SIGN VOCALIC R
+00F77 TIBETAN VOWEL SIGN VOCALIC RR
+00F78 TIBETAN VOWEL SIGN VOCALIC L
+00F79 TIBETAN VOWEL SIGN VOCALIC LL
+00F7A TIBETAN VOWEL SIGN E
+00F7B TIBETAN VOWEL SIGN EE
+00F7C TIBETAN VOWEL SIGN O
+00F7D TIBETAN VOWEL SIGN OO
+00F7E TIBETAN SIGN RJES SU NGA RO
+00F7F TIBETAN SIGN RNAM BCAD
+00F80 TIBETAN VOWEL SIGN REVERSED I
+00F81 TIBETAN VOWEL SIGN REVERSED II
+00F82 TIBETAN SIGN NYI ZLA NAA DA
+00F83 TIBETAN SIGN SNA LDAN
+00F84 TIBETAN MARK HALANTA
+00F85 TIBETAN MARK PALUTA
+00F86 TIBETAN SIGN LCI RTAGS
+00F87 TIBETAN SIGN YANG RTAGS
+00F88 TIBETAN SIGN LCE TSA CAN
+00F89 TIBETAN SIGN MCHU CAN
+00F8A TIBETAN SIGN GRU CAN RGYINGS
+00F8B TIBETAN SIGN GRU MED RGYINGS
+00F8C TIBETAN SIGN INVERTED MCHU CAN
+00F8D TIBETAN SUBJOINED SIGN LCE TSA CAN
+00F8E TIBETAN SUBJOINED SIGN MCHU CAN
+00F8F TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+00F90 TIBETAN SUBJOINED LETTER KA
+00F91 TIBETAN SUBJOINED LETTER KHA
+00F92 TIBETAN SUBJOINED LETTER GA
+00F93 TIBETAN SUBJOINED LETTER GHA
+00F94 TIBETAN SUBJOINED LETTER NGA
+00F95 TIBETAN SUBJOINED LETTER CA
+00F96 TIBETAN SUBJOINED LETTER CHA
+00F97 TIBETAN SUBJOINED LETTER JA
+00F99 TIBETAN SUBJOINED LETTER NYA
+00F9A TIBETAN SUBJOINED LETTER TTA
+00F9B TIBETAN SUBJOINED LETTER TTHA
+00F9C TIBETAN SUBJOINED LETTER DDA
+00F9D TIBETAN SUBJOINED LETTER DDHA
+00F9E TIBETAN SUBJOINED LETTER NNA
+00F9F TIBETAN SUBJOINED LETTER TA
+00FA0 TIBETAN SUBJOINED LETTER THA
+00FA1 TIBETAN SUBJOINED LETTER DA
+00FA2 TIBETAN SUBJOINED LETTER DHA
+00FA3 TIBETAN SUBJOINED LETTER NA
+00FA4 TIBETAN SUBJOINED LETTER PA
+00FA5 TIBETAN SUBJOINED LETTER PHA
+00FA6 TIBETAN SUBJOINED LETTER BA
+00FA7 TIBETAN SUBJOINED LETTER BHA
+00FA8 TIBETAN SUBJOINED LETTER MA
+00FA9 TIBETAN SUBJOINED LETTER TSA
+00FAA TIBETAN SUBJOINED LETTER TSHA
+00FAB TIBETAN SUBJOINED LETTER DZA
+00FAC TIBETAN SUBJOINED LETTER DZHA
+00FAD TIBETAN SUBJOINED LETTER WA
+00FAE TIBETAN SUBJOINED LETTER ZHA
+00FAF TIBETAN SUBJOINED LETTER ZA
+00FB0 TIBETAN SUBJOINED LETTER -A
+00FB1 TIBETAN SUBJOINED LETTER YA
+00FB2 TIBETAN SUBJOINED LETTER RA
+00FB3 TIBETAN SUBJOINED LETTER LA
+00FB4 TIBETAN SUBJOINED LETTER SHA
+00FB5 TIBETAN SUBJOINED LETTER SSA
+00FB6 TIBETAN SUBJOINED LETTER SA
+00FB7 TIBETAN SUBJOINED LETTER HA
+00FB8 TIBETAN SUBJOINED LETTER A
+00FB9 TIBETAN SUBJOINED LETTER KSSA
+00FBA TIBETAN SUBJOINED LETTER FIXED-FORM WA
+00FBB TIBETAN SUBJOINED LETTER FIXED-FORM YA
+00FBC TIBETAN SUBJOINED LETTER FIXED-FORM RA
+00FBE TIBETAN KU RU KHA
+00FBF TIBETAN KU RU KHA BZHI MIG CAN
+00FC0 TIBETAN CANTILLATION SIGN HEAVY BEAT
+00FC1 TIBETAN CANTILLATION SIGN LIGHT BEAT
+00FC2 TIBETAN CANTILLATION SIGN CANG TE-U
+00FC3 TIBETAN CANTILLATION SIGN SBUB -CHAL
+00FC4 TIBETAN SYMBOL DRIL BU
+00FC5 TIBETAN SYMBOL RDO RJE
+00FC6 TIBETAN SYMBOL PADMA GDAN
+00FC7 TIBETAN SYMBOL RDO RJE RGYA GRAM
+00FC8 TIBETAN SYMBOL PHUR PA
+00FC9 TIBETAN SYMBOL NOR BU
+00FCA TIBETAN SYMBOL NOR BU NYIS -KHYIL
+00FCB TIBETAN SYMBOL NOR BU GSUM -KHYIL
+00FCC TIBETAN SYMBOL NOR BU BZHI -KHYIL
+00FCE TIBETAN SIGN RDEL NAG RDEL DKAR
+00FCF TIBETAN SIGN RDEL NAG GSUM
+00FD0 TIBETAN MARK BKA- SHOG GI MGO RGYAN
+00FD0 TIBETAN MARK BSKA- SHOG GI MGO RGYAN
+00FD1 TIBETAN MARK MNYAM YIG GI MGO RGYAN
+00FD2 TIBETAN MARK NYIS TSHEG
+00FD3 TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+00FD4 TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+00FD5 RIGHT-FACING SVASTI SIGN
+00FD6 LEFT-FACING SVASTI SIGN
+00FD7 RIGHT-FACING SVASTI SIGN WITH DOTS
+00FD8 LEFT-FACING SVASTI SIGN WITH DOTS
+00FD9 TIBETAN MARK LEADING MCHAN RTAGS
+00FDA TIBETAN MARK TRAILING MCHAN RTAGS
+01000 MYANMAR LETTER KA
+01001 MYANMAR LETTER KHA
+01002 MYANMAR LETTER GA
+01003 MYANMAR LETTER GHA
+01004 MYANMAR LETTER NGA
+01005 MYANMAR LETTER CA
+01006 MYANMAR LETTER CHA
+01007 MYANMAR LETTER JA
+01008 MYANMAR LETTER JHA
+01009 MYANMAR LETTER NYA
+0100A MYANMAR LETTER NNYA
+0100B MYANMAR LETTER TTA
+0100C MYANMAR LETTER TTHA
+0100D MYANMAR LETTER DDA
+0100E MYANMAR LETTER DDHA
+0100F MYANMAR LETTER NNA
+01010 MYANMAR LETTER TA
+01011 MYANMAR LETTER THA
+01012 MYANMAR LETTER DA
+01013 MYANMAR LETTER DHA
+01014 MYANMAR LETTER NA
+01015 MYANMAR LETTER PA
+01016 MYANMAR LETTER PHA
+01017 MYANMAR LETTER BA
+01018 MYANMAR LETTER BHA
+01019 MYANMAR LETTER MA
+0101A MYANMAR LETTER YA
+0101B MYANMAR LETTER RA
+0101C MYANMAR LETTER LA
+0101D MYANMAR LETTER WA
+0101E MYANMAR LETTER SA
+0101F MYANMAR LETTER HA
+01020 MYANMAR LETTER LLA
+01021 MYANMAR LETTER A
+01022 MYANMAR LETTER SHAN A
+01023 MYANMAR LETTER I
+01024 MYANMAR LETTER II
+01025 MYANMAR LETTER U
+01026 MYANMAR LETTER UU
+01027 MYANMAR LETTER E
+01028 MYANMAR LETTER MON E
+01029 MYANMAR LETTER O
+0102A MYANMAR LETTER AU
+0102B MYANMAR VOWEL SIGN TALL AA
+0102C MYANMAR VOWEL SIGN AA
+0102D MYANMAR VOWEL SIGN I
+0102E MYANMAR VOWEL SIGN II
+0102F MYANMAR VOWEL SIGN U
+01030 MYANMAR VOWEL SIGN UU
+01031 MYANMAR VOWEL SIGN E
+01032 MYANMAR VOWEL SIGN AI
+01033 MYANMAR VOWEL SIGN MON II
+01034 MYANMAR VOWEL SIGN MON O
+01035 MYANMAR VOWEL SIGN E ABOVE
+01036 MYANMAR SIGN ANUSVARA
+01037 MYANMAR SIGN DOT BELOW
+01038 MYANMAR SIGN VISARGA
+01039 MYANMAR SIGN VIRAMA
+0103A MYANMAR SIGN ASAT
+0103B MYANMAR CONSONANT SIGN MEDIAL YA
+0103C MYANMAR CONSONANT SIGN MEDIAL RA
+0103D MYANMAR CONSONANT SIGN MEDIAL WA
+0103E MYANMAR CONSONANT SIGN MEDIAL HA
+0103F MYANMAR LETTER GREAT SA
+01040 MYANMAR DIGIT ZERO
+01041 MYANMAR DIGIT ONE
+01042 MYANMAR DIGIT TWO
+01043 MYANMAR DIGIT THREE
+01044 MYANMAR DIGIT FOUR
+01045 MYANMAR DIGIT FIVE
+01046 MYANMAR DIGIT SIX
+01047 MYANMAR DIGIT SEVEN
+01048 MYANMAR DIGIT EIGHT
+01049 MYANMAR DIGIT NINE
+0104A MYANMAR SIGN LITTLE SECTION
+0104B MYANMAR SIGN SECTION
+0104C MYANMAR SYMBOL LOCATIVE
+0104D MYANMAR SYMBOL COMPLETED
+0104E MYANMAR SYMBOL AFOREMENTIONED
+0104F MYANMAR SYMBOL GENITIVE
+01050 MYANMAR LETTER SHA
+01051 MYANMAR LETTER SSA
+01052 MYANMAR LETTER VOCALIC R
+01053 MYANMAR LETTER VOCALIC RR
+01054 MYANMAR LETTER VOCALIC L
+01055 MYANMAR LETTER VOCALIC LL
+01056 MYANMAR VOWEL SIGN VOCALIC R
+01057 MYANMAR VOWEL SIGN VOCALIC RR
+01058 MYANMAR VOWEL SIGN VOCALIC L
+01059 MYANMAR VOWEL SIGN VOCALIC LL
+0105A MYANMAR LETTER MON NGA
+0105B MYANMAR LETTER MON JHA
+0105C MYANMAR LETTER MON BBA
+0105D MYANMAR LETTER MON BBE
+0105E MYANMAR CONSONANT SIGN MON MEDIAL NA
+0105F MYANMAR CONSONANT SIGN MON MEDIAL MA
+01060 MYANMAR CONSONANT SIGN MON MEDIAL LA
+01061 MYANMAR LETTER SGAW KAREN SHA
+01062 MYANMAR VOWEL SIGN SGAW KAREN EU
+01063 MYANMAR TONE MARK SGAW KAREN HATHI
+01064 MYANMAR TONE MARK SGAW KAREN KE PHO
+01065 MYANMAR LETTER WESTERN PWO KAREN THA
+01066 MYANMAR LETTER WESTERN PWO KAREN PWA
+01067 MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
+01068 MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+01069 MYANMAR SIGN WESTERN PWO KAREN TONE-1
+0106A MYANMAR SIGN WESTERN PWO KAREN TONE-2
+0106B MYANMAR SIGN WESTERN PWO KAREN TONE-3
+0106C MYANMAR SIGN WESTERN PWO KAREN TONE-4
+0106D MYANMAR SIGN WESTERN PWO KAREN TONE-5
+0106E MYANMAR LETTER EASTERN PWO KAREN NNA
+0106F MYANMAR LETTER EASTERN PWO KAREN YWA
+01070 MYANMAR LETTER EASTERN PWO KAREN GHWA
+01071 MYANMAR VOWEL SIGN GEBA KAREN I
+01072 MYANMAR VOWEL SIGN KAYAH OE
+01073 MYANMAR VOWEL SIGN KAYAH U
+01074 MYANMAR VOWEL SIGN KAYAH EE
+01075 MYANMAR LETTER SHAN KA
+01076 MYANMAR LETTER SHAN KHA
+01077 MYANMAR LETTER SHAN GA
+01078 MYANMAR LETTER SHAN CA
+01079 MYANMAR LETTER SHAN ZA
+0107A MYANMAR LETTER SHAN NYA
+0107B MYANMAR LETTER SHAN DA
+0107C MYANMAR LETTER SHAN NA
+0107D MYANMAR LETTER SHAN PHA
+0107E MYANMAR LETTER SHAN FA
+0107F MYANMAR LETTER SHAN BA
+01080 MYANMAR LETTER SHAN THA
+01081 MYANMAR LETTER SHAN HA
+01082 MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+01083 MYANMAR VOWEL SIGN SHAN AA
+01084 MYANMAR VOWEL SIGN SHAN E
+01085 MYANMAR VOWEL SIGN SHAN E ABOVE
+01086 MYANMAR VOWEL SIGN SHAN FINAL Y
+01087 MYANMAR SIGN SHAN TONE-2
+01088 MYANMAR SIGN SHAN TONE-3
+01089 MYANMAR SIGN SHAN TONE-5
+0108A MYANMAR SIGN SHAN TONE-6
+0108B MYANMAR SIGN SHAN COUNCIL TONE-2
+0108C MYANMAR SIGN SHAN COUNCIL TONE-3
+0108D MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+0108E MYANMAR LETTER RUMAI PALAUNG FA
+0108F MYANMAR SIGN RUMAI PALAUNG TONE-5
+01090 MYANMAR SHAN DIGIT ZERO
+01091 MYANMAR SHAN DIGIT ONE
+01092 MYANMAR SHAN DIGIT TWO
+01093 MYANMAR SHAN DIGIT THREE
+01094 MYANMAR SHAN DIGIT FOUR
+01095 MYANMAR SHAN DIGIT FIVE
+01096 MYANMAR SHAN DIGIT SIX
+01097 MYANMAR SHAN DIGIT SEVEN
+01098 MYANMAR SHAN DIGIT EIGHT
+01099 MYANMAR SHAN DIGIT NINE
+0109A MYANMAR SIGN KHAMTI TONE-1
+0109B MYANMAR SIGN KHAMTI TONE-3
+0109C MYANMAR VOWEL SIGN AITON A
+0109D MYANMAR VOWEL SIGN AITON AI
+0109E MYANMAR SYMBOL SHAN ONE
+0109F MYANMAR SYMBOL SHAN EXCLAMATION
+010A0 GEORGIAN CAPITAL LETTER AN
+010A1 GEORGIAN CAPITAL LETTER BAN
+010A2 GEORGIAN CAPITAL LETTER GAN
+010A3 GEORGIAN CAPITAL LETTER DON
+010A4 GEORGIAN CAPITAL LETTER EN
+010A5 GEORGIAN CAPITAL LETTER VIN
+010A6 GEORGIAN CAPITAL LETTER ZEN
+010A7 GEORGIAN CAPITAL LETTER TAN
+010A8 GEORGIAN CAPITAL LETTER IN
+010A9 GEORGIAN CAPITAL LETTER KAN
+010AA GEORGIAN CAPITAL LETTER LAS
+010AB GEORGIAN CAPITAL LETTER MAN
+010AC GEORGIAN CAPITAL LETTER NAR
+010AD GEORGIAN CAPITAL LETTER ON
+010AE GEORGIAN CAPITAL LETTER PAR
+010AF GEORGIAN CAPITAL LETTER ZHAR
+010B0 GEORGIAN CAPITAL LETTER RAE
+010B1 GEORGIAN CAPITAL LETTER SAN
+010B2 GEORGIAN CAPITAL LETTER TAR
+010B3 GEORGIAN CAPITAL LETTER UN
+010B4 GEORGIAN CAPITAL LETTER PHAR
+010B5 GEORGIAN CAPITAL LETTER KHAR
+010B6 GEORGIAN CAPITAL LETTER GHAN
+010B7 GEORGIAN CAPITAL LETTER QAR
+010B8 GEORGIAN CAPITAL LETTER SHIN
+010B9 GEORGIAN CAPITAL LETTER CHIN
+010BA GEORGIAN CAPITAL LETTER CAN
+010BB GEORGIAN CAPITAL LETTER JIL
+010BC GEORGIAN CAPITAL LETTER CIL
+010BD GEORGIAN CAPITAL LETTER CHAR
+010BE GEORGIAN CAPITAL LETTER XAN
+010BF GEORGIAN CAPITAL LETTER JHAN
+010C0 GEORGIAN CAPITAL LETTER HAE
+010C1 GEORGIAN CAPITAL LETTER HE
+010C2 GEORGIAN CAPITAL LETTER HIE
+010C3 GEORGIAN CAPITAL LETTER WE
+010C4 GEORGIAN CAPITAL LETTER HAR
+010C5 GEORGIAN CAPITAL LETTER HOE
+010D0 GEORGIAN LETTER AN
+010D1 GEORGIAN LETTER BAN
+010D2 GEORGIAN LETTER GAN
+010D3 GEORGIAN LETTER DON
+010D4 GEORGIAN LETTER EN
+010D5 GEORGIAN LETTER VIN
+010D6 GEORGIAN LETTER ZEN
+010D7 GEORGIAN LETTER TAN
+010D8 GEORGIAN LETTER IN
+010D9 GEORGIAN LETTER KAN
+010DA GEORGIAN LETTER LAS
+010DB GEORGIAN LETTER MAN
+010DC GEORGIAN LETTER NAR
+010DD GEORGIAN LETTER ON
+010DE GEORGIAN LETTER PAR
+010DF GEORGIAN LETTER ZHAR
+010E0 GEORGIAN LETTER RAE
+010E1 GEORGIAN LETTER SAN
+010E2 GEORGIAN LETTER TAR
+010E3 GEORGIAN LETTER UN
+010E4 GEORGIAN LETTER PHAR
+010E5 GEORGIAN LETTER KHAR
+010E6 GEORGIAN LETTER GHAN
+010E7 GEORGIAN LETTER QAR
+010E8 GEORGIAN LETTER SHIN
+010E9 GEORGIAN LETTER CHIN
+010EA GEORGIAN LETTER CAN
+010EB GEORGIAN LETTER JIL
+010EC GEORGIAN LETTER CIL
+010ED GEORGIAN LETTER CHAR
+010EE GEORGIAN LETTER XAN
+010EF GEORGIAN LETTER JHAN
+010F0 GEORGIAN LETTER HAE
+010F1 GEORGIAN LETTER HE
+010F2 GEORGIAN LETTER HIE
+010F3 GEORGIAN LETTER WE
+010F4 GEORGIAN LETTER HAR
+010F5 GEORGIAN LETTER HOE
+010F6 GEORGIAN LETTER FI
+010F7 GEORGIAN LETTER YN
+010F8 GEORGIAN LETTER ELIFI
+010F9 GEORGIAN LETTER TURNED GAN
+010FA GEORGIAN LETTER AIN
+010FB GEORGIAN PARAGRAPH SEPARATOR
+010FC MODIFIER LETTER GEORGIAN NAR
+01100 HANGUL CHOSEONG KIYEOK
+01101 HANGUL CHOSEONG SSANGKIYEOK
+01102 HANGUL CHOSEONG NIEUN
+01103 HANGUL CHOSEONG TIKEUT
+01104 HANGUL CHOSEONG SSANGTIKEUT
+01105 HANGUL CHOSEONG RIEUL
+01106 HANGUL CHOSEONG MIEUM
+01107 HANGUL CHOSEONG PIEUP
+01108 HANGUL CHOSEONG SSANGPIEUP
+01109 HANGUL CHOSEONG SIOS
+0110A HANGUL CHOSEONG SSANGSIOS
+0110B HANGUL CHOSEONG IEUNG
+0110C HANGUL CHOSEONG CIEUC
+0110D HANGUL CHOSEONG SSANGCIEUC
+0110E HANGUL CHOSEONG CHIEUCH
+0110F HANGUL CHOSEONG KHIEUKH
+01110 HANGUL CHOSEONG THIEUTH
+01111 HANGUL CHOSEONG PHIEUPH
+01112 HANGUL CHOSEONG HIEUH
+01113 HANGUL CHOSEONG NIEUN-KIYEOK
+01114 HANGUL CHOSEONG SSANGNIEUN
+01115 HANGUL CHOSEONG NIEUN-TIKEUT
+01116 HANGUL CHOSEONG NIEUN-PIEUP
+01117 HANGUL CHOSEONG TIKEUT-KIYEOK
+01118 HANGUL CHOSEONG RIEUL-NIEUN
+01119 HANGUL CHOSEONG SSANGRIEUL
+0111A HANGUL CHOSEONG RIEUL-HIEUH
+0111B HANGUL CHOSEONG KAPYEOUNRIEUL
+0111C HANGUL CHOSEONG MIEUM-PIEUP
+0111D HANGUL CHOSEONG KAPYEOUNMIEUM
+0111E HANGUL CHOSEONG PIEUP-KIYEOK
+0111F HANGUL CHOSEONG PIEUP-NIEUN
+01120 HANGUL CHOSEONG PIEUP-TIKEUT
+01121 HANGUL CHOSEONG PIEUP-SIOS
+01122 HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+01123 HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+01124 HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+01125 HANGUL CHOSEONG PIEUP-SSANGSIOS
+01126 HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+01127 HANGUL CHOSEONG PIEUP-CIEUC
+01128 HANGUL CHOSEONG PIEUP-CHIEUCH
+01129 HANGUL CHOSEONG PIEUP-THIEUTH
+0112A HANGUL CHOSEONG PIEUP-PHIEUPH
+0112B HANGUL CHOSEONG KAPYEOUNPIEUP
+0112C HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+0112D HANGUL CHOSEONG SIOS-KIYEOK
+0112E HANGUL CHOSEONG SIOS-NIEUN
+0112F HANGUL CHOSEONG SIOS-TIKEUT
+01130 HANGUL CHOSEONG SIOS-RIEUL
+01131 HANGUL CHOSEONG SIOS-MIEUM
+01132 HANGUL CHOSEONG SIOS-PIEUP
+01133 HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+01134 HANGUL CHOSEONG SIOS-SSANGSIOS
+01135 HANGUL CHOSEONG SIOS-IEUNG
+01136 HANGUL CHOSEONG SIOS-CIEUC
+01137 HANGUL CHOSEONG SIOS-CHIEUCH
+01138 HANGUL CHOSEONG SIOS-KHIEUKH
+01139 HANGUL CHOSEONG SIOS-THIEUTH
+0113A HANGUL CHOSEONG SIOS-PHIEUPH
+0113B HANGUL CHOSEONG SIOS-HIEUH
+0113C HANGUL CHOSEONG CHITUEUMSIOS
+0113D HANGUL CHOSEONG CHITUEUMSSANGSIOS
+0113E HANGUL CHOSEONG CEONGCHIEUMSIOS
+0113F HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+01140 HANGUL CHOSEONG PANSIOS
+01141 HANGUL CHOSEONG IEUNG-KIYEOK
+01142 HANGUL CHOSEONG IEUNG-TIKEUT
+01143 HANGUL CHOSEONG IEUNG-MIEUM
+01144 HANGUL CHOSEONG IEUNG-PIEUP
+01145 HANGUL CHOSEONG IEUNG-SIOS
+01146 HANGUL CHOSEONG IEUNG-PANSIOS
+01147 HANGUL CHOSEONG SSANGIEUNG
+01148 HANGUL CHOSEONG IEUNG-CIEUC
+01149 HANGUL CHOSEONG IEUNG-CHIEUCH
+0114A HANGUL CHOSEONG IEUNG-THIEUTH
+0114B HANGUL CHOSEONG IEUNG-PHIEUPH
+0114C HANGUL CHOSEONG YESIEUNG
+0114D HANGUL CHOSEONG CIEUC-IEUNG
+0114E HANGUL CHOSEONG CHITUEUMCIEUC
+0114F HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+01150 HANGUL CHOSEONG CEONGCHIEUMCIEUC
+01151 HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+01152 HANGUL CHOSEONG CHIEUCH-KHIEUKH
+01153 HANGUL CHOSEONG CHIEUCH-HIEUH
+01154 HANGUL CHOSEONG CHITUEUMCHIEUCH
+01155 HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+01156 HANGUL CHOSEONG PHIEUPH-PIEUP
+01157 HANGUL CHOSEONG KAPYEOUNPHIEUPH
+01158 HANGUL CHOSEONG SSANGHIEUH
+01159 HANGUL CHOSEONG YEORINHIEUH
+0115A HANGUL CHOSEONG KIYEOK-TIKEUT
+0115B HANGUL CHOSEONG NIEUN-SIOS
+0115C HANGUL CHOSEONG NIEUN-CIEUC
+0115D HANGUL CHOSEONG NIEUN-HIEUH
+0115E HANGUL CHOSEONG TIKEUT-RIEUL
+0115F HANGUL CHOSEONG FILLER
+01160 HANGUL JUNGSEONG FILLER
+01161 HANGUL JUNGSEONG A
+01162 HANGUL JUNGSEONG AE
+01163 HANGUL JUNGSEONG YA
+01164 HANGUL JUNGSEONG YAE
+01165 HANGUL JUNGSEONG EO
+01166 HANGUL JUNGSEONG E
+01167 HANGUL JUNGSEONG YEO
+01168 HANGUL JUNGSEONG YE
+01169 HANGUL JUNGSEONG O
+0116A HANGUL JUNGSEONG WA
+0116B HANGUL JUNGSEONG WAE
+0116C HANGUL JUNGSEONG OE
+0116D HANGUL JUNGSEONG YO
+0116E HANGUL JUNGSEONG U
+0116F HANGUL JUNGSEONG WEO
+01170 HANGUL JUNGSEONG WE
+01171 HANGUL JUNGSEONG WI
+01172 HANGUL JUNGSEONG YU
+01173 HANGUL JUNGSEONG EU
+01174 HANGUL JUNGSEONG YI
+01175 HANGUL JUNGSEONG I
+01176 HANGUL JUNGSEONG A-O
+01177 HANGUL JUNGSEONG A-U
+01178 HANGUL JUNGSEONG YA-O
+01179 HANGUL JUNGSEONG YA-YO
+0117A HANGUL JUNGSEONG EO-O
+0117B HANGUL JUNGSEONG EO-U
+0117C HANGUL JUNGSEONG EO-EU
+0117D HANGUL JUNGSEONG YEO-O
+0117E HANGUL JUNGSEONG YEO-U
+0117F HANGUL JUNGSEONG O-EO
+01180 HANGUL JUNGSEONG O-E
+01181 HANGUL JUNGSEONG O-YE
+01182 HANGUL JUNGSEONG O-O
+01183 HANGUL JUNGSEONG O-U
+01184 HANGUL JUNGSEONG YO-YA
+01185 HANGUL JUNGSEONG YO-YAE
+01186 HANGUL JUNGSEONG YO-YEO
+01187 HANGUL JUNGSEONG YO-O
+01188 HANGUL JUNGSEONG YO-I
+01189 HANGUL JUNGSEONG U-A
+0118A HANGUL JUNGSEONG U-AE
+0118B HANGUL JUNGSEONG U-EO-EU
+0118C HANGUL JUNGSEONG U-YE
+0118D HANGUL JUNGSEONG U-U
+0118E HANGUL JUNGSEONG YU-A
+0118F HANGUL JUNGSEONG YU-EO
+01190 HANGUL JUNGSEONG YU-E
+01191 HANGUL JUNGSEONG YU-YEO
+01192 HANGUL JUNGSEONG YU-YE
+01193 HANGUL JUNGSEONG YU-U
+01194 HANGUL JUNGSEONG YU-I
+01195 HANGUL JUNGSEONG EU-U
+01196 HANGUL JUNGSEONG EU-EU
+01197 HANGUL JUNGSEONG YI-U
+01198 HANGUL JUNGSEONG I-A
+01199 HANGUL JUNGSEONG I-YA
+0119A HANGUL JUNGSEONG I-O
+0119B HANGUL JUNGSEONG I-U
+0119C HANGUL JUNGSEONG I-EU
+0119D HANGUL JUNGSEONG I-ARAEA
+0119E HANGUL JUNGSEONG ARAEA
+0119F HANGUL JUNGSEONG ARAEA-EO
+011A0 HANGUL JUNGSEONG ARAEA-U
+011A1 HANGUL JUNGSEONG ARAEA-I
+011A2 HANGUL JUNGSEONG SSANGARAEA
+011A3 HANGUL JUNGSEONG A-EU
+011A4 HANGUL JUNGSEONG YA-U
+011A5 HANGUL JUNGSEONG YEO-YA
+011A6 HANGUL JUNGSEONG O-YA
+011A7 HANGUL JUNGSEONG O-YAE
+011A8 HANGUL JONGSEONG KIYEOK
+011A9 HANGUL JONGSEONG SSANGKIYEOK
+011AA HANGUL JONGSEONG KIYEOK-SIOS
+011AB HANGUL JONGSEONG NIEUN
+011AC HANGUL JONGSEONG NIEUN-CIEUC
+011AD HANGUL JONGSEONG NIEUN-HIEUH
+011AE HANGUL JONGSEONG TIKEUT
+011AF HANGUL JONGSEONG RIEUL
+011B0 HANGUL JONGSEONG RIEUL-KIYEOK
+011B1 HANGUL JONGSEONG RIEUL-MIEUM
+011B2 HANGUL JONGSEONG RIEUL-PIEUP
+011B3 HANGUL JONGSEONG RIEUL-SIOS
+011B4 HANGUL JONGSEONG RIEUL-THIEUTH
+011B5 HANGUL JONGSEONG RIEUL-PHIEUPH
+011B6 HANGUL JONGSEONG RIEUL-HIEUH
+011B7 HANGUL JONGSEONG MIEUM
+011B8 HANGUL JONGSEONG PIEUP
+011B9 HANGUL JONGSEONG PIEUP-SIOS
+011BA HANGUL JONGSEONG SIOS
+011BB HANGUL JONGSEONG SSANGSIOS
+011BC HANGUL JONGSEONG IEUNG
+011BD HANGUL JONGSEONG CIEUC
+011BE HANGUL JONGSEONG CHIEUCH
+011BF HANGUL JONGSEONG KHIEUKH
+011C0 HANGUL JONGSEONG THIEUTH
+011C1 HANGUL JONGSEONG PHIEUPH
+011C2 HANGUL JONGSEONG HIEUH
+011C3 HANGUL JONGSEONG KIYEOK-RIEUL
+011C4 HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+011C5 HANGUL JONGSEONG NIEUN-KIYEOK
+011C6 HANGUL JONGSEONG NIEUN-TIKEUT
+011C7 HANGUL JONGSEONG NIEUN-SIOS
+011C8 HANGUL JONGSEONG NIEUN-PANSIOS
+011C9 HANGUL JONGSEONG NIEUN-THIEUTH
+011CA HANGUL JONGSEONG TIKEUT-KIYEOK
+011CB HANGUL JONGSEONG TIKEUT-RIEUL
+011CC HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+011CD HANGUL JONGSEONG RIEUL-NIEUN
+011CE HANGUL JONGSEONG RIEUL-TIKEUT
+011CF HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+011D0 HANGUL JONGSEONG SSANGRIEUL
+011D1 HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+011D2 HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+011D3 HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+011D4 HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+011D5 HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+011D6 HANGUL JONGSEONG RIEUL-SSANGSIOS
+011D7 HANGUL JONGSEONG RIEUL-PANSIOS
+011D8 HANGUL JONGSEONG RIEUL-KHIEUKH
+011D9 HANGUL JONGSEONG RIEUL-YEORINHIEUH
+011DA HANGUL JONGSEONG MIEUM-KIYEOK
+011DB HANGUL JONGSEONG MIEUM-RIEUL
+011DC HANGUL JONGSEONG MIEUM-PIEUP
+011DD HANGUL JONGSEONG MIEUM-SIOS
+011DE HANGUL JONGSEONG MIEUM-SSANGSIOS
+011DF HANGUL JONGSEONG MIEUM-PANSIOS
+011E0 HANGUL JONGSEONG MIEUM-CHIEUCH
+011E1 HANGUL JONGSEONG MIEUM-HIEUH
+011E2 HANGUL JONGSEONG KAPYEOUNMIEUM
+011E3 HANGUL JONGSEONG PIEUP-RIEUL
+011E4 HANGUL JONGSEONG PIEUP-PHIEUPH
+011E5 HANGUL JONGSEONG PIEUP-HIEUH
+011E6 HANGUL JONGSEONG KAPYEOUNPIEUP
+011E7 HANGUL JONGSEONG SIOS-KIYEOK
+011E8 HANGUL JONGSEONG SIOS-TIKEUT
+011E9 HANGUL JONGSEONG SIOS-RIEUL
+011EA HANGUL JONGSEONG SIOS-PIEUP
+011EB HANGUL JONGSEONG PANSIOS
+011EC HANGUL JONGSEONG IEUNG-KIYEOK
+011ED HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+011EE HANGUL JONGSEONG SSANGIEUNG
+011EF HANGUL JONGSEONG IEUNG-KHIEUKH
+011F0 HANGUL JONGSEONG YESIEUNG
+011F1 HANGUL JONGSEONG YESIEUNG-SIOS
+011F2 HANGUL JONGSEONG YESIEUNG-PANSIOS
+011F3 HANGUL JONGSEONG PHIEUPH-PIEUP
+011F4 HANGUL JONGSEONG KAPYEOUNPHIEUPH
+011F5 HANGUL JONGSEONG HIEUH-NIEUN
+011F6 HANGUL JONGSEONG HIEUH-RIEUL
+011F7 HANGUL JONGSEONG HIEUH-MIEUM
+011F8 HANGUL JONGSEONG HIEUH-PIEUP
+011F9 HANGUL JONGSEONG YEORINHIEUH
+011FA HANGUL JONGSEONG KIYEOK-NIEUN
+011FB HANGUL JONGSEONG KIYEOK-PIEUP
+011FC HANGUL JONGSEONG KIYEOK-CHIEUCH
+011FD HANGUL JONGSEONG KIYEOK-KHIEUKH
+011FE HANGUL JONGSEONG KIYEOK-HIEUH
+011FF HANGUL JONGSEONG SSANGNIEUN
+01200 ETHIOPIC SYLLABLE HA
+01201 ETHIOPIC SYLLABLE HU
+01202 ETHIOPIC SYLLABLE HI
+01203 ETHIOPIC SYLLABLE HAA
+01204 ETHIOPIC SYLLABLE HEE
+01205 ETHIOPIC SYLLABLE HE
+01206 ETHIOPIC SYLLABLE HO
+01207 ETHIOPIC SYLLABLE HOA
+01208 ETHIOPIC SYLLABLE LA
+01209 ETHIOPIC SYLLABLE LU
+0120A ETHIOPIC SYLLABLE LI
+0120B ETHIOPIC SYLLABLE LAA
+0120C ETHIOPIC SYLLABLE LEE
+0120D ETHIOPIC SYLLABLE LE
+0120E ETHIOPIC SYLLABLE LO
+0120F ETHIOPIC SYLLABLE LWA
+01210 ETHIOPIC SYLLABLE HHA
+01211 ETHIOPIC SYLLABLE HHU
+01212 ETHIOPIC SYLLABLE HHI
+01213 ETHIOPIC SYLLABLE HHAA
+01214 ETHIOPIC SYLLABLE HHEE
+01215 ETHIOPIC SYLLABLE HHE
+01216 ETHIOPIC SYLLABLE HHO
+01217 ETHIOPIC SYLLABLE HHWA
+01218 ETHIOPIC SYLLABLE MA
+01219 ETHIOPIC SYLLABLE MU
+0121A ETHIOPIC SYLLABLE MI
+0121B ETHIOPIC SYLLABLE MAA
+0121C ETHIOPIC SYLLABLE MEE
+0121D ETHIOPIC SYLLABLE ME
+0121E ETHIOPIC SYLLABLE MO
+0121F ETHIOPIC SYLLABLE MWA
+01220 ETHIOPIC SYLLABLE SZA
+01221 ETHIOPIC SYLLABLE SZU
+01222 ETHIOPIC SYLLABLE SZI
+01223 ETHIOPIC SYLLABLE SZAA
+01224 ETHIOPIC SYLLABLE SZEE
+01225 ETHIOPIC SYLLABLE SZE
+01226 ETHIOPIC SYLLABLE SZO
+01227 ETHIOPIC SYLLABLE SZWA
+01228 ETHIOPIC SYLLABLE RA
+01229 ETHIOPIC SYLLABLE RU
+0122A ETHIOPIC SYLLABLE RI
+0122B ETHIOPIC SYLLABLE RAA
+0122C ETHIOPIC SYLLABLE REE
+0122D ETHIOPIC SYLLABLE RE
+0122E ETHIOPIC SYLLABLE RO
+0122F ETHIOPIC SYLLABLE RWA
+01230 ETHIOPIC SYLLABLE SA
+01231 ETHIOPIC SYLLABLE SU
+01232 ETHIOPIC SYLLABLE SI
+01233 ETHIOPIC SYLLABLE SAA
+01234 ETHIOPIC SYLLABLE SEE
+01235 ETHIOPIC SYLLABLE SE
+01236 ETHIOPIC SYLLABLE SO
+01237 ETHIOPIC SYLLABLE SWA
+01238 ETHIOPIC SYLLABLE SHA
+01239 ETHIOPIC SYLLABLE SHU
+0123A ETHIOPIC SYLLABLE SHI
+0123B ETHIOPIC SYLLABLE SHAA
+0123C ETHIOPIC SYLLABLE SHEE
+0123D ETHIOPIC SYLLABLE SHE
+0123E ETHIOPIC SYLLABLE SHO
+0123F ETHIOPIC SYLLABLE SHWA
+01240 ETHIOPIC SYLLABLE QA
+01241 ETHIOPIC SYLLABLE QU
+01242 ETHIOPIC SYLLABLE QI
+01243 ETHIOPIC SYLLABLE QAA
+01244 ETHIOPIC SYLLABLE QEE
+01245 ETHIOPIC SYLLABLE QE
+01246 ETHIOPIC SYLLABLE QO
+01247 ETHIOPIC SYLLABLE QOA
+01248 ETHIOPIC SYLLABLE QWA
+0124A ETHIOPIC SYLLABLE QWI
+0124B ETHIOPIC SYLLABLE QWAA
+0124C ETHIOPIC SYLLABLE QWEE
+0124D ETHIOPIC SYLLABLE QWE
+01250 ETHIOPIC SYLLABLE QHA
+01251 ETHIOPIC SYLLABLE QHU
+01252 ETHIOPIC SYLLABLE QHI
+01253 ETHIOPIC SYLLABLE QHAA
+01254 ETHIOPIC SYLLABLE QHEE
+01255 ETHIOPIC SYLLABLE QHE
+01256 ETHIOPIC SYLLABLE QHO
+01258 ETHIOPIC SYLLABLE QHWA
+0125A ETHIOPIC SYLLABLE QHWI
+0125B ETHIOPIC SYLLABLE QHWAA
+0125C ETHIOPIC SYLLABLE QHWEE
+0125D ETHIOPIC SYLLABLE QHWE
+01260 ETHIOPIC SYLLABLE BA
+01261 ETHIOPIC SYLLABLE BU
+01262 ETHIOPIC SYLLABLE BI
+01263 ETHIOPIC SYLLABLE BAA
+01264 ETHIOPIC SYLLABLE BEE
+01265 ETHIOPIC SYLLABLE BE
+01266 ETHIOPIC SYLLABLE BO
+01267 ETHIOPIC SYLLABLE BWA
+01268 ETHIOPIC SYLLABLE VA
+01269 ETHIOPIC SYLLABLE VU
+0126A ETHIOPIC SYLLABLE VI
+0126B ETHIOPIC SYLLABLE VAA
+0126C ETHIOPIC SYLLABLE VEE
+0126D ETHIOPIC SYLLABLE VE
+0126E ETHIOPIC SYLLABLE VO
+0126F ETHIOPIC SYLLABLE VWA
+01270 ETHIOPIC SYLLABLE TA
+01271 ETHIOPIC SYLLABLE TU
+01272 ETHIOPIC SYLLABLE TI
+01273 ETHIOPIC SYLLABLE TAA
+01274 ETHIOPIC SYLLABLE TEE
+01275 ETHIOPIC SYLLABLE TE
+01276 ETHIOPIC SYLLABLE TO
+01277 ETHIOPIC SYLLABLE TWA
+01278 ETHIOPIC SYLLABLE CA
+01279 ETHIOPIC SYLLABLE CU
+0127A ETHIOPIC SYLLABLE CI
+0127B ETHIOPIC SYLLABLE CAA
+0127C ETHIOPIC SYLLABLE CEE
+0127D ETHIOPIC SYLLABLE CE
+0127E ETHIOPIC SYLLABLE CO
+0127F ETHIOPIC SYLLABLE CWA
+01280 ETHIOPIC SYLLABLE XA
+01281 ETHIOPIC SYLLABLE XU
+01282 ETHIOPIC SYLLABLE XI
+01283 ETHIOPIC SYLLABLE XAA
+01284 ETHIOPIC SYLLABLE XEE
+01285 ETHIOPIC SYLLABLE XE
+01286 ETHIOPIC SYLLABLE XO
+01287 ETHIOPIC SYLLABLE XOA
+01288 ETHIOPIC SYLLABLE XWA
+0128A ETHIOPIC SYLLABLE XWI
+0128B ETHIOPIC SYLLABLE XWAA
+0128C ETHIOPIC SYLLABLE XWEE
+0128D ETHIOPIC SYLLABLE XWE
+01290 ETHIOPIC SYLLABLE NA
+01291 ETHIOPIC SYLLABLE NU
+01292 ETHIOPIC SYLLABLE NI
+01293 ETHIOPIC SYLLABLE NAA
+01294 ETHIOPIC SYLLABLE NEE
+01295 ETHIOPIC SYLLABLE NE
+01296 ETHIOPIC SYLLABLE NO
+01297 ETHIOPIC SYLLABLE NWA
+01298 ETHIOPIC SYLLABLE NYA
+01299 ETHIOPIC SYLLABLE NYU
+0129A ETHIOPIC SYLLABLE NYI
+0129B ETHIOPIC SYLLABLE NYAA
+0129C ETHIOPIC SYLLABLE NYEE
+0129D ETHIOPIC SYLLABLE NYE
+0129E ETHIOPIC SYLLABLE NYO
+0129F ETHIOPIC SYLLABLE NYWA
+012A0 ETHIOPIC SYLLABLE GLOTTAL A
+012A1 ETHIOPIC SYLLABLE GLOTTAL U
+012A2 ETHIOPIC SYLLABLE GLOTTAL I
+012A3 ETHIOPIC SYLLABLE GLOTTAL AA
+012A4 ETHIOPIC SYLLABLE GLOTTAL EE
+012A5 ETHIOPIC SYLLABLE GLOTTAL E
+012A6 ETHIOPIC SYLLABLE GLOTTAL O
+012A7 ETHIOPIC SYLLABLE GLOTTAL WA
+012A8 ETHIOPIC SYLLABLE KA
+012A9 ETHIOPIC SYLLABLE KU
+012AA ETHIOPIC SYLLABLE KI
+012AB ETHIOPIC SYLLABLE KAA
+012AC ETHIOPIC SYLLABLE KEE
+012AD ETHIOPIC SYLLABLE KE
+012AE ETHIOPIC SYLLABLE KO
+012AF ETHIOPIC SYLLABLE KOA
+012B0 ETHIOPIC SYLLABLE KWA
+012B2 ETHIOPIC SYLLABLE KWI
+012B3 ETHIOPIC SYLLABLE KWAA
+012B4 ETHIOPIC SYLLABLE KWEE
+012B5 ETHIOPIC SYLLABLE KWE
+012B8 ETHIOPIC SYLLABLE KXA
+012B9 ETHIOPIC SYLLABLE KXU
+012BA ETHIOPIC SYLLABLE KXI
+012BB ETHIOPIC SYLLABLE KXAA
+012BC ETHIOPIC SYLLABLE KXEE
+012BD ETHIOPIC SYLLABLE KXE
+012BE ETHIOPIC SYLLABLE KXO
+012C0 ETHIOPIC SYLLABLE KXWA
+012C2 ETHIOPIC SYLLABLE KXWI
+012C3 ETHIOPIC SYLLABLE KXWAA
+012C4 ETHIOPIC SYLLABLE KXWEE
+012C5 ETHIOPIC SYLLABLE KXWE
+012C8 ETHIOPIC SYLLABLE WA
+012C9 ETHIOPIC SYLLABLE WU
+012CA ETHIOPIC SYLLABLE WI
+012CB ETHIOPIC SYLLABLE WAA
+012CC ETHIOPIC SYLLABLE WEE
+012CD ETHIOPIC SYLLABLE WE
+012CE ETHIOPIC SYLLABLE WO
+012CF ETHIOPIC SYLLABLE WOA
+012D0 ETHIOPIC SYLLABLE PHARYNGEAL A
+012D1 ETHIOPIC SYLLABLE PHARYNGEAL U
+012D2 ETHIOPIC SYLLABLE PHARYNGEAL I
+012D3 ETHIOPIC SYLLABLE PHARYNGEAL AA
+012D4 ETHIOPIC SYLLABLE PHARYNGEAL EE
+012D5 ETHIOPIC SYLLABLE PHARYNGEAL E
+012D6 ETHIOPIC SYLLABLE PHARYNGEAL O
+012D8 ETHIOPIC SYLLABLE ZA
+012D9 ETHIOPIC SYLLABLE ZU
+012DA ETHIOPIC SYLLABLE ZI
+012DB ETHIOPIC SYLLABLE ZAA
+012DC ETHIOPIC SYLLABLE ZEE
+012DD ETHIOPIC SYLLABLE ZE
+012DE ETHIOPIC SYLLABLE ZO
+012DF ETHIOPIC SYLLABLE ZWA
+012E0 ETHIOPIC SYLLABLE ZHA
+012E1 ETHIOPIC SYLLABLE ZHU
+012E2 ETHIOPIC SYLLABLE ZHI
+012E3 ETHIOPIC SYLLABLE ZHAA
+012E4 ETHIOPIC SYLLABLE ZHEE
+012E5 ETHIOPIC SYLLABLE ZHE
+012E6 ETHIOPIC SYLLABLE ZHO
+012E7 ETHIOPIC SYLLABLE ZHWA
+012E8 ETHIOPIC SYLLABLE YA
+012E9 ETHIOPIC SYLLABLE YU
+012EA ETHIOPIC SYLLABLE YI
+012EB ETHIOPIC SYLLABLE YAA
+012EC ETHIOPIC SYLLABLE YEE
+012ED ETHIOPIC SYLLABLE YE
+012EE ETHIOPIC SYLLABLE YO
+012EF ETHIOPIC SYLLABLE YOA
+012F0 ETHIOPIC SYLLABLE DA
+012F1 ETHIOPIC SYLLABLE DU
+012F2 ETHIOPIC SYLLABLE DI
+012F3 ETHIOPIC SYLLABLE DAA
+012F4 ETHIOPIC SYLLABLE DEE
+012F5 ETHIOPIC SYLLABLE DE
+012F6 ETHIOPIC SYLLABLE DO
+012F7 ETHIOPIC SYLLABLE DWA
+012F8 ETHIOPIC SYLLABLE DDA
+012F9 ETHIOPIC SYLLABLE DDU
+012FA ETHIOPIC SYLLABLE DDI
+012FB ETHIOPIC SYLLABLE DDAA
+012FC ETHIOPIC SYLLABLE DDEE
+012FD ETHIOPIC SYLLABLE DDE
+012FE ETHIOPIC SYLLABLE DDO
+012FF ETHIOPIC SYLLABLE DDWA
+01300 ETHIOPIC SYLLABLE JA
+01301 ETHIOPIC SYLLABLE JU
+01302 ETHIOPIC SYLLABLE JI
+01303 ETHIOPIC SYLLABLE JAA
+01304 ETHIOPIC SYLLABLE JEE
+01305 ETHIOPIC SYLLABLE JE
+01306 ETHIOPIC SYLLABLE JO
+01307 ETHIOPIC SYLLABLE JWA
+01308 ETHIOPIC SYLLABLE GA
+01309 ETHIOPIC SYLLABLE GU
+0130A ETHIOPIC SYLLABLE GI
+0130B ETHIOPIC SYLLABLE GAA
+0130C ETHIOPIC SYLLABLE GEE
+0130D ETHIOPIC SYLLABLE GE
+0130E ETHIOPIC SYLLABLE GO
+0130F ETHIOPIC SYLLABLE GOA
+01310 ETHIOPIC SYLLABLE GWA
+01312 ETHIOPIC SYLLABLE GWI
+01313 ETHIOPIC SYLLABLE GWAA
+01314 ETHIOPIC SYLLABLE GWEE
+01315 ETHIOPIC SYLLABLE GWE
+01318 ETHIOPIC SYLLABLE GGA
+01319 ETHIOPIC SYLLABLE GGU
+0131A ETHIOPIC SYLLABLE GGI
+0131B ETHIOPIC SYLLABLE GGAA
+0131C ETHIOPIC SYLLABLE GGEE
+0131D ETHIOPIC SYLLABLE GGE
+0131E ETHIOPIC SYLLABLE GGO
+0131F ETHIOPIC SYLLABLE GGWAA
+01320 ETHIOPIC SYLLABLE THA
+01321 ETHIOPIC SYLLABLE THU
+01322 ETHIOPIC SYLLABLE THI
+01323 ETHIOPIC SYLLABLE THAA
+01324 ETHIOPIC SYLLABLE THEE
+01325 ETHIOPIC SYLLABLE THE
+01326 ETHIOPIC SYLLABLE THO
+01327 ETHIOPIC SYLLABLE THWA
+01328 ETHIOPIC SYLLABLE CHA
+01329 ETHIOPIC SYLLABLE CHU
+0132A ETHIOPIC SYLLABLE CHI
+0132B ETHIOPIC SYLLABLE CHAA
+0132C ETHIOPIC SYLLABLE CHEE
+0132D ETHIOPIC SYLLABLE CHE
+0132E ETHIOPIC SYLLABLE CHO
+0132F ETHIOPIC SYLLABLE CHWA
+01330 ETHIOPIC SYLLABLE PHA
+01331 ETHIOPIC SYLLABLE PHU
+01332 ETHIOPIC SYLLABLE PHI
+01333 ETHIOPIC SYLLABLE PHAA
+01334 ETHIOPIC SYLLABLE PHEE
+01335 ETHIOPIC SYLLABLE PHE
+01336 ETHIOPIC SYLLABLE PHO
+01337 ETHIOPIC SYLLABLE PHWA
+01338 ETHIOPIC SYLLABLE TSA
+01339 ETHIOPIC SYLLABLE TSU
+0133A ETHIOPIC SYLLABLE TSI
+0133B ETHIOPIC SYLLABLE TSAA
+0133C ETHIOPIC SYLLABLE TSEE
+0133D ETHIOPIC SYLLABLE TSE
+0133E ETHIOPIC SYLLABLE TSO
+0133F ETHIOPIC SYLLABLE TSWA
+01340 ETHIOPIC SYLLABLE TZA
+01341 ETHIOPIC SYLLABLE TZU
+01342 ETHIOPIC SYLLABLE TZI
+01343 ETHIOPIC SYLLABLE TZAA
+01344 ETHIOPIC SYLLABLE TZEE
+01345 ETHIOPIC SYLLABLE TZE
+01346 ETHIOPIC SYLLABLE TZO
+01347 ETHIOPIC SYLLABLE TZOA
+01348 ETHIOPIC SYLLABLE FA
+01349 ETHIOPIC SYLLABLE FU
+0134A ETHIOPIC SYLLABLE FI
+0134B ETHIOPIC SYLLABLE FAA
+0134C ETHIOPIC SYLLABLE FEE
+0134D ETHIOPIC SYLLABLE FE
+0134E ETHIOPIC SYLLABLE FO
+0134F ETHIOPIC SYLLABLE FWA
+01350 ETHIOPIC SYLLABLE PA
+01351 ETHIOPIC SYLLABLE PU
+01352 ETHIOPIC SYLLABLE PI
+01353 ETHIOPIC SYLLABLE PAA
+01354 ETHIOPIC SYLLABLE PEE
+01355 ETHIOPIC SYLLABLE PE
+01356 ETHIOPIC SYLLABLE PO
+01357 ETHIOPIC SYLLABLE PWA
+01358 ETHIOPIC SYLLABLE RYA
+01359 ETHIOPIC SYLLABLE MYA
+0135A ETHIOPIC SYLLABLE FYA
+0135D ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
+0135E ETHIOPIC COMBINING VOWEL LENGTH MARK
+0135F ETHIOPIC COMBINING GEMINATION MARK
+01360 ETHIOPIC SECTION MARK
+01361 ETHIOPIC WORDSPACE
+01362 ETHIOPIC FULL STOP
+01363 ETHIOPIC COMMA
+01364 ETHIOPIC SEMICOLON
+01365 ETHIOPIC COLON
+01366 ETHIOPIC PREFACE COLON
+01367 ETHIOPIC QUESTION MARK
+01368 ETHIOPIC PARAGRAPH SEPARATOR
+01369 ETHIOPIC DIGIT ONE
+0136A ETHIOPIC DIGIT TWO
+0136B ETHIOPIC DIGIT THREE
+0136C ETHIOPIC DIGIT FOUR
+0136D ETHIOPIC DIGIT FIVE
+0136E ETHIOPIC DIGIT SIX
+0136F ETHIOPIC DIGIT SEVEN
+01370 ETHIOPIC DIGIT EIGHT
+01371 ETHIOPIC DIGIT NINE
+01372 ETHIOPIC NUMBER TEN
+01373 ETHIOPIC NUMBER TWENTY
+01374 ETHIOPIC NUMBER THIRTY
+01375 ETHIOPIC NUMBER FORTY
+01376 ETHIOPIC NUMBER FIFTY
+01377 ETHIOPIC NUMBER SIXTY
+01378 ETHIOPIC NUMBER SEVENTY
+01379 ETHIOPIC NUMBER EIGHTY
+0137A ETHIOPIC NUMBER NINETY
+0137B ETHIOPIC NUMBER HUNDRED
+0137C ETHIOPIC NUMBER TEN THOUSAND
+01380 ETHIOPIC SYLLABLE SEBATBEIT MWA
+01381 ETHIOPIC SYLLABLE MWI
+01382 ETHIOPIC SYLLABLE MWEE
+01383 ETHIOPIC SYLLABLE MWE
+01384 ETHIOPIC SYLLABLE SEBATBEIT BWA
+01385 ETHIOPIC SYLLABLE BWI
+01386 ETHIOPIC SYLLABLE BWEE
+01387 ETHIOPIC SYLLABLE BWE
+01388 ETHIOPIC SYLLABLE SEBATBEIT FWA
+01389 ETHIOPIC SYLLABLE FWI
+0138A ETHIOPIC SYLLABLE FWEE
+0138B ETHIOPIC SYLLABLE FWE
+0138C ETHIOPIC SYLLABLE SEBATBEIT PWA
+0138D ETHIOPIC SYLLABLE PWI
+0138E ETHIOPIC SYLLABLE PWEE
+0138F ETHIOPIC SYLLABLE PWE
+01390 ETHIOPIC TONAL MARK YIZET
+01391 ETHIOPIC TONAL MARK DERET
+01392 ETHIOPIC TONAL MARK RIKRIK
+01393 ETHIOPIC TONAL MARK SHORT RIKRIK
+01394 ETHIOPIC TONAL MARK DIFAT
+01395 ETHIOPIC TONAL MARK KENAT
+01396 ETHIOPIC TONAL MARK CHIRET
+01397 ETHIOPIC TONAL MARK HIDET
+01398 ETHIOPIC TONAL MARK DERET-HIDET
+01399 ETHIOPIC TONAL MARK KURT
+013A0 CHEROKEE LETTER A
+013A1 CHEROKEE LETTER E
+013A2 CHEROKEE LETTER I
+013A3 CHEROKEE LETTER O
+013A4 CHEROKEE LETTER U
+013A5 CHEROKEE LETTER V
+013A6 CHEROKEE LETTER GA
+013A7 CHEROKEE LETTER KA
+013A8 CHEROKEE LETTER GE
+013A9 CHEROKEE LETTER GI
+013AA CHEROKEE LETTER GO
+013AB CHEROKEE LETTER GU
+013AC CHEROKEE LETTER GV
+013AD CHEROKEE LETTER HA
+013AE CHEROKEE LETTER HE
+013AF CHEROKEE LETTER HI
+013B0 CHEROKEE LETTER HO
+013B1 CHEROKEE LETTER HU
+013B2 CHEROKEE LETTER HV
+013B3 CHEROKEE LETTER LA
+013B4 CHEROKEE LETTER LE
+013B5 CHEROKEE LETTER LI
+013B6 CHEROKEE LETTER LO
+013B7 CHEROKEE LETTER LU
+013B8 CHEROKEE LETTER LV
+013B9 CHEROKEE LETTER MA
+013BA CHEROKEE LETTER ME
+013BB CHEROKEE LETTER MI
+013BC CHEROKEE LETTER MO
+013BD CHEROKEE LETTER MU
+013BE CHEROKEE LETTER NA
+013BF CHEROKEE LETTER HNA
+013C0 CHEROKEE LETTER NAH
+013C1 CHEROKEE LETTER NE
+013C2 CHEROKEE LETTER NI
+013C3 CHEROKEE LETTER NO
+013C4 CHEROKEE LETTER NU
+013C5 CHEROKEE LETTER NV
+013C6 CHEROKEE LETTER QUA
+013C7 CHEROKEE LETTER QUE
+013C8 CHEROKEE LETTER QUI
+013C9 CHEROKEE LETTER QUO
+013CA CHEROKEE LETTER QUU
+013CB CHEROKEE LETTER QUV
+013CC CHEROKEE LETTER SA
+013CD CHEROKEE LETTER S
+013CE CHEROKEE LETTER SE
+013CF CHEROKEE LETTER SI
+013D0 CHEROKEE LETTER SO
+013D1 CHEROKEE LETTER SU
+013D2 CHEROKEE LETTER SV
+013D3 CHEROKEE LETTER DA
+013D4 CHEROKEE LETTER TA
+013D5 CHEROKEE LETTER DE
+013D6 CHEROKEE LETTER TE
+013D7 CHEROKEE LETTER DI
+013D8 CHEROKEE LETTER TI
+013D9 CHEROKEE LETTER DO
+013DA CHEROKEE LETTER DU
+013DB CHEROKEE LETTER DV
+013DC CHEROKEE LETTER DLA
+013DD CHEROKEE LETTER TLA
+013DE CHEROKEE LETTER TLE
+013DF CHEROKEE LETTER TLI
+013E0 CHEROKEE LETTER TLO
+013E1 CHEROKEE LETTER TLU
+013E2 CHEROKEE LETTER TLV
+013E3 CHEROKEE LETTER TSA
+013E4 CHEROKEE LETTER TSE
+013E5 CHEROKEE LETTER TSI
+013E6 CHEROKEE LETTER TSO
+013E7 CHEROKEE LETTER TSU
+013E8 CHEROKEE LETTER TSV
+013E9 CHEROKEE LETTER WA
+013EA CHEROKEE LETTER WE
+013EB CHEROKEE LETTER WI
+013EC CHEROKEE LETTER WO
+013ED CHEROKEE LETTER WU
+013EE CHEROKEE LETTER WV
+013EF CHEROKEE LETTER YA
+013F0 CHEROKEE LETTER YE
+013F1 CHEROKEE LETTER YI
+013F2 CHEROKEE LETTER YO
+013F3 CHEROKEE LETTER YU
+013F4 CHEROKEE LETTER YV
+01400 CANADIAN SYLLABICS HYPHEN
+01401 CANADIAN SYLLABICS E
+01402 CANADIAN SYLLABICS AAI
+01403 CANADIAN SYLLABICS I
+01404 CANADIAN SYLLABICS II
+01405 CANADIAN SYLLABICS O
+01406 CANADIAN SYLLABICS OO
+01407 CANADIAN SYLLABICS Y-CREE OO
+01408 CANADIAN SYLLABICS CARRIER EE
+01409 CANADIAN SYLLABICS CARRIER I
+0140A CANADIAN SYLLABICS A
+0140B CANADIAN SYLLABICS AA
+0140C CANADIAN SYLLABICS WE
+0140D CANADIAN SYLLABICS WEST-CREE WE
+0140E CANADIAN SYLLABICS WI
+0140F CANADIAN SYLLABICS WEST-CREE WI
+01410 CANADIAN SYLLABICS WII
+01411 CANADIAN SYLLABICS WEST-CREE WII
+01412 CANADIAN SYLLABICS WO
+01413 CANADIAN SYLLABICS WEST-CREE WO
+01414 CANADIAN SYLLABICS WOO
+01415 CANADIAN SYLLABICS WEST-CREE WOO
+01416 CANADIAN SYLLABICS NASKAPI WOO
+01417 CANADIAN SYLLABICS WA
+01418 CANADIAN SYLLABICS WEST-CREE WA
+01419 CANADIAN SYLLABICS WAA
+0141A CANADIAN SYLLABICS WEST-CREE WAA
+0141B CANADIAN SYLLABICS NASKAPI WAA
+0141C CANADIAN SYLLABICS AI
+0141D CANADIAN SYLLABICS Y-CREE W
+0141E CANADIAN SYLLABICS GLOTTAL STOP
+0141F CANADIAN SYLLABICS FINAL ACUTE
+01420 CANADIAN SYLLABICS FINAL GRAVE
+01421 CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+01422 CANADIAN SYLLABICS FINAL TOP HALF RING
+01423 CANADIAN SYLLABICS FINAL RIGHT HALF RING
+01424 CANADIAN SYLLABICS FINAL RING
+01425 CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+01426 CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+01427 CANADIAN SYLLABICS FINAL MIDDLE DOT
+01428 CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+01429 CANADIAN SYLLABICS FINAL PLUS
+0142A CANADIAN SYLLABICS FINAL DOWN TACK
+0142B CANADIAN SYLLABICS EN
+0142C CANADIAN SYLLABICS IN
+0142D CANADIAN SYLLABICS ON
+0142E CANADIAN SYLLABICS AN
+0142F CANADIAN SYLLABICS PE
+01430 CANADIAN SYLLABICS PAAI
+01431 CANADIAN SYLLABICS PI
+01432 CANADIAN SYLLABICS PII
+01433 CANADIAN SYLLABICS PO
+01434 CANADIAN SYLLABICS POO
+01435 CANADIAN SYLLABICS Y-CREE POO
+01436 CANADIAN SYLLABICS CARRIER HEE
+01437 CANADIAN SYLLABICS CARRIER HI
+01438 CANADIAN SYLLABICS PA
+01439 CANADIAN SYLLABICS PAA
+0143A CANADIAN SYLLABICS PWE
+0143B CANADIAN SYLLABICS WEST-CREE PWE
+0143C CANADIAN SYLLABICS PWI
+0143D CANADIAN SYLLABICS WEST-CREE PWI
+0143E CANADIAN SYLLABICS PWII
+0143F CANADIAN SYLLABICS WEST-CREE PWII
+01440 CANADIAN SYLLABICS PWO
+01441 CANADIAN SYLLABICS WEST-CREE PWO
+01442 CANADIAN SYLLABICS PWOO
+01443 CANADIAN SYLLABICS WEST-CREE PWOO
+01444 CANADIAN SYLLABICS PWA
+01445 CANADIAN SYLLABICS WEST-CREE PWA
+01446 CANADIAN SYLLABICS PWAA
+01447 CANADIAN SYLLABICS WEST-CREE PWAA
+01448 CANADIAN SYLLABICS Y-CREE PWAA
+01449 CANADIAN SYLLABICS P
+0144A CANADIAN SYLLABICS WEST-CREE P
+0144B CANADIAN SYLLABICS CARRIER H
+0144C CANADIAN SYLLABICS TE
+0144D CANADIAN SYLLABICS TAAI
+0144E CANADIAN SYLLABICS TI
+0144F CANADIAN SYLLABICS TII
+01450 CANADIAN SYLLABICS TO
+01451 CANADIAN SYLLABICS TOO
+01452 CANADIAN SYLLABICS Y-CREE TOO
+01453 CANADIAN SYLLABICS CARRIER DEE
+01454 CANADIAN SYLLABICS CARRIER DI
+01455 CANADIAN SYLLABICS TA
+01456 CANADIAN SYLLABICS TAA
+01457 CANADIAN SYLLABICS TWE
+01458 CANADIAN SYLLABICS WEST-CREE TWE
+01459 CANADIAN SYLLABICS TWI
+0145A CANADIAN SYLLABICS WEST-CREE TWI
+0145B CANADIAN SYLLABICS TWII
+0145C CANADIAN SYLLABICS WEST-CREE TWII
+0145D CANADIAN SYLLABICS TWO
+0145E CANADIAN SYLLABICS WEST-CREE TWO
+0145F CANADIAN SYLLABICS TWOO
+01460 CANADIAN SYLLABICS WEST-CREE TWOO
+01461 CANADIAN SYLLABICS TWA
+01462 CANADIAN SYLLABICS WEST-CREE TWA
+01463 CANADIAN SYLLABICS TWAA
+01464 CANADIAN SYLLABICS WEST-CREE TWAA
+01465 CANADIAN SYLLABICS NASKAPI TWAA
+01466 CANADIAN SYLLABICS T
+01467 CANADIAN SYLLABICS TTE
+01468 CANADIAN SYLLABICS TTI
+01469 CANADIAN SYLLABICS TTO
+0146A CANADIAN SYLLABICS TTA
+0146B CANADIAN SYLLABICS KE
+0146C CANADIAN SYLLABICS KAAI
+0146D CANADIAN SYLLABICS KI
+0146E CANADIAN SYLLABICS KII
+0146F CANADIAN SYLLABICS KO
+01470 CANADIAN SYLLABICS KOO
+01471 CANADIAN SYLLABICS Y-CREE KOO
+01472 CANADIAN SYLLABICS KA
+01473 CANADIAN SYLLABICS KAA
+01474 CANADIAN SYLLABICS KWE
+01475 CANADIAN SYLLABICS WEST-CREE KWE
+01476 CANADIAN SYLLABICS KWI
+01477 CANADIAN SYLLABICS WEST-CREE KWI
+01478 CANADIAN SYLLABICS KWII
+01479 CANADIAN SYLLABICS WEST-CREE KWII
+0147A CANADIAN SYLLABICS KWO
+0147B CANADIAN SYLLABICS WEST-CREE KWO
+0147C CANADIAN SYLLABICS KWOO
+0147D CANADIAN SYLLABICS WEST-CREE KWOO
+0147E CANADIAN SYLLABICS KWA
+0147F CANADIAN SYLLABICS WEST-CREE KWA
+01480 CANADIAN SYLLABICS KWAA
+01481 CANADIAN SYLLABICS WEST-CREE KWAA
+01482 CANADIAN SYLLABICS NASKAPI KWAA
+01483 CANADIAN SYLLABICS K
+01484 CANADIAN SYLLABICS KW
+01485 CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+01486 CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+01487 CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+01488 CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+01489 CANADIAN SYLLABICS CE
+0148A CANADIAN SYLLABICS CAAI
+0148B CANADIAN SYLLABICS CI
+0148C CANADIAN SYLLABICS CII
+0148D CANADIAN SYLLABICS CO
+0148E CANADIAN SYLLABICS COO
+0148F CANADIAN SYLLABICS Y-CREE COO
+01490 CANADIAN SYLLABICS CA
+01491 CANADIAN SYLLABICS CAA
+01492 CANADIAN SYLLABICS CWE
+01493 CANADIAN SYLLABICS WEST-CREE CWE
+01494 CANADIAN SYLLABICS CWI
+01495 CANADIAN SYLLABICS WEST-CREE CWI
+01496 CANADIAN SYLLABICS CWII
+01497 CANADIAN SYLLABICS WEST-CREE CWII
+01498 CANADIAN SYLLABICS CWO
+01499 CANADIAN SYLLABICS WEST-CREE CWO
+0149A CANADIAN SYLLABICS CWOO
+0149B CANADIAN SYLLABICS WEST-CREE CWOO
+0149C CANADIAN SYLLABICS CWA
+0149D CANADIAN SYLLABICS WEST-CREE CWA
+0149E CANADIAN SYLLABICS CWAA
+0149F CANADIAN SYLLABICS WEST-CREE CWAA
+014A0 CANADIAN SYLLABICS NASKAPI CWAA
+014A1 CANADIAN SYLLABICS C
+014A2 CANADIAN SYLLABICS SAYISI TH
+014A3 CANADIAN SYLLABICS ME
+014A4 CANADIAN SYLLABICS MAAI
+014A5 CANADIAN SYLLABICS MI
+014A6 CANADIAN SYLLABICS MII
+014A7 CANADIAN SYLLABICS MO
+014A8 CANADIAN SYLLABICS MOO
+014A9 CANADIAN SYLLABICS Y-CREE MOO
+014AA CANADIAN SYLLABICS MA
+014AB CANADIAN SYLLABICS MAA
+014AC CANADIAN SYLLABICS MWE
+014AD CANADIAN SYLLABICS WEST-CREE MWE
+014AE CANADIAN SYLLABICS MWI
+014AF CANADIAN SYLLABICS WEST-CREE MWI
+014B0 CANADIAN SYLLABICS MWII
+014B1 CANADIAN SYLLABICS WEST-CREE MWII
+014B2 CANADIAN SYLLABICS MWO
+014B3 CANADIAN SYLLABICS WEST-CREE MWO
+014B4 CANADIAN SYLLABICS MWOO
+014B5 CANADIAN SYLLABICS WEST-CREE MWOO
+014B6 CANADIAN SYLLABICS MWA
+014B7 CANADIAN SYLLABICS WEST-CREE MWA
+014B8 CANADIAN SYLLABICS MWAA
+014B9 CANADIAN SYLLABICS WEST-CREE MWAA
+014BA CANADIAN SYLLABICS NASKAPI MWAA
+014BB CANADIAN SYLLABICS M
+014BC CANADIAN SYLLABICS WEST-CREE M
+014BD CANADIAN SYLLABICS MH
+014BE CANADIAN SYLLABICS ATHAPASCAN M
+014BF CANADIAN SYLLABICS SAYISI M
+014C0 CANADIAN SYLLABICS NE
+014C1 CANADIAN SYLLABICS NAAI
+014C2 CANADIAN SYLLABICS NI
+014C3 CANADIAN SYLLABICS NII
+014C4 CANADIAN SYLLABICS NO
+014C5 CANADIAN SYLLABICS NOO
+014C6 CANADIAN SYLLABICS Y-CREE NOO
+014C7 CANADIAN SYLLABICS NA
+014C8 CANADIAN SYLLABICS NAA
+014C9 CANADIAN SYLLABICS NWE
+014CA CANADIAN SYLLABICS WEST-CREE NWE
+014CB CANADIAN SYLLABICS NWA
+014CC CANADIAN SYLLABICS WEST-CREE NWA
+014CD CANADIAN SYLLABICS NWAA
+014CE CANADIAN SYLLABICS WEST-CREE NWAA
+014CF CANADIAN SYLLABICS NASKAPI NWAA
+014D0 CANADIAN SYLLABICS N
+014D1 CANADIAN SYLLABICS CARRIER NG
+014D2 CANADIAN SYLLABICS NH
+014D3 CANADIAN SYLLABICS LE
+014D4 CANADIAN SYLLABICS LAAI
+014D5 CANADIAN SYLLABICS LI
+014D6 CANADIAN SYLLABICS LII
+014D7 CANADIAN SYLLABICS LO
+014D8 CANADIAN SYLLABICS LOO
+014D9 CANADIAN SYLLABICS Y-CREE LOO
+014DA CANADIAN SYLLABICS LA
+014DB CANADIAN SYLLABICS LAA
+014DC CANADIAN SYLLABICS LWE
+014DD CANADIAN SYLLABICS WEST-CREE LWE
+014DE CANADIAN SYLLABICS LWI
+014DF CANADIAN SYLLABICS WEST-CREE LWI
+014E0 CANADIAN SYLLABICS LWII
+014E1 CANADIAN SYLLABICS WEST-CREE LWII
+014E2 CANADIAN SYLLABICS LWO
+014E3 CANADIAN SYLLABICS WEST-CREE LWO
+014E4 CANADIAN SYLLABICS LWOO
+014E5 CANADIAN SYLLABICS WEST-CREE LWOO
+014E6 CANADIAN SYLLABICS LWA
+014E7 CANADIAN SYLLABICS WEST-CREE LWA
+014E8 CANADIAN SYLLABICS LWAA
+014E9 CANADIAN SYLLABICS WEST-CREE LWAA
+014EA CANADIAN SYLLABICS L
+014EB CANADIAN SYLLABICS WEST-CREE L
+014EC CANADIAN SYLLABICS MEDIAL L
+014ED CANADIAN SYLLABICS SE
+014EE CANADIAN SYLLABICS SAAI
+014EF CANADIAN SYLLABICS SI
+014F0 CANADIAN SYLLABICS SII
+014F1 CANADIAN SYLLABICS SO
+014F2 CANADIAN SYLLABICS SOO
+014F3 CANADIAN SYLLABICS Y-CREE SOO
+014F4 CANADIAN SYLLABICS SA
+014F5 CANADIAN SYLLABICS SAA
+014F6 CANADIAN SYLLABICS SWE
+014F7 CANADIAN SYLLABICS WEST-CREE SWE
+014F8 CANADIAN SYLLABICS SWI
+014F9 CANADIAN SYLLABICS WEST-CREE SWI
+014FA CANADIAN SYLLABICS SWII
+014FB CANADIAN SYLLABICS WEST-CREE SWII
+014FC CANADIAN SYLLABICS SWO
+014FD CANADIAN SYLLABICS WEST-CREE SWO
+014FE CANADIAN SYLLABICS SWOO
+014FF CANADIAN SYLLABICS WEST-CREE SWOO
+01500 CANADIAN SYLLABICS SWA
+01501 CANADIAN SYLLABICS WEST-CREE SWA
+01502 CANADIAN SYLLABICS SWAA
+01503 CANADIAN SYLLABICS WEST-CREE SWAA
+01504 CANADIAN SYLLABICS NASKAPI SWAA
+01505 CANADIAN SYLLABICS S
+01506 CANADIAN SYLLABICS ATHAPASCAN S
+01507 CANADIAN SYLLABICS SW
+01508 CANADIAN SYLLABICS BLACKFOOT S
+01509 CANADIAN SYLLABICS MOOSE-CREE SK
+0150A CANADIAN SYLLABICS NASKAPI SKW
+0150B CANADIAN SYLLABICS NASKAPI S-W
+0150C CANADIAN SYLLABICS NASKAPI SPWA
+0150D CANADIAN SYLLABICS NASKAPI STWA
+0150E CANADIAN SYLLABICS NASKAPI SKWA
+0150F CANADIAN SYLLABICS NASKAPI SCWA
+01510 CANADIAN SYLLABICS SHE
+01511 CANADIAN SYLLABICS SHI
+01512 CANADIAN SYLLABICS SHII
+01513 CANADIAN SYLLABICS SHO
+01514 CANADIAN SYLLABICS SHOO
+01515 CANADIAN SYLLABICS SHA
+01516 CANADIAN SYLLABICS SHAA
+01517 CANADIAN SYLLABICS SHWE
+01518 CANADIAN SYLLABICS WEST-CREE SHWE
+01519 CANADIAN SYLLABICS SHWI
+0151A CANADIAN SYLLABICS WEST-CREE SHWI
+0151B CANADIAN SYLLABICS SHWII
+0151C CANADIAN SYLLABICS WEST-CREE SHWII
+0151D CANADIAN SYLLABICS SHWO
+0151E CANADIAN SYLLABICS WEST-CREE SHWO
+0151F CANADIAN SYLLABICS SHWOO
+01520 CANADIAN SYLLABICS WEST-CREE SHWOO
+01521 CANADIAN SYLLABICS SHWA
+01522 CANADIAN SYLLABICS WEST-CREE SHWA
+01523 CANADIAN SYLLABICS SHWAA
+01524 CANADIAN SYLLABICS WEST-CREE SHWAA
+01525 CANADIAN SYLLABICS SH
+01526 CANADIAN SYLLABICS YE
+01527 CANADIAN SYLLABICS YAAI
+01528 CANADIAN SYLLABICS YI
+01529 CANADIAN SYLLABICS YII
+0152A CANADIAN SYLLABICS YO
+0152B CANADIAN SYLLABICS YOO
+0152C CANADIAN SYLLABICS Y-CREE YOO
+0152D CANADIAN SYLLABICS YA
+0152E CANADIAN SYLLABICS YAA
+0152F CANADIAN SYLLABICS YWE
+01530 CANADIAN SYLLABICS WEST-CREE YWE
+01531 CANADIAN SYLLABICS YWI
+01532 CANADIAN SYLLABICS WEST-CREE YWI
+01533 CANADIAN SYLLABICS YWII
+01534 CANADIAN SYLLABICS WEST-CREE YWII
+01535 CANADIAN SYLLABICS YWO
+01536 CANADIAN SYLLABICS WEST-CREE YWO
+01537 CANADIAN SYLLABICS YWOO
+01538 CANADIAN SYLLABICS WEST-CREE YWOO
+01539 CANADIAN SYLLABICS YWA
+0153A CANADIAN SYLLABICS WEST-CREE YWA
+0153B CANADIAN SYLLABICS YWAA
+0153C CANADIAN SYLLABICS WEST-CREE YWAA
+0153D CANADIAN SYLLABICS NASKAPI YWAA
+0153E CANADIAN SYLLABICS Y
+0153F CANADIAN SYLLABICS BIBLE-CREE Y
+01540 CANADIAN SYLLABICS WEST-CREE Y
+01541 CANADIAN SYLLABICS SAYISI YI
+01542 CANADIAN SYLLABICS RE
+01543 CANADIAN SYLLABICS R-CREE RE
+01544 CANADIAN SYLLABICS WEST-CREE LE
+01545 CANADIAN SYLLABICS RAAI
+01546 CANADIAN SYLLABICS RI
+01547 CANADIAN SYLLABICS RII
+01548 CANADIAN SYLLABICS RO
+01549 CANADIAN SYLLABICS ROO
+0154A CANADIAN SYLLABICS WEST-CREE LO
+0154B CANADIAN SYLLABICS RA
+0154C CANADIAN SYLLABICS RAA
+0154D CANADIAN SYLLABICS WEST-CREE LA
+0154E CANADIAN SYLLABICS RWAA
+0154F CANADIAN SYLLABICS WEST-CREE RWAA
+01550 CANADIAN SYLLABICS R
+01551 CANADIAN SYLLABICS WEST-CREE R
+01552 CANADIAN SYLLABICS MEDIAL R
+01553 CANADIAN SYLLABICS FE
+01554 CANADIAN SYLLABICS FAAI
+01555 CANADIAN SYLLABICS FI
+01556 CANADIAN SYLLABICS FII
+01557 CANADIAN SYLLABICS FO
+01558 CANADIAN SYLLABICS FOO
+01559 CANADIAN SYLLABICS FA
+0155A CANADIAN SYLLABICS FAA
+0155B CANADIAN SYLLABICS FWAA
+0155C CANADIAN SYLLABICS WEST-CREE FWAA
+0155D CANADIAN SYLLABICS F
+0155E CANADIAN SYLLABICS THE
+0155F CANADIAN SYLLABICS N-CREE THE
+01560 CANADIAN SYLLABICS THI
+01561 CANADIAN SYLLABICS N-CREE THI
+01562 CANADIAN SYLLABICS THII
+01563 CANADIAN SYLLABICS N-CREE THII
+01564 CANADIAN SYLLABICS THO
+01565 CANADIAN SYLLABICS THOO
+01566 CANADIAN SYLLABICS THA
+01567 CANADIAN SYLLABICS THAA
+01568 CANADIAN SYLLABICS THWAA
+01569 CANADIAN SYLLABICS WEST-CREE THWAA
+0156A CANADIAN SYLLABICS TH
+0156B CANADIAN SYLLABICS TTHE
+0156C CANADIAN SYLLABICS TTHI
+0156D CANADIAN SYLLABICS TTHO
+0156E CANADIAN SYLLABICS TTHA
+0156F CANADIAN SYLLABICS TTH
+01570 CANADIAN SYLLABICS TYE
+01571 CANADIAN SYLLABICS TYI
+01572 CANADIAN SYLLABICS TYO
+01573 CANADIAN SYLLABICS TYA
+01574 CANADIAN SYLLABICS NUNAVIK HE
+01575 CANADIAN SYLLABICS NUNAVIK HI
+01576 CANADIAN SYLLABICS NUNAVIK HII
+01577 CANADIAN SYLLABICS NUNAVIK HO
+01578 CANADIAN SYLLABICS NUNAVIK HOO
+01579 CANADIAN SYLLABICS NUNAVIK HA
+0157A CANADIAN SYLLABICS NUNAVIK HAA
+0157B CANADIAN SYLLABICS NUNAVIK H
+0157C CANADIAN SYLLABICS NUNAVUT H
+0157D CANADIAN SYLLABICS HK
+0157E CANADIAN SYLLABICS QAAI
+0157F CANADIAN SYLLABICS QI
+01580 CANADIAN SYLLABICS QII
+01581 CANADIAN SYLLABICS QO
+01582 CANADIAN SYLLABICS QOO
+01583 CANADIAN SYLLABICS QA
+01584 CANADIAN SYLLABICS QAA
+01585 CANADIAN SYLLABICS Q
+01586 CANADIAN SYLLABICS TLHE
+01587 CANADIAN SYLLABICS TLHI
+01588 CANADIAN SYLLABICS TLHO
+01589 CANADIAN SYLLABICS TLHA
+0158A CANADIAN SYLLABICS WEST-CREE RE
+0158B CANADIAN SYLLABICS WEST-CREE RI
+0158C CANADIAN SYLLABICS WEST-CREE RO
+0158D CANADIAN SYLLABICS WEST-CREE RA
+0158E CANADIAN SYLLABICS NGAAI
+0158F CANADIAN SYLLABICS NGI
+01590 CANADIAN SYLLABICS NGII
+01591 CANADIAN SYLLABICS NGO
+01592 CANADIAN SYLLABICS NGOO
+01593 CANADIAN SYLLABICS NGA
+01594 CANADIAN SYLLABICS NGAA
+01595 CANADIAN SYLLABICS NG
+01596 CANADIAN SYLLABICS NNG
+01597 CANADIAN SYLLABICS SAYISI SHE
+01598 CANADIAN SYLLABICS SAYISI SHI
+01599 CANADIAN SYLLABICS SAYISI SHO
+0159A CANADIAN SYLLABICS SAYISI SHA
+0159B CANADIAN SYLLABICS WOODS-CREE THE
+0159C CANADIAN SYLLABICS WOODS-CREE THI
+0159D CANADIAN SYLLABICS WOODS-CREE THO
+0159E CANADIAN SYLLABICS WOODS-CREE THA
+0159F CANADIAN SYLLABICS WOODS-CREE TH
+015A0 CANADIAN SYLLABICS LHI
+015A1 CANADIAN SYLLABICS LHII
+015A2 CANADIAN SYLLABICS LHO
+015A3 CANADIAN SYLLABICS LHOO
+015A4 CANADIAN SYLLABICS LHA
+015A5 CANADIAN SYLLABICS LHAA
+015A6 CANADIAN SYLLABICS LH
+015A7 CANADIAN SYLLABICS TH-CREE THE
+015A8 CANADIAN SYLLABICS TH-CREE THI
+015A9 CANADIAN SYLLABICS TH-CREE THII
+015AA CANADIAN SYLLABICS TH-CREE THO
+015AB CANADIAN SYLLABICS TH-CREE THOO
+015AC CANADIAN SYLLABICS TH-CREE THA
+015AD CANADIAN SYLLABICS TH-CREE THAA
+015AE CANADIAN SYLLABICS TH-CREE TH
+015AF CANADIAN SYLLABICS AIVILIK B
+015B0 CANADIAN SYLLABICS BLACKFOOT E
+015B1 CANADIAN SYLLABICS BLACKFOOT I
+015B2 CANADIAN SYLLABICS BLACKFOOT O
+015B3 CANADIAN SYLLABICS BLACKFOOT A
+015B4 CANADIAN SYLLABICS BLACKFOOT WE
+015B5 CANADIAN SYLLABICS BLACKFOOT WI
+015B6 CANADIAN SYLLABICS BLACKFOOT WO
+015B7 CANADIAN SYLLABICS BLACKFOOT WA
+015B8 CANADIAN SYLLABICS BLACKFOOT NE
+015B9 CANADIAN SYLLABICS BLACKFOOT NI
+015BA CANADIAN SYLLABICS BLACKFOOT NO
+015BB CANADIAN SYLLABICS BLACKFOOT NA
+015BC CANADIAN SYLLABICS BLACKFOOT KE
+015BD CANADIAN SYLLABICS BLACKFOOT KI
+015BE CANADIAN SYLLABICS BLACKFOOT KO
+015BF CANADIAN SYLLABICS BLACKFOOT KA
+015C0 CANADIAN SYLLABICS SAYISI HE
+015C1 CANADIAN SYLLABICS SAYISI HI
+015C2 CANADIAN SYLLABICS SAYISI HO
+015C3 CANADIAN SYLLABICS SAYISI HA
+015C4 CANADIAN SYLLABICS CARRIER GHU
+015C5 CANADIAN SYLLABICS CARRIER GHO
+015C6 CANADIAN SYLLABICS CARRIER GHE
+015C7 CANADIAN SYLLABICS CARRIER GHEE
+015C8 CANADIAN SYLLABICS CARRIER GHI
+015C9 CANADIAN SYLLABICS CARRIER GHA
+015CA CANADIAN SYLLABICS CARRIER RU
+015CB CANADIAN SYLLABICS CARRIER RO
+015CC CANADIAN SYLLABICS CARRIER RE
+015CD CANADIAN SYLLABICS CARRIER REE
+015CE CANADIAN SYLLABICS CARRIER RI
+015CF CANADIAN SYLLABICS CARRIER RA
+015D0 CANADIAN SYLLABICS CARRIER WU
+015D1 CANADIAN SYLLABICS CARRIER WO
+015D2 CANADIAN SYLLABICS CARRIER WE
+015D3 CANADIAN SYLLABICS CARRIER WEE
+015D4 CANADIAN SYLLABICS CARRIER WI
+015D5 CANADIAN SYLLABICS CARRIER WA
+015D6 CANADIAN SYLLABICS CARRIER HWU
+015D7 CANADIAN SYLLABICS CARRIER HWO
+015D8 CANADIAN SYLLABICS CARRIER HWE
+015D9 CANADIAN SYLLABICS CARRIER HWEE
+015DA CANADIAN SYLLABICS CARRIER HWI
+015DB CANADIAN SYLLABICS CARRIER HWA
+015DC CANADIAN SYLLABICS CARRIER THU
+015DD CANADIAN SYLLABICS CARRIER THO
+015DE CANADIAN SYLLABICS CARRIER THE
+015DF CANADIAN SYLLABICS CARRIER THEE
+015E0 CANADIAN SYLLABICS CARRIER THI
+015E1 CANADIAN SYLLABICS CARRIER THA
+015E2 CANADIAN SYLLABICS CARRIER TTU
+015E3 CANADIAN SYLLABICS CARRIER TTO
+015E4 CANADIAN SYLLABICS CARRIER TTE
+015E5 CANADIAN SYLLABICS CARRIER TTEE
+015E6 CANADIAN SYLLABICS CARRIER TTI
+015E7 CANADIAN SYLLABICS CARRIER TTA
+015E8 CANADIAN SYLLABICS CARRIER PU
+015E9 CANADIAN SYLLABICS CARRIER PO
+015EA CANADIAN SYLLABICS CARRIER PE
+015EB CANADIAN SYLLABICS CARRIER PEE
+015EC CANADIAN SYLLABICS CARRIER PI
+015ED CANADIAN SYLLABICS CARRIER PA
+015EE CANADIAN SYLLABICS CARRIER P
+015EF CANADIAN SYLLABICS CARRIER GU
+015F0 CANADIAN SYLLABICS CARRIER GO
+015F1 CANADIAN SYLLABICS CARRIER GE
+015F2 CANADIAN SYLLABICS CARRIER GEE
+015F3 CANADIAN SYLLABICS CARRIER GI
+015F4 CANADIAN SYLLABICS CARRIER GA
+015F5 CANADIAN SYLLABICS CARRIER KHU
+015F6 CANADIAN SYLLABICS CARRIER KHO
+015F7 CANADIAN SYLLABICS CARRIER KHE
+015F8 CANADIAN SYLLABICS CARRIER KHEE
+015F9 CANADIAN SYLLABICS CARRIER KHI
+015FA CANADIAN SYLLABICS CARRIER KHA
+015FB CANADIAN SYLLABICS CARRIER KKU
+015FC CANADIAN SYLLABICS CARRIER KKO
+015FD CANADIAN SYLLABICS CARRIER KKE
+015FE CANADIAN SYLLABICS CARRIER KKEE
+015FF CANADIAN SYLLABICS CARRIER KKI
+01600 CANADIAN SYLLABICS CARRIER KKA
+01601 CANADIAN SYLLABICS CARRIER KK
+01602 CANADIAN SYLLABICS CARRIER NU
+01603 CANADIAN SYLLABICS CARRIER NO
+01604 CANADIAN SYLLABICS CARRIER NE
+01605 CANADIAN SYLLABICS CARRIER NEE
+01606 CANADIAN SYLLABICS CARRIER NI
+01607 CANADIAN SYLLABICS CARRIER NA
+01608 CANADIAN SYLLABICS CARRIER MU
+01609 CANADIAN SYLLABICS CARRIER MO
+0160A CANADIAN SYLLABICS CARRIER ME
+0160B CANADIAN SYLLABICS CARRIER MEE
+0160C CANADIAN SYLLABICS CARRIER MI
+0160D CANADIAN SYLLABICS CARRIER MA
+0160E CANADIAN SYLLABICS CARRIER YU
+0160F CANADIAN SYLLABICS CARRIER YO
+01610 CANADIAN SYLLABICS CARRIER YE
+01611 CANADIAN SYLLABICS CARRIER YEE
+01612 CANADIAN SYLLABICS CARRIER YI
+01613 CANADIAN SYLLABICS CARRIER YA
+01614 CANADIAN SYLLABICS CARRIER JU
+01615 CANADIAN SYLLABICS SAYISI JU
+01616 CANADIAN SYLLABICS CARRIER JO
+01617 CANADIAN SYLLABICS CARRIER JE
+01618 CANADIAN SYLLABICS CARRIER JEE
+01619 CANADIAN SYLLABICS CARRIER JI
+0161A CANADIAN SYLLABICS SAYISI JI
+0161B CANADIAN SYLLABICS CARRIER JA
+0161C CANADIAN SYLLABICS CARRIER JJU
+0161D CANADIAN SYLLABICS CARRIER JJO
+0161E CANADIAN SYLLABICS CARRIER JJE
+0161F CANADIAN SYLLABICS CARRIER JJEE
+01620 CANADIAN SYLLABICS CARRIER JJI
+01621 CANADIAN SYLLABICS CARRIER JJA
+01622 CANADIAN SYLLABICS CARRIER LU
+01623 CANADIAN SYLLABICS CARRIER LO
+01624 CANADIAN SYLLABICS CARRIER LE
+01625 CANADIAN SYLLABICS CARRIER LEE
+01626 CANADIAN SYLLABICS CARRIER LI
+01627 CANADIAN SYLLABICS CARRIER LA
+01628 CANADIAN SYLLABICS CARRIER DLU
+01629 CANADIAN SYLLABICS CARRIER DLO
+0162A CANADIAN SYLLABICS CARRIER DLE
+0162B CANADIAN SYLLABICS CARRIER DLEE
+0162C CANADIAN SYLLABICS CARRIER DLI
+0162D CANADIAN SYLLABICS CARRIER DLA
+0162E CANADIAN SYLLABICS CARRIER LHU
+0162F CANADIAN SYLLABICS CARRIER LHO
+01630 CANADIAN SYLLABICS CARRIER LHE
+01631 CANADIAN SYLLABICS CARRIER LHEE
+01632 CANADIAN SYLLABICS CARRIER LHI
+01633 CANADIAN SYLLABICS CARRIER LHA
+01634 CANADIAN SYLLABICS CARRIER TLHU
+01635 CANADIAN SYLLABICS CARRIER TLHO
+01636 CANADIAN SYLLABICS CARRIER TLHE
+01637 CANADIAN SYLLABICS CARRIER TLHEE
+01638 CANADIAN SYLLABICS CARRIER TLHI
+01639 CANADIAN SYLLABICS CARRIER TLHA
+0163A CANADIAN SYLLABICS CARRIER TLU
+0163B CANADIAN SYLLABICS CARRIER TLO
+0163C CANADIAN SYLLABICS CARRIER TLE
+0163D CANADIAN SYLLABICS CARRIER TLEE
+0163E CANADIAN SYLLABICS CARRIER TLI
+0163F CANADIAN SYLLABICS CARRIER TLA
+01640 CANADIAN SYLLABICS CARRIER ZU
+01641 CANADIAN SYLLABICS CARRIER ZO
+01642 CANADIAN SYLLABICS CARRIER ZE
+01643 CANADIAN SYLLABICS CARRIER ZEE
+01644 CANADIAN SYLLABICS CARRIER ZI
+01645 CANADIAN SYLLABICS CARRIER ZA
+01646 CANADIAN SYLLABICS CARRIER Z
+01647 CANADIAN SYLLABICS CARRIER INITIAL Z
+01648 CANADIAN SYLLABICS CARRIER DZU
+01649 CANADIAN SYLLABICS CARRIER DZO
+0164A CANADIAN SYLLABICS CARRIER DZE
+0164B CANADIAN SYLLABICS CARRIER DZEE
+0164C CANADIAN SYLLABICS CARRIER DZI
+0164D CANADIAN SYLLABICS CARRIER DZA
+0164E CANADIAN SYLLABICS CARRIER SU
+0164F CANADIAN SYLLABICS CARRIER SO
+01650 CANADIAN SYLLABICS CARRIER SE
+01651 CANADIAN SYLLABICS CARRIER SEE
+01652 CANADIAN SYLLABICS CARRIER SI
+01653 CANADIAN SYLLABICS CARRIER SA
+01654 CANADIAN SYLLABICS CARRIER SHU
+01655 CANADIAN SYLLABICS CARRIER SHO
+01656 CANADIAN SYLLABICS CARRIER SHE
+01657 CANADIAN SYLLABICS CARRIER SHEE
+01658 CANADIAN SYLLABICS CARRIER SHI
+01659 CANADIAN SYLLABICS CARRIER SHA
+0165A CANADIAN SYLLABICS CARRIER SH
+0165B CANADIAN SYLLABICS CARRIER TSU
+0165C CANADIAN SYLLABICS CARRIER TSO
+0165D CANADIAN SYLLABICS CARRIER TSE
+0165E CANADIAN SYLLABICS CARRIER TSEE
+0165F CANADIAN SYLLABICS CARRIER TSI
+01660 CANADIAN SYLLABICS CARRIER TSA
+01661 CANADIAN SYLLABICS CARRIER CHU
+01662 CANADIAN SYLLABICS CARRIER CHO
+01663 CANADIAN SYLLABICS CARRIER CHE
+01664 CANADIAN SYLLABICS CARRIER CHEE
+01665 CANADIAN SYLLABICS CARRIER CHI
+01666 CANADIAN SYLLABICS CARRIER CHA
+01667 CANADIAN SYLLABICS CARRIER TTSU
+01668 CANADIAN SYLLABICS CARRIER TTSO
+01669 CANADIAN SYLLABICS CARRIER TTSE
+0166A CANADIAN SYLLABICS CARRIER TTSEE
+0166B CANADIAN SYLLABICS CARRIER TTSI
+0166C CANADIAN SYLLABICS CARRIER TTSA
+0166D CANADIAN SYLLABICS CHI SIGN
+0166E CANADIAN SYLLABICS FULL STOP
+0166F CANADIAN SYLLABICS QAI
+01670 CANADIAN SYLLABICS NGAI
+01671 CANADIAN SYLLABICS NNGI
+01672 CANADIAN SYLLABICS NNGII
+01673 CANADIAN SYLLABICS NNGO
+01674 CANADIAN SYLLABICS NNGOO
+01675 CANADIAN SYLLABICS NNGA
+01676 CANADIAN SYLLABICS NNGAA
+01677 CANADIAN SYLLABICS WOODS-CREE THWEE
+01678 CANADIAN SYLLABICS WOODS-CREE THWI
+01679 CANADIAN SYLLABICS WOODS-CREE THWII
+0167A CANADIAN SYLLABICS WOODS-CREE THWO
+0167B CANADIAN SYLLABICS WOODS-CREE THWOO
+0167C CANADIAN SYLLABICS WOODS-CREE THWA
+0167D CANADIAN SYLLABICS WOODS-CREE THWAA
+0167E CANADIAN SYLLABICS WOODS-CREE FINAL TH
+0167F CANADIAN SYLLABICS BLACKFOOT W
+01680 OGHAM SPACE MARK
+01681 OGHAM LETTER BEITH
+01682 OGHAM LETTER LUIS
+01683 OGHAM LETTER FEARN
+01684 OGHAM LETTER SAIL
+01685 OGHAM LETTER NION
+01686 OGHAM LETTER UATH
+01687 OGHAM LETTER DAIR
+01688 OGHAM LETTER TINNE
+01689 OGHAM LETTER COLL
+0168A OGHAM LETTER CEIRT
+0168B OGHAM LETTER MUIN
+0168C OGHAM LETTER GORT
+0168D OGHAM LETTER NGEADAL
+0168E OGHAM LETTER STRAIF
+0168F OGHAM LETTER RUIS
+01690 OGHAM LETTER AILM
+01691 OGHAM LETTER ONN
+01692 OGHAM LETTER UR
+01693 OGHAM LETTER EADHADH
+01694 OGHAM LETTER IODHADH
+01695 OGHAM LETTER EABHADH
+01696 OGHAM LETTER OR
+01697 OGHAM LETTER UILLEANN
+01698 OGHAM LETTER IFIN
+01699 OGHAM LETTER EAMHANCHOLL
+0169A OGHAM LETTER PEITH
+0169B OGHAM FEATHER MARK
+0169C OGHAM REVERSED FEATHER MARK
+016A0 RUNIC LETTER FEHU FEOH FE F
+016A1 RUNIC LETTER V
+016A2 RUNIC LETTER URUZ UR U
+016A3 RUNIC LETTER YR
+016A4 RUNIC LETTER Y
+016A5 RUNIC LETTER W
+016A6 RUNIC LETTER THURISAZ THURS THORN
+016A7 RUNIC LETTER ETH
+016A8 RUNIC LETTER ANSUZ A
+016A9 RUNIC LETTER OS O
+016AA RUNIC LETTER AC A
+016AB RUNIC LETTER AESC
+016AC RUNIC LETTER LONG-BRANCH-OSS O
+016AD RUNIC LETTER SHORT-TWIG-OSS O
+016AE RUNIC LETTER O
+016AF RUNIC LETTER OE
+016B0 RUNIC LETTER ON
+016B1 RUNIC LETTER RAIDO RAD REID R
+016B2 RUNIC LETTER KAUNA
+016B3 RUNIC LETTER CEN
+016B4 RUNIC LETTER KAUN K
+016B5 RUNIC LETTER G
+016B6 RUNIC LETTER ENG
+016B7 RUNIC LETTER GEBO GYFU G
+016B8 RUNIC LETTER GAR
+016B9 RUNIC LETTER WUNJO WYNN W
+016BA RUNIC LETTER HAGLAZ H
+016BB RUNIC LETTER HAEGL H
+016BC RUNIC LETTER LONG-BRANCH-HAGALL H
+016BD RUNIC LETTER SHORT-TWIG-HAGALL H
+016BE RUNIC LETTER NAUDIZ NYD NAUD N
+016BF RUNIC LETTER SHORT-TWIG-NAUD N
+016C0 RUNIC LETTER DOTTED-N
+016C1 RUNIC LETTER ISAZ IS ISS I
+016C2 RUNIC LETTER E
+016C3 RUNIC LETTER JERAN J
+016C4 RUNIC LETTER GER
+016C5 RUNIC LETTER LONG-BRANCH-AR AE
+016C6 RUNIC LETTER SHORT-TWIG-AR A
+016C7 RUNIC LETTER IWAZ EOH
+016C8 RUNIC LETTER PERTHO PEORTH P
+016C9 RUNIC LETTER ALGIZ EOLHX
+016CA RUNIC LETTER SOWILO S
+016CB RUNIC LETTER SIGEL LONG-BRANCH-SOL S
+016CC RUNIC LETTER SHORT-TWIG-SOL S
+016CD RUNIC LETTER C
+016CE RUNIC LETTER Z
+016CF RUNIC LETTER TIWAZ TIR TYR T
+016D0 RUNIC LETTER SHORT-TWIG-TYR T
+016D1 RUNIC LETTER D
+016D2 RUNIC LETTER BERKANAN BEORC BJARKAN B
+016D3 RUNIC LETTER SHORT-TWIG-BJARKAN B
+016D4 RUNIC LETTER DOTTED-P
+016D5 RUNIC LETTER OPEN-P
+016D6 RUNIC LETTER EHWAZ EH E
+016D7 RUNIC LETTER MANNAZ MAN M
+016D8 RUNIC LETTER LONG-BRANCH-MADR M
+016D9 RUNIC LETTER SHORT-TWIG-MADR M
+016DA RUNIC LETTER LAUKAZ LAGU LOGR L
+016DB RUNIC LETTER DOTTED-L
+016DC RUNIC LETTER INGWAZ
+016DD RUNIC LETTER ING
+016DE RUNIC LETTER DAGAZ DAEG D
+016DF RUNIC LETTER OTHALAN ETHEL O
+016E0 RUNIC LETTER EAR
+016E1 RUNIC LETTER IOR
+016E2 RUNIC LETTER CWEORTH
+016E3 RUNIC LETTER CALC
+016E4 RUNIC LETTER CEALC
+016E5 RUNIC LETTER STAN
+016E6 RUNIC LETTER LONG-BRANCH-YR
+016E7 RUNIC LETTER SHORT-TWIG-YR
+016E8 RUNIC LETTER ICELANDIC-YR
+016E9 RUNIC LETTER Q
+016EA RUNIC LETTER X
+016EB RUNIC SINGLE PUNCTUATION
+016EC RUNIC MULTIPLE PUNCTUATION
+016ED RUNIC CROSS PUNCTUATION
+016EE RUNIC ARLAUG SYMBOL
+016EF RUNIC TVIMADUR SYMBOL
+016F0 RUNIC BELGTHOR SYMBOL
+01700 TAGALOG LETTER A
+01701 TAGALOG LETTER I
+01702 TAGALOG LETTER U
+01703 TAGALOG LETTER KA
+01704 TAGALOG LETTER GA
+01705 TAGALOG LETTER NGA
+01706 TAGALOG LETTER TA
+01707 TAGALOG LETTER DA
+01708 TAGALOG LETTER NA
+01709 TAGALOG LETTER PA
+0170A TAGALOG LETTER BA
+0170B TAGALOG LETTER MA
+0170C TAGALOG LETTER YA
+0170E TAGALOG LETTER LA
+0170F TAGALOG LETTER WA
+01710 TAGALOG LETTER SA
+01711 TAGALOG LETTER HA
+01712 TAGALOG VOWEL SIGN I
+01713 TAGALOG VOWEL SIGN U
+01714 TAGALOG SIGN VIRAMA
+01720 HANUNOO LETTER A
+01721 HANUNOO LETTER I
+01722 HANUNOO LETTER U
+01723 HANUNOO LETTER KA
+01724 HANUNOO LETTER GA
+01725 HANUNOO LETTER NGA
+01726 HANUNOO LETTER TA
+01727 HANUNOO LETTER DA
+01728 HANUNOO LETTER NA
+01729 HANUNOO LETTER PA
+0172A HANUNOO LETTER BA
+0172B HANUNOO LETTER MA
+0172C HANUNOO LETTER YA
+0172D HANUNOO LETTER RA
+0172E HANUNOO LETTER LA
+0172F HANUNOO LETTER WA
+01730 HANUNOO LETTER SA
+01731 HANUNOO LETTER HA
+01732 HANUNOO VOWEL SIGN I
+01733 HANUNOO VOWEL SIGN U
+01734 HANUNOO SIGN PAMUDPOD
+01735 PHILIPPINE SINGLE PUNCTUATION
+01736 PHILIPPINE DOUBLE PUNCTUATION
+01740 BUHID LETTER A
+01741 BUHID LETTER I
+01742 BUHID LETTER U
+01743 BUHID LETTER KA
+01744 BUHID LETTER GA
+01745 BUHID LETTER NGA
+01746 BUHID LETTER TA
+01747 BUHID LETTER DA
+01748 BUHID LETTER NA
+01749 BUHID LETTER PA
+0174A BUHID LETTER BA
+0174B BUHID LETTER MA
+0174C BUHID LETTER YA
+0174D BUHID LETTER RA
+0174E BUHID LETTER LA
+0174F BUHID LETTER WA
+01750 BUHID LETTER SA
+01751 BUHID LETTER HA
+01752 BUHID VOWEL SIGN I
+01753 BUHID VOWEL SIGN U
+01760 TAGBANWA LETTER A
+01761 TAGBANWA LETTER I
+01762 TAGBANWA LETTER U
+01763 TAGBANWA LETTER KA
+01764 TAGBANWA LETTER GA
+01765 TAGBANWA LETTER NGA
+01766 TAGBANWA LETTER TA
+01767 TAGBANWA LETTER DA
+01768 TAGBANWA LETTER NA
+01769 TAGBANWA LETTER PA
+0176A TAGBANWA LETTER BA
+0176B TAGBANWA LETTER MA
+0176C TAGBANWA LETTER YA
+0176E TAGBANWA LETTER LA
+0176F TAGBANWA LETTER WA
+01770 TAGBANWA LETTER SA
+01772 TAGBANWA VOWEL SIGN I
+01773 TAGBANWA VOWEL SIGN U
+01780 KHMER LETTER KA
+01781 KHMER LETTER KHA
+01782 KHMER LETTER KO
+01783 KHMER LETTER KHO
+01784 KHMER LETTER NGO
+01785 KHMER LETTER CA
+01786 KHMER LETTER CHA
+01787 KHMER LETTER CO
+01788 KHMER LETTER CHO
+01789 KHMER LETTER NYO
+0178A KHMER LETTER DA
+0178B KHMER LETTER TTHA
+0178C KHMER LETTER DO
+0178D KHMER LETTER TTHO
+0178E KHMER LETTER NNO
+0178F KHMER LETTER TA
+01790 KHMER LETTER THA
+01791 KHMER LETTER TO
+01792 KHMER LETTER THO
+01793 KHMER LETTER NO
+01794 KHMER LETTER BA
+01795 KHMER LETTER PHA
+01796 KHMER LETTER PO
+01797 KHMER LETTER PHO
+01798 KHMER LETTER MO
+01799 KHMER LETTER YO
+0179A KHMER LETTER RO
+0179B KHMER LETTER LO
+0179C KHMER LETTER VO
+0179D KHMER LETTER SHA
+0179E KHMER LETTER SSO
+0179F KHMER LETTER SA
+017A0 KHMER LETTER HA
+017A1 KHMER LETTER LA
+017A2 KHMER LETTER QA
+017A3 KHMER INDEPENDENT VOWEL QAQ
+017A4 KHMER INDEPENDENT VOWEL QAA
+017A5 KHMER INDEPENDENT VOWEL QI
+017A6 KHMER INDEPENDENT VOWEL QII
+017A7 KHMER INDEPENDENT VOWEL QU
+017A8 KHMER INDEPENDENT VOWEL QUK
+017A9 KHMER INDEPENDENT VOWEL QUU
+017AA KHMER INDEPENDENT VOWEL QUUV
+017AB KHMER INDEPENDENT VOWEL RY
+017AC KHMER INDEPENDENT VOWEL RYY
+017AD KHMER INDEPENDENT VOWEL LY
+017AE KHMER INDEPENDENT VOWEL LYY
+017AF KHMER INDEPENDENT VOWEL QE
+017B0 KHMER INDEPENDENT VOWEL QAI
+017B1 KHMER INDEPENDENT VOWEL QOO TYPE ONE
+017B2 KHMER INDEPENDENT VOWEL QOO TYPE TWO
+017B3 KHMER INDEPENDENT VOWEL QAU
+017B4 KHMER VOWEL INHERENT AQ
+017B5 KHMER VOWEL INHERENT AA
+017B6 KHMER VOWEL SIGN AA
+017B7 KHMER VOWEL SIGN I
+017B8 KHMER VOWEL SIGN II
+017B9 KHMER VOWEL SIGN Y
+017BA KHMER VOWEL SIGN YY
+017BB KHMER VOWEL SIGN U
+017BC KHMER VOWEL SIGN UU
+017BD KHMER VOWEL SIGN UA
+017BE KHMER VOWEL SIGN OE
+017BF KHMER VOWEL SIGN YA
+017C0 KHMER VOWEL SIGN IE
+017C1 KHMER VOWEL SIGN E
+017C2 KHMER VOWEL SIGN AE
+017C3 KHMER VOWEL SIGN AI
+017C4 KHMER VOWEL SIGN OO
+017C5 KHMER VOWEL SIGN AU
+017C6 KHMER SIGN NIKAHIT
+017C7 KHMER SIGN REAHMUK
+017C8 KHMER SIGN YUUKALEAPINTU
+017C9 KHMER SIGN MUUSIKATOAN
+017CA KHMER SIGN TRIISAP
+017CB KHMER SIGN BANTOC
+017CC KHMER SIGN ROBAT
+017CD KHMER SIGN TOANDAKHIAT
+017CE KHMER SIGN KAKABAT
+017CF KHMER SIGN AHSDA
+017D0 KHMER SIGN SAMYOK SANNYA
+017D1 KHMER SIGN VIRIAM
+017D2 KHMER SIGN COENG
+017D3 KHMER SIGN BATHAMASAT
+017D4 KHMER SIGN KHAN
+017D5 KHMER SIGN BARIYOOSAN
+017D6 KHMER SIGN CAMNUC PII KUUH
+017D7 KHMER SIGN LEK TOO
+017D8 KHMER SIGN BEYYAL
+017D9 KHMER SIGN PHNAEK MUAN
+017DA KHMER SIGN KOOMUUT
+017DB KHMER CURRENCY SYMBOL RIEL
+017DC KHMER SIGN AVAKRAHASANYA
+017DD KHMER SIGN ATTHACAN
+017E0 KHMER DIGIT ZERO
+017E1 KHMER DIGIT ONE
+017E2 KHMER DIGIT TWO
+017E3 KHMER DIGIT THREE
+017E4 KHMER DIGIT FOUR
+017E5 KHMER DIGIT FIVE
+017E6 KHMER DIGIT SIX
+017E7 KHMER DIGIT SEVEN
+017E8 KHMER DIGIT EIGHT
+017E9 KHMER DIGIT NINE
+017F0 KHMER SYMBOL LEK ATTAK SON
+017F1 KHMER SYMBOL LEK ATTAK MUOY
+017F2 KHMER SYMBOL LEK ATTAK PII
+017F3 KHMER SYMBOL LEK ATTAK BEI
+017F4 KHMER SYMBOL LEK ATTAK BUON
+017F5 KHMER SYMBOL LEK ATTAK PRAM
+017F6 KHMER SYMBOL LEK ATTAK PRAM-MUOY
+017F7 KHMER SYMBOL LEK ATTAK PRAM-PII
+017F8 KHMER SYMBOL LEK ATTAK PRAM-BEI
+017F9 KHMER SYMBOL LEK ATTAK PRAM-BUON
+01800 MONGOLIAN BIRGA
+01801 MONGOLIAN ELLIPSIS
+01802 MONGOLIAN COMMA
+01803 MONGOLIAN FULL STOP
+01804 MONGOLIAN COLON
+01805 MONGOLIAN FOUR DOTS
+01806 MONGOLIAN TODO SOFT HYPHEN
+01807 MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+01808 MONGOLIAN MANCHU COMMA
+01809 MONGOLIAN MANCHU FULL STOP
+0180A MONGOLIAN NIRUGU
+0180B MONGOLIAN FREE VARIATION SELECTOR ONE
+0180C MONGOLIAN FREE VARIATION SELECTOR TWO
+0180D MONGOLIAN FREE VARIATION SELECTOR THREE
+0180E MONGOLIAN VOWEL SEPARATOR
+01810 MONGOLIAN DIGIT ZERO
+01811 MONGOLIAN DIGIT ONE
+01812 MONGOLIAN DIGIT TWO
+01813 MONGOLIAN DIGIT THREE
+01814 MONGOLIAN DIGIT FOUR
+01815 MONGOLIAN DIGIT FIVE
+01816 MONGOLIAN DIGIT SIX
+01817 MONGOLIAN DIGIT SEVEN
+01818 MONGOLIAN DIGIT EIGHT
+01819 MONGOLIAN DIGIT NINE
+01820 MONGOLIAN LETTER A
+01821 MONGOLIAN LETTER E
+01822 MONGOLIAN LETTER I
+01823 MONGOLIAN LETTER O
+01824 MONGOLIAN LETTER U
+01825 MONGOLIAN LETTER OE
+01826 MONGOLIAN LETTER UE
+01827 MONGOLIAN LETTER EE
+01828 MONGOLIAN LETTER NA
+01829 MONGOLIAN LETTER ANG
+0182A MONGOLIAN LETTER BA
+0182B MONGOLIAN LETTER PA
+0182C MONGOLIAN LETTER QA
+0182D MONGOLIAN LETTER GA
+0182E MONGOLIAN LETTER MA
+0182F MONGOLIAN LETTER LA
+01830 MONGOLIAN LETTER SA
+01831 MONGOLIAN LETTER SHA
+01832 MONGOLIAN LETTER TA
+01833 MONGOLIAN LETTER DA
+01834 MONGOLIAN LETTER CHA
+01835 MONGOLIAN LETTER JA
+01836 MONGOLIAN LETTER YA
+01837 MONGOLIAN LETTER RA
+01838 MONGOLIAN LETTER WA
+01839 MONGOLIAN LETTER FA
+0183A MONGOLIAN LETTER KA
+0183B MONGOLIAN LETTER KHA
+0183C MONGOLIAN LETTER TSA
+0183D MONGOLIAN LETTER ZA
+0183E MONGOLIAN LETTER HAA
+0183F MONGOLIAN LETTER ZRA
+01840 MONGOLIAN LETTER LHA
+01841 MONGOLIAN LETTER ZHI
+01842 MONGOLIAN LETTER CHI
+01843 MONGOLIAN LETTER TODO LONG VOWEL SIGN
+01844 MONGOLIAN LETTER TODO E
+01845 MONGOLIAN LETTER TODO I
+01846 MONGOLIAN LETTER TODO O
+01847 MONGOLIAN LETTER TODO U
+01848 MONGOLIAN LETTER TODO OE
+01849 MONGOLIAN LETTER TODO UE
+0184A MONGOLIAN LETTER TODO ANG
+0184B MONGOLIAN LETTER TODO BA
+0184C MONGOLIAN LETTER TODO PA
+0184D MONGOLIAN LETTER TODO QA
+0184E MONGOLIAN LETTER TODO GA
+0184F MONGOLIAN LETTER TODO MA
+01850 MONGOLIAN LETTER TODO TA
+01851 MONGOLIAN LETTER TODO DA
+01852 MONGOLIAN LETTER TODO CHA
+01853 MONGOLIAN LETTER TODO JA
+01854 MONGOLIAN LETTER TODO TSA
+01855 MONGOLIAN LETTER TODO YA
+01856 MONGOLIAN LETTER TODO WA
+01857 MONGOLIAN LETTER TODO KA
+01858 MONGOLIAN LETTER TODO GAA
+01859 MONGOLIAN LETTER TODO HAA
+0185A MONGOLIAN LETTER TODO JIA
+0185B MONGOLIAN LETTER TODO NIA
+0185C MONGOLIAN LETTER TODO DZA
+0185D MONGOLIAN LETTER SIBE E
+0185E MONGOLIAN LETTER SIBE I
+0185F MONGOLIAN LETTER SIBE IY
+01860 MONGOLIAN LETTER SIBE UE
+01861 MONGOLIAN LETTER SIBE U
+01862 MONGOLIAN LETTER SIBE ANG
+01863 MONGOLIAN LETTER SIBE KA
+01864 MONGOLIAN LETTER SIBE GA
+01865 MONGOLIAN LETTER SIBE HA
+01866 MONGOLIAN LETTER SIBE PA
+01867 MONGOLIAN LETTER SIBE SHA
+01868 MONGOLIAN LETTER SIBE TA
+01869 MONGOLIAN LETTER SIBE DA
+0186A MONGOLIAN LETTER SIBE JA
+0186B MONGOLIAN LETTER SIBE FA
+0186C MONGOLIAN LETTER SIBE GAA
+0186D MONGOLIAN LETTER SIBE HAA
+0186E MONGOLIAN LETTER SIBE TSA
+0186F MONGOLIAN LETTER SIBE ZA
+01870 MONGOLIAN LETTER SIBE RAA
+01871 MONGOLIAN LETTER SIBE CHA
+01872 MONGOLIAN LETTER SIBE ZHA
+01873 MONGOLIAN LETTER MANCHU I
+01874 MONGOLIAN LETTER MANCHU KA
+01875 MONGOLIAN LETTER MANCHU RA
+01876 MONGOLIAN LETTER MANCHU FA
+01877 MONGOLIAN LETTER MANCHU ZHA
+01880 MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+01881 MONGOLIAN LETTER ALI GALI VISARGA ONE
+01882 MONGOLIAN LETTER ALI GALI DAMARU
+01883 MONGOLIAN LETTER ALI GALI UBADAMA
+01884 MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+01885 MONGOLIAN LETTER ALI GALI BALUDA
+01886 MONGOLIAN LETTER ALI GALI THREE BALUDA
+01887 MONGOLIAN LETTER ALI GALI A
+01888 MONGOLIAN LETTER ALI GALI I
+01889 MONGOLIAN LETTER ALI GALI KA
+0188A MONGOLIAN LETTER ALI GALI NGA
+0188B MONGOLIAN LETTER ALI GALI CA
+0188C MONGOLIAN LETTER ALI GALI TTA
+0188D MONGOLIAN LETTER ALI GALI TTHA
+0188E MONGOLIAN LETTER ALI GALI DDA
+0188F MONGOLIAN LETTER ALI GALI NNA
+01890 MONGOLIAN LETTER ALI GALI TA
+01891 MONGOLIAN LETTER ALI GALI DA
+01892 MONGOLIAN LETTER ALI GALI PA
+01893 MONGOLIAN LETTER ALI GALI PHA
+01894 MONGOLIAN LETTER ALI GALI SSA
+01895 MONGOLIAN LETTER ALI GALI ZHA
+01896 MONGOLIAN LETTER ALI GALI ZA
+01897 MONGOLIAN LETTER ALI GALI AH
+01898 MONGOLIAN LETTER TODO ALI GALI TA
+01899 MONGOLIAN LETTER TODO ALI GALI ZHA
+0189A MONGOLIAN LETTER MANCHU ALI GALI GHA
+0189B MONGOLIAN LETTER MANCHU ALI GALI NGA
+0189C MONGOLIAN LETTER MANCHU ALI GALI CA
+0189D MONGOLIAN LETTER MANCHU ALI GALI JHA
+0189E MONGOLIAN LETTER MANCHU ALI GALI TTA
+0189F MONGOLIAN LETTER MANCHU ALI GALI DDHA
+018A0 MONGOLIAN LETTER MANCHU ALI GALI TA
+018A1 MONGOLIAN LETTER MANCHU ALI GALI DHA
+018A2 MONGOLIAN LETTER MANCHU ALI GALI SSA
+018A3 MONGOLIAN LETTER MANCHU ALI GALI CYA
+018A4 MONGOLIAN LETTER MANCHU ALI GALI ZHA
+018A5 MONGOLIAN LETTER MANCHU ALI GALI ZA
+018A6 MONGOLIAN LETTER ALI GALI HALF U
+018A7 MONGOLIAN LETTER ALI GALI HALF YA
+018A8 MONGOLIAN LETTER MANCHU ALI GALI BHA
+018A9 MONGOLIAN LETTER ALI GALI DAGALGA
+018AA MONGOLIAN LETTER MANCHU ALI GALI LHA
+018B0 CANADIAN SYLLABICS OY
+018B1 CANADIAN SYLLABICS AY
+018B2 CANADIAN SYLLABICS AAY
+018B3 CANADIAN SYLLABICS WAY
+018B4 CANADIAN SYLLABICS POY
+018B5 CANADIAN SYLLABICS PAY
+018B6 CANADIAN SYLLABICS PWOY
+018B7 CANADIAN SYLLABICS TAY
+018B8 CANADIAN SYLLABICS KAY
+018B9 CANADIAN SYLLABICS KWAY
+018BA CANADIAN SYLLABICS MAY
+018BB CANADIAN SYLLABICS NOY
+018BC CANADIAN SYLLABICS NAY
+018BD CANADIAN SYLLABICS LAY
+018BE CANADIAN SYLLABICS SOY
+018BF CANADIAN SYLLABICS SAY
+018C0 CANADIAN SYLLABICS SHOY
+018C1 CANADIAN SYLLABICS SHAY
+018C2 CANADIAN SYLLABICS SHWOY
+018C3 CANADIAN SYLLABICS YOY
+018C4 CANADIAN SYLLABICS YAY
+018C5 CANADIAN SYLLABICS RAY
+018C6 CANADIAN SYLLABICS NWI
+018C7 CANADIAN SYLLABICS OJIBWAY NWI
+018C8 CANADIAN SYLLABICS NWII
+018C9 CANADIAN SYLLABICS OJIBWAY NWII
+018CA CANADIAN SYLLABICS NWO
+018CB CANADIAN SYLLABICS OJIBWAY NWO
+018CC CANADIAN SYLLABICS NWOO
+018CD CANADIAN SYLLABICS OJIBWAY NWOO
+018CE CANADIAN SYLLABICS RWEE
+018CF CANADIAN SYLLABICS RWI
+018D0 CANADIAN SYLLABICS RWII
+018D1 CANADIAN SYLLABICS RWO
+018D2 CANADIAN SYLLABICS RWOO
+018D3 CANADIAN SYLLABICS RWA
+018D4 CANADIAN SYLLABICS OJIBWAY P
+018D5 CANADIAN SYLLABICS OJIBWAY T
+018D6 CANADIAN SYLLABICS OJIBWAY K
+018D7 CANADIAN SYLLABICS OJIBWAY C
+018D8 CANADIAN SYLLABICS OJIBWAY M
+018D9 CANADIAN SYLLABICS OJIBWAY N
+018DA CANADIAN SYLLABICS OJIBWAY S
+018DB CANADIAN SYLLABICS OJIBWAY SH
+018DC CANADIAN SYLLABICS EASTERN W
+018DD CANADIAN SYLLABICS WESTERN W
+018DE CANADIAN SYLLABICS FINAL SMALL RING
+018DF CANADIAN SYLLABICS FINAL RAISED DOT
+018E0 CANADIAN SYLLABICS R-CREE RWE
+018E1 CANADIAN SYLLABICS WEST-CREE LOO
+018E2 CANADIAN SYLLABICS WEST-CREE LAA
+018E3 CANADIAN SYLLABICS THWE
+018E4 CANADIAN SYLLABICS THWA
+018E5 CANADIAN SYLLABICS TTHWE
+018E6 CANADIAN SYLLABICS TTHOO
+018E7 CANADIAN SYLLABICS TTHAA
+018E8 CANADIAN SYLLABICS TLHWE
+018E9 CANADIAN SYLLABICS TLHOO
+018EA CANADIAN SYLLABICS SAYISI SHWE
+018EB CANADIAN SYLLABICS SAYISI SHOO
+018EC CANADIAN SYLLABICS SAYISI HOO
+018ED CANADIAN SYLLABICS CARRIER GWU
+018EE CANADIAN SYLLABICS CARRIER DENE GEE
+018EF CANADIAN SYLLABICS CARRIER GAA
+018F0 CANADIAN SYLLABICS CARRIER GWA
+018F1 CANADIAN SYLLABICS SAYISI JUU
+018F2 CANADIAN SYLLABICS CARRIER JWA
+018F3 CANADIAN SYLLABICS BEAVER DENE L
+018F4 CANADIAN SYLLABICS BEAVER DENE R
+018F5 CANADIAN SYLLABICS CARRIER DENTAL S
+01900 LIMBU VOWEL-CARRIER LETTER
+01901 LIMBU LETTER KA
+01902 LIMBU LETTER KHA
+01903 LIMBU LETTER GA
+01904 LIMBU LETTER GHA
+01905 LIMBU LETTER NGA
+01906 LIMBU LETTER CA
+01907 LIMBU LETTER CHA
+01908 LIMBU LETTER JA
+01909 LIMBU LETTER JHA
+0190A LIMBU LETTER YAN
+0190B LIMBU LETTER TA
+0190C LIMBU LETTER THA
+0190D LIMBU LETTER DA
+0190E LIMBU LETTER DHA
+0190F LIMBU LETTER NA
+01910 LIMBU LETTER PA
+01911 LIMBU LETTER PHA
+01912 LIMBU LETTER BA
+01913 LIMBU LETTER BHA
+01914 LIMBU LETTER MA
+01915 LIMBU LETTER YA
+01916 LIMBU LETTER RA
+01917 LIMBU LETTER LA
+01918 LIMBU LETTER WA
+01919 LIMBU LETTER SHA
+0191A LIMBU LETTER SSA
+0191B LIMBU LETTER SA
+0191C LIMBU LETTER HA
+01920 LIMBU VOWEL SIGN A
+01921 LIMBU VOWEL SIGN I
+01922 LIMBU VOWEL SIGN U
+01923 LIMBU VOWEL SIGN EE
+01924 LIMBU VOWEL SIGN AI
+01925 LIMBU VOWEL SIGN OO
+01926 LIMBU VOWEL SIGN AU
+01927 LIMBU VOWEL SIGN E
+01928 LIMBU VOWEL SIGN O
+01929 LIMBU SUBJOINED LETTER YA
+0192A LIMBU SUBJOINED LETTER RA
+0192B LIMBU SUBJOINED LETTER WA
+01930 LIMBU SMALL LETTER KA
+01931 LIMBU SMALL LETTER NGA
+01932 LIMBU SMALL LETTER ANUSVARA
+01933 LIMBU SMALL LETTER TA
+01934 LIMBU SMALL LETTER NA
+01935 LIMBU SMALL LETTER PA
+01936 LIMBU SMALL LETTER MA
+01937 LIMBU SMALL LETTER RA
+01938 LIMBU SMALL LETTER LA
+01939 LIMBU SIGN MUKPHRENG
+0193A LIMBU SIGN KEMPHRENG
+0193B LIMBU SIGN SA-I
+01940 LIMBU SIGN LOO
+01944 LIMBU EXCLAMATION MARK
+01945 LIMBU QUESTION MARK
+01946 LIMBU DIGIT ZERO
+01947 LIMBU DIGIT ONE
+01948 LIMBU DIGIT TWO
+01949 LIMBU DIGIT THREE
+0194A LIMBU DIGIT FOUR
+0194B LIMBU DIGIT FIVE
+0194C LIMBU DIGIT SIX
+0194D LIMBU DIGIT SEVEN
+0194E LIMBU DIGIT EIGHT
+0194F LIMBU DIGIT NINE
+01950 TAI LE LETTER KA
+01951 TAI LE LETTER XA
+01952 TAI LE LETTER NGA
+01953 TAI LE LETTER TSA
+01954 TAI LE LETTER SA
+01955 TAI LE LETTER YA
+01956 TAI LE LETTER TA
+01957 TAI LE LETTER THA
+01958 TAI LE LETTER LA
+01959 TAI LE LETTER PA
+0195A TAI LE LETTER PHA
+0195B TAI LE LETTER MA
+0195C TAI LE LETTER FA
+0195D TAI LE LETTER VA
+0195E TAI LE LETTER HA
+0195F TAI LE LETTER QA
+01960 TAI LE LETTER KHA
+01961 TAI LE LETTER TSHA
+01962 TAI LE LETTER NA
+01963 TAI LE LETTER A
+01964 TAI LE LETTER I
+01965 TAI LE LETTER EE
+01966 TAI LE LETTER EH
+01967 TAI LE LETTER U
+01968 TAI LE LETTER OO
+01969 TAI LE LETTER O
+0196A TAI LE LETTER UE
+0196B TAI LE LETTER E
+0196C TAI LE LETTER AUE
+0196D TAI LE LETTER AI
+01970 TAI LE LETTER TONE-2
+01971 TAI LE LETTER TONE-3
+01972 TAI LE LETTER TONE-4
+01973 TAI LE LETTER TONE-5
+01974 TAI LE LETTER TONE-6
+01980 NEW TAI LUE LETTER HIGH QA
+01981 NEW TAI LUE LETTER LOW QA
+01982 NEW TAI LUE LETTER HIGH KA
+01983 NEW TAI LUE LETTER HIGH XA
+01984 NEW TAI LUE LETTER HIGH NGA
+01985 NEW TAI LUE LETTER LOW KA
+01986 NEW TAI LUE LETTER LOW XA
+01987 NEW TAI LUE LETTER LOW NGA
+01988 NEW TAI LUE LETTER HIGH TSA
+01989 NEW TAI LUE LETTER HIGH SA
+0198A NEW TAI LUE LETTER HIGH YA
+0198B NEW TAI LUE LETTER LOW TSA
+0198C NEW TAI LUE LETTER LOW SA
+0198D NEW TAI LUE LETTER LOW YA
+0198E NEW TAI LUE LETTER HIGH TA
+0198F NEW TAI LUE LETTER HIGH THA
+01990 NEW TAI LUE LETTER HIGH NA
+01991 NEW TAI LUE LETTER LOW TA
+01992 NEW TAI LUE LETTER LOW THA
+01993 NEW TAI LUE LETTER LOW NA
+01994 NEW TAI LUE LETTER HIGH PA
+01995 NEW TAI LUE LETTER HIGH PHA
+01996 NEW TAI LUE LETTER HIGH MA
+01997 NEW TAI LUE LETTER LOW PA
+01998 NEW TAI LUE LETTER LOW PHA
+01999 NEW TAI LUE LETTER LOW MA
+0199A NEW TAI LUE LETTER HIGH FA
+0199B NEW TAI LUE LETTER HIGH VA
+0199C NEW TAI LUE LETTER HIGH LA
+0199D NEW TAI LUE LETTER LOW FA
+0199E NEW TAI LUE LETTER LOW VA
+0199F NEW TAI LUE LETTER LOW LA
+019A0 NEW TAI LUE LETTER HIGH HA
+019A1 NEW TAI LUE LETTER HIGH DA
+019A2 NEW TAI LUE LETTER HIGH BA
+019A3 NEW TAI LUE LETTER LOW HA
+019A4 NEW TAI LUE LETTER LOW DA
+019A5 NEW TAI LUE LETTER LOW BA
+019A6 NEW TAI LUE LETTER HIGH KVA
+019A7 NEW TAI LUE LETTER HIGH XVA
+019A8 NEW TAI LUE LETTER LOW KVA
+019A9 NEW TAI LUE LETTER LOW XVA
+019AA NEW TAI LUE LETTER HIGH SUA
+019AB NEW TAI LUE LETTER LOW SUA
+019B0 NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+019B1 NEW TAI LUE VOWEL SIGN AA
+019B2 NEW TAI LUE VOWEL SIGN II
+019B3 NEW TAI LUE VOWEL SIGN U
+019B4 NEW TAI LUE VOWEL SIGN UU
+019B5 NEW TAI LUE VOWEL SIGN E
+019B6 NEW TAI LUE VOWEL SIGN AE
+019B7 NEW TAI LUE VOWEL SIGN O
+019B8 NEW TAI LUE VOWEL SIGN OA
+019B9 NEW TAI LUE VOWEL SIGN UE
+019BA NEW TAI LUE VOWEL SIGN AY
+019BB NEW TAI LUE VOWEL SIGN AAY
+019BC NEW TAI LUE VOWEL SIGN UY
+019BD NEW TAI LUE VOWEL SIGN OY
+019BE NEW TAI LUE VOWEL SIGN OAY
+019BF NEW TAI LUE VOWEL SIGN UEY
+019C0 NEW TAI LUE VOWEL SIGN IY
+019C1 NEW TAI LUE LETTER FINAL V
+019C2 NEW TAI LUE LETTER FINAL NG
+019C3 NEW TAI LUE LETTER FINAL N
+019C4 NEW TAI LUE LETTER FINAL M
+019C5 NEW TAI LUE LETTER FINAL K
+019C6 NEW TAI LUE LETTER FINAL D
+019C7 NEW TAI LUE LETTER FINAL B
+019C8 NEW TAI LUE TONE MARK-1
+019C9 NEW TAI LUE TONE MARK-2
+019D0 NEW TAI LUE DIGIT ZERO
+019D1 NEW TAI LUE DIGIT ONE
+019D2 NEW TAI LUE DIGIT TWO
+019D3 NEW TAI LUE DIGIT THREE
+019D4 NEW TAI LUE DIGIT FOUR
+019D5 NEW TAI LUE DIGIT FIVE
+019D6 NEW TAI LUE DIGIT SIX
+019D7 NEW TAI LUE DIGIT SEVEN
+019D8 NEW TAI LUE DIGIT EIGHT
+019D9 NEW TAI LUE DIGIT NINE
+019DA NEW TAI LUE THAM DIGIT ONE
+019DE NEW TAI LUE SIGN LAE
+019DF NEW TAI LUE SIGN LAEV
+019E0 KHMER SYMBOL PATHAMASAT
+019E1 KHMER SYMBOL MUOY KOET
+019E2 KHMER SYMBOL PII KOET
+019E3 KHMER SYMBOL BEI KOET
+019E4 KHMER SYMBOL BUON KOET
+019E5 KHMER SYMBOL PRAM KOET
+019E6 KHMER SYMBOL PRAM-MUOY KOET
+019E7 KHMER SYMBOL PRAM-PII KOET
+019E8 KHMER SYMBOL PRAM-BEI KOET
+019E9 KHMER SYMBOL PRAM-BUON KOET
+019EA KHMER SYMBOL DAP KOET
+019EB KHMER SYMBOL DAP-MUOY KOET
+019EC KHMER SYMBOL DAP-PII KOET
+019ED KHMER SYMBOL DAP-BEI KOET
+019EE KHMER SYMBOL DAP-BUON KOET
+019EF KHMER SYMBOL DAP-PRAM KOET
+019F0 KHMER SYMBOL TUTEYASAT
+019F1 KHMER SYMBOL MUOY ROC
+019F2 KHMER SYMBOL PII ROC
+019F3 KHMER SYMBOL BEI ROC
+019F4 KHMER SYMBOL BUON ROC
+019F5 KHMER SYMBOL PRAM ROC
+019F6 KHMER SYMBOL PRAM-MUOY ROC
+019F7 KHMER SYMBOL PRAM-PII ROC
+019F8 KHMER SYMBOL PRAM-BEI ROC
+019F9 KHMER SYMBOL PRAM-BUON ROC
+019FA KHMER SYMBOL DAP ROC
+019FB KHMER SYMBOL DAP-MUOY ROC
+019FC KHMER SYMBOL DAP-PII ROC
+019FD KHMER SYMBOL DAP-BEI ROC
+019FE KHMER SYMBOL DAP-BUON ROC
+019FF KHMER SYMBOL DAP-PRAM ROC
+01A00 BUGINESE LETTER KA
+01A01 BUGINESE LETTER GA
+01A02 BUGINESE LETTER NGA
+01A03 BUGINESE LETTER NGKA
+01A04 BUGINESE LETTER PA
+01A05 BUGINESE LETTER BA
+01A06 BUGINESE LETTER MA
+01A07 BUGINESE LETTER MPA
+01A08 BUGINESE LETTER TA
+01A09 BUGINESE LETTER DA
+01A0A BUGINESE LETTER NA
+01A0B BUGINESE LETTER NRA
+01A0C BUGINESE LETTER CA
+01A0D BUGINESE LETTER JA
+01A0E BUGINESE LETTER NYA
+01A0F BUGINESE LETTER NYCA
+01A10 BUGINESE LETTER YA
+01A11 BUGINESE LETTER RA
+01A12 BUGINESE LETTER LA
+01A13 BUGINESE LETTER VA
+01A14 BUGINESE LETTER SA
+01A15 BUGINESE LETTER A
+01A16 BUGINESE LETTER HA
+01A17 BUGINESE VOWEL SIGN I
+01A18 BUGINESE VOWEL SIGN U
+01A19 BUGINESE VOWEL SIGN E
+01A1A BUGINESE VOWEL SIGN O
+01A1B BUGINESE VOWEL SIGN AE
+01A1E BUGINESE PALLAWA
+01A1F BUGINESE END OF SECTION
+01A20 TAI THAM LETTER HIGH KA
+01A21 TAI THAM LETTER HIGH KHA
+01A22 TAI THAM LETTER HIGH KXA
+01A23 TAI THAM LETTER LOW KA
+01A24 TAI THAM LETTER LOW KXA
+01A25 TAI THAM LETTER LOW KHA
+01A26 TAI THAM LETTER NGA
+01A27 TAI THAM LETTER HIGH CA
+01A28 TAI THAM LETTER HIGH CHA
+01A29 TAI THAM LETTER LOW CA
+01A2A TAI THAM LETTER LOW SA
+01A2B TAI THAM LETTER LOW CHA
+01A2C TAI THAM LETTER NYA
+01A2D TAI THAM LETTER RATA
+01A2E TAI THAM LETTER HIGH RATHA
+01A2F TAI THAM LETTER DA
+01A30 TAI THAM LETTER LOW RATHA
+01A31 TAI THAM LETTER RANA
+01A32 TAI THAM LETTER HIGH TA
+01A33 TAI THAM LETTER HIGH THA
+01A34 TAI THAM LETTER LOW TA
+01A35 TAI THAM LETTER LOW THA
+01A36 TAI THAM LETTER NA
+01A37 TAI THAM LETTER BA
+01A38 TAI THAM LETTER HIGH PA
+01A39 TAI THAM LETTER HIGH PHA
+01A3A TAI THAM LETTER HIGH FA
+01A3B TAI THAM LETTER LOW PA
+01A3C TAI THAM LETTER LOW FA
+01A3D TAI THAM LETTER LOW PHA
+01A3E TAI THAM LETTER MA
+01A3F TAI THAM LETTER LOW YA
+01A40 TAI THAM LETTER HIGH YA
+01A41 TAI THAM LETTER RA
+01A42 TAI THAM LETTER RUE
+01A43 TAI THAM LETTER LA
+01A44 TAI THAM LETTER LUE
+01A45 TAI THAM LETTER WA
+01A46 TAI THAM LETTER HIGH SHA
+01A47 TAI THAM LETTER HIGH SSA
+01A48 TAI THAM LETTER HIGH SA
+01A49 TAI THAM LETTER HIGH HA
+01A4A TAI THAM LETTER LLA
+01A4B TAI THAM LETTER A
+01A4C TAI THAM LETTER LOW HA
+01A4D TAI THAM LETTER I
+01A4E TAI THAM LETTER II
+01A4F TAI THAM LETTER U
+01A50 TAI THAM LETTER UU
+01A51 TAI THAM LETTER EE
+01A52 TAI THAM LETTER OO
+01A53 TAI THAM LETTER LAE
+01A54 TAI THAM LETTER GREAT SA
+01A55 TAI THAM CONSONANT SIGN MEDIAL RA
+01A56 TAI THAM CONSONANT SIGN MEDIAL LA
+01A57 TAI THAM CONSONANT SIGN LA TANG LAI
+01A58 TAI THAM SIGN MAI KANG LAI
+01A59 TAI THAM CONSONANT SIGN FINAL NGA
+01A5A TAI THAM CONSONANT SIGN LOW PA
+01A5B TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
+01A5C TAI THAM CONSONANT SIGN MA
+01A5D TAI THAM CONSONANT SIGN BA
+01A5E TAI THAM CONSONANT SIGN SA
+01A60 TAI THAM SIGN SAKOT
+01A61 TAI THAM VOWEL SIGN A
+01A62 TAI THAM VOWEL SIGN MAI SAT
+01A63 TAI THAM VOWEL SIGN AA
+01A64 TAI THAM VOWEL SIGN TALL AA
+01A65 TAI THAM VOWEL SIGN I
+01A66 TAI THAM VOWEL SIGN II
+01A67 TAI THAM VOWEL SIGN UE
+01A68 TAI THAM VOWEL SIGN UUE
+01A69 TAI THAM VOWEL SIGN U
+01A6A TAI THAM VOWEL SIGN UU
+01A6B TAI THAM VOWEL SIGN O
+01A6C TAI THAM VOWEL SIGN OA BELOW
+01A6D TAI THAM VOWEL SIGN OY
+01A6E TAI THAM VOWEL SIGN E
+01A6F TAI THAM VOWEL SIGN AE
+01A70 TAI THAM VOWEL SIGN OO
+01A71 TAI THAM VOWEL SIGN AI
+01A72 TAI THAM VOWEL SIGN THAM AI
+01A73 TAI THAM VOWEL SIGN OA ABOVE
+01A74 TAI THAM SIGN MAI KANG
+01A75 TAI THAM SIGN TONE-1
+01A76 TAI THAM SIGN TONE-2
+01A77 TAI THAM SIGN KHUEN TONE-3
+01A78 TAI THAM SIGN KHUEN TONE-4
+01A79 TAI THAM SIGN KHUEN TONE-5
+01A7A TAI THAM SIGN RA HAAM
+01A7B TAI THAM SIGN MAI SAM
+01A7C TAI THAM SIGN KHUEN-LUE KARAN
+01A7F TAI THAM COMBINING CRYPTOGRAMMIC DOT
+01A80 TAI THAM HORA DIGIT ZERO
+01A81 TAI THAM HORA DIGIT ONE
+01A82 TAI THAM HORA DIGIT TWO
+01A83 TAI THAM HORA DIGIT THREE
+01A84 TAI THAM HORA DIGIT FOUR
+01A85 TAI THAM HORA DIGIT FIVE
+01A86 TAI THAM HORA DIGIT SIX
+01A87 TAI THAM HORA DIGIT SEVEN
+01A88 TAI THAM HORA DIGIT EIGHT
+01A89 TAI THAM HORA DIGIT NINE
+01A90 TAI THAM THAM DIGIT ZERO
+01A91 TAI THAM THAM DIGIT ONE
+01A92 TAI THAM THAM DIGIT TWO
+01A93 TAI THAM THAM DIGIT THREE
+01A94 TAI THAM THAM DIGIT FOUR
+01A95 TAI THAM THAM DIGIT FIVE
+01A96 TAI THAM THAM DIGIT SIX
+01A97 TAI THAM THAM DIGIT SEVEN
+01A98 TAI THAM THAM DIGIT EIGHT
+01A99 TAI THAM THAM DIGIT NINE
+01AA0 TAI THAM SIGN WIANG
+01AA1 TAI THAM SIGN WIANGWAAK
+01AA2 TAI THAM SIGN SAWAN
+01AA3 TAI THAM SIGN KEOW
+01AA4 TAI THAM SIGN HOY
+01AA5 TAI THAM SIGN DOKMAI
+01AA6 TAI THAM SIGN REVERSED ROTATED RANA
+01AA7 TAI THAM SIGN MAI YAMOK
+01AA8 TAI THAM SIGN KAAN
+01AA9 TAI THAM SIGN KAANKUU
+01AAA TAI THAM SIGN SATKAAN
+01AAB TAI THAM SIGN SATKAANKUU
+01AAC TAI THAM SIGN HANG
+01AAD TAI THAM SIGN CAANG
+01B00 BALINESE SIGN ULU RICEM
+01B01 BALINESE SIGN ULU CANDRA
+01B02 BALINESE SIGN CECEK
+01B03 BALINESE SIGN SURANG
+01B04 BALINESE SIGN BISAH
+01B05 BALINESE LETTER AKARA
+01B06 BALINESE LETTER AKARA TEDUNG
+01B07 BALINESE LETTER IKARA
+01B08 BALINESE LETTER IKARA TEDUNG
+01B09 BALINESE LETTER UKARA
+01B0A BALINESE LETTER UKARA TEDUNG
+01B0B BALINESE LETTER RA REPA
+01B0C BALINESE LETTER RA REPA TEDUNG
+01B0D BALINESE LETTER LA LENGA
+01B0E BALINESE LETTER LA LENGA TEDUNG
+01B0F BALINESE LETTER EKARA
+01B10 BALINESE LETTER AIKARA
+01B11 BALINESE LETTER OKARA
+01B12 BALINESE LETTER OKARA TEDUNG
+01B13 BALINESE LETTER KA
+01B14 BALINESE LETTER KA MAHAPRANA
+01B15 BALINESE LETTER GA
+01B16 BALINESE LETTER GA GORA
+01B17 BALINESE LETTER NGA
+01B18 BALINESE LETTER CA
+01B19 BALINESE LETTER CA LACA
+01B1A BALINESE LETTER JA
+01B1B BALINESE LETTER JA JERA
+01B1C BALINESE LETTER NYA
+01B1D BALINESE LETTER TA LATIK
+01B1E BALINESE LETTER TA MURDA MAHAPRANA
+01B1F BALINESE LETTER DA MURDA ALPAPRANA
+01B20 BALINESE LETTER DA MURDA MAHAPRANA
+01B21 BALINESE LETTER NA RAMBAT
+01B22 BALINESE LETTER TA
+01B23 BALINESE LETTER TA TAWA
+01B24 BALINESE LETTER DA
+01B25 BALINESE LETTER DA MADU
+01B26 BALINESE LETTER NA
+01B27 BALINESE LETTER PA
+01B28 BALINESE LETTER PA KAPAL
+01B29 BALINESE LETTER BA
+01B2A BALINESE LETTER BA KEMBANG
+01B2B BALINESE LETTER MA
+01B2C BALINESE LETTER YA
+01B2D BALINESE LETTER RA
+01B2E BALINESE LETTER LA
+01B2F BALINESE LETTER WA
+01B30 BALINESE LETTER SA SAGA
+01B31 BALINESE LETTER SA SAPA
+01B32 BALINESE LETTER SA
+01B33 BALINESE LETTER HA
+01B34 BALINESE SIGN REREKAN
+01B35 BALINESE VOWEL SIGN TEDUNG
+01B36 BALINESE VOWEL SIGN ULU
+01B37 BALINESE VOWEL SIGN ULU SARI
+01B38 BALINESE VOWEL SIGN SUKU
+01B39 BALINESE VOWEL SIGN SUKU ILUT
+01B3A BALINESE VOWEL SIGN RA REPA
+01B3B BALINESE VOWEL SIGN RA REPA TEDUNG
+01B3C BALINESE VOWEL SIGN LA LENGA
+01B3D BALINESE VOWEL SIGN LA LENGA TEDUNG
+01B3E BALINESE VOWEL SIGN TALING
+01B3F BALINESE VOWEL SIGN TALING REPA
+01B40 BALINESE VOWEL SIGN TALING TEDUNG
+01B41 BALINESE VOWEL SIGN TALING REPA TEDUNG
+01B42 BALINESE VOWEL SIGN PEPET
+01B43 BALINESE VOWEL SIGN PEPET TEDUNG
+01B44 BALINESE ADEG ADEG
+01B45 BALINESE LETTER KAF SASAK
+01B46 BALINESE LETTER KHOT SASAK
+01B47 BALINESE LETTER TZIR SASAK
+01B48 BALINESE LETTER EF SASAK
+01B49 BALINESE LETTER VE SASAK
+01B4A BALINESE LETTER ZAL SASAK
+01B4B BALINESE LETTER ASYURA SASAK
+01B50 BALINESE DIGIT ZERO
+01B51 BALINESE DIGIT ONE
+01B52 BALINESE DIGIT TWO
+01B53 BALINESE DIGIT THREE
+01B54 BALINESE DIGIT FOUR
+01B55 BALINESE DIGIT FIVE
+01B56 BALINESE DIGIT SIX
+01B57 BALINESE DIGIT SEVEN
+01B58 BALINESE DIGIT EIGHT
+01B59 BALINESE DIGIT NINE
+01B5A BALINESE PANTI
+01B5B BALINESE PAMADA
+01B5C BALINESE WINDU
+01B5D BALINESE CARIK PAMUNGKAH
+01B5E BALINESE CARIK SIKI
+01B5F BALINESE CARIK PAREREN
+01B60 BALINESE PAMENENG
+01B61 BALINESE MUSICAL SYMBOL DONG
+01B62 BALINESE MUSICAL SYMBOL DENG
+01B63 BALINESE MUSICAL SYMBOL DUNG
+01B64 BALINESE MUSICAL SYMBOL DANG
+01B65 BALINESE MUSICAL SYMBOL DANG SURANG
+01B66 BALINESE MUSICAL SYMBOL DING
+01B67 BALINESE MUSICAL SYMBOL DAENG
+01B68 BALINESE MUSICAL SYMBOL DEUNG
+01B69 BALINESE MUSICAL SYMBOL DAING
+01B6A BALINESE MUSICAL SYMBOL DANG GEDE
+01B6B BALINESE MUSICAL SYMBOL COMBINING TEGEH
+01B6C BALINESE MUSICAL SYMBOL COMBINING ENDEP
+01B6D BALINESE MUSICAL SYMBOL COMBINING KEMPUL
+01B6E BALINESE MUSICAL SYMBOL COMBINING KEMPLI
+01B6F BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
+01B70 BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
+01B71 BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
+01B72 BALINESE MUSICAL SYMBOL COMBINING BENDE
+01B73 BALINESE MUSICAL SYMBOL COMBINING GONG
+01B74 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
+01B75 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
+01B76 BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
+01B77 BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
+01B78 BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
+01B79 BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
+01B7A BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
+01B7B BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
+01B7C BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+01B80 SUNDANESE SIGN PANYECEK
+01B81 SUNDANESE SIGN PANGLAYAR
+01B82 SUNDANESE SIGN PANGWISAD
+01B83 SUNDANESE LETTER A
+01B84 SUNDANESE LETTER I
+01B85 SUNDANESE LETTER U
+01B86 SUNDANESE LETTER AE
+01B87 SUNDANESE LETTER O
+01B88 SUNDANESE LETTER E
+01B89 SUNDANESE LETTER EU
+01B8A SUNDANESE LETTER KA
+01B8B SUNDANESE LETTER QA
+01B8C SUNDANESE LETTER GA
+01B8D SUNDANESE LETTER NGA
+01B8E SUNDANESE LETTER CA
+01B8F SUNDANESE LETTER JA
+01B90 SUNDANESE LETTER ZA
+01B91 SUNDANESE LETTER NYA
+01B92 SUNDANESE LETTER TA
+01B93 SUNDANESE LETTER DA
+01B94 SUNDANESE LETTER NA
+01B95 SUNDANESE LETTER PA
+01B96 SUNDANESE LETTER FA
+01B97 SUNDANESE LETTER VA
+01B98 SUNDANESE LETTER BA
+01B99 SUNDANESE LETTER MA
+01B9A SUNDANESE LETTER YA
+01B9B SUNDANESE LETTER RA
+01B9C SUNDANESE LETTER LA
+01B9D SUNDANESE LETTER WA
+01B9E SUNDANESE LETTER SA
+01B9F SUNDANESE LETTER XA
+01BA0 SUNDANESE LETTER HA
+01BA1 SUNDANESE CONSONANT SIGN PAMINGKAL
+01BA2 SUNDANESE CONSONANT SIGN PANYAKRA
+01BA3 SUNDANESE CONSONANT SIGN PANYIKU
+01BA4 SUNDANESE VOWEL SIGN PANGHULU
+01BA5 SUNDANESE VOWEL SIGN PANYUKU
+01BA6 SUNDANESE VOWEL SIGN PANAELAENG
+01BA7 SUNDANESE VOWEL SIGN PANOLONG
+01BA8 SUNDANESE VOWEL SIGN PAMEPET
+01BA9 SUNDANESE VOWEL SIGN PANEULEUNG
+01BAA SUNDANESE SIGN PAMAAEH
+01BAE SUNDANESE LETTER KHA
+01BAF SUNDANESE LETTER SYA
+01BB0 SUNDANESE DIGIT ZERO
+01BB1 SUNDANESE DIGIT ONE
+01BB2 SUNDANESE DIGIT TWO
+01BB3 SUNDANESE DIGIT THREE
+01BB4 SUNDANESE DIGIT FOUR
+01BB5 SUNDANESE DIGIT FIVE
+01BB6 SUNDANESE DIGIT SIX
+01BB7 SUNDANESE DIGIT SEVEN
+01BB8 SUNDANESE DIGIT EIGHT
+01BB9 SUNDANESE DIGIT NINE
+01BC0 BATAK LETTER A
+01BC1 BATAK LETTER SIMALUNGUN A
+01BC2 BATAK LETTER HA
+01BC3 BATAK LETTER SIMALUNGUN HA
+01BC4 BATAK LETTER MANDAILING HA
+01BC5 BATAK LETTER BA
+01BC6 BATAK LETTER KARO BA
+01BC7 BATAK LETTER PA
+01BC8 BATAK LETTER SIMALUNGUN PA
+01BC9 BATAK LETTER NA
+01BCA BATAK LETTER MANDAILING NA
+01BCB BATAK LETTER WA
+01BCC BATAK LETTER SIMALUNGUN WA
+01BCD BATAK LETTER PAKPAK WA
+01BCE BATAK LETTER GA
+01BCF BATAK LETTER SIMALUNGUN GA
+01BD0 BATAK LETTER JA
+01BD1 BATAK LETTER DA
+01BD2 BATAK LETTER RA
+01BD3 BATAK LETTER SIMALUNGUN RA
+01BD4 BATAK LETTER MA
+01BD5 BATAK LETTER SIMALUNGUN MA
+01BD6 BATAK LETTER SOUTHERN TA
+01BD7 BATAK LETTER NORTHERN TA
+01BD8 BATAK LETTER SA
+01BD9 BATAK LETTER SIMALUNGUN SA
+01BDA BATAK LETTER MANDAILING SA
+01BDB BATAK LETTER YA
+01BDC BATAK LETTER SIMALUNGUN YA
+01BDD BATAK LETTER NGA
+01BDE BATAK LETTER LA
+01BDF BATAK LETTER SIMALUNGUN LA
+01BE0 BATAK LETTER NYA
+01BE1 BATAK LETTER CA
+01BE2 BATAK LETTER NDA
+01BE3 BATAK LETTER MBA
+01BE4 BATAK LETTER I
+01BE5 BATAK LETTER U
+01BE6 BATAK SIGN TOMPI
+01BE7 BATAK VOWEL SIGN E
+01BE8 BATAK VOWEL SIGN PAKPAK E
+01BE9 BATAK VOWEL SIGN EE
+01BEA BATAK VOWEL SIGN I
+01BEB BATAK VOWEL SIGN KARO I
+01BEC BATAK VOWEL SIGN O
+01BED BATAK VOWEL SIGN KARO O
+01BEE BATAK VOWEL SIGN U
+01BEF BATAK VOWEL SIGN U FOR SIMALUNGUN SA
+01BF0 BATAK CONSONANT SIGN NG
+01BF1 BATAK CONSONANT SIGN H
+01BF2 BATAK PANGOLAT
+01BF3 BATAK PANONGONAN
+01BFC BATAK SYMBOL BINDU NA METEK
+01BFD BATAK SYMBOL BINDU PINARBORAS
+01BFE BATAK SYMBOL BINDU JUDUL
+01BFF BATAK SYMBOL BINDU PANGOLAT
+01C00 LEPCHA LETTER KA
+01C01 LEPCHA LETTER KLA
+01C02 LEPCHA LETTER KHA
+01C03 LEPCHA LETTER GA
+01C04 LEPCHA LETTER GLA
+01C05 LEPCHA LETTER NGA
+01C06 LEPCHA LETTER CA
+01C07 LEPCHA LETTER CHA
+01C08 LEPCHA LETTER JA
+01C09 LEPCHA LETTER NYA
+01C0A LEPCHA LETTER TA
+01C0B LEPCHA LETTER THA
+01C0C LEPCHA LETTER DA
+01C0D LEPCHA LETTER NA
+01C0E LEPCHA LETTER PA
+01C0F LEPCHA LETTER PLA
+01C10 LEPCHA LETTER PHA
+01C11 LEPCHA LETTER FA
+01C12 LEPCHA LETTER FLA
+01C13 LEPCHA LETTER BA
+01C14 LEPCHA LETTER BLA
+01C15 LEPCHA LETTER MA
+01C16 LEPCHA LETTER MLA
+01C17 LEPCHA LETTER TSA
+01C18 LEPCHA LETTER TSHA
+01C19 LEPCHA LETTER DZA
+01C1A LEPCHA LETTER YA
+01C1B LEPCHA LETTER RA
+01C1C LEPCHA LETTER LA
+01C1D LEPCHA LETTER HA
+01C1E LEPCHA LETTER HLA
+01C1F LEPCHA LETTER VA
+01C20 LEPCHA LETTER SA
+01C21 LEPCHA LETTER SHA
+01C22 LEPCHA LETTER WA
+01C23 LEPCHA LETTER A
+01C24 LEPCHA SUBJOINED LETTER YA
+01C25 LEPCHA SUBJOINED LETTER RA
+01C26 LEPCHA VOWEL SIGN AA
+01C27 LEPCHA VOWEL SIGN I
+01C28 LEPCHA VOWEL SIGN O
+01C29 LEPCHA VOWEL SIGN OO
+01C2A LEPCHA VOWEL SIGN U
+01C2B LEPCHA VOWEL SIGN UU
+01C2C LEPCHA VOWEL SIGN E
+01C2D LEPCHA CONSONANT SIGN K
+01C2E LEPCHA CONSONANT SIGN M
+01C2F LEPCHA CONSONANT SIGN L
+01C30 LEPCHA CONSONANT SIGN N
+01C31 LEPCHA CONSONANT SIGN P
+01C32 LEPCHA CONSONANT SIGN R
+01C33 LEPCHA CONSONANT SIGN T
+01C34 LEPCHA CONSONANT SIGN NYIN-DO
+01C35 LEPCHA CONSONANT SIGN KANG
+01C36 LEPCHA SIGN RAN
+01C37 LEPCHA SIGN NUKTA
+01C3B LEPCHA PUNCTUATION TA-ROL
+01C3C LEPCHA PUNCTUATION NYET THYOOM TA-ROL
+01C3D LEPCHA PUNCTUATION CER-WA
+01C3E LEPCHA PUNCTUATION TSHOOK CER-WA
+01C3F LEPCHA PUNCTUATION TSHOOK
+01C40 LEPCHA DIGIT ZERO
+01C41 LEPCHA DIGIT ONE
+01C42 LEPCHA DIGIT TWO
+01C43 LEPCHA DIGIT THREE
+01C44 LEPCHA DIGIT FOUR
+01C45 LEPCHA DIGIT FIVE
+01C46 LEPCHA DIGIT SIX
+01C47 LEPCHA DIGIT SEVEN
+01C48 LEPCHA DIGIT EIGHT
+01C49 LEPCHA DIGIT NINE
+01C4D LEPCHA LETTER TTA
+01C4E LEPCHA LETTER TTHA
+01C4F LEPCHA LETTER DDA
+01C50 OL CHIKI DIGIT ZERO
+01C51 OL CHIKI DIGIT ONE
+01C52 OL CHIKI DIGIT TWO
+01C53 OL CHIKI DIGIT THREE
+01C54 OL CHIKI DIGIT FOUR
+01C55 OL CHIKI DIGIT FIVE
+01C56 OL CHIKI DIGIT SIX
+01C57 OL CHIKI DIGIT SEVEN
+01C58 OL CHIKI DIGIT EIGHT
+01C59 OL CHIKI DIGIT NINE
+01C5A OL CHIKI LETTER LA
+01C5B OL CHIKI LETTER AT
+01C5C OL CHIKI LETTER AG
+01C5D OL CHIKI LETTER ANG
+01C5E OL CHIKI LETTER AL
+01C5F OL CHIKI LETTER LAA
+01C60 OL CHIKI LETTER AAK
+01C61 OL CHIKI LETTER AAJ
+01C62 OL CHIKI LETTER AAM
+01C63 OL CHIKI LETTER AAW
+01C64 OL CHIKI LETTER LI
+01C65 OL CHIKI LETTER IS
+01C66 OL CHIKI LETTER IH
+01C67 OL CHIKI LETTER INY
+01C68 OL CHIKI LETTER IR
+01C69 OL CHIKI LETTER LU
+01C6A OL CHIKI LETTER UC
+01C6B OL CHIKI LETTER UD
+01C6C OL CHIKI LETTER UNN
+01C6D OL CHIKI LETTER UY
+01C6E OL CHIKI LETTER LE
+01C6F OL CHIKI LETTER EP
+01C70 OL CHIKI LETTER EDD
+01C71 OL CHIKI LETTER EN
+01C72 OL CHIKI LETTER ERR
+01C73 OL CHIKI LETTER LO
+01C74 OL CHIKI LETTER OTT
+01C75 OL CHIKI LETTER OB
+01C76 OL CHIKI LETTER OV
+01C77 OL CHIKI LETTER OH
+01C78 OL CHIKI MU TTUDDAG
+01C79 OL CHIKI GAAHLAA TTUDDAAG
+01C7A OL CHIKI MU-GAAHLAA TTUDDAAG
+01C7B OL CHIKI RELAA
+01C7C OL CHIKI PHAARKAA
+01C7D OL CHIKI AHAD
+01C7E OL CHIKI PUNCTUATION MUCAAD
+01C7F OL CHIKI PUNCTUATION DOUBLE MUCAAD
+01CD0 VEDIC TONE KARSHANA
+01CD1 VEDIC TONE SHARA
+01CD2 VEDIC TONE PRENKHA
+01CD3 VEDIC SIGN NIHSHVASA
+01CD4 VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
+01CD5 VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
+01CD6 VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
+01CD7 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
+01CD8 VEDIC TONE CANDRA BELOW
+01CD9 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
+01CDA VEDIC TONE DOUBLE SVARITA
+01CDB VEDIC TONE TRIPLE SVARITA
+01CDC VEDIC TONE KATHAKA ANUDATTA
+01CDD VEDIC TONE DOT BELOW
+01CDE VEDIC TONE TWO DOTS BELOW
+01CDF VEDIC TONE THREE DOTS BELOW
+01CE0 VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+01CE1 VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
+01CE2 VEDIC SIGN VISARGA SVARITA
+01CE3 VEDIC SIGN VISARGA UDATTA
+01CE4 VEDIC SIGN REVERSED VISARGA UDATTA
+01CE5 VEDIC SIGN VISARGA ANUDATTA
+01CE6 VEDIC SIGN REVERSED VISARGA ANUDATTA
+01CE7 VEDIC SIGN VISARGA UDATTA WITH TAIL
+01CE8 VEDIC SIGN VISARGA ANUDATTA WITH TAIL
+01CE9 VEDIC SIGN ANUSVARA ANTARGOMUKHA
+01CEA VEDIC SIGN ANUSVARA BAHIRGOMUKHA
+01CEB VEDIC SIGN ANUSVARA VAMAGOMUKHA
+01CEC VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+01CED VEDIC SIGN TIRYAK
+01CEE VEDIC SIGN HEXIFORM LONG ANUSVARA
+01CEF VEDIC SIGN LONG ANUSVARA
+01CF0 VEDIC SIGN RTHANG LONG ANUSVARA
+01CF1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+01CF2 VEDIC SIGN ARDHAVISARGA
+01D00 LATIN LETTER SMALL CAPITAL A
+01D01 LATIN LETTER SMALL CAPITAL AE
+01D02 LATIN SMALL LETTER TURNED AE
+01D03 LATIN LETTER SMALL CAPITAL BARRED B
+01D04 LATIN LETTER SMALL CAPITAL C
+01D05 LATIN LETTER SMALL CAPITAL D
+01D06 LATIN LETTER SMALL CAPITAL ETH
+01D07 LATIN LETTER SMALL CAPITAL E
+01D08 LATIN SMALL LETTER TURNED OPEN E
+01D09 LATIN SMALL LETTER TURNED I
+01D0A LATIN LETTER SMALL CAPITAL J
+01D0B LATIN LETTER SMALL CAPITAL K
+01D0C LATIN LETTER SMALL CAPITAL L WITH STROKE
+01D0D LATIN LETTER SMALL CAPITAL M
+01D0E LATIN LETTER SMALL CAPITAL REVERSED N
+01D0F LATIN LETTER SMALL CAPITAL O
+01D10 LATIN LETTER SMALL CAPITAL OPEN O
+01D11 LATIN SMALL LETTER SIDEWAYS O
+01D12 LATIN SMALL LETTER SIDEWAYS OPEN O
+01D13 LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+01D14 LATIN SMALL LETTER TURNED OE
+01D15 LATIN LETTER SMALL CAPITAL OU
+01D16 LATIN SMALL LETTER TOP HALF O
+01D17 LATIN SMALL LETTER BOTTOM HALF O
+01D18 LATIN LETTER SMALL CAPITAL P
+01D19 LATIN LETTER SMALL CAPITAL REVERSED R
+01D1A LATIN LETTER SMALL CAPITAL TURNED R
+01D1B LATIN LETTER SMALL CAPITAL T
+01D1C LATIN LETTER SMALL CAPITAL U
+01D1D LATIN SMALL LETTER SIDEWAYS U
+01D1E LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+01D1F LATIN SMALL LETTER SIDEWAYS TURNED M
+01D20 LATIN LETTER SMALL CAPITAL V
+01D21 LATIN LETTER SMALL CAPITAL W
+01D22 LATIN LETTER SMALL CAPITAL Z
+01D23 LATIN LETTER SMALL CAPITAL EZH
+01D24 LATIN LETTER VOICED LARYNGEAL SPIRANT
+01D25 LATIN LETTER AIN
+01D26 GREEK LETTER SMALL CAPITAL GAMMA
+01D27 GREEK LETTER SMALL CAPITAL LAMDA
+01D28 GREEK LETTER SMALL CAPITAL PI
+01D29 GREEK LETTER SMALL CAPITAL RHO
+01D2A GREEK LETTER SMALL CAPITAL PSI
+01D2B CYRILLIC LETTER SMALL CAPITAL EL
+01D2C MODIFIER LETTER CAPITAL A
+01D2D MODIFIER LETTER CAPITAL AE
+01D2E MODIFIER LETTER CAPITAL B
+01D2F MODIFIER LETTER CAPITAL BARRED B
+01D30 MODIFIER LETTER CAPITAL D
+01D31 MODIFIER LETTER CAPITAL E
+01D32 MODIFIER LETTER CAPITAL REVERSED E
+01D33 MODIFIER LETTER CAPITAL G
+01D34 MODIFIER LETTER CAPITAL H
+01D35 MODIFIER LETTER CAPITAL I
+01D36 MODIFIER LETTER CAPITAL J
+01D37 MODIFIER LETTER CAPITAL K
+01D38 MODIFIER LETTER CAPITAL L
+01D39 MODIFIER LETTER CAPITAL M
+01D3A MODIFIER LETTER CAPITAL N
+01D3B MODIFIER LETTER CAPITAL REVERSED N
+01D3C MODIFIER LETTER CAPITAL O
+01D3D MODIFIER LETTER CAPITAL OU
+01D3E MODIFIER LETTER CAPITAL P
+01D3F MODIFIER LETTER CAPITAL R
+01D40 MODIFIER LETTER CAPITAL T
+01D41 MODIFIER LETTER CAPITAL U
+01D42 MODIFIER LETTER CAPITAL W
+01D43 MODIFIER LETTER SMALL A
+01D44 MODIFIER LETTER SMALL TURNED A
+01D45 MODIFIER LETTER SMALL ALPHA
+01D46 MODIFIER LETTER SMALL TURNED AE
+01D47 MODIFIER LETTER SMALL B
+01D48 MODIFIER LETTER SMALL D
+01D49 MODIFIER LETTER SMALL E
+01D4A MODIFIER LETTER SMALL SCHWA
+01D4B MODIFIER LETTER SMALL OPEN E
+01D4C MODIFIER LETTER SMALL TURNED OPEN E
+01D4D MODIFIER LETTER SMALL G
+01D4E MODIFIER LETTER SMALL TURNED I
+01D4F MODIFIER LETTER SMALL K
+01D50 MODIFIER LETTER SMALL M
+01D51 MODIFIER LETTER SMALL ENG
+01D52 MODIFIER LETTER SMALL O
+01D53 MODIFIER LETTER SMALL OPEN O
+01D54 MODIFIER LETTER SMALL TOP HALF O
+01D55 MODIFIER LETTER SMALL BOTTOM HALF O
+01D56 MODIFIER LETTER SMALL P
+01D57 MODIFIER LETTER SMALL T
+01D58 MODIFIER LETTER SMALL U
+01D59 MODIFIER LETTER SMALL SIDEWAYS U
+01D5A MODIFIER LETTER SMALL TURNED M
+01D5B MODIFIER LETTER SMALL V
+01D5C MODIFIER LETTER SMALL AIN
+01D5D MODIFIER LETTER SMALL BETA
+01D5E MODIFIER LETTER SMALL GREEK GAMMA
+01D5F MODIFIER LETTER SMALL DELTA
+01D60 MODIFIER LETTER SMALL GREEK PHI
+01D61 MODIFIER LETTER SMALL CHI
+01D62 LATIN SUBSCRIPT SMALL LETTER I
+01D63 LATIN SUBSCRIPT SMALL LETTER R
+01D64 LATIN SUBSCRIPT SMALL LETTER U
+01D65 LATIN SUBSCRIPT SMALL LETTER V
+01D66 GREEK SUBSCRIPT SMALL LETTER BETA
+01D67 GREEK SUBSCRIPT SMALL LETTER GAMMA
+01D68 GREEK SUBSCRIPT SMALL LETTER RHO
+01D69 GREEK SUBSCRIPT SMALL LETTER PHI
+01D6A GREEK SUBSCRIPT SMALL LETTER CHI
+01D6B LATIN SMALL LETTER UE
+01D6C LATIN SMALL LETTER B WITH MIDDLE TILDE
+01D6D LATIN SMALL LETTER D WITH MIDDLE TILDE
+01D6E LATIN SMALL LETTER F WITH MIDDLE TILDE
+01D6F LATIN SMALL LETTER M WITH MIDDLE TILDE
+01D70 LATIN SMALL LETTER N WITH MIDDLE TILDE
+01D71 LATIN SMALL LETTER P WITH MIDDLE TILDE
+01D72 LATIN SMALL LETTER R WITH MIDDLE TILDE
+01D73 LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+01D74 LATIN SMALL LETTER S WITH MIDDLE TILDE
+01D75 LATIN SMALL LETTER T WITH MIDDLE TILDE
+01D76 LATIN SMALL LETTER Z WITH MIDDLE TILDE
+01D77 LATIN SMALL LETTER TURNED G
+01D78 MODIFIER LETTER CYRILLIC EN
+01D79 LATIN SMALL LETTER INSULAR G
+01D7A LATIN SMALL LETTER TH WITH STRIKETHROUGH
+01D7B LATIN SMALL CAPITAL LETTER I WITH STROKE
+01D7C LATIN SMALL LETTER IOTA WITH STROKE
+01D7D LATIN SMALL LETTER P WITH STROKE
+01D7E LATIN SMALL CAPITAL LETTER U WITH STROKE
+01D7F LATIN SMALL LETTER UPSILON WITH STROKE
+01D80 LATIN SMALL LETTER B WITH PALATAL HOOK
+01D81 LATIN SMALL LETTER D WITH PALATAL HOOK
+01D82 LATIN SMALL LETTER F WITH PALATAL HOOK
+01D83 LATIN SMALL LETTER G WITH PALATAL HOOK
+01D84 LATIN SMALL LETTER K WITH PALATAL HOOK
+01D85 LATIN SMALL LETTER L WITH PALATAL HOOK
+01D86 LATIN SMALL LETTER M WITH PALATAL HOOK
+01D87 LATIN SMALL LETTER N WITH PALATAL HOOK
+01D88 LATIN SMALL LETTER P WITH PALATAL HOOK
+01D89 LATIN SMALL LETTER R WITH PALATAL HOOK
+01D8A LATIN SMALL LETTER S WITH PALATAL HOOK
+01D8B LATIN SMALL LETTER ESH WITH PALATAL HOOK
+01D8C LATIN SMALL LETTER V WITH PALATAL HOOK
+01D8D LATIN SMALL LETTER X WITH PALATAL HOOK
+01D8E LATIN SMALL LETTER Z WITH PALATAL HOOK
+01D8F LATIN SMALL LETTER A WITH RETROFLEX HOOK
+01D90 LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
+01D91 LATIN SMALL LETTER D WITH HOOK AND TAIL
+01D92 LATIN SMALL LETTER E WITH RETROFLEX HOOK
+01D93 LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+01D94 LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+01D95 LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+01D96 LATIN SMALL LETTER I WITH RETROFLEX HOOK
+01D97 LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+01D98 LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
+01D99 LATIN SMALL LETTER U WITH RETROFLEX HOOK
+01D9A LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+01D9B MODIFIER LETTER SMALL TURNED ALPHA
+01D9C MODIFIER LETTER SMALL C
+01D9D MODIFIER LETTER SMALL C WITH CURL
+01D9E MODIFIER LETTER SMALL ETH
+01D9F MODIFIER LETTER SMALL REVERSED OPEN E
+01DA0 MODIFIER LETTER SMALL F
+01DA1 MODIFIER LETTER SMALL DOTLESS J WITH STROKE
+01DA2 MODIFIER LETTER SMALL SCRIPT G
+01DA3 MODIFIER LETTER SMALL TURNED H
+01DA4 MODIFIER LETTER SMALL I WITH STROKE
+01DA5 MODIFIER LETTER SMALL IOTA
+01DA6 MODIFIER LETTER SMALL CAPITAL I
+01DA7 MODIFIER LETTER SMALL CAPITAL I WITH STROKE
+01DA8 MODIFIER LETTER SMALL J WITH CROSSED-TAIL
+01DA9 MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
+01DAA MODIFIER LETTER SMALL L WITH PALATAL HOOK
+01DAB MODIFIER LETTER SMALL CAPITAL L
+01DAC MODIFIER LETTER SMALL M WITH HOOK
+01DAD MODIFIER LETTER SMALL TURNED M WITH LONG LEG
+01DAE MODIFIER LETTER SMALL N WITH LEFT HOOK
+01DAF MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
+01DB0 MODIFIER LETTER SMALL CAPITAL N
+01DB1 MODIFIER LETTER SMALL BARRED O
+01DB2 MODIFIER LETTER SMALL PHI
+01DB3 MODIFIER LETTER SMALL S WITH HOOK
+01DB4 MODIFIER LETTER SMALL ESH
+01DB5 MODIFIER LETTER SMALL T WITH PALATAL HOOK
+01DB6 MODIFIER LETTER SMALL U BAR
+01DB7 MODIFIER LETTER SMALL UPSILON
+01DB8 MODIFIER LETTER SMALL CAPITAL U
+01DB9 MODIFIER LETTER SMALL V WITH HOOK
+01DBA MODIFIER LETTER SMALL TURNED V
+01DBB MODIFIER LETTER SMALL Z
+01DBC MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
+01DBD MODIFIER LETTER SMALL Z WITH CURL
+01DBE MODIFIER LETTER SMALL EZH
+01DBF MODIFIER LETTER SMALL THETA
+01DC0 COMBINING DOTTED GRAVE ACCENT
+01DC1 COMBINING DOTTED ACUTE ACCENT
+01DC2 COMBINING SNAKE BELOW
+01DC3 COMBINING SUSPENSION MARK
+01DC4 COMBINING MACRON-ACUTE
+01DC5 COMBINING GRAVE-MACRON
+01DC6 COMBINING MACRON-GRAVE
+01DC7 COMBINING ACUTE-MACRON
+01DC8 COMBINING GRAVE-ACUTE-GRAVE
+01DC9 COMBINING ACUTE-GRAVE-ACUTE
+01DCA COMBINING LATIN SMALL LETTER R BELOW
+01DCB COMBINING BREVE-MACRON
+01DCC COMBINING MACRON-BREVE
+01DCD COMBINING DOUBLE CIRCUMFLEX ABOVE
+01DCE COMBINING OGONEK ABOVE
+01DCF COMBINING ZIGZAG BELOW
+01DD0 COMBINING IS BELOW
+01DD1 COMBINING UR ABOVE
+01DD2 COMBINING US ABOVE
+01DD3 COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
+01DD4 COMBINING LATIN SMALL LETTER AE
+01DD5 COMBINING LATIN SMALL LETTER AO
+01DD6 COMBINING LATIN SMALL LETTER AV
+01DD7 COMBINING LATIN SMALL LETTER C CEDILLA
+01DD8 COMBINING LATIN SMALL LETTER INSULAR D
+01DD9 COMBINING LATIN SMALL LETTER ETH
+01DDA COMBINING LATIN SMALL LETTER G
+01DDB COMBINING LATIN LETTER SMALL CAPITAL G
+01DDC COMBINING LATIN SMALL LETTER K
+01DDD COMBINING LATIN SMALL LETTER L
+01DDE COMBINING LATIN LETTER SMALL CAPITAL L
+01DDF COMBINING LATIN LETTER SMALL CAPITAL M
+01DE0 COMBINING LATIN SMALL LETTER N
+01DE1 COMBINING LATIN LETTER SMALL CAPITAL N
+01DE2 COMBINING LATIN LETTER SMALL CAPITAL R
+01DE3 COMBINING LATIN SMALL LETTER R ROTUNDA
+01DE4 COMBINING LATIN SMALL LETTER S
+01DE5 COMBINING LATIN SMALL LETTER LONG S
+01DE6 COMBINING LATIN SMALL LETTER Z
+01DFC COMBINING DOUBLE INVERTED BREVE BELOW
+01DFD COMBINING ALMOST EQUAL TO BELOW
+01DFE COMBINING LEFT ARROWHEAD ABOVE
+01DFF COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+01E00 LATIN CAPITAL LETTER A WITH RING BELOW
+01E01 LATIN SMALL LETTER A WITH RING BELOW
+01E02 LATIN CAPITAL LETTER B WITH DOT ABOVE
+01E03 LATIN SMALL LETTER B WITH DOT ABOVE
+01E04 LATIN CAPITAL LETTER B WITH DOT BELOW
+01E05 LATIN SMALL LETTER B WITH DOT BELOW
+01E06 LATIN CAPITAL LETTER B WITH LINE BELOW
+01E07 LATIN SMALL LETTER B WITH LINE BELOW
+01E08 LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+01E09 LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+01E0A LATIN CAPITAL LETTER D WITH DOT ABOVE
+01E0B LATIN SMALL LETTER D WITH DOT ABOVE
+01E0C LATIN CAPITAL LETTER D WITH DOT BELOW
+01E0D LATIN SMALL LETTER D WITH DOT BELOW
+01E0E LATIN CAPITAL LETTER D WITH LINE BELOW
+01E0F LATIN SMALL LETTER D WITH LINE BELOW
+01E10 LATIN CAPITAL LETTER D WITH CEDILLA
+01E11 LATIN SMALL LETTER D WITH CEDILLA
+01E12 LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+01E13 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+01E14 LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+01E15 LATIN SMALL LETTER E WITH MACRON AND GRAVE
+01E16 LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+01E17 LATIN SMALL LETTER E WITH MACRON AND ACUTE
+01E18 LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+01E19 LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+01E1A LATIN CAPITAL LETTER E WITH TILDE BELOW
+01E1B LATIN SMALL LETTER E WITH TILDE BELOW
+01E1C LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+01E1D LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+01E1E LATIN CAPITAL LETTER F WITH DOT ABOVE
+01E1F LATIN SMALL LETTER F WITH DOT ABOVE
+01E20 LATIN CAPITAL LETTER G WITH MACRON
+01E21 LATIN SMALL LETTER G WITH MACRON
+01E22 LATIN CAPITAL LETTER H WITH DOT ABOVE
+01E23 LATIN SMALL LETTER H WITH DOT ABOVE
+01E24 LATIN CAPITAL LETTER H WITH DOT BELOW
+01E25 LATIN SMALL LETTER H WITH DOT BELOW
+01E26 LATIN CAPITAL LETTER H WITH DIAERESIS
+01E27 LATIN SMALL LETTER H WITH DIAERESIS
+01E28 LATIN CAPITAL LETTER H WITH CEDILLA
+01E29 LATIN SMALL LETTER H WITH CEDILLA
+01E2A LATIN CAPITAL LETTER H WITH BREVE BELOW
+01E2B LATIN SMALL LETTER H WITH BREVE BELOW
+01E2C LATIN CAPITAL LETTER I WITH TILDE BELOW
+01E2D LATIN SMALL LETTER I WITH TILDE BELOW
+01E2E LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+01E2F LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+01E30 LATIN CAPITAL LETTER K WITH ACUTE
+01E31 LATIN SMALL LETTER K WITH ACUTE
+01E32 LATIN CAPITAL LETTER K WITH DOT BELOW
+01E33 LATIN SMALL LETTER K WITH DOT BELOW
+01E34 LATIN CAPITAL LETTER K WITH LINE BELOW
+01E35 LATIN SMALL LETTER K WITH LINE BELOW
+01E36 LATIN CAPITAL LETTER L WITH DOT BELOW
+01E37 LATIN SMALL LETTER L WITH DOT BELOW
+01E38 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+01E39 LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+01E3A LATIN CAPITAL LETTER L WITH LINE BELOW
+01E3B LATIN SMALL LETTER L WITH LINE BELOW
+01E3C LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+01E3D LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+01E3E LATIN CAPITAL LETTER M WITH ACUTE
+01E3F LATIN SMALL LETTER M WITH ACUTE
+01E40 LATIN CAPITAL LETTER M WITH DOT ABOVE
+01E41 LATIN SMALL LETTER M WITH DOT ABOVE
+01E42 LATIN CAPITAL LETTER M WITH DOT BELOW
+01E43 LATIN SMALL LETTER M WITH DOT BELOW
+01E44 LATIN CAPITAL LETTER N WITH DOT ABOVE
+01E45 LATIN SMALL LETTER N WITH DOT ABOVE
+01E46 LATIN CAPITAL LETTER N WITH DOT BELOW
+01E47 LATIN SMALL LETTER N WITH DOT BELOW
+01E48 LATIN CAPITAL LETTER N WITH LINE BELOW
+01E49 LATIN SMALL LETTER N WITH LINE BELOW
+01E4A LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+01E4B LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+01E4C LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+01E4D LATIN SMALL LETTER O WITH TILDE AND ACUTE
+01E4E LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+01E4F LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+01E50 LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+01E51 LATIN SMALL LETTER O WITH MACRON AND GRAVE
+01E52 LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+01E53 LATIN SMALL LETTER O WITH MACRON AND ACUTE
+01E54 LATIN CAPITAL LETTER P WITH ACUTE
+01E55 LATIN SMALL LETTER P WITH ACUTE
+01E56 LATIN CAPITAL LETTER P WITH DOT ABOVE
+01E57 LATIN SMALL LETTER P WITH DOT ABOVE
+01E58 LATIN CAPITAL LETTER R WITH DOT ABOVE
+01E59 LATIN SMALL LETTER R WITH DOT ABOVE
+01E5A LATIN CAPITAL LETTER R WITH DOT BELOW
+01E5B LATIN SMALL LETTER R WITH DOT BELOW
+01E5C LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+01E5D LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+01E5E LATIN CAPITAL LETTER R WITH LINE BELOW
+01E5F LATIN SMALL LETTER R WITH LINE BELOW
+01E60 LATIN CAPITAL LETTER S WITH DOT ABOVE
+01E61 LATIN SMALL LETTER S WITH DOT ABOVE
+01E62 LATIN CAPITAL LETTER S WITH DOT BELOW
+01E63 LATIN SMALL LETTER S WITH DOT BELOW
+01E64 LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+01E65 LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+01E66 LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+01E67 LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+01E68 LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+01E69 LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+01E6A LATIN CAPITAL LETTER T WITH DOT ABOVE
+01E6B LATIN SMALL LETTER T WITH DOT ABOVE
+01E6C LATIN CAPITAL LETTER T WITH DOT BELOW
+01E6D LATIN SMALL LETTER T WITH DOT BELOW
+01E6E LATIN CAPITAL LETTER T WITH LINE BELOW
+01E6F LATIN SMALL LETTER T WITH LINE BELOW
+01E70 LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+01E71 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+01E72 LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+01E73 LATIN SMALL LETTER U WITH DIAERESIS BELOW
+01E74 LATIN CAPITAL LETTER U WITH TILDE BELOW
+01E75 LATIN SMALL LETTER U WITH TILDE BELOW
+01E76 LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+01E77 LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+01E78 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+01E79 LATIN SMALL LETTER U WITH TILDE AND ACUTE
+01E7A LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+01E7B LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+01E7C LATIN CAPITAL LETTER V WITH TILDE
+01E7D LATIN SMALL LETTER V WITH TILDE
+01E7E LATIN CAPITAL LETTER V WITH DOT BELOW
+01E7F LATIN SMALL LETTER V WITH DOT BELOW
+01E80 LATIN CAPITAL LETTER W WITH GRAVE
+01E81 LATIN SMALL LETTER W WITH GRAVE
+01E82 LATIN CAPITAL LETTER W WITH ACUTE
+01E83 LATIN SMALL LETTER W WITH ACUTE
+01E84 LATIN CAPITAL LETTER W WITH DIAERESIS
+01E85 LATIN SMALL LETTER W WITH DIAERESIS
+01E86 LATIN CAPITAL LETTER W WITH DOT ABOVE
+01E87 LATIN SMALL LETTER W WITH DOT ABOVE
+01E88 LATIN CAPITAL LETTER W WITH DOT BELOW
+01E89 LATIN SMALL LETTER W WITH DOT BELOW
+01E8A LATIN CAPITAL LETTER X WITH DOT ABOVE
+01E8B LATIN SMALL LETTER X WITH DOT ABOVE
+01E8C LATIN CAPITAL LETTER X WITH DIAERESIS
+01E8D LATIN SMALL LETTER X WITH DIAERESIS
+01E8E LATIN CAPITAL LETTER Y WITH DOT ABOVE
+01E8F LATIN SMALL LETTER Y WITH DOT ABOVE
+01E90 LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+01E91 LATIN SMALL LETTER Z WITH CIRCUMFLEX
+01E92 LATIN CAPITAL LETTER Z WITH DOT BELOW
+01E93 LATIN SMALL LETTER Z WITH DOT BELOW
+01E94 LATIN CAPITAL LETTER Z WITH LINE BELOW
+01E95 LATIN SMALL LETTER Z WITH LINE BELOW
+01E96 LATIN SMALL LETTER H WITH LINE BELOW
+01E97 LATIN SMALL LETTER T WITH DIAERESIS
+01E98 LATIN SMALL LETTER W WITH RING ABOVE
+01E99 LATIN SMALL LETTER Y WITH RING ABOVE
+01E9A LATIN SMALL LETTER A WITH RIGHT HALF RING
+01E9B LATIN SMALL LETTER LONG S WITH DOT ABOVE
+01E9C LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+01E9D LATIN SMALL LETTER LONG S WITH HIGH STROKE
+01E9E LATIN CAPITAL LETTER SHARP S
+01E9F LATIN SMALL LETTER DELTA
+01EA0 LATIN CAPITAL LETTER A WITH DOT BELOW
+01EA1 LATIN SMALL LETTER A WITH DOT BELOW
+01EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE
+01EA3 LATIN SMALL LETTER A WITH HOOK ABOVE
+01EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+01EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+01EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+01EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+01EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+01EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+01EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+01EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+01EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+01EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+01EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+01EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE
+01EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+01EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE
+01EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+01EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+01EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+01EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE
+01EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+01EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+01EB8 LATIN CAPITAL LETTER E WITH DOT BELOW
+01EB9 LATIN SMALL LETTER E WITH DOT BELOW
+01EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE
+01EBB LATIN SMALL LETTER E WITH HOOK ABOVE
+01EBC LATIN CAPITAL LETTER E WITH TILDE
+01EBD LATIN SMALL LETTER E WITH TILDE
+01EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+01EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+01EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+01EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+01EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+01EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+01EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+01EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+01EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+01EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+01EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE
+01EC9 LATIN SMALL LETTER I WITH HOOK ABOVE
+01ECA LATIN CAPITAL LETTER I WITH DOT BELOW
+01ECB LATIN SMALL LETTER I WITH DOT BELOW
+01ECC LATIN CAPITAL LETTER O WITH DOT BELOW
+01ECD LATIN SMALL LETTER O WITH DOT BELOW
+01ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE
+01ECF LATIN SMALL LETTER O WITH HOOK ABOVE
+01ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+01ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+01ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+01ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+01ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+01ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+01ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+01ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+01ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+01EDB LATIN SMALL LETTER O WITH HORN AND ACUTE
+01EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+01EDD LATIN SMALL LETTER O WITH HORN AND GRAVE
+01EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+01EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+01EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE
+01EE1 LATIN SMALL LETTER O WITH HORN AND TILDE
+01EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+01EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+01EE4 LATIN CAPITAL LETTER U WITH DOT BELOW
+01EE5 LATIN SMALL LETTER U WITH DOT BELOW
+01EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE
+01EE7 LATIN SMALL LETTER U WITH HOOK ABOVE
+01EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+01EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE
+01EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+01EEB LATIN SMALL LETTER U WITH HORN AND GRAVE
+01EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+01EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+01EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE
+01EEF LATIN SMALL LETTER U WITH HORN AND TILDE
+01EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+01EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+01EF2 LATIN CAPITAL LETTER Y WITH GRAVE
+01EF3 LATIN SMALL LETTER Y WITH GRAVE
+01EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW
+01EF5 LATIN SMALL LETTER Y WITH DOT BELOW
+01EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+01EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE
+01EF8 LATIN CAPITAL LETTER Y WITH TILDE
+01EF9 LATIN SMALL LETTER Y WITH TILDE
+01EFA LATIN CAPITAL LETTER MIDDLE-WELSH LL
+01EFB LATIN SMALL LETTER MIDDLE-WELSH LL
+01EFC LATIN CAPITAL LETTER MIDDLE-WELSH V
+01EFD LATIN SMALL LETTER MIDDLE-WELSH V
+01EFE LATIN CAPITAL LETTER Y WITH LOOP
+01EFF LATIN SMALL LETTER Y WITH LOOP
+01F00 GREEK SMALL LETTER ALPHA WITH PSILI
+01F01 GREEK SMALL LETTER ALPHA WITH DASIA
+01F02 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+01F03 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+01F04 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+01F05 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+01F06 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+01F07 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+01F08 GREEK CAPITAL LETTER ALPHA WITH PSILI
+01F09 GREEK CAPITAL LETTER ALPHA WITH DASIA
+01F0A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+01F0B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+01F0C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+01F0D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+01F0E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+01F0F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+01F10 GREEK SMALL LETTER EPSILON WITH PSILI
+01F11 GREEK SMALL LETTER EPSILON WITH DASIA
+01F12 GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+01F13 GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+01F14 GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+01F15 GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+01F18 GREEK CAPITAL LETTER EPSILON WITH PSILI
+01F19 GREEK CAPITAL LETTER EPSILON WITH DASIA
+01F1A GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+01F1B GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+01F1C GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+01F1D GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+01F20 GREEK SMALL LETTER ETA WITH PSILI
+01F21 GREEK SMALL LETTER ETA WITH DASIA
+01F22 GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+01F23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+01F24 GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+01F25 GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+01F26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+01F27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+01F28 GREEK CAPITAL LETTER ETA WITH PSILI
+01F29 GREEK CAPITAL LETTER ETA WITH DASIA
+01F2A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+01F2B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+01F2C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+01F2D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+01F2E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+01F2F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+01F30 GREEK SMALL LETTER IOTA WITH PSILI
+01F31 GREEK SMALL LETTER IOTA WITH DASIA
+01F32 GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+01F33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+01F34 GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+01F35 GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+01F36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+01F37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+01F38 GREEK CAPITAL LETTER IOTA WITH PSILI
+01F39 GREEK CAPITAL LETTER IOTA WITH DASIA
+01F3A GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+01F3B GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+01F3C GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+01F3D GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+01F3E GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+01F3F GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+01F40 GREEK SMALL LETTER OMICRON WITH PSILI
+01F41 GREEK SMALL LETTER OMICRON WITH DASIA
+01F42 GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+01F43 GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+01F44 GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+01F45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+01F48 GREEK CAPITAL LETTER OMICRON WITH PSILI
+01F49 GREEK CAPITAL LETTER OMICRON WITH DASIA
+01F4A GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+01F4B GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+01F4C GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+01F4D GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+01F50 GREEK SMALL LETTER UPSILON WITH PSILI
+01F51 GREEK SMALL LETTER UPSILON WITH DASIA
+01F52 GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+01F53 GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+01F54 GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+01F55 GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+01F56 GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+01F57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+01F59 GREEK CAPITAL LETTER UPSILON WITH DASIA
+01F5B GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+01F5D GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+01F5F GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+01F60 GREEK SMALL LETTER OMEGA WITH PSILI
+01F61 GREEK SMALL LETTER OMEGA WITH DASIA
+01F62 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+01F63 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+01F64 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+01F65 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+01F66 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+01F67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+01F68 GREEK CAPITAL LETTER OMEGA WITH PSILI
+01F69 GREEK CAPITAL LETTER OMEGA WITH DASIA
+01F6A GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+01F6B GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+01F6C GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+01F6D GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+01F6E GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+01F6F GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+01F70 GREEK SMALL LETTER ALPHA WITH VARIA
+01F71 GREEK SMALL LETTER ALPHA WITH OXIA
+01F72 GREEK SMALL LETTER EPSILON WITH VARIA
+01F73 GREEK SMALL LETTER EPSILON WITH OXIA
+01F74 GREEK SMALL LETTER ETA WITH VARIA
+01F75 GREEK SMALL LETTER ETA WITH OXIA
+01F76 GREEK SMALL LETTER IOTA WITH VARIA
+01F77 GREEK SMALL LETTER IOTA WITH OXIA
+01F78 GREEK SMALL LETTER OMICRON WITH VARIA
+01F79 GREEK SMALL LETTER OMICRON WITH OXIA
+01F7A GREEK SMALL LETTER UPSILON WITH VARIA
+01F7B GREEK SMALL LETTER UPSILON WITH OXIA
+01F7C GREEK SMALL LETTER OMEGA WITH VARIA
+01F7D GREEK SMALL LETTER OMEGA WITH OXIA
+01F80 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+01F81 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+01F82 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+01F83 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+01F84 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+01F85 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+01F86 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+01F87 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+01F88 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+01F89 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+01F8A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+01F8B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+01F8C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+01F8D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+01F8E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+01F8F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+01F90 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+01F91 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+01F92 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+01F93 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+01F94 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+01F95 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+01F96 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+01F97 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+01F98 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+01F99 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+01F9A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+01F9B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+01F9C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+01F9D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+01F9E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+01F9F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+01FA0 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+01FA1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+01FA2 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+01FA3 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+01FA4 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+01FA5 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+01FA6 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+01FA7 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+01FA8 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+01FA9 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+01FAA GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+01FAB GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+01FAC GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+01FAD GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+01FAE GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+01FAF GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+01FB0 GREEK SMALL LETTER ALPHA WITH VRACHY
+01FB1 GREEK SMALL LETTER ALPHA WITH MACRON
+01FB2 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+01FB3 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+01FB4 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+01FB6 GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+01FB7 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+01FB8 GREEK CAPITAL LETTER ALPHA WITH VRACHY
+01FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON
+01FBA GREEK CAPITAL LETTER ALPHA WITH VARIA
+01FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
+01FBC GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+01FBD GREEK KORONIS
+01FBE GREEK PROSGEGRAMMENI
+01FBF GREEK PSILI
+01FC0 GREEK PERISPOMENI
+01FC1 GREEK DIALYTIKA AND PERISPOMENI
+01FC2 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+01FC3 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+01FC4 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+01FC6 GREEK SMALL LETTER ETA WITH PERISPOMENI
+01FC7 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+01FC8 GREEK CAPITAL LETTER EPSILON WITH VARIA
+01FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
+01FCA GREEK CAPITAL LETTER ETA WITH VARIA
+01FCB GREEK CAPITAL LETTER ETA WITH OXIA
+01FCC GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+01FCD GREEK PSILI AND VARIA
+01FCE GREEK PSILI AND OXIA
+01FCF GREEK PSILI AND PERISPOMENI
+01FD0 GREEK SMALL LETTER IOTA WITH VRACHY
+01FD1 GREEK SMALL LETTER IOTA WITH MACRON
+01FD2 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+01FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+01FD6 GREEK SMALL LETTER IOTA WITH PERISPOMENI
+01FD7 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+01FD8 GREEK CAPITAL LETTER IOTA WITH VRACHY
+01FD9 GREEK CAPITAL LETTER IOTA WITH MACRON
+01FDA GREEK CAPITAL LETTER IOTA WITH VARIA
+01FDB GREEK CAPITAL LETTER IOTA WITH OXIA
+01FDD GREEK DASIA AND VARIA
+01FDE GREEK DASIA AND OXIA
+01FDF GREEK DASIA AND PERISPOMENI
+01FE0 GREEK SMALL LETTER UPSILON WITH VRACHY
+01FE1 GREEK SMALL LETTER UPSILON WITH MACRON
+01FE2 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+01FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+01FE4 GREEK SMALL LETTER RHO WITH PSILI
+01FE5 GREEK SMALL LETTER RHO WITH DASIA
+01FE6 GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+01FE7 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+01FE8 GREEK CAPITAL LETTER UPSILON WITH VRACHY
+01FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON
+01FEA GREEK CAPITAL LETTER UPSILON WITH VARIA
+01FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
+01FEC GREEK CAPITAL LETTER RHO WITH DASIA
+01FED GREEK DIALYTIKA AND VARIA
+01FEE GREEK DIALYTIKA AND OXIA
+01FEF GREEK VARIA
+01FF2 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+01FF3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+01FF4 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+01FF6 GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+01FF7 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+01FF8 GREEK CAPITAL LETTER OMICRON WITH VARIA
+01FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
+01FFA GREEK CAPITAL LETTER OMEGA WITH VARIA
+01FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
+01FFC GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+01FFD GREEK OXIA
+01FFE GREEK DASIA
+02000 EN QUAD
+02001 EM QUAD
+02002 EN SPACE
+02003 EM SPACE
+02004 THREE-PER-EM SPACE
+02005 FOUR-PER-EM SPACE
+02006 SIX-PER-EM SPACE
+02007 FIGURE SPACE
+02008 PUNCTUATION SPACE
+02009 THIN SPACE
+0200A HAIR SPACE
+0200B ZERO WIDTH SPACE
+0200C ZERO WIDTH NON-JOINER
+0200D ZERO WIDTH JOINER
+0200E LEFT-TO-RIGHT MARK
+0200F RIGHT-TO-LEFT MARK
+02010 HYPHEN
+02011 NON-BREAKING HYPHEN
+02012 FIGURE DASH
+02013 EN DASH
+02014 EM DASH
+02015 HORIZONTAL BAR
+02016 DOUBLE VERTICAL LINE
+02017 DOUBLE LOW LINE
+02018 LEFT SINGLE QUOTATION MARK
+02019 RIGHT SINGLE QUOTATION MARK
+0201A SINGLE LOW-9 QUOTATION MARK
+0201B SINGLE HIGH-REVERSED-9 QUOTATION MARK
+0201C LEFT DOUBLE QUOTATION MARK
+0201D RIGHT DOUBLE QUOTATION MARK
+0201E DOUBLE LOW-9 QUOTATION MARK
+0201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+02020 DAGGER
+02021 DOUBLE DAGGER
+02022 BULLET
+02023 TRIANGULAR BULLET
+02024 ONE DOT LEADER
+02025 TWO DOT LEADER
+02026 HORIZONTAL ELLIPSIS
+02027 HYPHENATION POINT
+02028 LINE SEPARATOR
+02029 PARAGRAPH SEPARATOR
+0202A LEFT-TO-RIGHT EMBEDDING
+0202B RIGHT-TO-LEFT EMBEDDING
+0202C POP DIRECTIONAL FORMATTING
+0202D LEFT-TO-RIGHT OVERRIDE
+0202E RIGHT-TO-LEFT OVERRIDE
+0202F NARROW NO-BREAK SPACE
+02030 PER MILLE SIGN
+02031 PER TEN THOUSAND SIGN
+02032 PRIME
+02033 DOUBLE PRIME
+02034 TRIPLE PRIME
+02035 REVERSED PRIME
+02036 REVERSED DOUBLE PRIME
+02037 REVERSED TRIPLE PRIME
+02038 CARET
+02039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0203B REFERENCE MARK
+0203C DOUBLE EXCLAMATION MARK
+0203D INTERROBANG
+0203E OVERLINE
+0203F UNDERTIE
+02040 CHARACTER TIE
+02041 CARET INSERTION POINT
+02042 ASTERISM
+02043 HYPHEN BULLET
+02044 FRACTION SLASH
+02045 LEFT SQUARE BRACKET WITH QUILL
+02046 RIGHT SQUARE BRACKET WITH QUILL
+02047 DOUBLE QUESTION MARK
+02048 QUESTION EXCLAMATION MARK
+02049 EXCLAMATION QUESTION MARK
+0204A TIRONIAN SIGN ET
+0204B REVERSED PILCROW SIGN
+0204C BLACK LEFTWARDS BULLET
+0204D BLACK RIGHTWARDS BULLET
+0204E LOW ASTERISK
+0204F REVERSED SEMICOLON
+02050 CLOSE UP
+02051 TWO ASTERISKS ALIGNED VERTICALLY
+02052 COMMERCIAL MINUS SIGN
+02053 SWUNG DASH
+02054 INVERTED UNDERTIE
+02055 FLOWER PUNCTUATION MARK
+02056 THREE DOT PUNCTUATION
+02057 QUADRUPLE PRIME
+02058 FOUR DOT PUNCTUATION
+02059 FIVE DOT PUNCTUATION
+0205A TWO DOT PUNCTUATION
+0205B FOUR DOT MARK
+0205C DOTTED CROSS
+0205D TRICOLON
+0205E VERTICAL FOUR DOTS
+0205F MEDIUM MATHEMATICAL SPACE
+02060 WORD JOINER
+02061 FUNCTION APPLICATION
+02062 INVISIBLE TIMES
+02063 INVISIBLE SEPARATOR
+02064 INVISIBLE PLUS
+0206A INHIBIT SYMMETRIC SWAPPING
+0206B ACTIVATE SYMMETRIC SWAPPING
+0206C INHIBIT ARABIC FORM SHAPING
+0206D ACTIVATE ARABIC FORM SHAPING
+0206E NATIONAL DIGIT SHAPES
+0206F NOMINAL DIGIT SHAPES
+02070 SUPERSCRIPT ZERO
+02071 SUPERSCRIPT LATIN SMALL LETTER I
+02074 SUPERSCRIPT FOUR
+02075 SUPERSCRIPT FIVE
+02076 SUPERSCRIPT SIX
+02077 SUPERSCRIPT SEVEN
+02078 SUPERSCRIPT EIGHT
+02079 SUPERSCRIPT NINE
+0207A SUPERSCRIPT PLUS SIGN
+0207B SUPERSCRIPT MINUS
+0207C SUPERSCRIPT EQUALS SIGN
+0207D SUPERSCRIPT LEFT PARENTHESIS
+0207E SUPERSCRIPT RIGHT PARENTHESIS
+0207F SUPERSCRIPT LATIN SMALL LETTER N
+02080 SUBSCRIPT ZERO
+02081 SUBSCRIPT ONE
+02082 SUBSCRIPT TWO
+02083 SUBSCRIPT THREE
+02084 SUBSCRIPT FOUR
+02085 SUBSCRIPT FIVE
+02086 SUBSCRIPT SIX
+02087 SUBSCRIPT SEVEN
+02088 SUBSCRIPT EIGHT
+02089 SUBSCRIPT NINE
+0208A SUBSCRIPT PLUS SIGN
+0208B SUBSCRIPT MINUS
+0208C SUBSCRIPT EQUALS SIGN
+0208D SUBSCRIPT LEFT PARENTHESIS
+0208E SUBSCRIPT RIGHT PARENTHESIS
+02090 LATIN SUBSCRIPT SMALL LETTER A
+02091 LATIN SUBSCRIPT SMALL LETTER E
+02092 LATIN SUBSCRIPT SMALL LETTER O
+02093 LATIN SUBSCRIPT SMALL LETTER X
+02094 LATIN SUBSCRIPT SMALL LETTER SCHWA
+02095 LATIN SUBSCRIPT SMALL LETTER H
+02096 LATIN SUBSCRIPT SMALL LETTER K
+02097 LATIN SUBSCRIPT SMALL LETTER L
+02098 LATIN SUBSCRIPT SMALL LETTER M
+02099 LATIN SUBSCRIPT SMALL LETTER N
+0209A LATIN SUBSCRIPT SMALL LETTER P
+0209B LATIN SUBSCRIPT SMALL LETTER S
+0209C LATIN SUBSCRIPT SMALL LETTER T
+020A0 EURO-CURRENCY SIGN
+020A1 COLON SIGN
+020A2 CRUZEIRO SIGN
+020A3 FRENCH FRANC SIGN
+020A4 LIRA SIGN
+020A5 MILL SIGN
+020A6 NAIRA SIGN
+020A7 PESETA SIGN
+020A8 RUPEE SIGN
+020A9 WON SIGN
+020AA NEW SHEQEL SIGN
+020AB DONG SIGN
+020AC EURO SIGN
+020AD KIP SIGN
+020AE TUGRIK SIGN
+020AF DRACHMA SIGN
+020B0 GERMAN PENNY SIGN
+020B1 PESO SIGN
+020B2 GUARANI SIGN
+020B3 AUSTRAL SIGN
+020B4 HRYVNIA SIGN
+020B5 CEDI SIGN
+020B6 LIVRE TOURNOIS SIGN
+020B7 SPESMILO SIGN
+020B8 TENGE SIGN
+020B9 INDIAN RUPEE SIGN
+020D0 COMBINING LEFT HARPOON ABOVE
+020D1 COMBINING RIGHT HARPOON ABOVE
+020D2 COMBINING LONG VERTICAL LINE OVERLAY
+020D3 COMBINING SHORT VERTICAL LINE OVERLAY
+020D4 COMBINING ANTICLOCKWISE ARROW ABOVE
+020D5 COMBINING CLOCKWISE ARROW ABOVE
+020D6 COMBINING LEFT ARROW ABOVE
+020D7 COMBINING RIGHT ARROW ABOVE
+020D8 COMBINING RING OVERLAY
+020D9 COMBINING CLOCKWISE RING OVERLAY
+020DA COMBINING ANTICLOCKWISE RING OVERLAY
+020DB COMBINING THREE DOTS ABOVE
+020DC COMBINING FOUR DOTS ABOVE
+020DD COMBINING ENCLOSING CIRCLE
+020DE COMBINING ENCLOSING SQUARE
+020DF COMBINING ENCLOSING DIAMOND
+020E0 COMBINING ENCLOSING CIRCLE BACKSLASH
+020E1 COMBINING LEFT RIGHT ARROW ABOVE
+020E2 COMBINING ENCLOSING SCREEN
+020E3 COMBINING ENCLOSING KEYCAP
+020E4 COMBINING ENCLOSING UPWARD POINTING TRIANGLE
+020E5 COMBINING REVERSE SOLIDUS OVERLAY
+020E6 COMBINING DOUBLE VERTICAL STROKE OVERLAY
+020E7 COMBINING ANNUITY SYMBOL
+020E8 COMBINING TRIPLE UNDERDOT
+020E9 COMBINING WIDE BRIDGE ABOVE
+020EA COMBINING LEFTWARDS ARROW OVERLAY
+020EB COMBINING LONG DOUBLE SOLIDUS OVERLAY
+020EC COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+020ED COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
+020EE COMBINING LEFT ARROW BELOW
+020EF COMBINING RIGHT ARROW BELOW
+020F0 COMBINING ASTERISK ABOVE
+02100 ACCOUNT OF
+02101 ADDRESSED TO THE SUBJECT
+02102 DOUBLE-STRUCK CAPITAL C
+02103 DEGREE CELSIUS
+02104 CENTRE LINE SYMBOL
+02105 CARE OF
+02106 CADA UNA
+02107 EULER CONSTANT
+02108 SCRUPLE
+02109 DEGREE FAHRENHEIT
+0210A SCRIPT SMALL G
+0210B SCRIPT CAPITAL H
+0210C BLACK-LETTER CAPITAL H
+0210D DOUBLE-STRUCK CAPITAL H
+0210E PLANCK CONSTANT
+0210F PLANCK CONSTANT OVER TWO PI
+02110 SCRIPT CAPITAL I
+02111 BLACK-LETTER CAPITAL I
+02112 SCRIPT CAPITAL L
+02113 SCRIPT SMALL L
+02114 L B BAR SYMBOL
+02115 DOUBLE-STRUCK CAPITAL N
+02116 NUMERO SIGN
+02117 SOUND RECORDING COPYRIGHT
+02118 SCRIPT CAPITAL P
+02119 DOUBLE-STRUCK CAPITAL P
+0211A DOUBLE-STRUCK CAPITAL Q
+0211B SCRIPT CAPITAL R
+0211C BLACK-LETTER CAPITAL R
+0211D DOUBLE-STRUCK CAPITAL R
+0211E PRESCRIPTION TAKE
+0211F RESPONSE
+02120 SERVICE MARK
+02121 TELEPHONE SIGN
+02122 TRADE MARK SIGN
+02123 VERSICLE
+02124 DOUBLE-STRUCK CAPITAL Z
+02125 OUNCE SIGN
+02126 OHM SIGN
+02127 INVERTED OHM SIGN
+02128 BLACK-LETTER CAPITAL Z
+02129 TURNED GREEK SMALL LETTER IOTA
+0212A KELVIN SIGN
+0212B ANGSTROM SIGN
+0212C SCRIPT CAPITAL B
+0212D BLACK-LETTER CAPITAL C
+0212E ESTIMATED SYMBOL
+0212F SCRIPT SMALL E
+02130 SCRIPT CAPITAL E
+02131 SCRIPT CAPITAL F
+02132 TURNED CAPITAL F
+02133 SCRIPT CAPITAL M
+02134 SCRIPT SMALL O
+02135 ALEF SYMBOL
+02136 BET SYMBOL
+02137 GIMEL SYMBOL
+02138 DALET SYMBOL
+02139 INFORMATION SOURCE
+0213A ROTATED CAPITAL Q
+0213B FACSIMILE SIGN
+0213C DOUBLE-STRUCK SMALL PI
+0213D DOUBLE-STRUCK SMALL GAMMA
+0213E DOUBLE-STRUCK CAPITAL GAMMA
+0213F DOUBLE-STRUCK CAPITAL PI
+02140 DOUBLE-STRUCK N-ARY SUMMATION
+02141 TURNED SANS-SERIF CAPITAL G
+02142 TURNED SANS-SERIF CAPITAL L
+02143 REVERSED SANS-SERIF CAPITAL L
+02144 TURNED SANS-SERIF CAPITAL Y
+02145 DOUBLE-STRUCK ITALIC CAPITAL D
+02146 DOUBLE-STRUCK ITALIC SMALL D
+02147 DOUBLE-STRUCK ITALIC SMALL E
+02148 DOUBLE-STRUCK ITALIC SMALL I
+02149 DOUBLE-STRUCK ITALIC SMALL J
+0214A PROPERTY LINE
+0214B TURNED AMPERSAND
+0214C PER SIGN
+0214D AKTIESELSKAB
+0214E TURNED SMALL F
+0214F SYMBOL FOR SAMARITAN SOURCE
+02150 VULGAR FRACTION ONE SEVENTH
+02151 VULGAR FRACTION ONE NINTH
+02152 VULGAR FRACTION ONE TENTH
+02153 VULGAR FRACTION ONE THIRD
+02154 VULGAR FRACTION TWO THIRDS
+02155 VULGAR FRACTION ONE FIFTH
+02156 VULGAR FRACTION TWO FIFTHS
+02157 VULGAR FRACTION THREE FIFTHS
+02158 VULGAR FRACTION FOUR FIFTHS
+02159 VULGAR FRACTION ONE SIXTH
+0215A VULGAR FRACTION FIVE SIXTHS
+0215B VULGAR FRACTION ONE EIGHTH
+0215C VULGAR FRACTION THREE EIGHTHS
+0215D VULGAR FRACTION FIVE EIGHTHS
+0215E VULGAR FRACTION SEVEN EIGHTHS
+0215F FRACTION NUMERATOR ONE
+02160 ROMAN NUMERAL ONE
+02161 ROMAN NUMERAL TWO
+02162 ROMAN NUMERAL THREE
+02163 ROMAN NUMERAL FOUR
+02164 ROMAN NUMERAL FIVE
+02165 ROMAN NUMERAL SIX
+02166 ROMAN NUMERAL SEVEN
+02167 ROMAN NUMERAL EIGHT
+02168 ROMAN NUMERAL NINE
+02169 ROMAN NUMERAL TEN
+0216A ROMAN NUMERAL ELEVEN
+0216B ROMAN NUMERAL TWELVE
+0216C ROMAN NUMERAL FIFTY
+0216D ROMAN NUMERAL ONE HUNDRED
+0216E ROMAN NUMERAL FIVE HUNDRED
+0216F ROMAN NUMERAL ONE THOUSAND
+02170 SMALL ROMAN NUMERAL ONE
+02171 SMALL ROMAN NUMERAL TWO
+02172 SMALL ROMAN NUMERAL THREE
+02173 SMALL ROMAN NUMERAL FOUR
+02174 SMALL ROMAN NUMERAL FIVE
+02175 SMALL ROMAN NUMERAL SIX
+02176 SMALL ROMAN NUMERAL SEVEN
+02177 SMALL ROMAN NUMERAL EIGHT
+02178 SMALL ROMAN NUMERAL NINE
+02179 SMALL ROMAN NUMERAL TEN
+0217A SMALL ROMAN NUMERAL ELEVEN
+0217B SMALL ROMAN NUMERAL TWELVE
+0217C SMALL ROMAN NUMERAL FIFTY
+0217D SMALL ROMAN NUMERAL ONE HUNDRED
+0217E SMALL ROMAN NUMERAL FIVE HUNDRED
+0217F SMALL ROMAN NUMERAL ONE THOUSAND
+02180 ROMAN NUMERAL ONE THOUSAND C D
+02181 ROMAN NUMERAL FIVE THOUSAND
+02182 ROMAN NUMERAL TEN THOUSAND
+02183 ROMAN NUMERAL REVERSED ONE HUNDRED
+02184 LATIN SMALL LETTER REVERSED C
+02185 ROMAN NUMERAL SIX LATE FORM
+02186 ROMAN NUMERAL FIFTY EARLY FORM
+02187 ROMAN NUMERAL FIFTY THOUSAND
+02188 ROMAN NUMERAL ONE HUNDRED THOUSAND
+02189 VULGAR FRACTION ZERO THIRDS
+02190 LEFTWARDS ARROW
+02191 UPWARDS ARROW
+02192 RIGHTWARDS ARROW
+02193 DOWNWARDS ARROW
+02194 LEFT RIGHT ARROW
+02195 UP DOWN ARROW
+02196 NORTH WEST ARROW
+02197 NORTH EAST ARROW
+02198 SOUTH EAST ARROW
+02199 SOUTH WEST ARROW
+0219A LEFTWARDS ARROW WITH STROKE
+0219B RIGHTWARDS ARROW WITH STROKE
+0219C LEFTWARDS WAVE ARROW
+0219D RIGHTWARDS WAVE ARROW
+0219E LEFTWARDS TWO HEADED ARROW
+0219F UPWARDS TWO HEADED ARROW
+021A0 RIGHTWARDS TWO HEADED ARROW
+021A1 DOWNWARDS TWO HEADED ARROW
+021A2 LEFTWARDS ARROW WITH TAIL
+021A3 RIGHTWARDS ARROW WITH TAIL
+021A4 LEFTWARDS ARROW FROM BAR
+021A5 UPWARDS ARROW FROM BAR
+021A6 RIGHTWARDS ARROW FROM BAR
+021A7 DOWNWARDS ARROW FROM BAR
+021A8 UP DOWN ARROW WITH BASE
+021A9 LEFTWARDS ARROW WITH HOOK
+021AA RIGHTWARDS ARROW WITH HOOK
+021AB LEFTWARDS ARROW WITH LOOP
+021AC RIGHTWARDS ARROW WITH LOOP
+021AD LEFT RIGHT WAVE ARROW
+021AE LEFT RIGHT ARROW WITH STROKE
+021AF DOWNWARDS ZIGZAG ARROW
+021B0 UPWARDS ARROW WITH TIP LEFTWARDS
+021B1 UPWARDS ARROW WITH TIP RIGHTWARDS
+021B2 DOWNWARDS ARROW WITH TIP LEFTWARDS
+021B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS
+021B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+021B5 DOWNWARDS ARROW WITH CORNER LEFTWARDS
+021B6 ANTICLOCKWISE TOP SEMICIRCLE ARROW
+021B7 CLOCKWISE TOP SEMICIRCLE ARROW
+021B8 NORTH WEST ARROW TO LONG BAR
+021B9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+021BA ANTICLOCKWISE OPEN CIRCLE ARROW
+021BB CLOCKWISE OPEN CIRCLE ARROW
+021BC LEFTWARDS HARPOON WITH BARB UPWARDS
+021BD LEFTWARDS HARPOON WITH BARB DOWNWARDS
+021BE UPWARDS HARPOON WITH BARB RIGHTWARDS
+021BF UPWARDS HARPOON WITH BARB LEFTWARDS
+021C0 RIGHTWARDS HARPOON WITH BARB UPWARDS
+021C1 RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+021C2 DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+021C3 DOWNWARDS HARPOON WITH BARB LEFTWARDS
+021C4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+021C5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+021C6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+021C7 LEFTWARDS PAIRED ARROWS
+021C8 UPWARDS PAIRED ARROWS
+021C9 RIGHTWARDS PAIRED ARROWS
+021CA DOWNWARDS PAIRED ARROWS
+021CB LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+021CC RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+021CD LEFTWARDS DOUBLE ARROW WITH STROKE
+021CE LEFT RIGHT DOUBLE ARROW WITH STROKE
+021CF RIGHTWARDS DOUBLE ARROW WITH STROKE
+021D0 LEFTWARDS DOUBLE ARROW
+021D1 UPWARDS DOUBLE ARROW
+021D2 RIGHTWARDS DOUBLE ARROW
+021D3 DOWNWARDS DOUBLE ARROW
+021D4 LEFT RIGHT DOUBLE ARROW
+021D5 UP DOWN DOUBLE ARROW
+021D6 NORTH WEST DOUBLE ARROW
+021D7 NORTH EAST DOUBLE ARROW
+021D8 SOUTH EAST DOUBLE ARROW
+021D9 SOUTH WEST DOUBLE ARROW
+021DA LEFTWARDS TRIPLE ARROW
+021DB RIGHTWARDS TRIPLE ARROW
+021DC LEFTWARDS SQUIGGLE ARROW
+021DD RIGHTWARDS SQUIGGLE ARROW
+021DE UPWARDS ARROW WITH DOUBLE STROKE
+021DF DOWNWARDS ARROW WITH DOUBLE STROKE
+021E0 LEFTWARDS DASHED ARROW
+021E1 UPWARDS DASHED ARROW
+021E2 RIGHTWARDS DASHED ARROW
+021E3 DOWNWARDS DASHED ARROW
+021E4 LEFTWARDS ARROW TO BAR
+021E5 RIGHTWARDS ARROW TO BAR
+021E6 LEFTWARDS WHITE ARROW
+021E7 UPWARDS WHITE ARROW
+021E8 RIGHTWARDS WHITE ARROW
+021E9 DOWNWARDS WHITE ARROW
+021EA UPWARDS WHITE ARROW FROM BAR
+021EB UPWARDS WHITE ARROW ON PEDESTAL
+021EC UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+021ED UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+021EE UPWARDS WHITE DOUBLE ARROW
+021EF UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+021F0 RIGHTWARDS WHITE ARROW FROM WALL
+021F1 NORTH WEST ARROW TO CORNER
+021F2 SOUTH EAST ARROW TO CORNER
+021F3 UP DOWN WHITE ARROW
+021F4 RIGHT ARROW WITH SMALL CIRCLE
+021F5 DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+021F6 THREE RIGHTWARDS ARROWS
+021F7 LEFTWARDS ARROW WITH VERTICAL STROKE
+021F8 RIGHTWARDS ARROW WITH VERTICAL STROKE
+021F9 LEFT RIGHT ARROW WITH VERTICAL STROKE
+021FA LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+021FB RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+021FC LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
+021FD LEFTWARDS OPEN-HEADED ARROW
+021FE RIGHTWARDS OPEN-HEADED ARROW
+021FF LEFT RIGHT OPEN-HEADED ARROW
+02200 FOR ALL
+02201 COMPLEMENT
+02202 PARTIAL DIFFERENTIAL
+02203 THERE EXISTS
+02204 THERE DOES NOT EXIST
+02205 EMPTY SET
+02206 INCREMENT
+02207 NABLA
+02208 ELEMENT OF
+02209 NOT AN ELEMENT OF
+0220A SMALL ELEMENT OF
+0220B CONTAINS AS MEMBER
+0220C DOES NOT CONTAIN AS MEMBER
+0220D SMALL CONTAINS AS MEMBER
+0220E END OF PROOF
+0220F N-ARY PRODUCT
+02210 N-ARY COPRODUCT
+02211 N-ARY SUMMATION
+02212 MINUS SIGN
+02213 MINUS-OR-PLUS SIGN
+02214 DOT PLUS
+02215 DIVISION SLASH
+02216 SET MINUS
+02217 ASTERISK OPERATOR
+02218 RING OPERATOR
+02219 BULLET OPERATOR
+0221A SQUARE ROOT
+0221B CUBE ROOT
+0221C FOURTH ROOT
+0221D PROPORTIONAL TO
+0221E INFINITY
+0221F RIGHT ANGLE
+02220 ANGLE
+02221 MEASURED ANGLE
+02222 SPHERICAL ANGLE
+02223 DIVIDES
+02224 DOES NOT DIVIDE
+02225 PARALLEL TO
+02226 NOT PARALLEL TO
+02227 LOGICAL AND
+02228 LOGICAL OR
+02229 INTERSECTION
+0222A UNION
+0222B INTEGRAL
+0222C DOUBLE INTEGRAL
+0222D TRIPLE INTEGRAL
+0222E CONTOUR INTEGRAL
+0222F SURFACE INTEGRAL
+02230 VOLUME INTEGRAL
+02231 CLOCKWISE INTEGRAL
+02232 CLOCKWISE CONTOUR INTEGRAL
+02233 ANTICLOCKWISE CONTOUR INTEGRAL
+02234 THEREFORE
+02235 BECAUSE
+02236 RATIO
+02237 PROPORTION
+02238 DOT MINUS
+02239 EXCESS
+0223A GEOMETRIC PROPORTION
+0223B HOMOTHETIC
+0223C TILDE OPERATOR
+0223D REVERSED TILDE
+0223E INVERTED LAZY S
+0223F SINE WAVE
+02240 WREATH PRODUCT
+02241 NOT TILDE
+02242 MINUS TILDE
+02243 ASYMPTOTICALLY EQUAL TO
+02244 NOT ASYMPTOTICALLY EQUAL TO
+02245 APPROXIMATELY EQUAL TO
+02246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+02247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+02248 ALMOST EQUAL TO
+02249 NOT ALMOST EQUAL TO
+0224A ALMOST EQUAL OR EQUAL TO
+0224B TRIPLE TILDE
+0224C ALL EQUAL TO
+0224D EQUIVALENT TO
+0224E GEOMETRICALLY EQUIVALENT TO
+0224F DIFFERENCE BETWEEN
+02250 APPROACHES THE LIMIT
+02251 GEOMETRICALLY EQUAL TO
+02252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
+02253 IMAGE OF OR APPROXIMATELY EQUAL TO
+02254 COLON EQUALS
+02255 EQUALS COLON
+02256 RING IN EQUAL TO
+02257 RING EQUAL TO
+02258 CORRESPONDS TO
+02259 ESTIMATES
+0225A EQUIANGULAR TO
+0225B STAR EQUALS
+0225C DELTA EQUAL TO
+0225D EQUAL TO BY DEFINITION
+0225E MEASURED BY
+0225F QUESTIONED EQUAL TO
+02260 NOT EQUAL TO
+02261 IDENTICAL TO
+02262 NOT IDENTICAL TO
+02263 STRICTLY EQUIVALENT TO
+02264 LESS-THAN OR EQUAL TO
+02265 GREATER-THAN OR EQUAL TO
+02266 LESS-THAN OVER EQUAL TO
+02267 GREATER-THAN OVER EQUAL TO
+02268 LESS-THAN BUT NOT EQUAL TO
+02269 GREATER-THAN BUT NOT EQUAL TO
+0226A MUCH LESS-THAN
+0226B MUCH GREATER-THAN
+0226C BETWEEN
+0226D NOT EQUIVALENT TO
+0226E NOT LESS-THAN
+0226F NOT GREATER-THAN
+02270 NEITHER LESS-THAN NOR EQUAL TO
+02271 NEITHER GREATER-THAN NOR EQUAL TO
+02272 LESS-THAN OR EQUIVALENT TO
+02273 GREATER-THAN OR EQUIVALENT TO
+02274 NEITHER LESS-THAN NOR EQUIVALENT TO
+02275 NEITHER GREATER-THAN NOR EQUIVALENT TO
+02276 LESS-THAN OR GREATER-THAN
+02277 GREATER-THAN OR LESS-THAN
+02278 NEITHER LESS-THAN NOR GREATER-THAN
+02279 NEITHER GREATER-THAN NOR LESS-THAN
+0227A PRECEDES
+0227B SUCCEEDS
+0227C PRECEDES OR EQUAL TO
+0227D SUCCEEDS OR EQUAL TO
+0227E PRECEDES OR EQUIVALENT TO
+0227F SUCCEEDS OR EQUIVALENT TO
+02280 DOES NOT PRECEDE
+02281 DOES NOT SUCCEED
+02282 SUBSET OF
+02283 SUPERSET OF
+02284 NOT A SUBSET OF
+02285 NOT A SUPERSET OF
+02286 SUBSET OF OR EQUAL TO
+02287 SUPERSET OF OR EQUAL TO
+02288 NEITHER A SUBSET OF NOR EQUAL TO
+02289 NEITHER A SUPERSET OF NOR EQUAL TO
+0228A SUBSET OF WITH NOT EQUAL TO
+0228B SUPERSET OF WITH NOT EQUAL TO
+0228C MULTISET
+0228D MULTISET MULTIPLICATION
+0228E MULTISET UNION
+0228F SQUARE IMAGE OF
+02290 SQUARE ORIGINAL OF
+02291 SQUARE IMAGE OF OR EQUAL TO
+02292 SQUARE ORIGINAL OF OR EQUAL TO
+02293 SQUARE CAP
+02294 SQUARE CUP
+02295 CIRCLED PLUS
+02296 CIRCLED MINUS
+02297 CIRCLED TIMES
+02298 CIRCLED DIVISION SLASH
+02299 CIRCLED DOT OPERATOR
+0229A CIRCLED RING OPERATOR
+0229B CIRCLED ASTERISK OPERATOR
+0229C CIRCLED EQUALS
+0229D CIRCLED DASH
+0229E SQUARED PLUS
+0229F SQUARED MINUS
+022A0 SQUARED TIMES
+022A1 SQUARED DOT OPERATOR
+022A2 RIGHT TACK
+022A3 LEFT TACK
+022A4 DOWN TACK
+022A5 UP TACK
+022A6 ASSERTION
+022A7 MODELS
+022A8 TRUE
+022A9 FORCES
+022AA TRIPLE VERTICAL BAR RIGHT TURNSTILE
+022AB DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+022AC DOES NOT PROVE
+022AD NOT TRUE
+022AE DOES NOT FORCE
+022AF NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+022B0 PRECEDES UNDER RELATION
+022B1 SUCCEEDS UNDER RELATION
+022B2 NORMAL SUBGROUP OF
+022B3 CONTAINS AS NORMAL SUBGROUP
+022B4 NORMAL SUBGROUP OF OR EQUAL TO
+022B5 CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+022B6 ORIGINAL OF
+022B7 IMAGE OF
+022B8 MULTIMAP
+022B9 HERMITIAN CONJUGATE MATRIX
+022BA INTERCALATE
+022BB XOR
+022BC NAND
+022BD NOR
+022BE RIGHT ANGLE WITH ARC
+022BF RIGHT TRIANGLE
+022C0 N-ARY LOGICAL AND
+022C1 N-ARY LOGICAL OR
+022C2 N-ARY INTERSECTION
+022C3 N-ARY UNION
+022C4 DIAMOND OPERATOR
+022C5 DOT OPERATOR
+022C6 STAR OPERATOR
+022C7 DIVISION TIMES
+022C8 BOWTIE
+022C9 LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+022CA RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+022CB LEFT SEMIDIRECT PRODUCT
+022CC RIGHT SEMIDIRECT PRODUCT
+022CD REVERSED TILDE EQUALS
+022CE CURLY LOGICAL OR
+022CF CURLY LOGICAL AND
+022D0 DOUBLE SUBSET
+022D1 DOUBLE SUPERSET
+022D2 DOUBLE INTERSECTION
+022D3 DOUBLE UNION
+022D4 PITCHFORK
+022D5 EQUAL AND PARALLEL TO
+022D6 LESS-THAN WITH DOT
+022D7 GREATER-THAN WITH DOT
+022D8 VERY MUCH LESS-THAN
+022D9 VERY MUCH GREATER-THAN
+022DA LESS-THAN EQUAL TO OR GREATER-THAN
+022DB GREATER-THAN EQUAL TO OR LESS-THAN
+022DC EQUAL TO OR LESS-THAN
+022DD EQUAL TO OR GREATER-THAN
+022DE EQUAL TO OR PRECEDES
+022DF EQUAL TO OR SUCCEEDS
+022E0 DOES NOT PRECEDE OR EQUAL
+022E1 DOES NOT SUCCEED OR EQUAL
+022E2 NOT SQUARE IMAGE OF OR EQUAL TO
+022E3 NOT SQUARE ORIGINAL OF OR EQUAL TO
+022E4 SQUARE IMAGE OF OR NOT EQUAL TO
+022E5 SQUARE ORIGINAL OF OR NOT EQUAL TO
+022E6 LESS-THAN BUT NOT EQUIVALENT TO
+022E7 GREATER-THAN BUT NOT EQUIVALENT TO
+022E8 PRECEDES BUT NOT EQUIVALENT TO
+022E9 SUCCEEDS BUT NOT EQUIVALENT TO
+022EA NOT NORMAL SUBGROUP OF
+022EB DOES NOT CONTAIN AS NORMAL SUBGROUP
+022EC NOT NORMAL SUBGROUP OF OR EQUAL TO
+022ED DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+022EE VERTICAL ELLIPSIS
+022EF MIDLINE HORIZONTAL ELLIPSIS
+022F0 UP RIGHT DIAGONAL ELLIPSIS
+022F1 DOWN RIGHT DIAGONAL ELLIPSIS
+022F2 ELEMENT OF WITH LONG HORIZONTAL STROKE
+022F3 ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+022F4 SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+022F5 ELEMENT OF WITH DOT ABOVE
+022F6 ELEMENT OF WITH OVERBAR
+022F7 SMALL ELEMENT OF WITH OVERBAR
+022F8 ELEMENT OF WITH UNDERBAR
+022F9 ELEMENT OF WITH TWO HORIZONTAL STROKES
+022FA CONTAINS WITH LONG HORIZONTAL STROKE
+022FB CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+022FC SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+022FD CONTAINS WITH OVERBAR
+022FE SMALL CONTAINS WITH OVERBAR
+022FF Z NOTATION BAG MEMBERSHIP
+02300 DIAMETER SIGN
+02301 ELECTRIC ARROW
+02302 HOUSE
+02303 UP ARROWHEAD
+02304 DOWN ARROWHEAD
+02305 PROJECTIVE
+02306 PERSPECTIVE
+02307 WAVY LINE
+02308 LEFT CEILING
+02309 RIGHT CEILING
+0230A LEFT FLOOR
+0230B RIGHT FLOOR
+0230C BOTTOM RIGHT CROP
+0230D BOTTOM LEFT CROP
+0230E TOP RIGHT CROP
+0230F TOP LEFT CROP
+02310 REVERSED NOT SIGN
+02311 SQUARE LOZENGE
+02312 ARC
+02313 SEGMENT
+02314 SECTOR
+02315 TELEPHONE RECORDER
+02316 POSITION INDICATOR
+02317 VIEWDATA SQUARE
+02318 PLACE OF INTEREST SIGN
+02319 TURNED NOT SIGN
+0231A WATCH
+0231B HOURGLASS
+0231C TOP LEFT CORNER
+0231D TOP RIGHT CORNER
+0231E BOTTOM LEFT CORNER
+0231F BOTTOM RIGHT CORNER
+02320 TOP HALF INTEGRAL
+02321 BOTTOM HALF INTEGRAL
+02322 FROWN
+02323 SMILE
+02324 UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+02325 OPTION KEY
+02326 ERASE TO THE RIGHT
+02327 X IN A RECTANGLE BOX
+02328 KEYBOARD
+02329 LEFT-POINTING ANGLE BRACKET
+0232A RIGHT-POINTING ANGLE BRACKET
+0232B ERASE TO THE LEFT
+0232C BENZENE RING
+0232D CYLINDRICITY
+0232E ALL AROUND-PROFILE
+0232F SYMMETRY
+02330 TOTAL RUNOUT
+02331 DIMENSION ORIGIN
+02332 CONICAL TAPER
+02333 SLOPE
+02334 COUNTERBORE
+02335 COUNTERSINK
+02336 APL FUNCTIONAL SYMBOL I-BEAM
+02337 APL FUNCTIONAL SYMBOL SQUISH QUAD
+02338 APL FUNCTIONAL SYMBOL QUAD EQUAL
+02339 APL FUNCTIONAL SYMBOL QUAD DIVIDE
+0233A APL FUNCTIONAL SYMBOL QUAD DIAMOND
+0233B APL FUNCTIONAL SYMBOL QUAD JOT
+0233C APL FUNCTIONAL SYMBOL QUAD CIRCLE
+0233D APL FUNCTIONAL SYMBOL CIRCLE STILE
+0233E APL FUNCTIONAL SYMBOL CIRCLE JOT
+0233F APL FUNCTIONAL SYMBOL SLASH BAR
+02340 APL FUNCTIONAL SYMBOL BACKSLASH BAR
+02341 APL FUNCTIONAL SYMBOL QUAD SLASH
+02342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+02343 APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+02344 APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+02345 APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+02346 APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+02347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+02348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+02349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+0234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+0234B APL FUNCTIONAL SYMBOL DELTA STILE
+0234C APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+0234D APL FUNCTIONAL SYMBOL QUAD DELTA
+0234E APL FUNCTIONAL SYMBOL DOWN TACK JOT
+0234F APL FUNCTIONAL SYMBOL UPWARDS VANE
+02350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+02351 APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+02352 APL FUNCTIONAL SYMBOL DEL STILE
+02353 APL FUNCTIONAL SYMBOL QUAD UP CARET
+02354 APL FUNCTIONAL SYMBOL QUAD DEL
+02355 APL FUNCTIONAL SYMBOL UP TACK JOT
+02356 APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+02357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+02358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+02359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+0235A APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+0235B APL FUNCTIONAL SYMBOL JOT UNDERBAR
+0235C APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+0235D APL FUNCTIONAL SYMBOL UP SHOE JOT
+0235E APL FUNCTIONAL SYMBOL QUOTE QUAD
+0235F APL FUNCTIONAL SYMBOL CIRCLE STAR
+02360 APL FUNCTIONAL SYMBOL QUAD COLON
+02361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+02362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
+02363 APL FUNCTIONAL SYMBOL STAR DIAERESIS
+02364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
+02365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+02366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+02367 APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+02368 APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+02369 APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+0236A APL FUNCTIONAL SYMBOL COMMA BAR
+0236B APL FUNCTIONAL SYMBOL DEL TILDE
+0236C APL FUNCTIONAL SYMBOL ZILDE
+0236D APL FUNCTIONAL SYMBOL STILE TILDE
+0236E APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+0236F APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+02370 APL FUNCTIONAL SYMBOL QUAD QUESTION
+02371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+02372 APL FUNCTIONAL SYMBOL UP CARET TILDE
+02373 APL FUNCTIONAL SYMBOL IOTA
+02374 APL FUNCTIONAL SYMBOL RHO
+02375 APL FUNCTIONAL SYMBOL OMEGA
+02376 APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+02377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+02378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+02379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+0237A APL FUNCTIONAL SYMBOL ALPHA
+0237B NOT CHECK MARK
+0237C RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+0237D SHOULDERED OPEN BOX
+0237E BELL SYMBOL
+0237F VERTICAL LINE WITH MIDDLE DOT
+02380 INSERTION SYMBOL
+02381 CONTINUOUS UNDERLINE SYMBOL
+02382 DISCONTINUOUS UNDERLINE SYMBOL
+02383 EMPHASIS SYMBOL
+02384 COMPOSITION SYMBOL
+02385 WHITE SQUARE WITH CENTRE VERTICAL LINE
+02386 ENTER SYMBOL
+02387 ALTERNATIVE KEY SYMBOL
+02388 HELM SYMBOL
+02389 CIRCLED HORIZONTAL BAR WITH NOTCH
+0238A CIRCLED TRIANGLE DOWN
+0238B BROKEN CIRCLE WITH NORTHWEST ARROW
+0238C UNDO SYMBOL
+0238D MONOSTABLE SYMBOL
+0238E HYSTERESIS SYMBOL
+0238F OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+02390 OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+02391 PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+02392 PASSIVE-PULL-UP-OUTPUT SYMBOL
+02393 DIRECT CURRENT SYMBOL FORM TWO
+02394 SOFTWARE-FUNCTION SYMBOL
+02395 APL FUNCTIONAL SYMBOL QUAD
+02396 DECIMAL SEPARATOR KEY SYMBOL
+02397 PREVIOUS PAGE
+02398 NEXT PAGE
+02399 PRINT SCREEN SYMBOL
+0239A CLEAR SCREEN SYMBOL
+0239B LEFT PARENTHESIS UPPER HOOK
+0239C LEFT PARENTHESIS EXTENSION
+0239D LEFT PARENTHESIS LOWER HOOK
+0239E RIGHT PARENTHESIS UPPER HOOK
+0239F RIGHT PARENTHESIS EXTENSION
+023A0 RIGHT PARENTHESIS LOWER HOOK
+023A1 LEFT SQUARE BRACKET UPPER CORNER
+023A2 LEFT SQUARE BRACKET EXTENSION
+023A3 LEFT SQUARE BRACKET LOWER CORNER
+023A4 RIGHT SQUARE BRACKET UPPER CORNER
+023A5 RIGHT SQUARE BRACKET EXTENSION
+023A6 RIGHT SQUARE BRACKET LOWER CORNER
+023A7 LEFT CURLY BRACKET UPPER HOOK
+023A8 LEFT CURLY BRACKET MIDDLE PIECE
+023A9 LEFT CURLY BRACKET LOWER HOOK
+023AA CURLY BRACKET EXTENSION
+023AB RIGHT CURLY BRACKET UPPER HOOK
+023AC RIGHT CURLY BRACKET MIDDLE PIECE
+023AD RIGHT CURLY BRACKET LOWER HOOK
+023AE INTEGRAL EXTENSION
+023AF HORIZONTAL LINE EXTENSION
+023B0 UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+023B1 UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+023B2 SUMMATION TOP
+023B3 SUMMATION BOTTOM
+023B4 TOP SQUARE BRACKET
+023B5 BOTTOM SQUARE BRACKET
+023B6 BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+023B7 RADICAL SYMBOL BOTTOM
+023B8 LEFT VERTICAL BOX LINE
+023B9 RIGHT VERTICAL BOX LINE
+023BA HORIZONTAL SCAN LINE-1
+023BB HORIZONTAL SCAN LINE-3
+023BC HORIZONTAL SCAN LINE-7
+023BD HORIZONTAL SCAN LINE-9
+023BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+023BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+023C0 DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+023C1 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+023C2 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+023C3 DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+023C4 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+023C5 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+023C6 DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+023C7 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+023C8 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+023C9 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+023CA DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+023CB DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+023CC DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+023CD SQUARE FOOT
+023CE RETURN SYMBOL
+023CF EJECT SYMBOL
+023D0 VERTICAL LINE EXTENSION
+023D1 METRICAL BREVE
+023D2 METRICAL LONG OVER SHORT
+023D3 METRICAL SHORT OVER LONG
+023D4 METRICAL LONG OVER TWO SHORTS
+023D5 METRICAL TWO SHORTS OVER LONG
+023D6 METRICAL TWO SHORTS JOINED
+023D7 METRICAL TRISEME
+023D8 METRICAL TETRASEME
+023D9 METRICAL PENTASEME
+023DA EARTH GROUND
+023DB FUSE
+023DC TOP PARENTHESIS
+023DD BOTTOM PARENTHESIS
+023DE TOP CURLY BRACKET
+023DF BOTTOM CURLY BRACKET
+023E0 TOP TORTOISE SHELL BRACKET
+023E1 BOTTOM TORTOISE SHELL BRACKET
+023E2 WHITE TRAPEZIUM
+023E3 BENZENE RING WITH CIRCLE
+023E4 STRAIGHTNESS
+023E5 FLATNESS
+023E6 AC CURRENT
+023E7 ELECTRICAL INTERSECTION
+023E8 DECIMAL EXPONENT SYMBOL
+023E9 BLACK RIGHT-POINTING DOUBLE TRIANGLE
+023EA BLACK LEFT-POINTING DOUBLE TRIANGLE
+023EB BLACK UP-POINTING DOUBLE TRIANGLE
+023EC BLACK DOWN-POINTING DOUBLE TRIANGLE
+023ED BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+023EE BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+023EF BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+023F0 ALARM CLOCK
+023F1 STOPWATCH
+023F2 TIMER CLOCK
+023F3 HOURGLASS WITH FLOWING SAND
+02400 SYMBOL FOR NULL
+02401 SYMBOL FOR START OF HEADING
+02402 SYMBOL FOR START OF TEXT
+02403 SYMBOL FOR END OF TEXT
+02404 SYMBOL FOR END OF TRANSMISSION
+02405 SYMBOL FOR ENQUIRY
+02406 SYMBOL FOR ACKNOWLEDGE
+02407 SYMBOL FOR BELL
+02408 SYMBOL FOR BACKSPACE
+02409 SYMBOL FOR HORIZONTAL TABULATION
+0240A SYMBOL FOR LINE FEED
+0240B SYMBOL FOR VERTICAL TABULATION
+0240C SYMBOL FOR FORM FEED
+0240D SYMBOL FOR CARRIAGE RETURN
+0240E SYMBOL FOR SHIFT OUT
+0240F SYMBOL FOR SHIFT IN
+02410 SYMBOL FOR DATA LINK ESCAPE
+02411 SYMBOL FOR DEVICE CONTROL ONE
+02412 SYMBOL FOR DEVICE CONTROL TWO
+02413 SYMBOL FOR DEVICE CONTROL THREE
+02414 SYMBOL FOR DEVICE CONTROL FOUR
+02415 SYMBOL FOR NEGATIVE ACKNOWLEDGE
+02416 SYMBOL FOR SYNCHRONOUS IDLE
+02417 SYMBOL FOR END OF TRANSMISSION BLOCK
+02418 SYMBOL FOR CANCEL
+02419 SYMBOL FOR END OF MEDIUM
+0241A SYMBOL FOR SUBSTITUTE
+0241B SYMBOL FOR ESCAPE
+0241C SYMBOL FOR FILE SEPARATOR
+0241D SYMBOL FOR GROUP SEPARATOR
+0241E SYMBOL FOR RECORD SEPARATOR
+0241F SYMBOL FOR UNIT SEPARATOR
+02420 SYMBOL FOR SPACE
+02421 SYMBOL FOR DELETE
+02422 BLANK SYMBOL
+02423 OPEN BOX
+02424 SYMBOL FOR NEWLINE
+02425 SYMBOL FOR DELETE FORM TWO
+02426 SYMBOL FOR SUBSTITUTE FORM TWO
+02440 OCR HOOK
+02441 OCR CHAIR
+02442 OCR FORK
+02443 OCR INVERTED FORK
+02444 OCR BELT BUCKLE
+02445 OCR BOW TIE
+02446 OCR BRANCH BANK IDENTIFICATION
+02447 OCR AMOUNT OF CHECK
+02448 OCR DASH
+02449 OCR CUSTOMER ACCOUNT NUMBER
+0244A OCR DOUBLE BACKSLASH
+02460 CIRCLED DIGIT ONE
+02461 CIRCLED DIGIT TWO
+02462 CIRCLED DIGIT THREE
+02463 CIRCLED DIGIT FOUR
+02464 CIRCLED DIGIT FIVE
+02465 CIRCLED DIGIT SIX
+02466 CIRCLED DIGIT SEVEN
+02467 CIRCLED DIGIT EIGHT
+02468 CIRCLED DIGIT NINE
+02469 CIRCLED NUMBER TEN
+0246A CIRCLED NUMBER ELEVEN
+0246B CIRCLED NUMBER TWELVE
+0246C CIRCLED NUMBER THIRTEEN
+0246D CIRCLED NUMBER FOURTEEN
+0246E CIRCLED NUMBER FIFTEEN
+0246F CIRCLED NUMBER SIXTEEN
+02470 CIRCLED NUMBER SEVENTEEN
+02471 CIRCLED NUMBER EIGHTEEN
+02472 CIRCLED NUMBER NINETEEN
+02473 CIRCLED NUMBER TWENTY
+02474 PARENTHESIZED DIGIT ONE
+02475 PARENTHESIZED DIGIT TWO
+02476 PARENTHESIZED DIGIT THREE
+02477 PARENTHESIZED DIGIT FOUR
+02478 PARENTHESIZED DIGIT FIVE
+02479 PARENTHESIZED DIGIT SIX
+0247A PARENTHESIZED DIGIT SEVEN
+0247B PARENTHESIZED DIGIT EIGHT
+0247C PARENTHESIZED DIGIT NINE
+0247D PARENTHESIZED NUMBER TEN
+0247E PARENTHESIZED NUMBER ELEVEN
+0247F PARENTHESIZED NUMBER TWELVE
+02480 PARENTHESIZED NUMBER THIRTEEN
+02481 PARENTHESIZED NUMBER FOURTEEN
+02482 PARENTHESIZED NUMBER FIFTEEN
+02483 PARENTHESIZED NUMBER SIXTEEN
+02484 PARENTHESIZED NUMBER SEVENTEEN
+02485 PARENTHESIZED NUMBER EIGHTEEN
+02486 PARENTHESIZED NUMBER NINETEEN
+02487 PARENTHESIZED NUMBER TWENTY
+02488 DIGIT ONE FULL STOP
+02489 DIGIT TWO FULL STOP
+0248A DIGIT THREE FULL STOP
+0248B DIGIT FOUR FULL STOP
+0248C DIGIT FIVE FULL STOP
+0248D DIGIT SIX FULL STOP
+0248E DIGIT SEVEN FULL STOP
+0248F DIGIT EIGHT FULL STOP
+02490 DIGIT NINE FULL STOP
+02491 NUMBER TEN FULL STOP
+02492 NUMBER ELEVEN FULL STOP
+02493 NUMBER TWELVE FULL STOP
+02494 NUMBER THIRTEEN FULL STOP
+02495 NUMBER FOURTEEN FULL STOP
+02496 NUMBER FIFTEEN FULL STOP
+02497 NUMBER SIXTEEN FULL STOP
+02498 NUMBER SEVENTEEN FULL STOP
+02499 NUMBER EIGHTEEN FULL STOP
+0249A NUMBER NINETEEN FULL STOP
+0249B NUMBER TWENTY FULL STOP
+0249C PARENTHESIZED LATIN SMALL LETTER A
+0249D PARENTHESIZED LATIN SMALL LETTER B
+0249E PARENTHESIZED LATIN SMALL LETTER C
+0249F PARENTHESIZED LATIN SMALL LETTER D
+024A0 PARENTHESIZED LATIN SMALL LETTER E
+024A1 PARENTHESIZED LATIN SMALL LETTER F
+024A2 PARENTHESIZED LATIN SMALL LETTER G
+024A3 PARENTHESIZED LATIN SMALL LETTER H
+024A4 PARENTHESIZED LATIN SMALL LETTER I
+024A5 PARENTHESIZED LATIN SMALL LETTER J
+024A6 PARENTHESIZED LATIN SMALL LETTER K
+024A7 PARENTHESIZED LATIN SMALL LETTER L
+024A8 PARENTHESIZED LATIN SMALL LETTER M
+024A9 PARENTHESIZED LATIN SMALL LETTER N
+024AA PARENTHESIZED LATIN SMALL LETTER O
+024AB PARENTHESIZED LATIN SMALL LETTER P
+024AC PARENTHESIZED LATIN SMALL LETTER Q
+024AD PARENTHESIZED LATIN SMALL LETTER R
+024AE PARENTHESIZED LATIN SMALL LETTER S
+024AF PARENTHESIZED LATIN SMALL LETTER T
+024B0 PARENTHESIZED LATIN SMALL LETTER U
+024B1 PARENTHESIZED LATIN SMALL LETTER V
+024B2 PARENTHESIZED LATIN SMALL LETTER W
+024B3 PARENTHESIZED LATIN SMALL LETTER X
+024B4 PARENTHESIZED LATIN SMALL LETTER Y
+024B5 PARENTHESIZED LATIN SMALL LETTER Z
+024B6 CIRCLED LATIN CAPITAL LETTER A
+024B7 CIRCLED LATIN CAPITAL LETTER B
+024B8 CIRCLED LATIN CAPITAL LETTER C
+024B9 CIRCLED LATIN CAPITAL LETTER D
+024BA CIRCLED LATIN CAPITAL LETTER E
+024BB CIRCLED LATIN CAPITAL LETTER F
+024BC CIRCLED LATIN CAPITAL LETTER G
+024BD CIRCLED LATIN CAPITAL LETTER H
+024BE CIRCLED LATIN CAPITAL LETTER I
+024BF CIRCLED LATIN CAPITAL LETTER J
+024C0 CIRCLED LATIN CAPITAL LETTER K
+024C1 CIRCLED LATIN CAPITAL LETTER L
+024C2 CIRCLED LATIN CAPITAL LETTER M
+024C3 CIRCLED LATIN CAPITAL LETTER N
+024C4 CIRCLED LATIN CAPITAL LETTER O
+024C5 CIRCLED LATIN CAPITAL LETTER P
+024C6 CIRCLED LATIN CAPITAL LETTER Q
+024C7 CIRCLED LATIN CAPITAL LETTER R
+024C8 CIRCLED LATIN CAPITAL LETTER S
+024C9 CIRCLED LATIN CAPITAL LETTER T
+024CA CIRCLED LATIN CAPITAL LETTER U
+024CB CIRCLED LATIN CAPITAL LETTER V
+024CC CIRCLED LATIN CAPITAL LETTER W
+024CD CIRCLED LATIN CAPITAL LETTER X
+024CE CIRCLED LATIN CAPITAL LETTER Y
+024CF CIRCLED LATIN CAPITAL LETTER Z
+024D0 CIRCLED LATIN SMALL LETTER A
+024D1 CIRCLED LATIN SMALL LETTER B
+024D2 CIRCLED LATIN SMALL LETTER C
+024D3 CIRCLED LATIN SMALL LETTER D
+024D4 CIRCLED LATIN SMALL LETTER E
+024D5 CIRCLED LATIN SMALL LETTER F
+024D6 CIRCLED LATIN SMALL LETTER G
+024D7 CIRCLED LATIN SMALL LETTER H
+024D8 CIRCLED LATIN SMALL LETTER I
+024D9 CIRCLED LATIN SMALL LETTER J
+024DA CIRCLED LATIN SMALL LETTER K
+024DB CIRCLED LATIN SMALL LETTER L
+024DC CIRCLED LATIN SMALL LETTER M
+024DD CIRCLED LATIN SMALL LETTER N
+024DE CIRCLED LATIN SMALL LETTER O
+024DF CIRCLED LATIN SMALL LETTER P
+024E0 CIRCLED LATIN SMALL LETTER Q
+024E1 CIRCLED LATIN SMALL LETTER R
+024E2 CIRCLED LATIN SMALL LETTER S
+024E3 CIRCLED LATIN SMALL LETTER T
+024E4 CIRCLED LATIN SMALL LETTER U
+024E5 CIRCLED LATIN SMALL LETTER V
+024E6 CIRCLED LATIN SMALL LETTER W
+024E7 CIRCLED LATIN SMALL LETTER X
+024E8 CIRCLED LATIN SMALL LETTER Y
+024E9 CIRCLED LATIN SMALL LETTER Z
+024EA CIRCLED DIGIT ZERO
+024EB NEGATIVE CIRCLED NUMBER ELEVEN
+024EC NEGATIVE CIRCLED NUMBER TWELVE
+024ED NEGATIVE CIRCLED NUMBER THIRTEEN
+024EE NEGATIVE CIRCLED NUMBER FOURTEEN
+024EF NEGATIVE CIRCLED NUMBER FIFTEEN
+024F0 NEGATIVE CIRCLED NUMBER SIXTEEN
+024F1 NEGATIVE CIRCLED NUMBER SEVENTEEN
+024F2 NEGATIVE CIRCLED NUMBER EIGHTEEN
+024F3 NEGATIVE CIRCLED NUMBER NINETEEN
+024F4 NEGATIVE CIRCLED NUMBER TWENTY
+024F5 DOUBLE CIRCLED DIGIT ONE
+024F6 DOUBLE CIRCLED DIGIT TWO
+024F7 DOUBLE CIRCLED DIGIT THREE
+024F8 DOUBLE CIRCLED DIGIT FOUR
+024F9 DOUBLE CIRCLED DIGIT FIVE
+024FA DOUBLE CIRCLED DIGIT SIX
+024FB DOUBLE CIRCLED DIGIT SEVEN
+024FC DOUBLE CIRCLED DIGIT EIGHT
+024FD DOUBLE CIRCLED DIGIT NINE
+024FE DOUBLE CIRCLED NUMBER TEN
+024FF NEGATIVE CIRCLED DIGIT ZERO
+02500 BOX DRAWINGS LIGHT HORIZONTAL
+02501 BOX DRAWINGS HEAVY HORIZONTAL
+02502 BOX DRAWINGS LIGHT VERTICAL
+02503 BOX DRAWINGS HEAVY VERTICAL
+02504 BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+02505 BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+02506 BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+02507 BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+02508 BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+02509 BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+0250A BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+0250B BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+0250C BOX DRAWINGS LIGHT DOWN AND RIGHT
+0250D BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+0250E BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+0250F BOX DRAWINGS HEAVY DOWN AND RIGHT
+02510 BOX DRAWINGS LIGHT DOWN AND LEFT
+02511 BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+02512 BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+02513 BOX DRAWINGS HEAVY DOWN AND LEFT
+02514 BOX DRAWINGS LIGHT UP AND RIGHT
+02515 BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+02516 BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+02517 BOX DRAWINGS HEAVY UP AND RIGHT
+02518 BOX DRAWINGS LIGHT UP AND LEFT
+02519 BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+0251A BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+0251B BOX DRAWINGS HEAVY UP AND LEFT
+0251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0251D BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+0251E BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+0251F BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+02520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+02521 BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+02522 BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+02523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+02524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
+02525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+02526 BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+02527 BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+02528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+02529 BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+0252A BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+0252B BOX DRAWINGS HEAVY VERTICAL AND LEFT
+0252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0252D BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+0252E BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+0252F BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+02530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+02531 BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+02532 BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+02533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+02534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
+02535 BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+02536 BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+02537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+02538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+02539 BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+0253A BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+0253B BOX DRAWINGS HEAVY UP AND HORIZONTAL
+0253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0253D BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+0253E BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+0253F BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+02540 BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+02541 BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+02542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+02543 BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+02544 BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+02545 BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+02546 BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+02547 BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+02548 BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+02549 BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+0254A BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+0254B BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+0254C BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+0254D BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+0254E BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+0254F BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+02550 BOX DRAWINGS DOUBLE HORIZONTAL
+02551 BOX DRAWINGS DOUBLE VERTICAL
+02552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+02553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+02554 BOX DRAWINGS DOUBLE DOWN AND RIGHT
+02555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+02556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+02557 BOX DRAWINGS DOUBLE DOWN AND LEFT
+02558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+02559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0255A BOX DRAWINGS DOUBLE UP AND RIGHT
+0255B BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0255D BOX DRAWINGS DOUBLE UP AND LEFT
+0255E BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0255F BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+02560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+02561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+02562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+02563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+02564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+02565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+02566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+02567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+02568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+02569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0256A BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0256B BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0256D BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+0256E BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+0256F BOX DRAWINGS LIGHT ARC UP AND LEFT
+02570 BOX DRAWINGS LIGHT ARC UP AND RIGHT
+02571 BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+02572 BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+02573 BOX DRAWINGS LIGHT DIAGONAL CROSS
+02574 BOX DRAWINGS LIGHT LEFT
+02575 BOX DRAWINGS LIGHT UP
+02576 BOX DRAWINGS LIGHT RIGHT
+02577 BOX DRAWINGS LIGHT DOWN
+02578 BOX DRAWINGS HEAVY LEFT
+02579 BOX DRAWINGS HEAVY UP
+0257A BOX DRAWINGS HEAVY RIGHT
+0257B BOX DRAWINGS HEAVY DOWN
+0257C BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+0257D BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+0257E BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+0257F BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+02580 UPPER HALF BLOCK
+02581 LOWER ONE EIGHTH BLOCK
+02582 LOWER ONE QUARTER BLOCK
+02583 LOWER THREE EIGHTHS BLOCK
+02584 LOWER HALF BLOCK
+02585 LOWER FIVE EIGHTHS BLOCK
+02586 LOWER THREE QUARTERS BLOCK
+02587 LOWER SEVEN EIGHTHS BLOCK
+02588 FULL BLOCK
+02589 LEFT SEVEN EIGHTHS BLOCK
+0258A LEFT THREE QUARTERS BLOCK
+0258B LEFT FIVE EIGHTHS BLOCK
+0258C LEFT HALF BLOCK
+0258D LEFT THREE EIGHTHS BLOCK
+0258E LEFT ONE QUARTER BLOCK
+0258F LEFT ONE EIGHTH BLOCK
+02590 RIGHT HALF BLOCK
+02591 LIGHT SHADE
+02592 MEDIUM SHADE
+02593 DARK SHADE
+02594 UPPER ONE EIGHTH BLOCK
+02595 RIGHT ONE EIGHTH BLOCK
+02596 QUADRANT LOWER LEFT
+02597 QUADRANT LOWER RIGHT
+02598 QUADRANT UPPER LEFT
+02599 QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
+0259A QUADRANT UPPER LEFT AND LOWER RIGHT
+0259B QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
+0259C QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
+0259D QUADRANT UPPER RIGHT
+0259E QUADRANT UPPER RIGHT AND LOWER LEFT
+0259F QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+025A0 BLACK SQUARE
+025A1 WHITE SQUARE
+025A2 WHITE SQUARE WITH ROUNDED CORNERS
+025A3 WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+025A4 SQUARE WITH HORIZONTAL FILL
+025A5 SQUARE WITH VERTICAL FILL
+025A6 SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+025A7 SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+025A8 SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+025A9 SQUARE WITH DIAGONAL CROSSHATCH FILL
+025AA BLACK SMALL SQUARE
+025AB WHITE SMALL SQUARE
+025AC BLACK RECTANGLE
+025AD WHITE RECTANGLE
+025AE BLACK VERTICAL RECTANGLE
+025AF WHITE VERTICAL RECTANGLE
+025B0 BLACK PARALLELOGRAM
+025B1 WHITE PARALLELOGRAM
+025B2 BLACK UP-POINTING TRIANGLE
+025B3 WHITE UP-POINTING TRIANGLE
+025B4 BLACK UP-POINTING SMALL TRIANGLE
+025B5 WHITE UP-POINTING SMALL TRIANGLE
+025B6 BLACK RIGHT-POINTING TRIANGLE
+025B7 WHITE RIGHT-POINTING TRIANGLE
+025B8 BLACK RIGHT-POINTING SMALL TRIANGLE
+025B9 WHITE RIGHT-POINTING SMALL TRIANGLE
+025BA BLACK RIGHT-POINTING POINTER
+025BB WHITE RIGHT-POINTING POINTER
+025BC BLACK DOWN-POINTING TRIANGLE
+025BD WHITE DOWN-POINTING TRIANGLE
+025BE BLACK DOWN-POINTING SMALL TRIANGLE
+025BF WHITE DOWN-POINTING SMALL TRIANGLE
+025C0 BLACK LEFT-POINTING TRIANGLE
+025C1 WHITE LEFT-POINTING TRIANGLE
+025C2 BLACK LEFT-POINTING SMALL TRIANGLE
+025C3 WHITE LEFT-POINTING SMALL TRIANGLE
+025C4 BLACK LEFT-POINTING POINTER
+025C5 WHITE LEFT-POINTING POINTER
+025C6 BLACK DIAMOND
+025C7 WHITE DIAMOND
+025C8 WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+025C9 FISHEYE
+025CA LOZENGE
+025CB WHITE CIRCLE
+025CC DOTTED CIRCLE
+025CD CIRCLE WITH VERTICAL FILL
+025CE BULLSEYE
+025CF BLACK CIRCLE
+025D0 CIRCLE WITH LEFT HALF BLACK
+025D1 CIRCLE WITH RIGHT HALF BLACK
+025D2 CIRCLE WITH LOWER HALF BLACK
+025D3 CIRCLE WITH UPPER HALF BLACK
+025D4 CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+025D5 CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+025D6 LEFT HALF BLACK CIRCLE
+025D7 RIGHT HALF BLACK CIRCLE
+025D8 INVERSE BULLET
+025D9 INVERSE WHITE CIRCLE
+025DA UPPER HALF INVERSE WHITE CIRCLE
+025DB LOWER HALF INVERSE WHITE CIRCLE
+025DC UPPER LEFT QUADRANT CIRCULAR ARC
+025DD UPPER RIGHT QUADRANT CIRCULAR ARC
+025DE LOWER RIGHT QUADRANT CIRCULAR ARC
+025DF LOWER LEFT QUADRANT CIRCULAR ARC
+025E0 UPPER HALF CIRCLE
+025E1 LOWER HALF CIRCLE
+025E2 BLACK LOWER RIGHT TRIANGLE
+025E3 BLACK LOWER LEFT TRIANGLE
+025E4 BLACK UPPER LEFT TRIANGLE
+025E5 BLACK UPPER RIGHT TRIANGLE
+025E6 WHITE BULLET
+025E7 SQUARE WITH LEFT HALF BLACK
+025E8 SQUARE WITH RIGHT HALF BLACK
+025E9 SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+025EA SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+025EB WHITE SQUARE WITH VERTICAL BISECTING LINE
+025EC WHITE UP-POINTING TRIANGLE WITH DOT
+025ED UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+025EE UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+025EF LARGE CIRCLE
+025F0 WHITE SQUARE WITH UPPER LEFT QUADRANT
+025F1 WHITE SQUARE WITH LOWER LEFT QUADRANT
+025F2 WHITE SQUARE WITH LOWER RIGHT QUADRANT
+025F3 WHITE SQUARE WITH UPPER RIGHT QUADRANT
+025F4 WHITE CIRCLE WITH UPPER LEFT QUADRANT
+025F5 WHITE CIRCLE WITH LOWER LEFT QUADRANT
+025F6 WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+025F7 WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+025F8 UPPER LEFT TRIANGLE
+025F9 UPPER RIGHT TRIANGLE
+025FA LOWER LEFT TRIANGLE
+025FB WHITE MEDIUM SQUARE
+025FC BLACK MEDIUM SQUARE
+025FD WHITE MEDIUM SMALL SQUARE
+025FE BLACK MEDIUM SMALL SQUARE
+025FF LOWER RIGHT TRIANGLE
+02600 BLACK SUN WITH RAYS
+02601 CLOUD
+02602 UMBRELLA
+02603 SNOWMAN
+02604 COMET
+02605 BLACK STAR
+02606 WHITE STAR
+02607 LIGHTNING
+02608 THUNDERSTORM
+02609 SUN
+0260A ASCENDING NODE
+0260B DESCENDING NODE
+0260C CONJUNCTION
+0260D OPPOSITION
+0260E BLACK TELEPHONE
+0260F WHITE TELEPHONE
+02610 BALLOT BOX
+02611 BALLOT BOX WITH CHECK
+02612 BALLOT BOX WITH X
+02613 SALTIRE
+02614 UMBRELLA WITH RAIN DROPS
+02615 HOT BEVERAGE
+02616 WHITE SHOGI PIECE
+02617 BLACK SHOGI PIECE
+02618 SHAMROCK
+02619 REVERSED ROTATED FLORAL HEART BULLET
+0261A BLACK LEFT POINTING INDEX
+0261B BLACK RIGHT POINTING INDEX
+0261C WHITE LEFT POINTING INDEX
+0261D WHITE UP POINTING INDEX
+0261E WHITE RIGHT POINTING INDEX
+0261F WHITE DOWN POINTING INDEX
+02620 SKULL AND CROSSBONES
+02621 CAUTION SIGN
+02622 RADIOACTIVE SIGN
+02623 BIOHAZARD SIGN
+02624 CADUCEUS
+02625 ANKH
+02626 ORTHODOX CROSS
+02627 CHI RHO
+02628 CROSS OF LORRAINE
+02629 CROSS OF JERUSALEM
+0262A STAR AND CRESCENT
+0262B FARSI SYMBOL
+0262C ADI SHAKTI
+0262D HAMMER AND SICKLE
+0262E PEACE SYMBOL
+0262F YIN YANG
+02630 TRIGRAM FOR HEAVEN
+02631 TRIGRAM FOR LAKE
+02632 TRIGRAM FOR FIRE
+02633 TRIGRAM FOR THUNDER
+02634 TRIGRAM FOR WIND
+02635 TRIGRAM FOR WATER
+02636 TRIGRAM FOR MOUNTAIN
+02637 TRIGRAM FOR EARTH
+02638 WHEEL OF DHARMA
+02639 WHITE FROWNING FACE
+0263A WHITE SMILING FACE
+0263B BLACK SMILING FACE
+0263C WHITE SUN WITH RAYS
+0263D FIRST QUARTER MOON
+0263E LAST QUARTER MOON
+0263F MERCURY
+02640 FEMALE SIGN
+02641 EARTH
+02642 MALE SIGN
+02643 JUPITER
+02644 SATURN
+02645 URANUS
+02646 NEPTUNE
+02647 PLUTO
+02648 ARIES
+02649 TAURUS
+0264A GEMINI
+0264B CANCER
+0264C LEO
+0264D VIRGO
+0264E LIBRA
+0264F SCORPIUS
+02650 SAGITTARIUS
+02651 CAPRICORN
+02652 AQUARIUS
+02653 PISCES
+02654 WHITE CHESS KING
+02655 WHITE CHESS QUEEN
+02656 WHITE CHESS ROOK
+02657 WHITE CHESS BISHOP
+02658 WHITE CHESS KNIGHT
+02659 WHITE CHESS PAWN
+0265A BLACK CHESS KING
+0265B BLACK CHESS QUEEN
+0265C BLACK CHESS ROOK
+0265D BLACK CHESS BISHOP
+0265E BLACK CHESS KNIGHT
+0265F BLACK CHESS PAWN
+02660 BLACK SPADE SUIT
+02661 WHITE HEART SUIT
+02662 WHITE DIAMOND SUIT
+02663 BLACK CLUB SUIT
+02664 WHITE SPADE SUIT
+02665 BLACK HEART SUIT
+02666 BLACK DIAMOND SUIT
+02667 WHITE CLUB SUIT
+02668 HOT SPRINGS
+02669 QUARTER NOTE
+0266A EIGHTH NOTE
+0266B BEAMED EIGHTH NOTES
+0266C BEAMED SIXTEENTH NOTES
+0266D MUSIC FLAT SIGN
+0266E MUSIC NATURAL SIGN
+0266F MUSIC SHARP SIGN
+02670 WEST SYRIAC CROSS
+02671 EAST SYRIAC CROSS
+02672 UNIVERSAL RECYCLING SYMBOL
+02673 RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+02674 RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+02675 RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+02676 RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+02677 RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+02678 RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+02679 RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+0267A RECYCLING SYMBOL FOR GENERIC MATERIALS
+0267B BLACK UNIVERSAL RECYCLING SYMBOL
+0267C RECYCLED PAPER SYMBOL
+0267D PARTIALLY-RECYCLED PAPER SYMBOL
+0267E PERMANENT PAPER SIGN
+0267F WHEELCHAIR SYMBOL
+02680 DIE FACE-1
+02681 DIE FACE-2
+02682 DIE FACE-3
+02683 DIE FACE-4
+02684 DIE FACE-5
+02685 DIE FACE-6
+02686 WHITE CIRCLE WITH DOT RIGHT
+02687 WHITE CIRCLE WITH TWO DOTS
+02688 BLACK CIRCLE WITH WHITE DOT RIGHT
+02689 BLACK CIRCLE WITH TWO WHITE DOTS
+0268A MONOGRAM FOR YANG
+0268B MONOGRAM FOR YIN
+0268C DIGRAM FOR GREATER YANG
+0268D DIGRAM FOR LESSER YIN
+0268E DIGRAM FOR LESSER YANG
+0268F DIGRAM FOR GREATER YIN
+02690 WHITE FLAG
+02691 BLACK FLAG
+02692 HAMMER AND PICK
+02693 ANCHOR
+02694 CROSSED SWORDS
+02695 STAFF OF AESCULAPIUS
+02696 SCALES
+02697 ALEMBIC
+02698 FLOWER
+02699 GEAR
+0269A STAFF OF HERMES
+0269B ATOM SYMBOL
+0269C FLEUR-DE-LIS
+0269D OUTLINED WHITE STAR
+0269E THREE LINES CONVERGING RIGHT
+0269F THREE LINES CONVERGING LEFT
+026A0 WARNING SIGN
+026A1 HIGH VOLTAGE SIGN
+026A2 DOUBLED FEMALE SIGN
+026A3 DOUBLED MALE SIGN
+026A4 INTERLOCKED FEMALE AND MALE SIGN
+026A5 MALE AND FEMALE SIGN
+026A6 MALE WITH STROKE SIGN
+026A7 MALE WITH STROKE AND MALE AND FEMALE SIGN
+026A8 VERTICAL MALE WITH STROKE SIGN
+026A9 HORIZONTAL MALE WITH STROKE SIGN
+026AA MEDIUM WHITE CIRCLE
+026AB MEDIUM BLACK CIRCLE
+026AC MEDIUM SMALL WHITE CIRCLE
+026AD MARRIAGE SYMBOL
+026AE DIVORCE SYMBOL
+026AF UNMARRIED PARTNERSHIP SYMBOL
+026B0 COFFIN
+026B1 FUNERAL URN
+026B2 NEUTER
+026B3 CERES
+026B4 PALLAS
+026B5 JUNO
+026B6 VESTA
+026B7 CHIRON
+026B8 BLACK MOON LILITH
+026B9 SEXTILE
+026BA SEMISEXTILE
+026BB QUINCUNX
+026BC SESQUIQUADRATE
+026BD SOCCER BALL
+026BE BASEBALL
+026BF SQUARED KEY
+026C0 WHITE DRAUGHTS MAN
+026C1 WHITE DRAUGHTS KING
+026C2 BLACK DRAUGHTS MAN
+026C3 BLACK DRAUGHTS KING
+026C4 SNOWMAN WITHOUT SNOW
+026C5 SUN BEHIND CLOUD
+026C6 RAIN
+026C7 BLACK SNOWMAN
+026C8 THUNDER CLOUD AND RAIN
+026C9 TURNED WHITE SHOGI PIECE
+026CA TURNED BLACK SHOGI PIECE
+026CB WHITE DIAMOND IN SQUARE
+026CC CROSSING LANES
+026CD DISABLED CAR
+026CE OPHIUCHUS
+026CF PICK
+026D0 CAR SLIDING
+026D1 HELMET WITH WHITE CROSS
+026D2 CIRCLED CROSSING LANES
+026D3 CHAINS
+026D4 NO ENTRY
+026D5 ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+026D6 BLACK TWO-WAY LEFT WAY TRAFFIC
+026D7 WHITE TWO-WAY LEFT WAY TRAFFIC
+026D8 BLACK LEFT LANE MERGE
+026D9 WHITE LEFT LANE MERGE
+026DA DRIVE SLOW SIGN
+026DB HEAVY WHITE DOWN-POINTING TRIANGLE
+026DC LEFT CLOSED ENTRY
+026DD SQUARED SALTIRE
+026DE FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+026DF BLACK TRUCK
+026E0 RESTRICTED LEFT ENTRY-1
+026E1 RESTRICTED LEFT ENTRY-2
+026E2 ASTRONOMICAL SYMBOL FOR URANUS
+026E3 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+026E4 PENTAGRAM
+026E5 RIGHT-HANDED INTERLACED PENTAGRAM
+026E6 LEFT-HANDED INTERLACED PENTAGRAM
+026E7 INVERTED PENTAGRAM
+026E8 BLACK CROSS ON SHIELD
+026E9 SHINTO SHRINE
+026EA CHURCH
+026EB CASTLE
+026EC HISTORIC SITE
+026ED GEAR WITHOUT HUB
+026EE GEAR WITH HANDLES
+026EF MAP SYMBOL FOR LIGHTHOUSE
+026F0 MOUNTAIN
+026F1 UMBRELLA ON GROUND
+026F2 FOUNTAIN
+026F3 FLAG IN HOLE
+026F4 FERRY
+026F5 SAILBOAT
+026F6 SQUARE FOUR CORNERS
+026F7 SKIER
+026F8 ICE SKATE
+026F9 PERSON WITH BALL
+026FA TENT
+026FB JAPANESE BANK SYMBOL
+026FC HEADSTONE GRAVEYARD SYMBOL
+026FD FUEL PUMP
+026FE CUP ON BLACK SQUARE
+026FF WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+02701 UPPER BLADE SCISSORS
+02702 BLACK SCISSORS
+02703 LOWER BLADE SCISSORS
+02704 WHITE SCISSORS
+02705 WHITE HEAVY CHECK MARK
+02706 TELEPHONE LOCATION SIGN
+02707 TAPE DRIVE
+02708 AIRPLANE
+02709 ENVELOPE
+0270A RAISED FIST
+0270B RAISED HAND
+0270C VICTORY HAND
+0270D WRITING HAND
+0270E LOWER RIGHT PENCIL
+0270F PENCIL
+02710 UPPER RIGHT PENCIL
+02711 WHITE NIB
+02712 BLACK NIB
+02713 CHECK MARK
+02714 HEAVY CHECK MARK
+02715 MULTIPLICATION X
+02716 HEAVY MULTIPLICATION X
+02717 BALLOT X
+02718 HEAVY BALLOT X
+02719 OUTLINED GREEK CROSS
+0271A HEAVY GREEK CROSS
+0271B OPEN CENTRE CROSS
+0271C HEAVY OPEN CENTRE CROSS
+0271D LATIN CROSS
+0271E SHADOWED WHITE LATIN CROSS
+0271F OUTLINED LATIN CROSS
+02720 MALTESE CROSS
+02721 STAR OF DAVID
+02722 FOUR TEARDROP-SPOKED ASTERISK
+02723 FOUR BALLOON-SPOKED ASTERISK
+02724 HEAVY FOUR BALLOON-SPOKED ASTERISK
+02725 FOUR CLUB-SPOKED ASTERISK
+02726 BLACK FOUR POINTED STAR
+02727 WHITE FOUR POINTED STAR
+02728 SPARKLES
+02729 STRESS OUTLINED WHITE STAR
+0272A CIRCLED WHITE STAR
+0272B OPEN CENTRE BLACK STAR
+0272C BLACK CENTRE WHITE STAR
+0272D OUTLINED BLACK STAR
+0272E HEAVY OUTLINED BLACK STAR
+0272F PINWHEEL STAR
+02730 SHADOWED WHITE STAR
+02731 HEAVY ASTERISK
+02732 OPEN CENTRE ASTERISK
+02733 EIGHT SPOKED ASTERISK
+02734 EIGHT POINTED BLACK STAR
+02735 EIGHT POINTED PINWHEEL STAR
+02736 SIX POINTED BLACK STAR
+02737 EIGHT POINTED RECTILINEAR BLACK STAR
+02738 HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+02739 TWELVE POINTED BLACK STAR
+0273A SIXTEEN POINTED ASTERISK
+0273B TEARDROP-SPOKED ASTERISK
+0273C OPEN CENTRE TEARDROP-SPOKED ASTERISK
+0273D HEAVY TEARDROP-SPOKED ASTERISK
+0273E SIX PETALLED BLACK AND WHITE FLORETTE
+0273F BLACK FLORETTE
+02740 WHITE FLORETTE
+02741 EIGHT PETALLED OUTLINED BLACK FLORETTE
+02742 CIRCLED OPEN CENTRE EIGHT POINTED STAR
+02743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+02744 SNOWFLAKE
+02745 TIGHT TRIFOLIATE SNOWFLAKE
+02746 HEAVY CHEVRON SNOWFLAKE
+02747 SPARKLE
+02748 HEAVY SPARKLE
+02749 BALLOON-SPOKED ASTERISK
+0274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+0274B HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+0274C CROSS MARK
+0274D SHADOWED WHITE CIRCLE
+0274E NEGATIVE SQUARED CROSS MARK
+0274F LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+02750 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+02751 LOWER RIGHT SHADOWED WHITE SQUARE
+02752 UPPER RIGHT SHADOWED WHITE SQUARE
+02753 BLACK QUESTION MARK ORNAMENT
+02754 WHITE QUESTION MARK ORNAMENT
+02755 WHITE EXCLAMATION MARK ORNAMENT
+02756 BLACK DIAMOND MINUS WHITE X
+02757 HEAVY EXCLAMATION MARK SYMBOL
+02758 LIGHT VERTICAL BAR
+02759 MEDIUM VERTICAL BAR
+0275A HEAVY VERTICAL BAR
+0275B HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+0275C HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+0275D HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+0275E HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+0275F HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+02760 HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+02761 CURVED STEM PARAGRAPH SIGN ORNAMENT
+02762 HEAVY EXCLAMATION MARK ORNAMENT
+02763 HEAVY HEART EXCLAMATION MARK ORNAMENT
+02764 HEAVY BLACK HEART
+02765 ROTATED HEAVY BLACK HEART BULLET
+02766 FLORAL HEART
+02767 ROTATED FLORAL HEART BULLET
+02768 MEDIUM LEFT PARENTHESIS ORNAMENT
+02769 MEDIUM RIGHT PARENTHESIS ORNAMENT
+0276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+0276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+0276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+0276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+0276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+0276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+02770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+02771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+02772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+02773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+02774 MEDIUM LEFT CURLY BRACKET ORNAMENT
+02775 MEDIUM RIGHT CURLY BRACKET ORNAMENT
+02776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
+02777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
+02778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
+02779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+0277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+0277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
+0277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+0277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+0277E DINGBAT NEGATIVE CIRCLED DIGIT NINE
+0277F DINGBAT NEGATIVE CIRCLED NUMBER TEN
+02780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+02781 DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+02782 DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+02783 DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+02784 DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+02785 DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+02786 DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+02787 DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+02788 DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+02789 DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+0278A DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+0278B DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+0278C DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+0278D DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+0278E DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+0278F DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+02790 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+02791 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+02792 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+02793 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+02794 HEAVY WIDE-HEADED RIGHTWARDS ARROW
+02795 HEAVY PLUS SIGN
+02796 HEAVY MINUS SIGN
+02797 HEAVY DIVISION SIGN
+02798 HEAVY SOUTH EAST ARROW
+02799 HEAVY RIGHTWARDS ARROW
+0279A HEAVY NORTH EAST ARROW
+0279B DRAFTING POINT RIGHTWARDS ARROW
+0279C HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+0279D TRIANGLE-HEADED RIGHTWARDS ARROW
+0279E HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+0279F DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+027A0 HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+027A1 BLACK RIGHTWARDS ARROW
+027A2 THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+027A3 THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+027A4 BLACK RIGHTWARDS ARROWHEAD
+027A5 HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+027A6 HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+027A7 SQUAT BLACK RIGHTWARDS ARROW
+027A8 HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+027A9 RIGHT-SHADED WHITE RIGHTWARDS ARROW
+027AA LEFT-SHADED WHITE RIGHTWARDS ARROW
+027AB BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+027AC FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+027AD HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+027AE HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+027AF NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+027B0 CURLY LOOP
+027B1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+027B2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+027B3 WHITE-FEATHERED RIGHTWARDS ARROW
+027B4 BLACK-FEATHERED SOUTH EAST ARROW
+027B5 BLACK-FEATHERED RIGHTWARDS ARROW
+027B6 BLACK-FEATHERED NORTH EAST ARROW
+027B7 HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+027B8 HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+027B9 HEAVY BLACK-FEATHERED NORTH EAST ARROW
+027BA TEARDROP-BARBED RIGHTWARDS ARROW
+027BB HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+027BC WEDGE-TAILED RIGHTWARDS ARROW
+027BD HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+027BE OPEN-OUTLINED RIGHTWARDS ARROW
+027BF DOUBLE CURLY LOOP
+027C0 THREE DIMENSIONAL ANGLE
+027C1 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+027C2 PERPENDICULAR
+027C3 OPEN SUBSET
+027C4 OPEN SUPERSET
+027C5 LEFT S-SHAPED BAG DELIMITER
+027C6 RIGHT S-SHAPED BAG DELIMITER
+027C7 OR WITH DOT INSIDE
+027C8 REVERSE SOLIDUS PRECEDING SUBSET
+027C9 SUPERSET PRECEDING SOLIDUS
+027CA VERTICAL BAR WITH HORIZONTAL STROKE
+027CC LONG DIVISION
+027CE SQUARED LOGICAL AND
+027CF SQUARED LOGICAL OR
+027D0 WHITE DIAMOND WITH CENTRED DOT
+027D1 AND WITH DOT
+027D2 ELEMENT OF OPENING UPWARDS
+027D3 LOWER RIGHT CORNER WITH DOT
+027D4 UPPER LEFT CORNER WITH DOT
+027D5 LEFT OUTER JOIN
+027D6 RIGHT OUTER JOIN
+027D7 FULL OUTER JOIN
+027D8 LARGE UP TACK
+027D9 LARGE DOWN TACK
+027DA LEFT AND RIGHT DOUBLE TURNSTILE
+027DB LEFT AND RIGHT TACK
+027DC LEFT MULTIMAP
+027DD LONG RIGHT TACK
+027DE LONG LEFT TACK
+027DF UP TACK WITH CIRCLE ABOVE
+027E0 LOZENGE DIVIDED BY HORIZONTAL RULE
+027E1 WHITE CONCAVE-SIDED DIAMOND
+027E2 WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+027E3 WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+027E4 WHITE SQUARE WITH LEFTWARDS TICK
+027E5 WHITE SQUARE WITH RIGHTWARDS TICK
+027E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET
+027E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+027E8 MATHEMATICAL LEFT ANGLE BRACKET
+027E9 MATHEMATICAL RIGHT ANGLE BRACKET
+027EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+027EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+027EC MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+027ED MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+027EE MATHEMATICAL LEFT FLATTENED PARENTHESIS
+027EF MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+027F0 UPWARDS QUADRUPLE ARROW
+027F1 DOWNWARDS QUADRUPLE ARROW
+027F2 ANTICLOCKWISE GAPPED CIRCLE ARROW
+027F3 CLOCKWISE GAPPED CIRCLE ARROW
+027F4 RIGHT ARROW WITH CIRCLED PLUS
+027F5 LONG LEFTWARDS ARROW
+027F6 LONG RIGHTWARDS ARROW
+027F7 LONG LEFT RIGHT ARROW
+027F8 LONG LEFTWARDS DOUBLE ARROW
+027F9 LONG RIGHTWARDS DOUBLE ARROW
+027FA LONG LEFT RIGHT DOUBLE ARROW
+027FB LONG LEFTWARDS ARROW FROM BAR
+027FC LONG RIGHTWARDS ARROW FROM BAR
+027FD LONG LEFTWARDS DOUBLE ARROW FROM BAR
+027FE LONG RIGHTWARDS DOUBLE ARROW FROM BAR
+027FF LONG RIGHTWARDS SQUIGGLE ARROW
+02800 BRAILLE PATTERN BLANK
+02801 BRAILLE PATTERN DOTS-1
+02802 BRAILLE PATTERN DOTS-2
+02803 BRAILLE PATTERN DOTS-12
+02804 BRAILLE PATTERN DOTS-3
+02805 BRAILLE PATTERN DOTS-13
+02806 BRAILLE PATTERN DOTS-23
+02807 BRAILLE PATTERN DOTS-123
+02808 BRAILLE PATTERN DOTS-4
+02809 BRAILLE PATTERN DOTS-14
+0280A BRAILLE PATTERN DOTS-24
+0280B BRAILLE PATTERN DOTS-124
+0280C BRAILLE PATTERN DOTS-34
+0280D BRAILLE PATTERN DOTS-134
+0280E BRAILLE PATTERN DOTS-234
+0280F BRAILLE PATTERN DOTS-1234
+02810 BRAILLE PATTERN DOTS-5
+02811 BRAILLE PATTERN DOTS-15
+02812 BRAILLE PATTERN DOTS-25
+02813 BRAILLE PATTERN DOTS-125
+02814 BRAILLE PATTERN DOTS-35
+02815 BRAILLE PATTERN DOTS-135
+02816 BRAILLE PATTERN DOTS-235
+02817 BRAILLE PATTERN DOTS-1235
+02818 BRAILLE PATTERN DOTS-45
+02819 BRAILLE PATTERN DOTS-145
+0281A BRAILLE PATTERN DOTS-245
+0281B BRAILLE PATTERN DOTS-1245
+0281C BRAILLE PATTERN DOTS-345
+0281D BRAILLE PATTERN DOTS-1345
+0281E BRAILLE PATTERN DOTS-2345
+0281F BRAILLE PATTERN DOTS-12345
+02820 BRAILLE PATTERN DOTS-6
+02821 BRAILLE PATTERN DOTS-16
+02822 BRAILLE PATTERN DOTS-26
+02823 BRAILLE PATTERN DOTS-126
+02824 BRAILLE PATTERN DOTS-36
+02825 BRAILLE PATTERN DOTS-136
+02826 BRAILLE PATTERN DOTS-236
+02827 BRAILLE PATTERN DOTS-1236
+02828 BRAILLE PATTERN DOTS-46
+02829 BRAILLE PATTERN DOTS-146
+0282A BRAILLE PATTERN DOTS-246
+0282B BRAILLE PATTERN DOTS-1246
+0282C BRAILLE PATTERN DOTS-346
+0282D BRAILLE PATTERN DOTS-1346
+0282E BRAILLE PATTERN DOTS-2346
+0282F BRAILLE PATTERN DOTS-12346
+02830 BRAILLE PATTERN DOTS-56
+02831 BRAILLE PATTERN DOTS-156
+02832 BRAILLE PATTERN DOTS-256
+02833 BRAILLE PATTERN DOTS-1256
+02834 BRAILLE PATTERN DOTS-356
+02835 BRAILLE PATTERN DOTS-1356
+02836 BRAILLE PATTERN DOTS-2356
+02837 BRAILLE PATTERN DOTS-12356
+02838 BRAILLE PATTERN DOTS-456
+02839 BRAILLE PATTERN DOTS-1456
+0283A BRAILLE PATTERN DOTS-2456
+0283B BRAILLE PATTERN DOTS-12456
+0283C BRAILLE PATTERN DOTS-3456
+0283D BRAILLE PATTERN DOTS-13456
+0283E BRAILLE PATTERN DOTS-23456
+0283F BRAILLE PATTERN DOTS-123456
+02840 BRAILLE PATTERN DOTS-7
+02841 BRAILLE PATTERN DOTS-17
+02842 BRAILLE PATTERN DOTS-27
+02843 BRAILLE PATTERN DOTS-127
+02844 BRAILLE PATTERN DOTS-37
+02845 BRAILLE PATTERN DOTS-137
+02846 BRAILLE PATTERN DOTS-237
+02847 BRAILLE PATTERN DOTS-1237
+02848 BRAILLE PATTERN DOTS-47
+02849 BRAILLE PATTERN DOTS-147
+0284A BRAILLE PATTERN DOTS-247
+0284B BRAILLE PATTERN DOTS-1247
+0284C BRAILLE PATTERN DOTS-347
+0284D BRAILLE PATTERN DOTS-1347
+0284E BRAILLE PATTERN DOTS-2347
+0284F BRAILLE PATTERN DOTS-12347
+02850 BRAILLE PATTERN DOTS-57
+02851 BRAILLE PATTERN DOTS-157
+02852 BRAILLE PATTERN DOTS-257
+02853 BRAILLE PATTERN DOTS-1257
+02854 BRAILLE PATTERN DOTS-357
+02855 BRAILLE PATTERN DOTS-1357
+02856 BRAILLE PATTERN DOTS-2357
+02857 BRAILLE PATTERN DOTS-12357
+02858 BRAILLE PATTERN DOTS-457
+02859 BRAILLE PATTERN DOTS-1457
+0285A BRAILLE PATTERN DOTS-2457
+0285B BRAILLE PATTERN DOTS-12457
+0285C BRAILLE PATTERN DOTS-3457
+0285D BRAILLE PATTERN DOTS-13457
+0285E BRAILLE PATTERN DOTS-23457
+0285F BRAILLE PATTERN DOTS-123457
+02860 BRAILLE PATTERN DOTS-67
+02861 BRAILLE PATTERN DOTS-167
+02862 BRAILLE PATTERN DOTS-267
+02863 BRAILLE PATTERN DOTS-1267
+02864 BRAILLE PATTERN DOTS-367
+02865 BRAILLE PATTERN DOTS-1367
+02866 BRAILLE PATTERN DOTS-2367
+02867 BRAILLE PATTERN DOTS-12367
+02868 BRAILLE PATTERN DOTS-467
+02869 BRAILLE PATTERN DOTS-1467
+0286A BRAILLE PATTERN DOTS-2467
+0286B BRAILLE PATTERN DOTS-12467
+0286C BRAILLE PATTERN DOTS-3467
+0286D BRAILLE PATTERN DOTS-13467
+0286E BRAILLE PATTERN DOTS-23467
+0286F BRAILLE PATTERN DOTS-123467
+02870 BRAILLE PATTERN DOTS-567
+02871 BRAILLE PATTERN DOTS-1567
+02872 BRAILLE PATTERN DOTS-2567
+02873 BRAILLE PATTERN DOTS-12567
+02874 BRAILLE PATTERN DOTS-3567
+02875 BRAILLE PATTERN DOTS-13567
+02876 BRAILLE PATTERN DOTS-23567
+02877 BRAILLE PATTERN DOTS-123567
+02878 BRAILLE PATTERN DOTS-4567
+02879 BRAILLE PATTERN DOTS-14567
+0287A BRAILLE PATTERN DOTS-24567
+0287B BRAILLE PATTERN DOTS-124567
+0287C BRAILLE PATTERN DOTS-34567
+0287D BRAILLE PATTERN DOTS-134567
+0287E BRAILLE PATTERN DOTS-234567
+0287F BRAILLE PATTERN DOTS-1234567
+02880 BRAILLE PATTERN DOTS-8
+02881 BRAILLE PATTERN DOTS-18
+02882 BRAILLE PATTERN DOTS-28
+02883 BRAILLE PATTERN DOTS-128
+02884 BRAILLE PATTERN DOTS-38
+02885 BRAILLE PATTERN DOTS-138
+02886 BRAILLE PATTERN DOTS-238
+02887 BRAILLE PATTERN DOTS-1238
+02888 BRAILLE PATTERN DOTS-48
+02889 BRAILLE PATTERN DOTS-148
+0288A BRAILLE PATTERN DOTS-248
+0288B BRAILLE PATTERN DOTS-1248
+0288C BRAILLE PATTERN DOTS-348
+0288D BRAILLE PATTERN DOTS-1348
+0288E BRAILLE PATTERN DOTS-2348
+0288F BRAILLE PATTERN DOTS-12348
+02890 BRAILLE PATTERN DOTS-58
+02891 BRAILLE PATTERN DOTS-158
+02892 BRAILLE PATTERN DOTS-258
+02893 BRAILLE PATTERN DOTS-1258
+02894 BRAILLE PATTERN DOTS-358
+02895 BRAILLE PATTERN DOTS-1358
+02896 BRAILLE PATTERN DOTS-2358
+02897 BRAILLE PATTERN DOTS-12358
+02898 BRAILLE PATTERN DOTS-458
+02899 BRAILLE PATTERN DOTS-1458
+0289A BRAILLE PATTERN DOTS-2458
+0289B BRAILLE PATTERN DOTS-12458
+0289C BRAILLE PATTERN DOTS-3458
+0289D BRAILLE PATTERN DOTS-13458
+0289E BRAILLE PATTERN DOTS-23458
+0289F BRAILLE PATTERN DOTS-123458
+028A0 BRAILLE PATTERN DOTS-68
+028A1 BRAILLE PATTERN DOTS-168
+028A2 BRAILLE PATTERN DOTS-268
+028A3 BRAILLE PATTERN DOTS-1268
+028A4 BRAILLE PATTERN DOTS-368
+028A5 BRAILLE PATTERN DOTS-1368
+028A6 BRAILLE PATTERN DOTS-2368
+028A7 BRAILLE PATTERN DOTS-12368
+028A8 BRAILLE PATTERN DOTS-468
+028A9 BRAILLE PATTERN DOTS-1468
+028AA BRAILLE PATTERN DOTS-2468
+028AB BRAILLE PATTERN DOTS-12468
+028AC BRAILLE PATTERN DOTS-3468
+028AD BRAILLE PATTERN DOTS-13468
+028AE BRAILLE PATTERN DOTS-23468
+028AF BRAILLE PATTERN DOTS-123468
+028B0 BRAILLE PATTERN DOTS-568
+028B1 BRAILLE PATTERN DOTS-1568
+028B2 BRAILLE PATTERN DOTS-2568
+028B3 BRAILLE PATTERN DOTS-12568
+028B4 BRAILLE PATTERN DOTS-3568
+028B5 BRAILLE PATTERN DOTS-13568
+028B6 BRAILLE PATTERN DOTS-23568
+028B7 BRAILLE PATTERN DOTS-123568
+028B8 BRAILLE PATTERN DOTS-4568
+028B9 BRAILLE PATTERN DOTS-14568
+028BA BRAILLE PATTERN DOTS-24568
+028BB BRAILLE PATTERN DOTS-124568
+028BC BRAILLE PATTERN DOTS-34568
+028BD BRAILLE PATTERN DOTS-134568
+028BE BRAILLE PATTERN DOTS-234568
+028BF BRAILLE PATTERN DOTS-1234568
+028C0 BRAILLE PATTERN DOTS-78
+028C1 BRAILLE PATTERN DOTS-178
+028C2 BRAILLE PATTERN DOTS-278
+028C3 BRAILLE PATTERN DOTS-1278
+028C4 BRAILLE PATTERN DOTS-378
+028C5 BRAILLE PATTERN DOTS-1378
+028C6 BRAILLE PATTERN DOTS-2378
+028C7 BRAILLE PATTERN DOTS-12378
+028C8 BRAILLE PATTERN DOTS-478
+028C9 BRAILLE PATTERN DOTS-1478
+028CA BRAILLE PATTERN DOTS-2478
+028CB BRAILLE PATTERN DOTS-12478
+028CC BRAILLE PATTERN DOTS-3478
+028CD BRAILLE PATTERN DOTS-13478
+028CE BRAILLE PATTERN DOTS-23478
+028CF BRAILLE PATTERN DOTS-123478
+028D0 BRAILLE PATTERN DOTS-578
+028D1 BRAILLE PATTERN DOTS-1578
+028D2 BRAILLE PATTERN DOTS-2578
+028D3 BRAILLE PATTERN DOTS-12578
+028D4 BRAILLE PATTERN DOTS-3578
+028D5 BRAILLE PATTERN DOTS-13578
+028D6 BRAILLE PATTERN DOTS-23578
+028D7 BRAILLE PATTERN DOTS-123578
+028D8 BRAILLE PATTERN DOTS-4578
+028D9 BRAILLE PATTERN DOTS-14578
+028DA BRAILLE PATTERN DOTS-24578
+028DB BRAILLE PATTERN DOTS-124578
+028DC BRAILLE PATTERN DOTS-34578
+028DD BRAILLE PATTERN DOTS-134578
+028DE BRAILLE PATTERN DOTS-234578
+028DF BRAILLE PATTERN DOTS-1234578
+028E0 BRAILLE PATTERN DOTS-678
+028E1 BRAILLE PATTERN DOTS-1678
+028E2 BRAILLE PATTERN DOTS-2678
+028E3 BRAILLE PATTERN DOTS-12678
+028E4 BRAILLE PATTERN DOTS-3678
+028E5 BRAILLE PATTERN DOTS-13678
+028E6 BRAILLE PATTERN DOTS-23678
+028E7 BRAILLE PATTERN DOTS-123678
+028E8 BRAILLE PATTERN DOTS-4678
+028E9 BRAILLE PATTERN DOTS-14678
+028EA BRAILLE PATTERN DOTS-24678
+028EB BRAILLE PATTERN DOTS-124678
+028EC BRAILLE PATTERN DOTS-34678
+028ED BRAILLE PATTERN DOTS-134678
+028EE BRAILLE PATTERN DOTS-234678
+028EF BRAILLE PATTERN DOTS-1234678
+028F0 BRAILLE PATTERN DOTS-5678
+028F1 BRAILLE PATTERN DOTS-15678
+028F2 BRAILLE PATTERN DOTS-25678
+028F3 BRAILLE PATTERN DOTS-125678
+028F4 BRAILLE PATTERN DOTS-35678
+028F5 BRAILLE PATTERN DOTS-135678
+028F6 BRAILLE PATTERN DOTS-235678
+028F7 BRAILLE PATTERN DOTS-1235678
+028F8 BRAILLE PATTERN DOTS-45678
+028F9 BRAILLE PATTERN DOTS-145678
+028FA BRAILLE PATTERN DOTS-245678
+028FB BRAILLE PATTERN DOTS-1245678
+028FC BRAILLE PATTERN DOTS-345678
+028FD BRAILLE PATTERN DOTS-1345678
+028FE BRAILLE PATTERN DOTS-2345678
+028FF BRAILLE PATTERN DOTS-12345678
+02900 RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+02901 RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+02902 LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+02903 RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+02904 LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+02905 RIGHTWARDS TWO-HEADED ARROW FROM BAR
+02906 LEFTWARDS DOUBLE ARROW FROM BAR
+02907 RIGHTWARDS DOUBLE ARROW FROM BAR
+02908 DOWNWARDS ARROW WITH HORIZONTAL STROKE
+02909 UPWARDS ARROW WITH HORIZONTAL STROKE
+0290A UPWARDS TRIPLE ARROW
+0290B DOWNWARDS TRIPLE ARROW
+0290C LEFTWARDS DOUBLE DASH ARROW
+0290D RIGHTWARDS DOUBLE DASH ARROW
+0290E LEFTWARDS TRIPLE DASH ARROW
+0290F RIGHTWARDS TRIPLE DASH ARROW
+02910 RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+02911 RIGHTWARDS ARROW WITH DOTTED STEM
+02912 UPWARDS ARROW TO BAR
+02913 DOWNWARDS ARROW TO BAR
+02914 RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+02915 RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+02916 RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+02917 RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+02918 RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+02919 LEFTWARDS ARROW-TAIL
+0291A RIGHTWARDS ARROW-TAIL
+0291B LEFTWARDS DOUBLE ARROW-TAIL
+0291C RIGHTWARDS DOUBLE ARROW-TAIL
+0291D LEFTWARDS ARROW TO BLACK DIAMOND
+0291E RIGHTWARDS ARROW TO BLACK DIAMOND
+0291F LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+02920 RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+02921 NORTH WEST AND SOUTH EAST ARROW
+02922 NORTH EAST AND SOUTH WEST ARROW
+02923 NORTH WEST ARROW WITH HOOK
+02924 NORTH EAST ARROW WITH HOOK
+02925 SOUTH EAST ARROW WITH HOOK
+02926 SOUTH WEST ARROW WITH HOOK
+02927 NORTH WEST ARROW AND NORTH EAST ARROW
+02928 NORTH EAST ARROW AND SOUTH EAST ARROW
+02929 SOUTH EAST ARROW AND SOUTH WEST ARROW
+0292A SOUTH WEST ARROW AND NORTH WEST ARROW
+0292B RISING DIAGONAL CROSSING FALLING DIAGONAL
+0292C FALLING DIAGONAL CROSSING RISING DIAGONAL
+0292D SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+0292E NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+0292F FALLING DIAGONAL CROSSING NORTH EAST ARROW
+02930 RISING DIAGONAL CROSSING SOUTH EAST ARROW
+02931 NORTH EAST ARROW CROSSING NORTH WEST ARROW
+02932 NORTH WEST ARROW CROSSING NORTH EAST ARROW
+02933 WAVE ARROW POINTING DIRECTLY RIGHT
+02934 ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+02935 ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+02936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+02937 ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+02938 RIGHT-SIDE ARC CLOCKWISE ARROW
+02939 LEFT-SIDE ARC ANTICLOCKWISE ARROW
+0293A TOP ARC ANTICLOCKWISE ARROW
+0293B BOTTOM ARC ANTICLOCKWISE ARROW
+0293C TOP ARC CLOCKWISE ARROW WITH MINUS
+0293D TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+0293E LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
+0293F LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
+02940 ANTICLOCKWISE CLOSED CIRCLE ARROW
+02941 CLOCKWISE CLOSED CIRCLE ARROW
+02942 RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+02943 LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+02944 SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+02945 RIGHTWARDS ARROW WITH PLUS BELOW
+02946 LEFTWARDS ARROW WITH PLUS BELOW
+02947 RIGHTWARDS ARROW THROUGH X
+02948 LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+02949 UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+0294A LEFT BARB UP RIGHT BARB DOWN HARPOON
+0294B LEFT BARB DOWN RIGHT BARB UP HARPOON
+0294C UP BARB RIGHT DOWN BARB LEFT HARPOON
+0294D UP BARB LEFT DOWN BARB RIGHT HARPOON
+0294E LEFT BARB UP RIGHT BARB UP HARPOON
+0294F UP BARB RIGHT DOWN BARB RIGHT HARPOON
+02950 LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+02951 UP BARB LEFT DOWN BARB LEFT HARPOON
+02952 LEFTWARDS HARPOON WITH BARB UP TO BAR
+02953 RIGHTWARDS HARPOON WITH BARB UP TO BAR
+02954 UPWARDS HARPOON WITH BARB RIGHT TO BAR
+02955 DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+02956 LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+02957 RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+02958 UPWARDS HARPOON WITH BARB LEFT TO BAR
+02959 DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+0295A LEFTWARDS HARPOON WITH BARB UP FROM BAR
+0295B RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+0295C UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+0295D DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+0295E LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+0295F RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+02960 UPWARDS HARPOON WITH BARB LEFT FROM BAR
+02961 DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+02962 LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+02963 UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+02964 RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+02965 DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+02966 LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+02967 LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+02968 RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+02969 RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+0296A LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+0296B LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+0296C RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+0296D RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+0296E UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+0296F DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+02970 RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+02971 EQUALS SIGN ABOVE RIGHTWARDS ARROW
+02972 TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+02973 LEFTWARDS ARROW ABOVE TILDE OPERATOR
+02974 RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+02975 RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+02976 LESS-THAN ABOVE LEFTWARDS ARROW
+02977 LEFTWARDS ARROW THROUGH LESS-THAN
+02978 GREATER-THAN ABOVE RIGHTWARDS ARROW
+02979 SUBSET ABOVE RIGHTWARDS ARROW
+0297A LEFTWARDS ARROW THROUGH SUBSET
+0297B SUPERSET ABOVE LEFTWARDS ARROW
+0297C LEFT FISH TAIL
+0297D RIGHT FISH TAIL
+0297E UP FISH TAIL
+0297F DOWN FISH TAIL
+02980 TRIPLE VERTICAL BAR DELIMITER
+02981 Z NOTATION SPOT
+02982 Z NOTATION TYPE COLON
+02983 LEFT WHITE CURLY BRACKET
+02984 RIGHT WHITE CURLY BRACKET
+02985 LEFT WHITE PARENTHESIS
+02986 RIGHT WHITE PARENTHESIS
+02987 Z NOTATION LEFT IMAGE BRACKET
+02988 Z NOTATION RIGHT IMAGE BRACKET
+02989 Z NOTATION LEFT BINDING BRACKET
+0298A Z NOTATION RIGHT BINDING BRACKET
+0298B LEFT SQUARE BRACKET WITH UNDERBAR
+0298C RIGHT SQUARE BRACKET WITH UNDERBAR
+0298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+0298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+0298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+02990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+02991 LEFT ANGLE BRACKET WITH DOT
+02992 RIGHT ANGLE BRACKET WITH DOT
+02993 LEFT ARC LESS-THAN BRACKET
+02994 RIGHT ARC GREATER-THAN BRACKET
+02995 DOUBLE LEFT ARC GREATER-THAN BRACKET
+02996 DOUBLE RIGHT ARC LESS-THAN BRACKET
+02997 LEFT BLACK TORTOISE SHELL BRACKET
+02998 RIGHT BLACK TORTOISE SHELL BRACKET
+02999 DOTTED FENCE
+0299A VERTICAL ZIGZAG LINE
+0299B MEASURED ANGLE OPENING LEFT
+0299C RIGHT ANGLE VARIANT WITH SQUARE
+0299D MEASURED RIGHT ANGLE WITH DOT
+0299E ANGLE WITH S INSIDE
+0299F ACUTE ANGLE
+029A0 SPHERICAL ANGLE OPENING LEFT
+029A1 SPHERICAL ANGLE OPENING UP
+029A2 TURNED ANGLE
+029A3 REVERSED ANGLE
+029A4 ANGLE WITH UNDERBAR
+029A5 REVERSED ANGLE WITH UNDERBAR
+029A6 OBLIQUE ANGLE OPENING UP
+029A7 OBLIQUE ANGLE OPENING DOWN
+029A8 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+029A9 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+029AA MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+029AB MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+029AC MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+029AD MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+029AE MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+029AF MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+029B0 REVERSED EMPTY SET
+029B1 EMPTY SET WITH OVERBAR
+029B2 EMPTY SET WITH SMALL CIRCLE ABOVE
+029B3 EMPTY SET WITH RIGHT ARROW ABOVE
+029B4 EMPTY SET WITH LEFT ARROW ABOVE
+029B5 CIRCLE WITH HORIZONTAL BAR
+029B6 CIRCLED VERTICAL BAR
+029B7 CIRCLED PARALLEL
+029B8 CIRCLED REVERSE SOLIDUS
+029B9 CIRCLED PERPENDICULAR
+029BA CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
+029BB CIRCLE WITH SUPERIMPOSED X
+029BC CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+029BD UP ARROW THROUGH CIRCLE
+029BE CIRCLED WHITE BULLET
+029BF CIRCLED BULLET
+029C0 CIRCLED LESS-THAN
+029C1 CIRCLED GREATER-THAN
+029C2 CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+029C3 CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+029C4 SQUARED RISING DIAGONAL SLASH
+029C5 SQUARED FALLING DIAGONAL SLASH
+029C6 SQUARED ASTERISK
+029C7 SQUARED SMALL CIRCLE
+029C8 SQUARED SQUARE
+029C9 TWO JOINED SQUARES
+029CA TRIANGLE WITH DOT ABOVE
+029CB TRIANGLE WITH UNDERBAR
+029CC S IN TRIANGLE
+029CD TRIANGLE WITH SERIFS AT BOTTOM
+029CE RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+029CF LEFT TRIANGLE BESIDE VERTICAL BAR
+029D0 VERTICAL BAR BESIDE RIGHT TRIANGLE
+029D1 BOWTIE WITH LEFT HALF BLACK
+029D2 BOWTIE WITH RIGHT HALF BLACK
+029D3 BLACK BOWTIE
+029D4 TIMES WITH LEFT HALF BLACK
+029D5 TIMES WITH RIGHT HALF BLACK
+029D6 WHITE HOURGLASS
+029D7 BLACK HOURGLASS
+029D8 LEFT WIGGLY FENCE
+029D9 RIGHT WIGGLY FENCE
+029DA LEFT DOUBLE WIGGLY FENCE
+029DB RIGHT DOUBLE WIGGLY FENCE
+029DC INCOMPLETE INFINITY
+029DD TIE OVER INFINITY
+029DE INFINITY NEGATED WITH VERTICAL BAR
+029DF DOUBLE-ENDED MULTIMAP
+029E0 SQUARE WITH CONTOURED OUTLINE
+029E1 INCREASES AS
+029E2 SHUFFLE PRODUCT
+029E3 EQUALS SIGN AND SLANTED PARALLEL
+029E4 EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+029E5 IDENTICAL TO AND SLANTED PARALLEL
+029E6 GLEICH STARK
+029E7 THERMODYNAMIC
+029E8 DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+029E9 DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+029EA BLACK DIAMOND WITH DOWN ARROW
+029EB BLACK LOZENGE
+029EC WHITE CIRCLE WITH DOWN ARROW
+029ED BLACK CIRCLE WITH DOWN ARROW
+029EE ERROR-BARRED WHITE SQUARE
+029EF ERROR-BARRED BLACK SQUARE
+029F0 ERROR-BARRED WHITE DIAMOND
+029F1 ERROR-BARRED BLACK DIAMOND
+029F2 ERROR-BARRED WHITE CIRCLE
+029F3 ERROR-BARRED BLACK CIRCLE
+029F4 RULE-DELAYED
+029F5 REVERSE SOLIDUS OPERATOR
+029F6 SOLIDUS WITH OVERBAR
+029F7 REVERSE SOLIDUS WITH HORIZONTAL STROKE
+029F8 BIG SOLIDUS
+029F9 BIG REVERSE SOLIDUS
+029FA DOUBLE PLUS
+029FB TRIPLE PLUS
+029FC LEFT-POINTING CURVED ANGLE BRACKET
+029FD RIGHT-POINTING CURVED ANGLE BRACKET
+029FE TINY
+029FF MINY
+02A00 N-ARY CIRCLED DOT OPERATOR
+02A01 N-ARY CIRCLED PLUS OPERATOR
+02A02 N-ARY CIRCLED TIMES OPERATOR
+02A03 N-ARY UNION OPERATOR WITH DOT
+02A04 N-ARY UNION OPERATOR WITH PLUS
+02A05 N-ARY SQUARE INTERSECTION OPERATOR
+02A06 N-ARY SQUARE UNION OPERATOR
+02A07 TWO LOGICAL AND OPERATOR
+02A08 TWO LOGICAL OR OPERATOR
+02A09 N-ARY TIMES OPERATOR
+02A0A MODULO TWO SUM
+02A0B SUMMATION WITH INTEGRAL
+02A0C QUADRUPLE INTEGRAL OPERATOR
+02A0D FINITE PART INTEGRAL
+02A0E INTEGRAL WITH DOUBLE STROKE
+02A0F INTEGRAL AVERAGE WITH SLASH
+02A10 CIRCULATION FUNCTION
+02A11 ANTICLOCKWISE INTEGRATION
+02A12 LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+02A13 LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+02A14 LINE INTEGRATION NOT INCLUDING THE POLE
+02A15 INTEGRAL AROUND A POINT OPERATOR
+02A16 QUATERNION INTEGRAL OPERATOR
+02A17 INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+02A18 INTEGRAL WITH TIMES SIGN
+02A19 INTEGRAL WITH INTERSECTION
+02A1A INTEGRAL WITH UNION
+02A1B INTEGRAL WITH OVERBAR
+02A1C INTEGRAL WITH UNDERBAR
+02A1D JOIN
+02A1E LARGE LEFT TRIANGLE OPERATOR
+02A1F Z NOTATION SCHEMA COMPOSITION
+02A20 Z NOTATION SCHEMA PIPING
+02A21 Z NOTATION SCHEMA PROJECTION
+02A22 PLUS SIGN WITH SMALL CIRCLE ABOVE
+02A23 PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+02A24 PLUS SIGN WITH TILDE ABOVE
+02A25 PLUS SIGN WITH DOT BELOW
+02A26 PLUS SIGN WITH TILDE BELOW
+02A27 PLUS SIGN WITH SUBSCRIPT TWO
+02A28 PLUS SIGN WITH BLACK TRIANGLE
+02A29 MINUS SIGN WITH COMMA ABOVE
+02A2A MINUS SIGN WITH DOT BELOW
+02A2B MINUS SIGN WITH FALLING DOTS
+02A2C MINUS SIGN WITH RISING DOTS
+02A2D PLUS SIGN IN LEFT HALF CIRCLE
+02A2E PLUS SIGN IN RIGHT HALF CIRCLE
+02A2F VECTOR OR CROSS PRODUCT
+02A30 MULTIPLICATION SIGN WITH DOT ABOVE
+02A31 MULTIPLICATION SIGN WITH UNDERBAR
+02A32 SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+02A33 SMASH PRODUCT
+02A34 MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+02A35 MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+02A36 CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+02A37 MULTIPLICATION SIGN IN DOUBLE CIRCLE
+02A38 CIRCLED DIVISION SIGN
+02A39 PLUS SIGN IN TRIANGLE
+02A3A MINUS SIGN IN TRIANGLE
+02A3B MULTIPLICATION SIGN IN TRIANGLE
+02A3C INTERIOR PRODUCT
+02A3D RIGHTHAND INTERIOR PRODUCT
+02A3E Z NOTATION RELATIONAL COMPOSITION
+02A3F AMALGAMATION OR COPRODUCT
+02A40 INTERSECTION WITH DOT
+02A41 UNION WITH MINUS SIGN
+02A42 UNION WITH OVERBAR
+02A43 INTERSECTION WITH OVERBAR
+02A44 INTERSECTION WITH LOGICAL AND
+02A45 UNION WITH LOGICAL OR
+02A46 UNION ABOVE INTERSECTION
+02A47 INTERSECTION ABOVE UNION
+02A48 UNION ABOVE BAR ABOVE INTERSECTION
+02A49 INTERSECTION ABOVE BAR ABOVE UNION
+02A4A UNION BESIDE AND JOINED WITH UNION
+02A4B INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+02A4C CLOSED UNION WITH SERIFS
+02A4D CLOSED INTERSECTION WITH SERIFS
+02A4E DOUBLE SQUARE INTERSECTION
+02A4F DOUBLE SQUARE UNION
+02A50 CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+02A51 LOGICAL AND WITH DOT ABOVE
+02A52 LOGICAL OR WITH DOT ABOVE
+02A53 DOUBLE LOGICAL AND
+02A54 DOUBLE LOGICAL OR
+02A55 TWO INTERSECTING LOGICAL AND
+02A56 TWO INTERSECTING LOGICAL OR
+02A57 SLOPING LARGE OR
+02A58 SLOPING LARGE AND
+02A59 LOGICAL OR OVERLAPPING LOGICAL AND
+02A5A LOGICAL AND WITH MIDDLE STEM
+02A5B LOGICAL OR WITH MIDDLE STEM
+02A5C LOGICAL AND WITH HORIZONTAL DASH
+02A5D LOGICAL OR WITH HORIZONTAL DASH
+02A5E LOGICAL AND WITH DOUBLE OVERBAR
+02A5F LOGICAL AND WITH UNDERBAR
+02A60 LOGICAL AND WITH DOUBLE UNDERBAR
+02A61 SMALL VEE WITH UNDERBAR
+02A62 LOGICAL OR WITH DOUBLE OVERBAR
+02A63 LOGICAL OR WITH DOUBLE UNDERBAR
+02A64 Z NOTATION DOMAIN ANTIRESTRICTION
+02A65 Z NOTATION RANGE ANTIRESTRICTION
+02A66 EQUALS SIGN WITH DOT BELOW
+02A67 IDENTICAL WITH DOT ABOVE
+02A68 TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
+02A69 TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
+02A6A TILDE OPERATOR WITH DOT ABOVE
+02A6B TILDE OPERATOR WITH RISING DOTS
+02A6C SIMILAR MINUS SIMILAR
+02A6D CONGRUENT WITH DOT ABOVE
+02A6E EQUALS WITH ASTERISK
+02A6F ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+02A70 APPROXIMATELY EQUAL OR EQUAL TO
+02A71 EQUALS SIGN ABOVE PLUS SIGN
+02A72 PLUS SIGN ABOVE EQUALS SIGN
+02A73 EQUALS SIGN ABOVE TILDE OPERATOR
+02A74 DOUBLE COLON EQUAL
+02A75 TWO CONSECUTIVE EQUALS SIGNS
+02A76 THREE CONSECUTIVE EQUALS SIGNS
+02A77 EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+02A78 EQUIVALENT WITH FOUR DOTS ABOVE
+02A79 LESS-THAN WITH CIRCLE INSIDE
+02A7A GREATER-THAN WITH CIRCLE INSIDE
+02A7B LESS-THAN WITH QUESTION MARK ABOVE
+02A7C GREATER-THAN WITH QUESTION MARK ABOVE
+02A7D LESS-THAN OR SLANTED EQUAL TO
+02A7E GREATER-THAN OR SLANTED EQUAL TO
+02A7F LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+02A80 GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+02A81 LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+02A82 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+02A83 LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+02A84 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+02A85 LESS-THAN OR APPROXIMATE
+02A86 GREATER-THAN OR APPROXIMATE
+02A87 LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+02A88 GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+02A89 LESS-THAN AND NOT APPROXIMATE
+02A8A GREATER-THAN AND NOT APPROXIMATE
+02A8B LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+02A8C GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+02A8D LESS-THAN ABOVE SIMILAR OR EQUAL
+02A8E GREATER-THAN ABOVE SIMILAR OR EQUAL
+02A8F LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+02A90 GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+02A91 LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+02A92 GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+02A93 LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+02A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+02A95 SLANTED EQUAL TO OR LESS-THAN
+02A96 SLANTED EQUAL TO OR GREATER-THAN
+02A97 SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+02A98 SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+02A99 DOUBLE-LINE EQUAL TO OR LESS-THAN
+02A9A DOUBLE-LINE EQUAL TO OR GREATER-THAN
+02A9B DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+02A9C DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+02A9D SIMILAR OR LESS-THAN
+02A9E SIMILAR OR GREATER-THAN
+02A9F SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+02AA0 SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+02AA1 DOUBLE NESTED LESS-THAN
+02AA2 DOUBLE NESTED GREATER-THAN
+02AA3 DOUBLE NESTED LESS-THAN WITH UNDERBAR
+02AA4 GREATER-THAN OVERLAPPING LESS-THAN
+02AA5 GREATER-THAN BESIDE LESS-THAN
+02AA6 LESS-THAN CLOSED BY CURVE
+02AA7 GREATER-THAN CLOSED BY CURVE
+02AA8 LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+02AA9 GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+02AAA SMALLER THAN
+02AAB LARGER THAN
+02AAC SMALLER THAN OR EQUAL TO
+02AAD LARGER THAN OR EQUAL TO
+02AAE EQUALS SIGN WITH BUMPY ABOVE
+02AAF PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+02AB0 SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+02AB1 PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+02AB2 SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
+02AB3 PRECEDES ABOVE EQUALS SIGN
+02AB4 SUCCEEDS ABOVE EQUALS SIGN
+02AB5 PRECEDES ABOVE NOT EQUAL TO
+02AB6 SUCCEEDS ABOVE NOT EQUAL TO
+02AB7 PRECEDES ABOVE ALMOST EQUAL TO
+02AB8 SUCCEEDS ABOVE ALMOST EQUAL TO
+02AB9 PRECEDES ABOVE NOT ALMOST EQUAL TO
+02ABA SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+02ABB DOUBLE PRECEDES
+02ABC DOUBLE SUCCEEDS
+02ABD SUBSET WITH DOT
+02ABE SUPERSET WITH DOT
+02ABF SUBSET WITH PLUS SIGN BELOW
+02AC0 SUPERSET WITH PLUS SIGN BELOW
+02AC1 SUBSET WITH MULTIPLICATION SIGN BELOW
+02AC2 SUPERSET WITH MULTIPLICATION SIGN BELOW
+02AC3 SUBSET OF OR EQUAL TO WITH DOT ABOVE
+02AC4 SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+02AC5 SUBSET OF ABOVE EQUALS SIGN
+02AC6 SUPERSET OF ABOVE EQUALS SIGN
+02AC7 SUBSET OF ABOVE TILDE OPERATOR
+02AC8 SUPERSET OF ABOVE TILDE OPERATOR
+02AC9 SUBSET OF ABOVE ALMOST EQUAL TO
+02ACA SUPERSET OF ABOVE ALMOST EQUAL TO
+02ACB SUBSET OF ABOVE NOT EQUAL TO
+02ACC SUPERSET OF ABOVE NOT EQUAL TO
+02ACD SQUARE LEFT OPEN BOX OPERATOR
+02ACE SQUARE RIGHT OPEN BOX OPERATOR
+02ACF CLOSED SUBSET
+02AD0 CLOSED SUPERSET
+02AD1 CLOSED SUBSET OR EQUAL TO
+02AD2 CLOSED SUPERSET OR EQUAL TO
+02AD3 SUBSET ABOVE SUPERSET
+02AD4 SUPERSET ABOVE SUBSET
+02AD5 SUBSET ABOVE SUBSET
+02AD6 SUPERSET ABOVE SUPERSET
+02AD7 SUPERSET BESIDE SUBSET
+02AD8 SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+02AD9 ELEMENT OF OPENING DOWNWARDS
+02ADA PITCHFORK WITH TEE TOP
+02ADB TRANSVERSAL INTERSECTION
+02ADC FORKING
+02ADD NONFORKING
+02ADE SHORT LEFT TACK
+02ADF SHORT DOWN TACK
+02AE0 SHORT UP TACK
+02AE1 PERPENDICULAR WITH S
+02AE2 VERTICAL BAR TRIPLE RIGHT TURNSTILE
+02AE3 DOUBLE VERTICAL BAR LEFT TURNSTILE
+02AE4 VERTICAL BAR DOUBLE LEFT TURNSTILE
+02AE5 DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+02AE6 LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+02AE7 SHORT DOWN TACK WITH OVERBAR
+02AE8 SHORT UP TACK WITH UNDERBAR
+02AE9 SHORT UP TACK ABOVE SHORT DOWN TACK
+02AEA DOUBLE DOWN TACK
+02AEB DOUBLE UP TACK
+02AEC DOUBLE STROKE NOT SIGN
+02AED REVERSED DOUBLE STROKE NOT SIGN
+02AEE DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+02AEF VERTICAL LINE WITH CIRCLE ABOVE
+02AF0 VERTICAL LINE WITH CIRCLE BELOW
+02AF1 DOWN TACK WITH CIRCLE BELOW
+02AF2 PARALLEL WITH HORIZONTAL STROKE
+02AF3 PARALLEL WITH TILDE OPERATOR
+02AF4 TRIPLE VERTICAL BAR BINARY RELATION
+02AF5 TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
+02AF6 TRIPLE COLON OPERATOR
+02AF7 TRIPLE NESTED LESS-THAN
+02AF8 TRIPLE NESTED GREATER-THAN
+02AF9 DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+02AFA DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+02AFB TRIPLE SOLIDUS BINARY RELATION
+02AFC LARGE TRIPLE VERTICAL BAR OPERATOR
+02AFD DOUBLE SOLIDUS OPERATOR
+02AFE WHITE VERTICAL BAR
+02AFF N-ARY WHITE VERTICAL BAR
+02B00 NORTH EAST WHITE ARROW
+02B01 NORTH WEST WHITE ARROW
+02B02 SOUTH EAST WHITE ARROW
+02B03 SOUTH WEST WHITE ARROW
+02B04 LEFT RIGHT WHITE ARROW
+02B05 LEFTWARDS BLACK ARROW
+02B06 UPWARDS BLACK ARROW
+02B07 DOWNWARDS BLACK ARROW
+02B08 NORTH EAST BLACK ARROW
+02B09 NORTH WEST BLACK ARROW
+02B0A SOUTH EAST BLACK ARROW
+02B0B SOUTH WEST BLACK ARROW
+02B0C LEFT RIGHT BLACK ARROW
+02B0D UP DOWN BLACK ARROW
+02B0E RIGHTWARDS ARROW WITH TIP DOWNWARDS
+02B0F RIGHTWARDS ARROW WITH TIP UPWARDS
+02B10 LEFTWARDS ARROW WITH TIP DOWNWARDS
+02B11 LEFTWARDS ARROW WITH TIP UPWARDS
+02B12 SQUARE WITH TOP HALF BLACK
+02B13 SQUARE WITH BOTTOM HALF BLACK
+02B14 SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
+02B15 SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
+02B16 DIAMOND WITH LEFT HALF BLACK
+02B17 DIAMOND WITH RIGHT HALF BLACK
+02B18 DIAMOND WITH TOP HALF BLACK
+02B19 DIAMOND WITH BOTTOM HALF BLACK
+02B1A DOTTED SQUARE
+02B1B BLACK LARGE SQUARE
+02B1C WHITE LARGE SQUARE
+02B1D BLACK VERY SMALL SQUARE
+02B1E WHITE VERY SMALL SQUARE
+02B1F BLACK PENTAGON
+02B20 WHITE PENTAGON
+02B21 WHITE HEXAGON
+02B22 BLACK HEXAGON
+02B23 HORIZONTAL BLACK HEXAGON
+02B24 BLACK LARGE CIRCLE
+02B25 BLACK MEDIUM DIAMOND
+02B26 WHITE MEDIUM DIAMOND
+02B27 BLACK MEDIUM LOZENGE
+02B28 WHITE MEDIUM LOZENGE
+02B29 BLACK SMALL DIAMOND
+02B2A BLACK SMALL LOZENGE
+02B2B WHITE SMALL LOZENGE
+02B2C BLACK HORIZONTAL ELLIPSE
+02B2D WHITE HORIZONTAL ELLIPSE
+02B2E BLACK VERTICAL ELLIPSE
+02B2F WHITE VERTICAL ELLIPSE
+02B30 LEFT ARROW WITH SMALL CIRCLE
+02B31 THREE LEFTWARDS ARROWS
+02B32 LEFT ARROW WITH CIRCLED PLUS
+02B33 LONG LEFTWARDS SQUIGGLE ARROW
+02B34 LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+02B35 LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+02B36 LEFTWARDS TWO-HEADED ARROW FROM BAR
+02B37 LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
+02B38 LEFTWARDS ARROW WITH DOTTED STEM
+02B39 LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+02B3A LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+02B3B LEFTWARDS TWO-HEADED ARROW WITH TAIL
+02B3C LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+02B3D LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+02B3E LEFTWARDS ARROW THROUGH X
+02B3F WAVE ARROW POINTING DIRECTLY LEFT
+02B40 EQUALS SIGN ABOVE LEFTWARDS ARROW
+02B41 REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
+02B42 LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+02B43 RIGHTWARDS ARROW THROUGH GREATER-THAN
+02B44 RIGHTWARDS ARROW THROUGH SUPERSET
+02B45 LEFTWARDS QUADRUPLE ARROW
+02B46 RIGHTWARDS QUADRUPLE ARROW
+02B47 REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+02B48 RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+02B49 TILDE OPERATOR ABOVE LEFTWARDS ARROW
+02B4A LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
+02B4B LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+02B4C RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+02B50 WHITE MEDIUM STAR
+02B51 BLACK SMALL STAR
+02B52 WHITE SMALL STAR
+02B53 BLACK RIGHT-POINTING PENTAGON
+02B54 WHITE RIGHT-POINTING PENTAGON
+02B55 HEAVY LARGE CIRCLE
+02B56 HEAVY OVAL WITH OVAL INSIDE
+02B57 HEAVY CIRCLE WITH CIRCLE INSIDE
+02B58 HEAVY CIRCLE
+02B59 HEAVY CIRCLED SALTIRE
+02C00 GLAGOLITIC CAPITAL LETTER AZU
+02C01 GLAGOLITIC CAPITAL LETTER BUKY
+02C02 GLAGOLITIC CAPITAL LETTER VEDE
+02C03 GLAGOLITIC CAPITAL LETTER GLAGOLI
+02C04 GLAGOLITIC CAPITAL LETTER DOBRO
+02C05 GLAGOLITIC CAPITAL LETTER YESTU
+02C06 GLAGOLITIC CAPITAL LETTER ZHIVETE
+02C07 GLAGOLITIC CAPITAL LETTER DZELO
+02C08 GLAGOLITIC CAPITAL LETTER ZEMLJA
+02C09 GLAGOLITIC CAPITAL LETTER IZHE
+02C0A GLAGOLITIC CAPITAL LETTER INITIAL IZHE
+02C0B GLAGOLITIC CAPITAL LETTER I
+02C0C GLAGOLITIC CAPITAL LETTER DJERVI
+02C0D GLAGOLITIC CAPITAL LETTER KAKO
+02C0E GLAGOLITIC CAPITAL LETTER LJUDIJE
+02C0F GLAGOLITIC CAPITAL LETTER MYSLITE
+02C10 GLAGOLITIC CAPITAL LETTER NASHI
+02C11 GLAGOLITIC CAPITAL LETTER ONU
+02C12 GLAGOLITIC CAPITAL LETTER POKOJI
+02C13 GLAGOLITIC CAPITAL LETTER RITSI
+02C14 GLAGOLITIC CAPITAL LETTER SLOVO
+02C15 GLAGOLITIC CAPITAL LETTER TVRIDO
+02C16 GLAGOLITIC CAPITAL LETTER UKU
+02C17 GLAGOLITIC CAPITAL LETTER FRITU
+02C18 GLAGOLITIC CAPITAL LETTER HERU
+02C19 GLAGOLITIC CAPITAL LETTER OTU
+02C1A GLAGOLITIC CAPITAL LETTER PE
+02C1B GLAGOLITIC CAPITAL LETTER SHTA
+02C1C GLAGOLITIC CAPITAL LETTER TSI
+02C1D GLAGOLITIC CAPITAL LETTER CHRIVI
+02C1E GLAGOLITIC CAPITAL LETTER SHA
+02C1F GLAGOLITIC CAPITAL LETTER YERU
+02C20 GLAGOLITIC CAPITAL LETTER YERI
+02C21 GLAGOLITIC CAPITAL LETTER YATI
+02C22 GLAGOLITIC CAPITAL LETTER SPIDERY HA
+02C23 GLAGOLITIC CAPITAL LETTER YU
+02C24 GLAGOLITIC CAPITAL LETTER SMALL YUS
+02C25 GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
+02C26 GLAGOLITIC CAPITAL LETTER YO
+02C27 GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
+02C28 GLAGOLITIC CAPITAL LETTER BIG YUS
+02C29 GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
+02C2A GLAGOLITIC CAPITAL LETTER FITA
+02C2B GLAGOLITIC CAPITAL LETTER IZHITSA
+02C2C GLAGOLITIC CAPITAL LETTER SHTAPIC
+02C2D GLAGOLITIC CAPITAL LETTER TROKUTASTI A
+02C2E GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+02C30 GLAGOLITIC SMALL LETTER AZU
+02C31 GLAGOLITIC SMALL LETTER BUKY
+02C32 GLAGOLITIC SMALL LETTER VEDE
+02C33 GLAGOLITIC SMALL LETTER GLAGOLI
+02C34 GLAGOLITIC SMALL LETTER DOBRO
+02C35 GLAGOLITIC SMALL LETTER YESTU
+02C36 GLAGOLITIC SMALL LETTER ZHIVETE
+02C37 GLAGOLITIC SMALL LETTER DZELO
+02C38 GLAGOLITIC SMALL LETTER ZEMLJA
+02C39 GLAGOLITIC SMALL LETTER IZHE
+02C3A GLAGOLITIC SMALL LETTER INITIAL IZHE
+02C3B GLAGOLITIC SMALL LETTER I
+02C3C GLAGOLITIC SMALL LETTER DJERVI
+02C3D GLAGOLITIC SMALL LETTER KAKO
+02C3E GLAGOLITIC SMALL LETTER LJUDIJE
+02C3F GLAGOLITIC SMALL LETTER MYSLITE
+02C40 GLAGOLITIC SMALL LETTER NASHI
+02C41 GLAGOLITIC SMALL LETTER ONU
+02C42 GLAGOLITIC SMALL LETTER POKOJI
+02C43 GLAGOLITIC SMALL LETTER RITSI
+02C44 GLAGOLITIC SMALL LETTER SLOVO
+02C45 GLAGOLITIC SMALL LETTER TVRIDO
+02C46 GLAGOLITIC SMALL LETTER UKU
+02C47 GLAGOLITIC SMALL LETTER FRITU
+02C48 GLAGOLITIC SMALL LETTER HERU
+02C49 GLAGOLITIC SMALL LETTER OTU
+02C4A GLAGOLITIC SMALL LETTER PE
+02C4B GLAGOLITIC SMALL LETTER SHTA
+02C4C GLAGOLITIC SMALL LETTER TSI
+02C4D GLAGOLITIC SMALL LETTER CHRIVI
+02C4E GLAGOLITIC SMALL LETTER SHA
+02C4F GLAGOLITIC SMALL LETTER YERU
+02C50 GLAGOLITIC SMALL LETTER YERI
+02C51 GLAGOLITIC SMALL LETTER YATI
+02C52 GLAGOLITIC SMALL LETTER SPIDERY HA
+02C53 GLAGOLITIC SMALL LETTER YU
+02C54 GLAGOLITIC SMALL LETTER SMALL YUS
+02C55 GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
+02C56 GLAGOLITIC SMALL LETTER YO
+02C57 GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
+02C58 GLAGOLITIC SMALL LETTER BIG YUS
+02C59 GLAGOLITIC SMALL LETTER IOTATED BIG YUS
+02C5A GLAGOLITIC SMALL LETTER FITA
+02C5B GLAGOLITIC SMALL LETTER IZHITSA
+02C5C GLAGOLITIC SMALL LETTER SHTAPIC
+02C5D GLAGOLITIC SMALL LETTER TROKUTASTI A
+02C5E GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+02C60 LATIN CAPITAL LETTER L WITH DOUBLE BAR
+02C61 LATIN SMALL LETTER L WITH DOUBLE BAR
+02C62 LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+02C63 LATIN CAPITAL LETTER P WITH STROKE
+02C64 LATIN CAPITAL LETTER R WITH TAIL
+02C65 LATIN SMALL LETTER A WITH STROKE
+02C66 LATIN SMALL LETTER T WITH DIAGONAL STROKE
+02C67 LATIN CAPITAL LETTER H WITH DESCENDER
+02C68 LATIN SMALL LETTER H WITH DESCENDER
+02C69 LATIN CAPITAL LETTER K WITH DESCENDER
+02C6A LATIN SMALL LETTER K WITH DESCENDER
+02C6B LATIN CAPITAL LETTER Z WITH DESCENDER
+02C6C LATIN SMALL LETTER Z WITH DESCENDER
+02C6D LATIN CAPITAL LETTER ALPHA
+02C6E LATIN CAPITAL LETTER M WITH HOOK
+02C6F LATIN CAPITAL LETTER TURNED A
+02C70 LATIN CAPITAL LETTER TURNED ALPHA
+02C71 LATIN SMALL LETTER V WITH RIGHT HOOK
+02C72 LATIN CAPITAL LETTER W WITH HOOK
+02C73 LATIN SMALL LETTER W WITH HOOK
+02C74 LATIN SMALL LETTER V WITH CURL
+02C75 LATIN CAPITAL LETTER HALF H
+02C76 LATIN SMALL LETTER HALF H
+02C77 LATIN SMALL LETTER TAILLESS PHI
+02C78 LATIN SMALL LETTER E WITH NOTCH
+02C79 LATIN SMALL LETTER TURNED R WITH TAIL
+02C7A LATIN SMALL LETTER O WITH LOW RING INSIDE
+02C7B LATIN LETTER SMALL CAPITAL TURNED E
+02C7C LATIN SUBSCRIPT SMALL LETTER J
+02C7D MODIFIER LETTER CAPITAL V
+02C7E LATIN CAPITAL LETTER S WITH SWASH TAIL
+02C7F LATIN CAPITAL LETTER Z WITH SWASH TAIL
+02C80 COPTIC CAPITAL LETTER ALFA
+02C81 COPTIC SMALL LETTER ALFA
+02C82 COPTIC CAPITAL LETTER VIDA
+02C83 COPTIC SMALL LETTER VIDA
+02C84 COPTIC CAPITAL LETTER GAMMA
+02C85 COPTIC SMALL LETTER GAMMA
+02C86 COPTIC CAPITAL LETTER DALDA
+02C87 COPTIC SMALL LETTER DALDA
+02C88 COPTIC CAPITAL LETTER EIE
+02C89 COPTIC SMALL LETTER EIE
+02C8A COPTIC CAPITAL LETTER SOU
+02C8B COPTIC SMALL LETTER SOU
+02C8C COPTIC CAPITAL LETTER ZATA
+02C8D COPTIC SMALL LETTER ZATA
+02C8E COPTIC CAPITAL LETTER HATE
+02C8F COPTIC SMALL LETTER HATE
+02C90 COPTIC CAPITAL LETTER THETHE
+02C91 COPTIC SMALL LETTER THETHE
+02C92 COPTIC CAPITAL LETTER IAUDA
+02C93 COPTIC SMALL LETTER IAUDA
+02C94 COPTIC CAPITAL LETTER KAPA
+02C95 COPTIC SMALL LETTER KAPA
+02C96 COPTIC CAPITAL LETTER LAULA
+02C97 COPTIC SMALL LETTER LAULA
+02C98 COPTIC CAPITAL LETTER MI
+02C99 COPTIC SMALL LETTER MI
+02C9A COPTIC CAPITAL LETTER NI
+02C9B COPTIC SMALL LETTER NI
+02C9C COPTIC CAPITAL LETTER KSI
+02C9D COPTIC SMALL LETTER KSI
+02C9E COPTIC CAPITAL LETTER O
+02C9F COPTIC SMALL LETTER O
+02CA0 COPTIC CAPITAL LETTER PI
+02CA1 COPTIC SMALL LETTER PI
+02CA2 COPTIC CAPITAL LETTER RO
+02CA3 COPTIC SMALL LETTER RO
+02CA4 COPTIC CAPITAL LETTER SIMA
+02CA5 COPTIC SMALL LETTER SIMA
+02CA6 COPTIC CAPITAL LETTER TAU
+02CA7 COPTIC SMALL LETTER TAU
+02CA8 COPTIC CAPITAL LETTER UA
+02CA9 COPTIC SMALL LETTER UA
+02CAA COPTIC CAPITAL LETTER FI
+02CAB COPTIC SMALL LETTER FI
+02CAC COPTIC CAPITAL LETTER KHI
+02CAD COPTIC SMALL LETTER KHI
+02CAE COPTIC CAPITAL LETTER PSI
+02CAF COPTIC SMALL LETTER PSI
+02CB0 COPTIC CAPITAL LETTER OOU
+02CB1 COPTIC SMALL LETTER OOU
+02CB2 COPTIC CAPITAL LETTER DIALECT-P ALEF
+02CB3 COPTIC SMALL LETTER DIALECT-P ALEF
+02CB4 COPTIC CAPITAL LETTER OLD COPTIC AIN
+02CB5 COPTIC SMALL LETTER OLD COPTIC AIN
+02CB6 COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+02CB7 COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+02CB8 COPTIC CAPITAL LETTER DIALECT-P KAPA
+02CB9 COPTIC SMALL LETTER DIALECT-P KAPA
+02CBA COPTIC CAPITAL LETTER DIALECT-P NI
+02CBB COPTIC SMALL LETTER DIALECT-P NI
+02CBC COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+02CBD COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+02CBE COPTIC CAPITAL LETTER OLD COPTIC OOU
+02CBF COPTIC SMALL LETTER OLD COPTIC OOU
+02CC0 COPTIC CAPITAL LETTER SAMPI
+02CC1 COPTIC SMALL LETTER SAMPI
+02CC2 COPTIC CAPITAL LETTER CROSSED SHEI
+02CC3 COPTIC SMALL LETTER CROSSED SHEI
+02CC4 COPTIC CAPITAL LETTER OLD COPTIC SHEI
+02CC5 COPTIC SMALL LETTER OLD COPTIC SHEI
+02CC6 COPTIC CAPITAL LETTER OLD COPTIC ESH
+02CC7 COPTIC SMALL LETTER OLD COPTIC ESH
+02CC8 COPTIC CAPITAL LETTER AKHMIMIC KHEI
+02CC9 COPTIC SMALL LETTER AKHMIMIC KHEI
+02CCA COPTIC CAPITAL LETTER DIALECT-P HORI
+02CCB COPTIC SMALL LETTER DIALECT-P HORI
+02CCC COPTIC CAPITAL LETTER OLD COPTIC HORI
+02CCD COPTIC SMALL LETTER OLD COPTIC HORI
+02CCE COPTIC CAPITAL LETTER OLD COPTIC HA
+02CCF COPTIC SMALL LETTER OLD COPTIC HA
+02CD0 COPTIC CAPITAL LETTER L-SHAPED HA
+02CD1 COPTIC SMALL LETTER L-SHAPED HA
+02CD2 COPTIC CAPITAL LETTER OLD COPTIC HEI
+02CD3 COPTIC SMALL LETTER OLD COPTIC HEI
+02CD4 COPTIC CAPITAL LETTER OLD COPTIC HAT
+02CD5 COPTIC SMALL LETTER OLD COPTIC HAT
+02CD6 COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+02CD7 COPTIC SMALL LETTER OLD COPTIC GANGIA
+02CD8 COPTIC CAPITAL LETTER OLD COPTIC DJA
+02CD9 COPTIC SMALL LETTER OLD COPTIC DJA
+02CDA COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+02CDB COPTIC SMALL LETTER OLD COPTIC SHIMA
+02CDC COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+02CDD COPTIC SMALL LETTER OLD NUBIAN SHIMA
+02CDE COPTIC CAPITAL LETTER OLD NUBIAN NGI
+02CDF COPTIC SMALL LETTER OLD NUBIAN NGI
+02CE0 COPTIC CAPITAL LETTER OLD NUBIAN NYI
+02CE1 COPTIC SMALL LETTER OLD NUBIAN NYI
+02CE2 COPTIC CAPITAL LETTER OLD NUBIAN WAU
+02CE3 COPTIC SMALL LETTER OLD NUBIAN WAU
+02CE4 COPTIC SYMBOL KAI
+02CE5 COPTIC SYMBOL MI RO
+02CE6 COPTIC SYMBOL PI RO
+02CE7 COPTIC SYMBOL STAUROS
+02CE8 COPTIC SYMBOL TAU RO
+02CE9 COPTIC SYMBOL KHI RO
+02CEA COPTIC SYMBOL SHIMA SIMA
+02CEB COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+02CEC COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+02CED COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+02CEE COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+02CEF COPTIC COMBINING NI ABOVE
+02CF0 COPTIC COMBINING SPIRITUS ASPER
+02CF1 COPTIC COMBINING SPIRITUS LENIS
+02CF9 COPTIC OLD NUBIAN FULL STOP
+02CFA COPTIC OLD NUBIAN DIRECT QUESTION MARK
+02CFB COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+02CFC COPTIC OLD NUBIAN VERSE DIVIDER
+02CFD COPTIC FRACTION ONE HALF
+02CFE COPTIC FULL STOP
+02CFF COPTIC MORPHOLOGICAL DIVIDER
+02D00 GEORGIAN SMALL LETTER AN
+02D01 GEORGIAN SMALL LETTER BAN
+02D02 GEORGIAN SMALL LETTER GAN
+02D03 GEORGIAN SMALL LETTER DON
+02D04 GEORGIAN SMALL LETTER EN
+02D05 GEORGIAN SMALL LETTER VIN
+02D06 GEORGIAN SMALL LETTER ZEN
+02D07 GEORGIAN SMALL LETTER TAN
+02D08 GEORGIAN SMALL LETTER IN
+02D09 GEORGIAN SMALL LETTER KAN
+02D0A GEORGIAN SMALL LETTER LAS
+02D0B GEORGIAN SMALL LETTER MAN
+02D0C GEORGIAN SMALL LETTER NAR
+02D0D GEORGIAN SMALL LETTER ON
+02D0E GEORGIAN SMALL LETTER PAR
+02D0F GEORGIAN SMALL LETTER ZHAR
+02D10 GEORGIAN SMALL LETTER RAE
+02D11 GEORGIAN SMALL LETTER SAN
+02D12 GEORGIAN SMALL LETTER TAR
+02D13 GEORGIAN SMALL LETTER UN
+02D14 GEORGIAN SMALL LETTER PHAR
+02D15 GEORGIAN SMALL LETTER KHAR
+02D16 GEORGIAN SMALL LETTER GHAN
+02D17 GEORGIAN SMALL LETTER QAR
+02D18 GEORGIAN SMALL LETTER SHIN
+02D19 GEORGIAN SMALL LETTER CHIN
+02D1A GEORGIAN SMALL LETTER CAN
+02D1B GEORGIAN SMALL LETTER JIL
+02D1C GEORGIAN SMALL LETTER CIL
+02D1D GEORGIAN SMALL LETTER CHAR
+02D1E GEORGIAN SMALL LETTER XAN
+02D1F GEORGIAN SMALL LETTER JHAN
+02D20 GEORGIAN SMALL LETTER HAE
+02D21 GEORGIAN SMALL LETTER HE
+02D22 GEORGIAN SMALL LETTER HIE
+02D23 GEORGIAN SMALL LETTER WE
+02D24 GEORGIAN SMALL LETTER HAR
+02D25 GEORGIAN SMALL LETTER HOE
+02D30 TIFINAGH LETTER YA
+02D31 TIFINAGH LETTER YAB
+02D32 TIFINAGH LETTER YABH
+02D33 TIFINAGH LETTER YAG
+02D34 TIFINAGH LETTER YAGHH
+02D35 TIFINAGH LETTER BERBER ACADEMY YAJ
+02D36 TIFINAGH LETTER YAJ
+02D37 TIFINAGH LETTER YAD
+02D38 TIFINAGH LETTER YADH
+02D39 TIFINAGH LETTER YADD
+02D3A TIFINAGH LETTER YADDH
+02D3B TIFINAGH LETTER YEY
+02D3C TIFINAGH LETTER YAF
+02D3D TIFINAGH LETTER YAK
+02D3E TIFINAGH LETTER TUAREG YAK
+02D3F TIFINAGH LETTER YAKHH
+02D40 TIFINAGH LETTER YAH
+02D41 TIFINAGH LETTER BERBER ACADEMY YAH
+02D42 TIFINAGH LETTER TUAREG YAH
+02D43 TIFINAGH LETTER YAHH
+02D44 TIFINAGH LETTER YAA
+02D45 TIFINAGH LETTER YAKH
+02D46 TIFINAGH LETTER TUAREG YAKH
+02D47 TIFINAGH LETTER YAQ
+02D48 TIFINAGH LETTER TUAREG YAQ
+02D49 TIFINAGH LETTER YI
+02D4A TIFINAGH LETTER YAZH
+02D4B TIFINAGH LETTER AHAGGAR YAZH
+02D4C TIFINAGH LETTER TUAREG YAZH
+02D4D TIFINAGH LETTER YAL
+02D4E TIFINAGH LETTER YAM
+02D4F TIFINAGH LETTER YAN
+02D50 TIFINAGH LETTER TUAREG YAGN
+02D51 TIFINAGH LETTER TUAREG YANG
+02D52 TIFINAGH LETTER YAP
+02D53 TIFINAGH LETTER YU
+02D54 TIFINAGH LETTER YAR
+02D55 TIFINAGH LETTER YARR
+02D56 TIFINAGH LETTER YAGH
+02D57 TIFINAGH LETTER TUAREG YAGH
+02D58 TIFINAGH LETTER AYER YAGH
+02D59 TIFINAGH LETTER YAS
+02D5A TIFINAGH LETTER YASS
+02D5B TIFINAGH LETTER YASH
+02D5C TIFINAGH LETTER YAT
+02D5D TIFINAGH LETTER YATH
+02D5E TIFINAGH LETTER YACH
+02D5F TIFINAGH LETTER YATT
+02D60 TIFINAGH LETTER YAV
+02D61 TIFINAGH LETTER YAW
+02D62 TIFINAGH LETTER YAY
+02D63 TIFINAGH LETTER YAZ
+02D64 TIFINAGH LETTER TAWELLEMET YAZ
+02D65 TIFINAGH LETTER YAZZ
+02D6F TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+02D70 TIFINAGH SEPARATOR MARK
+02D7F TIFINAGH CONSONANT JOINER
+02D80 ETHIOPIC SYLLABLE LOA
+02D81 ETHIOPIC SYLLABLE MOA
+02D82 ETHIOPIC SYLLABLE ROA
+02D83 ETHIOPIC SYLLABLE SOA
+02D84 ETHIOPIC SYLLABLE SHOA
+02D85 ETHIOPIC SYLLABLE BOA
+02D86 ETHIOPIC SYLLABLE TOA
+02D87 ETHIOPIC SYLLABLE COA
+02D88 ETHIOPIC SYLLABLE NOA
+02D89 ETHIOPIC SYLLABLE NYOA
+02D8A ETHIOPIC SYLLABLE GLOTTAL OA
+02D8B ETHIOPIC SYLLABLE ZOA
+02D8C ETHIOPIC SYLLABLE DOA
+02D8D ETHIOPIC SYLLABLE DDOA
+02D8E ETHIOPIC SYLLABLE JOA
+02D8F ETHIOPIC SYLLABLE THOA
+02D90 ETHIOPIC SYLLABLE CHOA
+02D91 ETHIOPIC SYLLABLE PHOA
+02D92 ETHIOPIC SYLLABLE POA
+02D93 ETHIOPIC SYLLABLE GGWA
+02D94 ETHIOPIC SYLLABLE GGWI
+02D95 ETHIOPIC SYLLABLE GGWEE
+02D96 ETHIOPIC SYLLABLE GGWE
+02DA0 ETHIOPIC SYLLABLE SSA
+02DA1 ETHIOPIC SYLLABLE SSU
+02DA2 ETHIOPIC SYLLABLE SSI
+02DA3 ETHIOPIC SYLLABLE SSAA
+02DA4 ETHIOPIC SYLLABLE SSEE
+02DA5 ETHIOPIC SYLLABLE SSE
+02DA6 ETHIOPIC SYLLABLE SSO
+02DA8 ETHIOPIC SYLLABLE CCA
+02DA9 ETHIOPIC SYLLABLE CCU
+02DAA ETHIOPIC SYLLABLE CCI
+02DAB ETHIOPIC SYLLABLE CCAA
+02DAC ETHIOPIC SYLLABLE CCEE
+02DAD ETHIOPIC SYLLABLE CCE
+02DAE ETHIOPIC SYLLABLE CCO
+02DB0 ETHIOPIC SYLLABLE ZZA
+02DB1 ETHIOPIC SYLLABLE ZZU
+02DB2 ETHIOPIC SYLLABLE ZZI
+02DB3 ETHIOPIC SYLLABLE ZZAA
+02DB4 ETHIOPIC SYLLABLE ZZEE
+02DB5 ETHIOPIC SYLLABLE ZZE
+02DB6 ETHIOPIC SYLLABLE ZZO
+02DB8 ETHIOPIC SYLLABLE CCHA
+02DB9 ETHIOPIC SYLLABLE CCHU
+02DBA ETHIOPIC SYLLABLE CCHI
+02DBB ETHIOPIC SYLLABLE CCHAA
+02DBC ETHIOPIC SYLLABLE CCHEE
+02DBD ETHIOPIC SYLLABLE CCHE
+02DBE ETHIOPIC SYLLABLE CCHO
+02DC0 ETHIOPIC SYLLABLE QYA
+02DC1 ETHIOPIC SYLLABLE QYU
+02DC2 ETHIOPIC SYLLABLE QYI
+02DC3 ETHIOPIC SYLLABLE QYAA
+02DC4 ETHIOPIC SYLLABLE QYEE
+02DC5 ETHIOPIC SYLLABLE QYE
+02DC6 ETHIOPIC SYLLABLE QYO
+02DC8 ETHIOPIC SYLLABLE KYA
+02DC9 ETHIOPIC SYLLABLE KYU
+02DCA ETHIOPIC SYLLABLE KYI
+02DCB ETHIOPIC SYLLABLE KYAA
+02DCC ETHIOPIC SYLLABLE KYEE
+02DCD ETHIOPIC SYLLABLE KYE
+02DCE ETHIOPIC SYLLABLE KYO
+02DD0 ETHIOPIC SYLLABLE XYA
+02DD1 ETHIOPIC SYLLABLE XYU
+02DD2 ETHIOPIC SYLLABLE XYI
+02DD3 ETHIOPIC SYLLABLE XYAA
+02DD4 ETHIOPIC SYLLABLE XYEE
+02DD5 ETHIOPIC SYLLABLE XYE
+02DD6 ETHIOPIC SYLLABLE XYO
+02DD8 ETHIOPIC SYLLABLE GYA
+02DD9 ETHIOPIC SYLLABLE GYU
+02DDA ETHIOPIC SYLLABLE GYI
+02DDB ETHIOPIC SYLLABLE GYAA
+02DDC ETHIOPIC SYLLABLE GYEE
+02DDD ETHIOPIC SYLLABLE GYE
+02DDE ETHIOPIC SYLLABLE GYO
+02DE0 COMBINING CYRILLIC LETTER BE
+02DE1 COMBINING CYRILLIC LETTER VE
+02DE2 COMBINING CYRILLIC LETTER GHE
+02DE3 COMBINING CYRILLIC LETTER DE
+02DE4 COMBINING CYRILLIC LETTER ZHE
+02DE5 COMBINING CYRILLIC LETTER ZE
+02DE6 COMBINING CYRILLIC LETTER KA
+02DE7 COMBINING CYRILLIC LETTER EL
+02DE8 COMBINING CYRILLIC LETTER EM
+02DE9 COMBINING CYRILLIC LETTER EN
+02DEA COMBINING CYRILLIC LETTER O
+02DEB COMBINING CYRILLIC LETTER PE
+02DEC COMBINING CYRILLIC LETTER ER
+02DED COMBINING CYRILLIC LETTER ES
+02DEE COMBINING CYRILLIC LETTER TE
+02DEF COMBINING CYRILLIC LETTER HA
+02DF0 COMBINING CYRILLIC LETTER TSE
+02DF1 COMBINING CYRILLIC LETTER CHE
+02DF2 COMBINING CYRILLIC LETTER SHA
+02DF3 COMBINING CYRILLIC LETTER SHCHA
+02DF4 COMBINING CYRILLIC LETTER FITA
+02DF5 COMBINING CYRILLIC LETTER ES-TE
+02DF6 COMBINING CYRILLIC LETTER A
+02DF7 COMBINING CYRILLIC LETTER IE
+02DF8 COMBINING CYRILLIC LETTER DJERV
+02DF9 COMBINING CYRILLIC LETTER MONOGRAPH UK
+02DFA COMBINING CYRILLIC LETTER YAT
+02DFB COMBINING CYRILLIC LETTER YU
+02DFC COMBINING CYRILLIC LETTER IOTIFIED A
+02DFD COMBINING CYRILLIC LETTER LITTLE YUS
+02DFE COMBINING CYRILLIC LETTER BIG YUS
+02DFF COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+02E00 RIGHT ANGLE SUBSTITUTION MARKER
+02E01 RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+02E02 LEFT SUBSTITUTION BRACKET
+02E03 RIGHT SUBSTITUTION BRACKET
+02E04 LEFT DOTTED SUBSTITUTION BRACKET
+02E05 RIGHT DOTTED SUBSTITUTION BRACKET
+02E06 RAISED INTERPOLATION MARKER
+02E07 RAISED DOTTED INTERPOLATION MARKER
+02E08 DOTTED TRANSPOSITION MARKER
+02E09 LEFT TRANSPOSITION BRACKET
+02E0A RIGHT TRANSPOSITION BRACKET
+02E0B RAISED SQUARE
+02E0C LEFT RAISED OMISSION BRACKET
+02E0D RIGHT RAISED OMISSION BRACKET
+02E0E EDITORIAL CORONIS
+02E0F PARAGRAPHOS
+02E10 FORKED PARAGRAPHOS
+02E11 REVERSED FORKED PARAGRAPHOS
+02E12 HYPODIASTOLE
+02E13 DOTTED OBELOS
+02E14 DOWNWARDS ANCORA
+02E15 UPWARDS ANCORA
+02E16 DOTTED RIGHT-POINTING ANGLE
+02E17 DOUBLE OBLIQUE HYPHEN
+02E18 INVERTED INTERROBANG
+02E19 PALM BRANCH
+02E1A HYPHEN WITH DIAERESIS
+02E1B TILDE WITH RING ABOVE
+02E1C LEFT LOW PARAPHRASE BRACKET
+02E1D RIGHT LOW PARAPHRASE BRACKET
+02E1E TILDE WITH DOT ABOVE
+02E1F TILDE WITH DOT BELOW
+02E20 LEFT VERTICAL BAR WITH QUILL
+02E21 RIGHT VERTICAL BAR WITH QUILL
+02E22 TOP LEFT HALF BRACKET
+02E23 TOP RIGHT HALF BRACKET
+02E24 BOTTOM LEFT HALF BRACKET
+02E25 BOTTOM RIGHT HALF BRACKET
+02E26 LEFT SIDEWAYS U BRACKET
+02E27 RIGHT SIDEWAYS U BRACKET
+02E28 LEFT DOUBLE PARENTHESIS
+02E29 RIGHT DOUBLE PARENTHESIS
+02E2A TWO DOTS OVER ONE DOT PUNCTUATION
+02E2B ONE DOT OVER TWO DOTS PUNCTUATION
+02E2C SQUARED FOUR DOT PUNCTUATION
+02E2D FIVE DOT MARK
+02E2E REVERSED QUESTION MARK
+02E2F VERTICAL TILDE
+02E30 RING POINT
+02E31 WORD SEPARATOR MIDDLE DOT
+02E80 CJK RADICAL REPEAT
+02E81 CJK RADICAL CLIFF
+02E82 CJK RADICAL SECOND ONE
+02E83 CJK RADICAL SECOND TWO
+02E84 CJK RADICAL SECOND THREE
+02E85 CJK RADICAL PERSON
+02E86 CJK RADICAL BOX
+02E87 CJK RADICAL TABLE
+02E88 CJK RADICAL KNIFE ONE
+02E89 CJK RADICAL KNIFE TWO
+02E8A CJK RADICAL DIVINATION
+02E8B CJK RADICAL SEAL
+02E8C CJK RADICAL SMALL ONE
+02E8D CJK RADICAL SMALL TWO
+02E8E CJK RADICAL LAME ONE
+02E8F CJK RADICAL LAME TWO
+02E90 CJK RADICAL LAME THREE
+02E91 CJK RADICAL LAME FOUR
+02E92 CJK RADICAL SNAKE
+02E93 CJK RADICAL THREAD
+02E94 CJK RADICAL SNOUT ONE
+02E95 CJK RADICAL SNOUT TWO
+02E96 CJK RADICAL HEART ONE
+02E97 CJK RADICAL HEART TWO
+02E98 CJK RADICAL HAND
+02E99 CJK RADICAL RAP
+02E9B CJK RADICAL CHOKE
+02E9C CJK RADICAL SUN
+02E9D CJK RADICAL MOON
+02E9E CJK RADICAL DEATH
+02E9F CJK RADICAL MOTHER
+02EA0 CJK RADICAL CIVILIAN
+02EA1 CJK RADICAL WATER ONE
+02EA2 CJK RADICAL WATER TWO
+02EA3 CJK RADICAL FIRE
+02EA4 CJK RADICAL PAW ONE
+02EA5 CJK RADICAL PAW TWO
+02EA6 CJK RADICAL SIMPLIFIED HALF TREE TRUNK
+02EA7 CJK RADICAL COW
+02EA8 CJK RADICAL DOG
+02EA9 CJK RADICAL JADE
+02EAA CJK RADICAL BOLT OF CLOTH
+02EAB CJK RADICAL EYE
+02EAC CJK RADICAL SPIRIT ONE
+02EAD CJK RADICAL SPIRIT TWO
+02EAE CJK RADICAL BAMBOO
+02EAF CJK RADICAL SILK
+02EB0 CJK RADICAL C-SIMPLIFIED SILK
+02EB1 CJK RADICAL NET ONE
+02EB2 CJK RADICAL NET TWO
+02EB3 CJK RADICAL NET THREE
+02EB4 CJK RADICAL NET FOUR
+02EB5 CJK RADICAL MESH
+02EB6 CJK RADICAL SHEEP
+02EB7 CJK RADICAL RAM
+02EB8 CJK RADICAL EWE
+02EB9 CJK RADICAL OLD
+02EBA CJK RADICAL BRUSH ONE
+02EBB CJK RADICAL BRUSH TWO
+02EBC CJK RADICAL MEAT
+02EBD CJK RADICAL MORTAR
+02EBE CJK RADICAL GRASS ONE
+02EBF CJK RADICAL GRASS TWO
+02EC0 CJK RADICAL GRASS THREE
+02EC1 CJK RADICAL TIGER
+02EC2 CJK RADICAL CLOTHES
+02EC3 CJK RADICAL WEST ONE
+02EC4 CJK RADICAL WEST TWO
+02EC5 CJK RADICAL C-SIMPLIFIED SEE
+02EC6 CJK RADICAL SIMPLIFIED HORN
+02EC7 CJK RADICAL HORN
+02EC8 CJK RADICAL C-SIMPLIFIED SPEECH
+02EC9 CJK RADICAL C-SIMPLIFIED SHELL
+02ECA CJK RADICAL FOOT
+02ECB CJK RADICAL C-SIMPLIFIED CART
+02ECC CJK RADICAL SIMPLIFIED WALK
+02ECD CJK RADICAL WALK ONE
+02ECE CJK RADICAL WALK TWO
+02ECF CJK RADICAL CITY
+02ED0 CJK RADICAL C-SIMPLIFIED GOLD
+02ED1 CJK RADICAL LONG ONE
+02ED2 CJK RADICAL LONG TWO
+02ED3 CJK RADICAL C-SIMPLIFIED LONG
+02ED4 CJK RADICAL C-SIMPLIFIED GATE
+02ED5 CJK RADICAL MOUND ONE
+02ED6 CJK RADICAL MOUND TWO
+02ED7 CJK RADICAL RAIN
+02ED8 CJK RADICAL BLUE
+02ED9 CJK RADICAL C-SIMPLIFIED TANNED LEATHER
+02EDA CJK RADICAL C-SIMPLIFIED LEAF
+02EDB CJK RADICAL C-SIMPLIFIED WIND
+02EDC CJK RADICAL C-SIMPLIFIED FLY
+02EDD CJK RADICAL EAT ONE
+02EDE CJK RADICAL EAT TWO
+02EDF CJK RADICAL EAT THREE
+02EE0 CJK RADICAL C-SIMPLIFIED EAT
+02EE1 CJK RADICAL HEAD
+02EE2 CJK RADICAL C-SIMPLIFIED HORSE
+02EE3 CJK RADICAL BONE
+02EE4 CJK RADICAL GHOST
+02EE5 CJK RADICAL C-SIMPLIFIED FISH
+02EE6 CJK RADICAL C-SIMPLIFIED BIRD
+02EE7 CJK RADICAL C-SIMPLIFIED SALT
+02EE8 CJK RADICAL SIMPLIFIED WHEAT
+02EE9 CJK RADICAL SIMPLIFIED YELLOW
+02EEA CJK RADICAL C-SIMPLIFIED FROG
+02EEB CJK RADICAL J-SIMPLIFIED EVEN
+02EEC CJK RADICAL C-SIMPLIFIED EVEN
+02EED CJK RADICAL J-SIMPLIFIED TOOTH
+02EEE CJK RADICAL C-SIMPLIFIED TOOTH
+02EEF CJK RADICAL J-SIMPLIFIED DRAGON
+02EF0 CJK RADICAL C-SIMPLIFIED DRAGON
+02EF1 CJK RADICAL TURTLE
+02EF2 CJK RADICAL J-SIMPLIFIED TURTLE
+02EF3 CJK RADICAL C-SIMPLIFIED TURTLE
+02F00 KANGXI RADICAL ONE
+02F01 KANGXI RADICAL LINE
+02F02 KANGXI RADICAL DOT
+02F03 KANGXI RADICAL SLASH
+02F04 KANGXI RADICAL SECOND
+02F05 KANGXI RADICAL HOOK
+02F06 KANGXI RADICAL TWO
+02F07 KANGXI RADICAL LID
+02F08 KANGXI RADICAL MAN
+02F09 KANGXI RADICAL LEGS
+02F0A KANGXI RADICAL ENTER
+02F0B KANGXI RADICAL EIGHT
+02F0C KANGXI RADICAL DOWN BOX
+02F0D KANGXI RADICAL COVER
+02F0E KANGXI RADICAL ICE
+02F0F KANGXI RADICAL TABLE
+02F10 KANGXI RADICAL OPEN BOX
+02F11 KANGXI RADICAL KNIFE
+02F12 KANGXI RADICAL POWER
+02F13 KANGXI RADICAL WRAP
+02F14 KANGXI RADICAL SPOON
+02F15 KANGXI RADICAL RIGHT OPEN BOX
+02F16 KANGXI RADICAL HIDING ENCLOSURE
+02F17 KANGXI RADICAL TEN
+02F18 KANGXI RADICAL DIVINATION
+02F19 KANGXI RADICAL SEAL
+02F1A KANGXI RADICAL CLIFF
+02F1B KANGXI RADICAL PRIVATE
+02F1C KANGXI RADICAL AGAIN
+02F1D KANGXI RADICAL MOUTH
+02F1E KANGXI RADICAL ENCLOSURE
+02F1F KANGXI RADICAL EARTH
+02F20 KANGXI RADICAL SCHOLAR
+02F21 KANGXI RADICAL GO
+02F22 KANGXI RADICAL GO SLOWLY
+02F23 KANGXI RADICAL EVENING
+02F24 KANGXI RADICAL BIG
+02F25 KANGXI RADICAL WOMAN
+02F26 KANGXI RADICAL CHILD
+02F27 KANGXI RADICAL ROOF
+02F28 KANGXI RADICAL INCH
+02F29 KANGXI RADICAL SMALL
+02F2A KANGXI RADICAL LAME
+02F2B KANGXI RADICAL CORPSE
+02F2C KANGXI RADICAL SPROUT
+02F2D KANGXI RADICAL MOUNTAIN
+02F2E KANGXI RADICAL RIVER
+02F2F KANGXI RADICAL WORK
+02F30 KANGXI RADICAL ONESELF
+02F31 KANGXI RADICAL TURBAN
+02F32 KANGXI RADICAL DRY
+02F33 KANGXI RADICAL SHORT THREAD
+02F34 KANGXI RADICAL DOTTED CLIFF
+02F35 KANGXI RADICAL LONG STRIDE
+02F36 KANGXI RADICAL TWO HANDS
+02F37 KANGXI RADICAL SHOOT
+02F38 KANGXI RADICAL BOW
+02F39 KANGXI RADICAL SNOUT
+02F3A KANGXI RADICAL BRISTLE
+02F3B KANGXI RADICAL STEP
+02F3C KANGXI RADICAL HEART
+02F3D KANGXI RADICAL HALBERD
+02F3E KANGXI RADICAL DOOR
+02F3F KANGXI RADICAL HAND
+02F40 KANGXI RADICAL BRANCH
+02F41 KANGXI RADICAL RAP
+02F42 KANGXI RADICAL SCRIPT
+02F43 KANGXI RADICAL DIPPER
+02F44 KANGXI RADICAL AXE
+02F45 KANGXI RADICAL SQUARE
+02F46 KANGXI RADICAL NOT
+02F47 KANGXI RADICAL SUN
+02F48 KANGXI RADICAL SAY
+02F49 KANGXI RADICAL MOON
+02F4A KANGXI RADICAL TREE
+02F4B KANGXI RADICAL LACK
+02F4C KANGXI RADICAL STOP
+02F4D KANGXI RADICAL DEATH
+02F4E KANGXI RADICAL WEAPON
+02F4F KANGXI RADICAL DO NOT
+02F50 KANGXI RADICAL COMPARE
+02F51 KANGXI RADICAL FUR
+02F52 KANGXI RADICAL CLAN
+02F53 KANGXI RADICAL STEAM
+02F54 KANGXI RADICAL WATER
+02F55 KANGXI RADICAL FIRE
+02F56 KANGXI RADICAL CLAW
+02F57 KANGXI RADICAL FATHER
+02F58 KANGXI RADICAL DOUBLE X
+02F59 KANGXI RADICAL HALF TREE TRUNK
+02F5A KANGXI RADICAL SLICE
+02F5B KANGXI RADICAL FANG
+02F5C KANGXI RADICAL COW
+02F5D KANGXI RADICAL DOG
+02F5E KANGXI RADICAL PROFOUND
+02F5F KANGXI RADICAL JADE
+02F60 KANGXI RADICAL MELON
+02F61 KANGXI RADICAL TILE
+02F62 KANGXI RADICAL SWEET
+02F63 KANGXI RADICAL LIFE
+02F64 KANGXI RADICAL USE
+02F65 KANGXI RADICAL FIELD
+02F66 KANGXI RADICAL BOLT OF CLOTH
+02F67 KANGXI RADICAL SICKNESS
+02F68 KANGXI RADICAL DOTTED TENT
+02F69 KANGXI RADICAL WHITE
+02F6A KANGXI RADICAL SKIN
+02F6B KANGXI RADICAL DISH
+02F6C KANGXI RADICAL EYE
+02F6D KANGXI RADICAL SPEAR
+02F6E KANGXI RADICAL ARROW
+02F6F KANGXI RADICAL STONE
+02F70 KANGXI RADICAL SPIRIT
+02F71 KANGXI RADICAL TRACK
+02F72 KANGXI RADICAL GRAIN
+02F73 KANGXI RADICAL CAVE
+02F74 KANGXI RADICAL STAND
+02F75 KANGXI RADICAL BAMBOO
+02F76 KANGXI RADICAL RICE
+02F77 KANGXI RADICAL SILK
+02F78 KANGXI RADICAL JAR
+02F79 KANGXI RADICAL NET
+02F7A KANGXI RADICAL SHEEP
+02F7B KANGXI RADICAL FEATHER
+02F7C KANGXI RADICAL OLD
+02F7D KANGXI RADICAL AND
+02F7E KANGXI RADICAL PLOW
+02F7F KANGXI RADICAL EAR
+02F80 KANGXI RADICAL BRUSH
+02F81 KANGXI RADICAL MEAT
+02F82 KANGXI RADICAL MINISTER
+02F83 KANGXI RADICAL SELF
+02F84 KANGXI RADICAL ARRIVE
+02F85 KANGXI RADICAL MORTAR
+02F86 KANGXI RADICAL TONGUE
+02F87 KANGXI RADICAL OPPOSE
+02F88 KANGXI RADICAL BOAT
+02F89 KANGXI RADICAL STOPPING
+02F8A KANGXI RADICAL COLOR
+02F8B KANGXI RADICAL GRASS
+02F8C KANGXI RADICAL TIGER
+02F8D KANGXI RADICAL INSECT
+02F8E KANGXI RADICAL BLOOD
+02F8F KANGXI RADICAL WALK ENCLOSURE
+02F90 KANGXI RADICAL CLOTHES
+02F91 KANGXI RADICAL WEST
+02F92 KANGXI RADICAL SEE
+02F93 KANGXI RADICAL HORN
+02F94 KANGXI RADICAL SPEECH
+02F95 KANGXI RADICAL VALLEY
+02F96 KANGXI RADICAL BEAN
+02F97 KANGXI RADICAL PIG
+02F98 KANGXI RADICAL BADGER
+02F99 KANGXI RADICAL SHELL
+02F9A KANGXI RADICAL RED
+02F9B KANGXI RADICAL RUN
+02F9C KANGXI RADICAL FOOT
+02F9D KANGXI RADICAL BODY
+02F9E KANGXI RADICAL CART
+02F9F KANGXI RADICAL BITTER
+02FA0 KANGXI RADICAL MORNING
+02FA1 KANGXI RADICAL WALK
+02FA2 KANGXI RADICAL CITY
+02FA3 KANGXI RADICAL WINE
+02FA4 KANGXI RADICAL DISTINGUISH
+02FA5 KANGXI RADICAL VILLAGE
+02FA6 KANGXI RADICAL GOLD
+02FA7 KANGXI RADICAL LONG
+02FA8 KANGXI RADICAL GATE
+02FA9 KANGXI RADICAL MOUND
+02FAA KANGXI RADICAL SLAVE
+02FAB KANGXI RADICAL SHORT TAILED BIRD
+02FAC KANGXI RADICAL RAIN
+02FAD KANGXI RADICAL BLUE
+02FAE KANGXI RADICAL WRONG
+02FAF KANGXI RADICAL FACE
+02FB0 KANGXI RADICAL LEATHER
+02FB1 KANGXI RADICAL TANNED LEATHER
+02FB2 KANGXI RADICAL LEEK
+02FB3 KANGXI RADICAL SOUND
+02FB4 KANGXI RADICAL LEAF
+02FB5 KANGXI RADICAL WIND
+02FB6 KANGXI RADICAL FLY
+02FB7 KANGXI RADICAL EAT
+02FB8 KANGXI RADICAL HEAD
+02FB9 KANGXI RADICAL FRAGRANT
+02FBA KANGXI RADICAL HORSE
+02FBB KANGXI RADICAL BONE
+02FBC KANGXI RADICAL TALL
+02FBD KANGXI RADICAL HAIR
+02FBE KANGXI RADICAL FIGHT
+02FBF KANGXI RADICAL SACRIFICIAL WINE
+02FC0 KANGXI RADICAL CAULDRON
+02FC1 KANGXI RADICAL GHOST
+02FC2 KANGXI RADICAL FISH
+02FC3 KANGXI RADICAL BIRD
+02FC4 KANGXI RADICAL SALT
+02FC5 KANGXI RADICAL DEER
+02FC6 KANGXI RADICAL WHEAT
+02FC7 KANGXI RADICAL HEMP
+02FC8 KANGXI RADICAL YELLOW
+02FC9 KANGXI RADICAL MILLET
+02FCA KANGXI RADICAL BLACK
+02FCB KANGXI RADICAL EMBROIDERY
+02FCC KANGXI RADICAL FROG
+02FCD KANGXI RADICAL TRIPOD
+02FCE KANGXI RADICAL DRUM
+02FCF KANGXI RADICAL RAT
+02FD0 KANGXI RADICAL NOSE
+02FD1 KANGXI RADICAL EVEN
+02FD2 KANGXI RADICAL TOOTH
+02FD3 KANGXI RADICAL DRAGON
+02FD4 KANGXI RADICAL TURTLE
+02FD5 KANGXI RADICAL FLUTE
+02FF0 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+02FF1 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+02FF2 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+02FF3 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+02FF4 IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+02FF5 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+02FF6 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+02FF7 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+02FF8 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+02FF9 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+02FFA IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+02FFB IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+03000 IDEOGRAPHIC SPACE
+03001 IDEOGRAPHIC COMMA
+03002 IDEOGRAPHIC FULL STOP
+03003 DITTO MARK
+03004 JAPANESE INDUSTRIAL STANDARD SYMBOL
+03005 IDEOGRAPHIC ITERATION MARK
+03006 IDEOGRAPHIC CLOSING MARK
+03007 IDEOGRAPHIC NUMBER ZERO
+03008 LEFT ANGLE BRACKET
+03009 RIGHT ANGLE BRACKET
+0300A LEFT DOUBLE ANGLE BRACKET
+0300B RIGHT DOUBLE ANGLE BRACKET
+0300C LEFT CORNER BRACKET
+0300D RIGHT CORNER BRACKET
+0300E LEFT WHITE CORNER BRACKET
+0300F RIGHT WHITE CORNER BRACKET
+03010 LEFT BLACK LENTICULAR BRACKET
+03011 RIGHT BLACK LENTICULAR BRACKET
+03012 POSTAL MARK
+03013 GETA MARK
+03014 LEFT TORTOISE SHELL BRACKET
+03015 RIGHT TORTOISE SHELL BRACKET
+03016 LEFT WHITE LENTICULAR BRACKET
+03017 RIGHT WHITE LENTICULAR BRACKET
+03018 LEFT WHITE TORTOISE SHELL BRACKET
+03019 RIGHT WHITE TORTOISE SHELL BRACKET
+0301A LEFT WHITE SQUARE BRACKET
+0301B RIGHT WHITE SQUARE BRACKET
+0301C WAVE DASH
+0301D REVERSED DOUBLE PRIME QUOTATION MARK
+0301E DOUBLE PRIME QUOTATION MARK
+0301F LOW DOUBLE PRIME QUOTATION MARK
+03020 POSTAL MARK FACE
+03021 HANGZHOU NUMERAL ONE
+03022 HANGZHOU NUMERAL TWO
+03023 HANGZHOU NUMERAL THREE
+03024 HANGZHOU NUMERAL FOUR
+03025 HANGZHOU NUMERAL FIVE
+03026 HANGZHOU NUMERAL SIX
+03027 HANGZHOU NUMERAL SEVEN
+03028 HANGZHOU NUMERAL EIGHT
+03029 HANGZHOU NUMERAL NINE
+0302A IDEOGRAPHIC LEVEL TONE MARK
+0302B IDEOGRAPHIC RISING TONE MARK
+0302C IDEOGRAPHIC DEPARTING TONE MARK
+0302D IDEOGRAPHIC ENTERING TONE MARK
+0302E HANGUL SINGLE DOT TONE MARK
+0302F HANGUL DOUBLE DOT TONE MARK
+03030 WAVY DASH
+03031 VERTICAL KANA REPEAT MARK
+03032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+03033 VERTICAL KANA REPEAT MARK UPPER HALF
+03034 VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+03035 VERTICAL KANA REPEAT MARK LOWER HALF
+03036 CIRCLED POSTAL MARK
+03037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+03038 HANGZHOU NUMERAL TEN
+03039 HANGZHOU NUMERAL TWENTY
+0303A HANGZHOU NUMERAL THIRTY
+0303B VERTICAL IDEOGRAPHIC ITERATION MARK
+0303C MASU MARK
+0303D PART ALTERNATION MARK
+0303E IDEOGRAPHIC VARIATION INDICATOR
+0303F IDEOGRAPHIC HALF FILL SPACE
+03041 HIRAGANA LETTER SMALL A
+03042 HIRAGANA LETTER A
+03043 HIRAGANA LETTER SMALL I
+03044 HIRAGANA LETTER I
+03045 HIRAGANA LETTER SMALL U
+03046 HIRAGANA LETTER U
+03047 HIRAGANA LETTER SMALL E
+03048 HIRAGANA LETTER E
+03049 HIRAGANA LETTER SMALL O
+0304A HIRAGANA LETTER O
+0304B HIRAGANA LETTER KA
+0304C HIRAGANA LETTER GA
+0304D HIRAGANA LETTER KI
+0304E HIRAGANA LETTER GI
+0304F HIRAGANA LETTER KU
+03050 HIRAGANA LETTER GU
+03051 HIRAGANA LETTER KE
+03052 HIRAGANA LETTER GE
+03053 HIRAGANA LETTER KO
+03054 HIRAGANA LETTER GO
+03055 HIRAGANA LETTER SA
+03056 HIRAGANA LETTER ZA
+03057 HIRAGANA LETTER SI
+03058 HIRAGANA LETTER ZI
+03059 HIRAGANA LETTER SU
+0305A HIRAGANA LETTER ZU
+0305B HIRAGANA LETTER SE
+0305C HIRAGANA LETTER ZE
+0305D HIRAGANA LETTER SO
+0305E HIRAGANA LETTER ZO
+0305F HIRAGANA LETTER TA
+03060 HIRAGANA LETTER DA
+03061 HIRAGANA LETTER TI
+03062 HIRAGANA LETTER DI
+03063 HIRAGANA LETTER SMALL TU
+03064 HIRAGANA LETTER TU
+03065 HIRAGANA LETTER DU
+03066 HIRAGANA LETTER TE
+03067 HIRAGANA LETTER DE
+03068 HIRAGANA LETTER TO
+03069 HIRAGANA LETTER DO
+0306A HIRAGANA LETTER NA
+0306B HIRAGANA LETTER NI
+0306C HIRAGANA LETTER NU
+0306D HIRAGANA LETTER NE
+0306E HIRAGANA LETTER NO
+0306F HIRAGANA LETTER HA
+03070 HIRAGANA LETTER BA
+03071 HIRAGANA LETTER PA
+03072 HIRAGANA LETTER HI
+03073 HIRAGANA LETTER BI
+03074 HIRAGANA LETTER PI
+03075 HIRAGANA LETTER HU
+03076 HIRAGANA LETTER BU
+03077 HIRAGANA LETTER PU
+03078 HIRAGANA LETTER HE
+03079 HIRAGANA LETTER BE
+0307A HIRAGANA LETTER PE
+0307B HIRAGANA LETTER HO
+0307C HIRAGANA LETTER BO
+0307D HIRAGANA LETTER PO
+0307E HIRAGANA LETTER MA
+0307F HIRAGANA LETTER MI
+03080 HIRAGANA LETTER MU
+03081 HIRAGANA LETTER ME
+03082 HIRAGANA LETTER MO
+03083 HIRAGANA LETTER SMALL YA
+03084 HIRAGANA LETTER YA
+03085 HIRAGANA LETTER SMALL YU
+03086 HIRAGANA LETTER YU
+03087 HIRAGANA LETTER SMALL YO
+03088 HIRAGANA LETTER YO
+03089 HIRAGANA LETTER RA
+0308A HIRAGANA LETTER RI
+0308B HIRAGANA LETTER RU
+0308C HIRAGANA LETTER RE
+0308D HIRAGANA LETTER RO
+0308E HIRAGANA LETTER SMALL WA
+0308F HIRAGANA LETTER WA
+03090 HIRAGANA LETTER WI
+03091 HIRAGANA LETTER WE
+03092 HIRAGANA LETTER WO
+03093 HIRAGANA LETTER N
+03094 HIRAGANA LETTER VU
+03095 HIRAGANA LETTER SMALL KA
+03096 HIRAGANA LETTER SMALL KE
+03099 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+0309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+0309B KATAKANA-HIRAGANA VOICED SOUND MARK
+0309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+0309D HIRAGANA ITERATION MARK
+0309E HIRAGANA VOICED ITERATION MARK
+0309F HIRAGANA DIGRAPH YORI
+030A0 KATAKANA-HIRAGANA DOUBLE HYPHEN
+030A1 KATAKANA LETTER SMALL A
+030A2 KATAKANA LETTER A
+030A3 KATAKANA LETTER SMALL I
+030A4 KATAKANA LETTER I
+030A5 KATAKANA LETTER SMALL U
+030A6 KATAKANA LETTER U
+030A7 KATAKANA LETTER SMALL E
+030A8 KATAKANA LETTER E
+030A9 KATAKANA LETTER SMALL O
+030AA KATAKANA LETTER O
+030AB KATAKANA LETTER KA
+030AC KATAKANA LETTER GA
+030AD KATAKANA LETTER KI
+030AE KATAKANA LETTER GI
+030AF KATAKANA LETTER KU
+030B0 KATAKANA LETTER GU
+030B1 KATAKANA LETTER KE
+030B2 KATAKANA LETTER GE
+030B3 KATAKANA LETTER KO
+030B4 KATAKANA LETTER GO
+030B5 KATAKANA LETTER SA
+030B6 KATAKANA LETTER ZA
+030B7 KATAKANA LETTER SI
+030B8 KATAKANA LETTER ZI
+030B9 KATAKANA LETTER SU
+030BA KATAKANA LETTER ZU
+030BB KATAKANA LETTER SE
+030BC KATAKANA LETTER ZE
+030BD KATAKANA LETTER SO
+030BE KATAKANA LETTER ZO
+030BF KATAKANA LETTER TA
+030C0 KATAKANA LETTER DA
+030C1 KATAKANA LETTER TI
+030C2 KATAKANA LETTER DI
+030C3 KATAKANA LETTER SMALL TU
+030C4 KATAKANA LETTER TU
+030C5 KATAKANA LETTER DU
+030C6 KATAKANA LETTER TE
+030C7 KATAKANA LETTER DE
+030C8 KATAKANA LETTER TO
+030C9 KATAKANA LETTER DO
+030CA KATAKANA LETTER NA
+030CB KATAKANA LETTER NI
+030CC KATAKANA LETTER NU
+030CD KATAKANA LETTER NE
+030CE KATAKANA LETTER NO
+030CF KATAKANA LETTER HA
+030D0 KATAKANA LETTER BA
+030D1 KATAKANA LETTER PA
+030D2 KATAKANA LETTER HI
+030D3 KATAKANA LETTER BI
+030D4 KATAKANA LETTER PI
+030D5 KATAKANA LETTER HU
+030D6 KATAKANA LETTER BU
+030D7 KATAKANA LETTER PU
+030D8 KATAKANA LETTER HE
+030D9 KATAKANA LETTER BE
+030DA KATAKANA LETTER PE
+030DB KATAKANA LETTER HO
+030DC KATAKANA LETTER BO
+030DD KATAKANA LETTER PO
+030DE KATAKANA LETTER MA
+030DF KATAKANA LETTER MI
+030E0 KATAKANA LETTER MU
+030E1 KATAKANA LETTER ME
+030E2 KATAKANA LETTER MO
+030E3 KATAKANA LETTER SMALL YA
+030E4 KATAKANA LETTER YA
+030E5 KATAKANA LETTER SMALL YU
+030E6 KATAKANA LETTER YU
+030E7 KATAKANA LETTER SMALL YO
+030E8 KATAKANA LETTER YO
+030E9 KATAKANA LETTER RA
+030EA KATAKANA LETTER RI
+030EB KATAKANA LETTER RU
+030EC KATAKANA LETTER RE
+030ED KATAKANA LETTER RO
+030EE KATAKANA LETTER SMALL WA
+030EF KATAKANA LETTER WA
+030F0 KATAKANA LETTER WI
+030F1 KATAKANA LETTER WE
+030F2 KATAKANA LETTER WO
+030F3 KATAKANA LETTER N
+030F4 KATAKANA LETTER VU
+030F5 KATAKANA LETTER SMALL KA
+030F6 KATAKANA LETTER SMALL KE
+030F7 KATAKANA LETTER VA
+030F8 KATAKANA LETTER VI
+030F9 KATAKANA LETTER VE
+030FA KATAKANA LETTER VO
+030FB KATAKANA MIDDLE DOT
+030FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+030FD KATAKANA ITERATION MARK
+030FE KATAKANA VOICED ITERATION MARK
+030FF KATAKANA DIGRAPH KOTO
+03105 BOPOMOFO LETTER B
+03106 BOPOMOFO LETTER P
+03107 BOPOMOFO LETTER M
+03108 BOPOMOFO LETTER F
+03109 BOPOMOFO LETTER D
+0310A BOPOMOFO LETTER T
+0310B BOPOMOFO LETTER N
+0310C BOPOMOFO LETTER L
+0310D BOPOMOFO LETTER G
+0310E BOPOMOFO LETTER K
+0310F BOPOMOFO LETTER H
+03110 BOPOMOFO LETTER J
+03111 BOPOMOFO LETTER Q
+03112 BOPOMOFO LETTER X
+03113 BOPOMOFO LETTER ZH
+03114 BOPOMOFO LETTER CH
+03115 BOPOMOFO LETTER SH
+03116 BOPOMOFO LETTER R
+03117 BOPOMOFO LETTER Z
+03118 BOPOMOFO LETTER C
+03119 BOPOMOFO LETTER S
+0311A BOPOMOFO LETTER A
+0311B BOPOMOFO LETTER O
+0311C BOPOMOFO LETTER E
+0311D BOPOMOFO LETTER EH
+0311E BOPOMOFO LETTER AI
+0311F BOPOMOFO LETTER EI
+03120 BOPOMOFO LETTER AU
+03121 BOPOMOFO LETTER OU
+03122 BOPOMOFO LETTER AN
+03123 BOPOMOFO LETTER EN
+03124 BOPOMOFO LETTER ANG
+03125 BOPOMOFO LETTER ENG
+03126 BOPOMOFO LETTER ER
+03127 BOPOMOFO LETTER I
+03128 BOPOMOFO LETTER U
+03129 BOPOMOFO LETTER IU
+0312A BOPOMOFO LETTER V
+0312B BOPOMOFO LETTER NG
+0312C BOPOMOFO LETTER GN
+0312D BOPOMOFO LETTER IH
+03131 HANGUL LETTER KIYEOK
+03132 HANGUL LETTER SSANGKIYEOK
+03133 HANGUL LETTER KIYEOK-SIOS
+03134 HANGUL LETTER NIEUN
+03135 HANGUL LETTER NIEUN-CIEUC
+03136 HANGUL LETTER NIEUN-HIEUH
+03137 HANGUL LETTER TIKEUT
+03138 HANGUL LETTER SSANGTIKEUT
+03139 HANGUL LETTER RIEUL
+0313A HANGUL LETTER RIEUL-KIYEOK
+0313B HANGUL LETTER RIEUL-MIEUM
+0313C HANGUL LETTER RIEUL-PIEUP
+0313D HANGUL LETTER RIEUL-SIOS
+0313E HANGUL LETTER RIEUL-THIEUTH
+0313F HANGUL LETTER RIEUL-PHIEUPH
+03140 HANGUL LETTER RIEUL-HIEUH
+03141 HANGUL LETTER MIEUM
+03142 HANGUL LETTER PIEUP
+03143 HANGUL LETTER SSANGPIEUP
+03144 HANGUL LETTER PIEUP-SIOS
+03145 HANGUL LETTER SIOS
+03146 HANGUL LETTER SSANGSIOS
+03147 HANGUL LETTER IEUNG
+03148 HANGUL LETTER CIEUC
+03149 HANGUL LETTER SSANGCIEUC
+0314A HANGUL LETTER CHIEUCH
+0314B HANGUL LETTER KHIEUKH
+0314C HANGUL LETTER THIEUTH
+0314D HANGUL LETTER PHIEUPH
+0314E HANGUL LETTER HIEUH
+0314F HANGUL LETTER A
+03150 HANGUL LETTER AE
+03151 HANGUL LETTER YA
+03152 HANGUL LETTER YAE
+03153 HANGUL LETTER EO
+03154 HANGUL LETTER E
+03155 HANGUL LETTER YEO
+03156 HANGUL LETTER YE
+03157 HANGUL LETTER O
+03158 HANGUL LETTER WA
+03159 HANGUL LETTER WAE
+0315A HANGUL LETTER OE
+0315B HANGUL LETTER YO
+0315C HANGUL LETTER U
+0315D HANGUL LETTER WEO
+0315E HANGUL LETTER WE
+0315F HANGUL LETTER WI
+03160 HANGUL LETTER YU
+03161 HANGUL LETTER EU
+03162 HANGUL LETTER YI
+03163 HANGUL LETTER I
+03164 HANGUL FILLER
+03165 HANGUL LETTER SSANGNIEUN
+03166 HANGUL LETTER NIEUN-TIKEUT
+03167 HANGUL LETTER NIEUN-SIOS
+03168 HANGUL LETTER NIEUN-PANSIOS
+03169 HANGUL LETTER RIEUL-KIYEOK-SIOS
+0316A HANGUL LETTER RIEUL-TIKEUT
+0316B HANGUL LETTER RIEUL-PIEUP-SIOS
+0316C HANGUL LETTER RIEUL-PANSIOS
+0316D HANGUL LETTER RIEUL-YEORINHIEUH
+0316E HANGUL LETTER MIEUM-PIEUP
+0316F HANGUL LETTER MIEUM-SIOS
+03170 HANGUL LETTER MIEUM-PANSIOS
+03171 HANGUL LETTER KAPYEOUNMIEUM
+03172 HANGUL LETTER PIEUP-KIYEOK
+03173 HANGUL LETTER PIEUP-TIKEUT
+03174 HANGUL LETTER PIEUP-SIOS-KIYEOK
+03175 HANGUL LETTER PIEUP-SIOS-TIKEUT
+03176 HANGUL LETTER PIEUP-CIEUC
+03177 HANGUL LETTER PIEUP-THIEUTH
+03178 HANGUL LETTER KAPYEOUNPIEUP
+03179 HANGUL LETTER KAPYEOUNSSANGPIEUP
+0317A HANGUL LETTER SIOS-KIYEOK
+0317B HANGUL LETTER SIOS-NIEUN
+0317C HANGUL LETTER SIOS-TIKEUT
+0317D HANGUL LETTER SIOS-PIEUP
+0317E HANGUL LETTER SIOS-CIEUC
+0317F HANGUL LETTER PANSIOS
+03180 HANGUL LETTER SSANGIEUNG
+03181 HANGUL LETTER YESIEUNG
+03182 HANGUL LETTER YESIEUNG-SIOS
+03183 HANGUL LETTER YESIEUNG-PANSIOS
+03184 HANGUL LETTER KAPYEOUNPHIEUPH
+03185 HANGUL LETTER SSANGHIEUH
+03186 HANGUL LETTER YEORINHIEUH
+03187 HANGUL LETTER YO-YA
+03188 HANGUL LETTER YO-YAE
+03189 HANGUL LETTER YO-I
+0318A HANGUL LETTER YU-YEO
+0318B HANGUL LETTER YU-YE
+0318C HANGUL LETTER YU-I
+0318D HANGUL LETTER ARAEA
+0318E HANGUL LETTER ARAEAE
+03190 IDEOGRAPHIC ANNOTATION LINKING MARK
+03191 IDEOGRAPHIC ANNOTATION REVERSE MARK
+03192 IDEOGRAPHIC ANNOTATION ONE MARK
+03193 IDEOGRAPHIC ANNOTATION TWO MARK
+03194 IDEOGRAPHIC ANNOTATION THREE MARK
+03195 IDEOGRAPHIC ANNOTATION FOUR MARK
+03196 IDEOGRAPHIC ANNOTATION TOP MARK
+03197 IDEOGRAPHIC ANNOTATION MIDDLE MARK
+03198 IDEOGRAPHIC ANNOTATION BOTTOM MARK
+03199 IDEOGRAPHIC ANNOTATION FIRST MARK
+0319A IDEOGRAPHIC ANNOTATION SECOND MARK
+0319B IDEOGRAPHIC ANNOTATION THIRD MARK
+0319C IDEOGRAPHIC ANNOTATION FOURTH MARK
+0319D IDEOGRAPHIC ANNOTATION HEAVEN MARK
+0319E IDEOGRAPHIC ANNOTATION EARTH MARK
+0319F IDEOGRAPHIC ANNOTATION MAN MARK
+031A0 BOPOMOFO LETTER BU
+031A1 BOPOMOFO LETTER ZI
+031A2 BOPOMOFO LETTER JI
+031A3 BOPOMOFO LETTER GU
+031A4 BOPOMOFO LETTER EE
+031A5 BOPOMOFO LETTER ENN
+031A6 BOPOMOFO LETTER OO
+031A7 BOPOMOFO LETTER ONN
+031A8 BOPOMOFO LETTER IR
+031A9 BOPOMOFO LETTER ANN
+031AA BOPOMOFO LETTER INN
+031AB BOPOMOFO LETTER UNN
+031AC BOPOMOFO LETTER IM
+031AD BOPOMOFO LETTER NGG
+031AE BOPOMOFO LETTER AINN
+031AF BOPOMOFO LETTER AUNN
+031B0 BOPOMOFO LETTER AM
+031B1 BOPOMOFO LETTER OM
+031B2 BOPOMOFO LETTER ONG
+031B3 BOPOMOFO LETTER INNN
+031B4 BOPOMOFO FINAL LETTER P
+031B5 BOPOMOFO FINAL LETTER T
+031B6 BOPOMOFO FINAL LETTER K
+031B7 BOPOMOFO FINAL LETTER H
+031B8 BOPOMOFO LETTER GH
+031B9 BOPOMOFO LETTER LH
+031BA BOPOMOFO LETTER ZY
+031C0 CJK STROKE T
+031C1 CJK STROKE WG
+031C2 CJK STROKE XG
+031C3 CJK STROKE BXG
+031C4 CJK STROKE SW
+031C5 CJK STROKE HZZ
+031C6 CJK STROKE HZG
+031C7 CJK STROKE HP
+031C8 CJK STROKE HZWG
+031C9 CJK STROKE SZWG
+031CA CJK STROKE HZT
+031CB CJK STROKE HZZP
+031CC CJK STROKE HPWG
+031CD CJK STROKE HZW
+031CE CJK STROKE HZZZ
+031CF CJK STROKE N
+031D0 CJK STROKE H
+031D1 CJK STROKE S
+031D2 CJK STROKE P
+031D3 CJK STROKE SP
+031D4 CJK STROKE D
+031D5 CJK STROKE HZ
+031D6 CJK STROKE HG
+031D7 CJK STROKE SZ
+031D8 CJK STROKE SWZ
+031D9 CJK STROKE ST
+031DA CJK STROKE SG
+031DB CJK STROKE PD
+031DC CJK STROKE PZ
+031DD CJK STROKE TN
+031DE CJK STROKE SZZ
+031DF CJK STROKE SWG
+031E0 CJK STROKE HXWG
+031E1 CJK STROKE HZZZG
+031E2 CJK STROKE PG
+031E3 CJK STROKE Q
+031F0 KATAKANA LETTER SMALL KU
+031F1 KATAKANA LETTER SMALL SI
+031F2 KATAKANA LETTER SMALL SU
+031F3 KATAKANA LETTER SMALL TO
+031F4 KATAKANA LETTER SMALL NU
+031F5 KATAKANA LETTER SMALL HA
+031F6 KATAKANA LETTER SMALL HI
+031F7 KATAKANA LETTER SMALL HU
+031F8 KATAKANA LETTER SMALL HE
+031F9 KATAKANA LETTER SMALL HO
+031FA KATAKANA LETTER SMALL MU
+031FB KATAKANA LETTER SMALL RA
+031FC KATAKANA LETTER SMALL RI
+031FD KATAKANA LETTER SMALL RU
+031FE KATAKANA LETTER SMALL RE
+031FF KATAKANA LETTER SMALL RO
+03200 PARENTHESIZED HANGUL KIYEOK
+03201 PARENTHESIZED HANGUL NIEUN
+03202 PARENTHESIZED HANGUL TIKEUT
+03203 PARENTHESIZED HANGUL RIEUL
+03204 PARENTHESIZED HANGUL MIEUM
+03205 PARENTHESIZED HANGUL PIEUP
+03206 PARENTHESIZED HANGUL SIOS
+03207 PARENTHESIZED HANGUL IEUNG
+03208 PARENTHESIZED HANGUL CIEUC
+03209 PARENTHESIZED HANGUL CHIEUCH
+0320A PARENTHESIZED HANGUL KHIEUKH
+0320B PARENTHESIZED HANGUL THIEUTH
+0320C PARENTHESIZED HANGUL PHIEUPH
+0320D PARENTHESIZED HANGUL HIEUH
+0320E PARENTHESIZED HANGUL KIYEOK A
+0320F PARENTHESIZED HANGUL NIEUN A
+03210 PARENTHESIZED HANGUL TIKEUT A
+03211 PARENTHESIZED HANGUL RIEUL A
+03212 PARENTHESIZED HANGUL MIEUM A
+03213 PARENTHESIZED HANGUL PIEUP A
+03214 PARENTHESIZED HANGUL SIOS A
+03215 PARENTHESIZED HANGUL IEUNG A
+03216 PARENTHESIZED HANGUL CIEUC A
+03217 PARENTHESIZED HANGUL CHIEUCH A
+03218 PARENTHESIZED HANGUL KHIEUKH A
+03219 PARENTHESIZED HANGUL THIEUTH A
+0321A PARENTHESIZED HANGUL PHIEUPH A
+0321B PARENTHESIZED HANGUL HIEUH A
+0321C PARENTHESIZED HANGUL CIEUC U
+0321D PARENTHESIZED KOREAN CHARACTER OJEON
+0321E PARENTHESIZED KOREAN CHARACTER O HU
+03220 PARENTHESIZED IDEOGRAPH ONE
+03221 PARENTHESIZED IDEOGRAPH TWO
+03222 PARENTHESIZED IDEOGRAPH THREE
+03223 PARENTHESIZED IDEOGRAPH FOUR
+03224 PARENTHESIZED IDEOGRAPH FIVE
+03225 PARENTHESIZED IDEOGRAPH SIX
+03226 PARENTHESIZED IDEOGRAPH SEVEN
+03227 PARENTHESIZED IDEOGRAPH EIGHT
+03228 PARENTHESIZED IDEOGRAPH NINE
+03229 PARENTHESIZED IDEOGRAPH TEN
+0322A PARENTHESIZED IDEOGRAPH MOON
+0322B PARENTHESIZED IDEOGRAPH FIRE
+0322C PARENTHESIZED IDEOGRAPH WATER
+0322D PARENTHESIZED IDEOGRAPH WOOD
+0322E PARENTHESIZED IDEOGRAPH METAL
+0322F PARENTHESIZED IDEOGRAPH EARTH
+03230 PARENTHESIZED IDEOGRAPH SUN
+03231 PARENTHESIZED IDEOGRAPH STOCK
+03232 PARENTHESIZED IDEOGRAPH HAVE
+03233 PARENTHESIZED IDEOGRAPH SOCIETY
+03234 PARENTHESIZED IDEOGRAPH NAME
+03235 PARENTHESIZED IDEOGRAPH SPECIAL
+03236 PARENTHESIZED IDEOGRAPH FINANCIAL
+03237 PARENTHESIZED IDEOGRAPH CONGRATULATION
+03238 PARENTHESIZED IDEOGRAPH LABOR
+03239 PARENTHESIZED IDEOGRAPH REPRESENT
+0323A PARENTHESIZED IDEOGRAPH CALL
+0323B PARENTHESIZED IDEOGRAPH STUDY
+0323C PARENTHESIZED IDEOGRAPH SUPERVISE
+0323D PARENTHESIZED IDEOGRAPH ENTERPRISE
+0323E PARENTHESIZED IDEOGRAPH RESOURCE
+0323F PARENTHESIZED IDEOGRAPH ALLIANCE
+03240 PARENTHESIZED IDEOGRAPH FESTIVAL
+03241 PARENTHESIZED IDEOGRAPH REST
+03242 PARENTHESIZED IDEOGRAPH SELF
+03243 PARENTHESIZED IDEOGRAPH REACH
+03244 CIRCLED IDEOGRAPH QUESTION
+03245 CIRCLED IDEOGRAPH KINDERGARTEN
+03246 CIRCLED IDEOGRAPH SCHOOL
+03247 CIRCLED IDEOGRAPH KOTO
+03248 CIRCLED NUMBER TEN ON BLACK SQUARE
+03249 CIRCLED NUMBER TWENTY ON BLACK SQUARE
+0324A CIRCLED NUMBER THIRTY ON BLACK SQUARE
+0324B CIRCLED NUMBER FORTY ON BLACK SQUARE
+0324C CIRCLED NUMBER FIFTY ON BLACK SQUARE
+0324D CIRCLED NUMBER SIXTY ON BLACK SQUARE
+0324E CIRCLED NUMBER SEVENTY ON BLACK SQUARE
+0324F CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+03250 PARTNERSHIP SIGN
+03251 CIRCLED NUMBER TWENTY ONE
+03252 CIRCLED NUMBER TWENTY TWO
+03253 CIRCLED NUMBER TWENTY THREE
+03254 CIRCLED NUMBER TWENTY FOUR
+03255 CIRCLED NUMBER TWENTY FIVE
+03256 CIRCLED NUMBER TWENTY SIX
+03257 CIRCLED NUMBER TWENTY SEVEN
+03258 CIRCLED NUMBER TWENTY EIGHT
+03259 CIRCLED NUMBER TWENTY NINE
+0325A CIRCLED NUMBER THIRTY
+0325B CIRCLED NUMBER THIRTY ONE
+0325C CIRCLED NUMBER THIRTY TWO
+0325D CIRCLED NUMBER THIRTY THREE
+0325E CIRCLED NUMBER THIRTY FOUR
+0325F CIRCLED NUMBER THIRTY FIVE
+03260 CIRCLED HANGUL KIYEOK
+03261 CIRCLED HANGUL NIEUN
+03262 CIRCLED HANGUL TIKEUT
+03263 CIRCLED HANGUL RIEUL
+03264 CIRCLED HANGUL MIEUM
+03265 CIRCLED HANGUL PIEUP
+03266 CIRCLED HANGUL SIOS
+03267 CIRCLED HANGUL IEUNG
+03268 CIRCLED HANGUL CIEUC
+03269 CIRCLED HANGUL CHIEUCH
+0326A CIRCLED HANGUL KHIEUKH
+0326B CIRCLED HANGUL THIEUTH
+0326C CIRCLED HANGUL PHIEUPH
+0326D CIRCLED HANGUL HIEUH
+0326E CIRCLED HANGUL KIYEOK A
+0326F CIRCLED HANGUL NIEUN A
+03270 CIRCLED HANGUL TIKEUT A
+03271 CIRCLED HANGUL RIEUL A
+03272 CIRCLED HANGUL MIEUM A
+03273 CIRCLED HANGUL PIEUP A
+03274 CIRCLED HANGUL SIOS A
+03275 CIRCLED HANGUL IEUNG A
+03276 CIRCLED HANGUL CIEUC A
+03277 CIRCLED HANGUL CHIEUCH A
+03278 CIRCLED HANGUL KHIEUKH A
+03279 CIRCLED HANGUL THIEUTH A
+0327A CIRCLED HANGUL PHIEUPH A
+0327B CIRCLED HANGUL HIEUH A
+0327C CIRCLED KOREAN CHARACTER CHAMKO
+0327D CIRCLED KOREAN CHARACTER JUEUI
+0327E CIRCLED HANGUL IEUNG U
+0327F KOREAN STANDARD SYMBOL
+03280 CIRCLED IDEOGRAPH ONE
+03281 CIRCLED IDEOGRAPH TWO
+03282 CIRCLED IDEOGRAPH THREE
+03283 CIRCLED IDEOGRAPH FOUR
+03284 CIRCLED IDEOGRAPH FIVE
+03285 CIRCLED IDEOGRAPH SIX
+03286 CIRCLED IDEOGRAPH SEVEN
+03287 CIRCLED IDEOGRAPH EIGHT
+03288 CIRCLED IDEOGRAPH NINE
+03289 CIRCLED IDEOGRAPH TEN
+0328A CIRCLED IDEOGRAPH MOON
+0328B CIRCLED IDEOGRAPH FIRE
+0328C CIRCLED IDEOGRAPH WATER
+0328D CIRCLED IDEOGRAPH WOOD
+0328E CIRCLED IDEOGRAPH METAL
+0328F CIRCLED IDEOGRAPH EARTH
+03290 CIRCLED IDEOGRAPH SUN
+03291 CIRCLED IDEOGRAPH STOCK
+03292 CIRCLED IDEOGRAPH HAVE
+03293 CIRCLED IDEOGRAPH SOCIETY
+03294 CIRCLED IDEOGRAPH NAME
+03295 CIRCLED IDEOGRAPH SPECIAL
+03296 CIRCLED IDEOGRAPH FINANCIAL
+03297 CIRCLED IDEOGRAPH CONGRATULATION
+03298 CIRCLED IDEOGRAPH LABOR
+03299 CIRCLED IDEOGRAPH SECRET
+0329A CIRCLED IDEOGRAPH MALE
+0329B CIRCLED IDEOGRAPH FEMALE
+0329C CIRCLED IDEOGRAPH SUITABLE
+0329D CIRCLED IDEOGRAPH EXCELLENT
+0329E CIRCLED IDEOGRAPH PRINT
+0329F CIRCLED IDEOGRAPH ATTENTION
+032A0 CIRCLED IDEOGRAPH ITEM
+032A1 CIRCLED IDEOGRAPH REST
+032A2 CIRCLED IDEOGRAPH COPY
+032A3 CIRCLED IDEOGRAPH CORRECT
+032A4 CIRCLED IDEOGRAPH HIGH
+032A5 CIRCLED IDEOGRAPH CENTRE
+032A6 CIRCLED IDEOGRAPH LOW
+032A7 CIRCLED IDEOGRAPH LEFT
+032A8 CIRCLED IDEOGRAPH RIGHT
+032A9 CIRCLED IDEOGRAPH MEDICINE
+032AA CIRCLED IDEOGRAPH RELIGION
+032AB CIRCLED IDEOGRAPH STUDY
+032AC CIRCLED IDEOGRAPH SUPERVISE
+032AD CIRCLED IDEOGRAPH ENTERPRISE
+032AE CIRCLED IDEOGRAPH RESOURCE
+032AF CIRCLED IDEOGRAPH ALLIANCE
+032B0 CIRCLED IDEOGRAPH NIGHT
+032B1 CIRCLED NUMBER THIRTY SIX
+032B2 CIRCLED NUMBER THIRTY SEVEN
+032B3 CIRCLED NUMBER THIRTY EIGHT
+032B4 CIRCLED NUMBER THIRTY NINE
+032B5 CIRCLED NUMBER FORTY
+032B6 CIRCLED NUMBER FORTY ONE
+032B7 CIRCLED NUMBER FORTY TWO
+032B8 CIRCLED NUMBER FORTY THREE
+032B9 CIRCLED NUMBER FORTY FOUR
+032BA CIRCLED NUMBER FORTY FIVE
+032BB CIRCLED NUMBER FORTY SIX
+032BC CIRCLED NUMBER FORTY SEVEN
+032BD CIRCLED NUMBER FORTY EIGHT
+032BE CIRCLED NUMBER FORTY NINE
+032BF CIRCLED NUMBER FIFTY
+032C0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+032C1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+032C2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+032C3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+032C4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+032C5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+032C6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+032C7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+032C8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+032C9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+032CA IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+032CB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+032CC SQUARE HG
+032CD SQUARE ERG
+032CE SQUARE EV
+032CF LIMITED LIABILITY SIGN
+032D0 CIRCLED KATAKANA A
+032D1 CIRCLED KATAKANA I
+032D2 CIRCLED KATAKANA U
+032D3 CIRCLED KATAKANA E
+032D4 CIRCLED KATAKANA O
+032D5 CIRCLED KATAKANA KA
+032D6 CIRCLED KATAKANA KI
+032D7 CIRCLED KATAKANA KU
+032D8 CIRCLED KATAKANA KE
+032D9 CIRCLED KATAKANA KO
+032DA CIRCLED KATAKANA SA
+032DB CIRCLED KATAKANA SI
+032DC CIRCLED KATAKANA SU
+032DD CIRCLED KATAKANA SE
+032DE CIRCLED KATAKANA SO
+032DF CIRCLED KATAKANA TA
+032E0 CIRCLED KATAKANA TI
+032E1 CIRCLED KATAKANA TU
+032E2 CIRCLED KATAKANA TE
+032E3 CIRCLED KATAKANA TO
+032E4 CIRCLED KATAKANA NA
+032E5 CIRCLED KATAKANA NI
+032E6 CIRCLED KATAKANA NU
+032E7 CIRCLED KATAKANA NE
+032E8 CIRCLED KATAKANA NO
+032E9 CIRCLED KATAKANA HA
+032EA CIRCLED KATAKANA HI
+032EB CIRCLED KATAKANA HU
+032EC CIRCLED KATAKANA HE
+032ED CIRCLED KATAKANA HO
+032EE CIRCLED KATAKANA MA
+032EF CIRCLED KATAKANA MI
+032F0 CIRCLED KATAKANA MU
+032F1 CIRCLED KATAKANA ME
+032F2 CIRCLED KATAKANA MO
+032F3 CIRCLED KATAKANA YA
+032F4 CIRCLED KATAKANA YU
+032F5 CIRCLED KATAKANA YO
+032F6 CIRCLED KATAKANA RA
+032F7 CIRCLED KATAKANA RI
+032F8 CIRCLED KATAKANA RU
+032F9 CIRCLED KATAKANA RE
+032FA CIRCLED KATAKANA RO
+032FB CIRCLED KATAKANA WA
+032FC CIRCLED KATAKANA WI
+032FD CIRCLED KATAKANA WE
+032FE CIRCLED KATAKANA WO
+03300 SQUARE APAATO
+03301 SQUARE ARUHUA
+03302 SQUARE ANPEA
+03303 SQUARE AARU
+03304 SQUARE ININGU
+03305 SQUARE INTI
+03306 SQUARE UON
+03307 SQUARE ESUKUUDO
+03308 SQUARE EEKAA
+03309 SQUARE ONSU
+0330A SQUARE OOMU
+0330B SQUARE KAIRI
+0330C SQUARE KARATTO
+0330D SQUARE KARORII
+0330E SQUARE GARON
+0330F SQUARE GANMA
+03310 SQUARE GIGA
+03311 SQUARE GINII
+03312 SQUARE KYURII
+03313 SQUARE GIRUDAA
+03314 SQUARE KIRO
+03315 SQUARE KIROGURAMU
+03316 SQUARE KIROMEETORU
+03317 SQUARE KIROWATTO
+03318 SQUARE GURAMU
+03319 SQUARE GURAMUTON
+0331A SQUARE KURUZEIRO
+0331B SQUARE KUROONE
+0331C SQUARE KEESU
+0331D SQUARE KORUNA
+0331E SQUARE KOOPO
+0331F SQUARE SAIKURU
+03320 SQUARE SANTIIMU
+03321 SQUARE SIRINGU
+03322 SQUARE SENTI
+03323 SQUARE SENTO
+03324 SQUARE DAASU
+03325 SQUARE DESI
+03326 SQUARE DORU
+03327 SQUARE TON
+03328 SQUARE NANO
+03329 SQUARE NOTTO
+0332A SQUARE HAITU
+0332B SQUARE PAASENTO
+0332C SQUARE PAATU
+0332D SQUARE BAARERU
+0332E SQUARE PIASUTORU
+0332F SQUARE PIKURU
+03330 SQUARE PIKO
+03331 SQUARE BIRU
+03332 SQUARE HUARADDO
+03333 SQUARE HUIITO
+03334 SQUARE BUSSYERU
+03335 SQUARE HURAN
+03336 SQUARE HEKUTAARU
+03337 SQUARE PESO
+03338 SQUARE PENIHI
+03339 SQUARE HERUTU
+0333A SQUARE PENSU
+0333B SQUARE PEEZI
+0333C SQUARE BEETA
+0333D SQUARE POINTO
+0333E SQUARE BORUTO
+0333F SQUARE HON
+03340 SQUARE PONDO
+03341 SQUARE HOORU
+03342 SQUARE HOON
+03343 SQUARE MAIKURO
+03344 SQUARE MAIRU
+03345 SQUARE MAHHA
+03346 SQUARE MARUKU
+03347 SQUARE MANSYON
+03348 SQUARE MIKURON
+03349 SQUARE MIRI
+0334A SQUARE MIRIBAARU
+0334B SQUARE MEGA
+0334C SQUARE MEGATON
+0334D SQUARE MEETORU
+0334E SQUARE YAADO
+0334F SQUARE YAARU
+03350 SQUARE YUAN
+03351 SQUARE RITTORU
+03352 SQUARE RIRA
+03353 SQUARE RUPII
+03354 SQUARE RUUBURU
+03355 SQUARE REMU
+03356 SQUARE RENTOGEN
+03357 SQUARE WATTO
+03358 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+03359 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+0335A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+0335B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+0335C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+0335D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+0335E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+0335F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+03360 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+03361 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+03362 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+03363 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+03364 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+03365 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+03366 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+03367 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+03368 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+03369 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+0336A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+0336B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+0336C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+0336D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+0336E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+0336F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+03370 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+03371 SQUARE HPA
+03372 SQUARE DA
+03373 SQUARE AU
+03374 SQUARE BAR
+03375 SQUARE OV
+03376 SQUARE PC
+03377 SQUARE DM
+03378 SQUARE DM SQUARED
+03379 SQUARE DM CUBED
+0337A SQUARE IU
+0337B SQUARE ERA NAME HEISEI
+0337C SQUARE ERA NAME SYOUWA
+0337D SQUARE ERA NAME TAISYOU
+0337E SQUARE ERA NAME MEIZI
+0337F SQUARE CORPORATION
+03380 SQUARE PA AMPS
+03381 SQUARE NA
+03382 SQUARE MU A
+03383 SQUARE MA
+03384 SQUARE KA
+03385 SQUARE KB
+03386 SQUARE MB
+03387 SQUARE GB
+03388 SQUARE CAL
+03389 SQUARE KCAL
+0338A SQUARE PF
+0338B SQUARE NF
+0338C SQUARE MU F
+0338D SQUARE MU G
+0338E SQUARE MG
+0338F SQUARE KG
+03390 SQUARE HZ
+03391 SQUARE KHZ
+03392 SQUARE MHZ
+03393 SQUARE GHZ
+03394 SQUARE THZ
+03395 SQUARE MU L
+03396 SQUARE ML
+03397 SQUARE DL
+03398 SQUARE KL
+03399 SQUARE FM
+0339A SQUARE NM
+0339B SQUARE MU M
+0339C SQUARE MM
+0339D SQUARE CM
+0339E SQUARE KM
+0339F SQUARE MM SQUARED
+033A0 SQUARE CM SQUARED
+033A1 SQUARE M SQUARED
+033A2 SQUARE KM SQUARED
+033A3 SQUARE MM CUBED
+033A4 SQUARE CM CUBED
+033A5 SQUARE M CUBED
+033A6 SQUARE KM CUBED
+033A7 SQUARE M OVER S
+033A8 SQUARE M OVER S SQUARED
+033A9 SQUARE PA
+033AA SQUARE KPA
+033AB SQUARE MPA
+033AC SQUARE GPA
+033AD SQUARE RAD
+033AE SQUARE RAD OVER S
+033AF SQUARE RAD OVER S SQUARED
+033B0 SQUARE PS
+033B1 SQUARE NS
+033B2 SQUARE MU S
+033B3 SQUARE MS
+033B4 SQUARE PV
+033B5 SQUARE NV
+033B6 SQUARE MU V
+033B7 SQUARE MV
+033B8 SQUARE KV
+033B9 SQUARE MV MEGA
+033BA SQUARE PW
+033BB SQUARE NW
+033BC SQUARE MU W
+033BD SQUARE MW
+033BE SQUARE KW
+033BF SQUARE MW MEGA
+033C0 SQUARE K OHM
+033C1 SQUARE M OHM
+033C2 SQUARE AM
+033C3 SQUARE BQ
+033C4 SQUARE CC
+033C5 SQUARE CD
+033C6 SQUARE C OVER KG
+033C7 SQUARE CO
+033C8 SQUARE DB
+033C9 SQUARE GY
+033CA SQUARE HA
+033CB SQUARE HP
+033CC SQUARE IN
+033CD SQUARE KK
+033CE SQUARE KM CAPITAL
+033CF SQUARE KT
+033D0 SQUARE LM
+033D1 SQUARE LN
+033D2 SQUARE LOG
+033D3 SQUARE LX
+033D4 SQUARE MB SMALL
+033D5 SQUARE MIL
+033D6 SQUARE MOL
+033D7 SQUARE PH
+033D8 SQUARE PM
+033D9 SQUARE PPM
+033DA SQUARE PR
+033DB SQUARE SR
+033DC SQUARE SV
+033DD SQUARE WB
+033DE SQUARE V OVER M
+033DF SQUARE A OVER M
+033E0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+033E1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+033E2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+033E3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+033E4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+033E5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+033E6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+033E7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+033E8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+033E9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+033EA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+033EB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+033EC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+033ED IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+033EE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+033EF IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+033F0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+033F1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+033F2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+033F3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+033F4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+033F5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+033F6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+033F7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+033F8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+033F9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+033FA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+033FB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+033FC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+033FD IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+033FE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+033FF SQUARE GAL
+04DC0 HEXAGRAM FOR THE CREATIVE HEAVEN
+04DC1 HEXAGRAM FOR THE RECEPTIVE EARTH
+04DC2 HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
+04DC3 HEXAGRAM FOR YOUTHFUL FOLLY
+04DC4 HEXAGRAM FOR WAITING
+04DC5 HEXAGRAM FOR CONFLICT
+04DC6 HEXAGRAM FOR THE ARMY
+04DC7 HEXAGRAM FOR HOLDING TOGETHER
+04DC8 HEXAGRAM FOR SMALL TAMING
+04DC9 HEXAGRAM FOR TREADING
+04DCA HEXAGRAM FOR PEACE
+04DCB HEXAGRAM FOR STANDSTILL
+04DCC HEXAGRAM FOR FELLOWSHIP
+04DCD HEXAGRAM FOR GREAT POSSESSION
+04DCE HEXAGRAM FOR MODESTY
+04DCF HEXAGRAM FOR ENTHUSIASM
+04DD0 HEXAGRAM FOR FOLLOWING
+04DD1 HEXAGRAM FOR WORK ON THE DECAYED
+04DD2 HEXAGRAM FOR APPROACH
+04DD3 HEXAGRAM FOR CONTEMPLATION
+04DD4 HEXAGRAM FOR BITING THROUGH
+04DD5 HEXAGRAM FOR GRACE
+04DD6 HEXAGRAM FOR SPLITTING APART
+04DD7 HEXAGRAM FOR RETURN
+04DD8 HEXAGRAM FOR INNOCENCE
+04DD9 HEXAGRAM FOR GREAT TAMING
+04DDA HEXAGRAM FOR MOUTH CORNERS
+04DDB HEXAGRAM FOR GREAT PREPONDERANCE
+04DDC HEXAGRAM FOR THE ABYSMAL WATER
+04DDD HEXAGRAM FOR THE CLINGING FIRE
+04DDE HEXAGRAM FOR INFLUENCE
+04DDF HEXAGRAM FOR DURATION
+04DE0 HEXAGRAM FOR RETREAT
+04DE1 HEXAGRAM FOR GREAT POWER
+04DE2 HEXAGRAM FOR PROGRESS
+04DE3 HEXAGRAM FOR DARKENING OF THE LIGHT
+04DE4 HEXAGRAM FOR THE FAMILY
+04DE5 HEXAGRAM FOR OPPOSITION
+04DE6 HEXAGRAM FOR OBSTRUCTION
+04DE7 HEXAGRAM FOR DELIVERANCE
+04DE8 HEXAGRAM FOR DECREASE
+04DE9 HEXAGRAM FOR INCREASE
+04DEA HEXAGRAM FOR BREAKTHROUGH
+04DEB HEXAGRAM FOR COMING TO MEET
+04DEC HEXAGRAM FOR GATHERING TOGETHER
+04DED HEXAGRAM FOR PUSHING UPWARD
+04DEE HEXAGRAM FOR OPPRESSION
+04DEF HEXAGRAM FOR THE WELL
+04DF0 HEXAGRAM FOR REVOLUTION
+04DF1 HEXAGRAM FOR THE CAULDRON
+04DF2 HEXAGRAM FOR THE AROUSING THUNDER
+04DF3 HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
+04DF4 HEXAGRAM FOR DEVELOPMENT
+04DF5 HEXAGRAM FOR THE MARRYING MAIDEN
+04DF6 HEXAGRAM FOR ABUNDANCE
+04DF7 HEXAGRAM FOR THE WANDERER
+04DF8 HEXAGRAM FOR THE GENTLE WIND
+04DF9 HEXAGRAM FOR THE JOYOUS LAKE
+04DFA HEXAGRAM FOR DISPERSION
+04DFB HEXAGRAM FOR LIMITATION
+04DFC HEXAGRAM FOR INNER TRUTH
+04DFD HEXAGRAM FOR SMALL PREPONDERANCE
+04DFE HEXAGRAM FOR AFTER COMPLETION
+04DFF HEXAGRAM FOR BEFORE COMPLETION
+0A000 YI SYLLABLE IT
+0A001 YI SYLLABLE IX
+0A002 YI SYLLABLE I
+0A003 YI SYLLABLE IP
+0A004 YI SYLLABLE IET
+0A005 YI SYLLABLE IEX
+0A006 YI SYLLABLE IE
+0A007 YI SYLLABLE IEP
+0A008 YI SYLLABLE AT
+0A009 YI SYLLABLE AX
+0A00A YI SYLLABLE A
+0A00B YI SYLLABLE AP
+0A00C YI SYLLABLE UOX
+0A00D YI SYLLABLE UO
+0A00E YI SYLLABLE UOP
+0A00F YI SYLLABLE OT
+0A010 YI SYLLABLE OX
+0A011 YI SYLLABLE O
+0A012 YI SYLLABLE OP
+0A013 YI SYLLABLE EX
+0A014 YI SYLLABLE E
+0A015 YI SYLLABLE ITERATION MARK
+0A015 YI SYLLABLE WU
+0A016 YI SYLLABLE BIT
+0A017 YI SYLLABLE BIX
+0A018 YI SYLLABLE BI
+0A019 YI SYLLABLE BIP
+0A01A YI SYLLABLE BIET
+0A01B YI SYLLABLE BIEX
+0A01C YI SYLLABLE BIE
+0A01D YI SYLLABLE BIEP
+0A01E YI SYLLABLE BAT
+0A01F YI SYLLABLE BAX
+0A020 YI SYLLABLE BA
+0A021 YI SYLLABLE BAP
+0A022 YI SYLLABLE BUOX
+0A023 YI SYLLABLE BUO
+0A024 YI SYLLABLE BUOP
+0A025 YI SYLLABLE BOT
+0A026 YI SYLLABLE BOX
+0A027 YI SYLLABLE BO
+0A028 YI SYLLABLE BOP
+0A029 YI SYLLABLE BEX
+0A02A YI SYLLABLE BE
+0A02B YI SYLLABLE BEP
+0A02C YI SYLLABLE BUT
+0A02D YI SYLLABLE BUX
+0A02E YI SYLLABLE BU
+0A02F YI SYLLABLE BUP
+0A030 YI SYLLABLE BURX
+0A031 YI SYLLABLE BUR
+0A032 YI SYLLABLE BYT
+0A033 YI SYLLABLE BYX
+0A034 YI SYLLABLE BY
+0A035 YI SYLLABLE BYP
+0A036 YI SYLLABLE BYRX
+0A037 YI SYLLABLE BYR
+0A038 YI SYLLABLE PIT
+0A039 YI SYLLABLE PIX
+0A03A YI SYLLABLE PI
+0A03B YI SYLLABLE PIP
+0A03C YI SYLLABLE PIEX
+0A03D YI SYLLABLE PIE
+0A03E YI SYLLABLE PIEP
+0A03F YI SYLLABLE PAT
+0A040 YI SYLLABLE PAX
+0A041 YI SYLLABLE PA
+0A042 YI SYLLABLE PAP
+0A043 YI SYLLABLE PUOX
+0A044 YI SYLLABLE PUO
+0A045 YI SYLLABLE PUOP
+0A046 YI SYLLABLE POT
+0A047 YI SYLLABLE POX
+0A048 YI SYLLABLE PO
+0A049 YI SYLLABLE POP
+0A04A YI SYLLABLE PUT
+0A04B YI SYLLABLE PUX
+0A04C YI SYLLABLE PU
+0A04D YI SYLLABLE PUP
+0A04E YI SYLLABLE PURX
+0A04F YI SYLLABLE PUR
+0A050 YI SYLLABLE PYT
+0A051 YI SYLLABLE PYX
+0A052 YI SYLLABLE PY
+0A053 YI SYLLABLE PYP
+0A054 YI SYLLABLE PYRX
+0A055 YI SYLLABLE PYR
+0A056 YI SYLLABLE BBIT
+0A057 YI SYLLABLE BBIX
+0A058 YI SYLLABLE BBI
+0A059 YI SYLLABLE BBIP
+0A05A YI SYLLABLE BBIET
+0A05B YI SYLLABLE BBIEX
+0A05C YI SYLLABLE BBIE
+0A05D YI SYLLABLE BBIEP
+0A05E YI SYLLABLE BBAT
+0A05F YI SYLLABLE BBAX
+0A060 YI SYLLABLE BBA
+0A061 YI SYLLABLE BBAP
+0A062 YI SYLLABLE BBUOX
+0A063 YI SYLLABLE BBUO
+0A064 YI SYLLABLE BBUOP
+0A065 YI SYLLABLE BBOT
+0A066 YI SYLLABLE BBOX
+0A067 YI SYLLABLE BBO
+0A068 YI SYLLABLE BBOP
+0A069 YI SYLLABLE BBEX
+0A06A YI SYLLABLE BBE
+0A06B YI SYLLABLE BBEP
+0A06C YI SYLLABLE BBUT
+0A06D YI SYLLABLE BBUX
+0A06E YI SYLLABLE BBU
+0A06F YI SYLLABLE BBUP
+0A070 YI SYLLABLE BBURX
+0A071 YI SYLLABLE BBUR
+0A072 YI SYLLABLE BBYT
+0A073 YI SYLLABLE BBYX
+0A074 YI SYLLABLE BBY
+0A075 YI SYLLABLE BBYP
+0A076 YI SYLLABLE NBIT
+0A077 YI SYLLABLE NBIX
+0A078 YI SYLLABLE NBI
+0A079 YI SYLLABLE NBIP
+0A07A YI SYLLABLE NBIEX
+0A07B YI SYLLABLE NBIE
+0A07C YI SYLLABLE NBIEP
+0A07D YI SYLLABLE NBAT
+0A07E YI SYLLABLE NBAX
+0A07F YI SYLLABLE NBA
+0A080 YI SYLLABLE NBAP
+0A081 YI SYLLABLE NBOT
+0A082 YI SYLLABLE NBOX
+0A083 YI SYLLABLE NBO
+0A084 YI SYLLABLE NBOP
+0A085 YI SYLLABLE NBUT
+0A086 YI SYLLABLE NBUX
+0A087 YI SYLLABLE NBU
+0A088 YI SYLLABLE NBUP
+0A089 YI SYLLABLE NBURX
+0A08A YI SYLLABLE NBUR
+0A08B YI SYLLABLE NBYT
+0A08C YI SYLLABLE NBYX
+0A08D YI SYLLABLE NBY
+0A08E YI SYLLABLE NBYP
+0A08F YI SYLLABLE NBYRX
+0A090 YI SYLLABLE NBYR
+0A091 YI SYLLABLE HMIT
+0A092 YI SYLLABLE HMIX
+0A093 YI SYLLABLE HMI
+0A094 YI SYLLABLE HMIP
+0A095 YI SYLLABLE HMIEX
+0A096 YI SYLLABLE HMIE
+0A097 YI SYLLABLE HMIEP
+0A098 YI SYLLABLE HMAT
+0A099 YI SYLLABLE HMAX
+0A09A YI SYLLABLE HMA
+0A09B YI SYLLABLE HMAP
+0A09C YI SYLLABLE HMUOX
+0A09D YI SYLLABLE HMUO
+0A09E YI SYLLABLE HMUOP
+0A09F YI SYLLABLE HMOT
+0A0A0 YI SYLLABLE HMOX
+0A0A1 YI SYLLABLE HMO
+0A0A2 YI SYLLABLE HMOP
+0A0A3 YI SYLLABLE HMUT
+0A0A4 YI SYLLABLE HMUX
+0A0A5 YI SYLLABLE HMU
+0A0A6 YI SYLLABLE HMUP
+0A0A7 YI SYLLABLE HMURX
+0A0A8 YI SYLLABLE HMUR
+0A0A9 YI SYLLABLE HMYX
+0A0AA YI SYLLABLE HMY
+0A0AB YI SYLLABLE HMYP
+0A0AC YI SYLLABLE HMYRX
+0A0AD YI SYLLABLE HMYR
+0A0AE YI SYLLABLE MIT
+0A0AF YI SYLLABLE MIX
+0A0B0 YI SYLLABLE MI
+0A0B1 YI SYLLABLE MIP
+0A0B2 YI SYLLABLE MIEX
+0A0B3 YI SYLLABLE MIE
+0A0B4 YI SYLLABLE MIEP
+0A0B5 YI SYLLABLE MAT
+0A0B6 YI SYLLABLE MAX
+0A0B7 YI SYLLABLE MA
+0A0B8 YI SYLLABLE MAP
+0A0B9 YI SYLLABLE MUOT
+0A0BA YI SYLLABLE MUOX
+0A0BB YI SYLLABLE MUO
+0A0BC YI SYLLABLE MUOP
+0A0BD YI SYLLABLE MOT
+0A0BE YI SYLLABLE MOX
+0A0BF YI SYLLABLE MO
+0A0C0 YI SYLLABLE MOP
+0A0C1 YI SYLLABLE MEX
+0A0C2 YI SYLLABLE ME
+0A0C3 YI SYLLABLE MUT
+0A0C4 YI SYLLABLE MUX
+0A0C5 YI SYLLABLE MU
+0A0C6 YI SYLLABLE MUP
+0A0C7 YI SYLLABLE MURX
+0A0C8 YI SYLLABLE MUR
+0A0C9 YI SYLLABLE MYT
+0A0CA YI SYLLABLE MYX
+0A0CB YI SYLLABLE MY
+0A0CC YI SYLLABLE MYP
+0A0CD YI SYLLABLE FIT
+0A0CE YI SYLLABLE FIX
+0A0CF YI SYLLABLE FI
+0A0D0 YI SYLLABLE FIP
+0A0D1 YI SYLLABLE FAT
+0A0D2 YI SYLLABLE FAX
+0A0D3 YI SYLLABLE FA
+0A0D4 YI SYLLABLE FAP
+0A0D5 YI SYLLABLE FOX
+0A0D6 YI SYLLABLE FO
+0A0D7 YI SYLLABLE FOP
+0A0D8 YI SYLLABLE FUT
+0A0D9 YI SYLLABLE FUX
+0A0DA YI SYLLABLE FU
+0A0DB YI SYLLABLE FUP
+0A0DC YI SYLLABLE FURX
+0A0DD YI SYLLABLE FUR
+0A0DE YI SYLLABLE FYT
+0A0DF YI SYLLABLE FYX
+0A0E0 YI SYLLABLE FY
+0A0E1 YI SYLLABLE FYP
+0A0E2 YI SYLLABLE VIT
+0A0E3 YI SYLLABLE VIX
+0A0E4 YI SYLLABLE VI
+0A0E5 YI SYLLABLE VIP
+0A0E6 YI SYLLABLE VIET
+0A0E7 YI SYLLABLE VIEX
+0A0E8 YI SYLLABLE VIE
+0A0E9 YI SYLLABLE VIEP
+0A0EA YI SYLLABLE VAT
+0A0EB YI SYLLABLE VAX
+0A0EC YI SYLLABLE VA
+0A0ED YI SYLLABLE VAP
+0A0EE YI SYLLABLE VOT
+0A0EF YI SYLLABLE VOX
+0A0F0 YI SYLLABLE VO
+0A0F1 YI SYLLABLE VOP
+0A0F2 YI SYLLABLE VEX
+0A0F3 YI SYLLABLE VEP
+0A0F4 YI SYLLABLE VUT
+0A0F5 YI SYLLABLE VUX
+0A0F6 YI SYLLABLE VU
+0A0F7 YI SYLLABLE VUP
+0A0F8 YI SYLLABLE VURX
+0A0F9 YI SYLLABLE VUR
+0A0FA YI SYLLABLE VYT
+0A0FB YI SYLLABLE VYX
+0A0FC YI SYLLABLE VY
+0A0FD YI SYLLABLE VYP
+0A0FE YI SYLLABLE VYRX
+0A0FF YI SYLLABLE VYR
+0A100 YI SYLLABLE DIT
+0A101 YI SYLLABLE DIX
+0A102 YI SYLLABLE DI
+0A103 YI SYLLABLE DIP
+0A104 YI SYLLABLE DIEX
+0A105 YI SYLLABLE DIE
+0A106 YI SYLLABLE DIEP
+0A107 YI SYLLABLE DAT
+0A108 YI SYLLABLE DAX
+0A109 YI SYLLABLE DA
+0A10A YI SYLLABLE DAP
+0A10B YI SYLLABLE DUOX
+0A10C YI SYLLABLE DUO
+0A10D YI SYLLABLE DOT
+0A10E YI SYLLABLE DOX
+0A10F YI SYLLABLE DO
+0A110 YI SYLLABLE DOP
+0A111 YI SYLLABLE DEX
+0A112 YI SYLLABLE DE
+0A113 YI SYLLABLE DEP
+0A114 YI SYLLABLE DUT
+0A115 YI SYLLABLE DUX
+0A116 YI SYLLABLE DU
+0A117 YI SYLLABLE DUP
+0A118 YI SYLLABLE DURX
+0A119 YI SYLLABLE DUR
+0A11A YI SYLLABLE TIT
+0A11B YI SYLLABLE TIX
+0A11C YI SYLLABLE TI
+0A11D YI SYLLABLE TIP
+0A11E YI SYLLABLE TIEX
+0A11F YI SYLLABLE TIE
+0A120 YI SYLLABLE TIEP
+0A121 YI SYLLABLE TAT
+0A122 YI SYLLABLE TAX
+0A123 YI SYLLABLE TA
+0A124 YI SYLLABLE TAP
+0A125 YI SYLLABLE TUOT
+0A126 YI SYLLABLE TUOX
+0A127 YI SYLLABLE TUO
+0A128 YI SYLLABLE TUOP
+0A129 YI SYLLABLE TOT
+0A12A YI SYLLABLE TOX
+0A12B YI SYLLABLE TO
+0A12C YI SYLLABLE TOP
+0A12D YI SYLLABLE TEX
+0A12E YI SYLLABLE TE
+0A12F YI SYLLABLE TEP
+0A130 YI SYLLABLE TUT
+0A131 YI SYLLABLE TUX
+0A132 YI SYLLABLE TU
+0A133 YI SYLLABLE TUP
+0A134 YI SYLLABLE TURX
+0A135 YI SYLLABLE TUR
+0A136 YI SYLLABLE DDIT
+0A137 YI SYLLABLE DDIX
+0A138 YI SYLLABLE DDI
+0A139 YI SYLLABLE DDIP
+0A13A YI SYLLABLE DDIEX
+0A13B YI SYLLABLE DDIE
+0A13C YI SYLLABLE DDIEP
+0A13D YI SYLLABLE DDAT
+0A13E YI SYLLABLE DDAX
+0A13F YI SYLLABLE DDA
+0A140 YI SYLLABLE DDAP
+0A141 YI SYLLABLE DDUOX
+0A142 YI SYLLABLE DDUO
+0A143 YI SYLLABLE DDUOP
+0A144 YI SYLLABLE DDOT
+0A145 YI SYLLABLE DDOX
+0A146 YI SYLLABLE DDO
+0A147 YI SYLLABLE DDOP
+0A148 YI SYLLABLE DDEX
+0A149 YI SYLLABLE DDE
+0A14A YI SYLLABLE DDEP
+0A14B YI SYLLABLE DDUT
+0A14C YI SYLLABLE DDUX
+0A14D YI SYLLABLE DDU
+0A14E YI SYLLABLE DDUP
+0A14F YI SYLLABLE DDURX
+0A150 YI SYLLABLE DDUR
+0A151 YI SYLLABLE NDIT
+0A152 YI SYLLABLE NDIX
+0A153 YI SYLLABLE NDI
+0A154 YI SYLLABLE NDIP
+0A155 YI SYLLABLE NDIEX
+0A156 YI SYLLABLE NDIE
+0A157 YI SYLLABLE NDAT
+0A158 YI SYLLABLE NDAX
+0A159 YI SYLLABLE NDA
+0A15A YI SYLLABLE NDAP
+0A15B YI SYLLABLE NDOT
+0A15C YI SYLLABLE NDOX
+0A15D YI SYLLABLE NDO
+0A15E YI SYLLABLE NDOP
+0A15F YI SYLLABLE NDEX
+0A160 YI SYLLABLE NDE
+0A161 YI SYLLABLE NDEP
+0A162 YI SYLLABLE NDUT
+0A163 YI SYLLABLE NDUX
+0A164 YI SYLLABLE NDU
+0A165 YI SYLLABLE NDUP
+0A166 YI SYLLABLE NDURX
+0A167 YI SYLLABLE NDUR
+0A168 YI SYLLABLE HNIT
+0A169 YI SYLLABLE HNIX
+0A16A YI SYLLABLE HNI
+0A16B YI SYLLABLE HNIP
+0A16C YI SYLLABLE HNIET
+0A16D YI SYLLABLE HNIEX
+0A16E YI SYLLABLE HNIE
+0A16F YI SYLLABLE HNIEP
+0A170 YI SYLLABLE HNAT
+0A171 YI SYLLABLE HNAX
+0A172 YI SYLLABLE HNA
+0A173 YI SYLLABLE HNAP
+0A174 YI SYLLABLE HNUOX
+0A175 YI SYLLABLE HNUO
+0A176 YI SYLLABLE HNOT
+0A177 YI SYLLABLE HNOX
+0A178 YI SYLLABLE HNOP
+0A179 YI SYLLABLE HNEX
+0A17A YI SYLLABLE HNE
+0A17B YI SYLLABLE HNEP
+0A17C YI SYLLABLE HNUT
+0A17D YI SYLLABLE NIT
+0A17E YI SYLLABLE NIX
+0A17F YI SYLLABLE NI
+0A180 YI SYLLABLE NIP
+0A181 YI SYLLABLE NIEX
+0A182 YI SYLLABLE NIE
+0A183 YI SYLLABLE NIEP
+0A184 YI SYLLABLE NAX
+0A185 YI SYLLABLE NA
+0A186 YI SYLLABLE NAP
+0A187 YI SYLLABLE NUOX
+0A188 YI SYLLABLE NUO
+0A189 YI SYLLABLE NUOP
+0A18A YI SYLLABLE NOT
+0A18B YI SYLLABLE NOX
+0A18C YI SYLLABLE NO
+0A18D YI SYLLABLE NOP
+0A18E YI SYLLABLE NEX
+0A18F YI SYLLABLE NE
+0A190 YI SYLLABLE NEP
+0A191 YI SYLLABLE NUT
+0A192 YI SYLLABLE NUX
+0A193 YI SYLLABLE NU
+0A194 YI SYLLABLE NUP
+0A195 YI SYLLABLE NURX
+0A196 YI SYLLABLE NUR
+0A197 YI SYLLABLE HLIT
+0A198 YI SYLLABLE HLIX
+0A199 YI SYLLABLE HLI
+0A19A YI SYLLABLE HLIP
+0A19B YI SYLLABLE HLIEX
+0A19C YI SYLLABLE HLIE
+0A19D YI SYLLABLE HLIEP
+0A19E YI SYLLABLE HLAT
+0A19F YI SYLLABLE HLAX
+0A1A0 YI SYLLABLE HLA
+0A1A1 YI SYLLABLE HLAP
+0A1A2 YI SYLLABLE HLUOX
+0A1A3 YI SYLLABLE HLUO
+0A1A4 YI SYLLABLE HLUOP
+0A1A5 YI SYLLABLE HLOX
+0A1A6 YI SYLLABLE HLO
+0A1A7 YI SYLLABLE HLOP
+0A1A8 YI SYLLABLE HLEX
+0A1A9 YI SYLLABLE HLE
+0A1AA YI SYLLABLE HLEP
+0A1AB YI SYLLABLE HLUT
+0A1AC YI SYLLABLE HLUX
+0A1AD YI SYLLABLE HLU
+0A1AE YI SYLLABLE HLUP
+0A1AF YI SYLLABLE HLURX
+0A1B0 YI SYLLABLE HLUR
+0A1B1 YI SYLLABLE HLYT
+0A1B2 YI SYLLABLE HLYX
+0A1B3 YI SYLLABLE HLY
+0A1B4 YI SYLLABLE HLYP
+0A1B5 YI SYLLABLE HLYRX
+0A1B6 YI SYLLABLE HLYR
+0A1B7 YI SYLLABLE LIT
+0A1B8 YI SYLLABLE LIX
+0A1B9 YI SYLLABLE LI
+0A1BA YI SYLLABLE LIP
+0A1BB YI SYLLABLE LIET
+0A1BC YI SYLLABLE LIEX
+0A1BD YI SYLLABLE LIE
+0A1BE YI SYLLABLE LIEP
+0A1BF YI SYLLABLE LAT
+0A1C0 YI SYLLABLE LAX
+0A1C1 YI SYLLABLE LA
+0A1C2 YI SYLLABLE LAP
+0A1C3 YI SYLLABLE LUOT
+0A1C4 YI SYLLABLE LUOX
+0A1C5 YI SYLLABLE LUO
+0A1C6 YI SYLLABLE LUOP
+0A1C7 YI SYLLABLE LOT
+0A1C8 YI SYLLABLE LOX
+0A1C9 YI SYLLABLE LO
+0A1CA YI SYLLABLE LOP
+0A1CB YI SYLLABLE LEX
+0A1CC YI SYLLABLE LE
+0A1CD YI SYLLABLE LEP
+0A1CE YI SYLLABLE LUT
+0A1CF YI SYLLABLE LUX
+0A1D0 YI SYLLABLE LU
+0A1D1 YI SYLLABLE LUP
+0A1D2 YI SYLLABLE LURX
+0A1D3 YI SYLLABLE LUR
+0A1D4 YI SYLLABLE LYT
+0A1D5 YI SYLLABLE LYX
+0A1D6 YI SYLLABLE LY
+0A1D7 YI SYLLABLE LYP
+0A1D8 YI SYLLABLE LYRX
+0A1D9 YI SYLLABLE LYR
+0A1DA YI SYLLABLE GIT
+0A1DB YI SYLLABLE GIX
+0A1DC YI SYLLABLE GI
+0A1DD YI SYLLABLE GIP
+0A1DE YI SYLLABLE GIET
+0A1DF YI SYLLABLE GIEX
+0A1E0 YI SYLLABLE GIE
+0A1E1 YI SYLLABLE GIEP
+0A1E2 YI SYLLABLE GAT
+0A1E3 YI SYLLABLE GAX
+0A1E4 YI SYLLABLE GA
+0A1E5 YI SYLLABLE GAP
+0A1E6 YI SYLLABLE GUOT
+0A1E7 YI SYLLABLE GUOX
+0A1E8 YI SYLLABLE GUO
+0A1E9 YI SYLLABLE GUOP
+0A1EA YI SYLLABLE GOT
+0A1EB YI SYLLABLE GOX
+0A1EC YI SYLLABLE GO
+0A1ED YI SYLLABLE GOP
+0A1EE YI SYLLABLE GET
+0A1EF YI SYLLABLE GEX
+0A1F0 YI SYLLABLE GE
+0A1F1 YI SYLLABLE GEP
+0A1F2 YI SYLLABLE GUT
+0A1F3 YI SYLLABLE GUX
+0A1F4 YI SYLLABLE GU
+0A1F5 YI SYLLABLE GUP
+0A1F6 YI SYLLABLE GURX
+0A1F7 YI SYLLABLE GUR
+0A1F8 YI SYLLABLE KIT
+0A1F9 YI SYLLABLE KIX
+0A1FA YI SYLLABLE KI
+0A1FB YI SYLLABLE KIP
+0A1FC YI SYLLABLE KIEX
+0A1FD YI SYLLABLE KIE
+0A1FE YI SYLLABLE KIEP
+0A1FF YI SYLLABLE KAT
+0A200 YI SYLLABLE KAX
+0A201 YI SYLLABLE KA
+0A202 YI SYLLABLE KAP
+0A203 YI SYLLABLE KUOX
+0A204 YI SYLLABLE KUO
+0A205 YI SYLLABLE KUOP
+0A206 YI SYLLABLE KOT
+0A207 YI SYLLABLE KOX
+0A208 YI SYLLABLE KO
+0A209 YI SYLLABLE KOP
+0A20A YI SYLLABLE KET
+0A20B YI SYLLABLE KEX
+0A20C YI SYLLABLE KE
+0A20D YI SYLLABLE KEP
+0A20E YI SYLLABLE KUT
+0A20F YI SYLLABLE KUX
+0A210 YI SYLLABLE KU
+0A211 YI SYLLABLE KUP
+0A212 YI SYLLABLE KURX
+0A213 YI SYLLABLE KUR
+0A214 YI SYLLABLE GGIT
+0A215 YI SYLLABLE GGIX
+0A216 YI SYLLABLE GGI
+0A217 YI SYLLABLE GGIEX
+0A218 YI SYLLABLE GGIE
+0A219 YI SYLLABLE GGIEP
+0A21A YI SYLLABLE GGAT
+0A21B YI SYLLABLE GGAX
+0A21C YI SYLLABLE GGA
+0A21D YI SYLLABLE GGAP
+0A21E YI SYLLABLE GGUOT
+0A21F YI SYLLABLE GGUOX
+0A220 YI SYLLABLE GGUO
+0A221 YI SYLLABLE GGUOP
+0A222 YI SYLLABLE GGOT
+0A223 YI SYLLABLE GGOX
+0A224 YI SYLLABLE GGO
+0A225 YI SYLLABLE GGOP
+0A226 YI SYLLABLE GGET
+0A227 YI SYLLABLE GGEX
+0A228 YI SYLLABLE GGE
+0A229 YI SYLLABLE GGEP
+0A22A YI SYLLABLE GGUT
+0A22B YI SYLLABLE GGUX
+0A22C YI SYLLABLE GGU
+0A22D YI SYLLABLE GGUP
+0A22E YI SYLLABLE GGURX
+0A22F YI SYLLABLE GGUR
+0A230 YI SYLLABLE MGIEX
+0A231 YI SYLLABLE MGIE
+0A232 YI SYLLABLE MGAT
+0A233 YI SYLLABLE MGAX
+0A234 YI SYLLABLE MGA
+0A235 YI SYLLABLE MGAP
+0A236 YI SYLLABLE MGUOX
+0A237 YI SYLLABLE MGUO
+0A238 YI SYLLABLE MGUOP
+0A239 YI SYLLABLE MGOT
+0A23A YI SYLLABLE MGOX
+0A23B YI SYLLABLE MGO
+0A23C YI SYLLABLE MGOP
+0A23D YI SYLLABLE MGEX
+0A23E YI SYLLABLE MGE
+0A23F YI SYLLABLE MGEP
+0A240 YI SYLLABLE MGUT
+0A241 YI SYLLABLE MGUX
+0A242 YI SYLLABLE MGU
+0A243 YI SYLLABLE MGUP
+0A244 YI SYLLABLE MGURX
+0A245 YI SYLLABLE MGUR
+0A246 YI SYLLABLE HXIT
+0A247 YI SYLLABLE HXIX
+0A248 YI SYLLABLE HXI
+0A249 YI SYLLABLE HXIP
+0A24A YI SYLLABLE HXIET
+0A24B YI SYLLABLE HXIEX
+0A24C YI SYLLABLE HXIE
+0A24D YI SYLLABLE HXIEP
+0A24E YI SYLLABLE HXAT
+0A24F YI SYLLABLE HXAX
+0A250 YI SYLLABLE HXA
+0A251 YI SYLLABLE HXAP
+0A252 YI SYLLABLE HXUOT
+0A253 YI SYLLABLE HXUOX
+0A254 YI SYLLABLE HXUO
+0A255 YI SYLLABLE HXUOP
+0A256 YI SYLLABLE HXOT
+0A257 YI SYLLABLE HXOX
+0A258 YI SYLLABLE HXO
+0A259 YI SYLLABLE HXOP
+0A25A YI SYLLABLE HXEX
+0A25B YI SYLLABLE HXE
+0A25C YI SYLLABLE HXEP
+0A25D YI SYLLABLE NGIEX
+0A25E YI SYLLABLE NGIE
+0A25F YI SYLLABLE NGIEP
+0A260 YI SYLLABLE NGAT
+0A261 YI SYLLABLE NGAX
+0A262 YI SYLLABLE NGA
+0A263 YI SYLLABLE NGAP
+0A264 YI SYLLABLE NGUOT
+0A265 YI SYLLABLE NGUOX
+0A266 YI SYLLABLE NGUO
+0A267 YI SYLLABLE NGOT
+0A268 YI SYLLABLE NGOX
+0A269 YI SYLLABLE NGO
+0A26A YI SYLLABLE NGOP
+0A26B YI SYLLABLE NGEX
+0A26C YI SYLLABLE NGE
+0A26D YI SYLLABLE NGEP
+0A26E YI SYLLABLE HIT
+0A26F YI SYLLABLE HIEX
+0A270 YI SYLLABLE HIE
+0A271 YI SYLLABLE HAT
+0A272 YI SYLLABLE HAX
+0A273 YI SYLLABLE HA
+0A274 YI SYLLABLE HAP
+0A275 YI SYLLABLE HUOT
+0A276 YI SYLLABLE HUOX
+0A277 YI SYLLABLE HUO
+0A278 YI SYLLABLE HUOP
+0A279 YI SYLLABLE HOT
+0A27A YI SYLLABLE HOX
+0A27B YI SYLLABLE HO
+0A27C YI SYLLABLE HOP
+0A27D YI SYLLABLE HEX
+0A27E YI SYLLABLE HE
+0A27F YI SYLLABLE HEP
+0A280 YI SYLLABLE WAT
+0A281 YI SYLLABLE WAX
+0A282 YI SYLLABLE WA
+0A283 YI SYLLABLE WAP
+0A284 YI SYLLABLE WUOX
+0A285 YI SYLLABLE WUO
+0A286 YI SYLLABLE WUOP
+0A287 YI SYLLABLE WOX
+0A288 YI SYLLABLE WO
+0A289 YI SYLLABLE WOP
+0A28A YI SYLLABLE WEX
+0A28B YI SYLLABLE WE
+0A28C YI SYLLABLE WEP
+0A28D YI SYLLABLE ZIT
+0A28E YI SYLLABLE ZIX
+0A28F YI SYLLABLE ZI
+0A290 YI SYLLABLE ZIP
+0A291 YI SYLLABLE ZIEX
+0A292 YI SYLLABLE ZIE
+0A293 YI SYLLABLE ZIEP
+0A294 YI SYLLABLE ZAT
+0A295 YI SYLLABLE ZAX
+0A296 YI SYLLABLE ZA
+0A297 YI SYLLABLE ZAP
+0A298 YI SYLLABLE ZUOX
+0A299 YI SYLLABLE ZUO
+0A29A YI SYLLABLE ZUOP
+0A29B YI SYLLABLE ZOT
+0A29C YI SYLLABLE ZOX
+0A29D YI SYLLABLE ZO
+0A29E YI SYLLABLE ZOP
+0A29F YI SYLLABLE ZEX
+0A2A0 YI SYLLABLE ZE
+0A2A1 YI SYLLABLE ZEP
+0A2A2 YI SYLLABLE ZUT
+0A2A3 YI SYLLABLE ZUX
+0A2A4 YI SYLLABLE ZU
+0A2A5 YI SYLLABLE ZUP
+0A2A6 YI SYLLABLE ZURX
+0A2A7 YI SYLLABLE ZUR
+0A2A8 YI SYLLABLE ZYT
+0A2A9 YI SYLLABLE ZYX
+0A2AA YI SYLLABLE ZY
+0A2AB YI SYLLABLE ZYP
+0A2AC YI SYLLABLE ZYRX
+0A2AD YI SYLLABLE ZYR
+0A2AE YI SYLLABLE CIT
+0A2AF YI SYLLABLE CIX
+0A2B0 YI SYLLABLE CI
+0A2B1 YI SYLLABLE CIP
+0A2B2 YI SYLLABLE CIET
+0A2B3 YI SYLLABLE CIEX
+0A2B4 YI SYLLABLE CIE
+0A2B5 YI SYLLABLE CIEP
+0A2B6 YI SYLLABLE CAT
+0A2B7 YI SYLLABLE CAX
+0A2B8 YI SYLLABLE CA
+0A2B9 YI SYLLABLE CAP
+0A2BA YI SYLLABLE CUOX
+0A2BB YI SYLLABLE CUO
+0A2BC YI SYLLABLE CUOP
+0A2BD YI SYLLABLE COT
+0A2BE YI SYLLABLE COX
+0A2BF YI SYLLABLE CO
+0A2C0 YI SYLLABLE COP
+0A2C1 YI SYLLABLE CEX
+0A2C2 YI SYLLABLE CE
+0A2C3 YI SYLLABLE CEP
+0A2C4 YI SYLLABLE CUT
+0A2C5 YI SYLLABLE CUX
+0A2C6 YI SYLLABLE CU
+0A2C7 YI SYLLABLE CUP
+0A2C8 YI SYLLABLE CURX
+0A2C9 YI SYLLABLE CUR
+0A2CA YI SYLLABLE CYT
+0A2CB YI SYLLABLE CYX
+0A2CC YI SYLLABLE CY
+0A2CD YI SYLLABLE CYP
+0A2CE YI SYLLABLE CYRX
+0A2CF YI SYLLABLE CYR
+0A2D0 YI SYLLABLE ZZIT
+0A2D1 YI SYLLABLE ZZIX
+0A2D2 YI SYLLABLE ZZI
+0A2D3 YI SYLLABLE ZZIP
+0A2D4 YI SYLLABLE ZZIET
+0A2D5 YI SYLLABLE ZZIEX
+0A2D6 YI SYLLABLE ZZIE
+0A2D7 YI SYLLABLE ZZIEP
+0A2D8 YI SYLLABLE ZZAT
+0A2D9 YI SYLLABLE ZZAX
+0A2DA YI SYLLABLE ZZA
+0A2DB YI SYLLABLE ZZAP
+0A2DC YI SYLLABLE ZZOX
+0A2DD YI SYLLABLE ZZO
+0A2DE YI SYLLABLE ZZOP
+0A2DF YI SYLLABLE ZZEX
+0A2E0 YI SYLLABLE ZZE
+0A2E1 YI SYLLABLE ZZEP
+0A2E2 YI SYLLABLE ZZUX
+0A2E3 YI SYLLABLE ZZU
+0A2E4 YI SYLLABLE ZZUP
+0A2E5 YI SYLLABLE ZZURX
+0A2E6 YI SYLLABLE ZZUR
+0A2E7 YI SYLLABLE ZZYT
+0A2E8 YI SYLLABLE ZZYX
+0A2E9 YI SYLLABLE ZZY
+0A2EA YI SYLLABLE ZZYP
+0A2EB YI SYLLABLE ZZYRX
+0A2EC YI SYLLABLE ZZYR
+0A2ED YI SYLLABLE NZIT
+0A2EE YI SYLLABLE NZIX
+0A2EF YI SYLLABLE NZI
+0A2F0 YI SYLLABLE NZIP
+0A2F1 YI SYLLABLE NZIEX
+0A2F2 YI SYLLABLE NZIE
+0A2F3 YI SYLLABLE NZIEP
+0A2F4 YI SYLLABLE NZAT
+0A2F5 YI SYLLABLE NZAX
+0A2F6 YI SYLLABLE NZA
+0A2F7 YI SYLLABLE NZAP
+0A2F8 YI SYLLABLE NZUOX
+0A2F9 YI SYLLABLE NZUO
+0A2FA YI SYLLABLE NZOX
+0A2FB YI SYLLABLE NZOP
+0A2FC YI SYLLABLE NZEX
+0A2FD YI SYLLABLE NZE
+0A2FE YI SYLLABLE NZUX
+0A2FF YI SYLLABLE NZU
+0A300 YI SYLLABLE NZUP
+0A301 YI SYLLABLE NZURX
+0A302 YI SYLLABLE NZUR
+0A303 YI SYLLABLE NZYT
+0A304 YI SYLLABLE NZYX
+0A305 YI SYLLABLE NZY
+0A306 YI SYLLABLE NZYP
+0A307 YI SYLLABLE NZYRX
+0A308 YI SYLLABLE NZYR
+0A309 YI SYLLABLE SIT
+0A30A YI SYLLABLE SIX
+0A30B YI SYLLABLE SI
+0A30C YI SYLLABLE SIP
+0A30D YI SYLLABLE SIEX
+0A30E YI SYLLABLE SIE
+0A30F YI SYLLABLE SIEP
+0A310 YI SYLLABLE SAT
+0A311 YI SYLLABLE SAX
+0A312 YI SYLLABLE SA
+0A313 YI SYLLABLE SAP
+0A314 YI SYLLABLE SUOX
+0A315 YI SYLLABLE SUO
+0A316 YI SYLLABLE SUOP
+0A317 YI SYLLABLE SOT
+0A318 YI SYLLABLE SOX
+0A319 YI SYLLABLE SO
+0A31A YI SYLLABLE SOP
+0A31B YI SYLLABLE SEX
+0A31C YI SYLLABLE SE
+0A31D YI SYLLABLE SEP
+0A31E YI SYLLABLE SUT
+0A31F YI SYLLABLE SUX
+0A320 YI SYLLABLE SU
+0A321 YI SYLLABLE SUP
+0A322 YI SYLLABLE SURX
+0A323 YI SYLLABLE SUR
+0A324 YI SYLLABLE SYT
+0A325 YI SYLLABLE SYX
+0A326 YI SYLLABLE SY
+0A327 YI SYLLABLE SYP
+0A328 YI SYLLABLE SYRX
+0A329 YI SYLLABLE SYR
+0A32A YI SYLLABLE SSIT
+0A32B YI SYLLABLE SSIX
+0A32C YI SYLLABLE SSI
+0A32D YI SYLLABLE SSIP
+0A32E YI SYLLABLE SSIEX
+0A32F YI SYLLABLE SSIE
+0A330 YI SYLLABLE SSIEP
+0A331 YI SYLLABLE SSAT
+0A332 YI SYLLABLE SSAX
+0A333 YI SYLLABLE SSA
+0A334 YI SYLLABLE SSAP
+0A335 YI SYLLABLE SSOT
+0A336 YI SYLLABLE SSOX
+0A337 YI SYLLABLE SSO
+0A338 YI SYLLABLE SSOP
+0A339 YI SYLLABLE SSEX
+0A33A YI SYLLABLE SSE
+0A33B YI SYLLABLE SSEP
+0A33C YI SYLLABLE SSUT
+0A33D YI SYLLABLE SSUX
+0A33E YI SYLLABLE SSU
+0A33F YI SYLLABLE SSUP
+0A340 YI SYLLABLE SSYT
+0A341 YI SYLLABLE SSYX
+0A342 YI SYLLABLE SSY
+0A343 YI SYLLABLE SSYP
+0A344 YI SYLLABLE SSYRX
+0A345 YI SYLLABLE SSYR
+0A346 YI SYLLABLE ZHAT
+0A347 YI SYLLABLE ZHAX
+0A348 YI SYLLABLE ZHA
+0A349 YI SYLLABLE ZHAP
+0A34A YI SYLLABLE ZHUOX
+0A34B YI SYLLABLE ZHUO
+0A34C YI SYLLABLE ZHUOP
+0A34D YI SYLLABLE ZHOT
+0A34E YI SYLLABLE ZHOX
+0A34F YI SYLLABLE ZHO
+0A350 YI SYLLABLE ZHOP
+0A351 YI SYLLABLE ZHET
+0A352 YI SYLLABLE ZHEX
+0A353 YI SYLLABLE ZHE
+0A354 YI SYLLABLE ZHEP
+0A355 YI SYLLABLE ZHUT
+0A356 YI SYLLABLE ZHUX
+0A357 YI SYLLABLE ZHU
+0A358 YI SYLLABLE ZHUP
+0A359 YI SYLLABLE ZHURX
+0A35A YI SYLLABLE ZHUR
+0A35B YI SYLLABLE ZHYT
+0A35C YI SYLLABLE ZHYX
+0A35D YI SYLLABLE ZHY
+0A35E YI SYLLABLE ZHYP
+0A35F YI SYLLABLE ZHYRX
+0A360 YI SYLLABLE ZHYR
+0A361 YI SYLLABLE CHAT
+0A362 YI SYLLABLE CHAX
+0A363 YI SYLLABLE CHA
+0A364 YI SYLLABLE CHAP
+0A365 YI SYLLABLE CHUOT
+0A366 YI SYLLABLE CHUOX
+0A367 YI SYLLABLE CHUO
+0A368 YI SYLLABLE CHUOP
+0A369 YI SYLLABLE CHOT
+0A36A YI SYLLABLE CHOX
+0A36B YI SYLLABLE CHO
+0A36C YI SYLLABLE CHOP
+0A36D YI SYLLABLE CHET
+0A36E YI SYLLABLE CHEX
+0A36F YI SYLLABLE CHE
+0A370 YI SYLLABLE CHEP
+0A371 YI SYLLABLE CHUX
+0A372 YI SYLLABLE CHU
+0A373 YI SYLLABLE CHUP
+0A374 YI SYLLABLE CHURX
+0A375 YI SYLLABLE CHUR
+0A376 YI SYLLABLE CHYT
+0A377 YI SYLLABLE CHYX
+0A378 YI SYLLABLE CHY
+0A379 YI SYLLABLE CHYP
+0A37A YI SYLLABLE CHYRX
+0A37B YI SYLLABLE CHYR
+0A37C YI SYLLABLE RRAX
+0A37D YI SYLLABLE RRA
+0A37E YI SYLLABLE RRUOX
+0A37F YI SYLLABLE RRUO
+0A380 YI SYLLABLE RROT
+0A381 YI SYLLABLE RROX
+0A382 YI SYLLABLE RRO
+0A383 YI SYLLABLE RROP
+0A384 YI SYLLABLE RRET
+0A385 YI SYLLABLE RREX
+0A386 YI SYLLABLE RRE
+0A387 YI SYLLABLE RREP
+0A388 YI SYLLABLE RRUT
+0A389 YI SYLLABLE RRUX
+0A38A YI SYLLABLE RRU
+0A38B YI SYLLABLE RRUP
+0A38C YI SYLLABLE RRURX
+0A38D YI SYLLABLE RRUR
+0A38E YI SYLLABLE RRYT
+0A38F YI SYLLABLE RRYX
+0A390 YI SYLLABLE RRY
+0A391 YI SYLLABLE RRYP
+0A392 YI SYLLABLE RRYRX
+0A393 YI SYLLABLE RRYR
+0A394 YI SYLLABLE NRAT
+0A395 YI SYLLABLE NRAX
+0A396 YI SYLLABLE NRA
+0A397 YI SYLLABLE NRAP
+0A398 YI SYLLABLE NROX
+0A399 YI SYLLABLE NRO
+0A39A YI SYLLABLE NROP
+0A39B YI SYLLABLE NRET
+0A39C YI SYLLABLE NREX
+0A39D YI SYLLABLE NRE
+0A39E YI SYLLABLE NREP
+0A39F YI SYLLABLE NRUT
+0A3A0 YI SYLLABLE NRUX
+0A3A1 YI SYLLABLE NRU
+0A3A2 YI SYLLABLE NRUP
+0A3A3 YI SYLLABLE NRURX
+0A3A4 YI SYLLABLE NRUR
+0A3A5 YI SYLLABLE NRYT
+0A3A6 YI SYLLABLE NRYX
+0A3A7 YI SYLLABLE NRY
+0A3A8 YI SYLLABLE NRYP
+0A3A9 YI SYLLABLE NRYRX
+0A3AA YI SYLLABLE NRYR
+0A3AB YI SYLLABLE SHAT
+0A3AC YI SYLLABLE SHAX
+0A3AD YI SYLLABLE SHA
+0A3AE YI SYLLABLE SHAP
+0A3AF YI SYLLABLE SHUOX
+0A3B0 YI SYLLABLE SHUO
+0A3B1 YI SYLLABLE SHUOP
+0A3B2 YI SYLLABLE SHOT
+0A3B3 YI SYLLABLE SHOX
+0A3B4 YI SYLLABLE SHO
+0A3B5 YI SYLLABLE SHOP
+0A3B6 YI SYLLABLE SHET
+0A3B7 YI SYLLABLE SHEX
+0A3B8 YI SYLLABLE SHE
+0A3B9 YI SYLLABLE SHEP
+0A3BA YI SYLLABLE SHUT
+0A3BB YI SYLLABLE SHUX
+0A3BC YI SYLLABLE SHU
+0A3BD YI SYLLABLE SHUP
+0A3BE YI SYLLABLE SHURX
+0A3BF YI SYLLABLE SHUR
+0A3C0 YI SYLLABLE SHYT
+0A3C1 YI SYLLABLE SHYX
+0A3C2 YI SYLLABLE SHY
+0A3C3 YI SYLLABLE SHYP
+0A3C4 YI SYLLABLE SHYRX
+0A3C5 YI SYLLABLE SHYR
+0A3C6 YI SYLLABLE RAT
+0A3C7 YI SYLLABLE RAX
+0A3C8 YI SYLLABLE RA
+0A3C9 YI SYLLABLE RAP
+0A3CA YI SYLLABLE RUOX
+0A3CB YI SYLLABLE RUO
+0A3CC YI SYLLABLE RUOP
+0A3CD YI SYLLABLE ROT
+0A3CE YI SYLLABLE ROX
+0A3CF YI SYLLABLE RO
+0A3D0 YI SYLLABLE ROP
+0A3D1 YI SYLLABLE REX
+0A3D2 YI SYLLABLE RE
+0A3D3 YI SYLLABLE REP
+0A3D4 YI SYLLABLE RUT
+0A3D5 YI SYLLABLE RUX
+0A3D6 YI SYLLABLE RU
+0A3D7 YI SYLLABLE RUP
+0A3D8 YI SYLLABLE RURX
+0A3D9 YI SYLLABLE RUR
+0A3DA YI SYLLABLE RYT
+0A3DB YI SYLLABLE RYX
+0A3DC YI SYLLABLE RY
+0A3DD YI SYLLABLE RYP
+0A3DE YI SYLLABLE RYRX
+0A3DF YI SYLLABLE RYR
+0A3E0 YI SYLLABLE JIT
+0A3E1 YI SYLLABLE JIX
+0A3E2 YI SYLLABLE JI
+0A3E3 YI SYLLABLE JIP
+0A3E4 YI SYLLABLE JIET
+0A3E5 YI SYLLABLE JIEX
+0A3E6 YI SYLLABLE JIE
+0A3E7 YI SYLLABLE JIEP
+0A3E8 YI SYLLABLE JUOT
+0A3E9 YI SYLLABLE JUOX
+0A3EA YI SYLLABLE JUO
+0A3EB YI SYLLABLE JUOP
+0A3EC YI SYLLABLE JOT
+0A3ED YI SYLLABLE JOX
+0A3EE YI SYLLABLE JO
+0A3EF YI SYLLABLE JOP
+0A3F0 YI SYLLABLE JUT
+0A3F1 YI SYLLABLE JUX
+0A3F2 YI SYLLABLE JU
+0A3F3 YI SYLLABLE JUP
+0A3F4 YI SYLLABLE JURX
+0A3F5 YI SYLLABLE JUR
+0A3F6 YI SYLLABLE JYT
+0A3F7 YI SYLLABLE JYX
+0A3F8 YI SYLLABLE JY
+0A3F9 YI SYLLABLE JYP
+0A3FA YI SYLLABLE JYRX
+0A3FB YI SYLLABLE JYR
+0A3FC YI SYLLABLE QIT
+0A3FD YI SYLLABLE QIX
+0A3FE YI SYLLABLE QI
+0A3FF YI SYLLABLE QIP
+0A400 YI SYLLABLE QIET
+0A401 YI SYLLABLE QIEX
+0A402 YI SYLLABLE QIE
+0A403 YI SYLLABLE QIEP
+0A404 YI SYLLABLE QUOT
+0A405 YI SYLLABLE QUOX
+0A406 YI SYLLABLE QUO
+0A407 YI SYLLABLE QUOP
+0A408 YI SYLLABLE QOT
+0A409 YI SYLLABLE QOX
+0A40A YI SYLLABLE QO
+0A40B YI SYLLABLE QOP
+0A40C YI SYLLABLE QUT
+0A40D YI SYLLABLE QUX
+0A40E YI SYLLABLE QU
+0A40F YI SYLLABLE QUP
+0A410 YI SYLLABLE QURX
+0A411 YI SYLLABLE QUR
+0A412 YI SYLLABLE QYT
+0A413 YI SYLLABLE QYX
+0A414 YI SYLLABLE QY
+0A415 YI SYLLABLE QYP
+0A416 YI SYLLABLE QYRX
+0A417 YI SYLLABLE QYR
+0A418 YI SYLLABLE JJIT
+0A419 YI SYLLABLE JJIX
+0A41A YI SYLLABLE JJI
+0A41B YI SYLLABLE JJIP
+0A41C YI SYLLABLE JJIET
+0A41D YI SYLLABLE JJIEX
+0A41E YI SYLLABLE JJIE
+0A41F YI SYLLABLE JJIEP
+0A420 YI SYLLABLE JJUOX
+0A421 YI SYLLABLE JJUO
+0A422 YI SYLLABLE JJUOP
+0A423 YI SYLLABLE JJOT
+0A424 YI SYLLABLE JJOX
+0A425 YI SYLLABLE JJO
+0A426 YI SYLLABLE JJOP
+0A427 YI SYLLABLE JJUT
+0A428 YI SYLLABLE JJUX
+0A429 YI SYLLABLE JJU
+0A42A YI SYLLABLE JJUP
+0A42B YI SYLLABLE JJURX
+0A42C YI SYLLABLE JJUR
+0A42D YI SYLLABLE JJYT
+0A42E YI SYLLABLE JJYX
+0A42F YI SYLLABLE JJY
+0A430 YI SYLLABLE JJYP
+0A431 YI SYLLABLE NJIT
+0A432 YI SYLLABLE NJIX
+0A433 YI SYLLABLE NJI
+0A434 YI SYLLABLE NJIP
+0A435 YI SYLLABLE NJIET
+0A436 YI SYLLABLE NJIEX
+0A437 YI SYLLABLE NJIE
+0A438 YI SYLLABLE NJIEP
+0A439 YI SYLLABLE NJUOX
+0A43A YI SYLLABLE NJUO
+0A43B YI SYLLABLE NJOT
+0A43C YI SYLLABLE NJOX
+0A43D YI SYLLABLE NJO
+0A43E YI SYLLABLE NJOP
+0A43F YI SYLLABLE NJUX
+0A440 YI SYLLABLE NJU
+0A441 YI SYLLABLE NJUP
+0A442 YI SYLLABLE NJURX
+0A443 YI SYLLABLE NJUR
+0A444 YI SYLLABLE NJYT
+0A445 YI SYLLABLE NJYX
+0A446 YI SYLLABLE NJY
+0A447 YI SYLLABLE NJYP
+0A448 YI SYLLABLE NJYRX
+0A449 YI SYLLABLE NJYR
+0A44A YI SYLLABLE NYIT
+0A44B YI SYLLABLE NYIX
+0A44C YI SYLLABLE NYI
+0A44D YI SYLLABLE NYIP
+0A44E YI SYLLABLE NYIET
+0A44F YI SYLLABLE NYIEX
+0A450 YI SYLLABLE NYIE
+0A451 YI SYLLABLE NYIEP
+0A452 YI SYLLABLE NYUOX
+0A453 YI SYLLABLE NYUO
+0A454 YI SYLLABLE NYUOP
+0A455 YI SYLLABLE NYOT
+0A456 YI SYLLABLE NYOX
+0A457 YI SYLLABLE NYO
+0A458 YI SYLLABLE NYOP
+0A459 YI SYLLABLE NYUT
+0A45A YI SYLLABLE NYUX
+0A45B YI SYLLABLE NYU
+0A45C YI SYLLABLE NYUP
+0A45D YI SYLLABLE XIT
+0A45E YI SYLLABLE XIX
+0A45F YI SYLLABLE XI
+0A460 YI SYLLABLE XIP
+0A461 YI SYLLABLE XIET
+0A462 YI SYLLABLE XIEX
+0A463 YI SYLLABLE XIE
+0A464 YI SYLLABLE XIEP
+0A465 YI SYLLABLE XUOX
+0A466 YI SYLLABLE XUO
+0A467 YI SYLLABLE XOT
+0A468 YI SYLLABLE XOX
+0A469 YI SYLLABLE XO
+0A46A YI SYLLABLE XOP
+0A46B YI SYLLABLE XYT
+0A46C YI SYLLABLE XYX
+0A46D YI SYLLABLE XY
+0A46E YI SYLLABLE XYP
+0A46F YI SYLLABLE XYRX
+0A470 YI SYLLABLE XYR
+0A471 YI SYLLABLE YIT
+0A472 YI SYLLABLE YIX
+0A473 YI SYLLABLE YI
+0A474 YI SYLLABLE YIP
+0A475 YI SYLLABLE YIET
+0A476 YI SYLLABLE YIEX
+0A477 YI SYLLABLE YIE
+0A478 YI SYLLABLE YIEP
+0A479 YI SYLLABLE YUOT
+0A47A YI SYLLABLE YUOX
+0A47B YI SYLLABLE YUO
+0A47C YI SYLLABLE YUOP
+0A47D YI SYLLABLE YOT
+0A47E YI SYLLABLE YOX
+0A47F YI SYLLABLE YO
+0A480 YI SYLLABLE YOP
+0A481 YI SYLLABLE YUT
+0A482 YI SYLLABLE YUX
+0A483 YI SYLLABLE YU
+0A484 YI SYLLABLE YUP
+0A485 YI SYLLABLE YURX
+0A486 YI SYLLABLE YUR
+0A487 YI SYLLABLE YYT
+0A488 YI SYLLABLE YYX
+0A489 YI SYLLABLE YY
+0A48A YI SYLLABLE YYP
+0A48B YI SYLLABLE YYRX
+0A48C YI SYLLABLE YYR
+0A490 YI RADICAL QOT
+0A491 YI RADICAL LI
+0A492 YI RADICAL KIT
+0A493 YI RADICAL NYIP
+0A494 YI RADICAL CYP
+0A495 YI RADICAL SSI
+0A496 YI RADICAL GGOP
+0A497 YI RADICAL GEP
+0A498 YI RADICAL MI
+0A499 YI RADICAL HXIT
+0A49A YI RADICAL LYR
+0A49B YI RADICAL BBUT
+0A49C YI RADICAL MOP
+0A49D YI RADICAL YO
+0A49E YI RADICAL PUT
+0A49F YI RADICAL HXUO
+0A4A0 YI RADICAL TAT
+0A4A1 YI RADICAL GA
+0A4A2 YI RADICAL ZUP
+0A4A3 YI RADICAL CYT
+0A4A4 YI RADICAL DDUR
+0A4A5 YI RADICAL BUR
+0A4A6 YI RADICAL GGUO
+0A4A7 YI RADICAL NYOP
+0A4A8 YI RADICAL TU
+0A4A9 YI RADICAL OP
+0A4AA YI RADICAL JJUT
+0A4AB YI RADICAL ZOT
+0A4AC YI RADICAL PYT
+0A4AD YI RADICAL HMO
+0A4AE YI RADICAL YIT
+0A4AF YI RADICAL VUR
+0A4B0 YI RADICAL SHY
+0A4B1 YI RADICAL VEP
+0A4B2 YI RADICAL ZA
+0A4B3 YI RADICAL JO
+0A4B4 YI RADICAL NZUP
+0A4B5 YI RADICAL JJY
+0A4B6 YI RADICAL GOT
+0A4B7 YI RADICAL JJIE
+0A4B8 YI RADICAL WO
+0A4B9 YI RADICAL DU
+0A4BA YI RADICAL SHUR
+0A4BB YI RADICAL LIE
+0A4BC YI RADICAL CY
+0A4BD YI RADICAL CUOP
+0A4BE YI RADICAL CIP
+0A4BF YI RADICAL HXOP
+0A4C0 YI RADICAL SHAT
+0A4C1 YI RADICAL ZUR
+0A4C2 YI RADICAL SHOP
+0A4C3 YI RADICAL CHE
+0A4C4 YI RADICAL ZZIET
+0A4C5 YI RADICAL NBIE
+0A4C6 YI RADICAL KE
+0A4D0 LISU LETTER BA
+0A4D1 LISU LETTER PA
+0A4D2 LISU LETTER PHA
+0A4D3 LISU LETTER DA
+0A4D4 LISU LETTER TA
+0A4D5 LISU LETTER THA
+0A4D6 LISU LETTER GA
+0A4D7 LISU LETTER KA
+0A4D8 LISU LETTER KHA
+0A4D9 LISU LETTER JA
+0A4DA LISU LETTER CA
+0A4DB LISU LETTER CHA
+0A4DC LISU LETTER DZA
+0A4DD LISU LETTER TSA
+0A4DE LISU LETTER TSHA
+0A4DF LISU LETTER MA
+0A4E0 LISU LETTER NA
+0A4E1 LISU LETTER LA
+0A4E2 LISU LETTER SA
+0A4E3 LISU LETTER ZHA
+0A4E4 LISU LETTER ZA
+0A4E5 LISU LETTER NGA
+0A4E6 LISU LETTER HA
+0A4E7 LISU LETTER XA
+0A4E8 LISU LETTER HHA
+0A4E9 LISU LETTER FA
+0A4EA LISU LETTER WA
+0A4EB LISU LETTER SHA
+0A4EC LISU LETTER YA
+0A4ED LISU LETTER GHA
+0A4EE LISU LETTER A
+0A4EF LISU LETTER AE
+0A4F0 LISU LETTER E
+0A4F1 LISU LETTER EU
+0A4F2 LISU LETTER I
+0A4F3 LISU LETTER O
+0A4F4 LISU LETTER U
+0A4F5 LISU LETTER UE
+0A4F6 LISU LETTER UH
+0A4F7 LISU LETTER OE
+0A4F8 LISU LETTER TONE MYA TI
+0A4F9 LISU LETTER TONE NA PO
+0A4FA LISU LETTER TONE MYA CYA
+0A4FB LISU LETTER TONE MYA BO
+0A4FC LISU LETTER TONE MYA NA
+0A4FD LISU LETTER TONE MYA JEU
+0A4FE LISU PUNCTUATION COMMA
+0A4FF LISU PUNCTUATION FULL STOP
+0A500 VAI SYLLABLE EE
+0A501 VAI SYLLABLE EEN
+0A502 VAI SYLLABLE HEE
+0A503 VAI SYLLABLE WEE
+0A504 VAI SYLLABLE WEEN
+0A505 VAI SYLLABLE PEE
+0A506 VAI SYLLABLE BHEE
+0A507 VAI SYLLABLE BEE
+0A508 VAI SYLLABLE MBEE
+0A509 VAI SYLLABLE KPEE
+0A50A VAI SYLLABLE MGBEE
+0A50B VAI SYLLABLE GBEE
+0A50C VAI SYLLABLE FEE
+0A50D VAI SYLLABLE VEE
+0A50E VAI SYLLABLE TEE
+0A50F VAI SYLLABLE THEE
+0A510 VAI SYLLABLE DHEE
+0A511 VAI SYLLABLE DHHEE
+0A512 VAI SYLLABLE LEE
+0A513 VAI SYLLABLE REE
+0A514 VAI SYLLABLE DEE
+0A515 VAI SYLLABLE NDEE
+0A516 VAI SYLLABLE SEE
+0A517 VAI SYLLABLE SHEE
+0A518 VAI SYLLABLE ZEE
+0A519 VAI SYLLABLE ZHEE
+0A51A VAI SYLLABLE CEE
+0A51B VAI SYLLABLE JEE
+0A51C VAI SYLLABLE NJEE
+0A51D VAI SYLLABLE YEE
+0A51E VAI SYLLABLE KEE
+0A51F VAI SYLLABLE NGGEE
+0A520 VAI SYLLABLE GEE
+0A521 VAI SYLLABLE MEE
+0A522 VAI SYLLABLE NEE
+0A523 VAI SYLLABLE NYEE
+0A524 VAI SYLLABLE I
+0A525 VAI SYLLABLE IN
+0A526 VAI SYLLABLE HI
+0A527 VAI SYLLABLE HIN
+0A528 VAI SYLLABLE WI
+0A529 VAI SYLLABLE WIN
+0A52A VAI SYLLABLE PI
+0A52B VAI SYLLABLE BHI
+0A52C VAI SYLLABLE BI
+0A52D VAI SYLLABLE MBI
+0A52E VAI SYLLABLE KPI
+0A52F VAI SYLLABLE MGBI
+0A530 VAI SYLLABLE GBI
+0A531 VAI SYLLABLE FI
+0A532 VAI SYLLABLE VI
+0A533 VAI SYLLABLE TI
+0A534 VAI SYLLABLE THI
+0A535 VAI SYLLABLE DHI
+0A536 VAI SYLLABLE DHHI
+0A537 VAI SYLLABLE LI
+0A538 VAI SYLLABLE RI
+0A539 VAI SYLLABLE DI
+0A53A VAI SYLLABLE NDI
+0A53B VAI SYLLABLE SI
+0A53C VAI SYLLABLE SHI
+0A53D VAI SYLLABLE ZI
+0A53E VAI SYLLABLE ZHI
+0A53F VAI SYLLABLE CI
+0A540 VAI SYLLABLE JI
+0A541 VAI SYLLABLE NJI
+0A542 VAI SYLLABLE YI
+0A543 VAI SYLLABLE KI
+0A544 VAI SYLLABLE NGGI
+0A545 VAI SYLLABLE GI
+0A546 VAI SYLLABLE MI
+0A547 VAI SYLLABLE NI
+0A548 VAI SYLLABLE NYI
+0A549 VAI SYLLABLE A
+0A54A VAI SYLLABLE AN
+0A54B VAI SYLLABLE NGAN
+0A54C VAI SYLLABLE HA
+0A54D VAI SYLLABLE HAN
+0A54E VAI SYLLABLE WA
+0A54F VAI SYLLABLE WAN
+0A550 VAI SYLLABLE PA
+0A551 VAI SYLLABLE BHA
+0A552 VAI SYLLABLE BA
+0A553 VAI SYLLABLE MBA
+0A554 VAI SYLLABLE KPA
+0A555 VAI SYLLABLE KPAN
+0A556 VAI SYLLABLE MGBA
+0A557 VAI SYLLABLE GBA
+0A558 VAI SYLLABLE FA
+0A559 VAI SYLLABLE VA
+0A55A VAI SYLLABLE TA
+0A55B VAI SYLLABLE THA
+0A55C VAI SYLLABLE DHA
+0A55D VAI SYLLABLE DHHA
+0A55E VAI SYLLABLE LA
+0A55F VAI SYLLABLE RA
+0A560 VAI SYLLABLE DA
+0A561 VAI SYLLABLE NDA
+0A562 VAI SYLLABLE SA
+0A563 VAI SYLLABLE SHA
+0A564 VAI SYLLABLE ZA
+0A565 VAI SYLLABLE ZHA
+0A566 VAI SYLLABLE CA
+0A567 VAI SYLLABLE JA
+0A568 VAI SYLLABLE NJA
+0A569 VAI SYLLABLE YA
+0A56A VAI SYLLABLE KA
+0A56B VAI SYLLABLE KAN
+0A56C VAI SYLLABLE NGGA
+0A56D VAI SYLLABLE GA
+0A56E VAI SYLLABLE MA
+0A56F VAI SYLLABLE NA
+0A570 VAI SYLLABLE NYA
+0A571 VAI SYLLABLE OO
+0A572 VAI SYLLABLE OON
+0A573 VAI SYLLABLE HOO
+0A574 VAI SYLLABLE WOO
+0A575 VAI SYLLABLE WOON
+0A576 VAI SYLLABLE POO
+0A577 VAI SYLLABLE BHOO
+0A578 VAI SYLLABLE BOO
+0A579 VAI SYLLABLE MBOO
+0A57A VAI SYLLABLE KPOO
+0A57B VAI SYLLABLE MGBOO
+0A57C VAI SYLLABLE GBOO
+0A57D VAI SYLLABLE FOO
+0A57E VAI SYLLABLE VOO
+0A57F VAI SYLLABLE TOO
+0A580 VAI SYLLABLE THOO
+0A581 VAI SYLLABLE DHOO
+0A582 VAI SYLLABLE DHHOO
+0A583 VAI SYLLABLE LOO
+0A584 VAI SYLLABLE ROO
+0A585 VAI SYLLABLE DOO
+0A586 VAI SYLLABLE NDOO
+0A587 VAI SYLLABLE SOO
+0A588 VAI SYLLABLE SHOO
+0A589 VAI SYLLABLE ZOO
+0A58A VAI SYLLABLE ZHOO
+0A58B VAI SYLLABLE COO
+0A58C VAI SYLLABLE JOO
+0A58D VAI SYLLABLE NJOO
+0A58E VAI SYLLABLE YOO
+0A58F VAI SYLLABLE KOO
+0A590 VAI SYLLABLE NGGOO
+0A591 VAI SYLLABLE GOO
+0A592 VAI SYLLABLE MOO
+0A593 VAI SYLLABLE NOO
+0A594 VAI SYLLABLE NYOO
+0A595 VAI SYLLABLE U
+0A596 VAI SYLLABLE UN
+0A597 VAI SYLLABLE HU
+0A598 VAI SYLLABLE HUN
+0A599 VAI SYLLABLE WU
+0A59A VAI SYLLABLE WUN
+0A59B VAI SYLLABLE PU
+0A59C VAI SYLLABLE BHU
+0A59D VAI SYLLABLE BU
+0A59E VAI SYLLABLE MBU
+0A59F VAI SYLLABLE KPU
+0A5A0 VAI SYLLABLE MGBU
+0A5A1 VAI SYLLABLE GBU
+0A5A2 VAI SYLLABLE FU
+0A5A3 VAI SYLLABLE VU
+0A5A4 VAI SYLLABLE TU
+0A5A5 VAI SYLLABLE THU
+0A5A6 VAI SYLLABLE DHU
+0A5A7 VAI SYLLABLE DHHU
+0A5A8 VAI SYLLABLE LU
+0A5A9 VAI SYLLABLE RU
+0A5AA VAI SYLLABLE DU
+0A5AB VAI SYLLABLE NDU
+0A5AC VAI SYLLABLE SU
+0A5AD VAI SYLLABLE SHU
+0A5AE VAI SYLLABLE ZU
+0A5AF VAI SYLLABLE ZHU
+0A5B0 VAI SYLLABLE CU
+0A5B1 VAI SYLLABLE JU
+0A5B2 VAI SYLLABLE NJU
+0A5B3 VAI SYLLABLE YU
+0A5B4 VAI SYLLABLE KU
+0A5B5 VAI SYLLABLE NGGU
+0A5B6 VAI SYLLABLE GU
+0A5B7 VAI SYLLABLE MU
+0A5B8 VAI SYLLABLE NU
+0A5B9 VAI SYLLABLE NYU
+0A5BA VAI SYLLABLE O
+0A5BB VAI SYLLABLE ON
+0A5BC VAI SYLLABLE NGON
+0A5BD VAI SYLLABLE HO
+0A5BE VAI SYLLABLE HON
+0A5BF VAI SYLLABLE WO
+0A5C0 VAI SYLLABLE WON
+0A5C1 VAI SYLLABLE PO
+0A5C2 VAI SYLLABLE BHO
+0A5C3 VAI SYLLABLE BO
+0A5C4 VAI SYLLABLE MBO
+0A5C5 VAI SYLLABLE KPO
+0A5C6 VAI SYLLABLE MGBO
+0A5C7 VAI SYLLABLE GBO
+0A5C8 VAI SYLLABLE GBON
+0A5C9 VAI SYLLABLE FO
+0A5CA VAI SYLLABLE VO
+0A5CB VAI SYLLABLE TO
+0A5CC VAI SYLLABLE THO
+0A5CD VAI SYLLABLE DHO
+0A5CE VAI SYLLABLE DHHO
+0A5CF VAI SYLLABLE LO
+0A5D0 VAI SYLLABLE RO
+0A5D1 VAI SYLLABLE DO
+0A5D2 VAI SYLLABLE NDO
+0A5D3 VAI SYLLABLE SO
+0A5D4 VAI SYLLABLE SHO
+0A5D5 VAI SYLLABLE ZO
+0A5D6 VAI SYLLABLE ZHO
+0A5D7 VAI SYLLABLE CO
+0A5D8 VAI SYLLABLE JO
+0A5D9 VAI SYLLABLE NJO
+0A5DA VAI SYLLABLE YO
+0A5DB VAI SYLLABLE KO
+0A5DC VAI SYLLABLE NGGO
+0A5DD VAI SYLLABLE GO
+0A5DE VAI SYLLABLE MO
+0A5DF VAI SYLLABLE NO
+0A5E0 VAI SYLLABLE NYO
+0A5E1 VAI SYLLABLE E
+0A5E2 VAI SYLLABLE EN
+0A5E3 VAI SYLLABLE NGEN
+0A5E4 VAI SYLLABLE HE
+0A5E5 VAI SYLLABLE HEN
+0A5E6 VAI SYLLABLE WE
+0A5E7 VAI SYLLABLE WEN
+0A5E8 VAI SYLLABLE PE
+0A5E9 VAI SYLLABLE BHE
+0A5EA VAI SYLLABLE BE
+0A5EB VAI SYLLABLE MBE
+0A5EC VAI SYLLABLE KPE
+0A5ED VAI SYLLABLE KPEN
+0A5EE VAI SYLLABLE MGBE
+0A5EF VAI SYLLABLE GBE
+0A5F0 VAI SYLLABLE GBEN
+0A5F1 VAI SYLLABLE FE
+0A5F2 VAI SYLLABLE VE
+0A5F3 VAI SYLLABLE TE
+0A5F4 VAI SYLLABLE THE
+0A5F5 VAI SYLLABLE DHE
+0A5F6 VAI SYLLABLE DHHE
+0A5F7 VAI SYLLABLE LE
+0A5F8 VAI SYLLABLE RE
+0A5F9 VAI SYLLABLE DE
+0A5FA VAI SYLLABLE NDE
+0A5FB VAI SYLLABLE SE
+0A5FC VAI SYLLABLE SHE
+0A5FD VAI SYLLABLE ZE
+0A5FE VAI SYLLABLE ZHE
+0A5FF VAI SYLLABLE CE
+0A600 VAI SYLLABLE JE
+0A601 VAI SYLLABLE NJE
+0A602 VAI SYLLABLE YE
+0A603 VAI SYLLABLE KE
+0A604 VAI SYLLABLE NGGE
+0A605 VAI SYLLABLE NGGEN
+0A606 VAI SYLLABLE GE
+0A607 VAI SYLLABLE GEN
+0A608 VAI SYLLABLE ME
+0A609 VAI SYLLABLE NE
+0A60A VAI SYLLABLE NYE
+0A60B VAI SYLLABLE NG
+0A60C VAI SYLLABLE LENGTHENER
+0A60D VAI COMMA
+0A60E VAI FULL STOP
+0A60F VAI QUESTION MARK
+0A610 VAI SYLLABLE NDOLE FA
+0A611 VAI SYLLABLE NDOLE KA
+0A612 VAI SYLLABLE NDOLE SOO
+0A613 VAI SYMBOL FEENG
+0A614 VAI SYMBOL KEENG
+0A615 VAI SYMBOL TING
+0A616 VAI SYMBOL NII
+0A617 VAI SYMBOL BANG
+0A618 VAI SYMBOL FAA
+0A619 VAI SYMBOL TAA
+0A61A VAI SYMBOL DANG
+0A61B VAI SYMBOL DOONG
+0A61C VAI SYMBOL KUNG
+0A61D VAI SYMBOL TONG
+0A61E VAI SYMBOL DO-O
+0A61F VAI SYMBOL JONG
+0A620 VAI DIGIT ZERO
+0A621 VAI DIGIT ONE
+0A622 VAI DIGIT TWO
+0A623 VAI DIGIT THREE
+0A624 VAI DIGIT FOUR
+0A625 VAI DIGIT FIVE
+0A626 VAI DIGIT SIX
+0A627 VAI DIGIT SEVEN
+0A628 VAI DIGIT EIGHT
+0A629 VAI DIGIT NINE
+0A62A VAI SYLLABLE NDOLE MA
+0A62B VAI SYLLABLE NDOLE DO
+0A640 CYRILLIC CAPITAL LETTER ZEMLYA
+0A641 CYRILLIC SMALL LETTER ZEMLYA
+0A642 CYRILLIC CAPITAL LETTER DZELO
+0A643 CYRILLIC SMALL LETTER DZELO
+0A644 CYRILLIC CAPITAL LETTER REVERSED DZE
+0A645 CYRILLIC SMALL LETTER REVERSED DZE
+0A646 CYRILLIC CAPITAL LETTER IOTA
+0A647 CYRILLIC SMALL LETTER IOTA
+0A648 CYRILLIC CAPITAL LETTER DJERV
+0A649 CYRILLIC SMALL LETTER DJERV
+0A64A CYRILLIC CAPITAL LETTER MONOGRAPH UK
+0A64B CYRILLIC SMALL LETTER MONOGRAPH UK
+0A64C CYRILLIC CAPITAL LETTER BROAD OMEGA
+0A64D CYRILLIC SMALL LETTER BROAD OMEGA
+0A64E CYRILLIC CAPITAL LETTER NEUTRAL YER
+0A64F CYRILLIC SMALL LETTER NEUTRAL YER
+0A650 CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+0A651 CYRILLIC SMALL LETTER YERU WITH BACK YER
+0A652 CYRILLIC CAPITAL LETTER IOTIFIED YAT
+0A653 CYRILLIC SMALL LETTER IOTIFIED YAT
+0A654 CYRILLIC CAPITAL LETTER REVERSED YU
+0A655 CYRILLIC SMALL LETTER REVERSED YU
+0A656 CYRILLIC CAPITAL LETTER IOTIFIED A
+0A657 CYRILLIC SMALL LETTER IOTIFIED A
+0A658 CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+0A659 CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+0A65A CYRILLIC CAPITAL LETTER BLENDED YUS
+0A65B CYRILLIC SMALL LETTER BLENDED YUS
+0A65C CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+0A65D CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+0A65E CYRILLIC CAPITAL LETTER YN
+0A65F CYRILLIC SMALL LETTER YN
+0A660 CYRILLIC CAPITAL LETTER REVERSED TSE
+0A661 CYRILLIC SMALL LETTER REVERSED TSE
+0A662 CYRILLIC CAPITAL LETTER SOFT DE
+0A663 CYRILLIC SMALL LETTER SOFT DE
+0A664 CYRILLIC CAPITAL LETTER SOFT EL
+0A665 CYRILLIC SMALL LETTER SOFT EL
+0A666 CYRILLIC CAPITAL LETTER SOFT EM
+0A667 CYRILLIC SMALL LETTER SOFT EM
+0A668 CYRILLIC CAPITAL LETTER MONOCULAR O
+0A669 CYRILLIC SMALL LETTER MONOCULAR O
+0A66A CYRILLIC CAPITAL LETTER BINOCULAR O
+0A66B CYRILLIC SMALL LETTER BINOCULAR O
+0A66C CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+0A66D CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+0A66E CYRILLIC LETTER MULTIOCULAR O
+0A66F COMBINING CYRILLIC VZMET
+0A670 COMBINING CYRILLIC TEN MILLIONS SIGN
+0A671 COMBINING CYRILLIC HUNDRED MILLIONS SIGN
+0A672 COMBINING CYRILLIC THOUSAND MILLIONS SIGN
+0A673 SLAVONIC ASTERISK
+0A67C COMBINING CYRILLIC KAVYKA
+0A67D COMBINING CYRILLIC PAYEROK
+0A67E CYRILLIC KAVYKA
+0A67F CYRILLIC PAYEROK
+0A680 CYRILLIC CAPITAL LETTER DWE
+0A681 CYRILLIC SMALL LETTER DWE
+0A682 CYRILLIC CAPITAL LETTER DZWE
+0A683 CYRILLIC SMALL LETTER DZWE
+0A684 CYRILLIC CAPITAL LETTER ZHWE
+0A685 CYRILLIC SMALL LETTER ZHWE
+0A686 CYRILLIC CAPITAL LETTER CCHE
+0A687 CYRILLIC SMALL LETTER CCHE
+0A688 CYRILLIC CAPITAL LETTER DZZE
+0A689 CYRILLIC SMALL LETTER DZZE
+0A68A CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+0A68B CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+0A68C CYRILLIC CAPITAL LETTER TWE
+0A68D CYRILLIC SMALL LETTER TWE
+0A68E CYRILLIC CAPITAL LETTER TSWE
+0A68F CYRILLIC SMALL LETTER TSWE
+0A690 CYRILLIC CAPITAL LETTER TSSE
+0A691 CYRILLIC SMALL LETTER TSSE
+0A692 CYRILLIC CAPITAL LETTER TCHE
+0A693 CYRILLIC SMALL LETTER TCHE
+0A694 CYRILLIC CAPITAL LETTER HWE
+0A695 CYRILLIC SMALL LETTER HWE
+0A696 CYRILLIC CAPITAL LETTER SHWE
+0A697 CYRILLIC SMALL LETTER SHWE
+0A6A0 BAMUM LETTER A
+0A6A1 BAMUM LETTER KA
+0A6A2 BAMUM LETTER U
+0A6A3 BAMUM LETTER KU
+0A6A4 BAMUM LETTER EE
+0A6A5 BAMUM LETTER REE
+0A6A6 BAMUM LETTER TAE
+0A6A7 BAMUM LETTER O
+0A6A8 BAMUM LETTER NYI
+0A6A9 BAMUM LETTER I
+0A6AA BAMUM LETTER LA
+0A6AB BAMUM LETTER PA
+0A6AC BAMUM LETTER RII
+0A6AD BAMUM LETTER RIEE
+0A6AE BAMUM LETTER LEEEE
+0A6AF BAMUM LETTER MEEEE
+0A6B0 BAMUM LETTER TAA
+0A6B1 BAMUM LETTER NDAA
+0A6B2 BAMUM LETTER NJAEM
+0A6B3 BAMUM LETTER M
+0A6B4 BAMUM LETTER SUU
+0A6B5 BAMUM LETTER MU
+0A6B6 BAMUM LETTER SHII
+0A6B7 BAMUM LETTER SI
+0A6B8 BAMUM LETTER SHEUX
+0A6B9 BAMUM LETTER SEUX
+0A6BA BAMUM LETTER KYEE
+0A6BB BAMUM LETTER KET
+0A6BC BAMUM LETTER NUAE
+0A6BD BAMUM LETTER NU
+0A6BE BAMUM LETTER NJUAE
+0A6BF BAMUM LETTER YOQ
+0A6C0 BAMUM LETTER SHU
+0A6C1 BAMUM LETTER YUQ
+0A6C2 BAMUM LETTER YA
+0A6C3 BAMUM LETTER NSHA
+0A6C4 BAMUM LETTER KEUX
+0A6C5 BAMUM LETTER PEUX
+0A6C6 BAMUM LETTER NJEE
+0A6C7 BAMUM LETTER NTEE
+0A6C8 BAMUM LETTER PUE
+0A6C9 BAMUM LETTER WUE
+0A6CA BAMUM LETTER PEE
+0A6CB BAMUM LETTER FEE
+0A6CC BAMUM LETTER RU
+0A6CD BAMUM LETTER LU
+0A6CE BAMUM LETTER MI
+0A6CF BAMUM LETTER NI
+0A6D0 BAMUM LETTER REUX
+0A6D1 BAMUM LETTER RAE
+0A6D2 BAMUM LETTER KEN
+0A6D3 BAMUM LETTER NGKWAEN
+0A6D4 BAMUM LETTER NGGA
+0A6D5 BAMUM LETTER NGA
+0A6D6 BAMUM LETTER SHO
+0A6D7 BAMUM LETTER PUAE
+0A6D8 BAMUM LETTER FU
+0A6D9 BAMUM LETTER FOM
+0A6DA BAMUM LETTER WA
+0A6DB BAMUM LETTER NA
+0A6DC BAMUM LETTER LI
+0A6DD BAMUM LETTER PI
+0A6DE BAMUM LETTER LOQ
+0A6DF BAMUM LETTER KO
+0A6E0 BAMUM LETTER MBEN
+0A6E1 BAMUM LETTER REN
+0A6E2 BAMUM LETTER MEN
+0A6E3 BAMUM LETTER MA
+0A6E4 BAMUM LETTER TI
+0A6E5 BAMUM LETTER KI
+0A6E6 BAMUM LETTER MO
+0A6E7 BAMUM LETTER MBAA
+0A6E8 BAMUM LETTER TET
+0A6E9 BAMUM LETTER KPA
+0A6EA BAMUM LETTER TEN
+0A6EB BAMUM LETTER NTUU
+0A6EC BAMUM LETTER SAMBA
+0A6ED BAMUM LETTER FAAMAE
+0A6EE BAMUM LETTER KOVUU
+0A6EF BAMUM LETTER KOGHOM
+0A6F0 BAMUM COMBINING MARK KOQNDON
+0A6F1 BAMUM COMBINING MARK TUKWENTIS
+0A6F2 BAMUM NJAEMLI
+0A6F3 BAMUM FULL STOP
+0A6F4 BAMUM COLON
+0A6F5 BAMUM COMMA
+0A6F6 BAMUM SEMICOLON
+0A6F7 BAMUM QUESTION MARK
+0A700 MODIFIER LETTER CHINESE TONE YIN PING
+0A701 MODIFIER LETTER CHINESE TONE YANG PING
+0A702 MODIFIER LETTER CHINESE TONE YIN SHANG
+0A703 MODIFIER LETTER CHINESE TONE YANG SHANG
+0A704 MODIFIER LETTER CHINESE TONE YIN QU
+0A705 MODIFIER LETTER CHINESE TONE YANG QU
+0A706 MODIFIER LETTER CHINESE TONE YIN RU
+0A707 MODIFIER LETTER CHINESE TONE YANG RU
+0A708 MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
+0A709 MODIFIER LETTER HIGH DOTTED TONE BAR
+0A70A MODIFIER LETTER MID DOTTED TONE BAR
+0A70B MODIFIER LETTER LOW DOTTED TONE BAR
+0A70C MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
+0A70D MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
+0A70E MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
+0A70F MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
+0A710 MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
+0A711 MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
+0A712 MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
+0A713 MODIFIER LETTER HIGH LEFT-STEM TONE BAR
+0A714 MODIFIER LETTER MID LEFT-STEM TONE BAR
+0A715 MODIFIER LETTER LOW LEFT-STEM TONE BAR
+0A716 MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+0A717 MODIFIER LETTER DOT VERTICAL BAR
+0A718 MODIFIER LETTER DOT SLASH
+0A719 MODIFIER LETTER DOT HORIZONTAL BAR
+0A71A MODIFIER LETTER LOWER RIGHT CORNER ANGLE
+0A71B MODIFIER LETTER RAISED UP ARROW
+0A71C MODIFIER LETTER RAISED DOWN ARROW
+0A71D MODIFIER LETTER RAISED EXCLAMATION MARK
+0A71E MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
+0A71F MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+0A720 MODIFIER LETTER STRESS AND HIGH TONE
+0A721 MODIFIER LETTER STRESS AND LOW TONE
+0A722 LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+0A723 LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+0A724 LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+0A725 LATIN SMALL LETTER EGYPTOLOGICAL AIN
+0A726 LATIN CAPITAL LETTER HENG
+0A727 LATIN SMALL LETTER HENG
+0A728 LATIN CAPITAL LETTER TZ
+0A729 LATIN SMALL LETTER TZ
+0A72A LATIN CAPITAL LETTER TRESILLO
+0A72B LATIN SMALL LETTER TRESILLO
+0A72C LATIN CAPITAL LETTER CUATRILLO
+0A72D LATIN SMALL LETTER CUATRILLO
+0A72E LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+0A72F LATIN SMALL LETTER CUATRILLO WITH COMMA
+0A730 LATIN LETTER SMALL CAPITAL F
+0A731 LATIN LETTER SMALL CAPITAL S
+0A732 LATIN CAPITAL LETTER AA
+0A733 LATIN SMALL LETTER AA
+0A734 LATIN CAPITAL LETTER AO
+0A735 LATIN SMALL LETTER AO
+0A736 LATIN CAPITAL LETTER AU
+0A737 LATIN SMALL LETTER AU
+0A738 LATIN CAPITAL LETTER AV
+0A739 LATIN SMALL LETTER AV
+0A73A LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+0A73B LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+0A73C LATIN CAPITAL LETTER AY
+0A73D LATIN SMALL LETTER AY
+0A73E LATIN CAPITAL LETTER REVERSED C WITH DOT
+0A73F LATIN SMALL LETTER REVERSED C WITH DOT
+0A740 LATIN CAPITAL LETTER K WITH STROKE
+0A741 LATIN SMALL LETTER K WITH STROKE
+0A742 LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+0A743 LATIN SMALL LETTER K WITH DIAGONAL STROKE
+0A744 LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+0A745 LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+0A746 LATIN CAPITAL LETTER BROKEN L
+0A747 LATIN SMALL LETTER BROKEN L
+0A748 LATIN CAPITAL LETTER L WITH HIGH STROKE
+0A749 LATIN SMALL LETTER L WITH HIGH STROKE
+0A74A LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+0A74B LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+0A74C LATIN CAPITAL LETTER O WITH LOOP
+0A74D LATIN SMALL LETTER O WITH LOOP
+0A74E LATIN CAPITAL LETTER OO
+0A74F LATIN SMALL LETTER OO
+0A750 LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+0A751 LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+0A752 LATIN CAPITAL LETTER P WITH FLOURISH
+0A753 LATIN SMALL LETTER P WITH FLOURISH
+0A754 LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+0A755 LATIN SMALL LETTER P WITH SQUIRREL TAIL
+0A756 LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+0A757 LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+0A758 LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+0A759 LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+0A75A LATIN CAPITAL LETTER R ROTUNDA
+0A75B LATIN SMALL LETTER R ROTUNDA
+0A75C LATIN CAPITAL LETTER RUM ROTUNDA
+0A75D LATIN SMALL LETTER RUM ROTUNDA
+0A75E LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+0A75F LATIN SMALL LETTER V WITH DIAGONAL STROKE
+0A760 LATIN CAPITAL LETTER VY
+0A761 LATIN SMALL LETTER VY
+0A762 LATIN CAPITAL LETTER VISIGOTHIC Z
+0A763 LATIN SMALL LETTER VISIGOTHIC Z
+0A764 LATIN CAPITAL LETTER THORN WITH STROKE
+0A765 LATIN SMALL LETTER THORN WITH STROKE
+0A766 LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+0A767 LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+0A768 LATIN CAPITAL LETTER VEND
+0A769 LATIN SMALL LETTER VEND
+0A76A LATIN CAPITAL LETTER ET
+0A76B LATIN SMALL LETTER ET
+0A76C LATIN CAPITAL LETTER IS
+0A76D LATIN SMALL LETTER IS
+0A76E LATIN CAPITAL LETTER CON
+0A76F LATIN SMALL LETTER CON
+0A770 MODIFIER LETTER US
+0A771 LATIN SMALL LETTER DUM
+0A772 LATIN SMALL LETTER LUM
+0A773 LATIN SMALL LETTER MUM
+0A774 LATIN SMALL LETTER NUM
+0A775 LATIN SMALL LETTER RUM
+0A776 LATIN LETTER SMALL CAPITAL RUM
+0A777 LATIN SMALL LETTER TUM
+0A778 LATIN SMALL LETTER UM
+0A779 LATIN CAPITAL LETTER INSULAR D
+0A77A LATIN SMALL LETTER INSULAR D
+0A77B LATIN CAPITAL LETTER INSULAR F
+0A77C LATIN SMALL LETTER INSULAR F
+0A77D LATIN CAPITAL LETTER INSULAR G
+0A77E LATIN CAPITAL LETTER TURNED INSULAR G
+0A77F LATIN SMALL LETTER TURNED INSULAR G
+0A780 LATIN CAPITAL LETTER TURNED L
+0A781 LATIN SMALL LETTER TURNED L
+0A782 LATIN CAPITAL LETTER INSULAR R
+0A783 LATIN SMALL LETTER INSULAR R
+0A784 LATIN CAPITAL LETTER INSULAR S
+0A785 LATIN SMALL LETTER INSULAR S
+0A786 LATIN CAPITAL LETTER INSULAR T
+0A787 LATIN SMALL LETTER INSULAR T
+0A788 MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+0A789 MODIFIER LETTER COLON
+0A78A MODIFIER LETTER SHORT EQUALS SIGN
+0A78B LATIN CAPITAL LETTER SALTILLO
+0A78C LATIN SMALL LETTER SALTILLO
+0A78D LATIN CAPITAL LETTER TURNED H
+0A78E LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+0A790 LATIN CAPITAL LETTER N WITH DESCENDER
+0A791 LATIN SMALL LETTER N WITH DESCENDER
+0A7A0 LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+0A7A1 LATIN SMALL LETTER G WITH OBLIQUE STROKE
+0A7A2 LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+0A7A3 LATIN SMALL LETTER K WITH OBLIQUE STROKE
+0A7A4 LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+0A7A5 LATIN SMALL LETTER N WITH OBLIQUE STROKE
+0A7A6 LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+0A7A7 LATIN SMALL LETTER R WITH OBLIQUE STROKE
+0A7A8 LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+0A7A9 LATIN SMALL LETTER S WITH OBLIQUE STROKE
+0A7FA LATIN LETTER SMALL CAPITAL TURNED M
+0A7FB LATIN EPIGRAPHIC LETTER REVERSED F
+0A7FC LATIN EPIGRAPHIC LETTER REVERSED P
+0A7FD LATIN EPIGRAPHIC LETTER INVERTED M
+0A7FE LATIN EPIGRAPHIC LETTER I LONGA
+0A7FF LATIN EPIGRAPHIC LETTER ARCHAIC M
+0A800 SYLOTI NAGRI LETTER A
+0A801 SYLOTI NAGRI LETTER I
+0A802 SYLOTI NAGRI SIGN DVISVARA
+0A803 SYLOTI NAGRI LETTER U
+0A804 SYLOTI NAGRI LETTER E
+0A805 SYLOTI NAGRI LETTER O
+0A806 SYLOTI NAGRI SIGN HASANTA
+0A807 SYLOTI NAGRI LETTER KO
+0A808 SYLOTI NAGRI LETTER KHO
+0A809 SYLOTI NAGRI LETTER GO
+0A80A SYLOTI NAGRI LETTER GHO
+0A80B SYLOTI NAGRI SIGN ANUSVARA
+0A80C SYLOTI NAGRI LETTER CO
+0A80D SYLOTI NAGRI LETTER CHO
+0A80E SYLOTI NAGRI LETTER JO
+0A80F SYLOTI NAGRI LETTER JHO
+0A810 SYLOTI NAGRI LETTER TTO
+0A811 SYLOTI NAGRI LETTER TTHO
+0A812 SYLOTI NAGRI LETTER DDO
+0A813 SYLOTI NAGRI LETTER DDHO
+0A814 SYLOTI NAGRI LETTER TO
+0A815 SYLOTI NAGRI LETTER THO
+0A816 SYLOTI NAGRI LETTER DO
+0A817 SYLOTI NAGRI LETTER DHO
+0A818 SYLOTI NAGRI LETTER NO
+0A819 SYLOTI NAGRI LETTER PO
+0A81A SYLOTI NAGRI LETTER PHO
+0A81B SYLOTI NAGRI LETTER BO
+0A81C SYLOTI NAGRI LETTER BHO
+0A81D SYLOTI NAGRI LETTER MO
+0A81E SYLOTI NAGRI LETTER RO
+0A81F SYLOTI NAGRI LETTER LO
+0A820 SYLOTI NAGRI LETTER RRO
+0A821 SYLOTI NAGRI LETTER SO
+0A822 SYLOTI NAGRI LETTER HO
+0A823 SYLOTI NAGRI VOWEL SIGN A
+0A824 SYLOTI NAGRI VOWEL SIGN I
+0A825 SYLOTI NAGRI VOWEL SIGN U
+0A826 SYLOTI NAGRI VOWEL SIGN E
+0A827 SYLOTI NAGRI VOWEL SIGN OO
+0A828 SYLOTI NAGRI POETRY MARK-1
+0A829 SYLOTI NAGRI POETRY MARK-2
+0A82A SYLOTI NAGRI POETRY MARK-3
+0A82B SYLOTI NAGRI POETRY MARK-4
+0A830 NORTH INDIC FRACTION ONE QUARTER
+0A831 NORTH INDIC FRACTION ONE HALF
+0A832 NORTH INDIC FRACTION THREE QUARTERS
+0A833 NORTH INDIC FRACTION ONE SIXTEENTH
+0A834 NORTH INDIC FRACTION ONE EIGHTH
+0A835 NORTH INDIC FRACTION THREE SIXTEENTHS
+0A836 NORTH INDIC QUARTER MARK
+0A837 NORTH INDIC PLACEHOLDER MARK
+0A838 NORTH INDIC RUPEE MARK
+0A839 NORTH INDIC QUANTITY MARK
+0A840 PHAGS-PA LETTER KA
+0A841 PHAGS-PA LETTER KHA
+0A842 PHAGS-PA LETTER GA
+0A843 PHAGS-PA LETTER NGA
+0A844 PHAGS-PA LETTER CA
+0A845 PHAGS-PA LETTER CHA
+0A846 PHAGS-PA LETTER JA
+0A847 PHAGS-PA LETTER NYA
+0A848 PHAGS-PA LETTER TA
+0A849 PHAGS-PA LETTER THA
+0A84A PHAGS-PA LETTER DA
+0A84B PHAGS-PA LETTER NA
+0A84C PHAGS-PA LETTER PA
+0A84D PHAGS-PA LETTER PHA
+0A84E PHAGS-PA LETTER BA
+0A84F PHAGS-PA LETTER MA
+0A850 PHAGS-PA LETTER TSA
+0A851 PHAGS-PA LETTER TSHA
+0A852 PHAGS-PA LETTER DZA
+0A853 PHAGS-PA LETTER WA
+0A854 PHAGS-PA LETTER ZHA
+0A855 PHAGS-PA LETTER ZA
+0A856 PHAGS-PA LETTER SMALL A
+0A857 PHAGS-PA LETTER YA
+0A858 PHAGS-PA LETTER RA
+0A859 PHAGS-PA LETTER LA
+0A85A PHAGS-PA LETTER SHA
+0A85B PHAGS-PA LETTER SA
+0A85C PHAGS-PA LETTER HA
+0A85D PHAGS-PA LETTER A
+0A85E PHAGS-PA LETTER I
+0A85F PHAGS-PA LETTER U
+0A860 PHAGS-PA LETTER E
+0A861 PHAGS-PA LETTER O
+0A862 PHAGS-PA LETTER QA
+0A863 PHAGS-PA LETTER XA
+0A864 PHAGS-PA LETTER FA
+0A865 PHAGS-PA LETTER GGA
+0A866 PHAGS-PA LETTER EE
+0A867 PHAGS-PA SUBJOINED LETTER WA
+0A868 PHAGS-PA SUBJOINED LETTER YA
+0A869 PHAGS-PA LETTER TTA
+0A86A PHAGS-PA LETTER TTHA
+0A86B PHAGS-PA LETTER DDA
+0A86C PHAGS-PA LETTER NNA
+0A86D PHAGS-PA LETTER ALTERNATE YA
+0A86E PHAGS-PA LETTER VOICELESS SHA
+0A86F PHAGS-PA LETTER VOICED HA
+0A870 PHAGS-PA LETTER ASPIRATED FA
+0A871 PHAGS-PA SUBJOINED LETTER RA
+0A872 PHAGS-PA SUPERFIXED LETTER RA
+0A873 PHAGS-PA LETTER CANDRABINDU
+0A874 PHAGS-PA SINGLE HEAD MARK
+0A875 PHAGS-PA DOUBLE HEAD MARK
+0A876 PHAGS-PA MARK SHAD
+0A877 PHAGS-PA MARK DOUBLE SHAD
+0A880 SAURASHTRA SIGN ANUSVARA
+0A881 SAURASHTRA SIGN VISARGA
+0A882 SAURASHTRA LETTER A
+0A883 SAURASHTRA LETTER AA
+0A884 SAURASHTRA LETTER I
+0A885 SAURASHTRA LETTER II
+0A886 SAURASHTRA LETTER U
+0A887 SAURASHTRA LETTER UU
+0A888 SAURASHTRA LETTER VOCALIC R
+0A889 SAURASHTRA LETTER VOCALIC RR
+0A88A SAURASHTRA LETTER VOCALIC L
+0A88B SAURASHTRA LETTER VOCALIC LL
+0A88C SAURASHTRA LETTER E
+0A88D SAURASHTRA LETTER EE
+0A88E SAURASHTRA LETTER AI
+0A88F SAURASHTRA LETTER O
+0A890 SAURASHTRA LETTER OO
+0A891 SAURASHTRA LETTER AU
+0A892 SAURASHTRA LETTER KA
+0A893 SAURASHTRA LETTER KHA
+0A894 SAURASHTRA LETTER GA
+0A895 SAURASHTRA LETTER GHA
+0A896 SAURASHTRA LETTER NGA
+0A897 SAURASHTRA LETTER CA
+0A898 SAURASHTRA LETTER CHA
+0A899 SAURASHTRA LETTER JA
+0A89A SAURASHTRA LETTER JHA
+0A89B SAURASHTRA LETTER NYA
+0A89C SAURASHTRA LETTER TTA
+0A89D SAURASHTRA LETTER TTHA
+0A89E SAURASHTRA LETTER DDA
+0A89F SAURASHTRA LETTER DDHA
+0A8A0 SAURASHTRA LETTER NNA
+0A8A1 SAURASHTRA LETTER TA
+0A8A2 SAURASHTRA LETTER THA
+0A8A3 SAURASHTRA LETTER DA
+0A8A4 SAURASHTRA LETTER DHA
+0A8A5 SAURASHTRA LETTER NA
+0A8A6 SAURASHTRA LETTER PA
+0A8A7 SAURASHTRA LETTER PHA
+0A8A8 SAURASHTRA LETTER BA
+0A8A9 SAURASHTRA LETTER BHA
+0A8AA SAURASHTRA LETTER MA
+0A8AB SAURASHTRA LETTER YA
+0A8AC SAURASHTRA LETTER RA
+0A8AD SAURASHTRA LETTER LA
+0A8AE SAURASHTRA LETTER VA
+0A8AF SAURASHTRA LETTER SHA
+0A8B0 SAURASHTRA LETTER SSA
+0A8B1 SAURASHTRA LETTER SA
+0A8B2 SAURASHTRA LETTER HA
+0A8B3 SAURASHTRA LETTER LLA
+0A8B4 SAURASHTRA CONSONANT SIGN HAARU
+0A8B5 SAURASHTRA VOWEL SIGN AA
+0A8B6 SAURASHTRA VOWEL SIGN I
+0A8B7 SAURASHTRA VOWEL SIGN II
+0A8B8 SAURASHTRA VOWEL SIGN U
+0A8B9 SAURASHTRA VOWEL SIGN UU
+0A8BA SAURASHTRA VOWEL SIGN VOCALIC R
+0A8BB SAURASHTRA VOWEL SIGN VOCALIC RR
+0A8BC SAURASHTRA VOWEL SIGN VOCALIC L
+0A8BD SAURASHTRA VOWEL SIGN VOCALIC LL
+0A8BE SAURASHTRA VOWEL SIGN E
+0A8BF SAURASHTRA VOWEL SIGN EE
+0A8C0 SAURASHTRA VOWEL SIGN AI
+0A8C1 SAURASHTRA VOWEL SIGN O
+0A8C2 SAURASHTRA VOWEL SIGN OO
+0A8C3 SAURASHTRA VOWEL SIGN AU
+0A8C4 SAURASHTRA SIGN VIRAMA
+0A8CE SAURASHTRA DANDA
+0A8CF SAURASHTRA DOUBLE DANDA
+0A8D0 SAURASHTRA DIGIT ZERO
+0A8D1 SAURASHTRA DIGIT ONE
+0A8D2 SAURASHTRA DIGIT TWO
+0A8D3 SAURASHTRA DIGIT THREE
+0A8D4 SAURASHTRA DIGIT FOUR
+0A8D5 SAURASHTRA DIGIT FIVE
+0A8D6 SAURASHTRA DIGIT SIX
+0A8D7 SAURASHTRA DIGIT SEVEN
+0A8D8 SAURASHTRA DIGIT EIGHT
+0A8D9 SAURASHTRA DIGIT NINE
+0A8E0 COMBINING DEVANAGARI DIGIT ZERO
+0A8E1 COMBINING DEVANAGARI DIGIT ONE
+0A8E2 COMBINING DEVANAGARI DIGIT TWO
+0A8E3 COMBINING DEVANAGARI DIGIT THREE
+0A8E4 COMBINING DEVANAGARI DIGIT FOUR
+0A8E5 COMBINING DEVANAGARI DIGIT FIVE
+0A8E6 COMBINING DEVANAGARI DIGIT SIX
+0A8E7 COMBINING DEVANAGARI DIGIT SEVEN
+0A8E8 COMBINING DEVANAGARI DIGIT EIGHT
+0A8E9 COMBINING DEVANAGARI DIGIT NINE
+0A8EA COMBINING DEVANAGARI LETTER A
+0A8EB COMBINING DEVANAGARI LETTER U
+0A8EC COMBINING DEVANAGARI LETTER KA
+0A8ED COMBINING DEVANAGARI LETTER NA
+0A8EE COMBINING DEVANAGARI LETTER PA
+0A8EF COMBINING DEVANAGARI LETTER RA
+0A8F0 COMBINING DEVANAGARI LETTER VI
+0A8F1 COMBINING DEVANAGARI SIGN AVAGRAHA
+0A8F2 DEVANAGARI SIGN SPACING CANDRABINDU
+0A8F3 DEVANAGARI SIGN CANDRABINDU VIRAMA
+0A8F4 DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
+0A8F5 DEVANAGARI SIGN CANDRABINDU TWO
+0A8F6 DEVANAGARI SIGN CANDRABINDU THREE
+0A8F7 DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+0A8F8 DEVANAGARI SIGN PUSHPIKA
+0A8F9 DEVANAGARI GAP FILLER
+0A8FA DEVANAGARI CARET
+0A8FB DEVANAGARI HEADSTROKE
+0A900 KAYAH LI DIGIT ZERO
+0A901 KAYAH LI DIGIT ONE
+0A902 KAYAH LI DIGIT TWO
+0A903 KAYAH LI DIGIT THREE
+0A904 KAYAH LI DIGIT FOUR
+0A905 KAYAH LI DIGIT FIVE
+0A906 KAYAH LI DIGIT SIX
+0A907 KAYAH LI DIGIT SEVEN
+0A908 KAYAH LI DIGIT EIGHT
+0A909 KAYAH LI DIGIT NINE
+0A90A KAYAH LI LETTER KA
+0A90B KAYAH LI LETTER KHA
+0A90C KAYAH LI LETTER GA
+0A90D KAYAH LI LETTER NGA
+0A90E KAYAH LI LETTER SA
+0A90F KAYAH LI LETTER SHA
+0A910 KAYAH LI LETTER ZA
+0A911 KAYAH LI LETTER NYA
+0A912 KAYAH LI LETTER TA
+0A913 KAYAH LI LETTER HTA
+0A914 KAYAH LI LETTER NA
+0A915 KAYAH LI LETTER PA
+0A916 KAYAH LI LETTER PHA
+0A917 KAYAH LI LETTER MA
+0A918 KAYAH LI LETTER DA
+0A919 KAYAH LI LETTER BA
+0A91A KAYAH LI LETTER RA
+0A91B KAYAH LI LETTER YA
+0A91C KAYAH LI LETTER LA
+0A91D KAYAH LI LETTER WA
+0A91E KAYAH LI LETTER THA
+0A91F KAYAH LI LETTER HA
+0A920 KAYAH LI LETTER VA
+0A921 KAYAH LI LETTER CA
+0A922 KAYAH LI LETTER A
+0A923 KAYAH LI LETTER OE
+0A924 KAYAH LI LETTER I
+0A925 KAYAH LI LETTER OO
+0A926 KAYAH LI VOWEL UE
+0A927 KAYAH LI VOWEL E
+0A928 KAYAH LI VOWEL U
+0A929 KAYAH LI VOWEL EE
+0A92A KAYAH LI VOWEL O
+0A92B KAYAH LI TONE PLOPHU
+0A92C KAYAH LI TONE CALYA
+0A92D KAYAH LI TONE CALYA PLOPHU
+0A92E KAYAH LI SIGN CWI
+0A92F KAYAH LI SIGN SHYA
+0A930 REJANG LETTER KA
+0A931 REJANG LETTER GA
+0A932 REJANG LETTER NGA
+0A933 REJANG LETTER TA
+0A934 REJANG LETTER DA
+0A935 REJANG LETTER NA
+0A936 REJANG LETTER PA
+0A937 REJANG LETTER BA
+0A938 REJANG LETTER MA
+0A939 REJANG LETTER CA
+0A93A REJANG LETTER JA
+0A93B REJANG LETTER NYA
+0A93C REJANG LETTER SA
+0A93D REJANG LETTER RA
+0A93E REJANG LETTER LA
+0A93F REJANG LETTER YA
+0A940 REJANG LETTER WA
+0A941 REJANG LETTER HA
+0A942 REJANG LETTER MBA
+0A943 REJANG LETTER NGGA
+0A944 REJANG LETTER NDA
+0A945 REJANG LETTER NYJA
+0A946 REJANG LETTER A
+0A947 REJANG VOWEL SIGN I
+0A948 REJANG VOWEL SIGN U
+0A949 REJANG VOWEL SIGN E
+0A94A REJANG VOWEL SIGN AI
+0A94B REJANG VOWEL SIGN O
+0A94C REJANG VOWEL SIGN AU
+0A94D REJANG VOWEL SIGN EU
+0A94E REJANG VOWEL SIGN EA
+0A94F REJANG CONSONANT SIGN NG
+0A950 REJANG CONSONANT SIGN N
+0A951 REJANG CONSONANT SIGN R
+0A952 REJANG CONSONANT SIGN H
+0A953 REJANG VIRAMA
+0A95F REJANG SECTION MARK
+0A960 HANGUL CHOSEONG TIKEUT-MIEUM
+0A961 HANGUL CHOSEONG TIKEUT-PIEUP
+0A962 HANGUL CHOSEONG TIKEUT-SIOS
+0A963 HANGUL CHOSEONG TIKEUT-CIEUC
+0A964 HANGUL CHOSEONG RIEUL-KIYEOK
+0A965 HANGUL CHOSEONG RIEUL-SSANGKIYEOK
+0A966 HANGUL CHOSEONG RIEUL-TIKEUT
+0A967 HANGUL CHOSEONG RIEUL-SSANGTIKEUT
+0A968 HANGUL CHOSEONG RIEUL-MIEUM
+0A969 HANGUL CHOSEONG RIEUL-PIEUP
+0A96A HANGUL CHOSEONG RIEUL-SSANGPIEUP
+0A96B HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
+0A96C HANGUL CHOSEONG RIEUL-SIOS
+0A96D HANGUL CHOSEONG RIEUL-CIEUC
+0A96E HANGUL CHOSEONG RIEUL-KHIEUKH
+0A96F HANGUL CHOSEONG MIEUM-KIYEOK
+0A970 HANGUL CHOSEONG MIEUM-TIKEUT
+0A971 HANGUL CHOSEONG MIEUM-SIOS
+0A972 HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
+0A973 HANGUL CHOSEONG PIEUP-KHIEUKH
+0A974 HANGUL CHOSEONG PIEUP-HIEUH
+0A975 HANGUL CHOSEONG SSANGSIOS-PIEUP
+0A976 HANGUL CHOSEONG IEUNG-RIEUL
+0A977 HANGUL CHOSEONG IEUNG-HIEUH
+0A978 HANGUL CHOSEONG SSANGCIEUC-HIEUH
+0A979 HANGUL CHOSEONG SSANGTHIEUTH
+0A97A HANGUL CHOSEONG PHIEUPH-HIEUH
+0A97B HANGUL CHOSEONG HIEUH-SIOS
+0A97C HANGUL CHOSEONG SSANGYEORINHIEUH
+0A980 JAVANESE SIGN PANYANGGA
+0A981 JAVANESE SIGN CECAK
+0A982 JAVANESE SIGN LAYAR
+0A983 JAVANESE SIGN WIGNYAN
+0A984 JAVANESE LETTER A
+0A985 JAVANESE LETTER I KAWI
+0A986 JAVANESE LETTER I
+0A987 JAVANESE LETTER II
+0A988 JAVANESE LETTER U
+0A989 JAVANESE LETTER PA CEREK
+0A98A JAVANESE LETTER NGA LELET
+0A98B JAVANESE LETTER NGA LELET RASWADI
+0A98C JAVANESE LETTER E
+0A98D JAVANESE LETTER AI
+0A98E JAVANESE LETTER O
+0A98F JAVANESE LETTER KA
+0A990 JAVANESE LETTER KA SASAK
+0A991 JAVANESE LETTER KA MURDA
+0A992 JAVANESE LETTER GA
+0A993 JAVANESE LETTER GA MURDA
+0A994 JAVANESE LETTER NGA
+0A995 JAVANESE LETTER CA
+0A996 JAVANESE LETTER CA MURDA
+0A997 JAVANESE LETTER JA
+0A998 JAVANESE LETTER NYA MURDA
+0A999 JAVANESE LETTER JA MAHAPRANA
+0A99A JAVANESE LETTER NYA
+0A99B JAVANESE LETTER TTA
+0A99C JAVANESE LETTER TTA MAHAPRANA
+0A99D JAVANESE LETTER DDA
+0A99E JAVANESE LETTER DDA MAHAPRANA
+0A99F JAVANESE LETTER NA MURDA
+0A9A0 JAVANESE LETTER TA
+0A9A1 JAVANESE LETTER TA MURDA
+0A9A2 JAVANESE LETTER DA
+0A9A3 JAVANESE LETTER DA MAHAPRANA
+0A9A4 JAVANESE LETTER NA
+0A9A5 JAVANESE LETTER PA
+0A9A6 JAVANESE LETTER PA MURDA
+0A9A7 JAVANESE LETTER BA
+0A9A8 JAVANESE LETTER BA MURDA
+0A9A9 JAVANESE LETTER MA
+0A9AA JAVANESE LETTER YA
+0A9AB JAVANESE LETTER RA
+0A9AC JAVANESE LETTER RA AGUNG
+0A9AD JAVANESE LETTER LA
+0A9AE JAVANESE LETTER WA
+0A9AF JAVANESE LETTER SA MURDA
+0A9B0 JAVANESE LETTER SA MAHAPRANA
+0A9B1 JAVANESE LETTER SA
+0A9B2 JAVANESE LETTER HA
+0A9B3 JAVANESE SIGN CECAK TELU
+0A9B4 JAVANESE VOWEL SIGN TARUNG
+0A9B5 JAVANESE VOWEL SIGN TOLONG
+0A9B6 JAVANESE VOWEL SIGN WULU
+0A9B7 JAVANESE VOWEL SIGN WULU MELIK
+0A9B8 JAVANESE VOWEL SIGN SUKU
+0A9B9 JAVANESE VOWEL SIGN SUKU MENDUT
+0A9BA JAVANESE VOWEL SIGN TALING
+0A9BB JAVANESE VOWEL SIGN DIRGA MURE
+0A9BC JAVANESE VOWEL SIGN PEPET
+0A9BD JAVANESE CONSONANT SIGN KERET
+0A9BE JAVANESE CONSONANT SIGN PENGKAL
+0A9BF JAVANESE CONSONANT SIGN CAKRA
+0A9C0 JAVANESE PANGKON
+0A9C1 JAVANESE LEFT RERENGGAN
+0A9C2 JAVANESE RIGHT RERENGGAN
+0A9C3 JAVANESE PADA ANDAP
+0A9C4 JAVANESE PADA MADYA
+0A9C5 JAVANESE PADA LUHUR
+0A9C6 JAVANESE PADA WINDU
+0A9C7 JAVANESE PADA PANGKAT
+0A9C8 JAVANESE PADA LINGSA
+0A9C9 JAVANESE PADA LUNGSI
+0A9CA JAVANESE PADA ADEG
+0A9CB JAVANESE PADA ADEG ADEG
+0A9CC JAVANESE PADA PISELEH
+0A9CD JAVANESE TURNED PADA PISELEH
+0A9CF JAVANESE PANGRANGKEP
+0A9D0 JAVANESE DIGIT ZERO
+0A9D1 JAVANESE DIGIT ONE
+0A9D2 JAVANESE DIGIT TWO
+0A9D3 JAVANESE DIGIT THREE
+0A9D4 JAVANESE DIGIT FOUR
+0A9D5 JAVANESE DIGIT FIVE
+0A9D6 JAVANESE DIGIT SIX
+0A9D7 JAVANESE DIGIT SEVEN
+0A9D8 JAVANESE DIGIT EIGHT
+0A9D9 JAVANESE DIGIT NINE
+0A9DE JAVANESE PADA TIRTA TUMETES
+0A9DF JAVANESE PADA ISEN-ISEN
+0AA00 CHAM LETTER A
+0AA01 CHAM LETTER I
+0AA02 CHAM LETTER U
+0AA03 CHAM LETTER E
+0AA04 CHAM LETTER AI
+0AA05 CHAM LETTER O
+0AA06 CHAM LETTER KA
+0AA07 CHAM LETTER KHA
+0AA08 CHAM LETTER GA
+0AA09 CHAM LETTER GHA
+0AA0A CHAM LETTER NGUE
+0AA0B CHAM LETTER NGA
+0AA0C CHAM LETTER CHA
+0AA0D CHAM LETTER CHHA
+0AA0E CHAM LETTER JA
+0AA0F CHAM LETTER JHA
+0AA10 CHAM LETTER NHUE
+0AA11 CHAM LETTER NHA
+0AA12 CHAM LETTER NHJA
+0AA13 CHAM LETTER TA
+0AA14 CHAM LETTER THA
+0AA15 CHAM LETTER DA
+0AA16 CHAM LETTER DHA
+0AA17 CHAM LETTER NUE
+0AA18 CHAM LETTER NA
+0AA19 CHAM LETTER DDA
+0AA1A CHAM LETTER PA
+0AA1B CHAM LETTER PPA
+0AA1C CHAM LETTER PHA
+0AA1D CHAM LETTER BA
+0AA1E CHAM LETTER BHA
+0AA1F CHAM LETTER MUE
+0AA20 CHAM LETTER MA
+0AA21 CHAM LETTER BBA
+0AA22 CHAM LETTER YA
+0AA23 CHAM LETTER RA
+0AA24 CHAM LETTER LA
+0AA25 CHAM LETTER VA
+0AA26 CHAM LETTER SSA
+0AA27 CHAM LETTER SA
+0AA28 CHAM LETTER HA
+0AA29 CHAM VOWEL SIGN AA
+0AA2A CHAM VOWEL SIGN I
+0AA2B CHAM VOWEL SIGN II
+0AA2C CHAM VOWEL SIGN EI
+0AA2D CHAM VOWEL SIGN U
+0AA2E CHAM VOWEL SIGN OE
+0AA2F CHAM VOWEL SIGN O
+0AA30 CHAM VOWEL SIGN AI
+0AA31 CHAM VOWEL SIGN AU
+0AA32 CHAM VOWEL SIGN UE
+0AA33 CHAM CONSONANT SIGN YA
+0AA34 CHAM CONSONANT SIGN RA
+0AA35 CHAM CONSONANT SIGN LA
+0AA36 CHAM CONSONANT SIGN WA
+0AA40 CHAM LETTER FINAL K
+0AA41 CHAM LETTER FINAL G
+0AA42 CHAM LETTER FINAL NG
+0AA43 CHAM CONSONANT SIGN FINAL NG
+0AA44 CHAM LETTER FINAL CH
+0AA45 CHAM LETTER FINAL T
+0AA46 CHAM LETTER FINAL N
+0AA47 CHAM LETTER FINAL P
+0AA48 CHAM LETTER FINAL Y
+0AA49 CHAM LETTER FINAL R
+0AA4A CHAM LETTER FINAL L
+0AA4B CHAM LETTER FINAL SS
+0AA4C CHAM CONSONANT SIGN FINAL M
+0AA4D CHAM CONSONANT SIGN FINAL H
+0AA50 CHAM DIGIT ZERO
+0AA51 CHAM DIGIT ONE
+0AA52 CHAM DIGIT TWO
+0AA53 CHAM DIGIT THREE
+0AA54 CHAM DIGIT FOUR
+0AA55 CHAM DIGIT FIVE
+0AA56 CHAM DIGIT SIX
+0AA57 CHAM DIGIT SEVEN
+0AA58 CHAM DIGIT EIGHT
+0AA59 CHAM DIGIT NINE
+0AA5C CHAM PUNCTUATION SPIRAL
+0AA5D CHAM PUNCTUATION DANDA
+0AA5E CHAM PUNCTUATION DOUBLE DANDA
+0AA5F CHAM PUNCTUATION TRIPLE DANDA
+0AA60 MYANMAR LETTER KHAMTI GA
+0AA61 MYANMAR LETTER KHAMTI CA
+0AA62 MYANMAR LETTER KHAMTI CHA
+0AA63 MYANMAR LETTER KHAMTI JA
+0AA64 MYANMAR LETTER KHAMTI JHA
+0AA65 MYANMAR LETTER KHAMTI NYA
+0AA66 MYANMAR LETTER KHAMTI TTA
+0AA67 MYANMAR LETTER KHAMTI TTHA
+0AA68 MYANMAR LETTER KHAMTI DDA
+0AA69 MYANMAR LETTER KHAMTI DDHA
+0AA6A MYANMAR LETTER KHAMTI DHA
+0AA6B MYANMAR LETTER KHAMTI NA
+0AA6C MYANMAR LETTER KHAMTI SA
+0AA6D MYANMAR LETTER KHAMTI HA
+0AA6E MYANMAR LETTER KHAMTI HHA
+0AA6F MYANMAR LETTER KHAMTI FA
+0AA70 MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+0AA71 MYANMAR LETTER KHAMTI XA
+0AA72 MYANMAR LETTER KHAMTI ZA
+0AA73 MYANMAR LETTER KHAMTI RA
+0AA74 MYANMAR LOGOGRAM KHAMTI OAY
+0AA75 MYANMAR LOGOGRAM KHAMTI QN
+0AA76 MYANMAR LOGOGRAM KHAMTI HM
+0AA77 MYANMAR SYMBOL AITON EXCLAMATION
+0AA78 MYANMAR SYMBOL AITON ONE
+0AA79 MYANMAR SYMBOL AITON TWO
+0AA7A MYANMAR LETTER AITON RA
+0AA7B MYANMAR SIGN PAO KAREN TONE
+0AA80 TAI VIET LETTER LOW KO
+0AA81 TAI VIET LETTER HIGH KO
+0AA82 TAI VIET LETTER LOW KHO
+0AA83 TAI VIET LETTER HIGH KHO
+0AA84 TAI VIET LETTER LOW KHHO
+0AA85 TAI VIET LETTER HIGH KHHO
+0AA86 TAI VIET LETTER LOW GO
+0AA87 TAI VIET LETTER HIGH GO
+0AA88 TAI VIET LETTER LOW NGO
+0AA89 TAI VIET LETTER HIGH NGO
+0AA8A TAI VIET LETTER LOW CO
+0AA8B TAI VIET LETTER HIGH CO
+0AA8C TAI VIET LETTER LOW CHO
+0AA8D TAI VIET LETTER HIGH CHO
+0AA8E TAI VIET LETTER LOW SO
+0AA8F TAI VIET LETTER HIGH SO
+0AA90 TAI VIET LETTER LOW NYO
+0AA91 TAI VIET LETTER HIGH NYO
+0AA92 TAI VIET LETTER LOW DO
+0AA93 TAI VIET LETTER HIGH DO
+0AA94 TAI VIET LETTER LOW TO
+0AA95 TAI VIET LETTER HIGH TO
+0AA96 TAI VIET LETTER LOW THO
+0AA97 TAI VIET LETTER HIGH THO
+0AA98 TAI VIET LETTER LOW NO
+0AA99 TAI VIET LETTER HIGH NO
+0AA9A TAI VIET LETTER LOW BO
+0AA9B TAI VIET LETTER HIGH BO
+0AA9C TAI VIET LETTER LOW PO
+0AA9D TAI VIET LETTER HIGH PO
+0AA9E TAI VIET LETTER LOW PHO
+0AA9F TAI VIET LETTER HIGH PHO
+0AAA0 TAI VIET LETTER LOW FO
+0AAA1 TAI VIET LETTER HIGH FO
+0AAA2 TAI VIET LETTER LOW MO
+0AAA3 TAI VIET LETTER HIGH MO
+0AAA4 TAI VIET LETTER LOW YO
+0AAA5 TAI VIET LETTER HIGH YO
+0AAA6 TAI VIET LETTER LOW RO
+0AAA7 TAI VIET LETTER HIGH RO
+0AAA8 TAI VIET LETTER LOW LO
+0AAA9 TAI VIET LETTER HIGH LO
+0AAAA TAI VIET LETTER LOW VO
+0AAAB TAI VIET LETTER HIGH VO
+0AAAC TAI VIET LETTER LOW HO
+0AAAD TAI VIET LETTER HIGH HO
+0AAAE TAI VIET LETTER LOW O
+0AAAF TAI VIET LETTER HIGH O
+0AAB0 TAI VIET MAI KANG
+0AAB1 TAI VIET VOWEL AA
+0AAB2 TAI VIET VOWEL I
+0AAB3 TAI VIET VOWEL UE
+0AAB4 TAI VIET VOWEL U
+0AAB5 TAI VIET VOWEL E
+0AAB6 TAI VIET VOWEL O
+0AAB7 TAI VIET MAI KHIT
+0AAB8 TAI VIET VOWEL IA
+0AAB9 TAI VIET VOWEL UEA
+0AABA TAI VIET VOWEL UA
+0AABB TAI VIET VOWEL AUE
+0AABC TAI VIET VOWEL AY
+0AABD TAI VIET VOWEL AN
+0AABE TAI VIET VOWEL AM
+0AABF TAI VIET TONE MAI EK
+0AAC0 TAI VIET TONE MAI NUENG
+0AAC1 TAI VIET TONE MAI THO
+0AAC2 TAI VIET TONE MAI SONG
+0AADB TAI VIET SYMBOL KON
+0AADC TAI VIET SYMBOL NUENG
+0AADD TAI VIET SYMBOL SAM
+0AADE TAI VIET SYMBOL HO HOI
+0AADF TAI VIET SYMBOL KOI KOI
+0AB01 ETHIOPIC SYLLABLE TTHU
+0AB02 ETHIOPIC SYLLABLE TTHI
+0AB03 ETHIOPIC SYLLABLE TTHAA
+0AB04 ETHIOPIC SYLLABLE TTHEE
+0AB05 ETHIOPIC SYLLABLE TTHE
+0AB06 ETHIOPIC SYLLABLE TTHO
+0AB09 ETHIOPIC SYLLABLE DDHU
+0AB0A ETHIOPIC SYLLABLE DDHI
+0AB0B ETHIOPIC SYLLABLE DDHAA
+0AB0C ETHIOPIC SYLLABLE DDHEE
+0AB0D ETHIOPIC SYLLABLE DDHE
+0AB0E ETHIOPIC SYLLABLE DDHO
+0AB11 ETHIOPIC SYLLABLE DZU
+0AB12 ETHIOPIC SYLLABLE DZI
+0AB13 ETHIOPIC SYLLABLE DZAA
+0AB14 ETHIOPIC SYLLABLE DZEE
+0AB15 ETHIOPIC SYLLABLE DZE
+0AB16 ETHIOPIC SYLLABLE DZO
+0AB20 ETHIOPIC SYLLABLE CCHHA
+0AB21 ETHIOPIC SYLLABLE CCHHU
+0AB22 ETHIOPIC SYLLABLE CCHHI
+0AB23 ETHIOPIC SYLLABLE CCHHAA
+0AB24 ETHIOPIC SYLLABLE CCHHEE
+0AB25 ETHIOPIC SYLLABLE CCHHE
+0AB26 ETHIOPIC SYLLABLE CCHHO
+0AB28 ETHIOPIC SYLLABLE BBA
+0AB29 ETHIOPIC SYLLABLE BBU
+0AB2A ETHIOPIC SYLLABLE BBI
+0AB2B ETHIOPIC SYLLABLE BBAA
+0AB2C ETHIOPIC SYLLABLE BBEE
+0AB2D ETHIOPIC SYLLABLE BBE
+0AB2E ETHIOPIC SYLLABLE BBO
+0ABC0 MEETEI MAYEK LETTER KOK
+0ABC1 MEETEI MAYEK LETTER SAM
+0ABC2 MEETEI MAYEK LETTER LAI
+0ABC3 MEETEI MAYEK LETTER MIT
+0ABC4 MEETEI MAYEK LETTER PA
+0ABC5 MEETEI MAYEK LETTER NA
+0ABC6 MEETEI MAYEK LETTER CHIL
+0ABC7 MEETEI MAYEK LETTER TIL
+0ABC8 MEETEI MAYEK LETTER KHOU
+0ABC9 MEETEI MAYEK LETTER NGOU
+0ABCA MEETEI MAYEK LETTER THOU
+0ABCB MEETEI MAYEK LETTER WAI
+0ABCC MEETEI MAYEK LETTER YANG
+0ABCD MEETEI MAYEK LETTER HUK
+0ABCE MEETEI MAYEK LETTER UN
+0ABCF MEETEI MAYEK LETTER I
+0ABD0 MEETEI MAYEK LETTER PHAM
+0ABD1 MEETEI MAYEK LETTER ATIYA
+0ABD2 MEETEI MAYEK LETTER GOK
+0ABD3 MEETEI MAYEK LETTER JHAM
+0ABD4 MEETEI MAYEK LETTER RAI
+0ABD5 MEETEI MAYEK LETTER BA
+0ABD6 MEETEI MAYEK LETTER JIL
+0ABD7 MEETEI MAYEK LETTER DIL
+0ABD8 MEETEI MAYEK LETTER GHOU
+0ABD9 MEETEI MAYEK LETTER DHOU
+0ABDA MEETEI MAYEK LETTER BHAM
+0ABDB MEETEI MAYEK LETTER KOK LONSUM
+0ABDC MEETEI MAYEK LETTER LAI LONSUM
+0ABDD MEETEI MAYEK LETTER MIT LONSUM
+0ABDE MEETEI MAYEK LETTER PA LONSUM
+0ABDF MEETEI MAYEK LETTER NA LONSUM
+0ABE0 MEETEI MAYEK LETTER TIL LONSUM
+0ABE1 MEETEI MAYEK LETTER NGOU LONSUM
+0ABE2 MEETEI MAYEK LETTER I LONSUM
+0ABE3 MEETEI MAYEK VOWEL SIGN ONAP
+0ABE4 MEETEI MAYEK VOWEL SIGN INAP
+0ABE5 MEETEI MAYEK VOWEL SIGN ANAP
+0ABE6 MEETEI MAYEK VOWEL SIGN YENAP
+0ABE7 MEETEI MAYEK VOWEL SIGN SOUNAP
+0ABE8 MEETEI MAYEK VOWEL SIGN UNAP
+0ABE9 MEETEI MAYEK VOWEL SIGN CHEINAP
+0ABEA MEETEI MAYEK VOWEL SIGN NUNG
+0ABEB MEETEI MAYEK CHEIKHEI
+0ABEC MEETEI MAYEK LUM IYEK
+0ABED MEETEI MAYEK APUN IYEK
+0ABF0 MEETEI MAYEK DIGIT ZERO
+0ABF1 MEETEI MAYEK DIGIT ONE
+0ABF2 MEETEI MAYEK DIGIT TWO
+0ABF3 MEETEI MAYEK DIGIT THREE
+0ABF4 MEETEI MAYEK DIGIT FOUR
+0ABF5 MEETEI MAYEK DIGIT FIVE
+0ABF6 MEETEI MAYEK DIGIT SIX
+0ABF7 MEETEI MAYEK DIGIT SEVEN
+0ABF8 MEETEI MAYEK DIGIT EIGHT
+0ABF9 MEETEI MAYEK DIGIT NINE
+0D7B0 HANGUL JUNGSEONG O-YEO
+0D7B1 HANGUL JUNGSEONG O-O-I
+0D7B2 HANGUL JUNGSEONG YO-A
+0D7B3 HANGUL JUNGSEONG YO-AE
+0D7B4 HANGUL JUNGSEONG YO-EO
+0D7B5 HANGUL JUNGSEONG U-YEO
+0D7B6 HANGUL JUNGSEONG U-I-I
+0D7B7 HANGUL JUNGSEONG YU-AE
+0D7B8 HANGUL JUNGSEONG YU-O
+0D7B9 HANGUL JUNGSEONG EU-A
+0D7BA HANGUL JUNGSEONG EU-EO
+0D7BB HANGUL JUNGSEONG EU-E
+0D7BC HANGUL JUNGSEONG EU-O
+0D7BD HANGUL JUNGSEONG I-YA-O
+0D7BE HANGUL JUNGSEONG I-YAE
+0D7BF HANGUL JUNGSEONG I-YEO
+0D7C0 HANGUL JUNGSEONG I-YE
+0D7C1 HANGUL JUNGSEONG I-O-I
+0D7C2 HANGUL JUNGSEONG I-YO
+0D7C3 HANGUL JUNGSEONG I-YU
+0D7C4 HANGUL JUNGSEONG I-I
+0D7C5 HANGUL JUNGSEONG ARAEA-A
+0D7C6 HANGUL JUNGSEONG ARAEA-E
+0D7CB HANGUL JONGSEONG NIEUN-RIEUL
+0D7CC HANGUL JONGSEONG NIEUN-CHIEUCH
+0D7CD HANGUL JONGSEONG SSANGTIKEUT
+0D7CE HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+0D7CF HANGUL JONGSEONG TIKEUT-PIEUP
+0D7D0 HANGUL JONGSEONG TIKEUT-SIOS
+0D7D1 HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+0D7D2 HANGUL JONGSEONG TIKEUT-CIEUC
+0D7D3 HANGUL JONGSEONG TIKEUT-CHIEUCH
+0D7D4 HANGUL JONGSEONG TIKEUT-THIEUTH
+0D7D5 HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+0D7D6 HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+0D7D7 HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+0D7D8 HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+0D7D9 HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+0D7DA HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+0D7DB HANGUL JONGSEONG RIEUL-YESIEUNG
+0D7DC HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+0D7DD HANGUL JONGSEONG KAPYEOUNRIEUL
+0D7DE HANGUL JONGSEONG MIEUM-NIEUN
+0D7DF HANGUL JONGSEONG MIEUM-SSANGNIEUN
+0D7E0 HANGUL JONGSEONG SSANGMIEUM
+0D7E1 HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+0D7E2 HANGUL JONGSEONG MIEUM-CIEUC
+0D7E3 HANGUL JONGSEONG PIEUP-TIKEUT
+0D7E4 HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+0D7E5 HANGUL JONGSEONG PIEUP-MIEUM
+0D7E6 HANGUL JONGSEONG SSANGPIEUP
+0D7E7 HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+0D7E8 HANGUL JONGSEONG PIEUP-CIEUC
+0D7E9 HANGUL JONGSEONG PIEUP-CHIEUCH
+0D7EA HANGUL JONGSEONG SIOS-MIEUM
+0D7EB HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+0D7EC HANGUL JONGSEONG SSANGSIOS-KIYEOK
+0D7ED HANGUL JONGSEONG SSANGSIOS-TIKEUT
+0D7EE HANGUL JONGSEONG SIOS-PANSIOS
+0D7EF HANGUL JONGSEONG SIOS-CIEUC
+0D7F0 HANGUL JONGSEONG SIOS-CHIEUCH
+0D7F1 HANGUL JONGSEONG SIOS-THIEUTH
+0D7F2 HANGUL JONGSEONG SIOS-HIEUH
+0D7F3 HANGUL JONGSEONG PANSIOS-PIEUP
+0D7F4 HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+0D7F5 HANGUL JONGSEONG YESIEUNG-MIEUM
+0D7F6 HANGUL JONGSEONG YESIEUNG-HIEUH
+0D7F7 HANGUL JONGSEONG CIEUC-PIEUP
+0D7F8 HANGUL JONGSEONG CIEUC-SSANGPIEUP
+0D7F9 HANGUL JONGSEONG SSANGCIEUC
+0D7FA HANGUL JONGSEONG PHIEUPH-SIOS
+0D7FB HANGUL JONGSEONG PHIEUPH-THIEUTH
+0FB00 LATIN SMALL LIGATURE FF
+0FB01 LATIN SMALL LIGATURE FI
+0FB02 LATIN SMALL LIGATURE FL
+0FB03 LATIN SMALL LIGATURE FFI
+0FB04 LATIN SMALL LIGATURE FFL
+0FB05 LATIN SMALL LIGATURE LONG S T
+0FB06 LATIN SMALL LIGATURE ST
+0FB13 ARMENIAN SMALL LIGATURE MEN NOW
+0FB14 ARMENIAN SMALL LIGATURE MEN ECH
+0FB15 ARMENIAN SMALL LIGATURE MEN INI
+0FB16 ARMENIAN SMALL LIGATURE VEW NOW
+0FB17 ARMENIAN SMALL LIGATURE MEN XEH
+0FB1D HEBREW LETTER YOD WITH HIRIQ
+0FB1E HEBREW POINT JUDEO-SPANISH VARIKA
+0FB1F HEBREW LIGATURE YIDDISH YOD YOD PATAH
+0FB20 HEBREW LETTER ALTERNATIVE AYIN
+0FB21 HEBREW LETTER WIDE ALEF
+0FB22 HEBREW LETTER WIDE DALET
+0FB23 HEBREW LETTER WIDE HE
+0FB24 HEBREW LETTER WIDE KAF
+0FB25 HEBREW LETTER WIDE LAMED
+0FB26 HEBREW LETTER WIDE FINAL MEM
+0FB27 HEBREW LETTER WIDE RESH
+0FB28 HEBREW LETTER WIDE TAV
+0FB29 HEBREW LETTER ALTERNATIVE PLUS SIGN
+0FB2A HEBREW LETTER SHIN WITH SHIN DOT
+0FB2B HEBREW LETTER SHIN WITH SIN DOT
+0FB2C HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+0FB2D HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+0FB2E HEBREW LETTER ALEF WITH PATAH
+0FB2F HEBREW LETTER ALEF WITH QAMATS
+0FB30 HEBREW LETTER ALEF WITH MAPIQ
+0FB31 HEBREW LETTER BET WITH DAGESH
+0FB32 HEBREW LETTER GIMEL WITH DAGESH
+0FB33 HEBREW LETTER DALET WITH DAGESH
+0FB34 HEBREW LETTER HE WITH MAPIQ
+0FB35 HEBREW LETTER VAV WITH DAGESH
+0FB36 HEBREW LETTER ZAYIN WITH DAGESH
+0FB38 HEBREW LETTER TET WITH DAGESH
+0FB39 HEBREW LETTER YOD WITH DAGESH
+0FB3A HEBREW LETTER FINAL KAF WITH DAGESH
+0FB3B HEBREW LETTER KAF WITH DAGESH
+0FB3C HEBREW LETTER LAMED WITH DAGESH
+0FB3E HEBREW LETTER MEM WITH DAGESH
+0FB40 HEBREW LETTER NUN WITH DAGESH
+0FB41 HEBREW LETTER SAMEKH WITH DAGESH
+0FB43 HEBREW LETTER FINAL PE WITH DAGESH
+0FB44 HEBREW LETTER PE WITH DAGESH
+0FB46 HEBREW LETTER TSADI WITH DAGESH
+0FB47 HEBREW LETTER QOF WITH DAGESH
+0FB48 HEBREW LETTER RESH WITH DAGESH
+0FB49 HEBREW LETTER SHIN WITH DAGESH
+0FB4A HEBREW LETTER TAV WITH DAGESH
+0FB4B HEBREW LETTER VAV WITH HOLAM
+0FB4C HEBREW LETTER BET WITH RAFE
+0FB4D HEBREW LETTER KAF WITH RAFE
+0FB4E HEBREW LETTER PE WITH RAFE
+0FB4F HEBREW LIGATURE ALEF LAMED
+0FB50 ARABIC LETTER ALEF WASLA ISOLATED FORM
+0FB51 ARABIC LETTER ALEF WASLA FINAL FORM
+0FB52 ARABIC LETTER BEEH ISOLATED FORM
+0FB53 ARABIC LETTER BEEH FINAL FORM
+0FB54 ARABIC LETTER BEEH INITIAL FORM
+0FB55 ARABIC LETTER BEEH MEDIAL FORM
+0FB56 ARABIC LETTER PEH ISOLATED FORM
+0FB57 ARABIC LETTER PEH FINAL FORM
+0FB58 ARABIC LETTER PEH INITIAL FORM
+0FB59 ARABIC LETTER PEH MEDIAL FORM
+0FB5A ARABIC LETTER BEHEH ISOLATED FORM
+0FB5B ARABIC LETTER BEHEH FINAL FORM
+0FB5C ARABIC LETTER BEHEH INITIAL FORM
+0FB5D ARABIC LETTER BEHEH MEDIAL FORM
+0FB5E ARABIC LETTER TTEHEH ISOLATED FORM
+0FB5F ARABIC LETTER TTEHEH FINAL FORM
+0FB60 ARABIC LETTER TTEHEH INITIAL FORM
+0FB61 ARABIC LETTER TTEHEH MEDIAL FORM
+0FB62 ARABIC LETTER TEHEH ISOLATED FORM
+0FB63 ARABIC LETTER TEHEH FINAL FORM
+0FB64 ARABIC LETTER TEHEH INITIAL FORM
+0FB65 ARABIC LETTER TEHEH MEDIAL FORM
+0FB66 ARABIC LETTER TTEH ISOLATED FORM
+0FB67 ARABIC LETTER TTEH FINAL FORM
+0FB68 ARABIC LETTER TTEH INITIAL FORM
+0FB69 ARABIC LETTER TTEH MEDIAL FORM
+0FB6A ARABIC LETTER VEH ISOLATED FORM
+0FB6B ARABIC LETTER VEH FINAL FORM
+0FB6C ARABIC LETTER VEH INITIAL FORM
+0FB6D ARABIC LETTER VEH MEDIAL FORM
+0FB6E ARABIC LETTER PEHEH ISOLATED FORM
+0FB6F ARABIC LETTER PEHEH FINAL FORM
+0FB70 ARABIC LETTER PEHEH INITIAL FORM
+0FB71 ARABIC LETTER PEHEH MEDIAL FORM
+0FB72 ARABIC LETTER DYEH ISOLATED FORM
+0FB73 ARABIC LETTER DYEH FINAL FORM
+0FB74 ARABIC LETTER DYEH INITIAL FORM
+0FB75 ARABIC LETTER DYEH MEDIAL FORM
+0FB76 ARABIC LETTER NYEH ISOLATED FORM
+0FB77 ARABIC LETTER NYEH FINAL FORM
+0FB78 ARABIC LETTER NYEH INITIAL FORM
+0FB79 ARABIC LETTER NYEH MEDIAL FORM
+0FB7A ARABIC LETTER TCHEH ISOLATED FORM
+0FB7B ARABIC LETTER TCHEH FINAL FORM
+0FB7C ARABIC LETTER TCHEH INITIAL FORM
+0FB7D ARABIC LETTER TCHEH MEDIAL FORM
+0FB7E ARABIC LETTER TCHEHEH ISOLATED FORM
+0FB7F ARABIC LETTER TCHEHEH FINAL FORM
+0FB80 ARABIC LETTER TCHEHEH INITIAL FORM
+0FB81 ARABIC LETTER TCHEHEH MEDIAL FORM
+0FB82 ARABIC LETTER DDAHAL ISOLATED FORM
+0FB83 ARABIC LETTER DDAHAL FINAL FORM
+0FB84 ARABIC LETTER DAHAL ISOLATED FORM
+0FB85 ARABIC LETTER DAHAL FINAL FORM
+0FB86 ARABIC LETTER DUL ISOLATED FORM
+0FB87 ARABIC LETTER DUL FINAL FORM
+0FB88 ARABIC LETTER DDAL ISOLATED FORM
+0FB89 ARABIC LETTER DDAL FINAL FORM
+0FB8A ARABIC LETTER JEH ISOLATED FORM
+0FB8B ARABIC LETTER JEH FINAL FORM
+0FB8C ARABIC LETTER RREH ISOLATED FORM
+0FB8D ARABIC LETTER RREH FINAL FORM
+0FB8E ARABIC LETTER KEHEH ISOLATED FORM
+0FB8F ARABIC LETTER KEHEH FINAL FORM
+0FB90 ARABIC LETTER KEHEH INITIAL FORM
+0FB91 ARABIC LETTER KEHEH MEDIAL FORM
+0FB92 ARABIC LETTER GAF ISOLATED FORM
+0FB93 ARABIC LETTER GAF FINAL FORM
+0FB94 ARABIC LETTER GAF INITIAL FORM
+0FB95 ARABIC LETTER GAF MEDIAL FORM
+0FB96 ARABIC LETTER GUEH ISOLATED FORM
+0FB97 ARABIC LETTER GUEH FINAL FORM
+0FB98 ARABIC LETTER GUEH INITIAL FORM
+0FB99 ARABIC LETTER GUEH MEDIAL FORM
+0FB9A ARABIC LETTER NGOEH ISOLATED FORM
+0FB9B ARABIC LETTER NGOEH FINAL FORM
+0FB9C ARABIC LETTER NGOEH INITIAL FORM
+0FB9D ARABIC LETTER NGOEH MEDIAL FORM
+0FB9E ARABIC LETTER NOON GHUNNA ISOLATED FORM
+0FB9F ARABIC LETTER NOON GHUNNA FINAL FORM
+0FBA0 ARABIC LETTER RNOON ISOLATED FORM
+0FBA1 ARABIC LETTER RNOON FINAL FORM
+0FBA2 ARABIC LETTER RNOON INITIAL FORM
+0FBA3 ARABIC LETTER RNOON MEDIAL FORM
+0FBA4 ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+0FBA5 ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+0FBA6 ARABIC LETTER HEH GOAL ISOLATED FORM
+0FBA7 ARABIC LETTER HEH GOAL FINAL FORM
+0FBA8 ARABIC LETTER HEH GOAL INITIAL FORM
+0FBA9 ARABIC LETTER HEH GOAL MEDIAL FORM
+0FBAA ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+0FBAB ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+0FBAC ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+0FBAD ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+0FBAE ARABIC LETTER YEH BARREE ISOLATED FORM
+0FBAF ARABIC LETTER YEH BARREE FINAL FORM
+0FBB0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+0FBB1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+0FBB2 ARABIC SYMBOL DOT ABOVE
+0FBB3 ARABIC SYMBOL DOT BELOW
+0FBB4 ARABIC SYMBOL TWO DOTS ABOVE
+0FBB5 ARABIC SYMBOL TWO DOTS BELOW
+0FBB6 ARABIC SYMBOL THREE DOTS ABOVE
+0FBB7 ARABIC SYMBOL THREE DOTS BELOW
+0FBB8 ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
+0FBB9 ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
+0FBBA ARABIC SYMBOL FOUR DOTS ABOVE
+0FBBB ARABIC SYMBOL FOUR DOTS BELOW
+0FBBC ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
+0FBBD ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
+0FBBE ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
+0FBBF ARABIC SYMBOL RING
+0FBC0 ARABIC SYMBOL SMALL TAH ABOVE
+0FBC1 ARABIC SYMBOL SMALL TAH BELOW
+0FBD3 ARABIC LETTER NG ISOLATED FORM
+0FBD4 ARABIC LETTER NG FINAL FORM
+0FBD5 ARABIC LETTER NG INITIAL FORM
+0FBD6 ARABIC LETTER NG MEDIAL FORM
+0FBD7 ARABIC LETTER U ISOLATED FORM
+0FBD8 ARABIC LETTER U FINAL FORM
+0FBD9 ARABIC LETTER OE ISOLATED FORM
+0FBDA ARABIC LETTER OE FINAL FORM
+0FBDB ARABIC LETTER YU ISOLATED FORM
+0FBDC ARABIC LETTER YU FINAL FORM
+0FBDD ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+0FBDE ARABIC LETTER VE ISOLATED FORM
+0FBDF ARABIC LETTER VE FINAL FORM
+0FBE0 ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+0FBE1 ARABIC LETTER KIRGHIZ OE FINAL FORM
+0FBE2 ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+0FBE3 ARABIC LETTER KIRGHIZ YU FINAL FORM
+0FBE4 ARABIC LETTER E ISOLATED FORM
+0FBE5 ARABIC LETTER E FINAL FORM
+0FBE6 ARABIC LETTER E INITIAL FORM
+0FBE7 ARABIC LETTER E MEDIAL FORM
+0FBE8 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+0FBE9 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+0FBEA ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+0FBEB ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+0FBEC ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+0FBED ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+0FBEE ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+0FBEF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+0FBF0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+0FBF1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+0FBF2 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+0FBF3 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+0FBF4 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+0FBF5 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+0FBF6 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+0FBF7 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+0FBF8 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+0FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+0FBFA ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+0FBFB ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+0FBFC ARABIC LETTER FARSI YEH ISOLATED FORM
+0FBFD ARABIC LETTER FARSI YEH FINAL FORM
+0FBFE ARABIC LETTER FARSI YEH INITIAL FORM
+0FBFF ARABIC LETTER FARSI YEH MEDIAL FORM
+0FC00 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+0FC01 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+0FC02 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+0FC03 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+0FC04 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+0FC05 ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+0FC06 ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+0FC07 ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+0FC08 ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+0FC09 ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+0FC0A ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+0FC0B ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+0FC0C ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+0FC0D ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+0FC0E ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+0FC0F ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+0FC10 ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+0FC11 ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+0FC12 ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+0FC13 ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+0FC14 ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+0FC15 ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+0FC16 ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+0FC17 ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+0FC18 ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+0FC19 ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+0FC1A ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+0FC1B ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+0FC1C ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+0FC1D ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+0FC1E ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+0FC1F ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+0FC20 ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+0FC21 ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+0FC22 ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+0FC23 ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+0FC24 ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+0FC25 ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+0FC26 ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+0FC27 ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+0FC28 ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+0FC29 ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+0FC2A ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+0FC2B ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+0FC2C ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+0FC2D ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+0FC2E ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+0FC2F ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+0FC30 ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+0FC31 ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+0FC32 ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+0FC33 ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+0FC34 ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+0FC35 ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+0FC36 ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+0FC37 ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+0FC38 ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+0FC39 ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+0FC3A ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+0FC3B ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+0FC3C ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+0FC3D ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+0FC3E ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+0FC3F ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+0FC40 ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+0FC41 ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+0FC42 ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+0FC43 ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+0FC44 ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+0FC45 ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+0FC46 ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+0FC47 ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+0FC48 ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+0FC49 ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+0FC4A ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+0FC4B ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+0FC4C ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+0FC4D ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+0FC4E ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+0FC4F ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+0FC50 ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+0FC51 ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+0FC52 ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+0FC53 ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+0FC54 ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+0FC55 ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+0FC56 ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+0FC57 ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+0FC58 ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+0FC59 ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+0FC5A ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+0FC5B ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+0FC5C ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+0FC5D ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+0FC5E ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+0FC5F ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+0FC60 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
+0FC61 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+0FC62 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
+0FC63 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+0FC64 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+0FC65 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+0FC66 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+0FC67 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+0FC68 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+0FC69 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+0FC6A ARABIC LIGATURE BEH WITH REH FINAL FORM
+0FC6B ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+0FC6C ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+0FC6D ARABIC LIGATURE BEH WITH NOON FINAL FORM
+0FC6E ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+0FC6F ARABIC LIGATURE BEH WITH YEH FINAL FORM
+0FC70 ARABIC LIGATURE TEH WITH REH FINAL FORM
+0FC71 ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+0FC72 ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+0FC73 ARABIC LIGATURE TEH WITH NOON FINAL FORM
+0FC74 ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+0FC75 ARABIC LIGATURE TEH WITH YEH FINAL FORM
+0FC76 ARABIC LIGATURE THEH WITH REH FINAL FORM
+0FC77 ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+0FC78 ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+0FC79 ARABIC LIGATURE THEH WITH NOON FINAL FORM
+0FC7A ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+0FC7B ARABIC LIGATURE THEH WITH YEH FINAL FORM
+0FC7C ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+0FC7D ARABIC LIGATURE FEH WITH YEH FINAL FORM
+0FC7E ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+0FC7F ARABIC LIGATURE QAF WITH YEH FINAL FORM
+0FC80 ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+0FC81 ARABIC LIGATURE KAF WITH LAM FINAL FORM
+0FC82 ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+0FC83 ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+0FC84 ARABIC LIGATURE KAF WITH YEH FINAL FORM
+0FC85 ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+0FC86 ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+0FC87 ARABIC LIGATURE LAM WITH YEH FINAL FORM
+0FC88 ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+0FC89 ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+0FC8A ARABIC LIGATURE NOON WITH REH FINAL FORM
+0FC8B ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+0FC8C ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+0FC8D ARABIC LIGATURE NOON WITH NOON FINAL FORM
+0FC8E ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+0FC8F ARABIC LIGATURE NOON WITH YEH FINAL FORM
+0FC90 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+0FC91 ARABIC LIGATURE YEH WITH REH FINAL FORM
+0FC92 ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+0FC93 ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+0FC94 ARABIC LIGATURE YEH WITH NOON FINAL FORM
+0FC95 ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+0FC96 ARABIC LIGATURE YEH WITH YEH FINAL FORM
+0FC97 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+0FC98 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+0FC99 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+0FC9A ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+0FC9B ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+0FC9C ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+0FC9D ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+0FC9E ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+0FC9F ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+0FCA0 ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+0FCA1 ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+0FCA2 ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+0FCA3 ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+0FCA4 ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+0FCA5 ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+0FCA6 ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+0FCA7 ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+0FCA8 ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+0FCA9 ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+0FCAA ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+0FCAB ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+0FCAC ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+0FCAD ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+0FCAE ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+0FCAF ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+0FCB0 ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+0FCB1 ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+0FCB2 ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+0FCB3 ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+0FCB4 ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+0FCB5 ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+0FCB6 ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+0FCB7 ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+0FCB8 ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+0FCB9 ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+0FCBA ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+0FCBB ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+0FCBC ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+0FCBD ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+0FCBE ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+0FCBF ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+0FCC0 ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+0FCC1 ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+0FCC2 ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+0FCC3 ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+0FCC4 ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+0FCC5 ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+0FCC6 ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+0FCC7 ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+0FCC8 ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+0FCC9 ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+0FCCA ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+0FCCB ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+0FCCC ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+0FCCD ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+0FCCE ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+0FCCF ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+0FCD0 ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+0FCD1 ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+0FCD2 ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+0FCD3 ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+0FCD4 ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+0FCD5 ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+0FCD6 ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+0FCD7 ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+0FCD8 ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+0FCD9 ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+0FCDA ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+0FCDB ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+0FCDC ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+0FCDD ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+0FCDE ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+0FCDF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+0FCE0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+0FCE1 ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+0FCE2 ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+0FCE3 ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+0FCE4 ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+0FCE5 ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+0FCE6 ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+0FCE7 ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+0FCE8 ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+0FCE9 ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+0FCEA ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+0FCEB ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+0FCEC ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+0FCED ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+0FCEE ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+0FCEF ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+0FCF0 ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+0FCF1 ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+0FCF2 ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
+0FCF3 ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
+0FCF4 ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
+0FCF5 ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+0FCF6 ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+0FCF7 ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+0FCF8 ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+0FCF9 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+0FCFA ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+0FCFB ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+0FCFC ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+0FCFD ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+0FCFE ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+0FCFF ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+0FD00 ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+0FD01 ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+0FD02 ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+0FD03 ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+0FD04 ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+0FD05 ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+0FD06 ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+0FD07 ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+0FD08 ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+0FD09 ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+0FD0A ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+0FD0B ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+0FD0C ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+0FD0D ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+0FD0E ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+0FD0F ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+0FD10 ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+0FD11 ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+0FD12 ARABIC LIGATURE TAH WITH YEH FINAL FORM
+0FD13 ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+0FD14 ARABIC LIGATURE AIN WITH YEH FINAL FORM
+0FD15 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+0FD16 ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+0FD17 ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+0FD18 ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+0FD19 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+0FD1A ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+0FD1B ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+0FD1C ARABIC LIGATURE HAH WITH YEH FINAL FORM
+0FD1D ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+0FD1E ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+0FD1F ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+0FD20 ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+0FD21 ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+0FD22 ARABIC LIGATURE SAD WITH YEH FINAL FORM
+0FD23 ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+0FD24 ARABIC LIGATURE DAD WITH YEH FINAL FORM
+0FD25 ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+0FD26 ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+0FD27 ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+0FD28 ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+0FD29 ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+0FD2A ARABIC LIGATURE SEEN WITH REH FINAL FORM
+0FD2B ARABIC LIGATURE SAD WITH REH FINAL FORM
+0FD2C ARABIC LIGATURE DAD WITH REH FINAL FORM
+0FD2D ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+0FD2E ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+0FD2F ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+0FD30 ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+0FD31 ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+0FD32 ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+0FD33 ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+0FD34 ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+0FD35 ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+0FD36 ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+0FD37 ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+0FD38 ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+0FD39 ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+0FD3A ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+0FD3B ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+0FD3C ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+0FD3D ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+0FD3E ORNATE LEFT PARENTHESIS
+0FD3F ORNATE RIGHT PARENTHESIS
+0FD50 ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+0FD51 ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+0FD52 ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+0FD53 ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+0FD54 ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+0FD55 ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+0FD56 ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+0FD57 ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+0FD58 ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+0FD59 ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+0FD5A ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+0FD5B ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+0FD5C ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+0FD5D ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+0FD5E ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+0FD5F ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+0FD60 ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+0FD61 ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+0FD62 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+0FD63 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+0FD64 ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+0FD65 ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+0FD66 ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+0FD67 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+0FD68 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+0FD69 ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+0FD6A ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+0FD6B ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+0FD6C ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+0FD6D ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+0FD6E ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+0FD6F ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+0FD70 ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+0FD71 ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+0FD72 ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+0FD73 ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+0FD74 ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+0FD75 ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+0FD76 ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+0FD77 ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+0FD78 ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+0FD79 ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+0FD7A ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+0FD7B ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+0FD7C ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+0FD7D ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+0FD7E ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+0FD7F ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+0FD80 ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+0FD81 ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+0FD82 ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+0FD83 ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+0FD84 ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+0FD85 ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+0FD86 ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+0FD87 ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+0FD88 ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+0FD89 ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+0FD8A ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+0FD8B ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+0FD8C ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+0FD8D ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+0FD8E ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+0FD8F ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+0FD92 ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+0FD93 ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+0FD94 ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+0FD95 ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+0FD96 ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+0FD97 ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+0FD98 ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+0FD99 ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+0FD9A ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+0FD9B ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+0FD9C ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+0FD9D ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+0FD9E ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+0FD9F ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+0FDA0 ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+0FDA1 ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+0FDA2 ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+0FDA3 ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+0FDA4 ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+0FDA5 ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+0FDA6 ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+0FDA7 ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+0FDA8 ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+0FDA9 ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+0FDAA ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+0FDAB ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+0FDAC ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+0FDAD ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+0FDAE ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+0FDAF ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+0FDB0 ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+0FDB1 ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+0FDB2 ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+0FDB3 ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+0FDB4 ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+0FDB5 ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+0FDB6 ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+0FDB7 ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+0FDB8 ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+0FDB9 ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+0FDBA ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+0FDBB ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+0FDBC ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+0FDBD ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+0FDBE ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+0FDBF ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+0FDC0 ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+0FDC1 ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+0FDC2 ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+0FDC3 ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+0FDC4 ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+0FDC5 ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+0FDC6 ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+0FDC7 ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+0FDF0 ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+0FDF1 ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+0FDF2 ARABIC LIGATURE ALLAH ISOLATED FORM
+0FDF3 ARABIC LIGATURE AKBAR ISOLATED FORM
+0FDF4 ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+0FDF5 ARABIC LIGATURE SALAM ISOLATED FORM
+0FDF6 ARABIC LIGATURE RASOUL ISOLATED FORM
+0FDF7 ARABIC LIGATURE ALAYHE ISOLATED FORM
+0FDF8 ARABIC LIGATURE WASALLAM ISOLATED FORM
+0FDF9 ARABIC LIGATURE SALLA ISOLATED FORM
+0FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+0FDFB ARABIC LIGATURE JALLAJALALOUHOU
+0FDFC RIAL SIGN
+0FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+0FE00 VARIATION SELECTOR-1
+0FE01 VARIATION SELECTOR-2
+0FE02 VARIATION SELECTOR-3
+0FE03 VARIATION SELECTOR-4
+0FE04 VARIATION SELECTOR-5
+0FE05 VARIATION SELECTOR-6
+0FE06 VARIATION SELECTOR-7
+0FE07 VARIATION SELECTOR-8
+0FE08 VARIATION SELECTOR-9
+0FE09 VARIATION SELECTOR-10
+0FE0A VARIATION SELECTOR-11
+0FE0B VARIATION SELECTOR-12
+0FE0C VARIATION SELECTOR-13
+0FE0D VARIATION SELECTOR-14
+0FE0E VARIATION SELECTOR-15
+0FE0F VARIATION SELECTOR-16
+0FE10 PRESENTATION FORM FOR VERTICAL COMMA
+0FE11 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
+0FE12 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
+0FE13 PRESENTATION FORM FOR VERTICAL COLON
+0FE14 PRESENTATION FORM FOR VERTICAL SEMICOLON
+0FE15 PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
+0FE16 PRESENTATION FORM FOR VERTICAL QUESTION MARK
+0FE17 PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+0FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET
+0FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
+0FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
+0FE20 COMBINING LIGATURE LEFT HALF
+0FE21 COMBINING LIGATURE RIGHT HALF
+0FE22 COMBINING DOUBLE TILDE LEFT HALF
+0FE23 COMBINING DOUBLE TILDE RIGHT HALF
+0FE24 COMBINING MACRON LEFT HALF
+0FE25 COMBINING MACRON RIGHT HALF
+0FE26 COMBINING CONJOINING MACRON
+0FE30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+0FE31 PRESENTATION FORM FOR VERTICAL EM DASH
+0FE32 PRESENTATION FORM FOR VERTICAL EN DASH
+0FE33 PRESENTATION FORM FOR VERTICAL LOW LINE
+0FE34 PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+0FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+0FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+0FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+0FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+0FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+0FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+0FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+0FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+0FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+0FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+0FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+0FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+0FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+0FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+0FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+0FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+0FE45 SESAME DOT
+0FE46 WHITE SESAME DOT
+0FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+0FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+0FE49 DASHED OVERLINE
+0FE4A CENTRELINE OVERLINE
+0FE4B WAVY OVERLINE
+0FE4C DOUBLE WAVY OVERLINE
+0FE4D DASHED LOW LINE
+0FE4E CENTRELINE LOW LINE
+0FE4F WAVY LOW LINE
+0FE50 SMALL COMMA
+0FE51 SMALL IDEOGRAPHIC COMMA
+0FE52 SMALL FULL STOP
+0FE54 SMALL SEMICOLON
+0FE55 SMALL COLON
+0FE56 SMALL QUESTION MARK
+0FE57 SMALL EXCLAMATION MARK
+0FE58 SMALL EM DASH
+0FE59 SMALL LEFT PARENTHESIS
+0FE5A SMALL RIGHT PARENTHESIS
+0FE5B SMALL LEFT CURLY BRACKET
+0FE5C SMALL RIGHT CURLY BRACKET
+0FE5D SMALL LEFT TORTOISE SHELL BRACKET
+0FE5E SMALL RIGHT TORTOISE SHELL BRACKET
+0FE5F SMALL NUMBER SIGN
+0FE60 SMALL AMPERSAND
+0FE61 SMALL ASTERISK
+0FE62 SMALL PLUS SIGN
+0FE63 SMALL HYPHEN-MINUS
+0FE64 SMALL LESS-THAN SIGN
+0FE65 SMALL GREATER-THAN SIGN
+0FE66 SMALL EQUALS SIGN
+0FE68 SMALL REVERSE SOLIDUS
+0FE69 SMALL DOLLAR SIGN
+0FE6A SMALL PERCENT SIGN
+0FE6B SMALL COMMERCIAL AT
+0FE70 ARABIC FATHATAN ISOLATED FORM
+0FE71 ARABIC TATWEEL WITH FATHATAN ABOVE
+0FE72 ARABIC DAMMATAN ISOLATED FORM
+0FE73 ARABIC TAIL FRAGMENT
+0FE74 ARABIC KASRATAN ISOLATED FORM
+0FE76 ARABIC FATHA ISOLATED FORM
+0FE77 ARABIC FATHA MEDIAL FORM
+0FE78 ARABIC DAMMA ISOLATED FORM
+0FE79 ARABIC DAMMA MEDIAL FORM
+0FE7A ARABIC KASRA ISOLATED FORM
+0FE7B ARABIC KASRA MEDIAL FORM
+0FE7C ARABIC SHADDA ISOLATED FORM
+0FE7D ARABIC SHADDA MEDIAL FORM
+0FE7E ARABIC SUKUN ISOLATED FORM
+0FE7F ARABIC SUKUN MEDIAL FORM
+0FE80 ARABIC LETTER HAMZA ISOLATED FORM
+0FE81 ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+0FE82 ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+0FE83 ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+0FE84 ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+0FE85 ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+0FE86 ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+0FE87 ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+0FE88 ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+0FE89 ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+0FE8A ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+0FE8B ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+0FE8C ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+0FE8D ARABIC LETTER ALEF ISOLATED FORM
+0FE8E ARABIC LETTER ALEF FINAL FORM
+0FE8F ARABIC LETTER BEH ISOLATED FORM
+0FE90 ARABIC LETTER BEH FINAL FORM
+0FE91 ARABIC LETTER BEH INITIAL FORM
+0FE92 ARABIC LETTER BEH MEDIAL FORM
+0FE93 ARABIC LETTER TEH MARBUTA ISOLATED FORM
+0FE94 ARABIC LETTER TEH MARBUTA FINAL FORM
+0FE95 ARABIC LETTER TEH ISOLATED FORM
+0FE96 ARABIC LETTER TEH FINAL FORM
+0FE97 ARABIC LETTER TEH INITIAL FORM
+0FE98 ARABIC LETTER TEH MEDIAL FORM
+0FE99 ARABIC LETTER THEH ISOLATED FORM
+0FE9A ARABIC LETTER THEH FINAL FORM
+0FE9B ARABIC LETTER THEH INITIAL FORM
+0FE9C ARABIC LETTER THEH MEDIAL FORM
+0FE9D ARABIC LETTER JEEM ISOLATED FORM
+0FE9E ARABIC LETTER JEEM FINAL FORM
+0FE9F ARABIC LETTER JEEM INITIAL FORM
+0FEA0 ARABIC LETTER JEEM MEDIAL FORM
+0FEA1 ARABIC LETTER HAH ISOLATED FORM
+0FEA2 ARABIC LETTER HAH FINAL FORM
+0FEA3 ARABIC LETTER HAH INITIAL FORM
+0FEA4 ARABIC LETTER HAH MEDIAL FORM
+0FEA5 ARABIC LETTER KHAH ISOLATED FORM
+0FEA6 ARABIC LETTER KHAH FINAL FORM
+0FEA7 ARABIC LETTER KHAH INITIAL FORM
+0FEA8 ARABIC LETTER KHAH MEDIAL FORM
+0FEA9 ARABIC LETTER DAL ISOLATED FORM
+0FEAA ARABIC LETTER DAL FINAL FORM
+0FEAB ARABIC LETTER THAL ISOLATED FORM
+0FEAC ARABIC LETTER THAL FINAL FORM
+0FEAD ARABIC LETTER REH ISOLATED FORM
+0FEAE ARABIC LETTER REH FINAL FORM
+0FEAF ARABIC LETTER ZAIN ISOLATED FORM
+0FEB0 ARABIC LETTER ZAIN FINAL FORM
+0FEB1 ARABIC LETTER SEEN ISOLATED FORM
+0FEB2 ARABIC LETTER SEEN FINAL FORM
+0FEB3 ARABIC LETTER SEEN INITIAL FORM
+0FEB4 ARABIC LETTER SEEN MEDIAL FORM
+0FEB5 ARABIC LETTER SHEEN ISOLATED FORM
+0FEB6 ARABIC LETTER SHEEN FINAL FORM
+0FEB7 ARABIC LETTER SHEEN INITIAL FORM
+0FEB8 ARABIC LETTER SHEEN MEDIAL FORM
+0FEB9 ARABIC LETTER SAD ISOLATED FORM
+0FEBA ARABIC LETTER SAD FINAL FORM
+0FEBB ARABIC LETTER SAD INITIAL FORM
+0FEBC ARABIC LETTER SAD MEDIAL FORM
+0FEBD ARABIC LETTER DAD ISOLATED FORM
+0FEBE ARABIC LETTER DAD FINAL FORM
+0FEBF ARABIC LETTER DAD INITIAL FORM
+0FEC0 ARABIC LETTER DAD MEDIAL FORM
+0FEC1 ARABIC LETTER TAH ISOLATED FORM
+0FEC2 ARABIC LETTER TAH FINAL FORM
+0FEC3 ARABIC LETTER TAH INITIAL FORM
+0FEC4 ARABIC LETTER TAH MEDIAL FORM
+0FEC5 ARABIC LETTER ZAH ISOLATED FORM
+0FEC6 ARABIC LETTER ZAH FINAL FORM
+0FEC7 ARABIC LETTER ZAH INITIAL FORM
+0FEC8 ARABIC LETTER ZAH MEDIAL FORM
+0FEC9 ARABIC LETTER AIN ISOLATED FORM
+0FECA ARABIC LETTER AIN FINAL FORM
+0FECB ARABIC LETTER AIN INITIAL FORM
+0FECC ARABIC LETTER AIN MEDIAL FORM
+0FECD ARABIC LETTER GHAIN ISOLATED FORM
+0FECE ARABIC LETTER GHAIN FINAL FORM
+0FECF ARABIC LETTER GHAIN INITIAL FORM
+0FED0 ARABIC LETTER GHAIN MEDIAL FORM
+0FED1 ARABIC LETTER FEH ISOLATED FORM
+0FED2 ARABIC LETTER FEH FINAL FORM
+0FED3 ARABIC LETTER FEH INITIAL FORM
+0FED4 ARABIC LETTER FEH MEDIAL FORM
+0FED5 ARABIC LETTER QAF ISOLATED FORM
+0FED6 ARABIC LETTER QAF FINAL FORM
+0FED7 ARABIC LETTER QAF INITIAL FORM
+0FED8 ARABIC LETTER QAF MEDIAL FORM
+0FED9 ARABIC LETTER KAF ISOLATED FORM
+0FEDA ARABIC LETTER KAF FINAL FORM
+0FEDB ARABIC LETTER KAF INITIAL FORM
+0FEDC ARABIC LETTER KAF MEDIAL FORM
+0FEDD ARABIC LETTER LAM ISOLATED FORM
+0FEDE ARABIC LETTER LAM FINAL FORM
+0FEDF ARABIC LETTER LAM INITIAL FORM
+0FEE0 ARABIC LETTER LAM MEDIAL FORM
+0FEE1 ARABIC LETTER MEEM ISOLATED FORM
+0FEE2 ARABIC LETTER MEEM FINAL FORM
+0FEE3 ARABIC LETTER MEEM INITIAL FORM
+0FEE4 ARABIC LETTER MEEM MEDIAL FORM
+0FEE5 ARABIC LETTER NOON ISOLATED FORM
+0FEE6 ARABIC LETTER NOON FINAL FORM
+0FEE7 ARABIC LETTER NOON INITIAL FORM
+0FEE8 ARABIC LETTER NOON MEDIAL FORM
+0FEE9 ARABIC LETTER HEH ISOLATED FORM
+0FEEA ARABIC LETTER HEH FINAL FORM
+0FEEB ARABIC LETTER HEH INITIAL FORM
+0FEEC ARABIC LETTER HEH MEDIAL FORM
+0FEED ARABIC LETTER WAW ISOLATED FORM
+0FEEE ARABIC LETTER WAW FINAL FORM
+0FEEF ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+0FEF0 ARABIC LETTER ALEF MAKSURA FINAL FORM
+0FEF1 ARABIC LETTER YEH ISOLATED FORM
+0FEF2 ARABIC LETTER YEH FINAL FORM
+0FEF3 ARABIC LETTER YEH INITIAL FORM
+0FEF4 ARABIC LETTER YEH MEDIAL FORM
+0FEF5 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+0FEF6 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+0FEF7 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+0FEF8 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+0FEF9 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+0FEFA ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+0FEFB ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+0FEFC ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+0FEFF ZERO WIDTH NO-BREAK SPACE
+0FF01 FULLWIDTH EXCLAMATION MARK
+0FF02 FULLWIDTH QUOTATION MARK
+0FF03 FULLWIDTH NUMBER SIGN
+0FF04 FULLWIDTH DOLLAR SIGN
+0FF05 FULLWIDTH PERCENT SIGN
+0FF06 FULLWIDTH AMPERSAND
+0FF07 FULLWIDTH APOSTROPHE
+0FF08 FULLWIDTH LEFT PARENTHESIS
+0FF09 FULLWIDTH RIGHT PARENTHESIS
+0FF0A FULLWIDTH ASTERISK
+0FF0B FULLWIDTH PLUS SIGN
+0FF0C FULLWIDTH COMMA
+0FF0D FULLWIDTH HYPHEN-MINUS
+0FF0E FULLWIDTH FULL STOP
+0FF0F FULLWIDTH SOLIDUS
+0FF10 FULLWIDTH DIGIT ZERO
+0FF11 FULLWIDTH DIGIT ONE
+0FF12 FULLWIDTH DIGIT TWO
+0FF13 FULLWIDTH DIGIT THREE
+0FF14 FULLWIDTH DIGIT FOUR
+0FF15 FULLWIDTH DIGIT FIVE
+0FF16 FULLWIDTH DIGIT SIX
+0FF17 FULLWIDTH DIGIT SEVEN
+0FF18 FULLWIDTH DIGIT EIGHT
+0FF19 FULLWIDTH DIGIT NINE
+0FF1A FULLWIDTH COLON
+0FF1B FULLWIDTH SEMICOLON
+0FF1C FULLWIDTH LESS-THAN SIGN
+0FF1D FULLWIDTH EQUALS SIGN
+0FF1E FULLWIDTH GREATER-THAN SIGN
+0FF1F FULLWIDTH QUESTION MARK
+0FF20 FULLWIDTH COMMERCIAL AT
+0FF21 FULLWIDTH LATIN CAPITAL LETTER A
+0FF22 FULLWIDTH LATIN CAPITAL LETTER B
+0FF23 FULLWIDTH LATIN CAPITAL LETTER C
+0FF24 FULLWIDTH LATIN CAPITAL LETTER D
+0FF25 FULLWIDTH LATIN CAPITAL LETTER E
+0FF26 FULLWIDTH LATIN CAPITAL LETTER F
+0FF27 FULLWIDTH LATIN CAPITAL LETTER G
+0FF28 FULLWIDTH LATIN CAPITAL LETTER H
+0FF29 FULLWIDTH LATIN CAPITAL LETTER I
+0FF2A FULLWIDTH LATIN CAPITAL LETTER J
+0FF2B FULLWIDTH LATIN CAPITAL LETTER K
+0FF2C FULLWIDTH LATIN CAPITAL LETTER L
+0FF2D FULLWIDTH LATIN CAPITAL LETTER M
+0FF2E FULLWIDTH LATIN CAPITAL LETTER N
+0FF2F FULLWIDTH LATIN CAPITAL LETTER O
+0FF30 FULLWIDTH LATIN CAPITAL LETTER P
+0FF31 FULLWIDTH LATIN CAPITAL LETTER Q
+0FF32 FULLWIDTH LATIN CAPITAL LETTER R
+0FF33 FULLWIDTH LATIN CAPITAL LETTER S
+0FF34 FULLWIDTH LATIN CAPITAL LETTER T
+0FF35 FULLWIDTH LATIN CAPITAL LETTER U
+0FF36 FULLWIDTH LATIN CAPITAL LETTER V
+0FF37 FULLWIDTH LATIN CAPITAL LETTER W
+0FF38 FULLWIDTH LATIN CAPITAL LETTER X
+0FF39 FULLWIDTH LATIN CAPITAL LETTER Y
+0FF3A FULLWIDTH LATIN CAPITAL LETTER Z
+0FF3B FULLWIDTH LEFT SQUARE BRACKET
+0FF3C FULLWIDTH REVERSE SOLIDUS
+0FF3D FULLWIDTH RIGHT SQUARE BRACKET
+0FF3E FULLWIDTH CIRCUMFLEX ACCENT
+0FF3F FULLWIDTH LOW LINE
+0FF40 FULLWIDTH GRAVE ACCENT
+0FF41 FULLWIDTH LATIN SMALL LETTER A
+0FF42 FULLWIDTH LATIN SMALL LETTER B
+0FF43 FULLWIDTH LATIN SMALL LETTER C
+0FF44 FULLWIDTH LATIN SMALL LETTER D
+0FF45 FULLWIDTH LATIN SMALL LETTER E
+0FF46 FULLWIDTH LATIN SMALL LETTER F
+0FF47 FULLWIDTH LATIN SMALL LETTER G
+0FF48 FULLWIDTH LATIN SMALL LETTER H
+0FF49 FULLWIDTH LATIN SMALL LETTER I
+0FF4A FULLWIDTH LATIN SMALL LETTER J
+0FF4B FULLWIDTH LATIN SMALL LETTER K
+0FF4C FULLWIDTH LATIN SMALL LETTER L
+0FF4D FULLWIDTH LATIN SMALL LETTER M
+0FF4E FULLWIDTH LATIN SMALL LETTER N
+0FF4F FULLWIDTH LATIN SMALL LETTER O
+0FF50 FULLWIDTH LATIN SMALL LETTER P
+0FF51 FULLWIDTH LATIN SMALL LETTER Q
+0FF52 FULLWIDTH LATIN SMALL LETTER R
+0FF53 FULLWIDTH LATIN SMALL LETTER S
+0FF54 FULLWIDTH LATIN SMALL LETTER T
+0FF55 FULLWIDTH LATIN SMALL LETTER U
+0FF56 FULLWIDTH LATIN SMALL LETTER V
+0FF57 FULLWIDTH LATIN SMALL LETTER W
+0FF58 FULLWIDTH LATIN SMALL LETTER X
+0FF59 FULLWIDTH LATIN SMALL LETTER Y
+0FF5A FULLWIDTH LATIN SMALL LETTER Z
+0FF5B FULLWIDTH LEFT CURLY BRACKET
+0FF5C FULLWIDTH VERTICAL LINE
+0FF5D FULLWIDTH RIGHT CURLY BRACKET
+0FF5E FULLWIDTH TILDE
+0FF5F FULLWIDTH LEFT WHITE PARENTHESIS
+0FF60 FULLWIDTH RIGHT WHITE PARENTHESIS
+0FF61 HALFWIDTH IDEOGRAPHIC FULL STOP
+0FF62 HALFWIDTH LEFT CORNER BRACKET
+0FF63 HALFWIDTH RIGHT CORNER BRACKET
+0FF64 HALFWIDTH IDEOGRAPHIC COMMA
+0FF65 HALFWIDTH KATAKANA MIDDLE DOT
+0FF66 HALFWIDTH KATAKANA LETTER WO
+0FF67 HALFWIDTH KATAKANA LETTER SMALL A
+0FF68 HALFWIDTH KATAKANA LETTER SMALL I
+0FF69 HALFWIDTH KATAKANA LETTER SMALL U
+0FF6A HALFWIDTH KATAKANA LETTER SMALL E
+0FF6B HALFWIDTH KATAKANA LETTER SMALL O
+0FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+0FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+0FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+0FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+0FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+0FF71 HALFWIDTH KATAKANA LETTER A
+0FF72 HALFWIDTH KATAKANA LETTER I
+0FF73 HALFWIDTH KATAKANA LETTER U
+0FF74 HALFWIDTH KATAKANA LETTER E
+0FF75 HALFWIDTH KATAKANA LETTER O
+0FF76 HALFWIDTH KATAKANA LETTER KA
+0FF77 HALFWIDTH KATAKANA LETTER KI
+0FF78 HALFWIDTH KATAKANA LETTER KU
+0FF79 HALFWIDTH KATAKANA LETTER KE
+0FF7A HALFWIDTH KATAKANA LETTER KO
+0FF7B HALFWIDTH KATAKANA LETTER SA
+0FF7C HALFWIDTH KATAKANA LETTER SI
+0FF7D HALFWIDTH KATAKANA LETTER SU
+0FF7E HALFWIDTH KATAKANA LETTER SE
+0FF7F HALFWIDTH KATAKANA LETTER SO
+0FF80 HALFWIDTH KATAKANA LETTER TA
+0FF81 HALFWIDTH KATAKANA LETTER TI
+0FF82 HALFWIDTH KATAKANA LETTER TU
+0FF83 HALFWIDTH KATAKANA LETTER TE
+0FF84 HALFWIDTH KATAKANA LETTER TO
+0FF85 HALFWIDTH KATAKANA LETTER NA
+0FF86 HALFWIDTH KATAKANA LETTER NI
+0FF87 HALFWIDTH KATAKANA LETTER NU
+0FF88 HALFWIDTH KATAKANA LETTER NE
+0FF89 HALFWIDTH KATAKANA LETTER NO
+0FF8A HALFWIDTH KATAKANA LETTER HA
+0FF8B HALFWIDTH KATAKANA LETTER HI
+0FF8C HALFWIDTH KATAKANA LETTER HU
+0FF8D HALFWIDTH KATAKANA LETTER HE
+0FF8E HALFWIDTH KATAKANA LETTER HO
+0FF8F HALFWIDTH KATAKANA LETTER MA
+0FF90 HALFWIDTH KATAKANA LETTER MI
+0FF91 HALFWIDTH KATAKANA LETTER MU
+0FF92 HALFWIDTH KATAKANA LETTER ME
+0FF93 HALFWIDTH KATAKANA LETTER MO
+0FF94 HALFWIDTH KATAKANA LETTER YA
+0FF95 HALFWIDTH KATAKANA LETTER YU
+0FF96 HALFWIDTH KATAKANA LETTER YO
+0FF97 HALFWIDTH KATAKANA LETTER RA
+0FF98 HALFWIDTH KATAKANA LETTER RI
+0FF99 HALFWIDTH KATAKANA LETTER RU
+0FF9A HALFWIDTH KATAKANA LETTER RE
+0FF9B HALFWIDTH KATAKANA LETTER RO
+0FF9C HALFWIDTH KATAKANA LETTER WA
+0FF9D HALFWIDTH KATAKANA LETTER N
+0FF9E HALFWIDTH KATAKANA VOICED SOUND MARK
+0FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+0FFA0 HALFWIDTH HANGUL FILLER
+0FFA1 HALFWIDTH HANGUL LETTER KIYEOK
+0FFA2 HALFWIDTH HANGUL LETTER SSANGKIYEOK
+0FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+0FFA4 HALFWIDTH HANGUL LETTER NIEUN
+0FFA5 HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+0FFA6 HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+0FFA7 HALFWIDTH HANGUL LETTER TIKEUT
+0FFA8 HALFWIDTH HANGUL LETTER SSANGTIKEUT
+0FFA9 HALFWIDTH HANGUL LETTER RIEUL
+0FFAA HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+0FFAB HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+0FFAC HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+0FFAD HALFWIDTH HANGUL LETTER RIEUL-SIOS
+0FFAE HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+0FFAF HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+0FFB0 HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+0FFB1 HALFWIDTH HANGUL LETTER MIEUM
+0FFB2 HALFWIDTH HANGUL LETTER PIEUP
+0FFB3 HALFWIDTH HANGUL LETTER SSANGPIEUP
+0FFB4 HALFWIDTH HANGUL LETTER PIEUP-SIOS
+0FFB5 HALFWIDTH HANGUL LETTER SIOS
+0FFB6 HALFWIDTH HANGUL LETTER SSANGSIOS
+0FFB7 HALFWIDTH HANGUL LETTER IEUNG
+0FFB8 HALFWIDTH HANGUL LETTER CIEUC
+0FFB9 HALFWIDTH HANGUL LETTER SSANGCIEUC
+0FFBA HALFWIDTH HANGUL LETTER CHIEUCH
+0FFBB HALFWIDTH HANGUL LETTER KHIEUKH
+0FFBC HALFWIDTH HANGUL LETTER THIEUTH
+0FFBD HALFWIDTH HANGUL LETTER PHIEUPH
+0FFBE HALFWIDTH HANGUL LETTER HIEUH
+0FFC2 HALFWIDTH HANGUL LETTER A
+0FFC3 HALFWIDTH HANGUL LETTER AE
+0FFC4 HALFWIDTH HANGUL LETTER YA
+0FFC5 HALFWIDTH HANGUL LETTER YAE
+0FFC6 HALFWIDTH HANGUL LETTER EO
+0FFC7 HALFWIDTH HANGUL LETTER E
+0FFCA HALFWIDTH HANGUL LETTER YEO
+0FFCB HALFWIDTH HANGUL LETTER YE
+0FFCC HALFWIDTH HANGUL LETTER O
+0FFCD HALFWIDTH HANGUL LETTER WA
+0FFCE HALFWIDTH HANGUL LETTER WAE
+0FFCF HALFWIDTH HANGUL LETTER OE
+0FFD2 HALFWIDTH HANGUL LETTER YO
+0FFD3 HALFWIDTH HANGUL LETTER U
+0FFD4 HALFWIDTH HANGUL LETTER WEO
+0FFD5 HALFWIDTH HANGUL LETTER WE
+0FFD6 HALFWIDTH HANGUL LETTER WI
+0FFD7 HALFWIDTH HANGUL LETTER YU
+0FFDA HALFWIDTH HANGUL LETTER EU
+0FFDB HALFWIDTH HANGUL LETTER YI
+0FFDC HALFWIDTH HANGUL LETTER I
+0FFE0 FULLWIDTH CENT SIGN
+0FFE1 FULLWIDTH POUND SIGN
+0FFE2 FULLWIDTH NOT SIGN
+0FFE3 FULLWIDTH MACRON
+0FFE4 FULLWIDTH BROKEN BAR
+0FFE5 FULLWIDTH YEN SIGN
+0FFE6 FULLWIDTH WON SIGN
+0FFE8 HALFWIDTH FORMS LIGHT VERTICAL
+0FFE9 HALFWIDTH LEFTWARDS ARROW
+0FFEA HALFWIDTH UPWARDS ARROW
+0FFEB HALFWIDTH RIGHTWARDS ARROW
+0FFEC HALFWIDTH DOWNWARDS ARROW
+0FFED HALFWIDTH BLACK SQUARE
+0FFEE HALFWIDTH WHITE CIRCLE
+0FFF9 INTERLINEAR ANNOTATION ANCHOR
+0FFFA INTERLINEAR ANNOTATION SEPARATOR
+0FFFB INTERLINEAR ANNOTATION TERMINATOR
+0FFFC OBJECT REPLACEMENT CHARACTER
+0FFFD REPLACEMENT CHARACTER
+10000 LINEAR B SYLLABLE B008 A
+10001 LINEAR B SYLLABLE B038 E
+10002 LINEAR B SYLLABLE B028 I
+10003 LINEAR B SYLLABLE B061 O
+10004 LINEAR B SYLLABLE B010 U
+10005 LINEAR B SYLLABLE B001 DA
+10006 LINEAR B SYLLABLE B045 DE
+10007 LINEAR B SYLLABLE B007 DI
+10008 LINEAR B SYLLABLE B014 DO
+10009 LINEAR B SYLLABLE B051 DU
+1000A LINEAR B SYLLABLE B057 JA
+1000B LINEAR B SYLLABLE B046 JE
+1000D LINEAR B SYLLABLE B036 JO
+1000E LINEAR B SYLLABLE B065 JU
+1000F LINEAR B SYLLABLE B077 KA
+10010 LINEAR B SYLLABLE B044 KE
+10011 LINEAR B SYLLABLE B067 KI
+10012 LINEAR B SYLLABLE B070 KO
+10013 LINEAR B SYLLABLE B081 KU
+10014 LINEAR B SYLLABLE B080 MA
+10015 LINEAR B SYLLABLE B013 ME
+10016 LINEAR B SYLLABLE B073 MI
+10017 LINEAR B SYLLABLE B015 MO
+10018 LINEAR B SYLLABLE B023 MU
+10019 LINEAR B SYLLABLE B006 NA
+1001A LINEAR B SYLLABLE B024 NE
+1001B LINEAR B SYLLABLE B030 NI
+1001C LINEAR B SYLLABLE B052 NO
+1001D LINEAR B SYLLABLE B055 NU
+1001E LINEAR B SYLLABLE B003 PA
+1001F LINEAR B SYLLABLE B072 PE
+10020 LINEAR B SYLLABLE B039 PI
+10021 LINEAR B SYLLABLE B011 PO
+10022 LINEAR B SYLLABLE B050 PU
+10023 LINEAR B SYLLABLE B016 QA
+10024 LINEAR B SYLLABLE B078 QE
+10025 LINEAR B SYLLABLE B021 QI
+10026 LINEAR B SYLLABLE B032 QO
+10028 LINEAR B SYLLABLE B060 RA
+10029 LINEAR B SYLLABLE B027 RE
+1002A LINEAR B SYLLABLE B053 RI
+1002B LINEAR B SYLLABLE B002 RO
+1002C LINEAR B SYLLABLE B026 RU
+1002D LINEAR B SYLLABLE B031 SA
+1002E LINEAR B SYLLABLE B009 SE
+1002F LINEAR B SYLLABLE B041 SI
+10030 LINEAR B SYLLABLE B012 SO
+10031 LINEAR B SYLLABLE B058 SU
+10032 LINEAR B SYLLABLE B059 TA
+10033 LINEAR B SYLLABLE B004 TE
+10034 LINEAR B SYLLABLE B037 TI
+10035 LINEAR B SYLLABLE B005 TO
+10036 LINEAR B SYLLABLE B069 TU
+10037 LINEAR B SYLLABLE B054 WA
+10038 LINEAR B SYLLABLE B075 WE
+10039 LINEAR B SYLLABLE B040 WI
+1003A LINEAR B SYLLABLE B042 WO
+1003C LINEAR B SYLLABLE B017 ZA
+1003D LINEAR B SYLLABLE B074 ZE
+1003F LINEAR B SYLLABLE B020 ZO
+10040 LINEAR B SYLLABLE B025 A2
+10041 LINEAR B SYLLABLE B043 A3
+10042 LINEAR B SYLLABLE B085 AU
+10043 LINEAR B SYLLABLE B071 DWE
+10044 LINEAR B SYLLABLE B090 DWO
+10045 LINEAR B SYLLABLE B048 NWA
+10046 LINEAR B SYLLABLE B029 PU2
+10047 LINEAR B SYLLABLE B062 PTE
+10048 LINEAR B SYLLABLE B076 RA2
+10049 LINEAR B SYLLABLE B033 RA3
+1004A LINEAR B SYLLABLE B068 RO2
+1004B LINEAR B SYLLABLE B066 TA2
+1004C LINEAR B SYLLABLE B087 TWE
+1004D LINEAR B SYLLABLE B091 TWO
+10050 LINEAR B SYMBOL B018
+10051 LINEAR B SYMBOL B019
+10052 LINEAR B SYMBOL B022
+10053 LINEAR B SYMBOL B034
+10054 LINEAR B SYMBOL B047
+10055 LINEAR B SYMBOL B049
+10056 LINEAR B SYMBOL B056
+10057 LINEAR B SYMBOL B063
+10058 LINEAR B SYMBOL B064
+10059 LINEAR B SYMBOL B079
+1005A LINEAR B SYMBOL B082
+1005B LINEAR B SYMBOL B083
+1005C LINEAR B SYMBOL B086
+1005D LINEAR B SYMBOL B089
+10080 LINEAR B IDEOGRAM B100 MAN
+10081 LINEAR B IDEOGRAM B102 WOMAN
+10082 LINEAR B IDEOGRAM B104 DEER
+10083 LINEAR B IDEOGRAM B105 EQUID
+10084 LINEAR B IDEOGRAM B105F MARE
+10085 LINEAR B IDEOGRAM B105M STALLION
+10086 LINEAR B IDEOGRAM B106F EWE
+10087 LINEAR B IDEOGRAM B106M RAM
+10088 LINEAR B IDEOGRAM B107F SHE-GOAT
+10089 LINEAR B IDEOGRAM B107M HE-GOAT
+1008A LINEAR B IDEOGRAM B108F SOW
+1008B LINEAR B IDEOGRAM B108M BOAR
+1008C LINEAR B IDEOGRAM B109F COW
+1008D LINEAR B IDEOGRAM B109M BULL
+1008E LINEAR B IDEOGRAM B120 WHEAT
+1008F LINEAR B IDEOGRAM B121 BARLEY
+10090 LINEAR B IDEOGRAM B122 OLIVE
+10091 LINEAR B IDEOGRAM B123 SPICE
+10092 LINEAR B IDEOGRAM B125 CYPERUS
+10093 LINEAR B MONOGRAM B127 KAPO
+10094 LINEAR B MONOGRAM B128 KANAKO
+10095 LINEAR B IDEOGRAM B130 OIL
+10096 LINEAR B IDEOGRAM B131 WINE
+10097 LINEAR B IDEOGRAM B132
+10098 LINEAR B MONOGRAM B133 AREPA
+10099 LINEAR B MONOGRAM B135 MERI
+1009A LINEAR B IDEOGRAM B140 BRONZE
+1009B LINEAR B IDEOGRAM B141 GOLD
+1009C LINEAR B IDEOGRAM B142
+1009D LINEAR B IDEOGRAM B145 WOOL
+1009E LINEAR B IDEOGRAM B146
+1009F LINEAR B IDEOGRAM B150
+100A0 LINEAR B IDEOGRAM B151 HORN
+100A1 LINEAR B IDEOGRAM B152
+100A2 LINEAR B IDEOGRAM B153
+100A3 LINEAR B IDEOGRAM B154
+100A4 LINEAR B MONOGRAM B156 TURO2
+100A5 LINEAR B IDEOGRAM B157
+100A6 LINEAR B IDEOGRAM B158
+100A7 LINEAR B IDEOGRAM B159 CLOTH
+100A8 LINEAR B IDEOGRAM B160
+100A9 LINEAR B IDEOGRAM B161
+100AA LINEAR B IDEOGRAM B162 GARMENT
+100AB LINEAR B IDEOGRAM B163 ARMOUR
+100AC LINEAR B IDEOGRAM B164
+100AD LINEAR B IDEOGRAM B165
+100AE LINEAR B IDEOGRAM B166
+100AF LINEAR B IDEOGRAM B167
+100B0 LINEAR B IDEOGRAM B168
+100B1 LINEAR B IDEOGRAM B169
+100B2 LINEAR B IDEOGRAM B170
+100B3 LINEAR B IDEOGRAM B171
+100B4 LINEAR B IDEOGRAM B172
+100B5 LINEAR B IDEOGRAM B173 MONTH
+100B6 LINEAR B IDEOGRAM B174
+100B7 LINEAR B IDEOGRAM B176 TREE
+100B8 LINEAR B IDEOGRAM B177
+100B9 LINEAR B IDEOGRAM B178
+100BA LINEAR B IDEOGRAM B179
+100BB LINEAR B IDEOGRAM B180
+100BC LINEAR B IDEOGRAM B181
+100BD LINEAR B IDEOGRAM B182
+100BE LINEAR B IDEOGRAM B183
+100BF LINEAR B IDEOGRAM B184
+100C0 LINEAR B IDEOGRAM B185
+100C1 LINEAR B IDEOGRAM B189
+100C2 LINEAR B IDEOGRAM B190
+100C3 LINEAR B IDEOGRAM B191 HELMET
+100C4 LINEAR B IDEOGRAM B220 FOOTSTOOL
+100C5 LINEAR B IDEOGRAM B225 BATHTUB
+100C6 LINEAR B IDEOGRAM B230 SPEAR
+100C7 LINEAR B IDEOGRAM B231 ARROW
+100C8 LINEAR B IDEOGRAM B232
+100C9 LINEAR B IDEOGRAM B233 SWORD
+100CA LINEAR B IDEOGRAM B234
+100CB LINEAR B IDEOGRAM B236
+100CC LINEAR B IDEOGRAM B240 WHEELED CHARIOT
+100CD LINEAR B IDEOGRAM B241 CHARIOT
+100CE LINEAR B IDEOGRAM B242 CHARIOT FRAME
+100CF LINEAR B IDEOGRAM B243 WHEEL
+100D0 LINEAR B IDEOGRAM B245
+100D1 LINEAR B IDEOGRAM B246
+100D2 LINEAR B MONOGRAM B247 DIPTE
+100D3 LINEAR B IDEOGRAM B248
+100D4 LINEAR B IDEOGRAM B249
+100D5 LINEAR B IDEOGRAM B251
+100D6 LINEAR B IDEOGRAM B252
+100D7 LINEAR B IDEOGRAM B253
+100D8 LINEAR B IDEOGRAM B254 DART
+100D9 LINEAR B IDEOGRAM B255
+100DA LINEAR B IDEOGRAM B256
+100DB LINEAR B IDEOGRAM B257
+100DC LINEAR B IDEOGRAM B258
+100DD LINEAR B IDEOGRAM B259
+100DE LINEAR B IDEOGRAM VESSEL B155
+100DF LINEAR B IDEOGRAM VESSEL B200
+100E0 LINEAR B IDEOGRAM VESSEL B201
+100E1 LINEAR B IDEOGRAM VESSEL B202
+100E2 LINEAR B IDEOGRAM VESSEL B203
+100E3 LINEAR B IDEOGRAM VESSEL B204
+100E4 LINEAR B IDEOGRAM VESSEL B205
+100E5 LINEAR B IDEOGRAM VESSEL B206
+100E6 LINEAR B IDEOGRAM VESSEL B207
+100E7 LINEAR B IDEOGRAM VESSEL B208
+100E8 LINEAR B IDEOGRAM VESSEL B209
+100E9 LINEAR B IDEOGRAM VESSEL B210
+100EA LINEAR B IDEOGRAM VESSEL B211
+100EB LINEAR B IDEOGRAM VESSEL B212
+100EC LINEAR B IDEOGRAM VESSEL B213
+100ED LINEAR B IDEOGRAM VESSEL B214
+100EE LINEAR B IDEOGRAM VESSEL B215
+100EF LINEAR B IDEOGRAM VESSEL B216
+100F0 LINEAR B IDEOGRAM VESSEL B217
+100F1 LINEAR B IDEOGRAM VESSEL B218
+100F2 LINEAR B IDEOGRAM VESSEL B219
+100F3 LINEAR B IDEOGRAM VESSEL B221
+100F4 LINEAR B IDEOGRAM VESSEL B222
+100F5 LINEAR B IDEOGRAM VESSEL B226
+100F6 LINEAR B IDEOGRAM VESSEL B227
+100F7 LINEAR B IDEOGRAM VESSEL B228
+100F8 LINEAR B IDEOGRAM VESSEL B229
+100F9 LINEAR B IDEOGRAM VESSEL B250
+100FA LINEAR B IDEOGRAM VESSEL B305
+10100 AEGEAN WORD SEPARATOR LINE
+10101 AEGEAN WORD SEPARATOR DOT
+10102 AEGEAN CHECK MARK
+10107 AEGEAN NUMBER ONE
+10108 AEGEAN NUMBER TWO
+10109 AEGEAN NUMBER THREE
+1010A AEGEAN NUMBER FOUR
+1010B AEGEAN NUMBER FIVE
+1010C AEGEAN NUMBER SIX
+1010D AEGEAN NUMBER SEVEN
+1010E AEGEAN NUMBER EIGHT
+1010F AEGEAN NUMBER NINE
+10110 AEGEAN NUMBER TEN
+10111 AEGEAN NUMBER TWENTY
+10112 AEGEAN NUMBER THIRTY
+10113 AEGEAN NUMBER FORTY
+10114 AEGEAN NUMBER FIFTY
+10115 AEGEAN NUMBER SIXTY
+10116 AEGEAN NUMBER SEVENTY
+10117 AEGEAN NUMBER EIGHTY
+10118 AEGEAN NUMBER NINETY
+10119 AEGEAN NUMBER ONE HUNDRED
+1011A AEGEAN NUMBER TWO HUNDRED
+1011B AEGEAN NUMBER THREE HUNDRED
+1011C AEGEAN NUMBER FOUR HUNDRED
+1011D AEGEAN NUMBER FIVE HUNDRED
+1011E AEGEAN NUMBER SIX HUNDRED
+1011F AEGEAN NUMBER SEVEN HUNDRED
+10120 AEGEAN NUMBER EIGHT HUNDRED
+10121 AEGEAN NUMBER NINE HUNDRED
+10122 AEGEAN NUMBER ONE THOUSAND
+10123 AEGEAN NUMBER TWO THOUSAND
+10124 AEGEAN NUMBER THREE THOUSAND
+10125 AEGEAN NUMBER FOUR THOUSAND
+10126 AEGEAN NUMBER FIVE THOUSAND
+10127 AEGEAN NUMBER SIX THOUSAND
+10128 AEGEAN NUMBER SEVEN THOUSAND
+10129 AEGEAN NUMBER EIGHT THOUSAND
+1012A AEGEAN NUMBER NINE THOUSAND
+1012B AEGEAN NUMBER TEN THOUSAND
+1012C AEGEAN NUMBER TWENTY THOUSAND
+1012D AEGEAN NUMBER THIRTY THOUSAND
+1012E AEGEAN NUMBER FORTY THOUSAND
+1012F AEGEAN NUMBER FIFTY THOUSAND
+10130 AEGEAN NUMBER SIXTY THOUSAND
+10131 AEGEAN NUMBER SEVENTY THOUSAND
+10132 AEGEAN NUMBER EIGHTY THOUSAND
+10133 AEGEAN NUMBER NINETY THOUSAND
+10137 AEGEAN WEIGHT BASE UNIT
+10138 AEGEAN WEIGHT FIRST SUBUNIT
+10139 AEGEAN WEIGHT SECOND SUBUNIT
+1013A AEGEAN WEIGHT THIRD SUBUNIT
+1013B AEGEAN WEIGHT FOURTH SUBUNIT
+1013C AEGEAN DRY MEASURE FIRST SUBUNIT
+1013D AEGEAN LIQUID MEASURE FIRST SUBUNIT
+1013E AEGEAN MEASURE SECOND SUBUNIT
+1013F AEGEAN MEASURE THIRD SUBUNIT
+10140 GREEK ACROPHONIC ATTIC ONE QUARTER
+10141 GREEK ACROPHONIC ATTIC ONE HALF
+10142 GREEK ACROPHONIC ATTIC ONE DRACHMA
+10143 GREEK ACROPHONIC ATTIC FIVE
+10144 GREEK ACROPHONIC ATTIC FIFTY
+10145 GREEK ACROPHONIC ATTIC FIVE HUNDRED
+10146 GREEK ACROPHONIC ATTIC FIVE THOUSAND
+10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+10148 GREEK ACROPHONIC ATTIC FIVE TALENTS
+10149 GREEK ACROPHONIC ATTIC TEN TALENTS
+1014A GREEK ACROPHONIC ATTIC FIFTY TALENTS
+1014B GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
+1014C GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
+1014D GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
+1014E GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
+1014F GREEK ACROPHONIC ATTIC FIVE STATERS
+10150 GREEK ACROPHONIC ATTIC TEN STATERS
+10151 GREEK ACROPHONIC ATTIC FIFTY STATERS
+10152 GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
+10153 GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
+10154 GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
+10155 GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
+10156 GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+10157 GREEK ACROPHONIC ATTIC TEN MNAS
+10158 GREEK ACROPHONIC HERAEUM ONE PLETHRON
+10159 GREEK ACROPHONIC THESPIAN ONE
+1015A GREEK ACROPHONIC HERMIONIAN ONE
+1015B GREEK ACROPHONIC EPIDAUREAN TWO
+1015C GREEK ACROPHONIC THESPIAN TWO
+1015D GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
+1015E GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
+1015F GREEK ACROPHONIC TROEZENIAN FIVE
+10160 GREEK ACROPHONIC TROEZENIAN TEN
+10161 GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
+10162 GREEK ACROPHONIC HERMIONIAN TEN
+10163 GREEK ACROPHONIC MESSENIAN TEN
+10164 GREEK ACROPHONIC THESPIAN TEN
+10165 GREEK ACROPHONIC THESPIAN THIRTY
+10166 GREEK ACROPHONIC TROEZENIAN FIFTY
+10167 GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
+10168 GREEK ACROPHONIC HERMIONIAN FIFTY
+10169 GREEK ACROPHONIC THESPIAN FIFTY
+1016A GREEK ACROPHONIC THESPIAN ONE HUNDRED
+1016B GREEK ACROPHONIC THESPIAN THREE HUNDRED
+1016C GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
+1016D GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
+1016E GREEK ACROPHONIC THESPIAN FIVE HUNDRED
+1016F GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
+10170 GREEK ACROPHONIC NAXIAN FIVE HUNDRED
+10171 GREEK ACROPHONIC THESPIAN ONE THOUSAND
+10172 GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+10173 GREEK ACROPHONIC DELPHIC FIVE MNAS
+10174 GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175 GREEK ONE HALF SIGN
+10176 GREEK ONE HALF SIGN ALTERNATE FORM
+10177 GREEK TWO THIRDS SIGN
+10178 GREEK THREE QUARTERS SIGN
+10179 GREEK YEAR SIGN
+1017A GREEK TALENT SIGN
+1017B GREEK DRACHMA SIGN
+1017C GREEK OBOL SIGN
+1017D GREEK TWO OBOLS SIGN
+1017E GREEK THREE OBOLS SIGN
+1017F GREEK FOUR OBOLS SIGN
+10180 GREEK FIVE OBOLS SIGN
+10181 GREEK METRETES SIGN
+10182 GREEK KYATHOS BASE SIGN
+10183 GREEK LITRA SIGN
+10184 GREEK OUNKIA SIGN
+10185 GREEK XESTES SIGN
+10186 GREEK ARTABE SIGN
+10187 GREEK AROURA SIGN
+10188 GREEK GRAMMA SIGN
+10189 GREEK TRYBLION BASE SIGN
+1018A GREEK ZERO SIGN
+10190 ROMAN SEXTANS SIGN
+10191 ROMAN UNCIA SIGN
+10192 ROMAN SEMUNCIA SIGN
+10193 ROMAN SEXTULA SIGN
+10194 ROMAN DIMIDIA SEXTULA SIGN
+10195 ROMAN SILIQUA SIGN
+10196 ROMAN DENARIUS SIGN
+10197 ROMAN QUINARIUS SIGN
+10198 ROMAN SESTERTIUS SIGN
+10199 ROMAN DUPONDIUS SIGN
+1019A ROMAN AS SIGN
+1019B ROMAN CENTURIAL SIGN
+101D0 PHAISTOS DISC SIGN PEDESTRIAN
+101D1 PHAISTOS DISC SIGN PLUMED HEAD
+101D2 PHAISTOS DISC SIGN TATTOOED HEAD
+101D3 PHAISTOS DISC SIGN CAPTIVE
+101D4 PHAISTOS DISC SIGN CHILD
+101D5 PHAISTOS DISC SIGN WOMAN
+101D6 PHAISTOS DISC SIGN HELMET
+101D7 PHAISTOS DISC SIGN GAUNTLET
+101D8 PHAISTOS DISC SIGN TIARA
+101D9 PHAISTOS DISC SIGN ARROW
+101DA PHAISTOS DISC SIGN BOW
+101DB PHAISTOS DISC SIGN SHIELD
+101DC PHAISTOS DISC SIGN CLUB
+101DD PHAISTOS DISC SIGN MANACLES
+101DE PHAISTOS DISC SIGN MATTOCK
+101DF PHAISTOS DISC SIGN SAW
+101E0 PHAISTOS DISC SIGN LID
+101E1 PHAISTOS DISC SIGN BOOMERANG
+101E2 PHAISTOS DISC SIGN CARPENTRY PLANE
+101E3 PHAISTOS DISC SIGN DOLIUM
+101E4 PHAISTOS DISC SIGN COMB
+101E5 PHAISTOS DISC SIGN SLING
+101E6 PHAISTOS DISC SIGN COLUMN
+101E7 PHAISTOS DISC SIGN BEEHIVE
+101E8 PHAISTOS DISC SIGN SHIP
+101E9 PHAISTOS DISC SIGN HORN
+101EA PHAISTOS DISC SIGN HIDE
+101EB PHAISTOS DISC SIGN BULLS LEG
+101EC PHAISTOS DISC SIGN CAT
+101ED PHAISTOS DISC SIGN RAM
+101EE PHAISTOS DISC SIGN EAGLE
+101EF PHAISTOS DISC SIGN DOVE
+101F0 PHAISTOS DISC SIGN TUNNY
+101F1 PHAISTOS DISC SIGN BEE
+101F2 PHAISTOS DISC SIGN PLANE TREE
+101F3 PHAISTOS DISC SIGN VINE
+101F4 PHAISTOS DISC SIGN PAPYRUS
+101F5 PHAISTOS DISC SIGN ROSETTE
+101F6 PHAISTOS DISC SIGN LILY
+101F7 PHAISTOS DISC SIGN OX BACK
+101F8 PHAISTOS DISC SIGN FLUTE
+101F9 PHAISTOS DISC SIGN GRATER
+101FA PHAISTOS DISC SIGN STRAINER
+101FB PHAISTOS DISC SIGN SMALL AXE
+101FC PHAISTOS DISC SIGN WAVY BAND
+101FD PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+10280 LYCIAN LETTER A
+10281 LYCIAN LETTER E
+10282 LYCIAN LETTER B
+10283 LYCIAN LETTER BH
+10284 LYCIAN LETTER G
+10285 LYCIAN LETTER D
+10286 LYCIAN LETTER I
+10287 LYCIAN LETTER W
+10288 LYCIAN LETTER Z
+10289 LYCIAN LETTER TH
+1028A LYCIAN LETTER J
+1028B LYCIAN LETTER K
+1028C LYCIAN LETTER Q
+1028D LYCIAN LETTER L
+1028E LYCIAN LETTER M
+1028F LYCIAN LETTER N
+10290 LYCIAN LETTER MM
+10291 LYCIAN LETTER NN
+10292 LYCIAN LETTER U
+10293 LYCIAN LETTER P
+10294 LYCIAN LETTER KK
+10295 LYCIAN LETTER R
+10296 LYCIAN LETTER S
+10297 LYCIAN LETTER T
+10298 LYCIAN LETTER TT
+10299 LYCIAN LETTER AN
+1029A LYCIAN LETTER EN
+1029B LYCIAN LETTER H
+1029C LYCIAN LETTER X
+102A0 CARIAN LETTER A
+102A1 CARIAN LETTER P2
+102A2 CARIAN LETTER D
+102A3 CARIAN LETTER L
+102A4 CARIAN LETTER UUU
+102A5 CARIAN LETTER R
+102A6 CARIAN LETTER LD
+102A7 CARIAN LETTER A2
+102A8 CARIAN LETTER Q
+102A9 CARIAN LETTER B
+102AA CARIAN LETTER M
+102AB CARIAN LETTER O
+102AC CARIAN LETTER D2
+102AD CARIAN LETTER T
+102AE CARIAN LETTER SH
+102AF CARIAN LETTER SH2
+102B0 CARIAN LETTER S
+102B1 CARIAN LETTER C-18
+102B2 CARIAN LETTER U
+102B3 CARIAN LETTER NN
+102B4 CARIAN LETTER X
+102B5 CARIAN LETTER N
+102B6 CARIAN LETTER TT2
+102B7 CARIAN LETTER P
+102B8 CARIAN LETTER SS
+102B9 CARIAN LETTER I
+102BA CARIAN LETTER E
+102BB CARIAN LETTER UUUU
+102BC CARIAN LETTER K
+102BD CARIAN LETTER K2
+102BE CARIAN LETTER ND
+102BF CARIAN LETTER UU
+102C0 CARIAN LETTER G
+102C1 CARIAN LETTER G2
+102C2 CARIAN LETTER ST
+102C3 CARIAN LETTER ST2
+102C4 CARIAN LETTER NG
+102C5 CARIAN LETTER II
+102C6 CARIAN LETTER C-39
+102C7 CARIAN LETTER TT
+102C8 CARIAN LETTER UUU2
+102C9 CARIAN LETTER RR
+102CA CARIAN LETTER MB
+102CB CARIAN LETTER MB2
+102CC CARIAN LETTER MB3
+102CD CARIAN LETTER MB4
+102CE CARIAN LETTER LD2
+102CF CARIAN LETTER E2
+102D0 CARIAN LETTER UUU3
+10300 OLD ITALIC LETTER A
+10301 OLD ITALIC LETTER BE
+10302 OLD ITALIC LETTER KE
+10303 OLD ITALIC LETTER DE
+10304 OLD ITALIC LETTER E
+10305 OLD ITALIC LETTER VE
+10306 OLD ITALIC LETTER ZE
+10307 OLD ITALIC LETTER HE
+10308 OLD ITALIC LETTER THE
+10309 OLD ITALIC LETTER I
+1030A OLD ITALIC LETTER KA
+1030B OLD ITALIC LETTER EL
+1030C OLD ITALIC LETTER EM
+1030D OLD ITALIC LETTER EN
+1030E OLD ITALIC LETTER ESH
+1030F OLD ITALIC LETTER O
+10310 OLD ITALIC LETTER PE
+10311 OLD ITALIC LETTER SHE
+10312 OLD ITALIC LETTER KU
+10313 OLD ITALIC LETTER ER
+10314 OLD ITALIC LETTER ES
+10315 OLD ITALIC LETTER TE
+10316 OLD ITALIC LETTER U
+10317 OLD ITALIC LETTER EKS
+10318 OLD ITALIC LETTER PHE
+10319 OLD ITALIC LETTER KHE
+1031A OLD ITALIC LETTER EF
+1031B OLD ITALIC LETTER ERS
+1031C OLD ITALIC LETTER CHE
+1031D OLD ITALIC LETTER II
+1031E OLD ITALIC LETTER UU
+10320 OLD ITALIC NUMERAL ONE
+10321 OLD ITALIC NUMERAL FIVE
+10322 OLD ITALIC NUMERAL TEN
+10323 OLD ITALIC NUMERAL FIFTY
+10330 GOTHIC LETTER AHSA
+10331 GOTHIC LETTER BAIRKAN
+10332 GOTHIC LETTER GIBA
+10333 GOTHIC LETTER DAGS
+10334 GOTHIC LETTER AIHVUS
+10335 GOTHIC LETTER QAIRTHRA
+10336 GOTHIC LETTER IUJA
+10337 GOTHIC LETTER HAGL
+10338 GOTHIC LETTER THIUTH
+10339 GOTHIC LETTER EIS
+1033A GOTHIC LETTER KUSMA
+1033B GOTHIC LETTER LAGUS
+1033C GOTHIC LETTER MANNA
+1033D GOTHIC LETTER NAUTHS
+1033E GOTHIC LETTER JER
+1033F GOTHIC LETTER URUS
+10340 GOTHIC LETTER PAIRTHRA
+10341 GOTHIC LETTER NINETY
+10342 GOTHIC LETTER RAIDA
+10343 GOTHIC LETTER SAUIL
+10344 GOTHIC LETTER TEIWS
+10345 GOTHIC LETTER WINJA
+10346 GOTHIC LETTER FAIHU
+10347 GOTHIC LETTER IGGWS
+10348 GOTHIC LETTER HWAIR
+10349 GOTHIC LETTER OTHAL
+1034A GOTHIC LETTER NINE HUNDRED
+10380 UGARITIC LETTER ALPA
+10381 UGARITIC LETTER BETA
+10382 UGARITIC LETTER GAMLA
+10383 UGARITIC LETTER KHA
+10384 UGARITIC LETTER DELTA
+10385 UGARITIC LETTER HO
+10386 UGARITIC LETTER WO
+10387 UGARITIC LETTER ZETA
+10388 UGARITIC LETTER HOTA
+10389 UGARITIC LETTER TET
+1038A UGARITIC LETTER YOD
+1038B UGARITIC LETTER KAF
+1038C UGARITIC LETTER SHIN
+1038D UGARITIC LETTER LAMDA
+1038E UGARITIC LETTER MEM
+1038F UGARITIC LETTER DHAL
+10390 UGARITIC LETTER NUN
+10391 UGARITIC LETTER ZU
+10392 UGARITIC LETTER SAMKA
+10393 UGARITIC LETTER AIN
+10394 UGARITIC LETTER PU
+10395 UGARITIC LETTER SADE
+10396 UGARITIC LETTER QOPA
+10397 UGARITIC LETTER RASHA
+10398 UGARITIC LETTER THANNA
+10399 UGARITIC LETTER GHAIN
+1039A UGARITIC LETTER TO
+1039B UGARITIC LETTER I
+1039C UGARITIC LETTER U
+1039D UGARITIC LETTER SSU
+1039F UGARITIC WORD DIVIDER
+103A0 OLD PERSIAN SIGN A
+103A1 OLD PERSIAN SIGN I
+103A2 OLD PERSIAN SIGN U
+103A3 OLD PERSIAN SIGN KA
+103A4 OLD PERSIAN SIGN KU
+103A5 OLD PERSIAN SIGN GA
+103A6 OLD PERSIAN SIGN GU
+103A7 OLD PERSIAN SIGN XA
+103A8 OLD PERSIAN SIGN CA
+103A9 OLD PERSIAN SIGN JA
+103AA OLD PERSIAN SIGN JI
+103AB OLD PERSIAN SIGN TA
+103AC OLD PERSIAN SIGN TU
+103AD OLD PERSIAN SIGN DA
+103AE OLD PERSIAN SIGN DI
+103AF OLD PERSIAN SIGN DU
+103B0 OLD PERSIAN SIGN THA
+103B1 OLD PERSIAN SIGN PA
+103B2 OLD PERSIAN SIGN BA
+103B3 OLD PERSIAN SIGN FA
+103B4 OLD PERSIAN SIGN NA
+103B5 OLD PERSIAN SIGN NU
+103B6 OLD PERSIAN SIGN MA
+103B7 OLD PERSIAN SIGN MI
+103B8 OLD PERSIAN SIGN MU
+103B9 OLD PERSIAN SIGN YA
+103BA OLD PERSIAN SIGN VA
+103BB OLD PERSIAN SIGN VI
+103BC OLD PERSIAN SIGN RA
+103BD OLD PERSIAN SIGN RU
+103BE OLD PERSIAN SIGN LA
+103BF OLD PERSIAN SIGN SA
+103C0 OLD PERSIAN SIGN ZA
+103C1 OLD PERSIAN SIGN SHA
+103C2 OLD PERSIAN SIGN SSA
+103C3 OLD PERSIAN SIGN HA
+103C8 OLD PERSIAN SIGN AURAMAZDAA
+103C9 OLD PERSIAN SIGN AURAMAZDAA-2
+103CA OLD PERSIAN SIGN AURAMAZDAAHA
+103CB OLD PERSIAN SIGN XSHAAYATHIYA
+103CC OLD PERSIAN SIGN DAHYAAUSH
+103CD OLD PERSIAN SIGN DAHYAAUSH-2
+103CE OLD PERSIAN SIGN BAGA
+103CF OLD PERSIAN SIGN BUUMISH
+103D0 OLD PERSIAN WORD DIVIDER
+103D1 OLD PERSIAN NUMBER ONE
+103D2 OLD PERSIAN NUMBER TWO
+103D3 OLD PERSIAN NUMBER TEN
+103D4 OLD PERSIAN NUMBER TWENTY
+103D5 OLD PERSIAN NUMBER HUNDRED
+10400 DESERET CAPITAL LETTER LONG I
+10401 DESERET CAPITAL LETTER LONG E
+10402 DESERET CAPITAL LETTER LONG A
+10403 DESERET CAPITAL LETTER LONG AH
+10404 DESERET CAPITAL LETTER LONG O
+10405 DESERET CAPITAL LETTER LONG OO
+10406 DESERET CAPITAL LETTER SHORT I
+10407 DESERET CAPITAL LETTER SHORT E
+10408 DESERET CAPITAL LETTER SHORT A
+10409 DESERET CAPITAL LETTER SHORT AH
+1040A DESERET CAPITAL LETTER SHORT O
+1040B DESERET CAPITAL LETTER SHORT OO
+1040C DESERET CAPITAL LETTER AY
+1040D DESERET CAPITAL LETTER OW
+1040E DESERET CAPITAL LETTER WU
+1040F DESERET CAPITAL LETTER YEE
+10410 DESERET CAPITAL LETTER H
+10411 DESERET CAPITAL LETTER PEE
+10412 DESERET CAPITAL LETTER BEE
+10413 DESERET CAPITAL LETTER TEE
+10414 DESERET CAPITAL LETTER DEE
+10415 DESERET CAPITAL LETTER CHEE
+10416 DESERET CAPITAL LETTER JEE
+10417 DESERET CAPITAL LETTER KAY
+10418 DESERET CAPITAL LETTER GAY
+10419 DESERET CAPITAL LETTER EF
+1041A DESERET CAPITAL LETTER VEE
+1041B DESERET CAPITAL LETTER ETH
+1041C DESERET CAPITAL LETTER THEE
+1041D DESERET CAPITAL LETTER ES
+1041E DESERET CAPITAL LETTER ZEE
+1041F DESERET CAPITAL LETTER ESH
+10420 DESERET CAPITAL LETTER ZHEE
+10421 DESERET CAPITAL LETTER ER
+10422 DESERET CAPITAL LETTER EL
+10423 DESERET CAPITAL LETTER EM
+10424 DESERET CAPITAL LETTER EN
+10425 DESERET CAPITAL LETTER ENG
+10426 DESERET CAPITAL LETTER OI
+10427 DESERET CAPITAL LETTER EW
+10428 DESERET SMALL LETTER LONG I
+10429 DESERET SMALL LETTER LONG E
+1042A DESERET SMALL LETTER LONG A
+1042B DESERET SMALL LETTER LONG AH
+1042C DESERET SMALL LETTER LONG O
+1042D DESERET SMALL LETTER LONG OO
+1042E DESERET SMALL LETTER SHORT I
+1042F DESERET SMALL LETTER SHORT E
+10430 DESERET SMALL LETTER SHORT A
+10431 DESERET SMALL LETTER SHORT AH
+10432 DESERET SMALL LETTER SHORT O
+10433 DESERET SMALL LETTER SHORT OO
+10434 DESERET SMALL LETTER AY
+10435 DESERET SMALL LETTER OW
+10436 DESERET SMALL LETTER WU
+10437 DESERET SMALL LETTER YEE
+10438 DESERET SMALL LETTER H
+10439 DESERET SMALL LETTER PEE
+1043A DESERET SMALL LETTER BEE
+1043B DESERET SMALL LETTER TEE
+1043C DESERET SMALL LETTER DEE
+1043D DESERET SMALL LETTER CHEE
+1043E DESERET SMALL LETTER JEE
+1043F DESERET SMALL LETTER KAY
+10440 DESERET SMALL LETTER GAY
+10441 DESERET SMALL LETTER EF
+10442 DESERET SMALL LETTER VEE
+10443 DESERET SMALL LETTER ETH
+10444 DESERET SMALL LETTER THEE
+10445 DESERET SMALL LETTER ES
+10446 DESERET SMALL LETTER ZEE
+10447 DESERET SMALL LETTER ESH
+10448 DESERET SMALL LETTER ZHEE
+10449 DESERET SMALL LETTER ER
+1044A DESERET SMALL LETTER EL
+1044B DESERET SMALL LETTER EM
+1044C DESERET SMALL LETTER EN
+1044D DESERET SMALL LETTER ENG
+1044E DESERET SMALL LETTER OI
+1044F DESERET SMALL LETTER EW
+10450 SHAVIAN LETTER PEEP
+10451 SHAVIAN LETTER TOT
+10452 SHAVIAN LETTER KICK
+10453 SHAVIAN LETTER FEE
+10454 SHAVIAN LETTER THIGH
+10455 SHAVIAN LETTER SO
+10456 SHAVIAN LETTER SURE
+10457 SHAVIAN LETTER CHURCH
+10458 SHAVIAN LETTER YEA
+10459 SHAVIAN LETTER HUNG
+1045A SHAVIAN LETTER BIB
+1045B SHAVIAN LETTER DEAD
+1045C SHAVIAN LETTER GAG
+1045D SHAVIAN LETTER VOW
+1045E SHAVIAN LETTER THEY
+1045F SHAVIAN LETTER ZOO
+10460 SHAVIAN LETTER MEASURE
+10461 SHAVIAN LETTER JUDGE
+10462 SHAVIAN LETTER WOE
+10463 SHAVIAN LETTER HA-HA
+10464 SHAVIAN LETTER LOLL
+10465 SHAVIAN LETTER MIME
+10466 SHAVIAN LETTER IF
+10467 SHAVIAN LETTER EGG
+10468 SHAVIAN LETTER ASH
+10469 SHAVIAN LETTER ADO
+1046A SHAVIAN LETTER ON
+1046B SHAVIAN LETTER WOOL
+1046C SHAVIAN LETTER OUT
+1046D SHAVIAN LETTER AH
+1046E SHAVIAN LETTER ROAR
+1046F SHAVIAN LETTER NUN
+10470 SHAVIAN LETTER EAT
+10471 SHAVIAN LETTER AGE
+10472 SHAVIAN LETTER ICE
+10473 SHAVIAN LETTER UP
+10474 SHAVIAN LETTER OAK
+10475 SHAVIAN LETTER OOZE
+10476 SHAVIAN LETTER OIL
+10477 SHAVIAN LETTER AWE
+10478 SHAVIAN LETTER ARE
+10479 SHAVIAN LETTER OR
+1047A SHAVIAN LETTER AIR
+1047B SHAVIAN LETTER ERR
+1047C SHAVIAN LETTER ARRAY
+1047D SHAVIAN LETTER EAR
+1047E SHAVIAN LETTER IAN
+1047F SHAVIAN LETTER YEW
+10480 OSMANYA LETTER ALEF
+10481 OSMANYA LETTER BA
+10482 OSMANYA LETTER TA
+10483 OSMANYA LETTER JA
+10484 OSMANYA LETTER XA
+10485 OSMANYA LETTER KHA
+10486 OSMANYA LETTER DEEL
+10487 OSMANYA LETTER RA
+10488 OSMANYA LETTER SA
+10489 OSMANYA LETTER SHIIN
+1048A OSMANYA LETTER DHA
+1048B OSMANYA LETTER CAYN
+1048C OSMANYA LETTER GA
+1048D OSMANYA LETTER FA
+1048E OSMANYA LETTER QAAF
+1048F OSMANYA LETTER KAAF
+10490 OSMANYA LETTER LAAN
+10491 OSMANYA LETTER MIIN
+10492 OSMANYA LETTER NUUN
+10493 OSMANYA LETTER WAW
+10494 OSMANYA LETTER HA
+10495 OSMANYA LETTER YA
+10496 OSMANYA LETTER A
+10497 OSMANYA LETTER E
+10498 OSMANYA LETTER I
+10499 OSMANYA LETTER O
+1049A OSMANYA LETTER U
+1049B OSMANYA LETTER AA
+1049C OSMANYA LETTER EE
+1049D OSMANYA LETTER OO
+104A0 OSMANYA DIGIT ZERO
+104A1 OSMANYA DIGIT ONE
+104A2 OSMANYA DIGIT TWO
+104A3 OSMANYA DIGIT THREE
+104A4 OSMANYA DIGIT FOUR
+104A5 OSMANYA DIGIT FIVE
+104A6 OSMANYA DIGIT SIX
+104A7 OSMANYA DIGIT SEVEN
+104A8 OSMANYA DIGIT EIGHT
+104A9 OSMANYA DIGIT NINE
+10800 CYPRIOT SYLLABLE A
+10801 CYPRIOT SYLLABLE E
+10802 CYPRIOT SYLLABLE I
+10803 CYPRIOT SYLLABLE O
+10804 CYPRIOT SYLLABLE U
+10805 CYPRIOT SYLLABLE JA
+10808 CYPRIOT SYLLABLE JO
+1080A CYPRIOT SYLLABLE KA
+1080B CYPRIOT SYLLABLE KE
+1080C CYPRIOT SYLLABLE KI
+1080D CYPRIOT SYLLABLE KO
+1080E CYPRIOT SYLLABLE KU
+1080F CYPRIOT SYLLABLE LA
+10810 CYPRIOT SYLLABLE LE
+10811 CYPRIOT SYLLABLE LI
+10812 CYPRIOT SYLLABLE LO
+10813 CYPRIOT SYLLABLE LU
+10814 CYPRIOT SYLLABLE MA
+10815 CYPRIOT SYLLABLE ME
+10816 CYPRIOT SYLLABLE MI
+10817 CYPRIOT SYLLABLE MO
+10818 CYPRIOT SYLLABLE MU
+10819 CYPRIOT SYLLABLE NA
+1081A CYPRIOT SYLLABLE NE
+1081B CYPRIOT SYLLABLE NI
+1081C CYPRIOT SYLLABLE NO
+1081D CYPRIOT SYLLABLE NU
+1081E CYPRIOT SYLLABLE PA
+1081F CYPRIOT SYLLABLE PE
+10820 CYPRIOT SYLLABLE PI
+10821 CYPRIOT SYLLABLE PO
+10822 CYPRIOT SYLLABLE PU
+10823 CYPRIOT SYLLABLE RA
+10824 CYPRIOT SYLLABLE RE
+10825 CYPRIOT SYLLABLE RI
+10826 CYPRIOT SYLLABLE RO
+10827 CYPRIOT SYLLABLE RU
+10828 CYPRIOT SYLLABLE SA
+10829 CYPRIOT SYLLABLE SE
+1082A CYPRIOT SYLLABLE SI
+1082B CYPRIOT SYLLABLE SO
+1082C CYPRIOT SYLLABLE SU
+1082D CYPRIOT SYLLABLE TA
+1082E CYPRIOT SYLLABLE TE
+1082F CYPRIOT SYLLABLE TI
+10830 CYPRIOT SYLLABLE TO
+10831 CYPRIOT SYLLABLE TU
+10832 CYPRIOT SYLLABLE WA
+10833 CYPRIOT SYLLABLE WE
+10834 CYPRIOT SYLLABLE WI
+10835 CYPRIOT SYLLABLE WO
+10837 CYPRIOT SYLLABLE XA
+10838 CYPRIOT SYLLABLE XE
+1083C CYPRIOT SYLLABLE ZA
+1083F CYPRIOT SYLLABLE ZO
+10840 IMPERIAL ARAMAIC LETTER ALEPH
+10841 IMPERIAL ARAMAIC LETTER BETH
+10842 IMPERIAL ARAMAIC LETTER GIMEL
+10843 IMPERIAL ARAMAIC LETTER DALETH
+10844 IMPERIAL ARAMAIC LETTER HE
+10845 IMPERIAL ARAMAIC LETTER WAW
+10846 IMPERIAL ARAMAIC LETTER ZAYIN
+10847 IMPERIAL ARAMAIC LETTER HETH
+10848 IMPERIAL ARAMAIC LETTER TETH
+10849 IMPERIAL ARAMAIC LETTER YODH
+1084A IMPERIAL ARAMAIC LETTER KAPH
+1084B IMPERIAL ARAMAIC LETTER LAMEDH
+1084C IMPERIAL ARAMAIC LETTER MEM
+1084D IMPERIAL ARAMAIC LETTER NUN
+1084E IMPERIAL ARAMAIC LETTER SAMEKH
+1084F IMPERIAL ARAMAIC LETTER AYIN
+10850 IMPERIAL ARAMAIC LETTER PE
+10851 IMPERIAL ARAMAIC LETTER SADHE
+10852 IMPERIAL ARAMAIC LETTER QOPH
+10853 IMPERIAL ARAMAIC LETTER RESH
+10854 IMPERIAL ARAMAIC LETTER SHIN
+10855 IMPERIAL ARAMAIC LETTER TAW
+10857 IMPERIAL ARAMAIC SECTION SIGN
+10858 IMPERIAL ARAMAIC NUMBER ONE
+10859 IMPERIAL ARAMAIC NUMBER TWO
+1085A IMPERIAL ARAMAIC NUMBER THREE
+1085B IMPERIAL ARAMAIC NUMBER TEN
+1085C IMPERIAL ARAMAIC NUMBER TWENTY
+1085D IMPERIAL ARAMAIC NUMBER ONE HUNDRED
+1085E IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+1085F IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10900 PHOENICIAN LETTER ALF
+10901 PHOENICIAN LETTER BET
+10902 PHOENICIAN LETTER GAML
+10903 PHOENICIAN LETTER DELT
+10904 PHOENICIAN LETTER HE
+10905 PHOENICIAN LETTER WAU
+10906 PHOENICIAN LETTER ZAI
+10907 PHOENICIAN LETTER HET
+10908 PHOENICIAN LETTER TET
+10909 PHOENICIAN LETTER YOD
+1090A PHOENICIAN LETTER KAF
+1090B PHOENICIAN LETTER LAMD
+1090C PHOENICIAN LETTER MEM
+1090D PHOENICIAN LETTER NUN
+1090E PHOENICIAN LETTER SEMK
+1090F PHOENICIAN LETTER AIN
+10910 PHOENICIAN LETTER PE
+10911 PHOENICIAN LETTER SADE
+10912 PHOENICIAN LETTER QOF
+10913 PHOENICIAN LETTER ROSH
+10914 PHOENICIAN LETTER SHIN
+10915 PHOENICIAN LETTER TAU
+10916 PHOENICIAN NUMBER ONE
+10917 PHOENICIAN NUMBER TEN
+10918 PHOENICIAN NUMBER TWENTY
+10919 PHOENICIAN NUMBER ONE HUNDRED
+1091A PHOENICIAN NUMBER TWO
+1091B PHOENICIAN NUMBER THREE
+1091F PHOENICIAN WORD SEPARATOR
+10920 LYDIAN LETTER A
+10921 LYDIAN LETTER B
+10922 LYDIAN LETTER G
+10923 LYDIAN LETTER D
+10924 LYDIAN LETTER E
+10925 LYDIAN LETTER V
+10926 LYDIAN LETTER I
+10927 LYDIAN LETTER Y
+10928 LYDIAN LETTER K
+10929 LYDIAN LETTER L
+1092A LYDIAN LETTER M
+1092B LYDIAN LETTER N
+1092C LYDIAN LETTER O
+1092D LYDIAN LETTER R
+1092E LYDIAN LETTER SS
+1092F LYDIAN LETTER T
+10930 LYDIAN LETTER U
+10931 LYDIAN LETTER F
+10932 LYDIAN LETTER Q
+10933 LYDIAN LETTER S
+10934 LYDIAN LETTER TT
+10935 LYDIAN LETTER AN
+10936 LYDIAN LETTER EN
+10937 LYDIAN LETTER LY
+10938 LYDIAN LETTER NN
+10939 LYDIAN LETTER C
+1093F LYDIAN TRIANGULAR MARK
+10A00 KHAROSHTHI LETTER A
+10A01 KHAROSHTHI VOWEL SIGN I
+10A02 KHAROSHTHI VOWEL SIGN U
+10A03 KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05 KHAROSHTHI VOWEL SIGN E
+10A06 KHAROSHTHI VOWEL SIGN O
+10A0C KHAROSHTHI VOWEL LENGTH MARK
+10A0D KHAROSHTHI SIGN DOUBLE RING BELOW
+10A0E KHAROSHTHI SIGN ANUSVARA
+10A0F KHAROSHTHI SIGN VISARGA
+10A10 KHAROSHTHI LETTER KA
+10A11 KHAROSHTHI LETTER KHA
+10A12 KHAROSHTHI LETTER GA
+10A13 KHAROSHTHI LETTER GHA
+10A15 KHAROSHTHI LETTER CA
+10A16 KHAROSHTHI LETTER CHA
+10A17 KHAROSHTHI LETTER JA
+10A19 KHAROSHTHI LETTER NYA
+10A1A KHAROSHTHI LETTER TTA
+10A1B KHAROSHTHI LETTER TTHA
+10A1C KHAROSHTHI LETTER DDA
+10A1D KHAROSHTHI LETTER DDHA
+10A1E KHAROSHTHI LETTER NNA
+10A1F KHAROSHTHI LETTER TA
+10A20 KHAROSHTHI LETTER THA
+10A21 KHAROSHTHI LETTER DA
+10A22 KHAROSHTHI LETTER DHA
+10A23 KHAROSHTHI LETTER NA
+10A24 KHAROSHTHI LETTER PA
+10A25 KHAROSHTHI LETTER PHA
+10A26 KHAROSHTHI LETTER BA
+10A27 KHAROSHTHI LETTER BHA
+10A28 KHAROSHTHI LETTER MA
+10A29 KHAROSHTHI LETTER YA
+10A2A KHAROSHTHI LETTER RA
+10A2B KHAROSHTHI LETTER LA
+10A2C KHAROSHTHI LETTER VA
+10A2D KHAROSHTHI LETTER SHA
+10A2E KHAROSHTHI LETTER SSA
+10A2F KHAROSHTHI LETTER SA
+10A30 KHAROSHTHI LETTER ZA
+10A31 KHAROSHTHI LETTER HA
+10A32 KHAROSHTHI LETTER KKA
+10A33 KHAROSHTHI LETTER TTTHA
+10A38 KHAROSHTHI SIGN BAR ABOVE
+10A39 KHAROSHTHI SIGN CAUDA
+10A3A KHAROSHTHI SIGN DOT BELOW
+10A3F KHAROSHTHI VIRAMA
+10A40 KHAROSHTHI DIGIT ONE
+10A41 KHAROSHTHI DIGIT TWO
+10A42 KHAROSHTHI DIGIT THREE
+10A43 KHAROSHTHI DIGIT FOUR
+10A44 KHAROSHTHI NUMBER TEN
+10A45 KHAROSHTHI NUMBER TWENTY
+10A46 KHAROSHTHI NUMBER ONE HUNDRED
+10A47 KHAROSHTHI NUMBER ONE THOUSAND
+10A50 KHAROSHTHI PUNCTUATION DOT
+10A51 KHAROSHTHI PUNCTUATION SMALL CIRCLE
+10A52 KHAROSHTHI PUNCTUATION CIRCLE
+10A53 KHAROSHTHI PUNCTUATION CRESCENT BAR
+10A54 KHAROSHTHI PUNCTUATION MANGALAM
+10A55 KHAROSHTHI PUNCTUATION LOTUS
+10A56 KHAROSHTHI PUNCTUATION DANDA
+10A57 KHAROSHTHI PUNCTUATION DOUBLE DANDA
+10A58 KHAROSHTHI PUNCTUATION LINES
+10A60 OLD SOUTH ARABIAN LETTER HE
+10A61 OLD SOUTH ARABIAN LETTER LAMEDH
+10A62 OLD SOUTH ARABIAN LETTER HETH
+10A63 OLD SOUTH ARABIAN LETTER MEM
+10A64 OLD SOUTH ARABIAN LETTER QOPH
+10A65 OLD SOUTH ARABIAN LETTER WAW
+10A66 OLD SOUTH ARABIAN LETTER SHIN
+10A67 OLD SOUTH ARABIAN LETTER RESH
+10A68 OLD SOUTH ARABIAN LETTER BETH
+10A69 OLD SOUTH ARABIAN LETTER TAW
+10A6A OLD SOUTH ARABIAN LETTER SAT
+10A6B OLD SOUTH ARABIAN LETTER KAPH
+10A6C OLD SOUTH ARABIAN LETTER NUN
+10A6D OLD SOUTH ARABIAN LETTER KHETH
+10A6E OLD SOUTH ARABIAN LETTER SADHE
+10A6F OLD SOUTH ARABIAN LETTER SAMEKH
+10A70 OLD SOUTH ARABIAN LETTER FE
+10A71 OLD SOUTH ARABIAN LETTER ALEF
+10A72 OLD SOUTH ARABIAN LETTER AYN
+10A73 OLD SOUTH ARABIAN LETTER DHADHE
+10A74 OLD SOUTH ARABIAN LETTER GIMEL
+10A75 OLD SOUTH ARABIAN LETTER DALETH
+10A76 OLD SOUTH ARABIAN LETTER GHAYN
+10A77 OLD SOUTH ARABIAN LETTER TETH
+10A78 OLD SOUTH ARABIAN LETTER ZAYN
+10A79 OLD SOUTH ARABIAN LETTER DHALETH
+10A7A OLD SOUTH ARABIAN LETTER YODH
+10A7B OLD SOUTH ARABIAN LETTER THAW
+10A7C OLD SOUTH ARABIAN LETTER THETH
+10A7D OLD SOUTH ARABIAN NUMBER ONE
+10A7E OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F OLD SOUTH ARABIAN NUMERIC INDICATOR
+10B00 AVESTAN LETTER A
+10B01 AVESTAN LETTER AA
+10B02 AVESTAN LETTER AO
+10B03 AVESTAN LETTER AAO
+10B04 AVESTAN LETTER AN
+10B05 AVESTAN LETTER AAN
+10B06 AVESTAN LETTER AE
+10B07 AVESTAN LETTER AEE
+10B08 AVESTAN LETTER E
+10B09 AVESTAN LETTER EE
+10B0A AVESTAN LETTER O
+10B0B AVESTAN LETTER OO
+10B0C AVESTAN LETTER I
+10B0D AVESTAN LETTER II
+10B0E AVESTAN LETTER U
+10B0F AVESTAN LETTER UU
+10B10 AVESTAN LETTER KE
+10B11 AVESTAN LETTER XE
+10B12 AVESTAN LETTER XYE
+10B13 AVESTAN LETTER XVE
+10B14 AVESTAN LETTER GE
+10B15 AVESTAN LETTER GGE
+10B16 AVESTAN LETTER GHE
+10B17 AVESTAN LETTER CE
+10B18 AVESTAN LETTER JE
+10B19 AVESTAN LETTER TE
+10B1A AVESTAN LETTER THE
+10B1B AVESTAN LETTER DE
+10B1C AVESTAN LETTER DHE
+10B1D AVESTAN LETTER TTE
+10B1E AVESTAN LETTER PE
+10B1F AVESTAN LETTER FE
+10B20 AVESTAN LETTER BE
+10B21 AVESTAN LETTER BHE
+10B22 AVESTAN LETTER NGE
+10B23 AVESTAN LETTER NGYE
+10B24 AVESTAN LETTER NGVE
+10B25 AVESTAN LETTER NE
+10B26 AVESTAN LETTER NYE
+10B27 AVESTAN LETTER NNE
+10B28 AVESTAN LETTER ME
+10B29 AVESTAN LETTER HME
+10B2A AVESTAN LETTER YYE
+10B2B AVESTAN LETTER YE
+10B2C AVESTAN LETTER VE
+10B2D AVESTAN LETTER RE
+10B2E AVESTAN LETTER LE
+10B2F AVESTAN LETTER SE
+10B30 AVESTAN LETTER ZE
+10B31 AVESTAN LETTER SHE
+10B32 AVESTAN LETTER ZHE
+10B33 AVESTAN LETTER SHYE
+10B34 AVESTAN LETTER SSHE
+10B35 AVESTAN LETTER HE
+10B39 AVESTAN ABBREVIATION MARK
+10B3A TINY TWO DOTS OVER ONE DOT PUNCTUATION
+10B3B SMALL TWO DOTS OVER ONE DOT PUNCTUATION
+10B3C LARGE TWO DOTS OVER ONE DOT PUNCTUATION
+10B3D LARGE ONE DOT OVER TWO DOTS PUNCTUATION
+10B3E LARGE TWO RINGS OVER ONE RING PUNCTUATION
+10B3F LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B40 INSCRIPTIONAL PARTHIAN LETTER ALEPH
+10B41 INSCRIPTIONAL PARTHIAN LETTER BETH
+10B42 INSCRIPTIONAL PARTHIAN LETTER GIMEL
+10B43 INSCRIPTIONAL PARTHIAN LETTER DALETH
+10B44 INSCRIPTIONAL PARTHIAN LETTER HE
+10B45 INSCRIPTIONAL PARTHIAN LETTER WAW
+10B46 INSCRIPTIONAL PARTHIAN LETTER ZAYIN
+10B47 INSCRIPTIONAL PARTHIAN LETTER HETH
+10B48 INSCRIPTIONAL PARTHIAN LETTER TETH
+10B49 INSCRIPTIONAL PARTHIAN LETTER YODH
+10B4A INSCRIPTIONAL PARTHIAN LETTER KAPH
+10B4B INSCRIPTIONAL PARTHIAN LETTER LAMEDH
+10B4C INSCRIPTIONAL PARTHIAN LETTER MEM
+10B4D INSCRIPTIONAL PARTHIAN LETTER NUN
+10B4E INSCRIPTIONAL PARTHIAN LETTER SAMEKH
+10B4F INSCRIPTIONAL PARTHIAN LETTER AYIN
+10B50 INSCRIPTIONAL PARTHIAN LETTER PE
+10B51 INSCRIPTIONAL PARTHIAN LETTER SADHE
+10B52 INSCRIPTIONAL PARTHIAN LETTER QOPH
+10B53 INSCRIPTIONAL PARTHIAN LETTER RESH
+10B54 INSCRIPTIONAL PARTHIAN LETTER SHIN
+10B55 INSCRIPTIONAL PARTHIAN LETTER TAW
+10B58 INSCRIPTIONAL PARTHIAN NUMBER ONE
+10B59 INSCRIPTIONAL PARTHIAN NUMBER TWO
+10B5A INSCRIPTIONAL PARTHIAN NUMBER THREE
+10B5B INSCRIPTIONAL PARTHIAN NUMBER FOUR
+10B5C INSCRIPTIONAL PARTHIAN NUMBER TEN
+10B5D INSCRIPTIONAL PARTHIAN NUMBER TWENTY
+10B5E INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
+10B5F INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B60 INSCRIPTIONAL PAHLAVI LETTER ALEPH
+10B61 INSCRIPTIONAL PAHLAVI LETTER BETH
+10B62 INSCRIPTIONAL PAHLAVI LETTER GIMEL
+10B63 INSCRIPTIONAL PAHLAVI LETTER DALETH
+10B64 INSCRIPTIONAL PAHLAVI LETTER HE
+10B65 INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
+10B66 INSCRIPTIONAL PAHLAVI LETTER ZAYIN
+10B67 INSCRIPTIONAL PAHLAVI LETTER HETH
+10B68 INSCRIPTIONAL PAHLAVI LETTER TETH
+10B69 INSCRIPTIONAL PAHLAVI LETTER YODH
+10B6A INSCRIPTIONAL PAHLAVI LETTER KAPH
+10B6B INSCRIPTIONAL PAHLAVI LETTER LAMEDH
+10B6C INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
+10B6D INSCRIPTIONAL PAHLAVI LETTER NUN
+10B6E INSCRIPTIONAL PAHLAVI LETTER SAMEKH
+10B6F INSCRIPTIONAL PAHLAVI LETTER PE
+10B70 INSCRIPTIONAL PAHLAVI LETTER SADHE
+10B71 INSCRIPTIONAL PAHLAVI LETTER SHIN
+10B72 INSCRIPTIONAL PAHLAVI LETTER TAW
+10B78 INSCRIPTIONAL PAHLAVI NUMBER ONE
+10B79 INSCRIPTIONAL PAHLAVI NUMBER TWO
+10B7A INSCRIPTIONAL PAHLAVI NUMBER THREE
+10B7B INSCRIPTIONAL PAHLAVI NUMBER FOUR
+10B7C INSCRIPTIONAL PAHLAVI NUMBER TEN
+10B7D INSCRIPTIONAL PAHLAVI NUMBER TWENTY
+10B7E INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
+10B7F INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10C00 OLD TURKIC LETTER ORKHON A
+10C01 OLD TURKIC LETTER YENISEI A
+10C02 OLD TURKIC LETTER YENISEI AE
+10C03 OLD TURKIC LETTER ORKHON I
+10C04 OLD TURKIC LETTER YENISEI I
+10C05 OLD TURKIC LETTER YENISEI E
+10C06 OLD TURKIC LETTER ORKHON O
+10C07 OLD TURKIC LETTER ORKHON OE
+10C08 OLD TURKIC LETTER YENISEI OE
+10C09 OLD TURKIC LETTER ORKHON AB
+10C0A OLD TURKIC LETTER YENISEI AB
+10C0B OLD TURKIC LETTER ORKHON AEB
+10C0C OLD TURKIC LETTER YENISEI AEB
+10C0D OLD TURKIC LETTER ORKHON AG
+10C0E OLD TURKIC LETTER YENISEI AG
+10C0F OLD TURKIC LETTER ORKHON AEG
+10C10 OLD TURKIC LETTER YENISEI AEG
+10C11 OLD TURKIC LETTER ORKHON AD
+10C12 OLD TURKIC LETTER YENISEI AD
+10C13 OLD TURKIC LETTER ORKHON AED
+10C14 OLD TURKIC LETTER ORKHON EZ
+10C15 OLD TURKIC LETTER YENISEI EZ
+10C16 OLD TURKIC LETTER ORKHON AY
+10C17 OLD TURKIC LETTER YENISEI AY
+10C18 OLD TURKIC LETTER ORKHON AEY
+10C19 OLD TURKIC LETTER YENISEI AEY
+10C1A OLD TURKIC LETTER ORKHON AEK
+10C1B OLD TURKIC LETTER YENISEI AEK
+10C1C OLD TURKIC LETTER ORKHON OEK
+10C1D OLD TURKIC LETTER YENISEI OEK
+10C1E OLD TURKIC LETTER ORKHON AL
+10C1F OLD TURKIC LETTER YENISEI AL
+10C20 OLD TURKIC LETTER ORKHON AEL
+10C21 OLD TURKIC LETTER ORKHON ELT
+10C22 OLD TURKIC LETTER ORKHON EM
+10C23 OLD TURKIC LETTER ORKHON AN
+10C24 OLD TURKIC LETTER ORKHON AEN
+10C25 OLD TURKIC LETTER YENISEI AEN
+10C26 OLD TURKIC LETTER ORKHON ENT
+10C27 OLD TURKIC LETTER YENISEI ENT
+10C28 OLD TURKIC LETTER ORKHON ENC
+10C29 OLD TURKIC LETTER YENISEI ENC
+10C2A OLD TURKIC LETTER ORKHON ENY
+10C2B OLD TURKIC LETTER YENISEI ENY
+10C2C OLD TURKIC LETTER YENISEI ANG
+10C2D OLD TURKIC LETTER ORKHON ENG
+10C2E OLD TURKIC LETTER YENISEI AENG
+10C2F OLD TURKIC LETTER ORKHON EP
+10C30 OLD TURKIC LETTER ORKHON OP
+10C31 OLD TURKIC LETTER ORKHON IC
+10C32 OLD TURKIC LETTER ORKHON EC
+10C33 OLD TURKIC LETTER YENISEI EC
+10C34 OLD TURKIC LETTER ORKHON AQ
+10C35 OLD TURKIC LETTER YENISEI AQ
+10C36 OLD TURKIC LETTER ORKHON IQ
+10C37 OLD TURKIC LETTER YENISEI IQ
+10C38 OLD TURKIC LETTER ORKHON OQ
+10C39 OLD TURKIC LETTER YENISEI OQ
+10C3A OLD TURKIC LETTER ORKHON AR
+10C3B OLD TURKIC LETTER YENISEI AR
+10C3C OLD TURKIC LETTER ORKHON AER
+10C3D OLD TURKIC LETTER ORKHON AS
+10C3E OLD TURKIC LETTER ORKHON AES
+10C3F OLD TURKIC LETTER ORKHON ASH
+10C40 OLD TURKIC LETTER YENISEI ASH
+10C41 OLD TURKIC LETTER ORKHON ESH
+10C42 OLD TURKIC LETTER YENISEI ESH
+10C43 OLD TURKIC LETTER ORKHON AT
+10C44 OLD TURKIC LETTER YENISEI AT
+10C45 OLD TURKIC LETTER ORKHON AET
+10C46 OLD TURKIC LETTER YENISEI AET
+10C47 OLD TURKIC LETTER ORKHON OT
+10C48 OLD TURKIC LETTER ORKHON BASH
+10E60 RUMI DIGIT ONE
+10E61 RUMI DIGIT TWO
+10E62 RUMI DIGIT THREE
+10E63 RUMI DIGIT FOUR
+10E64 RUMI DIGIT FIVE
+10E65 RUMI DIGIT SIX
+10E66 RUMI DIGIT SEVEN
+10E67 RUMI DIGIT EIGHT
+10E68 RUMI DIGIT NINE
+10E69 RUMI NUMBER TEN
+10E6A RUMI NUMBER TWENTY
+10E6B RUMI NUMBER THIRTY
+10E6C RUMI NUMBER FORTY
+10E6D RUMI NUMBER FIFTY
+10E6E RUMI NUMBER SIXTY
+10E6F RUMI NUMBER SEVENTY
+10E70 RUMI NUMBER EIGHTY
+10E71 RUMI NUMBER NINETY
+10E72 RUMI NUMBER ONE HUNDRED
+10E73 RUMI NUMBER TWO HUNDRED
+10E74 RUMI NUMBER THREE HUNDRED
+10E75 RUMI NUMBER FOUR HUNDRED
+10E76 RUMI NUMBER FIVE HUNDRED
+10E77 RUMI NUMBER SIX HUNDRED
+10E78 RUMI NUMBER SEVEN HUNDRED
+10E79 RUMI NUMBER EIGHT HUNDRED
+10E7A RUMI NUMBER NINE HUNDRED
+10E7B RUMI FRACTION ONE HALF
+10E7C RUMI FRACTION ONE QUARTER
+10E7D RUMI FRACTION ONE THIRD
+10E7E RUMI FRACTION TWO THIRDS
+11000 BRAHMI SIGN CANDRABINDU
+11001 BRAHMI SIGN ANUSVARA
+11002 BRAHMI SIGN VISARGA
+11003 BRAHMI SIGN JIHVAMULIYA
+11004 BRAHMI SIGN UPADHMANIYA
+11005 BRAHMI LETTER A
+11006 BRAHMI LETTER AA
+11007 BRAHMI LETTER I
+11008 BRAHMI LETTER II
+11009 BRAHMI LETTER U
+1100A BRAHMI LETTER UU
+1100B BRAHMI LETTER VOCALIC R
+1100C BRAHMI LETTER VOCALIC RR
+1100D BRAHMI LETTER VOCALIC L
+1100E BRAHMI LETTER VOCALIC LL
+1100F BRAHMI LETTER E
+11010 BRAHMI LETTER AI
+11011 BRAHMI LETTER O
+11012 BRAHMI LETTER AU
+11013 BRAHMI LETTER KA
+11014 BRAHMI LETTER KHA
+11015 BRAHMI LETTER GA
+11016 BRAHMI LETTER GHA
+11017 BRAHMI LETTER NGA
+11018 BRAHMI LETTER CA
+11019 BRAHMI LETTER CHA
+1101A BRAHMI LETTER JA
+1101B BRAHMI LETTER JHA
+1101C BRAHMI LETTER NYA
+1101D BRAHMI LETTER TTA
+1101E BRAHMI LETTER TTHA
+1101F BRAHMI LETTER DDA
+11020 BRAHMI LETTER DDHA
+11021 BRAHMI LETTER NNA
+11022 BRAHMI LETTER TA
+11023 BRAHMI LETTER THA
+11024 BRAHMI LETTER DA
+11025 BRAHMI LETTER DHA
+11026 BRAHMI LETTER NA
+11027 BRAHMI LETTER PA
+11028 BRAHMI LETTER PHA
+11029 BRAHMI LETTER BA
+1102A BRAHMI LETTER BHA
+1102B BRAHMI LETTER MA
+1102C BRAHMI LETTER YA
+1102D BRAHMI LETTER RA
+1102E BRAHMI LETTER LA
+1102F BRAHMI LETTER VA
+11030 BRAHMI LETTER SHA
+11031 BRAHMI LETTER SSA
+11032 BRAHMI LETTER SA
+11033 BRAHMI LETTER HA
+11034 BRAHMI LETTER LLA
+11035 BRAHMI LETTER OLD TAMIL LLLA
+11036 BRAHMI LETTER OLD TAMIL RRA
+11037 BRAHMI LETTER OLD TAMIL NNNA
+11038 BRAHMI VOWEL SIGN AA
+11039 BRAHMI VOWEL SIGN BHATTIPROLU AA
+1103A BRAHMI VOWEL SIGN I
+1103B BRAHMI VOWEL SIGN II
+1103C BRAHMI VOWEL SIGN U
+1103D BRAHMI VOWEL SIGN UU
+1103E BRAHMI VOWEL SIGN VOCALIC R
+1103F BRAHMI VOWEL SIGN VOCALIC RR
+11040 BRAHMI VOWEL SIGN VOCALIC L
+11041 BRAHMI VOWEL SIGN VOCALIC LL
+11042 BRAHMI VOWEL SIGN E
+11043 BRAHMI VOWEL SIGN AI
+11044 BRAHMI VOWEL SIGN O
+11045 BRAHMI VOWEL SIGN AU
+11046 BRAHMI VIRAMA
+11047 BRAHMI DANDA
+11048 BRAHMI DOUBLE DANDA
+11049 BRAHMI PUNCTUATION DOT
+1104A BRAHMI PUNCTUATION DOUBLE DOT
+1104B BRAHMI PUNCTUATION LINE
+1104C BRAHMI PUNCTUATION CRESCENT BAR
+1104D BRAHMI PUNCTUATION LOTUS
+11052 BRAHMI NUMBER ONE
+11053 BRAHMI NUMBER TWO
+11054 BRAHMI NUMBER THREE
+11055 BRAHMI NUMBER FOUR
+11056 BRAHMI NUMBER FIVE
+11057 BRAHMI NUMBER SIX
+11058 BRAHMI NUMBER SEVEN
+11059 BRAHMI NUMBER EIGHT
+1105A BRAHMI NUMBER NINE
+1105B BRAHMI NUMBER TEN
+1105C BRAHMI NUMBER TWENTY
+1105D BRAHMI NUMBER THIRTY
+1105E BRAHMI NUMBER FORTY
+1105F BRAHMI NUMBER FIFTY
+11060 BRAHMI NUMBER SIXTY
+11061 BRAHMI NUMBER SEVENTY
+11062 BRAHMI NUMBER EIGHTY
+11063 BRAHMI NUMBER NINETY
+11064 BRAHMI NUMBER ONE HUNDRED
+11065 BRAHMI NUMBER ONE THOUSAND
+11066 BRAHMI DIGIT ZERO
+11067 BRAHMI DIGIT ONE
+11068 BRAHMI DIGIT TWO
+11069 BRAHMI DIGIT THREE
+1106A BRAHMI DIGIT FOUR
+1106B BRAHMI DIGIT FIVE
+1106C BRAHMI DIGIT SIX
+1106D BRAHMI DIGIT SEVEN
+1106E BRAHMI DIGIT EIGHT
+1106F BRAHMI DIGIT NINE
+11080 KAITHI SIGN CANDRABINDU
+11081 KAITHI SIGN ANUSVARA
+11082 KAITHI SIGN VISARGA
+11083 KAITHI LETTER A
+11084 KAITHI LETTER AA
+11085 KAITHI LETTER I
+11086 KAITHI LETTER II
+11087 KAITHI LETTER U
+11088 KAITHI LETTER UU
+11089 KAITHI LETTER E
+1108A KAITHI LETTER AI
+1108B KAITHI LETTER O
+1108C KAITHI LETTER AU
+1108D KAITHI LETTER KA
+1108E KAITHI LETTER KHA
+1108F KAITHI LETTER GA
+11090 KAITHI LETTER GHA
+11091 KAITHI LETTER NGA
+11092 KAITHI LETTER CA
+11093 KAITHI LETTER CHA
+11094 KAITHI LETTER JA
+11095 KAITHI LETTER JHA
+11096 KAITHI LETTER NYA
+11097 KAITHI LETTER TTA
+11098 KAITHI LETTER TTHA
+11099 KAITHI LETTER DDA
+1109A KAITHI LETTER DDDHA
+1109B KAITHI LETTER DDHA
+1109C KAITHI LETTER RHA
+1109D KAITHI LETTER NNA
+1109E KAITHI LETTER TA
+1109F KAITHI LETTER THA
+110A0 KAITHI LETTER DA
+110A1 KAITHI LETTER DHA
+110A2 KAITHI LETTER NA
+110A3 KAITHI LETTER PA
+110A4 KAITHI LETTER PHA
+110A5 KAITHI LETTER BA
+110A6 KAITHI LETTER BHA
+110A7 KAITHI LETTER MA
+110A8 KAITHI LETTER YA
+110A9 KAITHI LETTER RA
+110AA KAITHI LETTER LA
+110AB KAITHI LETTER VA
+110AC KAITHI LETTER SHA
+110AD KAITHI LETTER SSA
+110AE KAITHI LETTER SA
+110AF KAITHI LETTER HA
+110B0 KAITHI VOWEL SIGN AA
+110B1 KAITHI VOWEL SIGN I
+110B2 KAITHI VOWEL SIGN II
+110B3 KAITHI VOWEL SIGN U
+110B4 KAITHI VOWEL SIGN UU
+110B5 KAITHI VOWEL SIGN E
+110B6 KAITHI VOWEL SIGN AI
+110B7 KAITHI VOWEL SIGN O
+110B8 KAITHI VOWEL SIGN AU
+110B9 KAITHI SIGN VIRAMA
+110BA KAITHI SIGN NUKTA
+110BB KAITHI ABBREVIATION SIGN
+110BC KAITHI ENUMERATION SIGN
+110BD KAITHI NUMBER SIGN
+110BE KAITHI SECTION MARK
+110BF KAITHI DOUBLE SECTION MARK
+110C0 KAITHI DANDA
+110C1 KAITHI DOUBLE DANDA
+12000 CUNEIFORM SIGN A
+12001 CUNEIFORM SIGN A TIMES A
+12002 CUNEIFORM SIGN A TIMES BAD
+12003 CUNEIFORM SIGN A TIMES GAN2 TENU
+12004 CUNEIFORM SIGN A TIMES HA
+12005 CUNEIFORM SIGN A TIMES IGI
+12006 CUNEIFORM SIGN A TIMES LAGAR GUNU
+12007 CUNEIFORM SIGN A TIMES MUSH
+12008 CUNEIFORM SIGN A TIMES SAG
+12009 CUNEIFORM SIGN A2
+1200A CUNEIFORM SIGN AB
+1200B CUNEIFORM SIGN AB TIMES ASH2
+1200C CUNEIFORM SIGN AB TIMES DUN3 GUNU
+1200D CUNEIFORM SIGN AB TIMES GAL
+1200E CUNEIFORM SIGN AB TIMES GAN2 TENU
+1200F CUNEIFORM SIGN AB TIMES HA
+12010 CUNEIFORM SIGN AB TIMES IGI GUNU
+12011 CUNEIFORM SIGN AB TIMES IMIN
+12012 CUNEIFORM SIGN AB TIMES LAGAB
+12013 CUNEIFORM SIGN AB TIMES SHESH
+12014 CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
+12015 CUNEIFORM SIGN AB GUNU
+12016 CUNEIFORM SIGN AB2
+12017 CUNEIFORM SIGN AB2 TIMES BALAG
+12018 CUNEIFORM SIGN AB2 TIMES GAN2 TENU
+12019 CUNEIFORM SIGN AB2 TIMES ME PLUS EN
+1201A CUNEIFORM SIGN AB2 TIMES SHA3
+1201B CUNEIFORM SIGN AB2 TIMES TAK4
+1201C CUNEIFORM SIGN AD
+1201D CUNEIFORM SIGN AK
+1201E CUNEIFORM SIGN AK TIMES ERIN2
+1201F CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
+12020 CUNEIFORM SIGN AL
+12021 CUNEIFORM SIGN AL TIMES AL
+12022 CUNEIFORM SIGN AL TIMES DIM2
+12023 CUNEIFORM SIGN AL TIMES GISH
+12024 CUNEIFORM SIGN AL TIMES HA
+12025 CUNEIFORM SIGN AL TIMES KAD3
+12026 CUNEIFORM SIGN AL TIMES KI
+12027 CUNEIFORM SIGN AL TIMES SHE
+12028 CUNEIFORM SIGN AL TIMES USH
+12029 CUNEIFORM SIGN ALAN
+1202A CUNEIFORM SIGN ALEPH
+1202B CUNEIFORM SIGN AMAR
+1202C CUNEIFORM SIGN AMAR TIMES SHE
+1202D CUNEIFORM SIGN AN
+1202E CUNEIFORM SIGN AN OVER AN
+1202F CUNEIFORM SIGN AN THREE TIMES
+12030 CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
+12031 CUNEIFORM SIGN AN PLUS NAGA SQUARED
+12032 CUNEIFORM SIGN ANSHE
+12033 CUNEIFORM SIGN APIN
+12034 CUNEIFORM SIGN ARAD
+12035 CUNEIFORM SIGN ARAD TIMES KUR
+12036 CUNEIFORM SIGN ARKAB
+12037 CUNEIFORM SIGN ASAL2
+12038 CUNEIFORM SIGN ASH
+12039 CUNEIFORM SIGN ASH ZIDA TENU
+1203A CUNEIFORM SIGN ASH KABA TENU
+1203B CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
+1203C CUNEIFORM SIGN ASH OVER ASH OVER ASH
+1203D CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
+1203E CUNEIFORM SIGN ASH2
+1203F CUNEIFORM SIGN ASHGAB
+12040 CUNEIFORM SIGN BA
+12041 CUNEIFORM SIGN BAD
+12042 CUNEIFORM SIGN BAG3
+12043 CUNEIFORM SIGN BAHAR2
+12044 CUNEIFORM SIGN BAL
+12045 CUNEIFORM SIGN BAL OVER BAL
+12046 CUNEIFORM SIGN BALAG
+12047 CUNEIFORM SIGN BAR
+12048 CUNEIFORM SIGN BARA2
+12049 CUNEIFORM SIGN BI
+1204A CUNEIFORM SIGN BI TIMES A
+1204B CUNEIFORM SIGN BI TIMES GAR
+1204C CUNEIFORM SIGN BI TIMES IGI GUNU
+1204D CUNEIFORM SIGN BU
+1204E CUNEIFORM SIGN BU OVER BU AB
+1204F CUNEIFORM SIGN BU OVER BU UN
+12050 CUNEIFORM SIGN BU CROSSING BU
+12051 CUNEIFORM SIGN BULUG
+12052 CUNEIFORM SIGN BULUG OVER BULUG
+12053 CUNEIFORM SIGN BUR
+12054 CUNEIFORM SIGN BUR2
+12055 CUNEIFORM SIGN DA
+12056 CUNEIFORM SIGN DAG
+12057 CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
+12058 CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
+12059 CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
+1205A CUNEIFORM SIGN DAG KISIM5 TIMES BI
+1205B CUNEIFORM SIGN DAG KISIM5 TIMES GA
+1205C CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
+1205D CUNEIFORM SIGN DAG KISIM5 TIMES GI
+1205E CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
+1205F CUNEIFORM SIGN DAG KISIM5 TIMES GUD
+12060 CUNEIFORM SIGN DAG KISIM5 TIMES HA
+12061 CUNEIFORM SIGN DAG KISIM5 TIMES IR
+12062 CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
+12063 CUNEIFORM SIGN DAG KISIM5 TIMES KAK
+12064 CUNEIFORM SIGN DAG KISIM5 TIMES LA
+12065 CUNEIFORM SIGN DAG KISIM5 TIMES LU
+12066 CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
+12067 CUNEIFORM SIGN DAG KISIM5 TIMES LUM
+12068 CUNEIFORM SIGN DAG KISIM5 TIMES NE
+12069 CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
+1206A CUNEIFORM SIGN DAG KISIM5 TIMES SI
+1206B CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
+1206C CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
+1206D CUNEIFORM SIGN DAG KISIM5 TIMES USH
+1206E CUNEIFORM SIGN DAM
+1206F CUNEIFORM SIGN DAR
+12070 CUNEIFORM SIGN DARA3
+12071 CUNEIFORM SIGN DARA4
+12072 CUNEIFORM SIGN DI
+12073 CUNEIFORM SIGN DIB
+12074 CUNEIFORM SIGN DIM
+12075 CUNEIFORM SIGN DIM TIMES SHE
+12076 CUNEIFORM SIGN DIM2
+12077 CUNEIFORM SIGN DIN
+12078 CUNEIFORM SIGN DIN KASKAL U GUNU DISH
+12079 CUNEIFORM SIGN DISH
+1207A CUNEIFORM SIGN DU
+1207B CUNEIFORM SIGN DU OVER DU
+1207C CUNEIFORM SIGN DU GUNU
+1207D CUNEIFORM SIGN DU SHESHIG
+1207E CUNEIFORM SIGN DUB
+1207F CUNEIFORM SIGN DUB TIMES ESH2
+12080 CUNEIFORM SIGN DUB2
+12081 CUNEIFORM SIGN DUG
+12082 CUNEIFORM SIGN DUGUD
+12083 CUNEIFORM SIGN DUH
+12084 CUNEIFORM SIGN DUN
+12085 CUNEIFORM SIGN DUN3
+12086 CUNEIFORM SIGN DUN3 GUNU
+12087 CUNEIFORM SIGN DUN3 GUNU GUNU
+12088 CUNEIFORM SIGN DUN4
+12089 CUNEIFORM SIGN DUR2
+1208A CUNEIFORM SIGN E
+1208B CUNEIFORM SIGN E TIMES PAP
+1208C CUNEIFORM SIGN E OVER E NUN OVER NUN
+1208D CUNEIFORM SIGN E2
+1208E CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
+1208F CUNEIFORM SIGN E2 TIMES GAR
+12090 CUNEIFORM SIGN E2 TIMES MI
+12091 CUNEIFORM SIGN E2 TIMES SAL
+12092 CUNEIFORM SIGN E2 TIMES SHE
+12093 CUNEIFORM SIGN E2 TIMES U
+12094 CUNEIFORM SIGN EDIN
+12095 CUNEIFORM SIGN EGIR
+12096 CUNEIFORM SIGN EL
+12097 CUNEIFORM SIGN EN
+12098 CUNEIFORM SIGN EN TIMES GAN2
+12099 CUNEIFORM SIGN EN TIMES GAN2 TENU
+1209A CUNEIFORM SIGN EN TIMES ME
+1209B CUNEIFORM SIGN EN CROSSING EN
+1209C CUNEIFORM SIGN EN OPPOSING EN
+1209D CUNEIFORM SIGN EN SQUARED
+1209E CUNEIFORM SIGN EREN
+1209F CUNEIFORM SIGN ERIN2
+120A0 CUNEIFORM SIGN ESH2
+120A1 CUNEIFORM SIGN EZEN
+120A2 CUNEIFORM SIGN EZEN TIMES A
+120A3 CUNEIFORM SIGN EZEN TIMES A PLUS LAL
+120A4 CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
+120A5 CUNEIFORM SIGN EZEN TIMES AN
+120A6 CUNEIFORM SIGN EZEN TIMES BAD
+120A7 CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
+120A8 CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
+120A9 CUNEIFORM SIGN EZEN TIMES HA
+120AA CUNEIFORM SIGN EZEN TIMES HA GUNU
+120AB CUNEIFORM SIGN EZEN TIMES IGI GUNU
+120AC CUNEIFORM SIGN EZEN TIMES KASKAL
+120AD CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
+120AE CUNEIFORM SIGN EZEN TIMES KU3
+120AF CUNEIFORM SIGN EZEN TIMES LA
+120B0 CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
+120B1 CUNEIFORM SIGN EZEN TIMES LI
+120B2 CUNEIFORM SIGN EZEN TIMES LU
+120B3 CUNEIFORM SIGN EZEN TIMES U2
+120B4 CUNEIFORM SIGN EZEN TIMES UD
+120B5 CUNEIFORM SIGN GA
+120B6 CUNEIFORM SIGN GA GUNU
+120B7 CUNEIFORM SIGN GA2
+120B8 CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
+120B9 CUNEIFORM SIGN GA2 TIMES A PLUS HA
+120BA CUNEIFORM SIGN GA2 TIMES A PLUS IGI
+120BB CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
+120BC CUNEIFORM SIGN GA2 TIMES AN
+120BD CUNEIFORM SIGN GA2 TIMES ASH
+120BE CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
+120BF CUNEIFORM SIGN GA2 TIMES BAD
+120C0 CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
+120C1 CUNEIFORM SIGN GA2 TIMES BUR
+120C2 CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
+120C3 CUNEIFORM SIGN GA2 TIMES DA
+120C4 CUNEIFORM SIGN GA2 TIMES DI
+120C5 CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
+120C6 CUNEIFORM SIGN GA2 TIMES DUB
+120C7 CUNEIFORM SIGN GA2 TIMES EL
+120C8 CUNEIFORM SIGN GA2 TIMES EL PLUS LA
+120C9 CUNEIFORM SIGN GA2 TIMES EN
+120CA CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
+120CB CUNEIFORM SIGN GA2 TIMES GAN2 TENU
+120CC CUNEIFORM SIGN GA2 TIMES GAR
+120CD CUNEIFORM SIGN GA2 TIMES GI
+120CE CUNEIFORM SIGN GA2 TIMES GI4
+120CF CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
+120D0 CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
+120D1 CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
+120D2 CUNEIFORM SIGN GA2 TIMES HAL
+120D3 CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
+120D4 CUNEIFORM SIGN GA2 TIMES HI PLUS LI
+120D5 CUNEIFORM SIGN GA2 TIMES HUB2
+120D6 CUNEIFORM SIGN GA2 TIMES IGI GUNU
+120D7 CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
+120D8 CUNEIFORM SIGN GA2 TIMES KAK
+120D9 CUNEIFORM SIGN GA2 TIMES KASKAL
+120DA CUNEIFORM SIGN GA2 TIMES KID
+120DB CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
+120DC CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
+120DD CUNEIFORM SIGN GA2 TIMES LA
+120DE CUNEIFORM SIGN GA2 TIMES ME PLUS EN
+120DF CUNEIFORM SIGN GA2 TIMES MI
+120E0 CUNEIFORM SIGN GA2 TIMES NUN
+120E1 CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
+120E2 CUNEIFORM SIGN GA2 TIMES PA
+120E3 CUNEIFORM SIGN GA2 TIMES SAL
+120E4 CUNEIFORM SIGN GA2 TIMES SAR
+120E5 CUNEIFORM SIGN GA2 TIMES SHE
+120E6 CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
+120E7 CUNEIFORM SIGN GA2 TIMES SHID
+120E8 CUNEIFORM SIGN GA2 TIMES SUM
+120E9 CUNEIFORM SIGN GA2 TIMES TAK4
+120EA CUNEIFORM SIGN GA2 TIMES U
+120EB CUNEIFORM SIGN GA2 TIMES UD
+120EC CUNEIFORM SIGN GA2 TIMES UD PLUS DU
+120ED CUNEIFORM SIGN GA2 OVER GA2
+120EE CUNEIFORM SIGN GABA
+120EF CUNEIFORM SIGN GABA CROSSING GABA
+120F0 CUNEIFORM SIGN GAD
+120F1 CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
+120F2 CUNEIFORM SIGN GAL
+120F3 CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
+120F4 CUNEIFORM SIGN GALAM
+120F5 CUNEIFORM SIGN GAM
+120F6 CUNEIFORM SIGN GAN
+120F7 CUNEIFORM SIGN GAN2
+120F8 CUNEIFORM SIGN GAN2 TENU
+120F9 CUNEIFORM SIGN GAN2 OVER GAN2
+120FA CUNEIFORM SIGN GAN2 CROSSING GAN2
+120FB CUNEIFORM SIGN GAR
+120FC CUNEIFORM SIGN GAR3
+120FD CUNEIFORM SIGN GASHAN
+120FE CUNEIFORM SIGN GESHTIN
+120FF CUNEIFORM SIGN GESHTIN TIMES KUR
+12100 CUNEIFORM SIGN GI
+12101 CUNEIFORM SIGN GI TIMES E
+12102 CUNEIFORM SIGN GI TIMES U
+12103 CUNEIFORM SIGN GI CROSSING GI
+12104 CUNEIFORM SIGN GI4
+12105 CUNEIFORM SIGN GI4 OVER GI4
+12106 CUNEIFORM SIGN GI4 CROSSING GI4
+12107 CUNEIFORM SIGN GIDIM
+12108 CUNEIFORM SIGN GIR2
+12109 CUNEIFORM SIGN GIR2 GUNU
+1210A CUNEIFORM SIGN GIR3
+1210B CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
+1210C CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
+1210D CUNEIFORM SIGN GIR3 TIMES IGI
+1210E CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
+1210F CUNEIFORM SIGN GIR3 TIMES PA
+12110 CUNEIFORM SIGN GISAL
+12111 CUNEIFORM SIGN GISH
+12112 CUNEIFORM SIGN GISH CROSSING GISH
+12113 CUNEIFORM SIGN GISH TIMES BAD
+12114 CUNEIFORM SIGN GISH TIMES TAK4
+12115 CUNEIFORM SIGN GISH TENU
+12116 CUNEIFORM SIGN GU
+12117 CUNEIFORM SIGN GU CROSSING GU
+12118 CUNEIFORM SIGN GU2
+12119 CUNEIFORM SIGN GU2 TIMES KAK
+1211A CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
+1211B CUNEIFORM SIGN GU2 TIMES NUN
+1211C CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
+1211D CUNEIFORM SIGN GU2 GUNU
+1211E CUNEIFORM SIGN GUD
+1211F CUNEIFORM SIGN GUD TIMES A PLUS KUR
+12120 CUNEIFORM SIGN GUD TIMES KUR
+12121 CUNEIFORM SIGN GUD OVER GUD LUGAL
+12122 CUNEIFORM SIGN GUL
+12123 CUNEIFORM SIGN GUM
+12124 CUNEIFORM SIGN GUM TIMES SHE
+12125 CUNEIFORM SIGN GUR
+12126 CUNEIFORM SIGN GUR7
+12127 CUNEIFORM SIGN GURUN
+12128 CUNEIFORM SIGN GURUSH
+12129 CUNEIFORM SIGN HA
+1212A CUNEIFORM SIGN HA TENU
+1212B CUNEIFORM SIGN HA GUNU
+1212C CUNEIFORM SIGN HAL
+1212D CUNEIFORM SIGN HI
+1212E CUNEIFORM SIGN HI TIMES ASH
+1212F CUNEIFORM SIGN HI TIMES ASH2
+12130 CUNEIFORM SIGN HI TIMES BAD
+12131 CUNEIFORM SIGN HI TIMES DISH
+12132 CUNEIFORM SIGN HI TIMES GAD
+12133 CUNEIFORM SIGN HI TIMES KIN
+12134 CUNEIFORM SIGN HI TIMES NUN
+12135 CUNEIFORM SIGN HI TIMES SHE
+12136 CUNEIFORM SIGN HI TIMES U
+12137 CUNEIFORM SIGN HU
+12138 CUNEIFORM SIGN HUB2
+12139 CUNEIFORM SIGN HUB2 TIMES AN
+1213A CUNEIFORM SIGN HUB2 TIMES HAL
+1213B CUNEIFORM SIGN HUB2 TIMES KASKAL
+1213C CUNEIFORM SIGN HUB2 TIMES LISH
+1213D CUNEIFORM SIGN HUB2 TIMES UD
+1213E CUNEIFORM SIGN HUL2
+1213F CUNEIFORM SIGN I
+12140 CUNEIFORM SIGN I A
+12141 CUNEIFORM SIGN IB
+12142 CUNEIFORM SIGN IDIM
+12143 CUNEIFORM SIGN IDIM OVER IDIM BUR
+12144 CUNEIFORM SIGN IDIM OVER IDIM SQUARED
+12145 CUNEIFORM SIGN IG
+12146 CUNEIFORM SIGN IGI
+12147 CUNEIFORM SIGN IGI DIB
+12148 CUNEIFORM SIGN IGI RI
+12149 CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
+1214A CUNEIFORM SIGN IGI GUNU
+1214B CUNEIFORM SIGN IL
+1214C CUNEIFORM SIGN IL TIMES GAN2 TENU
+1214D CUNEIFORM SIGN IL2
+1214E CUNEIFORM SIGN IM
+1214F CUNEIFORM SIGN IM TIMES TAK4
+12150 CUNEIFORM SIGN IM CROSSING IM
+12151 CUNEIFORM SIGN IM OPPOSING IM
+12152 CUNEIFORM SIGN IM SQUARED
+12153 CUNEIFORM SIGN IMIN
+12154 CUNEIFORM SIGN IN
+12155 CUNEIFORM SIGN IR
+12156 CUNEIFORM SIGN ISH
+12157 CUNEIFORM SIGN KA
+12158 CUNEIFORM SIGN KA TIMES A
+12159 CUNEIFORM SIGN KA TIMES AD
+1215A CUNEIFORM SIGN KA TIMES AD PLUS KU3
+1215B CUNEIFORM SIGN KA TIMES ASH2
+1215C CUNEIFORM SIGN KA TIMES BAD
+1215D CUNEIFORM SIGN KA TIMES BALAG
+1215E CUNEIFORM SIGN KA TIMES BAR
+1215F CUNEIFORM SIGN KA TIMES BI
+12160 CUNEIFORM SIGN KA TIMES ERIN2
+12161 CUNEIFORM SIGN KA TIMES ESH2
+12162 CUNEIFORM SIGN KA TIMES GA
+12163 CUNEIFORM SIGN KA TIMES GAL
+12164 CUNEIFORM SIGN KA TIMES GAN2 TENU
+12165 CUNEIFORM SIGN KA TIMES GAR
+12166 CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
+12167 CUNEIFORM SIGN KA TIMES GI
+12168 CUNEIFORM SIGN KA TIMES GIR2
+12169 CUNEIFORM SIGN KA TIMES GISH PLUS SAR
+1216A CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
+1216B CUNEIFORM SIGN KA TIMES GU
+1216C CUNEIFORM SIGN KA TIMES GUR7
+1216D CUNEIFORM SIGN KA TIMES IGI
+1216E CUNEIFORM SIGN KA TIMES IM
+1216F CUNEIFORM SIGN KA TIMES KAK
+12170 CUNEIFORM SIGN KA TIMES KI
+12171 CUNEIFORM SIGN KA TIMES KID
+12172 CUNEIFORM SIGN KA TIMES LI
+12173 CUNEIFORM SIGN KA TIMES LU
+12174 CUNEIFORM SIGN KA TIMES ME
+12175 CUNEIFORM SIGN KA TIMES ME PLUS DU
+12176 CUNEIFORM SIGN KA TIMES ME PLUS GI
+12177 CUNEIFORM SIGN KA TIMES ME PLUS TE
+12178 CUNEIFORM SIGN KA TIMES MI
+12179 CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
+1217A CUNEIFORM SIGN KA TIMES NE
+1217B CUNEIFORM SIGN KA TIMES NUN
+1217C CUNEIFORM SIGN KA TIMES PI
+1217D CUNEIFORM SIGN KA TIMES RU
+1217E CUNEIFORM SIGN KA TIMES SA
+1217F CUNEIFORM SIGN KA TIMES SAR
+12180 CUNEIFORM SIGN KA TIMES SHA
+12181 CUNEIFORM SIGN KA TIMES SHE
+12182 CUNEIFORM SIGN KA TIMES SHID
+12183 CUNEIFORM SIGN KA TIMES SHU
+12184 CUNEIFORM SIGN KA TIMES SIG
+12185 CUNEIFORM SIGN KA TIMES SUHUR
+12186 CUNEIFORM SIGN KA TIMES TAR
+12187 CUNEIFORM SIGN KA TIMES U
+12188 CUNEIFORM SIGN KA TIMES U2
+12189 CUNEIFORM SIGN KA TIMES UD
+1218A CUNEIFORM SIGN KA TIMES UMUM TIMES PA
+1218B CUNEIFORM SIGN KA TIMES USH
+1218C CUNEIFORM SIGN KA TIMES ZI
+1218D CUNEIFORM SIGN KA2
+1218E CUNEIFORM SIGN KA2 CROSSING KA2
+1218F CUNEIFORM SIGN KAB
+12190 CUNEIFORM SIGN KAD2
+12191 CUNEIFORM SIGN KAD3
+12192 CUNEIFORM SIGN KAD4
+12193 CUNEIFORM SIGN KAD5
+12194 CUNEIFORM SIGN KAD5 OVER KAD5
+12195 CUNEIFORM SIGN KAK
+12196 CUNEIFORM SIGN KAK TIMES IGI GUNU
+12197 CUNEIFORM SIGN KAL
+12198 CUNEIFORM SIGN KAL TIMES BAD
+12199 CUNEIFORM SIGN KAL CROSSING KAL
+1219A CUNEIFORM SIGN KAM2
+1219B CUNEIFORM SIGN KAM4
+1219C CUNEIFORM SIGN KASKAL
+1219D CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219E CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219F CUNEIFORM SIGN KESH2
+121A0 CUNEIFORM SIGN KI
+121A1 CUNEIFORM SIGN KI TIMES BAD
+121A2 CUNEIFORM SIGN KI TIMES U
+121A3 CUNEIFORM SIGN KI TIMES UD
+121A4 CUNEIFORM SIGN KID
+121A5 CUNEIFORM SIGN KIN
+121A6 CUNEIFORM SIGN KISAL
+121A7 CUNEIFORM SIGN KISH
+121A8 CUNEIFORM SIGN KISIM5
+121A9 CUNEIFORM SIGN KISIM5 OVER KISIM5
+121AA CUNEIFORM SIGN KU
+121AB CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
+121AC CUNEIFORM SIGN KU3
+121AD CUNEIFORM SIGN KU4
+121AE CUNEIFORM SIGN KU4 VARIANT FORM
+121AF CUNEIFORM SIGN KU7
+121B0 CUNEIFORM SIGN KUL
+121B1 CUNEIFORM SIGN KUL GUNU
+121B2 CUNEIFORM SIGN KUN
+121B3 CUNEIFORM SIGN KUR
+121B4 CUNEIFORM SIGN KUR OPPOSING KUR
+121B5 CUNEIFORM SIGN KUSHU2
+121B6 CUNEIFORM SIGN KWU318
+121B7 CUNEIFORM SIGN LA
+121B8 CUNEIFORM SIGN LAGAB
+121B9 CUNEIFORM SIGN LAGAB TIMES A
+121BA CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
+121BB CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
+121BC CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
+121BD CUNEIFORM SIGN LAGAB TIMES AL
+121BE CUNEIFORM SIGN LAGAB TIMES AN
+121BF CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
+121C0 CUNEIFORM SIGN LAGAB TIMES BAD
+121C1 CUNEIFORM SIGN LAGAB TIMES BI
+121C2 CUNEIFORM SIGN LAGAB TIMES DAR
+121C3 CUNEIFORM SIGN LAGAB TIMES EN
+121C4 CUNEIFORM SIGN LAGAB TIMES GA
+121C5 CUNEIFORM SIGN LAGAB TIMES GAR
+121C6 CUNEIFORM SIGN LAGAB TIMES GUD
+121C7 CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
+121C8 CUNEIFORM SIGN LAGAB TIMES HA
+121C9 CUNEIFORM SIGN LAGAB TIMES HAL
+121CA CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
+121CB CUNEIFORM SIGN LAGAB TIMES IGI GUNU
+121CC CUNEIFORM SIGN LAGAB TIMES IM
+121CD CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
+121CE CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
+121CF CUNEIFORM SIGN LAGAB TIMES KI
+121D0 CUNEIFORM SIGN LAGAB TIMES KIN
+121D1 CUNEIFORM SIGN LAGAB TIMES KU3
+121D2 CUNEIFORM SIGN LAGAB TIMES KUL
+121D3 CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
+121D4 CUNEIFORM SIGN LAGAB TIMES LAGAB
+121D5 CUNEIFORM SIGN LAGAB TIMES LISH
+121D6 CUNEIFORM SIGN LAGAB TIMES LU
+121D7 CUNEIFORM SIGN LAGAB TIMES LUL
+121D8 CUNEIFORM SIGN LAGAB TIMES ME
+121D9 CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
+121DA CUNEIFORM SIGN LAGAB TIMES MUSH
+121DB CUNEIFORM SIGN LAGAB TIMES NE
+121DC CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
+121DD CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
+121DE CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
+121DF CUNEIFORM SIGN LAGAB TIMES SHU2
+121E0 CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
+121E1 CUNEIFORM SIGN LAGAB TIMES SUM
+121E2 CUNEIFORM SIGN LAGAB TIMES TAG
+121E3 CUNEIFORM SIGN LAGAB TIMES TAK4
+121E4 CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
+121E5 CUNEIFORM SIGN LAGAB TIMES U
+121E6 CUNEIFORM SIGN LAGAB TIMES U PLUS A
+121E7 CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
+121E8 CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
+121E9 CUNEIFORM SIGN LAGAB TIMES UD
+121EA CUNEIFORM SIGN LAGAB TIMES USH
+121EB CUNEIFORM SIGN LAGAB SQUARED
+121EC CUNEIFORM SIGN LAGAR
+121ED CUNEIFORM SIGN LAGAR TIMES SHE
+121EE CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
+121EF CUNEIFORM SIGN LAGAR GUNU
+121F0 CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
+121F1 CUNEIFORM SIGN LAHSHU
+121F2 CUNEIFORM SIGN LAL
+121F3 CUNEIFORM SIGN LAL TIMES LAL
+121F4 CUNEIFORM SIGN LAM
+121F5 CUNEIFORM SIGN LAM TIMES KUR
+121F6 CUNEIFORM SIGN LAM TIMES KUR PLUS RU
+121F7 CUNEIFORM SIGN LI
+121F8 CUNEIFORM SIGN LIL
+121F9 CUNEIFORM SIGN LIMMU2
+121FA CUNEIFORM SIGN LISH
+121FB CUNEIFORM SIGN LU
+121FC CUNEIFORM SIGN LU TIMES BAD
+121FD CUNEIFORM SIGN LU2
+121FE CUNEIFORM SIGN LU2 TIMES AL
+121FF CUNEIFORM SIGN LU2 TIMES BAD
+12200 CUNEIFORM SIGN LU2 TIMES ESH2
+12201 CUNEIFORM SIGN LU2 TIMES ESH2 TENU
+12202 CUNEIFORM SIGN LU2 TIMES GAN2 TENU
+12203 CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
+12204 CUNEIFORM SIGN LU2 TIMES IM
+12205 CUNEIFORM SIGN LU2 TIMES KAD2
+12206 CUNEIFORM SIGN LU2 TIMES KAD3
+12207 CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
+12208 CUNEIFORM SIGN LU2 TIMES KI
+12209 CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
+1220A CUNEIFORM SIGN LU2 TIMES LAGAB
+1220B CUNEIFORM SIGN LU2 TIMES ME PLUS EN
+1220C CUNEIFORM SIGN LU2 TIMES NE
+1220D CUNEIFORM SIGN LU2 TIMES NU
+1220E CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
+1220F CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
+12210 CUNEIFORM SIGN LU2 TIMES TUG2
+12211 CUNEIFORM SIGN LU2 TENU
+12212 CUNEIFORM SIGN LU2 CROSSING LU2
+12213 CUNEIFORM SIGN LU2 OPPOSING LU2
+12214 CUNEIFORM SIGN LU2 SQUARED
+12215 CUNEIFORM SIGN LU2 SHESHIG
+12216 CUNEIFORM SIGN LU3
+12217 CUNEIFORM SIGN LUGAL
+12218 CUNEIFORM SIGN LUGAL OVER LUGAL
+12219 CUNEIFORM SIGN LUGAL OPPOSING LUGAL
+1221A CUNEIFORM SIGN LUGAL SHESHIG
+1221B CUNEIFORM SIGN LUH
+1221C CUNEIFORM SIGN LUL
+1221D CUNEIFORM SIGN LUM
+1221E CUNEIFORM SIGN LUM OVER LUM
+1221F CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
+12220 CUNEIFORM SIGN MA
+12221 CUNEIFORM SIGN MA TIMES TAK4
+12222 CUNEIFORM SIGN MA GUNU
+12223 CUNEIFORM SIGN MA2
+12224 CUNEIFORM SIGN MAH
+12225 CUNEIFORM SIGN MAR
+12226 CUNEIFORM SIGN MASH
+12227 CUNEIFORM SIGN MASH2
+12228 CUNEIFORM SIGN ME
+12229 CUNEIFORM SIGN MES
+1222A CUNEIFORM SIGN MI
+1222B CUNEIFORM SIGN MIN
+1222C CUNEIFORM SIGN MU
+1222D CUNEIFORM SIGN MU OVER MU
+1222E CUNEIFORM SIGN MUG
+1222F CUNEIFORM SIGN MUG GUNU
+12230 CUNEIFORM SIGN MUNSUB
+12231 CUNEIFORM SIGN MURGU2
+12232 CUNEIFORM SIGN MUSH
+12233 CUNEIFORM SIGN MUSH TIMES A
+12234 CUNEIFORM SIGN MUSH TIMES KUR
+12235 CUNEIFORM SIGN MUSH TIMES ZA
+12236 CUNEIFORM SIGN MUSH OVER MUSH
+12237 CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
+12238 CUNEIFORM SIGN MUSH CROSSING MUSH
+12239 CUNEIFORM SIGN MUSH3
+1223A CUNEIFORM SIGN MUSH3 TIMES A
+1223B CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
+1223C CUNEIFORM SIGN MUSH3 TIMES DI
+1223D CUNEIFORM SIGN MUSH3 GUNU
+1223E CUNEIFORM SIGN NA
+1223F CUNEIFORM SIGN NA2
+12240 CUNEIFORM SIGN NAGA
+12241 CUNEIFORM SIGN NAGA INVERTED
+12242 CUNEIFORM SIGN NAGA TIMES SHU TENU
+12243 CUNEIFORM SIGN NAGA OPPOSING NAGA
+12244 CUNEIFORM SIGN NAGAR
+12245 CUNEIFORM SIGN NAM NUTILLU
+12246 CUNEIFORM SIGN NAM
+12247 CUNEIFORM SIGN NAM2
+12248 CUNEIFORM SIGN NE
+12249 CUNEIFORM SIGN NE TIMES A
+1224A CUNEIFORM SIGN NE TIMES UD
+1224B CUNEIFORM SIGN NE SHESHIG
+1224C CUNEIFORM SIGN NI
+1224D CUNEIFORM SIGN NI TIMES E
+1224E CUNEIFORM SIGN NI2
+1224F CUNEIFORM SIGN NIM
+12250 CUNEIFORM SIGN NIM TIMES GAN2 TENU
+12251 CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
+12252 CUNEIFORM SIGN NINDA2
+12253 CUNEIFORM SIGN NINDA2 TIMES AN
+12254 CUNEIFORM SIGN NINDA2 TIMES ASH
+12255 CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
+12256 CUNEIFORM SIGN NINDA2 TIMES GUD
+12257 CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
+12258 CUNEIFORM SIGN NINDA2 TIMES NE
+12259 CUNEIFORM SIGN NINDA2 TIMES NUN
+1225A CUNEIFORM SIGN NINDA2 TIMES SHE
+1225B CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
+1225C CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
+1225D CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
+1225E CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
+1225F CUNEIFORM SIGN NINDA2 TIMES USH
+12260 CUNEIFORM SIGN NISAG
+12261 CUNEIFORM SIGN NU
+12262 CUNEIFORM SIGN NU11
+12263 CUNEIFORM SIGN NUN
+12264 CUNEIFORM SIGN NUN LAGAR TIMES GAR
+12265 CUNEIFORM SIGN NUN LAGAR TIMES MASH
+12266 CUNEIFORM SIGN NUN LAGAR TIMES SAL
+12267 CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
+12268 CUNEIFORM SIGN NUN LAGAR TIMES USH
+12269 CUNEIFORM SIGN NUN TENU
+1226A CUNEIFORM SIGN NUN OVER NUN
+1226B CUNEIFORM SIGN NUN CROSSING NUN
+1226C CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
+1226D CUNEIFORM SIGN NUNUZ
+1226E CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
+1226F CUNEIFORM SIGN NUNUZ AB2 TIMES BI
+12270 CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
+12271 CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
+12272 CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
+12273 CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
+12274 CUNEIFORM SIGN NUNUZ AB2 TIMES LA
+12275 CUNEIFORM SIGN NUNUZ AB2 TIMES NE
+12276 CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
+12277 CUNEIFORM SIGN NUNUZ AB2 TIMES U2
+12278 CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
+12279 CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
+1227A CUNEIFORM SIGN PA
+1227B CUNEIFORM SIGN PAD
+1227C CUNEIFORM SIGN PAN
+1227D CUNEIFORM SIGN PAP
+1227E CUNEIFORM SIGN PESH2
+1227F CUNEIFORM SIGN PI
+12280 CUNEIFORM SIGN PI TIMES A
+12281 CUNEIFORM SIGN PI TIMES AB
+12282 CUNEIFORM SIGN PI TIMES BI
+12283 CUNEIFORM SIGN PI TIMES BU
+12284 CUNEIFORM SIGN PI TIMES E
+12285 CUNEIFORM SIGN PI TIMES I
+12286 CUNEIFORM SIGN PI TIMES IB
+12287 CUNEIFORM SIGN PI TIMES U
+12288 CUNEIFORM SIGN PI TIMES U2
+12289 CUNEIFORM SIGN PI CROSSING PI
+1228A CUNEIFORM SIGN PIRIG
+1228B CUNEIFORM SIGN PIRIG TIMES KAL
+1228C CUNEIFORM SIGN PIRIG TIMES UD
+1228D CUNEIFORM SIGN PIRIG TIMES ZA
+1228E CUNEIFORM SIGN PIRIG OPPOSING PIRIG
+1228F CUNEIFORM SIGN RA
+12290 CUNEIFORM SIGN RAB
+12291 CUNEIFORM SIGN RI
+12292 CUNEIFORM SIGN RU
+12293 CUNEIFORM SIGN SA
+12294 CUNEIFORM SIGN SAG NUTILLU
+12295 CUNEIFORM SIGN SAG
+12296 CUNEIFORM SIGN SAG TIMES A
+12297 CUNEIFORM SIGN SAG TIMES DU
+12298 CUNEIFORM SIGN SAG TIMES DUB
+12299 CUNEIFORM SIGN SAG TIMES HA
+1229A CUNEIFORM SIGN SAG TIMES KAK
+1229B CUNEIFORM SIGN SAG TIMES KUR
+1229C CUNEIFORM SIGN SAG TIMES LUM
+1229D CUNEIFORM SIGN SAG TIMES MI
+1229E CUNEIFORM SIGN SAG TIMES NUN
+1229F CUNEIFORM SIGN SAG TIMES SAL
+122A0 CUNEIFORM SIGN SAG TIMES SHID
+122A1 CUNEIFORM SIGN SAG TIMES TAB
+122A2 CUNEIFORM SIGN SAG TIMES U2
+122A3 CUNEIFORM SIGN SAG TIMES UB
+122A4 CUNEIFORM SIGN SAG TIMES UM
+122A5 CUNEIFORM SIGN SAG TIMES UR
+122A6 CUNEIFORM SIGN SAG TIMES USH
+122A7 CUNEIFORM SIGN SAG OVER SAG
+122A8 CUNEIFORM SIGN SAG GUNU
+122A9 CUNEIFORM SIGN SAL
+122AA CUNEIFORM SIGN SAL LAGAB TIMES ASH2
+122AB CUNEIFORM SIGN SANGA2
+122AC CUNEIFORM SIGN SAR
+122AD CUNEIFORM SIGN SHA
+122AE CUNEIFORM SIGN SHA3
+122AF CUNEIFORM SIGN SHA3 TIMES A
+122B0 CUNEIFORM SIGN SHA3 TIMES BAD
+122B1 CUNEIFORM SIGN SHA3 TIMES GISH
+122B2 CUNEIFORM SIGN SHA3 TIMES NE
+122B3 CUNEIFORM SIGN SHA3 TIMES SHU2
+122B4 CUNEIFORM SIGN SHA3 TIMES TUR
+122B5 CUNEIFORM SIGN SHA3 TIMES U
+122B6 CUNEIFORM SIGN SHA3 TIMES U PLUS A
+122B7 CUNEIFORM SIGN SHA6
+122B8 CUNEIFORM SIGN SHAB6
+122B9 CUNEIFORM SIGN SHAR2
+122BA CUNEIFORM SIGN SHE
+122BB CUNEIFORM SIGN SHE HU
+122BC CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
+122BD CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
+122BE CUNEIFORM SIGN SHEG9
+122BF CUNEIFORM SIGN SHEN
+122C0 CUNEIFORM SIGN SHESH
+122C1 CUNEIFORM SIGN SHESH2
+122C2 CUNEIFORM SIGN SHESHLAM
+122C3 CUNEIFORM SIGN SHID
+122C4 CUNEIFORM SIGN SHID TIMES A
+122C5 CUNEIFORM SIGN SHID TIMES IM
+122C6 CUNEIFORM SIGN SHIM
+122C7 CUNEIFORM SIGN SHIM TIMES A
+122C8 CUNEIFORM SIGN SHIM TIMES BAL
+122C9 CUNEIFORM SIGN SHIM TIMES BULUG
+122CA CUNEIFORM SIGN SHIM TIMES DIN
+122CB CUNEIFORM SIGN SHIM TIMES GAR
+122CC CUNEIFORM SIGN SHIM TIMES IGI
+122CD CUNEIFORM SIGN SHIM TIMES IGI GUNU
+122CE CUNEIFORM SIGN SHIM TIMES KUSHU2
+122CF CUNEIFORM SIGN SHIM TIMES LUL
+122D0 CUNEIFORM SIGN SHIM TIMES MUG
+122D1 CUNEIFORM SIGN SHIM TIMES SAL
+122D2 CUNEIFORM SIGN SHINIG
+122D3 CUNEIFORM SIGN SHIR
+122D4 CUNEIFORM SIGN SHIR TENU
+122D5 CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
+122D6 CUNEIFORM SIGN SHITA
+122D7 CUNEIFORM SIGN SHU
+122D8 CUNEIFORM SIGN SHU OVER INVERTED SHU
+122D9 CUNEIFORM SIGN SHU2
+122DA CUNEIFORM SIGN SHUBUR
+122DB CUNEIFORM SIGN SI
+122DC CUNEIFORM SIGN SI GUNU
+122DD CUNEIFORM SIGN SIG
+122DE CUNEIFORM SIGN SIG4
+122DF CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
+122E0 CUNEIFORM SIGN SIK2
+122E1 CUNEIFORM SIGN SILA3
+122E2 CUNEIFORM SIGN SU
+122E3 CUNEIFORM SIGN SU OVER SU
+122E4 CUNEIFORM SIGN SUD
+122E5 CUNEIFORM SIGN SUD2
+122E6 CUNEIFORM SIGN SUHUR
+122E7 CUNEIFORM SIGN SUM
+122E8 CUNEIFORM SIGN SUMASH
+122E9 CUNEIFORM SIGN SUR
+122EA CUNEIFORM SIGN SUR9
+122EB CUNEIFORM SIGN TA
+122EC CUNEIFORM SIGN TA ASTERISK
+122ED CUNEIFORM SIGN TA TIMES HI
+122EE CUNEIFORM SIGN TA TIMES MI
+122EF CUNEIFORM SIGN TA GUNU
+122F0 CUNEIFORM SIGN TAB
+122F1 CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
+122F2 CUNEIFORM SIGN TAB SQUARED
+122F3 CUNEIFORM SIGN TAG
+122F4 CUNEIFORM SIGN TAG TIMES BI
+122F5 CUNEIFORM SIGN TAG TIMES GUD
+122F6 CUNEIFORM SIGN TAG TIMES SHE
+122F7 CUNEIFORM SIGN TAG TIMES SHU
+122F8 CUNEIFORM SIGN TAG TIMES TUG2
+122F9 CUNEIFORM SIGN TAG TIMES UD
+122FA CUNEIFORM SIGN TAK4
+122FB CUNEIFORM SIGN TAR
+122FC CUNEIFORM SIGN TE
+122FD CUNEIFORM SIGN TE GUNU
+122FE CUNEIFORM SIGN TI
+122FF CUNEIFORM SIGN TI TENU
+12300 CUNEIFORM SIGN TIL
+12301 CUNEIFORM SIGN TIR
+12302 CUNEIFORM SIGN TIR TIMES TAK4
+12303 CUNEIFORM SIGN TIR OVER TIR
+12304 CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
+12305 CUNEIFORM SIGN TU
+12306 CUNEIFORM SIGN TUG2
+12307 CUNEIFORM SIGN TUK
+12308 CUNEIFORM SIGN TUM
+12309 CUNEIFORM SIGN TUR
+1230A CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
+1230B CUNEIFORM SIGN U
+1230C CUNEIFORM SIGN U GUD
+1230D CUNEIFORM SIGN U U U
+1230E CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
+1230F CUNEIFORM SIGN U OVER U SUR OVER SUR
+12310 CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
+12311 CUNEIFORM SIGN U2
+12312 CUNEIFORM SIGN UB
+12313 CUNEIFORM SIGN UD
+12314 CUNEIFORM SIGN UD KUSHU2
+12315 CUNEIFORM SIGN UD TIMES BAD
+12316 CUNEIFORM SIGN UD TIMES MI
+12317 CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
+12318 CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
+12319 CUNEIFORM SIGN UD GUNU
+1231A CUNEIFORM SIGN UD SHESHIG
+1231B CUNEIFORM SIGN UD SHESHIG TIMES BAD
+1231C CUNEIFORM SIGN UDUG
+1231D CUNEIFORM SIGN UM
+1231E CUNEIFORM SIGN UM TIMES LAGAB
+1231F CUNEIFORM SIGN UM TIMES ME PLUS DA
+12320 CUNEIFORM SIGN UM TIMES SHA3
+12321 CUNEIFORM SIGN UM TIMES U
+12322 CUNEIFORM SIGN UMBIN
+12323 CUNEIFORM SIGN UMUM
+12324 CUNEIFORM SIGN UMUM TIMES KASKAL
+12325 CUNEIFORM SIGN UMUM TIMES PA
+12326 CUNEIFORM SIGN UN
+12327 CUNEIFORM SIGN UN GUNU
+12328 CUNEIFORM SIGN UR
+12329 CUNEIFORM SIGN UR CROSSING UR
+1232A CUNEIFORM SIGN UR SHESHIG
+1232B CUNEIFORM SIGN UR2
+1232C CUNEIFORM SIGN UR2 TIMES A PLUS HA
+1232D CUNEIFORM SIGN UR2 TIMES A PLUS NA
+1232E CUNEIFORM SIGN UR2 TIMES AL
+1232F CUNEIFORM SIGN UR2 TIMES HA
+12330 CUNEIFORM SIGN UR2 TIMES NUN
+12331 CUNEIFORM SIGN UR2 TIMES U2
+12332 CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
+12333 CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
+12334 CUNEIFORM SIGN UR4
+12335 CUNEIFORM SIGN URI
+12336 CUNEIFORM SIGN URI3
+12337 CUNEIFORM SIGN URU
+12338 CUNEIFORM SIGN URU TIMES A
+12339 CUNEIFORM SIGN URU TIMES ASHGAB
+1233A CUNEIFORM SIGN URU TIMES BAR
+1233B CUNEIFORM SIGN URU TIMES DUN
+1233C CUNEIFORM SIGN URU TIMES GA
+1233D CUNEIFORM SIGN URU TIMES GAL
+1233E CUNEIFORM SIGN URU TIMES GAN2 TENU
+1233F CUNEIFORM SIGN URU TIMES GAR
+12340 CUNEIFORM SIGN URU TIMES GU
+12341 CUNEIFORM SIGN URU TIMES HA
+12342 CUNEIFORM SIGN URU TIMES IGI
+12343 CUNEIFORM SIGN URU TIMES IM
+12344 CUNEIFORM SIGN URU TIMES ISH
+12345 CUNEIFORM SIGN URU TIMES KI
+12346 CUNEIFORM SIGN URU TIMES LUM
+12347 CUNEIFORM SIGN URU TIMES MIN
+12348 CUNEIFORM SIGN URU TIMES PA
+12349 CUNEIFORM SIGN URU TIMES SHE
+1234A CUNEIFORM SIGN URU TIMES SIG4
+1234B CUNEIFORM SIGN URU TIMES TU
+1234C CUNEIFORM SIGN URU TIMES U PLUS GUD
+1234D CUNEIFORM SIGN URU TIMES UD
+1234E CUNEIFORM SIGN URU TIMES URUDA
+1234F CUNEIFORM SIGN URUDA
+12350 CUNEIFORM SIGN URUDA TIMES U
+12351 CUNEIFORM SIGN USH
+12352 CUNEIFORM SIGN USH TIMES A
+12353 CUNEIFORM SIGN USH TIMES KU
+12354 CUNEIFORM SIGN USH TIMES KUR
+12355 CUNEIFORM SIGN USH TIMES TAK4
+12356 CUNEIFORM SIGN USHX
+12357 CUNEIFORM SIGN USH2
+12358 CUNEIFORM SIGN USHUMX
+12359 CUNEIFORM SIGN UTUKI
+1235A CUNEIFORM SIGN UZ3
+1235B CUNEIFORM SIGN UZ3 TIMES KASKAL
+1235C CUNEIFORM SIGN UZU
+1235D CUNEIFORM SIGN ZA
+1235E CUNEIFORM SIGN ZA TENU
+1235F CUNEIFORM SIGN ZA SQUARED TIMES KUR
+12360 CUNEIFORM SIGN ZAG
+12361 CUNEIFORM SIGN ZAMX
+12362 CUNEIFORM SIGN ZE2
+12363 CUNEIFORM SIGN ZI
+12364 CUNEIFORM SIGN ZI OVER ZI
+12365 CUNEIFORM SIGN ZI3
+12366 CUNEIFORM SIGN ZIB
+12367 CUNEIFORM SIGN ZIB KABA TENU
+12368 CUNEIFORM SIGN ZIG
+12369 CUNEIFORM SIGN ZIZ2
+1236A CUNEIFORM SIGN ZU
+1236B CUNEIFORM SIGN ZU5
+1236C CUNEIFORM SIGN ZU5 TIMES A
+1236D CUNEIFORM SIGN ZUBUR
+1236E CUNEIFORM SIGN ZUM
+12400 CUNEIFORM NUMERIC SIGN TWO ASH
+12401 CUNEIFORM NUMERIC SIGN THREE ASH
+12402 CUNEIFORM NUMERIC SIGN FOUR ASH
+12403 CUNEIFORM NUMERIC SIGN FIVE ASH
+12404 CUNEIFORM NUMERIC SIGN SIX ASH
+12405 CUNEIFORM NUMERIC SIGN SEVEN ASH
+12406 CUNEIFORM NUMERIC SIGN EIGHT ASH
+12407 CUNEIFORM NUMERIC SIGN NINE ASH
+12408 CUNEIFORM NUMERIC SIGN THREE DISH
+12409 CUNEIFORM NUMERIC SIGN FOUR DISH
+1240A CUNEIFORM NUMERIC SIGN FIVE DISH
+1240B CUNEIFORM NUMERIC SIGN SIX DISH
+1240C CUNEIFORM NUMERIC SIGN SEVEN DISH
+1240D CUNEIFORM NUMERIC SIGN EIGHT DISH
+1240E CUNEIFORM NUMERIC SIGN NINE DISH
+1240F CUNEIFORM NUMERIC SIGN FOUR U
+12410 CUNEIFORM NUMERIC SIGN FIVE U
+12411 CUNEIFORM NUMERIC SIGN SIX U
+12412 CUNEIFORM NUMERIC SIGN SEVEN U
+12413 CUNEIFORM NUMERIC SIGN EIGHT U
+12414 CUNEIFORM NUMERIC SIGN NINE U
+12415 CUNEIFORM NUMERIC SIGN ONE GESH2
+12416 CUNEIFORM NUMERIC SIGN TWO GESH2
+12417 CUNEIFORM NUMERIC SIGN THREE GESH2
+12418 CUNEIFORM NUMERIC SIGN FOUR GESH2
+12419 CUNEIFORM NUMERIC SIGN FIVE GESH2
+1241A CUNEIFORM NUMERIC SIGN SIX GESH2
+1241B CUNEIFORM NUMERIC SIGN SEVEN GESH2
+1241C CUNEIFORM NUMERIC SIGN EIGHT GESH2
+1241D CUNEIFORM NUMERIC SIGN NINE GESH2
+1241E CUNEIFORM NUMERIC SIGN ONE GESHU
+1241F CUNEIFORM NUMERIC SIGN TWO GESHU
+12420 CUNEIFORM NUMERIC SIGN THREE GESHU
+12421 CUNEIFORM NUMERIC SIGN FOUR GESHU
+12422 CUNEIFORM NUMERIC SIGN FIVE GESHU
+12423 CUNEIFORM NUMERIC SIGN TWO SHAR2
+12424 CUNEIFORM NUMERIC SIGN THREE SHAR2
+12425 CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
+12426 CUNEIFORM NUMERIC SIGN FOUR SHAR2
+12427 CUNEIFORM NUMERIC SIGN FIVE SHAR2
+12428 CUNEIFORM NUMERIC SIGN SIX SHAR2
+12429 CUNEIFORM NUMERIC SIGN SEVEN SHAR2
+1242A CUNEIFORM NUMERIC SIGN EIGHT SHAR2
+1242B CUNEIFORM NUMERIC SIGN NINE SHAR2
+1242C CUNEIFORM NUMERIC SIGN ONE SHARU
+1242D CUNEIFORM NUMERIC SIGN TWO SHARU
+1242E CUNEIFORM NUMERIC SIGN THREE SHARU
+1242F CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
+12430 CUNEIFORM NUMERIC SIGN FOUR SHARU
+12431 CUNEIFORM NUMERIC SIGN FIVE SHARU
+12432 CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+12433 CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+12434 CUNEIFORM NUMERIC SIGN ONE BURU
+12435 CUNEIFORM NUMERIC SIGN TWO BURU
+12436 CUNEIFORM NUMERIC SIGN THREE BURU
+12437 CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
+12438 CUNEIFORM NUMERIC SIGN FOUR BURU
+12439 CUNEIFORM NUMERIC SIGN FIVE BURU
+1243A CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
+1243B CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
+1243C CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
+1243D CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
+1243E CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
+1243F CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
+12440 CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
+12441 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
+12442 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
+12443 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
+12444 CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
+12445 CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
+12446 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
+12447 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
+12448 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
+12449 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
+1244A CUNEIFORM NUMERIC SIGN TWO ASH TENU
+1244B CUNEIFORM NUMERIC SIGN THREE ASH TENU
+1244C CUNEIFORM NUMERIC SIGN FOUR ASH TENU
+1244D CUNEIFORM NUMERIC SIGN FIVE ASH TENU
+1244E CUNEIFORM NUMERIC SIGN SIX ASH TENU
+1244F CUNEIFORM NUMERIC SIGN ONE BAN2
+12450 CUNEIFORM NUMERIC SIGN TWO BAN2
+12451 CUNEIFORM NUMERIC SIGN THREE BAN2
+12452 CUNEIFORM NUMERIC SIGN FOUR BAN2
+12453 CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
+12454 CUNEIFORM NUMERIC SIGN FIVE BAN2
+12455 CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
+12456 CUNEIFORM NUMERIC SIGN NIGIDAMIN
+12457 CUNEIFORM NUMERIC SIGN NIGIDAESH
+12458 CUNEIFORM NUMERIC SIGN ONE ESHE3
+12459 CUNEIFORM NUMERIC SIGN TWO ESHE3
+1245A CUNEIFORM NUMERIC SIGN ONE THIRD DISH
+1245B CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
+1245C CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
+1245D CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
+1245E CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
+1245F CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
+12460 CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
+12461 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
+12462 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12470 CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
+12471 CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+12472 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+12473 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
+13000 EGYPTIAN HIEROGLYPH A001
+13001 EGYPTIAN HIEROGLYPH A002
+13002 EGYPTIAN HIEROGLYPH A003
+13003 EGYPTIAN HIEROGLYPH A004
+13004 EGYPTIAN HIEROGLYPH A005
+13005 EGYPTIAN HIEROGLYPH A005A
+13006 EGYPTIAN HIEROGLYPH A006
+13007 EGYPTIAN HIEROGLYPH A006A
+13008 EGYPTIAN HIEROGLYPH A006B
+13009 EGYPTIAN HIEROGLYPH A007
+1300A EGYPTIAN HIEROGLYPH A008
+1300B EGYPTIAN HIEROGLYPH A009
+1300C EGYPTIAN HIEROGLYPH A010
+1300D EGYPTIAN HIEROGLYPH A011
+1300E EGYPTIAN HIEROGLYPH A012
+1300F EGYPTIAN HIEROGLYPH A013
+13010 EGYPTIAN HIEROGLYPH A014
+13011 EGYPTIAN HIEROGLYPH A014A
+13012 EGYPTIAN HIEROGLYPH A015
+13013 EGYPTIAN HIEROGLYPH A016
+13014 EGYPTIAN HIEROGLYPH A017
+13015 EGYPTIAN HIEROGLYPH A017A
+13016 EGYPTIAN HIEROGLYPH A018
+13017 EGYPTIAN HIEROGLYPH A019
+13018 EGYPTIAN HIEROGLYPH A020
+13019 EGYPTIAN HIEROGLYPH A021
+1301A EGYPTIAN HIEROGLYPH A022
+1301B EGYPTIAN HIEROGLYPH A023
+1301C EGYPTIAN HIEROGLYPH A024
+1301D EGYPTIAN HIEROGLYPH A025
+1301E EGYPTIAN HIEROGLYPH A026
+1301F EGYPTIAN HIEROGLYPH A027
+13020 EGYPTIAN HIEROGLYPH A028
+13021 EGYPTIAN HIEROGLYPH A029
+13022 EGYPTIAN HIEROGLYPH A030
+13023 EGYPTIAN HIEROGLYPH A031
+13024 EGYPTIAN HIEROGLYPH A032
+13025 EGYPTIAN HIEROGLYPH A032A
+13026 EGYPTIAN HIEROGLYPH A033
+13027 EGYPTIAN HIEROGLYPH A034
+13028 EGYPTIAN HIEROGLYPH A035
+13029 EGYPTIAN HIEROGLYPH A036
+1302A EGYPTIAN HIEROGLYPH A037
+1302B EGYPTIAN HIEROGLYPH A038
+1302C EGYPTIAN HIEROGLYPH A039
+1302D EGYPTIAN HIEROGLYPH A040
+1302E EGYPTIAN HIEROGLYPH A040A
+1302F EGYPTIAN HIEROGLYPH A041
+13030 EGYPTIAN HIEROGLYPH A042
+13031 EGYPTIAN HIEROGLYPH A042A
+13032 EGYPTIAN HIEROGLYPH A043
+13033 EGYPTIAN HIEROGLYPH A043A
+13034 EGYPTIAN HIEROGLYPH A044
+13035 EGYPTIAN HIEROGLYPH A045
+13036 EGYPTIAN HIEROGLYPH A045A
+13037 EGYPTIAN HIEROGLYPH A046
+13038 EGYPTIAN HIEROGLYPH A047
+13039 EGYPTIAN HIEROGLYPH A048
+1303A EGYPTIAN HIEROGLYPH A049
+1303B EGYPTIAN HIEROGLYPH A050
+1303C EGYPTIAN HIEROGLYPH A051
+1303D EGYPTIAN HIEROGLYPH A052
+1303E EGYPTIAN HIEROGLYPH A053
+1303F EGYPTIAN HIEROGLYPH A054
+13040 EGYPTIAN HIEROGLYPH A055
+13041 EGYPTIAN HIEROGLYPH A056
+13042 EGYPTIAN HIEROGLYPH A057
+13043 EGYPTIAN HIEROGLYPH A058
+13044 EGYPTIAN HIEROGLYPH A059
+13045 EGYPTIAN HIEROGLYPH A060
+13046 EGYPTIAN HIEROGLYPH A061
+13047 EGYPTIAN HIEROGLYPH A062
+13048 EGYPTIAN HIEROGLYPH A063
+13049 EGYPTIAN HIEROGLYPH A064
+1304A EGYPTIAN HIEROGLYPH A065
+1304B EGYPTIAN HIEROGLYPH A066
+1304C EGYPTIAN HIEROGLYPH A067
+1304D EGYPTIAN HIEROGLYPH A068
+1304E EGYPTIAN HIEROGLYPH A069
+1304F EGYPTIAN HIEROGLYPH A070
+13050 EGYPTIAN HIEROGLYPH B001
+13051 EGYPTIAN HIEROGLYPH B002
+13052 EGYPTIAN HIEROGLYPH B003
+13053 EGYPTIAN HIEROGLYPH B004
+13054 EGYPTIAN HIEROGLYPH B005
+13055 EGYPTIAN HIEROGLYPH B005A
+13056 EGYPTIAN HIEROGLYPH B006
+13057 EGYPTIAN HIEROGLYPH B007
+13058 EGYPTIAN HIEROGLYPH B008
+13059 EGYPTIAN HIEROGLYPH B009
+1305A EGYPTIAN HIEROGLYPH C001
+1305B EGYPTIAN HIEROGLYPH C002
+1305C EGYPTIAN HIEROGLYPH C002A
+1305D EGYPTIAN HIEROGLYPH C002B
+1305E EGYPTIAN HIEROGLYPH C002C
+1305F EGYPTIAN HIEROGLYPH C003
+13060 EGYPTIAN HIEROGLYPH C004
+13061 EGYPTIAN HIEROGLYPH C005
+13062 EGYPTIAN HIEROGLYPH C006
+13063 EGYPTIAN HIEROGLYPH C007
+13064 EGYPTIAN HIEROGLYPH C008
+13065 EGYPTIAN HIEROGLYPH C009
+13066 EGYPTIAN HIEROGLYPH C010
+13067 EGYPTIAN HIEROGLYPH C010A
+13068 EGYPTIAN HIEROGLYPH C011
+13069 EGYPTIAN HIEROGLYPH C012
+1306A EGYPTIAN HIEROGLYPH C013
+1306B EGYPTIAN HIEROGLYPH C014
+1306C EGYPTIAN HIEROGLYPH C015
+1306D EGYPTIAN HIEROGLYPH C016
+1306E EGYPTIAN HIEROGLYPH C017
+1306F EGYPTIAN HIEROGLYPH C018
+13070 EGYPTIAN HIEROGLYPH C019
+13071 EGYPTIAN HIEROGLYPH C020
+13072 EGYPTIAN HIEROGLYPH C021
+13073 EGYPTIAN HIEROGLYPH C022
+13074 EGYPTIAN HIEROGLYPH C023
+13075 EGYPTIAN HIEROGLYPH C024
+13076 EGYPTIAN HIEROGLYPH D001
+13077 EGYPTIAN HIEROGLYPH D002
+13078 EGYPTIAN HIEROGLYPH D003
+13079 EGYPTIAN HIEROGLYPH D004
+1307A EGYPTIAN HIEROGLYPH D005
+1307B EGYPTIAN HIEROGLYPH D006
+1307C EGYPTIAN HIEROGLYPH D007
+1307D EGYPTIAN HIEROGLYPH D008
+1307E EGYPTIAN HIEROGLYPH D008A
+1307F EGYPTIAN HIEROGLYPH D009
+13080 EGYPTIAN HIEROGLYPH D010
+13081 EGYPTIAN HIEROGLYPH D011
+13082 EGYPTIAN HIEROGLYPH D012
+13083 EGYPTIAN HIEROGLYPH D013
+13084 EGYPTIAN HIEROGLYPH D014
+13085 EGYPTIAN HIEROGLYPH D015
+13086 EGYPTIAN HIEROGLYPH D016
+13087 EGYPTIAN HIEROGLYPH D017
+13088 EGYPTIAN HIEROGLYPH D018
+13089 EGYPTIAN HIEROGLYPH D019
+1308A EGYPTIAN HIEROGLYPH D020
+1308B EGYPTIAN HIEROGLYPH D021
+1308C EGYPTIAN HIEROGLYPH D022
+1308D EGYPTIAN HIEROGLYPH D023
+1308E EGYPTIAN HIEROGLYPH D024
+1308F EGYPTIAN HIEROGLYPH D025
+13090 EGYPTIAN HIEROGLYPH D026
+13091 EGYPTIAN HIEROGLYPH D027
+13092 EGYPTIAN HIEROGLYPH D027A
+13093 EGYPTIAN HIEROGLYPH D028
+13094 EGYPTIAN HIEROGLYPH D029
+13095 EGYPTIAN HIEROGLYPH D030
+13096 EGYPTIAN HIEROGLYPH D031
+13097 EGYPTIAN HIEROGLYPH D031A
+13098 EGYPTIAN HIEROGLYPH D032
+13099 EGYPTIAN HIEROGLYPH D033
+1309A EGYPTIAN HIEROGLYPH D034
+1309B EGYPTIAN HIEROGLYPH D034A
+1309C EGYPTIAN HIEROGLYPH D035
+1309D EGYPTIAN HIEROGLYPH D036
+1309E EGYPTIAN HIEROGLYPH D037
+1309F EGYPTIAN HIEROGLYPH D038
+130A0 EGYPTIAN HIEROGLYPH D039
+130A1 EGYPTIAN HIEROGLYPH D040
+130A2 EGYPTIAN HIEROGLYPH D041
+130A3 EGYPTIAN HIEROGLYPH D042
+130A4 EGYPTIAN HIEROGLYPH D043
+130A5 EGYPTIAN HIEROGLYPH D044
+130A6 EGYPTIAN HIEROGLYPH D045
+130A7 EGYPTIAN HIEROGLYPH D046
+130A8 EGYPTIAN HIEROGLYPH D046A
+130A9 EGYPTIAN HIEROGLYPH D047
+130AA EGYPTIAN HIEROGLYPH D048
+130AB EGYPTIAN HIEROGLYPH D048A
+130AC EGYPTIAN HIEROGLYPH D049
+130AD EGYPTIAN HIEROGLYPH D050
+130AE EGYPTIAN HIEROGLYPH D050A
+130AF EGYPTIAN HIEROGLYPH D050B
+130B0 EGYPTIAN HIEROGLYPH D050C
+130B1 EGYPTIAN HIEROGLYPH D050D
+130B2 EGYPTIAN HIEROGLYPH D050E
+130B3 EGYPTIAN HIEROGLYPH D050F
+130B4 EGYPTIAN HIEROGLYPH D050G
+130B5 EGYPTIAN HIEROGLYPH D050H
+130B6 EGYPTIAN HIEROGLYPH D050I
+130B7 EGYPTIAN HIEROGLYPH D051
+130B8 EGYPTIAN HIEROGLYPH D052
+130B9 EGYPTIAN HIEROGLYPH D052A
+130BA EGYPTIAN HIEROGLYPH D053
+130BB EGYPTIAN HIEROGLYPH D054
+130BC EGYPTIAN HIEROGLYPH D054A
+130BD EGYPTIAN HIEROGLYPH D055
+130BE EGYPTIAN HIEROGLYPH D056
+130BF EGYPTIAN HIEROGLYPH D057
+130C0 EGYPTIAN HIEROGLYPH D058
+130C1 EGYPTIAN HIEROGLYPH D059
+130C2 EGYPTIAN HIEROGLYPH D060
+130C3 EGYPTIAN HIEROGLYPH D061
+130C4 EGYPTIAN HIEROGLYPH D062
+130C5 EGYPTIAN HIEROGLYPH D063
+130C6 EGYPTIAN HIEROGLYPH D064
+130C7 EGYPTIAN HIEROGLYPH D065
+130C8 EGYPTIAN HIEROGLYPH D066
+130C9 EGYPTIAN HIEROGLYPH D067
+130CA EGYPTIAN HIEROGLYPH D067A
+130CB EGYPTIAN HIEROGLYPH D067B
+130CC EGYPTIAN HIEROGLYPH D067C
+130CD EGYPTIAN HIEROGLYPH D067D
+130CE EGYPTIAN HIEROGLYPH D067E
+130CF EGYPTIAN HIEROGLYPH D067F
+130D0 EGYPTIAN HIEROGLYPH D067G
+130D1 EGYPTIAN HIEROGLYPH D067H
+130D2 EGYPTIAN HIEROGLYPH E001
+130D3 EGYPTIAN HIEROGLYPH E002
+130D4 EGYPTIAN HIEROGLYPH E003
+130D5 EGYPTIAN HIEROGLYPH E004
+130D6 EGYPTIAN HIEROGLYPH E005
+130D7 EGYPTIAN HIEROGLYPH E006
+130D8 EGYPTIAN HIEROGLYPH E007
+130D9 EGYPTIAN HIEROGLYPH E008
+130DA EGYPTIAN HIEROGLYPH E008A
+130DB EGYPTIAN HIEROGLYPH E009
+130DC EGYPTIAN HIEROGLYPH E009A
+130DD EGYPTIAN HIEROGLYPH E010
+130DE EGYPTIAN HIEROGLYPH E011
+130DF EGYPTIAN HIEROGLYPH E012
+130E0 EGYPTIAN HIEROGLYPH E013
+130E1 EGYPTIAN HIEROGLYPH E014
+130E2 EGYPTIAN HIEROGLYPH E015
+130E3 EGYPTIAN HIEROGLYPH E016
+130E4 EGYPTIAN HIEROGLYPH E016A
+130E5 EGYPTIAN HIEROGLYPH E017
+130E6 EGYPTIAN HIEROGLYPH E017A
+130E7 EGYPTIAN HIEROGLYPH E018
+130E8 EGYPTIAN HIEROGLYPH E019
+130E9 EGYPTIAN HIEROGLYPH E020
+130EA EGYPTIAN HIEROGLYPH E020A
+130EB EGYPTIAN HIEROGLYPH E021
+130EC EGYPTIAN HIEROGLYPH E022
+130ED EGYPTIAN HIEROGLYPH E023
+130EE EGYPTIAN HIEROGLYPH E024
+130EF EGYPTIAN HIEROGLYPH E025
+130F0 EGYPTIAN HIEROGLYPH E026
+130F1 EGYPTIAN HIEROGLYPH E027
+130F2 EGYPTIAN HIEROGLYPH E028
+130F3 EGYPTIAN HIEROGLYPH E028A
+130F4 EGYPTIAN HIEROGLYPH E029
+130F5 EGYPTIAN HIEROGLYPH E030
+130F6 EGYPTIAN HIEROGLYPH E031
+130F7 EGYPTIAN HIEROGLYPH E032
+130F8 EGYPTIAN HIEROGLYPH E033
+130F9 EGYPTIAN HIEROGLYPH E034
+130FA EGYPTIAN HIEROGLYPH E034A
+130FB EGYPTIAN HIEROGLYPH E036
+130FC EGYPTIAN HIEROGLYPH E037
+130FD EGYPTIAN HIEROGLYPH E038
+130FE EGYPTIAN HIEROGLYPH F001
+130FF EGYPTIAN HIEROGLYPH F001A
+13100 EGYPTIAN HIEROGLYPH F002
+13101 EGYPTIAN HIEROGLYPH F003
+13102 EGYPTIAN HIEROGLYPH F004
+13103 EGYPTIAN HIEROGLYPH F005
+13104 EGYPTIAN HIEROGLYPH F006
+13105 EGYPTIAN HIEROGLYPH F007
+13106 EGYPTIAN HIEROGLYPH F008
+13107 EGYPTIAN HIEROGLYPH F009
+13108 EGYPTIAN HIEROGLYPH F010
+13109 EGYPTIAN HIEROGLYPH F011
+1310A EGYPTIAN HIEROGLYPH F012
+1310B EGYPTIAN HIEROGLYPH F013
+1310C EGYPTIAN HIEROGLYPH F013A
+1310D EGYPTIAN HIEROGLYPH F014
+1310E EGYPTIAN HIEROGLYPH F015
+1310F EGYPTIAN HIEROGLYPH F016
+13110 EGYPTIAN HIEROGLYPH F017
+13111 EGYPTIAN HIEROGLYPH F018
+13112 EGYPTIAN HIEROGLYPH F019
+13113 EGYPTIAN HIEROGLYPH F020
+13114 EGYPTIAN HIEROGLYPH F021
+13115 EGYPTIAN HIEROGLYPH F021A
+13116 EGYPTIAN HIEROGLYPH F022
+13117 EGYPTIAN HIEROGLYPH F023
+13118 EGYPTIAN HIEROGLYPH F024
+13119 EGYPTIAN HIEROGLYPH F025
+1311A EGYPTIAN HIEROGLYPH F026
+1311B EGYPTIAN HIEROGLYPH F027
+1311C EGYPTIAN HIEROGLYPH F028
+1311D EGYPTIAN HIEROGLYPH F029
+1311E EGYPTIAN HIEROGLYPH F030
+1311F EGYPTIAN HIEROGLYPH F031
+13120 EGYPTIAN HIEROGLYPH F031A
+13121 EGYPTIAN HIEROGLYPH F032
+13122 EGYPTIAN HIEROGLYPH F033
+13123 EGYPTIAN HIEROGLYPH F034
+13124 EGYPTIAN HIEROGLYPH F035
+13125 EGYPTIAN HIEROGLYPH F036
+13126 EGYPTIAN HIEROGLYPH F037
+13127 EGYPTIAN HIEROGLYPH F037A
+13128 EGYPTIAN HIEROGLYPH F038
+13129 EGYPTIAN HIEROGLYPH F038A
+1312A EGYPTIAN HIEROGLYPH F039
+1312B EGYPTIAN HIEROGLYPH F040
+1312C EGYPTIAN HIEROGLYPH F041
+1312D EGYPTIAN HIEROGLYPH F042
+1312E EGYPTIAN HIEROGLYPH F043
+1312F EGYPTIAN HIEROGLYPH F044
+13130 EGYPTIAN HIEROGLYPH F045
+13131 EGYPTIAN HIEROGLYPH F045A
+13132 EGYPTIAN HIEROGLYPH F046
+13133 EGYPTIAN HIEROGLYPH F046A
+13134 EGYPTIAN HIEROGLYPH F047
+13135 EGYPTIAN HIEROGLYPH F047A
+13136 EGYPTIAN HIEROGLYPH F048
+13137 EGYPTIAN HIEROGLYPH F049
+13138 EGYPTIAN HIEROGLYPH F050
+13139 EGYPTIAN HIEROGLYPH F051
+1313A EGYPTIAN HIEROGLYPH F051A
+1313B EGYPTIAN HIEROGLYPH F051B
+1313C EGYPTIAN HIEROGLYPH F051C
+1313D EGYPTIAN HIEROGLYPH F052
+1313E EGYPTIAN HIEROGLYPH F053
+1313F EGYPTIAN HIEROGLYPH G001
+13140 EGYPTIAN HIEROGLYPH G002
+13141 EGYPTIAN HIEROGLYPH G003
+13142 EGYPTIAN HIEROGLYPH G004
+13143 EGYPTIAN HIEROGLYPH G005
+13144 EGYPTIAN HIEROGLYPH G006
+13145 EGYPTIAN HIEROGLYPH G006A
+13146 EGYPTIAN HIEROGLYPH G007
+13147 EGYPTIAN HIEROGLYPH G007A
+13148 EGYPTIAN HIEROGLYPH G007B
+13149 EGYPTIAN HIEROGLYPH G008
+1314A EGYPTIAN HIEROGLYPH G009
+1314B EGYPTIAN HIEROGLYPH G010
+1314C EGYPTIAN HIEROGLYPH G011
+1314D EGYPTIAN HIEROGLYPH G011A
+1314E EGYPTIAN HIEROGLYPH G012
+1314F EGYPTIAN HIEROGLYPH G013
+13150 EGYPTIAN HIEROGLYPH G014
+13151 EGYPTIAN HIEROGLYPH G015
+13152 EGYPTIAN HIEROGLYPH G016
+13153 EGYPTIAN HIEROGLYPH G017
+13154 EGYPTIAN HIEROGLYPH G018
+13155 EGYPTIAN HIEROGLYPH G019
+13156 EGYPTIAN HIEROGLYPH G020
+13157 EGYPTIAN HIEROGLYPH G020A
+13158 EGYPTIAN HIEROGLYPH G021
+13159 EGYPTIAN HIEROGLYPH G022
+1315A EGYPTIAN HIEROGLYPH G023
+1315B EGYPTIAN HIEROGLYPH G024
+1315C EGYPTIAN HIEROGLYPH G025
+1315D EGYPTIAN HIEROGLYPH G026
+1315E EGYPTIAN HIEROGLYPH G026A
+1315F EGYPTIAN HIEROGLYPH G027
+13160 EGYPTIAN HIEROGLYPH G028
+13161 EGYPTIAN HIEROGLYPH G029
+13162 EGYPTIAN HIEROGLYPH G030
+13163 EGYPTIAN HIEROGLYPH G031
+13164 EGYPTIAN HIEROGLYPH G032
+13165 EGYPTIAN HIEROGLYPH G033
+13166 EGYPTIAN HIEROGLYPH G034
+13167 EGYPTIAN HIEROGLYPH G035
+13168 EGYPTIAN HIEROGLYPH G036
+13169 EGYPTIAN HIEROGLYPH G036A
+1316A EGYPTIAN HIEROGLYPH G037
+1316B EGYPTIAN HIEROGLYPH G037A
+1316C EGYPTIAN HIEROGLYPH G038
+1316D EGYPTIAN HIEROGLYPH G039
+1316E EGYPTIAN HIEROGLYPH G040
+1316F EGYPTIAN HIEROGLYPH G041
+13170 EGYPTIAN HIEROGLYPH G042
+13171 EGYPTIAN HIEROGLYPH G043
+13172 EGYPTIAN HIEROGLYPH G043A
+13173 EGYPTIAN HIEROGLYPH G044
+13174 EGYPTIAN HIEROGLYPH G045
+13175 EGYPTIAN HIEROGLYPH G045A
+13176 EGYPTIAN HIEROGLYPH G046
+13177 EGYPTIAN HIEROGLYPH G047
+13178 EGYPTIAN HIEROGLYPH G048
+13179 EGYPTIAN HIEROGLYPH G049
+1317A EGYPTIAN HIEROGLYPH G050
+1317B EGYPTIAN HIEROGLYPH G051
+1317C EGYPTIAN HIEROGLYPH G052
+1317D EGYPTIAN HIEROGLYPH G053
+1317E EGYPTIAN HIEROGLYPH G054
+1317F EGYPTIAN HIEROGLYPH H001
+13180 EGYPTIAN HIEROGLYPH H002
+13181 EGYPTIAN HIEROGLYPH H003
+13182 EGYPTIAN HIEROGLYPH H004
+13183 EGYPTIAN HIEROGLYPH H005
+13184 EGYPTIAN HIEROGLYPH H006
+13185 EGYPTIAN HIEROGLYPH H006A
+13186 EGYPTIAN HIEROGLYPH H007
+13187 EGYPTIAN HIEROGLYPH H008
+13188 EGYPTIAN HIEROGLYPH I001
+13189 EGYPTIAN HIEROGLYPH I002
+1318A EGYPTIAN HIEROGLYPH I003
+1318B EGYPTIAN HIEROGLYPH I004
+1318C EGYPTIAN HIEROGLYPH I005
+1318D EGYPTIAN HIEROGLYPH I005A
+1318E EGYPTIAN HIEROGLYPH I006
+1318F EGYPTIAN HIEROGLYPH I007
+13190 EGYPTIAN HIEROGLYPH I008
+13191 EGYPTIAN HIEROGLYPH I009
+13192 EGYPTIAN HIEROGLYPH I009A
+13193 EGYPTIAN HIEROGLYPH I010
+13194 EGYPTIAN HIEROGLYPH I010A
+13195 EGYPTIAN HIEROGLYPH I011
+13196 EGYPTIAN HIEROGLYPH I011A
+13197 EGYPTIAN HIEROGLYPH I012
+13198 EGYPTIAN HIEROGLYPH I013
+13199 EGYPTIAN HIEROGLYPH I014
+1319A EGYPTIAN HIEROGLYPH I015
+1319B EGYPTIAN HIEROGLYPH K001
+1319C EGYPTIAN HIEROGLYPH K002
+1319D EGYPTIAN HIEROGLYPH K003
+1319E EGYPTIAN HIEROGLYPH K004
+1319F EGYPTIAN HIEROGLYPH K005
+131A0 EGYPTIAN HIEROGLYPH K006
+131A1 EGYPTIAN HIEROGLYPH K007
+131A2 EGYPTIAN HIEROGLYPH K008
+131A3 EGYPTIAN HIEROGLYPH L001
+131A4 EGYPTIAN HIEROGLYPH L002
+131A5 EGYPTIAN HIEROGLYPH L002A
+131A6 EGYPTIAN HIEROGLYPH L003
+131A7 EGYPTIAN HIEROGLYPH L004
+131A8 EGYPTIAN HIEROGLYPH L005
+131A9 EGYPTIAN HIEROGLYPH L006
+131AA EGYPTIAN HIEROGLYPH L006A
+131AB EGYPTIAN HIEROGLYPH L007
+131AC EGYPTIAN HIEROGLYPH L008
+131AD EGYPTIAN HIEROGLYPH M001
+131AE EGYPTIAN HIEROGLYPH M001A
+131AF EGYPTIAN HIEROGLYPH M001B
+131B0 EGYPTIAN HIEROGLYPH M002
+131B1 EGYPTIAN HIEROGLYPH M003
+131B2 EGYPTIAN HIEROGLYPH M003A
+131B3 EGYPTIAN HIEROGLYPH M004
+131B4 EGYPTIAN HIEROGLYPH M005
+131B5 EGYPTIAN HIEROGLYPH M006
+131B6 EGYPTIAN HIEROGLYPH M007
+131B7 EGYPTIAN HIEROGLYPH M008
+131B8 EGYPTIAN HIEROGLYPH M009
+131B9 EGYPTIAN HIEROGLYPH M010
+131BA EGYPTIAN HIEROGLYPH M010A
+131BB EGYPTIAN HIEROGLYPH M011
+131BC EGYPTIAN HIEROGLYPH M012
+131BD EGYPTIAN HIEROGLYPH M012A
+131BE EGYPTIAN HIEROGLYPH M012B
+131BF EGYPTIAN HIEROGLYPH M012C
+131C0 EGYPTIAN HIEROGLYPH M012D
+131C1 EGYPTIAN HIEROGLYPH M012E
+131C2 EGYPTIAN HIEROGLYPH M012F
+131C3 EGYPTIAN HIEROGLYPH M012G
+131C4 EGYPTIAN HIEROGLYPH M012H
+131C5 EGYPTIAN HIEROGLYPH M013
+131C6 EGYPTIAN HIEROGLYPH M014
+131C7 EGYPTIAN HIEROGLYPH M015
+131C8 EGYPTIAN HIEROGLYPH M015A
+131C9 EGYPTIAN HIEROGLYPH M016
+131CA EGYPTIAN HIEROGLYPH M016A
+131CB EGYPTIAN HIEROGLYPH M017
+131CC EGYPTIAN HIEROGLYPH M017A
+131CD EGYPTIAN HIEROGLYPH M018
+131CE EGYPTIAN HIEROGLYPH M019
+131CF EGYPTIAN HIEROGLYPH M020
+131D0 EGYPTIAN HIEROGLYPH M021
+131D1 EGYPTIAN HIEROGLYPH M022
+131D2 EGYPTIAN HIEROGLYPH M022A
+131D3 EGYPTIAN HIEROGLYPH M023
+131D4 EGYPTIAN HIEROGLYPH M024
+131D5 EGYPTIAN HIEROGLYPH M024A
+131D6 EGYPTIAN HIEROGLYPH M025
+131D7 EGYPTIAN HIEROGLYPH M026
+131D8 EGYPTIAN HIEROGLYPH M027
+131D9 EGYPTIAN HIEROGLYPH M028
+131DA EGYPTIAN HIEROGLYPH M028A
+131DB EGYPTIAN HIEROGLYPH M029
+131DC EGYPTIAN HIEROGLYPH M030
+131DD EGYPTIAN HIEROGLYPH M031
+131DE EGYPTIAN HIEROGLYPH M031A
+131DF EGYPTIAN HIEROGLYPH M032
+131E0 EGYPTIAN HIEROGLYPH M033
+131E1 EGYPTIAN HIEROGLYPH M033A
+131E2 EGYPTIAN HIEROGLYPH M033B
+131E3 EGYPTIAN HIEROGLYPH M034
+131E4 EGYPTIAN HIEROGLYPH M035
+131E5 EGYPTIAN HIEROGLYPH M036
+131E6 EGYPTIAN HIEROGLYPH M037
+131E7 EGYPTIAN HIEROGLYPH M038
+131E8 EGYPTIAN HIEROGLYPH M039
+131E9 EGYPTIAN HIEROGLYPH M040
+131EA EGYPTIAN HIEROGLYPH M040A
+131EB EGYPTIAN HIEROGLYPH M041
+131EC EGYPTIAN HIEROGLYPH M042
+131ED EGYPTIAN HIEROGLYPH M043
+131EE EGYPTIAN HIEROGLYPH M044
+131EF EGYPTIAN HIEROGLYPH N001
+131F0 EGYPTIAN HIEROGLYPH N002
+131F1 EGYPTIAN HIEROGLYPH N003
+131F2 EGYPTIAN HIEROGLYPH N004
+131F3 EGYPTIAN HIEROGLYPH N005
+131F4 EGYPTIAN HIEROGLYPH N006
+131F5 EGYPTIAN HIEROGLYPH N007
+131F6 EGYPTIAN HIEROGLYPH N008
+131F7 EGYPTIAN HIEROGLYPH N009
+131F8 EGYPTIAN HIEROGLYPH N010
+131F9 EGYPTIAN HIEROGLYPH N011
+131FA EGYPTIAN HIEROGLYPH N012
+131FB EGYPTIAN HIEROGLYPH N013
+131FC EGYPTIAN HIEROGLYPH N014
+131FD EGYPTIAN HIEROGLYPH N015
+131FE EGYPTIAN HIEROGLYPH N016
+131FF EGYPTIAN HIEROGLYPH N017
+13200 EGYPTIAN HIEROGLYPH N018
+13201 EGYPTIAN HIEROGLYPH N018A
+13202 EGYPTIAN HIEROGLYPH N018B
+13203 EGYPTIAN HIEROGLYPH N019
+13204 EGYPTIAN HIEROGLYPH N020
+13205 EGYPTIAN HIEROGLYPH N021
+13206 EGYPTIAN HIEROGLYPH N022
+13207 EGYPTIAN HIEROGLYPH N023
+13208 EGYPTIAN HIEROGLYPH N024
+13209 EGYPTIAN HIEROGLYPH N025
+1320A EGYPTIAN HIEROGLYPH N025A
+1320B EGYPTIAN HIEROGLYPH N026
+1320C EGYPTIAN HIEROGLYPH N027
+1320D EGYPTIAN HIEROGLYPH N028
+1320E EGYPTIAN HIEROGLYPH N029
+1320F EGYPTIAN HIEROGLYPH N030
+13210 EGYPTIAN HIEROGLYPH N031
+13211 EGYPTIAN HIEROGLYPH N032
+13212 EGYPTIAN HIEROGLYPH N033
+13213 EGYPTIAN HIEROGLYPH N033A
+13214 EGYPTIAN HIEROGLYPH N034
+13215 EGYPTIAN HIEROGLYPH N034A
+13216 EGYPTIAN HIEROGLYPH N035
+13217 EGYPTIAN HIEROGLYPH N035A
+13218 EGYPTIAN HIEROGLYPH N036
+13219 EGYPTIAN HIEROGLYPH N037
+1321A EGYPTIAN HIEROGLYPH N037A
+1321B EGYPTIAN HIEROGLYPH N038
+1321C EGYPTIAN HIEROGLYPH N039
+1321D EGYPTIAN HIEROGLYPH N040
+1321E EGYPTIAN HIEROGLYPH N041
+1321F EGYPTIAN HIEROGLYPH N042
+13220 EGYPTIAN HIEROGLYPH NL001
+13221 EGYPTIAN HIEROGLYPH NL002
+13222 EGYPTIAN HIEROGLYPH NL003
+13223 EGYPTIAN HIEROGLYPH NL004
+13224 EGYPTIAN HIEROGLYPH NL005
+13225 EGYPTIAN HIEROGLYPH NL005A
+13226 EGYPTIAN HIEROGLYPH NL006
+13227 EGYPTIAN HIEROGLYPH NL007
+13228 EGYPTIAN HIEROGLYPH NL008
+13229 EGYPTIAN HIEROGLYPH NL009
+1322A EGYPTIAN HIEROGLYPH NL010
+1322B EGYPTIAN HIEROGLYPH NL011
+1322C EGYPTIAN HIEROGLYPH NL012
+1322D EGYPTIAN HIEROGLYPH NL013
+1322E EGYPTIAN HIEROGLYPH NL014
+1322F EGYPTIAN HIEROGLYPH NL015
+13230 EGYPTIAN HIEROGLYPH NL016
+13231 EGYPTIAN HIEROGLYPH NL017
+13232 EGYPTIAN HIEROGLYPH NL017A
+13233 EGYPTIAN HIEROGLYPH NL018
+13234 EGYPTIAN HIEROGLYPH NL019
+13235 EGYPTIAN HIEROGLYPH NL020
+13236 EGYPTIAN HIEROGLYPH NU001
+13237 EGYPTIAN HIEROGLYPH NU002
+13238 EGYPTIAN HIEROGLYPH NU003
+13239 EGYPTIAN HIEROGLYPH NU004
+1323A EGYPTIAN HIEROGLYPH NU005
+1323B EGYPTIAN HIEROGLYPH NU006
+1323C EGYPTIAN HIEROGLYPH NU007
+1323D EGYPTIAN HIEROGLYPH NU008
+1323E EGYPTIAN HIEROGLYPH NU009
+1323F EGYPTIAN HIEROGLYPH NU010
+13240 EGYPTIAN HIEROGLYPH NU010A
+13241 EGYPTIAN HIEROGLYPH NU011
+13242 EGYPTIAN HIEROGLYPH NU011A
+13243 EGYPTIAN HIEROGLYPH NU012
+13244 EGYPTIAN HIEROGLYPH NU013
+13245 EGYPTIAN HIEROGLYPH NU014
+13246 EGYPTIAN HIEROGLYPH NU015
+13247 EGYPTIAN HIEROGLYPH NU016
+13248 EGYPTIAN HIEROGLYPH NU017
+13249 EGYPTIAN HIEROGLYPH NU018
+1324A EGYPTIAN HIEROGLYPH NU018A
+1324B EGYPTIAN HIEROGLYPH NU019
+1324C EGYPTIAN HIEROGLYPH NU020
+1324D EGYPTIAN HIEROGLYPH NU021
+1324E EGYPTIAN HIEROGLYPH NU022
+1324F EGYPTIAN HIEROGLYPH NU022A
+13250 EGYPTIAN HIEROGLYPH O001
+13251 EGYPTIAN HIEROGLYPH O001A
+13252 EGYPTIAN HIEROGLYPH O002
+13253 EGYPTIAN HIEROGLYPH O003
+13254 EGYPTIAN HIEROGLYPH O004
+13255 EGYPTIAN HIEROGLYPH O005
+13256 EGYPTIAN HIEROGLYPH O005A
+13257 EGYPTIAN HIEROGLYPH O006
+13258 EGYPTIAN HIEROGLYPH O006A
+13259 EGYPTIAN HIEROGLYPH O006B
+1325A EGYPTIAN HIEROGLYPH O006C
+1325B EGYPTIAN HIEROGLYPH O006D
+1325C EGYPTIAN HIEROGLYPH O006E
+1325D EGYPTIAN HIEROGLYPH O006F
+1325E EGYPTIAN HIEROGLYPH O007
+1325F EGYPTIAN HIEROGLYPH O008
+13260 EGYPTIAN HIEROGLYPH O009
+13261 EGYPTIAN HIEROGLYPH O010
+13262 EGYPTIAN HIEROGLYPH O010A
+13263 EGYPTIAN HIEROGLYPH O010B
+13264 EGYPTIAN HIEROGLYPH O010C
+13265 EGYPTIAN HIEROGLYPH O011
+13266 EGYPTIAN HIEROGLYPH O012
+13267 EGYPTIAN HIEROGLYPH O013
+13268 EGYPTIAN HIEROGLYPH O014
+13269 EGYPTIAN HIEROGLYPH O015
+1326A EGYPTIAN HIEROGLYPH O016
+1326B EGYPTIAN HIEROGLYPH O017
+1326C EGYPTIAN HIEROGLYPH O018
+1326D EGYPTIAN HIEROGLYPH O019
+1326E EGYPTIAN HIEROGLYPH O019A
+1326F EGYPTIAN HIEROGLYPH O020
+13270 EGYPTIAN HIEROGLYPH O020A
+13271 EGYPTIAN HIEROGLYPH O021
+13272 EGYPTIAN HIEROGLYPH O022
+13273 EGYPTIAN HIEROGLYPH O023
+13274 EGYPTIAN HIEROGLYPH O024
+13275 EGYPTIAN HIEROGLYPH O024A
+13276 EGYPTIAN HIEROGLYPH O025
+13277 EGYPTIAN HIEROGLYPH O025A
+13278 EGYPTIAN HIEROGLYPH O026
+13279 EGYPTIAN HIEROGLYPH O027
+1327A EGYPTIAN HIEROGLYPH O028
+1327B EGYPTIAN HIEROGLYPH O029
+1327C EGYPTIAN HIEROGLYPH O029A
+1327D EGYPTIAN HIEROGLYPH O030
+1327E EGYPTIAN HIEROGLYPH O030A
+1327F EGYPTIAN HIEROGLYPH O031
+13280 EGYPTIAN HIEROGLYPH O032
+13281 EGYPTIAN HIEROGLYPH O033
+13282 EGYPTIAN HIEROGLYPH O033A
+13283 EGYPTIAN HIEROGLYPH O034
+13284 EGYPTIAN HIEROGLYPH O035
+13285 EGYPTIAN HIEROGLYPH O036
+13286 EGYPTIAN HIEROGLYPH O036A
+13287 EGYPTIAN HIEROGLYPH O036B
+13288 EGYPTIAN HIEROGLYPH O036C
+13289 EGYPTIAN HIEROGLYPH O036D
+1328A EGYPTIAN HIEROGLYPH O037
+1328B EGYPTIAN HIEROGLYPH O038
+1328C EGYPTIAN HIEROGLYPH O039
+1328D EGYPTIAN HIEROGLYPH O040
+1328E EGYPTIAN HIEROGLYPH O041
+1328F EGYPTIAN HIEROGLYPH O042
+13290 EGYPTIAN HIEROGLYPH O043
+13291 EGYPTIAN HIEROGLYPH O044
+13292 EGYPTIAN HIEROGLYPH O045
+13293 EGYPTIAN HIEROGLYPH O046
+13294 EGYPTIAN HIEROGLYPH O047
+13295 EGYPTIAN HIEROGLYPH O048
+13296 EGYPTIAN HIEROGLYPH O049
+13297 EGYPTIAN HIEROGLYPH O050
+13298 EGYPTIAN HIEROGLYPH O050A
+13299 EGYPTIAN HIEROGLYPH O050B
+1329A EGYPTIAN HIEROGLYPH O051
+1329B EGYPTIAN HIEROGLYPH P001
+1329C EGYPTIAN HIEROGLYPH P001A
+1329D EGYPTIAN HIEROGLYPH P002
+1329E EGYPTIAN HIEROGLYPH P003
+1329F EGYPTIAN HIEROGLYPH P003A
+132A0 EGYPTIAN HIEROGLYPH P004
+132A1 EGYPTIAN HIEROGLYPH P005
+132A2 EGYPTIAN HIEROGLYPH P006
+132A3 EGYPTIAN HIEROGLYPH P007
+132A4 EGYPTIAN HIEROGLYPH P008
+132A5 EGYPTIAN HIEROGLYPH P009
+132A6 EGYPTIAN HIEROGLYPH P010
+132A7 EGYPTIAN HIEROGLYPH P011
+132A8 EGYPTIAN HIEROGLYPH Q001
+132A9 EGYPTIAN HIEROGLYPH Q002
+132AA EGYPTIAN HIEROGLYPH Q003
+132AB EGYPTIAN HIEROGLYPH Q004
+132AC EGYPTIAN HIEROGLYPH Q005
+132AD EGYPTIAN HIEROGLYPH Q006
+132AE EGYPTIAN HIEROGLYPH Q007
+132AF EGYPTIAN HIEROGLYPH R001
+132B0 EGYPTIAN HIEROGLYPH R002
+132B1 EGYPTIAN HIEROGLYPH R002A
+132B2 EGYPTIAN HIEROGLYPH R003
+132B3 EGYPTIAN HIEROGLYPH R003A
+132B4 EGYPTIAN HIEROGLYPH R003B
+132B5 EGYPTIAN HIEROGLYPH R004
+132B6 EGYPTIAN HIEROGLYPH R005
+132B7 EGYPTIAN HIEROGLYPH R006
+132B8 EGYPTIAN HIEROGLYPH R007
+132B9 EGYPTIAN HIEROGLYPH R008
+132BA EGYPTIAN HIEROGLYPH R009
+132BB EGYPTIAN HIEROGLYPH R010
+132BC EGYPTIAN HIEROGLYPH R010A
+132BD EGYPTIAN HIEROGLYPH R011
+132BE EGYPTIAN HIEROGLYPH R012
+132BF EGYPTIAN HIEROGLYPH R013
+132C0 EGYPTIAN HIEROGLYPH R014
+132C1 EGYPTIAN HIEROGLYPH R015
+132C2 EGYPTIAN HIEROGLYPH R016
+132C3 EGYPTIAN HIEROGLYPH R016A
+132C4 EGYPTIAN HIEROGLYPH R017
+132C5 EGYPTIAN HIEROGLYPH R018
+132C6 EGYPTIAN HIEROGLYPH R019
+132C7 EGYPTIAN HIEROGLYPH R020
+132C8 EGYPTIAN HIEROGLYPH R021
+132C9 EGYPTIAN HIEROGLYPH R022
+132CA EGYPTIAN HIEROGLYPH R023
+132CB EGYPTIAN HIEROGLYPH R024
+132CC EGYPTIAN HIEROGLYPH R025
+132CD EGYPTIAN HIEROGLYPH R026
+132CE EGYPTIAN HIEROGLYPH R027
+132CF EGYPTIAN HIEROGLYPH R028
+132D0 EGYPTIAN HIEROGLYPH R029
+132D1 EGYPTIAN HIEROGLYPH S001
+132D2 EGYPTIAN HIEROGLYPH S002
+132D3 EGYPTIAN HIEROGLYPH S002A
+132D4 EGYPTIAN HIEROGLYPH S003
+132D5 EGYPTIAN HIEROGLYPH S004
+132D6 EGYPTIAN HIEROGLYPH S005
+132D7 EGYPTIAN HIEROGLYPH S006
+132D8 EGYPTIAN HIEROGLYPH S006A
+132D9 EGYPTIAN HIEROGLYPH S007
+132DA EGYPTIAN HIEROGLYPH S008
+132DB EGYPTIAN HIEROGLYPH S009
+132DC EGYPTIAN HIEROGLYPH S010
+132DD EGYPTIAN HIEROGLYPH S011
+132DE EGYPTIAN HIEROGLYPH S012
+132DF EGYPTIAN HIEROGLYPH S013
+132E0 EGYPTIAN HIEROGLYPH S014
+132E1 EGYPTIAN HIEROGLYPH S014A
+132E2 EGYPTIAN HIEROGLYPH S014B
+132E3 EGYPTIAN HIEROGLYPH S015
+132E4 EGYPTIAN HIEROGLYPH S016
+132E5 EGYPTIAN HIEROGLYPH S017
+132E6 EGYPTIAN HIEROGLYPH S017A
+132E7 EGYPTIAN HIEROGLYPH S018
+132E8 EGYPTIAN HIEROGLYPH S019
+132E9 EGYPTIAN HIEROGLYPH S020
+132EA EGYPTIAN HIEROGLYPH S021
+132EB EGYPTIAN HIEROGLYPH S022
+132EC EGYPTIAN HIEROGLYPH S023
+132ED EGYPTIAN HIEROGLYPH S024
+132EE EGYPTIAN HIEROGLYPH S025
+132EF EGYPTIAN HIEROGLYPH S026
+132F0 EGYPTIAN HIEROGLYPH S026A
+132F1 EGYPTIAN HIEROGLYPH S026B
+132F2 EGYPTIAN HIEROGLYPH S027
+132F3 EGYPTIAN HIEROGLYPH S028
+132F4 EGYPTIAN HIEROGLYPH S029
+132F5 EGYPTIAN HIEROGLYPH S030
+132F6 EGYPTIAN HIEROGLYPH S031
+132F7 EGYPTIAN HIEROGLYPH S032
+132F8 EGYPTIAN HIEROGLYPH S033
+132F9 EGYPTIAN HIEROGLYPH S034
+132FA EGYPTIAN HIEROGLYPH S035
+132FB EGYPTIAN HIEROGLYPH S035A
+132FC EGYPTIAN HIEROGLYPH S036
+132FD EGYPTIAN HIEROGLYPH S037
+132FE EGYPTIAN HIEROGLYPH S038
+132FF EGYPTIAN HIEROGLYPH S039
+13300 EGYPTIAN HIEROGLYPH S040
+13301 EGYPTIAN HIEROGLYPH S041
+13302 EGYPTIAN HIEROGLYPH S042
+13303 EGYPTIAN HIEROGLYPH S043
+13304 EGYPTIAN HIEROGLYPH S044
+13305 EGYPTIAN HIEROGLYPH S045
+13306 EGYPTIAN HIEROGLYPH S046
+13307 EGYPTIAN HIEROGLYPH T001
+13308 EGYPTIAN HIEROGLYPH T002
+13309 EGYPTIAN HIEROGLYPH T003
+1330A EGYPTIAN HIEROGLYPH T003A
+1330B EGYPTIAN HIEROGLYPH T004
+1330C EGYPTIAN HIEROGLYPH T005
+1330D EGYPTIAN HIEROGLYPH T006
+1330E EGYPTIAN HIEROGLYPH T007
+1330F EGYPTIAN HIEROGLYPH T007A
+13310 EGYPTIAN HIEROGLYPH T008
+13311 EGYPTIAN HIEROGLYPH T008A
+13312 EGYPTIAN HIEROGLYPH T009
+13313 EGYPTIAN HIEROGLYPH T009A
+13314 EGYPTIAN HIEROGLYPH T010
+13315 EGYPTIAN HIEROGLYPH T011
+13316 EGYPTIAN HIEROGLYPH T011A
+13317 EGYPTIAN HIEROGLYPH T012
+13318 EGYPTIAN HIEROGLYPH T013
+13319 EGYPTIAN HIEROGLYPH T014
+1331A EGYPTIAN HIEROGLYPH T015
+1331B EGYPTIAN HIEROGLYPH T016
+1331C EGYPTIAN HIEROGLYPH T016A
+1331D EGYPTIAN HIEROGLYPH T017
+1331E EGYPTIAN HIEROGLYPH T018
+1331F EGYPTIAN HIEROGLYPH T019
+13320 EGYPTIAN HIEROGLYPH T020
+13321 EGYPTIAN HIEROGLYPH T021
+13322 EGYPTIAN HIEROGLYPH T022
+13323 EGYPTIAN HIEROGLYPH T023
+13324 EGYPTIAN HIEROGLYPH T024
+13325 EGYPTIAN HIEROGLYPH T025
+13326 EGYPTIAN HIEROGLYPH T026
+13327 EGYPTIAN HIEROGLYPH T027
+13328 EGYPTIAN HIEROGLYPH T028
+13329 EGYPTIAN HIEROGLYPH T029
+1332A EGYPTIAN HIEROGLYPH T030
+1332B EGYPTIAN HIEROGLYPH T031
+1332C EGYPTIAN HIEROGLYPH T032
+1332D EGYPTIAN HIEROGLYPH T032A
+1332E EGYPTIAN HIEROGLYPH T033
+1332F EGYPTIAN HIEROGLYPH T033A
+13330 EGYPTIAN HIEROGLYPH T034
+13331 EGYPTIAN HIEROGLYPH T035
+13332 EGYPTIAN HIEROGLYPH T036
+13333 EGYPTIAN HIEROGLYPH U001
+13334 EGYPTIAN HIEROGLYPH U002
+13335 EGYPTIAN HIEROGLYPH U003
+13336 EGYPTIAN HIEROGLYPH U004
+13337 EGYPTIAN HIEROGLYPH U005
+13338 EGYPTIAN HIEROGLYPH U006
+13339 EGYPTIAN HIEROGLYPH U006A
+1333A EGYPTIAN HIEROGLYPH U006B
+1333B EGYPTIAN HIEROGLYPH U007
+1333C EGYPTIAN HIEROGLYPH U008
+1333D EGYPTIAN HIEROGLYPH U009
+1333E EGYPTIAN HIEROGLYPH U010
+1333F EGYPTIAN HIEROGLYPH U011
+13340 EGYPTIAN HIEROGLYPH U012
+13341 EGYPTIAN HIEROGLYPH U013
+13342 EGYPTIAN HIEROGLYPH U014
+13343 EGYPTIAN HIEROGLYPH U015
+13344 EGYPTIAN HIEROGLYPH U016
+13345 EGYPTIAN HIEROGLYPH U017
+13346 EGYPTIAN HIEROGLYPH U018
+13347 EGYPTIAN HIEROGLYPH U019
+13348 EGYPTIAN HIEROGLYPH U020
+13349 EGYPTIAN HIEROGLYPH U021
+1334A EGYPTIAN HIEROGLYPH U022
+1334B EGYPTIAN HIEROGLYPH U023
+1334C EGYPTIAN HIEROGLYPH U023A
+1334D EGYPTIAN HIEROGLYPH U024
+1334E EGYPTIAN HIEROGLYPH U025
+1334F EGYPTIAN HIEROGLYPH U026
+13350 EGYPTIAN HIEROGLYPH U027
+13351 EGYPTIAN HIEROGLYPH U028
+13352 EGYPTIAN HIEROGLYPH U029
+13353 EGYPTIAN HIEROGLYPH U029A
+13354 EGYPTIAN HIEROGLYPH U030
+13355 EGYPTIAN HIEROGLYPH U031
+13356 EGYPTIAN HIEROGLYPH U032
+13357 EGYPTIAN HIEROGLYPH U032A
+13358 EGYPTIAN HIEROGLYPH U033
+13359 EGYPTIAN HIEROGLYPH U034
+1335A EGYPTIAN HIEROGLYPH U035
+1335B EGYPTIAN HIEROGLYPH U036
+1335C EGYPTIAN HIEROGLYPH U037
+1335D EGYPTIAN HIEROGLYPH U038
+1335E EGYPTIAN HIEROGLYPH U039
+1335F EGYPTIAN HIEROGLYPH U040
+13360 EGYPTIAN HIEROGLYPH U041
+13361 EGYPTIAN HIEROGLYPH U042
+13362 EGYPTIAN HIEROGLYPH V001
+13363 EGYPTIAN HIEROGLYPH V001A
+13364 EGYPTIAN HIEROGLYPH V001B
+13365 EGYPTIAN HIEROGLYPH V001C
+13366 EGYPTIAN HIEROGLYPH V001D
+13367 EGYPTIAN HIEROGLYPH V001E
+13368 EGYPTIAN HIEROGLYPH V001F
+13369 EGYPTIAN HIEROGLYPH V001G
+1336A EGYPTIAN HIEROGLYPH V001H
+1336B EGYPTIAN HIEROGLYPH V001I
+1336C EGYPTIAN HIEROGLYPH V002
+1336D EGYPTIAN HIEROGLYPH V002A
+1336E EGYPTIAN HIEROGLYPH V003
+1336F EGYPTIAN HIEROGLYPH V004
+13370 EGYPTIAN HIEROGLYPH V005
+13371 EGYPTIAN HIEROGLYPH V006
+13372 EGYPTIAN HIEROGLYPH V007
+13373 EGYPTIAN HIEROGLYPH V007A
+13374 EGYPTIAN HIEROGLYPH V007B
+13375 EGYPTIAN HIEROGLYPH V008
+13376 EGYPTIAN HIEROGLYPH V009
+13377 EGYPTIAN HIEROGLYPH V010
+13378 EGYPTIAN HIEROGLYPH V011
+13379 EGYPTIAN HIEROGLYPH V011A
+1337A EGYPTIAN HIEROGLYPH V011B
+1337B EGYPTIAN HIEROGLYPH V011C
+1337C EGYPTIAN HIEROGLYPH V012
+1337D EGYPTIAN HIEROGLYPH V012A
+1337E EGYPTIAN HIEROGLYPH V012B
+1337F EGYPTIAN HIEROGLYPH V013
+13380 EGYPTIAN HIEROGLYPH V014
+13381 EGYPTIAN HIEROGLYPH V015
+13382 EGYPTIAN HIEROGLYPH V016
+13383 EGYPTIAN HIEROGLYPH V017
+13384 EGYPTIAN HIEROGLYPH V018
+13385 EGYPTIAN HIEROGLYPH V019
+13386 EGYPTIAN HIEROGLYPH V020
+13387 EGYPTIAN HIEROGLYPH V020A
+13388 EGYPTIAN HIEROGLYPH V020B
+13389 EGYPTIAN HIEROGLYPH V020C
+1338A EGYPTIAN HIEROGLYPH V020D
+1338B EGYPTIAN HIEROGLYPH V020E
+1338C EGYPTIAN HIEROGLYPH V020F
+1338D EGYPTIAN HIEROGLYPH V020G
+1338E EGYPTIAN HIEROGLYPH V020H
+1338F EGYPTIAN HIEROGLYPH V020I
+13390 EGYPTIAN HIEROGLYPH V020J
+13391 EGYPTIAN HIEROGLYPH V020K
+13392 EGYPTIAN HIEROGLYPH V020L
+13393 EGYPTIAN HIEROGLYPH V021
+13394 EGYPTIAN HIEROGLYPH V022
+13395 EGYPTIAN HIEROGLYPH V023
+13396 EGYPTIAN HIEROGLYPH V023A
+13397 EGYPTIAN HIEROGLYPH V024
+13398 EGYPTIAN HIEROGLYPH V025
+13399 EGYPTIAN HIEROGLYPH V026
+1339A EGYPTIAN HIEROGLYPH V027
+1339B EGYPTIAN HIEROGLYPH V028
+1339C EGYPTIAN HIEROGLYPH V028A
+1339D EGYPTIAN HIEROGLYPH V029
+1339E EGYPTIAN HIEROGLYPH V029A
+1339F EGYPTIAN HIEROGLYPH V030
+133A0 EGYPTIAN HIEROGLYPH V030A
+133A1 EGYPTIAN HIEROGLYPH V031
+133A2 EGYPTIAN HIEROGLYPH V031A
+133A3 EGYPTIAN HIEROGLYPH V032
+133A4 EGYPTIAN HIEROGLYPH V033
+133A5 EGYPTIAN HIEROGLYPH V033A
+133A6 EGYPTIAN HIEROGLYPH V034
+133A7 EGYPTIAN HIEROGLYPH V035
+133A8 EGYPTIAN HIEROGLYPH V036
+133A9 EGYPTIAN HIEROGLYPH V037
+133AA EGYPTIAN HIEROGLYPH V037A
+133AB EGYPTIAN HIEROGLYPH V038
+133AC EGYPTIAN HIEROGLYPH V039
+133AD EGYPTIAN HIEROGLYPH V040
+133AE EGYPTIAN HIEROGLYPH V040A
+133AF EGYPTIAN HIEROGLYPH W001
+133B0 EGYPTIAN HIEROGLYPH W002
+133B1 EGYPTIAN HIEROGLYPH W003
+133B2 EGYPTIAN HIEROGLYPH W003A
+133B3 EGYPTIAN HIEROGLYPH W004
+133B4 EGYPTIAN HIEROGLYPH W005
+133B5 EGYPTIAN HIEROGLYPH W006
+133B6 EGYPTIAN HIEROGLYPH W007
+133B7 EGYPTIAN HIEROGLYPH W008
+133B8 EGYPTIAN HIEROGLYPH W009
+133B9 EGYPTIAN HIEROGLYPH W009A
+133BA EGYPTIAN HIEROGLYPH W010
+133BB EGYPTIAN HIEROGLYPH W010A
+133BC EGYPTIAN HIEROGLYPH W011
+133BD EGYPTIAN HIEROGLYPH W012
+133BE EGYPTIAN HIEROGLYPH W013
+133BF EGYPTIAN HIEROGLYPH W014
+133C0 EGYPTIAN HIEROGLYPH W014A
+133C1 EGYPTIAN HIEROGLYPH W015
+133C2 EGYPTIAN HIEROGLYPH W016
+133C3 EGYPTIAN HIEROGLYPH W017
+133C4 EGYPTIAN HIEROGLYPH W017A
+133C5 EGYPTIAN HIEROGLYPH W018
+133C6 EGYPTIAN HIEROGLYPH W018A
+133C7 EGYPTIAN HIEROGLYPH W019
+133C8 EGYPTIAN HIEROGLYPH W020
+133C9 EGYPTIAN HIEROGLYPH W021
+133CA EGYPTIAN HIEROGLYPH W022
+133CB EGYPTIAN HIEROGLYPH W023
+133CC EGYPTIAN HIEROGLYPH W024
+133CD EGYPTIAN HIEROGLYPH W024A
+133CE EGYPTIAN HIEROGLYPH W025
+133CF EGYPTIAN HIEROGLYPH X001
+133D0 EGYPTIAN HIEROGLYPH X002
+133D1 EGYPTIAN HIEROGLYPH X003
+133D2 EGYPTIAN HIEROGLYPH X004
+133D3 EGYPTIAN HIEROGLYPH X004A
+133D4 EGYPTIAN HIEROGLYPH X004B
+133D5 EGYPTIAN HIEROGLYPH X005
+133D6 EGYPTIAN HIEROGLYPH X006
+133D7 EGYPTIAN HIEROGLYPH X006A
+133D8 EGYPTIAN HIEROGLYPH X007
+133D9 EGYPTIAN HIEROGLYPH X008
+133DA EGYPTIAN HIEROGLYPH X008A
+133DB EGYPTIAN HIEROGLYPH Y001
+133DC EGYPTIAN HIEROGLYPH Y001A
+133DD EGYPTIAN HIEROGLYPH Y002
+133DE EGYPTIAN HIEROGLYPH Y003
+133DF EGYPTIAN HIEROGLYPH Y004
+133E0 EGYPTIAN HIEROGLYPH Y005
+133E1 EGYPTIAN HIEROGLYPH Y006
+133E2 EGYPTIAN HIEROGLYPH Y007
+133E3 EGYPTIAN HIEROGLYPH Y008
+133E4 EGYPTIAN HIEROGLYPH Z001
+133E5 EGYPTIAN HIEROGLYPH Z002
+133E6 EGYPTIAN HIEROGLYPH Z002A
+133E7 EGYPTIAN HIEROGLYPH Z002B
+133E8 EGYPTIAN HIEROGLYPH Z002C
+133E9 EGYPTIAN HIEROGLYPH Z002D
+133EA EGYPTIAN HIEROGLYPH Z003
+133EB EGYPTIAN HIEROGLYPH Z003A
+133EC EGYPTIAN HIEROGLYPH Z003B
+133ED EGYPTIAN HIEROGLYPH Z004
+133EE EGYPTIAN HIEROGLYPH Z004A
+133EF EGYPTIAN HIEROGLYPH Z005
+133F0 EGYPTIAN HIEROGLYPH Z005A
+133F1 EGYPTIAN HIEROGLYPH Z006
+133F2 EGYPTIAN HIEROGLYPH Z007
+133F3 EGYPTIAN HIEROGLYPH Z008
+133F4 EGYPTIAN HIEROGLYPH Z009
+133F5 EGYPTIAN HIEROGLYPH Z010
+133F6 EGYPTIAN HIEROGLYPH Z011
+133F7 EGYPTIAN HIEROGLYPH Z012
+133F8 EGYPTIAN HIEROGLYPH Z013
+133F9 EGYPTIAN HIEROGLYPH Z014
+133FA EGYPTIAN HIEROGLYPH Z015
+133FB EGYPTIAN HIEROGLYPH Z015A
+133FC EGYPTIAN HIEROGLYPH Z015B
+133FD EGYPTIAN HIEROGLYPH Z015C
+133FE EGYPTIAN HIEROGLYPH Z015D
+133FF EGYPTIAN HIEROGLYPH Z015E
+13400 EGYPTIAN HIEROGLYPH Z015F
+13401 EGYPTIAN HIEROGLYPH Z015G
+13402 EGYPTIAN HIEROGLYPH Z015H
+13403 EGYPTIAN HIEROGLYPH Z015I
+13404 EGYPTIAN HIEROGLYPH Z016
+13405 EGYPTIAN HIEROGLYPH Z016A
+13406 EGYPTIAN HIEROGLYPH Z016B
+13407 EGYPTIAN HIEROGLYPH Z016C
+13408 EGYPTIAN HIEROGLYPH Z016D
+13409 EGYPTIAN HIEROGLYPH Z016E
+1340A EGYPTIAN HIEROGLYPH Z016F
+1340B EGYPTIAN HIEROGLYPH Z016G
+1340C EGYPTIAN HIEROGLYPH Z016H
+1340D EGYPTIAN HIEROGLYPH AA001
+1340E EGYPTIAN HIEROGLYPH AA002
+1340F EGYPTIAN HIEROGLYPH AA003
+13410 EGYPTIAN HIEROGLYPH AA004
+13411 EGYPTIAN HIEROGLYPH AA005
+13412 EGYPTIAN HIEROGLYPH AA006
+13413 EGYPTIAN HIEROGLYPH AA007
+13414 EGYPTIAN HIEROGLYPH AA007A
+13415 EGYPTIAN HIEROGLYPH AA007B
+13416 EGYPTIAN HIEROGLYPH AA008
+13417 EGYPTIAN HIEROGLYPH AA009
+13418 EGYPTIAN HIEROGLYPH AA010
+13419 EGYPTIAN HIEROGLYPH AA011
+1341A EGYPTIAN HIEROGLYPH AA012
+1341B EGYPTIAN HIEROGLYPH AA013
+1341C EGYPTIAN HIEROGLYPH AA014
+1341D EGYPTIAN HIEROGLYPH AA015
+1341E EGYPTIAN HIEROGLYPH AA016
+1341F EGYPTIAN HIEROGLYPH AA017
+13420 EGYPTIAN HIEROGLYPH AA018
+13421 EGYPTIAN HIEROGLYPH AA019
+13422 EGYPTIAN HIEROGLYPH AA020
+13423 EGYPTIAN HIEROGLYPH AA021
+13424 EGYPTIAN HIEROGLYPH AA022
+13425 EGYPTIAN HIEROGLYPH AA023
+13426 EGYPTIAN HIEROGLYPH AA024
+13427 EGYPTIAN HIEROGLYPH AA025
+13428 EGYPTIAN HIEROGLYPH AA026
+13429 EGYPTIAN HIEROGLYPH AA027
+1342A EGYPTIAN HIEROGLYPH AA028
+1342B EGYPTIAN HIEROGLYPH AA029
+1342C EGYPTIAN HIEROGLYPH AA030
+1342D EGYPTIAN HIEROGLYPH AA031
+1342E EGYPTIAN HIEROGLYPH AA032
+16800 BAMUM LETTER PHASE-A NGKUE MFON
+16801 BAMUM LETTER PHASE-A GBIEE FON
+16802 BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
+16803 BAMUM LETTER PHASE-A PON MFON PIPAEMBA
+16804 BAMUM LETTER PHASE-A NAA MFON
+16805 BAMUM LETTER PHASE-A SHUENSHUET
+16806 BAMUM LETTER PHASE-A TITA MFON
+16807 BAMUM LETTER PHASE-A NZA MFON
+16808 BAMUM LETTER PHASE-A SHINDA PA NJI
+16809 BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
+1680A BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
+1680B BAMUM LETTER PHASE-A MAEMBGBIEE
+1680C BAMUM LETTER PHASE-A TU MAEMBA
+1680D BAMUM LETTER PHASE-A NGANGU
+1680E BAMUM LETTER PHASE-A MAEMVEUX
+1680F BAMUM LETTER PHASE-A MANSUAE
+16810 BAMUM LETTER PHASE-A MVEUAENGAM
+16811 BAMUM LETTER PHASE-A SEUNYAM
+16812 BAMUM LETTER PHASE-A NTOQPEN
+16813 BAMUM LETTER PHASE-A KEUKEUTNDA
+16814 BAMUM LETTER PHASE-A NKINDI
+16815 BAMUM LETTER PHASE-A SUU
+16816 BAMUM LETTER PHASE-A NGKUENZEUM
+16817 BAMUM LETTER PHASE-A LAPAQ
+16818 BAMUM LETTER PHASE-A LET KUT
+16819 BAMUM LETTER PHASE-A NTAP MFAA
+1681A BAMUM LETTER PHASE-A MAEKEUP
+1681B BAMUM LETTER PHASE-A PASHAE
+1681C BAMUM LETTER PHASE-A GHEUAERAE
+1681D BAMUM LETTER PHASE-A PAMSHAE
+1681E BAMUM LETTER PHASE-A MON NGGEUAET
+1681F BAMUM LETTER PHASE-A NZUN MEUT
+16820 BAMUM LETTER PHASE-A U YUQ NAE
+16821 BAMUM LETTER PHASE-A GHEUAEGHEUAE
+16822 BAMUM LETTER PHASE-A NTAP NTAA
+16823 BAMUM LETTER PHASE-A SISA
+16824 BAMUM LETTER PHASE-A MGBASA
+16825 BAMUM LETTER PHASE-A MEUNJOMNDEUQ
+16826 BAMUM LETTER PHASE-A MOOMPUQ
+16827 BAMUM LETTER PHASE-A KAFA
+16828 BAMUM LETTER PHASE-A PA LEERAEWA
+16829 BAMUM LETTER PHASE-A NDA LEERAEWA
+1682A BAMUM LETTER PHASE-A PET
+1682B BAMUM LETTER PHASE-A MAEMKPEN
+1682C BAMUM LETTER PHASE-A NIKA
+1682D BAMUM LETTER PHASE-A PUP
+1682E BAMUM LETTER PHASE-A TUAEP
+1682F BAMUM LETTER PHASE-A LUAEP
+16830 BAMUM LETTER PHASE-A SONJAM
+16831 BAMUM LETTER PHASE-A TEUTEUWEN
+16832 BAMUM LETTER PHASE-A MAENYI
+16833 BAMUM LETTER PHASE-A KET
+16834 BAMUM LETTER PHASE-A NDAANGGEUAET
+16835 BAMUM LETTER PHASE-A KUOQ
+16836 BAMUM LETTER PHASE-A MOOMEUT
+16837 BAMUM LETTER PHASE-A SHUM
+16838 BAMUM LETTER PHASE-A LOMMAE
+16839 BAMUM LETTER PHASE-A FIRI
+1683A BAMUM LETTER PHASE-A ROM
+1683B BAMUM LETTER PHASE-A KPOQ
+1683C BAMUM LETTER PHASE-A SOQ
+1683D BAMUM LETTER PHASE-A MAP PIEET
+1683E BAMUM LETTER PHASE-A SHIRAE
+1683F BAMUM LETTER PHASE-A NTAP
+16840 BAMUM LETTER PHASE-A SHOQ NSHUT YUM
+16841 BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
+16842 BAMUM LETTER PHASE-A PAARAE
+16843 BAMUM LETTER PHASE-A NKAARAE
+16844 BAMUM LETTER PHASE-A UNKNOWN
+16845 BAMUM LETTER PHASE-A NGGEN
+16846 BAMUM LETTER PHASE-A MAESI
+16847 BAMUM LETTER PHASE-A NJAM
+16848 BAMUM LETTER PHASE-A MBANYI
+16849 BAMUM LETTER PHASE-A NYET
+1684A BAMUM LETTER PHASE-A TEUAEN
+1684B BAMUM LETTER PHASE-A SOT
+1684C BAMUM LETTER PHASE-A PAAM
+1684D BAMUM LETTER PHASE-A NSHIEE
+1684E BAMUM LETTER PHASE-A MAEM
+1684F BAMUM LETTER PHASE-A NYI
+16850 BAMUM LETTER PHASE-A KAQ
+16851 BAMUM LETTER PHASE-A NSHA
+16852 BAMUM LETTER PHASE-A VEE
+16853 BAMUM LETTER PHASE-A LU
+16854 BAMUM LETTER PHASE-A NEN
+16855 BAMUM LETTER PHASE-A NAQ
+16856 BAMUM LETTER PHASE-A MBAQ
+16857 BAMUM LETTER PHASE-B NSHUET
+16858 BAMUM LETTER PHASE-B TU MAEMGBIEE
+16859 BAMUM LETTER PHASE-B SIEE
+1685A BAMUM LETTER PHASE-B SET TU
+1685B BAMUM LETTER PHASE-B LOM NTEUM
+1685C BAMUM LETTER PHASE-B MBA MAELEE
+1685D BAMUM LETTER PHASE-B KIEEM
+1685E BAMUM LETTER PHASE-B YEURAE
+1685F BAMUM LETTER PHASE-B MBAARAE
+16860 BAMUM LETTER PHASE-B KAM
+16861 BAMUM LETTER PHASE-B PEESHI
+16862 BAMUM LETTER PHASE-B YAFU LEERAEWA
+16863 BAMUM LETTER PHASE-B LAM NSHUT NYAM
+16864 BAMUM LETTER PHASE-B NTIEE SHEUOQ
+16865 BAMUM LETTER PHASE-B NDU NJAA
+16866 BAMUM LETTER PHASE-B GHEUGHEUAEM
+16867 BAMUM LETTER PHASE-B PIT
+16868 BAMUM LETTER PHASE-B TU NSIEE
+16869 BAMUM LETTER PHASE-B SHET NJAQ
+1686A BAMUM LETTER PHASE-B SHEUAEQTU
+1686B BAMUM LETTER PHASE-B MFON TEUAEQ
+1686C BAMUM LETTER PHASE-B MBIT MBAAKET
+1686D BAMUM LETTER PHASE-B NYI NTEUM
+1686E BAMUM LETTER PHASE-B KEUPUQ
+1686F BAMUM LETTER PHASE-B GHEUGHEN
+16870 BAMUM LETTER PHASE-B KEUYEUX
+16871 BAMUM LETTER PHASE-B LAANAE
+16872 BAMUM LETTER PHASE-B PARUM
+16873 BAMUM LETTER PHASE-B VEUM
+16874 BAMUM LETTER PHASE-B NGKINDI MVOP
+16875 BAMUM LETTER PHASE-B NGGEU MBU
+16876 BAMUM LETTER PHASE-B WUAET
+16877 BAMUM LETTER PHASE-B SAKEUAE
+16878 BAMUM LETTER PHASE-B TAAM
+16879 BAMUM LETTER PHASE-B MEUQ
+1687A BAMUM LETTER PHASE-B NGGUOQ
+1687B BAMUM LETTER PHASE-B NGGUOQ LARGE
+1687C BAMUM LETTER PHASE-B MFIYAQ
+1687D BAMUM LETTER PHASE-B SUE
+1687E BAMUM LETTER PHASE-B MBEURI
+1687F BAMUM LETTER PHASE-B MONTIEEN
+16880 BAMUM LETTER PHASE-B NYAEMAE
+16881 BAMUM LETTER PHASE-B PUNGAAM
+16882 BAMUM LETTER PHASE-B MEUT NGGEET
+16883 BAMUM LETTER PHASE-B FEUX
+16884 BAMUM LETTER PHASE-B MBUOQ
+16885 BAMUM LETTER PHASE-B FEE
+16886 BAMUM LETTER PHASE-B KEUAEM
+16887 BAMUM LETTER PHASE-B MA NJEUAENA
+16888 BAMUM LETTER PHASE-B MA NJUQA
+16889 BAMUM LETTER PHASE-B LET
+1688A BAMUM LETTER PHASE-B NGGAAM
+1688B BAMUM LETTER PHASE-B NSEN
+1688C BAMUM LETTER PHASE-B MA
+1688D BAMUM LETTER PHASE-B KIQ
+1688E BAMUM LETTER PHASE-B NGOM
+1688F BAMUM LETTER PHASE-C NGKUE MAEMBA
+16890 BAMUM LETTER PHASE-C NZA
+16891 BAMUM LETTER PHASE-C YUM
+16892 BAMUM LETTER PHASE-C WANGKUOQ
+16893 BAMUM LETTER PHASE-C NGGEN
+16894 BAMUM LETTER PHASE-C NDEUAEREE
+16895 BAMUM LETTER PHASE-C NGKAQ
+16896 BAMUM LETTER PHASE-C GHARAE
+16897 BAMUM LETTER PHASE-C MBEEKEET
+16898 BAMUM LETTER PHASE-C GBAYI
+16899 BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
+1689A BAMUM LETTER PHASE-C NTU MBIT
+1689B BAMUM LETTER PHASE-C MBEUM
+1689C BAMUM LETTER PHASE-C PIRIEEN
+1689D BAMUM LETTER PHASE-C NDOMBU
+1689E BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
+1689F BAMUM LETTER PHASE-C KEUSHEUAEP
+168A0 BAMUM LETTER PHASE-C GHAP
+168A1 BAMUM LETTER PHASE-C KEUKAQ
+168A2 BAMUM LETTER PHASE-C YU MUOMAE
+168A3 BAMUM LETTER PHASE-C NZEUM
+168A4 BAMUM LETTER PHASE-C MBUE
+168A5 BAMUM LETTER PHASE-C NSEUAEN
+168A6 BAMUM LETTER PHASE-C MBIT
+168A7 BAMUM LETTER PHASE-C YEUQ
+168A8 BAMUM LETTER PHASE-C KPARAQ
+168A9 BAMUM LETTER PHASE-C KAA
+168AA BAMUM LETTER PHASE-C SEUX
+168AB BAMUM LETTER PHASE-C NDIDA
+168AC BAMUM LETTER PHASE-C TAASHAE
+168AD BAMUM LETTER PHASE-C NJUEQ
+168AE BAMUM LETTER PHASE-C TITA YUE
+168AF BAMUM LETTER PHASE-C SUAET
+168B0 BAMUM LETTER PHASE-C NGGUAEN NYAM
+168B1 BAMUM LETTER PHASE-C VEUX
+168B2 BAMUM LETTER PHASE-C NANSANAQ
+168B3 BAMUM LETTER PHASE-C MA KEUAERI
+168B4 BAMUM LETTER PHASE-C NTAA
+168B5 BAMUM LETTER PHASE-C NGGUON
+168B6 BAMUM LETTER PHASE-C LAP
+168B7 BAMUM LETTER PHASE-C MBIRIEEN
+168B8 BAMUM LETTER PHASE-C MGBASAQ
+168B9 BAMUM LETTER PHASE-C NTEUNGBA
+168BA BAMUM LETTER PHASE-C TEUTEUX
+168BB BAMUM LETTER PHASE-C NGGUM
+168BC BAMUM LETTER PHASE-C FUE
+168BD BAMUM LETTER PHASE-C NDEUT
+168BE BAMUM LETTER PHASE-C NSA
+168BF BAMUM LETTER PHASE-C NSHAQ
+168C0 BAMUM LETTER PHASE-C BUNG
+168C1 BAMUM LETTER PHASE-C VEUAEPEN
+168C2 BAMUM LETTER PHASE-C MBERAE
+168C3 BAMUM LETTER PHASE-C RU
+168C4 BAMUM LETTER PHASE-C NJAEM
+168C5 BAMUM LETTER PHASE-C LAM
+168C6 BAMUM LETTER PHASE-C TITUAEP
+168C7 BAMUM LETTER PHASE-C NSUOT NGOM
+168C8 BAMUM LETTER PHASE-C NJEEEE
+168C9 BAMUM LETTER PHASE-C KET
+168CA BAMUM LETTER PHASE-C NGGU
+168CB BAMUM LETTER PHASE-C MAESI
+168CC BAMUM LETTER PHASE-C MBUAEM
+168CD BAMUM LETTER PHASE-C LU
+168CE BAMUM LETTER PHASE-C KUT
+168CF BAMUM LETTER PHASE-C NJAM
+168D0 BAMUM LETTER PHASE-C NGOM
+168D1 BAMUM LETTER PHASE-C WUP
+168D2 BAMUM LETTER PHASE-C NGGUEET
+168D3 BAMUM LETTER PHASE-C NSOM
+168D4 BAMUM LETTER PHASE-C NTEN
+168D5 BAMUM LETTER PHASE-C KUOP NKAARAE
+168D6 BAMUM LETTER PHASE-C NSUN
+168D7 BAMUM LETTER PHASE-C NDAM
+168D8 BAMUM LETTER PHASE-C MA NSIEE
+168D9 BAMUM LETTER PHASE-C YAA
+168DA BAMUM LETTER PHASE-C NDAP
+168DB BAMUM LETTER PHASE-C SHUEQ
+168DC BAMUM LETTER PHASE-C SETFON
+168DD BAMUM LETTER PHASE-C MBI
+168DE BAMUM LETTER PHASE-C MAEMBA
+168DF BAMUM LETTER PHASE-C MBANYI
+168E0 BAMUM LETTER PHASE-C KEUSEUX
+168E1 BAMUM LETTER PHASE-C MBEUX
+168E2 BAMUM LETTER PHASE-C KEUM
+168E3 BAMUM LETTER PHASE-C MBAA PICKET
+168E4 BAMUM LETTER PHASE-C YUWOQ
+168E5 BAMUM LETTER PHASE-C NJEUX
+168E6 BAMUM LETTER PHASE-C MIEE
+168E7 BAMUM LETTER PHASE-C MUAE
+168E8 BAMUM LETTER PHASE-C SHIQ
+168E9 BAMUM LETTER PHASE-C KEN LAW
+168EA BAMUM LETTER PHASE-C KEN FATIGUE
+168EB BAMUM LETTER PHASE-C NGAQ
+168EC BAMUM LETTER PHASE-C NAQ
+168ED BAMUM LETTER PHASE-C LIQ
+168EE BAMUM LETTER PHASE-C PIN
+168EF BAMUM LETTER PHASE-C PEN
+168F0 BAMUM LETTER PHASE-C TET
+168F1 BAMUM LETTER PHASE-D MBUO
+168F2 BAMUM LETTER PHASE-D WAP
+168F3 BAMUM LETTER PHASE-D NJI
+168F4 BAMUM LETTER PHASE-D MFON
+168F5 BAMUM LETTER PHASE-D NJIEE
+168F6 BAMUM LETTER PHASE-D LIEE
+168F7 BAMUM LETTER PHASE-D NJEUT
+168F8 BAMUM LETTER PHASE-D NSHEE
+168F9 BAMUM LETTER PHASE-D NGGAAMAE
+168FA BAMUM LETTER PHASE-D NYAM
+168FB BAMUM LETTER PHASE-D WUAEN
+168FC BAMUM LETTER PHASE-D NGKUN
+168FD BAMUM LETTER PHASE-D SHEE
+168FE BAMUM LETTER PHASE-D NGKAP
+168FF BAMUM LETTER PHASE-D KEUAETMEUN
+16900 BAMUM LETTER PHASE-D TEUT
+16901 BAMUM LETTER PHASE-D SHEUAE
+16902 BAMUM LETTER PHASE-D NJAP
+16903 BAMUM LETTER PHASE-D SUE
+16904 BAMUM LETTER PHASE-D KET
+16905 BAMUM LETTER PHASE-D YAEMMAE
+16906 BAMUM LETTER PHASE-D KUOM
+16907 BAMUM LETTER PHASE-D SAP
+16908 BAMUM LETTER PHASE-D MFEUT
+16909 BAMUM LETTER PHASE-D NDEUX
+1690A BAMUM LETTER PHASE-D MALEERI
+1690B BAMUM LETTER PHASE-D MEUT
+1690C BAMUM LETTER PHASE-D SEUAEQ
+1690D BAMUM LETTER PHASE-D YEN
+1690E BAMUM LETTER PHASE-D NJEUAEM
+1690F BAMUM LETTER PHASE-D KEUOT MBUAE
+16910 BAMUM LETTER PHASE-D NGKEURI
+16911 BAMUM LETTER PHASE-D TU
+16912 BAMUM LETTER PHASE-D GHAA
+16913 BAMUM LETTER PHASE-D NGKYEE
+16914 BAMUM LETTER PHASE-D FEUFEUAET
+16915 BAMUM LETTER PHASE-D NDEE
+16916 BAMUM LETTER PHASE-D MGBOFUM
+16917 BAMUM LETTER PHASE-D LEUAEP
+16918 BAMUM LETTER PHASE-D NDON
+16919 BAMUM LETTER PHASE-D MONI
+1691A BAMUM LETTER PHASE-D MGBEUN
+1691B BAMUM LETTER PHASE-D PUUT
+1691C BAMUM LETTER PHASE-D MGBIEE
+1691D BAMUM LETTER PHASE-D MFO
+1691E BAMUM LETTER PHASE-D LUM
+1691F BAMUM LETTER PHASE-D NSIEEP
+16920 BAMUM LETTER PHASE-D MBAA
+16921 BAMUM LETTER PHASE-D KWAET
+16922 BAMUM LETTER PHASE-D NYET
+16923 BAMUM LETTER PHASE-D TEUAEN
+16924 BAMUM LETTER PHASE-D SOT
+16925 BAMUM LETTER PHASE-D YUWOQ
+16926 BAMUM LETTER PHASE-D KEUM
+16927 BAMUM LETTER PHASE-D RAEM
+16928 BAMUM LETTER PHASE-D TEEEE
+16929 BAMUM LETTER PHASE-D NGKEUAEQ
+1692A BAMUM LETTER PHASE-D MFEUAE
+1692B BAMUM LETTER PHASE-D NSIEET
+1692C BAMUM LETTER PHASE-D KEUP
+1692D BAMUM LETTER PHASE-D PIP
+1692E BAMUM LETTER PHASE-D PEUTAE
+1692F BAMUM LETTER PHASE-D NYUE
+16930 BAMUM LETTER PHASE-D LET
+16931 BAMUM LETTER PHASE-D NGGAAM
+16932 BAMUM LETTER PHASE-D MFIEE
+16933 BAMUM LETTER PHASE-D NGGWAEN
+16934 BAMUM LETTER PHASE-D YUOM
+16935 BAMUM LETTER PHASE-D PAP
+16936 BAMUM LETTER PHASE-D YUOP
+16937 BAMUM LETTER PHASE-D NDAM
+16938 BAMUM LETTER PHASE-D NTEUM
+16939 BAMUM LETTER PHASE-D SUAE
+1693A BAMUM LETTER PHASE-D KUN
+1693B BAMUM LETTER PHASE-D NGGEUX
+1693C BAMUM LETTER PHASE-D NGKIEE
+1693D BAMUM LETTER PHASE-D TUOT
+1693E BAMUM LETTER PHASE-D MEUN
+1693F BAMUM LETTER PHASE-D KUQ
+16940 BAMUM LETTER PHASE-D NSUM
+16941 BAMUM LETTER PHASE-D TEUN
+16942 BAMUM LETTER PHASE-D MAENJET
+16943 BAMUM LETTER PHASE-D NGGAP
+16944 BAMUM LETTER PHASE-D LEUM
+16945 BAMUM LETTER PHASE-D NGGUOM
+16946 BAMUM LETTER PHASE-D NSHUT
+16947 BAMUM LETTER PHASE-D NJUEQ
+16948 BAMUM LETTER PHASE-D GHEUAE
+16949 BAMUM LETTER PHASE-D KU
+1694A BAMUM LETTER PHASE-D REN OLD
+1694B BAMUM LETTER PHASE-D TAE
+1694C BAMUM LETTER PHASE-D TOQ
+1694D BAMUM LETTER PHASE-D NYI
+1694E BAMUM LETTER PHASE-D RII
+1694F BAMUM LETTER PHASE-D LEEEE
+16950 BAMUM LETTER PHASE-D MEEEE
+16951 BAMUM LETTER PHASE-D M
+16952 BAMUM LETTER PHASE-D SUU
+16953 BAMUM LETTER PHASE-D MU
+16954 BAMUM LETTER PHASE-D SHII
+16955 BAMUM LETTER PHASE-D SHEUX
+16956 BAMUM LETTER PHASE-D KYEE
+16957 BAMUM LETTER PHASE-D NU
+16958 BAMUM LETTER PHASE-D SHU
+16959 BAMUM LETTER PHASE-D NTEE
+1695A BAMUM LETTER PHASE-D PEE
+1695B BAMUM LETTER PHASE-D NI
+1695C BAMUM LETTER PHASE-D SHOQ
+1695D BAMUM LETTER PHASE-D PUQ
+1695E BAMUM LETTER PHASE-D MVOP
+1695F BAMUM LETTER PHASE-D LOQ
+16960 BAMUM LETTER PHASE-D REN MUCH
+16961 BAMUM LETTER PHASE-D TI
+16962 BAMUM LETTER PHASE-D NTUU
+16963 BAMUM LETTER PHASE-D MBAA SEVEN
+16964 BAMUM LETTER PHASE-D SAQ
+16965 BAMUM LETTER PHASE-D FAA
+16966 BAMUM LETTER PHASE-E NDAP
+16967 BAMUM LETTER PHASE-E TOON
+16968 BAMUM LETTER PHASE-E MBEUM
+16969 BAMUM LETTER PHASE-E LAP
+1696A BAMUM LETTER PHASE-E VOM
+1696B BAMUM LETTER PHASE-E LOON
+1696C BAMUM LETTER PHASE-E PAA
+1696D BAMUM LETTER PHASE-E SOM
+1696E BAMUM LETTER PHASE-E RAQ
+1696F BAMUM LETTER PHASE-E NSHUOP
+16970 BAMUM LETTER PHASE-E NDUN
+16971 BAMUM LETTER PHASE-E PUAE
+16972 BAMUM LETTER PHASE-E TAM
+16973 BAMUM LETTER PHASE-E NGKA
+16974 BAMUM LETTER PHASE-E KPEUX
+16975 BAMUM LETTER PHASE-E WUO
+16976 BAMUM LETTER PHASE-E SEE
+16977 BAMUM LETTER PHASE-E NGGEUAET
+16978 BAMUM LETTER PHASE-E PAAM
+16979 BAMUM LETTER PHASE-E TOO
+1697A BAMUM LETTER PHASE-E KUOP
+1697B BAMUM LETTER PHASE-E LOM
+1697C BAMUM LETTER PHASE-E NSHIEE
+1697D BAMUM LETTER PHASE-E NGOP
+1697E BAMUM LETTER PHASE-E MAEM
+1697F BAMUM LETTER PHASE-E NGKEUX
+16980 BAMUM LETTER PHASE-E NGOQ
+16981 BAMUM LETTER PHASE-E NSHUE
+16982 BAMUM LETTER PHASE-E RIMGBA
+16983 BAMUM LETTER PHASE-E NJEUX
+16984 BAMUM LETTER PHASE-E PEEM
+16985 BAMUM LETTER PHASE-E SAA
+16986 BAMUM LETTER PHASE-E NGGURAE
+16987 BAMUM LETTER PHASE-E MGBA
+16988 BAMUM LETTER PHASE-E GHEUX
+16989 BAMUM LETTER PHASE-E NGKEUAEM
+1698A BAMUM LETTER PHASE-E NJAEMLI
+1698B BAMUM LETTER PHASE-E MAP
+1698C BAMUM LETTER PHASE-E LOOT
+1698D BAMUM LETTER PHASE-E NGGEEEE
+1698E BAMUM LETTER PHASE-E NDIQ
+1698F BAMUM LETTER PHASE-E TAEN NTEUM
+16990 BAMUM LETTER PHASE-E SET
+16991 BAMUM LETTER PHASE-E PUM
+16992 BAMUM LETTER PHASE-E NDAA SOFTNESS
+16993 BAMUM LETTER PHASE-E NGGUAESHAE NYAM
+16994 BAMUM LETTER PHASE-E YIEE
+16995 BAMUM LETTER PHASE-E GHEUN
+16996 BAMUM LETTER PHASE-E TUAE
+16997 BAMUM LETTER PHASE-E YEUAE
+16998 BAMUM LETTER PHASE-E PO
+16999 BAMUM LETTER PHASE-E TUMAE
+1699A BAMUM LETTER PHASE-E KEUAE
+1699B BAMUM LETTER PHASE-E SUAEN
+1699C BAMUM LETTER PHASE-E TEUAEQ
+1699D BAMUM LETTER PHASE-E VEUAE
+1699E BAMUM LETTER PHASE-E WEUX
+1699F BAMUM LETTER PHASE-E LAAM
+169A0 BAMUM LETTER PHASE-E PU
+169A1 BAMUM LETTER PHASE-E TAAQ
+169A2 BAMUM LETTER PHASE-E GHAAMAE
+169A3 BAMUM LETTER PHASE-E NGEUREUT
+169A4 BAMUM LETTER PHASE-E SHEUAEQ
+169A5 BAMUM LETTER PHASE-E MGBEN
+169A6 BAMUM LETTER PHASE-E MBEE
+169A7 BAMUM LETTER PHASE-E NZAQ
+169A8 BAMUM LETTER PHASE-E NKOM
+169A9 BAMUM LETTER PHASE-E GBET
+169AA BAMUM LETTER PHASE-E TUM
+169AB BAMUM LETTER PHASE-E KUET
+169AC BAMUM LETTER PHASE-E YAP
+169AD BAMUM LETTER PHASE-E NYI CLEAVER
+169AE BAMUM LETTER PHASE-E YIT
+169AF BAMUM LETTER PHASE-E MFEUQ
+169B0 BAMUM LETTER PHASE-E NDIAQ
+169B1 BAMUM LETTER PHASE-E PIEEQ
+169B2 BAMUM LETTER PHASE-E YUEQ
+169B3 BAMUM LETTER PHASE-E LEUAEM
+169B4 BAMUM LETTER PHASE-E FUE
+169B5 BAMUM LETTER PHASE-E GBEUX
+169B6 BAMUM LETTER PHASE-E NGKUP
+169B7 BAMUM LETTER PHASE-E KET
+169B8 BAMUM LETTER PHASE-E MAE
+169B9 BAMUM LETTER PHASE-E NGKAAMI
+169BA BAMUM LETTER PHASE-E GHET
+169BB BAMUM LETTER PHASE-E FA
+169BC BAMUM LETTER PHASE-E NTUM
+169BD BAMUM LETTER PHASE-E PEUT
+169BE BAMUM LETTER PHASE-E YEUM
+169BF BAMUM LETTER PHASE-E NGGEUAE
+169C0 BAMUM LETTER PHASE-E NYI BETWEEN
+169C1 BAMUM LETTER PHASE-E NZUQ
+169C2 BAMUM LETTER PHASE-E POON
+169C3 BAMUM LETTER PHASE-E MIEE
+169C4 BAMUM LETTER PHASE-E FUET
+169C5 BAMUM LETTER PHASE-E NAE
+169C6 BAMUM LETTER PHASE-E MUAE
+169C7 BAMUM LETTER PHASE-E GHEUAE
+169C8 BAMUM LETTER PHASE-E FU I
+169C9 BAMUM LETTER PHASE-E MVI
+169CA BAMUM LETTER PHASE-E PUAQ
+169CB BAMUM LETTER PHASE-E NGKUM
+169CC BAMUM LETTER PHASE-E KUT
+169CD BAMUM LETTER PHASE-E PIET
+169CE BAMUM LETTER PHASE-E NTAP
+169CF BAMUM LETTER PHASE-E YEUAET
+169D0 BAMUM LETTER PHASE-E NGGUP
+169D1 BAMUM LETTER PHASE-E PA PEOPLE
+169D2 BAMUM LETTER PHASE-E FU CALL
+169D3 BAMUM LETTER PHASE-E FOM
+169D4 BAMUM LETTER PHASE-E NJEE
+169D5 BAMUM LETTER PHASE-E A
+169D6 BAMUM LETTER PHASE-E TOQ
+169D7 BAMUM LETTER PHASE-E O
+169D8 BAMUM LETTER PHASE-E I
+169D9 BAMUM LETTER PHASE-E LAQ
+169DA BAMUM LETTER PHASE-E PA PLURAL
+169DB BAMUM LETTER PHASE-E TAA
+169DC BAMUM LETTER PHASE-E TAQ
+169DD BAMUM LETTER PHASE-E NDAA MY HOUSE
+169DE BAMUM LETTER PHASE-E SHIQ
+169DF BAMUM LETTER PHASE-E YEUX
+169E0 BAMUM LETTER PHASE-E NGUAE
+169E1 BAMUM LETTER PHASE-E YUAEN
+169E2 BAMUM LETTER PHASE-E YOQ SWIMMING
+169E3 BAMUM LETTER PHASE-E YOQ COVER
+169E4 BAMUM LETTER PHASE-E YUQ
+169E5 BAMUM LETTER PHASE-E YUN
+169E6 BAMUM LETTER PHASE-E KEUX
+169E7 BAMUM LETTER PHASE-E PEUX
+169E8 BAMUM LETTER PHASE-E NJEE EPOCH
+169E9 BAMUM LETTER PHASE-E PUE
+169EA BAMUM LETTER PHASE-E WUE
+169EB BAMUM LETTER PHASE-E FEE
+169EC BAMUM LETTER PHASE-E VEE
+169ED BAMUM LETTER PHASE-E LU
+169EE BAMUM LETTER PHASE-E MI
+169EF BAMUM LETTER PHASE-E REUX
+169F0 BAMUM LETTER PHASE-E RAE
+169F1 BAMUM LETTER PHASE-E NGUAET
+169F2 BAMUM LETTER PHASE-E NGA
+169F3 BAMUM LETTER PHASE-E SHO
+169F4 BAMUM LETTER PHASE-E SHOQ
+169F5 BAMUM LETTER PHASE-E FU REMEDY
+169F6 BAMUM LETTER PHASE-E NA
+169F7 BAMUM LETTER PHASE-E PI
+169F8 BAMUM LETTER PHASE-E LOQ
+169F9 BAMUM LETTER PHASE-E KO
+169FA BAMUM LETTER PHASE-E MEN
+169FB BAMUM LETTER PHASE-E MA
+169FC BAMUM LETTER PHASE-E MAQ
+169FD BAMUM LETTER PHASE-E TEU
+169FE BAMUM LETTER PHASE-E KI
+169FF BAMUM LETTER PHASE-E MON
+16A00 BAMUM LETTER PHASE-E TEN
+16A01 BAMUM LETTER PHASE-E FAQ
+16A02 BAMUM LETTER PHASE-E GHOM
+16A03 BAMUM LETTER PHASE-F KA
+16A04 BAMUM LETTER PHASE-F U
+16A05 BAMUM LETTER PHASE-F KU
+16A06 BAMUM LETTER PHASE-F EE
+16A07 BAMUM LETTER PHASE-F REE
+16A08 BAMUM LETTER PHASE-F TAE
+16A09 BAMUM LETTER PHASE-F NYI
+16A0A BAMUM LETTER PHASE-F LA
+16A0B BAMUM LETTER PHASE-F RII
+16A0C BAMUM LETTER PHASE-F RIEE
+16A0D BAMUM LETTER PHASE-F MEEEE
+16A0E BAMUM LETTER PHASE-F TAA
+16A0F BAMUM LETTER PHASE-F NDAA
+16A10 BAMUM LETTER PHASE-F NJAEM
+16A11 BAMUM LETTER PHASE-F M
+16A12 BAMUM LETTER PHASE-F SUU
+16A13 BAMUM LETTER PHASE-F SHII
+16A14 BAMUM LETTER PHASE-F SI
+16A15 BAMUM LETTER PHASE-F SEUX
+16A16 BAMUM LETTER PHASE-F KYEE
+16A17 BAMUM LETTER PHASE-F KET
+16A18 BAMUM LETTER PHASE-F NUAE
+16A19 BAMUM LETTER PHASE-F NU
+16A1A BAMUM LETTER PHASE-F NJUAE
+16A1B BAMUM LETTER PHASE-F YOQ
+16A1C BAMUM LETTER PHASE-F SHU
+16A1D BAMUM LETTER PHASE-F YA
+16A1E BAMUM LETTER PHASE-F NSHA
+16A1F BAMUM LETTER PHASE-F PEUX
+16A20 BAMUM LETTER PHASE-F NTEE
+16A21 BAMUM LETTER PHASE-F WUE
+16A22 BAMUM LETTER PHASE-F PEE
+16A23 BAMUM LETTER PHASE-F RU
+16A24 BAMUM LETTER PHASE-F NI
+16A25 BAMUM LETTER PHASE-F REUX
+16A26 BAMUM LETTER PHASE-F KEN
+16A27 BAMUM LETTER PHASE-F NGKWAEN
+16A28 BAMUM LETTER PHASE-F NGGA
+16A29 BAMUM LETTER PHASE-F SHO
+16A2A BAMUM LETTER PHASE-F PUAE
+16A2B BAMUM LETTER PHASE-F FOM
+16A2C BAMUM LETTER PHASE-F WA
+16A2D BAMUM LETTER PHASE-F LI
+16A2E BAMUM LETTER PHASE-F LOQ
+16A2F BAMUM LETTER PHASE-F KO
+16A30 BAMUM LETTER PHASE-F MBEN
+16A31 BAMUM LETTER PHASE-F REN
+16A32 BAMUM LETTER PHASE-F MA
+16A33 BAMUM LETTER PHASE-F MO
+16A34 BAMUM LETTER PHASE-F MBAA
+16A35 BAMUM LETTER PHASE-F TET
+16A36 BAMUM LETTER PHASE-F KPA
+16A37 BAMUM LETTER PHASE-F SAMBA
+16A38 BAMUM LETTER PHASE-F VUEQ
+1B000 KATAKANA LETTER ARCHAIC E
+1B001 HIRAGANA LETTER ARCHAIC YE
+1D000 BYZANTINE MUSICAL SYMBOL PSILI
+1D001 BYZANTINE MUSICAL SYMBOL DASEIA
+1D002 BYZANTINE MUSICAL SYMBOL PERISPOMENI
+1D003 BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
+1D004 BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
+1D005 BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
+1D006 BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
+1D007 BYZANTINE MUSICAL SYMBOL KATHISTI
+1D008 BYZANTINE MUSICAL SYMBOL SYRMATIKI
+1D009 BYZANTINE MUSICAL SYMBOL PARAKLITIKI
+1D00A BYZANTINE MUSICAL SYMBOL YPOKRISIS
+1D00B BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
+1D00C BYZANTINE MUSICAL SYMBOL KREMASTI
+1D00D BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
+1D00E BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
+1D00F BYZANTINE MUSICAL SYMBOL TELEIA
+1D010 BYZANTINE MUSICAL SYMBOL KENTIMATA
+1D011 BYZANTINE MUSICAL SYMBOL APOSTROFOS
+1D012 BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
+1D013 BYZANTINE MUSICAL SYMBOL SYNEVMA
+1D014 BYZANTINE MUSICAL SYMBOL THITA
+1D015 BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
+1D016 BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
+1D017 BYZANTINE MUSICAL SYMBOL PSILON
+1D018 BYZANTINE MUSICAL SYMBOL CHAMILON
+1D019 BYZANTINE MUSICAL SYMBOL VATHY
+1D01A BYZANTINE MUSICAL SYMBOL ISON ARCHAION
+1D01B BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
+1D01C BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
+1D01D BYZANTINE MUSICAL SYMBOL SAXIMATA
+1D01E BYZANTINE MUSICAL SYMBOL PARICHON
+1D01F BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
+1D020 BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
+1D021 BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
+1D022 BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
+1D023 BYZANTINE MUSICAL SYMBOL APOTHEMA
+1D024 BYZANTINE MUSICAL SYMBOL KLASMA
+1D025 BYZANTINE MUSICAL SYMBOL REVMA
+1D026 BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
+1D027 BYZANTINE MUSICAL SYMBOL TINAGMA
+1D028 BYZANTINE MUSICAL SYMBOL ANATRICHISMA
+1D029 BYZANTINE MUSICAL SYMBOL SEISMA
+1D02A BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
+1D02B BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
+1D02C BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
+1D02D BYZANTINE MUSICAL SYMBOL THEMA
+1D02E BYZANTINE MUSICAL SYMBOL LEMOI
+1D02F BYZANTINE MUSICAL SYMBOL DYO
+1D030 BYZANTINE MUSICAL SYMBOL TRIA
+1D031 BYZANTINE MUSICAL SYMBOL TESSERA
+1D032 BYZANTINE MUSICAL SYMBOL KRATIMATA
+1D033 BYZANTINE MUSICAL SYMBOL APESO EXO NEO
+1D034 BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
+1D035 BYZANTINE MUSICAL SYMBOL IMIFTHORA
+1D036 BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
+1D037 BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
+1D038 BYZANTINE MUSICAL SYMBOL PELASTON
+1D039 BYZANTINE MUSICAL SYMBOL PSIFISTON
+1D03A BYZANTINE MUSICAL SYMBOL KONTEVMA
+1D03B BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
+1D03C BYZANTINE MUSICAL SYMBOL RAPISMA
+1D03D BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
+1D03E BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
+1D03F BYZANTINE MUSICAL SYMBOL ICHADIN
+1D040 BYZANTINE MUSICAL SYMBOL NANA
+1D041 BYZANTINE MUSICAL SYMBOL PETASMA
+1D042 BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
+1D043 BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
+1D044 BYZANTINE MUSICAL SYMBOL STRAGGISMATA
+1D045 BYZANTINE MUSICAL SYMBOL GRONTHISMATA
+1D046 BYZANTINE MUSICAL SYMBOL ISON NEO
+1D047 BYZANTINE MUSICAL SYMBOL OLIGON NEO
+1D048 BYZANTINE MUSICAL SYMBOL OXEIA NEO
+1D049 BYZANTINE MUSICAL SYMBOL PETASTI
+1D04A BYZANTINE MUSICAL SYMBOL KOUFISMA
+1D04B BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
+1D04C BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
+1D04D BYZANTINE MUSICAL SYMBOL PELASTON NEO
+1D04E BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
+1D04F BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
+1D050 BYZANTINE MUSICAL SYMBOL YPSILI
+1D051 BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
+1D052 BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
+1D053 BYZANTINE MUSICAL SYMBOL YPORROI
+1D054 BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
+1D055 BYZANTINE MUSICAL SYMBOL ELAFRON
+1D056 BYZANTINE MUSICAL SYMBOL CHAMILI
+1D057 BYZANTINE MUSICAL SYMBOL MIKRON ISON
+1D058 BYZANTINE MUSICAL SYMBOL VAREIA NEO
+1D059 BYZANTINE MUSICAL SYMBOL PIASMA NEO
+1D05A BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
+1D05B BYZANTINE MUSICAL SYMBOL OMALON
+1D05C BYZANTINE MUSICAL SYMBOL ANTIKENOMA
+1D05D BYZANTINE MUSICAL SYMBOL LYGISMA
+1D05E BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
+1D05F BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
+1D060 BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
+1D061 BYZANTINE MUSICAL SYMBOL KYLISMA
+1D062 BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
+1D063 BYZANTINE MUSICAL SYMBOL TROMIKON NEO
+1D064 BYZANTINE MUSICAL SYMBOL EKSTREPTON
+1D065 BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
+1D066 BYZANTINE MUSICAL SYMBOL SYRMA
+1D067 BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
+1D068 BYZANTINE MUSICAL SYMBOL EPEGERMA
+1D069 BYZANTINE MUSICAL SYMBOL SEISMA NEO
+1D06A BYZANTINE MUSICAL SYMBOL XIRON KLASMA
+1D06B BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
+1D06C BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
+1D06D BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
+1D06E BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
+1D06F BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
+1D070 BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
+1D071 BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
+1D072 BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
+1D073 BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
+1D074 BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
+1D075 BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
+1D076 BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
+1D077 BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
+1D078 BYZANTINE MUSICAL SYMBOL THEMA APLOUN
+1D079 BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
+1D07A BYZANTINE MUSICAL SYMBOL KATAVASMA
+1D07B BYZANTINE MUSICAL SYMBOL ENDOFONON
+1D07C BYZANTINE MUSICAL SYMBOL YFEN KATO
+1D07D BYZANTINE MUSICAL SYMBOL YFEN ANO
+1D07E BYZANTINE MUSICAL SYMBOL STAVROS
+1D07F BYZANTINE MUSICAL SYMBOL KLASMA ANO
+1D080 BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
+1D081 BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
+1D082 BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
+1D083 BYZANTINE MUSICAL SYMBOL KRATIMA NEO
+1D084 BYZANTINE MUSICAL SYMBOL APODERMA NEO
+1D085 BYZANTINE MUSICAL SYMBOL APLI
+1D086 BYZANTINE MUSICAL SYMBOL DIPLI
+1D087 BYZANTINE MUSICAL SYMBOL TRIPLI
+1D088 BYZANTINE MUSICAL SYMBOL TETRAPLI
+1D089 BYZANTINE MUSICAL SYMBOL KORONIS
+1D08A BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
+1D08B BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
+1D08C BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
+1D08D BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
+1D08E BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
+1D08F BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
+1D090 BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
+1D091 BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
+1D092 BYZANTINE MUSICAL SYMBOL DIGORGON
+1D093 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
+1D094 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
+1D095 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
+1D096 BYZANTINE MUSICAL SYMBOL TRIGORGON
+1D097 BYZANTINE MUSICAL SYMBOL ARGON
+1D098 BYZANTINE MUSICAL SYMBOL IMIDIARGON
+1D099 BYZANTINE MUSICAL SYMBOL DIARGON
+1D09A BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
+1D09B BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
+1D09C BYZANTINE MUSICAL SYMBOL AGOGI ARGI
+1D09D BYZANTINE MUSICAL SYMBOL AGOGI METRIA
+1D09E BYZANTINE MUSICAL SYMBOL AGOGI MESI
+1D09F BYZANTINE MUSICAL SYMBOL AGOGI GORGI
+1D0A0 BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
+1D0A1 BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
+1D0A2 BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
+1D0A3 BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
+1D0A4 BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
+1D0A5 BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
+1D0A6 BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
+1D0A7 BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
+1D0A8 BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
+1D0A9 BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
+1D0AA BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
+1D0AB BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
+1D0AC BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
+1D0AD BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
+1D0AE BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
+1D0AF BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
+1D0B0 BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
+1D0B1 BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
+1D0B2 BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
+1D0B3 BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
+1D0B4 BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
+1D0B5 BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
+1D0B6 BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
+1D0B7 BYZANTINE MUSICAL SYMBOL IMIFONON
+1D0B8 BYZANTINE MUSICAL SYMBOL IMIFTHORON
+1D0B9 BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
+1D0BA BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
+1D0BB BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
+1D0BC BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
+1D0BD BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
+1D0BE BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
+1D0BF BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
+1D0C0 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
+1D0C1 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
+1D0C2 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
+1D0C3 BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
+1D0C4 BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
+1D0C5 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS
+1D0C5 BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
+1D0C6 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
+1D0C7 BYZANTINE MUSICAL SYMBOL FTHORA NENANO
+1D0C8 BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
+1D0C9 BYZANTINE MUSICAL SYMBOL CHROA KLITON
+1D0CA BYZANTINE MUSICAL SYMBOL CHROA SPATHI
+1D0CB BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
+1D0CC BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
+1D0CD BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
+1D0CE BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
+1D0CF BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
+1D0D0 BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
+1D0D1 BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D2 BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
+1D0D3 BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
+1D0D4 BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
+1D0D5 BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D6 BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
+1D0D7 BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
+1D0D8 BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
+1D0D9 BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
+1D0DA BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
+1D0DB BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
+1D0DC BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
+1D0DD BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
+1D0DE BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
+1D0DF BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
+1D0E0 BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
+1D0E1 BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
+1D0E2 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
+1D0E3 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
+1D0E4 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
+1D0E5 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
+1D0E6 BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
+1D0E7 BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
+1D0E8 BYZANTINE MUSICAL SYMBOL STIGMA
+1D0E9 BYZANTINE MUSICAL SYMBOL ARKTIKO PA
+1D0EA BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
+1D0EB BYZANTINE MUSICAL SYMBOL ARKTIKO GA
+1D0EC BYZANTINE MUSICAL SYMBOL ARKTIKO DI
+1D0ED BYZANTINE MUSICAL SYMBOL ARKTIKO KE
+1D0EE BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
+1D0EF BYZANTINE MUSICAL SYMBOL ARKTIKO NI
+1D0F0 BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
+1D0F1 BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
+1D0F2 BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
+1D0F3 BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
+1D0F4 BYZANTINE MUSICAL SYMBOL KLASMA KATO
+1D0F5 BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D100 MUSICAL SYMBOL SINGLE BARLINE
+1D101 MUSICAL SYMBOL DOUBLE BARLINE
+1D102 MUSICAL SYMBOL FINAL BARLINE
+1D103 MUSICAL SYMBOL REVERSE FINAL BARLINE
+1D104 MUSICAL SYMBOL DASHED BARLINE
+1D105 MUSICAL SYMBOL SHORT BARLINE
+1D106 MUSICAL SYMBOL LEFT REPEAT SIGN
+1D107 MUSICAL SYMBOL RIGHT REPEAT SIGN
+1D108 MUSICAL SYMBOL REPEAT DOTS
+1D109 MUSICAL SYMBOL DAL SEGNO
+1D10A MUSICAL SYMBOL DA CAPO
+1D10B MUSICAL SYMBOL SEGNO
+1D10C MUSICAL SYMBOL CODA
+1D10D MUSICAL SYMBOL REPEATED FIGURE-1
+1D10E MUSICAL SYMBOL REPEATED FIGURE-2
+1D10F MUSICAL SYMBOL REPEATED FIGURE-3
+1D110 MUSICAL SYMBOL FERMATA
+1D111 MUSICAL SYMBOL FERMATA BELOW
+1D112 MUSICAL SYMBOL BREATH MARK
+1D113 MUSICAL SYMBOL CAESURA
+1D114 MUSICAL SYMBOL BRACE
+1D115 MUSICAL SYMBOL BRACKET
+1D116 MUSICAL SYMBOL ONE-LINE STAFF
+1D117 MUSICAL SYMBOL TWO-LINE STAFF
+1D118 MUSICAL SYMBOL THREE-LINE STAFF
+1D119 MUSICAL SYMBOL FOUR-LINE STAFF
+1D11A MUSICAL SYMBOL FIVE-LINE STAFF
+1D11B MUSICAL SYMBOL SIX-LINE STAFF
+1D11C MUSICAL SYMBOL SIX-STRING FRETBOARD
+1D11D MUSICAL SYMBOL FOUR-STRING FRETBOARD
+1D11E MUSICAL SYMBOL G CLEF
+1D11F MUSICAL SYMBOL G CLEF OTTAVA ALTA
+1D120 MUSICAL SYMBOL G CLEF OTTAVA BASSA
+1D121 MUSICAL SYMBOL C CLEF
+1D122 MUSICAL SYMBOL F CLEF
+1D123 MUSICAL SYMBOL F CLEF OTTAVA ALTA
+1D124 MUSICAL SYMBOL F CLEF OTTAVA BASSA
+1D125 MUSICAL SYMBOL DRUM CLEF-1
+1D126 MUSICAL SYMBOL DRUM CLEF-2
+1D129 MUSICAL SYMBOL MULTIPLE MEASURE REST
+1D12A MUSICAL SYMBOL DOUBLE SHARP
+1D12B MUSICAL SYMBOL DOUBLE FLAT
+1D12C MUSICAL SYMBOL FLAT UP
+1D12D MUSICAL SYMBOL FLAT DOWN
+1D12E MUSICAL SYMBOL NATURAL UP
+1D12F MUSICAL SYMBOL NATURAL DOWN
+1D130 MUSICAL SYMBOL SHARP UP
+1D131 MUSICAL SYMBOL SHARP DOWN
+1D132 MUSICAL SYMBOL QUARTER TONE SHARP
+1D133 MUSICAL SYMBOL QUARTER TONE FLAT
+1D134 MUSICAL SYMBOL COMMON TIME
+1D135 MUSICAL SYMBOL CUT TIME
+1D136 MUSICAL SYMBOL OTTAVA ALTA
+1D137 MUSICAL SYMBOL OTTAVA BASSA
+1D138 MUSICAL SYMBOL QUINDICESIMA ALTA
+1D139 MUSICAL SYMBOL QUINDICESIMA BASSA
+1D13A MUSICAL SYMBOL MULTI REST
+1D13B MUSICAL SYMBOL WHOLE REST
+1D13C MUSICAL SYMBOL HALF REST
+1D13D MUSICAL SYMBOL QUARTER REST
+1D13E MUSICAL SYMBOL EIGHTH REST
+1D13F MUSICAL SYMBOL SIXTEENTH REST
+1D140 MUSICAL SYMBOL THIRTY-SECOND REST
+1D141 MUSICAL SYMBOL SIXTY-FOURTH REST
+1D142 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
+1D143 MUSICAL SYMBOL X NOTEHEAD
+1D144 MUSICAL SYMBOL PLUS NOTEHEAD
+1D145 MUSICAL SYMBOL CIRCLE X NOTEHEAD
+1D146 MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
+1D147 MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
+1D148 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
+1D149 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
+1D14A MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
+1D14B MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
+1D14C MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
+1D14D MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
+1D14E MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
+1D14F MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
+1D150 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
+1D151 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
+1D152 MUSICAL SYMBOL MOON NOTEHEAD WHITE
+1D153 MUSICAL SYMBOL MOON NOTEHEAD BLACK
+1D154 MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
+1D155 MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
+1D156 MUSICAL SYMBOL PARENTHESIS NOTEHEAD
+1D157 MUSICAL SYMBOL VOID NOTEHEAD
+1D158 MUSICAL SYMBOL NOTEHEAD BLACK
+1D159 MUSICAL SYMBOL NULL NOTEHEAD
+1D15A MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
+1D15B MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
+1D15C MUSICAL SYMBOL BREVE
+1D15D MUSICAL SYMBOL WHOLE NOTE
+1D15E MUSICAL SYMBOL HALF NOTE
+1D15F MUSICAL SYMBOL QUARTER NOTE
+1D160 MUSICAL SYMBOL EIGHTH NOTE
+1D161 MUSICAL SYMBOL SIXTEENTH NOTE
+1D162 MUSICAL SYMBOL THIRTY-SECOND NOTE
+1D163 MUSICAL SYMBOL SIXTY-FOURTH NOTE
+1D164 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
+1D165 MUSICAL SYMBOL COMBINING STEM
+1D166 MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
+1D167 MUSICAL SYMBOL COMBINING TREMOLO-1
+1D168 MUSICAL SYMBOL COMBINING TREMOLO-2
+1D169 MUSICAL SYMBOL COMBINING TREMOLO-3
+1D16A MUSICAL SYMBOL FINGERED TREMOLO-1
+1D16B MUSICAL SYMBOL FINGERED TREMOLO-2
+1D16C MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16D MUSICAL SYMBOL COMBINING AUGMENTATION DOT
+1D16E MUSICAL SYMBOL COMBINING FLAG-1
+1D16F MUSICAL SYMBOL COMBINING FLAG-2
+1D170 MUSICAL SYMBOL COMBINING FLAG-3
+1D171 MUSICAL SYMBOL COMBINING FLAG-4
+1D172 MUSICAL SYMBOL COMBINING FLAG-5
+1D173 MUSICAL SYMBOL BEGIN BEAM
+1D174 MUSICAL SYMBOL END BEAM
+1D175 MUSICAL SYMBOL BEGIN TIE
+1D176 MUSICAL SYMBOL END TIE
+1D177 MUSICAL SYMBOL BEGIN SLUR
+1D178 MUSICAL SYMBOL END SLUR
+1D179 MUSICAL SYMBOL BEGIN PHRASE
+1D17A MUSICAL SYMBOL END PHRASE
+1D17B MUSICAL SYMBOL COMBINING ACCENT
+1D17C MUSICAL SYMBOL COMBINING STACCATO
+1D17D MUSICAL SYMBOL COMBINING TENUTO
+1D17E MUSICAL SYMBOL COMBINING STACCATISSIMO
+1D17F MUSICAL SYMBOL COMBINING MARCATO
+1D180 MUSICAL SYMBOL COMBINING MARCATO-STACCATO
+1D181 MUSICAL SYMBOL COMBINING ACCENT-STACCATO
+1D182 MUSICAL SYMBOL COMBINING LOURE
+1D183 MUSICAL SYMBOL ARPEGGIATO UP
+1D184 MUSICAL SYMBOL ARPEGGIATO DOWN
+1D185 MUSICAL SYMBOL COMBINING DOIT
+1D186 MUSICAL SYMBOL COMBINING RIP
+1D187 MUSICAL SYMBOL COMBINING FLIP
+1D188 MUSICAL SYMBOL COMBINING SMEAR
+1D189 MUSICAL SYMBOL COMBINING BEND
+1D18A MUSICAL SYMBOL COMBINING DOUBLE TONGUE
+1D18B MUSICAL SYMBOL COMBINING TRIPLE TONGUE
+1D18C MUSICAL SYMBOL RINFORZANDO
+1D18D MUSICAL SYMBOL SUBITO
+1D18E MUSICAL SYMBOL Z
+1D18F MUSICAL SYMBOL PIANO
+1D190 MUSICAL SYMBOL MEZZO
+1D191 MUSICAL SYMBOL FORTE
+1D192 MUSICAL SYMBOL CRESCENDO
+1D193 MUSICAL SYMBOL DECRESCENDO
+1D194 MUSICAL SYMBOL GRACE NOTE SLASH
+1D195 MUSICAL SYMBOL GRACE NOTE NO SLASH
+1D196 MUSICAL SYMBOL TR
+1D197 MUSICAL SYMBOL TURN
+1D198 MUSICAL SYMBOL INVERTED TURN
+1D199 MUSICAL SYMBOL TURN SLASH
+1D19A MUSICAL SYMBOL TURN UP
+1D19B MUSICAL SYMBOL ORNAMENT STROKE-1
+1D19C MUSICAL SYMBOL ORNAMENT STROKE-2
+1D19D MUSICAL SYMBOL ORNAMENT STROKE-3
+1D19E MUSICAL SYMBOL ORNAMENT STROKE-4
+1D19F MUSICAL SYMBOL ORNAMENT STROKE-5
+1D1A0 MUSICAL SYMBOL ORNAMENT STROKE-6
+1D1A1 MUSICAL SYMBOL ORNAMENT STROKE-7
+1D1A2 MUSICAL SYMBOL ORNAMENT STROKE-8
+1D1A3 MUSICAL SYMBOL ORNAMENT STROKE-9
+1D1A4 MUSICAL SYMBOL ORNAMENT STROKE-10
+1D1A5 MUSICAL SYMBOL ORNAMENT STROKE-11
+1D1A6 MUSICAL SYMBOL HAUPTSTIMME
+1D1A7 MUSICAL SYMBOL NEBENSTIMME
+1D1A8 MUSICAL SYMBOL END OF STIMME
+1D1A9 MUSICAL SYMBOL DEGREE SLASH
+1D1AA MUSICAL SYMBOL COMBINING DOWN BOW
+1D1AB MUSICAL SYMBOL COMBINING UP BOW
+1D1AC MUSICAL SYMBOL COMBINING HARMONIC
+1D1AD MUSICAL SYMBOL COMBINING SNAP PIZZICATO
+1D1AE MUSICAL SYMBOL PEDAL MARK
+1D1AF MUSICAL SYMBOL PEDAL UP MARK
+1D1B0 MUSICAL SYMBOL HALF PEDAL MARK
+1D1B1 MUSICAL SYMBOL GLISSANDO UP
+1D1B2 MUSICAL SYMBOL GLISSANDO DOWN
+1D1B3 MUSICAL SYMBOL WITH FINGERNAILS
+1D1B4 MUSICAL SYMBOL DAMP
+1D1B5 MUSICAL SYMBOL DAMP ALL
+1D1B6 MUSICAL SYMBOL MAXIMA
+1D1B7 MUSICAL SYMBOL LONGA
+1D1B8 MUSICAL SYMBOL BREVIS
+1D1B9 MUSICAL SYMBOL SEMIBREVIS WHITE
+1D1BA MUSICAL SYMBOL SEMIBREVIS BLACK
+1D1BB MUSICAL SYMBOL MINIMA
+1D1BC MUSICAL SYMBOL MINIMA BLACK
+1D1BD MUSICAL SYMBOL SEMIMINIMA WHITE
+1D1BE MUSICAL SYMBOL SEMIMINIMA BLACK
+1D1BF MUSICAL SYMBOL FUSA WHITE
+1D1C0 MUSICAL SYMBOL FUSA BLACK
+1D1C1 MUSICAL SYMBOL LONGA PERFECTA REST
+1D1C2 MUSICAL SYMBOL LONGA IMPERFECTA REST
+1D1C3 MUSICAL SYMBOL BREVIS REST
+1D1C4 MUSICAL SYMBOL SEMIBREVIS REST
+1D1C5 MUSICAL SYMBOL MINIMA REST
+1D1C6 MUSICAL SYMBOL SEMIMINIMA REST
+1D1C7 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
+1D1C8 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
+1D1C9 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
+1D1CA MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
+1D1CB MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
+1D1CC MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
+1D1CD MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
+1D1CE MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
+1D1CF MUSICAL SYMBOL CROIX
+1D1D0 MUSICAL SYMBOL GREGORIAN C CLEF
+1D1D1 MUSICAL SYMBOL GREGORIAN F CLEF
+1D1D2 MUSICAL SYMBOL SQUARE B
+1D1D3 MUSICAL SYMBOL VIRGA
+1D1D4 MUSICAL SYMBOL PODATUS
+1D1D5 MUSICAL SYMBOL CLIVIS
+1D1D6 MUSICAL SYMBOL SCANDICUS
+1D1D7 MUSICAL SYMBOL CLIMACUS
+1D1D8 MUSICAL SYMBOL TORCULUS
+1D1D9 MUSICAL SYMBOL PORRECTUS
+1D1DA MUSICAL SYMBOL PORRECTUS FLEXUS
+1D1DB MUSICAL SYMBOL SCANDICUS FLEXUS
+1D1DC MUSICAL SYMBOL TORCULUS RESUPINUS
+1D1DD MUSICAL SYMBOL PES SUBPUNCTIS
+1D200 GREEK VOCAL NOTATION SYMBOL-1
+1D201 GREEK VOCAL NOTATION SYMBOL-2
+1D202 GREEK VOCAL NOTATION SYMBOL-3
+1D203 GREEK VOCAL NOTATION SYMBOL-4
+1D204 GREEK VOCAL NOTATION SYMBOL-5
+1D205 GREEK VOCAL NOTATION SYMBOL-6
+1D206 GREEK VOCAL NOTATION SYMBOL-7
+1D207 GREEK VOCAL NOTATION SYMBOL-8
+1D208 GREEK VOCAL NOTATION SYMBOL-9
+1D209 GREEK VOCAL NOTATION SYMBOL-10
+1D20A GREEK VOCAL NOTATION SYMBOL-11
+1D20B GREEK VOCAL NOTATION SYMBOL-12
+1D20C GREEK VOCAL NOTATION SYMBOL-13
+1D20D GREEK VOCAL NOTATION SYMBOL-14
+1D20E GREEK VOCAL NOTATION SYMBOL-15
+1D20F GREEK VOCAL NOTATION SYMBOL-16
+1D210 GREEK VOCAL NOTATION SYMBOL-17
+1D211 GREEK VOCAL NOTATION SYMBOL-18
+1D212 GREEK VOCAL NOTATION SYMBOL-19
+1D213 GREEK VOCAL NOTATION SYMBOL-20
+1D214 GREEK VOCAL NOTATION SYMBOL-21
+1D215 GREEK VOCAL NOTATION SYMBOL-22
+1D216 GREEK VOCAL NOTATION SYMBOL-23
+1D217 GREEK VOCAL NOTATION SYMBOL-24
+1D218 GREEK VOCAL NOTATION SYMBOL-50
+1D219 GREEK VOCAL NOTATION SYMBOL-51
+1D21A GREEK VOCAL NOTATION SYMBOL-52
+1D21B GREEK VOCAL NOTATION SYMBOL-53
+1D21C GREEK VOCAL NOTATION SYMBOL-54
+1D21D GREEK INSTRUMENTAL NOTATION SYMBOL-1
+1D21E GREEK INSTRUMENTAL NOTATION SYMBOL-2
+1D21F GREEK INSTRUMENTAL NOTATION SYMBOL-4
+1D220 GREEK INSTRUMENTAL NOTATION SYMBOL-5
+1D221 GREEK INSTRUMENTAL NOTATION SYMBOL-7
+1D222 GREEK INSTRUMENTAL NOTATION SYMBOL-8
+1D223 GREEK INSTRUMENTAL NOTATION SYMBOL-11
+1D224 GREEK INSTRUMENTAL NOTATION SYMBOL-12
+1D225 GREEK INSTRUMENTAL NOTATION SYMBOL-13
+1D226 GREEK INSTRUMENTAL NOTATION SYMBOL-14
+1D227 GREEK INSTRUMENTAL NOTATION SYMBOL-17
+1D228 GREEK INSTRUMENTAL NOTATION SYMBOL-18
+1D229 GREEK INSTRUMENTAL NOTATION SYMBOL-19
+1D22A GREEK INSTRUMENTAL NOTATION SYMBOL-23
+1D22B GREEK INSTRUMENTAL NOTATION SYMBOL-24
+1D22C GREEK INSTRUMENTAL NOTATION SYMBOL-25
+1D22D GREEK INSTRUMENTAL NOTATION SYMBOL-26
+1D22E GREEK INSTRUMENTAL NOTATION SYMBOL-27
+1D22F GREEK INSTRUMENTAL NOTATION SYMBOL-29
+1D230 GREEK INSTRUMENTAL NOTATION SYMBOL-30
+1D231 GREEK INSTRUMENTAL NOTATION SYMBOL-32
+1D232 GREEK INSTRUMENTAL NOTATION SYMBOL-36
+1D233 GREEK INSTRUMENTAL NOTATION SYMBOL-37
+1D234 GREEK INSTRUMENTAL NOTATION SYMBOL-38
+1D235 GREEK INSTRUMENTAL NOTATION SYMBOL-39
+1D236 GREEK INSTRUMENTAL NOTATION SYMBOL-40
+1D237 GREEK INSTRUMENTAL NOTATION SYMBOL-42
+1D238 GREEK INSTRUMENTAL NOTATION SYMBOL-43
+1D239 GREEK INSTRUMENTAL NOTATION SYMBOL-45
+1D23A GREEK INSTRUMENTAL NOTATION SYMBOL-47
+1D23B GREEK INSTRUMENTAL NOTATION SYMBOL-48
+1D23C GREEK INSTRUMENTAL NOTATION SYMBOL-49
+1D23D GREEK INSTRUMENTAL NOTATION SYMBOL-50
+1D23E GREEK INSTRUMENTAL NOTATION SYMBOL-51
+1D23F GREEK INSTRUMENTAL NOTATION SYMBOL-52
+1D240 GREEK INSTRUMENTAL NOTATION SYMBOL-53
+1D241 GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D242 COMBINING GREEK MUSICAL TRISEME
+1D243 COMBINING GREEK MUSICAL TETRASEME
+1D244 COMBINING GREEK MUSICAL PENTASEME
+1D245 GREEK MUSICAL LEIMMA
+1D300 MONOGRAM FOR EARTH
+1D301 DIGRAM FOR HEAVENLY EARTH
+1D302 DIGRAM FOR HUMAN EARTH
+1D303 DIGRAM FOR EARTHLY HEAVEN
+1D304 DIGRAM FOR EARTHLY HUMAN
+1D305 DIGRAM FOR EARTH
+1D306 TETRAGRAM FOR CENTRE
+1D307 TETRAGRAM FOR FULL CIRCLE
+1D308 TETRAGRAM FOR MIRED
+1D309 TETRAGRAM FOR BARRIER
+1D30A TETRAGRAM FOR KEEPING SMALL
+1D30B TETRAGRAM FOR CONTRARIETY
+1D30C TETRAGRAM FOR ASCENT
+1D30D TETRAGRAM FOR OPPOSITION
+1D30E TETRAGRAM FOR BRANCHING OUT
+1D30F TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
+1D310 TETRAGRAM FOR DIVERGENCE
+1D311 TETRAGRAM FOR YOUTHFULNESS
+1D312 TETRAGRAM FOR INCREASE
+1D313 TETRAGRAM FOR PENETRATION
+1D314 TETRAGRAM FOR REACH
+1D315 TETRAGRAM FOR CONTACT
+1D316 TETRAGRAM FOR HOLDING BACK
+1D317 TETRAGRAM FOR WAITING
+1D318 TETRAGRAM FOR FOLLOWING
+1D319 TETRAGRAM FOR ADVANCE
+1D31A TETRAGRAM FOR RELEASE
+1D31B TETRAGRAM FOR RESISTANCE
+1D31C TETRAGRAM FOR EASE
+1D31D TETRAGRAM FOR JOY
+1D31E TETRAGRAM FOR CONTENTION
+1D31F TETRAGRAM FOR ENDEAVOUR
+1D320 TETRAGRAM FOR DUTIES
+1D321 TETRAGRAM FOR CHANGE
+1D322 TETRAGRAM FOR DECISIVENESS
+1D323 TETRAGRAM FOR BOLD RESOLUTION
+1D324 TETRAGRAM FOR PACKING
+1D325 TETRAGRAM FOR LEGION
+1D326 TETRAGRAM FOR CLOSENESS
+1D327 TETRAGRAM FOR KINSHIP
+1D328 TETRAGRAM FOR GATHERING
+1D329 TETRAGRAM FOR STRENGTH
+1D32A TETRAGRAM FOR PURITY
+1D32B TETRAGRAM FOR FULLNESS
+1D32C TETRAGRAM FOR RESIDENCE
+1D32D TETRAGRAM FOR LAW OR MODEL
+1D32E TETRAGRAM FOR RESPONSE
+1D32F TETRAGRAM FOR GOING TO MEET
+1D330 TETRAGRAM FOR ENCOUNTERS
+1D331 TETRAGRAM FOR STOVE
+1D332 TETRAGRAM FOR GREATNESS
+1D333 TETRAGRAM FOR ENLARGEMENT
+1D334 TETRAGRAM FOR PATTERN
+1D335 TETRAGRAM FOR RITUAL
+1D336 TETRAGRAM FOR FLIGHT
+1D337 TETRAGRAM FOR VASTNESS OR WASTING
+1D338 TETRAGRAM FOR CONSTANCY
+1D339 TETRAGRAM FOR MEASURE
+1D33A TETRAGRAM FOR ETERNITY
+1D33B TETRAGRAM FOR UNITY
+1D33C TETRAGRAM FOR DIMINISHMENT
+1D33D TETRAGRAM FOR CLOSED MOUTH
+1D33E TETRAGRAM FOR GUARDEDNESS
+1D33F TETRAGRAM FOR GATHERING IN
+1D340 TETRAGRAM FOR MASSING
+1D341 TETRAGRAM FOR ACCUMULATION
+1D342 TETRAGRAM FOR EMBELLISHMENT
+1D343 TETRAGRAM FOR DOUBT
+1D344 TETRAGRAM FOR WATCH
+1D345 TETRAGRAM FOR SINKING
+1D346 TETRAGRAM FOR INNER
+1D347 TETRAGRAM FOR DEPARTURE
+1D348 TETRAGRAM FOR DARKENING
+1D349 TETRAGRAM FOR DIMMING
+1D34A TETRAGRAM FOR EXHAUSTION
+1D34B TETRAGRAM FOR SEVERANCE
+1D34C TETRAGRAM FOR STOPPAGE
+1D34D TETRAGRAM FOR HARDNESS
+1D34E TETRAGRAM FOR COMPLETION
+1D34F TETRAGRAM FOR CLOSURE
+1D350 TETRAGRAM FOR FAILURE
+1D351 TETRAGRAM FOR AGGRAVATION
+1D352 TETRAGRAM FOR COMPLIANCE
+1D353 TETRAGRAM FOR ON THE VERGE
+1D354 TETRAGRAM FOR DIFFICULTIES
+1D355 TETRAGRAM FOR LABOURING
+1D356 TETRAGRAM FOR FOSTERING
+1D360 COUNTING ROD UNIT DIGIT ONE
+1D361 COUNTING ROD UNIT DIGIT TWO
+1D362 COUNTING ROD UNIT DIGIT THREE
+1D363 COUNTING ROD UNIT DIGIT FOUR
+1D364 COUNTING ROD UNIT DIGIT FIVE
+1D365 COUNTING ROD UNIT DIGIT SIX
+1D366 COUNTING ROD UNIT DIGIT SEVEN
+1D367 COUNTING ROD UNIT DIGIT EIGHT
+1D368 COUNTING ROD UNIT DIGIT NINE
+1D369 COUNTING ROD TENS DIGIT ONE
+1D36A COUNTING ROD TENS DIGIT TWO
+1D36B COUNTING ROD TENS DIGIT THREE
+1D36C COUNTING ROD TENS DIGIT FOUR
+1D36D COUNTING ROD TENS DIGIT FIVE
+1D36E COUNTING ROD TENS DIGIT SIX
+1D36F COUNTING ROD TENS DIGIT SEVEN
+1D370 COUNTING ROD TENS DIGIT EIGHT
+1D371 COUNTING ROD TENS DIGIT NINE
+1D400 MATHEMATICAL BOLD CAPITAL A
+1D401 MATHEMATICAL BOLD CAPITAL B
+1D402 MATHEMATICAL BOLD CAPITAL C
+1D403 MATHEMATICAL BOLD CAPITAL D
+1D404 MATHEMATICAL BOLD CAPITAL E
+1D405 MATHEMATICAL BOLD CAPITAL F
+1D406 MATHEMATICAL BOLD CAPITAL G
+1D407 MATHEMATICAL BOLD CAPITAL H
+1D408 MATHEMATICAL BOLD CAPITAL I
+1D409 MATHEMATICAL BOLD CAPITAL J
+1D40A MATHEMATICAL BOLD CAPITAL K
+1D40B MATHEMATICAL BOLD CAPITAL L
+1D40C MATHEMATICAL BOLD CAPITAL M
+1D40D MATHEMATICAL BOLD CAPITAL N
+1D40E MATHEMATICAL BOLD CAPITAL O
+1D40F MATHEMATICAL BOLD CAPITAL P
+1D410 MATHEMATICAL BOLD CAPITAL Q
+1D411 MATHEMATICAL BOLD CAPITAL R
+1D412 MATHEMATICAL BOLD CAPITAL S
+1D413 MATHEMATICAL BOLD CAPITAL T
+1D414 MATHEMATICAL BOLD CAPITAL U
+1D415 MATHEMATICAL BOLD CAPITAL V
+1D416 MATHEMATICAL BOLD CAPITAL W
+1D417 MATHEMATICAL BOLD CAPITAL X
+1D418 MATHEMATICAL BOLD CAPITAL Y
+1D419 MATHEMATICAL BOLD CAPITAL Z
+1D41A MATHEMATICAL BOLD SMALL A
+1D41B MATHEMATICAL BOLD SMALL B
+1D41C MATHEMATICAL BOLD SMALL C
+1D41D MATHEMATICAL BOLD SMALL D
+1D41E MATHEMATICAL BOLD SMALL E
+1D41F MATHEMATICAL BOLD SMALL F
+1D420 MATHEMATICAL BOLD SMALL G
+1D421 MATHEMATICAL BOLD SMALL H
+1D422 MATHEMATICAL BOLD SMALL I
+1D423 MATHEMATICAL BOLD SMALL J
+1D424 MATHEMATICAL BOLD SMALL K
+1D425 MATHEMATICAL BOLD SMALL L
+1D426 MATHEMATICAL BOLD SMALL M
+1D427 MATHEMATICAL BOLD SMALL N
+1D428 MATHEMATICAL BOLD SMALL O
+1D429 MATHEMATICAL BOLD SMALL P
+1D42A MATHEMATICAL BOLD SMALL Q
+1D42B MATHEMATICAL BOLD SMALL R
+1D42C MATHEMATICAL BOLD SMALL S
+1D42D MATHEMATICAL BOLD SMALL T
+1D42E MATHEMATICAL BOLD SMALL U
+1D42F MATHEMATICAL BOLD SMALL V
+1D430 MATHEMATICAL BOLD SMALL W
+1D431 MATHEMATICAL BOLD SMALL X
+1D432 MATHEMATICAL BOLD SMALL Y
+1D433 MATHEMATICAL BOLD SMALL Z
+1D434 MATHEMATICAL ITALIC CAPITAL A
+1D435 MATHEMATICAL ITALIC CAPITAL B
+1D436 MATHEMATICAL ITALIC CAPITAL C
+1D437 MATHEMATICAL ITALIC CAPITAL D
+1D438 MATHEMATICAL ITALIC CAPITAL E
+1D439 MATHEMATICAL ITALIC CAPITAL F
+1D43A MATHEMATICAL ITALIC CAPITAL G
+1D43B MATHEMATICAL ITALIC CAPITAL H
+1D43C MATHEMATICAL ITALIC CAPITAL I
+1D43D MATHEMATICAL ITALIC CAPITAL J
+1D43E MATHEMATICAL ITALIC CAPITAL K
+1D43F MATHEMATICAL ITALIC CAPITAL L
+1D440 MATHEMATICAL ITALIC CAPITAL M
+1D441 MATHEMATICAL ITALIC CAPITAL N
+1D442 MATHEMATICAL ITALIC CAPITAL O
+1D443 MATHEMATICAL ITALIC CAPITAL P
+1D444 MATHEMATICAL ITALIC CAPITAL Q
+1D445 MATHEMATICAL ITALIC CAPITAL R
+1D446 MATHEMATICAL ITALIC CAPITAL S
+1D447 MATHEMATICAL ITALIC CAPITAL T
+1D448 MATHEMATICAL ITALIC CAPITAL U
+1D449 MATHEMATICAL ITALIC CAPITAL V
+1D44A MATHEMATICAL ITALIC CAPITAL W
+1D44B MATHEMATICAL ITALIC CAPITAL X
+1D44C MATHEMATICAL ITALIC CAPITAL Y
+1D44D MATHEMATICAL ITALIC CAPITAL Z
+1D44E MATHEMATICAL ITALIC SMALL A
+1D44F MATHEMATICAL ITALIC SMALL B
+1D450 MATHEMATICAL ITALIC SMALL C
+1D451 MATHEMATICAL ITALIC SMALL D
+1D452 MATHEMATICAL ITALIC SMALL E
+1D453 MATHEMATICAL ITALIC SMALL F
+1D454 MATHEMATICAL ITALIC SMALL G
+1D456 MATHEMATICAL ITALIC SMALL I
+1D457 MATHEMATICAL ITALIC SMALL J
+1D458 MATHEMATICAL ITALIC SMALL K
+1D459 MATHEMATICAL ITALIC SMALL L
+1D45A MATHEMATICAL ITALIC SMALL M
+1D45B MATHEMATICAL ITALIC SMALL N
+1D45C MATHEMATICAL ITALIC SMALL O
+1D45D MATHEMATICAL ITALIC SMALL P
+1D45E MATHEMATICAL ITALIC SMALL Q
+1D45F MATHEMATICAL ITALIC SMALL R
+1D460 MATHEMATICAL ITALIC SMALL S
+1D461 MATHEMATICAL ITALIC SMALL T
+1D462 MATHEMATICAL ITALIC SMALL U
+1D463 MATHEMATICAL ITALIC SMALL V
+1D464 MATHEMATICAL ITALIC SMALL W
+1D465 MATHEMATICAL ITALIC SMALL X
+1D466 MATHEMATICAL ITALIC SMALL Y
+1D467 MATHEMATICAL ITALIC SMALL Z
+1D468 MATHEMATICAL BOLD ITALIC CAPITAL A
+1D469 MATHEMATICAL BOLD ITALIC CAPITAL B
+1D46A MATHEMATICAL BOLD ITALIC CAPITAL C
+1D46B MATHEMATICAL BOLD ITALIC CAPITAL D
+1D46C MATHEMATICAL BOLD ITALIC CAPITAL E
+1D46D MATHEMATICAL BOLD ITALIC CAPITAL F
+1D46E MATHEMATICAL BOLD ITALIC CAPITAL G
+1D46F MATHEMATICAL BOLD ITALIC CAPITAL H
+1D470 MATHEMATICAL BOLD ITALIC CAPITAL I
+1D471 MATHEMATICAL BOLD ITALIC CAPITAL J
+1D472 MATHEMATICAL BOLD ITALIC CAPITAL K
+1D473 MATHEMATICAL BOLD ITALIC CAPITAL L
+1D474 MATHEMATICAL BOLD ITALIC CAPITAL M
+1D475 MATHEMATICAL BOLD ITALIC CAPITAL N
+1D476 MATHEMATICAL BOLD ITALIC CAPITAL O
+1D477 MATHEMATICAL BOLD ITALIC CAPITAL P
+1D478 MATHEMATICAL BOLD ITALIC CAPITAL Q
+1D479 MATHEMATICAL BOLD ITALIC CAPITAL R
+1D47A MATHEMATICAL BOLD ITALIC CAPITAL S
+1D47B MATHEMATICAL BOLD ITALIC CAPITAL T
+1D47C MATHEMATICAL BOLD ITALIC CAPITAL U
+1D47D MATHEMATICAL BOLD ITALIC CAPITAL V
+1D47E MATHEMATICAL BOLD ITALIC CAPITAL W
+1D47F MATHEMATICAL BOLD ITALIC CAPITAL X
+1D480 MATHEMATICAL BOLD ITALIC CAPITAL Y
+1D481 MATHEMATICAL BOLD ITALIC CAPITAL Z
+1D482 MATHEMATICAL BOLD ITALIC SMALL A
+1D483 MATHEMATICAL BOLD ITALIC SMALL B
+1D484 MATHEMATICAL BOLD ITALIC SMALL C
+1D485 MATHEMATICAL BOLD ITALIC SMALL D
+1D486 MATHEMATICAL BOLD ITALIC SMALL E
+1D487 MATHEMATICAL BOLD ITALIC SMALL F
+1D488 MATHEMATICAL BOLD ITALIC SMALL G
+1D489 MATHEMATICAL BOLD ITALIC SMALL H
+1D48A MATHEMATICAL BOLD ITALIC SMALL I
+1D48B MATHEMATICAL BOLD ITALIC SMALL J
+1D48C MATHEMATICAL BOLD ITALIC SMALL K
+1D48D MATHEMATICAL BOLD ITALIC SMALL L
+1D48E MATHEMATICAL BOLD ITALIC SMALL M
+1D48F MATHEMATICAL BOLD ITALIC SMALL N
+1D490 MATHEMATICAL BOLD ITALIC SMALL O
+1D491 MATHEMATICAL BOLD ITALIC SMALL P
+1D492 MATHEMATICAL BOLD ITALIC SMALL Q
+1D493 MATHEMATICAL BOLD ITALIC SMALL R
+1D494 MATHEMATICAL BOLD ITALIC SMALL S
+1D495 MATHEMATICAL BOLD ITALIC SMALL T
+1D496 MATHEMATICAL BOLD ITALIC SMALL U
+1D497 MATHEMATICAL BOLD ITALIC SMALL V
+1D498 MATHEMATICAL BOLD ITALIC SMALL W
+1D499 MATHEMATICAL BOLD ITALIC SMALL X
+1D49A MATHEMATICAL BOLD ITALIC SMALL Y
+1D49B MATHEMATICAL BOLD ITALIC SMALL Z
+1D49C MATHEMATICAL SCRIPT CAPITAL A
+1D49E MATHEMATICAL SCRIPT CAPITAL C
+1D49F MATHEMATICAL SCRIPT CAPITAL D
+1D4A2 MATHEMATICAL SCRIPT CAPITAL G
+1D4A5 MATHEMATICAL SCRIPT CAPITAL J
+1D4A6 MATHEMATICAL SCRIPT CAPITAL K
+1D4A9 MATHEMATICAL SCRIPT CAPITAL N
+1D4AA MATHEMATICAL SCRIPT CAPITAL O
+1D4AB MATHEMATICAL SCRIPT CAPITAL P
+1D4AC MATHEMATICAL SCRIPT CAPITAL Q
+1D4AE MATHEMATICAL SCRIPT CAPITAL S
+1D4AF MATHEMATICAL SCRIPT CAPITAL T
+1D4B0 MATHEMATICAL SCRIPT CAPITAL U
+1D4B1 MATHEMATICAL SCRIPT CAPITAL V
+1D4B2 MATHEMATICAL SCRIPT CAPITAL W
+1D4B3 MATHEMATICAL SCRIPT CAPITAL X
+1D4B4 MATHEMATICAL SCRIPT CAPITAL Y
+1D4B5 MATHEMATICAL SCRIPT CAPITAL Z
+1D4B6 MATHEMATICAL SCRIPT SMALL A
+1D4B7 MATHEMATICAL SCRIPT SMALL B
+1D4B8 MATHEMATICAL SCRIPT SMALL C
+1D4B9 MATHEMATICAL SCRIPT SMALL D
+1D4BB MATHEMATICAL SCRIPT SMALL F
+1D4BD MATHEMATICAL SCRIPT SMALL H
+1D4BE MATHEMATICAL SCRIPT SMALL I
+1D4BF MATHEMATICAL SCRIPT SMALL J
+1D4C0 MATHEMATICAL SCRIPT SMALL K
+1D4C1 MATHEMATICAL SCRIPT SMALL L
+1D4C2 MATHEMATICAL SCRIPT SMALL M
+1D4C3 MATHEMATICAL SCRIPT SMALL N
+1D4C5 MATHEMATICAL SCRIPT SMALL P
+1D4C6 MATHEMATICAL SCRIPT SMALL Q
+1D4C7 MATHEMATICAL SCRIPT SMALL R
+1D4C8 MATHEMATICAL SCRIPT SMALL S
+1D4C9 MATHEMATICAL SCRIPT SMALL T
+1D4CA MATHEMATICAL SCRIPT SMALL U
+1D4CB MATHEMATICAL SCRIPT SMALL V
+1D4CC MATHEMATICAL SCRIPT SMALL W
+1D4CD MATHEMATICAL SCRIPT SMALL X
+1D4CE MATHEMATICAL SCRIPT SMALL Y
+1D4CF MATHEMATICAL SCRIPT SMALL Z
+1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A
+1D4D1 MATHEMATICAL BOLD SCRIPT CAPITAL B
+1D4D2 MATHEMATICAL BOLD SCRIPT CAPITAL C
+1D4D3 MATHEMATICAL BOLD SCRIPT CAPITAL D
+1D4D4 MATHEMATICAL BOLD SCRIPT CAPITAL E
+1D4D5 MATHEMATICAL BOLD SCRIPT CAPITAL F
+1D4D6 MATHEMATICAL BOLD SCRIPT CAPITAL G
+1D4D7 MATHEMATICAL BOLD SCRIPT CAPITAL H
+1D4D8 MATHEMATICAL BOLD SCRIPT CAPITAL I
+1D4D9 MATHEMATICAL BOLD SCRIPT CAPITAL J
+1D4DA MATHEMATICAL BOLD SCRIPT CAPITAL K
+1D4DB MATHEMATICAL BOLD SCRIPT CAPITAL L
+1D4DC MATHEMATICAL BOLD SCRIPT CAPITAL M
+1D4DD MATHEMATICAL BOLD SCRIPT CAPITAL N
+1D4DE MATHEMATICAL BOLD SCRIPT CAPITAL O
+1D4DF MATHEMATICAL BOLD SCRIPT CAPITAL P
+1D4E0 MATHEMATICAL BOLD SCRIPT CAPITAL Q
+1D4E1 MATHEMATICAL BOLD SCRIPT CAPITAL R
+1D4E2 MATHEMATICAL BOLD SCRIPT CAPITAL S
+1D4E3 MATHEMATICAL BOLD SCRIPT CAPITAL T
+1D4E4 MATHEMATICAL BOLD SCRIPT CAPITAL U
+1D4E5 MATHEMATICAL BOLD SCRIPT CAPITAL V
+1D4E6 MATHEMATICAL BOLD SCRIPT CAPITAL W
+1D4E7 MATHEMATICAL BOLD SCRIPT CAPITAL X
+1D4E8 MATHEMATICAL BOLD SCRIPT CAPITAL Y
+1D4E9 MATHEMATICAL BOLD SCRIPT CAPITAL Z
+1D4EA MATHEMATICAL BOLD SCRIPT SMALL A
+1D4EB MATHEMATICAL BOLD SCRIPT SMALL B
+1D4EC MATHEMATICAL BOLD SCRIPT SMALL C
+1D4ED MATHEMATICAL BOLD SCRIPT SMALL D
+1D4EE MATHEMATICAL BOLD SCRIPT SMALL E
+1D4EF MATHEMATICAL BOLD SCRIPT SMALL F
+1D4F0 MATHEMATICAL BOLD SCRIPT SMALL G
+1D4F1 MATHEMATICAL BOLD SCRIPT SMALL H
+1D4F2 MATHEMATICAL BOLD SCRIPT SMALL I
+1D4F3 MATHEMATICAL BOLD SCRIPT SMALL J
+1D4F4 MATHEMATICAL BOLD SCRIPT SMALL K
+1D4F5 MATHEMATICAL BOLD SCRIPT SMALL L
+1D4F6 MATHEMATICAL BOLD SCRIPT SMALL M
+1D4F7 MATHEMATICAL BOLD SCRIPT SMALL N
+1D4F8 MATHEMATICAL BOLD SCRIPT SMALL O
+1D4F9 MATHEMATICAL BOLD SCRIPT SMALL P
+1D4FA MATHEMATICAL BOLD SCRIPT SMALL Q
+1D4FB MATHEMATICAL BOLD SCRIPT SMALL R
+1D4FC MATHEMATICAL BOLD SCRIPT SMALL S
+1D4FD MATHEMATICAL BOLD SCRIPT SMALL T
+1D4FE MATHEMATICAL BOLD SCRIPT SMALL U
+1D4FF MATHEMATICAL BOLD SCRIPT SMALL V
+1D500 MATHEMATICAL BOLD SCRIPT SMALL W
+1D501 MATHEMATICAL BOLD SCRIPT SMALL X
+1D502 MATHEMATICAL BOLD SCRIPT SMALL Y
+1D503 MATHEMATICAL BOLD SCRIPT SMALL Z
+1D504 MATHEMATICAL FRAKTUR CAPITAL A
+1D505 MATHEMATICAL FRAKTUR CAPITAL B
+1D507 MATHEMATICAL FRAKTUR CAPITAL D
+1D508 MATHEMATICAL FRAKTUR CAPITAL E
+1D509 MATHEMATICAL FRAKTUR CAPITAL F
+1D50A MATHEMATICAL FRAKTUR CAPITAL G
+1D50D MATHEMATICAL FRAKTUR CAPITAL J
+1D50E MATHEMATICAL FRAKTUR CAPITAL K
+1D50F MATHEMATICAL FRAKTUR CAPITAL L
+1D510 MATHEMATICAL FRAKTUR CAPITAL M
+1D511 MATHEMATICAL FRAKTUR CAPITAL N
+1D512 MATHEMATICAL FRAKTUR CAPITAL O
+1D513 MATHEMATICAL FRAKTUR CAPITAL P
+1D514 MATHEMATICAL FRAKTUR CAPITAL Q
+1D516 MATHEMATICAL FRAKTUR CAPITAL S
+1D517 MATHEMATICAL FRAKTUR CAPITAL T
+1D518 MATHEMATICAL FRAKTUR CAPITAL U
+1D519 MATHEMATICAL FRAKTUR CAPITAL V
+1D51A MATHEMATICAL FRAKTUR CAPITAL W
+1D51B MATHEMATICAL FRAKTUR CAPITAL X
+1D51C MATHEMATICAL FRAKTUR CAPITAL Y
+1D51E MATHEMATICAL FRAKTUR SMALL A
+1D51F MATHEMATICAL FRAKTUR SMALL B
+1D520 MATHEMATICAL FRAKTUR SMALL C
+1D521 MATHEMATICAL FRAKTUR SMALL D
+1D522 MATHEMATICAL FRAKTUR SMALL E
+1D523 MATHEMATICAL FRAKTUR SMALL F
+1D524 MATHEMATICAL FRAKTUR SMALL G
+1D525 MATHEMATICAL FRAKTUR SMALL H
+1D526 MATHEMATICAL FRAKTUR SMALL I
+1D527 MATHEMATICAL FRAKTUR SMALL J
+1D528 MATHEMATICAL FRAKTUR SMALL K
+1D529 MATHEMATICAL FRAKTUR SMALL L
+1D52A MATHEMATICAL FRAKTUR SMALL M
+1D52B MATHEMATICAL FRAKTUR SMALL N
+1D52C MATHEMATICAL FRAKTUR SMALL O
+1D52D MATHEMATICAL FRAKTUR SMALL P
+1D52E MATHEMATICAL FRAKTUR SMALL Q
+1D52F MATHEMATICAL FRAKTUR SMALL R
+1D530 MATHEMATICAL FRAKTUR SMALL S
+1D531 MATHEMATICAL FRAKTUR SMALL T
+1D532 MATHEMATICAL FRAKTUR SMALL U
+1D533 MATHEMATICAL FRAKTUR SMALL V
+1D534 MATHEMATICAL FRAKTUR SMALL W
+1D535 MATHEMATICAL FRAKTUR SMALL X
+1D536 MATHEMATICAL FRAKTUR SMALL Y
+1D537 MATHEMATICAL FRAKTUR SMALL Z
+1D538 MATHEMATICAL DOUBLE-STRUCK CAPITAL A
+1D539 MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D53B MATHEMATICAL DOUBLE-STRUCK CAPITAL D
+1D53C MATHEMATICAL DOUBLE-STRUCK CAPITAL E
+1D53D MATHEMATICAL DOUBLE-STRUCK CAPITAL F
+1D53E MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D540 MATHEMATICAL DOUBLE-STRUCK CAPITAL I
+1D541 MATHEMATICAL DOUBLE-STRUCK CAPITAL J
+1D542 MATHEMATICAL DOUBLE-STRUCK CAPITAL K
+1D543 MATHEMATICAL DOUBLE-STRUCK CAPITAL L
+1D544 MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D546 MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A MATHEMATICAL DOUBLE-STRUCK CAPITAL S
+1D54B MATHEMATICAL DOUBLE-STRUCK CAPITAL T
+1D54C MATHEMATICAL DOUBLE-STRUCK CAPITAL U
+1D54D MATHEMATICAL DOUBLE-STRUCK CAPITAL V
+1D54E MATHEMATICAL DOUBLE-STRUCK CAPITAL W
+1D54F MATHEMATICAL DOUBLE-STRUCK CAPITAL X
+1D550 MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D552 MATHEMATICAL DOUBLE-STRUCK SMALL A
+1D553 MATHEMATICAL DOUBLE-STRUCK SMALL B
+1D554 MATHEMATICAL DOUBLE-STRUCK SMALL C
+1D555 MATHEMATICAL DOUBLE-STRUCK SMALL D
+1D556 MATHEMATICAL DOUBLE-STRUCK SMALL E
+1D557 MATHEMATICAL DOUBLE-STRUCK SMALL F
+1D558 MATHEMATICAL DOUBLE-STRUCK SMALL G
+1D559 MATHEMATICAL DOUBLE-STRUCK SMALL H
+1D55A MATHEMATICAL DOUBLE-STRUCK SMALL I
+1D55B MATHEMATICAL DOUBLE-STRUCK SMALL J
+1D55C MATHEMATICAL DOUBLE-STRUCK SMALL K
+1D55D MATHEMATICAL DOUBLE-STRUCK SMALL L
+1D55E MATHEMATICAL DOUBLE-STRUCK SMALL M
+1D55F MATHEMATICAL DOUBLE-STRUCK SMALL N
+1D560 MATHEMATICAL DOUBLE-STRUCK SMALL O
+1D561 MATHEMATICAL DOUBLE-STRUCK SMALL P
+1D562 MATHEMATICAL DOUBLE-STRUCK SMALL Q
+1D563 MATHEMATICAL DOUBLE-STRUCK SMALL R
+1D564 MATHEMATICAL DOUBLE-STRUCK SMALL S
+1D565 MATHEMATICAL DOUBLE-STRUCK SMALL T
+1D566 MATHEMATICAL DOUBLE-STRUCK SMALL U
+1D567 MATHEMATICAL DOUBLE-STRUCK SMALL V
+1D568 MATHEMATICAL DOUBLE-STRUCK SMALL W
+1D569 MATHEMATICAL DOUBLE-STRUCK SMALL X
+1D56A MATHEMATICAL DOUBLE-STRUCK SMALL Y
+1D56B MATHEMATICAL DOUBLE-STRUCK SMALL Z
+1D56C MATHEMATICAL BOLD FRAKTUR CAPITAL A
+1D56D MATHEMATICAL BOLD FRAKTUR CAPITAL B
+1D56E MATHEMATICAL BOLD FRAKTUR CAPITAL C
+1D56F MATHEMATICAL BOLD FRAKTUR CAPITAL D
+1D570 MATHEMATICAL BOLD FRAKTUR CAPITAL E
+1D571 MATHEMATICAL BOLD FRAKTUR CAPITAL F
+1D572 MATHEMATICAL BOLD FRAKTUR CAPITAL G
+1D573 MATHEMATICAL BOLD FRAKTUR CAPITAL H
+1D574 MATHEMATICAL BOLD FRAKTUR CAPITAL I
+1D575 MATHEMATICAL BOLD FRAKTUR CAPITAL J
+1D576 MATHEMATICAL BOLD FRAKTUR CAPITAL K
+1D577 MATHEMATICAL BOLD FRAKTUR CAPITAL L
+1D578 MATHEMATICAL BOLD FRAKTUR CAPITAL M
+1D579 MATHEMATICAL BOLD FRAKTUR CAPITAL N
+1D57A MATHEMATICAL BOLD FRAKTUR CAPITAL O
+1D57B MATHEMATICAL BOLD FRAKTUR CAPITAL P
+1D57C MATHEMATICAL BOLD FRAKTUR CAPITAL Q
+1D57D MATHEMATICAL BOLD FRAKTUR CAPITAL R
+1D57E MATHEMATICAL BOLD FRAKTUR CAPITAL S
+1D57F MATHEMATICAL BOLD FRAKTUR CAPITAL T
+1D580 MATHEMATICAL BOLD FRAKTUR CAPITAL U
+1D581 MATHEMATICAL BOLD FRAKTUR CAPITAL V
+1D582 MATHEMATICAL BOLD FRAKTUR CAPITAL W
+1D583 MATHEMATICAL BOLD FRAKTUR CAPITAL X
+1D584 MATHEMATICAL BOLD FRAKTUR CAPITAL Y
+1D585 MATHEMATICAL BOLD FRAKTUR CAPITAL Z
+1D586 MATHEMATICAL BOLD FRAKTUR SMALL A
+1D587 MATHEMATICAL BOLD FRAKTUR SMALL B
+1D588 MATHEMATICAL BOLD FRAKTUR SMALL C
+1D589 MATHEMATICAL BOLD FRAKTUR SMALL D
+1D58A MATHEMATICAL BOLD FRAKTUR SMALL E
+1D58B MATHEMATICAL BOLD FRAKTUR SMALL F
+1D58C MATHEMATICAL BOLD FRAKTUR SMALL G
+1D58D MATHEMATICAL BOLD FRAKTUR SMALL H
+1D58E MATHEMATICAL BOLD FRAKTUR SMALL I
+1D58F MATHEMATICAL BOLD FRAKTUR SMALL J
+1D590 MATHEMATICAL BOLD FRAKTUR SMALL K
+1D591 MATHEMATICAL BOLD FRAKTUR SMALL L
+1D592 MATHEMATICAL BOLD FRAKTUR SMALL M
+1D593 MATHEMATICAL BOLD FRAKTUR SMALL N
+1D594 MATHEMATICAL BOLD FRAKTUR SMALL O
+1D595 MATHEMATICAL BOLD FRAKTUR SMALL P
+1D596 MATHEMATICAL BOLD FRAKTUR SMALL Q
+1D597 MATHEMATICAL BOLD FRAKTUR SMALL R
+1D598 MATHEMATICAL BOLD FRAKTUR SMALL S
+1D599 MATHEMATICAL BOLD FRAKTUR SMALL T
+1D59A MATHEMATICAL BOLD FRAKTUR SMALL U
+1D59B MATHEMATICAL BOLD FRAKTUR SMALL V
+1D59C MATHEMATICAL BOLD FRAKTUR SMALL W
+1D59D MATHEMATICAL BOLD FRAKTUR SMALL X
+1D59E MATHEMATICAL BOLD FRAKTUR SMALL Y
+1D59F MATHEMATICAL BOLD FRAKTUR SMALL Z
+1D5A0 MATHEMATICAL SANS-SERIF CAPITAL A
+1D5A1 MATHEMATICAL SANS-SERIF CAPITAL B
+1D5A2 MATHEMATICAL SANS-SERIF CAPITAL C
+1D5A3 MATHEMATICAL SANS-SERIF CAPITAL D
+1D5A4 MATHEMATICAL SANS-SERIF CAPITAL E
+1D5A5 MATHEMATICAL SANS-SERIF CAPITAL F
+1D5A6 MATHEMATICAL SANS-SERIF CAPITAL G
+1D5A7 MATHEMATICAL SANS-SERIF CAPITAL H
+1D5A8 MATHEMATICAL SANS-SERIF CAPITAL I
+1D5A9 MATHEMATICAL SANS-SERIF CAPITAL J
+1D5AA MATHEMATICAL SANS-SERIF CAPITAL K
+1D5AB MATHEMATICAL SANS-SERIF CAPITAL L
+1D5AC MATHEMATICAL SANS-SERIF CAPITAL M
+1D5AD MATHEMATICAL SANS-SERIF CAPITAL N
+1D5AE MATHEMATICAL SANS-SERIF CAPITAL O
+1D5AF MATHEMATICAL SANS-SERIF CAPITAL P
+1D5B0 MATHEMATICAL SANS-SERIF CAPITAL Q
+1D5B1 MATHEMATICAL SANS-SERIF CAPITAL R
+1D5B2 MATHEMATICAL SANS-SERIF CAPITAL S
+1D5B3 MATHEMATICAL SANS-SERIF CAPITAL T
+1D5B4 MATHEMATICAL SANS-SERIF CAPITAL U
+1D5B5 MATHEMATICAL SANS-SERIF CAPITAL V
+1D5B6 MATHEMATICAL SANS-SERIF CAPITAL W
+1D5B7 MATHEMATICAL SANS-SERIF CAPITAL X
+1D5B8 MATHEMATICAL SANS-SERIF CAPITAL Y
+1D5B9 MATHEMATICAL SANS-SERIF CAPITAL Z
+1D5BA MATHEMATICAL SANS-SERIF SMALL A
+1D5BB MATHEMATICAL SANS-SERIF SMALL B
+1D5BC MATHEMATICAL SANS-SERIF SMALL C
+1D5BD MATHEMATICAL SANS-SERIF SMALL D
+1D5BE MATHEMATICAL SANS-SERIF SMALL E
+1D5BF MATHEMATICAL SANS-SERIF SMALL F
+1D5C0 MATHEMATICAL SANS-SERIF SMALL G
+1D5C1 MATHEMATICAL SANS-SERIF SMALL H
+1D5C2 MATHEMATICAL SANS-SERIF SMALL I
+1D5C3 MATHEMATICAL SANS-SERIF SMALL J
+1D5C4 MATHEMATICAL SANS-SERIF SMALL K
+1D5C5 MATHEMATICAL SANS-SERIF SMALL L
+1D5C6 MATHEMATICAL SANS-SERIF SMALL M
+1D5C7 MATHEMATICAL SANS-SERIF SMALL N
+1D5C8 MATHEMATICAL SANS-SERIF SMALL O
+1D5C9 MATHEMATICAL SANS-SERIF SMALL P
+1D5CA MATHEMATICAL SANS-SERIF SMALL Q
+1D5CB MATHEMATICAL SANS-SERIF SMALL R
+1D5CC MATHEMATICAL SANS-SERIF SMALL S
+1D5CD MATHEMATICAL SANS-SERIF SMALL T
+1D5CE MATHEMATICAL SANS-SERIF SMALL U
+1D5CF MATHEMATICAL SANS-SERIF SMALL V
+1D5D0 MATHEMATICAL SANS-SERIF SMALL W
+1D5D1 MATHEMATICAL SANS-SERIF SMALL X
+1D5D2 MATHEMATICAL SANS-SERIF SMALL Y
+1D5D3 MATHEMATICAL SANS-SERIF SMALL Z
+1D5D4 MATHEMATICAL SANS-SERIF BOLD CAPITAL A
+1D5D5 MATHEMATICAL SANS-SERIF BOLD CAPITAL B
+1D5D6 MATHEMATICAL SANS-SERIF BOLD CAPITAL C
+1D5D7 MATHEMATICAL SANS-SERIF BOLD CAPITAL D
+1D5D8 MATHEMATICAL SANS-SERIF BOLD CAPITAL E
+1D5D9 MATHEMATICAL SANS-SERIF BOLD CAPITAL F
+1D5DA MATHEMATICAL SANS-SERIF BOLD CAPITAL G
+1D5DB MATHEMATICAL SANS-SERIF BOLD CAPITAL H
+1D5DC MATHEMATICAL SANS-SERIF BOLD CAPITAL I
+1D5DD MATHEMATICAL SANS-SERIF BOLD CAPITAL J
+1D5DE MATHEMATICAL SANS-SERIF BOLD CAPITAL K
+1D5DF MATHEMATICAL SANS-SERIF BOLD CAPITAL L
+1D5E0 MATHEMATICAL SANS-SERIF BOLD CAPITAL M
+1D5E1 MATHEMATICAL SANS-SERIF BOLD CAPITAL N
+1D5E2 MATHEMATICAL SANS-SERIF BOLD CAPITAL O
+1D5E3 MATHEMATICAL SANS-SERIF BOLD CAPITAL P
+1D5E4 MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
+1D5E5 MATHEMATICAL SANS-SERIF BOLD CAPITAL R
+1D5E6 MATHEMATICAL SANS-SERIF BOLD CAPITAL S
+1D5E7 MATHEMATICAL SANS-SERIF BOLD CAPITAL T
+1D5E8 MATHEMATICAL SANS-SERIF BOLD CAPITAL U
+1D5E9 MATHEMATICAL SANS-SERIF BOLD CAPITAL V
+1D5EA MATHEMATICAL SANS-SERIF BOLD CAPITAL W
+1D5EB MATHEMATICAL SANS-SERIF BOLD CAPITAL X
+1D5EC MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
+1D5ED MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
+1D5EE MATHEMATICAL SANS-SERIF BOLD SMALL A
+1D5EF MATHEMATICAL SANS-SERIF BOLD SMALL B
+1D5F0 MATHEMATICAL SANS-SERIF BOLD SMALL C
+1D5F1 MATHEMATICAL SANS-SERIF BOLD SMALL D
+1D5F2 MATHEMATICAL SANS-SERIF BOLD SMALL E
+1D5F3 MATHEMATICAL SANS-SERIF BOLD SMALL F
+1D5F4 MATHEMATICAL SANS-SERIF BOLD SMALL G
+1D5F5 MATHEMATICAL SANS-SERIF BOLD SMALL H
+1D5F6 MATHEMATICAL SANS-SERIF BOLD SMALL I
+1D5F7 MATHEMATICAL SANS-SERIF BOLD SMALL J
+1D5F8 MATHEMATICAL SANS-SERIF BOLD SMALL K
+1D5F9 MATHEMATICAL SANS-SERIF BOLD SMALL L
+1D5FA MATHEMATICAL SANS-SERIF BOLD SMALL M
+1D5FB MATHEMATICAL SANS-SERIF BOLD SMALL N
+1D5FC MATHEMATICAL SANS-SERIF BOLD SMALL O
+1D5FD MATHEMATICAL SANS-SERIF BOLD SMALL P
+1D5FE MATHEMATICAL SANS-SERIF BOLD SMALL Q
+1D5FF MATHEMATICAL SANS-SERIF BOLD SMALL R
+1D600 MATHEMATICAL SANS-SERIF BOLD SMALL S
+1D601 MATHEMATICAL SANS-SERIF BOLD SMALL T
+1D602 MATHEMATICAL SANS-SERIF BOLD SMALL U
+1D603 MATHEMATICAL SANS-SERIF BOLD SMALL V
+1D604 MATHEMATICAL SANS-SERIF BOLD SMALL W
+1D605 MATHEMATICAL SANS-SERIF BOLD SMALL X
+1D606 MATHEMATICAL SANS-SERIF BOLD SMALL Y
+1D607 MATHEMATICAL SANS-SERIF BOLD SMALL Z
+1D608 MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
+1D609 MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
+1D60A MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
+1D60B MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
+1D60C MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
+1D60D MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
+1D60E MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
+1D60F MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
+1D610 MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
+1D611 MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
+1D612 MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
+1D613 MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
+1D614 MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
+1D615 MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
+1D616 MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
+1D617 MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
+1D618 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
+1D619 MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
+1D61A MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
+1D61B MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
+1D61C MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
+1D61D MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
+1D61E MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
+1D61F MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
+1D620 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
+1D621 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
+1D622 MATHEMATICAL SANS-SERIF ITALIC SMALL A
+1D623 MATHEMATICAL SANS-SERIF ITALIC SMALL B
+1D624 MATHEMATICAL SANS-SERIF ITALIC SMALL C
+1D625 MATHEMATICAL SANS-SERIF ITALIC SMALL D
+1D626 MATHEMATICAL SANS-SERIF ITALIC SMALL E
+1D627 MATHEMATICAL SANS-SERIF ITALIC SMALL F
+1D628 MATHEMATICAL SANS-SERIF ITALIC SMALL G
+1D629 MATHEMATICAL SANS-SERIF ITALIC SMALL H
+1D62A MATHEMATICAL SANS-SERIF ITALIC SMALL I
+1D62B MATHEMATICAL SANS-SERIF ITALIC SMALL J
+1D62C MATHEMATICAL SANS-SERIF ITALIC SMALL K
+1D62D MATHEMATICAL SANS-SERIF ITALIC SMALL L
+1D62E MATHEMATICAL SANS-SERIF ITALIC SMALL M
+1D62F MATHEMATICAL SANS-SERIF ITALIC SMALL N
+1D630 MATHEMATICAL SANS-SERIF ITALIC SMALL O
+1D631 MATHEMATICAL SANS-SERIF ITALIC SMALL P
+1D632 MATHEMATICAL SANS-SERIF ITALIC SMALL Q
+1D633 MATHEMATICAL SANS-SERIF ITALIC SMALL R
+1D634 MATHEMATICAL SANS-SERIF ITALIC SMALL S
+1D635 MATHEMATICAL SANS-SERIF ITALIC SMALL T
+1D636 MATHEMATICAL SANS-SERIF ITALIC SMALL U
+1D637 MATHEMATICAL SANS-SERIF ITALIC SMALL V
+1D638 MATHEMATICAL SANS-SERIF ITALIC SMALL W
+1D639 MATHEMATICAL SANS-SERIF ITALIC SMALL X
+1D63A MATHEMATICAL SANS-SERIF ITALIC SMALL Y
+1D63B MATHEMATICAL SANS-SERIF ITALIC SMALL Z
+1D63C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
+1D63D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
+1D63E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
+1D63F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
+1D640 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
+1D641 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
+1D642 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
+1D643 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
+1D644 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
+1D645 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
+1D646 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
+1D647 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
+1D648 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
+1D649 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
+1D64A MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
+1D64B MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
+1D64C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
+1D64D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
+1D64E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
+1D64F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
+1D650 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
+1D651 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
+1D652 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
+1D653 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
+1D654 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
+1D655 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
+1D656 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
+1D657 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
+1D658 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
+1D659 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
+1D65A MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
+1D65B MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
+1D65C MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
+1D65D MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
+1D65E MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
+1D65F MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
+1D660 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
+1D661 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
+1D662 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
+1D663 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
+1D664 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
+1D665 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
+1D666 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
+1D667 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
+1D668 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
+1D669 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
+1D66A MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
+1D66B MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
+1D66C MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
+1D66D MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
+1D66E MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
+1D66F MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
+1D670 MATHEMATICAL MONOSPACE CAPITAL A
+1D671 MATHEMATICAL MONOSPACE CAPITAL B
+1D672 MATHEMATICAL MONOSPACE CAPITAL C
+1D673 MATHEMATICAL MONOSPACE CAPITAL D
+1D674 MATHEMATICAL MONOSPACE CAPITAL E
+1D675 MATHEMATICAL MONOSPACE CAPITAL F
+1D676 MATHEMATICAL MONOSPACE CAPITAL G
+1D677 MATHEMATICAL MONOSPACE CAPITAL H
+1D678 MATHEMATICAL MONOSPACE CAPITAL I
+1D679 MATHEMATICAL MONOSPACE CAPITAL J
+1D67A MATHEMATICAL MONOSPACE CAPITAL K
+1D67B MATHEMATICAL MONOSPACE CAPITAL L
+1D67C MATHEMATICAL MONOSPACE CAPITAL M
+1D67D MATHEMATICAL MONOSPACE CAPITAL N
+1D67E MATHEMATICAL MONOSPACE CAPITAL O
+1D67F MATHEMATICAL MONOSPACE CAPITAL P
+1D680 MATHEMATICAL MONOSPACE CAPITAL Q
+1D681 MATHEMATICAL MONOSPACE CAPITAL R
+1D682 MATHEMATICAL MONOSPACE CAPITAL S
+1D683 MATHEMATICAL MONOSPACE CAPITAL T
+1D684 MATHEMATICAL MONOSPACE CAPITAL U
+1D685 MATHEMATICAL MONOSPACE CAPITAL V
+1D686 MATHEMATICAL MONOSPACE CAPITAL W
+1D687 MATHEMATICAL MONOSPACE CAPITAL X
+1D688 MATHEMATICAL MONOSPACE CAPITAL Y
+1D689 MATHEMATICAL MONOSPACE CAPITAL Z
+1D68A MATHEMATICAL MONOSPACE SMALL A
+1D68B MATHEMATICAL MONOSPACE SMALL B
+1D68C MATHEMATICAL MONOSPACE SMALL C
+1D68D MATHEMATICAL MONOSPACE SMALL D
+1D68E MATHEMATICAL MONOSPACE SMALL E
+1D68F MATHEMATICAL MONOSPACE SMALL F
+1D690 MATHEMATICAL MONOSPACE SMALL G
+1D691 MATHEMATICAL MONOSPACE SMALL H
+1D692 MATHEMATICAL MONOSPACE SMALL I
+1D693 MATHEMATICAL MONOSPACE SMALL J
+1D694 MATHEMATICAL MONOSPACE SMALL K
+1D695 MATHEMATICAL MONOSPACE SMALL L
+1D696 MATHEMATICAL MONOSPACE SMALL M
+1D697 MATHEMATICAL MONOSPACE SMALL N
+1D698 MATHEMATICAL MONOSPACE SMALL O
+1D699 MATHEMATICAL MONOSPACE SMALL P
+1D69A MATHEMATICAL MONOSPACE SMALL Q
+1D69B MATHEMATICAL MONOSPACE SMALL R
+1D69C MATHEMATICAL MONOSPACE SMALL S
+1D69D MATHEMATICAL MONOSPACE SMALL T
+1D69E MATHEMATICAL MONOSPACE SMALL U
+1D69F MATHEMATICAL MONOSPACE SMALL V
+1D6A0 MATHEMATICAL MONOSPACE SMALL W
+1D6A1 MATHEMATICAL MONOSPACE SMALL X
+1D6A2 MATHEMATICAL MONOSPACE SMALL Y
+1D6A3 MATHEMATICAL MONOSPACE SMALL Z
+1D6A4 MATHEMATICAL ITALIC SMALL DOTLESS I
+1D6A5 MATHEMATICAL ITALIC SMALL DOTLESS J
+1D6A8 MATHEMATICAL BOLD CAPITAL ALPHA
+1D6A9 MATHEMATICAL BOLD CAPITAL BETA
+1D6AA MATHEMATICAL BOLD CAPITAL GAMMA
+1D6AB MATHEMATICAL BOLD CAPITAL DELTA
+1D6AC MATHEMATICAL BOLD CAPITAL EPSILON
+1D6AD MATHEMATICAL BOLD CAPITAL ZETA
+1D6AE MATHEMATICAL BOLD CAPITAL ETA
+1D6AF MATHEMATICAL BOLD CAPITAL THETA
+1D6B0 MATHEMATICAL BOLD CAPITAL IOTA
+1D6B1 MATHEMATICAL BOLD CAPITAL KAPPA
+1D6B2 MATHEMATICAL BOLD CAPITAL LAMDA
+1D6B3 MATHEMATICAL BOLD CAPITAL MU
+1D6B4 MATHEMATICAL BOLD CAPITAL NU
+1D6B5 MATHEMATICAL BOLD CAPITAL XI
+1D6B6 MATHEMATICAL BOLD CAPITAL OMICRON
+1D6B7 MATHEMATICAL BOLD CAPITAL PI
+1D6B8 MATHEMATICAL BOLD CAPITAL RHO
+1D6B9 MATHEMATICAL BOLD CAPITAL THETA SYMBOL
+1D6BA MATHEMATICAL BOLD CAPITAL SIGMA
+1D6BB MATHEMATICAL BOLD CAPITAL TAU
+1D6BC MATHEMATICAL BOLD CAPITAL UPSILON
+1D6BD MATHEMATICAL BOLD CAPITAL PHI
+1D6BE MATHEMATICAL BOLD CAPITAL CHI
+1D6BF MATHEMATICAL BOLD CAPITAL PSI
+1D6C0 MATHEMATICAL BOLD CAPITAL OMEGA
+1D6C1 MATHEMATICAL BOLD NABLA
+1D6C2 MATHEMATICAL BOLD SMALL ALPHA
+1D6C3 MATHEMATICAL BOLD SMALL BETA
+1D6C4 MATHEMATICAL BOLD SMALL GAMMA
+1D6C5 MATHEMATICAL BOLD SMALL DELTA
+1D6C6 MATHEMATICAL BOLD SMALL EPSILON
+1D6C7 MATHEMATICAL BOLD SMALL ZETA
+1D6C8 MATHEMATICAL BOLD SMALL ETA
+1D6C9 MATHEMATICAL BOLD SMALL THETA
+1D6CA MATHEMATICAL BOLD SMALL IOTA
+1D6CB MATHEMATICAL BOLD SMALL KAPPA
+1D6CC MATHEMATICAL BOLD SMALL LAMDA
+1D6CD MATHEMATICAL BOLD SMALL MU
+1D6CE MATHEMATICAL BOLD SMALL NU
+1D6CF MATHEMATICAL BOLD SMALL XI
+1D6D0 MATHEMATICAL BOLD SMALL OMICRON
+1D6D1 MATHEMATICAL BOLD SMALL PI
+1D6D2 MATHEMATICAL BOLD SMALL RHO
+1D6D3 MATHEMATICAL BOLD SMALL FINAL SIGMA
+1D6D4 MATHEMATICAL BOLD SMALL SIGMA
+1D6D5 MATHEMATICAL BOLD SMALL TAU
+1D6D6 MATHEMATICAL BOLD SMALL UPSILON
+1D6D7 MATHEMATICAL BOLD SMALL PHI
+1D6D8 MATHEMATICAL BOLD SMALL CHI
+1D6D9 MATHEMATICAL BOLD SMALL PSI
+1D6DA MATHEMATICAL BOLD SMALL OMEGA
+1D6DB MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6DC MATHEMATICAL BOLD EPSILON SYMBOL
+1D6DD MATHEMATICAL BOLD THETA SYMBOL
+1D6DE MATHEMATICAL BOLD KAPPA SYMBOL
+1D6DF MATHEMATICAL BOLD PHI SYMBOL
+1D6E0 MATHEMATICAL BOLD RHO SYMBOL
+1D6E1 MATHEMATICAL BOLD PI SYMBOL
+1D6E2 MATHEMATICAL ITALIC CAPITAL ALPHA
+1D6E3 MATHEMATICAL ITALIC CAPITAL BETA
+1D6E4 MATHEMATICAL ITALIC CAPITAL GAMMA
+1D6E5 MATHEMATICAL ITALIC CAPITAL DELTA
+1D6E6 MATHEMATICAL ITALIC CAPITAL EPSILON
+1D6E7 MATHEMATICAL ITALIC CAPITAL ZETA
+1D6E8 MATHEMATICAL ITALIC CAPITAL ETA
+1D6E9 MATHEMATICAL ITALIC CAPITAL THETA
+1D6EA MATHEMATICAL ITALIC CAPITAL IOTA
+1D6EB MATHEMATICAL ITALIC CAPITAL KAPPA
+1D6EC MATHEMATICAL ITALIC CAPITAL LAMDA
+1D6ED MATHEMATICAL ITALIC CAPITAL MU
+1D6EE MATHEMATICAL ITALIC CAPITAL NU
+1D6EF MATHEMATICAL ITALIC CAPITAL XI
+1D6F0 MATHEMATICAL ITALIC CAPITAL OMICRON
+1D6F1 MATHEMATICAL ITALIC CAPITAL PI
+1D6F2 MATHEMATICAL ITALIC CAPITAL RHO
+1D6F3 MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
+1D6F4 MATHEMATICAL ITALIC CAPITAL SIGMA
+1D6F5 MATHEMATICAL ITALIC CAPITAL TAU
+1D6F6 MATHEMATICAL ITALIC CAPITAL UPSILON
+1D6F7 MATHEMATICAL ITALIC CAPITAL PHI
+1D6F8 MATHEMATICAL ITALIC CAPITAL CHI
+1D6F9 MATHEMATICAL ITALIC CAPITAL PSI
+1D6FA MATHEMATICAL ITALIC CAPITAL OMEGA
+1D6FB MATHEMATICAL ITALIC NABLA
+1D6FC MATHEMATICAL ITALIC SMALL ALPHA
+1D6FD MATHEMATICAL ITALIC SMALL BETA
+1D6FE MATHEMATICAL ITALIC SMALL GAMMA
+1D6FF MATHEMATICAL ITALIC SMALL DELTA
+1D700 MATHEMATICAL ITALIC SMALL EPSILON
+1D701 MATHEMATICAL ITALIC SMALL ZETA
+1D702 MATHEMATICAL ITALIC SMALL ETA
+1D703 MATHEMATICAL ITALIC SMALL THETA
+1D704 MATHEMATICAL ITALIC SMALL IOTA
+1D705 MATHEMATICAL ITALIC SMALL KAPPA
+1D706 MATHEMATICAL ITALIC SMALL LAMDA
+1D707 MATHEMATICAL ITALIC SMALL MU
+1D708 MATHEMATICAL ITALIC SMALL NU
+1D709 MATHEMATICAL ITALIC SMALL XI
+1D70A MATHEMATICAL ITALIC SMALL OMICRON
+1D70B MATHEMATICAL ITALIC SMALL PI
+1D70C MATHEMATICAL ITALIC SMALL RHO
+1D70D MATHEMATICAL ITALIC SMALL FINAL SIGMA
+1D70E MATHEMATICAL ITALIC SMALL SIGMA
+1D70F MATHEMATICAL ITALIC SMALL TAU
+1D710 MATHEMATICAL ITALIC SMALL UPSILON
+1D711 MATHEMATICAL ITALIC SMALL PHI
+1D712 MATHEMATICAL ITALIC SMALL CHI
+1D713 MATHEMATICAL ITALIC SMALL PSI
+1D714 MATHEMATICAL ITALIC SMALL OMEGA
+1D715 MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D716 MATHEMATICAL ITALIC EPSILON SYMBOL
+1D717 MATHEMATICAL ITALIC THETA SYMBOL
+1D718 MATHEMATICAL ITALIC KAPPA SYMBOL
+1D719 MATHEMATICAL ITALIC PHI SYMBOL
+1D71A MATHEMATICAL ITALIC RHO SYMBOL
+1D71B MATHEMATICAL ITALIC PI SYMBOL
+1D71C MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
+1D71D MATHEMATICAL BOLD ITALIC CAPITAL BETA
+1D71E MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
+1D71F MATHEMATICAL BOLD ITALIC CAPITAL DELTA
+1D720 MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
+1D721 MATHEMATICAL BOLD ITALIC CAPITAL ZETA
+1D722 MATHEMATICAL BOLD ITALIC CAPITAL ETA
+1D723 MATHEMATICAL BOLD ITALIC CAPITAL THETA
+1D724 MATHEMATICAL BOLD ITALIC CAPITAL IOTA
+1D725 MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
+1D726 MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
+1D727 MATHEMATICAL BOLD ITALIC CAPITAL MU
+1D728 MATHEMATICAL BOLD ITALIC CAPITAL NU
+1D729 MATHEMATICAL BOLD ITALIC CAPITAL XI
+1D72A MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
+1D72B MATHEMATICAL BOLD ITALIC CAPITAL PI
+1D72C MATHEMATICAL BOLD ITALIC CAPITAL RHO
+1D72D MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
+1D72E MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
+1D72F MATHEMATICAL BOLD ITALIC CAPITAL TAU
+1D730 MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
+1D731 MATHEMATICAL BOLD ITALIC CAPITAL PHI
+1D732 MATHEMATICAL BOLD ITALIC CAPITAL CHI
+1D733 MATHEMATICAL BOLD ITALIC CAPITAL PSI
+1D734 MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D735 MATHEMATICAL BOLD ITALIC NABLA
+1D736 MATHEMATICAL BOLD ITALIC SMALL ALPHA
+1D737 MATHEMATICAL BOLD ITALIC SMALL BETA
+1D738 MATHEMATICAL BOLD ITALIC SMALL GAMMA
+1D739 MATHEMATICAL BOLD ITALIC SMALL DELTA
+1D73A MATHEMATICAL BOLD ITALIC SMALL EPSILON
+1D73B MATHEMATICAL BOLD ITALIC SMALL ZETA
+1D73C MATHEMATICAL BOLD ITALIC SMALL ETA
+1D73D MATHEMATICAL BOLD ITALIC SMALL THETA
+1D73E MATHEMATICAL BOLD ITALIC SMALL IOTA
+1D73F MATHEMATICAL BOLD ITALIC SMALL KAPPA
+1D740 MATHEMATICAL BOLD ITALIC SMALL LAMDA
+1D741 MATHEMATICAL BOLD ITALIC SMALL MU
+1D742 MATHEMATICAL BOLD ITALIC SMALL NU
+1D743 MATHEMATICAL BOLD ITALIC SMALL XI
+1D744 MATHEMATICAL BOLD ITALIC SMALL OMICRON
+1D745 MATHEMATICAL BOLD ITALIC SMALL PI
+1D746 MATHEMATICAL BOLD ITALIC SMALL RHO
+1D747 MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
+1D748 MATHEMATICAL BOLD ITALIC SMALL SIGMA
+1D749 MATHEMATICAL BOLD ITALIC SMALL TAU
+1D74A MATHEMATICAL BOLD ITALIC SMALL UPSILON
+1D74B MATHEMATICAL BOLD ITALIC SMALL PHI
+1D74C MATHEMATICAL BOLD ITALIC SMALL CHI
+1D74D MATHEMATICAL BOLD ITALIC SMALL PSI
+1D74E MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D74F MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D750 MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
+1D751 MATHEMATICAL BOLD ITALIC THETA SYMBOL
+1D752 MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
+1D753 MATHEMATICAL BOLD ITALIC PHI SYMBOL
+1D754 MATHEMATICAL BOLD ITALIC RHO SYMBOL
+1D755 MATHEMATICAL BOLD ITALIC PI SYMBOL
+1D756 MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
+1D757 MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
+1D758 MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
+1D759 MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
+1D75A MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
+1D75B MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
+1D75C MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
+1D75D MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
+1D75E MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
+1D75F MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
+1D760 MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
+1D761 MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
+1D762 MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
+1D763 MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
+1D764 MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
+1D765 MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
+1D766 MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
+1D767 MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
+1D768 MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
+1D769 MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
+1D76A MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
+1D76B MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
+1D76C MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
+1D76D MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
+1D76E MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D76F MATHEMATICAL SANS-SERIF BOLD NABLA
+1D770 MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
+1D771 MATHEMATICAL SANS-SERIF BOLD SMALL BETA
+1D772 MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
+1D773 MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
+1D774 MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
+1D775 MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
+1D776 MATHEMATICAL SANS-SERIF BOLD SMALL ETA
+1D777 MATHEMATICAL SANS-SERIF BOLD SMALL THETA
+1D778 MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
+1D779 MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
+1D77A MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
+1D77B MATHEMATICAL SANS-SERIF BOLD SMALL MU
+1D77C MATHEMATICAL SANS-SERIF BOLD SMALL NU
+1D77D MATHEMATICAL SANS-SERIF BOLD SMALL XI
+1D77E MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
+1D77F MATHEMATICAL SANS-SERIF BOLD SMALL PI
+1D780 MATHEMATICAL SANS-SERIF BOLD SMALL RHO
+1D781 MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
+1D782 MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
+1D783 MATHEMATICAL SANS-SERIF BOLD SMALL TAU
+1D784 MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
+1D785 MATHEMATICAL SANS-SERIF BOLD SMALL PHI
+1D786 MATHEMATICAL SANS-SERIF BOLD SMALL CHI
+1D787 MATHEMATICAL SANS-SERIF BOLD SMALL PSI
+1D788 MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D789 MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D78A MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
+1D78B MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
+1D78C MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
+1D78D MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
+1D78E MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
+1D78F MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+1D790 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
+1D791 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
+1D792 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
+1D793 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
+1D794 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
+1D795 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
+1D796 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
+1D797 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
+1D798 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
+1D799 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
+1D79A MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
+1D79B MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
+1D79C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
+1D79D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
+1D79E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
+1D79F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
+1D7A0 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
+1D7A1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
+1D7A2 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
+1D7A3 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
+1D7A4 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
+1D7A5 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
+1D7A6 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
+1D7A7 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
+1D7A8 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1D7A9 MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7AA MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
+1D7AB MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
+1D7AC MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
+1D7AD MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
+1D7AE MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
+1D7AF MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
+1D7B0 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
+1D7B1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
+1D7B2 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
+1D7B3 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
+1D7B4 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
+1D7B5 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
+1D7B6 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
+1D7B7 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
+1D7B8 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
+1D7B9 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
+1D7BA MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
+1D7BB MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
+1D7BC MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
+1D7BD MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
+1D7BE MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
+1D7BF MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
+1D7C0 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
+1D7C1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
+1D7C2 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+1D7C3 MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1D7C4 MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
+1D7C5 MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
+1D7C6 MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
+1D7C7 MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
+1D7C8 MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
+1D7C9 MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+1D7CA MATHEMATICAL BOLD CAPITAL DIGAMMA
+1D7CB MATHEMATICAL BOLD SMALL DIGAMMA
+1D7CE MATHEMATICAL BOLD DIGIT ZERO
+1D7CF MATHEMATICAL BOLD DIGIT ONE
+1D7D0 MATHEMATICAL BOLD DIGIT TWO
+1D7D1 MATHEMATICAL BOLD DIGIT THREE
+1D7D2 MATHEMATICAL BOLD DIGIT FOUR
+1D7D3 MATHEMATICAL BOLD DIGIT FIVE
+1D7D4 MATHEMATICAL BOLD DIGIT SIX
+1D7D5 MATHEMATICAL BOLD DIGIT SEVEN
+1D7D6 MATHEMATICAL BOLD DIGIT EIGHT
+1D7D7 MATHEMATICAL BOLD DIGIT NINE
+1D7D8 MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
+1D7D9 MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
+1D7DA MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
+1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
+1D7DC MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
+1D7DD MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
+1D7DE MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
+1D7DF MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
+1D7E0 MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
+1D7E1 MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
+1D7E2 MATHEMATICAL SANS-SERIF DIGIT ZERO
+1D7E3 MATHEMATICAL SANS-SERIF DIGIT ONE
+1D7E4 MATHEMATICAL SANS-SERIF DIGIT TWO
+1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE
+1D7E6 MATHEMATICAL SANS-SERIF DIGIT FOUR
+1D7E7 MATHEMATICAL SANS-SERIF DIGIT FIVE
+1D7E8 MATHEMATICAL SANS-SERIF DIGIT SIX
+1D7E9 MATHEMATICAL SANS-SERIF DIGIT SEVEN
+1D7EA MATHEMATICAL SANS-SERIF DIGIT EIGHT
+1D7EB MATHEMATICAL SANS-SERIF DIGIT NINE
+1D7EC MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
+1D7ED MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
+1D7EE MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
+1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
+1D7F0 MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
+1D7F1 MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
+1D7F2 MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
+1D7F3 MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
+1D7F4 MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
+1D7F5 MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
+1D7F6 MATHEMATICAL MONOSPACE DIGIT ZERO
+1D7F7 MATHEMATICAL MONOSPACE DIGIT ONE
+1D7F8 MATHEMATICAL MONOSPACE DIGIT TWO
+1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE
+1D7FA MATHEMATICAL MONOSPACE DIGIT FOUR
+1D7FB MATHEMATICAL MONOSPACE DIGIT FIVE
+1D7FC MATHEMATICAL MONOSPACE DIGIT SIX
+1D7FD MATHEMATICAL MONOSPACE DIGIT SEVEN
+1D7FE MATHEMATICAL MONOSPACE DIGIT EIGHT
+1D7FF MATHEMATICAL MONOSPACE DIGIT NINE
+1F000 MAHJONG TILE EAST WIND
+1F001 MAHJONG TILE SOUTH WIND
+1F002 MAHJONG TILE WEST WIND
+1F003 MAHJONG TILE NORTH WIND
+1F004 MAHJONG TILE RED DRAGON
+1F005 MAHJONG TILE GREEN DRAGON
+1F006 MAHJONG TILE WHITE DRAGON
+1F007 MAHJONG TILE ONE OF CHARACTERS
+1F008 MAHJONG TILE TWO OF CHARACTERS
+1F009 MAHJONG TILE THREE OF CHARACTERS
+1F00A MAHJONG TILE FOUR OF CHARACTERS
+1F00B MAHJONG TILE FIVE OF CHARACTERS
+1F00C MAHJONG TILE SIX OF CHARACTERS
+1F00D MAHJONG TILE SEVEN OF CHARACTERS
+1F00E MAHJONG TILE EIGHT OF CHARACTERS
+1F00F MAHJONG TILE NINE OF CHARACTERS
+1F010 MAHJONG TILE ONE OF BAMBOOS
+1F011 MAHJONG TILE TWO OF BAMBOOS
+1F012 MAHJONG TILE THREE OF BAMBOOS
+1F013 MAHJONG TILE FOUR OF BAMBOOS
+1F014 MAHJONG TILE FIVE OF BAMBOOS
+1F015 MAHJONG TILE SIX OF BAMBOOS
+1F016 MAHJONG TILE SEVEN OF BAMBOOS
+1F017 MAHJONG TILE EIGHT OF BAMBOOS
+1F018 MAHJONG TILE NINE OF BAMBOOS
+1F019 MAHJONG TILE ONE OF CIRCLES
+1F01A MAHJONG TILE TWO OF CIRCLES
+1F01B MAHJONG TILE THREE OF CIRCLES
+1F01C MAHJONG TILE FOUR OF CIRCLES
+1F01D MAHJONG TILE FIVE OF CIRCLES
+1F01E MAHJONG TILE SIX OF CIRCLES
+1F01F MAHJONG TILE SEVEN OF CIRCLES
+1F020 MAHJONG TILE EIGHT OF CIRCLES
+1F021 MAHJONG TILE NINE OF CIRCLES
+1F022 MAHJONG TILE PLUM
+1F023 MAHJONG TILE ORCHID
+1F024 MAHJONG TILE BAMBOO
+1F025 MAHJONG TILE CHRYSANTHEMUM
+1F026 MAHJONG TILE SPRING
+1F027 MAHJONG TILE SUMMER
+1F028 MAHJONG TILE AUTUMN
+1F029 MAHJONG TILE WINTER
+1F02A MAHJONG TILE JOKER
+1F02B MAHJONG TILE BACK
+1F030 DOMINO TILE HORIZONTAL BACK
+1F031 DOMINO TILE HORIZONTAL-00-00
+1F032 DOMINO TILE HORIZONTAL-00-01
+1F033 DOMINO TILE HORIZONTAL-00-02
+1F034 DOMINO TILE HORIZONTAL-00-03
+1F035 DOMINO TILE HORIZONTAL-00-04
+1F036 DOMINO TILE HORIZONTAL-00-05
+1F037 DOMINO TILE HORIZONTAL-00-06
+1F038 DOMINO TILE HORIZONTAL-01-00
+1F039 DOMINO TILE HORIZONTAL-01-01
+1F03A DOMINO TILE HORIZONTAL-01-02
+1F03B DOMINO TILE HORIZONTAL-01-03
+1F03C DOMINO TILE HORIZONTAL-01-04
+1F03D DOMINO TILE HORIZONTAL-01-05
+1F03E DOMINO TILE HORIZONTAL-01-06
+1F03F DOMINO TILE HORIZONTAL-02-00
+1F040 DOMINO TILE HORIZONTAL-02-01
+1F041 DOMINO TILE HORIZONTAL-02-02
+1F042 DOMINO TILE HORIZONTAL-02-03
+1F043 DOMINO TILE HORIZONTAL-02-04
+1F044 DOMINO TILE HORIZONTAL-02-05
+1F045 DOMINO TILE HORIZONTAL-02-06
+1F046 DOMINO TILE HORIZONTAL-03-00
+1F047 DOMINO TILE HORIZONTAL-03-01
+1F048 DOMINO TILE HORIZONTAL-03-02
+1F049 DOMINO TILE HORIZONTAL-03-03
+1F04A DOMINO TILE HORIZONTAL-03-04
+1F04B DOMINO TILE HORIZONTAL-03-05
+1F04C DOMINO TILE HORIZONTAL-03-06
+1F04D DOMINO TILE HORIZONTAL-04-00
+1F04E DOMINO TILE HORIZONTAL-04-01
+1F04F DOMINO TILE HORIZONTAL-04-02
+1F050 DOMINO TILE HORIZONTAL-04-03
+1F051 DOMINO TILE HORIZONTAL-04-04
+1F052 DOMINO TILE HORIZONTAL-04-05
+1F053 DOMINO TILE HORIZONTAL-04-06
+1F054 DOMINO TILE HORIZONTAL-05-00
+1F055 DOMINO TILE HORIZONTAL-05-01
+1F056 DOMINO TILE HORIZONTAL-05-02
+1F057 DOMINO TILE HORIZONTAL-05-03
+1F058 DOMINO TILE HORIZONTAL-05-04
+1F059 DOMINO TILE HORIZONTAL-05-05
+1F05A DOMINO TILE HORIZONTAL-05-06
+1F05B DOMINO TILE HORIZONTAL-06-00
+1F05C DOMINO TILE HORIZONTAL-06-01
+1F05D DOMINO TILE HORIZONTAL-06-02
+1F05E DOMINO TILE HORIZONTAL-06-03
+1F05F DOMINO TILE HORIZONTAL-06-04
+1F060 DOMINO TILE HORIZONTAL-06-05
+1F061 DOMINO TILE HORIZONTAL-06-06
+1F062 DOMINO TILE VERTICAL BACK
+1F063 DOMINO TILE VERTICAL-00-00
+1F064 DOMINO TILE VERTICAL-00-01
+1F065 DOMINO TILE VERTICAL-00-02
+1F066 DOMINO TILE VERTICAL-00-03
+1F067 DOMINO TILE VERTICAL-00-04
+1F068 DOMINO TILE VERTICAL-00-05
+1F069 DOMINO TILE VERTICAL-00-06
+1F06A DOMINO TILE VERTICAL-01-00
+1F06B DOMINO TILE VERTICAL-01-01
+1F06C DOMINO TILE VERTICAL-01-02
+1F06D DOMINO TILE VERTICAL-01-03
+1F06E DOMINO TILE VERTICAL-01-04
+1F06F DOMINO TILE VERTICAL-01-05
+1F070 DOMINO TILE VERTICAL-01-06
+1F071 DOMINO TILE VERTICAL-02-00
+1F072 DOMINO TILE VERTICAL-02-01
+1F073 DOMINO TILE VERTICAL-02-02
+1F074 DOMINO TILE VERTICAL-02-03
+1F075 DOMINO TILE VERTICAL-02-04
+1F076 DOMINO TILE VERTICAL-02-05
+1F077 DOMINO TILE VERTICAL-02-06
+1F078 DOMINO TILE VERTICAL-03-00
+1F079 DOMINO TILE VERTICAL-03-01
+1F07A DOMINO TILE VERTICAL-03-02
+1F07B DOMINO TILE VERTICAL-03-03
+1F07C DOMINO TILE VERTICAL-03-04
+1F07D DOMINO TILE VERTICAL-03-05
+1F07E DOMINO TILE VERTICAL-03-06
+1F07F DOMINO TILE VERTICAL-04-00
+1F080 DOMINO TILE VERTICAL-04-01
+1F081 DOMINO TILE VERTICAL-04-02
+1F082 DOMINO TILE VERTICAL-04-03
+1F083 DOMINO TILE VERTICAL-04-04
+1F084 DOMINO TILE VERTICAL-04-05
+1F085 DOMINO TILE VERTICAL-04-06
+1F086 DOMINO TILE VERTICAL-05-00
+1F087 DOMINO TILE VERTICAL-05-01
+1F088 DOMINO TILE VERTICAL-05-02
+1F089 DOMINO TILE VERTICAL-05-03
+1F08A DOMINO TILE VERTICAL-05-04
+1F08B DOMINO TILE VERTICAL-05-05
+1F08C DOMINO TILE VERTICAL-05-06
+1F08D DOMINO TILE VERTICAL-06-00
+1F08E DOMINO TILE VERTICAL-06-01
+1F08F DOMINO TILE VERTICAL-06-02
+1F090 DOMINO TILE VERTICAL-06-03
+1F091 DOMINO TILE VERTICAL-06-04
+1F092 DOMINO TILE VERTICAL-06-05
+1F093 DOMINO TILE VERTICAL-06-06
+1F0A0 PLAYING CARD BACK
+1F0A1 PLAYING CARD ACE OF SPADES
+1F0A2 PLAYING CARD TWO OF SPADES
+1F0A3 PLAYING CARD THREE OF SPADES
+1F0A4 PLAYING CARD FOUR OF SPADES
+1F0A5 PLAYING CARD FIVE OF SPADES
+1F0A6 PLAYING CARD SIX OF SPADES
+1F0A7 PLAYING CARD SEVEN OF SPADES
+1F0A8 PLAYING CARD EIGHT OF SPADES
+1F0A9 PLAYING CARD NINE OF SPADES
+1F0AA PLAYING CARD TEN OF SPADES
+1F0AB PLAYING CARD JACK OF SPADES
+1F0AC PLAYING CARD KNIGHT OF SPADES
+1F0AD PLAYING CARD QUEEN OF SPADES
+1F0AE PLAYING CARD KING OF SPADES
+1F0B1 PLAYING CARD ACE OF HEARTS
+1F0B2 PLAYING CARD TWO OF HEARTS
+1F0B3 PLAYING CARD THREE OF HEARTS
+1F0B4 PLAYING CARD FOUR OF HEARTS
+1F0B5 PLAYING CARD FIVE OF HEARTS
+1F0B6 PLAYING CARD SIX OF HEARTS
+1F0B7 PLAYING CARD SEVEN OF HEARTS
+1F0B8 PLAYING CARD EIGHT OF HEARTS
+1F0B9 PLAYING CARD NINE OF HEARTS
+1F0BA PLAYING CARD TEN OF HEARTS
+1F0BB PLAYING CARD JACK OF HEARTS
+1F0BC PLAYING CARD KNIGHT OF HEARTS
+1F0BD PLAYING CARD QUEEN OF HEARTS
+1F0BE PLAYING CARD KING OF HEARTS
+1F0C1 PLAYING CARD ACE OF DIAMONDS
+1F0C2 PLAYING CARD TWO OF DIAMONDS
+1F0C3 PLAYING CARD THREE OF DIAMONDS
+1F0C4 PLAYING CARD FOUR OF DIAMONDS
+1F0C5 PLAYING CARD FIVE OF DIAMONDS
+1F0C6 PLAYING CARD SIX OF DIAMONDS
+1F0C7 PLAYING CARD SEVEN OF DIAMONDS
+1F0C8 PLAYING CARD EIGHT OF DIAMONDS
+1F0C9 PLAYING CARD NINE OF DIAMONDS
+1F0CA PLAYING CARD TEN OF DIAMONDS
+1F0CB PLAYING CARD JACK OF DIAMONDS
+1F0CC PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD PLAYING CARD QUEEN OF DIAMONDS
+1F0CE PLAYING CARD KING OF DIAMONDS
+1F0CF PLAYING CARD BLACK JOKER
+1F0D1 PLAYING CARD ACE OF CLUBS
+1F0D2 PLAYING CARD TWO OF CLUBS
+1F0D3 PLAYING CARD THREE OF CLUBS
+1F0D4 PLAYING CARD FOUR OF CLUBS
+1F0D5 PLAYING CARD FIVE OF CLUBS
+1F0D6 PLAYING CARD SIX OF CLUBS
+1F0D7 PLAYING CARD SEVEN OF CLUBS
+1F0D8 PLAYING CARD EIGHT OF CLUBS
+1F0D9 PLAYING CARD NINE OF CLUBS
+1F0DA PLAYING CARD TEN OF CLUBS
+1F0DB PLAYING CARD JACK OF CLUBS
+1F0DC PLAYING CARD KNIGHT OF CLUBS
+1F0DD PLAYING CARD QUEEN OF CLUBS
+1F0DE PLAYING CARD KING OF CLUBS
+1F0DF PLAYING CARD WHITE JOKER
+1F100 DIGIT ZERO FULL STOP
+1F101 DIGIT ZERO COMMA
+1F102 DIGIT ONE COMMA
+1F103 DIGIT TWO COMMA
+1F104 DIGIT THREE COMMA
+1F105 DIGIT FOUR COMMA
+1F106 DIGIT FIVE COMMA
+1F107 DIGIT SIX COMMA
+1F108 DIGIT SEVEN COMMA
+1F109 DIGIT EIGHT COMMA
+1F10A DIGIT NINE COMMA
+1F110 PARENTHESIZED LATIN CAPITAL LETTER A
+1F111 PARENTHESIZED LATIN CAPITAL LETTER B
+1F112 PARENTHESIZED LATIN CAPITAL LETTER C
+1F113 PARENTHESIZED LATIN CAPITAL LETTER D
+1F114 PARENTHESIZED LATIN CAPITAL LETTER E
+1F115 PARENTHESIZED LATIN CAPITAL LETTER F
+1F116 PARENTHESIZED LATIN CAPITAL LETTER G
+1F117 PARENTHESIZED LATIN CAPITAL LETTER H
+1F118 PARENTHESIZED LATIN CAPITAL LETTER I
+1F119 PARENTHESIZED LATIN CAPITAL LETTER J
+1F11A PARENTHESIZED LATIN CAPITAL LETTER K
+1F11B PARENTHESIZED LATIN CAPITAL LETTER L
+1F11C PARENTHESIZED LATIN CAPITAL LETTER M
+1F11D PARENTHESIZED LATIN CAPITAL LETTER N
+1F11E PARENTHESIZED LATIN CAPITAL LETTER O
+1F11F PARENTHESIZED LATIN CAPITAL LETTER P
+1F120 PARENTHESIZED LATIN CAPITAL LETTER Q
+1F121 PARENTHESIZED LATIN CAPITAL LETTER R
+1F122 PARENTHESIZED LATIN CAPITAL LETTER S
+1F123 PARENTHESIZED LATIN CAPITAL LETTER T
+1F124 PARENTHESIZED LATIN CAPITAL LETTER U
+1F125 PARENTHESIZED LATIN CAPITAL LETTER V
+1F126 PARENTHESIZED LATIN CAPITAL LETTER W
+1F127 PARENTHESIZED LATIN CAPITAL LETTER X
+1F128 PARENTHESIZED LATIN CAPITAL LETTER Y
+1F129 PARENTHESIZED LATIN CAPITAL LETTER Z
+1F12A TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
+1F12B CIRCLED ITALIC LATIN CAPITAL LETTER C
+1F12C CIRCLED ITALIC LATIN CAPITAL LETTER R
+1F12D CIRCLED CD
+1F12E CIRCLED WZ
+1F130 SQUARED LATIN CAPITAL LETTER A
+1F131 SQUARED LATIN CAPITAL LETTER B
+1F132 SQUARED LATIN CAPITAL LETTER C
+1F133 SQUARED LATIN CAPITAL LETTER D
+1F134 SQUARED LATIN CAPITAL LETTER E
+1F135 SQUARED LATIN CAPITAL LETTER F
+1F136 SQUARED LATIN CAPITAL LETTER G
+1F137 SQUARED LATIN CAPITAL LETTER H
+1F138 SQUARED LATIN CAPITAL LETTER I
+1F139 SQUARED LATIN CAPITAL LETTER J
+1F13A SQUARED LATIN CAPITAL LETTER K
+1F13B SQUARED LATIN CAPITAL LETTER L
+1F13C SQUARED LATIN CAPITAL LETTER M
+1F13D SQUARED LATIN CAPITAL LETTER N
+1F13E SQUARED LATIN CAPITAL LETTER O
+1F13F SQUARED LATIN CAPITAL LETTER P
+1F140 SQUARED LATIN CAPITAL LETTER Q
+1F141 SQUARED LATIN CAPITAL LETTER R
+1F142 SQUARED LATIN CAPITAL LETTER S
+1F143 SQUARED LATIN CAPITAL LETTER T
+1F144 SQUARED LATIN CAPITAL LETTER U
+1F145 SQUARED LATIN CAPITAL LETTER V
+1F146 SQUARED LATIN CAPITAL LETTER W
+1F147 SQUARED LATIN CAPITAL LETTER X
+1F148 SQUARED LATIN CAPITAL LETTER Y
+1F149 SQUARED LATIN CAPITAL LETTER Z
+1F14A SQUARED HV
+1F14B SQUARED MV
+1F14C SQUARED SD
+1F14D SQUARED SS
+1F14E SQUARED PPV
+1F14F SQUARED WC
+1F150 NEGATIVE CIRCLED LATIN CAPITAL LETTER A
+1F151 NEGATIVE CIRCLED LATIN CAPITAL LETTER B
+1F152 NEGATIVE CIRCLED LATIN CAPITAL LETTER C
+1F153 NEGATIVE CIRCLED LATIN CAPITAL LETTER D
+1F154 NEGATIVE CIRCLED LATIN CAPITAL LETTER E
+1F155 NEGATIVE CIRCLED LATIN CAPITAL LETTER F
+1F156 NEGATIVE CIRCLED LATIN CAPITAL LETTER G
+1F157 NEGATIVE CIRCLED LATIN CAPITAL LETTER H
+1F158 NEGATIVE CIRCLED LATIN CAPITAL LETTER I
+1F159 NEGATIVE CIRCLED LATIN CAPITAL LETTER J
+1F15A NEGATIVE CIRCLED LATIN CAPITAL LETTER K
+1F15B NEGATIVE CIRCLED LATIN CAPITAL LETTER L
+1F15C NEGATIVE CIRCLED LATIN CAPITAL LETTER M
+1F15D NEGATIVE CIRCLED LATIN CAPITAL LETTER N
+1F15E NEGATIVE CIRCLED LATIN CAPITAL LETTER O
+1F15F NEGATIVE CIRCLED LATIN CAPITAL LETTER P
+1F160 NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
+1F161 NEGATIVE CIRCLED LATIN CAPITAL LETTER R
+1F162 NEGATIVE CIRCLED LATIN CAPITAL LETTER S
+1F163 NEGATIVE CIRCLED LATIN CAPITAL LETTER T
+1F164 NEGATIVE CIRCLED LATIN CAPITAL LETTER U
+1F165 NEGATIVE CIRCLED LATIN CAPITAL LETTER V
+1F166 NEGATIVE CIRCLED LATIN CAPITAL LETTER W
+1F167 NEGATIVE CIRCLED LATIN CAPITAL LETTER X
+1F168 NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
+1F169 NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F170 NEGATIVE SQUARED LATIN CAPITAL LETTER A
+1F171 NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1F172 NEGATIVE SQUARED LATIN CAPITAL LETTER C
+1F173 NEGATIVE SQUARED LATIN CAPITAL LETTER D
+1F174 NEGATIVE SQUARED LATIN CAPITAL LETTER E
+1F175 NEGATIVE SQUARED LATIN CAPITAL LETTER F
+1F176 NEGATIVE SQUARED LATIN CAPITAL LETTER G
+1F177 NEGATIVE SQUARED LATIN CAPITAL LETTER H
+1F178 NEGATIVE SQUARED LATIN CAPITAL LETTER I
+1F179 NEGATIVE SQUARED LATIN CAPITAL LETTER J
+1F17A NEGATIVE SQUARED LATIN CAPITAL LETTER K
+1F17B NEGATIVE SQUARED LATIN CAPITAL LETTER L
+1F17C NEGATIVE SQUARED LATIN CAPITAL LETTER M
+1F17D NEGATIVE SQUARED LATIN CAPITAL LETTER N
+1F17E NEGATIVE SQUARED LATIN CAPITAL LETTER O
+1F17F NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F180 NEGATIVE SQUARED LATIN CAPITAL LETTER Q
+1F181 NEGATIVE SQUARED LATIN CAPITAL LETTER R
+1F182 NEGATIVE SQUARED LATIN CAPITAL LETTER S
+1F183 NEGATIVE SQUARED LATIN CAPITAL LETTER T
+1F184 NEGATIVE SQUARED LATIN CAPITAL LETTER U
+1F185 NEGATIVE SQUARED LATIN CAPITAL LETTER V
+1F186 NEGATIVE SQUARED LATIN CAPITAL LETTER W
+1F187 NEGATIVE SQUARED LATIN CAPITAL LETTER X
+1F188 NEGATIVE SQUARED LATIN CAPITAL LETTER Y
+1F189 NEGATIVE SQUARED LATIN CAPITAL LETTER Z
+1F18A CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F18B NEGATIVE SQUARED IC
+1F18C NEGATIVE SQUARED PA
+1F18D NEGATIVE SQUARED SA
+1F18E NEGATIVE SQUARED AB
+1F18F NEGATIVE SQUARED WC
+1F190 SQUARE DJ
+1F191 SQUARED CL
+1F192 SQUARED COOL
+1F193 SQUARED FREE
+1F194 SQUARED ID
+1F195 SQUARED NEW
+1F196 SQUARED NG
+1F197 SQUARED OK
+1F198 SQUARED SOS
+1F199 SQUARED UP WITH EXCLAMATION MARK
+1F19A SQUARED VS
+1F1E6 REGIONAL INDICATOR SYMBOL LETTER A
+1F1E7 REGIONAL INDICATOR SYMBOL LETTER B
+1F1E8 REGIONAL INDICATOR SYMBOL LETTER C
+1F1E9 REGIONAL INDICATOR SYMBOL LETTER D
+1F1EA REGIONAL INDICATOR SYMBOL LETTER E
+1F1EB REGIONAL INDICATOR SYMBOL LETTER F
+1F1EC REGIONAL INDICATOR SYMBOL LETTER G
+1F1ED REGIONAL INDICATOR SYMBOL LETTER H
+1F1EE REGIONAL INDICATOR SYMBOL LETTER I
+1F1EF REGIONAL INDICATOR SYMBOL LETTER J
+1F1F0 REGIONAL INDICATOR SYMBOL LETTER K
+1F1F1 REGIONAL INDICATOR SYMBOL LETTER L
+1F1F2 REGIONAL INDICATOR SYMBOL LETTER M
+1F1F3 REGIONAL INDICATOR SYMBOL LETTER N
+1F1F4 REGIONAL INDICATOR SYMBOL LETTER O
+1F1F5 REGIONAL INDICATOR SYMBOL LETTER P
+1F1F6 REGIONAL INDICATOR SYMBOL LETTER Q
+1F1F7 REGIONAL INDICATOR SYMBOL LETTER R
+1F1F8 REGIONAL INDICATOR SYMBOL LETTER S
+1F1F9 REGIONAL INDICATOR SYMBOL LETTER T
+1F1FA REGIONAL INDICATOR SYMBOL LETTER U
+1F1FB REGIONAL INDICATOR SYMBOL LETTER V
+1F1FC REGIONAL INDICATOR SYMBOL LETTER W
+1F1FD REGIONAL INDICATOR SYMBOL LETTER X
+1F1FE REGIONAL INDICATOR SYMBOL LETTER Y
+1F1FF REGIONAL INDICATOR SYMBOL LETTER Z
+1F200 SQUARE HIRAGANA HOKA
+1F201 SQUARED KATAKANA KOKO
+1F202 SQUARED KATAKANA SA
+1F210 SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F211 SQUARED CJK UNIFIED IDEOGRAPH-5B57
+1F212 SQUARED CJK UNIFIED IDEOGRAPH-53CC
+1F213 SQUARED KATAKANA DE
+1F214 SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+1F215 SQUARED CJK UNIFIED IDEOGRAPH-591A
+1F216 SQUARED CJK UNIFIED IDEOGRAPH-89E3
+1F217 SQUARED CJK UNIFIED IDEOGRAPH-5929
+1F218 SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+1F219 SQUARED CJK UNIFIED IDEOGRAPH-6620
+1F21A SQUARED CJK UNIFIED IDEOGRAPH-7121
+1F21B SQUARED CJK UNIFIED IDEOGRAPH-6599
+1F21C SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F21D SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F21E SQUARED CJK UNIFIED IDEOGRAPH-518D
+1F21F SQUARED CJK UNIFIED IDEOGRAPH-65B0
+1F220 SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F221 SQUARED CJK UNIFIED IDEOGRAPH-7D42
+1F222 SQUARED CJK UNIFIED IDEOGRAPH-751F
+1F223 SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+1F224 SQUARED CJK UNIFIED IDEOGRAPH-58F0
+1F225 SQUARED CJK UNIFIED IDEOGRAPH-5439
+1F226 SQUARED CJK UNIFIED IDEOGRAPH-6F14
+1F227 SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F228 SQUARED CJK UNIFIED IDEOGRAPH-6355
+1F229 SQUARED CJK UNIFIED IDEOGRAPH-4E00
+1F22A SQUARED CJK UNIFIED IDEOGRAPH-4E09
+1F22B SQUARED CJK UNIFIED IDEOGRAPH-904A
+1F22C SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+1F22D SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+1F22E SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F22F SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F230 SQUARED CJK UNIFIED IDEOGRAPH-8D70
+1F231 SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F232 SQUARED CJK UNIFIED IDEOGRAPH-7981
+1F233 SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+1F234 SQUARED CJK UNIFIED IDEOGRAPH-5408
+1F235 SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F236 SQUARED CJK UNIFIED IDEOGRAPH-6709
+1F237 SQUARED CJK UNIFIED IDEOGRAPH-6708
+1F238 SQUARED CJK UNIFIED IDEOGRAPH-7533
+1F239 SQUARED CJK UNIFIED IDEOGRAPH-5272
+1F23A SQUARED CJK UNIFIED IDEOGRAPH-55B6
+1F240 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F241 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F243 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F244 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F245 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F246 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+1F247 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F248 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F250 CIRCLED IDEOGRAPH ADVANTAGE
+1F251 CIRCLED IDEOGRAPH ACCEPT
+1F300 CYCLONE
+1F301 FOGGY
+1F302 CLOSED UMBRELLA
+1F303 NIGHT WITH STARS
+1F304 SUNRISE OVER MOUNTAINS
+1F305 SUNRISE
+1F306 CITYSCAPE AT DUSK
+1F307 SUNSET OVER BUILDINGS
+1F308 RAINBOW
+1F309 BRIDGE AT NIGHT
+1F30A WATER WAVE
+1F30B VOLCANO
+1F30C MILKY WAY
+1F30D EARTH GLOBE EUROPE-AFRICA
+1F30E EARTH GLOBE AMERICAS
+1F30F EARTH GLOBE ASIA-AUSTRALIA
+1F310 GLOBE WITH MERIDIANS
+1F311 NEW MOON SYMBOL
+1F312 WAXING CRESCENT MOON SYMBOL
+1F313 FIRST QUARTER MOON SYMBOL
+1F314 WAXING GIBBOUS MOON SYMBOL
+1F315 FULL MOON SYMBOL
+1F316 WANING GIBBOUS MOON SYMBOL
+1F317 LAST QUARTER MOON SYMBOL
+1F318 WANING CRESCENT MOON SYMBOL
+1F319 CRESCENT MOON
+1F31A NEW MOON WITH FACE
+1F31B FIRST QUARTER MOON WITH FACE
+1F31C LAST QUARTER MOON WITH FACE
+1F31D FULL MOON WITH FACE
+1F31E SUN WITH FACE
+1F31F GLOWING STAR
+1F320 SHOOTING STAR
+1F330 CHESTNUT
+1F331 SEEDLING
+1F332 EVERGREEN TREE
+1F333 DECIDUOUS TREE
+1F334 PALM TREE
+1F335 CACTUS
+1F337 TULIP
+1F338 CHERRY BLOSSOM
+1F339 ROSE
+1F33A HIBISCUS
+1F33B SUNFLOWER
+1F33C BLOSSOM
+1F33D EAR OF MAIZE
+1F33E EAR OF RICE
+1F33F HERB
+1F340 FOUR LEAF CLOVER
+1F341 MAPLE LEAF
+1F342 FALLEN LEAF
+1F343 LEAF FLUTTERING IN WIND
+1F344 MUSHROOM
+1F345 TOMATO
+1F346 AUBERGINE
+1F347 GRAPES
+1F348 MELON
+1F349 WATERMELON
+1F34A TANGERINE
+1F34B LEMON
+1F34C BANANA
+1F34D PINEAPPLE
+1F34E RED APPLE
+1F34F GREEN APPLE
+1F350 PEAR
+1F351 PEACH
+1F352 CHERRIES
+1F353 STRAWBERRY
+1F354 HAMBURGER
+1F355 SLICE OF PIZZA
+1F356 MEAT ON BONE
+1F357 POULTRY LEG
+1F358 RICE CRACKER
+1F359 RICE BALL
+1F35A COOKED RICE
+1F35B CURRY AND RICE
+1F35C STEAMING BOWL
+1F35D SPAGHETTI
+1F35E BREAD
+1F35F FRENCH FRIES
+1F360 ROASTED SWEET POTATO
+1F361 DANGO
+1F362 ODEN
+1F363 SUSHI
+1F364 FRIED SHRIMP
+1F365 FISH CAKE WITH SWIRL DESIGN
+1F366 SOFT ICE CREAM
+1F367 SHAVED ICE
+1F368 ICE CREAM
+1F369 DOUGHNUT
+1F36A COOKIE
+1F36B CHOCOLATE BAR
+1F36C CANDY
+1F36D LOLLIPOP
+1F36E CUSTARD
+1F36F HONEY POT
+1F370 SHORTCAKE
+1F371 BENTO BOX
+1F372 POT OF FOOD
+1F373 COOKING
+1F374 FORK AND KNIFE
+1F375 TEACUP WITHOUT HANDLE
+1F376 SAKE BOTTLE AND CUP
+1F377 WINE GLASS
+1F378 COCKTAIL GLASS
+1F379 TROPICAL DRINK
+1F37A BEER MUG
+1F37B CLINKING BEER MUGS
+1F37C BABY BOTTLE
+1F380 RIBBON
+1F381 WRAPPED PRESENT
+1F382 BIRTHDAY CAKE
+1F383 JACK-O-LANTERN
+1F384 CHRISTMAS TREE
+1F385 FATHER CHRISTMAS
+1F386 FIREWORKS
+1F387 FIREWORK SPARKLER
+1F388 BALLOON
+1F389 PARTY POPPER
+1F38A CONFETTI BALL
+1F38B TANABATA TREE
+1F38C CROSSED FLAGS
+1F38D PINE DECORATION
+1F38E JAPANESE DOLLS
+1F38F CARP STREAMER
+1F390 WIND CHIME
+1F391 MOON VIEWING CEREMONY
+1F392 SCHOOL SATCHEL
+1F393 GRADUATION CAP
+1F3A0 CAROUSEL HORSE
+1F3A1 FERRIS WHEEL
+1F3A2 ROLLER COASTER
+1F3A3 FISHING POLE AND FISH
+1F3A4 MICROPHONE
+1F3A5 MOVIE CAMERA
+1F3A6 CINEMA
+1F3A7 HEADPHONE
+1F3A8 ARTIST PALETTE
+1F3A9 TOP HAT
+1F3AA CIRCUS TENT
+1F3AB TICKET
+1F3AC CLAPPER BOARD
+1F3AD PERFORMING ARTS
+1F3AE VIDEO GAME
+1F3AF DIRECT HIT
+1F3B0 SLOT MACHINE
+1F3B1 BILLIARDS
+1F3B2 GAME DIE
+1F3B3 BOWLING
+1F3B4 FLOWER PLAYING CARDS
+1F3B5 MUSICAL NOTE
+1F3B6 MULTIPLE MUSICAL NOTES
+1F3B7 SAXOPHONE
+1F3B8 GUITAR
+1F3B9 MUSICAL KEYBOARD
+1F3BA TRUMPET
+1F3BB VIOLIN
+1F3BC MUSICAL SCORE
+1F3BD RUNNING SHIRT WITH SASH
+1F3BE TENNIS RACQUET AND BALL
+1F3BF SKI AND SKI BOOT
+1F3C0 BASKETBALL AND HOOP
+1F3C1 CHEQUERED FLAG
+1F3C2 SNOWBOARDER
+1F3C3 RUNNER
+1F3C4 SURFER
+1F3C6 TROPHY
+1F3C7 HORSE RACING
+1F3C8 AMERICAN FOOTBALL
+1F3C9 RUGBY FOOTBALL
+1F3CA SWIMMER
+1F3E0 HOUSE BUILDING
+1F3E1 HOUSE WITH GARDEN
+1F3E2 OFFICE BUILDING
+1F3E3 JAPANESE POST OFFICE
+1F3E4 EUROPEAN POST OFFICE
+1F3E5 HOSPITAL
+1F3E6 BANK
+1F3E7 AUTOMATED TELLER MACHINE
+1F3E8 HOTEL
+1F3E9 LOVE HOTEL
+1F3EA CONVENIENCE STORE
+1F3EB SCHOOL
+1F3EC DEPARTMENT STORE
+1F3ED FACTORY
+1F3EE IZAKAYA LANTERN
+1F3EF JAPANESE CASTLE
+1F3F0 EUROPEAN CASTLE
+1F400 RAT
+1F401 MOUSE
+1F402 OX
+1F403 WATER BUFFALO
+1F404 COW
+1F405 TIGER
+1F406 LEOPARD
+1F407 RABBIT
+1F408 CAT
+1F409 DRAGON
+1F40A CROCODILE
+1F40B WHALE
+1F40C SNAIL
+1F40D SNAKE
+1F40E HORSE
+1F40F RAM
+1F410 GOAT
+1F411 SHEEP
+1F412 MONKEY
+1F413 ROOSTER
+1F414 CHICKEN
+1F415 DOG
+1F416 PIG
+1F417 BOAR
+1F418 ELEPHANT
+1F419 OCTOPUS
+1F41A SPIRAL SHELL
+1F41B BUG
+1F41C ANT
+1F41D HONEYBEE
+1F41E LADY BEETLE
+1F41F FISH
+1F420 TROPICAL FISH
+1F421 BLOWFISH
+1F422 TURTLE
+1F423 HATCHING CHICK
+1F424 BABY CHICK
+1F425 FRONT-FACING BABY CHICK
+1F426 BIRD
+1F427 PENGUIN
+1F428 KOALA
+1F429 POODLE
+1F42A DROMEDARY CAMEL
+1F42B BACTRIAN CAMEL
+1F42C DOLPHIN
+1F42D MOUSE FACE
+1F42E COW FACE
+1F42F TIGER FACE
+1F430 RABBIT FACE
+1F431 CAT FACE
+1F432 DRAGON FACE
+1F433 SPOUTING WHALE
+1F434 HORSE FACE
+1F435 MONKEY FACE
+1F436 DOG FACE
+1F437 PIG FACE
+1F438 FROG FACE
+1F439 HAMSTER FACE
+1F43A WOLF FACE
+1F43B BEAR FACE
+1F43C PANDA FACE
+1F43D PIG NOSE
+1F43E PAW PRINTS
+1F440 EYES
+1F442 EAR
+1F443 NOSE
+1F444 MOUTH
+1F445 TONGUE
+1F446 WHITE UP POINTING BACKHAND INDEX
+1F447 WHITE DOWN POINTING BACKHAND INDEX
+1F448 WHITE LEFT POINTING BACKHAND INDEX
+1F449 WHITE RIGHT POINTING BACKHAND INDEX
+1F44A FISTED HAND SIGN
+1F44B WAVING HAND SIGN
+1F44C OK HAND SIGN
+1F44D THUMBS UP SIGN
+1F44E THUMBS DOWN SIGN
+1F44F CLAPPING HANDS SIGN
+1F450 OPEN HANDS SIGN
+1F451 CROWN
+1F452 WOMANS HAT
+1F453 EYEGLASSES
+1F454 NECKTIE
+1F455 T-SHIRT
+1F456 JEANS
+1F457 DRESS
+1F458 KIMONO
+1F459 BIKINI
+1F45A WOMANS CLOTHES
+1F45B PURSE
+1F45C HANDBAG
+1F45D POUCH
+1F45E MANS SHOE
+1F45F ATHLETIC SHOE
+1F460 HIGH-HEELED SHOE
+1F461 WOMANS SANDAL
+1F462 WOMANS BOOTS
+1F463 FOOTPRINTS
+1F464 BUST IN SILHOUETTE
+1F465 BUSTS IN SILHOUETTE
+1F466 BOY
+1F467 GIRL
+1F468 MAN
+1F469 WOMAN
+1F46A FAMILY
+1F46B MAN AND WOMAN HOLDING HANDS
+1F46C TWO MEN HOLDING HANDS
+1F46D TWO WOMEN HOLDING HANDS
+1F46E POLICE OFFICER
+1F46F WOMAN WITH BUNNY EARS
+1F470 BRIDE WITH VEIL
+1F471 PERSON WITH BLOND HAIR
+1F472 MAN WITH GUA PI MAO
+1F473 MAN WITH TURBAN
+1F474 OLDER MAN
+1F475 OLDER WOMAN
+1F476 BABY
+1F477 CONSTRUCTION WORKER
+1F478 PRINCESS
+1F479 JAPANESE OGRE
+1F47A JAPANESE GOBLIN
+1F47B GHOST
+1F47C BABY ANGEL
+1F47D EXTRATERRESTRIAL ALIEN
+1F47E ALIEN MONSTER
+1F47F IMP
+1F480 SKULL
+1F481 INFORMATION DESK PERSON
+1F482 GUARDSMAN
+1F483 DANCER
+1F484 LIPSTICK
+1F485 NAIL POLISH
+1F486 FACE MASSAGE
+1F487 HAIRCUT
+1F488 BARBER POLE
+1F489 SYRINGE
+1F48A PILL
+1F48B KISS MARK
+1F48C LOVE LETTER
+1F48D RING
+1F48E GEM STONE
+1F48F KISS
+1F490 BOUQUET
+1F491 COUPLE WITH HEART
+1F492 WEDDING
+1F493 BEATING HEART
+1F494 BROKEN HEART
+1F495 TWO HEARTS
+1F496 SPARKLING HEART
+1F497 GROWING HEART
+1F498 HEART WITH ARROW
+1F499 BLUE HEART
+1F49A GREEN HEART
+1F49B YELLOW HEART
+1F49C PURPLE HEART
+1F49D HEART WITH RIBBON
+1F49E REVOLVING HEARTS
+1F49F HEART DECORATION
+1F4A0 DIAMOND SHAPE WITH A DOT INSIDE
+1F4A1 ELECTRIC LIGHT BULB
+1F4A2 ANGER SYMBOL
+1F4A3 BOMB
+1F4A4 SLEEPING SYMBOL
+1F4A5 COLLISION SYMBOL
+1F4A6 SPLASHING SWEAT SYMBOL
+1F4A7 DROPLET
+1F4A8 DASH SYMBOL
+1F4A9 PILE OF POO
+1F4AA FLEXED BICEPS
+1F4AB DIZZY SYMBOL
+1F4AC SPEECH BALLOON
+1F4AD THOUGHT BALLOON
+1F4AE WHITE FLOWER
+1F4AF HUNDRED POINTS SYMBOL
+1F4B0 MONEY BAG
+1F4B1 CURRENCY EXCHANGE
+1F4B2 HEAVY DOLLAR SIGN
+1F4B3 CREDIT CARD
+1F4B4 BANKNOTE WITH YEN SIGN
+1F4B5 BANKNOTE WITH DOLLAR SIGN
+1F4B6 BANKNOTE WITH EURO SIGN
+1F4B7 BANKNOTE WITH POUND SIGN
+1F4B8 MONEY WITH WINGS
+1F4B9 CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA SEAT
+1F4BB PERSONAL COMPUTER
+1F4BC BRIEFCASE
+1F4BD MINIDISC
+1F4BE FLOPPY DISK
+1F4BF OPTICAL DISC
+1F4C0 DVD
+1F4C1 FILE FOLDER
+1F4C2 OPEN FILE FOLDER
+1F4C3 PAGE WITH CURL
+1F4C4 PAGE FACING UP
+1F4C5 CALENDAR
+1F4C6 TEAR-OFF CALENDAR
+1F4C7 CARD INDEX
+1F4C8 CHART WITH UPWARDS TREND
+1F4C9 CHART WITH DOWNWARDS TREND
+1F4CA BAR CHART
+1F4CB CLIPBOARD
+1F4CC PUSHPIN
+1F4CD ROUND PUSHPIN
+1F4CE PAPERCLIP
+1F4CF STRAIGHT RULER
+1F4D0 TRIANGULAR RULER
+1F4D1 BOOKMARK TABS
+1F4D2 LEDGER
+1F4D3 NOTEBOOK
+1F4D4 NOTEBOOK WITH DECORATIVE COVER
+1F4D5 CLOSED BOOK
+1F4D6 OPEN BOOK
+1F4D7 GREEN BOOK
+1F4D8 BLUE BOOK
+1F4D9 ORANGE BOOK
+1F4DA BOOKS
+1F4DB NAME BADGE
+1F4DC SCROLL
+1F4DD MEMO
+1F4DE TELEPHONE RECEIVER
+1F4DF PAGER
+1F4E0 FAX MACHINE
+1F4E1 SATELLITE ANTENNA
+1F4E2 PUBLIC ADDRESS LOUDSPEAKER
+1F4E3 CHEERING MEGAPHONE
+1F4E4 OUTBOX TRAY
+1F4E5 INBOX TRAY
+1F4E6 PACKAGE
+1F4E7 E-MAIL SYMBOL
+1F4E8 INCOMING ENVELOPE
+1F4E9 ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB CLOSED MAILBOX WITH RAISED FLAG
+1F4EC OPEN MAILBOX WITH RAISED FLAG
+1F4ED OPEN MAILBOX WITH LOWERED FLAG
+1F4EE POSTBOX
+1F4EF POSTAL HORN
+1F4F0 NEWSPAPER
+1F4F1 MOBILE PHONE
+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3 VIBRATION MODE
+1F4F4 MOBILE PHONE OFF
+1F4F5 NO MOBILE PHONES
+1F4F6 ANTENNA WITH BARS
+1F4F7 CAMERA
+1F4F9 VIDEO CAMERA
+1F4FA TELEVISION
+1F4FB RADIO
+1F4FC VIDEOCASSETTE
+1F500 TWISTED RIGHTWARDS ARROWS
+1F501 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
+1F502 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
+1F503 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F504 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F505 LOW BRIGHTNESS SYMBOL
+1F506 HIGH BRIGHTNESS SYMBOL
+1F507 SPEAKER WITH CANCELLATION STROKE
+1F508 SPEAKER
+1F509 SPEAKER WITH ONE SOUND WAVE
+1F50A SPEAKER WITH THREE SOUND WAVES
+1F50B BATTERY
+1F50C ELECTRIC PLUG
+1F50D LEFT-POINTING MAGNIFYING GLASS
+1F50E RIGHT-POINTING MAGNIFYING GLASS
+1F50F LOCK WITH INK PEN
+1F510 CLOSED LOCK WITH KEY
+1F511 KEY
+1F512 LOCK
+1F513 OPEN LOCK
+1F515 BELL WITH CANCELLATION STROKE
+1F516 BOOKMARK
+1F517 LINK SYMBOL
+1F518 RADIO BUTTON
+1F519 BACK WITH LEFTWARDS ARROW ABOVE
+1F51A END WITH LEFTWARDS ARROW ABOVE
+1F51B ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+1F51C SOON WITH RIGHTWARDS ARROW ABOVE
+1F51D TOP WITH UPWARDS ARROW ABOVE
+1F51E NO ONE UNDER EIGHTEEN SYMBOL
+1F51F KEYCAP TEN
+1F520 INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+1F521 INPUT SYMBOL FOR LATIN SMALL LETTERS
+1F522 INPUT SYMBOL FOR NUMBERS
+1F523 INPUT SYMBOL FOR SYMBOLS
+1F524 INPUT SYMBOL FOR LATIN LETTERS
+1F525 FIRE
+1F526 ELECTRIC TORCH
+1F527 WRENCH
+1F528 HAMMER
+1F529 NUT AND BOLT
+1F52A HOCHO
+1F52B PISTOL
+1F52C MICROSCOPE
+1F52D TELESCOPE
+1F52E CRYSTAL BALL
+1F52F SIX POINTED STAR WITH MIDDLE DOT
+1F530 JAPANESE SYMBOL FOR BEGINNER
+1F531 TRIDENT EMBLEM
+1F532 BLACK SQUARE BUTTON
+1F533 WHITE SQUARE BUTTON
+1F534 LARGE RED CIRCLE
+1F535 LARGE BLUE CIRCLE
+1F536 LARGE ORANGE DIAMOND
+1F537 LARGE BLUE DIAMOND
+1F538 SMALL ORANGE DIAMOND
+1F539 SMALL BLUE DIAMOND
+1F53A UP-POINTING RED TRIANGLE
+1F53B DOWN-POINTING RED TRIANGLE
+1F53C UP-POINTING SMALL RED TRIANGLE
+1F53D DOWN-POINTING SMALL RED TRIANGLE
+1F550 CLOCK FACE ONE OCLOCK
+1F551 CLOCK FACE TWO OCLOCK
+1F552 CLOCK FACE THREE OCLOCK
+1F553 CLOCK FACE FOUR OCLOCK
+1F554 CLOCK FACE FIVE OCLOCK
+1F555 CLOCK FACE SIX OCLOCK
+1F556 CLOCK FACE SEVEN OCLOCK
+1F557 CLOCK FACE EIGHT OCLOCK
+1F558 CLOCK FACE NINE OCLOCK
+1F559 CLOCK FACE TEN OCLOCK
+1F55A CLOCK FACE ELEVEN OCLOCK
+1F55B CLOCK FACE TWELVE OCLOCK
+1F55C CLOCK FACE ONE-THIRTY
+1F55D CLOCK FACE TWO-THIRTY
+1F55E CLOCK FACE THREE-THIRTY
+1F55F CLOCK FACE FOUR-THIRTY
+1F560 CLOCK FACE FIVE-THIRTY
+1F561 CLOCK FACE SIX-THIRTY
+1F562 CLOCK FACE SEVEN-THIRTY
+1F563 CLOCK FACE EIGHT-THIRTY
+1F564 CLOCK FACE NINE-THIRTY
+1F565 CLOCK FACE TEN-THIRTY
+1F566 CLOCK FACE ELEVEN-THIRTY
+1F567 CLOCK FACE TWELVE-THIRTY
+1F5FB MOUNT FUJI
+1F5FC TOKYO TOWER
+1F5FD STATUE OF LIBERTY
+1F5FE SILHOUETTE OF JAPAN
+1F5FF MOYAI
+1F601 GRINNING FACE WITH SMILING EYES
+1F602 FACE WITH TEARS OF JOY
+1F603 SMILING FACE WITH OPEN MOUTH
+1F604 SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606 SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607 SMILING FACE WITH HALO
+1F608 SMILING FACE WITH HORNS
+1F609 WINKING FACE
+1F60A SMILING FACE WITH SMILING EYES
+1F60B FACE SAVOURING DELICIOUS FOOD
+1F60C RELIEVED FACE
+1F60D SMILING FACE WITH HEART-SHAPED EYES
+1F60E SMILING FACE WITH SUNGLASSES
+1F60F SMIRKING FACE
+1F610 NEUTRAL FACE
+1F612 UNAMUSED FACE
+1F613 FACE WITH COLD SWEAT
+1F614 PENSIVE FACE
+1F616 CONFOUNDED FACE
+1F618 FACE THROWING A KISS
+1F61A KISSING FACE WITH CLOSED EYES
+1F61C FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E DISAPPOINTED FACE
+1F620 ANGRY FACE
+1F621 POUTING FACE
+1F622 CRYING FACE
+1F623 PERSEVERING FACE
+1F624 FACE WITH LOOK OF TRIUMPH
+1F625 DISAPPOINTED BUT RELIEVED FACE
+1F628 FEARFUL FACE
+1F629 WEARY FACE
+1F62A SLEEPY FACE
+1F62B TIRED FACE
+1F62D LOUDLY CRYING FACE
+1F630 FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631 FACE SCREAMING IN FEAR
+1F632 ASTONISHED FACE
+1F633 FLUSHED FACE
+1F635 DIZZY FACE
+1F636 FACE WITHOUT MOUTH
+1F637 FACE WITH MEDICAL MASK
+1F638 GRINNING CAT FACE WITH SMILING EYES
+1F639 CAT FACE WITH TEARS OF JOY
+1F63A SMILING CAT FACE WITH OPEN MOUTH
+1F63B SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C CAT FACE WITH WRY SMILE
+1F63D KISSING CAT FACE WITH CLOSED EYES
+1F63E POUTING CAT FACE
+1F63F CRYING CAT FACE
+1F640 WEARY CAT FACE
+1F645 FACE WITH NO GOOD GESTURE
+1F646 FACE WITH OK GESTURE
+1F647 PERSON BOWING DEEPLY
+1F648 SEE-NO-EVIL MONKEY
+1F649 HEAR-NO-EVIL MONKEY
+1F64A SPEAK-NO-EVIL MONKEY
+1F64B HAPPY PERSON RAISING ONE HAND
+1F64C PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D PERSON FROWNING
+1F64E PERSON WITH POUTING FACE
+1F64F PERSON WITH FOLDED HANDS
+1F680 ROCKET
+1F681 HELICOPTER
+1F682 STEAM LOCOMOTIVE
+1F683 RAILWAY CAR
+1F684 HIGH-SPEED TRAIN
+1F685 HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686 TRAIN
+1F687 METRO
+1F688 LIGHT RAIL
+1F689 STATION
+1F68A TRAM
+1F68B TRAM CAR
+1F68C BUS
+1F68D ONCOMING BUS
+1F68E TROLLEYBUS
+1F68F BUS STOP
+1F690 MINIBUS
+1F691 AMBULANCE
+1F692 FIRE ENGINE
+1F693 POLICE CAR
+1F694 ONCOMING POLICE CAR
+1F695 TAXI
+1F696 ONCOMING TAXI
+1F697 AUTOMOBILE
+1F698 ONCOMING AUTOMOBILE
+1F699 RECREATIONAL VEHICLE
+1F69A DELIVERY TRUCK
+1F69B ARTICULATED LORRY
+1F69C TRACTOR
+1F69D MONORAIL
+1F69E MOUNTAIN RAILWAY
+1F69F SUSPENSION RAILWAY
+1F6A0 MOUNTAIN CABLEWAY
+1F6A1 AERIAL TRAMWAY
+1F6A2 SHIP
+1F6A3 ROWBOAT
+1F6A4 SPEEDBOAT
+1F6A5 HORIZONTAL TRAFFIC LIGHT
+1F6A6 VERTICAL TRAFFIC LIGHT
+1F6A7 CONSTRUCTION SIGN
+1F6A8 POLICE CARS REVOLVING LIGHT
+1F6A9 TRIANGULAR FLAG ON POST
+1F6AA DOOR
+1F6AB NO ENTRY SIGN
+1F6AC SMOKING SYMBOL
+1F6AD NO SMOKING SYMBOL
+1F6AE PUT LITTER IN ITS PLACE SYMBOL
+1F6AF DO NOT LITTER SYMBOL
+1F6B0 POTABLE WATER SYMBOL
+1F6B1 NON-POTABLE WATER SYMBOL
+1F6B2 BICYCLE
+1F6B3 NO BICYCLES
+1F6B4 BICYCLIST
+1F6B5 MOUNTAIN BICYCLIST
+1F6B6 PEDESTRIAN
+1F6B7 NO PEDESTRIANS
+1F6B8 CHILDREN CROSSING
+1F6B9 MENS SYMBOL
+1F6BA WOMENS SYMBOL
+1F6BB RESTROOM
+1F6BC BABY SYMBOL
+1F6BD TOILET
+1F6BE WATER CLOSET
+1F6BF SHOWER
+1F6C0 BATH
+1F6C1 BATHTUB
+1F6C2 PASSPORT CONTROL
+1F6C3 CUSTOMS
+1F6C4 BAGGAGE CLAIM
+1F6C5 LEFT LUGGAGE
+1F700 ALCHEMICAL SYMBOL FOR QUINTESSENCE
+1F701 ALCHEMICAL SYMBOL FOR AIR
+1F702 ALCHEMICAL SYMBOL FOR FIRE
+1F703 ALCHEMICAL SYMBOL FOR EARTH
+1F704 ALCHEMICAL SYMBOL FOR WATER
+1F705 ALCHEMICAL SYMBOL FOR AQUAFORTIS
+1F706 ALCHEMICAL SYMBOL FOR AQUA REGIA
+1F707 ALCHEMICAL SYMBOL FOR AQUA REGIA-2
+1F708 ALCHEMICAL SYMBOL FOR AQUA VITAE
+1F709 ALCHEMICAL SYMBOL FOR AQUA VITAE-2
+1F70A ALCHEMICAL SYMBOL FOR VINEGAR
+1F70B ALCHEMICAL SYMBOL FOR VINEGAR-2
+1F70C ALCHEMICAL SYMBOL FOR VINEGAR-3
+1F70D ALCHEMICAL SYMBOL FOR SULFUR
+1F70E ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
+1F70F ALCHEMICAL SYMBOL FOR BLACK SULFUR
+1F710 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
+1F711 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
+1F712 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
+1F713 ALCHEMICAL SYMBOL FOR CINNABAR
+1F714 ALCHEMICAL SYMBOL FOR SALT
+1F715 ALCHEMICAL SYMBOL FOR NITRE
+1F716 ALCHEMICAL SYMBOL FOR VITRIOL
+1F717 ALCHEMICAL SYMBOL FOR VITRIOL-2
+1F718 ALCHEMICAL SYMBOL FOR ROCK SALT
+1F719 ALCHEMICAL SYMBOL FOR ROCK SALT-2
+1F71A ALCHEMICAL SYMBOL FOR GOLD
+1F71B ALCHEMICAL SYMBOL FOR SILVER
+1F71C ALCHEMICAL SYMBOL FOR IRON ORE
+1F71D ALCHEMICAL SYMBOL FOR IRON ORE-2
+1F71E ALCHEMICAL SYMBOL FOR CROCUS OF IRON
+1F71F ALCHEMICAL SYMBOL FOR REGULUS OF IRON
+1F720 ALCHEMICAL SYMBOL FOR COPPER ORE
+1F721 ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
+1F722 ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
+1F723 ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
+1F724 ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
+1F725 ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
+1F726 ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
+1F727 ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
+1F728 ALCHEMICAL SYMBOL FOR VERDIGRIS
+1F729 ALCHEMICAL SYMBOL FOR TIN ORE
+1F72A ALCHEMICAL SYMBOL FOR LEAD ORE
+1F72B ALCHEMICAL SYMBOL FOR ANTIMONY ORE
+1F72C ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
+1F72D ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
+1F72E ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
+1F72F ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
+1F730 ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
+1F731 ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
+1F732 ALCHEMICAL SYMBOL FOR REGULUS
+1F733 ALCHEMICAL SYMBOL FOR REGULUS-2
+1F734 ALCHEMICAL SYMBOL FOR REGULUS-3
+1F735 ALCHEMICAL SYMBOL FOR REGULUS-4
+1F736 ALCHEMICAL SYMBOL FOR ALKALI
+1F737 ALCHEMICAL SYMBOL FOR ALKALI-2
+1F738 ALCHEMICAL SYMBOL FOR MARCASITE
+1F739 ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
+1F73A ALCHEMICAL SYMBOL FOR ARSENIC
+1F73B ALCHEMICAL SYMBOL FOR REALGAR
+1F73C ALCHEMICAL SYMBOL FOR REALGAR-2
+1F73D ALCHEMICAL SYMBOL FOR AURIPIGMENT
+1F73E ALCHEMICAL SYMBOL FOR BISMUTH ORE
+1F73F ALCHEMICAL SYMBOL FOR TARTAR
+1F740 ALCHEMICAL SYMBOL FOR TARTAR-2
+1F741 ALCHEMICAL SYMBOL FOR QUICK LIME
+1F742 ALCHEMICAL SYMBOL FOR BORAX
+1F743 ALCHEMICAL SYMBOL FOR BORAX-2
+1F744 ALCHEMICAL SYMBOL FOR BORAX-3
+1F745 ALCHEMICAL SYMBOL FOR ALUM
+1F746 ALCHEMICAL SYMBOL FOR OIL
+1F747 ALCHEMICAL SYMBOL FOR SPIRIT
+1F748 ALCHEMICAL SYMBOL FOR TINCTURE
+1F749 ALCHEMICAL SYMBOL FOR GUM
+1F74A ALCHEMICAL SYMBOL FOR WAX
+1F74B ALCHEMICAL SYMBOL FOR POWDER
+1F74C ALCHEMICAL SYMBOL FOR CALX
+1F74D ALCHEMICAL SYMBOL FOR TUTTY
+1F74E ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
+1F74F ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
+1F750 ALCHEMICAL SYMBOL FOR CADUCEUS
+1F751 ALCHEMICAL SYMBOL FOR TRIDENT
+1F752 ALCHEMICAL SYMBOL FOR STARRED TRIDENT
+1F753 ALCHEMICAL SYMBOL FOR LODESTONE
+1F754 ALCHEMICAL SYMBOL FOR SOAP
+1F755 ALCHEMICAL SYMBOL FOR URINE
+1F756 ALCHEMICAL SYMBOL FOR HORSE DUNG
+1F757 ALCHEMICAL SYMBOL FOR ASHES
+1F758 ALCHEMICAL SYMBOL FOR POT ASHES
+1F759 ALCHEMICAL SYMBOL FOR BRICK
+1F75A ALCHEMICAL SYMBOL FOR POWDERED BRICK
+1F75B ALCHEMICAL SYMBOL FOR AMALGAM
+1F75C ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
+1F75D ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
+1F75E ALCHEMICAL SYMBOL FOR SUBLIMATION
+1F75F ALCHEMICAL SYMBOL FOR PRECIPITATE
+1F760 ALCHEMICAL SYMBOL FOR DISTILL
+1F761 ALCHEMICAL SYMBOL FOR DISSOLVE
+1F762 ALCHEMICAL SYMBOL FOR DISSOLVE-2
+1F763 ALCHEMICAL SYMBOL FOR PURIFY
+1F764 ALCHEMICAL SYMBOL FOR PUTREFACTION
+1F765 ALCHEMICAL SYMBOL FOR CRUCIBLE
+1F766 ALCHEMICAL SYMBOL FOR CRUCIBLE-2
+1F767 ALCHEMICAL SYMBOL FOR CRUCIBLE-3
+1F768 ALCHEMICAL SYMBOL FOR CRUCIBLE-4
+1F769 ALCHEMICAL SYMBOL FOR CRUCIBLE-5
+1F76A ALCHEMICAL SYMBOL FOR ALEMBIC
+1F76B ALCHEMICAL SYMBOL FOR BATH OF MARY
+1F76C ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
+1F76D ALCHEMICAL SYMBOL FOR RETORT
+1F76E ALCHEMICAL SYMBOL FOR HOUR
+1F76F ALCHEMICAL SYMBOL FOR NIGHT
+1F770 ALCHEMICAL SYMBOL FOR DAY-NIGHT
+1F771 ALCHEMICAL SYMBOL FOR MONTH
+1F772 ALCHEMICAL SYMBOL FOR HALF DRAM
+1F773 ALCHEMICAL SYMBOL FOR HALF OUNCE
+E0001 LANGUAGE TAG
+E0020 TAG SPACE
+E0021 TAG EXCLAMATION MARK
+E0022 TAG QUOTATION MARK
+E0023 TAG NUMBER SIGN
+E0024 TAG DOLLAR SIGN
+E0025 TAG PERCENT SIGN
+E0026 TAG AMPERSAND
+E0027 TAG APOSTROPHE
+E0028 TAG LEFT PARENTHESIS
+E0029 TAG RIGHT PARENTHESIS
+E002A TAG ASTERISK
+E002B TAG PLUS SIGN
+E002C TAG COMMA
+E002D TAG HYPHEN-MINUS
+E002E TAG FULL STOP
+E002F TAG SOLIDUS
+E0030 TAG DIGIT ZERO
+E0031 TAG DIGIT ONE
+E0032 TAG DIGIT TWO
+E0033 TAG DIGIT THREE
+E0034 TAG DIGIT FOUR
+E0035 TAG DIGIT FIVE
+E0036 TAG DIGIT SIX
+E0037 TAG DIGIT SEVEN
+E0038 TAG DIGIT EIGHT
+E0039 TAG DIGIT NINE
+E003A TAG COLON
+E003B TAG SEMICOLON
+E003C TAG LESS-THAN SIGN
+E003D TAG EQUALS SIGN
+E003E TAG GREATER-THAN SIGN
+E003F TAG QUESTION MARK
+E0040 TAG COMMERCIAL AT
+E0041 TAG LATIN CAPITAL LETTER A
+E0042 TAG LATIN CAPITAL LETTER B
+E0043 TAG LATIN CAPITAL LETTER C
+E0044 TAG LATIN CAPITAL LETTER D
+E0045 TAG LATIN CAPITAL LETTER E
+E0046 TAG LATIN CAPITAL LETTER F
+E0047 TAG LATIN CAPITAL LETTER G
+E0048 TAG LATIN CAPITAL LETTER H
+E0049 TAG LATIN CAPITAL LETTER I
+E004A TAG LATIN CAPITAL LETTER J
+E004B TAG LATIN CAPITAL LETTER K
+E004C TAG LATIN CAPITAL LETTER L
+E004D TAG LATIN CAPITAL LETTER M
+E004E TAG LATIN CAPITAL LETTER N
+E004F TAG LATIN CAPITAL LETTER O
+E0050 TAG LATIN CAPITAL LETTER P
+E0051 TAG LATIN CAPITAL LETTER Q
+E0052 TAG LATIN CAPITAL LETTER R
+E0053 TAG LATIN CAPITAL LETTER S
+E0054 TAG LATIN CAPITAL LETTER T
+E0055 TAG LATIN CAPITAL LETTER U
+E0056 TAG LATIN CAPITAL LETTER V
+E0057 TAG LATIN CAPITAL LETTER W
+E0058 TAG LATIN CAPITAL LETTER X
+E0059 TAG LATIN CAPITAL LETTER Y
+E005A TAG LATIN CAPITAL LETTER Z
+E005B TAG LEFT SQUARE BRACKET
+E005C TAG REVERSE SOLIDUS
+E005D TAG RIGHT SQUARE BRACKET
+E005E TAG CIRCUMFLEX ACCENT
+E005F TAG LOW LINE
+E0060 TAG GRAVE ACCENT
+E0061 TAG LATIN SMALL LETTER A
+E0062 TAG LATIN SMALL LETTER B
+E0063 TAG LATIN SMALL LETTER C
+E0064 TAG LATIN SMALL LETTER D
+E0065 TAG LATIN SMALL LETTER E
+E0066 TAG LATIN SMALL LETTER F
+E0067 TAG LATIN SMALL LETTER G
+E0068 TAG LATIN SMALL LETTER H
+E0069 TAG LATIN SMALL LETTER I
+E006A TAG LATIN SMALL LETTER J
+E006B TAG LATIN SMALL LETTER K
+E006C TAG LATIN SMALL LETTER L
+E006D TAG LATIN SMALL LETTER M
+E006E TAG LATIN SMALL LETTER N
+E006F TAG LATIN SMALL LETTER O
+E0070 TAG LATIN SMALL LETTER P
+E0071 TAG LATIN SMALL LETTER Q
+E0072 TAG LATIN SMALL LETTER R
+E0073 TAG LATIN SMALL LETTER S
+E0074 TAG LATIN SMALL LETTER T
+E0075 TAG LATIN SMALL LETTER U
+E0076 TAG LATIN SMALL LETTER V
+E0077 TAG LATIN SMALL LETTER W
+E0078 TAG LATIN SMALL LETTER X
+E0079 TAG LATIN SMALL LETTER Y
+E007A TAG LATIN SMALL LETTER Z
+E007B TAG LEFT CURLY BRACKET
+E007C TAG VERTICAL LINE
+E007D TAG RIGHT CURLY BRACKET
+E007E TAG TILDE
+E007F CANCEL TAG
+E0100 VARIATION SELECTOR-17
+E0101 VARIATION SELECTOR-18
+E0102 VARIATION SELECTOR-19
+E0103 VARIATION SELECTOR-20
+E0104 VARIATION SELECTOR-21
+E0105 VARIATION SELECTOR-22
+E0106 VARIATION SELECTOR-23
+E0107 VARIATION SELECTOR-24
+E0108 VARIATION SELECTOR-25
+E0109 VARIATION SELECTOR-26
+E010A VARIATION SELECTOR-27
+E010B VARIATION SELECTOR-28
+E010C VARIATION SELECTOR-29
+E010D VARIATION SELECTOR-30
+E010E VARIATION SELECTOR-31
+E010F VARIATION SELECTOR-32
+E0110 VARIATION SELECTOR-33
+E0111 VARIATION SELECTOR-34
+E0112 VARIATION SELECTOR-35
+E0113 VARIATION SELECTOR-36
+E0114 VARIATION SELECTOR-37
+E0115 VARIATION SELECTOR-38
+E0116 VARIATION SELECTOR-39
+E0117 VARIATION SELECTOR-40
+E0118 VARIATION SELECTOR-41
+E0119 VARIATION SELECTOR-42
+E011A VARIATION SELECTOR-43
+E011B VARIATION SELECTOR-44
+E011C VARIATION SELECTOR-45
+E011D VARIATION SELECTOR-46
+E011E VARIATION SELECTOR-47
+E011F VARIATION SELECTOR-48
+E0120 VARIATION SELECTOR-49
+E0121 VARIATION SELECTOR-50
+E0122 VARIATION SELECTOR-51
+E0123 VARIATION SELECTOR-52
+E0124 VARIATION SELECTOR-53
+E0125 VARIATION SELECTOR-54
+E0126 VARIATION SELECTOR-55
+E0127 VARIATION SELECTOR-56
+E0128 VARIATION SELECTOR-57
+E0129 VARIATION SELECTOR-58
+E012A VARIATION SELECTOR-59
+E012B VARIATION SELECTOR-60
+E012C VARIATION SELECTOR-61
+E012D VARIATION SELECTOR-62
+E012E VARIATION SELECTOR-63
+E012F VARIATION SELECTOR-64
+E0130 VARIATION SELECTOR-65
+E0131 VARIATION SELECTOR-66
+E0132 VARIATION SELECTOR-67
+E0133 VARIATION SELECTOR-68
+E0134 VARIATION SELECTOR-69
+E0135 VARIATION SELECTOR-70
+E0136 VARIATION SELECTOR-71
+E0137 VARIATION SELECTOR-72
+E0138 VARIATION SELECTOR-73
+E0139 VARIATION SELECTOR-74
+E013A VARIATION SELECTOR-75
+E013B VARIATION SELECTOR-76
+E013C VARIATION SELECTOR-77
+E013D VARIATION SELECTOR-78
+E013E VARIATION SELECTOR-79
+E013F VARIATION SELECTOR-80
+E0140 VARIATION SELECTOR-81
+E0141 VARIATION SELECTOR-82
+E0142 VARIATION SELECTOR-83
+E0143 VARIATION SELECTOR-84
+E0144 VARIATION SELECTOR-85
+E0145 VARIATION SELECTOR-86
+E0146 VARIATION SELECTOR-87
+E0147 VARIATION SELECTOR-88
+E0148 VARIATION SELECTOR-89
+E0149 VARIATION SELECTOR-90
+E014A VARIATION SELECTOR-91
+E014B VARIATION SELECTOR-92
+E014C VARIATION SELECTOR-93
+E014D VARIATION SELECTOR-94
+E014E VARIATION SELECTOR-95
+E014F VARIATION SELECTOR-96
+E0150 VARIATION SELECTOR-97
+E0151 VARIATION SELECTOR-98
+E0152 VARIATION SELECTOR-99
+E0153 VARIATION SELECTOR-100
+E0154 VARIATION SELECTOR-101
+E0155 VARIATION SELECTOR-102
+E0156 VARIATION SELECTOR-103
+E0157 VARIATION SELECTOR-104
+E0158 VARIATION SELECTOR-105
+E0159 VARIATION SELECTOR-106
+E015A VARIATION SELECTOR-107
+E015B VARIATION SELECTOR-108
+E015C VARIATION SELECTOR-109
+E015D VARIATION SELECTOR-110
+E015E VARIATION SELECTOR-111
+E015F VARIATION SELECTOR-112
+E0160 VARIATION SELECTOR-113
+E0161 VARIATION SELECTOR-114
+E0162 VARIATION SELECTOR-115
+E0163 VARIATION SELECTOR-116
+E0164 VARIATION SELECTOR-117
+E0165 VARIATION SELECTOR-118
+E0166 VARIATION SELECTOR-119
+E0167 VARIATION SELECTOR-120
+E0168 VARIATION SELECTOR-121
+E0169 VARIATION SELECTOR-122
+E016A VARIATION SELECTOR-123
+E016B VARIATION SELECTOR-124
+E016C VARIATION SELECTOR-125
+E016D VARIATION SELECTOR-126
+E016E VARIATION SELECTOR-127
+E016F VARIATION SELECTOR-128
+E0170 VARIATION SELECTOR-129
+E0171 VARIATION SELECTOR-130
+E0172 VARIATION SELECTOR-131
+E0173 VARIATION SELECTOR-132
+E0174 VARIATION SELECTOR-133
+E0175 VARIATION SELECTOR-134
+E0176 VARIATION SELECTOR-135
+E0177 VARIATION SELECTOR-136
+E0178 VARIATION SELECTOR-137
+E0179 VARIATION SELECTOR-138
+E017A VARIATION SELECTOR-139
+E017B VARIATION SELECTOR-140
+E017C VARIATION SELECTOR-141
+E017D VARIATION SELECTOR-142
+E017E VARIATION SELECTOR-143
+E017F VARIATION SELECTOR-144
+E0180 VARIATION SELECTOR-145
+E0181 VARIATION SELECTOR-146
+E0182 VARIATION SELECTOR-147
+E0183 VARIATION SELECTOR-148
+E0184 VARIATION SELECTOR-149
+E0185 VARIATION SELECTOR-150
+E0186 VARIATION SELECTOR-151
+E0187 VARIATION SELECTOR-152
+E0188 VARIATION SELECTOR-153
+E0189 VARIATION SELECTOR-154
+E018A VARIATION SELECTOR-155
+E018B VARIATION SELECTOR-156
+E018C VARIATION SELECTOR-157
+E018D VARIATION SELECTOR-158
+E018E VARIATION SELECTOR-159
+E018F VARIATION SELECTOR-160
+E0190 VARIATION SELECTOR-161
+E0191 VARIATION SELECTOR-162
+E0192 VARIATION SELECTOR-163
+E0193 VARIATION SELECTOR-164
+E0194 VARIATION SELECTOR-165
+E0195 VARIATION SELECTOR-166
+E0196 VARIATION SELECTOR-167
+E0197 VARIATION SELECTOR-168
+E0198 VARIATION SELECTOR-169
+E0199 VARIATION SELECTOR-170
+E019A VARIATION SELECTOR-171
+E019B VARIATION SELECTOR-172
+E019C VARIATION SELECTOR-173
+E019D VARIATION SELECTOR-174
+E019E VARIATION SELECTOR-175
+E019F VARIATION SELECTOR-176
+E01A0 VARIATION SELECTOR-177
+E01A1 VARIATION SELECTOR-178
+E01A2 VARIATION SELECTOR-179
+E01A3 VARIATION SELECTOR-180
+E01A4 VARIATION SELECTOR-181
+E01A5 VARIATION SELECTOR-182
+E01A6 VARIATION SELECTOR-183
+E01A7 VARIATION SELECTOR-184
+E01A8 VARIATION SELECTOR-185
+E01A9 VARIATION SELECTOR-186
+E01AA VARIATION SELECTOR-187
+E01AB VARIATION SELECTOR-188
+E01AC VARIATION SELECTOR-189
+E01AD VARIATION SELECTOR-190
+E01AE VARIATION SELECTOR-191
+E01AF VARIATION SELECTOR-192
+E01B0 VARIATION SELECTOR-193
+E01B1 VARIATION SELECTOR-194
+E01B2 VARIATION SELECTOR-195
+E01B3 VARIATION SELECTOR-196
+E01B4 VARIATION SELECTOR-197
+E01B5 VARIATION SELECTOR-198
+E01B6 VARIATION SELECTOR-199
+E01B7 VARIATION SELECTOR-200
+E01B8 VARIATION SELECTOR-201
+E01B9 VARIATION SELECTOR-202
+E01BA VARIATION SELECTOR-203
+E01BB VARIATION SELECTOR-204
+E01BC VARIATION SELECTOR-205
+E01BD VARIATION SELECTOR-206
+E01BE VARIATION SELECTOR-207
+E01BF VARIATION SELECTOR-208
+E01C0 VARIATION SELECTOR-209
+E01C1 VARIATION SELECTOR-210
+E01C2 VARIATION SELECTOR-211
+E01C3 VARIATION SELECTOR-212
+E01C4 VARIATION SELECTOR-213
+E01C5 VARIATION SELECTOR-214
+E01C6 VARIATION SELECTOR-215
+E01C7 VARIATION SELECTOR-216
+E01C8 VARIATION SELECTOR-217
+E01C9 VARIATION SELECTOR-218
+E01CA VARIATION SELECTOR-219
+E01CB VARIATION SELECTOR-220
+E01CC VARIATION SELECTOR-221
+E01CD VARIATION SELECTOR-222
+E01CE VARIATION SELECTOR-223
+E01CF VARIATION SELECTOR-224
+E01D0 VARIATION SELECTOR-225
+E01D1 VARIATION SELECTOR-226
+E01D2 VARIATION SELECTOR-227
+E01D3 VARIATION SELECTOR-228
+E01D4 VARIATION SELECTOR-229
+E01D5 VARIATION SELECTOR-230
+E01D6 VARIATION SELECTOR-231
+E01D7 VARIATION SELECTOR-232
+E01D8 VARIATION SELECTOR-233
+E01D9 VARIATION SELECTOR-234
+E01DA VARIATION SELECTOR-235
+E01DB VARIATION SELECTOR-236
+E01DC VARIATION SELECTOR-237
+E01DD VARIATION SELECTOR-238
+E01DE VARIATION SELECTOR-239
+E01DF VARIATION SELECTOR-240
+E01E0 VARIATION SELECTOR-241
+E01E1 VARIATION SELECTOR-242
+E01E2 VARIATION SELECTOR-243
+E01E3 VARIATION SELECTOR-244
+E01E4 VARIATION SELECTOR-245
+E01E5 VARIATION SELECTOR-246
+E01E6 VARIATION SELECTOR-247
+E01E7 VARIATION SELECTOR-248
+E01E8 VARIATION SELECTOR-249
+E01E9 VARIATION SELECTOR-250
+E01EA VARIATION SELECTOR-251
+E01EB VARIATION SELECTOR-252
+E01EC VARIATION SELECTOR-253
+E01ED VARIATION SELECTOR-254
+E01EE VARIATION SELECTOR-255
+E01EF VARIATION SELECTOR-256
+0100 0300 LATIN CAPITAL LETTER A WITH MACRON AND GRAVE
+0101 0300 LATIN SMALL LETTER A WITH MACRON AND GRAVE
+0045 0329 LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW
+0065 0329 LATIN SMALL LETTER E WITH VERTICAL LINE BELOW
+00C8 0329 LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW AND GRAVE
+00E8 0329 LATIN SMALL LETTER E WITH VERTICAL LINE BELOW AND GRAVE
+00C9 0329 LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW AND ACUTE
+00E9 0329 LATIN SMALL LETTER E WITH VERTICAL LINE BELOW AND ACUTE
+00CA 0304 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND MACRON
+00EA 0304 LATIN SMALL LETTER E WITH CIRCUMFLEX AND MACRON
+00CA 030C LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND CARON
+00EA 030C LATIN SMALL LETTER E WITH CIRCUMFLEX AND CARON
+012A 0300 LATIN CAPITAL LETTER I WITH MACRON AND GRAVE
+012B 0300 LATIN SMALL LETTER I WITH MACRON AND GRAVE
+0069 0307 0301 LATIN SMALL LETTER I WITH DOT ABOVE AND ACUTE
+006E 0360 0067 LATIN SMALL LETTER NG WITH TILDE ABOVE
+004F 0329 LATIN CAPITAL LETTER O WITH VERTICAL LINE BELOW
+006F 0329 LATIN SMALL LETTER O WITH VERTICAL LINE BELOW
+00D2 0329 LATIN CAPITAL LETTER O WITH VERTICAL LINE BELOW AND GRAVE
+00F2 0329 LATIN SMALL LETTER O WITH VERTICAL LINE BELOW AND GRAVE
+00D3 0329 LATIN CAPITAL LETTER O WITH VERTICAL LINE BELOW AND ACUTE
+00F3 0329 LATIN SMALL LETTER O WITH VERTICAL LINE BELOW AND ACUTE
+0053 0329 LATIN CAPITAL LETTER S WITH VERTICAL LINE BELOW
+0073 0329 LATIN SMALL LETTER S WITH VERTICAL LINE BELOW
+016A 0300 LATIN CAPITAL LETTER U WITH MACRON AND GRAVE
+016B 0300 LATIN SMALL LETTER U WITH MACRON AND GRAVE
+0104 0301 LATIN CAPITAL LETTER A WITH OGONEK AND ACUTE
+0105 0301 LATIN SMALL LETTER A WITH OGONEK AND ACUTE
+0104 0303 LATIN CAPITAL LETTER A WITH OGONEK AND TILDE
+0105 0303 LATIN SMALL LETTER A WITH OGONEK AND TILDE
+0118 0301 LATIN CAPITAL LETTER E WITH OGONEK AND ACUTE
+0119 0301 LATIN SMALL LETTER E WITH OGONEK AND ACUTE
+0118 0303 LATIN CAPITAL LETTER E WITH OGONEK AND TILDE
+0119 0303 LATIN SMALL LETTER E WITH OGONEK AND TILDE
+0116 0301 LATIN CAPITAL LETTER E WITH DOT ABOVE AND ACUTE
+0117 0301 LATIN SMALL LETTER E WITH DOT ABOVE AND ACUTE
+0116 0303 LATIN CAPITAL LETTER E WITH DOT ABOVE AND TILDE
+0117 0303 LATIN SMALL LETTER E WITH DOT ABOVE AND TILDE
+0069 0307 0300 LATIN SMALL LETTER I WITH DOT ABOVE AND GRAVE
+0069 0307 0303 LATIN SMALL LETTER I WITH DOT ABOVE AND TILDE
+012E 0301 LATIN CAPITAL LETTER I WITH OGONEK AND ACUTE
+012F 0307 0301 LATIN SMALL LETTER I WITH OGONEK AND DOT ABOVE AND ACUTE
+012E 0303 LATIN CAPITAL LETTER I WITH OGONEK AND TILDE
+012F 0307 0303 LATIN SMALL LETTER I WITH OGONEK AND DOT ABOVE AND TILDE
+004A 0303 LATIN CAPITAL LETTER J WITH TILDE
+006A 0307 0303 LATIN SMALL LETTER J WITH DOT ABOVE AND TILDE
+004C 0303 LATIN CAPITAL LETTER L WITH TILDE
+006C 0303 LATIN SMALL LETTER L WITH TILDE
+004D 0303 LATIN CAPITAL LETTER M WITH TILDE
+006D 0303 LATIN SMALL LETTER M WITH TILDE
+0052 0303 LATIN CAPITAL LETTER R WITH TILDE
+0072 0303 LATIN SMALL LETTER R WITH TILDE
+0172 0301 LATIN CAPITAL LETTER U WITH OGONEK AND ACUTE
+0173 0301 LATIN SMALL LETTER U WITH OGONEK AND ACUTE
+0172 0303 LATIN CAPITAL LETTER U WITH OGONEK AND TILDE
+0173 0303 LATIN SMALL LETTER U WITH OGONEK AND TILDE
+016A 0301 LATIN CAPITAL LETTER U WITH MACRON AND ACUTE
+016B 0301 LATIN SMALL LETTER U WITH MACRON AND ACUTE
+016A 0303 LATIN CAPITAL LETTER U WITH MACRON AND TILDE
+016B 0303 LATIN SMALL LETTER U WITH MACRON AND TILDE
+00E6 0300 LATIN SMALL LETTER AE WITH GRAVE
+0254 0300 LATIN SMALL LETTER OPEN O WITH GRAVE
+0254 0301 LATIN SMALL LETTER OPEN O WITH ACUTE
+028C 0300 LATIN SMALL LETTER TURNED V WITH GRAVE
+028C 0301 LATIN SMALL LETTER TURNED V WITH ACUTE
+0259 0300 LATIN SMALL LETTER SCHWA WITH GRAVE
+0259 0301 LATIN SMALL LETTER SCHWA WITH ACUTE
+025A 0300 LATIN SMALL LETTER HOOKED SCHWA WITH GRAVE
+025A 0301 LATIN SMALL LETTER HOOKED SCHWA WITH ACUTE
+0995 09CD 09B7 BENGALI LETTER KHINYA
+0B95 0BCD TAMIL CONSONANT K
+0B99 0BCD TAMIL CONSONANT NG
+0B9A 0BCD TAMIL CONSONANT C
+0B9E 0BCD TAMIL CONSONANT NY
+0B9F 0BCD TAMIL CONSONANT TT
+0BA3 0BCD TAMIL CONSONANT NN
+0BA4 0BCD TAMIL CONSONANT T
+0BA8 0BCD TAMIL CONSONANT N
+0BAA 0BCD TAMIL CONSONANT P
+0BAE 0BCD TAMIL CONSONANT M
+0BAF 0BCD TAMIL CONSONANT Y
+0BB0 0BCD TAMIL CONSONANT R
+0BB2 0BCD TAMIL CONSONANT L
+0BB5 0BCD TAMIL CONSONANT V
+0BB4 0BCD TAMIL CONSONANT LLL
+0BB3 0BCD TAMIL CONSONANT LL
+0BB1 0BCD TAMIL CONSONANT RR
+0BA9 0BCD TAMIL CONSONANT NNN
+0B9C 0BCD TAMIL CONSONANT J
+0BB6 0BCD TAMIL CONSONANT SH
+0BB7 0BCD TAMIL CONSONANT SS
+0BB8 0BCD TAMIL CONSONANT S
+0BB9 0BCD TAMIL CONSONANT H
+0B95 0BCD 0BB7 0BCD TAMIL CONSONANT KSS
+0B95 0BBE TAMIL SYLLABLE KAA
+0B95 0BBF TAMIL SYLLABLE KI
+0B95 0BC0 TAMIL SYLLABLE KII
+0B95 0BC1 TAMIL SYLLABLE KU
+0B95 0BC2 TAMIL SYLLABLE KUU
+0B95 0BC6 TAMIL SYLLABLE KE
+0B95 0BC7 TAMIL SYLLABLE KEE
+0B95 0BC8 TAMIL SYLLABLE KAI
+0B95 0BCA TAMIL SYLLABLE KO
+0B95 0BCB TAMIL SYLLABLE KOO
+0B95 0BCC TAMIL SYLLABLE KAU
+0B99 0BBE TAMIL SYLLABLE NGAA
+0B99 0BBF TAMIL SYLLABLE NGI
+0B99 0BC0 TAMIL SYLLABLE NGII
+0B99 0BC1 TAMIL SYLLABLE NGU
+0B99 0BC2 TAMIL SYLLABLE NGUU
+0B99 0BC6 TAMIL SYLLABLE NGE
+0B99 0BC7 TAMIL SYLLABLE NGEE
+0B99 0BC8 TAMIL SYLLABLE NGAI
+0B99 0BCA TAMIL SYLLABLE NGO
+0B99 0BCB TAMIL SYLLABLE NGOO
+0B99 0BCC TAMIL SYLLABLE NGAU
+0B9A 0BBE TAMIL SYLLABLE CAA
+0B9A 0BBF TAMIL SYLLABLE CI
+0B9A 0BC0 TAMIL SYLLABLE CII
+0B9A 0BC1 TAMIL SYLLABLE CU
+0B9A 0BC2 TAMIL SYLLABLE CUU
+0B9A 0BC6 TAMIL SYLLABLE CE
+0B9A 0BC7 TAMIL SYLLABLE CEE
+0B9A 0BC8 TAMIL SYLLABLE CAI
+0B9A 0BCA TAMIL SYLLABLE CO
+0B9A 0BCB TAMIL SYLLABLE COO
+0B9A 0BCC TAMIL SYLLABLE CAU
+0B9E 0BBE TAMIL SYLLABLE NYAA
+0B9E 0BBF TAMIL SYLLABLE NYI
+0B9E 0BC0 TAMIL SYLLABLE NYII
+0B9E 0BC1 TAMIL SYLLABLE NYU
+0B9E 0BC2 TAMIL SYLLABLE NYUU
+0B9E 0BC6 TAMIL SYLLABLE NYE
+0B9E 0BC7 TAMIL SYLLABLE NYEE
+0B9E 0BC8 TAMIL SYLLABLE NYAI
+0B9E 0BCA TAMIL SYLLABLE NYO
+0B9E 0BCB TAMIL SYLLABLE NYOO
+0B9E 0BCC TAMIL SYLLABLE NYAU
+0B9F 0BBE TAMIL SYLLABLE TTAA
+0B9F 0BBF TAMIL SYLLABLE TTI
+0B9F 0BC0 TAMIL SYLLABLE TTII
+0B9F 0BC1 TAMIL SYLLABLE TTU
+0B9F 0BC2 TAMIL SYLLABLE TTUU
+0B9F 0BC6 TAMIL SYLLABLE TTE
+0B9F 0BC7 TAMIL SYLLABLE TTEE
+0B9F 0BC8 TAMIL SYLLABLE TTAI
+0B9F 0BCA TAMIL SYLLABLE TTO
+0B9F 0BCB TAMIL SYLLABLE TTOO
+0B9F 0BCC TAMIL SYLLABLE TTAU
+0BA3 0BBE TAMIL SYLLABLE NNAA
+0BA3 0BBF TAMIL SYLLABLE NNI
+0BA3 0BC0 TAMIL SYLLABLE NNII
+0BA3 0BC1 TAMIL SYLLABLE NNU
+0BA3 0BC2 TAMIL SYLLABLE NNUU
+0BA3 0BC6 TAMIL SYLLABLE NNE
+0BA3 0BC7 TAMIL SYLLABLE NNEE
+0BA3 0BC8 TAMIL SYLLABLE NNAI
+0BA3 0BCA TAMIL SYLLABLE NNO
+0BA3 0BCB TAMIL SYLLABLE NNOO
+0BA3 0BCC TAMIL SYLLABLE NNAU
+0BA4 0BBE TAMIL SYLLABLE TAA
+0BA4 0BBF TAMIL SYLLABLE TI
+0BA4 0BC0 TAMIL SYLLABLE TII
+0BA4 0BC1 TAMIL SYLLABLE TU
+0BA4 0BC2 TAMIL SYLLABLE TUU
+0BA4 0BC6 TAMIL SYLLABLE TE
+0BA4 0BC7 TAMIL SYLLABLE TEE
+0BA4 0BC8 TAMIL SYLLABLE TAI
+0BA4 0BCA TAMIL SYLLABLE TO
+0BA4 0BCB TAMIL SYLLABLE TOO
+0BA4 0BCC TAMIL SYLLABLE TAU
+0BA8 0BBE TAMIL SYLLABLE NAA
+0BA8 0BBF TAMIL SYLLABLE NI
+0BA8 0BC0 TAMIL SYLLABLE NII
+0BA8 0BC1 TAMIL SYLLABLE NU
+0BA8 0BC2 TAMIL SYLLABLE NUU
+0BA8 0BC6 TAMIL SYLLABLE NE
+0BA8 0BC7 TAMIL SYLLABLE NEE
+0BA8 0BC8 TAMIL SYLLABLE NAI
+0BA8 0BCA TAMIL SYLLABLE NO
+0BA8 0BCB TAMIL SYLLABLE NOO
+0BA8 0BCC TAMIL SYLLABLE NAU
+0BAA 0BBE TAMIL SYLLABLE PAA
+0BAA 0BBF TAMIL SYLLABLE PI
+0BAA 0BC0 TAMIL SYLLABLE PII
+0BAA 0BC1 TAMIL SYLLABLE PU
+0BAA 0BC2 TAMIL SYLLABLE PUU
+0BAA 0BC6 TAMIL SYLLABLE PE
+0BAA 0BC7 TAMIL SYLLABLE PEE
+0BAA 0BC8 TAMIL SYLLABLE PAI
+0BAA 0BCA TAMIL SYLLABLE PO
+0BAA 0BCB TAMIL SYLLABLE POO
+0BAA 0BCC TAMIL SYLLABLE PAU
+0BAE 0BBE TAMIL SYLLABLE MAA
+0BAE 0BBF TAMIL SYLLABLE MI
+0BAE 0BC0 TAMIL SYLLABLE MII
+0BAE 0BC1 TAMIL SYLLABLE MU
+0BAE 0BC2 TAMIL SYLLABLE MUU
+0BAE 0BC6 TAMIL SYLLABLE ME
+0BAE 0BC7 TAMIL SYLLABLE MEE
+0BAE 0BC8 TAMIL SYLLABLE MAI
+0BAE 0BCA TAMIL SYLLABLE MO
+0BAE 0BCB TAMIL SYLLABLE MOO
+0BAE 0BCC TAMIL SYLLABLE MAU
+0BAF 0BBE TAMIL SYLLABLE YAA
+0BAF 0BBF TAMIL SYLLABLE YI
+0BAF 0BC0 TAMIL SYLLABLE YII
+0BAF 0BC1 TAMIL SYLLABLE YU
+0BAF 0BC2 TAMIL SYLLABLE YUU
+0BAF 0BC6 TAMIL SYLLABLE YE
+0BAF 0BC7 TAMIL SYLLABLE YEE
+0BAF 0BC8 TAMIL SYLLABLE YAI
+0BAF 0BCA TAMIL SYLLABLE YO
+0BAF 0BCB TAMIL SYLLABLE YOO
+0BAF 0BCC TAMIL SYLLABLE YAU
+0BB0 0BBE TAMIL SYLLABLE RAA
+0BB0 0BBF TAMIL SYLLABLE RI
+0BB0 0BC0 TAMIL SYLLABLE RII
+0BB0 0BC1 TAMIL SYLLABLE RU
+0BB0 0BC2 TAMIL SYLLABLE RUU
+0BB0 0BC6 TAMIL SYLLABLE RE
+0BB0 0BC7 TAMIL SYLLABLE REE
+0BB0 0BC8 TAMIL SYLLABLE RAI
+0BB0 0BCA TAMIL SYLLABLE RO
+0BB0 0BCB TAMIL SYLLABLE ROO
+0BB0 0BCC TAMIL SYLLABLE RAU
+0BB2 0BBE TAMIL SYLLABLE LAA
+0BB2 0BBF TAMIL SYLLABLE LI
+0BB2 0BC0 TAMIL SYLLABLE LII
+0BB2 0BC1 TAMIL SYLLABLE LU
+0BB2 0BC2 TAMIL SYLLABLE LUU
+0BB2 0BC6 TAMIL SYLLABLE LE
+0BB2 0BC7 TAMIL SYLLABLE LEE
+0BB2 0BC8 TAMIL SYLLABLE LAI
+0BB2 0BCA TAMIL SYLLABLE LO
+0BB2 0BCB TAMIL SYLLABLE LOO
+0BB2 0BCC TAMIL SYLLABLE LAU
+0BB5 0BBE TAMIL SYLLABLE VAA
+0BB5 0BBF TAMIL SYLLABLE VI
+0BB5 0BC0 TAMIL SYLLABLE VII
+0BB5 0BC1 TAMIL SYLLABLE VU
+0BB5 0BC2 TAMIL SYLLABLE VUU
+0BB5 0BC6 TAMIL SYLLABLE VE
+0BB5 0BC7 TAMIL SYLLABLE VEE
+0BB5 0BC8 TAMIL SYLLABLE VAI
+0BB5 0BCA TAMIL SYLLABLE VO
+0BB5 0BCB TAMIL SYLLABLE VOO
+0BB5 0BCC TAMIL SYLLABLE VAU
+0BB4 0BBE TAMIL SYLLABLE LLLAA
+0BB4 0BBF TAMIL SYLLABLE LLLI
+0BB4 0BC0 TAMIL SYLLABLE LLLII
+0BB4 0BC1 TAMIL SYLLABLE LLLU
+0BB4 0BC2 TAMIL SYLLABLE LLLUU
+0BB4 0BC6 TAMIL SYLLABLE LLLE
+0BB4 0BC7 TAMIL SYLLABLE LLLEE
+0BB4 0BC8 TAMIL SYLLABLE LLLAI
+0BB4 0BCA TAMIL SYLLABLE LLLO
+0BB4 0BCB TAMIL SYLLABLE LLLOO
+0BB4 0BCC TAMIL SYLLABLE LLLAU
+0BB3 0BBE TAMIL SYLLABLE LLAA
+0BB3 0BBF TAMIL SYLLABLE LLI
+0BB3 0BC0 TAMIL SYLLABLE LLII
+0BB3 0BC1 TAMIL SYLLABLE LLU
+0BB3 0BC2 TAMIL SYLLABLE LLUU
+0BB3 0BC6 TAMIL SYLLABLE LLE
+0BB3 0BC7 TAMIL SYLLABLE LLEE
+0BB3 0BC8 TAMIL SYLLABLE LLAI
+0BB3 0BCA TAMIL SYLLABLE LLO
+0BB3 0BCB TAMIL SYLLABLE LLOO
+0BB3 0BCC TAMIL SYLLABLE LLAU
+0BB1 0BBE TAMIL SYLLABLE RRAA
+0BB1 0BBF TAMIL SYLLABLE RRI
+0BB1 0BC0 TAMIL SYLLABLE RRII
+0BB1 0BC1 TAMIL SYLLABLE RRU
+0BB1 0BC2 TAMIL SYLLABLE RRUU
+0BB1 0BC6 TAMIL SYLLABLE RRE
+0BB1 0BC7 TAMIL SYLLABLE RREE
+0BB1 0BC8 TAMIL SYLLABLE RRAI
+0BB1 0BCA TAMIL SYLLABLE RRO
+0BB1 0BCB TAMIL SYLLABLE RROO
+0BB1 0BCC TAMIL SYLLABLE RRAU
+0BA9 0BBE TAMIL SYLLABLE NNNAA
+0BA9 0BBF TAMIL SYLLABLE NNNI
+0BA9 0BC0 TAMIL SYLLABLE NNNII
+0BA9 0BC1 TAMIL SYLLABLE NNNU
+0BA9 0BC2 TAMIL SYLLABLE NNNUU
+0BA9 0BC6 TAMIL SYLLABLE NNNE
+0BA9 0BC7 TAMIL SYLLABLE NNNEE
+0BA9 0BC8 TAMIL SYLLABLE NNNAI
+0BA9 0BCA TAMIL SYLLABLE NNNO
+0BA9 0BCB TAMIL SYLLABLE NNNOO
+0BA9 0BCC TAMIL SYLLABLE NNNAU
+0B9C 0BBE TAMIL SYLLABLE JAA
+0B9C 0BBF TAMIL SYLLABLE JI
+0B9C 0BC0 TAMIL SYLLABLE JII
+0B9C 0BC1 TAMIL SYLLABLE JU
+0B9C 0BC2 TAMIL SYLLABLE JUU
+0B9C 0BC6 TAMIL SYLLABLE JE
+0B9C 0BC7 TAMIL SYLLABLE JEE
+0B9C 0BC8 TAMIL SYLLABLE JAI
+0B9C 0BCA TAMIL SYLLABLE JO
+0B9C 0BCB TAMIL SYLLABLE JOO
+0B9C 0BCC TAMIL SYLLABLE JAU
+0BB6 0BBE TAMIL SYLLABLE SHAA
+0BB6 0BBF TAMIL SYLLABLE SHI
+0BB6 0BC0 TAMIL SYLLABLE SHII
+0BB6 0BC1 TAMIL SYLLABLE SHU
+0BB6 0BC2 TAMIL SYLLABLE SHUU
+0BB6 0BC6 TAMIL SYLLABLE SHE
+0BB6 0BC7 TAMIL SYLLABLE SHEE
+0BB6 0BC8 TAMIL SYLLABLE SHAI
+0BB6 0BCA TAMIL SYLLABLE SHO
+0BB6 0BCB TAMIL SYLLABLE SHOO
+0BB6 0BCC TAMIL SYLLABLE SHAU
+0BB7 0BBE TAMIL SYLLABLE SSAA
+0BB7 0BBF TAMIL SYLLABLE SSI
+0BB7 0BC0 TAMIL SYLLABLE SSII
+0BB7 0BC1 TAMIL SYLLABLE SSU
+0BB7 0BC2 TAMIL SYLLABLE SSUU
+0BB7 0BC6 TAMIL SYLLABLE SSE
+0BB7 0BC7 TAMIL SYLLABLE SSEE
+0BB7 0BC8 TAMIL SYLLABLE SSAI
+0BB7 0BCA TAMIL SYLLABLE SSO
+0BB7 0BCB TAMIL SYLLABLE SSOO
+0BB7 0BCC TAMIL SYLLABLE SSAU
+0BB8 0BBE TAMIL SYLLABLE SAA
+0BB8 0BBF TAMIL SYLLABLE SI
+0BB8 0BC0 TAMIL SYLLABLE SII
+0BB8 0BC1 TAMIL SYLLABLE SU
+0BB8 0BC2 TAMIL SYLLABLE SUU
+0BB8 0BC6 TAMIL SYLLABLE SE
+0BB8 0BC7 TAMIL SYLLABLE SEE
+0BB8 0BC8 TAMIL SYLLABLE SAI
+0BB8 0BCA TAMIL SYLLABLE SO
+0BB8 0BCB TAMIL SYLLABLE SOO
+0BB8 0BCC TAMIL SYLLABLE SAU
+0BB9 0BBE TAMIL SYLLABLE HAA
+0BB9 0BBF TAMIL SYLLABLE HI
+0BB9 0BC0 TAMIL SYLLABLE HII
+0BB9 0BC1 TAMIL SYLLABLE HU
+0BB9 0BC2 TAMIL SYLLABLE HUU
+0BB9 0BC6 TAMIL SYLLABLE HE
+0BB9 0BC7 TAMIL SYLLABLE HEE
+0BB9 0BC8 TAMIL SYLLABLE HAI
+0BB9 0BCA TAMIL SYLLABLE HO
+0BB9 0BCB TAMIL SYLLABLE HOO
+0BB9 0BCC TAMIL SYLLABLE HAU
+0B95 0BCD 0BB7 TAMIL SYLLABLE KSSA
+0B95 0BCD 0BB7 0BBE TAMIL SYLLABLE KSSAA
+0B95 0BCD 0BB7 0BBF TAMIL SYLLABLE KSSI
+0B95 0BCD 0BB7 0BC0 TAMIL SYLLABLE KSSII
+0B95 0BCD 0BB7 0BC1 TAMIL SYLLABLE KSSU
+0B95 0BCD 0BB7 0BC2 TAMIL SYLLABLE KSSUU
+0B95 0BCD 0BB7 0BC6 TAMIL SYLLABLE KSSE
+0B95 0BCD 0BB7 0BC7 TAMIL SYLLABLE KSSEE
+0B95 0BCD 0BB7 0BC8 TAMIL SYLLABLE KSSAI
+0B95 0BCD 0BB7 0BCA TAMIL SYLLABLE KSSO
+0B95 0BCD 0BB7 0BCB TAMIL SYLLABLE KSSOO
+0B95 0BCD 0BB7 0BCC TAMIL SYLLABLE KSSAU
+0BB6 0BCD 0BB0 0BC0 TAMIL SYLLABLE SHRII
+10E3 0302 GEORGIAN LETTER U-BRJGU
+17D2 1780 KHMER CONSONANT SIGN COENG KA
+17D2 1781 KHMER CONSONANT SIGN COENG KHA
+17D2 1782 KHMER CONSONANT SIGN COENG KO
+17D2 1783 KHMER CONSONANT SIGN COENG KHO
+17D2 1784 KHMER CONSONANT SIGN COENG NGO
+17D2 1785 KHMER CONSONANT SIGN COENG CA
+17D2 1786 KHMER CONSONANT SIGN COENG CHA
+17D2 1787 KHMER CONSONANT SIGN COENG CO
+17D2 1788 KHMER CONSONANT SIGN COENG CHO
+17D2 1789 KHMER CONSONANT SIGN COENG NYO
+17D2 178A KHMER CONSONANT SIGN COENG DA
+17D2 178B KHMER CONSONANT SIGN COENG TTHA
+17D2 178C KHMER CONSONANT SIGN COENG DO
+17D2 178D KHMER CONSONANT SIGN COENG TTHO
+17D2 178E KHMER CONSONANT SIGN COENG NA
+17D2 178F KHMER CONSONANT SIGN COENG TA
+17D2 1790 KHMER CONSONANT SIGN COENG THA
+17D2 1791 KHMER CONSONANT SIGN COENG TO
+17D2 1792 KHMER CONSONANT SIGN COENG THO
+17D2 1793 KHMER CONSONANT SIGN COENG NO
+17D2 1794 KHMER CONSONANT SIGN COENG BA
+17D2 1795 KHMER CONSONANT SIGN COENG PHA
+17D2 1796 KHMER CONSONANT SIGN COENG PO
+17D2 1797 KHMER CONSONANT SIGN COENG PHO
+17D2 1798 KHMER CONSONANT SIGN COENG MO
+17D2 1799 KHMER CONSONANT SIGN COENG YO
+17D2 179A KHMER CONSONANT SIGN COENG RO
+17D2 179B KHMER CONSONANT SIGN COENG LO
+17D2 179C KHMER CONSONANT SIGN COENG VO
+17D2 179D KHMER CONSONANT SIGN COENG SHA
+17D2 179E KHMER CONSONANT SIGN COENG SSA
+17D2 179F KHMER CONSONANT SIGN COENG SA
+17D2 17A0 KHMER CONSONANT SIGN COENG HA
+17D2 17A1 KHMER CONSONANT SIGN COENG LA
+17D2 17A2 KHMER VOWEL SIGN COENG QA
+17D2 17A7 KHMER INDEPENDENT VOWEL SIGN COENG QU
+17D2 17AB KHMER INDEPENDENT VOWEL SIGN COENG RY
+17D2 17AC KHMER INDEPENDENT VOWEL SIGN COENG RYY
+17D2 17AF KHMER INDEPENDENT VOWEL SIGN COENG QE
+17BB 17C6 KHMER VOWEL SIGN OM
+17B6 17C6 KHMER VOWEL SIGN AAM
+304B 309A HIRAGANA LETTER BIDAKUON NGA
+304D 309A HIRAGANA LETTER BIDAKUON NGI
+304F 309A HIRAGANA LETTER BIDAKUON NGU
+3051 309A HIRAGANA LETTER BIDAKUON NGE
+3053 309A HIRAGANA LETTER BIDAKUON NGO
+30AB 309A KATAKANA LETTER BIDAKUON NGA
+30AD 309A KATAKANA LETTER BIDAKUON NGI
+30AF 309A KATAKANA LETTER BIDAKUON NGU
+30B1 309A KATAKANA LETTER BIDAKUON NGE
+30B3 309A KATAKANA LETTER BIDAKUON NGO
+30BB 309A KATAKANA LETTER AINU CE
+30C4 309A KATAKANA LETTER AINU TU
+30C8 309A KATAKANA LETTER AINU TO
+31F7 309A KATAKANA LETTER AINU P
+02E5 02E9 MODIFIER LETTER EXTRA-HIGH EXTRA-LOW CONTOUR TONE BAR
+02E9 02E5 MODIFIER LETTER EXTRA-LOW EXTRA-HIGH CONTOUR TONE BAR
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/NameAliases.txt b/Master/tlpkg/tlperl/lib/unicore/NameAliases.txt
deleted file mode 100644
index ab111a508f2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/NameAliases.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-# NameAliases-5.2.0.txt
-# Date: 2009-05-22, 13:05:00 PDT [KW]
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 2005-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# This file defines the formal name aliases for Unicode characters.
-#
-# For informative aliases see NamesList.txt
-#
-# For documentation, see NamesList.html and http://www.unicode.org/reports/tr44/
-#
-# FORMAT
-#
-# Each line has two fields
-# First field: Code point
-# Second field: Alias
-#
-# In case multiple aliases are assigned, additional aliases
-# would be provided on separate lines
-#
-#-----------------------------------------------------------------
-01A2;LATIN CAPITAL LETTER GHA
-01A3;LATIN SMALL LETTER GHA
-0CDE;KANNADA LETTER LLLA
-0E9D;LAO LETTER FO FON
-0E9F;LAO LETTER FO FAY
-0EA3;LAO LETTER RO
-0EA5;LAO LETTER LO
-0FD0;TIBETAN MARK BKA- SHOG GI MGO RGYAN
-A015;YI SYLLABLE ITERATION MARK
-FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET
-1D0C5;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS
-
-# Total code points: 11
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt b/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
index 314b37b1d77..0c270410dfb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
@@ -1,14 +1,25 @@
-# NamedSequences-5.2.0.txt
-# Date: 2009-09-14, 12:44:00 PDT [KW]
+# NamedSequences-6.0.0.txt
+# Date: 2010-05-18, 10:48:00 PDT [KW]
#
# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
+# Copyright (c) 1991-2010 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
# Format:
# Name of Sequence; Code Point Sequence for USI
#
+# Code point sequences in the UCD use spaces as delimiters.
+# The corresponding format for a USI in ISO/IEC 10646 uses
+# comma delimitation and angle brackets. Thus, a named sequence
+# of the form:
+#
+# EXAMPLE NAME;1000 1001 1002
+#
+# in this data file, would correspond to a 10646 USI as follows:
+#
+# <1000, 1001, 1002>
+#
# Note: The order of entries in this file is not significant.
# However, entries are generally in script order corresponding
# to block order in the Unicode Standard, to make it easier
@@ -80,6 +91,24 @@ LATIN SMALL LETTER U WITH MACRON AND ACUTE;016B 0301
LATIN CAPITAL LETTER U WITH MACRON AND TILDE;016A 0303
LATIN SMALL LETTER U WITH MACRON AND TILDE;016B 0303
+# Entries for JIS X 0213 compatibility mapping.
+# Provisional: 2008-11-07, Approved 2010-05-14
+
+LATIN SMALL LETTER AE WITH GRAVE;00E6 0300
+LATIN SMALL LETTER OPEN O WITH GRAVE;0254 0300
+LATIN SMALL LETTER OPEN O WITH ACUTE;0254 0301
+LATIN SMALL LETTER TURNED V WITH GRAVE;028C 0300
+LATIN SMALL LETTER TURNED V WITH ACUTE;028C 0301
+LATIN SMALL LETTER SCHWA WITH GRAVE;0259 0300
+LATIN SMALL LETTER SCHWA WITH ACUTE;0259 0301
+LATIN SMALL LETTER HOOKED SCHWA WITH GRAVE;025A 0300
+LATIN SMALL LETTER HOOKED SCHWA WITH ACUTE;025A 0301
+
+# Entry for a Bangla entity.
+# Provisional: 2009-08-10, Approved 2010-05-14
+
+BENGALI LETTER KHINYA;0995 09CD 09B7
+
# Additions for Tamil. Provisional 2008-02-08, Approved 2009-08-14
#
# A visual display of the Tamil named sequences is available
@@ -444,5 +473,23 @@ KHMER INDEPENDENT VOWEL SIGN COENG RYY;17D2 17AC
KHMER INDEPENDENT VOWEL SIGN COENG QE;17D2 17AF
KHMER VOWEL SIGN OM;17BB 17C6
KHMER VOWEL SIGN AAM;17B6 17C6
+
+# Entries for JIS X 0213 compatibility mapping.
+# Provisional: 2008-11-07, Approved 2010-05-14
+
+HIRAGANA LETTER BIDAKUON NGA;304B 309A
+HIRAGANA LETTER BIDAKUON NGI;304D 309A
+HIRAGANA LETTER BIDAKUON NGU;304F 309A
+HIRAGANA LETTER BIDAKUON NGE;3051 309A
+HIRAGANA LETTER BIDAKUON NGO;3053 309A
+KATAKANA LETTER BIDAKUON NGA;30AB 309A
+KATAKANA LETTER BIDAKUON NGI;30AD 309A
+KATAKANA LETTER BIDAKUON NGU;30AF 309A
+KATAKANA LETTER BIDAKUON NGE;30B1 309A
+KATAKANA LETTER BIDAKUON NGO;30B3 309A
+KATAKANA LETTER AINU CE;30BB 309A
+KATAKANA LETTER AINU TU;30C4 309A
+KATAKANA LETTER AINU TO;30C8 309A
KATAKANA LETTER AINU P;31F7 309A
MODIFIER LETTER EXTRA-HIGH EXTRA-LOW CONTOUR TONE BAR;02E5 02E9
+MODIFIER LETTER EXTRA-LOW EXTRA-HIGH CONTOUR TONE BAR;02E9 02E5
diff --git a/Master/tlpkg/tlperl/lib/unicore/NamedSqProv.txt b/Master/tlpkg/tlperl/lib/unicore/NamedSqProv.txt
deleted file mode 100644
index 3f25996d092..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/NamedSqProv.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-# NamedSequencesProv-5.2.0.txt
-# Date: 2009-09-14, 12:47:00 PDT [KW]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-#
-# Provisional Named Sequences
-# Note: This data file contains those named
-# sequences which have been designated to be provisional,
-# rather than fully approved.
-#
-# Format:
-# Name of Sequence; Code Point Sequence for USI
-#
-# Note: The order of entries in this file is not significant.
-# However, entries are generally in script order corresponding
-# to block order in the Unicode Standard, to make it easier
-# to find entries currently in the list.
-
-# ================================================
-
-# Provisional entries for NamedSequences.txt.
-
-# Entry for a Bangla entity.
-# Provisional: 2009-August-10.
-
-BENGALI LETTER KHINYA;0995 09CD 09B7
-
-# Entries for JIS X 0213 compatibility mapping.
-# Provisional: 2008-November-07.
-
-LATIN SMALL LETTER AE WITH GRAVE;00E6 0300
-LATIN SMALL LETTER OPEN O WITH GRAVE;0254 0300
-LATIN SMALL LETTER OPEN O WITH ACUTE;0254 0301
-LATIN SMALL LETTER TURNED V WITH GRAVE;028C 0300
-LATIN SMALL LETTER TURNED V WITH ACUTE;028C 0301
-LATIN SMALL LETTER SCHWA WITH GRAVE;0259 0300
-LATIN SMALL LETTER SCHWA WITH ACUTE;0259 0301
-LATIN SMALL LETTER HOOKED SCHWA WITH GRAVE;025A 0300
-LATIN SMALL LETTER HOOKED SCHWA WITH ACUTE;025A 0301
-HIRAGANA LETTER BIDAKUON NGA;304B 309A
-HIRAGANA LETTER BIDAKUON NGI;304D 309A
-HIRAGANA LETTER BIDAKUON NGU;304F 309A
-HIRAGANA LETTER BIDAKUON NGE;3051 309A
-HIRAGANA LETTER BIDAKUON NGO;3053 309A
-KATAKANA LETTER BIDAKUON NGA;30AB 309A
-KATAKANA LETTER BIDAKUON NGI;30AD 309A
-KATAKANA LETTER BIDAKUON NGU;30AF 309A
-KATAKANA LETTER BIDAKUON NGE;30B1 309A
-KATAKANA LETTER BIDAKUON NGO;30B3 309A
-KATAKANA LETTER AINU CE;30BB 309A
-KATAKANA LETTER AINU TU;30C4 309A
-KATAKANA LETTER AINU TO;30C8 309A
-MODIFIER LETTER EXTRA-LOW EXTRA-HIGH CONTOUR TONE BAR;02E9 02E5
-
-# ================================================
-
-# Entries from Unicode 4.1.0 version of NamedSequences.txt,
-# subsequently disapproved because of potential errors in
-# representation.
-
-# GURMUKHI HALF YA;0A2F 0A4D
-# GURMUKHI PARI YA;0A4D 0A2F
-
-# Entry removed 2006-05-18:
-#
-# LATIN SMALL LETTER A WITH ACUTE AND OGONEK;00E1 0328
-#
-# This entry was removed because the sequence was not in NFC,
-# as required. It was replaced with the NFC version of
-# the sequence, based on the Lithuanian additions accepted
-# for Unicode 5.0.
-
diff --git a/Master/tlpkg/tlperl/lib/unicore/NamesList.txt b/Master/tlpkg/tlperl/lib/unicore/NamesList.txt
deleted file mode 100644
index 863a3b2bfd8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/NamesList.txt
+++ /dev/null
@@ -1,34740 +0,0 @@
-@@@ The Unicode Standard 5.2
-@@@+ U52M090904.lst
- Final Unicode 5.2 names list. (Amd 5 & Amd 6)
- This file is semi-automatically derived from UnicodeData.txt and
- a set of manually created annotations using a script to select
- or suppress information from the data file. The rules used
- for this process are aimed at readability for the human reader,
- at the expense of some details; therefore, this file should not
- be parsed for machine-readable information.
-@+ Copyright (c) 1991-2009 Unicode, Inc.
- For terms of use, see http://www.unicode.org/terms_of_use.html
-@@ 0000 C0 Controls and Basic Latin (Basic Latin) 007F
-@@+
-@ C0 controls
-@+ Alias names are those for ISO/IEC 6429:1992. Commonly used alternative aliases are also shown.
-0000 <control>
- = NULL
-0001 <control>
- = START OF HEADING
-0002 <control>
- = START OF TEXT
-0003 <control>
- = END OF TEXT
-0004 <control>
- = END OF TRANSMISSION
-0005 <control>
- = ENQUIRY
-0006 <control>
- = ACKNOWLEDGE
-0007 <control>
- = BELL
-0008 <control>
- = BACKSPACE
-0009 <control>
- = CHARACTER TABULATION
- = horizontal tabulation (HT), tab
-000A <control>
- = LINE FEED (LF)
- = new line (NL), end of line (EOL)
-000B <control>
- = LINE TABULATION
- = vertical tabulation (VT)
-000C <control>
- = FORM FEED (FF)
-000D <control>
- = CARRIAGE RETURN (CR)
-000E <control>
- = SHIFT OUT
- * known as LOCKING-SHIFT ONE in 8-bit environments
-000F <control>
- = SHIFT IN
- * known as LOCKING-SHIFT ZERO in 8-bit environments
-0010 <control>
- = DATA LINK ESCAPE
-0011 <control>
- = DEVICE CONTROL ONE
-0012 <control>
- = DEVICE CONTROL TWO
-0013 <control>
- = DEVICE CONTROL THREE
-0014 <control>
- = DEVICE CONTROL FOUR
-0015 <control>
- = NEGATIVE ACKNOWLEDGE
-0016 <control>
- = SYNCHRONOUS IDLE
-0017 <control>
- = END OF TRANSMISSION BLOCK
-0018 <control>
- = CANCEL
-0019 <control>
- = END OF MEDIUM
-001A <control>
- = SUBSTITUTE
- x (replacement character - FFFD)
-001B <control>
- = ESCAPE
-001C <control>
- = INFORMATION SEPARATOR FOUR
- = file separator (FS)
-001D <control>
- = INFORMATION SEPARATOR THREE
- = group separator (GS)
-001E <control>
- = INFORMATION SEPARATOR TWO
- = record separator (RS)
-001F <control>
- = INFORMATION SEPARATOR ONE
- = unit separator (US)
-@ ASCII punctuation and symbols
-@+ Based on ISO/IEC 646.
-0020 SPACE
- * sometimes considered a control code
- * other space characters: 2000-200A
- x (no-break space - 00A0)
- x (zero width space - 200B)
- x (word joiner - 2060)
- x (ideographic space - 3000)
- x (zero width no-break space - FEFF)
-0021 EXCLAMATION MARK
- = factorial
- = bang
- x (inverted exclamation mark - 00A1)
- x (latin letter retroflex click - 01C3)
- x (double exclamation mark - 203C)
- x (interrobang - 203D)
- x (heavy exclamation mark ornament - 2762)
-0022 QUOTATION MARK
- * neutral (vertical), used as opening or closing quotation mark
- * preferred characters in English for paired quotation marks are 201C & 201D
- x (modifier letter double prime - 02BA)
- x (combining double acute accent - 030B)
- x (combining double vertical line above - 030E)
- x (double prime - 2033)
- x (ditto mark - 3003)
-0023 NUMBER SIGN
- = pound sign, hash, crosshatch, octothorpe
- x (l b bar symbol - 2114)
- x (music sharp sign - 266F)
-0024 DOLLAR SIGN
- = milreis, escudo
- * glyph may have one or two vertical bars
- * other currency symbol characters: 20A0-20B5
- x (currency sign - 00A4)
-0025 PERCENT SIGN
- x (arabic percent sign - 066A)
- x (per mille sign - 2030)
- x (per ten thousand sign - 2031)
- x (commercial minus sign - 2052)
-0026 AMPERSAND
- x (tironian sign et - 204A)
- x (turned ampersand - 214B)
-0027 APOSTROPHE
- = apostrophe-quote (1.0)
- = APL quote
- * neutral (vertical) glyph with mixed usage
- * 2019 is preferred for apostrophe
- * preferred characters in English for paired quotation marks are 2018 & 2019
- x (modifier letter prime - 02B9)
- x (modifier letter apostrophe - 02BC)
- x (modifier letter vertical line - 02C8)
- x (combining acute accent - 0301)
- x (prime - 2032)
- x (latin small letter saltillo - A78C)
-0028 LEFT PARENTHESIS
- = opening parenthesis (1.0)
-0029 RIGHT PARENTHESIS
- = closing parenthesis (1.0)
- * see discussion on semantics of paired bracketing characters
-002A ASTERISK
- = star (on phone keypads)
- x (arabic five pointed star - 066D)
- x (low asterisk - 204E)
- x (asterisk operator - 2217)
- x (sextile - 26B9)
- x (heavy asterisk - 2731)
-002B PLUS SIGN
-002C COMMA
- = decimal separator
- x (arabic comma - 060C)
- x (single low-9 quotation mark - 201A)
- x (ideographic comma - 3001)
-002D HYPHEN-MINUS
- = hyphen or minus sign
- * used for either hyphen or minus sign
- x (hyphen - 2010)
- x (non-breaking hyphen - 2011)
- x (figure dash - 2012)
- x (en dash - 2013)
- x (minus sign - 2212)
- x (roman uncia sign - 10191)
-002E FULL STOP
- = period, dot, decimal point
- * may be rendered as a raised decimal point in old style numbers
- x (arabic full stop - 06D4)
- x (ideographic full stop - 3002)
-002F SOLIDUS
- = slash, virgule
- x (latin letter dental click - 01C0)
- x (combining long solidus overlay - 0338)
- x (fraction slash - 2044)
- x (division slash - 2215)
-@ ASCII digits
-0030 DIGIT ZERO
-0031 DIGIT ONE
-0032 DIGIT TWO
-0033 DIGIT THREE
-0034 DIGIT FOUR
-0035 DIGIT FIVE
-0036 DIGIT SIX
-0037 DIGIT SEVEN
-0038 DIGIT EIGHT
-0039 DIGIT NINE
-@ ASCII punctuation and symbols
-003A COLON
- x (armenian full stop - 0589)
- x (hebrew punctuation sof pasuq - 05C3)
- x (ratio - 2236)
- x (modifier letter colon - A789)
-003B SEMICOLON
- * this, and not 037E, is the preferred character for 'Greek question mark'
- x (greek question mark - 037E)
- x (arabic semicolon - 061B)
- x (reversed semicolon - 204F)
-003C LESS-THAN SIGN
- x (single left-pointing angle quotation mark - 2039)
- x (left-pointing angle bracket - 2329)
- x (mathematical left angle bracket - 27E8)
- x (left angle bracket - 3008)
-003D EQUALS SIGN
- * other related characters: 2241-2263
- x (not equal to - 2260)
- x (identical to - 2261)
- x (modifier letter short equals sign - A78A)
- x (roman sextans sign - 10190)
-003E GREATER-THAN SIGN
- x (single right-pointing angle quotation mark - 203A)
- x (right-pointing angle bracket - 232A)
- x (mathematical right angle bracket - 27E9)
- x (right angle bracket - 3009)
-003F QUESTION MARK
- x (inverted question mark - 00BF)
- x (greek question mark - 037E)
- x (arabic question mark - 061F)
- x (interrobang - 203D)
- x (question exclamation mark - 2048)
- x (exclamation question mark - 2049)
-0040 COMMERCIAL AT
- = at sign
-@ Uppercase Latin alphabet
-0041 LATIN CAPITAL LETTER A
-0042 LATIN CAPITAL LETTER B
- x (script capital b - 212C)
-0043 LATIN CAPITAL LETTER C
- x (double-struck capital c - 2102)
- x (black-letter capital c - 212D)
-0044 LATIN CAPITAL LETTER D
-0045 LATIN CAPITAL LETTER E
- x (euler constant - 2107)
- x (script capital e - 2130)
-0046 LATIN CAPITAL LETTER F
- x (script capital f - 2131)
- x (turned capital f - 2132)
-0047 LATIN CAPITAL LETTER G
-0048 LATIN CAPITAL LETTER H
- x (script capital h - 210B)
- x (black-letter capital h - 210C)
- x (double-struck capital h - 210D)
-0049 LATIN CAPITAL LETTER I
- * Turkish and Azerbaijani use 0131 for lowercase
- x (latin capital letter i with dot above - 0130)
- x (cyrillic capital letter byelorussian-ukrainian i - 0406)
- x (cyrillic letter palochka - 04C0)
- x (script capital i - 2110)
- x (black-letter capital i - 2111)
- x (roman numeral one - 2160)
-004A LATIN CAPITAL LETTER J
-004B LATIN CAPITAL LETTER K
- x (kelvin sign - 212A)
-004C LATIN CAPITAL LETTER L
- x (script capital l - 2112)
-004D LATIN CAPITAL LETTER M
- x (script capital m - 2133)
-004E LATIN CAPITAL LETTER N
- x (double-struck capital n - 2115)
-004F LATIN CAPITAL LETTER O
-0050 LATIN CAPITAL LETTER P
- x (double-struck capital p - 2119)
-0051 LATIN CAPITAL LETTER Q
- x (double-struck capital q - 211A)
-0052 LATIN CAPITAL LETTER R
- x (script capital r - 211B)
- x (black-letter capital r - 211C)
- x (double-struck capital r - 211D)
-0053 LATIN CAPITAL LETTER S
-0054 LATIN CAPITAL LETTER T
-0055 LATIN CAPITAL LETTER U
-0056 LATIN CAPITAL LETTER V
- x (roman numeral five - 2164)
-0057 LATIN CAPITAL LETTER W
-0058 LATIN CAPITAL LETTER X
-0059 LATIN CAPITAL LETTER Y
-005A LATIN CAPITAL LETTER Z
- x (double-struck capital z - 2124)
- x (black-letter capital z - 2128)
-@ ASCII punctuation and symbols
-005B LEFT SQUARE BRACKET
- = opening square bracket (1.0)
- * other bracket characters: 27E6-27EB, 2983-2998, 3008-301B
-005C REVERSE SOLIDUS
- = backslash
- x (combining reverse solidus overlay - 20E5)
- x (set minus - 2216)
-005D RIGHT SQUARE BRACKET
- = closing square bracket (1.0)
-005E CIRCUMFLEX ACCENT
- * this is a spacing character
- x (modifier letter up arrowhead - 02C4)
- x (modifier letter circumflex accent - 02C6)
- x (combining circumflex accent - 0302)
- x (caret - 2038)
- x (up arrowhead - 2303)
-005F LOW LINE
- = spacing underscore (1.0)
- * this is a spacing character
- x (modifier letter low macron - 02CD)
- x (combining macron below - 0331)
- x (combining low line - 0332)
- x (double low line - 2017)
-0060 GRAVE ACCENT
- * this is a spacing character
- x (modifier letter grave accent - 02CB)
- x (combining grave accent - 0300)
- x (reversed prime - 2035)
-@ Lowercase Latin alphabet
-0061 LATIN SMALL LETTER A
-0062 LATIN SMALL LETTER B
-0063 LATIN SMALL LETTER C
-0064 LATIN SMALL LETTER D
-0065 LATIN SMALL LETTER E
- x (estimated symbol - 212E)
- x (script small e - 212F)
-0066 LATIN SMALL LETTER F
-0067 LATIN SMALL LETTER G
- x (latin small letter script g - 0261)
- x (script small g - 210A)
-0068 LATIN SMALL LETTER H
- x (cyrillic small letter shha - 04BB)
- x (planck constant - 210E)
-0069 LATIN SMALL LETTER I
- * Turkish and Azerbaijani use 0130 for uppercase
- x (latin small letter dotless i - 0131)
- x (mathematical italic small dotless i - 1D6A4)
-006A LATIN SMALL LETTER J
- x (latin small letter dotless j - 0237)
- x (mathematical italic small dotless j - 1D6A5)
-006B LATIN SMALL LETTER K
-006C LATIN SMALL LETTER L
- x (script small l - 2113)
- x (mathematical script small l - 1D4C1)
-006D LATIN SMALL LETTER M
-006E LATIN SMALL LETTER N
- x (superscript latin small letter n - 207F)
-006F LATIN SMALL LETTER O
- x (script small o - 2134)
-0070 LATIN SMALL LETTER P
-0071 LATIN SMALL LETTER Q
-0072 LATIN SMALL LETTER R
-0073 LATIN SMALL LETTER S
-0074 LATIN SMALL LETTER T
-0075 LATIN SMALL LETTER U
-0076 LATIN SMALL LETTER V
-0077 LATIN SMALL LETTER W
-0078 LATIN SMALL LETTER X
-0079 LATIN SMALL LETTER Y
-007A LATIN SMALL LETTER Z
- x (latin small letter z with stroke - 01B6)
-@ ASCII punctuation and symbols
-007B LEFT CURLY BRACKET
- = opening curly bracket (1.0)
- = left brace
-007C VERTICAL LINE
- = vertical bar
- * used in pairs to indicate absolute value
- x (latin letter dental click - 01C0)
- x (hebrew punctuation paseq - 05C0)
- x (divides - 2223)
- x (light vertical bar - 2758)
-007D RIGHT CURLY BRACKET
- = closing curly bracket (1.0)
- = right brace
-007E TILDE
- * this is a spacing character
- x (small tilde - 02DC)
- x (combining tilde - 0303)
- x (swung dash - 2053)
- x (tilde operator - 223C)
- x (fullwidth tilde - FF5E)
-@ Control character
-007F <control>
- = DELETE
-@@ 0080 C1 Controls and Latin-1 Supplement (Latin-1 Supplement) 00FF
-@ C1 controls
-@+ Alias names are those for ISO/IEC 6429:1992.
-0080 <control>
-0081 <control>
-0082 <control>
- = BREAK PERMITTED HERE
- x (zero width space - 200B)
-0083 <control>
- = NO BREAK HERE
- x (word joiner - 2060)
-0084 <control>
- * formerly known as INDEX
-0085 <control>
- = NEXT LINE (NEL)
-0086 <control>
- = START OF SELECTED AREA
-0087 <control>
- = END OF SELECTED AREA
-0088 <control>
- = CHARACTER TABULATION SET
-0089 <control>
- = CHARACTER TABULATION WITH JUSTIFICATION
-008A <control>
- = LINE TABULATION SET
-008B <control>
- = PARTIAL LINE FORWARD
-008C <control>
- = PARTIAL LINE BACKWARD
-008D <control>
- = REVERSE LINE FEED
-008E <control>
- = SINGLE SHIFT TWO
-008F <control>
- = SINGLE SHIFT THREE
-0090 <control>
- = DEVICE CONTROL STRING
-0091 <control>
- = PRIVATE USE ONE
-0092 <control>
- = PRIVATE USE TWO
-0093 <control>
- = SET TRANSMIT STATE
-0094 <control>
- = CANCEL CHARACTER
-0095 <control>
- = MESSAGE WAITING
-0096 <control>
- = START OF GUARDED AREA
-0097 <control>
- = END OF GUARDED AREA
-0098 <control>
- = START OF STRING
-0099 <control>
-009A <control>
- = SINGLE CHARACTER INTRODUCER
-009B <control>
- = CONTROL SEQUENCE INTRODUCER
-009C <control>
- = STRING TERMINATOR
-009D <control>
- = OPERATING SYSTEM COMMAND
-009E <control>
- = PRIVACY MESSAGE
-009F <control>
- = APPLICATION PROGRAM COMMAND
-@ Latin-1 punctuation and symbols
-@+ Based on ISO/IEC 8859-1 (aka Latin-1) from here.
-00A0 NO-BREAK SPACE
- * commonly abbreviated as NBSP
- x (space - 0020)
- x (figure space - 2007)
- x (narrow no-break space - 202F)
- x (word joiner - 2060)
- x (zero width no-break space - FEFF)
- # <noBreak> 0020
-00A1 INVERTED EXCLAMATION MARK
- * Spanish, Asturian, Galician
- x (exclamation mark - 0021)
-00A2 CENT SIGN
-00A3 POUND SIGN
- = pound sterling, Irish punt, Italian lira, Turkish lira, etc.
- x (lira sign - 20A4)
- x (roman semuncia sign - 10192)
-00A4 CURRENCY SIGN
- * other currency symbol characters: 20A0-20B5
- x (dollar sign - 0024)
-00A5 YEN SIGN
- = yuan sign
- * glyph may have one or two crossbars
-00A6 BROKEN BAR
- = broken vertical bar (1.0)
- = parted rule (in typography)
-00A7 SECTION SIGN
- * paragraph sign in some European usage
-00A8 DIAERESIS
- * this is a spacing character
- x (combining diaeresis - 0308)
- # 0020 0308
-00A9 COPYRIGHT SIGN
- x (sound recording copyright - 2117)
- x (circled latin capital letter c - 24B8)
-00AA FEMININE ORDINAL INDICATOR
- * Spanish
- # <super> 0061
-00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- = left guillemet
- = chevrons (in typography)
- * usually opening, sometimes closing
- x (much less-than - 226A)
- x (left double angle bracket - 300A)
-00AC NOT SIGN
- = angled dash (in typography)
- x (reversed not sign - 2310)
-00AD SOFT HYPHEN
- = discretionary hyphen
- * commonly abbreviated as SHY
-00AE REGISTERED SIGN
- = registered trade mark sign (1.0)
- x (circled latin capital letter r - 24C7)
-00AF MACRON
- = overline, APL overbar
- * this is a spacing character
- x (modifier letter macron - 02C9)
- x (combining macron - 0304)
- x (combining overline - 0305)
- # 0020 0304
-00B0 DEGREE SIGN
- * this is a spacing character
- x (ring above - 02DA)
- x (combining ring above - 030A)
- x (superscript zero - 2070)
- x (ring operator - 2218)
-00B1 PLUS-MINUS SIGN
- x (minus-or-plus sign - 2213)
-00B2 SUPERSCRIPT TWO
- = squared
- * other superscript digit characters: 2070-2079
- x (superscript one - 00B9)
- # <super> 0032
-00B3 SUPERSCRIPT THREE
- = cubed
- x (superscript one - 00B9)
- # <super> 0033
-00B4 ACUTE ACCENT
- * this is a spacing character
- x (modifier letter prime - 02B9)
- x (modifier letter acute accent - 02CA)
- x (combining acute accent - 0301)
- x (prime - 2032)
- # 0020 0301
-00B5 MICRO SIGN
- # 03BC greek small letter mu
-00B6 PILCROW SIGN
- = paragraph sign
- * section sign in some European usage
- x (reversed pilcrow sign - 204B)
- x (curved stem paragraph sign ornament - 2761)
-00B7 MIDDLE DOT
- = midpoint (in typography)
- = Georgian comma
- = Greek middle dot (ano teleia)
- x (greek ano teleia - 0387)
- x (runic single punctuation - 16EB)
- x (bullet - 2022)
- x (one dot leader - 2024)
- x (hyphenation point - 2027)
- x (bullet operator - 2219)
- x (dot operator - 22C5)
- x (word separator middle dot - 2E31)
- x (katakana middle dot - 30FB)
-00B8 CEDILLA
- * this is a spacing character
- * other spacing accent characters: 02D8-02DB
- x (combining cedilla - 0327)
- # 0020 0327
-00B9 SUPERSCRIPT ONE
- x (superscript two - 00B2)
- x (superscript three - 00B3)
- # <super> 0031
-00BA MASCULINE ORDINAL INDICATOR
- * Spanish
- # <super> 006F
-00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- = right guillemet
- * usually closing, sometimes opening
- x (much greater-than - 226B)
- x (right double angle bracket - 300B)
-00BC VULGAR FRACTION ONE QUARTER
- * bar may be horizontal or slanted
- * other fraction characters: 2153-215E
- # <fraction> 0031 2044 0034
-00BD VULGAR FRACTION ONE HALF
- * bar may be horizontal or slanted
- # <fraction> 0031 2044 0032
-00BE VULGAR FRACTION THREE QUARTERS
- * bar may be horizontal or slanted
- # <fraction> 0033 2044 0034
-00BF INVERTED QUESTION MARK
- = turned question mark
- * Spanish
- x (question mark - 003F)
- x (reversed question mark - 2E2E)
-@ Letters
-00C0 LATIN CAPITAL LETTER A WITH GRAVE
- : 0041 0300
-00C1 LATIN CAPITAL LETTER A WITH ACUTE
- : 0041 0301
-00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- : 0041 0302
-00C3 LATIN CAPITAL LETTER A WITH TILDE
- : 0041 0303
-00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
- : 0041 0308
-00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
- x (angstrom sign - 212B)
- : 0041 030A
-00C6 LATIN CAPITAL LETTER AE
- = latin capital ligature ae (1.0)
-00C7 LATIN CAPITAL LETTER C WITH CEDILLA
- : 0043 0327
-00C8 LATIN CAPITAL LETTER E WITH GRAVE
- : 0045 0300
-00C9 LATIN CAPITAL LETTER E WITH ACUTE
- : 0045 0301
-00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- : 0045 0302
-00CB LATIN CAPITAL LETTER E WITH DIAERESIS
- : 0045 0308
-00CC LATIN CAPITAL LETTER I WITH GRAVE
- : 0049 0300
-00CD LATIN CAPITAL LETTER I WITH ACUTE
- : 0049 0301
-00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- : 0049 0302
-00CF LATIN CAPITAL LETTER I WITH DIAERESIS
- : 0049 0308
-00D0 LATIN CAPITAL LETTER ETH
- x (latin small letter eth - 00F0)
- x (latin capital letter d with stroke - 0110)
- x (latin capital letter african d - 0189)
-00D1 LATIN CAPITAL LETTER N WITH TILDE
- : 004E 0303
-00D2 LATIN CAPITAL LETTER O WITH GRAVE
- : 004F 0300
-00D3 LATIN CAPITAL LETTER O WITH ACUTE
- : 004F 0301
-00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- : 004F 0302
-00D5 LATIN CAPITAL LETTER O WITH TILDE
- : 004F 0303
-00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
- : 004F 0308
-@ Mathematical operator
-00D7 MULTIPLICATION SIGN
- = z notation Cartesian product
-@ Letters
-00D8 LATIN CAPITAL LETTER O WITH STROKE
- = o slash
- x (empty set - 2205)
-00D9 LATIN CAPITAL LETTER U WITH GRAVE
- : 0055 0300
-00DA LATIN CAPITAL LETTER U WITH ACUTE
- : 0055 0301
-00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- : 0055 0302
-00DC LATIN CAPITAL LETTER U WITH DIAERESIS
- : 0055 0308
-00DD LATIN CAPITAL LETTER Y WITH ACUTE
- : 0059 0301
-00DE LATIN CAPITAL LETTER THORN
-00DF LATIN SMALL LETTER SHARP S
- = Eszett
- * German
- * uppercase is "SS"
- * in origin a ligature of 017F and 0073
- x (greek small letter beta - 03B2)
- x (latin capital letter sharp s - 1E9E)
-00E0 LATIN SMALL LETTER A WITH GRAVE
- : 0061 0300
-00E1 LATIN SMALL LETTER A WITH ACUTE
- : 0061 0301
-00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
- : 0061 0302
-00E3 LATIN SMALL LETTER A WITH TILDE
- * Portuguese
- : 0061 0303
-00E4 LATIN SMALL LETTER A WITH DIAERESIS
- : 0061 0308
-00E5 LATIN SMALL LETTER A WITH RING ABOVE
- * Danish, Norwegian, Swedish, Walloon
- : 0061 030A
-00E6 LATIN SMALL LETTER AE
- = latin small ligature ae (1.0)
- = ash (from Old English æsc)
- * Danish, Norwegian, Icelandic, Faroese, Old English, French, IPA
- x (latin small ligature oe - 0153)
- x (cyrillic small ligature a ie - 04D5)
-00E7 LATIN SMALL LETTER C WITH CEDILLA
- : 0063 0327
-00E8 LATIN SMALL LETTER E WITH GRAVE
- : 0065 0300
-00E9 LATIN SMALL LETTER E WITH ACUTE
- : 0065 0301
-00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
- : 0065 0302
-00EB LATIN SMALL LETTER E WITH DIAERESIS
- : 0065 0308
-00EC LATIN SMALL LETTER I WITH GRAVE
- * Italian, Malagasy
- : 0069 0300
-00ED LATIN SMALL LETTER I WITH ACUTE
- : 0069 0301
-00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
- : 0069 0302
-00EF LATIN SMALL LETTER I WITH DIAERESIS
- : 0069 0308
-00F0 LATIN SMALL LETTER ETH
- * Icelandic, Faroese, Old English, IPA
- x (latin capital letter eth - 00D0)
- x (greek small letter delta - 03B4)
- x (partial differential - 2202)
-00F1 LATIN SMALL LETTER N WITH TILDE
- : 006E 0303
-00F2 LATIN SMALL LETTER O WITH GRAVE
- : 006F 0300
-00F3 LATIN SMALL LETTER O WITH ACUTE
- : 006F 0301
-00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
- : 006F 0302
-00F5 LATIN SMALL LETTER O WITH TILDE
- * Portuguese, Estonian
- : 006F 0303
-00F6 LATIN SMALL LETTER O WITH DIAERESIS
- : 006F 0308
-@ Mathematical operator
-00F7 DIVISION SIGN
- x (division slash - 2215)
- x (divides - 2223)
-@ Letters
-00F8 LATIN SMALL LETTER O WITH STROKE
- = o slash
- * Danish, Norwegian, Faroese, IPA
-00F9 LATIN SMALL LETTER U WITH GRAVE
- * French, Italian
- : 0075 0300
-00FA LATIN SMALL LETTER U WITH ACUTE
- : 0075 0301
-00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
- : 0075 0302
-00FC LATIN SMALL LETTER U WITH DIAERESIS
- : 0075 0308
-00FD LATIN SMALL LETTER Y WITH ACUTE
- * Czech, Slovak, Icelandic, Faroese, Welsh, Malagasy
- : 0079 0301
-00FE LATIN SMALL LETTER THORN
- * Icelandic, Old English, phonetics
- * Runic letter borrowed into Latin script
- x (runic letter thurisaz thurs thorn - 16A6)
-00FF LATIN SMALL LETTER Y WITH DIAERESIS
- * French
- x (latin capital letter y with diaeresis - 0178)
- : 0079 0308
-@@ 0100 Latin Extended-A 017F
-@ European Latin
-0100 LATIN CAPITAL LETTER A WITH MACRON
- : 0041 0304
-0101 LATIN SMALL LETTER A WITH MACRON
- * Latvian, Latin, ...
- : 0061 0304
-0102 LATIN CAPITAL LETTER A WITH BREVE
- : 0041 0306
-0103 LATIN SMALL LETTER A WITH BREVE
- * Romanian, Vietnamese, Latin, ...
- : 0061 0306
-0104 LATIN CAPITAL LETTER A WITH OGONEK
- : 0041 0328
-0105 LATIN SMALL LETTER A WITH OGONEK
- * Polish, Lithuanian, ...
- : 0061 0328
-0106 LATIN CAPITAL LETTER C WITH ACUTE
- : 0043 0301
-0107 LATIN SMALL LETTER C WITH ACUTE
- * Polish, Croatian, ...
- x (cyrillic small letter tshe - 045B)
- : 0063 0301
-0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
- : 0043 0302
-0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
- * Esperanto
- : 0063 0302
-010A LATIN CAPITAL LETTER C WITH DOT ABOVE
- : 0043 0307
-010B LATIN SMALL LETTER C WITH DOT ABOVE
- * Maltese, Irish Gaelic (old orthography)
- : 0063 0307
-010C LATIN CAPITAL LETTER C WITH CARON
- : 0043 030C
-010D LATIN SMALL LETTER C WITH CARON
- * Czech, Slovak, Slovenian, and many other languages
- : 0063 030C
-010E LATIN CAPITAL LETTER D WITH CARON
- * the form using caron/hacek is preferred in all contexts
- : 0044 030C
-010F LATIN SMALL LETTER D WITH CARON
- * Czech, Slovak
- * the form using apostrophe is preferred in typesetting
- : 0064 030C
-0110 LATIN CAPITAL LETTER D WITH STROKE
- x (latin capital letter eth - 00D0)
- x (latin small letter d with stroke - 0111)
- x (latin capital letter african d - 0189)
-0111 LATIN SMALL LETTER D WITH STROKE
- * Croatian, Vietnamese, Sami
- * an alternate glyph with the stroke through the bowl is used in Americanist orthographies
- x (latin capital letter d with stroke - 0110)
- x (cyrillic small letter dje - 0452)
-0112 LATIN CAPITAL LETTER E WITH MACRON
- : 0045 0304
-0113 LATIN SMALL LETTER E WITH MACRON
- * Latvian, Latin, ...
- : 0065 0304
-0114 LATIN CAPITAL LETTER E WITH BREVE
- : 0045 0306
-0115 LATIN SMALL LETTER E WITH BREVE
- * Malay, Latin, ...
- : 0065 0306
-0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
- : 0045 0307
-0117 LATIN SMALL LETTER E WITH DOT ABOVE
- * Lithuanian
- : 0065 0307
-0118 LATIN CAPITAL LETTER E WITH OGONEK
- : 0045 0328
-0119 LATIN SMALL LETTER E WITH OGONEK
- * Polish, Lithuanian, ...
- : 0065 0328
-011A LATIN CAPITAL LETTER E WITH CARON
- : 0045 030C
-011B LATIN SMALL LETTER E WITH CARON
- * Czech, ...
- : 0065 030C
-011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
- : 0047 0302
-011D LATIN SMALL LETTER G WITH CIRCUMFLEX
- * Esperanto
- : 0067 0302
-011E LATIN CAPITAL LETTER G WITH BREVE
- : 0047 0306
-011F LATIN SMALL LETTER G WITH BREVE
- * Turkish, Azerbaijani
- x (latin small letter g with caron - 01E7)
- : 0067 0306
-0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
- : 0047 0307
-0121 LATIN SMALL LETTER G WITH DOT ABOVE
- * Maltese, Irish Gaelic (old orthography)
- : 0067 0307
-0122 LATIN CAPITAL LETTER G WITH CEDILLA
- : 0047 0327
-0123 LATIN SMALL LETTER G WITH CEDILLA
- * Latvian
- * there are three major glyph variants
- : 0067 0327
-0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
- : 0048 0302
-0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
- * Esperanto
- : 0068 0302
-0126 LATIN CAPITAL LETTER H WITH STROKE
-0127 LATIN SMALL LETTER H WITH STROKE
- * Maltese, IPA, ...
- x (cyrillic small letter tshe - 045B)
- x (planck constant over two pi - 210F)
-0128 LATIN CAPITAL LETTER I WITH TILDE
- : 0049 0303
-0129 LATIN SMALL LETTER I WITH TILDE
- * Greenlandic (old orthography)
- : 0069 0303
-012A LATIN CAPITAL LETTER I WITH MACRON
- : 0049 0304
-012B LATIN SMALL LETTER I WITH MACRON
- * Latvian, Latin, ...
- : 0069 0304
-012C LATIN CAPITAL LETTER I WITH BREVE
- : 0049 0306
-012D LATIN SMALL LETTER I WITH BREVE
- * Latin, ...
- : 0069 0306
-012E LATIN CAPITAL LETTER I WITH OGONEK
- : 0049 0328
-012F LATIN SMALL LETTER I WITH OGONEK
- * Lithuanian, ...
- : 0069 0328
-0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
- = i dot
- * Turkish, Azerbaijani
- * lowercase is 0069
- x (latin capital letter i - 0049)
- : 0049 0307
-0131 LATIN SMALL LETTER DOTLESS I
- * Turkish, Azerbaijani
- * uppercase is 0049
- x (latin small letter i - 0069)
-0132 LATIN CAPITAL LIGATURE IJ
- # 0049 004A
-0133 LATIN SMALL LIGATURE IJ
- * Dutch
- # 0069 006A
-0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
- : 004A 0302
-0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
- * Esperanto
- : 006A 0302
-0136 LATIN CAPITAL LETTER K WITH CEDILLA
- : 004B 0327
-0137 LATIN SMALL LETTER K WITH CEDILLA
- * Latvian
- : 006B 0327
-0138 LATIN SMALL LETTER KRA
- * Greenlandic (old orthography)
-0139 LATIN CAPITAL LETTER L WITH ACUTE
- : 004C 0301
-013A LATIN SMALL LETTER L WITH ACUTE
- * Slovak
- : 006C 0301
-013B LATIN CAPITAL LETTER L WITH CEDILLA
- : 004C 0327
-013C LATIN SMALL LETTER L WITH CEDILLA
- * Latvian
- : 006C 0327
-013D LATIN CAPITAL LETTER L WITH CARON
- * the form using apostrophe is preferred in typesetting
- : 004C 030C
-013E LATIN SMALL LETTER L WITH CARON
- * Slovak
- * the form using apostrophe is preferred in typesetting
- : 006C 030C
-013F LATIN CAPITAL LETTER L WITH MIDDLE DOT
- * some fonts show the middle dot inside the L, but the preferred form has the dot following the L
- # 004C 00B7
-0140 LATIN SMALL LETTER L WITH MIDDLE DOT
- # 006C 00B7
-@+ * Catalan legacy compatibility character for ISO/IEC 6937
- * preferred representation for Catalan: 006C 00B7
-0141 LATIN CAPITAL LETTER L WITH STROKE
- x (latin capital letter l with bar - 023D)
-0142 LATIN SMALL LETTER L WITH STROKE
- * Polish, ...
- x (latin small letter l with bar - 019A)
-0143 LATIN CAPITAL LETTER N WITH ACUTE
- : 004E 0301
-0144 LATIN SMALL LETTER N WITH ACUTE
- * Polish, ...
- : 006E 0301
-0145 LATIN CAPITAL LETTER N WITH CEDILLA
- : 004E 0327
-0146 LATIN SMALL LETTER N WITH CEDILLA
- * Latvian
- : 006E 0327
-0147 LATIN CAPITAL LETTER N WITH CARON
- : 004E 030C
-0148 LATIN SMALL LETTER N WITH CARON
- * Czech, Slovak
- : 006E 030C
-@ Deprecated letter
-0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
- = latin small letter apostrophe n (1.0)
- * this character is deprecated and its use is strongly discouraged
- * Afrikaans
- # 02BC 006E
-@+ * legacy compatibility character for ISO/IEC 6937
- * uppercase is 02BC 004E
-@ European Latin
-014A LATIN CAPITAL LETTER ENG
- * glyph may also have appearance of large form of the small letter
-014B LATIN SMALL LETTER ENG
- = engma, angma
- * Sami, Mende, IPA, ...
-014C LATIN CAPITAL LETTER O WITH MACRON
- : 004F 0304
-014D LATIN SMALL LETTER O WITH MACRON
- * Latvian, Latin, ...
- : 006F 0304
-014E LATIN CAPITAL LETTER O WITH BREVE
- : 004F 0306
-014F LATIN SMALL LETTER O WITH BREVE
- * Latin
- : 006F 0306
-0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- : 004F 030B
-0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
- * Hungarian
- : 006F 030B
-0152 LATIN CAPITAL LIGATURE OE
-0153 LATIN SMALL LIGATURE OE
- = ethel (from Old English eðel)
- * French, IPA, Old Icelandic, Old English, ...
- x (latin small letter ae - 00E6)
- x (latin letter small capital oe - 0276)
-0154 LATIN CAPITAL LETTER R WITH ACUTE
- : 0052 0301
-0155 LATIN SMALL LETTER R WITH ACUTE
- * Slovak, ...
- : 0072 0301
-0156 LATIN CAPITAL LETTER R WITH CEDILLA
- : 0052 0327
-0157 LATIN SMALL LETTER R WITH CEDILLA
- * Livonian
- : 0072 0327
-0158 LATIN CAPITAL LETTER R WITH CARON
- : 0052 030C
-0159 LATIN SMALL LETTER R WITH CARON
- * Czech, ...
- : 0072 030C
-015A LATIN CAPITAL LETTER S WITH ACUTE
- : 0053 0301
-015B LATIN SMALL LETTER S WITH ACUTE
- * Polish, Indic transliteration, ...
- : 0073 0301
-015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
- : 0053 0302
-015D LATIN SMALL LETTER S WITH CIRCUMFLEX
- * Esperanto
- : 0073 0302
-015E LATIN CAPITAL LETTER S WITH CEDILLA
- : 0053 0327
-015F LATIN SMALL LETTER S WITH CEDILLA
- * Turkish, Azerbaijani, ...
- * the character 0219 is preferred for Romanian
- x (latin small letter s with comma below - 0219)
- : 0073 0327
-0160 LATIN CAPITAL LETTER S WITH CARON
- : 0053 030C
-0161 LATIN SMALL LETTER S WITH CARON
- * Czech, Estonian, Finnish, Slovak, and many other languages
- : 0073 030C
-0162 LATIN CAPITAL LETTER T WITH CEDILLA
- : 0054 0327
-0163 LATIN SMALL LETTER T WITH CEDILLA
- * Semitic transliteration, ...
- * the character 021B is preferred for Romanian
- x (latin small letter t with comma below - 021B)
- : 0074 0327
-0164 LATIN CAPITAL LETTER T WITH CARON
- * the form using caron/hacek is preferred in all contexts
- : 0054 030C
-0165 LATIN SMALL LETTER T WITH CARON
- * Czech, Slovak
- * the form using apostrophe is preferred in typesetting
- : 0074 030C
-0166 LATIN CAPITAL LETTER T WITH STROKE
-0167 LATIN SMALL LETTER T WITH STROKE
- * Sami
-0168 LATIN CAPITAL LETTER U WITH TILDE
- : 0055 0303
-0169 LATIN SMALL LETTER U WITH TILDE
- * Greenlandic (old orthography)
- : 0075 0303
-016A LATIN CAPITAL LETTER U WITH MACRON
- : 0055 0304
-016B LATIN SMALL LETTER U WITH MACRON
- * Latvian, Lithuanian, Latin, ...
- : 0075 0304
-016C LATIN CAPITAL LETTER U WITH BREVE
- : 0055 0306
-016D LATIN SMALL LETTER U WITH BREVE
- * Latin, Esperanto, ...
- : 0075 0306
-016E LATIN CAPITAL LETTER U WITH RING ABOVE
- : 0055 030A
-016F LATIN SMALL LETTER U WITH RING ABOVE
- * Czech, ...
- : 0075 030A
-0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- : 0055 030B
-0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
- * Hungarian
- : 0075 030B
-0172 LATIN CAPITAL LETTER U WITH OGONEK
- : 0055 0328
-0173 LATIN SMALL LETTER U WITH OGONEK
- * Lithuanian
- : 0075 0328
-0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
- : 0057 0302
-0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
- * Welsh
- : 0077 0302
-0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
- : 0059 0302
-0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
- * Welsh
- : 0079 0302
-0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
- * French, Igbo
- x (latin small letter y with diaeresis - 00FF)
- : 0059 0308
-0179 LATIN CAPITAL LETTER Z WITH ACUTE
- : 005A 0301
-017A LATIN SMALL LETTER Z WITH ACUTE
- * Polish, ...
- : 007A 0301
-017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
- : 005A 0307
-017C LATIN SMALL LETTER Z WITH DOT ABOVE
- * Polish, ...
- : 007A 0307
-017D LATIN CAPITAL LETTER Z WITH CARON
- : 005A 030C
-017E LATIN SMALL LETTER Z WITH CARON
- * Czech, Estonian, Finnish, Slovak, Slovenian, and many other languages
- : 007A 030C
-017F LATIN SMALL LETTER LONG S
- * in common use in Roman types until the 18th century
- * in current use in Fraktur and Gaelic types
- # 0073 latin small letter s
-@@ 0180 Latin Extended-B 024F
-@ Non-European and historic Latin
-0180 LATIN SMALL LETTER B WITH STROKE
- * Americanist and Indo-Europeanist usage for phonetic beta
- * Americanist orthographies use an alternate glyph with the stroke through the bowl
- * Old Saxon
- * uppercase is 0243
- x (greek small letter beta - 03B2)
- x (blank symbol - 2422)
-0181 LATIN CAPITAL LETTER B WITH HOOK
- * Zulu, Pan-Nigerian alphabet
- * lowercase is 0253
-0182 LATIN CAPITAL LETTER B WITH TOPBAR
-0183 LATIN SMALL LETTER B WITH TOPBAR
- * Zhuang (old orthography)
- * former Soviet minority language scripts
- x (cyrillic capital letter be - 0411)
-0184 LATIN CAPITAL LETTER TONE SIX
-0185 LATIN SMALL LETTER TONE SIX
- * Zhuang (old orthography)
- * Zhuang tone three is Cyrillic ze
- * Zhuang tone four is Cyrillic che
- x (latin small letter tone two - 01A8)
- x (latin small letter tone five - 01BD)
- x (cyrillic small letter ze - 0437)
- x (cyrillic small letter che - 0447)
- x (cyrillic small letter soft sign - 044C)
-0186 LATIN CAPITAL LETTER OPEN O
- * typographically a turned C
- * African
- * lowercase is 0254
-0187 LATIN CAPITAL LETTER C WITH HOOK
-0188 LATIN SMALL LETTER C WITH HOOK
- * African
-0189 LATIN CAPITAL LETTER AFRICAN D
- * Ewe
- * lowercase is 0256
- x (latin capital letter eth - 00D0)
- x (latin capital letter d with stroke - 0110)
-018A LATIN CAPITAL LETTER D WITH HOOK
- * Pan-Nigerian alphabet
- * lowercase is 0257
-018B LATIN CAPITAL LETTER D WITH TOPBAR
-018C LATIN SMALL LETTER D WITH TOPBAR
- * former-Soviet minority language scripts
- * Zhuang (old orthography)
-018D LATIN SMALL LETTER TURNED DELTA
- = reversed Polish-hook o
- * archaic phonetic for labialized alveolar fricative
- * recommended spellings 007A 02B7 or 007A 032B
-018E LATIN CAPITAL LETTER REVERSED E
- = turned e
- * Pan-Nigerian alphabet
- * lowercase is 01DD
-018F LATIN CAPITAL LETTER SCHWA
- * Azerbaijani, ...
- * lowercase is 0259
- x (cyrillic capital letter schwa - 04D8)
-0190 LATIN CAPITAL LETTER OPEN E
- = epsilon
- * African
- * lowercase is 025B
- x (euler constant - 2107)
-0191 LATIN CAPITAL LETTER F WITH HOOK
- * African
-0192 LATIN SMALL LETTER F WITH HOOK
- = script f
- = Florin currency symbol (Netherlands)
- = function symbol
- * used as abbreviation convention for folder
-0193 LATIN CAPITAL LETTER G WITH HOOK
- * African
- * lowercase is 0260
-0194 LATIN CAPITAL LETTER GAMMA
- * African
- * lowercase is 0263
-0195 LATIN SMALL LETTER HV
- * Gothic transliteration
- * uppercase is 01F6
-0196 LATIN CAPITAL LETTER IOTA
- * African
- * lowercase is 0269
-0197 LATIN CAPITAL LETTER I WITH STROKE
- = barred i, i bar
- * African
- * lowercase is 0268
-@+ * ISO 6438 gives lowercase as 026A, not 0268
- x (latin letter small capital i - 026A)
-0198 LATIN CAPITAL LETTER K WITH HOOK
-0199 LATIN SMALL LETTER K WITH HOOK
- * Hausa, Pan-Nigerian alphabet
-019A LATIN SMALL LETTER L WITH BAR
- = barred l
- * Americanist phonetic usage for 026C
- * uppercase is 023D
- x (latin small letter l with stroke - 0142)
-019B LATIN SMALL LETTER LAMBDA WITH STROKE
- = barred lambda, lambda bar
- * Americanist phonetic usage
-019C LATIN CAPITAL LETTER TURNED M
- * Zhuang (old orthography)
- * lowercase is 026F
-019D LATIN CAPITAL LETTER N WITH LEFT HOOK
- * African
- * lowercase is 0272
-019E LATIN SMALL LETTER N WITH LONG RIGHT LEG
- * archaic phonetic for Japanese 3093
- * recommended spelling for syllabic n is 006E 0329
- * Lakota (indicates nasalization of vowel)
- * uppercase is 0220
-019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE
- = barred o, o bar
- * lowercase is 0275
- * African
- x (cyrillic capital letter barred o - 04E8)
-01A0 LATIN CAPITAL LETTER O WITH HORN
- : 004F 031B
-01A1 LATIN SMALL LETTER O WITH HORN
- * Vietnamese
- : 006F 031B
-01A2 LATIN CAPITAL LETTER OI
- % LATIN CAPITAL LETTER GHA
-01A3 LATIN SMALL LETTER OI
- % LATIN SMALL LETTER GHA
- * Pan-Turkic Latin alphabets
-01A4 LATIN CAPITAL LETTER P WITH HOOK
-01A5 LATIN SMALL LETTER P WITH HOOK
- * African
-01A6 LATIN LETTER YR
- * Old Norse
-@+ * from German Standard DIN 31624 and ISO 5426-2
- * lowercase is 0280
-01A7 LATIN CAPITAL LETTER TONE TWO
-01A8 LATIN SMALL LETTER TONE TWO
- * Zhuang (old orthography)
- * typographically a reversed S
- x (latin small letter tone six - 0185)
-01A9 LATIN CAPITAL LETTER ESH
- * African
- * lowercase is 0283
- x (greek capital letter sigma - 03A3)
-01AA LATIN LETTER REVERSED ESH LOOP
- * archaic phonetic for labialized palatoalveolar or palatal fricative
- * Twi
- * recommended spellings 0283 02B7, 00E7 02B7, 0068 0265, etc.
-01AB LATIN SMALL LETTER T WITH PALATAL HOOK
- * archaic phonetic for palatalized alveolar or dental stop
- * recommended spelling 0074 02B2
-01AC LATIN CAPITAL LETTER T WITH HOOK
- * a glyph variant with hook at the right also occurs
-01AD LATIN SMALL LETTER T WITH HOOK
- * African
-01AE LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
- * African
- * lowercase is 0288
-01AF LATIN CAPITAL LETTER U WITH HORN
- : 0055 031B
-01B0 LATIN SMALL LETTER U WITH HORN
- * Vietnamese
- : 0075 031B
-01B1 LATIN CAPITAL LETTER UPSILON
- * African
- * typographically based on turned capital Greek omega
- * lowercase is 028A
- x (inverted ohm sign - 2127)
-01B2 LATIN CAPITAL LETTER V WITH HOOK
- = script v
- * African
- * lowercase is 028B
-01B3 LATIN CAPITAL LETTER Y WITH HOOK
- * a glyph variant with hook at the left also occurs
-01B4 LATIN SMALL LETTER Y WITH HOOK
- * Bini, Esoko, and other Edo languages in West Africa
-01B5 LATIN CAPITAL LETTER Z WITH STROKE
-01B6 LATIN SMALL LETTER Z WITH STROKE
- = barred z, z bar
- * Pan-Turkic Latin orthography
- * handwritten variant of Latin "z"
- x (latin small letter z - 007A)
-01B7 LATIN CAPITAL LETTER EZH
- * African, Skolt Sami
- * lowercase is 0292
- x (latin capital letter yogh - 021C)
- x (cyrillic capital letter abkhasian dze - 04E0)
-01B8 LATIN CAPITAL LETTER EZH REVERSED
-01B9 LATIN SMALL LETTER EZH REVERSED
- * archaic phonetic for voiced pharyngeal fricative
- * sometimes typographically rendered with a turned digit 3
- * recommended spelling 0295
- x (latin letter pharyngeal voiced fricative - 0295)
- x (arabic letter ain - 0639)
-01BA LATIN SMALL LETTER EZH WITH TAIL
- * archaic phonetic for labialized voiced palatoalveolar or palatal fricative
- * Twi
- * recommended spellings 0292 02B7 or 006A 02B7
-01BB LATIN LETTER TWO WITH STROKE
- * archaic phonetic for [dz] affricate
- * recommended spellings 0292 or 0064 007A
-01BC LATIN CAPITAL LETTER TONE FIVE
-01BD LATIN SMALL LETTER TONE FIVE
- * Zhuang (old orthography)
- x (latin small letter tone six - 0185)
-01BE LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
- * archaic phonetic for [ts] affricate
- * recommended spelling 0074 0073
- * letter form is actually derived from ligation of ts, rather than inverted glottal stop
-01BF LATIN LETTER WYNN
- = wen
- * Runic letter borrowed into Latin script
- * replaced by "w" in modern transcriptions of Old English
- * uppercase is 01F7
- x (runic letter wunjo wynn w - 16B9)
-@ African letters for clicks
-01C0 LATIN LETTER DENTAL CLICK
- = pipe
- * Khoisan tradition
- * "c" in Zulu orthography
- x (solidus - 002F)
- x (vertical line - 007C)
- x (latin small letter turned t - 0287)
- x (divides - 2223)
-01C1 LATIN LETTER LATERAL CLICK
- = double pipe
- * Khoisan tradition
- * "x" in Zulu orthography
- x (latin letter inverted glottal stop - 0296)
- x (parallel to - 2225)
-01C2 LATIN LETTER ALVEOLAR CLICK
- = double-barred pipe
- = palatoalveolar click (IPA)
- * Khoisan tradition
- x (not equal to - 2260)
-01C3 LATIN LETTER RETROFLEX CLICK
- = latin letter exclamation mark (1.0)
- = (post)alveolar click (IPA)
- * Khoisan tradition
- * "q" in Zulu orthography
- x (exclamation mark - 0021)
- x (latin letter stretched c - 0297)
-@ Croatian digraphs matching Serbian Cyrillic letters
-01C4 LATIN CAPITAL LETTER DZ WITH CARON
- # 0044 017D
-01C5 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
- # 0044 017E
-01C6 LATIN SMALL LETTER DZ WITH CARON
- x (cyrillic small letter dzhe - 045F)
- # 0064 017E
-01C7 LATIN CAPITAL LETTER LJ
- # 004C 004A
-01C8 LATIN CAPITAL LETTER L WITH SMALL LETTER J
- # 004C 006A
-01C9 LATIN SMALL LETTER LJ
- x (cyrillic small letter lje - 0459)
- # 006C 006A
-01CA LATIN CAPITAL LETTER NJ
- # 004E 004A
-01CB LATIN CAPITAL LETTER N WITH SMALL LETTER J
- # 004E 006A
-01CC LATIN SMALL LETTER NJ
- x (cyrillic small letter nje - 045A)
- # 006E 006A
-@ Pinyin diacritic-vowel combinations
-01CD LATIN CAPITAL LETTER A WITH CARON
- : 0041 030C
-01CE LATIN SMALL LETTER A WITH CARON
- * Pinyin third tone
- : 0061 030C
-01CF LATIN CAPITAL LETTER I WITH CARON
- : 0049 030C
-01D0 LATIN SMALL LETTER I WITH CARON
- * Pinyin third tone
- : 0069 030C
-01D1 LATIN CAPITAL LETTER O WITH CARON
- : 004F 030C
-01D2 LATIN SMALL LETTER O WITH CARON
- * Pinyin third tone
- : 006F 030C
-01D3 LATIN CAPITAL LETTER U WITH CARON
- : 0055 030C
-01D4 LATIN SMALL LETTER U WITH CARON
- * Pinyin third tone
- : 0075 030C
-01D5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
- : 00DC 0304
-01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
- * Pinyin first tone
- : 00FC 0304
-01D7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
- : 00DC 0301
-01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
- * Pinyin second tone
- : 00FC 0301
-01D9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
- : 00DC 030C
-01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
- * Pinyin third tone
- : 00FC 030C
-01DB LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
- : 00DC 0300
-01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
- * Pinyin fourth tone
- : 00FC 0300
-@ Phonetic and historic letters
-01DD LATIN SMALL LETTER TURNED E
- * Pan-Nigerian alphabet
- * all other usages of schwa are 0259
- * uppercase is 018E
- x (latin small letter schwa - 0259)
-01DE LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
- : 00C4 0304
-01DF LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
- * Livonian, Uralicist usage
- : 00E4 0304
-01E0 LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
- : 0226 0304
-01E1 LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
- * Uralicist usage
- : 0227 0304
-01E2 LATIN CAPITAL LETTER AE WITH MACRON
- : 00C6 0304
-01E3 LATIN SMALL LETTER AE WITH MACRON
- * Old Norse, Old English
- : 00E6 0304
-01E4 LATIN CAPITAL LETTER G WITH STROKE
-01E5 LATIN SMALL LETTER G WITH STROKE
- * Skolt Sami
-01E6 LATIN CAPITAL LETTER G WITH CARON
- : 0047 030C
-01E7 LATIN SMALL LETTER G WITH CARON
- * Skolt Sami
- x (latin small letter g with breve - 011F)
- : 0067 030C
-01E8 LATIN CAPITAL LETTER K WITH CARON
- : 004B 030C
-01E9 LATIN SMALL LETTER K WITH CARON
- * Skolt Sami
- : 006B 030C
-01EA LATIN CAPITAL LETTER O WITH OGONEK
- : 004F 0328
-01EB LATIN SMALL LETTER O WITH OGONEK
- * Sami, Iroquoian, Old Icelandic
- : 006F 0328
-01EC LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
- : 01EA 0304
-01ED LATIN SMALL LETTER O WITH OGONEK AND MACRON
- * Old Icelandic
- : 01EB 0304
-01EE LATIN CAPITAL LETTER EZH WITH CARON
- : 01B7 030C
-01EF LATIN SMALL LETTER EZH WITH CARON
- * Skolt Sami
- : 0292 030C
-01F0 LATIN SMALL LETTER J WITH CARON
- * IPA and many languages
- : 006A 030C
-01F1 LATIN CAPITAL LETTER DZ
- # 0044 005A
-01F2 LATIN CAPITAL LETTER D WITH SMALL LETTER Z
- # 0044 007A
-01F3 LATIN SMALL LETTER DZ
- # 0064 007A
-01F4 LATIN CAPITAL LETTER G WITH ACUTE
- : 0047 0301
-01F5 LATIN SMALL LETTER G WITH ACUTE
- * Macedonian and Serbian transliteration
- : 0067 0301
-01F6 LATIN CAPITAL LETTER HWAIR
- * lowercase is 0195
-01F7 LATIN CAPITAL LETTER WYNN
- = wen
- * lowercase is 01BF
-01F8 LATIN CAPITAL LETTER N WITH GRAVE
- : 004E 0300
-01F9 LATIN SMALL LETTER N WITH GRAVE
- * Pinyin
- : 006E 0300
-01FA LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
- : 00C5 0301
-01FB LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
- : 00E5 0301
-01FC LATIN CAPITAL LETTER AE WITH ACUTE
- : 00C6 0301
-01FD LATIN SMALL LETTER AE WITH ACUTE
- : 00E6 0301
-01FE LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
- : 00D8 0301
-01FF LATIN SMALL LETTER O WITH STROKE AND ACUTE
- : 00F8 0301
-@ Additions for Slovenian and Croatian
-0200 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
- : 0041 030F
-0201 LATIN SMALL LETTER A WITH DOUBLE GRAVE
- : 0061 030F
-0202 LATIN CAPITAL LETTER A WITH INVERTED BREVE
- : 0041 0311
-0203 LATIN SMALL LETTER A WITH INVERTED BREVE
- : 0061 0311
-0204 LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
- : 0045 030F
-0205 LATIN SMALL LETTER E WITH DOUBLE GRAVE
- : 0065 030F
-0206 LATIN CAPITAL LETTER E WITH INVERTED BREVE
- : 0045 0311
-0207 LATIN SMALL LETTER E WITH INVERTED BREVE
- : 0065 0311
-0208 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
- : 0049 030F
-0209 LATIN SMALL LETTER I WITH DOUBLE GRAVE
- : 0069 030F
-020A LATIN CAPITAL LETTER I WITH INVERTED BREVE
- : 0049 0311
-020B LATIN SMALL LETTER I WITH INVERTED BREVE
- : 0069 0311
-020C LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
- : 004F 030F
-020D LATIN SMALL LETTER O WITH DOUBLE GRAVE
- : 006F 030F
-020E LATIN CAPITAL LETTER O WITH INVERTED BREVE
- : 004F 0311
-020F LATIN SMALL LETTER O WITH INVERTED BREVE
- : 006F 0311
-0210 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
- : 0052 030F
-0211 LATIN SMALL LETTER R WITH DOUBLE GRAVE
- : 0072 030F
-0212 LATIN CAPITAL LETTER R WITH INVERTED BREVE
- : 0052 0311
-0213 LATIN SMALL LETTER R WITH INVERTED BREVE
- : 0072 0311
-0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
- : 0055 030F
-0215 LATIN SMALL LETTER U WITH DOUBLE GRAVE
- : 0075 030F
-0216 LATIN CAPITAL LETTER U WITH INVERTED BREVE
- : 0055 0311
-0217 LATIN SMALL LETTER U WITH INVERTED BREVE
- : 0075 0311
-@ Additions for Romanian
-0218 LATIN CAPITAL LETTER S WITH COMMA BELOW
- : 0053 0326
-0219 LATIN SMALL LETTER S WITH COMMA BELOW
- * Romanian
- x (latin small letter s with cedilla - 015F)
- : 0073 0326
-021A LATIN CAPITAL LETTER T WITH COMMA BELOW
- : 0054 0326
-021B LATIN SMALL LETTER T WITH COMMA BELOW
- * Romanian
- x (latin small letter t with cedilla - 0163)
- : 0074 0326
-@ Miscellaneous additions
-021C LATIN CAPITAL LETTER YOGH
- x (latin capital letter ezh - 01B7)
-021D LATIN SMALL LETTER YOGH
- * Middle English, Scots
- x (latin small letter ezh - 0292)
- x (latin small letter insular g - 1D79)
- x (ounce sign - 2125)
-021E LATIN CAPITAL LETTER H WITH CARON
- : 0048 030C
-021F LATIN SMALL LETTER H WITH CARON
- * Finnish Romany
- : 0068 030C
-0220 LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
- * Lakota
- * lowercase is 019E
-0221 LATIN SMALL LETTER D WITH CURL
- * phonetic use in Sinology
-0222 LATIN CAPITAL LETTER OU
-0223 LATIN SMALL LETTER OU
- * Algonquin, Huron
- x (digit eight - 0038)
-0224 LATIN CAPITAL LETTER Z WITH HOOK
-0225 LATIN SMALL LETTER Z WITH HOOK
- * Middle High German
-0226 LATIN CAPITAL LETTER A WITH DOT ABOVE
- : 0041 0307
-0227 LATIN SMALL LETTER A WITH DOT ABOVE
- * Uralicist usage
- : 0061 0307
-0228 LATIN CAPITAL LETTER E WITH CEDILLA
- : 0045 0327
-0229 LATIN SMALL LETTER E WITH CEDILLA
- : 0065 0327
-@ Additions for Livonian
-022A LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
- : 00D6 0304
-022B LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
- : 00F6 0304
-022C LATIN CAPITAL LETTER O WITH TILDE AND MACRON
- : 00D5 0304
-022D LATIN SMALL LETTER O WITH TILDE AND MACRON
- : 00F5 0304
-022E LATIN CAPITAL LETTER O WITH DOT ABOVE
- : 004F 0307
-022F LATIN SMALL LETTER O WITH DOT ABOVE
- : 006F 0307
-0230 LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
- : 022E 0304
-0231 LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
- : 022F 0304
-0232 LATIN CAPITAL LETTER Y WITH MACRON
- : 0059 0304
-0233 LATIN SMALL LETTER Y WITH MACRON
- * also Cornish
- : 0079 0304
-@ Additions for Sinology
-0234 LATIN SMALL LETTER L WITH CURL
-0235 LATIN SMALL LETTER N WITH CURL
-0236 LATIN SMALL LETTER T WITH CURL
-@ Miscellaneous additions
-0237 LATIN SMALL LETTER DOTLESS J
- x (mathematical italic small dotless j - 1D6A5)
-0238 LATIN SMALL LETTER DB DIGRAPH
- * used in Africanist linguistics
-0239 LATIN SMALL LETTER QP DIGRAPH
- * used in Africanist linguistics
-023A LATIN CAPITAL LETTER A WITH STROKE
- * Sencoten
- * lowercase is 2C65
-023B LATIN CAPITAL LETTER C WITH STROKE
- * Sencoten
-023C LATIN SMALL LETTER C WITH STROKE
- * used in Americanist linguistics
-023D LATIN CAPITAL LETTER L WITH BAR
- * Sencoten
- * lowercase is 019A
-023E LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
- * Sencoten
- * lowercase is 2C66
-023F LATIN SMALL LETTER S WITH SWASH TAIL
- * uppercase is 2C7E
-0240 LATIN SMALL LETTER Z WITH SWASH TAIL
- * uppercase is 2C7F
-0241 LATIN CAPITAL LETTER GLOTTAL STOP
-0242 LATIN SMALL LETTER GLOTTAL STOP
- * casing use in Chipewyan, Dogrib, Slavey (Canadian aboriginal orthographies)
- x (latin letter glottal stop - 0294)
- x (modifier letter glottal stop - 02C0)
-0243 LATIN CAPITAL LETTER B WITH STROKE
- * lowercase is 0180
-0244 LATIN CAPITAL LETTER U BAR
- * lowercase is 0289
-0245 LATIN CAPITAL LETTER TURNED V
- * lowercase is 028C
-0246 LATIN CAPITAL LETTER E WITH STROKE
-0247 LATIN SMALL LETTER E WITH STROKE
-0248 LATIN CAPITAL LETTER J WITH STROKE
-0249 LATIN SMALL LETTER J WITH STROKE
-024A LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024B LATIN SMALL LETTER Q WITH HOOK TAIL
-024C LATIN CAPITAL LETTER R WITH STROKE
-024D LATIN SMALL LETTER R WITH STROKE
-024E LATIN CAPITAL LETTER Y WITH STROKE
-024F LATIN SMALL LETTER Y WITH STROKE
-@@ 0250 IPA Extensions 02AF
-@ IPA extensions
-@+ IPA includes basic Latin letters and a number of Latin or Greek letters from other blocks.
- x (latin small letter ae - 00E6)
- x (latin small letter c with cedilla - 00E7)
- x (latin small letter eth - 00F0)
- x (latin small letter o with stroke - 00F8)
- x (latin small letter h with stroke - 0127)
- x (latin small letter eng - 014B)
- x (latin small ligature oe - 0153)
- x (greek small letter beta - 03B2)
- x (greek small letter theta - 03B8)
- x (greek small letter lamda - 03BB)
- x (greek small letter chi - 03C7)
-0250 LATIN SMALL LETTER TURNED A
- * low central unrounded vowel
- * uppercase is 2C6F
-0251 LATIN SMALL LETTER ALPHA
- = latin small letter script a (1.0)
- * low back unrounded vowel
- * uppercase is 2C6D
- x (greek small letter alpha - 03B1)
-0252 LATIN SMALL LETTER TURNED ALPHA
- * low back rounded vowel
- * uppercase is 2C70
-0253 LATIN SMALL LETTER B WITH HOOK
- * implosive bilabial stop
- * Pan-Nigerian alphabet
- * uppercase is 0181
-0254 LATIN SMALL LETTER OPEN O
- * typographically a turned c
- * lower-mid back rounded vowel
- * uppercase is 0186
-0255 LATIN SMALL LETTER C WITH CURL
- * voiceless alveolo-palatal laminal fricative
- * used in transcription of Mandarin Chinese
- * sound spelled with 015B in Polish
-0256 LATIN SMALL LETTER D WITH TAIL
- = d retroflex hook
- * voiced retroflex stop
- * uppercase is 0189
-0257 LATIN SMALL LETTER D WITH HOOK
- * implosive dental or alveolar stop
- * Ewe, Pan-Nigerian alphabet
- * uppercase is 018A
-0258 LATIN SMALL LETTER REVERSED E
- * upper-mid central unrounded vowel
-0259 LATIN SMALL LETTER SCHWA
- * mid-central unrounded vowel
- * uppercase is 018F
- * variant uppercase form 018E is associated with 01DD
- x (latin small letter turned e - 01DD)
- x (cyrillic small letter schwa - 04D9)
-025A LATIN SMALL LETTER SCHWA WITH HOOK
- * rhotacized schwa
-025B LATIN SMALL LETTER OPEN E
- = epsilon
- * lower-mid front unrounded vowel
- * uppercase is 0190
- x (greek small letter epsilon - 03B5)
-025C LATIN SMALL LETTER REVERSED OPEN E
- * lower-mid central unrounded vowel
-025D LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
- * rhotacized lower-mid central vowel
-025E LATIN SMALL LETTER CLOSED REVERSED OPEN E
- = closed reversed epsilon
- * lower-mid central rounded vowel
-025F LATIN SMALL LETTER DOTLESS J WITH STROKE
- * voiced palatal stop
- * typographically a turned f, but better thought of as a form of j
- * "gy" in Hungarian orthography
- * also archaic phonetic for palatoalveolar affricate 02A4
-0260 LATIN SMALL LETTER G WITH HOOK
- * implosive velar stop
- * uppercase is 0193
-0261 LATIN SMALL LETTER SCRIPT G
- * voiced velar stop
- x (latin small letter g - 0067)
-0262 LATIN LETTER SMALL CAPITAL G
- * voiced uvular stop
-0263 LATIN SMALL LETTER GAMMA
- * voiced velar fricative
- * uppercase is 0194
- x (greek small letter gamma - 03B3)
-0264 LATIN SMALL LETTER RAMS HORN
- = latin small letter baby gamma (1.0)
- * upper-mid back unrounded vowel
-0265 LATIN SMALL LETTER TURNED H
- * voiced rounded palatal approximant
-0266 LATIN SMALL LETTER H WITH HOOK
- * breathy-voiced glottal fricative
- x (modifier letter small h with hook - 02B1)
-0267 LATIN SMALL LETTER HENG WITH HOOK
- * voiceless coarticulated velar and palatoalveolar fricative
- * "tj" or "kj" or "sj" in some Swedish dialects
-0268 LATIN SMALL LETTER I WITH STROKE
- = barred i, i bar
- * high central unrounded vowel
- * uppercase is 0197
-@+ * ISO 6438 gives lowercase of 0197 as 026A, not 0268
-0269 LATIN SMALL LETTER IOTA
- * semi-high front unrounded vowel
-@+ * obsoleted by IPA in 1989
- * preferred use is 026A latin letter small capital i
- * uppercase is 0196
- x (greek small letter iota - 03B9)
-026A LATIN LETTER SMALL CAPITAL I
- * semi-high front unrounded vowel
- * preferred IPA alternate for 0269
- * uppercase is 0197
-026B LATIN SMALL LETTER L WITH MIDDLE TILDE
- * velarized voiced alveolar lateral approximant
- * uppercase is 2C62
-026C LATIN SMALL LETTER L WITH BELT
- * voiceless alveolar lateral fricative
-026D LATIN SMALL LETTER L WITH RETROFLEX HOOK
- * voiced retroflex lateral
-026E LATIN SMALL LETTER LEZH
- * voiced lateral fricative
- * "dhl" in Zulu orthography
-026F LATIN SMALL LETTER TURNED M
- * high back unrounded vowel
- * uppercase is 019C
-0270 LATIN SMALL LETTER TURNED M WITH LONG LEG
- * voiced velar approximant
-0271 LATIN SMALL LETTER M WITH HOOK
- * voiced labiodental nasal
- * uppercase is 2C6E
-0272 LATIN SMALL LETTER N WITH LEFT HOOK
- * voiced palatal nasal
- * uppercase is 019D
-0273 LATIN SMALL LETTER N WITH RETROFLEX HOOK
- * voiced retroflex nasal
-0274 LATIN LETTER SMALL CAPITAL N
- * voiced uvular nasal
-0275 LATIN SMALL LETTER BARRED O
- = o bar
- * rounded mid-central vowel, i.e. rounded schwa
- * uppercase is 019F
- x (greek small letter theta - 03B8)
- x (cyrillic small letter fita - 0473)
- x (cyrillic small letter barred o - 04E9)
-0276 LATIN LETTER SMALL CAPITAL OE
- * low front rounded vowel
- x (latin small ligature oe - 0153)
-0277 LATIN SMALL LETTER CLOSED OMEGA
- * semi-high back rounded vowel
-@+ * obsoleted by IPA in 1989
- * preferred use is 028A latin small letter upsilon
-0278 LATIN SMALL LETTER PHI
- * voiceless bilabial fricative
- x (greek small letter phi - 03C6)
-0279 LATIN SMALL LETTER TURNED R
- * voiced alveolar approximant
- x (modifier letter small turned r - 02B4)
-027A LATIN SMALL LETTER TURNED R WITH LONG LEG
- * voiced lateral flap
-027B LATIN SMALL LETTER TURNED R WITH HOOK
- * voiced retroflex approximant
- x (modifier letter small turned r with hook - 02B5)
-027C LATIN SMALL LETTER R WITH LONG LEG
- * voiced strident apico-alveolar trill
-@+ * obsoleted by IPA in 1989
- * sound spelled with 0159 in Czech
- * preferred phonetic representation for Czech is 0072 031D
- * in current use in Gaelic types (as glyph variant of 0072)
-027D LATIN SMALL LETTER R WITH TAIL
- * voiced retroflex flap
- * uppercase is 2C64
-027E LATIN SMALL LETTER R WITH FISHHOOK
- * voiced alveolar flap or tap
-027F LATIN SMALL LETTER REVERSED R WITH FISHHOOK
- = long leg turned iota (a misnomer)
- * apical dental vowel
- * used by linguists working on Chinese and other Sino-Tibetan languages
- * IPA spelling - 007A 0329
- * preferred presentation is with a descender
-0280 LATIN LETTER SMALL CAPITAL R
- * voiced uvular trill
- * Germanic, Old Norse
- * uppercase is 01A6
-0281 LATIN LETTER SMALL CAPITAL INVERTED R
- * voiced uvular fricative or approximant
- x (modifier letter small capital inverted r - 02B6)
-0282 LATIN SMALL LETTER S WITH HOOK
- * voiceless retroflex fricative
-0283 LATIN SMALL LETTER ESH
- * voiceless postalveolar fricative
- * uppercase is 01A9
- x (integral - 222B)
-0284 LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
- * implosive palatal stop
- * typographically based on 025F, not on 0283
-0285 LATIN SMALL LETTER SQUAT REVERSED ESH
- * apical retroflex vowel
- * used by linguists working on Chinese and other Sino-Tibetan languages
- * IPA spelling - 0290 0329
- * in origin 027F plus the retroflex hook 0322, despite its name
- * preferred presentation is with a descender
-0286 LATIN SMALL LETTER ESH WITH CURL
- * palatalized voiceless postalveolar fricative
- * suggested spelling - 0283 02B2
-0287 LATIN SMALL LETTER TURNED T
- * dental click (sound of "tsk tsk")
- x (latin letter dental click - 01C0)
-0288 LATIN SMALL LETTER T WITH RETROFLEX HOOK
- * voiceless retroflex stop
- * uppercase is 01AE
-0289 LATIN SMALL LETTER U BAR
- * high central rounded vowel
- * uppercase is 0244
-028A LATIN SMALL LETTER UPSILON
- * semi-high back rounded vowel
- * preferred IPA alternate to 0277
- * uppercase is 01B1
- x (greek small letter upsilon - 03C5)
-028B LATIN SMALL LETTER V WITH HOOK
- = latin small letter script v (1.0)
- * voiced labiodental approximant
- * uppercase is 01B2
- x (greek small letter upsilon - 03C5)
-028C LATIN SMALL LETTER TURNED V
- = caret, wedge
- * lower-mid back unrounded vowel
- * uppercase is 0245
- x (greek capital letter lamda - 039B)
- x (caret - 2038)
- x (logical and - 2227)
-028D LATIN SMALL LETTER TURNED W
- * voiceless rounded labiovelar approximant
-028E LATIN SMALL LETTER TURNED Y
- * voiced lateral approximant
-028F LATIN LETTER SMALL CAPITAL Y
- * semi-high front rounded vowel
-0290 LATIN SMALL LETTER Z WITH RETROFLEX HOOK
- * voiced retroflex fricative
-0291 LATIN SMALL LETTER Z WITH CURL
- * voiced alveolo-palatal laminal fricative
- * sound spelled with 017A in Polish
-0292 LATIN SMALL LETTER EZH
- = dram
- * voiced postalveolar fricative
- * mistakenly named yogh in Unicode 1.0
- * uppercase is 01B7
- * Skolt Sami
- x (latin small letter yogh - 021D)
- x (cyrillic small letter abkhasian dze - 04E1)
- x (ounce sign - 2125)
-0293 LATIN SMALL LETTER EZH WITH CURL
- * palatalized voiced postalveolar fricative
-0294 LATIN LETTER GLOTTAL STOP
- * this is a caseless letter
- * used in IPA, other phonetic notations, and those orthographies which use a caseless glottal stop
- x (latin capital letter glottal stop - 0241)
- x (modifier letter glottal stop - 02C0)
-0295 LATIN LETTER PHARYNGEAL VOICED FRICATIVE
- = reversed glottal stop
- * voiced pharyngeal fricative
- * ain
- x (latin small letter ezh reversed - 01B9)
- x (modifier letter reversed glottal stop - 02C1)
-0296 LATIN LETTER INVERTED GLOTTAL STOP
- * lateral click
- x (latin letter lateral click - 01C1)
-0297 LATIN LETTER STRETCHED C
- * palatal (or alveolar) click
- x (latin letter retroflex click - 01C3)
- x (complement - 2201)
-0298 LATIN LETTER BILABIAL CLICK
- = bullseye
- x (circled dot operator - 2299)
-0299 LATIN LETTER SMALL CAPITAL B
- * bilabial trill
-029A LATIN SMALL LETTER CLOSED OPEN E
- = closed epsilon
- * lower-mid front rounded vowel
- * non-IPA alternate for the preferred 0153
-029B LATIN LETTER SMALL CAPITAL G WITH HOOK
- * voiced uvular implosive
-029C LATIN LETTER SMALL CAPITAL H
- * voiceless epiglottal fricative
-029D LATIN SMALL LETTER J WITH CROSSED-TAIL
- * voiced palatal fricative
-029E LATIN SMALL LETTER TURNED K
- * proposed for velar click
-@+ * withdrawn by IPA in 1970
-029F LATIN LETTER SMALL CAPITAL L
- * velar lateral approximant
-02A0 LATIN SMALL LETTER Q WITH HOOK
- * voiceless uvular implosive
-02A1 LATIN LETTER GLOTTAL STOP WITH STROKE
- * voiced epiglottal stop
-02A2 LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
- * voiced epiglottal fricative
-02A3 LATIN SMALL LETTER DZ DIGRAPH
- * voiced dental affricate
-02A4 LATIN SMALL LETTER DEZH DIGRAPH
- * voiced postalveolar affricate
-02A5 LATIN SMALL LETTER DZ DIGRAPH WITH CURL
- * voiced alveolo-palatal affricate
-02A6 LATIN SMALL LETTER TS DIGRAPH
- * voiceless dental affricate
-02A7 LATIN SMALL LETTER TESH DIGRAPH
- * voiceless postalveolar affricate
-02A8 LATIN SMALL LETTER TC DIGRAPH WITH CURL
- * voiceless alveolo-palatal affricate
-@ IPA characters for disordered speech
-02A9 LATIN SMALL LETTER FENG DIGRAPH
- * velopharyngeal fricative
-02AA LATIN SMALL LETTER LS DIGRAPH
- * lateral alveolar fricative (lisp)
-02AB LATIN SMALL LETTER LZ DIGRAPH
- * voiced lateral alveolar fricative
-02AC LATIN LETTER BILABIAL PERCUSSIVE
- * audible lip smack
-02AD LATIN LETTER BIDENTAL PERCUSSIVE
- * audible teeth gnashing
-@ Additions for Sinology
-02AE LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-@@ 02B0 Spacing Modifier Letters 02FF
-@ Latin superscript modifier letters
-02B0 MODIFIER LETTER SMALL H
- * aspiration
- # <super> 0068
-02B1 MODIFIER LETTER SMALL H WITH HOOK
- * breathy voiced, murmured
- x (latin small letter h with hook - 0266)
- x (combining diaeresis below - 0324)
- # <super> 0266
-02B2 MODIFIER LETTER SMALL J
- * palatalization
- x (combining palatalized hook below - 0321)
- # <super> 006A
-02B3 MODIFIER LETTER SMALL R
- # <super> 0072
-02B4 MODIFIER LETTER SMALL TURNED R
- x (latin small letter turned r - 0279)
- # <super> 0279
-02B5 MODIFIER LETTER SMALL TURNED R WITH HOOK
- x (latin small letter turned r with hook - 027B)
- # <super> 027B
-02B6 MODIFIER LETTER SMALL CAPITAL INVERTED R
- * preceding four used for r-coloring or r-offglides
- x (latin letter small capital inverted r - 0281)
- # <super> 0281
-02B7 MODIFIER LETTER SMALL W
- * labialization
- x (combining inverted double arch below - 032B)
- # <super> 0077
-02B8 MODIFIER LETTER SMALL Y
- * palatalization
- * common Americanist usage for 02B2
- # <super> 0079
-@ Miscellaneous phonetic modifiers
-02B9 MODIFIER LETTER PRIME
- * primary stress, emphasis
- * transliteration of mjagkij znak (Cyrillic soft sign: palatalization)
- x (apostrophe - 0027)
- x (acute accent - 00B4)
- x (modifier letter acute accent - 02CA)
- x (combining acute accent - 0301)
- x (greek numeral sign - 0374)
- x (prime - 2032)
-02BA MODIFIER LETTER DOUBLE PRIME
- * exaggerated stress, contrastive stress
- * transliteration of tverdyj znak (Cyrillic hard sign: no palatalization)
- x (quotation mark - 0022)
- x (combining double acute accent - 030B)
- x (double prime - 2033)
-02BB MODIFIER LETTER TURNED COMMA
- * typographical alternate for 02BD or 02BF
- * used in Hawai`ian orthography as `okina (glottal stop)
- x (combining turned comma above - 0312)
- x (nko low tone apostrophe - 07F5)
- x (left single quotation mark - 2018)
-02BC MODIFIER LETTER APOSTROPHE
- = apostrophe
- * glottal stop, glottalization, ejective
- * many languages use this as a letter of their alphabets
- * used as a tone marker in Bodo, Dogri, and Maithili
- * 2019 is the preferred character for a punctuation apostrophe
- x (apostrophe - 0027)
- x (combining comma above - 0313)
- x (combining comma above right - 0315)
- x (armenian apostrophe - 055A)
- x (nko high tone apostrophe - 07F4)
- x (greek psili - 1FBF)
- x (right single quotation mark - 2019)
-02BD MODIFIER LETTER REVERSED COMMA
- * weak aspiration
- x (combining reversed comma above - 0314)
- x (armenian modifier letter left half ring - 0559)
- x (greek dasia - 1FFE)
- x (single high-reversed-9 quotation mark - 201B)
-02BE MODIFIER LETTER RIGHT HALF RING
- * transliteration of Arabic hamza (glottal stop)
- x (armenian apostrophe - 055A)
- x (arabic letter hamza - 0621)
-02BF MODIFIER LETTER LEFT HALF RING
- * transliteration of Arabic ain (voiced pharyngeal fricative)
- x (armenian modifier letter left half ring - 0559)
- x (arabic letter ain - 0639)
-02C0 MODIFIER LETTER GLOTTAL STOP
- * ejective or glottalized
- * typographical alternate for 02BC or 02BE
- x (latin letter glottal stop - 0294)
- x (combining hook above - 0309)
-02C1 MODIFIER LETTER REVERSED GLOTTAL STOP
- * typographical alternate for 02BF
- x (latin letter pharyngeal voiced fricative - 0295)
-02C2 MODIFIER LETTER LEFT ARROWHEAD
- * fronted articulation
-02C3 MODIFIER LETTER RIGHT ARROWHEAD
- * backed articulation
-02C4 MODIFIER LETTER UP ARROWHEAD
- * raised articulation
- x (circumflex accent - 005E)
- x (up arrowhead - 2303)
-02C5 MODIFIER LETTER DOWN ARROWHEAD
- * lowered articulation
-02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
- * rising-falling tone, falling tone, secondary stress, etc.
- x (circumflex accent - 005E)
- x (combining circumflex accent - 0302)
- x (modifier letter low circumflex accent - A788)
-02C7 CARON
- = hacek
- * falling-rising tone
- * Mandarin Chinese third tone
- x (combining caron - 030C)
-02C8 MODIFIER LETTER VERTICAL LINE
- * primary stress, downstep
- * precedes letter or syllable modified
- x (apostrophe - 0027)
- x (combining vertical line above - 030D)
-02C9 MODIFIER LETTER MACRON
- * high level tone
- * precedes or follows letter or syllable modified
- * Mandarin Chinese first tone
- x (macron - 00AF)
- x (combining macron - 0304)
-02CA MODIFIER LETTER ACUTE ACCENT
- * high-rising tone (IPA), high tone, primary stress
- * Mandarin Chinese second tone
- x (acute accent - 00B4)
- x (modifier letter prime - 02B9)
- x (combining acute accent - 0301)
- x (greek numeral sign - 0374)
- x (armenian emphasis mark - 055B)
-02CB MODIFIER LETTER GRAVE ACCENT
- * high-falling tone (IPA), low tone, secondary or tertiary stress
- * Mandarin Chinese fourth tone
- x (grave accent - 0060)
- x (combining grave accent - 0300)
- x (armenian comma - 055D)
-02CC MODIFIER LETTER LOW VERTICAL LINE
- * secondary stress
- * precedes letter or syllable modified
- x (combining vertical line below - 0329)
-02CD MODIFIER LETTER LOW MACRON
- * low level tone
- x (low line - 005F)
- x (combining macron below - 0331)
-02CE MODIFIER LETTER LOW GRAVE ACCENT
- * low-falling tone
-02CF MODIFIER LETTER LOW ACUTE ACCENT
- * low-rising tone
- x (greek lower numeral sign - 0375)
-02D0 MODIFIER LETTER TRIANGULAR COLON
- * length mark
- x (colon - 003A)
-02D1 MODIFIER LETTER HALF TRIANGULAR COLON
- * half-length mark
- x (middle dot - 00B7)
-02D2 MODIFIER LETTER CENTRED RIGHT HALF RING
- * more rounded articulation
-02D3 MODIFIER LETTER CENTRED LEFT HALF RING
- * less rounded articulation
-02D4 MODIFIER LETTER UP TACK
- * vowel raising or closing
- x (combining up tack below - 031D)
- x (combining dot below - 0323)
-02D5 MODIFIER LETTER DOWN TACK
- * vowel lowering or opening
- x (combining left half ring below - 031C)
- x (combining down tack below - 031E)
-02D6 MODIFIER LETTER PLUS SIGN
- * advanced or fronted articulation
- x (combining plus sign below - 031F)
-02D7 MODIFIER LETTER MINUS SIGN
- * retracted or backed articulation
- * glyph may have small end-serifs
- x (combining minus sign below - 0320)
- x (minus sign - 2212)
-@ Spacing clones of diacritics
-02D8 BREVE
- x (combining breve - 0306)
- # 0020 0306
-02D9 DOT ABOVE
- * Mandarin Chinese fifth tone (light or neutral)
- x (combining dot above - 0307)
- # 0020 0307
-02DA RING ABOVE
- x (degree sign - 00B0)
- x (combining ring above - 030A)
- # 0020 030A
-02DB OGONEK
- x (combining ogonek - 0328)
- # 0020 0328
-02DC SMALL TILDE
- x (tilde - 007E)
- x (combining tilde - 0303)
- x (tilde operator - 223C)
- # 0020 0303
-02DD DOUBLE ACUTE ACCENT
- x (combining double acute accent - 030B)
- # 0020 030B
-@ Additions based on 1989 IPA
-02DE MODIFIER LETTER RHOTIC HOOK
- * rhotacization in vowel
- * often ligated: 025A = 0259 + 02DE; 025D = 025C + 02DE
-02DF MODIFIER LETTER CROSS ACCENT
- * Swedish grave accent
-02E0 MODIFIER LETTER SMALL GAMMA
- * these modifier letters are occasionally used in transcription of affricates
- # <super> 0263
-02E1 MODIFIER LETTER SMALL L
- # <super> 006C
-02E2 MODIFIER LETTER SMALL S
- # <super> 0073
-02E3 MODIFIER LETTER SMALL X
- # <super> 0078
-02E4 MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
- # <super> 0295
-@ Tone letters
-02E5 MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6 MODIFIER LETTER HIGH TONE BAR
-02E7 MODIFIER LETTER MID TONE BAR
-02E8 MODIFIER LETTER LOW TONE BAR
-02E9 MODIFIER LETTER EXTRA-LOW TONE BAR
-@ Extended Bopomofo tone marks
-02EA MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB MODIFIER LETTER YANG DEPARTING TONE MARK
-@ IPA modifiers
-02EC MODIFIER LETTER VOICING
-02ED MODIFIER LETTER UNASPIRATED
-@ Other modifier letter
-02EE MODIFIER LETTER DOUBLE APOSTROPHE
- * Nenets
-@ UPA modifiers
-02EF MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0 MODIFIER LETTER LOW UP ARROWHEAD
-02F1 MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2 MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3 MODIFIER LETTER LOW RING
-02F4 MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7 MODIFIER LETTER LOW TILDE
-02F8 MODIFIER LETTER RAISED COLON
-02F9 MODIFIER LETTER BEGIN HIGH TONE
-02FA MODIFIER LETTER END HIGH TONE
-02FB MODIFIER LETTER BEGIN LOW TONE
-02FC MODIFIER LETTER END LOW TONE
-02FD MODIFIER LETTER SHELF
-02FE MODIFIER LETTER OPEN SHELF
-02FF MODIFIER LETTER LOW LEFT ARROW
-@@ 0300 Combining Diacritical Marks 036F
-@@+
-@ Ordinary diacritics
-0300 COMBINING GRAVE ACCENT
- = Greek varia
- x (grave accent - 0060)
- x (modifier letter grave accent - 02CB)
-0301 COMBINING ACUTE ACCENT
- = stress mark
- = Greek oxia, tonos
- x (apostrophe - 0027)
- x (acute accent - 00B4)
- x (modifier letter prime - 02B9)
- x (modifier letter acute accent - 02CA)
- x (greek tonos - 0384)
-0302 COMBINING CIRCUMFLEX ACCENT
- = hat
- x (circumflex accent - 005E)
- x (modifier letter circumflex accent - 02C6)
-0303 COMBINING TILDE
- * IPA: nasalization
- * Vietnamese tone mark
- x (tilde - 007E)
- x (small tilde - 02DC)
-0304 COMBINING MACRON
- = long
- * distinguish from the following
- x (macron - 00AF)
- x (modifier letter macron - 02C9)
-0305 COMBINING OVERLINE
- = overscore, vinculum
- * connects on left and right
- x (macron - 00AF)
-0306 COMBINING BREVE
- = short
- = Greek vrachy
- x (breve - 02D8)
- x (combining cyrillic kavyka - A67C)
-0307 COMBINING DOT ABOVE
- = derivative (Newtonian notation)
-@+ * IPA (withdrawn in 1976): palatalization
- x (dot above - 02D9)
-0308 COMBINING DIAERESIS
- = double dot above, umlaut
- = Greek dialytika
- = double derivative
- x (diaeresis - 00A8)
-0309 COMBINING HOOK ABOVE
- = hoi
- * kerns left or right of circumflex over vowels
- * Vietnamese tone mark
- x (modifier letter glottal stop - 02C0)
-030A COMBINING RING ABOVE
- x (degree sign - 00B0)
- x (ring above - 02DA)
-030B COMBINING DOUBLE ACUTE ACCENT
- * Hungarian, Chuvash
- x (quotation mark - 0022)
- x (modifier letter double prime - 02BA)
- x (double acute accent - 02DD)
-030C COMBINING CARON
- = hacek, V above
- x (caron - 02C7)
-030D COMBINING VERTICAL LINE ABOVE
- * this is not the Greek tonos
- * Marshallese
- x (modifier letter vertical line - 02C8)
-030E COMBINING DOUBLE VERTICAL LINE ABOVE
- * Marshallese
- x (quotation mark - 0022)
-030F COMBINING DOUBLE GRAVE ACCENT
- * Serbian and Croatian poetics
-0310 COMBINING CANDRABINDU
- x (devanagari sign candrabindu - 0901)
-0311 COMBINING INVERTED BREVE
- x (combining cyrillic pokrytie - 0487)
-0312 COMBINING TURNED COMMA ABOVE
- = cedilla above
- * Latvian (but not used in decomposition)
- x (modifier letter turned comma - 02BB)
-0313 COMBINING COMMA ABOVE
- = Greek psili, smooth breathing mark
- * Americanist: ejective or glottalization
- x (modifier letter apostrophe - 02BC)
- x (combining cyrillic psili pneumata - 0486)
- x (armenian apostrophe - 055A)
-0314 COMBINING REVERSED COMMA ABOVE
- = Greek dasia, rough breathing mark
- x (modifier letter reversed comma - 02BD)
- x (combining cyrillic dasia pneumata - 0485)
- x (armenian modifier letter left half ring - 0559)
-0315 COMBINING COMMA ABOVE RIGHT
- x (modifier letter apostrophe - 02BC)
-0316 COMBINING GRAVE ACCENT BELOW
-0317 COMBINING ACUTE ACCENT BELOW
-0318 COMBINING LEFT TACK BELOW
-0319 COMBINING RIGHT TACK BELOW
-031A COMBINING LEFT ANGLE ABOVE
- * IPA: unreleased stop
-031B COMBINING HORN
- * Vietnamese
-031C COMBINING LEFT HALF RING BELOW
- * IPA: open variety of vowel
- x (modifier letter down tack - 02D5)
-031D COMBINING UP TACK BELOW
- * IPA: vowel raising or closing
- x (modifier letter up tack - 02D4)
-031E COMBINING DOWN TACK BELOW
- * IPA: vowel lowering or opening
- x (modifier letter down tack - 02D5)
-031F COMBINING PLUS SIGN BELOW
- * IPA: advanced or fronted articulation
- x (modifier letter plus sign - 02D6)
-0320 COMBINING MINUS SIGN BELOW
- * IPA: retracted or backed articulation
- * glyph may have small end-serifs
- x (modifier letter minus sign - 02D7)
-0321 COMBINING PALATALIZED HOOK BELOW
- * IPA: palatalization
- x (modifier letter small j - 02B2)
-0322 COMBINING RETROFLEX HOOK BELOW
- * IPA: retroflexion
-0323 COMBINING DOT BELOW
- = nang
- * IPA: closer variety of vowel
- * Americanist and Indo-Europeanist: retraction or retroflexion
- * Semiticist: velarization or pharyngealization
- * Vietnamese tone mark
- x (modifier letter up tack - 02D4)
-0324 COMBINING DIAERESIS BELOW
- * IPA: breathy-voice or murmur
- x (modifier letter small h with hook - 02B1)
-0325 COMBINING RING BELOW
- * IPA: voiceless
- * vocalic (in Latin transliteration of Indic sonorants)
- * Madurese
-0326 COMBINING COMMA BELOW
- * Romanian, Latvian, Livonian
-0327 COMBINING CEDILLA
- * French, Turkish, Azerbaijani
- x (cedilla - 00B8)
-0328 COMBINING OGONEK
- = nasal hook
- * Americanist: nasalization
- * Polish, Lithuanian
- x (ogonek - 02DB)
-0329 COMBINING VERTICAL LINE BELOW
- * IPA: syllabic
- * Yoruba
- * German dialectology
- * may attach or not; shape may vary by local preferences
- x (modifier letter low vertical line - 02CC)
-032A COMBINING BRIDGE BELOW
- * IPA: dental
-032B COMBINING INVERTED DOUBLE ARCH BELOW
- * IPA: labialization
- x (modifier letter small w - 02B7)
-032C COMBINING CARON BELOW
- * IPA: voiced
-032D COMBINING CIRCUMFLEX ACCENT BELOW
- * Americanist: fronted articulation
-032E COMBINING BREVE BELOW
- * Hittite transcription
-032F COMBINING INVERTED BREVE BELOW
- * Americanist: fronted articulation (variant of 032D)
- * Indo-Europeanist: semivowel
-0330 COMBINING TILDE BELOW
- * IPA: creaky voice
-0331 COMBINING MACRON BELOW
- x (low line - 005F)
- x (modifier letter low macron - 02CD)
-0332 COMBINING LOW LINE
- = underline, underscore
- * connects on left and right
- x (low line - 005F)
-0333 COMBINING DOUBLE LOW LINE
- = double underline, double underscore
- * connects on left and right
- x (combining equals sign below - 0347)
- x (double low line - 2017)
-@ Overstruck diacritics
-0334 COMBINING TILDE OVERLAY
- * IPA: velarization or pharyngealization
-0335 COMBINING SHORT STROKE OVERLAY
-0336 COMBINING LONG STROKE OVERLAY
-0337 COMBINING SHORT SOLIDUS OVERLAY
- = short slash overlay
-0338 COMBINING LONG SOLIDUS OVERLAY
- = long slash overlay
-@ Additions
-0339 COMBINING RIGHT HALF RING BELOW
-033A COMBINING INVERTED BRIDGE BELOW
-033B COMBINING SQUARE BELOW
-033C COMBINING SEAGULL BELOW
-033D COMBINING X ABOVE
-033E COMBINING VERTICAL TILDE
- = yerik
- * used for Cyrillic yerik, indicates an omitted jer
- * this is not a palatalization mark
- x (combining cyrillic palatalization - 0484)
- x (vertical tilde - 2E2F)
- x (combining cyrillic payerok - A67D)
-033F COMBINING DOUBLE OVERLINE
-@ Vietnamese tone marks
-@+ Vietnamese-specific accent placement should be handled instead by specialized rendering of 0300 and 0301. Use of 0340 and 0341 is discouraged.
-0340 COMBINING GRAVE TONE MARK
- : 0300 combining grave accent
-0341 COMBINING ACUTE TONE MARK
- : 0301 combining acute accent
-@ Additions for Greek
-0342 COMBINING GREEK PERISPOMENI
-0343 COMBINING GREEK KORONIS
- : 0313 combining comma above
-0344 COMBINING GREEK DIALYTIKA TONOS
- * use of this character is discouraged
- : 0308 0301
-0345 COMBINING GREEK YPOGEGRAMMENI
- = greek non-spacing iota below (1.0)
- = iota subscript
- * note special casing issues
- x (greek ypogegrammeni - 037A)
- x (greek capital letter iota - 0399)
-@ Additions for IPA
-0346 COMBINING BRIDGE ABOVE
- * IPA: dentolabial
- x (combining wide bridge above - 20E9)
-0347 COMBINING EQUALS SIGN BELOW
- * IPA: alveolar
-0348 COMBINING DOUBLE VERTICAL LINE BELOW
- * IPA: strong articulation
-0349 COMBINING LEFT ANGLE BELOW
- * IPA: weak articulation
-034A COMBINING NOT TILDE ABOVE
- * IPA: denasal
-@ IPA diacritics for disordered speech
-034B COMBINING HOMOTHETIC ABOVE
- * IPA: nasal escape
-034C COMBINING ALMOST EQUAL TO ABOVE
- * IPA: velopharyngeal friction
-034D COMBINING LEFT RIGHT ARROW BELOW
- * IPA: labial spreading
-034E COMBINING UPWARDS ARROW BELOW
- * IPA: whistled articulation
-@ Grapheme joiner
-034F COMBINING GRAPHEME JOINER
- * commonly abbreviated as CGJ
- * has no visible glyph
- * the name of this character is misleading; it does not actually join graphemes
-@ Additions for the Uralic Phonetic Alphabet
-0350 COMBINING RIGHT ARROWHEAD ABOVE
-0351 COMBINING LEFT HALF RING ABOVE
-0352 COMBINING FERMATA
-0353 COMBINING X BELOW
-0354 COMBINING LEFT ARROWHEAD BELOW
-0355 COMBINING RIGHT ARROWHEAD BELOW
-0356 COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0357 COMBINING RIGHT HALF RING ABOVE
-@ Miscellaneous additions
-0358 COMBINING DOT ABOVE RIGHT
- * Latin transliterations of the Southern Min dialects of Chinese
-0359 COMBINING ASTERISK BELOW
- x (low asterisk - 204E)
-035A COMBINING DOUBLE RING BELOW
- * Kharoshthi transliteration
-035B COMBINING ZIGZAG ABOVE
- * Latin abbreviation, Lithuanian phonetics and mediaevalist transcriptions
-@ Double diacritics
-035C COMBINING DOUBLE BREVE BELOW
- = ligature tie below, papyrological hyphen
- * a common glyph alternate connects the horizontal midpoints of the characters
- x (combining double breve - 035D)
- x (combining double inverted breve - 0361)
-035D COMBINING DOUBLE BREVE
-035E COMBINING DOUBLE MACRON
-035F COMBINING DOUBLE MACRON BELOW
-0360 COMBINING DOUBLE TILDE
-0361 COMBINING DOUBLE INVERTED BREVE
- = ligature tie
-0362 COMBINING DOUBLE RIGHTWARDS ARROW BELOW
- * IPA: sliding articulation
-@ Medieval superscript letter diacritics
-@+ These are letter diacritics written directly above other letters. They appear primarily in medieval Germanic manuscripts, but saw some usage as late as the 19th century in some languages.
-0363 COMBINING LATIN SMALL LETTER A
-0364 COMBINING LATIN SMALL LETTER E
-0365 COMBINING LATIN SMALL LETTER I
-0366 COMBINING LATIN SMALL LETTER O
-0367 COMBINING LATIN SMALL LETTER U
-0368 COMBINING LATIN SMALL LETTER C
-0369 COMBINING LATIN SMALL LETTER D
-036A COMBINING LATIN SMALL LETTER H
-036B COMBINING LATIN SMALL LETTER M
-036C COMBINING LATIN SMALL LETTER R
-036D COMBINING LATIN SMALL LETTER T
-036E COMBINING LATIN SMALL LETTER V
-036F COMBINING LATIN SMALL LETTER X
-@@ 0370 Greek and Coptic 03FF
-@ Archaic letters
-0370 GREEK CAPITAL LETTER HETA
- x (latin capital letter half h - 2C75)
-0371 GREEK SMALL LETTER HETA
- x (latin small letter half h - 2C76)
-0372 GREEK CAPITAL LETTER ARCHAIC SAMPI
-0373 GREEK SMALL LETTER ARCHAIC SAMPI
-@ Numeral signs
-0374 GREEK NUMERAL SIGN
- = dexia keraia
- * indicates numeric use of letters
- x (modifier letter acute accent - 02CA)
- : 02B9 modifier letter prime
-0375 GREEK LOWER NUMERAL SIGN
- = aristeri keraia
- * indicates numeric use of letters
- x (modifier letter low acute accent - 02CF)
-@ Archaic letters
-0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-@ Iota subscript
-037A GREEK YPOGEGRAMMENI
- = iota subscript
- x (combining greek ypogegrammeni - 0345)
- # 0020 0345
-@ Lowercase of editorial symbols
-037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-@ Punctuation
-037E GREEK QUESTION MARK
- = erotimatiko
- * sentence-final punctuation
- * 003B is the preferred character
- x (question mark - 003F)
- : 003B semicolon
-@ Spacing accent marks
-0384 GREEK TONOS
- x (acute accent - 00B4)
- x (combining vertical line above - 030D)
- # 0020 0301
-0385 GREEK DIALYTIKA TONOS
- : 00A8 0301
-@ Letter
-0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
- : 0391 0301
-@ Punctuation
-0387 GREEK ANO TELEIA
- * functions in Greek like a semicolon
- * 00B7 is the preferred character
- : 00B7 middle dot
-@ Letters
-0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
- : 0395 0301
-0389 GREEK CAPITAL LETTER ETA WITH TONOS
- : 0397 0301
-038A GREEK CAPITAL LETTER IOTA WITH TONOS
- : 0399 0301
-038C GREEK CAPITAL LETTER OMICRON WITH TONOS
- : 039F 0301
-038E GREEK CAPITAL LETTER UPSILON WITH TONOS
- : 03A5 0301
-038F GREEK CAPITAL LETTER OMEGA WITH TONOS
- : 03A9 0301
-0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- : 03CA 0301
-0391 GREEK CAPITAL LETTER ALPHA
-0392 GREEK CAPITAL LETTER BETA
-0393 GREEK CAPITAL LETTER GAMMA
- = gamma function
- x (double-struck capital gamma - 213E)
-0394 GREEK CAPITAL LETTER DELTA
- x (increment - 2206)
-0395 GREEK CAPITAL LETTER EPSILON
-0396 GREEK CAPITAL LETTER ZETA
-0397 GREEK CAPITAL LETTER ETA
-0398 GREEK CAPITAL LETTER THETA
-0399 GREEK CAPITAL LETTER IOTA
- = iota adscript
-039A GREEK CAPITAL LETTER KAPPA
-039B GREEK CAPITAL LETTER LAMDA
-039C GREEK CAPITAL LETTER MU
-039D GREEK CAPITAL LETTER NU
-039E GREEK CAPITAL LETTER XI
-039F GREEK CAPITAL LETTER OMICRON
-03A0 GREEK CAPITAL LETTER PI
- x (double-struck capital pi - 213F)
- x (n-ary product - 220F)
-03A1 GREEK CAPITAL LETTER RHO
-03A3 GREEK CAPITAL LETTER SIGMA
- x (latin capital letter esh - 01A9)
- x (n-ary summation - 2211)
-03A4 GREEK CAPITAL LETTER TAU
-03A5 GREEK CAPITAL LETTER UPSILON
-03A6 GREEK CAPITAL LETTER PHI
-03A7 GREEK CAPITAL LETTER CHI
-03A8 GREEK CAPITAL LETTER PSI
-03A9 GREEK CAPITAL LETTER OMEGA
- x (ohm sign - 2126)
- x (inverted ohm sign - 2127)
-03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- : 0399 0308
-03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- : 03A5 0308
-03AC GREEK SMALL LETTER ALPHA WITH TONOS
- : 03B1 0301
-03AD GREEK SMALL LETTER EPSILON WITH TONOS
- : 03B5 0301
-03AE GREEK SMALL LETTER ETA WITH TONOS
- : 03B7 0301
-03AF GREEK SMALL LETTER IOTA WITH TONOS
- : 03B9 0301
-03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- : 03CB 0301
-03B1 GREEK SMALL LETTER ALPHA
- x (latin small letter alpha - 0251)
- x (proportional to - 221D)
-03B2 GREEK SMALL LETTER BETA
- x (latin small letter sharp s - 00DF)
- x (latin small letter b with stroke - 0180)
-03B3 GREEK SMALL LETTER GAMMA
- x (latin small letter gamma - 0263)
- x (double-struck small gamma - 213D)
-03B4 GREEK SMALL LETTER DELTA
-03B5 GREEK SMALL LETTER EPSILON
- x (latin small letter open e - 025B)
-03B6 GREEK SMALL LETTER ZETA
-03B7 GREEK SMALL LETTER ETA
-03B8 GREEK SMALL LETTER THETA
- x (latin small letter barred o - 0275)
- x (cyrillic small letter fita - 0473)
-03B9 GREEK SMALL LETTER IOTA
- x (latin small letter iota - 0269)
- x (turned greek small letter iota - 2129)
-03BA GREEK SMALL LETTER KAPPA
-03BB GREEK SMALL LETTER LAMDA
- = lambda
-03BC GREEK SMALL LETTER MU
- x (micro sign - 00B5)
-03BD GREEK SMALL LETTER NU
-03BE GREEK SMALL LETTER XI
-03BF GREEK SMALL LETTER OMICRON
-03C0 GREEK SMALL LETTER PI
- * math constant 3.141592...
-03C1 GREEK SMALL LETTER RHO
-03C2 GREEK SMALL LETTER FINAL SIGMA
- = stigma (the Modern Greek name for this letterform)
- * not to be confused with the actual stigma letter
- x (greek small letter stigma - 03DB)
-03C3 GREEK SMALL LETTER SIGMA
- * used symbolically with a numeric value 200
-03C4 GREEK SMALL LETTER TAU
-03C5 GREEK SMALL LETTER UPSILON
- x (latin small letter upsilon - 028A)
- x (latin small letter v with hook - 028B)
-03C6 GREEK SMALL LETTER PHI
- x (latin small letter phi - 0278)
- x (greek phi symbol - 03D5)
- * the ordinary Greek letter, showing considerable glyph variation
- * in mathematical contexts, the loopy glyph is preferred, to contrast with 03D5
-03C7 GREEK SMALL LETTER CHI
-03C8 GREEK SMALL LETTER PSI
-03C9 GREEK SMALL LETTER OMEGA
-03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
- : 03B9 0308
-03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- : 03C5 0308
-03CC GREEK SMALL LETTER OMICRON WITH TONOS
- : 03BF 0301
-03CD GREEK SMALL LETTER UPSILON WITH TONOS
- : 03C5 0301
-03CE GREEK SMALL LETTER OMEGA WITH TONOS
- : 03C9 0301
-@ Variant letterforms
-03CF GREEK CAPITAL KAI SYMBOL
- x (greek kai symbol - 03D7)
-03D0 GREEK BETA SYMBOL
- = curled beta
- # 03B2 greek small letter beta
-03D1 GREEK THETA SYMBOL
- = script theta
- * used as a technical symbol
- # 03B8 greek small letter theta
-03D2 GREEK UPSILON WITH HOOK SYMBOL
- # 03A5 greek capital letter upsilon
-03D3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
- : 03D2 0301
-03D4 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
- : 03D2 0308
-03D5 GREEK PHI SYMBOL
- * used as a technical symbol, with a stroked glyph
- * maps to "phi1" symbol entities
- # 03C6 greek small letter phi
-03D6 GREEK PI SYMBOL
- = omega pi
- * used as a technical symbol
- * a variant of pi, looking like omega
- # 03C0 greek small letter pi
-03D7 GREEK KAI SYMBOL
- * used as an ampersand
- x (coptic symbol kai - 2CE4)
-@ Archaic letters
-03D8 GREEK LETTER ARCHAIC KOPPA
-03D9 GREEK SMALL LETTER ARCHAIC KOPPA
- * the Q-shaped archaic koppas are the ordinary alphabetic letters and can also be used as symbols with a numeric value of 90 in classical and pre-classical texts
-03DA GREEK LETTER STIGMA
- * apparently in origin a cursive form of digamma
- * the name "stigma" originally applied to a medieval sigma-tau ligature, whose shape was confusably similar to the cursive digamma
- * used as a symbol with a numeric value of 6
- x (roman numeral six late form - 2185)
-03DB GREEK SMALL LETTER STIGMA
- x (greek small letter final sigma - 03C2)
-03DC GREEK LETTER DIGAMMA
-03DD GREEK SMALL LETTER DIGAMMA
- * used as a symbol with a numeric value of 6
-03DE GREEK LETTER KOPPA
-03DF GREEK SMALL LETTER KOPPA
- * used in modern Greek as a symbol with a numeric value of 90, as in the dating of legal documentation
-03E0 GREEK LETTER SAMPI
-03E1 GREEK SMALL LETTER SAMPI
- * used as a symbol with a numeric value of 900
-@ Coptic letters derived from Demotic
-@+ For other Coptic letters see the Coptic Block.
-03E2 COPTIC CAPITAL LETTER SHEI
-03E3 COPTIC SMALL LETTER SHEI
-03E4 COPTIC CAPITAL LETTER FEI
-03E5 COPTIC SMALL LETTER FEI
-03E6 COPTIC CAPITAL LETTER KHEI
-03E7 COPTIC SMALL LETTER KHEI
-03E8 COPTIC CAPITAL LETTER HORI
-03E9 COPTIC SMALL LETTER HORI
-03EA COPTIC CAPITAL LETTER GANGIA
-03EB COPTIC SMALL LETTER GANGIA
-03EC COPTIC CAPITAL LETTER SHIMA
-03ED COPTIC SMALL LETTER SHIMA
-03EE COPTIC CAPITAL LETTER DEI
-03EF COPTIC SMALL LETTER DEI
-@ Variant letterforms
-03F0 GREEK KAPPA SYMBOL
- = script kappa
- * used as technical symbol
- # 03BA greek small letter kappa
-03F1 GREEK RHO SYMBOL
- = tailed rho
- * used as technical symbol
- # 03C1 greek small letter rho
-03F2 GREEK LUNATE SIGMA SYMBOL
- = greek small letter lunate sigma (1.0)
- # 03C2 greek small letter final sigma
-@ Additional letter
-03F3 GREEK LETTER YOT
-@ Variant letterforms and symbols
-03F4 GREEK CAPITAL THETA SYMBOL
- x (cyrillic capital letter fita - 0472)
- # 0398 greek capital letter theta
-03F5 GREEK LUNATE EPSILON SYMBOL
- = straight epsilon
- x (small element of - 220A)
- # 03B5 greek small letter epsilon
-03F6 GREEK REVERSED LUNATE EPSILON SYMBOL
- = reversed straight epsilon
- x (small contains as member - 220D)
-@ Additional archaic letters for Bactrian
-03F7 GREEK CAPITAL LETTER SHO
-03F8 GREEK SMALL LETTER SHO
-@ Variant letterform
-03F9 GREEK CAPITAL LUNATE SIGMA SYMBOL
- # 03A3 greek capital letter sigma
-@ Archaic letters
-03FA GREEK CAPITAL LETTER SAN
-03FB GREEK SMALL LETTER SAN
-@ Symbol
-03FC GREEK RHO WITH STROKE SYMBOL
- * used with abbreviations containing 03C1
-@ Editorial symbols
-03FD GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
- = antisigma
-03FE GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
- = sigma periestigmenon
-03FF GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
- = antisigma periestigmenon
-@@ 0400 Cyrillic 04FF
-@ Cyrillic extensions
-0400 CYRILLIC CAPITAL LETTER IE WITH GRAVE
- : 0415 0300
-0401 CYRILLIC CAPITAL LETTER IO
- : 0415 0308
-0402 CYRILLIC CAPITAL LETTER DJE
-0403 CYRILLIC CAPITAL LETTER GJE
- : 0413 0301
-0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0405 CYRILLIC CAPITAL LETTER DZE
-0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- x (latin capital letter i - 0049)
- x (cyrillic small letter byelorussian-ukrainian i - 0456)
- x (cyrillic letter palochka - 04C0)
-0407 CYRILLIC CAPITAL LETTER YI
- : 0406 0308
-0408 CYRILLIC CAPITAL LETTER JE
-0409 CYRILLIC CAPITAL LETTER LJE
-040A CYRILLIC CAPITAL LETTER NJE
-040B CYRILLIC CAPITAL LETTER TSHE
-040C CYRILLIC CAPITAL LETTER KJE
- : 041A 0301
-040D CYRILLIC CAPITAL LETTER I WITH GRAVE
- : 0418 0300
-040E CYRILLIC CAPITAL LETTER SHORT U
- : 0423 0306
-040F CYRILLIC CAPITAL LETTER DZHE
-@ Basic Russian alphabet
-0410 CYRILLIC CAPITAL LETTER A
-0411 CYRILLIC CAPITAL LETTER BE
- x (latin small letter b with topbar - 0183)
-0412 CYRILLIC CAPITAL LETTER VE
-0413 CYRILLIC CAPITAL LETTER GHE
-0414 CYRILLIC CAPITAL LETTER DE
-0415 CYRILLIC CAPITAL LETTER IE
-0416 CYRILLIC CAPITAL LETTER ZHE
-0417 CYRILLIC CAPITAL LETTER ZE
-0418 CYRILLIC CAPITAL LETTER I
-0419 CYRILLIC CAPITAL LETTER SHORT I
- : 0418 0306
-041A CYRILLIC CAPITAL LETTER KA
-041B CYRILLIC CAPITAL LETTER EL
-041C CYRILLIC CAPITAL LETTER EM
-041D CYRILLIC CAPITAL LETTER EN
-041E CYRILLIC CAPITAL LETTER O
-041F CYRILLIC CAPITAL LETTER PE
-0420 CYRILLIC CAPITAL LETTER ER
-0421 CYRILLIC CAPITAL LETTER ES
-0422 CYRILLIC CAPITAL LETTER TE
-0423 CYRILLIC CAPITAL LETTER U
- x (cyrillic capital letter uk - 0478)
- x (cyrillic small letter straight u - 04AF)
- x (cyrillic capital letter monograph uk - A64A)
-0424 CYRILLIC CAPITAL LETTER EF
-0425 CYRILLIC CAPITAL LETTER HA
-0426 CYRILLIC CAPITAL LETTER TSE
-0427 CYRILLIC CAPITAL LETTER CHE
-0428 CYRILLIC CAPITAL LETTER SHA
-0429 CYRILLIC CAPITAL LETTER SHCHA
-042A CYRILLIC CAPITAL LETTER HARD SIGN
-042B CYRILLIC CAPITAL LETTER YERU
-042C CYRILLIC CAPITAL LETTER SOFT SIGN
-042D CYRILLIC CAPITAL LETTER E
-042E CYRILLIC CAPITAL LETTER YU
-042F CYRILLIC CAPITAL LETTER YA
-0430 CYRILLIC SMALL LETTER A
-0431 CYRILLIC SMALL LETTER BE
-0432 CYRILLIC SMALL LETTER VE
-0433 CYRILLIC SMALL LETTER GHE
-0434 CYRILLIC SMALL LETTER DE
-0435 CYRILLIC SMALL LETTER IE
-0436 CYRILLIC SMALL LETTER ZHE
-0437 CYRILLIC SMALL LETTER ZE
-0438 CYRILLIC SMALL LETTER I
-0439 CYRILLIC SMALL LETTER SHORT I
- : 0438 0306
-043A CYRILLIC SMALL LETTER KA
-043B CYRILLIC SMALL LETTER EL
-043C CYRILLIC SMALL LETTER EM
-043D CYRILLIC SMALL LETTER EN
-043E CYRILLIC SMALL LETTER O
-043F CYRILLIC SMALL LETTER PE
-0440 CYRILLIC SMALL LETTER ER
-0441 CYRILLIC SMALL LETTER ES
-0442 CYRILLIC SMALL LETTER TE
-0443 CYRILLIC SMALL LETTER U
-0444 CYRILLIC SMALL LETTER EF
-0445 CYRILLIC SMALL LETTER HA
-0446 CYRILLIC SMALL LETTER TSE
-0447 CYRILLIC SMALL LETTER CHE
-0448 CYRILLIC SMALL LETTER SHA
-0449 CYRILLIC SMALL LETTER SHCHA
-044A CYRILLIC SMALL LETTER HARD SIGN
-044B CYRILLIC SMALL LETTER YERU
- x (cyrillic small letter yeru with back yer - A651)
-044C CYRILLIC SMALL LETTER SOFT SIGN
- x (latin small letter tone six - 0185)
- x (cyrillic small letter neutral yer - A64F)
-044D CYRILLIC SMALL LETTER E
-044E CYRILLIC SMALL LETTER YU
- x (cyrillic small letter reversed yu - A655)
-044F CYRILLIC SMALL LETTER YA
-@ Cyrillic extensions
-0450 CYRILLIC SMALL LETTER IE WITH GRAVE
- * Macedonian
- : 0435 0300
-0451 CYRILLIC SMALL LETTER IO
- * Russian, ...
- : 0435 0308
-0452 CYRILLIC SMALL LETTER DJE
- * Serbian
- x (latin small letter d with stroke - 0111)
-0453 CYRILLIC SMALL LETTER GJE
- * Macedonian
- : 0433 0301
-0454 CYRILLIC SMALL LETTER UKRAINIAN IE
- = Old Cyrillic yest
-0455 CYRILLIC SMALL LETTER DZE
- * Macedonian
- x (cyrillic small letter dzelo - A643)
-0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- = Old Cyrillic i
-0457 CYRILLIC SMALL LETTER YI
- * Ukrainian
- : 0456 0308
-0458 CYRILLIC SMALL LETTER JE
- * Serbian, Azerbaijani, Altay
-0459 CYRILLIC SMALL LETTER LJE
- * Serbian, Macedonian
- x (latin small letter lj - 01C9)
-045A CYRILLIC SMALL LETTER NJE
- * Serbian, Macedonian
- x (latin small letter nj - 01CC)
-045B CYRILLIC SMALL LETTER TSHE
- * Serbian
- x (latin small letter c with acute - 0107)
- x (latin small letter h with stroke - 0127)
- x (cyrillic capital letter tshe - 040B)
- x (planck constant over two pi - 210F)
- x (cyrillic small letter djerv - A649)
-045C CYRILLIC SMALL LETTER KJE
- * Macedonian
- : 043A 0301
-045D CYRILLIC SMALL LETTER I WITH GRAVE
- * Macedonian, Bulgarian
- : 0438 0300
-045E CYRILLIC SMALL LETTER SHORT U
- * Byelorussian, Uzbek
- : 0443 0306
-045F CYRILLIC SMALL LETTER DZHE
- * Serbian, Macedonian, Abkhasian
- x (latin small letter dz with caron - 01C6)
-@ Historic letters
-0460 CYRILLIC CAPITAL LETTER OMEGA
-0461 CYRILLIC SMALL LETTER OMEGA
- x (cyrillic small letter broad omega - A64D)
-0462 CYRILLIC CAPITAL LETTER YAT
-0463 CYRILLIC SMALL LETTER YAT
- x (cyrillic small letter iotified yat - A653)
-0464 CYRILLIC CAPITAL LETTER IOTIFIED E
-0465 CYRILLIC SMALL LETTER IOTIFIED E
-0466 CYRILLIC CAPITAL LETTER LITTLE YUS
-0467 CYRILLIC SMALL LETTER LITTLE YUS
- x (cyrillic small letter closed little yus - A659)
- x (cyrillic small letter blended yus - A65B)
-0468 CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-0469 CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
- x (cyrillic small letter ya - 044F)
- x (cyrillic small letter iotified closed little yus - A65D)
-046A CYRILLIC CAPITAL LETTER BIG YUS
-046B CYRILLIC SMALL LETTER BIG YUS
- x (cyrillic small letter blended yus - A65B)
-046C CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046D CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046E CYRILLIC CAPITAL LETTER KSI
-046F CYRILLIC SMALL LETTER KSI
-0470 CYRILLIC CAPITAL LETTER PSI
-0471 CYRILLIC SMALL LETTER PSI
-0472 CYRILLIC CAPITAL LETTER FITA
-0473 CYRILLIC SMALL LETTER FITA
- x (latin small letter barred o - 0275)
- x (greek small letter theta - 03B8)
-0474 CYRILLIC CAPITAL LETTER IZHITSA
-0475 CYRILLIC SMALL LETTER IZHITSA
-0476 CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
- : 0474 030F
-0477 CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
- : 0475 030F
-0478 CYRILLIC CAPITAL LETTER UK
- * may be rendered as either monograph or digraph form
- * for "digraph uk" the preferred spelling is 041E 0443
- * for "monograph uk" the preferred character is A64A
- x (cyrillic capital letter u - 0423)
-0479 CYRILLIC SMALL LETTER UK
- * for "digraph uk" the preferred spelling is 043E 0443
- * for "monograph uk" the preferred character is A64B
-047A CYRILLIC CAPITAL LETTER ROUND OMEGA
-047B CYRILLIC SMALL LETTER ROUND OMEGA
-047C CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
- = Cyrillic "beautiful omega"
- * despite its name, this character does not have a titlo, nor is it composed of an omega plus a diacritic
- x (cyrillic capital letter broad omega - A64C)
-047D CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047E CYRILLIC CAPITAL LETTER OT
-047F CYRILLIC SMALL LETTER OT
-0480 CYRILLIC CAPITAL LETTER KOPPA
-0481 CYRILLIC SMALL LETTER KOPPA
-@ Historic miscellaneous
-0482 CYRILLIC THOUSANDS SIGN
-0483 COMBINING CYRILLIC TITLO
- * not used with letter titlos
- x (combining cyrillic vzmet - A66F)
-0484 COMBINING CYRILLIC PALATALIZATION
- x (combining vertical tilde - 033E)
-0485 COMBINING CYRILLIC DASIA PNEUMATA
- x (combining reversed comma above - 0314)
-0486 COMBINING CYRILLIC PSILI PNEUMATA
- x (combining comma above - 0313)
-0487 COMBINING CYRILLIC POKRYTIE
- * used only with letter titlos
- x (combining inverted breve - 0311)
- x (combining cyrillic vzmet - A66F)
-0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
- * use 20DD for ten thousands sign
-0489 COMBINING CYRILLIC MILLIONS SIGN
- x (combining cyrillic ten millions sign - A670)
-@ Extended Cyrillic
-048A CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048B CYRILLIC SMALL LETTER SHORT I WITH TAIL
- * Kildin Sami
-048C CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048D CYRILLIC SMALL LETTER SEMISOFT SIGN
- * Kildin Sami
-048E CYRILLIC CAPITAL LETTER ER WITH TICK
-048F CYRILLIC SMALL LETTER ER WITH TICK
- * Kildin Sami
-0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
- * Ukrainian
-0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0493 CYRILLIC SMALL LETTER GHE WITH STROKE
- * Azerbaijani, Bashkir, ...
- * full bar form preferred over half-barred "F"-type
-0494 CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0495 CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
- * Yakut, older orthographies for Abkhasian
-0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
- * Tatar, ...
-0498 CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0499 CYRILLIC SMALL LETTER ZE WITH DESCENDER
- * Bashkir
- * letterforms with right hooks are preferred, although occasional variants with left hooks occur
-049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049B CYRILLIC SMALL LETTER KA WITH DESCENDER
- * Abkhasian, Tajik, ...
-049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
- * Azerbaijani
-049E CYRILLIC CAPITAL LETTER KA WITH STROKE
-049F CYRILLIC SMALL LETTER KA WITH STROKE
- * Abkhasian
-04A0 CYRILLIC CAPITAL LETTER BASHKIR KA
-04A1 CYRILLIC SMALL LETTER BASHKIR KA
-04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER
- * Bashkir, ...
-04A4 CYRILLIC CAPITAL LIGATURE EN GHE
-04A5 CYRILLIC SMALL LIGATURE EN GHE
- * Altay, Mari, Yakut
- * this is not a decomposable ligature
-04A6 CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A7 CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
- * older orthographies for Abkhasian
-04A8 CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04A9 CYRILLIC SMALL LETTER ABKHASIAN HA
-04AA CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AB CYRILLIC SMALL LETTER ES WITH DESCENDER
- * Bashkir, Chuvash
- * letterforms with right hooks are preferred, although occasional variants with left hooks occur
- * in Chuvashia, letterforms identical to or similar in form to 00E7 regularly occur
-04AC CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AD CYRILLIC SMALL LETTER TE WITH DESCENDER
- * Abkhasian
-04AE CYRILLIC CAPITAL LETTER STRAIGHT U
-04AF CYRILLIC SMALL LETTER STRAIGHT U
- * stem is straight, unlike LETTER U
- * Azerbaijani, Bashkir, ...
- x (cyrillic capital letter u - 0423)
-04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
- * Kazakh
-04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER
- * Abkhasian, Tajik, Uzbek
-04B4 CYRILLIC CAPITAL LIGATURE TE TSE
-04B5 CYRILLIC SMALL LIGATURE TE TSE
- * Abkhasian
- * this is not a decomposable ligature
-04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
- * Abkhasian, Tajik
-04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
- * Azerbaijani
-04BA CYRILLIC CAPITAL LETTER SHHA
-04BB CYRILLIC SMALL LETTER SHHA
- * originally derived from Latin "h", but uppercase form 04BA is closer to an inverted che (0427)
- * Azerbaijani, Bashkir, ...
- x (latin small letter h - 0068)
-04BC CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BD CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BE CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04BF CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
- * some older Abkhaz fonts show a descender shaped like a right hook (ogonek or reversed comma shape)
-04C0 CYRILLIC LETTER PALOCHKA
- * aspiration sign in many Caucasian languages
- * is usually not cased, but the formal lowercase is 04CF
- x (latin capital letter i - 0049)
- x (cyrillic capital letter byelorussian-ukrainian i - 0406)
-04C1 CYRILLIC CAPITAL LETTER ZHE WITH BREVE
- : 0416 0306
-04C2 CYRILLIC SMALL LETTER ZHE WITH BREVE
- * Moldavian
- : 0436 0306
-04C3 CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C4 CYRILLIC SMALL LETTER KA WITH HOOK
- * Khanty, Chukchi
-04C5 CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C6 CYRILLIC SMALL LETTER EL WITH TAIL
- * Kildin Sami
-04C7 CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C8 CYRILLIC SMALL LETTER EN WITH HOOK
- * Khanty, Chukchi, Nenets
-04C9 CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CA CYRILLIC SMALL LETTER EN WITH TAIL
- * Kildin Sami
-04CB CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CC CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CD CYRILLIC CAPITAL LETTER EM WITH TAIL
-04CE CYRILLIC SMALL LETTER EM WITH TAIL
- * Kildin Sami
-04CF CYRILLIC SMALL LETTER PALOCHKA
-04D0 CYRILLIC CAPITAL LETTER A WITH BREVE
- : 0410 0306
-04D1 CYRILLIC SMALL LETTER A WITH BREVE
- : 0430 0306
-04D2 CYRILLIC CAPITAL LETTER A WITH DIAERESIS
- : 0410 0308
-04D3 CYRILLIC SMALL LETTER A WITH DIAERESIS
- : 0430 0308
-04D4 CYRILLIC CAPITAL LIGATURE A IE
-04D5 CYRILLIC SMALL LIGATURE A IE
- * this is not a decomposable ligature
- x (latin small letter ae - 00E6)
-04D6 CYRILLIC CAPITAL LETTER IE WITH BREVE
- : 0415 0306
-04D7 CYRILLIC SMALL LETTER IE WITH BREVE
- : 0435 0306
-04D8 CYRILLIC CAPITAL LETTER SCHWA
-04D9 CYRILLIC SMALL LETTER SCHWA
- x (latin small letter schwa - 0259)
-04DA CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
- : 04D8 0308
-04DB CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
- : 04D9 0308
-04DC CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
- : 0416 0308
-04DD CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
- : 0436 0308
-04DE CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
- : 0417 0308
-04DF CYRILLIC SMALL LETTER ZE WITH DIAERESIS
- : 0437 0308
-04E0 CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E1 CYRILLIC SMALL LETTER ABKHASIAN DZE
- x (latin small letter ezh - 0292)
-04E2 CYRILLIC CAPITAL LETTER I WITH MACRON
- : 0418 0304
-04E3 CYRILLIC SMALL LETTER I WITH MACRON
- : 0438 0304
-04E4 CYRILLIC CAPITAL LETTER I WITH DIAERESIS
- : 0418 0308
-04E5 CYRILLIC SMALL LETTER I WITH DIAERESIS
- : 0438 0308
-04E6 CYRILLIC CAPITAL LETTER O WITH DIAERESIS
- : 041E 0308
-04E7 CYRILLIC SMALL LETTER O WITH DIAERESIS
- : 043E 0308
-04E8 CYRILLIC CAPITAL LETTER BARRED O
-04E9 CYRILLIC SMALL LETTER BARRED O
- x (latin small letter barred o - 0275)
-04EA CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
- : 04E8 0308
-04EB CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
- : 04E9 0308
-04EC CYRILLIC CAPITAL LETTER E WITH DIAERESIS
- : 042D 0308
-04ED CYRILLIC SMALL LETTER E WITH DIAERESIS
- * Kildin Sami
- : 044D 0308
-04EE CYRILLIC CAPITAL LETTER U WITH MACRON
- : 0423 0304
-04EF CYRILLIC SMALL LETTER U WITH MACRON
- : 0443 0304
-04F0 CYRILLIC CAPITAL LETTER U WITH DIAERESIS
- : 0423 0308
-04F1 CYRILLIC SMALL LETTER U WITH DIAERESIS
- : 0443 0308
-04F2 CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
- : 0423 030B
-04F3 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
- : 0443 030B
-04F4 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
- : 0427 0308
-04F5 CYRILLIC SMALL LETTER CHE WITH DIAERESIS
- : 0447 0308
-04F6 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F7 CYRILLIC SMALL LETTER GHE WITH DESCENDER
- * Yupik
-04F8 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
- : 042B 0308
-04F9 CYRILLIC SMALL LETTER YERU WITH DIAERESIS
- : 044B 0308
-@ Additions for Nivkh
-04FA CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FB CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FC CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FD CYRILLIC SMALL LETTER HA WITH HOOK
-04FE CYRILLIC CAPITAL LETTER HA WITH STROKE
-04FF CYRILLIC SMALL LETTER HA WITH STROKE
-@@ 0500 Cyrillic Supplement 052F
-@ Komi letters
-0500 CYRILLIC CAPITAL LETTER KOMI DE
-0501 CYRILLIC SMALL LETTER KOMI DE
-0502 CYRILLIC CAPITAL LETTER KOMI DJE
-0503 CYRILLIC SMALL LETTER KOMI DJE
-0504 CYRILLIC CAPITAL LETTER KOMI ZJE
-0505 CYRILLIC SMALL LETTER KOMI ZJE
-0506 CYRILLIC CAPITAL LETTER KOMI DZJE
-0507 CYRILLIC SMALL LETTER KOMI DZJE
-0508 CYRILLIC CAPITAL LETTER KOMI LJE
-0509 CYRILLIC SMALL LETTER KOMI LJE
-050A CYRILLIC CAPITAL LETTER KOMI NJE
-050B CYRILLIC SMALL LETTER KOMI NJE
-050C CYRILLIC CAPITAL LETTER KOMI SJE
-050D CYRILLIC SMALL LETTER KOMI SJE
-050E CYRILLIC CAPITAL LETTER KOMI TJE
-050F CYRILLIC SMALL LETTER KOMI TJE
-@ Cyrillic extensions
-0510 CYRILLIC CAPITAL LETTER REVERSED ZE
-0511 CYRILLIC SMALL LETTER REVERSED ZE
- * Enets, Khanty
-0512 CYRILLIC CAPITAL LETTER EL WITH HOOK
-0513 CYRILLIC SMALL LETTER EL WITH HOOK
- * Chukchi, Itelmen, Khanty
-@ Mordvin letters
-0514 CYRILLIC CAPITAL LETTER LHA
-0515 CYRILLIC SMALL LETTER LHA
- = voiceless l
-0516 CYRILLIC CAPITAL LETTER RHA
-0517 CYRILLIC SMALL LETTER RHA
- = voiceless r
-0518 CYRILLIC CAPITAL LETTER YAE
-0519 CYRILLIC SMALL LETTER YAE
-@ Kurdish letters
-051A CYRILLIC CAPITAL LETTER QA
-051B CYRILLIC SMALL LETTER QA
-051C CYRILLIC CAPITAL LETTER WE
-051D CYRILLIC SMALL LETTER WE
-@ Aleut letter
-051E CYRILLIC CAPITAL LETTER ALEUT KA
-051F CYRILLIC SMALL LETTER ALEUT KA
- * used for [q] in Aleut
-@ Chuvash letters
-@+ These are obsolete letters formerly used in Jakovlev's Chuvash orthography.
-0520 CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0521 CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
- = palatalized l
-0522 CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0523 CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
- = palatalized n
-@ Abkhaz letters
-0524 CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0525 CYRILLIC SMALL LETTER PE WITH DESCENDER
- * used in modern Abkhaz orthography
- x (cyrillic small letter pe with middle hook - 04A7)
-@@ 0530 Armenian 058F
-@ Uppercase letters
-0531 ARMENIAN CAPITAL LETTER AYB
-0532 ARMENIAN CAPITAL LETTER BEN
-0533 ARMENIAN CAPITAL LETTER GIM
-0534 ARMENIAN CAPITAL LETTER DA
-0535 ARMENIAN CAPITAL LETTER ECH
-0536 ARMENIAN CAPITAL LETTER ZA
-0537 ARMENIAN CAPITAL LETTER EH
-0538 ARMENIAN CAPITAL LETTER ET
-0539 ARMENIAN CAPITAL LETTER TO
-053A ARMENIAN CAPITAL LETTER ZHE
-053B ARMENIAN CAPITAL LETTER INI
-053C ARMENIAN CAPITAL LETTER LIWN
-053D ARMENIAN CAPITAL LETTER XEH
-053E ARMENIAN CAPITAL LETTER CA
-053F ARMENIAN CAPITAL LETTER KEN
-0540 ARMENIAN CAPITAL LETTER HO
-0541 ARMENIAN CAPITAL LETTER JA
-0542 ARMENIAN CAPITAL LETTER GHAD
-0543 ARMENIAN CAPITAL LETTER CHEH
-0544 ARMENIAN CAPITAL LETTER MEN
-0545 ARMENIAN CAPITAL LETTER YI
-0546 ARMENIAN CAPITAL LETTER NOW
-0547 ARMENIAN CAPITAL LETTER SHA
-0548 ARMENIAN CAPITAL LETTER VO
-0549 ARMENIAN CAPITAL LETTER CHA
-054A ARMENIAN CAPITAL LETTER PEH
-054B ARMENIAN CAPITAL LETTER JHEH
-054C ARMENIAN CAPITAL LETTER RA
-054D ARMENIAN CAPITAL LETTER SEH
-054E ARMENIAN CAPITAL LETTER VEW
-054F ARMENIAN CAPITAL LETTER TIWN
-0550 ARMENIAN CAPITAL LETTER REH
-0551 ARMENIAN CAPITAL LETTER CO
-0552 ARMENIAN CAPITAL LETTER YIWN
-0553 ARMENIAN CAPITAL LETTER PIWR
-0554 ARMENIAN CAPITAL LETTER KEH
-0555 ARMENIAN CAPITAL LETTER OH
-0556 ARMENIAN CAPITAL LETTER FEH
-@ Modifier letters
-0559 ARMENIAN MODIFIER LETTER LEFT HALF RING
- x (modifier letter reversed comma - 02BD)
- x (modifier letter left half ring - 02BF)
- x (combining reversed comma above - 0314)
-055A ARMENIAN APOSTROPHE
- = armenian modifier letter right half ring (1.0)
- x (modifier letter apostrophe - 02BC)
- x (modifier letter right half ring - 02BE)
- x (combining comma above - 0313)
-055B ARMENIAN EMPHASIS MARK
- = shesht
- x (modifier letter acute accent - 02CA)
-055C ARMENIAN EXCLAMATION MARK
- = batsaganchakan nshan
-055D ARMENIAN COMMA
- = bowt
- x (modifier letter grave accent - 02CB)
-055E ARMENIAN QUESTION MARK
- = hartsakan nshan
-055F ARMENIAN ABBREVIATION MARK
- = patiw
-@ Lowercase letters
-0561 ARMENIAN SMALL LETTER AYB
-0562 ARMENIAN SMALL LETTER BEN
-0563 ARMENIAN SMALL LETTER GIM
-0564 ARMENIAN SMALL LETTER DA
-0565 ARMENIAN SMALL LETTER ECH
-0566 ARMENIAN SMALL LETTER ZA
-0567 ARMENIAN SMALL LETTER EH
-0568 ARMENIAN SMALL LETTER ET
-0569 ARMENIAN SMALL LETTER TO
-056A ARMENIAN SMALL LETTER ZHE
-056B ARMENIAN SMALL LETTER INI
-056C ARMENIAN SMALL LETTER LIWN
-056D ARMENIAN SMALL LETTER XEH
-056E ARMENIAN SMALL LETTER CA
-056F ARMENIAN SMALL LETTER KEN
-0570 ARMENIAN SMALL LETTER HO
-0571 ARMENIAN SMALL LETTER JA
-0572 ARMENIAN SMALL LETTER GHAD
-0573 ARMENIAN SMALL LETTER CHEH
-0574 ARMENIAN SMALL LETTER MEN
-0575 ARMENIAN SMALL LETTER YI
-0576 ARMENIAN SMALL LETTER NOW
-0577 ARMENIAN SMALL LETTER SHA
-0578 ARMENIAN SMALL LETTER VO
-0579 ARMENIAN SMALL LETTER CHA
-057A ARMENIAN SMALL LETTER PEH
-057B ARMENIAN SMALL LETTER JHEH
-057C ARMENIAN SMALL LETTER RA
-057D ARMENIAN SMALL LETTER SEH
-057E ARMENIAN SMALL LETTER VEW
-057F ARMENIAN SMALL LETTER TIWN
-0580 ARMENIAN SMALL LETTER REH
-0581 ARMENIAN SMALL LETTER CO
-0582 ARMENIAN SMALL LETTER YIWN
-0583 ARMENIAN SMALL LETTER PIWR
-0584 ARMENIAN SMALL LETTER KEH
-0585 ARMENIAN SMALL LETTER OH
-0586 ARMENIAN SMALL LETTER FEH
-0587 ARMENIAN SMALL LIGATURE ECH YIWN
- # 0565 0582
-@ Punctuation
-0589 ARMENIAN FULL STOP
- = vertsaket
- * may also be used for Georgian
- x (colon - 003A)
-058A ARMENIAN HYPHEN
- = yentamna
-@@ 0590 Hebrew 05FF
-@ Cantillation marks
-0591 HEBREW ACCENT ETNAHTA
- = atnah
-0592 HEBREW ACCENT SEGOL
- = segolta
-0593 HEBREW ACCENT SHALSHELET
-0594 HEBREW ACCENT ZAQEF QATAN
-0595 HEBREW ACCENT ZAQEF GADOL
-0596 HEBREW ACCENT TIPEHA
- = tarha, me'ayla ~ mayla
-0597 HEBREW ACCENT REVIA
-0598 HEBREW ACCENT ZARQA
- = tsinorit, zinorit; tsinor, zinor
- * This character is to be used when Zarqa or Tsinor are placed above, and also for Tsinorit.
- x (hebrew accent zinor - 05AE)
-0599 HEBREW ACCENT PASHTA
-059A HEBREW ACCENT YETIV
-059B HEBREW ACCENT TEVIR
-059C HEBREW ACCENT GERESH
- = teres
-059D HEBREW ACCENT GERESH MUQDAM
-059E HEBREW ACCENT GERSHAYIM
-059F HEBREW ACCENT QARNEY PARA
- = pazer gadol
-05A0 HEBREW ACCENT TELISHA GEDOLA
-05A1 HEBREW ACCENT PAZER
- = pazer qatan
-05A2 HEBREW ACCENT ATNAH HAFUKH
- x (hebrew accent yerah ben yomo - 05AA)
-05A3 HEBREW ACCENT MUNAH
-05A4 HEBREW ACCENT MAHAPAKH
-05A5 HEBREW ACCENT MERKHA
- = yored
-05A6 HEBREW ACCENT MERKHA KEFULA
-05A7 HEBREW ACCENT DARGA
-05A8 HEBREW ACCENT QADMA
- = azla
-05A9 HEBREW ACCENT TELISHA QETANA
-05AA HEBREW ACCENT YERAH BEN YOMO
- = galgal
- x (hebrew accent atnah hafukh - 05A2)
-05AB HEBREW ACCENT OLE
-05AC HEBREW ACCENT ILUY
-05AD HEBREW ACCENT DEHI
-05AE HEBREW ACCENT ZINOR
- = tsinor; zarqa
- * This character is to be used when Zarqa or Tsinor are placed above left.
- x (hebrew accent zarqa - 0598)
-05AF HEBREW MARK MASORA CIRCLE
-@ Points and punctuation
-05B0 HEBREW POINT SHEVA
-05B1 HEBREW POINT HATAF SEGOL
-05B2 HEBREW POINT HATAF PATAH
-05B3 HEBREW POINT HATAF QAMATS
-05B4 HEBREW POINT HIRIQ
-05B5 HEBREW POINT TSERE
-05B6 HEBREW POINT SEGOL
-05B7 HEBREW POINT PATAH
- * furtive patah is not a distinct character
-05B8 HEBREW POINT QAMATS
- * used generically or as qamats gadol in orthography which distinguishes that from qamats qatan
- x (hebrew point qamats qatan - 05C7)
-05B9 HEBREW POINT HOLAM
-05BA HEBREW POINT HOLAM HASER FOR VAV
-05BB HEBREW POINT QUBUTS
-05BC HEBREW POINT DAGESH OR MAPIQ
- = shuruq
- * falls within the base letter
-05BD HEBREW POINT METEG
- = siluq
- * may be used as a Hebrew accent sof pasuq
-05BE HEBREW PUNCTUATION MAQAF
-05BF HEBREW POINT RAFE
- x (hebrew point judeo-spanish varika - FB1E)
-05C0 HEBREW PUNCTUATION PASEQ
- = legarmeh
- * may be treated as spacing punctuation, not as a point
- x (vertical line - 007C)
-05C1 HEBREW POINT SHIN DOT
-05C2 HEBREW POINT SIN DOT
-05C3 HEBREW PUNCTUATION SOF PASUQ
- * may be used as a Hebrew punctuation colon
- x (colon - 003A)
-@ Puncta extraordinaria
-05C4 HEBREW MARK UPPER DOT
-05C5 HEBREW MARK LOWER DOT
- * punctum extraordinarium (Psalms 27:13)
- x (hebrew point hiriq - 05B4)
-@ Points and punctuation
-05C6 HEBREW PUNCTUATION NUN HAFUKHA
- * does not historically derive from the letter nun
- x (hebrew letter nun - 05E0)
-05C7 HEBREW POINT QAMATS QATAN
- x (hebrew point qamats - 05B8)
-@ Based on ISO 8859-8
-05D0 HEBREW LETTER ALEF
- = aleph
- x (alef symbol - 2135)
-05D1 HEBREW LETTER BET
- x (bet symbol - 2136)
-05D2 HEBREW LETTER GIMEL
- x (gimel symbol - 2137)
-05D3 HEBREW LETTER DALET
- x (dalet symbol - 2138)
-05D4 HEBREW LETTER HE
-05D5 HEBREW LETTER VAV
-05D6 HEBREW LETTER ZAYIN
-05D7 HEBREW LETTER HET
-05D8 HEBREW LETTER TET
-05D9 HEBREW LETTER YOD
-05DA HEBREW LETTER FINAL KAF
-05DB HEBREW LETTER KAF
-05DC HEBREW LETTER LAMED
-05DD HEBREW LETTER FINAL MEM
-05DE HEBREW LETTER MEM
-05DF HEBREW LETTER FINAL NUN
-05E0 HEBREW LETTER NUN
-05E1 HEBREW LETTER SAMEKH
-05E2 HEBREW LETTER AYIN
-05E3 HEBREW LETTER FINAL PE
-05E4 HEBREW LETTER PE
-05E5 HEBREW LETTER FINAL TSADI
-05E6 HEBREW LETTER TSADI
- = zade
-05E7 HEBREW LETTER QOF
-05E8 HEBREW LETTER RESH
-05E9 HEBREW LETTER SHIN
-05EA HEBREW LETTER TAV
-@ Yiddish digraphs
-05F0 HEBREW LIGATURE YIDDISH DOUBLE VAV
- = tsvey vovn
-05F1 HEBREW LIGATURE YIDDISH VAV YOD
-05F2 HEBREW LIGATURE YIDDISH DOUBLE YOD
- = tsvey yudn
-@ Additional punctuation
-05F3 HEBREW PUNCTUATION GERESH
-05F4 HEBREW PUNCTUATION GERSHAYIM
-@@ 0600 Arabic 06FF
-@@+
-@ Subtending marks
-0600 ARABIC NUMBER SIGN
-0601 ARABIC SIGN SANAH
-0602 ARABIC FOOTNOTE MARKER
-0603 ARABIC SIGN SAFHA
-@ Radix symbols
-0606 ARABIC-INDIC CUBE ROOT
- x (cube root - 221B)
-0607 ARABIC-INDIC FOURTH ROOT
- x (fourth root - 221C)
-@ Letterlike symbol
-0608 ARABIC RAY
-@ Punctuation
-0609 ARABIC-INDIC PER MILLE SIGN
- x (per mille sign - 2030)
-060A ARABIC-INDIC PER TEN THOUSAND SIGN
- x (per ten thousand sign - 2031)
-@ Currency sign
-060B AFGHANI SIGN
-@ Punctuation
-060C ARABIC COMMA
- * also used with Thaana and Syriac in modern text
- x (comma - 002C)
-060D ARABIC DATE SEPARATOR
-@ Poetic marks
-060E ARABIC POETIC VERSE SIGN
-060F ARABIC SIGN MISRA
-@ Honorifics
-0610 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
- * represents sallallahu alayhe wasallam "may God's peace and blessings be upon him"
-0611 ARABIC SIGN ALAYHE ASSALLAM
- * represents alayhe assalam "upon him be peace"
-0612 ARABIC SIGN RAHMATULLAH ALAYHE
- * represents rahmatullah alayhe "may God have mercy upon him"
-0613 ARABIC SIGN RADI ALLAHOU ANHU
- * represents radi allahu 'anhu "may God be pleased with him"
-0614 ARABIC SIGN TAKHALLUS
- * sign placed over the name or nom-de-plume of a poet, or in some writings used to mark all proper names
-@ Koranic annotation sign
-0615 ARABIC SMALL HIGH TAH
- * marks a recommended pause position in some Korans published in Iran and Pakistan
- * should not be confused with the small TAH sign used as a diacritic for some letters such as 0679
-@ Extended Arabic mark
-0616 ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
- * early Persian
-@ Koranic annotation signs
-0617 ARABIC SMALL HIGH ZAIN
-0618 ARABIC SMALL FATHA
- * should not be confused with 064E FATHA
-0619 ARABIC SMALL DAMMA
- * should not be confused with 064F DAMMA
-061A ARABIC SMALL KASRA
- * should not be confused with 0650 KASRA
-@ Punctuation
-061B ARABIC SEMICOLON
- * also used with Thaana and Syriac in modern text
- x (semicolon - 003B)
-061E ARABIC TRIPLE DOT PUNCTUATION MARK
-061F ARABIC QUESTION MARK
- * also used with Thaana and Syriac in modern text
- x (question mark - 003F)
- x (reversed question mark - 2E2E)
-@ Based on ISO 8859-6
-0621 ARABIC LETTER HAMZA
- x (modifier letter right half ring - 02BE)
-0622 ARABIC LETTER ALEF WITH MADDA ABOVE
- : 0627 0653
-0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
- : 0627 0654
-0624 ARABIC LETTER WAW WITH HAMZA ABOVE
- : 0648 0654
-0625 ARABIC LETTER ALEF WITH HAMZA BELOW
- : 0627 0655
-0626 ARABIC LETTER YEH WITH HAMZA ABOVE
- : 064A 0654
-0627 ARABIC LETTER ALEF
-0628 ARABIC LETTER BEH
-0629 ARABIC LETTER TEH MARBUTA
-062A ARABIC LETTER TEH
-062B ARABIC LETTER THEH
-062C ARABIC LETTER JEEM
-062D ARABIC LETTER HAH
-062E ARABIC LETTER KHAH
-062F ARABIC LETTER DAL
-0630 ARABIC LETTER THAL
-0631 ARABIC LETTER REH
-0632 ARABIC LETTER ZAIN
-0633 ARABIC LETTER SEEN
-0634 ARABIC LETTER SHEEN
-0635 ARABIC LETTER SAD
-0636 ARABIC LETTER DAD
-0637 ARABIC LETTER TAH
-0638 ARABIC LETTER ZAH
-0639 ARABIC LETTER AIN
- x (latin small letter ezh reversed - 01B9)
- x (modifier letter left half ring - 02BF)
-063A ARABIC LETTER GHAIN
-@ Additions for early Persian and Azerbaijani
-063B ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-063D ARABIC LETTER FARSI YEH WITH INVERTED V
- * Azerbaijani
-063E ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-@ Based on ISO 8859-6
-0640 ARABIC TATWEEL
- = kashida
- * inserted to stretch characters
- * also used with Syriac
-0641 ARABIC LETTER FEH
-0642 ARABIC LETTER QAF
-0643 ARABIC LETTER KAF
-0644 ARABIC LETTER LAM
-0645 ARABIC LETTER MEEM
-0646 ARABIC LETTER NOON
-0647 ARABIC LETTER HEH
-0648 ARABIC LETTER WAW
-0649 ARABIC LETTER ALEF MAKSURA
- * represents YEH-shaped letter with no dots in any positional form
-064A ARABIC LETTER YEH
-@ Points from ISO 8859-6
-064B ARABIC FATHATAN
-064C ARABIC DAMMATAN
-064D ARABIC KASRATAN
-064E ARABIC FATHA
-064F ARABIC DAMMA
-0650 ARABIC KASRA
-0651 ARABIC SHADDA
-0652 ARABIC SUKUN
- * marks absence of a vowel after the base consonant
- * used in some Korans to mark a long vowel as ignored
- * can have a variety of shapes, including a circular one and a shape that looks like '06E1'
- x (arabic small high dotless head of khah - 06E1)
-@ Combining maddah and hamza
-0653 ARABIC MADDAH ABOVE
-0654 ARABIC HAMZA ABOVE
-0655 ARABIC HAMZA BELOW
-@ Other combining marks
-0656 ARABIC SUBSCRIPT ALEF
-0657 ARABIC INVERTED DAMMA
- = ulta pesh
- * Kashmiri, Urdu
-0658 ARABIC MARK NOON GHUNNA
- * Kashmiri and Baluchi
- * indicates nasalization in Urdu
-0659 ARABIC ZWARAKAY
- * Pashto
-065A ARABIC VOWEL SIGN SMALL V ABOVE
- * African languages
-065B ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
- * African languages
-065C ARABIC VOWEL SIGN DOT BELOW
- * African languages
-065D ARABIC REVERSED DAMMA
- * Ormuri, African languages
-065E ARABIC FATHA WITH TWO DOTS
- * Kalami
-@ Arabic-Indic digits
-@+ These digits are used with Arabic proper; for languages of Iran, Pakistan, and India, see the Eastern Arabic-Indic digits at 06F0..06F9.
-0660 ARABIC-INDIC DIGIT ZERO
-0661 ARABIC-INDIC DIGIT ONE
-0662 ARABIC-INDIC DIGIT TWO
-0663 ARABIC-INDIC DIGIT THREE
-0664 ARABIC-INDIC DIGIT FOUR
-0665 ARABIC-INDIC DIGIT FIVE
-0666 ARABIC-INDIC DIGIT SIX
-0667 ARABIC-INDIC DIGIT SEVEN
-0668 ARABIC-INDIC DIGIT EIGHT
-0669 ARABIC-INDIC DIGIT NINE
-@ Punctuation
-066A ARABIC PERCENT SIGN
- x (percent sign - 0025)
-066B ARABIC DECIMAL SEPARATOR
-066C ARABIC THOUSANDS SEPARATOR
- x (apostrophe - 0027)
- x (right single quotation mark - 2019)
-066D ARABIC FIVE POINTED STAR
- * appearance rather variable
- x (asterisk - 002A)
-@ Archaic letters
-066E ARABIC LETTER DOTLESS BEH
-066F ARABIC LETTER DOTLESS QAF
-@ Point
-0670 ARABIC LETTER SUPERSCRIPT ALEF
- * actually a vowel sign, despite the name
-@ Extended Arabic letters
-0671 ARABIC LETTER ALEF WASLA
- * Koranic Arabic
-0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
- * Baluchi, Kashmiri
-0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
- * Kashmiri
-0674 ARABIC LETTER HIGH HAMZA
- * Kazakh
- * forms digraphs
-0675 ARABIC LETTER HIGH HAMZA ALEF
- * Kazakh
- # 0627 0674
-0676 ARABIC LETTER HIGH HAMZA WAW
- * Kazakh
- # 0648 0674
-0677 ARABIC LETTER U WITH HAMZA ABOVE
- * Kazakh
- # 06C7 0674
-0678 ARABIC LETTER HIGH HAMZA YEH
- * Kazakh
- # 064A 0674
-0679 ARABIC LETTER TTEH
- * Urdu
-067A ARABIC LETTER TTEHEH
- * Sindhi
-067B ARABIC LETTER BEEH
- * Sindhi
-067C ARABIC LETTER TEH WITH RING
- * Pashto
-067D ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
- * Sindhi
-067E ARABIC LETTER PEH
- * Persian, Urdu, ...
-067F ARABIC LETTER TEHEH
- * Sindhi
-0680 ARABIC LETTER BEHEH
- * Sindhi
-0681 ARABIC LETTER HAH WITH HAMZA ABOVE
- * Pashto letter "dze"
-0682 ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
- * not used in modern Pashto
-0683 ARABIC LETTER NYEH
- * Sindhi
-0684 ARABIC LETTER DYEH
- * Sindhi
-0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
- * Pashto, Khwarazmian
-0686 ARABIC LETTER TCHEH
- * Persian, Urdu, ...
-0687 ARABIC LETTER TCHEHEH
- * Sindhi
-0688 ARABIC LETTER DDAL
- * Urdu
-0689 ARABIC LETTER DAL WITH RING
- * Pashto
-068A ARABIC LETTER DAL WITH DOT BELOW
- * Sindhi, early Persian
-068B ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
- * Lahnda
-068C ARABIC LETTER DAHAL
- * Sindhi
-068D ARABIC LETTER DDAHAL
- * Sindhi
-068E ARABIC LETTER DUL
- * older shape for DUL, now obsolete in Sindhi
- * Burushaski
-068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
- * Sindhi
- * current shape used for DUL
-0690 ARABIC LETTER DAL WITH FOUR DOTS ABOVE
- * old Urdu, not in current use
-0691 ARABIC LETTER RREH
- * Urdu
-0692 ARABIC LETTER REH WITH SMALL V
- * Kurdish
-0693 ARABIC LETTER REH WITH RING
- * Pashto
-0694 ARABIC LETTER REH WITH DOT BELOW
- * Kurdish, early Persian
-0695 ARABIC LETTER REH WITH SMALL V BELOW
- * Kurdish
-0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
- * Pashto
-0697 ARABIC LETTER REH WITH TWO DOTS ABOVE
- * Dargwa
-0698 ARABIC LETTER JEH
- * Persian, Urdu, ...
-0699 ARABIC LETTER REH WITH FOUR DOTS ABOVE
- * Sindhi
-069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
- * Pashto
-069B ARABIC LETTER SEEN WITH THREE DOTS BELOW
- * early Persian
-069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
- * Moroccan Arabic
-069D ARABIC LETTER SAD WITH TWO DOTS BELOW
- * Turkic
-069E ARABIC LETTER SAD WITH THREE DOTS ABOVE
- * Berber, Burushaski
-069F ARABIC LETTER TAH WITH THREE DOTS ABOVE
- * old Hausa
-06A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE
- * old Malay
-06A1 ARABIC LETTER DOTLESS FEH
- * Adighe
-06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW
- * Maghrib Arabic
-06A3 ARABIC LETTER FEH WITH DOT BELOW
- * Ingush
-06A4 ARABIC LETTER VEH
- * Middle Eastern Arabic for foreign words
- * Kurdish, Khwarazmian, early Persian
-06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW
- * North African Arabic for foreign words
-06A6 ARABIC LETTER PEHEH
- * Sindhi
-06A7 ARABIC LETTER QAF WITH DOT ABOVE
- * Maghrib Arabic
-06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE
- * Tunisian Arabic
-06A9 ARABIC LETTER KEHEH
- * Persian, Urdu, ...
-06AA ARABIC LETTER SWASH KAF
-06AB ARABIC LETTER KAF WITH RING
- * Pashto
- * may appear like an Arabic KAF (0643) with a ring below the base
-06AC ARABIC LETTER KAF WITH DOT ABOVE
- * old Malay
-06AD ARABIC LETTER NG
- * Uighur, Kazakh, old Malay, early Persian, ...
-06AE ARABIC LETTER KAF WITH THREE DOTS BELOW
- * Berber, early Persian
-06AF ARABIC LETTER GAF
- * Persian, Urdu, ...
-06B0 ARABIC LETTER GAF WITH RING
- * Lahnda
-06B1 ARABIC LETTER NGOEH
- * Sindhi
-06B2 ARABIC LETTER GAF WITH TWO DOTS BELOW
- * not used in Sindhi
-06B3 ARABIC LETTER GUEH
- * Sindhi
-06B4 ARABIC LETTER GAF WITH THREE DOTS ABOVE
- * not used in Sindhi
-06B5 ARABIC LETTER LAM WITH SMALL V
- * Kurdish
-06B6 ARABIC LETTER LAM WITH DOT ABOVE
- * Kurdish
-06B7 ARABIC LETTER LAM WITH THREE DOTS ABOVE
- * Kurdish
-06B8 ARABIC LETTER LAM WITH THREE DOTS BELOW
-06B9 ARABIC LETTER NOON WITH DOT BELOW
-06BA ARABIC LETTER NOON GHUNNA
- * Urdu
-06BB ARABIC LETTER RNOON
- * Sindhi
-06BC ARABIC LETTER NOON WITH RING
- * Pashto
-06BD ARABIC LETTER NOON WITH THREE DOTS ABOVE
- * old Malay
-06BE ARABIC LETTER HEH DOACHASHMEE
- * Urdu
- * forms aspirate digraphs
-06BF ARABIC LETTER TCHEH WITH DOT ABOVE
-06C0 ARABIC LETTER HEH WITH YEH ABOVE
- = arabic letter hamzah on ha (1.0)
- = izafet
- * Urdu
- * actually a ligature, not an independent letter
- : 06D5 0654
-06C1 ARABIC LETTER HEH GOAL
- * Urdu
-06C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
- * Urdu
- * actually a ligature, not an independent letter
- : 06C1 0654
-06C3 ARABIC LETTER TEH MARBUTA GOAL
- * Urdu
-06C4 ARABIC LETTER WAW WITH RING
- * Kashmiri
-06C5 ARABIC LETTER KIRGHIZ OE
- * Kirghiz
-06C6 ARABIC LETTER OE
- * Uighur, Kurdish, Kazakh, Azerbaijani
-06C7 ARABIC LETTER U
- * Kirghiz, Azerbaijani
-06C8 ARABIC LETTER YU
- * Uighur
-06C9 ARABIC LETTER KIRGHIZ YU
- * Kazakh, Kirghiz
-06CA ARABIC LETTER WAW WITH TWO DOTS ABOVE
- * Kurdish
-06CB ARABIC LETTER VE
- * Uighur, Kazakh
-06CC ARABIC LETTER FARSI YEH
- * Arabic, Persian, Urdu, ...
- * initial and medial forms of this letter have dots
- x (arabic letter alef maksura - 0649)
- x (arabic letter yeh - 064A)
-06CD ARABIC LETTER YEH WITH TAIL
- * Pashto, Sindhi
-06CE ARABIC LETTER YEH WITH SMALL V
- * Kurdish
-06CF ARABIC LETTER WAW WITH DOT ABOVE
-06D0 ARABIC LETTER E
- * Pashto, Uighur
- * used as the letter bbeh in Sindhi
-06D1 ARABIC LETTER YEH WITH THREE DOTS BELOW
- * old Malay
-06D2 ARABIC LETTER YEH BARREE
- * Urdu
-06D3 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
- * Urdu
- * actually a ligature, not an independent letter
- : 06D2 0654
-@ Punctuation
-06D4 ARABIC FULL STOP
- * Urdu
-@ Extended Arabic letter
-06D5 ARABIC LETTER AE
- * Uighur, Kazakh, Kirghiz
-@ Koranic annotation signs
-06D6 ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
-06D7 ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
-06D8 ARABIC SMALL HIGH MEEM INITIAL FORM
-06D9 ARABIC SMALL HIGH LAM ALEF
-06DA ARABIC SMALL HIGH JEEM
-06DB ARABIC SMALL HIGH THREE DOTS
-06DC ARABIC SMALL HIGH SEEN
-06DD ARABIC END OF AYAH
-06DE ARABIC START OF RUB EL HIZB
-06DF ARABIC SMALL HIGH ROUNDED ZERO
- * smaller than the typical circular shape used for 0652
-06E0 ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
-06E1 ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
- = Arabic jazm
- * presentation form of 0652, using font technology to select the variant is preferred
- * used in some Korans to mark absence of a vowel
- x (arabic sukun - 0652)
-06E2 ARABIC SMALL HIGH MEEM ISOLATED FORM
-06E3 ARABIC SMALL LOW SEEN
-06E4 ARABIC SMALL HIGH MADDA
-06E5 ARABIC SMALL WAW
-06E6 ARABIC SMALL YEH
-06E7 ARABIC SMALL HIGH YEH
-06E8 ARABIC SMALL HIGH NOON
-06E9 ARABIC PLACE OF SAJDAH
- * there is a range of acceptable glyphs for this character
-06EA ARABIC EMPTY CENTRE LOW STOP
-06EB ARABIC EMPTY CENTRE HIGH STOP
-06EC ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
-06ED ARABIC SMALL LOW MEEM
-@ Extended Arabic letters for Parkari
-06EE ARABIC LETTER DAL WITH INVERTED V
-06EF ARABIC LETTER REH WITH INVERTED V
- * also used in early Persian
-@ Eastern Arabic-Indic digits
-@+ These digits are used with Arabic-script languages of Iran, Pakistan, and India (Persian, Sindhi, Urdu, etc.). For details of variations in preferred glyphs, see the block description for the Arabic script.
-06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
-06F1 EXTENDED ARABIC-INDIC DIGIT ONE
-06F2 EXTENDED ARABIC-INDIC DIGIT TWO
-06F3 EXTENDED ARABIC-INDIC DIGIT THREE
-06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
- * Persian has a different glyph than Sindhi and Urdu
-06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
- * Persian, Sindhi, and Urdu share glyph different from Arabic
-06F6 EXTENDED ARABIC-INDIC DIGIT SIX
- * Persian, Sindhi, and Urdu have glyphs different from Arabic
-06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
- * Urdu and Sindhi have glyphs different from Arabic
-06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
-06F9 EXTENDED ARABIC-INDIC DIGIT NINE
-@ Extended Arabic letters
-06FA ARABIC LETTER SHEEN WITH DOT BELOW
-06FB ARABIC LETTER DAD WITH DOT BELOW
-06FC ARABIC LETTER GHAIN WITH DOT BELOW
-@ Signs for Sindhi
-06FD ARABIC SIGN SINDHI AMPERSAND
-06FE ARABIC SIGN SINDHI POSTPOSITION MEN
-@ Extended Arabic letter for Parkari
-06FF ARABIC LETTER HEH WITH INVERTED V
-@@ 0700 Syriac 074F
-@ Syriac punctuation and signs
-0700 SYRIAC END OF PARAGRAPH
- * marks the end of a paragraph
-0701 SYRIAC SUPRALINEAR FULL STOP
- * marks interrogations, imperatives, and pauses, especially in Biblical texts
-0702 SYRIAC SUBLINEAR FULL STOP
- * marks subordinate clauses and minor pauses, especially in Biblical texts
-0703 SYRIAC SUPRALINEAR COLON
- * marks expressions of wonder and has a distinct pausal value in Biblical texts
-0704 SYRIAC SUBLINEAR COLON
- * used at the end of verses of supplications
-0705 SYRIAC HORIZONTAL COLON
- * joins two words closely together in a context to which a rising tone is suitable
-0706 SYRIAC COLON SKEWED LEFT
- * marks a dependent clause
-0707 SYRIAC COLON SKEWED RIGHT
- * marks the end of a subdivision of the apodosis, or latter part of a Biblical verse
-0708 SYRIAC SUPRALINEAR COLON SKEWED LEFT
- * marks a minor phrase division
-0709 SYRIAC SUBLINEAR COLON SKEWED RIGHT
- * marks the end of a real or rhetorical question
-070A SYRIAC CONTRACTION
- * a contraction mark, mostly used in East Syriac
- * placed at the end of an incomplete word
-070B SYRIAC HARKLEAN OBELUS
- * marks the beginning of a phrase, word, or morpheme that has a marginal note
-070C SYRIAC HARKLEAN METOBELUS
- * marks the end of a section with a marginal note
-070D SYRIAC HARKLEAN ASTERISCUS
- * marks the beginning of a phrase, word, or morpheme that has a marginal note
-@ Syriac format control character
-070F SYRIAC ABBREVIATION MARK
- = SAM
- * marks the beginning of a Syriac abbreviation
-@ Syriac letters
-0710 SYRIAC LETTER ALAPH
-0711 SYRIAC LETTER SUPERSCRIPT ALAPH
- * used in East Syriac texts to indicate an etymological Alaph
-0712 SYRIAC LETTER BETH
-0713 SYRIAC LETTER GAMAL
-0714 SYRIAC LETTER GAMAL GARSHUNI
- * used in Garshuni documents
-0715 SYRIAC LETTER DALATH
-0716 SYRIAC LETTER DOTLESS DALATH RISH
- * ambiguous form for undifferentiated early dalath/rish
-0717 SYRIAC LETTER HE
-0718 SYRIAC LETTER WAW
-0719 SYRIAC LETTER ZAIN
-071A SYRIAC LETTER HETH
-071B SYRIAC LETTER TETH
-071C SYRIAC LETTER TETH GARSHUNI
- * used in Garshuni documents
-071D SYRIAC LETTER YUDH
-071E SYRIAC LETTER YUDH HE
- * mostly used in East Syriac texts
-071F SYRIAC LETTER KAPH
-0720 SYRIAC LETTER LAMADH
-0721 SYRIAC LETTER MIM
-0722 SYRIAC LETTER NUN
-0723 SYRIAC LETTER SEMKATH
-0724 SYRIAC LETTER FINAL SEMKATH
-0725 SYRIAC LETTER E
-0726 SYRIAC LETTER PE
-0727 SYRIAC LETTER REVERSED PE
- * used in Christian Palestinian Aramaic
-0728 SYRIAC LETTER SADHE
-0729 SYRIAC LETTER QAPH
-072A SYRIAC LETTER RISH
-072B SYRIAC LETTER SHIN
-072C SYRIAC LETTER TAW
-@ Persian letters
-072D SYRIAC LETTER PERSIAN BHETH
-072E SYRIAC LETTER PERSIAN GHAMAL
-072F SYRIAC LETTER PERSIAN DHALATH
-@ Syriac points (vowels)
-0730 SYRIAC PTHAHA ABOVE
-0731 SYRIAC PTHAHA BELOW
-0732 SYRIAC PTHAHA DOTTED
-0733 SYRIAC ZQAPHA ABOVE
-0734 SYRIAC ZQAPHA BELOW
-0735 SYRIAC ZQAPHA DOTTED
-0736 SYRIAC RBASA ABOVE
-0737 SYRIAC RBASA BELOW
-0738 SYRIAC DOTTED ZLAMA HORIZONTAL
-0739 SYRIAC DOTTED ZLAMA ANGULAR
-073A SYRIAC HBASA ABOVE
-073B SYRIAC HBASA BELOW
-073C SYRIAC HBASA-ESASA DOTTED
-073D SYRIAC ESASA ABOVE
-073E SYRIAC ESASA BELOW
-073F SYRIAC RWAHA
-@ Syriac marks
-0740 SYRIAC FEMININE DOT
- * feminine marker used with the Taw feminine suffix
-0741 SYRIAC QUSHSHAYA
- * indicates a plosive pronunciation
-0742 SYRIAC RUKKAKHA
- * indicates an aspirated (spirantized) pronunciation
-0743 SYRIAC TWO VERTICAL DOTS ABOVE
- * accent mark used in ancient manuscripts
-0744 SYRIAC TWO VERTICAL DOTS BELOW
- * accent mark used in ancient manuscripts
-0745 SYRIAC THREE DOTS ABOVE
- * diacritic used in Turoyo for letters not found in Syriac
-0746 SYRIAC THREE DOTS BELOW
- * diacritic used in Turoyo for letters not found in Syriac
-0747 SYRIAC OBLIQUE LINE ABOVE
- * indication of a silent letter
-0748 SYRIAC OBLIQUE LINE BELOW
- * indication of a silent letter
- * also used to indicate numbers multiplied by a certain constant
-0749 SYRIAC MUSIC
- * a music mark
- * also used in the Syrian Orthodox Anaphora book to mark the breaking of the Eucharist bread
-074A SYRIAC BARREKH
- * a diacritic cross used in liturgical texts
-@ Sogdian letters
-074D SYRIAC LETTER SOGDIAN ZHAIN
-074E SYRIAC LETTER SOGDIAN KHAPH
-074F SYRIAC LETTER SOGDIAN FE
-@@ 0750 Arabic Supplement 077F
-@ Extended Arabic letters
-@+ These are primarily used in Arabic-script orthographies of African languages.
-0750 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754 ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755 ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756 ARABIC LETTER BEH WITH SMALL V
-0757 ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758 ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-0759 ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
- * Saraiki
-075A ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-075B ARABIC LETTER REH WITH STROKE
-075C ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
- * Shina
-075D ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0760 ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761 ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-0762 ARABIC LETTER KEHEH WITH DOT ABOVE
- * old Malay, preferred to 06AC
- x (arabic letter kaf with dot above - 06AC)
-0763 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
- * Moroccan Arabic, Amazigh, Burushaski
- x (arabic letter ng - 06AD)
-0764 ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0765 ARABIC LETTER MEEM WITH DOT ABOVE
-0766 ARABIC LETTER MEEM WITH DOT BELOW
- * Maba
-0767 ARABIC LETTER NOON WITH TWO DOTS BELOW
- * Arwi
-0768 ARABIC LETTER NOON WITH SMALL TAH
- * Saraiki, Pathwari
-0769 ARABIC LETTER NOON WITH SMALL V
- * Gojri
-076A ARABIC LETTER LAM WITH BAR
-076B ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
- * Torwali, Ormuri
-076C ARABIC LETTER REH WITH HAMZA ABOVE
- * Ormuri
-076D ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
- * Kalami, Ormuri
-@ Additions for Khowar
-076E ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0770 ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0771 ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-@ Addition for Torwali
-0772 ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-@ Additions for Burushaski
-0773 ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774 ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0775 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777 ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-0778 ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779 ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077A ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-077C ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-077D ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-@ Additions for early Persian
-077E ARABIC LETTER SEEN WITH INVERTED V
-077F ARABIC LETTER KAF WITH TWO DOTS ABOVE
-@@ 0780 Thaana 07BF
-@ Basic consonants
-0780 THAANA LETTER HAA
-0781 THAANA LETTER SHAVIYANI
-0782 THAANA LETTER NOONU
-0783 THAANA LETTER RAA
-0784 THAANA LETTER BAA
-0785 THAANA LETTER LHAVIYANI
-0786 THAANA LETTER KAAFU
-0787 THAANA LETTER ALIFU
-0788 THAANA LETTER VAAVU
-0789 THAANA LETTER MEEMU
-078A THAANA LETTER FAAFU
-078B THAANA LETTER DHAALU
-078C THAANA LETTER THAA
-078D THAANA LETTER LAAMU
-078E THAANA LETTER GAAFU
-078F THAANA LETTER GNAVIYANI
-0790 THAANA LETTER SEENU
-0791 THAANA LETTER DAVIYANI
-0792 THAANA LETTER ZAVIYANI
-0793 THAANA LETTER TAVIYANI
-0794 THAANA LETTER YAA
-0795 THAANA LETTER PAVIYANI
-0796 THAANA LETTER JAVIYANI
-0797 THAANA LETTER CHAVIYANI
-@ Extensions for Arabic
-0798 THAANA LETTER TTAA
-0799 THAANA LETTER HHAA
-079A THAANA LETTER KHAA
-079B THAANA LETTER THAALU
-079C THAANA LETTER ZAA
-079D THAANA LETTER SHEENU
-079E THAANA LETTER SAADHU
-079F THAANA LETTER DAADHU
-07A0 THAANA LETTER TO
-07A1 THAANA LETTER ZO
-07A2 THAANA LETTER AINU
-07A3 THAANA LETTER GHAINU
-07A4 THAANA LETTER QAAFU
-07A5 THAANA LETTER WAAVU
-@ Vowels
-07A6 THAANA ABAFILI
-07A7 THAANA AABAAFILI
-07A8 THAANA IBIFILI
-07A9 THAANA EEBEEFILI
-07AA THAANA UBUFILI
-07AB THAANA OOBOOFILI
-07AC THAANA EBEFILI
-07AD THAANA EYBEYFILI
-07AE THAANA OBOFILI
-07AF THAANA OABOAFILI
-07B0 THAANA SUKUN
-@ Consonant for Addu dialect
-07B1 THAANA LETTER NAA
-@@ 07C0 NKo 07FF
-@ Digits
-07C0 NKO DIGIT ZERO
-07C1 NKO DIGIT ONE
-07C2 NKO DIGIT TWO
-07C3 NKO DIGIT THREE
-07C4 NKO DIGIT FOUR
-07C5 NKO DIGIT FIVE
-07C6 NKO DIGIT SIX
-07C7 NKO DIGIT SEVEN
-07C8 NKO DIGIT EIGHT
-07C9 NKO DIGIT NINE
-@ Letters
-07CA NKO LETTER A
-07CB NKO LETTER EE
-07CC NKO LETTER I
-07CD NKO LETTER E
-07CE NKO LETTER U
-07CF NKO LETTER OO
-07D0 NKO LETTER O
-07D1 NKO LETTER DAGBASINNA
-07D2 NKO LETTER N
-07D3 NKO LETTER BA
-07D4 NKO LETTER PA
-07D5 NKO LETTER TA
-07D6 NKO LETTER JA
-07D7 NKO LETTER CHA
-07D8 NKO LETTER DA
-07D9 NKO LETTER RA
-07DA NKO LETTER RRA
-07DB NKO LETTER SA
-07DC NKO LETTER GBA
-07DD NKO LETTER FA
-07DE NKO LETTER KA
-07DF NKO LETTER LA
-07E0 NKO LETTER NA WOLOSO
-07E1 NKO LETTER MA
-07E2 NKO LETTER NYA
-07E3 NKO LETTER NA
-07E4 NKO LETTER HA
-07E5 NKO LETTER WA
-07E6 NKO LETTER YA
-07E7 NKO LETTER NYA WOLOSO
-@ Archaic letters
-07E8 NKO LETTER JONA JA
-07E9 NKO LETTER JONA CHA
-07EA NKO LETTER JONA RA
- x (nko letter ra - 07D9)
-@ Tone marks
-07EB NKO COMBINING SHORT HIGH TONE
- x (combining macron - 0304)
-07EC NKO COMBINING SHORT LOW TONE
- x (combining tilde - 0303)
-07ED NKO COMBINING SHORT RISING TONE
- x (combining dot above - 0307)
-07EE NKO COMBINING LONG DESCENDING TONE
- x (combining circumflex accent - 0302)
-07EF NKO COMBINING LONG HIGH TONE
-07F0 NKO COMBINING LONG LOW TONE
-07F1 NKO COMBINING LONG RISING TONE
-07F2 NKO COMBINING NASALIZATION MARK
- x (combining dot below - 0323)
-07F3 NKO COMBINING DOUBLE DOT ABOVE
- x (combining diaeresis - 0308)
-07F4 NKO HIGH TONE APOSTROPHE
- x (modifier letter apostrophe - 02BC)
-07F5 NKO LOW TONE APOSTROPHE
- x (modifier letter turned comma - 02BB)
-@ Symbol
-07F6 NKO SYMBOL OO DENNEN
-@ Punctuation
-07F7 NKO SYMBOL GBAKURUNEN
-07F8 NKO COMMA
-07F9 NKO EXCLAMATION MARK
-@ Letter extender
-07FA NKO LAJANYALAN
- x (low line - 005F)
- x (arabic tatweel - 0640)
-@@ 0800 Samaritan 083F
-@ Letters
-0800 SAMARITAN LETTER ALAF
-0801 SAMARITAN LETTER BIT
-0802 SAMARITAN LETTER GAMAN
-0803 SAMARITAN LETTER DALAT
-0804 SAMARITAN LETTER IY
-0805 SAMARITAN LETTER BAA
-0806 SAMARITAN LETTER ZEN
-0807 SAMARITAN LETTER IT
-0808 SAMARITAN LETTER TIT
-0809 SAMARITAN LETTER YUT
-080A SAMARITAN LETTER KAAF
-080B SAMARITAN LETTER LABAT
-080C SAMARITAN LETTER MIM
-080D SAMARITAN LETTER NUN
-080E SAMARITAN LETTER SINGAAT
-080F SAMARITAN LETTER IN
-0810 SAMARITAN LETTER FI
-0811 SAMARITAN LETTER TSAADIY
-0812 SAMARITAN LETTER QUF
-0813 SAMARITAN LETTER RISH
-0814 SAMARITAN LETTER SHAN
-0815 SAMARITAN LETTER TAAF
-@ Consonant modifiers
-0816 SAMARITAN MARK IN
-0817 SAMARITAN MARK IN-ALAF
-0818 SAMARITAN MARK OCCLUSION
-0819 SAMARITAN MARK DAGESH
-081A SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B SAMARITAN MARK EPENTHETIC YUT
-@ Vowel signs
-081C SAMARITAN VOWEL SIGN LONG E
- = fatha al-nida
-081D SAMARITAN VOWEL SIGN E
-081E SAMARITAN VOWEL SIGN OVERLONG AA
- = fatha al-ima
-081F SAMARITAN VOWEL SIGN LONG AA
-0820 SAMARITAN VOWEL SIGN AA
-0821 SAMARITAN VOWEL SIGN OVERLONG A
- = fatha al-iha
-0822 SAMARITAN VOWEL SIGN LONG A
-0823 SAMARITAN VOWEL SIGN A
-0824 SAMARITAN MODIFIER LETTER SHORT A
-0825 SAMARITAN VOWEL SIGN SHORT A
- = fatha
-0826 SAMARITAN VOWEL SIGN LONG U
- = damma
-0827 SAMARITAN VOWEL SIGN U
-0828 SAMARITAN MODIFIER LETTER I
-0829 SAMARITAN VOWEL SIGN LONG I
- = kasra
-082A SAMARITAN VOWEL SIGN I
-082B SAMARITAN VOWEL SIGN O
-082C SAMARITAN VOWEL SIGN SUKUN
-@ Variant reading sign
-082D SAMARITAN MARK NEQUDAA
-@ Punctuation
-0830 SAMARITAN PUNCTUATION NEQUDAA
- = word separator
-0831 SAMARITAN PUNCTUATION AFSAAQ
- = interruption
-0832 SAMARITAN PUNCTUATION ANGED
- = restraint
-0833 SAMARITAN PUNCTUATION BAU
- = prayer
-0834 SAMARITAN PUNCTUATION ATMAAU
- = surprise
-0835 SAMARITAN PUNCTUATION SHIYYAALAA
- = question
-0836 SAMARITAN ABBREVIATION MARK
-0837 SAMARITAN PUNCTUATION MELODIC QITSA
-0838 SAMARITAN PUNCTUATION ZIQAA
- = shouting
-0839 SAMARITAN PUNCTUATION QITSA
- = end of section
-083A SAMARITAN PUNCTUATION ZAEF
- = outburst
-083B SAMARITAN PUNCTUATION TURU
- = teaching
-083C SAMARITAN PUNCTUATION ARKAANU
- = submissiveness
-083D SAMARITAN PUNCTUATION SOF MASHFAAT
- = full stop
-083E SAMARITAN PUNCTUATION ANNAAU
- = rest
-@@ 0900 Devanagari 097F
-@@+
-@ Various signs
-0900 DEVANAGARI SIGN INVERTED CANDRABINDU
- = vaidika adhomukha candrabindu
-0901 DEVANAGARI SIGN CANDRABINDU
- = anunasika
- x (combining candrabindu - 0310)
-0902 DEVANAGARI SIGN ANUSVARA
- = bindu
-0903 DEVANAGARI SIGN VISARGA
-@ Independent vowels
-0904 DEVANAGARI LETTER SHORT A
-0905 DEVANAGARI LETTER A
-0906 DEVANAGARI LETTER AA
-0907 DEVANAGARI LETTER I
-0908 DEVANAGARI LETTER II
-0909 DEVANAGARI LETTER U
-090A DEVANAGARI LETTER UU
-090B DEVANAGARI LETTER VOCALIC R
-090C DEVANAGARI LETTER VOCALIC L
-090D DEVANAGARI LETTER CANDRA E
-090E DEVANAGARI LETTER SHORT E
- * for transcribing Dravidian short e
-090F DEVANAGARI LETTER E
-0910 DEVANAGARI LETTER AI
-0911 DEVANAGARI LETTER CANDRA O
-0912 DEVANAGARI LETTER SHORT O
- * for transcribing Dravidian short o
-0913 DEVANAGARI LETTER O
-0914 DEVANAGARI LETTER AU
-@ Consonants
-0915 DEVANAGARI LETTER KA
-0916 DEVANAGARI LETTER KHA
-0917 DEVANAGARI LETTER GA
-0918 DEVANAGARI LETTER GHA
-0919 DEVANAGARI LETTER NGA
-091A DEVANAGARI LETTER CA
-091B DEVANAGARI LETTER CHA
-091C DEVANAGARI LETTER JA
-091D DEVANAGARI LETTER JHA
-091E DEVANAGARI LETTER NYA
-091F DEVANAGARI LETTER TTA
-0920 DEVANAGARI LETTER TTHA
-0921 DEVANAGARI LETTER DDA
-0922 DEVANAGARI LETTER DDHA
-0923 DEVANAGARI LETTER NNA
-0924 DEVANAGARI LETTER TA
-0925 DEVANAGARI LETTER THA
-0926 DEVANAGARI LETTER DA
-0927 DEVANAGARI LETTER DHA
-0928 DEVANAGARI LETTER NA
-0929 DEVANAGARI LETTER NNNA
- * for transcribing Dravidian alveolar n
- : 0928 093C
-092A DEVANAGARI LETTER PA
-092B DEVANAGARI LETTER PHA
-092C DEVANAGARI LETTER BA
-092D DEVANAGARI LETTER BHA
-092E DEVANAGARI LETTER MA
-092F DEVANAGARI LETTER YA
-0930 DEVANAGARI LETTER RA
-0931 DEVANAGARI LETTER RRA
- * for transcribing Dravidian alveolar r
- * half form is represented as "Eyelash RA"
- : 0930 093C
-0932 DEVANAGARI LETTER LA
-0933 DEVANAGARI LETTER LLA
-0934 DEVANAGARI LETTER LLLA
- * for transcribing Dravidian l
- : 0933 093C
-0935 DEVANAGARI LETTER VA
-0936 DEVANAGARI LETTER SHA
-0937 DEVANAGARI LETTER SSA
-0938 DEVANAGARI LETTER SA
-0939 DEVANAGARI LETTER HA
-@ Various signs
-093C DEVANAGARI SIGN NUKTA
- * for extending the alphabet to new letters
-093D DEVANAGARI SIGN AVAGRAHA
-@ Dependent vowel signs
-093E DEVANAGARI VOWEL SIGN AA
-093F DEVANAGARI VOWEL SIGN I
- * stands to the left of the consonant
-0940 DEVANAGARI VOWEL SIGN II
-0941 DEVANAGARI VOWEL SIGN U
-0942 DEVANAGARI VOWEL SIGN UU
-0943 DEVANAGARI VOWEL SIGN VOCALIC R
-0944 DEVANAGARI VOWEL SIGN VOCALIC RR
-0945 DEVANAGARI VOWEL SIGN CANDRA E
- = candra
-0946 DEVANAGARI VOWEL SIGN SHORT E
- * for transcribing Dravidian vowels
-0947 DEVANAGARI VOWEL SIGN E
-0948 DEVANAGARI VOWEL SIGN AI
-0949 DEVANAGARI VOWEL SIGN CANDRA O
-094A DEVANAGARI VOWEL SIGN SHORT O
- * for transcribing Dravidian vowels
-094B DEVANAGARI VOWEL SIGN O
-094C DEVANAGARI VOWEL SIGN AU
-@ Virama
-094D DEVANAGARI SIGN VIRAMA
- = halant (the preferred Hindi name)
- * suppresses inherent vowel
-@ Archaic dependent vowel sign
-094E DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
- * character has historic use only
- * combines with E to form AI, with AA to form O, and with O to form AU
-@ Sign
-0950 DEVANAGARI OM
-@ Vedic tone marks
-0951 DEVANAGARI STRESS SIGN UDATTA
- = Vedic tone svarita
- * mostly used for Rigvedic svarita, with rare use for Yajurvedic udatta
- * used also in Vedic texts written in other scripts
- x (vedic tone double svarita - 1CDA)
-0952 DEVANAGARI STRESS SIGN ANUDATTA
- = Vedic tone anudatta
- * used also in Vedic texts written in other scripts
- x (vedic tone kathaka anudatta - 1CDC)
-@ Accent marks
-0953 DEVANAGARI GRAVE ACCENT
- x (combining grave accent - 0300)
-0954 DEVANAGARI ACUTE ACCENT
- x (combining acute accent - 0301)
-0955 DEVANAGARI VOWEL SIGN CANDRA LONG E
- * used in transliteration of Avestan
-@ Additional consonants
-0958 DEVANAGARI LETTER QA
- : 0915 093C
-0959 DEVANAGARI LETTER KHHA
- : 0916 093C
-095A DEVANAGARI LETTER GHHA
- : 0917 093C
-095B DEVANAGARI LETTER ZA
- : 091C 093C
-095C DEVANAGARI LETTER DDDHA
- : 0921 093C
-095D DEVANAGARI LETTER RHA
- : 0922 093C
-095E DEVANAGARI LETTER FA
- : 092B 093C
-095F DEVANAGARI LETTER YYA
- : 092F 093C
-@ Additional vowels for Sanskrit
-0960 DEVANAGARI LETTER VOCALIC RR
-0961 DEVANAGARI LETTER VOCALIC LL
-0962 DEVANAGARI VOWEL SIGN VOCALIC L
-0963 DEVANAGARI VOWEL SIGN VOCALIC LL
-@ Generic punctuation for scripts of India
-@+ These punctuation marks are for common use for the scripts of India despite being named "DEVANAGARI".
-0964 DEVANAGARI DANDA
- = purna viram
- * phrase separator
-0965 DEVANAGARI DOUBLE DANDA
- = deergh viram
-@ Digits
-0966 DEVANAGARI DIGIT ZERO
-0967 DEVANAGARI DIGIT ONE
-0968 DEVANAGARI DIGIT TWO
-0969 DEVANAGARI DIGIT THREE
-096A DEVANAGARI DIGIT FOUR
-096B DEVANAGARI DIGIT FIVE
-096C DEVANAGARI DIGIT SIX
-096D DEVANAGARI DIGIT SEVEN
-096E DEVANAGARI DIGIT EIGHT
-096F DEVANAGARI DIGIT NINE
-@ Devanagari-specific additions
-0970 DEVANAGARI ABBREVIATION SIGN
-0971 DEVANAGARI SIGN HIGH SPACING DOT
-@ Additional vowel for Marathi
-0972 DEVANAGARI LETTER CANDRA A
- * Marathi
-@ Additional consonants
-0979 DEVANAGARI LETTER ZHA
- * used in transliteration of Avestan
-097A DEVANAGARI LETTER HEAVY YA
- * used for an affricated glide JJYA
-@ Sindhi implosives
-097B DEVANAGARI LETTER GGA
-097C DEVANAGARI LETTER JJA
-@ Glottal stop
-097D DEVANAGARI LETTER GLOTTAL STOP
- * used for writing Limbu in Devanagari
- * a glyph variant has the connecting top bar
-@ Sindhi implosives
-097E DEVANAGARI LETTER DDDA
-097F DEVANAGARI LETTER BBA
-@@ 0980 Bengali 09FF
-@ Various signs
-0981 BENGALI SIGN CANDRABINDU
-0982 BENGALI SIGN ANUSVARA
-0983 BENGALI SIGN VISARGA
-@ Independent vowels
-0985 BENGALI LETTER A
-0986 BENGALI LETTER AA
-0987 BENGALI LETTER I
-0988 BENGALI LETTER II
-0989 BENGALI LETTER U
-098A BENGALI LETTER UU
-098B BENGALI LETTER VOCALIC R
-098C BENGALI LETTER VOCALIC L
-098F BENGALI LETTER E
-0990 BENGALI LETTER AI
-0993 BENGALI LETTER O
-0994 BENGALI LETTER AU
-@ Consonants
-0995 BENGALI LETTER KA
-0996 BENGALI LETTER KHA
-0997 BENGALI LETTER GA
-0998 BENGALI LETTER GHA
-0999 BENGALI LETTER NGA
-099A BENGALI LETTER CA
-099B BENGALI LETTER CHA
-099C BENGALI LETTER JA
-099D BENGALI LETTER JHA
-099E BENGALI LETTER NYA
-099F BENGALI LETTER TTA
-09A0 BENGALI LETTER TTHA
-09A1 BENGALI LETTER DDA
-09A2 BENGALI LETTER DDHA
-09A3 BENGALI LETTER NNA
-09A4 BENGALI LETTER TA
-09A5 BENGALI LETTER THA
-09A6 BENGALI LETTER DA
-09A7 BENGALI LETTER DHA
-09A8 BENGALI LETTER NA
-09AA BENGALI LETTER PA
-09AB BENGALI LETTER PHA
-09AC BENGALI LETTER BA
- = Bengali va, wa
-09AD BENGALI LETTER BHA
-09AE BENGALI LETTER MA
-09AF BENGALI LETTER YA
-09B0 BENGALI LETTER RA
-09B2 BENGALI LETTER LA
-09B6 BENGALI LETTER SHA
-09B7 BENGALI LETTER SSA
-09B8 BENGALI LETTER SA
-09B9 BENGALI LETTER HA
-@ Various signs
-09BC BENGALI SIGN NUKTA
- * for extending the alphabet to new letters
-09BD BENGALI SIGN AVAGRAHA
-@ Dependent vowel signs
-09BE BENGALI VOWEL SIGN AA
-09BF BENGALI VOWEL SIGN I
- * stands to the left of the consonant
-09C0 BENGALI VOWEL SIGN II
-09C1 BENGALI VOWEL SIGN U
-09C2 BENGALI VOWEL SIGN UU
-09C3 BENGALI VOWEL SIGN VOCALIC R
-09C4 BENGALI VOWEL SIGN VOCALIC RR
-09C7 BENGALI VOWEL SIGN E
- * stands to the left of the consonant
-09C8 BENGALI VOWEL SIGN AI
- * stands to the left of the consonant
-@ Two-part dependent vowel signs
-@+ These vowel signs have glyph pieces which stand on both sides of the consonant; they follow the consonant in logical order, and should be handled as a unit for most processing.
-09CB BENGALI VOWEL SIGN O
- : 09C7 09BE
-09CC BENGALI VOWEL SIGN AU
- : 09C7 09D7
-@ Virama
-09CD BENGALI SIGN VIRAMA
- = hasant (Bengali term for halant)
-@ Additional consonant
-09CE BENGALI LETTER KHANDA TA
- * a dead consonant form of ta, without implicit vowel, used in some sequences
-@ Sign
-09D7 BENGALI AU LENGTH MARK
-@ Additional consonants
-09DC BENGALI LETTER RRA
- : 09A1 09BC
-09DD BENGALI LETTER RHA
- : 09A2 09BC
-09DF BENGALI LETTER YYA
- : 09AF 09BC
-@ Additional vowels for Sanskrit
-09E0 BENGALI LETTER VOCALIC RR
-09E1 BENGALI LETTER VOCALIC LL
-09E2 BENGALI VOWEL SIGN VOCALIC L
-09E3 BENGALI VOWEL SIGN VOCALIC LL
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-09E4 <reserved>
- x (devanagari danda - 0964)
-09E5 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-09E6 BENGALI DIGIT ZERO
-09E7 BENGALI DIGIT ONE
-09E8 BENGALI DIGIT TWO
-09E9 BENGALI DIGIT THREE
-09EA BENGALI DIGIT FOUR
-09EB BENGALI DIGIT FIVE
-09EC BENGALI DIGIT SIX
-09ED BENGALI DIGIT SEVEN
-09EE BENGALI DIGIT EIGHT
-09EF BENGALI DIGIT NINE
-@ Bengali-specific additions
-09F0 BENGALI LETTER RA WITH MIDDLE DIAGONAL
- * Assamese
-09F1 BENGALI LETTER RA WITH LOWER DIAGONAL
- = bengali letter va with lower diagonal (1.0)
- * Assamese
-09F2 BENGALI RUPEE MARK
-09F3 BENGALI RUPEE SIGN
-09F4 BENGALI CURRENCY NUMERATOR ONE
- * not in current usage
-09F5 BENGALI CURRENCY NUMERATOR TWO
- * not in current usage
-09F6 BENGALI CURRENCY NUMERATOR THREE
- * not in current usage
-09F7 BENGALI CURRENCY NUMERATOR FOUR
-09F8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9 BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA BENGALI ISSHAR
-09FB BENGALI GANDA MARK
-@@ 0A00 Gurmukhi 0A7F
-@ Various signs
-0A01 GURMUKHI SIGN ADAK BINDI
-0A02 GURMUKHI SIGN BINDI
-0A03 GURMUKHI SIGN VISARGA
-@ Independent vowels
-0A05 GURMUKHI LETTER A
- = aira
-0A06 GURMUKHI LETTER AA
-0A07 GURMUKHI LETTER I
-0A08 GURMUKHI LETTER II
-0A09 GURMUKHI LETTER U
-0A0A GURMUKHI LETTER UU
-0A0F GURMUKHI LETTER EE
-0A10 GURMUKHI LETTER AI
-0A13 GURMUKHI LETTER OO
-0A14 GURMUKHI LETTER AU
-@ Consonants
-0A15 GURMUKHI LETTER KA
-0A16 GURMUKHI LETTER KHA
-0A17 GURMUKHI LETTER GA
-0A18 GURMUKHI LETTER GHA
-0A19 GURMUKHI LETTER NGA
-0A1A GURMUKHI LETTER CA
-0A1B GURMUKHI LETTER CHA
-0A1C GURMUKHI LETTER JA
-0A1D GURMUKHI LETTER JHA
-0A1E GURMUKHI LETTER NYA
-0A1F GURMUKHI LETTER TTA
-0A20 GURMUKHI LETTER TTHA
-0A21 GURMUKHI LETTER DDA
-0A22 GURMUKHI LETTER DDHA
-0A23 GURMUKHI LETTER NNA
-0A24 GURMUKHI LETTER TA
-0A25 GURMUKHI LETTER THA
-0A26 GURMUKHI LETTER DA
-0A27 GURMUKHI LETTER DHA
-0A28 GURMUKHI LETTER NA
-0A2A GURMUKHI LETTER PA
-0A2B GURMUKHI LETTER PHA
-0A2C GURMUKHI LETTER BA
-0A2D GURMUKHI LETTER BHA
-0A2E GURMUKHI LETTER MA
-0A2F GURMUKHI LETTER YA
-0A30 GURMUKHI LETTER RA
-0A32 GURMUKHI LETTER LA
-0A33 GURMUKHI LETTER LLA
- : 0A32 0A3C
-0A35 GURMUKHI LETTER VA
-0A36 GURMUKHI LETTER SHA
- : 0A38 0A3C
-0A38 GURMUKHI LETTER SA
-0A39 GURMUKHI LETTER HA
-@ Various signs
-0A3C GURMUKHI SIGN NUKTA
- = pairin bindi
- * for extending the alphabet to new letters
-@ Dependent vowel signs
-0A3E GURMUKHI VOWEL SIGN AA
- = kanna
-0A3F GURMUKHI VOWEL SIGN I
- = sihari
- * stands to the left of the consonant
-0A40 GURMUKHI VOWEL SIGN II
- = bihari
-0A41 GURMUKHI VOWEL SIGN U
- = aunkar
-0A42 GURMUKHI VOWEL SIGN UU
- = dulainkar
-0A47 GURMUKHI VOWEL SIGN EE
- = lanvan
-0A48 GURMUKHI VOWEL SIGN AI
- = dulanvan
-0A4B GURMUKHI VOWEL SIGN OO
- = hora
-0A4C GURMUKHI VOWEL SIGN AU
- = kanaura
-@ Virama
-0A4D GURMUKHI SIGN VIRAMA
-@ Sign
-0A51 GURMUKHI SIGN UDAAT
-@ Additional consonants
-0A59 GURMUKHI LETTER KHHA
- : 0A16 0A3C
-0A5A GURMUKHI LETTER GHHA
- : 0A17 0A3C
-0A5B GURMUKHI LETTER ZA
- : 0A1C 0A3C
-0A5C GURMUKHI LETTER RRA
-0A5E GURMUKHI LETTER FA
- : 0A2B 0A3C
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0A64 <reserved>
- x (devanagari danda - 0964)
-0A65 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0A66 GURMUKHI DIGIT ZERO
-0A67 GURMUKHI DIGIT ONE
-0A68 GURMUKHI DIGIT TWO
-0A69 GURMUKHI DIGIT THREE
-0A6A GURMUKHI DIGIT FOUR
-0A6B GURMUKHI DIGIT FIVE
-0A6C GURMUKHI DIGIT SIX
-0A6D GURMUKHI DIGIT SEVEN
-0A6E GURMUKHI DIGIT EIGHT
-0A6F GURMUKHI DIGIT NINE
-@ Gurmukhi-specific additions
-0A70 GURMUKHI TIPPI
- * nasalization
-0A71 GURMUKHI ADDAK
- * doubles following consonant
-0A72 GURMUKHI IRI
- * base for vowels
-0A73 GURMUKHI URA
- * base for vowels
-0A74 GURMUKHI EK ONKAR
- * God is One
-0A75 GURMUKHI SIGN YAKASH
-@@ 0A80 Gujarati 0AFF
-@ Various signs
-0A81 GUJARATI SIGN CANDRABINDU
-0A82 GUJARATI SIGN ANUSVARA
-0A83 GUJARATI SIGN VISARGA
-@ Independent vowels
-0A85 GUJARATI LETTER A
-0A86 GUJARATI LETTER AA
-0A87 GUJARATI LETTER I
-0A88 GUJARATI LETTER II
-0A89 GUJARATI LETTER U
-0A8A GUJARATI LETTER UU
-0A8B GUJARATI LETTER VOCALIC R
-0A8C GUJARATI LETTER VOCALIC L
- * used with Sanskrit text
-0A8D GUJARATI VOWEL CANDRA E
-0A8F GUJARATI LETTER E
-0A90 GUJARATI LETTER AI
-0A91 GUJARATI VOWEL CANDRA O
-0A93 GUJARATI LETTER O
-0A94 GUJARATI LETTER AU
-@ Consonants
-0A95 GUJARATI LETTER KA
-0A96 GUJARATI LETTER KHA
-0A97 GUJARATI LETTER GA
-0A98 GUJARATI LETTER GHA
-0A99 GUJARATI LETTER NGA
-0A9A GUJARATI LETTER CA
-0A9B GUJARATI LETTER CHA
-0A9C GUJARATI LETTER JA
-0A9D GUJARATI LETTER JHA
-0A9E GUJARATI LETTER NYA
-0A9F GUJARATI LETTER TTA
-0AA0 GUJARATI LETTER TTHA
-0AA1 GUJARATI LETTER DDA
-0AA2 GUJARATI LETTER DDHA
-0AA3 GUJARATI LETTER NNA
-0AA4 GUJARATI LETTER TA
-0AA5 GUJARATI LETTER THA
-0AA6 GUJARATI LETTER DA
-0AA7 GUJARATI LETTER DHA
-0AA8 GUJARATI LETTER NA
-0AAA GUJARATI LETTER PA
-0AAB GUJARATI LETTER PHA
-0AAC GUJARATI LETTER BA
-0AAD GUJARATI LETTER BHA
-0AAE GUJARATI LETTER MA
-0AAF GUJARATI LETTER YA
-0AB0 GUJARATI LETTER RA
-0AB2 GUJARATI LETTER LA
-0AB3 GUJARATI LETTER LLA
-0AB5 GUJARATI LETTER VA
-0AB6 GUJARATI LETTER SHA
-0AB7 GUJARATI LETTER SSA
-0AB8 GUJARATI LETTER SA
-0AB9 GUJARATI LETTER HA
-@ Various signs
-0ABC GUJARATI SIGN NUKTA
- * for extending the alphabet to new letters
-0ABD GUJARATI SIGN AVAGRAHA
-@ Dependent vowel signs
-0ABE GUJARATI VOWEL SIGN AA
-0ABF GUJARATI VOWEL SIGN I
- * stands to the left of the consonant
-0AC0 GUJARATI VOWEL SIGN II
-0AC1 GUJARATI VOWEL SIGN U
-0AC2 GUJARATI VOWEL SIGN UU
-0AC3 GUJARATI VOWEL SIGN VOCALIC R
-0AC4 GUJARATI VOWEL SIGN VOCALIC RR
-0AC5 GUJARATI VOWEL SIGN CANDRA E
-0AC7 GUJARATI VOWEL SIGN E
-0AC8 GUJARATI VOWEL SIGN AI
-0AC9 GUJARATI VOWEL SIGN CANDRA O
-0ACB GUJARATI VOWEL SIGN O
-0ACC GUJARATI VOWEL SIGN AU
-@ Virama
-0ACD GUJARATI SIGN VIRAMA
-@ Various signs
-0AD0 GUJARATI OM
-@ Additional vowels for Sanskrit
-0AE0 GUJARATI LETTER VOCALIC RR
-0AE1 GUJARATI LETTER VOCALIC LL
-0AE2 GUJARATI VOWEL SIGN VOCALIC L
-0AE3 GUJARATI VOWEL SIGN VOCALIC LL
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0AE4 <reserved>
- x (devanagari danda - 0964)
-0AE5 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0AE6 GUJARATI DIGIT ZERO
-0AE7 GUJARATI DIGIT ONE
-0AE8 GUJARATI DIGIT TWO
-0AE9 GUJARATI DIGIT THREE
-0AEA GUJARATI DIGIT FOUR
-0AEB GUJARATI DIGIT FIVE
-0AEC GUJARATI DIGIT SIX
-0AED GUJARATI DIGIT SEVEN
-0AEE GUJARATI DIGIT EIGHT
-0AEF GUJARATI DIGIT NINE
-@ Currency sign
-0AF1 GUJARATI RUPEE SIGN
-@@ 0B00 Oriya 0B7F
-@ Various signs
-0B01 ORIYA SIGN CANDRABINDU
-0B02 ORIYA SIGN ANUSVARA
-0B03 ORIYA SIGN VISARGA
-@ Independent vowels
-0B05 ORIYA LETTER A
-0B06 ORIYA LETTER AA
-0B07 ORIYA LETTER I
-0B08 ORIYA LETTER II
-0B09 ORIYA LETTER U
-0B0A ORIYA LETTER UU
-0B0B ORIYA LETTER VOCALIC R
-0B0C ORIYA LETTER VOCALIC L
-0B0F ORIYA LETTER E
-0B10 ORIYA LETTER AI
-0B13 ORIYA LETTER O
-0B14 ORIYA LETTER AU
-@ Consonants
-0B15 ORIYA LETTER KA
-0B16 ORIYA LETTER KHA
-0B17 ORIYA LETTER GA
-0B18 ORIYA LETTER GHA
-0B19 ORIYA LETTER NGA
-0B1A ORIYA LETTER CA
-0B1B ORIYA LETTER CHA
-0B1C ORIYA LETTER JA
-0B1D ORIYA LETTER JHA
-0B1E ORIYA LETTER NYA
-0B1F ORIYA LETTER TTA
-0B20 ORIYA LETTER TTHA
-0B21 ORIYA LETTER DDA
-0B22 ORIYA LETTER DDHA
-0B23 ORIYA LETTER NNA
-0B24 ORIYA LETTER TA
-0B25 ORIYA LETTER THA
-0B26 ORIYA LETTER DA
-0B27 ORIYA LETTER DHA
-0B28 ORIYA LETTER NA
-0B2A ORIYA LETTER PA
-0B2B ORIYA LETTER PHA
-0B2C ORIYA LETTER BA
- x (oriya letter va - 0B35)
-0B2D ORIYA LETTER BHA
-0B2E ORIYA LETTER MA
-0B2F ORIYA LETTER YA
- = ja
-0B30 ORIYA LETTER RA
-0B32 ORIYA LETTER LA
-0B33 ORIYA LETTER LLA
-0B35 ORIYA LETTER VA
- x (oriya letter ba - 0B2C)
-0B36 ORIYA LETTER SHA
-0B37 ORIYA LETTER SSA
-0B38 ORIYA LETTER SA
-0B39 ORIYA LETTER HA
-@ Various signs
-0B3C ORIYA SIGN NUKTA
- * for extending the alphabet to new letters
-0B3D ORIYA SIGN AVAGRAHA
-@ Dependent vowel signs
-0B3E ORIYA VOWEL SIGN AA
-0B3F ORIYA VOWEL SIGN I
-0B40 ORIYA VOWEL SIGN II
-0B41 ORIYA VOWEL SIGN U
-0B42 ORIYA VOWEL SIGN UU
-0B43 ORIYA VOWEL SIGN VOCALIC R
-0B44 ORIYA VOWEL SIGN VOCALIC RR
-0B47 ORIYA VOWEL SIGN E
- * stands to the left of the consonant
-0B48 ORIYA VOWEL SIGN AI
- * pieces left of and above the consonant
- : 0B47 0B56
-@ Two-part dependent vowel signs
-@+ These vowel signs have glyph pieces which stand on both sides of the consonant; they follow the consonant in logical order, and should be handled as a unit for most processing.
-0B4B ORIYA VOWEL SIGN O
- : 0B47 0B3E
-0B4C ORIYA VOWEL SIGN AU
- : 0B47 0B57
-@ Virama
-0B4D ORIYA SIGN VIRAMA
-@ Various signs
-0B56 ORIYA AI LENGTH MARK
-0B57 ORIYA AU LENGTH MARK
-@ Additional consonants
-0B5C ORIYA LETTER RRA
- = dda
- : 0B21 0B3C
-0B5D ORIYA LETTER RHA
- = ddha
- : 0B22 0B3C
-0B5F ORIYA LETTER YYA
- = ya
-@ Additional vowels for Sanskrit
-0B60 ORIYA LETTER VOCALIC RR
-0B61 ORIYA LETTER VOCALIC LL
-@ Dependent vowels
-0B62 ORIYA VOWEL SIGN VOCALIC L
-0B63 ORIYA VOWEL SIGN VOCALIC LL
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0B64 <reserved>
- x (devanagari danda - 0964)
-0B65 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0B66 ORIYA DIGIT ZERO
-0B67 ORIYA DIGIT ONE
-0B68 ORIYA DIGIT TWO
-0B69 ORIYA DIGIT THREE
-0B6A ORIYA DIGIT FOUR
-0B6B ORIYA DIGIT FIVE
-0B6C ORIYA DIGIT SIX
-0B6D ORIYA DIGIT SEVEN
-0B6E ORIYA DIGIT EIGHT
-0B6F ORIYA DIGIT NINE
-@ Oriya-specific additions
-0B70 ORIYA ISSHAR
-0B71 ORIYA LETTER WA
- x (oriya letter o - 0B13)
- x (oriya letter va - 0B35)
-@@ 0B80 Tamil 0BFF
-@ Various signs
-0B82 TAMIL SIGN ANUSVARA
- * not used in Tamil
-0B83 TAMIL SIGN VISARGA
- = aytham
-@ Independent vowels
-0B85 TAMIL LETTER A
-0B86 TAMIL LETTER AA
-0B87 TAMIL LETTER I
-0B88 TAMIL LETTER II
-0B89 TAMIL LETTER U
-0B8A TAMIL LETTER UU
-0B8E TAMIL LETTER E
-0B8F TAMIL LETTER EE
-0B90 TAMIL LETTER AI
-0B92 TAMIL LETTER O
-0B93 TAMIL LETTER OO
-0B94 TAMIL LETTER AU
- : 0B92 0BD7
-@ Consonants
-0B95 TAMIL LETTER KA
-0B99 TAMIL LETTER NGA
-0B9A TAMIL LETTER CA
-0B9C TAMIL LETTER JA
-0B9E TAMIL LETTER NYA
-0B9F TAMIL LETTER TTA
-0BA3 TAMIL LETTER NNA
-0BA4 TAMIL LETTER TA
-0BA8 TAMIL LETTER NA
-0BA9 TAMIL LETTER NNNA
-0BAA TAMIL LETTER PA
-0BAE TAMIL LETTER MA
-0BAF TAMIL LETTER YA
-0BB0 TAMIL LETTER RA
-0BB1 TAMIL LETTER RRA
-0BB2 TAMIL LETTER LA
-0BB3 TAMIL LETTER LLA
-0BB4 TAMIL LETTER LLLA
-0BB5 TAMIL LETTER VA
-0BB6 TAMIL LETTER SHA
-0BB7 TAMIL LETTER SSA
-0BB8 TAMIL LETTER SA
-0BB9 TAMIL LETTER HA
-@ Dependent vowel signs
-0BBE TAMIL VOWEL SIGN AA
-0BBF TAMIL VOWEL SIGN I
-0BC0 TAMIL VOWEL SIGN II
-0BC1 TAMIL VOWEL SIGN U
-0BC2 TAMIL VOWEL SIGN UU
-0BC6 TAMIL VOWEL SIGN E
- * stands to the left of the consonant
-0BC7 TAMIL VOWEL SIGN EE
- * stands to the left of the consonant
-0BC8 TAMIL VOWEL SIGN AI
- * stands to the left of the consonant
-@ Two-part dependent vowel signs
-@+ These vowel signs have glyph pieces which stand on both sides of the consonant; they follow the consonant in logical order, and should be handled as a unit for most processing.
-0BCA TAMIL VOWEL SIGN O
- : 0BC6 0BBE
-0BCB TAMIL VOWEL SIGN OO
- : 0BC7 0BBE
-0BCC TAMIL VOWEL SIGN AU
- : 0BC6 0BD7
-@ Virama
-0BCD TAMIL SIGN VIRAMA
-@ Various signs
-0BD0 TAMIL OM
-0BD7 TAMIL AU LENGTH MARK
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0BE4 <reserved>
- x (devanagari danda - 0964)
-0BE5 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0BE6 TAMIL DIGIT ZERO
-0BE7 TAMIL DIGIT ONE
-0BE8 TAMIL DIGIT TWO
-0BE9 TAMIL DIGIT THREE
-0BEA TAMIL DIGIT FOUR
-0BEB TAMIL DIGIT FIVE
-0BEC TAMIL DIGIT SIX
-0BED TAMIL DIGIT SEVEN
-0BEE TAMIL DIGIT EIGHT
-0BEF TAMIL DIGIT NINE
-@ Tamil numerics
-0BF0 TAMIL NUMBER TEN
-0BF1 TAMIL NUMBER ONE HUNDRED
-0BF2 TAMIL NUMBER ONE THOUSAND
-@ Tamil symbols
-0BF3 TAMIL DAY SIGN
- = naal
-0BF4 TAMIL MONTH SIGN
- = maatham
-0BF5 TAMIL YEAR SIGN
- = varudam
-0BF6 TAMIL DEBIT SIGN
- = patru
-0BF7 TAMIL CREDIT SIGN
- = varavu
-0BF8 TAMIL AS ABOVE SIGN
- = merpadi
-@ Currency symbol
-0BF9 TAMIL RUPEE SIGN
- = rupai
-@ Tamil symbol
-0BFA TAMIL NUMBER SIGN
- = enn
-@@ 0C00 Telugu 0C7F
-@ Various signs
-0C01 TELUGU SIGN CANDRABINDU
- = arasunna
-0C02 TELUGU SIGN ANUSVARA
- = sunna
-0C03 TELUGU SIGN VISARGA
-@ Independent vowels
-0C05 TELUGU LETTER A
-0C06 TELUGU LETTER AA
-0C07 TELUGU LETTER I
-0C08 TELUGU LETTER II
-0C09 TELUGU LETTER U
-0C0A TELUGU LETTER UU
-0C0B TELUGU LETTER VOCALIC R
-0C0C TELUGU LETTER VOCALIC L
-0C0E TELUGU LETTER E
-0C0F TELUGU LETTER EE
-0C10 TELUGU LETTER AI
-0C12 TELUGU LETTER O
-0C13 TELUGU LETTER OO
-0C14 TELUGU LETTER AU
-@ Consonants
-0C15 TELUGU LETTER KA
-0C16 TELUGU LETTER KHA
-0C17 TELUGU LETTER GA
-0C18 TELUGU LETTER GHA
-0C19 TELUGU LETTER NGA
-0C1A TELUGU LETTER CA
-0C1B TELUGU LETTER CHA
-0C1C TELUGU LETTER JA
-0C1D TELUGU LETTER JHA
-0C1E TELUGU LETTER NYA
-0C1F TELUGU LETTER TTA
-0C20 TELUGU LETTER TTHA
-0C21 TELUGU LETTER DDA
-0C22 TELUGU LETTER DDHA
-0C23 TELUGU LETTER NNA
-0C24 TELUGU LETTER TA
-0C25 TELUGU LETTER THA
-0C26 TELUGU LETTER DA
-0C27 TELUGU LETTER DHA
-0C28 TELUGU LETTER NA
-0C2A TELUGU LETTER PA
-0C2B TELUGU LETTER PHA
-0C2C TELUGU LETTER BA
-0C2D TELUGU LETTER BHA
-0C2E TELUGU LETTER MA
-0C2F TELUGU LETTER YA
-0C30 TELUGU LETTER RA
-0C31 TELUGU LETTER RRA
-0C32 TELUGU LETTER LA
-0C33 TELUGU LETTER LLA
-0C35 TELUGU LETTER VA
-0C36 TELUGU LETTER SHA
-0C37 TELUGU LETTER SSA
-0C38 TELUGU LETTER SA
-0C39 TELUGU LETTER HA
-@ Addition for Sanskrit
-0C3D TELUGU SIGN AVAGRAHA
-@ Dependent vowel signs
-0C3E TELUGU VOWEL SIGN AA
-0C3F TELUGU VOWEL SIGN I
-0C40 TELUGU VOWEL SIGN II
-0C41 TELUGU VOWEL SIGN U
-0C42 TELUGU VOWEL SIGN UU
-0C43 TELUGU VOWEL SIGN VOCALIC R
-0C44 TELUGU VOWEL SIGN VOCALIC RR
-0C46 TELUGU VOWEL SIGN E
-0C47 TELUGU VOWEL SIGN EE
-0C48 TELUGU VOWEL SIGN AI
- : 0C46 0C56
-0C4A TELUGU VOWEL SIGN O
-0C4B TELUGU VOWEL SIGN OO
-0C4C TELUGU VOWEL SIGN AU
-@ Virama
-0C4D TELUGU SIGN VIRAMA
- = halant (the preferred name)
-@ Various signs
-0C55 TELUGU LENGTH MARK
-0C56 TELUGU AI LENGTH MARK
-@ Historic phonetic variants
-0C58 TELUGU LETTER TSA
-0C59 TELUGU LETTER DZA
-@ Additional vowels for Sanskrit
-0C60 TELUGU LETTER VOCALIC RR
-0C61 TELUGU LETTER VOCALIC LL
-@ Dependent vowels
-0C62 TELUGU VOWEL SIGN VOCALIC L
-0C63 TELUGU VOWEL SIGN VOCALIC LL
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0C64 <reserved>
- x (devanagari danda - 0964)
-0C65 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0C66 TELUGU DIGIT ZERO
-0C67 TELUGU DIGIT ONE
-0C68 TELUGU DIGIT TWO
-0C69 TELUGU DIGIT THREE
-0C6A TELUGU DIGIT FOUR
-0C6B TELUGU DIGIT FIVE
-0C6C TELUGU DIGIT SIX
-0C6D TELUGU DIGIT SEVEN
-0C6E TELUGU DIGIT EIGHT
-0C6F TELUGU DIGIT NINE
-@ Telugu fractions and weights
-0C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0C79 TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7A TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7B TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7C TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0C7D TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0C7E TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F TELUGU SIGN TUUMU
-@@ 0C80 Kannada 0CFF
-@ Various signs
-0C82 KANNADA SIGN ANUSVARA
-0C83 KANNADA SIGN VISARGA
-@ Independent vowels
-0C85 KANNADA LETTER A
-0C86 KANNADA LETTER AA
-0C87 KANNADA LETTER I
-0C88 KANNADA LETTER II
-0C89 KANNADA LETTER U
-0C8A KANNADA LETTER UU
-0C8B KANNADA LETTER VOCALIC R
-0C8C KANNADA LETTER VOCALIC L
-0C8E KANNADA LETTER E
-0C8F KANNADA LETTER EE
-0C90 KANNADA LETTER AI
-0C92 KANNADA LETTER O
-0C93 KANNADA LETTER OO
-0C94 KANNADA LETTER AU
-@ Consonants
-0C95 KANNADA LETTER KA
-0C96 KANNADA LETTER KHA
-0C97 KANNADA LETTER GA
-0C98 KANNADA LETTER GHA
-0C99 KANNADA LETTER NGA
-0C9A KANNADA LETTER CA
-0C9B KANNADA LETTER CHA
-0C9C KANNADA LETTER JA
-0C9D KANNADA LETTER JHA
-0C9E KANNADA LETTER NYA
-0C9F KANNADA LETTER TTA
-0CA0 KANNADA LETTER TTHA
-0CA1 KANNADA LETTER DDA
-0CA2 KANNADA LETTER DDHA
-0CA3 KANNADA LETTER NNA
-0CA4 KANNADA LETTER TA
-0CA5 KANNADA LETTER THA
-0CA6 KANNADA LETTER DA
-0CA7 KANNADA LETTER DHA
-0CA8 KANNADA LETTER NA
-0CAA KANNADA LETTER PA
-0CAB KANNADA LETTER PHA
-0CAC KANNADA LETTER BA
-0CAD KANNADA LETTER BHA
-0CAE KANNADA LETTER MA
-0CAF KANNADA LETTER YA
-0CB0 KANNADA LETTER RA
-0CB1 KANNADA LETTER RRA
-0CB2 KANNADA LETTER LA
-0CB3 KANNADA LETTER LLA
-0CB5 KANNADA LETTER VA
-0CB6 KANNADA LETTER SHA
-0CB7 KANNADA LETTER SSA
-0CB8 KANNADA LETTER SA
-0CB9 KANNADA LETTER HA
-@ Various signs
-0CBC KANNADA SIGN NUKTA
-0CBD KANNADA SIGN AVAGRAHA
-@ Dependent vowel signs
-0CBE KANNADA VOWEL SIGN AA
-0CBF KANNADA VOWEL SIGN I
-0CC0 KANNADA VOWEL SIGN II
- : 0CBF 0CD5
-0CC1 KANNADA VOWEL SIGN U
-0CC2 KANNADA VOWEL SIGN UU
-0CC3 KANNADA VOWEL SIGN VOCALIC R
-0CC4 KANNADA VOWEL SIGN VOCALIC RR
-0CC6 KANNADA VOWEL SIGN E
-0CC7 KANNADA VOWEL SIGN EE
- : 0CC6 0CD5
-0CC8 KANNADA VOWEL SIGN AI
- : 0CC6 0CD6
-0CCA KANNADA VOWEL SIGN O
- : 0CC6 0CC2
-0CCB KANNADA VOWEL SIGN OO
- : 0CCA 0CD5
-0CCC KANNADA VOWEL SIGN AU
-@ Virama
-0CCD KANNADA SIGN VIRAMA
- * preferred name is halant
-@ Various signs
-0CD5 KANNADA LENGTH MARK
-0CD6 KANNADA AI LENGTH MARK
-@ Additional consonants
-0CDE KANNADA LETTER FA
- % KANNADA LETTER LLLA
- * obsolete historic letter
- * name is a mistake for LLLA
-@ Additional vowels for Sanskrit
-0CE0 KANNADA LETTER VOCALIC RR
-0CE1 KANNADA LETTER VOCALIC LL
-@ Dependent vowels
-0CE2 KANNADA VOWEL SIGN VOCALIC L
-0CE3 KANNADA VOWEL SIGN VOCALIC LL
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0CE4 <reserved>
- x (devanagari danda - 0964)
-0CE5 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0CE6 KANNADA DIGIT ZERO
-0CE7 KANNADA DIGIT ONE
-0CE8 KANNADA DIGIT TWO
-0CE9 KANNADA DIGIT THREE
-0CEA KANNADA DIGIT FOUR
-0CEB KANNADA DIGIT FIVE
-0CEC KANNADA DIGIT SIX
-0CED KANNADA DIGIT SEVEN
-0CEE KANNADA DIGIT EIGHT
-0CEF KANNADA DIGIT NINE
-@ Vedic signs
-@+ The Vedic signs for jihvamuliya and upadhmaniya were encoded in the Kannada block, but are intended for general Vedic use with all scripts.
-0CF1 KANNADA SIGN JIHVAMULIYA
- * marks a velar fricative occurring only before unvoiced velar stops
- x (tibetan sign lce tsa can - 0F88)
-0CF2 KANNADA SIGN UPADHMANIYA
- * marks a bilabial fricative occurring only before unvoiced labial stops
- x (tibetan sign mchu can - 0F89)
- x (vedic sign ardhavisarga - 1CF2)
-@@ 0D00 Malayalam 0D7F
-@ Various signs
-0D02 MALAYALAM SIGN ANUSVARA
-0D03 MALAYALAM SIGN VISARGA
-@ Independent vowels
-0D05 MALAYALAM LETTER A
-0D06 MALAYALAM LETTER AA
-0D07 MALAYALAM LETTER I
-0D08 MALAYALAM LETTER II
-0D09 MALAYALAM LETTER U
-0D0A MALAYALAM LETTER UU
-0D0B MALAYALAM LETTER VOCALIC R
-0D0C MALAYALAM LETTER VOCALIC L
-0D0E MALAYALAM LETTER E
-0D0F MALAYALAM LETTER EE
-0D10 MALAYALAM LETTER AI
-0D12 MALAYALAM LETTER O
-0D13 MALAYALAM LETTER OO
-0D14 MALAYALAM LETTER AU
-@ Consonants
-@+ Alternate romanizations are shown as aliases for some letters to clarify their identity.
-0D15 MALAYALAM LETTER KA
-0D16 MALAYALAM LETTER KHA
-0D17 MALAYALAM LETTER GA
-0D18 MALAYALAM LETTER GHA
-0D19 MALAYALAM LETTER NGA
-0D1A MALAYALAM LETTER CA
- = cha
-0D1B MALAYALAM LETTER CHA
- = chha
-0D1C MALAYALAM LETTER JA
-0D1D MALAYALAM LETTER JHA
-0D1E MALAYALAM LETTER NYA
- = nha
-0D1F MALAYALAM LETTER TTA
- = ta
-0D20 MALAYALAM LETTER TTHA
- = tta
-0D21 MALAYALAM LETTER DDA
- = hard da
-0D22 MALAYALAM LETTER DDHA
- = hard dda
-0D23 MALAYALAM LETTER NNA
- = hard na
-0D24 MALAYALAM LETTER TA
- = tha
-0D25 MALAYALAM LETTER THA
- = ttha
-0D26 MALAYALAM LETTER DA
- = soft da
-0D27 MALAYALAM LETTER DHA
- = soft dda
-0D28 MALAYALAM LETTER NA
-0D2A MALAYALAM LETTER PA
-0D2B MALAYALAM LETTER PHA
-0D2C MALAYALAM LETTER BA
-0D2D MALAYALAM LETTER BHA
-0D2E MALAYALAM LETTER MA
-0D2F MALAYALAM LETTER YA
-0D30 MALAYALAM LETTER RA
-0D31 MALAYALAM LETTER RRA
-0D32 MALAYALAM LETTER LA
-0D33 MALAYALAM LETTER LLA
-0D34 MALAYALAM LETTER LLLA
- = zha
-0D35 MALAYALAM LETTER VA
-0D36 MALAYALAM LETTER SHA
- = soft sha
-0D37 MALAYALAM LETTER SSA
- = sha
-0D38 MALAYALAM LETTER SA
-0D39 MALAYALAM LETTER HA
-@ Addition for Sanskrit
-0D3D MALAYALAM SIGN AVAGRAHA
- = praslesham
-@ Dependent vowel signs
-0D3E MALAYALAM VOWEL SIGN AA
-0D3F MALAYALAM VOWEL SIGN I
-0D40 MALAYALAM VOWEL SIGN II
-0D41 MALAYALAM VOWEL SIGN U
-0D42 MALAYALAM VOWEL SIGN UU
-0D43 MALAYALAM VOWEL SIGN VOCALIC R
-0D44 MALAYALAM VOWEL SIGN VOCALIC RR
-0D46 MALAYALAM VOWEL SIGN E
- * stands to the left of the consonant
-0D47 MALAYALAM VOWEL SIGN EE
- * stands to the left of the consonant
-0D48 MALAYALAM VOWEL SIGN AI
- * stands to the left of the consonant
-@ Two-part dependent vowel signs
-@+ These vowel signs have glyph pieces which stand on both sides of the consonant; they follow the consonant in logical order, and should be handled as a unit for most processing.
-0D4A MALAYALAM VOWEL SIGN O
- : 0D46 0D3E
-0D4B MALAYALAM VOWEL SIGN OO
- : 0D47 0D3E
-0D4C MALAYALAM VOWEL SIGN AU
- * archaic form of the /au/ dependent vowel
- x (malayalam au length mark - 0D57)
- : 0D46 0D57
-@ Virama
-0D4D MALAYALAM SIGN VIRAMA
- = chandrakkala (the preferred name)
- = vowel half-u
-@ Various signs
-0D57 MALAYALAM AU LENGTH MARK
- * used alone to write the /au/ dependent vowel in modern texts
- x (malayalam vowel sign au - 0D4C)
-@ Additional vowels for Sanskrit
-0D60 MALAYALAM LETTER VOCALIC RR
-0D61 MALAYALAM LETTER VOCALIC LL
-@ Dependent vowels
-0D62 MALAYALAM VOWEL SIGN VOCALIC L
-0D63 MALAYALAM VOWEL SIGN VOCALIC LL
-@ Reserved
-@+ For viram punctuation, use the generic Indic 0964 and 0965.
-0D64 <reserved>
- x (devanagari danda - 0964)
-0D65 <reserved>
- x (devanagari double danda - 0965)
-@ Digits
-0D66 MALAYALAM DIGIT ZERO
-0D67 MALAYALAM DIGIT ONE
-0D68 MALAYALAM DIGIT TWO
-0D69 MALAYALAM DIGIT THREE
-0D6A MALAYALAM DIGIT FOUR
-0D6B MALAYALAM DIGIT FIVE
-0D6C MALAYALAM DIGIT SIX
-0D6D MALAYALAM DIGIT SEVEN
-0D6E MALAYALAM DIGIT EIGHT
-0D6F MALAYALAM DIGIT NINE
-@ Malayalam numerics
-0D70 MALAYALAM NUMBER TEN
-0D71 MALAYALAM NUMBER ONE HUNDRED
-0D72 MALAYALAM NUMBER ONE THOUSAND
-@ Fractions
-0D73 MALAYALAM FRACTION ONE QUARTER
-0D74 MALAYALAM FRACTION ONE HALF
-0D75 MALAYALAM FRACTION THREE QUARTERS
-@ Date mark
-0D79 MALAYALAM DATE MARK
-@ Chillu letters
-0D7A MALAYALAM LETTER CHILLU NN
-0D7B MALAYALAM LETTER CHILLU N
-0D7C MALAYALAM LETTER CHILLU RR
- * historically derived from the full letter ra
- * also used for chillu r
-0D7D MALAYALAM LETTER CHILLU L
- * historically derived from the full letter ta
- * used for chillu t and chillu d
-0D7E MALAYALAM LETTER CHILLU LL
-0D7F MALAYALAM LETTER CHILLU K
-@@ 0D80 Sinhala 0DFF
-@ Various signs
-0D82 SINHALA SIGN ANUSVARAYA
- = anusvara
-0D83 SINHALA SIGN VISARGAYA
- = visarga
-@ Independent vowels
-0D85 SINHALA LETTER AYANNA
- = sinhala letter a
-0D86 SINHALA LETTER AAYANNA
- = sinhala letter aa
-0D87 SINHALA LETTER AEYANNA
- = sinhala letter ae
-0D88 SINHALA LETTER AEEYANNA
- = sinhala letter aae
-0D89 SINHALA LETTER IYANNA
- = sinhala letter i
-0D8A SINHALA LETTER IIYANNA
- = sinhala letter ii
-0D8B SINHALA LETTER UYANNA
- = sinhala letter u
-0D8C SINHALA LETTER UUYANNA
- = sinhala letter uu
-0D8D SINHALA LETTER IRUYANNA
- = sinhala letter vocalic r
-0D8E SINHALA LETTER IRUUYANNA
- = sinhala letter vocalic rr
-0D8F SINHALA LETTER ILUYANNA
- = sinhala letter vocalic l
-0D90 SINHALA LETTER ILUUYANNA
- = sinhala letter vocalic ll
-0D91 SINHALA LETTER EYANNA
- = sinhala letter e
-0D92 SINHALA LETTER EEYANNA
- = sinhala letter ee
-0D93 SINHALA LETTER AIYANNA
- = sinhala letter ai
-0D94 SINHALA LETTER OYANNA
- = sinhala letter o
-0D95 SINHALA LETTER OOYANNA
- = sinhala letter oo
-0D96 SINHALA LETTER AUYANNA
- = sinhala letter au
-@ Consonants
-0D9A SINHALA LETTER ALPAPRAANA KAYANNA
- = sinhala letter ka
-0D9B SINHALA LETTER MAHAAPRAANA KAYANNA
- = sinhala letter kha
-0D9C SINHALA LETTER ALPAPRAANA GAYANNA
- = sinhala letter ga
-0D9D SINHALA LETTER MAHAAPRAANA GAYANNA
- = sinhala letter gha
-0D9E SINHALA LETTER KANTAJA NAASIKYAYA
- = sinhala letter nga
-0D9F SINHALA LETTER SANYAKA GAYANNA
- = sinhala letter nnga
-0DA0 SINHALA LETTER ALPAPRAANA CAYANNA
- = sinhala letter ca
-0DA1 SINHALA LETTER MAHAAPRAANA CAYANNA
- = sinhala letter cha
-0DA2 SINHALA LETTER ALPAPRAANA JAYANNA
- = sinhala letter ja
-0DA3 SINHALA LETTER MAHAAPRAANA JAYANNA
- = sinhala letter jha
-0DA4 SINHALA LETTER TAALUJA NAASIKYAYA
- = sinhala letter nya
-0DA5 SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
- = sinhala letter jnya
-0DA6 SINHALA LETTER SANYAKA JAYANNA
- = sinhala letter nyja
-0DA7 SINHALA LETTER ALPAPRAANA TTAYANNA
- = sinhala letter tta
-0DA8 SINHALA LETTER MAHAAPRAANA TTAYANNA
- = sinhala letter ttha
-0DA9 SINHALA LETTER ALPAPRAANA DDAYANNA
- = sinhala letter dda
-0DAA SINHALA LETTER MAHAAPRAANA DDAYANNA
- = sinhala letter ddha
-0DAB SINHALA LETTER MUURDHAJA NAYANNA
- = sinhala letter nna
-0DAC SINHALA LETTER SANYAKA DDAYANNA
- = sinhala letter nndda
-0DAD SINHALA LETTER ALPAPRAANA TAYANNA
- = sinhala letter ta
-0DAE SINHALA LETTER MAHAAPRAANA TAYANNA
- = sinhala letter tha
-0DAF SINHALA LETTER ALPAPRAANA DAYANNA
- = sinhala letter da
-0DB0 SINHALA LETTER MAHAAPRAANA DAYANNA
- = sinhala letter dha
-0DB1 SINHALA LETTER DANTAJA NAYANNA
- = sinhala letter na
-0DB3 SINHALA LETTER SANYAKA DAYANNA
- = sinhala letter nda
-0DB4 SINHALA LETTER ALPAPRAANA PAYANNA
- = sinhala letter pa
-0DB5 SINHALA LETTER MAHAAPRAANA PAYANNA
- = sinhala letter pha
-0DB6 SINHALA LETTER ALPAPRAANA BAYANNA
- = sinhala letter ba
-0DB7 SINHALA LETTER MAHAAPRAANA BAYANNA
- = sinhala letter bha
-0DB8 SINHALA LETTER MAYANNA
- = sinhala letter ma
-0DB9 SINHALA LETTER AMBA BAYANNA
- = sinhala letter mba
-0DBA SINHALA LETTER YAYANNA
- = sinhala letter ya
-0DBB SINHALA LETTER RAYANNA
- = sinhala letter ra
-0DBD SINHALA LETTER DANTAJA LAYANNA
- = sinhala letter la
- * dental
-0DC0 SINHALA LETTER VAYANNA
- = sinhala letter va
-0DC1 SINHALA LETTER TAALUJA SAYANNA
- = sinhala letter sha
-0DC2 SINHALA LETTER MUURDHAJA SAYANNA
- = sinhala letter ssa
- * retroflex
-0DC3 SINHALA LETTER DANTAJA SAYANNA
- = sinhala letter sa
- * dental
-0DC4 SINHALA LETTER HAYANNA
- = sinhala letter ha
-0DC5 SINHALA LETTER MUURDHAJA LAYANNA
- = sinhala letter lla
- * retroflex
-0DC6 SINHALA LETTER FAYANNA
- = sinhala letter fa
-@ Sign
-0DCA SINHALA SIGN AL-LAKUNA
- = virama
-@ Dependent vowel signs
-0DCF SINHALA VOWEL SIGN AELA-PILLA
- = sinhala vowel sign aa
-0DD0 SINHALA VOWEL SIGN KETTI AEDA-PILLA
- = sinhala vowel sign ae
-0DD1 SINHALA VOWEL SIGN DIGA AEDA-PILLA
- = sinhala vowel sign aae
-0DD2 SINHALA VOWEL SIGN KETTI IS-PILLA
- = sinhala vowel sign i
-0DD3 SINHALA VOWEL SIGN DIGA IS-PILLA
- = sinhala vowel sign ii
-0DD4 SINHALA VOWEL SIGN KETTI PAA-PILLA
- = sinhala vowel sign u
-0DD6 SINHALA VOWEL SIGN DIGA PAA-PILLA
- = sinhala vowel sign uu
-0DD8 SINHALA VOWEL SIGN GAETTA-PILLA
- = sinhala vowel sign vocalic r
-0DD9 SINHALA VOWEL SIGN KOMBUVA
- = sinhala vowel sign e
-0DDA SINHALA VOWEL SIGN DIGA KOMBUVA
- = sinhala vowel sign ee
- : 0DD9 0DCA
-0DDB SINHALA VOWEL SIGN KOMBU DEKA
- = sinhala vowel sign ai
-@ Two-part dependent vowel signs
-@+ These vowel signs have glyph pieces which stand on both sides of the consonant; they follow the consonant in logical order, and should be handled as a unit for most processing.
-0DDC SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
- = sinhala vowel sign o
- : 0DD9 0DCF
-0DDD SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
- = sinhala vowel sign oo
- : 0DDC 0DCA
-0DDE SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
- = sinhala vowel sign au
- : 0DD9 0DDF
-@ Dependent vowel sign
-0DDF SINHALA VOWEL SIGN GAYANUKITTA
- = sinhala vowel sign vocalic l
-@ Additional dependent vowel signs
-0DF2 SINHALA VOWEL SIGN DIGA GAETTA-PILLA
- = sinhala vowel sign vocalic rr
-0DF3 SINHALA VOWEL SIGN DIGA GAYANUKITTA
- = sinhala vowel sign vocalic ll
-@ Punctuation
-0DF4 SINHALA PUNCTUATION KUNDDALIYA
-@@ 0E00 Thai 0E7F
-@@+
-@ Based on TIS 620-2533
-@ Consonants
-0E01 THAI CHARACTER KO KAI
-0E02 THAI CHARACTER KHO KHAI
-0E03 THAI CHARACTER KHO KHUAT
-0E04 THAI CHARACTER KHO KHWAI
-0E05 THAI CHARACTER KHO KHON
-0E06 THAI CHARACTER KHO RAKHANG
-0E07 THAI CHARACTER NGO NGU
-0E08 THAI CHARACTER CHO CHAN
-0E09 THAI CHARACTER CHO CHING
-0E0A THAI CHARACTER CHO CHANG
-0E0B THAI CHARACTER SO SO
-0E0C THAI CHARACTER CHO CHOE
-0E0D THAI CHARACTER YO YING
-0E0E THAI CHARACTER DO CHADA
-0E0F THAI CHARACTER TO PATAK
-0E10 THAI CHARACTER THO THAN
-0E11 THAI CHARACTER THO NANGMONTHO
-0E12 THAI CHARACTER THO PHUTHAO
-0E13 THAI CHARACTER NO NEN
-0E14 THAI CHARACTER DO DEK
-0E15 THAI CHARACTER TO TAO
-0E16 THAI CHARACTER THO THUNG
-0E17 THAI CHARACTER THO THAHAN
-0E18 THAI CHARACTER THO THONG
-0E19 THAI CHARACTER NO NU
-0E1A THAI CHARACTER BO BAIMAI
-0E1B THAI CHARACTER PO PLA
-0E1C THAI CHARACTER PHO PHUNG
-0E1D THAI CHARACTER FO FA
-0E1E THAI CHARACTER PHO PHAN
-0E1F THAI CHARACTER FO FAN
-0E20 THAI CHARACTER PHO SAMPHAO
-0E21 THAI CHARACTER MO MA
-0E22 THAI CHARACTER YO YAK
-0E23 THAI CHARACTER RO RUA
-0E24 THAI CHARACTER RU
- * independent vowel letter used to write Sanskrit
-0E25 THAI CHARACTER LO LING
-0E26 THAI CHARACTER LU
- * independent vowel letter used to write Sanskrit
-0E27 THAI CHARACTER WO WAEN
-0E28 THAI CHARACTER SO SALA
-0E29 THAI CHARACTER SO RUSI
-0E2A THAI CHARACTER SO SUA
-0E2B THAI CHARACTER HO HIP
-0E2C THAI CHARACTER LO CHULA
-0E2D THAI CHARACTER O ANG
-0E2E THAI CHARACTER HO NOKHUK
- = ho nok huk
-@ Sign
-0E2F THAI CHARACTER PAIYANNOI
- = paiyan noi
- * ellipsis, abbreviation
-@ Vowels
-0E30 THAI CHARACTER SARA A
-0E31 THAI CHARACTER MAI HAN-AKAT
-0E32 THAI CHARACTER SARA AA
- x (thai character lakkhangyao - 0E45)
-0E33 THAI CHARACTER SARA AM
- # 0E4D 0E32
-0E34 THAI CHARACTER SARA I
-0E35 THAI CHARACTER SARA II
-0E36 THAI CHARACTER SARA UE
-0E37 THAI CHARACTER SARA UEE
- = sara uue
-0E38 THAI CHARACTER SARA U
-0E39 THAI CHARACTER SARA UU
-0E3A THAI CHARACTER PHINTHU
- * Pali virama
-@ Currency symbol
-0E3F THAI CURRENCY SYMBOL BAHT
-@ Vowels
-@+ These vowels precede a consonant in visual order.
-0E40 THAI CHARACTER SARA E
-0E41 THAI CHARACTER SARA AE
-0E42 THAI CHARACTER SARA O
-0E43 THAI CHARACTER SARA AI MAIMUAN
- = sara ai mai muan
-0E44 THAI CHARACTER SARA AI MAIMALAI
- = sara ai mai malai
-@ Vowel length sign
-0E45 THAI CHARACTER LAKKHANGYAO
- = lakkhang yao
- * special vowel length indication used with 0E24 or 0E26
- x (thai character sara aa - 0E32)
-@ Repetition mark
-0E46 THAI CHARACTER MAIYAMOK
- = mai yamok
- * repetition
-@ Vowel
-0E47 THAI CHARACTER MAITAIKHU
- = mai taikhu
-@ Tone marks
-0E48 THAI CHARACTER MAI EK
-0E49 THAI CHARACTER MAI THO
-0E4A THAI CHARACTER MAI TRI
-0E4B THAI CHARACTER MAI CHATTAWA
-@ Signs
-0E4C THAI CHARACTER THANTHAKHAT
- * cancellation mark
-0E4D THAI CHARACTER NIKHAHIT
- = nikkhahit
- * final nasal
-0E4E THAI CHARACTER YAMAKKAN
-0E4F THAI CHARACTER FONGMAN
- * used as a bullet
- x (khmer sign phnaek muan - 17D9)
-@ Digits
-0E50 THAI DIGIT ZERO
-0E51 THAI DIGIT ONE
-0E52 THAI DIGIT TWO
-0E53 THAI DIGIT THREE
-0E54 THAI DIGIT FOUR
-0E55 THAI DIGIT FIVE
-0E56 THAI DIGIT SIX
-0E57 THAI DIGIT SEVEN
-0E58 THAI DIGIT EIGHT
-0E59 THAI DIGIT NINE
-@ Signs
-0E5A THAI CHARACTER ANGKHANKHU
- * used to mark end of long sections
- * used in combination with 0E30 to mark end of a verse
-0E5B THAI CHARACTER KHOMUT
- * used to mark end of chapter or document
- x (khmer sign koomuut - 17DA)
-@@ 0E80 Lao 0EFF
-@ Consonants
-0E81 LAO LETTER KO
- = ko kay
-0E82 LAO LETTER KHO SUNG
- = kho khay
-0E84 LAO LETTER KHO TAM
- = kho khuay
-0E87 LAO LETTER NGO
- = ngo ngu, ngo ngua
-0E88 LAO LETTER CO
- = co cok, co cua
-0E8A LAO LETTER SO TAM
- = so sang
-0E8D LAO LETTER NYO
- = nyo nyung
-0E94 LAO LETTER DO
- = do dek
-0E95 LAO LETTER TO
- = to ta
-0E96 LAO LETTER THO SUNG
- = tho thong
-0E97 LAO LETTER THO TAM
- = tho thung
-0E99 LAO LETTER NO
- = no nok
-0E9A LAO LETTER BO
- = bo be, bo bet
-0E9B LAO LETTER PO
- = po pa
-0E9C LAO LETTER PHO SUNG
- = pho pheng
-0E9D LAO LETTER FO TAM
- % LAO LETTER FO FON
- = fo fa
- * name is a mistake for fo sung
-0E9E LAO LETTER PHO TAM
- = pho phu
-0E9F LAO LETTER FO SUNG
- % LAO LETTER FO FAY
- * name is a mistake for fo tam
-0EA1 LAO LETTER MO
- = mo mew, mo ma
-0EA2 LAO LETTER YO
- = yo ya
-0EA3 LAO LETTER LO LING
- % LAO LETTER RO
- = ro rot
- * name is a mistake, lo ling is the mnemonic for 0EA5
-0EA5 LAO LETTER LO LOOT
- % LAO LETTER LO
- = lo ling
- * name is a mistake, lo loot is the mnemonic for 0EA3
-0EA7 LAO LETTER WO
- = wo wi
-0EAA LAO LETTER SO SUNG
- = so sya
-0EAB LAO LETTER HO SUNG
- = ho hay, ho han
-0EAD LAO LETTER O
- = o o
-0EAE LAO LETTER HO TAM
- = ho hya, ho hyan
-@ Sign
-0EAF LAO ELLIPSIS
-@ Vowels
-0EB0 LAO VOWEL SIGN A
-0EB1 LAO VOWEL SIGN MAI KAN
- * vowel shortener
-0EB2 LAO VOWEL SIGN AA
-0EB3 LAO VOWEL SIGN AM
- # 0ECD 0EB2
-0EB4 LAO VOWEL SIGN I
-0EB5 LAO VOWEL SIGN II
-0EB6 LAO VOWEL SIGN Y
-0EB7 LAO VOWEL SIGN YY
-0EB8 LAO VOWEL SIGN U
-0EB9 LAO VOWEL SIGN UU
-0EBB LAO VOWEL SIGN MAI KON
- = mai kong
-@ Signs
-0EBC LAO SEMIVOWEL SIGN LO
-0EBD LAO SEMIVOWEL SIGN NYO
- = nyo fyang
-@ Vowels
-@+ These vowels precede a consonant in visual order.
-0EC0 LAO VOWEL SIGN E
-0EC1 LAO VOWEL SIGN EI
-0EC2 LAO VOWEL SIGN O
-0EC3 LAO VOWEL SIGN AY
- = mai muan
-0EC4 LAO VOWEL SIGN AI
- = mai may
-@ Repetition mark
-0EC6 LAO KO LA
- * repetition
-@ Tone marks
-0EC8 LAO TONE MAI EK
-0EC9 LAO TONE MAI THO
-0ECA LAO TONE MAI TI
-0ECB LAO TONE MAI CATAWA
-@ Signs
-0ECC LAO CANCELLATION MARK
-0ECD LAO NIGGAHITA
- * final nasal or long o vowel
-@ Digits
-0ED0 LAO DIGIT ZERO
-0ED1 LAO DIGIT ONE
-0ED2 LAO DIGIT TWO
-0ED3 LAO DIGIT THREE
-0ED4 LAO DIGIT FOUR
-0ED5 LAO DIGIT FIVE
-0ED6 LAO DIGIT SIX
-0ED7 LAO DIGIT SEVEN
-0ED8 LAO DIGIT EIGHT
-0ED9 LAO DIGIT NINE
-@ Digraphs
-0EDC LAO HO NO
- # 0EAB 0E99
-0EDD LAO HO MO
- # 0EAB 0EA1
-@@ 0F00 Tibetan 0FFF
-@ Syllable
-0F00 TIBETAN SYLLABLE OM
-@ Head marks
-0F01 TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02 TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03 TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04 TIBETAN MARK INITIAL YIG MGO MDUN MA
- * honorific; marks beginning of text or start of new folio
- x (mongolian birga - 1800)
-0F05 TIBETAN MARK CLOSING YIG MGO SGAB MA
- * follows and ligates with initial yig-mgo
-0F06 TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07 TIBETAN MARK YIG MGO TSHEG SHAD MA
-@ Marks and signs
-0F08 TIBETAN MARK SBRUL SHAD
- * separates sections of meaning equivalent to topics and sub-topics
-0F09 TIBETAN MARK BSKUR YIG MGO
- * list enumerator, used in Bhutan
-0F0A TIBETAN MARK BKA- SHOG YIG MGO
- * petition honorific, used in Bhutan
-0F0B TIBETAN MARK INTERSYLLABIC TSHEG
- = tsek
- * morpheme delimiter (approximate meaning)
- * the normal tsheg; provides a break opportunity
- * character name is a misnomer
-0F0C TIBETAN MARK DELIMITER TSHEG BSTAR
- * a non-breaking tsheg; inhibits line breaking
- * character name is a misnomer
- # <noBreak> 0F0B
-0F0D TIBETAN MARK SHAD
- = shey
- * marks end of a section of text (tshig-grub)
- x (devanagari danda - 0964)
-0F0E TIBETAN MARK NYIS SHAD
- * marks end of a whole topic (don-tshan)
- x (devanagari double danda - 0965)
-0F0F TIBETAN MARK TSHEG SHAD
-0F10 TIBETAN MARK NYIS TSHEG SHAD
-0F11 TIBETAN MARK RIN CHEN SPUNGS SHAD
- * shad which follows a tsheg-bar that starts a new line
-0F12 TIBETAN MARK RGYA GRAM SHAD
-0F13 TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14 TIBETAN MARK GTER TSHEG
- * used as a comma-like text delimiter
- x (khmer sign camnuc pii kuuh - 17D6)
-@ Astrological signs
-0F15 TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16 TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17 TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F18 TIBETAN ASTROLOGICAL SIGN -KHYUD PA
- * combines with digits
-0F19 TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
- * combines with digits
-0F1A TIBETAN SIGN RDEL DKAR GCIG
-0F1B TIBETAN SIGN RDEL DKAR GNYIS
-0F1C TIBETAN SIGN RDEL DKAR GSUM
-0F1D TIBETAN SIGN RDEL NAG GCIG
-0F1E TIBETAN SIGN RDEL NAG GNYIS
-0F1F TIBETAN SIGN RDEL DKAR RDEL NAG
-@ Digits
-0F20 TIBETAN DIGIT ZERO
-0F21 TIBETAN DIGIT ONE
-0F22 TIBETAN DIGIT TWO
-0F23 TIBETAN DIGIT THREE
-0F24 TIBETAN DIGIT FOUR
-0F25 TIBETAN DIGIT FIVE
-0F26 TIBETAN DIGIT SIX
-0F27 TIBETAN DIGIT SEVEN
-0F28 TIBETAN DIGIT EIGHT
-0F29 TIBETAN DIGIT NINE
-@ Digits minus half
-0F2A TIBETAN DIGIT HALF ONE
-0F2B TIBETAN DIGIT HALF TWO
-0F2C TIBETAN DIGIT HALF THREE
-0F2D TIBETAN DIGIT HALF FOUR
-0F2E TIBETAN DIGIT HALF FIVE
-0F2F TIBETAN DIGIT HALF SIX
-0F30 TIBETAN DIGIT HALF SEVEN
-0F31 TIBETAN DIGIT HALF EIGHT
-0F32 TIBETAN DIGIT HALF NINE
-0F33 TIBETAN DIGIT HALF ZERO
-@ Marks and signs
-0F34 TIBETAN MARK BSDUS RTAGS
- * repetition
-0F35 TIBETAN MARK NGAS BZUNG NYI ZLA
- * honorific, emphasis; used like underlining
-0F36 TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
- * marks point of text insertion or annotation
-0F37 TIBETAN MARK NGAS BZUNG SGOR RTAGS
- * emphasis; used like underlining
-0F38 TIBETAN MARK CHE MGO
-0F39 TIBETAN MARK TSA -PHRU
- * a lenition mark
-@ Paired punctuation
-0F3A TIBETAN MARK GUG RTAGS GYON
-0F3B TIBETAN MARK GUG RTAGS GYAS
- * brackets
-0F3C TIBETAN MARK ANG KHANG GYON
-0F3D TIBETAN MARK ANG KHANG GYAS
- * used for bracketing with a roof over
-@ Astrological signs
-0F3E TIBETAN SIGN YAR TSHES
-0F3F TIBETAN SIGN MAR TSHES
- * marks which combine with digits
-@ Consonants
-0F40 TIBETAN LETTER KA
-0F41 TIBETAN LETTER KHA
-0F42 TIBETAN LETTER GA
-0F43 TIBETAN LETTER GHA
- : 0F42 0FB7
-0F44 TIBETAN LETTER NGA
-0F45 TIBETAN LETTER CA
-0F46 TIBETAN LETTER CHA
-0F47 TIBETAN LETTER JA
-0F49 TIBETAN LETTER NYA
-0F4A TIBETAN LETTER TTA
-0F4B TIBETAN LETTER TTHA
-0F4C TIBETAN LETTER DDA
-0F4D TIBETAN LETTER DDHA
- : 0F4C 0FB7
-0F4E TIBETAN LETTER NNA
-0F4F TIBETAN LETTER TA
-0F50 TIBETAN LETTER THA
-0F51 TIBETAN LETTER DA
-0F52 TIBETAN LETTER DHA
- : 0F51 0FB7
-0F53 TIBETAN LETTER NA
-0F54 TIBETAN LETTER PA
-0F55 TIBETAN LETTER PHA
-0F56 TIBETAN LETTER BA
-0F57 TIBETAN LETTER BHA
- : 0F56 0FB7
-0F58 TIBETAN LETTER MA
-0F59 TIBETAN LETTER TSA
-0F5A TIBETAN LETTER TSHA
-0F5B TIBETAN LETTER DZA
-0F5C TIBETAN LETTER DZHA
- : 0F5B 0FB7
-0F5D TIBETAN LETTER WA
-0F5E TIBETAN LETTER ZHA
-0F5F TIBETAN LETTER ZA
-0F60 TIBETAN LETTER -A
-0F61 TIBETAN LETTER YA
-0F62 TIBETAN LETTER RA
- * when followed by a subjoined letter = ra mgo
-0F63 TIBETAN LETTER LA
-0F64 TIBETAN LETTER SHA
-0F65 TIBETAN LETTER SSA
- = reversed sha
-0F66 TIBETAN LETTER SA
-0F67 TIBETAN LETTER HA
-0F68 TIBETAN LETTER A
- * base for dependent vowels
-0F69 TIBETAN LETTER KSSA
- : 0F40 0FB5
-0F6A TIBETAN LETTER FIXED-FORM RA
- * fixed-form letter not showing the shape variation of the ordinary ra
- * used only in transliteration and transcription
- x (tibetan letter ra - 0F62)
-@ Extensions for Balti
-0F6B TIBETAN LETTER KKA
-0F6C TIBETAN LETTER RRA
-@ Dependent vowel signs
-0F71 TIBETAN VOWEL SIGN AA
- = a-chung
- * common, vowel-lengthening mark
-0F72 TIBETAN VOWEL SIGN I
-0F73 TIBETAN VOWEL SIGN II
- * use of this character is discouraged
- : 0F71 0F72
-0F74 TIBETAN VOWEL SIGN U
-0F75 TIBETAN VOWEL SIGN UU
- * use of this character is discouraged
- : 0F71 0F74
-0F76 TIBETAN VOWEL SIGN VOCALIC R
- : 0FB2 0F80
-0F77 TIBETAN VOWEL SIGN VOCALIC RR
- * this character is deprecated and its use is strongly discouraged
- # 0FB2 0F81
-0F78 TIBETAN VOWEL SIGN VOCALIC L
- : 0FB3 0F80
-0F79 TIBETAN VOWEL SIGN VOCALIC LL
- * this character is deprecated and its use is strongly discouraged
- # 0FB3 0F81
-0F7A TIBETAN VOWEL SIGN E
-0F7B TIBETAN VOWEL SIGN EE
-0F7C TIBETAN VOWEL SIGN O
-0F7D TIBETAN VOWEL SIGN OO
-@ Vocalic modification
-0F7E TIBETAN SIGN RJES SU NGA RO
- = anusvara
-0F7F TIBETAN SIGN RNAM BCAD
- = visarga
-@ Dependent vowel signs
-0F80 TIBETAN VOWEL SIGN REVERSED I
-0F81 TIBETAN VOWEL SIGN REVERSED II
- * use of this character is discouraged
- : 0F71 0F80
-@ Marks and signs
-0F82 TIBETAN SIGN NYI ZLA NAA DA
-0F83 TIBETAN SIGN SNA LDAN
- x (devanagari sign candrabindu - 0901)
-0F84 TIBETAN MARK HALANTA
- = srog med
- x (devanagari sign virama - 094D)
-0F85 TIBETAN MARK PALUTA
- * transliteration of Sanskrit avagraha
- x (devanagari sign avagraha - 093D)
-0F86 TIBETAN SIGN LCI RTAGS
-0F87 TIBETAN SIGN YANG RTAGS
-@ Transliteration head letters
-0F88 TIBETAN SIGN LCE TSA CAN
- x (kannada sign jihvamuliya - 0CF1)
- x (mongolian letter ali gali damaru - 1882)
-0F89 TIBETAN SIGN MCHU CAN
- x (kannada sign upadhmaniya - 0CF2)
- x (mongolian letter ali gali inverted ubadama - 1884)
-0F8A TIBETAN SIGN GRU CAN RGYINGS
- * always followed by 0F82
-0F8B TIBETAN SIGN GRU MED RGYINGS
-@ Subjoined consonants
-@+ The subjoined letters for WA, YA, and RA appear in both full and short forms. The short forms, wa.zur, ya-btags, and ra-btags, respectively, are most common and are the forms shown in the charts.
-0F90 TIBETAN SUBJOINED LETTER KA
-0F91 TIBETAN SUBJOINED LETTER KHA
-0F92 TIBETAN SUBJOINED LETTER GA
-0F93 TIBETAN SUBJOINED LETTER GHA
- : 0F92 0FB7
-0F94 TIBETAN SUBJOINED LETTER NGA
-0F95 TIBETAN SUBJOINED LETTER CA
-0F96 TIBETAN SUBJOINED LETTER CHA
-0F97 TIBETAN SUBJOINED LETTER JA
-0F99 TIBETAN SUBJOINED LETTER NYA
-0F9A TIBETAN SUBJOINED LETTER TTA
-0F9B TIBETAN SUBJOINED LETTER TTHA
-0F9C TIBETAN SUBJOINED LETTER DDA
-0F9D TIBETAN SUBJOINED LETTER DDHA
- : 0F9C 0FB7
-0F9E TIBETAN SUBJOINED LETTER NNA
-0F9F TIBETAN SUBJOINED LETTER TA
-0FA0 TIBETAN SUBJOINED LETTER THA
-0FA1 TIBETAN SUBJOINED LETTER DA
-0FA2 TIBETAN SUBJOINED LETTER DHA
- : 0FA1 0FB7
-0FA3 TIBETAN SUBJOINED LETTER NA
-0FA4 TIBETAN SUBJOINED LETTER PA
-0FA5 TIBETAN SUBJOINED LETTER PHA
-0FA6 TIBETAN SUBJOINED LETTER BA
-0FA7 TIBETAN SUBJOINED LETTER BHA
- : 0FA6 0FB7
-0FA8 TIBETAN SUBJOINED LETTER MA
-0FA9 TIBETAN SUBJOINED LETTER TSA
-0FAA TIBETAN SUBJOINED LETTER TSHA
-0FAB TIBETAN SUBJOINED LETTER DZA
-0FAC TIBETAN SUBJOINED LETTER DZHA
- : 0FAB 0FB7
-0FAD TIBETAN SUBJOINED LETTER WA
- = wa-zur, wa-btags (wa ta)
-0FAE TIBETAN SUBJOINED LETTER ZHA
-0FAF TIBETAN SUBJOINED LETTER ZA
-0FB0 TIBETAN SUBJOINED LETTER -A
- = a-chung
- * rare, only used for full-sized subjoined letter
- x (tibetan vowel sign aa - 0F71)
-0FB1 TIBETAN SUBJOINED LETTER YA
- = ya-btags (ya ta)
-0FB2 TIBETAN SUBJOINED LETTER RA
- = ra-btags (ra ta)
-0FB3 TIBETAN SUBJOINED LETTER LA
-0FB4 TIBETAN SUBJOINED LETTER SHA
-0FB5 TIBETAN SUBJOINED LETTER SSA
- = reversed subjoined sha
-0FB6 TIBETAN SUBJOINED LETTER SA
-0FB7 TIBETAN SUBJOINED LETTER HA
-0FB8 TIBETAN SUBJOINED LETTER A
-0FB9 TIBETAN SUBJOINED LETTER KSSA
- : 0F90 0FB5
-@ Fixed-form subjoined consonants
-@+ These characters are used only for transliteration and transcription.
-0FBA TIBETAN SUBJOINED LETTER FIXED-FORM WA
-0FBB TIBETAN SUBJOINED LETTER FIXED-FORM YA
-0FBC TIBETAN SUBJOINED LETTER FIXED-FORM RA
-@ Signs
-0FBE TIBETAN KU RU KHA
- * often repeated three times; indicates a refrain
-0FBF TIBETAN KU RU KHA BZHI MIG CAN
- * marks point of text insertion or annotation
- x (reference mark - 203B)
-@ Cantillation signs
-0FC0 TIBETAN CANTILLATION SIGN HEAVY BEAT
- * marks a heavy drum beat
-0FC1 TIBETAN CANTILLATION SIGN LIGHT BEAT
- * marks a light drum beat
-0FC2 TIBETAN CANTILLATION SIGN CANG TE-U
- * symbol of a small Tibetan hand drum
-0FC3 TIBETAN CANTILLATION SIGN SBUB -CHAL
- * symbol of a Tibetan cymbal
-@ Symbols
-0FC4 TIBETAN SYMBOL DRIL BU
- * symbol of a Tibetan hand bell
-0FC5 TIBETAN SYMBOL RDO RJE
-0FC6 TIBETAN SYMBOL PADMA GDAN
-0FC7 TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8 TIBETAN SYMBOL PHUR PA
-0FC9 TIBETAN SYMBOL NOR BU
-0FCA TIBETAN SYMBOL NOR BU NYIS -KHYIL
- * the double body symbol
- x (yin yang - 262F)
-0FCB TIBETAN SYMBOL NOR BU GSUM -KHYIL
- * the tri-kaya or triple body symbol
-0FCC TIBETAN SYMBOL NOR BU BZHI -KHYIL
- * the quadruple body symbol, a form of the svasti sign
- x (left-facing svasti sign - 0FD6)
-@ Astrological signs
-0FCE TIBETAN SIGN RDEL NAG RDEL DKAR
- = dena deka
- * signifies good luck earlier, bad luck later
-0FCF TIBETAN SIGN RDEL NAG GSUM
-@ Marks
-0FD0 TIBETAN MARK BSKA- SHOG GI MGO RGYAN
- % TIBETAN MARK BKA- SHOG GI MGO RGYAN
- * used in Bhutan
-0FD1 TIBETAN MARK MNYAM YIG GI MGO RGYAN
- * used in Bhutan
-0FD2 TIBETAN MARK NYIS TSHEG
- = nyi tsek
-@ Head marks
-0FD3 TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
- = da nying yik go dun ma
-0FD4 TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
- = da nying yik go kab ma
-@ Religious symbols
-0FD5 RIGHT-FACING SVASTI SIGN
- = gyung drung nang -khor
- * symbol of good luck and well-being in India
- x 5350
-0FD6 LEFT-FACING SVASTI SIGN
- = gyung drung phyi -khor
- x 534D
-0FD7 RIGHT-FACING SVASTI SIGN WITH DOTS
- = gyung drung nang -khor bzhi mig can
-0FD8 LEFT-FACING SVASTI SIGN WITH DOTS
- = gyung drung phyi -khor bzhi mig can
-@@ 1000 Myanmar 109F
-@ Consonants
-1000 MYANMAR LETTER KA
-1001 MYANMAR LETTER KHA
-1002 MYANMAR LETTER GA
-1003 MYANMAR LETTER GHA
-1004 MYANMAR LETTER NGA
-1005 MYANMAR LETTER CA
-1006 MYANMAR LETTER CHA
-1007 MYANMAR LETTER JA
-1008 MYANMAR LETTER JHA
-1009 MYANMAR LETTER NYA
-100A MYANMAR LETTER NNYA
-100B MYANMAR LETTER TTA
-100C MYANMAR LETTER TTHA
-100D MYANMAR LETTER DDA
-100E MYANMAR LETTER DDHA
-100F MYANMAR LETTER NNA
-1010 MYANMAR LETTER TA
-1011 MYANMAR LETTER THA
-1012 MYANMAR LETTER DA
-1013 MYANMAR LETTER DHA
-1014 MYANMAR LETTER NA
-1015 MYANMAR LETTER PA
-1016 MYANMAR LETTER PHA
-1017 MYANMAR LETTER BA
-1018 MYANMAR LETTER BHA
-1019 MYANMAR LETTER MA
-101A MYANMAR LETTER YA
-101B MYANMAR LETTER RA
-101C MYANMAR LETTER LA
-101D MYANMAR LETTER WA
-101E MYANMAR LETTER SA
-101F MYANMAR LETTER HA
-1020 MYANMAR LETTER LLA
-@ Independent vowels
-1021 MYANMAR LETTER A
- * also represents the glottal stop as a consonant
-1022 MYANMAR LETTER SHAN A
-1023 MYANMAR LETTER I
-1024 MYANMAR LETTER II
-1025 MYANMAR LETTER U
-1026 MYANMAR LETTER UU
- : 1025 102E
-1027 MYANMAR LETTER E
-1028 MYANMAR LETTER MON E
-1029 MYANMAR LETTER O
-102A MYANMAR LETTER AU
-@ Dependent vowel signs
-102B MYANMAR VOWEL SIGN TALL AA
-102C MYANMAR VOWEL SIGN AA
-102D MYANMAR VOWEL SIGN I
-102E MYANMAR VOWEL SIGN II
-102F MYANMAR VOWEL SIGN U
-1030 MYANMAR VOWEL SIGN UU
-1031 MYANMAR VOWEL SIGN E
- * stands to the left of the consonant
-1032 MYANMAR VOWEL SIGN AI
-1033 MYANMAR VOWEL SIGN MON II
-1034 MYANMAR VOWEL SIGN MON O
-1035 MYANMAR VOWEL SIGN E ABOVE
-@ Various signs
-1036 MYANMAR SIGN ANUSVARA
-1037 MYANMAR SIGN DOT BELOW
- = aukmyit
- * a tone mark
-1038 MYANMAR SIGN VISARGA
-1039 MYANMAR SIGN VIRAMA
- = killer (when rendered visibly)
-103A MYANMAR SIGN ASAT
- = killer (always rendered visibly)
-@ Dependent consonant signs
-103B MYANMAR CONSONANT SIGN MEDIAL YA
-103C MYANMAR CONSONANT SIGN MEDIAL RA
-103D MYANMAR CONSONANT SIGN MEDIAL WA
-103E MYANMAR CONSONANT SIGN MEDIAL HA
-@ Consonant
-103F MYANMAR LETTER GREAT SA
-@ Digits
-1040 MYANMAR DIGIT ZERO
-1041 MYANMAR DIGIT ONE
-1042 MYANMAR DIGIT TWO
-1043 MYANMAR DIGIT THREE
-1044 MYANMAR DIGIT FOUR
-1045 MYANMAR DIGIT FIVE
-1046 MYANMAR DIGIT SIX
-1047 MYANMAR DIGIT SEVEN
-1048 MYANMAR DIGIT EIGHT
-1049 MYANMAR DIGIT NINE
-@ Punctuation
-104A MYANMAR SIGN LITTLE SECTION
- x (devanagari danda - 0964)
-104B MYANMAR SIGN SECTION
- x (devanagari double danda - 0965)
-@ Various signs
-104C MYANMAR SYMBOL LOCATIVE
-104D MYANMAR SYMBOL COMPLETED
-104E MYANMAR SYMBOL AFOREMENTIONED
-104F MYANMAR SYMBOL GENITIVE
-@ Pali and Sanskrit extensions
-1050 MYANMAR LETTER SHA
-1051 MYANMAR LETTER SSA
-1052 MYANMAR LETTER VOCALIC R
-1053 MYANMAR LETTER VOCALIC RR
-1054 MYANMAR LETTER VOCALIC L
-1055 MYANMAR LETTER VOCALIC LL
-1056 MYANMAR VOWEL SIGN VOCALIC R
-1057 MYANMAR VOWEL SIGN VOCALIC RR
-1058 MYANMAR VOWEL SIGN VOCALIC L
-1059 MYANMAR VOWEL SIGN VOCALIC LL
-@ Extensions for Mon
-105A MYANMAR LETTER MON NGA
-105B MYANMAR LETTER MON JHA
-105C MYANMAR LETTER MON BBA
-105D MYANMAR LETTER MON BBE
-105E MYANMAR CONSONANT SIGN MON MEDIAL NA
-105F MYANMAR CONSONANT SIGN MON MEDIAL MA
-1060 MYANMAR CONSONANT SIGN MON MEDIAL LA
-@ Extensions for S'gaw Karen
-1061 MYANMAR LETTER SGAW KAREN SHA
-1062 MYANMAR VOWEL SIGN SGAW KAREN EU
-1063 MYANMAR TONE MARK SGAW KAREN HATHI
-1064 MYANMAR TONE MARK SGAW KAREN KE PHO
-@ Extensions for Western Pwo Karen
-1065 MYANMAR LETTER WESTERN PWO KAREN THA
-1066 MYANMAR LETTER WESTERN PWO KAREN PWA
-1067 MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068 MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1069 MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D MYANMAR SIGN WESTERN PWO KAREN TONE-5
-@ Extensions for Eastern Pwo Karen
-106E MYANMAR LETTER EASTERN PWO KAREN NNA
-106F MYANMAR LETTER EASTERN PWO KAREN YWA
-1070 MYANMAR LETTER EASTERN PWO KAREN GHWA
-@ Extension for Geba Karen
-1071 MYANMAR VOWEL SIGN GEBA KAREN I
-@ Extensions for Kayah
-1072 MYANMAR VOWEL SIGN KAYAH OE
-1073 MYANMAR VOWEL SIGN KAYAH U
-1074 MYANMAR VOWEL SIGN KAYAH EE
-@ Extensions for Shan
-1075 MYANMAR LETTER SHAN KA
-1076 MYANMAR LETTER SHAN KHA
-1077 MYANMAR LETTER SHAN GA
-1078 MYANMAR LETTER SHAN CA
-1079 MYANMAR LETTER SHAN ZA
-107A MYANMAR LETTER SHAN NYA
-107B MYANMAR LETTER SHAN DA
-107C MYANMAR LETTER SHAN NA
-107D MYANMAR LETTER SHAN PHA
-107E MYANMAR LETTER SHAN FA
-107F MYANMAR LETTER SHAN BA
-1080 MYANMAR LETTER SHAN THA
-1081 MYANMAR LETTER SHAN HA
-1082 MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083 MYANMAR VOWEL SIGN SHAN AA
-1084 MYANMAR VOWEL SIGN SHAN E
-1085 MYANMAR VOWEL SIGN SHAN E ABOVE
-1086 MYANMAR VOWEL SIGN SHAN FINAL Y
-1087 MYANMAR SIGN SHAN TONE-2
-1088 MYANMAR SIGN SHAN TONE-3
-1089 MYANMAR SIGN SHAN TONE-5
-108A MYANMAR SIGN SHAN TONE-6
-108B MYANMAR SIGN SHAN COUNCIL TONE-2
-108C MYANMAR SIGN SHAN COUNCIL TONE-3
-108D MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-@ Extensions for Rumai Palaung
-108E MYANMAR LETTER RUMAI PALAUNG FA
-108F MYANMAR SIGN RUMAI PALAUNG TONE-5
-@ Shan digits
-1090 MYANMAR SHAN DIGIT ZERO
-1091 MYANMAR SHAN DIGIT ONE
-1092 MYANMAR SHAN DIGIT TWO
-1093 MYANMAR SHAN DIGIT THREE
-1094 MYANMAR SHAN DIGIT FOUR
-1095 MYANMAR SHAN DIGIT FIVE
-1096 MYANMAR SHAN DIGIT SIX
-1097 MYANMAR SHAN DIGIT SEVEN
-1098 MYANMAR SHAN DIGIT EIGHT
-1099 MYANMAR SHAN DIGIT NINE
-@ Extensions for Khamti Shan
-109A MYANMAR SIGN KHAMTI TONE-1
-109B MYANMAR SIGN KHAMTI TONE-3
-@ Extensions for Aiton and Phake
-109C MYANMAR VOWEL SIGN AITON A
-109D MYANMAR VOWEL SIGN AITON AI
-@ Shan symbols
-109E MYANMAR SYMBOL SHAN ONE
-109F MYANMAR SYMBOL SHAN EXCLAMATION
-@@ 10A0 Georgian 10FF
-@ Capital letters (Khutsuri)
-@+ This is the uppercase of the old ecclesiastical alphabet. The style shown in the code charts is known as Asomtavruli. See the Georgian Supplement block for lowercase Nuskhuri.
-10A0 GEORGIAN CAPITAL LETTER AN
-10A1 GEORGIAN CAPITAL LETTER BAN
-10A2 GEORGIAN CAPITAL LETTER GAN
-10A3 GEORGIAN CAPITAL LETTER DON
-10A4 GEORGIAN CAPITAL LETTER EN
-10A5 GEORGIAN CAPITAL LETTER VIN
-10A6 GEORGIAN CAPITAL LETTER ZEN
-10A7 GEORGIAN CAPITAL LETTER TAN
-10A8 GEORGIAN CAPITAL LETTER IN
-10A9 GEORGIAN CAPITAL LETTER KAN
-10AA GEORGIAN CAPITAL LETTER LAS
-10AB GEORGIAN CAPITAL LETTER MAN
-10AC GEORGIAN CAPITAL LETTER NAR
-10AD GEORGIAN CAPITAL LETTER ON
-10AE GEORGIAN CAPITAL LETTER PAR
-10AF GEORGIAN CAPITAL LETTER ZHAR
-10B0 GEORGIAN CAPITAL LETTER RAE
-10B1 GEORGIAN CAPITAL LETTER SAN
-10B2 GEORGIAN CAPITAL LETTER TAR
-10B3 GEORGIAN CAPITAL LETTER UN
-10B4 GEORGIAN CAPITAL LETTER PHAR
-10B5 GEORGIAN CAPITAL LETTER KHAR
-10B6 GEORGIAN CAPITAL LETTER GHAN
-10B7 GEORGIAN CAPITAL LETTER QAR
-10B8 GEORGIAN CAPITAL LETTER SHIN
-10B9 GEORGIAN CAPITAL LETTER CHIN
-10BA GEORGIAN CAPITAL LETTER CAN
-10BB GEORGIAN CAPITAL LETTER JIL
-10BC GEORGIAN CAPITAL LETTER CIL
-10BD GEORGIAN CAPITAL LETTER CHAR
-10BE GEORGIAN CAPITAL LETTER XAN
-10BF GEORGIAN CAPITAL LETTER JHAN
-10C0 GEORGIAN CAPITAL LETTER HAE
-10C1 GEORGIAN CAPITAL LETTER HE
-10C2 GEORGIAN CAPITAL LETTER HIE
-10C3 GEORGIAN CAPITAL LETTER WE
-10C4 GEORGIAN CAPITAL LETTER HAR
-10C5 GEORGIAN CAPITAL LETTER HOE
-@ Mkhedruli
-@+ This is the modern secular alphabet, which is caseless.
-10D0 GEORGIAN LETTER AN
-10D1 GEORGIAN LETTER BAN
-10D2 GEORGIAN LETTER GAN
-10D3 GEORGIAN LETTER DON
-10D4 GEORGIAN LETTER EN
-10D5 GEORGIAN LETTER VIN
-10D6 GEORGIAN LETTER ZEN
-10D7 GEORGIAN LETTER TAN
-10D8 GEORGIAN LETTER IN
-10D9 GEORGIAN LETTER KAN
-10DA GEORGIAN LETTER LAS
-10DB GEORGIAN LETTER MAN
-10DC GEORGIAN LETTER NAR
-10DD GEORGIAN LETTER ON
-10DE GEORGIAN LETTER PAR
-10DF GEORGIAN LETTER ZHAR
-10E0 GEORGIAN LETTER RAE
-10E1 GEORGIAN LETTER SAN
-10E2 GEORGIAN LETTER TAR
-10E3 GEORGIAN LETTER UN
-10E4 GEORGIAN LETTER PHAR
-10E5 GEORGIAN LETTER KHAR
-10E6 GEORGIAN LETTER GHAN
-10E7 GEORGIAN LETTER QAR
-10E8 GEORGIAN LETTER SHIN
-10E9 GEORGIAN LETTER CHIN
-10EA GEORGIAN LETTER CAN
-10EB GEORGIAN LETTER JIL
-10EC GEORGIAN LETTER CIL
-10ED GEORGIAN LETTER CHAR
-10EE GEORGIAN LETTER XAN
-10EF GEORGIAN LETTER JHAN
-10F0 GEORGIAN LETTER HAE
-@ Archaic letters
-10F1 GEORGIAN LETTER HE
-10F2 GEORGIAN LETTER HIE
-10F3 GEORGIAN LETTER WE
-10F4 GEORGIAN LETTER HAR
-10F5 GEORGIAN LETTER HOE
-10F6 GEORGIAN LETTER FI
-@ Additional letters for Mingrelian and Svan
-10F7 GEORGIAN LETTER YN
-10F8 GEORGIAN LETTER ELIFI
-@ Additional letters
-10F9 GEORGIAN LETTER TURNED GAN
-10FA GEORGIAN LETTER AIN
-@ Punctuation
-10FB GEORGIAN PARAGRAPH SEPARATOR
-@ Modifier letter
-10FC MODIFIER LETTER GEORGIAN NAR
- # <super> 10DC
-@@ 1100 Hangul Jamo 11FF
-@+ The aliases in this block represent the Jamo short names.
-@ Initial consonants
-1100 HANGUL CHOSEONG KIYEOK
- = G
-1101 HANGUL CHOSEONG SSANGKIYEOK
- = GG
-1102 HANGUL CHOSEONG NIEUN
- = N
-1103 HANGUL CHOSEONG TIKEUT
- = D
-1104 HANGUL CHOSEONG SSANGTIKEUT
- = DD
-1105 HANGUL CHOSEONG RIEUL
- = R
-1106 HANGUL CHOSEONG MIEUM
- = M
-1107 HANGUL CHOSEONG PIEUP
- = B
-1108 HANGUL CHOSEONG SSANGPIEUP
- = BB
-1109 HANGUL CHOSEONG SIOS
- = S
-110A HANGUL CHOSEONG SSANGSIOS
- = SS
-110B HANGUL CHOSEONG IEUNG
-110C HANGUL CHOSEONG CIEUC
- = J
-110D HANGUL CHOSEONG SSANGCIEUC
- = JJ
-110E HANGUL CHOSEONG CHIEUCH
- = C
-110F HANGUL CHOSEONG KHIEUKH
- = K
-1110 HANGUL CHOSEONG THIEUTH
- = T
-1111 HANGUL CHOSEONG PHIEUPH
- = P
-1112 HANGUL CHOSEONG HIEUH
- = H
-1113 HANGUL CHOSEONG NIEUN-KIYEOK
-1114 HANGUL CHOSEONG SSANGNIEUN
-1115 HANGUL CHOSEONG NIEUN-TIKEUT
-1116 HANGUL CHOSEONG NIEUN-PIEUP
-1117 HANGUL CHOSEONG TIKEUT-KIYEOK
-1118 HANGUL CHOSEONG RIEUL-NIEUN
-1119 HANGUL CHOSEONG SSANGRIEUL
-111A HANGUL CHOSEONG RIEUL-HIEUH
-111B HANGUL CHOSEONG KAPYEOUNRIEUL
-111C HANGUL CHOSEONG MIEUM-PIEUP
-111D HANGUL CHOSEONG KAPYEOUNMIEUM
-111E HANGUL CHOSEONG PIEUP-KIYEOK
-111F HANGUL CHOSEONG PIEUP-NIEUN
-1120 HANGUL CHOSEONG PIEUP-TIKEUT
-1121 HANGUL CHOSEONG PIEUP-SIOS
-1122 HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-1123 HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-1124 HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125 HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126 HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127 HANGUL CHOSEONG PIEUP-CIEUC
-1128 HANGUL CHOSEONG PIEUP-CHIEUCH
-1129 HANGUL CHOSEONG PIEUP-THIEUTH
-112A HANGUL CHOSEONG PIEUP-PHIEUPH
-112B HANGUL CHOSEONG KAPYEOUNPIEUP
-112C HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-112D HANGUL CHOSEONG SIOS-KIYEOK
-112E HANGUL CHOSEONG SIOS-NIEUN
-112F HANGUL CHOSEONG SIOS-TIKEUT
-1130 HANGUL CHOSEONG SIOS-RIEUL
-1131 HANGUL CHOSEONG SIOS-MIEUM
-1132 HANGUL CHOSEONG SIOS-PIEUP
-1133 HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134 HANGUL CHOSEONG SIOS-SSANGSIOS
-1135 HANGUL CHOSEONG SIOS-IEUNG
-1136 HANGUL CHOSEONG SIOS-CIEUC
-1137 HANGUL CHOSEONG SIOS-CHIEUCH
-1138 HANGUL CHOSEONG SIOS-KHIEUKH
-1139 HANGUL CHOSEONG SIOS-THIEUTH
-113A HANGUL CHOSEONG SIOS-PHIEUPH
-113B HANGUL CHOSEONG SIOS-HIEUH
-113C HANGUL CHOSEONG CHITUEUMSIOS
-113D HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140 HANGUL CHOSEONG PANSIOS
-1141 HANGUL CHOSEONG IEUNG-KIYEOK
-1142 HANGUL CHOSEONG IEUNG-TIKEUT
-1143 HANGUL CHOSEONG IEUNG-MIEUM
-1144 HANGUL CHOSEONG IEUNG-PIEUP
-1145 HANGUL CHOSEONG IEUNG-SIOS
-1146 HANGUL CHOSEONG IEUNG-PANSIOS
-1147 HANGUL CHOSEONG SSANGIEUNG
-1148 HANGUL CHOSEONG IEUNG-CIEUC
-1149 HANGUL CHOSEONG IEUNG-CHIEUCH
-114A HANGUL CHOSEONG IEUNG-THIEUTH
-114B HANGUL CHOSEONG IEUNG-PHIEUPH
-114C HANGUL CHOSEONG YESIEUNG
-114D HANGUL CHOSEONG CIEUC-IEUNG
-114E HANGUL CHOSEONG CHITUEUMCIEUC
-114F HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150 HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151 HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152 HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153 HANGUL CHOSEONG CHIEUCH-HIEUH
-1154 HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155 HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156 HANGUL CHOSEONG PHIEUPH-PIEUP
-1157 HANGUL CHOSEONG KAPYEOUNPHIEUPH
-1158 HANGUL CHOSEONG SSANGHIEUH
-1159 HANGUL CHOSEONG YEORINHIEUH
-115A HANGUL CHOSEONG KIYEOK-TIKEUT
-115B HANGUL CHOSEONG NIEUN-SIOS
-115C HANGUL CHOSEONG NIEUN-CIEUC
-115D HANGUL CHOSEONG NIEUN-HIEUH
-115E HANGUL CHOSEONG TIKEUT-RIEUL
-115F HANGUL CHOSEONG FILLER
-@ Medial vowels
-1160 HANGUL JUNGSEONG FILLER
-1161 HANGUL JUNGSEONG A
- = A
-1162 HANGUL JUNGSEONG AE
- = AE
-1163 HANGUL JUNGSEONG YA
- = YA
-1164 HANGUL JUNGSEONG YAE
- = YAE
-1165 HANGUL JUNGSEONG EO
- = EO
-1166 HANGUL JUNGSEONG E
- = E
-1167 HANGUL JUNGSEONG YEO
- = YEO
-1168 HANGUL JUNGSEONG YE
- = YE
-1169 HANGUL JUNGSEONG O
- = O
-116A HANGUL JUNGSEONG WA
- = WA
-116B HANGUL JUNGSEONG WAE
- = WAE
-116C HANGUL JUNGSEONG OE
- = OE
-116D HANGUL JUNGSEONG YO
- = YO
-116E HANGUL JUNGSEONG U
- = U
-116F HANGUL JUNGSEONG WEO
- = WEO
-1170 HANGUL JUNGSEONG WE
- = WE
-1171 HANGUL JUNGSEONG WI
- = WI
-1172 HANGUL JUNGSEONG YU
- = YU
-1173 HANGUL JUNGSEONG EU
- = EU
-1174 HANGUL JUNGSEONG YI
- = YI
-1175 HANGUL JUNGSEONG I
- = I
-1176 HANGUL JUNGSEONG A-O
-1177 HANGUL JUNGSEONG A-U
-1178 HANGUL JUNGSEONG YA-O
-1179 HANGUL JUNGSEONG YA-YO
-117A HANGUL JUNGSEONG EO-O
-117B HANGUL JUNGSEONG EO-U
-117C HANGUL JUNGSEONG EO-EU
-117D HANGUL JUNGSEONG YEO-O
-117E HANGUL JUNGSEONG YEO-U
-117F HANGUL JUNGSEONG O-EO
-1180 HANGUL JUNGSEONG O-E
-1181 HANGUL JUNGSEONG O-YE
-1182 HANGUL JUNGSEONG O-O
-1183 HANGUL JUNGSEONG O-U
-1184 HANGUL JUNGSEONG YO-YA
-1185 HANGUL JUNGSEONG YO-YAE
-1186 HANGUL JUNGSEONG YO-YEO
-1187 HANGUL JUNGSEONG YO-O
-1188 HANGUL JUNGSEONG YO-I
-1189 HANGUL JUNGSEONG U-A
-118A HANGUL JUNGSEONG U-AE
-118B HANGUL JUNGSEONG U-EO-EU
-118C HANGUL JUNGSEONG U-YE
-118D HANGUL JUNGSEONG U-U
-118E HANGUL JUNGSEONG YU-A
-118F HANGUL JUNGSEONG YU-EO
-1190 HANGUL JUNGSEONG YU-E
-1191 HANGUL JUNGSEONG YU-YEO
-1192 HANGUL JUNGSEONG YU-YE
-1193 HANGUL JUNGSEONG YU-U
-1194 HANGUL JUNGSEONG YU-I
-1195 HANGUL JUNGSEONG EU-U
-1196 HANGUL JUNGSEONG EU-EU
-1197 HANGUL JUNGSEONG YI-U
-1198 HANGUL JUNGSEONG I-A
-1199 HANGUL JUNGSEONG I-YA
-119A HANGUL JUNGSEONG I-O
-119B HANGUL JUNGSEONG I-U
-119C HANGUL JUNGSEONG I-EU
-119D HANGUL JUNGSEONG I-ARAEA
-119E HANGUL JUNGSEONG ARAEA
-119F HANGUL JUNGSEONG ARAEA-EO
-11A0 HANGUL JUNGSEONG ARAEA-U
-11A1 HANGUL JUNGSEONG ARAEA-I
-11A2 HANGUL JUNGSEONG SSANGARAEA
-11A3 HANGUL JUNGSEONG A-EU
-11A4 HANGUL JUNGSEONG YA-U
-11A5 HANGUL JUNGSEONG YEO-YA
-11A6 HANGUL JUNGSEONG O-YA
-11A7 HANGUL JUNGSEONG O-YAE
-@ Final consonants
-11A8 HANGUL JONGSEONG KIYEOK
- = G
-11A9 HANGUL JONGSEONG SSANGKIYEOK
- = GG
-11AA HANGUL JONGSEONG KIYEOK-SIOS
- = GS
-11AB HANGUL JONGSEONG NIEUN
- = N
-11AC HANGUL JONGSEONG NIEUN-CIEUC
- = NJ
-11AD HANGUL JONGSEONG NIEUN-HIEUH
- = NH
-11AE HANGUL JONGSEONG TIKEUT
- = D
-11AF HANGUL JONGSEONG RIEUL
- = L
-11B0 HANGUL JONGSEONG RIEUL-KIYEOK
- = LG
-11B1 HANGUL JONGSEONG RIEUL-MIEUM
- = LM
-11B2 HANGUL JONGSEONG RIEUL-PIEUP
- = LB
-11B3 HANGUL JONGSEONG RIEUL-SIOS
- = LS
-11B4 HANGUL JONGSEONG RIEUL-THIEUTH
- = LT
-11B5 HANGUL JONGSEONG RIEUL-PHIEUPH
- = LP
-11B6 HANGUL JONGSEONG RIEUL-HIEUH
- = LH
-11B7 HANGUL JONGSEONG MIEUM
- = M
-11B8 HANGUL JONGSEONG PIEUP
- = B
-11B9 HANGUL JONGSEONG PIEUP-SIOS
- = BS
-11BA HANGUL JONGSEONG SIOS
- = S
-11BB HANGUL JONGSEONG SSANGSIOS
- = SS
-11BC HANGUL JONGSEONG IEUNG
- = NG
-11BD HANGUL JONGSEONG CIEUC
- = J
-11BE HANGUL JONGSEONG CHIEUCH
- = C
-11BF HANGUL JONGSEONG KHIEUKH
- = K
-11C0 HANGUL JONGSEONG THIEUTH
- = T
-11C1 HANGUL JONGSEONG PHIEUPH
- = P
-11C2 HANGUL JONGSEONG HIEUH
- = H
-11C3 HANGUL JONGSEONG KIYEOK-RIEUL
-11C4 HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5 HANGUL JONGSEONG NIEUN-KIYEOK
-11C6 HANGUL JONGSEONG NIEUN-TIKEUT
-11C7 HANGUL JONGSEONG NIEUN-SIOS
-11C8 HANGUL JONGSEONG NIEUN-PANSIOS
-11C9 HANGUL JONGSEONG NIEUN-THIEUTH
-11CA HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB HANGUL JONGSEONG TIKEUT-RIEUL
-11CC HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-11CD HANGUL JONGSEONG RIEUL-NIEUN
-11CE HANGUL JONGSEONG RIEUL-TIKEUT
-11CF HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0 HANGUL JONGSEONG SSANGRIEUL
-11D1 HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2 HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3 HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-11D4 HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5 HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6 HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7 HANGUL JONGSEONG RIEUL-PANSIOS
-11D8 HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9 HANGUL JONGSEONG RIEUL-YEORINHIEUH
-11DA HANGUL JONGSEONG MIEUM-KIYEOK
-11DB HANGUL JONGSEONG MIEUM-RIEUL
-11DC HANGUL JONGSEONG MIEUM-PIEUP
-11DD HANGUL JONGSEONG MIEUM-SIOS
-11DE HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF HANGUL JONGSEONG MIEUM-PANSIOS
-11E0 HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1 HANGUL JONGSEONG MIEUM-HIEUH
-11E2 HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3 HANGUL JONGSEONG PIEUP-RIEUL
-11E4 HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5 HANGUL JONGSEONG PIEUP-HIEUH
-11E6 HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7 HANGUL JONGSEONG SIOS-KIYEOK
-11E8 HANGUL JONGSEONG SIOS-TIKEUT
-11E9 HANGUL JONGSEONG SIOS-RIEUL
-11EA HANGUL JONGSEONG SIOS-PIEUP
-11EB HANGUL JONGSEONG PANSIOS
-11EC HANGUL JONGSEONG IEUNG-KIYEOK
- = yesieung-kiyeok
-11ED HANGUL JONGSEONG IEUNG-SSANGKIYEOK
- = yesieung-ssangkiyeok
-11EE HANGUL JONGSEONG SSANGIEUNG
- = ssangyesieung
-11EF HANGUL JONGSEONG IEUNG-KHIEUKH
- = yesieung-khieukh
-11F0 HANGUL JONGSEONG YESIEUNG
-11F1 HANGUL JONGSEONG YESIEUNG-SIOS
-11F2 HANGUL JONGSEONG YESIEUNG-PANSIOS
-11F3 HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4 HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5 HANGUL JONGSEONG HIEUH-NIEUN
-11F6 HANGUL JONGSEONG HIEUH-RIEUL
-11F7 HANGUL JONGSEONG HIEUH-MIEUM
-11F8 HANGUL JONGSEONG HIEUH-PIEUP
-11F9 HANGUL JONGSEONG YEORINHIEUH
-11FA HANGUL JONGSEONG KIYEOK-NIEUN
-11FB HANGUL JONGSEONG KIYEOK-PIEUP
-11FC HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE HANGUL JONGSEONG KIYEOK-HIEUH
-11FF HANGUL JONGSEONG SSANGNIEUN
-@@ 1200 Ethiopic 137F
-@@+
-@ Syllables
-1200 ETHIOPIC SYLLABLE HA
-1201 ETHIOPIC SYLLABLE HU
-1202 ETHIOPIC SYLLABLE HI
-1203 ETHIOPIC SYLLABLE HAA
-1204 ETHIOPIC SYLLABLE HEE
-1205 ETHIOPIC SYLLABLE HE
-1206 ETHIOPIC SYLLABLE HO
-1207 ETHIOPIC SYLLABLE HOA
-1208 ETHIOPIC SYLLABLE LA
-1209 ETHIOPIC SYLLABLE LU
-120A ETHIOPIC SYLLABLE LI
-120B ETHIOPIC SYLLABLE LAA
-120C ETHIOPIC SYLLABLE LEE
-120D ETHIOPIC SYLLABLE LE
-120E ETHIOPIC SYLLABLE LO
-120F ETHIOPIC SYLLABLE LWA
-1210 ETHIOPIC SYLLABLE HHA
-1211 ETHIOPIC SYLLABLE HHU
-1212 ETHIOPIC SYLLABLE HHI
-1213 ETHIOPIC SYLLABLE HHAA
-1214 ETHIOPIC SYLLABLE HHEE
-1215 ETHIOPIC SYLLABLE HHE
-1216 ETHIOPIC SYLLABLE HHO
-1217 ETHIOPIC SYLLABLE HHWA
-1218 ETHIOPIC SYLLABLE MA
-1219 ETHIOPIC SYLLABLE MU
-121A ETHIOPIC SYLLABLE MI
-121B ETHIOPIC SYLLABLE MAA
-121C ETHIOPIC SYLLABLE MEE
-121D ETHIOPIC SYLLABLE ME
-121E ETHIOPIC SYLLABLE MO
-121F ETHIOPIC SYLLABLE MWA
-1220 ETHIOPIC SYLLABLE SZA
-1221 ETHIOPIC SYLLABLE SZU
-1222 ETHIOPIC SYLLABLE SZI
-1223 ETHIOPIC SYLLABLE SZAA
-1224 ETHIOPIC SYLLABLE SZEE
-1225 ETHIOPIC SYLLABLE SZE
-1226 ETHIOPIC SYLLABLE SZO
-1227 ETHIOPIC SYLLABLE SZWA
-1228 ETHIOPIC SYLLABLE RA
-1229 ETHIOPIC SYLLABLE RU
-122A ETHIOPIC SYLLABLE RI
-122B ETHIOPIC SYLLABLE RAA
-122C ETHIOPIC SYLLABLE REE
-122D ETHIOPIC SYLLABLE RE
-122E ETHIOPIC SYLLABLE RO
-122F ETHIOPIC SYLLABLE RWA
-1230 ETHIOPIC SYLLABLE SA
-1231 ETHIOPIC SYLLABLE SU
-1232 ETHIOPIC SYLLABLE SI
-1233 ETHIOPIC SYLLABLE SAA
-1234 ETHIOPIC SYLLABLE SEE
-1235 ETHIOPIC SYLLABLE SE
-1236 ETHIOPIC SYLLABLE SO
-1237 ETHIOPIC SYLLABLE SWA
-1238 ETHIOPIC SYLLABLE SHA
-1239 ETHIOPIC SYLLABLE SHU
-123A ETHIOPIC SYLLABLE SHI
-123B ETHIOPIC SYLLABLE SHAA
-123C ETHIOPIC SYLLABLE SHEE
-123D ETHIOPIC SYLLABLE SHE
-123E ETHIOPIC SYLLABLE SHO
-123F ETHIOPIC SYLLABLE SHWA
-1240 ETHIOPIC SYLLABLE QA
-1241 ETHIOPIC SYLLABLE QU
-1242 ETHIOPIC SYLLABLE QI
-1243 ETHIOPIC SYLLABLE QAA
-1244 ETHIOPIC SYLLABLE QEE
-1245 ETHIOPIC SYLLABLE QE
-1246 ETHIOPIC SYLLABLE QO
-1247 ETHIOPIC SYLLABLE QOA
-1248 ETHIOPIC SYLLABLE QWA
-124A ETHIOPIC SYLLABLE QWI
-124B ETHIOPIC SYLLABLE QWAA
-124C ETHIOPIC SYLLABLE QWEE
-124D ETHIOPIC SYLLABLE QWE
-1250 ETHIOPIC SYLLABLE QHA
-1251 ETHIOPIC SYLLABLE QHU
-1252 ETHIOPIC SYLLABLE QHI
-1253 ETHIOPIC SYLLABLE QHAA
-1254 ETHIOPIC SYLLABLE QHEE
-1255 ETHIOPIC SYLLABLE QHE
-1256 ETHIOPIC SYLLABLE QHO
-1258 ETHIOPIC SYLLABLE QHWA
-125A ETHIOPIC SYLLABLE QHWI
-125B ETHIOPIC SYLLABLE QHWAA
-125C ETHIOPIC SYLLABLE QHWEE
-125D ETHIOPIC SYLLABLE QHWE
-1260 ETHIOPIC SYLLABLE BA
-1261 ETHIOPIC SYLLABLE BU
-1262 ETHIOPIC SYLLABLE BI
-1263 ETHIOPIC SYLLABLE BAA
-1264 ETHIOPIC SYLLABLE BEE
-1265 ETHIOPIC SYLLABLE BE
-1266 ETHIOPIC SYLLABLE BO
-1267 ETHIOPIC SYLLABLE BWA
-1268 ETHIOPIC SYLLABLE VA
-1269 ETHIOPIC SYLLABLE VU
-126A ETHIOPIC SYLLABLE VI
-126B ETHIOPIC SYLLABLE VAA
-126C ETHIOPIC SYLLABLE VEE
-126D ETHIOPIC SYLLABLE VE
-126E ETHIOPIC SYLLABLE VO
-126F ETHIOPIC SYLLABLE VWA
-1270 ETHIOPIC SYLLABLE TA
-1271 ETHIOPIC SYLLABLE TU
-1272 ETHIOPIC SYLLABLE TI
-1273 ETHIOPIC SYLLABLE TAA
-1274 ETHIOPIC SYLLABLE TEE
-1275 ETHIOPIC SYLLABLE TE
-1276 ETHIOPIC SYLLABLE TO
-1277 ETHIOPIC SYLLABLE TWA
-1278 ETHIOPIC SYLLABLE CA
-1279 ETHIOPIC SYLLABLE CU
-127A ETHIOPIC SYLLABLE CI
-127B ETHIOPIC SYLLABLE CAA
-127C ETHIOPIC SYLLABLE CEE
-127D ETHIOPIC SYLLABLE CE
-127E ETHIOPIC SYLLABLE CO
-127F ETHIOPIC SYLLABLE CWA
-1280 ETHIOPIC SYLLABLE XA
-1281 ETHIOPIC SYLLABLE XU
-1282 ETHIOPIC SYLLABLE XI
-1283 ETHIOPIC SYLLABLE XAA
-1284 ETHIOPIC SYLLABLE XEE
-1285 ETHIOPIC SYLLABLE XE
-1286 ETHIOPIC SYLLABLE XO
-1287 ETHIOPIC SYLLABLE XOA
-1288 ETHIOPIC SYLLABLE XWA
-128A ETHIOPIC SYLLABLE XWI
-128B ETHIOPIC SYLLABLE XWAA
-128C ETHIOPIC SYLLABLE XWEE
-128D ETHIOPIC SYLLABLE XWE
-1290 ETHIOPIC SYLLABLE NA
-1291 ETHIOPIC SYLLABLE NU
-1292 ETHIOPIC SYLLABLE NI
-1293 ETHIOPIC SYLLABLE NAA
-1294 ETHIOPIC SYLLABLE NEE
-1295 ETHIOPIC SYLLABLE NE
-1296 ETHIOPIC SYLLABLE NO
-1297 ETHIOPIC SYLLABLE NWA
-1298 ETHIOPIC SYLLABLE NYA
-1299 ETHIOPIC SYLLABLE NYU
-129A ETHIOPIC SYLLABLE NYI
-129B ETHIOPIC SYLLABLE NYAA
-129C ETHIOPIC SYLLABLE NYEE
-129D ETHIOPIC SYLLABLE NYE
-129E ETHIOPIC SYLLABLE NYO
-129F ETHIOPIC SYLLABLE NYWA
-12A0 ETHIOPIC SYLLABLE GLOTTAL A
-12A1 ETHIOPIC SYLLABLE GLOTTAL U
-12A2 ETHIOPIC SYLLABLE GLOTTAL I
-12A3 ETHIOPIC SYLLABLE GLOTTAL AA
-12A4 ETHIOPIC SYLLABLE GLOTTAL EE
-12A5 ETHIOPIC SYLLABLE GLOTTAL E
-12A6 ETHIOPIC SYLLABLE GLOTTAL O
-12A7 ETHIOPIC SYLLABLE GLOTTAL WA
-12A8 ETHIOPIC SYLLABLE KA
-12A9 ETHIOPIC SYLLABLE KU
-12AA ETHIOPIC SYLLABLE KI
-12AB ETHIOPIC SYLLABLE KAA
-12AC ETHIOPIC SYLLABLE KEE
-12AD ETHIOPIC SYLLABLE KE
-12AE ETHIOPIC SYLLABLE KO
-12AF ETHIOPIC SYLLABLE KOA
-12B0 ETHIOPIC SYLLABLE KWA
-12B2 ETHIOPIC SYLLABLE KWI
-12B3 ETHIOPIC SYLLABLE KWAA
-12B4 ETHIOPIC SYLLABLE KWEE
-12B5 ETHIOPIC SYLLABLE KWE
-12B8 ETHIOPIC SYLLABLE KXA
-12B9 ETHIOPIC SYLLABLE KXU
-12BA ETHIOPIC SYLLABLE KXI
-12BB ETHIOPIC SYLLABLE KXAA
-12BC ETHIOPIC SYLLABLE KXEE
-12BD ETHIOPIC SYLLABLE KXE
-12BE ETHIOPIC SYLLABLE KXO
-12C0 ETHIOPIC SYLLABLE KXWA
-12C2 ETHIOPIC SYLLABLE KXWI
-12C3 ETHIOPIC SYLLABLE KXWAA
-12C4 ETHIOPIC SYLLABLE KXWEE
-12C5 ETHIOPIC SYLLABLE KXWE
-12C8 ETHIOPIC SYLLABLE WA
-12C9 ETHIOPIC SYLLABLE WU
-12CA ETHIOPIC SYLLABLE WI
-12CB ETHIOPIC SYLLABLE WAA
-12CC ETHIOPIC SYLLABLE WEE
-12CD ETHIOPIC SYLLABLE WE
-12CE ETHIOPIC SYLLABLE WO
-12CF ETHIOPIC SYLLABLE WOA
-12D0 ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1 ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2 ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3 ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4 ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5 ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6 ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8 ETHIOPIC SYLLABLE ZA
-12D9 ETHIOPIC SYLLABLE ZU
-12DA ETHIOPIC SYLLABLE ZI
-12DB ETHIOPIC SYLLABLE ZAA
-12DC ETHIOPIC SYLLABLE ZEE
-12DD ETHIOPIC SYLLABLE ZE
-12DE ETHIOPIC SYLLABLE ZO
-12DF ETHIOPIC SYLLABLE ZWA
-12E0 ETHIOPIC SYLLABLE ZHA
-12E1 ETHIOPIC SYLLABLE ZHU
-12E2 ETHIOPIC SYLLABLE ZHI
-12E3 ETHIOPIC SYLLABLE ZHAA
-12E4 ETHIOPIC SYLLABLE ZHEE
-12E5 ETHIOPIC SYLLABLE ZHE
-12E6 ETHIOPIC SYLLABLE ZHO
-12E7 ETHIOPIC SYLLABLE ZHWA
-12E8 ETHIOPIC SYLLABLE YA
-12E9 ETHIOPIC SYLLABLE YU
-12EA ETHIOPIC SYLLABLE YI
-12EB ETHIOPIC SYLLABLE YAA
-12EC ETHIOPIC SYLLABLE YEE
-12ED ETHIOPIC SYLLABLE YE
-12EE ETHIOPIC SYLLABLE YO
-12EF ETHIOPIC SYLLABLE YOA
-12F0 ETHIOPIC SYLLABLE DA
-12F1 ETHIOPIC SYLLABLE DU
-12F2 ETHIOPIC SYLLABLE DI
-12F3 ETHIOPIC SYLLABLE DAA
-12F4 ETHIOPIC SYLLABLE DEE
-12F5 ETHIOPIC SYLLABLE DE
-12F6 ETHIOPIC SYLLABLE DO
-12F7 ETHIOPIC SYLLABLE DWA
-12F8 ETHIOPIC SYLLABLE DDA
-12F9 ETHIOPIC SYLLABLE DDU
-12FA ETHIOPIC SYLLABLE DDI
-12FB ETHIOPIC SYLLABLE DDAA
-12FC ETHIOPIC SYLLABLE DDEE
-12FD ETHIOPIC SYLLABLE DDE
-12FE ETHIOPIC SYLLABLE DDO
-12FF ETHIOPIC SYLLABLE DDWA
-1300 ETHIOPIC SYLLABLE JA
-1301 ETHIOPIC SYLLABLE JU
-1302 ETHIOPIC SYLLABLE JI
-1303 ETHIOPIC SYLLABLE JAA
-1304 ETHIOPIC SYLLABLE JEE
-1305 ETHIOPIC SYLLABLE JE
-1306 ETHIOPIC SYLLABLE JO
-1307 ETHIOPIC SYLLABLE JWA
-1308 ETHIOPIC SYLLABLE GA
-1309 ETHIOPIC SYLLABLE GU
-130A ETHIOPIC SYLLABLE GI
-130B ETHIOPIC SYLLABLE GAA
-130C ETHIOPIC SYLLABLE GEE
-130D ETHIOPIC SYLLABLE GE
-130E ETHIOPIC SYLLABLE GO
-130F ETHIOPIC SYLLABLE GOA
-1310 ETHIOPIC SYLLABLE GWA
-1312 ETHIOPIC SYLLABLE GWI
-1313 ETHIOPIC SYLLABLE GWAA
-1314 ETHIOPIC SYLLABLE GWEE
-1315 ETHIOPIC SYLLABLE GWE
-1318 ETHIOPIC SYLLABLE GGA
-1319 ETHIOPIC SYLLABLE GGU
-131A ETHIOPIC SYLLABLE GGI
-131B ETHIOPIC SYLLABLE GGAA
-131C ETHIOPIC SYLLABLE GGEE
-131D ETHIOPIC SYLLABLE GGE
-131E ETHIOPIC SYLLABLE GGO
-131F ETHIOPIC SYLLABLE GGWAA
-1320 ETHIOPIC SYLLABLE THA
-1321 ETHIOPIC SYLLABLE THU
-1322 ETHIOPIC SYLLABLE THI
-1323 ETHIOPIC SYLLABLE THAA
-1324 ETHIOPIC SYLLABLE THEE
-1325 ETHIOPIC SYLLABLE THE
-1326 ETHIOPIC SYLLABLE THO
-1327 ETHIOPIC SYLLABLE THWA
-1328 ETHIOPIC SYLLABLE CHA
-1329 ETHIOPIC SYLLABLE CHU
-132A ETHIOPIC SYLLABLE CHI
-132B ETHIOPIC SYLLABLE CHAA
-132C ETHIOPIC SYLLABLE CHEE
-132D ETHIOPIC SYLLABLE CHE
-132E ETHIOPIC SYLLABLE CHO
-132F ETHIOPIC SYLLABLE CHWA
-1330 ETHIOPIC SYLLABLE PHA
-1331 ETHIOPIC SYLLABLE PHU
-1332 ETHIOPIC SYLLABLE PHI
-1333 ETHIOPIC SYLLABLE PHAA
-1334 ETHIOPIC SYLLABLE PHEE
-1335 ETHIOPIC SYLLABLE PHE
-1336 ETHIOPIC SYLLABLE PHO
-1337 ETHIOPIC SYLLABLE PHWA
-1338 ETHIOPIC SYLLABLE TSA
-1339 ETHIOPIC SYLLABLE TSU
-133A ETHIOPIC SYLLABLE TSI
-133B ETHIOPIC SYLLABLE TSAA
-133C ETHIOPIC SYLLABLE TSEE
-133D ETHIOPIC SYLLABLE TSE
-133E ETHIOPIC SYLLABLE TSO
-133F ETHIOPIC SYLLABLE TSWA
-1340 ETHIOPIC SYLLABLE TZA
-1341 ETHIOPIC SYLLABLE TZU
-1342 ETHIOPIC SYLLABLE TZI
-1343 ETHIOPIC SYLLABLE TZAA
-1344 ETHIOPIC SYLLABLE TZEE
-1345 ETHIOPIC SYLLABLE TZE
-1346 ETHIOPIC SYLLABLE TZO
-1347 ETHIOPIC SYLLABLE TZOA
-1348 ETHIOPIC SYLLABLE FA
-1349 ETHIOPIC SYLLABLE FU
-134A ETHIOPIC SYLLABLE FI
-134B ETHIOPIC SYLLABLE FAA
-134C ETHIOPIC SYLLABLE FEE
-134D ETHIOPIC SYLLABLE FE
-134E ETHIOPIC SYLLABLE FO
-134F ETHIOPIC SYLLABLE FWA
-1350 ETHIOPIC SYLLABLE PA
-1351 ETHIOPIC SYLLABLE PU
-1352 ETHIOPIC SYLLABLE PI
-1353 ETHIOPIC SYLLABLE PAA
-1354 ETHIOPIC SYLLABLE PEE
-1355 ETHIOPIC SYLLABLE PE
-1356 ETHIOPIC SYLLABLE PO
-1357 ETHIOPIC SYLLABLE PWA
-1358 ETHIOPIC SYLLABLE RYA
-1359 ETHIOPIC SYLLABLE MYA
-135A ETHIOPIC SYLLABLE FYA
-@ Combining mark
-135F ETHIOPIC COMBINING GEMINATION MARK
-@ Punctuation
-1360 ETHIOPIC SECTION MARK
-1361 ETHIOPIC WORDSPACE
-1362 ETHIOPIC FULL STOP
-1363 ETHIOPIC COMMA
-1364 ETHIOPIC SEMICOLON
-1365 ETHIOPIC COLON
-1366 ETHIOPIC PREFACE COLON
-1367 ETHIOPIC QUESTION MARK
-1368 ETHIOPIC PARAGRAPH SEPARATOR
-@ Digits
-1369 ETHIOPIC DIGIT ONE
-136A ETHIOPIC DIGIT TWO
-136B ETHIOPIC DIGIT THREE
-136C ETHIOPIC DIGIT FOUR
-136D ETHIOPIC DIGIT FIVE
-136E ETHIOPIC DIGIT SIX
-136F ETHIOPIC DIGIT SEVEN
-1370 ETHIOPIC DIGIT EIGHT
-1371 ETHIOPIC DIGIT NINE
-@ Numbers
-1372 ETHIOPIC NUMBER TEN
-1373 ETHIOPIC NUMBER TWENTY
-1374 ETHIOPIC NUMBER THIRTY
-1375 ETHIOPIC NUMBER FORTY
-1376 ETHIOPIC NUMBER FIFTY
-1377 ETHIOPIC NUMBER SIXTY
-1378 ETHIOPIC NUMBER SEVENTY
-1379 ETHIOPIC NUMBER EIGHTY
-137A ETHIOPIC NUMBER NINETY
-137B ETHIOPIC NUMBER HUNDRED
-137C ETHIOPIC NUMBER TEN THOUSAND
-@@ 1380 Ethiopic Supplement 139F
-@ Syllables for Sebatbeit
-1380 ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381 ETHIOPIC SYLLABLE MWI
-1382 ETHIOPIC SYLLABLE MWEE
-1383 ETHIOPIC SYLLABLE MWE
-1384 ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385 ETHIOPIC SYLLABLE BWI
-1386 ETHIOPIC SYLLABLE BWEE
-1387 ETHIOPIC SYLLABLE BWE
-1388 ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389 ETHIOPIC SYLLABLE FWI
-138A ETHIOPIC SYLLABLE FWEE
-138B ETHIOPIC SYLLABLE FWE
-138C ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D ETHIOPIC SYLLABLE PWI
-138E ETHIOPIC SYLLABLE PWEE
-138F ETHIOPIC SYLLABLE PWE
-@ Tonal marks
-@+ Intended for use with a multiline scored layout
-1390 ETHIOPIC TONAL MARK YIZET
-1391 ETHIOPIC TONAL MARK DERET
-1392 ETHIOPIC TONAL MARK RIKRIK
-1393 ETHIOPIC TONAL MARK SHORT RIKRIK
-1394 ETHIOPIC TONAL MARK DIFAT
-1395 ETHIOPIC TONAL MARK KENAT
-1396 ETHIOPIC TONAL MARK CHIRET
-1397 ETHIOPIC TONAL MARK HIDET
-1398 ETHIOPIC TONAL MARK DERET-HIDET
-1399 ETHIOPIC TONAL MARK KURT
-@@ 13A0 Cherokee 13FF
-@ Syllables
-13A0 CHEROKEE LETTER A
-13A1 CHEROKEE LETTER E
-13A2 CHEROKEE LETTER I
-13A3 CHEROKEE LETTER O
-13A4 CHEROKEE LETTER U
-13A5 CHEROKEE LETTER V
-13A6 CHEROKEE LETTER GA
-13A7 CHEROKEE LETTER KA
-13A8 CHEROKEE LETTER GE
-13A9 CHEROKEE LETTER GI
-13AA CHEROKEE LETTER GO
-13AB CHEROKEE LETTER GU
-13AC CHEROKEE LETTER GV
-13AD CHEROKEE LETTER HA
-13AE CHEROKEE LETTER HE
-13AF CHEROKEE LETTER HI
-13B0 CHEROKEE LETTER HO
-13B1 CHEROKEE LETTER HU
-13B2 CHEROKEE LETTER HV
-13B3 CHEROKEE LETTER LA
-13B4 CHEROKEE LETTER LE
-13B5 CHEROKEE LETTER LI
-13B6 CHEROKEE LETTER LO
-13B7 CHEROKEE LETTER LU
-13B8 CHEROKEE LETTER LV
-13B9 CHEROKEE LETTER MA
-13BA CHEROKEE LETTER ME
-13BB CHEROKEE LETTER MI
-13BC CHEROKEE LETTER MO
-13BD CHEROKEE LETTER MU
-13BE CHEROKEE LETTER NA
-13BF CHEROKEE LETTER HNA
-13C0 CHEROKEE LETTER NAH
-13C1 CHEROKEE LETTER NE
-13C2 CHEROKEE LETTER NI
-13C3 CHEROKEE LETTER NO
-13C4 CHEROKEE LETTER NU
-13C5 CHEROKEE LETTER NV
-13C6 CHEROKEE LETTER QUA
-13C7 CHEROKEE LETTER QUE
-13C8 CHEROKEE LETTER QUI
-13C9 CHEROKEE LETTER QUO
-13CA CHEROKEE LETTER QUU
-13CB CHEROKEE LETTER QUV
-13CC CHEROKEE LETTER SA
-13CD CHEROKEE LETTER S
-13CE CHEROKEE LETTER SE
-13CF CHEROKEE LETTER SI
-13D0 CHEROKEE LETTER SO
-13D1 CHEROKEE LETTER SU
-13D2 CHEROKEE LETTER SV
-13D3 CHEROKEE LETTER DA
-13D4 CHEROKEE LETTER TA
-13D5 CHEROKEE LETTER DE
-13D6 CHEROKEE LETTER TE
-13D7 CHEROKEE LETTER DI
-13D8 CHEROKEE LETTER TI
-13D9 CHEROKEE LETTER DO
-13DA CHEROKEE LETTER DU
-13DB CHEROKEE LETTER DV
-13DC CHEROKEE LETTER DLA
-13DD CHEROKEE LETTER TLA
-13DE CHEROKEE LETTER TLE
-13DF CHEROKEE LETTER TLI
-13E0 CHEROKEE LETTER TLO
-13E1 CHEROKEE LETTER TLU
-13E2 CHEROKEE LETTER TLV
-13E3 CHEROKEE LETTER TSA
-13E4 CHEROKEE LETTER TSE
-13E5 CHEROKEE LETTER TSI
-13E6 CHEROKEE LETTER TSO
-13E7 CHEROKEE LETTER TSU
-13E8 CHEROKEE LETTER TSV
-13E9 CHEROKEE LETTER WA
-13EA CHEROKEE LETTER WE
-13EB CHEROKEE LETTER WI
-13EC CHEROKEE LETTER WO
-13ED CHEROKEE LETTER WU
-13EE CHEROKEE LETTER WV
-13EF CHEROKEE LETTER YA
-13F0 CHEROKEE LETTER YE
-13F1 CHEROKEE LETTER YI
-13F2 CHEROKEE LETTER YO
-13F3 CHEROKEE LETTER YU
-13F4 CHEROKEE LETTER YV
-@@ 1400 Unified Canadian Aboriginal Syllabics 167F
-@ Punctuation
-1400 CANADIAN SYLLABICS HYPHEN
-@ Syllables
-1401 CANADIAN SYLLABICS E
- * Inuktitut (AI), Carrier (U)
-1402 CANADIAN SYLLABICS AAI
- * Inuktitut
-1403 CANADIAN SYLLABICS I
- * Carrier (O)
-1404 CANADIAN SYLLABICS II
-1405 CANADIAN SYLLABICS O
- * Inuktitut (U), Carrier (E)
-1406 CANADIAN SYLLABICS OO
- * Inuktitut (UU)
-1407 CANADIAN SYLLABICS Y-CREE OO
-1408 CANADIAN SYLLABICS CARRIER EE
-1409 CANADIAN SYLLABICS CARRIER I
-140A CANADIAN SYLLABICS A
-140B CANADIAN SYLLABICS AA
-140C CANADIAN SYLLABICS WE
-140D CANADIAN SYLLABICS WEST-CREE WE
-140E CANADIAN SYLLABICS WI
-140F CANADIAN SYLLABICS WEST-CREE WI
-1410 CANADIAN SYLLABICS WII
-1411 CANADIAN SYLLABICS WEST-CREE WII
-1412 CANADIAN SYLLABICS WO
-1413 CANADIAN SYLLABICS WEST-CREE WO
-1414 CANADIAN SYLLABICS WOO
-1415 CANADIAN SYLLABICS WEST-CREE WOO
-1416 CANADIAN SYLLABICS NASKAPI WOO
-1417 CANADIAN SYLLABICS WA
-1418 CANADIAN SYLLABICS WEST-CREE WA
-1419 CANADIAN SYLLABICS WAA
-141A CANADIAN SYLLABICS WEST-CREE WAA
-141B CANADIAN SYLLABICS NASKAPI WAA
-141C CANADIAN SYLLABICS AI
- * East Cree
-141D CANADIAN SYLLABICS Y-CREE W
-141E CANADIAN SYLLABICS GLOTTAL STOP
- * Moose Cree (Y), Algonquian (GLOTTAL STOP)
-141F CANADIAN SYLLABICS FINAL ACUTE
- * West Cree (T), East Cree (Y), Inuktitut (GLOTTAL STOP)
- * Athapascan (B/P), Sayisi (I), Carrier (G)
-1420 CANADIAN SYLLABICS FINAL GRAVE
- * West Cree (K), Athapascan (K), Carrier (KH)
-1421 CANADIAN SYLLABICS FINAL BOTTOM HALF RING
- * N Cree (SH), Sayisi (R), Carrier (NG)
-1422 CANADIAN SYLLABICS FINAL TOP HALF RING
- * Algonquian (S), Chipewyan (R), Sayisi (S)
-1423 CANADIAN SYLLABICS FINAL RIGHT HALF RING
- * West Cree (N), Athapascan (D/T), Sayisi (N), Carrier (N)
-1424 CANADIAN SYLLABICS FINAL RING
- * West Cree (W), Sayisi (O)
-1425 CANADIAN SYLLABICS FINAL DOUBLE ACUTE
- * Chipewyan (TT), South Slavey (GH)
-1426 CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
- * Algonquian (H), Carrier (R)
-1427 CANADIAN SYLLABICS FINAL MIDDLE DOT
- * Moose Cree (W), Athapascan (Y), Sayisi (YU), Blackfoot (S)
-1428 CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
- * West Cree (C), Sayisi (D)
-1429 CANADIAN SYLLABICS FINAL PLUS
- * Athapascan (N), Sayisi (AI)
-142A CANADIAN SYLLABICS FINAL DOWN TACK
- * N Cree (L), Carrier (D)
- x (down tack - 22A4)
-142B CANADIAN SYLLABICS EN
-142C CANADIAN SYLLABICS IN
-142D CANADIAN SYLLABICS ON
-142E CANADIAN SYLLABICS AN
-142F CANADIAN SYLLABICS PE
- * Inuktitut (PAI), Athapascan (BE), Carrier (HU)
-1430 CANADIAN SYLLABICS PAAI
- * Inuktitut
-1431 CANADIAN SYLLABICS PI
-1432 CANADIAN SYLLABICS PII
-1433 CANADIAN SYLLABICS PO
- * Inuktitut (PU), Athapascan (BO), Carrier (HE)
-1434 CANADIAN SYLLABICS POO
- * Inuktitut (PUU)
-1435 CANADIAN SYLLABICS Y-CREE POO
-1436 CANADIAN SYLLABICS CARRIER HEE
-1437 CANADIAN SYLLABICS CARRIER HI
-1438 CANADIAN SYLLABICS PA
- * Athapascan (BA), Carrier (HA)
-1439 CANADIAN SYLLABICS PAA
-143A CANADIAN SYLLABICS PWE
-143B CANADIAN SYLLABICS WEST-CREE PWE
-143C CANADIAN SYLLABICS PWI
-143D CANADIAN SYLLABICS WEST-CREE PWI
-143E CANADIAN SYLLABICS PWII
-143F CANADIAN SYLLABICS WEST-CREE PWII
-1440 CANADIAN SYLLABICS PWO
-1441 CANADIAN SYLLABICS WEST-CREE PWO
-1442 CANADIAN SYLLABICS PWOO
-1443 CANADIAN SYLLABICS WEST-CREE PWOO
-1444 CANADIAN SYLLABICS PWA
-1445 CANADIAN SYLLABICS WEST-CREE PWA
-1446 CANADIAN SYLLABICS PWAA
-1447 CANADIAN SYLLABICS WEST-CREE PWAA
-1448 CANADIAN SYLLABICS Y-CREE PWAA
-1449 CANADIAN SYLLABICS P
- * Blackfoot (Y)
-144A CANADIAN SYLLABICS WEST-CREE P
- * Sayisi (G)
-144B CANADIAN SYLLABICS CARRIER H
-144C CANADIAN SYLLABICS TE
- * Inuktitut (TAI), Athapascan (DI), Carrier (DU)
-144D CANADIAN SYLLABICS TAAI
- * Inuktitut
-144E CANADIAN SYLLABICS TI
- * Athapascan (DE), Carrier (DO)
-144F CANADIAN SYLLABICS TII
-1450 CANADIAN SYLLABICS TO
- * Inuktitut (TU), Athapascan (DO), Carrier (DE), Sayisi (DU)
-1451 CANADIAN SYLLABICS TOO
- * Inuktitut (TUU)
-1452 CANADIAN SYLLABICS Y-CREE TOO
-1453 CANADIAN SYLLABICS CARRIER DEE
-1454 CANADIAN SYLLABICS CARRIER DI
-1455 CANADIAN SYLLABICS TA
- * Athapascan (DA)
-1456 CANADIAN SYLLABICS TAA
-1457 CANADIAN SYLLABICS TWE
-1458 CANADIAN SYLLABICS WEST-CREE TWE
-1459 CANADIAN SYLLABICS TWI
-145A CANADIAN SYLLABICS WEST-CREE TWI
-145B CANADIAN SYLLABICS TWII
-145C CANADIAN SYLLABICS WEST-CREE TWII
-145D CANADIAN SYLLABICS TWO
-145E CANADIAN SYLLABICS WEST-CREE TWO
-145F CANADIAN SYLLABICS TWOO
-1460 CANADIAN SYLLABICS WEST-CREE TWOO
-1461 CANADIAN SYLLABICS TWA
-1462 CANADIAN SYLLABICS WEST-CREE TWA
-1463 CANADIAN SYLLABICS TWAA
-1464 CANADIAN SYLLABICS WEST-CREE TWAA
-1465 CANADIAN SYLLABICS NASKAPI TWAA
-1466 CANADIAN SYLLABICS T
-1467 CANADIAN SYLLABICS TTE
- * South Slavey (DEH)
-1468 CANADIAN SYLLABICS TTI
- * South Slavey (DIH)
-1469 CANADIAN SYLLABICS TTO
- * South Slavey (DOH)
-146A CANADIAN SYLLABICS TTA
- * South Slavey (DAH)
-146B CANADIAN SYLLABICS KE
- * Inuktitut (KAI), Blackfoot (PA)
-146C CANADIAN SYLLABICS KAAI
- * Inuktitut
-146D CANADIAN SYLLABICS KI
- * Blackfoot (PE)
-146E CANADIAN SYLLABICS KII
-146F CANADIAN SYLLABICS KO
- * Inuktitut (KU), Sayisi (KU), Blackfoot (PI)
-1470 CANADIAN SYLLABICS KOO
- * Inuktitut (KUU)
-1471 CANADIAN SYLLABICS Y-CREE KOO
-1472 CANADIAN SYLLABICS KA
- * Blackfoot (PO)
-1473 CANADIAN SYLLABICS KAA
-1474 CANADIAN SYLLABICS KWE
-1475 CANADIAN SYLLABICS WEST-CREE KWE
-1476 CANADIAN SYLLABICS KWI
-1477 CANADIAN SYLLABICS WEST-CREE KWI
-1478 CANADIAN SYLLABICS KWII
-1479 CANADIAN SYLLABICS WEST-CREE KWII
-147A CANADIAN SYLLABICS KWO
-147B CANADIAN SYLLABICS WEST-CREE KWO
-147C CANADIAN SYLLABICS KWOO
-147D CANADIAN SYLLABICS WEST-CREE KWOO
-147E CANADIAN SYLLABICS KWA
-147F CANADIAN SYLLABICS WEST-CREE KWA
-1480 CANADIAN SYLLABICS KWAA
-1481 CANADIAN SYLLABICS WEST-CREE KWAA
-1482 CANADIAN SYLLABICS NASKAPI KWAA
-1483 CANADIAN SYLLABICS K
-1484 CANADIAN SYLLABICS KW
- * East Cree
-1485 CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486 CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487 CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488 CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489 CANADIAN SYLLABICS CE
- * Inuktitut (GAI), Athapascan (DHE), Sayisi (THE), Blackfoot (MA)
-148A CANADIAN SYLLABICS CAAI
- * Inuktitut (GAAI)
-148B CANADIAN SYLLABICS CI
- * Inuktitut (GI), Athapascan (DHI), Sayisi (THI), Blackfoot (ME)
-148C CANADIAN SYLLABICS CII
- * Inuktitut (GII)
-148D CANADIAN SYLLABICS CO
- * Inuktitut (GU), Athapascan (DHO), Sayisi (THO), Blackfoot (MI)
-148E CANADIAN SYLLABICS COO
- * Inuktitut (GUU)
-148F CANADIAN SYLLABICS Y-CREE COO
-1490 CANADIAN SYLLABICS CA
- * Inuktitut (GA), Athapascan (DHA), Sayisi (THA), Blackfoot (MO)
-1491 CANADIAN SYLLABICS CAA
- * Inuktitut (GAA)
-1492 CANADIAN SYLLABICS CWE
-1493 CANADIAN SYLLABICS WEST-CREE CWE
-1494 CANADIAN SYLLABICS CWI
-1495 CANADIAN SYLLABICS WEST-CREE CWI
-1496 CANADIAN SYLLABICS CWII
-1497 CANADIAN SYLLABICS WEST-CREE CWII
-1498 CANADIAN SYLLABICS CWO
-1499 CANADIAN SYLLABICS WEST-CREE CWO
-149A CANADIAN SYLLABICS CWOO
-149B CANADIAN SYLLABICS WEST-CREE CWOO
-149C CANADIAN SYLLABICS CWA
-149D CANADIAN SYLLABICS WEST-CREE CWA
-149E CANADIAN SYLLABICS CWAA
-149F CANADIAN SYLLABICS WEST-CREE CWAA
-14A0 CANADIAN SYLLABICS NASKAPI CWAA
-14A1 CANADIAN SYLLABICS C
- * Inuktitut (G), Sayisi (T)
-14A2 CANADIAN SYLLABICS SAYISI TH
- * Athapascan (DH)
-14A3 CANADIAN SYLLABICS ME
- * Inuktitut (MAI), Blackfoot (TA)
-14A4 CANADIAN SYLLABICS MAAI
- * Inuktitut
-14A5 CANADIAN SYLLABICS MI
- * Blackfoot (TE)
-14A6 CANADIAN SYLLABICS MII
-14A7 CANADIAN SYLLABICS MO
- * Inuktitut (MU), Sayisi (MU), Blackfoot (TI)
-14A8 CANADIAN SYLLABICS MOO
- * Inuktitut (MUU)
-14A9 CANADIAN SYLLABICS Y-CREE MOO
-14AA CANADIAN SYLLABICS MA
- * Blackfoot (TO)
-14AB CANADIAN SYLLABICS MAA
-14AC CANADIAN SYLLABICS MWE
-14AD CANADIAN SYLLABICS WEST-CREE MWE
-14AE CANADIAN SYLLABICS MWI
-14AF CANADIAN SYLLABICS WEST-CREE MWI
-14B0 CANADIAN SYLLABICS MWII
-14B1 CANADIAN SYLLABICS WEST-CREE MWII
-14B2 CANADIAN SYLLABICS MWO
-14B3 CANADIAN SYLLABICS WEST-CREE MWO
-14B4 CANADIAN SYLLABICS MWOO
-14B5 CANADIAN SYLLABICS WEST-CREE MWOO
-14B6 CANADIAN SYLLABICS MWA
-14B7 CANADIAN SYLLABICS WEST-CREE MWA
-14B8 CANADIAN SYLLABICS MWAA
-14B9 CANADIAN SYLLABICS WEST-CREE MWAA
-14BA CANADIAN SYLLABICS NASKAPI MWAA
-14BB CANADIAN SYLLABICS M
-14BC CANADIAN SYLLABICS WEST-CREE M
- * Carrier (M)
-14BD CANADIAN SYLLABICS MH
-14BE CANADIAN SYLLABICS ATHAPASCAN M
-14BF CANADIAN SYLLABICS SAYISI M
-14C0 CANADIAN SYLLABICS NE
- * Inuktitut (NAI)
-14C1 CANADIAN SYLLABICS NAAI
- * Inuktitut
-14C2 CANADIAN SYLLABICS NI
-14C3 CANADIAN SYLLABICS NII
-14C4 CANADIAN SYLLABICS NO
- * Inuktitut (NU), Sayisi (NU)
-14C5 CANADIAN SYLLABICS NOO
- * Inuktitut (NUU)
-14C6 CANADIAN SYLLABICS Y-CREE NOO
-14C7 CANADIAN SYLLABICS NA
-14C8 CANADIAN SYLLABICS NAA
-14C9 CANADIAN SYLLABICS NWE
-14CA CANADIAN SYLLABICS WEST-CREE NWE
-14CB CANADIAN SYLLABICS NWA
-14CC CANADIAN SYLLABICS WEST-CREE NWA
-14CD CANADIAN SYLLABICS NWAA
-14CE CANADIAN SYLLABICS WEST-CREE NWAA
-14CF CANADIAN SYLLABICS NASKAPI NWAA
-14D0 CANADIAN SYLLABICS N
-14D1 CANADIAN SYLLABICS CARRIER NG
-14D2 CANADIAN SYLLABICS NH
-14D3 CANADIAN SYLLABICS LE
- * Inuktitut (LAI)
-14D4 CANADIAN SYLLABICS LAAI
- * Inuktitut
-14D5 CANADIAN SYLLABICS LI
-14D6 CANADIAN SYLLABICS LII
-14D7 CANADIAN SYLLABICS LO
- * Inuktitut (LU)
-14D8 CANADIAN SYLLABICS LOO
- * Inuktitut (LUU)
-14D9 CANADIAN SYLLABICS Y-CREE LOO
-14DA CANADIAN SYLLABICS LA
-14DB CANADIAN SYLLABICS LAA
-14DC CANADIAN SYLLABICS LWE
-14DD CANADIAN SYLLABICS WEST-CREE LWE
-14DE CANADIAN SYLLABICS LWI
-14DF CANADIAN SYLLABICS WEST-CREE LWI
-14E0 CANADIAN SYLLABICS LWII
-14E1 CANADIAN SYLLABICS WEST-CREE LWII
-14E2 CANADIAN SYLLABICS LWO
-14E3 CANADIAN SYLLABICS WEST-CREE LWO
-14E4 CANADIAN SYLLABICS LWOO
-14E5 CANADIAN SYLLABICS WEST-CREE LWOO
-14E6 CANADIAN SYLLABICS LWA
-14E7 CANADIAN SYLLABICS WEST-CREE LWA
-14E8 CANADIAN SYLLABICS LWAA
-14E9 CANADIAN SYLLABICS WEST-CREE LWAA
-14EA CANADIAN SYLLABICS L
-14EB CANADIAN SYLLABICS WEST-CREE L
-14EC CANADIAN SYLLABICS MEDIAL L
-14ED CANADIAN SYLLABICS SE
- * Inuktitut (SAI), Blackfoot (SA)
-14EE CANADIAN SYLLABICS SAAI
- * Inuktitut
-14EF CANADIAN SYLLABICS SI
- * Blackfoot (SE)
-14F0 CANADIAN SYLLABICS SII
-14F1 CANADIAN SYLLABICS SO
- * Inuktitut (SU), Sayisi (SU), Blackfoot (SI)
-14F2 CANADIAN SYLLABICS SOO
- * Inuktitut (SUU)
-14F3 CANADIAN SYLLABICS Y-CREE SOO
-14F4 CANADIAN SYLLABICS SA
- * Blackfoot (SO)
-14F5 CANADIAN SYLLABICS SAA
-14F6 CANADIAN SYLLABICS SWE
-14F7 CANADIAN SYLLABICS WEST-CREE SWE
-14F8 CANADIAN SYLLABICS SWI
-14F9 CANADIAN SYLLABICS WEST-CREE SWI
-14FA CANADIAN SYLLABICS SWII
-14FB CANADIAN SYLLABICS WEST-CREE SWII
-14FC CANADIAN SYLLABICS SWO
-14FD CANADIAN SYLLABICS WEST-CREE SWO
-14FE CANADIAN SYLLABICS SWOO
-14FF CANADIAN SYLLABICS WEST-CREE SWOO
-1500 CANADIAN SYLLABICS SWA
-1501 CANADIAN SYLLABICS WEST-CREE SWA
-1502 CANADIAN SYLLABICS SWAA
-1503 CANADIAN SYLLABICS WEST-CREE SWAA
-1504 CANADIAN SYLLABICS NASKAPI SWAA
-1505 CANADIAN SYLLABICS S
-1506 CANADIAN SYLLABICS ATHAPASCAN S
-1507 CANADIAN SYLLABICS SW
-1508 CANADIAN SYLLABICS BLACKFOOT S
-1509 CANADIAN SYLLABICS MOOSE-CREE SK
-150A CANADIAN SYLLABICS NASKAPI SKW
-150B CANADIAN SYLLABICS NASKAPI S-W
-150C CANADIAN SYLLABICS NASKAPI SPWA
-150D CANADIAN SYLLABICS NASKAPI STWA
-150E CANADIAN SYLLABICS NASKAPI SKWA
-150F CANADIAN SYLLABICS NASKAPI SCWA
-1510 CANADIAN SYLLABICS SHE
-1511 CANADIAN SYLLABICS SHI
-1512 CANADIAN SYLLABICS SHII
-1513 CANADIAN SYLLABICS SHO
-1514 CANADIAN SYLLABICS SHOO
-1515 CANADIAN SYLLABICS SHA
-1516 CANADIAN SYLLABICS SHAA
-1517 CANADIAN SYLLABICS SHWE
-1518 CANADIAN SYLLABICS WEST-CREE SHWE
-1519 CANADIAN SYLLABICS SHWI
-151A CANADIAN SYLLABICS WEST-CREE SHWI
-151B CANADIAN SYLLABICS SHWII
-151C CANADIAN SYLLABICS WEST-CREE SHWII
-151D CANADIAN SYLLABICS SHWO
-151E CANADIAN SYLLABICS WEST-CREE SHWO
-151F CANADIAN SYLLABICS SHWOO
-1520 CANADIAN SYLLABICS WEST-CREE SHWOO
-1521 CANADIAN SYLLABICS SHWA
-1522 CANADIAN SYLLABICS WEST-CREE SHWA
-1523 CANADIAN SYLLABICS SHWAA
-1524 CANADIAN SYLLABICS WEST-CREE SHWAA
-1525 CANADIAN SYLLABICS SH
-1526 CANADIAN SYLLABICS YE
- * Inuktitut (YAI), Blackfoot (YA)
-1527 CANADIAN SYLLABICS YAAI
- * Inuktitut
-1528 CANADIAN SYLLABICS YI
- * Blackfoot (YE)
-1529 CANADIAN SYLLABICS YII
-152A CANADIAN SYLLABICS YO
- * Inuktitut (YU), Blackfoot (YI)
-152B CANADIAN SYLLABICS YOO
- * Inuktitut (YUU)
-152C CANADIAN SYLLABICS Y-CREE YOO
-152D CANADIAN SYLLABICS YA
- * Blackfoot (YO)
-152E CANADIAN SYLLABICS YAA
-152F CANADIAN SYLLABICS YWE
-1530 CANADIAN SYLLABICS WEST-CREE YWE
-1531 CANADIAN SYLLABICS YWI
-1532 CANADIAN SYLLABICS WEST-CREE YWI
-1533 CANADIAN SYLLABICS YWII
-1534 CANADIAN SYLLABICS WEST-CREE YWII
-1535 CANADIAN SYLLABICS YWO
-1536 CANADIAN SYLLABICS WEST-CREE YWO
-1537 CANADIAN SYLLABICS YWOO
-1538 CANADIAN SYLLABICS WEST-CREE YWOO
-1539 CANADIAN SYLLABICS YWA
-153A CANADIAN SYLLABICS WEST-CREE YWA
-153B CANADIAN SYLLABICS YWAA
-153C CANADIAN SYLLABICS WEST-CREE YWAA
-153D CANADIAN SYLLABICS NASKAPI YWAA
-153E CANADIAN SYLLABICS Y
-153F CANADIAN SYLLABICS BIBLE-CREE Y
-1540 CANADIAN SYLLABICS WEST-CREE Y
-1541 CANADIAN SYLLABICS SAYISI YI
-1542 CANADIAN SYLLABICS RE
- * Inuktitut (RAI)
-1543 CANADIAN SYLLABICS R-CREE RE
- * Athapascan (LE)
-1544 CANADIAN SYLLABICS WEST-CREE LE
- * Athapascan (LI)
-1545 CANADIAN SYLLABICS RAAI
- * Inuktitut
-1546 CANADIAN SYLLABICS RI
-1547 CANADIAN SYLLABICS RII
-1548 CANADIAN SYLLABICS RO
- * Inuktitut (RU)
-1549 CANADIAN SYLLABICS ROO
- * Inuktitut (RUU)
-154A CANADIAN SYLLABICS WEST-CREE LO
- * Sayisi (LU)
-154B CANADIAN SYLLABICS RA
-154C CANADIAN SYLLABICS RAA
-154D CANADIAN SYLLABICS WEST-CREE LA
-154E CANADIAN SYLLABICS RWAA
-154F CANADIAN SYLLABICS WEST-CREE RWAA
-1550 CANADIAN SYLLABICS R
-1551 CANADIAN SYLLABICS WEST-CREE R
-1552 CANADIAN SYLLABICS MEDIAL R
-1553 CANADIAN SYLLABICS FE
- * Inuktitut (FAI)
-1554 CANADIAN SYLLABICS FAAI
- * Inuktitut
-1555 CANADIAN SYLLABICS FI
-1556 CANADIAN SYLLABICS FII
-1557 CANADIAN SYLLABICS FO
-1558 CANADIAN SYLLABICS FOO
-1559 CANADIAN SYLLABICS FA
-155A CANADIAN SYLLABICS FAA
-155B CANADIAN SYLLABICS FWAA
-155C CANADIAN SYLLABICS WEST-CREE FWAA
-155D CANADIAN SYLLABICS F
-155E CANADIAN SYLLABICS THE
- * Sayisi (TE)
-155F CANADIAN SYLLABICS N-CREE THE
-1560 CANADIAN SYLLABICS THI
- * Sayisi (TI)
-1561 CANADIAN SYLLABICS N-CREE THI
-1562 CANADIAN SYLLABICS THII
-1563 CANADIAN SYLLABICS N-CREE THII
-1564 CANADIAN SYLLABICS THO
- * Sayisi (TU)
-1565 CANADIAN SYLLABICS THOO
-1566 CANADIAN SYLLABICS THA
- * Sayisi (TA)
-1567 CANADIAN SYLLABICS THAA
-1568 CANADIAN SYLLABICS THWAA
-1569 CANADIAN SYLLABICS WEST-CREE THWAA
-156A CANADIAN SYLLABICS TH
-156B CANADIAN SYLLABICS TTHE
-156C CANADIAN SYLLABICS TTHI
-156D CANADIAN SYLLABICS TTHO
- * Sayisi (TTHU)
-156E CANADIAN SYLLABICS TTHA
-156F CANADIAN SYLLABICS TTH
- * probably a mistaken interpretation of an asterisk used to mark a proper noun
- x (asterisk - 002A)
-1570 CANADIAN SYLLABICS TYE
-1571 CANADIAN SYLLABICS TYI
-1572 CANADIAN SYLLABICS TYO
-1573 CANADIAN SYLLABICS TYA
-1574 CANADIAN SYLLABICS NUNAVIK HE
-1575 CANADIAN SYLLABICS NUNAVIK HI
-1576 CANADIAN SYLLABICS NUNAVIK HII
-1577 CANADIAN SYLLABICS NUNAVIK HO
-1578 CANADIAN SYLLABICS NUNAVIK HOO
-1579 CANADIAN SYLLABICS NUNAVIK HA
-157A CANADIAN SYLLABICS NUNAVIK HAA
-157B CANADIAN SYLLABICS NUNAVIK H
-157C CANADIAN SYLLABICS NUNAVUT H
-157D CANADIAN SYLLABICS HK
- * Algonquian
-157E CANADIAN SYLLABICS QAAI
- * Inuktitut
-157F CANADIAN SYLLABICS QI
-1580 CANADIAN SYLLABICS QII
-1581 CANADIAN SYLLABICS QO
- * Inuktitut (QU)
-1582 CANADIAN SYLLABICS QOO
- * Inuktitut (QUU)
-1583 CANADIAN SYLLABICS QA
-1584 CANADIAN SYLLABICS QAA
-1585 CANADIAN SYLLABICS Q
-1586 CANADIAN SYLLABICS TLHE
- * Sayisi (KLE)
-1587 CANADIAN SYLLABICS TLHI
- * Sayisi (KLI)
-1588 CANADIAN SYLLABICS TLHO
- * Sayisi (KLU)
-1589 CANADIAN SYLLABICS TLHA
- * Sayisi (KLA)
-158A CANADIAN SYLLABICS WEST-CREE RE
-158B CANADIAN SYLLABICS WEST-CREE RI
-158C CANADIAN SYLLABICS WEST-CREE RO
-158D CANADIAN SYLLABICS WEST-CREE RA
-158E CANADIAN SYLLABICS NGAAI
- * Inuktitut
-158F CANADIAN SYLLABICS NGI
-1590 CANADIAN SYLLABICS NGII
-1591 CANADIAN SYLLABICS NGO
- * Inuktitut (NGU)
-1592 CANADIAN SYLLABICS NGOO
- * Inuktitut (NGUU)
-1593 CANADIAN SYLLABICS NGA
-1594 CANADIAN SYLLABICS NGAA
-1595 CANADIAN SYLLABICS NG
-1596 CANADIAN SYLLABICS NNG
-1597 CANADIAN SYLLABICS SAYISI SHE
-1598 CANADIAN SYLLABICS SAYISI SHI
-1599 CANADIAN SYLLABICS SAYISI SHO
- * Sayisi (SHU)
-159A CANADIAN SYLLABICS SAYISI SHA
-159B CANADIAN SYLLABICS WOODS-CREE THE
-159C CANADIAN SYLLABICS WOODS-CREE THI
-159D CANADIAN SYLLABICS WOODS-CREE THO
-159E CANADIAN SYLLABICS WOODS-CREE THA
-159F CANADIAN SYLLABICS WOODS-CREE TH
-15A0 CANADIAN SYLLABICS LHI
-15A1 CANADIAN SYLLABICS LHII
-15A2 CANADIAN SYLLABICS LHO
- * Inuktitut (LHU)
-15A3 CANADIAN SYLLABICS LHOO
- * Inuktitut (LHUU)
-15A4 CANADIAN SYLLABICS LHA
-15A5 CANADIAN SYLLABICS LHAA
-15A6 CANADIAN SYLLABICS LH
-15A7 CANADIAN SYLLABICS TH-CREE THE
-15A8 CANADIAN SYLLABICS TH-CREE THI
-15A9 CANADIAN SYLLABICS TH-CREE THII
-15AA CANADIAN SYLLABICS TH-CREE THO
-15AB CANADIAN SYLLABICS TH-CREE THOO
-15AC CANADIAN SYLLABICS TH-CREE THA
-15AD CANADIAN SYLLABICS TH-CREE THAA
-15AE CANADIAN SYLLABICS TH-CREE TH
-15AF CANADIAN SYLLABICS AIVILIK B
-15B0 CANADIAN SYLLABICS BLACKFOOT E
-15B1 CANADIAN SYLLABICS BLACKFOOT I
-15B2 CANADIAN SYLLABICS BLACKFOOT O
-15B3 CANADIAN SYLLABICS BLACKFOOT A
-15B4 CANADIAN SYLLABICS BLACKFOOT WE
-15B5 CANADIAN SYLLABICS BLACKFOOT WI
-15B6 CANADIAN SYLLABICS BLACKFOOT WO
-15B7 CANADIAN SYLLABICS BLACKFOOT WA
-15B8 CANADIAN SYLLABICS BLACKFOOT NE
-15B9 CANADIAN SYLLABICS BLACKFOOT NI
-15BA CANADIAN SYLLABICS BLACKFOOT NO
-15BB CANADIAN SYLLABICS BLACKFOOT NA
-15BC CANADIAN SYLLABICS BLACKFOOT KE
-15BD CANADIAN SYLLABICS BLACKFOOT KI
-15BE CANADIAN SYLLABICS BLACKFOOT KO
-15BF CANADIAN SYLLABICS BLACKFOOT KA
-15C0 CANADIAN SYLLABICS SAYISI HE
-15C1 CANADIAN SYLLABICS SAYISI HI
-15C2 CANADIAN SYLLABICS SAYISI HO
- * Sayisi (HU)
-15C3 CANADIAN SYLLABICS SAYISI HA
-15C4 CANADIAN SYLLABICS CARRIER GHU
-15C5 CANADIAN SYLLABICS CARRIER GHO
-15C6 CANADIAN SYLLABICS CARRIER GHE
-15C7 CANADIAN SYLLABICS CARRIER GHEE
-15C8 CANADIAN SYLLABICS CARRIER GHI
-15C9 CANADIAN SYLLABICS CARRIER GHA
-15CA CANADIAN SYLLABICS CARRIER RU
-15CB CANADIAN SYLLABICS CARRIER RO
-15CC CANADIAN SYLLABICS CARRIER RE
-15CD CANADIAN SYLLABICS CARRIER REE
-15CE CANADIAN SYLLABICS CARRIER RI
-15CF CANADIAN SYLLABICS CARRIER RA
-15D0 CANADIAN SYLLABICS CARRIER WU
-15D1 CANADIAN SYLLABICS CARRIER WO
-15D2 CANADIAN SYLLABICS CARRIER WE
-15D3 CANADIAN SYLLABICS CARRIER WEE
-15D4 CANADIAN SYLLABICS CARRIER WI
-15D5 CANADIAN SYLLABICS CARRIER WA
-15D6 CANADIAN SYLLABICS CARRIER HWU
-15D7 CANADIAN SYLLABICS CARRIER HWO
-15D8 CANADIAN SYLLABICS CARRIER HWE
-15D9 CANADIAN SYLLABICS CARRIER HWEE
-15DA CANADIAN SYLLABICS CARRIER HWI
-15DB CANADIAN SYLLABICS CARRIER HWA
-15DC CANADIAN SYLLABICS CARRIER THU
-15DD CANADIAN SYLLABICS CARRIER THO
-15DE CANADIAN SYLLABICS CARRIER THE
-15DF CANADIAN SYLLABICS CARRIER THEE
-15E0 CANADIAN SYLLABICS CARRIER THI
-15E1 CANADIAN SYLLABICS CARRIER THA
-15E2 CANADIAN SYLLABICS CARRIER TTU
-15E3 CANADIAN SYLLABICS CARRIER TTO
-15E4 CANADIAN SYLLABICS CARRIER TTE
-15E5 CANADIAN SYLLABICS CARRIER TTEE
-15E6 CANADIAN SYLLABICS CARRIER TTI
-15E7 CANADIAN SYLLABICS CARRIER TTA
-15E8 CANADIAN SYLLABICS CARRIER PU
-15E9 CANADIAN SYLLABICS CARRIER PO
-15EA CANADIAN SYLLABICS CARRIER PE
-15EB CANADIAN SYLLABICS CARRIER PEE
-15EC CANADIAN SYLLABICS CARRIER PI
-15ED CANADIAN SYLLABICS CARRIER PA
-15EE CANADIAN SYLLABICS CARRIER P
-15EF CANADIAN SYLLABICS CARRIER GU
-15F0 CANADIAN SYLLABICS CARRIER GO
-15F1 CANADIAN SYLLABICS CARRIER GE
-15F2 CANADIAN SYLLABICS CARRIER GEE
-15F3 CANADIAN SYLLABICS CARRIER GI
-15F4 CANADIAN SYLLABICS CARRIER GA
-15F5 CANADIAN SYLLABICS CARRIER KHU
-15F6 CANADIAN SYLLABICS CARRIER KHO
-15F7 CANADIAN SYLLABICS CARRIER KHE
-15F8 CANADIAN SYLLABICS CARRIER KHEE
-15F9 CANADIAN SYLLABICS CARRIER KHI
-15FA CANADIAN SYLLABICS CARRIER KHA
-15FB CANADIAN SYLLABICS CARRIER KKU
-15FC CANADIAN SYLLABICS CARRIER KKO
-15FD CANADIAN SYLLABICS CARRIER KKE
-15FE CANADIAN SYLLABICS CARRIER KKEE
-15FF CANADIAN SYLLABICS CARRIER KKI
-1600 CANADIAN SYLLABICS CARRIER KKA
-1601 CANADIAN SYLLABICS CARRIER KK
-1602 CANADIAN SYLLABICS CARRIER NU
-1603 CANADIAN SYLLABICS CARRIER NO
-1604 CANADIAN SYLLABICS CARRIER NE
-1605 CANADIAN SYLLABICS CARRIER NEE
-1606 CANADIAN SYLLABICS CARRIER NI
-1607 CANADIAN SYLLABICS CARRIER NA
-1608 CANADIAN SYLLABICS CARRIER MU
-1609 CANADIAN SYLLABICS CARRIER MO
-160A CANADIAN SYLLABICS CARRIER ME
-160B CANADIAN SYLLABICS CARRIER MEE
-160C CANADIAN SYLLABICS CARRIER MI
-160D CANADIAN SYLLABICS CARRIER MA
-160E CANADIAN SYLLABICS CARRIER YU
-160F CANADIAN SYLLABICS CARRIER YO
-1610 CANADIAN SYLLABICS CARRIER YE
-1611 CANADIAN SYLLABICS CARRIER YEE
-1612 CANADIAN SYLLABICS CARRIER YI
-1613 CANADIAN SYLLABICS CARRIER YA
-1614 CANADIAN SYLLABICS CARRIER JU
- * Athapascan (ZA), Sayisi (TZO), South Slavey (DHA)
-1615 CANADIAN SYLLABICS SAYISI JU
- * Athapascan (ZO), Sayisi (TZU), South Slavey (DHO)
-1616 CANADIAN SYLLABICS CARRIER JO
-1617 CANADIAN SYLLABICS CARRIER JE
-1618 CANADIAN SYLLABICS CARRIER JEE
-1619 CANADIAN SYLLABICS CARRIER JI
-161A CANADIAN SYLLABICS SAYISI JI
- * Athapascan (ZE), Sayisi (TZE), South Slavey (DHE)
-161B CANADIAN SYLLABICS CARRIER JA
- * Athapascan (ZI), Sayisi (TZI), South Slavey (DHI)
-161C CANADIAN SYLLABICS CARRIER JJU
-161D CANADIAN SYLLABICS CARRIER JJO
-161E CANADIAN SYLLABICS CARRIER JJE
-161F CANADIAN SYLLABICS CARRIER JJEE
-1620 CANADIAN SYLLABICS CARRIER JJI
-1621 CANADIAN SYLLABICS CARRIER JJA
-1622 CANADIAN SYLLABICS CARRIER LU
-1623 CANADIAN SYLLABICS CARRIER LO
-1624 CANADIAN SYLLABICS CARRIER LE
-1625 CANADIAN SYLLABICS CARRIER LEE
-1626 CANADIAN SYLLABICS CARRIER LI
-1627 CANADIAN SYLLABICS CARRIER LA
-1628 CANADIAN SYLLABICS CARRIER DLU
-1629 CANADIAN SYLLABICS CARRIER DLO
-162A CANADIAN SYLLABICS CARRIER DLE
-162B CANADIAN SYLLABICS CARRIER DLEE
-162C CANADIAN SYLLABICS CARRIER DLI
-162D CANADIAN SYLLABICS CARRIER DLA
-162E CANADIAN SYLLABICS CARRIER LHU
-162F CANADIAN SYLLABICS CARRIER LHO
-1630 CANADIAN SYLLABICS CARRIER LHE
-1631 CANADIAN SYLLABICS CARRIER LHEE
-1632 CANADIAN SYLLABICS CARRIER LHI
-1633 CANADIAN SYLLABICS CARRIER LHA
-1634 CANADIAN SYLLABICS CARRIER TLHU
-1635 CANADIAN SYLLABICS CARRIER TLHO
-1636 CANADIAN SYLLABICS CARRIER TLHE
-1637 CANADIAN SYLLABICS CARRIER TLHEE
-1638 CANADIAN SYLLABICS CARRIER TLHI
-1639 CANADIAN SYLLABICS CARRIER TLHA
-163A CANADIAN SYLLABICS CARRIER TLU
-163B CANADIAN SYLLABICS CARRIER TLO
-163C CANADIAN SYLLABICS CARRIER TLE
-163D CANADIAN SYLLABICS CARRIER TLEE
-163E CANADIAN SYLLABICS CARRIER TLI
-163F CANADIAN SYLLABICS CARRIER TLA
-1640 CANADIAN SYLLABICS CARRIER ZU
-1641 CANADIAN SYLLABICS CARRIER ZO
-1642 CANADIAN SYLLABICS CARRIER ZE
-1643 CANADIAN SYLLABICS CARRIER ZEE
-1644 CANADIAN SYLLABICS CARRIER ZI
-1645 CANADIAN SYLLABICS CARRIER ZA
-1646 CANADIAN SYLLABICS CARRIER Z
-1647 CANADIAN SYLLABICS CARRIER INITIAL Z
-1648 CANADIAN SYLLABICS CARRIER DZU
-1649 CANADIAN SYLLABICS CARRIER DZO
-164A CANADIAN SYLLABICS CARRIER DZE
-164B CANADIAN SYLLABICS CARRIER DZEE
-164C CANADIAN SYLLABICS CARRIER DZI
-164D CANADIAN SYLLABICS CARRIER DZA
-164E CANADIAN SYLLABICS CARRIER SU
-164F CANADIAN SYLLABICS CARRIER SO
-1650 CANADIAN SYLLABICS CARRIER SE
-1651 CANADIAN SYLLABICS CARRIER SEE
-1652 CANADIAN SYLLABICS CARRIER SI
-1653 CANADIAN SYLLABICS CARRIER SA
-1654 CANADIAN SYLLABICS CARRIER SHU
-1655 CANADIAN SYLLABICS CARRIER SHO
-1656 CANADIAN SYLLABICS CARRIER SHE
-1657 CANADIAN SYLLABICS CARRIER SHEE
-1658 CANADIAN SYLLABICS CARRIER SHI
-1659 CANADIAN SYLLABICS CARRIER SHA
-165A CANADIAN SYLLABICS CARRIER SH
-165B CANADIAN SYLLABICS CARRIER TSU
-165C CANADIAN SYLLABICS CARRIER TSO
-165D CANADIAN SYLLABICS CARRIER TSE
-165E CANADIAN SYLLABICS CARRIER TSEE
-165F CANADIAN SYLLABICS CARRIER TSI
-1660 CANADIAN SYLLABICS CARRIER TSA
-1661 CANADIAN SYLLABICS CARRIER CHU
-1662 CANADIAN SYLLABICS CARRIER CHO
-1663 CANADIAN SYLLABICS CARRIER CHE
-1664 CANADIAN SYLLABICS CARRIER CHEE
-1665 CANADIAN SYLLABICS CARRIER CHI
-1666 CANADIAN SYLLABICS CARRIER CHA
-1667 CANADIAN SYLLABICS CARRIER TTSU
-1668 CANADIAN SYLLABICS CARRIER TTSO
-1669 CANADIAN SYLLABICS CARRIER TTSE
-166A CANADIAN SYLLABICS CARRIER TTSEE
-166B CANADIAN SYLLABICS CARRIER TTSI
-166C CANADIAN SYLLABICS CARRIER TTSA
-@ Symbol
-166D CANADIAN SYLLABICS CHI SIGN
- * Algonquian
- * used as a symbol to denote Christ
- x (chi rho - 2627)
-@ Punctuation
-166E CANADIAN SYLLABICS FULL STOP
-@ Syllables
-166F CANADIAN SYLLABICS QAI
-1670 CANADIAN SYLLABICS NGAI
-1671 CANADIAN SYLLABICS NNGI
-1672 CANADIAN SYLLABICS NNGII
-1673 CANADIAN SYLLABICS NNGO
- * Inuktitut (NNGU)
-1674 CANADIAN SYLLABICS NNGOO
- * Inuktitut (NNGUU)
-1675 CANADIAN SYLLABICS NNGA
-1676 CANADIAN SYLLABICS NNGAA
-1677 CANADIAN SYLLABICS WOODS-CREE THWEE
-1678 CANADIAN SYLLABICS WOODS-CREE THWI
-1679 CANADIAN SYLLABICS WOODS-CREE THWII
-167A CANADIAN SYLLABICS WOODS-CREE THWO
-167B CANADIAN SYLLABICS WOODS-CREE THWOO
-167C CANADIAN SYLLABICS WOODS-CREE THWA
-167D CANADIAN SYLLABICS WOODS-CREE THWAA
-167E CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F CANADIAN SYLLABICS BLACKFOOT W
-@@ 1680 Ogham 169F
-@+ An Ogham font typically displays all Ogham characters with a visible stemline, representing the edge of monumental Ogham inscriptions.
-@ Punctuation
-1680 OGHAM SPACE MARK
- * glyph is blank in "stemless" style fonts
- x (space - 0020)
-@ Traditional letters
-1681 OGHAM LETTER BEITH
-1682 OGHAM LETTER LUIS
-1683 OGHAM LETTER FEARN
-1684 OGHAM LETTER SAIL
-1685 OGHAM LETTER NION
-1686 OGHAM LETTER UATH
-1687 OGHAM LETTER DAIR
-1688 OGHAM LETTER TINNE
-1689 OGHAM LETTER COLL
-168A OGHAM LETTER CEIRT
-168B OGHAM LETTER MUIN
-168C OGHAM LETTER GORT
-168D OGHAM LETTER NGEADAL
-168E OGHAM LETTER STRAIF
-168F OGHAM LETTER RUIS
-1690 OGHAM LETTER AILM
-1691 OGHAM LETTER ONN
-1692 OGHAM LETTER UR
-1693 OGHAM LETTER EADHADH
-1694 OGHAM LETTER IODHADH
-@ Forfeda (supplementary letters)
-1695 OGHAM LETTER EABHADH
-1696 OGHAM LETTER OR
-1697 OGHAM LETTER UILLEANN
-1698 OGHAM LETTER IFIN
-1699 OGHAM LETTER EAMHANCHOLL
-169A OGHAM LETTER PEITH
-@ Punctuation
-169B OGHAM FEATHER MARK
- * marks beginning of Ogham text
-169C OGHAM REVERSED FEATHER MARK
- * marks end of Ogham text
-@@ 16A0 Runic 16FF
-@ Letters
-16A0 RUNIC LETTER FEHU FEOH FE F
-16A1 RUNIC LETTER V
-16A2 RUNIC LETTER URUZ UR U
-16A3 RUNIC LETTER YR
-16A4 RUNIC LETTER Y
-16A5 RUNIC LETTER W
-16A6 RUNIC LETTER THURISAZ THURS THORN
- x (latin small letter thorn - 00FE)
-16A7 RUNIC LETTER ETH
-16A8 RUNIC LETTER ANSUZ A
-16A9 RUNIC LETTER OS O
-16AA RUNIC LETTER AC A
-16AB RUNIC LETTER AESC
-16AC RUNIC LETTER LONG-BRANCH-OSS O
-16AD RUNIC LETTER SHORT-TWIG-OSS O
-16AE RUNIC LETTER O
-16AF RUNIC LETTER OE
-16B0 RUNIC LETTER ON
-16B1 RUNIC LETTER RAIDO RAD REID R
-16B2 RUNIC LETTER KAUNA
-16B3 RUNIC LETTER CEN
-16B4 RUNIC LETTER KAUN K
-16B5 RUNIC LETTER G
-16B6 RUNIC LETTER ENG
-16B7 RUNIC LETTER GEBO GYFU G
-16B8 RUNIC LETTER GAR
-16B9 RUNIC LETTER WUNJO WYNN W
- x (latin letter wynn - 01BF)
-16BA RUNIC LETTER HAGLAZ H
-16BB RUNIC LETTER HAEGL H
-16BC RUNIC LETTER LONG-BRANCH-HAGALL H
-16BD RUNIC LETTER SHORT-TWIG-HAGALL H
-16BE RUNIC LETTER NAUDIZ NYD NAUD N
-16BF RUNIC LETTER SHORT-TWIG-NAUD N
-16C0 RUNIC LETTER DOTTED-N
-16C1 RUNIC LETTER ISAZ IS ISS I
-16C2 RUNIC LETTER E
-16C3 RUNIC LETTER JERAN J
-16C4 RUNIC LETTER GER
-16C5 RUNIC LETTER LONG-BRANCH-AR AE
-16C6 RUNIC LETTER SHORT-TWIG-AR A
-16C7 RUNIC LETTER IWAZ EOH
-16C8 RUNIC LETTER PERTHO PEORTH P
-16C9 RUNIC LETTER ALGIZ EOLHX
-16CA RUNIC LETTER SOWILO S
-16CB RUNIC LETTER SIGEL LONG-BRANCH-SOL S
-16CC RUNIC LETTER SHORT-TWIG-SOL S
-16CD RUNIC LETTER C
-16CE RUNIC LETTER Z
-16CF RUNIC LETTER TIWAZ TIR TYR T
-16D0 RUNIC LETTER SHORT-TWIG-TYR T
-16D1 RUNIC LETTER D
-16D2 RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3 RUNIC LETTER SHORT-TWIG-BJARKAN B
-16D4 RUNIC LETTER DOTTED-P
-16D5 RUNIC LETTER OPEN-P
-16D6 RUNIC LETTER EHWAZ EH E
-16D7 RUNIC LETTER MANNAZ MAN M
-16D8 RUNIC LETTER LONG-BRANCH-MADR M
-16D9 RUNIC LETTER SHORT-TWIG-MADR M
-16DA RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB RUNIC LETTER DOTTED-L
-16DC RUNIC LETTER INGWAZ
-16DD RUNIC LETTER ING
-16DE RUNIC LETTER DAGAZ DAEG D
-16DF RUNIC LETTER OTHALAN ETHEL O
-16E0 RUNIC LETTER EAR
-16E1 RUNIC LETTER IOR
-16E2 RUNIC LETTER CWEORTH
-16E3 RUNIC LETTER CALC
-16E4 RUNIC LETTER CEALC
-16E5 RUNIC LETTER STAN
-16E6 RUNIC LETTER LONG-BRANCH-YR
-16E7 RUNIC LETTER SHORT-TWIG-YR
-16E8 RUNIC LETTER ICELANDIC-YR
-16E9 RUNIC LETTER Q
-16EA RUNIC LETTER X
-@ Punctuation
-16EB RUNIC SINGLE PUNCTUATION
-16EC RUNIC MULTIPLE PUNCTUATION
-16ED RUNIC CROSS PUNCTUATION
-@ Golden number runes
-16EE RUNIC ARLAUG SYMBOL
- * golden number 17
-16EF RUNIC TVIMADUR SYMBOL
- * golden number 18
-16F0 RUNIC BELGTHOR SYMBOL
- * golden number 19
-@@ 1700 Tagalog 171F
-@ Independent vowels
-1700 TAGALOG LETTER A
-1701 TAGALOG LETTER I
-1702 TAGALOG LETTER U
-@ Consonants
-1703 TAGALOG LETTER KA
-1704 TAGALOG LETTER GA
-1705 TAGALOG LETTER NGA
-1706 TAGALOG LETTER TA
-1707 TAGALOG LETTER DA
-1708 TAGALOG LETTER NA
-1709 TAGALOG LETTER PA
-170A TAGALOG LETTER BA
-170B TAGALOG LETTER MA
-170C TAGALOG LETTER YA
-170E TAGALOG LETTER LA
-170F TAGALOG LETTER WA
-1710 TAGALOG LETTER SA
-1711 TAGALOG LETTER HA
-@ Dependent vowel signs
-1712 TAGALOG VOWEL SIGN I
-1713 TAGALOG VOWEL SIGN U
-@ Virama
-1714 TAGALOG SIGN VIRAMA
-@@ 1720 Hanunoo 173F
-@ Independent vowels
-1720 HANUNOO LETTER A
-1721 HANUNOO LETTER I
-1722 HANUNOO LETTER U
-@ Consonants
-1723 HANUNOO LETTER KA
-1724 HANUNOO LETTER GA
-1725 HANUNOO LETTER NGA
-1726 HANUNOO LETTER TA
-1727 HANUNOO LETTER DA
-1728 HANUNOO LETTER NA
-1729 HANUNOO LETTER PA
-172A HANUNOO LETTER BA
-172B HANUNOO LETTER MA
-172C HANUNOO LETTER YA
-172D HANUNOO LETTER RA
-172E HANUNOO LETTER LA
-172F HANUNOO LETTER WA
-1730 HANUNOO LETTER SA
-1731 HANUNOO LETTER HA
-@ Dependent vowel signs
-1732 HANUNOO VOWEL SIGN I
-1733 HANUNOO VOWEL SIGN U
-@ Virama
-1734 HANUNOO SIGN PAMUDPOD
-@ Generic punctuation for Philippine scripts
-1735 PHILIPPINE SINGLE PUNCTUATION
- x (devanagari danda - 0964)
-1736 PHILIPPINE DOUBLE PUNCTUATION
- x (devanagari double danda - 0965)
-@@ 1740 Buhid 175F
-@ Independent vowels
-1740 BUHID LETTER A
-1741 BUHID LETTER I
-1742 BUHID LETTER U
-@ Consonants
-1743 BUHID LETTER KA
-1744 BUHID LETTER GA
-1745 BUHID LETTER NGA
-1746 BUHID LETTER TA
-1747 BUHID LETTER DA
-1748 BUHID LETTER NA
-1749 BUHID LETTER PA
-174A BUHID LETTER BA
-174B BUHID LETTER MA
-174C BUHID LETTER YA
-174D BUHID LETTER RA
-174E BUHID LETTER LA
-174F BUHID LETTER WA
-1750 BUHID LETTER SA
-1751 BUHID LETTER HA
-@ Dependent vowel signs
-1752 BUHID VOWEL SIGN I
-1753 BUHID VOWEL SIGN U
-@@ 1760 Tagbanwa 177F
-@ Independent vowels
-1760 TAGBANWA LETTER A
-1761 TAGBANWA LETTER I
-1762 TAGBANWA LETTER U
-@ Consonants
-1763 TAGBANWA LETTER KA
-1764 TAGBANWA LETTER GA
-1765 TAGBANWA LETTER NGA
-1766 TAGBANWA LETTER TA
-1767 TAGBANWA LETTER DA
-1768 TAGBANWA LETTER NA
-1769 TAGBANWA LETTER PA
-176A TAGBANWA LETTER BA
-176B TAGBANWA LETTER MA
-176C TAGBANWA LETTER YA
-176E TAGBANWA LETTER LA
-176F TAGBANWA LETTER WA
-1770 TAGBANWA LETTER SA
-@ Dependent vowel signs
-1772 TAGBANWA VOWEL SIGN I
-1773 TAGBANWA VOWEL SIGN U
-@@ 1780 Khmer 17FF
-@ Consonants
-1780 KHMER LETTER KA
-1781 KHMER LETTER KHA
-1782 KHMER LETTER KO
-1783 KHMER LETTER KHO
-1784 KHMER LETTER NGO
-1785 KHMER LETTER CA
-1786 KHMER LETTER CHA
-1787 KHMER LETTER CO
-1788 KHMER LETTER CHO
-1789 KHMER LETTER NYO
-178A KHMER LETTER DA
-178B KHMER LETTER TTHA
-178C KHMER LETTER DO
-178D KHMER LETTER TTHO
-178E KHMER LETTER NNO
- * as this character belongs to the first register, its correct transliteration is nna, not nno
-178F KHMER LETTER TA
-1790 KHMER LETTER THA
-1791 KHMER LETTER TO
-1792 KHMER LETTER THO
-1793 KHMER LETTER NO
-1794 KHMER LETTER BA
-1795 KHMER LETTER PHA
-1796 KHMER LETTER PO
-1797 KHMER LETTER PHO
-1798 KHMER LETTER MO
-1799 KHMER LETTER YO
-179A KHMER LETTER RO
-179B KHMER LETTER LO
-179C KHMER LETTER VO
-179D KHMER LETTER SHA
- * used only for Pali/Sanskrit transliteration
-179E KHMER LETTER SSO
- * used only for Pali/Sanskrit transliteration
- * as this character belongs to the first register, its correct transliteration is ssa, not sso
-179F KHMER LETTER SA
-17A0 KHMER LETTER HA
-17A1 KHMER LETTER LA
-17A2 KHMER LETTER QA
- * glottal stop
-@ Deprecated independent vowels for transliteration
-@+ These cloned independent vowels were originally intended only for Pali/Sanskrit transliteration.
-17A3 KHMER INDEPENDENT VOWEL QAQ
- * use of this character is strongly discouraged; 17A2 should be used instead
-17A4 KHMER INDEPENDENT VOWEL QAA
- * use of this character is strongly discouraged; the sequence 17A2 17B6 should be used instead
-@ Independent vowels
-17A5 KHMER INDEPENDENT VOWEL QI
-17A6 KHMER INDEPENDENT VOWEL QII
-17A7 KHMER INDEPENDENT VOWEL QU
-17A8 KHMER INDEPENDENT VOWEL QUK
- * obsolete ligature for the sequence 17A7 1780
- * use of the sequence is now preferred
-17A9 KHMER INDEPENDENT VOWEL QUU
-17AA KHMER INDEPENDENT VOWEL QUUV
-17AB KHMER INDEPENDENT VOWEL RY
-17AC KHMER INDEPENDENT VOWEL RYY
-17AD KHMER INDEPENDENT VOWEL LY
-17AE KHMER INDEPENDENT VOWEL LYY
-17AF KHMER INDEPENDENT VOWEL QE
-17B0 KHMER INDEPENDENT VOWEL QAI
-17B1 KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2 KHMER INDEPENDENT VOWEL QOO TYPE TWO
- * this is a variant for 17B1, used in only two words
- * 17B1 is the normal variant of this vowel
-17B3 KHMER INDEPENDENT VOWEL QAU
-@ Inherent vowels
-@+ These are for phonetic transcription to distinguish Indic language inherent vowels from Khmer inherent vowels. These characters are included solely for compatibility with particular applications; their use in other contexts is discouraged.
-17B4 KHMER VOWEL INHERENT AQ
-17B5 KHMER VOWEL INHERENT AA
-@ Dependent vowel signs
-17B6 KHMER VOWEL SIGN AA
-17B7 KHMER VOWEL SIGN I
-17B8 KHMER VOWEL SIGN II
-17B9 KHMER VOWEL SIGN Y
-17BA KHMER VOWEL SIGN YY
-17BB KHMER VOWEL SIGN U
-17BC KHMER VOWEL SIGN UU
-17BD KHMER VOWEL SIGN UA
-@ Two-part dependent vowel signs
-@+ These two-part dependent vowel signs have glyph pieces which stand on both sides of the consonant. These vowel signs follow the consonant in logical order, and should be handled as a unit for processing.
-17BE KHMER VOWEL SIGN OE
-17BF KHMER VOWEL SIGN YA
-17C0 KHMER VOWEL SIGN IE
-@ Dependent vowel signs
-17C1 KHMER VOWEL SIGN E
-17C2 KHMER VOWEL SIGN AE
-17C3 KHMER VOWEL SIGN AI
-@ Two-part dependent vowel signs
-@+ These two-part dependent vowel signs have glyph pieces which stand on both sides of the consonant. These vowel signs follow the consonant in logical order, and should be handled as a unit for processing.
-17C4 KHMER VOWEL SIGN OO
-17C5 KHMER VOWEL SIGN AU
-@ Various signs
-17C6 KHMER SIGN NIKAHIT
- = srak am
- = anusvara
- * final nasalization
- * this character is usually regarded as a vowel sign am, along with om and aam
- x (thai character nikhahit - 0E4D)
- x (myanmar sign anusvara - 1036)
-17C7 KHMER SIGN REAHMUK
- = srak ah
- = visarga
- x (myanmar sign visarga - 1038)
-17C8 KHMER SIGN YUUKALEAPINTU
- * inserts a short inherent vowel with abrupt glottal stop
- * the preferred transliteration is yukaleakpintu
-@ Consonant shifters
-@+ These signs shift the base consonant between registers.
-17C9 KHMER SIGN MUUSIKATOAN
- * changes the second register to the first
- * the preferred transliteration is muusekatoan
-17CA KHMER SIGN TRIISAP
- * changes the first register to the second
- * the preferred transliteration is treisap
-@ Various signs
-17CB KHMER SIGN BANTOC
- * shortens the vowel sound in the previous orthographic syllable
- * the preferred transliteration is bantak
-17CC KHMER SIGN ROBAT
- * a diacritic historically corresponding to the repha form of ra in Devanagari
-17CD KHMER SIGN TOANDAKHIAT
- * indicates that the base character is not pronounced
-17CE KHMER SIGN KAKABAT
- * sign used with some exclamations
-17CF KHMER SIGN AHSDA
- * denotes stressed intonation in some single-consonant words
-17D0 KHMER SIGN SAMYOK SANNYA
- * denotes deviation from the general rules of pronunciation, mostly used in loan words from Pali/Sanskrit, French, and so on
-17D1 KHMER SIGN VIRIAM
- * mostly obsolete, a "killer"
- * indicates that the base character is the final consonant of a word without its inherent vowel sound
-17D2 KHMER SIGN COENG
- * functions to indicate that the following Khmer letter is to be rendered subscripted
- * shape shown is arbitrary and is not visibly rendered
-@ Lunar date sign
-17D3 KHMER SIGN BATHAMASAT
- * originally intended as part of lunar date symbols
- * use of this character is discouraged in favor of the complete set of lunar date symbols
- x (khmer symbol pathamasat - 19E0)
-@ Various signs
-17D4 KHMER SIGN KHAN
- * functions as a full stop, period
- x (thai character paiyannoi - 0E2F)
- x (myanmar sign little section - 104A)
-17D5 KHMER SIGN BARIYOOSAN
- * indicates the end of a section or a text
- x (thai character angkhankhu - 0E5A)
- x (myanmar sign section - 104B)
-17D6 KHMER SIGN CAMNUC PII KUUH
- * functions as colon
- * the preferred transliteration is camnoc pii kuuh
- x (division sign - 00F7)
- x (tibetan mark gter tsheg - 0F14)
-17D7 KHMER SIGN LEK TOO
- * repetition sign
- x (thai character maiyamok - 0E46)
-17D8 KHMER SIGN BEYYAL
- * et cetera
- * use of this character is discouraged; other abbreviations for et cetera also exist
- * preferred spelling: 17D4 179B 17D4
-17D9 KHMER SIGN PHNAEK MUAN
- * indicates the beginning of a book or a treatise
- * the preferred transliteration is phnek moan
- x (thai character fongman - 0E4F)
-17DA KHMER SIGN KOOMUUT
- * indicates the end of a book or treatise
- * this forms a pair with 17D9
- * the preferred transliteration is koomoot
- x (thai character khomut - 0E5B)
-@ Currency symbol
-17DB KHMER CURRENCY SYMBOL RIEL
-@ Various signs
-17DC KHMER SIGN AVAKRAHASANYA
- * rare, shows an omitted Sanskrit vowel, like an apostrophe
- * the preferred transliteration is avakraha sannya
- x (devanagari sign avagraha - 093D)
-17DD KHMER SIGN ATTHACAN
- * mostly obsolete
- * indicates that the base character is the final consonant of a word with its inherent vowel sound
- x (khmer sign viriam - 17D1)
-@ Digits
-17E0 KHMER DIGIT ZERO
-17E1 KHMER DIGIT ONE
-17E2 KHMER DIGIT TWO
-17E3 KHMER DIGIT THREE
-17E4 KHMER DIGIT FOUR
-17E5 KHMER DIGIT FIVE
-17E6 KHMER DIGIT SIX
-17E7 KHMER DIGIT SEVEN
-17E8 KHMER DIGIT EIGHT
-17E9 KHMER DIGIT NINE
-@ Numeric symbols for divination lore
-@+ These characters have numeric values 0-9, respectively, but are not used for calculation.
-17F0 KHMER SYMBOL LEK ATTAK SON
-17F1 KHMER SYMBOL LEK ATTAK MUOY
-17F2 KHMER SYMBOL LEK ATTAK PII
-17F3 KHMER SYMBOL LEK ATTAK BEI
-17F4 KHMER SYMBOL LEK ATTAK BUON
-17F5 KHMER SYMBOL LEK ATTAK PRAM
-17F6 KHMER SYMBOL LEK ATTAK PRAM-MUOY
-17F7 KHMER SYMBOL LEK ATTAK PRAM-PII
-17F8 KHMER SYMBOL LEK ATTAK PRAM-BEI
-17F9 KHMER SYMBOL LEK ATTAK PRAM-BUON
-@@ 1800 Mongolian 18AF
-@@+
-@ Punctuation
-1800 MONGOLIAN BIRGA
- x (tibetan mark initial yig mgo mdun ma - 0F04)
-1801 MONGOLIAN ELLIPSIS
-1802 MONGOLIAN COMMA
-1803 MONGOLIAN FULL STOP
-1804 MONGOLIAN COLON
-1805 MONGOLIAN FOUR DOTS
- * marks the end of a chapter
-1806 MONGOLIAN TODO SOFT HYPHEN
- * not a format control character, but simply a hyphen for Todo
- x (soft hyphen - 00AD)
-1807 MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808 MONGOLIAN MANCHU COMMA
-1809 MONGOLIAN MANCHU FULL STOP
-180A MONGOLIAN NIRUGU
-@ Format controls
-180B MONGOLIAN FREE VARIATION SELECTOR ONE
- * abbreviated FVS1
-180C MONGOLIAN FREE VARIATION SELECTOR TWO
- * abbreviated FVS2
-180D MONGOLIAN FREE VARIATION SELECTOR THREE
- * abbreviated FVS3
-180E MONGOLIAN VOWEL SEPARATOR
- * abbreviated MVS
-@ Digits
-1810 MONGOLIAN DIGIT ZERO
-1811 MONGOLIAN DIGIT ONE
-1812 MONGOLIAN DIGIT TWO
-1813 MONGOLIAN DIGIT THREE
-1814 MONGOLIAN DIGIT FOUR
-1815 MONGOLIAN DIGIT FIVE
-1816 MONGOLIAN DIGIT SIX
-1817 MONGOLIAN DIGIT SEVEN
-1818 MONGOLIAN DIGIT EIGHT
-1819 MONGOLIAN DIGIT NINE
-@ Basic letters
-1820 MONGOLIAN LETTER A
- x (cyrillic small letter a - 0430)
-1821 MONGOLIAN LETTER E
- x (cyrillic small letter e - 044D)
-1822 MONGOLIAN LETTER I
- x (cyrillic small letter i - 0438)
-1823 MONGOLIAN LETTER O
- x (cyrillic small letter o - 043E)
-1824 MONGOLIAN LETTER U
- x (cyrillic small letter u - 0443)
-1825 MONGOLIAN LETTER OE
- x (cyrillic small letter barred o - 04E9)
-1826 MONGOLIAN LETTER UE
- x (cyrillic small letter straight u - 04AF)
-1827 MONGOLIAN LETTER EE
-1828 MONGOLIAN LETTER NA
- x (cyrillic small letter en - 043D)
-1829 MONGOLIAN LETTER ANG
-182A MONGOLIAN LETTER BA
- x (cyrillic small letter be - 0431)
-182B MONGOLIAN LETTER PA
- x (cyrillic small letter pe - 043F)
-182C MONGOLIAN LETTER QA
- x (cyrillic small letter ha - 0445)
-182D MONGOLIAN LETTER GA
- x (cyrillic small letter ghe - 0433)
-182E MONGOLIAN LETTER MA
- x (cyrillic small letter em - 043C)
-182F MONGOLIAN LETTER LA
- x (cyrillic small letter el - 043B)
-1830 MONGOLIAN LETTER SA
- x (cyrillic small letter es - 0441)
-1831 MONGOLIAN LETTER SHA
- x (cyrillic small letter sha - 0448)
-1832 MONGOLIAN LETTER TA
- x (cyrillic small letter te - 0442)
-1833 MONGOLIAN LETTER DA
- x (cyrillic small letter de - 0434)
-1834 MONGOLIAN LETTER CHA
- x (cyrillic small letter che - 0447)
-1835 MONGOLIAN LETTER JA
- x (cyrillic small letter zhe - 0436)
-1836 MONGOLIAN LETTER YA
- x (cyrillic small letter short i - 0439)
-1837 MONGOLIAN LETTER RA
- x (cyrillic small letter er - 0440)
-1838 MONGOLIAN LETTER WA
- x (cyrillic small letter ve - 0432)
-1839 MONGOLIAN LETTER FA
- x (cyrillic small letter ef - 0444)
-183A MONGOLIAN LETTER KA
- x (cyrillic small letter ha - 0445)
-183B MONGOLIAN LETTER KHA
- x (cyrillic small letter ka - 043A)
-183C MONGOLIAN LETTER TSA
- x (cyrillic small letter tse - 0446)
-183D MONGOLIAN LETTER ZA
- x (cyrillic small letter ze - 0437)
-183E MONGOLIAN LETTER HAA
- x (cyrillic small letter ha - 0445)
-183F MONGOLIAN LETTER ZRA
- x (cyrillic small letter zhe - 0436)
-1840 MONGOLIAN LETTER LHA
-1841 MONGOLIAN LETTER ZHI
-1842 MONGOLIAN LETTER CHI
-@ Todo letters
-1843 MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844 MONGOLIAN LETTER TODO E
-1845 MONGOLIAN LETTER TODO I
-1846 MONGOLIAN LETTER TODO O
-1847 MONGOLIAN LETTER TODO U
-1848 MONGOLIAN LETTER TODO OE
-1849 MONGOLIAN LETTER TODO UE
-184A MONGOLIAN LETTER TODO ANG
-184B MONGOLIAN LETTER TODO BA
-184C MONGOLIAN LETTER TODO PA
-184D MONGOLIAN LETTER TODO QA
-184E MONGOLIAN LETTER TODO GA
-184F MONGOLIAN LETTER TODO MA
-1850 MONGOLIAN LETTER TODO TA
-1851 MONGOLIAN LETTER TODO DA
-1852 MONGOLIAN LETTER TODO CHA
-1853 MONGOLIAN LETTER TODO JA
-1854 MONGOLIAN LETTER TODO TSA
-1855 MONGOLIAN LETTER TODO YA
-1856 MONGOLIAN LETTER TODO WA
-1857 MONGOLIAN LETTER TODO KA
-1858 MONGOLIAN LETTER TODO GAA
-1859 MONGOLIAN LETTER TODO HAA
-185A MONGOLIAN LETTER TODO JIA
-185B MONGOLIAN LETTER TODO NIA
-185C MONGOLIAN LETTER TODO DZA
-@ Sibe letters
-185D MONGOLIAN LETTER SIBE E
-185E MONGOLIAN LETTER SIBE I
-185F MONGOLIAN LETTER SIBE IY
-1860 MONGOLIAN LETTER SIBE UE
-1861 MONGOLIAN LETTER SIBE U
-1862 MONGOLIAN LETTER SIBE ANG
-1863 MONGOLIAN LETTER SIBE KA
-1864 MONGOLIAN LETTER SIBE GA
-1865 MONGOLIAN LETTER SIBE HA
-1866 MONGOLIAN LETTER SIBE PA
-1867 MONGOLIAN LETTER SIBE SHA
-1868 MONGOLIAN LETTER SIBE TA
-1869 MONGOLIAN LETTER SIBE DA
-186A MONGOLIAN LETTER SIBE JA
-186B MONGOLIAN LETTER SIBE FA
-186C MONGOLIAN LETTER SIBE GAA
-186D MONGOLIAN LETTER SIBE HAA
-186E MONGOLIAN LETTER SIBE TSA
-186F MONGOLIAN LETTER SIBE ZA
-1870 MONGOLIAN LETTER SIBE RAA
-1871 MONGOLIAN LETTER SIBE CHA
-1872 MONGOLIAN LETTER SIBE ZHA
-@ Manchu letters
-1873 MONGOLIAN LETTER MANCHU I
-1874 MONGOLIAN LETTER MANCHU KA
-1875 MONGOLIAN LETTER MANCHU RA
-1876 MONGOLIAN LETTER MANCHU FA
-1877 MONGOLIAN LETTER MANCHU ZHA
-@ Extensions for Sanskrit and Tibetan
-1880 MONGOLIAN LETTER ALI GALI ANUSVARA ONE
- x (tibetan sign sna ldan - 0F83)
-1881 MONGOLIAN LETTER ALI GALI VISARGA ONE
- x (tibetan sign rnam bcad - 0F7F)
-1882 MONGOLIAN LETTER ALI GALI DAMARU
- x (tibetan sign lce tsa can - 0F88)
-1883 MONGOLIAN LETTER ALI GALI UBADAMA
-1884 MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
- x (tibetan sign mchu can - 0F89)
-1885 MONGOLIAN LETTER ALI GALI BALUDA
- x (tibetan mark paluta - 0F85)
-1886 MONGOLIAN LETTER ALI GALI THREE BALUDA
-1887 MONGOLIAN LETTER ALI GALI A
-1888 MONGOLIAN LETTER ALI GALI I
-1889 MONGOLIAN LETTER ALI GALI KA
-188A MONGOLIAN LETTER ALI GALI NGA
-188B MONGOLIAN LETTER ALI GALI CA
-188C MONGOLIAN LETTER ALI GALI TTA
-188D MONGOLIAN LETTER ALI GALI TTHA
-188E MONGOLIAN LETTER ALI GALI DDA
-188F MONGOLIAN LETTER ALI GALI NNA
-1890 MONGOLIAN LETTER ALI GALI TA
-1891 MONGOLIAN LETTER ALI GALI DA
-1892 MONGOLIAN LETTER ALI GALI PA
-1893 MONGOLIAN LETTER ALI GALI PHA
-1894 MONGOLIAN LETTER ALI GALI SSA
-1895 MONGOLIAN LETTER ALI GALI ZHA
-1896 MONGOLIAN LETTER ALI GALI ZA
-1897 MONGOLIAN LETTER ALI GALI AH
-1898 MONGOLIAN LETTER TODO ALI GALI TA
-1899 MONGOLIAN LETTER TODO ALI GALI ZHA
-189A MONGOLIAN LETTER MANCHU ALI GALI GHA
-189B MONGOLIAN LETTER MANCHU ALI GALI NGA
-189C MONGOLIAN LETTER MANCHU ALI GALI CA
-189D MONGOLIAN LETTER MANCHU ALI GALI JHA
-189E MONGOLIAN LETTER MANCHU ALI GALI TTA
-189F MONGOLIAN LETTER MANCHU ALI GALI DDHA
-18A0 MONGOLIAN LETTER MANCHU ALI GALI TA
-18A1 MONGOLIAN LETTER MANCHU ALI GALI DHA
-18A2 MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A3 MONGOLIAN LETTER MANCHU ALI GALI CYA
-18A4 MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5 MONGOLIAN LETTER MANCHU ALI GALI ZA
-18A6 MONGOLIAN LETTER ALI GALI HALF U
-18A7 MONGOLIAN LETTER ALI GALI HALF YA
-18A8 MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 MONGOLIAN LETTER ALI GALI DAGALGA
-18AA MONGOLIAN LETTER MANCHU ALI GALI LHA
-@@ 18B0 Unified Canadian Aboriginal Syllabics Extended 18FF
-@ Syllables for Moose Cree
-18B0 CANADIAN SYLLABICS OY
-18B1 CANADIAN SYLLABICS AY
-18B2 CANADIAN SYLLABICS AAY
-18B3 CANADIAN SYLLABICS WAY
-18B4 CANADIAN SYLLABICS POY
-18B5 CANADIAN SYLLABICS PAY
-18B6 CANADIAN SYLLABICS PWOY
-18B7 CANADIAN SYLLABICS TAY
-18B8 CANADIAN SYLLABICS KAY
-18B9 CANADIAN SYLLABICS KWAY
-18BA CANADIAN SYLLABICS MAY
-18BB CANADIAN SYLLABICS NOY
-18BC CANADIAN SYLLABICS NAY
-18BD CANADIAN SYLLABICS LAY
-18BE CANADIAN SYLLABICS SOY
-18BF CANADIAN SYLLABICS SAY
-18C0 CANADIAN SYLLABICS SHOY
-18C1 CANADIAN SYLLABICS SHAY
-18C2 CANADIAN SYLLABICS SHWOY
-18C3 CANADIAN SYLLABICS YOY
-18C4 CANADIAN SYLLABICS YAY
-18C5 CANADIAN SYLLABICS RAY
-@ Syllables for Cree and Ojibway
-18C6 CANADIAN SYLLABICS NWI
-18C7 CANADIAN SYLLABICS OJIBWAY NWI
-18C8 CANADIAN SYLLABICS NWII
-18C9 CANADIAN SYLLABICS OJIBWAY NWII
-18CA CANADIAN SYLLABICS NWO
-18CB CANADIAN SYLLABICS OJIBWAY NWO
-18CC CANADIAN SYLLABICS NWOO
-18CD CANADIAN SYLLABICS OJIBWAY NWOO
-18CE CANADIAN SYLLABICS RWEE
-18CF CANADIAN SYLLABICS RWI
-18D0 CANADIAN SYLLABICS RWII
-18D1 CANADIAN SYLLABICS RWO
-18D2 CANADIAN SYLLABICS RWOO
-18D3 CANADIAN SYLLABICS RWA
-@ Finals for Cree and Ojibway
-18D4 CANADIAN SYLLABICS OJIBWAY P
-18D5 CANADIAN SYLLABICS OJIBWAY T
-18D6 CANADIAN SYLLABICS OJIBWAY K
-18D7 CANADIAN SYLLABICS OJIBWAY C
-18D8 CANADIAN SYLLABICS OJIBWAY M
-18D9 CANADIAN SYLLABICS OJIBWAY N
-18DA CANADIAN SYLLABICS OJIBWAY S
-18DB CANADIAN SYLLABICS OJIBWAY SH
-18DC CANADIAN SYLLABICS EASTERN W
-18DD CANADIAN SYLLABICS WESTERN W
-18DE CANADIAN SYLLABICS FINAL SMALL RING
-18DF CANADIAN SYLLABICS FINAL RAISED DOT
- * Carrier (GLOTTAL STOP)
-@ Syllables for Beaver Dene, Hare Dene, and Chipewyan Dene
-18E0 CANADIAN SYLLABICS R-CREE RWE
- * Beaver Dene (LYE)
-18E1 CANADIAN SYLLABICS WEST-CREE LOO
- * Chipewyan Dene (LU)
-18E2 CANADIAN SYLLABICS WEST-CREE LAA
- * Beaver Dene (LAI)
-18E3 CANADIAN SYLLABICS THWE
- * Beaver Dene (TYE)
-18E4 CANADIAN SYLLABICS THWA
- * Beaver Dene (TYA)
-18E5 CANADIAN SYLLABICS TTHWE
- * Beaver Dene (HYE)
-18E6 CANADIAN SYLLABICS TTHOO
- * Chipewyan Dene (TTHU)
-18E7 CANADIAN SYLLABICS TTHAA
- * Beaver Dene (HAI)
-18E8 CANADIAN SYLLABICS TLHWE
- * Beaver Dene (TLYE)
-18E9 CANADIAN SYLLABICS TLHOO
- * Chipewyan Dene (TLU)
-18EA CANADIAN SYLLABICS SAYISI SHWE
- * Beaver Dene (ZYE)
-18EB CANADIAN SYLLABICS SAYISI SHOO
- * Chipewyan Dene (SHU)
-18EC CANADIAN SYLLABICS SAYISI HOO
- * Chipewyan Dene (GU)
-18ED CANADIAN SYLLABICS CARRIER GWU
- * Beaver Dene (CHYE)
-18EE CANADIAN SYLLABICS CARRIER DENE GEE
- * Chipewyan Dene (CHU)
-18EF CANADIAN SYLLABICS CARRIER GAA
- * Beaver Dene (CHAI)
-18F0 CANADIAN SYLLABICS CARRIER GWA
- * Hare Dene (SHYA)
-18F1 CANADIAN SYLLABICS SAYISI JUU
- * Chipewyan Dene (TSU)
-18F2 CANADIAN SYLLABICS CARRIER JWA
- * Beaver Dene (TSYE)
-@ Finals for Dene and Carrier
-18F3 CANADIAN SYLLABICS BEAVER DENE L
-18F4 CANADIAN SYLLABICS BEAVER DENE R
-18F5 CANADIAN SYLLABICS CARRIER DENTAL S
-@@ 1900 Limbu 194F
-@ Consonants
-1900 LIMBU VOWEL-CARRIER LETTER
-1901 LIMBU LETTER KA
-1902 LIMBU LETTER KHA
-1903 LIMBU LETTER GA
-1904 LIMBU LETTER GHA
-1905 LIMBU LETTER NGA
-1906 LIMBU LETTER CA
-1907 LIMBU LETTER CHA
-1908 LIMBU LETTER JA
-1909 LIMBU LETTER JHA
-190A LIMBU LETTER YAN
-190B LIMBU LETTER TA
-190C LIMBU LETTER THA
-190D LIMBU LETTER DA
-190E LIMBU LETTER DHA
-190F LIMBU LETTER NA
-1910 LIMBU LETTER PA
-1911 LIMBU LETTER PHA
-1912 LIMBU LETTER BA
-1913 LIMBU LETTER BHA
-1914 LIMBU LETTER MA
-1915 LIMBU LETTER YA
-1916 LIMBU LETTER RA
-1917 LIMBU LETTER LA
-1918 LIMBU LETTER WA
-1919 LIMBU LETTER SHA
-191A LIMBU LETTER SSA
-191B LIMBU LETTER SA
-191C LIMBU LETTER HA
-@ Dependent vowel signs
-1920 LIMBU VOWEL SIGN A
-1921 LIMBU VOWEL SIGN I
-1922 LIMBU VOWEL SIGN U
-1923 LIMBU VOWEL SIGN EE
-1924 LIMBU VOWEL SIGN AI
-1925 LIMBU VOWEL SIGN OO
-1926 LIMBU VOWEL SIGN AU
-1927 LIMBU VOWEL SIGN E
-1928 LIMBU VOWEL SIGN O
-@ Subjoined consonants
-1929 LIMBU SUBJOINED LETTER YA
-192A LIMBU SUBJOINED LETTER RA
-192B LIMBU SUBJOINED LETTER WA
-@ Final consonants
-1930 LIMBU SMALL LETTER KA
-1931 LIMBU SMALL LETTER NGA
-1932 LIMBU SMALL LETTER ANUSVARA
-1933 LIMBU SMALL LETTER TA
-1934 LIMBU SMALL LETTER NA
-1935 LIMBU SMALL LETTER PA
-1936 LIMBU SMALL LETTER MA
-1937 LIMBU SMALL LETTER RA
-1938 LIMBU SMALL LETTER LA
-@ Various signs
-1939 LIMBU SIGN MUKPHRENG
-193A LIMBU SIGN KEMPHRENG
-193B LIMBU SIGN SA-I
-1940 LIMBU SIGN LOO
-1944 LIMBU EXCLAMATION MARK
-1945 LIMBU QUESTION MARK
-@ Digits
-1946 LIMBU DIGIT ZERO
-1947 LIMBU DIGIT ONE
-1948 LIMBU DIGIT TWO
-1949 LIMBU DIGIT THREE
-194A LIMBU DIGIT FOUR
-194B LIMBU DIGIT FIVE
-194C LIMBU DIGIT SIX
-194D LIMBU DIGIT SEVEN
-194E LIMBU DIGIT EIGHT
-194F LIMBU DIGIT NINE
-@@ 1950 Tai Le 197F
-@+ Note the similarly named but distinct New Tai Lue script encoded at U+1980..U+19DF.
-@ Consonants
-1950 TAI LE LETTER KA
-1951 TAI LE LETTER XA
-1952 TAI LE LETTER NGA
-1953 TAI LE LETTER TSA
-1954 TAI LE LETTER SA
-1955 TAI LE LETTER YA
-1956 TAI LE LETTER TA
-1957 TAI LE LETTER THA
-1958 TAI LE LETTER LA
-1959 TAI LE LETTER PA
-195A TAI LE LETTER PHA
-195B TAI LE LETTER MA
-195C TAI LE LETTER FA
-195D TAI LE LETTER VA
-195E TAI LE LETTER HA
-195F TAI LE LETTER QA
-1960 TAI LE LETTER KHA
-1961 TAI LE LETTER TSHA
-1962 TAI LE LETTER NA
-@ Vowels
-1963 TAI LE LETTER A
-1964 TAI LE LETTER I
-1965 TAI LE LETTER EE
-1966 TAI LE LETTER EH
-1967 TAI LE LETTER U
-1968 TAI LE LETTER OO
-1969 TAI LE LETTER O
-196A TAI LE LETTER UE
-196B TAI LE LETTER E
-196C TAI LE LETTER AUE
-196D TAI LE LETTER AI
-@ Tone letters
-1970 TAI LE LETTER TONE-2
-1971 TAI LE LETTER TONE-3
-1972 TAI LE LETTER TONE-4
-1973 TAI LE LETTER TONE-5
-1974 TAI LE LETTER TONE-6
-@@ 1980 New Tai Lue 19DF
-@+ Note the similarly named but distinct Tai Le script encoded at U+1950..U+197F. The New Tai Lue script is also known as Xishuang Banna Dai.
-@ Consonants
-1980 NEW TAI LUE LETTER HIGH QA
-1981 NEW TAI LUE LETTER LOW QA
-1982 NEW TAI LUE LETTER HIGH KA
-1983 NEW TAI LUE LETTER HIGH XA
-1984 NEW TAI LUE LETTER HIGH NGA
-1985 NEW TAI LUE LETTER LOW KA
-1986 NEW TAI LUE LETTER LOW XA
-1987 NEW TAI LUE LETTER LOW NGA
-1988 NEW TAI LUE LETTER HIGH TSA
-1989 NEW TAI LUE LETTER HIGH SA
-198A NEW TAI LUE LETTER HIGH YA
-198B NEW TAI LUE LETTER LOW TSA
-198C NEW TAI LUE LETTER LOW SA
-198D NEW TAI LUE LETTER LOW YA
-198E NEW TAI LUE LETTER HIGH TA
-198F NEW TAI LUE LETTER HIGH THA
-1990 NEW TAI LUE LETTER HIGH NA
-1991 NEW TAI LUE LETTER LOW TA
-1992 NEW TAI LUE LETTER LOW THA
-1993 NEW TAI LUE LETTER LOW NA
-1994 NEW TAI LUE LETTER HIGH PA
-1995 NEW TAI LUE LETTER HIGH PHA
-1996 NEW TAI LUE LETTER HIGH MA
-1997 NEW TAI LUE LETTER LOW PA
-1998 NEW TAI LUE LETTER LOW PHA
-1999 NEW TAI LUE LETTER LOW MA
-199A NEW TAI LUE LETTER HIGH FA
-199B NEW TAI LUE LETTER HIGH VA
-199C NEW TAI LUE LETTER HIGH LA
-199D NEW TAI LUE LETTER LOW FA
-199E NEW TAI LUE LETTER LOW VA
-199F NEW TAI LUE LETTER LOW LA
-19A0 NEW TAI LUE LETTER HIGH HA
-19A1 NEW TAI LUE LETTER HIGH DA
-19A2 NEW TAI LUE LETTER HIGH BA
-19A3 NEW TAI LUE LETTER LOW HA
-19A4 NEW TAI LUE LETTER LOW DA
-19A5 NEW TAI LUE LETTER LOW BA
-19A6 NEW TAI LUE LETTER HIGH KVA
-19A7 NEW TAI LUE LETTER HIGH XVA
-19A8 NEW TAI LUE LETTER LOW KVA
-19A9 NEW TAI LUE LETTER LOW XVA
-19AA NEW TAI LUE LETTER HIGH SUA
-19AB NEW TAI LUE LETTER LOW SUA
-@ Vowel signs
-19B0 NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1 NEW TAI LUE VOWEL SIGN AA
-19B2 NEW TAI LUE VOWEL SIGN II
-19B3 NEW TAI LUE VOWEL SIGN U
-19B4 NEW TAI LUE VOWEL SIGN UU
-19B5 NEW TAI LUE VOWEL SIGN E
-19B6 NEW TAI LUE VOWEL SIGN AE
-19B7 NEW TAI LUE VOWEL SIGN O
-19B8 NEW TAI LUE VOWEL SIGN OA
-19B9 NEW TAI LUE VOWEL SIGN UE
-19BA NEW TAI LUE VOWEL SIGN AY
-19BB NEW TAI LUE VOWEL SIGN AAY
-19BC NEW TAI LUE VOWEL SIGN UY
-19BD NEW TAI LUE VOWEL SIGN OY
-19BE NEW TAI LUE VOWEL SIGN OAY
-19BF NEW TAI LUE VOWEL SIGN UEY
-19C0 NEW TAI LUE VOWEL SIGN IY
-@ Final consonants
-19C1 NEW TAI LUE LETTER FINAL V
-19C2 NEW TAI LUE LETTER FINAL NG
-19C3 NEW TAI LUE LETTER FINAL N
-19C4 NEW TAI LUE LETTER FINAL M
-19C5 NEW TAI LUE LETTER FINAL K
-19C6 NEW TAI LUE LETTER FINAL D
-19C7 NEW TAI LUE LETTER FINAL B
-@ Tone marks
-19C8 NEW TAI LUE TONE MARK-1
-19C9 NEW TAI LUE TONE MARK-2
-@ Digits
-19D0 NEW TAI LUE DIGIT ZERO
-19D1 NEW TAI LUE DIGIT ONE
-19D2 NEW TAI LUE DIGIT TWO
-19D3 NEW TAI LUE DIGIT THREE
-19D4 NEW TAI LUE DIGIT FOUR
-19D5 NEW TAI LUE DIGIT FIVE
-19D6 NEW TAI LUE DIGIT SIX
-19D7 NEW TAI LUE DIGIT SEVEN
-19D8 NEW TAI LUE DIGIT EIGHT
-19D9 NEW TAI LUE DIGIT NINE
-19DA NEW TAI LUE THAM DIGIT ONE
-@ Various signs
-19DE NEW TAI LUE SIGN LAE
- * conjunction: and
-19DF NEW TAI LUE SIGN LAEV
- * perfective
-@@ 19E0 Khmer Symbols 19FF
-@ Lunar date symbols
-19E0 KHMER SYMBOL PATHAMASAT
- * represents the first August in a leap year
-@+ The following fifteen characters represent the first through the fifteenth waxing days, respectively.
-19E1 KHMER SYMBOL MUOY KOET
-19E2 KHMER SYMBOL PII KOET
-19E3 KHMER SYMBOL BEI KOET
-19E4 KHMER SYMBOL BUON KOET
-19E5 KHMER SYMBOL PRAM KOET
-19E6 KHMER SYMBOL PRAM-MUOY KOET
-19E7 KHMER SYMBOL PRAM-PII KOET
-19E8 KHMER SYMBOL PRAM-BEI KOET
-19E9 KHMER SYMBOL PRAM-BUON KOET
-19EA KHMER SYMBOL DAP KOET
-19EB KHMER SYMBOL DAP-MUOY KOET
-19EC KHMER SYMBOL DAP-PII KOET
-19ED KHMER SYMBOL DAP-BEI KOET
-19EE KHMER SYMBOL DAP-BUON KOET
-19EF KHMER SYMBOL DAP-PRAM KOET
-19F0 KHMER SYMBOL TUTEYASAT
- * represents the second August in a leap year
-@+ The following fifteen characters represent the first through the fifteenth waning days, respectively.
-19F1 KHMER SYMBOL MUOY ROC
-19F2 KHMER SYMBOL PII ROC
-19F3 KHMER SYMBOL BEI ROC
-19F4 KHMER SYMBOL BUON ROC
-19F5 KHMER SYMBOL PRAM ROC
-19F6 KHMER SYMBOL PRAM-MUOY ROC
-19F7 KHMER SYMBOL PRAM-PII ROC
-19F8 KHMER SYMBOL PRAM-BEI ROC
-19F9 KHMER SYMBOL PRAM-BUON ROC
-19FA KHMER SYMBOL DAP ROC
-19FB KHMER SYMBOL DAP-MUOY ROC
-19FC KHMER SYMBOL DAP-PII ROC
-19FD KHMER SYMBOL DAP-BEI ROC
-19FE KHMER SYMBOL DAP-BUON ROC
-19FF KHMER SYMBOL DAP-PRAM ROC
-@@ 1A00 Buginese 1A1F
-@+ This script is also known as Lontara.
-@ Consonants
-1A00 BUGINESE LETTER KA
-1A01 BUGINESE LETTER GA
-1A02 BUGINESE LETTER NGA
-1A03 BUGINESE LETTER NGKA
-1A04 BUGINESE LETTER PA
-1A05 BUGINESE LETTER BA
-1A06 BUGINESE LETTER MA
-1A07 BUGINESE LETTER MPA
-1A08 BUGINESE LETTER TA
-1A09 BUGINESE LETTER DA
-1A0A BUGINESE LETTER NA
-1A0B BUGINESE LETTER NRA
-1A0C BUGINESE LETTER CA
-1A0D BUGINESE LETTER JA
-1A0E BUGINESE LETTER NYA
-1A0F BUGINESE LETTER NYCA
-1A10 BUGINESE LETTER YA
-1A11 BUGINESE LETTER RA
-1A12 BUGINESE LETTER LA
-1A13 BUGINESE LETTER VA
-1A14 BUGINESE LETTER SA
-1A15 BUGINESE LETTER A
-1A16 BUGINESE LETTER HA
-@ Vowels
-1A17 BUGINESE VOWEL SIGN I
-1A18 BUGINESE VOWEL SIGN U
-1A19 BUGINESE VOWEL SIGN E
-1A1A BUGINESE VOWEL SIGN O
-1A1B BUGINESE VOWEL SIGN AE
-@ Various signs
-1A1E BUGINESE PALLAWA
-1A1F BUGINESE END OF SECTION
-@@ 1A20 Tai Tham 1AAF
-@+ The Tai Tham script is also known as Lanna as well as Old Tai Lue. It is used for the Khuen, Northern Thai, and Tai Lue languages. The glyphs shown in the code chart are in Khuen and Tai Lue style.
-@ Consonants
-1A20 TAI THAM LETTER HIGH KA
-1A21 TAI THAM LETTER HIGH KHA
-1A22 TAI THAM LETTER HIGH KXA
-1A23 TAI THAM LETTER LOW KA
-1A24 TAI THAM LETTER LOW KXA
-1A25 TAI THAM LETTER LOW KHA
-1A26 TAI THAM LETTER NGA
-1A27 TAI THAM LETTER HIGH CA
-1A28 TAI THAM LETTER HIGH CHA
-1A29 TAI THAM LETTER LOW CA
-1A2A TAI THAM LETTER LOW SA
-1A2B TAI THAM LETTER LOW CHA
-1A2C TAI THAM LETTER NYA
-1A2D TAI THAM LETTER RATA
-1A2E TAI THAM LETTER HIGH RATHA
-1A2F TAI THAM LETTER DA
-1A30 TAI THAM LETTER LOW RATHA
-1A31 TAI THAM LETTER RANA
-1A32 TAI THAM LETTER HIGH TA
-1A33 TAI THAM LETTER HIGH THA
-1A34 TAI THAM LETTER LOW TA
-1A35 TAI THAM LETTER LOW THA
-1A36 TAI THAM LETTER NA
-1A37 TAI THAM LETTER BA
-1A38 TAI THAM LETTER HIGH PA
-1A39 TAI THAM LETTER HIGH PHA
-1A3A TAI THAM LETTER HIGH FA
-1A3B TAI THAM LETTER LOW PA
-1A3C TAI THAM LETTER LOW FA
-1A3D TAI THAM LETTER LOW PHA
-1A3E TAI THAM LETTER MA
-1A3F TAI THAM LETTER LOW YA
-1A40 TAI THAM LETTER HIGH YA
-1A41 TAI THAM LETTER RA
-1A42 TAI THAM LETTER RUE
-1A43 TAI THAM LETTER LA
-1A44 TAI THAM LETTER LUE
-1A45 TAI THAM LETTER WA
-1A46 TAI THAM LETTER HIGH SHA
-1A47 TAI THAM LETTER HIGH SSA
-1A48 TAI THAM LETTER HIGH SA
-1A49 TAI THAM LETTER HIGH HA
-1A4A TAI THAM LETTER LLA
-1A4B TAI THAM LETTER A
- * indicates a glottal consonant
-1A4C TAI THAM LETTER LOW HA
-@ Independent vowels
-1A4D TAI THAM LETTER I
-1A4E TAI THAM LETTER II
-1A4F TAI THAM LETTER U
-1A50 TAI THAM LETTER UU
-1A51 TAI THAM LETTER EE
-1A52 TAI THAM LETTER OO
-@ Consonants
-1A53 TAI THAM LETTER LAE
-1A54 TAI THAM LETTER GREAT SA
-1A55 TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 TAI THAM CONSONANT SIGN LA TANG LAI
-1A58 TAI THAM SIGN MAI KANG LAI
-1A59 TAI THAM CONSONANT SIGN FINAL NGA
-1A5A TAI THAM CONSONANT SIGN LOW PA
-1A5B TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-1A5C TAI THAM CONSONANT SIGN MA
-1A5D TAI THAM CONSONANT SIGN BA
-1A5E TAI THAM CONSONANT SIGN SA
-@ Sign
-1A60 TAI THAM SIGN SAKOT
-@ Dependent vowel signs
-1A61 TAI THAM VOWEL SIGN A
-1A62 TAI THAM VOWEL SIGN MAI SAT
-1A63 TAI THAM VOWEL SIGN AA
-1A64 TAI THAM VOWEL SIGN TALL AA
-1A65 TAI THAM VOWEL SIGN I
-1A66 TAI THAM VOWEL SIGN II
-1A67 TAI THAM VOWEL SIGN UE
-1A68 TAI THAM VOWEL SIGN UUE
-1A69 TAI THAM VOWEL SIGN U
-1A6A TAI THAM VOWEL SIGN UU
-1A6B TAI THAM VOWEL SIGN O
-1A6C TAI THAM VOWEL SIGN OA BELOW
-1A6D TAI THAM VOWEL SIGN OY
-1A6E TAI THAM VOWEL SIGN E
-1A6F TAI THAM VOWEL SIGN AE
-1A70 TAI THAM VOWEL SIGN OO
-1A71 TAI THAM VOWEL SIGN AI
-1A72 TAI THAM VOWEL SIGN THAM AI
-1A73 TAI THAM VOWEL SIGN OA ABOVE
-1A74 TAI THAM SIGN MAI KANG
-@ Tone marks and other marks
-1A75 TAI THAM SIGN TONE-1
-1A76 TAI THAM SIGN TONE-2
-1A77 TAI THAM SIGN KHUEN TONE-3
-1A78 TAI THAM SIGN KHUEN TONE-4
-1A79 TAI THAM SIGN KHUEN TONE-5
-1A7A TAI THAM SIGN RA HAAM
-1A7B TAI THAM SIGN MAI SAM
-1A7C TAI THAM SIGN KHUEN-LUE KARAN
-1A7F TAI THAM COMBINING CRYPTOGRAMMIC DOT
-@ Hora digits
-1A80 TAI THAM HORA DIGIT ZERO
-1A81 TAI THAM HORA DIGIT ONE
-1A82 TAI THAM HORA DIGIT TWO
-1A83 TAI THAM HORA DIGIT THREE
-1A84 TAI THAM HORA DIGIT FOUR
-1A85 TAI THAM HORA DIGIT FIVE
-1A86 TAI THAM HORA DIGIT SIX
-1A87 TAI THAM HORA DIGIT SEVEN
-1A88 TAI THAM HORA DIGIT EIGHT
-1A89 TAI THAM HORA DIGIT NINE
-@ Tham digits
-1A90 TAI THAM THAM DIGIT ZERO
-1A91 TAI THAM THAM DIGIT ONE
-1A92 TAI THAM THAM DIGIT TWO
-1A93 TAI THAM THAM DIGIT THREE
-1A94 TAI THAM THAM DIGIT FOUR
-1A95 TAI THAM THAM DIGIT FIVE
-1A96 TAI THAM THAM DIGIT SIX
-1A97 TAI THAM THAM DIGIT SEVEN
-1A98 TAI THAM THAM DIGIT EIGHT
-1A99 TAI THAM THAM DIGIT NINE
-1AA0 TAI THAM SIGN WIANG
-1AA1 TAI THAM SIGN WIANGWAAK
-1AA2 TAI THAM SIGN SAWAN
-1AA3 TAI THAM SIGN KEOW
-1AA4 TAI THAM SIGN HOY
-1AA5 TAI THAM SIGN DOKMAI
-1AA6 TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 TAI THAM SIGN MAI YAMOK
-1AA8 TAI THAM SIGN KAAN
-1AA9 TAI THAM SIGN KAANKUU
-1AAA TAI THAM SIGN SATKAAN
-1AAB TAI THAM SIGN SATKAANKUU
-1AAC TAI THAM SIGN HANG
-1AAD TAI THAM SIGN CAANG
-@@ 1B00 Balinese 1B7F
-@ Various signs
-1B00 BALINESE SIGN ULU RICEM
- = ardhacandra
-1B01 BALINESE SIGN ULU CANDRA
- = candrabindu
-1B02 BALINESE SIGN CECEK
- = anusvara
-1B03 BALINESE SIGN SURANG
- = repha
-1B04 BALINESE SIGN BISAH
- = visarga
-@ Independent vowels
-1B05 BALINESE LETTER AKARA
- = a
-1B06 BALINESE LETTER AKARA TEDUNG
- = aa
- : 1B05 1B35
-1B07 BALINESE LETTER IKARA
- = i
-1B08 BALINESE LETTER IKARA TEDUNG
- = ii
- : 1B07 1B35
-1B09 BALINESE LETTER UKARA
- = u
-1B0A BALINESE LETTER UKARA TEDUNG
- = uu
- : 1B09 1B35
-1B0B BALINESE LETTER RA REPA
- = vocalic r
-1B0C BALINESE LETTER RA REPA TEDUNG
- = vocalic rr
- : 1B0B 1B35
-1B0D BALINESE LETTER LA LENGA
- = vocalic l
-1B0E BALINESE LETTER LA LENGA TEDUNG
- = vocalic ll
- : 1B0D 1B35
-1B0F BALINESE LETTER EKARA
- = e
-1B10 BALINESE LETTER AIKARA
- = ai
-1B11 BALINESE LETTER OKARA
- = o
-1B12 BALINESE LETTER OKARA TEDUNG
- = au
- : 1B11 1B35
-@ Consonants
-1B13 BALINESE LETTER KA
-1B14 BALINESE LETTER KA MAHAPRANA
- = kha
-1B15 BALINESE LETTER GA
-1B16 BALINESE LETTER GA GORA
- = gha
-1B17 BALINESE LETTER NGA
-1B18 BALINESE LETTER CA
-1B19 BALINESE LETTER CA LACA
- = cha
-1B1A BALINESE LETTER JA
-1B1B BALINESE LETTER JA JERA
- = jha
-1B1C BALINESE LETTER NYA
-1B1D BALINESE LETTER TA LATIK
- = tta
-1B1E BALINESE LETTER TA MURDA MAHAPRANA
- = ttha
-1B1F BALINESE LETTER DA MURDA ALPAPRANA
- = dda
-1B20 BALINESE LETTER DA MURDA MAHAPRANA
- = ddha
-1B21 BALINESE LETTER NA RAMBAT
- = nna
-1B22 BALINESE LETTER TA
-1B23 BALINESE LETTER TA TAWA
- = tha
-1B24 BALINESE LETTER DA
-1B25 BALINESE LETTER DA MADU
- = dha
-1B26 BALINESE LETTER NA
-1B27 BALINESE LETTER PA
-1B28 BALINESE LETTER PA KAPAL
- = pha
-1B29 BALINESE LETTER BA
-1B2A BALINESE LETTER BA KEMBANG
- = bha
-1B2B BALINESE LETTER MA
-1B2C BALINESE LETTER YA
-1B2D BALINESE LETTER RA
-1B2E BALINESE LETTER LA
-1B2F BALINESE LETTER WA
-1B30 BALINESE LETTER SA SAGA
- = sha
-1B31 BALINESE LETTER SA SAPA
- = ssa
-1B32 BALINESE LETTER SA
-1B33 BALINESE LETTER HA
-@ Sign
-1B34 BALINESE SIGN REREKAN
- = nukta
-@ Dependent vowel signs
-1B35 BALINESE VOWEL SIGN TEDUNG
- = aa
-1B36 BALINESE VOWEL SIGN ULU
- = i
-1B37 BALINESE VOWEL SIGN ULU SARI
- = ii
-1B38 BALINESE VOWEL SIGN SUKU
- = u
-1B39 BALINESE VOWEL SIGN SUKU ILUT
- = uu
-1B3A BALINESE VOWEL SIGN RA REPA
- = vocalic r
-1B3B BALINESE VOWEL SIGN RA REPA TEDUNG
- = vocalic rr
- : 1B3A 1B35
-1B3C BALINESE VOWEL SIGN LA LENGA
- = vocalic l
-1B3D BALINESE VOWEL SIGN LA LENGA TEDUNG
- = vocalic ll
- : 1B3C 1B35
-1B3E BALINESE VOWEL SIGN TALING
- = e
-1B3F BALINESE VOWEL SIGN TALING REPA
- = ai
-1B40 BALINESE VOWEL SIGN TALING TEDUNG
- = o
- : 1B3E 1B35
-1B41 BALINESE VOWEL SIGN TALING REPA TEDUNG
- = au
- : 1B3F 1B35
-1B42 BALINESE VOWEL SIGN PEPET
- = ae
-1B43 BALINESE VOWEL SIGN PEPET TEDUNG
- = oe
- : 1B42 1B35
-@ Sign
-1B44 BALINESE ADEG ADEG
- = virama
-@ Additional consonants
-1B45 BALINESE LETTER KAF SASAK
-1B46 BALINESE LETTER KHOT SASAK
-1B47 BALINESE LETTER TZIR SASAK
-1B48 BALINESE LETTER EF SASAK
-1B49 BALINESE LETTER VE SASAK
-1B4A BALINESE LETTER ZAL SASAK
-1B4B BALINESE LETTER ASYURA SASAK
-@ Digits
-1B50 BALINESE DIGIT ZERO
-1B51 BALINESE DIGIT ONE
-1B52 BALINESE DIGIT TWO
-1B53 BALINESE DIGIT THREE
-1B54 BALINESE DIGIT FOUR
-1B55 BALINESE DIGIT FIVE
-1B56 BALINESE DIGIT SIX
-1B57 BALINESE DIGIT SEVEN
-1B58 BALINESE DIGIT EIGHT
-1B59 BALINESE DIGIT NINE
-@ Punctuation
-1B5A BALINESE PANTI
- = section
-1B5B BALINESE PAMADA
- = honorific section
-1B5C BALINESE WINDU
- = punctuation ring
-1B5D BALINESE CARIK PAMUNGKAH
- = colon
-1B5E BALINESE CARIK SIKI
- = danda
- x (devanagari danda - 0964)
-1B5F BALINESE CARIK PAREREN
- = double danda
- x (devanagari double danda - 0965)
-1B60 BALINESE PAMENENG
- = line-breaking hyphen
-@ Musical symbols for notes
-1B61 BALINESE MUSICAL SYMBOL DONG
-1B62 BALINESE MUSICAL SYMBOL DENG
-1B63 BALINESE MUSICAL SYMBOL DUNG
-1B64 BALINESE MUSICAL SYMBOL DANG
-1B65 BALINESE MUSICAL SYMBOL DANG SURANG
-1B66 BALINESE MUSICAL SYMBOL DING
-1B67 BALINESE MUSICAL SYMBOL DAENG
-1B68 BALINESE MUSICAL SYMBOL DEUNG
-1B69 BALINESE MUSICAL SYMBOL DAING
-1B6A BALINESE MUSICAL SYMBOL DANG GEDE
-@ Diacritical marks for musical symbols
-1B6B BALINESE MUSICAL SYMBOL COMBINING TEGEH
-1B6C BALINESE MUSICAL SYMBOL COMBINING ENDEP
-1B6D BALINESE MUSICAL SYMBOL COMBINING KEMPUL
-1B6E BALINESE MUSICAL SYMBOL COMBINING KEMPLI
-1B6F BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
-1B70 BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
-1B71 BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
-1B72 BALINESE MUSICAL SYMBOL COMBINING BENDE
-1B73 BALINESE MUSICAL SYMBOL COMBINING GONG
-@ Musical symbols
-1B74 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75 BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76 BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77 BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78 BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79 BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-@@ 1B80 Sundanese 1BBF
-@ Various signs
-1B80 SUNDANESE SIGN PANYECEK
- = anusvara
-1B81 SUNDANESE SIGN PANGLAYAR
- = repha
-1B82 SUNDANESE SIGN PANGWISAD
- = visarga
-@ Vowels
-1B83 SUNDANESE LETTER A
-1B84 SUNDANESE LETTER I
-1B85 SUNDANESE LETTER U
-1B86 SUNDANESE LETTER AE
-1B87 SUNDANESE LETTER O
-1B88 SUNDANESE LETTER E
-1B89 SUNDANESE LETTER EU
-@ Consonants
-1B8A SUNDANESE LETTER KA
-1B8B SUNDANESE LETTER QA
-1B8C SUNDANESE LETTER GA
-1B8D SUNDANESE LETTER NGA
-1B8E SUNDANESE LETTER CA
-1B8F SUNDANESE LETTER JA
-1B90 SUNDANESE LETTER ZA
-1B91 SUNDANESE LETTER NYA
-1B92 SUNDANESE LETTER TA
-1B93 SUNDANESE LETTER DA
-1B94 SUNDANESE LETTER NA
-1B95 SUNDANESE LETTER PA
-1B96 SUNDANESE LETTER FA
-1B97 SUNDANESE LETTER VA
-1B98 SUNDANESE LETTER BA
-1B99 SUNDANESE LETTER MA
-1B9A SUNDANESE LETTER YA
-1B9B SUNDANESE LETTER RA
-1B9C SUNDANESE LETTER LA
-1B9D SUNDANESE LETTER WA
-1B9E SUNDANESE LETTER SA
-1B9F SUNDANESE LETTER XA
-1BA0 SUNDANESE LETTER HA
-@ Consonants signs
-1BA1 SUNDANESE CONSONANT SIGN PAMINGKAL
- = subjoined ya
-1BA2 SUNDANESE CONSONANT SIGN PANYAKRA
- = subjoined ra
-1BA3 SUNDANESE CONSONANT SIGN PANYIKU
- = subjoined la
-@ Vowel signs
-1BA4 SUNDANESE VOWEL SIGN PANGHULU
- = i
-1BA5 SUNDANESE VOWEL SIGN PANYUKU
- = u
-1BA6 SUNDANESE VOWEL SIGN PANAELAENG
- = ae
-1BA7 SUNDANESE VOWEL SIGN PANOLONG
- = o
-1BA8 SUNDANESE VOWEL SIGN PAMEPET
- = e
-1BA9 SUNDANESE VOWEL SIGN PANEULEUNG
- = eu
-@ Virama
-1BAA SUNDANESE SIGN PAMAAEH
- = virama
- * does not form conjuncts
-@ Additional consonants
-1BAE SUNDANESE LETTER KHA
-1BAF SUNDANESE LETTER SYA
-@ Digits
-1BB0 SUNDANESE DIGIT ZERO
-1BB1 SUNDANESE DIGIT ONE
-1BB2 SUNDANESE DIGIT TWO
-1BB3 SUNDANESE DIGIT THREE
-1BB4 SUNDANESE DIGIT FOUR
-1BB5 SUNDANESE DIGIT FIVE
-1BB6 SUNDANESE DIGIT SIX
-1BB7 SUNDANESE DIGIT SEVEN
-1BB8 SUNDANESE DIGIT EIGHT
-1BB9 SUNDANESE DIGIT NINE
-@@ 1C00 Lepcha 1C4F
-@ Consonants
-1C00 LEPCHA LETTER KA
-1C01 LEPCHA LETTER KLA
-1C02 LEPCHA LETTER KHA
-1C03 LEPCHA LETTER GA
-1C04 LEPCHA LETTER GLA
-1C05 LEPCHA LETTER NGA
-1C06 LEPCHA LETTER CA
-1C07 LEPCHA LETTER CHA
-1C08 LEPCHA LETTER JA
-1C09 LEPCHA LETTER NYA
-1C0A LEPCHA LETTER TA
-1C0B LEPCHA LETTER THA
-1C0C LEPCHA LETTER DA
-1C0D LEPCHA LETTER NA
-1C0E LEPCHA LETTER PA
-1C0F LEPCHA LETTER PLA
-1C10 LEPCHA LETTER PHA
-1C11 LEPCHA LETTER FA
-1C12 LEPCHA LETTER FLA
-1C13 LEPCHA LETTER BA
-1C14 LEPCHA LETTER BLA
-1C15 LEPCHA LETTER MA
-1C16 LEPCHA LETTER MLA
-1C17 LEPCHA LETTER TSA
-1C18 LEPCHA LETTER TSHA
-1C19 LEPCHA LETTER DZA
-1C1A LEPCHA LETTER YA
-1C1B LEPCHA LETTER RA
-1C1C LEPCHA LETTER LA
-1C1D LEPCHA LETTER HA
-1C1E LEPCHA LETTER HLA
-1C1F LEPCHA LETTER VA
-1C20 LEPCHA LETTER SA
-1C21 LEPCHA LETTER SHA
-1C22 LEPCHA LETTER WA
-1C23 LEPCHA LETTER A
-@ Subjoined consonants
-1C24 LEPCHA SUBJOINED LETTER YA
-1C25 LEPCHA SUBJOINED LETTER RA
-@ Dependent vowels
-1C26 LEPCHA VOWEL SIGN AA
-1C27 LEPCHA VOWEL SIGN I
-1C28 LEPCHA VOWEL SIGN O
-1C29 LEPCHA VOWEL SIGN OO
-1C2A LEPCHA VOWEL SIGN U
-1C2B LEPCHA VOWEL SIGN UU
-1C2C LEPCHA VOWEL SIGN E
-@ Consonant signs
-1C2D LEPCHA CONSONANT SIGN K
-1C2E LEPCHA CONSONANT SIGN M
-1C2F LEPCHA CONSONANT SIGN L
-1C30 LEPCHA CONSONANT SIGN N
-1C31 LEPCHA CONSONANT SIGN P
-1C32 LEPCHA CONSONANT SIGN R
-1C33 LEPCHA CONSONANT SIGN T
-1C34 LEPCHA CONSONANT SIGN NYIN-DO
-1C35 LEPCHA CONSONANT SIGN KANG
-@ Various signs
-1C36 LEPCHA SIGN RAN
-1C37 LEPCHA SIGN NUKTA
-@ Punctuation
-1C3B LEPCHA PUNCTUATION TA-ROL
-1C3C LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D LEPCHA PUNCTUATION CER-WA
-1C3E LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F LEPCHA PUNCTUATION TSHOOK
-@ Digits
-1C40 LEPCHA DIGIT ZERO
-1C41 LEPCHA DIGIT ONE
-1C42 LEPCHA DIGIT TWO
-1C43 LEPCHA DIGIT THREE
-1C44 LEPCHA DIGIT FOUR
-1C45 LEPCHA DIGIT FIVE
-1C46 LEPCHA DIGIT SIX
-1C47 LEPCHA DIGIT SEVEN
-1C48 LEPCHA DIGIT EIGHT
-1C49 LEPCHA DIGIT NINE
-@ Additional letters
-1C4D LEPCHA LETTER TTA
-1C4E LEPCHA LETTER TTHA
-1C4F LEPCHA LETTER DDA
-@@ 1C50 Ol Chiki 1C7F
-@ Digits
-1C50 OL CHIKI DIGIT ZERO
-1C51 OL CHIKI DIGIT ONE
-1C52 OL CHIKI DIGIT TWO
-1C53 OL CHIKI DIGIT THREE
-1C54 OL CHIKI DIGIT FOUR
-1C55 OL CHIKI DIGIT FIVE
-1C56 OL CHIKI DIGIT SIX
-1C57 OL CHIKI DIGIT SEVEN
-1C58 OL CHIKI DIGIT EIGHT
-1C59 OL CHIKI DIGIT NINE
-@ Letters
-1C5A OL CHIKI LETTER LA
-1C5B OL CHIKI LETTER AT
-1C5C OL CHIKI LETTER AG
-1C5D OL CHIKI LETTER ANG
-1C5E OL CHIKI LETTER AL
-1C5F OL CHIKI LETTER LAA
-1C60 OL CHIKI LETTER AAK
-1C61 OL CHIKI LETTER AAJ
-1C62 OL CHIKI LETTER AAM
-1C63 OL CHIKI LETTER AAW
-1C64 OL CHIKI LETTER LI
-1C65 OL CHIKI LETTER IS
-1C66 OL CHIKI LETTER IH
-1C67 OL CHIKI LETTER INY
-1C68 OL CHIKI LETTER IR
-1C69 OL CHIKI LETTER LU
-1C6A OL CHIKI LETTER UC
-1C6B OL CHIKI LETTER UD
-1C6C OL CHIKI LETTER UNN
-1C6D OL CHIKI LETTER UY
-1C6E OL CHIKI LETTER LE
-1C6F OL CHIKI LETTER EP
-1C70 OL CHIKI LETTER EDD
-1C71 OL CHIKI LETTER EN
-1C72 OL CHIKI LETTER ERR
-1C73 OL CHIKI LETTER LO
-1C74 OL CHIKI LETTER OTT
-1C75 OL CHIKI LETTER OB
-1C76 OL CHIKI LETTER OV
-1C77 OL CHIKI LETTER OH
-@ Modifier letters
-1C78 OL CHIKI MU TTUDDAG
- * nasalization mark
-1C79 OL CHIKI GAAHLAA TTUDDAAG
- * vowel modifier
-1C7A OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B OL CHIKI RELAA
- * length mark
-1C7C OL CHIKI PHAARKAA
- * glottal protector
-1C7D OL CHIKI AHAD
- * deglottalizes consonants
-@ Punctuation
-1C7E OL CHIKI PUNCTUATION MUCAAD
-1C7F OL CHIKI PUNCTUATION DOUBLE MUCAAD
-@@ 1CD0 Vedic Extensions 1CFF
-@ Tone marks for the Samaveda
-1CD0 VEDIC TONE KARSHANA
- = vaidika saamasvara karshanna
-1CD1 VEDIC TONE SHARA
- = vaidika svarita uurdhva shara
-1CD2 VEDIC TONE PRENKHA
- * indicates vibrato
- = vaidika saamasvara prenkha
-1CD3 VEDIC SIGN NIHSHVASA
- = vaidika saamagaana yogakaala
-@ Signs for Yajurvedic
-1CD4 VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
- * also used in the Vajasaneyi Madhyandina Samhita
-1CD5 VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
- = vaidika svarita adho nyubja
-1CD6 VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
- = vaidika svarita adhah konna
-1CD7 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
- = vaidika svarita adho vakra rekhaa
-1CD8 VEDIC TONE CANDRA BELOW
- = vaidika svarita adho'rdha vakra
-1CD9 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
- = vaidika svarita adhah samyukta rekhaa
-1CDA VEDIC TONE DOUBLE SVARITA
- = vaidika svarita uurdhva dvi rekhaa
- x (devanagari stress sign udatta - 0951)
-1CDB VEDIC TONE TRIPLE SVARITA
- = vaidika svarita uurdhva tri rekhaa
-1CDC VEDIC TONE KATHAKA ANUDATTA
- = vaidika svarita adho rekhaa
- x (devanagari stress sign anudatta - 0952)
-1CDD VEDIC TONE DOT BELOW
- = vaidika svarita adho bindu
-@ Tone marks for the Satapathabrahmana
-1CDE VEDIC TONE TWO DOTS BELOW
- = vaidika svarita adho dvi bindu
-1CDF VEDIC TONE THREE DOTS BELOW
- = vaidika svarita adhas tri bindu
-@ Tone mark for the Rigveda
-1CE0 VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
- = vaidika uurdhva vakra rekhaa
-@ Tone mark for the Atharvaveda
-1CE1 VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
- = vaidika svarita dvi vakra khannda
-@ Diacritics for visarga
-1CE2 VEDIC SIGN VISARGA SVARITA
- = vaidika madhyarekhaa
-1CE3 VEDIC SIGN VISARGA UDATTA
- = vaidika visarga dakshinnatah uurdhvaga
-1CE4 VEDIC SIGN REVERSED VISARGA UDATTA
- = vaidika visarga vaamatah uurdhvaga
-1CE5 VEDIC SIGN VISARGA ANUDATTA
- = vaidika visarga vaamatah adhoga
-1CE6 VEDIC SIGN REVERSED VISARGA ANUDATTA
- = vaidika visarga dakshinnatah adhoga
-1CE7 VEDIC SIGN VISARGA UDATTA WITH TAIL
- = vaidika visarga dakshinnatah uurdhva vakra
-1CE8 VEDIC SIGN VISARGA ANUDATTA WITH TAIL
- = vaidika visarga vaamatah adho vakra
-@ Marks of nasalization
-1CE9 VEDIC SIGN ANUSVARA ANTARGOMUKHA
- = vaidika anusvaara antarmukha
-1CEA VEDIC SIGN ANUSVARA BAHIRGOMUKHA
- = vaidika anusvaara naagaphanna
-1CEB VEDIC SIGN ANUSVARA VAMAGOMUKHA
- = vaidika anusvaara vaamagomukha
-1CEC VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
- = vaidika anusvaara vaamagomukha sa-vakra
-1CED VEDIC SIGN TIRYAK
- = vaidika tiryak
-1CEE VEDIC SIGN HEXIFORM LONG ANUSVARA
- = vaidika anusvaara anugaamii
-1CEF VEDIC SIGN LONG ANUSVARA
- = vaidika anusvaara dakshinnamukha
-1CF0 VEDIC SIGN RTHANG LONG ANUSVARA
- = vaidika anusvaara ttha-sadrisha
-1CF1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA
- = vaidika anusvaara ubhayato mukha
-@ Ardhavisarga
-1CF2 VEDIC SIGN ARDHAVISARGA
- = vaidika jihvaamuuliiya upadhmaaniiya
- x (kannada sign jihvamuliya - 0CF1)
- x (kannada sign upadhmaniya - 0CF2)
-@@ 1D00 Phonetic Extensions 1D7F
-@+ These are non-IPA phonetic extensions, mostly for the Uralic Phonetic Alphabet (UPA).
-@+ The small capitals, superscript, and subscript forms are for phonetic representations where style variations are semantically important.
-@+ For general text, use regular Latin, Greek or Cyrillic letters with markup instead.
-@ Latin letters
-1D00 LATIN LETTER SMALL CAPITAL A
-1D01 LATIN LETTER SMALL CAPITAL AE
-1D02 LATIN SMALL LETTER TURNED AE
- * glyph can also have sideways orientation
-1D03 LATIN LETTER SMALL CAPITAL BARRED B
-1D04 LATIN LETTER SMALL CAPITAL C
-1D05 LATIN LETTER SMALL CAPITAL D
-1D06 LATIN LETTER SMALL CAPITAL ETH
-1D07 LATIN LETTER SMALL CAPITAL E
-1D08 LATIN SMALL LETTER TURNED OPEN E
-1D09 LATIN SMALL LETTER TURNED I
-1D0A LATIN LETTER SMALL CAPITAL J
-1D0B LATIN LETTER SMALL CAPITAL K
-1D0C LATIN LETTER SMALL CAPITAL L WITH STROKE
-1D0D LATIN LETTER SMALL CAPITAL M
-1D0E LATIN LETTER SMALL CAPITAL REVERSED N
-1D0F LATIN LETTER SMALL CAPITAL O
-1D10 LATIN LETTER SMALL CAPITAL OPEN O
-1D11 LATIN SMALL LETTER SIDEWAYS O
-1D12 LATIN SMALL LETTER SIDEWAYS OPEN O
-1D13 LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-1D14 LATIN SMALL LETTER TURNED OE
- * glyph can also have sideways orientation
-1D15 LATIN LETTER SMALL CAPITAL OU
-1D16 LATIN SMALL LETTER TOP HALF O
-1D17 LATIN SMALL LETTER BOTTOM HALF O
-1D18 LATIN LETTER SMALL CAPITAL P
- * represents a semi-voiced [p]
-1D19 LATIN LETTER SMALL CAPITAL REVERSED R
-1D1A LATIN LETTER SMALL CAPITAL TURNED R
-1D1B LATIN LETTER SMALL CAPITAL T
-1D1C LATIN LETTER SMALL CAPITAL U
-1D1D LATIN SMALL LETTER SIDEWAYS U
-1D1E LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
- * glyph can also have turned orientation
-1D1F LATIN SMALL LETTER SIDEWAYS TURNED M
-1D20 LATIN LETTER SMALL CAPITAL V
-1D21 LATIN LETTER SMALL CAPITAL W
-1D22 LATIN LETTER SMALL CAPITAL Z
-1D23 LATIN LETTER SMALL CAPITAL EZH
-1D24 LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25 LATIN LETTER AIN
-@ Greek letters
-1D26 GREEK LETTER SMALL CAPITAL GAMMA
-1D27 GREEK LETTER SMALL CAPITAL LAMDA
-1D28 GREEK LETTER SMALL CAPITAL PI
-1D29 GREEK LETTER SMALL CAPITAL RHO
- * represents a voiceless uvular trill
-1D2A GREEK LETTER SMALL CAPITAL PSI
-@ Cyrillic letter
-1D2B CYRILLIC LETTER SMALL CAPITAL EL
- * in italic style, the glyph is obliqued, not italicized
- x (cyrillic small letter el - 043B)
-@ Latin superscript modifier letters
-1D2C MODIFIER LETTER CAPITAL A
- # <super> 0041
-1D2D MODIFIER LETTER CAPITAL AE
- # <super> 00C6
-1D2E MODIFIER LETTER CAPITAL B
- # <super> 0042
-1D2F MODIFIER LETTER CAPITAL BARRED B
-1D30 MODIFIER LETTER CAPITAL D
- # <super> 0044
-1D31 MODIFIER LETTER CAPITAL E
- # <super> 0045
-1D32 MODIFIER LETTER CAPITAL REVERSED E
- # <super> 018E
-1D33 MODIFIER LETTER CAPITAL G
- # <super> 0047
-1D34 MODIFIER LETTER CAPITAL H
- # <super> 0048
-1D35 MODIFIER LETTER CAPITAL I
- # <super> 0049
-1D36 MODIFIER LETTER CAPITAL J
- # <super> 004A
-1D37 MODIFIER LETTER CAPITAL K
- # <super> 004B
-1D38 MODIFIER LETTER CAPITAL L
- # <super> 004C
-1D39 MODIFIER LETTER CAPITAL M
- # <super> 004D
-1D3A MODIFIER LETTER CAPITAL N
- # <super> 004E
-1D3B MODIFIER LETTER CAPITAL REVERSED N
-1D3C MODIFIER LETTER CAPITAL O
- # <super> 004F
-1D3D MODIFIER LETTER CAPITAL OU
- # <super> 0222
-1D3E MODIFIER LETTER CAPITAL P
- # <super> 0050
-1D3F MODIFIER LETTER CAPITAL R
- # <super> 0052
-1D40 MODIFIER LETTER CAPITAL T
- # <super> 0054
-1D41 MODIFIER LETTER CAPITAL U
- # <super> 0055
-1D42 MODIFIER LETTER CAPITAL W
- # <super> 0057
-1D43 MODIFIER LETTER SMALL A
- # <super> 0061
-1D44 MODIFIER LETTER SMALL TURNED A
- # <super> 0250
-1D45 MODIFIER LETTER SMALL ALPHA
- # <super> 0251
-1D46 MODIFIER LETTER SMALL TURNED AE
- # <super> 1D02
-1D47 MODIFIER LETTER SMALL B
- # <super> 0062
-1D48 MODIFIER LETTER SMALL D
- # <super> 0064
-1D49 MODIFIER LETTER SMALL E
- # <super> 0065
-1D4A MODIFIER LETTER SMALL SCHWA
- # <super> 0259
-1D4B MODIFIER LETTER SMALL OPEN E
- # <super> 025B
-1D4C MODIFIER LETTER SMALL TURNED OPEN E
- * more appropriate equivalence would be to 1D08
- # <super> 025C
-1D4D MODIFIER LETTER SMALL G
- # <super> 0067
-1D4E MODIFIER LETTER SMALL TURNED I
-1D4F MODIFIER LETTER SMALL K
- # <super> 006B
-1D50 MODIFIER LETTER SMALL M
- # <super> 006D
-1D51 MODIFIER LETTER SMALL ENG
- # <super> 014B
-1D52 MODIFIER LETTER SMALL O
- # <super> 006F
-1D53 MODIFIER LETTER SMALL OPEN O
- # <super> 0254
-1D54 MODIFIER LETTER SMALL TOP HALF O
- # <super> 1D16
-1D55 MODIFIER LETTER SMALL BOTTOM HALF O
- # <super> 1D17
-1D56 MODIFIER LETTER SMALL P
- # <super> 0070
-1D57 MODIFIER LETTER SMALL T
- # <super> 0074
-1D58 MODIFIER LETTER SMALL U
- # <super> 0075
-1D59 MODIFIER LETTER SMALL SIDEWAYS U
- # <super> 1D1D
-1D5A MODIFIER LETTER SMALL TURNED M
- # <super> 026F
-1D5B MODIFIER LETTER SMALL V
- # <super> 0076
-1D5C MODIFIER LETTER SMALL AIN
- # <super> 1D25
-@ Greek superscript modifier letters
-1D5D MODIFIER LETTER SMALL BETA
- # <super> 03B2
-1D5E MODIFIER LETTER SMALL GREEK GAMMA
- # <super> 03B3
-1D5F MODIFIER LETTER SMALL DELTA
- # <super> 03B4
-1D60 MODIFIER LETTER SMALL GREEK PHI
- # <super> 03C6
-1D61 MODIFIER LETTER SMALL CHI
- # <super> 03C7
-@ Latin subscript modifier letters
-1D62 LATIN SUBSCRIPT SMALL LETTER I
- # <sub> 0069
-1D63 LATIN SUBSCRIPT SMALL LETTER R
- # <sub> 0072
-1D64 LATIN SUBSCRIPT SMALL LETTER U
- # <sub> 0075
-1D65 LATIN SUBSCRIPT SMALL LETTER V
- # <sub> 0076
-@ Greek subscript modifier letters
-1D66 GREEK SUBSCRIPT SMALL LETTER BETA
- # <sub> 03B2
-1D67 GREEK SUBSCRIPT SMALL LETTER GAMMA
- # <sub> 03B3
-1D68 GREEK SUBSCRIPT SMALL LETTER RHO
- # <sub> 03C1
-1D69 GREEK SUBSCRIPT SMALL LETTER PHI
- # <sub> 03C6
-1D6A GREEK SUBSCRIPT SMALL LETTER CHI
- # <sub> 03C7
-@ Latin letter
-1D6B LATIN SMALL LETTER UE
-@ Latin letters with middle tilde
-@+ An additional letter with middle tilde is found in another block.
- x (latin small letter l with middle tilde - 026B)
-1D6C LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D6D LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D6E LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D6F LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D70 LATIN SMALL LETTER N WITH MIDDLE TILDE
-1D71 LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D72 LATIN SMALL LETTER R WITH MIDDLE TILDE
-1D73 LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-1D74 LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D75 LATIN SMALL LETTER T WITH MIDDLE TILDE
-1D76 LATIN SMALL LETTER Z WITH MIDDLE TILDE
-@ Caucasian linguistics
-1D77 LATIN SMALL LETTER TURNED G
- * Georgian transcription
- x (georgian letter turned gan - 10F9)
-1D78 MODIFIER LETTER CYRILLIC EN
- # <super> 043D
-@ Other phonetic symbols
-1D79 LATIN SMALL LETTER INSULAR G
- * older Irish phonetic notation
- * uppercase is A77D
- x (latin small letter g - 0067)
- x (latin small letter yogh - 021D)
- x (latin small letter script g - 0261)
- x (latin small letter gamma - 0263)
-1D7A LATIN SMALL LETTER TH WITH STRIKETHROUGH
- * American dictionary usage
- x (greek small letter theta - 03B8)
-1D7B LATIN SMALL CAPITAL LETTER I WITH STROKE
- * used with different meanings by Americanists and Oxford dictionaries
-1D7C LATIN SMALL LETTER IOTA WITH STROKE
- * used by Russianists
-1D7D LATIN SMALL LETTER P WITH STROKE
- * used by Americanists
- * uppercase is 2C63
-1D7E LATIN SMALL CAPITAL LETTER U WITH STROKE
- * used by Americanists
-1D7F LATIN SMALL LETTER UPSILON WITH STROKE
- * used by Americanists and Oxford dictionaries
-@@ 1D80 Phonetic Extensions Supplement 1DBF
-@ Latin letters with palatal hook
-@+ An additional letter with palatal hook is found in another block.
- x (latin small letter t with palatal hook - 01AB)
-1D80 LATIN SMALL LETTER B WITH PALATAL HOOK
-1D81 LATIN SMALL LETTER D WITH PALATAL HOOK
-1D82 LATIN SMALL LETTER F WITH PALATAL HOOK
-1D83 LATIN SMALL LETTER G WITH PALATAL HOOK
-1D84 LATIN SMALL LETTER K WITH PALATAL HOOK
-1D85 LATIN SMALL LETTER L WITH PALATAL HOOK
-1D86 LATIN SMALL LETTER M WITH PALATAL HOOK
-1D87 LATIN SMALL LETTER N WITH PALATAL HOOK
-1D88 LATIN SMALL LETTER P WITH PALATAL HOOK
-1D89 LATIN SMALL LETTER R WITH PALATAL HOOK
-1D8A LATIN SMALL LETTER S WITH PALATAL HOOK
-1D8B LATIN SMALL LETTER ESH WITH PALATAL HOOK
-1D8C LATIN SMALL LETTER V WITH PALATAL HOOK
-1D8D LATIN SMALL LETTER X WITH PALATAL HOOK
-1D8E LATIN SMALL LETTER Z WITH PALATAL HOOK
-@ Latin letters with retroflex hook
-@+ IPA recommends transcribing vowels with r-coloring (rhoticity) with the rhotic hook instead.
- x (modifier letter rhotic hook - 02DE)
-@+ Additional letters with retroflex hook are found in other blocks.
- x (latin capital letter t with retroflex hook - 01AE)
- x (latin small letter d with tail - 0256)
- x (latin small letter l with retroflex hook - 026D)
- x (latin small letter n with retroflex hook - 0273)
- x (latin small letter turned r with hook - 027B)
- x (latin small letter r with tail - 027D)
- x (latin small letter s with hook - 0282)
- x (latin small letter squat reversed esh - 0285)
- x (latin small letter t with retroflex hook - 0288)
- x (latin small letter z with retroflex hook - 0290)
- x (latin small letter turned h with fishhook and tail - 02AF)
-1D8F LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D90 LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-1D91 LATIN SMALL LETTER D WITH HOOK AND TAIL
-1D92 LATIN SMALL LETTER E WITH RETROFLEX HOOK
-1D93 LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-1D94 LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
- x (latin small letter reversed open e with hook - 025D)
-1D95 LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
- x (latin small letter schwa with hook - 025A)
-1D96 LATIN SMALL LETTER I WITH RETROFLEX HOOK
-1D97 LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-1D98 LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-1D99 LATIN SMALL LETTER U WITH RETROFLEX HOOK
-1D9A LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-@ Modifier letters
-@+ Other modifier letters can be found in the Spacing Modifier Letters, Phonetic Extensions, as well as Superscripts and Subscripts blocks.
-1D9B MODIFIER LETTER SMALL TURNED ALPHA
- # <super> 0252
-1D9C MODIFIER LETTER SMALL C
- # <super> 0063
-1D9D MODIFIER LETTER SMALL C WITH CURL
- # <super> 0255
-1D9E MODIFIER LETTER SMALL ETH
- # <super> 00F0
-1D9F MODIFIER LETTER SMALL REVERSED OPEN E
- # <super> 025C
-1DA0 MODIFIER LETTER SMALL F
- # <super> 0066
-1DA1 MODIFIER LETTER SMALL DOTLESS J WITH STROKE
- # <super> 025F
-1DA2 MODIFIER LETTER SMALL SCRIPT G
- # <super> 0261
-1DA3 MODIFIER LETTER SMALL TURNED H
- # <super> 0265
-1DA4 MODIFIER LETTER SMALL I WITH STROKE
- # <super> 0268
-1DA5 MODIFIER LETTER SMALL IOTA
- # <super> 0269
-1DA6 MODIFIER LETTER SMALL CAPITAL I
- * not for use in UPA
- x (modifier letter capital i - 1D35)
- # <super> 026A
-1DA7 MODIFIER LETTER SMALL CAPITAL I WITH STROKE
- # <super> 1D7B
-1DA8 MODIFIER LETTER SMALL J WITH CROSSED-TAIL
- # <super> 029D
-1DA9 MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
- # <super> 026D
-1DAA MODIFIER LETTER SMALL L WITH PALATAL HOOK
- # <super> 1D85
-1DAB MODIFIER LETTER SMALL CAPITAL L
- * not for use in UPA
- x (modifier letter capital l - 1D38)
- # <super> 029F
-1DAC MODIFIER LETTER SMALL M WITH HOOK
- # <super> 0271
-1DAD MODIFIER LETTER SMALL TURNED M WITH LONG LEG
- # <super> 0270
-1DAE MODIFIER LETTER SMALL N WITH LEFT HOOK
- # <super> 0272
-1DAF MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
- # <super> 0273
-1DB0 MODIFIER LETTER SMALL CAPITAL N
- * not for use in UPA
- x (modifier letter capital n - 1D3A)
- # <super> 0274
-1DB1 MODIFIER LETTER SMALL BARRED O
- # <super> 0275
-1DB2 MODIFIER LETTER SMALL PHI
- # <super> 0278
-1DB3 MODIFIER LETTER SMALL S WITH HOOK
- # <super> 0282
-1DB4 MODIFIER LETTER SMALL ESH
- # <super> 0283
-1DB5 MODIFIER LETTER SMALL T WITH PALATAL HOOK
- # <super> 01AB
-1DB6 MODIFIER LETTER SMALL U BAR
- # <super> 0289
-1DB7 MODIFIER LETTER SMALL UPSILON
- # <super> 028A
-1DB8 MODIFIER LETTER SMALL CAPITAL U
- * not for use in UPA
- x (modifier letter capital u - 1D41)
- # <super> 1D1C
-1DB9 MODIFIER LETTER SMALL V WITH HOOK
- # <super> 028B
-1DBA MODIFIER LETTER SMALL TURNED V
- # <super> 028C
-1DBB MODIFIER LETTER SMALL Z
- # <super> 007A
-1DBC MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
- # <super> 0290
-1DBD MODIFIER LETTER SMALL Z WITH CURL
- # <super> 0291
-1DBE MODIFIER LETTER SMALL EZH
- # <super> 0292
-1DBF MODIFIER LETTER SMALL THETA
- # <super> 03B8
-@@ 1DC0 Combining Diacritical Marks Supplement 1DFF
-@ Used for Ancient Greek
-@+ These are used as editorial signs for Ancient Greek to indicate scribal deletion of erroneous accent marks.
-1DC0 COMBINING DOTTED GRAVE ACCENT
- x (greek dialytika and varia - 1FED)
-1DC1 COMBINING DOTTED ACUTE ACCENT
- x (combining greek dialytika tonos - 0344)
- x (greek dialytika and oxia - 1FEE)
-@ Miscellaneous marks
-1DC2 COMBINING SNAKE BELOW
-1DC3 COMBINING SUSPENSION MARK
- * Glagolitic
- x (combining breve - 0306)
-@ Contour tone marks
-1DC4 COMBINING MACRON-ACUTE
-1DC5 COMBINING GRAVE-MACRON
-1DC6 COMBINING MACRON-GRAVE
-1DC7 COMBINING ACUTE-MACRON
-1DC8 COMBINING GRAVE-ACUTE-GRAVE
-1DC9 COMBINING ACUTE-GRAVE-ACUTE
-@ Miscellaneous mark
-1DCA COMBINING LATIN SMALL LETTER R BELOW
-@ Contour tone marks
-1DCB COMBINING BREVE-MACRON
- * Lithuanian dialectology
-1DCC COMBINING MACRON-BREVE
- * Lithuanian dialectology
-@ Double diacritic
-1DCD COMBINING DOUBLE CIRCUMFLEX ABOVE
-@ Medievalist additions
-1DCE COMBINING OGONEK ABOVE
-1DCF COMBINING ZIGZAG BELOW
-1DD0 COMBINING IS BELOW
-1DD1 COMBINING UR ABOVE
-1DD2 COMBINING US ABOVE
-@ Medieval superscript letter diacritics
-1DD3 COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
-1DD4 COMBINING LATIN SMALL LETTER AE
-1DD5 COMBINING LATIN SMALL LETTER AO
-1DD6 COMBINING LATIN SMALL LETTER AV
-1DD7 COMBINING LATIN SMALL LETTER C CEDILLA
-1DD8 COMBINING LATIN SMALL LETTER INSULAR D
-1DD9 COMBINING LATIN SMALL LETTER ETH
-1DDA COMBINING LATIN SMALL LETTER G
-1DDB COMBINING LATIN LETTER SMALL CAPITAL G
-1DDC COMBINING LATIN SMALL LETTER K
-1DDD COMBINING LATIN SMALL LETTER L
-1DDE COMBINING LATIN LETTER SMALL CAPITAL L
-1DDF COMBINING LATIN LETTER SMALL CAPITAL M
-1DE0 COMBINING LATIN SMALL LETTER N
-1DE1 COMBINING LATIN LETTER SMALL CAPITAL N
-1DE2 COMBINING LATIN LETTER SMALL CAPITAL R
-1DE3 COMBINING LATIN SMALL LETTER R ROTUNDA
-1DE4 COMBINING LATIN SMALL LETTER S
-1DE5 COMBINING LATIN SMALL LETTER LONG S
-1DE6 COMBINING LATIN SMALL LETTER Z
-@ Miscellaneous mark
-1DFD COMBINING ALMOST EQUAL TO BELOW
-@ Additional marks for UPA
-1DFE COMBINING LEFT ARROWHEAD ABOVE
-1DFF COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-@@ 1E00 Latin Extended Additional 1EFF
-@+ In this block the names "WITH LINE BELOW" refer to a macron below the letter.
-@ Latin general use extensions
-1E00 LATIN CAPITAL LETTER A WITH RING BELOW
- : 0041 0325
-1E01 LATIN SMALL LETTER A WITH RING BELOW
- : 0061 0325
-1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE
- : 0042 0307
-1E03 LATIN SMALL LETTER B WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 0062 0307
-1E04 LATIN CAPITAL LETTER B WITH DOT BELOW
- : 0042 0323
-1E05 LATIN SMALL LETTER B WITH DOT BELOW
- : 0062 0323
-1E06 LATIN CAPITAL LETTER B WITH LINE BELOW
- : 0042 0331
-1E07 LATIN SMALL LETTER B WITH LINE BELOW
- : 0062 0331
-1E08 LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
- : 00C7 0301
-1E09 LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
- : 00E7 0301
-1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE
- : 0044 0307
-1E0B LATIN SMALL LETTER D WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 0064 0307
-1E0C LATIN CAPITAL LETTER D WITH DOT BELOW
- : 0044 0323
-1E0D LATIN SMALL LETTER D WITH DOT BELOW
- * Indic transliteration
- : 0064 0323
-1E0E LATIN CAPITAL LETTER D WITH LINE BELOW
- : 0044 0331
-1E0F LATIN SMALL LETTER D WITH LINE BELOW
- : 0064 0331
-1E10 LATIN CAPITAL LETTER D WITH CEDILLA
- : 0044 0327
-1E11 LATIN SMALL LETTER D WITH CEDILLA
- * Livonian
- : 0064 0327
-1E12 LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
- : 0044 032D
-1E13 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
- : 0064 032D
-1E14 LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
- : 0112 0300
-1E15 LATIN SMALL LETTER E WITH MACRON AND GRAVE
- : 0113 0300
-1E16 LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
- : 0112 0301
-1E17 LATIN SMALL LETTER E WITH MACRON AND ACUTE
- : 0113 0301
-1E18 LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
- : 0045 032D
-1E19 LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
- : 0065 032D
-1E1A LATIN CAPITAL LETTER E WITH TILDE BELOW
- : 0045 0330
-1E1B LATIN SMALL LETTER E WITH TILDE BELOW
- : 0065 0330
-1E1C LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
- : 0228 0306
-1E1D LATIN SMALL LETTER E WITH CEDILLA AND BREVE
- : 0229 0306
-1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE
- : 0046 0307
-1E1F LATIN SMALL LETTER F WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 0066 0307
-1E20 LATIN CAPITAL LETTER G WITH MACRON
- : 0047 0304
-1E21 LATIN SMALL LETTER G WITH MACRON
- : 0067 0304
-1E22 LATIN CAPITAL LETTER H WITH DOT ABOVE
- : 0048 0307
-1E23 LATIN SMALL LETTER H WITH DOT ABOVE
- : 0068 0307
-1E24 LATIN CAPITAL LETTER H WITH DOT BELOW
- : 0048 0323
-1E25 LATIN SMALL LETTER H WITH DOT BELOW
- * Indic transliteration
- : 0068 0323
-1E26 LATIN CAPITAL LETTER H WITH DIAERESIS
- : 0048 0308
-1E27 LATIN SMALL LETTER H WITH DIAERESIS
- : 0068 0308
-1E28 LATIN CAPITAL LETTER H WITH CEDILLA
- : 0048 0327
-1E29 LATIN SMALL LETTER H WITH CEDILLA
- : 0068 0327
-1E2A LATIN CAPITAL LETTER H WITH BREVE BELOW
- : 0048 032E
-1E2B LATIN SMALL LETTER H WITH BREVE BELOW
- * Semitic transliteration
- : 0068 032E
-1E2C LATIN CAPITAL LETTER I WITH TILDE BELOW
- : 0049 0330
-1E2D LATIN SMALL LETTER I WITH TILDE BELOW
- : 0069 0330
-1E2E LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
- : 00CF 0301
-1E2F LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
- : 00EF 0301
-1E30 LATIN CAPITAL LETTER K WITH ACUTE
- : 004B 0301
-1E31 LATIN SMALL LETTER K WITH ACUTE
- * Macedonian transliteration
- : 006B 0301
-1E32 LATIN CAPITAL LETTER K WITH DOT BELOW
- : 004B 0323
-1E33 LATIN SMALL LETTER K WITH DOT BELOW
- : 006B 0323
-1E34 LATIN CAPITAL LETTER K WITH LINE BELOW
- : 004B 0331
-1E35 LATIN SMALL LETTER K WITH LINE BELOW
- : 006B 0331
-1E36 LATIN CAPITAL LETTER L WITH DOT BELOW
- : 004C 0323
-1E37 LATIN SMALL LETTER L WITH DOT BELOW
- * Indic transliteration
- : 006C 0323
-@+ * see ISO 15919 on the use of dot below versus ring below in Indic transliteration
- x (combining ring below - 0325)
-1E38 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
- : 1E36 0304
-1E39 LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
- * Indic transliteration
- : 1E37 0304
-1E3A LATIN CAPITAL LETTER L WITH LINE BELOW
- : 004C 0331
-1E3B LATIN SMALL LETTER L WITH LINE BELOW
- * Indic transliteration
- : 006C 0331
-1E3C LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
- : 004C 032D
-1E3D LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
- : 006C 032D
-1E3E LATIN CAPITAL LETTER M WITH ACUTE
- : 004D 0301
-1E3F LATIN SMALL LETTER M WITH ACUTE
- : 006D 0301
-1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE
- : 004D 0307
-1E41 LATIN SMALL LETTER M WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 006D 0307
-1E42 LATIN CAPITAL LETTER M WITH DOT BELOW
- : 004D 0323
-1E43 LATIN SMALL LETTER M WITH DOT BELOW
- * Indic transliteration
- : 006D 0323
-1E44 LATIN CAPITAL LETTER N WITH DOT ABOVE
- : 004E 0307
-1E45 LATIN SMALL LETTER N WITH DOT ABOVE
- * Indic transliteration
- : 006E 0307
-1E46 LATIN CAPITAL LETTER N WITH DOT BELOW
- : 004E 0323
-1E47 LATIN SMALL LETTER N WITH DOT BELOW
- * Indic transliteration
- : 006E 0323
-1E48 LATIN CAPITAL LETTER N WITH LINE BELOW
- : 004E 0331
-1E49 LATIN SMALL LETTER N WITH LINE BELOW
- * Indic transliteration
- : 006E 0331
-1E4A LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
- : 004E 032D
-1E4B LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
- : 006E 032D
-1E4C LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
- : 00D5 0301
-1E4D LATIN SMALL LETTER O WITH TILDE AND ACUTE
- : 00F5 0301
-1E4E LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
- : 00D5 0308
-1E4F LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
- : 00F5 0308
-1E50 LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
- : 014C 0300
-1E51 LATIN SMALL LETTER O WITH MACRON AND GRAVE
- : 014D 0300
-1E52 LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
- : 014C 0301
-1E53 LATIN SMALL LETTER O WITH MACRON AND ACUTE
- : 014D 0301
-1E54 LATIN CAPITAL LETTER P WITH ACUTE
- : 0050 0301
-1E55 LATIN SMALL LETTER P WITH ACUTE
- : 0070 0301
-1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE
- : 0050 0307
-1E57 LATIN SMALL LETTER P WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 0070 0307
-1E58 LATIN CAPITAL LETTER R WITH DOT ABOVE
- : 0052 0307
-1E59 LATIN SMALL LETTER R WITH DOT ABOVE
- : 0072 0307
-1E5A LATIN CAPITAL LETTER R WITH DOT BELOW
- : 0052 0323
-1E5B LATIN SMALL LETTER R WITH DOT BELOW
- * Indic transliteration
- : 0072 0323
-@+ * see ISO 15919 on the use of dot below versus ring below in Indic transliteration
- x (combining ring below - 0325)
-1E5C LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
- : 1E5A 0304
-1E5D LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
- * Indic transliteration
- : 1E5B 0304
-1E5E LATIN CAPITAL LETTER R WITH LINE BELOW
- : 0052 0331
-1E5F LATIN SMALL LETTER R WITH LINE BELOW
- * Indic transliteration
- : 0072 0331
-1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE
- : 0053 0307
-1E61 LATIN SMALL LETTER S WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 0073 0307
-1E62 LATIN CAPITAL LETTER S WITH DOT BELOW
- : 0053 0323
-1E63 LATIN SMALL LETTER S WITH DOT BELOW
- * Indic transliteration
- : 0073 0323
-1E64 LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
- : 015A 0307
-1E65 LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
- : 015B 0307
-1E66 LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
- : 0160 0307
-1E67 LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
- : 0161 0307
-1E68 LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
- : 1E62 0307
-1E69 LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
- : 1E63 0307
-1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE
- : 0054 0307
-1E6B LATIN SMALL LETTER T WITH DOT ABOVE
- * Irish Gaelic (old orthography)
- : 0074 0307
-1E6C LATIN CAPITAL LETTER T WITH DOT BELOW
- : 0054 0323
-1E6D LATIN SMALL LETTER T WITH DOT BELOW
- * Indic transliteration
- : 0074 0323
-1E6E LATIN CAPITAL LETTER T WITH LINE BELOW
- : 0054 0331
-1E6F LATIN SMALL LETTER T WITH LINE BELOW
- * Semitic transliteration
- : 0074 0331
-1E70 LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
- : 0054 032D
-1E71 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
- : 0074 032D
-1E72 LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
- : 0055 0324
-1E73 LATIN SMALL LETTER U WITH DIAERESIS BELOW
- : 0075 0324
-1E74 LATIN CAPITAL LETTER U WITH TILDE BELOW
- : 0055 0330
-1E75 LATIN SMALL LETTER U WITH TILDE BELOW
- : 0075 0330
-1E76 LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
- : 0055 032D
-1E77 LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
- : 0075 032D
-1E78 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
- : 0168 0301
-1E79 LATIN SMALL LETTER U WITH TILDE AND ACUTE
- : 0169 0301
-1E7A LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
- : 016A 0308
-1E7B LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
- : 016B 0308
-1E7C LATIN CAPITAL LETTER V WITH TILDE
- : 0056 0303
-1E7D LATIN SMALL LETTER V WITH TILDE
- : 0076 0303
-1E7E LATIN CAPITAL LETTER V WITH DOT BELOW
- : 0056 0323
-1E7F LATIN SMALL LETTER V WITH DOT BELOW
- : 0076 0323
-1E80 LATIN CAPITAL LETTER W WITH GRAVE
- : 0057 0300
-1E81 LATIN SMALL LETTER W WITH GRAVE
- * Welsh
- : 0077 0300
-1E82 LATIN CAPITAL LETTER W WITH ACUTE
- : 0057 0301
-1E83 LATIN SMALL LETTER W WITH ACUTE
- * Welsh
- : 0077 0301
-1E84 LATIN CAPITAL LETTER W WITH DIAERESIS
- : 0057 0308
-1E85 LATIN SMALL LETTER W WITH DIAERESIS
- * Welsh
- : 0077 0308
-1E86 LATIN CAPITAL LETTER W WITH DOT ABOVE
- : 0057 0307
-1E87 LATIN SMALL LETTER W WITH DOT ABOVE
- : 0077 0307
-1E88 LATIN CAPITAL LETTER W WITH DOT BELOW
- : 0057 0323
-1E89 LATIN SMALL LETTER W WITH DOT BELOW
- : 0077 0323
-1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE
- : 0058 0307
-1E8B LATIN SMALL LETTER X WITH DOT ABOVE
- : 0078 0307
-1E8C LATIN CAPITAL LETTER X WITH DIAERESIS
- : 0058 0308
-1E8D LATIN SMALL LETTER X WITH DIAERESIS
- : 0078 0308
-1E8E LATIN CAPITAL LETTER Y WITH DOT ABOVE
- : 0059 0307
-1E8F LATIN SMALL LETTER Y WITH DOT ABOVE
- : 0079 0307
-1E90 LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
- : 005A 0302
-1E91 LATIN SMALL LETTER Z WITH CIRCUMFLEX
- : 007A 0302
-1E92 LATIN CAPITAL LETTER Z WITH DOT BELOW
- : 005A 0323
-1E93 LATIN SMALL LETTER Z WITH DOT BELOW
- * Indic transliteration
- : 007A 0323
-1E94 LATIN CAPITAL LETTER Z WITH LINE BELOW
- : 005A 0331
-1E95 LATIN SMALL LETTER Z WITH LINE BELOW
- * Semitic transliteration
- : 007A 0331
-1E96 LATIN SMALL LETTER H WITH LINE BELOW
- * Semitic transliteration
- : 0068 0331
-1E97 LATIN SMALL LETTER T WITH DIAERESIS
- : 0074 0308
-1E98 LATIN SMALL LETTER W WITH RING ABOVE
- : 0077 030A
-1E99 LATIN SMALL LETTER Y WITH RING ABOVE
- : 0079 030A
-1E9A LATIN SMALL LETTER A WITH RIGHT HALF RING
- # 0061 02BE
-1E9B LATIN SMALL LETTER LONG S WITH DOT ABOVE
- * in current use in Gaelic types (as glyph variant of 1E61)
- : 017F 0307
-@ Medievalist additions
-1E9C LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
- * Sorbian
-1E9D LATIN SMALL LETTER LONG S WITH HIGH STROKE
-@ Addition for German typography
-1E9E LATIN CAPITAL LETTER SHARP S
- * lowercase is 00DF
- x (latin small letter sharp s - 00DF)
-@ Medievalist addition
-1E9F LATIN SMALL LETTER DELTA
-@ Latin extensions for Vietnamese
-1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW
- : 0041 0323
-1EA1 LATIN SMALL LETTER A WITH DOT BELOW
- : 0061 0323
-1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE
- : 0041 0309
-1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE
- : 0061 0309
-1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
- : 00C2 0301
-1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
- : 00E2 0301
-1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
- : 00C2 0300
-1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
- : 00E2 0300
-1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
- : 00C2 0309
-1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
- : 00E2 0309
-1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
- : 00C2 0303
-1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
- : 00E2 0303
-1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
- : 1EA0 0302
-1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
- : 1EA1 0302
-1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
- : 0102 0301
-1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE
- : 0103 0301
-1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
- : 0102 0300
-1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE
- : 0103 0300
-1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
- : 0102 0309
-1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
- : 0103 0309
-1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE
- : 0102 0303
-1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE
- : 0103 0303
-1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
- : 1EA0 0306
-1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
- : 1EA1 0306
-1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW
- : 0045 0323
-1EB9 LATIN SMALL LETTER E WITH DOT BELOW
- : 0065 0323
-1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE
- : 0045 0309
-1EBB LATIN SMALL LETTER E WITH HOOK ABOVE
- : 0065 0309
-1EBC LATIN CAPITAL LETTER E WITH TILDE
- : 0045 0303
-1EBD LATIN SMALL LETTER E WITH TILDE
- : 0065 0303
-1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
- : 00CA 0301
-1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
- : 00EA 0301
-1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
- : 00CA 0300
-1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
- : 00EA 0300
-1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
- : 00CA 0309
-1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
- : 00EA 0309
-1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
- : 00CA 0303
-1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
- : 00EA 0303
-1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
- : 1EB8 0302
-1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
- : 1EB9 0302
-1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE
- : 0049 0309
-1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE
- : 0069 0309
-1ECA LATIN CAPITAL LETTER I WITH DOT BELOW
- : 0049 0323
-1ECB LATIN SMALL LETTER I WITH DOT BELOW
- : 0069 0323
-1ECC LATIN CAPITAL LETTER O WITH DOT BELOW
- : 004F 0323
-1ECD LATIN SMALL LETTER O WITH DOT BELOW
- : 006F 0323
-1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE
- : 004F 0309
-1ECF LATIN SMALL LETTER O WITH HOOK ABOVE
- : 006F 0309
-1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
- : 00D4 0301
-1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
- : 00F4 0301
-1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
- : 00D4 0300
-1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
- : 00F4 0300
-1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
- : 00D4 0309
-1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
- : 00F4 0309
-1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
- : 00D4 0303
-1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
- : 00F4 0303
-1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
- : 1ECC 0302
-1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
- : 1ECD 0302
-1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE
- : 01A0 0301
-1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE
- : 01A1 0301
-1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE
- : 01A0 0300
-1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE
- : 01A1 0300
-1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
- : 01A0 0309
-1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
- : 01A1 0309
-1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE
- : 01A0 0303
-1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE
- : 01A1 0303
-1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
- : 01A0 0323
-1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW
- : 01A1 0323
-1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW
- : 0055 0323
-1EE5 LATIN SMALL LETTER U WITH DOT BELOW
- : 0075 0323
-1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE
- : 0055 0309
-1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE
- : 0075 0309
-1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE
- : 01AF 0301
-1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE
- : 01B0 0301
-1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE
- : 01AF 0300
-1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE
- : 01B0 0300
-1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
- : 01AF 0309
-1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
- : 01B0 0309
-1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE
- : 01AF 0303
-1EEF LATIN SMALL LETTER U WITH HORN AND TILDE
- : 01B0 0303
-1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
- : 01AF 0323
-1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW
- : 01B0 0323
-@ Latin general extensions
-1EF2 LATIN CAPITAL LETTER Y WITH GRAVE
- : 0059 0300
-1EF3 LATIN SMALL LETTER Y WITH GRAVE
- * Welsh
- : 0079 0300
-1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW
- : 0059 0323
-1EF5 LATIN SMALL LETTER Y WITH DOT BELOW
- : 0079 0323
-1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE
- : 0059 0309
-1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE
- : 0079 0309
-1EF8 LATIN CAPITAL LETTER Y WITH TILDE
- : 0059 0303
-1EF9 LATIN SMALL LETTER Y WITH TILDE
- : 0079 0303
-@ Medievalist additions
-1EFA LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFB LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFC LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFD LATIN SMALL LETTER MIDDLE-WELSH V
-1EFE LATIN CAPITAL LETTER Y WITH LOOP
-1EFF LATIN SMALL LETTER Y WITH LOOP
-@@ 1F00 Greek Extended 1FFF
-@ Precomposed polytonic Greek
-1F00 GREEK SMALL LETTER ALPHA WITH PSILI
- : 03B1 0313
-1F01 GREEK SMALL LETTER ALPHA WITH DASIA
- : 03B1 0314
-1F02 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
- : 1F00 0300
-1F03 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
- : 1F01 0300
-1F04 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
- : 1F00 0301
-1F05 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
- : 1F01 0301
-1F06 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
- : 1F00 0342
-1F07 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
- : 1F01 0342
-1F08 GREEK CAPITAL LETTER ALPHA WITH PSILI
- : 0391 0313
-1F09 GREEK CAPITAL LETTER ALPHA WITH DASIA
- : 0391 0314
-1F0A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
- : 1F08 0300
-1F0B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
- : 1F09 0300
-1F0C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
- : 1F08 0301
-1F0D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
- : 1F09 0301
-1F0E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
- : 1F08 0342
-1F0F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
- : 1F09 0342
-1F10 GREEK SMALL LETTER EPSILON WITH PSILI
- : 03B5 0313
-1F11 GREEK SMALL LETTER EPSILON WITH DASIA
- : 03B5 0314
-1F12 GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
- : 1F10 0300
-1F13 GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
- : 1F11 0300
-1F14 GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
- : 1F10 0301
-1F15 GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
- : 1F11 0301
-1F18 GREEK CAPITAL LETTER EPSILON WITH PSILI
- : 0395 0313
-1F19 GREEK CAPITAL LETTER EPSILON WITH DASIA
- : 0395 0314
-1F1A GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
- : 1F18 0300
-1F1B GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
- : 1F19 0300
-1F1C GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
- : 1F18 0301
-1F1D GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
- : 1F19 0301
-1F20 GREEK SMALL LETTER ETA WITH PSILI
- : 03B7 0313
-1F21 GREEK SMALL LETTER ETA WITH DASIA
- : 03B7 0314
-1F22 GREEK SMALL LETTER ETA WITH PSILI AND VARIA
- : 1F20 0300
-1F23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
- : 1F21 0300
-1F24 GREEK SMALL LETTER ETA WITH PSILI AND OXIA
- : 1F20 0301
-1F25 GREEK SMALL LETTER ETA WITH DASIA AND OXIA
- : 1F21 0301
-1F26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
- : 1F20 0342
-1F27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
- : 1F21 0342
-1F28 GREEK CAPITAL LETTER ETA WITH PSILI
- : 0397 0313
-1F29 GREEK CAPITAL LETTER ETA WITH DASIA
- : 0397 0314
-1F2A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
- : 1F28 0300
-1F2B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
- : 1F29 0300
-1F2C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
- : 1F28 0301
-1F2D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
- : 1F29 0301
-1F2E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
- : 1F28 0342
-1F2F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
- : 1F29 0342
-1F30 GREEK SMALL LETTER IOTA WITH PSILI
- : 03B9 0313
-1F31 GREEK SMALL LETTER IOTA WITH DASIA
- : 03B9 0314
-1F32 GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
- : 1F30 0300
-1F33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
- : 1F31 0300
-1F34 GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
- : 1F30 0301
-1F35 GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
- : 1F31 0301
-1F36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
- : 1F30 0342
-1F37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
- : 1F31 0342
-1F38 GREEK CAPITAL LETTER IOTA WITH PSILI
- : 0399 0313
-1F39 GREEK CAPITAL LETTER IOTA WITH DASIA
- : 0399 0314
-1F3A GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
- : 1F38 0300
-1F3B GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
- : 1F39 0300
-1F3C GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
- : 1F38 0301
-1F3D GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
- : 1F39 0301
-1F3E GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
- : 1F38 0342
-1F3F GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
- : 1F39 0342
-1F40 GREEK SMALL LETTER OMICRON WITH PSILI
- : 03BF 0313
-1F41 GREEK SMALL LETTER OMICRON WITH DASIA
- : 03BF 0314
-1F42 GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
- : 1F40 0300
-1F43 GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
- : 1F41 0300
-1F44 GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
- : 1F40 0301
-1F45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
- : 1F41 0301
-1F48 GREEK CAPITAL LETTER OMICRON WITH PSILI
- : 039F 0313
-1F49 GREEK CAPITAL LETTER OMICRON WITH DASIA
- : 039F 0314
-1F4A GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
- : 1F48 0300
-1F4B GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
- : 1F49 0300
-1F4C GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
- : 1F48 0301
-1F4D GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
- : 1F49 0301
-1F50 GREEK SMALL LETTER UPSILON WITH PSILI
- : 03C5 0313
-1F51 GREEK SMALL LETTER UPSILON WITH DASIA
- : 03C5 0314
-1F52 GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
- : 1F50 0300
-1F53 GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
- : 1F51 0300
-1F54 GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
- : 1F50 0301
-1F55 GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
- : 1F51 0301
-1F56 GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
- : 1F50 0342
-1F57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
- : 1F51 0342
-1F59 GREEK CAPITAL LETTER UPSILON WITH DASIA
- : 03A5 0314
-1F5B GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
- : 1F59 0300
-1F5D GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
- : 1F59 0301
-1F5F GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
- : 1F59 0342
-1F60 GREEK SMALL LETTER OMEGA WITH PSILI
- : 03C9 0313
-1F61 GREEK SMALL LETTER OMEGA WITH DASIA
- : 03C9 0314
-1F62 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
- : 1F60 0300
-1F63 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
- : 1F61 0300
-1F64 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
- : 1F60 0301
-1F65 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
- : 1F61 0301
-1F66 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
- : 1F60 0342
-1F67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
- : 1F61 0342
-1F68 GREEK CAPITAL LETTER OMEGA WITH PSILI
- : 03A9 0313
-1F69 GREEK CAPITAL LETTER OMEGA WITH DASIA
- : 03A9 0314
-1F6A GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
- : 1F68 0300
-1F6B GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
- : 1F69 0300
-1F6C GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
- : 1F68 0301
-1F6D GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
- : 1F69 0301
-1F6E GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
- : 1F68 0342
-1F6F GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
- : 1F69 0342
-1F70 GREEK SMALL LETTER ALPHA WITH VARIA
- : 03B1 0300
-1F71 GREEK SMALL LETTER ALPHA WITH OXIA
- : 03AC greek small letter alpha with tonos
-1F72 GREEK SMALL LETTER EPSILON WITH VARIA
- : 03B5 0300
-1F73 GREEK SMALL LETTER EPSILON WITH OXIA
- : 03AD greek small letter epsilon with tonos
-1F74 GREEK SMALL LETTER ETA WITH VARIA
- : 03B7 0300
-1F75 GREEK SMALL LETTER ETA WITH OXIA
- : 03AE greek small letter eta with tonos
-1F76 GREEK SMALL LETTER IOTA WITH VARIA
- : 03B9 0300
-1F77 GREEK SMALL LETTER IOTA WITH OXIA
- : 03AF greek small letter iota with tonos
-1F78 GREEK SMALL LETTER OMICRON WITH VARIA
- : 03BF 0300
-1F79 GREEK SMALL LETTER OMICRON WITH OXIA
- : 03CC greek small letter omicron with tonos
-1F7A GREEK SMALL LETTER UPSILON WITH VARIA
- : 03C5 0300
-1F7B GREEK SMALL LETTER UPSILON WITH OXIA
- : 03CD greek small letter upsilon with tonos
-1F7C GREEK SMALL LETTER OMEGA WITH VARIA
- : 03C9 0300
-1F7D GREEK SMALL LETTER OMEGA WITH OXIA
- : 03CE greek small letter omega with tonos
-1F80 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
- : 1F00 0345
-1F81 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
- : 1F01 0345
-1F82 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
- : 1F02 0345
-1F83 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
- : 1F03 0345
-1F84 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
- : 1F04 0345
-1F85 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
- : 1F05 0345
-1F86 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
- : 1F06 0345
-1F87 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
- : 1F07 0345
-1F88 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
- : 1F08 0345
-1F89 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
- : 1F09 0345
-1F8A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
- : 1F0A 0345
-1F8B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
- : 1F0B 0345
-1F8C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
- : 1F0C 0345
-1F8D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
- : 1F0D 0345
-1F8E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
- : 1F0E 0345
-1F8F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
- : 1F0F 0345
-1F90 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
- : 1F20 0345
-1F91 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
- : 1F21 0345
-1F92 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
- : 1F22 0345
-1F93 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
- : 1F23 0345
-1F94 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
- : 1F24 0345
-1F95 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
- : 1F25 0345
-1F96 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
- : 1F26 0345
-1F97 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
- : 1F27 0345
-1F98 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
- : 1F28 0345
-1F99 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
- : 1F29 0345
-1F9A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
- : 1F2A 0345
-1F9B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
- : 1F2B 0345
-1F9C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
- : 1F2C 0345
-1F9D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
- : 1F2D 0345
-1F9E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
- : 1F2E 0345
-1F9F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
- : 1F2F 0345
-1FA0 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
- : 1F60 0345
-1FA1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
- : 1F61 0345
-1FA2 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
- : 1F62 0345
-1FA3 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
- : 1F63 0345
-1FA4 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
- : 1F64 0345
-1FA5 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
- : 1F65 0345
-1FA6 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
- : 1F66 0345
-1FA7 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
- : 1F67 0345
-1FA8 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
- : 1F68 0345
-1FA9 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
- : 1F69 0345
-1FAA GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
- : 1F6A 0345
-1FAB GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
- : 1F6B 0345
-1FAC GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
- : 1F6C 0345
-1FAD GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
- : 1F6D 0345
-1FAE GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
- : 1F6E 0345
-1FAF GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
- : 1F6F 0345
-1FB0 GREEK SMALL LETTER ALPHA WITH VRACHY
- : 03B1 0306
-1FB1 GREEK SMALL LETTER ALPHA WITH MACRON
- : 03B1 0304
-1FB2 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
- : 1F70 0345
-1FB3 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
- : 03B1 0345
-1FB4 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
- : 03AC 0345
-1FB6 GREEK SMALL LETTER ALPHA WITH PERISPOMENI
- : 03B1 0342
-1FB7 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
- : 1FB6 0345
-1FB8 GREEK CAPITAL LETTER ALPHA WITH VRACHY
- : 0391 0306
-1FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON
- : 0391 0304
-1FBA GREEK CAPITAL LETTER ALPHA WITH VARIA
- : 0391 0300
-1FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
- : 0386 greek capital letter alpha with tonos
-1FBC GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
- : 0391 0345
-1FBD GREEK KORONIS
- # 0020 0313
-1FBE GREEK PROSGEGRAMMENI
- : 03B9 greek small letter iota
-1FBF GREEK PSILI
- x (modifier letter apostrophe - 02BC)
- # 0020 0313
-1FC0 GREEK PERISPOMENI
- # 0020 0342
-1FC1 GREEK DIALYTIKA AND PERISPOMENI
- : 00A8 0342
-1FC2 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
- : 1F74 0345
-1FC3 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
- : 03B7 0345
-1FC4 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
- : 03AE 0345
-1FC6 GREEK SMALL LETTER ETA WITH PERISPOMENI
- : 03B7 0342
-1FC7 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
- : 1FC6 0345
-1FC8 GREEK CAPITAL LETTER EPSILON WITH VARIA
- : 0395 0300
-1FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
- : 0388 greek capital letter epsilon with tonos
-1FCA GREEK CAPITAL LETTER ETA WITH VARIA
- : 0397 0300
-1FCB GREEK CAPITAL LETTER ETA WITH OXIA
- : 0389 greek capital letter eta with tonos
-1FCC GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
- : 0397 0345
-1FCD GREEK PSILI AND VARIA
- : 1FBF 0300
-1FCE GREEK PSILI AND OXIA
- : 1FBF 0301
-1FCF GREEK PSILI AND PERISPOMENI
- : 1FBF 0342
-1FD0 GREEK SMALL LETTER IOTA WITH VRACHY
- : 03B9 0306
-1FD1 GREEK SMALL LETTER IOTA WITH MACRON
- : 03B9 0304
-1FD2 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
- : 03CA 0300
-1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
- : 0390 greek small letter iota with dialytika and tonos
-1FD6 GREEK SMALL LETTER IOTA WITH PERISPOMENI
- : 03B9 0342
-1FD7 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
- : 03CA 0342
-1FD8 GREEK CAPITAL LETTER IOTA WITH VRACHY
- : 0399 0306
-1FD9 GREEK CAPITAL LETTER IOTA WITH MACRON
- : 0399 0304
-1FDA GREEK CAPITAL LETTER IOTA WITH VARIA
- : 0399 0300
-1FDB GREEK CAPITAL LETTER IOTA WITH OXIA
- : 038A greek capital letter iota with tonos
-1FDD GREEK DASIA AND VARIA
- : 1FFE 0300
-1FDE GREEK DASIA AND OXIA
- : 1FFE 0301
-1FDF GREEK DASIA AND PERISPOMENI
- : 1FFE 0342
-1FE0 GREEK SMALL LETTER UPSILON WITH VRACHY
- : 03C5 0306
-1FE1 GREEK SMALL LETTER UPSILON WITH MACRON
- : 03C5 0304
-1FE2 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
- : 03CB 0300
-1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
- : 03B0 greek small letter upsilon with dialytika and tonos
-1FE4 GREEK SMALL LETTER RHO WITH PSILI
- : 03C1 0313
-1FE5 GREEK SMALL LETTER RHO WITH DASIA
- : 03C1 0314
-1FE6 GREEK SMALL LETTER UPSILON WITH PERISPOMENI
- : 03C5 0342
-1FE7 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
- : 03CB 0342
-1FE8 GREEK CAPITAL LETTER UPSILON WITH VRACHY
- : 03A5 0306
-1FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON
- : 03A5 0304
-1FEA GREEK CAPITAL LETTER UPSILON WITH VARIA
- : 03A5 0300
-1FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
- : 038E greek capital letter upsilon with tonos
-1FEC GREEK CAPITAL LETTER RHO WITH DASIA
- : 03A1 0314
-1FED GREEK DIALYTIKA AND VARIA
- : 00A8 0300
-1FEE GREEK DIALYTIKA AND OXIA
- : 0385 greek dialytika tonos
-1FEF GREEK VARIA
- : 0060 grave accent
-1FF2 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
- : 1F7C 0345
-1FF3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
- : 03C9 0345
-1FF4 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
- : 03CE 0345
-1FF6 GREEK SMALL LETTER OMEGA WITH PERISPOMENI
- : 03C9 0342
-1FF7 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
- : 1FF6 0345
-1FF8 GREEK CAPITAL LETTER OMICRON WITH VARIA
- : 039F 0300
-1FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
- : 038C greek capital letter omicron with tonos
-1FFA GREEK CAPITAL LETTER OMEGA WITH VARIA
- : 03A9 0300
-1FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
- : 038F greek capital letter omega with tonos
-1FFC GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
- : 03A9 0345
-1FFD GREEK OXIA
- : 00B4 acute accent
-1FFE GREEK DASIA
- x (modifier letter reversed comma - 02BD)
- # 0020 0314
-@@ 2000 General Punctuation 206F
-@@+
-@+ For additional general punctuation characters see also Basic Latin, Latin-1, Supplemental Punctuation and CJK Symbols and Punctuation.
-@ Spaces
-2000 EN QUAD
- : 2002 en space
-2001 EM QUAD
- = mutton quad
- : 2003 em space
-2002 EN SPACE
- = nut
- * half an em
- # 0020 space
-2003 EM SPACE
- = mutton
- * nominally, a space equal to the type size in points
- * may scale by the condensation factor of a font
- # 0020 space
-2004 THREE-PER-EM SPACE
- = thick space
- # 0020 space
-2005 FOUR-PER-EM SPACE
- = mid space
- # 0020 space
-2006 SIX-PER-EM SPACE
- * in computer typography sometimes equated to thin space
- # 0020 space
-2007 FIGURE SPACE
- * space equal to tabular width of a font
- * this is equivalent to the digit width of fonts with fixed-width digits
- # <noBreak> 0020
-2008 PUNCTUATION SPACE
- * space equal to narrow punctuation of a font
- # 0020 space
-2009 THIN SPACE
- * a fifth of an em (or sometimes a sixth)
- x (narrow no-break space - 202F)
- # 0020 space
-200A HAIR SPACE
- * thinner than a thin space
- * in traditional typography, the thinnest space available
- # 0020 space
-200B ZERO WIDTH SPACE
- * commonly abbreviated ZWSP
- * this character is intended for invisible word separation and for line break control; it has no width, but its presence between two characters does not prevent increased letter spacing in justification
-@ Format characters
-200C ZERO WIDTH NON-JOINER
- * commonly abbreviated ZWNJ
-200D ZERO WIDTH JOINER
- * commonly abbreviated ZWJ
-200E LEFT-TO-RIGHT MARK
- * commonly abbreviated LRM
-200F RIGHT-TO-LEFT MARK
- * commonly abbreviated RLM
-@ Dashes
-2010 HYPHEN
- x (hyphen-minus - 002D)
- x (soft hyphen - 00AD)
-2011 NON-BREAKING HYPHEN
- x (hyphen-minus - 002D)
- x (soft hyphen - 00AD)
- # <noBreak> 2010
-2012 FIGURE DASH
-2013 EN DASH
-2014 EM DASH
- * may be used in pairs to offset parenthetical text
- x (katakana-hiragana prolonged sound mark - 30FC)
-2015 HORIZONTAL BAR
- = quotation dash
- * long dash introducing quoted text
-@ General punctuation
-2016 DOUBLE VERTICAL LINE
- * used in pairs to indicate norm of a matrix
- x (combining double vertical stroke overlay - 20E6)
- x (parallel to - 2225)
-2017 DOUBLE LOW LINE
- * this is a spacing character
- x (low line - 005F)
- x (combining double low line - 0333)
- # 0020 0333
-2018 LEFT SINGLE QUOTATION MARK
- = single turned comma quotation mark
- * this is the preferred character (as opposed to 201B)
- x (apostrophe - 0027)
- x (modifier letter turned comma - 02BB)
- x (heavy single turned comma quotation mark ornament - 275B)
-2019 RIGHT SINGLE QUOTATION MARK
- = single comma quotation mark
- * this is the preferred character to use for apostrophe
- x (apostrophe - 0027)
- x (modifier letter apostrophe - 02BC)
- x (heavy single comma quotation mark ornament - 275C)
-201A SINGLE LOW-9 QUOTATION MARK
- = low single comma quotation mark
- * used as opening single quotation mark in some languages
-201B SINGLE HIGH-REVERSED-9 QUOTATION MARK
- = single reversed comma quotation mark
- * has same semantic as 2018, but differs in appearance
- x (modifier letter reversed comma - 02BD)
-201C LEFT DOUBLE QUOTATION MARK
- = double turned comma quotation mark
- * this is the preferred character (as opposed to 201F)
- x (quotation mark - 0022)
- x (heavy double turned comma quotation mark ornament - 275D)
- x (reversed double prime quotation mark - 301D)
-201D RIGHT DOUBLE QUOTATION MARK
- = double comma quotation mark
- x (quotation mark - 0022)
- x (double prime - 2033)
- x (heavy double comma quotation mark ornament - 275E)
- x (double prime quotation mark - 301E)
-201E DOUBLE LOW-9 QUOTATION MARK
- = low double comma quotation mark
- * used as opening double quotation mark in some languages
- x (low double prime quotation mark - 301F)
-201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
- = double reversed comma quotation mark
- * has same semantic as 201C, but differs in appearance
-2020 DAGGER
- = obelisk, obelus, long cross
-2021 DOUBLE DAGGER
- = diesis, double obelisk
-2022 BULLET
- = black small circle
- x (middle dot - 00B7)
- x (one dot leader - 2024)
- x (bullet operator - 2219)
- x (inverse bullet - 25D8)
- x (white bullet - 25E6)
-2023 TRIANGULAR BULLET
- x (end of proof - 220E)
- x (black right-pointing small triangle - 25B8)
-2024 ONE DOT LEADER
- * also used as an Armenian semicolon (mijaket)
- x (middle dot - 00B7)
- x (bullet - 2022)
- x (bullet operator - 2219)
- # 002E full stop
-2025 TWO DOT LEADER
- # 002E 002E
-2026 HORIZONTAL ELLIPSIS
- = three dot leader
- x (vertical ellipsis - 22EE)
- x (presentation form for vertical horizontal ellipsis - FE19)
- # 002E 002E 002E
-2027 HYPHENATION POINT
-@ Format characters
-2028 LINE SEPARATOR
- * may be used to represent this semantic unambiguously
-2029 PARAGRAPH SEPARATOR
- * may be used to represent this semantic unambiguously
-202A LEFT-TO-RIGHT EMBEDDING
- * commonly abbreviated LRE
-202B RIGHT-TO-LEFT EMBEDDING
- * commonly abbreviated RLE
-202C POP DIRECTIONAL FORMATTING
- * commonly abbreviated PDF
-202D LEFT-TO-RIGHT OVERRIDE
- * commonly abbreviated LRO
-202E RIGHT-TO-LEFT OVERRIDE
- * commonly abbreviated RLO
-202F NARROW NO-BREAK SPACE
- * commonly abbreviated NNBSP
- * a narrow form of a no-break space, typically the width of a thin space or a mid space
- x (no-break space - 00A0)
- x (four-per-em space - 2005)
- x (thin space - 2009)
- # <noBreak> 0020
-@ General punctuation
-2030 PER MILLE SIGN
- = permille, per thousand
- * used, for example, in measures of blood alcohol content, salinity, etc.
- x (percent sign - 0025)
- x (arabic-indic per mille sign - 0609)
-2031 PER TEN THOUSAND SIGN
- = permyriad
- * percent of a percent, rarely used
- x (percent sign - 0025)
- x (arabic-indic per ten thousand sign - 060A)
-2032 PRIME
- = minutes, feet
- x (apostrophe - 0027)
- x (acute accent - 00B4)
- x (modifier letter prime - 02B9)
-2033 DOUBLE PRIME
- = seconds, inches
- x (quotation mark - 0022)
- x (modifier letter double prime - 02BA)
- x (right double quotation mark - 201D)
- x (ditto mark - 3003)
- x (double prime quotation mark - 301E)
- # 2032 2032
-2034 TRIPLE PRIME
- = lines (old measure, 1/12 of an inch)
- # 2032 2032 2032
-2035 REVERSED PRIME
- x (grave accent - 0060)
-2036 REVERSED DOUBLE PRIME
- x (reversed double prime quotation mark - 301D)
- # 2035 2035
-2037 REVERSED TRIPLE PRIME
- # 2035 2035 2035
-2038 CARET
- x (up arrowhead - 2303)
- x (modifier letter low circumflex accent - A788)
-2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- = left pointing single guillemet
- * usually opening, sometimes closing
- x (less-than sign - 003C)
- x (left-pointing angle bracket - 2329)
- x (left angle bracket - 3008)
-203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- = right pointing single guillemet
- * usually closing, sometimes opening
- x (greater-than sign - 003E)
- x (right-pointing angle bracket - 232A)
- x (right angle bracket - 3009)
-203B REFERENCE MARK
- = Japanese kome
- = Urdu paragraph separator
- x (tibetan ku ru kha bzhi mig can - 0FBF)
- x (cjk unified ideograph-200AD - 200AD)
-@ Double punctuation for vertical text
-203C DOUBLE EXCLAMATION MARK
- x (exclamation mark - 0021)
- # 0021 0021
-@ General punctuation
-203D INTERROBANG
- x (exclamation mark - 0021)
- x (question mark - 003F)
- x (inverted interrobang - 2E18)
-203E OVERLINE
- = spacing overscore
- # 0020 0305
-203F UNDERTIE
- = Greek enotikon
- x (smile - 2323)
-2040 CHARACTER TIE
- = z notation sequence concatenation
- x (frown - 2322)
-2041 CARET INSERTION POINT
- * proofreader's mark: insert here
- x (right semidirect product - 22CC)
-2042 ASTERISM
-2043 HYPHEN BULLET
-2044 FRACTION SLASH
- = solidus (in typography)
- * for composing arbitrary fractions
- x (solidus - 002F)
- x (division slash - 2215)
-2045 LEFT SQUARE BRACKET WITH QUILL
-2046 RIGHT SQUARE BRACKET WITH QUILL
-@ Double punctuation for vertical text
-2047 DOUBLE QUESTION MARK
- # 003F 003F
-2048 QUESTION EXCLAMATION MARK
- # 003F 0021
-2049 EXCLAMATION QUESTION MARK
- # 0021 003F
-@ General punctuation
-204A TIRONIAN SIGN ET
- * Irish Gaelic, Old English, ...
- x (ampersand - 0026)
-204B REVERSED PILCROW SIGN
- x (pilcrow sign - 00B6)
-204C BLACK LEFTWARDS BULLET
-204D BLACK RIGHTWARDS BULLET
-204E LOW ASTERISK
- x (asterisk - 002A)
- x (combining asterisk below - 0359)
-204F REVERSED SEMICOLON
- x (semicolon - 003B)
-2050 CLOSE UP
- * editing mark
-2051 TWO ASTERISKS ALIGNED VERTICALLY
-2052 COMMERCIAL MINUS SIGN
- = abzüglich (German), med avdrag av (Swedish), piska (Swedish, "whip")
- * a common glyph variant and fallback representation looks like ./.
- * may also be used as a dingbat to indicate correctness
- * used in Finno-Ugric Phonetic Alphabet to indicate a related borrowed form with different sound
- x (percent sign - 0025)
- x (arabic percent sign - 066A)
-2053 SWUNG DASH
- x (tilde - 007E)
-2054 INVERTED UNDERTIE
-2055 FLOWER PUNCTUATION MARK
- = phul, puspika
- * used as a punctuation mark with Syloti Nagri, Bengali and other Indic scripts
- x (heavy eight teardrop-spoked propeller asterisk - 274B)
-@ Archaic punctuation
-2056 THREE DOT PUNCTUATION
-@ General punctuation
-2057 QUADRUPLE PRIME
- # 2032 2032 2032 2032
-@ Archaic punctuation
-2058 FOUR DOT PUNCTUATION
-2059 FIVE DOT PUNCTUATION
- = Greek pentonkion
- = quincunx
- x (die face-5 - 2684)
-205A TWO DOT PUNCTUATION
- * historically used to indicate the end of a sentence or change of speaker
- * extends from baseline to cap height
- x (presentation form for vertical two dot leader - FE30)
- x (greek acrophonic epidaurean two - 1015B)
-205B FOUR DOT MARK
- * used by scribes in the margin as highlighter mark
- * this is centered on the line, but extends beyond top and bottom of the line
-205C DOTTED CROSS
- * used by scribes in the margin as highlighter mark
-205D TRICOLON
- = Epidaurean acrophonic symbol three
- x (vertical ellipsis - 22EE)
- x (triple colon operator - 2AF6)
- x (presentation form for vertical horizontal ellipsis - FE19)
-205E VERTICAL FOUR DOTS
- * used in dictionaries to indicate legal but undesirable word break
- * glyph extends the whole height of the line
-@ Space
-205F MEDIUM MATHEMATICAL SPACE
- * abbreviated MMSP
- * four-eighteenths of an em
- # 0020 space
-@ Format character
-2060 WORD JOINER
- * commonly abbreviated WJ
- * a zero width non-breaking space (only)
- * intended for disambiguation of functions for byte order mark
- x (zero width no-break space - FEFF)
-@ Invisible operators
-2061 FUNCTION APPLICATION
- * contiguity operator indicating application of a function
-2062 INVISIBLE TIMES
- * contiguity operator indicating multiplication
-2063 INVISIBLE SEPARATOR
- = invisible comma
- * contiguity operator indicating that adjacent mathematical symbols form a list, e.g. when no visible comma is used between multiple indices
-2064 INVISIBLE PLUS
- * contiguity operator indicating addition
-@ Deprecated
-@+ Use of these characters is strongly discouraged.
-206A INHIBIT SYMMETRIC SWAPPING
-206B ACTIVATE SYMMETRIC SWAPPING
-206C INHIBIT ARABIC FORM SHAPING
-206D ACTIVATE ARABIC FORM SHAPING
-206E NATIONAL DIGIT SHAPES
-206F NOMINAL DIGIT SHAPES
-@@ 2070 Superscripts and Subscripts 209F
-@ Superscripts
-2070 SUPERSCRIPT ZERO
- # <super> 0030
-2071 SUPERSCRIPT LATIN SMALL LETTER I
- # <super> 0069
-2072 <reserved>
- x (superscript two - 00B2)
-2073 <reserved>
- x (superscript three - 00B3)
-2074 SUPERSCRIPT FOUR
- # <super> 0034
-2075 SUPERSCRIPT FIVE
- # <super> 0035
-2076 SUPERSCRIPT SIX
- # <super> 0036
-2077 SUPERSCRIPT SEVEN
- # <super> 0037
-2078 SUPERSCRIPT EIGHT
- # <super> 0038
-2079 SUPERSCRIPT NINE
- # <super> 0039
-207A SUPERSCRIPT PLUS SIGN
- # <super> 002B
-207B SUPERSCRIPT MINUS
- # <super> 2212
-207C SUPERSCRIPT EQUALS SIGN
- # <super> 003D
-207D SUPERSCRIPT LEFT PARENTHESIS
- # <super> 0028
-207E SUPERSCRIPT RIGHT PARENTHESIS
- # <super> 0029
-207F SUPERSCRIPT LATIN SMALL LETTER N
- # <super> 006E
-@ Subscripts
-2080 SUBSCRIPT ZERO
- # <sub> 0030
-2081 SUBSCRIPT ONE
- # <sub> 0031
-2082 SUBSCRIPT TWO
- # <sub> 0032
-2083 SUBSCRIPT THREE
- # <sub> 0033
-2084 SUBSCRIPT FOUR
- # <sub> 0034
-2085 SUBSCRIPT FIVE
- # <sub> 0035
-2086 SUBSCRIPT SIX
- # <sub> 0036
-2087 SUBSCRIPT SEVEN
- # <sub> 0037
-2088 SUBSCRIPT EIGHT
- # <sub> 0038
-2089 SUBSCRIPT NINE
- # <sub> 0039
-208A SUBSCRIPT PLUS SIGN
- # <sub> 002B
-208B SUBSCRIPT MINUS
- # <sub> 2212
-208C SUBSCRIPT EQUALS SIGN
- # <sub> 003D
-208D SUBSCRIPT LEFT PARENTHESIS
- # <sub> 0028
-208E SUBSCRIPT RIGHT PARENTHESIS
- # <sub> 0029
-2090 LATIN SUBSCRIPT SMALL LETTER A
- # <sub> 0061
-2091 LATIN SUBSCRIPT SMALL LETTER E
- # <sub> 0065
-2092 LATIN SUBSCRIPT SMALL LETTER O
- # <sub> 006F
-2093 LATIN SUBSCRIPT SMALL LETTER X
- # <sub> 0078
-2094 LATIN SUBSCRIPT SMALL LETTER SCHWA
- # <sub> 0259
-@@ 20A0 Currency Symbols 20CF
-@ Currency symbols
-@+ A number of currency symbols are found in other blocks. Fullwidth versions of some currency symbols are found in the Halfwidth and Fullwidth Forms block.
- x (dollar sign - 0024)
- x (cent sign - 00A2)
- x (pound sign - 00A3)
- x (currency sign - 00A4)
- x (yen sign - 00A5)
- x (latin small letter f with hook - 0192)
- x (afghani sign - 060B)
- x (bengali rupee mark - 09F2)
- x (bengali rupee sign - 09F3)
- x (gujarati rupee sign - 0AF1)
- x (tamil rupee sign - 0BF9)
- x (thai currency symbol baht - 0E3F)
- x (khmer currency symbol riel - 17DB)
- x (script capital m - 2133)
- x (cjk unified ideograph-5143 - 5143)
- x (cjk unified ideograph-5186 - 5186)
- x (cjk unified ideograph-5706 - 5706)
- x (cjk unified ideograph-5713 - 5713)
- x (rial sign - FDFC)
-20A0 EURO-CURRENCY SIGN
- * intended for ECU, but not widely used
- * historical character; this is NOT the euro!
- x (euro sign - 20AC)
-20A1 COLON SIGN
- * Costa Rica, El Salvador
-20A2 CRUZEIRO SIGN
- * Brazil
-20A3 FRENCH FRANC SIGN
- * France
-20A4 LIRA SIGN
- * intended for lira, but not widely used
- * preferred character for lira is 00A3
- x (pound sign - 00A3)
-20A5 MILL SIGN
- * USA (1/10 cent)
-20A6 NAIRA SIGN
- * Nigeria
-20A7 PESETA SIGN
- * Spain
- x (peso sign - 20B1)
-20A8 RUPEE SIGN
- * India
- # 0052 0073
-20A9 WON SIGN
- * Korea
-20AA NEW SHEQEL SIGN
- * Israel
-20AB DONG SIGN
- * Vietnam
-20AC EURO SIGN
- * currency sign for the European Monetary Union
- * euro, not ecu
- x (euro-currency sign - 20A0)
-20AD KIP SIGN
- * Laos
-20AE TUGRIK SIGN
- * Mongolia
- * also transliterated as tugrug, tugric, tugrog, togrog, tögrög
-20AF DRACHMA SIGN
- * Greece
-20B0 GERMAN PENNY SIGN
-20B1 PESO SIGN
- * Philippines
- * the Mexican peso is indicated with the dollar sign
- x (peseta sign - 20A7)
-20B2 GUARANI SIGN
- * Paraguay
- * Often represented by G. or Gs.
-20B3 AUSTRAL SIGN
- * former Argentinian currency
-20B4 HRYVNIA SIGN
- * Ukraine
-20B5 CEDI SIGN
- * Ghana
- * glyph may look like '023B' or like C with a short vertical stroke through the upper arm
- x (cent sign - 00A2)
- x (latin capital letter c with stroke - 023B)
-20B6 LIVRE TOURNOIS SIGN
- * used in France from 13th-18th centuries
-20B7 SPESMILO SIGN
- * historical international currency associated with Esperanto
-20B8 TENGE SIGN
- * Kazakhstan
- x (apl functional symbol up tack overbar - 2351)
- x (box drawings down single and horizontal double - 2564)
- x (postal mark - 3012)
-@@ 20D0 Combining Diacritical Marks for Symbols 20FF
-@ Combining diacritical marks for symbols
-20D0 COMBINING LEFT HARPOON ABOVE
-20D1 COMBINING RIGHT HARPOON ABOVE
- * vector
-20D2 COMBINING LONG VERTICAL LINE OVERLAY
- * negation
-20D3 COMBINING SHORT VERTICAL LINE OVERLAY
- * occasional variant for negation
-20D4 COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5 COMBINING CLOCKWISE ARROW ABOVE
- * rotation
-20D6 COMBINING LEFT ARROW ABOVE
-20D7 COMBINING RIGHT ARROW ABOVE
- * vector
-20D8 COMBINING RING OVERLAY
-20D9 COMBINING CLOCKWISE RING OVERLAY
-20DA COMBINING ANTICLOCKWISE RING OVERLAY
-20DB COMBINING THREE DOTS ABOVE
- = third derivative
-20DC COMBINING FOUR DOTS ABOVE
- = fourth derivative
-@ Enclosing diacritics
-20DD COMBINING ENCLOSING CIRCLE
- = JIS composition circle
- = Cyrillic combining ten thousands sign
- x (white circle - 25CB)
- x (large circle - 25EF)
- x (ideographic number zero - 3007)
-20DE COMBINING ENCLOSING SQUARE
- x (white square - 25A1)
-20DF COMBINING ENCLOSING DIAMOND
- x (white diamond - 25C7)
-20E0 COMBINING ENCLOSING CIRCLE BACKSLASH
- * prohibition
-@ Additional diacritical mark for symbols
-20E1 COMBINING LEFT RIGHT ARROW ABOVE
- * tensor
-@ Additional enclosing diacritics
-20E2 COMBINING ENCLOSING SCREEN
- x (clear screen symbol - 239A)
-20E3 COMBINING ENCLOSING KEYCAP
-20E4 COMBINING ENCLOSING UPWARD POINTING TRIANGLE
- x (white up-pointing triangle - 25B3)
-@ Additional diacritical marks for symbols
-20E5 COMBINING REVERSE SOLIDUS OVERLAY
- x (reverse solidus - 005C)
-20E6 COMBINING DOUBLE VERTICAL STROKE OVERLAY
- = z notation finite function diacritic
- x (double vertical line - 2016)
-20E7 COMBINING ANNUITY SYMBOL
- = actuarial bend
- x (right ceiling - 2309)
-20E8 COMBINING TRIPLE UNDERDOT
-20E9 COMBINING WIDE BRIDGE ABOVE
- = contraction operator
- * extends the full width of the base character
- x (combining bridge above - 0346)
-20EA COMBINING LEFTWARDS ARROW OVERLAY
- x (leftwards arrow - 2190)
-20EB COMBINING LONG DOUBLE SOLIDUS OVERLAY
- = long double slash overlay
-20EC COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-20ED COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
-20EE COMBINING LEFT ARROW BELOW
-20EF COMBINING RIGHT ARROW BELOW
-20F0 COMBINING ASTERISK ABOVE
-@@ 2100 Letterlike Symbols 214F
-@ Letterlike symbols
-@+ Some of the letterlike symbols are intended to complete the set of mathematical alphanumeric symbols starting at U+1D400.
-2100 ACCOUNT OF
- # 0061 002F 0063
-2101 ADDRESSED TO THE SUBJECT
- x (aktieselskab - 214D)
- # 0061 002F 0073
-2102 DOUBLE-STRUCK CAPITAL C
- = the set of complex numbers
- # <font> 0043 latin capital letter c
-2103 DEGREE CELSIUS
- = degrees Centigrade
- # 00B0 0043
-2104 CENTRE LINE SYMBOL
- = clone
-2105 CARE OF
- # 0063 002F 006F
-2106 CADA UNA
- # 0063 002F 0075
-2107 EULER CONSTANT
- x (latin capital letter e - 0045)
- # 0190 latin capital letter open e
-2108 SCRUPLE
-2109 DEGREE FAHRENHEIT
- # 00B0 0046
-210A SCRIPT SMALL G
- = real number symbol
- # <font> 0067 latin small letter g
-210B SCRIPT CAPITAL H
- = Hamiltonian operator
- # <font> 0048 latin capital letter h
-210C BLACK-LETTER CAPITAL H
- = Hilbert space
- # <font> 0048 latin capital letter h
-210D DOUBLE-STRUCK CAPITAL H
- # <font> 0048 latin capital letter h
-210E PLANCK CONSTANT
- = height, specific enthalpy, ...
- * simply a mathematical italic h; this character's name results from legacy usage
- # <font> 0068 latin small letter h
-210F PLANCK CONSTANT OVER TWO PI
- x (cyrillic small letter tshe - 045B)
- # <font> 0127 latin small letter h with stroke
-2110 SCRIPT CAPITAL I
- # <font> 0049 latin capital letter i
-2111 BLACK-LETTER CAPITAL I
- = imaginary part
- # <font> 0049 latin capital letter i
-2112 SCRIPT CAPITAL L
- = Laplace transform
- # <font> 004C latin capital letter l
-2113 SCRIPT SMALL L
- = mathematical symbol 'ell'
- = liter (traditional symbol)
- * despite its character name, this symbol is derived from a special italicized version of the small letter l
- * the SI recommended symbol for liter is 006C
- x (mathematical script small l - 1D4C1)
- # <font> 006C latin small letter l
-2114 L B BAR SYMBOL
- = pounds
- x (number sign - 0023)
-2115 DOUBLE-STRUCK CAPITAL N
- = natural number
- * a glyph variant with doubled vertical strokes exists
- # <font> 004E latin capital letter n
-2116 NUMERO SIGN
- # 004E 006F
-2117 SOUND RECORDING COPYRIGHT
- = published
- = phonorecord sign
- x (copyright sign - 00A9)
- x (circled latin capital letter p - 24C5)
-2118 SCRIPT CAPITAL P
- = Weierstrass elliptic function
- * actually this has the form of a lowercase calligraphic p, despite its name
-2119 DOUBLE-STRUCK CAPITAL P
- # <font> 0050 latin capital letter p
-211A DOUBLE-STRUCK CAPITAL Q
- = the set of rational numbers
- # <font> 0051 latin capital letter q
-211B SCRIPT CAPITAL R
- = Riemann Integral
- # <font> 0052 latin capital letter r
-211C BLACK-LETTER CAPITAL R
- = real part
- # <font> 0052 latin capital letter r
-211D DOUBLE-STRUCK CAPITAL R
- = the set of real numbers
- # <font> 0052 latin capital letter r
-211E PRESCRIPTION TAKE
- = recipe
- = cross ratio
-211F RESPONSE
-2120 SERVICE MARK
- # <super> 0053 004D
-2121 TELEPHONE SIGN
- * typical forms for this symbol may use lower case, small caps or superscripted letter shapes
- x (black telephone - 260E)
- x (telephone location sign - 2706)
- # 0054 0045 004C
-2122 TRADE MARK SIGN
- x (circled wz - 1F12E)
- # <super> 0054 004D
-2123 VERSICLE
-2124 DOUBLE-STRUCK CAPITAL Z
- = the set of integers
- # <font> 005A latin capital letter z
-2125 OUNCE SIGN
- x (latin small letter yogh - 021D)
-2126 OHM SIGN
- * SI unit of resistance, named after G. S. Ohm, German physicist
- * preferred representation is 03A9
- x (ascending node - 260A)
- : 03A9 greek capital letter omega
-2127 INVERTED OHM SIGN
- = mho
- * archaic unit of conductance (= the SI unit siemens)
- * typographically a turned greek capital letter omega
- x (latin capital letter upsilon - 01B1)
- x (greek capital letter omega - 03A9)
- x (descending node - 260B)
-2128 BLACK-LETTER CAPITAL Z
- # <font> 005A latin capital letter z
-2129 TURNED GREEK SMALL LETTER IOTA
- * unique element fulfilling a description (logic)
- x (greek small letter iota - 03B9)
-212A KELVIN SIGN
- : 004B latin capital letter k
-212B ANGSTROM SIGN
- * non SI length unit (=0.1 nm) named after A. J. Ångström, Swedish physicist
- * preferred representation is 00C5
- : 00C5 latin capital letter a with ring above
-212C SCRIPT CAPITAL B
- = Bernoulli function
- # <font> 0042 latin capital letter b
-212D BLACK-LETTER CAPITAL C
- # <font> 0043 latin capital letter c
-212E ESTIMATED SYMBOL
- * used in European packaging
- x (latin small letter e - 0065)
-212F SCRIPT SMALL E
- = error
- = natural exponent
- # <font> 0065 latin small letter e
-2130 SCRIPT CAPITAL E
- = emf (electromotive force)
- # <font> 0045 latin capital letter e
-2131 SCRIPT CAPITAL F
- = Fourier transform
- # <font> 0046 latin capital letter f
-2132 TURNED CAPITAL F
- = Claudian digamma inversum
- * lowercase is 214E
- x (latin capital letter f - 0046)
- x (greek letter digamma - 03DC)
-2133 SCRIPT CAPITAL M
- = M-matrix (physics)
- = German Mark currency symbol, before WWII
- * when used for the Mark symbol, the range of glyph variation is restricted
- # <font> 004D latin capital letter m
-2134 SCRIPT SMALL O
- = order, of inferior order to
- # <font> 006F latin small letter o
-@ Hebrew letterlike math symbols
-@+ These are left-to-right characters.
-2135 ALEF SYMBOL
- = first transfinite cardinal (countable)
- # 05D0 hebrew letter alef
-2136 BET SYMBOL
- = second transfinite cardinal (the continuum)
- # 05D1 hebrew letter bet
-2137 GIMEL SYMBOL
- = third transfinite cardinal (functions of a real variable)
- # 05D2 hebrew letter gimel
-2138 DALET SYMBOL
- = fourth transfinite cardinal
- # 05D3 hebrew letter dalet
-@ Additional letterlike symbols
-2139 INFORMATION SOURCE
- * intended for use with 20DD
- # <font> 0069 latin small letter i
-213A ROTATED CAPITAL Q
- * a binding signature mark
-213B FACSIMILE SIGN
- * typical forms for this symbol may use lower case, small caps or superscripted letter shapes
- x (telephone sign - 2121)
- # 0046 0041 0058
-213C DOUBLE-STRUCK SMALL PI
- # <font> 03C0 greek small letter pi
-213D DOUBLE-STRUCK SMALL GAMMA
- # <font> 03B3 greek small letter gamma
-213E DOUBLE-STRUCK CAPITAL GAMMA
- # <font> 0393 greek capital letter gamma
-213F DOUBLE-STRUCK CAPITAL PI
- # <font> 03A0 greek capital letter pi
-@ Double-struck large operator
-2140 DOUBLE-STRUCK N-ARY SUMMATION
- # <font> 2211 n-ary summation
-@ Additional letterlike symbols
-2141 TURNED SANS-SERIF CAPITAL G
- = game
-2142 TURNED SANS-SERIF CAPITAL L
-2143 REVERSED SANS-SERIF CAPITAL L
-2144 TURNED SANS-SERIF CAPITAL Y
-@ Double-struck italic math symbols
-@+ These stylized mathematical symbols are used in some documents to distinguish special mathematical usages from ordinary variables.
-2145 DOUBLE-STRUCK ITALIC CAPITAL D
- * sometimes used for the differential
- # <font> 0044 latin capital letter d
-2146 DOUBLE-STRUCK ITALIC SMALL D
- * sometimes used for the differential
- # <font> 0064 latin small letter d
-2147 DOUBLE-STRUCK ITALIC SMALL E
- * sometimes used for the natural exponent
- # <font> 0065 latin small letter e
-2148 DOUBLE-STRUCK ITALIC SMALL I
- * sometimes used for the imaginary unit
- # <font> 0069 latin small letter i
-2149 DOUBLE-STRUCK ITALIC SMALL J
- * sometimes used for the imaginary unit
- # <font> 006A latin small letter j
-@ Additional letterlike symbols
-214A PROPERTY LINE
-214B TURNED AMPERSAND
- * used in linear logic
- x (ampersand - 0026)
-214C PER SIGN
- * abbreviates the word 'per'
-214D AKTIESELSKAB
- x (addressed to the subject - 2101)
-@ Lowercase Claudian letter
-@+ Claudian letters in inscriptions are uppercase, but may be transcribed by scholars in lowercase.
-214E TURNED SMALL F
- * uppercase is 2132
- x (greek small letter digamma - 03DD)
-@ Biblical editorial symbol
-214F SYMBOL FOR SAMARITAN SOURCE
-@@ 2150 Number Forms 218F
-@ Fractions
-@+ Other fraction number forms are found in the Latin-1 Supplement block.
- x (vulgar fraction one quarter - 00BC)
- x (vulgar fraction one half - 00BD)
- x (vulgar fraction three quarters - 00BE)
-2150 VULGAR FRACTION ONE SEVENTH
- # <fraction> 0031 2044 0037
-2151 VULGAR FRACTION ONE NINTH
- # <fraction> 0031 2044 0039
-2152 VULGAR FRACTION ONE TENTH
- # <fraction> 0031 2044 0031 0030
-2153 VULGAR FRACTION ONE THIRD
- # <fraction> 0031 2044 0033
-2154 VULGAR FRACTION TWO THIRDS
- # <fraction> 0032 2044 0033
-2155 VULGAR FRACTION ONE FIFTH
- # <fraction> 0031 2044 0035
-2156 VULGAR FRACTION TWO FIFTHS
- # <fraction> 0032 2044 0035
-2157 VULGAR FRACTION THREE FIFTHS
- # <fraction> 0033 2044 0035
-2158 VULGAR FRACTION FOUR FIFTHS
- # <fraction> 0034 2044 0035
-2159 VULGAR FRACTION ONE SIXTH
- # <fraction> 0031 2044 0036
-215A VULGAR FRACTION FIVE SIXTHS
- # <fraction> 0035 2044 0036
-215B VULGAR FRACTION ONE EIGHTH
- # <fraction> 0031 2044 0038
-215C VULGAR FRACTION THREE EIGHTHS
- # <fraction> 0033 2044 0038
-215D VULGAR FRACTION FIVE EIGHTHS
- # <fraction> 0035 2044 0038
-215E VULGAR FRACTION SEVEN EIGHTHS
- # <fraction> 0037 2044 0038
-215F FRACTION NUMERATOR ONE
- # <fraction> 0031 2044
-@ Roman numerals
-2160 ROMAN NUMERAL ONE
- # 0049 latin capital letter i
-2161 ROMAN NUMERAL TWO
- # 0049 0049
-2162 ROMAN NUMERAL THREE
- # 0049 0049 0049
-2163 ROMAN NUMERAL FOUR
- # 0049 0056
-2164 ROMAN NUMERAL FIVE
- # 0056 latin capital letter v
-2165 ROMAN NUMERAL SIX
- # 0056 0049
-2166 ROMAN NUMERAL SEVEN
- # 0056 0049 0049
-2167 ROMAN NUMERAL EIGHT
- # 0056 0049 0049 0049
-2168 ROMAN NUMERAL NINE
- # 0049 0058
-2169 ROMAN NUMERAL TEN
- # 0058 latin capital letter x
-216A ROMAN NUMERAL ELEVEN
- # 0058 0049
-216B ROMAN NUMERAL TWELVE
- # 0058 0049 0049
-216C ROMAN NUMERAL FIFTY
- # 004C latin capital letter l
-216D ROMAN NUMERAL ONE HUNDRED
- # 0043 latin capital letter c
-216E ROMAN NUMERAL FIVE HUNDRED
- # 0044 latin capital letter d
-216F ROMAN NUMERAL ONE THOUSAND
- # 004D latin capital letter m
-2170 SMALL ROMAN NUMERAL ONE
- # 0069 latin small letter i
-2171 SMALL ROMAN NUMERAL TWO
- # 0069 0069
-2172 SMALL ROMAN NUMERAL THREE
- # 0069 0069 0069
-2173 SMALL ROMAN NUMERAL FOUR
- # 0069 0076
-2174 SMALL ROMAN NUMERAL FIVE
- # 0076 latin small letter v
-2175 SMALL ROMAN NUMERAL SIX
- # 0076 0069
-2176 SMALL ROMAN NUMERAL SEVEN
- # 0076 0069 0069
-2177 SMALL ROMAN NUMERAL EIGHT
- # 0076 0069 0069 0069
-2178 SMALL ROMAN NUMERAL NINE
- # 0069 0078
-2179 SMALL ROMAN NUMERAL TEN
- # 0078 latin small letter x
-217A SMALL ROMAN NUMERAL ELEVEN
- # 0078 0069
-217B SMALL ROMAN NUMERAL TWELVE
- # 0078 0069 0069
-217C SMALL ROMAN NUMERAL FIFTY
- # 006C latin small letter l
-217D SMALL ROMAN NUMERAL ONE HUNDRED
- # 0063 latin small letter c
-217E SMALL ROMAN NUMERAL FIVE HUNDRED
- # 0064 latin small letter d
-217F SMALL ROMAN NUMERAL ONE THOUSAND
- # 006D latin small letter m
-@ Archaic Roman numerals
-2180 ROMAN NUMERAL ONE THOUSAND C D
-2181 ROMAN NUMERAL FIVE THOUSAND
-2182 ROMAN NUMERAL TEN THOUSAND
-2183 ROMAN NUMERAL REVERSED ONE HUNDRED
- = apostrophic C
- = Claudian antisigma
- * used in combination with C and I to form large numbers
- * lowercase is 2184
- x (greek capital reversed lunate sigma symbol - 03FD)
-@ Lowercase Claudian letter
-@+ Claudian letters in inscriptions are uppercase, but may be transcribed by scholars in lowercase.
-2184 LATIN SMALL LETTER REVERSED C
- x (greek small reversed lunate sigma symbol - 037B)
-@ Archaic Roman numerals
-2185 ROMAN NUMERAL SIX LATE FORM
- x (greek letter stigma - 03DA)
-2186 ROMAN NUMERAL FIFTY EARLY FORM
- x (runic letter z - 16CE)
- x (downwards arrow - 2193)
-2187 ROMAN NUMERAL FIFTY THOUSAND
-2188 ROMAN NUMERAL ONE HUNDRED THOUSAND
-@ Fraction
-2189 VULGAR FRACTION ZERO THIRDS
- * used in baseball scoring, from ARIB STD B24
- # <fraction> 0030 2044 0033
-@@ 2190 Arrows 21FF
-@ Simple arrows
-2190 LEFTWARDS ARROW
- x (combining leftwards arrow overlay - 20EA)
-2191 UPWARDS ARROW
- * IPA: egressive airflow
-2192 RIGHTWARDS ARROW
- = z notation total function
-2193 DOWNWARDS ARROW
- * IPA: ingressive airflow
-2194 LEFT RIGHT ARROW
- = z notation relation
-2195 UP DOWN ARROW
-2196 NORTH WEST ARROW
-2197 NORTH EAST ARROW
-2198 SOUTH EAST ARROW
-2199 SOUTH WEST ARROW
-@ Arrows with modifications
-219A LEFTWARDS ARROW WITH STROKE
- * negation of 2190
- : 2190 0338
-219B RIGHTWARDS ARROW WITH STROKE
- * negation of 2192
- : 2192 0338
-219C LEFTWARDS WAVE ARROW
- x (wave arrow pointing directly left - 2B3F)
-219D RIGHTWARDS WAVE ARROW
-219E LEFTWARDS TWO HEADED ARROW
- = fast cursor left
-219F UPWARDS TWO HEADED ARROW
- = fast cursor up
-21A0 RIGHTWARDS TWO HEADED ARROW
- = z notation total surjection
- = fast cursor right
-21A1 DOWNWARDS TWO HEADED ARROW
- = form feed
- = fast cursor down
-21A2 LEFTWARDS ARROW WITH TAIL
-21A3 RIGHTWARDS ARROW WITH TAIL
- = z notation total injection
-21A4 LEFTWARDS ARROW FROM BAR
-21A5 UPWARDS ARROW FROM BAR
-21A6 RIGHTWARDS ARROW FROM BAR
- = z notation maplet
-21A7 DOWNWARDS ARROW FROM BAR
- = depth symbol
-21A8 UP DOWN ARROW WITH BASE
-21A9 LEFTWARDS ARROW WITH HOOK
-21AA RIGHTWARDS ARROW WITH HOOK
-21AB LEFTWARDS ARROW WITH LOOP
-21AC RIGHTWARDS ARROW WITH LOOP
-21AD LEFT RIGHT WAVE ARROW
-21AE LEFT RIGHT ARROW WITH STROKE
- * negation of 2194
- : 2194 0338
-21AF DOWNWARDS ZIGZAG ARROW
- = electrolysis
-@ Arrows with bent tips
-@+ Other arrows with bent tips to complete this set can be found in the Miscellaneous Symbols and Arrows block.
-21B0 UPWARDS ARROW WITH TIP LEFTWARDS
-21B1 UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2 DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS
-@ Keyboard symbols and circle arrows
-21B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS
- = line feed
-21B5 DOWNWARDS ARROW WITH CORNER LEFTWARDS
- * may indicate a carriage return or new line
- x (return symbol - 23CE)
-21B6 ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7 CLOCKWISE TOP SEMICIRCLE ARROW
-21B8 NORTH WEST ARROW TO LONG BAR
- = home
-21B9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
- = tab with shift tab
-21BA ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB CLOCKWISE OPEN CIRCLE ARROW
-@ Harpoons
-21BC LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0 RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1 RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2 DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3 DOWNWARDS HARPOON WITH BARB LEFTWARDS
-@ Paired arrows and harpoons
-21C4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7 LEFTWARDS PAIRED ARROWS
-21C8 UPWARDS PAIRED ARROWS
-21C9 RIGHTWARDS PAIRED ARROWS
-21CA DOWNWARDS PAIRED ARROWS
-21CB LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-@ Double arrows
-21CD LEFTWARDS DOUBLE ARROW WITH STROKE
- * negation of 21D0
- : 21D0 0338
-21CE LEFT RIGHT DOUBLE ARROW WITH STROKE
- * negation of 21D4
- : 21D4 0338
-21CF RIGHTWARDS DOUBLE ARROW WITH STROKE
- * negation of 21D2
- : 21D2 0338
-21D0 LEFTWARDS DOUBLE ARROW
-21D1 UPWARDS DOUBLE ARROW
-21D2 RIGHTWARDS DOUBLE ARROW
-21D3 DOWNWARDS DOUBLE ARROW
-21D4 LEFT RIGHT DOUBLE ARROW
-21D5 UP DOWN DOUBLE ARROW
-21D6 NORTH WEST DOUBLE ARROW
-21D7 NORTH EAST DOUBLE ARROW
-21D8 SOUTH EAST DOUBLE ARROW
-21D9 SOUTH WEST DOUBLE ARROW
-@ Miscellaneous arrows and keyboard symbols
-21DA LEFTWARDS TRIPLE ARROW
-21DB RIGHTWARDS TRIPLE ARROW
-21DC LEFTWARDS SQUIGGLE ARROW
- x (long leftwards squiggle arrow - 2B33)
-21DD RIGHTWARDS SQUIGGLE ARROW
-21DE UPWARDS ARROW WITH DOUBLE STROKE
- = page up
-21DF DOWNWARDS ARROW WITH DOUBLE STROKE
- = page down
-21E0 LEFTWARDS DASHED ARROW
-21E1 UPWARDS DASHED ARROW
-21E2 RIGHTWARDS DASHED ARROW
-21E3 DOWNWARDS DASHED ARROW
-21E4 LEFTWARDS ARROW TO BAR
- = leftward tab
-21E5 RIGHTWARDS ARROW TO BAR
- = rightward tab
-@ White arrows and keyboard symbols
-21E6 LEFTWARDS WHITE ARROW
- x (north east white arrow - 2B00)
-21E7 UPWARDS WHITE ARROW
- = shift
-21E8 RIGHTWARDS WHITE ARROW
-21E9 DOWNWARDS WHITE ARROW
-21EA UPWARDS WHITE ARROW FROM BAR
- = caps lock
-21EB UPWARDS WHITE ARROW ON PEDESTAL
- = level 2 lock
-21EC UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
- = caps lock
-21ED UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
- = numerics lock
-21EE UPWARDS WHITE DOUBLE ARROW
- = level 3 select
-21EF UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
- = level 3 lock
-21F0 RIGHTWARDS WHITE ARROW FROM WALL
- = group lock
-21F1 NORTH WEST ARROW TO CORNER
- = home
-21F2 SOUTH EAST ARROW TO CORNER
- = end
-21F3 UP DOWN WHITE ARROW
- = scrolling
- x (left right white arrow - 2B04)
-@ Miscellaneous arrows
-21F4 RIGHT ARROW WITH SMALL CIRCLE
- x (left arrow with small circle - 2B30)
-21F5 DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6 THREE RIGHTWARDS ARROWS
- x (three leftwards arrows - 2B31)
-21F7 LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8 RIGHTWARDS ARROW WITH VERTICAL STROKE
- = z notation partial function
-21F9 LEFT RIGHT ARROW WITH VERTICAL STROKE
- = z notation partial relation
-21FA LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
- = z notation finite function
-21FC LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
- = z notation finite relation
-21FD LEFTWARDS OPEN-HEADED ARROW
-21FE RIGHTWARDS OPEN-HEADED ARROW
-21FF LEFT RIGHT OPEN-HEADED ARROW
-@@ 2200 Mathematical Operators 22FF
-@@+
-@ Miscellaneous mathematical symbols
-2200 FOR ALL
- = universal quantifier
-2201 COMPLEMENT
- x (latin letter stretched c - 0297)
-2202 PARTIAL DIFFERENTIAL
-2203 THERE EXISTS
- = existential quantifier
-2204 THERE DOES NOT EXIST
- : 2203 0338
-2205 EMPTY SET
- = null set
- * used in linguistics to indicate a null morpheme or phonological "zero"
- x (latin capital letter o with stroke - 00D8)
- x (diameter sign - 2300)
-2206 INCREMENT
- = Laplace operator
- = forward difference
- = symmetric difference (in set theory)
- * other symbols may also be used for symmetric difference
- x (greek capital letter delta - 0394)
- x (white up-pointing triangle - 25B3)
-2207 NABLA
- = backward difference
- = gradient, del
- * used for Laplacian operator (written with superscript 2)
- x (white down-pointing triangle - 25BD)
-@ Set membership
-2208 ELEMENT OF
-2209 NOT AN ELEMENT OF
- : 2208 0338
-220A SMALL ELEMENT OF
- * originates in math pi fonts; not the straight epsilon
- x (greek lunate epsilon symbol - 03F5)
-220B CONTAINS AS MEMBER
- = such that
-220C DOES NOT CONTAIN AS MEMBER
- : 220B 0338
-220D SMALL CONTAINS AS MEMBER
- x (greek reversed lunate epsilon symbol - 03F6)
-@ Miscellaneous mathematical symbol
-220E END OF PROOF
- = q.e.d.
- x (triangular bullet - 2023)
- x (black vertical rectangle - 25AE)
-@ N-ary operators
-220F N-ARY PRODUCT
- = product sign
- x (greek capital letter pi - 03A0)
-2210 N-ARY COPRODUCT
- = coproduct sign
-2211 N-ARY SUMMATION
- = summation sign
- x (greek capital letter sigma - 03A3)
- x (double-struck n-ary summation - 2140)
-@ Operators
-2212 MINUS SIGN
- x (hyphen-minus - 002D)
-2213 MINUS-OR-PLUS SIGN
- x (plus-minus sign - 00B1)
-2214 DOT PLUS
-2215 DIVISION SLASH
- * generic division operator
- x (solidus - 002F)
- x (fraction slash - 2044)
-2216 SET MINUS
- x (reverse solidus - 005C)
-2217 ASTERISK OPERATOR
- x (asterisk - 002A)
-2218 RING OPERATOR
- = composite function
- = APL jot
- x (degree sign - 00B0)
- x (devanagari abbreviation sign - 0970)
- x (white bullet - 25E6)
- x (avestan abbreviation mark - 10B39)
-2219 BULLET OPERATOR
- x (middle dot - 00B7)
- x (bullet - 2022)
- x (one dot leader - 2024)
-221A SQUARE ROOT
- = radical sign
- x (check mark - 2713)
-221B CUBE ROOT
- x (arabic-indic cube root - 0606)
-221C FOURTH ROOT
- x (arabic-indic fourth root - 0607)
-221D PROPORTIONAL TO
- x (greek small letter alpha - 03B1)
-@ Miscellaneous mathematical symbols
-221E INFINITY
-221F RIGHT ANGLE
-2220 ANGLE
-2221 MEASURED ANGLE
-2222 SPHERICAL ANGLE
- = angle arc
-@ Operators
-2223 DIVIDES
- = such that
- = APL stile
- x (vertical line - 007C)
- x (latin letter dental click - 01C0)
-2224 DOES NOT DIVIDE
- : 2223 0338
-2225 PARALLEL TO
- x (latin letter lateral click - 01C1)
- x (double vertical line - 2016)
-2226 NOT PARALLEL TO
- : 2225 0338
-@ Logical and set operators
-2227 LOGICAL AND
- = wedge, conjunction
- x (n-ary logical and - 22C0)
- x (up arrowhead - 2303)
-2228 LOGICAL OR
- = vee, disjunction
- x (n-ary logical or - 22C1)
- x (down arrowhead - 2304)
-2229 INTERSECTION
- = cap, hat
- x (n-ary intersection - 22C2)
-222A UNION
- = cup
- x (n-ary union - 22C3)
-@ Integrals
-222B INTEGRAL
- x (latin small letter esh - 0283)
-222C DOUBLE INTEGRAL
- # 222B 222B
-222D TRIPLE INTEGRAL
- x (quadruple integral operator - 2A0C)
- # 222B 222B 222B
-222E CONTOUR INTEGRAL
- x (integral around a point operator - 2A15)
-222F SURFACE INTEGRAL
- # 222E 222E
-2230 VOLUME INTEGRAL
- # 222E 222E 222E
-2231 CLOCKWISE INTEGRAL
-2232 CLOCKWISE CONTOUR INTEGRAL
-2233 ANTICLOCKWISE CONTOUR INTEGRAL
- * clockwise or anticlockwise arrows do not reverse during layout mirroring
-@ Miscellaneous mathematical symbols
-2234 THEREFORE
-2235 BECAUSE
-@ Relations
-2236 RATIO
- x (colon - 003A)
-2237 PROPORTION
-@ Operator
-2238 DOT MINUS
- = saturating subtraction
- * sometimes claimed as notation for symmetric set difference, but 2206 is preferred
-@ Relation
-2239 EXCESS
-@ Operator
-223A GEOMETRIC PROPORTION
-@ Relations
-223B HOMOTHETIC
- x (tilde operator with rising dots - 2A6B)
-223C TILDE OPERATOR
- = varies with (proportional to)
- = difference between
- = similar to
- = not
- = cycle
- = APL tilde
- x (tilde - 007E)
- x (not sign - 00AC)
- x (small tilde - 02DC)
-223D REVERSED TILDE
- = lazy S
- * reversed tilde and lazy S are glyph variants
-223E INVERTED LAZY S
- = most positive
-@ Miscellaneous mathematical symbol
-223F SINE WAVE
- = alternating current
-@ Operator
-2240 WREATH PRODUCT
-@ Relations
-2241 NOT TILDE
- : 223C 0338
-2242 MINUS TILDE
-2243 ASYMPTOTICALLY EQUAL TO
-2244 NOT ASYMPTOTICALLY EQUAL TO
- : 2243 0338
-2245 APPROXIMATELY EQUAL TO
-2246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
- : 2245 0338
-2248 ALMOST EQUAL TO
- = asymptotic to
-2249 NOT ALMOST EQUAL TO
- : 2248 0338
-224A ALMOST EQUAL OR EQUAL TO
-224B TRIPLE TILDE
-224C ALL EQUAL TO
- * reversed tilde and lazy S are glyph variants
-224D EQUIVALENT TO
-224E GEOMETRICALLY EQUIVALENT TO
-224F DIFFERENCE BETWEEN
-2250 APPROACHES THE LIMIT
-2251 GEOMETRICALLY EQUAL TO
-2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
- = nearly equals
-2253 IMAGE OF OR APPROXIMATELY EQUAL TO
-2254 COLON EQUALS
-2255 EQUALS COLON
-2256 RING IN EQUAL TO
-2257 RING EQUAL TO
- = approximately equal to
-2258 CORRESPONDS TO
-2259 ESTIMATES
- = corresponds to
-225A EQUIANGULAR TO
-225B STAR EQUALS
-225C DELTA EQUAL TO
- = equiangular
- = equal to by definition
-225D EQUAL TO BY DEFINITION
-225E MEASURED BY
-225F QUESTIONED EQUAL TO
-2260 NOT EQUAL TO
- x (equals sign - 003D)
- x (latin letter alveolar click - 01C2)
- : 003D 0338
-2261 IDENTICAL TO
-2262 NOT IDENTICAL TO
- : 2261 0338
-2263 STRICTLY EQUIVALENT TO
-2264 LESS-THAN OR EQUAL TO
-2265 GREATER-THAN OR EQUAL TO
-2266 LESS-THAN OVER EQUAL TO
-2267 GREATER-THAN OVER EQUAL TO
-2268 LESS-THAN BUT NOT EQUAL TO
-2269 GREATER-THAN BUT NOT EQUAL TO
-226A MUCH LESS-THAN
- x (left-pointing double angle quotation mark - 00AB)
-226B MUCH GREATER-THAN
- x (right-pointing double angle quotation mark - 00BB)
-226C BETWEEN
- = plaintiff, quantic
-226D NOT EQUIVALENT TO
- : 224D 0338
-226E NOT LESS-THAN
- : 003C 0338
-226F NOT GREATER-THAN
- : 003E 0338
-2270 NEITHER LESS-THAN NOR EQUAL TO
- : 2264 0338
-2271 NEITHER GREATER-THAN NOR EQUAL TO
- : 2265 0338
-2272 LESS-THAN OR EQUIVALENT TO
-2273 GREATER-THAN OR EQUIVALENT TO
-2274 NEITHER LESS-THAN NOR EQUIVALENT TO
- : 2272 0338
-2275 NEITHER GREATER-THAN NOR EQUIVALENT TO
- : 2273 0338
-2276 LESS-THAN OR GREATER-THAN
-2277 GREATER-THAN OR LESS-THAN
-2278 NEITHER LESS-THAN NOR GREATER-THAN
- : 2276 0338
-2279 NEITHER GREATER-THAN NOR LESS-THAN
- : 2277 0338
-227A PRECEDES
- = lower rank than
- x (precedes under relation - 22B0)
-227B SUCCEEDS
- = higher rank than
- x (succeeds under relation - 22B1)
-227C PRECEDES OR EQUAL TO
-227D SUCCEEDS OR EQUAL TO
-227E PRECEDES OR EQUIVALENT TO
-227F SUCCEEDS OR EQUIVALENT TO
-2280 DOES NOT PRECEDE
- : 227A 0338
-2281 DOES NOT SUCCEED
- : 227B 0338
-2282 SUBSET OF
- = included in set
- x (left sideways u bracket - 2E26)
-2283 SUPERSET OF
- = includes in set
- x (right sideways u bracket - 2E27)
-2284 NOT A SUBSET OF
- : 2282 0338
-2285 NOT A SUPERSET OF
- : 2283 0338
-2286 SUBSET OF OR EQUAL TO
-2287 SUPERSET OF OR EQUAL TO
-2288 NEITHER A SUBSET OF NOR EQUAL TO
- : 2286 0338
-2289 NEITHER A SUPERSET OF NOR EQUAL TO
- : 2287 0338
-228A SUBSET OF WITH NOT EQUAL TO
-228B SUPERSET OF WITH NOT EQUAL TO
-@ Operators
-228C MULTISET
-228D MULTISET MULTIPLICATION
- x (n-ary union operator with dot - 2A03)
- x (intersection with dot - 2A40)
-228E MULTISET UNION
- = z notation bag addition
- x (n-ary union operator with plus - 2A04)
-@ Relations
-228F SQUARE IMAGE OF
-2290 SQUARE ORIGINAL OF
-2291 SQUARE IMAGE OF OR EQUAL TO
-2292 SQUARE ORIGINAL OF OR EQUAL TO
-@ Operators
-2293 SQUARE CAP
- x (n-ary square intersection operator - 2A05)
-2294 SQUARE CUP
-2295 CIRCLED PLUS
- = direct sum
- = vector pointing into page
- x (earth - 2641)
- x (n-ary circled plus operator - 2A01)
-2296 CIRCLED MINUS
- = symmetric difference
- x (circle with horizontal bar - 29B5)
-2297 CIRCLED TIMES
- = tensor product
- = vector pointing into page
- x (n-ary circled times operator - 2A02)
-2298 CIRCLED DIVISION SLASH
-2299 CIRCLED DOT OPERATOR
- = direct product
- = vector pointing out of page
- x (latin letter bilabial click - 0298)
- x (sun - 2609)
- x (n-ary circled dot operator - 2A00)
-229A CIRCLED RING OPERATOR
- x (apl functional symbol circle jot - 233E)
- x (bullseye - 25CE)
-229B CIRCLED ASTERISK OPERATOR
- x (apl functional symbol circle star - 235F)
-229C CIRCLED EQUALS
-229D CIRCLED DASH
-229E SQUARED PLUS
-229F SQUARED MINUS
-22A0 SQUARED TIMES
- x (ballot box with x - 2612)
- x (squared saltire - 26DD)
-22A1 SQUARED DOT OPERATOR
-22A2 RIGHT TACK
- = turnstile
- = proves, implies, yields
- = reducible
-22A3 LEFT TACK
- = reverse turnstile
- = non-theorem, does not yield
-@ Miscellaneous mathematical symbols
-22A4 DOWN TACK
- = top
- x (raised interpolation marker - 2E06)
-22A5 UP TACK
- = base, bottom
- x (perpendicular - 27C2)
-@ Relations
-22A6 ASSERTION
- = reduces to
-22A7 MODELS
-22A8 TRUE
- = statement is true, valid
- = is a tautology
- = satisfies
- = results in
-22A9 FORCES
-22AA TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC DOES NOT PROVE
- : 22A2 0338
-22AD NOT TRUE
- : 22A8 0338
-22AE DOES NOT FORCE
- : 22A9 0338
-22AF NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
- : 22AB 0338
-22B0 PRECEDES UNDER RELATION
- x (precedes - 227A)
-22B1 SUCCEEDS UNDER RELATION
- x (succeeds - 227B)
-22B2 NORMAL SUBGROUP OF
- x (white left-pointing pointer - 25C5)
-22B3 CONTAINS AS NORMAL SUBGROUP
- x (white right-pointing pointer - 25BB)
-22B4 NORMAL SUBGROUP OF OR EQUAL TO
-22B5 CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6 ORIGINAL OF
-22B7 IMAGE OF
-22B8 MULTIMAP
-22B9 HERMITIAN CONJUGATE MATRIX
-@ Operators
-22BA INTERCALATE
-22BB XOR
- x (semisextile - 26BA)
-22BC NAND
- x (projective - 2305)
- x (quincunx - 26BB)
-22BD NOR
-@ Miscellaneous mathematical symbols
-22BE RIGHT ANGLE WITH ARC
-22BF RIGHT TRIANGLE
-@ N-ary operators
-22C0 N-ARY LOGICAL AND
- * also used to denote the universal quantifier
- x (logical and - 2227)
-22C1 N-ARY LOGICAL OR
- * also used to denote the existential quantifier
- x (logical or - 2228)
-22C2 N-ARY INTERSECTION
- = z notation generalised intersection
- x (intersection - 2229)
-22C3 N-ARY UNION
- = z notation generalised union
- x (union - 222A)
-@ Operators
-22C4 DIAMOND OPERATOR
- x (white diamond - 25C7)
- x (black small diamond - 2B29)
-22C5 DOT OPERATOR
- x (middle dot - 00B7)
-22C6 STAR OPERATOR
- * APL
- x (arabic five pointed star - 066D)
- x (black star - 2605)
- x (white medium star - 2B50)
-22C7 DIVISION TIMES
-@ Relation
-22C8 BOWTIE
- x (ocr bow tie - 2445)
-@ Operators
-22C9 LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB LEFT SEMIDIRECT PRODUCT
-22CC RIGHT SEMIDIRECT PRODUCT
- x (caret insertion point - 2041)
-@ Relation
-22CD REVERSED TILDE EQUALS
-@ Logical operators
-22CE CURLY LOGICAL OR
-22CF CURLY LOGICAL AND
-@ Relations
-22D0 DOUBLE SUBSET
-22D1 DOUBLE SUPERSET
-@ Operators
-22D2 DOUBLE INTERSECTION
-22D3 DOUBLE UNION
-@ Relations
-22D4 PITCHFORK
- = proper intersection
-22D5 EQUAL AND PARALLEL TO
- x (viewdata square - 2317)
-22D6 LESS-THAN WITH DOT
-22D7 GREATER-THAN WITH DOT
-22D8 VERY MUCH LESS-THAN
-22D9 VERY MUCH GREATER-THAN
-22DA LESS-THAN EQUAL TO OR GREATER-THAN
-22DB GREATER-THAN EQUAL TO OR LESS-THAN
-22DC EQUAL TO OR LESS-THAN
-22DD EQUAL TO OR GREATER-THAN
-22DE EQUAL TO OR PRECEDES
-22DF EQUAL TO OR SUCCEEDS
-22E0 DOES NOT PRECEDE OR EQUAL
- : 227C 0338
-22E1 DOES NOT SUCCEED OR EQUAL
- : 227D 0338
-22E2 NOT SQUARE IMAGE OF OR EQUAL TO
- : 2291 0338
-22E3 NOT SQUARE ORIGINAL OF OR EQUAL TO
- : 2292 0338
-22E4 SQUARE IMAGE OF OR NOT EQUAL TO
-22E5 SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6 LESS-THAN BUT NOT EQUIVALENT TO
-22E7 GREATER-THAN BUT NOT EQUIVALENT TO
-22E8 PRECEDES BUT NOT EQUIVALENT TO
-22E9 SUCCEEDS BUT NOT EQUIVALENT TO
-22EA NOT NORMAL SUBGROUP OF
- : 22B2 0338
-22EB DOES NOT CONTAIN AS NORMAL SUBGROUP
- : 22B3 0338
-22EC NOT NORMAL SUBGROUP OF OR EQUAL TO
- : 22B4 0338
-22ED DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
- : 22B5 0338
-22EE VERTICAL ELLIPSIS
- * these four ellipses are used for matrix row/column elision
- x (tricolon - 205D)
- x (horizontal ellipsis - 2026)
- x (presentation form for vertical horizontal ellipsis - FE19)
-22EF MIDLINE HORIZONTAL ELLIPSIS
-22F0 UP RIGHT DIAGONAL ELLIPSIS
-22F1 DOWN RIGHT DIAGONAL ELLIPSIS
-22F2 ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3 ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4 SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5 ELEMENT OF WITH DOT ABOVE
-22F6 ELEMENT OF WITH OVERBAR
-22F7 SMALL ELEMENT OF WITH OVERBAR
-22F8 ELEMENT OF WITH UNDERBAR
-22F9 ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA CONTAINS WITH LONG HORIZONTAL STROKE
-22FB CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD CONTAINS WITH OVERBAR
-22FE SMALL CONTAINS WITH OVERBAR
-22FF Z NOTATION BAG MEMBERSHIP
-@@ 2300 Miscellaneous Technical 23FF
-@ Miscellaneous technical
-2300 DIAMETER SIGN
- x (empty set - 2205)
-2301 ELECTRIC ARROW
-@+ * from ISO 2047
- * symbol for End of Transmission
-2302 HOUSE
-2303 UP ARROWHEAD
- x (circumflex accent - 005E)
- x (modifier letter up arrowhead - 02C4)
- x (caret - 2038)
- x (logical and - 2227)
-2304 DOWN ARROWHEAD
- x (modifier letter down arrowhead - 02C5)
- x (logical or - 2228)
- x (countersink - 2335)
-2305 PROJECTIVE
- x (nand - 22BC)
-2306 PERSPECTIVE
-2307 WAVY LINE
- x (wavy dash - 3030)
-@ Ceilings and floors
-@+ These characters are tall and narrow mathematical delimiters, in contrast to the quine corners or half brackets. They are also distinct from CJK corner brackets, which are wide quotation marks.
-2308 LEFT CEILING
- = APL upstile
- x (top left half bracket - 2E22)
- x (left corner bracket - 300C)
-2309 RIGHT CEILING
- x (combining annuity symbol - 20E7)
- x (top right half bracket - 2E23)
-230A LEFT FLOOR
- = APL downstile
- x (bottom left half bracket - 2E24)
-230B RIGHT FLOOR
- x (right corner bracket - 300D)
- x (bottom right half bracket - 2E25)
-@ Crops
-230C BOTTOM RIGHT CROP
- * set of four "crop" corners, arranged facing outward
-230D BOTTOM LEFT CROP
-230E TOP RIGHT CROP
-230F TOP LEFT CROP
-@ Miscellaneous technical
-2310 REVERSED NOT SIGN
- = beginning of line
- x (not sign - 00AC)
-2311 SQUARE LOZENGE
- = Kissen (pillow)
- * used as a command delimiter in some very old computers
-2312 ARC
- x (upper half circle - 25E0)
-2313 SEGMENT
-2314 SECTOR
-2315 TELEPHONE RECORDER
-2316 POSITION INDICATOR
-2317 VIEWDATA SQUARE
- x (equal and parallel to - 22D5)
-2318 PLACE OF INTEREST SIGN
- = command key (1.0)
-2319 TURNED NOT SIGN
- = line marker
-@ GUI icons
-231A WATCH
-231B HOURGLASS
-@ Quine corners
-@+ These form a set of four quine corners, for quincuncial arrangement. They are also used in upper and lower pairs in mathematic, or more rarely in editorial usage as alternatives to half brackets.
-231C TOP LEFT CORNER
- x (right angle substitution marker - 2E00)
- x (top left half bracket - 2E22)
-231D TOP RIGHT CORNER
-231E BOTTOM LEFT CORNER
-231F BOTTOM RIGHT CORNER
-@ Integral pieces
-2320 TOP HALF INTEGRAL
- x (integral extension - 23AE)
-2321 BOTTOM HALF INTEGRAL
-@ Frown and smile
-2322 FROWN
- x (character tie - 2040)
-2323 SMILE
- x (undertie - 203F)
-@ Keyboard symbols
-2324 UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
- = enter key
-2325 OPTION KEY
-2326 ERASE TO THE RIGHT
- = delete to the right key
-2327 X IN A RECTANGLE BOX
- = clear key
-2328 KEYBOARD
-@ Deprecated angle brackets
-@+ These characters are deprecated and are strongly discouraged for mathematical use because of their canonical equivalence to CJK punctuation.
-2329 LEFT-POINTING ANGLE BRACKET
- x (less-than sign - 003C)
- x (single left-pointing angle quotation mark - 2039)
- x (mathematical left angle bracket - 27E8)
- : 3008 left angle bracket
-232A RIGHT-POINTING ANGLE BRACKET
- x (greater-than sign - 003E)
- x (single right-pointing angle quotation mark - 203A)
- x (mathematical right angle bracket - 27E9)
- : 3009 right angle bracket
-@ Keyboard symbol
-232B ERASE TO THE LEFT
- = delete to the left key
-@ Chemistry symbol
-232C BENZENE RING
-@ Drafting symbols
-232D CYLINDRICITY
-232E ALL AROUND-PROFILE
-232F SYMMETRY
-2330 TOTAL RUNOUT
-2331 DIMENSION ORIGIN
-2332 CONICAL TAPER
-2333 SLOPE
- x (lower left triangle - 25FA)
-2334 COUNTERBORE
- x (open box - 2423)
-2335 COUNTERSINK
- x (down arrowhead - 2304)
-@ APL
-2336 APL FUNCTIONAL SYMBOL I-BEAM
-2337 APL FUNCTIONAL SYMBOL SQUISH QUAD
- x (apl functional symbol quad - 2395)
- x (white vertical rectangle - 25AF)
- x (n-ary white vertical bar - 2AFF)
-2338 APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339 APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A APL FUNCTIONAL SYMBOL QUAD DIAMOND
- x (white diamond in square - 26CB)
-233B APL FUNCTIONAL SYMBOL QUAD JOT
- x (squared small circle - 29C7)
-233C APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E APL FUNCTIONAL SYMBOL CIRCLE JOT
- x (circled ring operator - 229A)
- x (circled white bullet - 29BE)
-233F APL FUNCTIONAL SYMBOL SLASH BAR
- x (roman as sign - 1019A)
-2340 APL FUNCTIONAL SYMBOL BACKSLASH BAR
- x (reverse solidus with horizontal stroke - 29F7)
-2341 APL FUNCTIONAL SYMBOL QUAD SLASH
- x (squared rising diagonal slash - 29C4)
-2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
- x (squared falling diagonal slash - 29C5)
-2343 APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344 APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345 APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346 APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
- x (reversed empty set - 29B0)
-234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
- = up tack underbar
-@+ * preferred naming for APL tack symbols now follows the London Convention in ISO/IEC 13751:2000 (APL Extended)
- x (up tack - 22A5)
-234B APL FUNCTIONAL SYMBOL DELTA STILE
-234C APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D APL FUNCTIONAL SYMBOL QUAD DELTA
-234E APL FUNCTIONAL SYMBOL DOWN TACK JOT
- = up tack jot
- x (up tack - 22A5)
-234F APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351 APL FUNCTIONAL SYMBOL UP TACK OVERBAR
- = down tack overbar
- x (down tack - 22A4)
- x (postal mark - 3012)
-2352 APL FUNCTIONAL SYMBOL DEL STILE
-2353 APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354 APL FUNCTIONAL SYMBOL QUAD DEL
-2355 APL FUNCTIONAL SYMBOL UP TACK JOT
- = down tack jot
- x (down tack - 22A4)
-2356 APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D APL FUNCTIONAL SYMBOL UP SHOE JOT
- x (intersection with dot - 2A40)
-235E APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F APL FUNCTIONAL SYMBOL CIRCLE STAR
- x (circled asterisk operator - 229B)
-2360 APL FUNCTIONAL SYMBOL QUAD COLON
-2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
- = down tack diaeresis
- x (down tack - 22A4)
-2362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363 APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
- = hoot
-2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
- = holler
-2366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367 APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368 APL FUNCTIONAL SYMBOL TILDE DIAERESIS
- = smirk
-2369 APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A APL FUNCTIONAL SYMBOL COMMA BAR
-236B APL FUNCTIONAL SYMBOL DEL TILDE
-236C APL FUNCTIONAL SYMBOL ZILDE
-236D APL FUNCTIONAL SYMBOL STILE TILDE
-236E APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370 APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372 APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373 APL FUNCTIONAL SYMBOL IOTA
-2374 APL FUNCTIONAL SYMBOL RHO
-2375 APL FUNCTIONAL SYMBOL OMEGA
-2376 APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A APL FUNCTIONAL SYMBOL ALPHA
-@ Graphics for control codes
-237B NOT CHECK MARK
-@+ * from ISO 2047
- * symbol for Negative Acknowledge
-@ Miscellaneous technical
-237C RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-@ Graphics for control codes
-237D SHOULDERED OPEN BOX
-@+ * from ISO 9995-7
- * keyboard symbol for No Break Space
- x (open box - 2423)
-237E BELL SYMBOL
-@+ * from ISO 2047
-237F VERTICAL LINE WITH MIDDLE DOT
-@+ * from ISO 2047
- * symbol for End of Medium
-@ Keyboard symbols from ISO 9995-7
-2380 INSERTION SYMBOL
-2381 CONTINUOUS UNDERLINE SYMBOL
-2382 DISCONTINUOUS UNDERLINE SYMBOL
-2383 EMPHASIS SYMBOL
-2384 COMPOSITION SYMBOL
-2385 WHITE SQUARE WITH CENTRE VERTICAL LINE
- = center
-2386 ENTER SYMBOL
-2387 ALTERNATIVE KEY SYMBOL
-2388 HELM SYMBOL
- = control
- x (wheel of dharma - 2638)
-2389 CIRCLED HORIZONTAL BAR WITH NOTCH
- = pause
-238A CIRCLED TRIANGLE DOWN
- = interrupt, break
-238B BROKEN CIRCLE WITH NORTHWEST ARROW
- = escape
-238C UNDO SYMBOL
-@ Electrotechnical symbols from IR 181
-238D MONOSTABLE SYMBOL
-238E HYSTERESIS SYMBOL
-238F OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390 OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391 PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392 PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393 DIRECT CURRENT SYMBOL FORM TWO
-2394 SOFTWARE-FUNCTION SYMBOL
-@ APL
-2395 APL FUNCTIONAL SYMBOL QUAD
- x (apl functional symbol squish quad - 2337)
- x (white vertical rectangle - 25AF)
-@ Keyboard symbols from ISO 9995-7
-2396 DECIMAL SEPARATOR KEY SYMBOL
-2397 PREVIOUS PAGE
-2398 NEXT PAGE
-2399 PRINT SCREEN SYMBOL
-239A CLEAR SCREEN SYMBOL
- x (combining enclosing screen - 20E2)
-@ Bracket pieces
-239B LEFT PARENTHESIS UPPER HOOK
-239C LEFT PARENTHESIS EXTENSION
-239D LEFT PARENTHESIS LOWER HOOK
-239E RIGHT PARENTHESIS UPPER HOOK
-239F RIGHT PARENTHESIS EXTENSION
-23A0 RIGHT PARENTHESIS LOWER HOOK
-23A1 LEFT SQUARE BRACKET UPPER CORNER
-23A2 LEFT SQUARE BRACKET EXTENSION
-23A3 LEFT SQUARE BRACKET LOWER CORNER
-23A4 RIGHT SQUARE BRACKET UPPER CORNER
-23A5 RIGHT SQUARE BRACKET EXTENSION
-23A6 RIGHT SQUARE BRACKET LOWER CORNER
-23A7 LEFT CURLY BRACKET UPPER HOOK
-23A8 LEFT CURLY BRACKET MIDDLE PIECE
-23A9 LEFT CURLY BRACKET LOWER HOOK
-23AA CURLY BRACKET EXTENSION
-23AB RIGHT CURLY BRACKET UPPER HOOK
-23AC RIGHT CURLY BRACKET MIDDLE PIECE
-23AD RIGHT CURLY BRACKET LOWER HOOK
-@ Special character extensions
-23AE INTEGRAL EXTENSION
- x (top half integral - 2320)
- x (bottom half integral - 2321)
-23AF HORIZONTAL LINE EXTENSION
- * used for extension of arrows
- x (vertical line extension - 23D0)
-@ Bracket pieces
-23B0 UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
- = left moustache
-23B1 UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
- = right moustache
-@ Summation sign parts
-23B2 SUMMATION TOP
-23B3 SUMMATION BOTTOM
- x (n-ary summation - 2211)
-@ Horizontal brackets
-@+ These characters are also used as delimiters of vertical text in non-CJK terminal emulation.
-23B4 TOP SQUARE BRACKET
- x (presentation form for vertical left square bracket - FE47)
-23B5 BOTTOM SQUARE BRACKET
- x (presentation form for vertical right square bracket - FE48)
-23B6 BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
- * only used for terminal emulation
-@ Terminal graphic characters
-23B7 RADICAL SYMBOL BOTTOM
-23B8 LEFT VERTICAL BOX LINE
-23B9 RIGHT VERTICAL BOX LINE
-@ Scan lines for terminal graphics
-@+ The scan line numbers here refer to old, low-resolution technology for terminals, with only 9 scan lines per fixed-size character glyph. Even-numbered scan lines are unified with box-drawing graphics.
-23BA HORIZONTAL SCAN LINE-1
-23BB HORIZONTAL SCAN LINE-3
-23BC HORIZONTAL SCAN LINE-7
-23BD HORIZONTAL SCAN LINE-9
-@ Dentistry notation symbols
-23BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
- x (left ceiling - 2308)
-23BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
- x (left floor - 230A)
-23C0 DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3 DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6 DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
- x (down tack - 22A4)
- x (box drawings light down and horizontal - 252C)
-23CA DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
- x (up tack - 22A5)
- x (box drawings light up and horizontal - 2534)
-23CB DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
- x (right ceiling - 2309)
-23CC DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
- x (right floor - 230B)
-@ Miscellaneous technical
-23CD SQUARE FOOT
-@ Keyboard and UI symbols
-23CE RETURN SYMBOL
- * may be shown with either hollow or filled glyph
- x (downwards arrow with corner leftwards - 21B5)
-23CF EJECT SYMBOL
- * UI symbol to eject media
-@ Special character extension
-23D0 VERTICAL LINE EXTENSION
- * used for extension of arrows
- x (horizontal line extension - 23AF)
-@ Metrical symbols
-23D1 METRICAL BREVE
-23D2 METRICAL LONG OVER SHORT
-23D3 METRICAL SHORT OVER LONG
-23D4 METRICAL LONG OVER TWO SHORTS
-23D5 METRICAL TWO SHORTS OVER LONG
-23D6 METRICAL TWO SHORTS JOINED
-23D7 METRICAL TRISEME
- x (combining greek musical triseme - 1D242)
-23D8 METRICAL TETRASEME
- x (combining greek musical tetraseme - 1D243)
-23D9 METRICAL PENTASEME
- x (combining greek musical pentaseme - 1D244)
-@ Electrotechnical symbols
-23DA EARTH GROUND
-23DB FUSE
-@ Horizontal brackets
-@+ These are intended for bracketing terms of mathematical expressions where their glyph extends to accommodate the width of the bracketed expression
-23DC TOP PARENTHESIS
- x (presentation form for vertical left parenthesis - FE35)
-23DD BOTTOM PARENTHESIS
- x (presentation form for vertical right parenthesis - FE36)
-23DE TOP CURLY BRACKET
- x (presentation form for vertical left curly bracket - FE37)
-23DF BOTTOM CURLY BRACKET
- x (presentation form for vertical right curly bracket - FE38)
-23E0 TOP TORTOISE SHELL BRACKET
- x (presentation form for vertical left tortoise shell bracket - FE39)
-23E1 BOTTOM TORTOISE SHELL BRACKET
- x (presentation form for vertical right tortoise shell bracket - FE3A)
-@ Miscellaneous technical
-23E2 WHITE TRAPEZIUM
-@ Chemistry symbol
-23E3 BENZENE RING WITH CIRCLE
-@ Miscellaneous technical
-23E4 STRAIGHTNESS
-23E5 FLATNESS
-23E6 AC CURRENT
-23E7 ELECTRICAL INTERSECTION
-23E8 DECIMAL EXPONENT SYMBOL
- * Algol-60 token for scientific notation literals
-@@ 2400 Control Pictures 243F
-@+ The diagonal lettering glyphs are only exemplary; alternate representations may be, and often are used in the visible display of control codes.
-@ Graphic pictures for control codes
-2400 SYMBOL FOR NULL
-2401 SYMBOL FOR START OF HEADING
-2402 SYMBOL FOR START OF TEXT
-2403 SYMBOL FOR END OF TEXT
-2404 SYMBOL FOR END OF TRANSMISSION
-2405 SYMBOL FOR ENQUIRY
-2406 SYMBOL FOR ACKNOWLEDGE
-2407 SYMBOL FOR BELL
-2408 SYMBOL FOR BACKSPACE
-2409 SYMBOL FOR HORIZONTAL TABULATION
-240A SYMBOL FOR LINE FEED
-240B SYMBOL FOR VERTICAL TABULATION
-240C SYMBOL FOR FORM FEED
-240D SYMBOL FOR CARRIAGE RETURN
-240E SYMBOL FOR SHIFT OUT
-240F SYMBOL FOR SHIFT IN
-2410 SYMBOL FOR DATA LINK ESCAPE
-2411 SYMBOL FOR DEVICE CONTROL ONE
-2412 SYMBOL FOR DEVICE CONTROL TWO
-2413 SYMBOL FOR DEVICE CONTROL THREE
-2414 SYMBOL FOR DEVICE CONTROL FOUR
-2415 SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416 SYMBOL FOR SYNCHRONOUS IDLE
-2417 SYMBOL FOR END OF TRANSMISSION BLOCK
-2418 SYMBOL FOR CANCEL
-2419 SYMBOL FOR END OF MEDIUM
-241A SYMBOL FOR SUBSTITUTE
-241B SYMBOL FOR ESCAPE
-241C SYMBOL FOR FILE SEPARATOR
-241D SYMBOL FOR GROUP SEPARATOR
-241E SYMBOL FOR RECORD SEPARATOR
-241F SYMBOL FOR UNIT SEPARATOR
-2420 SYMBOL FOR SPACE
-2421 SYMBOL FOR DELETE
-@ Specific symbols for space
-2422 BLANK SYMBOL
- * graphic for space
- x (latin small letter b with stroke - 0180)
-2423 OPEN BOX
- * graphic for space
- x (counterbore - 2334)
-@ Graphic picture for control code
-2424 SYMBOL FOR NEWLINE
-@ Keyboard symbol
-2425 SYMBOL FOR DELETE FORM TWO
-@+ * from ISO 9995-7
- * keyboard symbol for undoable delete
-@ Specific symbol for control code
-2426 SYMBOL FOR SUBSTITUTE FORM TWO
-@+ * from ISO 2047
- x (arabic question mark - 061F)
-@@ 2440 Optical Character Recognition 245F
-@ OCR
-2440 OCR HOOK
-2441 OCR CHAIR
-2442 OCR FORK
-2443 OCR INVERTED FORK
-2444 OCR BELT BUCKLE
-2445 OCR BOW TIE
- x (bowtie - 22C8)
-2446 OCR BRANCH BANK IDENTIFICATION
- = transit
-2447 OCR AMOUNT OF CHECK
-2448 OCR DASH
- = on us
-2449 OCR CUSTOMER ACCOUNT NUMBER
- = dash
-244A OCR DOUBLE BACKSLASH
-@@ 2460 Enclosed Alphanumerics 24FF
-@ Circled numbers
-2460 CIRCLED DIGIT ONE
- # <circle> 0031
-2461 CIRCLED DIGIT TWO
- # <circle> 0032
-2462 CIRCLED DIGIT THREE
- # <circle> 0033
-2463 CIRCLED DIGIT FOUR
- # <circle> 0034
-2464 CIRCLED DIGIT FIVE
- # <circle> 0035
-2465 CIRCLED DIGIT SIX
- # <circle> 0036
-2466 CIRCLED DIGIT SEVEN
- # <circle> 0037
-2467 CIRCLED DIGIT EIGHT
- # <circle> 0038
-2468 CIRCLED DIGIT NINE
- # <circle> 0039
-2469 CIRCLED NUMBER TEN
- # <circle> 0031 0030
-246A CIRCLED NUMBER ELEVEN
- # <circle> 0031 0031
-246B CIRCLED NUMBER TWELVE
- # <circle> 0031 0032
-246C CIRCLED NUMBER THIRTEEN
- # <circle> 0031 0033
-246D CIRCLED NUMBER FOURTEEN
- # <circle> 0031 0034
-246E CIRCLED NUMBER FIFTEEN
- # <circle> 0031 0035
-246F CIRCLED NUMBER SIXTEEN
- # <circle> 0031 0036
-2470 CIRCLED NUMBER SEVENTEEN
- # <circle> 0031 0037
-2471 CIRCLED NUMBER EIGHTEEN
- # <circle> 0031 0038
-2472 CIRCLED NUMBER NINETEEN
- # <circle> 0031 0039
-2473 CIRCLED NUMBER TWENTY
- # <circle> 0032 0030
-@ Parenthesized numbers
-2474 PARENTHESIZED DIGIT ONE
- # 0028 0031 0029
-2475 PARENTHESIZED DIGIT TWO
- # 0028 0032 0029
-2476 PARENTHESIZED DIGIT THREE
- # 0028 0033 0029
-2477 PARENTHESIZED DIGIT FOUR
- # 0028 0034 0029
-2478 PARENTHESIZED DIGIT FIVE
- # 0028 0035 0029
-2479 PARENTHESIZED DIGIT SIX
- # 0028 0036 0029
-247A PARENTHESIZED DIGIT SEVEN
- # 0028 0037 0029
-247B PARENTHESIZED DIGIT EIGHT
- # 0028 0038 0029
-247C PARENTHESIZED DIGIT NINE
- # 0028 0039 0029
-247D PARENTHESIZED NUMBER TEN
- # 0028 0031 0030 0029
-247E PARENTHESIZED NUMBER ELEVEN
- # 0028 0031 0031 0029
-247F PARENTHESIZED NUMBER TWELVE
- # 0028 0031 0032 0029
-2480 PARENTHESIZED NUMBER THIRTEEN
- # 0028 0031 0033 0029
-2481 PARENTHESIZED NUMBER FOURTEEN
- # 0028 0031 0034 0029
-2482 PARENTHESIZED NUMBER FIFTEEN
- # 0028 0031 0035 0029
-2483 PARENTHESIZED NUMBER SIXTEEN
- # 0028 0031 0036 0029
-2484 PARENTHESIZED NUMBER SEVENTEEN
- # 0028 0031 0037 0029
-2485 PARENTHESIZED NUMBER EIGHTEEN
- # 0028 0031 0038 0029
-2486 PARENTHESIZED NUMBER NINETEEN
- # 0028 0031 0039 0029
-2487 PARENTHESIZED NUMBER TWENTY
- # 0028 0032 0030 0029
-@ Numbers period
-@+ See also similar symbols starting at U+1F100.
-2488 DIGIT ONE FULL STOP
- # 0031 002E
-2489 DIGIT TWO FULL STOP
- # 0032 002E
-248A DIGIT THREE FULL STOP
- # 0033 002E
-248B DIGIT FOUR FULL STOP
- # 0034 002E
-248C DIGIT FIVE FULL STOP
- # 0035 002E
-248D DIGIT SIX FULL STOP
- # 0036 002E
-248E DIGIT SEVEN FULL STOP
- # 0037 002E
-248F DIGIT EIGHT FULL STOP
- # 0038 002E
-2490 DIGIT NINE FULL STOP
- # 0039 002E
-2491 NUMBER TEN FULL STOP
- # 0031 0030 002E
-2492 NUMBER ELEVEN FULL STOP
- # 0031 0031 002E
-2493 NUMBER TWELVE FULL STOP
- # 0031 0032 002E
-2494 NUMBER THIRTEEN FULL STOP
- # 0031 0033 002E
-2495 NUMBER FOURTEEN FULL STOP
- # 0031 0034 002E
-2496 NUMBER FIFTEEN FULL STOP
- # 0031 0035 002E
-2497 NUMBER SIXTEEN FULL STOP
- # 0031 0036 002E
-2498 NUMBER SEVENTEEN FULL STOP
- # 0031 0037 002E
-2499 NUMBER EIGHTEEN FULL STOP
- # 0031 0038 002E
-249A NUMBER NINETEEN FULL STOP
- # 0031 0039 002E
-249B NUMBER TWENTY FULL STOP
- # 0032 0030 002E
-@ Parenthesized Latin letters
-@+ See also the uppercase set starting at U+1F100.
-249C PARENTHESIZED LATIN SMALL LETTER A
- # 0028 0061 0029
-249D PARENTHESIZED LATIN SMALL LETTER B
- # 0028 0062 0029
-249E PARENTHESIZED LATIN SMALL LETTER C
- # 0028 0063 0029
-249F PARENTHESIZED LATIN SMALL LETTER D
- # 0028 0064 0029
-24A0 PARENTHESIZED LATIN SMALL LETTER E
- # 0028 0065 0029
-24A1 PARENTHESIZED LATIN SMALL LETTER F
- # 0028 0066 0029
-24A2 PARENTHESIZED LATIN SMALL LETTER G
- # 0028 0067 0029
-24A3 PARENTHESIZED LATIN SMALL LETTER H
- # 0028 0068 0029
-24A4 PARENTHESIZED LATIN SMALL LETTER I
- # 0028 0069 0029
-24A5 PARENTHESIZED LATIN SMALL LETTER J
- # 0028 006A 0029
-24A6 PARENTHESIZED LATIN SMALL LETTER K
- # 0028 006B 0029
-24A7 PARENTHESIZED LATIN SMALL LETTER L
- # 0028 006C 0029
-24A8 PARENTHESIZED LATIN SMALL LETTER M
- # 0028 006D 0029
-24A9 PARENTHESIZED LATIN SMALL LETTER N
- # 0028 006E 0029
-24AA PARENTHESIZED LATIN SMALL LETTER O
- # 0028 006F 0029
-24AB PARENTHESIZED LATIN SMALL LETTER P
- # 0028 0070 0029
-24AC PARENTHESIZED LATIN SMALL LETTER Q
- # 0028 0071 0029
-24AD PARENTHESIZED LATIN SMALL LETTER R
- # 0028 0072 0029
-24AE PARENTHESIZED LATIN SMALL LETTER S
- # 0028 0073 0029
-24AF PARENTHESIZED LATIN SMALL LETTER T
- # 0028 0074 0029
-24B0 PARENTHESIZED LATIN SMALL LETTER U
- # 0028 0075 0029
-24B1 PARENTHESIZED LATIN SMALL LETTER V
- # 0028 0076 0029
-24B2 PARENTHESIZED LATIN SMALL LETTER W
- # 0028 0077 0029
-24B3 PARENTHESIZED LATIN SMALL LETTER X
- # 0028 0078 0029
-24B4 PARENTHESIZED LATIN SMALL LETTER Y
- # 0028 0079 0029
-24B5 PARENTHESIZED LATIN SMALL LETTER Z
- # 0028 007A 0029
-@ Circled Latin letters
-24B6 CIRCLED LATIN CAPITAL LETTER A
- # <circle> 0041
-24B7 CIRCLED LATIN CAPITAL LETTER B
- # <circle> 0042
-24B8 CIRCLED LATIN CAPITAL LETTER C
- x (copyright sign - 00A9)
- # <circle> 0043
-24B9 CIRCLED LATIN CAPITAL LETTER D
- # <circle> 0044
-24BA CIRCLED LATIN CAPITAL LETTER E
- # <circle> 0045
-24BB CIRCLED LATIN CAPITAL LETTER F
- # <circle> 0046
-24BC CIRCLED LATIN CAPITAL LETTER G
- # <circle> 0047
-24BD CIRCLED LATIN CAPITAL LETTER H
- # <circle> 0048
-24BE CIRCLED LATIN CAPITAL LETTER I
- # <circle> 0049
-24BF CIRCLED LATIN CAPITAL LETTER J
- # <circle> 004A
-24C0 CIRCLED LATIN CAPITAL LETTER K
- # <circle> 004B
-24C1 CIRCLED LATIN CAPITAL LETTER L
- # <circle> 004C
-24C2 CIRCLED LATIN CAPITAL LETTER M
- # <circle> 004D
-24C3 CIRCLED LATIN CAPITAL LETTER N
- # <circle> 004E
-24C4 CIRCLED LATIN CAPITAL LETTER O
- # <circle> 004F
-24C5 CIRCLED LATIN CAPITAL LETTER P
- x (sound recording copyright - 2117)
- # <circle> 0050
-24C6 CIRCLED LATIN CAPITAL LETTER Q
- # <circle> 0051
-24C7 CIRCLED LATIN CAPITAL LETTER R
- x (registered sign - 00AE)
- # <circle> 0052
-24C8 CIRCLED LATIN CAPITAL LETTER S
- # <circle> 0053
-24C9 CIRCLED LATIN CAPITAL LETTER T
- # <circle> 0054
-24CA CIRCLED LATIN CAPITAL LETTER U
- # <circle> 0055
-24CB CIRCLED LATIN CAPITAL LETTER V
- # <circle> 0056
-24CC CIRCLED LATIN CAPITAL LETTER W
- # <circle> 0057
-24CD CIRCLED LATIN CAPITAL LETTER X
- # <circle> 0058
-24CE CIRCLED LATIN CAPITAL LETTER Y
- # <circle> 0059
-24CF CIRCLED LATIN CAPITAL LETTER Z
- # <circle> 005A
-24D0 CIRCLED LATIN SMALL LETTER A
- # <circle> 0061
-24D1 CIRCLED LATIN SMALL LETTER B
- # <circle> 0062
-24D2 CIRCLED LATIN SMALL LETTER C
- # <circle> 0063
-24D3 CIRCLED LATIN SMALL LETTER D
- # <circle> 0064
-24D4 CIRCLED LATIN SMALL LETTER E
- # <circle> 0065
-24D5 CIRCLED LATIN SMALL LETTER F
- # <circle> 0066
-24D6 CIRCLED LATIN SMALL LETTER G
- # <circle> 0067
-24D7 CIRCLED LATIN SMALL LETTER H
- # <circle> 0068
-24D8 CIRCLED LATIN SMALL LETTER I
- # <circle> 0069
-24D9 CIRCLED LATIN SMALL LETTER J
- # <circle> 006A
-24DA CIRCLED LATIN SMALL LETTER K
- # <circle> 006B
-24DB CIRCLED LATIN SMALL LETTER L
- # <circle> 006C
-24DC CIRCLED LATIN SMALL LETTER M
- # <circle> 006D
-24DD CIRCLED LATIN SMALL LETTER N
- # <circle> 006E
-24DE CIRCLED LATIN SMALL LETTER O
- # <circle> 006F
-24DF CIRCLED LATIN SMALL LETTER P
- # <circle> 0070
-24E0 CIRCLED LATIN SMALL LETTER Q
- # <circle> 0071
-24E1 CIRCLED LATIN SMALL LETTER R
- # <circle> 0072
-24E2 CIRCLED LATIN SMALL LETTER S
- # <circle> 0073
-24E3 CIRCLED LATIN SMALL LETTER T
- # <circle> 0074
-24E4 CIRCLED LATIN SMALL LETTER U
- # <circle> 0075
-24E5 CIRCLED LATIN SMALL LETTER V
- # <circle> 0076
-24E6 CIRCLED LATIN SMALL LETTER W
- # <circle> 0077
-24E7 CIRCLED LATIN SMALL LETTER X
- # <circle> 0078
-24E8 CIRCLED LATIN SMALL LETTER Y
- # <circle> 0079
-24E9 CIRCLED LATIN SMALL LETTER Z
- # <circle> 007A
-@ Additional circled number
-24EA CIRCLED DIGIT ZERO
- # <circle> 0030
-@ White on black circled numbers
-24EB NEGATIVE CIRCLED NUMBER ELEVEN
-24EC NEGATIVE CIRCLED NUMBER TWELVE
-24ED NEGATIVE CIRCLED NUMBER THIRTEEN
-24EE NEGATIVE CIRCLED NUMBER FOURTEEN
-24EF NEGATIVE CIRCLED NUMBER FIFTEEN
-24F0 NEGATIVE CIRCLED NUMBER SIXTEEN
-24F1 NEGATIVE CIRCLED NUMBER SEVENTEEN
-24F2 NEGATIVE CIRCLED NUMBER EIGHTEEN
-24F3 NEGATIVE CIRCLED NUMBER NINETEEN
-24F4 NEGATIVE CIRCLED NUMBER TWENTY
-@ Double circled numbers
-24F5 DOUBLE CIRCLED DIGIT ONE
-24F6 DOUBLE CIRCLED DIGIT TWO
-24F7 DOUBLE CIRCLED DIGIT THREE
-24F8 DOUBLE CIRCLED DIGIT FOUR
-24F9 DOUBLE CIRCLED DIGIT FIVE
-24FA DOUBLE CIRCLED DIGIT SIX
-24FB DOUBLE CIRCLED DIGIT SEVEN
-24FC DOUBLE CIRCLED DIGIT EIGHT
-24FD DOUBLE CIRCLED DIGIT NINE
-24FE DOUBLE CIRCLED NUMBER TEN
-@ Additional white on black circled number
-24FF NEGATIVE CIRCLED DIGIT ZERO
- x (dingbat negative circled digit one - 2776)
-@@ 2500 Box Drawing 257F
-@ Form and chart components
-2500 BOX DRAWINGS LIGHT HORIZONTAL
- = Videotex Mosaic DG 15
-2501 BOX DRAWINGS HEAVY HORIZONTAL
-2502 BOX DRAWINGS LIGHT VERTICAL
- = Videotex Mosaic DG 14
-2503 BOX DRAWINGS HEAVY VERTICAL
-2504 BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505 BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506 BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507 BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508 BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509 BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C BOX DRAWINGS LIGHT DOWN AND RIGHT
- = Videotex Mosaic DG 16
-250D BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510 BOX DRAWINGS LIGHT DOWN AND LEFT
- = Videotex Mosaic DG 17
-2511 BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512 BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513 BOX DRAWINGS HEAVY DOWN AND LEFT
-2514 BOX DRAWINGS LIGHT UP AND RIGHT
- = Videotex Mosaic DG 18
-2515 BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516 BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517 BOX DRAWINGS HEAVY UP AND RIGHT
-2518 BOX DRAWINGS LIGHT UP AND LEFT
- = Videotex Mosaic DG 19
-2519 BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B BOX DRAWINGS HEAVY UP AND LEFT
-251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- = Videotex Mosaic DG 20
-251D BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
- = Videotex Mosaic DG 03
-251E BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521 BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522 BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
- = Videotex Mosaic DG 21
-2525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
- = Videotex Mosaic DG 04
-2526 BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527 BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529 BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- = Videotex Mosaic DG 22
-252D BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
- = Videotex Mosaic DG 02
-2530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531 BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532 BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
- = Videotex Mosaic DG 23
-2535 BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536 BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
- = Videotex Mosaic DG 01
-2538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539 BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- = Videotex Mosaic DG 24
-253D BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
- = Videotex Mosaic DG 13
-2540 BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541 BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543 BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544 BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545 BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546 BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547 BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548 BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549 BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550 BOX DRAWINGS DOUBLE HORIZONTAL
-2551 BOX DRAWINGS DOUBLE VERTICAL
-2552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557 BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A BOX DRAWINGS DOUBLE UP AND RIGHT
-255B BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D BOX DRAWINGS DOUBLE UP AND LEFT
-255E BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570 BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571 BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572 BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573 BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574 BOX DRAWINGS LIGHT LEFT
-2575 BOX DRAWINGS LIGHT UP
-2576 BOX DRAWINGS LIGHT RIGHT
-2577 BOX DRAWINGS LIGHT DOWN
-2578 BOX DRAWINGS HEAVY LEFT
-2579 BOX DRAWINGS HEAVY UP
-257A BOX DRAWINGS HEAVY RIGHT
-257B BOX DRAWINGS HEAVY DOWN
-257C BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-@@ 2580 Block Elements 259F
-@ Block elements
-2580 UPPER HALF BLOCK
-2581 LOWER ONE EIGHTH BLOCK
-2582 LOWER ONE QUARTER BLOCK
-2583 LOWER THREE EIGHTHS BLOCK
-2584 LOWER HALF BLOCK
-2585 LOWER FIVE EIGHTHS BLOCK
-2586 LOWER THREE QUARTERS BLOCK
-2587 LOWER SEVEN EIGHTHS BLOCK
-2588 FULL BLOCK
- = solid
- x (black square - 25A0)
-2589 LEFT SEVEN EIGHTHS BLOCK
-258A LEFT THREE QUARTERS BLOCK
-258B LEFT FIVE EIGHTHS BLOCK
-258C LEFT HALF BLOCK
-258D LEFT THREE EIGHTHS BLOCK
-258E LEFT ONE QUARTER BLOCK
-258F LEFT ONE EIGHTH BLOCK
-2590 RIGHT HALF BLOCK
-@ Shade characters
-2591 LIGHT SHADE
- * 25%
-2592 MEDIUM SHADE
- * 50%
-2593 DARK SHADE
- * 75%
-@ Block elements
-2594 UPPER ONE EIGHTH BLOCK
-2595 RIGHT ONE EIGHTH BLOCK
-@ Terminal graphic characters
-2596 QUADRANT LOWER LEFT
-2597 QUADRANT LOWER RIGHT
-2598 QUADRANT UPPER LEFT
-2599 QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A QUADRANT UPPER LEFT AND LOWER RIGHT
-259B QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D QUADRANT UPPER RIGHT
-259E QUADRANT UPPER RIGHT AND LOWER LEFT
-259F QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-@@ 25A0 Geometric Shapes 25FF
-@ Geometric shapes
-@+ Other geometric shapes complementing this set are found in the Miscellaneous Symbols and Arrows block.
-25A0 BLACK SQUARE
- = moding mark (in ideographic text)
- x (full block - 2588)
- x (black large square - 2B1B)
-25A1 WHITE SQUARE
- = quadrature
- * may be used to represent a missing ideograph
- x (combining enclosing square - 20DE)
- x (ballot box - 2610)
- x (white large square - 2B1C)
- x (geta mark - 3013)
-25A2 WHITE SQUARE WITH ROUNDED CORNERS
-25A3 WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4 SQUARE WITH HORIZONTAL FILL
-25A5 SQUARE WITH VERTICAL FILL
-25A6 SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7 SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8 SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9 SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA BLACK SMALL SQUARE
- x (black very small square - 2B1D)
-25AB WHITE SMALL SQUARE
- x (white very small square - 2B1E)
-25AC BLACK RECTANGLE
-25AD WHITE RECTANGLE
-25AE BLACK VERTICAL RECTANGLE
- = histogram marker
- x (end of proof - 220E)
-25AF WHITE VERTICAL RECTANGLE
- x (apl functional symbol squish quad - 2337)
- x (apl functional symbol quad - 2395)
-25B0 BLACK PARALLELOGRAM
-25B1 WHITE PARALLELOGRAM
-25B2 BLACK UP-POINTING TRIANGLE
-25B3 WHITE UP-POINTING TRIANGLE
- = trine
- x (combining enclosing upward pointing triangle - 20E4)
- x (increment - 2206)
-25B4 BLACK UP-POINTING SMALL TRIANGLE
-25B5 WHITE UP-POINTING SMALL TRIANGLE
-25B6 BLACK RIGHT-POINTING TRIANGLE
-25B7 WHITE RIGHT-POINTING TRIANGLE
- = z notation range restriction
-25B8 BLACK RIGHT-POINTING SMALL TRIANGLE
- x (triangular bullet - 2023)
-25B9 WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA BLACK RIGHT-POINTING POINTER
-25BB WHITE RIGHT-POINTING POINTER
- = forward arrow indicator
- x (contains as normal subgroup - 22B3)
-25BC BLACK DOWN-POINTING TRIANGLE
-25BD WHITE DOWN-POINTING TRIANGLE
- = Hamilton operator
- x (nabla - 2207)
- x (heavy white down-pointing triangle - 26DB)
-25BE BLACK DOWN-POINTING SMALL TRIANGLE
-25BF WHITE DOWN-POINTING SMALL TRIANGLE
-25C0 BLACK LEFT-POINTING TRIANGLE
-25C1 WHITE LEFT-POINTING TRIANGLE
- = z notation domain restriction
-25C2 BLACK LEFT-POINTING SMALL TRIANGLE
-25C3 WHITE LEFT-POINTING SMALL TRIANGLE
-25C4 BLACK LEFT-POINTING POINTER
-25C5 WHITE LEFT-POINTING POINTER
- = backward arrow indicator
- x (normal subgroup of - 22B2)
-25C6 BLACK DIAMOND
- x (black diamond suit - 2666)
-25C7 WHITE DIAMOND
- x (combining enclosing diamond - 20DF)
- x (diamond operator - 22C4)
- x (white diamond suit - 2662)
-25C8 WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9 FISHEYE
- = tainome (Japanese, a kind of bullet)
-25CA LOZENGE
- x (white diamond suit - 2662)
-25CB WHITE CIRCLE
- x (combining enclosing circle - 20DD)
- x (large circle - 25EF)
- x (heavy circle - 2B58)
- x (ideographic number zero - 3007)
-25CC DOTTED CIRCLE
- * note that the reference glyph for this character is intentionally larger than the dotted circle glyph used to indicate combining characters in this standard; see, for example, 0300
-25CD CIRCLE WITH VERTICAL FILL
-25CE BULLSEYE
- x (circled ring operator - 229A)
- x (heavy circle with circle inside - 2B57)
-25CF BLACK CIRCLE
-25D0 CIRCLE WITH LEFT HALF BLACK
-25D1 CIRCLE WITH RIGHT HALF BLACK
-25D2 CIRCLE WITH LOWER HALF BLACK
-25D3 CIRCLE WITH UPPER HALF BLACK
-25D4 CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5 CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6 LEFT HALF BLACK CIRCLE
-25D7 RIGHT HALF BLACK CIRCLE
-25D8 INVERSE BULLET
- x (bullet - 2022)
- x (white bullet - 25E6)
-25D9 INVERSE WHITE CIRCLE
-25DA UPPER HALF INVERSE WHITE CIRCLE
-25DB LOWER HALF INVERSE WHITE CIRCLE
-25DC UPPER LEFT QUADRANT CIRCULAR ARC
-25DD UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF LOWER LEFT QUADRANT CIRCULAR ARC
-25E0 UPPER HALF CIRCLE
- x (arc - 2312)
-25E1 LOWER HALF CIRCLE
-25E2 BLACK LOWER RIGHT TRIANGLE
-25E3 BLACK LOWER LEFT TRIANGLE
-25E4 BLACK UPPER LEFT TRIANGLE
-25E5 BLACK UPPER RIGHT TRIANGLE
-25E6 WHITE BULLET
- x (bullet - 2022)
- x (ring operator - 2218)
- x (inverse bullet - 25D8)
-25E7 SQUARE WITH LEFT HALF BLACK
- x (square with top half black - 2B12)
-25E8 SQUARE WITH RIGHT HALF BLACK
-25E9 SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC WHITE UP-POINTING TRIANGLE WITH DOT
-25ED UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF LARGE CIRCLE
- x (combining enclosing circle - 20DD)
- x (white circle - 25CB)
- x (black large circle - 2B24)
- x (heavy large circle - 2B55)
- x (ideographic number zero - 3007)
-@ Control code graphics
-25F0 WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1 WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2 WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3 WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4 WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5 WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6 WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7 WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-@ Geometric shapes
-25F8 UPPER LEFT TRIANGLE
-25F9 UPPER RIGHT TRIANGLE
-25FA LOWER LEFT TRIANGLE
- x (right triangle - 22BF)
-25FB WHITE MEDIUM SQUARE
- = always (modal operator)
- x (white square - 25A1)
-25FC BLACK MEDIUM SQUARE
- x (black square - 25A0)
-25FD WHITE MEDIUM SMALL SQUARE
- x (white small square - 25AB)
-25FE BLACK MEDIUM SMALL SQUARE
- x (black small square - 25AA)
-25FF LOWER RIGHT TRIANGLE
- x (right triangle - 22BF)
-@@ 2600 Miscellaneous Symbols 26FF
-@@+
-@ Weather and astrological symbols
-2600 BLACK SUN WITH RAYS
- = clear weather
- x (sun - 2609)
-2601 CLOUD
- = cloudy weather
-2602 UMBRELLA
- = rainy weather
-2603 SNOWMAN
- = snowy weather
-2604 COMET
-2605 BLACK STAR
- x (star operator - 22C6)
-2606 WHITE STAR
- x (stress outlined white star - 2729)
-2607 LIGHTNING
-2608 THUNDERSTORM
-2609 SUN
- x (circled dot operator - 2299)
- x (black sun with rays - 2600)
- x (white sun with rays - 263C)
-260A ASCENDING NODE
-260B DESCENDING NODE
-260C CONJUNCTION
-260D OPPOSITION
-@ Miscellaneous symbols
-260E BLACK TELEPHONE
- x (telephone sign - 2121)
- x (telephone location sign - 2706)
-260F WHITE TELEPHONE
-2610 BALLOT BOX
- x (white square - 25A1)
-2611 BALLOT BOX WITH CHECK
-2612 BALLOT BOX WITH X
- x (squared times - 22A0)
-2613 SALTIRE
- = St. Andrew's Cross
- x (ballot x - 2717)
-@ Weather symbol
-2614 UMBRELLA WITH RAIN DROPS
- = showery weather
-@ Miscellaneous symbol
-2615 HOT BEVERAGE
- = tea or coffee, depending on locale
- * can be used to indicate a wait
- x (watch - 231A)
- x (hourglass - 231B)
-@ Japanese chess symbols
-2616 WHITE SHOGI PIECE
-2617 BLACK SHOGI PIECE
-@ Miscellaneous symbols
-2618 SHAMROCK
-2619 REVERSED ROTATED FLORAL HEART BULLET
- * a binding signature mark
- x (rotated floral heart bullet - 2767)
-@ Pointing hand symbols
-261A BLACK LEFT POINTING INDEX
-261B BLACK RIGHT POINTING INDEX
-261C WHITE LEFT POINTING INDEX
-261D WHITE UP POINTING INDEX
-261E WHITE RIGHT POINTING INDEX
- = fist (typographic term)
-261F WHITE DOWN POINTING INDEX
-@ Warning signs
-2620 SKULL AND CROSSBONES
- = poison
-2621 CAUTION SIGN
-2622 RADIOACTIVE SIGN
-2623 BIOHAZARD SIGN
-@ Medical and healing symbols
-2624 CADUCEUS
- x (staff of aesculapius - 2695)
-2625 ANKH
-@ Religious and political symbols
-2626 ORTHODOX CROSS
-2627 CHI RHO
- = Constantine's cross, Christogram
- x (coptic symbol khi ro - 2CE9)
-2628 CROSS OF LORRAINE
-2629 CROSS OF JERUSALEM
-262A STAR AND CRESCENT
-262B FARSI SYMBOL
- = symbol of iran (1.0)
-262C ADI SHAKTI
- = Gurmukhi khanda
-262D HAMMER AND SICKLE
-262E PEACE SYMBOL
-262F YIN YANG
- x (tibetan symbol nor bu nyis -khyil - 0FCA)
-@ Yijing trigram symbols
-2630 TRIGRAM FOR HEAVEN
- = qian2
-2631 TRIGRAM FOR LAKE
- = dui4
-2632 TRIGRAM FOR FIRE
- = li2
-2633 TRIGRAM FOR THUNDER
- = zhen4
-2634 TRIGRAM FOR WIND
- = xun4
-2635 TRIGRAM FOR WATER
- = kan3
-2636 TRIGRAM FOR MOUNTAIN
- = gen4
-2637 TRIGRAM FOR EARTH
- = kun1
-@ Miscellaneous symbols
-2638 WHEEL OF DHARMA
- x (helm symbol - 2388)
-2639 WHITE FROWNING FACE
-263A WHITE SMILING FACE
- = have a nice day!
-263B BLACK SMILING FACE
-263C WHITE SUN WITH RAYS
- = compass
- x (sun - 2609)
-@ Astrological symbols
-263D FIRST QUARTER MOON
-263E LAST QUARTER MOON
-263F MERCURY
-2640 FEMALE SIGN
- = Venus
-2641 EARTH
- x (circled plus - 2295)
-2642 MALE SIGN
- = Mars
-2643 JUPITER
-2644 SATURN
-2645 URANUS
-2646 NEPTUNE
-2647 PLUTO
-@ Zodiacal symbols
-2648 ARIES
-2649 TAURUS
-264A GEMINI
-264B CANCER
-264C LEO
-264D VIRGO
- = minim (alternate glyph)
-264E LIBRA
-264F SCORPIUS
- = scorpio
- = minim, drop
-2650 SAGITTARIUS
-2651 CAPRICORN
-2652 AQUARIUS
-2653 PISCES
-@ Chess symbols
-2654 WHITE CHESS KING
-2655 WHITE CHESS QUEEN
-2656 WHITE CHESS ROOK
-2657 WHITE CHESS BISHOP
-2658 WHITE CHESS KNIGHT
-2659 WHITE CHESS PAWN
-265A BLACK CHESS KING
-265B BLACK CHESS QUEEN
-265C BLACK CHESS ROOK
-265D BLACK CHESS BISHOP
-265E BLACK CHESS KNIGHT
-265F BLACK CHESS PAWN
-@ Playing card symbols
-2660 BLACK SPADE SUIT
-2661 WHITE HEART SUIT
-2662 WHITE DIAMOND SUIT
- x (white diamond - 25C7)
- x (lozenge - 25CA)
-2663 BLACK CLUB SUIT
- x (shamrock - 2618)
-2664 WHITE SPADE SUIT
-2665 BLACK HEART SUIT
- = valentine
- x (heavy black heart - 2764)
-2666 BLACK DIAMOND SUIT
- x (black diamond - 25C6)
-2667 WHITE CLUB SUIT
-@ Miscellaneous symbol
-2668 HOT SPRINGS
-@ Musical symbols
-2669 QUARTER NOTE
-266A EIGHTH NOTE
-266B BEAMED EIGHTH NOTES
-266C BEAMED SIXTEENTH NOTES
-266D MUSIC FLAT SIGN
-266E MUSIC NATURAL SIGN
-266F MUSIC SHARP SIGN
- = z notation infix bag count
- x (number sign - 0023)
-@ Syriac cross symbols
-@+ These symbols are used in liturgical texts of Syriac-speaking churches.
-2670 WEST SYRIAC CROSS
-2671 EAST SYRIAC CROSS
-@ Recycling symbols
-2672 UNIVERSAL RECYCLING SYMBOL
- * used as generic symbol for recycling or to indicate that material is recyclable
-2673 RECYCLING SYMBOL FOR TYPE-1 PLASTICS
- * polyethylene terephthalate
-2674 RECYCLING SYMBOL FOR TYPE-2 PLASTICS
- * high density polyethylene
-2675 RECYCLING SYMBOL FOR TYPE-3 PLASTICS
- * vinyl, polyvinyl chloride
-2676 RECYCLING SYMBOL FOR TYPE-4 PLASTICS
- * low density polyethylene
-2677 RECYCLING SYMBOL FOR TYPE-5 PLASTICS
- * polypropylene
-2678 RECYCLING SYMBOL FOR TYPE-6 PLASTICS
- * polystyrene
-2679 RECYCLING SYMBOL FOR TYPE-7 PLASTICS
- * other plastics
-267A RECYCLING SYMBOL FOR GENERIC MATERIALS
- * used together with other text and labels to indicate the type of material to be recycled
-267B BLACK UNIVERSAL RECYCLING SYMBOL
-267C RECYCLED PAPER SYMBOL
- * used to indicate 100% recycled paper content
-267D PARTIALLY-RECYCLED PAPER SYMBOL
- * percentage of recycled paper content indicated in overlay or next to this symbol
-@ Miscellaneous symbols
-267E PERMANENT PAPER SIGN
-267F WHEELCHAIR SYMBOL
-@ Dice
-2680 DIE FACE-1
-2681 DIE FACE-2
-2682 DIE FACE-3
-2683 DIE FACE-4
-2684 DIE FACE-5
-2685 DIE FACE-6
-@ Go markers
-2686 WHITE CIRCLE WITH DOT RIGHT
-2687 WHITE CIRCLE WITH TWO DOTS
-2688 BLACK CIRCLE WITH WHITE DOT RIGHT
-2689 BLACK CIRCLE WITH TWO WHITE DOTS
-@ Yijing monogram and digram symbols
-@+ These form a subset of the larger collection found in the Tai Xuan Jing Symbols block.
-268A MONOGRAM FOR YANG
-268B MONOGRAM FOR YIN
-268C DIGRAM FOR GREATER YANG
-268D DIGRAM FOR LESSER YIN
-268E DIGRAM FOR LESSER YANG
-268F DIGRAM FOR GREATER YIN
-@ Dictionary and map symbols
-2690 WHITE FLAG
-2691 BLACK FLAG
-2692 HAMMER AND PICK
- = mining, working day (in timetables)
-2693 ANCHOR
- = nautical term, harbor (on maps)
-2694 CROSSED SWORDS
- = military term, battleground (on maps), killed in action
-2695 STAFF OF AESCULAPIUS
- = medical term
- * both inclined or upright renderings of this symbol are common
- x (caduceus - 2624)
-2696 SCALES
- = legal term, jurisprudence
-2697 ALEMBIC
- = chemical term, chemistry
-2698 FLOWER
- = botanical term
- x (flower punctuation mark - 2055)
- x (shamrock - 2618)
- x (white florette - 2740)
-2699 GEAR
- = technology, tools
-269A STAFF OF HERMES
- * signifies a commercial term or commerce
- * glyph shows a heraldic staff with a winged wheel
-269B ATOM SYMBOL
- = nuclear installation (on maps)
-@ Miscellaneous symbols
-269C FLEUR-DE-LIS
-269D OUTLINED WHITE STAR
- * alternative form of the interlaced pentagram (a symbol of Morocco)
-@ Symbols for closed captioning from ARIB STD B24
-269E THREE LINES CONVERGING RIGHT
- = someone speaking
-269F THREE LINES CONVERGING LEFT
- = background speaking
-@ Miscellaneous symbols
-26A0 WARNING SIGN
-26A1 HIGH VOLTAGE SIGN
- = thunder
-@ Gender symbols
-26A2 DOUBLED FEMALE SIGN
- = lesbianism
-26A3 DOUBLED MALE SIGN
- * a glyph variant has the two circles on the same line
- = male homosexuality
-26A4 INTERLOCKED FEMALE AND MALE SIGN
- * a glyph variant has the two circles on the same line
- = bisexuality
-26A5 MALE AND FEMALE SIGN
- = transgendered sexuality
- = hermaphrodite (in entomology)
-26A6 MALE WITH STROKE SIGN
- = transgendered sexuality
-26A7 MALE WITH STROKE AND MALE AND FEMALE SIGN
- = transgendered sexuality
-26A8 VERTICAL MALE WITH STROKE SIGN
- = ferrous iron sulphate (alchemy and older chemistry)
-26A9 HORIZONTAL MALE WITH STROKE SIGN
- = magnesium (alchemy and older chemistry)
-@ Circles
-26AA MEDIUM WHITE CIRCLE
- = asexuality, sexless, genderless
- = engaged, betrothed
- * base for male or female sign
-26AB MEDIUM BLACK CIRCLE
- * UI symbol for record function
-26AC MEDIUM SMALL WHITE CIRCLE
- = engaged, betrothed (genealogy)
- * can represent wedding ring
-@ Genealogical symbols
-26AD MARRIAGE SYMBOL
- x (infinity - 221E)
-26AE DIVORCE SYMBOL
- x (infinity negated with vertical bar - 29DE)
-26AF UNMARRIED PARTNERSHIP SYMBOL
- x (double-ended multimap - 29DF)
-26B0 COFFIN
- = buried (genealogy)
- x (white rectangle - 25AD)
-26B1 FUNERAL URN
- = cremated (genealogy)
-@ Gender symbol
-26B2 NEUTER
-@ Astrological signs
-26B3 CERES
-26B4 PALLAS
-26B5 JUNO
-26B6 VESTA
-26B7 CHIRON
-26B8 BLACK MOON LILITH
-26B9 SEXTILE
- x (asterisk - 002A)
-26BA SEMISEXTILE
- x (xor - 22BB)
-26BB QUINCUNX
- x (nand - 22BC)
-26BC SESQUIQUADRATE
-@ Sports symbols
-26BD SOCCER BALL
-26BE BASEBALL
-@ Miscellaneous symbol from ARIB STD B24
-26BF SQUARED KEY
- = parental lock
-@ Symbols for draughts and checkers
-26C0 WHITE DRAUGHTS MAN
-26C1 WHITE DRAUGHTS KING
-26C2 BLACK DRAUGHTS MAN
-26C3 BLACK DRAUGHTS KING
-@ Weather symbols from ARIB STD B24
-26C4 SNOWMAN WITHOUT SNOW
- = light snow
-26C5 SUN BEHIND CLOUD
- = partly cloudy
-26C6 RAIN
- = rainy weather
-26C7 BLACK SNOWMAN
- = heavy snow
-26C8 THUNDER CLOUD AND RAIN
- = thunderstorm
-@ Game symbols from ARIB STD B24
-26C9 TURNED WHITE SHOGI PIECE
-26CA TURNED BLACK SHOGI PIECE
-26CB WHITE DIAMOND IN SQUARE
- x (apl functional symbol quad diamond - 233A)
-@ Traffic signs from ARIB STD B24
-26CC CROSSING LANES
- = accident
- x (falling diagonal crossing rising diagonal - 292C)
-26CD DISABLED CAR
-26CF PICK
- = under construction
-26D0 CAR SLIDING
- = icy road
-26D1 HELMET WITH WHITE CROSS
- = maintenance
-26D2 CIRCLED CROSSING LANES
- = road closed
-26D3 CHAINS
- = tyre chains required
-26D4 NO ENTRY
-26D5 ALTERNATE ONE-WAY LEFT WAY TRAFFIC
- * left side traffic
-26D6 BLACK TWO-WAY LEFT WAY TRAFFIC
- * left side traffic
-26D7 WHITE TWO-WAY LEFT WAY TRAFFIC
- * left side traffic
-26D8 BLACK LEFT LANE MERGE
- * left side traffic
-26D9 WHITE LEFT LANE MERGE
- * left side traffic
-26DA DRIVE SLOW SIGN
-26DB HEAVY WHITE DOWN-POINTING TRIANGLE
- = drive slow
- x (white down-pointing triangle - 25BD)
-26DC LEFT CLOSED ENTRY
-26DD SQUARED SALTIRE
- = closed entry
- x (squared times - 22A0)
-26DE FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
- = closed to large vehicles
-26DF BLACK TRUCK
- = black lorry
- = closed to large vehicles, alternate
-26E0 RESTRICTED LEFT ENTRY-1
-26E1 RESTRICTED LEFT ENTRY-2
-@ Dictionary and map symbols from ARIB STD B24
-26E3 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
- = public office
-26E8 BLACK CROSS ON SHIELD
- = hospital
-26E9 SHINTO SHRINE
- = torii
-26EA CHURCH
-26EB CASTLE
-26EC HISTORIC SITE
-26ED GEAR WITHOUT HUB
- = factory
- x (gear - 2699)
-26EE GEAR WITH HANDLES
- = power plant, power substation
-26EF MAP SYMBOL FOR LIGHTHOUSE
-26F0 MOUNTAIN
-26F1 UMBRELLA ON GROUND
- = bathing beach
-26F2 FOUNTAIN
- = park
-26F3 FLAG IN HOLE
- = golf course
-26F4 FERRY
- = ferry boat terminal
-26F5 SAILBOAT
- = marina or yacht harbour
-26F6 SQUARE FOUR CORNERS
- = intersection
-26F7 SKIER
- = ski resort
-26F8 ICE SKATE
- = ice skating rink
-26F9 PERSON WITH BALL
- = track and field, gymnasium
-26FA TENT
- = camping site
-26FB JAPANESE BANK SYMBOL
-26FC HEADSTONE GRAVEYARD SYMBOL
- = graveyard, memorial park, cemetery
-26FD FUEL PUMP
- = petrol station, gas station
-26FE CUP ON BLACK SQUARE
- = drive-in restaurant
-26FF WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
- = Japanese self-defence force site
-@@ 2700 Dingbats 27BF
-@+ ITC Zapf dingbats series 100. Some of the ITC Zapf dingbats have been unified with geometric shape characters. Gaps in the chart have subsequently been filled with other dingbat-like symbols.
-@ Miscellaneous
-2701 UPPER BLADE SCISSORS
-2702 BLACK SCISSORS
-2703 LOWER BLADE SCISSORS
-2704 WHITE SCISSORS
-2705 <reserved>
- x (black telephone - 260E)
-2706 TELEPHONE LOCATION SIGN
- x (telephone sign - 2121)
-2707 TAPE DRIVE
-2708 AIRPLANE
-2709 ENVELOPE
-270A <reserved>
- x (black right pointing index - 261B)
-270B <reserved>
- x (white right pointing index - 261E)
-270C VICTORY HAND
-270D WRITING HAND
-270E LOWER RIGHT PENCIL
-270F PENCIL
-2710 UPPER RIGHT PENCIL
-2711 WHITE NIB
-2712 BLACK NIB
-2713 CHECK MARK
- x (square root - 221A)
-2714 HEAVY CHECK MARK
-2715 MULTIPLICATION X
- x (multiplication sign - 00D7)
- x (box drawings light diagonal cross - 2573)
-2716 HEAVY MULTIPLICATION X
-2717 BALLOT X
- x (saltire - 2613)
-2718 HEAVY BALLOT X
-@ Crosses
-2719 OUTLINED GREEK CROSS
-271A HEAVY GREEK CROSS
-271B OPEN CENTRE CROSS
-271C HEAVY OPEN CENTRE CROSS
-271D LATIN CROSS
-271E SHADOWED WHITE LATIN CROSS
-271F OUTLINED LATIN CROSS
-2720 MALTESE CROSS
- * Historically, the Maltese cross took many forms; the shape shown in the Zapf Dingbats is similar to one known as the Cross Formée.
-@ Stars, asterisks and snowflakes
-2721 STAR OF DAVID
-2722 FOUR TEARDROP-SPOKED ASTERISK
-2723 FOUR BALLOON-SPOKED ASTERISK
-2724 HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725 FOUR CLUB-SPOKED ASTERISK
-2726 BLACK FOUR POINTED STAR
-2727 WHITE FOUR POINTED STAR
-2728 <reserved>
- x (black star - 2605)
-2729 STRESS OUTLINED WHITE STAR
- x (white star - 2606)
-272A CIRCLED WHITE STAR
-272B OPEN CENTRE BLACK STAR
-272C BLACK CENTRE WHITE STAR
-272D OUTLINED BLACK STAR
-272E HEAVY OUTLINED BLACK STAR
-272F PINWHEEL STAR
-2730 SHADOWED WHITE STAR
-2731 HEAVY ASTERISK
- x (asterisk - 002A)
-2732 OPEN CENTRE ASTERISK
-2733 EIGHT SPOKED ASTERISK
-2734 EIGHT POINTED BLACK STAR
-2735 EIGHT POINTED PINWHEEL STAR
-2736 SIX POINTED BLACK STAR
- = sextile
-2737 EIGHT POINTED RECTILINEAR BLACK STAR
-2738 HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739 TWELVE POINTED BLACK STAR
-273A SIXTEEN POINTED ASTERISK
- = starburst
-273B TEARDROP-SPOKED ASTERISK
-273C OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D HEAVY TEARDROP-SPOKED ASTERISK
-273E SIX PETALLED BLACK AND WHITE FLORETTE
-273F BLACK FLORETTE
-2740 WHITE FLORETTE
-2741 EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742 CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744 SNOWFLAKE
-2745 TIGHT TRIFOLIATE SNOWFLAKE
-2746 HEAVY CHEVRON SNOWFLAKE
-2747 SPARKLE
-2748 HEAVY SPARKLE
-2749 BALLOON-SPOKED ASTERISK
- = jack
-274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
- = turbofan
-@ Miscellaneous
-274C <reserved>
- x (black circle - 25CF)
-274D SHADOWED WHITE CIRCLE
-274E <reserved>
- x (black square - 25A0)
-274F LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751 LOWER RIGHT SHADOWED WHITE SQUARE
-2752 UPPER RIGHT SHADOWED WHITE SQUARE
-2753 <reserved>
- x (black up-pointing triangle - 25B2)
-2754 <reserved>
- x (black down-pointing triangle - 25BC)
-2755 <reserved>
- x (black diamond - 25C6)
-2756 BLACK DIAMOND MINUS WHITE X
-2757 HEAVY EXCLAMATION MARK SYMBOL
- = obstacles on the road, ARIB STD B24
-2758 LIGHT VERTICAL BAR
- x (vertical line - 007C)
-2759 MEDIUM VERTICAL BAR
-275A HEAVY VERTICAL BAR
-@ Punctuation ornaments
-275B HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
- x (left single quotation mark - 2018)
-275C HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
- x (right single quotation mark - 2019)
-275D HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
- x (left double quotation mark - 201C)
-275E HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
- x (right double quotation mark - 201D)
-2761 CURVED STEM PARAGRAPH SIGN ORNAMENT
- x (pilcrow sign - 00B6)
-2762 HEAVY EXCLAMATION MARK ORNAMENT
- x (exclamation mark - 0021)
-2763 HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764 HEAVY BLACK HEART
- x (black heart suit - 2665)
-2765 ROTATED HEAVY BLACK HEART BULLET
-2766 FLORAL HEART
- = Aldus leaf
-2767 ROTATED FLORAL HEART BULLET
- = hedera, ivy leaf
- x (reversed rotated floral heart bullet - 2619)
-@ Ornamental brackets
-2768 MEDIUM LEFT PARENTHESIS ORNAMENT
- x (left parenthesis - 0028)
-2769 MEDIUM RIGHT PARENTHESIS ORNAMENT
- x (right parenthesis - 0029)
-276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
- x (left-pointing angle bracket - 2329)
-276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
- x (right-pointing angle bracket - 232A)
-276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
- x (single left-pointing angle quotation mark - 2039)
-276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
- x (single right-pointing angle quotation mark - 203A)
-2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
- x (left tortoise shell bracket - 3014)
-2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
- x (right tortoise shell bracket - 3015)
-2774 MEDIUM LEFT CURLY BRACKET ORNAMENT
- x (left curly bracket - 007B)
-2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT
- x (right curly bracket - 007D)
-@ Dingbat circled digits
-2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
-277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-277E DINGBAT NEGATIVE CIRCLED DIGIT NINE
-277F DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-2781 DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-2782 DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-2783 DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-2784 DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-2785 DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-2786 DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2787 DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2788 DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2789 DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-278A DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-278B DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-278C DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-278D DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-278E DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-278F DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-2790 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-2791 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-2792 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-2793 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-@ Dingbat arrows
-2794 HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2795 <reserved>
- x (rightwards arrow - 2192)
-2796 <reserved>
- x (left right arrow - 2194)
-2797 <reserved>
- x (up down arrow - 2195)
-2798 HEAVY SOUTH EAST ARROW
-2799 HEAVY RIGHTWARDS ARROW
-279A HEAVY NORTH EAST ARROW
-279B DRAFTING POINT RIGHTWARDS ARROW
-279C HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D TRIANGLE-HEADED RIGHTWARDS ARROW
-279E HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0 HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1 BLACK RIGHTWARDS ARROW
- * fonts may harmonize this glyph with the style for other black arrows
- x (leftwards black arrow - 2B05)
-27A2 THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3 THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4 BLACK RIGHTWARDS ARROWHEAD
-27A5 HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6 HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7 SQUAT BLACK RIGHTWARDS ARROW
-27A8 HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9 RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3 WHITE-FEATHERED RIGHTWARDS ARROW
-27B4 BLACK-FEATHERED SOUTH EAST ARROW
-27B5 BLACK-FEATHERED RIGHTWARDS ARROW
-27B6 BLACK-FEATHERED NORTH EAST ARROW
-27B7 HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8 HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9 HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA TEARDROP-BARBED RIGHTWARDS ARROW
-27BB HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC WEDGE-TAILED RIGHTWARDS ARROW
-27BD HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE OPEN-OUTLINED RIGHTWARDS ARROW
-@@ 27C0 Miscellaneous Mathematical Symbols-A 27EF
-@ Miscellaneous symbols
-27C0 THREE DIMENSIONAL ANGLE
- * used by Euclid
-27C1 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
- * used by Euclid
-27C2 PERPENDICULAR
- = orthogonal to
- * relation, typeset with additional spacing
- x (up tack - 22A5)
-27C3 OPEN SUBSET
-27C4 OPEN SUPERSET
-27C5 LEFT S-SHAPED BAG DELIMITER
-27C6 RIGHT S-SHAPED BAG DELIMITER
-27C7 OR WITH DOT INSIDE
-27C8 REVERSE SOLIDUS PRECEDING SUBSET
-27C9 SUPERSET PRECEDING SOLIDUS
-@ Vertical line operator
-27CA VERTICAL BAR WITH HORIZONTAL STROKE
- x (parallel with horizontal stroke - 2AF2)
- x (triple vertical bar with horizontal stroke - 2AF5)
-@ Division operator
-27CC LONG DIVISION
- * graphically extends over the dividend
- x (division sign - 00F7)
- x (division slash - 2215)
- x (square root - 221A)
-@ Miscellaneous symbol
-27D0 WHITE DIAMOND WITH CENTRED DOT
-@ Operators
-27D1 AND WITH DOT
- x (logical and - 2227)
- x (intersection with dot - 2A40)
-27D2 ELEMENT OF OPENING UPWARDS
- x (element of opening downwards - 2AD9)
-27D3 LOWER RIGHT CORNER WITH DOT
- = pullback
- x (right floor - 230B)
-27D4 UPPER LEFT CORNER WITH DOT
- = pushout
- x (left ceiling - 2308)
-@ Database theory operators
-27D5 LEFT OUTER JOIN
-27D6 RIGHT OUTER JOIN
-27D7 FULL OUTER JOIN
- x (join - 2A1D)
-@ Tacks and turnstiles
-27D8 LARGE UP TACK
- x (up tack - 22A5)
-27D9 LARGE DOWN TACK
- x (down tack - 22A4)
-27DA LEFT AND RIGHT DOUBLE TURNSTILE
- x (true - 22A8)
- x (vertical bar double left turnstile - 2AE4)
-27DB LEFT AND RIGHT TACK
- x (right tack - 22A2)
-27DC LEFT MULTIMAP
- x (multimap - 22B8)
-27DD LONG RIGHT TACK
- x (right tack - 22A2)
-27DE LONG LEFT TACK
- x (left tack - 22A3)
-27DF UP TACK WITH CIRCLE ABOVE
- = radial component
- x (down tack with circle below - 2AF1)
-@ Modal logic operators
-27E0 LOZENGE DIVIDED BY HORIZONTAL RULE
- * used as form of possibility in modal logic
- x (lozenge - 25CA)
-27E1 WHITE CONCAVE-SIDED DIAMOND
- = never (modal operator)
-27E2 WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
- = was never (modal operator)
-27E3 WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
- = will never be (modal operator)
-27E4 WHITE SQUARE WITH LEFTWARDS TICK
- = was always (modal operator)
- x (white square - 25A1)
-27E5 WHITE SQUARE WITH RIGHTWARDS TICK
- = will always be (modal operator)
-@ Mathematical brackets
-27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET
- = z notation left bag bracket
- x (left white square bracket - 301A)
-27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET
- = z notation right bag bracket
- x (right white square bracket - 301B)
-27E8 MATHEMATICAL LEFT ANGLE BRACKET
- = bra
- = z notation left sequence bracket
- x (left-pointing angle bracket - 2329)
- x (left angle bracket - 3008)
-27E9 MATHEMATICAL RIGHT ANGLE BRACKET
- = ket
- = z notation right sequence bracket
- x (right-pointing angle bracket - 232A)
- x (right angle bracket - 3009)
-27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
- = z notation left chevron bracket
- x (left double angle bracket - 300A)
-27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
- = z notation right chevron bracket
- x (right double angle bracket - 300B)
-27EC MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
- x (left black tortoise shell bracket - 2997)
- x (left white tortoise shell bracket - 3018)
-27ED MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
- x (right black tortoise shell bracket - 2998)
- x (right white tortoise shell bracket - 3019)
-27EE MATHEMATICAL LEFT FLATTENED PARENTHESIS
- = lgroup
-27EF MATHEMATICAL RIGHT FLATTENED PARENTHESIS
- = rgroup
-@@ 27F0 Supplemental Arrows-A 27FF
-@ Arrows
-27F0 UPWARDS QUADRUPLE ARROW
- x (upwards triple arrow - 290A)
- x (leftwards quadruple arrow - 2B45)
-27F1 DOWNWARDS QUADRUPLE ARROW
- x (downwards triple arrow - 290B)
-27F2 ANTICLOCKWISE GAPPED CIRCLE ARROW
- x (anticlockwise open circle arrow - 21BA)
- x (anticlockwise closed circle arrow - 2940)
-27F3 CLOCKWISE GAPPED CIRCLE ARROW
- x (clockwise open circle arrow - 21BB)
- x (clockwise closed circle arrow - 2941)
-27F4 RIGHT ARROW WITH CIRCLED PLUS
- x (left arrow with circled plus - 2B32)
-@ Long arrows
-@+ The long arrows are used for mapping whereas the short forms would be used in limits. They are also needed for MathML to complete mapping to the AMSA sets.
-27F5 LONG LEFTWARDS ARROW
- x (leftwards arrow - 2190)
-27F6 LONG RIGHTWARDS ARROW
- x (rightwards arrow - 2192)
-27F7 LONG LEFT RIGHT ARROW
- x (left right arrow - 2194)
-27F8 LONG LEFTWARDS DOUBLE ARROW
- x (leftwards double arrow - 21D0)
-27F9 LONG RIGHTWARDS DOUBLE ARROW
- x (rightwards double arrow - 21D2)
-27FA LONG LEFT RIGHT DOUBLE ARROW
- x (left right double arrow - 21D4)
-27FB LONG LEFTWARDS ARROW FROM BAR
- = maps from
- x (leftwards arrow from bar - 21A4)
-27FC LONG RIGHTWARDS ARROW FROM BAR
- = maps to
- x (rightwards arrow from bar - 21A6)
-27FD LONG LEFTWARDS DOUBLE ARROW FROM BAR
- x (leftwards double arrow from bar - 2906)
-27FE LONG RIGHTWARDS DOUBLE ARROW FROM BAR
- x (rightwards double arrow from bar - 2907)
-27FF LONG RIGHTWARDS SQUIGGLE ARROW
- x (rightwards squiggle arrow - 21DD)
- x (long leftwards squiggle arrow - 2B33)
-@@ 2800 Braille Patterns 28FF
-@+ When braille patterns are punched, the filled circles shown here correspond to punch impression.
-@ Braille patterns
-2800 BRAILLE PATTERN BLANK
- * while this character is imaged as a fixed-width blank in many fonts, it does not act as a space
-2801 BRAILLE PATTERN DOTS-1
-2802 BRAILLE PATTERN DOTS-2
-2803 BRAILLE PATTERN DOTS-12
-2804 BRAILLE PATTERN DOTS-3
-2805 BRAILLE PATTERN DOTS-13
-2806 BRAILLE PATTERN DOTS-23
-2807 BRAILLE PATTERN DOTS-123
-2808 BRAILLE PATTERN DOTS-4
-2809 BRAILLE PATTERN DOTS-14
-280A BRAILLE PATTERN DOTS-24
-280B BRAILLE PATTERN DOTS-124
-280C BRAILLE PATTERN DOTS-34
-280D BRAILLE PATTERN DOTS-134
-280E BRAILLE PATTERN DOTS-234
-280F BRAILLE PATTERN DOTS-1234
-2810 BRAILLE PATTERN DOTS-5
-2811 BRAILLE PATTERN DOTS-15
-2812 BRAILLE PATTERN DOTS-25
-2813 BRAILLE PATTERN DOTS-125
-2814 BRAILLE PATTERN DOTS-35
-2815 BRAILLE PATTERN DOTS-135
-2816 BRAILLE PATTERN DOTS-235
-2817 BRAILLE PATTERN DOTS-1235
-2818 BRAILLE PATTERN DOTS-45
-2819 BRAILLE PATTERN DOTS-145
-281A BRAILLE PATTERN DOTS-245
-281B BRAILLE PATTERN DOTS-1245
-281C BRAILLE PATTERN DOTS-345
-281D BRAILLE PATTERN DOTS-1345
-281E BRAILLE PATTERN DOTS-2345
-281F BRAILLE PATTERN DOTS-12345
-2820 BRAILLE PATTERN DOTS-6
-2821 BRAILLE PATTERN DOTS-16
-2822 BRAILLE PATTERN DOTS-26
-2823 BRAILLE PATTERN DOTS-126
-2824 BRAILLE PATTERN DOTS-36
-2825 BRAILLE PATTERN DOTS-136
-2826 BRAILLE PATTERN DOTS-236
-2827 BRAILLE PATTERN DOTS-1236
-2828 BRAILLE PATTERN DOTS-46
-2829 BRAILLE PATTERN DOTS-146
-282A BRAILLE PATTERN DOTS-246
-282B BRAILLE PATTERN DOTS-1246
-282C BRAILLE PATTERN DOTS-346
-282D BRAILLE PATTERN DOTS-1346
-282E BRAILLE PATTERN DOTS-2346
-282F BRAILLE PATTERN DOTS-12346
-2830 BRAILLE PATTERN DOTS-56
-2831 BRAILLE PATTERN DOTS-156
-2832 BRAILLE PATTERN DOTS-256
-2833 BRAILLE PATTERN DOTS-1256
-2834 BRAILLE PATTERN DOTS-356
-2835 BRAILLE PATTERN DOTS-1356
-2836 BRAILLE PATTERN DOTS-2356
-2837 BRAILLE PATTERN DOTS-12356
-2838 BRAILLE PATTERN DOTS-456
-2839 BRAILLE PATTERN DOTS-1456
-283A BRAILLE PATTERN DOTS-2456
-283B BRAILLE PATTERN DOTS-12456
-283C BRAILLE PATTERN DOTS-3456
-283D BRAILLE PATTERN DOTS-13456
-283E BRAILLE PATTERN DOTS-23456
-283F BRAILLE PATTERN DOTS-123456
-2840 BRAILLE PATTERN DOTS-7
-2841 BRAILLE PATTERN DOTS-17
-2842 BRAILLE PATTERN DOTS-27
-2843 BRAILLE PATTERN DOTS-127
-2844 BRAILLE PATTERN DOTS-37
-2845 BRAILLE PATTERN DOTS-137
-2846 BRAILLE PATTERN DOTS-237
-2847 BRAILLE PATTERN DOTS-1237
-2848 BRAILLE PATTERN DOTS-47
-2849 BRAILLE PATTERN DOTS-147
-284A BRAILLE PATTERN DOTS-247
-284B BRAILLE PATTERN DOTS-1247
-284C BRAILLE PATTERN DOTS-347
-284D BRAILLE PATTERN DOTS-1347
-284E BRAILLE PATTERN DOTS-2347
-284F BRAILLE PATTERN DOTS-12347
-2850 BRAILLE PATTERN DOTS-57
-2851 BRAILLE PATTERN DOTS-157
-2852 BRAILLE PATTERN DOTS-257
-2853 BRAILLE PATTERN DOTS-1257
-2854 BRAILLE PATTERN DOTS-357
-2855 BRAILLE PATTERN DOTS-1357
-2856 BRAILLE PATTERN DOTS-2357
-2857 BRAILLE PATTERN DOTS-12357
-2858 BRAILLE PATTERN DOTS-457
-2859 BRAILLE PATTERN DOTS-1457
-285A BRAILLE PATTERN DOTS-2457
-285B BRAILLE PATTERN DOTS-12457
-285C BRAILLE PATTERN DOTS-3457
-285D BRAILLE PATTERN DOTS-13457
-285E BRAILLE PATTERN DOTS-23457
-285F BRAILLE PATTERN DOTS-123457
-2860 BRAILLE PATTERN DOTS-67
-2861 BRAILLE PATTERN DOTS-167
-2862 BRAILLE PATTERN DOTS-267
-2863 BRAILLE PATTERN DOTS-1267
-2864 BRAILLE PATTERN DOTS-367
-2865 BRAILLE PATTERN DOTS-1367
-2866 BRAILLE PATTERN DOTS-2367
-2867 BRAILLE PATTERN DOTS-12367
-2868 BRAILLE PATTERN DOTS-467
-2869 BRAILLE PATTERN DOTS-1467
-286A BRAILLE PATTERN DOTS-2467
-286B BRAILLE PATTERN DOTS-12467
-286C BRAILLE PATTERN DOTS-3467
-286D BRAILLE PATTERN DOTS-13467
-286E BRAILLE PATTERN DOTS-23467
-286F BRAILLE PATTERN DOTS-123467
-2870 BRAILLE PATTERN DOTS-567
-2871 BRAILLE PATTERN DOTS-1567
-2872 BRAILLE PATTERN DOTS-2567
-2873 BRAILLE PATTERN DOTS-12567
-2874 BRAILLE PATTERN DOTS-3567
-2875 BRAILLE PATTERN DOTS-13567
-2876 BRAILLE PATTERN DOTS-23567
-2877 BRAILLE PATTERN DOTS-123567
-2878 BRAILLE PATTERN DOTS-4567
-2879 BRAILLE PATTERN DOTS-14567
-287A BRAILLE PATTERN DOTS-24567
-287B BRAILLE PATTERN DOTS-124567
-287C BRAILLE PATTERN DOTS-34567
-287D BRAILLE PATTERN DOTS-134567
-287E BRAILLE PATTERN DOTS-234567
-287F BRAILLE PATTERN DOTS-1234567
-2880 BRAILLE PATTERN DOTS-8
-2881 BRAILLE PATTERN DOTS-18
-2882 BRAILLE PATTERN DOTS-28
-2883 BRAILLE PATTERN DOTS-128
-2884 BRAILLE PATTERN DOTS-38
-2885 BRAILLE PATTERN DOTS-138
-2886 BRAILLE PATTERN DOTS-238
-2887 BRAILLE PATTERN DOTS-1238
-2888 BRAILLE PATTERN DOTS-48
-2889 BRAILLE PATTERN DOTS-148
-288A BRAILLE PATTERN DOTS-248
-288B BRAILLE PATTERN DOTS-1248
-288C BRAILLE PATTERN DOTS-348
-288D BRAILLE PATTERN DOTS-1348
-288E BRAILLE PATTERN DOTS-2348
-288F BRAILLE PATTERN DOTS-12348
-2890 BRAILLE PATTERN DOTS-58
-2891 BRAILLE PATTERN DOTS-158
-2892 BRAILLE PATTERN DOTS-258
-2893 BRAILLE PATTERN DOTS-1258
-2894 BRAILLE PATTERN DOTS-358
-2895 BRAILLE PATTERN DOTS-1358
-2896 BRAILLE PATTERN DOTS-2358
-2897 BRAILLE PATTERN DOTS-12358
-2898 BRAILLE PATTERN DOTS-458
-2899 BRAILLE PATTERN DOTS-1458
-289A BRAILLE PATTERN DOTS-2458
-289B BRAILLE PATTERN DOTS-12458
-289C BRAILLE PATTERN DOTS-3458
-289D BRAILLE PATTERN DOTS-13458
-289E BRAILLE PATTERN DOTS-23458
-289F BRAILLE PATTERN DOTS-123458
-28A0 BRAILLE PATTERN DOTS-68
-28A1 BRAILLE PATTERN DOTS-168
-28A2 BRAILLE PATTERN DOTS-268
-28A3 BRAILLE PATTERN DOTS-1268
-28A4 BRAILLE PATTERN DOTS-368
-28A5 BRAILLE PATTERN DOTS-1368
-28A6 BRAILLE PATTERN DOTS-2368
-28A7 BRAILLE PATTERN DOTS-12368
-28A8 BRAILLE PATTERN DOTS-468
-28A9 BRAILLE PATTERN DOTS-1468
-28AA BRAILLE PATTERN DOTS-2468
-28AB BRAILLE PATTERN DOTS-12468
-28AC BRAILLE PATTERN DOTS-3468
-28AD BRAILLE PATTERN DOTS-13468
-28AE BRAILLE PATTERN DOTS-23468
-28AF BRAILLE PATTERN DOTS-123468
-28B0 BRAILLE PATTERN DOTS-568
-28B1 BRAILLE PATTERN DOTS-1568
-28B2 BRAILLE PATTERN DOTS-2568
-28B3 BRAILLE PATTERN DOTS-12568
-28B4 BRAILLE PATTERN DOTS-3568
-28B5 BRAILLE PATTERN DOTS-13568
-28B6 BRAILLE PATTERN DOTS-23568
-28B7 BRAILLE PATTERN DOTS-123568
-28B8 BRAILLE PATTERN DOTS-4568
-28B9 BRAILLE PATTERN DOTS-14568
-28BA BRAILLE PATTERN DOTS-24568
-28BB BRAILLE PATTERN DOTS-124568
-28BC BRAILLE PATTERN DOTS-34568
-28BD BRAILLE PATTERN DOTS-134568
-28BE BRAILLE PATTERN DOTS-234568
-28BF BRAILLE PATTERN DOTS-1234568
-28C0 BRAILLE PATTERN DOTS-78
-28C1 BRAILLE PATTERN DOTS-178
-28C2 BRAILLE PATTERN DOTS-278
-28C3 BRAILLE PATTERN DOTS-1278
-28C4 BRAILLE PATTERN DOTS-378
-28C5 BRAILLE PATTERN DOTS-1378
-28C6 BRAILLE PATTERN DOTS-2378
-28C7 BRAILLE PATTERN DOTS-12378
-28C8 BRAILLE PATTERN DOTS-478
-28C9 BRAILLE PATTERN DOTS-1478
-28CA BRAILLE PATTERN DOTS-2478
-28CB BRAILLE PATTERN DOTS-12478
-28CC BRAILLE PATTERN DOTS-3478
-28CD BRAILLE PATTERN DOTS-13478
-28CE BRAILLE PATTERN DOTS-23478
-28CF BRAILLE PATTERN DOTS-123478
-28D0 BRAILLE PATTERN DOTS-578
-28D1 BRAILLE PATTERN DOTS-1578
-28D2 BRAILLE PATTERN DOTS-2578
-28D3 BRAILLE PATTERN DOTS-12578
-28D4 BRAILLE PATTERN DOTS-3578
-28D5 BRAILLE PATTERN DOTS-13578
-28D6 BRAILLE PATTERN DOTS-23578
-28D7 BRAILLE PATTERN DOTS-123578
-28D8 BRAILLE PATTERN DOTS-4578
-28D9 BRAILLE PATTERN DOTS-14578
-28DA BRAILLE PATTERN DOTS-24578
-28DB BRAILLE PATTERN DOTS-124578
-28DC BRAILLE PATTERN DOTS-34578
-28DD BRAILLE PATTERN DOTS-134578
-28DE BRAILLE PATTERN DOTS-234578
-28DF BRAILLE PATTERN DOTS-1234578
-28E0 BRAILLE PATTERN DOTS-678
-28E1 BRAILLE PATTERN DOTS-1678
-28E2 BRAILLE PATTERN DOTS-2678
-28E3 BRAILLE PATTERN DOTS-12678
-28E4 BRAILLE PATTERN DOTS-3678
-28E5 BRAILLE PATTERN DOTS-13678
-28E6 BRAILLE PATTERN DOTS-23678
-28E7 BRAILLE PATTERN DOTS-123678
-28E8 BRAILLE PATTERN DOTS-4678
-28E9 BRAILLE PATTERN DOTS-14678
-28EA BRAILLE PATTERN DOTS-24678
-28EB BRAILLE PATTERN DOTS-124678
-28EC BRAILLE PATTERN DOTS-34678
-28ED BRAILLE PATTERN DOTS-134678
-28EE BRAILLE PATTERN DOTS-234678
-28EF BRAILLE PATTERN DOTS-1234678
-28F0 BRAILLE PATTERN DOTS-5678
-28F1 BRAILLE PATTERN DOTS-15678
-28F2 BRAILLE PATTERN DOTS-25678
-28F3 BRAILLE PATTERN DOTS-125678
-28F4 BRAILLE PATTERN DOTS-35678
-28F5 BRAILLE PATTERN DOTS-135678
-28F6 BRAILLE PATTERN DOTS-235678
-28F7 BRAILLE PATTERN DOTS-1235678
-28F8 BRAILLE PATTERN DOTS-45678
-28F9 BRAILLE PATTERN DOTS-145678
-28FA BRAILLE PATTERN DOTS-245678
-28FB BRAILLE PATTERN DOTS-1245678
-28FC BRAILLE PATTERN DOTS-345678
-28FD BRAILLE PATTERN DOTS-1345678
-28FE BRAILLE PATTERN DOTS-2345678
-28FF BRAILLE PATTERN DOTS-12345678
-@@ 2900 Supplemental Arrows-B 297F
-@ Miscellaneous arrows
-2900 RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
- = z notation partial surjection
- x (leftwards two-headed arrow with vertical stroke - 2B34)
-2901 RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
- = z notation finite surjection
- x (leftwards two-headed arrow with double vertical stroke - 2B35)
-2902 LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903 RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904 LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905 RIGHTWARDS TWO-HEADED ARROW FROM BAR
- = maps to
- x (leftwards two-headed arrow from bar - 2B36)
-2906 LEFTWARDS DOUBLE ARROW FROM BAR
- = maps from
- x (long leftwards arrow from bar - 27FB)
-2907 RIGHTWARDS DOUBLE ARROW FROM BAR
- = maps to
- x (long rightwards arrow from bar - 27FC)
-2908 DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909 UPWARDS ARROW WITH HORIZONTAL STROKE
-290A UPWARDS TRIPLE ARROW
- x (upwards double arrow - 21D1)
- x (upwards quadruple arrow - 27F0)
-290B DOWNWARDS TRIPLE ARROW
- x (downwards double arrow - 21D3)
- x (downwards quadruple arrow - 27F1)
-290C LEFTWARDS DOUBLE DASH ARROW
-290D RIGHTWARDS DOUBLE DASH ARROW
-290E LEFTWARDS TRIPLE DASH ARROW
-290F RIGHTWARDS TRIPLE DASH ARROW
-2910 RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
- x (leftwards two-headed triple dash arrow - 2B37)
-2911 RIGHTWARDS ARROW WITH DOTTED STEM
- x (leftwards arrow with dotted stem - 2B38)
-2912 UPWARDS ARROW TO BAR
-2913 DOWNWARDS ARROW TO BAR
-2914 RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
- = z notation partial injection
- x (leftwards arrow with tail with vertical stroke - 2B39)
-2915 RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
- = z notation finite injection
- x (leftwards arrow with tail with double vertical stroke - 2B3A)
-2916 RIGHTWARDS TWO-HEADED ARROW WITH TAIL
- = bijective mapping
- = z notation bijection
- x (leftwards two-headed arrow with tail - 2B3B)
-2917 RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
- = z notation surjective injection
- x (leftwards two-headed arrow with tail with vertical stroke - 2B3C)
-2918 RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
- = z notation finite surjective injection
- x (leftwards two-headed arrow with tail with double vertical stroke - 2B3D)
-@ Arrow tails
-2919 LEFTWARDS ARROW-TAIL
-291A RIGHTWARDS ARROW-TAIL
-291B LEFTWARDS DOUBLE ARROW-TAIL
-291C RIGHTWARDS DOUBLE ARROW-TAIL
-@ Miscellaneous arrows
-291D LEFTWARDS ARROW TO BLACK DIAMOND
-291E RIGHTWARDS ARROW TO BLACK DIAMOND
-291F LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920 RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921 NORTH WEST AND SOUTH EAST ARROW
-2922 NORTH EAST AND SOUTH WEST ARROW
-2923 NORTH WEST ARROW WITH HOOK
-2924 NORTH EAST ARROW WITH HOOK
-2925 SOUTH EAST ARROW WITH HOOK
-2926 SOUTH WEST ARROW WITH HOOK
-@ Crossing arrows for knot theory
-2927 NORTH WEST ARROW AND NORTH EAST ARROW
-2928 NORTH EAST ARROW AND SOUTH EAST ARROW
-2929 SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A SOUTH WEST ARROW AND NORTH WEST ARROW
-292B RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C FALLING DIAGONAL CROSSING RISING DIAGONAL
- x (crossing lanes - 26CC)
-292D SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930 RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931 NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932 NORTH WEST ARROW CROSSING NORTH EAST ARROW
-@ Miscellaneous curved arrows
-2933 WAVE ARROW POINTING DIRECTLY RIGHT
- x (rightwards wave arrow - 219D)
- x (wave arrow pointing directly left - 2B3F)
-2934 ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935 ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937 ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938 RIGHT-SIDE ARC CLOCKWISE ARROW
-2939 LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A TOP ARC ANTICLOCKWISE ARROW
-293B BOTTOM ARC ANTICLOCKWISE ARROW
-293C TOP ARC CLOCKWISE ARROW WITH MINUS
-293D TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940 ANTICLOCKWISE CLOSED CIRCLE ARROW
- x (combining anticlockwise ring overlay - 20DA)
-2941 CLOCKWISE CLOSED CIRCLE ARROW
- x (combining clockwise ring overlay - 20D9)
-@ Arrows combined with operators
-2942 RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943 LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944 SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945 RIGHTWARDS ARROW WITH PLUS BELOW
-2946 LEFTWARDS ARROW WITH PLUS BELOW
-2947 RIGHTWARDS ARROW THROUGH X
- x (leftwards arrow through x - 2B3E)
-2948 LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949 UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-@ Double-barbed harpoons
-294A LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E LEFT BARB UP RIGHT BARB UP HARPOON
-294F UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950 LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951 UP BARB LEFT DOWN BARB LEFT HARPOON
-@ Modified harpoons
-2952 LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953 RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954 UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955 DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956 LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957 RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958 UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959 DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960 UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961 DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-@ Paired harpoons
-2962 LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963 UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964 RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965 DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966 LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967 LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968 RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969 RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-@ Miscellaneous arrow
-2970 RIGHT DOUBLE ARROW WITH ROUNDED HEAD
- x (superset of - 2283)
-@ Arrows combined with relations
-2971 EQUALS SIGN ABOVE RIGHTWARDS ARROW
- x (equals sign above leftwards arrow - 2B40)
-2972 TILDE OPERATOR ABOVE RIGHTWARDS ARROW
- x (reverse tilde operator above leftwards arrow - 2B41)
-2973 LEFTWARDS ARROW ABOVE TILDE OPERATOR
- x (rightwards arrow above reverse tilde operator - 2B4C)
-2974 RIGHTWARDS ARROW ABOVE TILDE OPERATOR
- x (leftwards arrow above reverse tilde operator - 2B4B)
-2975 RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
- x (leftwards arrow above reverse almost equal to - 2B42)
-2976 LESS-THAN ABOVE LEFTWARDS ARROW
-2977 LEFTWARDS ARROW THROUGH LESS-THAN
- x (rightwards arrow through greater-than - 2B43)
-2978 GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979 SUBSET ABOVE RIGHTWARDS ARROW
-297A LEFTWARDS ARROW THROUGH SUBSET
- x (rightwards arrow through superset - 2B44)
-297B SUPERSET ABOVE LEFTWARDS ARROW
-@ Fish tails
-297C LEFT FISH TAIL
-297D RIGHT FISH TAIL
-297E UP FISH TAIL
-297F DOWN FISH TAIL
-@@ 2980 Miscellaneous Mathematical Symbols-B 29FF
-@ Miscellaneous mathematical symbols
-2980 TRIPLE VERTICAL BAR DELIMITER
- x (triple vertical bar binary relation - 2AF4)
- x (large triple vertical bar operator - 2AFC)
-2981 Z NOTATION SPOT
- * medium-small-sized black circle
- x (bullet operator - 2219)
- x (black circle - 25CF)
-2982 Z NOTATION TYPE COLON
- x (tibetan sign rnam bcad - 0F7F)
-@ Brackets
-2983 LEFT WHITE CURLY BRACKET
-2984 RIGHT WHITE CURLY BRACKET
-2985 LEFT WHITE PARENTHESIS
- x (left double parenthesis - 2E28)
- x (fullwidth left white parenthesis - FF5F)
-2986 RIGHT WHITE PARENTHESIS
- * used for Bourbakist intervals
- x (right double parenthesis - 2E29)
- x (fullwidth right white parenthesis - FF60)
-2987 Z NOTATION LEFT IMAGE BRACKET
-2988 Z NOTATION RIGHT IMAGE BRACKET
-2989 Z NOTATION LEFT BINDING BRACKET
-298A Z NOTATION RIGHT BINDING BRACKET
-298B LEFT SQUARE BRACKET WITH UNDERBAR
-298C RIGHT SQUARE BRACKET WITH UNDERBAR
-298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 LEFT ANGLE BRACKET WITH DOT
-2992 RIGHT ANGLE BRACKET WITH DOT
-2993 LEFT ARC LESS-THAN BRACKET
-2994 RIGHT ARC GREATER-THAN BRACKET
-2995 DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 LEFT BLACK TORTOISE SHELL BRACKET
- x (mathematical left white tortoise shell bracket - 27EC)
- x (left tortoise shell bracket - 3014)
- x (left white tortoise shell bracket - 3018)
-2998 RIGHT BLACK TORTOISE SHELL BRACKET
-@ Fences
-2999 DOTTED FENCE
- * four close dots vertical
-299A VERTICAL ZIGZAG LINE
- x (wavy line - 2307)
-@ Angles
-299B MEASURED ANGLE OPENING LEFT
- x (measured angle - 2221)
-299C RIGHT ANGLE VARIANT WITH SQUARE
- x (right angle - 221F)
-299D MEASURED RIGHT ANGLE WITH DOT
-299E ANGLE WITH S INSIDE
-299F ACUTE ANGLE
-29A0 SPHERICAL ANGLE OPENING LEFT
- x (spherical angle - 2222)
-29A1 SPHERICAL ANGLE OPENING UP
-29A2 TURNED ANGLE
- x (angle - 2220)
-29A3 REVERSED ANGLE
-29A4 ANGLE WITH UNDERBAR
-29A5 REVERSED ANGLE WITH UNDERBAR
-29A6 OBLIQUE ANGLE OPENING UP
-29A7 OBLIQUE ANGLE OPENING DOWN
-29A8 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-@ Empty sets
-29B0 REVERSED EMPTY SET
- x (empty set - 2205)
- x (apl functional symbol circle backslash - 2349)
-29B1 EMPTY SET WITH OVERBAR
-29B2 EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3 EMPTY SET WITH RIGHT ARROW ABOVE
-29B4 EMPTY SET WITH LEFT ARROW ABOVE
-@ Circle symbols
-29B5 CIRCLE WITH HORIZONTAL BAR
- x (circled minus - 2296)
-29B6 CIRCLED VERTICAL BAR
-29B7 CIRCLED PARALLEL
-29B8 CIRCLED REVERSE SOLIDUS
-29B9 CIRCLED PERPENDICULAR
-29BA CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB CIRCLE WITH SUPERIMPOSED X
- x (circled times - 2297)
-29BC CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD UP ARROW THROUGH CIRCLE
-29BE CIRCLED WHITE BULLET
- x (circled ring operator - 229A)
- x (apl functional symbol circle jot - 233E)
- x (bullseye - 25CE)
-29BF CIRCLED BULLET
- * forms part of a graduated set of circles with enclosed black circle of different sizes
- x (circled dot operator - 2299)
- x (fisheye - 25C9)
- x (n-ary circled dot operator - 2A00)
-29C0 CIRCLED LESS-THAN
-29C1 CIRCLED GREATER-THAN
-29C2 CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3 CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-@ Square symbols
-29C4 SQUARED RISING DIAGONAL SLASH
- x (apl functional symbol quad slash - 2341)
- x (masu mark - 303C)
-29C5 SQUARED FALLING DIAGONAL SLASH
- x (apl functional symbol quad backslash - 2342)
-29C6 SQUARED ASTERISK
-29C7 SQUARED SMALL CIRCLE
- x (apl functional symbol quad jot - 233B)
-29C8 SQUARED SQUARE
-29C9 TWO JOINED SQUARES
-@ Triangle symbols
-29CA TRIANGLE WITH DOT ABOVE
-29CB TRIANGLE WITH UNDERBAR
-29CC S IN TRIANGLE
-29CD TRIANGLE WITH SERIFS AT BOTTOM
- x (white up-pointing triangle - 25B3)
-29CE RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0 VERTICAL BAR BESIDE RIGHT TRIANGLE
-@ Bowtie symbols
-29D1 BOWTIE WITH LEFT HALF BLACK
- x (bowtie - 22C8)
-29D2 BOWTIE WITH RIGHT HALF BLACK
-29D3 BLACK BOWTIE
-29D4 TIMES WITH LEFT HALF BLACK
- x (left normal factor semidirect product - 22C9)
-29D5 TIMES WITH RIGHT HALF BLACK
- x (right normal factor semidirect product - 22CA)
-29D6 WHITE HOURGLASS
- = vertical bowtie
- = white framus
- x (hourglass - 231B)
-29D7 BLACK HOURGLASS
-@ Fences
-29D8 LEFT WIGGLY FENCE
- x (presentation form for vertical wavy low line - FE34)
-29D9 RIGHT WIGGLY FENCE
-29DA LEFT DOUBLE WIGGLY FENCE
-29DB RIGHT DOUBLE WIGGLY FENCE
-@ Miscellaneous mathematical symbols
-29DC INCOMPLETE INFINITY
- = ISOtech entity &iinfin;
- x (infinity - 221E)
-29DD TIE OVER INFINITY
-29DE INFINITY NEGATED WITH VERTICAL BAR
-29DF DOUBLE-ENDED MULTIMAP
- x (multimap - 22B8)
-29E0 SQUARE WITH CONTOURED OUTLINE
- = D'Alembertian
- x (lower right drop-shadowed white square - 274F)
-29E1 INCREASES AS
- x (normal subgroup of or equal to - 22B4)
-29E2 SHUFFLE PRODUCT
- x (z notation bag membership - 22FF)
-@ Relations
-29E3 EQUALS SIGN AND SLANTED PARALLEL
- x (number sign - 0023)
- x (equal and parallel to - 22D5)
-29E4 EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5 IDENTICAL TO AND SLANTED PARALLEL
- x (triple horizontal bar with double vertical stroke - 2A68)
-29E6 GLEICH STARK
- = tautological equivalent
-@ Miscellaneous mathematical symbols
-29E7 THERMODYNAMIC
- * vertical bar crossed by two horizontals
- x (not equal to - 2260)
-29E8 DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
- x (up-pointing triangle with left half black - 25ED)
-29E9 DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
- x (up-pointing triangle with right half black - 25EE)
-29EA BLACK DIAMOND WITH DOWN ARROW
-29EB BLACK LOZENGE
- x (lozenge - 25CA)
-29EC WHITE CIRCLE WITH DOWN ARROW
-29ED BLACK CIRCLE WITH DOWN ARROW
-@ Error bar symbols
-29EE ERROR-BARRED WHITE SQUARE
-29EF ERROR-BARRED BLACK SQUARE
-29F0 ERROR-BARRED WHITE DIAMOND
-29F1 ERROR-BARRED BLACK DIAMOND
-29F2 ERROR-BARRED WHITE CIRCLE
-29F3 ERROR-BARRED BLACK CIRCLE
-@ Miscellaneous mathematical symbols
-29F4 RULE-DELAYED
- = colon right arrow
-29F5 REVERSE SOLIDUS OPERATOR
- x (reverse solidus - 005C)
- x (set minus - 2216)
-29F6 SOLIDUS WITH OVERBAR
-29F7 REVERSE SOLIDUS WITH HORIZONTAL STROKE
- x (apl functional symbol backslash bar - 2340)
-@ Large operators
-29F8 BIG SOLIDUS
- x (division slash - 2215)
-29F9 BIG REVERSE SOLIDUS
- = z notation schema hiding
- x (set minus - 2216)
-@ Specialized plus sign operators
-29FA DOUBLE PLUS
-29FB TRIPLE PLUS
-@ Brackets
-29FC LEFT-POINTING CURVED ANGLE BRACKET
- x (precedes - 227A)
- x (left-pointing angle bracket - 2329)
-29FD RIGHT-POINTING CURVED ANGLE BRACKET
- x (succeeds - 227B)
- x (right-pointing angle bracket - 232A)
-@ Miscellaneous mathematical symbols
-29FE TINY
- x (plus sign - 002B)
-29FF MINY
- x (minus sign - 2212)
-@@ 2A00 Supplemental Mathematical Operators 2AFF
-@ N-ary operators
-2A00 N-ARY CIRCLED DOT OPERATOR
- x (circled dot operator - 2299)
- x (fisheye - 25C9)
-2A01 N-ARY CIRCLED PLUS OPERATOR
- x (circled plus - 2295)
-2A02 N-ARY CIRCLED TIMES OPERATOR
- x (circled times - 2297)
- x (heavy circled saltire - 2B59)
-2A03 N-ARY UNION OPERATOR WITH DOT
-2A04 N-ARY UNION OPERATOR WITH PLUS
- x (multiset union - 228E)
-2A05 N-ARY SQUARE INTERSECTION OPERATOR
- x (square cap - 2293)
-2A06 N-ARY SQUARE UNION OPERATOR
- x (square cup - 2294)
-2A07 TWO LOGICAL AND OPERATOR
- = merge
- x (two intersecting logical and - 2A55)
-2A08 TWO LOGICAL OR OPERATOR
- x (two intersecting logical or - 2A56)
-2A09 N-ARY TIMES OPERATOR
- x (multiplication sign - 00D7)
-@ Summations and integrals
-2A0A MODULO TWO SUM
- x (n-ary summation - 2211)
-2A0B SUMMATION WITH INTEGRAL
-2A0C QUADRUPLE INTEGRAL OPERATOR
- x (triple integral - 222D)
- # 222B 222B 222B 222B
-2A0D FINITE PART INTEGRAL
-2A0E INTEGRAL WITH DOUBLE STROKE
-2A0F INTEGRAL AVERAGE WITH SLASH
-2A10 CIRCULATION FUNCTION
-2A11 ANTICLOCKWISE INTEGRATION
-2A12 LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13 LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14 LINE INTEGRATION NOT INCLUDING THE POLE
-2A15 INTEGRAL AROUND A POINT OPERATOR
- x (contour integral - 222E)
-2A16 QUATERNION INTEGRAL OPERATOR
-2A17 INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18 INTEGRAL WITH TIMES SIGN
-2A19 INTEGRAL WITH INTERSECTION
-2A1A INTEGRAL WITH UNION
-2A1B INTEGRAL WITH OVERBAR
- = upper integral
-2A1C INTEGRAL WITH UNDERBAR
- = lower integral
-@ Miscellaneous large operators
-2A1D JOIN
- = large bowtie
- * relational database theory
- x (bowtie - 22C8)
- x (full outer join - 27D7)
-2A1E LARGE LEFT TRIANGLE OPERATOR
- * relational database theory
- x (white left-pointing triangle - 25C1)
-2A1F Z NOTATION SCHEMA COMPOSITION
- x (z notation relational composition - 2A3E)
-2A20 Z NOTATION SCHEMA PIPING
- x (much greater-than - 226B)
-2A21 Z NOTATION SCHEMA PROJECTION
- x (upwards harpoon with barb rightwards - 21BE)
-@ Plus and minus sign operators
-2A22 PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23 PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24 PLUS SIGN WITH TILDE ABOVE
- = positive difference or sum
-2A25 PLUS SIGN WITH DOT BELOW
- x (dot plus - 2214)
-2A26 PLUS SIGN WITH TILDE BELOW
- = sum or positive difference
-2A27 PLUS SIGN WITH SUBSCRIPT TWO
- = nim-addition
-2A28 PLUS SIGN WITH BLACK TRIANGLE
-2A29 MINUS SIGN WITH COMMA ABOVE
-2A2A MINUS SIGN WITH DOT BELOW
- x (dot minus - 2238)
-2A2B MINUS SIGN WITH FALLING DOTS
-2A2C MINUS SIGN WITH RISING DOTS
-2A2D PLUS SIGN IN LEFT HALF CIRCLE
-2A2E PLUS SIGN IN RIGHT HALF CIRCLE
-@ Multiplication and division sign operators
-2A2F VECTOR OR CROSS PRODUCT
- x (multiplication sign - 00D7)
-2A30 MULTIPLICATION SIGN WITH DOT ABOVE
-2A31 MULTIPLICATION SIGN WITH UNDERBAR
-2A32 SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33 SMASH PRODUCT
-2A34 MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35 MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36 CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37 MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38 CIRCLED DIVISION SIGN
-@ Miscellaneous mathematical operators
-2A39 PLUS SIGN IN TRIANGLE
-2A3A MINUS SIGN IN TRIANGLE
-2A3B MULTIPLICATION SIGN IN TRIANGLE
-2A3C INTERIOR PRODUCT
- x (right floor - 230B)
-2A3D RIGHTHAND INTERIOR PRODUCT
- x (left floor - 230A)
- x (turned not sign - 2319)
-2A3E Z NOTATION RELATIONAL COMPOSITION
- x (z notation schema composition - 2A1F)
-2A3F AMALGAMATION OR COPRODUCT
- x (n-ary coproduct - 2210)
-@ Intersections and unions
-2A40 INTERSECTION WITH DOT
- x (logical and - 2227)
- x (and with dot - 27D1)
-2A41 UNION WITH MINUS SIGN
- = z notation bag subtraction
- x (multiset union - 228E)
-2A42 UNION WITH OVERBAR
-2A43 INTERSECTION WITH OVERBAR
-2A44 INTERSECTION WITH LOGICAL AND
-2A45 UNION WITH LOGICAL OR
-2A46 UNION ABOVE INTERSECTION
-2A47 INTERSECTION ABOVE UNION
-2A48 UNION ABOVE BAR ABOVE INTERSECTION
-2A49 INTERSECTION ABOVE BAR ABOVE UNION
-2A4A UNION BESIDE AND JOINED WITH UNION
-2A4B INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C CLOSED UNION WITH SERIFS
- x (union - 222A)
-2A4D CLOSED INTERSECTION WITH SERIFS
- x (intersection - 2229)
-2A4E DOUBLE SQUARE INTERSECTION
-2A4F DOUBLE SQUARE UNION
-2A50 CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-@ Logical ands and ors
-2A51 LOGICAL AND WITH DOT ABOVE
-2A52 LOGICAL OR WITH DOT ABOVE
-2A53 DOUBLE LOGICAL AND
-2A54 DOUBLE LOGICAL OR
-2A55 TWO INTERSECTING LOGICAL AND
- x (two logical and operator - 2A07)
-2A56 TWO INTERSECTING LOGICAL OR
- x (two logical or operator - 2A08)
-2A57 SLOPING LARGE OR
-2A58 SLOPING LARGE AND
-2A59 LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A LOGICAL AND WITH MIDDLE STEM
-2A5B LOGICAL OR WITH MIDDLE STEM
-2A5C LOGICAL AND WITH HORIZONTAL DASH
-2A5D LOGICAL OR WITH HORIZONTAL DASH
-2A5E LOGICAL AND WITH DOUBLE OVERBAR
- x (perspective - 2306)
-2A5F LOGICAL AND WITH UNDERBAR
-2A60 LOGICAL AND WITH DOUBLE UNDERBAR
- x (estimates - 2259)
-2A61 SMALL VEE WITH UNDERBAR
- x (equiangular to - 225A)
-2A62 LOGICAL OR WITH DOUBLE OVERBAR
-2A63 LOGICAL OR WITH DOUBLE UNDERBAR
- x (equiangular to - 225A)
-@ Miscellaneous mathematical operators
-2A64 Z NOTATION DOMAIN ANTIRESTRICTION
-2A65 Z NOTATION RANGE ANTIRESTRICTION
- x (conical taper - 2332)
-@ Relational operators
-2A66 EQUALS SIGN WITH DOT BELOW
- x (approaches the limit - 2250)
-2A67 IDENTICAL WITH DOT ABOVE
-2A68 TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
- = identical and parallel to
- x (equal and parallel to - 22D5)
- x (identical to and slanted parallel - 29E5)
-2A69 TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A TILDE OPERATOR WITH DOT ABOVE
-2A6B TILDE OPERATOR WITH RISING DOTS
- x (homothetic - 223B)
-2A6C SIMILAR MINUS SIMILAR
-2A6D CONGRUENT WITH DOT ABOVE
- x (approximately equal to - 2245)
-2A6E EQUALS WITH ASTERISK
- x (star equals - 225B)
-2A6F ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70 APPROXIMATELY EQUAL OR EQUAL TO
-2A71 EQUALS SIGN ABOVE PLUS SIGN
- * black stands slightly better (chess notation)
-2A72 PLUS SIGN ABOVE EQUALS SIGN
- * white stands slightly better (chess notation)
-2A73 EQUALS SIGN ABOVE TILDE OPERATOR
-2A74 DOUBLE COLON EQUAL
- # 003A 003A 003D
-2A75 TWO CONSECUTIVE EQUALS SIGNS
- # 003D 003D
-2A76 THREE CONSECUTIVE EQUALS SIGNS
- # 003D 003D 003D
-2A77 EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78 EQUIVALENT WITH FOUR DOTS ABOVE
-2A79 LESS-THAN WITH CIRCLE INSIDE
-2A7A GREATER-THAN WITH CIRCLE INSIDE
-2A7B LESS-THAN WITH QUESTION MARK ABOVE
-2A7C GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D LESS-THAN OR SLANTED EQUAL TO
- x (less-than or equal to - 2264)
-2A7E GREATER-THAN OR SLANTED EQUAL TO
- x (greater-than or equal to - 2265)
-2A7F LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80 GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81 LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83 LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85 LESS-THAN OR APPROXIMATE
-2A86 GREATER-THAN OR APPROXIMATE
-2A87 LESS-THAN AND SINGLE-LINE NOT EQUAL TO
- x (less-than but not equal to - 2268)
-2A88 GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
- x (greater-than but not equal to - 2269)
-2A89 LESS-THAN AND NOT APPROXIMATE
-2A8A GREATER-THAN AND NOT APPROXIMATE
-2A8B LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
- x (less-than equal to or greater-than - 22DA)
-2A8C GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
- x (greater-than equal to or less-than - 22DB)
-2A8D LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90 GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91 LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92 GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93 LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95 SLANTED EQUAL TO OR LESS-THAN
- x (equal to or less-than - 22DC)
-2A96 SLANTED EQUAL TO OR GREATER-THAN
- x (equal to or greater-than - 22DD)
-2A97 SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98 SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99 DOUBLE-LINE EQUAL TO OR LESS-THAN
- x (equal to or less-than - 22DC)
-2A9A DOUBLE-LINE EQUAL TO OR GREATER-THAN
- x (equal to or greater-than - 22DD)
-2A9B DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D SIMILAR OR LESS-THAN
-2A9E SIMILAR OR GREATER-THAN
-2A9F SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0 SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1 DOUBLE NESTED LESS-THAN
- = absolute continuity
- x (much less-than - 226A)
-2AA2 DOUBLE NESTED GREATER-THAN
- x (much greater-than - 226B)
-2AA3 DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4 GREATER-THAN OVERLAPPING LESS-THAN
-2AA5 GREATER-THAN BESIDE LESS-THAN
-2AA6 LESS-THAN CLOSED BY CURVE
-2AA7 GREATER-THAN CLOSED BY CURVE
-2AA8 LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9 GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA SMALLER THAN
-2AAB LARGER THAN
-2AAC SMALLER THAN OR EQUAL TO
-2AAD LARGER THAN OR EQUAL TO
-2AAE EQUALS SIGN WITH BUMPY ABOVE
- x (difference between - 224F)
-2AAF PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
- x (precedes or equal to - 227C)
-2AB0 SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
- x (succeeds or equal to - 227D)
-2AB1 PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2 SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3 PRECEDES ABOVE EQUALS SIGN
-2AB4 SUCCEEDS ABOVE EQUALS SIGN
-2AB5 PRECEDES ABOVE NOT EQUAL TO
-2AB6 SUCCEEDS ABOVE NOT EQUAL TO
-2AB7 PRECEDES ABOVE ALMOST EQUAL TO
-2AB8 SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9 PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB DOUBLE PRECEDES
-2ABC DOUBLE SUCCEEDS
-@ Subset and superset relations
-2ABD SUBSET WITH DOT
-2ABE SUPERSET WITH DOT
-2ABF SUBSET WITH PLUS SIGN BELOW
-2AC0 SUPERSET WITH PLUS SIGN BELOW
-2AC1 SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2 SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3 SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4 SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5 SUBSET OF ABOVE EQUALS SIGN
-2AC6 SUPERSET OF ABOVE EQUALS SIGN
-2AC7 SUBSET OF ABOVE TILDE OPERATOR
-2AC8 SUPERSET OF ABOVE TILDE OPERATOR
-2AC9 SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB SUBSET OF ABOVE NOT EQUAL TO
-2ACC SUPERSET OF ABOVE NOT EQUAL TO
-2ACD SQUARE LEFT OPEN BOX OPERATOR
-2ACE SQUARE RIGHT OPEN BOX OPERATOR
-2ACF CLOSED SUBSET
- x (subset of - 2282)
-2AD0 CLOSED SUPERSET
- x (superset of - 2283)
-2AD1 CLOSED SUBSET OR EQUAL TO
-2AD2 CLOSED SUPERSET OR EQUAL TO
-2AD3 SUBSET ABOVE SUPERSET
-2AD4 SUPERSET ABOVE SUBSET
-2AD5 SUBSET ABOVE SUBSET
-2AD6 SUPERSET ABOVE SUPERSET
-2AD7 SUPERSET BESIDE SUBSET
-2AD8 SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-@ Forks
-2AD9 ELEMENT OF OPENING DOWNWARDS
- x (element of - 2208)
- x (element of opening upwards - 27D2)
-2ADA PITCHFORK WITH TEE TOP
- x (pitchfork - 22D4)
-2ADB TRANSVERSAL INTERSECTION
- x (pitchfork - 22D4)
-2ADC FORKING
- = not independent
- * an equational logic symbol, not a computing science symbol
- * non-independence (original concept) is related to forking
- : 2ADD 0338
-2ADD NONFORKING
- = independent
- * an equational logic symbol, not a computing science symbol
- * independence (original concept) is related to non-forking
-@ Tacks and turnstiles
-2ADE SHORT LEFT TACK
- x (left tack - 22A3)
-2ADF SHORT DOWN TACK
- x (down tack - 22A4)
-2AE0 SHORT UP TACK
- x (up tack - 22A5)
-2AE1 PERPENDICULAR WITH S
-2AE2 VERTICAL BAR TRIPLE RIGHT TURNSTILE
- = ordinarily satisfies
-2AE3 DOUBLE VERTICAL BAR LEFT TURNSTILE
- x (forces - 22A9)
-2AE4 VERTICAL BAR DOUBLE LEFT TURNSTILE
- x (true - 22A8)
-2AE5 DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6 LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
- x (forces - 22A9)
-2AE7 SHORT DOWN TACK WITH OVERBAR
- x (down tack - 22A4)
- x (apl functional symbol up tack overbar - 2351)
-2AE8 SHORT UP TACK WITH UNDERBAR
- x (up tack - 22A5)
- x (apl functional symbol down tack underbar - 234A)
-2AE9 SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA DOUBLE DOWN TACK
-2AEB DOUBLE UP TACK
- = independence
- * probability theory
-2AEC DOUBLE STROKE NOT SIGN
- x (not sign - 00AC)
-2AED REVERSED DOUBLE STROKE NOT SIGN
- x (reversed not sign - 2310)
-@ Vertical line operators
-2AEE DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
- x (does not divide - 2224)
-2AEF VERTICAL LINE WITH CIRCLE ABOVE
-2AF0 VERTICAL LINE WITH CIRCLE BELOW
-2AF1 DOWN TACK WITH CIRCLE BELOW
- = necessarily satisfies
- x (up tack with circle above - 27DF)
-2AF2 PARALLEL WITH HORIZONTAL STROKE
- x (not parallel to - 2226)
- x (vertical bar with horizontal stroke - 27CA)
-2AF3 PARALLEL WITH TILDE OPERATOR
-2AF4 TRIPLE VERTICAL BAR BINARY RELATION
- = interleave
- x (triple vertical bar delimiter - 2980)
-2AF5 TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
- x (vertical bar with horizontal stroke - 27CA)
-@ Miscellaneous mathematical operator
-2AF6 TRIPLE COLON OPERATOR
- * logic
- x (tricolon - 205D)
- x (vertical ellipsis - 22EE)
-@ Relations
-2AF7 TRIPLE NESTED LESS-THAN
- x (very much less-than - 22D8)
-2AF8 TRIPLE NESTED GREATER-THAN
- x (very much greater-than - 22D9)
-2AF9 DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
- x (less-than over equal to - 2266)
-2AFA DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
- x (greater-than over equal to - 2267)
-2AFB TRIPLE SOLIDUS BINARY RELATION
- x (triple vertical bar binary relation - 2AF4)
-@ Operators
-2AFC LARGE TRIPLE VERTICAL BAR OPERATOR
- * often n-ary
- x (triple vertical bar binary relation - 2AF4)
- x (triple vertical bar delimiter - 2980)
-2AFD DOUBLE SOLIDUS OPERATOR
- x (parallel to - 2225)
-2AFE WHITE VERTICAL BAR
- = Dijkstra choice
-2AFF N-ARY WHITE VERTICAL BAR
- = n-ary Dijkstra choice
-@@ 2B00 Miscellaneous Symbols and Arrows 2BFF
-@ White and black arrows
-@+ Other white and black arrows to complete this set can be found in the Arrows and Dingbats blocks.
-2B00 NORTH EAST WHITE ARROW
-2B01 NORTH WEST WHITE ARROW
-2B02 SOUTH EAST WHITE ARROW
-2B03 SOUTH WEST WHITE ARROW
-2B04 LEFT RIGHT WHITE ARROW
- x (leftwards white arrow - 21E6)
- x (up down white arrow - 21F3)
-2B05 LEFTWARDS BLACK ARROW
- x (black rightwards arrow - 27A1)
-2B06 UPWARDS BLACK ARROW
-2B07 DOWNWARDS BLACK ARROW
-2B08 NORTH EAST BLACK ARROW
-2B09 NORTH WEST BLACK ARROW
-2B0A SOUTH EAST BLACK ARROW
-2B0B SOUTH WEST BLACK ARROW
-2B0C LEFT RIGHT BLACK ARROW
-2B0D UP DOWN BLACK ARROW
-@ Arrows with bent tips
-@+ Other arrows with bent tips to complete this set can be found in the Arrows block.
-2B0E RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10 LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11 LEFTWARDS ARROW WITH TIP UPWARDS
-@ Squares
-2B12 SQUARE WITH TOP HALF BLACK
- x (square with left half black - 25E7)
-2B13 SQUARE WITH BOTTOM HALF BLACK
-2B14 SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15 SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-@ Diamonds
-2B16 DIAMOND WITH LEFT HALF BLACK
-2B17 DIAMOND WITH RIGHT HALF BLACK
-2B18 DIAMOND WITH TOP HALF BLACK
-2B19 DIAMOND WITH BOTTOM HALF BLACK
-@ Squares
-2B1A DOTTED SQUARE
-2B1B BLACK LARGE SQUARE
- x (black square - 25A0)
-2B1C WHITE LARGE SQUARE
- x (white square - 25A1)
-2B1D BLACK VERY SMALL SQUARE
- x (black small square - 25AA)
-2B1E WHITE VERY SMALL SQUARE
- x (white small square - 25AB)
-@ Pentagons
-2B1F BLACK PENTAGON
-2B20 WHITE PENTAGON
-@ Hexagons
-2B21 WHITE HEXAGON
-2B22 BLACK HEXAGON
-2B23 HORIZONTAL BLACK HEXAGON
-@ Circle
-2B24 BLACK LARGE CIRCLE
- x (black circle - 25CF)
- x (large circle - 25EF)
-@ Diamonds and lozenges
-2B25 BLACK MEDIUM DIAMOND
- x (black diamond - 25C6)
-2B26 WHITE MEDIUM DIAMOND
-2B27 BLACK MEDIUM LOZENGE
-2B28 WHITE MEDIUM LOZENGE
- x (lozenge - 25CA)
-2B29 BLACK SMALL DIAMOND
- x (diamond operator - 22C4)
-2B2A BLACK SMALL LOZENGE
-2B2B WHITE SMALL LOZENGE
-@ Ellipses
-2B2C BLACK HORIZONTAL ELLIPSE
-2B2D WHITE HORIZONTAL ELLIPSE
-2B2E BLACK VERTICAL ELLIPSE
-2B2F WHITE VERTICAL ELLIPSE
-@ Mathematical arrows
-@+ These provide the opposite direction complement for arrows for mathematical use not originally encoded in both a leftwards and rightwards direction.
-2B30 LEFT ARROW WITH SMALL CIRCLE
- x (right arrow with small circle - 21F4)
-2B31 THREE LEFTWARDS ARROWS
- x (three rightwards arrows - 21F6)
-2B32 LEFT ARROW WITH CIRCLED PLUS
- x (right arrow with circled plus - 27F4)
-2B33 LONG LEFTWARDS SQUIGGLE ARROW
- x (long rightwards squiggle arrow - 27FF)
- x (leftwards squiggle arrow - 21DC)
-2B34 LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
- x (rightwards two-headed arrow with vertical stroke - 2900)
-2B35 LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
- x (rightwards two-headed arrow with double vertical stroke - 2901)
-2B36 LEFTWARDS TWO-HEADED ARROW FROM BAR
- x (rightwards two-headed arrow from bar - 2905)
-2B37 LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
- x (rightwards two-headed triple dash arrow - 2910)
-2B38 LEFTWARDS ARROW WITH DOTTED STEM
- x (rightwards arrow with dotted stem - 2911)
-2B39 LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
- x (rightwards arrow with tail with vertical stroke - 2914)
-2B3A LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
- x (rightwards arrow with tail with double vertical stroke - 2915)
-2B3B LEFTWARDS TWO-HEADED ARROW WITH TAIL
- x (rightwards two-headed arrow with tail - 2916)
-2B3C LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
- x (rightwards two-headed arrow with tail with vertical stroke - 2917)
-2B3D LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
- x (rightwards two-headed arrow with tail with double vertical stroke - 2918)
-2B3E LEFTWARDS ARROW THROUGH X
- x (rightwards arrow through x - 2947)
-2B3F WAVE ARROW POINTING DIRECTLY LEFT
- x (wave arrow pointing directly right - 2933)
- x (leftwards wave arrow - 219C)
-2B40 EQUALS SIGN ABOVE LEFTWARDS ARROW
- x (equals sign above rightwards arrow - 2971)
-2B41 REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
- * mirror image of "2972"
- x (tilde operator above rightwards arrow - 2972)
-2B42 LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
- * mirror image of "2975"
- x (rightwards arrow above almost equal to - 2975)
-2B43 RIGHTWARDS ARROW THROUGH GREATER-THAN
- * mirror image of "2977"
- x (leftwards arrow through less-than - 2977)
-2B44 RIGHTWARDS ARROW THROUGH SUPERSET
- * mirror image of "297A"
- x (leftwards arrow through subset - 297A)
-2B45 LEFTWARDS QUADRUPLE ARROW
- x (upwards quadruple arrow - 27F0)
-2B46 RIGHTWARDS QUADRUPLE ARROW
-2B47 REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48 RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49 TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
- * mirror image of "2974"
- x (rightwards arrow above tilde operator - 2974)
-2B4C RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
- * mirror image of "2973"
- x (leftwards arrow above tilde operator - 2973)
-@ Stars
-2B50 WHITE MEDIUM STAR
- x (star operator - 22C6)
-2B51 BLACK SMALL STAR
- x (arabic five pointed star - 066D)
-2B52 WHITE SMALL STAR
-@ Pentagons
-2B53 BLACK RIGHT-POINTING PENTAGON
-2B54 WHITE RIGHT-POINTING PENTAGON
-@ Traffic sign from ARIB STD B24
-2B55 HEAVY LARGE CIRCLE
- = basic symbol for speed limit
- x (large circle - 25EF)
-@ Dictionary and map symbols from ARIB STD B24
-2B56 HEAVY OVAL WITH OVAL INSIDE
- = prefectural office
-2B57 HEAVY CIRCLE WITH CIRCLE INSIDE
- = municipal office
- x (bullseye - 25CE)
-2B58 HEAVY CIRCLE
- = town or village office
- x (white circle - 25CB)
-2B59 HEAVY CIRCLED SALTIRE
- = police station
- x (n-ary circled times operator - 2A02)
-@@ 2C00 Glagolitic 2C5F
-@ Capital letters
-2C00 GLAGOLITIC CAPITAL LETTER AZU
-2C01 GLAGOLITIC CAPITAL LETTER BUKY
-2C02 GLAGOLITIC CAPITAL LETTER VEDE
-2C03 GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C04 GLAGOLITIC CAPITAL LETTER DOBRO
-2C05 GLAGOLITIC CAPITAL LETTER YESTU
-2C06 GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C07 GLAGOLITIC CAPITAL LETTER DZELO
-2C08 GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C09 GLAGOLITIC CAPITAL LETTER IZHE
-2C0A GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C0B GLAGOLITIC CAPITAL LETTER I
-2C0C GLAGOLITIC CAPITAL LETTER DJERVI
-2C0D GLAGOLITIC CAPITAL LETTER KAKO
-2C0E GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C0F GLAGOLITIC CAPITAL LETTER MYSLITE
-2C10 GLAGOLITIC CAPITAL LETTER NASHI
-2C11 GLAGOLITIC CAPITAL LETTER ONU
-2C12 GLAGOLITIC CAPITAL LETTER POKOJI
-2C13 GLAGOLITIC CAPITAL LETTER RITSI
-2C14 GLAGOLITIC CAPITAL LETTER SLOVO
-2C15 GLAGOLITIC CAPITAL LETTER TVRIDO
-2C16 GLAGOLITIC CAPITAL LETTER UKU
-2C17 GLAGOLITIC CAPITAL LETTER FRITU
-2C18 GLAGOLITIC CAPITAL LETTER HERU
-2C19 GLAGOLITIC CAPITAL LETTER OTU
-2C1A GLAGOLITIC CAPITAL LETTER PE
-2C1B GLAGOLITIC CAPITAL LETTER SHTA
-2C1C GLAGOLITIC CAPITAL LETTER TSI
-2C1D GLAGOLITIC CAPITAL LETTER CHRIVI
-2C1E GLAGOLITIC CAPITAL LETTER SHA
-2C1F GLAGOLITIC CAPITAL LETTER YERU
-2C20 GLAGOLITIC CAPITAL LETTER YERI
-2C21 GLAGOLITIC CAPITAL LETTER YATI
-2C22 GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C23 GLAGOLITIC CAPITAL LETTER YU
-2C24 GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C25 GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C26 GLAGOLITIC CAPITAL LETTER YO
-2C27 GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C28 GLAGOLITIC CAPITAL LETTER BIG YUS
-2C29 GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C2A GLAGOLITIC CAPITAL LETTER FITA
-2C2B GLAGOLITIC CAPITAL LETTER IZHITSA
-2C2C GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C2D GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C2E GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-@ Small letters
-2C30 GLAGOLITIC SMALL LETTER AZU
-2C31 GLAGOLITIC SMALL LETTER BUKY
-2C32 GLAGOLITIC SMALL LETTER VEDE
-2C33 GLAGOLITIC SMALL LETTER GLAGOLI
-2C34 GLAGOLITIC SMALL LETTER DOBRO
-2C35 GLAGOLITIC SMALL LETTER YESTU
-2C36 GLAGOLITIC SMALL LETTER ZHIVETE
-2C37 GLAGOLITIC SMALL LETTER DZELO
-2C38 GLAGOLITIC SMALL LETTER ZEMLJA
-2C39 GLAGOLITIC SMALL LETTER IZHE
-2C3A GLAGOLITIC SMALL LETTER INITIAL IZHE
- x (cyrillic small letter iota - A647)
-2C3B GLAGOLITIC SMALL LETTER I
-2C3C GLAGOLITIC SMALL LETTER DJERVI
-2C3D GLAGOLITIC SMALL LETTER KAKO
-2C3E GLAGOLITIC SMALL LETTER LJUDIJE
-2C3F GLAGOLITIC SMALL LETTER MYSLITE
-2C40 GLAGOLITIC SMALL LETTER NASHI
-2C41 GLAGOLITIC SMALL LETTER ONU
-2C42 GLAGOLITIC SMALL LETTER POKOJI
-2C43 GLAGOLITIC SMALL LETTER RITSI
-2C44 GLAGOLITIC SMALL LETTER SLOVO
-2C45 GLAGOLITIC SMALL LETTER TVRIDO
-2C46 GLAGOLITIC SMALL LETTER UKU
-2C47 GLAGOLITIC SMALL LETTER FRITU
-2C48 GLAGOLITIC SMALL LETTER HERU
-2C49 GLAGOLITIC SMALL LETTER OTU
-2C4A GLAGOLITIC SMALL LETTER PE
-2C4B GLAGOLITIC SMALL LETTER SHTA
-2C4C GLAGOLITIC SMALL LETTER TSI
-2C4D GLAGOLITIC SMALL LETTER CHRIVI
-2C4E GLAGOLITIC SMALL LETTER SHA
-2C4F GLAGOLITIC SMALL LETTER YERU
-2C50 GLAGOLITIC SMALL LETTER YERI
-2C51 GLAGOLITIC SMALL LETTER YATI
-2C52 GLAGOLITIC SMALL LETTER SPIDERY HA
-2C53 GLAGOLITIC SMALL LETTER YU
-2C54 GLAGOLITIC SMALL LETTER SMALL YUS
-2C55 GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C56 GLAGOLITIC SMALL LETTER YO
-2C57 GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C58 GLAGOLITIC SMALL LETTER BIG YUS
-2C59 GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C5A GLAGOLITIC SMALL LETTER FITA
-2C5B GLAGOLITIC SMALL LETTER IZHITSA
-2C5C GLAGOLITIC SMALL LETTER SHTAPIC
-2C5D GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C5E GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-@@ 2C60 Latin Extended-C 2C7F
-@ Orthographic Latin additions
-2C60 LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C61 LATIN SMALL LETTER L WITH DOUBLE BAR
-2C62 LATIN CAPITAL LETTER L WITH MIDDLE TILDE
- * lowercase is 026B
-2C63 LATIN CAPITAL LETTER P WITH STROKE
- * lowercase is 1D7D
-2C64 LATIN CAPITAL LETTER R WITH TAIL
- * lowercase is 027D
-2C65 LATIN SMALL LETTER A WITH STROKE
- * uppercase is 023A
-2C66 LATIN SMALL LETTER T WITH DIAGONAL STROKE
- * uppercase is 023E
-@ Additions for Uighur
-2C67 LATIN CAPITAL LETTER H WITH DESCENDER
-2C68 LATIN SMALL LETTER H WITH DESCENDER
-2C69 LATIN CAPITAL LETTER K WITH DESCENDER
-2C6A LATIN SMALL LETTER K WITH DESCENDER
-2C6B LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6C LATIN SMALL LETTER Z WITH DESCENDER
-@ Miscellaneous additions
-2C6D LATIN CAPITAL LETTER ALPHA
- * lowercase is 0251
-2C6E LATIN CAPITAL LETTER M WITH HOOK
- * lowercase is 0271
-2C6F LATIN CAPITAL LETTER TURNED A
- * lowercase is 0250
-2C70 LATIN CAPITAL LETTER TURNED ALPHA
- * lowercase is 0252
-2C71 LATIN SMALL LETTER V WITH RIGHT HOOK
-2C72 LATIN CAPITAL LETTER W WITH HOOK
-2C73 LATIN SMALL LETTER W WITH HOOK
-2C74 LATIN SMALL LETTER V WITH CURL
-@ Claudian letters
-@+ Claudian letters in inscriptions are uppercase, but may be transcribed by scholars in lowercase.
-2C75 LATIN CAPITAL LETTER HALF H
- x (greek capital letter heta - 0370)
- x (turned capital f - 2132)
- x (roman numeral reversed one hundred - 2183)
-2C76 LATIN SMALL LETTER HALF H
- x (greek small letter heta - 0371)
-@ Additions for UPA
-2C77 LATIN SMALL LETTER TAILLESS PHI
- * medium rounded o
-2C78 LATIN SMALL LETTER E WITH NOTCH
-2C79 LATIN SMALL LETTER TURNED R WITH TAIL
-2C7A LATIN SMALL LETTER O WITH LOW RING INSIDE
-2C7B LATIN LETTER SMALL CAPITAL TURNED E
-2C7C LATIN SUBSCRIPT SMALL LETTER J
- # <sub> 006A
-2C7D MODIFIER LETTER CAPITAL V
- # <super> 0056
-@ Additions for Shona
-2C7E LATIN CAPITAL LETTER S WITH SWASH TAIL
- * lower case is 023F
-2C7F LATIN CAPITAL LETTER Z WITH SWASH TAIL
- * lower case is 0240
-@@ 2C80 Coptic 2CFF
-@+ Other Coptic letters derived from Demotic are encoded in the Greek and Coptic block.
-@ Bohairic Coptic letters
-2C80 COPTIC CAPITAL LETTER ALFA
-2C81 COPTIC SMALL LETTER ALFA
-2C82 COPTIC CAPITAL LETTER VIDA
-2C83 COPTIC SMALL LETTER VIDA
-2C84 COPTIC CAPITAL LETTER GAMMA
-2C85 COPTIC SMALL LETTER GAMMA
-2C86 COPTIC CAPITAL LETTER DALDA
-2C87 COPTIC SMALL LETTER DALDA
-2C88 COPTIC CAPITAL LETTER EIE
-2C89 COPTIC SMALL LETTER EIE
-2C8A COPTIC CAPITAL LETTER SOU
-2C8B COPTIC SMALL LETTER SOU
-2C8C COPTIC CAPITAL LETTER ZATA
-2C8D COPTIC SMALL LETTER ZATA
-2C8E COPTIC CAPITAL LETTER HATE
-2C8F COPTIC SMALL LETTER HATE
-2C90 COPTIC CAPITAL LETTER THETHE
-2C91 COPTIC SMALL LETTER THETHE
-2C92 COPTIC CAPITAL LETTER IAUDA
-2C93 COPTIC SMALL LETTER IAUDA
-2C94 COPTIC CAPITAL LETTER KAPA
-2C95 COPTIC SMALL LETTER KAPA
-2C96 COPTIC CAPITAL LETTER LAULA
-2C97 COPTIC SMALL LETTER LAULA
-2C98 COPTIC CAPITAL LETTER MI
-2C99 COPTIC SMALL LETTER MI
-2C9A COPTIC CAPITAL LETTER NI
-2C9B COPTIC SMALL LETTER NI
-2C9C COPTIC CAPITAL LETTER KSI
-2C9D COPTIC SMALL LETTER KSI
-2C9E COPTIC CAPITAL LETTER O
-2C9F COPTIC SMALL LETTER O
-2CA0 COPTIC CAPITAL LETTER PI
-2CA1 COPTIC SMALL LETTER PI
-2CA2 COPTIC CAPITAL LETTER RO
-2CA3 COPTIC SMALL LETTER RO
-2CA4 COPTIC CAPITAL LETTER SIMA
-2CA5 COPTIC SMALL LETTER SIMA
-2CA6 COPTIC CAPITAL LETTER TAU
-2CA7 COPTIC SMALL LETTER TAU
-2CA8 COPTIC CAPITAL LETTER UA
-2CA9 COPTIC SMALL LETTER UA
-2CAA COPTIC CAPITAL LETTER FI
-2CAB COPTIC SMALL LETTER FI
-2CAC COPTIC CAPITAL LETTER KHI
-2CAD COPTIC SMALL LETTER KHI
-2CAE COPTIC CAPITAL LETTER PSI
-2CAF COPTIC SMALL LETTER PSI
-2CB0 COPTIC CAPITAL LETTER OOU
-2CB1 COPTIC SMALL LETTER OOU
-@ Old Coptic and dialect letters
-2CB2 COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB3 COPTIC SMALL LETTER DIALECT-P ALEF
-2CB4 COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB5 COPTIC SMALL LETTER OLD COPTIC AIN
-2CB6 COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB7 COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB8 COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CB9 COPTIC SMALL LETTER DIALECT-P KAPA
-2CBA COPTIC CAPITAL LETTER DIALECT-P NI
-2CBB COPTIC SMALL LETTER DIALECT-P NI
-2CBC COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBD COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBE COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CBF COPTIC SMALL LETTER OLD COPTIC OOU
-2CC0 COPTIC CAPITAL LETTER SAMPI
-2CC1 COPTIC SMALL LETTER SAMPI
-2CC2 COPTIC CAPITAL LETTER CROSSED SHEI
-2CC3 COPTIC SMALL LETTER CROSSED SHEI
-2CC4 COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC5 COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC6 COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC7 COPTIC SMALL LETTER OLD COPTIC ESH
-2CC8 COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CC9 COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCA COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCB COPTIC SMALL LETTER DIALECT-P HORI
-2CCC COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCD COPTIC SMALL LETTER OLD COPTIC HORI
-2CCE COPTIC CAPITAL LETTER OLD COPTIC HA
-2CCF COPTIC SMALL LETTER OLD COPTIC HA
-2CD0 COPTIC CAPITAL LETTER L-SHAPED HA
-2CD1 COPTIC SMALL LETTER L-SHAPED HA
-2CD2 COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD3 COPTIC SMALL LETTER OLD COPTIC HEI
-2CD4 COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD5 COPTIC SMALL LETTER OLD COPTIC HAT
-2CD6 COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD7 COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD8 COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CD9 COPTIC SMALL LETTER OLD COPTIC DJA
-2CDA COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDB COPTIC SMALL LETTER OLD COPTIC SHIMA
-@ Old Nubian letters
-2CDC COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDD COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDE COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CDF COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE0 COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE1 COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE2 COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CE3 COPTIC SMALL LETTER OLD NUBIAN WAU
-@ Symbols
-2CE4 COPTIC SYMBOL KAI
- x (greek kai symbol - 03D7)
-2CE5 COPTIC SYMBOL MI RO
-2CE6 COPTIC SYMBOL PI RO
-2CE7 COPTIC SYMBOL STAUROS
-2CE8 COPTIC SYMBOL TAU RO
-2CE9 COPTIC SYMBOL KHI RO
- x (chi rho - 2627)
-2CEA COPTIC SYMBOL SHIMA SIMA
-@ Cryptogrammic letters
-2CEB COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CEC COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CED COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CEE COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-@ Combining marks
-2CEF COPTIC COMBINING NI ABOVE
- * this mark is used in final position and extends above the following character (usually a space)
-2CF0 COPTIC COMBINING SPIRITUS ASPER
- x (combining reversed comma above - 0314)
- x (combining cyrillic dasia pneumata - 0485)
-2CF1 COPTIC COMBINING SPIRITUS LENIS
- x (combining comma above - 0313)
- x (combining cyrillic psili pneumata - 0486)
-@ Old Nubian punctuation
-2CF9 COPTIC OLD NUBIAN FULL STOP
-2CFA COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC COPTIC OLD NUBIAN VERSE DIVIDER
-@ Numeric character
-2CFD COPTIC FRACTION ONE HALF
-@ Punctuation
-2CFE COPTIC FULL STOP
-2CFF COPTIC MORPHOLOGICAL DIVIDER
-@@ 2D00 Georgian Supplement 2D2F
-@ Small letters (Khutsuri)
-@+ This is the lowercase of the old ecclesiastical alphabet. See the Georgian block for uppercase Asomtavruli.
-2D00 GEORGIAN SMALL LETTER AN
-2D01 GEORGIAN SMALL LETTER BAN
-2D02 GEORGIAN SMALL LETTER GAN
-2D03 GEORGIAN SMALL LETTER DON
-2D04 GEORGIAN SMALL LETTER EN
-2D05 GEORGIAN SMALL LETTER VIN
-2D06 GEORGIAN SMALL LETTER ZEN
-2D07 GEORGIAN SMALL LETTER TAN
-2D08 GEORGIAN SMALL LETTER IN
-2D09 GEORGIAN SMALL LETTER KAN
-2D0A GEORGIAN SMALL LETTER LAS
-2D0B GEORGIAN SMALL LETTER MAN
-2D0C GEORGIAN SMALL LETTER NAR
-2D0D GEORGIAN SMALL LETTER ON
-2D0E GEORGIAN SMALL LETTER PAR
-2D0F GEORGIAN SMALL LETTER ZHAR
-2D10 GEORGIAN SMALL LETTER RAE
-2D11 GEORGIAN SMALL LETTER SAN
-2D12 GEORGIAN SMALL LETTER TAR
-2D13 GEORGIAN SMALL LETTER UN
-2D14 GEORGIAN SMALL LETTER PHAR
-2D15 GEORGIAN SMALL LETTER KHAR
-2D16 GEORGIAN SMALL LETTER GHAN
-2D17 GEORGIAN SMALL LETTER QAR
-2D18 GEORGIAN SMALL LETTER SHIN
-2D19 GEORGIAN SMALL LETTER CHIN
-2D1A GEORGIAN SMALL LETTER CAN
-2D1B GEORGIAN SMALL LETTER JIL
-2D1C GEORGIAN SMALL LETTER CIL
-2D1D GEORGIAN SMALL LETTER CHAR
-2D1E GEORGIAN SMALL LETTER XAN
-2D1F GEORGIAN SMALL LETTER JHAN
-2D20 GEORGIAN SMALL LETTER HAE
-2D21 GEORGIAN SMALL LETTER HE
-2D22 GEORGIAN SMALL LETTER HIE
-2D23 GEORGIAN SMALL LETTER WE
-2D24 GEORGIAN SMALL LETTER HAR
-2D25 GEORGIAN SMALL LETTER HOE
-@@ 2D30 Tifinagh 2D7F
-@ Letters
-2D30 TIFINAGH LETTER YA
-2D31 TIFINAGH LETTER YAB
-2D32 TIFINAGH LETTER YABH
-2D33 TIFINAGH LETTER YAG
-2D34 TIFINAGH LETTER YAGHH
-2D35 TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36 TIFINAGH LETTER YAJ
-2D37 TIFINAGH LETTER YAD
-2D38 TIFINAGH LETTER YADH
-2D39 TIFINAGH LETTER YADD
-2D3A TIFINAGH LETTER YADDH
-2D3B TIFINAGH LETTER YEY
-2D3C TIFINAGH LETTER YAF
-2D3D TIFINAGH LETTER YAK
-2D3E TIFINAGH LETTER TUAREG YAK
-2D3F TIFINAGH LETTER YAKHH
-2D40 TIFINAGH LETTER YAH
- = Tuareg yab
-2D41 TIFINAGH LETTER BERBER ACADEMY YAH
-2D42 TIFINAGH LETTER TUAREG YAH
-2D43 TIFINAGH LETTER YAHH
-2D44 TIFINAGH LETTER YAA
-2D45 TIFINAGH LETTER YAKH
-2D46 TIFINAGH LETTER TUAREG YAKH
-2D47 TIFINAGH LETTER YAQ
-2D48 TIFINAGH LETTER TUAREG YAQ
-2D49 TIFINAGH LETTER YI
-2D4A TIFINAGH LETTER YAZH
-2D4B TIFINAGH LETTER AHAGGAR YAZH
-2D4C TIFINAGH LETTER TUAREG YAZH
-2D4D TIFINAGH LETTER YAL
-2D4E TIFINAGH LETTER YAM
-2D4F TIFINAGH LETTER YAN
-2D50 TIFINAGH LETTER TUAREG YAGN
-2D51 TIFINAGH LETTER TUAREG YANG
-2D52 TIFINAGH LETTER YAP
-2D53 TIFINAGH LETTER YU
- = Tuareg yaw
-2D54 TIFINAGH LETTER YAR
-2D55 TIFINAGH LETTER YARR
-2D56 TIFINAGH LETTER YAGH
-2D57 TIFINAGH LETTER TUAREG YAGH
-2D58 TIFINAGH LETTER AYER YAGH
- = Adrar yaj
-2D59 TIFINAGH LETTER YAS
-2D5A TIFINAGH LETTER YASS
-2D5B TIFINAGH LETTER YASH
-2D5C TIFINAGH LETTER YAT
-2D5D TIFINAGH LETTER YATH
-2D5E TIFINAGH LETTER YACH
-2D5F TIFINAGH LETTER YATT
-2D60 TIFINAGH LETTER YAV
-2D61 TIFINAGH LETTER YAW
-2D62 TIFINAGH LETTER YAY
-2D63 TIFINAGH LETTER YAZ
-2D64 TIFINAGH LETTER TAWELLEMET YAZ
- = harpoon yaz
-2D65 TIFINAGH LETTER YAZZ
-@ Modifier letter
-2D6F TIFINAGH MODIFIER LETTER LABIALIZATION MARK
- = tamatart
- # <super> 2D61
-@@ 2D80 Ethiopic Extended 2DDF
-@ Syllables for Me'en
-2D80 ETHIOPIC SYLLABLE LOA
-2D81 ETHIOPIC SYLLABLE MOA
-2D82 ETHIOPIC SYLLABLE ROA
-2D83 ETHIOPIC SYLLABLE SOA
-2D84 ETHIOPIC SYLLABLE SHOA
-2D85 ETHIOPIC SYLLABLE BOA
-2D86 ETHIOPIC SYLLABLE TOA
-2D87 ETHIOPIC SYLLABLE COA
-2D88 ETHIOPIC SYLLABLE NOA
-2D89 ETHIOPIC SYLLABLE NYOA
-2D8A ETHIOPIC SYLLABLE GLOTTAL OA
-2D8B ETHIOPIC SYLLABLE ZOA
-2D8C ETHIOPIC SYLLABLE DOA
-2D8D ETHIOPIC SYLLABLE DDOA
-2D8E ETHIOPIC SYLLABLE JOA
-2D8F ETHIOPIC SYLLABLE THOA
-2D90 ETHIOPIC SYLLABLE CHOA
-2D91 ETHIOPIC SYLLABLE PHOA
-2D92 ETHIOPIC SYLLABLE POA
-@ Syllables for Blin
-2D93 ETHIOPIC SYLLABLE GGWA
-2D94 ETHIOPIC SYLLABLE GGWI
-2D95 ETHIOPIC SYLLABLE GGWEE
-2D96 ETHIOPIC SYLLABLE GGWE
-@ Syllables for Sebatbeit
-2DA0 ETHIOPIC SYLLABLE SSA
-2DA1 ETHIOPIC SYLLABLE SSU
-2DA2 ETHIOPIC SYLLABLE SSI
-2DA3 ETHIOPIC SYLLABLE SSAA
-2DA4 ETHIOPIC SYLLABLE SSEE
-2DA5 ETHIOPIC SYLLABLE SSE
-2DA6 ETHIOPIC SYLLABLE SSO
-2DA8 ETHIOPIC SYLLABLE CCA
-2DA9 ETHIOPIC SYLLABLE CCU
-2DAA ETHIOPIC SYLLABLE CCI
-2DAB ETHIOPIC SYLLABLE CCAA
-2DAC ETHIOPIC SYLLABLE CCEE
-2DAD ETHIOPIC SYLLABLE CCE
-2DAE ETHIOPIC SYLLABLE CCO
-2DB0 ETHIOPIC SYLLABLE ZZA
-2DB1 ETHIOPIC SYLLABLE ZZU
-2DB2 ETHIOPIC SYLLABLE ZZI
-2DB3 ETHIOPIC SYLLABLE ZZAA
-2DB4 ETHIOPIC SYLLABLE ZZEE
-2DB5 ETHIOPIC SYLLABLE ZZE
-2DB6 ETHIOPIC SYLLABLE ZZO
-2DB8 ETHIOPIC SYLLABLE CCHA
-2DB9 ETHIOPIC SYLLABLE CCHU
-2DBA ETHIOPIC SYLLABLE CCHI
-2DBB ETHIOPIC SYLLABLE CCHAA
-2DBC ETHIOPIC SYLLABLE CCHEE
-2DBD ETHIOPIC SYLLABLE CCHE
-2DBE ETHIOPIC SYLLABLE CCHO
-2DC0 ETHIOPIC SYLLABLE QYA
-2DC1 ETHIOPIC SYLLABLE QYU
-2DC2 ETHIOPIC SYLLABLE QYI
-2DC3 ETHIOPIC SYLLABLE QYAA
-2DC4 ETHIOPIC SYLLABLE QYEE
-2DC5 ETHIOPIC SYLLABLE QYE
-2DC6 ETHIOPIC SYLLABLE QYO
-2DC8 ETHIOPIC SYLLABLE KYA
-2DC9 ETHIOPIC SYLLABLE KYU
-2DCA ETHIOPIC SYLLABLE KYI
-2DCB ETHIOPIC SYLLABLE KYAA
-2DCC ETHIOPIC SYLLABLE KYEE
-2DCD ETHIOPIC SYLLABLE KYE
-2DCE ETHIOPIC SYLLABLE KYO
-2DD0 ETHIOPIC SYLLABLE XYA
-2DD1 ETHIOPIC SYLLABLE XYU
-2DD2 ETHIOPIC SYLLABLE XYI
-2DD3 ETHIOPIC SYLLABLE XYAA
-2DD4 ETHIOPIC SYLLABLE XYEE
-2DD5 ETHIOPIC SYLLABLE XYE
-2DD6 ETHIOPIC SYLLABLE XYO
-2DD8 ETHIOPIC SYLLABLE GYA
-2DD9 ETHIOPIC SYLLABLE GYU
-2DDA ETHIOPIC SYLLABLE GYI
-2DDB ETHIOPIC SYLLABLE GYAA
-2DDC ETHIOPIC SYLLABLE GYEE
-2DDD ETHIOPIC SYLLABLE GYE
-2DDE ETHIOPIC SYLLABLE GYO
-@@ 2DE0 Cyrillic Extended-A 2DFF
-@ Old Church Slavonic combining letters
-2DE0 COMBINING CYRILLIC LETTER BE
-2DE1 COMBINING CYRILLIC LETTER VE
-2DE2 COMBINING CYRILLIC LETTER GHE
-2DE3 COMBINING CYRILLIC LETTER DE
-2DE4 COMBINING CYRILLIC LETTER ZHE
-2DE5 COMBINING CYRILLIC LETTER ZE
-2DE6 COMBINING CYRILLIC LETTER KA
-2DE7 COMBINING CYRILLIC LETTER EL
-2DE8 COMBINING CYRILLIC LETTER EM
- x (combining latin letter small capital m - 1DDF)
-2DE9 COMBINING CYRILLIC LETTER EN
-2DEA COMBINING CYRILLIC LETTER O
- x (combining latin small letter o - 0366)
-2DEB COMBINING CYRILLIC LETTER PE
-2DEC COMBINING CYRILLIC LETTER ER
-2DED COMBINING CYRILLIC LETTER ES
- x (combining latin small letter c - 0368)
-2DEE COMBINING CYRILLIC LETTER TE
-2DEF COMBINING CYRILLIC LETTER HA
- x (combining latin small letter x - 036F)
-2DF0 COMBINING CYRILLIC LETTER TSE
-2DF1 COMBINING CYRILLIC LETTER CHE
-2DF2 COMBINING CYRILLIC LETTER SHA
-2DF3 COMBINING CYRILLIC LETTER SHCHA
-2DF4 COMBINING CYRILLIC LETTER FITA
-2DF5 COMBINING CYRILLIC LETTER ES-TE
-2DF6 COMBINING CYRILLIC LETTER A
- x (combining latin small letter a - 0363)
-2DF7 COMBINING CYRILLIC LETTER IE
- x (combining latin small letter e - 0364)
-2DF8 COMBINING CYRILLIC LETTER DJERV
-2DF9 COMBINING CYRILLIC LETTER MONOGRAPH UK
-2DFA COMBINING CYRILLIC LETTER YAT
-2DFB COMBINING CYRILLIC LETTER YU
-2DFC COMBINING CYRILLIC LETTER IOTIFIED A
-2DFD COMBINING CYRILLIC LETTER LITTLE YUS
-2DFE COMBINING CYRILLIC LETTER BIG YUS
-2DFF COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-@@ 2E00 Supplemental Punctuation 2E7F
-@ New Testament editorial symbols
-2E00 RIGHT ANGLE SUBSTITUTION MARKER
- x (top left corner - 231C)
-2E01 RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 LEFT SUBSTITUTION BRACKET
-2E03 RIGHT SUBSTITUTION BRACKET
-2E04 LEFT DOTTED SUBSTITUTION BRACKET
-2E05 RIGHT DOTTED SUBSTITUTION BRACKET
-2E06 RAISED INTERPOLATION MARKER
- x (down tack - 22A4)
-2E07 RAISED DOTTED INTERPOLATION MARKER
-2E08 DOTTED TRANSPOSITION MARKER
-2E09 LEFT TRANSPOSITION BRACKET
-2E0A RIGHT TRANSPOSITION BRACKET
-2E0B RAISED SQUARE
- * used as an opening raised omission bracket
-2E0C LEFT RAISED OMISSION BRACKET
- * used as an opening or closing raised omission bracket
-2E0D RIGHT RAISED OMISSION BRACKET
- * used as a closing or opening raised omission bracket
-@ Ancient Greek textual symbols
-2E0E EDITORIAL CORONIS
- x (greek koronis - 1FBD)
-2E0F PARAGRAPHOS
-2E10 FORKED PARAGRAPHOS
-2E11 REVERSED FORKED PARAGRAPHOS
-2E12 HYPODIASTOLE
-2E13 DOTTED OBELOS
- * glyph variants may look like '00F7' or '2238'
- x (commercial minus sign - 2052)
-2E14 DOWNWARDS ANCORA
- * contrary to its formal name this symbol points upwards
-2E15 UPWARDS ANCORA
- * contrary to its formal name this symbol points downwards
-2E16 DOTTED RIGHT-POINTING ANGLE
- = diple periestigmene
-@ Ancient Near-Eastern linguistic symbol
-2E17 DOUBLE OBLIQUE HYPHEN
- * used in ancient Near-Eastern linguistics
- * hyphen in Fraktur text uses 002D or 2010, but with a '2E17' glyph in Fraktur fonts
- x (hyphen-minus - 002D)
- x (equals sign - 003D)
- x (hyphen - 2010)
-@ General punctuation
-2E18 INVERTED INTERROBANG
- = gnaborretni
- x (interrobang - 203D)
-2E19 PALM BRANCH
- * used as a separator
-@ Dictionary punctuation
-@+ These punctuation marks are used mostly in German dictionaries, to indicate umlaut or case changes with abbreviated stems.
-2E1A HYPHEN WITH DIAERESIS
- * indicates umlaut of the stem vowel of a plural form
-2E1B TILDE WITH RING ABOVE
- * indicates change in case for derived form
-@ Brackets
-2E1C LEFT LOW PARAPHRASE BRACKET
-2E1D RIGHT LOW PARAPHRASE BRACKET
- * used in N'Ko
-@ Dictionary punctuation
-2E1E TILDE WITH DOT ABOVE
- * indicates derived form changes to uppercase
-2E1F TILDE WITH DOT BELOW
- * indicates derived form changes to lowercase
-@ Brackets
-2E20 LEFT VERTICAL BAR WITH QUILL
-2E21 RIGHT VERTICAL BAR WITH QUILL
-@ Half brackets
-@+ These form a set of four corner brackets and are used editorially. They are distinguished from mathematical floor and ceiling characters. Occasionally quine corners are substituted for half brackets.
-2E22 TOP LEFT HALF BRACKET
- x (left ceiling - 2308)
- x (top left corner - 231C)
- x (left corner bracket - 300C)
-2E23 TOP RIGHT HALF BRACKET
-2E24 BOTTOM LEFT HALF BRACKET
-2E25 BOTTOM RIGHT HALF BRACKET
-@ Brackets
-2E26 LEFT SIDEWAYS U BRACKET
- x (subset of - 2282)
-2E27 RIGHT SIDEWAYS U BRACKET
- x (superset of - 2283)
-2E28 LEFT DOUBLE PARENTHESIS
- x (left white parenthesis - 2985)
- x (fullwidth left white parenthesis - FF5F)
-2E29 RIGHT DOUBLE PARENTHESIS
-@ Historic punctuation
-2E2A TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C SQUARED FOUR DOT PUNCTUATION
-2E2D FIVE DOT MARK
-2E2E REVERSED QUESTION MARK
- = punctus percontativus
- x (question mark - 003F)
- x (inverted question mark - 00BF)
- x (arabic question mark - 061F)
-2E2F VERTICAL TILDE
- * used for Cyrillic yerik
- x (combining vertical tilde - 033E)
- x (cyrillic payerok - A67F)
-2E30 RING POINT
- * used in Avestan
- x (ring operator - 2218)
- x (white bullet - 25E6)
-2E31 WORD SEPARATOR MIDDLE DOT
- * used in Avestan, Samaritan, ...
- x (middle dot - 00B7)
-@@ 2E80 CJK Radicals Supplement 2EFF
-@ CJK radicals supplement
-2E80 CJK RADICAL REPEAT
-2E81 CJK RADICAL CLIFF
- x 5382
-2E82 CJK RADICAL SECOND ONE
- x 4E5B
-2E83 CJK RADICAL SECOND TWO
- x 4E5A
-2E84 CJK RADICAL SECOND THREE
- x 4E59
-2E85 CJK RADICAL PERSON
- * form used on left side
- x 4EBB
-2E86 CJK RADICAL BOX
- x 5182
-2E87 CJK RADICAL TABLE
- x 51E0
-2E88 CJK RADICAL KNIFE ONE
- * form used at top
- x 5200
-2E89 CJK RADICAL KNIFE TWO
- * form used on right side
- x 5202
-2E8A CJK RADICAL DIVINATION
- * form used at top
- x 535C
-2E8B CJK RADICAL SEAL
- * form used at bottom
- x 353E
-2E8C CJK RADICAL SMALL ONE
- * form used at top
- x 5C0F
-2E8D CJK RADICAL SMALL TWO
- * form used at top
- x 5C0F
-2E8E CJK RADICAL LAME ONE
- x 5C22
-2E8F CJK RADICAL LAME TWO
- x 5C23
-2E90 CJK RADICAL LAME THREE
- x 5C22
-2E91 CJK RADICAL LAME FOUR
- x 5C23
-2E92 CJK RADICAL SNAKE
- x 5DF3
-2E93 CJK RADICAL THREAD
- x 5E7A
-2E94 CJK RADICAL SNOUT ONE
- x 5F51
-2E95 CJK RADICAL SNOUT TWO
- x 5F50
-2E96 CJK RADICAL HEART ONE
- * form used on left side
- x 5FC4
-2E97 CJK RADICAL HEART TWO
- * form used at bottom
- x 5FC3
-2E98 CJK RADICAL HAND
- * form used on left side
- x 624C
-2E99 CJK RADICAL RAP
- * form used on right side
- x 6535
-2E9B CJK RADICAL CHOKE
- x 65E1
-2E9C CJK RADICAL SUN
- x 65E5
-2E9D CJK RADICAL MOON
- x 6708
-2E9E CJK RADICAL DEATH
- x 6B7A
-2E9F CJK RADICAL MOTHER
- # 6BCD
-2EA0 CJK RADICAL CIVILIAN
- x 6C11
-2EA1 CJK RADICAL WATER ONE
- * form used on left side
- x 6C35
-2EA2 CJK RADICAL WATER TWO
- * form used (rarely) at bottom
- x 6C3A
-2EA3 CJK RADICAL FIRE
- * form used at bottom
- x 706C
-2EA4 CJK RADICAL PAW ONE
- * form used at top
- x 722B
-2EA5 CJK RADICAL PAW TWO
- * form used at top
- x 722B
-2EA6 CJK RADICAL SIMPLIFIED HALF TREE TRUNK
- x 4E2C
-2EA7 CJK RADICAL COW
- x 725B
-2EA8 CJK RADICAL DOG
- * form used on left side
- x 72AD
-2EA9 CJK RADICAL JADE
- * form used on left side
- x 738B
-2EAA CJK RADICAL BOLT OF CLOTH
- * form used on left side
- x 758B
-2EAB CJK RADICAL EYE
- * form used at top
- x (cjk radical net two - 2EB2)
- x 76EE
-2EAC CJK RADICAL SPIRIT ONE
- x 793A
-2EAD CJK RADICAL SPIRIT TWO
- x 793B
-2EAE CJK RADICAL BAMBOO
- x 7AF9
-2EAF CJK RADICAL SILK
- * form used on left side
- x 7CF9
-2EB0 CJK RADICAL C-SIMPLIFIED SILK
- * form used on left side
- x 7E9F
-2EB1 CJK RADICAL NET ONE
- x 7F53
-2EB2 CJK RADICAL NET TWO
- x (cjk radical eye - 2EAB)
- x 7F52
-2EB3 CJK RADICAL NET THREE
- x 7F51
-2EB4 CJK RADICAL NET FOUR
- x 7F51
-2EB5 CJK RADICAL MESH
- x 2626B
-2EB6 CJK RADICAL SHEEP
- * form used on left side
- x 7F8A
-2EB7 CJK RADICAL RAM
- * form used at top
- x 7F8A
-2EB8 CJK RADICAL EWE
- x 7F8B
-2EB9 CJK RADICAL OLD
- x 8002
-2EBA CJK RADICAL BRUSH ONE
- x 8080
-2EBB CJK RADICAL BRUSH TWO
- x 807F
-2EBC CJK RADICAL MEAT
- x 8089
-2EBD CJK RADICAL MORTAR
- x 81FC
-2EBE CJK RADICAL GRASS ONE
- x 8279
-2EBF CJK RADICAL GRASS TWO
- x 8279
-2EC0 CJK RADICAL GRASS THREE
- x 8279
-2EC1 CJK RADICAL TIGER
- x 864E
-2EC2 CJK RADICAL CLOTHES
- * form used on left side
- x 8864
-2EC3 CJK RADICAL WEST ONE
- * form used at top
- x 8980
-2EC4 CJK RADICAL WEST TWO
- * form used on left side
- x 897F
-2EC5 CJK RADICAL C-SIMPLIFIED SEE
- x 89C1
-2EC6 CJK RADICAL SIMPLIFIED HORN
- x 89D2
-2EC7 CJK RADICAL HORN
- x 278B2
-2EC8 CJK RADICAL C-SIMPLIFIED SPEECH
- x 8BA0
-2EC9 CJK RADICAL C-SIMPLIFIED SHELL
- x 8D1D
-2ECA CJK RADICAL FOOT
- * form used on left side
- x 8DB3
-2ECB CJK RADICAL C-SIMPLIFIED CART
- x 8F66
-2ECC CJK RADICAL SIMPLIFIED WALK
- x 8FB6
-2ECD CJK RADICAL WALK ONE
- x 8FB6
-2ECE CJK RADICAL WALK TWO
- x 8FB6
-2ECF CJK RADICAL CITY
- * form used on right side
- x 9091
-2ED0 CJK RADICAL C-SIMPLIFIED GOLD
- x 9485
-2ED1 CJK RADICAL LONG ONE
- x 9577
-2ED2 CJK RADICAL LONG TWO
- * form used on left side
- x 9578
-2ED3 CJK RADICAL C-SIMPLIFIED LONG
- x 957F
-2ED4 CJK RADICAL C-SIMPLIFIED GATE
- x 95E8
-2ED5 CJK RADICAL MOUND ONE
- x 961C
- x 28E0F
-2ED6 CJK RADICAL MOUND TWO
- * form used on left side
- x 961D
-2ED7 CJK RADICAL RAIN
- x 96E8
-2ED8 CJK RADICAL BLUE
- x 9752
-2ED9 CJK RADICAL C-SIMPLIFIED TANNED LEATHER
- x 97E6
-2EDA CJK RADICAL C-SIMPLIFIED LEAF
- x 9875
-2EDB CJK RADICAL C-SIMPLIFIED WIND
- x 98CE
-2EDC CJK RADICAL C-SIMPLIFIED FLY
- x 98DE
-2EDD CJK RADICAL EAT ONE
- * form used at bottom
- x 98DF
-2EDE CJK RADICAL EAT TWO
- * form used on left side
- x 2967F
-2EDF CJK RADICAL EAT THREE
- * form used on left side
- x 98E0
-2EE0 CJK RADICAL C-SIMPLIFIED EAT
- * form used on left side
- x 9963
-2EE1 CJK RADICAL HEAD
- x 29810
-2EE2 CJK RADICAL C-SIMPLIFIED HORSE
- x 9A6C
-2EE3 CJK RADICAL BONE
- x 9AA8
-2EE4 CJK RADICAL GHOST
- x 9B3C
-2EE5 CJK RADICAL C-SIMPLIFIED FISH
- x 9C7C
-2EE6 CJK RADICAL C-SIMPLIFIED BIRD
- x 9E1F
-2EE7 CJK RADICAL C-SIMPLIFIED SALT
- x 9E75
-2EE8 CJK RADICAL SIMPLIFIED WHEAT
- x 9EA6
-2EE9 CJK RADICAL SIMPLIFIED YELLOW
- x 9EC4
-2EEA CJK RADICAL C-SIMPLIFIED FROG
- x 9EFE
-2EEB CJK RADICAL J-SIMPLIFIED EVEN
- x 6589
-2EEC CJK RADICAL C-SIMPLIFIED EVEN
- x 9F50
-2EED CJK RADICAL J-SIMPLIFIED TOOTH
- x 6B6F
-2EEE CJK RADICAL C-SIMPLIFIED TOOTH
- x 9F7F
-2EEF CJK RADICAL J-SIMPLIFIED DRAGON
- x 9F8D
-2EF0 CJK RADICAL C-SIMPLIFIED DRAGON
- x 9F99
-2EF1 CJK RADICAL TURTLE
- x 9F9C
-2EF2 CJK RADICAL J-SIMPLIFIED TURTLE
- x 4E80
-2EF3 CJK RADICAL C-SIMPLIFIED TURTLE
- # 9F9F
-@@ 2F00 Kangxi Radicals 2FDF
-@ Kangxi radicals
-2F00 KANGXI RADICAL ONE
- # 4E00
-2F01 KANGXI RADICAL LINE
- # 4E28
-2F02 KANGXI RADICAL DOT
- # 4E36
-2F03 KANGXI RADICAL SLASH
- # 4E3F
-2F04 KANGXI RADICAL SECOND
- # 4E59
-2F05 KANGXI RADICAL HOOK
- # 4E85
-2F06 KANGXI RADICAL TWO
- # 4E8C
-2F07 KANGXI RADICAL LID
- # 4EA0
-2F08 KANGXI RADICAL MAN
- # 4EBA
-2F09 KANGXI RADICAL LEGS
- # 513F
-2F0A KANGXI RADICAL ENTER
- # 5165
-2F0B KANGXI RADICAL EIGHT
- # 516B
-2F0C KANGXI RADICAL DOWN BOX
- # 5182
-2F0D KANGXI RADICAL COVER
- # 5196
-2F0E KANGXI RADICAL ICE
- # 51AB
-2F0F KANGXI RADICAL TABLE
- # 51E0
-2F10 KANGXI RADICAL OPEN BOX
- # 51F5
-2F11 KANGXI RADICAL KNIFE
- # 5200
-2F12 KANGXI RADICAL POWER
- # 529B
-2F13 KANGXI RADICAL WRAP
- # 52F9
-2F14 KANGXI RADICAL SPOON
- # 5315
-2F15 KANGXI RADICAL RIGHT OPEN BOX
- # 531A
-2F16 KANGXI RADICAL HIDING ENCLOSURE
- # 5338
-2F17 KANGXI RADICAL TEN
- # 5341
-2F18 KANGXI RADICAL DIVINATION
- # 535C
-2F19 KANGXI RADICAL SEAL
- # 5369
-2F1A KANGXI RADICAL CLIFF
- # 5382
-2F1B KANGXI RADICAL PRIVATE
- # 53B6
-2F1C KANGXI RADICAL AGAIN
- # 53C8
-2F1D KANGXI RADICAL MOUTH
- # 53E3
-2F1E KANGXI RADICAL ENCLOSURE
- # 56D7
-2F1F KANGXI RADICAL EARTH
- # 571F
-2F20 KANGXI RADICAL SCHOLAR
- # 58EB
-2F21 KANGXI RADICAL GO
- # 5902
-2F22 KANGXI RADICAL GO SLOWLY
- # 590A
-2F23 KANGXI RADICAL EVENING
- # 5915
-2F24 KANGXI RADICAL BIG
- # 5927
-2F25 KANGXI RADICAL WOMAN
- # 5973
-2F26 KANGXI RADICAL CHILD
- # 5B50
-2F27 KANGXI RADICAL ROOF
- # 5B80
-2F28 KANGXI RADICAL INCH
- # 5BF8
-2F29 KANGXI RADICAL SMALL
- # 5C0F
-2F2A KANGXI RADICAL LAME
- # 5C22
-2F2B KANGXI RADICAL CORPSE
- # 5C38
-2F2C KANGXI RADICAL SPROUT
- # 5C6E
-2F2D KANGXI RADICAL MOUNTAIN
- # 5C71
-2F2E KANGXI RADICAL RIVER
- # 5DDB
-2F2F KANGXI RADICAL WORK
- # 5DE5
-2F30 KANGXI RADICAL ONESELF
- # 5DF1
-2F31 KANGXI RADICAL TURBAN
- # 5DFE
-2F32 KANGXI RADICAL DRY
- # 5E72
-2F33 KANGXI RADICAL SHORT THREAD
- # 5E7A
-2F34 KANGXI RADICAL DOTTED CLIFF
- # 5E7F
-2F35 KANGXI RADICAL LONG STRIDE
- # 5EF4
-2F36 KANGXI RADICAL TWO HANDS
- # 5EFE
-2F37 KANGXI RADICAL SHOOT
- # 5F0B
-2F38 KANGXI RADICAL BOW
- # 5F13
-2F39 KANGXI RADICAL SNOUT
- # 5F50
-2F3A KANGXI RADICAL BRISTLE
- # 5F61
-2F3B KANGXI RADICAL STEP
- # 5F73
-2F3C KANGXI RADICAL HEART
- # 5FC3
-2F3D KANGXI RADICAL HALBERD
- # 6208
-2F3E KANGXI RADICAL DOOR
- # 6236
-2F3F KANGXI RADICAL HAND
- # 624B
-2F40 KANGXI RADICAL BRANCH
- # 652F
-2F41 KANGXI RADICAL RAP
- # 6534
-2F42 KANGXI RADICAL SCRIPT
- # 6587
-2F43 KANGXI RADICAL DIPPER
- # 6597
-2F44 KANGXI RADICAL AXE
- # 65A4
-2F45 KANGXI RADICAL SQUARE
- # 65B9
-2F46 KANGXI RADICAL NOT
- # 65E0
-2F47 KANGXI RADICAL SUN
- # 65E5
-2F48 KANGXI RADICAL SAY
- # 66F0
-2F49 KANGXI RADICAL MOON
- # 6708
-2F4A KANGXI RADICAL TREE
- # 6728
-2F4B KANGXI RADICAL LACK
- # 6B20
-2F4C KANGXI RADICAL STOP
- # 6B62
-2F4D KANGXI RADICAL DEATH
- # 6B79
-2F4E KANGXI RADICAL WEAPON
- # 6BB3
-2F4F KANGXI RADICAL DO NOT
- # 6BCB
-2F50 KANGXI RADICAL COMPARE
- # 6BD4
-2F51 KANGXI RADICAL FUR
- # 6BDB
-2F52 KANGXI RADICAL CLAN
- # 6C0F
-2F53 KANGXI RADICAL STEAM
- # 6C14
-2F54 KANGXI RADICAL WATER
- # 6C34
-2F55 KANGXI RADICAL FIRE
- # 706B
-2F56 KANGXI RADICAL CLAW
- # 722A
-2F57 KANGXI RADICAL FATHER
- # 7236
-2F58 KANGXI RADICAL DOUBLE X
- # 723B
-2F59 KANGXI RADICAL HALF TREE TRUNK
- # 723F
-2F5A KANGXI RADICAL SLICE
- # 7247
-2F5B KANGXI RADICAL FANG
- # 7259
-2F5C KANGXI RADICAL COW
- # 725B
-2F5D KANGXI RADICAL DOG
- # 72AC
-2F5E KANGXI RADICAL PROFOUND
- # 7384
-2F5F KANGXI RADICAL JADE
- # 7389
-2F60 KANGXI RADICAL MELON
- # 74DC
-2F61 KANGXI RADICAL TILE
- # 74E6
-2F62 KANGXI RADICAL SWEET
- # 7518
-2F63 KANGXI RADICAL LIFE
- # 751F
-2F64 KANGXI RADICAL USE
- # 7528
-2F65 KANGXI RADICAL FIELD
- # 7530
-2F66 KANGXI RADICAL BOLT OF CLOTH
- # 758B
-2F67 KANGXI RADICAL SICKNESS
- # 7592
-2F68 KANGXI RADICAL DOTTED TENT
- # 7676
-2F69 KANGXI RADICAL WHITE
- # 767D
-2F6A KANGXI RADICAL SKIN
- # 76AE
-2F6B KANGXI RADICAL DISH
- # 76BF
-2F6C KANGXI RADICAL EYE
- # 76EE
-2F6D KANGXI RADICAL SPEAR
- # 77DB
-2F6E KANGXI RADICAL ARROW
- # 77E2
-2F6F KANGXI RADICAL STONE
- # 77F3
-2F70 KANGXI RADICAL SPIRIT
- # 793A
-2F71 KANGXI RADICAL TRACK
- # 79B8
-2F72 KANGXI RADICAL GRAIN
- # 79BE
-2F73 KANGXI RADICAL CAVE
- # 7A74
-2F74 KANGXI RADICAL STAND
- # 7ACB
-2F75 KANGXI RADICAL BAMBOO
- # 7AF9
-2F76 KANGXI RADICAL RICE
- # 7C73
-2F77 KANGXI RADICAL SILK
- # 7CF8
-2F78 KANGXI RADICAL JAR
- # 7F36
-2F79 KANGXI RADICAL NET
- # 7F51
-2F7A KANGXI RADICAL SHEEP
- # 7F8A
-2F7B KANGXI RADICAL FEATHER
- # 7FBD
-2F7C KANGXI RADICAL OLD
- # 8001
-2F7D KANGXI RADICAL AND
- # 800C
-2F7E KANGXI RADICAL PLOW
- # 8012
-2F7F KANGXI RADICAL EAR
- # 8033
-2F80 KANGXI RADICAL BRUSH
- # 807F
-2F81 KANGXI RADICAL MEAT
- # 8089
-2F82 KANGXI RADICAL MINISTER
- # 81E3
-2F83 KANGXI RADICAL SELF
- # 81EA
-2F84 KANGXI RADICAL ARRIVE
- # 81F3
-2F85 KANGXI RADICAL MORTAR
- # 81FC
-2F86 KANGXI RADICAL TONGUE
- # 820C
-2F87 KANGXI RADICAL OPPOSE
- # 821B
-2F88 KANGXI RADICAL BOAT
- # 821F
-2F89 KANGXI RADICAL STOPPING
- # 826E
-2F8A KANGXI RADICAL COLOR
- # 8272
-2F8B KANGXI RADICAL GRASS
- # 8278
-2F8C KANGXI RADICAL TIGER
- # 864D
-2F8D KANGXI RADICAL INSECT
- # 866B
-2F8E KANGXI RADICAL BLOOD
- # 8840
-2F8F KANGXI RADICAL WALK ENCLOSURE
- # 884C
-2F90 KANGXI RADICAL CLOTHES
- # 8863
-2F91 KANGXI RADICAL WEST
- # 897E
-2F92 KANGXI RADICAL SEE
- # 898B
-2F93 KANGXI RADICAL HORN
- # 89D2
-2F94 KANGXI RADICAL SPEECH
- # 8A00
-2F95 KANGXI RADICAL VALLEY
- # 8C37
-2F96 KANGXI RADICAL BEAN
- # 8C46
-2F97 KANGXI RADICAL PIG
- # 8C55
-2F98 KANGXI RADICAL BADGER
- # 8C78
-2F99 KANGXI RADICAL SHELL
- # 8C9D
-2F9A KANGXI RADICAL RED
- # 8D64
-2F9B KANGXI RADICAL RUN
- # 8D70
-2F9C KANGXI RADICAL FOOT
- # 8DB3
-2F9D KANGXI RADICAL BODY
- # 8EAB
-2F9E KANGXI RADICAL CART
- # 8ECA
-2F9F KANGXI RADICAL BITTER
- # 8F9B
-2FA0 KANGXI RADICAL MORNING
- # 8FB0
-2FA1 KANGXI RADICAL WALK
- # 8FB5
-2FA2 KANGXI RADICAL CITY
- # 9091
-2FA3 KANGXI RADICAL WINE
- # 9149
-2FA4 KANGXI RADICAL DISTINGUISH
- # 91C6
-2FA5 KANGXI RADICAL VILLAGE
- # 91CC
-2FA6 KANGXI RADICAL GOLD
- # 91D1
-2FA7 KANGXI RADICAL LONG
- # 9577
-2FA8 KANGXI RADICAL GATE
- # 9580
-2FA9 KANGXI RADICAL MOUND
- # 961C
-2FAA KANGXI RADICAL SLAVE
- # 96B6
-2FAB KANGXI RADICAL SHORT TAILED BIRD
- # 96B9
-2FAC KANGXI RADICAL RAIN
- # 96E8
-2FAD KANGXI RADICAL BLUE
- # 9751
-2FAE KANGXI RADICAL WRONG
- # 975E
-2FAF KANGXI RADICAL FACE
- # 9762
-2FB0 KANGXI RADICAL LEATHER
- # 9769
-2FB1 KANGXI RADICAL TANNED LEATHER
- # 97CB
-2FB2 KANGXI RADICAL LEEK
- # 97ED
-2FB3 KANGXI RADICAL SOUND
- # 97F3
-2FB4 KANGXI RADICAL LEAF
- # 9801
-2FB5 KANGXI RADICAL WIND
- # 98A8
-2FB6 KANGXI RADICAL FLY
- # 98DB
-2FB7 KANGXI RADICAL EAT
- # 98DF
-2FB8 KANGXI RADICAL HEAD
- # 9996
-2FB9 KANGXI RADICAL FRAGRANT
- # 9999
-2FBA KANGXI RADICAL HORSE
- # 99AC
-2FBB KANGXI RADICAL BONE
- # 9AA8
-2FBC KANGXI RADICAL TALL
- # 9AD8
-2FBD KANGXI RADICAL HAIR
- # 9ADF
-2FBE KANGXI RADICAL FIGHT
- # 9B25
-2FBF KANGXI RADICAL SACRIFICIAL WINE
- # 9B2F
-2FC0 KANGXI RADICAL CAULDRON
- # 9B32
-2FC1 KANGXI RADICAL GHOST
- # 9B3C
-2FC2 KANGXI RADICAL FISH
- # 9B5A
-2FC3 KANGXI RADICAL BIRD
- # 9CE5
-2FC4 KANGXI RADICAL SALT
- # 9E75
-2FC5 KANGXI RADICAL DEER
- # 9E7F
-2FC6 KANGXI RADICAL WHEAT
- # 9EA5
-2FC7 KANGXI RADICAL HEMP
- # 9EBB
-2FC8 KANGXI RADICAL YELLOW
- # 9EC3
-2FC9 KANGXI RADICAL MILLET
- # 9ECD
-2FCA KANGXI RADICAL BLACK
- # 9ED1
-2FCB KANGXI RADICAL EMBROIDERY
- # 9EF9
-2FCC KANGXI RADICAL FROG
- # 9EFD
-2FCD KANGXI RADICAL TRIPOD
- # 9F0E
-2FCE KANGXI RADICAL DRUM
- # 9F13
-2FCF KANGXI RADICAL RAT
- # 9F20
-2FD0 KANGXI RADICAL NOSE
- # 9F3B
-2FD1 KANGXI RADICAL EVEN
- # 9F4A
-2FD2 KANGXI RADICAL TOOTH
- # 9F52
-2FD3 KANGXI RADICAL DRAGON
- # 9F8D
-2FD4 KANGXI RADICAL TURTLE
- # 9F9C
-2FD5 KANGXI RADICAL FLUTE
- # 9FA0
-@@ 2FF0 Ideographic Description Characters 2FFF
-@ Ideographic description characters
-@+ These are visibly displayed graphic characters, not invisible composition controls.
-2FF0 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4 IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-@@ 3000 CJK Symbols and Punctuation 303F
-@@+
-@ CJK symbols and punctuation
-3000 IDEOGRAPHIC SPACE
- x (space - 0020)
- # <wide> 0020
-3001 IDEOGRAPHIC COMMA
- x (comma - 002C)
-3002 IDEOGRAPHIC FULL STOP
- x (full stop - 002E)
-3003 DITTO MARK
- x (double prime - 2033)
-3004 JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005 IDEOGRAPHIC ITERATION MARK
-3006 IDEOGRAPHIC CLOSING MARK
-3007 IDEOGRAPHIC NUMBER ZERO
- x (combining enclosing circle - 20DD)
- x (white circle - 25CB)
- x (large circle - 25EF)
-@ CJK angle brackets
-3008 LEFT ANGLE BRACKET
- x (less-than sign - 003C)
- x (single left-pointing angle quotation mark - 2039)
- x (left-pointing angle bracket - 2329)
- x (mathematical left angle bracket - 27E8)
-3009 RIGHT ANGLE BRACKET
- x (greater-than sign - 003E)
- x (single right-pointing angle quotation mark - 203A)
- x (right-pointing angle bracket - 232A)
- x (mathematical right angle bracket - 27E9)
-300A LEFT DOUBLE ANGLE BRACKET
- x (left-pointing double angle quotation mark - 00AB)
- x (mathematical left double angle bracket - 27EA)
-300B RIGHT DOUBLE ANGLE BRACKET
- x (right-pointing double angle quotation mark - 00BB)
- x (mathematical right double angle bracket - 27EB)
-@ CJK corner brackets
-@+ The CJK corner brackets, which function as quotation marks, are not recommended for general-purpose corner brackets. See the ceiling and floor characters, instead.
-300C LEFT CORNER BRACKET
- x (left ceiling - 2308)
-300D RIGHT CORNER BRACKET
- * used as quotation marks
- x (right floor - 230B)
-300E LEFT WHITE CORNER BRACKET
-300F RIGHT WHITE CORNER BRACKET
- * used as quotation marks
-@ CJK brackets
-3010 LEFT BLACK LENTICULAR BRACKET
-3011 RIGHT BLACK LENTICULAR BRACKET
-@ CJK symbols
-3012 POSTAL MARK
-3013 GETA MARK
- * substitute for ideograph not in font
- * editorial convention to represent ideographic lacuna
- x (white square - 25A1)
-@ CJK brackets
-3014 LEFT TORTOISE SHELL BRACKET
-3015 RIGHT TORTOISE SHELL BRACKET
-3016 LEFT WHITE LENTICULAR BRACKET
-3017 RIGHT WHITE LENTICULAR BRACKET
-3018 LEFT WHITE TORTOISE SHELL BRACKET
- x (mathematical left white tortoise shell bracket - 27EC)
-3019 RIGHT WHITE TORTOISE SHELL BRACKET
- x (mathematical right white tortoise shell bracket - 27ED)
-301A LEFT WHITE SQUARE BRACKET
- = left abstract syntax bracket
- x (mathematical left white square bracket - 27E6)
-301B RIGHT WHITE SQUARE BRACKET
- = right abstract syntax bracket
- x (mathematical right white square bracket - 27E7)
-@ CJK symbols and punctuation
-301C WAVE DASH
-@+ * This character was encoded to match JIS C 6226-1978 1-33 "wave dash". The JIS standards and some industry practice disagree in mapping.
- x (wavy dash - 3030)
- x (fullwidth tilde - FF5E)
-301D REVERSED DOUBLE PRIME QUOTATION MARK
- * sometimes depicted as double prime quotation mark
- x (left double quotation mark - 201C)
- x (reversed double prime - 2036)
-301E DOUBLE PRIME QUOTATION MARK
- * this is a mistaken analogue to 201D; 301F is preferred
- x (right double quotation mark - 201D)
- x (double prime - 2033)
-301F LOW DOUBLE PRIME QUOTATION MARK
- * may be depicted as low inverse double prime quotation mark
-3020 POSTAL MARK FACE
-@ Suzhou numerals
-@+ The Suzhou numerals (Chinese su1zhou1ma3zi) are special numeric forms used by traders to display the prices of goods. The use of "HANGZHOU" in the names is a misnomer.
-3021 HANGZHOU NUMERAL ONE
-3022 HANGZHOU NUMERAL TWO
-3023 HANGZHOU NUMERAL THREE
-3024 HANGZHOU NUMERAL FOUR
-3025 HANGZHOU NUMERAL FIVE
-3026 HANGZHOU NUMERAL SIX
-3027 HANGZHOU NUMERAL SEVEN
-3028 HANGZHOU NUMERAL EIGHT
-3029 HANGZHOU NUMERAL NINE
-@ Diacritics
-302A IDEOGRAPHIC LEVEL TONE MARK
-302B IDEOGRAPHIC RISING TONE MARK
-302C IDEOGRAPHIC DEPARTING TONE MARK
-302D IDEOGRAPHIC ENTERING TONE MARK
-302E HANGUL SINGLE DOT TONE MARK
- = single dot Bangjeom
-302F HANGUL DOUBLE DOT TONE MARK
- = double dot Bangjeom
-@ Other CJK symbols
-3030 WAVY DASH
- x (wavy line - 2307)
- x (wave dash - 301C)
-3031 VERTICAL KANA REPEAT MARK
-3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
- * the preceding two semantic characters are preferred to the following three glyphic forms
-3033 VERTICAL KANA REPEAT MARK UPPER HALF
-3034 VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
- * the preceding two are glyphs used in conjunction with the following glyph
-3035 VERTICAL KANA REPEAT MARK LOWER HALF
-3036 CIRCLED POSTAL MARK
- # 3012 postal mark
-3037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-@ Additional Suzhou numerals
-3038 HANGZHOU NUMERAL TEN
- # 5341
-3039 HANGZHOU NUMERAL TWENTY
- # 5344
-303A HANGZHOU NUMERAL THIRTY
- # 5345
-@ Other CJK punctuation
-303B VERTICAL IDEOGRAPHIC ITERATION MARK
-303C MASU MARK
- * informal abbreviation for Japanese -masu ending
- x (squared rising diagonal slash - 29C4)
-303D PART ALTERNATION MARK
- * marks the start of a song part in Japanese
-@ Special CJK indicators
-@+ These are visibly displayed graphic characters, not invisible format control characters.
-303E IDEOGRAPHIC VARIATION INDICATOR
- * visual indicator that the following ideograph is to be taken as a variant of the intended character
-303F IDEOGRAPHIC HALF FILL SPACE
- * visual indicator of a screen space for half of an ideograph
-@@ 3040 Hiragana 309F
-@ Hiragana letters
-3041 HIRAGANA LETTER SMALL A
-3042 HIRAGANA LETTER A
-3043 HIRAGANA LETTER SMALL I
-3044 HIRAGANA LETTER I
-3045 HIRAGANA LETTER SMALL U
-3046 HIRAGANA LETTER U
-3047 HIRAGANA LETTER SMALL E
-3048 HIRAGANA LETTER E
-3049 HIRAGANA LETTER SMALL O
-304A HIRAGANA LETTER O
-304B HIRAGANA LETTER KA
-304C HIRAGANA LETTER GA
- : 304B 3099
-304D HIRAGANA LETTER KI
-304E HIRAGANA LETTER GI
- : 304D 3099
-304F HIRAGANA LETTER KU
-3050 HIRAGANA LETTER GU
- : 304F 3099
-3051 HIRAGANA LETTER KE
-3052 HIRAGANA LETTER GE
- : 3051 3099
-3053 HIRAGANA LETTER KO
-3054 HIRAGANA LETTER GO
- : 3053 3099
-3055 HIRAGANA LETTER SA
-3056 HIRAGANA LETTER ZA
- : 3055 3099
-3057 HIRAGANA LETTER SI
- = SHI
-3058 HIRAGANA LETTER ZI
- = JI (not unique)
- : 3057 3099
-3059 HIRAGANA LETTER SU
-305A HIRAGANA LETTER ZU
- : 3059 3099
-305B HIRAGANA LETTER SE
-305C HIRAGANA LETTER ZE
- : 305B 3099
-305D HIRAGANA LETTER SO
-305E HIRAGANA LETTER ZO
- : 305D 3099
-305F HIRAGANA LETTER TA
-3060 HIRAGANA LETTER DA
- : 305F 3099
-3061 HIRAGANA LETTER TI
- = CHI
-3062 HIRAGANA LETTER DI
- = JI (not unique)
- : 3061 3099
-3063 HIRAGANA LETTER SMALL TU
- = SMALL TSU
-3064 HIRAGANA LETTER TU
- = TSU
-3065 HIRAGANA LETTER DU
- = ZU (not unique)
- : 3064 3099
-3066 HIRAGANA LETTER TE
-3067 HIRAGANA LETTER DE
- : 3066 3099
-3068 HIRAGANA LETTER TO
-3069 HIRAGANA LETTER DO
- : 3068 3099
-306A HIRAGANA LETTER NA
-306B HIRAGANA LETTER NI
-306C HIRAGANA LETTER NU
-306D HIRAGANA LETTER NE
-306E HIRAGANA LETTER NO
-306F HIRAGANA LETTER HA
-3070 HIRAGANA LETTER BA
- : 306F 3099
-3071 HIRAGANA LETTER PA
- : 306F 309A
-3072 HIRAGANA LETTER HI
-3073 HIRAGANA LETTER BI
- : 3072 3099
-3074 HIRAGANA LETTER PI
- : 3072 309A
-3075 HIRAGANA LETTER HU
- = FU
-3076 HIRAGANA LETTER BU
- : 3075 3099
-3077 HIRAGANA LETTER PU
- : 3075 309A
-3078 HIRAGANA LETTER HE
-3079 HIRAGANA LETTER BE
- : 3078 3099
-307A HIRAGANA LETTER PE
- : 3078 309A
-307B HIRAGANA LETTER HO
-307C HIRAGANA LETTER BO
- : 307B 3099
-307D HIRAGANA LETTER PO
- : 307B 309A
-307E HIRAGANA LETTER MA
-307F HIRAGANA LETTER MI
-3080 HIRAGANA LETTER MU
-3081 HIRAGANA LETTER ME
-3082 HIRAGANA LETTER MO
-3083 HIRAGANA LETTER SMALL YA
-3084 HIRAGANA LETTER YA
-3085 HIRAGANA LETTER SMALL YU
-3086 HIRAGANA LETTER YU
-3087 HIRAGANA LETTER SMALL YO
-3088 HIRAGANA LETTER YO
-3089 HIRAGANA LETTER RA
-308A HIRAGANA LETTER RI
-308B HIRAGANA LETTER RU
-308C HIRAGANA LETTER RE
-308D HIRAGANA LETTER RO
-308E HIRAGANA LETTER SMALL WA
-308F HIRAGANA LETTER WA
-3090 HIRAGANA LETTER WI
-3091 HIRAGANA LETTER WE
-3092 HIRAGANA LETTER WO
-3093 HIRAGANA LETTER N
-3094 HIRAGANA LETTER VU
- : 3046 3099
-@ Small letters
-3095 HIRAGANA LETTER SMALL KA
-3096 HIRAGANA LETTER SMALL KE
-@ Voicing marks
-3099 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B KATAKANA-HIRAGANA VOICED SOUND MARK
- # 0020 3099
-309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
- # 0020 309A
-@ Iteration marks
-309D HIRAGANA ITERATION MARK
-309E HIRAGANA VOICED ITERATION MARK
- : 309D 3099
-@ Hiragana digraph
-309F HIRAGANA DIGRAPH YORI
- * historically used in vertical contexts, but now found also in horizontal layout
- # <vertical> 3088 308A
-@@ 30A0 Katakana 30FF
-@ Katakana punctuation
-30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN
- x (equals sign - 003D)
-@ Katakana letters
-30A1 KATAKANA LETTER SMALL A
-30A2 KATAKANA LETTER A
-30A3 KATAKANA LETTER SMALL I
-30A4 KATAKANA LETTER I
-30A5 KATAKANA LETTER SMALL U
-30A6 KATAKANA LETTER U
-30A7 KATAKANA LETTER SMALL E
-30A8 KATAKANA LETTER E
-30A9 KATAKANA LETTER SMALL O
-30AA KATAKANA LETTER O
-30AB KATAKANA LETTER KA
-30AC KATAKANA LETTER GA
- : 30AB 3099
-30AD KATAKANA LETTER KI
-30AE KATAKANA LETTER GI
- : 30AD 3099
-30AF KATAKANA LETTER KU
-30B0 KATAKANA LETTER GU
- : 30AF 3099
-30B1 KATAKANA LETTER KE
-30B2 KATAKANA LETTER GE
- : 30B1 3099
-30B3 KATAKANA LETTER KO
-30B4 KATAKANA LETTER GO
- : 30B3 3099
-30B5 KATAKANA LETTER SA
-30B6 KATAKANA LETTER ZA
- : 30B5 3099
-30B7 KATAKANA LETTER SI
- = SHI
-30B8 KATAKANA LETTER ZI
- = JI (not unique)
- : 30B7 3099
-30B9 KATAKANA LETTER SU
-30BA KATAKANA LETTER ZU
- : 30B9 3099
-30BB KATAKANA LETTER SE
-30BC KATAKANA LETTER ZE
- : 30BB 3099
-30BD KATAKANA LETTER SO
-30BE KATAKANA LETTER ZO
- : 30BD 3099
-30BF KATAKANA LETTER TA
-30C0 KATAKANA LETTER DA
- : 30BF 3099
-30C1 KATAKANA LETTER TI
- = CHI
-30C2 KATAKANA LETTER DI
- = JI (not unique)
- : 30C1 3099
-30C3 KATAKANA LETTER SMALL TU
- = SMALL TSU
-30C4 KATAKANA LETTER TU
- = TSU
-30C5 KATAKANA LETTER DU
- = ZU (not unique)
- : 30C4 3099
-30C6 KATAKANA LETTER TE
-30C7 KATAKANA LETTER DE
- : 30C6 3099
-30C8 KATAKANA LETTER TO
-30C9 KATAKANA LETTER DO
- : 30C8 3099
-30CA KATAKANA LETTER NA
-30CB KATAKANA LETTER NI
-30CC KATAKANA LETTER NU
-30CD KATAKANA LETTER NE
-30CE KATAKANA LETTER NO
-30CF KATAKANA LETTER HA
-30D0 KATAKANA LETTER BA
- : 30CF 3099
-30D1 KATAKANA LETTER PA
- : 30CF 309A
-30D2 KATAKANA LETTER HI
-30D3 KATAKANA LETTER BI
- : 30D2 3099
-30D4 KATAKANA LETTER PI
- : 30D2 309A
-30D5 KATAKANA LETTER HU
- = FU
-30D6 KATAKANA LETTER BU
- : 30D5 3099
-30D7 KATAKANA LETTER PU
- : 30D5 309A
-30D8 KATAKANA LETTER HE
-30D9 KATAKANA LETTER BE
- : 30D8 3099
-30DA KATAKANA LETTER PE
- : 30D8 309A
-30DB KATAKANA LETTER HO
-30DC KATAKANA LETTER BO
- : 30DB 3099
-30DD KATAKANA LETTER PO
- : 30DB 309A
-30DE KATAKANA LETTER MA
-30DF KATAKANA LETTER MI
-30E0 KATAKANA LETTER MU
-30E1 KATAKANA LETTER ME
-30E2 KATAKANA LETTER MO
-30E3 KATAKANA LETTER SMALL YA
-30E4 KATAKANA LETTER YA
-30E5 KATAKANA LETTER SMALL YU
-30E6 KATAKANA LETTER YU
-30E7 KATAKANA LETTER SMALL YO
-30E8 KATAKANA LETTER YO
-30E9 KATAKANA LETTER RA
-30EA KATAKANA LETTER RI
-30EB KATAKANA LETTER RU
-30EC KATAKANA LETTER RE
-30ED KATAKANA LETTER RO
-30EE KATAKANA LETTER SMALL WA
-30EF KATAKANA LETTER WA
-30F0 KATAKANA LETTER WI
-30F1 KATAKANA LETTER WE
-30F2 KATAKANA LETTER WO
-30F3 KATAKANA LETTER N
-30F4 KATAKANA LETTER VU
- : 30A6 3099
-30F5 KATAKANA LETTER SMALL KA
-30F6 KATAKANA LETTER SMALL KE
-30F7 KATAKANA LETTER VA
- : 30EF 3099
-30F8 KATAKANA LETTER VI
- : 30F0 3099
-30F9 KATAKANA LETTER VE
- : 30F1 3099
-30FA KATAKANA LETTER VO
- : 30F2 3099
-@ Conjunction and length marks
-30FB KATAKANA MIDDLE DOT
- x (middle dot - 00B7)
-30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
- x (em dash - 2014)
-@ Iteration marks
-30FD KATAKANA ITERATION MARK
-30FE KATAKANA VOICED ITERATION MARK
- : 30FD 3099
-@ Katakana digraph
-30FF KATAKANA DIGRAPH KOTO
- * historically used in vertical contexts, but now found also in horizontal layout
- # <vertical> 30B3 30C8
-@@ 3100 Bopomofo 312F
-@+ See also the Bopomofo Extended block
-@ Based on GB 2312
-3105 BOPOMOFO LETTER B
-3106 BOPOMOFO LETTER P
-3107 BOPOMOFO LETTER M
-3108 BOPOMOFO LETTER F
-3109 BOPOMOFO LETTER D
-310A BOPOMOFO LETTER T
-310B BOPOMOFO LETTER N
-310C BOPOMOFO LETTER L
-310D BOPOMOFO LETTER G
-310E BOPOMOFO LETTER K
-310F BOPOMOFO LETTER H
-3110 BOPOMOFO LETTER J
-3111 BOPOMOFO LETTER Q
-3112 BOPOMOFO LETTER X
-3113 BOPOMOFO LETTER ZH
-3114 BOPOMOFO LETTER CH
-3115 BOPOMOFO LETTER SH
-3116 BOPOMOFO LETTER R
-3117 BOPOMOFO LETTER Z
-3118 BOPOMOFO LETTER C
-3119 BOPOMOFO LETTER S
-311A BOPOMOFO LETTER A
-311B BOPOMOFO LETTER O
-311C BOPOMOFO LETTER E
-311D BOPOMOFO LETTER EH
-311E BOPOMOFO LETTER AI
-311F BOPOMOFO LETTER EI
-3120 BOPOMOFO LETTER AU
-3121 BOPOMOFO LETTER OU
-3122 BOPOMOFO LETTER AN
-3123 BOPOMOFO LETTER EN
-3124 BOPOMOFO LETTER ANG
-3125 BOPOMOFO LETTER ENG
-3126 BOPOMOFO LETTER ER
-3127 BOPOMOFO LETTER I
- * the horizontal stroke form is considered a rendering variant
-3128 BOPOMOFO LETTER U
-3129 BOPOMOFO LETTER IU
-@ Dialect (non-Mandarin) letters
-312A BOPOMOFO LETTER V
-312B BOPOMOFO LETTER NG
-312C BOPOMOFO LETTER GN
-@ Miscellaneous addition
-312D BOPOMOFO LETTER IH
- * for analytic representation of apical vowel
-@@ 3130 Hangul Compatibility Jamo 318F
-@ Modern letters
-3131 HANGUL LETTER KIYEOK
- # 1100 hangul choseong kiyeok
-3132 HANGUL LETTER SSANGKIYEOK
- # 1101 hangul choseong ssangkiyeok
-3133 HANGUL LETTER KIYEOK-SIOS
- # 11AA hangul jongseong kiyeok-sios
-3134 HANGUL LETTER NIEUN
- # 1102 hangul choseong nieun
-3135 HANGUL LETTER NIEUN-CIEUC
- # 11AC hangul jongseong nieun-cieuc
-3136 HANGUL LETTER NIEUN-HIEUH
- # 11AD hangul jongseong nieun-hieuh
-3137 HANGUL LETTER TIKEUT
- # 1103 hangul choseong tikeut
-3138 HANGUL LETTER SSANGTIKEUT
- # 1104 hangul choseong ssangtikeut
-3139 HANGUL LETTER RIEUL
- # 1105 hangul choseong rieul
-313A HANGUL LETTER RIEUL-KIYEOK
- # 11B0 hangul jongseong rieul-kiyeok
-313B HANGUL LETTER RIEUL-MIEUM
- # 11B1 hangul jongseong rieul-mieum
-313C HANGUL LETTER RIEUL-PIEUP
- # 11B2 hangul jongseong rieul-pieup
-313D HANGUL LETTER RIEUL-SIOS
- # 11B3 hangul jongseong rieul-sios
-313E HANGUL LETTER RIEUL-THIEUTH
- # 11B4 hangul jongseong rieul-thieuth
-313F HANGUL LETTER RIEUL-PHIEUPH
- # 11B5 hangul jongseong rieul-phieuph
-3140 HANGUL LETTER RIEUL-HIEUH
- # 111A hangul choseong rieul-hieuh
-3141 HANGUL LETTER MIEUM
- # 1106 hangul choseong mieum
-3142 HANGUL LETTER PIEUP
- # 1107 hangul choseong pieup
-3143 HANGUL LETTER SSANGPIEUP
- # 1108 hangul choseong ssangpieup
-3144 HANGUL LETTER PIEUP-SIOS
- # 1121 hangul choseong pieup-sios
-3145 HANGUL LETTER SIOS
- # 1109 hangul choseong sios
-3146 HANGUL LETTER SSANGSIOS
- # 110A hangul choseong ssangsios
-3147 HANGUL LETTER IEUNG
- # 110B hangul choseong ieung
-3148 HANGUL LETTER CIEUC
- # 110C hangul choseong cieuc
-3149 HANGUL LETTER SSANGCIEUC
- # 110D hangul choseong ssangcieuc
-314A HANGUL LETTER CHIEUCH
- # 110E hangul choseong chieuch
-314B HANGUL LETTER KHIEUKH
- # 110F hangul choseong khieukh
-314C HANGUL LETTER THIEUTH
- # 1110 hangul choseong thieuth
-314D HANGUL LETTER PHIEUPH
- # 1111 hangul choseong phieuph
-314E HANGUL LETTER HIEUH
- # 1112 hangul choseong hieuh
-314F HANGUL LETTER A
- # 1161 hangul jungseong a
-3150 HANGUL LETTER AE
- # 1162 hangul jungseong ae
-3151 HANGUL LETTER YA
- # 1163 hangul jungseong ya
-3152 HANGUL LETTER YAE
- # 1164 hangul jungseong yae
-3153 HANGUL LETTER EO
- # 1165 hangul jungseong eo
-3154 HANGUL LETTER E
- # 1166 hangul jungseong e
-3155 HANGUL LETTER YEO
- # 1167 hangul jungseong yeo
-3156 HANGUL LETTER YE
- # 1168 hangul jungseong ye
-3157 HANGUL LETTER O
- # 1169 hangul jungseong o
-3158 HANGUL LETTER WA
- # 116A hangul jungseong wa
-3159 HANGUL LETTER WAE
- # 116B hangul jungseong wae
-315A HANGUL LETTER OE
- # 116C hangul jungseong oe
-315B HANGUL LETTER YO
- # 116D hangul jungseong yo
-315C HANGUL LETTER U
- # 116E hangul jungseong u
-315D HANGUL LETTER WEO
- # 116F hangul jungseong weo
-315E HANGUL LETTER WE
- # 1170 hangul jungseong we
-315F HANGUL LETTER WI
- # 1171 hangul jungseong wi
-3160 HANGUL LETTER YU
- # 1172 hangul jungseong yu
-3161 HANGUL LETTER EU
- # 1173 hangul jungseong eu
-3162 HANGUL LETTER YI
- # 1174 hangul jungseong yi
-3163 HANGUL LETTER I
- # 1175 hangul jungseong i
-@ Special character
-3164 HANGUL FILLER
- = chae um
- # 1160 hangul jungseong filler
-@ Archaic letters
-3165 HANGUL LETTER SSANGNIEUN
- # 1114 hangul choseong ssangnieun
-3166 HANGUL LETTER NIEUN-TIKEUT
- # 1115 hangul choseong nieun-tikeut
-3167 HANGUL LETTER NIEUN-SIOS
- # 11C7 hangul jongseong nieun-sios
-3168 HANGUL LETTER NIEUN-PANSIOS
- # 11C8 hangul jongseong nieun-pansios
-3169 HANGUL LETTER RIEUL-KIYEOK-SIOS
- # 11CC hangul jongseong rieul-kiyeok-sios
-316A HANGUL LETTER RIEUL-TIKEUT
- # 11CE hangul jongseong rieul-tikeut
-316B HANGUL LETTER RIEUL-PIEUP-SIOS
- # 11D3 hangul jongseong rieul-pieup-sios
-316C HANGUL LETTER RIEUL-PANSIOS
- # 11D7 hangul jongseong rieul-pansios
-316D HANGUL LETTER RIEUL-YEORINHIEUH
- # 11D9 hangul jongseong rieul-yeorinhieuh
-316E HANGUL LETTER MIEUM-PIEUP
- # 111C hangul choseong mieum-pieup
-316F HANGUL LETTER MIEUM-SIOS
- # 11DD hangul jongseong mieum-sios
-3170 HANGUL LETTER MIEUM-PANSIOS
- # 11DF hangul jongseong mieum-pansios
-3171 HANGUL LETTER KAPYEOUNMIEUM
- # 111D hangul choseong kapyeounmieum
-3172 HANGUL LETTER PIEUP-KIYEOK
- # 111E hangul choseong pieup-kiyeok
-3173 HANGUL LETTER PIEUP-TIKEUT
- # 1120 hangul choseong pieup-tikeut
-3174 HANGUL LETTER PIEUP-SIOS-KIYEOK
- # 1122 hangul choseong pieup-sios-kiyeok
-3175 HANGUL LETTER PIEUP-SIOS-TIKEUT
- # 1123 hangul choseong pieup-sios-tikeut
-3176 HANGUL LETTER PIEUP-CIEUC
- # 1127 hangul choseong pieup-cieuc
-3177 HANGUL LETTER PIEUP-THIEUTH
- # 1129 hangul choseong pieup-thieuth
-3178 HANGUL LETTER KAPYEOUNPIEUP
- # 112B hangul choseong kapyeounpieup
-3179 HANGUL LETTER KAPYEOUNSSANGPIEUP
- # 112C hangul choseong kapyeounssangpieup
-317A HANGUL LETTER SIOS-KIYEOK
- # 112D hangul choseong sios-kiyeok
-317B HANGUL LETTER SIOS-NIEUN
- # 112E hangul choseong sios-nieun
-317C HANGUL LETTER SIOS-TIKEUT
- # 112F hangul choseong sios-tikeut
-317D HANGUL LETTER SIOS-PIEUP
- # 1132 hangul choseong sios-pieup
-317E HANGUL LETTER SIOS-CIEUC
- # 1136 hangul choseong sios-cieuc
-317F HANGUL LETTER PANSIOS
- # 1140 hangul choseong pansios
-3180 HANGUL LETTER SSANGIEUNG
- = ssangyesieung
- # 1147 hangul choseong ssangieung
-3181 HANGUL LETTER YESIEUNG
- * archaic velar nasal
- # 114C hangul choseong yesieung
-3182 HANGUL LETTER YESIEUNG-SIOS
- # 11F1 hangul jongseong yesieung-sios
-3183 HANGUL LETTER YESIEUNG-PANSIOS
- # 11F2 hangul jongseong yesieung-pansios
-3184 HANGUL LETTER KAPYEOUNPHIEUPH
- # 1157 hangul choseong kapyeounphieuph
-3185 HANGUL LETTER SSANGHIEUH
- # 1158 hangul choseong ssanghieuh
-3186 HANGUL LETTER YEORINHIEUH
- * archaic glottal stop
- # 1159 hangul choseong yeorinhieuh
-3187 HANGUL LETTER YO-YA
- # 1184 hangul jungseong yo-ya
-3188 HANGUL LETTER YO-YAE
- # 1185 hangul jungseong yo-yae
-3189 HANGUL LETTER YO-I
- # 1188 hangul jungseong yo-i
-318A HANGUL LETTER YU-YEO
- # 1191 hangul jungseong yu-yeo
-318B HANGUL LETTER YU-YE
- # 1192 hangul jungseong yu-ye
-318C HANGUL LETTER YU-I
- # 1194 hangul jungseong yu-i
-318D HANGUL LETTER ARAEA
- # 119E hangul jungseong araea
-318E HANGUL LETTER ARAEAE
- # 11A1 hangul jungseong araea-i
-@@ 3190 Kanbun 319F
-@ Tateten
-3190 IDEOGRAPHIC ANNOTATION LINKING MARK
- = tateten
-@ Kaeriten
-3191 IDEOGRAPHIC ANNOTATION REVERSE MARK
- = kaeriten re
-3192 IDEOGRAPHIC ANNOTATION ONE MARK
- # <super> 4E00
-3193 IDEOGRAPHIC ANNOTATION TWO MARK
- # <super> 4E8C
-3194 IDEOGRAPHIC ANNOTATION THREE MARK
- # <super> 4E09
-3195 IDEOGRAPHIC ANNOTATION FOUR MARK
- # <super> 56DB
-3196 IDEOGRAPHIC ANNOTATION TOP MARK
- # <super> 4E0A
-3197 IDEOGRAPHIC ANNOTATION MIDDLE MARK
- # <super> 4E2D
-3198 IDEOGRAPHIC ANNOTATION BOTTOM MARK
- # <super> 4E0B
-3199 IDEOGRAPHIC ANNOTATION FIRST MARK
- # <super> 7532
-319A IDEOGRAPHIC ANNOTATION SECOND MARK
- # <super> 4E59
-319B IDEOGRAPHIC ANNOTATION THIRD MARK
- # <super> 4E19
-319C IDEOGRAPHIC ANNOTATION FOURTH MARK
- # <super> 4E01
-319D IDEOGRAPHIC ANNOTATION HEAVEN MARK
- # <super> 5929
-319E IDEOGRAPHIC ANNOTATION EARTH MARK
- # <super> 5730
-319F IDEOGRAPHIC ANNOTATION MAN MARK
- # <super> 4EBA
-@@ 31A0 Bopomofo Extended 31BF
-@+ See also the Bopomofo block
-@ Extended Bopomofo for Minnan and Hakka
-31A0 BOPOMOFO LETTER BU
-31A1 BOPOMOFO LETTER ZI
-31A2 BOPOMOFO LETTER JI
-31A3 BOPOMOFO LETTER GU
-31A4 BOPOMOFO LETTER EE
-31A5 BOPOMOFO LETTER ENN
-31A6 BOPOMOFO LETTER OO
-31A7 BOPOMOFO LETTER ONN
-31A8 BOPOMOFO LETTER IR
-31A9 BOPOMOFO LETTER ANN
-31AA BOPOMOFO LETTER INN
-31AB BOPOMOFO LETTER UNN
-31AC BOPOMOFO LETTER IM
-31AD BOPOMOFO LETTER NGG
-31AE BOPOMOFO LETTER AINN
-31AF BOPOMOFO LETTER AUNN
-31B0 BOPOMOFO LETTER AM
-31B1 BOPOMOFO LETTER OM
-31B2 BOPOMOFO LETTER ONG
-31B3 BOPOMOFO LETTER INNN
-31B4 BOPOMOFO FINAL LETTER P
-31B5 BOPOMOFO FINAL LETTER T
-31B6 BOPOMOFO FINAL LETTER K
-31B7 BOPOMOFO FINAL LETTER H
-@@ 31C0 CJK Strokes 31EF
-@ CJK strokes
-31C0 CJK STROKE T
-31C1 CJK STROKE WG
-31C2 CJK STROKE XG
-31C3 CJK STROKE BXG
-31C4 CJK STROKE SW
-31C5 CJK STROKE HZZ
-31C6 CJK STROKE HZG
-31C7 CJK STROKE HP
-31C8 CJK STROKE HZWG
-31C9 CJK STROKE SZWG
-31CA CJK STROKE HZT
-31CB CJK STROKE HZZP
-31CC CJK STROKE HPWG
-31CD CJK STROKE HZW
-31CE CJK STROKE HZZZ
-31CF CJK STROKE N
-31D0 CJK STROKE H
-31D1 CJK STROKE S
-31D2 CJK STROKE P
-31D3 CJK STROKE SP
-31D4 CJK STROKE D
-31D5 CJK STROKE HZ
-31D6 CJK STROKE HG
-31D7 CJK STROKE SZ
-31D8 CJK STROKE SWZ
-31D9 CJK STROKE ST
-31DA CJK STROKE SG
-31DB CJK STROKE PD
-31DC CJK STROKE PZ
-31DD CJK STROKE TN
-31DE CJK STROKE SZZ
-31DF CJK STROKE SWG
-31E0 CJK STROKE HXWG
-31E1 CJK STROKE HZZZG
-31E2 CJK STROKE PG
-31E3 CJK STROKE Q
-@@ 31F0 Katakana Phonetic Extensions 31FF
-@ Phonetic extensions for Ainu
-31F0 KATAKANA LETTER SMALL KU
-31F1 KATAKANA LETTER SMALL SI
-31F2 KATAKANA LETTER SMALL SU
-31F3 KATAKANA LETTER SMALL TO
-31F4 KATAKANA LETTER SMALL NU
-31F5 KATAKANA LETTER SMALL HA
-31F6 KATAKANA LETTER SMALL HI
-31F7 KATAKANA LETTER SMALL HU
-31F8 KATAKANA LETTER SMALL HE
-31F9 KATAKANA LETTER SMALL HO
-31FA KATAKANA LETTER SMALL MU
-31FB KATAKANA LETTER SMALL RA
-31FC KATAKANA LETTER SMALL RI
-31FD KATAKANA LETTER SMALL RU
-31FE KATAKANA LETTER SMALL RE
-31FF KATAKANA LETTER SMALL RO
-@@ 3200 Enclosed CJK Letters and Months 32FF
-@ Parenthesized Hangul letters
-3200 PARENTHESIZED HANGUL KIYEOK
- # 0028 1100 0029
-3201 PARENTHESIZED HANGUL NIEUN
- # 0028 1102 0029
-3202 PARENTHESIZED HANGUL TIKEUT
- # 0028 1103 0029
-3203 PARENTHESIZED HANGUL RIEUL
- # 0028 1105 0029
-3204 PARENTHESIZED HANGUL MIEUM
- # 0028 1106 0029
-3205 PARENTHESIZED HANGUL PIEUP
- # 0028 1107 0029
-3206 PARENTHESIZED HANGUL SIOS
- # 0028 1109 0029
-3207 PARENTHESIZED HANGUL IEUNG
- # 0028 110B 0029
-3208 PARENTHESIZED HANGUL CIEUC
- # 0028 110C 0029
-3209 PARENTHESIZED HANGUL CHIEUCH
- # 0028 110E 0029
-320A PARENTHESIZED HANGUL KHIEUKH
- # 0028 110F 0029
-320B PARENTHESIZED HANGUL THIEUTH
- # 0028 1110 0029
-320C PARENTHESIZED HANGUL PHIEUPH
- # 0028 1111 0029
-320D PARENTHESIZED HANGUL HIEUH
- # 0028 1112 0029
-@ Parenthesized Hangul syllables
-320E PARENTHESIZED HANGUL KIYEOK A
- # 0028 1100 1161 0029
-320F PARENTHESIZED HANGUL NIEUN A
- # 0028 1102 1161 0029
-3210 PARENTHESIZED HANGUL TIKEUT A
- # 0028 1103 1161 0029
-3211 PARENTHESIZED HANGUL RIEUL A
- # 0028 1105 1161 0029
-3212 PARENTHESIZED HANGUL MIEUM A
- # 0028 1106 1161 0029
-3213 PARENTHESIZED HANGUL PIEUP A
- # 0028 1107 1161 0029
-3214 PARENTHESIZED HANGUL SIOS A
- # 0028 1109 1161 0029
-3215 PARENTHESIZED HANGUL IEUNG A
- # 0028 110B 1161 0029
-3216 PARENTHESIZED HANGUL CIEUC A
- # 0028 110C 1161 0029
-3217 PARENTHESIZED HANGUL CHIEUCH A
- # 0028 110E 1161 0029
-3218 PARENTHESIZED HANGUL KHIEUKH A
- # 0028 110F 1161 0029
-3219 PARENTHESIZED HANGUL THIEUTH A
- # 0028 1110 1161 0029
-321A PARENTHESIZED HANGUL PHIEUPH A
- # 0028 1111 1161 0029
-321B PARENTHESIZED HANGUL HIEUH A
- # 0028 1112 1161 0029
-321C PARENTHESIZED HANGUL CIEUC U
- # 0028 110C 116E 0029
-@ Parenthesized Korean words
-321D PARENTHESIZED KOREAN CHARACTER OJEON
- # 0028 110B 1169 110C 1165 11AB 0029
-321E PARENTHESIZED KOREAN CHARACTER O HU
- # 0028 110B 1169 1112 116E 0029
-@ Parenthesized ideographs
-3220 PARENTHESIZED IDEOGRAPH ONE
- # 0028 4E00 0029
-3221 PARENTHESIZED IDEOGRAPH TWO
- # 0028 4E8C 0029
-3222 PARENTHESIZED IDEOGRAPH THREE
- # 0028 4E09 0029
-3223 PARENTHESIZED IDEOGRAPH FOUR
- # 0028 56DB 0029
-3224 PARENTHESIZED IDEOGRAPH FIVE
- # 0028 4E94 0029
-3225 PARENTHESIZED IDEOGRAPH SIX
- # 0028 516D 0029
-3226 PARENTHESIZED IDEOGRAPH SEVEN
- # 0028 4E03 0029
-3227 PARENTHESIZED IDEOGRAPH EIGHT
- # 0028 516B 0029
-3228 PARENTHESIZED IDEOGRAPH NINE
- # 0028 4E5D 0029
-3229 PARENTHESIZED IDEOGRAPH TEN
- # 0028 5341 0029
-322A PARENTHESIZED IDEOGRAPH MOON
- * Monday
- # 0028 6708 0029
-322B PARENTHESIZED IDEOGRAPH FIRE
- * Tuesday
- # 0028 706B 0029
-322C PARENTHESIZED IDEOGRAPH WATER
- * Wednesday
- # 0028 6C34 0029
-322D PARENTHESIZED IDEOGRAPH WOOD
- * Thursday
- # 0028 6728 0029
-322E PARENTHESIZED IDEOGRAPH METAL
- * Friday
- # 0028 91D1 0029
-322F PARENTHESIZED IDEOGRAPH EARTH
- * Saturday
- # 0028 571F 0029
-3230 PARENTHESIZED IDEOGRAPH SUN
- * Sunday
- # 0028 65E5 0029
-3231 PARENTHESIZED IDEOGRAPH STOCK
- * incorporated
- # 0028 682A 0029
-3232 PARENTHESIZED IDEOGRAPH HAVE
- * limited
- # 0028 6709 0029
-3233 PARENTHESIZED IDEOGRAPH SOCIETY
- * company
- # 0028 793E 0029
-3234 PARENTHESIZED IDEOGRAPH NAME
- # 0028 540D 0029
-3235 PARENTHESIZED IDEOGRAPH SPECIAL
- # 0028 7279 0029
-3236 PARENTHESIZED IDEOGRAPH FINANCIAL
- # 0028 8CA1 0029
-3237 PARENTHESIZED IDEOGRAPH CONGRATULATION
- # 0028 795D 0029
-3238 PARENTHESIZED IDEOGRAPH LABOR
- # 0028 52B4 0029
-3239 PARENTHESIZED IDEOGRAPH REPRESENT
- # 0028 4EE3 0029
-323A PARENTHESIZED IDEOGRAPH CALL
- # 0028 547C 0029
-323B PARENTHESIZED IDEOGRAPH STUDY
- # 0028 5B66 0029
-323C PARENTHESIZED IDEOGRAPH SUPERVISE
- # 0028 76E3 0029
-323D PARENTHESIZED IDEOGRAPH ENTERPRISE
- # 0028 4F01 0029
-323E PARENTHESIZED IDEOGRAPH RESOURCE
- # 0028 8CC7 0029
-323F PARENTHESIZED IDEOGRAPH ALLIANCE
- # 0028 5354 0029
-3240 PARENTHESIZED IDEOGRAPH FESTIVAL
- # 0028 796D 0029
-3241 PARENTHESIZED IDEOGRAPH REST
- # 0028 4F11 0029
-3242 PARENTHESIZED IDEOGRAPH SELF
- * from
- # 0028 81EA 0029
-3243 PARENTHESIZED IDEOGRAPH REACH
- * to
- # 0028 81F3 0029
-@ Circled ideographs from ARIB STD B24
-3244 CIRCLED IDEOGRAPH QUESTION
- # <circle> 554F
-3245 CIRCLED IDEOGRAPH KINDERGARTEN
- # <circle> 5E7C
-3246 CIRCLED IDEOGRAPH SCHOOL
- # <circle> 6587
-3247 CIRCLED IDEOGRAPH KOTO
- # <circle> 7B8F
-@ Circled numbers on black squares from ARIB STD B24
-3248 CIRCLED NUMBER TEN ON BLACK SQUARE
- = speed limit 10 km/h
-3249 CIRCLED NUMBER TWENTY ON BLACK SQUARE
- = speed limit 20 km/h
-324A CIRCLED NUMBER THIRTY ON BLACK SQUARE
- = speed limit 30 km/h
-324B CIRCLED NUMBER FORTY ON BLACK SQUARE
- = speed limit 40 km/h
-324C CIRCLED NUMBER FIFTY ON BLACK SQUARE
- = speed limit 50 km/h
-324D CIRCLED NUMBER SIXTY ON BLACK SQUARE
- = speed limit 60 km/h
-324E CIRCLED NUMBER SEVENTY ON BLACK SQUARE
- = speed limit 70 km/h
-324F CIRCLED NUMBER EIGHTY ON BLACK SQUARE
- = speed limit 80 km/h
-@ Squared Latin abbreviation
-3250 PARTNERSHIP SIGN
- # <square> 0050 0054 0045
-@ Circled numbers
-3251 CIRCLED NUMBER TWENTY ONE
- # <circle> 0032 0031
-3252 CIRCLED NUMBER TWENTY TWO
- # <circle> 0032 0032
-3253 CIRCLED NUMBER TWENTY THREE
- # <circle> 0032 0033
-3254 CIRCLED NUMBER TWENTY FOUR
- # <circle> 0032 0034
-3255 CIRCLED NUMBER TWENTY FIVE
- # <circle> 0032 0035
-3256 CIRCLED NUMBER TWENTY SIX
- # <circle> 0032 0036
-3257 CIRCLED NUMBER TWENTY SEVEN
- # <circle> 0032 0037
-3258 CIRCLED NUMBER TWENTY EIGHT
- # <circle> 0032 0038
-3259 CIRCLED NUMBER TWENTY NINE
- # <circle> 0032 0039
-325A CIRCLED NUMBER THIRTY
- # <circle> 0033 0030
-325B CIRCLED NUMBER THIRTY ONE
- # <circle> 0033 0031
-325C CIRCLED NUMBER THIRTY TWO
- # <circle> 0033 0032
-325D CIRCLED NUMBER THIRTY THREE
- # <circle> 0033 0033
-325E CIRCLED NUMBER THIRTY FOUR
- # <circle> 0033 0034
-325F CIRCLED NUMBER THIRTY FIVE
- # <circle> 0033 0035
-@ Circled Hangul letters
-3260 CIRCLED HANGUL KIYEOK
- # <circle> 1100
-3261 CIRCLED HANGUL NIEUN
- # <circle> 1102
-3262 CIRCLED HANGUL TIKEUT
- # <circle> 1103
-3263 CIRCLED HANGUL RIEUL
- # <circle> 1105
-3264 CIRCLED HANGUL MIEUM
- # <circle> 1106
-3265 CIRCLED HANGUL PIEUP
- # <circle> 1107
-3266 CIRCLED HANGUL SIOS
- # <circle> 1109
-3267 CIRCLED HANGUL IEUNG
- # <circle> 110B
-3268 CIRCLED HANGUL CIEUC
- # <circle> 110C
-3269 CIRCLED HANGUL CHIEUCH
- # <circle> 110E
-326A CIRCLED HANGUL KHIEUKH
- # <circle> 110F
-326B CIRCLED HANGUL THIEUTH
- # <circle> 1110
-326C CIRCLED HANGUL PHIEUPH
- # <circle> 1111
-326D CIRCLED HANGUL HIEUH
- # <circle> 1112
-@ Circled Hangul syllables
-326E CIRCLED HANGUL KIYEOK A
- # <circle> 1100 1161
-326F CIRCLED HANGUL NIEUN A
- # <circle> 1102 1161
-3270 CIRCLED HANGUL TIKEUT A
- # <circle> 1103 1161
-3271 CIRCLED HANGUL RIEUL A
- # <circle> 1105 1161
-3272 CIRCLED HANGUL MIEUM A
- # <circle> 1106 1161
-3273 CIRCLED HANGUL PIEUP A
- # <circle> 1107 1161
-3274 CIRCLED HANGUL SIOS A
- # <circle> 1109 1161
-3275 CIRCLED HANGUL IEUNG A
- # <circle> 110B 1161
-3276 CIRCLED HANGUL CIEUC A
- # <circle> 110C 1161
-3277 CIRCLED HANGUL CHIEUCH A
- # <circle> 110E 1161
-3278 CIRCLED HANGUL KHIEUKH A
- # <circle> 110F 1161
-3279 CIRCLED HANGUL THIEUTH A
- # <circle> 1110 1161
-327A CIRCLED HANGUL PHIEUPH A
- # <circle> 1111 1161
-327B CIRCLED HANGUL HIEUH A
- # <circle> 1112 1161
-@ Circled Korean words
-327C CIRCLED KOREAN CHARACTER CHAMKO
- # <circle> 110E 1161 11B7 1100 1169
-327D CIRCLED KOREAN CHARACTER JUEUI
- # <circle> 110C 116E 110B 1174
-@ Circled Hangul syllable
-327E CIRCLED HANGUL IEUNG U
- * postal code mark
- # <circle> 110B 116E
-@ Symbol
-327F KOREAN STANDARD SYMBOL
-@ Circled ideographs
-3280 CIRCLED IDEOGRAPH ONE
- = maru-iti, symbol of unification
- # <circle> 4E00
-3281 CIRCLED IDEOGRAPH TWO
- # <circle> 4E8C
-3282 CIRCLED IDEOGRAPH THREE
- # <circle> 4E09
-3283 CIRCLED IDEOGRAPH FOUR
- # <circle> 56DB
-3284 CIRCLED IDEOGRAPH FIVE
- # <circle> 4E94
-3285 CIRCLED IDEOGRAPH SIX
- # <circle> 516D
-3286 CIRCLED IDEOGRAPH SEVEN
- # <circle> 4E03
-3287 CIRCLED IDEOGRAPH EIGHT
- # <circle> 516B
-3288 CIRCLED IDEOGRAPH NINE
- # <circle> 4E5D
-3289 CIRCLED IDEOGRAPH TEN
- # <circle> 5341
-328A CIRCLED IDEOGRAPH MOON
- * Monday
- # <circle> 6708
-328B CIRCLED IDEOGRAPH FIRE
- * Tuesday
- # <circle> 706B
-328C CIRCLED IDEOGRAPH WATER
- * Wednesday
- # <circle> 6C34
-328D CIRCLED IDEOGRAPH WOOD
- * Thursday
- # <circle> 6728
-328E CIRCLED IDEOGRAPH METAL
- * Friday
- # <circle> 91D1
-328F CIRCLED IDEOGRAPH EARTH
- * Saturday
- # <circle> 571F
-3290 CIRCLED IDEOGRAPH SUN
- * Sunday
- # <circle> 65E5
-3291 CIRCLED IDEOGRAPH STOCK
- * incorporated
- # <circle> 682A
-3292 CIRCLED IDEOGRAPH HAVE
- * limited
- # <circle> 6709
-3293 CIRCLED IDEOGRAPH SOCIETY
- * company
- # <circle> 793E
-3294 CIRCLED IDEOGRAPH NAME
- # <circle> 540D
-3295 CIRCLED IDEOGRAPH SPECIAL
- # <circle> 7279
-3296 CIRCLED IDEOGRAPH FINANCIAL
- # <circle> 8CA1
-3297 CIRCLED IDEOGRAPH CONGRATULATION
- # <circle> 795D
-3298 CIRCLED IDEOGRAPH LABOR
- # <circle> 52B4
-3299 CIRCLED IDEOGRAPH SECRET
- # <circle> 79D8
-329A CIRCLED IDEOGRAPH MALE
- # <circle> 7537
-329B CIRCLED IDEOGRAPH FEMALE
- # <circle> 5973
-329C CIRCLED IDEOGRAPH SUITABLE
- # <circle> 9069
-329D CIRCLED IDEOGRAPH EXCELLENT
- # <circle> 512A
-329E CIRCLED IDEOGRAPH PRINT
- * name seal
- # <circle> 5370
-329F CIRCLED IDEOGRAPH ATTENTION
- # <circle> 6CE8
-32A0 CIRCLED IDEOGRAPH ITEM
- # <circle> 9805
-32A1 CIRCLED IDEOGRAPH REST
- * holiday
- # <circle> 4F11
-32A2 CIRCLED IDEOGRAPH COPY
- # <circle> 5199
-32A3 CIRCLED IDEOGRAPH CORRECT
- # <circle> 6B63
-32A4 CIRCLED IDEOGRAPH HIGH
- # <circle> 4E0A
-32A5 CIRCLED IDEOGRAPH CENTRE
- # <circle> 4E2D
-32A6 CIRCLED IDEOGRAPH LOW
- # <circle> 4E0B
-32A7 CIRCLED IDEOGRAPH LEFT
- # <circle> 5DE6
-32A8 CIRCLED IDEOGRAPH RIGHT
- # <circle> 53F3
-32A9 CIRCLED IDEOGRAPH MEDICINE
- # <circle> 533B
-32AA CIRCLED IDEOGRAPH RELIGION
- # <circle> 5B97
-32AB CIRCLED IDEOGRAPH STUDY
- # <circle> 5B66
-32AC CIRCLED IDEOGRAPH SUPERVISE
- # <circle> 76E3
-32AD CIRCLED IDEOGRAPH ENTERPRISE
- # <circle> 4F01
-32AE CIRCLED IDEOGRAPH RESOURCE
- # <circle> 8CC7
-32AF CIRCLED IDEOGRAPH ALLIANCE
- # <circle> 5354
-32B0 CIRCLED IDEOGRAPH NIGHT
- # <circle> 591C
-@ Circled numbers
-32B1 CIRCLED NUMBER THIRTY SIX
- # <circle> 0033 0036
-32B2 CIRCLED NUMBER THIRTY SEVEN
- # <circle> 0033 0037
-32B3 CIRCLED NUMBER THIRTY EIGHT
- # <circle> 0033 0038
-32B4 CIRCLED NUMBER THIRTY NINE
- # <circle> 0033 0039
-32B5 CIRCLED NUMBER FORTY
- # <circle> 0034 0030
-32B6 CIRCLED NUMBER FORTY ONE
- # <circle> 0034 0031
-32B7 CIRCLED NUMBER FORTY TWO
- # <circle> 0034 0032
-32B8 CIRCLED NUMBER FORTY THREE
- # <circle> 0034 0033
-32B9 CIRCLED NUMBER FORTY FOUR
- # <circle> 0034 0034
-32BA CIRCLED NUMBER FORTY FIVE
- # <circle> 0034 0035
-32BB CIRCLED NUMBER FORTY SIX
- # <circle> 0034 0036
-32BC CIRCLED NUMBER FORTY SEVEN
- # <circle> 0034 0037
-32BD CIRCLED NUMBER FORTY EIGHT
- # <circle> 0034 0038
-32BE CIRCLED NUMBER FORTY NINE
- # <circle> 0034 0039
-32BF CIRCLED NUMBER FIFTY
- # <circle> 0035 0030
-@ Telegraph symbols for months
-32C0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
- # 0031 6708
-32C1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
- # 0032 6708
-32C2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
- # 0033 6708
-32C3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
- # 0034 6708
-32C4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
- # 0035 6708
-32C5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
- # 0036 6708
-32C6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
- # 0037 6708
-32C7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
- # 0038 6708
-32C8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
- # 0039 6708
-32C9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
- # 0031 0030 6708
-32CA IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
- # 0031 0031 6708
-32CB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
- # 0031 0032 6708
-@ Squared Latin abbreviations
-32CC SQUARE HG
- # <square> 0048 0067
-32CD SQUARE ERG
- # <square> 0065 0072 0067
-32CE SQUARE EV
- # <square> 0065 0056
-32CF LIMITED LIABILITY SIGN
- # <square> 004C 0054 0044
-@ Circled Katakana
-32D0 CIRCLED KATAKANA A
- # <circle> 30A2
-32D1 CIRCLED KATAKANA I
- # <circle> 30A4
-32D2 CIRCLED KATAKANA U
- # <circle> 30A6
-32D3 CIRCLED KATAKANA E
- # <circle> 30A8
-32D4 CIRCLED KATAKANA O
- # <circle> 30AA
-32D5 CIRCLED KATAKANA KA
- # <circle> 30AB
-32D6 CIRCLED KATAKANA KI
- # <circle> 30AD
-32D7 CIRCLED KATAKANA KU
- # <circle> 30AF
-32D8 CIRCLED KATAKANA KE
- # <circle> 30B1
-32D9 CIRCLED KATAKANA KO
- # <circle> 30B3
-32DA CIRCLED KATAKANA SA
- # <circle> 30B5
-32DB CIRCLED KATAKANA SI
- # <circle> 30B7
-32DC CIRCLED KATAKANA SU
- # <circle> 30B9
-32DD CIRCLED KATAKANA SE
- # <circle> 30BB
-32DE CIRCLED KATAKANA SO
- # <circle> 30BD
-32DF CIRCLED KATAKANA TA
- # <circle> 30BF
-32E0 CIRCLED KATAKANA TI
- # <circle> 30C1
-32E1 CIRCLED KATAKANA TU
- # <circle> 30C4
-32E2 CIRCLED KATAKANA TE
- # <circle> 30C6
-32E3 CIRCLED KATAKANA TO
- # <circle> 30C8
-32E4 CIRCLED KATAKANA NA
- # <circle> 30CA
-32E5 CIRCLED KATAKANA NI
- # <circle> 30CB
-32E6 CIRCLED KATAKANA NU
- # <circle> 30CC
-32E7 CIRCLED KATAKANA NE
- # <circle> 30CD
-32E8 CIRCLED KATAKANA NO
- # <circle> 30CE
-32E9 CIRCLED KATAKANA HA
- # <circle> 30CF
-32EA CIRCLED KATAKANA HI
- # <circle> 30D2
-32EB CIRCLED KATAKANA HU
- # <circle> 30D5
-32EC CIRCLED KATAKANA HE
- # <circle> 30D8
-32ED CIRCLED KATAKANA HO
- # <circle> 30DB
-32EE CIRCLED KATAKANA MA
- # <circle> 30DE
-32EF CIRCLED KATAKANA MI
- # <circle> 30DF
-32F0 CIRCLED KATAKANA MU
- # <circle> 30E0
-32F1 CIRCLED KATAKANA ME
- # <circle> 30E1
-32F2 CIRCLED KATAKANA MO
- # <circle> 30E2
-32F3 CIRCLED KATAKANA YA
- # <circle> 30E4
-32F4 CIRCLED KATAKANA YU
- # <circle> 30E6
-32F5 CIRCLED KATAKANA YO
- # <circle> 30E8
-32F6 CIRCLED KATAKANA RA
- # <circle> 30E9
-32F7 CIRCLED KATAKANA RI
- # <circle> 30EA
-32F8 CIRCLED KATAKANA RU
- # <circle> 30EB
-32F9 CIRCLED KATAKANA RE
- # <circle> 30EC
-32FA CIRCLED KATAKANA RO
- # <circle> 30ED
-32FB CIRCLED KATAKANA WA
- # <circle> 30EF
-32FC CIRCLED KATAKANA WI
- # <circle> 30F0
-32FD CIRCLED KATAKANA WE
- # <circle> 30F1
-32FE CIRCLED KATAKANA WO
- # <circle> 30F2
-@@ 3300 CJK Compatibility 33FF
-@ Squared Katakana words
-3300 SQUARE APAATO
- * apartment
- # <square> 30A2 30D1 30FC 30C8
-3301 SQUARE ARUHUA
- * alpha
- # <square> 30A2 30EB 30D5 30A1
-3302 SQUARE ANPEA
- * ampere
- # <square> 30A2 30F3 30DA 30A2
-3303 SQUARE AARU
- * are (unit of area)
- # <square> 30A2 30FC 30EB
-3304 SQUARE ININGU
- * inning
- # <square> 30A4 30CB 30F3 30B0
-3305 SQUARE INTI
- * inch
- # <square> 30A4 30F3 30C1
-3306 SQUARE UON
- * won (Korean currency)
- # <square> 30A6 30A9 30F3
-3307 SQUARE ESUKUUDO
- * escudo (Portuguese currency)
- # <square> 30A8 30B9 30AF 30FC 30C9
-3308 SQUARE EEKAA
- * acre
- # <square> 30A8 30FC 30AB 30FC
-3309 SQUARE ONSU
- * ounce
- # <square> 30AA 30F3 30B9
-330A SQUARE OOMU
- * ohm
- # <square> 30AA 30FC 30E0
-330B SQUARE KAIRI
- * kai-ri: nautical mile
- # <square> 30AB 30A4 30EA
-330C SQUARE KARATTO
- * carat
- # <square> 30AB 30E9 30C3 30C8
-330D SQUARE KARORII
- * calorie
- # <square> 30AB 30ED 30EA 30FC
-330E SQUARE GARON
- * gallon
- # <square> 30AC 30ED 30F3
-330F SQUARE GANMA
- * gamma
- # <square> 30AC 30F3 30DE
-3310 SQUARE GIGA
- * giga-
- # <square> 30AE 30AC
-3311 SQUARE GINII
- * guinea
- # <square> 30AE 30CB 30FC
-3312 SQUARE KYURII
- * curie
- # <square> 30AD 30E5 30EA 30FC
-3313 SQUARE GIRUDAA
- * guilder
- # <square> 30AE 30EB 30C0 30FC
-3314 SQUARE KIRO
- * kilo-
- # <square> 30AD 30ED
-3315 SQUARE KIROGURAMU
- * kilogram
- # <square> 30AD 30ED 30B0 30E9 30E0
-3316 SQUARE KIROMEETORU
- * kilometer
- # <square> 30AD 30ED 30E1 30FC 30C8 30EB
-3317 SQUARE KIROWATTO
- * kilowatt
- # <square> 30AD 30ED 30EF 30C3 30C8
-3318 SQUARE GURAMU
- * gram
- # <square> 30B0 30E9 30E0
-3319 SQUARE GURAMUTON
- * gram ton
- # <square> 30B0 30E9 30E0 30C8 30F3
-331A SQUARE KURUZEIRO
- * cruzeiro (Brazilian currency)
- # <square> 30AF 30EB 30BC 30A4 30ED
-331B SQUARE KUROONE
- * krone
- # <square> 30AF 30ED 30FC 30CD
-331C SQUARE KEESU
- * case
- # <square> 30B1 30FC 30B9
-331D SQUARE KORUNA
- * koruna (Czech currency)
- # <square> 30B3 30EB 30CA
-331E SQUARE KOOPO
- * co-op
- # <square> 30B3 30FC 30DD
-331F SQUARE SAIKURU
- * cycle
- # <square> 30B5 30A4 30AF 30EB
-3320 SQUARE SANTIIMU
- * centime
- # <square> 30B5 30F3 30C1 30FC 30E0
-3321 SQUARE SIRINGU
- * shilling
- # <square> 30B7 30EA 30F3 30B0
-3322 SQUARE SENTI
- * centi-
- # <square> 30BB 30F3 30C1
-3323 SQUARE SENTO
- * cent
- # <square> 30BB 30F3 30C8
-3324 SQUARE DAASU
- * dozen
- # <square> 30C0 30FC 30B9
-3325 SQUARE DESI
- * deci-
- # <square> 30C7 30B7
-3326 SQUARE DORU
- * dollar
- # <square> 30C9 30EB
-3327 SQUARE TON
- * ton
- # <square> 30C8 30F3
-3328 SQUARE NANO
- * nano-
- # <square> 30CA 30CE
-3329 SQUARE NOTTO
- * knot, nautical mile
- # <square> 30CE 30C3 30C8
-332A SQUARE HAITU
- * heights
- # <square> 30CF 30A4 30C4
-332B SQUARE PAASENTO
- * percent
- # <square> 30D1 30FC 30BB 30F3 30C8
-332C SQUARE PAATU
- * parts
- # <square> 30D1 30FC 30C4
-332D SQUARE BAARERU
- * barrel
- # <square> 30D0 30FC 30EC 30EB
-332E SQUARE PIASUTORU
- * piaster
- # <square> 30D4 30A2 30B9 30C8 30EB
-332F SQUARE PIKURU
- * picul (unit of weight)
- # <square> 30D4 30AF 30EB
-3330 SQUARE PIKO
- * pico-
- # <square> 30D4 30B3
-3331 SQUARE BIRU
- * building
- # <square> 30D3 30EB
-3332 SQUARE HUARADDO
- * farad
- # <square> 30D5 30A1 30E9 30C3 30C9
-3333 SQUARE HUIITO
- * feet
- # <square> 30D5 30A3 30FC 30C8
-3334 SQUARE BUSSYERU
- * bushel
- # <square> 30D6 30C3 30B7 30A7 30EB
-3335 SQUARE HURAN
- * franc
- # <square> 30D5 30E9 30F3
-3336 SQUARE HEKUTAARU
- * hectare
- # <square> 30D8 30AF 30BF 30FC 30EB
-3337 SQUARE PESO
- * peso
- # <square> 30DA 30BD
-3338 SQUARE PENIHI
- * pfennig
- # <square> 30DA 30CB 30D2
-3339 SQUARE HERUTU
- * hertz
- # <square> 30D8 30EB 30C4
-333A SQUARE PENSU
- * pence
- # <square> 30DA 30F3 30B9
-333B SQUARE PEEZI
- * page
- # <square> 30DA 30FC 30B8
-333C SQUARE BEETA
- * beta
- # <square> 30D9 30FC 30BF
-333D SQUARE POINTO
- * point
- # <square> 30DD 30A4 30F3 30C8
-333E SQUARE BORUTO
- * volt, bolt
- # <square> 30DC 30EB 30C8
-333F SQUARE HON
- * hon: volume
- # <square> 30DB 30F3
-3340 SQUARE PONDO
- * pound
- # <square> 30DD 30F3 30C9
-3341 SQUARE HOORU
- * hall
- # <square> 30DB 30FC 30EB
-3342 SQUARE HOON
- * horn
- # <square> 30DB 30FC 30F3
-3343 SQUARE MAIKURO
- * micro-
- # <square> 30DE 30A4 30AF 30ED
-3344 SQUARE MAIRU
- * mile
- # <square> 30DE 30A4 30EB
-3345 SQUARE MAHHA
- * mach
- # <square> 30DE 30C3 30CF
-3346 SQUARE MARUKU
- * mark
- # <square> 30DE 30EB 30AF
-3347 SQUARE MANSYON
- * mansion (i.e. better quality apartment)
- # <square> 30DE 30F3 30B7 30E7 30F3
-3348 SQUARE MIKURON
- * micron
- # <square> 30DF 30AF 30ED 30F3
-3349 SQUARE MIRI
- * milli-
- # <square> 30DF 30EA
-334A SQUARE MIRIBAARU
- * millibar
- # <square> 30DF 30EA 30D0 30FC 30EB
-334B SQUARE MEGA
- * mega-
- # <square> 30E1 30AC
-334C SQUARE MEGATON
- * megaton
- # <square> 30E1 30AC 30C8 30F3
-334D SQUARE MEETORU
- * meter
- # <square> 30E1 30FC 30C8 30EB
-334E SQUARE YAADO
- * yard
- # <square> 30E4 30FC 30C9
-334F SQUARE YAARU
- * yard
- # <square> 30E4 30FC 30EB
-3350 SQUARE YUAN
- * yuan (Chinese currency)
- # <square> 30E6 30A2 30F3
-3351 SQUARE RITTORU
- * liter
- # <square> 30EA 30C3 30C8 30EB
-3352 SQUARE RIRA
- * lira
- # <square> 30EA 30E9
-3353 SQUARE RUPII
- * rupee
- # <square> 30EB 30D4 30FC
-3354 SQUARE RUUBURU
- * ruble
- # <square> 30EB 30FC 30D6 30EB
-3355 SQUARE REMU
- * rem (unit of radiation)
- # <square> 30EC 30E0
-3356 SQUARE RENTOGEN
- * roentgen
- # <square> 30EC 30F3 30C8 30B2 30F3
-3357 SQUARE WATTO
- * watt
- # <square> 30EF 30C3 30C8
-@ Telegraph symbols for hours
-3358 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
- # 0030 70B9
-3359 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
- # 0031 70B9
-335A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
- # 0032 70B9
-335B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
- # 0033 70B9
-335C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
- # 0034 70B9
-335D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
- # 0035 70B9
-335E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
- # 0036 70B9
-335F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
- # 0037 70B9
-3360 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
- # 0038 70B9
-3361 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
- # 0039 70B9
-3362 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
- # 0031 0030 70B9
-3363 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
- # 0031 0031 70B9
-3364 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
- # 0031 0032 70B9
-3365 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
- # 0031 0033 70B9
-3366 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
- # 0031 0034 70B9
-3367 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
- # 0031 0035 70B9
-3368 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
- # 0031 0036 70B9
-3369 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
- # 0031 0037 70B9
-336A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
- # 0031 0038 70B9
-336B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
- # 0031 0039 70B9
-336C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
- # 0032 0030 70B9
-336D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
- # 0032 0031 70B9
-336E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
- # 0032 0032 70B9
-336F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
- # 0032 0033 70B9
-3370 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
- # 0032 0034 70B9
-@ Squared Latin abbreviations
-3371 SQUARE HPA
- # <square> 0068 0050 0061
-3372 SQUARE DA
- # <square> 0064 0061
-3373 SQUARE AU
- # <square> 0041 0055
-3374 SQUARE BAR
- # <square> 0062 0061 0072
-3375 SQUARE OV
- # <square> 006F 0056
-3376 SQUARE PC
- # <square> 0070 0063
-3377 SQUARE DM
- # <square> 0064 006D
-3378 SQUARE DM SQUARED
- # <square> 0064 006D 00B2
-3379 SQUARE DM CUBED
- # <square> 0064 006D 00B3
-337A SQUARE IU
- # <square> 0049 0055
-@ Japanese era names
-337B SQUARE ERA NAME HEISEI
- # <square> 5E73 6210
-337C SQUARE ERA NAME SYOUWA
- # <square> 662D 548C
-337D SQUARE ERA NAME TAISYOU
- # <square> 5927 6B63
-337E SQUARE ERA NAME MEIZI
- # <square> 660E 6CBB
-@ Japanese corporation
-337F SQUARE CORPORATION
- = kabusiki-gaisya
- * incorporated
- # <square> 682A 5F0F 4F1A 793E
-@ Squared Latin abbreviations
-3380 SQUARE PA AMPS
- # <square> 0070 0041
-3381 SQUARE NA
- # <square> 006E 0041
-3382 SQUARE MU A
- # <square> 03BC 0041
-3383 SQUARE MA
- # <square> 006D 0041
-3384 SQUARE KA
- # <square> 006B 0041
-3385 SQUARE KB
- # <square> 004B 0042
-3386 SQUARE MB
- # <square> 004D 0042
-3387 SQUARE GB
- # <square> 0047 0042
-3388 SQUARE CAL
- # <square> 0063 0061 006C
-3389 SQUARE KCAL
- # <square> 006B 0063 0061 006C
-338A SQUARE PF
- # <square> 0070 0046
-338B SQUARE NF
- # <square> 006E 0046
-338C SQUARE MU F
- # <square> 03BC 0046
-338D SQUARE MU G
- # <square> 03BC 0067
-338E SQUARE MG
- # <square> 006D 0067
-338F SQUARE KG
- # <square> 006B 0067
-3390 SQUARE HZ
- # <square> 0048 007A
-3391 SQUARE KHZ
- # <square> 006B 0048 007A
-3392 SQUARE MHZ
- # <square> 004D 0048 007A
-3393 SQUARE GHZ
- # <square> 0047 0048 007A
-3394 SQUARE THZ
- # <square> 0054 0048 007A
-3395 SQUARE MU L
- # <square> 03BC 2113
-3396 SQUARE ML
- # <square> 006D 2113
-3397 SQUARE DL
- # <square> 0064 2113
-3398 SQUARE KL
- # <square> 006B 2113
-3399 SQUARE FM
- # <square> 0066 006D
-339A SQUARE NM
- # <square> 006E 006D
-339B SQUARE MU M
- # <square> 03BC 006D
-339C SQUARE MM
- # <square> 006D 006D
-339D SQUARE CM
- # <square> 0063 006D
-339E SQUARE KM
- # <square> 006B 006D
-339F SQUARE MM SQUARED
- # <square> 006D 006D 00B2
-33A0 SQUARE CM SQUARED
- # <square> 0063 006D 00B2
-33A1 SQUARE M SQUARED
- # <square> 006D 00B2
-33A2 SQUARE KM SQUARED
- # <square> 006B 006D 00B2
-33A3 SQUARE MM CUBED
- # <square> 006D 006D 00B3
-33A4 SQUARE CM CUBED
- # <square> 0063 006D 00B3
-33A5 SQUARE M CUBED
- # <square> 006D 00B3
-33A6 SQUARE KM CUBED
- # <square> 006B 006D 00B3
-33A7 SQUARE M OVER S
- # <square> 006D 2215 0073
-33A8 SQUARE M OVER S SQUARED
- # <square> 006D 2215 0073 00B2
-33A9 SQUARE PA
- # <square> 0050 0061
-33AA SQUARE KPA
- # <square> 006B 0050 0061
-33AB SQUARE MPA
- # <square> 004D 0050 0061
-33AC SQUARE GPA
- # <square> 0047 0050 0061
-33AD SQUARE RAD
- # <square> 0072 0061 0064
-33AE SQUARE RAD OVER S
- # <square> 0072 0061 0064 2215 0073
-33AF SQUARE RAD OVER S SQUARED
- # <square> 0072 0061 0064 2215 0073 00B2
-33B0 SQUARE PS
- # <square> 0070 0073
-33B1 SQUARE NS
- # <square> 006E 0073
-33B2 SQUARE MU S
- # <square> 03BC 0073
-33B3 SQUARE MS
- # <square> 006D 0073
-33B4 SQUARE PV
- # <square> 0070 0056
-33B5 SQUARE NV
- # <square> 006E 0056
-33B6 SQUARE MU V
- # <square> 03BC 0056
-33B7 SQUARE MV
- # <square> 006D 0056
-33B8 SQUARE KV
- # <square> 006B 0056
-33B9 SQUARE MV MEGA
- # <square> 004D 0056
-33BA SQUARE PW
- # <square> 0070 0057
-33BB SQUARE NW
- # <square> 006E 0057
-33BC SQUARE MU W
- # <square> 03BC 0057
-33BD SQUARE MW
- # <square> 006D 0057
-33BE SQUARE KW
- # <square> 006B 0057
-33BF SQUARE MW MEGA
- # <square> 004D 0057
-33C0 SQUARE K OHM
- # <square> 006B 03A9
-33C1 SQUARE M OHM
- # <square> 004D 03A9
-33C2 SQUARE AM
- # <square> 0061 002E 006D 002E
-33C3 SQUARE BQ
- # <square> 0042 0071
-33C4 SQUARE CC
- # <square> 0063 0063
-33C5 SQUARE CD
- x (circled cd - 1F12D)
- # <square> 0063 0064
-33C6 SQUARE C OVER KG
- # <square> 0043 2215 006B 0067
-33C7 SQUARE CO
- # <square> 0043 006F 002E
-33C8 SQUARE DB
- # <square> 0064 0042
-33C9 SQUARE GY
- # <square> 0047 0079
-33CA SQUARE HA
- # <square> 0068 0061
-33CB SQUARE HP
- # <square> 0048 0050
-33CC SQUARE IN
- # <square> 0069 006E
-33CD SQUARE KK
- # <square> 004B 004B
-33CE SQUARE KM CAPITAL
- # <square> 004B 004D
-33CF SQUARE KT
- # <square> 006B 0074
-33D0 SQUARE LM
- # <square> 006C 006D
-33D1 SQUARE LN
- # <square> 006C 006E
-33D2 SQUARE LOG
- # <square> 006C 006F 0067
-33D3 SQUARE LX
- # <square> 006C 0078
-33D4 SQUARE MB SMALL
- # <square> 006D 0062
-33D5 SQUARE MIL
- # <square> 006D 0069 006C
-33D6 SQUARE MOL
- # <square> 006D 006F 006C
-33D7 SQUARE PH
- # <square> 0050 0048
-33D8 SQUARE PM
- # <square> 0070 002E 006D 002E
-33D9 SQUARE PPM
- # <square> 0050 0050 004D
-33DA SQUARE PR
- # <square> 0050 0052
-33DB SQUARE SR
- # <square> 0073 0072
-33DC SQUARE SV
- # <square> 0053 0076
-33DD SQUARE WB
- # <square> 0057 0062
-33DE SQUARE V OVER M
- # <square> 0056 2215 006D
-33DF SQUARE A OVER M
- # <square> 0041 2215 006D
-@ Telegraph symbols for days
-33E0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
- # 0031 65E5
-33E1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
- # 0032 65E5
-33E2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
- # 0033 65E5
-33E3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
- # 0034 65E5
-33E4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
- # 0035 65E5
-33E5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
- # 0036 65E5
-33E6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
- # 0037 65E5
-33E7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
- # 0038 65E5
-33E8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
- # 0039 65E5
-33E9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
- # 0031 0030 65E5
-33EA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
- # 0031 0031 65E5
-33EB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
- # 0031 0032 65E5
-33EC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
- # 0031 0033 65E5
-33ED IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
- # 0031 0034 65E5
-33EE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
- # 0031 0035 65E5
-33EF IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
- # 0031 0036 65E5
-33F0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
- # 0031 0037 65E5
-33F1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
- # 0031 0038 65E5
-33F2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
- # 0031 0039 65E5
-33F3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
- # 0032 0030 65E5
-33F4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
- # 0032 0031 65E5
-33F5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
- # 0032 0032 65E5
-33F6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
- # 0032 0033 65E5
-33F7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
- # 0032 0034 65E5
-33F8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
- # 0032 0035 65E5
-33F9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
- # 0032 0036 65E5
-33FA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
- # 0032 0037 65E5
-33FB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
- # 0032 0038 65E5
-33FC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
- # 0032 0039 65E5
-33FD IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
- # 0033 0030 65E5
-33FE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
- # 0033 0031 65E5
-@ Squared Latin abbreviation
-33FF SQUARE GAL
- # <square> 0067 0061 006C
-@@ 3400 CJK Unified Ideographs Extension A 4DB5
-@@ 4DC0 Yijing Hexagram Symbols 4DFF
-@ Yijing hexagram symbols
-4DC0 HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1 HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2 HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3 HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4 HEXAGRAM FOR WAITING
-4DC5 HEXAGRAM FOR CONFLICT
-4DC6 HEXAGRAM FOR THE ARMY
-4DC7 HEXAGRAM FOR HOLDING TOGETHER
-4DC8 HEXAGRAM FOR SMALL TAMING
-4DC9 HEXAGRAM FOR TREADING
-4DCA HEXAGRAM FOR PEACE
-4DCB HEXAGRAM FOR STANDSTILL
-4DCC HEXAGRAM FOR FELLOWSHIP
-4DCD HEXAGRAM FOR GREAT POSSESSION
-4DCE HEXAGRAM FOR MODESTY
-4DCF HEXAGRAM FOR ENTHUSIASM
-4DD0 HEXAGRAM FOR FOLLOWING
-4DD1 HEXAGRAM FOR WORK ON THE DECAYED
-4DD2 HEXAGRAM FOR APPROACH
-4DD3 HEXAGRAM FOR CONTEMPLATION
-4DD4 HEXAGRAM FOR BITING THROUGH
-4DD5 HEXAGRAM FOR GRACE
-4DD6 HEXAGRAM FOR SPLITTING APART
-4DD7 HEXAGRAM FOR RETURN
-4DD8 HEXAGRAM FOR INNOCENCE
-4DD9 HEXAGRAM FOR GREAT TAMING
-4DDA HEXAGRAM FOR MOUTH CORNERS
-4DDB HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC HEXAGRAM FOR THE ABYSMAL WATER
-4DDD HEXAGRAM FOR THE CLINGING FIRE
-4DDE HEXAGRAM FOR INFLUENCE
-4DDF HEXAGRAM FOR DURATION
-4DE0 HEXAGRAM FOR RETREAT
-4DE1 HEXAGRAM FOR GREAT POWER
-4DE2 HEXAGRAM FOR PROGRESS
-4DE3 HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4 HEXAGRAM FOR THE FAMILY
-4DE5 HEXAGRAM FOR OPPOSITION
-4DE6 HEXAGRAM FOR OBSTRUCTION
-4DE7 HEXAGRAM FOR DELIVERANCE
-4DE8 HEXAGRAM FOR DECREASE
-4DE9 HEXAGRAM FOR INCREASE
-4DEA HEXAGRAM FOR BREAKTHROUGH
-4DEB HEXAGRAM FOR COMING TO MEET
-4DEC HEXAGRAM FOR GATHERING TOGETHER
-4DED HEXAGRAM FOR PUSHING UPWARD
-4DEE HEXAGRAM FOR OPPRESSION
-4DEF HEXAGRAM FOR THE WELL
-4DF0 HEXAGRAM FOR REVOLUTION
-4DF1 HEXAGRAM FOR THE CAULDRON
-4DF2 HEXAGRAM FOR THE AROUSING THUNDER
-4DF3 HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4 HEXAGRAM FOR DEVELOPMENT
-4DF5 HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6 HEXAGRAM FOR ABUNDANCE
-4DF7 HEXAGRAM FOR THE WANDERER
-4DF8 HEXAGRAM FOR THE GENTLE WIND
-4DF9 HEXAGRAM FOR THE JOYOUS LAKE
-4DFA HEXAGRAM FOR DISPERSION
-4DFB HEXAGRAM FOR LIMITATION
-4DFC HEXAGRAM FOR INNER TRUTH
-4DFD HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE HEXAGRAM FOR AFTER COMPLETION
-4DFF HEXAGRAM FOR BEFORE COMPLETION
-@@ 4E00 CJK Unified Ideographs 9FCB
-@@ A000 Yi Syllables A48F
-@@+
-@ Syllables
-A000 YI SYLLABLE IT
-A001 YI SYLLABLE IX
-A002 YI SYLLABLE I
-A003 YI SYLLABLE IP
-A004 YI SYLLABLE IET
-A005 YI SYLLABLE IEX
-A006 YI SYLLABLE IE
-A007 YI SYLLABLE IEP
-A008 YI SYLLABLE AT
-A009 YI SYLLABLE AX
-A00A YI SYLLABLE A
-A00B YI SYLLABLE AP
-A00C YI SYLLABLE UOX
-A00D YI SYLLABLE UO
-A00E YI SYLLABLE UOP
-A00F YI SYLLABLE OT
-A010 YI SYLLABLE OX
-A011 YI SYLLABLE O
-A012 YI SYLLABLE OP
-A013 YI SYLLABLE EX
-A014 YI SYLLABLE E
-@ Syllable iteration mark
-A015 YI SYLLABLE WU
- % YI SYLLABLE ITERATION MARK
- * name is a misnomer
-@ Syllables
-A016 YI SYLLABLE BIT
-A017 YI SYLLABLE BIX
-A018 YI SYLLABLE BI
-A019 YI SYLLABLE BIP
-A01A YI SYLLABLE BIET
-A01B YI SYLLABLE BIEX
-A01C YI SYLLABLE BIE
-A01D YI SYLLABLE BIEP
-A01E YI SYLLABLE BAT
-A01F YI SYLLABLE BAX
-A020 YI SYLLABLE BA
-A021 YI SYLLABLE BAP
-A022 YI SYLLABLE BUOX
-A023 YI SYLLABLE BUO
-A024 YI SYLLABLE BUOP
-A025 YI SYLLABLE BOT
-A026 YI SYLLABLE BOX
-A027 YI SYLLABLE BO
-A028 YI SYLLABLE BOP
-A029 YI SYLLABLE BEX
-A02A YI SYLLABLE BE
-A02B YI SYLLABLE BEP
-A02C YI SYLLABLE BUT
-A02D YI SYLLABLE BUX
-A02E YI SYLLABLE BU
-A02F YI SYLLABLE BUP
-A030 YI SYLLABLE BURX
-A031 YI SYLLABLE BUR
-A032 YI SYLLABLE BYT
-A033 YI SYLLABLE BYX
-A034 YI SYLLABLE BY
-A035 YI SYLLABLE BYP
-A036 YI SYLLABLE BYRX
-A037 YI SYLLABLE BYR
-A038 YI SYLLABLE PIT
-A039 YI SYLLABLE PIX
-A03A YI SYLLABLE PI
-A03B YI SYLLABLE PIP
-A03C YI SYLLABLE PIEX
-A03D YI SYLLABLE PIE
-A03E YI SYLLABLE PIEP
-A03F YI SYLLABLE PAT
-A040 YI SYLLABLE PAX
-A041 YI SYLLABLE PA
-A042 YI SYLLABLE PAP
-A043 YI SYLLABLE PUOX
-A044 YI SYLLABLE PUO
-A045 YI SYLLABLE PUOP
-A046 YI SYLLABLE POT
-A047 YI SYLLABLE POX
-A048 YI SYLLABLE PO
-A049 YI SYLLABLE POP
-A04A YI SYLLABLE PUT
-A04B YI SYLLABLE PUX
-A04C YI SYLLABLE PU
-A04D YI SYLLABLE PUP
-A04E YI SYLLABLE PURX
-A04F YI SYLLABLE PUR
-A050 YI SYLLABLE PYT
-A051 YI SYLLABLE PYX
-A052 YI SYLLABLE PY
-A053 YI SYLLABLE PYP
-A054 YI SYLLABLE PYRX
-A055 YI SYLLABLE PYR
-A056 YI SYLLABLE BBIT
-A057 YI SYLLABLE BBIX
-A058 YI SYLLABLE BBI
-A059 YI SYLLABLE BBIP
-A05A YI SYLLABLE BBIET
-A05B YI SYLLABLE BBIEX
-A05C YI SYLLABLE BBIE
-A05D YI SYLLABLE BBIEP
-A05E YI SYLLABLE BBAT
-A05F YI SYLLABLE BBAX
-A060 YI SYLLABLE BBA
-A061 YI SYLLABLE BBAP
-A062 YI SYLLABLE BBUOX
-A063 YI SYLLABLE BBUO
-A064 YI SYLLABLE BBUOP
-A065 YI SYLLABLE BBOT
-A066 YI SYLLABLE BBOX
-A067 YI SYLLABLE BBO
-A068 YI SYLLABLE BBOP
-A069 YI SYLLABLE BBEX
-A06A YI SYLLABLE BBE
-A06B YI SYLLABLE BBEP
-A06C YI SYLLABLE BBUT
-A06D YI SYLLABLE BBUX
-A06E YI SYLLABLE BBU
-A06F YI SYLLABLE BBUP
-A070 YI SYLLABLE BBURX
-A071 YI SYLLABLE BBUR
-A072 YI SYLLABLE BBYT
-A073 YI SYLLABLE BBYX
-A074 YI SYLLABLE BBY
-A075 YI SYLLABLE BBYP
-A076 YI SYLLABLE NBIT
-A077 YI SYLLABLE NBIX
-A078 YI SYLLABLE NBI
-A079 YI SYLLABLE NBIP
-A07A YI SYLLABLE NBIEX
-A07B YI SYLLABLE NBIE
-A07C YI SYLLABLE NBIEP
-A07D YI SYLLABLE NBAT
-A07E YI SYLLABLE NBAX
-A07F YI SYLLABLE NBA
-A080 YI SYLLABLE NBAP
-A081 YI SYLLABLE NBOT
-A082 YI SYLLABLE NBOX
-A083 YI SYLLABLE NBO
-A084 YI SYLLABLE NBOP
-A085 YI SYLLABLE NBUT
-A086 YI SYLLABLE NBUX
-A087 YI SYLLABLE NBU
-A088 YI SYLLABLE NBUP
-A089 YI SYLLABLE NBURX
-A08A YI SYLLABLE NBUR
-A08B YI SYLLABLE NBYT
-A08C YI SYLLABLE NBYX
-A08D YI SYLLABLE NBY
-A08E YI SYLLABLE NBYP
-A08F YI SYLLABLE NBYRX
-A090 YI SYLLABLE NBYR
-A091 YI SYLLABLE HMIT
-A092 YI SYLLABLE HMIX
-A093 YI SYLLABLE HMI
-A094 YI SYLLABLE HMIP
-A095 YI SYLLABLE HMIEX
-A096 YI SYLLABLE HMIE
-A097 YI SYLLABLE HMIEP
-A098 YI SYLLABLE HMAT
-A099 YI SYLLABLE HMAX
-A09A YI SYLLABLE HMA
-A09B YI SYLLABLE HMAP
-A09C YI SYLLABLE HMUOX
-A09D YI SYLLABLE HMUO
-A09E YI SYLLABLE HMUOP
-A09F YI SYLLABLE HMOT
-A0A0 YI SYLLABLE HMOX
-A0A1 YI SYLLABLE HMO
-A0A2 YI SYLLABLE HMOP
-A0A3 YI SYLLABLE HMUT
-A0A4 YI SYLLABLE HMUX
-A0A5 YI SYLLABLE HMU
-A0A6 YI SYLLABLE HMUP
-A0A7 YI SYLLABLE HMURX
-A0A8 YI SYLLABLE HMUR
-A0A9 YI SYLLABLE HMYX
-A0AA YI SYLLABLE HMY
-A0AB YI SYLLABLE HMYP
-A0AC YI SYLLABLE HMYRX
-A0AD YI SYLLABLE HMYR
-A0AE YI SYLLABLE MIT
-A0AF YI SYLLABLE MIX
-A0B0 YI SYLLABLE MI
-A0B1 YI SYLLABLE MIP
-A0B2 YI SYLLABLE MIEX
-A0B3 YI SYLLABLE MIE
-A0B4 YI SYLLABLE MIEP
-A0B5 YI SYLLABLE MAT
-A0B6 YI SYLLABLE MAX
-A0B7 YI SYLLABLE MA
-A0B8 YI SYLLABLE MAP
-A0B9 YI SYLLABLE MUOT
-A0BA YI SYLLABLE MUOX
-A0BB YI SYLLABLE MUO
-A0BC YI SYLLABLE MUOP
-A0BD YI SYLLABLE MOT
-A0BE YI SYLLABLE MOX
-A0BF YI SYLLABLE MO
-A0C0 YI SYLLABLE MOP
-A0C1 YI SYLLABLE MEX
-A0C2 YI SYLLABLE ME
-A0C3 YI SYLLABLE MUT
-A0C4 YI SYLLABLE MUX
-A0C5 YI SYLLABLE MU
-A0C6 YI SYLLABLE MUP
-A0C7 YI SYLLABLE MURX
-A0C8 YI SYLLABLE MUR
-A0C9 YI SYLLABLE MYT
-A0CA YI SYLLABLE MYX
-A0CB YI SYLLABLE MY
-A0CC YI SYLLABLE MYP
-A0CD YI SYLLABLE FIT
-A0CE YI SYLLABLE FIX
-A0CF YI SYLLABLE FI
-A0D0 YI SYLLABLE FIP
-A0D1 YI SYLLABLE FAT
-A0D2 YI SYLLABLE FAX
-A0D3 YI SYLLABLE FA
-A0D4 YI SYLLABLE FAP
-A0D5 YI SYLLABLE FOX
-A0D6 YI SYLLABLE FO
-A0D7 YI SYLLABLE FOP
-A0D8 YI SYLLABLE FUT
-A0D9 YI SYLLABLE FUX
-A0DA YI SYLLABLE FU
-A0DB YI SYLLABLE FUP
-A0DC YI SYLLABLE FURX
-A0DD YI SYLLABLE FUR
-A0DE YI SYLLABLE FYT
-A0DF YI SYLLABLE FYX
-A0E0 YI SYLLABLE FY
-A0E1 YI SYLLABLE FYP
-A0E2 YI SYLLABLE VIT
-A0E3 YI SYLLABLE VIX
-A0E4 YI SYLLABLE VI
-A0E5 YI SYLLABLE VIP
-A0E6 YI SYLLABLE VIET
-A0E7 YI SYLLABLE VIEX
-A0E8 YI SYLLABLE VIE
-A0E9 YI SYLLABLE VIEP
-A0EA YI SYLLABLE VAT
-A0EB YI SYLLABLE VAX
-A0EC YI SYLLABLE VA
-A0ED YI SYLLABLE VAP
-A0EE YI SYLLABLE VOT
-A0EF YI SYLLABLE VOX
-A0F0 YI SYLLABLE VO
-A0F1 YI SYLLABLE VOP
-A0F2 YI SYLLABLE VEX
-A0F3 YI SYLLABLE VEP
-A0F4 YI SYLLABLE VUT
-A0F5 YI SYLLABLE VUX
-A0F6 YI SYLLABLE VU
-A0F7 YI SYLLABLE VUP
-A0F8 YI SYLLABLE VURX
-A0F9 YI SYLLABLE VUR
-A0FA YI SYLLABLE VYT
-A0FB YI SYLLABLE VYX
-A0FC YI SYLLABLE VY
-A0FD YI SYLLABLE VYP
-A0FE YI SYLLABLE VYRX
-A0FF YI SYLLABLE VYR
-A100 YI SYLLABLE DIT
-A101 YI SYLLABLE DIX
-A102 YI SYLLABLE DI
-A103 YI SYLLABLE DIP
-A104 YI SYLLABLE DIEX
-A105 YI SYLLABLE DIE
-A106 YI SYLLABLE DIEP
-A107 YI SYLLABLE DAT
-A108 YI SYLLABLE DAX
-A109 YI SYLLABLE DA
-A10A YI SYLLABLE DAP
-A10B YI SYLLABLE DUOX
-A10C YI SYLLABLE DUO
-A10D YI SYLLABLE DOT
-A10E YI SYLLABLE DOX
-A10F YI SYLLABLE DO
-A110 YI SYLLABLE DOP
-A111 YI SYLLABLE DEX
-A112 YI SYLLABLE DE
-A113 YI SYLLABLE DEP
-A114 YI SYLLABLE DUT
-A115 YI SYLLABLE DUX
-A116 YI SYLLABLE DU
-A117 YI SYLLABLE DUP
-A118 YI SYLLABLE DURX
-A119 YI SYLLABLE DUR
-A11A YI SYLLABLE TIT
-A11B YI SYLLABLE TIX
-A11C YI SYLLABLE TI
-A11D YI SYLLABLE TIP
-A11E YI SYLLABLE TIEX
-A11F YI SYLLABLE TIE
-A120 YI SYLLABLE TIEP
-A121 YI SYLLABLE TAT
-A122 YI SYLLABLE TAX
-A123 YI SYLLABLE TA
-A124 YI SYLLABLE TAP
-A125 YI SYLLABLE TUOT
-A126 YI SYLLABLE TUOX
-A127 YI SYLLABLE TUO
-A128 YI SYLLABLE TUOP
-A129 YI SYLLABLE TOT
-A12A YI SYLLABLE TOX
-A12B YI SYLLABLE TO
-A12C YI SYLLABLE TOP
-A12D YI SYLLABLE TEX
-A12E YI SYLLABLE TE
-A12F YI SYLLABLE TEP
-A130 YI SYLLABLE TUT
-A131 YI SYLLABLE TUX
-A132 YI SYLLABLE TU
-A133 YI SYLLABLE TUP
-A134 YI SYLLABLE TURX
-A135 YI SYLLABLE TUR
-A136 YI SYLLABLE DDIT
-A137 YI SYLLABLE DDIX
-A138 YI SYLLABLE DDI
-A139 YI SYLLABLE DDIP
-A13A YI SYLLABLE DDIEX
-A13B YI SYLLABLE DDIE
-A13C YI SYLLABLE DDIEP
-A13D YI SYLLABLE DDAT
-A13E YI SYLLABLE DDAX
-A13F YI SYLLABLE DDA
-A140 YI SYLLABLE DDAP
-A141 YI SYLLABLE DDUOX
-A142 YI SYLLABLE DDUO
-A143 YI SYLLABLE DDUOP
-A144 YI SYLLABLE DDOT
-A145 YI SYLLABLE DDOX
-A146 YI SYLLABLE DDO
-A147 YI SYLLABLE DDOP
-A148 YI SYLLABLE DDEX
-A149 YI SYLLABLE DDE
-A14A YI SYLLABLE DDEP
-A14B YI SYLLABLE DDUT
-A14C YI SYLLABLE DDUX
-A14D YI SYLLABLE DDU
-A14E YI SYLLABLE DDUP
-A14F YI SYLLABLE DDURX
-A150 YI SYLLABLE DDUR
-A151 YI SYLLABLE NDIT
-A152 YI SYLLABLE NDIX
-A153 YI SYLLABLE NDI
-A154 YI SYLLABLE NDIP
-A155 YI SYLLABLE NDIEX
-A156 YI SYLLABLE NDIE
-A157 YI SYLLABLE NDAT
-A158 YI SYLLABLE NDAX
-A159 YI SYLLABLE NDA
-A15A YI SYLLABLE NDAP
-A15B YI SYLLABLE NDOT
-A15C YI SYLLABLE NDOX
-A15D YI SYLLABLE NDO
-A15E YI SYLLABLE NDOP
-A15F YI SYLLABLE NDEX
-A160 YI SYLLABLE NDE
-A161 YI SYLLABLE NDEP
-A162 YI SYLLABLE NDUT
-A163 YI SYLLABLE NDUX
-A164 YI SYLLABLE NDU
-A165 YI SYLLABLE NDUP
-A166 YI SYLLABLE NDURX
-A167 YI SYLLABLE NDUR
-A168 YI SYLLABLE HNIT
-A169 YI SYLLABLE HNIX
-A16A YI SYLLABLE HNI
-A16B YI SYLLABLE HNIP
-A16C YI SYLLABLE HNIET
-A16D YI SYLLABLE HNIEX
-A16E YI SYLLABLE HNIE
-A16F YI SYLLABLE HNIEP
-A170 YI SYLLABLE HNAT
-A171 YI SYLLABLE HNAX
-A172 YI SYLLABLE HNA
-A173 YI SYLLABLE HNAP
-A174 YI SYLLABLE HNUOX
-A175 YI SYLLABLE HNUO
-A176 YI SYLLABLE HNOT
-A177 YI SYLLABLE HNOX
-A178 YI SYLLABLE HNOP
-A179 YI SYLLABLE HNEX
-A17A YI SYLLABLE HNE
-A17B YI SYLLABLE HNEP
-A17C YI SYLLABLE HNUT
-A17D YI SYLLABLE NIT
-A17E YI SYLLABLE NIX
-A17F YI SYLLABLE NI
-A180 YI SYLLABLE NIP
-A181 YI SYLLABLE NIEX
-A182 YI SYLLABLE NIE
-A183 YI SYLLABLE NIEP
-A184 YI SYLLABLE NAX
-A185 YI SYLLABLE NA
-A186 YI SYLLABLE NAP
-A187 YI SYLLABLE NUOX
-A188 YI SYLLABLE NUO
-A189 YI SYLLABLE NUOP
-A18A YI SYLLABLE NOT
-A18B YI SYLLABLE NOX
-A18C YI SYLLABLE NO
-A18D YI SYLLABLE NOP
-A18E YI SYLLABLE NEX
-A18F YI SYLLABLE NE
-A190 YI SYLLABLE NEP
-A191 YI SYLLABLE NUT
-A192 YI SYLLABLE NUX
-A193 YI SYLLABLE NU
-A194 YI SYLLABLE NUP
-A195 YI SYLLABLE NURX
-A196 YI SYLLABLE NUR
-A197 YI SYLLABLE HLIT
-A198 YI SYLLABLE HLIX
-A199 YI SYLLABLE HLI
-A19A YI SYLLABLE HLIP
-A19B YI SYLLABLE HLIEX
-A19C YI SYLLABLE HLIE
-A19D YI SYLLABLE HLIEP
-A19E YI SYLLABLE HLAT
-A19F YI SYLLABLE HLAX
-A1A0 YI SYLLABLE HLA
-A1A1 YI SYLLABLE HLAP
-A1A2 YI SYLLABLE HLUOX
-A1A3 YI SYLLABLE HLUO
-A1A4 YI SYLLABLE HLUOP
-A1A5 YI SYLLABLE HLOX
-A1A6 YI SYLLABLE HLO
-A1A7 YI SYLLABLE HLOP
-A1A8 YI SYLLABLE HLEX
-A1A9 YI SYLLABLE HLE
-A1AA YI SYLLABLE HLEP
-A1AB YI SYLLABLE HLUT
-A1AC YI SYLLABLE HLUX
-A1AD YI SYLLABLE HLU
-A1AE YI SYLLABLE HLUP
-A1AF YI SYLLABLE HLURX
-A1B0 YI SYLLABLE HLUR
-A1B1 YI SYLLABLE HLYT
-A1B2 YI SYLLABLE HLYX
-A1B3 YI SYLLABLE HLY
-A1B4 YI SYLLABLE HLYP
-A1B5 YI SYLLABLE HLYRX
-A1B6 YI SYLLABLE HLYR
-A1B7 YI SYLLABLE LIT
-A1B8 YI SYLLABLE LIX
-A1B9 YI SYLLABLE LI
-A1BA YI SYLLABLE LIP
-A1BB YI SYLLABLE LIET
-A1BC YI SYLLABLE LIEX
-A1BD YI SYLLABLE LIE
-A1BE YI SYLLABLE LIEP
-A1BF YI SYLLABLE LAT
-A1C0 YI SYLLABLE LAX
-A1C1 YI SYLLABLE LA
-A1C2 YI SYLLABLE LAP
-A1C3 YI SYLLABLE LUOT
-A1C4 YI SYLLABLE LUOX
-A1C5 YI SYLLABLE LUO
-A1C6 YI SYLLABLE LUOP
-A1C7 YI SYLLABLE LOT
-A1C8 YI SYLLABLE LOX
-A1C9 YI SYLLABLE LO
-A1CA YI SYLLABLE LOP
-A1CB YI SYLLABLE LEX
-A1CC YI SYLLABLE LE
-A1CD YI SYLLABLE LEP
-A1CE YI SYLLABLE LUT
-A1CF YI SYLLABLE LUX
-A1D0 YI SYLLABLE LU
-A1D1 YI SYLLABLE LUP
-A1D2 YI SYLLABLE LURX
-A1D3 YI SYLLABLE LUR
-A1D4 YI SYLLABLE LYT
-A1D5 YI SYLLABLE LYX
-A1D6 YI SYLLABLE LY
-A1D7 YI SYLLABLE LYP
-A1D8 YI SYLLABLE LYRX
-A1D9 YI SYLLABLE LYR
-A1DA YI SYLLABLE GIT
-A1DB YI SYLLABLE GIX
-A1DC YI SYLLABLE GI
-A1DD YI SYLLABLE GIP
-A1DE YI SYLLABLE GIET
-A1DF YI SYLLABLE GIEX
-A1E0 YI SYLLABLE GIE
-A1E1 YI SYLLABLE GIEP
-A1E2 YI SYLLABLE GAT
-A1E3 YI SYLLABLE GAX
-A1E4 YI SYLLABLE GA
-A1E5 YI SYLLABLE GAP
-A1E6 YI SYLLABLE GUOT
-A1E7 YI SYLLABLE GUOX
-A1E8 YI SYLLABLE GUO
-A1E9 YI SYLLABLE GUOP
-A1EA YI SYLLABLE GOT
-A1EB YI SYLLABLE GOX
-A1EC YI SYLLABLE GO
-A1ED YI SYLLABLE GOP
-A1EE YI SYLLABLE GET
-A1EF YI SYLLABLE GEX
-A1F0 YI SYLLABLE GE
-A1F1 YI SYLLABLE GEP
-A1F2 YI SYLLABLE GUT
-A1F3 YI SYLLABLE GUX
-A1F4 YI SYLLABLE GU
-A1F5 YI SYLLABLE GUP
-A1F6 YI SYLLABLE GURX
-A1F7 YI SYLLABLE GUR
-A1F8 YI SYLLABLE KIT
-A1F9 YI SYLLABLE KIX
-A1FA YI SYLLABLE KI
-A1FB YI SYLLABLE KIP
-A1FC YI SYLLABLE KIEX
-A1FD YI SYLLABLE KIE
-A1FE YI SYLLABLE KIEP
-A1FF YI SYLLABLE KAT
-A200 YI SYLLABLE KAX
-A201 YI SYLLABLE KA
-A202 YI SYLLABLE KAP
-A203 YI SYLLABLE KUOX
-A204 YI SYLLABLE KUO
-A205 YI SYLLABLE KUOP
-A206 YI SYLLABLE KOT
-A207 YI SYLLABLE KOX
-A208 YI SYLLABLE KO
-A209 YI SYLLABLE KOP
-A20A YI SYLLABLE KET
-A20B YI SYLLABLE KEX
-A20C YI SYLLABLE KE
-A20D YI SYLLABLE KEP
-A20E YI SYLLABLE KUT
-A20F YI SYLLABLE KUX
-A210 YI SYLLABLE KU
-A211 YI SYLLABLE KUP
-A212 YI SYLLABLE KURX
-A213 YI SYLLABLE KUR
-A214 YI SYLLABLE GGIT
-A215 YI SYLLABLE GGIX
-A216 YI SYLLABLE GGI
-A217 YI SYLLABLE GGIEX
-A218 YI SYLLABLE GGIE
-A219 YI SYLLABLE GGIEP
-A21A YI SYLLABLE GGAT
-A21B YI SYLLABLE GGAX
-A21C YI SYLLABLE GGA
-A21D YI SYLLABLE GGAP
-A21E YI SYLLABLE GGUOT
-A21F YI SYLLABLE GGUOX
-A220 YI SYLLABLE GGUO
-A221 YI SYLLABLE GGUOP
-A222 YI SYLLABLE GGOT
-A223 YI SYLLABLE GGOX
-A224 YI SYLLABLE GGO
-A225 YI SYLLABLE GGOP
-A226 YI SYLLABLE GGET
-A227 YI SYLLABLE GGEX
-A228 YI SYLLABLE GGE
-A229 YI SYLLABLE GGEP
-A22A YI SYLLABLE GGUT
-A22B YI SYLLABLE GGUX
-A22C YI SYLLABLE GGU
-A22D YI SYLLABLE GGUP
-A22E YI SYLLABLE GGURX
-A22F YI SYLLABLE GGUR
-A230 YI SYLLABLE MGIEX
-A231 YI SYLLABLE MGIE
-A232 YI SYLLABLE MGAT
-A233 YI SYLLABLE MGAX
-A234 YI SYLLABLE MGA
-A235 YI SYLLABLE MGAP
-A236 YI SYLLABLE MGUOX
-A237 YI SYLLABLE MGUO
-A238 YI SYLLABLE MGUOP
-A239 YI SYLLABLE MGOT
-A23A YI SYLLABLE MGOX
-A23B YI SYLLABLE MGO
-A23C YI SYLLABLE MGOP
-A23D YI SYLLABLE MGEX
-A23E YI SYLLABLE MGE
-A23F YI SYLLABLE MGEP
-A240 YI SYLLABLE MGUT
-A241 YI SYLLABLE MGUX
-A242 YI SYLLABLE MGU
-A243 YI SYLLABLE MGUP
-A244 YI SYLLABLE MGURX
-A245 YI SYLLABLE MGUR
-A246 YI SYLLABLE HXIT
-A247 YI SYLLABLE HXIX
-A248 YI SYLLABLE HXI
-A249 YI SYLLABLE HXIP
-A24A YI SYLLABLE HXIET
-A24B YI SYLLABLE HXIEX
-A24C YI SYLLABLE HXIE
-A24D YI SYLLABLE HXIEP
-A24E YI SYLLABLE HXAT
-A24F YI SYLLABLE HXAX
-A250 YI SYLLABLE HXA
-A251 YI SYLLABLE HXAP
-A252 YI SYLLABLE HXUOT
-A253 YI SYLLABLE HXUOX
-A254 YI SYLLABLE HXUO
-A255 YI SYLLABLE HXUOP
-A256 YI SYLLABLE HXOT
-A257 YI SYLLABLE HXOX
-A258 YI SYLLABLE HXO
-A259 YI SYLLABLE HXOP
-A25A YI SYLLABLE HXEX
-A25B YI SYLLABLE HXE
-A25C YI SYLLABLE HXEP
-A25D YI SYLLABLE NGIEX
-A25E YI SYLLABLE NGIE
-A25F YI SYLLABLE NGIEP
-A260 YI SYLLABLE NGAT
-A261 YI SYLLABLE NGAX
-A262 YI SYLLABLE NGA
-A263 YI SYLLABLE NGAP
-A264 YI SYLLABLE NGUOT
-A265 YI SYLLABLE NGUOX
-A266 YI SYLLABLE NGUO
-A267 YI SYLLABLE NGOT
-A268 YI SYLLABLE NGOX
-A269 YI SYLLABLE NGO
-A26A YI SYLLABLE NGOP
-A26B YI SYLLABLE NGEX
-A26C YI SYLLABLE NGE
-A26D YI SYLLABLE NGEP
-A26E YI SYLLABLE HIT
-A26F YI SYLLABLE HIEX
-A270 YI SYLLABLE HIE
-A271 YI SYLLABLE HAT
-A272 YI SYLLABLE HAX
-A273 YI SYLLABLE HA
-A274 YI SYLLABLE HAP
-A275 YI SYLLABLE HUOT
-A276 YI SYLLABLE HUOX
-A277 YI SYLLABLE HUO
-A278 YI SYLLABLE HUOP
-A279 YI SYLLABLE HOT
-A27A YI SYLLABLE HOX
-A27B YI SYLLABLE HO
-A27C YI SYLLABLE HOP
-A27D YI SYLLABLE HEX
-A27E YI SYLLABLE HE
-A27F YI SYLLABLE HEP
-A280 YI SYLLABLE WAT
-A281 YI SYLLABLE WAX
-A282 YI SYLLABLE WA
-A283 YI SYLLABLE WAP
-A284 YI SYLLABLE WUOX
-A285 YI SYLLABLE WUO
-A286 YI SYLLABLE WUOP
-A287 YI SYLLABLE WOX
-A288 YI SYLLABLE WO
-A289 YI SYLLABLE WOP
-A28A YI SYLLABLE WEX
-A28B YI SYLLABLE WE
-A28C YI SYLLABLE WEP
-A28D YI SYLLABLE ZIT
-A28E YI SYLLABLE ZIX
-A28F YI SYLLABLE ZI
-A290 YI SYLLABLE ZIP
-A291 YI SYLLABLE ZIEX
-A292 YI SYLLABLE ZIE
-A293 YI SYLLABLE ZIEP
-A294 YI SYLLABLE ZAT
-A295 YI SYLLABLE ZAX
-A296 YI SYLLABLE ZA
-A297 YI SYLLABLE ZAP
-A298 YI SYLLABLE ZUOX
-A299 YI SYLLABLE ZUO
-A29A YI SYLLABLE ZUOP
-A29B YI SYLLABLE ZOT
-A29C YI SYLLABLE ZOX
-A29D YI SYLLABLE ZO
-A29E YI SYLLABLE ZOP
-A29F YI SYLLABLE ZEX
-A2A0 YI SYLLABLE ZE
-A2A1 YI SYLLABLE ZEP
-A2A2 YI SYLLABLE ZUT
-A2A3 YI SYLLABLE ZUX
-A2A4 YI SYLLABLE ZU
-A2A5 YI SYLLABLE ZUP
-A2A6 YI SYLLABLE ZURX
-A2A7 YI SYLLABLE ZUR
-A2A8 YI SYLLABLE ZYT
-A2A9 YI SYLLABLE ZYX
-A2AA YI SYLLABLE ZY
-A2AB YI SYLLABLE ZYP
-A2AC YI SYLLABLE ZYRX
-A2AD YI SYLLABLE ZYR
-A2AE YI SYLLABLE CIT
-A2AF YI SYLLABLE CIX
-A2B0 YI SYLLABLE CI
-A2B1 YI SYLLABLE CIP
-A2B2 YI SYLLABLE CIET
-A2B3 YI SYLLABLE CIEX
-A2B4 YI SYLLABLE CIE
-A2B5 YI SYLLABLE CIEP
-A2B6 YI SYLLABLE CAT
-A2B7 YI SYLLABLE CAX
-A2B8 YI SYLLABLE CA
-A2B9 YI SYLLABLE CAP
-A2BA YI SYLLABLE CUOX
-A2BB YI SYLLABLE CUO
-A2BC YI SYLLABLE CUOP
-A2BD YI SYLLABLE COT
-A2BE YI SYLLABLE COX
-A2BF YI SYLLABLE CO
-A2C0 YI SYLLABLE COP
-A2C1 YI SYLLABLE CEX
-A2C2 YI SYLLABLE CE
-A2C3 YI SYLLABLE CEP
-A2C4 YI SYLLABLE CUT
-A2C5 YI SYLLABLE CUX
-A2C6 YI SYLLABLE CU
-A2C7 YI SYLLABLE CUP
-A2C8 YI SYLLABLE CURX
-A2C9 YI SYLLABLE CUR
-A2CA YI SYLLABLE CYT
-A2CB YI SYLLABLE CYX
-A2CC YI SYLLABLE CY
-A2CD YI SYLLABLE CYP
-A2CE YI SYLLABLE CYRX
-A2CF YI SYLLABLE CYR
-A2D0 YI SYLLABLE ZZIT
-A2D1 YI SYLLABLE ZZIX
-A2D2 YI SYLLABLE ZZI
-A2D3 YI SYLLABLE ZZIP
-A2D4 YI SYLLABLE ZZIET
-A2D5 YI SYLLABLE ZZIEX
-A2D6 YI SYLLABLE ZZIE
-A2D7 YI SYLLABLE ZZIEP
-A2D8 YI SYLLABLE ZZAT
-A2D9 YI SYLLABLE ZZAX
-A2DA YI SYLLABLE ZZA
-A2DB YI SYLLABLE ZZAP
-A2DC YI SYLLABLE ZZOX
-A2DD YI SYLLABLE ZZO
-A2DE YI SYLLABLE ZZOP
-A2DF YI SYLLABLE ZZEX
-A2E0 YI SYLLABLE ZZE
-A2E1 YI SYLLABLE ZZEP
-A2E2 YI SYLLABLE ZZUX
-A2E3 YI SYLLABLE ZZU
-A2E4 YI SYLLABLE ZZUP
-A2E5 YI SYLLABLE ZZURX
-A2E6 YI SYLLABLE ZZUR
-A2E7 YI SYLLABLE ZZYT
-A2E8 YI SYLLABLE ZZYX
-A2E9 YI SYLLABLE ZZY
-A2EA YI SYLLABLE ZZYP
-A2EB YI SYLLABLE ZZYRX
-A2EC YI SYLLABLE ZZYR
-A2ED YI SYLLABLE NZIT
-A2EE YI SYLLABLE NZIX
-A2EF YI SYLLABLE NZI
-A2F0 YI SYLLABLE NZIP
-A2F1 YI SYLLABLE NZIEX
-A2F2 YI SYLLABLE NZIE
-A2F3 YI SYLLABLE NZIEP
-A2F4 YI SYLLABLE NZAT
-A2F5 YI SYLLABLE NZAX
-A2F6 YI SYLLABLE NZA
-A2F7 YI SYLLABLE NZAP
-A2F8 YI SYLLABLE NZUOX
-A2F9 YI SYLLABLE NZUO
-A2FA YI SYLLABLE NZOX
-A2FB YI SYLLABLE NZOP
-A2FC YI SYLLABLE NZEX
-A2FD YI SYLLABLE NZE
-A2FE YI SYLLABLE NZUX
-A2FF YI SYLLABLE NZU
-A300 YI SYLLABLE NZUP
-A301 YI SYLLABLE NZURX
-A302 YI SYLLABLE NZUR
-A303 YI SYLLABLE NZYT
-A304 YI SYLLABLE NZYX
-A305 YI SYLLABLE NZY
-A306 YI SYLLABLE NZYP
-A307 YI SYLLABLE NZYRX
-A308 YI SYLLABLE NZYR
-A309 YI SYLLABLE SIT
-A30A YI SYLLABLE SIX
-A30B YI SYLLABLE SI
-A30C YI SYLLABLE SIP
-A30D YI SYLLABLE SIEX
-A30E YI SYLLABLE SIE
-A30F YI SYLLABLE SIEP
-A310 YI SYLLABLE SAT
-A311 YI SYLLABLE SAX
-A312 YI SYLLABLE SA
-A313 YI SYLLABLE SAP
-A314 YI SYLLABLE SUOX
-A315 YI SYLLABLE SUO
-A316 YI SYLLABLE SUOP
-A317 YI SYLLABLE SOT
-A318 YI SYLLABLE SOX
-A319 YI SYLLABLE SO
-A31A YI SYLLABLE SOP
-A31B YI SYLLABLE SEX
-A31C YI SYLLABLE SE
-A31D YI SYLLABLE SEP
-A31E YI SYLLABLE SUT
-A31F YI SYLLABLE SUX
-A320 YI SYLLABLE SU
-A321 YI SYLLABLE SUP
-A322 YI SYLLABLE SURX
-A323 YI SYLLABLE SUR
-A324 YI SYLLABLE SYT
-A325 YI SYLLABLE SYX
-A326 YI SYLLABLE SY
-A327 YI SYLLABLE SYP
-A328 YI SYLLABLE SYRX
-A329 YI SYLLABLE SYR
-A32A YI SYLLABLE SSIT
-A32B YI SYLLABLE SSIX
-A32C YI SYLLABLE SSI
-A32D YI SYLLABLE SSIP
-A32E YI SYLLABLE SSIEX
-A32F YI SYLLABLE SSIE
-A330 YI SYLLABLE SSIEP
-A331 YI SYLLABLE SSAT
-A332 YI SYLLABLE SSAX
-A333 YI SYLLABLE SSA
-A334 YI SYLLABLE SSAP
-A335 YI SYLLABLE SSOT
-A336 YI SYLLABLE SSOX
-A337 YI SYLLABLE SSO
-A338 YI SYLLABLE SSOP
-A339 YI SYLLABLE SSEX
-A33A YI SYLLABLE SSE
-A33B YI SYLLABLE SSEP
-A33C YI SYLLABLE SSUT
-A33D YI SYLLABLE SSUX
-A33E YI SYLLABLE SSU
-A33F YI SYLLABLE SSUP
-A340 YI SYLLABLE SSYT
-A341 YI SYLLABLE SSYX
-A342 YI SYLLABLE SSY
-A343 YI SYLLABLE SSYP
-A344 YI SYLLABLE SSYRX
-A345 YI SYLLABLE SSYR
-A346 YI SYLLABLE ZHAT
-A347 YI SYLLABLE ZHAX
-A348 YI SYLLABLE ZHA
-A349 YI SYLLABLE ZHAP
-A34A YI SYLLABLE ZHUOX
-A34B YI SYLLABLE ZHUO
-A34C YI SYLLABLE ZHUOP
-A34D YI SYLLABLE ZHOT
-A34E YI SYLLABLE ZHOX
-A34F YI SYLLABLE ZHO
-A350 YI SYLLABLE ZHOP
-A351 YI SYLLABLE ZHET
-A352 YI SYLLABLE ZHEX
-A353 YI SYLLABLE ZHE
-A354 YI SYLLABLE ZHEP
-A355 YI SYLLABLE ZHUT
-A356 YI SYLLABLE ZHUX
-A357 YI SYLLABLE ZHU
-A358 YI SYLLABLE ZHUP
-A359 YI SYLLABLE ZHURX
-A35A YI SYLLABLE ZHUR
-A35B YI SYLLABLE ZHYT
-A35C YI SYLLABLE ZHYX
-A35D YI SYLLABLE ZHY
-A35E YI SYLLABLE ZHYP
-A35F YI SYLLABLE ZHYRX
-A360 YI SYLLABLE ZHYR
-A361 YI SYLLABLE CHAT
-A362 YI SYLLABLE CHAX
-A363 YI SYLLABLE CHA
-A364 YI SYLLABLE CHAP
-A365 YI SYLLABLE CHUOT
-A366 YI SYLLABLE CHUOX
-A367 YI SYLLABLE CHUO
-A368 YI SYLLABLE CHUOP
-A369 YI SYLLABLE CHOT
-A36A YI SYLLABLE CHOX
-A36B YI SYLLABLE CHO
-A36C YI SYLLABLE CHOP
-A36D YI SYLLABLE CHET
-A36E YI SYLLABLE CHEX
-A36F YI SYLLABLE CHE
-A370 YI SYLLABLE CHEP
-A371 YI SYLLABLE CHUX
-A372 YI SYLLABLE CHU
-A373 YI SYLLABLE CHUP
-A374 YI SYLLABLE CHURX
-A375 YI SYLLABLE CHUR
-A376 YI SYLLABLE CHYT
-A377 YI SYLLABLE CHYX
-A378 YI SYLLABLE CHY
-A379 YI SYLLABLE CHYP
-A37A YI SYLLABLE CHYRX
-A37B YI SYLLABLE CHYR
-A37C YI SYLLABLE RRAX
-A37D YI SYLLABLE RRA
-A37E YI SYLLABLE RRUOX
-A37F YI SYLLABLE RRUO
-A380 YI SYLLABLE RROT
-A381 YI SYLLABLE RROX
-A382 YI SYLLABLE RRO
-A383 YI SYLLABLE RROP
-A384 YI SYLLABLE RRET
-A385 YI SYLLABLE RREX
-A386 YI SYLLABLE RRE
-A387 YI SYLLABLE RREP
-A388 YI SYLLABLE RRUT
-A389 YI SYLLABLE RRUX
-A38A YI SYLLABLE RRU
-A38B YI SYLLABLE RRUP
-A38C YI SYLLABLE RRURX
-A38D YI SYLLABLE RRUR
-A38E YI SYLLABLE RRYT
-A38F YI SYLLABLE RRYX
-A390 YI SYLLABLE RRY
-A391 YI SYLLABLE RRYP
-A392 YI SYLLABLE RRYRX
-A393 YI SYLLABLE RRYR
-A394 YI SYLLABLE NRAT
-A395 YI SYLLABLE NRAX
-A396 YI SYLLABLE NRA
-A397 YI SYLLABLE NRAP
-A398 YI SYLLABLE NROX
-A399 YI SYLLABLE NRO
-A39A YI SYLLABLE NROP
-A39B YI SYLLABLE NRET
-A39C YI SYLLABLE NREX
-A39D YI SYLLABLE NRE
-A39E YI SYLLABLE NREP
-A39F YI SYLLABLE NRUT
-A3A0 YI SYLLABLE NRUX
-A3A1 YI SYLLABLE NRU
-A3A2 YI SYLLABLE NRUP
-A3A3 YI SYLLABLE NRURX
-A3A4 YI SYLLABLE NRUR
-A3A5 YI SYLLABLE NRYT
-A3A6 YI SYLLABLE NRYX
-A3A7 YI SYLLABLE NRY
-A3A8 YI SYLLABLE NRYP
-A3A9 YI SYLLABLE NRYRX
-A3AA YI SYLLABLE NRYR
-A3AB YI SYLLABLE SHAT
-A3AC YI SYLLABLE SHAX
-A3AD YI SYLLABLE SHA
-A3AE YI SYLLABLE SHAP
-A3AF YI SYLLABLE SHUOX
-A3B0 YI SYLLABLE SHUO
-A3B1 YI SYLLABLE SHUOP
-A3B2 YI SYLLABLE SHOT
-A3B3 YI SYLLABLE SHOX
-A3B4 YI SYLLABLE SHO
-A3B5 YI SYLLABLE SHOP
-A3B6 YI SYLLABLE SHET
-A3B7 YI SYLLABLE SHEX
-A3B8 YI SYLLABLE SHE
-A3B9 YI SYLLABLE SHEP
-A3BA YI SYLLABLE SHUT
-A3BB YI SYLLABLE SHUX
-A3BC YI SYLLABLE SHU
-A3BD YI SYLLABLE SHUP
-A3BE YI SYLLABLE SHURX
-A3BF YI SYLLABLE SHUR
-A3C0 YI SYLLABLE SHYT
-A3C1 YI SYLLABLE SHYX
-A3C2 YI SYLLABLE SHY
-A3C3 YI SYLLABLE SHYP
-A3C4 YI SYLLABLE SHYRX
-A3C5 YI SYLLABLE SHYR
-A3C6 YI SYLLABLE RAT
-A3C7 YI SYLLABLE RAX
-A3C8 YI SYLLABLE RA
-A3C9 YI SYLLABLE RAP
-A3CA YI SYLLABLE RUOX
-A3CB YI SYLLABLE RUO
-A3CC YI SYLLABLE RUOP
-A3CD YI SYLLABLE ROT
-A3CE YI SYLLABLE ROX
-A3CF YI SYLLABLE RO
-A3D0 YI SYLLABLE ROP
-A3D1 YI SYLLABLE REX
-A3D2 YI SYLLABLE RE
-A3D3 YI SYLLABLE REP
-A3D4 YI SYLLABLE RUT
-A3D5 YI SYLLABLE RUX
-A3D6 YI SYLLABLE RU
-A3D7 YI SYLLABLE RUP
-A3D8 YI SYLLABLE RURX
-A3D9 YI SYLLABLE RUR
-A3DA YI SYLLABLE RYT
-A3DB YI SYLLABLE RYX
-A3DC YI SYLLABLE RY
-A3DD YI SYLLABLE RYP
-A3DE YI SYLLABLE RYRX
-A3DF YI SYLLABLE RYR
-A3E0 YI SYLLABLE JIT
-A3E1 YI SYLLABLE JIX
-A3E2 YI SYLLABLE JI
-A3E3 YI SYLLABLE JIP
-A3E4 YI SYLLABLE JIET
-A3E5 YI SYLLABLE JIEX
-A3E6 YI SYLLABLE JIE
-A3E7 YI SYLLABLE JIEP
-A3E8 YI SYLLABLE JUOT
-A3E9 YI SYLLABLE JUOX
-A3EA YI SYLLABLE JUO
-A3EB YI SYLLABLE JUOP
-A3EC YI SYLLABLE JOT
-A3ED YI SYLLABLE JOX
-A3EE YI SYLLABLE JO
-A3EF YI SYLLABLE JOP
-A3F0 YI SYLLABLE JUT
-A3F1 YI SYLLABLE JUX
-A3F2 YI SYLLABLE JU
-A3F3 YI SYLLABLE JUP
-A3F4 YI SYLLABLE JURX
-A3F5 YI SYLLABLE JUR
-A3F6 YI SYLLABLE JYT
-A3F7 YI SYLLABLE JYX
-A3F8 YI SYLLABLE JY
-A3F9 YI SYLLABLE JYP
-A3FA YI SYLLABLE JYRX
-A3FB YI SYLLABLE JYR
-A3FC YI SYLLABLE QIT
-A3FD YI SYLLABLE QIX
-A3FE YI SYLLABLE QI
-A3FF YI SYLLABLE QIP
-A400 YI SYLLABLE QIET
-A401 YI SYLLABLE QIEX
-A402 YI SYLLABLE QIE
-A403 YI SYLLABLE QIEP
-A404 YI SYLLABLE QUOT
-A405 YI SYLLABLE QUOX
-A406 YI SYLLABLE QUO
-A407 YI SYLLABLE QUOP
-A408 YI SYLLABLE QOT
-A409 YI SYLLABLE QOX
-A40A YI SYLLABLE QO
-A40B YI SYLLABLE QOP
-A40C YI SYLLABLE QUT
-A40D YI SYLLABLE QUX
-A40E YI SYLLABLE QU
-A40F YI SYLLABLE QUP
-A410 YI SYLLABLE QURX
-A411 YI SYLLABLE QUR
-A412 YI SYLLABLE QYT
-A413 YI SYLLABLE QYX
-A414 YI SYLLABLE QY
-A415 YI SYLLABLE QYP
-A416 YI SYLLABLE QYRX
-A417 YI SYLLABLE QYR
-A418 YI SYLLABLE JJIT
-A419 YI SYLLABLE JJIX
-A41A YI SYLLABLE JJI
-A41B YI SYLLABLE JJIP
-A41C YI SYLLABLE JJIET
-A41D YI SYLLABLE JJIEX
-A41E YI SYLLABLE JJIE
-A41F YI SYLLABLE JJIEP
-A420 YI SYLLABLE JJUOX
-A421 YI SYLLABLE JJUO
-A422 YI SYLLABLE JJUOP
-A423 YI SYLLABLE JJOT
-A424 YI SYLLABLE JJOX
-A425 YI SYLLABLE JJO
-A426 YI SYLLABLE JJOP
-A427 YI SYLLABLE JJUT
-A428 YI SYLLABLE JJUX
-A429 YI SYLLABLE JJU
-A42A YI SYLLABLE JJUP
-A42B YI SYLLABLE JJURX
-A42C YI SYLLABLE JJUR
-A42D YI SYLLABLE JJYT
-A42E YI SYLLABLE JJYX
-A42F YI SYLLABLE JJY
-A430 YI SYLLABLE JJYP
-A431 YI SYLLABLE NJIT
-A432 YI SYLLABLE NJIX
-A433 YI SYLLABLE NJI
-A434 YI SYLLABLE NJIP
-A435 YI SYLLABLE NJIET
-A436 YI SYLLABLE NJIEX
-A437 YI SYLLABLE NJIE
-A438 YI SYLLABLE NJIEP
-A439 YI SYLLABLE NJUOX
-A43A YI SYLLABLE NJUO
-A43B YI SYLLABLE NJOT
-A43C YI SYLLABLE NJOX
-A43D YI SYLLABLE NJO
-A43E YI SYLLABLE NJOP
-A43F YI SYLLABLE NJUX
-A440 YI SYLLABLE NJU
-A441 YI SYLLABLE NJUP
-A442 YI SYLLABLE NJURX
-A443 YI SYLLABLE NJUR
-A444 YI SYLLABLE NJYT
-A445 YI SYLLABLE NJYX
-A446 YI SYLLABLE NJY
-A447 YI SYLLABLE NJYP
-A448 YI SYLLABLE NJYRX
-A449 YI SYLLABLE NJYR
-A44A YI SYLLABLE NYIT
-A44B YI SYLLABLE NYIX
-A44C YI SYLLABLE NYI
-A44D YI SYLLABLE NYIP
-A44E YI SYLLABLE NYIET
-A44F YI SYLLABLE NYIEX
-A450 YI SYLLABLE NYIE
-A451 YI SYLLABLE NYIEP
-A452 YI SYLLABLE NYUOX
-A453 YI SYLLABLE NYUO
-A454 YI SYLLABLE NYUOP
-A455 YI SYLLABLE NYOT
-A456 YI SYLLABLE NYOX
-A457 YI SYLLABLE NYO
-A458 YI SYLLABLE NYOP
-A459 YI SYLLABLE NYUT
-A45A YI SYLLABLE NYUX
-A45B YI SYLLABLE NYU
-A45C YI SYLLABLE NYUP
-A45D YI SYLLABLE XIT
-A45E YI SYLLABLE XIX
-A45F YI SYLLABLE XI
-A460 YI SYLLABLE XIP
-A461 YI SYLLABLE XIET
-A462 YI SYLLABLE XIEX
-A463 YI SYLLABLE XIE
-A464 YI SYLLABLE XIEP
-A465 YI SYLLABLE XUOX
-A466 YI SYLLABLE XUO
-A467 YI SYLLABLE XOT
-A468 YI SYLLABLE XOX
-A469 YI SYLLABLE XO
-A46A YI SYLLABLE XOP
-A46B YI SYLLABLE XYT
-A46C YI SYLLABLE XYX
-A46D YI SYLLABLE XY
-A46E YI SYLLABLE XYP
-A46F YI SYLLABLE XYRX
-A470 YI SYLLABLE XYR
-A471 YI SYLLABLE YIT
-A472 YI SYLLABLE YIX
-A473 YI SYLLABLE YI
-A474 YI SYLLABLE YIP
-A475 YI SYLLABLE YIET
-A476 YI SYLLABLE YIEX
-A477 YI SYLLABLE YIE
-A478 YI SYLLABLE YIEP
-A479 YI SYLLABLE YUOT
-A47A YI SYLLABLE YUOX
-A47B YI SYLLABLE YUO
-A47C YI SYLLABLE YUOP
-A47D YI SYLLABLE YOT
-A47E YI SYLLABLE YOX
-A47F YI SYLLABLE YO
-A480 YI SYLLABLE YOP
-A481 YI SYLLABLE YUT
-A482 YI SYLLABLE YUX
-A483 YI SYLLABLE YU
-A484 YI SYLLABLE YUP
-A485 YI SYLLABLE YURX
-A486 YI SYLLABLE YUR
-A487 YI SYLLABLE YYT
-A488 YI SYLLABLE YYX
-A489 YI SYLLABLE YY
-A48A YI SYLLABLE YYP
-A48B YI SYLLABLE YYRX
-A48C YI SYLLABLE YYR
-@@ A490 Yi Radicals A4CF
-@ Yi radicals
-@+ Yi radicals are named based on the Yi syllable their shape is abstracted from. This is illustrated with crossreferences for the first two radicals.
-A490 YI RADICAL QOT
- x (yi syllable qot - A408)
-A491 YI RADICAL LI
- x (yi syllable li - A1B9)
-A492 YI RADICAL KIT
-A493 YI RADICAL NYIP
-A494 YI RADICAL CYP
-A495 YI RADICAL SSI
-A496 YI RADICAL GGOP
-A497 YI RADICAL GEP
-A498 YI RADICAL MI
-A499 YI RADICAL HXIT
-A49A YI RADICAL LYR
-A49B YI RADICAL BBUT
-A49C YI RADICAL MOP
-A49D YI RADICAL YO
-A49E YI RADICAL PUT
-A49F YI RADICAL HXUO
-A4A0 YI RADICAL TAT
-A4A1 YI RADICAL GA
-A4A2 YI RADICAL ZUP
-A4A3 YI RADICAL CYT
-A4A4 YI RADICAL DDUR
-A4A5 YI RADICAL BUR
-A4A6 YI RADICAL GGUO
-A4A7 YI RADICAL NYOP
-A4A8 YI RADICAL TU
-A4A9 YI RADICAL OP
-A4AA YI RADICAL JJUT
-A4AB YI RADICAL ZOT
-A4AC YI RADICAL PYT
-A4AD YI RADICAL HMO
-A4AE YI RADICAL YIT
-A4AF YI RADICAL VUR
-A4B0 YI RADICAL SHY
-A4B1 YI RADICAL VEP
-A4B2 YI RADICAL ZA
-A4B3 YI RADICAL JO
-A4B4 YI RADICAL NZUP
-A4B5 YI RADICAL JJY
-A4B6 YI RADICAL GOT
-A4B7 YI RADICAL JJIE
-A4B8 YI RADICAL WO
-A4B9 YI RADICAL DU
-A4BA YI RADICAL SHUR
-A4BB YI RADICAL LIE
-A4BC YI RADICAL CY
-A4BD YI RADICAL CUOP
-A4BE YI RADICAL CIP
-A4BF YI RADICAL HXOP
-A4C0 YI RADICAL SHAT
-A4C1 YI RADICAL ZUR
-A4C2 YI RADICAL SHOP
-A4C3 YI RADICAL CHE
-A4C4 YI RADICAL ZZIET
-A4C5 YI RADICAL NBIE
-A4C6 YI RADICAL KE
-@@ A4D0 Lisu A4FF
-@+ The name "Lisu" is preferred by the user community. Many linguists also use the name "Fraser" or "Fraser Lisu". Used for the Old Lisu orthography.
-@ Consonants
-A4D0 LISU LETTER BA
-A4D1 LISU LETTER PA
-A4D2 LISU LETTER PHA
-A4D3 LISU LETTER DA
-A4D4 LISU LETTER TA
-A4D5 LISU LETTER THA
-A4D6 LISU LETTER GA
-A4D7 LISU LETTER KA
-A4D8 LISU LETTER KHA
-A4D9 LISU LETTER JA
-A4DA LISU LETTER CA
-A4DB LISU LETTER CHA
-A4DC LISU LETTER DZA
-A4DD LISU LETTER TSA
-A4DE LISU LETTER TSHA
-A4DF LISU LETTER MA
-A4E0 LISU LETTER NA
-A4E1 LISU LETTER LA
-A4E2 LISU LETTER SA
-A4E3 LISU LETTER ZHA
-A4E4 LISU LETTER ZA
-A4E5 LISU LETTER NGA
-A4E6 LISU LETTER HA
-A4E7 LISU LETTER XA
-A4E8 LISU LETTER HHA
-A4E9 LISU LETTER FA
-A4EA LISU LETTER WA
-A4EB LISU LETTER SHA
-A4EC LISU LETTER YA
-A4ED LISU LETTER GHA
-@ Vowels
-A4EE LISU LETTER A
-A4EF LISU LETTER AE
-A4F0 LISU LETTER E
-A4F1 LISU LETTER EU
-A4F2 LISU LETTER I
-A4F3 LISU LETTER O
-A4F4 LISU LETTER U
-A4F5 LISU LETTER UE
-A4F6 LISU LETTER UH
-A4F7 LISU LETTER OE
-@ Tones
-A4F8 LISU LETTER TONE MYA TI
-A4F9 LISU LETTER TONE NA PO
-A4FA LISU LETTER TONE MYA CYA
-A4FB LISU LETTER TONE MYA BO
-A4FC LISU LETTER TONE MYA NA
-A4FD LISU LETTER TONE MYA JEU
-@ Punctuation
-A4FE LISU PUNCTUATION COMMA
-A4FF LISU PUNCTUATION FULL STOP
-@@ A500 Vai A63F
-@ Syllables in -ee
-A500 VAI SYLLABLE EE
-A501 VAI SYLLABLE EEN
-A502 VAI SYLLABLE HEE
-A503 VAI SYLLABLE WEE
-A504 VAI SYLLABLE WEEN
-A505 VAI SYLLABLE PEE
-A506 VAI SYLLABLE BHEE
-A507 VAI SYLLABLE BEE
-A508 VAI SYLLABLE MBEE
-A509 VAI SYLLABLE KPEE
-A50A VAI SYLLABLE MGBEE
-A50B VAI SYLLABLE GBEE
-A50C VAI SYLLABLE FEE
-A50D VAI SYLLABLE VEE
-A50E VAI SYLLABLE TEE
-A50F VAI SYLLABLE THEE
-A510 VAI SYLLABLE DHEE
-A511 VAI SYLLABLE DHHEE
-A512 VAI SYLLABLE LEE
-A513 VAI SYLLABLE REE
-A514 VAI SYLLABLE DEE
- * read as logogram deeng "child, small" in the Book of Ndole
-A515 VAI SYLLABLE NDEE
-A516 VAI SYLLABLE SEE
-A517 VAI SYLLABLE SHEE
-A518 VAI SYLLABLE ZEE
-A519 VAI SYLLABLE ZHEE
-A51A VAI SYLLABLE CEE
-A51B VAI SYLLABLE JEE
-A51C VAI SYLLABLE NJEE
-A51D VAI SYLLABLE YEE
-A51E VAI SYLLABLE KEE
-A51F VAI SYLLABLE NGGEE
-A520 VAI SYLLABLE GEE
-A521 VAI SYLLABLE MEE
-A522 VAI SYLLABLE NEE
-A523 VAI SYLLABLE NYEE
-@ Syllables in -i
-A524 VAI SYLLABLE I
-A525 VAI SYLLABLE IN
-A526 VAI SYLLABLE HI
-A527 VAI SYLLABLE HIN
-A528 VAI SYLLABLE WI
-A529 VAI SYLLABLE WIN
-A52A VAI SYLLABLE PI
-A52B VAI SYLLABLE BHI
-A52C VAI SYLLABLE BI
-A52D VAI SYLLABLE MBI
-A52E VAI SYLLABLE KPI
-A52F VAI SYLLABLE MGBI
-A530 VAI SYLLABLE GBI
-A531 VAI SYLLABLE FI
-A532 VAI SYLLABLE VI
-A533 VAI SYLLABLE TI
-A534 VAI SYLLABLE THI
-A535 VAI SYLLABLE DHI
-A536 VAI SYLLABLE DHHI
-A537 VAI SYLLABLE LI
-A538 VAI SYLLABLE RI
-A539 VAI SYLLABLE DI
-A53A VAI SYLLABLE NDI
-A53B VAI SYLLABLE SI
-A53C VAI SYLLABLE SHI
-A53D VAI SYLLABLE ZI
-A53E VAI SYLLABLE ZHI
-A53F VAI SYLLABLE CI
-A540 VAI SYLLABLE JI
-A541 VAI SYLLABLE NJI
-A542 VAI SYLLABLE YI
-A543 VAI SYLLABLE KI
-A544 VAI SYLLABLE NGGI
-A545 VAI SYLLABLE GI
-A546 VAI SYLLABLE MI
-A547 VAI SYLLABLE NI
-A548 VAI SYLLABLE NYI
-@ Syllables in -a
-A549 VAI SYLLABLE A
-A54A VAI SYLLABLE AN
-A54B VAI SYLLABLE NGAN
-A54C VAI SYLLABLE HA
-A54D VAI SYLLABLE HAN
-A54E VAI SYLLABLE WA
-A54F VAI SYLLABLE WAN
-A550 VAI SYLLABLE PA
-A551 VAI SYLLABLE BHA
-A552 VAI SYLLABLE BA
-A553 VAI SYLLABLE MBA
-A554 VAI SYLLABLE KPA
-A555 VAI SYLLABLE KPAN
-A556 VAI SYLLABLE MGBA
-A557 VAI SYLLABLE GBA
-A558 VAI SYLLABLE FA
- x (vai syllable ndole fa - A610)
-A559 VAI SYLLABLE VA
-A55A VAI SYLLABLE TA
-A55B VAI SYLLABLE THA
-A55C VAI SYLLABLE DHA
-A55D VAI SYLLABLE DHHA
-A55E VAI SYLLABLE LA
-A55F VAI SYLLABLE RA
-A560 VAI SYLLABLE DA
-A561 VAI SYLLABLE NDA
-A562 VAI SYLLABLE SA
-A563 VAI SYLLABLE SHA
-A564 VAI SYLLABLE ZA
-A565 VAI SYLLABLE ZHA
-A566 VAI SYLLABLE CA
-A567 VAI SYLLABLE JA
-A568 VAI SYLLABLE NJA
-A569 VAI SYLLABLE YA
-A56A VAI SYLLABLE KA
- * read as logogram kai "man" in the Book of Ndole
- x (vai syllable ndole ka - A611)
-A56B VAI SYLLABLE KAN
-A56C VAI SYLLABLE NGGA
-A56D VAI SYLLABLE GA
-A56E VAI SYLLABLE MA
- x (vai syllable ndole ma - A62A)
-A56F VAI SYLLABLE NA
-A570 VAI SYLLABLE NYA
-@ Syllables in -oo
-A571 VAI SYLLABLE OO
-A572 VAI SYLLABLE OON
-A573 VAI SYLLABLE HOO
-A574 VAI SYLLABLE WOO
-A575 VAI SYLLABLE WOON
-A576 VAI SYLLABLE POO
-A577 VAI SYLLABLE BHOO
-A578 VAI SYLLABLE BOO
-A579 VAI SYLLABLE MBOO
-A57A VAI SYLLABLE KPOO
-A57B VAI SYLLABLE MGBOO
-A57C VAI SYLLABLE GBOO
-A57D VAI SYLLABLE FOO
-A57E VAI SYLLABLE VOO
-A57F VAI SYLLABLE TOO
-A580 VAI SYLLABLE THOO
-A581 VAI SYLLABLE DHOO
-A582 VAI SYLLABLE DHHOO
-A583 VAI SYLLABLE LOO
-A584 VAI SYLLABLE ROO
-A585 VAI SYLLABLE DOO
-A586 VAI SYLLABLE NDOO
-A587 VAI SYLLABLE SOO
- x (vai syllable ndole soo - A612)
-A588 VAI SYLLABLE SHOO
-A589 VAI SYLLABLE ZOO
-A58A VAI SYLLABLE ZHOO
-A58B VAI SYLLABLE COO
-A58C VAI SYLLABLE JOO
-A58D VAI SYLLABLE NJOO
-A58E VAI SYLLABLE YOO
-A58F VAI SYLLABLE KOO
-A590 VAI SYLLABLE NGGOO
-A591 VAI SYLLABLE GOO
-A592 VAI SYLLABLE MOO
-A593 VAI SYLLABLE NOO
-A594 VAI SYLLABLE NYOO
-@ Syllables in -u
-A595 VAI SYLLABLE U
-A596 VAI SYLLABLE UN
-A597 VAI SYLLABLE HU
-A598 VAI SYLLABLE HUN
-A599 VAI SYLLABLE WU
-A59A VAI SYLLABLE WUN
-A59B VAI SYLLABLE PU
-A59C VAI SYLLABLE BHU
-A59D VAI SYLLABLE BU
-A59E VAI SYLLABLE MBU
-A59F VAI SYLLABLE KPU
-A5A0 VAI SYLLABLE MGBU
-A5A1 VAI SYLLABLE GBU
-A5A2 VAI SYLLABLE FU
-A5A3 VAI SYLLABLE VU
-A5A4 VAI SYLLABLE TU
-A5A5 VAI SYLLABLE THU
-A5A6 VAI SYLLABLE DHU
-A5A7 VAI SYLLABLE DHHU
-A5A8 VAI SYLLABLE LU
-A5A9 VAI SYLLABLE RU
-A5AA VAI SYLLABLE DU
-A5AB VAI SYLLABLE NDU
-A5AC VAI SYLLABLE SU
-A5AD VAI SYLLABLE SHU
-A5AE VAI SYLLABLE ZU
-A5AF VAI SYLLABLE ZHU
-A5B0 VAI SYLLABLE CU
-A5B1 VAI SYLLABLE JU
-A5B2 VAI SYLLABLE NJU
-A5B3 VAI SYLLABLE YU
-A5B4 VAI SYLLABLE KU
-A5B5 VAI SYLLABLE NGGU
-A5B6 VAI SYLLABLE GU
-A5B7 VAI SYLLABLE MU
-A5B8 VAI SYLLABLE NU
-A5B9 VAI SYLLABLE NYU
-@ Syllables in -o
-A5BA VAI SYLLABLE O
-A5BB VAI SYLLABLE ON
-A5BC VAI SYLLABLE NGON
-A5BD VAI SYLLABLE HO
-A5BE VAI SYLLABLE HON
-A5BF VAI SYLLABLE WO
-A5C0 VAI SYLLABLE WON
-A5C1 VAI SYLLABLE PO
-A5C2 VAI SYLLABLE BHO
-A5C3 VAI SYLLABLE BO
-A5C4 VAI SYLLABLE MBO
-A5C5 VAI SYLLABLE KPO
-A5C6 VAI SYLLABLE MGBO
-A5C7 VAI SYLLABLE GBO
-A5C8 VAI SYLLABLE GBON
-A5C9 VAI SYLLABLE FO
-A5CA VAI SYLLABLE VO
-A5CB VAI SYLLABLE TO
-A5CC VAI SYLLABLE THO
-A5CD VAI SYLLABLE DHO
-A5CE VAI SYLLABLE DHHO
-A5CF VAI SYLLABLE LO
-A5D0 VAI SYLLABLE RO
-A5D1 VAI SYLLABLE DO
- * read as logogram lo "in" in the Book of Ndole
- x (vai syllable ndole do - A62B)
-A5D2 VAI SYLLABLE NDO
-A5D3 VAI SYLLABLE SO
-A5D4 VAI SYLLABLE SHO
-A5D5 VAI SYLLABLE ZO
-A5D6 VAI SYLLABLE ZHO
-A5D7 VAI SYLLABLE CO
-A5D8 VAI SYLLABLE JO
-A5D9 VAI SYLLABLE NJO
-A5DA VAI SYLLABLE YO
-A5DB VAI SYLLABLE KO
-A5DC VAI SYLLABLE NGGO
-A5DD VAI SYLLABLE GO
-A5DE VAI SYLLABLE MO
-A5DF VAI SYLLABLE NO
-A5E0 VAI SYLLABLE NYO
-@ Syllables in -e
-A5E1 VAI SYLLABLE E
-A5E2 VAI SYLLABLE EN
-A5E3 VAI SYLLABLE NGEN
-A5E4 VAI SYLLABLE HE
-A5E5 VAI SYLLABLE HEN
-A5E6 VAI SYLLABLE WE
-A5E7 VAI SYLLABLE WEN
-A5E8 VAI SYLLABLE PE
-A5E9 VAI SYLLABLE BHE
-A5EA VAI SYLLABLE BE
-A5EB VAI SYLLABLE MBE
-A5EC VAI SYLLABLE KPE
-A5ED VAI SYLLABLE KPEN
-A5EE VAI SYLLABLE MGBE
-A5EF VAI SYLLABLE GBE
-A5F0 VAI SYLLABLE GBEN
-A5F1 VAI SYLLABLE FE
-A5F2 VAI SYLLABLE VE
-A5F3 VAI SYLLABLE TE
-A5F4 VAI SYLLABLE THE
-A5F5 VAI SYLLABLE DHE
-A5F6 VAI SYLLABLE DHHE
-A5F7 VAI SYLLABLE LE
-A5F8 VAI SYLLABLE RE
-A5F9 VAI SYLLABLE DE
-A5FA VAI SYLLABLE NDE
-A5FB VAI SYLLABLE SE
-A5FC VAI SYLLABLE SHE
-A5FD VAI SYLLABLE ZE
-A5FE VAI SYLLABLE ZHE
-A5FF VAI SYLLABLE CE
-A600 VAI SYLLABLE JE
-A601 VAI SYLLABLE NJE
-A602 VAI SYLLABLE YE
-A603 VAI SYLLABLE KE
-A604 VAI SYLLABLE NGGE
-A605 VAI SYLLABLE NGGEN
-A606 VAI SYLLABLE GE
-A607 VAI SYLLABLE GEN
-A608 VAI SYLLABLE ME
-A609 VAI SYLLABLE NE
-A60A VAI SYLLABLE NYE
-@ Syllable finals
-A60B VAI SYLLABLE NG
-A60C VAI SYLLABLE LENGTHENER
-@ Punctuation
-A60D VAI COMMA
-A60E VAI FULL STOP
-A60F VAI QUESTION MARK
-@ Historic syllables
-A610 VAI SYLLABLE NDOLE FA
- x (vai syllable fa - A558)
-A611 VAI SYLLABLE NDOLE KA
- x (vai syllable ka - A56A)
-A612 VAI SYLLABLE NDOLE SOO
- x (vai syllable soo - A587)
-@ Logograms
-A613 VAI SYMBOL FEENG
- * logogram for "thing"
-A614 VAI SYMBOL KEENG
- * logogram for "foot"
-A615 VAI SYMBOL TING
- * logogram for "island"
-A616 VAI SYMBOL NII
- * logogram for "cow"
- * also logogram for kpe kowu "case of gin"
-A617 VAI SYMBOL BANG
- * logogram for "finished"
-A618 VAI SYMBOL FAA
- * logogram for "die, kill"
-A619 VAI SYMBOL TAA
- * logogram for "go, carry, journey"
-A61A VAI SYMBOL DANG
- * logogram for "hear, understand"
-A61B VAI SYMBOL DOONG
- * logogram for "enter"
-A61C VAI SYMBOL KUNG
- * logogram for "head, be able"
-A61D VAI SYMBOL TONG
- * logogram for "be named"
-A61E VAI SYMBOL DO-O
- * logogram for "be small"
-A61F VAI SYMBOL JONG
- * logogram for "slave"
-@ Digits
-@+ These are not in modern use.
-A620 VAI DIGIT ZERO
-A621 VAI DIGIT ONE
-A622 VAI DIGIT TWO
-A623 VAI DIGIT THREE
-A624 VAI DIGIT FOUR
-A625 VAI DIGIT FIVE
-A626 VAI DIGIT SIX
-A627 VAI DIGIT SEVEN
-A628 VAI DIGIT EIGHT
-A629 VAI DIGIT NINE
-@ Historic syllables
-A62A VAI SYLLABLE NDOLE MA
- x (vai syllable ma - A56E)
-A62B VAI SYLLABLE NDOLE DO
- x (vai syllable do - A5D1)
-@@ A640 Cyrillic Extended-B A69F
-@ Letters for Old Cyrillic
-A640 CYRILLIC CAPITAL LETTER ZEMLYA
-A641 CYRILLIC SMALL LETTER ZEMLYA
- x (cyrillic small letter ze - 0437)
-A642 CYRILLIC CAPITAL LETTER DZELO
-A643 CYRILLIC SMALL LETTER DZELO
- x (cyrillic small letter dze - 0455)
-A644 CYRILLIC CAPITAL LETTER REVERSED DZE
- x (roman sextula sign - 10193)
-A645 CYRILLIC SMALL LETTER REVERSED DZE
-A646 CYRILLIC CAPITAL LETTER IOTA
-A647 CYRILLIC SMALL LETTER IOTA
- x (glagolitic small letter initial izhe - 2C3A)
-A648 CYRILLIC CAPITAL LETTER DJERV
-A649 CYRILLIC SMALL LETTER DJERV
- x (cyrillic small letter dje - 0452)
- x (cyrillic small letter tshe - 045B)
-A64A CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64B CYRILLIC SMALL LETTER MONOGRAPH UK
- x (cyrillic small letter u - 0443)
-A64C CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64D CYRILLIC SMALL LETTER BROAD OMEGA
- x (cyrillic small letter omega - 0461)
-A64E CYRILLIC CAPITAL LETTER NEUTRAL YER
-A64F CYRILLIC SMALL LETTER NEUTRAL YER
- x (cyrillic small letter hard sign - 044A)
- x (cyrillic small letter soft sign - 044C)
-A650 CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A651 CYRILLIC SMALL LETTER YERU WITH BACK YER
- x (cyrillic small letter yeru - 044B)
-A652 CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A653 CYRILLIC SMALL LETTER IOTIFIED YAT
- x (cyrillic small letter yat - 0463)
-A654 CYRILLIC CAPITAL LETTER REVERSED YU
-A655 CYRILLIC SMALL LETTER REVERSED YU
- x (cyrillic small letter yu - 044E)
-A656 CYRILLIC CAPITAL LETTER IOTIFIED A
-A657 CYRILLIC SMALL LETTER IOTIFIED A
-A658 CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A659 CYRILLIC SMALL LETTER CLOSED LITTLE YUS
- x (cyrillic small letter little yus - 0467)
-A65A CYRILLIC CAPITAL LETTER BLENDED YUS
-A65B CYRILLIC SMALL LETTER BLENDED YUS
- x (cyrillic small letter little yus - 0467)
- x (cyrillic small letter big yus - 046B)
-A65C CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65D CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
- x (cyrillic small letter iotified little yus - 0469)
-A65E CYRILLIC CAPITAL LETTER YN
-A65F CYRILLIC SMALL LETTER YN
- * Romanian Cyrillic
-A662 CYRILLIC CAPITAL LETTER SOFT DE
-A663 CYRILLIC SMALL LETTER SOFT DE
-A664 CYRILLIC CAPITAL LETTER SOFT EL
-A665 CYRILLIC SMALL LETTER SOFT EL
-A666 CYRILLIC CAPITAL LETTER SOFT EM
-A667 CYRILLIC SMALL LETTER SOFT EM
-A668 CYRILLIC CAPITAL LETTER MONOCULAR O
-A669 CYRILLIC SMALL LETTER MONOCULAR O
- * used in words based on the root for 'eye'
-A66A CYRILLIC CAPITAL LETTER BINOCULAR O
-A66B CYRILLIC SMALL LETTER BINOCULAR O
- * used in the dual of words based on the root for 'eye'
-A66C CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A66D CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
- * used in the dual of words based on the root for 'eye'
-A66E CYRILLIC LETTER MULTIOCULAR O
- * used in the epithet 'many-eyed'
-@ Abbreviation mark
-A66F COMBINING CYRILLIC VZMET
- * used with Cyrillic letters to indicate abbreviation
- x (combining cyrillic titlo - 0483)
- x (combining cyrillic pokrytie - 0487)
-@ Combining numeric signs
-A670 COMBINING CYRILLIC TEN MILLIONS SIGN
- x (combining cyrillic millions sign - 0489)
-A671 COMBINING CYRILLIC HUNDRED MILLIONS SIGN
-A672 COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-@ Punctuation mark
-A673 SLAVONIC ASTERISK
-@ Combining marks for Old Cyrillic
-A67C COMBINING CYRILLIC KAVYKA
- * indicates an alternative reading to part of a word
- x (combining breve - 0306)
-A67D COMBINING CYRILLIC PAYEROK
- * may indicate an omitted yer
- x (combining vertical tilde - 033E)
-@ Punctuation mark
-A67E CYRILLIC KAVYKA
- * used to mark off word that has alternative reading
-@ Modifier letter
-A67F CYRILLIC PAYEROK
- * may indicate an omitted yer
- x (vertical tilde - 2E2F)
-@ Letters for Old Abkhasian orthography
-A680 CYRILLIC CAPITAL LETTER DWE
-A681 CYRILLIC SMALL LETTER DWE
-A682 CYRILLIC CAPITAL LETTER DZWE
-A683 CYRILLIC SMALL LETTER DZWE
-A684 CYRILLIC CAPITAL LETTER ZHWE
-A685 CYRILLIC SMALL LETTER ZHWE
-A686 CYRILLIC CAPITAL LETTER CCHE
-A687 CYRILLIC SMALL LETTER CCHE
-A688 CYRILLIC CAPITAL LETTER DZZE
-A689 CYRILLIC SMALL LETTER DZZE
-A68A CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68B CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68C CYRILLIC CAPITAL LETTER TWE
-A68D CYRILLIC SMALL LETTER TWE
-A68E CYRILLIC CAPITAL LETTER TSWE
-A68F CYRILLIC SMALL LETTER TSWE
-A690 CYRILLIC CAPITAL LETTER TSSE
-A691 CYRILLIC SMALL LETTER TSSE
-A692 CYRILLIC CAPITAL LETTER TCHE
-A693 CYRILLIC SMALL LETTER TCHE
-A694 CYRILLIC CAPITAL LETTER HWE
-A695 CYRILLIC SMALL LETTER HWE
-A696 CYRILLIC CAPITAL LETTER SHWE
-A697 CYRILLIC SMALL LETTER SHWE
-@@ A6A0 Bamum A6FF
-@ Syllables
-A6A0 BAMUM LETTER A
-A6A1 BAMUM LETTER KA
-A6A2 BAMUM LETTER U
-A6A3 BAMUM LETTER KU
-A6A4 BAMUM LETTER EE
-A6A5 BAMUM LETTER REE
-A6A6 BAMUM LETTER TAE
-A6A7 BAMUM LETTER O
-A6A8 BAMUM LETTER NYI
-A6A9 BAMUM LETTER I
-A6AA BAMUM LETTER LA
-A6AB BAMUM LETTER PA
-A6AC BAMUM LETTER RII
-A6AD BAMUM LETTER RIEE
-A6AE BAMUM LETTER LEEEE
-A6AF BAMUM LETTER MEEEE
-A6B0 BAMUM LETTER TAA
-A6B1 BAMUM LETTER NDAA
-A6B2 BAMUM LETTER NJAEM
-A6B3 BAMUM LETTER M
-A6B4 BAMUM LETTER SUU
-A6B5 BAMUM LETTER MU
-A6B6 BAMUM LETTER SHII
-A6B7 BAMUM LETTER SI
-A6B8 BAMUM LETTER SHEUX
-A6B9 BAMUM LETTER SEUX
-A6BA BAMUM LETTER KYEE
-A6BB BAMUM LETTER KET
-A6BC BAMUM LETTER NUAE
-A6BD BAMUM LETTER NU
-A6BE BAMUM LETTER NJUAE
-A6BF BAMUM LETTER YOQ
-A6C0 BAMUM LETTER SHU
-A6C1 BAMUM LETTER YUQ
-A6C2 BAMUM LETTER YA
-A6C3 BAMUM LETTER NSHA
-A6C4 BAMUM LETTER KEUX
-A6C5 BAMUM LETTER PEUX
-A6C6 BAMUM LETTER NJEE
-A6C7 BAMUM LETTER NTEE
-A6C8 BAMUM LETTER PUE
-A6C9 BAMUM LETTER WUE
-A6CA BAMUM LETTER PEE
-A6CB BAMUM LETTER FEE
-A6CC BAMUM LETTER RU
-A6CD BAMUM LETTER LU
-A6CE BAMUM LETTER MI
-A6CF BAMUM LETTER NI
-A6D0 BAMUM LETTER REUX
-A6D1 BAMUM LETTER RAE
-A6D2 BAMUM LETTER KEN
-A6D3 BAMUM LETTER NGKWAEN
-A6D4 BAMUM LETTER NGGA
-A6D5 BAMUM LETTER NGA
-A6D6 BAMUM LETTER SHO
-A6D7 BAMUM LETTER PUAE
-A6D8 BAMUM LETTER FU
-A6D9 BAMUM LETTER FOM
-A6DA BAMUM LETTER WA
-A6DB BAMUM LETTER NA
-A6DC BAMUM LETTER LI
-A6DD BAMUM LETTER PI
-A6DE BAMUM LETTER LOQ
-A6DF BAMUM LETTER KO
-A6E0 BAMUM LETTER MBEN
-A6E1 BAMUM LETTER REN
-A6E2 BAMUM LETTER MEN
-A6E3 BAMUM LETTER MA
-A6E4 BAMUM LETTER TI
-A6E5 BAMUM LETTER KI
-A6E6 BAMUM LETTER MO
- * also used for digit one
-A6E7 BAMUM LETTER MBAA
- * also used for digit two
-A6E8 BAMUM LETTER TET
- * tèt
- * also used for digit three
-A6E9 BAMUM LETTER KPA
- * also used for digit four
-A6EA BAMUM LETTER TEN
- * tèn
- * also used for digit five
-A6EB BAMUM LETTER NTUU
- * also used for digit six
-A6EC BAMUM LETTER SAMBA
- * also used for digit seven
-A6ED BAMUM LETTER FAAMAE
- * also used for digit eight
-A6EE BAMUM LETTER KOVUU
- * also used for digit nine
-A6EF BAMUM LETTER KOGHOM
- * also used for digit zero
- * formerly used for number ten
-@ Combining marks
-A6F0 BAMUM COMBINING MARK KOQNDON
-A6F1 BAMUM COMBINING MARK TUKWENTIS
-@ Punctuation
-A6F2 BAMUM NJAEMLI
-A6F3 BAMUM FULL STOP
-A6F4 BAMUM COLON
-A6F5 BAMUM COMMA
-A6F6 BAMUM SEMICOLON
-A6F7 BAMUM QUESTION MARK
-@@ A700 Modifier Tone Letters A71F
-@ Corner tone marks for Chinese
-A700 MODIFIER LETTER CHINESE TONE YIN PING
-A701 MODIFIER LETTER CHINESE TONE YANG PING
-A702 MODIFIER LETTER CHINESE TONE YIN SHANG
-A703 MODIFIER LETTER CHINESE TONE YANG SHANG
-A704 MODIFIER LETTER CHINESE TONE YIN QU
-A705 MODIFIER LETTER CHINESE TONE YANG QU
-A706 MODIFIER LETTER CHINESE TONE YIN RU
-A707 MODIFIER LETTER CHINESE TONE YANG RU
-@ Dotted tone letters
-A708 MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709 MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A MODIFIER LETTER MID DOTTED TONE BAR
-A70B MODIFIER LETTER LOW DOTTED TONE BAR
-A70C MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710 MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711 MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-@ Left-stem tone letters
-A712 MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713 MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714 MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715 MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716 MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-@ Chinantec tone marks
-A717 MODIFIER LETTER DOT VERTICAL BAR
-A718 MODIFIER LETTER DOT SLASH
-A719 MODIFIER LETTER DOT HORIZONTAL BAR
-A71A MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-@ Africanist tone letters
-A71B MODIFIER LETTER RAISED UP ARROW
-A71C MODIFIER LETTER RAISED DOWN ARROW
-A71D MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-@@ A720 Latin Extended-D A7FF
-@ Additions for UPA
-A720 MODIFIER LETTER STRESS AND HIGH TONE
-A721 MODIFIER LETTER STRESS AND LOW TONE
-@ Egyptological additions
-A722 LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A723 LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A724 LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A725 LATIN SMALL LETTER EGYPTOLOGICAL AIN
- * this is a case pair
- x (latin letter ain - 1D25)
- x (modifier letter small ain - 1D5C)
-@ Mayanist additions
-A726 LATIN CAPITAL LETTER HENG
-A727 LATIN SMALL LETTER HENG
-A728 LATIN CAPITAL LETTER TZ
-A729 LATIN SMALL LETTER TZ
-A72A LATIN CAPITAL LETTER TRESILLO
-A72B LATIN SMALL LETTER TRESILLO
-A72C LATIN CAPITAL LETTER CUATRILLO
-A72D LATIN SMALL LETTER CUATRILLO
-A72E LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A72F LATIN SMALL LETTER CUATRILLO WITH COMMA
-@ Medievalist additions
-A730 LATIN LETTER SMALL CAPITAL F
-A731 LATIN LETTER SMALL CAPITAL S
-A732 LATIN CAPITAL LETTER AA
-A733 LATIN SMALL LETTER AA
-A734 LATIN CAPITAL LETTER AO
-A735 LATIN SMALL LETTER AO
-A736 LATIN CAPITAL LETTER AU
-A737 LATIN SMALL LETTER AU
-A738 LATIN CAPITAL LETTER AV
-A739 LATIN SMALL LETTER AV
-A73A LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73B LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73C LATIN CAPITAL LETTER AY
-A73D LATIN SMALL LETTER AY
-A73E LATIN CAPITAL LETTER REVERSED C WITH DOT
-A73F LATIN SMALL LETTER REVERSED C WITH DOT
-A740 LATIN CAPITAL LETTER K WITH STROKE
-A741 LATIN SMALL LETTER K WITH STROKE
-A742 LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A743 LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A744 LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A745 LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 LATIN CAPITAL LETTER BROKEN L
-A747 LATIN SMALL LETTER BROKEN L
-A748 LATIN CAPITAL LETTER L WITH HIGH STROKE
-A749 LATIN SMALL LETTER L WITH HIGH STROKE
-A74A LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74B LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74C LATIN CAPITAL LETTER O WITH LOOP
-A74D LATIN SMALL LETTER O WITH LOOP
-A74E LATIN CAPITAL LETTER OO
-A74F LATIN SMALL LETTER OO
-A750 LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A751 LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A752 LATIN CAPITAL LETTER P WITH FLOURISH
-A753 LATIN SMALL LETTER P WITH FLOURISH
-A754 LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A755 LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A756 LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A757 LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A759 LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75A LATIN CAPITAL LETTER R ROTUNDA
-A75B LATIN SMALL LETTER R ROTUNDA
-A75C LATIN CAPITAL LETTER RUM ROTUNDA
-A75D LATIN SMALL LETTER RUM ROTUNDA
-A75E LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A75F LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A760 LATIN CAPITAL LETTER VY
-A761 LATIN SMALL LETTER VY
-A762 LATIN CAPITAL LETTER VISIGOTHIC Z
-A763 LATIN SMALL LETTER VISIGOTHIC Z
-A764 LATIN CAPITAL LETTER THORN WITH STROKE
-A765 LATIN SMALL LETTER THORN WITH STROKE
-A766 LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A767 LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 LATIN CAPITAL LETTER VEND
-A769 LATIN SMALL LETTER VEND
-A76A LATIN CAPITAL LETTER ET
-A76B LATIN SMALL LETTER ET
-A76C LATIN CAPITAL LETTER IS
-A76D LATIN SMALL LETTER IS
-A76E LATIN CAPITAL LETTER CON
-A76F LATIN SMALL LETTER CON
-A770 MODIFIER LETTER US
- # <super> A76F
-A771 LATIN SMALL LETTER DUM
-A772 LATIN SMALL LETTER LUM
-A773 LATIN SMALL LETTER MUM
-A774 LATIN SMALL LETTER NUM
-A775 LATIN SMALL LETTER RUM
-A776 LATIN LETTER SMALL CAPITAL RUM
-A777 LATIN SMALL LETTER TUM
-A778 LATIN SMALL LETTER UM
-@ Insular and Celticist letters
-A779 LATIN CAPITAL LETTER INSULAR D
-A77A LATIN SMALL LETTER INSULAR D
-A77B LATIN CAPITAL LETTER INSULAR F
-A77C LATIN SMALL LETTER INSULAR F
-A77D LATIN CAPITAL LETTER INSULAR G
- * lowercase is 1D79
-A77E LATIN CAPITAL LETTER TURNED INSULAR G
-A77F LATIN SMALL LETTER TURNED INSULAR G
-A780 LATIN CAPITAL LETTER TURNED L
-A781 LATIN SMALL LETTER TURNED L
-A782 LATIN CAPITAL LETTER INSULAR R
-A783 LATIN SMALL LETTER INSULAR R
-A784 LATIN CAPITAL LETTER INSULAR S
-A785 LATIN SMALL LETTER INSULAR S
-A786 LATIN CAPITAL LETTER INSULAR T
-A787 LATIN SMALL LETTER INSULAR T
-@ Modifier letters
-A788 MODIFIER LETTER LOW CIRCUMFLEX ACCENT
- x (modifier letter circumflex accent - 02C6)
- x (caret - 2038)
-A789 MODIFIER LETTER COLON
- * used as a tone letter in some orthographies
- * Budu (Congo), Sabaot (Kenya), and several Papua New Guinea languages
- x (colon - 003A)
-A78A MODIFIER LETTER SHORT EQUALS SIGN
- * used as a tone letter in some orthographies
- * Budu (Congo)
- x (equals sign - 003D)
-@ Orthographic letters for glottals
-A78B LATIN CAPITAL LETTER SALTILLO
- * Me'phaa (Mexico)
-A78C LATIN SMALL LETTER SALTILLO
- * saltillos are used as a casing pair for glottal stop in some orthographies
- * the lowercase is widely used in many languages in Mexico and other regions, including Izere in Nigeria
- x (apostrophe - 0027)
- x (latin small letter glottal stop - 0242)
- x (latin letter glottal stop - 0294)
- x (modifier letter apostrophe - 02BC)
- x (modifier letter glottal stop - 02C0)
-@ Ancient Roman epigraphic letters
-A7FB LATIN EPIGRAPHIC LETTER REVERSED F
-A7FC LATIN EPIGRAPHIC LETTER REVERSED P
-A7FD LATIN EPIGRAPHIC LETTER INVERTED M
-A7FE LATIN EPIGRAPHIC LETTER I LONGA
-A7FF LATIN EPIGRAPHIC LETTER ARCHAIC M
-@@ A800 Syloti Nagri A82F
-@ Independent vowels and dvisvara
-A800 SYLOTI NAGRI LETTER A
-A801 SYLOTI NAGRI LETTER I
-A802 SYLOTI NAGRI SIGN DVISVARA
-A803 SYLOTI NAGRI LETTER U
-A804 SYLOTI NAGRI LETTER E
-A805 SYLOTI NAGRI LETTER O
-@ Sign
-A806 SYLOTI NAGRI SIGN HASANTA
- = halant, virama
-@ Consonants and consonant signs
-A807 SYLOTI NAGRI LETTER KO
-A808 SYLOTI NAGRI LETTER KHO
-A809 SYLOTI NAGRI LETTER GO
-A80A SYLOTI NAGRI LETTER GHO
-A80B SYLOTI NAGRI SIGN ANUSVARA
-A80C SYLOTI NAGRI LETTER CO
-A80D SYLOTI NAGRI LETTER CHO
-A80E SYLOTI NAGRI LETTER JO
-A80F SYLOTI NAGRI LETTER JHO
-A810 SYLOTI NAGRI LETTER TTO
-A811 SYLOTI NAGRI LETTER TTHO
-A812 SYLOTI NAGRI LETTER DDO
-A813 SYLOTI NAGRI LETTER DDHO
-A814 SYLOTI NAGRI LETTER TO
-A815 SYLOTI NAGRI LETTER THO
-A816 SYLOTI NAGRI LETTER DO
-A817 SYLOTI NAGRI LETTER DHO
-A818 SYLOTI NAGRI LETTER NO
-A819 SYLOTI NAGRI LETTER PO
-A81A SYLOTI NAGRI LETTER PHO
-A81B SYLOTI NAGRI LETTER BO
-A81C SYLOTI NAGRI LETTER BHO
-A81D SYLOTI NAGRI LETTER MO
-A81E SYLOTI NAGRI LETTER RO
-A81F SYLOTI NAGRI LETTER LO
-A820 SYLOTI NAGRI LETTER RRO
-A821 SYLOTI NAGRI LETTER SO
-A822 SYLOTI NAGRI LETTER HO
-@ Dependent vowel signs
-A823 SYLOTI NAGRI VOWEL SIGN A
-A824 SYLOTI NAGRI VOWEL SIGN I
-A825 SYLOTI NAGRI VOWEL SIGN U
-A826 SYLOTI NAGRI VOWEL SIGN E
-A827 SYLOTI NAGRI VOWEL SIGN OO
-@ Poetry marks
-A828 SYLOTI NAGRI POETRY MARK-1
-A829 SYLOTI NAGRI POETRY MARK-2
-A82A SYLOTI NAGRI POETRY MARK-3
-A82B SYLOTI NAGRI POETRY MARK-4
-@@ A830 Common Indic Number Forms A83F
-@ Number forms
-A830 NORTH INDIC FRACTION ONE QUARTER
-A831 NORTH INDIC FRACTION ONE HALF
-A832 NORTH INDIC FRACTION THREE QUARTERS
-A833 NORTH INDIC FRACTION ONE SIXTEENTH
-A834 NORTH INDIC FRACTION ONE EIGHTH
-A835 NORTH INDIC FRACTION THREE SIXTEENTHS
-A836 NORTH INDIC QUARTER MARK
-@ Miscellaneous sign
-A837 NORTH INDIC PLACEHOLDER MARK
- * indicates the absence of an intermediate unit in a currency value
-@ Currency sign
-A838 NORTH INDIC RUPEE MARK
- x (bengali rupee mark - 09F2)
-@ Miscellaneous sign
-A839 NORTH INDIC QUANTITY MARK
- * a unit mark for various weights and measures
-@@ A840 Phags-pa A87F
-@+ Phags-pa letters are used for Mongolian, Chinese, Uighur, Tibetan, and Sanskrit unless annotated with a more restricted list of languages.
-@ Consonants
-A840 PHAGS-PA LETTER KA
- * Mongolian, Chinese, Tibetan, Sanskrit
- x (tibetan letter ka - 0F40)
-A841 PHAGS-PA LETTER KHA
- x (tibetan letter kha - 0F41)
-A842 PHAGS-PA LETTER GA
- x (tibetan letter ga - 0F42)
-A843 PHAGS-PA LETTER NGA
- * Mongolian, Chinese, Tibetan, Sanskrit
- x (tibetan letter nga - 0F44)
-A844 PHAGS-PA LETTER CA
- * Chinese, Tibetan
- x (tibetan letter ca - 0F45)
-A845 PHAGS-PA LETTER CHA
- * Mongolian, Chinese, Uighur, Tibetan
- x (tibetan letter cha - 0F46)
-A846 PHAGS-PA LETTER JA
- * Mongolian, Chinese, Uighur, Tibetan
- x (tibetan letter ja - 0F47)
-A847 PHAGS-PA LETTER NYA
- * Chinese, Tibetan, Sanskrit
- x (tibetan letter nya - 0F49)
-A848 PHAGS-PA LETTER TA
- * Mongolian, Chinese, Tibetan, Sanskrit
- x (tibetan letter ta - 0F4F)
-A849 PHAGS-PA LETTER THA
- x (tibetan letter tha - 0F50)
-A84A PHAGS-PA LETTER DA
- x (tibetan letter da - 0F51)
-A84B PHAGS-PA LETTER NA
- x (tibetan letter na - 0F53)
-A84C PHAGS-PA LETTER PA
- * Mongolian, Chinese, Tibetan, Sanskrit
- x (tibetan letter pa - 0F54)
-A84D PHAGS-PA LETTER PHA
- * Chinese, Tibetan, Sanskrit
- x (tibetan letter pha - 0F55)
-A84E PHAGS-PA LETTER BA
- x (tibetan letter ba - 0F56)
-A84F PHAGS-PA LETTER MA
- x (tibetan letter ma - 0F58)
-A850 PHAGS-PA LETTER TSA
- * Chinese, Tibetan, Sanskrit
- x (tibetan letter tsa - 0F59)
-A851 PHAGS-PA LETTER TSHA
- * Mongolian, Chinese, Tibetan, Sanskrit
- x (tibetan letter tsha - 0F5A)
-A852 PHAGS-PA LETTER DZA
- * Chinese, Tibetan, Sanskrit
- x (tibetan letter dza - 0F5B)
-A853 PHAGS-PA LETTER WA
- x (tibetan letter wa - 0F5D)
-A854 PHAGS-PA LETTER ZHA
- * Chinese, Tibetan
- x (tibetan letter zha - 0F5E)
-A855 PHAGS-PA LETTER ZA
- * Mongolian, Chinese, Tibetan
- x (tibetan letter za - 0F5F)
-A856 PHAGS-PA LETTER SMALL A
- x (tibetan letter -a - 0F60)
-A857 PHAGS-PA LETTER YA
- x (tibetan letter ya - 0F61)
-A858 PHAGS-PA LETTER RA
- * Mongolian, Uighur, Tibetan, Sanskrit
- x (tibetan letter ra - 0F62)
-A859 PHAGS-PA LETTER LA
- x (tibetan letter la - 0F63)
-A85A PHAGS-PA LETTER SHA
- x (tibetan letter sha - 0F64)
-A85B PHAGS-PA LETTER SA
- x (tibetan letter sa - 0F66)
-A85C PHAGS-PA LETTER HA
- x (tibetan letter ha - 0F67)
-@ Letter A
-A85D PHAGS-PA LETTER A
- x (tibetan letter a - 0F68)
-@ Vowels
-A85E PHAGS-PA LETTER I
- x (tibetan vowel sign i - 0F72)
-A85F PHAGS-PA LETTER U
- x (tibetan vowel sign u - 0F74)
-A860 PHAGS-PA LETTER E
- x (tibetan vowel sign e - 0F7A)
-A861 PHAGS-PA LETTER O
- x (tibetan vowel sign o - 0F7C)
-@ Consonants
-A862 PHAGS-PA LETTER QA
- * Mongolian, Uighur
-A863 PHAGS-PA LETTER XA
- * Mongolian, Chinese
-A864 PHAGS-PA LETTER FA
- * Chinese, Uighur
- x (phags-pa letter ha - A85C)
-A865 PHAGS-PA LETTER GGA
- * language usage unknown
- * created by reversal of A862
-@ Vowel
-A866 PHAGS-PA LETTER EE
- * Mongolian, Chinese, Uighur
-@ Subjoined consonants
-A867 PHAGS-PA SUBJOINED LETTER WA
- * Chinese, Tibetan, Sanskrit
- x (tibetan subjoined letter wa - 0FAD)
-A868 PHAGS-PA SUBJOINED LETTER YA
- * Chinese, Tibetan, Sanskrit
- x (tibetan subjoined letter ya - 0FB1)
-@ Consonant additions for Sanskrit
-A869 PHAGS-PA LETTER TTA
- * Sanskrit
- x (tibetan letter tta - 0F4A)
-A86A PHAGS-PA LETTER TTHA
- * Sanskrit
- x (tibetan letter ttha - 0F4B)
-A86B PHAGS-PA LETTER DDA
- * Sanskrit
- x (tibetan letter dda - 0F4C)
-A86C PHAGS-PA LETTER NNA
- * Sanskrit
- x (tibetan letter nna - 0F4E)
-@ Alternate consonant forms for Chinese
-A86D PHAGS-PA LETTER ALTERNATE YA
- * Chinese
- x (phags-pa letter ya - A857)
-A86E PHAGS-PA LETTER VOICELESS SHA
- * Chinese
- x (phags-pa letter sha - A85A)
-A86F PHAGS-PA LETTER VOICED HA
- * Chinese
- x (phags-pa letter ha - A85C)
-A870 PHAGS-PA LETTER ASPIRATED FA
- * Chinese
- x (phags-pa letter fa - A864)
-@ Subjoined consonant
-A871 PHAGS-PA SUBJOINED LETTER RA
- * Tibetan, Sanskrit
- x (tibetan subjoined letter ra - 0FB2)
-@ Consonant addition for Tibetan
-A872 PHAGS-PA SUPERFIXED LETTER RA
- * Tibetan
- x (tibetan letter ra - 0F62)
-@ Candrabindu
-A873 PHAGS-PA LETTER CANDRABINDU
- * Sanskrit
- x (tibetan sign sna ldan - 0F83)
- x (tibetan sign rjes su nga ro - 0F7E)
- x (mongolian letter ali gali anusvara one - 1880)
-@ Head marks for Tibetan
-A874 PHAGS-PA SINGLE HEAD MARK
- * Tibetan
- * marks beginning of text
- x (tibetan mark initial yig mgo mdun ma - 0F04)
- x (mongolian birga - 1800)
-A875 PHAGS-PA DOUBLE HEAD MARK
- * Tibetan
- * marks beginning of text
-@ Punctuation for Tibetan
-A876 PHAGS-PA MARK SHAD
- * Tibetan
- x (tibetan mark shad - 0F0D)
-A877 PHAGS-PA MARK DOUBLE SHAD
- * Tibetan
- x (tibetan mark nyis shad - 0F0E)
-@@ A880 Saurashtra A8DF
-@ Various signs
-A880 SAURASHTRA SIGN ANUSVARA
-A881 SAURASHTRA SIGN VISARGA
-@ Independent vowels
-A882 SAURASHTRA LETTER A
-A883 SAURASHTRA LETTER AA
-A884 SAURASHTRA LETTER I
-A885 SAURASHTRA LETTER II
-A886 SAURASHTRA LETTER U
-A887 SAURASHTRA LETTER UU
-A888 SAURASHTRA LETTER VOCALIC R
-A889 SAURASHTRA LETTER VOCALIC RR
-A88A SAURASHTRA LETTER VOCALIC L
-A88B SAURASHTRA LETTER VOCALIC LL
-A88C SAURASHTRA LETTER E
-A88D SAURASHTRA LETTER EE
-A88E SAURASHTRA LETTER AI
-A88F SAURASHTRA LETTER O
-A890 SAURASHTRA LETTER OO
-A891 SAURASHTRA LETTER AU
-@ Consonants
-A892 SAURASHTRA LETTER KA
-A893 SAURASHTRA LETTER KHA
-A894 SAURASHTRA LETTER GA
-A895 SAURASHTRA LETTER GHA
-A896 SAURASHTRA LETTER NGA
-A897 SAURASHTRA LETTER CA
-A898 SAURASHTRA LETTER CHA
-A899 SAURASHTRA LETTER JA
-A89A SAURASHTRA LETTER JHA
-A89B SAURASHTRA LETTER NYA
-A89C SAURASHTRA LETTER TTA
-A89D SAURASHTRA LETTER TTHA
-A89E SAURASHTRA LETTER DDA
-A89F SAURASHTRA LETTER DDHA
-A8A0 SAURASHTRA LETTER NNA
-A8A1 SAURASHTRA LETTER TA
-A8A2 SAURASHTRA LETTER THA
-A8A3 SAURASHTRA LETTER DA
-A8A4 SAURASHTRA LETTER DHA
-A8A5 SAURASHTRA LETTER NA
-A8A6 SAURASHTRA LETTER PA
-A8A7 SAURASHTRA LETTER PHA
-A8A8 SAURASHTRA LETTER BA
-A8A9 SAURASHTRA LETTER BHA
-A8AA SAURASHTRA LETTER MA
-A8AB SAURASHTRA LETTER YA
-A8AC SAURASHTRA LETTER RA
-A8AD SAURASHTRA LETTER LA
-A8AE SAURASHTRA LETTER VA
-A8AF SAURASHTRA LETTER SHA
-A8B0 SAURASHTRA LETTER SSA
-A8B1 SAURASHTRA LETTER SA
-A8B2 SAURASHTRA LETTER HA
-A8B3 SAURASHTRA LETTER LLA
-A8B4 SAURASHTRA CONSONANT SIGN HAARU
-@ Dependent vowel signs
-A8B5 SAURASHTRA VOWEL SIGN AA
-A8B6 SAURASHTRA VOWEL SIGN I
-A8B7 SAURASHTRA VOWEL SIGN II
-A8B8 SAURASHTRA VOWEL SIGN U
-A8B9 SAURASHTRA VOWEL SIGN UU
-A8BA SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE SAURASHTRA VOWEL SIGN E
-A8BF SAURASHTRA VOWEL SIGN EE
-A8C0 SAURASHTRA VOWEL SIGN AI
-A8C1 SAURASHTRA VOWEL SIGN O
-A8C2 SAURASHTRA VOWEL SIGN OO
-A8C3 SAURASHTRA VOWEL SIGN AU
-@ Virama
-A8C4 SAURASHTRA SIGN VIRAMA
-@ Punctuation
-A8CE SAURASHTRA DANDA
-A8CF SAURASHTRA DOUBLE DANDA
-@ Digits
-A8D0 SAURASHTRA DIGIT ZERO
-A8D1 SAURASHTRA DIGIT ONE
-A8D2 SAURASHTRA DIGIT TWO
-A8D3 SAURASHTRA DIGIT THREE
-A8D4 SAURASHTRA DIGIT FOUR
-A8D5 SAURASHTRA DIGIT FIVE
-A8D6 SAURASHTRA DIGIT SIX
-A8D7 SAURASHTRA DIGIT SEVEN
-A8D8 SAURASHTRA DIGIT EIGHT
-A8D9 SAURASHTRA DIGIT NINE
-@@ A8E0 Devanagari Extended A8FF
-@ Cantillation marks for the Samaveda
-A8E0 COMBINING DEVANAGARI DIGIT ZERO
- = vaidika saamasvara anka shuunya
-A8E1 COMBINING DEVANAGARI DIGIT ONE
- = vaidika saamasvara anka eka udaatta
-A8E2 COMBINING DEVANAGARI DIGIT TWO
- = vaidika saamasvara anka dvi svarita
-A8E3 COMBINING DEVANAGARI DIGIT THREE
- = vaidika saamasvara anka tri anudaatta
-A8E4 COMBINING DEVANAGARI DIGIT FOUR
- = vaidika saamasvara anka chatur
-A8E5 COMBINING DEVANAGARI DIGIT FIVE
- = vaidika saamasvara anka pancha
-A8E6 COMBINING DEVANAGARI DIGIT SIX
- = vaidika saamasvara anka shatt
-A8E7 COMBINING DEVANAGARI DIGIT SEVEN
- = vaidika saamasvara anka sapta
-A8E8 COMBINING DEVANAGARI DIGIT EIGHT
- = vaidika saamasvara anka ashta
-A8E9 COMBINING DEVANAGARI DIGIT NINE
- = vaidika saamasvara anka nava
-A8EA COMBINING DEVANAGARI LETTER A
- = vaidika saamasvara abhinihita
-A8EB COMBINING DEVANAGARI LETTER U
- = vaidika saamasvara u
-A8EC COMBINING DEVANAGARI LETTER KA
- = vaidika saamasvara ka
-A8ED COMBINING DEVANAGARI LETTER NA
- = vaidika saamasvara namana
-A8EE COMBINING DEVANAGARI LETTER PA
- = vaidika saamasvara prannatam
-A8EF COMBINING DEVANAGARI LETTER RA
- = vaidika saamasvara ra
-A8F0 COMBINING DEVANAGARI LETTER VI
- = vaidika saamasvara vinata
-A8F1 COMBINING DEVANAGARI SIGN AVAGRAHA
- = vaidika saamasvara diirghiibhaava
-@ Marks of nasalization
-A8F2 DEVANAGARI SIGN SPACING CANDRABINDU
- = vaidika candrabindu
- x (devanagari sign candrabindu - 0901)
-A8F3 DEVANAGARI SIGN CANDRABINDU VIRAMA
- = vaidika anusvaara candrabindu tiryak
-A8F4 DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
- = vaidika anusvaara dvi candrabindu tiryak
-A8F5 DEVANAGARI SIGN CANDRABINDU TWO
- = vaidika anusvaara candrabindu sa-dvi
-A8F6 DEVANAGARI SIGN CANDRABINDU THREE
- = vaidika anusvaara candrabindu sa-tri
-A8F7 DEVANAGARI SIGN CANDRABINDU AVAGRAHA
- = vaidika anusvaara candrabindu sa-avagraha
-@ Editorial marks
-A8F8 DEVANAGARI SIGN PUSHPIKA
- = vaidika pushpikaa
- * used as a placeholder or "filler"
- * often flanked by double dandas
-A8F9 DEVANAGARI GAP FILLER
- * used to indicate that a gap in a manuscript or text is not a lacuna
-A8FA DEVANAGARI CARET
- = vaidika trutikaa
- * zero-advance character centered on the point between two orthographic syllables
- * used for insertion of characters
- x (caret - 2038)
-A8FB DEVANAGARI HEADSTROKE
- = shirorekhaa
- * used to indicate uncertain manuscript readings
-@@ A900 Kayah Li A92F
-@ Digits
-A900 KAYAH LI DIGIT ZERO
-A901 KAYAH LI DIGIT ONE
-A902 KAYAH LI DIGIT TWO
-A903 KAYAH LI DIGIT THREE
-A904 KAYAH LI DIGIT FOUR
-A905 KAYAH LI DIGIT FIVE
-A906 KAYAH LI DIGIT SIX
-A907 KAYAH LI DIGIT SEVEN
-A908 KAYAH LI DIGIT EIGHT
-A909 KAYAH LI DIGIT NINE
-@ Consonants
-A90A KAYAH LI LETTER KA
-A90B KAYAH LI LETTER KHA
-A90C KAYAH LI LETTER GA
-A90D KAYAH LI LETTER NGA
-A90E KAYAH LI LETTER SA
-A90F KAYAH LI LETTER SHA
-A910 KAYAH LI LETTER ZA
-A911 KAYAH LI LETTER NYA
-A912 KAYAH LI LETTER TA
-A913 KAYAH LI LETTER HTA
-A914 KAYAH LI LETTER NA
-A915 KAYAH LI LETTER PA
-A916 KAYAH LI LETTER PHA
-A917 KAYAH LI LETTER MA
-A918 KAYAH LI LETTER DA
-A919 KAYAH LI LETTER BA
-A91A KAYAH LI LETTER RA
-A91B KAYAH LI LETTER YA
-A91C KAYAH LI LETTER LA
-A91D KAYAH LI LETTER WA
-A91E KAYAH LI LETTER THA
-A91F KAYAH LI LETTER HA
-A920 KAYAH LI LETTER VA
-A921 KAYAH LI LETTER CA
-A922 KAYAH LI LETTER A
-A923 KAYAH LI LETTER OE
-A924 KAYAH LI LETTER I
-A925 KAYAH LI LETTER OO
-@ Vowels
-A926 KAYAH LI VOWEL UE
-A927 KAYAH LI VOWEL E
-A928 KAYAH LI VOWEL U
-A929 KAYAH LI VOWEL EE
-A92A KAYAH LI VOWEL O
-@ Tone marks
-A92B KAYAH LI TONE PLOPHU
-A92C KAYAH LI TONE CALYA
-A92D KAYAH LI TONE CALYA PLOPHU
-@ Punctuation
-A92E KAYAH LI SIGN CWI
-A92F KAYAH LI SIGN SHYA
-@@ A930 Rejang A95F
-@ Consonants
-A930 REJANG LETTER KA
-A931 REJANG LETTER GA
-A932 REJANG LETTER NGA
-A933 REJANG LETTER TA
-A934 REJANG LETTER DA
-A935 REJANG LETTER NA
-A936 REJANG LETTER PA
-A937 REJANG LETTER BA
-A938 REJANG LETTER MA
-A939 REJANG LETTER CA
-A93A REJANG LETTER JA
-A93B REJANG LETTER NYA
-A93C REJANG LETTER SA
-A93D REJANG LETTER RA
-A93E REJANG LETTER LA
-A93F REJANG LETTER YA
-A940 REJANG LETTER WA
-A941 REJANG LETTER HA
-A942 REJANG LETTER MBA
-A943 REJANG LETTER NGGA
-A944 REJANG LETTER NDA
-A945 REJANG LETTER NYJA
-A946 REJANG LETTER A
-@ Vowel signs
-@+ Shown here is the nominal position of the vowel signs relative to the dotted circle before taking account of the oblique nature of the script.
-A947 REJANG VOWEL SIGN I
- = kaluan
-A948 REJANG VOWEL SIGN U
- = kamitan
-A949 REJANG VOWEL SIGN E
- = kamica
-A94A REJANG VOWEL SIGN AI
- = katiling
-A94B REJANG VOWEL SIGN O
-A94C REJANG VOWEL SIGN AU
- = katulung
-A94D REJANG VOWEL SIGN EU
-A94E REJANG VOWEL SIGN EA
- = kajina
-@ Consonant signs
-@+ Shown here is the nominal position of the consonant signs relative to the dotted circle before taking account of the oblique nature of the script.
-A94F REJANG CONSONANT SIGN NG
- = katulang
-A950 REJANG CONSONANT SIGN N
- = duo deatas
-A951 REJANG CONSONANT SIGN R
- = kajunjung
-A952 REJANG CONSONANT SIGN H
-@ Virama
-A953 REJANG VIRAMA
- * does not form conjuncts
-@ Punctuation
-A95F REJANG SECTION MARK
-@@ A960 Hangul Jamo Extended-A A97F
-@ Initial consonants
-A960 HANGUL CHOSEONG TIKEUT-MIEUM
-A961 HANGUL CHOSEONG TIKEUT-PIEUP
-A962 HANGUL CHOSEONG TIKEUT-SIOS
-A963 HANGUL CHOSEONG TIKEUT-CIEUC
-A964 HANGUL CHOSEONG RIEUL-KIYEOK
-A965 HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966 HANGUL CHOSEONG RIEUL-TIKEUT
-A967 HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968 HANGUL CHOSEONG RIEUL-MIEUM
-A969 HANGUL CHOSEONG RIEUL-PIEUP
-A96A HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C HANGUL CHOSEONG RIEUL-SIOS
-A96D HANGUL CHOSEONG RIEUL-CIEUC
-A96E HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F HANGUL CHOSEONG MIEUM-KIYEOK
-A970 HANGUL CHOSEONG MIEUM-TIKEUT
-A971 HANGUL CHOSEONG MIEUM-SIOS
-A972 HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973 HANGUL CHOSEONG PIEUP-KHIEUKH
-A974 HANGUL CHOSEONG PIEUP-HIEUH
-A975 HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976 HANGUL CHOSEONG IEUNG-RIEUL
-A977 HANGUL CHOSEONG IEUNG-HIEUH
-A978 HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979 HANGUL CHOSEONG SSANGTHIEUTH
-A97A HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B HANGUL CHOSEONG HIEUH-SIOS
-A97C HANGUL CHOSEONG SSANGYEORINHIEUH
-@@ A980 Javanese A9DF
-@ Various signs
-A980 JAVANESE SIGN PANYANGGA
- = ardhacandra
-A981 JAVANESE SIGN CECAK
- = anusvara
-A982 JAVANESE SIGN LAYAR
- = repha
-A983 JAVANESE SIGN WIGNYAN
- = visarga
-@ Letters
-A984 JAVANESE LETTER A
-A985 JAVANESE LETTER I KAWI
-A986 JAVANESE LETTER I
-A987 JAVANESE LETTER II
-A988 JAVANESE LETTER U
-A989 JAVANESE LETTER PA CEREK
- = vocalic r
-A98A JAVANESE LETTER NGA LELET
- = vocalic l
-A98B JAVANESE LETTER NGA LELET RASWADI
- = vocalic ll
-A98C JAVANESE LETTER E
-A98D JAVANESE LETTER AI
-A98E JAVANESE LETTER O
-A98F JAVANESE LETTER KA
-A990 JAVANESE LETTER KA SASAK
- = qa
-A991 JAVANESE LETTER KA MURDA
- = kha
-A992 JAVANESE LETTER GA
-A993 JAVANESE LETTER GA MURDA
- = gha
-A994 JAVANESE LETTER NGA
-A995 JAVANESE LETTER CA
-A996 JAVANESE LETTER CA MURDA
- = cha
-A997 JAVANESE LETTER JA
-A998 JAVANESE LETTER NYA MURDA
- = jnya
-A999 JAVANESE LETTER JA MAHAPRANA
- = jha
-A99A JAVANESE LETTER NYA
-A99B JAVANESE LETTER TTA
-A99C JAVANESE LETTER TTA MAHAPRANA
- = ttha
-A99D JAVANESE LETTER DDA
-A99E JAVANESE LETTER DDA MAHAPRANA
- = ddha
-A99F JAVANESE LETTER NA MURDA
- = nna
-A9A0 JAVANESE LETTER TA
-A9A1 JAVANESE LETTER TA MURDA
- = tha
-A9A2 JAVANESE LETTER DA
-A9A3 JAVANESE LETTER DA MAHAPRANA
- = dha
-A9A4 JAVANESE LETTER NA
-A9A5 JAVANESE LETTER PA
-A9A6 JAVANESE LETTER PA MURDA
- = pha
-A9A7 JAVANESE LETTER BA
-A9A8 JAVANESE LETTER BA MURDA
- = bha
-A9A9 JAVANESE LETTER MA
-A9AA JAVANESE LETTER YA
-A9AB JAVANESE LETTER RA
-A9AC JAVANESE LETTER RA AGUNG
-A9AD JAVANESE LETTER LA
-A9AE JAVANESE LETTER WA
-A9AF JAVANESE LETTER SA MURDA
- = sha
-A9B0 JAVANESE LETTER SA MAHAPRANA
- = ssa
-A9B1 JAVANESE LETTER SA
-A9B2 JAVANESE LETTER HA
-@ Sign
-A9B3 JAVANESE SIGN CECAK TELU
- = nukta
-@ Dependent vowel signs
-A9B4 JAVANESE VOWEL SIGN TARUNG
- = aa
-A9B5 JAVANESE VOWEL SIGN TOLONG
- = o
-A9B6 JAVANESE VOWEL SIGN WULU
- = i
-A9B7 JAVANESE VOWEL SIGN WULU MELIK
- = ii
-A9B8 JAVANESE VOWEL SIGN SUKU
- = u
-A9B9 JAVANESE VOWEL SIGN SUKU MENDUT
- = uu
-A9BA JAVANESE VOWEL SIGN TALING
- = e
-A9BB JAVANESE VOWEL SIGN DIRGA MURE
- = ai
-A9BC JAVANESE VOWEL SIGN PEPET
- = ae
-@ Dependent consonant signs
-A9BD JAVANESE CONSONANT SIGN KERET
- = vocalic r
-A9BE JAVANESE CONSONANT SIGN PENGKAL
- = medial ya
-A9BF JAVANESE CONSONANT SIGN CAKRA
- = medial ra
-@ Sign
-A9C0 JAVANESE PANGKON
- = virama
-@ Punctuation
-A9C1 JAVANESE LEFT RERENGGAN
-A9C2 JAVANESE RIGHT RERENGGAN
-A9C3 JAVANESE PADA ANDAP
-A9C4 JAVANESE PADA MADYA
-A9C5 JAVANESE PADA LUHUR
-A9C6 JAVANESE PADA WINDU
-A9C7 JAVANESE PADA PANGKAT
-A9C8 JAVANESE PADA LINGSA
- = danda
-A9C9 JAVANESE PADA LUNGSI
- = double danda
-A9CA JAVANESE PADA ADEG
-A9CB JAVANESE PADA ADEG ADEG
-A9CC JAVANESE PADA PISELEH
-A9CD JAVANESE TURNED PADA PISELEH
-@ Syllable reduplicator
-A9CF JAVANESE PANGRANGKEP
- x (arabic-indic digit two - 0662)
-@ Digits
-A9D0 JAVANESE DIGIT ZERO
-A9D1 JAVANESE DIGIT ONE
-A9D2 JAVANESE DIGIT TWO
-A9D3 JAVANESE DIGIT THREE
-A9D4 JAVANESE DIGIT FOUR
-A9D5 JAVANESE DIGIT FIVE
-A9D6 JAVANESE DIGIT SIX
-A9D7 JAVANESE DIGIT SEVEN
-A9D8 JAVANESE DIGIT EIGHT
-A9D9 JAVANESE DIGIT NINE
-@ Ellipsis marks
-A9DE JAVANESE PADA TIRTA TUMETES
-A9DF JAVANESE PADA ISEN-ISEN
-@@ AA00 Cham AA5F
-@ Independent vowels
-AA00 CHAM LETTER A
-AA01 CHAM LETTER I
-AA02 CHAM LETTER U
-AA03 CHAM LETTER E
-AA04 CHAM LETTER AI
-AA05 CHAM LETTER O
-@ Consonants
-AA06 CHAM LETTER KA
-AA07 CHAM LETTER KHA
-AA08 CHAM LETTER GA
-AA09 CHAM LETTER GHA
-AA0A CHAM LETTER NGUE
-AA0B CHAM LETTER NGA
-AA0C CHAM LETTER CHA
-AA0D CHAM LETTER CHHA
-AA0E CHAM LETTER JA
-AA0F CHAM LETTER JHA
-AA10 CHAM LETTER NHUE
-AA11 CHAM LETTER NHA
-AA12 CHAM LETTER NHJA
-AA13 CHAM LETTER TA
-AA14 CHAM LETTER THA
-AA15 CHAM LETTER DA
-AA16 CHAM LETTER DHA
-AA17 CHAM LETTER NUE
-AA18 CHAM LETTER NA
-AA19 CHAM LETTER DDA
-AA1A CHAM LETTER PA
-AA1B CHAM LETTER PPA
-AA1C CHAM LETTER PHA
-AA1D CHAM LETTER BA
-AA1E CHAM LETTER BHA
-AA1F CHAM LETTER MUE
-AA20 CHAM LETTER MA
-AA21 CHAM LETTER BBA
-AA22 CHAM LETTER YA
-AA23 CHAM LETTER RA
-AA24 CHAM LETTER LA
-AA25 CHAM LETTER VA
-AA26 CHAM LETTER SSA
-AA27 CHAM LETTER SA
-AA28 CHAM LETTER HA
-@ Dependent vowel signs
-AA29 CHAM VOWEL SIGN AA
-AA2A CHAM VOWEL SIGN I
-AA2B CHAM VOWEL SIGN II
-AA2C CHAM VOWEL SIGN EI
-AA2D CHAM VOWEL SIGN U
-AA2E CHAM VOWEL SIGN OE
-AA2F CHAM VOWEL SIGN O
-AA30 CHAM VOWEL SIGN AI
-AA31 CHAM VOWEL SIGN AU
-AA32 CHAM VOWEL SIGN UE
-@ Consonant signs
-AA33 CHAM CONSONANT SIGN YA
-AA34 CHAM CONSONANT SIGN RA
-AA35 CHAM CONSONANT SIGN LA
-AA36 CHAM CONSONANT SIGN WA
-@ Final letters
-AA40 CHAM LETTER FINAL K
-AA41 CHAM LETTER FINAL G
-AA42 CHAM LETTER FINAL NG
-AA43 CHAM CONSONANT SIGN FINAL NG
-AA44 CHAM LETTER FINAL CH
-AA45 CHAM LETTER FINAL T
-AA46 CHAM LETTER FINAL N
-AA47 CHAM LETTER FINAL P
-AA48 CHAM LETTER FINAL Y
-AA49 CHAM LETTER FINAL R
-AA4A CHAM LETTER FINAL L
-AA4B CHAM LETTER FINAL SS
-AA4C CHAM CONSONANT SIGN FINAL M
-AA4D CHAM CONSONANT SIGN FINAL H
-@ Digits
-AA50 CHAM DIGIT ZERO
-AA51 CHAM DIGIT ONE
-AA52 CHAM DIGIT TWO
-AA53 CHAM DIGIT THREE
-AA54 CHAM DIGIT FOUR
-AA55 CHAM DIGIT FIVE
-AA56 CHAM DIGIT SIX
-AA57 CHAM DIGIT SEVEN
-AA58 CHAM DIGIT EIGHT
-AA59 CHAM DIGIT NINE
-@ Punctuation
-AA5C CHAM PUNCTUATION SPIRAL
-AA5D CHAM PUNCTUATION DANDA
-AA5E CHAM PUNCTUATION DOUBLE DANDA
-AA5F CHAM PUNCTUATION TRIPLE DANDA
-@@ AA60 Myanmar Extended-A AA7F
-@ Khamti Shan consonants
-AA60 MYANMAR LETTER KHAMTI GA
-AA61 MYANMAR LETTER KHAMTI CA
-AA62 MYANMAR LETTER KHAMTI CHA
-AA63 MYANMAR LETTER KHAMTI JA
-AA64 MYANMAR LETTER KHAMTI JHA
-AA65 MYANMAR LETTER KHAMTI NYA
-AA66 MYANMAR LETTER KHAMTI TTA
-AA67 MYANMAR LETTER KHAMTI TTHA
-AA68 MYANMAR LETTER KHAMTI DDA
-AA69 MYANMAR LETTER KHAMTI DDHA
-AA6A MYANMAR LETTER KHAMTI DHA
-AA6B MYANMAR LETTER KHAMTI NA
-AA6C MYANMAR LETTER KHAMTI SA
-AA6D MYANMAR LETTER KHAMTI HA
-AA6E MYANMAR LETTER KHAMTI HHA
-AA6F MYANMAR LETTER KHAMTI FA
-AA70 MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71 MYANMAR LETTER KHAMTI XA
-AA72 MYANMAR LETTER KHAMTI ZA
-AA73 MYANMAR LETTER KHAMTI RA
-@ Khamti Shan logograms
-AA74 MYANMAR LOGOGRAM KHAMTI OAY
-AA75 MYANMAR LOGOGRAM KHAMTI QN
-AA76 MYANMAR LOGOGRAM KHAMTI HM
-@ Aiton symbols and letters
-AA77 MYANMAR SYMBOL AITON EXCLAMATION
-AA78 MYANMAR SYMBOL AITON ONE
-AA79 MYANMAR SYMBOL AITON TWO
-AA7A MYANMAR LETTER AITON RA
-@ Pa'o Karen tone mark
-AA7B MYANMAR SIGN PAO KAREN TONE
-@@ AA80 Tai Viet AADF
-@ Consonants
-AA80 TAI VIET LETTER LOW KO
-AA81 TAI VIET LETTER HIGH KO
-AA82 TAI VIET LETTER LOW KHO
-AA83 TAI VIET LETTER HIGH KHO
-AA84 TAI VIET LETTER LOW KHHO
-AA85 TAI VIET LETTER HIGH KHHO
-AA86 TAI VIET LETTER LOW GO
-AA87 TAI VIET LETTER HIGH GO
-AA88 TAI VIET LETTER LOW NGO
-AA89 TAI VIET LETTER HIGH NGO
-AA8A TAI VIET LETTER LOW CO
-AA8B TAI VIET LETTER HIGH CO
-AA8C TAI VIET LETTER LOW CHO
-AA8D TAI VIET LETTER HIGH CHO
-AA8E TAI VIET LETTER LOW SO
-AA8F TAI VIET LETTER HIGH SO
-AA90 TAI VIET LETTER LOW NYO
-AA91 TAI VIET LETTER HIGH NYO
-AA92 TAI VIET LETTER LOW DO
-AA93 TAI VIET LETTER HIGH DO
-AA94 TAI VIET LETTER LOW TO
-AA95 TAI VIET LETTER HIGH TO
-AA96 TAI VIET LETTER LOW THO
-AA97 TAI VIET LETTER HIGH THO
-AA98 TAI VIET LETTER LOW NO
-AA99 TAI VIET LETTER HIGH NO
-AA9A TAI VIET LETTER LOW BO
-AA9B TAI VIET LETTER HIGH BO
-AA9C TAI VIET LETTER LOW PO
-AA9D TAI VIET LETTER HIGH PO
-AA9E TAI VIET LETTER LOW PHO
-AA9F TAI VIET LETTER HIGH PHO
-AAA0 TAI VIET LETTER LOW FO
-AAA1 TAI VIET LETTER HIGH FO
-AAA2 TAI VIET LETTER LOW MO
-AAA3 TAI VIET LETTER HIGH MO
-AAA4 TAI VIET LETTER LOW YO
-AAA5 TAI VIET LETTER HIGH YO
-AAA6 TAI VIET LETTER LOW RO
-AAA7 TAI VIET LETTER HIGH RO
-AAA8 TAI VIET LETTER LOW LO
-AAA9 TAI VIET LETTER HIGH LO
-AAAA TAI VIET LETTER LOW VO
-AAAB TAI VIET LETTER HIGH VO
-AAAC TAI VIET LETTER LOW HO
-AAAD TAI VIET LETTER HIGH HO
-AAAE TAI VIET LETTER LOW O
-AAAF TAI VIET LETTER HIGH O
-@ Vowels and finals
-AAB0 TAI VIET MAI KANG
-AAB1 TAI VIET VOWEL AA
-AAB2 TAI VIET VOWEL I
-AAB3 TAI VIET VOWEL UE
-AAB4 TAI VIET VOWEL U
-AAB5 TAI VIET VOWEL E
- * precedes consonant in visual order
-AAB6 TAI VIET VOWEL O
- * precedes consonant in visual order
-AAB7 TAI VIET MAI KHIT
-AAB8 TAI VIET VOWEL IA
-AAB9 TAI VIET VOWEL UEA
- * precedes consonant in visual order
-AABA TAI VIET VOWEL UA
-AABB TAI VIET VOWEL AUE
- * precedes consonant in visual order
-AABC TAI VIET VOWEL AY
- * precedes consonant in visual order
-AABD TAI VIET VOWEL AN
-AABE TAI VIET VOWEL AM
-@ Tones
-AABF TAI VIET TONE MAI EK
-AAC0 TAI VIET TONE MAI NUENG
-AAC1 TAI VIET TONE MAI THO
-AAC2 TAI VIET TONE MAI SONG
-@ Word ligature symbols
-AADB TAI VIET SYMBOL KON
- = person
-AADC TAI VIET SYMBOL NUENG
- = one
-@ Repetition mark
-AADD TAI VIET SYMBOL SAM
- x (thai character maiyamok - 0E46)
-@ Punctuation
-AADE TAI VIET SYMBOL HO HOI
- * marks start of text in songs and poems
-AADF TAI VIET SYMBOL KOI KOI
- * marks end of text in songs and poems
-@@ ABC0 Meetei Mayek ABFF
-@+ The name "Meetei Mayek" is used in official documentation in Manipur. Many linguists also use the name "Meitei Mayek", and other transliterations also occur.
-@ Letters
-ABC0 MEETEI MAYEK LETTER KOK
- = ka
-ABC1 MEETEI MAYEK LETTER SAM
- = sa
-ABC2 MEETEI MAYEK LETTER LAI
- = la
-ABC3 MEETEI MAYEK LETTER MIT
- = ma
-ABC4 MEETEI MAYEK LETTER PA
-ABC5 MEETEI MAYEK LETTER NA
-ABC6 MEETEI MAYEK LETTER CHIL
- = ca
-ABC7 MEETEI MAYEK LETTER TIL
- = ta
-ABC8 MEETEI MAYEK LETTER KHOU
- = kha
-ABC9 MEETEI MAYEK LETTER NGOU
- = nga
-ABCA MEETEI MAYEK LETTER THOU
- = tha
-ABCB MEETEI MAYEK LETTER WAI
- = wa
-ABCC MEETEI MAYEK LETTER YANG
- = ya
-ABCD MEETEI MAYEK LETTER HUK
- = ha
-ABCE MEETEI MAYEK LETTER UN
- = u
-ABCF MEETEI MAYEK LETTER I
-ABD0 MEETEI MAYEK LETTER PHAM
- = pha
-ABD1 MEETEI MAYEK LETTER ATIYA
- = a
-ABD2 MEETEI MAYEK LETTER GOK
- = ga
-ABD3 MEETEI MAYEK LETTER JHAM
- = jha
-ABD4 MEETEI MAYEK LETTER RAI
- = ra
-ABD5 MEETEI MAYEK LETTER BA
-ABD6 MEETEI MAYEK LETTER JIL
- = ja
-ABD7 MEETEI MAYEK LETTER DIL
- = da
-ABD8 MEETEI MAYEK LETTER GHOU
- = gha
-ABD9 MEETEI MAYEK LETTER DHOU
- = dha
-ABDA MEETEI MAYEK LETTER BHAM
- = bha
-@ Final consonants
-ABDB MEETEI MAYEK LETTER KOK LONSUM
- = k
-ABDC MEETEI MAYEK LETTER LAI LONSUM
- = l
-ABDD MEETEI MAYEK LETTER MIT LONSUM
- = m
-ABDE MEETEI MAYEK LETTER PA LONSUM
- = p
-ABDF MEETEI MAYEK LETTER NA LONSUM
- = n
-ABE0 MEETEI MAYEK LETTER TIL LONSUM
- = t
-ABE1 MEETEI MAYEK LETTER NGOU LONSUM
- = ng
-ABE2 MEETEI MAYEK LETTER I LONSUM
- = i
-@ Dependent vowel signs
-ABE3 MEETEI MAYEK VOWEL SIGN ONAP
- = o
-ABE4 MEETEI MAYEK VOWEL SIGN INAP
- = i
-ABE5 MEETEI MAYEK VOWEL SIGN ANAP
- = aa
-ABE6 MEETEI MAYEK VOWEL SIGN YENAP
- = e
-ABE7 MEETEI MAYEK VOWEL SIGN SOUNAP
- = ou
-ABE8 MEETEI MAYEK VOWEL SIGN UNAP
- = u
-ABE9 MEETEI MAYEK VOWEL SIGN CHEINAP
- = ei
-ABEA MEETEI MAYEK VOWEL SIGN NUNG
- = anusvara
-@ Punctuation
-ABEB MEETEI MAYEK CHEIKHEI
- = double danda
-ABEC MEETEI MAYEK LUM IYEK
- = heavy tone
-ABED MEETEI MAYEK APUN IYEK
- = killer
- x (myanmar sign asat - 103A)
-@ Digits
-ABF0 MEETEI MAYEK DIGIT ZERO
- = phun
-ABF1 MEETEI MAYEK DIGIT ONE
- = ama
-ABF2 MEETEI MAYEK DIGIT TWO
- = ani
-ABF3 MEETEI MAYEK DIGIT THREE
- = ahum
-ABF4 MEETEI MAYEK DIGIT FOUR
- = mari
-ABF5 MEETEI MAYEK DIGIT FIVE
- = manga
-ABF6 MEETEI MAYEK DIGIT SIX
- = taruk
-ABF7 MEETEI MAYEK DIGIT SEVEN
- = taret
-ABF8 MEETEI MAYEK DIGIT EIGHT
- = nipal
-ABF9 MEETEI MAYEK DIGIT NINE
- = mapal
-@@ AC00 Hangul Syllables D7A3
-@@ D7B0 Hangul Jamo Extended-B D7FF
-@ Medial vowels
-D7B0 HANGUL JUNGSEONG O-YEO
-D7B1 HANGUL JUNGSEONG O-O-I
-D7B2 HANGUL JUNGSEONG YO-A
-D7B3 HANGUL JUNGSEONG YO-AE
-D7B4 HANGUL JUNGSEONG YO-EO
-D7B5 HANGUL JUNGSEONG U-YEO
-D7B6 HANGUL JUNGSEONG U-I-I
-D7B7 HANGUL JUNGSEONG YU-AE
-D7B8 HANGUL JUNGSEONG YU-O
-D7B9 HANGUL JUNGSEONG EU-A
-D7BA HANGUL JUNGSEONG EU-EO
-D7BB HANGUL JUNGSEONG EU-E
-D7BC HANGUL JUNGSEONG EU-O
-D7BD HANGUL JUNGSEONG I-YA-O
-D7BE HANGUL JUNGSEONG I-YAE
-D7BF HANGUL JUNGSEONG I-YEO
-D7C0 HANGUL JUNGSEONG I-YE
-D7C1 HANGUL JUNGSEONG I-O-I
-D7C2 HANGUL JUNGSEONG I-YO
-D7C3 HANGUL JUNGSEONG I-YU
-D7C4 HANGUL JUNGSEONG I-I
-D7C5 HANGUL JUNGSEONG ARAEA-A
-D7C6 HANGUL JUNGSEONG ARAEA-E
-@ Final consonants
-D7CB HANGUL JONGSEONG NIEUN-RIEUL
-D7CC HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD HANGUL JONGSEONG SSANGTIKEUT
-D7CE HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0 HANGUL JONGSEONG TIKEUT-SIOS
-D7D1 HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2 HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3 HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4 HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5 HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6 HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7 HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8 HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9 HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE HANGUL JONGSEONG MIEUM-NIEUN
-D7DF HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0 HANGUL JONGSEONG SSANGMIEUM
-D7E1 HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2 HANGUL JONGSEONG MIEUM-CIEUC
-D7E3 HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4 HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5 HANGUL JONGSEONG PIEUP-MIEUM
-D7E6 HANGUL JONGSEONG SSANGPIEUP
-D7E7 HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8 HANGUL JONGSEONG PIEUP-CIEUC
-D7E9 HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA HANGUL JONGSEONG SIOS-MIEUM
-D7EB HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE HANGUL JONGSEONG SIOS-PANSIOS
-D7EF HANGUL JONGSEONG SIOS-CIEUC
-D7F0 HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1 HANGUL JONGSEONG SIOS-THIEUTH
-D7F2 HANGUL JONGSEONG SIOS-HIEUH
-D7F3 HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4 HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5 HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6 HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7 HANGUL JONGSEONG CIEUC-PIEUP
-D7F8 HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9 HANGUL JONGSEONG SSANGCIEUC
-D7FA HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB HANGUL JONGSEONG PHIEUPH-THIEUTH
-@@ D800 High Surrogates DB7F
-@@ DB80 High Private Use Surrogates DBFF
-@@ DC00 Low Surrogates DFFF
-@@ E000 Private Use Area F8FF
-@+ This range of 6400 code points is dedicated to private use.
-@@ F900 CJK Compatibility Ideographs FAFF
-@@+
-@ Pronunciation variants from KS X 1001:1998
-F900 CJK COMPATIBILITY IDEOGRAPH-F900
- : 8C48
-F901 CJK COMPATIBILITY IDEOGRAPH-F901
- : 66F4
-F902 CJK COMPATIBILITY IDEOGRAPH-F902
- : 8ECA
-F903 CJK COMPATIBILITY IDEOGRAPH-F903
- : 8CC8
-F904 CJK COMPATIBILITY IDEOGRAPH-F904
- : 6ED1
-F905 CJK COMPATIBILITY IDEOGRAPH-F905
- : 4E32
-F906 CJK COMPATIBILITY IDEOGRAPH-F906
- : 53E5
-F907 CJK COMPATIBILITY IDEOGRAPH-F907
- : 9F9C
-F908 CJK COMPATIBILITY IDEOGRAPH-F908
- : 9F9C
-F909 CJK COMPATIBILITY IDEOGRAPH-F909
- : 5951
-F90A CJK COMPATIBILITY IDEOGRAPH-F90A
- : 91D1
-F90B CJK COMPATIBILITY IDEOGRAPH-F90B
- : 5587
-F90C CJK COMPATIBILITY IDEOGRAPH-F90C
- : 5948
-F90D CJK COMPATIBILITY IDEOGRAPH-F90D
- : 61F6
-F90E CJK COMPATIBILITY IDEOGRAPH-F90E
- : 7669
-F90F CJK COMPATIBILITY IDEOGRAPH-F90F
- : 7F85
-F910 CJK COMPATIBILITY IDEOGRAPH-F910
- : 863F
-F911 CJK COMPATIBILITY IDEOGRAPH-F911
- : 87BA
-F912 CJK COMPATIBILITY IDEOGRAPH-F912
- : 88F8
-F913 CJK COMPATIBILITY IDEOGRAPH-F913
- : 908F
-F914 CJK COMPATIBILITY IDEOGRAPH-F914
- : 6A02
-F915 CJK COMPATIBILITY IDEOGRAPH-F915
- : 6D1B
-F916 CJK COMPATIBILITY IDEOGRAPH-F916
- : 70D9
-F917 CJK COMPATIBILITY IDEOGRAPH-F917
- : 73DE
-F918 CJK COMPATIBILITY IDEOGRAPH-F918
- : 843D
-F919 CJK COMPATIBILITY IDEOGRAPH-F919
- : 916A
-F91A CJK COMPATIBILITY IDEOGRAPH-F91A
- : 99F1
-F91B CJK COMPATIBILITY IDEOGRAPH-F91B
- : 4E82
-F91C CJK COMPATIBILITY IDEOGRAPH-F91C
- : 5375
-F91D CJK COMPATIBILITY IDEOGRAPH-F91D
- : 6B04
-F91E CJK COMPATIBILITY IDEOGRAPH-F91E
- : 721B
-F91F CJK COMPATIBILITY IDEOGRAPH-F91F
- : 862D
-F920 CJK COMPATIBILITY IDEOGRAPH-F920
- : 9E1E
-F921 CJK COMPATIBILITY IDEOGRAPH-F921
- : 5D50
-F922 CJK COMPATIBILITY IDEOGRAPH-F922
- : 6FEB
-F923 CJK COMPATIBILITY IDEOGRAPH-F923
- : 85CD
-F924 CJK COMPATIBILITY IDEOGRAPH-F924
- : 8964
-F925 CJK COMPATIBILITY IDEOGRAPH-F925
- : 62C9
-F926 CJK COMPATIBILITY IDEOGRAPH-F926
- : 81D8
-F927 CJK COMPATIBILITY IDEOGRAPH-F927
- : 881F
-F928 CJK COMPATIBILITY IDEOGRAPH-F928
- : 5ECA
-F929 CJK COMPATIBILITY IDEOGRAPH-F929
- : 6717
-F92A CJK COMPATIBILITY IDEOGRAPH-F92A
- : 6D6A
-F92B CJK COMPATIBILITY IDEOGRAPH-F92B
- : 72FC
-F92C CJK COMPATIBILITY IDEOGRAPH-F92C
- : 90CE
-F92D CJK COMPATIBILITY IDEOGRAPH-F92D
- : 4F86
-F92E CJK COMPATIBILITY IDEOGRAPH-F92E
- : 51B7
-F92F CJK COMPATIBILITY IDEOGRAPH-F92F
- : 52DE
-F930 CJK COMPATIBILITY IDEOGRAPH-F930
- : 64C4
-F931 CJK COMPATIBILITY IDEOGRAPH-F931
- : 6AD3
-F932 CJK COMPATIBILITY IDEOGRAPH-F932
- : 7210
-F933 CJK COMPATIBILITY IDEOGRAPH-F933
- : 76E7
-F934 CJK COMPATIBILITY IDEOGRAPH-F934
- : 8001
-F935 CJK COMPATIBILITY IDEOGRAPH-F935
- : 8606
-F936 CJK COMPATIBILITY IDEOGRAPH-F936
- : 865C
-F937 CJK COMPATIBILITY IDEOGRAPH-F937
- : 8DEF
-F938 CJK COMPATIBILITY IDEOGRAPH-F938
- : 9732
-F939 CJK COMPATIBILITY IDEOGRAPH-F939
- : 9B6F
-F93A CJK COMPATIBILITY IDEOGRAPH-F93A
- : 9DFA
-F93B CJK COMPATIBILITY IDEOGRAPH-F93B
- : 788C
-F93C CJK COMPATIBILITY IDEOGRAPH-F93C
- : 797F
-F93D CJK COMPATIBILITY IDEOGRAPH-F93D
- : 7DA0
-F93E CJK COMPATIBILITY IDEOGRAPH-F93E
- : 83C9
-F93F CJK COMPATIBILITY IDEOGRAPH-F93F
- : 9304
-F940 CJK COMPATIBILITY IDEOGRAPH-F940
- : 9E7F
-F941 CJK COMPATIBILITY IDEOGRAPH-F941
- : 8AD6
-F942 CJK COMPATIBILITY IDEOGRAPH-F942
- : 58DF
-F943 CJK COMPATIBILITY IDEOGRAPH-F943
- : 5F04
-F944 CJK COMPATIBILITY IDEOGRAPH-F944
- : 7C60
-F945 CJK COMPATIBILITY IDEOGRAPH-F945
- : 807E
-F946 CJK COMPATIBILITY IDEOGRAPH-F946
- : 7262
-F947 CJK COMPATIBILITY IDEOGRAPH-F947
- : 78CA
-F948 CJK COMPATIBILITY IDEOGRAPH-F948
- : 8CC2
-F949 CJK COMPATIBILITY IDEOGRAPH-F949
- : 96F7
-F94A CJK COMPATIBILITY IDEOGRAPH-F94A
- : 58D8
-F94B CJK COMPATIBILITY IDEOGRAPH-F94B
- : 5C62
-F94C CJK COMPATIBILITY IDEOGRAPH-F94C
- : 6A13
-F94D CJK COMPATIBILITY IDEOGRAPH-F94D
- : 6DDA
-F94E CJK COMPATIBILITY IDEOGRAPH-F94E
- : 6F0F
-F94F CJK COMPATIBILITY IDEOGRAPH-F94F
- : 7D2F
-F950 CJK COMPATIBILITY IDEOGRAPH-F950
- : 7E37
-F951 CJK COMPATIBILITY IDEOGRAPH-F951
- : 964B
-F952 CJK COMPATIBILITY IDEOGRAPH-F952
- : 52D2
-F953 CJK COMPATIBILITY IDEOGRAPH-F953
- : 808B
-F954 CJK COMPATIBILITY IDEOGRAPH-F954
- : 51DC
-F955 CJK COMPATIBILITY IDEOGRAPH-F955
- : 51CC
-F956 CJK COMPATIBILITY IDEOGRAPH-F956
- : 7A1C
-F957 CJK COMPATIBILITY IDEOGRAPH-F957
- : 7DBE
-F958 CJK COMPATIBILITY IDEOGRAPH-F958
- : 83F1
-F959 CJK COMPATIBILITY IDEOGRAPH-F959
- : 9675
-F95A CJK COMPATIBILITY IDEOGRAPH-F95A
- : 8B80
-F95B CJK COMPATIBILITY IDEOGRAPH-F95B
- : 62CF
-F95C CJK COMPATIBILITY IDEOGRAPH-F95C
- : 6A02
-F95D CJK COMPATIBILITY IDEOGRAPH-F95D
- : 8AFE
-F95E CJK COMPATIBILITY IDEOGRAPH-F95E
- : 4E39
-F95F CJK COMPATIBILITY IDEOGRAPH-F95F
- : 5BE7
-F960 CJK COMPATIBILITY IDEOGRAPH-F960
- : 6012
-F961 CJK COMPATIBILITY IDEOGRAPH-F961
- : 7387
-F962 CJK COMPATIBILITY IDEOGRAPH-F962
- : 7570
-F963 CJK COMPATIBILITY IDEOGRAPH-F963
- : 5317
-F964 CJK COMPATIBILITY IDEOGRAPH-F964
- : 78FB
-F965 CJK COMPATIBILITY IDEOGRAPH-F965
- : 4FBF
-F966 CJK COMPATIBILITY IDEOGRAPH-F966
- : 5FA9
-F967 CJK COMPATIBILITY IDEOGRAPH-F967
- : 4E0D
-F968 CJK COMPATIBILITY IDEOGRAPH-F968
- : 6CCC
-F969 CJK COMPATIBILITY IDEOGRAPH-F969
- : 6578
-F96A CJK COMPATIBILITY IDEOGRAPH-F96A
- : 7D22
-F96B CJK COMPATIBILITY IDEOGRAPH-F96B
- : 53C3
-F96C CJK COMPATIBILITY IDEOGRAPH-F96C
- : 585E
-F96D CJK COMPATIBILITY IDEOGRAPH-F96D
- : 7701
-F96E CJK COMPATIBILITY IDEOGRAPH-F96E
- : 8449
-F96F CJK COMPATIBILITY IDEOGRAPH-F96F
- : 8AAA
-F970 CJK COMPATIBILITY IDEOGRAPH-F970
- : 6BBA
-F971 CJK COMPATIBILITY IDEOGRAPH-F971
- : 8FB0
-F972 CJK COMPATIBILITY IDEOGRAPH-F972
- : 6C88
-F973 CJK COMPATIBILITY IDEOGRAPH-F973
- : 62FE
-F974 CJK COMPATIBILITY IDEOGRAPH-F974
- : 82E5
-F975 CJK COMPATIBILITY IDEOGRAPH-F975
- : 63A0
-F976 CJK COMPATIBILITY IDEOGRAPH-F976
- : 7565
-F977 CJK COMPATIBILITY IDEOGRAPH-F977
- : 4EAE
-F978 CJK COMPATIBILITY IDEOGRAPH-F978
- : 5169
-F979 CJK COMPATIBILITY IDEOGRAPH-F979
- : 51C9
-F97A CJK COMPATIBILITY IDEOGRAPH-F97A
- : 6881
-F97B CJK COMPATIBILITY IDEOGRAPH-F97B
- : 7CE7
-F97C CJK COMPATIBILITY IDEOGRAPH-F97C
- : 826F
-F97D CJK COMPATIBILITY IDEOGRAPH-F97D
- : 8AD2
-F97E CJK COMPATIBILITY IDEOGRAPH-F97E
- : 91CF
-F97F CJK COMPATIBILITY IDEOGRAPH-F97F
- : 52F5
-F980 CJK COMPATIBILITY IDEOGRAPH-F980
- : 5442
-F981 CJK COMPATIBILITY IDEOGRAPH-F981
- : 5973
-F982 CJK COMPATIBILITY IDEOGRAPH-F982
- : 5EEC
-F983 CJK COMPATIBILITY IDEOGRAPH-F983
- : 65C5
-F984 CJK COMPATIBILITY IDEOGRAPH-F984
- : 6FFE
-F985 CJK COMPATIBILITY IDEOGRAPH-F985
- : 792A
-F986 CJK COMPATIBILITY IDEOGRAPH-F986
- : 95AD
-F987 CJK COMPATIBILITY IDEOGRAPH-F987
- : 9A6A
-F988 CJK COMPATIBILITY IDEOGRAPH-F988
- : 9E97
-F989 CJK COMPATIBILITY IDEOGRAPH-F989
- : 9ECE
-F98A CJK COMPATIBILITY IDEOGRAPH-F98A
- : 529B
-F98B CJK COMPATIBILITY IDEOGRAPH-F98B
- : 66C6
-F98C CJK COMPATIBILITY IDEOGRAPH-F98C
- : 6B77
-F98D CJK COMPATIBILITY IDEOGRAPH-F98D
- : 8F62
-F98E CJK COMPATIBILITY IDEOGRAPH-F98E
- : 5E74
-F98F CJK COMPATIBILITY IDEOGRAPH-F98F
- : 6190
-F990 CJK COMPATIBILITY IDEOGRAPH-F990
- : 6200
-F991 CJK COMPATIBILITY IDEOGRAPH-F991
- : 649A
-F992 CJK COMPATIBILITY IDEOGRAPH-F992
- : 6F23
-F993 CJK COMPATIBILITY IDEOGRAPH-F993
- : 7149
-F994 CJK COMPATIBILITY IDEOGRAPH-F994
- : 7489
-F995 CJK COMPATIBILITY IDEOGRAPH-F995
- : 79CA
-F996 CJK COMPATIBILITY IDEOGRAPH-F996
- : 7DF4
-F997 CJK COMPATIBILITY IDEOGRAPH-F997
- : 806F
-F998 CJK COMPATIBILITY IDEOGRAPH-F998
- : 8F26
-F999 CJK COMPATIBILITY IDEOGRAPH-F999
- : 84EE
-F99A CJK COMPATIBILITY IDEOGRAPH-F99A
- : 9023
-F99B CJK COMPATIBILITY IDEOGRAPH-F99B
- : 934A
-F99C CJK COMPATIBILITY IDEOGRAPH-F99C
- : 5217
-F99D CJK COMPATIBILITY IDEOGRAPH-F99D
- : 52A3
-F99E CJK COMPATIBILITY IDEOGRAPH-F99E
- : 54BD
-F99F CJK COMPATIBILITY IDEOGRAPH-F99F
- : 70C8
-F9A0 CJK COMPATIBILITY IDEOGRAPH-F9A0
- : 88C2
-F9A1 CJK COMPATIBILITY IDEOGRAPH-F9A1
- : 8AAA
-F9A2 CJK COMPATIBILITY IDEOGRAPH-F9A2
- : 5EC9
-F9A3 CJK COMPATIBILITY IDEOGRAPH-F9A3
- : 5FF5
-F9A4 CJK COMPATIBILITY IDEOGRAPH-F9A4
- : 637B
-F9A5 CJK COMPATIBILITY IDEOGRAPH-F9A5
- : 6BAE
-F9A6 CJK COMPATIBILITY IDEOGRAPH-F9A6
- : 7C3E
-F9A7 CJK COMPATIBILITY IDEOGRAPH-F9A7
- : 7375
-F9A8 CJK COMPATIBILITY IDEOGRAPH-F9A8
- : 4EE4
-F9A9 CJK COMPATIBILITY IDEOGRAPH-F9A9
- : 56F9
-F9AA CJK COMPATIBILITY IDEOGRAPH-F9AA
- : 5BE7
-F9AB CJK COMPATIBILITY IDEOGRAPH-F9AB
- : 5DBA
-F9AC CJK COMPATIBILITY IDEOGRAPH-F9AC
- : 601C
-F9AD CJK COMPATIBILITY IDEOGRAPH-F9AD
- : 73B2
-F9AE CJK COMPATIBILITY IDEOGRAPH-F9AE
- : 7469
-F9AF CJK COMPATIBILITY IDEOGRAPH-F9AF
- : 7F9A
-F9B0 CJK COMPATIBILITY IDEOGRAPH-F9B0
- : 8046
-F9B1 CJK COMPATIBILITY IDEOGRAPH-F9B1
- : 9234
-F9B2 CJK COMPATIBILITY IDEOGRAPH-F9B2
- : 96F6
-F9B3 CJK COMPATIBILITY IDEOGRAPH-F9B3
- : 9748
-F9B4 CJK COMPATIBILITY IDEOGRAPH-F9B4
- : 9818
-F9B5 CJK COMPATIBILITY IDEOGRAPH-F9B5
- : 4F8B
-F9B6 CJK COMPATIBILITY IDEOGRAPH-F9B6
- : 79AE
-F9B7 CJK COMPATIBILITY IDEOGRAPH-F9B7
- : 91B4
-F9B8 CJK COMPATIBILITY IDEOGRAPH-F9B8
- x (cjk unified ideograph-96B7 - 96B7)
- : 96B8
-F9B9 CJK COMPATIBILITY IDEOGRAPH-F9B9
- : 60E1
-F9BA CJK COMPATIBILITY IDEOGRAPH-F9BA
- : 4E86
-F9BB CJK COMPATIBILITY IDEOGRAPH-F9BB
- : 50DA
-F9BC CJK COMPATIBILITY IDEOGRAPH-F9BC
- : 5BEE
-F9BD CJK COMPATIBILITY IDEOGRAPH-F9BD
- : 5C3F
-F9BE CJK COMPATIBILITY IDEOGRAPH-F9BE
- : 6599
-F9BF CJK COMPATIBILITY IDEOGRAPH-F9BF
- : 6A02
-F9C0 CJK COMPATIBILITY IDEOGRAPH-F9C0
- : 71CE
-F9C1 CJK COMPATIBILITY IDEOGRAPH-F9C1
- : 7642
-F9C2 CJK COMPATIBILITY IDEOGRAPH-F9C2
- : 84FC
-F9C3 CJK COMPATIBILITY IDEOGRAPH-F9C3
- : 907C
-F9C4 CJK COMPATIBILITY IDEOGRAPH-F9C4
- : 9F8D
-F9C5 CJK COMPATIBILITY IDEOGRAPH-F9C5
- : 6688
-F9C6 CJK COMPATIBILITY IDEOGRAPH-F9C6
- : 962E
-F9C7 CJK COMPATIBILITY IDEOGRAPH-F9C7
- : 5289
-F9C8 CJK COMPATIBILITY IDEOGRAPH-F9C8
- : 677B
-F9C9 CJK COMPATIBILITY IDEOGRAPH-F9C9
- : 67F3
-F9CA CJK COMPATIBILITY IDEOGRAPH-F9CA
- : 6D41
-F9CB CJK COMPATIBILITY IDEOGRAPH-F9CB
- : 6E9C
-F9CC CJK COMPATIBILITY IDEOGRAPH-F9CC
- : 7409
-F9CD CJK COMPATIBILITY IDEOGRAPH-F9CD
- : 7559
-F9CE CJK COMPATIBILITY IDEOGRAPH-F9CE
- : 786B
-F9CF CJK COMPATIBILITY IDEOGRAPH-F9CF
- : 7D10
-F9D0 CJK COMPATIBILITY IDEOGRAPH-F9D0
- : 985E
-F9D1 CJK COMPATIBILITY IDEOGRAPH-F9D1
- : 516D
-F9D2 CJK COMPATIBILITY IDEOGRAPH-F9D2
- : 622E
-F9D3 CJK COMPATIBILITY IDEOGRAPH-F9D3
- : 9678
-F9D4 CJK COMPATIBILITY IDEOGRAPH-F9D4
- : 502B
-F9D5 CJK COMPATIBILITY IDEOGRAPH-F9D5
- : 5D19
-F9D6 CJK COMPATIBILITY IDEOGRAPH-F9D6
- : 6DEA
-F9D7 CJK COMPATIBILITY IDEOGRAPH-F9D7
- : 8F2A
-F9D8 CJK COMPATIBILITY IDEOGRAPH-F9D8
- : 5F8B
-F9D9 CJK COMPATIBILITY IDEOGRAPH-F9D9
- : 6144
-F9DA CJK COMPATIBILITY IDEOGRAPH-F9DA
- : 6817
-F9DB CJK COMPATIBILITY IDEOGRAPH-F9DB
- : 7387
-F9DC CJK COMPATIBILITY IDEOGRAPH-F9DC
- : 9686
-F9DD CJK COMPATIBILITY IDEOGRAPH-F9DD
- : 5229
-F9DE CJK COMPATIBILITY IDEOGRAPH-F9DE
- : 540F
-F9DF CJK COMPATIBILITY IDEOGRAPH-F9DF
- : 5C65
-F9E0 CJK COMPATIBILITY IDEOGRAPH-F9E0
- : 6613
-F9E1 CJK COMPATIBILITY IDEOGRAPH-F9E1
- : 674E
-F9E2 CJK COMPATIBILITY IDEOGRAPH-F9E2
- : 68A8
-F9E3 CJK COMPATIBILITY IDEOGRAPH-F9E3
- : 6CE5
-F9E4 CJK COMPATIBILITY IDEOGRAPH-F9E4
- : 7406
-F9E5 CJK COMPATIBILITY IDEOGRAPH-F9E5
- : 75E2
-F9E6 CJK COMPATIBILITY IDEOGRAPH-F9E6
- : 7F79
-F9E7 CJK COMPATIBILITY IDEOGRAPH-F9E7
- : 88CF
-F9E8 CJK COMPATIBILITY IDEOGRAPH-F9E8
- : 88E1
-F9E9 CJK COMPATIBILITY IDEOGRAPH-F9E9
- : 91CC
-F9EA CJK COMPATIBILITY IDEOGRAPH-F9EA
- : 96E2
-F9EB CJK COMPATIBILITY IDEOGRAPH-F9EB
- : 533F
-F9EC CJK COMPATIBILITY IDEOGRAPH-F9EC
- : 6EBA
-F9ED CJK COMPATIBILITY IDEOGRAPH-F9ED
- : 541D
-F9EE CJK COMPATIBILITY IDEOGRAPH-F9EE
- : 71D0
-F9EF CJK COMPATIBILITY IDEOGRAPH-F9EF
- : 7498
-F9F0 CJK COMPATIBILITY IDEOGRAPH-F9F0
- : 85FA
-F9F1 CJK COMPATIBILITY IDEOGRAPH-F9F1
- : 96A3
-F9F2 CJK COMPATIBILITY IDEOGRAPH-F9F2
- : 9C57
-F9F3 CJK COMPATIBILITY IDEOGRAPH-F9F3
- : 9E9F
-F9F4 CJK COMPATIBILITY IDEOGRAPH-F9F4
- : 6797
-F9F5 CJK COMPATIBILITY IDEOGRAPH-F9F5
- : 6DCB
-F9F6 CJK COMPATIBILITY IDEOGRAPH-F9F6
- : 81E8
-F9F7 CJK COMPATIBILITY IDEOGRAPH-F9F7
- : 7ACB
-F9F8 CJK COMPATIBILITY IDEOGRAPH-F9F8
- : 7B20
-F9F9 CJK COMPATIBILITY IDEOGRAPH-F9F9
- : 7C92
-F9FA CJK COMPATIBILITY IDEOGRAPH-F9FA
- : 72C0
-F9FB CJK COMPATIBILITY IDEOGRAPH-F9FB
- : 7099
-F9FC CJK COMPATIBILITY IDEOGRAPH-F9FC
- : 8B58
-F9FD CJK COMPATIBILITY IDEOGRAPH-F9FD
- : 4EC0
-F9FE CJK COMPATIBILITY IDEOGRAPH-F9FE
- : 8336
-F9FF CJK COMPATIBILITY IDEOGRAPH-F9FF
- : 523A
-FA00 CJK COMPATIBILITY IDEOGRAPH-FA00
- : 5207
-FA01 CJK COMPATIBILITY IDEOGRAPH-FA01
- : 5EA6
-FA02 CJK COMPATIBILITY IDEOGRAPH-FA02
- : 62D3
-FA03 CJK COMPATIBILITY IDEOGRAPH-FA03
- : 7CD6
-FA04 CJK COMPATIBILITY IDEOGRAPH-FA04
- : 5B85
-FA05 CJK COMPATIBILITY IDEOGRAPH-FA05
- : 6D1E
-FA06 CJK COMPATIBILITY IDEOGRAPH-FA06
- : 66B4
-FA07 CJK COMPATIBILITY IDEOGRAPH-FA07
- : 8F3B
-FA08 CJK COMPATIBILITY IDEOGRAPH-FA08
- : 884C
-FA09 CJK COMPATIBILITY IDEOGRAPH-FA09
- : 964D
-FA0A CJK COMPATIBILITY IDEOGRAPH-FA0A
- : 898B
-FA0B CJK COMPATIBILITY IDEOGRAPH-FA0B
- : 5ED3
-@ Duplicate characters from Big 5
-FA0C CJK COMPATIBILITY IDEOGRAPH-FA0C
- : 5140
-FA0D CJK COMPATIBILITY IDEOGRAPH-FA0D
- : 55C0
-@ The IBM 32 compatibility ideographs
-FA0E CJK COMPATIBILITY IDEOGRAPH-FA0E
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA0F CJK COMPATIBILITY IDEOGRAPH-FA0F
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA10 CJK COMPATIBILITY IDEOGRAPH-FA10
- : 585A
-FA11 CJK COMPATIBILITY IDEOGRAPH-FA11
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA12 CJK COMPATIBILITY IDEOGRAPH-FA12
- : 6674
-FA13 CJK COMPATIBILITY IDEOGRAPH-FA13
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA14 CJK COMPATIBILITY IDEOGRAPH-FA14
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA15 CJK COMPATIBILITY IDEOGRAPH-FA15
- : 51DE
-FA16 CJK COMPATIBILITY IDEOGRAPH-FA16
- : 732A
-FA17 CJK COMPATIBILITY IDEOGRAPH-FA17
- : 76CA
-FA18 CJK COMPATIBILITY IDEOGRAPH-FA18
- : 793C
-FA19 CJK COMPATIBILITY IDEOGRAPH-FA19
- : 795E
-FA1A CJK COMPATIBILITY IDEOGRAPH-FA1A
- : 7965
-FA1B CJK COMPATIBILITY IDEOGRAPH-FA1B
- : 798F
-FA1C CJK COMPATIBILITY IDEOGRAPH-FA1C
- : 9756
-FA1D CJK COMPATIBILITY IDEOGRAPH-FA1D
- : 7CBE
-FA1E CJK COMPATIBILITY IDEOGRAPH-FA1E
- : 7FBD
-FA1F CJK COMPATIBILITY IDEOGRAPH-FA1F
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA20 CJK COMPATIBILITY IDEOGRAPH-FA20
- : 8612
-FA21 CJK COMPATIBILITY IDEOGRAPH-FA21
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA22 CJK COMPATIBILITY IDEOGRAPH-FA22
- : 8AF8
-FA23 CJK COMPATIBILITY IDEOGRAPH-FA23
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA24 CJK COMPATIBILITY IDEOGRAPH-FA24
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA25 CJK COMPATIBILITY IDEOGRAPH-FA25
- : 9038
-FA26 CJK COMPATIBILITY IDEOGRAPH-FA26
- : 90FD
-FA27 CJK COMPATIBILITY IDEOGRAPH-FA27
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA28 CJK COMPATIBILITY IDEOGRAPH-FA28
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA29 CJK COMPATIBILITY IDEOGRAPH-FA29
- * a unified CJK ideograph, not a compatibility ideograph, despite its name
-FA2A CJK COMPATIBILITY IDEOGRAPH-FA2A
- : 98EF
-FA2B CJK COMPATIBILITY IDEOGRAPH-FA2B
- : 98FC
-FA2C CJK COMPATIBILITY IDEOGRAPH-FA2C
- : 9928
-FA2D CJK COMPATIBILITY IDEOGRAPH-FA2D
- : 9DB4
-@ JIS X 0213 compatibility ideographs
-FA30 CJK COMPATIBILITY IDEOGRAPH-FA30
- : 4FAE
-FA31 CJK COMPATIBILITY IDEOGRAPH-FA31
- : 50E7
-FA32 CJK COMPATIBILITY IDEOGRAPH-FA32
- : 514D
-FA33 CJK COMPATIBILITY IDEOGRAPH-FA33
- : 52C9
-FA34 CJK COMPATIBILITY IDEOGRAPH-FA34
- : 52E4
-FA35 CJK COMPATIBILITY IDEOGRAPH-FA35
- : 5351
-FA36 CJK COMPATIBILITY IDEOGRAPH-FA36
- : 559D
-FA37 CJK COMPATIBILITY IDEOGRAPH-FA37
- : 5606
-FA38 CJK COMPATIBILITY IDEOGRAPH-FA38
- : 5668
-FA39 CJK COMPATIBILITY IDEOGRAPH-FA39
- : 5840
-FA3A CJK COMPATIBILITY IDEOGRAPH-FA3A
- : 58A8
-FA3B CJK COMPATIBILITY IDEOGRAPH-FA3B
- : 5C64
-FA3C CJK COMPATIBILITY IDEOGRAPH-FA3C
- : 5C6E
-FA3D CJK COMPATIBILITY IDEOGRAPH-FA3D
- : 6094
-FA3E CJK COMPATIBILITY IDEOGRAPH-FA3E
- : 6168
-FA3F CJK COMPATIBILITY IDEOGRAPH-FA3F
- : 618E
-FA40 CJK COMPATIBILITY IDEOGRAPH-FA40
- : 61F2
-FA41 CJK COMPATIBILITY IDEOGRAPH-FA41
- : 654F
-FA42 CJK COMPATIBILITY IDEOGRAPH-FA42
- : 65E2
-FA43 CJK COMPATIBILITY IDEOGRAPH-FA43
- : 6691
-FA44 CJK COMPATIBILITY IDEOGRAPH-FA44
- : 6885
-FA45 CJK COMPATIBILITY IDEOGRAPH-FA45
- : 6D77
-FA46 CJK COMPATIBILITY IDEOGRAPH-FA46
- : 6E1A
-FA47 CJK COMPATIBILITY IDEOGRAPH-FA47
- : 6F22
-FA48 CJK COMPATIBILITY IDEOGRAPH-FA48
- : 716E
-FA49 CJK COMPATIBILITY IDEOGRAPH-FA49
- : 722B
-FA4A CJK COMPATIBILITY IDEOGRAPH-FA4A
- : 7422
-FA4B CJK COMPATIBILITY IDEOGRAPH-FA4B
- : 7891
-FA4C CJK COMPATIBILITY IDEOGRAPH-FA4C
- : 793E
-FA4D CJK COMPATIBILITY IDEOGRAPH-FA4D
- : 7949
-FA4E CJK COMPATIBILITY IDEOGRAPH-FA4E
- : 7948
-FA4F CJK COMPATIBILITY IDEOGRAPH-FA4F
- : 7950
-FA50 CJK COMPATIBILITY IDEOGRAPH-FA50
- : 7956
-FA51 CJK COMPATIBILITY IDEOGRAPH-FA51
- : 795D
-FA52 CJK COMPATIBILITY IDEOGRAPH-FA52
- : 798D
-FA53 CJK COMPATIBILITY IDEOGRAPH-FA53
- : 798E
-FA54 CJK COMPATIBILITY IDEOGRAPH-FA54
- : 7A40
-FA55 CJK COMPATIBILITY IDEOGRAPH-FA55
- : 7A81
-FA56 CJK COMPATIBILITY IDEOGRAPH-FA56
- : 7BC0
-FA57 CJK COMPATIBILITY IDEOGRAPH-FA57
- : 7DF4
-FA58 CJK COMPATIBILITY IDEOGRAPH-FA58
- : 7E09
-FA59 CJK COMPATIBILITY IDEOGRAPH-FA59
- : 7E41
-FA5A CJK COMPATIBILITY IDEOGRAPH-FA5A
- : 7F72
-FA5B CJK COMPATIBILITY IDEOGRAPH-FA5B
- : 8005
-FA5C CJK COMPATIBILITY IDEOGRAPH-FA5C
- : 81ED
-FA5D CJK COMPATIBILITY IDEOGRAPH-FA5D
- : 8279
-FA5E CJK COMPATIBILITY IDEOGRAPH-FA5E
- : 8279
-FA5F CJK COMPATIBILITY IDEOGRAPH-FA5F
- : 8457
-FA60 CJK COMPATIBILITY IDEOGRAPH-FA60
- : 8910
-FA61 CJK COMPATIBILITY IDEOGRAPH-FA61
- : 8996
-FA62 CJK COMPATIBILITY IDEOGRAPH-FA62
- : 8B01
-FA63 CJK COMPATIBILITY IDEOGRAPH-FA63
- : 8B39
-FA64 CJK COMPATIBILITY IDEOGRAPH-FA64
- : 8CD3
-FA65 CJK COMPATIBILITY IDEOGRAPH-FA65
- : 8D08
-FA66 CJK COMPATIBILITY IDEOGRAPH-FA66
- : 8FB6
-FA67 CJK COMPATIBILITY IDEOGRAPH-FA67
- : 9038
-FA68 CJK COMPATIBILITY IDEOGRAPH-FA68
- : 96E3
-FA69 CJK COMPATIBILITY IDEOGRAPH-FA69
- : 97FF
-FA6A CJK COMPATIBILITY IDEOGRAPH-FA6A
- : 983B
-@ ARIB compatibility ideographs
-FA6B CJK COMPATIBILITY IDEOGRAPH-FA6B
- : 6075
-FA6C CJK COMPATIBILITY IDEOGRAPH-FA6C
- : 242EE
-FA6D CJK COMPATIBILITY IDEOGRAPH-FA6D
- : 8218
-@ DPRK compatibility ideographs
-FA70 CJK COMPATIBILITY IDEOGRAPH-FA70
- : 4E26
-FA71 CJK COMPATIBILITY IDEOGRAPH-FA71
- : 51B5
-FA72 CJK COMPATIBILITY IDEOGRAPH-FA72
- : 5168
-FA73 CJK COMPATIBILITY IDEOGRAPH-FA73
- : 4F80
-FA74 CJK COMPATIBILITY IDEOGRAPH-FA74
- : 5145
-FA75 CJK COMPATIBILITY IDEOGRAPH-FA75
- : 5180
-FA76 CJK COMPATIBILITY IDEOGRAPH-FA76
- : 52C7
-FA77 CJK COMPATIBILITY IDEOGRAPH-FA77
- : 52FA
-FA78 CJK COMPATIBILITY IDEOGRAPH-FA78
- : 559D
-FA79 CJK COMPATIBILITY IDEOGRAPH-FA79
- : 5555
-FA7A CJK COMPATIBILITY IDEOGRAPH-FA7A
- : 5599
-FA7B CJK COMPATIBILITY IDEOGRAPH-FA7B
- : 55E2
-FA7C CJK COMPATIBILITY IDEOGRAPH-FA7C
- : 585A
-FA7D CJK COMPATIBILITY IDEOGRAPH-FA7D
- : 58B3
-FA7E CJK COMPATIBILITY IDEOGRAPH-FA7E
- : 5944
-FA7F CJK COMPATIBILITY IDEOGRAPH-FA7F
- : 5954
-FA80 CJK COMPATIBILITY IDEOGRAPH-FA80
- : 5A62
-FA81 CJK COMPATIBILITY IDEOGRAPH-FA81
- : 5B28
-FA82 CJK COMPATIBILITY IDEOGRAPH-FA82
- : 5ED2
-FA83 CJK COMPATIBILITY IDEOGRAPH-FA83
- : 5ED9
-FA84 CJK COMPATIBILITY IDEOGRAPH-FA84
- : 5F69
-FA85 CJK COMPATIBILITY IDEOGRAPH-FA85
- : 5FAD
-FA86 CJK COMPATIBILITY IDEOGRAPH-FA86
- : 60D8
-FA87 CJK COMPATIBILITY IDEOGRAPH-FA87
- : 614E
-FA88 CJK COMPATIBILITY IDEOGRAPH-FA88
- : 6108
-FA89 CJK COMPATIBILITY IDEOGRAPH-FA89
- : 618E
-FA8A CJK COMPATIBILITY IDEOGRAPH-FA8A
- : 6160
-FA8B CJK COMPATIBILITY IDEOGRAPH-FA8B
- : 61F2
-FA8C CJK COMPATIBILITY IDEOGRAPH-FA8C
- : 6234
-FA8D CJK COMPATIBILITY IDEOGRAPH-FA8D
- : 63C4
-FA8E CJK COMPATIBILITY IDEOGRAPH-FA8E
- : 641C
-FA8F CJK COMPATIBILITY IDEOGRAPH-FA8F
- : 6452
-FA90 CJK COMPATIBILITY IDEOGRAPH-FA90
- : 6556
-FA91 CJK COMPATIBILITY IDEOGRAPH-FA91
- : 6674
-FA92 CJK COMPATIBILITY IDEOGRAPH-FA92
- : 6717
-FA93 CJK COMPATIBILITY IDEOGRAPH-FA93
- : 671B
-FA94 CJK COMPATIBILITY IDEOGRAPH-FA94
- : 6756
-FA95 CJK COMPATIBILITY IDEOGRAPH-FA95
- : 6B79
-FA96 CJK COMPATIBILITY IDEOGRAPH-FA96
- : 6BBA
-FA97 CJK COMPATIBILITY IDEOGRAPH-FA97
- : 6D41
-FA98 CJK COMPATIBILITY IDEOGRAPH-FA98
- : 6EDB
-FA99 CJK COMPATIBILITY IDEOGRAPH-FA99
- : 6ECB
-FA9A CJK COMPATIBILITY IDEOGRAPH-FA9A
- : 6F22
-FA9B CJK COMPATIBILITY IDEOGRAPH-FA9B
- : 701E
-FA9C CJK COMPATIBILITY IDEOGRAPH-FA9C
- : 716E
-FA9D CJK COMPATIBILITY IDEOGRAPH-FA9D
- : 77A7
-FA9E CJK COMPATIBILITY IDEOGRAPH-FA9E
- : 7235
-FA9F CJK COMPATIBILITY IDEOGRAPH-FA9F
- : 72AF
-FAA0 CJK COMPATIBILITY IDEOGRAPH-FAA0
- : 732A
-FAA1 CJK COMPATIBILITY IDEOGRAPH-FAA1
- : 7471
-FAA2 CJK COMPATIBILITY IDEOGRAPH-FAA2
- : 7506
-FAA3 CJK COMPATIBILITY IDEOGRAPH-FAA3
- : 753B
-FAA4 CJK COMPATIBILITY IDEOGRAPH-FAA4
- : 761D
-FAA5 CJK COMPATIBILITY IDEOGRAPH-FAA5
- : 761F
-FAA6 CJK COMPATIBILITY IDEOGRAPH-FAA6
- : 76CA
-FAA7 CJK COMPATIBILITY IDEOGRAPH-FAA7
- : 76DB
-FAA8 CJK COMPATIBILITY IDEOGRAPH-FAA8
- : 76F4
-FAA9 CJK COMPATIBILITY IDEOGRAPH-FAA9
- : 774A
-FAAA CJK COMPATIBILITY IDEOGRAPH-FAAA
- : 7740
-FAAB CJK COMPATIBILITY IDEOGRAPH-FAAB
- : 78CC
-FAAC CJK COMPATIBILITY IDEOGRAPH-FAAC
- : 7AB1
-FAAD CJK COMPATIBILITY IDEOGRAPH-FAAD
- : 7BC0
-FAAE CJK COMPATIBILITY IDEOGRAPH-FAAE
- : 7C7B
-FAAF CJK COMPATIBILITY IDEOGRAPH-FAAF
- : 7D5B
-FAB0 CJK COMPATIBILITY IDEOGRAPH-FAB0
- : 7DF4
-FAB1 CJK COMPATIBILITY IDEOGRAPH-FAB1
- : 7F3E
-FAB2 CJK COMPATIBILITY IDEOGRAPH-FAB2
- : 8005
-FAB3 CJK COMPATIBILITY IDEOGRAPH-FAB3
- : 8352
-FAB4 CJK COMPATIBILITY IDEOGRAPH-FAB4
- : 83EF
-FAB5 CJK COMPATIBILITY IDEOGRAPH-FAB5
- : 8779
-FAB6 CJK COMPATIBILITY IDEOGRAPH-FAB6
- : 8941
-FAB7 CJK COMPATIBILITY IDEOGRAPH-FAB7
- : 8986
-FAB8 CJK COMPATIBILITY IDEOGRAPH-FAB8
- : 8996
-FAB9 CJK COMPATIBILITY IDEOGRAPH-FAB9
- : 8ABF
-FABA CJK COMPATIBILITY IDEOGRAPH-FABA
- : 8AF8
-FABB CJK COMPATIBILITY IDEOGRAPH-FABB
- : 8ACB
-FABC CJK COMPATIBILITY IDEOGRAPH-FABC
- : 8B01
-FABD CJK COMPATIBILITY IDEOGRAPH-FABD
- : 8AFE
-FABE CJK COMPATIBILITY IDEOGRAPH-FABE
- : 8AED
-FABF CJK COMPATIBILITY IDEOGRAPH-FABF
- : 8B39
-FAC0 CJK COMPATIBILITY IDEOGRAPH-FAC0
- : 8B8A
-FAC1 CJK COMPATIBILITY IDEOGRAPH-FAC1
- : 8D08
-FAC2 CJK COMPATIBILITY IDEOGRAPH-FAC2
- : 8F38
-FAC3 CJK COMPATIBILITY IDEOGRAPH-FAC3
- : 9072
-FAC4 CJK COMPATIBILITY IDEOGRAPH-FAC4
- : 9199
-FAC5 CJK COMPATIBILITY IDEOGRAPH-FAC5
- : 9276
-FAC6 CJK COMPATIBILITY IDEOGRAPH-FAC6
- : 967C
-FAC7 CJK COMPATIBILITY IDEOGRAPH-FAC7
- : 96E3
-FAC8 CJK COMPATIBILITY IDEOGRAPH-FAC8
- : 9756
-FAC9 CJK COMPATIBILITY IDEOGRAPH-FAC9
- : 97DB
-FACA CJK COMPATIBILITY IDEOGRAPH-FACA
- : 97FF
-FACB CJK COMPATIBILITY IDEOGRAPH-FACB
- : 980B
-FACC CJK COMPATIBILITY IDEOGRAPH-FACC
- : 983B
-FACD CJK COMPATIBILITY IDEOGRAPH-FACD
- : 9B12
-FACE CJK COMPATIBILITY IDEOGRAPH-FACE
- : 9F9C
-FACF CJK COMPATIBILITY IDEOGRAPH-FACF
- : 2284A
-FAD0 CJK COMPATIBILITY IDEOGRAPH-FAD0
- : 22844
-FAD1 CJK COMPATIBILITY IDEOGRAPH-FAD1
- : 233D5
-FAD2 CJK COMPATIBILITY IDEOGRAPH-FAD2
- : 3B9D
-FAD3 CJK COMPATIBILITY IDEOGRAPH-FAD3
- : 4018
-FAD4 CJK COMPATIBILITY IDEOGRAPH-FAD4
- : 4039
-FAD5 CJK COMPATIBILITY IDEOGRAPH-FAD5
- : 25249
-FAD6 CJK COMPATIBILITY IDEOGRAPH-FAD6
- : 25CD0
-FAD7 CJK COMPATIBILITY IDEOGRAPH-FAD7
- : 27ED3
-FAD8 CJK COMPATIBILITY IDEOGRAPH-FAD8
- : 9F43
-FAD9 CJK COMPATIBILITY IDEOGRAPH-FAD9
- : 9F8E
-@@ FB00 Alphabetic Presentation Forms FB4F
-@ Latin ligatures
-@+ See the Basic Latin block starting at 0020
-FB00 LATIN SMALL LIGATURE FF
- # 0066 0066
-FB01 LATIN SMALL LIGATURE FI
- # 0066 0069
-FB02 LATIN SMALL LIGATURE FL
- # 0066 006C
-FB03 LATIN SMALL LIGATURE FFI
- # 0066 0066 0069
-FB04 LATIN SMALL LIGATURE FFL
- # 0066 0066 006C
-FB05 LATIN SMALL LIGATURE LONG S T
- # 017F 0074
-FB06 LATIN SMALL LIGATURE ST
- # 0073 0074
-@ Armenian ligatures
-@+ See the Armenian block starting at 0530
-FB13 ARMENIAN SMALL LIGATURE MEN NOW
- # 0574 0576
-FB14 ARMENIAN SMALL LIGATURE MEN ECH
- # 0574 0565
-FB15 ARMENIAN SMALL LIGATURE MEN INI
- # 0574 056B
-FB16 ARMENIAN SMALL LIGATURE VEW NOW
- # 057E 0576
-FB17 ARMENIAN SMALL LIGATURE MEN XEH
- # 0574 056D
-@ Hebrew presentation forms
-@+ See the Hebrew block starting at 0590
-FB1D HEBREW LETTER YOD WITH HIRIQ
- : 05D9 05B4
-FB1E HEBREW POINT JUDEO-SPANISH VARIKA
- * a glyph variant of 05BF
-FB1F HEBREW LIGATURE YIDDISH YOD YOD PATAH
- : 05F2 05B7
-FB20 HEBREW LETTER ALTERNATIVE AYIN
- * this form of AYIN has no descender, for use with marks placed below the letter
- # <font> 05E2 hebrew letter ayin
-FB21 HEBREW LETTER WIDE ALEF
- # <font> 05D0 hebrew letter alef
-FB22 HEBREW LETTER WIDE DALET
- # <font> 05D3 hebrew letter dalet
-FB23 HEBREW LETTER WIDE HE
- # <font> 05D4 hebrew letter he
-FB24 HEBREW LETTER WIDE KAF
- # <font> 05DB hebrew letter kaf
-FB25 HEBREW LETTER WIDE LAMED
- # <font> 05DC hebrew letter lamed
-FB26 HEBREW LETTER WIDE FINAL MEM
- # <font> 05DD hebrew letter final mem
-FB27 HEBREW LETTER WIDE RESH
- # <font> 05E8 hebrew letter resh
-FB28 HEBREW LETTER WIDE TAV
- # <font> 05EA hebrew letter tav
-FB29 HEBREW LETTER ALTERNATIVE PLUS SIGN
- # <font> 002B plus sign
-FB2A HEBREW LETTER SHIN WITH SHIN DOT
- : 05E9 05C1
-FB2B HEBREW LETTER SHIN WITH SIN DOT
- : 05E9 05C2
-FB2C HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
- : FB49 05C1
-FB2D HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
- : FB49 05C2
-FB2E HEBREW LETTER ALEF WITH PATAH
- : 05D0 05B7
-FB2F HEBREW LETTER ALEF WITH QAMATS
- : 05D0 05B8
-FB30 HEBREW LETTER ALEF WITH MAPIQ
- : 05D0 05BC
-FB31 HEBREW LETTER BET WITH DAGESH
- : 05D1 05BC
-FB32 HEBREW LETTER GIMEL WITH DAGESH
- : 05D2 05BC
-FB33 HEBREW LETTER DALET WITH DAGESH
- : 05D3 05BC
-FB34 HEBREW LETTER HE WITH MAPIQ
- : 05D4 05BC
-FB35 HEBREW LETTER VAV WITH DAGESH
- : 05D5 05BC
-FB36 HEBREW LETTER ZAYIN WITH DAGESH
- : 05D6 05BC
-FB38 HEBREW LETTER TET WITH DAGESH
- : 05D8 05BC
-FB39 HEBREW LETTER YOD WITH DAGESH
- : 05D9 05BC
-FB3A HEBREW LETTER FINAL KAF WITH DAGESH
- : 05DA 05BC
-FB3B HEBREW LETTER KAF WITH DAGESH
- : 05DB 05BC
-FB3C HEBREW LETTER LAMED WITH DAGESH
- : 05DC 05BC
-FB3E HEBREW LETTER MEM WITH DAGESH
- : 05DE 05BC
-FB40 HEBREW LETTER NUN WITH DAGESH
- : 05E0 05BC
-FB41 HEBREW LETTER SAMEKH WITH DAGESH
- : 05E1 05BC
-FB43 HEBREW LETTER FINAL PE WITH DAGESH
- : 05E3 05BC
-FB44 HEBREW LETTER PE WITH DAGESH
- : 05E4 05BC
-FB46 HEBREW LETTER TSADI WITH DAGESH
- : 05E6 05BC
-FB47 HEBREW LETTER QOF WITH DAGESH
- : 05E7 05BC
-FB48 HEBREW LETTER RESH WITH DAGESH
- : 05E8 05BC
-FB49 HEBREW LETTER SHIN WITH DAGESH
- : 05E9 05BC
-FB4A HEBREW LETTER TAV WITH DAGESH
- : 05EA 05BC
-FB4B HEBREW LETTER VAV WITH HOLAM
- : 05D5 05B9
-FB4C HEBREW LETTER BET WITH RAFE
- : 05D1 05BF
-FB4D HEBREW LETTER KAF WITH RAFE
- : 05DB 05BF
-FB4E HEBREW LETTER PE WITH RAFE
- : 05E4 05BF
-FB4F HEBREW LIGATURE ALEF LAMED
- # 05D0 05DC
-@@ FB50 Arabic Presentation Forms-A FDFF
-@+ Preferred characters are found in the Arabic block 0600 - 06FF. This block also contains 32 noncharacters in the range FDD0 - FDDF.
-@ Glyphs for contextual forms of letters for Persian, Urdu, Sindhi, etc.
-FB50 ARABIC LETTER ALEF WASLA ISOLATED FORM
- # <isolated> 0671
-FB51 ARABIC LETTER ALEF WASLA FINAL FORM
- # <final> 0671
-FB52 ARABIC LETTER BEEH ISOLATED FORM
- # <isolated> 067B
-FB53 ARABIC LETTER BEEH FINAL FORM
- # <final> 067B
-FB54 ARABIC LETTER BEEH INITIAL FORM
- # <initial> 067B
-FB55 ARABIC LETTER BEEH MEDIAL FORM
- # <medial> 067B
-FB56 ARABIC LETTER PEH ISOLATED FORM
- # <isolated> 067E
-FB57 ARABIC LETTER PEH FINAL FORM
- # <final> 067E
-FB58 ARABIC LETTER PEH INITIAL FORM
- # <initial> 067E
-FB59 ARABIC LETTER PEH MEDIAL FORM
- # <medial> 067E
-FB5A ARABIC LETTER BEHEH ISOLATED FORM
- # <isolated> 0680
-FB5B ARABIC LETTER BEHEH FINAL FORM
- # <final> 0680
-FB5C ARABIC LETTER BEHEH INITIAL FORM
- # <initial> 0680
-FB5D ARABIC LETTER BEHEH MEDIAL FORM
- # <medial> 0680
-FB5E ARABIC LETTER TTEHEH ISOLATED FORM
- # <isolated> 067A
-FB5F ARABIC LETTER TTEHEH FINAL FORM
- # <final> 067A
-FB60 ARABIC LETTER TTEHEH INITIAL FORM
- # <initial> 067A
-FB61 ARABIC LETTER TTEHEH MEDIAL FORM
- # <medial> 067A
-FB62 ARABIC LETTER TEHEH ISOLATED FORM
- # <isolated> 067F
-FB63 ARABIC LETTER TEHEH FINAL FORM
- # <final> 067F
-FB64 ARABIC LETTER TEHEH INITIAL FORM
- # <initial> 067F
-FB65 ARABIC LETTER TEHEH MEDIAL FORM
- # <medial> 067F
-FB66 ARABIC LETTER TTEH ISOLATED FORM
- # <isolated> 0679
-FB67 ARABIC LETTER TTEH FINAL FORM
- # <final> 0679
-FB68 ARABIC LETTER TTEH INITIAL FORM
- # <initial> 0679
-FB69 ARABIC LETTER TTEH MEDIAL FORM
- # <medial> 0679
-FB6A ARABIC LETTER VEH ISOLATED FORM
- # <isolated> 06A4
-FB6B ARABIC LETTER VEH FINAL FORM
- # <final> 06A4
-FB6C ARABIC LETTER VEH INITIAL FORM
- # <initial> 06A4
-FB6D ARABIC LETTER VEH MEDIAL FORM
- # <medial> 06A4
-FB6E ARABIC LETTER PEHEH ISOLATED FORM
- # <isolated> 06A6
-FB6F ARABIC LETTER PEHEH FINAL FORM
- # <final> 06A6
-FB70 ARABIC LETTER PEHEH INITIAL FORM
- # <initial> 06A6
-FB71 ARABIC LETTER PEHEH MEDIAL FORM
- # <medial> 06A6
-FB72 ARABIC LETTER DYEH ISOLATED FORM
- # <isolated> 0684
-FB73 ARABIC LETTER DYEH FINAL FORM
- # <final> 0684
-FB74 ARABIC LETTER DYEH INITIAL FORM
- # <initial> 0684
-FB75 ARABIC LETTER DYEH MEDIAL FORM
- # <medial> 0684
-FB76 ARABIC LETTER NYEH ISOLATED FORM
- # <isolated> 0683
-FB77 ARABIC LETTER NYEH FINAL FORM
- # <final> 0683
-FB78 ARABIC LETTER NYEH INITIAL FORM
- # <initial> 0683
-FB79 ARABIC LETTER NYEH MEDIAL FORM
- # <medial> 0683
-FB7A ARABIC LETTER TCHEH ISOLATED FORM
- # <isolated> 0686
-FB7B ARABIC LETTER TCHEH FINAL FORM
- # <final> 0686
-FB7C ARABIC LETTER TCHEH INITIAL FORM
- # <initial> 0686
-FB7D ARABIC LETTER TCHEH MEDIAL FORM
- # <medial> 0686
-FB7E ARABIC LETTER TCHEHEH ISOLATED FORM
- # <isolated> 0687
-FB7F ARABIC LETTER TCHEHEH FINAL FORM
- # <final> 0687
-FB80 ARABIC LETTER TCHEHEH INITIAL FORM
- # <initial> 0687
-FB81 ARABIC LETTER TCHEHEH MEDIAL FORM
- # <medial> 0687
-FB82 ARABIC LETTER DDAHAL ISOLATED FORM
- # <isolated> 068D
-FB83 ARABIC LETTER DDAHAL FINAL FORM
- # <final> 068D
-FB84 ARABIC LETTER DAHAL ISOLATED FORM
- # <isolated> 068C
-FB85 ARABIC LETTER DAHAL FINAL FORM
- # <final> 068C
-FB86 ARABIC LETTER DUL ISOLATED FORM
- # <isolated> 068E
-FB87 ARABIC LETTER DUL FINAL FORM
- # <final> 068E
-FB88 ARABIC LETTER DDAL ISOLATED FORM
- # <isolated> 0688
-FB89 ARABIC LETTER DDAL FINAL FORM
- # <final> 0688
-FB8A ARABIC LETTER JEH ISOLATED FORM
- # <isolated> 0698
-FB8B ARABIC LETTER JEH FINAL FORM
- # <final> 0698
-FB8C ARABIC LETTER RREH ISOLATED FORM
- # <isolated> 0691
-FB8D ARABIC LETTER RREH FINAL FORM
- # <final> 0691
-FB8E ARABIC LETTER KEHEH ISOLATED FORM
- # <isolated> 06A9
-FB8F ARABIC LETTER KEHEH FINAL FORM
- # <final> 06A9
-FB90 ARABIC LETTER KEHEH INITIAL FORM
- # <initial> 06A9
-FB91 ARABIC LETTER KEHEH MEDIAL FORM
- # <medial> 06A9
-FB92 ARABIC LETTER GAF ISOLATED FORM
- # <isolated> 06AF
-FB93 ARABIC LETTER GAF FINAL FORM
- # <final> 06AF
-FB94 ARABIC LETTER GAF INITIAL FORM
- # <initial> 06AF
-FB95 ARABIC LETTER GAF MEDIAL FORM
- # <medial> 06AF
-FB96 ARABIC LETTER GUEH ISOLATED FORM
- # <isolated> 06B3
-FB97 ARABIC LETTER GUEH FINAL FORM
- # <final> 06B3
-FB98 ARABIC LETTER GUEH INITIAL FORM
- # <initial> 06B3
-FB99 ARABIC LETTER GUEH MEDIAL FORM
- # <medial> 06B3
-FB9A ARABIC LETTER NGOEH ISOLATED FORM
- # <isolated> 06B1
-FB9B ARABIC LETTER NGOEH FINAL FORM
- # <final> 06B1
-FB9C ARABIC LETTER NGOEH INITIAL FORM
- # <initial> 06B1
-FB9D ARABIC LETTER NGOEH MEDIAL FORM
- # <medial> 06B1
-FB9E ARABIC LETTER NOON GHUNNA ISOLATED FORM
- # <isolated> 06BA
-FB9F ARABIC LETTER NOON GHUNNA FINAL FORM
- # <final> 06BA
-FBA0 ARABIC LETTER RNOON ISOLATED FORM
- # <isolated> 06BB
-FBA1 ARABIC LETTER RNOON FINAL FORM
- # <final> 06BB
-FBA2 ARABIC LETTER RNOON INITIAL FORM
- # <initial> 06BB
-FBA3 ARABIC LETTER RNOON MEDIAL FORM
- # <medial> 06BB
-FBA4 ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
- # <isolated> 06C0
-FBA5 ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
- # <final> 06C0
-FBA6 ARABIC LETTER HEH GOAL ISOLATED FORM
- # <isolated> 06C1
-FBA7 ARABIC LETTER HEH GOAL FINAL FORM
- # <final> 06C1
-FBA8 ARABIC LETTER HEH GOAL INITIAL FORM
- # <initial> 06C1
-FBA9 ARABIC LETTER HEH GOAL MEDIAL FORM
- # <medial> 06C1
-FBAA ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
- # <isolated> 06BE
-FBAB ARABIC LETTER HEH DOACHASHMEE FINAL FORM
- # <final> 06BE
-FBAC ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
- # <initial> 06BE
-FBAD ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
- # <medial> 06BE
-FBAE ARABIC LETTER YEH BARREE ISOLATED FORM
- # <isolated> 06D2
-FBAF ARABIC LETTER YEH BARREE FINAL FORM
- # <final> 06D2
-FBB0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
- # <isolated> 06D3
-FBB1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
- # <final> 06D3
-@ Glyphs for contextual forms of letters for Central Asian languages
-FBD3 ARABIC LETTER NG ISOLATED FORM
- # <isolated> 06AD
-FBD4 ARABIC LETTER NG FINAL FORM
- # <final> 06AD
-FBD5 ARABIC LETTER NG INITIAL FORM
- # <initial> 06AD
-FBD6 ARABIC LETTER NG MEDIAL FORM
- # <medial> 06AD
-FBD7 ARABIC LETTER U ISOLATED FORM
- # <isolated> 06C7
-FBD8 ARABIC LETTER U FINAL FORM
- # <final> 06C7
-FBD9 ARABIC LETTER OE ISOLATED FORM
- # <isolated> 06C6
-FBDA ARABIC LETTER OE FINAL FORM
- # <final> 06C6
-FBDB ARABIC LETTER YU ISOLATED FORM
- # <isolated> 06C8
-FBDC ARABIC LETTER YU FINAL FORM
- # <final> 06C8
-FBDD ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
- # <isolated> 0677
-FBDE ARABIC LETTER VE ISOLATED FORM
- # <isolated> 06CB
-FBDF ARABIC LETTER VE FINAL FORM
- # <final> 06CB
-FBE0 ARABIC LETTER KIRGHIZ OE ISOLATED FORM
- # <isolated> 06C5
-FBE1 ARABIC LETTER KIRGHIZ OE FINAL FORM
- # <final> 06C5
-FBE2 ARABIC LETTER KIRGHIZ YU ISOLATED FORM
- # <isolated> 06C9
-FBE3 ARABIC LETTER KIRGHIZ YU FINAL FORM
- # <final> 06C9
-FBE4 ARABIC LETTER E ISOLATED FORM
- # <isolated> 06D0
-FBE5 ARABIC LETTER E FINAL FORM
- # <final> 06D0
-FBE6 ARABIC LETTER E INITIAL FORM
- # <initial> 06D0
-FBE7 ARABIC LETTER E MEDIAL FORM
- # <medial> 06D0
-FBE8 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
- # <initial> 0649
-FBE9 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
- # <medial> 0649
-@ Ligatures (two elements)
-FBEA ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
- # <isolated> 0626 0627
-FBEB ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
- # <final> 0626 0627
-FBEC ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
- # <isolated> 0626 06D5
-FBED ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
- # <final> 0626 06D5
-FBEE ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
- # <isolated> 0626 0648
-FBEF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
- # <final> 0626 0648
-FBF0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
- # <isolated> 0626 06C7
-FBF1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
- # <final> 0626 06C7
-FBF2 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
- # <isolated> 0626 06C6
-FBF3 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
- # <final> 0626 06C6
-FBF4 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
- # <isolated> 0626 06C8
-FBF5 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
- # <final> 0626 06C8
-FBF6 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
- # <isolated> 0626 06D0
-FBF7 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
- # <final> 0626 06D0
-FBF8 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
- # <initial> 0626 06D0
-FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0626 0649
-FBFA ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
- # <final> 0626 0649
-FBFB ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
- # <initial> 0626 0649
-FBFC ARABIC LETTER FARSI YEH ISOLATED FORM
- # <isolated> 06CC
-FBFD ARABIC LETTER FARSI YEH FINAL FORM
- # <final> 06CC
-FBFE ARABIC LETTER FARSI YEH INITIAL FORM
- # <initial> 06CC
-FBFF ARABIC LETTER FARSI YEH MEDIAL FORM
- # <medial> 06CC
-FC00 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
- # <isolated> 0626 062C
-FC01 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
- # <isolated> 0626 062D
-FC02 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
- # <isolated> 0626 0645
-FC03 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0626 0649
-FC04 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
- # <isolated> 0626 064A
-FC05 ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
- # <isolated> 0628 062C
-FC06 ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
- # <isolated> 0628 062D
-FC07 ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
- # <isolated> 0628 062E
-FC08 ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
- # <isolated> 0628 0645
-FC09 ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0628 0649
-FC0A ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
- # <isolated> 0628 064A
-FC0B ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
- # <isolated> 062A 062C
-FC0C ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
- # <isolated> 062A 062D
-FC0D ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
- # <isolated> 062A 062E
-FC0E ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
- # <isolated> 062A 0645
-FC0F ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 062A 0649
-FC10 ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
- # <isolated> 062A 064A
-FC11 ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
- # <isolated> 062B 062C
-FC12 ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
- # <isolated> 062B 0645
-FC13 ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 062B 0649
-FC14 ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
- # <isolated> 062B 064A
-FC15 ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
- # <isolated> 062C 062D
-FC16 ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
- # <isolated> 062C 0645
-FC17 ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
- # <isolated> 062D 062C
-FC18 ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
- # <isolated> 062D 0645
-FC19 ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
- # <isolated> 062E 062C
-FC1A ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
- # <isolated> 062E 062D
-FC1B ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
- # <isolated> 062E 0645
-FC1C ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
- # <isolated> 0633 062C
-FC1D ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
- # <isolated> 0633 062D
-FC1E ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
- # <isolated> 0633 062E
-FC1F ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
- # <isolated> 0633 0645
-FC20 ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
- # <isolated> 0635 062D
-FC21 ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
- # <isolated> 0635 0645
-FC22 ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
- # <isolated> 0636 062C
-FC23 ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
- # <isolated> 0636 062D
-FC24 ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
- # <isolated> 0636 062E
-FC25 ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
- # <isolated> 0636 0645
-FC26 ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
- # <isolated> 0637 062D
-FC27 ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
- # <isolated> 0637 0645
-FC28 ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
- # <isolated> 0638 0645
-FC29 ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
- # <isolated> 0639 062C
-FC2A ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
- # <isolated> 0639 0645
-FC2B ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
- # <isolated> 063A 062C
-FC2C ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
- # <isolated> 063A 0645
-FC2D ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
- # <isolated> 0641 062C
-FC2E ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
- # <isolated> 0641 062D
-FC2F ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
- # <isolated> 0641 062E
-FC30 ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
- # <isolated> 0641 0645
-FC31 ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0641 0649
-FC32 ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
- # <isolated> 0641 064A
-FC33 ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
- # <isolated> 0642 062D
-FC34 ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
- # <isolated> 0642 0645
-FC35 ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0642 0649
-FC36 ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
- # <isolated> 0642 064A
-FC37 ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
- # <isolated> 0643 0627
-FC38 ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
- # <isolated> 0643 062C
-FC39 ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
- # <isolated> 0643 062D
-FC3A ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
- # <isolated> 0643 062E
-FC3B ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
- # <isolated> 0643 0644
-FC3C ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
- # <isolated> 0643 0645
-FC3D ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0643 0649
-FC3E ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
- # <isolated> 0643 064A
-FC3F ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
- # <isolated> 0644 062C
-FC40 ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
- # <isolated> 0644 062D
-FC41 ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
- # <isolated> 0644 062E
-FC42 ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
- # <isolated> 0644 0645
-FC43 ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0644 0649
-FC44 ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
- # <isolated> 0644 064A
-FC45 ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
- # <isolated> 0645 062C
-FC46 ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
- # <isolated> 0645 062D
-FC47 ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
- # <isolated> 0645 062E
-FC48 ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
- # <isolated> 0645 0645
-FC49 ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0645 0649
-FC4A ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
- # <isolated> 0645 064A
-FC4B ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
- # <isolated> 0646 062C
-FC4C ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
- # <isolated> 0646 062D
-FC4D ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
- # <isolated> 0646 062E
-FC4E ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
- # <isolated> 0646 0645
-FC4F ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0646 0649
-FC50 ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
- # <isolated> 0646 064A
-FC51 ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
- # <isolated> 0647 062C
-FC52 ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
- # <isolated> 0647 0645
-FC53 ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0647 0649
-FC54 ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
- # <isolated> 0647 064A
-FC55 ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
- # <isolated> 064A 062C
-FC56 ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
- # <isolated> 064A 062D
-FC57 ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
- # <isolated> 064A 062E
-FC58 ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
- # <isolated> 064A 0645
-FC59 ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 064A 0649
-FC5A ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
- # <isolated> 064A 064A
-FC5B ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
- # <isolated> 0630 0670
-FC5C ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
- # <isolated> 0631 0670
-FC5D ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
- # <isolated> 0649 0670
-FC5E ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
- # <isolated> 0020 064C 0651
-FC5F ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
- # <isolated> 0020 064D 0651
-FC60 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
- # <isolated> 0020 064E 0651
-FC61 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
- # <isolated> 0020 064F 0651
-FC62 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
- # <isolated> 0020 0650 0651
-FC63 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
- # <isolated> 0020 0651 0670
-FC64 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
- # <final> 0626 0631
-FC65 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
- # <final> 0626 0632
-FC66 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
- # <final> 0626 0645
-FC67 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
- # <final> 0626 0646
-FC68 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
- # <final> 0626 0649
-FC69 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
- # <final> 0626 064A
-FC6A ARABIC LIGATURE BEH WITH REH FINAL FORM
- # <final> 0628 0631
-FC6B ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
- # <final> 0628 0632
-FC6C ARABIC LIGATURE BEH WITH MEEM FINAL FORM
- # <final> 0628 0645
-FC6D ARABIC LIGATURE BEH WITH NOON FINAL FORM
- # <final> 0628 0646
-FC6E ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
- # <final> 0628 0649
-FC6F ARABIC LIGATURE BEH WITH YEH FINAL FORM
- # <final> 0628 064A
-FC70 ARABIC LIGATURE TEH WITH REH FINAL FORM
- # <final> 062A 0631
-FC71 ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
- # <final> 062A 0632
-FC72 ARABIC LIGATURE TEH WITH MEEM FINAL FORM
- # <final> 062A 0645
-FC73 ARABIC LIGATURE TEH WITH NOON FINAL FORM
- # <final> 062A 0646
-FC74 ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
- # <final> 062A 0649
-FC75 ARABIC LIGATURE TEH WITH YEH FINAL FORM
- # <final> 062A 064A
-FC76 ARABIC LIGATURE THEH WITH REH FINAL FORM
- # <final> 062B 0631
-FC77 ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
- # <final> 062B 0632
-FC78 ARABIC LIGATURE THEH WITH MEEM FINAL FORM
- # <final> 062B 0645
-FC79 ARABIC LIGATURE THEH WITH NOON FINAL FORM
- # <final> 062B 0646
-FC7A ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
- # <final> 062B 0649
-FC7B ARABIC LIGATURE THEH WITH YEH FINAL FORM
- # <final> 062B 064A
-FC7C ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
- # <final> 0641 0649
-FC7D ARABIC LIGATURE FEH WITH YEH FINAL FORM
- # <final> 0641 064A
-FC7E ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
- # <final> 0642 0649
-FC7F ARABIC LIGATURE QAF WITH YEH FINAL FORM
- # <final> 0642 064A
-FC80 ARABIC LIGATURE KAF WITH ALEF FINAL FORM
- # <final> 0643 0627
-FC81 ARABIC LIGATURE KAF WITH LAM FINAL FORM
- # <final> 0643 0644
-FC82 ARABIC LIGATURE KAF WITH MEEM FINAL FORM
- # <final> 0643 0645
-FC83 ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
- # <final> 0643 0649
-FC84 ARABIC LIGATURE KAF WITH YEH FINAL FORM
- # <final> 0643 064A
-FC85 ARABIC LIGATURE LAM WITH MEEM FINAL FORM
- # <final> 0644 0645
-FC86 ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
- # <final> 0644 0649
-FC87 ARABIC LIGATURE LAM WITH YEH FINAL FORM
- # <final> 0644 064A
-FC88 ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
- # <final> 0645 0627
-FC89 ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
- # <final> 0645 0645
-FC8A ARABIC LIGATURE NOON WITH REH FINAL FORM
- # <final> 0646 0631
-FC8B ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
- # <final> 0646 0632
-FC8C ARABIC LIGATURE NOON WITH MEEM FINAL FORM
- # <final> 0646 0645
-FC8D ARABIC LIGATURE NOON WITH NOON FINAL FORM
- # <final> 0646 0646
-FC8E ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
- # <final> 0646 0649
-FC8F ARABIC LIGATURE NOON WITH YEH FINAL FORM
- # <final> 0646 064A
-FC90 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
- # <final> 0649 0670
-FC91 ARABIC LIGATURE YEH WITH REH FINAL FORM
- # <final> 064A 0631
-FC92 ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
- # <final> 064A 0632
-FC93 ARABIC LIGATURE YEH WITH MEEM FINAL FORM
- # <final> 064A 0645
-FC94 ARABIC LIGATURE YEH WITH NOON FINAL FORM
- # <final> 064A 0646
-FC95 ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
- # <final> 064A 0649
-FC96 ARABIC LIGATURE YEH WITH YEH FINAL FORM
- # <final> 064A 064A
-FC97 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
- # <initial> 0626 062C
-FC98 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
- # <initial> 0626 062D
-FC99 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
- # <initial> 0626 062E
-FC9A ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
- # <initial> 0626 0645
-FC9B ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
- # <initial> 0626 0647
-FC9C ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
- # <initial> 0628 062C
-FC9D ARABIC LIGATURE BEH WITH HAH INITIAL FORM
- # <initial> 0628 062D
-FC9E ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
- # <initial> 0628 062E
-FC9F ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
- # <initial> 0628 0645
-FCA0 ARABIC LIGATURE BEH WITH HEH INITIAL FORM
- # <initial> 0628 0647
-FCA1 ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
- # <initial> 062A 062C
-FCA2 ARABIC LIGATURE TEH WITH HAH INITIAL FORM
- # <initial> 062A 062D
-FCA3 ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
- # <initial> 062A 062E
-FCA4 ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
- # <initial> 062A 0645
-FCA5 ARABIC LIGATURE TEH WITH HEH INITIAL FORM
- # <initial> 062A 0647
-FCA6 ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
- # <initial> 062B 0645
-FCA7 ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
- # <initial> 062C 062D
-FCA8 ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
- # <initial> 062C 0645
-FCA9 ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
- # <initial> 062D 062C
-FCAA ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
- # <initial> 062D 0645
-FCAB ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
- # <initial> 062E 062C
-FCAC ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
- # <initial> 062E 0645
-FCAD ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
- # <initial> 0633 062C
-FCAE ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
- # <initial> 0633 062D
-FCAF ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
- # <initial> 0633 062E
-FCB0 ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
- # <initial> 0633 0645
-FCB1 ARABIC LIGATURE SAD WITH HAH INITIAL FORM
- # <initial> 0635 062D
-FCB2 ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
- # <initial> 0635 062E
-FCB3 ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
- # <initial> 0635 0645
-FCB4 ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
- # <initial> 0636 062C
-FCB5 ARABIC LIGATURE DAD WITH HAH INITIAL FORM
- # <initial> 0636 062D
-FCB6 ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
- # <initial> 0636 062E
-FCB7 ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
- # <initial> 0636 0645
-FCB8 ARABIC LIGATURE TAH WITH HAH INITIAL FORM
- # <initial> 0637 062D
-FCB9 ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
- # <initial> 0638 0645
-FCBA ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
- # <initial> 0639 062C
-FCBB ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
- # <initial> 0639 0645
-FCBC ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
- # <initial> 063A 062C
-FCBD ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
- # <initial> 063A 0645
-FCBE ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
- # <initial> 0641 062C
-FCBF ARABIC LIGATURE FEH WITH HAH INITIAL FORM
- # <initial> 0641 062D
-FCC0 ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
- # <initial> 0641 062E
-FCC1 ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
- # <initial> 0641 0645
-FCC2 ARABIC LIGATURE QAF WITH HAH INITIAL FORM
- # <initial> 0642 062D
-FCC3 ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
- # <initial> 0642 0645
-FCC4 ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
- # <initial> 0643 062C
-FCC5 ARABIC LIGATURE KAF WITH HAH INITIAL FORM
- # <initial> 0643 062D
-FCC6 ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
- # <initial> 0643 062E
-FCC7 ARABIC LIGATURE KAF WITH LAM INITIAL FORM
- # <initial> 0643 0644
-FCC8 ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
- # <initial> 0643 0645
-FCC9 ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
- # <initial> 0644 062C
-FCCA ARABIC LIGATURE LAM WITH HAH INITIAL FORM
- # <initial> 0644 062D
-FCCB ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
- # <initial> 0644 062E
-FCCC ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
- # <initial> 0644 0645
-FCCD ARABIC LIGATURE LAM WITH HEH INITIAL FORM
- # <initial> 0644 0647
-FCCE ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
- # <initial> 0645 062C
-FCCF ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
- # <initial> 0645 062D
-FCD0 ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
- # <initial> 0645 062E
-FCD1 ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
- # <initial> 0645 0645
-FCD2 ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
- # <initial> 0646 062C
-FCD3 ARABIC LIGATURE NOON WITH HAH INITIAL FORM
- # <initial> 0646 062D
-FCD4 ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
- # <initial> 0646 062E
-FCD5 ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
- # <initial> 0646 0645
-FCD6 ARABIC LIGATURE NOON WITH HEH INITIAL FORM
- # <initial> 0646 0647
-FCD7 ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
- # <initial> 0647 062C
-FCD8 ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
- # <initial> 0647 0645
-FCD9 ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
- # <initial> 0647 0670
-FCDA ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
- # <initial> 064A 062C
-FCDB ARABIC LIGATURE YEH WITH HAH INITIAL FORM
- # <initial> 064A 062D
-FCDC ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
- # <initial> 064A 062E
-FCDD ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
- # <initial> 064A 0645
-FCDE ARABIC LIGATURE YEH WITH HEH INITIAL FORM
- # <initial> 064A 0647
-FCDF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
- # <medial> 0626 0645
-FCE0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
- # <medial> 0626 0647
-FCE1 ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
- # <medial> 0628 0645
-FCE2 ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
- # <medial> 0628 0647
-FCE3 ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
- # <medial> 062A 0645
-FCE4 ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
- # <medial> 062A 0647
-FCE5 ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
- # <medial> 062B 0645
-FCE6 ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
- # <medial> 062B 0647
-FCE7 ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
- # <medial> 0633 0645
-FCE8 ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
- # <medial> 0633 0647
-FCE9 ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
- # <medial> 0634 0645
-FCEA ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
- # <medial> 0634 0647
-FCEB ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
- # <medial> 0643 0644
-FCEC ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
- # <medial> 0643 0645
-FCED ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
- # <medial> 0644 0645
-FCEE ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
- # <medial> 0646 0645
-FCEF ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
- # <medial> 0646 0647
-FCF0 ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
- # <medial> 064A 0645
-FCF1 ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
- # <medial> 064A 0647
-FCF2 ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
- # <medial> 0640 064E 0651
-FCF3 ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
- # <medial> 0640 064F 0651
-FCF4 ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
- # <medial> 0640 0650 0651
-FCF5 ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0637 0649
-FCF6 ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
- # <isolated> 0637 064A
-FCF7 ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0639 0649
-FCF8 ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
- # <isolated> 0639 064A
-FCF9 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 063A 0649
-FCFA ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
- # <isolated> 063A 064A
-FCFB ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0633 0649
-FCFC ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
- # <isolated> 0633 064A
-FCFD ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0634 0649
-FCFE ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
- # <isolated> 0634 064A
-FCFF ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 062D 0649
-FD00 ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
- # <isolated> 062D 064A
-FD01 ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 062C 0649
-FD02 ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
- # <isolated> 062C 064A
-FD03 ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 062E 0649
-FD04 ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
- # <isolated> 062E 064A
-FD05 ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0635 0649
-FD06 ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
- # <isolated> 0635 064A
-FD07 ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
- # <isolated> 0636 0649
-FD08 ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
- # <isolated> 0636 064A
-FD09 ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
- # <isolated> 0634 062C
-FD0A ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
- # <isolated> 0634 062D
-FD0B ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
- # <isolated> 0634 062E
-FD0C ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
- # <isolated> 0634 0645
-FD0D ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
- # <isolated> 0634 0631
-FD0E ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
- # <isolated> 0633 0631
-FD0F ARABIC LIGATURE SAD WITH REH ISOLATED FORM
- # <isolated> 0635 0631
-FD10 ARABIC LIGATURE DAD WITH REH ISOLATED FORM
- # <isolated> 0636 0631
-FD11 ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
- # <final> 0637 0649
-FD12 ARABIC LIGATURE TAH WITH YEH FINAL FORM
- # <final> 0637 064A
-FD13 ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
- # <final> 0639 0649
-FD14 ARABIC LIGATURE AIN WITH YEH FINAL FORM
- # <final> 0639 064A
-FD15 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
- # <final> 063A 0649
-FD16 ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
- # <final> 063A 064A
-FD17 ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
- # <final> 0633 0649
-FD18 ARABIC LIGATURE SEEN WITH YEH FINAL FORM
- # <final> 0633 064A
-FD19 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
- # <final> 0634 0649
-FD1A ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
- # <final> 0634 064A
-FD1B ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
- # <final> 062D 0649
-FD1C ARABIC LIGATURE HAH WITH YEH FINAL FORM
- # <final> 062D 064A
-FD1D ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 062C 0649
-FD1E ARABIC LIGATURE JEEM WITH YEH FINAL FORM
- # <final> 062C 064A
-FD1F ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
- # <final> 062E 0649
-FD20 ARABIC LIGATURE KHAH WITH YEH FINAL FORM
- # <final> 062E 064A
-FD21 ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
- # <final> 0635 0649
-FD22 ARABIC LIGATURE SAD WITH YEH FINAL FORM
- # <final> 0635 064A
-FD23 ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
- # <final> 0636 0649
-FD24 ARABIC LIGATURE DAD WITH YEH FINAL FORM
- # <final> 0636 064A
-FD25 ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
- # <final> 0634 062C
-FD26 ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
- # <final> 0634 062D
-FD27 ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
- # <final> 0634 062E
-FD28 ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
- # <final> 0634 0645
-FD29 ARABIC LIGATURE SHEEN WITH REH FINAL FORM
- # <final> 0634 0631
-FD2A ARABIC LIGATURE SEEN WITH REH FINAL FORM
- # <final> 0633 0631
-FD2B ARABIC LIGATURE SAD WITH REH FINAL FORM
- # <final> 0635 0631
-FD2C ARABIC LIGATURE DAD WITH REH FINAL FORM
- # <final> 0636 0631
-FD2D ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
- # <initial> 0634 062C
-FD2E ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
- # <initial> 0634 062D
-FD2F ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
- # <initial> 0634 062E
-FD30 ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
- # <initial> 0634 0645
-FD31 ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
- # <initial> 0633 0647
-FD32 ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
- # <initial> 0634 0647
-FD33 ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
- # <initial> 0637 0645
-FD34 ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
- # <medial> 0633 062C
-FD35 ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
- # <medial> 0633 062D
-FD36 ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
- # <medial> 0633 062E
-FD37 ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
- # <medial> 0634 062C
-FD38 ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
- # <medial> 0634 062D
-FD39 ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
- # <medial> 0634 062E
-FD3A ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
- # <medial> 0637 0645
-FD3B ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
- # <medial> 0638 0645
-FD3C ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
- # <final> 0627 064B
-FD3D ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
- # <isolated> 0627 064B
-@ Punctuation
-FD3E ORNATE LEFT PARENTHESIS
-FD3F ORNATE RIGHT PARENTHESIS
-@ Ligatures (three elements)
-FD50 ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
- # <initial> 062A 062C 0645
-FD51 ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
- # <final> 062A 062D 062C
-FD52 ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
- # <initial> 062A 062D 062C
-FD53 ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
- # <initial> 062A 062D 0645
-FD54 ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
- # <initial> 062A 062E 0645
-FD55 ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
- # <initial> 062A 0645 062C
-FD56 ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
- # <initial> 062A 0645 062D
-FD57 ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
- # <initial> 062A 0645 062E
-FD58 ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
- # <final> 062C 0645 062D
-FD59 ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
- # <initial> 062C 0645 062D
-FD5A ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
- # <final> 062D 0645 064A
-FD5B ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 062D 0645 0649
-FD5C ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
- # <initial> 0633 062D 062C
-FD5D ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
- # <initial> 0633 062C 062D
-FD5E ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 0633 062C 0649
-FD5F ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
- # <final> 0633 0645 062D
-FD60 ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
- # <initial> 0633 0645 062D
-FD61 ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
- # <initial> 0633 0645 062C
-FD62 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
- # <final> 0633 0645 0645
-FD63 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0633 0645 0645
-FD64 ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
- # <final> 0635 062D 062D
-FD65 ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
- # <initial> 0635 062D 062D
-FD66 ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
- # <final> 0635 0645 0645
-FD67 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
- # <final> 0634 062D 0645
-FD68 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
- # <initial> 0634 062D 0645
-FD69 ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
- # <final> 0634 062C 064A
-FD6A ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
- # <final> 0634 0645 062E
-FD6B ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
- # <initial> 0634 0645 062E
-FD6C ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
- # <final> 0634 0645 0645
-FD6D ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0634 0645 0645
-FD6E ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
- # <final> 0636 062D 0649
-FD6F ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
- # <final> 0636 062E 0645
-FD70 ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
- # <initial> 0636 062E 0645
-FD71 ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
- # <final> 0637 0645 062D
-FD72 ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
- # <initial> 0637 0645 062D
-FD73 ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0637 0645 0645
-FD74 ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
- # <final> 0637 0645 064A
-FD75 ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
- # <final> 0639 062C 0645
-FD76 ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
- # <final> 0639 0645 0645
-FD77 ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0639 0645 0645
-FD78 ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 0639 0645 0649
-FD79 ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
- # <final> 063A 0645 0645
-FD7A ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
- # <final> 063A 0645 064A
-FD7B ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 063A 0645 0649
-FD7C ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
- # <final> 0641 062E 0645
-FD7D ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
- # <initial> 0641 062E 0645
-FD7E ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
- # <final> 0642 0645 062D
-FD7F ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
- # <final> 0642 0645 0645
-FD80 ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
- # <final> 0644 062D 0645
-FD81 ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
- # <final> 0644 062D 064A
-FD82 ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
- # <final> 0644 062D 0649
-FD83 ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
- # <initial> 0644 062C 062C
-FD84 ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
- # <final> 0644 062C 062C
-FD85 ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
- # <final> 0644 062E 0645
-FD86 ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
- # <initial> 0644 062E 0645
-FD87 ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
- # <final> 0644 0645 062D
-FD88 ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
- # <initial> 0644 0645 062D
-FD89 ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
- # <initial> 0645 062D 062C
-FD8A ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
- # <initial> 0645 062D 0645
-FD8B ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
- # <final> 0645 062D 064A
-FD8C ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
- # <initial> 0645 062C 062D
-FD8D ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
- # <initial> 0645 062C 0645
-FD8E ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
- # <initial> 0645 062E 062C
-FD8F ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
- # <initial> 0645 062E 0645
-FD92 ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
- # <initial> 0645 062C 062E
-FD93 ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
- # <initial> 0647 0645 062C
-FD94 ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0647 0645 0645
-FD95 ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
- # <initial> 0646 062D 0645
-FD96 ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
- # <final> 0646 062D 0649
-FD97 ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
- # <final> 0646 062C 0645
-FD98 ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
- # <initial> 0646 062C 0645
-FD99 ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 0646 062C 0649
-FD9A ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
- # <final> 0646 0645 064A
-FD9B ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 0646 0645 0649
-FD9C ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
- # <final> 064A 0645 0645
-FD9D ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 064A 0645 0645
-FD9E ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
- # <final> 0628 062E 064A
-FD9F ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
- # <final> 062A 062C 064A
-FDA0 ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 062A 062C 0649
-FDA1 ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
- # <final> 062A 062E 064A
-FDA2 ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
- # <final> 062A 062E 0649
-FDA3 ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
- # <final> 062A 0645 064A
-FDA4 ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 062A 0645 0649
-FDA5 ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
- # <final> 062C 0645 064A
-FDA6 ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
- # <final> 062C 062D 0649
-FDA7 ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
- # <final> 062C 0645 0649
-FDA8 ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
- # <final> 0633 062E 0649
-FDA9 ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
- # <final> 0635 062D 064A
-FDAA ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
- # <final> 0634 062D 064A
-FDAB ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
- # <final> 0636 062D 064A
-FDAC ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
- # <final> 0644 062C 064A
-FDAD ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
- # <final> 0644 0645 064A
-FDAE ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
- # <final> 064A 062D 064A
-FDAF ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
- # <final> 064A 062C 064A
-FDB0 ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
- # <final> 064A 0645 064A
-FDB1 ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
- # <final> 0645 0645 064A
-FDB2 ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
- # <final> 0642 0645 064A
-FDB3 ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
- # <final> 0646 062D 064A
-FDB4 ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
- # <initial> 0642 0645 062D
-FDB5 ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
- # <initial> 0644 062D 0645
-FDB6 ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
- # <final> 0639 0645 064A
-FDB7 ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
- # <final> 0643 0645 064A
-FDB8 ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
- # <initial> 0646 062C 062D
-FDB9 ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
- # <final> 0645 062E 064A
-FDBA ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
- # <initial> 0644 062C 0645
-FDBB ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
- # <final> 0643 0645 0645
-FDBC ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
- # <final> 0644 062C 0645
-FDBD ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
- # <final> 0646 062C 062D
-FDBE ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
- # <final> 062C 062D 064A
-FDBF ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
- # <final> 062D 062C 064A
-FDC0 ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
- # <final> 0645 062C 064A
-FDC1 ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
- # <final> 0641 0645 064A
-FDC2 ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
- # <final> 0628 062D 064A
-FDC3 ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0643 0645 0645
-FDC4 ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
- # <initial> 0639 062C 0645
-FDC5 ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
- # <initial> 0635 0645 0645
-FDC6 ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
- # <final> 0633 062E 064A
-FDC7 ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
- # <final> 0646 062C 064A
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-FDD0 <not a character>
-FDD1 <not a character>
-FDD2 <not a character>
-FDD3 <not a character>
-FDD4 <not a character>
-FDD5 <not a character>
-FDD6 <not a character>
-FDD7 <not a character>
-FDD8 <not a character>
-FDD9 <not a character>
-FDDA <not a character>
-FDDB <not a character>
-FDDC <not a character>
-FDDD <not a character>
-FDDE <not a character>
-FDDF <not a character>
-FDE0 <not a character>
-FDE1 <not a character>
-FDE2 <not a character>
-FDE3 <not a character>
-FDE4 <not a character>
-FDE5 <not a character>
-FDE6 <not a character>
-FDE7 <not a character>
-FDE8 <not a character>
-FDE9 <not a character>
-FDEA <not a character>
-FDEB <not a character>
-FDEC <not a character>
-FDED <not a character>
-FDEE <not a character>
-FDEF <not a character>
-@ Word ligatures
-FDF0 ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
- # <isolated> 0635 0644 06D2
-FDF1 ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
- # <isolated> 0642 0644 06D2
-FDF2 ARABIC LIGATURE ALLAH ISOLATED FORM
- # <isolated> 0627 0644 0644 0647
-FDF3 ARABIC LIGATURE AKBAR ISOLATED FORM
- # <isolated> 0627 0643 0628 0631
-FDF4 ARABIC LIGATURE MOHAMMAD ISOLATED FORM
- # <isolated> 0645 062D 0645 062F
-FDF5 ARABIC LIGATURE SALAM ISOLATED FORM
- # <isolated> 0635 0644 0639 0645
-FDF6 ARABIC LIGATURE RASOUL ISOLATED FORM
- # <isolated> 0631 0633 0648 0644
-FDF7 ARABIC LIGATURE ALAYHE ISOLATED FORM
- # <isolated> 0639 0644 064A 0647
-FDF8 ARABIC LIGATURE WASALLAM ISOLATED FORM
- # <isolated> 0648 0633 0644 0645
-FDF9 ARABIC LIGATURE SALLA ISOLATED FORM
- # <isolated> 0635 0644 0649
-FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
- # <isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645
-FDFB ARABIC LIGATURE JALLAJALALOUHOU
- # <isolated> 062C 0644 0020 062C 0644 0627 0644 0647
-@ Currency sign
-FDFC RIAL SIGN
- # <isolated> 0631 06CC 0627 0644
-@ Symbol
-FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-@@ FE00 Variation Selectors FE0F
-@ Variation selectors
-@+ Combining characters; in conjunction with the preceding character these indicate a predetermined choice of variant glyph
-FE00 VARIATION SELECTOR-1
- * these are abbreviated VS1, and so on
-FE01 VARIATION SELECTOR-2
-FE02 VARIATION SELECTOR-3
-FE03 VARIATION SELECTOR-4
-FE04 VARIATION SELECTOR-5
-FE05 VARIATION SELECTOR-6
-FE06 VARIATION SELECTOR-7
-FE07 VARIATION SELECTOR-8
-FE08 VARIATION SELECTOR-9
-FE09 VARIATION SELECTOR-10
-FE0A VARIATION SELECTOR-11
-FE0B VARIATION SELECTOR-12
-FE0C VARIATION SELECTOR-13
-FE0D VARIATION SELECTOR-14
-FE0E VARIATION SELECTOR-15
-FE0F VARIATION SELECTOR-16
-@@ FE10 Vertical forms FE1F
-@+ These characters are compatibility characters needed to map to GB 18030.
-@ Glyphs for vertical variants
-FE10 PRESENTATION FORM FOR VERTICAL COMMA
- x (small comma - FE50)
- # <vertical> 002C
-FE11 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
- x (sesame dot - FE45)
- x (small ideographic comma - FE51)
- # <vertical> 3001
-FE12 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
- # <vertical> 3002
-FE13 PRESENTATION FORM FOR VERTICAL COLON
- x (small colon - FE55)
- # <vertical> 003A
-FE14 PRESENTATION FORM FOR VERTICAL SEMICOLON
- x (small semicolon - FE54)
- # <vertical> 003B
-FE15 PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
- x (small exclamation mark - FE57)
- # <vertical> 0021
-FE16 PRESENTATION FORM FOR VERTICAL QUESTION MARK
- x (small question mark - FE56)
- # <vertical> 003F
-FE17 PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
- # <vertical> 3016
-FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
- % PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET
- * misspelling of "BRACKET" in character name is a known defect
- # <vertical> 3017
-FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
- x (vertical ellipsis - 22EE)
- # <vertical> 2026
-@@ FE20 Combining Half Marks FE2F
-@ Combining half marks
-FE20 COMBINING LIGATURE LEFT HALF
-FE21 COMBINING LIGATURE RIGHT HALF
- x (combining double inverted breve - 0361)
-FE22 COMBINING DOUBLE TILDE LEFT HALF
-FE23 COMBINING DOUBLE TILDE RIGHT HALF
- x (combining double tilde - 0360)
-@ Continuous macrons for Coptic
-@+ These are used in combinations to represent continuous macrons over a sequence of Coptic letters.
-FE24 COMBINING MACRON LEFT HALF
-FE25 COMBINING MACRON RIGHT HALF
-FE26 COMBINING CONJOINING MACRON
- x (combining macron - 0304)
- x (combining double macron - 035E)
-@@ FE30 CJK Compatibility Forms FE4F
-@ Glyphs for vertical variants
-FE30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
- # <vertical> 2025
-FE31 PRESENTATION FORM FOR VERTICAL EM DASH
- # <vertical> 2014
-FE32 PRESENTATION FORM FOR VERTICAL EN DASH
- # <vertical> 2013
-FE33 PRESENTATION FORM FOR VERTICAL LOW LINE
- # <vertical> 005F
-FE34 PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
- # <vertical> 005F
-FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
- x (top parenthesis - 23DC)
- # <vertical> 0028
-FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
- x (bottom parenthesis - 23DD)
- # <vertical> 0029
-FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
- x (top curly bracket - 23DE)
- # <vertical> 007B
-FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
- x (bottom curly bracket - 23DF)
- # <vertical> 007D
-FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
- x (top tortoise shell bracket - 23E0)
- # <vertical> 3014
-FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
- x (bottom tortoise shell bracket - 23E1)
- # <vertical> 3015
-FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
- # <vertical> 3010
-FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
- # <vertical> 3011
-FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
- # <vertical> 300A
-FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
- # <vertical> 300B
-FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
- # <vertical> 3008
-FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
- # <vertical> 3009
-FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
- # <vertical> 300C
-FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
- # <vertical> 300D
-FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
- # <vertical> 300E
-FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
- # <vertical> 300F
-@ Sidelining emphasis marks
-FE45 SESAME DOT
- x (small ideographic comma - FE51)
-FE46 WHITE SESAME DOT
- * sesame dots are used beside vertical text for emphasis
-@ Glyphs for vertical variants
-FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
- x (top square bracket - 23B4)
- # <vertical> 005B
-FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
- x (bottom square bracket - 23B5)
- # <vertical> 005D
-@ Overscores and underscores
-FE49 DASHED OVERLINE
- # 203E overline
-FE4A CENTRELINE OVERLINE
- # 203E overline
-FE4B WAVY OVERLINE
- # 203E overline
-FE4C DOUBLE WAVY OVERLINE
- # 203E overline
-FE4D DASHED LOW LINE
- # 005F low line
-FE4E CENTRELINE LOW LINE
- # 005F low line
-FE4F WAVY LOW LINE
- # 005F low line
-@@ FE50 Small Form Variants FE6F
-@+ Compatibility variants for CNS 11643.
-@ Small form variants
-FE50 SMALL COMMA
- x (presentation form for vertical comma - FE10)
- # <small> 002C
-FE51 SMALL IDEOGRAPHIC COMMA
- x (presentation form for vertical ideographic comma - FE11)
- x (sesame dot - FE45)
- # <small> 3001
-FE52 SMALL FULL STOP
- # <small> 002E
-FE54 SMALL SEMICOLON
- x (presentation form for vertical semicolon - FE14)
- # <small> 003B
-FE55 SMALL COLON
- x (presentation form for vertical colon - FE13)
- # <small> 003A
-FE56 SMALL QUESTION MARK
- # <small> 003F
-FE57 SMALL EXCLAMATION MARK
- # <small> 0021
-FE58 SMALL EM DASH
- # <small> 2014
-FE59 SMALL LEFT PARENTHESIS
- # <small> 0028
-FE5A SMALL RIGHT PARENTHESIS
- # <small> 0029
-FE5B SMALL LEFT CURLY BRACKET
- # <small> 007B
-FE5C SMALL RIGHT CURLY BRACKET
- # <small> 007D
-FE5D SMALL LEFT TORTOISE SHELL BRACKET
- # <small> 3014
-FE5E SMALL RIGHT TORTOISE SHELL BRACKET
- # <small> 3015
-FE5F SMALL NUMBER SIGN
- # <small> 0023
-FE60 SMALL AMPERSAND
- # <small> 0026
-FE61 SMALL ASTERISK
- # <small> 002A
-FE62 SMALL PLUS SIGN
- # <small> 002B
-FE63 SMALL HYPHEN-MINUS
- # <small> 002D
-FE64 SMALL LESS-THAN SIGN
- # <small> 003C
-FE65 SMALL GREATER-THAN SIGN
- # <small> 003E
-FE66 SMALL EQUALS SIGN
- # <small> 003D
-FE68 SMALL REVERSE SOLIDUS
- # <small> 005C
-FE69 SMALL DOLLAR SIGN
- # <small> 0024
-FE6A SMALL PERCENT SIGN
- # <small> 0025
-FE6B SMALL COMMERCIAL AT
- # <small> 0040
-@@ FE70 Arabic Presentation Forms-B FEFF
-@+ Preferred characters are found in the Arabic block 0600 - 06FF. Some of these characters are used for Arabic mathematics where contextual shape variations are important semantically.
-@ Glyphs for spacing forms of Arabic points
-FE70 ARABIC FATHATAN ISOLATED FORM
- # <isolated> 0020 064B
-FE71 ARABIC TATWEEL WITH FATHATAN ABOVE
- # <medial> 0640 064B
-FE72 ARABIC DAMMATAN ISOLATED FORM
- # <isolated> 0020 064C
-@ Glyph part
-FE73 ARABIC TAIL FRAGMENT
- * for compatibility with certain legacy character sets
-@ Glyphs for spacing forms of Arabic points
-FE74 ARABIC KASRATAN ISOLATED FORM
- # <isolated> 0020 064D
-FE76 ARABIC FATHA ISOLATED FORM
- # <isolated> 0020 064E
-FE77 ARABIC FATHA MEDIAL FORM
- # <medial> 0640 064E
-FE78 ARABIC DAMMA ISOLATED FORM
- # <isolated> 0020 064F
-FE79 ARABIC DAMMA MEDIAL FORM
- # <medial> 0640 064F
-FE7A ARABIC KASRA ISOLATED FORM
- # <isolated> 0020 0650
-FE7B ARABIC KASRA MEDIAL FORM
- # <medial> 0640 0650
-FE7C ARABIC SHADDA ISOLATED FORM
- # <isolated> 0020 0651
-FE7D ARABIC SHADDA MEDIAL FORM
- # <medial> 0640 0651
-FE7E ARABIC SUKUN ISOLATED FORM
- # <isolated> 0020 0652
-FE7F ARABIC SUKUN MEDIAL FORM
- # <medial> 0640 0652
-@ Basic glyphs for Arabic language contextual forms
-FE80 ARABIC LETTER HAMZA ISOLATED FORM
- # <isolated> 0621
-FE81 ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
- # <isolated> 0622
-FE82 ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
- # <final> 0622
-FE83 ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
- # <isolated> 0623
-FE84 ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
- # <final> 0623
-FE85 ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
- # <isolated> 0624
-FE86 ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
- # <final> 0624
-FE87 ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
- # <isolated> 0625
-FE88 ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
- # <final> 0625
-FE89 ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
- # <isolated> 0626
-FE8A ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
- # <final> 0626
-FE8B ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
- # <initial> 0626
-FE8C ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
- # <medial> 0626
-FE8D ARABIC LETTER ALEF ISOLATED FORM
- # <isolated> 0627
-FE8E ARABIC LETTER ALEF FINAL FORM
- # <final> 0627
-FE8F ARABIC LETTER BEH ISOLATED FORM
- # <isolated> 0628
-FE90 ARABIC LETTER BEH FINAL FORM
- # <final> 0628
-FE91 ARABIC LETTER BEH INITIAL FORM
- # <initial> 0628
-FE92 ARABIC LETTER BEH MEDIAL FORM
- # <medial> 0628
-FE93 ARABIC LETTER TEH MARBUTA ISOLATED FORM
- # <isolated> 0629
-FE94 ARABIC LETTER TEH MARBUTA FINAL FORM
- # <final> 0629
-FE95 ARABIC LETTER TEH ISOLATED FORM
- # <isolated> 062A
-FE96 ARABIC LETTER TEH FINAL FORM
- # <final> 062A
-FE97 ARABIC LETTER TEH INITIAL FORM
- # <initial> 062A
-FE98 ARABIC LETTER TEH MEDIAL FORM
- # <medial> 062A
-FE99 ARABIC LETTER THEH ISOLATED FORM
- # <isolated> 062B
-FE9A ARABIC LETTER THEH FINAL FORM
- # <final> 062B
-FE9B ARABIC LETTER THEH INITIAL FORM
- # <initial> 062B
-FE9C ARABIC LETTER THEH MEDIAL FORM
- # <medial> 062B
-FE9D ARABIC LETTER JEEM ISOLATED FORM
- # <isolated> 062C
-FE9E ARABIC LETTER JEEM FINAL FORM
- # <final> 062C
-FE9F ARABIC LETTER JEEM INITIAL FORM
- # <initial> 062C
-FEA0 ARABIC LETTER JEEM MEDIAL FORM
- # <medial> 062C
-FEA1 ARABIC LETTER HAH ISOLATED FORM
- # <isolated> 062D
-FEA2 ARABIC LETTER HAH FINAL FORM
- # <final> 062D
-FEA3 ARABIC LETTER HAH INITIAL FORM
- # <initial> 062D
-FEA4 ARABIC LETTER HAH MEDIAL FORM
- # <medial> 062D
-FEA5 ARABIC LETTER KHAH ISOLATED FORM
- # <isolated> 062E
-FEA6 ARABIC LETTER KHAH FINAL FORM
- # <final> 062E
-FEA7 ARABIC LETTER KHAH INITIAL FORM
- # <initial> 062E
-FEA8 ARABIC LETTER KHAH MEDIAL FORM
- # <medial> 062E
-FEA9 ARABIC LETTER DAL ISOLATED FORM
- # <isolated> 062F
-FEAA ARABIC LETTER DAL FINAL FORM
- # <final> 062F
-FEAB ARABIC LETTER THAL ISOLATED FORM
- # <isolated> 0630
-FEAC ARABIC LETTER THAL FINAL FORM
- # <final> 0630
-FEAD ARABIC LETTER REH ISOLATED FORM
- # <isolated> 0631
-FEAE ARABIC LETTER REH FINAL FORM
- # <final> 0631
-FEAF ARABIC LETTER ZAIN ISOLATED FORM
- # <isolated> 0632
-FEB0 ARABIC LETTER ZAIN FINAL FORM
- # <final> 0632
-FEB1 ARABIC LETTER SEEN ISOLATED FORM
- # <isolated> 0633
-FEB2 ARABIC LETTER SEEN FINAL FORM
- # <final> 0633
-FEB3 ARABIC LETTER SEEN INITIAL FORM
- # <initial> 0633
-FEB4 ARABIC LETTER SEEN MEDIAL FORM
- # <medial> 0633
-FEB5 ARABIC LETTER SHEEN ISOLATED FORM
- # <isolated> 0634
-FEB6 ARABIC LETTER SHEEN FINAL FORM
- # <final> 0634
-FEB7 ARABIC LETTER SHEEN INITIAL FORM
- # <initial> 0634
-FEB8 ARABIC LETTER SHEEN MEDIAL FORM
- # <medial> 0634
-FEB9 ARABIC LETTER SAD ISOLATED FORM
- # <isolated> 0635
-FEBA ARABIC LETTER SAD FINAL FORM
- # <final> 0635
-FEBB ARABIC LETTER SAD INITIAL FORM
- # <initial> 0635
-FEBC ARABIC LETTER SAD MEDIAL FORM
- # <medial> 0635
-FEBD ARABIC LETTER DAD ISOLATED FORM
- # <isolated> 0636
-FEBE ARABIC LETTER DAD FINAL FORM
- # <final> 0636
-FEBF ARABIC LETTER DAD INITIAL FORM
- # <initial> 0636
-FEC0 ARABIC LETTER DAD MEDIAL FORM
- # <medial> 0636
-FEC1 ARABIC LETTER TAH ISOLATED FORM
- # <isolated> 0637
-FEC2 ARABIC LETTER TAH FINAL FORM
- # <final> 0637
-FEC3 ARABIC LETTER TAH INITIAL FORM
- # <initial> 0637
-FEC4 ARABIC LETTER TAH MEDIAL FORM
- # <medial> 0637
-FEC5 ARABIC LETTER ZAH ISOLATED FORM
- # <isolated> 0638
-FEC6 ARABIC LETTER ZAH FINAL FORM
- # <final> 0638
-FEC7 ARABIC LETTER ZAH INITIAL FORM
- # <initial> 0638
-FEC8 ARABIC LETTER ZAH MEDIAL FORM
- # <medial> 0638
-FEC9 ARABIC LETTER AIN ISOLATED FORM
- # <isolated> 0639
-FECA ARABIC LETTER AIN FINAL FORM
- # <final> 0639
-FECB ARABIC LETTER AIN INITIAL FORM
- # <initial> 0639
-FECC ARABIC LETTER AIN MEDIAL FORM
- # <medial> 0639
-FECD ARABIC LETTER GHAIN ISOLATED FORM
- # <isolated> 063A
-FECE ARABIC LETTER GHAIN FINAL FORM
- # <final> 063A
-FECF ARABIC LETTER GHAIN INITIAL FORM
- # <initial> 063A
-FED0 ARABIC LETTER GHAIN MEDIAL FORM
- # <medial> 063A
-FED1 ARABIC LETTER FEH ISOLATED FORM
- # <isolated> 0641
-FED2 ARABIC LETTER FEH FINAL FORM
- # <final> 0641
-FED3 ARABIC LETTER FEH INITIAL FORM
- # <initial> 0641
-FED4 ARABIC LETTER FEH MEDIAL FORM
- # <medial> 0641
-FED5 ARABIC LETTER QAF ISOLATED FORM
- # <isolated> 0642
-FED6 ARABIC LETTER QAF FINAL FORM
- # <final> 0642
-FED7 ARABIC LETTER QAF INITIAL FORM
- # <initial> 0642
-FED8 ARABIC LETTER QAF MEDIAL FORM
- # <medial> 0642
-FED9 ARABIC LETTER KAF ISOLATED FORM
- # <isolated> 0643
-FEDA ARABIC LETTER KAF FINAL FORM
- # <final> 0643
-FEDB ARABIC LETTER KAF INITIAL FORM
- # <initial> 0643
-FEDC ARABIC LETTER KAF MEDIAL FORM
- # <medial> 0643
-FEDD ARABIC LETTER LAM ISOLATED FORM
- # <isolated> 0644
-FEDE ARABIC LETTER LAM FINAL FORM
- # <final> 0644
-FEDF ARABIC LETTER LAM INITIAL FORM
- # <initial> 0644
-FEE0 ARABIC LETTER LAM MEDIAL FORM
- # <medial> 0644
-FEE1 ARABIC LETTER MEEM ISOLATED FORM
- # <isolated> 0645
-FEE2 ARABIC LETTER MEEM FINAL FORM
- # <final> 0645
-FEE3 ARABIC LETTER MEEM INITIAL FORM
- # <initial> 0645
-FEE4 ARABIC LETTER MEEM MEDIAL FORM
- # <medial> 0645
-FEE5 ARABIC LETTER NOON ISOLATED FORM
- # <isolated> 0646
-FEE6 ARABIC LETTER NOON FINAL FORM
- # <final> 0646
-FEE7 ARABIC LETTER NOON INITIAL FORM
- # <initial> 0646
-FEE8 ARABIC LETTER NOON MEDIAL FORM
- # <medial> 0646
-FEE9 ARABIC LETTER HEH ISOLATED FORM
- # <isolated> 0647
-FEEA ARABIC LETTER HEH FINAL FORM
- # <final> 0647
-FEEB ARABIC LETTER HEH INITIAL FORM
- # <initial> 0647
-FEEC ARABIC LETTER HEH MEDIAL FORM
- # <medial> 0647
-FEED ARABIC LETTER WAW ISOLATED FORM
- # <isolated> 0648
-FEEE ARABIC LETTER WAW FINAL FORM
- # <final> 0648
-FEEF ARABIC LETTER ALEF MAKSURA ISOLATED FORM
- # <isolated> 0649
-FEF0 ARABIC LETTER ALEF MAKSURA FINAL FORM
- # <final> 0649
-FEF1 ARABIC LETTER YEH ISOLATED FORM
- # <isolated> 064A
-FEF2 ARABIC LETTER YEH FINAL FORM
- # <final> 064A
-FEF3 ARABIC LETTER YEH INITIAL FORM
- # <initial> 064A
-FEF4 ARABIC LETTER YEH MEDIAL FORM
- # <medial> 064A
-FEF5 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
- # <isolated> 0644 0622
-FEF6 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
- # <final> 0644 0622
-FEF7 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
- # <isolated> 0644 0623
-FEF8 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
- # <final> 0644 0623
-FEF9 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
- # <isolated> 0644 0625
-FEFA ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
- # <final> 0644 0625
-FEFB ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
- # <isolated> 0644 0627
-FEFC ARABIC LIGATURE LAM WITH ALEF FINAL FORM
- # <final> 0644 0627
-@ Special
-FEFF ZERO WIDTH NO-BREAK SPACE
- = BYTE ORDER MARK (BOM), ZWNBSP
- * may be used to detect byte order by contrast with the noncharacter code point FFFE
- * use as an indication of non-breaking is deprecated; see 2060 instead
- x (zero width space - 200B)
- x (word joiner - 2060)
- x (<not a character> - FFFE)
-@@ FF00 Halfwidth and Fullwidth Forms FFEF
-@ Fullwidth ASCII variants
-@+ See ASCII 0020 - 007E
-FF01 FULLWIDTH EXCLAMATION MARK
- # <wide> 0021
-FF02 FULLWIDTH QUOTATION MARK
- # <wide> 0022
-FF03 FULLWIDTH NUMBER SIGN
- # <wide> 0023
-FF04 FULLWIDTH DOLLAR SIGN
- # <wide> 0024
-FF05 FULLWIDTH PERCENT SIGN
- # <wide> 0025
-FF06 FULLWIDTH AMPERSAND
- # <wide> 0026
-FF07 FULLWIDTH APOSTROPHE
- # <wide> 0027
-FF08 FULLWIDTH LEFT PARENTHESIS
- # <wide> 0028
-FF09 FULLWIDTH RIGHT PARENTHESIS
- # <wide> 0029
-FF0A FULLWIDTH ASTERISK
- # <wide> 002A
-FF0B FULLWIDTH PLUS SIGN
- # <wide> 002B
-FF0C FULLWIDTH COMMA
- # <wide> 002C
-FF0D FULLWIDTH HYPHEN-MINUS
- # <wide> 002D
-FF0E FULLWIDTH FULL STOP
- # <wide> 002E
-FF0F FULLWIDTH SOLIDUS
- # <wide> 002F
-FF10 FULLWIDTH DIGIT ZERO
- # <wide> 0030
-FF11 FULLWIDTH DIGIT ONE
- # <wide> 0031
-FF12 FULLWIDTH DIGIT TWO
- # <wide> 0032
-FF13 FULLWIDTH DIGIT THREE
- # <wide> 0033
-FF14 FULLWIDTH DIGIT FOUR
- # <wide> 0034
-FF15 FULLWIDTH DIGIT FIVE
- # <wide> 0035
-FF16 FULLWIDTH DIGIT SIX
- # <wide> 0036
-FF17 FULLWIDTH DIGIT SEVEN
- # <wide> 0037
-FF18 FULLWIDTH DIGIT EIGHT
- # <wide> 0038
-FF19 FULLWIDTH DIGIT NINE
- # <wide> 0039
-FF1A FULLWIDTH COLON
- # <wide> 003A
-FF1B FULLWIDTH SEMICOLON
- # <wide> 003B
-FF1C FULLWIDTH LESS-THAN SIGN
- # <wide> 003C
-FF1D FULLWIDTH EQUALS SIGN
- # <wide> 003D
-FF1E FULLWIDTH GREATER-THAN SIGN
- # <wide> 003E
-FF1F FULLWIDTH QUESTION MARK
- # <wide> 003F
-FF20 FULLWIDTH COMMERCIAL AT
- # <wide> 0040
-FF21 FULLWIDTH LATIN CAPITAL LETTER A
- # <wide> 0041
-FF22 FULLWIDTH LATIN CAPITAL LETTER B
- # <wide> 0042
-FF23 FULLWIDTH LATIN CAPITAL LETTER C
- # <wide> 0043
-FF24 FULLWIDTH LATIN CAPITAL LETTER D
- # <wide> 0044
-FF25 FULLWIDTH LATIN CAPITAL LETTER E
- # <wide> 0045
-FF26 FULLWIDTH LATIN CAPITAL LETTER F
- # <wide> 0046
-FF27 FULLWIDTH LATIN CAPITAL LETTER G
- # <wide> 0047
-FF28 FULLWIDTH LATIN CAPITAL LETTER H
- # <wide> 0048
-FF29 FULLWIDTH LATIN CAPITAL LETTER I
- # <wide> 0049
-FF2A FULLWIDTH LATIN CAPITAL LETTER J
- # <wide> 004A
-FF2B FULLWIDTH LATIN CAPITAL LETTER K
- # <wide> 004B
-FF2C FULLWIDTH LATIN CAPITAL LETTER L
- # <wide> 004C
-FF2D FULLWIDTH LATIN CAPITAL LETTER M
- # <wide> 004D
-FF2E FULLWIDTH LATIN CAPITAL LETTER N
- # <wide> 004E
-FF2F FULLWIDTH LATIN CAPITAL LETTER O
- # <wide> 004F
-FF30 FULLWIDTH LATIN CAPITAL LETTER P
- # <wide> 0050
-FF31 FULLWIDTH LATIN CAPITAL LETTER Q
- # <wide> 0051
-FF32 FULLWIDTH LATIN CAPITAL LETTER R
- # <wide> 0052
-FF33 FULLWIDTH LATIN CAPITAL LETTER S
- # <wide> 0053
-FF34 FULLWIDTH LATIN CAPITAL LETTER T
- # <wide> 0054
-FF35 FULLWIDTH LATIN CAPITAL LETTER U
- # <wide> 0055
-FF36 FULLWIDTH LATIN CAPITAL LETTER V
- # <wide> 0056
-FF37 FULLWIDTH LATIN CAPITAL LETTER W
- # <wide> 0057
-FF38 FULLWIDTH LATIN CAPITAL LETTER X
- # <wide> 0058
-FF39 FULLWIDTH LATIN CAPITAL LETTER Y
- # <wide> 0059
-FF3A FULLWIDTH LATIN CAPITAL LETTER Z
- # <wide> 005A
-FF3B FULLWIDTH LEFT SQUARE BRACKET
- # <wide> 005B
-FF3C FULLWIDTH REVERSE SOLIDUS
- # <wide> 005C
-FF3D FULLWIDTH RIGHT SQUARE BRACKET
- # <wide> 005D
-FF3E FULLWIDTH CIRCUMFLEX ACCENT
- # <wide> 005E
-FF3F FULLWIDTH LOW LINE
- # <wide> 005F
-FF40 FULLWIDTH GRAVE ACCENT
- # <wide> 0060
-FF41 FULLWIDTH LATIN SMALL LETTER A
- # <wide> 0061
-FF42 FULLWIDTH LATIN SMALL LETTER B
- # <wide> 0062
-FF43 FULLWIDTH LATIN SMALL LETTER C
- # <wide> 0063
-FF44 FULLWIDTH LATIN SMALL LETTER D
- # <wide> 0064
-FF45 FULLWIDTH LATIN SMALL LETTER E
- # <wide> 0065
-FF46 FULLWIDTH LATIN SMALL LETTER F
- # <wide> 0066
-FF47 FULLWIDTH LATIN SMALL LETTER G
- # <wide> 0067
-FF48 FULLWIDTH LATIN SMALL LETTER H
- # <wide> 0068
-FF49 FULLWIDTH LATIN SMALL LETTER I
- # <wide> 0069
-FF4A FULLWIDTH LATIN SMALL LETTER J
- # <wide> 006A
-FF4B FULLWIDTH LATIN SMALL LETTER K
- # <wide> 006B
-FF4C FULLWIDTH LATIN SMALL LETTER L
- # <wide> 006C
-FF4D FULLWIDTH LATIN SMALL LETTER M
- # <wide> 006D
-FF4E FULLWIDTH LATIN SMALL LETTER N
- # <wide> 006E
-FF4F FULLWIDTH LATIN SMALL LETTER O
- # <wide> 006F
-FF50 FULLWIDTH LATIN SMALL LETTER P
- # <wide> 0070
-FF51 FULLWIDTH LATIN SMALL LETTER Q
- # <wide> 0071
-FF52 FULLWIDTH LATIN SMALL LETTER R
- # <wide> 0072
-FF53 FULLWIDTH LATIN SMALL LETTER S
- # <wide> 0073
-FF54 FULLWIDTH LATIN SMALL LETTER T
- # <wide> 0074
-FF55 FULLWIDTH LATIN SMALL LETTER U
- # <wide> 0075
-FF56 FULLWIDTH LATIN SMALL LETTER V
- # <wide> 0076
-FF57 FULLWIDTH LATIN SMALL LETTER W
- # <wide> 0077
-FF58 FULLWIDTH LATIN SMALL LETTER X
- # <wide> 0078
-FF59 FULLWIDTH LATIN SMALL LETTER Y
- # <wide> 0079
-FF5A FULLWIDTH LATIN SMALL LETTER Z
- # <wide> 007A
-FF5B FULLWIDTH LEFT CURLY BRACKET
- # <wide> 007B
-FF5C FULLWIDTH VERTICAL LINE
- # <wide> 007C
-FF5D FULLWIDTH RIGHT CURLY BRACKET
- # <wide> 007D
-FF5E FULLWIDTH TILDE
- # <wide> 007E
-@ Fullwidth brackets
-FF5F FULLWIDTH LEFT WHITE PARENTHESIS
- * the most commonly occurring glyph variant looks like doubled parentheses
- x (left double parenthesis - 2E28)
- # <wide> 2985
-FF60 FULLWIDTH RIGHT WHITE PARENTHESIS
- # <wide> 2986
-@ Halfwidth CJK punctuation
-@+ See CJK punctuation 3000 - 303F
-FF61 HALFWIDTH IDEOGRAPHIC FULL STOP
- # <narrow> 3002
-FF62 HALFWIDTH LEFT CORNER BRACKET
- # <narrow> 300C
-FF63 HALFWIDTH RIGHT CORNER BRACKET
- # <narrow> 300D
-FF64 HALFWIDTH IDEOGRAPHIC COMMA
- # <narrow> 3001
-@ Halfwidth Katakana variants
-@+ See Katakana 30A0 - 30FF
-FF65 HALFWIDTH KATAKANA MIDDLE DOT
- # <narrow> 30FB
-FF66 HALFWIDTH KATAKANA LETTER WO
- # <narrow> 30F2
-FF67 HALFWIDTH KATAKANA LETTER SMALL A
- # <narrow> 30A1
-FF68 HALFWIDTH KATAKANA LETTER SMALL I
- # <narrow> 30A3
-FF69 HALFWIDTH KATAKANA LETTER SMALL U
- # <narrow> 30A5
-FF6A HALFWIDTH KATAKANA LETTER SMALL E
- # <narrow> 30A7
-FF6B HALFWIDTH KATAKANA LETTER SMALL O
- # <narrow> 30A9
-FF6C HALFWIDTH KATAKANA LETTER SMALL YA
- # <narrow> 30E3
-FF6D HALFWIDTH KATAKANA LETTER SMALL YU
- # <narrow> 30E5
-FF6E HALFWIDTH KATAKANA LETTER SMALL YO
- # <narrow> 30E7
-FF6F HALFWIDTH KATAKANA LETTER SMALL TU
- # <narrow> 30C3
-FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
- # <narrow> 30FC
-FF71 HALFWIDTH KATAKANA LETTER A
- # <narrow> 30A2
-FF72 HALFWIDTH KATAKANA LETTER I
- # <narrow> 30A4
-FF73 HALFWIDTH KATAKANA LETTER U
- # <narrow> 30A6
-FF74 HALFWIDTH KATAKANA LETTER E
- # <narrow> 30A8
-FF75 HALFWIDTH KATAKANA LETTER O
- # <narrow> 30AA
-FF76 HALFWIDTH KATAKANA LETTER KA
- # <narrow> 30AB
-FF77 HALFWIDTH KATAKANA LETTER KI
- # <narrow> 30AD
-FF78 HALFWIDTH KATAKANA LETTER KU
- # <narrow> 30AF
-FF79 HALFWIDTH KATAKANA LETTER KE
- # <narrow> 30B1
-FF7A HALFWIDTH KATAKANA LETTER KO
- # <narrow> 30B3
-FF7B HALFWIDTH KATAKANA LETTER SA
- # <narrow> 30B5
-FF7C HALFWIDTH KATAKANA LETTER SI
- # <narrow> 30B7
-FF7D HALFWIDTH KATAKANA LETTER SU
- # <narrow> 30B9
-FF7E HALFWIDTH KATAKANA LETTER SE
- # <narrow> 30BB
-FF7F HALFWIDTH KATAKANA LETTER SO
- # <narrow> 30BD
-FF80 HALFWIDTH KATAKANA LETTER TA
- # <narrow> 30BF
-FF81 HALFWIDTH KATAKANA LETTER TI
- # <narrow> 30C1
-FF82 HALFWIDTH KATAKANA LETTER TU
- # <narrow> 30C4
-FF83 HALFWIDTH KATAKANA LETTER TE
- # <narrow> 30C6
-FF84 HALFWIDTH KATAKANA LETTER TO
- # <narrow> 30C8
-FF85 HALFWIDTH KATAKANA LETTER NA
- # <narrow> 30CA
-FF86 HALFWIDTH KATAKANA LETTER NI
- # <narrow> 30CB
-FF87 HALFWIDTH KATAKANA LETTER NU
- # <narrow> 30CC
-FF88 HALFWIDTH KATAKANA LETTER NE
- # <narrow> 30CD
-FF89 HALFWIDTH KATAKANA LETTER NO
- # <narrow> 30CE
-FF8A HALFWIDTH KATAKANA LETTER HA
- # <narrow> 30CF
-FF8B HALFWIDTH KATAKANA LETTER HI
- # <narrow> 30D2
-FF8C HALFWIDTH KATAKANA LETTER HU
- # <narrow> 30D5
-FF8D HALFWIDTH KATAKANA LETTER HE
- # <narrow> 30D8
-FF8E HALFWIDTH KATAKANA LETTER HO
- # <narrow> 30DB
-FF8F HALFWIDTH KATAKANA LETTER MA
- # <narrow> 30DE
-FF90 HALFWIDTH KATAKANA LETTER MI
- # <narrow> 30DF
-FF91 HALFWIDTH KATAKANA LETTER MU
- # <narrow> 30E0
-FF92 HALFWIDTH KATAKANA LETTER ME
- # <narrow> 30E1
-FF93 HALFWIDTH KATAKANA LETTER MO
- # <narrow> 30E2
-FF94 HALFWIDTH KATAKANA LETTER YA
- # <narrow> 30E4
-FF95 HALFWIDTH KATAKANA LETTER YU
- # <narrow> 30E6
-FF96 HALFWIDTH KATAKANA LETTER YO
- # <narrow> 30E8
-FF97 HALFWIDTH KATAKANA LETTER RA
- # <narrow> 30E9
-FF98 HALFWIDTH KATAKANA LETTER RI
- # <narrow> 30EA
-FF99 HALFWIDTH KATAKANA LETTER RU
- # <narrow> 30EB
-FF9A HALFWIDTH KATAKANA LETTER RE
- # <narrow> 30EC
-FF9B HALFWIDTH KATAKANA LETTER RO
- # <narrow> 30ED
-FF9C HALFWIDTH KATAKANA LETTER WA
- # <narrow> 30EF
-FF9D HALFWIDTH KATAKANA LETTER N
- # <narrow> 30F3
-FF9E HALFWIDTH KATAKANA VOICED SOUND MARK
- # <narrow> 3099
-FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
- # <narrow> 309A
-@ Halfwidth Hangul variants
-@+ See Hangul Compatibility Jamo 3130 - 318F
-FFA0 HALFWIDTH HANGUL FILLER
- # <narrow> 3164
-FFA1 HALFWIDTH HANGUL LETTER KIYEOK
- # <narrow> 3131
-FFA2 HALFWIDTH HANGUL LETTER SSANGKIYEOK
- # <narrow> 3132
-FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS
- # <narrow> 3133
-FFA4 HALFWIDTH HANGUL LETTER NIEUN
- # <narrow> 3134
-FFA5 HALFWIDTH HANGUL LETTER NIEUN-CIEUC
- # <narrow> 3135
-FFA6 HALFWIDTH HANGUL LETTER NIEUN-HIEUH
- # <narrow> 3136
-FFA7 HALFWIDTH HANGUL LETTER TIKEUT
- # <narrow> 3137
-FFA8 HALFWIDTH HANGUL LETTER SSANGTIKEUT
- # <narrow> 3138
-FFA9 HALFWIDTH HANGUL LETTER RIEUL
- # <narrow> 3139
-FFAA HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
- # <narrow> 313A
-FFAB HALFWIDTH HANGUL LETTER RIEUL-MIEUM
- # <narrow> 313B
-FFAC HALFWIDTH HANGUL LETTER RIEUL-PIEUP
- # <narrow> 313C
-FFAD HALFWIDTH HANGUL LETTER RIEUL-SIOS
- # <narrow> 313D
-FFAE HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
- # <narrow> 313E
-FFAF HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
- # <narrow> 313F
-FFB0 HALFWIDTH HANGUL LETTER RIEUL-HIEUH
- # <narrow> 3140
-FFB1 HALFWIDTH HANGUL LETTER MIEUM
- # <narrow> 3141
-FFB2 HALFWIDTH HANGUL LETTER PIEUP
- # <narrow> 3142
-FFB3 HALFWIDTH HANGUL LETTER SSANGPIEUP
- # <narrow> 3143
-FFB4 HALFWIDTH HANGUL LETTER PIEUP-SIOS
- # <narrow> 3144
-FFB5 HALFWIDTH HANGUL LETTER SIOS
- # <narrow> 3145
-FFB6 HALFWIDTH HANGUL LETTER SSANGSIOS
- # <narrow> 3146
-FFB7 HALFWIDTH HANGUL LETTER IEUNG
- # <narrow> 3147
-FFB8 HALFWIDTH HANGUL LETTER CIEUC
- # <narrow> 3148
-FFB9 HALFWIDTH HANGUL LETTER SSANGCIEUC
- # <narrow> 3149
-FFBA HALFWIDTH HANGUL LETTER CHIEUCH
- # <narrow> 314A
-FFBB HALFWIDTH HANGUL LETTER KHIEUKH
- # <narrow> 314B
-FFBC HALFWIDTH HANGUL LETTER THIEUTH
- # <narrow> 314C
-FFBD HALFWIDTH HANGUL LETTER PHIEUPH
- # <narrow> 314D
-FFBE HALFWIDTH HANGUL LETTER HIEUH
- # <narrow> 314E
-FFC2 HALFWIDTH HANGUL LETTER A
- # <narrow> 314F
-FFC3 HALFWIDTH HANGUL LETTER AE
- # <narrow> 3150
-FFC4 HALFWIDTH HANGUL LETTER YA
- # <narrow> 3151
-FFC5 HALFWIDTH HANGUL LETTER YAE
- # <narrow> 3152
-FFC6 HALFWIDTH HANGUL LETTER EO
- # <narrow> 3153
-FFC7 HALFWIDTH HANGUL LETTER E
- # <narrow> 3154
-FFCA HALFWIDTH HANGUL LETTER YEO
- # <narrow> 3155
-FFCB HALFWIDTH HANGUL LETTER YE
- # <narrow> 3156
-FFCC HALFWIDTH HANGUL LETTER O
- # <narrow> 3157
-FFCD HALFWIDTH HANGUL LETTER WA
- # <narrow> 3158
-FFCE HALFWIDTH HANGUL LETTER WAE
- # <narrow> 3159
-FFCF HALFWIDTH HANGUL LETTER OE
- # <narrow> 315A
-FFD2 HALFWIDTH HANGUL LETTER YO
- # <narrow> 315B
-FFD3 HALFWIDTH HANGUL LETTER U
- # <narrow> 315C
-FFD4 HALFWIDTH HANGUL LETTER WEO
- # <narrow> 315D
-FFD5 HALFWIDTH HANGUL LETTER WE
- # <narrow> 315E
-FFD6 HALFWIDTH HANGUL LETTER WI
- # <narrow> 315F
-FFD7 HALFWIDTH HANGUL LETTER YU
- # <narrow> 3160
-FFDA HALFWIDTH HANGUL LETTER EU
- # <narrow> 3161
-FFDB HALFWIDTH HANGUL LETTER YI
- # <narrow> 3162
-FFDC HALFWIDTH HANGUL LETTER I
- # <narrow> 3163
-@ Fullwidth symbol variants
-@+ See Latin-1 00A0 - 00FF
-FFE0 FULLWIDTH CENT SIGN
- # <wide> 00A2
-FFE1 FULLWIDTH POUND SIGN
- # <wide> 00A3
-FFE2 FULLWIDTH NOT SIGN
- # <wide> 00AC
-FFE3 FULLWIDTH MACRON
- * sometimes treated as fullwidth overline
- x (overline - 203E)
- # <wide> 00AF
-FFE4 FULLWIDTH BROKEN BAR
- # <wide> 00A6
-FFE5 FULLWIDTH YEN SIGN
- # <wide> 00A5
-FFE6 FULLWIDTH WON SIGN
- # <wide> 20A9
-@ Halfwidth symbol variants
-FFE8 HALFWIDTH FORMS LIGHT VERTICAL
- # <narrow> 2502
-FFE9 HALFWIDTH LEFTWARDS ARROW
- # <narrow> 2190
-FFEA HALFWIDTH UPWARDS ARROW
- # <narrow> 2191
-FFEB HALFWIDTH RIGHTWARDS ARROW
- # <narrow> 2192
-FFEC HALFWIDTH DOWNWARDS ARROW
- # <narrow> 2193
-FFED HALFWIDTH BLACK SQUARE
- # <narrow> 25A0
-FFEE HALFWIDTH WHITE CIRCLE
- # <narrow> 25CB
-@@ FFF0 Specials FFFF
-@ Interlinear annotation
-@+ Used internally for Japanese Ruby (furigana), etc.
-FFF9 INTERLINEAR ANNOTATION ANCHOR
- * marks start of annotated text
-FFFA INTERLINEAR ANNOTATION SEPARATOR
- * marks start of annotating character(s)
-FFFB INTERLINEAR ANNOTATION TERMINATOR
- * marks end of annotation block
-@ Replacement characters
-FFFC OBJECT REPLACEMENT CHARACTER
- * used as placeholder in text for an otherwise unspecified object
-FFFD REPLACEMENT CHARACTER
- * used to replace an incoming character whose value is unknown or unrepresentable in Unicode
- * compare the use of 001A as a control character to indicate the substitute function
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-FFFE <not a character>
- * the value FFFE is guaranteed not to be a Unicode character at all
- * may be used to detect byte order by contrast with FEFF which is a character
- x (zero width no-break space - FEFF)
-FFFF <not a character>
- * the value FFFF is guaranteed not to be a Unicode character at all
-@@ 10000 Linear B Syllabary 1007F
-@@+
-@ Basic syllables
-10000 LINEAR B SYLLABLE B008 A
-10001 LINEAR B SYLLABLE B038 E
-10002 LINEAR B SYLLABLE B028 I
-10003 LINEAR B SYLLABLE B061 O
-10004 LINEAR B SYLLABLE B010 U
-10005 LINEAR B SYLLABLE B001 DA
-10006 LINEAR B SYLLABLE B045 DE
-10007 LINEAR B SYLLABLE B007 DI
-10008 LINEAR B SYLLABLE B014 DO
-10009 LINEAR B SYLLABLE B051 DU
-1000A LINEAR B SYLLABLE B057 JA
-1000B LINEAR B SYLLABLE B046 JE
-1000D LINEAR B SYLLABLE B036 JO
-1000E LINEAR B SYLLABLE B065 JU
- = ideogram B129 flour
-1000F LINEAR B SYLLABLE B077 KA
-10010 LINEAR B SYLLABLE B044 KE
-10011 LINEAR B SYLLABLE B067 KI
-10012 LINEAR B SYLLABLE B070 KO
-10013 LINEAR B SYLLABLE B081 KU
-10014 LINEAR B SYLLABLE B080 MA
-10015 LINEAR B SYLLABLE B013 ME
-10016 LINEAR B SYLLABLE B073 MI
-10017 LINEAR B SYLLABLE B015 MO
-10018 LINEAR B SYLLABLE B023 MU
- = ideogram B109 ox
-10019 LINEAR B SYLLABLE B006 NA
-1001A LINEAR B SYLLABLE B024 NE
-1001B LINEAR B SYLLABLE B030 NI
- = ideogram B030 figs
-1001C LINEAR B SYLLABLE B052 NO
-1001D LINEAR B SYLLABLE B055 NU
-1001E LINEAR B SYLLABLE B003 PA
-1001F LINEAR B SYLLABLE B072 PE
-10020 LINEAR B SYLLABLE B039 PI
-10021 LINEAR B SYLLABLE B011 PO
-10022 LINEAR B SYLLABLE B050 PU
-10023 LINEAR B SYLLABLE B016 QA
-10024 LINEAR B SYLLABLE B078 QE
-10025 LINEAR B SYLLABLE B021 QI
- = ideogram B106 sheep
-10026 LINEAR B SYLLABLE B032 QO
-10028 LINEAR B SYLLABLE B060 RA
-10029 LINEAR B SYLLABLE B027 RE
-1002A LINEAR B SYLLABLE B053 RI
-1002B LINEAR B SYLLABLE B002 RO
-1002C LINEAR B SYLLABLE B026 RU
-1002D LINEAR B SYLLABLE B031 SA
- = ideogram B031 flax
-1002E LINEAR B SYLLABLE B009 SE
-1002F LINEAR B SYLLABLE B041 SI
-10030 LINEAR B SYLLABLE B012 SO
-10031 LINEAR B SYLLABLE B058 SU
-10032 LINEAR B SYLLABLE B059 TA
-10033 LINEAR B SYLLABLE B004 TE
-10034 LINEAR B SYLLABLE B037 TI
-10035 LINEAR B SYLLABLE B005 TO
-10036 LINEAR B SYLLABLE B069 TU
-10037 LINEAR B SYLLABLE B054 WA
-10038 LINEAR B SYLLABLE B075 WE
-10039 LINEAR B SYLLABLE B040 WI
-1003A LINEAR B SYLLABLE B042 WO
-1003C LINEAR B SYLLABLE B017 ZA
-1003D LINEAR B SYLLABLE B074 ZE
-1003F LINEAR B SYLLABLE B020 ZO
-@ Supplementary signs
-10040 LINEAR B SYLLABLE B025 A2
-10041 LINEAR B SYLLABLE B043 A3
-10042 LINEAR B SYLLABLE B085 AU
- = ideogram B108 pig
-10043 LINEAR B SYLLABLE B071 DWE
-10044 LINEAR B SYLLABLE B090 DWO
-10045 LINEAR B SYLLABLE B048 NWA
-10046 LINEAR B SYLLABLE B029 PU2
-10047 LINEAR B SYLLABLE B062 PTE
-10048 LINEAR B SYLLABLE B076 RA2
-10049 LINEAR B SYLLABLE B033 RA3
- = ideogram B144 saffron
-1004A LINEAR B SYLLABLE B068 RO2
-1004B LINEAR B SYLLABLE B066 TA2
-1004C LINEAR B SYLLABLE B087 TWE
-1004D LINEAR B SYLLABLE B091 TWO
-@ Symbols
-10050 LINEAR B SYMBOL B018
-10051 LINEAR B SYMBOL B019
-10052 LINEAR B SYMBOL B022
- = ideogram B107 goat
-10053 LINEAR B SYMBOL B034
-10054 LINEAR B SYMBOL B047
-10055 LINEAR B SYMBOL B049
-10056 LINEAR B SYMBOL B056
-10057 LINEAR B SYMBOL B063
-10058 LINEAR B SYMBOL B064
-10059 LINEAR B SYMBOL B079
-1005A LINEAR B SYMBOL B082
-1005B LINEAR B SYMBOL B083
-1005C LINEAR B SYMBOL B086
-1005D LINEAR B SYMBOL B089
-@@ 10080 Linear B Ideograms 100FF
-@+ Some Linear B syllables are also used as Linear B ideograms.
- x (linear b syllable b021 qi - 10025)
- x (linear b symbol b022 - 10052)
- x (linear b syllable b023 mu - 10018)
- x (linear b syllable b030 ni - 1001B)
- x (linear b syllable b031 sa - 1002D)
- x (linear b syllable b033 ra3 - 10049)
- x (linear b syllable b065 ju - 1000E)
- x (linear b syllable b085 au - 10042)
-@ People and animals
-10080 LINEAR B IDEOGRAM B100 MAN
-10081 LINEAR B IDEOGRAM B102 WOMAN
-10082 LINEAR B IDEOGRAM B104 DEER
-10083 LINEAR B IDEOGRAM B105 EQUID
-10084 LINEAR B IDEOGRAM B105F MARE
-10085 LINEAR B IDEOGRAM B105M STALLION
-10086 LINEAR B IDEOGRAM B106F EWE
-10087 LINEAR B IDEOGRAM B106M RAM
-10088 LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 LINEAR B IDEOGRAM B107M HE-GOAT
-1008A LINEAR B IDEOGRAM B108F SOW
-1008B LINEAR B IDEOGRAM B108M BOAR
-1008C LINEAR B IDEOGRAM B109F COW
-1008D LINEAR B IDEOGRAM B109M BULL
-@ Cereals and plants
-1008E LINEAR B IDEOGRAM B120 WHEAT
-1008F LINEAR B IDEOGRAM B121 BARLEY
-10090 LINEAR B IDEOGRAM B122 OLIVE
-10091 LINEAR B IDEOGRAM B123 SPICE
-10092 LINEAR B IDEOGRAM B125 CYPERUS
-10093 LINEAR B MONOGRAM B127 KAPO
- = fruit
-10094 LINEAR B MONOGRAM B128 KANAKO
- = saffron
-@ Extracts
-10095 LINEAR B IDEOGRAM B130 OIL
-10096 LINEAR B IDEOGRAM B131 WINE
-10097 LINEAR B IDEOGRAM B132
-10098 LINEAR B MONOGRAM B133 AREPA
- = ointment
-10099 LINEAR B MONOGRAM B135 MERI
- = honey
-@ Metals
-1009A LINEAR B IDEOGRAM B140 BRONZE
-1009B LINEAR B IDEOGRAM B141 GOLD
-1009C LINEAR B IDEOGRAM B142
-@ Other materials
-1009D LINEAR B IDEOGRAM B145 WOOL
-1009E LINEAR B IDEOGRAM B146
-1009F LINEAR B IDEOGRAM B150
-100A0 LINEAR B IDEOGRAM B151 HORN
-100A1 LINEAR B IDEOGRAM B152
-100A2 LINEAR B IDEOGRAM B153
-100A3 LINEAR B IDEOGRAM B154
-100A4 LINEAR B MONOGRAM B156 TURO2
- = cheese
-100A5 LINEAR B IDEOGRAM B157
-100A6 LINEAR B IDEOGRAM B158
-100A7 LINEAR B IDEOGRAM B159 CLOTH
-100A8 LINEAR B IDEOGRAM B160
-100A9 LINEAR B IDEOGRAM B161
-100AA LINEAR B IDEOGRAM B162 GARMENT
-100AB LINEAR B IDEOGRAM B163 ARMOUR
-100AC LINEAR B IDEOGRAM B164
-100AD LINEAR B IDEOGRAM B165
-100AE LINEAR B IDEOGRAM B166
-100AF LINEAR B IDEOGRAM B167
-100B0 LINEAR B IDEOGRAM B168
-100B1 LINEAR B IDEOGRAM B169
-100B2 LINEAR B IDEOGRAM B170
-100B3 LINEAR B IDEOGRAM B171
-100B4 LINEAR B IDEOGRAM B172
-100B5 LINEAR B IDEOGRAM B173 MONTH
-100B6 LINEAR B IDEOGRAM B174
-100B7 LINEAR B IDEOGRAM B176 TREE
-100B8 LINEAR B IDEOGRAM B177
-100B9 LINEAR B IDEOGRAM B178
-100BA LINEAR B IDEOGRAM B179
-100BB LINEAR B IDEOGRAM B180
-100BC LINEAR B IDEOGRAM B181
-100BD LINEAR B IDEOGRAM B182
-100BE LINEAR B IDEOGRAM B183
-100BF LINEAR B IDEOGRAM B184
- * the shape of this ideogram is only partially known
-100C0 LINEAR B IDEOGRAM B185
-100C1 LINEAR B IDEOGRAM B189
-100C2 LINEAR B IDEOGRAM B190
-100C3 LINEAR B IDEOGRAM B191 HELMET
-100C4 LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 LINEAR B IDEOGRAM B225 BATHTUB
-100C6 LINEAR B IDEOGRAM B230 SPEAR
-100C7 LINEAR B IDEOGRAM B231 ARROW
-100C8 LINEAR B IDEOGRAM B232
-100C9 LINEAR B IDEOGRAM B233 SWORD
- = pugio
-100CA LINEAR B IDEOGRAM B234
-100CB LINEAR B IDEOGRAM B236
- = "gupio", inverted sword
-100CC LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD LINEAR B IDEOGRAM B241 CHARIOT
-100CE LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF LINEAR B IDEOGRAM B243 WHEEL
-100D0 LINEAR B IDEOGRAM B245
-100D1 LINEAR B IDEOGRAM B246
-100D2 LINEAR B MONOGRAM B247 DIPTE
-100D3 LINEAR B IDEOGRAM B248
-100D4 LINEAR B IDEOGRAM B249
-100D5 LINEAR B IDEOGRAM B251
- * the shape of this ideogram is only partially known
-100D6 LINEAR B IDEOGRAM B252
- * the shape of this ideogram is only partially known
-100D7 LINEAR B IDEOGRAM B253
-100D8 LINEAR B IDEOGRAM B254 DART
-100D9 LINEAR B IDEOGRAM B255
-100DA LINEAR B IDEOGRAM B256
-100DB LINEAR B IDEOGRAM B257
-100DC LINEAR B IDEOGRAM B258
-100DD LINEAR B IDEOGRAM B259
-@ Vessels
-100DE LINEAR B IDEOGRAM VESSEL B155
-100DF LINEAR B IDEOGRAM VESSEL B200
-100E0 LINEAR B IDEOGRAM VESSEL B201
-100E1 LINEAR B IDEOGRAM VESSEL B202
-100E2 LINEAR B IDEOGRAM VESSEL B203
-100E3 LINEAR B IDEOGRAM VESSEL B204
-100E4 LINEAR B IDEOGRAM VESSEL B205
-100E5 LINEAR B IDEOGRAM VESSEL B206
-100E6 LINEAR B IDEOGRAM VESSEL B207
-100E7 LINEAR B IDEOGRAM VESSEL B208
-100E8 LINEAR B IDEOGRAM VESSEL B209
-100E9 LINEAR B IDEOGRAM VESSEL B210
-100EA LINEAR B IDEOGRAM VESSEL B211
-100EB LINEAR B IDEOGRAM VESSEL B212
-100EC LINEAR B IDEOGRAM VESSEL B213
-100ED LINEAR B IDEOGRAM VESSEL B214
-100EE LINEAR B IDEOGRAM VESSEL B215
-100EF LINEAR B IDEOGRAM VESSEL B216
-100F0 LINEAR B IDEOGRAM VESSEL B217
-100F1 LINEAR B IDEOGRAM VESSEL B218
-100F2 LINEAR B IDEOGRAM VESSEL B219
-100F3 LINEAR B IDEOGRAM VESSEL B221
-100F4 LINEAR B IDEOGRAM VESSEL B222
-100F5 LINEAR B IDEOGRAM VESSEL B226
-100F6 LINEAR B IDEOGRAM VESSEL B227
-100F7 LINEAR B IDEOGRAM VESSEL B228
-100F8 LINEAR B IDEOGRAM VESSEL B229
-100F9 LINEAR B IDEOGRAM VESSEL B250
-100FA LINEAR B IDEOGRAM VESSEL B305
- * the shape of this ideogram is only partially known
-@@ 10100 Aegean Numbers 1013F
-@ Punctuation
-10100 AEGEAN WORD SEPARATOR LINE
-10101 AEGEAN WORD SEPARATOR DOT
-10102 AEGEAN CHECK MARK
-@ Numbers
-10107 AEGEAN NUMBER ONE
-10108 AEGEAN NUMBER TWO
-10109 AEGEAN NUMBER THREE
-1010A AEGEAN NUMBER FOUR
-1010B AEGEAN NUMBER FIVE
-1010C AEGEAN NUMBER SIX
-1010D AEGEAN NUMBER SEVEN
-1010E AEGEAN NUMBER EIGHT
-1010F AEGEAN NUMBER NINE
-10110 AEGEAN NUMBER TEN
-10111 AEGEAN NUMBER TWENTY
-10112 AEGEAN NUMBER THIRTY
-10113 AEGEAN NUMBER FORTY
-10114 AEGEAN NUMBER FIFTY
-10115 AEGEAN NUMBER SIXTY
-10116 AEGEAN NUMBER SEVENTY
-10117 AEGEAN NUMBER EIGHTY
-10118 AEGEAN NUMBER NINETY
-10119 AEGEAN NUMBER ONE HUNDRED
-1011A AEGEAN NUMBER TWO HUNDRED
-1011B AEGEAN NUMBER THREE HUNDRED
-1011C AEGEAN NUMBER FOUR HUNDRED
-1011D AEGEAN NUMBER FIVE HUNDRED
-1011E AEGEAN NUMBER SIX HUNDRED
-1011F AEGEAN NUMBER SEVEN HUNDRED
-10120 AEGEAN NUMBER EIGHT HUNDRED
-10121 AEGEAN NUMBER NINE HUNDRED
-10122 AEGEAN NUMBER ONE THOUSAND
-10123 AEGEAN NUMBER TWO THOUSAND
-10124 AEGEAN NUMBER THREE THOUSAND
-10125 AEGEAN NUMBER FOUR THOUSAND
-10126 AEGEAN NUMBER FIVE THOUSAND
-10127 AEGEAN NUMBER SIX THOUSAND
-10128 AEGEAN NUMBER SEVEN THOUSAND
-10129 AEGEAN NUMBER EIGHT THOUSAND
-1012A AEGEAN NUMBER NINE THOUSAND
-1012B AEGEAN NUMBER TEN THOUSAND
-1012C AEGEAN NUMBER TWENTY THOUSAND
-1012D AEGEAN NUMBER THIRTY THOUSAND
-1012E AEGEAN NUMBER FORTY THOUSAND
-1012F AEGEAN NUMBER FIFTY THOUSAND
-10130 AEGEAN NUMBER SIXTY THOUSAND
-10131 AEGEAN NUMBER SEVENTY THOUSAND
-10132 AEGEAN NUMBER EIGHTY THOUSAND
-10133 AEGEAN NUMBER NINETY THOUSAND
-@ Measures
-10137 AEGEAN WEIGHT BASE UNIT
-10138 AEGEAN WEIGHT FIRST SUBUNIT
-10139 AEGEAN WEIGHT SECOND SUBUNIT
-1013A AEGEAN WEIGHT THIRD SUBUNIT
-1013B AEGEAN WEIGHT FOURTH SUBUNIT
-1013C AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E AEGEAN MEASURE SECOND SUBUNIT
-1013F AEGEAN MEASURE THIRD SUBUNIT
-@@ 10140 Ancient Greek Numbers 1018F
-@ Ancient Greek acrophonic numerals
-@+ These are shown as sans-serif forms because that corresponds more closely to their appearance in ancient texts.
-10140 GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 GREEK ACROPHONIC ATTIC ONE HALF
-10142 GREEK ACROPHONIC ATTIC ONE DRACHMA
-10143 GREEK ACROPHONIC ATTIC FIVE
-10144 GREEK ACROPHONIC ATTIC FIFTY
-10145 GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10148 GREEK ACROPHONIC ATTIC FIVE TALENTS
-10149 GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-1014F GREEK ACROPHONIC ATTIC FIVE STATERS
-10150 GREEK ACROPHONIC ATTIC TEN STATERS
-10151 GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 GREEK ACROPHONIC ATTIC TEN MNAS
-10158 GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 GREEK ACROPHONIC THESPIAN ONE
-1015A GREEK ACROPHONIC HERMIONIAN ONE
-1015B GREEK ACROPHONIC EPIDAUREAN TWO
- x (two dot punctuation - 205A)
-1015C GREEK ACROPHONIC THESPIAN TWO
-1015D GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
- * top line is at cap height, unlike 10111
- x (aegean number twenty - 10111)
-1015F GREEK ACROPHONIC TROEZENIAN FIVE
-10160 GREEK ACROPHONIC TROEZENIAN TEN
-10161 GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 GREEK ACROPHONIC HERMIONIAN TEN
-10163 GREEK ACROPHONIC MESSENIAN TEN
-10164 GREEK ACROPHONIC THESPIAN TEN
-10165 GREEK ACROPHONIC THESPIAN THIRTY
-10166 GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 GREEK ACROPHONIC THESPIAN FIFTY
-1016A GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10173 GREEK ACROPHONIC DELPHIC FIVE MNAS
-10174 GREEK ACROPHONIC STRATIAN FIFTY MNAS
-@ Ancient Greek papyrological numbers
-10175 GREEK ONE HALF SIGN
-10176 GREEK ONE HALF SIGN ALTERNATE FORM
-10177 GREEK TWO THIRDS SIGN
-10178 GREEK THREE QUARTERS SIGN
-10179 GREEK YEAR SIGN
-1017A GREEK TALENT SIGN
-1017B GREEK DRACHMA SIGN
-1017C GREEK OBOL SIGN
-1017D GREEK TWO OBOLS SIGN
-1017E GREEK THREE OBOLS SIGN
-1017F GREEK FOUR OBOLS SIGN
-10180 GREEK FIVE OBOLS SIGN
-10181 GREEK METRETES SIGN
-10182 GREEK KYATHOS BASE SIGN
-10183 GREEK LITRA SIGN
-10184 GREEK OUNKIA SIGN
-10185 GREEK XESTES SIGN
-10186 GREEK ARTABE SIGN
-10187 GREEK AROURA SIGN
-10188 GREEK GRAMMA SIGN
-10189 GREEK TRYBLION BASE SIGN
-1018A GREEK ZERO SIGN
-@@ 10190 Ancient Symbols 101CF
-@ Roman weights and measures
-10190 ROMAN SEXTANS SIGN
- x (equals sign - 003D)
-10191 ROMAN UNCIA SIGN
- x (hyphen-minus - 002D)
-10192 ROMAN SEMUNCIA SIGN
- x (pound sign - 00A3)
-10193 ROMAN SEXTULA SIGN
- x (cyrillic capital letter reversed dze - A644)
-10194 ROMAN DIMIDIA SEXTULA SIGN
-10195 ROMAN SILIQUA SIGN
-@ Roman coin symbols
-10196 ROMAN DENARIUS SIGN
-10197 ROMAN QUINARIUS SIGN
-10198 ROMAN SESTERTIUS SIGN
-10199 ROMAN DUPONDIUS SIGN
-1019A ROMAN AS SIGN
- x (apl functional symbol slash bar - 233F)
-@ Roman military symbol
-1019B ROMAN CENTURIAL SIGN
-@@ 101D0 Phaistos Disc 101FF
-@+ The characters in this block can be used to represent the signs found on the undeciphered Phaistos Disc.
-@ Signs
-101D0 PHAISTOS DISC SIGN PEDESTRIAN
-101D1 PHAISTOS DISC SIGN PLUMED HEAD
-101D2 PHAISTOS DISC SIGN TATTOOED HEAD
-101D3 PHAISTOS DISC SIGN CAPTIVE
-101D4 PHAISTOS DISC SIGN CHILD
-101D5 PHAISTOS DISC SIGN WOMAN
-101D6 PHAISTOS DISC SIGN HELMET
-101D7 PHAISTOS DISC SIGN GAUNTLET
-101D8 PHAISTOS DISC SIGN TIARA
-101D9 PHAISTOS DISC SIGN ARROW
-101DA PHAISTOS DISC SIGN BOW
-101DB PHAISTOS DISC SIGN SHIELD
-101DC PHAISTOS DISC SIGN CLUB
-101DD PHAISTOS DISC SIGN MANACLES
-101DE PHAISTOS DISC SIGN MATTOCK
-101DF PHAISTOS DISC SIGN SAW
-101E0 PHAISTOS DISC SIGN LID
-101E1 PHAISTOS DISC SIGN BOOMERANG
-101E2 PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3 PHAISTOS DISC SIGN DOLIUM
-101E4 PHAISTOS DISC SIGN COMB
-101E5 PHAISTOS DISC SIGN SLING
-101E6 PHAISTOS DISC SIGN COLUMN
-101E7 PHAISTOS DISC SIGN BEEHIVE
-101E8 PHAISTOS DISC SIGN SHIP
-101E9 PHAISTOS DISC SIGN HORN
-101EA PHAISTOS DISC SIGN HIDE
-101EB PHAISTOS DISC SIGN BULLS LEG
-101EC PHAISTOS DISC SIGN CAT
-101ED PHAISTOS DISC SIGN RAM
-101EE PHAISTOS DISC SIGN EAGLE
-101EF PHAISTOS DISC SIGN DOVE
-101F0 PHAISTOS DISC SIGN TUNNY
-101F1 PHAISTOS DISC SIGN BEE
-101F2 PHAISTOS DISC SIGN PLANE TREE
-101F3 PHAISTOS DISC SIGN VINE
-101F4 PHAISTOS DISC SIGN PAPYRUS
-101F5 PHAISTOS DISC SIGN ROSETTE
-101F6 PHAISTOS DISC SIGN LILY
-101F7 PHAISTOS DISC SIGN OX BACK
-101F8 PHAISTOS DISC SIGN FLUTE
-101F9 PHAISTOS DISC SIGN GRATER
-101FA PHAISTOS DISC SIGN STRAINER
-101FB PHAISTOS DISC SIGN SMALL AXE
-101FC PHAISTOS DISC SIGN WAVY BAND
-@ Combining stroke
-101FD PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-@@ 10280 Lycian 1029F
-@ Letters
-10280 LYCIAN LETTER A
-10281 LYCIAN LETTER E
-10282 LYCIAN LETTER B
-10283 LYCIAN LETTER BH
-10284 LYCIAN LETTER G
-10285 LYCIAN LETTER D
-10286 LYCIAN LETTER I
-10287 LYCIAN LETTER W
-10288 LYCIAN LETTER Z
-10289 LYCIAN LETTER TH
-1028A LYCIAN LETTER J
-1028B LYCIAN LETTER K
-1028C LYCIAN LETTER Q
-1028D LYCIAN LETTER L
-1028E LYCIAN LETTER M
-1028F LYCIAN LETTER N
-10290 LYCIAN LETTER MM
-10291 LYCIAN LETTER NN
-10292 LYCIAN LETTER U
-10293 LYCIAN LETTER P
-10294 LYCIAN LETTER KK
-10295 LYCIAN LETTER R
-10296 LYCIAN LETTER S
-10297 LYCIAN LETTER T
-10298 LYCIAN LETTER TT
-10299 LYCIAN LETTER AN
-1029A LYCIAN LETTER EN
-1029B LYCIAN LETTER H
-1029C LYCIAN LETTER X
-@@ 102A0 Carian 102DF
-@ Letters
-102A0 CARIAN LETTER A
-102A1 CARIAN LETTER P2
-102A2 CARIAN LETTER D
-102A3 CARIAN LETTER L
-102A4 CARIAN LETTER UUU
-102A5 CARIAN LETTER R
-102A6 CARIAN LETTER LD
-102A7 CARIAN LETTER A2
-102A8 CARIAN LETTER Q
-102A9 CARIAN LETTER B
-102AA CARIAN LETTER M
-102AB CARIAN LETTER O
-102AC CARIAN LETTER D2
-102AD CARIAN LETTER T
-102AE CARIAN LETTER SH
-102AF CARIAN LETTER SH2
-102B0 CARIAN LETTER S
-102B1 CARIAN LETTER C-18
-102B2 CARIAN LETTER U
-102B3 CARIAN LETTER NN
-102B4 CARIAN LETTER X
-102B5 CARIAN LETTER N
-102B6 CARIAN LETTER TT2
-102B7 CARIAN LETTER P
-102B8 CARIAN LETTER SS
-102B9 CARIAN LETTER I
-102BA CARIAN LETTER E
-102BB CARIAN LETTER UUUU
-102BC CARIAN LETTER K
-102BD CARIAN LETTER K2
-102BE CARIAN LETTER ND
-102BF CARIAN LETTER UU
-102C0 CARIAN LETTER G
-102C1 CARIAN LETTER G2
-102C2 CARIAN LETTER ST
-102C3 CARIAN LETTER ST2
-102C4 CARIAN LETTER NG
-102C5 CARIAN LETTER II
-102C6 CARIAN LETTER C-39
-102C7 CARIAN LETTER TT
-102C8 CARIAN LETTER UUU2
-102C9 CARIAN LETTER RR
-102CA CARIAN LETTER MB
-102CB CARIAN LETTER MB2
-102CC CARIAN LETTER MB3
-102CD CARIAN LETTER MB4
-102CE CARIAN LETTER LD2
-102CF CARIAN LETTER E2
-102D0 CARIAN LETTER UUU3
-@@ 10300 Old Italic 1032F
-@ Letters
-10300 OLD ITALIC LETTER A
-10301 OLD ITALIC LETTER BE
-10302 OLD ITALIC LETTER KE
-10303 OLD ITALIC LETTER DE
-10304 OLD ITALIC LETTER E
-10305 OLD ITALIC LETTER VE
-10306 OLD ITALIC LETTER ZE
-10307 OLD ITALIC LETTER HE
-10308 OLD ITALIC LETTER THE
-10309 OLD ITALIC LETTER I
-1030A OLD ITALIC LETTER KA
-1030B OLD ITALIC LETTER EL
-1030C OLD ITALIC LETTER EM
-1030D OLD ITALIC LETTER EN
-1030E OLD ITALIC LETTER ESH
-1030F OLD ITALIC LETTER O
- * Faliscan
-10310 OLD ITALIC LETTER PE
-10311 OLD ITALIC LETTER SHE
-10312 OLD ITALIC LETTER KU
-10313 OLD ITALIC LETTER ER
-10314 OLD ITALIC LETTER ES
-10315 OLD ITALIC LETTER TE
-10316 OLD ITALIC LETTER U
-10317 OLD ITALIC LETTER EKS
- * Faliscan
-10318 OLD ITALIC LETTER PHE
-10319 OLD ITALIC LETTER KHE
-1031A OLD ITALIC LETTER EF
-@ Umbrian letters
-1031B OLD ITALIC LETTER ERS
-1031C OLD ITALIC LETTER CHE
-@ Oscan letters
-1031D OLD ITALIC LETTER II
-1031E OLD ITALIC LETTER UU
-@ Numerals
-10320 OLD ITALIC NUMERAL ONE
-10321 OLD ITALIC NUMERAL FIVE
-10322 OLD ITALIC NUMERAL TEN
-10323 OLD ITALIC NUMERAL FIFTY
-@@ 10330 Gothic 1034F
-@ Letters
-10330 GOTHIC LETTER AHSA
-10331 GOTHIC LETTER BAIRKAN
-10332 GOTHIC LETTER GIBA
-10333 GOTHIC LETTER DAGS
-10334 GOTHIC LETTER AIHVUS
-10335 GOTHIC LETTER QAIRTHRA
-10336 GOTHIC LETTER IUJA
-10337 GOTHIC LETTER HAGL
-10338 GOTHIC LETTER THIUTH
-10339 GOTHIC LETTER EIS
-1033A GOTHIC LETTER KUSMA
-1033B GOTHIC LETTER LAGUS
-1033C GOTHIC LETTER MANNA
-1033D GOTHIC LETTER NAUTHS
-1033E GOTHIC LETTER JER
-1033F GOTHIC LETTER URUS
-10340 GOTHIC LETTER PAIRTHRA
-10341 GOTHIC LETTER NINETY
-10342 GOTHIC LETTER RAIDA
-10343 GOTHIC LETTER SAUIL
-10344 GOTHIC LETTER TEIWS
-10345 GOTHIC LETTER WINJA
-10346 GOTHIC LETTER FAIHU
-10347 GOTHIC LETTER IGGWS
-10348 GOTHIC LETTER HWAIR
-10349 GOTHIC LETTER OTHAL
-1034A GOTHIC LETTER NINE HUNDRED
-@@ 10380 Ugaritic 1039F
-@ Letters
-10380 UGARITIC LETTER ALPA
-10381 UGARITIC LETTER BETA
-10382 UGARITIC LETTER GAMLA
-10383 UGARITIC LETTER KHA
-10384 UGARITIC LETTER DELTA
-10385 UGARITIC LETTER HO
-10386 UGARITIC LETTER WO
-10387 UGARITIC LETTER ZETA
-10388 UGARITIC LETTER HOTA
-10389 UGARITIC LETTER TET
-1038A UGARITIC LETTER YOD
-1038B UGARITIC LETTER KAF
-1038C UGARITIC LETTER SHIN
-1038D UGARITIC LETTER LAMDA
-1038E UGARITIC LETTER MEM
-1038F UGARITIC LETTER DHAL
-10390 UGARITIC LETTER NUN
-10391 UGARITIC LETTER ZU
-10392 UGARITIC LETTER SAMKA
-10393 UGARITIC LETTER AIN
-10394 UGARITIC LETTER PU
-10395 UGARITIC LETTER SADE
-10396 UGARITIC LETTER QOPA
-10397 UGARITIC LETTER RASHA
-10398 UGARITIC LETTER THANNA
-10399 UGARITIC LETTER GHAIN
-1039A UGARITIC LETTER TO
-1039B UGARITIC LETTER I
-1039C UGARITIC LETTER U
-1039D UGARITIC LETTER SSU
-@ Punctuation
-1039F UGARITIC WORD DIVIDER
-@@ 103A0 Old Persian 103DF
-@ Independent vowels
-103A0 OLD PERSIAN SIGN A
-103A1 OLD PERSIAN SIGN I
-103A2 OLD PERSIAN SIGN U
-@ Consonants
-103A3 OLD PERSIAN SIGN KA
-103A4 OLD PERSIAN SIGN KU
-103A5 OLD PERSIAN SIGN GA
-103A6 OLD PERSIAN SIGN GU
-103A7 OLD PERSIAN SIGN XA
-103A8 OLD PERSIAN SIGN CA
-103A9 OLD PERSIAN SIGN JA
-103AA OLD PERSIAN SIGN JI
-103AB OLD PERSIAN SIGN TA
-103AC OLD PERSIAN SIGN TU
-103AD OLD PERSIAN SIGN DA
-103AE OLD PERSIAN SIGN DI
-103AF OLD PERSIAN SIGN DU
-103B0 OLD PERSIAN SIGN THA
-103B1 OLD PERSIAN SIGN PA
-103B2 OLD PERSIAN SIGN BA
-103B3 OLD PERSIAN SIGN FA
-103B4 OLD PERSIAN SIGN NA
-103B5 OLD PERSIAN SIGN NU
-103B6 OLD PERSIAN SIGN MA
-103B7 OLD PERSIAN SIGN MI
-103B8 OLD PERSIAN SIGN MU
-103B9 OLD PERSIAN SIGN YA
-103BA OLD PERSIAN SIGN VA
-103BB OLD PERSIAN SIGN VI
-103BC OLD PERSIAN SIGN RA
-103BD OLD PERSIAN SIGN RU
-103BE OLD PERSIAN SIGN LA
-103BF OLD PERSIAN SIGN SA
-103C0 OLD PERSIAN SIGN ZA
-103C1 OLD PERSIAN SIGN SHA
-103C2 OLD PERSIAN SIGN SSA
-103C3 OLD PERSIAN SIGN HA
-@ Various signs
-103C8 OLD PERSIAN SIGN AURAMAZDAA
-103C9 OLD PERSIAN SIGN AURAMAZDAA-2
-103CA OLD PERSIAN SIGN AURAMAZDAAHA
-103CB OLD PERSIAN SIGN XSHAAYATHIYA
-103CC OLD PERSIAN SIGN DAHYAAUSH
-103CD OLD PERSIAN SIGN DAHYAAUSH-2
-103CE OLD PERSIAN SIGN BAGA
-103CF OLD PERSIAN SIGN BUUMISH
-@ Punctuation
-103D0 OLD PERSIAN WORD DIVIDER
-@ Numbers
-103D1 OLD PERSIAN NUMBER ONE
-103D2 OLD PERSIAN NUMBER TWO
-103D3 OLD PERSIAN NUMBER TEN
-103D4 OLD PERSIAN NUMBER TWENTY
-103D5 OLD PERSIAN NUMBER HUNDRED
-@@ 10400 Deseret 1044F
-@ Uppercase letters
-10400 DESERET CAPITAL LETTER LONG I
-10401 DESERET CAPITAL LETTER LONG E
-10402 DESERET CAPITAL LETTER LONG A
-10403 DESERET CAPITAL LETTER LONG AH
-10404 DESERET CAPITAL LETTER LONG O
-10405 DESERET CAPITAL LETTER LONG OO
-10406 DESERET CAPITAL LETTER SHORT I
-10407 DESERET CAPITAL LETTER SHORT E
-10408 DESERET CAPITAL LETTER SHORT A
-10409 DESERET CAPITAL LETTER SHORT AH
-1040A DESERET CAPITAL LETTER SHORT O
-1040B DESERET CAPITAL LETTER SHORT OO
-1040C DESERET CAPITAL LETTER AY
-1040D DESERET CAPITAL LETTER OW
-1040E DESERET CAPITAL LETTER WU
-1040F DESERET CAPITAL LETTER YEE
-10410 DESERET CAPITAL LETTER H
-10411 DESERET CAPITAL LETTER PEE
-10412 DESERET CAPITAL LETTER BEE
-10413 DESERET CAPITAL LETTER TEE
-10414 DESERET CAPITAL LETTER DEE
-10415 DESERET CAPITAL LETTER CHEE
-10416 DESERET CAPITAL LETTER JEE
-10417 DESERET CAPITAL LETTER KAY
-10418 DESERET CAPITAL LETTER GAY
-10419 DESERET CAPITAL LETTER EF
-1041A DESERET CAPITAL LETTER VEE
-1041B DESERET CAPITAL LETTER ETH
-1041C DESERET CAPITAL LETTER THEE
-1041D DESERET CAPITAL LETTER ES
-1041E DESERET CAPITAL LETTER ZEE
-1041F DESERET CAPITAL LETTER ESH
-10420 DESERET CAPITAL LETTER ZHEE
-10421 DESERET CAPITAL LETTER ER
-10422 DESERET CAPITAL LETTER EL
-10423 DESERET CAPITAL LETTER EM
-10424 DESERET CAPITAL LETTER EN
-10425 DESERET CAPITAL LETTER ENG
-10426 DESERET CAPITAL LETTER OI
-10427 DESERET CAPITAL LETTER EW
-@ Lowercase letters
-10428 DESERET SMALL LETTER LONG I
-10429 DESERET SMALL LETTER LONG E
-1042A DESERET SMALL LETTER LONG A
-1042B DESERET SMALL LETTER LONG AH
-1042C DESERET SMALL LETTER LONG O
-1042D DESERET SMALL LETTER LONG OO
-1042E DESERET SMALL LETTER SHORT I
-1042F DESERET SMALL LETTER SHORT E
-10430 DESERET SMALL LETTER SHORT A
-10431 DESERET SMALL LETTER SHORT AH
-10432 DESERET SMALL LETTER SHORT O
-10433 DESERET SMALL LETTER SHORT OO
-10434 DESERET SMALL LETTER AY
-10435 DESERET SMALL LETTER OW
-10436 DESERET SMALL LETTER WU
-10437 DESERET SMALL LETTER YEE
-10438 DESERET SMALL LETTER H
-10439 DESERET SMALL LETTER PEE
-1043A DESERET SMALL LETTER BEE
-1043B DESERET SMALL LETTER TEE
-1043C DESERET SMALL LETTER DEE
-1043D DESERET SMALL LETTER CHEE
-1043E DESERET SMALL LETTER JEE
-1043F DESERET SMALL LETTER KAY
-10440 DESERET SMALL LETTER GAY
-10441 DESERET SMALL LETTER EF
-10442 DESERET SMALL LETTER VEE
-10443 DESERET SMALL LETTER ETH
-10444 DESERET SMALL LETTER THEE
-10445 DESERET SMALL LETTER ES
-10446 DESERET SMALL LETTER ZEE
-10447 DESERET SMALL LETTER ESH
-10448 DESERET SMALL LETTER ZHEE
-10449 DESERET SMALL LETTER ER
-1044A DESERET SMALL LETTER EL
-1044B DESERET SMALL LETTER EM
-1044C DESERET SMALL LETTER EN
-1044D DESERET SMALL LETTER ENG
-1044E DESERET SMALL LETTER OI
-1044F DESERET SMALL LETTER EW
-@@ 10450 Shavian 1047F
-@ Consonants
-10450 SHAVIAN LETTER PEEP
-10451 SHAVIAN LETTER TOT
-10452 SHAVIAN LETTER KICK
-10453 SHAVIAN LETTER FEE
-10454 SHAVIAN LETTER THIGH
-10455 SHAVIAN LETTER SO
-10456 SHAVIAN LETTER SURE
-10457 SHAVIAN LETTER CHURCH
-10458 SHAVIAN LETTER YEA
-10459 SHAVIAN LETTER HUNG
-1045A SHAVIAN LETTER BIB
-1045B SHAVIAN LETTER DEAD
-1045C SHAVIAN LETTER GAG
-1045D SHAVIAN LETTER VOW
-1045E SHAVIAN LETTER THEY
-1045F SHAVIAN LETTER ZOO
-10460 SHAVIAN LETTER MEASURE
-10461 SHAVIAN LETTER JUDGE
-10462 SHAVIAN LETTER WOE
-10463 SHAVIAN LETTER HA-HA
-10464 SHAVIAN LETTER LOLL
-10465 SHAVIAN LETTER MIME
-@ Vowels
-10466 SHAVIAN LETTER IF
-10467 SHAVIAN LETTER EGG
-10468 SHAVIAN LETTER ASH
-10469 SHAVIAN LETTER ADO
-1046A SHAVIAN LETTER ON
-1046B SHAVIAN LETTER WOOL
-1046C SHAVIAN LETTER OUT
-1046D SHAVIAN LETTER AH
-1046E SHAVIAN LETTER ROAR
-1046F SHAVIAN LETTER NUN
-10470 SHAVIAN LETTER EAT
-10471 SHAVIAN LETTER AGE
-10472 SHAVIAN LETTER ICE
-10473 SHAVIAN LETTER UP
-10474 SHAVIAN LETTER OAK
-10475 SHAVIAN LETTER OOZE
-10476 SHAVIAN LETTER OIL
-10477 SHAVIAN LETTER AWE
-10478 SHAVIAN LETTER ARE
-10479 SHAVIAN LETTER OR
-1047A SHAVIAN LETTER AIR
-1047B SHAVIAN LETTER ERR
-1047C SHAVIAN LETTER ARRAY
-1047D SHAVIAN LETTER EAR
-1047E SHAVIAN LETTER IAN
-1047F SHAVIAN LETTER YEW
-@@ 10480 Osmanya 104AF
-@ Letters
-10480 OSMANYA LETTER ALEF
-10481 OSMANYA LETTER BA
-10482 OSMANYA LETTER TA
-10483 OSMANYA LETTER JA
-10484 OSMANYA LETTER XA
-10485 OSMANYA LETTER KHA
-10486 OSMANYA LETTER DEEL
-10487 OSMANYA LETTER RA
-10488 OSMANYA LETTER SA
-10489 OSMANYA LETTER SHIIN
-1048A OSMANYA LETTER DHA
-1048B OSMANYA LETTER CAYN
-1048C OSMANYA LETTER GA
-1048D OSMANYA LETTER FA
-1048E OSMANYA LETTER QAAF
-1048F OSMANYA LETTER KAAF
-10490 OSMANYA LETTER LAAN
-10491 OSMANYA LETTER MIIN
-10492 OSMANYA LETTER NUUN
-10493 OSMANYA LETTER WAW
-10494 OSMANYA LETTER HA
-10495 OSMANYA LETTER YA
-10496 OSMANYA LETTER A
-10497 OSMANYA LETTER E
-10498 OSMANYA LETTER I
-10499 OSMANYA LETTER O
-1049A OSMANYA LETTER U
-1049B OSMANYA LETTER AA
-1049C OSMANYA LETTER EE
-1049D OSMANYA LETTER OO
-@ Digits
-104A0 OSMANYA DIGIT ZERO
-104A1 OSMANYA DIGIT ONE
-104A2 OSMANYA DIGIT TWO
-104A3 OSMANYA DIGIT THREE
-104A4 OSMANYA DIGIT FOUR
-104A5 OSMANYA DIGIT FIVE
-104A6 OSMANYA DIGIT SIX
-104A7 OSMANYA DIGIT SEVEN
-104A8 OSMANYA DIGIT EIGHT
-104A9 OSMANYA DIGIT NINE
-@@ 10800 Cypriot Syllabary 1083F
-@ Syllables
-10800 CYPRIOT SYLLABLE A
-10801 CYPRIOT SYLLABLE E
-10802 CYPRIOT SYLLABLE I
-10803 CYPRIOT SYLLABLE O
-10804 CYPRIOT SYLLABLE U
-10805 CYPRIOT SYLLABLE JA
-10808 CYPRIOT SYLLABLE JO
-1080A CYPRIOT SYLLABLE KA
-1080B CYPRIOT SYLLABLE KE
-1080C CYPRIOT SYLLABLE KI
-1080D CYPRIOT SYLLABLE KO
-1080E CYPRIOT SYLLABLE KU
-1080F CYPRIOT SYLLABLE LA
-10810 CYPRIOT SYLLABLE LE
-10811 CYPRIOT SYLLABLE LI
-10812 CYPRIOT SYLLABLE LO
-10813 CYPRIOT SYLLABLE LU
-10814 CYPRIOT SYLLABLE MA
-10815 CYPRIOT SYLLABLE ME
-10816 CYPRIOT SYLLABLE MI
-10817 CYPRIOT SYLLABLE MO
-10818 CYPRIOT SYLLABLE MU
-10819 CYPRIOT SYLLABLE NA
-1081A CYPRIOT SYLLABLE NE
-1081B CYPRIOT SYLLABLE NI
-1081C CYPRIOT SYLLABLE NO
-1081D CYPRIOT SYLLABLE NU
-1081E CYPRIOT SYLLABLE PA
-1081F CYPRIOT SYLLABLE PE
-10820 CYPRIOT SYLLABLE PI
-10821 CYPRIOT SYLLABLE PO
-10822 CYPRIOT SYLLABLE PU
-10823 CYPRIOT SYLLABLE RA
-10824 CYPRIOT SYLLABLE RE
-10825 CYPRIOT SYLLABLE RI
-10826 CYPRIOT SYLLABLE RO
-10827 CYPRIOT SYLLABLE RU
-10828 CYPRIOT SYLLABLE SA
-10829 CYPRIOT SYLLABLE SE
-1082A CYPRIOT SYLLABLE SI
-1082B CYPRIOT SYLLABLE SO
-1082C CYPRIOT SYLLABLE SU
-1082D CYPRIOT SYLLABLE TA
-1082E CYPRIOT SYLLABLE TE
-1082F CYPRIOT SYLLABLE TI
-10830 CYPRIOT SYLLABLE TO
-10831 CYPRIOT SYLLABLE TU
-10832 CYPRIOT SYLLABLE WA
-10833 CYPRIOT SYLLABLE WE
-10834 CYPRIOT SYLLABLE WI
-10835 CYPRIOT SYLLABLE WO
-10837 CYPRIOT SYLLABLE XA
-10838 CYPRIOT SYLLABLE XE
-1083C CYPRIOT SYLLABLE ZA
-1083F CYPRIOT SYLLABLE ZO
-@@ 10840 Imperial Aramaic 1085F
-@ Letters
-10840 IMPERIAL ARAMAIC LETTER ALEPH
-10841 IMPERIAL ARAMAIC LETTER BETH
-10842 IMPERIAL ARAMAIC LETTER GIMEL
-10843 IMPERIAL ARAMAIC LETTER DALETH
-10844 IMPERIAL ARAMAIC LETTER HE
-10845 IMPERIAL ARAMAIC LETTER WAW
-10846 IMPERIAL ARAMAIC LETTER ZAYIN
-10847 IMPERIAL ARAMAIC LETTER HETH
-10848 IMPERIAL ARAMAIC LETTER TETH
-10849 IMPERIAL ARAMAIC LETTER YODH
-1084A IMPERIAL ARAMAIC LETTER KAPH
-1084B IMPERIAL ARAMAIC LETTER LAMEDH
-1084C IMPERIAL ARAMAIC LETTER MEM
-1084D IMPERIAL ARAMAIC LETTER NUN
-1084E IMPERIAL ARAMAIC LETTER SAMEKH
-1084F IMPERIAL ARAMAIC LETTER AYIN
-10850 IMPERIAL ARAMAIC LETTER PE
-10851 IMPERIAL ARAMAIC LETTER SADHE
-10852 IMPERIAL ARAMAIC LETTER QOPH
-10853 IMPERIAL ARAMAIC LETTER RESH
-10854 IMPERIAL ARAMAIC LETTER SHIN
-10855 IMPERIAL ARAMAIC LETTER TAW
-@ Punctuation
-10857 IMPERIAL ARAMAIC SECTION SIGN
-@ Numbers
-10858 IMPERIAL ARAMAIC NUMBER ONE
-10859 IMPERIAL ARAMAIC NUMBER TWO
-1085A IMPERIAL ARAMAIC NUMBER THREE
-1085B IMPERIAL ARAMAIC NUMBER TEN
-1085C IMPERIAL ARAMAIC NUMBER TWENTY
-1085D IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-@@ 10900 Phoenician 1091F
-@ Letters
-10900 PHOENICIAN LETTER ALF
- x (hebrew letter alef - 05D0)
-10901 PHOENICIAN LETTER BET
- x (hebrew letter bet - 05D1)
-10902 PHOENICIAN LETTER GAML
- x (hebrew letter gimel - 05D2)
-10903 PHOENICIAN LETTER DELT
- x (hebrew letter dalet - 05D3)
-10904 PHOENICIAN LETTER HE
- x (hebrew letter he - 05D4)
-10905 PHOENICIAN LETTER WAU
- x (hebrew letter vav - 05D5)
-10906 PHOENICIAN LETTER ZAI
- x (hebrew letter zayin - 05D6)
-10907 PHOENICIAN LETTER HET
- x (hebrew letter het - 05D7)
-10908 PHOENICIAN LETTER TET
- x (hebrew letter tet - 05D8)
-10909 PHOENICIAN LETTER YOD
- x (hebrew letter yod - 05D9)
-1090A PHOENICIAN LETTER KAF
- x (hebrew letter kaf - 05DB)
-1090B PHOENICIAN LETTER LAMD
- x (hebrew letter lamed - 05DC)
-1090C PHOENICIAN LETTER MEM
- x (hebrew letter mem - 05DE)
-1090D PHOENICIAN LETTER NUN
- x (hebrew letter nun - 05E0)
-1090E PHOENICIAN LETTER SEMK
- x (hebrew letter samekh - 05E1)
-1090F PHOENICIAN LETTER AIN
- x (hebrew letter ayin - 05E2)
-10910 PHOENICIAN LETTER PE
- x (hebrew letter pe - 05E4)
-10911 PHOENICIAN LETTER SADE
- x (hebrew letter tsadi - 05E6)
-10912 PHOENICIAN LETTER QOF
- x (hebrew letter qof - 05E7)
-10913 PHOENICIAN LETTER ROSH
- x (hebrew letter resh - 05E8)
-10914 PHOENICIAN LETTER SHIN
- x (hebrew letter shin - 05E9)
-10915 PHOENICIAN LETTER TAU
- x (hebrew letter tav - 05EA)
-@ Numbers
-10916 PHOENICIAN NUMBER ONE
-10917 PHOENICIAN NUMBER TEN
-10918 PHOENICIAN NUMBER TWENTY
-10919 PHOENICIAN NUMBER ONE HUNDRED
-1091A PHOENICIAN NUMBER TWO
-1091B PHOENICIAN NUMBER THREE
-@ Punctuation
-1091F PHOENICIAN WORD SEPARATOR
- x (full stop - 002E)
- x (middle dot - 00B7)
- x (word separator middle dot - 2E31)
- * sometimes shown with a glyph for a short vertical bar
-@@ 10920 Lydian 1093F
-@ Letters
-10920 LYDIAN LETTER A
-10921 LYDIAN LETTER B
-10922 LYDIAN LETTER G
-10923 LYDIAN LETTER D
-10924 LYDIAN LETTER E
-10925 LYDIAN LETTER V
-10926 LYDIAN LETTER I
-10927 LYDIAN LETTER Y
-10928 LYDIAN LETTER K
-10929 LYDIAN LETTER L
-1092A LYDIAN LETTER M
-1092B LYDIAN LETTER N
-1092C LYDIAN LETTER O
-1092D LYDIAN LETTER R
-1092E LYDIAN LETTER SS
-1092F LYDIAN LETTER T
-10930 LYDIAN LETTER U
-10931 LYDIAN LETTER F
-10932 LYDIAN LETTER Q
-10933 LYDIAN LETTER S
-10934 LYDIAN LETTER TT
-10935 LYDIAN LETTER AN
-10936 LYDIAN LETTER EN
-10937 LYDIAN LETTER LY
-10938 LYDIAN LETTER NN
-10939 LYDIAN LETTER C
-@ Punctuation
-1093F LYDIAN TRIANGULAR MARK
-@@ 10A00 Kharoshthi 10A5F
-@ Vowels
-10A00 KHAROSHTHI LETTER A
-10A01 KHAROSHTHI VOWEL SIGN I
-10A02 KHAROSHTHI VOWEL SIGN U
-10A03 KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 KHAROSHTHI VOWEL SIGN E
-10A06 KHAROSHTHI VOWEL SIGN O
-@ Length mark
-10A0C KHAROSHTHI VOWEL LENGTH MARK
-@ Various signs
-10A0D KHAROSHTHI SIGN DOUBLE RING BELOW
-10A0E KHAROSHTHI SIGN ANUSVARA
-10A0F KHAROSHTHI SIGN VISARGA
-@ Consonants
-10A10 KHAROSHTHI LETTER KA
-10A11 KHAROSHTHI LETTER KHA
-10A12 KHAROSHTHI LETTER GA
-10A13 KHAROSHTHI LETTER GHA
-10A15 KHAROSHTHI LETTER CA
-10A16 KHAROSHTHI LETTER CHA
-10A17 KHAROSHTHI LETTER JA
-10A19 KHAROSHTHI LETTER NYA
-10A1A KHAROSHTHI LETTER TTA
-10A1B KHAROSHTHI LETTER TTHA
-10A1C KHAROSHTHI LETTER DDA
-10A1D KHAROSHTHI LETTER DDHA
-10A1E KHAROSHTHI LETTER NNA
-10A1F KHAROSHTHI LETTER TA
-10A20 KHAROSHTHI LETTER THA
-10A21 KHAROSHTHI LETTER DA
-10A22 KHAROSHTHI LETTER DHA
-10A23 KHAROSHTHI LETTER NA
-10A24 KHAROSHTHI LETTER PA
-10A25 KHAROSHTHI LETTER PHA
-10A26 KHAROSHTHI LETTER BA
-10A27 KHAROSHTHI LETTER BHA
-10A28 KHAROSHTHI LETTER MA
-10A29 KHAROSHTHI LETTER YA
-10A2A KHAROSHTHI LETTER RA
-10A2B KHAROSHTHI LETTER LA
-10A2C KHAROSHTHI LETTER VA
-10A2D KHAROSHTHI LETTER SHA
-10A2E KHAROSHTHI LETTER SSA
-10A2F KHAROSHTHI LETTER SA
-10A30 KHAROSHTHI LETTER ZA
-10A31 KHAROSHTHI LETTER HA
-10A32 KHAROSHTHI LETTER KKA
-10A33 KHAROSHTHI LETTER TTTHA
-@ Various signs
-10A38 KHAROSHTHI SIGN BAR ABOVE
-10A39 KHAROSHTHI SIGN CAUDA
-10A3A KHAROSHTHI SIGN DOT BELOW
-@ Virama
-10A3F KHAROSHTHI VIRAMA
- = halant
- * suppresses inherent vowel
- * shape shown is arbitrary and is not visibly rendered
-@ Digits
-10A40 KHAROSHTHI DIGIT ONE
-10A41 KHAROSHTHI DIGIT TWO
-10A42 KHAROSHTHI DIGIT THREE
-10A43 KHAROSHTHI DIGIT FOUR
-@ Numbers
-10A44 KHAROSHTHI NUMBER TEN
-10A45 KHAROSHTHI NUMBER TWENTY
-10A46 KHAROSHTHI NUMBER ONE HUNDRED
-10A47 KHAROSHTHI NUMBER ONE THOUSAND
-@ Punctuation
-10A50 KHAROSHTHI PUNCTUATION DOT
-10A51 KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 KHAROSHTHI PUNCTUATION CIRCLE
-10A53 KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 KHAROSHTHI PUNCTUATION MANGALAM
-10A55 KHAROSHTHI PUNCTUATION LOTUS
-10A56 KHAROSHTHI PUNCTUATION DANDA
-10A57 KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 KHAROSHTHI PUNCTUATION LINES
-@@ 10A60 Old South Arabian 10A7F
-@ Letters
-@+ Letter names are based on North-West Semitic. Arabic names are given as aliases, along with Latin transliterations. The historically-related Ethiopic letters are also shown.
-10A60 OLD SOUTH ARABIAN LETTER HE
- = heh
- * transliterated as h
- x (ethiopic syllable ha - 1200)
-10A61 OLD SOUTH ARABIAN LETTER LAMEDH
- = lam
- * transliterated as l
- x (ethiopic syllable la - 1208)
-10A62 OLD SOUTH ARABIAN LETTER HETH
- = hah
- * transliterated as 1E25
- x (ethiopic syllable hha - 1210)
-10A63 OLD SOUTH ARABIAN LETTER MEM
- = meem
- * transliterated as m
- x (ethiopic syllable ma - 1218)
-10A64 OLD SOUTH ARABIAN LETTER QOPH
- = qaf
- * transliterated as q
- x (ethiopic syllable qa - 1240)
-10A65 OLD SOUTH ARABIAN LETTER WAW
- = waw
- * transliterated as w
- x (ethiopic syllable wa - 12C8)
-10A66 OLD SOUTH ARABIAN LETTER SHIN
- = sheen
- * transliterated as 0161 or s2
- x (ethiopic syllable sza - 1220)
-10A67 OLD SOUTH ARABIAN LETTER RESH
- = reh
- * transliterated as r
- x (ethiopic syllable ra - 1228)
-10A68 OLD SOUTH ARABIAN LETTER BETH
- = beh
- * transliterated as b
- x (ethiopic syllable ba - 1260)
-10A69 OLD SOUTH ARABIAN LETTER TAW
- = teh
- * transliterated as t
- x (ethiopic syllable ta - 1270)
-10A6A OLD SOUTH ARABIAN LETTER SAT
- * transliterated as s or s1
- x (ethiopic syllable sa - 1230)
-10A6B OLD SOUTH ARABIAN LETTER KAPH
- = kaf
- * transliterated as k
- x (ethiopic syllable ka - 12A8)
-10A6C OLD SOUTH ARABIAN LETTER NUN
- = noon
- * transliterated as n
- x (ethiopic syllable na - 1290)
-10A6D OLD SOUTH ARABIAN LETTER KHETH
- = khah
- * transliterated as 1E2B
- x (ethiopic syllable xa - 1280)
-10A6E OLD SOUTH ARABIAN LETTER SADHE
- = sad
- * transliterated as 1E63
- x (ethiopic syllable tsa - 1338)
-10A6F OLD SOUTH ARABIAN LETTER SAMEKH
- * transliterated as 015B or s3
-10A70 OLD SOUTH ARABIAN LETTER FE
- = feh
- * transliterated as f
- x (ethiopic syllable fa - 1348)
-10A71 OLD SOUTH ARABIAN LETTER ALEF
- = alef
- * transliterated as 02BC
- x (ethiopic syllable glottal a - 12A0)
-10A72 OLD SOUTH ARABIAN LETTER AYN
- = ain
- * transliterated as 02BD
- x (ethiopic syllable pharyngeal a - 12D0)
-10A73 OLD SOUTH ARABIAN LETTER DHADHE
- = dad
- * transliterated as 1E0D
- x (ethiopic syllable tza - 1340)
-10A74 OLD SOUTH ARABIAN LETTER GIMEL
- = jeem
- * transliterated as g
- x (ethiopic syllable ga - 1308)
-10A75 OLD SOUTH ARABIAN LETTER DALETH
- = dal
- * transliterated as d
- x (ethiopic syllable da - 12F0)
-10A76 OLD SOUTH ARABIAN LETTER GHAYN
- = ghain
- * transliterated as 0121
-10A77 OLD SOUTH ARABIAN LETTER TETH
- = tah
- * transliterated as 1E6D
- x (ethiopic syllable tha - 1320)
-10A78 OLD SOUTH ARABIAN LETTER ZAYN
- = zain
- * transliterated as z
- x (ethiopic syllable za - 12D8)
-10A79 OLD SOUTH ARABIAN LETTER DHALETH
- = thal
- * transliterated as 1E0F
-10A7A OLD SOUTH ARABIAN LETTER YODH
- = yeh
- * transliterated as y
- x (ethiopic syllable ya - 12E8)
-10A7B OLD SOUTH ARABIAN LETTER THAW
- = theh
- * transliterated as 1E6F
-10A7C OLD SOUTH ARABIAN LETTER THETH
- = zah
- * transliterated as 1E93
-@ Numbers
-10A7D OLD SOUTH ARABIAN NUMBER ONE
-10A7E OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F OLD SOUTH ARABIAN NUMERIC INDICATOR
-@@ 10B00 Avestan 10B3F
-@ Vowels
-10B00 AVESTAN LETTER A
-10B01 AVESTAN LETTER AA
-10B02 AVESTAN LETTER AO
-10B03 AVESTAN LETTER AAO
-10B04 AVESTAN LETTER AN
-10B05 AVESTAN LETTER AAN
-10B06 AVESTAN LETTER AE
-10B07 AVESTAN LETTER AEE
-10B08 AVESTAN LETTER E
-10B09 AVESTAN LETTER EE
-10B0A AVESTAN LETTER O
-10B0B AVESTAN LETTER OO
-10B0C AVESTAN LETTER I
-10B0D AVESTAN LETTER II
-10B0E AVESTAN LETTER U
-10B0F AVESTAN LETTER UU
-@ Consonants
-10B10 AVESTAN LETTER KE
-10B11 AVESTAN LETTER XE
-10B12 AVESTAN LETTER XYE
-10B13 AVESTAN LETTER XVE
-10B14 AVESTAN LETTER GE
-10B15 AVESTAN LETTER GGE
-10B16 AVESTAN LETTER GHE
-10B17 AVESTAN LETTER CE
-10B18 AVESTAN LETTER JE
-10B19 AVESTAN LETTER TE
-10B1A AVESTAN LETTER THE
-10B1B AVESTAN LETTER DE
-10B1C AVESTAN LETTER DHE
-10B1D AVESTAN LETTER TTE
-10B1E AVESTAN LETTER PE
-10B1F AVESTAN LETTER FE
-10B20 AVESTAN LETTER BE
-10B21 AVESTAN LETTER BHE
-10B22 AVESTAN LETTER NGE
-10B23 AVESTAN LETTER NGYE
-10B24 AVESTAN LETTER NGVE
-10B25 AVESTAN LETTER NE
-10B26 AVESTAN LETTER NYE
-10B27 AVESTAN LETTER NNE
-10B28 AVESTAN LETTER ME
-10B29 AVESTAN LETTER HME
-10B2A AVESTAN LETTER YYE
-10B2B AVESTAN LETTER YE
-10B2C AVESTAN LETTER VE
-10B2D AVESTAN LETTER RE
-10B2E AVESTAN LETTER LE
-10B2F AVESTAN LETTER SE
-10B30 AVESTAN LETTER ZE
-10B31 AVESTAN LETTER SHE
-10B32 AVESTAN LETTER ZHE
-10B33 AVESTAN LETTER SHYE
-10B34 AVESTAN LETTER SSHE
-10B35 AVESTAN LETTER HE
-@ Punctuation
-10B39 AVESTAN ABBREVIATION MARK
- x (ring operator - 2218)
- x (ring point - 2E30)
- x (word separator middle dot - 2E31)
-10B3A TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F LARGE ONE RING OVER TWO RINGS PUNCTUATION
-@@ 10B40 Inscriptional Parthian 10B5F
-@ Letters
-10B40 INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41 INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42 INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43 INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44 INSCRIPTIONAL PARTHIAN LETTER HE
-10B45 INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46 INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47 INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48 INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49 INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50 INSCRIPTIONAL PARTHIAN LETTER PE
-10B51 INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52 INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53 INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54 INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55 INSCRIPTIONAL PARTHIAN LETTER TAW
-@ Numbers
-10B58 INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B59 INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B5A INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B5B INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B5C INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-@@ 10B60 Inscriptional Pahlavi 10B7F
-@ Letters
-10B60 INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61 INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62 INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63 INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64 INSCRIPTIONAL PAHLAVI LETTER HE
-10B65 INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66 INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67 INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68 INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69 INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F INSCRIPTIONAL PAHLAVI LETTER PE
-10B70 INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71 INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72 INSCRIPTIONAL PAHLAVI LETTER TAW
-@ Numbers
-10B78 INSCRIPTIONAL PAHLAVI NUMBER ONE
-10B79 INSCRIPTIONAL PAHLAVI NUMBER TWO
-10B7A INSCRIPTIONAL PAHLAVI NUMBER THREE
-10B7B INSCRIPTIONAL PAHLAVI NUMBER FOUR
-10B7C INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-@@ 10C00 Old Turkic 10C4F
-@ Vowels
-10C00 OLD TURKIC LETTER ORKHON A
-10C01 OLD TURKIC LETTER YENISEI A
-10C02 OLD TURKIC LETTER YENISEI AE
-10C03 OLD TURKIC LETTER ORKHON I
-10C04 OLD TURKIC LETTER YENISEI I
-10C05 OLD TURKIC LETTER YENISEI E
-10C06 OLD TURKIC LETTER ORKHON O
-10C07 OLD TURKIC LETTER ORKHON OE
-10C08 OLD TURKIC LETTER YENISEI OE
-@ Consonants
-10C09 OLD TURKIC LETTER ORKHON AB
-10C0A OLD TURKIC LETTER YENISEI AB
-10C0B OLD TURKIC LETTER ORKHON AEB
-10C0C OLD TURKIC LETTER YENISEI AEB
-10C0D OLD TURKIC LETTER ORKHON AG
-10C0E OLD TURKIC LETTER YENISEI AG
-10C0F OLD TURKIC LETTER ORKHON AEG
-10C10 OLD TURKIC LETTER YENISEI AEG
-10C11 OLD TURKIC LETTER ORKHON AD
-10C12 OLD TURKIC LETTER YENISEI AD
-10C13 OLD TURKIC LETTER ORKHON AED
-10C14 OLD TURKIC LETTER ORKHON EZ
-10C15 OLD TURKIC LETTER YENISEI EZ
-10C16 OLD TURKIC LETTER ORKHON AY
-10C17 OLD TURKIC LETTER YENISEI AY
-10C18 OLD TURKIC LETTER ORKHON AEY
-10C19 OLD TURKIC LETTER YENISEI AEY
-10C1A OLD TURKIC LETTER ORKHON AEK
-10C1B OLD TURKIC LETTER YENISEI AEK
-10C1C OLD TURKIC LETTER ORKHON OEK
-10C1D OLD TURKIC LETTER YENISEI OEK
-10C1E OLD TURKIC LETTER ORKHON AL
-10C1F OLD TURKIC LETTER YENISEI AL
-10C20 OLD TURKIC LETTER ORKHON AEL
-10C21 OLD TURKIC LETTER ORKHON ELT
-10C22 OLD TURKIC LETTER ORKHON EM
-10C23 OLD TURKIC LETTER ORKHON AN
-10C24 OLD TURKIC LETTER ORKHON AEN
-10C25 OLD TURKIC LETTER YENISEI AEN
-10C26 OLD TURKIC LETTER ORKHON ENT
-10C27 OLD TURKIC LETTER YENISEI ENT
-10C28 OLD TURKIC LETTER ORKHON ENC
-10C29 OLD TURKIC LETTER YENISEI ENC
-10C2A OLD TURKIC LETTER ORKHON ENY
-10C2B OLD TURKIC LETTER YENISEI ENY
-10C2C OLD TURKIC LETTER YENISEI ANG
-10C2D OLD TURKIC LETTER ORKHON ENG
-10C2E OLD TURKIC LETTER YENISEI AENG
-10C2F OLD TURKIC LETTER ORKHON EP
-10C30 OLD TURKIC LETTER ORKHON OP
-10C31 OLD TURKIC LETTER ORKHON IC
-10C32 OLD TURKIC LETTER ORKHON EC
-10C33 OLD TURKIC LETTER YENISEI EC
-10C34 OLD TURKIC LETTER ORKHON AQ
-10C35 OLD TURKIC LETTER YENISEI AQ
-10C36 OLD TURKIC LETTER ORKHON IQ
-10C37 OLD TURKIC LETTER YENISEI IQ
-10C38 OLD TURKIC LETTER ORKHON OQ
-10C39 OLD TURKIC LETTER YENISEI OQ
-10C3A OLD TURKIC LETTER ORKHON AR
-10C3B OLD TURKIC LETTER YENISEI AR
-10C3C OLD TURKIC LETTER ORKHON AER
-10C3D OLD TURKIC LETTER ORKHON AS
-10C3E OLD TURKIC LETTER ORKHON AES
-10C3F OLD TURKIC LETTER ORKHON ASH
-10C40 OLD TURKIC LETTER YENISEI ASH
-10C41 OLD TURKIC LETTER ORKHON ESH
-10C42 OLD TURKIC LETTER YENISEI ESH
-10C43 OLD TURKIC LETTER ORKHON AT
-10C44 OLD TURKIC LETTER YENISEI AT
-10C45 OLD TURKIC LETTER ORKHON AET
-10C46 OLD TURKIC LETTER YENISEI AET
-10C47 OLD TURKIC LETTER ORKHON OT
-10C48 OLD TURKIC LETTER ORKHON BASH
-@@ 10E60 Rumi Numeral Symbols 10E7F
-@ Digits
-10E60 RUMI DIGIT ONE
-10E61 RUMI DIGIT TWO
-10E62 RUMI DIGIT THREE
-10E63 RUMI DIGIT FOUR
-10E64 RUMI DIGIT FIVE
-10E65 RUMI DIGIT SIX
-10E66 RUMI DIGIT SEVEN
-10E67 RUMI DIGIT EIGHT
-10E68 RUMI DIGIT NINE
-@ Numbers
-10E69 RUMI NUMBER TEN
-10E6A RUMI NUMBER TWENTY
-10E6B RUMI NUMBER THIRTY
-10E6C RUMI NUMBER FORTY
-10E6D RUMI NUMBER FIFTY
-10E6E RUMI NUMBER SIXTY
-10E6F RUMI NUMBER SEVENTY
-10E70 RUMI NUMBER EIGHTY
-10E71 RUMI NUMBER NINETY
-10E72 RUMI NUMBER ONE HUNDRED
-10E73 RUMI NUMBER TWO HUNDRED
-10E74 RUMI NUMBER THREE HUNDRED
-10E75 RUMI NUMBER FOUR HUNDRED
-10E76 RUMI NUMBER FIVE HUNDRED
-10E77 RUMI NUMBER SIX HUNDRED
-10E78 RUMI NUMBER SEVEN HUNDRED
-10E79 RUMI NUMBER EIGHT HUNDRED
-10E7A RUMI NUMBER NINE HUNDRED
-@ Fractions
-10E7B RUMI FRACTION ONE HALF
-10E7C RUMI FRACTION ONE QUARTER
-10E7D RUMI FRACTION ONE THIRD
-10E7E RUMI FRACTION TWO THIRDS
-@@ 11080 Kaithi 110CF
-@ Various signs
-11080 KAITHI SIGN CANDRABINDU
-11081 KAITHI SIGN ANUSVARA
-11082 KAITHI SIGN VISARGA
-@ Independent vowels
-11083 KAITHI LETTER A
-11084 KAITHI LETTER AA
-11085 KAITHI LETTER I
-11086 KAITHI LETTER II
-11087 KAITHI LETTER U
-11088 KAITHI LETTER UU
-11089 KAITHI LETTER E
-1108A KAITHI LETTER AI
-1108B KAITHI LETTER O
-1108C KAITHI LETTER AU
-@ Consonants
-1108D KAITHI LETTER KA
-1108E KAITHI LETTER KHA
-1108F KAITHI LETTER GA
-11090 KAITHI LETTER GHA
-11091 KAITHI LETTER NGA
-11092 KAITHI LETTER CA
-11093 KAITHI LETTER CHA
-11094 KAITHI LETTER JA
-11095 KAITHI LETTER JHA
-11096 KAITHI LETTER NYA
-11097 KAITHI LETTER TTA
-11098 KAITHI LETTER TTHA
-11099 KAITHI LETTER DDA
-1109A KAITHI LETTER DDDHA
- : 11099 110BA
-1109B KAITHI LETTER DDHA
-1109C KAITHI LETTER RHA
- : 1109B 110BA
-1109D KAITHI LETTER NNA
-1109E KAITHI LETTER TA
-1109F KAITHI LETTER THA
-110A0 KAITHI LETTER DA
-110A1 KAITHI LETTER DHA
-110A2 KAITHI LETTER NA
-110A3 KAITHI LETTER PA
-110A4 KAITHI LETTER PHA
-110A5 KAITHI LETTER BA
-110A6 KAITHI LETTER BHA
-110A7 KAITHI LETTER MA
-110A8 KAITHI LETTER YA
- * glyph may be rendered with or without the visible dot
-110A9 KAITHI LETTER RA
-110AA KAITHI LETTER LA
-110AB KAITHI LETTER VA
- : 110A5 110BA
-110AC KAITHI LETTER SHA
-110AD KAITHI LETTER SSA
-110AE KAITHI LETTER SA
-110AF KAITHI LETTER HA
-@ Dependent vowel signs
-110B0 KAITHI VOWEL SIGN AA
-110B1 KAITHI VOWEL SIGN I
-110B2 KAITHI VOWEL SIGN II
-110B3 KAITHI VOWEL SIGN U
-110B4 KAITHI VOWEL SIGN UU
-110B5 KAITHI VOWEL SIGN E
-110B6 KAITHI VOWEL SIGN AI
-110B7 KAITHI VOWEL SIGN O
-110B8 KAITHI VOWEL SIGN AU
-@ Various signs
-110B9 KAITHI SIGN VIRAMA
-110BA KAITHI SIGN NUKTA
-110BB KAITHI ABBREVIATION SIGN
-110BC KAITHI ENUMERATION SIGN
-110BD KAITHI NUMBER SIGN
-110BE KAITHI SECTION MARK
- * marks end of sentence
-110BF KAITHI DOUBLE SECTION MARK
- * paragraph delimiter
-110C0 KAITHI DANDA
-110C1 KAITHI DOUBLE DANDA
-@@ 12000 Cuneiform 123FF
-@ Signs
-12000 CUNEIFORM SIGN A
-12001 CUNEIFORM SIGN A TIMES A
-12002 CUNEIFORM SIGN A TIMES BAD
-12003 CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 CUNEIFORM SIGN A TIMES HA
-12005 CUNEIFORM SIGN A TIMES IGI
-12006 CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 CUNEIFORM SIGN A TIMES MUSH
-12008 CUNEIFORM SIGN A TIMES SAG
-12009 CUNEIFORM SIGN A2
-1200A CUNEIFORM SIGN AB
-1200B CUNEIFORM SIGN AB TIMES ASH2
-1200C CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D CUNEIFORM SIGN AB TIMES GAL
-1200E CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F CUNEIFORM SIGN AB TIMES HA
-12010 CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 CUNEIFORM SIGN AB TIMES IMIN
-12012 CUNEIFORM SIGN AB TIMES LAGAB
-12013 CUNEIFORM SIGN AB TIMES SHESH
-12014 CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 CUNEIFORM SIGN AB GUNU
-12016 CUNEIFORM SIGN AB2
-12017 CUNEIFORM SIGN AB2 TIMES BALAG
-12018 CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A CUNEIFORM SIGN AB2 TIMES SHA3
-1201B CUNEIFORM SIGN AB2 TIMES TAK4
-1201C CUNEIFORM SIGN AD
-1201D CUNEIFORM SIGN AK
-1201E CUNEIFORM SIGN AK TIMES ERIN2
-1201F CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 CUNEIFORM SIGN AL
-12021 CUNEIFORM SIGN AL TIMES AL
-12022 CUNEIFORM SIGN AL TIMES DIM2
-12023 CUNEIFORM SIGN AL TIMES GISH
-12024 CUNEIFORM SIGN AL TIMES HA
-12025 CUNEIFORM SIGN AL TIMES KAD3
-12026 CUNEIFORM SIGN AL TIMES KI
-12027 CUNEIFORM SIGN AL TIMES SHE
-12028 CUNEIFORM SIGN AL TIMES USH
-12029 CUNEIFORM SIGN ALAN
-1202A CUNEIFORM SIGN ALEPH
-1202B CUNEIFORM SIGN AMAR
-1202C CUNEIFORM SIGN AMAR TIMES SHE
-1202D CUNEIFORM SIGN AN
-1202E CUNEIFORM SIGN AN OVER AN
-1202F CUNEIFORM SIGN AN THREE TIMES
-12030 CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 CUNEIFORM SIGN ANSHE
-12033 CUNEIFORM SIGN APIN
-12034 CUNEIFORM SIGN ARAD
-12035 CUNEIFORM SIGN ARAD TIMES KUR
-12036 CUNEIFORM SIGN ARKAB
-12037 CUNEIFORM SIGN ASAL2
-12038 CUNEIFORM SIGN ASH
-12039 CUNEIFORM SIGN ASH ZIDA TENU
-1203A CUNEIFORM SIGN ASH KABA TENU
-1203B CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E CUNEIFORM SIGN ASH2
-1203F CUNEIFORM SIGN ASHGAB
-12040 CUNEIFORM SIGN BA
-12041 CUNEIFORM SIGN BAD
-12042 CUNEIFORM SIGN BAG3
-12043 CUNEIFORM SIGN BAHAR2
-12044 CUNEIFORM SIGN BAL
-12045 CUNEIFORM SIGN BAL OVER BAL
-12046 CUNEIFORM SIGN BALAG
-12047 CUNEIFORM SIGN BAR
-12048 CUNEIFORM SIGN BARA2
-12049 CUNEIFORM SIGN BI
-1204A CUNEIFORM SIGN BI TIMES A
-1204B CUNEIFORM SIGN BI TIMES GAR
-1204C CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D CUNEIFORM SIGN BU
-1204E CUNEIFORM SIGN BU OVER BU AB
-1204F CUNEIFORM SIGN BU OVER BU UN
-12050 CUNEIFORM SIGN BU CROSSING BU
-12051 CUNEIFORM SIGN BULUG
-12052 CUNEIFORM SIGN BULUG OVER BULUG
-12053 CUNEIFORM SIGN BUR
-12054 CUNEIFORM SIGN BUR2
-12055 CUNEIFORM SIGN DA
-12056 CUNEIFORM SIGN DAG
-12057 CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E CUNEIFORM SIGN DAM
-1206F CUNEIFORM SIGN DAR
-12070 CUNEIFORM SIGN DARA3
-12071 CUNEIFORM SIGN DARA4
-12072 CUNEIFORM SIGN DI
-12073 CUNEIFORM SIGN DIB
-12074 CUNEIFORM SIGN DIM
-12075 CUNEIFORM SIGN DIM TIMES SHE
-12076 CUNEIFORM SIGN DIM2
-12077 CUNEIFORM SIGN DIN
-12078 CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 CUNEIFORM SIGN DISH
-1207A CUNEIFORM SIGN DU
-1207B CUNEIFORM SIGN DU OVER DU
-1207C CUNEIFORM SIGN DU GUNU
-1207D CUNEIFORM SIGN DU SHESHIG
-1207E CUNEIFORM SIGN DUB
-1207F CUNEIFORM SIGN DUB TIMES ESH2
-12080 CUNEIFORM SIGN DUB2
-12081 CUNEIFORM SIGN DUG
-12082 CUNEIFORM SIGN DUGUD
-12083 CUNEIFORM SIGN DUH
-12084 CUNEIFORM SIGN DUN
-12085 CUNEIFORM SIGN DUN3
-12086 CUNEIFORM SIGN DUN3 GUNU
-12087 CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 CUNEIFORM SIGN DUN4
-12089 CUNEIFORM SIGN DUR2
-1208A CUNEIFORM SIGN E
-1208B CUNEIFORM SIGN E TIMES PAP
-1208C CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D CUNEIFORM SIGN E2
-1208E CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F CUNEIFORM SIGN E2 TIMES GAR
-12090 CUNEIFORM SIGN E2 TIMES MI
-12091 CUNEIFORM SIGN E2 TIMES SAL
-12092 CUNEIFORM SIGN E2 TIMES SHE
-12093 CUNEIFORM SIGN E2 TIMES U
-12094 CUNEIFORM SIGN EDIN
-12095 CUNEIFORM SIGN EGIR
-12096 CUNEIFORM SIGN EL
-12097 CUNEIFORM SIGN EN
-12098 CUNEIFORM SIGN EN TIMES GAN2
-12099 CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A CUNEIFORM SIGN EN TIMES ME
-1209B CUNEIFORM SIGN EN CROSSING EN
-1209C CUNEIFORM SIGN EN OPPOSING EN
-1209D CUNEIFORM SIGN EN SQUARED
-1209E CUNEIFORM SIGN EREN
-1209F CUNEIFORM SIGN ERIN2
-120A0 CUNEIFORM SIGN ESH2
-120A1 CUNEIFORM SIGN EZEN
-120A2 CUNEIFORM SIGN EZEN TIMES A
-120A3 CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 CUNEIFORM SIGN EZEN TIMES AN
-120A6 CUNEIFORM SIGN EZEN TIMES BAD
-120A7 CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 CUNEIFORM SIGN EZEN TIMES HA
-120AA CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE CUNEIFORM SIGN EZEN TIMES KU3
-120AF CUNEIFORM SIGN EZEN TIMES LA
-120B0 CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 CUNEIFORM SIGN EZEN TIMES LI
-120B2 CUNEIFORM SIGN EZEN TIMES LU
-120B3 CUNEIFORM SIGN EZEN TIMES U2
-120B4 CUNEIFORM SIGN EZEN TIMES UD
-120B5 CUNEIFORM SIGN GA
-120B6 CUNEIFORM SIGN GA GUNU
-120B7 CUNEIFORM SIGN GA2
-120B8 CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC CUNEIFORM SIGN GA2 TIMES AN
-120BD CUNEIFORM SIGN GA2 TIMES ASH
-120BE CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF CUNEIFORM SIGN GA2 TIMES BAD
-120C0 CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 CUNEIFORM SIGN GA2 TIMES BUR
-120C2 CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 CUNEIFORM SIGN GA2 TIMES DA
-120C4 CUNEIFORM SIGN GA2 TIMES DI
-120C5 CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 CUNEIFORM SIGN GA2 TIMES DUB
-120C7 CUNEIFORM SIGN GA2 TIMES EL
-120C8 CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 CUNEIFORM SIGN GA2 TIMES EN
-120CA CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC CUNEIFORM SIGN GA2 TIMES GAR
-120CD CUNEIFORM SIGN GA2 TIMES GI
-120CE CUNEIFORM SIGN GA2 TIMES GI4
-120CF CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 CUNEIFORM SIGN GA2 TIMES HAL
-120D3 CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 CUNEIFORM SIGN GA2 TIMES KAK
-120D9 CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA CUNEIFORM SIGN GA2 TIMES KID
-120DB CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD CUNEIFORM SIGN GA2 TIMES LA
-120DE CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF CUNEIFORM SIGN GA2 TIMES MI
-120E0 CUNEIFORM SIGN GA2 TIMES NUN
-120E1 CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 CUNEIFORM SIGN GA2 TIMES PA
-120E3 CUNEIFORM SIGN GA2 TIMES SAL
-120E4 CUNEIFORM SIGN GA2 TIMES SAR
-120E5 CUNEIFORM SIGN GA2 TIMES SHE
-120E6 CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 CUNEIFORM SIGN GA2 TIMES SHID
-120E8 CUNEIFORM SIGN GA2 TIMES SUM
-120E9 CUNEIFORM SIGN GA2 TIMES TAK4
-120EA CUNEIFORM SIGN GA2 TIMES U
-120EB CUNEIFORM SIGN GA2 TIMES UD
-120EC CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED CUNEIFORM SIGN GA2 OVER GA2
-120EE CUNEIFORM SIGN GABA
-120EF CUNEIFORM SIGN GABA CROSSING GABA
-120F0 CUNEIFORM SIGN GAD
-120F1 CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 CUNEIFORM SIGN GAL
-120F3 CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 CUNEIFORM SIGN GALAM
-120F5 CUNEIFORM SIGN GAM
-120F6 CUNEIFORM SIGN GAN
-120F7 CUNEIFORM SIGN GAN2
-120F8 CUNEIFORM SIGN GAN2 TENU
-120F9 CUNEIFORM SIGN GAN2 OVER GAN2
-120FA CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB CUNEIFORM SIGN GAR
-120FC CUNEIFORM SIGN GAR3
-120FD CUNEIFORM SIGN GASHAN
-120FE CUNEIFORM SIGN GESHTIN
-120FF CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 CUNEIFORM SIGN GI
-12101 CUNEIFORM SIGN GI TIMES E
-12102 CUNEIFORM SIGN GI TIMES U
-12103 CUNEIFORM SIGN GI CROSSING GI
-12104 CUNEIFORM SIGN GI4
-12105 CUNEIFORM SIGN GI4 OVER GI4
-12106 CUNEIFORM SIGN GI4 CROSSING GI4
-12107 CUNEIFORM SIGN GIDIM
-12108 CUNEIFORM SIGN GIR2
-12109 CUNEIFORM SIGN GIR2 GUNU
-1210A CUNEIFORM SIGN GIR3
-1210B CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D CUNEIFORM SIGN GIR3 TIMES IGI
-1210E CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F CUNEIFORM SIGN GIR3 TIMES PA
-12110 CUNEIFORM SIGN GISAL
-12111 CUNEIFORM SIGN GISH
-12112 CUNEIFORM SIGN GISH CROSSING GISH
-12113 CUNEIFORM SIGN GISH TIMES BAD
-12114 CUNEIFORM SIGN GISH TIMES TAK4
-12115 CUNEIFORM SIGN GISH TENU
-12116 CUNEIFORM SIGN GU
-12117 CUNEIFORM SIGN GU CROSSING GU
-12118 CUNEIFORM SIGN GU2
-12119 CUNEIFORM SIGN GU2 TIMES KAK
-1211A CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B CUNEIFORM SIGN GU2 TIMES NUN
-1211C CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D CUNEIFORM SIGN GU2 GUNU
-1211E CUNEIFORM SIGN GUD
-1211F CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 CUNEIFORM SIGN GUD TIMES KUR
-12121 CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 CUNEIFORM SIGN GUL
-12123 CUNEIFORM SIGN GUM
-12124 CUNEIFORM SIGN GUM TIMES SHE
-12125 CUNEIFORM SIGN GUR
-12126 CUNEIFORM SIGN GUR7
-12127 CUNEIFORM SIGN GURUN
-12128 CUNEIFORM SIGN GURUSH
-12129 CUNEIFORM SIGN HA
-1212A CUNEIFORM SIGN HA TENU
-1212B CUNEIFORM SIGN HA GUNU
-1212C CUNEIFORM SIGN HAL
-1212D CUNEIFORM SIGN HI
-1212E CUNEIFORM SIGN HI TIMES ASH
-1212F CUNEIFORM SIGN HI TIMES ASH2
-12130 CUNEIFORM SIGN HI TIMES BAD
-12131 CUNEIFORM SIGN HI TIMES DISH
-12132 CUNEIFORM SIGN HI TIMES GAD
-12133 CUNEIFORM SIGN HI TIMES KIN
-12134 CUNEIFORM SIGN HI TIMES NUN
-12135 CUNEIFORM SIGN HI TIMES SHE
-12136 CUNEIFORM SIGN HI TIMES U
-12137 CUNEIFORM SIGN HU
-12138 CUNEIFORM SIGN HUB2
-12139 CUNEIFORM SIGN HUB2 TIMES AN
-1213A CUNEIFORM SIGN HUB2 TIMES HAL
-1213B CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C CUNEIFORM SIGN HUB2 TIMES LISH
-1213D CUNEIFORM SIGN HUB2 TIMES UD
-1213E CUNEIFORM SIGN HUL2
-1213F CUNEIFORM SIGN I
-12140 CUNEIFORM SIGN I A
-12141 CUNEIFORM SIGN IB
-12142 CUNEIFORM SIGN IDIM
-12143 CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 CUNEIFORM SIGN IG
-12146 CUNEIFORM SIGN IGI
-12147 CUNEIFORM SIGN IGI DIB
-12148 CUNEIFORM SIGN IGI RI
-12149 CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A CUNEIFORM SIGN IGI GUNU
-1214B CUNEIFORM SIGN IL
-1214C CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D CUNEIFORM SIGN IL2
-1214E CUNEIFORM SIGN IM
-1214F CUNEIFORM SIGN IM TIMES TAK4
-12150 CUNEIFORM SIGN IM CROSSING IM
-12151 CUNEIFORM SIGN IM OPPOSING IM
-12152 CUNEIFORM SIGN IM SQUARED
-12153 CUNEIFORM SIGN IMIN
-12154 CUNEIFORM SIGN IN
-12155 CUNEIFORM SIGN IR
-12156 CUNEIFORM SIGN ISH
-12157 CUNEIFORM SIGN KA
-12158 CUNEIFORM SIGN KA TIMES A
-12159 CUNEIFORM SIGN KA TIMES AD
-1215A CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B CUNEIFORM SIGN KA TIMES ASH2
-1215C CUNEIFORM SIGN KA TIMES BAD
-1215D CUNEIFORM SIGN KA TIMES BALAG
-1215E CUNEIFORM SIGN KA TIMES BAR
-1215F CUNEIFORM SIGN KA TIMES BI
-12160 CUNEIFORM SIGN KA TIMES ERIN2
-12161 CUNEIFORM SIGN KA TIMES ESH2
-12162 CUNEIFORM SIGN KA TIMES GA
-12163 CUNEIFORM SIGN KA TIMES GAL
-12164 CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 CUNEIFORM SIGN KA TIMES GAR
-12166 CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 CUNEIFORM SIGN KA TIMES GI
-12168 CUNEIFORM SIGN KA TIMES GIR2
-12169 CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B CUNEIFORM SIGN KA TIMES GU
-1216C CUNEIFORM SIGN KA TIMES GUR7
-1216D CUNEIFORM SIGN KA TIMES IGI
-1216E CUNEIFORM SIGN KA TIMES IM
-1216F CUNEIFORM SIGN KA TIMES KAK
-12170 CUNEIFORM SIGN KA TIMES KI
-12171 CUNEIFORM SIGN KA TIMES KID
-12172 CUNEIFORM SIGN KA TIMES LI
-12173 CUNEIFORM SIGN KA TIMES LU
-12174 CUNEIFORM SIGN KA TIMES ME
-12175 CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 CUNEIFORM SIGN KA TIMES MI
-12179 CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A CUNEIFORM SIGN KA TIMES NE
-1217B CUNEIFORM SIGN KA TIMES NUN
-1217C CUNEIFORM SIGN KA TIMES PI
-1217D CUNEIFORM SIGN KA TIMES RU
-1217E CUNEIFORM SIGN KA TIMES SA
-1217F CUNEIFORM SIGN KA TIMES SAR
-12180 CUNEIFORM SIGN KA TIMES SHA
-12181 CUNEIFORM SIGN KA TIMES SHE
-12182 CUNEIFORM SIGN KA TIMES SHID
-12183 CUNEIFORM SIGN KA TIMES SHU
-12184 CUNEIFORM SIGN KA TIMES SIG
-12185 CUNEIFORM SIGN KA TIMES SUHUR
-12186 CUNEIFORM SIGN KA TIMES TAR
-12187 CUNEIFORM SIGN KA TIMES U
-12188 CUNEIFORM SIGN KA TIMES U2
-12189 CUNEIFORM SIGN KA TIMES UD
-1218A CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B CUNEIFORM SIGN KA TIMES USH
-1218C CUNEIFORM SIGN KA TIMES ZI
-1218D CUNEIFORM SIGN KA2
-1218E CUNEIFORM SIGN KA2 CROSSING KA2
-1218F CUNEIFORM SIGN KAB
-12190 CUNEIFORM SIGN KAD2
-12191 CUNEIFORM SIGN KAD3
-12192 CUNEIFORM SIGN KAD4
-12193 CUNEIFORM SIGN KAD5
-12194 CUNEIFORM SIGN KAD5 OVER KAD5
-12195 CUNEIFORM SIGN KAK
-12196 CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 CUNEIFORM SIGN KAL
-12198 CUNEIFORM SIGN KAL TIMES BAD
-12199 CUNEIFORM SIGN KAL CROSSING KAL
-1219A CUNEIFORM SIGN KAM2
-1219B CUNEIFORM SIGN KAM4
-1219C CUNEIFORM SIGN KASKAL
-1219D CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F CUNEIFORM SIGN KESH2
-121A0 CUNEIFORM SIGN KI
-121A1 CUNEIFORM SIGN KI TIMES BAD
-121A2 CUNEIFORM SIGN KI TIMES U
-121A3 CUNEIFORM SIGN KI TIMES UD
-121A4 CUNEIFORM SIGN KID
-121A5 CUNEIFORM SIGN KIN
-121A6 CUNEIFORM SIGN KISAL
-121A7 CUNEIFORM SIGN KISH
-121A8 CUNEIFORM SIGN KISIM5
-121A9 CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA CUNEIFORM SIGN KU
-121AB CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC CUNEIFORM SIGN KU3
-121AD CUNEIFORM SIGN KU4
-121AE CUNEIFORM SIGN KU4 VARIANT FORM
-121AF CUNEIFORM SIGN KU7
-121B0 CUNEIFORM SIGN KUL
-121B1 CUNEIFORM SIGN KUL GUNU
-121B2 CUNEIFORM SIGN KUN
-121B3 CUNEIFORM SIGN KUR
-121B4 CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 CUNEIFORM SIGN KUSHU2
-121B6 CUNEIFORM SIGN KWU318
-121B7 CUNEIFORM SIGN LA
-121B8 CUNEIFORM SIGN LAGAB
-121B9 CUNEIFORM SIGN LAGAB TIMES A
-121BA CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD CUNEIFORM SIGN LAGAB TIMES AL
-121BE CUNEIFORM SIGN LAGAB TIMES AN
-121BF CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 CUNEIFORM SIGN LAGAB TIMES BI
-121C2 CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 CUNEIFORM SIGN LAGAB TIMES EN
-121C4 CUNEIFORM SIGN LAGAB TIMES GA
-121C5 CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 CUNEIFORM SIGN LAGAB TIMES HA
-121C9 CUNEIFORM SIGN LAGAB TIMES HAL
-121CA CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC CUNEIFORM SIGN LAGAB TIMES IM
-121CD CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF CUNEIFORM SIGN LAGAB TIMES KI
-121D0 CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 CUNEIFORM SIGN LAGAB TIMES LU
-121D7 CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 CUNEIFORM SIGN LAGAB TIMES ME
-121D9 CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB CUNEIFORM SIGN LAGAB TIMES NE
-121DC CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 CUNEIFORM SIGN LAGAB TIMES U
-121E6 CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 CUNEIFORM SIGN LAGAB TIMES UD
-121EA CUNEIFORM SIGN LAGAB TIMES USH
-121EB CUNEIFORM SIGN LAGAB SQUARED
-121EC CUNEIFORM SIGN LAGAR
-121ED CUNEIFORM SIGN LAGAR TIMES SHE
-121EE CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF CUNEIFORM SIGN LAGAR GUNU
-121F0 CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 CUNEIFORM SIGN LAHSHU
-121F2 CUNEIFORM SIGN LAL
-121F3 CUNEIFORM SIGN LAL TIMES LAL
-121F4 CUNEIFORM SIGN LAM
-121F5 CUNEIFORM SIGN LAM TIMES KUR
-121F6 CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 CUNEIFORM SIGN LI
-121F8 CUNEIFORM SIGN LIL
-121F9 CUNEIFORM SIGN LIMMU2
-121FA CUNEIFORM SIGN LISH
-121FB CUNEIFORM SIGN LU
-121FC CUNEIFORM SIGN LU TIMES BAD
-121FD CUNEIFORM SIGN LU2
-121FE CUNEIFORM SIGN LU2 TIMES AL
-121FF CUNEIFORM SIGN LU2 TIMES BAD
-12200 CUNEIFORM SIGN LU2 TIMES ESH2
-12201 CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 CUNEIFORM SIGN LU2 TIMES IM
-12205 CUNEIFORM SIGN LU2 TIMES KAD2
-12206 CUNEIFORM SIGN LU2 TIMES KAD3
-12207 CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 CUNEIFORM SIGN LU2 TIMES KI
-12209 CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C CUNEIFORM SIGN LU2 TIMES NE
-1220D CUNEIFORM SIGN LU2 TIMES NU
-1220E CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 CUNEIFORM SIGN LU2 TIMES TUG2
-12211 CUNEIFORM SIGN LU2 TENU
-12212 CUNEIFORM SIGN LU2 CROSSING LU2
-12213 CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 CUNEIFORM SIGN LU2 SQUARED
-12215 CUNEIFORM SIGN LU2 SHESHIG
-12216 CUNEIFORM SIGN LU3
-12217 CUNEIFORM SIGN LUGAL
-12218 CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A CUNEIFORM SIGN LUGAL SHESHIG
-1221B CUNEIFORM SIGN LUH
-1221C CUNEIFORM SIGN LUL
-1221D CUNEIFORM SIGN LUM
-1221E CUNEIFORM SIGN LUM OVER LUM
-1221F CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 CUNEIFORM SIGN MA
-12221 CUNEIFORM SIGN MA TIMES TAK4
-12222 CUNEIFORM SIGN MA GUNU
-12223 CUNEIFORM SIGN MA2
-12224 CUNEIFORM SIGN MAH
-12225 CUNEIFORM SIGN MAR
-12226 CUNEIFORM SIGN MASH
-12227 CUNEIFORM SIGN MASH2
-12228 CUNEIFORM SIGN ME
-12229 CUNEIFORM SIGN MES
-1222A CUNEIFORM SIGN MI
-1222B CUNEIFORM SIGN MIN
-1222C CUNEIFORM SIGN MU
-1222D CUNEIFORM SIGN MU OVER MU
-1222E CUNEIFORM SIGN MUG
-1222F CUNEIFORM SIGN MUG GUNU
-12230 CUNEIFORM SIGN MUNSUB
-12231 CUNEIFORM SIGN MURGU2
-12232 CUNEIFORM SIGN MUSH
-12233 CUNEIFORM SIGN MUSH TIMES A
-12234 CUNEIFORM SIGN MUSH TIMES KUR
-12235 CUNEIFORM SIGN MUSH TIMES ZA
-12236 CUNEIFORM SIGN MUSH OVER MUSH
-12237 CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 CUNEIFORM SIGN MUSH3
-1223A CUNEIFORM SIGN MUSH3 TIMES A
-1223B CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C CUNEIFORM SIGN MUSH3 TIMES DI
-1223D CUNEIFORM SIGN MUSH3 GUNU
-1223E CUNEIFORM SIGN NA
-1223F CUNEIFORM SIGN NA2
-12240 CUNEIFORM SIGN NAGA
-12241 CUNEIFORM SIGN NAGA INVERTED
-12242 CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 CUNEIFORM SIGN NAGAR
-12245 CUNEIFORM SIGN NAM NUTILLU
-12246 CUNEIFORM SIGN NAM
-12247 CUNEIFORM SIGN NAM2
-12248 CUNEIFORM SIGN NE
-12249 CUNEIFORM SIGN NE TIMES A
-1224A CUNEIFORM SIGN NE TIMES UD
-1224B CUNEIFORM SIGN NE SHESHIG
-1224C CUNEIFORM SIGN NI
-1224D CUNEIFORM SIGN NI TIMES E
-1224E CUNEIFORM SIGN NI2
-1224F CUNEIFORM SIGN NIM
-12250 CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 CUNEIFORM SIGN NINDA2
-12253 CUNEIFORM SIGN NINDA2 TIMES AN
-12254 CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 CUNEIFORM SIGN NINDA2 TIMES NE
-12259 CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F CUNEIFORM SIGN NINDA2 TIMES USH
-12260 CUNEIFORM SIGN NISAG
-12261 CUNEIFORM SIGN NU
-12262 CUNEIFORM SIGN NU11
-12263 CUNEIFORM SIGN NUN
-12264 CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 CUNEIFORM SIGN NUN TENU
-1226A CUNEIFORM SIGN NUN OVER NUN
-1226B CUNEIFORM SIGN NUN CROSSING NUN
-1226C CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D CUNEIFORM SIGN NUNUZ
-1226E CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A CUNEIFORM SIGN PA
-1227B CUNEIFORM SIGN PAD
-1227C CUNEIFORM SIGN PAN
-1227D CUNEIFORM SIGN PAP
-1227E CUNEIFORM SIGN PESH2
-1227F CUNEIFORM SIGN PI
-12280 CUNEIFORM SIGN PI TIMES A
-12281 CUNEIFORM SIGN PI TIMES AB
-12282 CUNEIFORM SIGN PI TIMES BI
-12283 CUNEIFORM SIGN PI TIMES BU
-12284 CUNEIFORM SIGN PI TIMES E
-12285 CUNEIFORM SIGN PI TIMES I
-12286 CUNEIFORM SIGN PI TIMES IB
-12287 CUNEIFORM SIGN PI TIMES U
-12288 CUNEIFORM SIGN PI TIMES U2
-12289 CUNEIFORM SIGN PI CROSSING PI
-1228A CUNEIFORM SIGN PIRIG
-1228B CUNEIFORM SIGN PIRIG TIMES KAL
-1228C CUNEIFORM SIGN PIRIG TIMES UD
-1228D CUNEIFORM SIGN PIRIG TIMES ZA
-1228E CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F CUNEIFORM SIGN RA
-12290 CUNEIFORM SIGN RAB
-12291 CUNEIFORM SIGN RI
-12292 CUNEIFORM SIGN RU
-12293 CUNEIFORM SIGN SA
-12294 CUNEIFORM SIGN SAG NUTILLU
-12295 CUNEIFORM SIGN SAG
-12296 CUNEIFORM SIGN SAG TIMES A
-12297 CUNEIFORM SIGN SAG TIMES DU
-12298 CUNEIFORM SIGN SAG TIMES DUB
-12299 CUNEIFORM SIGN SAG TIMES HA
-1229A CUNEIFORM SIGN SAG TIMES KAK
-1229B CUNEIFORM SIGN SAG TIMES KUR
-1229C CUNEIFORM SIGN SAG TIMES LUM
-1229D CUNEIFORM SIGN SAG TIMES MI
-1229E CUNEIFORM SIGN SAG TIMES NUN
-1229F CUNEIFORM SIGN SAG TIMES SAL
-122A0 CUNEIFORM SIGN SAG TIMES SHID
-122A1 CUNEIFORM SIGN SAG TIMES TAB
-122A2 CUNEIFORM SIGN SAG TIMES U2
-122A3 CUNEIFORM SIGN SAG TIMES UB
-122A4 CUNEIFORM SIGN SAG TIMES UM
-122A5 CUNEIFORM SIGN SAG TIMES UR
-122A6 CUNEIFORM SIGN SAG TIMES USH
-122A7 CUNEIFORM SIGN SAG OVER SAG
-122A8 CUNEIFORM SIGN SAG GUNU
-122A9 CUNEIFORM SIGN SAL
-122AA CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB CUNEIFORM SIGN SANGA2
-122AC CUNEIFORM SIGN SAR
-122AD CUNEIFORM SIGN SHA
-122AE CUNEIFORM SIGN SHA3
-122AF CUNEIFORM SIGN SHA3 TIMES A
-122B0 CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 CUNEIFORM SIGN SHA3 TIMES NE
-122B3 CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 CUNEIFORM SIGN SHA3 TIMES U
-122B6 CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 CUNEIFORM SIGN SHA6
-122B8 CUNEIFORM SIGN SHAB6
-122B9 CUNEIFORM SIGN SHAR2
- * formed by making a circular indentation with the end of the stylus
-122BA CUNEIFORM SIGN SHE
-122BB CUNEIFORM SIGN SHE HU
-122BC CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE CUNEIFORM SIGN SHEG9
-122BF CUNEIFORM SIGN SHEN
-122C0 CUNEIFORM SIGN SHESH
-122C1 CUNEIFORM SIGN SHESH2
-122C2 CUNEIFORM SIGN SHESHLAM
-122C3 CUNEIFORM SIGN SHID
-122C4 CUNEIFORM SIGN SHID TIMES A
-122C5 CUNEIFORM SIGN SHID TIMES IM
-122C6 CUNEIFORM SIGN SHIM
-122C7 CUNEIFORM SIGN SHIM TIMES A
-122C8 CUNEIFORM SIGN SHIM TIMES BAL
-122C9 CUNEIFORM SIGN SHIM TIMES BULUG
-122CA CUNEIFORM SIGN SHIM TIMES DIN
-122CB CUNEIFORM SIGN SHIM TIMES GAR
-122CC CUNEIFORM SIGN SHIM TIMES IGI
-122CD CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF CUNEIFORM SIGN SHIM TIMES LUL
-122D0 CUNEIFORM SIGN SHIM TIMES MUG
-122D1 CUNEIFORM SIGN SHIM TIMES SAL
-122D2 CUNEIFORM SIGN SHINIG
-122D3 CUNEIFORM SIGN SHIR
-122D4 CUNEIFORM SIGN SHIR TENU
-122D5 CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6 CUNEIFORM SIGN SHITA
-122D7 CUNEIFORM SIGN SHU
-122D8 CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 CUNEIFORM SIGN SHU2
-122DA CUNEIFORM SIGN SHUBUR
-122DB CUNEIFORM SIGN SI
-122DC CUNEIFORM SIGN SI GUNU
-122DD CUNEIFORM SIGN SIG
-122DE CUNEIFORM SIGN SIG4
-122DF CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 CUNEIFORM SIGN SIK2
-122E1 CUNEIFORM SIGN SILA3
-122E2 CUNEIFORM SIGN SU
-122E3 CUNEIFORM SIGN SU OVER SU
-122E4 CUNEIFORM SIGN SUD
-122E5 CUNEIFORM SIGN SUD2
-122E6 CUNEIFORM SIGN SUHUR
-122E7 CUNEIFORM SIGN SUM
-122E8 CUNEIFORM SIGN SUMASH
-122E9 CUNEIFORM SIGN SUR
-122EA CUNEIFORM SIGN SUR9
-122EB CUNEIFORM SIGN TA
-122EC CUNEIFORM SIGN TA ASTERISK
-122ED CUNEIFORM SIGN TA TIMES HI
-122EE CUNEIFORM SIGN TA TIMES MI
-122EF CUNEIFORM SIGN TA GUNU
-122F0 CUNEIFORM SIGN TAB
-122F1 CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 CUNEIFORM SIGN TAB SQUARED
-122F3 CUNEIFORM SIGN TAG
-122F4 CUNEIFORM SIGN TAG TIMES BI
-122F5 CUNEIFORM SIGN TAG TIMES GUD
-122F6 CUNEIFORM SIGN TAG TIMES SHE
-122F7 CUNEIFORM SIGN TAG TIMES SHU
-122F8 CUNEIFORM SIGN TAG TIMES TUG2
-122F9 CUNEIFORM SIGN TAG TIMES UD
-122FA CUNEIFORM SIGN TAK4
-122FB CUNEIFORM SIGN TAR
-122FC CUNEIFORM SIGN TE
-122FD CUNEIFORM SIGN TE GUNU
-122FE CUNEIFORM SIGN TI
-122FF CUNEIFORM SIGN TI TENU
-12300 CUNEIFORM SIGN TIL
-12301 CUNEIFORM SIGN TIR
-12302 CUNEIFORM SIGN TIR TIMES TAK4
-12303 CUNEIFORM SIGN TIR OVER TIR
-12304 CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 CUNEIFORM SIGN TU
-12306 CUNEIFORM SIGN TUG2
-12307 CUNEIFORM SIGN TUK
-12308 CUNEIFORM SIGN TUM
-12309 CUNEIFORM SIGN TUR
-1230A CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B CUNEIFORM SIGN U
-1230C CUNEIFORM SIGN U GUD
-1230D CUNEIFORM SIGN U U U
-1230E CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 CUNEIFORM SIGN U2
-12312 CUNEIFORM SIGN UB
-12313 CUNEIFORM SIGN UD
-12314 CUNEIFORM SIGN UD KUSHU2
-12315 CUNEIFORM SIGN UD TIMES BAD
-12316 CUNEIFORM SIGN UD TIMES MI
-12317 CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 CUNEIFORM SIGN UD GUNU
-1231A CUNEIFORM SIGN UD SHESHIG
-1231B CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C CUNEIFORM SIGN UDUG
-1231D CUNEIFORM SIGN UM
-1231E CUNEIFORM SIGN UM TIMES LAGAB
-1231F CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 CUNEIFORM SIGN UM TIMES SHA3
-12321 CUNEIFORM SIGN UM TIMES U
-12322 CUNEIFORM SIGN UMBIN
-12323 CUNEIFORM SIGN UMUM
-12324 CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 CUNEIFORM SIGN UMUM TIMES PA
-12326 CUNEIFORM SIGN UN
-12327 CUNEIFORM SIGN UN GUNU
-12328 CUNEIFORM SIGN UR
-12329 CUNEIFORM SIGN UR CROSSING UR
-1232A CUNEIFORM SIGN UR SHESHIG
-1232B CUNEIFORM SIGN UR2
-1232C CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E CUNEIFORM SIGN UR2 TIMES AL
-1232F CUNEIFORM SIGN UR2 TIMES HA
-12330 CUNEIFORM SIGN UR2 TIMES NUN
-12331 CUNEIFORM SIGN UR2 TIMES U2
-12332 CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 CUNEIFORM SIGN UR4
-12335 CUNEIFORM SIGN URI
-12336 CUNEIFORM SIGN URI3
-12337 CUNEIFORM SIGN URU
-12338 CUNEIFORM SIGN URU TIMES A
-12339 CUNEIFORM SIGN URU TIMES ASHGAB
-1233A CUNEIFORM SIGN URU TIMES BAR
-1233B CUNEIFORM SIGN URU TIMES DUN
-1233C CUNEIFORM SIGN URU TIMES GA
-1233D CUNEIFORM SIGN URU TIMES GAL
-1233E CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F CUNEIFORM SIGN URU TIMES GAR
-12340 CUNEIFORM SIGN URU TIMES GU
-12341 CUNEIFORM SIGN URU TIMES HA
-12342 CUNEIFORM SIGN URU TIMES IGI
-12343 CUNEIFORM SIGN URU TIMES IM
-12344 CUNEIFORM SIGN URU TIMES ISH
-12345 CUNEIFORM SIGN URU TIMES KI
-12346 CUNEIFORM SIGN URU TIMES LUM
-12347 CUNEIFORM SIGN URU TIMES MIN
-12348 CUNEIFORM SIGN URU TIMES PA
-12349 CUNEIFORM SIGN URU TIMES SHE
-1234A CUNEIFORM SIGN URU TIMES SIG4
-1234B CUNEIFORM SIGN URU TIMES TU
-1234C CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D CUNEIFORM SIGN URU TIMES UD
-1234E CUNEIFORM SIGN URU TIMES URUDA
-1234F CUNEIFORM SIGN URUDA
-12350 CUNEIFORM SIGN URUDA TIMES U
-12351 CUNEIFORM SIGN USH
-12352 CUNEIFORM SIGN USH TIMES A
-12353 CUNEIFORM SIGN USH TIMES KU
-12354 CUNEIFORM SIGN USH TIMES KUR
-12355 CUNEIFORM SIGN USH TIMES TAK4
-12356 CUNEIFORM SIGN USHX
-12357 CUNEIFORM SIGN USH2
-12358 CUNEIFORM SIGN USHUMX
-12359 CUNEIFORM SIGN UTUKI
-1235A CUNEIFORM SIGN UZ3
-1235B CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C CUNEIFORM SIGN UZU
-1235D CUNEIFORM SIGN ZA
-1235E CUNEIFORM SIGN ZA TENU
-1235F CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 CUNEIFORM SIGN ZAG
-12361 CUNEIFORM SIGN ZAMX
-12362 CUNEIFORM SIGN ZE2
-12363 CUNEIFORM SIGN ZI
-12364 CUNEIFORM SIGN ZI OVER ZI
-12365 CUNEIFORM SIGN ZI3
-12366 CUNEIFORM SIGN ZIB
-12367 CUNEIFORM SIGN ZIB KABA TENU
-12368 CUNEIFORM SIGN ZIG
-12369 CUNEIFORM SIGN ZIZ2
-1236A CUNEIFORM SIGN ZU
-1236B CUNEIFORM SIGN ZU5
-1236C CUNEIFORM SIGN ZU5 TIMES A
-1236D CUNEIFORM SIGN ZUBUR
-1236E CUNEIFORM SIGN ZUM
-@@ 12400 Cuneiform Numbers and Punctuation 1247F
-@ Numeric signs
-12400 CUNEIFORM NUMERIC SIGN TWO ASH
-12401 CUNEIFORM NUMERIC SIGN THREE ASH
-12402 CUNEIFORM NUMERIC SIGN FOUR ASH
-12403 CUNEIFORM NUMERIC SIGN FIVE ASH
-12404 CUNEIFORM NUMERIC SIGN SIX ASH
-12405 CUNEIFORM NUMERIC SIGN SEVEN ASH
-12406 CUNEIFORM NUMERIC SIGN EIGHT ASH
-12407 CUNEIFORM NUMERIC SIGN NINE ASH
-12408 CUNEIFORM NUMERIC SIGN THREE DISH
-12409 CUNEIFORM NUMERIC SIGN FOUR DISH
-1240A CUNEIFORM NUMERIC SIGN FIVE DISH
-1240B CUNEIFORM NUMERIC SIGN SIX DISH
-1240C CUNEIFORM NUMERIC SIGN SEVEN DISH
-1240D CUNEIFORM NUMERIC SIGN EIGHT DISH
-1240E CUNEIFORM NUMERIC SIGN NINE DISH
-1240F CUNEIFORM NUMERIC SIGN FOUR U
-12410 CUNEIFORM NUMERIC SIGN FIVE U
-12411 CUNEIFORM NUMERIC SIGN SIX U
-12412 CUNEIFORM NUMERIC SIGN SEVEN U
-12413 CUNEIFORM NUMERIC SIGN EIGHT U
-12414 CUNEIFORM NUMERIC SIGN NINE U
-12415 CUNEIFORM NUMERIC SIGN ONE GESH2
-12416 CUNEIFORM NUMERIC SIGN TWO GESH2
-12417 CUNEIFORM NUMERIC SIGN THREE GESH2
-12418 CUNEIFORM NUMERIC SIGN FOUR GESH2
-12419 CUNEIFORM NUMERIC SIGN FIVE GESH2
-1241A CUNEIFORM NUMERIC SIGN SIX GESH2
-1241B CUNEIFORM NUMERIC SIGN SEVEN GESH2
-1241C CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1241D CUNEIFORM NUMERIC SIGN NINE GESH2
-1241E CUNEIFORM NUMERIC SIGN ONE GESHU
-1241F CUNEIFORM NUMERIC SIGN TWO GESHU
-12420 CUNEIFORM NUMERIC SIGN THREE GESHU
-12421 CUNEIFORM NUMERIC SIGN FOUR GESHU
-12422 CUNEIFORM NUMERIC SIGN FIVE GESHU
-12423 CUNEIFORM NUMERIC SIGN TWO SHAR2
-12424 CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-12426 CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12427 CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12428 CUNEIFORM NUMERIC SIGN SIX SHAR2
-12429 CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-1242A CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-1242B CUNEIFORM NUMERIC SIGN NINE SHAR2
-1242C CUNEIFORM NUMERIC SIGN ONE SHARU
-1242D CUNEIFORM NUMERIC SIGN TWO SHARU
-1242E CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12430 CUNEIFORM NUMERIC SIGN FOUR SHARU
-12431 CUNEIFORM NUMERIC SIGN FIVE SHARU
-12432 CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12434 CUNEIFORM NUMERIC SIGN ONE BURU
-12435 CUNEIFORM NUMERIC SIGN TWO BURU
-12436 CUNEIFORM NUMERIC SIGN THREE BURU
-12437 CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-12438 CUNEIFORM NUMERIC SIGN FOUR BURU
-12439 CUNEIFORM NUMERIC SIGN FIVE BURU
-1243A CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1243C CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-12440 CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-12441 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-12444 CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-12446 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1244A CUNEIFORM NUMERIC SIGN TWO ASH TENU
-1244B CUNEIFORM NUMERIC SIGN THREE ASH TENU
-1244C CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-1244D CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-1244E CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1244F CUNEIFORM NUMERIC SIGN ONE BAN2
-12450 CUNEIFORM NUMERIC SIGN TWO BAN2
-12451 CUNEIFORM NUMERIC SIGN THREE BAN2
-12452 CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-12454 CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-12456 CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457 CUNEIFORM NUMERIC SIGN NIGIDAESH
-12458 CUNEIFORM NUMERIC SIGN ONE ESHE3
-12459 CUNEIFORM NUMERIC SIGN TWO ESHE3
-@ Fractions
-1245A CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-@ Punctuation
-12470 CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
- x (ugaritic word divider - 1039F)
- x (old persian word divider - 103D0)
-12471 CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-@@ 13000 Egyptian Hieroglyphs 1342F
-@+ The characters in this block are taken primarily from Alan Gardiner's works on Middle Egyptian.
-@ A. Man and his occupations
-13000 EGYPTIAN HIEROGLYPH A001
-13001 EGYPTIAN HIEROGLYPH A002
-13002 EGYPTIAN HIEROGLYPH A003
-13003 EGYPTIAN HIEROGLYPH A004
-13004 EGYPTIAN HIEROGLYPH A005
-13005 EGYPTIAN HIEROGLYPH A005A
-13006 EGYPTIAN HIEROGLYPH A006
-13007 EGYPTIAN HIEROGLYPH A006A
-13008 EGYPTIAN HIEROGLYPH A006B
-13009 EGYPTIAN HIEROGLYPH A007
-1300A EGYPTIAN HIEROGLYPH A008
-1300B EGYPTIAN HIEROGLYPH A009
-1300C EGYPTIAN HIEROGLYPH A010
-1300D EGYPTIAN HIEROGLYPH A011
-1300E EGYPTIAN HIEROGLYPH A012
-1300F EGYPTIAN HIEROGLYPH A013
-13010 EGYPTIAN HIEROGLYPH A014
-13011 EGYPTIAN HIEROGLYPH A014A
-13012 EGYPTIAN HIEROGLYPH A015
-13013 EGYPTIAN HIEROGLYPH A016
-13014 EGYPTIAN HIEROGLYPH A017
-13015 EGYPTIAN HIEROGLYPH A017A
-13016 EGYPTIAN HIEROGLYPH A018
-13017 EGYPTIAN HIEROGLYPH A019
-13018 EGYPTIAN HIEROGLYPH A020
-13019 EGYPTIAN HIEROGLYPH A021
-1301A EGYPTIAN HIEROGLYPH A022
-1301B EGYPTIAN HIEROGLYPH A023
-1301C EGYPTIAN HIEROGLYPH A024
-1301D EGYPTIAN HIEROGLYPH A025
-1301E EGYPTIAN HIEROGLYPH A026
-1301F EGYPTIAN HIEROGLYPH A027
-13020 EGYPTIAN HIEROGLYPH A028
-13021 EGYPTIAN HIEROGLYPH A029
-13022 EGYPTIAN HIEROGLYPH A030
-13023 EGYPTIAN HIEROGLYPH A031
-13024 EGYPTIAN HIEROGLYPH A032
-13025 EGYPTIAN HIEROGLYPH A032A
-13026 EGYPTIAN HIEROGLYPH A033
-13027 EGYPTIAN HIEROGLYPH A034
-13028 EGYPTIAN HIEROGLYPH A035
-13029 EGYPTIAN HIEROGLYPH A036
-1302A EGYPTIAN HIEROGLYPH A037
-1302B EGYPTIAN HIEROGLYPH A038
-1302C EGYPTIAN HIEROGLYPH A039
-1302D EGYPTIAN HIEROGLYPH A040
-1302E EGYPTIAN HIEROGLYPH A040A
-1302F EGYPTIAN HIEROGLYPH A041
-13030 EGYPTIAN HIEROGLYPH A042
-13031 EGYPTIAN HIEROGLYPH A042A
-13032 EGYPTIAN HIEROGLYPH A043
-13033 EGYPTIAN HIEROGLYPH A043A
-13034 EGYPTIAN HIEROGLYPH A044
-13035 EGYPTIAN HIEROGLYPH A045
-13036 EGYPTIAN HIEROGLYPH A045A
-13037 EGYPTIAN HIEROGLYPH A046
-13038 EGYPTIAN HIEROGLYPH A047
-13039 EGYPTIAN HIEROGLYPH A048
-1303A EGYPTIAN HIEROGLYPH A049
-1303B EGYPTIAN HIEROGLYPH A050
-1303C EGYPTIAN HIEROGLYPH A051
-1303D EGYPTIAN HIEROGLYPH A052
-1303E EGYPTIAN HIEROGLYPH A053
-1303F EGYPTIAN HIEROGLYPH A054
-13040 EGYPTIAN HIEROGLYPH A055
-13041 EGYPTIAN HIEROGLYPH A056
-13042 EGYPTIAN HIEROGLYPH A057
-13043 EGYPTIAN HIEROGLYPH A058
-13044 EGYPTIAN HIEROGLYPH A059
-13045 EGYPTIAN HIEROGLYPH A060
-13046 EGYPTIAN HIEROGLYPH A061
-13047 EGYPTIAN HIEROGLYPH A062
-13048 EGYPTIAN HIEROGLYPH A063
-13049 EGYPTIAN HIEROGLYPH A064
-1304A EGYPTIAN HIEROGLYPH A065
-1304B EGYPTIAN HIEROGLYPH A066
-1304C EGYPTIAN HIEROGLYPH A067
-1304D EGYPTIAN HIEROGLYPH A068
-1304E EGYPTIAN HIEROGLYPH A069
-1304F EGYPTIAN HIEROGLYPH A070
-@ B. Woman and her occupations
-13050 EGYPTIAN HIEROGLYPH B001
-13051 EGYPTIAN HIEROGLYPH B002
-13052 EGYPTIAN HIEROGLYPH B003
-13053 EGYPTIAN HIEROGLYPH B004
-13054 EGYPTIAN HIEROGLYPH B005
-13055 EGYPTIAN HIEROGLYPH B005A
-13056 EGYPTIAN HIEROGLYPH B006
-13057 EGYPTIAN HIEROGLYPH B007
-13058 EGYPTIAN HIEROGLYPH B008
-13059 EGYPTIAN HIEROGLYPH B009
-@ C. Anthropomorphic deities
-1305A EGYPTIAN HIEROGLYPH C001
-1305B EGYPTIAN HIEROGLYPH C002
-1305C EGYPTIAN HIEROGLYPH C002A
-1305D EGYPTIAN HIEROGLYPH C002B
-1305E EGYPTIAN HIEROGLYPH C002C
-1305F EGYPTIAN HIEROGLYPH C003
-13060 EGYPTIAN HIEROGLYPH C004
-13061 EGYPTIAN HIEROGLYPH C005
-13062 EGYPTIAN HIEROGLYPH C006
-13063 EGYPTIAN HIEROGLYPH C007
-13064 EGYPTIAN HIEROGLYPH C008
-13065 EGYPTIAN HIEROGLYPH C009
-13066 EGYPTIAN HIEROGLYPH C010
-13067 EGYPTIAN HIEROGLYPH C010A
-13068 EGYPTIAN HIEROGLYPH C011
- * 1,000,000
-13069 EGYPTIAN HIEROGLYPH C012
-1306A EGYPTIAN HIEROGLYPH C013
-1306B EGYPTIAN HIEROGLYPH C014
-1306C EGYPTIAN HIEROGLYPH C015
-1306D EGYPTIAN HIEROGLYPH C016
-1306E EGYPTIAN HIEROGLYPH C017
-1306F EGYPTIAN HIEROGLYPH C018
-13070 EGYPTIAN HIEROGLYPH C019
-13071 EGYPTIAN HIEROGLYPH C020
-13072 EGYPTIAN HIEROGLYPH C021
-13073 EGYPTIAN HIEROGLYPH C022
-13074 EGYPTIAN HIEROGLYPH C023
-13075 EGYPTIAN HIEROGLYPH C024
-@ D. Parts of the human body
-13076 EGYPTIAN HIEROGLYPH D001
-13077 EGYPTIAN HIEROGLYPH D002
-13078 EGYPTIAN HIEROGLYPH D003
-13079 EGYPTIAN HIEROGLYPH D004
-1307A EGYPTIAN HIEROGLYPH D005
-1307B EGYPTIAN HIEROGLYPH D006
-1307C EGYPTIAN HIEROGLYPH D007
-1307D EGYPTIAN HIEROGLYPH D008
-1307E EGYPTIAN HIEROGLYPH D008A
-1307F EGYPTIAN HIEROGLYPH D009
-13080 EGYPTIAN HIEROGLYPH D010
-13081 EGYPTIAN HIEROGLYPH D011
- * 1/2
-13082 EGYPTIAN HIEROGLYPH D012
- * 1/4
-13083 EGYPTIAN HIEROGLYPH D013
- * 1/8
-13084 EGYPTIAN HIEROGLYPH D014
- * 1/16
-13085 EGYPTIAN HIEROGLYPH D015
- * 1/32
-13086 EGYPTIAN HIEROGLYPH D016
- * 1/64
-13087 EGYPTIAN HIEROGLYPH D017
-13088 EGYPTIAN HIEROGLYPH D018
-13089 EGYPTIAN HIEROGLYPH D019
-1308A EGYPTIAN HIEROGLYPH D020
-1308B EGYPTIAN HIEROGLYPH D021
- * transliterated as r
-1308C EGYPTIAN HIEROGLYPH D022
-1308D EGYPTIAN HIEROGLYPH D023
-1308E EGYPTIAN HIEROGLYPH D024
-1308F EGYPTIAN HIEROGLYPH D025
-13090 EGYPTIAN HIEROGLYPH D026
-13091 EGYPTIAN HIEROGLYPH D027
-13092 EGYPTIAN HIEROGLYPH D027A
-13093 EGYPTIAN HIEROGLYPH D028
-13094 EGYPTIAN HIEROGLYPH D029
-13095 EGYPTIAN HIEROGLYPH D030
-13096 EGYPTIAN HIEROGLYPH D031
-13097 EGYPTIAN HIEROGLYPH D031A
-13098 EGYPTIAN HIEROGLYPH D032
-13099 EGYPTIAN HIEROGLYPH D033
-1309A EGYPTIAN HIEROGLYPH D034
-1309B EGYPTIAN HIEROGLYPH D034A
-1309C EGYPTIAN HIEROGLYPH D035
-1309D EGYPTIAN HIEROGLYPH D036
- * transliterated as A725
- x (hebrew letter ayin - 05E2)
- x (arabic letter ain - 0639)
-1309E EGYPTIAN HIEROGLYPH D037
-1309F EGYPTIAN HIEROGLYPH D038
-130A0 EGYPTIAN HIEROGLYPH D039
-130A1 EGYPTIAN HIEROGLYPH D040
-130A2 EGYPTIAN HIEROGLYPH D041
-130A3 EGYPTIAN HIEROGLYPH D042
-130A4 EGYPTIAN HIEROGLYPH D043
-130A5 EGYPTIAN HIEROGLYPH D044
-130A6 EGYPTIAN HIEROGLYPH D045
-130A7 EGYPTIAN HIEROGLYPH D046
- * transliterated as d
-130A8 EGYPTIAN HIEROGLYPH D046A
-130A9 EGYPTIAN HIEROGLYPH D047
-130AA EGYPTIAN HIEROGLYPH D048
-130AB EGYPTIAN HIEROGLYPH D048A
-130AC EGYPTIAN HIEROGLYPH D049
-130AD EGYPTIAN HIEROGLYPH D050
- * 10,000
-130AE EGYPTIAN HIEROGLYPH D050A
- * 20,000
-130AF EGYPTIAN HIEROGLYPH D050B
- * 30,000
-130B0 EGYPTIAN HIEROGLYPH D050C
- * 40,000
-130B1 EGYPTIAN HIEROGLYPH D050D
- * 50,000
-130B2 EGYPTIAN HIEROGLYPH D050E
- * 60,000
-130B3 EGYPTIAN HIEROGLYPH D050F
- * 70,000
-130B4 EGYPTIAN HIEROGLYPH D050G
- * 80,000
-130B5 EGYPTIAN HIEROGLYPH D050H
- * 90,000
-130B6 EGYPTIAN HIEROGLYPH D050I
- * 50,000
-130B7 EGYPTIAN HIEROGLYPH D051
-130B8 EGYPTIAN HIEROGLYPH D052
-130B9 EGYPTIAN HIEROGLYPH D052A
-130BA EGYPTIAN HIEROGLYPH D053
-130BB EGYPTIAN HIEROGLYPH D054
-130BC EGYPTIAN HIEROGLYPH D054A
-130BD EGYPTIAN HIEROGLYPH D055
-130BE EGYPTIAN HIEROGLYPH D056
-130BF EGYPTIAN HIEROGLYPH D057
-130C0 EGYPTIAN HIEROGLYPH D058
- * transliterated as b
-130C1 EGYPTIAN HIEROGLYPH D059
-130C2 EGYPTIAN HIEROGLYPH D060
-130C3 EGYPTIAN HIEROGLYPH D061
-130C4 EGYPTIAN HIEROGLYPH D062
-130C5 EGYPTIAN HIEROGLYPH D063
-130C6 EGYPTIAN HIEROGLYPH D064
-130C7 EGYPTIAN HIEROGLYPH D065
-130C8 EGYPTIAN HIEROGLYPH D066
-130C9 EGYPTIAN HIEROGLYPH D067
- * 1 heqat measure
-130CA EGYPTIAN HIEROGLYPH D067A
- * 2 heqat measures
-130CB EGYPTIAN HIEROGLYPH D067B
- * 3 heqat measures
-130CC EGYPTIAN HIEROGLYPH D067C
- * 4 heqat measures
-130CD EGYPTIAN HIEROGLYPH D067D
- * 5 heqat measures
-130CE EGYPTIAN HIEROGLYPH D067E
- * 6 heqat measures
-130CF EGYPTIAN HIEROGLYPH D067F
- * 7 heqat measures
-130D0 EGYPTIAN HIEROGLYPH D067G
- * 8 heqat measures
-130D1 EGYPTIAN HIEROGLYPH D067H
- * 9 heqat measures
-@ E. Mammals
-130D2 EGYPTIAN HIEROGLYPH E001
-130D3 EGYPTIAN HIEROGLYPH E002
-130D4 EGYPTIAN HIEROGLYPH E003
-130D5 EGYPTIAN HIEROGLYPH E004
-130D6 EGYPTIAN HIEROGLYPH E005
-130D7 EGYPTIAN HIEROGLYPH E006
-130D8 EGYPTIAN HIEROGLYPH E007
-130D9 EGYPTIAN HIEROGLYPH E008
-130DA EGYPTIAN HIEROGLYPH E008A
-130DB EGYPTIAN HIEROGLYPH E009
-130DC EGYPTIAN HIEROGLYPH E009A
-130DD EGYPTIAN HIEROGLYPH E010
-130DE EGYPTIAN HIEROGLYPH E011
-130DF EGYPTIAN HIEROGLYPH E012
-130E0 EGYPTIAN HIEROGLYPH E013
-130E1 EGYPTIAN HIEROGLYPH E014
-130E2 EGYPTIAN HIEROGLYPH E015
-130E3 EGYPTIAN HIEROGLYPH E016
-130E4 EGYPTIAN HIEROGLYPH E016A
-130E5 EGYPTIAN HIEROGLYPH E017
-130E6 EGYPTIAN HIEROGLYPH E017A
-130E7 EGYPTIAN HIEROGLYPH E018
-130E8 EGYPTIAN HIEROGLYPH E019
-130E9 EGYPTIAN HIEROGLYPH E020
-130EA EGYPTIAN HIEROGLYPH E020A
-130EB EGYPTIAN HIEROGLYPH E021
-130EC EGYPTIAN HIEROGLYPH E022
-130ED EGYPTIAN HIEROGLYPH E023
-130EE EGYPTIAN HIEROGLYPH E024
-130EF EGYPTIAN HIEROGLYPH E025
-130F0 EGYPTIAN HIEROGLYPH E026
-130F1 EGYPTIAN HIEROGLYPH E027
-130F2 EGYPTIAN HIEROGLYPH E028
-130F3 EGYPTIAN HIEROGLYPH E028A
-130F4 EGYPTIAN HIEROGLYPH E029
-130F5 EGYPTIAN HIEROGLYPH E030
-130F6 EGYPTIAN HIEROGLYPH E031
-130F7 EGYPTIAN HIEROGLYPH E032
-130F8 EGYPTIAN HIEROGLYPH E033
-130F9 EGYPTIAN HIEROGLYPH E034
-130FA EGYPTIAN HIEROGLYPH E034A
-130FB EGYPTIAN HIEROGLYPH E036
-130FC EGYPTIAN HIEROGLYPH E037
-130FD EGYPTIAN HIEROGLYPH E038
-@ F. Parts of mammals
-130FE EGYPTIAN HIEROGLYPH F001
-130FF EGYPTIAN HIEROGLYPH F001A
-13100 EGYPTIAN HIEROGLYPH F002
-13101 EGYPTIAN HIEROGLYPH F003
-13102 EGYPTIAN HIEROGLYPH F004
-13103 EGYPTIAN HIEROGLYPH F005
-13104 EGYPTIAN HIEROGLYPH F006
-13105 EGYPTIAN HIEROGLYPH F007
-13106 EGYPTIAN HIEROGLYPH F008
-13107 EGYPTIAN HIEROGLYPH F009
-13108 EGYPTIAN HIEROGLYPH F010
-13109 EGYPTIAN HIEROGLYPH F011
-1310A EGYPTIAN HIEROGLYPH F012
-1310B EGYPTIAN HIEROGLYPH F013
-1310C EGYPTIAN HIEROGLYPH F013A
-1310D EGYPTIAN HIEROGLYPH F014
-1310E EGYPTIAN HIEROGLYPH F015
-1310F EGYPTIAN HIEROGLYPH F016
-13110 EGYPTIAN HIEROGLYPH F017
-13111 EGYPTIAN HIEROGLYPH F018
-13112 EGYPTIAN HIEROGLYPH F019
-13113 EGYPTIAN HIEROGLYPH F020
-13114 EGYPTIAN HIEROGLYPH F021
-13115 EGYPTIAN HIEROGLYPH F021A
-13116 EGYPTIAN HIEROGLYPH F022
-13117 EGYPTIAN HIEROGLYPH F023
-13118 EGYPTIAN HIEROGLYPH F024
-13119 EGYPTIAN HIEROGLYPH F025
-1311A EGYPTIAN HIEROGLYPH F026
-1311B EGYPTIAN HIEROGLYPH F027
-1311C EGYPTIAN HIEROGLYPH F028
-1311D EGYPTIAN HIEROGLYPH F029
-1311E EGYPTIAN HIEROGLYPH F030
-1311F EGYPTIAN HIEROGLYPH F031
-13120 EGYPTIAN HIEROGLYPH F031A
-13121 EGYPTIAN HIEROGLYPH F032
- * transliterated as 1E96
-13122 EGYPTIAN HIEROGLYPH F033
-13123 EGYPTIAN HIEROGLYPH F034
-13124 EGYPTIAN HIEROGLYPH F035
-13125 EGYPTIAN HIEROGLYPH F036
-13126 EGYPTIAN HIEROGLYPH F037
-13127 EGYPTIAN HIEROGLYPH F037A
-13128 EGYPTIAN HIEROGLYPH F038
-13129 EGYPTIAN HIEROGLYPH F038A
-1312A EGYPTIAN HIEROGLYPH F039
-1312B EGYPTIAN HIEROGLYPH F040
-1312C EGYPTIAN HIEROGLYPH F041
-1312D EGYPTIAN HIEROGLYPH F042
-1312E EGYPTIAN HIEROGLYPH F043
-1312F EGYPTIAN HIEROGLYPH F044
-13130 EGYPTIAN HIEROGLYPH F045
-13131 EGYPTIAN HIEROGLYPH F045A
-13132 EGYPTIAN HIEROGLYPH F046
-13133 EGYPTIAN HIEROGLYPH F046A
-13134 EGYPTIAN HIEROGLYPH F047
-13135 EGYPTIAN HIEROGLYPH F047A
-13136 EGYPTIAN HIEROGLYPH F048
-13137 EGYPTIAN HIEROGLYPH F049
-13138 EGYPTIAN HIEROGLYPH F050
-13139 EGYPTIAN HIEROGLYPH F051
-1313A EGYPTIAN HIEROGLYPH F051A
-1313B EGYPTIAN HIEROGLYPH F051B
-1313C EGYPTIAN HIEROGLYPH F051C
-1313D EGYPTIAN HIEROGLYPH F052
-1313E EGYPTIAN HIEROGLYPH F053
-@ G. Birds
-1313F EGYPTIAN HIEROGLYPH G001
- * transliterated as A723
- x (hebrew letter alef - 05D0)
- x (arabic letter alef with hamza above - 0623)
-13140 EGYPTIAN HIEROGLYPH G002
-13141 EGYPTIAN HIEROGLYPH G003
-13142 EGYPTIAN HIEROGLYPH G004
-13143 EGYPTIAN HIEROGLYPH G005
-13144 EGYPTIAN HIEROGLYPH G006
-13145 EGYPTIAN HIEROGLYPH G006A
-13146 EGYPTIAN HIEROGLYPH G007
-13147 EGYPTIAN HIEROGLYPH G007A
-13148 EGYPTIAN HIEROGLYPH G007B
-13149 EGYPTIAN HIEROGLYPH G008
-1314A EGYPTIAN HIEROGLYPH G009
-1314B EGYPTIAN HIEROGLYPH G010
-1314C EGYPTIAN HIEROGLYPH G011
-1314D EGYPTIAN HIEROGLYPH G011A
-1314E EGYPTIAN HIEROGLYPH G012
-1314F EGYPTIAN HIEROGLYPH G013
-13150 EGYPTIAN HIEROGLYPH G014
-13151 EGYPTIAN HIEROGLYPH G015
-13152 EGYPTIAN HIEROGLYPH G016
-13153 EGYPTIAN HIEROGLYPH G017
- * transliterated as m
-13154 EGYPTIAN HIEROGLYPH G018
-13155 EGYPTIAN HIEROGLYPH G019
-13156 EGYPTIAN HIEROGLYPH G020
-13157 EGYPTIAN HIEROGLYPH G020A
-13158 EGYPTIAN HIEROGLYPH G021
-13159 EGYPTIAN HIEROGLYPH G022
-1315A EGYPTIAN HIEROGLYPH G023
-1315B EGYPTIAN HIEROGLYPH G024
-1315C EGYPTIAN HIEROGLYPH G025
-1315D EGYPTIAN HIEROGLYPH G026
-1315E EGYPTIAN HIEROGLYPH G026A
-1315F EGYPTIAN HIEROGLYPH G027
-13160 EGYPTIAN HIEROGLYPH G028
-13161 EGYPTIAN HIEROGLYPH G029
-13162 EGYPTIAN HIEROGLYPH G030
-13163 EGYPTIAN HIEROGLYPH G031
-13164 EGYPTIAN HIEROGLYPH G032
-13165 EGYPTIAN HIEROGLYPH G033
-13166 EGYPTIAN HIEROGLYPH G034
-13167 EGYPTIAN HIEROGLYPH G035
-13168 EGYPTIAN HIEROGLYPH G036
-13169 EGYPTIAN HIEROGLYPH G036A
-1316A EGYPTIAN HIEROGLYPH G037
-1316B EGYPTIAN HIEROGLYPH G037A
-1316C EGYPTIAN HIEROGLYPH G038
-1316D EGYPTIAN HIEROGLYPH G039
-1316E EGYPTIAN HIEROGLYPH G040
-1316F EGYPTIAN HIEROGLYPH G041
-13170 EGYPTIAN HIEROGLYPH G042
-13171 EGYPTIAN HIEROGLYPH G043
- * transliterated as w
-13172 EGYPTIAN HIEROGLYPH G043A
-13173 EGYPTIAN HIEROGLYPH G044
-13174 EGYPTIAN HIEROGLYPH G045
-13175 EGYPTIAN HIEROGLYPH G045A
-13176 EGYPTIAN HIEROGLYPH G046
-13177 EGYPTIAN HIEROGLYPH G047
-13178 EGYPTIAN HIEROGLYPH G048
-13179 EGYPTIAN HIEROGLYPH G049
-1317A EGYPTIAN HIEROGLYPH G050
-1317B EGYPTIAN HIEROGLYPH G051
-1317C EGYPTIAN HIEROGLYPH G052
-1317D EGYPTIAN HIEROGLYPH G053
-1317E EGYPTIAN HIEROGLYPH G054
-@ H. Parts of birds
-1317F EGYPTIAN HIEROGLYPH H001
-13180 EGYPTIAN HIEROGLYPH H002
-13181 EGYPTIAN HIEROGLYPH H003
-13182 EGYPTIAN HIEROGLYPH H004
-13183 EGYPTIAN HIEROGLYPH H005
-13184 EGYPTIAN HIEROGLYPH H006
-13185 EGYPTIAN HIEROGLYPH H006A
-13186 EGYPTIAN HIEROGLYPH H007
-13187 EGYPTIAN HIEROGLYPH H008
-@ I. Amphibious animals, reptiles, etc.
-13188 EGYPTIAN HIEROGLYPH I001
-13189 EGYPTIAN HIEROGLYPH I002
-1318A EGYPTIAN HIEROGLYPH I003
-1318B EGYPTIAN HIEROGLYPH I004
-1318C EGYPTIAN HIEROGLYPH I005
-1318D EGYPTIAN HIEROGLYPH I005A
-1318E EGYPTIAN HIEROGLYPH I006
-1318F EGYPTIAN HIEROGLYPH I007
-13190 EGYPTIAN HIEROGLYPH I008
- * 100,000
-13191 EGYPTIAN HIEROGLYPH I009
- * transliterated as f
-13192 EGYPTIAN HIEROGLYPH I009A
-13193 EGYPTIAN HIEROGLYPH I010
- * transliterated as 1E0F
-13194 EGYPTIAN HIEROGLYPH I010A
-13195 EGYPTIAN HIEROGLYPH I011
-13196 EGYPTIAN HIEROGLYPH I011A
-13197 EGYPTIAN HIEROGLYPH I012
-13198 EGYPTIAN HIEROGLYPH I013
-13199 EGYPTIAN HIEROGLYPH I014
-1319A EGYPTIAN HIEROGLYPH I015
-@ K. Fishes and parts of fishes
-1319B EGYPTIAN HIEROGLYPH K001
-1319C EGYPTIAN HIEROGLYPH K002
-1319D EGYPTIAN HIEROGLYPH K003
-1319E EGYPTIAN HIEROGLYPH K004
-1319F EGYPTIAN HIEROGLYPH K005
-131A0 EGYPTIAN HIEROGLYPH K006
-131A1 EGYPTIAN HIEROGLYPH K007
-131A2 EGYPTIAN HIEROGLYPH K008
-@ L. Invertabrata and lesser animals
-131A3 EGYPTIAN HIEROGLYPH L001
-131A4 EGYPTIAN HIEROGLYPH L002
-131A5 EGYPTIAN HIEROGLYPH L002A
-131A6 EGYPTIAN HIEROGLYPH L003
-131A7 EGYPTIAN HIEROGLYPH L004
-131A8 EGYPTIAN HIEROGLYPH L005
-131A9 EGYPTIAN HIEROGLYPH L006
-131AA EGYPTIAN HIEROGLYPH L006A
-131AB EGYPTIAN HIEROGLYPH L007
-131AC EGYPTIAN HIEROGLYPH L008
-@ M. Trees and plants
-131AD EGYPTIAN HIEROGLYPH M001
-131AE EGYPTIAN HIEROGLYPH M001A
-131AF EGYPTIAN HIEROGLYPH M001B
-131B0 EGYPTIAN HIEROGLYPH M002
-131B1 EGYPTIAN HIEROGLYPH M003
-131B2 EGYPTIAN HIEROGLYPH M003A
-131B3 EGYPTIAN HIEROGLYPH M004
-131B4 EGYPTIAN HIEROGLYPH M005
-131B5 EGYPTIAN HIEROGLYPH M006
-131B6 EGYPTIAN HIEROGLYPH M007
-131B7 EGYPTIAN HIEROGLYPH M008
-131B8 EGYPTIAN HIEROGLYPH M009
-131B9 EGYPTIAN HIEROGLYPH M010
-131BA EGYPTIAN HIEROGLYPH M010A
-131BB EGYPTIAN HIEROGLYPH M011
-131BC EGYPTIAN HIEROGLYPH M012
- * 1,000
-131BD EGYPTIAN HIEROGLYPH M012A
- * 2,000
-131BE EGYPTIAN HIEROGLYPH M012B
- * 3,000
-131BF EGYPTIAN HIEROGLYPH M012C
- * 4,000
-131C0 EGYPTIAN HIEROGLYPH M012D
- * 5,000
-131C1 EGYPTIAN HIEROGLYPH M012E
- * 6,000
-131C2 EGYPTIAN HIEROGLYPH M012F
- * 7,000
-131C3 EGYPTIAN HIEROGLYPH M012G
- * 8,000
-131C4 EGYPTIAN HIEROGLYPH M012H
- * 9,000
-131C5 EGYPTIAN HIEROGLYPH M013
-131C6 EGYPTIAN HIEROGLYPH M014
-131C7 EGYPTIAN HIEROGLYPH M015
-131C8 EGYPTIAN HIEROGLYPH M015A
-131C9 EGYPTIAN HIEROGLYPH M016
-131CA EGYPTIAN HIEROGLYPH M016A
-131CB EGYPTIAN HIEROGLYPH M017
- * yod
- x (hebrew letter yod - 05D9)
- x (arabic letter yeh - 064A)
-131CC EGYPTIAN HIEROGLYPH M017A
- * transliterated as y
- x (egyptian hieroglyph z004 - 133ED)
-131CD EGYPTIAN HIEROGLYPH M018
-131CE EGYPTIAN HIEROGLYPH M019
-131CF EGYPTIAN HIEROGLYPH M020
-131D0 EGYPTIAN HIEROGLYPH M021
-131D1 EGYPTIAN HIEROGLYPH M022
-131D2 EGYPTIAN HIEROGLYPH M022A
-131D3 EGYPTIAN HIEROGLYPH M023
-131D4 EGYPTIAN HIEROGLYPH M024
-131D5 EGYPTIAN HIEROGLYPH M024A
-131D6 EGYPTIAN HIEROGLYPH M025
-131D7 EGYPTIAN HIEROGLYPH M026
-131D8 EGYPTIAN HIEROGLYPH M027
-131D9 EGYPTIAN HIEROGLYPH M028
-131DA EGYPTIAN HIEROGLYPH M028A
-131DB EGYPTIAN HIEROGLYPH M029
-131DC EGYPTIAN HIEROGLYPH M030
-131DD EGYPTIAN HIEROGLYPH M031
-131DE EGYPTIAN HIEROGLYPH M031A
-131DF EGYPTIAN HIEROGLYPH M032
-131E0 EGYPTIAN HIEROGLYPH M033
-131E1 EGYPTIAN HIEROGLYPH M033A
-131E2 EGYPTIAN HIEROGLYPH M033B
-131E3 EGYPTIAN HIEROGLYPH M034
-131E4 EGYPTIAN HIEROGLYPH M035
-131E5 EGYPTIAN HIEROGLYPH M036
-131E6 EGYPTIAN HIEROGLYPH M037
-131E7 EGYPTIAN HIEROGLYPH M038
-131E8 EGYPTIAN HIEROGLYPH M039
-131E9 EGYPTIAN HIEROGLYPH M040
-131EA EGYPTIAN HIEROGLYPH M040A
-131EB EGYPTIAN HIEROGLYPH M041
-131EC EGYPTIAN HIEROGLYPH M042
-131ED EGYPTIAN HIEROGLYPH M043
-131EE EGYPTIAN HIEROGLYPH M044
-@ N. Sky, earth, water
-131EF EGYPTIAN HIEROGLYPH N001
-131F0 EGYPTIAN HIEROGLYPH N002
-131F1 EGYPTIAN HIEROGLYPH N003
-131F2 EGYPTIAN HIEROGLYPH N004
-131F3 EGYPTIAN HIEROGLYPH N005
-131F4 EGYPTIAN HIEROGLYPH N006
-131F5 EGYPTIAN HIEROGLYPH N007
-131F6 EGYPTIAN HIEROGLYPH N008
-131F7 EGYPTIAN HIEROGLYPH N009
-131F8 EGYPTIAN HIEROGLYPH N010
-131F9 EGYPTIAN HIEROGLYPH N011
-131FA EGYPTIAN HIEROGLYPH N012
-131FB EGYPTIAN HIEROGLYPH N013
-131FC EGYPTIAN HIEROGLYPH N014
-131FD EGYPTIAN HIEROGLYPH N015
-131FE EGYPTIAN HIEROGLYPH N016
-131FF EGYPTIAN HIEROGLYPH N017
-13200 EGYPTIAN HIEROGLYPH N018
-13201 EGYPTIAN HIEROGLYPH N018A
-13202 EGYPTIAN HIEROGLYPH N018B
-13203 EGYPTIAN HIEROGLYPH N019
-13204 EGYPTIAN HIEROGLYPH N020
-13205 EGYPTIAN HIEROGLYPH N021
-13206 EGYPTIAN HIEROGLYPH N022
-13207 EGYPTIAN HIEROGLYPH N023
-13208 EGYPTIAN HIEROGLYPH N024
-13209 EGYPTIAN HIEROGLYPH N025
-1320A EGYPTIAN HIEROGLYPH N025A
-1320B EGYPTIAN HIEROGLYPH N026
-1320C EGYPTIAN HIEROGLYPH N027
-1320D EGYPTIAN HIEROGLYPH N028
-1320E EGYPTIAN HIEROGLYPH N029
- * transliterated as q or as 1E33
- x (hebrew letter qof - 05E7)
- x (arabic letter qaf - 0642)
-1320F EGYPTIAN HIEROGLYPH N030
-13210 EGYPTIAN HIEROGLYPH N031
-13211 EGYPTIAN HIEROGLYPH N032
-13212 EGYPTIAN HIEROGLYPH N033
-13213 EGYPTIAN HIEROGLYPH N033A
-13214 EGYPTIAN HIEROGLYPH N034
-13215 EGYPTIAN HIEROGLYPH N034A
-13216 EGYPTIAN HIEROGLYPH N035
- * transliterated as n
-13217 EGYPTIAN HIEROGLYPH N035A
-13218 EGYPTIAN HIEROGLYPH N036
-13219 EGYPTIAN HIEROGLYPH N037
- * transliterated as 0161
-1321A EGYPTIAN HIEROGLYPH N037A
-1321B EGYPTIAN HIEROGLYPH N038
-1321C EGYPTIAN HIEROGLYPH N039
-1321D EGYPTIAN HIEROGLYPH N040
-1321E EGYPTIAN HIEROGLYPH N041
-1321F EGYPTIAN HIEROGLYPH N042
-@ NL. Nomes of Lower Egypt
-13220 EGYPTIAN HIEROGLYPH NL001
-13221 EGYPTIAN HIEROGLYPH NL002
-13222 EGYPTIAN HIEROGLYPH NL003
-13223 EGYPTIAN HIEROGLYPH NL004
-13224 EGYPTIAN HIEROGLYPH NL005
-13225 EGYPTIAN HIEROGLYPH NL005A
-13226 EGYPTIAN HIEROGLYPH NL006
-13227 EGYPTIAN HIEROGLYPH NL007
-13228 EGYPTIAN HIEROGLYPH NL008
-13229 EGYPTIAN HIEROGLYPH NL009
-1322A EGYPTIAN HIEROGLYPH NL010
-1322B EGYPTIAN HIEROGLYPH NL011
-1322C EGYPTIAN HIEROGLYPH NL012
-1322D EGYPTIAN HIEROGLYPH NL013
-1322E EGYPTIAN HIEROGLYPH NL014
-1322F EGYPTIAN HIEROGLYPH NL015
-13230 EGYPTIAN HIEROGLYPH NL016
-13231 EGYPTIAN HIEROGLYPH NL017
-13232 EGYPTIAN HIEROGLYPH NL017A
-13233 EGYPTIAN HIEROGLYPH NL018
-13234 EGYPTIAN HIEROGLYPH NL019
-13235 EGYPTIAN HIEROGLYPH NL020
-@ NU. Nomes of Upper Egypt
-13236 EGYPTIAN HIEROGLYPH NU001
-13237 EGYPTIAN HIEROGLYPH NU002
-13238 EGYPTIAN HIEROGLYPH NU003
-13239 EGYPTIAN HIEROGLYPH NU004
-1323A EGYPTIAN HIEROGLYPH NU005
-1323B EGYPTIAN HIEROGLYPH NU006
-1323C EGYPTIAN HIEROGLYPH NU007
-1323D EGYPTIAN HIEROGLYPH NU008
-1323E EGYPTIAN HIEROGLYPH NU009
-1323F EGYPTIAN HIEROGLYPH NU010
-13240 EGYPTIAN HIEROGLYPH NU010A
-13241 EGYPTIAN HIEROGLYPH NU011
-13242 EGYPTIAN HIEROGLYPH NU011A
-13243 EGYPTIAN HIEROGLYPH NU012
-13244 EGYPTIAN HIEROGLYPH NU013
-13245 EGYPTIAN HIEROGLYPH NU014
-13246 EGYPTIAN HIEROGLYPH NU015
-13247 EGYPTIAN HIEROGLYPH NU016
-13248 EGYPTIAN HIEROGLYPH NU017
-13249 EGYPTIAN HIEROGLYPH NU018
-1324A EGYPTIAN HIEROGLYPH NU018A
-1324B EGYPTIAN HIEROGLYPH NU019
-1324C EGYPTIAN HIEROGLYPH NU020
-1324D EGYPTIAN HIEROGLYPH NU021
-1324E EGYPTIAN HIEROGLYPH NU022
-1324F EGYPTIAN HIEROGLYPH NU022A
-@ O. Buildings, parts of buildings, etc.
-13250 EGYPTIAN HIEROGLYPH O001
-13251 EGYPTIAN HIEROGLYPH O001A
-13252 EGYPTIAN HIEROGLYPH O002
-13253 EGYPTIAN HIEROGLYPH O003
-13254 EGYPTIAN HIEROGLYPH O004
- * transliterated as h
- x (hebrew letter he - 05D4)
- x (arabic letter heh - 0647)
-13255 EGYPTIAN HIEROGLYPH O005
-13256 EGYPTIAN HIEROGLYPH O005A
-13257 EGYPTIAN HIEROGLYPH O006
-13258 EGYPTIAN HIEROGLYPH O006A
- * beginning of hwt or serekh enclosure
- x (egyptian hieroglyph o033a - 13282)
-13259 EGYPTIAN HIEROGLYPH O006B
- * beginning of low hwt enclosure
-1325A EGYPTIAN HIEROGLYPH O006C
- * beginning of high hwt enclosure
-1325B EGYPTIAN HIEROGLYPH O006D
- * end of high hwt enclosure
-1325C EGYPTIAN HIEROGLYPH O006E
- * end of low hwt enclosure
-1325D EGYPTIAN HIEROGLYPH O006F
- * end of hwt enclosure
-1325E EGYPTIAN HIEROGLYPH O007
-1325F EGYPTIAN HIEROGLYPH O008
-13260 EGYPTIAN HIEROGLYPH O009
-13261 EGYPTIAN HIEROGLYPH O010
-13262 EGYPTIAN HIEROGLYPH O010A
-13263 EGYPTIAN HIEROGLYPH O010B
-13264 EGYPTIAN HIEROGLYPH O010C
-13265 EGYPTIAN HIEROGLYPH O011
-13266 EGYPTIAN HIEROGLYPH O012
-13267 EGYPTIAN HIEROGLYPH O013
-13268 EGYPTIAN HIEROGLYPH O014
-13269 EGYPTIAN HIEROGLYPH O015
-1326A EGYPTIAN HIEROGLYPH O016
-1326B EGYPTIAN HIEROGLYPH O017
-1326C EGYPTIAN HIEROGLYPH O018
-1326D EGYPTIAN HIEROGLYPH O019
-1326E EGYPTIAN HIEROGLYPH O019A
-1326F EGYPTIAN HIEROGLYPH O020
-13270 EGYPTIAN HIEROGLYPH O020A
-13271 EGYPTIAN HIEROGLYPH O021
-13272 EGYPTIAN HIEROGLYPH O022
-13273 EGYPTIAN HIEROGLYPH O023
-13274 EGYPTIAN HIEROGLYPH O024
-13275 EGYPTIAN HIEROGLYPH O024A
-13276 EGYPTIAN HIEROGLYPH O025
-13277 EGYPTIAN HIEROGLYPH O025A
-13278 EGYPTIAN HIEROGLYPH O026
-13279 EGYPTIAN HIEROGLYPH O027
-1327A EGYPTIAN HIEROGLYPH O028
-1327B EGYPTIAN HIEROGLYPH O029
-1327C EGYPTIAN HIEROGLYPH O029A
-1327D EGYPTIAN HIEROGLYPH O030
-1327E EGYPTIAN HIEROGLYPH O030A
-1327F EGYPTIAN HIEROGLYPH O031
-13280 EGYPTIAN HIEROGLYPH O032
-13281 EGYPTIAN HIEROGLYPH O033
-13282 EGYPTIAN HIEROGLYPH O033A
- * end of serekh enclosure
- x (egyptian hieroglyph o006a - 13258)
-13283 EGYPTIAN HIEROGLYPH O034
- * transliterated as s or as z
- x (egyptian hieroglyph s029 - 132F4)
-13284 EGYPTIAN HIEROGLYPH O035
-13285 EGYPTIAN HIEROGLYPH O036
-13286 EGYPTIAN HIEROGLYPH O036A
- * beginning of fortified wall cartouche
-13287 EGYPTIAN HIEROGLYPH O036B
- * end of fortified wall cartouche
-13288 EGYPTIAN HIEROGLYPH O036C
- * beginning of fortified wall enclosure
-13289 EGYPTIAN HIEROGLYPH O036D
- * end of fortified wall enclosure
-1328A EGYPTIAN HIEROGLYPH O037
-1328B EGYPTIAN HIEROGLYPH O038
-1328C EGYPTIAN HIEROGLYPH O039
-1328D EGYPTIAN HIEROGLYPH O040
-1328E EGYPTIAN HIEROGLYPH O041
-1328F EGYPTIAN HIEROGLYPH O042
-13290 EGYPTIAN HIEROGLYPH O043
-13291 EGYPTIAN HIEROGLYPH O044
-13292 EGYPTIAN HIEROGLYPH O045
-13293 EGYPTIAN HIEROGLYPH O046
-13294 EGYPTIAN HIEROGLYPH O047
-13295 EGYPTIAN HIEROGLYPH O048
-13296 EGYPTIAN HIEROGLYPH O049
-13297 EGYPTIAN HIEROGLYPH O050
-13298 EGYPTIAN HIEROGLYPH O050A
-13299 EGYPTIAN HIEROGLYPH O050B
-1329A EGYPTIAN HIEROGLYPH O051
-@ P. Ships and parts of ships
-1329B EGYPTIAN HIEROGLYPH P001
-1329C EGYPTIAN HIEROGLYPH P001A
-1329D EGYPTIAN HIEROGLYPH P002
-1329E EGYPTIAN HIEROGLYPH P003
-1329F EGYPTIAN HIEROGLYPH P003A
-132A0 EGYPTIAN HIEROGLYPH P004
-132A1 EGYPTIAN HIEROGLYPH P005
-132A2 EGYPTIAN HIEROGLYPH P006
-132A3 EGYPTIAN HIEROGLYPH P007
-132A4 EGYPTIAN HIEROGLYPH P008
-132A5 EGYPTIAN HIEROGLYPH P009
-132A6 EGYPTIAN HIEROGLYPH P010
-132A7 EGYPTIAN HIEROGLYPH P011
-@ Q. Domestic and funerary furniture
-132A8 EGYPTIAN HIEROGLYPH Q001
-132A9 EGYPTIAN HIEROGLYPH Q002
-132AA EGYPTIAN HIEROGLYPH Q003
- * transliterated as p
-132AB EGYPTIAN HIEROGLYPH Q004
-132AC EGYPTIAN HIEROGLYPH Q005
-132AD EGYPTIAN HIEROGLYPH Q006
-132AE EGYPTIAN HIEROGLYPH Q007
-@ R. Temple furniture and sacred emblems
-132AF EGYPTIAN HIEROGLYPH R001
-132B0 EGYPTIAN HIEROGLYPH R002
-132B1 EGYPTIAN HIEROGLYPH R002A
-132B2 EGYPTIAN HIEROGLYPH R003
-132B3 EGYPTIAN HIEROGLYPH R003A
-132B4 EGYPTIAN HIEROGLYPH R003B
-132B5 EGYPTIAN HIEROGLYPH R004
-132B6 EGYPTIAN HIEROGLYPH R005
-132B7 EGYPTIAN HIEROGLYPH R006
-132B8 EGYPTIAN HIEROGLYPH R007
-132B9 EGYPTIAN HIEROGLYPH R008
-132BA EGYPTIAN HIEROGLYPH R009
-132BB EGYPTIAN HIEROGLYPH R010
-132BC EGYPTIAN HIEROGLYPH R010A
-132BD EGYPTIAN HIEROGLYPH R011
-132BE EGYPTIAN HIEROGLYPH R012
-132BF EGYPTIAN HIEROGLYPH R013
-132C0 EGYPTIAN HIEROGLYPH R014
-132C1 EGYPTIAN HIEROGLYPH R015
-132C2 EGYPTIAN HIEROGLYPH R016
-132C3 EGYPTIAN HIEROGLYPH R016A
-132C4 EGYPTIAN HIEROGLYPH R017
-132C5 EGYPTIAN HIEROGLYPH R018
-132C6 EGYPTIAN HIEROGLYPH R019
-132C7 EGYPTIAN HIEROGLYPH R020
-132C8 EGYPTIAN HIEROGLYPH R021
-132C9 EGYPTIAN HIEROGLYPH R022
-132CA EGYPTIAN HIEROGLYPH R023
-132CB EGYPTIAN HIEROGLYPH R024
-132CC EGYPTIAN HIEROGLYPH R025
-132CD EGYPTIAN HIEROGLYPH R026
-132CE EGYPTIAN HIEROGLYPH R027
-132CF EGYPTIAN HIEROGLYPH R028
-132D0 EGYPTIAN HIEROGLYPH R029
-@ S. Crowns, dress, staves, etc.
-132D1 EGYPTIAN HIEROGLYPH S001
-132D2 EGYPTIAN HIEROGLYPH S002
-132D3 EGYPTIAN HIEROGLYPH S002A
-132D4 EGYPTIAN HIEROGLYPH S003
-132D5 EGYPTIAN HIEROGLYPH S004
-132D6 EGYPTIAN HIEROGLYPH S005
-132D7 EGYPTIAN HIEROGLYPH S006
-132D8 EGYPTIAN HIEROGLYPH S006A
-132D9 EGYPTIAN HIEROGLYPH S007
-132DA EGYPTIAN HIEROGLYPH S008
-132DB EGYPTIAN HIEROGLYPH S009
-132DC EGYPTIAN HIEROGLYPH S010
-132DD EGYPTIAN HIEROGLYPH S011
-132DE EGYPTIAN HIEROGLYPH S012
-132DF EGYPTIAN HIEROGLYPH S013
-132E0 EGYPTIAN HIEROGLYPH S014
-132E1 EGYPTIAN HIEROGLYPH S014A
-132E2 EGYPTIAN HIEROGLYPH S014B
-132E3 EGYPTIAN HIEROGLYPH S015
-132E4 EGYPTIAN HIEROGLYPH S016
-132E5 EGYPTIAN HIEROGLYPH S017
-132E6 EGYPTIAN HIEROGLYPH S017A
-132E7 EGYPTIAN HIEROGLYPH S018
-132E8 EGYPTIAN HIEROGLYPH S019
-132E9 EGYPTIAN HIEROGLYPH S020
-132EA EGYPTIAN HIEROGLYPH S021
-132EB EGYPTIAN HIEROGLYPH S022
-132EC EGYPTIAN HIEROGLYPH S023
-132ED EGYPTIAN HIEROGLYPH S024
-132EE EGYPTIAN HIEROGLYPH S025
-132EF EGYPTIAN HIEROGLYPH S026
-132F0 EGYPTIAN HIEROGLYPH S026A
-132F1 EGYPTIAN HIEROGLYPH S026B
-132F2 EGYPTIAN HIEROGLYPH S027
-132F3 EGYPTIAN HIEROGLYPH S028
-132F4 EGYPTIAN HIEROGLYPH S029
- * transliterated as s or as z
- x (egyptian hieroglyph o034 - 13283)
-132F5 EGYPTIAN HIEROGLYPH S030
-132F6 EGYPTIAN HIEROGLYPH S031
-132F7 EGYPTIAN HIEROGLYPH S032
-132F8 EGYPTIAN HIEROGLYPH S033
-132F9 EGYPTIAN HIEROGLYPH S034
-132FA EGYPTIAN HIEROGLYPH S035
-132FB EGYPTIAN HIEROGLYPH S035A
-132FC EGYPTIAN HIEROGLYPH S036
-132FD EGYPTIAN HIEROGLYPH S037
-132FE EGYPTIAN HIEROGLYPH S038
-132FF EGYPTIAN HIEROGLYPH S039
-13300 EGYPTIAN HIEROGLYPH S040
-13301 EGYPTIAN HIEROGLYPH S041
-13302 EGYPTIAN HIEROGLYPH S042
-13303 EGYPTIAN HIEROGLYPH S043
-13304 EGYPTIAN HIEROGLYPH S044
-13305 EGYPTIAN HIEROGLYPH S045
-13306 EGYPTIAN HIEROGLYPH S046
-@ T. Warfare, hunting, butchery
-13307 EGYPTIAN HIEROGLYPH T001
-13308 EGYPTIAN HIEROGLYPH T002
-13309 EGYPTIAN HIEROGLYPH T003
-1330A EGYPTIAN HIEROGLYPH T003A
-1330B EGYPTIAN HIEROGLYPH T004
-1330C EGYPTIAN HIEROGLYPH T005
-1330D EGYPTIAN HIEROGLYPH T006
-1330E EGYPTIAN HIEROGLYPH T007
-1330F EGYPTIAN HIEROGLYPH T007A
-13310 EGYPTIAN HIEROGLYPH T008
-13311 EGYPTIAN HIEROGLYPH T008A
-13312 EGYPTIAN HIEROGLYPH T009
-13313 EGYPTIAN HIEROGLYPH T009A
-13314 EGYPTIAN HIEROGLYPH T010
-13315 EGYPTIAN HIEROGLYPH T011
-13316 EGYPTIAN HIEROGLYPH T011A
-13317 EGYPTIAN HIEROGLYPH T012
-13318 EGYPTIAN HIEROGLYPH T013
-13319 EGYPTIAN HIEROGLYPH T014
-1331A EGYPTIAN HIEROGLYPH T015
-1331B EGYPTIAN HIEROGLYPH T016
-1331C EGYPTIAN HIEROGLYPH T016A
-1331D EGYPTIAN HIEROGLYPH T017
-1331E EGYPTIAN HIEROGLYPH T018
-1331F EGYPTIAN HIEROGLYPH T019
-13320 EGYPTIAN HIEROGLYPH T020
-13321 EGYPTIAN HIEROGLYPH T021
-13322 EGYPTIAN HIEROGLYPH T022
-13323 EGYPTIAN HIEROGLYPH T023
-13324 EGYPTIAN HIEROGLYPH T024
-13325 EGYPTIAN HIEROGLYPH T025
-13326 EGYPTIAN HIEROGLYPH T026
-13327 EGYPTIAN HIEROGLYPH T027
-13328 EGYPTIAN HIEROGLYPH T028
-13329 EGYPTIAN HIEROGLYPH T029
-1332A EGYPTIAN HIEROGLYPH T030
-1332B EGYPTIAN HIEROGLYPH T031
-1332C EGYPTIAN HIEROGLYPH T032
-1332D EGYPTIAN HIEROGLYPH T032A
-1332E EGYPTIAN HIEROGLYPH T033
-1332F EGYPTIAN HIEROGLYPH T033A
-13330 EGYPTIAN HIEROGLYPH T034
-13331 EGYPTIAN HIEROGLYPH T035
-13332 EGYPTIAN HIEROGLYPH T036
-@ U. Agriculture, crafts, and professions
-13333 EGYPTIAN HIEROGLYPH U001
-13334 EGYPTIAN HIEROGLYPH U002
-13335 EGYPTIAN HIEROGLYPH U003
-13336 EGYPTIAN HIEROGLYPH U004
-13337 EGYPTIAN HIEROGLYPH U005
-13338 EGYPTIAN HIEROGLYPH U006
-13339 EGYPTIAN HIEROGLYPH U006A
-1333A EGYPTIAN HIEROGLYPH U006B
-1333B EGYPTIAN HIEROGLYPH U007
-1333C EGYPTIAN HIEROGLYPH U008
-1333D EGYPTIAN HIEROGLYPH U009
-1333E EGYPTIAN HIEROGLYPH U010
-1333F EGYPTIAN HIEROGLYPH U011
-13340 EGYPTIAN HIEROGLYPH U012
-13341 EGYPTIAN HIEROGLYPH U013
-13342 EGYPTIAN HIEROGLYPH U014
-13343 EGYPTIAN HIEROGLYPH U015
-13344 EGYPTIAN HIEROGLYPH U016
-13345 EGYPTIAN HIEROGLYPH U017
-13346 EGYPTIAN HIEROGLYPH U018
-13347 EGYPTIAN HIEROGLYPH U019
-13348 EGYPTIAN HIEROGLYPH U020
-13349 EGYPTIAN HIEROGLYPH U021
-1334A EGYPTIAN HIEROGLYPH U022
-1334B EGYPTIAN HIEROGLYPH U023
-1334C EGYPTIAN HIEROGLYPH U023A
-1334D EGYPTIAN HIEROGLYPH U024
-1334E EGYPTIAN HIEROGLYPH U025
-1334F EGYPTIAN HIEROGLYPH U026
-13350 EGYPTIAN HIEROGLYPH U027
-13351 EGYPTIAN HIEROGLYPH U028
-13352 EGYPTIAN HIEROGLYPH U029
-13353 EGYPTIAN HIEROGLYPH U029A
-13354 EGYPTIAN HIEROGLYPH U030
-13355 EGYPTIAN HIEROGLYPH U031
-13356 EGYPTIAN HIEROGLYPH U032
-13357 EGYPTIAN HIEROGLYPH U032A
-13358 EGYPTIAN HIEROGLYPH U033
-13359 EGYPTIAN HIEROGLYPH U034
-1335A EGYPTIAN HIEROGLYPH U035
-1335B EGYPTIAN HIEROGLYPH U036
-1335C EGYPTIAN HIEROGLYPH U037
-1335D EGYPTIAN HIEROGLYPH U038
-1335E EGYPTIAN HIEROGLYPH U039
-1335F EGYPTIAN HIEROGLYPH U040
-13360 EGYPTIAN HIEROGLYPH U041
-13361 EGYPTIAN HIEROGLYPH U042
-@ V. Rope, fiber, baskets, bags, etc.
-13362 EGYPTIAN HIEROGLYPH V001
- * 100
-13363 EGYPTIAN HIEROGLYPH V001A
- * 200
-13364 EGYPTIAN HIEROGLYPH V001B
- * 300
-13365 EGYPTIAN HIEROGLYPH V001C
- * 400
-13366 EGYPTIAN HIEROGLYPH V001D
- * 500
-13367 EGYPTIAN HIEROGLYPH V001E
- * 600
-13368 EGYPTIAN HIEROGLYPH V001F
- * 700
-13369 EGYPTIAN HIEROGLYPH V001G
- * 800
-1336A EGYPTIAN HIEROGLYPH V001H
- * 900
-1336B EGYPTIAN HIEROGLYPH V001I
- * 500
-1336C EGYPTIAN HIEROGLYPH V002
-1336D EGYPTIAN HIEROGLYPH V002A
-1336E EGYPTIAN HIEROGLYPH V003
-1336F EGYPTIAN HIEROGLYPH V004
-13370 EGYPTIAN HIEROGLYPH V005
-13371 EGYPTIAN HIEROGLYPH V006
-13372 EGYPTIAN HIEROGLYPH V007
-13373 EGYPTIAN HIEROGLYPH V007A
-13374 EGYPTIAN HIEROGLYPH V007B
-13375 EGYPTIAN HIEROGLYPH V008
-13376 EGYPTIAN HIEROGLYPH V009
-13377 EGYPTIAN HIEROGLYPH V010
-13378 EGYPTIAN HIEROGLYPH V011
-13379 EGYPTIAN HIEROGLYPH V011A
- * beginning of cartouche
-1337A EGYPTIAN HIEROGLYPH V011B
- * end of cartouche
-1337B EGYPTIAN HIEROGLYPH V011C
- * end of knotless cartouche
-1337C EGYPTIAN HIEROGLYPH V012
-1337D EGYPTIAN HIEROGLYPH V012A
-1337E EGYPTIAN HIEROGLYPH V012B
-1337F EGYPTIAN HIEROGLYPH V013
- * transliterated as 1E6F
-13380 EGYPTIAN HIEROGLYPH V014
-13381 EGYPTIAN HIEROGLYPH V015
-13382 EGYPTIAN HIEROGLYPH V016
-13383 EGYPTIAN HIEROGLYPH V017
-13384 EGYPTIAN HIEROGLYPH V018
-13385 EGYPTIAN HIEROGLYPH V019
-13386 EGYPTIAN HIEROGLYPH V020
- * 10
-13387 EGYPTIAN HIEROGLYPH V020A
- * 20
-13388 EGYPTIAN HIEROGLYPH V020B
- * 30
-13389 EGYPTIAN HIEROGLYPH V020C
- * 40
-1338A EGYPTIAN HIEROGLYPH V020D
- * 50
-1338B EGYPTIAN HIEROGLYPH V020E
- * 60
-1338C EGYPTIAN HIEROGLYPH V020F
- * 70
-1338D EGYPTIAN HIEROGLYPH V020G
- * 80
-1338E EGYPTIAN HIEROGLYPH V020H
- * 90
-1338F EGYPTIAN HIEROGLYPH V020I
- * 20
-13390 EGYPTIAN HIEROGLYPH V020J
- * 30
-13391 EGYPTIAN HIEROGLYPH V020K
- * 40
-13392 EGYPTIAN HIEROGLYPH V020L
- * 50
-13393 EGYPTIAN HIEROGLYPH V021
-13394 EGYPTIAN HIEROGLYPH V022
-13395 EGYPTIAN HIEROGLYPH V023
-13396 EGYPTIAN HIEROGLYPH V023A
-13397 EGYPTIAN HIEROGLYPH V024
-13398 EGYPTIAN HIEROGLYPH V025
-13399 EGYPTIAN HIEROGLYPH V026
-1339A EGYPTIAN HIEROGLYPH V027
-1339B EGYPTIAN HIEROGLYPH V028
- * transliterated as 1E25
- x (arabic letter hah - 062D)
-1339C EGYPTIAN HIEROGLYPH V028A
-1339D EGYPTIAN HIEROGLYPH V029
-1339E EGYPTIAN HIEROGLYPH V029A
-1339F EGYPTIAN HIEROGLYPH V030
-133A0 EGYPTIAN HIEROGLYPH V030A
-133A1 EGYPTIAN HIEROGLYPH V031
- * transliterated as k
- x (hebrew letter kaf - 05DB)
- x (arabic letter kaf - 0643)
-133A2 EGYPTIAN HIEROGLYPH V031A
-133A3 EGYPTIAN HIEROGLYPH V032
-133A4 EGYPTIAN HIEROGLYPH V033
-133A5 EGYPTIAN HIEROGLYPH V033A
-133A6 EGYPTIAN HIEROGLYPH V034
-133A7 EGYPTIAN HIEROGLYPH V035
-133A8 EGYPTIAN HIEROGLYPH V036
-133A9 EGYPTIAN HIEROGLYPH V037
-133AA EGYPTIAN HIEROGLYPH V037A
-133AB EGYPTIAN HIEROGLYPH V038
-133AC EGYPTIAN HIEROGLYPH V039
-133AD EGYPTIAN HIEROGLYPH V040
- * 10 in dates
-133AE EGYPTIAN HIEROGLYPH V040A
- * 20 in dates
-@ W. Vessels of stone and earthenware
-133AF EGYPTIAN HIEROGLYPH W001
-133B0 EGYPTIAN HIEROGLYPH W002
-133B1 EGYPTIAN HIEROGLYPH W003
-133B2 EGYPTIAN HIEROGLYPH W003A
-133B3 EGYPTIAN HIEROGLYPH W004
-133B4 EGYPTIAN HIEROGLYPH W005
-133B5 EGYPTIAN HIEROGLYPH W006
-133B6 EGYPTIAN HIEROGLYPH W007
-133B7 EGYPTIAN HIEROGLYPH W008
-133B8 EGYPTIAN HIEROGLYPH W009
-133B9 EGYPTIAN HIEROGLYPH W009A
-133BA EGYPTIAN HIEROGLYPH W010
-133BB EGYPTIAN HIEROGLYPH W010A
-133BC EGYPTIAN HIEROGLYPH W011
- * transliterated as g
-133BD EGYPTIAN HIEROGLYPH W012
-133BE EGYPTIAN HIEROGLYPH W013
-133BF EGYPTIAN HIEROGLYPH W014
-133C0 EGYPTIAN HIEROGLYPH W014A
-133C1 EGYPTIAN HIEROGLYPH W015
-133C2 EGYPTIAN HIEROGLYPH W016
-133C3 EGYPTIAN HIEROGLYPH W017
-133C4 EGYPTIAN HIEROGLYPH W017A
-133C5 EGYPTIAN HIEROGLYPH W018
-133C6 EGYPTIAN HIEROGLYPH W018A
-133C7 EGYPTIAN HIEROGLYPH W019
-133C8 EGYPTIAN HIEROGLYPH W020
-133C9 EGYPTIAN HIEROGLYPH W021
-133CA EGYPTIAN HIEROGLYPH W022
-133CB EGYPTIAN HIEROGLYPH W023
-133CC EGYPTIAN HIEROGLYPH W024
-133CD EGYPTIAN HIEROGLYPH W024A
-133CE EGYPTIAN HIEROGLYPH W025
-@ X. Loaves and cakes
-133CF EGYPTIAN HIEROGLYPH X001
- * transliterated as t
-133D0 EGYPTIAN HIEROGLYPH X002
-133D1 EGYPTIAN HIEROGLYPH X003
-133D2 EGYPTIAN HIEROGLYPH X004
-133D3 EGYPTIAN HIEROGLYPH X004A
-133D4 EGYPTIAN HIEROGLYPH X004B
-133D5 EGYPTIAN HIEROGLYPH X005
-133D6 EGYPTIAN HIEROGLYPH X006
-133D7 EGYPTIAN HIEROGLYPH X006A
-133D8 EGYPTIAN HIEROGLYPH X007
-133D9 EGYPTIAN HIEROGLYPH X008
-133DA EGYPTIAN HIEROGLYPH X008A
-@ Y. Writings, games, music
-133DB EGYPTIAN HIEROGLYPH Y001
-133DC EGYPTIAN HIEROGLYPH Y001A
-133DD EGYPTIAN HIEROGLYPH Y002
-133DE EGYPTIAN HIEROGLYPH Y003
-133DF EGYPTIAN HIEROGLYPH Y004
-133E0 EGYPTIAN HIEROGLYPH Y005
-133E1 EGYPTIAN HIEROGLYPH Y006
-133E2 EGYPTIAN HIEROGLYPH Y007
-133E3 EGYPTIAN HIEROGLYPH Y008
-@ Z. Strokes, signs derived from Hieratic, geometrical figures
-133E4 EGYPTIAN HIEROGLYPH Z001
- x (egyptian hieroglyph z015 - 133FA)
-133E5 EGYPTIAN HIEROGLYPH Z002
- * plurality
- x (egyptian hieroglyph z015b - 133FC)
-133E6 EGYPTIAN HIEROGLYPH Z002A
-133E7 EGYPTIAN HIEROGLYPH Z002B
-133E8 EGYPTIAN HIEROGLYPH Z002C
-133E9 EGYPTIAN HIEROGLYPH Z002D
-133EA EGYPTIAN HIEROGLYPH Z003
-133EB EGYPTIAN HIEROGLYPH Z003A
-133EC EGYPTIAN HIEROGLYPH Z003B
- * 3
-133ED EGYPTIAN HIEROGLYPH Z004
- * duality
- * transliterated as y
- x (egyptian hieroglyph m017a - 131CC)
-133EE EGYPTIAN HIEROGLYPH Z004A
- * duality
- x (egyptian hieroglyph z015a - 133FB)
-133EF EGYPTIAN HIEROGLYPH Z005
-133F0 EGYPTIAN HIEROGLYPH Z005A
-133F1 EGYPTIAN HIEROGLYPH Z006
-133F2 EGYPTIAN HIEROGLYPH Z007
-133F3 EGYPTIAN HIEROGLYPH Z008
-133F4 EGYPTIAN HIEROGLYPH Z009
-133F5 EGYPTIAN HIEROGLYPH Z010
-133F6 EGYPTIAN HIEROGLYPH Z011
-133F7 EGYPTIAN HIEROGLYPH Z012
-133F8 EGYPTIAN HIEROGLYPH Z013
-133F9 EGYPTIAN HIEROGLYPH Z014
-133FA EGYPTIAN HIEROGLYPH Z015
- * 1
- x (egyptian hieroglyph z001 - 133E4)
-133FB EGYPTIAN HIEROGLYPH Z015A
- * 2
- x (egyptian hieroglyph z004a - 133EE)
-133FC EGYPTIAN HIEROGLYPH Z015B
- * 3
- x (egyptian hieroglyph z002 - 133E5)
- x (egyptian hieroglyph z003 - 133EA)
-133FD EGYPTIAN HIEROGLYPH Z015C
- * 4
-133FE EGYPTIAN HIEROGLYPH Z015D
- * 5
-133FF EGYPTIAN HIEROGLYPH Z015E
- * 6
-13400 EGYPTIAN HIEROGLYPH Z015F
- * 7
-13401 EGYPTIAN HIEROGLYPH Z015G
- * 8
-13402 EGYPTIAN HIEROGLYPH Z015H
- * 9
-13403 EGYPTIAN HIEROGLYPH Z015I
- * 5
-13404 EGYPTIAN HIEROGLYPH Z016
- * 1 in dates
-13405 EGYPTIAN HIEROGLYPH Z016A
- * 2 in dates
-13406 EGYPTIAN HIEROGLYPH Z016B
- * 3 in dates
-13407 EGYPTIAN HIEROGLYPH Z016C
- * 4 in dates
-13408 EGYPTIAN HIEROGLYPH Z016D
- * 5 in dates
-13409 EGYPTIAN HIEROGLYPH Z016E
- * 6 in dates
-1340A EGYPTIAN HIEROGLYPH Z016F
- * 7 in dates
-1340B EGYPTIAN HIEROGLYPH Z016G
- * 8 in dates
-1340C EGYPTIAN HIEROGLYPH Z016H
- * 9 in dates
-@ Aa. Unclassified
-1340D EGYPTIAN HIEROGLYPH AA001
- * transliterated as 1E2B
- x (arabic letter khah - 062E)
-1340E EGYPTIAN HIEROGLYPH AA002
-1340F EGYPTIAN HIEROGLYPH AA003
-13410 EGYPTIAN HIEROGLYPH AA004
-13411 EGYPTIAN HIEROGLYPH AA005
-13412 EGYPTIAN HIEROGLYPH AA006
-13413 EGYPTIAN HIEROGLYPH AA007
-13414 EGYPTIAN HIEROGLYPH AA007A
-13415 EGYPTIAN HIEROGLYPH AA007B
-13416 EGYPTIAN HIEROGLYPH AA008
-13417 EGYPTIAN HIEROGLYPH AA009
-13418 EGYPTIAN HIEROGLYPH AA010
-13419 EGYPTIAN HIEROGLYPH AA011
-1341A EGYPTIAN HIEROGLYPH AA012
-1341B EGYPTIAN HIEROGLYPH AA013
-1341C EGYPTIAN HIEROGLYPH AA014
-1341D EGYPTIAN HIEROGLYPH AA015
-1341E EGYPTIAN HIEROGLYPH AA016
-1341F EGYPTIAN HIEROGLYPH AA017
-13420 EGYPTIAN HIEROGLYPH AA018
-13421 EGYPTIAN HIEROGLYPH AA019
-13422 EGYPTIAN HIEROGLYPH AA020
-13423 EGYPTIAN HIEROGLYPH AA021
-13424 EGYPTIAN HIEROGLYPH AA022
-13425 EGYPTIAN HIEROGLYPH AA023
-13426 EGYPTIAN HIEROGLYPH AA024
-13427 EGYPTIAN HIEROGLYPH AA025
-13428 EGYPTIAN HIEROGLYPH AA026
-13429 EGYPTIAN HIEROGLYPH AA027
-1342A EGYPTIAN HIEROGLYPH AA028
-1342B EGYPTIAN HIEROGLYPH AA029
-1342C EGYPTIAN HIEROGLYPH AA030
-1342D EGYPTIAN HIEROGLYPH AA031
-1342E EGYPTIAN HIEROGLYPH AA032
-@@ 1D000 Byzantine Musical Symbols 1D0FF
-@@+
-@ Prosodies (Prosodics)
-@+ These three characters are not actually attested in musical contexts.
-1D000 BYZANTINE MUSICAL SYMBOL PSILI
-1D001 BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 BYZANTINE MUSICAL SYMBOL PERISPOMENI
-@ Ekfonetika
-1D003 BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 BYZANTINE MUSICAL SYMBOL THITA
-@ Melodimata (Melodics)
-1D015 BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 BYZANTINE MUSICAL SYMBOL PSILON
-1D018 BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 BYZANTINE MUSICAL SYMBOL VATHY
-1D01A BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 BYZANTINE MUSICAL SYMBOL REVMA
-1D026 BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D BYZANTINE MUSICAL SYMBOL THEMA
-1D02E BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F BYZANTINE MUSICAL SYMBOL DYO
-1D030 BYZANTINE MUSICAL SYMBOL TRIA
-1D031 BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 BYZANTINE MUSICAL SYMBOL NANA
-1D041 BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-@ Fonitika (Vocals)
-1D046 BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 BYZANTINE MUSICAL SYMBOL CHAMILI
-@ Afona or Ypostaseis (Mutes or Hypostases)
-1D057 BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B BYZANTINE MUSICAL SYMBOL OMALON
-1D05C BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E BYZANTINE MUSICAL SYMBOL STAVROS
-@ Argies (Retards)
-1D07F BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 BYZANTINE MUSICAL SYMBOL APLI
-1D086 BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 BYZANTINE MUSICAL SYMBOL KORONIS
-@ Leimmata or Siopes (Leimmas or Silencers)
-1D08A BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-@ Synagmata or Gorgotites (Synagmas or Quickeners)
-1D08F BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 BYZANTINE MUSICAL SYMBOL ARGON
-1D098 BYZANTINE MUSICAL SYMBOL IMIDIARGON
- * called diargon by some authorities
-1D099 BYZANTINE MUSICAL SYMBOL DIARGON
- * called triargon by some authorities
-@ Agogika (Conduits)
-@+ Glyphs shown for conduits reflect Greek practice, with chi as the base letter; different national traditions use glyphs with different base letters.
-1D09A BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-@ Ichimata and Martyrika (Ichimas and Evidentials)
-1D0A2 BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
- * used in intonation formulas instead of nu, before phonemes a, i, o, u
- x (greek small letter nu - 03BD)
-1D0B5 BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
- * used in intonation formulas instead of nu, before phoneme e
- x (greek small letter nu - 03BD)
-@ Fthores (Destroyers)
-1D0B6 BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
- % BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS
- * misspelling of "FTHORA" in character name is a known defect
-1D0C6 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-@ Alloioseis (Differentiators)
-1D0CB BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-@ Rythmika (Rhythmics)
-1D0DA BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
- x (musical symbol short barline - 1D105)
-1D0DB BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
- x (musical symbol single barline - 1D100)
-1D0DC BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-@ Grammata (Letters)
-@+ The first three characters are not actually attested in musical contexts.
-1D0E6 BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
- x (latin small letter ou - 0223)
-1D0E8 BYZANTINE MUSICAL SYMBOL STIGMA
- x (greek small letter stigma - 03DB)
-1D0E9 BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-@ Specials
-1D0F0 BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-@@ 1D100 Musical Symbols 1D1FF
-@ Bars
-1D100 MUSICAL SYMBOL SINGLE BARLINE
-1D101 MUSICAL SYMBOL DOUBLE BARLINE
-1D102 MUSICAL SYMBOL FINAL BARLINE
-1D103 MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 MUSICAL SYMBOL DASHED BARLINE
-1D105 MUSICAL SYMBOL SHORT BARLINE
-@ Codas
-1D106 MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 MUSICAL SYMBOL REPEAT DOTS
-1D109 MUSICAL SYMBOL DAL SEGNO
-1D10A MUSICAL SYMBOL DA CAPO
-1D10B MUSICAL SYMBOL SEGNO
-1D10C MUSICAL SYMBOL CODA
-@ Figure repetitions
-1D10D MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F MUSICAL SYMBOL REPEATED FIGURE-3
-@ Holds and pauses
-1D110 MUSICAL SYMBOL FERMATA
-1D111 MUSICAL SYMBOL FERMATA BELOW
-1D112 MUSICAL SYMBOL BREATH MARK
-1D113 MUSICAL SYMBOL CAESURA
-@ Staff brackets
-1D114 MUSICAL SYMBOL BRACE
-1D115 MUSICAL SYMBOL BRACKET
-@ Staves
-1D116 MUSICAL SYMBOL ONE-LINE STAFF
-1D117 MUSICAL SYMBOL TWO-LINE STAFF
-1D118 MUSICAL SYMBOL THREE-LINE STAFF
-1D119 MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B MUSICAL SYMBOL SIX-LINE STAFF
-@ Tablature
-1D11C MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D MUSICAL SYMBOL FOUR-STRING FRETBOARD
-@ Clefs
-1D11E MUSICAL SYMBOL G CLEF
-1D11F MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 MUSICAL SYMBOL C CLEF
-1D122 MUSICAL SYMBOL F CLEF
-1D123 MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 MUSICAL SYMBOL DRUM CLEF-1
-1D126 MUSICAL SYMBOL DRUM CLEF-2
-@ Rest
-1D129 MUSICAL SYMBOL MULTIPLE MEASURE REST
- * used to represent rests of arbitrary lengths, extending across multiple measures
- x (musical symbol multi rest - 1D13A)
-@ Accidentals
-@+ The most common accidentals are encoded in the Miscellaneous Symbols block.
- x (music flat sign - 266D)
- x (music natural sign - 266E)
- x (music sharp sign - 266F)
-1D12A MUSICAL SYMBOL DOUBLE SHARP
-1D12B MUSICAL SYMBOL DOUBLE FLAT
-1D12C MUSICAL SYMBOL FLAT UP
-1D12D MUSICAL SYMBOL FLAT DOWN
-1D12E MUSICAL SYMBOL NATURAL UP
-1D12F MUSICAL SYMBOL NATURAL DOWN
-1D130 MUSICAL SYMBOL SHARP UP
-1D131 MUSICAL SYMBOL SHARP DOWN
-1D132 MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 MUSICAL SYMBOL QUARTER TONE FLAT
-@ Time signatures
-1D134 MUSICAL SYMBOL COMMON TIME
-1D135 MUSICAL SYMBOL CUT TIME
-@ Octaves
-1D136 MUSICAL SYMBOL OTTAVA ALTA
-1D137 MUSICAL SYMBOL OTTAVA BASSA
-1D138 MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 MUSICAL SYMBOL QUINDICESIMA BASSA
-@ Rests
-1D13A MUSICAL SYMBOL MULTI REST
- = double whole-rest, breve rest
- x (musical symbol multiple measure rest - 1D129)
-1D13B MUSICAL SYMBOL WHOLE REST
- = semibreve rest
-1D13C MUSICAL SYMBOL HALF REST
- = minim rest
-1D13D MUSICAL SYMBOL QUARTER REST
- = crochet rest
-1D13E MUSICAL SYMBOL EIGHTH REST
-1D13F MUSICAL SYMBOL SIXTEENTH REST
-1D140 MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-@ Noteheads
-1D143 MUSICAL SYMBOL X NOTEHEAD
-1D144 MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 MUSICAL SYMBOL VOID NOTEHEAD
-1D158 MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 MUSICAL SYMBOL NULL NOTEHEAD
-1D15A MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-@ Notes
-1D15C MUSICAL SYMBOL BREVE
-1D15D MUSICAL SYMBOL WHOLE NOTE
-1D15E MUSICAL SYMBOL HALF NOTE
- : 1D157 1D165
-1D15F MUSICAL SYMBOL QUARTER NOTE
- : 1D158 1D165
-1D160 MUSICAL SYMBOL EIGHTH NOTE
- : 1D15F 1D16E
-1D161 MUSICAL SYMBOL SIXTEENTH NOTE
- : 1D15F 1D16F
-1D162 MUSICAL SYMBOL THIRTY-SECOND NOTE
- : 1D15F 1D170
-1D163 MUSICAL SYMBOL SIXTY-FOURTH NOTE
- : 1D15F 1D171
-1D164 MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
- : 1D15F 1D172
-@ Stems
-1D165 MUSICAL SYMBOL COMBINING STEM
-1D166 MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-@ Tremolos
-1D167 MUSICAL SYMBOL COMBINING TREMOLO-1
-1D168 MUSICAL SYMBOL COMBINING TREMOLO-2
-1D169 MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C MUSICAL SYMBOL FINGERED TREMOLO-3
-@ Augmentation dot
-1D16D MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-@ Flags
-1D16E MUSICAL SYMBOL COMBINING FLAG-1
-1D16F MUSICAL SYMBOL COMBINING FLAG-2
-1D170 MUSICAL SYMBOL COMBINING FLAG-3
-1D171 MUSICAL SYMBOL COMBINING FLAG-4
-1D172 MUSICAL SYMBOL COMBINING FLAG-5
-@ Beams and slurs
-1D173 MUSICAL SYMBOL BEGIN BEAM
-1D174 MUSICAL SYMBOL END BEAM
-1D175 MUSICAL SYMBOL BEGIN TIE
-1D176 MUSICAL SYMBOL END TIE
-1D177 MUSICAL SYMBOL BEGIN SLUR
-1D178 MUSICAL SYMBOL END SLUR
-1D179 MUSICAL SYMBOL BEGIN PHRASE
-1D17A MUSICAL SYMBOL END PHRASE
-@ Articulation
-1D17B MUSICAL SYMBOL COMBINING ACCENT
-1D17C MUSICAL SYMBOL COMBINING STACCATO
-1D17D MUSICAL SYMBOL COMBINING TENUTO
-1D17E MUSICAL SYMBOL COMBINING STACCATISSIMO
-1D17F MUSICAL SYMBOL COMBINING MARCATO
-1D180 MUSICAL SYMBOL COMBINING MARCATO-STACCATO
-1D181 MUSICAL SYMBOL COMBINING ACCENT-STACCATO
-1D182 MUSICAL SYMBOL COMBINING LOURE
-1D183 MUSICAL SYMBOL ARPEGGIATO UP
-1D184 MUSICAL SYMBOL ARPEGGIATO DOWN
-1D185 MUSICAL SYMBOL COMBINING DOIT
-1D186 MUSICAL SYMBOL COMBINING RIP
-1D187 MUSICAL SYMBOL COMBINING FLIP
-1D188 MUSICAL SYMBOL COMBINING SMEAR
-1D189 MUSICAL SYMBOL COMBINING BEND
-1D18A MUSICAL SYMBOL COMBINING DOUBLE TONGUE
-1D18B MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C MUSICAL SYMBOL RINFORZANDO
-1D18D MUSICAL SYMBOL SUBITO
-1D18E MUSICAL SYMBOL Z
-@ Dynamics
-1D18F MUSICAL SYMBOL PIANO
-1D190 MUSICAL SYMBOL MEZZO
-1D191 MUSICAL SYMBOL FORTE
-1D192 MUSICAL SYMBOL CRESCENDO
-1D193 MUSICAL SYMBOL DECRESCENDO
-@ Ornaments
-1D194 MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 MUSICAL SYMBOL TR
-1D197 MUSICAL SYMBOL TURN
-1D198 MUSICAL SYMBOL INVERTED TURN
-1D199 MUSICAL SYMBOL TURN SLASH
-1D19A MUSICAL SYMBOL TURN UP
-1D19B MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 MUSICAL SYMBOL ORNAMENT STROKE-11
-@ Analytics
-1D1A6 MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 MUSICAL SYMBOL NEBENSTIMME
-1D1A8 MUSICAL SYMBOL END OF STIMME
-1D1A9 MUSICAL SYMBOL DEGREE SLASH
-@ Instrumentation
-1D1AA MUSICAL SYMBOL COMBINING DOWN BOW
-1D1AB MUSICAL SYMBOL COMBINING UP BOW
-1D1AC MUSICAL SYMBOL COMBINING HARMONIC
-1D1AD MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-@ Pedals
-1D1AE MUSICAL SYMBOL PEDAL MARK
-1D1AF MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 MUSICAL SYMBOL HALF PEDAL MARK
-@ Miscellaneous symbols
-1D1B1 MUSICAL SYMBOL GLISSANDO UP
-1D1B2 MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 MUSICAL SYMBOL DAMP
-1D1B5 MUSICAL SYMBOL DAMP ALL
-@ Mensural notation
-1D1B6 MUSICAL SYMBOL MAXIMA
-1D1B7 MUSICAL SYMBOL LONGA
-1D1B8 MUSICAL SYMBOL BREVIS
-1D1B9 MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB MUSICAL SYMBOL MINIMA
- : 1D1B9 1D165
-1D1BC MUSICAL SYMBOL MINIMA BLACK
- : 1D1BA 1D165
-1D1BD MUSICAL SYMBOL SEMIMINIMA WHITE
- : 1D1BB 1D16E
-1D1BE MUSICAL SYMBOL SEMIMINIMA BLACK
- : 1D1BC 1D16E
-1D1BF MUSICAL SYMBOL FUSA WHITE
- : 1D1BB 1D16F
-1D1C0 MUSICAL SYMBOL FUSA BLACK
- : 1D1BC 1D16F
-@ Mensural rests
-1D1C1 MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 MUSICAL SYMBOL BREVIS REST
-1D1C4 MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 MUSICAL SYMBOL MINIMA REST
-1D1C6 MUSICAL SYMBOL SEMIMINIMA REST
-@ Mensural prolations
-1D1C7 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-@ Miscellaneous symbol
-1D1CF MUSICAL SYMBOL CROIX
-@ Gregorian notation
-1D1D0 MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 MUSICAL SYMBOL SQUARE B
-1D1D3 MUSICAL SYMBOL VIRGA
-1D1D4 MUSICAL SYMBOL PODATUS
-1D1D5 MUSICAL SYMBOL CLIVIS
-1D1D6 MUSICAL SYMBOL SCANDICUS
-1D1D7 MUSICAL SYMBOL CLIMACUS
-1D1D8 MUSICAL SYMBOL TORCULUS
-1D1D9 MUSICAL SYMBOL PORRECTUS
-1D1DA MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD MUSICAL SYMBOL PES SUBPUNCTIS
-@@ 1D200 Ancient Greek Musical Notation 1D24F
-@ Ancient Greek vocalic notation
-@+ In a few instances vocalic and instrumental symbols have been unified with each other. In other instances they have been unified with regular Greek letters.
-1D200 GREEK VOCAL NOTATION SYMBOL-1
- * vocal E
-1D201 GREEK VOCAL NOTATION SYMBOL-2
- * vocal first sharp of E
-1D202 GREEK VOCAL NOTATION SYMBOL-3
- = Greek instrumental notation symbol-3
- * vocal or instrumental second sharp of E
-1D203 GREEK VOCAL NOTATION SYMBOL-4
- * vocal F
-1D204 GREEK VOCAL NOTATION SYMBOL-5
- * vocal first sharp of F
-1D205 GREEK VOCAL NOTATION SYMBOL-6
- = Greek instrumental notation symbol-21
- * vocal second sharp of F
- * instrumental second sharp of d
-1D206 GREEK VOCAL NOTATION SYMBOL-7
- = Greek instrumental notation symbol-9
- * vocal G
- * instrumental second sharp of G
-1D207 GREEK VOCAL NOTATION SYMBOL-8
- * vocal first sharp of G
-1D208 GREEK VOCAL NOTATION SYMBOL-9
- = Greek instrumental notation symbol-44
- * vocal second sharp of G
- * instrumental first sharp of e´
-1D209 GREEK VOCAL NOTATION SYMBOL-10
- * vocal A
- * this is a modification of 039F and is therefore not the same as 03D8
-1D20A GREEK VOCAL NOTATION SYMBOL-11
- * vocal first sharp of A
-1D20B GREEK VOCAL NOTATION SYMBOL-12
- * vocal second sharp of A
-1D20C GREEK VOCAL NOTATION SYMBOL-13
- * vocal B
-1D20D GREEK VOCAL NOTATION SYMBOL-14
- = Greek instrumental notation symbol-41
- * vocal first sharp of B
- * instrumental first sharp of d´
- x (latin capital letter v - 0056)
-1D20E GREEK VOCAL NOTATION SYMBOL-15
- = Greek instrumental notation symbol-35
- * vocal second sharp of B
- * instrumental first sharp of b
-1D20F GREEK VOCAL NOTATION SYMBOL-16
- * vocal c
- * unlike 1D23B this character has a glyph variant that looks like a horizontal line
-1D210 GREEK VOCAL NOTATION SYMBOL-17
- * vocal first sharp of c
-1D211 GREEK VOCAL NOTATION SYMBOL-18
- = Greek instrumental notation symbol-15
- * vocal second sharp of c
- * instrumental second sharp of B
-1D212 GREEK VOCAL NOTATION SYMBOL-19
- * vocal d
-1D213 GREEK VOCAL NOTATION SYMBOL-20
- = Greek instrumental notation symbol-28
- * vocal first sharp of d
- * instrumental g
- * this is a modification of 0395 and is therefore not the same as 0046
-1D214 GREEK VOCAL NOTATION SYMBOL-21
- * vocal second sharp of d
-1D215 GREEK VOCAL NOTATION SYMBOL-22
- * vocal e
-1D216 GREEK VOCAL NOTATION SYMBOL-23
- * vocal first sharp of e
- * this is a modification of 0392 and is therefore not the same as 0052
-1D217 GREEK VOCAL NOTATION SYMBOL-24
- * vocal second sharp of e
-1D218 GREEK VOCAL NOTATION SYMBOL-50
- * vocal first sharp of g´
-1D219 GREEK VOCAL NOTATION SYMBOL-51
- * vocal second sharp of g´
-1D21A GREEK VOCAL NOTATION SYMBOL-52
- * vocal a´
-1D21B GREEK VOCAL NOTATION SYMBOL-53
- * vocal first sharp of a´
-1D21C GREEK VOCAL NOTATION SYMBOL-54
- = Greek instrumental notation symbol-20
- * vocal second sharp of a´
- * instrumental first sharp of d
-@ Ancient Greek instrumental notation
-1D21D GREEK INSTRUMENTAL NOTATION SYMBOL-1
- * instrumental E
-1D21E GREEK INSTRUMENTAL NOTATION SYMBOL-2
- * instrumental first sharp of E
-1D21F GREEK INSTRUMENTAL NOTATION SYMBOL-4
- * instrumental F
-1D220 GREEK INSTRUMENTAL NOTATION SYMBOL-5
- * instrumental first sharp of F
-1D221 GREEK INSTRUMENTAL NOTATION SYMBOL-7
- * instrumental G
-1D222 GREEK INSTRUMENTAL NOTATION SYMBOL-8
- * instrumental first sharp of G
-1D223 GREEK INSTRUMENTAL NOTATION SYMBOL-11
- * instrumental first sharp of A
-1D224 GREEK INSTRUMENTAL NOTATION SYMBOL-12
- * instrumental second sharp of A
-1D225 GREEK INSTRUMENTAL NOTATION SYMBOL-13
- * instrumental B
-1D226 GREEK INSTRUMENTAL NOTATION SYMBOL-14
- * instrumental first sharp of B
-1D227 GREEK INSTRUMENTAL NOTATION SYMBOL-17
- * instrumental first sharp of c
-1D228 GREEK INSTRUMENTAL NOTATION SYMBOL-18
- * instrumental second sharp of c
-1D229 GREEK INSTRUMENTAL NOTATION SYMBOL-19
- * instrumental d
-1D22A GREEK INSTRUMENTAL NOTATION SYMBOL-23
- * instrumental first sharp of e
-1D22B GREEK INSTRUMENTAL NOTATION SYMBOL-24
- * instrumental second sharp of e
-1D22C GREEK INSTRUMENTAL NOTATION SYMBOL-25
- * instrumental f
-1D22D GREEK INSTRUMENTAL NOTATION SYMBOL-26
- * instrumental first sharp of f
-1D22E GREEK INSTRUMENTAL NOTATION SYMBOL-27
- * instrumental second sharp of f
-1D22F GREEK INSTRUMENTAL NOTATION SYMBOL-29
- * instrumental first sharp of g
-1D230 GREEK INSTRUMENTAL NOTATION SYMBOL-30
- * instrumental second sharp of g
-1D231 GREEK INSTRUMENTAL NOTATION SYMBOL-32
- * instrumental first sharp of a
-1D232 GREEK INSTRUMENTAL NOTATION SYMBOL-36
- * instrumental second sharp of b
-1D233 GREEK INSTRUMENTAL NOTATION SYMBOL-37
- * instrumental c´
-1D234 GREEK INSTRUMENTAL NOTATION SYMBOL-38
- * instrumental first sharp of c´
-1D235 GREEK INSTRUMENTAL NOTATION SYMBOL-39
- * instrumental second sharp of c´
-1D236 GREEK INSTRUMENTAL NOTATION SYMBOL-40
- * instrumental d´
-1D237 GREEK INSTRUMENTAL NOTATION SYMBOL-42
- * instrumental second sharp of d´
-1D238 GREEK INSTRUMENTAL NOTATION SYMBOL-43
- * instrumental e´
-1D239 GREEK INSTRUMENTAL NOTATION SYMBOL-45
- * instrumental second sharp of e´
-1D23A GREEK INSTRUMENTAL NOTATION SYMBOL-47
- * instrumental first sharp of f´
- * similar but not identical to 002F
-1D23B GREEK INSTRUMENTAL NOTATION SYMBOL-48
- * instrumental second sharp of f´
- * similar but not identical to 005C
-1D23C GREEK INSTRUMENTAL NOTATION SYMBOL-49
- * instrumental g´
-1D23D GREEK INSTRUMENTAL NOTATION SYMBOL-50
- * instrumental first sharp of g´
-1D23E GREEK INSTRUMENTAL NOTATION SYMBOL-51
- * instrumental second sharp of g´
-1D23F GREEK INSTRUMENTAL NOTATION SYMBOL-52
- * instrumental a´
-1D240 GREEK INSTRUMENTAL NOTATION SYMBOL-53
- * instrumental first sharp of a´
-1D241 GREEK INSTRUMENTAL NOTATION SYMBOL-54
- * instrumental second sharp of a´
-@ Further Greek musical notation symbols
-1D242 COMBINING GREEK MUSICAL TRISEME
- x (metrical triseme - 23D7)
-1D243 COMBINING GREEK MUSICAL TETRASEME
- x (metrical tetraseme - 23D8)
-1D244 COMBINING GREEK MUSICAL PENTASEME
- x (metrical pentaseme - 23D9)
-1D245 GREEK MUSICAL LEIMMA
-@@ 1D300 Tai Xuan Jing Symbols 1D35F
-@+ These symbols are an extension of the better-known Yijing symbols found in the Miscellaneous Symbols block. The names for the monogram and digram symbols here are not correct translations of the usual Chinese terminology.
-@ Monogram
-1D300 MONOGRAM FOR EARTH
- = ren
- * usually associated with human (Chinese ren), rather than earth
- x (monogram for yang - 268A)
- x (monogram for yin - 268B)
-@ Digrams
-@+ The digrams extend the set of Yijing digrams; note that the Chinese aliases more correctly represent their interpretation.
-1D301 DIGRAM FOR HEAVENLY EARTH
- = tian ren
-1D302 DIGRAM FOR HUMAN EARTH
- = di ren
-1D303 DIGRAM FOR EARTHLY HEAVEN
- = ren tian
-1D304 DIGRAM FOR EARTHLY HUMAN
- = ren di
-1D305 DIGRAM FOR EARTH
- = ren ren
-@ Tetragrams
-1D306 TETRAGRAM FOR CENTRE
-1D307 TETRAGRAM FOR FULL CIRCLE
-1D308 TETRAGRAM FOR MIRED
-1D309 TETRAGRAM FOR BARRIER
-1D30A TETRAGRAM FOR KEEPING SMALL
-1D30B TETRAGRAM FOR CONTRARIETY
-1D30C TETRAGRAM FOR ASCENT
-1D30D TETRAGRAM FOR OPPOSITION
-1D30E TETRAGRAM FOR BRANCHING OUT
-1D30F TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 TETRAGRAM FOR DIVERGENCE
-1D311 TETRAGRAM FOR YOUTHFULNESS
-1D312 TETRAGRAM FOR INCREASE
-1D313 TETRAGRAM FOR PENETRATION
-1D314 TETRAGRAM FOR REACH
-1D315 TETRAGRAM FOR CONTACT
-1D316 TETRAGRAM FOR HOLDING BACK
-1D317 TETRAGRAM FOR WAITING
-1D318 TETRAGRAM FOR FOLLOWING
-1D319 TETRAGRAM FOR ADVANCE
-1D31A TETRAGRAM FOR RELEASE
-1D31B TETRAGRAM FOR RESISTANCE
-1D31C TETRAGRAM FOR EASE
-1D31D TETRAGRAM FOR JOY
-1D31E TETRAGRAM FOR CONTENTION
-1D31F TETRAGRAM FOR ENDEAVOUR
-1D320 TETRAGRAM FOR DUTIES
-1D321 TETRAGRAM FOR CHANGE
-1D322 TETRAGRAM FOR DECISIVENESS
-1D323 TETRAGRAM FOR BOLD RESOLUTION
-1D324 TETRAGRAM FOR PACKING
-1D325 TETRAGRAM FOR LEGION
-1D326 TETRAGRAM FOR CLOSENESS
-1D327 TETRAGRAM FOR KINSHIP
-1D328 TETRAGRAM FOR GATHERING
-1D329 TETRAGRAM FOR STRENGTH
-1D32A TETRAGRAM FOR PURITY
-1D32B TETRAGRAM FOR FULLNESS
-1D32C TETRAGRAM FOR RESIDENCE
-1D32D TETRAGRAM FOR LAW OR MODEL
-1D32E TETRAGRAM FOR RESPONSE
-1D32F TETRAGRAM FOR GOING TO MEET
-1D330 TETRAGRAM FOR ENCOUNTERS
-1D331 TETRAGRAM FOR STOVE
-1D332 TETRAGRAM FOR GREATNESS
-1D333 TETRAGRAM FOR ENLARGEMENT
-1D334 TETRAGRAM FOR PATTERN
-1D335 TETRAGRAM FOR RITUAL
-1D336 TETRAGRAM FOR FLIGHT
-1D337 TETRAGRAM FOR VASTNESS OR WASTING
-1D338 TETRAGRAM FOR CONSTANCY
-1D339 TETRAGRAM FOR MEASURE
-1D33A TETRAGRAM FOR ETERNITY
-1D33B TETRAGRAM FOR UNITY
-1D33C TETRAGRAM FOR DIMINISHMENT
-1D33D TETRAGRAM FOR CLOSED MOUTH
-1D33E TETRAGRAM FOR GUARDEDNESS
-1D33F TETRAGRAM FOR GATHERING IN
-1D340 TETRAGRAM FOR MASSING
-1D341 TETRAGRAM FOR ACCUMULATION
-1D342 TETRAGRAM FOR EMBELLISHMENT
-1D343 TETRAGRAM FOR DOUBT
-1D344 TETRAGRAM FOR WATCH
-1D345 TETRAGRAM FOR SINKING
-1D346 TETRAGRAM FOR INNER
-1D347 TETRAGRAM FOR DEPARTURE
-1D348 TETRAGRAM FOR DARKENING
-1D349 TETRAGRAM FOR DIMMING
-1D34A TETRAGRAM FOR EXHAUSTION
-1D34B TETRAGRAM FOR SEVERANCE
-1D34C TETRAGRAM FOR STOPPAGE
-1D34D TETRAGRAM FOR HARDNESS
-1D34E TETRAGRAM FOR COMPLETION
-1D34F TETRAGRAM FOR CLOSURE
-1D350 TETRAGRAM FOR FAILURE
-1D351 TETRAGRAM FOR AGGRAVATION
-1D352 TETRAGRAM FOR COMPLIANCE
-1D353 TETRAGRAM FOR ON THE VERGE
-1D354 TETRAGRAM FOR DIFFICULTIES
-1D355 TETRAGRAM FOR LABOURING
-1D356 TETRAGRAM FOR FOSTERING
-@@ 1D360 Counting Rod Numerals 1D37F
-@ Counting rod units
-1D360 COUNTING ROD UNIT DIGIT ONE
-1D361 COUNTING ROD UNIT DIGIT TWO
-1D362 COUNTING ROD UNIT DIGIT THREE
-1D363 COUNTING ROD UNIT DIGIT FOUR
-1D364 COUNTING ROD UNIT DIGIT FIVE
-1D365 COUNTING ROD UNIT DIGIT SIX
-1D366 COUNTING ROD UNIT DIGIT SEVEN
-1D367 COUNTING ROD UNIT DIGIT EIGHT
-1D368 COUNTING ROD UNIT DIGIT NINE
-1D369 COUNTING ROD TENS DIGIT ONE
-1D36A COUNTING ROD TENS DIGIT TWO
-1D36B COUNTING ROD TENS DIGIT THREE
-1D36C COUNTING ROD TENS DIGIT FOUR
-1D36D COUNTING ROD TENS DIGIT FIVE
-1D36E COUNTING ROD TENS DIGIT SIX
-1D36F COUNTING ROD TENS DIGIT SEVEN
-1D370 COUNTING ROD TENS DIGIT EIGHT
-1D371 COUNTING ROD TENS DIGIT NINE
-@@ 1D400 Mathematical Alphanumeric Symbols 1D7FF
-@@+
-@+ To be used for mathematical variables where style variations are important semantically. For general text, use standard Latin and Greek letters with markup.
-@ Bold symbols
-1D400 MATHEMATICAL BOLD CAPITAL A
- # <font> 0041 latin capital letter a
-1D401 MATHEMATICAL BOLD CAPITAL B
- # <font> 0042 latin capital letter b
-1D402 MATHEMATICAL BOLD CAPITAL C
- # <font> 0043 latin capital letter c
-1D403 MATHEMATICAL BOLD CAPITAL D
- # <font> 0044 latin capital letter d
-1D404 MATHEMATICAL BOLD CAPITAL E
- # <font> 0045 latin capital letter e
-1D405 MATHEMATICAL BOLD CAPITAL F
- # <font> 0046 latin capital letter f
-1D406 MATHEMATICAL BOLD CAPITAL G
- # <font> 0047 latin capital letter g
-1D407 MATHEMATICAL BOLD CAPITAL H
- # <font> 0048 latin capital letter h
-1D408 MATHEMATICAL BOLD CAPITAL I
- # <font> 0049 latin capital letter i
-1D409 MATHEMATICAL BOLD CAPITAL J
- # <font> 004A latin capital letter j
-1D40A MATHEMATICAL BOLD CAPITAL K
- # <font> 004B latin capital letter k
-1D40B MATHEMATICAL BOLD CAPITAL L
- # <font> 004C latin capital letter l
-1D40C MATHEMATICAL BOLD CAPITAL M
- # <font> 004D latin capital letter m
-1D40D MATHEMATICAL BOLD CAPITAL N
- # <font> 004E latin capital letter n
-1D40E MATHEMATICAL BOLD CAPITAL O
- # <font> 004F latin capital letter o
-1D40F MATHEMATICAL BOLD CAPITAL P
- # <font> 0050 latin capital letter p
-1D410 MATHEMATICAL BOLD CAPITAL Q
- # <font> 0051 latin capital letter q
-1D411 MATHEMATICAL BOLD CAPITAL R
- # <font> 0052 latin capital letter r
-1D412 MATHEMATICAL BOLD CAPITAL S
- # <font> 0053 latin capital letter s
-1D413 MATHEMATICAL BOLD CAPITAL T
- # <font> 0054 latin capital letter t
-1D414 MATHEMATICAL BOLD CAPITAL U
- # <font> 0055 latin capital letter u
-1D415 MATHEMATICAL BOLD CAPITAL V
- # <font> 0056 latin capital letter v
-1D416 MATHEMATICAL BOLD CAPITAL W
- # <font> 0057 latin capital letter w
-1D417 MATHEMATICAL BOLD CAPITAL X
- # <font> 0058 latin capital letter x
-1D418 MATHEMATICAL BOLD CAPITAL Y
- # <font> 0059 latin capital letter y
-1D419 MATHEMATICAL BOLD CAPITAL Z
- # <font> 005A latin capital letter z
-1D41A MATHEMATICAL BOLD SMALL A
- # <font> 0061 latin small letter a
-1D41B MATHEMATICAL BOLD SMALL B
- # <font> 0062 latin small letter b
-1D41C MATHEMATICAL BOLD SMALL C
- # <font> 0063 latin small letter c
-1D41D MATHEMATICAL BOLD SMALL D
- # <font> 0064 latin small letter d
-1D41E MATHEMATICAL BOLD SMALL E
- # <font> 0065 latin small letter e
-1D41F MATHEMATICAL BOLD SMALL F
- # <font> 0066 latin small letter f
-1D420 MATHEMATICAL BOLD SMALL G
- # <font> 0067 latin small letter g
-1D421 MATHEMATICAL BOLD SMALL H
- # <font> 0068 latin small letter h
-1D422 MATHEMATICAL BOLD SMALL I
- # <font> 0069 latin small letter i
-1D423 MATHEMATICAL BOLD SMALL J
- # <font> 006A latin small letter j
-1D424 MATHEMATICAL BOLD SMALL K
- # <font> 006B latin small letter k
-1D425 MATHEMATICAL BOLD SMALL L
- # <font> 006C latin small letter l
-1D426 MATHEMATICAL BOLD SMALL M
- # <font> 006D latin small letter m
-1D427 MATHEMATICAL BOLD SMALL N
- # <font> 006E latin small letter n
-1D428 MATHEMATICAL BOLD SMALL O
- # <font> 006F latin small letter o
-1D429 MATHEMATICAL BOLD SMALL P
- # <font> 0070 latin small letter p
-1D42A MATHEMATICAL BOLD SMALL Q
- # <font> 0071 latin small letter q
-1D42B MATHEMATICAL BOLD SMALL R
- # <font> 0072 latin small letter r
-1D42C MATHEMATICAL BOLD SMALL S
- # <font> 0073 latin small letter s
-1D42D MATHEMATICAL BOLD SMALL T
- # <font> 0074 latin small letter t
-1D42E MATHEMATICAL BOLD SMALL U
- # <font> 0075 latin small letter u
-1D42F MATHEMATICAL BOLD SMALL V
- # <font> 0076 latin small letter v
-1D430 MATHEMATICAL BOLD SMALL W
- # <font> 0077 latin small letter w
-1D431 MATHEMATICAL BOLD SMALL X
- # <font> 0078 latin small letter x
-1D432 MATHEMATICAL BOLD SMALL Y
- # <font> 0079 latin small letter y
-1D433 MATHEMATICAL BOLD SMALL Z
- # <font> 007A latin small letter z
-@ Italic symbols
-@+ Italic symbols already encoded in the Letterlike Symbols block are omitted here to avoid duplicate encoding.
-1D434 MATHEMATICAL ITALIC CAPITAL A
- # <font> 0041 latin capital letter a
-1D435 MATHEMATICAL ITALIC CAPITAL B
- # <font> 0042 latin capital letter b
-1D436 MATHEMATICAL ITALIC CAPITAL C
- # <font> 0043 latin capital letter c
-1D437 MATHEMATICAL ITALIC CAPITAL D
- # <font> 0044 latin capital letter d
-1D438 MATHEMATICAL ITALIC CAPITAL E
- # <font> 0045 latin capital letter e
-1D439 MATHEMATICAL ITALIC CAPITAL F
- # <font> 0046 latin capital letter f
-1D43A MATHEMATICAL ITALIC CAPITAL G
- # <font> 0047 latin capital letter g
-1D43B MATHEMATICAL ITALIC CAPITAL H
- # <font> 0048 latin capital letter h
-1D43C MATHEMATICAL ITALIC CAPITAL I
- # <font> 0049 latin capital letter i
-1D43D MATHEMATICAL ITALIC CAPITAL J
- # <font> 004A latin capital letter j
-1D43E MATHEMATICAL ITALIC CAPITAL K
- # <font> 004B latin capital letter k
-1D43F MATHEMATICAL ITALIC CAPITAL L
- # <font> 004C latin capital letter l
-1D440 MATHEMATICAL ITALIC CAPITAL M
- # <font> 004D latin capital letter m
-1D441 MATHEMATICAL ITALIC CAPITAL N
- # <font> 004E latin capital letter n
-1D442 MATHEMATICAL ITALIC CAPITAL O
- # <font> 004F latin capital letter o
-1D443 MATHEMATICAL ITALIC CAPITAL P
- # <font> 0050 latin capital letter p
-1D444 MATHEMATICAL ITALIC CAPITAL Q
- # <font> 0051 latin capital letter q
-1D445 MATHEMATICAL ITALIC CAPITAL R
- # <font> 0052 latin capital letter r
-1D446 MATHEMATICAL ITALIC CAPITAL S
- # <font> 0053 latin capital letter s
-1D447 MATHEMATICAL ITALIC CAPITAL T
- # <font> 0054 latin capital letter t
-1D448 MATHEMATICAL ITALIC CAPITAL U
- # <font> 0055 latin capital letter u
-1D449 MATHEMATICAL ITALIC CAPITAL V
- # <font> 0056 latin capital letter v
-1D44A MATHEMATICAL ITALIC CAPITAL W
- # <font> 0057 latin capital letter w
-1D44B MATHEMATICAL ITALIC CAPITAL X
- # <font> 0058 latin capital letter x
-1D44C MATHEMATICAL ITALIC CAPITAL Y
- # <font> 0059 latin capital letter y
-1D44D MATHEMATICAL ITALIC CAPITAL Z
- # <font> 005A latin capital letter z
-1D44E MATHEMATICAL ITALIC SMALL A
- # <font> 0061 latin small letter a
-1D44F MATHEMATICAL ITALIC SMALL B
- # <font> 0062 latin small letter b
-1D450 MATHEMATICAL ITALIC SMALL C
- # <font> 0063 latin small letter c
-1D451 MATHEMATICAL ITALIC SMALL D
- # <font> 0064 latin small letter d
-1D452 MATHEMATICAL ITALIC SMALL E
- # <font> 0065 latin small letter e
-1D453 MATHEMATICAL ITALIC SMALL F
- # <font> 0066 latin small letter f
-1D454 MATHEMATICAL ITALIC SMALL G
- # <font> 0067 latin small letter g
-1D455 <reserved>
- x (planck constant - 210E)
-1D456 MATHEMATICAL ITALIC SMALL I
- # <font> 0069 latin small letter i
-1D457 MATHEMATICAL ITALIC SMALL J
- # <font> 006A latin small letter j
-1D458 MATHEMATICAL ITALIC SMALL K
- # <font> 006B latin small letter k
-1D459 MATHEMATICAL ITALIC SMALL L
- # <font> 006C latin small letter l
-1D45A MATHEMATICAL ITALIC SMALL M
- # <font> 006D latin small letter m
-1D45B MATHEMATICAL ITALIC SMALL N
- # <font> 006E latin small letter n
-1D45C MATHEMATICAL ITALIC SMALL O
- # <font> 006F latin small letter o
-1D45D MATHEMATICAL ITALIC SMALL P
- # <font> 0070 latin small letter p
-1D45E MATHEMATICAL ITALIC SMALL Q
- # <font> 0071 latin small letter q
-1D45F MATHEMATICAL ITALIC SMALL R
- # <font> 0072 latin small letter r
-1D460 MATHEMATICAL ITALIC SMALL S
- # <font> 0073 latin small letter s
-1D461 MATHEMATICAL ITALIC SMALL T
- # <font> 0074 latin small letter t
-1D462 MATHEMATICAL ITALIC SMALL U
- # <font> 0075 latin small letter u
-1D463 MATHEMATICAL ITALIC SMALL V
- # <font> 0076 latin small letter v
-1D464 MATHEMATICAL ITALIC SMALL W
- # <font> 0077 latin small letter w
-1D465 MATHEMATICAL ITALIC SMALL X
- # <font> 0078 latin small letter x
-1D466 MATHEMATICAL ITALIC SMALL Y
- # <font> 0079 latin small letter y
-1D467 MATHEMATICAL ITALIC SMALL Z
- # <font> 007A latin small letter z
-@ Bold italic symbols
-1D468 MATHEMATICAL BOLD ITALIC CAPITAL A
- # <font> 0041 latin capital letter a
-1D469 MATHEMATICAL BOLD ITALIC CAPITAL B
- # <font> 0042 latin capital letter b
-1D46A MATHEMATICAL BOLD ITALIC CAPITAL C
- # <font> 0043 latin capital letter c
-1D46B MATHEMATICAL BOLD ITALIC CAPITAL D
- # <font> 0044 latin capital letter d
-1D46C MATHEMATICAL BOLD ITALIC CAPITAL E
- # <font> 0045 latin capital letter e
-1D46D MATHEMATICAL BOLD ITALIC CAPITAL F
- # <font> 0046 latin capital letter f
-1D46E MATHEMATICAL BOLD ITALIC CAPITAL G
- # <font> 0047 latin capital letter g
-1D46F MATHEMATICAL BOLD ITALIC CAPITAL H
- # <font> 0048 latin capital letter h
-1D470 MATHEMATICAL BOLD ITALIC CAPITAL I
- # <font> 0049 latin capital letter i
-1D471 MATHEMATICAL BOLD ITALIC CAPITAL J
- # <font> 004A latin capital letter j
-1D472 MATHEMATICAL BOLD ITALIC CAPITAL K
- # <font> 004B latin capital letter k
-1D473 MATHEMATICAL BOLD ITALIC CAPITAL L
- # <font> 004C latin capital letter l
-1D474 MATHEMATICAL BOLD ITALIC CAPITAL M
- # <font> 004D latin capital letter m
-1D475 MATHEMATICAL BOLD ITALIC CAPITAL N
- # <font> 004E latin capital letter n
-1D476 MATHEMATICAL BOLD ITALIC CAPITAL O
- # <font> 004F latin capital letter o
-1D477 MATHEMATICAL BOLD ITALIC CAPITAL P
- # <font> 0050 latin capital letter p
-1D478 MATHEMATICAL BOLD ITALIC CAPITAL Q
- # <font> 0051 latin capital letter q
-1D479 MATHEMATICAL BOLD ITALIC CAPITAL R
- # <font> 0052 latin capital letter r
-1D47A MATHEMATICAL BOLD ITALIC CAPITAL S
- # <font> 0053 latin capital letter s
-1D47B MATHEMATICAL BOLD ITALIC CAPITAL T
- # <font> 0054 latin capital letter t
-1D47C MATHEMATICAL BOLD ITALIC CAPITAL U
- # <font> 0055 latin capital letter u
-1D47D MATHEMATICAL BOLD ITALIC CAPITAL V
- # <font> 0056 latin capital letter v
-1D47E MATHEMATICAL BOLD ITALIC CAPITAL W
- # <font> 0057 latin capital letter w
-1D47F MATHEMATICAL BOLD ITALIC CAPITAL X
- # <font> 0058 latin capital letter x
-1D480 MATHEMATICAL BOLD ITALIC CAPITAL Y
- # <font> 0059 latin capital letter y
-1D481 MATHEMATICAL BOLD ITALIC CAPITAL Z
- # <font> 005A latin capital letter z
-1D482 MATHEMATICAL BOLD ITALIC SMALL A
- # <font> 0061 latin small letter a
-1D483 MATHEMATICAL BOLD ITALIC SMALL B
- # <font> 0062 latin small letter b
-1D484 MATHEMATICAL BOLD ITALIC SMALL C
- # <font> 0063 latin small letter c
-1D485 MATHEMATICAL BOLD ITALIC SMALL D
- # <font> 0064 latin small letter d
-1D486 MATHEMATICAL BOLD ITALIC SMALL E
- # <font> 0065 latin small letter e
-1D487 MATHEMATICAL BOLD ITALIC SMALL F
- # <font> 0066 latin small letter f
-1D488 MATHEMATICAL BOLD ITALIC SMALL G
- # <font> 0067 latin small letter g
-1D489 MATHEMATICAL BOLD ITALIC SMALL H
- # <font> 0068 latin small letter h
-1D48A MATHEMATICAL BOLD ITALIC SMALL I
- # <font> 0069 latin small letter i
-1D48B MATHEMATICAL BOLD ITALIC SMALL J
- # <font> 006A latin small letter j
-1D48C MATHEMATICAL BOLD ITALIC SMALL K
- # <font> 006B latin small letter k
-1D48D MATHEMATICAL BOLD ITALIC SMALL L
- # <font> 006C latin small letter l
-1D48E MATHEMATICAL BOLD ITALIC SMALL M
- # <font> 006D latin small letter m
-1D48F MATHEMATICAL BOLD ITALIC SMALL N
- # <font> 006E latin small letter n
-1D490 MATHEMATICAL BOLD ITALIC SMALL O
- # <font> 006F latin small letter o
-1D491 MATHEMATICAL BOLD ITALIC SMALL P
- # <font> 0070 latin small letter p
-1D492 MATHEMATICAL BOLD ITALIC SMALL Q
- # <font> 0071 latin small letter q
-1D493 MATHEMATICAL BOLD ITALIC SMALL R
- # <font> 0072 latin small letter r
-1D494 MATHEMATICAL BOLD ITALIC SMALL S
- # <font> 0073 latin small letter s
-1D495 MATHEMATICAL BOLD ITALIC SMALL T
- # <font> 0074 latin small letter t
-1D496 MATHEMATICAL BOLD ITALIC SMALL U
- # <font> 0075 latin small letter u
-1D497 MATHEMATICAL BOLD ITALIC SMALL V
- # <font> 0076 latin small letter v
-1D498 MATHEMATICAL BOLD ITALIC SMALL W
- # <font> 0077 latin small letter w
-1D499 MATHEMATICAL BOLD ITALIC SMALL X
- # <font> 0078 latin small letter x
-1D49A MATHEMATICAL BOLD ITALIC SMALL Y
- # <font> 0079 latin small letter y
-1D49B MATHEMATICAL BOLD ITALIC SMALL Z
- # <font> 007A latin small letter z
-@ Script symbols
-@+ Script symbols already encoded in the Letterlike Symbols block are omitted here to avoid duplicate encoding. Fonts that use a less elaborate style are also acceptable for many uses, as long as they can be distinguished from serifed and italic styles.
-1D49C MATHEMATICAL SCRIPT CAPITAL A
- # <font> 0041 latin capital letter a
-1D49D <reserved>
- x (script capital b - 212C)
-1D49E MATHEMATICAL SCRIPT CAPITAL C
- # <font> 0043 latin capital letter c
-1D49F MATHEMATICAL SCRIPT CAPITAL D
- # <font> 0044 latin capital letter d
-1D4A0 <reserved>
- x (script capital e - 2130)
-1D4A1 <reserved>
- x (script capital f - 2131)
-1D4A2 MATHEMATICAL SCRIPT CAPITAL G
- # <font> 0047 latin capital letter g
-1D4A3 <reserved>
- x (script capital h - 210B)
-1D4A4 <reserved>
- x (script capital i - 2110)
-1D4A5 MATHEMATICAL SCRIPT CAPITAL J
- # <font> 004A latin capital letter j
-1D4A6 MATHEMATICAL SCRIPT CAPITAL K
- # <font> 004B latin capital letter k
-1D4A7 <reserved>
- x (script capital l - 2112)
-1D4A8 <reserved>
- x (script capital m - 2133)
-1D4A9 MATHEMATICAL SCRIPT CAPITAL N
- # <font> 004E latin capital letter n
-1D4AA MATHEMATICAL SCRIPT CAPITAL O
- # <font> 004F latin capital letter o
-1D4AB MATHEMATICAL SCRIPT CAPITAL P
- = power set
- # <font> 0050 latin capital letter p
-1D4AC MATHEMATICAL SCRIPT CAPITAL Q
- # <font> 0051 latin capital letter q
-1D4AD <reserved>
- x (script capital r - 211B)
-1D4AE MATHEMATICAL SCRIPT CAPITAL S
- # <font> 0053 latin capital letter s
-1D4AF MATHEMATICAL SCRIPT CAPITAL T
- # <font> 0054 latin capital letter t
-1D4B0 MATHEMATICAL SCRIPT CAPITAL U
- # <font> 0055 latin capital letter u
-1D4B1 MATHEMATICAL SCRIPT CAPITAL V
- # <font> 0056 latin capital letter v
-1D4B2 MATHEMATICAL SCRIPT CAPITAL W
- # <font> 0057 latin capital letter w
-1D4B3 MATHEMATICAL SCRIPT CAPITAL X
- # <font> 0058 latin capital letter x
-1D4B4 MATHEMATICAL SCRIPT CAPITAL Y
- # <font> 0059 latin capital letter y
-1D4B5 MATHEMATICAL SCRIPT CAPITAL Z
- # <font> 005A latin capital letter z
-1D4B6 MATHEMATICAL SCRIPT SMALL A
- # <font> 0061 latin small letter a
-1D4B7 MATHEMATICAL SCRIPT SMALL B
- # <font> 0062 latin small letter b
-1D4B8 MATHEMATICAL SCRIPT SMALL C
- # <font> 0063 latin small letter c
-1D4B9 MATHEMATICAL SCRIPT SMALL D
- # <font> 0064 latin small letter d
-1D4BA <reserved>
- x (script small e - 212F)
-1D4BB MATHEMATICAL SCRIPT SMALL F
- # <font> 0066 latin small letter f
-1D4BC <reserved>
- x (script small g - 210A)
-1D4BD MATHEMATICAL SCRIPT SMALL H
- # <font> 0068 latin small letter h
-1D4BE MATHEMATICAL SCRIPT SMALL I
- # <font> 0069 latin small letter i
-1D4BF MATHEMATICAL SCRIPT SMALL J
- # <font> 006A latin small letter j
-1D4C0 MATHEMATICAL SCRIPT SMALL K
- # <font> 006B latin small letter k
-1D4C1 MATHEMATICAL SCRIPT SMALL L
- x (script small l - 2113)
- # <font> 006C latin small letter l
-1D4C2 MATHEMATICAL SCRIPT SMALL M
- # <font> 006D latin small letter m
-1D4C3 MATHEMATICAL SCRIPT SMALL N
- # <font> 006E latin small letter n
-1D4C4 <reserved>
- x (script small o - 2134)
-1D4C5 MATHEMATICAL SCRIPT SMALL P
- # <font> 0070 latin small letter p
-1D4C6 MATHEMATICAL SCRIPT SMALL Q
- # <font> 0071 latin small letter q
-1D4C7 MATHEMATICAL SCRIPT SMALL R
- # <font> 0072 latin small letter r
-1D4C8 MATHEMATICAL SCRIPT SMALL S
- # <font> 0073 latin small letter s
-1D4C9 MATHEMATICAL SCRIPT SMALL T
- # <font> 0074 latin small letter t
-1D4CA MATHEMATICAL SCRIPT SMALL U
- # <font> 0075 latin small letter u
-1D4CB MATHEMATICAL SCRIPT SMALL V
- # <font> 0076 latin small letter v
-1D4CC MATHEMATICAL SCRIPT SMALL W
- # <font> 0077 latin small letter w
-1D4CD MATHEMATICAL SCRIPT SMALL X
- # <font> 0078 latin small letter x
-1D4CE MATHEMATICAL SCRIPT SMALL Y
- # <font> 0079 latin small letter y
-1D4CF MATHEMATICAL SCRIPT SMALL Z
- # <font> 007A latin small letter z
-@ Bold script symbols
-1D4D0 MATHEMATICAL BOLD SCRIPT CAPITAL A
- # <font> 0041 latin capital letter a
-1D4D1 MATHEMATICAL BOLD SCRIPT CAPITAL B
- # <font> 0042 latin capital letter b
-1D4D2 MATHEMATICAL BOLD SCRIPT CAPITAL C
- # <font> 0043 latin capital letter c
-1D4D3 MATHEMATICAL BOLD SCRIPT CAPITAL D
- # <font> 0044 latin capital letter d
-1D4D4 MATHEMATICAL BOLD SCRIPT CAPITAL E
- # <font> 0045 latin capital letter e
-1D4D5 MATHEMATICAL BOLD SCRIPT CAPITAL F
- # <font> 0046 latin capital letter f
-1D4D6 MATHEMATICAL BOLD SCRIPT CAPITAL G
- # <font> 0047 latin capital letter g
-1D4D7 MATHEMATICAL BOLD SCRIPT CAPITAL H
- # <font> 0048 latin capital letter h
-1D4D8 MATHEMATICAL BOLD SCRIPT CAPITAL I
- # <font> 0049 latin capital letter i
-1D4D9 MATHEMATICAL BOLD SCRIPT CAPITAL J
- # <font> 004A latin capital letter j
-1D4DA MATHEMATICAL BOLD SCRIPT CAPITAL K
- # <font> 004B latin capital letter k
-1D4DB MATHEMATICAL BOLD SCRIPT CAPITAL L
- # <font> 004C latin capital letter l
-1D4DC MATHEMATICAL BOLD SCRIPT CAPITAL M
- # <font> 004D latin capital letter m
-1D4DD MATHEMATICAL BOLD SCRIPT CAPITAL N
- # <font> 004E latin capital letter n
-1D4DE MATHEMATICAL BOLD SCRIPT CAPITAL O
- # <font> 004F latin capital letter o
-1D4DF MATHEMATICAL BOLD SCRIPT CAPITAL P
- # <font> 0050 latin capital letter p
-1D4E0 MATHEMATICAL BOLD SCRIPT CAPITAL Q
- # <font> 0051 latin capital letter q
-1D4E1 MATHEMATICAL BOLD SCRIPT CAPITAL R
- # <font> 0052 latin capital letter r
-1D4E2 MATHEMATICAL BOLD SCRIPT CAPITAL S
- # <font> 0053 latin capital letter s
-1D4E3 MATHEMATICAL BOLD SCRIPT CAPITAL T
- # <font> 0054 latin capital letter t
-1D4E4 MATHEMATICAL BOLD SCRIPT CAPITAL U
- # <font> 0055 latin capital letter u
-1D4E5 MATHEMATICAL BOLD SCRIPT CAPITAL V
- # <font> 0056 latin capital letter v
-1D4E6 MATHEMATICAL BOLD SCRIPT CAPITAL W
- # <font> 0057 latin capital letter w
-1D4E7 MATHEMATICAL BOLD SCRIPT CAPITAL X
- # <font> 0058 latin capital letter x
-1D4E8 MATHEMATICAL BOLD SCRIPT CAPITAL Y
- # <font> 0059 latin capital letter y
-1D4E9 MATHEMATICAL BOLD SCRIPT CAPITAL Z
- # <font> 005A latin capital letter z
-1D4EA MATHEMATICAL BOLD SCRIPT SMALL A
- # <font> 0061 latin small letter a
-1D4EB MATHEMATICAL BOLD SCRIPT SMALL B
- # <font> 0062 latin small letter b
-1D4EC MATHEMATICAL BOLD SCRIPT SMALL C
- # <font> 0063 latin small letter c
-1D4ED MATHEMATICAL BOLD SCRIPT SMALL D
- # <font> 0064 latin small letter d
-1D4EE MATHEMATICAL BOLD SCRIPT SMALL E
- # <font> 0065 latin small letter e
-1D4EF MATHEMATICAL BOLD SCRIPT SMALL F
- # <font> 0066 latin small letter f
-1D4F0 MATHEMATICAL BOLD SCRIPT SMALL G
- # <font> 0067 latin small letter g
-1D4F1 MATHEMATICAL BOLD SCRIPT SMALL H
- # <font> 0068 latin small letter h
-1D4F2 MATHEMATICAL BOLD SCRIPT SMALL I
- # <font> 0069 latin small letter i
-1D4F3 MATHEMATICAL BOLD SCRIPT SMALL J
- # <font> 006A latin small letter j
-1D4F4 MATHEMATICAL BOLD SCRIPT SMALL K
- # <font> 006B latin small letter k
-1D4F5 MATHEMATICAL BOLD SCRIPT SMALL L
- # <font> 006C latin small letter l
-1D4F6 MATHEMATICAL BOLD SCRIPT SMALL M
- # <font> 006D latin small letter m
-1D4F7 MATHEMATICAL BOLD SCRIPT SMALL N
- # <font> 006E latin small letter n
-1D4F8 MATHEMATICAL BOLD SCRIPT SMALL O
- # <font> 006F latin small letter o
-1D4F9 MATHEMATICAL BOLD SCRIPT SMALL P
- # <font> 0070 latin small letter p
-1D4FA MATHEMATICAL BOLD SCRIPT SMALL Q
- # <font> 0071 latin small letter q
-1D4FB MATHEMATICAL BOLD SCRIPT SMALL R
- # <font> 0072 latin small letter r
-1D4FC MATHEMATICAL BOLD SCRIPT SMALL S
- # <font> 0073 latin small letter s
-1D4FD MATHEMATICAL BOLD SCRIPT SMALL T
- # <font> 0074 latin small letter t
-1D4FE MATHEMATICAL BOLD SCRIPT SMALL U
- # <font> 0075 latin small letter u
-1D4FF MATHEMATICAL BOLD SCRIPT SMALL V
- # <font> 0076 latin small letter v
-1D500 MATHEMATICAL BOLD SCRIPT SMALL W
- # <font> 0077 latin small letter w
-1D501 MATHEMATICAL BOLD SCRIPT SMALL X
- # <font> 0078 latin small letter x
-1D502 MATHEMATICAL BOLD SCRIPT SMALL Y
- # <font> 0079 latin small letter y
-1D503 MATHEMATICAL BOLD SCRIPT SMALL Z
- # <font> 007A latin small letter z
-@ Fraktur symbols
-@+ This style is sometimes known as black-letter. Black-letter symbols already encoded in the Letterlike Symbols block are omitted here to avoid duplicate encoding.
-1D504 MATHEMATICAL FRAKTUR CAPITAL A
- # <font> 0041 latin capital letter a
-1D505 MATHEMATICAL FRAKTUR CAPITAL B
- # <font> 0042 latin capital letter b
-1D506 <reserved>
- x (black-letter capital c - 212D)
-1D507 MATHEMATICAL FRAKTUR CAPITAL D
- # <font> 0044 latin capital letter d
-1D508 MATHEMATICAL FRAKTUR CAPITAL E
- # <font> 0045 latin capital letter e
-1D509 MATHEMATICAL FRAKTUR CAPITAL F
- # <font> 0046 latin capital letter f
-1D50A MATHEMATICAL FRAKTUR CAPITAL G
- # <font> 0047 latin capital letter g
-1D50B <reserved>
- x (black-letter capital h - 210C)
-1D50C <reserved>
- x (black-letter capital i - 2111)
-1D50D MATHEMATICAL FRAKTUR CAPITAL J
- # <font> 004A latin capital letter j
-1D50E MATHEMATICAL FRAKTUR CAPITAL K
- # <font> 004B latin capital letter k
-1D50F MATHEMATICAL FRAKTUR CAPITAL L
- # <font> 004C latin capital letter l
-1D510 MATHEMATICAL FRAKTUR CAPITAL M
- = New Testament majority text
- # <font> 004D latin capital letter m
-1D511 MATHEMATICAL FRAKTUR CAPITAL N
- # <font> 004E latin capital letter n
-1D512 MATHEMATICAL FRAKTUR CAPITAL O
- # <font> 004F latin capital letter o
-1D513 MATHEMATICAL FRAKTUR CAPITAL P
- # <font> 0050 latin capital letter p
-1D514 MATHEMATICAL FRAKTUR CAPITAL Q
- # <font> 0051 latin capital letter q
-1D515 <reserved>
- x (black-letter capital r - 211C)
-1D516 MATHEMATICAL FRAKTUR CAPITAL S
- = Septuagint, Greek Old Testament
- # <font> 0053 latin capital letter s
-1D517 MATHEMATICAL FRAKTUR CAPITAL T
- # <font> 0054 latin capital letter t
-1D518 MATHEMATICAL FRAKTUR CAPITAL U
- # <font> 0055 latin capital letter u
-1D519 MATHEMATICAL FRAKTUR CAPITAL V
- # <font> 0056 latin capital letter v
-1D51A MATHEMATICAL FRAKTUR CAPITAL W
- # <font> 0057 latin capital letter w
-1D51B MATHEMATICAL FRAKTUR CAPITAL X
- # <font> 0058 latin capital letter x
-1D51C MATHEMATICAL FRAKTUR CAPITAL Y
- # <font> 0059 latin capital letter y
-1D51D <reserved>
- x (black-letter capital z - 2128)
-1D51E MATHEMATICAL FRAKTUR SMALL A
- # <font> 0061 latin small letter a
-1D51F MATHEMATICAL FRAKTUR SMALL B
- # <font> 0062 latin small letter b
-1D520 MATHEMATICAL FRAKTUR SMALL C
- # <font> 0063 latin small letter c
-1D521 MATHEMATICAL FRAKTUR SMALL D
- # <font> 0064 latin small letter d
-1D522 MATHEMATICAL FRAKTUR SMALL E
- # <font> 0065 latin small letter e
-1D523 MATHEMATICAL FRAKTUR SMALL F
- # <font> 0066 latin small letter f
-1D524 MATHEMATICAL FRAKTUR SMALL G
- # <font> 0067 latin small letter g
-1D525 MATHEMATICAL FRAKTUR SMALL H
- # <font> 0068 latin small letter h
-1D526 MATHEMATICAL FRAKTUR SMALL I
- # <font> 0069 latin small letter i
-1D527 MATHEMATICAL FRAKTUR SMALL J
- # <font> 006A latin small letter j
-1D528 MATHEMATICAL FRAKTUR SMALL K
- # <font> 006B latin small letter k
-1D529 MATHEMATICAL FRAKTUR SMALL L
- # <font> 006C latin small letter l
-1D52A MATHEMATICAL FRAKTUR SMALL M
- # <font> 006D latin small letter m
-1D52B MATHEMATICAL FRAKTUR SMALL N
- # <font> 006E latin small letter n
-1D52C MATHEMATICAL FRAKTUR SMALL O
- # <font> 006F latin small letter o
-1D52D MATHEMATICAL FRAKTUR SMALL P
- # <font> 0070 latin small letter p
-1D52E MATHEMATICAL FRAKTUR SMALL Q
- # <font> 0071 latin small letter q
-1D52F MATHEMATICAL FRAKTUR SMALL R
- # <font> 0072 latin small letter r
-1D530 MATHEMATICAL FRAKTUR SMALL S
- # <font> 0073 latin small letter s
-1D531 MATHEMATICAL FRAKTUR SMALL T
- # <font> 0074 latin small letter t
-1D532 MATHEMATICAL FRAKTUR SMALL U
- # <font> 0075 latin small letter u
-1D533 MATHEMATICAL FRAKTUR SMALL V
- # <font> 0076 latin small letter v
-1D534 MATHEMATICAL FRAKTUR SMALL W
- # <font> 0077 latin small letter w
-1D535 MATHEMATICAL FRAKTUR SMALL X
- # <font> 0078 latin small letter x
-1D536 MATHEMATICAL FRAKTUR SMALL Y
- # <font> 0079 latin small letter y
-1D537 MATHEMATICAL FRAKTUR SMALL Z
- # <font> 007A latin small letter z
-@ Double-struck symbols
-@+ This style is sometimes known as open-face or blackboard-bold. Double-struck symbols already encoded in the Letterlike Symbols block and omitted here to avoid duplicate encoding. Considerable variation in font style is acceptable, as long as the glyphs retain the visual element of doubled strokes.
-1D538 MATHEMATICAL DOUBLE-STRUCK CAPITAL A
- * a glyph variant with doubled stroke on the right exists
- # <font> 0041 latin capital letter a
-1D539 MATHEMATICAL DOUBLE-STRUCK CAPITAL B
- # <font> 0042 latin capital letter b
-1D53A <reserved>
- x (double-struck capital c - 2102)
-1D53B MATHEMATICAL DOUBLE-STRUCK CAPITAL D
- # <font> 0044 latin capital letter d
-1D53C MATHEMATICAL DOUBLE-STRUCK CAPITAL E
- # <font> 0045 latin capital letter e
-1D53D MATHEMATICAL DOUBLE-STRUCK CAPITAL F
- # <font> 0046 latin capital letter f
-1D53E MATHEMATICAL DOUBLE-STRUCK CAPITAL G
- # <font> 0047 latin capital letter g
-1D53F <reserved>
- x (double-struck capital h - 210D)
-1D540 MATHEMATICAL DOUBLE-STRUCK CAPITAL I
- # <font> 0049 latin capital letter i
-1D541 MATHEMATICAL DOUBLE-STRUCK CAPITAL J
- # <font> 004A latin capital letter j
-1D542 MATHEMATICAL DOUBLE-STRUCK CAPITAL K
- # <font> 004B latin capital letter k
-1D543 MATHEMATICAL DOUBLE-STRUCK CAPITAL L
- # <font> 004C latin capital letter l
-1D544 MATHEMATICAL DOUBLE-STRUCK CAPITAL M
- # <font> 004D latin capital letter m
-1D545 <reserved>
- x (double-struck capital n - 2115)
-1D546 MATHEMATICAL DOUBLE-STRUCK CAPITAL O
- # <font> 004F latin capital letter o
-1D547 <reserved>
- x (double-struck capital p - 2119)
-1D548 <reserved>
- x (double-struck capital q - 211A)
-1D549 <reserved>
- x (double-struck capital r - 211D)
-1D54A MATHEMATICAL DOUBLE-STRUCK CAPITAL S
- # <font> 0053 latin capital letter s
-1D54B MATHEMATICAL DOUBLE-STRUCK CAPITAL T
- # <font> 0054 latin capital letter t
-1D54C MATHEMATICAL DOUBLE-STRUCK CAPITAL U
- # <font> 0055 latin capital letter u
-1D54D MATHEMATICAL DOUBLE-STRUCK CAPITAL V
- # <font> 0056 latin capital letter v
-1D54E MATHEMATICAL DOUBLE-STRUCK CAPITAL W
- # <font> 0057 latin capital letter w
-1D54F MATHEMATICAL DOUBLE-STRUCK CAPITAL X
- # <font> 0058 latin capital letter x
-1D550 MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
- # <font> 0059 latin capital letter y
-1D551 <reserved>
- x (double-struck capital z - 2124)
-1D552 MATHEMATICAL DOUBLE-STRUCK SMALL A
- # <font> 0061 latin small letter a
-1D553 MATHEMATICAL DOUBLE-STRUCK SMALL B
- # <font> 0062 latin small letter b
-1D554 MATHEMATICAL DOUBLE-STRUCK SMALL C
- # <font> 0063 latin small letter c
-1D555 MATHEMATICAL DOUBLE-STRUCK SMALL D
- # <font> 0064 latin small letter d
-1D556 MATHEMATICAL DOUBLE-STRUCK SMALL E
- # <font> 0065 latin small letter e
-1D557 MATHEMATICAL DOUBLE-STRUCK SMALL F
- # <font> 0066 latin small letter f
-1D558 MATHEMATICAL DOUBLE-STRUCK SMALL G
- # <font> 0067 latin small letter g
-1D559 MATHEMATICAL DOUBLE-STRUCK SMALL H
- # <font> 0068 latin small letter h
-1D55A MATHEMATICAL DOUBLE-STRUCK SMALL I
- # <font> 0069 latin small letter i
-1D55B MATHEMATICAL DOUBLE-STRUCK SMALL J
- # <font> 006A latin small letter j
-1D55C MATHEMATICAL DOUBLE-STRUCK SMALL K
- # <font> 006B latin small letter k
-1D55D MATHEMATICAL DOUBLE-STRUCK SMALL L
- # <font> 006C latin small letter l
-1D55E MATHEMATICAL DOUBLE-STRUCK SMALL M
- # <font> 006D latin small letter m
-1D55F MATHEMATICAL DOUBLE-STRUCK SMALL N
- # <font> 006E latin small letter n
-1D560 MATHEMATICAL DOUBLE-STRUCK SMALL O
- # <font> 006F latin small letter o
-1D561 MATHEMATICAL DOUBLE-STRUCK SMALL P
- # <font> 0070 latin small letter p
-1D562 MATHEMATICAL DOUBLE-STRUCK SMALL Q
- # <font> 0071 latin small letter q
-1D563 MATHEMATICAL DOUBLE-STRUCK SMALL R
- # <font> 0072 latin small letter r
-1D564 MATHEMATICAL DOUBLE-STRUCK SMALL S
- # <font> 0073 latin small letter s
-1D565 MATHEMATICAL DOUBLE-STRUCK SMALL T
- # <font> 0074 latin small letter t
-1D566 MATHEMATICAL DOUBLE-STRUCK SMALL U
- # <font> 0075 latin small letter u
-1D567 MATHEMATICAL DOUBLE-STRUCK SMALL V
- # <font> 0076 latin small letter v
-1D568 MATHEMATICAL DOUBLE-STRUCK SMALL W
- # <font> 0077 latin small letter w
-1D569 MATHEMATICAL DOUBLE-STRUCK SMALL X
- # <font> 0078 latin small letter x
-1D56A MATHEMATICAL DOUBLE-STRUCK SMALL Y
- # <font> 0079 latin small letter y
-1D56B MATHEMATICAL DOUBLE-STRUCK SMALL Z
- # <font> 007A latin small letter z
-@ Bold Fraktur symbols
-1D56C MATHEMATICAL BOLD FRAKTUR CAPITAL A
- # <font> 0041 latin capital letter a
-1D56D MATHEMATICAL BOLD FRAKTUR CAPITAL B
- # <font> 0042 latin capital letter b
-1D56E MATHEMATICAL BOLD FRAKTUR CAPITAL C
- # <font> 0043 latin capital letter c
-1D56F MATHEMATICAL BOLD FRAKTUR CAPITAL D
- # <font> 0044 latin capital letter d
-1D570 MATHEMATICAL BOLD FRAKTUR CAPITAL E
- # <font> 0045 latin capital letter e
-1D571 MATHEMATICAL BOLD FRAKTUR CAPITAL F
- # <font> 0046 latin capital letter f
-1D572 MATHEMATICAL BOLD FRAKTUR CAPITAL G
- # <font> 0047 latin capital letter g
-1D573 MATHEMATICAL BOLD FRAKTUR CAPITAL H
- # <font> 0048 latin capital letter h
-1D574 MATHEMATICAL BOLD FRAKTUR CAPITAL I
- # <font> 0049 latin capital letter i
-1D575 MATHEMATICAL BOLD FRAKTUR CAPITAL J
- # <font> 004A latin capital letter j
-1D576 MATHEMATICAL BOLD FRAKTUR CAPITAL K
- # <font> 004B latin capital letter k
-1D577 MATHEMATICAL BOLD FRAKTUR CAPITAL L
- # <font> 004C latin capital letter l
-1D578 MATHEMATICAL BOLD FRAKTUR CAPITAL M
- # <font> 004D latin capital letter m
-1D579 MATHEMATICAL BOLD FRAKTUR CAPITAL N
- # <font> 004E latin capital letter n
-1D57A MATHEMATICAL BOLD FRAKTUR CAPITAL O
- # <font> 004F latin capital letter o
-1D57B MATHEMATICAL BOLD FRAKTUR CAPITAL P
- # <font> 0050 latin capital letter p
-1D57C MATHEMATICAL BOLD FRAKTUR CAPITAL Q
- # <font> 0051 latin capital letter q
-1D57D MATHEMATICAL BOLD FRAKTUR CAPITAL R
- # <font> 0052 latin capital letter r
-1D57E MATHEMATICAL BOLD FRAKTUR CAPITAL S
- # <font> 0053 latin capital letter s
-1D57F MATHEMATICAL BOLD FRAKTUR CAPITAL T
- # <font> 0054 latin capital letter t
-1D580 MATHEMATICAL BOLD FRAKTUR CAPITAL U
- # <font> 0055 latin capital letter u
-1D581 MATHEMATICAL BOLD FRAKTUR CAPITAL V
- # <font> 0056 latin capital letter v
-1D582 MATHEMATICAL BOLD FRAKTUR CAPITAL W
- # <font> 0057 latin capital letter w
-1D583 MATHEMATICAL BOLD FRAKTUR CAPITAL X
- # <font> 0058 latin capital letter x
-1D584 MATHEMATICAL BOLD FRAKTUR CAPITAL Y
- # <font> 0059 latin capital letter y
-1D585 MATHEMATICAL BOLD FRAKTUR CAPITAL Z
- # <font> 005A latin capital letter z
-1D586 MATHEMATICAL BOLD FRAKTUR SMALL A
- # <font> 0061 latin small letter a
-1D587 MATHEMATICAL BOLD FRAKTUR SMALL B
- # <font> 0062 latin small letter b
-1D588 MATHEMATICAL BOLD FRAKTUR SMALL C
- # <font> 0063 latin small letter c
-1D589 MATHEMATICAL BOLD FRAKTUR SMALL D
- # <font> 0064 latin small letter d
-1D58A MATHEMATICAL BOLD FRAKTUR SMALL E
- # <font> 0065 latin small letter e
-1D58B MATHEMATICAL BOLD FRAKTUR SMALL F
- # <font> 0066 latin small letter f
-1D58C MATHEMATICAL BOLD FRAKTUR SMALL G
- # <font> 0067 latin small letter g
-1D58D MATHEMATICAL BOLD FRAKTUR SMALL H
- # <font> 0068 latin small letter h
-1D58E MATHEMATICAL BOLD FRAKTUR SMALL I
- # <font> 0069 latin small letter i
-1D58F MATHEMATICAL BOLD FRAKTUR SMALL J
- # <font> 006A latin small letter j
-1D590 MATHEMATICAL BOLD FRAKTUR SMALL K
- # <font> 006B latin small letter k
-1D591 MATHEMATICAL BOLD FRAKTUR SMALL L
- # <font> 006C latin small letter l
-1D592 MATHEMATICAL BOLD FRAKTUR SMALL M
- # <font> 006D latin small letter m
-1D593 MATHEMATICAL BOLD FRAKTUR SMALL N
- # <font> 006E latin small letter n
-1D594 MATHEMATICAL BOLD FRAKTUR SMALL O
- # <font> 006F latin small letter o
-1D595 MATHEMATICAL BOLD FRAKTUR SMALL P
- # <font> 0070 latin small letter p
-1D596 MATHEMATICAL BOLD FRAKTUR SMALL Q
- # <font> 0071 latin small letter q
-1D597 MATHEMATICAL BOLD FRAKTUR SMALL R
- # <font> 0072 latin small letter r
-1D598 MATHEMATICAL BOLD FRAKTUR SMALL S
- # <font> 0073 latin small letter s
-1D599 MATHEMATICAL BOLD FRAKTUR SMALL T
- # <font> 0074 latin small letter t
-1D59A MATHEMATICAL BOLD FRAKTUR SMALL U
- # <font> 0075 latin small letter u
-1D59B MATHEMATICAL BOLD FRAKTUR SMALL V
- # <font> 0076 latin small letter v
-1D59C MATHEMATICAL BOLD FRAKTUR SMALL W
- # <font> 0077 latin small letter w
-1D59D MATHEMATICAL BOLD FRAKTUR SMALL X
- # <font> 0078 latin small letter x
-1D59E MATHEMATICAL BOLD FRAKTUR SMALL Y
- # <font> 0079 latin small letter y
-1D59F MATHEMATICAL BOLD FRAKTUR SMALL Z
- # <font> 007A latin small letter z
-@ Sans-serif symbols
-1D5A0 MATHEMATICAL SANS-SERIF CAPITAL A
- # <font> 0041 latin capital letter a
-1D5A1 MATHEMATICAL SANS-SERIF CAPITAL B
- # <font> 0042 latin capital letter b
-1D5A2 MATHEMATICAL SANS-SERIF CAPITAL C
- # <font> 0043 latin capital letter c
-1D5A3 MATHEMATICAL SANS-SERIF CAPITAL D
- # <font> 0044 latin capital letter d
-1D5A4 MATHEMATICAL SANS-SERIF CAPITAL E
- # <font> 0045 latin capital letter e
-1D5A5 MATHEMATICAL SANS-SERIF CAPITAL F
- # <font> 0046 latin capital letter f
-1D5A6 MATHEMATICAL SANS-SERIF CAPITAL G
- # <font> 0047 latin capital letter g
-1D5A7 MATHEMATICAL SANS-SERIF CAPITAL H
- # <font> 0048 latin capital letter h
-1D5A8 MATHEMATICAL SANS-SERIF CAPITAL I
- # <font> 0049 latin capital letter i
-1D5A9 MATHEMATICAL SANS-SERIF CAPITAL J
- # <font> 004A latin capital letter j
-1D5AA MATHEMATICAL SANS-SERIF CAPITAL K
- # <font> 004B latin capital letter k
-1D5AB MATHEMATICAL SANS-SERIF CAPITAL L
- # <font> 004C latin capital letter l
-1D5AC MATHEMATICAL SANS-SERIF CAPITAL M
- # <font> 004D latin capital letter m
-1D5AD MATHEMATICAL SANS-SERIF CAPITAL N
- # <font> 004E latin capital letter n
-1D5AE MATHEMATICAL SANS-SERIF CAPITAL O
- # <font> 004F latin capital letter o
-1D5AF MATHEMATICAL SANS-SERIF CAPITAL P
- # <font> 0050 latin capital letter p
-1D5B0 MATHEMATICAL SANS-SERIF CAPITAL Q
- # <font> 0051 latin capital letter q
-1D5B1 MATHEMATICAL SANS-SERIF CAPITAL R
- # <font> 0052 latin capital letter r
-1D5B2 MATHEMATICAL SANS-SERIF CAPITAL S
- # <font> 0053 latin capital letter s
-1D5B3 MATHEMATICAL SANS-SERIF CAPITAL T
- # <font> 0054 latin capital letter t
-1D5B4 MATHEMATICAL SANS-SERIF CAPITAL U
- # <font> 0055 latin capital letter u
-1D5B5 MATHEMATICAL SANS-SERIF CAPITAL V
- # <font> 0056 latin capital letter v
-1D5B6 MATHEMATICAL SANS-SERIF CAPITAL W
- # <font> 0057 latin capital letter w
-1D5B7 MATHEMATICAL SANS-SERIF CAPITAL X
- # <font> 0058 latin capital letter x
-1D5B8 MATHEMATICAL SANS-SERIF CAPITAL Y
- # <font> 0059 latin capital letter y
-1D5B9 MATHEMATICAL SANS-SERIF CAPITAL Z
- # <font> 005A latin capital letter z
-1D5BA MATHEMATICAL SANS-SERIF SMALL A
- # <font> 0061 latin small letter a
-1D5BB MATHEMATICAL SANS-SERIF SMALL B
- # <font> 0062 latin small letter b
-1D5BC MATHEMATICAL SANS-SERIF SMALL C
- # <font> 0063 latin small letter c
-1D5BD MATHEMATICAL SANS-SERIF SMALL D
- # <font> 0064 latin small letter d
-1D5BE MATHEMATICAL SANS-SERIF SMALL E
- # <font> 0065 latin small letter e
-1D5BF MATHEMATICAL SANS-SERIF SMALL F
- # <font> 0066 latin small letter f
-1D5C0 MATHEMATICAL SANS-SERIF SMALL G
- # <font> 0067 latin small letter g
-1D5C1 MATHEMATICAL SANS-SERIF SMALL H
- # <font> 0068 latin small letter h
-1D5C2 MATHEMATICAL SANS-SERIF SMALL I
- # <font> 0069 latin small letter i
-1D5C3 MATHEMATICAL SANS-SERIF SMALL J
- # <font> 006A latin small letter j
-1D5C4 MATHEMATICAL SANS-SERIF SMALL K
- # <font> 006B latin small letter k
-1D5C5 MATHEMATICAL SANS-SERIF SMALL L
- # <font> 006C latin small letter l
-1D5C6 MATHEMATICAL SANS-SERIF SMALL M
- # <font> 006D latin small letter m
-1D5C7 MATHEMATICAL SANS-SERIF SMALL N
- # <font> 006E latin small letter n
-1D5C8 MATHEMATICAL SANS-SERIF SMALL O
- # <font> 006F latin small letter o
-1D5C9 MATHEMATICAL SANS-SERIF SMALL P
- # <font> 0070 latin small letter p
-1D5CA MATHEMATICAL SANS-SERIF SMALL Q
- # <font> 0071 latin small letter q
-1D5CB MATHEMATICAL SANS-SERIF SMALL R
- # <font> 0072 latin small letter r
-1D5CC MATHEMATICAL SANS-SERIF SMALL S
- # <font> 0073 latin small letter s
-1D5CD MATHEMATICAL SANS-SERIF SMALL T
- # <font> 0074 latin small letter t
-1D5CE MATHEMATICAL SANS-SERIF SMALL U
- # <font> 0075 latin small letter u
-1D5CF MATHEMATICAL SANS-SERIF SMALL V
- # <font> 0076 latin small letter v
-1D5D0 MATHEMATICAL SANS-SERIF SMALL W
- # <font> 0077 latin small letter w
-1D5D1 MATHEMATICAL SANS-SERIF SMALL X
- # <font> 0078 latin small letter x
-1D5D2 MATHEMATICAL SANS-SERIF SMALL Y
- # <font> 0079 latin small letter y
-1D5D3 MATHEMATICAL SANS-SERIF SMALL Z
- # <font> 007A latin small letter z
-@ Sans-serif bold symbols
-1D5D4 MATHEMATICAL SANS-SERIF BOLD CAPITAL A
- # <font> 0041 latin capital letter a
-1D5D5 MATHEMATICAL SANS-SERIF BOLD CAPITAL B
- # <font> 0042 latin capital letter b
-1D5D6 MATHEMATICAL SANS-SERIF BOLD CAPITAL C
- # <font> 0043 latin capital letter c
-1D5D7 MATHEMATICAL SANS-SERIF BOLD CAPITAL D
- # <font> 0044 latin capital letter d
-1D5D8 MATHEMATICAL SANS-SERIF BOLD CAPITAL E
- # <font> 0045 latin capital letter e
-1D5D9 MATHEMATICAL SANS-SERIF BOLD CAPITAL F
- # <font> 0046 latin capital letter f
-1D5DA MATHEMATICAL SANS-SERIF BOLD CAPITAL G
- # <font> 0047 latin capital letter g
-1D5DB MATHEMATICAL SANS-SERIF BOLD CAPITAL H
- # <font> 0048 latin capital letter h
-1D5DC MATHEMATICAL SANS-SERIF BOLD CAPITAL I
- # <font> 0049 latin capital letter i
-1D5DD MATHEMATICAL SANS-SERIF BOLD CAPITAL J
- # <font> 004A latin capital letter j
-1D5DE MATHEMATICAL SANS-SERIF BOLD CAPITAL K
- # <font> 004B latin capital letter k
-1D5DF MATHEMATICAL SANS-SERIF BOLD CAPITAL L
- # <font> 004C latin capital letter l
-1D5E0 MATHEMATICAL SANS-SERIF BOLD CAPITAL M
- # <font> 004D latin capital letter m
-1D5E1 MATHEMATICAL SANS-SERIF BOLD CAPITAL N
- # <font> 004E latin capital letter n
-1D5E2 MATHEMATICAL SANS-SERIF BOLD CAPITAL O
- # <font> 004F latin capital letter o
-1D5E3 MATHEMATICAL SANS-SERIF BOLD CAPITAL P
- # <font> 0050 latin capital letter p
-1D5E4 MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
- # <font> 0051 latin capital letter q
-1D5E5 MATHEMATICAL SANS-SERIF BOLD CAPITAL R
- # <font> 0052 latin capital letter r
-1D5E6 MATHEMATICAL SANS-SERIF BOLD CAPITAL S
- # <font> 0053 latin capital letter s
-1D5E7 MATHEMATICAL SANS-SERIF BOLD CAPITAL T
- # <font> 0054 latin capital letter t
-1D5E8 MATHEMATICAL SANS-SERIF BOLD CAPITAL U
- # <font> 0055 latin capital letter u
-1D5E9 MATHEMATICAL SANS-SERIF BOLD CAPITAL V
- # <font> 0056 latin capital letter v
-1D5EA MATHEMATICAL SANS-SERIF BOLD CAPITAL W
- # <font> 0057 latin capital letter w
-1D5EB MATHEMATICAL SANS-SERIF BOLD CAPITAL X
- # <font> 0058 latin capital letter x
-1D5EC MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
- # <font> 0059 latin capital letter y
-1D5ED MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
- # <font> 005A latin capital letter z
-1D5EE MATHEMATICAL SANS-SERIF BOLD SMALL A
- # <font> 0061 latin small letter a
-1D5EF MATHEMATICAL SANS-SERIF BOLD SMALL B
- # <font> 0062 latin small letter b
-1D5F0 MATHEMATICAL SANS-SERIF BOLD SMALL C
- # <font> 0063 latin small letter c
-1D5F1 MATHEMATICAL SANS-SERIF BOLD SMALL D
- # <font> 0064 latin small letter d
-1D5F2 MATHEMATICAL SANS-SERIF BOLD SMALL E
- # <font> 0065 latin small letter e
-1D5F3 MATHEMATICAL SANS-SERIF BOLD SMALL F
- # <font> 0066 latin small letter f
-1D5F4 MATHEMATICAL SANS-SERIF BOLD SMALL G
- # <font> 0067 latin small letter g
-1D5F5 MATHEMATICAL SANS-SERIF BOLD SMALL H
- # <font> 0068 latin small letter h
-1D5F6 MATHEMATICAL SANS-SERIF BOLD SMALL I
- # <font> 0069 latin small letter i
-1D5F7 MATHEMATICAL SANS-SERIF BOLD SMALL J
- # <font> 006A latin small letter j
-1D5F8 MATHEMATICAL SANS-SERIF BOLD SMALL K
- # <font> 006B latin small letter k
-1D5F9 MATHEMATICAL SANS-SERIF BOLD SMALL L
- # <font> 006C latin small letter l
-1D5FA MATHEMATICAL SANS-SERIF BOLD SMALL M
- # <font> 006D latin small letter m
-1D5FB MATHEMATICAL SANS-SERIF BOLD SMALL N
- # <font> 006E latin small letter n
-1D5FC MATHEMATICAL SANS-SERIF BOLD SMALL O
- # <font> 006F latin small letter o
-1D5FD MATHEMATICAL SANS-SERIF BOLD SMALL P
- # <font> 0070 latin small letter p
-1D5FE MATHEMATICAL SANS-SERIF BOLD SMALL Q
- # <font> 0071 latin small letter q
-1D5FF MATHEMATICAL SANS-SERIF BOLD SMALL R
- # <font> 0072 latin small letter r
-1D600 MATHEMATICAL SANS-SERIF BOLD SMALL S
- # <font> 0073 latin small letter s
-1D601 MATHEMATICAL SANS-SERIF BOLD SMALL T
- # <font> 0074 latin small letter t
-1D602 MATHEMATICAL SANS-SERIF BOLD SMALL U
- # <font> 0075 latin small letter u
-1D603 MATHEMATICAL SANS-SERIF BOLD SMALL V
- # <font> 0076 latin small letter v
-1D604 MATHEMATICAL SANS-SERIF BOLD SMALL W
- # <font> 0077 latin small letter w
-1D605 MATHEMATICAL SANS-SERIF BOLD SMALL X
- # <font> 0078 latin small letter x
-1D606 MATHEMATICAL SANS-SERIF BOLD SMALL Y
- # <font> 0079 latin small letter y
-1D607 MATHEMATICAL SANS-SERIF BOLD SMALL Z
- # <font> 007A latin small letter z
-@ Sans-serif italic symbols
-1D608 MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
- # <font> 0041 latin capital letter a
-1D609 MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
- # <font> 0042 latin capital letter b
-1D60A MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
- # <font> 0043 latin capital letter c
-1D60B MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
- # <font> 0044 latin capital letter d
-1D60C MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
- # <font> 0045 latin capital letter e
-1D60D MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
- # <font> 0046 latin capital letter f
-1D60E MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
- # <font> 0047 latin capital letter g
-1D60F MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
- # <font> 0048 latin capital letter h
-1D610 MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
- # <font> 0049 latin capital letter i
-1D611 MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
- # <font> 004A latin capital letter j
-1D612 MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
- # <font> 004B latin capital letter k
-1D613 MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
- # <font> 004C latin capital letter l
-1D614 MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
- # <font> 004D latin capital letter m
-1D615 MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
- # <font> 004E latin capital letter n
-1D616 MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
- # <font> 004F latin capital letter o
-1D617 MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
- # <font> 0050 latin capital letter p
-1D618 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
- # <font> 0051 latin capital letter q
-1D619 MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
- # <font> 0052 latin capital letter r
-1D61A MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
- # <font> 0053 latin capital letter s
-1D61B MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
- # <font> 0054 latin capital letter t
-1D61C MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
- # <font> 0055 latin capital letter u
-1D61D MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
- # <font> 0056 latin capital letter v
-1D61E MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
- # <font> 0057 latin capital letter w
-1D61F MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
- # <font> 0058 latin capital letter x
-1D620 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
- # <font> 0059 latin capital letter y
-1D621 MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
- # <font> 005A latin capital letter z
-1D622 MATHEMATICAL SANS-SERIF ITALIC SMALL A
- # <font> 0061 latin small letter a
-1D623 MATHEMATICAL SANS-SERIF ITALIC SMALL B
- # <font> 0062 latin small letter b
-1D624 MATHEMATICAL SANS-SERIF ITALIC SMALL C
- # <font> 0063 latin small letter c
-1D625 MATHEMATICAL SANS-SERIF ITALIC SMALL D
- # <font> 0064 latin small letter d
-1D626 MATHEMATICAL SANS-SERIF ITALIC SMALL E
- # <font> 0065 latin small letter e
-1D627 MATHEMATICAL SANS-SERIF ITALIC SMALL F
- # <font> 0066 latin small letter f
-1D628 MATHEMATICAL SANS-SERIF ITALIC SMALL G
- # <font> 0067 latin small letter g
-1D629 MATHEMATICAL SANS-SERIF ITALIC SMALL H
- # <font> 0068 latin small letter h
-1D62A MATHEMATICAL SANS-SERIF ITALIC SMALL I
- # <font> 0069 latin small letter i
-1D62B MATHEMATICAL SANS-SERIF ITALIC SMALL J
- # <font> 006A latin small letter j
-1D62C MATHEMATICAL SANS-SERIF ITALIC SMALL K
- # <font> 006B latin small letter k
-1D62D MATHEMATICAL SANS-SERIF ITALIC SMALL L
- # <font> 006C latin small letter l
-1D62E MATHEMATICAL SANS-SERIF ITALIC SMALL M
- # <font> 006D latin small letter m
-1D62F MATHEMATICAL SANS-SERIF ITALIC SMALL N
- # <font> 006E latin small letter n
-1D630 MATHEMATICAL SANS-SERIF ITALIC SMALL O
- # <font> 006F latin small letter o
-1D631 MATHEMATICAL SANS-SERIF ITALIC SMALL P
- # <font> 0070 latin small letter p
-1D632 MATHEMATICAL SANS-SERIF ITALIC SMALL Q
- # <font> 0071 latin small letter q
-1D633 MATHEMATICAL SANS-SERIF ITALIC SMALL R
- # <font> 0072 latin small letter r
-1D634 MATHEMATICAL SANS-SERIF ITALIC SMALL S
- # <font> 0073 latin small letter s
-1D635 MATHEMATICAL SANS-SERIF ITALIC SMALL T
- # <font> 0074 latin small letter t
-1D636 MATHEMATICAL SANS-SERIF ITALIC SMALL U
- # <font> 0075 latin small letter u
-1D637 MATHEMATICAL SANS-SERIF ITALIC SMALL V
- # <font> 0076 latin small letter v
-1D638 MATHEMATICAL SANS-SERIF ITALIC SMALL W
- # <font> 0077 latin small letter w
-1D639 MATHEMATICAL SANS-SERIF ITALIC SMALL X
- # <font> 0078 latin small letter x
-1D63A MATHEMATICAL SANS-SERIF ITALIC SMALL Y
- # <font> 0079 latin small letter y
-1D63B MATHEMATICAL SANS-SERIF ITALIC SMALL Z
- # <font> 007A latin small letter z
-@ Sans-serif bold italic symbols
-1D63C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
- # <font> 0041 latin capital letter a
-1D63D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
- # <font> 0042 latin capital letter b
-1D63E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
- # <font> 0043 latin capital letter c
-1D63F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
- # <font> 0044 latin capital letter d
-1D640 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
- # <font> 0045 latin capital letter e
-1D641 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
- # <font> 0046 latin capital letter f
-1D642 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
- # <font> 0047 latin capital letter g
-1D643 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
- # <font> 0048 latin capital letter h
-1D644 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
- # <font> 0049 latin capital letter i
-1D645 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
- # <font> 004A latin capital letter j
-1D646 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
- # <font> 004B latin capital letter k
-1D647 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
- # <font> 004C latin capital letter l
-1D648 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
- # <font> 004D latin capital letter m
-1D649 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
- # <font> 004E latin capital letter n
-1D64A MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
- # <font> 004F latin capital letter o
-1D64B MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
- # <font> 0050 latin capital letter p
-1D64C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
- # <font> 0051 latin capital letter q
-1D64D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
- # <font> 0052 latin capital letter r
-1D64E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
- # <font> 0053 latin capital letter s
-1D64F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
- # <font> 0054 latin capital letter t
-1D650 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
- # <font> 0055 latin capital letter u
-1D651 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
- # <font> 0056 latin capital letter v
-1D652 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
- # <font> 0057 latin capital letter w
-1D653 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
- # <font> 0058 latin capital letter x
-1D654 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
- # <font> 0059 latin capital letter y
-1D655 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
- # <font> 005A latin capital letter z
-1D656 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
- # <font> 0061 latin small letter a
-1D657 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
- # <font> 0062 latin small letter b
-1D658 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
- # <font> 0063 latin small letter c
-1D659 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
- # <font> 0064 latin small letter d
-1D65A MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
- # <font> 0065 latin small letter e
-1D65B MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
- # <font> 0066 latin small letter f
-1D65C MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
- # <font> 0067 latin small letter g
-1D65D MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
- # <font> 0068 latin small letter h
-1D65E MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
- # <font> 0069 latin small letter i
-1D65F MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
- # <font> 006A latin small letter j
-1D660 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
- # <font> 006B latin small letter k
-1D661 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
- # <font> 006C latin small letter l
-1D662 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
- # <font> 006D latin small letter m
-1D663 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
- # <font> 006E latin small letter n
-1D664 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
- # <font> 006F latin small letter o
-1D665 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
- # <font> 0070 latin small letter p
-1D666 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
- # <font> 0071 latin small letter q
-1D667 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
- # <font> 0072 latin small letter r
-1D668 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
- # <font> 0073 latin small letter s
-1D669 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
- # <font> 0074 latin small letter t
-1D66A MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
- # <font> 0075 latin small letter u
-1D66B MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
- # <font> 0076 latin small letter v
-1D66C MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
- # <font> 0077 latin small letter w
-1D66D MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
- # <font> 0078 latin small letter x
-1D66E MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
- # <font> 0079 latin small letter y
-1D66F MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
- # <font> 007A latin small letter z
-@ Monospace symbols
-1D670 MATHEMATICAL MONOSPACE CAPITAL A
- # <font> 0041 latin capital letter a
-1D671 MATHEMATICAL MONOSPACE CAPITAL B
- # <font> 0042 latin capital letter b
-1D672 MATHEMATICAL MONOSPACE CAPITAL C
- # <font> 0043 latin capital letter c
-1D673 MATHEMATICAL MONOSPACE CAPITAL D
- # <font> 0044 latin capital letter d
-1D674 MATHEMATICAL MONOSPACE CAPITAL E
- # <font> 0045 latin capital letter e
-1D675 MATHEMATICAL MONOSPACE CAPITAL F
- # <font> 0046 latin capital letter f
-1D676 MATHEMATICAL MONOSPACE CAPITAL G
- # <font> 0047 latin capital letter g
-1D677 MATHEMATICAL MONOSPACE CAPITAL H
- # <font> 0048 latin capital letter h
-1D678 MATHEMATICAL MONOSPACE CAPITAL I
- # <font> 0049 latin capital letter i
-1D679 MATHEMATICAL MONOSPACE CAPITAL J
- # <font> 004A latin capital letter j
-1D67A MATHEMATICAL MONOSPACE CAPITAL K
- # <font> 004B latin capital letter k
-1D67B MATHEMATICAL MONOSPACE CAPITAL L
- # <font> 004C latin capital letter l
-1D67C MATHEMATICAL MONOSPACE CAPITAL M
- # <font> 004D latin capital letter m
-1D67D MATHEMATICAL MONOSPACE CAPITAL N
- # <font> 004E latin capital letter n
-1D67E MATHEMATICAL MONOSPACE CAPITAL O
- # <font> 004F latin capital letter o
-1D67F MATHEMATICAL MONOSPACE CAPITAL P
- # <font> 0050 latin capital letter p
-1D680 MATHEMATICAL MONOSPACE CAPITAL Q
- # <font> 0051 latin capital letter q
-1D681 MATHEMATICAL MONOSPACE CAPITAL R
- # <font> 0052 latin capital letter r
-1D682 MATHEMATICAL MONOSPACE CAPITAL S
- # <font> 0053 latin capital letter s
-1D683 MATHEMATICAL MONOSPACE CAPITAL T
- # <font> 0054 latin capital letter t
-1D684 MATHEMATICAL MONOSPACE CAPITAL U
- # <font> 0055 latin capital letter u
-1D685 MATHEMATICAL MONOSPACE CAPITAL V
- # <font> 0056 latin capital letter v
-1D686 MATHEMATICAL MONOSPACE CAPITAL W
- # <font> 0057 latin capital letter w
-1D687 MATHEMATICAL MONOSPACE CAPITAL X
- # <font> 0058 latin capital letter x
-1D688 MATHEMATICAL MONOSPACE CAPITAL Y
- # <font> 0059 latin capital letter y
-1D689 MATHEMATICAL MONOSPACE CAPITAL Z
- # <font> 005A latin capital letter z
-1D68A MATHEMATICAL MONOSPACE SMALL A
- # <font> 0061 latin small letter a
-1D68B MATHEMATICAL MONOSPACE SMALL B
- # <font> 0062 latin small letter b
-1D68C MATHEMATICAL MONOSPACE SMALL C
- # <font> 0063 latin small letter c
-1D68D MATHEMATICAL MONOSPACE SMALL D
- # <font> 0064 latin small letter d
-1D68E MATHEMATICAL MONOSPACE SMALL E
- # <font> 0065 latin small letter e
-1D68F MATHEMATICAL MONOSPACE SMALL F
- # <font> 0066 latin small letter f
-1D690 MATHEMATICAL MONOSPACE SMALL G
- # <font> 0067 latin small letter g
-1D691 MATHEMATICAL MONOSPACE SMALL H
- # <font> 0068 latin small letter h
-1D692 MATHEMATICAL MONOSPACE SMALL I
- # <font> 0069 latin small letter i
-1D693 MATHEMATICAL MONOSPACE SMALL J
- # <font> 006A latin small letter j
-1D694 MATHEMATICAL MONOSPACE SMALL K
- # <font> 006B latin small letter k
-1D695 MATHEMATICAL MONOSPACE SMALL L
- # <font> 006C latin small letter l
-1D696 MATHEMATICAL MONOSPACE SMALL M
- # <font> 006D latin small letter m
-1D697 MATHEMATICAL MONOSPACE SMALL N
- # <font> 006E latin small letter n
-1D698 MATHEMATICAL MONOSPACE SMALL O
- # <font> 006F latin small letter o
-1D699 MATHEMATICAL MONOSPACE SMALL P
- # <font> 0070 latin small letter p
-1D69A MATHEMATICAL MONOSPACE SMALL Q
- # <font> 0071 latin small letter q
-1D69B MATHEMATICAL MONOSPACE SMALL R
- # <font> 0072 latin small letter r
-1D69C MATHEMATICAL MONOSPACE SMALL S
- # <font> 0073 latin small letter s
-1D69D MATHEMATICAL MONOSPACE SMALL T
- # <font> 0074 latin small letter t
-1D69E MATHEMATICAL MONOSPACE SMALL U
- # <font> 0075 latin small letter u
-1D69F MATHEMATICAL MONOSPACE SMALL V
- # <font> 0076 latin small letter v
-1D6A0 MATHEMATICAL MONOSPACE SMALL W
- # <font> 0077 latin small letter w
-1D6A1 MATHEMATICAL MONOSPACE SMALL X
- # <font> 0078 latin small letter x
-1D6A2 MATHEMATICAL MONOSPACE SMALL Y
- # <font> 0079 latin small letter y
-1D6A3 MATHEMATICAL MONOSPACE SMALL Z
- # <font> 007A latin small letter z
-@ Dotless symbols
-@+ For use as independent symbols. These are not required as base characters for accents since regular i and j are soft-dotted in Unicode.
-1D6A4 MATHEMATICAL ITALIC SMALL DOTLESS I
- = \imath
- x (latin small letter dotless i - 0131)
- x (mathematical italic small i - 1D456)
- # <font> 0131 latin small letter dotless i
-1D6A5 MATHEMATICAL ITALIC SMALL DOTLESS J
- = \jmath
- x (latin small letter dotless j - 0237)
- x (mathematical italic small j - 1D457)
- # <font> 0237 latin small letter dotless j
-@ Bold Greek symbols
-1D6A8 MATHEMATICAL BOLD CAPITAL ALPHA
- # <font> 0391 greek capital letter alpha
-1D6A9 MATHEMATICAL BOLD CAPITAL BETA
- # <font> 0392 greek capital letter beta
-1D6AA MATHEMATICAL BOLD CAPITAL GAMMA
- # <font> 0393 greek capital letter gamma
-1D6AB MATHEMATICAL BOLD CAPITAL DELTA
- # <font> 0394 greek capital letter delta
-1D6AC MATHEMATICAL BOLD CAPITAL EPSILON
- # <font> 0395 greek capital letter epsilon
-1D6AD MATHEMATICAL BOLD CAPITAL ZETA
- # <font> 0396 greek capital letter zeta
-1D6AE MATHEMATICAL BOLD CAPITAL ETA
- # <font> 0397 greek capital letter eta
-1D6AF MATHEMATICAL BOLD CAPITAL THETA
- # <font> 0398 greek capital letter theta
-1D6B0 MATHEMATICAL BOLD CAPITAL IOTA
- # <font> 0399 greek capital letter iota
-1D6B1 MATHEMATICAL BOLD CAPITAL KAPPA
- # <font> 039A greek capital letter kappa
-1D6B2 MATHEMATICAL BOLD CAPITAL LAMDA
- # <font> 039B greek capital letter lamda
-1D6B3 MATHEMATICAL BOLD CAPITAL MU
- # <font> 039C greek capital letter mu
-1D6B4 MATHEMATICAL BOLD CAPITAL NU
- # <font> 039D greek capital letter nu
-1D6B5 MATHEMATICAL BOLD CAPITAL XI
- # <font> 039E greek capital letter xi
-1D6B6 MATHEMATICAL BOLD CAPITAL OMICRON
- # <font> 039F greek capital letter omicron
-1D6B7 MATHEMATICAL BOLD CAPITAL PI
- # <font> 03A0 greek capital letter pi
-1D6B8 MATHEMATICAL BOLD CAPITAL RHO
- # <font> 03A1 greek capital letter rho
-1D6B9 MATHEMATICAL BOLD CAPITAL THETA SYMBOL
- # <font> 03F4 greek capital theta symbol
-1D6BA MATHEMATICAL BOLD CAPITAL SIGMA
- # <font> 03A3 greek capital letter sigma
-1D6BB MATHEMATICAL BOLD CAPITAL TAU
- # <font> 03A4 greek capital letter tau
-1D6BC MATHEMATICAL BOLD CAPITAL UPSILON
- # <font> 03A5 greek capital letter upsilon
-1D6BD MATHEMATICAL BOLD CAPITAL PHI
- # <font> 03A6 greek capital letter phi
-1D6BE MATHEMATICAL BOLD CAPITAL CHI
- # <font> 03A7 greek capital letter chi
-1D6BF MATHEMATICAL BOLD CAPITAL PSI
- # <font> 03A8 greek capital letter psi
-1D6C0 MATHEMATICAL BOLD CAPITAL OMEGA
- # <font> 03A9 greek capital letter omega
-1D6C1 MATHEMATICAL BOLD NABLA
- # <font> 2207 nabla
-1D6C2 MATHEMATICAL BOLD SMALL ALPHA
- # <font> 03B1 greek small letter alpha
-1D6C3 MATHEMATICAL BOLD SMALL BETA
- # <font> 03B2 greek small letter beta
-1D6C4 MATHEMATICAL BOLD SMALL GAMMA
- # <font> 03B3 greek small letter gamma
-1D6C5 MATHEMATICAL BOLD SMALL DELTA
- # <font> 03B4 greek small letter delta
-1D6C6 MATHEMATICAL BOLD SMALL EPSILON
- # <font> 03B5 greek small letter epsilon
-1D6C7 MATHEMATICAL BOLD SMALL ZETA
- # <font> 03B6 greek small letter zeta
-1D6C8 MATHEMATICAL BOLD SMALL ETA
- # <font> 03B7 greek small letter eta
-1D6C9 MATHEMATICAL BOLD SMALL THETA
- # <font> 03B8 greek small letter theta
-1D6CA MATHEMATICAL BOLD SMALL IOTA
- # <font> 03B9 greek small letter iota
-1D6CB MATHEMATICAL BOLD SMALL KAPPA
- # <font> 03BA greek small letter kappa
-1D6CC MATHEMATICAL BOLD SMALL LAMDA
- # <font> 03BB greek small letter lamda
-1D6CD MATHEMATICAL BOLD SMALL MU
- # <font> 03BC greek small letter mu
-1D6CE MATHEMATICAL BOLD SMALL NU
- # <font> 03BD greek small letter nu
-1D6CF MATHEMATICAL BOLD SMALL XI
- # <font> 03BE greek small letter xi
-1D6D0 MATHEMATICAL BOLD SMALL OMICRON
- # <font> 03BF greek small letter omicron
-1D6D1 MATHEMATICAL BOLD SMALL PI
- # <font> 03C0 greek small letter pi
-1D6D2 MATHEMATICAL BOLD SMALL RHO
- # <font> 03C1 greek small letter rho
-1D6D3 MATHEMATICAL BOLD SMALL FINAL SIGMA
- # <font> 03C2 greek small letter final sigma
-1D6D4 MATHEMATICAL BOLD SMALL SIGMA
- # <font> 03C3 greek small letter sigma
-1D6D5 MATHEMATICAL BOLD SMALL TAU
- # <font> 03C4 greek small letter tau
-1D6D6 MATHEMATICAL BOLD SMALL UPSILON
- # <font> 03C5 greek small letter upsilon
-1D6D7 MATHEMATICAL BOLD SMALL PHI
- # <font> 03C6 greek small letter phi
-1D6D8 MATHEMATICAL BOLD SMALL CHI
- # <font> 03C7 greek small letter chi
-1D6D9 MATHEMATICAL BOLD SMALL PSI
- # <font> 03C8 greek small letter psi
-1D6DA MATHEMATICAL BOLD SMALL OMEGA
- # <font> 03C9 greek small letter omega
-@ Additional bold Greek symbols
-1D6DB MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
- # <font> 2202 partial differential
-1D6DC MATHEMATICAL BOLD EPSILON SYMBOL
- # <font> 03F5 greek lunate epsilon symbol
-1D6DD MATHEMATICAL BOLD THETA SYMBOL
- # <font> 03D1 greek theta symbol
-1D6DE MATHEMATICAL BOLD KAPPA SYMBOL
- # <font> 03F0 greek kappa symbol
-1D6DF MATHEMATICAL BOLD PHI SYMBOL
- # <font> 03D5 greek phi symbol
-1D6E0 MATHEMATICAL BOLD RHO SYMBOL
- # <font> 03F1 greek rho symbol
-1D6E1 MATHEMATICAL BOLD PI SYMBOL
- # <font> 03D6 greek pi symbol
-@ Italic Greek symbols
-1D6E2 MATHEMATICAL ITALIC CAPITAL ALPHA
- # <font> 0391 greek capital letter alpha
-1D6E3 MATHEMATICAL ITALIC CAPITAL BETA
- # <font> 0392 greek capital letter beta
-1D6E4 MATHEMATICAL ITALIC CAPITAL GAMMA
- # <font> 0393 greek capital letter gamma
-1D6E5 MATHEMATICAL ITALIC CAPITAL DELTA
- # <font> 0394 greek capital letter delta
-1D6E6 MATHEMATICAL ITALIC CAPITAL EPSILON
- # <font> 0395 greek capital letter epsilon
-1D6E7 MATHEMATICAL ITALIC CAPITAL ZETA
- # <font> 0396 greek capital letter zeta
-1D6E8 MATHEMATICAL ITALIC CAPITAL ETA
- # <font> 0397 greek capital letter eta
-1D6E9 MATHEMATICAL ITALIC CAPITAL THETA
- # <font> 0398 greek capital letter theta
-1D6EA MATHEMATICAL ITALIC CAPITAL IOTA
- # <font> 0399 greek capital letter iota
-1D6EB MATHEMATICAL ITALIC CAPITAL KAPPA
- # <font> 039A greek capital letter kappa
-1D6EC MATHEMATICAL ITALIC CAPITAL LAMDA
- # <font> 039B greek capital letter lamda
-1D6ED MATHEMATICAL ITALIC CAPITAL MU
- # <font> 039C greek capital letter mu
-1D6EE MATHEMATICAL ITALIC CAPITAL NU
- # <font> 039D greek capital letter nu
-1D6EF MATHEMATICAL ITALIC CAPITAL XI
- # <font> 039E greek capital letter xi
-1D6F0 MATHEMATICAL ITALIC CAPITAL OMICRON
- # <font> 039F greek capital letter omicron
-1D6F1 MATHEMATICAL ITALIC CAPITAL PI
- # <font> 03A0 greek capital letter pi
-1D6F2 MATHEMATICAL ITALIC CAPITAL RHO
- # <font> 03A1 greek capital letter rho
-1D6F3 MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
- # <font> 03F4 greek capital theta symbol
-1D6F4 MATHEMATICAL ITALIC CAPITAL SIGMA
- # <font> 03A3 greek capital letter sigma
-1D6F5 MATHEMATICAL ITALIC CAPITAL TAU
- # <font> 03A4 greek capital letter tau
-1D6F6 MATHEMATICAL ITALIC CAPITAL UPSILON
- # <font> 03A5 greek capital letter upsilon
-1D6F7 MATHEMATICAL ITALIC CAPITAL PHI
- # <font> 03A6 greek capital letter phi
-1D6F8 MATHEMATICAL ITALIC CAPITAL CHI
- # <font> 03A7 greek capital letter chi
-1D6F9 MATHEMATICAL ITALIC CAPITAL PSI
- # <font> 03A8 greek capital letter psi
-1D6FA MATHEMATICAL ITALIC CAPITAL OMEGA
- # <font> 03A9 greek capital letter omega
-1D6FB MATHEMATICAL ITALIC NABLA
- # <font> 2207 nabla
-1D6FC MATHEMATICAL ITALIC SMALL ALPHA
- # <font> 03B1 greek small letter alpha
-1D6FD MATHEMATICAL ITALIC SMALL BETA
- # <font> 03B2 greek small letter beta
-1D6FE MATHEMATICAL ITALIC SMALL GAMMA
- # <font> 03B3 greek small letter gamma
-1D6FF MATHEMATICAL ITALIC SMALL DELTA
- # <font> 03B4 greek small letter delta
-1D700 MATHEMATICAL ITALIC SMALL EPSILON
- # <font> 03B5 greek small letter epsilon
-1D701 MATHEMATICAL ITALIC SMALL ZETA
- # <font> 03B6 greek small letter zeta
-1D702 MATHEMATICAL ITALIC SMALL ETA
- # <font> 03B7 greek small letter eta
-1D703 MATHEMATICAL ITALIC SMALL THETA
- # <font> 03B8 greek small letter theta
-1D704 MATHEMATICAL ITALIC SMALL IOTA
- # <font> 03B9 greek small letter iota
-1D705 MATHEMATICAL ITALIC SMALL KAPPA
- # <font> 03BA greek small letter kappa
-1D706 MATHEMATICAL ITALIC SMALL LAMDA
- # <font> 03BB greek small letter lamda
-1D707 MATHEMATICAL ITALIC SMALL MU
- # <font> 03BC greek small letter mu
-1D708 MATHEMATICAL ITALIC SMALL NU
- # <font> 03BD greek small letter nu
-1D709 MATHEMATICAL ITALIC SMALL XI
- # <font> 03BE greek small letter xi
-1D70A MATHEMATICAL ITALIC SMALL OMICRON
- # <font> 03BF greek small letter omicron
-1D70B MATHEMATICAL ITALIC SMALL PI
- # <font> 03C0 greek small letter pi
-1D70C MATHEMATICAL ITALIC SMALL RHO
- # <font> 03C1 greek small letter rho
-1D70D MATHEMATICAL ITALIC SMALL FINAL SIGMA
- # <font> 03C2 greek small letter final sigma
-1D70E MATHEMATICAL ITALIC SMALL SIGMA
- # <font> 03C3 greek small letter sigma
-1D70F MATHEMATICAL ITALIC SMALL TAU
- # <font> 03C4 greek small letter tau
-1D710 MATHEMATICAL ITALIC SMALL UPSILON
- # <font> 03C5 greek small letter upsilon
-1D711 MATHEMATICAL ITALIC SMALL PHI
- # <font> 03C6 greek small letter phi
-1D712 MATHEMATICAL ITALIC SMALL CHI
- # <font> 03C7 greek small letter chi
-1D713 MATHEMATICAL ITALIC SMALL PSI
- # <font> 03C8 greek small letter psi
-1D714 MATHEMATICAL ITALIC SMALL OMEGA
- # <font> 03C9 greek small letter omega
-@ Additional italic Greek symbols
-1D715 MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
- # <font> 2202 partial differential
-1D716 MATHEMATICAL ITALIC EPSILON SYMBOL
- # <font> 03F5 greek lunate epsilon symbol
-1D717 MATHEMATICAL ITALIC THETA SYMBOL
- # <font> 03D1 greek theta symbol
-1D718 MATHEMATICAL ITALIC KAPPA SYMBOL
- # <font> 03F0 greek kappa symbol
-1D719 MATHEMATICAL ITALIC PHI SYMBOL
- # <font> 03D5 greek phi symbol
-1D71A MATHEMATICAL ITALIC RHO SYMBOL
- # <font> 03F1 greek rho symbol
-1D71B MATHEMATICAL ITALIC PI SYMBOL
- # <font> 03D6 greek pi symbol
-@ Bold italic Greek symbols
-1D71C MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
- # <font> 0391 greek capital letter alpha
-1D71D MATHEMATICAL BOLD ITALIC CAPITAL BETA
- # <font> 0392 greek capital letter beta
-1D71E MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
- # <font> 0393 greek capital letter gamma
-1D71F MATHEMATICAL BOLD ITALIC CAPITAL DELTA
- # <font> 0394 greek capital letter delta
-1D720 MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
- # <font> 0395 greek capital letter epsilon
-1D721 MATHEMATICAL BOLD ITALIC CAPITAL ZETA
- # <font> 0396 greek capital letter zeta
-1D722 MATHEMATICAL BOLD ITALIC CAPITAL ETA
- # <font> 0397 greek capital letter eta
-1D723 MATHEMATICAL BOLD ITALIC CAPITAL THETA
- # <font> 0398 greek capital letter theta
-1D724 MATHEMATICAL BOLD ITALIC CAPITAL IOTA
- # <font> 0399 greek capital letter iota
-1D725 MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
- # <font> 039A greek capital letter kappa
-1D726 MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
- # <font> 039B greek capital letter lamda
-1D727 MATHEMATICAL BOLD ITALIC CAPITAL MU
- # <font> 039C greek capital letter mu
-1D728 MATHEMATICAL BOLD ITALIC CAPITAL NU
- # <font> 039D greek capital letter nu
-1D729 MATHEMATICAL BOLD ITALIC CAPITAL XI
- # <font> 039E greek capital letter xi
-1D72A MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
- # <font> 039F greek capital letter omicron
-1D72B MATHEMATICAL BOLD ITALIC CAPITAL PI
- # <font> 03A0 greek capital letter pi
-1D72C MATHEMATICAL BOLD ITALIC CAPITAL RHO
- # <font> 03A1 greek capital letter rho
-1D72D MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
- # <font> 03F4 greek capital theta symbol
-1D72E MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
- # <font> 03A3 greek capital letter sigma
-1D72F MATHEMATICAL BOLD ITALIC CAPITAL TAU
- # <font> 03A4 greek capital letter tau
-1D730 MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
- # <font> 03A5 greek capital letter upsilon
-1D731 MATHEMATICAL BOLD ITALIC CAPITAL PHI
- # <font> 03A6 greek capital letter phi
-1D732 MATHEMATICAL BOLD ITALIC CAPITAL CHI
- # <font> 03A7 greek capital letter chi
-1D733 MATHEMATICAL BOLD ITALIC CAPITAL PSI
- # <font> 03A8 greek capital letter psi
-1D734 MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
- # <font> 03A9 greek capital letter omega
-1D735 MATHEMATICAL BOLD ITALIC NABLA
- # <font> 2207 nabla
-1D736 MATHEMATICAL BOLD ITALIC SMALL ALPHA
- # <font> 03B1 greek small letter alpha
-1D737 MATHEMATICAL BOLD ITALIC SMALL BETA
- # <font> 03B2 greek small letter beta
-1D738 MATHEMATICAL BOLD ITALIC SMALL GAMMA
- # <font> 03B3 greek small letter gamma
-1D739 MATHEMATICAL BOLD ITALIC SMALL DELTA
- # <font> 03B4 greek small letter delta
-1D73A MATHEMATICAL BOLD ITALIC SMALL EPSILON
- # <font> 03B5 greek small letter epsilon
-1D73B MATHEMATICAL BOLD ITALIC SMALL ZETA
- # <font> 03B6 greek small letter zeta
-1D73C MATHEMATICAL BOLD ITALIC SMALL ETA
- # <font> 03B7 greek small letter eta
-1D73D MATHEMATICAL BOLD ITALIC SMALL THETA
- # <font> 03B8 greek small letter theta
-1D73E MATHEMATICAL BOLD ITALIC SMALL IOTA
- # <font> 03B9 greek small letter iota
-1D73F MATHEMATICAL BOLD ITALIC SMALL KAPPA
- # <font> 03BA greek small letter kappa
-1D740 MATHEMATICAL BOLD ITALIC SMALL LAMDA
- # <font> 03BB greek small letter lamda
-1D741 MATHEMATICAL BOLD ITALIC SMALL MU
- # <font> 03BC greek small letter mu
-1D742 MATHEMATICAL BOLD ITALIC SMALL NU
- # <font> 03BD greek small letter nu
-1D743 MATHEMATICAL BOLD ITALIC SMALL XI
- # <font> 03BE greek small letter xi
-1D744 MATHEMATICAL BOLD ITALIC SMALL OMICRON
- # <font> 03BF greek small letter omicron
-1D745 MATHEMATICAL BOLD ITALIC SMALL PI
- # <font> 03C0 greek small letter pi
-1D746 MATHEMATICAL BOLD ITALIC SMALL RHO
- # <font> 03C1 greek small letter rho
-1D747 MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
- # <font> 03C2 greek small letter final sigma
-1D748 MATHEMATICAL BOLD ITALIC SMALL SIGMA
- # <font> 03C3 greek small letter sigma
-1D749 MATHEMATICAL BOLD ITALIC SMALL TAU
- # <font> 03C4 greek small letter tau
-1D74A MATHEMATICAL BOLD ITALIC SMALL UPSILON
- # <font> 03C5 greek small letter upsilon
-1D74B MATHEMATICAL BOLD ITALIC SMALL PHI
- # <font> 03C6 greek small letter phi
-1D74C MATHEMATICAL BOLD ITALIC SMALL CHI
- # <font> 03C7 greek small letter chi
-1D74D MATHEMATICAL BOLD ITALIC SMALL PSI
- # <font> 03C8 greek small letter psi
-1D74E MATHEMATICAL BOLD ITALIC SMALL OMEGA
- # <font> 03C9 greek small letter omega
-@ Additional bold italic Greek symbols
-1D74F MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
- # <font> 2202 partial differential
-1D750 MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
- # <font> 03F5 greek lunate epsilon symbol
-1D751 MATHEMATICAL BOLD ITALIC THETA SYMBOL
- # <font> 03D1 greek theta symbol
-1D752 MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
- # <font> 03F0 greek kappa symbol
-1D753 MATHEMATICAL BOLD ITALIC PHI SYMBOL
- # <font> 03D5 greek phi symbol
-1D754 MATHEMATICAL BOLD ITALIC RHO SYMBOL
- # <font> 03F1 greek rho symbol
-1D755 MATHEMATICAL BOLD ITALIC PI SYMBOL
- # <font> 03D6 greek pi symbol
-@ Sans-serif bold Greek symbols
-1D756 MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
- # <font> 0391 greek capital letter alpha
-1D757 MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
- # <font> 0392 greek capital letter beta
-1D758 MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
- # <font> 0393 greek capital letter gamma
-1D759 MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
- # <font> 0394 greek capital letter delta
-1D75A MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
- # <font> 0395 greek capital letter epsilon
-1D75B MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
- # <font> 0396 greek capital letter zeta
-1D75C MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
- # <font> 0397 greek capital letter eta
-1D75D MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
- # <font> 0398 greek capital letter theta
-1D75E MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
- # <font> 0399 greek capital letter iota
-1D75F MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
- # <font> 039A greek capital letter kappa
-1D760 MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
- # <font> 039B greek capital letter lamda
-1D761 MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
- # <font> 039C greek capital letter mu
-1D762 MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
- # <font> 039D greek capital letter nu
-1D763 MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
- # <font> 039E greek capital letter xi
-1D764 MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
- # <font> 039F greek capital letter omicron
-1D765 MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
- # <font> 03A0 greek capital letter pi
-1D766 MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
- # <font> 03A1 greek capital letter rho
-1D767 MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
- # <font> 03F4 greek capital theta symbol
-1D768 MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
- # <font> 03A3 greek capital letter sigma
-1D769 MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
- # <font> 03A4 greek capital letter tau
-1D76A MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
- # <font> 03A5 greek capital letter upsilon
-1D76B MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
- # <font> 03A6 greek capital letter phi
-1D76C MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
- # <font> 03A7 greek capital letter chi
-1D76D MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
- # <font> 03A8 greek capital letter psi
-1D76E MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
- # <font> 03A9 greek capital letter omega
-1D76F MATHEMATICAL SANS-SERIF BOLD NABLA
- # <font> 2207 nabla
-1D770 MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
- # <font> 03B1 greek small letter alpha
-1D771 MATHEMATICAL SANS-SERIF BOLD SMALL BETA
- # <font> 03B2 greek small letter beta
-1D772 MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
- # <font> 03B3 greek small letter gamma
-1D773 MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
- # <font> 03B4 greek small letter delta
-1D774 MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
- # <font> 03B5 greek small letter epsilon
-1D775 MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
- # <font> 03B6 greek small letter zeta
-1D776 MATHEMATICAL SANS-SERIF BOLD SMALL ETA
- # <font> 03B7 greek small letter eta
-1D777 MATHEMATICAL SANS-SERIF BOLD SMALL THETA
- # <font> 03B8 greek small letter theta
-1D778 MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
- # <font> 03B9 greek small letter iota
-1D779 MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
- # <font> 03BA greek small letter kappa
-1D77A MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
- # <font> 03BB greek small letter lamda
-1D77B MATHEMATICAL SANS-SERIF BOLD SMALL MU
- # <font> 03BC greek small letter mu
-1D77C MATHEMATICAL SANS-SERIF BOLD SMALL NU
- # <font> 03BD greek small letter nu
-1D77D MATHEMATICAL SANS-SERIF BOLD SMALL XI
- # <font> 03BE greek small letter xi
-1D77E MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
- # <font> 03BF greek small letter omicron
-1D77F MATHEMATICAL SANS-SERIF BOLD SMALL PI
- # <font> 03C0 greek small letter pi
-1D780 MATHEMATICAL SANS-SERIF BOLD SMALL RHO
- # <font> 03C1 greek small letter rho
-1D781 MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
- # <font> 03C2 greek small letter final sigma
-1D782 MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
- # <font> 03C3 greek small letter sigma
-1D783 MATHEMATICAL SANS-SERIF BOLD SMALL TAU
- # <font> 03C4 greek small letter tau
-1D784 MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
- # <font> 03C5 greek small letter upsilon
-1D785 MATHEMATICAL SANS-SERIF BOLD SMALL PHI
- # <font> 03C6 greek small letter phi
-1D786 MATHEMATICAL SANS-SERIF BOLD SMALL CHI
- # <font> 03C7 greek small letter chi
-1D787 MATHEMATICAL SANS-SERIF BOLD SMALL PSI
- # <font> 03C8 greek small letter psi
-1D788 MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
- # <font> 03C9 greek small letter omega
-@ Additional sans-serif bold Greek symbols
-1D789 MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
- # <font> 2202 partial differential
-1D78A MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
- # <font> 03F5 greek lunate epsilon symbol
-1D78B MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
- # <font> 03D1 greek theta symbol
-1D78C MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
- # <font> 03F0 greek kappa symbol
-1D78D MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
- # <font> 03D5 greek phi symbol
-1D78E MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
- # <font> 03F1 greek rho symbol
-1D78F MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
- # <font> 03D6 greek pi symbol
-@ Sans-serif bold italic Greek symbols
-1D790 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
- # <font> 0391 greek capital letter alpha
-1D791 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
- # <font> 0392 greek capital letter beta
-1D792 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
- # <font> 0393 greek capital letter gamma
-1D793 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
- # <font> 0394 greek capital letter delta
-1D794 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
- # <font> 0395 greek capital letter epsilon
-1D795 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
- # <font> 0396 greek capital letter zeta
-1D796 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
- # <font> 0397 greek capital letter eta
-1D797 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
- # <font> 0398 greek capital letter theta
-1D798 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
- # <font> 0399 greek capital letter iota
-1D799 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
- # <font> 039A greek capital letter kappa
-1D79A MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
- # <font> 039B greek capital letter lamda
-1D79B MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
- # <font> 039C greek capital letter mu
-1D79C MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
- # <font> 039D greek capital letter nu
-1D79D MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
- # <font> 039E greek capital letter xi
-1D79E MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
- # <font> 039F greek capital letter omicron
-1D79F MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
- # <font> 03A0 greek capital letter pi
-1D7A0 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
- # <font> 03A1 greek capital letter rho
-1D7A1 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
- # <font> 03F4 greek capital theta symbol
-1D7A2 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
- # <font> 03A3 greek capital letter sigma
-1D7A3 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
- # <font> 03A4 greek capital letter tau
-1D7A4 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
- # <font> 03A5 greek capital letter upsilon
-1D7A5 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
- # <font> 03A6 greek capital letter phi
-1D7A6 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
- # <font> 03A7 greek capital letter chi
-1D7A7 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
- # <font> 03A8 greek capital letter psi
-1D7A8 MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
- # <font> 03A9 greek capital letter omega
-1D7A9 MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
- # <font> 2207 nabla
-1D7AA MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
- # <font> 03B1 greek small letter alpha
-1D7AB MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
- # <font> 03B2 greek small letter beta
-1D7AC MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
- # <font> 03B3 greek small letter gamma
-1D7AD MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
- # <font> 03B4 greek small letter delta
-1D7AE MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
- # <font> 03B5 greek small letter epsilon
-1D7AF MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
- # <font> 03B6 greek small letter zeta
-1D7B0 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
- # <font> 03B7 greek small letter eta
-1D7B1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
- # <font> 03B8 greek small letter theta
-1D7B2 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
- # <font> 03B9 greek small letter iota
-1D7B3 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
- # <font> 03BA greek small letter kappa
-1D7B4 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
- # <font> 03BB greek small letter lamda
-1D7B5 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
- # <font> 03BC greek small letter mu
-1D7B6 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
- # <font> 03BD greek small letter nu
-1D7B7 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
- # <font> 03BE greek small letter xi
-1D7B8 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
- # <font> 03BF greek small letter omicron
-1D7B9 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
- # <font> 03C0 greek small letter pi
-1D7BA MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
- # <font> 03C1 greek small letter rho
-1D7BB MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
- # <font> 03C2 greek small letter final sigma
-1D7BC MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
- # <font> 03C3 greek small letter sigma
-1D7BD MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
- # <font> 03C4 greek small letter tau
-1D7BE MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
- # <font> 03C5 greek small letter upsilon
-1D7BF MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
- # <font> 03C6 greek small letter phi
-1D7C0 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
- # <font> 03C7 greek small letter chi
-1D7C1 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
- # <font> 03C8 greek small letter psi
-1D7C2 MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
- # <font> 03C9 greek small letter omega
-@ Additional sans-serif bold italic Greek symbols
-1D7C3 MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
- # <font> 2202 partial differential
-1D7C4 MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
- # <font> 03F5 greek lunate epsilon symbol
-1D7C5 MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
- # <font> 03D1 greek theta symbol
-1D7C6 MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
- # <font> 03F0 greek kappa symbol
-1D7C7 MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
- # <font> 03D5 greek phi symbol
-1D7C8 MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
- # <font> 03F1 greek rho symbol
-1D7C9 MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
- # <font> 03D6 greek pi symbol
-@ Additional bold Greek symbols
-1D7CA MATHEMATICAL BOLD CAPITAL DIGAMMA
- # <font> 03DC greek letter digamma
-1D7CB MATHEMATICAL BOLD SMALL DIGAMMA
- # <font> 03DD greek small letter digamma
-@ Bold digits
-1D7CE MATHEMATICAL BOLD DIGIT ZERO
- # <font> 0030 digit zero
-1D7CF MATHEMATICAL BOLD DIGIT ONE
- # <font> 0031 digit one
-1D7D0 MATHEMATICAL BOLD DIGIT TWO
- # <font> 0032 digit two
-1D7D1 MATHEMATICAL BOLD DIGIT THREE
- # <font> 0033 digit three
-1D7D2 MATHEMATICAL BOLD DIGIT FOUR
- # <font> 0034 digit four
-1D7D3 MATHEMATICAL BOLD DIGIT FIVE
- # <font> 0035 digit five
-1D7D4 MATHEMATICAL BOLD DIGIT SIX
- # <font> 0036 digit six
-1D7D5 MATHEMATICAL BOLD DIGIT SEVEN
- # <font> 0037 digit seven
-1D7D6 MATHEMATICAL BOLD DIGIT EIGHT
- # <font> 0038 digit eight
-1D7D7 MATHEMATICAL BOLD DIGIT NINE
- # <font> 0039 digit nine
-@ Double-struck digits
-1D7D8 MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
- # <font> 0030 digit zero
-1D7D9 MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
- # <font> 0031 digit one
-1D7DA MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
- # <font> 0032 digit two
-1D7DB MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
- # <font> 0033 digit three
-1D7DC MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
- # <font> 0034 digit four
-1D7DD MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
- # <font> 0035 digit five
-1D7DE MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
- # <font> 0036 digit six
-1D7DF MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
- # <font> 0037 digit seven
-1D7E0 MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
- # <font> 0038 digit eight
-1D7E1 MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
- # <font> 0039 digit nine
-@ Sans-serif digits
-1D7E2 MATHEMATICAL SANS-SERIF DIGIT ZERO
- # <font> 0030 digit zero
-1D7E3 MATHEMATICAL SANS-SERIF DIGIT ONE
- # <font> 0031 digit one
-1D7E4 MATHEMATICAL SANS-SERIF DIGIT TWO
- # <font> 0032 digit two
-1D7E5 MATHEMATICAL SANS-SERIF DIGIT THREE
- # <font> 0033 digit three
-1D7E6 MATHEMATICAL SANS-SERIF DIGIT FOUR
- # <font> 0034 digit four
-1D7E7 MATHEMATICAL SANS-SERIF DIGIT FIVE
- # <font> 0035 digit five
-1D7E8 MATHEMATICAL SANS-SERIF DIGIT SIX
- # <font> 0036 digit six
-1D7E9 MATHEMATICAL SANS-SERIF DIGIT SEVEN
- # <font> 0037 digit seven
-1D7EA MATHEMATICAL SANS-SERIF DIGIT EIGHT
- # <font> 0038 digit eight
-1D7EB MATHEMATICAL SANS-SERIF DIGIT NINE
- # <font> 0039 digit nine
-@ Sans-serif bold digits
-1D7EC MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
- # <font> 0030 digit zero
-1D7ED MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
- # <font> 0031 digit one
-1D7EE MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
- # <font> 0032 digit two
-1D7EF MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
- # <font> 0033 digit three
-1D7F0 MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
- # <font> 0034 digit four
-1D7F1 MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
- # <font> 0035 digit five
-1D7F2 MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
- # <font> 0036 digit six
-1D7F3 MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
- # <font> 0037 digit seven
-1D7F4 MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
- # <font> 0038 digit eight
-1D7F5 MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
- # <font> 0039 digit nine
-@ Monospace digits
-1D7F6 MATHEMATICAL MONOSPACE DIGIT ZERO
- # <font> 0030 digit zero
-1D7F7 MATHEMATICAL MONOSPACE DIGIT ONE
- # <font> 0031 digit one
-1D7F8 MATHEMATICAL MONOSPACE DIGIT TWO
- # <font> 0032 digit two
-1D7F9 MATHEMATICAL MONOSPACE DIGIT THREE
- # <font> 0033 digit three
-1D7FA MATHEMATICAL MONOSPACE DIGIT FOUR
- # <font> 0034 digit four
-1D7FB MATHEMATICAL MONOSPACE DIGIT FIVE
- # <font> 0035 digit five
-1D7FC MATHEMATICAL MONOSPACE DIGIT SIX
- # <font> 0036 digit six
-1D7FD MATHEMATICAL MONOSPACE DIGIT SEVEN
- # <font> 0037 digit seven
-1D7FE MATHEMATICAL MONOSPACE DIGIT EIGHT
- # <font> 0038 digit eight
-1D7FF MATHEMATICAL MONOSPACE DIGIT NINE
- # <font> 0039 digit nine
-@@ 1F000 Mahjong Tiles 1F02F
-@ Prevailing wind tiles
-1F000 MAHJONG TILE EAST WIND
-1F001 MAHJONG TILE SOUTH WIND
-1F002 MAHJONG TILE WEST WIND
-1F003 MAHJONG TILE NORTH WIND
-@ Dragon tiles
-1F004 MAHJONG TILE RED DRAGON
- = hongzhong
-1F005 MAHJONG TILE GREEN DRAGON
- = qingfa
-1F006 MAHJONG TILE WHITE DRAGON
- = baiban
-@ Character suit tiles
-1F007 MAHJONG TILE ONE OF CHARACTERS
- = wan
-1F008 MAHJONG TILE TWO OF CHARACTERS
-1F009 MAHJONG TILE THREE OF CHARACTERS
-1F00A MAHJONG TILE FOUR OF CHARACTERS
-1F00B MAHJONG TILE FIVE OF CHARACTERS
-1F00C MAHJONG TILE SIX OF CHARACTERS
-1F00D MAHJONG TILE SEVEN OF CHARACTERS
-1F00E MAHJONG TILE EIGHT OF CHARACTERS
-1F00F MAHJONG TILE NINE OF CHARACTERS
-@ Bamboo suit tiles
-1F010 MAHJONG TILE ONE OF BAMBOOS
- = tiao
-1F011 MAHJONG TILE TWO OF BAMBOOS
-1F012 MAHJONG TILE THREE OF BAMBOOS
-1F013 MAHJONG TILE FOUR OF BAMBOOS
-1F014 MAHJONG TILE FIVE OF BAMBOOS
-1F015 MAHJONG TILE SIX OF BAMBOOS
-1F016 MAHJONG TILE SEVEN OF BAMBOOS
-1F017 MAHJONG TILE EIGHT OF BAMBOOS
-1F018 MAHJONG TILE NINE OF BAMBOOS
-@ Circle suit tiles
-1F019 MAHJONG TILE ONE OF CIRCLES
- = bing
-1F01A MAHJONG TILE TWO OF CIRCLES
-1F01B MAHJONG TILE THREE OF CIRCLES
-1F01C MAHJONG TILE FOUR OF CIRCLES
-1F01D MAHJONG TILE FIVE OF CIRCLES
-1F01E MAHJONG TILE SIX OF CIRCLES
-1F01F MAHJONG TILE SEVEN OF CIRCLES
-1F020 MAHJONG TILE EIGHT OF CIRCLES
-1F021 MAHJONG TILE NINE OF CIRCLES
-@ Flower tiles
-1F022 MAHJONG TILE PLUM
- = mei
-1F023 MAHJONG TILE ORCHID
- = lan
-1F024 MAHJONG TILE BAMBOO
- = zhu
-1F025 MAHJONG TILE CHRYSANTHEMUM
- = ju
-@ Season tiles
-1F026 MAHJONG TILE SPRING
-1F027 MAHJONG TILE SUMMER
-1F028 MAHJONG TILE AUTUMN
-1F029 MAHJONG TILE WINTER
-@ Miscellaneous tiles
-1F02A MAHJONG TILE JOKER
- = baida
-1F02B MAHJONG TILE BACK
-@@ 1F030 Domino Tiles 1F09F
-@ Horizontal tiles
-1F030 DOMINO TILE HORIZONTAL BACK
-@ Zeroes
-1F031 DOMINO TILE HORIZONTAL-00-00
-1F032 DOMINO TILE HORIZONTAL-00-01
-1F033 DOMINO TILE HORIZONTAL-00-02
-1F034 DOMINO TILE HORIZONTAL-00-03
-1F035 DOMINO TILE HORIZONTAL-00-04
-1F036 DOMINO TILE HORIZONTAL-00-05
-1F037 DOMINO TILE HORIZONTAL-00-06
-@ Ones
-1F038 DOMINO TILE HORIZONTAL-01-00
-1F039 DOMINO TILE HORIZONTAL-01-01
-1F03A DOMINO TILE HORIZONTAL-01-02
-1F03B DOMINO TILE HORIZONTAL-01-03
-1F03C DOMINO TILE HORIZONTAL-01-04
-1F03D DOMINO TILE HORIZONTAL-01-05
-1F03E DOMINO TILE HORIZONTAL-01-06
-@ Twos
-1F03F DOMINO TILE HORIZONTAL-02-00
-1F040 DOMINO TILE HORIZONTAL-02-01
-1F041 DOMINO TILE HORIZONTAL-02-02
-1F042 DOMINO TILE HORIZONTAL-02-03
-1F043 DOMINO TILE HORIZONTAL-02-04
-1F044 DOMINO TILE HORIZONTAL-02-05
-1F045 DOMINO TILE HORIZONTAL-02-06
-@ Threes
-1F046 DOMINO TILE HORIZONTAL-03-00
-1F047 DOMINO TILE HORIZONTAL-03-01
-1F048 DOMINO TILE HORIZONTAL-03-02
-1F049 DOMINO TILE HORIZONTAL-03-03
-1F04A DOMINO TILE HORIZONTAL-03-04
-1F04B DOMINO TILE HORIZONTAL-03-05
-1F04C DOMINO TILE HORIZONTAL-03-06
-@ Fours
-1F04D DOMINO TILE HORIZONTAL-04-00
-1F04E DOMINO TILE HORIZONTAL-04-01
-1F04F DOMINO TILE HORIZONTAL-04-02
-1F050 DOMINO TILE HORIZONTAL-04-03
-1F051 DOMINO TILE HORIZONTAL-04-04
-1F052 DOMINO TILE HORIZONTAL-04-05
-1F053 DOMINO TILE HORIZONTAL-04-06
-@ Fives
-1F054 DOMINO TILE HORIZONTAL-05-00
-1F055 DOMINO TILE HORIZONTAL-05-01
-1F056 DOMINO TILE HORIZONTAL-05-02
-1F057 DOMINO TILE HORIZONTAL-05-03
-1F058 DOMINO TILE HORIZONTAL-05-04
-1F059 DOMINO TILE HORIZONTAL-05-05
-1F05A DOMINO TILE HORIZONTAL-05-06
-@ Sixes
-1F05B DOMINO TILE HORIZONTAL-06-00
-1F05C DOMINO TILE HORIZONTAL-06-01
-1F05D DOMINO TILE HORIZONTAL-06-02
-1F05E DOMINO TILE HORIZONTAL-06-03
-1F05F DOMINO TILE HORIZONTAL-06-04
-1F060 DOMINO TILE HORIZONTAL-06-05
-1F061 DOMINO TILE HORIZONTAL-06-06
-@ Vertical tiles
-1F062 DOMINO TILE VERTICAL BACK
-@ Zeroes
-1F063 DOMINO TILE VERTICAL-00-00
-1F064 DOMINO TILE VERTICAL-00-01
-1F065 DOMINO TILE VERTICAL-00-02
-1F066 DOMINO TILE VERTICAL-00-03
-1F067 DOMINO TILE VERTICAL-00-04
-1F068 DOMINO TILE VERTICAL-00-05
-1F069 DOMINO TILE VERTICAL-00-06
-@ Ones
-1F06A DOMINO TILE VERTICAL-01-00
-1F06B DOMINO TILE VERTICAL-01-01
-1F06C DOMINO TILE VERTICAL-01-02
-1F06D DOMINO TILE VERTICAL-01-03
-1F06E DOMINO TILE VERTICAL-01-04
-1F06F DOMINO TILE VERTICAL-01-05
-1F070 DOMINO TILE VERTICAL-01-06
-@ Twos
-1F071 DOMINO TILE VERTICAL-02-00
-1F072 DOMINO TILE VERTICAL-02-01
-1F073 DOMINO TILE VERTICAL-02-02
-1F074 DOMINO TILE VERTICAL-02-03
-1F075 DOMINO TILE VERTICAL-02-04
-1F076 DOMINO TILE VERTICAL-02-05
-1F077 DOMINO TILE VERTICAL-02-06
-@ Threes
-1F078 DOMINO TILE VERTICAL-03-00
-1F079 DOMINO TILE VERTICAL-03-01
-1F07A DOMINO TILE VERTICAL-03-02
-1F07B DOMINO TILE VERTICAL-03-03
-1F07C DOMINO TILE VERTICAL-03-04
-1F07D DOMINO TILE VERTICAL-03-05
-1F07E DOMINO TILE VERTICAL-03-06
-@ Fours
-1F07F DOMINO TILE VERTICAL-04-00
-1F080 DOMINO TILE VERTICAL-04-01
-1F081 DOMINO TILE VERTICAL-04-02
-1F082 DOMINO TILE VERTICAL-04-03
-1F083 DOMINO TILE VERTICAL-04-04
-1F084 DOMINO TILE VERTICAL-04-05
-1F085 DOMINO TILE VERTICAL-04-06
-@ Fives
-1F086 DOMINO TILE VERTICAL-05-00
-1F087 DOMINO TILE VERTICAL-05-01
-1F088 DOMINO TILE VERTICAL-05-02
-1F089 DOMINO TILE VERTICAL-05-03
-1F08A DOMINO TILE VERTICAL-05-04
-1F08B DOMINO TILE VERTICAL-05-05
-1F08C DOMINO TILE VERTICAL-05-06
-@ Sixes
-1F08D DOMINO TILE VERTICAL-06-00
-1F08E DOMINO TILE VERTICAL-06-01
-1F08F DOMINO TILE VERTICAL-06-02
-1F090 DOMINO TILE VERTICAL-06-03
-1F091 DOMINO TILE VERTICAL-06-04
-1F092 DOMINO TILE VERTICAL-06-05
-1F093 DOMINO TILE VERTICAL-06-06
-@@ 1F100 Enclosed Alphanumeric Supplement 1F1FF
-@ Number with full stop
-@+ This symbol completes the set of numbers with full stop starting at U+2488.
-1F100 DIGIT ZERO FULL STOP
- # 0030 002E
-@ Numbers with comma
-1F101 DIGIT ZERO COMMA
- # 0030 002C
-1F102 DIGIT ONE COMMA
- # 0031 002C
-1F103 DIGIT TWO COMMA
- # 0032 002C
-1F104 DIGIT THREE COMMA
- # 0033 002C
-1F105 DIGIT FOUR COMMA
- # 0034 002C
-1F106 DIGIT FIVE COMMA
- # 0035 002C
-1F107 DIGIT SIX COMMA
- # 0036 002C
-1F108 DIGIT SEVEN COMMA
- # 0037 002C
-1F109 DIGIT EIGHT COMMA
- # 0038 002C
-1F10A DIGIT NINE COMMA
- # 0039 002C
-@ Parenthesized Latin letters
-@+ This set provides uppercase versions of the set starting at U+249C.
-1F110 PARENTHESIZED LATIN CAPITAL LETTER A
- # 0028 0041 0029
-1F111 PARENTHESIZED LATIN CAPITAL LETTER B
- # 0028 0042 0029
-1F112 PARENTHESIZED LATIN CAPITAL LETTER C
- # 0028 0043 0029
-1F113 PARENTHESIZED LATIN CAPITAL LETTER D
- # 0028 0044 0029
-1F114 PARENTHESIZED LATIN CAPITAL LETTER E
- # 0028 0045 0029
-1F115 PARENTHESIZED LATIN CAPITAL LETTER F
- # 0028 0046 0029
-1F116 PARENTHESIZED LATIN CAPITAL LETTER G
- # 0028 0047 0029
-1F117 PARENTHESIZED LATIN CAPITAL LETTER H
- # 0028 0048 0029
-1F118 PARENTHESIZED LATIN CAPITAL LETTER I
- # 0028 0049 0029
-1F119 PARENTHESIZED LATIN CAPITAL LETTER J
- # 0028 004A 0029
-1F11A PARENTHESIZED LATIN CAPITAL LETTER K
- # 0028 004B 0029
-1F11B PARENTHESIZED LATIN CAPITAL LETTER L
- # 0028 004C 0029
-1F11C PARENTHESIZED LATIN CAPITAL LETTER M
- # 0028 004D 0029
-1F11D PARENTHESIZED LATIN CAPITAL LETTER N
- # 0028 004E 0029
-1F11E PARENTHESIZED LATIN CAPITAL LETTER O
- # 0028 004F 0029
-1F11F PARENTHESIZED LATIN CAPITAL LETTER P
- # 0028 0050 0029
-1F120 PARENTHESIZED LATIN CAPITAL LETTER Q
- # 0028 0051 0029
-1F121 PARENTHESIZED LATIN CAPITAL LETTER R
- # 0028 0052 0029
-1F122 PARENTHESIZED LATIN CAPITAL LETTER S
- # 0028 0053 0029
-1F123 PARENTHESIZED LATIN CAPITAL LETTER T
- # 0028 0054 0029
-1F124 PARENTHESIZED LATIN CAPITAL LETTER U
- # 0028 0055 0029
-1F125 PARENTHESIZED LATIN CAPITAL LETTER V
- # 0028 0056 0029
-1F126 PARENTHESIZED LATIN CAPITAL LETTER W
- # 0028 0057 0029
-1F127 PARENTHESIZED LATIN CAPITAL LETTER X
- # 0028 0058 0029
-1F128 PARENTHESIZED LATIN CAPITAL LETTER Y
- # 0028 0059 0029
-1F129 PARENTHESIZED LATIN CAPITAL LETTER Z
- # 0028 005A 0029
-@ Latin letter with tortoise shell brackets
-1F12A TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
- * used in baseball scoring
- # 3014 0053 3015
-@ Circled italic Latin letters
-1F12B CIRCLED ITALIC LATIN CAPITAL LETTER C
- = compact disc, single disc record
- # <circle> 0043
-1F12C CIRCLED ITALIC LATIN CAPITAL LETTER R
- = disc record
- # <circle> 0052
-@ Circled Latin letter sequences
-1F12D CIRCLED CD
- x (square cd - 33C5)
- # <circle> 0043 0044
-1F12E CIRCLED WZ
- * from the German term "Warenzeichen"
- * indicate a trademarked term without making a legal claim of trademark status
- x (trade mark sign - 2122)
- # <circle> 0057 005A
-@ Squared Latin letters
-1F131 SQUARED LATIN CAPITAL LETTER B
- = bank
- = b-mode stereo compression broadcasting service (ARIB STD B24)
- # <square> 0042
-1F13D SQUARED LATIN CAPITAL LETTER N
- = news (ARIB STD B24)
- # <square> 004E
-1F13F SQUARED LATIN CAPITAL LETTER P
- = progressive broadcasting (ARIB STD B24)
- # <square> 0050
-1F142 SQUARED LATIN CAPITAL LETTER S
- = stereo broadcasting service (ARIB STD B24)
- # <square> 0053
-1F146 SQUARED LATIN CAPITAL LETTER W
- = wide-format 16:9 broadcasting service (ARIB STD B24)
- # <square> 0057
-1F14A SQUARED HV
- = hdtv
- # <square> 0048 0056
-1F14B SQUARED MV
- = multi-view television
- # <square> 004D 0056
-1F14C SQUARED SD
- = sdtv
- # <square> 0053 0044
-1F14D SQUARED SS
- = surround stereo broadcasting service
- # <square> 0053 0053
-1F14E SQUARED PPV
- = pay-per-view
- # <square> 0050 0050 0056
-@ White on black circled Latin letters
-1F157 NEGATIVE CIRCLED LATIN CAPITAL LETTER H
- = hotel (ARIB STD B24)
-1F15F NEGATIVE CIRCLED LATIN CAPITAL LETTER P
- = parking space (ARIB STD B24)
-@ White on black squared Latin letters
-@+ The square edges may be slightly rounded.
-1F179 NEGATIVE SQUARED LATIN CAPITAL LETTER J
- = junction (ARIB STD B24)
-1F17B NEGATIVE SQUARED LATIN CAPITAL LETTER L
- = leisure center (ARIB STD B24)
-1F17C NEGATIVE SQUARED LATIN CAPITAL LETTER M
- = museum, cultural center (ARIB STD B24)
-1F17F NEGATIVE SQUARED LATIN CAPITAL LETTER P
- = parking space empty-full (ARIB STD B24)
-1F18A CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
- = parking space closed
-1F18B NEGATIVE SQUARED IC
- = interchange, ramp
-1F18C NEGATIVE SQUARED PA
- = parking area
-1F18D NEGATIVE SQUARED SA
- = service area
-@ Squared Latin letter sequences
-1F190 SQUARE DJ
- = disc jockey
- # <square> 0044 004A
-@@ 1F200 Enclosed Ideographic Supplement 1F2FF
-@ Squared hiragana from ARIB STD B24
-1F200 SQUARE HIRAGANA HOKA
- = and others
- # <square> 307B 304B
-@ Squared ideographs and kana from ARIB STD B24
-1F210 SQUARED CJK UNIFIED IDEOGRAPH-624B
- = broadcasting service with sign language interpretation
- # <square> 624B
-1F211 SQUARED CJK UNIFIED IDEOGRAPH-5B57
- = close-captioned broadcasting
- # <square> 5B57
-1F212 SQUARED CJK UNIFIED IDEOGRAPH-53CC
- = two-way broadcasting service
- # <square> 53CC
-1F213 SQUARED KATAKANA DE
- = data broadcasting service linked with a main program
- # <square> 30C7
-1F214 SQUARED CJK UNIFIED IDEOGRAPH-4E8C
- = bilingual broadcasting service
- = second base
- # <square> 4E8C
-1F215 SQUARED CJK UNIFIED IDEOGRAPH-591A
- = sound-multiplex broadcasting service
- # <square> 591A
-1F216 SQUARED CJK UNIFIED IDEOGRAPH-89E3
- = commentary broadcasting
- # <square> 89E3
-1F217 SQUARED CJK UNIFIED IDEOGRAPH-5929
- = weather forecast
- # <square> 5929
-1F218 SQUARED CJK UNIFIED IDEOGRAPH-4EA4
- = traffic information
- # <square> 4EA4
-1F219 SQUARED CJK UNIFIED IDEOGRAPH-6620
- = drama film
- # <square> 6620
-1F21A SQUARED CJK UNIFIED IDEOGRAPH-7121
- = free broadcasting service
- # <square> 7121
-1F21B SQUARED CJK UNIFIED IDEOGRAPH-6599
- = pay broadcasting service
- # <square> 6599
-1F21C SQUARED CJK UNIFIED IDEOGRAPH-524D
- = the first part
- # <square> 524D
-1F21D SQUARED CJK UNIFIED IDEOGRAPH-5F8C
- = the latter part
- # <square> 5F8C
-1F21E SQUARED CJK UNIFIED IDEOGRAPH-518D
- = rebroadcast
- # <square> 518D
-1F21F SQUARED CJK UNIFIED IDEOGRAPH-65B0
- = new series of programs
- # <square> 65B0
-1F220 SQUARED CJK UNIFIED IDEOGRAPH-521D
- = first released program
- # <square> 521D
-1F221 SQUARED CJK UNIFIED IDEOGRAPH-7D42
- = the last episode
- # <square> 7D42
-1F222 SQUARED CJK UNIFIED IDEOGRAPH-751F
- = live broadcast
- # <square> 751F
-1F223 SQUARED CJK UNIFIED IDEOGRAPH-8CA9
- = mail-order
- # <square> 8CA9
-1F224 SQUARED CJK UNIFIED IDEOGRAPH-58F0
- = voice actors
- # <square> 58F0
-1F225 SQUARED CJK UNIFIED IDEOGRAPH-5439
- = dubbed version
- # <square> 5439
-1F226 SQUARED CJK UNIFIED IDEOGRAPH-6F14
- = performed by
- # <square> 6F14
-1F227 SQUARED CJK UNIFIED IDEOGRAPH-6295
- = pitcher
- # <square> 6295
-1F228 SQUARED CJK UNIFIED IDEOGRAPH-6355
- = catcher
- # <square> 6355
-1F229 SQUARED CJK UNIFIED IDEOGRAPH-4E00
- = first base
- # <square> 4E00
-1F22A SQUARED CJK UNIFIED IDEOGRAPH-4E09
- = third base
- # <square> 4E09
-1F22B SQUARED CJK UNIFIED IDEOGRAPH-904A
- = short stop
- # <square> 904A
-1F22C SQUARED CJK UNIFIED IDEOGRAPH-5DE6
- = left field
- # <square> 5DE6
-1F22D SQUARED CJK UNIFIED IDEOGRAPH-4E2D
- = center field
- # <square> 4E2D
-1F22E SQUARED CJK UNIFIED IDEOGRAPH-53F3
- = right field
- # <square> 53F3
-1F22F SQUARED CJK UNIFIED IDEOGRAPH-6307
- = designated hitter
- # <square> 6307
-1F230 SQUARED CJK UNIFIED IDEOGRAPH-8D70
- = runner
- # <square> 8D70
-1F231 SQUARED CJK UNIFIED IDEOGRAPH-6253
- = batter
- # <square> 6253
-@ Ideographs with tortoise shell brackets from ARIB STD B24
-1F240 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
- = home run
- # 3014 672C 3015
-1F241 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
- = triple
- # 3014 4E09 3015
-1F242 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
- = double
- # 3014 4E8C 3015
-1F243 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
- = safe
- # 3014 5B89 3015
-1F244 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
- = run
- # 3014 70B9 3015
-1F245 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
- = hit
- # 3014 6253 3015
-1F246 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
- = steal
- # 3014 76D7 3015
-1F247 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
- = win
- # 3014 52DD 3015
-1F248 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
- = loss
- # 3014 6557 3015
-@@ 1FF80 Unassigned 1FFFF
-@ Not character codes
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-1FFFE <not a character>
- * the value 1FFFE is guaranteed not to be a Unicode character at all
-1FFFF <not a character>
- * the value 1FFFF is guaranteed not to be a Unicode character at all
-@@ 20000 CJK Unified Ideographs Extension B 2A6D6
-@@ 2A700 CJK Unified Ideographs Extension C 2B734
-@@ 2F800 CJK Compatibility Ideographs Supplement 2FA1F
-@ Duplicate characters from CNS 11643-1992
-2F800 CJK COMPATIBILITY IDEOGRAPH-2F800
- : 4E3D
-2F801 CJK COMPATIBILITY IDEOGRAPH-2F801
- : 4E38
-2F802 CJK COMPATIBILITY IDEOGRAPH-2F802
- : 4E41
-2F803 CJK COMPATIBILITY IDEOGRAPH-2F803
- : 20122
-2F804 CJK COMPATIBILITY IDEOGRAPH-2F804
- : 4F60
-2F805 CJK COMPATIBILITY IDEOGRAPH-2F805
- : 4FAE
-2F806 CJK COMPATIBILITY IDEOGRAPH-2F806
- : 4FBB
-2F807 CJK COMPATIBILITY IDEOGRAPH-2F807
- : 5002
-2F808 CJK COMPATIBILITY IDEOGRAPH-2F808
- : 507A
-2F809 CJK COMPATIBILITY IDEOGRAPH-2F809
- : 5099
-2F80A CJK COMPATIBILITY IDEOGRAPH-2F80A
- : 50E7
-2F80B CJK COMPATIBILITY IDEOGRAPH-2F80B
- : 50CF
-2F80C CJK COMPATIBILITY IDEOGRAPH-2F80C
- : 349E
-2F80D CJK COMPATIBILITY IDEOGRAPH-2F80D
- x 5145
- : 2063A
-2F80E CJK COMPATIBILITY IDEOGRAPH-2F80E
- : 514D
-2F80F CJK COMPATIBILITY IDEOGRAPH-2F80F
- : 5154
-2F810 CJK COMPATIBILITY IDEOGRAPH-2F810
- : 5164
-2F811 CJK COMPATIBILITY IDEOGRAPH-2F811
- : 5177
-2F812 CJK COMPATIBILITY IDEOGRAPH-2F812
- : 2051C
-2F813 CJK COMPATIBILITY IDEOGRAPH-2F813
- : 34B9
-2F814 CJK COMPATIBILITY IDEOGRAPH-2F814
- x 5185
- : 5167
-2F815 CJK COMPATIBILITY IDEOGRAPH-2F815
- : 518D
-2F816 CJK COMPATIBILITY IDEOGRAPH-2F816
- : 2054B
-2F817 CJK COMPATIBILITY IDEOGRAPH-2F817
- : 5197
-2F818 CJK COMPATIBILITY IDEOGRAPH-2F818
- : 51A4
-2F819 CJK COMPATIBILITY IDEOGRAPH-2F819
- : 4ECC
-2F81A CJK COMPATIBILITY IDEOGRAPH-2F81A
- : 51AC
-2F81B CJK COMPATIBILITY IDEOGRAPH-2F81B
- : 51B5
-2F81C CJK COMPATIBILITY IDEOGRAPH-2F81C
- : 291DF
-2F81D CJK COMPATIBILITY IDEOGRAPH-2F81D
- : 51F5
-2F81E CJK COMPATIBILITY IDEOGRAPH-2F81E
- : 5203
-2F81F CJK COMPATIBILITY IDEOGRAPH-2F81F
- : 34DF
-2F820 CJK COMPATIBILITY IDEOGRAPH-2F820
- : 523B
-2F821 CJK COMPATIBILITY IDEOGRAPH-2F821
- : 5246
-2F822 CJK COMPATIBILITY IDEOGRAPH-2F822
- : 5272
-2F823 CJK COMPATIBILITY IDEOGRAPH-2F823
- : 5277
-2F824 CJK COMPATIBILITY IDEOGRAPH-2F824
- : 3515
-2F825 CJK COMPATIBILITY IDEOGRAPH-2F825
- : 52C7
-2F826 CJK COMPATIBILITY IDEOGRAPH-2F826
- : 52C9
-2F827 CJK COMPATIBILITY IDEOGRAPH-2F827
- : 52E4
-2F828 CJK COMPATIBILITY IDEOGRAPH-2F828
- : 52FA
-2F829 CJK COMPATIBILITY IDEOGRAPH-2F829
- : 5305
-2F82A CJK COMPATIBILITY IDEOGRAPH-2F82A
- : 5306
-2F82B CJK COMPATIBILITY IDEOGRAPH-2F82B
- : 5317
-2F82C CJK COMPATIBILITY IDEOGRAPH-2F82C
- : 5349
-2F82D CJK COMPATIBILITY IDEOGRAPH-2F82D
- : 5351
-2F82E CJK COMPATIBILITY IDEOGRAPH-2F82E
- : 535A
-2F82F CJK COMPATIBILITY IDEOGRAPH-2F82F
- : 5373
-2F830 CJK COMPATIBILITY IDEOGRAPH-2F830
- : 537D
-2F831 CJK COMPATIBILITY IDEOGRAPH-2F831
- : 537F
-2F832 CJK COMPATIBILITY IDEOGRAPH-2F832
- : 537F
-2F833 CJK COMPATIBILITY IDEOGRAPH-2F833
- : 537F
-2F834 CJK COMPATIBILITY IDEOGRAPH-2F834
- : 20A2C
-2F835 CJK COMPATIBILITY IDEOGRAPH-2F835
- : 7070
-2F836 CJK COMPATIBILITY IDEOGRAPH-2F836
- : 53CA
-2F837 CJK COMPATIBILITY IDEOGRAPH-2F837
- : 53DF
-2F838 CJK COMPATIBILITY IDEOGRAPH-2F838
- : 20B63
-2F839 CJK COMPATIBILITY IDEOGRAPH-2F839
- : 53EB
-2F83A CJK COMPATIBILITY IDEOGRAPH-2F83A
- : 53F1
-2F83B CJK COMPATIBILITY IDEOGRAPH-2F83B
- : 5406
-2F83C CJK COMPATIBILITY IDEOGRAPH-2F83C
- : 549E
-2F83D CJK COMPATIBILITY IDEOGRAPH-2F83D
- : 5438
-2F83E CJK COMPATIBILITY IDEOGRAPH-2F83E
- : 5448
-2F83F CJK COMPATIBILITY IDEOGRAPH-2F83F
- : 5468
-2F840 CJK COMPATIBILITY IDEOGRAPH-2F840
- : 54A2
-2F841 CJK COMPATIBILITY IDEOGRAPH-2F841
- : 54F6
-2F842 CJK COMPATIBILITY IDEOGRAPH-2F842
- : 5510
-2F843 CJK COMPATIBILITY IDEOGRAPH-2F843
- : 5553
-2F844 CJK COMPATIBILITY IDEOGRAPH-2F844
- : 5563
-2F845 CJK COMPATIBILITY IDEOGRAPH-2F845
- : 5584
-2F846 CJK COMPATIBILITY IDEOGRAPH-2F846
- : 5584
-2F847 CJK COMPATIBILITY IDEOGRAPH-2F847
- : 5599
-2F848 CJK COMPATIBILITY IDEOGRAPH-2F848
- : 55AB
-2F849 CJK COMPATIBILITY IDEOGRAPH-2F849
- : 55B3
-2F84A CJK COMPATIBILITY IDEOGRAPH-2F84A
- : 55C2
-2F84B CJK COMPATIBILITY IDEOGRAPH-2F84B
- : 5716
-2F84C CJK COMPATIBILITY IDEOGRAPH-2F84C
- : 5606
-2F84D CJK COMPATIBILITY IDEOGRAPH-2F84D
- : 5717
-2F84E CJK COMPATIBILITY IDEOGRAPH-2F84E
- : 5651
-2F84F CJK COMPATIBILITY IDEOGRAPH-2F84F
- : 5674
-2F850 CJK COMPATIBILITY IDEOGRAPH-2F850
- : 5207
-2F851 CJK COMPATIBILITY IDEOGRAPH-2F851
- : 58EE
-2F852 CJK COMPATIBILITY IDEOGRAPH-2F852
- : 57CE
-2F853 CJK COMPATIBILITY IDEOGRAPH-2F853
- : 57F4
-2F854 CJK COMPATIBILITY IDEOGRAPH-2F854
- : 580D
-2F855 CJK COMPATIBILITY IDEOGRAPH-2F855
- : 578B
-2F856 CJK COMPATIBILITY IDEOGRAPH-2F856
- : 5832
-2F857 CJK COMPATIBILITY IDEOGRAPH-2F857
- : 5831
-2F858 CJK COMPATIBILITY IDEOGRAPH-2F858
- : 58AC
-2F859 CJK COMPATIBILITY IDEOGRAPH-2F859
- : 214E4
-2F85A CJK COMPATIBILITY IDEOGRAPH-2F85A
- x 58F3
- : 58F2
-2F85B CJK COMPATIBILITY IDEOGRAPH-2F85B
- x 21533
- : 58F7
-2F85C CJK COMPATIBILITY IDEOGRAPH-2F85C
- : 5906
-2F85D CJK COMPATIBILITY IDEOGRAPH-2F85D
- : 591A
-2F85E CJK COMPATIBILITY IDEOGRAPH-2F85E
- : 5922
-2F85F CJK COMPATIBILITY IDEOGRAPH-2F85F
- : 5962
-2F860 CJK COMPATIBILITY IDEOGRAPH-2F860
- : 216A8
-2F861 CJK COMPATIBILITY IDEOGRAPH-2F861
- : 216EA
-2F862 CJK COMPATIBILITY IDEOGRAPH-2F862
- : 59EC
-2F863 CJK COMPATIBILITY IDEOGRAPH-2F863
- : 5A1B
-2F864 CJK COMPATIBILITY IDEOGRAPH-2F864
- : 5A27
-2F865 CJK COMPATIBILITY IDEOGRAPH-2F865
- : 59D8
-2F866 CJK COMPATIBILITY IDEOGRAPH-2F866
- : 5A66
-2F867 CJK COMPATIBILITY IDEOGRAPH-2F867
- : 36EE
-2F868 CJK COMPATIBILITY IDEOGRAPH-2F868
- : 36FC
-2F869 CJK COMPATIBILITY IDEOGRAPH-2F869
- : 5B08
-2F86A CJK COMPATIBILITY IDEOGRAPH-2F86A
- : 5B3E
-2F86B CJK COMPATIBILITY IDEOGRAPH-2F86B
- : 5B3E
-2F86C CJK COMPATIBILITY IDEOGRAPH-2F86C
- : 219C8
-2F86D CJK COMPATIBILITY IDEOGRAPH-2F86D
- : 5BC3
-2F86E CJK COMPATIBILITY IDEOGRAPH-2F86E
- : 5BD8
-2F86F CJK COMPATIBILITY IDEOGRAPH-2F86F
- : 5BE7
-2F870 CJK COMPATIBILITY IDEOGRAPH-2F870
- : 5BF3
-2F871 CJK COMPATIBILITY IDEOGRAPH-2F871
- : 21B18
-2F872 CJK COMPATIBILITY IDEOGRAPH-2F872
- : 5BFF
-2F873 CJK COMPATIBILITY IDEOGRAPH-2F873
- : 5C06
-2F874 CJK COMPATIBILITY IDEOGRAPH-2F874
- : 5F53
-2F875 CJK COMPATIBILITY IDEOGRAPH-2F875
- : 5C22
-2F876 CJK COMPATIBILITY IDEOGRAPH-2F876
- : 3781
-2F877 CJK COMPATIBILITY IDEOGRAPH-2F877
- : 5C60
-2F878 CJK COMPATIBILITY IDEOGRAPH-2F878
- : 5C6E
-2F879 CJK COMPATIBILITY IDEOGRAPH-2F879
- : 5CC0
-2F87A CJK COMPATIBILITY IDEOGRAPH-2F87A
- : 5C8D
-2F87B CJK COMPATIBILITY IDEOGRAPH-2F87B
- : 21DE4
-2F87C CJK COMPATIBILITY IDEOGRAPH-2F87C
- : 5D43
-2F87D CJK COMPATIBILITY IDEOGRAPH-2F87D
- : 21DE6
-2F87E CJK COMPATIBILITY IDEOGRAPH-2F87E
- : 5D6E
-2F87F CJK COMPATIBILITY IDEOGRAPH-2F87F
- : 5D6B
-2F880 CJK COMPATIBILITY IDEOGRAPH-2F880
- : 5D7C
-2F881 CJK COMPATIBILITY IDEOGRAPH-2F881
- : 5DE1
-2F882 CJK COMPATIBILITY IDEOGRAPH-2F882
- : 5DE2
-2F883 CJK COMPATIBILITY IDEOGRAPH-2F883
- : 382F
-2F884 CJK COMPATIBILITY IDEOGRAPH-2F884
- : 5DFD
-2F885 CJK COMPATIBILITY IDEOGRAPH-2F885
- : 5E28
-2F886 CJK COMPATIBILITY IDEOGRAPH-2F886
- : 5E3D
-2F887 CJK COMPATIBILITY IDEOGRAPH-2F887
- : 5E69
-2F888 CJK COMPATIBILITY IDEOGRAPH-2F888
- : 3862
-2F889 CJK COMPATIBILITY IDEOGRAPH-2F889
- : 22183
-2F88A CJK COMPATIBILITY IDEOGRAPH-2F88A
- : 387C
-2F88B CJK COMPATIBILITY IDEOGRAPH-2F88B
- : 5EB0
-2F88C CJK COMPATIBILITY IDEOGRAPH-2F88C
- : 5EB3
-2F88D CJK COMPATIBILITY IDEOGRAPH-2F88D
- : 5EB6
-2F88E CJK COMPATIBILITY IDEOGRAPH-2F88E
- : 5ECA
-2F88F CJK COMPATIBILITY IDEOGRAPH-2F88F
- : 2A392
-2F890 CJK COMPATIBILITY IDEOGRAPH-2F890
- : 5EFE
-2F891 CJK COMPATIBILITY IDEOGRAPH-2F891
- : 22331
-2F892 CJK COMPATIBILITY IDEOGRAPH-2F892
- : 22331
-2F893 CJK COMPATIBILITY IDEOGRAPH-2F893
- : 8201
-2F894 CJK COMPATIBILITY IDEOGRAPH-2F894
- : 5F22
-2F895 CJK COMPATIBILITY IDEOGRAPH-2F895
- : 5F22
-2F896 CJK COMPATIBILITY IDEOGRAPH-2F896
- : 38C7
-2F897 CJK COMPATIBILITY IDEOGRAPH-2F897
- : 232B8
-2F898 CJK COMPATIBILITY IDEOGRAPH-2F898
- : 261DA
-2F899 CJK COMPATIBILITY IDEOGRAPH-2F899
- : 5F62
-2F89A CJK COMPATIBILITY IDEOGRAPH-2F89A
- : 5F6B
-2F89B CJK COMPATIBILITY IDEOGRAPH-2F89B
- : 38E3
-2F89C CJK COMPATIBILITY IDEOGRAPH-2F89C
- x 22505
- : 5F9A
-2F89D CJK COMPATIBILITY IDEOGRAPH-2F89D
- : 5FCD
-2F89E CJK COMPATIBILITY IDEOGRAPH-2F89E
- : 5FD7
-2F89F CJK COMPATIBILITY IDEOGRAPH-2F89F
- : 5FF9
-2F8A0 CJK COMPATIBILITY IDEOGRAPH-2F8A0
- : 6081
-2F8A1 CJK COMPATIBILITY IDEOGRAPH-2F8A1
- : 393A
-2F8A2 CJK COMPATIBILITY IDEOGRAPH-2F8A2
- : 391C
-2F8A3 CJK COMPATIBILITY IDEOGRAPH-2F8A3
- : 6094
-2F8A4 CJK COMPATIBILITY IDEOGRAPH-2F8A4
- : 226D4
-2F8A5 CJK COMPATIBILITY IDEOGRAPH-2F8A5
- : 60C7
-2F8A6 CJK COMPATIBILITY IDEOGRAPH-2F8A6
- : 6148
-2F8A7 CJK COMPATIBILITY IDEOGRAPH-2F8A7
- : 614C
-2F8A8 CJK COMPATIBILITY IDEOGRAPH-2F8A8
- : 614E
-2F8A9 CJK COMPATIBILITY IDEOGRAPH-2F8A9
- : 614C
-2F8AA CJK COMPATIBILITY IDEOGRAPH-2F8AA
- : 617A
-2F8AB CJK COMPATIBILITY IDEOGRAPH-2F8AB
- : 618E
-2F8AC CJK COMPATIBILITY IDEOGRAPH-2F8AC
- : 61B2
-2F8AD CJK COMPATIBILITY IDEOGRAPH-2F8AD
- : 61A4
-2F8AE CJK COMPATIBILITY IDEOGRAPH-2F8AE
- : 61AF
-2F8AF CJK COMPATIBILITY IDEOGRAPH-2F8AF
- : 61DE
-2F8B0 CJK COMPATIBILITY IDEOGRAPH-2F8B0
- : 61F2
-2F8B1 CJK COMPATIBILITY IDEOGRAPH-2F8B1
- : 61F6
-2F8B2 CJK COMPATIBILITY IDEOGRAPH-2F8B2
- : 6210
-2F8B3 CJK COMPATIBILITY IDEOGRAPH-2F8B3
- : 621B
-2F8B4 CJK COMPATIBILITY IDEOGRAPH-2F8B4
- : 625D
-2F8B5 CJK COMPATIBILITY IDEOGRAPH-2F8B5
- : 62B1
-2F8B6 CJK COMPATIBILITY IDEOGRAPH-2F8B6
- : 62D4
-2F8B7 CJK COMPATIBILITY IDEOGRAPH-2F8B7
- : 6350
-2F8B8 CJK COMPATIBILITY IDEOGRAPH-2F8B8
- : 22B0C
-2F8B9 CJK COMPATIBILITY IDEOGRAPH-2F8B9
- : 633D
-2F8BA CJK COMPATIBILITY IDEOGRAPH-2F8BA
- : 62FC
-2F8BB CJK COMPATIBILITY IDEOGRAPH-2F8BB
- : 6368
-2F8BC CJK COMPATIBILITY IDEOGRAPH-2F8BC
- : 6383
-2F8BD CJK COMPATIBILITY IDEOGRAPH-2F8BD
- : 63E4
-2F8BE CJK COMPATIBILITY IDEOGRAPH-2F8BE
- : 22BF1
-2F8BF CJK COMPATIBILITY IDEOGRAPH-2F8BF
- : 6422
-2F8C0 CJK COMPATIBILITY IDEOGRAPH-2F8C0
- : 63C5
-2F8C1 CJK COMPATIBILITY IDEOGRAPH-2F8C1
- : 63A9
-2F8C2 CJK COMPATIBILITY IDEOGRAPH-2F8C2
- : 3A2E
-2F8C3 CJK COMPATIBILITY IDEOGRAPH-2F8C3
- : 6469
-2F8C4 CJK COMPATIBILITY IDEOGRAPH-2F8C4
- : 647E
-2F8C5 CJK COMPATIBILITY IDEOGRAPH-2F8C5
- : 649D
-2F8C6 CJK COMPATIBILITY IDEOGRAPH-2F8C6
- : 6477
-2F8C7 CJK COMPATIBILITY IDEOGRAPH-2F8C7
- : 3A6C
-2F8C8 CJK COMPATIBILITY IDEOGRAPH-2F8C8
- : 654F
-2F8C9 CJK COMPATIBILITY IDEOGRAPH-2F8C9
- : 656C
-2F8CA CJK COMPATIBILITY IDEOGRAPH-2F8CA
- : 2300A
-2F8CB CJK COMPATIBILITY IDEOGRAPH-2F8CB
- : 65E3
-2F8CC CJK COMPATIBILITY IDEOGRAPH-2F8CC
- : 66F8
-2F8CD CJK COMPATIBILITY IDEOGRAPH-2F8CD
- : 6649
-2F8CE CJK COMPATIBILITY IDEOGRAPH-2F8CE
- : 3B19
-2F8CF CJK COMPATIBILITY IDEOGRAPH-2F8CF
- : 6691
-2F8D0 CJK COMPATIBILITY IDEOGRAPH-2F8D0
- : 3B08
-2F8D1 CJK COMPATIBILITY IDEOGRAPH-2F8D1
- : 3AE4
-2F8D2 CJK COMPATIBILITY IDEOGRAPH-2F8D2
- : 5192
-2F8D3 CJK COMPATIBILITY IDEOGRAPH-2F8D3
- : 5195
-2F8D4 CJK COMPATIBILITY IDEOGRAPH-2F8D4
- : 6700
-2F8D5 CJK COMPATIBILITY IDEOGRAPH-2F8D5
- : 669C
-2F8D6 CJK COMPATIBILITY IDEOGRAPH-2F8D6
- : 80AD
-2F8D7 CJK COMPATIBILITY IDEOGRAPH-2F8D7
- : 43D9
-2F8D8 CJK COMPATIBILITY IDEOGRAPH-2F8D8
- : 6717
-2F8D9 CJK COMPATIBILITY IDEOGRAPH-2F8D9
- : 671B
-2F8DA CJK COMPATIBILITY IDEOGRAPH-2F8DA
- : 6721
-2F8DB CJK COMPATIBILITY IDEOGRAPH-2F8DB
- : 675E
-2F8DC CJK COMPATIBILITY IDEOGRAPH-2F8DC
- : 6753
-2F8DD CJK COMPATIBILITY IDEOGRAPH-2F8DD
- : 233C3
-2F8DE CJK COMPATIBILITY IDEOGRAPH-2F8DE
- : 3B49
-2F8DF CJK COMPATIBILITY IDEOGRAPH-2F8DF
- : 67FA
-2F8E0 CJK COMPATIBILITY IDEOGRAPH-2F8E0
- : 6785
-2F8E1 CJK COMPATIBILITY IDEOGRAPH-2F8E1
- : 6852
-2F8E2 CJK COMPATIBILITY IDEOGRAPH-2F8E2
- : 6885
-2F8E3 CJK COMPATIBILITY IDEOGRAPH-2F8E3
- : 2346D
-2F8E4 CJK COMPATIBILITY IDEOGRAPH-2F8E4
- : 688E
-2F8E5 CJK COMPATIBILITY IDEOGRAPH-2F8E5
- : 681F
-2F8E6 CJK COMPATIBILITY IDEOGRAPH-2F8E6
- : 6914
-2F8E7 CJK COMPATIBILITY IDEOGRAPH-2F8E7
- : 3B9D
-2F8E8 CJK COMPATIBILITY IDEOGRAPH-2F8E8
- : 6942
-2F8E9 CJK COMPATIBILITY IDEOGRAPH-2F8E9
- : 69A3
-2F8EA CJK COMPATIBILITY IDEOGRAPH-2F8EA
- : 69EA
-2F8EB CJK COMPATIBILITY IDEOGRAPH-2F8EB
- : 6AA8
-2F8EC CJK COMPATIBILITY IDEOGRAPH-2F8EC
- : 236A3
-2F8ED CJK COMPATIBILITY IDEOGRAPH-2F8ED
- : 6ADB
-2F8EE CJK COMPATIBILITY IDEOGRAPH-2F8EE
- : 3C18
-2F8EF CJK COMPATIBILITY IDEOGRAPH-2F8EF
- : 6B21
-2F8F0 CJK COMPATIBILITY IDEOGRAPH-2F8F0
- : 238A7
-2F8F1 CJK COMPATIBILITY IDEOGRAPH-2F8F1
- : 6B54
-2F8F2 CJK COMPATIBILITY IDEOGRAPH-2F8F2
- : 3C4E
-2F8F3 CJK COMPATIBILITY IDEOGRAPH-2F8F3
- : 6B72
-2F8F4 CJK COMPATIBILITY IDEOGRAPH-2F8F4
- : 6B9F
-2F8F5 CJK COMPATIBILITY IDEOGRAPH-2F8F5
- : 6BBA
-2F8F6 CJK COMPATIBILITY IDEOGRAPH-2F8F6
- : 6BBB
-2F8F7 CJK COMPATIBILITY IDEOGRAPH-2F8F7
- : 23A8D
-2F8F8 CJK COMPATIBILITY IDEOGRAPH-2F8F8
- : 21D0B
-2F8F9 CJK COMPATIBILITY IDEOGRAPH-2F8F9
- : 23AFA
-2F8FA CJK COMPATIBILITY IDEOGRAPH-2F8FA
- : 6C4E
-2F8FB CJK COMPATIBILITY IDEOGRAPH-2F8FB
- : 23CBC
-2F8FC CJK COMPATIBILITY IDEOGRAPH-2F8FC
- : 6CBF
-2F8FD CJK COMPATIBILITY IDEOGRAPH-2F8FD
- : 6CCD
-2F8FE CJK COMPATIBILITY IDEOGRAPH-2F8FE
- : 6C67
-2F8FF CJK COMPATIBILITY IDEOGRAPH-2F8FF
- : 6D16
-2F900 CJK COMPATIBILITY IDEOGRAPH-2F900
- : 6D3E
-2F901 CJK COMPATIBILITY IDEOGRAPH-2F901
- : 6D77
-2F902 CJK COMPATIBILITY IDEOGRAPH-2F902
- : 6D41
-2F903 CJK COMPATIBILITY IDEOGRAPH-2F903
- : 6D69
-2F904 CJK COMPATIBILITY IDEOGRAPH-2F904
- : 6D78
-2F905 CJK COMPATIBILITY IDEOGRAPH-2F905
- : 6D85
-2F906 CJK COMPATIBILITY IDEOGRAPH-2F906
- : 23D1E
-2F907 CJK COMPATIBILITY IDEOGRAPH-2F907
- : 6D34
-2F908 CJK COMPATIBILITY IDEOGRAPH-2F908
- : 6E2F
-2F909 CJK COMPATIBILITY IDEOGRAPH-2F909
- : 6E6E
-2F90A CJK COMPATIBILITY IDEOGRAPH-2F90A
- : 3D33
-2F90B CJK COMPATIBILITY IDEOGRAPH-2F90B
- : 6ECB
-2F90C CJK COMPATIBILITY IDEOGRAPH-2F90C
- : 6EC7
-2F90D CJK COMPATIBILITY IDEOGRAPH-2F90D
- : 23ED1
-2F90E CJK COMPATIBILITY IDEOGRAPH-2F90E
- : 6DF9
-2F90F CJK COMPATIBILITY IDEOGRAPH-2F90F
- : 6F6E
-2F910 CJK COMPATIBILITY IDEOGRAPH-2F910
- : 23F5E
-2F911 CJK COMPATIBILITY IDEOGRAPH-2F911
- : 23F8E
-2F912 CJK COMPATIBILITY IDEOGRAPH-2F912
- : 6FC6
-2F913 CJK COMPATIBILITY IDEOGRAPH-2F913
- : 7039
-2F914 CJK COMPATIBILITY IDEOGRAPH-2F914
- : 701E
-2F915 CJK COMPATIBILITY IDEOGRAPH-2F915
- : 701B
-2F916 CJK COMPATIBILITY IDEOGRAPH-2F916
- : 3D96
-2F917 CJK COMPATIBILITY IDEOGRAPH-2F917
- : 704A
-2F918 CJK COMPATIBILITY IDEOGRAPH-2F918
- : 707D
-2F919 CJK COMPATIBILITY IDEOGRAPH-2F919
- : 7077
-2F91A CJK COMPATIBILITY IDEOGRAPH-2F91A
- : 70AD
-2F91B CJK COMPATIBILITY IDEOGRAPH-2F91B
- : 20525
-2F91C CJK COMPATIBILITY IDEOGRAPH-2F91C
- : 7145
-2F91D CJK COMPATIBILITY IDEOGRAPH-2F91D
- : 24263
-2F91E CJK COMPATIBILITY IDEOGRAPH-2F91E
- : 719C
-2F91F CJK COMPATIBILITY IDEOGRAPH-2F91F
- : 243AB
-2F920 CJK COMPATIBILITY IDEOGRAPH-2F920
- : 7228
-2F921 CJK COMPATIBILITY IDEOGRAPH-2F921
- : 7235
-2F922 CJK COMPATIBILITY IDEOGRAPH-2F922
- : 7250
-2F923 CJK COMPATIBILITY IDEOGRAPH-2F923
- : 24608
-2F924 CJK COMPATIBILITY IDEOGRAPH-2F924
- : 7280
-2F925 CJK COMPATIBILITY IDEOGRAPH-2F925
- : 7295
-2F926 CJK COMPATIBILITY IDEOGRAPH-2F926
- : 24735
-2F927 CJK COMPATIBILITY IDEOGRAPH-2F927
- : 24814
-2F928 CJK COMPATIBILITY IDEOGRAPH-2F928
- : 737A
-2F929 CJK COMPATIBILITY IDEOGRAPH-2F929
- : 738B
-2F92A CJK COMPATIBILITY IDEOGRAPH-2F92A
- : 3EAC
-2F92B CJK COMPATIBILITY IDEOGRAPH-2F92B
- : 73A5
-2F92C CJK COMPATIBILITY IDEOGRAPH-2F92C
- : 3EB8
-2F92D CJK COMPATIBILITY IDEOGRAPH-2F92D
- : 3EB8
-2F92E CJK COMPATIBILITY IDEOGRAPH-2F92E
- : 7447
-2F92F CJK COMPATIBILITY IDEOGRAPH-2F92F
- : 745C
-2F930 CJK COMPATIBILITY IDEOGRAPH-2F930
- : 7471
-2F931 CJK COMPATIBILITY IDEOGRAPH-2F931
- : 7485
-2F932 CJK COMPATIBILITY IDEOGRAPH-2F932
- : 74CA
-2F933 CJK COMPATIBILITY IDEOGRAPH-2F933
- : 3F1B
-2F934 CJK COMPATIBILITY IDEOGRAPH-2F934
- : 7524
-2F935 CJK COMPATIBILITY IDEOGRAPH-2F935
- : 24C36
-2F936 CJK COMPATIBILITY IDEOGRAPH-2F936
- : 753E
-2F937 CJK COMPATIBILITY IDEOGRAPH-2F937
- : 24C92
-2F938 CJK COMPATIBILITY IDEOGRAPH-2F938
- : 7570
-2F939 CJK COMPATIBILITY IDEOGRAPH-2F939
- : 2219F
-2F93A CJK COMPATIBILITY IDEOGRAPH-2F93A
- : 7610
-2F93B CJK COMPATIBILITY IDEOGRAPH-2F93B
- : 24FA1
-2F93C CJK COMPATIBILITY IDEOGRAPH-2F93C
- : 24FB8
-2F93D CJK COMPATIBILITY IDEOGRAPH-2F93D
- : 25044
-2F93E CJK COMPATIBILITY IDEOGRAPH-2F93E
- : 3FFC
-2F93F CJK COMPATIBILITY IDEOGRAPH-2F93F
- : 4008
-2F940 CJK COMPATIBILITY IDEOGRAPH-2F940
- : 76F4
-2F941 CJK COMPATIBILITY IDEOGRAPH-2F941
- : 250F3
-2F942 CJK COMPATIBILITY IDEOGRAPH-2F942
- : 250F2
-2F943 CJK COMPATIBILITY IDEOGRAPH-2F943
- : 25119
-2F944 CJK COMPATIBILITY IDEOGRAPH-2F944
- : 25133
-2F945 CJK COMPATIBILITY IDEOGRAPH-2F945
- : 771E
-2F946 CJK COMPATIBILITY IDEOGRAPH-2F946
- : 771F
-2F947 CJK COMPATIBILITY IDEOGRAPH-2F947
- : 771F
-2F948 CJK COMPATIBILITY IDEOGRAPH-2F948
- : 774A
-2F949 CJK COMPATIBILITY IDEOGRAPH-2F949
- : 4039
-2F94A CJK COMPATIBILITY IDEOGRAPH-2F94A
- : 778B
-2F94B CJK COMPATIBILITY IDEOGRAPH-2F94B
- : 4046
-2F94C CJK COMPATIBILITY IDEOGRAPH-2F94C
- : 4096
-2F94D CJK COMPATIBILITY IDEOGRAPH-2F94D
- : 2541D
-2F94E CJK COMPATIBILITY IDEOGRAPH-2F94E
- : 784E
-2F94F CJK COMPATIBILITY IDEOGRAPH-2F94F
- : 788C
-2F950 CJK COMPATIBILITY IDEOGRAPH-2F950
- : 78CC
-2F951 CJK COMPATIBILITY IDEOGRAPH-2F951
- : 40E3
-2F952 CJK COMPATIBILITY IDEOGRAPH-2F952
- : 25626
-2F953 CJK COMPATIBILITY IDEOGRAPH-2F953
- : 7956
-2F954 CJK COMPATIBILITY IDEOGRAPH-2F954
- : 2569A
-2F955 CJK COMPATIBILITY IDEOGRAPH-2F955
- : 256C5
-2F956 CJK COMPATIBILITY IDEOGRAPH-2F956
- : 798F
-2F957 CJK COMPATIBILITY IDEOGRAPH-2F957
- : 79EB
-2F958 CJK COMPATIBILITY IDEOGRAPH-2F958
- : 412F
-2F959 CJK COMPATIBILITY IDEOGRAPH-2F959
- : 7A40
-2F95A CJK COMPATIBILITY IDEOGRAPH-2F95A
- : 7A4A
-2F95B CJK COMPATIBILITY IDEOGRAPH-2F95B
- : 7A4F
-2F95C CJK COMPATIBILITY IDEOGRAPH-2F95C
- : 2597C
-2F95D CJK COMPATIBILITY IDEOGRAPH-2F95D
- : 25AA7
-2F95E CJK COMPATIBILITY IDEOGRAPH-2F95E
- : 25AA7
-2F95F CJK COMPATIBILITY IDEOGRAPH-2F95F
- : 7AEE
-2F960 CJK COMPATIBILITY IDEOGRAPH-2F960
- : 4202
-2F961 CJK COMPATIBILITY IDEOGRAPH-2F961
- : 25BAB
-2F962 CJK COMPATIBILITY IDEOGRAPH-2F962
- : 7BC6
-2F963 CJK COMPATIBILITY IDEOGRAPH-2F963
- : 7BC9
-2F964 CJK COMPATIBILITY IDEOGRAPH-2F964
- : 4227
-2F965 CJK COMPATIBILITY IDEOGRAPH-2F965
- : 25C80
-2F966 CJK COMPATIBILITY IDEOGRAPH-2F966
- : 7CD2
-2F967 CJK COMPATIBILITY IDEOGRAPH-2F967
- : 42A0
-2F968 CJK COMPATIBILITY IDEOGRAPH-2F968
- : 7CE8
-2F969 CJK COMPATIBILITY IDEOGRAPH-2F969
- : 7CE3
-2F96A CJK COMPATIBILITY IDEOGRAPH-2F96A
- : 7D00
-2F96B CJK COMPATIBILITY IDEOGRAPH-2F96B
- : 25F86
-2F96C CJK COMPATIBILITY IDEOGRAPH-2F96C
- : 7D63
-2F96D CJK COMPATIBILITY IDEOGRAPH-2F96D
- : 4301
-2F96E CJK COMPATIBILITY IDEOGRAPH-2F96E
- : 7DC7
-2F96F CJK COMPATIBILITY IDEOGRAPH-2F96F
- : 7E02
-2F970 CJK COMPATIBILITY IDEOGRAPH-2F970
- : 7E45
-2F971 CJK COMPATIBILITY IDEOGRAPH-2F971
- : 4334
-2F972 CJK COMPATIBILITY IDEOGRAPH-2F972
- : 26228
-2F973 CJK COMPATIBILITY IDEOGRAPH-2F973
- : 26247
-2F974 CJK COMPATIBILITY IDEOGRAPH-2F974
- : 4359
-2F975 CJK COMPATIBILITY IDEOGRAPH-2F975
- : 262D9
-2F976 CJK COMPATIBILITY IDEOGRAPH-2F976
- : 7F7A
-2F977 CJK COMPATIBILITY IDEOGRAPH-2F977
- : 2633E
-2F978 CJK COMPATIBILITY IDEOGRAPH-2F978
- : 7F95
-2F979 CJK COMPATIBILITY IDEOGRAPH-2F979
- : 7FFA
-2F97A CJK COMPATIBILITY IDEOGRAPH-2F97A
- : 8005
-2F97B CJK COMPATIBILITY IDEOGRAPH-2F97B
- : 264DA
-2F97C CJK COMPATIBILITY IDEOGRAPH-2F97C
- : 26523
-2F97D CJK COMPATIBILITY IDEOGRAPH-2F97D
- : 8060
-2F97E CJK COMPATIBILITY IDEOGRAPH-2F97E
- : 265A8
-2F97F CJK COMPATIBILITY IDEOGRAPH-2F97F
- : 8070
-2F980 CJK COMPATIBILITY IDEOGRAPH-2F980
- : 2335F
-2F981 CJK COMPATIBILITY IDEOGRAPH-2F981
- : 43D5
-2F982 CJK COMPATIBILITY IDEOGRAPH-2F982
- : 80B2
-2F983 CJK COMPATIBILITY IDEOGRAPH-2F983
- : 8103
-2F984 CJK COMPATIBILITY IDEOGRAPH-2F984
- : 440B
-2F985 CJK COMPATIBILITY IDEOGRAPH-2F985
- : 813E
-2F986 CJK COMPATIBILITY IDEOGRAPH-2F986
- : 5AB5
-2F987 CJK COMPATIBILITY IDEOGRAPH-2F987
- : 267A7
-2F988 CJK COMPATIBILITY IDEOGRAPH-2F988
- : 267B5
-2F989 CJK COMPATIBILITY IDEOGRAPH-2F989
- : 23393
-2F98A CJK COMPATIBILITY IDEOGRAPH-2F98A
- : 2339C
-2F98B CJK COMPATIBILITY IDEOGRAPH-2F98B
- : 8201
-2F98C CJK COMPATIBILITY IDEOGRAPH-2F98C
- : 8204
-2F98D CJK COMPATIBILITY IDEOGRAPH-2F98D
- : 8F9E
-2F98E CJK COMPATIBILITY IDEOGRAPH-2F98E
- : 446B
-2F98F CJK COMPATIBILITY IDEOGRAPH-2F98F
- : 8291
-2F990 CJK COMPATIBILITY IDEOGRAPH-2F990
- : 828B
-2F991 CJK COMPATIBILITY IDEOGRAPH-2F991
- : 829D
-2F992 CJK COMPATIBILITY IDEOGRAPH-2F992
- : 52B3
-2F993 CJK COMPATIBILITY IDEOGRAPH-2F993
- : 82B1
-2F994 CJK COMPATIBILITY IDEOGRAPH-2F994
- : 82B3
-2F995 CJK COMPATIBILITY IDEOGRAPH-2F995
- : 82BD
-2F996 CJK COMPATIBILITY IDEOGRAPH-2F996
- : 82E6
-2F997 CJK COMPATIBILITY IDEOGRAPH-2F997
- : 26B3C
-2F998 CJK COMPATIBILITY IDEOGRAPH-2F998
- : 82E5
-2F999 CJK COMPATIBILITY IDEOGRAPH-2F999
- : 831D
-2F99A CJK COMPATIBILITY IDEOGRAPH-2F99A
- : 8363
-2F99B CJK COMPATIBILITY IDEOGRAPH-2F99B
- : 83AD
-2F99C CJK COMPATIBILITY IDEOGRAPH-2F99C
- : 8323
-2F99D CJK COMPATIBILITY IDEOGRAPH-2F99D
- : 83BD
-2F99E CJK COMPATIBILITY IDEOGRAPH-2F99E
- : 83E7
-2F99F CJK COMPATIBILITY IDEOGRAPH-2F99F
- : 8457
-2F9A0 CJK COMPATIBILITY IDEOGRAPH-2F9A0
- : 8353
-2F9A1 CJK COMPATIBILITY IDEOGRAPH-2F9A1
- : 83CA
-2F9A2 CJK COMPATIBILITY IDEOGRAPH-2F9A2
- : 83CC
-2F9A3 CJK COMPATIBILITY IDEOGRAPH-2F9A3
- : 83DC
-2F9A4 CJK COMPATIBILITY IDEOGRAPH-2F9A4
- : 26C36
-2F9A5 CJK COMPATIBILITY IDEOGRAPH-2F9A5
- : 26D6B
-2F9A6 CJK COMPATIBILITY IDEOGRAPH-2F9A6
- : 26CD5
-2F9A7 CJK COMPATIBILITY IDEOGRAPH-2F9A7
- : 452B
-2F9A8 CJK COMPATIBILITY IDEOGRAPH-2F9A8
- : 84F1
-2F9A9 CJK COMPATIBILITY IDEOGRAPH-2F9A9
- : 84F3
-2F9AA CJK COMPATIBILITY IDEOGRAPH-2F9AA
- : 8516
-2F9AB CJK COMPATIBILITY IDEOGRAPH-2F9AB
- : 273CA
-2F9AC CJK COMPATIBILITY IDEOGRAPH-2F9AC
- : 8564
-2F9AD CJK COMPATIBILITY IDEOGRAPH-2F9AD
- : 26F2C
-2F9AE CJK COMPATIBILITY IDEOGRAPH-2F9AE
- : 455D
-2F9AF CJK COMPATIBILITY IDEOGRAPH-2F9AF
- : 4561
-2F9B0 CJK COMPATIBILITY IDEOGRAPH-2F9B0
- : 26FB1
-2F9B1 CJK COMPATIBILITY IDEOGRAPH-2F9B1
- : 270D2
-2F9B2 CJK COMPATIBILITY IDEOGRAPH-2F9B2
- x 5914
- x 270CD
- x 270F0
- : 456B
-2F9B3 CJK COMPATIBILITY IDEOGRAPH-2F9B3
- : 8650
-2F9B4 CJK COMPATIBILITY IDEOGRAPH-2F9B4
- : 865C
-2F9B5 CJK COMPATIBILITY IDEOGRAPH-2F9B5
- : 8667
-2F9B6 CJK COMPATIBILITY IDEOGRAPH-2F9B6
- x 27205
- : 8669
-2F9B7 CJK COMPATIBILITY IDEOGRAPH-2F9B7
- : 86A9
-2F9B8 CJK COMPATIBILITY IDEOGRAPH-2F9B8
- : 8688
-2F9B9 CJK COMPATIBILITY IDEOGRAPH-2F9B9
- : 870E
-2F9BA CJK COMPATIBILITY IDEOGRAPH-2F9BA
- : 86E2
-2F9BB CJK COMPATIBILITY IDEOGRAPH-2F9BB
- : 8779
-2F9BC CJK COMPATIBILITY IDEOGRAPH-2F9BC
- : 8728
-2F9BD CJK COMPATIBILITY IDEOGRAPH-2F9BD
- : 876B
-2F9BE CJK COMPATIBILITY IDEOGRAPH-2F9BE
- : 8786
-2F9BF CJK COMPATIBILITY IDEOGRAPH-2F9BF
- : 45D7
-2F9C0 CJK COMPATIBILITY IDEOGRAPH-2F9C0
- : 87E1
-2F9C1 CJK COMPATIBILITY IDEOGRAPH-2F9C1
- : 8801
-2F9C2 CJK COMPATIBILITY IDEOGRAPH-2F9C2
- : 45F9
-2F9C3 CJK COMPATIBILITY IDEOGRAPH-2F9C3
- : 8860
-2F9C4 CJK COMPATIBILITY IDEOGRAPH-2F9C4
- : 8863
-2F9C5 CJK COMPATIBILITY IDEOGRAPH-2F9C5
- : 27667
-2F9C6 CJK COMPATIBILITY IDEOGRAPH-2F9C6
- : 88D7
-2F9C7 CJK COMPATIBILITY IDEOGRAPH-2F9C7
- : 88DE
-2F9C8 CJK COMPATIBILITY IDEOGRAPH-2F9C8
- : 4635
-2F9C9 CJK COMPATIBILITY IDEOGRAPH-2F9C9
- : 88FA
-2F9CA CJK COMPATIBILITY IDEOGRAPH-2F9CA
- : 34BB
-2F9CB CJK COMPATIBILITY IDEOGRAPH-2F9CB
- x 4695
- : 278AE
-2F9CC CJK COMPATIBILITY IDEOGRAPH-2F9CC
- : 27966
-2F9CD CJK COMPATIBILITY IDEOGRAPH-2F9CD
- : 46BE
-2F9CE CJK COMPATIBILITY IDEOGRAPH-2F9CE
- : 46C7
-2F9CF CJK COMPATIBILITY IDEOGRAPH-2F9CF
- : 8AA0
-2F9D0 CJK COMPATIBILITY IDEOGRAPH-2F9D0
- : 8AED
-2F9D1 CJK COMPATIBILITY IDEOGRAPH-2F9D1
- : 8B8A
-2F9D2 CJK COMPATIBILITY IDEOGRAPH-2F9D2
- : 8C55
-2F9D3 CJK COMPATIBILITY IDEOGRAPH-2F9D3
- : 27CA8
-2F9D4 CJK COMPATIBILITY IDEOGRAPH-2F9D4
- : 8CAB
-2F9D5 CJK COMPATIBILITY IDEOGRAPH-2F9D5
- : 8CC1
-2F9D6 CJK COMPATIBILITY IDEOGRAPH-2F9D6
- x 25AD4
- : 8D1B
-2F9D7 CJK COMPATIBILITY IDEOGRAPH-2F9D7
- : 8D77
-2F9D8 CJK COMPATIBILITY IDEOGRAPH-2F9D8
- : 27F2F
-2F9D9 CJK COMPATIBILITY IDEOGRAPH-2F9D9
- : 20804
-2F9DA CJK COMPATIBILITY IDEOGRAPH-2F9DA
- : 8DCB
-2F9DB CJK COMPATIBILITY IDEOGRAPH-2F9DB
- : 8DBC
-2F9DC CJK COMPATIBILITY IDEOGRAPH-2F9DC
- : 8DF0
-2F9DD CJK COMPATIBILITY IDEOGRAPH-2F9DD
- : 208DE
-2F9DE CJK COMPATIBILITY IDEOGRAPH-2F9DE
- : 8ED4
-2F9DF CJK COMPATIBILITY IDEOGRAPH-2F9DF
- : 8F38
-2F9E0 CJK COMPATIBILITY IDEOGRAPH-2F9E0
- : 285D2
-2F9E1 CJK COMPATIBILITY IDEOGRAPH-2F9E1
- : 285ED
-2F9E2 CJK COMPATIBILITY IDEOGRAPH-2F9E2
- : 9094
-2F9E3 CJK COMPATIBILITY IDEOGRAPH-2F9E3
- : 90F1
-2F9E4 CJK COMPATIBILITY IDEOGRAPH-2F9E4
- : 9111
-2F9E5 CJK COMPATIBILITY IDEOGRAPH-2F9E5
- : 2872E
-2F9E6 CJK COMPATIBILITY IDEOGRAPH-2F9E6
- : 911B
-2F9E7 CJK COMPATIBILITY IDEOGRAPH-2F9E7
- : 9238
-2F9E8 CJK COMPATIBILITY IDEOGRAPH-2F9E8
- : 92D7
-2F9E9 CJK COMPATIBILITY IDEOGRAPH-2F9E9
- : 92D8
-2F9EA CJK COMPATIBILITY IDEOGRAPH-2F9EA
- : 927C
-2F9EB CJK COMPATIBILITY IDEOGRAPH-2F9EB
- : 93F9
-2F9EC CJK COMPATIBILITY IDEOGRAPH-2F9EC
- : 9415
-2F9ED CJK COMPATIBILITY IDEOGRAPH-2F9ED
- : 28BFA
-2F9EE CJK COMPATIBILITY IDEOGRAPH-2F9EE
- : 958B
-2F9EF CJK COMPATIBILITY IDEOGRAPH-2F9EF
- : 4995
-2F9F0 CJK COMPATIBILITY IDEOGRAPH-2F9F0
- : 95B7
-2F9F1 CJK COMPATIBILITY IDEOGRAPH-2F9F1
- : 28D77
-2F9F2 CJK COMPATIBILITY IDEOGRAPH-2F9F2
- : 49E6
-2F9F3 CJK COMPATIBILITY IDEOGRAPH-2F9F3
- : 96C3
-2F9F4 CJK COMPATIBILITY IDEOGRAPH-2F9F4
- : 5DB2
-2F9F5 CJK COMPATIBILITY IDEOGRAPH-2F9F5
- : 9723
-2F9F6 CJK COMPATIBILITY IDEOGRAPH-2F9F6
- : 29145
-2F9F7 CJK COMPATIBILITY IDEOGRAPH-2F9F7
- : 2921A
-2F9F8 CJK COMPATIBILITY IDEOGRAPH-2F9F8
- : 4A6E
-2F9F9 CJK COMPATIBILITY IDEOGRAPH-2F9F9
- : 4A76
-2F9FA CJK COMPATIBILITY IDEOGRAPH-2F9FA
- : 97E0
-2F9FB CJK COMPATIBILITY IDEOGRAPH-2F9FB
- : 2940A
-2F9FC CJK COMPATIBILITY IDEOGRAPH-2F9FC
- : 4AB2
-2F9FD CJK COMPATIBILITY IDEOGRAPH-2F9FD
- : 29496
-2F9FE CJK COMPATIBILITY IDEOGRAPH-2F9FE
- : 980B
-2F9FF CJK COMPATIBILITY IDEOGRAPH-2F9FF
- : 980B
-2FA00 CJK COMPATIBILITY IDEOGRAPH-2FA00
- : 9829
-2FA01 CJK COMPATIBILITY IDEOGRAPH-2FA01
- : 295B6
-2FA02 CJK COMPATIBILITY IDEOGRAPH-2FA02
- : 98E2
-2FA03 CJK COMPATIBILITY IDEOGRAPH-2FA03
- : 4B33
-2FA04 CJK COMPATIBILITY IDEOGRAPH-2FA04
- : 9929
-2FA05 CJK COMPATIBILITY IDEOGRAPH-2FA05
- : 99A7
-2FA06 CJK COMPATIBILITY IDEOGRAPH-2FA06
- : 99C2
-2FA07 CJK COMPATIBILITY IDEOGRAPH-2FA07
- : 99FE
-2FA08 CJK COMPATIBILITY IDEOGRAPH-2FA08
- : 4BCE
-2FA09 CJK COMPATIBILITY IDEOGRAPH-2FA09
- : 29B30
-2FA0A CJK COMPATIBILITY IDEOGRAPH-2FA0A
- : 9B12
-2FA0B CJK COMPATIBILITY IDEOGRAPH-2FA0B
- : 9C40
-2FA0C CJK COMPATIBILITY IDEOGRAPH-2FA0C
- : 9CFD
-2FA0D CJK COMPATIBILITY IDEOGRAPH-2FA0D
- : 4CCE
-2FA0E CJK COMPATIBILITY IDEOGRAPH-2FA0E
- : 4CED
-2FA0F CJK COMPATIBILITY IDEOGRAPH-2FA0F
- : 9D67
-2FA10 CJK COMPATIBILITY IDEOGRAPH-2FA10
- : 2A0CE
-2FA11 CJK COMPATIBILITY IDEOGRAPH-2FA11
- : 4CF8
-2FA12 CJK COMPATIBILITY IDEOGRAPH-2FA12
- : 2A105
-2FA13 CJK COMPATIBILITY IDEOGRAPH-2FA13
- : 2A20E
-2FA14 CJK COMPATIBILITY IDEOGRAPH-2FA14
- : 2A291
-2FA15 CJK COMPATIBILITY IDEOGRAPH-2FA15
- : 9EBB
-2FA16 CJK COMPATIBILITY IDEOGRAPH-2FA16
- : 4D56
-2FA17 CJK COMPATIBILITY IDEOGRAPH-2FA17
- : 9EF9
-2FA18 CJK COMPATIBILITY IDEOGRAPH-2FA18
- : 9EFE
-2FA19 CJK COMPATIBILITY IDEOGRAPH-2FA19
- : 9F05
-2FA1A CJK COMPATIBILITY IDEOGRAPH-2FA1A
- : 9F0F
-2FA1B CJK COMPATIBILITY IDEOGRAPH-2FA1B
- : 9F16
-2FA1C CJK COMPATIBILITY IDEOGRAPH-2FA1C
- : 9F3B
-2FA1D CJK COMPATIBILITY IDEOGRAPH-2FA1D
- : 2A600
-@@ 2FF80 Unassigned 2FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-2FFFE <not a character>
- * the value 2FFFE is guaranteed not to be a Unicode character at all
-2FFFF <not a character>
- * the value 2FFFF is guaranteed not to be a Unicode character at all
-@@ 3FF80 Unassigned 3FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-3FFFE <not a character>
- * the value 3FFFE is guaranteed not to be a Unicode character at all
-3FFFF <not a character>
- * the value 3FFFF is guaranteed not to be a Unicode character at all
-@@ 4FF80 Unassigned 4FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-4FFFE <not a character>
- * the value 4FFFE is guaranteed not to be a Unicode character at all
-4FFFF <not a character>
- * the value 4FFFF is guaranteed not to be a Unicode character at all
-@@ 5FF80 Unassigned 5FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-5FFFE <not a character>
- * the value 5FFFE is guaranteed not to be a Unicode character at all
-5FFFF <not a character>
- * the value 5FFFF is guaranteed not to be a Unicode character at all
-@@ 6FF80 Unassigned 6FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-6FFFE <not a character>
- * the value 6FFFE is guaranteed not to be a Unicode character at all
-6FFFF <not a character>
- * the value 6FFFF is guaranteed not to be a Unicode character at all
-@@ 7FF80 Unassigned 7FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-7FFFE <not a character>
- * the value 7FFFE is guaranteed not to be a Unicode character at all
-7FFFF <not a character>
- * the value 7FFFF is guaranteed not to be a Unicode character at all
-@@ 8FF80 Unassigned 8FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-8FFFE <not a character>
- * the value 8FFFE is guaranteed not to be a Unicode character at all
-8FFFF <not a character>
- * the value 8FFFF is guaranteed not to be a Unicode character at all
-@@ 9FF80 Unassigned 9FFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-9FFFE <not a character>
- * the value 9FFFE is guaranteed not to be a Unicode character at all
-9FFFF <not a character>
- * the value 9FFFF is guaranteed not to be a Unicode character at all
-@@ AFF80 Unassigned AFFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-AFFFE <not a character>
- * the value AFFFE is guaranteed not to be a Unicode character at all
-AFFFF <not a character>
- * the value AFFFF is guaranteed not to be a Unicode character at all
-@@ BFF80 Unassigned BFFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-BFFFE <not a character>
- * the value BFFFE is guaranteed not to be a Unicode character at all
-BFFFF <not a character>
- * the value BFFFF is guaranteed not to be a Unicode character at all
-@@ CFF80 Unassigned CFFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-CFFFE <not a character>
- * the value CFFFE is guaranteed not to be a Unicode character at all
-CFFFF <not a character>
- * the value CFFFF is guaranteed not to be a Unicode character at all
-@@ DFF80 Unassigned DFFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-DFFFE <not a character>
- * the value DFFFE is guaranteed not to be a Unicode character at all
-DFFFF <not a character>
- * the value DFFFF is guaranteed not to be a Unicode character at all
-@@ E0000 Tags E007F
-@+ Tag characters are deprecated, and their use is strongly discouraged.
-@ Tag identifiers
-E0001 LANGUAGE TAG
-@ Tag components
-E0020 TAG SPACE
-E0021 TAG EXCLAMATION MARK
-E0022 TAG QUOTATION MARK
-E0023 TAG NUMBER SIGN
-E0024 TAG DOLLAR SIGN
-E0025 TAG PERCENT SIGN
-E0026 TAG AMPERSAND
-E0027 TAG APOSTROPHE
-E0028 TAG LEFT PARENTHESIS
-E0029 TAG RIGHT PARENTHESIS
-E002A TAG ASTERISK
-E002B TAG PLUS SIGN
-E002C TAG COMMA
-E002D TAG HYPHEN-MINUS
-E002E TAG FULL STOP
-E002F TAG SOLIDUS
-E0030 TAG DIGIT ZERO
-E0031 TAG DIGIT ONE
-E0032 TAG DIGIT TWO
-E0033 TAG DIGIT THREE
-E0034 TAG DIGIT FOUR
-E0035 TAG DIGIT FIVE
-E0036 TAG DIGIT SIX
-E0037 TAG DIGIT SEVEN
-E0038 TAG DIGIT EIGHT
-E0039 TAG DIGIT NINE
-E003A TAG COLON
-E003B TAG SEMICOLON
-E003C TAG LESS-THAN SIGN
-E003D TAG EQUALS SIGN
-E003E TAG GREATER-THAN SIGN
-E003F TAG QUESTION MARK
-E0040 TAG COMMERCIAL AT
-E0041 TAG LATIN CAPITAL LETTER A
-E0042 TAG LATIN CAPITAL LETTER B
-E0043 TAG LATIN CAPITAL LETTER C
-E0044 TAG LATIN CAPITAL LETTER D
-E0045 TAG LATIN CAPITAL LETTER E
-E0046 TAG LATIN CAPITAL LETTER F
-E0047 TAG LATIN CAPITAL LETTER G
-E0048 TAG LATIN CAPITAL LETTER H
-E0049 TAG LATIN CAPITAL LETTER I
-E004A TAG LATIN CAPITAL LETTER J
-E004B TAG LATIN CAPITAL LETTER K
-E004C TAG LATIN CAPITAL LETTER L
-E004D TAG LATIN CAPITAL LETTER M
-E004E TAG LATIN CAPITAL LETTER N
-E004F TAG LATIN CAPITAL LETTER O
-E0050 TAG LATIN CAPITAL LETTER P
-E0051 TAG LATIN CAPITAL LETTER Q
-E0052 TAG LATIN CAPITAL LETTER R
-E0053 TAG LATIN CAPITAL LETTER S
-E0054 TAG LATIN CAPITAL LETTER T
-E0055 TAG LATIN CAPITAL LETTER U
-E0056 TAG LATIN CAPITAL LETTER V
-E0057 TAG LATIN CAPITAL LETTER W
-E0058 TAG LATIN CAPITAL LETTER X
-E0059 TAG LATIN CAPITAL LETTER Y
-E005A TAG LATIN CAPITAL LETTER Z
-E005B TAG LEFT SQUARE BRACKET
-E005C TAG REVERSE SOLIDUS
-E005D TAG RIGHT SQUARE BRACKET
-E005E TAG CIRCUMFLEX ACCENT
-E005F TAG LOW LINE
-E0060 TAG GRAVE ACCENT
-E0061 TAG LATIN SMALL LETTER A
-E0062 TAG LATIN SMALL LETTER B
-E0063 TAG LATIN SMALL LETTER C
-E0064 TAG LATIN SMALL LETTER D
-E0065 TAG LATIN SMALL LETTER E
-E0066 TAG LATIN SMALL LETTER F
-E0067 TAG LATIN SMALL LETTER G
-E0068 TAG LATIN SMALL LETTER H
-E0069 TAG LATIN SMALL LETTER I
-E006A TAG LATIN SMALL LETTER J
-E006B TAG LATIN SMALL LETTER K
-E006C TAG LATIN SMALL LETTER L
-E006D TAG LATIN SMALL LETTER M
-E006E TAG LATIN SMALL LETTER N
-E006F TAG LATIN SMALL LETTER O
-E0070 TAG LATIN SMALL LETTER P
-E0071 TAG LATIN SMALL LETTER Q
-E0072 TAG LATIN SMALL LETTER R
-E0073 TAG LATIN SMALL LETTER S
-E0074 TAG LATIN SMALL LETTER T
-E0075 TAG LATIN SMALL LETTER U
-E0076 TAG LATIN SMALL LETTER V
-E0077 TAG LATIN SMALL LETTER W
-E0078 TAG LATIN SMALL LETTER X
-E0079 TAG LATIN SMALL LETTER Y
-E007A TAG LATIN SMALL LETTER Z
-E007B TAG LEFT CURLY BRACKET
-E007C TAG VERTICAL LINE
-E007D TAG RIGHT CURLY BRACKET
-E007E TAG TILDE
-E007F CANCEL TAG
-@@ E0100 Variation Selectors Supplement E01EF
-@+ These complete the set started at FE00 to FE0F
-@ Variation selectors
-E0100 VARIATION SELECTOR-17
- * these are abbreviated VS17, and so on
-E0101 VARIATION SELECTOR-18
-E0102 VARIATION SELECTOR-19
-E0103 VARIATION SELECTOR-20
-E0104 VARIATION SELECTOR-21
-E0105 VARIATION SELECTOR-22
-E0106 VARIATION SELECTOR-23
-E0107 VARIATION SELECTOR-24
-E0108 VARIATION SELECTOR-25
-E0109 VARIATION SELECTOR-26
-E010A VARIATION SELECTOR-27
-E010B VARIATION SELECTOR-28
-E010C VARIATION SELECTOR-29
-E010D VARIATION SELECTOR-30
-E010E VARIATION SELECTOR-31
-E010F VARIATION SELECTOR-32
-E0110 VARIATION SELECTOR-33
-E0111 VARIATION SELECTOR-34
-E0112 VARIATION SELECTOR-35
-E0113 VARIATION SELECTOR-36
-E0114 VARIATION SELECTOR-37
-E0115 VARIATION SELECTOR-38
-E0116 VARIATION SELECTOR-39
-E0117 VARIATION SELECTOR-40
-E0118 VARIATION SELECTOR-41
-E0119 VARIATION SELECTOR-42
-E011A VARIATION SELECTOR-43
-E011B VARIATION SELECTOR-44
-E011C VARIATION SELECTOR-45
-E011D VARIATION SELECTOR-46
-E011E VARIATION SELECTOR-47
-E011F VARIATION SELECTOR-48
-E0120 VARIATION SELECTOR-49
-E0121 VARIATION SELECTOR-50
-E0122 VARIATION SELECTOR-51
-E0123 VARIATION SELECTOR-52
-E0124 VARIATION SELECTOR-53
-E0125 VARIATION SELECTOR-54
-E0126 VARIATION SELECTOR-55
-E0127 VARIATION SELECTOR-56
-E0128 VARIATION SELECTOR-57
-E0129 VARIATION SELECTOR-58
-E012A VARIATION SELECTOR-59
-E012B VARIATION SELECTOR-60
-E012C VARIATION SELECTOR-61
-E012D VARIATION SELECTOR-62
-E012E VARIATION SELECTOR-63
-E012F VARIATION SELECTOR-64
-E0130 VARIATION SELECTOR-65
-E0131 VARIATION SELECTOR-66
-E0132 VARIATION SELECTOR-67
-E0133 VARIATION SELECTOR-68
-E0134 VARIATION SELECTOR-69
-E0135 VARIATION SELECTOR-70
-E0136 VARIATION SELECTOR-71
-E0137 VARIATION SELECTOR-72
-E0138 VARIATION SELECTOR-73
-E0139 VARIATION SELECTOR-74
-E013A VARIATION SELECTOR-75
-E013B VARIATION SELECTOR-76
-E013C VARIATION SELECTOR-77
-E013D VARIATION SELECTOR-78
-E013E VARIATION SELECTOR-79
-E013F VARIATION SELECTOR-80
-E0140 VARIATION SELECTOR-81
-E0141 VARIATION SELECTOR-82
-E0142 VARIATION SELECTOR-83
-E0143 VARIATION SELECTOR-84
-E0144 VARIATION SELECTOR-85
-E0145 VARIATION SELECTOR-86
-E0146 VARIATION SELECTOR-87
-E0147 VARIATION SELECTOR-88
-E0148 VARIATION SELECTOR-89
-E0149 VARIATION SELECTOR-90
-E014A VARIATION SELECTOR-91
-E014B VARIATION SELECTOR-92
-E014C VARIATION SELECTOR-93
-E014D VARIATION SELECTOR-94
-E014E VARIATION SELECTOR-95
-E014F VARIATION SELECTOR-96
-E0150 VARIATION SELECTOR-97
-E0151 VARIATION SELECTOR-98
-E0152 VARIATION SELECTOR-99
-E0153 VARIATION SELECTOR-100
-E0154 VARIATION SELECTOR-101
-E0155 VARIATION SELECTOR-102
-E0156 VARIATION SELECTOR-103
-E0157 VARIATION SELECTOR-104
-E0158 VARIATION SELECTOR-105
-E0159 VARIATION SELECTOR-106
-E015A VARIATION SELECTOR-107
-E015B VARIATION SELECTOR-108
-E015C VARIATION SELECTOR-109
-E015D VARIATION SELECTOR-110
-E015E VARIATION SELECTOR-111
-E015F VARIATION SELECTOR-112
-E0160 VARIATION SELECTOR-113
-E0161 VARIATION SELECTOR-114
-E0162 VARIATION SELECTOR-115
-E0163 VARIATION SELECTOR-116
-E0164 VARIATION SELECTOR-117
-E0165 VARIATION SELECTOR-118
-E0166 VARIATION SELECTOR-119
-E0167 VARIATION SELECTOR-120
-E0168 VARIATION SELECTOR-121
-E0169 VARIATION SELECTOR-122
-E016A VARIATION SELECTOR-123
-E016B VARIATION SELECTOR-124
-E016C VARIATION SELECTOR-125
-E016D VARIATION SELECTOR-126
-E016E VARIATION SELECTOR-127
-E016F VARIATION SELECTOR-128
-E0170 VARIATION SELECTOR-129
-E0171 VARIATION SELECTOR-130
-E0172 VARIATION SELECTOR-131
-E0173 VARIATION SELECTOR-132
-E0174 VARIATION SELECTOR-133
-E0175 VARIATION SELECTOR-134
-E0176 VARIATION SELECTOR-135
-E0177 VARIATION SELECTOR-136
-E0178 VARIATION SELECTOR-137
-E0179 VARIATION SELECTOR-138
-E017A VARIATION SELECTOR-139
-E017B VARIATION SELECTOR-140
-E017C VARIATION SELECTOR-141
-E017D VARIATION SELECTOR-142
-E017E VARIATION SELECTOR-143
-E017F VARIATION SELECTOR-144
-E0180 VARIATION SELECTOR-145
-E0181 VARIATION SELECTOR-146
-E0182 VARIATION SELECTOR-147
-E0183 VARIATION SELECTOR-148
-E0184 VARIATION SELECTOR-149
-E0185 VARIATION SELECTOR-150
-E0186 VARIATION SELECTOR-151
-E0187 VARIATION SELECTOR-152
-E0188 VARIATION SELECTOR-153
-E0189 VARIATION SELECTOR-154
-E018A VARIATION SELECTOR-155
-E018B VARIATION SELECTOR-156
-E018C VARIATION SELECTOR-157
-E018D VARIATION SELECTOR-158
-E018E VARIATION SELECTOR-159
-E018F VARIATION SELECTOR-160
-E0190 VARIATION SELECTOR-161
-E0191 VARIATION SELECTOR-162
-E0192 VARIATION SELECTOR-163
-E0193 VARIATION SELECTOR-164
-E0194 VARIATION SELECTOR-165
-E0195 VARIATION SELECTOR-166
-E0196 VARIATION SELECTOR-167
-E0197 VARIATION SELECTOR-168
-E0198 VARIATION SELECTOR-169
-E0199 VARIATION SELECTOR-170
-E019A VARIATION SELECTOR-171
-E019B VARIATION SELECTOR-172
-E019C VARIATION SELECTOR-173
-E019D VARIATION SELECTOR-174
-E019E VARIATION SELECTOR-175
-E019F VARIATION SELECTOR-176
-E01A0 VARIATION SELECTOR-177
-E01A1 VARIATION SELECTOR-178
-E01A2 VARIATION SELECTOR-179
-E01A3 VARIATION SELECTOR-180
-E01A4 VARIATION SELECTOR-181
-E01A5 VARIATION SELECTOR-182
-E01A6 VARIATION SELECTOR-183
-E01A7 VARIATION SELECTOR-184
-E01A8 VARIATION SELECTOR-185
-E01A9 VARIATION SELECTOR-186
-E01AA VARIATION SELECTOR-187
-E01AB VARIATION SELECTOR-188
-E01AC VARIATION SELECTOR-189
-E01AD VARIATION SELECTOR-190
-E01AE VARIATION SELECTOR-191
-E01AF VARIATION SELECTOR-192
-E01B0 VARIATION SELECTOR-193
-E01B1 VARIATION SELECTOR-194
-E01B2 VARIATION SELECTOR-195
-E01B3 VARIATION SELECTOR-196
-E01B4 VARIATION SELECTOR-197
-E01B5 VARIATION SELECTOR-198
-E01B6 VARIATION SELECTOR-199
-E01B7 VARIATION SELECTOR-200
-E01B8 VARIATION SELECTOR-201
-E01B9 VARIATION SELECTOR-202
-E01BA VARIATION SELECTOR-203
-E01BB VARIATION SELECTOR-204
-E01BC VARIATION SELECTOR-205
-E01BD VARIATION SELECTOR-206
-E01BE VARIATION SELECTOR-207
-E01BF VARIATION SELECTOR-208
-E01C0 VARIATION SELECTOR-209
-E01C1 VARIATION SELECTOR-210
-E01C2 VARIATION SELECTOR-211
-E01C3 VARIATION SELECTOR-212
-E01C4 VARIATION SELECTOR-213
-E01C5 VARIATION SELECTOR-214
-E01C6 VARIATION SELECTOR-215
-E01C7 VARIATION SELECTOR-216
-E01C8 VARIATION SELECTOR-217
-E01C9 VARIATION SELECTOR-218
-E01CA VARIATION SELECTOR-219
-E01CB VARIATION SELECTOR-220
-E01CC VARIATION SELECTOR-221
-E01CD VARIATION SELECTOR-222
-E01CE VARIATION SELECTOR-223
-E01CF VARIATION SELECTOR-224
-E01D0 VARIATION SELECTOR-225
-E01D1 VARIATION SELECTOR-226
-E01D2 VARIATION SELECTOR-227
-E01D3 VARIATION SELECTOR-228
-E01D4 VARIATION SELECTOR-229
-E01D5 VARIATION SELECTOR-230
-E01D6 VARIATION SELECTOR-231
-E01D7 VARIATION SELECTOR-232
-E01D8 VARIATION SELECTOR-233
-E01D9 VARIATION SELECTOR-234
-E01DA VARIATION SELECTOR-235
-E01DB VARIATION SELECTOR-236
-E01DC VARIATION SELECTOR-237
-E01DD VARIATION SELECTOR-238
-E01DE VARIATION SELECTOR-239
-E01DF VARIATION SELECTOR-240
-E01E0 VARIATION SELECTOR-241
-E01E1 VARIATION SELECTOR-242
-E01E2 VARIATION SELECTOR-243
-E01E3 VARIATION SELECTOR-244
-E01E4 VARIATION SELECTOR-245
-E01E5 VARIATION SELECTOR-246
-E01E6 VARIATION SELECTOR-247
-E01E7 VARIATION SELECTOR-248
-E01E8 VARIATION SELECTOR-249
-E01E9 VARIATION SELECTOR-250
-E01EA VARIATION SELECTOR-251
-E01EB VARIATION SELECTOR-252
-E01EC VARIATION SELECTOR-253
-E01ED VARIATION SELECTOR-254
-E01EE VARIATION SELECTOR-255
-E01EF VARIATION SELECTOR-256
-@@ EFF80 Unassigned EFFFF
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-EFFFE <not a character>
- * the value EFFFE is guaranteed not to be a Unicode character at all
-EFFFF <not a character>
- * the value EFFFF is guaranteed not to be a Unicode character at all
-@@ FFF80 Supplementary Private Use Area-A FFFFF
-@+ The entire plane is dedicated to private use with the exception of the last two code points.
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-FFFFE <not a character>
- * the value FFFFE is guaranteed not to be a Unicode character at all
-FFFFF <not a character>
- * the value FFFFF is guaranteed not to be a Unicode character at all
-@@ 10FF80 Supplementary Private Use Area-B 10FFFF
-@+ The entire plane is dedicated to private use with the exception of the last two code points.
-@ Noncharacters
-@+ These codes are intended for process-internal uses, but are not permitted for interchange.
-10FFFE <not a character>
- * the value 10FFFE is guaranteed not to be a Unicode character at all
-10FFFF <not a character>
- * the value 10FFFF is guaranteed not to be a Unicode character at all
diff --git a/Master/tlpkg/tlperl/lib/unicore/NormalizationCorrections.txt b/Master/tlpkg/tlperl/lib/unicore/NormalizationCorrections.txt
deleted file mode 100644
index 3c327bc9dab..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/NormalizationCorrections.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-# NormalizationCorrections-5.2.0.txt
-# Date: 2009-05-22, 13:54:00 PDT [KW]
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# The normalization stabilization policy of the Unicode
-# Consortium ordinarily precludes any change to the decomposition
-# for any character, once established in a relevant version
-# of the UnicodeData.txt data file. However, under certain
-# exceptional (and rare) conditions, an error in a decomposition
-# mapping may be discovered that is truly just an unintended
-# typo in the data, and not a matter of dubious interpretation.
-#
-# Whenever such an error may be found, and if it meets the
-# requirements for possible exceptions to normalization
-# stability, the correction is entered in this data file,
-# so that any implementation depending on absolute stability
-# of normalization, *including* any errors in the data, can
-# safely reconstruct the exact state of the data tables at
-# any given version of Unicode.
-#
-# Currently this list has exactly six entries in it, one for the
-# typo found and corrected in Corrigendum #3, and five for
-# the typos and misidentifications found and corrected in
-# Corrigendum #4. All efforts
-# will be made to keep the entries limited to just those fixes.
-#
-# Interpretation of the fields:
-# Field 0: Unicode code point
-# Field 1: Original (erroneous) decomposition
-# Field 2: Corrected decomposition
-# Field 3: Version of Unicode for which the correction was
-# entered into UnicodeData.txt, in n.n.n format.
-# Comment: Indicates the Unicode Corrigendum which documents
-# the correction
-#
-# For more information, see UAX #15, Unicode Normalization Forms.
-#
-F951;96FB;964B;3.2.0 # Corrigendum 3
-2F868;2136A;36FC;4.0.0 # Corrigendum 4
-2F874;5F33;5F53;4.0.0 # Corrigendum 4
-2F91F;43AB;243AB;4.0.0 # Corrigendum 4
-2F95F;7AAE;7AEE;4.0.0 # Corrigendum 4
-2F9BF;4D57;45D7;4.0.0 # Corrigendum 4
diff --git a/Master/tlpkg/tlperl/lib/unicore/PropList.txt b/Master/tlpkg/tlperl/lib/unicore/PropList.txt
deleted file mode 100644
index a15ec5ba9e9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/PropList.txt
+++ /dev/null
@@ -1,1299 +0,0 @@
-# PropList-5.2.0.txt
-# Date: 2009-08-22, 04:58:40 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-0009..000D ; White_Space # Cc [5] <control-0009>..<control-000D>
-0020 ; White_Space # Zs SPACE
-0085 ; White_Space # Cc <control-0085>
-00A0 ; White_Space # Zs NO-BREAK SPACE
-1680 ; White_Space # Zs OGHAM SPACE MARK
-180E ; White_Space # Zs MONGOLIAN VOWEL SEPARATOR
-2000..200A ; White_Space # Zs [11] EN QUAD..HAIR SPACE
-2028 ; White_Space # Zl LINE SEPARATOR
-2029 ; White_Space # Zp PARAGRAPH SEPARATOR
-202F ; White_Space # Zs NARROW NO-BREAK SPACE
-205F ; White_Space # Zs MEDIUM MATHEMATICAL SPACE
-3000 ; White_Space # Zs IDEOGRAPHIC SPACE
-
-# Total code points: 26
-
-# ================================================
-
-200E..200F ; Bidi_Control # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-202A..202E ; Bidi_Control # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-
-# Total code points: 7
-
-# ================================================
-
-200C..200D ; Join_Control # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-
-# Total code points: 2
-
-# ================================================
-
-002D ; Dash # Pd HYPHEN-MINUS
-058A ; Dash # Pd ARMENIAN HYPHEN
-05BE ; Dash # Pd HEBREW PUNCTUATION MAQAF
-1400 ; Dash # Pd CANADIAN SYLLABICS HYPHEN
-1806 ; Dash # Pd MONGOLIAN TODO SOFT HYPHEN
-2010..2015 ; Dash # Pd [6] HYPHEN..HORIZONTAL BAR
-2053 ; Dash # Po SWUNG DASH
-207B ; Dash # Sm SUPERSCRIPT MINUS
-208B ; Dash # Sm SUBSCRIPT MINUS
-2212 ; Dash # Sm MINUS SIGN
-2E17 ; Dash # Pd DOUBLE OBLIQUE HYPHEN
-2E1A ; Dash # Pd HYPHEN WITH DIAERESIS
-301C ; Dash # Pd WAVE DASH
-3030 ; Dash # Pd WAVY DASH
-30A0 ; Dash # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-FE31..FE32 ; Dash # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE58 ; Dash # Pd SMALL EM DASH
-FE63 ; Dash # Pd SMALL HYPHEN-MINUS
-FF0D ; Dash # Pd FULLWIDTH HYPHEN-MINUS
-
-# Total code points: 25
-
-# ================================================
-
-002D ; Hyphen # Pd HYPHEN-MINUS
-00AD ; Hyphen # Cf SOFT HYPHEN
-058A ; Hyphen # Pd ARMENIAN HYPHEN
-1806 ; Hyphen # Pd MONGOLIAN TODO SOFT HYPHEN
-2010..2011 ; Hyphen # Pd [2] HYPHEN..NON-BREAKING HYPHEN
-2E17 ; Hyphen # Pd DOUBLE OBLIQUE HYPHEN
-30FB ; Hyphen # Po KATAKANA MIDDLE DOT
-FE63 ; Hyphen # Pd SMALL HYPHEN-MINUS
-FF0D ; Hyphen # Pd FULLWIDTH HYPHEN-MINUS
-FF65 ; Hyphen # Po HALFWIDTH KATAKANA MIDDLE DOT
-
-# Total code points: 11
-
-# ================================================
-
-0022 ; Quotation_Mark # Po QUOTATION MARK
-0027 ; Quotation_Mark # Po APOSTROPHE
-00AB ; Quotation_Mark # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BB ; Quotation_Mark # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-2018 ; Quotation_Mark # Pi LEFT SINGLE QUOTATION MARK
-2019 ; Quotation_Mark # Pf RIGHT SINGLE QUOTATION MARK
-201A ; Quotation_Mark # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; Quotation_Mark # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; Quotation_Mark # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; Quotation_Mark # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; Quotation_Mark # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2039 ; Quotation_Mark # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; Quotation_Mark # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-300C ; Quotation_Mark # Ps LEFT CORNER BRACKET
-300D ; Quotation_Mark # Pe RIGHT CORNER BRACKET
-300E ; Quotation_Mark # Ps LEFT WHITE CORNER BRACKET
-300F ; Quotation_Mark # Pe RIGHT WHITE CORNER BRACKET
-301D ; Quotation_Mark # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; Quotation_Mark # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-FE41 ; Quotation_Mark # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; Quotation_Mark # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; Quotation_Mark # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; Quotation_Mark # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FF02 ; Quotation_Mark # Po FULLWIDTH QUOTATION MARK
-FF07 ; Quotation_Mark # Po FULLWIDTH APOSTROPHE
-FF62 ; Quotation_Mark # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Quotation_Mark # Pe HALFWIDTH RIGHT CORNER BRACKET
-
-# Total code points: 29
-
-# ================================================
-
-0021 ; Terminal_Punctuation # Po EXCLAMATION MARK
-002C ; Terminal_Punctuation # Po COMMA
-002E ; Terminal_Punctuation # Po FULL STOP
-003A..003B ; Terminal_Punctuation # Po [2] COLON..SEMICOLON
-003F ; Terminal_Punctuation # Po QUESTION MARK
-037E ; Terminal_Punctuation # Po GREEK QUESTION MARK
-0387 ; Terminal_Punctuation # Po GREEK ANO TELEIA
-0589 ; Terminal_Punctuation # Po ARMENIAN FULL STOP
-05C3 ; Terminal_Punctuation # Po HEBREW PUNCTUATION SOF PASUQ
-060C ; Terminal_Punctuation # Po ARABIC COMMA
-061B ; Terminal_Punctuation # Po ARABIC SEMICOLON
-061F ; Terminal_Punctuation # Po ARABIC QUESTION MARK
-06D4 ; Terminal_Punctuation # Po ARABIC FULL STOP
-0700..070A ; Terminal_Punctuation # Po [11] SYRIAC END OF PARAGRAPH..SYRIAC CONTRACTION
-070C ; Terminal_Punctuation # Po SYRIAC HARKLEAN METOBELUS
-07F8..07F9 ; Terminal_Punctuation # Po [2] NKO COMMA..NKO EXCLAMATION MARK
-0830..083E ; Terminal_Punctuation # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0964..0965 ; Terminal_Punctuation # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0E5A..0E5B ; Terminal_Punctuation # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0F08 ; Terminal_Punctuation # Po TIBETAN MARK SBRUL SHAD
-0F0D..0F12 ; Terminal_Punctuation # Po [6] TIBETAN MARK SHAD..TIBETAN MARK RGYA GRAM SHAD
-104A..104B ; Terminal_Punctuation # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION
-1361..1368 ; Terminal_Punctuation # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-166D..166E ; Terminal_Punctuation # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-16EB..16ED ; Terminal_Punctuation # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-17D4..17D6 ; Terminal_Punctuation # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17DA ; Terminal_Punctuation # Po KHMER SIGN KOOMUUT
-1802..1805 ; Terminal_Punctuation # Po [4] MONGOLIAN COMMA..MONGOLIAN FOUR DOTS
-1808..1809 ; Terminal_Punctuation # Po [2] MONGOLIAN MANCHU COMMA..MONGOLIAN MANCHU FULL STOP
-1944..1945 ; Terminal_Punctuation # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1AA8..1AAB ; Terminal_Punctuation # Po [4] TAI THAM SIGN KAAN..TAI THAM SIGN SATKAANKUU
-1B5A..1B5B ; Terminal_Punctuation # Po [2] BALINESE PANTI..BALINESE PAMADA
-1B5D..1B5F ; Terminal_Punctuation # Po [3] BALINESE CARIK PAMUNGKAH..BALINESE CARIK PAREREN
-1C3B..1C3F ; Terminal_Punctuation # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C7E..1C7F ; Terminal_Punctuation # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-203C..203D ; Terminal_Punctuation # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
-2047..2049 ; Terminal_Punctuation # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2E2E ; Terminal_Punctuation # Po REVERSED QUESTION MARK
-3001..3002 ; Terminal_Punctuation # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP
-A4FE..A4FF ; Terminal_Punctuation # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A60D..A60F ; Terminal_Punctuation # Po [3] VAI COMMA..VAI QUESTION MARK
-A6F3..A6F7 ; Terminal_Punctuation # Po [5] BAMUM FULL STOP..BAMUM QUESTION MARK
-A876..A877 ; Terminal_Punctuation # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD
-A8CE..A8CF ; Terminal_Punctuation # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A92F ; Terminal_Punctuation # Po KAYAH LI SIGN SHYA
-A9C7..A9C9 ; Terminal_Punctuation # Po [3] JAVANESE PADA PANGKAT..JAVANESE PADA LUNGSI
-AA5D..AA5F ; Terminal_Punctuation # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
-AADF ; Terminal_Punctuation # Po TAI VIET SYMBOL KOI KOI
-ABEB ; Terminal_Punctuation # Po MEETEI MAYEK CHEIKHEI
-FE50..FE52 ; Terminal_Punctuation # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; Terminal_Punctuation # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FF01 ; Terminal_Punctuation # Po FULLWIDTH EXCLAMATION MARK
-FF0C ; Terminal_Punctuation # Po FULLWIDTH COMMA
-FF0E ; Terminal_Punctuation # Po FULLWIDTH FULL STOP
-FF1A..FF1B ; Terminal_Punctuation # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1F ; Terminal_Punctuation # Po FULLWIDTH QUESTION MARK
-FF61 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF64 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC COMMA
-1039F ; Terminal_Punctuation # Po UGARITIC WORD DIVIDER
-103D0 ; Terminal_Punctuation # Po OLD PERSIAN WORD DIVIDER
-10857 ; Terminal_Punctuation # Po IMPERIAL ARAMAIC SECTION SIGN
-1091F ; Terminal_Punctuation # Po PHOENICIAN WORD SEPARATOR
-10B3A..10B3F ; Terminal_Punctuation # Po [6] TINY TWO DOTS OVER ONE DOT PUNCTUATION..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-110BE..110C1 ; Terminal_Punctuation # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12470..12473 ; Terminal_Punctuation # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-
-# Total code points: 161
-
-# ================================================
-
-005E ; Other_Math # Sk CIRCUMFLEX ACCENT
-03D0..03D2 ; Other_Math # L& [3] GREEK BETA SYMBOL..GREEK UPSILON WITH HOOK SYMBOL
-03D5 ; Other_Math # L& GREEK PHI SYMBOL
-03F0..03F1 ; Other_Math # L& [2] GREEK KAPPA SYMBOL..GREEK RHO SYMBOL
-03F4..03F5 ; Other_Math # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-2016 ; Other_Math # Po DOUBLE VERTICAL LINE
-2032..2034 ; Other_Math # Po [3] PRIME..TRIPLE PRIME
-2040 ; Other_Math # Pc CHARACTER TIE
-2061..2064 ; Other_Math # Cf [4] FUNCTION APPLICATION..INVISIBLE PLUS
-207D ; Other_Math # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Other_Math # Pe SUPERSCRIPT RIGHT PARENTHESIS
-208D ; Other_Math # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Other_Math # Pe SUBSCRIPT RIGHT PARENTHESIS
-20D0..20DC ; Other_Math # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20E1 ; Other_Math # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E5..20E6 ; Other_Math # Mn [2] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20EB..20EF ; Other_Math # Mn [5] COMBINING LONG DOUBLE SOLIDUS OVERLAY..COMBINING RIGHT ARROW BELOW
-2102 ; Other_Math # L& DOUBLE-STRUCK CAPITAL C
-210A..2113 ; Other_Math # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; Other_Math # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Other_Math # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Other_Math # L& DOUBLE-STRUCK CAPITAL Z
-2128 ; Other_Math # L& BLACK-LETTER CAPITAL Z
-2129 ; Other_Math # So TURNED GREEK SMALL LETTER IOTA
-212C..212D ; Other_Math # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
-212F..2131 ; Other_Math # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F
-2133..2134 ; Other_Math # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O
-2135..2138 ; Other_Math # Lo [4] ALEF SYMBOL..DALET SYMBOL
-213C..213F ; Other_Math # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; Other_Math # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-2195..2199 ; Other_Math # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219C..219F ; Other_Math # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A1..21A2 ; Other_Math # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A4..21A5 ; Other_Math # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A7 ; Other_Math # So DOWNWARDS ARROW FROM BAR
-21A9..21AD ; Other_Math # So [5] LEFTWARDS ARROW WITH HOOK..LEFT RIGHT WAVE ARROW
-21B0..21B1 ; Other_Math # So [2] UPWARDS ARROW WITH TIP LEFTWARDS..UPWARDS ARROW WITH TIP RIGHTWARDS
-21B6..21B7 ; Other_Math # So [2] ANTICLOCKWISE TOP SEMICIRCLE ARROW..CLOCKWISE TOP SEMICIRCLE ARROW
-21BC..21CD ; Other_Math # So [18] LEFTWARDS HARPOON WITH BARB UPWARDS..LEFTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; Other_Math # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D3 ; Other_Math # So DOWNWARDS DOUBLE ARROW
-21D5..21DB ; Other_Math # So [7] UP DOWN DOUBLE ARROW..RIGHTWARDS TRIPLE ARROW
-21DD ; Other_Math # So RIGHTWARDS SQUIGGLE ARROW
-21E4..21E5 ; Other_Math # So [2] LEFTWARDS ARROW TO BAR..RIGHTWARDS ARROW TO BAR
-23B4..23B5 ; Other_Math # So [2] TOP SQUARE BRACKET..BOTTOM SQUARE BRACKET
-23B7 ; Other_Math # So RADICAL SYMBOL BOTTOM
-23D0 ; Other_Math # So VERTICAL LINE EXTENSION
-23E2 ; Other_Math # So WHITE TRAPEZIUM
-25A0..25A1 ; Other_Math # So [2] BLACK SQUARE..WHITE SQUARE
-25AE..25B6 ; Other_Math # So [9] BLACK VERTICAL RECTANGLE..BLACK RIGHT-POINTING TRIANGLE
-25BC..25C0 ; Other_Math # So [5] BLACK DOWN-POINTING TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C6..25C7 ; Other_Math # So [2] BLACK DIAMOND..WHITE DIAMOND
-25CA..25CB ; Other_Math # So [2] LOZENGE..WHITE CIRCLE
-25CF..25D3 ; Other_Math # So [5] BLACK CIRCLE..CIRCLE WITH UPPER HALF BLACK
-25E2 ; Other_Math # So BLACK LOWER RIGHT TRIANGLE
-25E4 ; Other_Math # So BLACK UPPER LEFT TRIANGLE
-25E7..25EC ; Other_Math # So [6] SQUARE WITH LEFT HALF BLACK..WHITE UP-POINTING TRIANGLE WITH DOT
-2605..2606 ; Other_Math # So [2] BLACK STAR..WHITE STAR
-2640 ; Other_Math # So FEMALE SIGN
-2642 ; Other_Math # So MALE SIGN
-2660..2663 ; Other_Math # So [4] BLACK SPADE SUIT..BLACK CLUB SUIT
-266D..266E ; Other_Math # So [2] MUSIC FLAT SIGN..MUSIC NATURAL SIGN
-27C5 ; Other_Math # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Other_Math # Pe RIGHT S-SHAPED BAG DELIMITER
-27E6 ; Other_Math # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Other_Math # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Other_Math # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Other_Math # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Other_Math # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Other_Math # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Other_Math # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Other_Math # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Other_Math # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Other_Math # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2983 ; Other_Math # Ps LEFT WHITE CURLY BRACKET
-2984 ; Other_Math # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Other_Math # Ps LEFT WHITE PARENTHESIS
-2986 ; Other_Math # Pe RIGHT WHITE PARENTHESIS
-2987 ; Other_Math # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Other_Math # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Other_Math # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Other_Math # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Other_Math # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Other_Math # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Other_Math # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Other_Math # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Other_Math # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Other_Math # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Other_Math # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Other_Math # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Other_Math # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Other_Math # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Other_Math # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Other_Math # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Other_Math # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Other_Math # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-29D8 ; Other_Math # Ps LEFT WIGGLY FENCE
-29D9 ; Other_Math # Pe RIGHT WIGGLY FENCE
-29DA ; Other_Math # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Other_Math # Pe RIGHT DOUBLE WIGGLY FENCE
-29FC ; Other_Math # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Other_Math # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-FE61 ; Other_Math # Po SMALL ASTERISK
-FE63 ; Other_Math # Pd SMALL HYPHEN-MINUS
-FE68 ; Other_Math # Po SMALL REVERSE SOLIDUS
-FF3C ; Other_Math # Po FULLWIDTH REVERSE SOLIDUS
-FF3E ; Other_Math # Sk FULLWIDTH CIRCUMFLEX ACCENT
-1D400..1D454 ; Other_Math # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Other_Math # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Other_Math # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Other_Math # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Other_Math # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Other_Math # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Other_Math # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Other_Math # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Other_Math # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Other_Math # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Other_Math # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Other_Math # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Other_Math # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Other_Math # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Other_Math # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Other_Math # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Other_Math # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Other_Math # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Other_Math # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Other_Math # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; Other_Math # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; Other_Math # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; Other_Math # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; Other_Math # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; Other_Math # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; Other_Math # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; Other_Math # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; Other_Math # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; Other_Math # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; Other_Math # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; Other_Math # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 1216
-
-# ================================================
-
-0030..0039 ; Hex_Digit # Nd [10] DIGIT ZERO..DIGIT NINE
-0041..0046 ; Hex_Digit # L& [6] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER F
-0061..0066 ; Hex_Digit # L& [6] LATIN SMALL LETTER A..LATIN SMALL LETTER F
-FF10..FF19 ; Hex_Digit # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF21..FF26 ; Hex_Digit # L& [6] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER F
-FF41..FF46 ; Hex_Digit # L& [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER F
-
-# Total code points: 44
-
-# ================================================
-
-0030..0039 ; ASCII_Hex_Digit # Nd [10] DIGIT ZERO..DIGIT NINE
-0041..0046 ; ASCII_Hex_Digit # L& [6] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER F
-0061..0066 ; ASCII_Hex_Digit # L& [6] LATIN SMALL LETTER A..LATIN SMALL LETTER F
-
-# Total code points: 22
-
-# ================================================
-
-0345 ; Other_Alphabetic # Mn COMBINING GREEK YPOGEGRAMMENI
-05B0..05BD ; Other_Alphabetic # Mn [14] HEBREW POINT SHEVA..HEBREW POINT METEG
-05BF ; Other_Alphabetic # Mn HEBREW POINT RAFE
-05C1..05C2 ; Other_Alphabetic # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Other_Alphabetic # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Other_Alphabetic # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; Other_Alphabetic # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..0657 ; Other_Alphabetic # Mn [13] ARABIC FATHATAN..ARABIC INVERTED DAMMA
-0659..065E ; Other_Alphabetic # Mn [6] ARABIC ZWARAKAY..ARABIC FATHA WITH TWO DOTS
-0670 ; Other_Alphabetic # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Other_Alphabetic # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06E1..06E4 ; Other_Alphabetic # Mn [4] ARABIC SMALL HIGH DOTLESS HEAD OF KHAH..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; Other_Alphabetic # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06ED ; Other_Alphabetic # Mn ARABIC SMALL LOW MEEM
-0711 ; Other_Alphabetic # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..073F ; Other_Alphabetic # Mn [16] SYRIAC PTHAHA ABOVE..SYRIAC RWAHA
-07A6..07B0 ; Other_Alphabetic # Mn [11] THAANA ABAFILI..THAANA SUKUN
-0816..0817 ; Other_Alphabetic # Mn [2] SAMARITAN MARK IN..SAMARITAN MARK IN-ALAF
-081B..0823 ; Other_Alphabetic # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; Other_Alphabetic # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082C ; Other_Alphabetic # Mn [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN
-0900..0902 ; Other_Alphabetic # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; Other_Alphabetic # Mc DEVANAGARI SIGN VISARGA
-093E..0940 ; Other_Alphabetic # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; Other_Alphabetic # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; Other_Alphabetic # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; Other_Alphabetic # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0955 ; Other_Alphabetic # Mn DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Other_Alphabetic # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; Other_Alphabetic # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; Other_Alphabetic # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-09BE..09C0 ; Other_Alphabetic # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; Other_Alphabetic # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; Other_Alphabetic # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Other_Alphabetic # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09D7 ; Other_Alphabetic # Mc BENGALI AU LENGTH MARK
-09E2..09E3 ; Other_Alphabetic # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Other_Alphabetic # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; Other_Alphabetic # Mc GURMUKHI SIGN VISARGA
-0A3E..0A40 ; Other_Alphabetic # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; Other_Alphabetic # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Other_Alphabetic # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4C ; Other_Alphabetic # Mn [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU
-0A51 ; Other_Alphabetic # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; Other_Alphabetic # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Other_Alphabetic # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Other_Alphabetic # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; Other_Alphabetic # Mc GUJARATI SIGN VISARGA
-0ABE..0AC0 ; Other_Alphabetic # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; Other_Alphabetic # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Other_Alphabetic # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; Other_Alphabetic # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Other_Alphabetic # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0AE2..0AE3 ; Other_Alphabetic # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Other_Alphabetic # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; Other_Alphabetic # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B3E ; Other_Alphabetic # Mc ORIYA VOWEL SIGN AA
-0B3F ; Other_Alphabetic # Mn ORIYA VOWEL SIGN I
-0B40 ; Other_Alphabetic # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; Other_Alphabetic # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; Other_Alphabetic # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Other_Alphabetic # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B56 ; Other_Alphabetic # Mn ORIYA AI LENGTH MARK
-0B57 ; Other_Alphabetic # Mc ORIYA AU LENGTH MARK
-0B62..0B63 ; Other_Alphabetic # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Other_Alphabetic # Mn TAMIL SIGN ANUSVARA
-0BBE..0BBF ; Other_Alphabetic # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; Other_Alphabetic # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; Other_Alphabetic # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Other_Alphabetic # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Other_Alphabetic # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BD7 ; Other_Alphabetic # Mc TAMIL AU LENGTH MARK
-0C01..0C03 ; Other_Alphabetic # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C3E..0C40 ; Other_Alphabetic # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; Other_Alphabetic # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; Other_Alphabetic # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4C ; Other_Alphabetic # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
-0C55..0C56 ; Other_Alphabetic # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Other_Alphabetic # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C82..0C83 ; Other_Alphabetic # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0CBE ; Other_Alphabetic # Mc KANNADA VOWEL SIGN AA
-0CBF ; Other_Alphabetic # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; Other_Alphabetic # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; Other_Alphabetic # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; Other_Alphabetic # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Other_Alphabetic # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC ; Other_Alphabetic # Mn KANNADA VOWEL SIGN AU
-0CD5..0CD6 ; Other_Alphabetic # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CE2..0CE3 ; Other_Alphabetic # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D02..0D03 ; Other_Alphabetic # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D3E..0D40 ; Other_Alphabetic # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; Other_Alphabetic # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; Other_Alphabetic # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Other_Alphabetic # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D57 ; Other_Alphabetic # Mc MALAYALAM AU LENGTH MARK
-0D62..0D63 ; Other_Alphabetic # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D82..0D83 ; Other_Alphabetic # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0DCF..0DD1 ; Other_Alphabetic # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; Other_Alphabetic # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Other_Alphabetic # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; Other_Alphabetic # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; Other_Alphabetic # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E31 ; Other_Alphabetic # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; Other_Alphabetic # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E4D ; Other_Alphabetic # Mn THAI CHARACTER NIKHAHIT
-0EB1 ; Other_Alphabetic # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; Other_Alphabetic # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Other_Alphabetic # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0ECD ; Other_Alphabetic # Mn LAO NIGGAHITA
-0F71..0F7E ; Other_Alphabetic # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; Other_Alphabetic # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F81 ; Other_Alphabetic # Mn [2] TIBETAN VOWEL SIGN REVERSED I..TIBETAN VOWEL SIGN REVERSED II
-0F90..0F97 ; Other_Alphabetic # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Other_Alphabetic # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-102B..102C ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; Other_Alphabetic # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; Other_Alphabetic # Mc MYANMAR VOWEL SIGN E
-1032..1036 ; Other_Alphabetic # Mn [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA
-1038 ; Other_Alphabetic # Mc MYANMAR SIGN VISARGA
-103B..103C ; Other_Alphabetic # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; Other_Alphabetic # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1056..1057 ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; Other_Alphabetic # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Other_Alphabetic # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1062 ; Other_Alphabetic # Mc MYANMAR VOWEL SIGN SGAW KAREN EU
-1067..1068 ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1071..1074 ; Other_Alphabetic # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Other_Alphabetic # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; Other_Alphabetic # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-109C ; Other_Alphabetic # Mc MYANMAR VOWEL SIGN AITON A
-109D ; Other_Alphabetic # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; Other_Alphabetic # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1713 ; Other_Alphabetic # Mn [2] TAGALOG VOWEL SIGN I..TAGALOG VOWEL SIGN U
-1732..1733 ; Other_Alphabetic # Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
-1752..1753 ; Other_Alphabetic # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Other_Alphabetic # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B6 ; Other_Alphabetic # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; Other_Alphabetic # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; Other_Alphabetic # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; Other_Alphabetic # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; Other_Alphabetic # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-18A9 ; Other_Alphabetic # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Other_Alphabetic # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; Other_Alphabetic # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; Other_Alphabetic # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; Other_Alphabetic # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Other_Alphabetic # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; Other_Alphabetic # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; Other_Alphabetic # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B0..19C0 ; Other_Alphabetic # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9 ; Other_Alphabetic # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-1A17..1A18 ; Other_Alphabetic # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; Other_Alphabetic # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A55 ; Other_Alphabetic # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; Other_Alphabetic # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; Other_Alphabetic # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; Other_Alphabetic # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A61 ; Other_Alphabetic # Mc TAI THAM VOWEL SIGN A
-1A62 ; Other_Alphabetic # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; Other_Alphabetic # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; Other_Alphabetic # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; Other_Alphabetic # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A74 ; Other_Alphabetic # Mn [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
-1B00..1B03 ; Other_Alphabetic # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; Other_Alphabetic # Mc BALINESE SIGN BISAH
-1B35 ; Other_Alphabetic # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; Other_Alphabetic # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; Other_Alphabetic # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; Other_Alphabetic # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; Other_Alphabetic # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; Other_Alphabetic # Mn BALINESE VOWEL SIGN PEPET
-1B43 ; Other_Alphabetic # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1B80..1B81 ; Other_Alphabetic # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; Other_Alphabetic # Mc SUNDANESE SIGN PANGWISAD
-1BA1 ; Other_Alphabetic # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; Other_Alphabetic # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; Other_Alphabetic # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; Other_Alphabetic # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C24..1C2B ; Other_Alphabetic # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; Other_Alphabetic # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; Other_Alphabetic # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1CF2 ; Other_Alphabetic # Mc VEDIC SIGN ARDHAVISARGA
-24B6..24E9 ; Other_Alphabetic # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2DE0..2DFF ; Other_Alphabetic # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-A823..A824 ; Other_Alphabetic # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; Other_Alphabetic # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; Other_Alphabetic # Mc SYLOTI NAGRI VOWEL SIGN OO
-A880..A881 ; Other_Alphabetic # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A8B4..A8C3 ; Other_Alphabetic # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A926..A92A ; Other_Alphabetic # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
-A947..A951 ; Other_Alphabetic # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952 ; Other_Alphabetic # Mc REJANG CONSONANT SIGN H
-A980..A982 ; Other_Alphabetic # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; Other_Alphabetic # Mc JAVANESE SIGN WIGNYAN
-A9B3 ; Other_Alphabetic # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; Other_Alphabetic # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; Other_Alphabetic # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; Other_Alphabetic # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; Other_Alphabetic # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9BF ; Other_Alphabetic # Mc [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA
-AA29..AA2E ; Other_Alphabetic # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; Other_Alphabetic # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; Other_Alphabetic # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; Other_Alphabetic # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; Other_Alphabetic # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Other_Alphabetic # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; Other_Alphabetic # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; Other_Alphabetic # Mc CHAM CONSONANT SIGN FINAL H
-AAB0 ; Other_Alphabetic # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; Other_Alphabetic # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Other_Alphabetic # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE ; Other_Alphabetic # Mn TAI VIET VOWEL AM
-ABE3..ABE4 ; Other_Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; Other_Alphabetic # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; Other_Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; Other_Alphabetic # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; Other_Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-10A01..10A03 ; Other_Alphabetic # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Other_Alphabetic # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Other_Alphabetic # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-11082 ; Other_Alphabetic # Mc KAITHI SIGN VISARGA
-110B0..110B2 ; Other_Alphabetic # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; Other_Alphabetic # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; Other_Alphabetic # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-
-# Total code points: 759
-
-# ================================================
-
-3006 ; Ideographic # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; Ideographic # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; Ideographic # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3038..303A ; Ideographic # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-3400..4DB5 ; Ideographic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; Ideographic # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-F900..FA2D ; Ideographic # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Ideographic # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-20000..2A6D6 ; Ideographic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; Ideographic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 75408
-
-# ================================================
-
-005E ; Diacritic # Sk CIRCUMFLEX ACCENT
-0060 ; Diacritic # Sk GRAVE ACCENT
-00A8 ; Diacritic # Sk DIAERESIS
-00AF ; Diacritic # Sk MACRON
-00B4 ; Diacritic # Sk ACUTE ACCENT
-00B7 ; Diacritic # Po MIDDLE DOT
-00B8 ; Diacritic # Sk CEDILLA
-02B0..02C1 ; Diacritic # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C5 ; Diacritic # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6..02D1 ; Diacritic # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02DF ; Diacritic # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E0..02E4 ; Diacritic # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5..02EB ; Diacritic # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; Diacritic # Lm MODIFIER LETTER VOICING
-02ED ; Diacritic # Sk MODIFIER LETTER UNASPIRATED
-02EE ; Diacritic # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; Diacritic # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0300..034E ; Diacritic # Mn [79] COMBINING GRAVE ACCENT..COMBINING UPWARDS ARROW BELOW
-0350..0357 ; Diacritic # Mn [8] COMBINING RIGHT ARROWHEAD ABOVE..COMBINING RIGHT HALF RING ABOVE
-035D..0362 ; Diacritic # Mn [6] COMBINING DOUBLE BREVE..COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-0374 ; Diacritic # Lm GREEK NUMERAL SIGN
-0375 ; Diacritic # Sk GREEK LOWER NUMERAL SIGN
-037A ; Diacritic # Lm GREEK YPOGEGRAMMENI
-0384..0385 ; Diacritic # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0483..0487 ; Diacritic # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0559 ; Diacritic # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0591..05A1 ; Diacritic # Mn [17] HEBREW ACCENT ETNAHTA..HEBREW ACCENT PAZER
-05A3..05BD ; Diacritic # Mn [27] HEBREW ACCENT MUNAH..HEBREW POINT METEG
-05BF ; Diacritic # Mn HEBREW POINT RAFE
-05C1..05C2 ; Diacritic # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4 ; Diacritic # Mn HEBREW MARK UPPER DOT
-064B..0652 ; Diacritic # Mn [8] ARABIC FATHATAN..ARABIC SUKUN
-0657..0658 ; Diacritic # Mn [2] ARABIC INVERTED DAMMA..ARABIC MARK NOON GHUNNA
-06DF..06E0 ; Diacritic # Mn [2] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
-06E5..06E6 ; Diacritic # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06EA..06EC ; Diacritic # Mn [3] ARABIC EMPTY CENTRE LOW STOP..ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
-0730..074A ; Diacritic # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Diacritic # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Diacritic # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-07F4..07F5 ; Diacritic # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-0818..0819 ; Diacritic # Mn [2] SAMARITAN MARK OCCLUSION..SAMARITAN MARK DAGESH
-093C ; Diacritic # Mn DEVANAGARI SIGN NUKTA
-094D ; Diacritic # Mn DEVANAGARI SIGN VIRAMA
-0951..0954 ; Diacritic # Mn [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT
-0971 ; Diacritic # Lm DEVANAGARI SIGN HIGH SPACING DOT
-09BC ; Diacritic # Mn BENGALI SIGN NUKTA
-09CD ; Diacritic # Mn BENGALI SIGN VIRAMA
-0A3C ; Diacritic # Mn GURMUKHI SIGN NUKTA
-0A4D ; Diacritic # Mn GURMUKHI SIGN VIRAMA
-0ABC ; Diacritic # Mn GUJARATI SIGN NUKTA
-0ACD ; Diacritic # Mn GUJARATI SIGN VIRAMA
-0B3C ; Diacritic # Mn ORIYA SIGN NUKTA
-0B4D ; Diacritic # Mn ORIYA SIGN VIRAMA
-0BCD ; Diacritic # Mn TAMIL SIGN VIRAMA
-0C4D ; Diacritic # Mn TELUGU SIGN VIRAMA
-0CBC ; Diacritic # Mn KANNADA SIGN NUKTA
-0CCD ; Diacritic # Mn KANNADA SIGN VIRAMA
-0D4D ; Diacritic # Mn MALAYALAM SIGN VIRAMA
-0DCA ; Diacritic # Mn SINHALA SIGN AL-LAKUNA
-0E47..0E4C ; Diacritic # Mn [6] THAI CHARACTER MAITAIKHU..THAI CHARACTER THANTHAKHAT
-0E4E ; Diacritic # Mn THAI CHARACTER YAMAKKAN
-0EC8..0ECC ; Diacritic # Mn [5] LAO TONE MAI EK..LAO CANCELLATION MARK
-0F18..0F19 ; Diacritic # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Diacritic # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Diacritic # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Diacritic # Mn TIBETAN MARK TSA -PHRU
-0F3E..0F3F ; Diacritic # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F82..0F84 ; Diacritic # Mn [3] TIBETAN SIGN NYI ZLA NAA DA..TIBETAN MARK HALANTA
-0F86..0F87 ; Diacritic # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0FC6 ; Diacritic # Mn TIBETAN SYMBOL PADMA GDAN
-1037 ; Diacritic # Mn MYANMAR SIGN DOT BELOW
-1039..103A ; Diacritic # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-1087..108C ; Diacritic # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; Diacritic # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108F ; Diacritic # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109B ; Diacritic # Mc [2] MYANMAR SIGN KHAMTI TONE-1..MYANMAR SIGN KHAMTI TONE-3
-17C9..17D3 ; Diacritic # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; Diacritic # Mn KHMER SIGN ATTHACAN
-1939..193B ; Diacritic # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A75..1A7C ; Diacritic # Mn [8] TAI THAM SIGN TONE-1..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Diacritic # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B34 ; Diacritic # Mn BALINESE SIGN REREKAN
-1B44 ; Diacritic # Mc BALINESE ADEG ADEG
-1B6B..1B73 ; Diacritic # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1BAA ; Diacritic # Mc SUNDANESE SIGN PAMAAEH
-1C36..1C37 ; Diacritic # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1C78..1C7D ; Diacritic # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CD0..1CD2 ; Diacritic # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD3 ; Diacritic # Po VEDIC SIGN NIHSHVASA
-1CD4..1CE0 ; Diacritic # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; Diacritic # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; Diacritic # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Diacritic # Mn VEDIC SIGN TIRYAK
-1D2C..1D61 ; Diacritic # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D6A ; Diacritic # L& [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
-1DC4..1DCF ; Diacritic # Mn [12] COMBINING MACRON-ACUTE..COMBINING ZIGZAG BELOW
-1DFD..1DFF ; Diacritic # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1FBD ; Diacritic # Sk GREEK KORONIS
-1FBF..1FC1 ; Diacritic # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FCD..1FCF ; Diacritic # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FDD..1FDF ; Diacritic # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FED..1FEF ; Diacritic # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FFD..1FFE ; Diacritic # Sk [2] GREEK OXIA..GREEK DASIA
-2CEF..2CF1 ; Diacritic # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2E2F ; Diacritic # Lm VERTICAL TILDE
-302A..302F ; Diacritic # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Diacritic # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B..309C ; Diacritic # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30FC ; Diacritic # Lm KATAKANA-HIRAGANA PROLONGED SOUND MARK
-A66F ; Diacritic # Mn COMBINING CYRILLIC VZMET
-A67C..A67D ; Diacritic # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A67F ; Diacritic # Lm CYRILLIC PAYEROK
-A6F0..A6F1 ; Diacritic # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A717..A71F ; Diacritic # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; Diacritic # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A788 ; Diacritic # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A8C4 ; Diacritic # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Diacritic # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A92B..A92D ; Diacritic # Mn [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU
-A92E ; Diacritic # Po KAYAH LI SIGN CWI
-A953 ; Diacritic # Mc REJANG VIRAMA
-A9B3 ; Diacritic # Mn JAVANESE SIGN CECAK TELU
-A9C0 ; Diacritic # Mc JAVANESE PANGKON
-AA7B ; Diacritic # Mc MYANMAR SIGN PAO KAREN TONE
-AABF ; Diacritic # Mn TAI VIET TONE MAI EK
-AAC0 ; Diacritic # Lo TAI VIET TONE MAI NUENG
-AAC1 ; Diacritic # Mn TAI VIET TONE MAI THO
-AAC2 ; Diacritic # Lo TAI VIET TONE MAI SONG
-ABEC ; Diacritic # Mc MEETEI MAYEK LUM IYEK
-ABED ; Diacritic # Mn MEETEI MAYEK APUN IYEK
-FB1E ; Diacritic # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE20..FE26 ; Diacritic # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FF3E ; Diacritic # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF40 ; Diacritic # Sk FULLWIDTH GRAVE ACCENT
-FF70 ; Diacritic # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF9E..FF9F ; Diacritic # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE3 ; Diacritic # Sk FULLWIDTH MACRON
-110B9..110BA ; Diacritic # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D167..1D169 ; Diacritic # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16D..1D172 ; Diacritic # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; Diacritic # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Diacritic # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Diacritic # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-
-# Total code points: 639
-
-# ================================================
-
-00B7 ; Extender # Po MIDDLE DOT
-02D0..02D1 ; Extender # Lm [2] MODIFIER LETTER TRIANGULAR COLON..MODIFIER LETTER HALF TRIANGULAR COLON
-0640 ; Extender # Lm ARABIC TATWEEL
-07FA ; Extender # Lm NKO LAJANYALAN
-0E46 ; Extender # Lm THAI CHARACTER MAIYAMOK
-0EC6 ; Extender # Lm LAO KO LA
-1843 ; Extender # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1AA7 ; Extender # Lm TAI THAM SIGN MAI YAMOK
-1C36 ; Extender # Mn LEPCHA SIGN RAN
-1C7B ; Extender # Lm OL CHIKI RELAA
-3005 ; Extender # Lm IDEOGRAPHIC ITERATION MARK
-3031..3035 ; Extender # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-309D..309E ; Extender # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-30FC..30FE ; Extender # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-A015 ; Extender # Lm YI SYLLABLE WU
-A60C ; Extender # Lm VAI SYLLABLE LENGTHENER
-A9CF ; Extender # Lm JAVANESE PANGRANGKEP
-AA70 ; Extender # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AADD ; Extender # Lm TAI VIET SYMBOL SAM
-FF70 ; Extender # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-
-# Total code points: 28
-
-# ================================================
-
-02B0..02B8 ; Other_Lowercase # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02C0..02C1 ; Other_Lowercase # Lm [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
-02E0..02E4 ; Other_Lowercase # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0345 ; Other_Lowercase # Mn COMBINING GREEK YPOGEGRAMMENI
-037A ; Other_Lowercase # Lm GREEK YPOGEGRAMMENI
-1D2C..1D61 ; Other_Lowercase # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D78 ; Other_Lowercase # Lm MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; Other_Lowercase # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-2090..2094 ; Other_Lowercase # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2170..217F ; Other_Lowercase # Nl [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-24D0..24E9 ; Other_Lowercase # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C7D ; Other_Lowercase # Lm MODIFIER LETTER CAPITAL V
-A770 ; Other_Lowercase # Lm MODIFIER LETTER US
-
-# Total code points: 159
-
-# ================================================
-
-2160..216F ; Other_Uppercase # Nl [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
-24B6..24CF ; Other_Uppercase # So [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
-
-# Total code points: 42
-
-# ================================================
-
-FDD0..FDEF ; Noncharacter_Code_Point # Cn [32] <noncharacter-FDD0>..<noncharacter-FDEF>
-FFFE..FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-FFFE>..<noncharacter-FFFF>
-1FFFE..1FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-1FFFE>..<noncharacter-1FFFF>
-2FFFE..2FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-2FFFE>..<noncharacter-2FFFF>
-3FFFE..3FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-3FFFE>..<noncharacter-3FFFF>
-4FFFE..4FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-4FFFE>..<noncharacter-4FFFF>
-5FFFE..5FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-5FFFE>..<noncharacter-5FFFF>
-6FFFE..6FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-6FFFE>..<noncharacter-6FFFF>
-7FFFE..7FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-7FFFE>..<noncharacter-7FFFF>
-8FFFE..8FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-8FFFE>..<noncharacter-8FFFF>
-9FFFE..9FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-9FFFE>..<noncharacter-9FFFF>
-AFFFE..AFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-AFFFE>..<noncharacter-AFFFF>
-BFFFE..BFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-BFFFE>..<noncharacter-BFFFF>
-CFFFE..CFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-CFFFE>..<noncharacter-CFFFF>
-DFFFE..DFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-DFFFE>..<noncharacter-DFFFF>
-EFFFE..EFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-EFFFE>..<noncharacter-EFFFF>
-FFFFE..FFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
-10FFFE..10FFFF; Noncharacter_Code_Point # Cn [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
-
-# Total code points: 66
-
-# ================================================
-
-09BE ; Other_Grapheme_Extend # Mc BENGALI VOWEL SIGN AA
-09D7 ; Other_Grapheme_Extend # Mc BENGALI AU LENGTH MARK
-0B3E ; Other_Grapheme_Extend # Mc ORIYA VOWEL SIGN AA
-0B57 ; Other_Grapheme_Extend # Mc ORIYA AU LENGTH MARK
-0BBE ; Other_Grapheme_Extend # Mc TAMIL VOWEL SIGN AA
-0BD7 ; Other_Grapheme_Extend # Mc TAMIL AU LENGTH MARK
-0CC2 ; Other_Grapheme_Extend # Mc KANNADA VOWEL SIGN UU
-0CD5..0CD6 ; Other_Grapheme_Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0D3E ; Other_Grapheme_Extend # Mc MALAYALAM VOWEL SIGN AA
-0D57 ; Other_Grapheme_Extend # Mc MALAYALAM AU LENGTH MARK
-0DCF ; Other_Grapheme_Extend # Mc SINHALA VOWEL SIGN AELA-PILLA
-0DDF ; Other_Grapheme_Extend # Mc SINHALA VOWEL SIGN GAYANUKITTA
-200C..200D ; Other_Grapheme_Extend # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-FF9E..FF9F ; Other_Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-1D165 ; Other_Grapheme_Extend # Mc MUSICAL SYMBOL COMBINING STEM
-1D16E..1D172 ; Other_Grapheme_Extend # Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
-
-# Total code points: 23
-
-# ================================================
-
-2FF0..2FF1 ; IDS_Binary_Operator # So [2] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF4..2FFB ; IDS_Binary_Operator # So [8] IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-
-# Total code points: 10
-
-# ================================================
-
-2FF2..2FF3 ; IDS_Trinary_Operator # So [2] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-
-# Total code points: 2
-
-# ================================================
-
-2E80..2E99 ; Radical # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; Radical # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; Radical # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-
-# Total code points: 329
-
-# ================================================
-
-3400..4DB5 ; Unified_Ideograph # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; Unified_Ideograph # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-FA0E..FA0F ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA0E..CJK COMPATIBILITY IDEOGRAPH-FA0F
-FA11 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA11
-FA13..FA14 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA13..CJK COMPATIBILITY IDEOGRAPH-FA14
-FA1F ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA1F
-FA21 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA21
-FA23..FA24 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA23..CJK COMPATIBILITY IDEOGRAPH-FA24
-FA27..FA29 ; Unified_Ideograph # Lo [3] CJK COMPATIBILITY IDEOGRAPH-FA27..CJK COMPATIBILITY IDEOGRAPH-FA29
-20000..2A6D6 ; Unified_Ideograph # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; Unified_Ideograph # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-
-# Total code points: 74394
-
-# ================================================
-
-034F ; Other_Default_Ignorable_Code_Point # Mn COMBINING GRAPHEME JOINER
-115F..1160 ; Other_Default_Ignorable_Code_Point # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-2065..2069 ; Other_Default_Ignorable_Code_Point # Cn [5] <reserved-2065>..<reserved-2069>
-3164 ; Other_Default_Ignorable_Code_Point # Lo HANGUL FILLER
-FFA0 ; Other_Default_Ignorable_Code_Point # Lo HALFWIDTH HANGUL FILLER
-FFF0..FFF8 ; Other_Default_Ignorable_Code_Point # Cn [9] <reserved-FFF0>..<reserved-FFF8>
-E0000 ; Other_Default_Ignorable_Code_Point # Cn <reserved-E0000>
-E0002..E001F ; Other_Default_Ignorable_Code_Point # Cn [30] <reserved-E0002>..<reserved-E001F>
-E0080..E00FF ; Other_Default_Ignorable_Code_Point # Cn [128] <reserved-E0080>..<reserved-E00FF>
-E01F0..E0FFF ; Other_Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
-
-# Total code points: 3778
-
-# ================================================
-
-0149 ; Deprecated # L& LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-0F77 ; Deprecated # Mn TIBETAN VOWEL SIGN VOCALIC RR
-0F79 ; Deprecated # Mn TIBETAN VOWEL SIGN VOCALIC LL
-17A3..17A4 ; Deprecated # Lo [2] KHMER INDEPENDENT VOWEL QAQ..KHMER INDEPENDENT VOWEL QAA
-206A..206F ; Deprecated # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2329 ; Deprecated # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Deprecated # Pe RIGHT-POINTING ANGLE BRACKET
-E0001 ; Deprecated # Cf LANGUAGE TAG
-E0020..E007F ; Deprecated # Cf [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 110
-
-# ================================================
-
-0069..006A ; Soft_Dotted # L& [2] LATIN SMALL LETTER I..LATIN SMALL LETTER J
-012F ; Soft_Dotted # L& LATIN SMALL LETTER I WITH OGONEK
-0249 ; Soft_Dotted # L& LATIN SMALL LETTER J WITH STROKE
-0268 ; Soft_Dotted # L& LATIN SMALL LETTER I WITH STROKE
-029D ; Soft_Dotted # L& LATIN SMALL LETTER J WITH CROSSED-TAIL
-02B2 ; Soft_Dotted # Lm MODIFIER LETTER SMALL J
-03F3 ; Soft_Dotted # L& GREEK LETTER YOT
-0456 ; Soft_Dotted # L& CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0458 ; Soft_Dotted # L& CYRILLIC SMALL LETTER JE
-1D62 ; Soft_Dotted # L& LATIN SUBSCRIPT SMALL LETTER I
-1D96 ; Soft_Dotted # L& LATIN SMALL LETTER I WITH RETROFLEX HOOK
-1DA4 ; Soft_Dotted # Lm MODIFIER LETTER SMALL I WITH STROKE
-1DA8 ; Soft_Dotted # Lm MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-1E2D ; Soft_Dotted # L& LATIN SMALL LETTER I WITH TILDE BELOW
-1ECB ; Soft_Dotted # L& LATIN SMALL LETTER I WITH DOT BELOW
-2071 ; Soft_Dotted # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2148..2149 ; Soft_Dotted # L& [2] DOUBLE-STRUCK ITALIC SMALL I..DOUBLE-STRUCK ITALIC SMALL J
-2C7C ; Soft_Dotted # L& LATIN SUBSCRIPT SMALL LETTER J
-1D422..1D423 ; Soft_Dotted # L& [2] MATHEMATICAL BOLD SMALL I..MATHEMATICAL BOLD SMALL J
-1D456..1D457 ; Soft_Dotted # L& [2] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL J
-1D48A..1D48B ; Soft_Dotted # L& [2] MATHEMATICAL BOLD ITALIC SMALL I..MATHEMATICAL BOLD ITALIC SMALL J
-1D4BE..1D4BF ; Soft_Dotted # L& [2] MATHEMATICAL SCRIPT SMALL I..MATHEMATICAL SCRIPT SMALL J
-1D4F2..1D4F3 ; Soft_Dotted # L& [2] MATHEMATICAL BOLD SCRIPT SMALL I..MATHEMATICAL BOLD SCRIPT SMALL J
-1D526..1D527 ; Soft_Dotted # L& [2] MATHEMATICAL FRAKTUR SMALL I..MATHEMATICAL FRAKTUR SMALL J
-1D55A..1D55B ; Soft_Dotted # L& [2] MATHEMATICAL DOUBLE-STRUCK SMALL I..MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D58E..1D58F ; Soft_Dotted # L& [2] MATHEMATICAL BOLD FRAKTUR SMALL I..MATHEMATICAL BOLD FRAKTUR SMALL J
-1D5C2..1D5C3 ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF SMALL I..MATHEMATICAL SANS-SERIF SMALL J
-1D5F6..1D5F7 ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF BOLD SMALL I..MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D62A..1D62B ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF ITALIC SMALL I..MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D65E..1D65F ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D692..1D693 ; Soft_Dotted # L& [2] MATHEMATICAL MONOSPACE SMALL I..MATHEMATICAL MONOSPACE SMALL J
-
-# Total code points: 46
-
-# ================================================
-
-0E40..0E44 ; Logical_Order_Exception # Lo [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI
-0EC0..0EC4 ; Logical_Order_Exception # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-AAB5..AAB6 ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9 ; Logical_Order_Exception # Lo TAI VIET VOWEL UEA
-AABB..AABC ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY
-
-# Total code points: 15
-
-# ================================================
-
-2118 ; Other_ID_Start # So SCRIPT CAPITAL P
-212E ; Other_ID_Start # So ESTIMATED SYMBOL
-309B..309C ; Other_ID_Start # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-
-# Total code points: 4
-
-# ================================================
-
-00B7 ; Other_ID_Continue # Po MIDDLE DOT
-0387 ; Other_ID_Continue # Po GREEK ANO TELEIA
-1369..1371 ; Other_ID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
-
-# Total code points: 11
-
-# ================================================
-
-0021 ; STerm # Po EXCLAMATION MARK
-002E ; STerm # Po FULL STOP
-003F ; STerm # Po QUESTION MARK
-055C ; STerm # Po ARMENIAN EXCLAMATION MARK
-055E ; STerm # Po ARMENIAN QUESTION MARK
-0589 ; STerm # Po ARMENIAN FULL STOP
-061F ; STerm # Po ARABIC QUESTION MARK
-06D4 ; STerm # Po ARABIC FULL STOP
-0700..0702 ; STerm # Po [3] SYRIAC END OF PARAGRAPH..SYRIAC SUBLINEAR FULL STOP
-07F9 ; STerm # Po NKO EXCLAMATION MARK
-0964..0965 ; STerm # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-104A..104B ; STerm # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION
-1362 ; STerm # Po ETHIOPIC FULL STOP
-1367..1368 ; STerm # Po [2] ETHIOPIC QUESTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
-166E ; STerm # Po CANADIAN SYLLABICS FULL STOP
-1803 ; STerm # Po MONGOLIAN FULL STOP
-1809 ; STerm # Po MONGOLIAN MANCHU FULL STOP
-1944..1945 ; STerm # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1B5A..1B5B ; STerm # Po [2] BALINESE PANTI..BALINESE PAMADA
-1B5E..1B5F ; STerm # Po [2] BALINESE CARIK SIKI..BALINESE CARIK PAREREN
-1C3B..1C3C ; STerm # Po [2] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C7E..1C7F ; STerm # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-203C..203D ; STerm # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
-2047..2049 ; STerm # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2E2E ; STerm # Po REVERSED QUESTION MARK
-3002 ; STerm # Po IDEOGRAPHIC FULL STOP
-A4FF ; STerm # Po LISU PUNCTUATION FULL STOP
-A60E..A60F ; STerm # Po [2] VAI FULL STOP..VAI QUESTION MARK
-A6F3 ; STerm # Po BAMUM FULL STOP
-A6F7 ; STerm # Po BAMUM QUESTION MARK
-A876..A877 ; STerm # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD
-A8CE..A8CF ; STerm # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A92F ; STerm # Po KAYAH LI SIGN SHYA
-A9C8..A9C9 ; STerm # Po [2] JAVANESE PADA LINGSA..JAVANESE PADA LUNGSI
-AA5D..AA5F ; STerm # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
-ABEB ; STerm # Po MEETEI MAYEK CHEIKHEI
-FE52 ; STerm # Po SMALL FULL STOP
-FE56..FE57 ; STerm # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK
-FF01 ; STerm # Po FULLWIDTH EXCLAMATION MARK
-FF0E ; STerm # Po FULLWIDTH FULL STOP
-FF1F ; STerm # Po FULLWIDTH QUESTION MARK
-FF61 ; STerm # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-110BE..110C1 ; STerm # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-
-# Total code points: 66
-
-# ================================================
-
-180B..180D ; Variation_Selector # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-FE00..FE0F ; Variation_Selector # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-E0100..E01EF ; Variation_Selector # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 259
-
-# ================================================
-
-0009..000D ; Pattern_White_Space # Cc [5] <control-0009>..<control-000D>
-0020 ; Pattern_White_Space # Zs SPACE
-0085 ; Pattern_White_Space # Cc <control-0085>
-200E..200F ; Pattern_White_Space # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-2028 ; Pattern_White_Space # Zl LINE SEPARATOR
-2029 ; Pattern_White_Space # Zp PARAGRAPH SEPARATOR
-
-# Total code points: 11
-
-# ================================================
-
-0021..0023 ; Pattern_Syntax # Po [3] EXCLAMATION MARK..NUMBER SIGN
-0024 ; Pattern_Syntax # Sc DOLLAR SIGN
-0025..0027 ; Pattern_Syntax # Po [3] PERCENT SIGN..APOSTROPHE
-0028 ; Pattern_Syntax # Ps LEFT PARENTHESIS
-0029 ; Pattern_Syntax # Pe RIGHT PARENTHESIS
-002A ; Pattern_Syntax # Po ASTERISK
-002B ; Pattern_Syntax # Sm PLUS SIGN
-002C ; Pattern_Syntax # Po COMMA
-002D ; Pattern_Syntax # Pd HYPHEN-MINUS
-002E..002F ; Pattern_Syntax # Po [2] FULL STOP..SOLIDUS
-003A..003B ; Pattern_Syntax # Po [2] COLON..SEMICOLON
-003C..003E ; Pattern_Syntax # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-003F..0040 ; Pattern_Syntax # Po [2] QUESTION MARK..COMMERCIAL AT
-005B ; Pattern_Syntax # Ps LEFT SQUARE BRACKET
-005C ; Pattern_Syntax # Po REVERSE SOLIDUS
-005D ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET
-005E ; Pattern_Syntax # Sk CIRCUMFLEX ACCENT
-0060 ; Pattern_Syntax # Sk GRAVE ACCENT
-007B ; Pattern_Syntax # Ps LEFT CURLY BRACKET
-007C ; Pattern_Syntax # Sm VERTICAL LINE
-007D ; Pattern_Syntax # Pe RIGHT CURLY BRACKET
-007E ; Pattern_Syntax # Sm TILDE
-00A1 ; Pattern_Syntax # Po INVERTED EXCLAMATION MARK
-00A2..00A5 ; Pattern_Syntax # Sc [4] CENT SIGN..YEN SIGN
-00A6..00A7 ; Pattern_Syntax # So [2] BROKEN BAR..SECTION SIGN
-00A9 ; Pattern_Syntax # So COPYRIGHT SIGN
-00AB ; Pattern_Syntax # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; Pattern_Syntax # Sm NOT SIGN
-00AE ; Pattern_Syntax # So REGISTERED SIGN
-00B0 ; Pattern_Syntax # So DEGREE SIGN
-00B1 ; Pattern_Syntax # Sm PLUS-MINUS SIGN
-00B6 ; Pattern_Syntax # So PILCROW SIGN
-00BB ; Pattern_Syntax # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BF ; Pattern_Syntax # Po INVERTED QUESTION MARK
-00D7 ; Pattern_Syntax # Sm MULTIPLICATION SIGN
-00F7 ; Pattern_Syntax # Sm DIVISION SIGN
-2010..2015 ; Pattern_Syntax # Pd [6] HYPHEN..HORIZONTAL BAR
-2016..2017 ; Pattern_Syntax # Po [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
-2018 ; Pattern_Syntax # Pi LEFT SINGLE QUOTATION MARK
-2019 ; Pattern_Syntax # Pf RIGHT SINGLE QUOTATION MARK
-201A ; Pattern_Syntax # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; Pattern_Syntax # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; Pattern_Syntax # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; Pattern_Syntax # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; Pattern_Syntax # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020..2027 ; Pattern_Syntax # Po [8] DAGGER..HYPHENATION POINT
-2030..2038 ; Pattern_Syntax # Po [9] PER MILLE SIGN..CARET
-2039 ; Pattern_Syntax # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; Pattern_Syntax # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B..203E ; Pattern_Syntax # Po [4] REFERENCE MARK..OVERLINE
-2041..2043 ; Pattern_Syntax # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-2044 ; Pattern_Syntax # Sm FRACTION SLASH
-2045 ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH QUILL
-2047..2051 ; Pattern_Syntax # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; Pattern_Syntax # Sm COMMERCIAL MINUS SIGN
-2053 ; Pattern_Syntax # Po SWUNG DASH
-2055..205E ; Pattern_Syntax # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-2190..2194 ; Pattern_Syntax # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; Pattern_Syntax # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219A..219B ; Pattern_Syntax # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; Pattern_Syntax # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; Pattern_Syntax # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; Pattern_Syntax # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; Pattern_Syntax # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; Pattern_Syntax # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; Pattern_Syntax # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; Pattern_Syntax # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; Pattern_Syntax # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21CD ; Pattern_Syntax # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Pattern_Syntax # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; Pattern_Syntax # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D2 ; Pattern_Syntax # Sm RIGHTWARDS DOUBLE ARROW
-21D3 ; Pattern_Syntax # So DOWNWARDS DOUBLE ARROW
-21D4 ; Pattern_Syntax # Sm LEFT RIGHT DOUBLE ARROW
-21D5..21F3 ; Pattern_Syntax # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-21F4..22FF ; Pattern_Syntax # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; Pattern_Syntax # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; Pattern_Syntax # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..231F ; Pattern_Syntax # So [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
-2320..2321 ; Pattern_Syntax # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; Pattern_Syntax # So [7] FROWN..KEYBOARD
-2329 ; Pattern_Syntax # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Pattern_Syntax # Pe RIGHT-POINTING ANGLE BRACKET
-232B..237B ; Pattern_Syntax # So [81] ERASE TO THE LEFT..NOT CHECK MARK
-237C ; Pattern_Syntax # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..239A ; Pattern_Syntax # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-239B..23B3 ; Pattern_Syntax # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; Pattern_Syntax # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; Pattern_Syntax # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; Pattern_Syntax # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-23E9..23FF ; Pattern_Syntax # Cn [23] <reserved-23E9>..<reserved-23FF>
-2400..2426 ; Pattern_Syntax # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2427..243F ; Pattern_Syntax # Cn [25] <reserved-2427>..<reserved-243F>
-2440..244A ; Pattern_Syntax # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-244B..245F ; Pattern_Syntax # Cn [21] <reserved-244B>..<reserved-245F>
-2500..25B6 ; Pattern_Syntax # So [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
-25B7 ; Pattern_Syntax # Sm WHITE RIGHT-POINTING TRIANGLE
-25B8..25C0 ; Pattern_Syntax # So [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C1 ; Pattern_Syntax # Sm WHITE LEFT-POINTING TRIANGLE
-25C2..25F7 ; Pattern_Syntax # So [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; Pattern_Syntax # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..266E ; Pattern_Syntax # So [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN
-266F ; Pattern_Syntax # Sm MUSIC SHARP SIGN
-2670..26CD ; Pattern_Syntax # So [94] WEST SYRIAC CROSS..DISABLED CAR
-26CE ; Pattern_Syntax # Cn <reserved-26CE>
-26CF..26E1 ; Pattern_Syntax # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E2 ; Pattern_Syntax # Cn <reserved-26E2>
-26E3 ; Pattern_Syntax # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E4..26E7 ; Pattern_Syntax # Cn [4] <reserved-26E4>..<reserved-26E7>
-26E8..26FF ; Pattern_Syntax # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2700 ; Pattern_Syntax # Cn <reserved-2700>
-2701..2704 ; Pattern_Syntax # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2705 ; Pattern_Syntax # Cn <reserved-2705>
-2706..2709 ; Pattern_Syntax # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270A..270B ; Pattern_Syntax # Cn [2] <reserved-270A>..<reserved-270B>
-270C..2727 ; Pattern_Syntax # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2728 ; Pattern_Syntax # Cn <reserved-2728>
-2729..274B ; Pattern_Syntax # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274C ; Pattern_Syntax # Cn <reserved-274C>
-274D ; Pattern_Syntax # So SHADOWED WHITE CIRCLE
-274E ; Pattern_Syntax # Cn <reserved-274E>
-274F..2752 ; Pattern_Syntax # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2753..2755 ; Pattern_Syntax # Cn [3] <reserved-2753>..<reserved-2755>
-2756..275E ; Pattern_Syntax # So [9] BLACK DIAMOND MINUS WHITE X..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-275F..2760 ; Pattern_Syntax # Cn [2] <reserved-275F>..<reserved-2760>
-2761..2767 ; Pattern_Syntax # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2768 ; Pattern_Syntax # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; Pattern_Syntax # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; Pattern_Syntax # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; Pattern_Syntax # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; Pattern_Syntax # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; Pattern_Syntax # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; Pattern_Syntax # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; Pattern_Syntax # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; Pattern_Syntax # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; Pattern_Syntax # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; Pattern_Syntax # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; Pattern_Syntax # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; Pattern_Syntax # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; Pattern_Syntax # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2794 ; Pattern_Syntax # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2795..2797 ; Pattern_Syntax # Cn [3] <reserved-2795>..<reserved-2797>
-2798..27AF ; Pattern_Syntax # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B0 ; Pattern_Syntax # Cn <reserved-27B0>
-27B1..27BE ; Pattern_Syntax # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27BF ; Pattern_Syntax # Cn <reserved-27BF>
-27C0..27C4 ; Pattern_Syntax # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; Pattern_Syntax # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Pattern_Syntax # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; Pattern_Syntax # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CB ; Pattern_Syntax # Cn <reserved-27CB>
-27CC ; Pattern_Syntax # Sm LONG DIVISION
-27CD..27CF ; Pattern_Syntax # Cn [3] <reserved-27CD>..<reserved-27CF>
-27D0..27E5 ; Pattern_Syntax # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; Pattern_Syntax # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Pattern_Syntax # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Pattern_Syntax # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Pattern_Syntax # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Pattern_Syntax # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Pattern_Syntax # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Pattern_Syntax # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Pattern_Syntax # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Pattern_Syntax # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Pattern_Syntax # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; Pattern_Syntax # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2800..28FF ; Pattern_Syntax # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2900..2982 ; Pattern_Syntax # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; Pattern_Syntax # Ps LEFT WHITE CURLY BRACKET
-2984 ; Pattern_Syntax # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Pattern_Syntax # Ps LEFT WHITE PARENTHESIS
-2986 ; Pattern_Syntax # Pe RIGHT WHITE PARENTHESIS
-2987 ; Pattern_Syntax # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Pattern_Syntax # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Pattern_Syntax # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Pattern_Syntax # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Pattern_Syntax # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Pattern_Syntax # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Pattern_Syntax # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Pattern_Syntax # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Pattern_Syntax # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Pattern_Syntax # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Pattern_Syntax # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Pattern_Syntax # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; Pattern_Syntax # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; Pattern_Syntax # Ps LEFT WIGGLY FENCE
-29D9 ; Pattern_Syntax # Pe RIGHT WIGGLY FENCE
-29DA ; Pattern_Syntax # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Pattern_Syntax # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; Pattern_Syntax # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; Pattern_Syntax # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Pattern_Syntax # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; Pattern_Syntax # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; Pattern_Syntax # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; Pattern_Syntax # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; Pattern_Syntax # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; Pattern_Syntax # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4D..2B4F ; Pattern_Syntax # Cn [3] <reserved-2B4D>..<reserved-2B4F>
-2B50..2B59 ; Pattern_Syntax # So [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
-2B5A..2BFF ; Pattern_Syntax # Cn [166] <reserved-2B5A>..<reserved-2BFF>
-2E00..2E01 ; Pattern_Syntax # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; Pattern_Syntax # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; Pattern_Syntax # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; Pattern_Syntax # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; Pattern_Syntax # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; Pattern_Syntax # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; Pattern_Syntax # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; Pattern_Syntax # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; Pattern_Syntax # Po RAISED SQUARE
-2E0C ; Pattern_Syntax # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; Pattern_Syntax # Pf RIGHT RAISED OMISSION BRACKET
-2E0E..2E16 ; Pattern_Syntax # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E17 ; Pattern_Syntax # Pd DOUBLE OBLIQUE HYPHEN
-2E18..2E19 ; Pattern_Syntax # Po [2] INVERTED INTERROBANG..PALM BRANCH
-2E1A ; Pattern_Syntax # Pd HYPHEN WITH DIAERESIS
-2E1B ; Pattern_Syntax # Po TILDE WITH RING ABOVE
-2E1C ; Pattern_Syntax # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; Pattern_Syntax # Pf RIGHT LOW PARAPHRASE BRACKET
-2E1E..2E1F ; Pattern_Syntax # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E20 ; Pattern_Syntax # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; Pattern_Syntax # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; Pattern_Syntax # Ps TOP LEFT HALF BRACKET
-2E23 ; Pattern_Syntax # Pe TOP RIGHT HALF BRACKET
-2E24 ; Pattern_Syntax # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; Pattern_Syntax # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; Pattern_Syntax # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; Pattern_Syntax # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; Pattern_Syntax # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; Pattern_Syntax # Pe RIGHT DOUBLE PARENTHESIS
-2E2A..2E2E ; Pattern_Syntax # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E2F ; Pattern_Syntax # Lm VERTICAL TILDE
-2E30..2E31 ; Pattern_Syntax # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-2E32..2E7F ; Pattern_Syntax # Cn [78] <reserved-2E32>..<reserved-2E7F>
-3001..3003 ; Pattern_Syntax # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
-3008 ; Pattern_Syntax # Ps LEFT ANGLE BRACKET
-3009 ; Pattern_Syntax # Pe RIGHT ANGLE BRACKET
-300A ; Pattern_Syntax # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; Pattern_Syntax # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; Pattern_Syntax # Ps LEFT CORNER BRACKET
-300D ; Pattern_Syntax # Pe RIGHT CORNER BRACKET
-300E ; Pattern_Syntax # Ps LEFT WHITE CORNER BRACKET
-300F ; Pattern_Syntax # Pe RIGHT WHITE CORNER BRACKET
-3010 ; Pattern_Syntax # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; Pattern_Syntax # Pe RIGHT BLACK LENTICULAR BRACKET
-3012..3013 ; Pattern_Syntax # So [2] POSTAL MARK..GETA MARK
-3014 ; Pattern_Syntax # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; Pattern_Syntax # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; Pattern_Syntax # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; Pattern_Syntax # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; Pattern_Syntax # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; Pattern_Syntax # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; Pattern_Syntax # Ps LEFT WHITE SQUARE BRACKET
-301B ; Pattern_Syntax # Pe RIGHT WHITE SQUARE BRACKET
-301C ; Pattern_Syntax # Pd WAVE DASH
-301D ; Pattern_Syntax # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; Pattern_Syntax # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-3020 ; Pattern_Syntax # So POSTAL MARK FACE
-3030 ; Pattern_Syntax # Pd WAVY DASH
-FD3E ; Pattern_Syntax # Ps ORNATE LEFT PARENTHESIS
-FD3F ; Pattern_Syntax # Pe ORNATE RIGHT PARENTHESIS
-FE45..FE46 ; Pattern_Syntax # Po [2] SESAME DOT..WHITE SESAME DOT
-
-# Total code points: 2760
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/PropValueAliases.txt b/Master/tlpkg/tlperl/lib/unicore/PropValueAliases.txt
deleted file mode 100644
index 30c4838ef96..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/PropValueAliases.txt
+++ /dev/null
@@ -1,1162 +0,0 @@
-# PropertyValueAliases-5.2.0.txt
-# Date: 2009-08-24, 03:27:01 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-#
-# This file contains aliases for property values used in the UCD.
-# These names can be used for XML formats of UCD data, for regular-expression
-# property tests, and other programmatic textual descriptions of Unicode data.
-# For information on which properties are normative, see UCD.html.
-#
-# The names may be translated in appropriate environments, and additional
-# aliases may be useful.
-#
-# FORMAT
-#
-# Each line describes a property value name.
-# This consists of three or more fields, separated by semicolons.
-#
-# First Field: The first field describes the property for which that
-# property value name is used.
-#
-# Second Field: The second field is an abbreviated name.
-# If there is no abbreviated name available, the field is marked with "n/a".
-#
-# Third Field: The third field is a long name.
-#
-# In the case of ccc, there are 4 fields. The second field is numeric, third
-# is abbreviated, and fourth is long.
-#
-# The above are the preferred aliases. Other aliases may be listed in additional fields.
-#
-# Loose matching should be applied to all property names and property values, with
-# the exception of String Property values. With loose matching of property names and
-# values, the case distinctions, whitespace, and '_' are ignored. For Numeric Property
-# values, numeric equivalencies are applied: thus "01.00" is equivalent to "1".
-#
-# NOTE: Property value names are NOT unique across properties. For example:
-#
-# AL means Arabic Letter for the Bidi_Class property, and
-# AL means Above_Left for the Combining_Class property, and
-# AL means Alphabetic for the Line_Break property.
-#
-# In addition, some property names may be the same as some property value names.
-# For example:
-#
-# sc means the Script property, and
-# Sc means the General_Category property value Currency_Symbol (Sc)
-#
-# The combination of property value and property name is, however, unique.
-#
-# For more information, see UTS #18: Unicode Regular Expressions
-# ================================================
-
-
-# ASCII_Hex_Digit (AHex)
-
-AHex; N ; No ; F ; False
-AHex; Y ; Yes ; T ; True
-
-# Age (age)
-
-age; n/a ; 1.1
-age; n/a ; 2.0
-age; n/a ; 2.1
-age; n/a ; 3.0
-age; n/a ; 3.1
-age; n/a ; 3.2
-age; n/a ; 4.0
-age; n/a ; 4.1
-age; n/a ; 5.0
-age; n/a ; 5.1
-age; n/a ; 5.2
-age; n/a ; unassigned
-
-# Alphabetic (Alpha)
-
-Alpha; N ; No ; F ; False
-Alpha; Y ; Yes ; T ; True
-
-# Bidi_Class (bc)
-
-bc ; AL ; Arabic_Letter
-bc ; AN ; Arabic_Number
-bc ; B ; Paragraph_Separator
-bc ; BN ; Boundary_Neutral
-bc ; CS ; Common_Separator
-bc ; EN ; European_Number
-bc ; ES ; European_Separator
-bc ; ET ; European_Terminator
-bc ; L ; Left_To_Right
-bc ; LRE ; Left_To_Right_Embedding
-bc ; LRO ; Left_To_Right_Override
-bc ; NSM ; Nonspacing_Mark
-bc ; ON ; Other_Neutral
-bc ; PDF ; Pop_Directional_Format
-bc ; R ; Right_To_Left
-bc ; RLE ; Right_To_Left_Embedding
-bc ; RLO ; Right_To_Left_Override
-bc ; S ; Segment_Separator
-bc ; WS ; White_Space
-
-# Bidi_Control (Bidi_C)
-
-Bidi_C; N ; No ; F ; False
-Bidi_C; Y ; Yes ; T ; True
-
-# Bidi_Mirrored (Bidi_M)
-
-Bidi_M; N ; No ; F ; False
-Bidi_M; Y ; Yes ; T ; True
-
-# Bidi_Mirroring_Glyph (bmg)
-
-# @missing: 0000..10FFFF; Bidi_Mirroring_Glyph; <none>
-
-# Block (blk)
-
-blk; n/a ; Aegean_Numbers
-blk; n/a ; Alphabetic_Presentation_Forms
-blk; n/a ; Ancient_Greek_Musical_Notation
-blk; n/a ; Ancient_Greek_Numbers
-blk; n/a ; Ancient_Symbols
-blk; n/a ; Arabic
-blk; n/a ; Arabic_Presentation_Forms_A ; Arabic_Presentation_Forms-A
-blk; n/a ; Arabic_Presentation_Forms_B
-blk; n/a ; Arabic_Supplement
-blk; n/a ; Armenian
-blk; n/a ; Arrows
-blk; n/a ; Avestan
-blk; n/a ; Balinese
-blk; n/a ; Bamum
-blk; n/a ; Basic_Latin ; ASCII
-blk; n/a ; Bengali
-blk; n/a ; Block_Elements
-blk; n/a ; Bopomofo
-blk; n/a ; Bopomofo_Extended
-blk; n/a ; Box_Drawing
-blk; n/a ; Braille_Patterns
-blk; n/a ; Buginese
-blk; n/a ; Buhid
-blk; n/a ; Byzantine_Musical_Symbols
-blk; n/a ; Carian
-blk; n/a ; Cham
-blk; n/a ; Cherokee
-blk; n/a ; CJK_Compatibility
-blk; n/a ; CJK_Compatibility_Forms
-blk; n/a ; CJK_Compatibility_Ideographs
-blk; n/a ; CJK_Compatibility_Ideographs_Supplement
-blk; n/a ; CJK_Radicals_Supplement
-blk; n/a ; CJK_Strokes
-blk; n/a ; CJK_Symbols_And_Punctuation
-blk; n/a ; CJK_Unified_Ideographs
-blk; n/a ; CJK_Unified_Ideographs_Extension_A
-blk; n/a ; CJK_Unified_Ideographs_Extension_B
-blk; n/a ; CJK_Unified_Ideographs_Extension_C
-blk; n/a ; Combining_Diacritical_Marks
-blk; n/a ; Combining_Diacritical_Marks_For_Symbols; Combining_Marks_For_Symbols
-blk; n/a ; Combining_Diacritical_Marks_Supplement
-blk; n/a ; Combining_Half_Marks
-blk; n/a ; Common_Indic_Number_Forms
-blk; n/a ; Control_Pictures
-blk; n/a ; Coptic
-blk; n/a ; Counting_Rod_Numerals
-blk; n/a ; Cuneiform
-blk; n/a ; Cuneiform_Numbers_And_Punctuation
-blk; n/a ; Currency_Symbols
-blk; n/a ; Cypriot_Syllabary
-blk; n/a ; Cyrillic
-blk; n/a ; Cyrillic_Extended_A
-blk; n/a ; Cyrillic_Extended_B
-blk; n/a ; Cyrillic_Supplement ; Cyrillic_Supplementary
-blk; n/a ; Deseret
-blk; n/a ; Devanagari
-blk; n/a ; Devanagari_Extended
-blk; n/a ; Dingbats
-blk; n/a ; Domino_Tiles
-blk; n/a ; Egyptian_Hieroglyphs
-blk; n/a ; Enclosed_Alphanumeric_Supplement
-blk; n/a ; Enclosed_Alphanumerics
-blk; n/a ; Enclosed_CJK_Letters_And_Months
-blk; n/a ; Enclosed_Ideographic_Supplement
-blk; n/a ; Ethiopic
-blk; n/a ; Ethiopic_Extended
-blk; n/a ; Ethiopic_Supplement
-blk; n/a ; General_Punctuation
-blk; n/a ; Geometric_Shapes
-blk; n/a ; Georgian
-blk; n/a ; Georgian_Supplement
-blk; n/a ; Glagolitic
-blk; n/a ; Gothic
-blk; n/a ; Greek_And_Coptic ; Greek
-blk; n/a ; Greek_Extended
-blk; n/a ; Gujarati
-blk; n/a ; Gurmukhi
-blk; n/a ; Halfwidth_And_Fullwidth_Forms
-blk; n/a ; Hangul_Compatibility_Jamo
-blk; n/a ; Hangul_Jamo
-blk; n/a ; Hangul_Jamo_Extended_A
-blk; n/a ; Hangul_Jamo_Extended_B
-blk; n/a ; Hangul_Syllables
-blk; n/a ; Hanunoo
-blk; n/a ; Hebrew
-blk; n/a ; High_Private_Use_Surrogates
-blk; n/a ; High_Surrogates
-blk; n/a ; Hiragana
-blk; n/a ; Ideographic_Description_Characters
-blk; n/a ; Imperial_Aramaic
-blk; n/a ; Inscriptional_Pahlavi
-blk; n/a ; Inscriptional_Parthian
-blk; n/a ; IPA_Extensions
-blk; n/a ; Javanese
-blk; n/a ; Kaithi
-blk; n/a ; Kanbun
-blk; n/a ; Kangxi_Radicals
-blk; n/a ; Kannada
-blk; n/a ; Katakana
-blk; n/a ; Katakana_Phonetic_Extensions
-blk; n/a ; Kayah_Li
-blk; n/a ; Kharoshthi
-blk; n/a ; Khmer
-blk; n/a ; Khmer_Symbols
-blk; n/a ; Lao
-blk; n/a ; Latin_1_Supplement ; Latin_1
-blk; n/a ; Latin_Extended_A
-blk; n/a ; Latin_Extended_Additional
-blk; n/a ; Latin_Extended_B
-blk; n/a ; Latin_Extended_C
-blk; n/a ; Latin_Extended_D
-blk; n/a ; Lepcha
-blk; n/a ; Letterlike_Symbols
-blk; n/a ; Limbu
-blk; n/a ; Linear_B_Ideograms
-blk; n/a ; Linear_B_Syllabary
-blk; n/a ; Lisu
-blk; n/a ; Low_Surrogates
-blk; n/a ; Lycian
-blk; n/a ; Lydian
-blk; n/a ; Mahjong_Tiles
-blk; n/a ; Malayalam
-blk; n/a ; Mathematical_Alphanumeric_Symbols
-blk; n/a ; Mathematical_Operators
-blk; n/a ; Meetei_Mayek
-blk; n/a ; Miscellaneous_Mathematical_Symbols_A
-blk; n/a ; Miscellaneous_Mathematical_Symbols_B
-blk; n/a ; Miscellaneous_Symbols
-blk; n/a ; Miscellaneous_Symbols_And_Arrows
-blk; n/a ; Miscellaneous_Technical
-blk; n/a ; Modifier_Tone_Letters
-blk; n/a ; Mongolian
-blk; n/a ; Musical_Symbols
-blk; n/a ; Myanmar
-blk; n/a ; Myanmar_Extended_A
-blk; n/a ; New_Tai_Lue
-blk; n/a ; NKo
-blk; n/a ; No_Block
-blk; n/a ; Number_Forms
-blk; n/a ; Ogham
-blk; n/a ; Ol_Chiki
-blk; n/a ; Old_Italic
-blk; n/a ; Old_Persian
-blk; n/a ; Old_South_Arabian
-blk; n/a ; Old_Turkic
-blk; n/a ; Optical_Character_Recognition
-blk; n/a ; Oriya
-blk; n/a ; Osmanya
-blk; n/a ; Phags_Pa
-blk; n/a ; Phaistos_Disc
-blk; n/a ; Phoenician
-blk; n/a ; Phonetic_Extensions
-blk; n/a ; Phonetic_Extensions_Supplement
-blk; n/a ; Private_Use_Area ; Private_Use
-blk; n/a ; Rejang
-blk; n/a ; Rumi_Numeral_Symbols
-blk; n/a ; Runic
-blk; n/a ; Samaritan
-blk; n/a ; Saurashtra
-blk; n/a ; Shavian
-blk; n/a ; Sinhala
-blk; n/a ; Small_Form_Variants
-blk; n/a ; Spacing_Modifier_Letters
-blk; n/a ; Specials
-blk; n/a ; Sundanese
-blk; n/a ; Superscripts_And_Subscripts
-blk; n/a ; Supplemental_Arrows_A
-blk; n/a ; Supplemental_Arrows_B
-blk; n/a ; Supplemental_Mathematical_Operators
-blk; n/a ; Supplemental_Punctuation
-blk; n/a ; Supplementary_Private_Use_Area_A
-blk; n/a ; Supplementary_Private_Use_Area_B
-blk; n/a ; Syloti_Nagri
-blk; n/a ; Syriac
-blk; n/a ; Tagalog
-blk; n/a ; Tagbanwa
-blk; n/a ; Tags
-blk; n/a ; Tai_Le
-blk; n/a ; Tai_Tham
-blk; n/a ; Tai_Viet
-blk; n/a ; Tai_Xuan_Jing_Symbols
-blk; n/a ; Tamil
-blk; n/a ; Telugu
-blk; n/a ; Thaana
-blk; n/a ; Thai
-blk; n/a ; Tibetan
-blk; n/a ; Tifinagh
-blk; n/a ; Ugaritic
-blk; n/a ; Unified_Canadian_Aboriginal_Syllabics; Canadian_Syllabics
-blk; n/a ; Unified_Canadian_Aboriginal_Syllabics_Extended
-blk; n/a ; Vai
-blk; n/a ; Variation_Selectors
-blk; n/a ; Variation_Selectors_Supplement
-blk; n/a ; Vedic_Extensions
-blk; n/a ; Vertical_Forms
-blk; n/a ; Yi_Radicals
-blk; n/a ; Yi_Syllables
-blk; n/a ; Yijing_Hexagram_Symbols
-
-# Canonical_Combining_Class (ccc)
-
-ccc; 0; NR ; Not_Reordered
-ccc; 1; OV ; Overlay
-ccc; 7; NK ; Nukta
-ccc; 8; KV ; Kana_Voicing
-ccc; 9; VR ; Virama
-ccc; 200; ATBL ; Attached_Below_Left
-ccc; 202; ATB ; Attached_Below
-ccc; 214; ATA ; Attached_Above
-ccc; 216; ATAR ; Attached_Above_Right
-ccc; 218; BL ; Below_Left
-ccc; 220; B ; Below
-ccc; 222; BR ; Below_Right
-ccc; 224; L ; Left
-ccc; 226; R ; Right
-ccc; 228; AL ; Above_Left
-ccc; 230; A ; Above
-ccc; 232; AR ; Above_Right
-ccc; 233; DB ; Double_Below
-ccc; 234; DA ; Double_Above
-ccc; 240; IS ; Iota_Subscript
-
-# Case_Folding (cf)
-
-# @missing: 0000..10FFFF; Case_Folding; <code point>
-
-# Case_Ignorable (CI)
-
-CI ; N ; No ; F ; False
-CI ; Y ; Yes ; T ; True
-
-# Cased (Cased)
-
-Cased; N ; No ; F ; False
-Cased; Y ; Yes ; T ; True
-
-# Changes_When_Casefolded (CWCF)
-
-CWCF; N ; No ; F ; False
-CWCF; Y ; Yes ; T ; True
-
-# Changes_When_Casemapped (CWCM)
-
-CWCM; N ; No ; F ; False
-CWCM; Y ; Yes ; T ; True
-
-# Changes_When_Lowercased (CWL)
-
-CWL; N ; No ; F ; False
-CWL; Y ; Yes ; T ; True
-
-# Changes_When_NFKC_Casefolded (CWKCF)
-
-CWKCF; N ; No ; F ; False
-CWKCF; Y ; Yes ; T ; True
-
-# Changes_When_Titlecased (CWT)
-
-CWT; N ; No ; F ; False
-CWT; Y ; Yes ; T ; True
-
-# Changes_When_Uppercased (CWU)
-
-CWU; N ; No ; F ; False
-CWU; Y ; Yes ; T ; True
-
-# Composition_Exclusion (CE)
-
-CE ; N ; No ; F ; False
-CE ; Y ; Yes ; T ; True
-
-# Dash (Dash)
-
-Dash; N ; No ; F ; False
-Dash; Y ; Yes ; T ; True
-
-# Decomposition_Mapping (dm)
-
-# @missing: 0000..10FFFF; Decomposition_Mapping; <code point>
-
-# Decomposition_Type (dt)
-
-dt ; Can ; Canonical ; can
-dt ; Com ; Compat ; com
-dt ; Enc ; Circle ; enc
-dt ; Fin ; Final ; fin
-dt ; Font ; font
-dt ; Fra ; Fraction ; fra
-dt ; Init ; Initial ; init
-dt ; Iso ; Isolated ; iso
-dt ; Med ; Medial ; med
-dt ; Nar ; Narrow ; nar
-dt ; Nb ; Nobreak ; nb
-dt ; None ; none
-dt ; Sml ; Small ; sml
-dt ; Sqr ; Square ; sqr
-dt ; Sub ; sub
-dt ; Sup ; Super ; sup
-dt ; Vert ; Vertical ; vert
-dt ; Wide ; wide
-
-# Default_Ignorable_Code_Point (DI)
-
-DI ; N ; No ; F ; False
-DI ; Y ; Yes ; T ; True
-
-# Deprecated (Dep)
-
-Dep; N ; No ; F ; False
-Dep; Y ; Yes ; T ; True
-
-# Diacritic (Dia)
-
-Dia; N ; No ; F ; False
-Dia; Y ; Yes ; T ; True
-
-# East_Asian_Width (ea)
-
-ea ; A ; Ambiguous
-ea ; F ; Fullwidth
-ea ; H ; Halfwidth
-ea ; N ; Neutral
-ea ; Na ; Narrow
-ea ; W ; Wide
-
-# Expands_On_NFC (XO_NFC)
-
-XO_NFC; N ; No ; F ; False
-XO_NFC; Y ; Yes ; T ; True
-
-# Expands_On_NFD (XO_NFD)
-
-XO_NFD; N ; No ; F ; False
-XO_NFD; Y ; Yes ; T ; True
-
-# Expands_On_NFKC (XO_NFKC)
-
-XO_NFKC; N ; No ; F ; False
-XO_NFKC; Y ; Yes ; T ; True
-
-# Expands_On_NFKD (XO_NFKD)
-
-XO_NFKD; N ; No ; F ; False
-XO_NFKD; Y ; Yes ; T ; True
-
-# Extender (Ext)
-
-Ext; N ; No ; F ; False
-Ext; Y ; Yes ; T ; True
-
-# FC_NFKC_Closure (FC_NFKC)
-
-# @missing: 0000..10FFFF; FC_NFKC_Closure; <code point>
-
-# Full_Composition_Exclusion (Comp_Ex)
-
-Comp_Ex; N ; No ; F ; False
-Comp_Ex; Y ; Yes ; T ; True
-
-# General_Category (gc)
-
-gc ; C ; Other # Cc | Cf | Cn | Co | Cs
-gc ; Cc ; Control ; cntrl
-gc ; Cf ; Format
-gc ; Cn ; Unassigned
-gc ; Co ; Private_Use
-gc ; Cs ; Surrogate
-gc ; L ; Letter # Ll | Lm | Lo | Lt | Lu
-gc ; LC ; Cased_Letter # Ll | Lt | Lu
-gc ; Ll ; Lowercase_Letter
-gc ; Lm ; Modifier_Letter
-gc ; Lo ; Other_Letter
-gc ; Lt ; Titlecase_Letter
-gc ; Lu ; Uppercase_Letter
-gc ; M ; Mark # Mc | Me | Mn
-gc ; Mc ; Spacing_Mark
-gc ; Me ; Enclosing_Mark
-gc ; Mn ; Nonspacing_Mark
-gc ; N ; Number # Nd | Nl | No
-gc ; Nd ; Decimal_Number ; digit
-gc ; Nl ; Letter_Number
-gc ; No ; Other_Number
-gc ; P ; Punctuation ; punct # Pc | Pd | Pe | Pf | Pi | Po | Ps
-gc ; Pc ; Connector_Punctuation
-gc ; Pd ; Dash_Punctuation
-gc ; Pe ; Close_Punctuation
-gc ; Pf ; Final_Punctuation
-gc ; Pi ; Initial_Punctuation
-gc ; Po ; Other_Punctuation
-gc ; Ps ; Open_Punctuation
-gc ; S ; Symbol # Sc | Sk | Sm | So
-gc ; Sc ; Currency_Symbol
-gc ; Sk ; Modifier_Symbol
-gc ; Sm ; Math_Symbol
-gc ; So ; Other_Symbol
-gc ; Z ; Separator # Zl | Zp | Zs
-gc ; Zl ; Line_Separator
-gc ; Zp ; Paragraph_Separator
-gc ; Zs ; Space_Separator
-
-# Grapheme_Base (Gr_Base)
-
-Gr_Base; N ; No ; F ; False
-Gr_Base; Y ; Yes ; T ; True
-
-# Grapheme_Cluster_Break (GCB)
-
-GCB; CN ; Control
-GCB; CR ; CR
-GCB; EX ; Extend
-GCB; L ; L
-GCB; LF ; LF
-GCB; LV ; LV
-GCB; LVT ; LVT
-GCB; PP ; Prepend
-GCB; SM ; SpacingMark
-GCB; T ; T
-GCB; V ; V
-GCB; XX ; Other
-
-# Grapheme_Extend (Gr_Ext)
-
-Gr_Ext; N ; No ; F ; False
-Gr_Ext; Y ; Yes ; T ; True
-
-# Grapheme_Link (Gr_Link)
-
-Gr_Link; N ; No ; F ; False
-Gr_Link; Y ; Yes ; T ; True
-
-# Hangul_Syllable_Type (hst)
-
-hst; L ; Leading_Jamo
-hst; LV ; LV_Syllable
-hst; LVT ; LVT_Syllable
-hst; NA ; Not_Applicable
-hst; T ; Trailing_Jamo
-hst; V ; Vowel_Jamo
-
-# Hex_Digit (Hex)
-
-Hex; N ; No ; F ; False
-Hex; Y ; Yes ; T ; True
-
-# Hyphen (Hyphen)
-
-Hyphen; N ; No ; F ; False
-Hyphen; Y ; Yes ; T ; True
-
-# IDS_Binary_Operator (IDSB)
-
-IDSB; N ; No ; F ; False
-IDSB; Y ; Yes ; T ; True
-
-# IDS_Trinary_Operator (IDST)
-
-IDST; N ; No ; F ; False
-IDST; Y ; Yes ; T ; True
-
-# ID_Continue (IDC)
-
-IDC; N ; No ; F ; False
-IDC; Y ; Yes ; T ; True
-
-# ID_Start (IDS)
-
-IDS; N ; No ; F ; False
-IDS; Y ; Yes ; T ; True
-
-# ISO_Comment (isc)
-
-# @missing: 0000..10FFFF; ISO_Comment; <none>
-
-# Ideographic (Ideo)
-
-Ideo; N ; No ; F ; False
-Ideo; Y ; Yes ; T ; True
-
-# Jamo_Short_Name (JSN)
-
-# @missing: 0000..10FFFF; Jamo_Short_Name; <none>
-JSN; A ; A
-JSN; AE ; AE
-JSN; B ; B
-JSN; BB ; BB
-JSN; BS ; BS
-JSN; C ; C
-JSN; D ; D
-JSN; DD ; DD
-JSN; E ; E
-JSN; EO ; EO
-JSN; EU ; EU
-JSN; G ; G
-JSN; GG ; GG
-JSN; GS ; GS
-JSN; H ; H
-JSN; I ; I
-JSN; J ; J
-JSN; JJ ; JJ
-JSN; K ; K
-JSN; L ; L
-JSN; LB ; LB
-JSN; LG ; LG
-JSN; LH ; LH
-JSN; LM ; LM
-JSN; LP ; LP
-JSN; LS ; LS
-JSN; LT ; LT
-JSN; M ; M
-JSN; N ; N
-JSN; NG ; NG
-JSN; NH ; NH
-JSN; NJ ; NJ
-JSN; O ; O
-JSN; OE ; OE
-JSN; P ; P
-JSN; R ; R
-JSN; S ; S
-JSN; SS ; SS
-JSN; T ; T
-JSN; U ; U
-JSN; WA ; WA
-JSN; WAE ; WAE
-JSN; WE ; WE
-JSN; WEO ; WEO
-JSN; WI ; WI
-JSN; YA ; YA
-JSN; YAE ; YAE
-JSN; YE ; YE
-JSN; YEO ; YEO
-JSN; YI ; YI
-JSN; YO ; YO
-JSN; YU ; YU
-
-# Join_Control (Join_C)
-
-Join_C; N ; No ; F ; False
-Join_C; Y ; Yes ; T ; True
-
-# Joining_Group (jg)
-
-jg ; n/a ; Ain
-jg ; n/a ; Alaph
-jg ; n/a ; Alef
-jg ; n/a ; Beh
-jg ; n/a ; Beth
-jg ; n/a ; Burushaski_Yeh_Barree
-jg ; n/a ; Dal
-jg ; n/a ; Dalath_Rish
-jg ; n/a ; E
-jg ; n/a ; Farsi_Yeh
-jg ; n/a ; Fe
-jg ; n/a ; Feh
-jg ; n/a ; Final_Semkath
-jg ; n/a ; Gaf
-jg ; n/a ; Gamal
-jg ; n/a ; Hah
-jg ; n/a ; Hamza_On_Heh_Goal
-jg ; n/a ; He
-jg ; n/a ; Heh
-jg ; n/a ; Heh_Goal
-jg ; n/a ; Heth
-jg ; n/a ; Kaf
-jg ; n/a ; Kaph
-jg ; n/a ; Khaph
-jg ; n/a ; Knotted_Heh
-jg ; n/a ; Lam
-jg ; n/a ; Lamadh
-jg ; n/a ; Meem
-jg ; n/a ; Mim
-jg ; n/a ; No_Joining_Group
-jg ; n/a ; Noon
-jg ; n/a ; Nun
-jg ; n/a ; Nya
-jg ; n/a ; Pe
-jg ; n/a ; Qaf
-jg ; n/a ; Qaph
-jg ; n/a ; Reh
-jg ; n/a ; Reversed_Pe
-jg ; n/a ; Sad
-jg ; n/a ; Sadhe
-jg ; n/a ; Seen
-jg ; n/a ; Semkath
-jg ; n/a ; Shin
-jg ; n/a ; Swash_Kaf
-jg ; n/a ; Syriac_Waw
-jg ; n/a ; Tah
-jg ; n/a ; Taw
-jg ; n/a ; Teh_Marbuta
-jg ; n/a ; Teth
-jg ; n/a ; Waw
-jg ; n/a ; Yeh
-jg ; n/a ; Yeh_Barree
-jg ; n/a ; Yeh_With_Tail
-jg ; n/a ; Yudh
-jg ; n/a ; Yudh_He
-jg ; n/a ; Zain
-jg ; n/a ; Zhain
-
-# Joining_Type (jt)
-
-jt ; C ; Join_Causing
-jt ; D ; Dual_Joining
-jt ; L ; Left_Joining
-jt ; R ; Right_Joining
-jt ; T ; Transparent
-jt ; U ; Non_Joining
-
-# Line_Break (lb)
-
-lb ; AI ; Ambiguous
-lb ; AL ; Alphabetic
-lb ; B2 ; Break_Both
-lb ; BA ; Break_After
-lb ; BB ; Break_Before
-lb ; BK ; Mandatory_Break
-lb ; CB ; Contingent_Break
-lb ; CL ; Close_Punctuation
-lb ; CM ; Combining_Mark
-lb ; CP ; Close_Parenthesis
-lb ; CR ; Carriage_Return
-lb ; EX ; Exclamation
-lb ; GL ; Glue
-lb ; H2 ; H2
-lb ; H3 ; H3
-lb ; HY ; Hyphen
-lb ; ID ; Ideographic
-lb ; IN ; Inseparable ; Inseperable
-lb ; IS ; Infix_Numeric
-lb ; JL ; JL
-lb ; JT ; JT
-lb ; JV ; JV
-lb ; LF ; Line_Feed
-lb ; NL ; Next_Line
-lb ; NS ; Nonstarter
-lb ; NU ; Numeric
-lb ; OP ; Open_Punctuation
-lb ; PO ; Postfix_Numeric
-lb ; PR ; Prefix_Numeric
-lb ; QU ; Quotation
-lb ; SA ; Complex_Context
-lb ; SG ; Surrogate
-lb ; SP ; Space
-lb ; SY ; Break_Symbols
-lb ; WJ ; Word_Joiner
-lb ; XX ; Unknown
-lb ; ZW ; ZWSpace
-
-# Logical_Order_Exception (LOE)
-
-LOE; N ; No ; F ; False
-LOE; Y ; Yes ; T ; True
-
-# Lowercase (Lower)
-
-Lower; N ; No ; F ; False
-Lower; Y ; Yes ; T ; True
-
-# Lowercase_Mapping (lc)
-
-# @missing: 0000..10FFFF; Lowercase_Mapping; <code point>
-
-# Math (Math)
-
-Math; N ; No ; F ; False
-Math; Y ; Yes ; T ; True
-
-# NFC_Quick_Check (NFC_QC)
-
-NFC_QC; M ; Maybe
-NFC_QC; N ; No
-NFC_QC; Y ; Yes
-
-# NFD_Quick_Check (NFD_QC)
-
-NFD_QC; N ; No
-NFD_QC; Y ; Yes
-
-# NFKC_Casefold (NFKC_CF)
-
-# @missing: 0000..10FFFF; NFKC_Casefold; <code point>
-
-# NFKC_Quick_Check (NFKC_QC)
-
-NFKC_QC; M ; Maybe
-NFKC_QC; N ; No
-NFKC_QC; Y ; Yes
-
-# NFKD_Quick_Check (NFKD_QC)
-
-NFKD_QC; N ; No
-NFKD_QC; Y ; Yes
-
-# Name (na)
-
-# @missing: 0000..10FFFF; Name; <none>
-
-# Name_Alias (Name_Alias)
-
-# @missing: 0000..10FFFF; Name_Alias; <none>
-
-# Noncharacter_Code_Point (NChar)
-
-NChar; N ; No ; F ; False
-NChar; Y ; Yes ; T ; True
-
-# Numeric_Type (nt)
-
-nt ; De ; Decimal
-nt ; Di ; Digit
-nt ; None ; None
-nt ; Nu ; Numeric
-
-# Numeric_Value (nv)
-
-# @missing: 0000..10FFFF; Numeric_Value; NaN
-
-# Other_Alphabetic (OAlpha)
-
-OAlpha; N ; No ; F ; False
-OAlpha; Y ; Yes ; T ; True
-
-# Other_Default_Ignorable_Code_Point (ODI)
-
-ODI; N ; No ; F ; False
-ODI; Y ; Yes ; T ; True
-
-# Other_Grapheme_Extend (OGr_Ext)
-
-OGr_Ext; N ; No ; F ; False
-OGr_Ext; Y ; Yes ; T ; True
-
-# Other_ID_Continue (OIDC)
-
-OIDC; N ; No ; F ; False
-OIDC; Y ; Yes ; T ; True
-
-# Other_ID_Start (OIDS)
-
-OIDS; N ; No ; F ; False
-OIDS; Y ; Yes ; T ; True
-
-# Other_Lowercase (OLower)
-
-OLower; N ; No ; F ; False
-OLower; Y ; Yes ; T ; True
-
-# Other_Math (OMath)
-
-OMath; N ; No ; F ; False
-OMath; Y ; Yes ; T ; True
-
-# Other_Uppercase (OUpper)
-
-OUpper; N ; No ; F ; False
-OUpper; Y ; Yes ; T ; True
-
-# Pattern_Syntax (Pat_Syn)
-
-Pat_Syn; N ; No ; F ; False
-Pat_Syn; Y ; Yes ; T ; True
-
-# Pattern_White_Space (Pat_WS)
-
-Pat_WS; N ; No ; F ; False
-Pat_WS; Y ; Yes ; T ; True
-
-# Quotation_Mark (QMark)
-
-QMark; N ; No ; F ; False
-QMark; Y ; Yes ; T ; True
-
-# Radical (Radical)
-
-Radical; N ; No ; F ; False
-Radical; Y ; Yes ; T ; True
-
-# STerm (STerm)
-
-STerm; N ; No ; F ; False
-STerm; Y ; Yes ; T ; True
-
-# Script (sc)
-
-sc ; Arab ; Arabic
-sc ; Armi ; Imperial_Aramaic
-sc ; Armn ; Armenian
-sc ; Avst ; Avestan
-sc ; Bali ; Balinese
-sc ; Bamu ; Bamum
-sc ; Beng ; Bengali
-sc ; Bopo ; Bopomofo
-sc ; Brai ; Braille
-sc ; Bugi ; Buginese
-sc ; Buhd ; Buhid
-sc ; Cans ; Canadian_Aboriginal
-sc ; Cari ; Carian
-sc ; Cham ; Cham
-sc ; Cher ; Cherokee
-sc ; Copt ; Coptic ; Qaac
-sc ; Cprt ; Cypriot
-sc ; Cyrl ; Cyrillic
-sc ; Deva ; Devanagari
-sc ; Dsrt ; Deseret
-sc ; Egyp ; Egyptian_Hieroglyphs
-sc ; Ethi ; Ethiopic
-sc ; Geor ; Georgian
-sc ; Glag ; Glagolitic
-sc ; Goth ; Gothic
-sc ; Grek ; Greek
-sc ; Gujr ; Gujarati
-sc ; Guru ; Gurmukhi
-sc ; Hang ; Hangul
-sc ; Hani ; Han
-sc ; Hano ; Hanunoo
-sc ; Hebr ; Hebrew
-sc ; Hira ; Hiragana
-sc ; Hrkt ; Katakana_Or_Hiragana
-sc ; Ital ; Old_Italic
-sc ; Java ; Javanese
-sc ; Kali ; Kayah_Li
-sc ; Kana ; Katakana
-sc ; Khar ; Kharoshthi
-sc ; Khmr ; Khmer
-sc ; Knda ; Kannada
-sc ; Kthi ; Kaithi
-sc ; Lana ; Tai_Tham
-sc ; Laoo ; Lao
-sc ; Latn ; Latin
-sc ; Lepc ; Lepcha
-sc ; Limb ; Limbu
-sc ; Linb ; Linear_B
-sc ; Lisu ; Lisu
-sc ; Lyci ; Lycian
-sc ; Lydi ; Lydian
-sc ; Mlym ; Malayalam
-sc ; Mong ; Mongolian
-sc ; Mtei ; Meetei_Mayek
-sc ; Mymr ; Myanmar
-sc ; Nkoo ; Nko
-sc ; Ogam ; Ogham
-sc ; Olck ; Ol_Chiki
-sc ; Orkh ; Old_Turkic
-sc ; Orya ; Oriya
-sc ; Osma ; Osmanya
-sc ; Phag ; Phags_Pa
-sc ; Phli ; Inscriptional_Pahlavi
-sc ; Phnx ; Phoenician
-sc ; Prti ; Inscriptional_Parthian
-sc ; Rjng ; Rejang
-sc ; Runr ; Runic
-sc ; Samr ; Samaritan
-sc ; Sarb ; Old_South_Arabian
-sc ; Saur ; Saurashtra
-sc ; Shaw ; Shavian
-sc ; Sinh ; Sinhala
-sc ; Sund ; Sundanese
-sc ; Sylo ; Syloti_Nagri
-sc ; Syrc ; Syriac
-sc ; Tagb ; Tagbanwa
-sc ; Tale ; Tai_Le
-sc ; Talu ; New_Tai_Lue
-sc ; Taml ; Tamil
-sc ; Tavt ; Tai_Viet
-sc ; Telu ; Telugu
-sc ; Tfng ; Tifinagh
-sc ; Tglg ; Tagalog
-sc ; Thaa ; Thaana
-sc ; Thai ; Thai
-sc ; Tibt ; Tibetan
-sc ; Ugar ; Ugaritic
-sc ; Vaii ; Vai
-sc ; Xpeo ; Old_Persian
-sc ; Xsux ; Cuneiform
-sc ; Yiii ; Yi
-sc ; Zinh ; Inherited ; Qaai
-sc ; Zyyy ; Common
-sc ; Zzzz ; Unknown
-
-# Sentence_Break (SB)
-
-SB ; AT ; ATerm
-SB ; CL ; Close
-SB ; CR ; CR
-SB ; EX ; Extend
-SB ; FO ; Format
-SB ; LE ; OLetter
-SB ; LF ; LF
-SB ; LO ; Lower
-SB ; NU ; Numeric
-SB ; SC ; SContinue
-SB ; SE ; Sep
-SB ; SP ; Sp
-SB ; ST ; STerm
-SB ; UP ; Upper
-SB ; XX ; Other
-
-# Simple_Case_Folding (scf)
-
-# @missing: 0000..10FFFF; Simple_Case_Folding; <code point>
-
-# Simple_Lowercase_Mapping (slc)
-
-# @missing: 0000..10FFFF; Simple_Lowercase_Mapping; <code point>
-
-# Simple_Titlecase_Mapping (stc)
-
-# @missing: 0000..10FFFF; Simple_Titlecase_Mapping; <code point>
-
-# Simple_Uppercase_Mapping (suc)
-
-# @missing: 0000..10FFFF; Simple_Uppercase_Mapping; <code point>
-
-# Soft_Dotted (SD)
-
-SD ; N ; No ; F ; False
-SD ; Y ; Yes ; T ; True
-
-# Terminal_Punctuation (Term)
-
-Term; N ; No ; F ; False
-Term; Y ; Yes ; T ; True
-
-# Titlecase_Mapping (tc)
-
-# @missing: 0000..10FFFF; Titlecase_Mapping; <code point>
-
-# Unicode_1_Name (na1)
-
-# @missing: 0000..10FFFF; Unicode_1_Name; <none>
-
-# Unified_Ideograph (UIdeo)
-
-UIdeo; N ; No ; F ; False
-UIdeo; Y ; Yes ; T ; True
-
-# Uppercase (Upper)
-
-Upper; N ; No ; F ; False
-Upper; Y ; Yes ; T ; True
-
-# Uppercase_Mapping (uc)
-
-# @missing: 0000..10FFFF; Uppercase_Mapping; <code point>
-
-# Variation_Selector (VS)
-
-VS ; N ; No ; F ; False
-VS ; Y ; Yes ; T ; True
-
-# White_Space (WSpace)
-
-WSpace; N ; No ; F ; False
-WSpace; Y ; Yes ; T ; True
-
-# Word_Break (WB)
-
-WB ; CR ; CR
-WB ; EX ; ExtendNumLet
-WB ; Extend ; Extend
-WB ; FO ; Format
-WB ; KA ; Katakana
-WB ; LE ; ALetter
-WB ; LF ; LF
-WB ; MB ; MidNumLet
-WB ; ML ; MidLetter
-WB ; MN ; MidNum
-WB ; NL ; Newline
-WB ; NU ; Numeric
-WB ; XX ; Other
-
-# XID_Continue (XIDC)
-
-XIDC; N ; No ; F ; False
-XIDC; Y ; Yes ; T ; True
-
-# XID_Start (XIDS)
-
-XIDS; N ; No ; F ; False
-XIDS; Y ; Yes ; T ; True
-
-# cjkAccountingNumeric (cjkAccountingNumeric)
-
-# @missing: 0000..10FFFF; cjkAccountingNumeric; NaN
-
-# cjkCompatibilityVariant (cjkCompatibilityVariant)
-
-# @missing: 0000..10FFFF; cjkCompatibilityVariant; <code point>
-
-# cjkIICore (cjkIICore)
-
-# @missing: 0000..10FFFF; cjkIICore; <none>
-
-# cjkIRG_GSource (cjkIRG_GSource)
-
-# @missing: 0000..10FFFF; cjkIRG_GSource; <none>
-
-# cjkIRG_HSource (cjkIRG_HSource)
-
-# @missing: 0000..10FFFF; cjkIRG_HSource; <none>
-
-# cjkIRG_JSource (cjkIRG_JSource)
-
-# @missing: 0000..10FFFF; cjkIRG_JSource; <none>
-
-# cjkIRG_KPSource (cjkIRG_KPSource)
-
-# @missing: 0000..10FFFF; cjkIRG_KPSource; <none>
-
-# cjkIRG_KSource (cjkIRG_KSource)
-
-# @missing: 0000..10FFFF; cjkIRG_KSource; <none>
-
-# cjkIRG_MSource (cjkIRG_MSource)
-
-# @missing: 0000..10FFFF; cjkIRG_MSource; <none>
-
-# cjkIRG_TSource (cjkIRG_TSource)
-
-# @missing: 0000..10FFFF; cjkIRG_TSource; <none>
-
-# cjkIRG_USource (cjkIRG_USource)
-
-# @missing: 0000..10FFFF; cjkIRG_USource; <none>
-
-# cjkIRG_VSource (cjkIRG_VSource)
-
-# @missing: 0000..10FFFF; cjkIRG_VSource; <none>
-
-# cjkOtherNumeric (cjkOtherNumeric)
-
-# @missing: 0000..10FFFF; cjkOtherNumeric; NaN
-
-# cjkPrimaryNumeric (cjkPrimaryNumeric)
-
-# @missing: 0000..10FFFF; cjkPrimaryNumeric; NaN
-
-# cjkRSUnicode (cjkRSUnicode)
-
-# @missing: 0000..10FFFF; cjkRSUnicode; <none>
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/PropertyAliases.txt b/Master/tlpkg/tlperl/lib/unicore/PropertyAliases.txt
deleted file mode 100644
index 5f5960d0b77..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/PropertyAliases.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-# PropertyAliases-5.2.0.txt
-# Date: 2009-08-24, 03:26:46 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-#
-# This file contains aliases for properties used in the UCD.
-# These names can be used for XML formats of UCD data, for regular-expression
-# property tests, and other programmatic textual descriptions of Unicode data.
-# For information on which properties are normative, see UCD.html.
-#
-# The names may be translated in appropriate environments, and additional
-# aliases may be useful.
-#
-# FORMAT
-#
-# Each line has two or more fields, separated by semicolons.
-#
-# First Field: The first field is an abbreviated name for the property.
-#
-# Second Field: The second field is a long name
-#
-# The above are the preferred aliases. Other aliases may be listed in additional fields.
-#
-# Loose matching should be applied to all property names and property values, with
-# the exception of String Property values. With loose matching of property names and
-# values, the case distinctions, whitespace, and '_' are ignored. For Numeric Property
-# values, numeric equivalencies are applied: thus "01.00" is equivalent to "1".
-#
-# NOTE: Property value names are NOT unique across properties. For example:
-#
-# AL means Arabic Letter for the Bidi_Class property, and
-# AL means Above_Left for the Combining_Class property, and
-# AL means Alphabetic for the Line_Break property.
-#
-# In addition, some property names may be the same as some property value names.
-# For example:
-#
-# sc means the Script property, and
-# Sc means the General_Category property value Currency_Symbol (Sc)
-#
-# The combination of property value and property name is, however, unique.
-#
-# For more information, see UTS #18: Unicode Regular Expressions
-# ================================================
-
-
-# ================================================
-# Numeric Properties
-# ================================================
-cjkAccountingNumeric; kAccountingNumeric
-cjkOtherNumeric; kOtherNumeric
-cjkPrimaryNumeric; kPrimaryNumeric
-nv ; Numeric_Value
-
-# ================================================
-# String Properties
-# ================================================
-bmg ; Bidi_Mirroring_Glyph
-cf ; Case_Folding
-cjkCompatibilityVariant; kCompatibilityVariant
-dm ; Decomposition_Mapping
-FC_NFKC ; FC_NFKC_Closure
-lc ; Lowercase_Mapping
-NFKC_CF ; NFKC_Casefold
-scf ; Simple_Case_Folding ; sfc
-slc ; Simple_Lowercase_Mapping
-stc ; Simple_Titlecase_Mapping
-suc ; Simple_Uppercase_Mapping
-tc ; Titlecase_Mapping
-uc ; Uppercase_Mapping
-
-# ================================================
-# Miscellaneous Properties
-# ================================================
-cjkIICore ; kIICore
-cjkIRG_GSource; kIRG_GSource
-cjkIRG_HSource; kIRG_HSource
-cjkIRG_JSource; kIRG_JSource
-cjkIRG_KPSource; kIRG_KPSource
-cjkIRG_KSource; kIRG_KSource
-cjkIRG_MSource; kIRG_MSource
-cjkIRG_TSource; kIRG_TSource
-cjkIRG_USource; kIRG_USource
-cjkIRG_VSource; kIRG_VSource
-cjkRSUnicode; kRSUnicode ; Unicode_Radical_Stroke; URS
-isc ; ISO_Comment
-JSN ; Jamo_Short_Name
-na ; Name
-na1 ; Unicode_1_Name
-Name_Alias; Name_Alias
-
-# ================================================
-# Catalog Properties
-# ================================================
-age ; Age
-blk ; Block
-sc ; Script
-
-# ================================================
-# Enumerated Properties
-# ================================================
-bc ; Bidi_Class
-ccc ; Canonical_Combining_Class
-dt ; Decomposition_Type
-ea ; East_Asian_Width
-gc ; General_Category
-GCB ; Grapheme_Cluster_Break
-hst ; Hangul_Syllable_Type
-jg ; Joining_Group
-jt ; Joining_Type
-lb ; Line_Break
-NFC_QC ; NFC_Quick_Check
-NFD_QC ; NFD_Quick_Check
-NFKC_QC ; NFKC_Quick_Check
-NFKD_QC ; NFKD_Quick_Check
-nt ; Numeric_Type
-SB ; Sentence_Break
-WB ; Word_Break
-
-# ================================================
-# Binary Properties
-# ================================================
-AHex ; ASCII_Hex_Digit
-Alpha ; Alphabetic
-Bidi_C ; Bidi_Control
-Bidi_M ; Bidi_Mirrored
-Cased ; Cased
-CE ; Composition_Exclusion
-CI ; Case_Ignorable
-Comp_Ex ; Full_Composition_Exclusion
-CWCF ; Changes_When_Casefolded
-CWCM ; Changes_When_Casemapped
-CWKCF ; Changes_When_NFKC_Casefolded
-CWL ; Changes_When_Lowercased
-CWT ; Changes_When_Titlecased
-CWU ; Changes_When_Uppercased
-Dash ; Dash
-Dep ; Deprecated
-DI ; Default_Ignorable_Code_Point
-Dia ; Diacritic
-Ext ; Extender
-Gr_Base ; Grapheme_Base
-Gr_Ext ; Grapheme_Extend
-Gr_Link ; Grapheme_Link
-Hex ; Hex_Digit
-Hyphen ; Hyphen
-IDC ; ID_Continue
-Ideo ; Ideographic
-IDS ; ID_Start
-IDSB ; IDS_Binary_Operator
-IDST ; IDS_Trinary_Operator
-Join_C ; Join_Control
-LOE ; Logical_Order_Exception
-Lower ; Lowercase
-Math ; Math
-NChar ; Noncharacter_Code_Point
-OAlpha ; Other_Alphabetic
-ODI ; Other_Default_Ignorable_Code_Point
-OGr_Ext ; Other_Grapheme_Extend
-OIDC ; Other_ID_Continue
-OIDS ; Other_ID_Start
-OLower ; Other_Lowercase
-OMath ; Other_Math
-OUpper ; Other_Uppercase
-Pat_Syn ; Pattern_Syntax
-Pat_WS ; Pattern_White_Space
-QMark ; Quotation_Mark
-Radical ; Radical
-SD ; Soft_Dotted
-STerm ; STerm
-Term ; Terminal_Punctuation
-UIdeo ; Unified_Ideograph
-Upper ; Uppercase
-VS ; Variation_Selector
-WSpace ; White_Space ; space
-XIDC ; XID_Continue
-XIDS ; XID_Start
-XO_NFC ; Expands_On_NFC
-XO_NFD ; Expands_On_NFD
-XO_NFKC ; Expands_On_NFKC
-XO_NFKD ; Expands_On_NFKD
-
-# ================================================
-# Total: 112
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/ReadMe.txt b/Master/tlpkg/tlperl/lib/unicore/ReadMe.txt
deleted file mode 100644
index b4c6e8f175d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/ReadMe.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-# Date: 2000-09-30, 16:26:00 PDT [KW]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# For documentation, see NamesList.html,
-# UAX #38, "Unicode Han Database (Unihan)," and
-# UAX #44, "Unicode Character Database."
-#
-
-This directory contains final data files
-for the Unicode Character Database (UCD) for Unicode 5.2.0.
diff --git a/Master/tlpkg/tlperl/lib/unicore/Scripts.txt b/Master/tlpkg/tlperl/lib/unicore/Scripts.txt
deleted file mode 100644
index fbeafe7a5ae..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/Scripts.txt
+++ /dev/null
@@ -1,1972 +0,0 @@
-# Scripts-5.2.0.txt
-# Date: 2009-08-22, 04:58:43 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: Script
-
-# All code points not explicitly listed for Script
-# have the value Unknown (Zzzz).
-
-# @missing: 0000..10FFFF; Unknown
-
-# ================================================
-
-0000..001F ; Common # Cc [32] <control-0000>..<control-001F>
-0020 ; Common # Zs SPACE
-0021..0023 ; Common # Po [3] EXCLAMATION MARK..NUMBER SIGN
-0024 ; Common # Sc DOLLAR SIGN
-0025..0027 ; Common # Po [3] PERCENT SIGN..APOSTROPHE
-0028 ; Common # Ps LEFT PARENTHESIS
-0029 ; Common # Pe RIGHT PARENTHESIS
-002A ; Common # Po ASTERISK
-002B ; Common # Sm PLUS SIGN
-002C ; Common # Po COMMA
-002D ; Common # Pd HYPHEN-MINUS
-002E..002F ; Common # Po [2] FULL STOP..SOLIDUS
-0030..0039 ; Common # Nd [10] DIGIT ZERO..DIGIT NINE
-003A..003B ; Common # Po [2] COLON..SEMICOLON
-003C..003E ; Common # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-003F..0040 ; Common # Po [2] QUESTION MARK..COMMERCIAL AT
-005B ; Common # Ps LEFT SQUARE BRACKET
-005C ; Common # Po REVERSE SOLIDUS
-005D ; Common # Pe RIGHT SQUARE BRACKET
-005E ; Common # Sk CIRCUMFLEX ACCENT
-005F ; Common # Pc LOW LINE
-0060 ; Common # Sk GRAVE ACCENT
-007B ; Common # Ps LEFT CURLY BRACKET
-007C ; Common # Sm VERTICAL LINE
-007D ; Common # Pe RIGHT CURLY BRACKET
-007E ; Common # Sm TILDE
-007F..009F ; Common # Cc [33] <control-007F>..<control-009F>
-00A0 ; Common # Zs NO-BREAK SPACE
-00A1 ; Common # Po INVERTED EXCLAMATION MARK
-00A2..00A5 ; Common # Sc [4] CENT SIGN..YEN SIGN
-00A6..00A7 ; Common # So [2] BROKEN BAR..SECTION SIGN
-00A8 ; Common # Sk DIAERESIS
-00A9 ; Common # So COPYRIGHT SIGN
-00AB ; Common # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; Common # Sm NOT SIGN
-00AD ; Common # Cf SOFT HYPHEN
-00AE ; Common # So REGISTERED SIGN
-00AF ; Common # Sk MACRON
-00B0 ; Common # So DEGREE SIGN
-00B1 ; Common # Sm PLUS-MINUS SIGN
-00B2..00B3 ; Common # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; Common # Sk ACUTE ACCENT
-00B5 ; Common # L& MICRO SIGN
-00B6 ; Common # So PILCROW SIGN
-00B7 ; Common # Po MIDDLE DOT
-00B8 ; Common # Sk CEDILLA
-00B9 ; Common # No SUPERSCRIPT ONE
-00BB ; Common # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC..00BE ; Common # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00BF ; Common # Po INVERTED QUESTION MARK
-00D7 ; Common # Sm MULTIPLICATION SIGN
-00F7 ; Common # Sm DIVISION SIGN
-02B9..02C1 ; Common # Lm [9] MODIFIER LETTER PRIME..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C5 ; Common # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6..02D1 ; Common # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02DF ; Common # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E5..02EB ; Common # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; Common # Lm MODIFIER LETTER VOICING
-02ED ; Common # Sk MODIFIER LETTER UNASPIRATED
-02EE ; Common # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; Common # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0374 ; Common # Lm GREEK NUMERAL SIGN
-037E ; Common # Po GREEK QUESTION MARK
-0385 ; Common # Sk GREEK DIALYTIKA TONOS
-0387 ; Common # Po GREEK ANO TELEIA
-0589 ; Common # Po ARMENIAN FULL STOP
-0600..0603 ; Common # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-060C ; Common # Po ARABIC COMMA
-061B ; Common # Po ARABIC SEMICOLON
-061F ; Common # Po ARABIC QUESTION MARK
-0640 ; Common # Lm ARABIC TATWEEL
-0660..0669 ; Common # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-06DD ; Common # Cf ARABIC END OF AYAH
-0964..0965 ; Common # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0970 ; Common # Po DEVANAGARI ABBREVIATION SIGN
-0CF1..0CF2 ; Common # So [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0E3F ; Common # Sc THAI CURRENCY SYMBOL BAHT
-0FD5..0FD8 ; Common # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-10FB ; Common # Po GEORGIAN PARAGRAPH SEPARATOR
-16EB..16ED ; Common # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-1735..1736 ; Common # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-1802..1803 ; Common # Po [2] MONGOLIAN COMMA..MONGOLIAN FULL STOP
-1805 ; Common # Po MONGOLIAN FOUR DOTS
-1CD3 ; Common # Po VEDIC SIGN NIHSHVASA
-1CE1 ; Common # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE9..1CEC ; Common # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; Common # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; Common # Mc VEDIC SIGN ARDHAVISARGA
-2000..200A ; Common # Zs [11] EN QUAD..HAIR SPACE
-200B ; Common # Cf ZERO WIDTH SPACE
-200E..200F ; Common # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-2010..2015 ; Common # Pd [6] HYPHEN..HORIZONTAL BAR
-2016..2017 ; Common # Po [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
-2018 ; Common # Pi LEFT SINGLE QUOTATION MARK
-2019 ; Common # Pf RIGHT SINGLE QUOTATION MARK
-201A ; Common # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; Common # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; Common # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; Common # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; Common # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020..2027 ; Common # Po [8] DAGGER..HYPHENATION POINT
-2028 ; Common # Zl LINE SEPARATOR
-2029 ; Common # Zp PARAGRAPH SEPARATOR
-202A..202E ; Common # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-202F ; Common # Zs NARROW NO-BREAK SPACE
-2030..2038 ; Common # Po [9] PER MILLE SIGN..CARET
-2039 ; Common # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; Common # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B..203E ; Common # Po [4] REFERENCE MARK..OVERLINE
-203F..2040 ; Common # Pc [2] UNDERTIE..CHARACTER TIE
-2041..2043 ; Common # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-2044 ; Common # Sm FRACTION SLASH
-2045 ; Common # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; Common # Pe RIGHT SQUARE BRACKET WITH QUILL
-2047..2051 ; Common # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; Common # Sm COMMERCIAL MINUS SIGN
-2053 ; Common # Po SWUNG DASH
-2054 ; Common # Pc INVERTED UNDERTIE
-2055..205E ; Common # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-205F ; Common # Zs MEDIUM MATHEMATICAL SPACE
-2060..2064 ; Common # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; Common # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2070 ; Common # No SUPERSCRIPT ZERO
-2074..2079 ; Common # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; Common # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; Common # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Common # Pe SUPERSCRIPT RIGHT PARENTHESIS
-2080..2089 ; Common # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; Common # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; Common # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Common # Pe SUBSCRIPT RIGHT PARENTHESIS
-20A0..20B8 ; Common # Sc [25] EURO-CURRENCY SIGN..TENGE SIGN
-2100..2101 ; Common # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; Common # L& DOUBLE-STRUCK CAPITAL C
-2103..2106 ; Common # So [4] DEGREE CELSIUS..CADA UNA
-2107 ; Common # L& EULER CONSTANT
-2108..2109 ; Common # So [2] SCRUPLE..DEGREE FAHRENHEIT
-210A..2113 ; Common # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2114 ; Common # So L B BAR SYMBOL
-2115 ; Common # L& DOUBLE-STRUCK CAPITAL N
-2116..2118 ; Common # So [3] NUMERO SIGN..SCRIPT CAPITAL P
-2119..211D ; Common # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-211E..2123 ; Common # So [6] PRESCRIPTION TAKE..VERSICLE
-2124 ; Common # L& DOUBLE-STRUCK CAPITAL Z
-2125 ; Common # So OUNCE SIGN
-2127 ; Common # So INVERTED OHM SIGN
-2128 ; Common # L& BLACK-LETTER CAPITAL Z
-2129 ; Common # So TURNED GREEK SMALL LETTER IOTA
-212C..212D ; Common # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
-212E ; Common # So ESTIMATED SYMBOL
-212F..2131 ; Common # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F
-2133..2134 ; Common # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O
-2135..2138 ; Common # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; Common # L& INFORMATION SOURCE
-213A..213B ; Common # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-213C..213F ; Common # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140..2144 ; Common # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-2145..2149 ; Common # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214A ; Common # So PROPERTY LINE
-214B ; Common # Sm TURNED AMPERSAND
-214C..214D ; Common # So [2] PER SIGN..AKTIESELSKAB
-214F ; Common # So SYMBOL FOR SAMARITAN SOURCE
-2150..215F ; Common # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2189 ; Common # No VULGAR FRACTION ZERO THIRDS
-2190..2194 ; Common # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; Common # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219A..219B ; Common # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; Common # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; Common # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; Common # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; Common # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; Common # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; Common # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; Common # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; Common # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21CD ; Common # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Common # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; Common # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D2 ; Common # Sm RIGHTWARDS DOUBLE ARROW
-21D3 ; Common # So DOWNWARDS DOUBLE ARROW
-21D4 ; Common # Sm LEFT RIGHT DOUBLE ARROW
-21D5..21F3 ; Common # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-21F4..22FF ; Common # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; Common # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; Common # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..231F ; Common # So [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
-2320..2321 ; Common # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; Common # So [7] FROWN..KEYBOARD
-2329 ; Common # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Common # Pe RIGHT-POINTING ANGLE BRACKET
-232B..237B ; Common # So [81] ERASE TO THE LEFT..NOT CHECK MARK
-237C ; Common # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..239A ; Common # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-239B..23B3 ; Common # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; Common # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; Common # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; Common # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; Common # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; Common # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-2460..249B ; Common # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; Common # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA..24FF ; Common # No [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
-2500..25B6 ; Common # So [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
-25B7 ; Common # Sm WHITE RIGHT-POINTING TRIANGLE
-25B8..25C0 ; Common # So [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C1 ; Common # Sm WHITE LEFT-POINTING TRIANGLE
-25C2..25F7 ; Common # So [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; Common # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..266E ; Common # So [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN
-266F ; Common # Sm MUSIC SHARP SIGN
-2670..26CD ; Common # So [94] WEST SYRIAC CROSS..DISABLED CAR
-26CF..26E1 ; Common # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; Common # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; Common # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701..2704 ; Common # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; Common # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; Common # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; Common # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; Common # So SHADOWED WHITE CIRCLE
-274F..2752 ; Common # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756..275E ; Common # So [9] BLACK DIAMOND MINUS WHITE X..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; Common # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2768 ; Common # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; Common # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; Common # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; Common # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; Common # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; Common # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; Common # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; Common # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; Common # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; Common # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; Common # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; Common # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; Common # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; Common # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776..2793 ; Common # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794 ; Common # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; Common # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; Common # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27C0..27C4 ; Common # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; Common # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Common # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; Common # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; Common # Sm LONG DIVISION
-27D0..27E5 ; Common # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; Common # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Common # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Common # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Common # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Common # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Common # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Common # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Common # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Common # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Common # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; Common # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2900..2982 ; Common # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; Common # Ps LEFT WHITE CURLY BRACKET
-2984 ; Common # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Common # Ps LEFT WHITE PARENTHESIS
-2986 ; Common # Pe RIGHT WHITE PARENTHESIS
-2987 ; Common # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Common # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Common # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Common # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Common # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Common # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Common # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Common # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Common # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Common # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Common # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Common # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Common # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Common # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Common # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Common # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Common # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Common # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; Common # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; Common # Ps LEFT WIGGLY FENCE
-29D9 ; Common # Pe RIGHT WIGGLY FENCE
-29DA ; Common # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Common # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; Common # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; Common # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Common # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; Common # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; Common # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; Common # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; Common # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; Common # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B59 ; Common # So [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
-2E00..2E01 ; Common # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; Common # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; Common # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; Common # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; Common # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; Common # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; Common # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; Common # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; Common # Po RAISED SQUARE
-2E0C ; Common # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; Common # Pf RIGHT RAISED OMISSION BRACKET
-2E0E..2E16 ; Common # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E17 ; Common # Pd DOUBLE OBLIQUE HYPHEN
-2E18..2E19 ; Common # Po [2] INVERTED INTERROBANG..PALM BRANCH
-2E1A ; Common # Pd HYPHEN WITH DIAERESIS
-2E1B ; Common # Po TILDE WITH RING ABOVE
-2E1C ; Common # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; Common # Pf RIGHT LOW PARAPHRASE BRACKET
-2E1E..2E1F ; Common # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E20 ; Common # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; Common # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; Common # Ps TOP LEFT HALF BRACKET
-2E23 ; Common # Pe TOP RIGHT HALF BRACKET
-2E24 ; Common # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; Common # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; Common # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; Common # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; Common # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; Common # Pe RIGHT DOUBLE PARENTHESIS
-2E2A..2E2E ; Common # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E2F ; Common # Lm VERTICAL TILDE
-2E30..2E31 ; Common # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-2FF0..2FFB ; Common # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; Common # Zs IDEOGRAPHIC SPACE
-3001..3003 ; Common # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
-3004 ; Common # So JAPANESE INDUSTRIAL STANDARD SYMBOL
-3006 ; Common # Lo IDEOGRAPHIC CLOSING MARK
-3008 ; Common # Ps LEFT ANGLE BRACKET
-3009 ; Common # Pe RIGHT ANGLE BRACKET
-300A ; Common # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; Common # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; Common # Ps LEFT CORNER BRACKET
-300D ; Common # Pe RIGHT CORNER BRACKET
-300E ; Common # Ps LEFT WHITE CORNER BRACKET
-300F ; Common # Pe RIGHT WHITE CORNER BRACKET
-3010 ; Common # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; Common # Pe RIGHT BLACK LENTICULAR BRACKET
-3012..3013 ; Common # So [2] POSTAL MARK..GETA MARK
-3014 ; Common # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; Common # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; Common # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; Common # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; Common # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; Common # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; Common # Ps LEFT WHITE SQUARE BRACKET
-301B ; Common # Pe RIGHT WHITE SQUARE BRACKET
-301C ; Common # Pd WAVE DASH
-301D ; Common # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; Common # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-3020 ; Common # So POSTAL MARK FACE
-3030 ; Common # Pd WAVY DASH
-3031..3035 ; Common # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3036..3037 ; Common # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303C ; Common # Lo MASU MARK
-303D ; Common # Po PART ALTERNATION MARK
-303E..303F ; Common # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
-309B..309C ; Common # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0 ; Common # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB ; Common # Po KATAKANA MIDDLE DOT
-30FC ; Common # Lm KATAKANA-HIRAGANA PROLONGED SOUND MARK
-3190..3191 ; Common # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192..3195 ; Common # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; Common # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31C0..31E3 ; Common # So [36] CJK STROKE T..CJK STROKE Q
-3220..3229 ; Common # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3250 ; Common # So [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
-3251..325F ; Common # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-327F ; Common # So KOREAN STANDARD SYMBOL
-3280..3289 ; Common # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; Common # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; Common # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32CF ; Common # So [16] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..LIMITED LIABILITY SIGN
-3358..33FF ; Common # So [168] IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO..SQUARE GAL
-4DC0..4DFF ; Common # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-A700..A716 ; Common # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; Common # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; Common # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A788 ; Common # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789..A78A ; Common # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A830..A835 ; Common # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-A836..A837 ; Common # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A838 ; Common # Sc NORTH INDIC RUPEE MARK
-A839 ; Common # So NORTH INDIC QUANTITY MARK
-FD3E ; Common # Ps ORNATE LEFT PARENTHESIS
-FD3F ; Common # Pe ORNATE RIGHT PARENTHESIS
-FDFD ; Common # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10..FE16 ; Common # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; Common # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Common # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; Common # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; Common # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45..FE46 ; Common # Po [2] SESAME DOT..WHITE SESAME DOT
-FE47 ; Common # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; Common # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; Common # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; Common # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; Common # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; Common # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; Common # Pd SMALL EM DASH
-FE59 ; Common # Ps SMALL LEFT PARENTHESIS
-FE5A ; Common # Pe SMALL RIGHT PARENTHESIS
-FE5B ; Common # Ps SMALL LEFT CURLY BRACKET
-FE5C ; Common # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; Common # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; Common # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; Common # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; Common # Sm SMALL PLUS SIGN
-FE63 ; Common # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; Common # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; Common # Po SMALL REVERSE SOLIDUS
-FE69 ; Common # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; Common # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FEFF ; Common # Cf ZERO WIDTH NO-BREAK SPACE
-FF01..FF03 ; Common # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; Common # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; Common # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; Common # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; Common # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; Common # Po FULLWIDTH ASTERISK
-FF0B ; Common # Sm FULLWIDTH PLUS SIGN
-FF0C ; Common # Po FULLWIDTH COMMA
-FF0D ; Common # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; Common # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; Common # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; Common # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; Common # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; Common # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF3B ; Common # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; Common # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; Common # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; Common # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; Common # Pc FULLWIDTH LOW LINE
-FF40 ; Common # Sk FULLWIDTH GRAVE ACCENT
-FF5B ; Common # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; Common # Sm FULLWIDTH VERTICAL LINE
-FF5D ; Common # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; Common # Sm FULLWIDTH TILDE
-FF5F ; Common # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; Common # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; Common # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; Common # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Common # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; Common # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF70 ; Common # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF9E..FF9F ; Common # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE0..FFE1 ; Common # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; Common # Sm FULLWIDTH NOT SIGN
-FFE3 ; Common # Sk FULLWIDTH MACRON
-FFE4 ; Common # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; Common # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-FFE8 ; Common # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; Common # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; Common # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-FFF9..FFFB ; Common # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10100..10101 ; Common # Po [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102 ; Common # So AEGEAN CHECK MARK
-10107..10133 ; Common # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; Common # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10190..1019B ; Common # So [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FC ; Common # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-1D000..1D0F5 ; Common # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; Common # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; Common # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D165..1D166 ; Common # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D16A..1D16C ; Common # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D..1D172 ; Common # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D173..1D17A ; Common # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D183..1D184 ; Common # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D18C..1D1A9 ; Common # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD ; Common # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D300..1D356 ; Common # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D360..1D371 ; Common # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D400..1D454 ; Common # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Common # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Common # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Common # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Common # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Common # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Common # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Common # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Common # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Common # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Common # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Common # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Common # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Common # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Common # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Common # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Common # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Common # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Common # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Common # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; Common # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; Common # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; Common # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; Common # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; Common # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; Common # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; Common # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; Common # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; Common # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; Common # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; Common # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; Common # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; Common # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; Common # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; Common # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; Common # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; Common # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; Common # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; Common # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; Common # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; Common # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F000..1F02B ; Common # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; Common # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F100..1F10A ; Common # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; Common # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; Common # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; Common # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; Common # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; Common # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; Common # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; Common # So [5] SQUARED HV..SQUARED PPV
-1F157 ; Common # So NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; Common # So NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; Common # So NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; Common # So [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; Common # So NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; Common # So [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; Common # So SQUARE DJ
-1F210..1F231 ; Common # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; Common # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-E0001 ; Common # Cf LANGUAGE TAG
-E0020..E007F ; Common # Cf [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 5395
-
-# ================================================
-
-0041..005A ; Latin # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; Latin # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; Latin # L& FEMININE ORDINAL INDICATOR
-00BA ; Latin # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; Latin # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; Latin # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; Latin # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; Latin # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; Latin # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; Latin # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; Latin # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; Latin # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; Latin # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02B8 ; Latin # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02E0..02E4 ; Latin # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-1D00..1D25 ; Latin # L& [38] LATIN LETTER SMALL CAPITAL A..LATIN LETTER AIN
-1D2C..1D5C ; Latin # Lm [49] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL AIN
-1D62..1D65 ; Latin # L& [4] LATIN SUBSCRIPT SMALL LETTER I..LATIN SUBSCRIPT SMALL LETTER V
-1D6B..1D77 ; Latin # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
-1D79..1D9A ; Latin # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBE ; Latin # Lm [36] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL EZH
-1E00..1EFF ; Latin # L& [256] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH LOOP
-2071 ; Latin # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; Latin # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; Latin # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-212A..212B ; Latin # L& [2] KELVIN SIGN..ANGSTROM SIGN
-2132 ; Latin # L& TURNED CAPITAL F
-214E ; Latin # L& TURNED SMALL F
-2160..2182 ; Latin # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; Latin # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; Latin # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2C60..2C7C ; Latin # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Latin # Lm MODIFIER LETTER CAPITAL V
-2C7E..2C7F ; Latin # L& [2] LATIN CAPITAL LETTER S WITH SWASH TAIL..LATIN CAPITAL LETTER Z WITH SWASH TAIL
-A722..A76F ; Latin # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; Latin # Lm MODIFIER LETTER US
-A771..A787 ; Latin # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A78B..A78C ; Latin # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A7FF ; Latin # Lo [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M
-FB00..FB06 ; Latin # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FF21..FF3A ; Latin # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; Latin # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-
-# Total code points: 1244
-
-# ================================================
-
-0370..0373 ; Greek # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0375 ; Greek # Sk GREEK LOWER NUMERAL SIGN
-0376..0377 ; Greek # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; Greek # Lm GREEK YPOGEGRAMMENI
-037B..037D ; Greek # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0384 ; Greek # Sk GREEK TONOS
-0386 ; Greek # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Greek # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Greek # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; Greek # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03E1 ; Greek # L& [63] GREEK CAPITAL LETTER SIGMA..GREEK SMALL LETTER SAMPI
-03F0..03F5 ; Greek # L& [6] GREEK KAPPA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F6 ; Greek # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7..03FF ; Greek # L& [9] GREEK CAPITAL LETTER SHO..GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-1D26..1D2A ; Greek # L& [5] GREEK LETTER SMALL CAPITAL GAMMA..GREEK LETTER SMALL CAPITAL PSI
-1D5D..1D61 ; Greek # Lm [5] MODIFIER LETTER SMALL BETA..MODIFIER LETTER SMALL CHI
-1D66..1D6A ; Greek # L& [5] GREEK SUBSCRIPT SMALL LETTER BETA..GREEK SUBSCRIPT SMALL LETTER CHI
-1DBF ; Greek # Lm MODIFIER LETTER SMALL THETA
-1F00..1F15 ; Greek # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Greek # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Greek # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Greek # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Greek # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Greek # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Greek # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Greek # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Greek # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Greek # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Greek # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; Greek # Sk GREEK KORONIS
-1FBE ; Greek # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; Greek # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; Greek # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Greek # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; Greek # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; Greek # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Greek # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; Greek # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; Greek # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; Greek # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; Greek # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Greek # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; Greek # Sk [2] GREEK OXIA..GREEK DASIA
-2126 ; Greek # L& OHM SIGN
-10140..10174 ; Greek # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; Greek # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-10179..10189 ; Greek # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-1018A ; Greek # No GREEK ZERO SIGN
-1D200..1D241 ; Greek # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D242..1D244 ; Greek # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-1D245 ; Greek # So GREEK MUSICAL LEIMMA
-
-# Total code points: 511
-
-# ================================================
-
-0400..0481 ; Cyrillic # L& [130] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER KOPPA
-0482 ; Cyrillic # So CYRILLIC THOUSANDS SIGN
-0483..0484 ; Cyrillic # Mn [2] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC PALATALIZATION
-0487 ; Cyrillic # Mn COMBINING CYRILLIC POKRYTIE
-0488..0489 ; Cyrillic # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-048A..0525 ; Cyrillic # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-1D2B ; Cyrillic # L& CYRILLIC LETTER SMALL CAPITAL EL
-1D78 ; Cyrillic # Lm MODIFIER LETTER CYRILLIC EN
-2DE0..2DFF ; Cyrillic # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-A640..A65F ; Cyrillic # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; Cyrillic # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; Cyrillic # Lo CYRILLIC LETTER MULTIOCULAR O
-A66F ; Cyrillic # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; Cyrillic # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673 ; Cyrillic # Po SLAVONIC ASTERISK
-A67C..A67D ; Cyrillic # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A67E ; Cyrillic # Po CYRILLIC KAVYKA
-A67F ; Cyrillic # Lm CYRILLIC PAYEROK
-A680..A697 ; Cyrillic # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-
-# Total code points: 404
-
-# ================================================
-
-0531..0556 ; Armenian # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; Armenian # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A..055F ; Armenian # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0561..0587 ; Armenian # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-058A ; Armenian # Pd ARMENIAN HYPHEN
-FB13..FB17 ; Armenian # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-
-# Total code points: 90
-
-# ================================================
-
-0591..05BD ; Hebrew # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BE ; Hebrew # Pd HEBREW PUNCTUATION MAQAF
-05BF ; Hebrew # Mn HEBREW POINT RAFE
-05C0 ; Hebrew # Po HEBREW PUNCTUATION PASEQ
-05C1..05C2 ; Hebrew # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C3 ; Hebrew # Po HEBREW PUNCTUATION SOF PASUQ
-05C4..05C5 ; Hebrew # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C6 ; Hebrew # Po HEBREW PUNCTUATION NUN HAFUKHA
-05C7 ; Hebrew # Mn HEBREW POINT QAMATS QATAN
-05D0..05EA ; Hebrew # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; Hebrew # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3..05F4 ; Hebrew # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-FB1D ; Hebrew # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1E ; Hebrew # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F..FB28 ; Hebrew # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; Hebrew # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; Hebrew # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Hebrew # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Hebrew # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Hebrew # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Hebrew # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4F ; Hebrew # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED
-
-# Total code points: 133
-
-# ================================================
-
-0606..0608 ; Arabic # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-0609..060A ; Arabic # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-060B ; Arabic # Sc AFGHANI SIGN
-060D ; Arabic # Po ARABIC DATE SEPARATOR
-060E..060F ; Arabic # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-0610..061A ; Arabic # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-061E ; Arabic # Po ARABIC TRIPLE DOT PUNCTUATION MARK
-0621..063F ; Arabic # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0641..064A ; Arabic # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-0656..065E ; Arabic # Mn [9] ARABIC SUBSCRIPT ALEF..ARABIC FATHA WITH TWO DOTS
-066A..066D ; Arabic # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
-066E..066F ; Arabic # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; Arabic # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4 ; Arabic # Po ARABIC FULL STOP
-06D5 ; Arabic # Lo ARABIC LETTER AE
-06D6..06DC ; Arabic # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; Arabic # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; Arabic # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E5..06E6 ; Arabic # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E7..06E8 ; Arabic # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06E9 ; Arabic # So ARABIC PLACE OF SAJDAH
-06EA..06ED ; Arabic # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-06EE..06EF ; Arabic # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06F0..06F9 ; Arabic # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-06FA..06FC ; Arabic # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FD..06FE ; Arabic # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ; Arabic # Lo ARABIC LETTER HEH WITH INVERTED V
-0750..077F ; Arabic # Lo [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE
-FB50..FBB1 ; Arabic # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; Arabic # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; Arabic # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Arabic # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Arabic # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; Arabic # Sc RIAL SIGN
-FE70..FE74 ; Arabic # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; Arabic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-10E60..10E7E ; Arabic # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-
-# Total code points: 1030
-
-# ================================================
-
-0700..070D ; Syriac # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-070F ; Syriac # Cf SYRIAC ABBREVIATION MARK
-0710 ; Syriac # Lo SYRIAC LETTER ALAPH
-0711 ; Syriac # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0712..072F ; Syriac # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-0730..074A ; Syriac # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-074D..074F ; Syriac # Lo [3] SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE
-
-# Total code points: 77
-
-# ================================================
-
-0780..07A5 ; Thaana # Lo [38] THAANA LETTER HAA..THAANA LETTER WAAVU
-07A6..07B0 ; Thaana # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07B1 ; Thaana # Lo THAANA LETTER NAA
-
-# Total code points: 50
-
-# ================================================
-
-0900..0902 ; Devanagari # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; Devanagari # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; Devanagari # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093C ; Devanagari # Mn DEVANAGARI SIGN NUKTA
-093D ; Devanagari # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; Devanagari # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; Devanagari # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; Devanagari # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; Devanagari # Mn DEVANAGARI SIGN VIRAMA
-094E ; Devanagari # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; Devanagari # Lo DEVANAGARI OM
-0953..0955 ; Devanagari # Mn [3] DEVANAGARI GRAVE ACCENT..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958..0961 ; Devanagari # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0962..0963 ; Devanagari # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0966..096F ; Devanagari # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0971 ; Devanagari # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; Devanagari # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; Devanagari # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-A8E0..A8F1 ; Devanagari # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2..A8F7 ; Devanagari # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8..A8FA ; Devanagari # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A8FB ; Devanagari # Lo DEVANAGARI HEADSTROKE
-
-# Total code points: 140
-
-# ================================================
-
-0981 ; Bengali # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; Bengali # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; Bengali # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; Bengali # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; Bengali # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; Bengali # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; Bengali # Lo BENGALI LETTER LA
-09B6..09B9 ; Bengali # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BC ; Bengali # Mn BENGALI SIGN NUKTA
-09BD ; Bengali # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; Bengali # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; Bengali # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; Bengali # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Bengali # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; Bengali # Mn BENGALI SIGN VIRAMA
-09CE ; Bengali # Lo BENGALI LETTER KHANDA TA
-09D7 ; Bengali # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; Bengali # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; Bengali # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E2..09E3 ; Bengali # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-09E6..09EF ; Bengali # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; Bengali # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2..09F3 ; Bengali # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09F4..09F9 ; Bengali # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; Bengali # So BENGALI ISSHAR
-09FB ; Bengali # Sc BENGALI GANDA MARK
-
-# Total code points: 92
-
-# ================================================
-
-0A01..0A02 ; Gurmukhi # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; Gurmukhi # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; Gurmukhi # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; Gurmukhi # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; Gurmukhi # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; Gurmukhi # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; Gurmukhi # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; Gurmukhi # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; Gurmukhi # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3C ; Gurmukhi # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; Gurmukhi # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; Gurmukhi # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Gurmukhi # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Gurmukhi # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Gurmukhi # Mn GURMUKHI SIGN UDAAT
-0A59..0A5C ; Gurmukhi # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; Gurmukhi # Lo GURMUKHI LETTER FA
-0A66..0A6F ; Gurmukhi # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A70..0A71 ; Gurmukhi # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A72..0A74 ; Gurmukhi # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A75 ; Gurmukhi # Mn GURMUKHI SIGN YAKASH
-
-# Total code points: 79
-
-# ================================================
-
-0A81..0A82 ; Gujarati # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; Gujarati # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; Gujarati # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; Gujarati # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; Gujarati # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; Gujarati # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; Gujarati # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; Gujarati # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABC ; Gujarati # Mn GUJARATI SIGN NUKTA
-0ABD ; Gujarati # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; Gujarati # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; Gujarati # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Gujarati # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; Gujarati # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Gujarati # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; Gujarati # Mn GUJARATI SIGN VIRAMA
-0AD0 ; Gujarati # Lo GUJARATI OM
-0AE0..0AE1 ; Gujarati # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE2..0AE3 ; Gujarati # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0AE6..0AEF ; Gujarati # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0AF1 ; Gujarati # Sc GUJARATI RUPEE SIGN
-
-# Total code points: 83
-
-# ================================================
-
-0B01 ; Oriya # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; Oriya # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; Oriya # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; Oriya # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; Oriya # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; Oriya # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; Oriya # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; Oriya # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3C ; Oriya # Mn ORIYA SIGN NUKTA
-0B3D ; Oriya # Lo ORIYA SIGN AVAGRAHA
-0B3E ; Oriya # Mc ORIYA VOWEL SIGN AA
-0B3F ; Oriya # Mn ORIYA VOWEL SIGN I
-0B40 ; Oriya # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; Oriya # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; Oriya # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Oriya # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; Oriya # Mn ORIYA SIGN VIRAMA
-0B56 ; Oriya # Mn ORIYA AI LENGTH MARK
-0B57 ; Oriya # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; Oriya # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; Oriya # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B62..0B63 ; Oriya # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B66..0B6F ; Oriya # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B70 ; Oriya # So ORIYA ISSHAR
-0B71 ; Oriya # Lo ORIYA LETTER WA
-
-# Total code points: 84
-
-# ================================================
-
-0B82 ; Tamil # Mn TAMIL SIGN ANUSVARA
-0B83 ; Tamil # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; Tamil # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; Tamil # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; Tamil # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; Tamil # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; Tamil # Lo TAMIL LETTER JA
-0B9E..0B9F ; Tamil # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; Tamil # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; Tamil # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; Tamil # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; Tamil # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; Tamil # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; Tamil # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Tamil # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Tamil # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; Tamil # Mn TAMIL SIGN VIRAMA
-0BD0 ; Tamil # Lo TAMIL OM
-0BD7 ; Tamil # Mc TAMIL AU LENGTH MARK
-0BE6..0BEF ; Tamil # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0BF0..0BF2 ; Tamil # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0BF3..0BF8 ; Tamil # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BF9 ; Tamil # Sc TAMIL RUPEE SIGN
-0BFA ; Tamil # So TAMIL NUMBER SIGN
-
-# Total code points: 72
-
-# ================================================
-
-0C01..0C03 ; Telugu # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; Telugu # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; Telugu # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; Telugu # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; Telugu # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; Telugu # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; Telugu # Lo TELUGU SIGN AVAGRAHA
-0C3E..0C40 ; Telugu # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; Telugu # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; Telugu # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Telugu # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Telugu # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59 ; Telugu # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; Telugu # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C62..0C63 ; Telugu # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C66..0C6F ; Telugu # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C78..0C7E ; Telugu # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F ; Telugu # So TELUGU SIGN TUUMU
-
-# Total code points: 93
-
-# ================================================
-
-0C82..0C83 ; Kannada # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; Kannada # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; Kannada # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; Kannada # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; Kannada # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; Kannada # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBC ; Kannada # Mn KANNADA SIGN NUKTA
-0CBD ; Kannada # Lo KANNADA SIGN AVAGRAHA
-0CBE ; Kannada # Mc KANNADA VOWEL SIGN AA
-0CBF ; Kannada # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; Kannada # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; Kannada # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; Kannada # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Kannada # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; Kannada # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; Kannada # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; Kannada # Lo KANNADA LETTER FA
-0CE0..0CE1 ; Kannada # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE2..0CE3 ; Kannada # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0CE6..0CEF ; Kannada # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-
-# Total code points: 84
-
-# ================================================
-
-0D02..0D03 ; Malayalam # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; Malayalam # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; Malayalam # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; Malayalam # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; Malayalam # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; Malayalam # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; Malayalam # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; Malayalam # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; Malayalam # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Malayalam # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; Malayalam # Mn MALAYALAM SIGN VIRAMA
-0D57 ; Malayalam # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; Malayalam # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D62..0D63 ; Malayalam # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D66..0D6F ; Malayalam # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D70..0D75 ; Malayalam # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D79 ; Malayalam # So MALAYALAM DATE MARK
-0D7A..0D7F ; Malayalam # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-
-# Total code points: 95
-
-# ================================================
-
-0D82..0D83 ; Sinhala # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; Sinhala # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; Sinhala # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; Sinhala # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; Sinhala # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; Sinhala # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCA ; Sinhala # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; Sinhala # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; Sinhala # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Sinhala # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; Sinhala # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; Sinhala # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4 ; Sinhala # Po SINHALA PUNCTUATION KUNDDALIYA
-
-# Total code points: 80
-
-# ================================================
-
-0E01..0E30 ; Thai # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; Thai # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; Thai # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; Thai # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E40..0E45 ; Thai # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; Thai # Lm THAI CHARACTER MAIYAMOK
-0E47..0E4E ; Thai # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0E4F ; Thai # Po THAI CHARACTER FONGMAN
-0E50..0E59 ; Thai # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E5A..0E5B ; Thai # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-
-# Total code points: 86
-
-# ================================================
-
-0E81..0E82 ; Lao # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; Lao # Lo LAO LETTER KHO TAM
-0E87..0E88 ; Lao # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; Lao # Lo LAO LETTER SO TAM
-0E8D ; Lao # Lo LAO LETTER NYO
-0E94..0E97 ; Lao # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; Lao # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; Lao # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; Lao # Lo LAO LETTER LO LOOT
-0EA7 ; Lao # Lo LAO LETTER WO
-0EAA..0EAB ; Lao # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; Lao # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; Lao # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; Lao # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; Lao # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Lao # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; Lao # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; Lao # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; Lao # Lm LAO KO LA
-0EC8..0ECD ; Lao # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0ED0..0ED9 ; Lao # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; Lao # Lo [2] LAO HO NO..LAO HO MO
-
-# Total code points: 65
-
-# ================================================
-
-0F00 ; Tibetan # Lo TIBETAN SYLLABLE OM
-0F01..0F03 ; Tibetan # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04..0F12 ; Tibetan # Po [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17 ; Tibetan # So [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F18..0F19 ; Tibetan # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A..0F1F ; Tibetan # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20..0F29 ; Tibetan # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F2A..0F33 ; Tibetan # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-0F34 ; Tibetan # So TIBETAN MARK BSDUS RTAGS
-0F35 ; Tibetan # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36 ; Tibetan # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F37 ; Tibetan # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38 ; Tibetan # So TIBETAN MARK CHE MGO
-0F39 ; Tibetan # Mn TIBETAN MARK TSA -PHRU
-0F3A ; Tibetan # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; Tibetan # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; Tibetan # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; Tibetan # Pe TIBETAN MARK ANG KHANG GYAS
-0F3E..0F3F ; Tibetan # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; Tibetan # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; Tibetan # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F71..0F7E ; Tibetan # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; Tibetan # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F84 ; Tibetan # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F85 ; Tibetan # Po TIBETAN MARK PALUTA
-0F86..0F87 ; Tibetan # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F88..0F8B ; Tibetan # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F97 ; Tibetan # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Tibetan # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE..0FC5 ; Tibetan # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
-0FC6 ; Tibetan # Mn TIBETAN SYMBOL PADMA GDAN
-0FC7..0FCC ; Tibetan # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; Tibetan # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD0..0FD4 ; Tibetan # Po [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-
-# Total code points: 201
-
-# ================================================
-
-1000..102A ; Myanmar # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; Myanmar # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; Myanmar # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; Myanmar # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; Myanmar # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; Myanmar # Mc MYANMAR SIGN VISARGA
-1039..103A ; Myanmar # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; Myanmar # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; Myanmar # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; Myanmar # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; Myanmar # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-104A..104F ; Myanmar # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
-1050..1055 ; Myanmar # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; Myanmar # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; Myanmar # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; Myanmar # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; Myanmar # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; Myanmar # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; Myanmar # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; Myanmar # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; Myanmar # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; Myanmar # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; Myanmar # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; Myanmar # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; Myanmar # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; Myanmar # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; Myanmar # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; Myanmar # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; Myanmar # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E ; Myanmar # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; Myanmar # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; Myanmar # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; Myanmar # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; Myanmar # Mn MYANMAR VOWEL SIGN AITON AI
-109E..109F ; Myanmar # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-AA60..AA6F ; Myanmar # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; Myanmar # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; Myanmar # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA77..AA79 ; Myanmar # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-AA7A ; Myanmar # Lo MYANMAR LETTER AITON RA
-AA7B ; Myanmar # Mc MYANMAR SIGN PAO KAREN TONE
-
-# Total code points: 188
-
-# ================================================
-
-10A0..10C5 ; Georgian # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; Georgian # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; Georgian # Lm MODIFIER LETTER GEORGIAN NAR
-2D00..2D25 ; Georgian # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-
-# Total code points: 120
-
-# ================================================
-
-1100..11FF ; Hangul # Lo [256] HANGUL CHOSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
-3131..318E ; Hangul # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3200..321E ; Hangul # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3260..327E ; Hangul # So [31] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL IEUNG U
-A960..A97C ; Hangul # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-AC00..D7A3 ; Hangul # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; Hangul # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; Hangul # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-FFA0..FFBE ; Hangul # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; Hangul # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; Hangul # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; Hangul # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; Hangul # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-
-# Total code points: 11737
-
-# ================================================
-
-1200..1248 ; Ethiopic # Lo [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA
-124A..124D ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; Ethiopic # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; Ethiopic # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; Ethiopic # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; Ethiopic # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; Ethiopic # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; Ethiopic # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; Ethiopic # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-135F ; Ethiopic # Mn ETHIOPIC COMBINING GEMINATION MARK
-1360 ; Ethiopic # So ETHIOPIC SECTION MARK
-1361..1368 ; Ethiopic # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-1369..137C ; Ethiopic # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-1380..138F ; Ethiopic # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-1390..1399 ; Ethiopic # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-2D80..2D96 ; Ethiopic # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-
-# Total code points: 461
-
-# ================================================
-
-13A0..13F4 ; Cherokee # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-
-# Total code points: 85
-
-# ================================================
-
-1400 ; Canadian_Aboriginal # Pd CANADIAN SYLLABICS HYPHEN
-1401..166C ; Canadian_Aboriginal # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166D..166E ; Canadian_Aboriginal # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-166F..167F ; Canadian_Aboriginal # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-18B0..18F5 ; Canadian_Aboriginal # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-
-# Total code points: 710
-
-# ================================================
-
-1680 ; Ogham # Zs OGHAM SPACE MARK
-1681..169A ; Ogham # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-169B ; Ogham # Ps OGHAM FEATHER MARK
-169C ; Ogham # Pe OGHAM REVERSED FEATHER MARK
-
-# Total code points: 29
-
-# ================================================
-
-16A0..16EA ; Runic # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; Runic # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-
-# Total code points: 78
-
-# ================================================
-
-1780..17B3 ; Khmer # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5 ; Khmer # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6 ; Khmer # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; Khmer # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; Khmer # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; Khmer # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; Khmer # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; Khmer # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17D4..17D6 ; Khmer # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17D7 ; Khmer # Lm KHMER SIGN LEK TOO
-17D8..17DA ; Khmer # Po [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
-17DB ; Khmer # Sc KHMER CURRENCY SYMBOL RIEL
-17DC ; Khmer # Lo KHMER SIGN AVAKRAHASANYA
-17DD ; Khmer # Mn KHMER SIGN ATTHACAN
-17E0..17E9 ; Khmer # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-17F0..17F9 ; Khmer # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-19E0..19FF ; Khmer # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-
-# Total code points: 146
-
-# ================================================
-
-1800..1801 ; Mongolian # Po [2] MONGOLIAN BIRGA..MONGOLIAN ELLIPSIS
-1804 ; Mongolian # Po MONGOLIAN COLON
-1806 ; Mongolian # Pd MONGOLIAN TODO SOFT HYPHEN
-1807..180A ; Mongolian # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
-180B..180D ; Mongolian # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-180E ; Mongolian # Zs MONGOLIAN VOWEL SEPARATOR
-1810..1819 ; Mongolian # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; Mongolian # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; Mongolian # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; Mongolian # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; Mongolian # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 ; Mongolian # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-18AA ; Mongolian # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-
-# Total code points: 153
-
-# ================================================
-
-3041..3096 ; Hiragana # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309D..309E ; Hiragana # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; Hiragana # Lo HIRAGANA DIGRAPH YORI
-1F200 ; Hiragana # So SQUARE HIRAGANA HOKA
-
-# Total code points: 90
-
-# ================================================
-
-30A1..30FA ; Katakana # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FD..30FE ; Katakana # Lm [2] KATAKANA ITERATION MARK..KATAKANA VOICED ITERATION MARK
-30FF ; Katakana # Lo KATAKANA DIGRAPH KOTO
-31F0..31FF ; Katakana # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-32D0..32FE ; Katakana # So [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO
-3300..3357 ; Katakana # So [88] SQUARE APAATO..SQUARE WATTO
-FF66..FF6F ; Katakana # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-
-# Total code points: 299
-
-# ================================================
-
-3105..312D ; Bopomofo # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-31A0..31B7 ; Bopomofo # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-
-# Total code points: 65
-
-# ================================================
-
-2E80..2E99 ; Han # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; Han # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; Han # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-3005 ; Han # Lm IDEOGRAPHIC ITERATION MARK
-3007 ; Han # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; Han # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3038..303A ; Han # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; Han # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-3400..4DB5 ; Han # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; Han # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-F900..FA2D ; Han # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Han # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Han # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-20000..2A6D6 ; Han # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; Han # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; Han # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 75738
-
-# ================================================
-
-A000..A014 ; Yi # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; Yi # Lm YI SYLLABLE WU
-A016..A48C ; Yi # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A490..A4C6 ; Yi # So [55] YI RADICAL QOT..YI RADICAL KE
-
-# Total code points: 1220
-
-# ================================================
-
-10300..1031E ; Old_Italic # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; Old_Italic # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-
-# Total code points: 35
-
-# ================================================
-
-10330..10340 ; Gothic # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; Gothic # Nl GOTHIC LETTER NINETY
-10342..10349 ; Gothic # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; Gothic # Nl GOTHIC LETTER NINE HUNDRED
-
-# Total code points: 27
-
-# ================================================
-
-10400..1044F ; Deseret # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-
-# Total code points: 80
-
-# ================================================
-
-0300..036F ; Inherited # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0485..0486 ; Inherited # Mn [2] COMBINING CYRILLIC DASIA PNEUMATA..COMBINING CYRILLIC PSILI PNEUMATA
-064B..0655 ; Inherited # Mn [11] ARABIC FATHATAN..ARABIC HAMZA BELOW
-0670 ; Inherited # Mn ARABIC LETTER SUPERSCRIPT ALEF
-0951..0952 ; Inherited # Mn [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
-1CD0..1CD2 ; Inherited # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Inherited # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; Inherited # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Inherited # Mn VEDIC SIGN TIRYAK
-1DC0..1DE6 ; Inherited # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Inherited # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200C..200D ; Inherited # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-20D0..20DC ; Inherited # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; Inherited # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; Inherited # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; Inherited # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; Inherited # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-302A..302F ; Inherited # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Inherited # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-FE00..FE0F ; Inherited # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; Inherited # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-101FD ; Inherited # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-1D167..1D169 ; Inherited # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D17B..1D182 ; Inherited # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Inherited # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Inherited # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-E0100..E01EF ; Inherited # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 523
-
-# ================================================
-
-1700..170C ; Tagalog # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; Tagalog # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1712..1714 ; Tagalog # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-
-# Total code points: 20
-
-# ================================================
-
-1720..1731 ; Hanunoo # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1732..1734 ; Hanunoo # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-
-# Total code points: 21
-
-# ================================================
-
-1740..1751 ; Buhid # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1752..1753 ; Buhid # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-
-# Total code points: 20
-
-# ================================================
-
-1760..176C ; Tagbanwa # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; Tagbanwa # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; Tagbanwa # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-
-# Total code points: 18
-
-# ================================================
-
-1900..191C ; Limbu # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..1922 ; Limbu # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; Limbu # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; Limbu # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; Limbu # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Limbu # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; Limbu # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; Limbu # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; Limbu # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1940 ; Limbu # So LIMBU SIGN LOO
-1944..1945 ; Limbu # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1946..194F ; Limbu # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-
-# Total code points: 66
-
-# ================================================
-
-1950..196D ; Tai_Le # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; Tai_Le # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-
-# Total code points: 35
-
-# ================================================
-
-10000..1000B ; Linear_B # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; Linear_B # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; Linear_B # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; Linear_B # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; Linear_B # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; Linear_B # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; Linear_B # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-
-# Total code points: 211
-
-# ================================================
-
-10380..1039D ; Ugaritic # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-1039F ; Ugaritic # Po UGARITIC WORD DIVIDER
-
-# Total code points: 31
-
-# ================================================
-
-10450..1047F ; Shavian # Lo [48] SHAVIAN LETTER PEEP..SHAVIAN LETTER YEW
-
-# Total code points: 48
-
-# ================================================
-
-10480..1049D ; Osmanya # Lo [30] OSMANYA LETTER ALEF..OSMANYA LETTER OO
-104A0..104A9 ; Osmanya # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-
-# Total code points: 40
-
-# ================================================
-
-10800..10805 ; Cypriot # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; Cypriot # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; Cypriot # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; Cypriot # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; Cypriot # Lo CYPRIOT SYLLABLE ZA
-1083F ; Cypriot # Lo CYPRIOT SYLLABLE ZO
-
-# Total code points: 55
-
-# ================================================
-
-2800..28FF ; Braille # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-
-# Total code points: 256
-
-# ================================================
-
-1A00..1A16 ; Buginese # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A17..1A18 ; Buginese # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; Buginese # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A1E..1A1F ; Buginese # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-
-# Total code points: 30
-
-# ================================================
-
-03E2..03EF ; Coptic # L& [14] COPTIC CAPITAL LETTER SHEI..COPTIC SMALL LETTER DEI
-2C80..2CE4 ; Coptic # L& [101] COPTIC CAPITAL LETTER ALFA..COPTIC SYMBOL KAI
-2CE5..2CEA ; Coptic # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2CEB..2CEE ; Coptic # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF..2CF1 ; Coptic # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2CF9..2CFC ; Coptic # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; Coptic # No COPTIC FRACTION ONE HALF
-2CFE..2CFF ; Coptic # Po [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
-
-# Total code points: 135
-
-# ================================================
-
-1980..19AB ; New_Tai_Lue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; New_Tai_Lue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; New_Tai_Lue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; New_Tai_Lue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; New_Tai_Lue # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-19DE..19DF ; New_Tai_Lue # Po [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-
-# Total code points: 83
-
-# ================================================
-
-2C00..2C2E ; Glagolitic # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; Glagolitic # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-
-# Total code points: 94
-
-# ================================================
-
-2D30..2D65 ; Tifinagh # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; Tifinagh # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-
-# Total code points: 55
-
-# ================================================
-
-A800..A801 ; Syloti_Nagri # Lo [2] SYLOTI NAGRI LETTER A..SYLOTI NAGRI LETTER I
-A802 ; Syloti_Nagri # Mn SYLOTI NAGRI SIGN DVISVARA
-A803..A805 ; Syloti_Nagri # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A806 ; Syloti_Nagri # Mn SYLOTI NAGRI SIGN HASANTA
-A807..A80A ; Syloti_Nagri # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80B ; Syloti_Nagri # Mn SYLOTI NAGRI SIGN ANUSVARA
-A80C..A822 ; Syloti_Nagri # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; Syloti_Nagri # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; Syloti_Nagri # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; Syloti_Nagri # Mc SYLOTI NAGRI VOWEL SIGN OO
-A828..A82B ; Syloti_Nagri # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-
-# Total code points: 44
-
-# ================================================
-
-103A0..103C3 ; Old_Persian # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; Old_Persian # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D0 ; Old_Persian # Po OLD PERSIAN WORD DIVIDER
-103D1..103D5 ; Old_Persian # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-
-# Total code points: 50
-
-# ================================================
-
-10A00 ; Kharoshthi # Lo KHAROSHTHI LETTER A
-10A01..10A03 ; Kharoshthi # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Kharoshthi # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Kharoshthi # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A10..10A13 ; Kharoshthi # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; Kharoshthi # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; Kharoshthi # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A38..10A3A ; Kharoshthi # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Kharoshthi # Mn KHAROSHTHI VIRAMA
-10A40..10A47 ; Kharoshthi # No [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A50..10A58 ; Kharoshthi # Po [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-
-# Total code points: 65
-
-# ================================================
-
-1B00..1B03 ; Balinese # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; Balinese # Mc BALINESE SIGN BISAH
-1B05..1B33 ; Balinese # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B34 ; Balinese # Mn BALINESE SIGN REREKAN
-1B35 ; Balinese # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; Balinese # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; Balinese # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; Balinese # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; Balinese # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; Balinese # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; Balinese # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B45..1B4B ; Balinese # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; Balinese # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B5A..1B60 ; Balinese # Po [7] BALINESE PANTI..BALINESE PAMENENG
-1B61..1B6A ; Balinese # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B6B..1B73 ; Balinese # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74..1B7C ; Balinese # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-
-# Total code points: 121
-
-# ================================================
-
-12000..1236E ; Cuneiform # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; Cuneiform # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470..12473 ; Cuneiform # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-
-# Total code points: 982
-
-# ================================================
-
-10900..10915 ; Phoenician # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10916..1091B ; Phoenician # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-1091F ; Phoenician # Po PHOENICIAN WORD SEPARATOR
-
-# Total code points: 29
-
-# ================================================
-
-A840..A873 ; Phags_Pa # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A874..A877 ; Phags_Pa # Po [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
-
-# Total code points: 56
-
-# ================================================
-
-07C0..07C9 ; Nko # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; Nko # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07EB..07F3 ; Nko # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-07F4..07F5 ; Nko # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07F6 ; Nko # So NKO SYMBOL OO DENNEN
-07F7..07F9 ; Nko # Po [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
-07FA ; Nko # Lm NKO LAJANYALAN
-
-# Total code points: 59
-
-# ================================================
-
-1B80..1B81 ; Sundanese # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; Sundanese # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; Sundanese # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; Sundanese # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; Sundanese # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; Sundanese # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; Sundanese # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; Sundanese # Mc SUNDANESE SIGN PAMAAEH
-1BAE..1BAF ; Sundanese # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; Sundanese # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-
-# Total code points: 55
-
-# ================================================
-
-1C00..1C23 ; Lepcha # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; Lepcha # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; Lepcha # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; Lepcha # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; Lepcha # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1C3B..1C3F ; Lepcha # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C40..1C49 ; Lepcha # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; Lepcha # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-
-# Total code points: 74
-
-# ================================================
-
-1C50..1C59 ; Ol_Chiki # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; Ol_Chiki # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; Ol_Chiki # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1C7E..1C7F ; Ol_Chiki # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-
-# Total code points: 48
-
-# ================================================
-
-A500..A60B ; Vai # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; Vai # Lm VAI SYLLABLE LENGTHENER
-A60D..A60F ; Vai # Po [3] VAI COMMA..VAI QUESTION MARK
-A610..A61F ; Vai # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; Vai # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; Vai # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-
-# Total code points: 300
-
-# ================================================
-
-A880..A881 ; Saurashtra # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; Saurashtra # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; Saurashtra # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; Saurashtra # Mn SAURASHTRA SIGN VIRAMA
-A8CE..A8CF ; Saurashtra # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A8D0..A8D9 ; Saurashtra # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-
-# Total code points: 81
-
-# ================================================
-
-A900..A909 ; Kayah_Li # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; Kayah_Li # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A926..A92D ; Kayah_Li # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A92E..A92F ; Kayah_Li # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-
-# Total code points: 48
-
-# ================================================
-
-A930..A946 ; Rejang # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A947..A951 ; Rejang # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; Rejang # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A95F ; Rejang # Po REJANG SECTION MARK
-
-# Total code points: 37
-
-# ================================================
-
-10280..1029C ; Lycian # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-
-# Total code points: 29
-
-# ================================================
-
-102A0..102D0 ; Carian # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-
-# Total code points: 49
-
-# ================================================
-
-10920..10939 ; Lydian # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093F ; Lydian # Po LYDIAN TRIANGULAR MARK
-
-# Total code points: 27
-
-# ================================================
-
-AA00..AA28 ; Cham # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA29..AA2E ; Cham # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; Cham # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; Cham # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; Cham # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; Cham # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA40..AA42 ; Cham # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA43 ; Cham # Mn CHAM CONSONANT SIGN FINAL NG
-AA44..AA4B ; Cham # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4C ; Cham # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; Cham # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; Cham # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA5C..AA5F ; Cham # Po [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-
-# Total code points: 83
-
-# ================================================
-
-1A20..1A54 ; Tai_Tham # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; Tai_Tham # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; Tai_Tham # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; Tai_Tham # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; Tai_Tham # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Tai_Tham # Mn TAI THAM SIGN SAKOT
-1A61 ; Tai_Tham # Mc TAI THAM VOWEL SIGN A
-1A62 ; Tai_Tham # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; Tai_Tham # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; Tai_Tham # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; Tai_Tham # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; Tai_Tham # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Tai_Tham # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80..1A89 ; Tai_Tham # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; Tai_Tham # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA0..1AA6 ; Tai_Tham # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 ; Tai_Tham # Lm TAI THAM SIGN MAI YAMOK
-1AA8..1AAD ; Tai_Tham # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-
-# Total code points: 127
-
-# ================================================
-
-AA80..AAAF ; Tai_Viet # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB0 ; Tai_Viet # Mn TAI VIET MAI KANG
-AAB1 ; Tai_Viet # Lo TAI VIET VOWEL AA
-AAB2..AAB4 ; Tai_Viet # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB5..AAB6 ; Tai_Viet # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB7..AAB8 ; Tai_Viet # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AAB9..AABD ; Tai_Viet # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AABE..AABF ; Tai_Viet # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC0 ; Tai_Viet # Lo TAI VIET TONE MAI NUENG
-AAC1 ; Tai_Viet # Mn TAI VIET TONE MAI THO
-AAC2 ; Tai_Viet # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; Tai_Viet # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; Tai_Viet # Lm TAI VIET SYMBOL SAM
-AADE..AADF ; Tai_Viet # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-
-# Total code points: 72
-
-# ================================================
-
-10B00..10B35 ; Avestan # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B39..10B3F ; Avestan # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-
-# Total code points: 61
-
-# ================================================
-
-13000..1342E ; Egyptian_Hieroglyphs # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-
-# Total code points: 1071
-
-# ================================================
-
-0800..0815 ; Samaritan # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-0816..0819 ; Samaritan # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081A ; Samaritan # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B..0823 ; Samaritan # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0824 ; Samaritan # Lm SAMARITAN MODIFIER LETTER SHORT A
-0825..0827 ; Samaritan # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0828 ; Samaritan # Lm SAMARITAN MODIFIER LETTER I
-0829..082D ; Samaritan # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0830..083E ; Samaritan # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-
-# Total code points: 61
-
-# ================================================
-
-A4D0..A4F7 ; Lisu # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; Lisu # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A4FE..A4FF ; Lisu # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-
-# Total code points: 48
-
-# ================================================
-
-A6A0..A6E5 ; Bamum # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; Bamum # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F0..A6F1 ; Bamum # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A6F2..A6F7 ; Bamum # Po [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
-
-# Total code points: 88
-
-# ================================================
-
-A980..A982 ; Javanese # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; Javanese # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; Javanese # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B3 ; Javanese # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; Javanese # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; Javanese # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; Javanese # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; Javanese # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; Javanese # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-A9C1..A9CD ; Javanese # Po [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
-A9CF ; Javanese # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; Javanese # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-A9DE..A9DF ; Javanese # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-
-# Total code points: 91
-
-# ================================================
-
-ABC0..ABE2 ; Meetei_Mayek # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; Meetei_Mayek # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; Meetei_Mayek # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; Meetei_Mayek # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; Meetei_Mayek # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; Meetei_Mayek # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEB ; Meetei_Mayek # Po MEETEI MAYEK CHEIKHEI
-ABEC ; Meetei_Mayek # Mc MEETEI MAYEK LUM IYEK
-ABED ; Meetei_Mayek # Mn MEETEI MAYEK APUN IYEK
-ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-
-# Total code points: 56
-
-# ================================================
-
-10840..10855 ; Imperial_Aramaic # Lo [22] IMPERIAL ARAMAIC LETTER ALEPH..IMPERIAL ARAMAIC LETTER TAW
-10857 ; Imperial_Aramaic # Po IMPERIAL ARAMAIC SECTION SIGN
-10858..1085F ; Imperial_Aramaic # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-
-# Total code points: 31
-
-# ================================================
-
-10A60..10A7C ; Old_South_Arabian # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10A7D..10A7E ; Old_South_Arabian # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; Old_South_Arabian # Po OLD SOUTH ARABIAN NUMERIC INDICATOR
-
-# Total code points: 32
-
-# ================================================
-
-10B40..10B55 ; Inscriptional_Parthian # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58..10B5F ; Inscriptional_Parthian # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-
-# Total code points: 30
-
-# ================================================
-
-10B60..10B72 ; Inscriptional_Pahlavi # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78..10B7F ; Inscriptional_Pahlavi # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-
-# Total code points: 27
-
-# ================================================
-
-10C00..10C48 ; Old_Turkic # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-
-# Total code points: 73
-
-# ================================================
-
-11080..11081 ; Kaithi # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; Kaithi # Mc KAITHI SIGN VISARGA
-11083..110AF ; Kaithi # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; Kaithi # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; Kaithi # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; Kaithi # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; Kaithi # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-110BB..110BC ; Kaithi # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BD ; Kaithi # Cf KAITHI NUMBER SIGN
-110BE..110C1 ; Kaithi # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-
-# Total code points: 66
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt b/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
index 1dba776cb50..62a0ec9f3a5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
@@ -1,8 +1,8 @@
-# SpecialCasing-5.2.0.txt
-# Date: 2009-09-22, 23:25:59 GMT [MD]
+# SpecialCasing-6.0.0.txt
+# Date: 2010-05-18, 00:49:39 GMT [MD]
#
# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
+# Copyright (c) 1991-2010 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
diff --git a/Master/tlpkg/tlperl/lib/unicore/StandardizedVariants.txt b/Master/tlpkg/tlperl/lib/unicore/StandardizedVariants.txt
deleted file mode 100644
index 97f15a018dd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/StandardizedVariants.txt
+++ /dev/null
@@ -1,143 +0,0 @@
-# StandardizedVariants-5.2.0.txt
-# Date: 2008-09-18, 17:41:00 PDT [KW]
-#
-# Specification of the variant sequences that are defined in the
-# Unicode Standard.
-#
-# This file is a normative contributory data file in the
-# Unicode Character Database.
-#
-# Copyright (c) 1991-2008 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# Standardized variation sequences are defined in this file.
-# Ideographic variation sequences are defined acording to the registration
-# process specified in UTS #37, and are listed in the Ideographic
-# Variation Database. Only those two types of variation sequences
-# are sanctioned for use by conformant implementations.
-# In all other cases, use of a variation selector character does
-# not change the visual appearance of the preceding base character
-# from what it would have had in the absence of the variation selector.
-#
-# For more information on standardized variation sequences,
-# see Section 16.4, Variation Selectors,
-# in The Unicode Standard, Version 5.0.
-#
-# For more information on the Ideographic Variation Database
-# see http://www.unicode.org/ivd/
-#
-# Format:
-# Field 0: the variation sequence
-# Field 1: the description of the desired appearance
-# Field 2: where the appearance is only different in particular shaping environments
-# this field lists them. The possible values are: isolate, initial, medial, final.
-# If more than one is present, there are spaces between them.
-# =============================
-
-# Mathematical
-
-2229 FE00; with serifs; # INTERSECTION
-222A FE00; with serifs; # UNION
-2268 FE00; with vertical stroke; # LESS-THAN BUT NOT EQUAL TO
-2269 FE00; with vertical stroke; # GREATER-THAN BUT NOT EQUAL TO
-2272 FE00; following the slant of the lower leg; # LESS-THAN OR EQUIVALENT TO
-2273 FE00; following the slant of the lower leg; # GREATER-THAN OR EQUIVALENT TO
-# The following two entries were originally defined for Unicode 3.2
-# but were determined to be in error and were removed from the list
-# of standardized variation sequences. The entries are left commented
-# in the file for the historical record of changes made to the data.
-#2278 FE00; with vertical stroke; # NEITHER LESS-THAN NOR GREATER-THAN
-#2279 FE00; with vertical stroke; # NEITHER GREATER-THAN NOR LESS-THAN
-228A FE00; with stroke through bottom members; # SUBSET OF WITH NOT EQUAL TO
-228B FE00; with stroke through bottom members; # SUPERSET OF WITH NOT EQUAL TO
-2293 FE00; with serifs; # SQUARE CAP
-2294 FE00; with serifs; # SQUARE CUP
-2295 FE00; with white rim; # CIRCLED PLUS
-2297 FE00; with white rim; # CIRCLED TIMES
-229C FE00; with equal sign touching the circle; # CIRCLED EQUALS
-22DA FE00; with slanted equal; # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB FE00; with slanted equal; # GREATER-THAN EQUAL TO OR LESS-THAN
-2A3C FE00; tall variant with narrow foot; # INTERIOR PRODUCT
-2A3D FE00; tall variant with narrow foot; # RIGHTHAND INTERIOR PRODUCT
-2A9D FE00; with similar following the slant of the upper leg; # SIMILAR OR LESS-THAN
-2A9E FE00; with similar following the slant of the upper leg; # SIMILAR OR GREATER-THAN
-2AAC FE00; with slanted equal; # SMALLER THAN OR EQUAL TO
-2AAD FE00; with slanted equal; # LARGER THAN OR EQUAL TO
-2ACB FE00; with stroke through bottom members; # SUBSET OF ABOVE NOT EQUAL TO
-2ACC FE00; with stroke through bottom members; # SUPERSET OF ABOVE NOT EQUAL TO
-
-# Phags-pa
-
-A856 FE00; phags-pa letter reversed shaping small a; # PHAGS-PA LETTER SMALL A
-A85C FE00; phags-pa letter reversed shaping ha; # PHAGS-PA LETTER HA
-A85E FE00; phags-pa letter reversed shaping i; # PHAGS-PA LETTER I
-A85F FE00; phags-pa letter reversed shaping u; # PHAGS-PA LETTER U
-A860 FE00; phags-pa letter reversed shaping e; # PHAGS-PA LETTER E
-A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED LETTER YA
-
-# Mongolian
-
-1820 180B; second form; isolate medial final # MONGOLIAN LETTER A
-1820 180C; third form; medial # MONGOLIAN LETTER A
-1821 180B; second form; initial final # MONGOLIAN LETTER E
-1822 180B; second form; medial # MONGOLIAN LETTER I
-1823 180B; second form; medial final # MONGOLIAN LETTER O
-1824 180B; second form; medial # MONGOLIAN LETTER U
-1825 180B; second form; medial final # MONGOLIAN LETTER OE
-1825 180C; third form; medial # MONGOLIAN LETTER OE
-1826 180B; second form; isolate medial final # MONGOLIAN LETTER UE
-1826 180C; third form; medial # MONGOLIAN LETTER UE
-1828 180B; second form; initial medial # MONGOLIAN LETTER NA
-1828 180C; third form; medial # MONGOLIAN LETTER NA
-1828 180D; separate form; medial # MONGOLIAN LETTER NA
-182A 180B; alternative form; final # MONGOLIAN LETTER BA
-182C 180B; second form; initial medial # MONGOLIAN LETTER QA
-182C 180B; feminine second form; isolate # MONGOLIAN LETTER QA
-182C 180C; third form; medial # MONGOLIAN LETTER QA
-182C 180D; fourth form; medial # MONGOLIAN LETTER QA
-182D 180B; second form; initial medial # MONGOLIAN LETTER GA
-182D 180B; feminine form; final # MONGOLIAN LETTER GA
-182D 180C; third form; medial # MONGOLIAN LETTER GA
-182D 180D; feminine form; medial # MONGOLIAN LETTER GA
-1830 180B; second form; final # MONGOLIAN LETTER SA
-1830 180C; third form; final # MONGOLIAN LETTER SA
-1832 180B; second form; medial # MONGOLIAN LETTER TA
-1833 180B; second form; initial medial final # MONGOLIAN LETTER DA
-1835 180B; second form; medial # MONGOLIAN LETTER JA
-1836 180B; second form; initial medial # # MONGOLIAN LETTER YA
-1836 180C; third form; medial # MONGOLIAN LETTER YA
-1838 180B; second form; final # MONGOLIAN LETTER WA
-1844 180B; second form; medial # MONGOLIAN LETTER TODO E
-1845 180B; second form; medial # MONGOLIAN LETTER TODO I
-1846 180B; second form; medial # MONGOLIAN LETTER TODO O
-1847 180B; second form; isolate medial final # MONGOLIAN LETTER TODO U
-1847 180C; third form; medial # MONGOLIAN LETTER TODO U
-1848 180B; second form; medial # MONGOLIAN LETTER TODO OE
-1849 180B; second form; isolate medial # MONGOLIAN LETTER TODO UE
-184D 180B; feminine form; initial medial # MONGOLIAN LETTER TODO QA
-184E 180B; second form; medial # MONGOLIAN LETTER TODO GA
-185D 180B; second form; medial final # MONGOLIAN LETTER SIBE E
-185E 180B; second form; medial final # MONGOLIAN LETTER SIBE I
-185E 180C; third form; medial final # MONGOLIAN LETTER SIBE I
-1860 180B; second form; medial final # MONGOLIAN LETTER SIBE UE
-1863 180B; second form; medial # MONGOLIAN LETTER SIBE KA
-1868 180B; second form; initial medial # MONGOLIAN LETTER SIBE TA
-1868 180C; third form; medial # MONGOLIAN LETTER SIBE TA
-1869 180B; second form; initial medial # MONGOLIAN LETTER SIBE DA
-186F 180B; second form; initial medial # MONGOLIAN LETTER SIBE ZA
-1873 180B; second form; medial final # MONGOLIAN LETTER MANCHU I
-1873 180C; third form; medial final # MONGOLIAN LETTER MANCHU I
-1873 180D; fourth form; medial # MONGOLIAN LETTER MANCHU I
-1874 180B; second form; medial # MONGOLIAN LETTER MANCHU KA
-1874 180B; feminine first final form; final # MONGOLIAN LETTER MANCHU KA
-1874 180C; feminine first medial form; medial # MONGOLIAN LETTER MANCHU KA
-1874 180C; feminine second final form; final # MONGOLIAN LETTER MANCHU KA
-1874 180D; feminine second medial form; medial # MONGOLIAN LETTER MANCHU KA
-1876 180B; second form; initial medial # MONGOLIAN LETTER MANCHU FA
-1880 180B; second form; # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881 180B; second form; # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1887 180B; second form; isolate final # MONGOLIAN LETTER ALI GALI A
-1887 180C; third form; final # MONGOLIAN LETTER ALI GALI A
-1887 180D; fourth form; final # MONGOLIAN LETTER ALI GALI A
-1888 180B; second form; final # MONGOLIAN LETTER ALI GALI I
-188A 180B; second form; initial medial # MONGOLIAN LETTER ALI GALI NGA
diff --git a/Master/tlpkg/tlperl/lib/unicore/TestProp.pl b/Master/tlpkg/tlperl/lib/unicore/TestProp.pl
deleted file mode 100644
index 9a12eff6acf..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/TestProp.pl
+++ /dev/null
@@ -1,79421 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
-
-use strict;
-use warnings;
-
-# Test qr/\X/ and the \p{} regular expression constructs. This file is
-# constructed by mktables from the tables it generates, so if mktables is
-# buggy, this won't necessarily catch those bugs. Tests are generated for all
-# feasible properties; a few aren't currently feasible; see
-# is_code_point_usable() in mktables for details.
-
-# Standard test packages are not used because this manipulates SIG_WARN. It
-# exits 0 if every non-skipped test succeeded; -1 if any failed.
-
-my $Tests = 0;
-my $Fails = 0;
-
-my $non_ASCII = (ord('A') != 65);
-
-# The 256 8-bit characters in ASCII ordinal order, with the ones that don't
-# have Perl names replaced by -1
-my @ascii_ordered_chars = (
- "\0",
- (-1) x 6,
- "\a", "\b", "\t", "\n",
- -1, # No Vt
- "\f", "\r",
- (-1) x 18,
- " ", "!", "\"", "#", '$', "%", "&", "'",
- "(", ")", "*", "+", ",", "-", ".", "/",
- "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
- ":", ";", "<", "=", ">", "?", "@",
- "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
- "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
- "[", "\\", "]", "^", "_", "`",
- "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
- "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
- "{", "|", "}", "~",
- (-1) x 129
-);
-
-sub ASCII_ord_to_native ($) {
- # Converts input ordinal number to the native one, if can be done easily.
- # Returns -1 otherwise.
-
- my $ord = shift;
-
- return $ord if $ord > 255 || ! $non_ASCII;
- my $result = $ascii_ordered_chars[$ord];
- return $result if $result eq '-1';
- return ord($result);
-}
-
-sub Expect($$$$) {
- my $expected = shift;
- my $ord = shift;
- my $regex = shift;
- my $warning_type = shift; # Type of warning message, like 'deprecated'
- # or empty if none
- my $line = (caller)[2];
-
- # Convert the non-ASCII code points expressible as characters to their
- # ASCII equivalents, and skip the others.
- $ord = ASCII_ord_to_native($ord);
- if ($ord < 0) {
- $Tests++;
- print "ok $Tests - "
- . sprintf("\"\\x{%04X}\"", $ord)
- . " =~ $regex # Skipped: non-ASCII\n";
- return;
- }
-
- # Convert the code point to hex form
- my $string = sprintf "\"\\x{%04X}\"", $ord;
-
- my @tests = "";
-
- # The first time through, use all warnings. If the input should generate
- # a warning, add another time through with them turned off
- push @tests, "no warnings '$warning_type';" if $warning_type;
-
- foreach my $no_warnings (@tests) {
-
- # Store any warning messages instead of outputting them
- local $SIG{__WARN__} = $SIG{__WARN__};
- my $warning_message;
- $SIG{__WARN__} = sub { $warning_message = $_[0] };
-
- $Tests++;
-
- # A string eval is needed because of the 'no warnings'.
- # Assumes no parens in the regular expression
- my $result = eval "$no_warnings
- my \$RegObj = qr($regex);
- $string =~ \$RegObj ? 1 : 0";
- if (not defined $result) {
- print "not ok $Tests - couldn't compile /$regex/; line $line: $@\n";
- $Fails++;
- }
- elsif ($result ^ $expected) {
- print "not ok $Tests - expected $expected but got $result for $string =~ qr/$regex/; line $line\n";
- $Fails++;
- }
- elsif ($warning_message) {
- if (! $warning_type || ($warning_type && $no_warnings)) {
- print "not ok $Tests - for qr/$regex/ did not expect warning message '$warning_message'; line $line\n";
- $Fails++;
- }
- else {
- print "ok $Tests - expected and got a warning message for qr/$regex/; line $line\n";
- }
- }
- elsif ($warning_type && ! $no_warnings) {
- print "not ok $Tests - for qr/$regex/ expected a $warning_type warning message, but got none; line $line\n";
- $Fails++;
- }
- else {
- print "ok $Tests - got $result for $string =~ qr/$regex/; line $line\n";
- }
- }
- return;
-}
-
-sub Error($) {
- my $regex = shift;
- $Tests++;
- if (eval { 'x' =~ qr/$regex/; 1 }) {
- $Fails++;
- my $line = (caller)[2];
- print "not ok $Tests - re compiled ok, but expected error for qr/$regex/; line $line: $@\n";
- }
- else {
- my $line = (caller)[2];
- print "ok $Tests - got and expected error for qr/$regex/; line $line\n";
- }
- return;
-}
-
-# GCBTest.txt character that separates grapheme clusters
-my $breakable_utf8 = my $breakable = chr(0xF7);
-utf8::upgrade($breakable_utf8);
-
-# GCBTest.txt character that indicates that the adjoining code points are part
-# of the same grapheme cluster
-my $nobreak_utf8 = my $nobreak = chr(0xD7);
-utf8::upgrade($nobreak_utf8);
-
-sub Test_X($) {
- # Test qr/\X/ matches. The input is a line from auxiliary/GCBTest.txt
- # Each such line is a sequence of code points given by their hex numbers,
- # separated by the two characters defined just before this subroutine that
- # indicate that either there can or cannot be a break between the adjacent
- # code points. If there isn't a break, that means the sequence forms an
- # extended grapheme cluster, which means that \X should match the whole
- # thing. If there is a break, \X should stop there. This is all
- # converted by this routine into a match:
- # $string =~ /(\X)/,
- # Each \X should match the next cluster; and that is what is checked.
-
- my $template = shift;
-
- my $line = (caller)[2];
-
- # The line contains characters above the ASCII range, but in Latin1. It
- # may or may not be in utf8, and if it is, it may or may not know it. So,
- # convert these characters to 8 bits. If knows is in utf8, simply
- # downgrade.
- if (utf8::is_utf8($template)) {
- utf8::downgrade($template);
- } else {
-
- # Otherwise, if it is in utf8, but doesn't know it, the next lines
- # convert the two problematic characters to their 8-bit equivalents.
- # If it isn't in utf8, they don't harm anything.
- use bytes;
- $template =~ s/$nobreak_utf8/$nobreak/g;
- $template =~ s/$breakable_utf8/$breakable/g;
- }
-
- # Get rid of the leading and trailing breakables
- $template =~ s/^ \s* $breakable \s* //x;
- $template =~ s/ \s* $breakable \s* $ //x;
-
- # And no-breaks become just a space.
- $template =~ s/ \s* $nobreak \s* / /xg;
-
- # Split the input into segments that are breakable between them.
- my @segments = split /\s*$breakable\s*/, $template;
-
- my $string = "";
- my $display_string = "";
- my @should_match;
- my @should_display;
-
- # Convert the code point sequence in each segment into a Perl string of
- # characters
- foreach my $segment (@segments) {
- my @code_points = split /\s+/, $segment;
- my $this_string = "";
- my $this_display = "";
- foreach my $code_point (@code_points) {
- my $ord = ASCII_ord_to_native(hex $code_point);
- if ($ord < 0) {
- $Tests++;
- print "ok $Tests - String containing $code_point =~ /(\\X)/g # Skipped: non-ASCII\n";
- return;
- }
- $this_string .= chr $ord;
- $this_display .= "\\x{$code_point}";
- }
-
- # The next cluster should match the string in this segment.
- push @should_match, $this_string;
- push @should_display, $this_display;
- $string .= $this_string;
- $display_string .= $this_display;
- }
-
- # If a string can be represented in both non-ut8 and utf8, test both cases
- UPGRADE:
- for my $to_upgrade (0 .. 1) {
-
- if ($to_upgrade) {
-
- # If already in utf8, would just be a repeat
- next UPGRADE if utf8::is_utf8($string);
-
- utf8::upgrade($string);
- }
-
- # Finally, do the \X match.
- my @matches = $string =~ /(\X)/g;
-
- # Look through each matched cluster to verify that it matches what we
- # expect.
- my $min = (@matches < @should_match) ? @matches : @should_match;
- for my $i (0 .. $min - 1) {
- $Tests++;
- if ($matches[$i] eq $should_match[$i]) {
- print "ok $Tests - ";
- if ($i == 0) {
- print "In \"$display_string\" =~ /(\\X)/g, \\X #1";
- } else {
- print "And \\X #", $i + 1,
- }
- print " correctly matched $should_display[$i]; line $line\n";
- } else {
- $matches[$i] = join("", map { sprintf "\\x{%04X}", $_ }
- unpack("U*", $matches[$i]));
- print "not ok $Tests - In \"$display_string\" =~ /(\\X)/g, \\X #",
- $i + 1,
- " should have matched $should_display[$i]",
- " but instead matched $matches[$i]",
- ". Abandoning rest of line $line\n";
- next UPGRADE;
- }
- }
-
- # And the number of matches should equal the number of expected matches.
- $Tests++;
- if (@matches == @should_match) {
- print "ok $Tests - Nothing was left over; line $line\n";
- } else {
- print "not ok $Tests - There were ", scalar @should_match, " \\X matches expected, but got ", scalar @matches, " instead; line $line\n";
- }
- }
-
- return;
-}
-
-sub Finished() {
- print "1..$Tests\n";
- exit($Fails ? -1 : 0);
-}
-
-Error('\p{Script=InGreek}'); # Bug #69018
-Test_X("1100 $nobreak 1161"); # Bug #70940
-Expect(0, 0x2028, '\p{Print}', ""); # Bug # 71722
-Expect(0, 0x2029, '\p{Print}', ""); # Bug # 71722
-Expect(1, 0xFF10, '\p{XDigit}', ""); # Bug # 71726
-Error('\p{Other_Lowercase:--YES/a/}');
-Error('\P{Other_Lowercase:--YES/a/}');
-Expect(1, 696, '\p{Other_Lowercase=yes}', 'deprecated');
-Expect(0, 696, '\p{^Other_Lowercase=yes}', 'deprecated');
-Expect(0, 696, '\P{Other_Lowercase=yes}', 'deprecated');
-Expect(1, 696, '\P{^Other_Lowercase=yes}', 'deprecated');
-Expect(0, 687, '\p{Other_Lowercase=yes}', 'deprecated');
-Expect(1, 687, '\p{^Other_Lowercase=yes}', 'deprecated');
-Expect(1, 687, '\P{Other_Lowercase=yes}', 'deprecated');
-Expect(0, 687, '\P{^Other_Lowercase=yes}', 'deprecated');
-Expect(1, 696, '\p{Other_Lowercase= YES}', 'deprecated');
-Expect(0, 696, '\p{^Other_Lowercase= YES}', 'deprecated');
-Expect(0, 696, '\P{Other_Lowercase= YES}', 'deprecated');
-Expect(1, 696, '\P{^Other_Lowercase= YES}', 'deprecated');
-Expect(0, 687, '\p{Other_Lowercase= YES}', 'deprecated');
-Expect(1, 687, '\p{^Other_Lowercase= YES}', 'deprecated');
-Expect(1, 687, '\P{Other_Lowercase= YES}', 'deprecated');
-Expect(0, 687, '\P{^Other_Lowercase= YES}', 'deprecated');
-Error('\p{OLower: := Y}');
-Error('\P{OLower: := Y}');
-Expect(1, 696, '\p{OLower: y}', 'deprecated');
-Expect(0, 696, '\p{^OLower: y}', 'deprecated');
-Expect(0, 696, '\P{OLower: y}', 'deprecated');
-Expect(1, 696, '\P{^OLower: y}', 'deprecated');
-Expect(0, 687, '\p{OLower: y}', 'deprecated');
-Expect(1, 687, '\p{^OLower: y}', 'deprecated');
-Expect(1, 687, '\P{OLower: y}', 'deprecated');
-Expect(0, 687, '\P{^OLower: y}', 'deprecated');
-Expect(1, 696, '\p{OLower= Y}', 'deprecated');
-Expect(0, 696, '\p{^OLower= Y}', 'deprecated');
-Expect(0, 696, '\P{OLower= Y}', 'deprecated');
-Expect(1, 696, '\P{^OLower= Y}', 'deprecated');
-Expect(0, 687, '\p{OLower= Y}', 'deprecated');
-Expect(1, 687, '\p{^OLower= Y}', 'deprecated');
-Expect(1, 687, '\P{OLower= Y}', 'deprecated');
-Expect(0, 687, '\P{^OLower= Y}', 'deprecated');
-Error('\p{Is_Other_Lowercase=_:=T}');
-Error('\P{Is_Other_Lowercase=_:=T}');
-Expect(1, 696, '\p{Is_Other_Lowercase=t}', 'deprecated');
-Expect(0, 696, '\p{^Is_Other_Lowercase=t}', 'deprecated');
-Expect(0, 696, '\P{Is_Other_Lowercase=t}', 'deprecated');
-Expect(1, 696, '\P{^Is_Other_Lowercase=t}', 'deprecated');
-Expect(0, 687, '\p{Is_Other_Lowercase=t}', 'deprecated');
-Expect(1, 687, '\p{^Is_Other_Lowercase=t}', 'deprecated');
-Expect(1, 687, '\P{Is_Other_Lowercase=t}', 'deprecated');
-Expect(0, 687, '\P{^Is_Other_Lowercase=t}', 'deprecated');
-Expect(1, 696, '\p{Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(0, 696, '\p{^Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(0, 696, '\P{Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(1, 696, '\P{^Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(0, 687, '\p{Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(1, 687, '\p{^Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(1, 687, '\P{Is_Other_Lowercase=_-t}', 'deprecated');
-Expect(0, 687, '\P{^Is_Other_Lowercase=_-t}', 'deprecated');
-Error('\p{Is_OLower=-/a/true}');
-Error('\P{Is_OLower=-/a/true}');
-Expect(1, 696, '\p{Is_OLower=true}', 'deprecated');
-Expect(0, 696, '\p{^Is_OLower=true}', 'deprecated');
-Expect(0, 696, '\P{Is_OLower=true}', 'deprecated');
-Expect(1, 696, '\P{^Is_OLower=true}', 'deprecated');
-Expect(0, 687, '\p{Is_OLower=true}', 'deprecated');
-Expect(1, 687, '\p{^Is_OLower=true}', 'deprecated');
-Expect(1, 687, '\P{Is_OLower=true}', 'deprecated');
-Expect(0, 687, '\P{^Is_OLower=true}', 'deprecated');
-Expect(1, 696, '\p{Is_OLower= True}', 'deprecated');
-Expect(0, 696, '\p{^Is_OLower= True}', 'deprecated');
-Expect(0, 696, '\P{Is_OLower= True}', 'deprecated');
-Expect(1, 696, '\P{^Is_OLower= True}', 'deprecated');
-Expect(0, 687, '\p{Is_OLower= True}', 'deprecated');
-Expect(1, 687, '\p{^Is_OLower= True}', 'deprecated');
-Expect(1, 687, '\P{Is_OLower= True}', 'deprecated');
-Expect(0, 687, '\P{^Is_OLower= True}', 'deprecated');
-Error('\p{Other_Lowercase=/a/ no}');
-Error('\P{Other_Lowercase=/a/ no}');
-Expect(1, 687, '\p{Other_Lowercase=no}', 'deprecated');
-Expect(0, 687, '\p{^Other_Lowercase=no}', 'deprecated');
-Expect(0, 687, '\P{Other_Lowercase=no}', 'deprecated');
-Expect(1, 687, '\P{^Other_Lowercase=no}', 'deprecated');
-Expect(0, 696, '\p{Other_Lowercase=no}', 'deprecated');
-Expect(1, 696, '\p{^Other_Lowercase=no}', 'deprecated');
-Expect(1, 696, '\P{Other_Lowercase=no}', 'deprecated');
-Expect(0, 696, '\P{^Other_Lowercase=no}', 'deprecated');
-Expect(1, 687, '\p{Other_Lowercase= -No}', 'deprecated');
-Expect(0, 687, '\p{^Other_Lowercase= -No}', 'deprecated');
-Expect(0, 687, '\P{Other_Lowercase= -No}', 'deprecated');
-Expect(1, 687, '\P{^Other_Lowercase= -No}', 'deprecated');
-Expect(0, 696, '\p{Other_Lowercase= -No}', 'deprecated');
-Expect(1, 696, '\p{^Other_Lowercase= -No}', 'deprecated');
-Expect(1, 696, '\P{Other_Lowercase= -No}', 'deprecated');
-Expect(0, 696, '\P{^Other_Lowercase= -No}', 'deprecated');
-Error('\p{OLower=:= n}');
-Error('\P{OLower=:= n}');
-Expect(1, 687, '\p{OLower=n}', 'deprecated');
-Expect(0, 687, '\p{^OLower=n}', 'deprecated');
-Expect(0, 687, '\P{OLower=n}', 'deprecated');
-Expect(1, 687, '\P{^OLower=n}', 'deprecated');
-Expect(0, 696, '\p{OLower=n}', 'deprecated');
-Expect(1, 696, '\p{^OLower=n}', 'deprecated');
-Expect(1, 696, '\P{OLower=n}', 'deprecated');
-Expect(0, 696, '\P{^OLower=n}', 'deprecated');
-Expect(1, 687, '\p{OLower=-N}', 'deprecated');
-Expect(0, 687, '\p{^OLower=-N}', 'deprecated');
-Expect(0, 687, '\P{OLower=-N}', 'deprecated');
-Expect(1, 687, '\P{^OLower=-N}', 'deprecated');
-Expect(0, 696, '\p{OLower=-N}', 'deprecated');
-Expect(1, 696, '\p{^OLower=-N}', 'deprecated');
-Expect(1, 696, '\P{OLower=-N}', 'deprecated');
-Expect(0, 696, '\P{^OLower=-N}', 'deprecated');
-Error('\p{Is_Other_Lowercase=/a/ -F}');
-Error('\P{Is_Other_Lowercase=/a/ -F}');
-Expect(1, 687, '\p{Is_Other_Lowercase=f}', 'deprecated');
-Expect(0, 687, '\p{^Is_Other_Lowercase=f}', 'deprecated');
-Expect(0, 687, '\P{Is_Other_Lowercase=f}', 'deprecated');
-Expect(1, 687, '\P{^Is_Other_Lowercase=f}', 'deprecated');
-Expect(0, 696, '\p{Is_Other_Lowercase=f}', 'deprecated');
-Expect(1, 696, '\p{^Is_Other_Lowercase=f}', 'deprecated');
-Expect(1, 696, '\P{Is_Other_Lowercase=f}', 'deprecated');
-Expect(0, 696, '\P{^Is_Other_Lowercase=f}', 'deprecated');
-Expect(1, 687, '\p{Is_Other_Lowercase= F}', 'deprecated');
-Expect(0, 687, '\p{^Is_Other_Lowercase= F}', 'deprecated');
-Expect(0, 687, '\P{Is_Other_Lowercase= F}', 'deprecated');
-Expect(1, 687, '\P{^Is_Other_Lowercase= F}', 'deprecated');
-Expect(0, 696, '\p{Is_Other_Lowercase= F}', 'deprecated');
-Expect(1, 696, '\p{^Is_Other_Lowercase= F}', 'deprecated');
-Expect(1, 696, '\P{Is_Other_Lowercase= F}', 'deprecated');
-Expect(0, 696, '\P{^Is_Other_Lowercase= F}', 'deprecated');
-Error('\p{Is_OLower=/a/__False}');
-Error('\P{Is_OLower=/a/__False}');
-Expect(1, 687, '\p{Is_OLower=false}', 'deprecated');
-Expect(0, 687, '\p{^Is_OLower=false}', 'deprecated');
-Expect(0, 687, '\P{Is_OLower=false}', 'deprecated');
-Expect(1, 687, '\P{^Is_OLower=false}', 'deprecated');
-Expect(0, 696, '\p{Is_OLower=false}', 'deprecated');
-Expect(1, 696, '\p{^Is_OLower=false}', 'deprecated');
-Expect(1, 696, '\P{Is_OLower=false}', 'deprecated');
-Expect(0, 696, '\P{^Is_OLower=false}', 'deprecated');
-Expect(1, 687, '\p{Is_OLower=_ FALSE}', 'deprecated');
-Expect(0, 687, '\p{^Is_OLower=_ FALSE}', 'deprecated');
-Expect(0, 687, '\P{Is_OLower=_ FALSE}', 'deprecated');
-Expect(1, 687, '\P{^Is_OLower=_ FALSE}', 'deprecated');
-Expect(0, 696, '\p{Is_OLower=_ FALSE}', 'deprecated');
-Expect(1, 696, '\p{^Is_OLower=_ FALSE}', 'deprecated');
-Expect(1, 696, '\P{Is_OLower=_ FALSE}', 'deprecated');
-Expect(0, 696, '\P{^Is_OLower=_ FALSE}', 'deprecated');
-Error('\p{Variation_Selector=/a/_Yes}');
-Error('\P{Variation_Selector=/a/_Yes}');
-Expect(1, 6157, '\p{Variation_Selector=yes}', "");
-Expect(0, 6157, '\p{^Variation_Selector=yes}', "");
-Expect(0, 6157, '\P{Variation_Selector=yes}', "");
-Expect(1, 6157, '\P{^Variation_Selector=yes}', "");
-Expect(0, 6154, '\p{Variation_Selector=yes}', "");
-Expect(1, 6154, '\p{^Variation_Selector=yes}', "");
-Expect(1, 6154, '\P{Variation_Selector=yes}', "");
-Expect(0, 6154, '\P{^Variation_Selector=yes}', "");
-Expect(1, 6157, '\p{Variation_Selector= yes}', "");
-Expect(0, 6157, '\p{^Variation_Selector= yes}', "");
-Expect(0, 6157, '\P{Variation_Selector= yes}', "");
-Expect(1, 6157, '\P{^Variation_Selector= yes}', "");
-Expect(0, 6154, '\p{Variation_Selector= yes}', "");
-Expect(1, 6154, '\p{^Variation_Selector= yes}', "");
-Expect(1, 6154, '\P{Variation_Selector= yes}', "");
-Expect(0, 6154, '\P{^Variation_Selector= yes}', "");
-Error('\p{VS=_ Y/a/}');
-Error('\P{VS=_ Y/a/}');
-Expect(1, 6157, '\p{VS=y}', "");
-Expect(0, 6157, '\p{^VS=y}', "");
-Expect(0, 6157, '\P{VS=y}', "");
-Expect(1, 6157, '\P{^VS=y}', "");
-Expect(0, 6154, '\p{VS=y}', "");
-Expect(1, 6154, '\p{^VS=y}', "");
-Expect(1, 6154, '\P{VS=y}', "");
-Expect(0, 6154, '\P{^VS=y}', "");
-Expect(1, 6157, '\p{VS=_Y}', "");
-Expect(0, 6157, '\p{^VS=_Y}', "");
-Expect(0, 6157, '\P{VS=_Y}', "");
-Expect(1, 6157, '\P{^VS=_Y}', "");
-Expect(0, 6154, '\p{VS=_Y}', "");
-Expect(1, 6154, '\p{^VS=_Y}', "");
-Expect(1, 6154, '\P{VS=_Y}', "");
-Expect(0, 6154, '\P{^VS=_Y}', "");
-Error('\p{Is_Variation_Selector=:=- T}');
-Error('\P{Is_Variation_Selector=:=- T}');
-Expect(1, 6157, '\p{Is_Variation_Selector: t}', "");
-Expect(0, 6157, '\p{^Is_Variation_Selector: t}', "");
-Expect(0, 6157, '\P{Is_Variation_Selector: t}', "");
-Expect(1, 6157, '\P{^Is_Variation_Selector: t}', "");
-Expect(0, 6154, '\p{Is_Variation_Selector: t}', "");
-Expect(1, 6154, '\p{^Is_Variation_Selector: t}', "");
-Expect(1, 6154, '\P{Is_Variation_Selector: t}', "");
-Expect(0, 6154, '\P{^Is_Variation_Selector: t}', "");
-Expect(1, 6157, '\p{Is_Variation_Selector= _T}', "");
-Expect(0, 6157, '\p{^Is_Variation_Selector= _T}', "");
-Expect(0, 6157, '\P{Is_Variation_Selector= _T}', "");
-Expect(1, 6157, '\P{^Is_Variation_Selector= _T}', "");
-Expect(0, 6154, '\p{Is_Variation_Selector= _T}', "");
-Expect(1, 6154, '\p{^Is_Variation_Selector= _T}', "");
-Expect(1, 6154, '\P{Is_Variation_Selector= _T}', "");
-Expect(0, 6154, '\P{^Is_Variation_Selector= _T}', "");
-Error('\p{Is_VS=_ TRUE/a/}');
-Error('\P{Is_VS=_ TRUE/a/}');
-Expect(1, 6157, '\p{Is_VS=true}', "");
-Expect(0, 6157, '\p{^Is_VS=true}', "");
-Expect(0, 6157, '\P{Is_VS=true}', "");
-Expect(1, 6157, '\P{^Is_VS=true}', "");
-Expect(0, 6154, '\p{Is_VS=true}', "");
-Expect(1, 6154, '\p{^Is_VS=true}', "");
-Expect(1, 6154, '\P{Is_VS=true}', "");
-Expect(0, 6154, '\P{^Is_VS=true}', "");
-Expect(1, 6157, '\p{Is_VS= True}', "");
-Expect(0, 6157, '\p{^Is_VS= True}', "");
-Expect(0, 6157, '\P{Is_VS= True}', "");
-Expect(1, 6157, '\P{^Is_VS= True}', "");
-Expect(0, 6154, '\p{Is_VS= True}', "");
-Expect(1, 6154, '\p{^Is_VS= True}', "");
-Expect(1, 6154, '\P{Is_VS= True}', "");
-Expect(0, 6154, '\P{^Is_VS= True}', "");
-Error('\p{Variation_Selector=/a/ -No}');
-Error('\P{Variation_Selector=/a/ -No}');
-Expect(1, 6154, '\p{Variation_Selector=no}', "");
-Expect(0, 6154, '\p{^Variation_Selector=no}', "");
-Expect(0, 6154, '\P{Variation_Selector=no}', "");
-Expect(1, 6154, '\P{^Variation_Selector=no}', "");
-Expect(0, 6157, '\p{Variation_Selector=no}', "");
-Expect(1, 6157, '\p{^Variation_Selector=no}', "");
-Expect(1, 6157, '\P{Variation_Selector=no}', "");
-Expect(0, 6157, '\P{^Variation_Selector=no}', "");
-Expect(1, 6154, '\p{Variation_Selector=_-no}', "");
-Expect(0, 6154, '\p{^Variation_Selector=_-no}', "");
-Expect(0, 6154, '\P{Variation_Selector=_-no}', "");
-Expect(1, 6154, '\P{^Variation_Selector=_-no}', "");
-Expect(0, 6157, '\p{Variation_Selector=_-no}', "");
-Expect(1, 6157, '\p{^Variation_Selector=_-no}', "");
-Expect(1, 6157, '\P{Variation_Selector=_-no}', "");
-Expect(0, 6157, '\P{^Variation_Selector=_-no}', "");
-Error('\p{VS=/a/- N}');
-Error('\P{VS=/a/- N}');
-Expect(1, 6154, '\p{VS=n}', "");
-Expect(0, 6154, '\p{^VS=n}', "");
-Expect(0, 6154, '\P{VS=n}', "");
-Expect(1, 6154, '\P{^VS=n}', "");
-Expect(0, 6157, '\p{VS=n}', "");
-Expect(1, 6157, '\p{^VS=n}', "");
-Expect(1, 6157, '\P{VS=n}', "");
-Expect(0, 6157, '\P{^VS=n}', "");
-Expect(1, 6154, '\p{VS=- n}', "");
-Expect(0, 6154, '\p{^VS=- n}', "");
-Expect(0, 6154, '\P{VS=- n}', "");
-Expect(1, 6154, '\P{^VS=- n}', "");
-Expect(0, 6157, '\p{VS=- n}', "");
-Expect(1, 6157, '\p{^VS=- n}', "");
-Expect(1, 6157, '\P{VS=- n}', "");
-Expect(0, 6157, '\P{^VS=- n}', "");
-Error('\p{Is_Variation_Selector= -F/a/}');
-Error('\P{Is_Variation_Selector= -F/a/}');
-Expect(1, 6154, '\p{Is_Variation_Selector=f}', "");
-Expect(0, 6154, '\p{^Is_Variation_Selector=f}', "");
-Expect(0, 6154, '\P{Is_Variation_Selector=f}', "");
-Expect(1, 6154, '\P{^Is_Variation_Selector=f}', "");
-Expect(0, 6157, '\p{Is_Variation_Selector=f}', "");
-Expect(1, 6157, '\p{^Is_Variation_Selector=f}', "");
-Expect(1, 6157, '\P{Is_Variation_Selector=f}', "");
-Expect(0, 6157, '\P{^Is_Variation_Selector=f}', "");
-Expect(1, 6154, '\p{Is_Variation_Selector= F}', "");
-Expect(0, 6154, '\p{^Is_Variation_Selector= F}', "");
-Expect(0, 6154, '\P{Is_Variation_Selector= F}', "");
-Expect(1, 6154, '\P{^Is_Variation_Selector= F}', "");
-Expect(0, 6157, '\p{Is_Variation_Selector= F}', "");
-Expect(1, 6157, '\p{^Is_Variation_Selector= F}', "");
-Expect(1, 6157, '\P{Is_Variation_Selector= F}', "");
-Expect(0, 6157, '\P{^Is_Variation_Selector= F}', "");
-Error('\p{Is_VS=-:=False}');
-Error('\P{Is_VS=-:=False}');
-Expect(1, 6154, '\p{Is_VS=false}', "");
-Expect(0, 6154, '\p{^Is_VS=false}', "");
-Expect(0, 6154, '\P{Is_VS=false}', "");
-Expect(1, 6154, '\P{^Is_VS=false}', "");
-Expect(0, 6157, '\p{Is_VS=false}', "");
-Expect(1, 6157, '\p{^Is_VS=false}', "");
-Expect(1, 6157, '\P{Is_VS=false}', "");
-Expect(0, 6157, '\P{^Is_VS=false}', "");
-Expect(1, 6154, '\p{Is_VS=_-False}', "");
-Expect(0, 6154, '\p{^Is_VS=_-False}', "");
-Expect(0, 6154, '\P{Is_VS=_-False}', "");
-Expect(1, 6154, '\P{^Is_VS=_-False}', "");
-Expect(0, 6157, '\p{Is_VS=_-False}', "");
-Expect(1, 6157, '\p{^Is_VS=_-False}', "");
-Expect(1, 6157, '\P{Is_VS=_-False}', "");
-Expect(0, 6157, '\P{^Is_VS=_-False}', "");
-Error('\p{Full_Composition_Exclusion= /a/Yes}');
-Error('\P{Full_Composition_Exclusion= /a/Yes}');
-Expect(1, 833, '\p{Full_Composition_Exclusion=yes}', "");
-Expect(0, 833, '\p{^Full_Composition_Exclusion=yes}', "");
-Expect(0, 833, '\P{Full_Composition_Exclusion=yes}', "");
-Expect(1, 833, '\P{^Full_Composition_Exclusion=yes}', "");
-Expect(0, 831, '\p{Full_Composition_Exclusion=yes}', "");
-Expect(1, 831, '\p{^Full_Composition_Exclusion=yes}', "");
-Expect(1, 831, '\P{Full_Composition_Exclusion=yes}', "");
-Expect(0, 831, '\P{^Full_Composition_Exclusion=yes}', "");
-Expect(1, 833, '\p{Full_Composition_Exclusion=-Yes}', "");
-Expect(0, 833, '\p{^Full_Composition_Exclusion=-Yes}', "");
-Expect(0, 833, '\P{Full_Composition_Exclusion=-Yes}', "");
-Expect(1, 833, '\P{^Full_Composition_Exclusion=-Yes}', "");
-Expect(0, 831, '\p{Full_Composition_Exclusion=-Yes}', "");
-Expect(1, 831, '\p{^Full_Composition_Exclusion=-Yes}', "");
-Expect(1, 831, '\P{Full_Composition_Exclusion=-Yes}', "");
-Expect(0, 831, '\P{^Full_Composition_Exclusion=-Yes}', "");
-Error('\p{Comp_Ex= Y/a/}');
-Error('\P{Comp_Ex= Y/a/}');
-Expect(1, 833, '\p{Comp_Ex=y}', "");
-Expect(0, 833, '\p{^Comp_Ex=y}', "");
-Expect(0, 833, '\P{Comp_Ex=y}', "");
-Expect(1, 833, '\P{^Comp_Ex=y}', "");
-Expect(0, 831, '\p{Comp_Ex=y}', "");
-Expect(1, 831, '\p{^Comp_Ex=y}', "");
-Expect(1, 831, '\P{Comp_Ex=y}', "");
-Expect(0, 831, '\P{^Comp_Ex=y}', "");
-Expect(1, 833, '\p{Comp_Ex= Y}', "");
-Expect(0, 833, '\p{^Comp_Ex= Y}', "");
-Expect(0, 833, '\P{Comp_Ex= Y}', "");
-Expect(1, 833, '\P{^Comp_Ex= Y}', "");
-Expect(0, 831, '\p{Comp_Ex= Y}', "");
-Expect(1, 831, '\p{^Comp_Ex= Y}', "");
-Expect(1, 831, '\P{Comp_Ex= Y}', "");
-Expect(0, 831, '\P{^Comp_Ex= Y}', "");
-Error('\p{Is_Full_Composition_Exclusion=- T:=}');
-Error('\P{Is_Full_Composition_Exclusion=- T:=}');
-Expect(1, 833, '\p{Is_Full_Composition_Exclusion=t}', "");
-Expect(0, 833, '\p{^Is_Full_Composition_Exclusion=t}', "");
-Expect(0, 833, '\P{Is_Full_Composition_Exclusion=t}', "");
-Expect(1, 833, '\P{^Is_Full_Composition_Exclusion=t}', "");
-Expect(0, 831, '\p{Is_Full_Composition_Exclusion=t}', "");
-Expect(1, 831, '\p{^Is_Full_Composition_Exclusion=t}', "");
-Expect(1, 831, '\P{Is_Full_Composition_Exclusion=t}', "");
-Expect(0, 831, '\P{^Is_Full_Composition_Exclusion=t}', "");
-Expect(1, 833, '\p{Is_Full_Composition_Exclusion= T}', "");
-Expect(0, 833, '\p{^Is_Full_Composition_Exclusion= T}', "");
-Expect(0, 833, '\P{Is_Full_Composition_Exclusion= T}', "");
-Expect(1, 833, '\P{^Is_Full_Composition_Exclusion= T}', "");
-Expect(0, 831, '\p{Is_Full_Composition_Exclusion= T}', "");
-Expect(1, 831, '\p{^Is_Full_Composition_Exclusion= T}', "");
-Expect(1, 831, '\P{Is_Full_Composition_Exclusion= T}', "");
-Expect(0, 831, '\P{^Is_Full_Composition_Exclusion= T}', "");
-Error('\p{Is_Comp_Ex=/a/_-TRUE}');
-Error('\P{Is_Comp_Ex=/a/_-TRUE}');
-Expect(1, 833, '\p{Is_Comp_Ex=true}', "");
-Expect(0, 833, '\p{^Is_Comp_Ex=true}', "");
-Expect(0, 833, '\P{Is_Comp_Ex=true}', "");
-Expect(1, 833, '\P{^Is_Comp_Ex=true}', "");
-Expect(0, 831, '\p{Is_Comp_Ex=true}', "");
-Expect(1, 831, '\p{^Is_Comp_Ex=true}', "");
-Expect(1, 831, '\P{Is_Comp_Ex=true}', "");
-Expect(0, 831, '\P{^Is_Comp_Ex=true}', "");
-Expect(1, 833, '\p{Is_Comp_Ex= TRUE}', "");
-Expect(0, 833, '\p{^Is_Comp_Ex= TRUE}', "");
-Expect(0, 833, '\P{Is_Comp_Ex= TRUE}', "");
-Expect(1, 833, '\P{^Is_Comp_Ex= TRUE}', "");
-Expect(0, 831, '\p{Is_Comp_Ex= TRUE}', "");
-Expect(1, 831, '\p{^Is_Comp_Ex= TRUE}', "");
-Expect(1, 831, '\P{Is_Comp_Ex= TRUE}', "");
-Expect(0, 831, '\P{^Is_Comp_Ex= TRUE}', "");
-Error('\p{Full_Composition_Exclusion: --no/a/}');
-Error('\P{Full_Composition_Exclusion: --no/a/}');
-Expect(1, 831, '\p{Full_Composition_Exclusion=no}', "");
-Expect(0, 831, '\p{^Full_Composition_Exclusion=no}', "");
-Expect(0, 831, '\P{Full_Composition_Exclusion=no}', "");
-Expect(1, 831, '\P{^Full_Composition_Exclusion=no}', "");
-Expect(0, 833, '\p{Full_Composition_Exclusion=no}', "");
-Expect(1, 833, '\p{^Full_Composition_Exclusion=no}', "");
-Expect(1, 833, '\P{Full_Composition_Exclusion=no}', "");
-Expect(0, 833, '\P{^Full_Composition_Exclusion=no}', "");
-Expect(1, 831, '\p{Full_Composition_Exclusion=--No}', "");
-Expect(0, 831, '\p{^Full_Composition_Exclusion=--No}', "");
-Expect(0, 831, '\P{Full_Composition_Exclusion=--No}', "");
-Expect(1, 831, '\P{^Full_Composition_Exclusion=--No}', "");
-Expect(0, 833, '\p{Full_Composition_Exclusion=--No}', "");
-Expect(1, 833, '\p{^Full_Composition_Exclusion=--No}', "");
-Expect(1, 833, '\P{Full_Composition_Exclusion=--No}', "");
-Expect(0, 833, '\P{^Full_Composition_Exclusion=--No}', "");
-Error('\p{Comp_Ex=-_N:=}');
-Error('\P{Comp_Ex=-_N:=}');
-Expect(1, 831, '\p{Comp_Ex=n}', "");
-Expect(0, 831, '\p{^Comp_Ex=n}', "");
-Expect(0, 831, '\P{Comp_Ex=n}', "");
-Expect(1, 831, '\P{^Comp_Ex=n}', "");
-Expect(0, 833, '\p{Comp_Ex=n}', "");
-Expect(1, 833, '\p{^Comp_Ex=n}', "");
-Expect(1, 833, '\P{Comp_Ex=n}', "");
-Expect(0, 833, '\P{^Comp_Ex=n}', "");
-Expect(1, 831, '\p{Comp_Ex= n}', "");
-Expect(0, 831, '\p{^Comp_Ex= n}', "");
-Expect(0, 831, '\P{Comp_Ex= n}', "");
-Expect(1, 831, '\P{^Comp_Ex= n}', "");
-Expect(0, 833, '\p{Comp_Ex= n}', "");
-Expect(1, 833, '\p{^Comp_Ex= n}', "");
-Expect(1, 833, '\P{Comp_Ex= n}', "");
-Expect(0, 833, '\P{^Comp_Ex= n}', "");
-Error('\p{Is_Full_Composition_Exclusion=:=F}');
-Error('\P{Is_Full_Composition_Exclusion=:=F}');
-Expect(1, 831, '\p{Is_Full_Composition_Exclusion=f}', "");
-Expect(0, 831, '\p{^Is_Full_Composition_Exclusion=f}', "");
-Expect(0, 831, '\P{Is_Full_Composition_Exclusion=f}', "");
-Expect(1, 831, '\P{^Is_Full_Composition_Exclusion=f}', "");
-Expect(0, 833, '\p{Is_Full_Composition_Exclusion=f}', "");
-Expect(1, 833, '\p{^Is_Full_Composition_Exclusion=f}', "");
-Expect(1, 833, '\P{Is_Full_Composition_Exclusion=f}', "");
-Expect(0, 833, '\P{^Is_Full_Composition_Exclusion=f}', "");
-Error('\p{Is_Comp_Ex=/a/ False}');
-Error('\P{Is_Comp_Ex=/a/ False}');
-Expect(1, 831, '\p{Is_Comp_Ex=false}', "");
-Expect(0, 831, '\p{^Is_Comp_Ex=false}', "");
-Expect(0, 831, '\P{Is_Comp_Ex=false}', "");
-Expect(1, 831, '\P{^Is_Comp_Ex=false}', "");
-Expect(0, 833, '\p{Is_Comp_Ex=false}', "");
-Expect(1, 833, '\p{^Is_Comp_Ex=false}', "");
-Expect(1, 833, '\P{Is_Comp_Ex=false}', "");
-Expect(0, 833, '\P{^Is_Comp_Ex=false}', "");
-Expect(1, 831, '\p{Is_Comp_Ex= False}', "");
-Expect(0, 831, '\p{^Is_Comp_Ex= False}', "");
-Expect(0, 831, '\P{Is_Comp_Ex= False}', "");
-Expect(1, 831, '\P{^Is_Comp_Ex= False}', "");
-Expect(0, 833, '\p{Is_Comp_Ex= False}', "");
-Expect(1, 833, '\p{^Is_Comp_Ex= False}', "");
-Expect(1, 833, '\P{Is_Comp_Ex= False}', "");
-Expect(0, 833, '\P{^Is_Comp_Ex= False}', "");
-Error('\p{Changes_When_NFKC_Casefolded= Yes/a/}');
-Error('\P{Changes_When_NFKC_Casefolded= Yes/a/}');
-Expect(1, 90, '\p{Changes_When_NFKC_Casefolded=yes}', "");
-Expect(0, 90, '\p{^Changes_When_NFKC_Casefolded=yes}', "");
-Expect(0, 90, '\P{Changes_When_NFKC_Casefolded=yes}', "");
-Expect(1, 90, '\P{^Changes_When_NFKC_Casefolded=yes}', "");
-Expect(0, 64, '\p{Changes_When_NFKC_Casefolded=yes}', "");
-Expect(1, 64, '\p{^Changes_When_NFKC_Casefolded=yes}', "");
-Expect(1, 64, '\P{Changes_When_NFKC_Casefolded=yes}', "");
-Expect(0, 64, '\P{^Changes_When_NFKC_Casefolded=yes}', "");
-Expect(1, 90, '\p{Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(0, 90, '\p{^Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(0, 90, '\P{Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(1, 90, '\P{^Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(0, 64, '\p{Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(1, 64, '\p{^Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(1, 64, '\P{Changes_When_NFKC_Casefolded=- Yes}', "");
-Expect(0, 64, '\P{^Changes_When_NFKC_Casefolded=- Yes}', "");
-Error('\p{CWKCF=_/a/Y}');
-Error('\P{CWKCF=_/a/Y}');
-Expect(1, 90, '\p{CWKCF: y}', "");
-Expect(0, 90, '\p{^CWKCF: y}', "");
-Expect(0, 90, '\P{CWKCF: y}', "");
-Expect(1, 90, '\P{^CWKCF: y}', "");
-Expect(0, 64, '\p{CWKCF: y}', "");
-Expect(1, 64, '\p{^CWKCF: y}', "");
-Expect(1, 64, '\P{CWKCF: y}', "");
-Expect(0, 64, '\P{^CWKCF: y}', "");
-Expect(1, 90, '\p{CWKCF= -y}', "");
-Expect(0, 90, '\p{^CWKCF= -y}', "");
-Expect(0, 90, '\P{CWKCF= -y}', "");
-Expect(1, 90, '\P{^CWKCF= -y}', "");
-Expect(0, 64, '\p{CWKCF= -y}', "");
-Expect(1, 64, '\p{^CWKCF= -y}', "");
-Expect(1, 64, '\P{CWKCF= -y}', "");
-Expect(0, 64, '\P{^CWKCF= -y}', "");
-Error('\p{Is_Changes_When_NFKC_Casefolded= T:=}');
-Error('\P{Is_Changes_When_NFKC_Casefolded= T:=}');
-Expect(1, 90, '\p{Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(0, 90, '\p{^Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(0, 90, '\P{Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(1, 90, '\P{^Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(0, 64, '\p{Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(1, 64, '\p{^Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(1, 64, '\P{Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(0, 64, '\P{^Is_Changes_When_NFKC_Casefolded=t}', "");
-Expect(1, 90, '\p{Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(0, 90, '\p{^Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(0, 90, '\P{Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(1, 90, '\P{^Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(0, 64, '\p{Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(1, 64, '\p{^Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(1, 64, '\P{Is_Changes_When_NFKC_Casefolded=_t}', "");
-Expect(0, 64, '\P{^Is_Changes_When_NFKC_Casefolded=_t}', "");
-Error('\p{Is_CWKCF=:=_ true}');
-Error('\P{Is_CWKCF=:=_ true}');
-Expect(1, 90, '\p{Is_CWKCF=true}', "");
-Expect(0, 90, '\p{^Is_CWKCF=true}', "");
-Expect(0, 90, '\P{Is_CWKCF=true}', "");
-Expect(1, 90, '\P{^Is_CWKCF=true}', "");
-Expect(0, 64, '\p{Is_CWKCF=true}', "");
-Expect(1, 64, '\p{^Is_CWKCF=true}', "");
-Expect(1, 64, '\P{Is_CWKCF=true}', "");
-Expect(0, 64, '\P{^Is_CWKCF=true}', "");
-Expect(1, 90, '\p{Is_CWKCF=__TRUE}', "");
-Expect(0, 90, '\p{^Is_CWKCF=__TRUE}', "");
-Expect(0, 90, '\P{Is_CWKCF=__TRUE}', "");
-Expect(1, 90, '\P{^Is_CWKCF=__TRUE}', "");
-Expect(0, 64, '\p{Is_CWKCF=__TRUE}', "");
-Expect(1, 64, '\p{^Is_CWKCF=__TRUE}', "");
-Expect(1, 64, '\P{Is_CWKCF=__TRUE}', "");
-Expect(0, 64, '\P{^Is_CWKCF=__TRUE}', "");
-Error('\p{Changes_When_NFKC_Casefolded=:=no}');
-Error('\P{Changes_When_NFKC_Casefolded=:=no}');
-Expect(1, 64, '\p{Changes_When_NFKC_Casefolded=no}', "");
-Expect(0, 64, '\p{^Changes_When_NFKC_Casefolded=no}', "");
-Expect(0, 64, '\P{Changes_When_NFKC_Casefolded=no}', "");
-Expect(1, 64, '\P{^Changes_When_NFKC_Casefolded=no}', "");
-Expect(0, 90, '\p{Changes_When_NFKC_Casefolded=no}', "");
-Expect(1, 90, '\p{^Changes_When_NFKC_Casefolded=no}', "");
-Expect(1, 90, '\P{Changes_When_NFKC_Casefolded=no}', "");
-Expect(0, 90, '\P{^Changes_When_NFKC_Casefolded=no}', "");
-Expect(1, 64, '\p{Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(0, 64, '\p{^Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(0, 64, '\P{Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(1, 64, '\P{^Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(0, 90, '\p{Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(1, 90, '\p{^Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(1, 90, '\P{Changes_When_NFKC_Casefolded=-_No}', "");
-Expect(0, 90, '\P{^Changes_When_NFKC_Casefolded=-_No}', "");
-Error('\p{CWKCF=N/a/}');
-Error('\P{CWKCF=N/a/}');
-Expect(1, 64, '\p{CWKCF=n}', "");
-Expect(0, 64, '\p{^CWKCF=n}', "");
-Expect(0, 64, '\P{CWKCF=n}', "");
-Expect(1, 64, '\P{^CWKCF=n}', "");
-Expect(0, 90, '\p{CWKCF=n}', "");
-Expect(1, 90, '\p{^CWKCF=n}', "");
-Expect(1, 90, '\P{CWKCF=n}', "");
-Expect(0, 90, '\P{^CWKCF=n}', "");
-Expect(1, 64, '\p{CWKCF= n}', "");
-Expect(0, 64, '\p{^CWKCF= n}', "");
-Expect(0, 64, '\P{CWKCF= n}', "");
-Expect(1, 64, '\P{^CWKCF= n}', "");
-Expect(0, 90, '\p{CWKCF= n}', "");
-Expect(1, 90, '\p{^CWKCF= n}', "");
-Expect(1, 90, '\P{CWKCF= n}', "");
-Expect(0, 90, '\P{^CWKCF= n}', "");
-Error('\p{Is_Changes_When_NFKC_Casefolded: F:=}');
-Error('\P{Is_Changes_When_NFKC_Casefolded: F:=}');
-Expect(1, 64, '\p{Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(0, 64, '\p{^Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(0, 64, '\P{Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(1, 64, '\P{^Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(0, 90, '\p{Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(1, 90, '\p{^Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(1, 90, '\P{Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(0, 90, '\P{^Is_Changes_When_NFKC_Casefolded=f}', "");
-Expect(1, 64, '\p{Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(0, 64, '\p{^Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(0, 64, '\P{Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(1, 64, '\P{^Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(0, 90, '\p{Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(1, 90, '\p{^Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(1, 90, '\P{Is_Changes_When_NFKC_Casefolded= F}', "");
-Expect(0, 90, '\P{^Is_Changes_When_NFKC_Casefolded= F}', "");
-Error('\p{Is_CWKCF=/a/ false}');
-Error('\P{Is_CWKCF=/a/ false}');
-Expect(1, 64, '\p{Is_CWKCF=false}', "");
-Expect(0, 64, '\p{^Is_CWKCF=false}', "");
-Expect(0, 64, '\P{Is_CWKCF=false}', "");
-Expect(1, 64, '\P{^Is_CWKCF=false}', "");
-Expect(0, 90, '\p{Is_CWKCF=false}', "");
-Expect(1, 90, '\p{^Is_CWKCF=false}', "");
-Expect(1, 90, '\P{Is_CWKCF=false}', "");
-Expect(0, 90, '\P{^Is_CWKCF=false}', "");
-Expect(1, 64, '\p{Is_CWKCF= -false}', "");
-Expect(0, 64, '\p{^Is_CWKCF= -false}', "");
-Expect(0, 64, '\P{Is_CWKCF= -false}', "");
-Expect(1, 64, '\P{^Is_CWKCF= -false}', "");
-Expect(0, 90, '\p{Is_CWKCF= -false}', "");
-Expect(1, 90, '\p{^Is_CWKCF= -false}', "");
-Expect(1, 90, '\P{Is_CWKCF= -false}', "");
-Expect(0, 90, '\P{^Is_CWKCF= -false}', "");
-Error('\p{NFKC_Quick_Check= -yes:=}');
-Error('\P{NFKC_Quick_Check= -yes:=}');
-Expect(1, 159, '\p{NFKC_Quick_Check=yes}', "");
-Expect(0, 159, '\p{^NFKC_Quick_Check=yes}', "");
-Expect(0, 159, '\P{NFKC_Quick_Check=yes}', "");
-Expect(1, 159, '\P{^NFKC_Quick_Check=yes}', "");
-Expect(0, 160, '\p{NFKC_Quick_Check=yes}', "");
-Expect(1, 160, '\p{^NFKC_Quick_Check=yes}', "");
-Expect(1, 160, '\P{NFKC_Quick_Check=yes}', "");
-Expect(0, 160, '\P{^NFKC_Quick_Check=yes}', "");
-Expect(1, 159, '\p{NFKC_Quick_Check=- YES}', "");
-Expect(0, 159, '\p{^NFKC_Quick_Check=- YES}', "");
-Expect(0, 159, '\P{NFKC_Quick_Check=- YES}', "");
-Expect(1, 159, '\P{^NFKC_Quick_Check=- YES}', "");
-Expect(0, 160, '\p{NFKC_Quick_Check=- YES}', "");
-Expect(1, 160, '\p{^NFKC_Quick_Check=- YES}', "");
-Expect(1, 160, '\P{NFKC_Quick_Check=- YES}', "");
-Expect(0, 160, '\P{^NFKC_Quick_Check=- YES}', "");
-Error('\p{NFKC_QC=/a/ Y}');
-Error('\P{NFKC_QC=/a/ Y}');
-Expect(1, 159, '\p{NFKC_QC=y}', "");
-Expect(0, 159, '\p{^NFKC_QC=y}', "");
-Expect(0, 159, '\P{NFKC_QC=y}', "");
-Expect(1, 159, '\P{^NFKC_QC=y}', "");
-Expect(0, 160, '\p{NFKC_QC=y}', "");
-Expect(1, 160, '\p{^NFKC_QC=y}', "");
-Expect(1, 160, '\P{NFKC_QC=y}', "");
-Expect(0, 160, '\P{^NFKC_QC=y}', "");
-Expect(1, 159, '\p{NFKC_QC= Y}', "");
-Expect(0, 159, '\p{^NFKC_QC= Y}', "");
-Expect(0, 159, '\P{NFKC_QC= Y}', "");
-Expect(1, 159, '\P{^NFKC_QC= Y}', "");
-Expect(0, 160, '\p{NFKC_QC= Y}', "");
-Expect(1, 160, '\p{^NFKC_QC= Y}', "");
-Expect(1, 160, '\P{NFKC_QC= Y}', "");
-Expect(0, 160, '\P{^NFKC_QC= Y}', "");
-Error('\p{Is_NFKC_Quick_Check=__Yes/a/}');
-Error('\P{Is_NFKC_Quick_Check=__Yes/a/}');
-Expect(1, 159, '\p{Is_NFKC_Quick_Check=yes}', "");
-Expect(0, 159, '\p{^Is_NFKC_Quick_Check=yes}', "");
-Expect(0, 159, '\P{Is_NFKC_Quick_Check=yes}', "");
-Expect(1, 159, '\P{^Is_NFKC_Quick_Check=yes}', "");
-Expect(0, 160, '\p{Is_NFKC_Quick_Check=yes}', "");
-Expect(1, 160, '\p{^Is_NFKC_Quick_Check=yes}', "");
-Expect(1, 160, '\P{Is_NFKC_Quick_Check=yes}', "");
-Expect(0, 160, '\P{^Is_NFKC_Quick_Check=yes}', "");
-Expect(1, 159, '\p{Is_NFKC_Quick_Check= yes}', "");
-Expect(0, 159, '\p{^Is_NFKC_Quick_Check= yes}', "");
-Expect(0, 159, '\P{Is_NFKC_Quick_Check= yes}', "");
-Expect(1, 159, '\P{^Is_NFKC_Quick_Check= yes}', "");
-Expect(0, 160, '\p{Is_NFKC_Quick_Check= yes}', "");
-Expect(1, 160, '\p{^Is_NFKC_Quick_Check= yes}', "");
-Expect(1, 160, '\P{Is_NFKC_Quick_Check= yes}', "");
-Expect(0, 160, '\P{^Is_NFKC_Quick_Check= yes}', "");
-Error('\p{Is_NFKC_QC= :=y}');
-Error('\P{Is_NFKC_QC= :=y}');
-Expect(1, 159, '\p{Is_NFKC_QC=y}', "");
-Expect(0, 159, '\p{^Is_NFKC_QC=y}', "");
-Expect(0, 159, '\P{Is_NFKC_QC=y}', "");
-Expect(1, 159, '\P{^Is_NFKC_QC=y}', "");
-Expect(0, 160, '\p{Is_NFKC_QC=y}', "");
-Expect(1, 160, '\p{^Is_NFKC_QC=y}', "");
-Expect(1, 160, '\P{Is_NFKC_QC=y}', "");
-Expect(0, 160, '\P{^Is_NFKC_QC=y}', "");
-Expect(1, 159, '\p{Is_NFKC_QC=Y}', "");
-Expect(0, 159, '\p{^Is_NFKC_QC=Y}', "");
-Expect(0, 159, '\P{Is_NFKC_QC=Y}', "");
-Expect(1, 159, '\P{^Is_NFKC_QC=Y}', "");
-Expect(0, 160, '\p{Is_NFKC_QC=Y}', "");
-Expect(1, 160, '\p{^Is_NFKC_QC=Y}', "");
-Expect(1, 160, '\P{Is_NFKC_QC=Y}', "");
-Expect(0, 160, '\P{^Is_NFKC_QC=Y}', "");
-Error('\p{NFKC_Quick_Check=no/a/}');
-Error('\P{NFKC_Quick_Check=no/a/}');
-Expect(1, 160, '\p{NFKC_Quick_Check=no}', "");
-Expect(0, 160, '\p{^NFKC_Quick_Check=no}', "");
-Expect(0, 160, '\P{NFKC_Quick_Check=no}', "");
-Expect(1, 160, '\P{^NFKC_Quick_Check=no}', "");
-Expect(0, 159, '\p{NFKC_Quick_Check=no}', "");
-Expect(1, 159, '\p{^NFKC_Quick_Check=no}', "");
-Expect(1, 159, '\P{NFKC_Quick_Check=no}', "");
-Expect(0, 159, '\P{^NFKC_Quick_Check=no}', "");
-Expect(1, 160, '\p{NFKC_Quick_Check=-no}', "");
-Expect(0, 160, '\p{^NFKC_Quick_Check=-no}', "");
-Expect(0, 160, '\P{NFKC_Quick_Check=-no}', "");
-Expect(1, 160, '\P{^NFKC_Quick_Check=-no}', "");
-Expect(0, 159, '\p{NFKC_Quick_Check=-no}', "");
-Expect(1, 159, '\p{^NFKC_Quick_Check=-no}', "");
-Expect(1, 159, '\P{NFKC_Quick_Check=-no}', "");
-Expect(0, 159, '\P{^NFKC_Quick_Check=-no}', "");
-Error('\p{NFKC_QC: _:=N}');
-Error('\P{NFKC_QC: _:=N}');
-Expect(1, 160, '\p{NFKC_QC=n}', "");
-Expect(0, 160, '\p{^NFKC_QC=n}', "");
-Expect(0, 160, '\P{NFKC_QC=n}', "");
-Expect(1, 160, '\P{^NFKC_QC=n}', "");
-Expect(0, 159, '\p{NFKC_QC=n}', "");
-Expect(1, 159, '\p{^NFKC_QC=n}', "");
-Expect(1, 159, '\P{NFKC_QC=n}', "");
-Expect(0, 159, '\P{^NFKC_QC=n}', "");
-Expect(1, 160, '\p{NFKC_QC= N}', "");
-Expect(0, 160, '\p{^NFKC_QC= N}', "");
-Expect(0, 160, '\P{NFKC_QC= N}', "");
-Expect(1, 160, '\P{^NFKC_QC= N}', "");
-Expect(0, 159, '\p{NFKC_QC= N}', "");
-Expect(1, 159, '\p{^NFKC_QC= N}', "");
-Expect(1, 159, '\P{NFKC_QC= N}', "");
-Expect(0, 159, '\P{^NFKC_QC= N}', "");
-Error('\p{Is_NFKC_Quick_Check: :=NO}');
-Error('\P{Is_NFKC_Quick_Check: :=NO}');
-Expect(1, 160, '\p{Is_NFKC_Quick_Check=no}', "");
-Expect(0, 160, '\p{^Is_NFKC_Quick_Check=no}', "");
-Expect(0, 160, '\P{Is_NFKC_Quick_Check=no}', "");
-Expect(1, 160, '\P{^Is_NFKC_Quick_Check=no}', "");
-Expect(0, 159, '\p{Is_NFKC_Quick_Check=no}', "");
-Expect(1, 159, '\p{^Is_NFKC_Quick_Check=no}', "");
-Expect(1, 159, '\P{Is_NFKC_Quick_Check=no}', "");
-Expect(0, 159, '\P{^Is_NFKC_Quick_Check=no}', "");
-Expect(1, 160, '\p{Is_NFKC_Quick_Check=_ No}', "");
-Expect(0, 160, '\p{^Is_NFKC_Quick_Check=_ No}', "");
-Expect(0, 160, '\P{Is_NFKC_Quick_Check=_ No}', "");
-Expect(1, 160, '\P{^Is_NFKC_Quick_Check=_ No}', "");
-Expect(0, 159, '\p{Is_NFKC_Quick_Check=_ No}', "");
-Expect(1, 159, '\p{^Is_NFKC_Quick_Check=_ No}', "");
-Expect(1, 159, '\P{Is_NFKC_Quick_Check=_ No}', "");
-Expect(0, 159, '\P{^Is_NFKC_Quick_Check=_ No}', "");
-Error('\p{Is_NFKC_QC=:=N}');
-Error('\P{Is_NFKC_QC=:=N}');
-Expect(1, 160, '\p{Is_NFKC_QC=n}', "");
-Expect(0, 160, '\p{^Is_NFKC_QC=n}', "");
-Expect(0, 160, '\P{Is_NFKC_QC=n}', "");
-Expect(1, 160, '\P{^Is_NFKC_QC=n}', "");
-Expect(0, 159, '\p{Is_NFKC_QC=n}', "");
-Expect(1, 159, '\p{^Is_NFKC_QC=n}', "");
-Expect(1, 159, '\P{Is_NFKC_QC=n}', "");
-Expect(0, 159, '\P{^Is_NFKC_QC=n}', "");
-Expect(1, 160, '\p{Is_NFKC_QC=_ N}', "");
-Expect(0, 160, '\p{^Is_NFKC_QC=_ N}', "");
-Expect(0, 160, '\P{Is_NFKC_QC=_ N}', "");
-Expect(1, 160, '\P{^Is_NFKC_QC=_ N}', "");
-Expect(0, 159, '\p{Is_NFKC_QC=_ N}', "");
-Expect(1, 159, '\p{^Is_NFKC_QC=_ N}', "");
-Expect(1, 159, '\P{Is_NFKC_QC=_ N}', "");
-Expect(0, 159, '\P{^Is_NFKC_QC=_ N}', "");
-Error('\p{NFKC_Quick_Check=- MAYBE:=}');
-Error('\P{NFKC_Quick_Check=- MAYBE:=}');
-Expect(1, 772, '\p{NFKC_Quick_Check: maybe}', "");
-Expect(0, 772, '\p{^NFKC_Quick_Check: maybe}', "");
-Expect(0, 772, '\P{NFKC_Quick_Check: maybe}', "");
-Expect(1, 772, '\P{^NFKC_Quick_Check: maybe}', "");
-Expect(0, 767, '\p{NFKC_Quick_Check: maybe}', "");
-Expect(1, 767, '\p{^NFKC_Quick_Check: maybe}', "");
-Expect(1, 767, '\P{NFKC_Quick_Check: maybe}', "");
-Expect(0, 767, '\P{^NFKC_Quick_Check: maybe}', "");
-Expect(1, 772, '\p{NFKC_Quick_Check=__Maybe}', "");
-Expect(0, 772, '\p{^NFKC_Quick_Check=__Maybe}', "");
-Expect(0, 772, '\P{NFKC_Quick_Check=__Maybe}', "");
-Expect(1, 772, '\P{^NFKC_Quick_Check=__Maybe}', "");
-Expect(0, 767, '\p{NFKC_Quick_Check=__Maybe}', "");
-Expect(1, 767, '\p{^NFKC_Quick_Check=__Maybe}', "");
-Expect(1, 767, '\P{NFKC_Quick_Check=__Maybe}', "");
-Expect(0, 767, '\P{^NFKC_Quick_Check=__Maybe}', "");
-Error('\p{NFKC_QC: -m/a/}');
-Error('\P{NFKC_QC: -m/a/}');
-Expect(1, 772, '\p{NFKC_QC=m}', "");
-Expect(0, 772, '\p{^NFKC_QC=m}', "");
-Expect(0, 772, '\P{NFKC_QC=m}', "");
-Expect(1, 772, '\P{^NFKC_QC=m}', "");
-Expect(0, 767, '\p{NFKC_QC=m}', "");
-Expect(1, 767, '\p{^NFKC_QC=m}', "");
-Expect(1, 767, '\P{NFKC_QC=m}', "");
-Expect(0, 767, '\P{^NFKC_QC=m}', "");
-Expect(1, 772, '\p{NFKC_QC= _M}', "");
-Expect(0, 772, '\p{^NFKC_QC= _M}', "");
-Expect(0, 772, '\P{NFKC_QC= _M}', "");
-Expect(1, 772, '\P{^NFKC_QC= _M}', "");
-Expect(0, 767, '\p{NFKC_QC= _M}', "");
-Expect(1, 767, '\p{^NFKC_QC= _M}', "");
-Expect(1, 767, '\P{NFKC_QC= _M}', "");
-Expect(0, 767, '\P{^NFKC_QC= _M}', "");
-Error('\p{Is_NFKC_Quick_Check=/a/- maybe}');
-Error('\P{Is_NFKC_Quick_Check=/a/- maybe}');
-Expect(1, 772, '\p{Is_NFKC_Quick_Check=maybe}', "");
-Expect(0, 772, '\p{^Is_NFKC_Quick_Check=maybe}', "");
-Expect(0, 772, '\P{Is_NFKC_Quick_Check=maybe}', "");
-Expect(1, 772, '\P{^Is_NFKC_Quick_Check=maybe}', "");
-Expect(0, 767, '\p{Is_NFKC_Quick_Check=maybe}', "");
-Expect(1, 767, '\p{^Is_NFKC_Quick_Check=maybe}', "");
-Expect(1, 767, '\P{Is_NFKC_Quick_Check=maybe}', "");
-Expect(0, 767, '\P{^Is_NFKC_Quick_Check=maybe}', "");
-Expect(1, 772, '\p{Is_NFKC_Quick_Check= maybe}', "");
-Expect(0, 772, '\p{^Is_NFKC_Quick_Check= maybe}', "");
-Expect(0, 772, '\P{Is_NFKC_Quick_Check= maybe}', "");
-Expect(1, 772, '\P{^Is_NFKC_Quick_Check= maybe}', "");
-Expect(0, 767, '\p{Is_NFKC_Quick_Check= maybe}', "");
-Expect(1, 767, '\p{^Is_NFKC_Quick_Check= maybe}', "");
-Expect(1, 767, '\P{Is_NFKC_Quick_Check= maybe}', "");
-Expect(0, 767, '\P{^Is_NFKC_Quick_Check= maybe}', "");
-Error('\p{Is_NFKC_QC=/a/_ M}');
-Error('\P{Is_NFKC_QC=/a/_ M}');
-Expect(1, 772, '\p{Is_NFKC_QC:m}', "");
-Expect(0, 772, '\p{^Is_NFKC_QC:m}', "");
-Expect(0, 772, '\P{Is_NFKC_QC:m}', "");
-Expect(1, 772, '\P{^Is_NFKC_QC:m}', "");
-Expect(0, 767, '\p{Is_NFKC_QC:m}', "");
-Expect(1, 767, '\p{^Is_NFKC_QC:m}', "");
-Expect(1, 767, '\P{Is_NFKC_QC:m}', "");
-Expect(0, 767, '\P{^Is_NFKC_QC:m}', "");
-Expect(1, 772, '\p{Is_NFKC_QC= m}', "");
-Expect(0, 772, '\p{^Is_NFKC_QC= m}', "");
-Expect(0, 772, '\P{Is_NFKC_QC= m}', "");
-Expect(1, 772, '\P{^Is_NFKC_QC= m}', "");
-Expect(0, 767, '\p{Is_NFKC_QC= m}', "");
-Expect(1, 767, '\p{^Is_NFKC_QC= m}', "");
-Expect(1, 767, '\P{Is_NFKC_QC= m}', "");
-Expect(0, 767, '\P{^Is_NFKC_QC= m}', "");
-Error('\p{Jamo_Short_Name=}');
-Error('\P{Jamo_Short_Name=}');
-Error('\p{JSN=}');
-Error('\P{JSN=}');
-Error('\p{Is_Jamo_Short_Name=}');
-Error('\P{Is_Jamo_Short_Name=}');
-Error('\p{Is_JSN=}');
-Error('\P{Is_JSN=}');
-Error('\p{Jamo_Short_Name=S}');
-Error('\P{Jamo_Short_Name=S}');
-Error('\p{JSN=S}');
-Error('\P{JSN=S}');
-Error('\p{Is_Jamo_Short_Name=S}');
-Error('\P{Is_Jamo_Short_Name=S}');
-Error('\p{Is_JSN=S}');
-Error('\P{Is_JSN=S}');
-Error('\p{Jamo_Short_Name=GG}');
-Error('\P{Jamo_Short_Name=GG}');
-Error('\p{JSN=GG}');
-Error('\P{JSN=GG}');
-Error('\p{Is_Jamo_Short_Name=GG}');
-Error('\P{Is_Jamo_Short_Name=GG}');
-Error('\p{Is_JSN=GG}');
-Error('\P{Is_JSN=GG}');
-Error('\p{Jamo_Short_Name=YU}');
-Error('\P{Jamo_Short_Name=YU}');
-Error('\p{JSN=YU}');
-Error('\P{JSN=YU}');
-Error('\p{Is_Jamo_Short_Name=YU}');
-Error('\P{Is_Jamo_Short_Name=YU}');
-Error('\p{Is_JSN=YU}');
-Error('\P{Is_JSN=YU}');
-Error('\p{Jamo_Short_Name=WE}');
-Error('\P{Jamo_Short_Name=WE}');
-Error('\p{JSN=WE}');
-Error('\P{JSN=WE}');
-Error('\p{Is_Jamo_Short_Name=WE}');
-Error('\P{Is_Jamo_Short_Name=WE}');
-Error('\p{Is_JSN=WE}');
-Error('\P{Is_JSN=WE}');
-Error('\p{Jamo_Short_Name=LM}');
-Error('\P{Jamo_Short_Name=LM}');
-Error('\p{JSN=LM}');
-Error('\P{JSN=LM}');
-Error('\p{Is_Jamo_Short_Name=LM}');
-Error('\P{Is_Jamo_Short_Name=LM}');
-Error('\p{Is_JSN=LM}');
-Error('\P{Is_JSN=LM}');
-Error('\p{Jamo_Short_Name=K}');
-Error('\P{Jamo_Short_Name=K}');
-Error('\p{JSN=K}');
-Error('\P{JSN=K}');
-Error('\p{Is_Jamo_Short_Name=K}');
-Error('\P{Is_Jamo_Short_Name=K}');
-Error('\p{Is_JSN=K}');
-Error('\P{Is_JSN=K}');
-Error('\p{Jamo_Short_Name: BB}');
-Error('\P{Jamo_Short_Name: BB}');
-Error('\p{JSN=BB}');
-Error('\P{JSN=BB}');
-Error('\p{Is_Jamo_Short_Name=BB}');
-Error('\P{Is_Jamo_Short_Name=BB}');
-Error('\p{Is_JSN=BB}');
-Error('\P{Is_JSN=BB}');
-Error('\p{Jamo_Short_Name=D}');
-Error('\P{Jamo_Short_Name=D}');
-Error('\p{JSN=D}');
-Error('\P{JSN=D}');
-Error('\p{Is_Jamo_Short_Name=D}');
-Error('\P{Is_Jamo_Short_Name=D}');
-Error('\p{Is_JSN=D}');
-Error('\P{Is_JSN=D}');
-Error('\p{Jamo_Short_Name=E}');
-Error('\P{Jamo_Short_Name=E}');
-Error('\p{JSN=E}');
-Error('\P{JSN=E}');
-Error('\p{Is_Jamo_Short_Name=E}');
-Error('\P{Is_Jamo_Short_Name=E}');
-Error('\p{Is_JSN=E}');
-Error('\P{Is_JSN=E}');
-Error('\p{Jamo_Short_Name=JJ}');
-Error('\P{Jamo_Short_Name=JJ}');
-Error('\p{JSN=JJ}');
-Error('\P{JSN=JJ}');
-Error('\p{Is_Jamo_Short_Name=JJ}');
-Error('\P{Is_Jamo_Short_Name=JJ}');
-Error('\p{Is_JSN=JJ}');
-Error('\P{Is_JSN=JJ}');
-Error('\p{Jamo_Short_Name=G}');
-Error('\P{Jamo_Short_Name=G}');
-Error('\p{JSN=G}');
-Error('\P{JSN=G}');
-Error('\p{Is_Jamo_Short_Name=G}');
-Error('\P{Is_Jamo_Short_Name=G}');
-Error('\p{Is_JSN=G}');
-Error('\P{Is_JSN=G}');
-Error('\p{Jamo_Short_Name=YA}');
-Error('\P{Jamo_Short_Name=YA}');
-Error('\p{JSN=YA}');
-Error('\P{JSN=YA}');
-Error('\p{Is_Jamo_Short_Name=YA}');
-Error('\P{Is_Jamo_Short_Name=YA}');
-Error('\p{Is_JSN=YA}');
-Error('\P{Is_JSN=YA}');
-Error('\p{Jamo_Short_Name=SS}');
-Error('\P{Jamo_Short_Name=SS}');
-Error('\p{JSN=SS}');
-Error('\P{JSN=SS}');
-Error('\p{Is_Jamo_Short_Name=SS}');
-Error('\P{Is_Jamo_Short_Name=SS}');
-Error('\p{Is_JSN=SS}');
-Error('\P{Is_JSN=SS}');
-Error('\p{Jamo_Short_Name=LB}');
-Error('\P{Jamo_Short_Name=LB}');
-Error('\p{JSN=LB}');
-Error('\P{JSN=LB}');
-Error('\p{Is_Jamo_Short_Name=LB}');
-Error('\P{Is_Jamo_Short_Name=LB}');
-Error('\p{Is_JSN=LB}');
-Error('\P{Is_JSN=LB}');
-Error('\p{Jamo_Short_Name=J}');
-Error('\P{Jamo_Short_Name=J}');
-Error('\p{JSN=J}');
-Error('\P{JSN=J}');
-Error('\p{Is_Jamo_Short_Name=J}');
-Error('\P{Is_Jamo_Short_Name=J}');
-Error('\p{Is_JSN=J}');
-Error('\P{Is_JSN=J}');
-Error('\p{Jamo_Short_Name=NH}');
-Error('\P{Jamo_Short_Name=NH}');
-Error('\p{JSN:NH}');
-Error('\P{JSN:NH}');
-Error('\p{Is_Jamo_Short_Name=NH}');
-Error('\P{Is_Jamo_Short_Name=NH}');
-Error('\p{Is_JSN=NH}');
-Error('\P{Is_JSN=NH}');
-Error('\p{Jamo_Short_Name=YEO}');
-Error('\P{Jamo_Short_Name=YEO}');
-Error('\p{JSN=YEO}');
-Error('\P{JSN=YEO}');
-Error('\p{Is_Jamo_Short_Name=YEO}');
-Error('\P{Is_Jamo_Short_Name=YEO}');
-Error('\p{Is_JSN=YEO}');
-Error('\P{Is_JSN=YEO}');
-Error('\p{Jamo_Short_Name=LP}');
-Error('\P{Jamo_Short_Name=LP}');
-Error('\p{JSN=LP}');
-Error('\P{JSN=LP}');
-Error('\p{Is_Jamo_Short_Name=LP}');
-Error('\P{Is_Jamo_Short_Name=LP}');
-Error('\p{Is_JSN=LP}');
-Error('\P{Is_JSN=LP}');
-Error('\p{Jamo_Short_Name=NJ}');
-Error('\P{Jamo_Short_Name=NJ}');
-Error('\p{JSN=NJ}');
-Error('\P{JSN=NJ}');
-Error('\p{Is_Jamo_Short_Name=NJ}');
-Error('\P{Is_Jamo_Short_Name=NJ}');
-Error('\p{Is_JSN=NJ}');
-Error('\P{Is_JSN=NJ}');
-Error('\p{Jamo_Short_Name=B}');
-Error('\P{Jamo_Short_Name=B}');
-Error('\p{JSN: B}');
-Error('\P{JSN: B}');
-Error('\p{Is_Jamo_Short_Name=B}');
-Error('\P{Is_Jamo_Short_Name=B}');
-Error('\p{Is_JSN=B}');
-Error('\P{Is_JSN=B}');
-Error('\p{Jamo_Short_Name=WA}');
-Error('\P{Jamo_Short_Name=WA}');
-Error('\p{JSN=WA}');
-Error('\P{JSN=WA}');
-Error('\p{Is_Jamo_Short_Name=WA}');
-Error('\P{Is_Jamo_Short_Name=WA}');
-Error('\p{Is_JSN=WA}');
-Error('\P{Is_JSN=WA}');
-Error('\p{Jamo_Short_Name=LH}');
-Error('\P{Jamo_Short_Name=LH}');
-Error('\p{JSN: LH}');
-Error('\P{JSN: LH}');
-Error('\p{Is_Jamo_Short_Name=LH}');
-Error('\P{Is_Jamo_Short_Name=LH}');
-Error('\p{Is_JSN=LH}');
-Error('\P{Is_JSN=LH}');
-Error('\p{Jamo_Short_Name=YI}');
-Error('\P{Jamo_Short_Name=YI}');
-Error('\p{JSN=YI}');
-Error('\P{JSN=YI}');
-Error('\p{Is_Jamo_Short_Name=YI}');
-Error('\P{Is_Jamo_Short_Name=YI}');
-Error('\p{Is_JSN=YI}');
-Error('\P{Is_JSN=YI}');
-Error('\p{Jamo_Short_Name=WEO}');
-Error('\P{Jamo_Short_Name=WEO}');
-Error('\p{JSN=WEO}');
-Error('\P{JSN=WEO}');
-Error('\p{Is_Jamo_Short_Name=WEO}');
-Error('\P{Is_Jamo_Short_Name=WEO}');
-Error('\p{Is_JSN=WEO}');
-Error('\P{Is_JSN=WEO}');
-Error('\p{Jamo_Short_Name=LS}');
-Error('\P{Jamo_Short_Name=LS}');
-Error('\p{JSN=LS}');
-Error('\P{JSN=LS}');
-Error('\p{Is_Jamo_Short_Name=LS}');
-Error('\P{Is_Jamo_Short_Name=LS}');
-Error('\p{Is_JSN=LS}');
-Error('\P{Is_JSN=LS}');
-Error('\p{Jamo_Short_Name=BS}');
-Error('\P{Jamo_Short_Name=BS}');
-Error('\p{JSN=BS}');
-Error('\P{JSN=BS}');
-Error('\p{Is_Jamo_Short_Name=BS}');
-Error('\P{Is_Jamo_Short_Name=BS}');
-Error('\p{Is_JSN:BS}');
-Error('\P{Is_JSN:BS}');
-Error('\p{Jamo_Short_Name=YO}');
-Error('\P{Jamo_Short_Name=YO}');
-Error('\p{JSN=YO}');
-Error('\P{JSN=YO}');
-Error('\p{Is_Jamo_Short_Name=YO}');
-Error('\P{Is_Jamo_Short_Name=YO}');
-Error('\p{Is_JSN=YO}');
-Error('\P{Is_JSN=YO}');
-Error('\p{Jamo_Short_Name=OE}');
-Error('\P{Jamo_Short_Name=OE}');
-Error('\p{JSN: OE}');
-Error('\P{JSN: OE}');
-Error('\p{Is_Jamo_Short_Name=OE}');
-Error('\P{Is_Jamo_Short_Name=OE}');
-Error('\p{Is_JSN=OE}');
-Error('\P{Is_JSN=OE}');
-Error('\p{Jamo_Short_Name=M}');
-Error('\P{Jamo_Short_Name=M}');
-Error('\p{JSN=M}');
-Error('\P{JSN=M}');
-Error('\p{Is_Jamo_Short_Name=M}');
-Error('\P{Is_Jamo_Short_Name=M}');
-Error('\p{Is_JSN=M}');
-Error('\P{Is_JSN=M}');
-Error('\p{Jamo_Short_Name=EO}');
-Error('\P{Jamo_Short_Name=EO}');
-Error('\p{JSN:EO}');
-Error('\P{JSN:EO}');
-Error('\p{Is_Jamo_Short_Name=EO}');
-Error('\P{Is_Jamo_Short_Name=EO}');
-Error('\p{Is_JSN=EO}');
-Error('\P{Is_JSN=EO}');
-Error('\p{Jamo_Short_Name=C}');
-Error('\P{Jamo_Short_Name=C}');
-Error('\p{JSN=C}');
-Error('\P{JSN=C}');
-Error('\p{Is_Jamo_Short_Name=C}');
-Error('\P{Is_Jamo_Short_Name=C}');
-Error('\p{Is_JSN=C}');
-Error('\P{Is_JSN=C}');
-Error('\p{Jamo_Short_Name=WI}');
-Error('\P{Jamo_Short_Name=WI}');
-Error('\p{JSN=WI}');
-Error('\P{JSN=WI}');
-Error('\p{Is_Jamo_Short_Name=WI}');
-Error('\P{Is_Jamo_Short_Name=WI}');
-Error('\p{Is_JSN=WI}');
-Error('\P{Is_JSN=WI}');
-Error('\p{Jamo_Short_Name=EU}');
-Error('\P{Jamo_Short_Name=EU}');
-Error('\p{JSN=EU}');
-Error('\P{JSN=EU}');
-Error('\p{Is_Jamo_Short_Name=EU}');
-Error('\P{Is_Jamo_Short_Name=EU}');
-Error('\p{Is_JSN=EU}');
-Error('\P{Is_JSN=EU}');
-Error('\p{Jamo_Short_Name=LG}');
-Error('\P{Jamo_Short_Name=LG}');
-Error('\p{JSN=LG}');
-Error('\P{JSN=LG}');
-Error('\p{Is_Jamo_Short_Name=LG}');
-Error('\P{Is_Jamo_Short_Name=LG}');
-Error('\p{Is_JSN=LG}');
-Error('\P{Is_JSN=LG}');
-Error('\p{Jamo_Short_Name=L}');
-Error('\P{Jamo_Short_Name=L}');
-Error('\p{JSN=L}');
-Error('\P{JSN=L}');
-Error('\p{Is_Jamo_Short_Name:L}');
-Error('\P{Is_Jamo_Short_Name:L}');
-Error('\p{Is_JSN=L}');
-Error('\P{Is_JSN=L}');
-Error('\p{Jamo_Short_Name=P}');
-Error('\P{Jamo_Short_Name=P}');
-Error('\p{JSN=P}');
-Error('\P{JSN=P}');
-Error('\p{Is_Jamo_Short_Name=P}');
-Error('\P{Is_Jamo_Short_Name=P}');
-Error('\p{Is_JSN=P}');
-Error('\P{Is_JSN=P}');
-Error('\p{Jamo_Short_Name=DD}');
-Error('\P{Jamo_Short_Name=DD}');
-Error('\p{JSN=DD}');
-Error('\P{JSN=DD}');
-Error('\p{Is_Jamo_Short_Name=DD}');
-Error('\P{Is_Jamo_Short_Name=DD}');
-Error('\p{Is_JSN=DD}');
-Error('\P{Is_JSN=DD}');
-Error('\p{Jamo_Short_Name=NG}');
-Error('\P{Jamo_Short_Name=NG}');
-Error('\p{JSN=NG}');
-Error('\P{JSN=NG}');
-Error('\p{Is_Jamo_Short_Name=NG}');
-Error('\P{Is_Jamo_Short_Name=NG}');
-Error('\p{Is_JSN=NG}');
-Error('\P{Is_JSN=NG}');
-Error('\p{Jamo_Short_Name=AE}');
-Error('\P{Jamo_Short_Name=AE}');
-Error('\p{JSN=AE}');
-Error('\P{JSN=AE}');
-Error('\p{Is_Jamo_Short_Name=AE}');
-Error('\P{Is_Jamo_Short_Name=AE}');
-Error('\p{Is_JSN=AE}');
-Error('\P{Is_JSN=AE}');
-Error('\p{Jamo_Short_Name=T}');
-Error('\P{Jamo_Short_Name=T}');
-Error('\p{JSN: T}');
-Error('\P{JSN: T}');
-Error('\p{Is_Jamo_Short_Name=T}');
-Error('\P{Is_Jamo_Short_Name=T}');
-Error('\p{Is_JSN=T}');
-Error('\P{Is_JSN=T}');
-Error('\p{Jamo_Short_Name=A}');
-Error('\P{Jamo_Short_Name=A}');
-Error('\p{JSN=A}');
-Error('\P{JSN=A}');
-Error('\p{Is_Jamo_Short_Name=A}');
-Error('\P{Is_Jamo_Short_Name=A}');
-Error('\p{Is_JSN=A}');
-Error('\P{Is_JSN=A}');
-Error('\p{Jamo_Short_Name=N}');
-Error('\P{Jamo_Short_Name=N}');
-Error('\p{JSN=N}');
-Error('\P{JSN=N}');
-Error('\p{Is_Jamo_Short_Name=N}');
-Error('\P{Is_Jamo_Short_Name=N}');
-Error('\p{Is_JSN=N}');
-Error('\P{Is_JSN=N}');
-Error('\p{Jamo_Short_Name=YAE}');
-Error('\P{Jamo_Short_Name=YAE}');
-Error('\p{JSN=YAE}');
-Error('\P{JSN=YAE}');
-Error('\p{Is_Jamo_Short_Name=YAE}');
-Error('\P{Is_Jamo_Short_Name=YAE}');
-Error('\p{Is_JSN=YAE}');
-Error('\P{Is_JSN=YAE}');
-Error('\p{Jamo_Short_Name=U}');
-Error('\P{Jamo_Short_Name=U}');
-Error('\p{JSN=U}');
-Error('\P{JSN=U}');
-Error('\p{Is_Jamo_Short_Name=U}');
-Error('\P{Is_Jamo_Short_Name=U}');
-Error('\p{Is_JSN: U}');
-Error('\P{Is_JSN: U}');
-Error('\p{Jamo_Short_Name=WAE}');
-Error('\P{Jamo_Short_Name=WAE}');
-Error('\p{JSN=WAE}');
-Error('\P{JSN=WAE}');
-Error('\p{Is_Jamo_Short_Name=WAE}');
-Error('\P{Is_Jamo_Short_Name=WAE}');
-Error('\p{Is_JSN=WAE}');
-Error('\P{Is_JSN=WAE}');
-Error('\p{Jamo_Short_Name=GS}');
-Error('\P{Jamo_Short_Name=GS}');
-Error('\p{JSN=GS}');
-Error('\P{JSN=GS}');
-Error('\p{Is_Jamo_Short_Name=GS}');
-Error('\P{Is_Jamo_Short_Name=GS}');
-Error('\p{Is_JSN:GS}');
-Error('\P{Is_JSN:GS}');
-Error('\p{Jamo_Short_Name=H}');
-Error('\P{Jamo_Short_Name=H}');
-Error('\p{JSN=H}');
-Error('\P{JSN=H}');
-Error('\p{Is_Jamo_Short_Name=H}');
-Error('\P{Is_Jamo_Short_Name=H}');
-Error('\p{Is_JSN=H}');
-Error('\P{Is_JSN=H}');
-Error('\p{Jamo_Short_Name=LT}');
-Error('\P{Jamo_Short_Name=LT}');
-Error('\p{JSN=LT}');
-Error('\P{JSN=LT}');
-Error('\p{Is_Jamo_Short_Name=LT}');
-Error('\P{Is_Jamo_Short_Name=LT}');
-Error('\p{Is_JSN=LT}');
-Error('\P{Is_JSN=LT}');
-Error('\p{Jamo_Short_Name=YE}');
-Error('\P{Jamo_Short_Name=YE}');
-Error('\p{JSN=YE}');
-Error('\P{JSN=YE}');
-Error('\p{Is_Jamo_Short_Name: YE}');
-Error('\P{Is_Jamo_Short_Name: YE}');
-Error('\p{Is_JSN=YE}');
-Error('\P{Is_JSN=YE}');
-Error('\p{Jamo_Short_Name=I}');
-Error('\P{Jamo_Short_Name=I}');
-Error('\p{JSN=I}');
-Error('\P{JSN=I}');
-Error('\p{Is_Jamo_Short_Name: I}');
-Error('\P{Is_Jamo_Short_Name: I}');
-Error('\p{Is_JSN=I}');
-Error('\P{Is_JSN=I}');
-Error('\p{Jamo_Short_Name=R}');
-Error('\P{Jamo_Short_Name=R}');
-Error('\p{JSN=R}');
-Error('\P{JSN=R}');
-Error('\p{Is_Jamo_Short_Name=R}');
-Error('\P{Is_Jamo_Short_Name=R}');
-Error('\p{Is_JSN=R}');
-Error('\P{Is_JSN=R}');
-Error('\p{Jamo_Short_Name=O}');
-Error('\P{Jamo_Short_Name=O}');
-Error('\p{JSN=O}');
-Error('\P{JSN=O}');
-Error('\p{Is_Jamo_Short_Name=O}');
-Error('\P{Is_Jamo_Short_Name=O}');
-Error('\p{Is_JSN=O}');
-Error('\P{Is_JSN=O}');
-Error('\p{Age= 00-00 00 003.2/a/}');
-Error('\P{Age= 00-00 00 003.2/a/}');
-Expect(1, 544, '\p{Age=+003.2}', "");
-Expect(0, 544, '\p{^Age=+003.2}', "");
-Expect(0, 544, '\P{Age=+003.2}', "");
-Expect(1, 544, '\P{^Age=+003.2}', "");
-Expect(0, 543, '\p{Age=+003.2}', "");
-Expect(1, 543, '\p{^Age=+003.2}', "");
-Expect(1, 543, '\P{Age=+003.2}', "");
-Expect(0, 543, '\P{^Age=+003.2}', "");
-Error('\p{Is_Age: _-+00003.2/a/}');
-Error('\P{Is_Age: _-+00003.2/a/}');
-Expect(1, 544, '\p{Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(0, 544, '\p{^Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(0, 544, '\P{Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(1, 544, '\P{^Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(0, 543, '\p{Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(1, 543, '\p{^Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(1, 543, '\P{Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Expect(0, 543, '\P{^Is_Age: +0_0_0_0_0_0_0_003.2}', "");
-Error('\p{Age=_0_0-0 0/a/0_0_0-02.0}');
-Error('\P{Age=_0_0-0 0/a/0_0_0-02.0}');
-Expect(1, 1441, '\p{Age=+000_000_02.0}', "");
-Expect(0, 1441, '\p{^Age=+000_000_02.0}', "");
-Expect(0, 1441, '\P{Age=+000_000_02.0}', "");
-Expect(1, 1441, '\P{^Age=+000_000_02.0}', "");
-Expect(0, 1424, '\p{Age=+000_000_02.0}', "");
-Expect(1, 1424, '\p{^Age=+000_000_02.0}', "");
-Expect(1, 1424, '\P{Age=+000_000_02.0}', "");
-Expect(0, 1424, '\P{^Age=+000_000_02.0}', "");
-Error('\p{Is_Age= :=02.0}');
-Error('\P{Is_Age= :=02.0}');
-Expect(1, 1441, '\p{Is_Age=+0_0_0_0_002.0}', "");
-Expect(0, 1441, '\p{^Is_Age=+0_0_0_0_002.0}', "");
-Expect(0, 1441, '\P{Is_Age=+0_0_0_0_002.0}', "");
-Expect(1, 1441, '\P{^Is_Age=+0_0_0_0_002.0}', "");
-Expect(0, 1424, '\p{Is_Age=+0_0_0_0_002.0}', "");
-Expect(1, 1424, '\p{^Is_Age=+0_0_0_0_002.0}', "");
-Expect(1, 1424, '\P{Is_Age=+0_0_0_0_002.0}', "");
-Expect(0, 1424, '\P{^Is_Age=+0_0_0_0_002.0}', "");
-Error('\p{Age=_/a/000000001.1}');
-Error('\P{Age=_/a/000000001.1}');
-Expect(1, 501, '\p{Age=000_000_1.1}', "");
-Expect(0, 501, '\p{^Age=000_000_1.1}', "");
-Expect(0, 501, '\P{Age=000_000_1.1}', "");
-Expect(1, 501, '\P{^Age=000_000_1.1}', "");
-Expect(0, 505, '\p{Age=000_000_1.1}', "");
-Expect(1, 505, '\p{^Age=000_000_1.1}', "");
-Expect(1, 505, '\P{Age=000_000_1.1}', "");
-Expect(0, 505, '\P{^Age=000_000_1.1}', "");
-Error('\p{Is_Age=-_+00000001.1/a/}');
-Error('\P{Is_Age=-_+00000001.1/a/}');
-Expect(1, 501, '\p{Is_Age=0001.1}', "");
-Expect(0, 501, '\p{^Is_Age=0001.1}', "");
-Expect(0, 501, '\P{Is_Age=0001.1}', "");
-Expect(1, 501, '\P{^Is_Age=0001.1}', "");
-Expect(0, 505, '\p{Is_Age=0001.1}', "");
-Expect(1, 505, '\p{^Is_Age=0001.1}', "");
-Expect(1, 505, '\P{Is_Age=0001.1}', "");
-Expect(0, 505, '\P{^Is_Age=0001.1}', "");
-Error('\p{Age= /a/0005.0}');
-Error('\P{Age= /a/0005.0}');
-Expect(1, 591, '\p{Age=+00000005.0}', "");
-Expect(0, 591, '\p{^Age=+00000005.0}', "");
-Expect(0, 591, '\P{Age=+00000005.0}', "");
-Expect(1, 591, '\P{^Age=+00000005.0}', "");
-Expect(0, 577, '\p{Age=+00000005.0}', "");
-Expect(1, 577, '\p{^Age=+00000005.0}', "");
-Expect(1, 577, '\P{Age=+00000005.0}', "");
-Expect(0, 577, '\P{^Age=+00000005.0}', "");
-Error('\p{Is_Age= /a/+0000000 5.0}');
-Error('\P{Is_Age= /a/+0000000 5.0}');
-Expect(1, 591, '\p{Is_Age=5.0}', "");
-Expect(0, 591, '\p{^Is_Age=5.0}', "");
-Expect(0, 591, '\P{Is_Age=5.0}', "");
-Expect(1, 591, '\P{^Is_Age=5.0}', "");
-Expect(0, 577, '\p{Is_Age=5.0}', "");
-Expect(1, 577, '\p{^Is_Age=5.0}', "");
-Expect(1, 577, '\P{Is_Age=5.0}', "");
-Expect(0, 577, '\P{^Is_Age=5.0}', "");
-Error('\p{Age: := 0000003.0}');
-Error('\P{Age: := 0000003.0}');
-Expect(1, 505, '\p{Age=0000003.0}', "");
-Expect(0, 505, '\p{^Age=0000003.0}', "");
-Expect(0, 505, '\P{Age=0000003.0}', "");
-Expect(1, 505, '\P{^Age=0000003.0}', "");
-Expect(0, 501, '\p{Age=0000003.0}', "");
-Expect(1, 501, '\p{^Age=0000003.0}', "");
-Expect(1, 501, '\P{Age=0000003.0}', "");
-Expect(0, 501, '\P{^Age=0000003.0}', "");
-Error('\p{Is_Age=/a/ _0 0_03.0}');
-Error('\P{Is_Age=/a/ _0 0_03.0}');
-Expect(1, 505, '\p{Is_Age=3.0}', "");
-Expect(0, 505, '\p{^Is_Age=3.0}', "");
-Expect(0, 505, '\P{Is_Age=3.0}', "");
-Expect(1, 505, '\P{^Is_Age=3.0}', "");
-Expect(0, 501, '\p{Is_Age=3.0}', "");
-Expect(1, 501, '\p{^Is_Age=3.0}', "");
-Expect(1, 501, '\P{Is_Age=3.0}', "");
-Expect(0, 501, '\P{^Is_Age=3.0}', "");
-Error('\p{Age= /a/UNASSIGNED}');
-Error('\P{Age= /a/UNASSIGNED}');
-Expect(1, 889, '\p{Age=unassigned}', "");
-Expect(0, 889, '\p{^Age=unassigned}', "");
-Expect(0, 889, '\P{Age=unassigned}', "");
-Expect(1, 889, '\P{^Age=unassigned}', "");
-Expect(0, 887, '\p{Age=unassigned}', "");
-Expect(1, 887, '\p{^Age=unassigned}', "");
-Expect(1, 887, '\P{Age=unassigned}', "");
-Expect(0, 887, '\P{^Age=unassigned}', "");
-Expect(1, 889, '\p{Age=__UNASSIGNED}', "");
-Expect(0, 889, '\p{^Age=__UNASSIGNED}', "");
-Expect(0, 889, '\P{Age=__UNASSIGNED}', "");
-Expect(1, 889, '\P{^Age=__UNASSIGNED}', "");
-Expect(0, 887, '\p{Age=__UNASSIGNED}', "");
-Expect(1, 887, '\p{^Age=__UNASSIGNED}', "");
-Expect(1, 887, '\P{Age=__UNASSIGNED}', "");
-Expect(0, 887, '\P{^Age=__UNASSIGNED}', "");
-Error('\p{Is_Age= :=unassigned}');
-Error('\P{Is_Age= :=unassigned}');
-Expect(1, 889, '\p{Is_Age=unassigned}', "");
-Expect(0, 889, '\p{^Is_Age=unassigned}', "");
-Expect(0, 889, '\P{Is_Age=unassigned}', "");
-Expect(1, 889, '\P{^Is_Age=unassigned}', "");
-Expect(0, 887, '\p{Is_Age=unassigned}', "");
-Expect(1, 887, '\p{^Is_Age=unassigned}', "");
-Expect(1, 887, '\P{Is_Age=unassigned}', "");
-Expect(0, 887, '\P{^Is_Age=unassigned}', "");
-Expect(1, 889, '\p{Is_Age: Unassigned}', "");
-Expect(0, 889, '\p{^Is_Age: Unassigned}', "");
-Expect(0, 889, '\P{Is_Age: Unassigned}', "");
-Expect(1, 889, '\P{^Is_Age: Unassigned}', "");
-Expect(0, 887, '\p{Is_Age: Unassigned}', "");
-Expect(1, 887, '\p{^Is_Age: Unassigned}', "");
-Expect(1, 887, '\P{Is_Age: Unassigned}', "");
-Expect(0, 887, '\P{^Is_Age: Unassigned}', "");
-Error('\p{Age=_+0-0 00 05.1:=}');
-Error('\P{Age=_+0-0 00 05.1:=}');
-Expect(1, 883, '\p{Age=0_0_0_005.1}', "");
-Expect(0, 883, '\p{^Age=0_0_0_005.1}', "");
-Expect(0, 883, '\P{Age=0_0_0_005.1}', "");
-Expect(1, 883, '\P{^Age=0_0_0_005.1}', "");
-Expect(0, 879, '\p{Age=0_0_0_005.1}', "");
-Expect(1, 879, '\p{^Age=0_0_0_005.1}', "");
-Expect(1, 879, '\P{Age=0_0_0_005.1}', "");
-Expect(0, 879, '\P{^Age=0_0_0_005.1}', "");
-Error('\p{Is_Age=/a/__5.1}');
-Error('\P{Is_Age=/a/__5.1}');
-Expect(1, 883, '\p{Is_Age=00000_5.1}', "");
-Expect(0, 883, '\p{^Is_Age=00000_5.1}', "");
-Expect(0, 883, '\P{Is_Age=00000_5.1}', "");
-Expect(1, 883, '\P{^Is_Age=00000_5.1}', "");
-Expect(0, 879, '\p{Is_Age=00000_5.1}', "");
-Expect(1, 879, '\p{^Is_Age=00000_5.1}', "");
-Expect(1, 879, '\P{Is_Age=00000_5.1}', "");
-Expect(0, 879, '\P{^Is_Age=00000_5.1}', "");
-Error('\p{Age= 0 00_0:=0_0004.0}');
-Error('\P{Age= 0 00_0:=0_0004.0}');
-Expect(1, 545, '\p{Age=00_00_4.0}', "");
-Expect(0, 545, '\p{^Age=00_00_4.0}', "");
-Expect(0, 545, '\P{Age=00_00_4.0}', "");
-Expect(1, 545, '\P{^Age=00_00_4.0}', "");
-Expect(0, 544, '\p{Age=00_00_4.0}', "");
-Expect(1, 544, '\p{^Age=00_00_4.0}', "");
-Expect(1, 544, '\P{Age=00_00_4.0}', "");
-Expect(0, 544, '\P{^Age=00_00_4.0}', "");
-Error('\p{Is_Age=/a/ _+0_4.0}');
-Error('\P{Is_Age=/a/ _+0_4.0}');
-Expect(1, 545, '\p{Is_Age=0000004.0}', "");
-Expect(0, 545, '\p{^Is_Age=0000004.0}', "");
-Expect(0, 545, '\P{Is_Age=0000004.0}', "");
-Expect(1, 545, '\P{^Is_Age=0000004.0}', "");
-Expect(0, 544, '\p{Is_Age=0000004.0}', "");
-Expect(1, 544, '\p{^Is_Age=0000004.0}', "");
-Expect(1, 544, '\P{Is_Age=0000004.0}', "");
-Expect(0, 544, '\P{^Is_Age=0000004.0}', "");
-Error('\p{Age=_0 0_0_0 005.2/a/}');
-Error('\P{Age=_0 0_0_0 005.2/a/}');
-Expect(1, 1317, '\p{Age=0_0_0_005.2}', "");
-Expect(0, 1317, '\p{^Age=0_0_0_005.2}', "");
-Expect(0, 1317, '\P{Age=0_0_0_005.2}', "");
-Expect(1, 1317, '\P{^Age=0_0_0_005.2}', "");
-Expect(0, 1315, '\p{Age=0_0_0_005.2}', "");
-Expect(1, 1315, '\p{^Age=0_0_0_005.2}', "");
-Expect(1, 1315, '\P{Age=0_0_0_005.2}', "");
-Expect(0, 1315, '\P{^Age=0_0_0_005.2}', "");
-Error('\p{Is_Age=_:=00 00_0005.2}');
-Error('\P{Is_Age=_:=00 00_0005.2}');
-Expect(1, 1317, '\p{Is_Age=+00005.2}', "");
-Expect(0, 1317, '\p{^Is_Age=+00005.2}', "");
-Expect(0, 1317, '\P{Is_Age=+00005.2}', "");
-Expect(1, 1317, '\P{^Is_Age=+00005.2}', "");
-Expect(0, 1315, '\p{Is_Age=+00005.2}', "");
-Expect(1, 1315, '\p{^Is_Age=+00005.2}', "");
-Expect(1, 1315, '\P{Is_Age=+00005.2}', "");
-Expect(0, 1315, '\P{^Is_Age=+00005.2}', "");
-Error('\p{Age=:=_0003.1}');
-Error('\P{Age=:=_0003.1}');
-Expect(1, 1013, '\p{Age=00_00_03.1}', "");
-Expect(0, 1013, '\p{^Age=00_00_03.1}', "");
-Expect(0, 1013, '\P{Age=00_00_03.1}', "");
-Expect(1, 1013, '\P{^Age=00_00_03.1}', "");
-Expect(0, 1011, '\p{Age=00_00_03.1}', "");
-Expect(1, 1011, '\p{^Age=00_00_03.1}', "");
-Expect(1, 1011, '\P{Age=00_00_03.1}', "");
-Expect(0, 1011, '\P{^Age=00_00_03.1}', "");
-Error('\p{Is_Age=/a/00 00 00-03.1}');
-Error('\P{Is_Age=/a/00 00 00-03.1}');
-Expect(1, 1013, '\p{Is_Age=000_3.1}', "");
-Expect(0, 1013, '\p{^Is_Age=000_3.1}', "");
-Expect(0, 1013, '\P{Is_Age=000_3.1}', "");
-Expect(1, 1013, '\P{^Is_Age=000_3.1}', "");
-Expect(0, 1011, '\p{Is_Age=000_3.1}', "");
-Expect(1, 1011, '\p{^Is_Age=000_3.1}', "");
-Expect(1, 1011, '\P{Is_Age=000_3.1}', "");
-Expect(0, 1011, '\P{^Is_Age=000_3.1}', "");
-Error('\p{Age=-00 2.1:=}');
-Error('\P{Age=-00 2.1:=}');
-Expect(1, 8364, '\p{Age=0_0_02.1}', "");
-Expect(0, 8364, '\p{^Age=0_0_02.1}', "");
-Expect(0, 8364, '\P{Age=0_0_02.1}', "");
-Expect(1, 8364, '\P{^Age=0_0_02.1}', "");
-Expect(0, 8363, '\p{Age=0_0_02.1}', "");
-Expect(1, 8363, '\p{^Age=0_0_02.1}', "");
-Expect(1, 8363, '\P{Age=0_0_02.1}', "");
-Expect(0, 8363, '\P{^Age=0_0_02.1}', "");
-Error('\p{Is_Age=- 0000000002.1:=}');
-Error('\P{Is_Age=- 0000000002.1:=}');
-Expect(1, 8364, '\p{Is_Age=0000000002.1}', "");
-Expect(0, 8364, '\p{^Is_Age=0000000002.1}', "");
-Expect(0, 8364, '\P{Is_Age=0000000002.1}', "");
-Expect(1, 8364, '\P{^Is_Age=0000000002.1}', "");
-Expect(0, 8363, '\p{Is_Age=0000000002.1}', "");
-Expect(1, 8363, '\p{^Is_Age=0000000002.1}', "");
-Expect(1, 8363, '\P{Is_Age=0000000002.1}', "");
-Expect(0, 8363, '\P{^Is_Age=0000000002.1}', "");
-Error('\p{Age=_004.1:=}');
-Error('\P{Age=_004.1:=}');
-Expect(1, 577, '\p{Age=+00000004.1}', "");
-Expect(0, 577, '\p{^Age=+00000004.1}', "");
-Expect(0, 577, '\P{Age=+00000004.1}', "");
-Expect(1, 577, '\P{^Age=+00000004.1}', "");
-Expect(0, 566, '\p{Age=+00000004.1}', "");
-Expect(1, 566, '\p{^Age=+00000004.1}', "");
-Expect(1, 566, '\P{Age=+00000004.1}', "");
-Expect(0, 566, '\P{^Age=+00000004.1}', "");
-Error('\p{Is_Age=--+0-0/a/0 0 00 0_004.1}');
-Error('\P{Is_Age=--+0-0/a/0 0 00 0_004.1}');
-Expect(1, 577, '\p{Is_Age=+00004.1}', "");
-Expect(0, 577, '\p{^Is_Age=+00004.1}', "");
-Expect(0, 577, '\P{Is_Age=+00004.1}', "");
-Expect(1, 577, '\P{^Is_Age=+00004.1}', "");
-Expect(0, 566, '\p{Is_Age=+00004.1}', "");
-Expect(1, 566, '\p{^Is_Age=+00004.1}', "");
-Expect(1, 566, '\P{Is_Age=+00004.1}', "");
-Expect(0, 566, '\P{^Is_Age=+00004.1}', "");
-Error('\p{Expands_On_NFKD=Yes}');
-Error('\P{Expands_On_NFKD=Yes}');
-Error('\p{XO_NFKD=Y}');
-Error('\P{XO_NFKD=Y}');
-Error('\p{Is_Expands_On_NFKD=T}');
-Error('\P{Is_Expands_On_NFKD=T}');
-Error('\p{Is_XO_NFKD=True}');
-Error('\P{Is_XO_NFKD=True}');
-Error('\p{Expands_On_NFKD=No}');
-Error('\P{Expands_On_NFKD=No}');
-Error('\p{XO_NFKD=N}');
-Error('\P{XO_NFKD=N}');
-Error('\p{Is_Expands_On_NFKD=F}');
-Error('\P{Is_Expands_On_NFKD=F}');
-Error('\p{Is_XO_NFKD=False}');
-Error('\P{Is_XO_NFKD=False}');
-Error('\p{Grapheme_Cluster_Break=/a/--spacingmark}');
-Error('\P{Grapheme_Cluster_Break=/a/--spacingmark}');
-Expect(1, 2307, '\p{Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2307, '\p{^Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2307, '\P{Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2307, '\P{^Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2306, '\p{Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2306, '\p{^Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2306, '\P{Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2306, '\P{^Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2307, '\p{Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(0, 2307, '\p{^Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(0, 2307, '\P{Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(1, 2307, '\P{^Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(0, 2306, '\p{Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(1, 2306, '\p{^Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(1, 2306, '\P{Grapheme_Cluster_Break= -spacingmark}', "");
-Expect(0, 2306, '\P{^Grapheme_Cluster_Break= -spacingmark}', "");
-Error('\p{GCB=-SM:=}');
-Error('\P{GCB=-SM:=}');
-Expect(1, 2307, '\p{GCB: sm}', "");
-Expect(0, 2307, '\p{^GCB: sm}', "");
-Expect(0, 2307, '\P{GCB: sm}', "");
-Expect(1, 2307, '\P{^GCB: sm}', "");
-Expect(0, 2306, '\p{GCB: sm}', "");
-Expect(1, 2306, '\p{^GCB: sm}', "");
-Expect(1, 2306, '\P{GCB: sm}', "");
-Expect(0, 2306, '\P{^GCB: sm}', "");
-Expect(1, 2307, '\p{GCB= -SM}', "");
-Expect(0, 2307, '\p{^GCB= -SM}', "");
-Expect(0, 2307, '\P{GCB= -SM}', "");
-Expect(1, 2307, '\P{^GCB= -SM}', "");
-Expect(0, 2306, '\p{GCB= -SM}', "");
-Expect(1, 2306, '\p{^GCB= -SM}', "");
-Expect(1, 2306, '\P{GCB= -SM}', "");
-Expect(0, 2306, '\P{^GCB= -SM}', "");
-Error('\p{Is_Grapheme_Cluster_Break=-:=SpacingMark}');
-Error('\P{Is_Grapheme_Cluster_Break=-:=SpacingMark}');
-Expect(1, 2307, '\p{Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2307, '\p{^Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2307, '\P{Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2307, '\P{^Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2306, '\p{Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2306, '\p{^Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2306, '\P{Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(0, 2306, '\P{^Is_Grapheme_Cluster_Break=spacingmark}', "");
-Expect(1, 2307, '\p{Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(0, 2307, '\p{^Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(0, 2307, '\P{Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(1, 2307, '\P{^Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(0, 2306, '\p{Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(1, 2306, '\p{^Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(1, 2306, '\P{Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Expect(0, 2306, '\P{^Is_Grapheme_Cluster_Break=_ SPACINGMARK}', "");
-Error('\p{Is_GCB= /a/SM}');
-Error('\P{Is_GCB= /a/SM}');
-Expect(1, 2307, '\p{Is_GCB=sm}', "");
-Expect(0, 2307, '\p{^Is_GCB=sm}', "");
-Expect(0, 2307, '\P{Is_GCB=sm}', "");
-Expect(1, 2307, '\P{^Is_GCB=sm}', "");
-Expect(0, 2306, '\p{Is_GCB=sm}', "");
-Expect(1, 2306, '\p{^Is_GCB=sm}', "");
-Expect(1, 2306, '\P{Is_GCB=sm}', "");
-Expect(0, 2306, '\P{^Is_GCB=sm}', "");
-Expect(1, 2307, '\p{Is_GCB: SM}', "");
-Expect(0, 2307, '\p{^Is_GCB: SM}', "");
-Expect(0, 2307, '\P{Is_GCB: SM}', "");
-Expect(1, 2307, '\P{^Is_GCB: SM}', "");
-Expect(0, 2306, '\p{Is_GCB: SM}', "");
-Expect(1, 2306, '\p{^Is_GCB: SM}', "");
-Expect(1, 2306, '\P{Is_GCB: SM}', "");
-Expect(0, 2306, '\P{^Is_GCB: SM}', "");
-Error('\p{Grapheme_Cluster_Break=_/a/T}');
-Error('\P{Grapheme_Cluster_Break=_/a/T}');
-Expect(1, 4607, '\p{Grapheme_Cluster_Break=t}', "");
-Expect(0, 4607, '\p{^Grapheme_Cluster_Break=t}', "");
-Expect(0, 4607, '\P{Grapheme_Cluster_Break=t}', "");
-Expect(1, 4607, '\P{^Grapheme_Cluster_Break=t}', "");
-Expect(0, 4519, '\p{Grapheme_Cluster_Break=t}', "");
-Expect(1, 4519, '\p{^Grapheme_Cluster_Break=t}', "");
-Expect(1, 4519, '\P{Grapheme_Cluster_Break=t}', "");
-Expect(0, 4519, '\P{^Grapheme_Cluster_Break=t}', "");
-Expect(1, 4607, '\p{Grapheme_Cluster_Break=_-T}', "");
-Expect(0, 4607, '\p{^Grapheme_Cluster_Break=_-T}', "");
-Expect(0, 4607, '\P{Grapheme_Cluster_Break=_-T}', "");
-Expect(1, 4607, '\P{^Grapheme_Cluster_Break=_-T}', "");
-Expect(0, 4519, '\p{Grapheme_Cluster_Break=_-T}', "");
-Expect(1, 4519, '\p{^Grapheme_Cluster_Break=_-T}', "");
-Expect(1, 4519, '\P{Grapheme_Cluster_Break=_-T}', "");
-Expect(0, 4519, '\P{^Grapheme_Cluster_Break=_-T}', "");
-Error('\p{GCB=_/a/T}');
-Error('\P{GCB=_/a/T}');
-Expect(1, 4607, '\p{GCB=t}', "");
-Expect(0, 4607, '\p{^GCB=t}', "");
-Expect(0, 4607, '\P{GCB=t}', "");
-Expect(1, 4607, '\P{^GCB=t}', "");
-Expect(0, 4519, '\p{GCB=t}', "");
-Expect(1, 4519, '\p{^GCB=t}', "");
-Expect(1, 4519, '\P{GCB=t}', "");
-Expect(0, 4519, '\P{^GCB=t}', "");
-Expect(1, 4607, '\p{GCB: T}', "");
-Expect(0, 4607, '\p{^GCB: T}', "");
-Expect(0, 4607, '\P{GCB: T}', "");
-Expect(1, 4607, '\P{^GCB: T}', "");
-Expect(0, 4519, '\p{GCB: T}', "");
-Expect(1, 4519, '\p{^GCB: T}', "");
-Expect(1, 4519, '\P{GCB: T}', "");
-Expect(0, 4519, '\P{^GCB: T}', "");
-Error('\p{Is_Grapheme_Cluster_Break= /a/T}');
-Error('\P{Is_Grapheme_Cluster_Break= /a/T}');
-Expect(1, 4607, '\p{Is_Grapheme_Cluster_Break=t}', "");
-Expect(0, 4607, '\p{^Is_Grapheme_Cluster_Break=t}', "");
-Expect(0, 4607, '\P{Is_Grapheme_Cluster_Break=t}', "");
-Expect(1, 4607, '\P{^Is_Grapheme_Cluster_Break=t}', "");
-Expect(0, 4519, '\p{Is_Grapheme_Cluster_Break=t}', "");
-Expect(1, 4519, '\p{^Is_Grapheme_Cluster_Break=t}', "");
-Expect(1, 4519, '\P{Is_Grapheme_Cluster_Break=t}', "");
-Expect(0, 4519, '\P{^Is_Grapheme_Cluster_Break=t}', "");
-Expect(1, 4607, '\p{Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(0, 4607, '\p{^Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(0, 4607, '\P{Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(1, 4607, '\P{^Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(0, 4519, '\p{Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(1, 4519, '\p{^Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(1, 4519, '\P{Is_Grapheme_Cluster_Break=_-t}', "");
-Expect(0, 4519, '\P{^Is_Grapheme_Cluster_Break=_-t}', "");
-Error('\p{Is_GCB=-_T/a/}');
-Error('\P{Is_GCB=-_T/a/}');
-Expect(1, 4607, '\p{Is_GCB=t}', "");
-Expect(0, 4607, '\p{^Is_GCB=t}', "");
-Expect(0, 4607, '\P{Is_GCB=t}', "");
-Expect(1, 4607, '\P{^Is_GCB=t}', "");
-Expect(0, 4519, '\p{Is_GCB=t}', "");
-Expect(1, 4519, '\p{^Is_GCB=t}', "");
-Expect(1, 4519, '\P{Is_GCB=t}', "");
-Expect(0, 4519, '\P{^Is_GCB=t}', "");
-Expect(1, 4607, '\p{Is_GCB: __T}', "");
-Expect(0, 4607, '\p{^Is_GCB: __T}', "");
-Expect(0, 4607, '\P{Is_GCB: __T}', "");
-Expect(1, 4607, '\P{^Is_GCB: __T}', "");
-Expect(0, 4519, '\p{Is_GCB: __T}', "");
-Expect(1, 4519, '\p{^Is_GCB: __T}', "");
-Expect(1, 4519, '\P{Is_GCB: __T}', "");
-Expect(0, 4519, '\P{^Is_GCB: __T}', "");
-Error('\p{Grapheme_Cluster_Break: :=_ LVT}');
-Error('\P{Grapheme_Cluster_Break: :=_ LVT}');
-Expect(1, 44059, '\p{Grapheme_Cluster_Break=lvt}', "");
-Expect(0, 44059, '\p{^Grapheme_Cluster_Break=lvt}', "");
-Expect(0, 44059, '\P{Grapheme_Cluster_Break=lvt}', "");
-Expect(1, 44059, '\P{^Grapheme_Cluster_Break=lvt}', "");
-Expect(0, 44032, '\p{Grapheme_Cluster_Break=lvt}', "");
-Expect(1, 44032, '\p{^Grapheme_Cluster_Break=lvt}', "");
-Expect(1, 44032, '\P{Grapheme_Cluster_Break=lvt}', "");
-Expect(0, 44032, '\P{^Grapheme_Cluster_Break=lvt}', "");
-Expect(1, 44059, '\p{Grapheme_Cluster_Break= LVT}', "");
-Expect(0, 44059, '\p{^Grapheme_Cluster_Break= LVT}', "");
-Expect(0, 44059, '\P{Grapheme_Cluster_Break= LVT}', "");
-Expect(1, 44059, '\P{^Grapheme_Cluster_Break= LVT}', "");
-Expect(0, 44032, '\p{Grapheme_Cluster_Break= LVT}', "");
-Expect(1, 44032, '\p{^Grapheme_Cluster_Break= LVT}', "");
-Expect(1, 44032, '\P{Grapheme_Cluster_Break= LVT}', "");
-Expect(0, 44032, '\P{^Grapheme_Cluster_Break= LVT}', "");
-Error('\p{GCB=- lvt/a/}');
-Error('\P{GCB=- lvt/a/}');
-Expect(1, 44059, '\p{GCB=lvt}', "");
-Expect(0, 44059, '\p{^GCB=lvt}', "");
-Expect(0, 44059, '\P{GCB=lvt}', "");
-Expect(1, 44059, '\P{^GCB=lvt}', "");
-Expect(0, 44032, '\p{GCB=lvt}', "");
-Expect(1, 44032, '\p{^GCB=lvt}', "");
-Expect(1, 44032, '\P{GCB=lvt}', "");
-Expect(0, 44032, '\P{^GCB=lvt}', "");
-Expect(1, 44059, '\p{GCB=_-LVT}', "");
-Expect(0, 44059, '\p{^GCB=_-LVT}', "");
-Expect(0, 44059, '\P{GCB=_-LVT}', "");
-Expect(1, 44059, '\P{^GCB=_-LVT}', "");
-Expect(0, 44032, '\p{GCB=_-LVT}', "");
-Expect(1, 44032, '\p{^GCB=_-LVT}', "");
-Expect(1, 44032, '\P{GCB=_-LVT}', "");
-Expect(0, 44032, '\P{^GCB=_-LVT}', "");
-Error('\p{Is_Grapheme_Cluster_Break: LVT/a/}');
-Error('\P{Is_Grapheme_Cluster_Break: LVT/a/}');
-Expect(1, 44059, '\p{Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(0, 44059, '\p{^Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(0, 44059, '\P{Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(1, 44059, '\P{^Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(0, 44032, '\p{Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(1, 44032, '\p{^Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(1, 44032, '\P{Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(0, 44032, '\P{^Is_Grapheme_Cluster_Break: lvt}', "");
-Expect(1, 44059, '\p{Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(0, 44059, '\p{^Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(0, 44059, '\P{Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(1, 44059, '\P{^Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(0, 44032, '\p{Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(1, 44032, '\p{^Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(1, 44032, '\P{Is_Grapheme_Cluster_Break: --lvt}', "");
-Expect(0, 44032, '\P{^Is_Grapheme_Cluster_Break: --lvt}', "");
-Error('\p{Is_GCB=_/a/LVT}');
-Error('\P{Is_GCB=_/a/LVT}');
-Expect(1, 44059, '\p{Is_GCB: lvt}', "");
-Expect(0, 44059, '\p{^Is_GCB: lvt}', "");
-Expect(0, 44059, '\P{Is_GCB: lvt}', "");
-Expect(1, 44059, '\P{^Is_GCB: lvt}', "");
-Expect(0, 44032, '\p{Is_GCB: lvt}', "");
-Expect(1, 44032, '\p{^Is_GCB: lvt}', "");
-Expect(1, 44032, '\P{Is_GCB: lvt}', "");
-Expect(0, 44032, '\P{^Is_GCB: lvt}', "");
-Expect(1, 44059, '\p{Is_GCB= LVT}', "");
-Expect(0, 44059, '\p{^Is_GCB= LVT}', "");
-Expect(0, 44059, '\P{Is_GCB= LVT}', "");
-Expect(1, 44059, '\P{^Is_GCB= LVT}', "");
-Expect(0, 44032, '\p{Is_GCB= LVT}', "");
-Expect(1, 44032, '\p{^Is_GCB= LVT}', "");
-Expect(1, 44032, '\P{Is_GCB= LVT}', "");
-Expect(0, 44032, '\P{^Is_GCB= LVT}', "");
-Error('\p{Grapheme_Cluster_Break=:=_ control}');
-Error('\P{Grapheme_Cluster_Break=:=_ control}');
-Expect(1, 9, '\p{Grapheme_Cluster_Break=control}', "");
-Expect(0, 9, '\p{^Grapheme_Cluster_Break=control}', "");
-Expect(0, 9, '\P{Grapheme_Cluster_Break=control}', "");
-Expect(1, 9, '\P{^Grapheme_Cluster_Break=control}', "");
-Expect(0, 10, '\p{Grapheme_Cluster_Break=control}', "");
-Expect(1, 10, '\p{^Grapheme_Cluster_Break=control}', "");
-Expect(1, 10, '\P{Grapheme_Cluster_Break=control}', "");
-Expect(0, 10, '\P{^Grapheme_Cluster_Break=control}', "");
-Expect(1, 9, '\p{Grapheme_Cluster_Break: -Control}', "");
-Expect(0, 9, '\p{^Grapheme_Cluster_Break: -Control}', "");
-Expect(0, 9, '\P{Grapheme_Cluster_Break: -Control}', "");
-Expect(1, 9, '\P{^Grapheme_Cluster_Break: -Control}', "");
-Expect(0, 10, '\p{Grapheme_Cluster_Break: -Control}', "");
-Expect(1, 10, '\p{^Grapheme_Cluster_Break: -Control}', "");
-Expect(1, 10, '\P{Grapheme_Cluster_Break: -Control}', "");
-Expect(0, 10, '\P{^Grapheme_Cluster_Break: -Control}', "");
-Error('\p{GCB= :=CN}');
-Error('\P{GCB= :=CN}');
-Expect(1, 9, '\p{GCB=cn}', "");
-Expect(0, 9, '\p{^GCB=cn}', "");
-Expect(0, 9, '\P{GCB=cn}', "");
-Expect(1, 9, '\P{^GCB=cn}', "");
-Expect(0, 10, '\p{GCB=cn}', "");
-Expect(1, 10, '\p{^GCB=cn}', "");
-Expect(1, 10, '\P{GCB=cn}', "");
-Expect(0, 10, '\P{^GCB=cn}', "");
-Expect(1, 9, '\p{GCB: _cn}', "");
-Expect(0, 9, '\p{^GCB: _cn}', "");
-Expect(0, 9, '\P{GCB: _cn}', "");
-Expect(1, 9, '\P{^GCB: _cn}', "");
-Expect(0, 10, '\p{GCB: _cn}', "");
-Expect(1, 10, '\p{^GCB: _cn}', "");
-Expect(1, 10, '\P{GCB: _cn}', "");
-Expect(0, 10, '\P{^GCB: _cn}', "");
-Error('\p{Is_Grapheme_Cluster_Break: /a/ -CONTROL}');
-Error('\P{Is_Grapheme_Cluster_Break: /a/ -CONTROL}');
-Expect(1, 9, '\p{Is_Grapheme_Cluster_Break=control}', "");
-Expect(0, 9, '\p{^Is_Grapheme_Cluster_Break=control}', "");
-Expect(0, 9, '\P{Is_Grapheme_Cluster_Break=control}', "");
-Expect(1, 9, '\P{^Is_Grapheme_Cluster_Break=control}', "");
-Expect(0, 10, '\p{Is_Grapheme_Cluster_Break=control}', "");
-Expect(1, 10, '\p{^Is_Grapheme_Cluster_Break=control}', "");
-Expect(1, 10, '\P{Is_Grapheme_Cluster_Break=control}', "");
-Expect(0, 10, '\P{^Is_Grapheme_Cluster_Break=control}', "");
-Expect(1, 9, '\p{Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(0, 9, '\p{^Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(0, 9, '\P{Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(1, 9, '\P{^Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(0, 10, '\p{Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(1, 10, '\p{^Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(1, 10, '\P{Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Expect(0, 10, '\P{^Is_Grapheme_Cluster_Break=-CONTROL}', "");
-Error('\p{Is_GCB=_/a/cn}');
-Error('\P{Is_GCB=_/a/cn}');
-Expect(1, 9, '\p{Is_GCB=cn}', "");
-Expect(0, 9, '\p{^Is_GCB=cn}', "");
-Expect(0, 9, '\P{Is_GCB=cn}', "");
-Expect(1, 9, '\P{^Is_GCB=cn}', "");
-Expect(0, 10, '\p{Is_GCB=cn}', "");
-Expect(1, 10, '\p{^Is_GCB=cn}', "");
-Expect(1, 10, '\P{Is_GCB=cn}', "");
-Expect(0, 10, '\P{^Is_GCB=cn}', "");
-Expect(1, 9, '\p{Is_GCB=-CN}', "");
-Expect(0, 9, '\p{^Is_GCB=-CN}', "");
-Expect(0, 9, '\P{Is_GCB=-CN}', "");
-Expect(1, 9, '\P{^Is_GCB=-CN}', "");
-Expect(0, 10, '\p{Is_GCB=-CN}', "");
-Expect(1, 10, '\p{^Is_GCB=-CN}', "");
-Expect(1, 10, '\P{Is_GCB=-CN}', "");
-Expect(0, 10, '\P{^Is_GCB=-CN}', "");
-Error('\p{Grapheme_Cluster_Break= PREPEND:=}');
-Error('\P{Grapheme_Cluster_Break= PREPEND:=}');
-Expect(1, 3652, '\p{Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3652, '\p{^Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3652, '\P{Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3652, '\P{^Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3647, '\p{Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3647, '\p{^Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3647, '\P{Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3647, '\P{^Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3652, '\p{Grapheme_Cluster_Break= Prepend}', "");
-Expect(0, 3652, '\p{^Grapheme_Cluster_Break= Prepend}', "");
-Expect(0, 3652, '\P{Grapheme_Cluster_Break= Prepend}', "");
-Expect(1, 3652, '\P{^Grapheme_Cluster_Break= Prepend}', "");
-Expect(0, 3647, '\p{Grapheme_Cluster_Break= Prepend}', "");
-Expect(1, 3647, '\p{^Grapheme_Cluster_Break= Prepend}', "");
-Expect(1, 3647, '\P{Grapheme_Cluster_Break= Prepend}', "");
-Expect(0, 3647, '\P{^Grapheme_Cluster_Break= Prepend}', "");
-Error('\p{GCB=/a/-PP}');
-Error('\P{GCB=/a/-PP}');
-Expect(1, 3652, '\p{GCB: pp}', "");
-Expect(0, 3652, '\p{^GCB: pp}', "");
-Expect(0, 3652, '\P{GCB: pp}', "");
-Expect(1, 3652, '\P{^GCB: pp}', "");
-Expect(0, 3647, '\p{GCB: pp}', "");
-Expect(1, 3647, '\p{^GCB: pp}', "");
-Expect(1, 3647, '\P{GCB: pp}', "");
-Expect(0, 3647, '\P{^GCB: pp}', "");
-Expect(1, 3652, '\p{GCB=- PP}', "");
-Expect(0, 3652, '\p{^GCB=- PP}', "");
-Expect(0, 3652, '\P{GCB=- PP}', "");
-Expect(1, 3652, '\P{^GCB=- PP}', "");
-Expect(0, 3647, '\p{GCB=- PP}', "");
-Expect(1, 3647, '\p{^GCB=- PP}', "");
-Expect(1, 3647, '\P{GCB=- PP}', "");
-Expect(0, 3647, '\P{^GCB=- PP}', "");
-Error('\p{Is_Grapheme_Cluster_Break=:= prepend}');
-Error('\P{Is_Grapheme_Cluster_Break=:= prepend}');
-Expect(1, 3652, '\p{Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3652, '\p{^Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3652, '\P{Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3652, '\P{^Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3647, '\p{Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3647, '\p{^Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3647, '\P{Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(0, 3647, '\P{^Is_Grapheme_Cluster_Break=prepend}', "");
-Expect(1, 3652, '\p{Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(0, 3652, '\p{^Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(0, 3652, '\P{Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(1, 3652, '\P{^Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(0, 3647, '\p{Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(1, 3647, '\p{^Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(1, 3647, '\P{Is_Grapheme_Cluster_Break: Prepend}', "");
-Expect(0, 3647, '\P{^Is_Grapheme_Cluster_Break: Prepend}', "");
-Error('\p{Is_GCB: := pp}');
-Error('\P{Is_GCB: := pp}');
-Expect(1, 3652, '\p{Is_GCB: pp}', "");
-Expect(0, 3652, '\p{^Is_GCB: pp}', "");
-Expect(0, 3652, '\P{Is_GCB: pp}', "");
-Expect(1, 3652, '\P{^Is_GCB: pp}', "");
-Expect(0, 3647, '\p{Is_GCB: pp}', "");
-Expect(1, 3647, '\p{^Is_GCB: pp}', "");
-Expect(1, 3647, '\P{Is_GCB: pp}', "");
-Expect(0, 3647, '\P{^Is_GCB: pp}', "");
-Expect(1, 3652, '\p{Is_GCB= PP}', "");
-Expect(0, 3652, '\p{^Is_GCB= PP}', "");
-Expect(0, 3652, '\P{Is_GCB= PP}', "");
-Expect(1, 3652, '\P{^Is_GCB= PP}', "");
-Expect(0, 3647, '\p{Is_GCB= PP}', "");
-Expect(1, 3647, '\p{^Is_GCB= PP}', "");
-Expect(1, 3647, '\P{Is_GCB= PP}', "");
-Expect(0, 3647, '\P{^Is_GCB= PP}', "");
-Error('\p{Grapheme_Cluster_Break: :=LV}');
-Error('\P{Grapheme_Cluster_Break: :=LV}');
-Expect(1, 44032, '\p{Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44032, '\p{^Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44032, '\P{Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44032, '\P{^Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44031, '\p{Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44031, '\p{^Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44031, '\P{Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44031, '\P{^Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44032, '\p{Grapheme_Cluster_Break=__lv}', "");
-Expect(0, 44032, '\p{^Grapheme_Cluster_Break=__lv}', "");
-Expect(0, 44032, '\P{Grapheme_Cluster_Break=__lv}', "");
-Expect(1, 44032, '\P{^Grapheme_Cluster_Break=__lv}', "");
-Expect(0, 44031, '\p{Grapheme_Cluster_Break=__lv}', "");
-Expect(1, 44031, '\p{^Grapheme_Cluster_Break=__lv}', "");
-Expect(1, 44031, '\P{Grapheme_Cluster_Break=__lv}', "");
-Expect(0, 44031, '\P{^Grapheme_Cluster_Break=__lv}', "");
-Error('\p{GCB=/a/ LV}');
-Error('\P{GCB=/a/ LV}');
-Expect(1, 44032, '\p{GCB=lv}', "");
-Expect(0, 44032, '\p{^GCB=lv}', "");
-Expect(0, 44032, '\P{GCB=lv}', "");
-Expect(1, 44032, '\P{^GCB=lv}', "");
-Expect(0, 44031, '\p{GCB=lv}', "");
-Expect(1, 44031, '\p{^GCB=lv}', "");
-Expect(1, 44031, '\P{GCB=lv}', "");
-Expect(0, 44031, '\P{^GCB=lv}', "");
-Expect(1, 44032, '\p{GCB=_lv}', "");
-Expect(0, 44032, '\p{^GCB=_lv}', "");
-Expect(0, 44032, '\P{GCB=_lv}', "");
-Expect(1, 44032, '\P{^GCB=_lv}', "");
-Expect(0, 44031, '\p{GCB=_lv}', "");
-Expect(1, 44031, '\p{^GCB=_lv}', "");
-Expect(1, 44031, '\P{GCB=_lv}', "");
-Expect(0, 44031, '\P{^GCB=_lv}', "");
-Error('\p{Is_Grapheme_Cluster_Break=-/a/LV}');
-Error('\P{Is_Grapheme_Cluster_Break=-/a/LV}');
-Expect(1, 44032, '\p{Is_Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44032, '\p{^Is_Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44032, '\P{Is_Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44032, '\P{^Is_Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44031, '\p{Is_Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44031, '\p{^Is_Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44031, '\P{Is_Grapheme_Cluster_Break=lv}', "");
-Expect(0, 44031, '\P{^Is_Grapheme_Cluster_Break=lv}', "");
-Expect(1, 44032, '\p{Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(0, 44032, '\p{^Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(0, 44032, '\P{Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(1, 44032, '\P{^Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(0, 44031, '\p{Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(1, 44031, '\p{^Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(1, 44031, '\P{Is_Grapheme_Cluster_Break= -LV}', "");
-Expect(0, 44031, '\P{^Is_Grapheme_Cluster_Break= -LV}', "");
-Error('\p{Is_GCB= lv/a/}');
-Error('\P{Is_GCB= lv/a/}');
-Expect(1, 44032, '\p{Is_GCB=lv}', "");
-Expect(0, 44032, '\p{^Is_GCB=lv}', "");
-Expect(0, 44032, '\P{Is_GCB=lv}', "");
-Expect(1, 44032, '\P{^Is_GCB=lv}', "");
-Expect(0, 44031, '\p{Is_GCB=lv}', "");
-Expect(1, 44031, '\p{^Is_GCB=lv}', "");
-Expect(1, 44031, '\P{Is_GCB=lv}', "");
-Expect(0, 44031, '\P{^Is_GCB=lv}', "");
-Expect(1, 44032, '\p{Is_GCB= _LV}', "");
-Expect(0, 44032, '\p{^Is_GCB= _LV}', "");
-Expect(0, 44032, '\P{Is_GCB= _LV}', "");
-Expect(1, 44032, '\P{^Is_GCB= _LV}', "");
-Expect(0, 44031, '\p{Is_GCB= _LV}', "");
-Expect(1, 44031, '\p{^Is_GCB= _LV}', "");
-Expect(1, 44031, '\P{Is_GCB= _LV}', "");
-Expect(0, 44031, '\P{^Is_GCB= _LV}', "");
-Error('\p{Grapheme_Cluster_Break=_CR:=}');
-Error('\P{Grapheme_Cluster_Break=_CR:=}');
-Expect(1, 13, '\p{Grapheme_Cluster_Break=cr}', "");
-Expect(0, 13, '\p{^Grapheme_Cluster_Break=cr}', "");
-Expect(0, 13, '\P{Grapheme_Cluster_Break=cr}', "");
-Expect(1, 13, '\P{^Grapheme_Cluster_Break=cr}', "");
-Expect(0, 12, '\p{Grapheme_Cluster_Break=cr}', "");
-Expect(1, 12, '\p{^Grapheme_Cluster_Break=cr}', "");
-Expect(1, 12, '\P{Grapheme_Cluster_Break=cr}', "");
-Expect(0, 12, '\P{^Grapheme_Cluster_Break=cr}', "");
-Expect(1, 13, '\p{Grapheme_Cluster_Break: - CR}', "");
-Expect(0, 13, '\p{^Grapheme_Cluster_Break: - CR}', "");
-Expect(0, 13, '\P{Grapheme_Cluster_Break: - CR}', "");
-Expect(1, 13, '\P{^Grapheme_Cluster_Break: - CR}', "");
-Expect(0, 12, '\p{Grapheme_Cluster_Break: - CR}', "");
-Expect(1, 12, '\p{^Grapheme_Cluster_Break: - CR}', "");
-Expect(1, 12, '\P{Grapheme_Cluster_Break: - CR}', "");
-Expect(0, 12, '\P{^Grapheme_Cluster_Break: - CR}', "");
-Error('\p{GCB=/a/CR}');
-Error('\P{GCB=/a/CR}');
-Expect(1, 13, '\p{GCB=cr}', "");
-Expect(0, 13, '\p{^GCB=cr}', "");
-Expect(0, 13, '\P{GCB=cr}', "");
-Expect(1, 13, '\P{^GCB=cr}', "");
-Expect(0, 12, '\p{GCB=cr}', "");
-Expect(1, 12, '\p{^GCB=cr}', "");
-Expect(1, 12, '\P{GCB=cr}', "");
-Expect(0, 12, '\P{^GCB=cr}', "");
-Expect(1, 13, '\p{GCB=_ CR}', "");
-Expect(0, 13, '\p{^GCB=_ CR}', "");
-Expect(0, 13, '\P{GCB=_ CR}', "");
-Expect(1, 13, '\P{^GCB=_ CR}', "");
-Expect(0, 12, '\p{GCB=_ CR}', "");
-Expect(1, 12, '\p{^GCB=_ CR}', "");
-Expect(1, 12, '\P{GCB=_ CR}', "");
-Expect(0, 12, '\P{^GCB=_ CR}', "");
-Error('\p{Is_Grapheme_Cluster_Break= :=CR}');
-Error('\P{Is_Grapheme_Cluster_Break= :=CR}');
-Expect(1, 13, '\p{Is_Grapheme_Cluster_Break=cr}', "");
-Expect(0, 13, '\p{^Is_Grapheme_Cluster_Break=cr}', "");
-Expect(0, 13, '\P{Is_Grapheme_Cluster_Break=cr}', "");
-Expect(1, 13, '\P{^Is_Grapheme_Cluster_Break=cr}', "");
-Expect(0, 12, '\p{Is_Grapheme_Cluster_Break=cr}', "");
-Expect(1, 12, '\p{^Is_Grapheme_Cluster_Break=cr}', "");
-Expect(1, 12, '\P{Is_Grapheme_Cluster_Break=cr}', "");
-Expect(0, 12, '\P{^Is_Grapheme_Cluster_Break=cr}', "");
-Expect(1, 13, '\p{Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(0, 13, '\p{^Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(0, 13, '\P{Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(1, 13, '\P{^Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(0, 12, '\p{Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(1, 12, '\p{^Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(1, 12, '\P{Is_Grapheme_Cluster_Break=_-CR}', "");
-Expect(0, 12, '\P{^Is_Grapheme_Cluster_Break=_-CR}', "");
-Error('\p{Is_GCB=:=-CR}');
-Error('\P{Is_GCB=:=-CR}');
-Expect(1, 13, '\p{Is_GCB=cr}', "");
-Expect(0, 13, '\p{^Is_GCB=cr}', "");
-Expect(0, 13, '\P{Is_GCB=cr}', "");
-Expect(1, 13, '\P{^Is_GCB=cr}', "");
-Expect(0, 12, '\p{Is_GCB=cr}', "");
-Expect(1, 12, '\p{^Is_GCB=cr}', "");
-Expect(1, 12, '\P{Is_GCB=cr}', "");
-Expect(0, 12, '\P{^Is_GCB=cr}', "");
-Expect(1, 13, '\p{Is_GCB: CR}', "");
-Expect(0, 13, '\p{^Is_GCB: CR}', "");
-Expect(0, 13, '\P{Is_GCB: CR}', "");
-Expect(1, 13, '\P{^Is_GCB: CR}', "");
-Expect(0, 12, '\p{Is_GCB: CR}', "");
-Expect(1, 12, '\p{^Is_GCB: CR}', "");
-Expect(1, 12, '\P{Is_GCB: CR}', "");
-Expect(0, 12, '\P{^Is_GCB: CR}', "");
-Error('\p{Grapheme_Cluster_Break= other/a/}');
-Error('\P{Grapheme_Cluster_Break= other/a/}');
-Expect(1, 126, '\p{Grapheme_Cluster_Break: other}', "");
-Expect(0, 126, '\p{^Grapheme_Cluster_Break: other}', "");
-Expect(0, 126, '\P{Grapheme_Cluster_Break: other}', "");
-Expect(1, 126, '\P{^Grapheme_Cluster_Break: other}', "");
-Expect(0, 31, '\p{Grapheme_Cluster_Break: other}', "");
-Expect(1, 31, '\p{^Grapheme_Cluster_Break: other}', "");
-Expect(1, 31, '\P{Grapheme_Cluster_Break: other}', "");
-Expect(0, 31, '\P{^Grapheme_Cluster_Break: other}', "");
-Expect(1, 126, '\p{Grapheme_Cluster_Break= Other}', "");
-Expect(0, 126, '\p{^Grapheme_Cluster_Break= Other}', "");
-Expect(0, 126, '\P{Grapheme_Cluster_Break= Other}', "");
-Expect(1, 126, '\P{^Grapheme_Cluster_Break= Other}', "");
-Expect(0, 31, '\p{Grapheme_Cluster_Break= Other}', "");
-Expect(1, 31, '\p{^Grapheme_Cluster_Break= Other}', "");
-Expect(1, 31, '\P{Grapheme_Cluster_Break= Other}', "");
-Expect(0, 31, '\P{^Grapheme_Cluster_Break= Other}', "");
-Error('\p{GCB=_ xx/a/}');
-Error('\P{GCB=_ xx/a/}');
-Expect(1, 126, '\p{GCB=xx}', "");
-Expect(0, 126, '\p{^GCB=xx}', "");
-Expect(0, 126, '\P{GCB=xx}', "");
-Expect(1, 126, '\P{^GCB=xx}', "");
-Expect(0, 31, '\p{GCB=xx}', "");
-Expect(1, 31, '\p{^GCB=xx}', "");
-Expect(1, 31, '\P{GCB=xx}', "");
-Expect(0, 31, '\P{^GCB=xx}', "");
-Expect(1, 126, '\p{GCB: XX}', "");
-Expect(0, 126, '\p{^GCB: XX}', "");
-Expect(0, 126, '\P{GCB: XX}', "");
-Expect(1, 126, '\P{^GCB: XX}', "");
-Expect(0, 31, '\p{GCB: XX}', "");
-Expect(1, 31, '\p{^GCB: XX}', "");
-Expect(1, 31, '\P{GCB: XX}', "");
-Expect(0, 31, '\P{^GCB: XX}', "");
-Error('\p{Is_Grapheme_Cluster_Break: _/a/Other}');
-Error('\P{Is_Grapheme_Cluster_Break: _/a/Other}');
-Expect(1, 126, '\p{Is_Grapheme_Cluster_Break=other}', "");
-Expect(0, 126, '\p{^Is_Grapheme_Cluster_Break=other}', "");
-Expect(0, 126, '\P{Is_Grapheme_Cluster_Break=other}', "");
-Expect(1, 126, '\P{^Is_Grapheme_Cluster_Break=other}', "");
-Expect(0, 31, '\p{Is_Grapheme_Cluster_Break=other}', "");
-Expect(1, 31, '\p{^Is_Grapheme_Cluster_Break=other}', "");
-Expect(1, 31, '\P{Is_Grapheme_Cluster_Break=other}', "");
-Expect(0, 31, '\P{^Is_Grapheme_Cluster_Break=other}', "");
-Expect(1, 126, '\p{Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(0, 126, '\p{^Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(0, 126, '\P{Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(1, 126, '\P{^Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(0, 31, '\p{Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(1, 31, '\p{^Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(1, 31, '\P{Is_Grapheme_Cluster_Break= -Other}', "");
-Expect(0, 31, '\P{^Is_Grapheme_Cluster_Break= -Other}', "");
-Error('\p{Is_GCB=:= XX}');
-Error('\P{Is_GCB=:= XX}');
-Expect(1, 126, '\p{Is_GCB=xx}', "");
-Expect(0, 126, '\p{^Is_GCB=xx}', "");
-Expect(0, 126, '\P{Is_GCB=xx}', "");
-Expect(1, 126, '\P{^Is_GCB=xx}', "");
-Expect(0, 31, '\p{Is_GCB=xx}', "");
-Expect(1, 31, '\p{^Is_GCB=xx}', "");
-Expect(1, 31, '\P{Is_GCB=xx}', "");
-Expect(0, 31, '\P{^Is_GCB=xx}', "");
-Expect(1, 126, '\p{Is_GCB= XX}', "");
-Expect(0, 126, '\p{^Is_GCB= XX}', "");
-Expect(0, 126, '\P{Is_GCB= XX}', "");
-Expect(1, 126, '\P{^Is_GCB= XX}', "");
-Expect(0, 31, '\p{Is_GCB= XX}', "");
-Expect(1, 31, '\p{^Is_GCB= XX}', "");
-Expect(1, 31, '\P{Is_GCB= XX}', "");
-Expect(0, 31, '\P{^Is_GCB= XX}', "");
-Error('\p{Grapheme_Cluster_Break= -Extend:=}');
-Error('\P{Grapheme_Cluster_Break= -Extend:=}');
-Expect(1, 879, '\p{Grapheme_Cluster_Break=extend}', "");
-Expect(0, 879, '\p{^Grapheme_Cluster_Break=extend}', "");
-Expect(0, 879, '\P{Grapheme_Cluster_Break=extend}', "");
-Expect(1, 879, '\P{^Grapheme_Cluster_Break=extend}', "");
-Expect(0, 767, '\p{Grapheme_Cluster_Break=extend}', "");
-Expect(1, 767, '\p{^Grapheme_Cluster_Break=extend}', "");
-Expect(1, 767, '\P{Grapheme_Cluster_Break=extend}', "");
-Expect(0, 767, '\P{^Grapheme_Cluster_Break=extend}', "");
-Expect(1, 879, '\p{Grapheme_Cluster_Break=-_Extend}', "");
-Expect(0, 879, '\p{^Grapheme_Cluster_Break=-_Extend}', "");
-Expect(0, 879, '\P{Grapheme_Cluster_Break=-_Extend}', "");
-Expect(1, 879, '\P{^Grapheme_Cluster_Break=-_Extend}', "");
-Expect(0, 767, '\p{Grapheme_Cluster_Break=-_Extend}', "");
-Expect(1, 767, '\p{^Grapheme_Cluster_Break=-_Extend}', "");
-Expect(1, 767, '\P{Grapheme_Cluster_Break=-_Extend}', "");
-Expect(0, 767, '\P{^Grapheme_Cluster_Break=-_Extend}', "");
-Error('\p{GCB=-:=ex}');
-Error('\P{GCB=-:=ex}');
-Expect(1, 879, '\p{GCB=ex}', "");
-Expect(0, 879, '\p{^GCB=ex}', "");
-Expect(0, 879, '\P{GCB=ex}', "");
-Expect(1, 879, '\P{^GCB=ex}', "");
-Expect(0, 767, '\p{GCB=ex}', "");
-Expect(1, 767, '\p{^GCB=ex}', "");
-Expect(1, 767, '\P{GCB=ex}', "");
-Expect(0, 767, '\P{^GCB=ex}', "");
-Expect(1, 879, '\p{GCB= -EX}', "");
-Expect(0, 879, '\p{^GCB= -EX}', "");
-Expect(0, 879, '\P{GCB= -EX}', "");
-Expect(1, 879, '\P{^GCB= -EX}', "");
-Expect(0, 767, '\p{GCB= -EX}', "");
-Expect(1, 767, '\p{^GCB= -EX}', "");
-Expect(1, 767, '\P{GCB= -EX}', "");
-Expect(0, 767, '\P{^GCB= -EX}', "");
-Error('\p{Is_Grapheme_Cluster_Break= extend/a/}');
-Error('\P{Is_Grapheme_Cluster_Break= extend/a/}');
-Expect(1, 879, '\p{Is_Grapheme_Cluster_Break=extend}', "");
-Expect(0, 879, '\p{^Is_Grapheme_Cluster_Break=extend}', "");
-Expect(0, 879, '\P{Is_Grapheme_Cluster_Break=extend}', "");
-Expect(1, 879, '\P{^Is_Grapheme_Cluster_Break=extend}', "");
-Expect(0, 767, '\p{Is_Grapheme_Cluster_Break=extend}', "");
-Expect(1, 767, '\p{^Is_Grapheme_Cluster_Break=extend}', "");
-Expect(1, 767, '\P{Is_Grapheme_Cluster_Break=extend}', "");
-Expect(0, 767, '\P{^Is_Grapheme_Cluster_Break=extend}', "");
-Expect(1, 879, '\p{Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(0, 879, '\p{^Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(0, 879, '\P{Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(1, 879, '\P{^Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(0, 767, '\p{Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(1, 767, '\p{^Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(1, 767, '\P{Is_Grapheme_Cluster_Break= -Extend}', "");
-Expect(0, 767, '\P{^Is_Grapheme_Cluster_Break= -Extend}', "");
-Error('\p{Is_GCB= :=ex}');
-Error('\P{Is_GCB= :=ex}');
-Expect(1, 879, '\p{Is_GCB=ex}', "");
-Expect(0, 879, '\p{^Is_GCB=ex}', "");
-Expect(0, 879, '\P{Is_GCB=ex}', "");
-Expect(1, 879, '\P{^Is_GCB=ex}', "");
-Expect(0, 767, '\p{Is_GCB=ex}', "");
-Expect(1, 767, '\p{^Is_GCB=ex}', "");
-Expect(1, 767, '\P{Is_GCB=ex}', "");
-Expect(0, 767, '\P{^Is_GCB=ex}', "");
-Expect(1, 879, '\p{Is_GCB: -_ex}', "");
-Expect(0, 879, '\p{^Is_GCB: -_ex}', "");
-Expect(0, 879, '\P{Is_GCB: -_ex}', "");
-Expect(1, 879, '\P{^Is_GCB: -_ex}', "");
-Expect(0, 767, '\p{Is_GCB: -_ex}', "");
-Expect(1, 767, '\p{^Is_GCB: -_ex}', "");
-Expect(1, 767, '\P{Is_GCB: -_ex}', "");
-Expect(0, 767, '\P{^Is_GCB: -_ex}', "");
-Error('\p{Grapheme_Cluster_Break=-v/a/}');
-Error('\P{Grapheme_Cluster_Break=-v/a/}');
-Expect(1, 4519, '\p{Grapheme_Cluster_Break=v}', "");
-Expect(0, 4519, '\p{^Grapheme_Cluster_Break=v}', "");
-Expect(0, 4519, '\P{Grapheme_Cluster_Break=v}', "");
-Expect(1, 4519, '\P{^Grapheme_Cluster_Break=v}', "");
-Expect(0, 4447, '\p{Grapheme_Cluster_Break=v}', "");
-Expect(1, 4447, '\p{^Grapheme_Cluster_Break=v}', "");
-Expect(1, 4447, '\P{Grapheme_Cluster_Break=v}', "");
-Expect(0, 4447, '\P{^Grapheme_Cluster_Break=v}', "");
-Expect(1, 4519, '\p{Grapheme_Cluster_Break= v}', "");
-Expect(0, 4519, '\p{^Grapheme_Cluster_Break= v}', "");
-Expect(0, 4519, '\P{Grapheme_Cluster_Break= v}', "");
-Expect(1, 4519, '\P{^Grapheme_Cluster_Break= v}', "");
-Expect(0, 4447, '\p{Grapheme_Cluster_Break= v}', "");
-Expect(1, 4447, '\p{^Grapheme_Cluster_Break= v}', "");
-Expect(1, 4447, '\P{Grapheme_Cluster_Break= v}', "");
-Expect(0, 4447, '\P{^Grapheme_Cluster_Break= v}', "");
-Error('\p{GCB=:= V}');
-Error('\P{GCB=:= V}');
-Expect(1, 4519, '\p{GCB=v}', "");
-Expect(0, 4519, '\p{^GCB=v}', "");
-Expect(0, 4519, '\P{GCB=v}', "");
-Expect(1, 4519, '\P{^GCB=v}', "");
-Expect(0, 4447, '\p{GCB=v}', "");
-Expect(1, 4447, '\p{^GCB=v}', "");
-Expect(1, 4447, '\P{GCB=v}', "");
-Expect(0, 4447, '\P{^GCB=v}', "");
-Expect(1, 4519, '\p{GCB= V}', "");
-Expect(0, 4519, '\p{^GCB= V}', "");
-Expect(0, 4519, '\P{GCB= V}', "");
-Expect(1, 4519, '\P{^GCB= V}', "");
-Expect(0, 4447, '\p{GCB= V}', "");
-Expect(1, 4447, '\p{^GCB= V}', "");
-Expect(1, 4447, '\P{GCB= V}', "");
-Expect(0, 4447, '\P{^GCB= V}', "");
-Error('\p{Is_Grapheme_Cluster_Break=:= V}');
-Error('\P{Is_Grapheme_Cluster_Break=:= V}');
-Expect(1, 4519, '\p{Is_Grapheme_Cluster_Break=v}', "");
-Expect(0, 4519, '\p{^Is_Grapheme_Cluster_Break=v}', "");
-Expect(0, 4519, '\P{Is_Grapheme_Cluster_Break=v}', "");
-Expect(1, 4519, '\P{^Is_Grapheme_Cluster_Break=v}', "");
-Expect(0, 4447, '\p{Is_Grapheme_Cluster_Break=v}', "");
-Expect(1, 4447, '\p{^Is_Grapheme_Cluster_Break=v}', "");
-Expect(1, 4447, '\P{Is_Grapheme_Cluster_Break=v}', "");
-Expect(0, 4447, '\P{^Is_Grapheme_Cluster_Break=v}', "");
-Expect(1, 4519, '\p{Is_Grapheme_Cluster_Break= V}', "");
-Expect(0, 4519, '\p{^Is_Grapheme_Cluster_Break= V}', "");
-Expect(0, 4519, '\P{Is_Grapheme_Cluster_Break= V}', "");
-Expect(1, 4519, '\P{^Is_Grapheme_Cluster_Break= V}', "");
-Expect(0, 4447, '\p{Is_Grapheme_Cluster_Break= V}', "");
-Expect(1, 4447, '\p{^Is_Grapheme_Cluster_Break= V}', "");
-Expect(1, 4447, '\P{Is_Grapheme_Cluster_Break= V}', "");
-Expect(0, 4447, '\P{^Is_Grapheme_Cluster_Break= V}', "");
-Error('\p{Is_GCB= :=v}');
-Error('\P{Is_GCB= :=v}');
-Expect(1, 4519, '\p{Is_GCB=v}', "");
-Expect(0, 4519, '\p{^Is_GCB=v}', "");
-Expect(0, 4519, '\P{Is_GCB=v}', "");
-Expect(1, 4519, '\P{^Is_GCB=v}', "");
-Expect(0, 4447, '\p{Is_GCB=v}', "");
-Expect(1, 4447, '\p{^Is_GCB=v}', "");
-Expect(1, 4447, '\P{Is_GCB=v}', "");
-Expect(0, 4447, '\P{^Is_GCB=v}', "");
-Expect(1, 4519, '\p{Is_GCB=- V}', "");
-Expect(0, 4519, '\p{^Is_GCB=- V}', "");
-Expect(0, 4519, '\P{Is_GCB=- V}', "");
-Expect(1, 4519, '\P{^Is_GCB=- V}', "");
-Expect(0, 4447, '\p{Is_GCB=- V}', "");
-Expect(1, 4447, '\p{^Is_GCB=- V}', "");
-Expect(1, 4447, '\P{Is_GCB=- V}', "");
-Expect(0, 4447, '\P{^Is_GCB=- V}', "");
-Error('\p{Grapheme_Cluster_Break=/a/ LF}');
-Error('\P{Grapheme_Cluster_Break=/a/ LF}');
-Expect(1, 10, '\p{Grapheme_Cluster_Break=lf}', "");
-Expect(0, 10, '\p{^Grapheme_Cluster_Break=lf}', "");
-Expect(0, 10, '\P{Grapheme_Cluster_Break=lf}', "");
-Expect(1, 10, '\P{^Grapheme_Cluster_Break=lf}', "");
-Expect(0, 9, '\p{Grapheme_Cluster_Break=lf}', "");
-Expect(1, 9, '\p{^Grapheme_Cluster_Break=lf}', "");
-Expect(1, 9, '\P{Grapheme_Cluster_Break=lf}', "");
-Expect(0, 9, '\P{^Grapheme_Cluster_Break=lf}', "");
-Expect(1, 10, '\p{Grapheme_Cluster_Break= -LF}', "");
-Expect(0, 10, '\p{^Grapheme_Cluster_Break= -LF}', "");
-Expect(0, 10, '\P{Grapheme_Cluster_Break= -LF}', "");
-Expect(1, 10, '\P{^Grapheme_Cluster_Break= -LF}', "");
-Expect(0, 9, '\p{Grapheme_Cluster_Break= -LF}', "");
-Expect(1, 9, '\p{^Grapheme_Cluster_Break= -LF}', "");
-Expect(1, 9, '\P{Grapheme_Cluster_Break= -LF}', "");
-Expect(0, 9, '\P{^Grapheme_Cluster_Break= -LF}', "");
-Error('\p{GCB=-:=LF}');
-Error('\P{GCB=-:=LF}');
-Expect(1, 10, '\p{GCB: lf}', "");
-Expect(0, 10, '\p{^GCB: lf}', "");
-Expect(0, 10, '\P{GCB: lf}', "");
-Expect(1, 10, '\P{^GCB: lf}', "");
-Expect(0, 9, '\p{GCB: lf}', "");
-Expect(1, 9, '\p{^GCB: lf}', "");
-Expect(1, 9, '\P{GCB: lf}', "");
-Expect(0, 9, '\P{^GCB: lf}', "");
-Expect(1, 10, '\p{GCB=- LF}', "");
-Expect(0, 10, '\p{^GCB=- LF}', "");
-Expect(0, 10, '\P{GCB=- LF}', "");
-Expect(1, 10, '\P{^GCB=- LF}', "");
-Expect(0, 9, '\p{GCB=- LF}', "");
-Expect(1, 9, '\p{^GCB=- LF}', "");
-Expect(1, 9, '\P{GCB=- LF}', "");
-Expect(0, 9, '\P{^GCB=- LF}', "");
-Error('\p{Is_Grapheme_Cluster_Break= LF:=}');
-Error('\P{Is_Grapheme_Cluster_Break= LF:=}');
-Expect(1, 10, '\p{Is_Grapheme_Cluster_Break=lf}', "");
-Expect(0, 10, '\p{^Is_Grapheme_Cluster_Break=lf}', "");
-Expect(0, 10, '\P{Is_Grapheme_Cluster_Break=lf}', "");
-Expect(1, 10, '\P{^Is_Grapheme_Cluster_Break=lf}', "");
-Expect(0, 9, '\p{Is_Grapheme_Cluster_Break=lf}', "");
-Expect(1, 9, '\p{^Is_Grapheme_Cluster_Break=lf}', "");
-Expect(1, 9, '\P{Is_Grapheme_Cluster_Break=lf}', "");
-Expect(0, 9, '\P{^Is_Grapheme_Cluster_Break=lf}', "");
-Expect(1, 10, '\p{Is_Grapheme_Cluster_Break= lf}', "");
-Expect(0, 10, '\p{^Is_Grapheme_Cluster_Break= lf}', "");
-Expect(0, 10, '\P{Is_Grapheme_Cluster_Break= lf}', "");
-Expect(1, 10, '\P{^Is_Grapheme_Cluster_Break= lf}', "");
-Expect(0, 9, '\p{Is_Grapheme_Cluster_Break= lf}', "");
-Expect(1, 9, '\p{^Is_Grapheme_Cluster_Break= lf}', "");
-Expect(1, 9, '\P{Is_Grapheme_Cluster_Break= lf}', "");
-Expect(0, 9, '\P{^Is_Grapheme_Cluster_Break= lf}', "");
-Error('\p{Is_GCB= /a/LF}');
-Error('\P{Is_GCB= /a/LF}');
-Expect(1, 10, '\p{Is_GCB=lf}', "");
-Expect(0, 10, '\p{^Is_GCB=lf}', "");
-Expect(0, 10, '\P{Is_GCB=lf}', "");
-Expect(1, 10, '\P{^Is_GCB=lf}', "");
-Expect(0, 9, '\p{Is_GCB=lf}', "");
-Expect(1, 9, '\p{^Is_GCB=lf}', "");
-Expect(1, 9, '\P{Is_GCB=lf}', "");
-Expect(0, 9, '\P{^Is_GCB=lf}', "");
-Expect(1, 10, '\p{Is_GCB= LF}', "");
-Expect(0, 10, '\p{^Is_GCB= LF}', "");
-Expect(0, 10, '\P{Is_GCB= LF}', "");
-Expect(1, 10, '\P{^Is_GCB= LF}', "");
-Expect(0, 9, '\p{Is_GCB= LF}', "");
-Expect(1, 9, '\p{^Is_GCB= LF}', "");
-Expect(1, 9, '\P{Is_GCB= LF}', "");
-Expect(0, 9, '\P{^Is_GCB= LF}', "");
-Error('\p{Grapheme_Cluster_Break=/a/ L}');
-Error('\P{Grapheme_Cluster_Break=/a/ L}');
-Expect(1, 4447, '\p{Grapheme_Cluster_Break=l}', "");
-Expect(0, 4447, '\p{^Grapheme_Cluster_Break=l}', "");
-Expect(0, 4447, '\P{Grapheme_Cluster_Break=l}', "");
-Expect(1, 4447, '\P{^Grapheme_Cluster_Break=l}', "");
-Expect(0, 4351, '\p{Grapheme_Cluster_Break=l}', "");
-Expect(1, 4351, '\p{^Grapheme_Cluster_Break=l}', "");
-Expect(1, 4351, '\P{Grapheme_Cluster_Break=l}', "");
-Expect(0, 4351, '\P{^Grapheme_Cluster_Break=l}', "");
-Expect(1, 4447, '\p{Grapheme_Cluster_Break=-L}', "");
-Expect(0, 4447, '\p{^Grapheme_Cluster_Break=-L}', "");
-Expect(0, 4447, '\P{Grapheme_Cluster_Break=-L}', "");
-Expect(1, 4447, '\P{^Grapheme_Cluster_Break=-L}', "");
-Expect(0, 4351, '\p{Grapheme_Cluster_Break=-L}', "");
-Expect(1, 4351, '\p{^Grapheme_Cluster_Break=-L}', "");
-Expect(1, 4351, '\P{Grapheme_Cluster_Break=-L}', "");
-Expect(0, 4351, '\P{^Grapheme_Cluster_Break=-L}', "");
-Error('\p{GCB=-L:=}');
-Error('\P{GCB=-L:=}');
-Expect(1, 4447, '\p{GCB=l}', "");
-Expect(0, 4447, '\p{^GCB=l}', "");
-Expect(0, 4447, '\P{GCB=l}', "");
-Expect(1, 4447, '\P{^GCB=l}', "");
-Expect(0, 4351, '\p{GCB=l}', "");
-Expect(1, 4351, '\p{^GCB=l}', "");
-Expect(1, 4351, '\P{GCB=l}', "");
-Expect(0, 4351, '\P{^GCB=l}', "");
-Expect(1, 4447, '\p{GCB= l}', "");
-Expect(0, 4447, '\p{^GCB= l}', "");
-Expect(0, 4447, '\P{GCB= l}', "");
-Expect(1, 4447, '\P{^GCB= l}', "");
-Expect(0, 4351, '\p{GCB= l}', "");
-Expect(1, 4351, '\p{^GCB= l}', "");
-Expect(1, 4351, '\P{GCB= l}', "");
-Expect(0, 4351, '\P{^GCB= l}', "");
-Error('\p{Is_Grapheme_Cluster_Break= L:=}');
-Error('\P{Is_Grapheme_Cluster_Break= L:=}');
-Expect(1, 4447, '\p{Is_Grapheme_Cluster_Break=l}', "");
-Expect(0, 4447, '\p{^Is_Grapheme_Cluster_Break=l}', "");
-Expect(0, 4447, '\P{Is_Grapheme_Cluster_Break=l}', "");
-Expect(1, 4447, '\P{^Is_Grapheme_Cluster_Break=l}', "");
-Expect(0, 4351, '\p{Is_Grapheme_Cluster_Break=l}', "");
-Expect(1, 4351, '\p{^Is_Grapheme_Cluster_Break=l}', "");
-Expect(1, 4351, '\P{Is_Grapheme_Cluster_Break=l}', "");
-Expect(0, 4351, '\P{^Is_Grapheme_Cluster_Break=l}', "");
-Expect(1, 4447, '\p{Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(0, 4447, '\p{^Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(0, 4447, '\P{Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(1, 4447, '\P{^Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(0, 4351, '\p{Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(1, 4351, '\p{^Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(1, 4351, '\P{Is_Grapheme_Cluster_Break=_-L}', "");
-Expect(0, 4351, '\P{^Is_Grapheme_Cluster_Break=_-L}', "");
-Error('\p{Is_GCB= _L/a/}');
-Error('\P{Is_GCB= _L/a/}');
-Expect(1, 4447, '\p{Is_GCB=l}', "");
-Expect(0, 4447, '\p{^Is_GCB=l}', "");
-Expect(0, 4447, '\P{Is_GCB=l}', "");
-Expect(1, 4447, '\P{^Is_GCB=l}', "");
-Expect(0, 4351, '\p{Is_GCB=l}', "");
-Expect(1, 4351, '\p{^Is_GCB=l}', "");
-Expect(1, 4351, '\P{Is_GCB=l}', "");
-Expect(0, 4351, '\P{^Is_GCB=l}', "");
-Expect(1, 4447, '\p{Is_GCB= L}', "");
-Expect(0, 4447, '\p{^Is_GCB= L}', "");
-Expect(0, 4447, '\P{Is_GCB= L}', "");
-Expect(1, 4447, '\P{^Is_GCB= L}', "");
-Expect(0, 4351, '\p{Is_GCB= L}', "");
-Expect(1, 4351, '\p{^Is_GCB= L}', "");
-Expect(1, 4351, '\P{Is_GCB= L}', "");
-Expect(0, 4351, '\P{^Is_GCB= L}', "");
-Error('\p{Logical_Order_Exception=:=-Yes}');
-Error('\P{Logical_Order_Exception=:=-Yes}');
-Expect(1, 3652, '\p{Logical_Order_Exception=yes}', "");
-Expect(0, 3652, '\p{^Logical_Order_Exception=yes}', "");
-Expect(0, 3652, '\P{Logical_Order_Exception=yes}', "");
-Expect(1, 3652, '\P{^Logical_Order_Exception=yes}', "");
-Expect(0, 3647, '\p{Logical_Order_Exception=yes}', "");
-Expect(1, 3647, '\p{^Logical_Order_Exception=yes}', "");
-Expect(1, 3647, '\P{Logical_Order_Exception=yes}', "");
-Expect(0, 3647, '\P{^Logical_Order_Exception=yes}', "");
-Expect(1, 3652, '\p{Logical_Order_Exception: _yes}', "");
-Expect(0, 3652, '\p{^Logical_Order_Exception: _yes}', "");
-Expect(0, 3652, '\P{Logical_Order_Exception: _yes}', "");
-Expect(1, 3652, '\P{^Logical_Order_Exception: _yes}', "");
-Expect(0, 3647, '\p{Logical_Order_Exception: _yes}', "");
-Expect(1, 3647, '\p{^Logical_Order_Exception: _yes}', "");
-Expect(1, 3647, '\P{Logical_Order_Exception: _yes}', "");
-Expect(0, 3647, '\P{^Logical_Order_Exception: _yes}', "");
-Error('\p{LOE=_:=y}');
-Error('\P{LOE=_:=y}');
-Expect(1, 3652, '\p{LOE=y}', "");
-Expect(0, 3652, '\p{^LOE=y}', "");
-Expect(0, 3652, '\P{LOE=y}', "");
-Expect(1, 3652, '\P{^LOE=y}', "");
-Expect(0, 3647, '\p{LOE=y}', "");
-Expect(1, 3647, '\p{^LOE=y}', "");
-Expect(1, 3647, '\P{LOE=y}', "");
-Expect(0, 3647, '\P{^LOE=y}', "");
-Expect(1, 3652, '\p{LOE=-Y}', "");
-Expect(0, 3652, '\p{^LOE=-Y}', "");
-Expect(0, 3652, '\P{LOE=-Y}', "");
-Expect(1, 3652, '\P{^LOE=-Y}', "");
-Expect(0, 3647, '\p{LOE=-Y}', "");
-Expect(1, 3647, '\p{^LOE=-Y}', "");
-Expect(1, 3647, '\P{LOE=-Y}', "");
-Expect(0, 3647, '\P{^LOE=-Y}', "");
-Error('\p{Is_Logical_Order_Exception= /a/T}');
-Error('\P{Is_Logical_Order_Exception= /a/T}');
-Expect(1, 3652, '\p{Is_Logical_Order_Exception=t}', "");
-Expect(0, 3652, '\p{^Is_Logical_Order_Exception=t}', "");
-Expect(0, 3652, '\P{Is_Logical_Order_Exception=t}', "");
-Expect(1, 3652, '\P{^Is_Logical_Order_Exception=t}', "");
-Expect(0, 3647, '\p{Is_Logical_Order_Exception=t}', "");
-Expect(1, 3647, '\p{^Is_Logical_Order_Exception=t}', "");
-Expect(1, 3647, '\P{Is_Logical_Order_Exception=t}', "");
-Expect(0, 3647, '\P{^Is_Logical_Order_Exception=t}', "");
-Expect(1, 3652, '\p{Is_Logical_Order_Exception= -t}', "");
-Expect(0, 3652, '\p{^Is_Logical_Order_Exception= -t}', "");
-Expect(0, 3652, '\P{Is_Logical_Order_Exception= -t}', "");
-Expect(1, 3652, '\P{^Is_Logical_Order_Exception= -t}', "");
-Expect(0, 3647, '\p{Is_Logical_Order_Exception= -t}', "");
-Expect(1, 3647, '\p{^Is_Logical_Order_Exception= -t}', "");
-Expect(1, 3647, '\P{Is_Logical_Order_Exception= -t}', "");
-Expect(0, 3647, '\P{^Is_Logical_Order_Exception= -t}', "");
-Error('\p{Is_LOE=/a/ _True}');
-Error('\P{Is_LOE=/a/ _True}');
-Expect(1, 3652, '\p{Is_LOE=true}', "");
-Expect(0, 3652, '\p{^Is_LOE=true}', "");
-Expect(0, 3652, '\P{Is_LOE=true}', "");
-Expect(1, 3652, '\P{^Is_LOE=true}', "");
-Expect(0, 3647, '\p{Is_LOE=true}', "");
-Expect(1, 3647, '\p{^Is_LOE=true}', "");
-Expect(1, 3647, '\P{Is_LOE=true}', "");
-Expect(0, 3647, '\P{^Is_LOE=true}', "");
-Expect(1, 3652, '\p{Is_LOE=__True}', "");
-Expect(0, 3652, '\p{^Is_LOE=__True}', "");
-Expect(0, 3652, '\P{Is_LOE=__True}', "");
-Expect(1, 3652, '\P{^Is_LOE=__True}', "");
-Expect(0, 3647, '\p{Is_LOE=__True}', "");
-Expect(1, 3647, '\p{^Is_LOE=__True}', "");
-Expect(1, 3647, '\P{Is_LOE=__True}', "");
-Expect(0, 3647, '\P{^Is_LOE=__True}', "");
-Error('\p{Logical_Order_Exception= -No/a/}');
-Error('\P{Logical_Order_Exception= -No/a/}');
-Expect(1, 3647, '\p{Logical_Order_Exception=no}', "");
-Expect(0, 3647, '\p{^Logical_Order_Exception=no}', "");
-Expect(0, 3647, '\P{Logical_Order_Exception=no}', "");
-Expect(1, 3647, '\P{^Logical_Order_Exception=no}', "");
-Expect(0, 3652, '\p{Logical_Order_Exception=no}', "");
-Expect(1, 3652, '\p{^Logical_Order_Exception=no}', "");
-Expect(1, 3652, '\P{Logical_Order_Exception=no}', "");
-Expect(0, 3652, '\P{^Logical_Order_Exception=no}', "");
-Expect(1, 3647, '\p{Logical_Order_Exception: -No}', "");
-Expect(0, 3647, '\p{^Logical_Order_Exception: -No}', "");
-Expect(0, 3647, '\P{Logical_Order_Exception: -No}', "");
-Expect(1, 3647, '\P{^Logical_Order_Exception: -No}', "");
-Expect(0, 3652, '\p{Logical_Order_Exception: -No}', "");
-Expect(1, 3652, '\p{^Logical_Order_Exception: -No}', "");
-Expect(1, 3652, '\P{Logical_Order_Exception: -No}', "");
-Expect(0, 3652, '\P{^Logical_Order_Exception: -No}', "");
-Error('\p{LOE=_n/a/}');
-Error('\P{LOE=_n/a/}');
-Expect(1, 3647, '\p{LOE: n}', "");
-Expect(0, 3647, '\p{^LOE: n}', "");
-Expect(0, 3647, '\P{LOE: n}', "");
-Expect(1, 3647, '\P{^LOE: n}', "");
-Expect(0, 3652, '\p{LOE: n}', "");
-Expect(1, 3652, '\p{^LOE: n}', "");
-Expect(1, 3652, '\P{LOE: n}', "");
-Expect(0, 3652, '\P{^LOE: n}', "");
-Expect(1, 3647, '\p{LOE=_-N}', "");
-Expect(0, 3647, '\p{^LOE=_-N}', "");
-Expect(0, 3647, '\P{LOE=_-N}', "");
-Expect(1, 3647, '\P{^LOE=_-N}', "");
-Expect(0, 3652, '\p{LOE=_-N}', "");
-Expect(1, 3652, '\p{^LOE=_-N}', "");
-Expect(1, 3652, '\P{LOE=_-N}', "");
-Expect(0, 3652, '\P{^LOE=_-N}', "");
-Error('\p{Is_Logical_Order_Exception= F:=}');
-Error('\P{Is_Logical_Order_Exception= F:=}');
-Expect(1, 3647, '\p{Is_Logical_Order_Exception=f}', "");
-Expect(0, 3647, '\p{^Is_Logical_Order_Exception=f}', "");
-Expect(0, 3647, '\P{Is_Logical_Order_Exception=f}', "");
-Expect(1, 3647, '\P{^Is_Logical_Order_Exception=f}', "");
-Expect(0, 3652, '\p{Is_Logical_Order_Exception=f}', "");
-Expect(1, 3652, '\p{^Is_Logical_Order_Exception=f}', "");
-Expect(1, 3652, '\P{Is_Logical_Order_Exception=f}', "");
-Expect(0, 3652, '\P{^Is_Logical_Order_Exception=f}', "");
-Expect(1, 3647, '\p{Is_Logical_Order_Exception=F}', "");
-Expect(0, 3647, '\p{^Is_Logical_Order_Exception=F}', "");
-Expect(0, 3647, '\P{Is_Logical_Order_Exception=F}', "");
-Expect(1, 3647, '\P{^Is_Logical_Order_Exception=F}', "");
-Expect(0, 3652, '\p{Is_Logical_Order_Exception=F}', "");
-Expect(1, 3652, '\p{^Is_Logical_Order_Exception=F}', "");
-Expect(1, 3652, '\P{Is_Logical_Order_Exception=F}', "");
-Expect(0, 3652, '\P{^Is_Logical_Order_Exception=F}', "");
-Error('\p{Is_LOE= _False/a/}');
-Error('\P{Is_LOE= _False/a/}');
-Expect(1, 3647, '\p{Is_LOE:false}', "");
-Expect(0, 3647, '\p{^Is_LOE:false}', "");
-Expect(0, 3647, '\P{Is_LOE:false}', "");
-Expect(1, 3647, '\P{^Is_LOE:false}', "");
-Expect(0, 3652, '\p{Is_LOE:false}', "");
-Expect(1, 3652, '\p{^Is_LOE:false}', "");
-Expect(1, 3652, '\P{Is_LOE:false}', "");
-Expect(0, 3652, '\P{^Is_LOE:false}', "");
-Expect(1, 3647, '\p{Is_LOE=--False}', "");
-Expect(0, 3647, '\p{^Is_LOE=--False}', "");
-Expect(0, 3647, '\P{Is_LOE=--False}', "");
-Expect(1, 3647, '\P{^Is_LOE=--False}', "");
-Expect(0, 3652, '\p{Is_LOE=--False}', "");
-Expect(1, 3652, '\p{^Is_LOE=--False}', "");
-Expect(1, 3652, '\P{Is_LOE=--False}', "");
-Expect(0, 3652, '\P{^Is_LOE=--False}', "");
-Error('\p{Bidi_Mirrored=/a/yes}');
-Error('\P{Bidi_Mirrored=/a/yes}');
-Expect(1, 41, '\p{Bidi_Mirrored=yes}', "");
-Expect(0, 41, '\p{^Bidi_Mirrored=yes}', "");
-Expect(0, 41, '\P{Bidi_Mirrored=yes}', "");
-Expect(1, 41, '\P{^Bidi_Mirrored=yes}', "");
-Expect(0, 39, '\p{Bidi_Mirrored=yes}', "");
-Expect(1, 39, '\p{^Bidi_Mirrored=yes}', "");
-Expect(1, 39, '\P{Bidi_Mirrored=yes}', "");
-Expect(0, 39, '\P{^Bidi_Mirrored=yes}', "");
-Expect(1, 41, '\p{Bidi_Mirrored= -yes}', "");
-Expect(0, 41, '\p{^Bidi_Mirrored= -yes}', "");
-Expect(0, 41, '\P{Bidi_Mirrored= -yes}', "");
-Expect(1, 41, '\P{^Bidi_Mirrored= -yes}', "");
-Expect(0, 39, '\p{Bidi_Mirrored= -yes}', "");
-Expect(1, 39, '\p{^Bidi_Mirrored= -yes}', "");
-Expect(1, 39, '\P{Bidi_Mirrored= -yes}', "");
-Expect(0, 39, '\P{^Bidi_Mirrored= -yes}', "");
-Error('\p{Bidi_M: := -Y}');
-Error('\P{Bidi_M: := -Y}');
-Expect(1, 41, '\p{Bidi_M=y}', "");
-Expect(0, 41, '\p{^Bidi_M=y}', "");
-Expect(0, 41, '\P{Bidi_M=y}', "");
-Expect(1, 41, '\P{^Bidi_M=y}', "");
-Expect(0, 39, '\p{Bidi_M=y}', "");
-Expect(1, 39, '\p{^Bidi_M=y}', "");
-Expect(1, 39, '\P{Bidi_M=y}', "");
-Expect(0, 39, '\P{^Bidi_M=y}', "");
-Expect(1, 41, '\p{Bidi_M=_y}', "");
-Expect(0, 41, '\p{^Bidi_M=_y}', "");
-Expect(0, 41, '\P{Bidi_M=_y}', "");
-Expect(1, 41, '\P{^Bidi_M=_y}', "");
-Expect(0, 39, '\p{Bidi_M=_y}', "");
-Expect(1, 39, '\p{^Bidi_M=_y}', "");
-Expect(1, 39, '\P{Bidi_M=_y}', "");
-Expect(0, 39, '\P{^Bidi_M=_y}', "");
-Error('\p{Is_Bidi_Mirrored= T:=}');
-Error('\P{Is_Bidi_Mirrored= T:=}');
-Expect(1, 41, '\p{Is_Bidi_Mirrored=t}', "");
-Expect(0, 41, '\p{^Is_Bidi_Mirrored=t}', "");
-Expect(0, 41, '\P{Is_Bidi_Mirrored=t}', "");
-Expect(1, 41, '\P{^Is_Bidi_Mirrored=t}', "");
-Expect(0, 39, '\p{Is_Bidi_Mirrored=t}', "");
-Expect(1, 39, '\p{^Is_Bidi_Mirrored=t}', "");
-Expect(1, 39, '\P{Is_Bidi_Mirrored=t}', "");
-Expect(0, 39, '\P{^Is_Bidi_Mirrored=t}', "");
-Expect(1, 41, '\p{Is_Bidi_Mirrored=_ T}', "");
-Expect(0, 41, '\p{^Is_Bidi_Mirrored=_ T}', "");
-Expect(0, 41, '\P{Is_Bidi_Mirrored=_ T}', "");
-Expect(1, 41, '\P{^Is_Bidi_Mirrored=_ T}', "");
-Expect(0, 39, '\p{Is_Bidi_Mirrored=_ T}', "");
-Expect(1, 39, '\p{^Is_Bidi_Mirrored=_ T}', "");
-Expect(1, 39, '\P{Is_Bidi_Mirrored=_ T}', "");
-Expect(0, 39, '\P{^Is_Bidi_Mirrored=_ T}', "");
-Error('\p{Is_Bidi_M=_/a/True}');
-Error('\P{Is_Bidi_M=_/a/True}');
-Expect(1, 41, '\p{Is_Bidi_M=true}', "");
-Expect(0, 41, '\p{^Is_Bidi_M=true}', "");
-Expect(0, 41, '\P{Is_Bidi_M=true}', "");
-Expect(1, 41, '\P{^Is_Bidi_M=true}', "");
-Expect(0, 39, '\p{Is_Bidi_M=true}', "");
-Expect(1, 39, '\p{^Is_Bidi_M=true}', "");
-Expect(1, 39, '\P{Is_Bidi_M=true}', "");
-Expect(0, 39, '\P{^Is_Bidi_M=true}', "");
-Expect(1, 41, '\p{Is_Bidi_M=_ True}', "");
-Expect(0, 41, '\p{^Is_Bidi_M=_ True}', "");
-Expect(0, 41, '\P{Is_Bidi_M=_ True}', "");
-Expect(1, 41, '\P{^Is_Bidi_M=_ True}', "");
-Expect(0, 39, '\p{Is_Bidi_M=_ True}', "");
-Expect(1, 39, '\p{^Is_Bidi_M=_ True}', "");
-Expect(1, 39, '\P{Is_Bidi_M=_ True}', "");
-Expect(0, 39, '\P{^Is_Bidi_M=_ True}', "");
-Error('\p{Bidi_Mirrored= :=No}');
-Error('\P{Bidi_Mirrored= :=No}');
-Expect(1, 39, '\p{Bidi_Mirrored=no}', "");
-Expect(0, 39, '\p{^Bidi_Mirrored=no}', "");
-Expect(0, 39, '\P{Bidi_Mirrored=no}', "");
-Expect(1, 39, '\P{^Bidi_Mirrored=no}', "");
-Expect(0, 41, '\p{Bidi_Mirrored=no}', "");
-Expect(1, 41, '\p{^Bidi_Mirrored=no}', "");
-Expect(1, 41, '\P{Bidi_Mirrored=no}', "");
-Expect(0, 41, '\P{^Bidi_Mirrored=no}', "");
-Expect(1, 39, '\p{Bidi_Mirrored=__No}', "");
-Expect(0, 39, '\p{^Bidi_Mirrored=__No}', "");
-Expect(0, 39, '\P{Bidi_Mirrored=__No}', "");
-Expect(1, 39, '\P{^Bidi_Mirrored=__No}', "");
-Expect(0, 41, '\p{Bidi_Mirrored=__No}', "");
-Expect(1, 41, '\p{^Bidi_Mirrored=__No}', "");
-Expect(1, 41, '\P{Bidi_Mirrored=__No}', "");
-Expect(0, 41, '\P{^Bidi_Mirrored=__No}', "");
-Error('\p{Bidi_M= :=N}');
-Error('\P{Bidi_M= :=N}');
-Expect(1, 39, '\p{Bidi_M=n}', "");
-Expect(0, 39, '\p{^Bidi_M=n}', "");
-Expect(0, 39, '\P{Bidi_M=n}', "");
-Expect(1, 39, '\P{^Bidi_M=n}', "");
-Expect(0, 41, '\p{Bidi_M=n}', "");
-Expect(1, 41, '\p{^Bidi_M=n}', "");
-Expect(1, 41, '\P{Bidi_M=n}', "");
-Expect(0, 41, '\P{^Bidi_M=n}', "");
-Expect(1, 39, '\p{Bidi_M= N}', "");
-Expect(0, 39, '\p{^Bidi_M= N}', "");
-Expect(0, 39, '\P{Bidi_M= N}', "");
-Expect(1, 39, '\P{^Bidi_M= N}', "");
-Expect(0, 41, '\p{Bidi_M= N}', "");
-Expect(1, 41, '\p{^Bidi_M= N}', "");
-Expect(1, 41, '\P{Bidi_M= N}', "");
-Expect(0, 41, '\P{^Bidi_M= N}', "");
-Error('\p{Is_Bidi_Mirrored=/a/- F}');
-Error('\P{Is_Bidi_Mirrored=/a/- F}');
-Expect(1, 39, '\p{Is_Bidi_Mirrored=f}', "");
-Expect(0, 39, '\p{^Is_Bidi_Mirrored=f}', "");
-Expect(0, 39, '\P{Is_Bidi_Mirrored=f}', "");
-Expect(1, 39, '\P{^Is_Bidi_Mirrored=f}', "");
-Expect(0, 41, '\p{Is_Bidi_Mirrored=f}', "");
-Expect(1, 41, '\p{^Is_Bidi_Mirrored=f}', "");
-Expect(1, 41, '\P{Is_Bidi_Mirrored=f}', "");
-Expect(0, 41, '\P{^Is_Bidi_Mirrored=f}', "");
-Expect(1, 39, '\p{Is_Bidi_Mirrored=_f}', "");
-Expect(0, 39, '\p{^Is_Bidi_Mirrored=_f}', "");
-Expect(0, 39, '\P{Is_Bidi_Mirrored=_f}', "");
-Expect(1, 39, '\P{^Is_Bidi_Mirrored=_f}', "");
-Expect(0, 41, '\p{Is_Bidi_Mirrored=_f}', "");
-Expect(1, 41, '\p{^Is_Bidi_Mirrored=_f}', "");
-Expect(1, 41, '\P{Is_Bidi_Mirrored=_f}', "");
-Expect(0, 41, '\P{^Is_Bidi_Mirrored=_f}', "");
-Error('\p{Is_Bidi_M= FALSE/a/}');
-Error('\P{Is_Bidi_M= FALSE/a/}');
-Expect(1, 39, '\p{Is_Bidi_M=false}', "");
-Expect(0, 39, '\p{^Is_Bidi_M=false}', "");
-Expect(0, 39, '\P{Is_Bidi_M=false}', "");
-Expect(1, 39, '\P{^Is_Bidi_M=false}', "");
-Expect(0, 41, '\p{Is_Bidi_M=false}', "");
-Expect(1, 41, '\p{^Is_Bidi_M=false}', "");
-Expect(1, 41, '\P{Is_Bidi_M=false}', "");
-Expect(0, 41, '\P{^Is_Bidi_M=false}', "");
-Expect(1, 39, '\p{Is_Bidi_M: - False}', "");
-Expect(0, 39, '\p{^Is_Bidi_M: - False}', "");
-Expect(0, 39, '\P{Is_Bidi_M: - False}', "");
-Expect(1, 39, '\P{^Is_Bidi_M: - False}', "");
-Expect(0, 41, '\p{Is_Bidi_M: - False}', "");
-Expect(1, 41, '\p{^Is_Bidi_M: - False}', "");
-Expect(1, 41, '\P{Is_Bidi_M: - False}', "");
-Expect(0, 41, '\P{^Is_Bidi_M: - False}', "");
-Error('\p{Lowercase=:= YES}');
-Error('\P{Lowercase=:= YES}');
-Expect(1, 122, '\p{Lowercase=yes}', "");
-Expect(0, 122, '\p{^Lowercase=yes}', "");
-Expect(0, 122, '\P{Lowercase=yes}', "");
-Expect(1, 122, '\P{^Lowercase=yes}', "");
-Expect(0, 96, '\p{Lowercase=yes}', "");
-Expect(1, 96, '\p{^Lowercase=yes}', "");
-Expect(1, 96, '\P{Lowercase=yes}', "");
-Expect(0, 96, '\P{^Lowercase=yes}', "");
-Expect(1, 122, '\p{Lowercase= yes}', "");
-Expect(0, 122, '\p{^Lowercase= yes}', "");
-Expect(0, 122, '\P{Lowercase= yes}', "");
-Expect(1, 122, '\P{^Lowercase= yes}', "");
-Expect(0, 96, '\p{Lowercase= yes}', "");
-Expect(1, 96, '\p{^Lowercase= yes}', "");
-Expect(1, 96, '\P{Lowercase= yes}', "");
-Expect(0, 96, '\P{^Lowercase= yes}', "");
-Error('\p{Lower= Y/a/}');
-Error('\P{Lower= Y/a/}');
-Expect(1, 122, '\p{Lower=y}', "");
-Expect(0, 122, '\p{^Lower=y}', "");
-Expect(0, 122, '\P{Lower=y}', "");
-Expect(1, 122, '\P{^Lower=y}', "");
-Expect(0, 96, '\p{Lower=y}', "");
-Expect(1, 96, '\p{^Lower=y}', "");
-Expect(1, 96, '\P{Lower=y}', "");
-Expect(0, 96, '\P{^Lower=y}', "");
-Expect(1, 122, '\p{Lower: -Y}', "");
-Expect(0, 122, '\p{^Lower: -Y}', "");
-Expect(0, 122, '\P{Lower: -Y}', "");
-Expect(1, 122, '\P{^Lower: -Y}', "");
-Expect(0, 96, '\p{Lower: -Y}', "");
-Expect(1, 96, '\p{^Lower: -Y}', "");
-Expect(1, 96, '\P{Lower: -Y}', "");
-Expect(0, 96, '\P{^Lower: -Y}', "");
-Error('\p{Is_Lowercase= T:=}');
-Error('\P{Is_Lowercase= T:=}');
-Expect(1, 122, '\p{Is_Lowercase=t}', "");
-Expect(0, 122, '\p{^Is_Lowercase=t}', "");
-Expect(0, 122, '\P{Is_Lowercase=t}', "");
-Expect(1, 122, '\P{^Is_Lowercase=t}', "");
-Expect(0, 96, '\p{Is_Lowercase=t}', "");
-Expect(1, 96, '\p{^Is_Lowercase=t}', "");
-Expect(1, 96, '\P{Is_Lowercase=t}', "");
-Expect(0, 96, '\P{^Is_Lowercase=t}', "");
-Expect(1, 122, '\p{Is_Lowercase: -_T}', "");
-Expect(0, 122, '\p{^Is_Lowercase: -_T}', "");
-Expect(0, 122, '\P{Is_Lowercase: -_T}', "");
-Expect(1, 122, '\P{^Is_Lowercase: -_T}', "");
-Expect(0, 96, '\p{Is_Lowercase: -_T}', "");
-Expect(1, 96, '\p{^Is_Lowercase: -_T}', "");
-Expect(1, 96, '\P{Is_Lowercase: -_T}', "");
-Expect(0, 96, '\P{^Is_Lowercase: -_T}', "");
-Error('\p{Is_Lower=- True:=}');
-Error('\P{Is_Lower=- True:=}');
-Expect(1, 122, '\p{Is_Lower=true}', "");
-Expect(0, 122, '\p{^Is_Lower=true}', "");
-Expect(0, 122, '\P{Is_Lower=true}', "");
-Expect(1, 122, '\P{^Is_Lower=true}', "");
-Expect(0, 96, '\p{Is_Lower=true}', "");
-Expect(1, 96, '\p{^Is_Lower=true}', "");
-Expect(1, 96, '\P{Is_Lower=true}', "");
-Expect(0, 96, '\P{^Is_Lower=true}', "");
-Expect(1, 122, '\p{Is_Lower= _true}', "");
-Expect(0, 122, '\p{^Is_Lower= _true}', "");
-Expect(0, 122, '\P{Is_Lower= _true}', "");
-Expect(1, 122, '\P{^Is_Lower= _true}', "");
-Expect(0, 96, '\p{Is_Lower= _true}', "");
-Expect(1, 96, '\p{^Is_Lower= _true}', "");
-Expect(1, 96, '\P{Is_Lower= _true}', "");
-Expect(0, 96, '\P{^Is_Lower= _true}', "");
-Error('\p{Lowercase=-:=No}');
-Error('\P{Lowercase=-:=No}');
-Expect(1, 96, '\p{Lowercase=no}', "");
-Expect(0, 96, '\p{^Lowercase=no}', "");
-Expect(0, 96, '\P{Lowercase=no}', "");
-Expect(1, 96, '\P{^Lowercase=no}', "");
-Expect(0, 122, '\p{Lowercase=no}', "");
-Expect(1, 122, '\p{^Lowercase=no}', "");
-Expect(1, 122, '\P{Lowercase=no}', "");
-Expect(0, 122, '\P{^Lowercase=no}', "");
-Expect(1, 96, '\p{Lowercase=--No}', "");
-Expect(0, 96, '\p{^Lowercase=--No}', "");
-Expect(0, 96, '\P{Lowercase=--No}', "");
-Expect(1, 96, '\P{^Lowercase=--No}', "");
-Expect(0, 122, '\p{Lowercase=--No}', "");
-Expect(1, 122, '\p{^Lowercase=--No}', "");
-Expect(1, 122, '\P{Lowercase=--No}', "");
-Expect(0, 122, '\P{^Lowercase=--No}', "");
-Error('\p{Lower=/a/__N}');
-Error('\P{Lower=/a/__N}');
-Expect(1, 96, '\p{Lower=n}', "");
-Expect(0, 96, '\p{^Lower=n}', "");
-Expect(0, 96, '\P{Lower=n}', "");
-Expect(1, 96, '\P{^Lower=n}', "");
-Expect(0, 122, '\p{Lower=n}', "");
-Expect(1, 122, '\p{^Lower=n}', "");
-Expect(1, 122, '\P{Lower=n}', "");
-Expect(0, 122, '\P{^Lower=n}', "");
-Expect(1, 96, '\p{Lower= n}', "");
-Expect(0, 96, '\p{^Lower= n}', "");
-Expect(0, 96, '\P{Lower= n}', "");
-Expect(1, 96, '\P{^Lower= n}', "");
-Expect(0, 122, '\p{Lower= n}', "");
-Expect(1, 122, '\p{^Lower= n}', "");
-Expect(1, 122, '\P{Lower= n}', "");
-Expect(0, 122, '\P{^Lower= n}', "");
-Error('\p{Is_Lowercase=_F/a/}');
-Error('\P{Is_Lowercase=_F/a/}');
-Expect(1, 96, '\p{Is_Lowercase=f}', "");
-Expect(0, 96, '\p{^Is_Lowercase=f}', "");
-Expect(0, 96, '\P{Is_Lowercase=f}', "");
-Expect(1, 96, '\P{^Is_Lowercase=f}', "");
-Expect(0, 122, '\p{Is_Lowercase=f}', "");
-Expect(1, 122, '\p{^Is_Lowercase=f}', "");
-Expect(1, 122, '\P{Is_Lowercase=f}', "");
-Expect(0, 122, '\P{^Is_Lowercase=f}', "");
-Expect(1, 96, '\p{Is_Lowercase= F}', "");
-Expect(0, 96, '\p{^Is_Lowercase= F}', "");
-Expect(0, 96, '\P{Is_Lowercase= F}', "");
-Expect(1, 96, '\P{^Is_Lowercase= F}', "");
-Expect(0, 122, '\p{Is_Lowercase= F}', "");
-Expect(1, 122, '\p{^Is_Lowercase= F}', "");
-Expect(1, 122, '\P{Is_Lowercase= F}', "");
-Expect(0, 122, '\P{^Is_Lowercase= F}', "");
-Error('\p{Is_Lower= /a/FALSE}');
-Error('\P{Is_Lower= /a/FALSE}');
-Expect(1, 96, '\p{Is_Lower=false}', "");
-Expect(0, 96, '\p{^Is_Lower=false}', "");
-Expect(0, 96, '\P{Is_Lower=false}', "");
-Expect(1, 96, '\P{^Is_Lower=false}', "");
-Expect(0, 122, '\p{Is_Lower=false}', "");
-Expect(1, 122, '\p{^Is_Lower=false}', "");
-Expect(1, 122, '\P{Is_Lower=false}', "");
-Expect(0, 122, '\P{^Is_Lower=false}', "");
-Expect(1, 96, '\p{Is_Lower=- false}', "");
-Expect(0, 96, '\p{^Is_Lower=- false}', "");
-Expect(0, 96, '\P{Is_Lower=- false}', "");
-Expect(1, 96, '\P{^Is_Lower=- false}', "");
-Expect(0, 122, '\p{Is_Lower=- false}', "");
-Expect(1, 122, '\p{^Is_Lower=- false}', "");
-Expect(1, 122, '\P{Is_Lower=- false}', "");
-Expect(0, 122, '\P{^Is_Lower=- false}', "");
-Error('\p{Uppercase= YES/a/}');
-Error('\P{Uppercase= YES/a/}');
-Expect(1, 90, '\p{Uppercase=yes}', "");
-Expect(0, 90, '\p{^Uppercase=yes}', "");
-Expect(0, 90, '\P{Uppercase=yes}', "");
-Expect(1, 90, '\P{^Uppercase=yes}', "");
-Expect(0, 64, '\p{Uppercase=yes}', "");
-Expect(1, 64, '\p{^Uppercase=yes}', "");
-Expect(1, 64, '\P{Uppercase=yes}', "");
-Expect(0, 64, '\P{^Uppercase=yes}', "");
-Expect(1, 90, '\p{Uppercase= Yes}', "");
-Expect(0, 90, '\p{^Uppercase= Yes}', "");
-Expect(0, 90, '\P{Uppercase= Yes}', "");
-Expect(1, 90, '\P{^Uppercase= Yes}', "");
-Expect(0, 64, '\p{Uppercase= Yes}', "");
-Expect(1, 64, '\p{^Uppercase= Yes}', "");
-Expect(1, 64, '\P{Uppercase= Yes}', "");
-Expect(0, 64, '\P{^Uppercase= Yes}', "");
-Error('\p{Upper: :=Y}');
-Error('\P{Upper: :=Y}');
-Expect(1, 90, '\p{Upper=y}', "");
-Expect(0, 90, '\p{^Upper=y}', "");
-Expect(0, 90, '\P{Upper=y}', "");
-Expect(1, 90, '\P{^Upper=y}', "");
-Expect(0, 64, '\p{Upper=y}', "");
-Expect(1, 64, '\p{^Upper=y}', "");
-Expect(1, 64, '\P{Upper=y}', "");
-Expect(0, 64, '\P{^Upper=y}', "");
-Expect(1, 90, '\p{Upper= y}', "");
-Expect(0, 90, '\p{^Upper= y}', "");
-Expect(0, 90, '\P{Upper= y}', "");
-Expect(1, 90, '\P{^Upper= y}', "");
-Expect(0, 64, '\p{Upper= y}', "");
-Expect(1, 64, '\p{^Upper= y}', "");
-Expect(1, 64, '\P{Upper= y}', "");
-Expect(0, 64, '\P{^Upper= y}', "");
-Error('\p{Is_Uppercase=/a/__T}');
-Error('\P{Is_Uppercase=/a/__T}');
-Expect(1, 90, '\p{Is_Uppercase: t}', "");
-Expect(0, 90, '\p{^Is_Uppercase: t}', "");
-Expect(0, 90, '\P{Is_Uppercase: t}', "");
-Expect(1, 90, '\P{^Is_Uppercase: t}', "");
-Expect(0, 64, '\p{Is_Uppercase: t}', "");
-Expect(1, 64, '\p{^Is_Uppercase: t}', "");
-Expect(1, 64, '\P{Is_Uppercase: t}', "");
-Expect(0, 64, '\P{^Is_Uppercase: t}', "");
-Expect(1, 90, '\p{Is_Uppercase=_T}', "");
-Expect(0, 90, '\p{^Is_Uppercase=_T}', "");
-Expect(0, 90, '\P{Is_Uppercase=_T}', "");
-Expect(1, 90, '\P{^Is_Uppercase=_T}', "");
-Expect(0, 64, '\p{Is_Uppercase=_T}', "");
-Expect(1, 64, '\p{^Is_Uppercase=_T}', "");
-Expect(1, 64, '\P{Is_Uppercase=_T}', "");
-Expect(0, 64, '\P{^Is_Uppercase=_T}', "");
-Error('\p{Is_Upper=_/a/True}');
-Error('\P{Is_Upper=_/a/True}');
-Expect(1, 90, '\p{Is_Upper=true}', "");
-Expect(0, 90, '\p{^Is_Upper=true}', "");
-Expect(0, 90, '\P{Is_Upper=true}', "");
-Expect(1, 90, '\P{^Is_Upper=true}', "");
-Expect(0, 64, '\p{Is_Upper=true}', "");
-Expect(1, 64, '\p{^Is_Upper=true}', "");
-Expect(1, 64, '\P{Is_Upper=true}', "");
-Expect(0, 64, '\P{^Is_Upper=true}', "");
-Expect(1, 90, '\p{Is_Upper=_True}', "");
-Expect(0, 90, '\p{^Is_Upper=_True}', "");
-Expect(0, 90, '\P{Is_Upper=_True}', "");
-Expect(1, 90, '\P{^Is_Upper=_True}', "");
-Expect(0, 64, '\p{Is_Upper=_True}', "");
-Expect(1, 64, '\p{^Is_Upper=_True}', "");
-Expect(1, 64, '\P{Is_Upper=_True}', "");
-Expect(0, 64, '\P{^Is_Upper=_True}', "");
-Error('\p{Uppercase=/a/_ no}');
-Error('\P{Uppercase=/a/_ no}');
-Expect(1, 64, '\p{Uppercase=no}', "");
-Expect(0, 64, '\p{^Uppercase=no}', "");
-Expect(0, 64, '\P{Uppercase=no}', "");
-Expect(1, 64, '\P{^Uppercase=no}', "");
-Expect(0, 90, '\p{Uppercase=no}', "");
-Expect(1, 90, '\p{^Uppercase=no}', "");
-Expect(1, 90, '\P{Uppercase=no}', "");
-Expect(0, 90, '\P{^Uppercase=no}', "");
-Expect(1, 64, '\p{Uppercase= no}', "");
-Expect(0, 64, '\p{^Uppercase= no}', "");
-Expect(0, 64, '\P{Uppercase= no}', "");
-Expect(1, 64, '\P{^Uppercase= no}', "");
-Expect(0, 90, '\p{Uppercase= no}', "");
-Expect(1, 90, '\p{^Uppercase= no}', "");
-Expect(1, 90, '\P{Uppercase= no}', "");
-Expect(0, 90, '\P{^Uppercase= no}', "");
-Error('\p{Upper=__N:=}');
-Error('\P{Upper=__N:=}');
-Expect(1, 64, '\p{Upper=n}', "");
-Expect(0, 64, '\p{^Upper=n}', "");
-Expect(0, 64, '\P{Upper=n}', "");
-Expect(1, 64, '\P{^Upper=n}', "");
-Expect(0, 90, '\p{Upper=n}', "");
-Expect(1, 90, '\p{^Upper=n}', "");
-Expect(1, 90, '\P{Upper=n}', "");
-Expect(0, 90, '\P{^Upper=n}', "");
-Expect(1, 64, '\p{Upper: N}', "");
-Expect(0, 64, '\p{^Upper: N}', "");
-Expect(0, 64, '\P{Upper: N}', "");
-Expect(1, 64, '\P{^Upper: N}', "");
-Expect(0, 90, '\p{Upper: N}', "");
-Expect(1, 90, '\p{^Upper: N}', "");
-Expect(1, 90, '\P{Upper: N}', "");
-Expect(0, 90, '\P{^Upper: N}', "");
-Error('\p{Is_Uppercase=/a/F}');
-Error('\P{Is_Uppercase=/a/F}');
-Expect(1, 64, '\p{Is_Uppercase=f}', "");
-Expect(0, 64, '\p{^Is_Uppercase=f}', "");
-Expect(0, 64, '\P{Is_Uppercase=f}', "");
-Expect(1, 64, '\P{^Is_Uppercase=f}', "");
-Expect(0, 90, '\p{Is_Uppercase=f}', "");
-Expect(1, 90, '\p{^Is_Uppercase=f}', "");
-Expect(1, 90, '\P{Is_Uppercase=f}', "");
-Expect(0, 90, '\P{^Is_Uppercase=f}', "");
-Expect(1, 64, '\p{Is_Uppercase= -F}', "");
-Expect(0, 64, '\p{^Is_Uppercase= -F}', "");
-Expect(0, 64, '\P{Is_Uppercase= -F}', "");
-Expect(1, 64, '\P{^Is_Uppercase= -F}', "");
-Expect(0, 90, '\p{Is_Uppercase= -F}', "");
-Expect(1, 90, '\p{^Is_Uppercase= -F}', "");
-Expect(1, 90, '\P{Is_Uppercase= -F}', "");
-Expect(0, 90, '\P{^Is_Uppercase= -F}', "");
-Error('\p{Is_Upper= FALSE:=}');
-Error('\P{Is_Upper= FALSE:=}');
-Expect(1, 64, '\p{Is_Upper=false}', "");
-Expect(0, 64, '\p{^Is_Upper=false}', "");
-Expect(0, 64, '\P{Is_Upper=false}', "");
-Expect(1, 64, '\P{^Is_Upper=false}', "");
-Expect(0, 90, '\p{Is_Upper=false}', "");
-Expect(1, 90, '\p{^Is_Upper=false}', "");
-Expect(1, 90, '\P{Is_Upper=false}', "");
-Expect(0, 90, '\P{^Is_Upper=false}', "");
-Expect(1, 64, '\p{Is_Upper=_ False}', "");
-Expect(0, 64, '\p{^Is_Upper=_ False}', "");
-Expect(0, 64, '\P{Is_Upper=_ False}', "");
-Expect(1, 64, '\P{^Is_Upper=_ False}', "");
-Expect(0, 90, '\p{Is_Upper=_ False}', "");
-Expect(1, 90, '\p{^Is_Upper=_ False}', "");
-Expect(1, 90, '\P{Is_Upper=_ False}', "");
-Expect(0, 90, '\P{^Is_Upper=_ False}', "");
-Error('\p{Expands_On_NFKC=Yes}');
-Error('\P{Expands_On_NFKC=Yes}');
-Error('\p{XO_NFKC=Y}');
-Error('\P{XO_NFKC=Y}');
-Error('\p{Is_Expands_On_NFKC=T}');
-Error('\P{Is_Expands_On_NFKC=T}');
-Error('\p{Is_XO_NFKC=True}');
-Error('\P{Is_XO_NFKC=True}');
-Error('\p{Expands_On_NFKC: No}');
-Error('\P{Expands_On_NFKC: No}');
-Error('\p{XO_NFKC=N}');
-Error('\P{XO_NFKC=N}');
-Error('\p{Is_Expands_On_NFKC:F}');
-Error('\P{Is_Expands_On_NFKC:F}');
-Error('\p{Is_XO_NFKC: False}');
-Error('\P{Is_XO_NFKC: False}');
-Error('\p{NFD_Quick_Check=__YES/a/}');
-Error('\P{NFD_Quick_Check=__YES/a/}');
-Expect(1, 191, '\p{NFD_Quick_Check=yes}', "");
-Expect(0, 191, '\p{^NFD_Quick_Check=yes}', "");
-Expect(0, 191, '\P{NFD_Quick_Check=yes}', "");
-Expect(1, 191, '\P{^NFD_Quick_Check=yes}', "");
-Expect(0, 197, '\p{NFD_Quick_Check=yes}', "");
-Expect(1, 197, '\p{^NFD_Quick_Check=yes}', "");
-Expect(1, 197, '\P{NFD_Quick_Check=yes}', "");
-Expect(0, 197, '\P{^NFD_Quick_Check=yes}', "");
-Expect(1, 191, '\p{NFD_Quick_Check=- yes}', "");
-Expect(0, 191, '\p{^NFD_Quick_Check=- yes}', "");
-Expect(0, 191, '\P{NFD_Quick_Check=- yes}', "");
-Expect(1, 191, '\P{^NFD_Quick_Check=- yes}', "");
-Expect(0, 197, '\p{NFD_Quick_Check=- yes}', "");
-Expect(1, 197, '\p{^NFD_Quick_Check=- yes}', "");
-Expect(1, 197, '\P{NFD_Quick_Check=- yes}', "");
-Expect(0, 197, '\P{^NFD_Quick_Check=- yes}', "");
-Error('\p{NFD_QC: /a/Y}');
-Error('\P{NFD_QC: /a/Y}');
-Expect(1, 191, '\p{NFD_QC=y}', "");
-Expect(0, 191, '\p{^NFD_QC=y}', "");
-Expect(0, 191, '\P{NFD_QC=y}', "");
-Expect(1, 191, '\P{^NFD_QC=y}', "");
-Expect(0, 197, '\p{NFD_QC=y}', "");
-Expect(1, 197, '\p{^NFD_QC=y}', "");
-Expect(1, 197, '\P{NFD_QC=y}', "");
-Expect(0, 197, '\P{^NFD_QC=y}', "");
-Expect(1, 191, '\p{NFD_QC= _Y}', "");
-Expect(0, 191, '\p{^NFD_QC= _Y}', "");
-Expect(0, 191, '\P{NFD_QC= _Y}', "");
-Expect(1, 191, '\P{^NFD_QC= _Y}', "");
-Expect(0, 197, '\p{NFD_QC= _Y}', "");
-Expect(1, 197, '\p{^NFD_QC= _Y}', "");
-Expect(1, 197, '\P{NFD_QC= _Y}', "");
-Expect(0, 197, '\P{^NFD_QC= _Y}', "");
-Error('\p{Is_NFD_Quick_Check= Yes:=}');
-Error('\P{Is_NFD_Quick_Check= Yes:=}');
-Expect(1, 191, '\p{Is_NFD_Quick_Check=yes}', "");
-Expect(0, 191, '\p{^Is_NFD_Quick_Check=yes}', "");
-Expect(0, 191, '\P{Is_NFD_Quick_Check=yes}', "");
-Expect(1, 191, '\P{^Is_NFD_Quick_Check=yes}', "");
-Expect(0, 197, '\p{Is_NFD_Quick_Check=yes}', "");
-Expect(1, 197, '\p{^Is_NFD_Quick_Check=yes}', "");
-Expect(1, 197, '\P{Is_NFD_Quick_Check=yes}', "");
-Expect(0, 197, '\P{^Is_NFD_Quick_Check=yes}', "");
-Expect(1, 191, '\p{Is_NFD_Quick_Check= yes}', "");
-Expect(0, 191, '\p{^Is_NFD_Quick_Check= yes}', "");
-Expect(0, 191, '\P{Is_NFD_Quick_Check= yes}', "");
-Expect(1, 191, '\P{^Is_NFD_Quick_Check= yes}', "");
-Expect(0, 197, '\p{Is_NFD_Quick_Check= yes}', "");
-Expect(1, 197, '\p{^Is_NFD_Quick_Check= yes}', "");
-Expect(1, 197, '\P{Is_NFD_Quick_Check= yes}', "");
-Expect(0, 197, '\P{^Is_NFD_Quick_Check= yes}', "");
-Error('\p{Is_NFD_QC=/a/- Y}');
-Error('\P{Is_NFD_QC=/a/- Y}');
-Expect(1, 191, '\p{Is_NFD_QC=y}', "");
-Expect(0, 191, '\p{^Is_NFD_QC=y}', "");
-Expect(0, 191, '\P{Is_NFD_QC=y}', "");
-Expect(1, 191, '\P{^Is_NFD_QC=y}', "");
-Expect(0, 197, '\p{Is_NFD_QC=y}', "");
-Expect(1, 197, '\p{^Is_NFD_QC=y}', "");
-Expect(1, 197, '\P{Is_NFD_QC=y}', "");
-Expect(0, 197, '\P{^Is_NFD_QC=y}', "");
-Expect(1, 191, '\p{Is_NFD_QC= -Y}', "");
-Expect(0, 191, '\p{^Is_NFD_QC= -Y}', "");
-Expect(0, 191, '\P{Is_NFD_QC= -Y}', "");
-Expect(1, 191, '\P{^Is_NFD_QC= -Y}', "");
-Expect(0, 197, '\p{Is_NFD_QC= -Y}', "");
-Expect(1, 197, '\p{^Is_NFD_QC= -Y}', "");
-Expect(1, 197, '\P{Is_NFD_QC= -Y}', "");
-Expect(0, 197, '\P{^Is_NFD_QC= -Y}', "");
-Error('\p{NFD_Quick_Check=:=_ No}');
-Error('\P{NFD_Quick_Check=:=_ No}');
-Expect(1, 197, '\p{NFD_Quick_Check: no}', "");
-Expect(0, 197, '\p{^NFD_Quick_Check: no}', "");
-Expect(0, 197, '\P{NFD_Quick_Check: no}', "");
-Expect(1, 197, '\P{^NFD_Quick_Check: no}', "");
-Expect(0, 191, '\p{NFD_Quick_Check: no}', "");
-Expect(1, 191, '\p{^NFD_Quick_Check: no}', "");
-Expect(1, 191, '\P{NFD_Quick_Check: no}', "");
-Expect(0, 191, '\P{^NFD_Quick_Check: no}', "");
-Expect(1, 197, '\p{NFD_Quick_Check= NO}', "");
-Expect(0, 197, '\p{^NFD_Quick_Check= NO}', "");
-Expect(0, 197, '\P{NFD_Quick_Check= NO}', "");
-Expect(1, 197, '\P{^NFD_Quick_Check= NO}', "");
-Expect(0, 191, '\p{NFD_Quick_Check= NO}', "");
-Expect(1, 191, '\p{^NFD_Quick_Check= NO}', "");
-Expect(1, 191, '\P{NFD_Quick_Check= NO}', "");
-Expect(0, 191, '\P{^NFD_Quick_Check= NO}', "");
-Error('\p{NFD_QC= :=N}');
-Error('\P{NFD_QC= :=N}');
-Expect(1, 197, '\p{NFD_QC: n}', "");
-Expect(0, 197, '\p{^NFD_QC: n}', "");
-Expect(0, 197, '\P{NFD_QC: n}', "");
-Expect(1, 197, '\P{^NFD_QC: n}', "");
-Expect(0, 191, '\p{NFD_QC: n}', "");
-Expect(1, 191, '\p{^NFD_QC: n}', "");
-Expect(1, 191, '\P{NFD_QC: n}', "");
-Expect(0, 191, '\P{^NFD_QC: n}', "");
-Expect(1, 197, '\p{NFD_QC: _n}', "");
-Expect(0, 197, '\p{^NFD_QC: _n}', "");
-Expect(0, 197, '\P{NFD_QC: _n}', "");
-Expect(1, 197, '\P{^NFD_QC: _n}', "");
-Expect(0, 191, '\p{NFD_QC: _n}', "");
-Expect(1, 191, '\p{^NFD_QC: _n}', "");
-Expect(1, 191, '\P{NFD_QC: _n}', "");
-Expect(0, 191, '\P{^NFD_QC: _n}', "");
-Error('\p{Is_NFD_Quick_Check=/a/_no}');
-Error('\P{Is_NFD_Quick_Check=/a/_no}');
-Expect(1, 197, '\p{Is_NFD_Quick_Check=no}', "");
-Expect(0, 197, '\p{^Is_NFD_Quick_Check=no}', "");
-Expect(0, 197, '\P{Is_NFD_Quick_Check=no}', "");
-Expect(1, 197, '\P{^Is_NFD_Quick_Check=no}', "");
-Expect(0, 191, '\p{Is_NFD_Quick_Check=no}', "");
-Expect(1, 191, '\p{^Is_NFD_Quick_Check=no}', "");
-Expect(1, 191, '\P{Is_NFD_Quick_Check=no}', "");
-Expect(0, 191, '\P{^Is_NFD_Quick_Check=no}', "");
-Expect(1, 197, '\p{Is_NFD_Quick_Check:- No}', "");
-Expect(0, 197, '\p{^Is_NFD_Quick_Check:- No}', "");
-Expect(0, 197, '\P{Is_NFD_Quick_Check:- No}', "");
-Expect(1, 197, '\P{^Is_NFD_Quick_Check:- No}', "");
-Expect(0, 191, '\p{Is_NFD_Quick_Check:- No}', "");
-Expect(1, 191, '\p{^Is_NFD_Quick_Check:- No}', "");
-Expect(1, 191, '\P{Is_NFD_Quick_Check:- No}', "");
-Expect(0, 191, '\P{^Is_NFD_Quick_Check:- No}', "");
-Error('\p{Is_NFD_QC= :=N}');
-Error('\P{Is_NFD_QC= :=N}');
-Expect(1, 197, '\p{Is_NFD_QC=n}', "");
-Expect(0, 197, '\p{^Is_NFD_QC=n}', "");
-Expect(0, 197, '\P{Is_NFD_QC=n}', "");
-Expect(1, 197, '\P{^Is_NFD_QC=n}', "");
-Expect(0, 191, '\p{Is_NFD_QC=n}', "");
-Expect(1, 191, '\p{^Is_NFD_QC=n}', "");
-Expect(1, 191, '\P{Is_NFD_QC=n}', "");
-Expect(0, 191, '\P{^Is_NFD_QC=n}', "");
-Expect(1, 197, '\p{Is_NFD_QC=_ n}', "");
-Expect(0, 197, '\p{^Is_NFD_QC=_ n}', "");
-Expect(0, 197, '\P{Is_NFD_QC=_ n}', "");
-Expect(1, 197, '\P{^Is_NFD_QC=_ n}', "");
-Expect(0, 191, '\p{Is_NFD_QC=_ n}', "");
-Expect(1, 191, '\p{^Is_NFD_QC=_ n}', "");
-Expect(1, 191, '\P{Is_NFD_QC=_ n}', "");
-Expect(0, 191, '\P{^Is_NFD_QC=_ n}', "");
-Error('\p{Line_Break= -Space:=}');
-Error('\P{Line_Break= -Space:=}');
-Expect(1, 32, '\p{Line_Break: space}', "");
-Expect(0, 32, '\p{^Line_Break: space}', "");
-Expect(0, 32, '\P{Line_Break: space}', "");
-Expect(1, 32, '\P{^Line_Break: space}', "");
-Expect(0, 31, '\p{Line_Break: space}', "");
-Expect(1, 31, '\p{^Line_Break: space}', "");
-Expect(1, 31, '\P{Line_Break: space}', "");
-Expect(0, 31, '\P{^Line_Break: space}', "");
-Expect(1, 32, '\p{Line_Break= SPACE}', "");
-Expect(0, 32, '\p{^Line_Break= SPACE}', "");
-Expect(0, 32, '\P{Line_Break= SPACE}', "");
-Expect(1, 32, '\P{^Line_Break= SPACE}', "");
-Expect(0, 31, '\p{Line_Break= SPACE}', "");
-Expect(1, 31, '\p{^Line_Break= SPACE}', "");
-Expect(1, 31, '\P{Line_Break= SPACE}', "");
-Expect(0, 31, '\P{^Line_Break= SPACE}', "");
-Error('\p{Lb=:=- SP}');
-Error('\P{Lb=:=- SP}');
-Expect(1, 32, '\p{Lb=sp}', "");
-Expect(0, 32, '\p{^Lb=sp}', "");
-Expect(0, 32, '\P{Lb=sp}', "");
-Expect(1, 32, '\P{^Lb=sp}', "");
-Expect(0, 31, '\p{Lb=sp}', "");
-Expect(1, 31, '\p{^Lb=sp}', "");
-Expect(1, 31, '\P{Lb=sp}', "");
-Expect(0, 31, '\P{^Lb=sp}', "");
-Expect(1, 32, '\p{Lb: sp}', "");
-Expect(0, 32, '\p{^Lb: sp}', "");
-Expect(0, 32, '\P{Lb: sp}', "");
-Expect(1, 32, '\P{^Lb: sp}', "");
-Expect(0, 31, '\p{Lb: sp}', "");
-Expect(1, 31, '\p{^Lb: sp}', "");
-Expect(1, 31, '\P{Lb: sp}', "");
-Expect(0, 31, '\P{^Lb: sp}', "");
-Error('\p{Is_Line_Break=_:=Space}');
-Error('\P{Is_Line_Break=_:=Space}');
-Expect(1, 32, '\p{Is_Line_Break:space}', "");
-Expect(0, 32, '\p{^Is_Line_Break:space}', "");
-Expect(0, 32, '\P{Is_Line_Break:space}', "");
-Expect(1, 32, '\P{^Is_Line_Break:space}', "");
-Expect(0, 31, '\p{Is_Line_Break:space}', "");
-Expect(1, 31, '\p{^Is_Line_Break:space}', "");
-Expect(1, 31, '\P{Is_Line_Break:space}', "");
-Expect(0, 31, '\P{^Is_Line_Break:space}', "");
-Expect(1, 32, '\p{Is_Line_Break=--space}', "");
-Expect(0, 32, '\p{^Is_Line_Break=--space}', "");
-Expect(0, 32, '\P{Is_Line_Break=--space}', "");
-Expect(1, 32, '\P{^Is_Line_Break=--space}', "");
-Expect(0, 31, '\p{Is_Line_Break=--space}', "");
-Expect(1, 31, '\p{^Is_Line_Break=--space}', "");
-Expect(1, 31, '\P{Is_Line_Break=--space}', "");
-Expect(0, 31, '\P{^Is_Line_Break=--space}', "");
-Error('\p{Is_Lb=- sp:=}');
-Error('\P{Is_Lb=- sp:=}');
-Expect(1, 32, '\p{Is_Lb=sp}', "");
-Expect(0, 32, '\p{^Is_Lb=sp}', "");
-Expect(0, 32, '\P{Is_Lb=sp}', "");
-Expect(1, 32, '\P{^Is_Lb=sp}', "");
-Expect(0, 31, '\p{Is_Lb=sp}', "");
-Expect(1, 31, '\p{^Is_Lb=sp}', "");
-Expect(1, 31, '\P{Is_Lb=sp}', "");
-Expect(0, 31, '\P{^Is_Lb=sp}', "");
-Expect(1, 32, '\p{Is_Lb=SP}', "");
-Expect(0, 32, '\p{^Is_Lb=SP}', "");
-Expect(0, 32, '\P{Is_Lb=SP}', "");
-Expect(1, 32, '\P{^Is_Lb=SP}', "");
-Expect(0, 31, '\p{Is_Lb=SP}', "");
-Expect(1, 31, '\p{^Is_Lb=SP}', "");
-Expect(1, 31, '\P{Is_Lb=SP}', "");
-Expect(0, 31, '\P{^Is_Lb=SP}', "");
-Error('\p{Line_Break= -GLUE:=}');
-Error('\P{Line_Break= -GLUE:=}');
-Expect(1, 160, '\p{Line_Break=glue}', "");
-Expect(0, 160, '\p{^Line_Break=glue}', "");
-Expect(0, 160, '\P{Line_Break=glue}', "");
-Expect(1, 160, '\P{^Line_Break=glue}', "");
-Expect(0, 159, '\p{Line_Break=glue}', "");
-Expect(1, 159, '\p{^Line_Break=glue}', "");
-Expect(1, 159, '\P{Line_Break=glue}', "");
-Expect(0, 159, '\P{^Line_Break=glue}', "");
-Error('\p{Lb=:= GL}');
-Error('\P{Lb=:= GL}');
-Expect(1, 160, '\p{Lb=gl}', "");
-Expect(0, 160, '\p{^Lb=gl}', "");
-Expect(0, 160, '\P{Lb=gl}', "");
-Expect(1, 160, '\P{^Lb=gl}', "");
-Expect(0, 159, '\p{Lb=gl}', "");
-Expect(1, 159, '\p{^Lb=gl}', "");
-Expect(1, 159, '\P{Lb=gl}', "");
-Expect(0, 159, '\P{^Lb=gl}', "");
-Expect(1, 160, '\p{Lb=_-GL}', "");
-Expect(0, 160, '\p{^Lb=_-GL}', "");
-Expect(0, 160, '\P{Lb=_-GL}', "");
-Expect(1, 160, '\P{^Lb=_-GL}', "");
-Expect(0, 159, '\p{Lb=_-GL}', "");
-Expect(1, 159, '\p{^Lb=_-GL}', "");
-Expect(1, 159, '\P{Lb=_-GL}', "");
-Expect(0, 159, '\P{^Lb=_-GL}', "");
-Error('\p{Is_Line_Break=/a/ Glue}');
-Error('\P{Is_Line_Break=/a/ Glue}');
-Expect(1, 160, '\p{Is_Line_Break=glue}', "");
-Expect(0, 160, '\p{^Is_Line_Break=glue}', "");
-Expect(0, 160, '\P{Is_Line_Break=glue}', "");
-Expect(1, 160, '\P{^Is_Line_Break=glue}', "");
-Expect(0, 159, '\p{Is_Line_Break=glue}', "");
-Expect(1, 159, '\p{^Is_Line_Break=glue}', "");
-Expect(1, 159, '\P{Is_Line_Break=glue}', "");
-Expect(0, 159, '\P{^Is_Line_Break=glue}', "");
-Expect(1, 160, '\p{Is_Line_Break=_glue}', "");
-Expect(0, 160, '\p{^Is_Line_Break=_glue}', "");
-Expect(0, 160, '\P{Is_Line_Break=_glue}', "");
-Expect(1, 160, '\P{^Is_Line_Break=_glue}', "");
-Expect(0, 159, '\p{Is_Line_Break=_glue}', "");
-Expect(1, 159, '\p{^Is_Line_Break=_glue}', "");
-Expect(1, 159, '\P{Is_Line_Break=_glue}', "");
-Expect(0, 159, '\P{^Is_Line_Break=_glue}', "");
-Error('\p{Is_Lb=/a/_gl}');
-Error('\P{Is_Lb=/a/_gl}');
-Expect(1, 160, '\p{Is_Lb=gl}', "");
-Expect(0, 160, '\p{^Is_Lb=gl}', "");
-Expect(0, 160, '\P{Is_Lb=gl}', "");
-Expect(1, 160, '\P{^Is_Lb=gl}', "");
-Expect(0, 159, '\p{Is_Lb=gl}', "");
-Expect(1, 159, '\p{^Is_Lb=gl}', "");
-Expect(1, 159, '\P{Is_Lb=gl}', "");
-Expect(0, 159, '\P{^Is_Lb=gl}', "");
-Expect(1, 160, '\p{Is_Lb= GL}', "");
-Expect(0, 160, '\p{^Is_Lb= GL}', "");
-Expect(0, 160, '\P{Is_Lb= GL}', "");
-Expect(1, 160, '\P{^Is_Lb= GL}', "");
-Expect(0, 159, '\p{Is_Lb= GL}', "");
-Expect(1, 159, '\p{^Is_Lb= GL}', "");
-Expect(1, 159, '\P{Is_Lb= GL}', "");
-Expect(0, 159, '\P{^Is_Lb= GL}', "");
-Error('\p{Line_Break=/a/-SURROGATE}');
-Error('\P{Line_Break=/a/-SURROGATE}');
-Expect(0, 55295, '\p{Line_Break=surrogate}', 'deprecated');
-Expect(1, 55295, '\p{^Line_Break=surrogate}', 'deprecated');
-Expect(1, 55295, '\P{Line_Break=surrogate}', 'deprecated');
-Expect(0, 55295, '\P{^Line_Break=surrogate}', 'deprecated');
-Expect(0, 55295, '\p{Line_Break=-_SURROGATE}', 'deprecated');
-Expect(1, 55295, '\p{^Line_Break=-_SURROGATE}', 'deprecated');
-Expect(1, 55295, '\P{Line_Break=-_SURROGATE}', 'deprecated');
-Expect(0, 55295, '\P{^Line_Break=-_SURROGATE}', 'deprecated');
-Error('\p{Lb= SG:=}');
-Error('\P{Lb= SG:=}');
-Expect(0, 55295, '\p{Lb=sg}', 'deprecated');
-Expect(1, 55295, '\p{^Lb=sg}', 'deprecated');
-Expect(1, 55295, '\P{Lb=sg}', 'deprecated');
-Expect(0, 55295, '\P{^Lb=sg}', 'deprecated');
-Expect(0, 55295, '\p{Lb=--sg}', 'deprecated');
-Expect(1, 55295, '\p{^Lb=--sg}', 'deprecated');
-Expect(1, 55295, '\P{Lb=--sg}', 'deprecated');
-Expect(0, 55295, '\P{^Lb=--sg}', 'deprecated');
-Error('\p{Is_Line_Break=:= -Surrogate}');
-Error('\P{Is_Line_Break=:= -Surrogate}');
-Expect(0, 55295, '\p{Is_Line_Break: surrogate}', 'deprecated');
-Expect(1, 55295, '\p{^Is_Line_Break: surrogate}', 'deprecated');
-Expect(1, 55295, '\P{Is_Line_Break: surrogate}', 'deprecated');
-Expect(0, 55295, '\P{^Is_Line_Break: surrogate}', 'deprecated');
-Expect(0, 55295, '\p{Is_Line_Break: _Surrogate}', 'deprecated');
-Expect(1, 55295, '\p{^Is_Line_Break: _Surrogate}', 'deprecated');
-Expect(1, 55295, '\P{Is_Line_Break: _Surrogate}', 'deprecated');
-Expect(0, 55295, '\P{^Is_Line_Break: _Surrogate}', 'deprecated');
-Error('\p{Is_Lb=/a/SG}');
-Error('\P{Is_Lb=/a/SG}');
-Expect(0, 55295, '\p{Is_Lb=sg}', 'deprecated');
-Expect(1, 55295, '\p{^Is_Lb=sg}', 'deprecated');
-Expect(1, 55295, '\P{Is_Lb=sg}', 'deprecated');
-Expect(0, 55295, '\P{^Is_Lb=sg}', 'deprecated');
-Expect(0, 55295, '\p{Is_Lb=_SG}', 'deprecated');
-Expect(1, 55295, '\p{^Is_Lb=_SG}', 'deprecated');
-Expect(1, 55295, '\P{Is_Lb=_SG}', 'deprecated');
-Expect(0, 55295, '\P{^Is_Lb=_SG}', 'deprecated');
-Error('\p{Line_Break= Unknown:=}');
-Error('\P{Line_Break= Unknown:=}');
-Expect(1, 889, '\p{Line_Break=unknown}', "");
-Expect(0, 889, '\p{^Line_Break=unknown}', "");
-Expect(0, 889, '\P{Line_Break=unknown}', "");
-Expect(1, 889, '\P{^Line_Break=unknown}', "");
-Expect(0, 887, '\p{Line_Break=unknown}', "");
-Expect(1, 887, '\p{^Line_Break=unknown}', "");
-Expect(1, 887, '\P{Line_Break=unknown}', "");
-Expect(0, 887, '\P{^Line_Break=unknown}', "");
-Expect(1, 889, '\p{Line_Break=__UNKNOWN}', "");
-Expect(0, 889, '\p{^Line_Break=__UNKNOWN}', "");
-Expect(0, 889, '\P{Line_Break=__UNKNOWN}', "");
-Expect(1, 889, '\P{^Line_Break=__UNKNOWN}', "");
-Expect(0, 887, '\p{Line_Break=__UNKNOWN}', "");
-Expect(1, 887, '\p{^Line_Break=__UNKNOWN}', "");
-Expect(1, 887, '\P{Line_Break=__UNKNOWN}', "");
-Expect(0, 887, '\P{^Line_Break=__UNKNOWN}', "");
-Error('\p{Lb=/a/ XX}');
-Error('\P{Lb=/a/ XX}');
-Expect(1, 889, '\p{Lb: xx}', "");
-Expect(0, 889, '\p{^Lb: xx}', "");
-Expect(0, 889, '\P{Lb: xx}', "");
-Expect(1, 889, '\P{^Lb: xx}', "");
-Expect(0, 887, '\p{Lb: xx}', "");
-Expect(1, 887, '\p{^Lb: xx}', "");
-Expect(1, 887, '\P{Lb: xx}', "");
-Expect(0, 887, '\P{^Lb: xx}', "");
-Expect(1, 889, '\p{Lb= -xx}', "");
-Expect(0, 889, '\p{^Lb= -xx}', "");
-Expect(0, 889, '\P{Lb= -xx}', "");
-Expect(1, 889, '\P{^Lb= -xx}', "");
-Expect(0, 887, '\p{Lb= -xx}', "");
-Expect(1, 887, '\p{^Lb= -xx}', "");
-Expect(1, 887, '\P{Lb= -xx}', "");
-Expect(0, 887, '\P{^Lb= -xx}', "");
-Error('\p{Is_Line_Break= Unknown:=}');
-Error('\P{Is_Line_Break= Unknown:=}');
-Expect(1, 889, '\p{Is_Line_Break: unknown}', "");
-Expect(0, 889, '\p{^Is_Line_Break: unknown}', "");
-Expect(0, 889, '\P{Is_Line_Break: unknown}', "");
-Expect(1, 889, '\P{^Is_Line_Break: unknown}', "");
-Expect(0, 887, '\p{Is_Line_Break: unknown}', "");
-Expect(1, 887, '\p{^Is_Line_Break: unknown}', "");
-Expect(1, 887, '\P{Is_Line_Break: unknown}', "");
-Expect(0, 887, '\P{^Is_Line_Break: unknown}', "");
-Expect(1, 889, '\p{Is_Line_Break=_ UNKNOWN}', "");
-Expect(0, 889, '\p{^Is_Line_Break=_ UNKNOWN}', "");
-Expect(0, 889, '\P{Is_Line_Break=_ UNKNOWN}', "");
-Expect(1, 889, '\P{^Is_Line_Break=_ UNKNOWN}', "");
-Expect(0, 887, '\p{Is_Line_Break=_ UNKNOWN}', "");
-Expect(1, 887, '\p{^Is_Line_Break=_ UNKNOWN}', "");
-Expect(1, 887, '\P{Is_Line_Break=_ UNKNOWN}', "");
-Expect(0, 887, '\P{^Is_Line_Break=_ UNKNOWN}', "");
-Error('\p{Is_Lb= XX:=}');
-Error('\P{Is_Lb= XX:=}');
-Expect(1, 889, '\p{Is_Lb=xx}', "");
-Expect(0, 889, '\p{^Is_Lb=xx}', "");
-Expect(0, 889, '\P{Is_Lb=xx}', "");
-Expect(1, 889, '\P{^Is_Lb=xx}', "");
-Expect(0, 887, '\p{Is_Lb=xx}', "");
-Expect(1, 887, '\p{^Is_Lb=xx}', "");
-Expect(1, 887, '\P{Is_Lb=xx}', "");
-Expect(0, 887, '\P{^Is_Lb=xx}', "");
-Expect(1, 889, '\p{Is_Lb= -XX}', "");
-Expect(0, 889, '\p{^Is_Lb= -XX}', "");
-Expect(0, 889, '\P{Is_Lb= -XX}', "");
-Expect(1, 889, '\P{^Is_Lb= -XX}', "");
-Expect(0, 887, '\p{Is_Lb= -XX}', "");
-Expect(1, 887, '\p{^Is_Lb= -XX}', "");
-Expect(1, 887, '\P{Is_Lb= -XX}', "");
-Expect(0, 887, '\P{^Is_Lb= -XX}', "");
-Error('\p{Line_Break=_-Numeric:=}');
-Error('\P{Line_Break=_-Numeric:=}');
-Expect(1, 57, '\p{Line_Break=numeric}', "");
-Expect(0, 57, '\p{^Line_Break=numeric}', "");
-Expect(0, 57, '\P{Line_Break=numeric}', "");
-Expect(1, 57, '\P{^Line_Break=numeric}', "");
-Expect(0, 47, '\p{Line_Break=numeric}', "");
-Expect(1, 47, '\p{^Line_Break=numeric}', "");
-Expect(1, 47, '\P{Line_Break=numeric}', "");
-Expect(0, 47, '\P{^Line_Break=numeric}', "");
-Expect(1, 57, '\p{Line_Break=__Numeric}', "");
-Expect(0, 57, '\p{^Line_Break=__Numeric}', "");
-Expect(0, 57, '\P{Line_Break=__Numeric}', "");
-Expect(1, 57, '\P{^Line_Break=__Numeric}', "");
-Expect(0, 47, '\p{Line_Break=__Numeric}', "");
-Expect(1, 47, '\p{^Line_Break=__Numeric}', "");
-Expect(1, 47, '\P{Line_Break=__Numeric}', "");
-Expect(0, 47, '\P{^Line_Break=__Numeric}', "");
-Error('\p{Lb=-_NU/a/}');
-Error('\P{Lb=-_NU/a/}');
-Expect(1, 57, '\p{Lb: nu}', "");
-Expect(0, 57, '\p{^Lb: nu}', "");
-Expect(0, 57, '\P{Lb: nu}', "");
-Expect(1, 57, '\P{^Lb: nu}', "");
-Expect(0, 47, '\p{Lb: nu}', "");
-Expect(1, 47, '\p{^Lb: nu}', "");
-Expect(1, 47, '\P{Lb: nu}', "");
-Expect(0, 47, '\P{^Lb: nu}', "");
-Expect(1, 57, '\p{Lb: --NU}', "");
-Expect(0, 57, '\p{^Lb: --NU}', "");
-Expect(0, 57, '\P{Lb: --NU}', "");
-Expect(1, 57, '\P{^Lb: --NU}', "");
-Expect(0, 47, '\p{Lb: --NU}', "");
-Expect(1, 47, '\p{^Lb: --NU}', "");
-Expect(1, 47, '\P{Lb: --NU}', "");
-Expect(0, 47, '\P{^Lb: --NU}', "");
-Error('\p{Is_Line_Break=-:=Numeric}');
-Error('\P{Is_Line_Break=-:=Numeric}');
-Expect(1, 57, '\p{Is_Line_Break=numeric}', "");
-Expect(0, 57, '\p{^Is_Line_Break=numeric}', "");
-Expect(0, 57, '\P{Is_Line_Break=numeric}', "");
-Expect(1, 57, '\P{^Is_Line_Break=numeric}', "");
-Expect(0, 47, '\p{Is_Line_Break=numeric}', "");
-Expect(1, 47, '\p{^Is_Line_Break=numeric}', "");
-Expect(1, 47, '\P{Is_Line_Break=numeric}', "");
-Expect(0, 47, '\P{^Is_Line_Break=numeric}', "");
-Expect(1, 57, '\p{Is_Line_Break= Numeric}', "");
-Expect(0, 57, '\p{^Is_Line_Break= Numeric}', "");
-Expect(0, 57, '\P{Is_Line_Break= Numeric}', "");
-Expect(1, 57, '\P{^Is_Line_Break= Numeric}', "");
-Expect(0, 47, '\p{Is_Line_Break= Numeric}', "");
-Expect(1, 47, '\p{^Is_Line_Break= Numeric}', "");
-Expect(1, 47, '\P{Is_Line_Break= Numeric}', "");
-Expect(0, 47, '\P{^Is_Line_Break= Numeric}', "");
-Error('\p{Is_Lb=_NU:=}');
-Error('\P{Is_Lb=_NU:=}');
-Expect(1, 57, '\p{Is_Lb=nu}', "");
-Expect(0, 57, '\p{^Is_Lb=nu}', "");
-Expect(0, 57, '\P{Is_Lb=nu}', "");
-Expect(1, 57, '\P{^Is_Lb=nu}', "");
-Expect(0, 47, '\p{Is_Lb=nu}', "");
-Expect(1, 47, '\p{^Is_Lb=nu}', "");
-Expect(1, 47, '\P{Is_Lb=nu}', "");
-Expect(0, 47, '\P{^Is_Lb=nu}', "");
-Expect(1, 57, '\p{Is_Lb= _nu}', "");
-Expect(0, 57, '\p{^Is_Lb= _nu}', "");
-Expect(0, 57, '\P{Is_Lb= _nu}', "");
-Expect(1, 57, '\P{^Is_Lb= _nu}', "");
-Expect(0, 47, '\p{Is_Lb= _nu}', "");
-Expect(1, 47, '\p{^Is_Lb= _nu}', "");
-Expect(1, 47, '\P{Is_Lb= _nu}', "");
-Expect(0, 47, '\P{^Is_Lb= _nu}', "");
-Error('\p{Line_Break=_BREAK/a/BEFORE}');
-Error('\P{Line_Break=_BREAK/a/BEFORE}');
-Expect(1, 180, '\p{Line_Break=breakbefore}', "");
-Expect(0, 180, '\p{^Line_Break=breakbefore}', "");
-Expect(0, 180, '\P{Line_Break=breakbefore}', "");
-Expect(1, 180, '\P{^Line_Break=breakbefore}', "");
-Expect(0, 179, '\p{Line_Break=breakbefore}', "");
-Expect(1, 179, '\p{^Line_Break=breakbefore}', "");
-Expect(1, 179, '\P{Line_Break=breakbefore}', "");
-Expect(0, 179, '\P{^Line_Break=breakbefore}', "");
-Expect(1, 180, '\p{Line_Break= _BREAKBefore}', "");
-Expect(0, 180, '\p{^Line_Break= _BREAKBefore}', "");
-Expect(0, 180, '\P{Line_Break= _BREAKBefore}', "");
-Expect(1, 180, '\P{^Line_Break= _BREAKBefore}', "");
-Expect(0, 179, '\p{Line_Break= _BREAKBefore}', "");
-Expect(1, 179, '\p{^Line_Break= _BREAKBefore}', "");
-Expect(1, 179, '\P{Line_Break= _BREAKBefore}', "");
-Expect(0, 179, '\P{^Line_Break= _BREAKBefore}', "");
-Error('\p{Lb= -BB/a/}');
-Error('\P{Lb= -BB/a/}');
-Expect(1, 180, '\p{Lb=bb}', "");
-Expect(0, 180, '\p{^Lb=bb}', "");
-Expect(0, 180, '\P{Lb=bb}', "");
-Expect(1, 180, '\P{^Lb=bb}', "");
-Expect(0, 179, '\p{Lb=bb}', "");
-Expect(1, 179, '\p{^Lb=bb}', "");
-Expect(1, 179, '\P{Lb=bb}', "");
-Expect(0, 179, '\P{^Lb=bb}', "");
-Expect(1, 180, '\p{Lb= BB}', "");
-Expect(0, 180, '\p{^Lb= BB}', "");
-Expect(0, 180, '\P{Lb= BB}', "");
-Expect(1, 180, '\P{^Lb= BB}', "");
-Expect(0, 179, '\p{Lb= BB}', "");
-Expect(1, 179, '\p{^Lb= BB}', "");
-Expect(1, 179, '\P{Lb= BB}', "");
-Expect(0, 179, '\P{^Lb= BB}', "");
-Error('\p{Is_Line_Break=/a/break Before}');
-Error('\P{Is_Line_Break=/a/break Before}');
-Expect(1, 180, '\p{Is_Line_Break=breakbefore}', "");
-Expect(0, 180, '\p{^Is_Line_Break=breakbefore}', "");
-Expect(0, 180, '\P{Is_Line_Break=breakbefore}', "");
-Expect(1, 180, '\P{^Is_Line_Break=breakbefore}', "");
-Expect(0, 179, '\p{Is_Line_Break=breakbefore}', "");
-Expect(1, 179, '\p{^Is_Line_Break=breakbefore}', "");
-Expect(1, 179, '\P{Is_Line_Break=breakbefore}', "");
-Expect(0, 179, '\P{^Is_Line_Break=breakbefore}', "");
-Expect(1, 180, '\p{Is_Line_Break= -BREAK Before}', "");
-Expect(0, 180, '\p{^Is_Line_Break= -BREAK Before}', "");
-Expect(0, 180, '\P{Is_Line_Break= -BREAK Before}', "");
-Expect(1, 180, '\P{^Is_Line_Break= -BREAK Before}', "");
-Expect(0, 179, '\p{Is_Line_Break= -BREAK Before}', "");
-Expect(1, 179, '\p{^Is_Line_Break= -BREAK Before}', "");
-Expect(1, 179, '\P{Is_Line_Break= -BREAK Before}', "");
-Expect(0, 179, '\P{^Is_Line_Break= -BREAK Before}', "");
-Error('\p{Is_Lb=/a/BB}');
-Error('\P{Is_Lb=/a/BB}');
-Expect(1, 180, '\p{Is_Lb=bb}', "");
-Expect(0, 180, '\p{^Is_Lb=bb}', "");
-Expect(0, 180, '\P{Is_Lb=bb}', "");
-Expect(1, 180, '\P{^Is_Lb=bb}', "");
-Expect(0, 179, '\p{Is_Lb=bb}', "");
-Expect(1, 179, '\p{^Is_Lb=bb}', "");
-Expect(1, 179, '\P{Is_Lb=bb}', "");
-Expect(0, 179, '\P{^Is_Lb=bb}', "");
-Expect(1, 180, '\p{Is_Lb= BB}', "");
-Expect(0, 180, '\p{^Is_Lb= BB}', "");
-Expect(0, 180, '\P{Is_Lb= BB}', "");
-Expect(1, 180, '\P{^Is_Lb= BB}', "");
-Expect(0, 179, '\p{Is_Lb= BB}', "");
-Expect(1, 179, '\p{^Is_Lb= BB}', "");
-Expect(1, 179, '\P{Is_Lb= BB}', "");
-Expect(0, 179, '\P{^Is_Lb= BB}', "");
-Error('\p{Line_Break=/a/_ zwspace}');
-Error('\P{Line_Break=/a/_ zwspace}');
-Expect(1, 8203, '\p{Line_Break=zwspace}', "");
-Expect(0, 8203, '\p{^Line_Break=zwspace}', "");
-Expect(0, 8203, '\P{Line_Break=zwspace}', "");
-Expect(1, 8203, '\P{^Line_Break=zwspace}', "");
-Expect(0, 8202, '\p{Line_Break=zwspace}', "");
-Expect(1, 8202, '\p{^Line_Break=zwspace}', "");
-Expect(1, 8202, '\P{Line_Break=zwspace}', "");
-Expect(0, 8202, '\P{^Line_Break=zwspace}', "");
-Expect(1, 8203, '\p{Line_Break:-ZWSpace}', "");
-Expect(0, 8203, '\p{^Line_Break:-ZWSpace}', "");
-Expect(0, 8203, '\P{Line_Break:-ZWSpace}', "");
-Expect(1, 8203, '\P{^Line_Break:-ZWSpace}', "");
-Expect(0, 8202, '\p{Line_Break:-ZWSpace}', "");
-Expect(1, 8202, '\p{^Line_Break:-ZWSpace}', "");
-Expect(1, 8202, '\P{Line_Break:-ZWSpace}', "");
-Expect(0, 8202, '\P{^Line_Break:-ZWSpace}', "");
-Error('\p{Lb= _ZW/a/}');
-Error('\P{Lb= _ZW/a/}');
-Expect(1, 8203, '\p{Lb=zw}', "");
-Expect(0, 8203, '\p{^Lb=zw}', "");
-Expect(0, 8203, '\P{Lb=zw}', "");
-Expect(1, 8203, '\P{^Lb=zw}', "");
-Expect(0, 8202, '\p{Lb=zw}', "");
-Expect(1, 8202, '\p{^Lb=zw}', "");
-Expect(1, 8202, '\P{Lb=zw}', "");
-Expect(0, 8202, '\P{^Lb=zw}', "");
-Expect(1, 8203, '\p{Lb= ZW}', "");
-Expect(0, 8203, '\p{^Lb= ZW}', "");
-Expect(0, 8203, '\P{Lb= ZW}', "");
-Expect(1, 8203, '\P{^Lb= ZW}', "");
-Expect(0, 8202, '\p{Lb= ZW}', "");
-Expect(1, 8202, '\p{^Lb= ZW}', "");
-Expect(1, 8202, '\P{Lb= ZW}', "");
-Expect(0, 8202, '\P{^Lb= ZW}', "");
-Error('\p{Is_Line_Break=/a/--ZWSpace}');
-Error('\P{Is_Line_Break=/a/--ZWSpace}');
-Expect(1, 8203, '\p{Is_Line_Break=zwspace}', "");
-Expect(0, 8203, '\p{^Is_Line_Break=zwspace}', "");
-Expect(0, 8203, '\P{Is_Line_Break=zwspace}', "");
-Expect(1, 8203, '\P{^Is_Line_Break=zwspace}', "");
-Expect(0, 8202, '\p{Is_Line_Break=zwspace}', "");
-Expect(1, 8202, '\p{^Is_Line_Break=zwspace}', "");
-Expect(1, 8202, '\P{Is_Line_Break=zwspace}', "");
-Expect(0, 8202, '\P{^Is_Line_Break=zwspace}', "");
-Expect(1, 8203, '\p{Is_Line_Break=_ zwspace}', "");
-Expect(0, 8203, '\p{^Is_Line_Break=_ zwspace}', "");
-Expect(0, 8203, '\P{Is_Line_Break=_ zwspace}', "");
-Expect(1, 8203, '\P{^Is_Line_Break=_ zwspace}', "");
-Expect(0, 8202, '\p{Is_Line_Break=_ zwspace}', "");
-Expect(1, 8202, '\p{^Is_Line_Break=_ zwspace}', "");
-Expect(1, 8202, '\P{Is_Line_Break=_ zwspace}', "");
-Expect(0, 8202, '\P{^Is_Line_Break=_ zwspace}', "");
-Error('\p{Is_Lb= -zw:=}');
-Error('\P{Is_Lb= -zw:=}');
-Expect(1, 8203, '\p{Is_Lb=zw}', "");
-Expect(0, 8203, '\p{^Is_Lb=zw}', "");
-Expect(0, 8203, '\P{Is_Lb=zw}', "");
-Expect(1, 8203, '\P{^Is_Lb=zw}', "");
-Expect(0, 8202, '\p{Is_Lb=zw}', "");
-Expect(1, 8202, '\p{^Is_Lb=zw}', "");
-Expect(1, 8202, '\P{Is_Lb=zw}', "");
-Expect(0, 8202, '\P{^Is_Lb=zw}', "");
-Expect(1, 8203, '\p{Is_Lb= ZW}', "");
-Expect(0, 8203, '\p{^Is_Lb= ZW}', "");
-Expect(0, 8203, '\P{Is_Lb= ZW}', "");
-Expect(1, 8203, '\P{^Is_Lb= ZW}', "");
-Expect(0, 8202, '\p{Is_Lb= ZW}', "");
-Expect(1, 8202, '\p{^Is_Lb= ZW}', "");
-Expect(1, 8202, '\P{Is_Lb= ZW}', "");
-Expect(0, 8202, '\P{^Is_Lb= ZW}', "");
-Error('\p{Line_Break=:= JL}');
-Error('\P{Line_Break=:= JL}');
-Expect(1, 4447, '\p{Line_Break=jl}', "");
-Expect(0, 4447, '\p{^Line_Break=jl}', "");
-Expect(0, 4447, '\P{Line_Break=jl}', "");
-Expect(1, 4447, '\P{^Line_Break=jl}', "");
-Expect(0, 4351, '\p{Line_Break=jl}', "");
-Expect(1, 4351, '\p{^Line_Break=jl}', "");
-Expect(1, 4351, '\P{Line_Break=jl}', "");
-Expect(0, 4351, '\P{^Line_Break=jl}', "");
-Expect(1, 4447, '\p{Line_Break=-JL}', "");
-Expect(0, 4447, '\p{^Line_Break=-JL}', "");
-Expect(0, 4447, '\P{Line_Break=-JL}', "");
-Expect(1, 4447, '\P{^Line_Break=-JL}', "");
-Expect(0, 4351, '\p{Line_Break=-JL}', "");
-Expect(1, 4351, '\p{^Line_Break=-JL}', "");
-Expect(1, 4351, '\P{Line_Break=-JL}', "");
-Expect(0, 4351, '\P{^Line_Break=-JL}', "");
-Error('\p{Lb=/a/ JL}');
-Error('\P{Lb=/a/ JL}');
-Expect(1, 4447, '\p{Lb=jl}', "");
-Expect(0, 4447, '\p{^Lb=jl}', "");
-Expect(0, 4447, '\P{Lb=jl}', "");
-Expect(1, 4447, '\P{^Lb=jl}', "");
-Expect(0, 4351, '\p{Lb=jl}', "");
-Expect(1, 4351, '\p{^Lb=jl}', "");
-Expect(1, 4351, '\P{Lb=jl}', "");
-Expect(0, 4351, '\P{^Lb=jl}', "");
-Expect(1, 4447, '\p{Lb=-JL}', "");
-Expect(0, 4447, '\p{^Lb=-JL}', "");
-Expect(0, 4447, '\P{Lb=-JL}', "");
-Expect(1, 4447, '\P{^Lb=-JL}', "");
-Expect(0, 4351, '\p{Lb=-JL}', "");
-Expect(1, 4351, '\p{^Lb=-JL}', "");
-Expect(1, 4351, '\P{Lb=-JL}', "");
-Expect(0, 4351, '\P{^Lb=-JL}', "");
-Error('\p{Is_Line_Break: JL/a/}');
-Error('\P{Is_Line_Break: JL/a/}');
-Expect(1, 4447, '\p{Is_Line_Break=jl}', "");
-Expect(0, 4447, '\p{^Is_Line_Break=jl}', "");
-Expect(0, 4447, '\P{Is_Line_Break=jl}', "");
-Expect(1, 4447, '\P{^Is_Line_Break=jl}', "");
-Expect(0, 4351, '\p{Is_Line_Break=jl}', "");
-Expect(1, 4351, '\p{^Is_Line_Break=jl}', "");
-Expect(1, 4351, '\P{Is_Line_Break=jl}', "");
-Expect(0, 4351, '\P{^Is_Line_Break=jl}', "");
-Expect(1, 4447, '\p{Is_Line_Break= -jl}', "");
-Expect(0, 4447, '\p{^Is_Line_Break= -jl}', "");
-Expect(0, 4447, '\P{Is_Line_Break= -jl}', "");
-Expect(1, 4447, '\P{^Is_Line_Break= -jl}', "");
-Expect(0, 4351, '\p{Is_Line_Break= -jl}', "");
-Expect(1, 4351, '\p{^Is_Line_Break= -jl}', "");
-Expect(1, 4351, '\P{Is_Line_Break= -jl}', "");
-Expect(0, 4351, '\P{^Is_Line_Break= -jl}', "");
-Error('\p{Is_Lb= :=JL}');
-Error('\P{Is_Lb= :=JL}');
-Expect(1, 4447, '\p{Is_Lb=jl}', "");
-Expect(0, 4447, '\p{^Is_Lb=jl}', "");
-Expect(0, 4447, '\P{Is_Lb=jl}', "");
-Expect(1, 4447, '\P{^Is_Lb=jl}', "");
-Expect(0, 4351, '\p{Is_Lb=jl}', "");
-Expect(1, 4351, '\p{^Is_Lb=jl}', "");
-Expect(1, 4351, '\P{Is_Lb=jl}', "");
-Expect(0, 4351, '\P{^Is_Lb=jl}', "");
-Expect(1, 4447, '\p{Is_Lb= _jl}', "");
-Expect(0, 4447, '\p{^Is_Lb= _jl}', "");
-Expect(0, 4447, '\P{Is_Lb= _jl}', "");
-Expect(1, 4447, '\P{^Is_Lb= _jl}', "");
-Expect(0, 4351, '\p{Is_Lb= _jl}', "");
-Expect(1, 4351, '\p{^Is_Lb= _jl}', "");
-Expect(1, 4351, '\P{Is_Lb= _jl}', "");
-Expect(0, 4351, '\P{^Is_Lb= _jl}', "");
-Error('\p{Line_Break=-:=Break Symbols}');
-Error('\P{Line_Break=-:=Break Symbols}');
-Expect(1, 47, '\p{Line_Break=breaksymbols}', "");
-Expect(0, 47, '\p{^Line_Break=breaksymbols}', "");
-Expect(0, 47, '\P{Line_Break=breaksymbols}', "");
-Expect(1, 47, '\P{^Line_Break=breaksymbols}', "");
-Expect(0, 46, '\p{Line_Break=breaksymbols}', "");
-Expect(1, 46, '\p{^Line_Break=breaksymbols}', "");
-Expect(1, 46, '\P{Line_Break=breaksymbols}', "");
-Expect(0, 46, '\P{^Line_Break=breaksymbols}', "");
-Expect(1, 47, '\p{Line_Break=-Break_Symbols}', "");
-Expect(0, 47, '\p{^Line_Break=-Break_Symbols}', "");
-Expect(0, 47, '\P{Line_Break=-Break_Symbols}', "");
-Expect(1, 47, '\P{^Line_Break=-Break_Symbols}', "");
-Expect(0, 46, '\p{Line_Break=-Break_Symbols}', "");
-Expect(1, 46, '\p{^Line_Break=-Break_Symbols}', "");
-Expect(1, 46, '\P{Line_Break=-Break_Symbols}', "");
-Expect(0, 46, '\P{^Line_Break=-Break_Symbols}', "");
-Error('\p{Lb=_ SY/a/}');
-Error('\P{Lb=_ SY/a/}');
-Expect(1, 47, '\p{Lb=sy}', "");
-Expect(0, 47, '\p{^Lb=sy}', "");
-Expect(0, 47, '\P{Lb=sy}', "");
-Expect(1, 47, '\P{^Lb=sy}', "");
-Expect(0, 46, '\p{Lb=sy}', "");
-Expect(1, 46, '\p{^Lb=sy}', "");
-Expect(1, 46, '\P{Lb=sy}', "");
-Expect(0, 46, '\P{^Lb=sy}', "");
-Expect(1, 47, '\p{Lb= SY}', "");
-Expect(0, 47, '\p{^Lb= SY}', "");
-Expect(0, 47, '\P{Lb= SY}', "");
-Expect(1, 47, '\P{^Lb= SY}', "");
-Expect(0, 46, '\p{Lb= SY}', "");
-Expect(1, 46, '\p{^Lb= SY}', "");
-Expect(1, 46, '\P{Lb= SY}', "");
-Expect(0, 46, '\P{^Lb= SY}', "");
-Error('\p{Is_Line_Break= _BREAK/a/SYMBOLS}');
-Error('\P{Is_Line_Break= _BREAK/a/SYMBOLS}');
-Expect(1, 47, '\p{Is_Line_Break=breaksymbols}', "");
-Expect(0, 47, '\p{^Is_Line_Break=breaksymbols}', "");
-Expect(0, 47, '\P{Is_Line_Break=breaksymbols}', "");
-Expect(1, 47, '\P{^Is_Line_Break=breaksymbols}', "");
-Expect(0, 46, '\p{Is_Line_Break=breaksymbols}', "");
-Expect(1, 46, '\p{^Is_Line_Break=breaksymbols}', "");
-Expect(1, 46, '\P{Is_Line_Break=breaksymbols}', "");
-Expect(0, 46, '\P{^Is_Line_Break=breaksymbols}', "");
-Expect(1, 47, '\p{Is_Line_Break= break_Symbols}', "");
-Expect(0, 47, '\p{^Is_Line_Break= break_Symbols}', "");
-Expect(0, 47, '\P{Is_Line_Break= break_Symbols}', "");
-Expect(1, 47, '\P{^Is_Line_Break= break_Symbols}', "");
-Expect(0, 46, '\p{Is_Line_Break= break_Symbols}', "");
-Expect(1, 46, '\p{^Is_Line_Break= break_Symbols}', "");
-Expect(1, 46, '\P{Is_Line_Break= break_Symbols}', "");
-Expect(0, 46, '\P{^Is_Line_Break= break_Symbols}', "");
-Error('\p{Is_Lb= sy/a/}');
-Error('\P{Is_Lb= sy/a/}');
-Expect(1, 47, '\p{Is_Lb=sy}', "");
-Expect(0, 47, '\p{^Is_Lb=sy}', "");
-Expect(0, 47, '\P{Is_Lb=sy}', "");
-Expect(1, 47, '\P{^Is_Lb=sy}', "");
-Expect(0, 46, '\p{Is_Lb=sy}', "");
-Expect(1, 46, '\p{^Is_Lb=sy}', "");
-Expect(1, 46, '\P{Is_Lb=sy}', "");
-Expect(0, 46, '\P{^Is_Lb=sy}', "");
-Expect(1, 47, '\p{Is_Lb=_-SY}', "");
-Expect(0, 47, '\p{^Is_Lb=_-SY}', "");
-Expect(0, 47, '\P{Is_Lb=_-SY}', "");
-Expect(1, 47, '\P{^Is_Lb=_-SY}', "");
-Expect(0, 46, '\p{Is_Lb=_-SY}', "");
-Expect(1, 46, '\p{^Is_Lb=_-SY}', "");
-Expect(1, 46, '\P{Is_Lb=_-SY}', "");
-Expect(0, 46, '\P{^Is_Lb=_-SY}', "");
-Error('\p{Line_Break=-prefix numeric/a/}');
-Error('\P{Line_Break=-prefix numeric/a/}');
-Expect(1, 36, '\p{Line_Break: prefixnumeric}', "");
-Expect(0, 36, '\p{^Line_Break: prefixnumeric}', "");
-Expect(0, 36, '\P{Line_Break: prefixnumeric}', "");
-Expect(1, 36, '\P{^Line_Break: prefixnumeric}', "");
-Expect(0, 35, '\p{Line_Break: prefixnumeric}', "");
-Expect(1, 35, '\p{^Line_Break: prefixnumeric}', "");
-Expect(1, 35, '\P{Line_Break: prefixnumeric}', "");
-Expect(0, 35, '\P{^Line_Break: prefixnumeric}', "");
-Expect(1, 36, '\p{Line_Break=-prefix numeric}', "");
-Expect(0, 36, '\p{^Line_Break=-prefix numeric}', "");
-Expect(0, 36, '\P{Line_Break=-prefix numeric}', "");
-Expect(1, 36, '\P{^Line_Break=-prefix numeric}', "");
-Expect(0, 35, '\p{Line_Break=-prefix numeric}', "");
-Expect(1, 35, '\p{^Line_Break=-prefix numeric}', "");
-Expect(1, 35, '\P{Line_Break=-prefix numeric}', "");
-Expect(0, 35, '\P{^Line_Break=-prefix numeric}', "");
-Error('\p{Lb= :=PR}');
-Error('\P{Lb= :=PR}');
-Expect(1, 36, '\p{Lb=pr}', "");
-Expect(0, 36, '\p{^Lb=pr}', "");
-Expect(0, 36, '\P{Lb=pr}', "");
-Expect(1, 36, '\P{^Lb=pr}', "");
-Expect(0, 35, '\p{Lb=pr}', "");
-Expect(1, 35, '\p{^Lb=pr}', "");
-Expect(1, 35, '\P{Lb=pr}', "");
-Expect(0, 35, '\P{^Lb=pr}', "");
-Expect(1, 36, '\p{Lb: PR}', "");
-Expect(0, 36, '\p{^Lb: PR}', "");
-Expect(0, 36, '\P{Lb: PR}', "");
-Expect(1, 36, '\P{^Lb: PR}', "");
-Expect(0, 35, '\p{Lb: PR}', "");
-Expect(1, 35, '\p{^Lb: PR}', "");
-Expect(1, 35, '\P{Lb: PR}', "");
-Expect(0, 35, '\P{^Lb: PR}', "");
-Error('\p{Is_Line_Break=/a/ _Prefix NUMERIC}');
-Error('\P{Is_Line_Break=/a/ _Prefix NUMERIC}');
-Expect(1, 36, '\p{Is_Line_Break=prefixnumeric}', "");
-Expect(0, 36, '\p{^Is_Line_Break=prefixnumeric}', "");
-Expect(0, 36, '\P{Is_Line_Break=prefixnumeric}', "");
-Expect(1, 36, '\P{^Is_Line_Break=prefixnumeric}', "");
-Expect(0, 35, '\p{Is_Line_Break=prefixnumeric}', "");
-Expect(1, 35, '\p{^Is_Line_Break=prefixnumeric}', "");
-Expect(1, 35, '\P{Is_Line_Break=prefixnumeric}', "");
-Expect(0, 35, '\P{^Is_Line_Break=prefixnumeric}', "");
-Expect(1, 36, '\p{Is_Line_Break=-Prefix_numeric}', "");
-Expect(0, 36, '\p{^Is_Line_Break=-Prefix_numeric}', "");
-Expect(0, 36, '\P{Is_Line_Break=-Prefix_numeric}', "");
-Expect(1, 36, '\P{^Is_Line_Break=-Prefix_numeric}', "");
-Expect(0, 35, '\p{Is_Line_Break=-Prefix_numeric}', "");
-Expect(1, 35, '\p{^Is_Line_Break=-Prefix_numeric}', "");
-Expect(1, 35, '\P{Is_Line_Break=-Prefix_numeric}', "");
-Expect(0, 35, '\P{^Is_Line_Break=-Prefix_numeric}', "");
-Error('\p{Is_Lb:-/a/pr}');
-Error('\P{Is_Lb:-/a/pr}');
-Expect(1, 36, '\p{Is_Lb=pr}', "");
-Expect(0, 36, '\p{^Is_Lb=pr}', "");
-Expect(0, 36, '\P{Is_Lb=pr}', "");
-Expect(1, 36, '\P{^Is_Lb=pr}', "");
-Expect(0, 35, '\p{Is_Lb=pr}', "");
-Expect(1, 35, '\p{^Is_Lb=pr}', "");
-Expect(1, 35, '\P{Is_Lb=pr}', "");
-Expect(0, 35, '\P{^Is_Lb=pr}', "");
-Expect(1, 36, '\p{Is_Lb= pr}', "");
-Expect(0, 36, '\p{^Is_Lb= pr}', "");
-Expect(0, 36, '\P{Is_Lb= pr}', "");
-Expect(1, 36, '\P{^Is_Lb= pr}', "");
-Expect(0, 35, '\p{Is_Lb= pr}', "");
-Expect(1, 35, '\p{^Is_Lb= pr}', "");
-Expect(1, 35, '\P{Is_Lb= pr}', "");
-Expect(0, 35, '\P{^Is_Lb= pr}', "");
-Error('\p{Line_Break=/a/ close PARENTHESIS}');
-Error('\P{Line_Break=/a/ close PARENTHESIS}');
-Expect(1, 41, '\p{Line_Break=closeparenthesis}', "");
-Expect(0, 41, '\p{^Line_Break=closeparenthesis}', "");
-Expect(0, 41, '\P{Line_Break=closeparenthesis}', "");
-Expect(1, 41, '\P{^Line_Break=closeparenthesis}', "");
-Expect(0, 40, '\p{Line_Break=closeparenthesis}', "");
-Expect(1, 40, '\p{^Line_Break=closeparenthesis}', "");
-Expect(1, 40, '\P{Line_Break=closeparenthesis}', "");
-Expect(0, 40, '\P{^Line_Break=closeparenthesis}', "");
-Expect(1, 41, '\p{Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(0, 41, '\p{^Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(0, 41, '\P{Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(1, 41, '\P{^Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(0, 40, '\p{Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(1, 40, '\p{^Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(1, 40, '\P{Line_Break=- CLOSE-PARENTHESIS}', "");
-Expect(0, 40, '\P{^Line_Break=- CLOSE-PARENTHESIS}', "");
-Error('\p{Lb:/a/ CP}');
-Error('\P{Lb:/a/ CP}');
-Expect(1, 41, '\p{Lb: cp}', "");
-Expect(0, 41, '\p{^Lb: cp}', "");
-Expect(0, 41, '\P{Lb: cp}', "");
-Expect(1, 41, '\P{^Lb: cp}', "");
-Expect(0, 40, '\p{Lb: cp}', "");
-Expect(1, 40, '\p{^Lb: cp}', "");
-Expect(1, 40, '\P{Lb: cp}', "");
-Expect(0, 40, '\P{^Lb: cp}', "");
-Expect(1, 41, '\p{Lb=-CP}', "");
-Expect(0, 41, '\p{^Lb=-CP}', "");
-Expect(0, 41, '\P{Lb=-CP}', "");
-Expect(1, 41, '\P{^Lb=-CP}', "");
-Expect(0, 40, '\p{Lb=-CP}', "");
-Expect(1, 40, '\p{^Lb=-CP}', "");
-Expect(1, 40, '\P{Lb=-CP}', "");
-Expect(0, 40, '\P{^Lb=-CP}', "");
-Error('\p{Is_Line_Break=CloseParenthesis/a/}');
-Error('\P{Is_Line_Break=CloseParenthesis/a/}');
-Expect(1, 41, '\p{Is_Line_Break: closeparenthesis}', "");
-Expect(0, 41, '\p{^Is_Line_Break: closeparenthesis}', "");
-Expect(0, 41, '\P{Is_Line_Break: closeparenthesis}', "");
-Expect(1, 41, '\P{^Is_Line_Break: closeparenthesis}', "");
-Expect(0, 40, '\p{Is_Line_Break: closeparenthesis}', "");
-Expect(1, 40, '\p{^Is_Line_Break: closeparenthesis}', "");
-Expect(1, 40, '\P{Is_Line_Break: closeparenthesis}', "");
-Expect(0, 40, '\P{^Is_Line_Break: closeparenthesis}', "");
-Expect(1, 41, '\p{Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(0, 41, '\p{^Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(0, 41, '\P{Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(1, 41, '\P{^Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(0, 40, '\p{Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(1, 40, '\p{^Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(1, 40, '\P{Is_Line_Break=-Close PARENTHESIS}', "");
-Expect(0, 40, '\P{^Is_Line_Break=-Close PARENTHESIS}', "");
-Error('\p{Is_Lb= :=CP}');
-Error('\P{Is_Lb= :=CP}');
-Expect(1, 41, '\p{Is_Lb:cp}', "");
-Expect(0, 41, '\p{^Is_Lb:cp}', "");
-Expect(0, 41, '\P{Is_Lb:cp}', "");
-Expect(1, 41, '\P{^Is_Lb:cp}', "");
-Expect(0, 40, '\p{Is_Lb:cp}', "");
-Expect(1, 40, '\p{^Is_Lb:cp}', "");
-Expect(1, 40, '\P{Is_Lb:cp}', "");
-Expect(0, 40, '\P{^Is_Lb:cp}', "");
-Expect(1, 41, '\p{Is_Lb= _CP}', "");
-Expect(0, 41, '\p{^Is_Lb= _CP}', "");
-Expect(0, 41, '\P{Is_Lb= _CP}', "");
-Expect(1, 41, '\P{^Is_Lb= _CP}', "");
-Expect(0, 40, '\p{Is_Lb= _CP}', "");
-Expect(1, 40, '\p{^Is_Lb= _CP}', "");
-Expect(1, 40, '\P{Is_Lb= _CP}', "");
-Expect(0, 40, '\P{^Is_Lb= _CP}', "");
-Error('\p{Line_Break=-/a/h3}');
-Error('\P{Line_Break=-/a/h3}');
-Expect(1, 44059, '\p{Line_Break:h3}', "");
-Expect(0, 44059, '\p{^Line_Break:h3}', "");
-Expect(0, 44059, '\P{Line_Break:h3}', "");
-Expect(1, 44059, '\P{^Line_Break:h3}', "");
-Expect(0, 44032, '\p{Line_Break:h3}', "");
-Expect(1, 44032, '\p{^Line_Break:h3}', "");
-Expect(1, 44032, '\P{Line_Break:h3}', "");
-Expect(0, 44032, '\P{^Line_Break:h3}', "");
-Expect(1, 44059, '\p{Line_Break= H3}', "");
-Expect(0, 44059, '\p{^Line_Break= H3}', "");
-Expect(0, 44059, '\P{Line_Break= H3}', "");
-Expect(1, 44059, '\P{^Line_Break= H3}', "");
-Expect(0, 44032, '\p{Line_Break= H3}', "");
-Expect(1, 44032, '\p{^Line_Break= H3}', "");
-Expect(1, 44032, '\P{Line_Break= H3}', "");
-Expect(0, 44032, '\P{^Line_Break= H3}', "");
-Error('\p{Lb= :=H3}');
-Error('\P{Lb= :=H3}');
-Expect(1, 44059, '\p{Lb=h3}', "");
-Expect(0, 44059, '\p{^Lb=h3}', "");
-Expect(0, 44059, '\P{Lb=h3}', "");
-Expect(1, 44059, '\P{^Lb=h3}', "");
-Expect(0, 44032, '\p{Lb=h3}', "");
-Expect(1, 44032, '\p{^Lb=h3}', "");
-Expect(1, 44032, '\P{Lb=h3}', "");
-Expect(0, 44032, '\P{^Lb=h3}', "");
-Expect(1, 44059, '\p{Lb=-H3}', "");
-Expect(0, 44059, '\p{^Lb=-H3}', "");
-Expect(0, 44059, '\P{Lb=-H3}', "");
-Expect(1, 44059, '\P{^Lb=-H3}', "");
-Expect(0, 44032, '\p{Lb=-H3}', "");
-Expect(1, 44032, '\p{^Lb=-H3}', "");
-Expect(1, 44032, '\P{Lb=-H3}', "");
-Expect(0, 44032, '\P{^Lb=-H3}', "");
-Error('\p{Is_Line_Break: - H3/a/}');
-Error('\P{Is_Line_Break: - H3/a/}');
-Expect(1, 44059, '\p{Is_Line_Break=h3}', "");
-Expect(0, 44059, '\p{^Is_Line_Break=h3}', "");
-Expect(0, 44059, '\P{Is_Line_Break=h3}', "");
-Expect(1, 44059, '\P{^Is_Line_Break=h3}', "");
-Expect(0, 44032, '\p{Is_Line_Break=h3}', "");
-Expect(1, 44032, '\p{^Is_Line_Break=h3}', "");
-Expect(1, 44032, '\P{Is_Line_Break=h3}', "");
-Expect(0, 44032, '\P{^Is_Line_Break=h3}', "");
-Expect(1, 44059, '\p{Is_Line_Break=-H3}', "");
-Expect(0, 44059, '\p{^Is_Line_Break=-H3}', "");
-Expect(0, 44059, '\P{Is_Line_Break=-H3}', "");
-Expect(1, 44059, '\P{^Is_Line_Break=-H3}', "");
-Expect(0, 44032, '\p{Is_Line_Break=-H3}', "");
-Expect(1, 44032, '\p{^Is_Line_Break=-H3}', "");
-Expect(1, 44032, '\P{Is_Line_Break=-H3}', "");
-Expect(0, 44032, '\P{^Is_Line_Break=-H3}', "");
-Error('\p{Is_Lb=/a/H3}');
-Error('\P{Is_Lb=/a/H3}');
-Expect(1, 44059, '\p{Is_Lb=h3}', "");
-Expect(0, 44059, '\p{^Is_Lb=h3}', "");
-Expect(0, 44059, '\P{Is_Lb=h3}', "");
-Expect(1, 44059, '\P{^Is_Lb=h3}', "");
-Expect(0, 44032, '\p{Is_Lb=h3}', "");
-Expect(1, 44032, '\p{^Is_Lb=h3}', "");
-Expect(1, 44032, '\P{Is_Lb=h3}', "");
-Expect(0, 44032, '\P{^Is_Lb=h3}', "");
-Expect(1, 44059, '\p{Is_Lb: _ h3}', "");
-Expect(0, 44059, '\p{^Is_Lb: _ h3}', "");
-Expect(0, 44059, '\P{Is_Lb: _ h3}', "");
-Expect(1, 44059, '\P{^Is_Lb: _ h3}', "");
-Expect(0, 44032, '\p{Is_Lb: _ h3}', "");
-Expect(1, 44032, '\p{^Is_Lb: _ h3}', "");
-Expect(1, 44032, '\P{Is_Lb: _ h3}', "");
-Expect(0, 44032, '\P{^Is_Lb: _ h3}', "");
-Error('\p{Line_Break=- carriage-Return/a/}');
-Error('\P{Line_Break=- carriage-Return/a/}');
-Expect(1, 13, '\p{Line_Break: carriagereturn}', "");
-Expect(0, 13, '\p{^Line_Break: carriagereturn}', "");
-Expect(0, 13, '\P{Line_Break: carriagereturn}', "");
-Expect(1, 13, '\P{^Line_Break: carriagereturn}', "");
-Expect(0, 12, '\p{Line_Break: carriagereturn}', "");
-Expect(1, 12, '\p{^Line_Break: carriagereturn}', "");
-Expect(1, 12, '\P{Line_Break: carriagereturn}', "");
-Expect(0, 12, '\P{^Line_Break: carriagereturn}', "");
-Expect(1, 13, '\p{Line_Break=-Carriage return}', "");
-Expect(0, 13, '\p{^Line_Break=-Carriage return}', "");
-Expect(0, 13, '\P{Line_Break=-Carriage return}', "");
-Expect(1, 13, '\P{^Line_Break=-Carriage return}', "");
-Expect(0, 12, '\p{Line_Break=-Carriage return}', "");
-Expect(1, 12, '\p{^Line_Break=-Carriage return}', "");
-Expect(1, 12, '\P{Line_Break=-Carriage return}', "");
-Expect(0, 12, '\P{^Line_Break=-Carriage return}', "");
-Error('\p{Lb= /a/CR}');
-Error('\P{Lb= /a/CR}');
-Expect(1, 13, '\p{Lb=cr}', "");
-Expect(0, 13, '\p{^Lb=cr}', "");
-Expect(0, 13, '\P{Lb=cr}', "");
-Expect(1, 13, '\P{^Lb=cr}', "");
-Expect(0, 12, '\p{Lb=cr}', "");
-Expect(1, 12, '\p{^Lb=cr}', "");
-Expect(1, 12, '\P{Lb=cr}', "");
-Expect(0, 12, '\P{^Lb=cr}', "");
-Expect(1, 13, '\p{Lb=_-CR}', "");
-Expect(0, 13, '\p{^Lb=_-CR}', "");
-Expect(0, 13, '\P{Lb=_-CR}', "");
-Expect(1, 13, '\P{^Lb=_-CR}', "");
-Expect(0, 12, '\p{Lb=_-CR}', "");
-Expect(1, 12, '\p{^Lb=_-CR}', "");
-Expect(1, 12, '\P{Lb=_-CR}', "");
-Expect(0, 12, '\P{^Lb=_-CR}', "");
-Error('\p{Is_Line_Break= :=carriage Return}');
-Error('\P{Is_Line_Break= :=carriage Return}');
-Expect(1, 13, '\p{Is_Line_Break=carriagereturn}', "");
-Expect(0, 13, '\p{^Is_Line_Break=carriagereturn}', "");
-Expect(0, 13, '\P{Is_Line_Break=carriagereturn}', "");
-Expect(1, 13, '\P{^Is_Line_Break=carriagereturn}', "");
-Expect(0, 12, '\p{Is_Line_Break=carriagereturn}', "");
-Expect(1, 12, '\p{^Is_Line_Break=carriagereturn}', "");
-Expect(1, 12, '\P{Is_Line_Break=carriagereturn}', "");
-Expect(0, 12, '\P{^Is_Line_Break=carriagereturn}', "");
-Expect(1, 13, '\p{Is_Line_Break=-_Carriage RETURN}', "");
-Expect(0, 13, '\p{^Is_Line_Break=-_Carriage RETURN}', "");
-Expect(0, 13, '\P{Is_Line_Break=-_Carriage RETURN}', "");
-Expect(1, 13, '\P{^Is_Line_Break=-_Carriage RETURN}', "");
-Expect(0, 12, '\p{Is_Line_Break=-_Carriage RETURN}', "");
-Expect(1, 12, '\p{^Is_Line_Break=-_Carriage RETURN}', "");
-Expect(1, 12, '\P{Is_Line_Break=-_Carriage RETURN}', "");
-Expect(0, 12, '\P{^Is_Line_Break=-_Carriage RETURN}', "");
-Error('\p{Is_Lb= CR:=}');
-Error('\P{Is_Lb= CR:=}');
-Expect(1, 13, '\p{Is_Lb=cr}', "");
-Expect(0, 13, '\p{^Is_Lb=cr}', "");
-Expect(0, 13, '\P{Is_Lb=cr}', "");
-Expect(1, 13, '\P{^Is_Lb=cr}', "");
-Expect(0, 12, '\p{Is_Lb=cr}', "");
-Expect(1, 12, '\p{^Is_Lb=cr}', "");
-Expect(1, 12, '\P{Is_Lb=cr}', "");
-Expect(0, 12, '\P{^Is_Lb=cr}', "");
-Expect(1, 13, '\p{Is_Lb: - CR}', "");
-Expect(0, 13, '\p{^Is_Lb: - CR}', "");
-Expect(0, 13, '\P{Is_Lb: - CR}', "");
-Expect(1, 13, '\P{^Is_Lb: - CR}', "");
-Expect(0, 12, '\p{Is_Lb: - CR}', "");
-Expect(1, 12, '\p{^Is_Lb: - CR}', "");
-Expect(1, 12, '\P{Is_Lb: - CR}', "");
-Expect(0, 12, '\P{^Is_Lb: - CR}', "");
-Error('\p{Line_Break=:= Closepunctuation}');
-Error('\P{Line_Break=:= Closepunctuation}');
-Expect(1, 125, '\p{Line_Break=closepunctuation}', "");
-Expect(0, 125, '\p{^Line_Break=closepunctuation}', "");
-Expect(0, 125, '\P{Line_Break=closepunctuation}', "");
-Expect(1, 125, '\P{^Line_Break=closepunctuation}', "");
-Expect(0, 124, '\p{Line_Break=closepunctuation}', "");
-Expect(1, 124, '\p{^Line_Break=closepunctuation}', "");
-Expect(1, 124, '\P{Line_Break=closepunctuation}', "");
-Expect(0, 124, '\P{^Line_Break=closepunctuation}', "");
-Expect(1, 125, '\p{Line_Break: _-CLOSE punctuation}', "");
-Expect(0, 125, '\p{^Line_Break: _-CLOSE punctuation}', "");
-Expect(0, 125, '\P{Line_Break: _-CLOSE punctuation}', "");
-Expect(1, 125, '\P{^Line_Break: _-CLOSE punctuation}', "");
-Expect(0, 124, '\p{Line_Break: _-CLOSE punctuation}', "");
-Expect(1, 124, '\p{^Line_Break: _-CLOSE punctuation}', "");
-Expect(1, 124, '\P{Line_Break: _-CLOSE punctuation}', "");
-Expect(0, 124, '\P{^Line_Break: _-CLOSE punctuation}', "");
-Error('\p{Lb=:=-_CL}');
-Error('\P{Lb=:=-_CL}');
-Expect(1, 125, '\p{Lb: cl}', "");
-Expect(0, 125, '\p{^Lb: cl}', "");
-Expect(0, 125, '\P{Lb: cl}', "");
-Expect(1, 125, '\P{^Lb: cl}', "");
-Expect(0, 124, '\p{Lb: cl}', "");
-Expect(1, 124, '\p{^Lb: cl}', "");
-Expect(1, 124, '\P{Lb: cl}', "");
-Expect(0, 124, '\P{^Lb: cl}', "");
-Expect(1, 125, '\p{Lb=--CL}', "");
-Expect(0, 125, '\p{^Lb=--CL}', "");
-Expect(0, 125, '\P{Lb=--CL}', "");
-Expect(1, 125, '\P{^Lb=--CL}', "");
-Expect(0, 124, '\p{Lb=--CL}', "");
-Expect(1, 124, '\p{^Lb=--CL}', "");
-Expect(1, 124, '\P{Lb=--CL}', "");
-Expect(0, 124, '\P{^Lb=--CL}', "");
-Error('\p{Is_Line_Break=:=__Close-PUNCTUATION}');
-Error('\P{Is_Line_Break=:=__Close-PUNCTUATION}');
-Expect(1, 125, '\p{Is_Line_Break=closepunctuation}', "");
-Expect(0, 125, '\p{^Is_Line_Break=closepunctuation}', "");
-Expect(0, 125, '\P{Is_Line_Break=closepunctuation}', "");
-Expect(1, 125, '\P{^Is_Line_Break=closepunctuation}', "");
-Expect(0, 124, '\p{Is_Line_Break=closepunctuation}', "");
-Expect(1, 124, '\p{^Is_Line_Break=closepunctuation}', "");
-Expect(1, 124, '\P{Is_Line_Break=closepunctuation}', "");
-Expect(0, 124, '\P{^Is_Line_Break=closepunctuation}', "");
-Expect(1, 125, '\p{Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(0, 125, '\p{^Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(0, 125, '\P{Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(1, 125, '\P{^Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(0, 124, '\p{Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(1, 124, '\p{^Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(1, 124, '\P{Is_Line_Break=_Close-PUNCTUATION}', "");
-Expect(0, 124, '\P{^Is_Line_Break=_Close-PUNCTUATION}', "");
-Error('\p{Is_Lb= :=cl}');
-Error('\P{Is_Lb= :=cl}');
-Expect(1, 125, '\p{Is_Lb=cl}', "");
-Expect(0, 125, '\p{^Is_Lb=cl}', "");
-Expect(0, 125, '\P{Is_Lb=cl}', "");
-Expect(1, 125, '\P{^Is_Lb=cl}', "");
-Expect(0, 124, '\p{Is_Lb=cl}', "");
-Expect(1, 124, '\p{^Is_Lb=cl}', "");
-Expect(1, 124, '\P{Is_Lb=cl}', "");
-Expect(0, 124, '\P{^Is_Lb=cl}', "");
-Expect(1, 125, '\p{Is_Lb=_CL}', "");
-Expect(0, 125, '\p{^Is_Lb=_CL}', "");
-Expect(0, 125, '\P{Is_Lb=_CL}', "");
-Expect(1, 125, '\P{^Is_Lb=_CL}', "");
-Expect(0, 124, '\p{Is_Lb=_CL}', "");
-Expect(1, 124, '\p{^Is_Lb=_CL}', "");
-Expect(1, 124, '\P{Is_Lb=_CL}', "");
-Expect(0, 124, '\P{^Is_Lb=_CL}', "");
-Error('\p{Line_Break=:= -Combining Mark}');
-Error('\P{Line_Break=:= -Combining Mark}');
-Expect(1, 8, '\p{Line_Break=combiningmark}', "");
-Expect(0, 8, '\p{^Line_Break=combiningmark}', "");
-Expect(0, 8, '\P{Line_Break=combiningmark}', "");
-Expect(1, 8, '\P{^Line_Break=combiningmark}', "");
-Expect(0, 13, '\p{Line_Break=combiningmark}', "");
-Expect(1, 13, '\p{^Line_Break=combiningmark}', "");
-Expect(1, 13, '\P{Line_Break=combiningmark}', "");
-Expect(0, 13, '\P{^Line_Break=combiningmark}', "");
-Expect(1, 8, '\p{Line_Break=-combiningMark}', "");
-Expect(0, 8, '\p{^Line_Break=-combiningMark}', "");
-Expect(0, 8, '\P{Line_Break=-combiningMark}', "");
-Expect(1, 8, '\P{^Line_Break=-combiningMark}', "");
-Expect(0, 13, '\p{Line_Break=-combiningMark}', "");
-Expect(1, 13, '\p{^Line_Break=-combiningMark}', "");
-Expect(1, 13, '\P{Line_Break=-combiningMark}', "");
-Expect(0, 13, '\P{^Line_Break=-combiningMark}', "");
-Error('\p{Lb=:=cm}');
-Error('\P{Lb=:=cm}');
-Expect(1, 8, '\p{Lb=cm}', "");
-Expect(0, 8, '\p{^Lb=cm}', "");
-Expect(0, 8, '\P{Lb=cm}', "");
-Expect(1, 8, '\P{^Lb=cm}', "");
-Expect(0, 13, '\p{Lb=cm}', "");
-Expect(1, 13, '\p{^Lb=cm}', "");
-Expect(1, 13, '\P{Lb=cm}', "");
-Expect(0, 13, '\P{^Lb=cm}', "");
-Expect(1, 8, '\p{Lb= cm}', "");
-Expect(0, 8, '\p{^Lb= cm}', "");
-Expect(0, 8, '\P{Lb= cm}', "");
-Expect(1, 8, '\P{^Lb= cm}', "");
-Expect(0, 13, '\p{Lb= cm}', "");
-Expect(1, 13, '\p{^Lb= cm}', "");
-Expect(1, 13, '\P{Lb= cm}', "");
-Expect(0, 13, '\P{^Lb= cm}', "");
-Error('\p{Is_Line_Break= _Combining-MARK:=}');
-Error('\P{Is_Line_Break= _Combining-MARK:=}');
-Expect(1, 8, '\p{Is_Line_Break=combiningmark}', "");
-Expect(0, 8, '\p{^Is_Line_Break=combiningmark}', "");
-Expect(0, 8, '\P{Is_Line_Break=combiningmark}', "");
-Expect(1, 8, '\P{^Is_Line_Break=combiningmark}', "");
-Expect(0, 13, '\p{Is_Line_Break=combiningmark}', "");
-Expect(1, 13, '\p{^Is_Line_Break=combiningmark}', "");
-Expect(1, 13, '\P{Is_Line_Break=combiningmark}', "");
-Expect(0, 13, '\P{^Is_Line_Break=combiningmark}', "");
-Expect(1, 8, '\p{Is_Line_Break=_ Combiningmark}', "");
-Expect(0, 8, '\p{^Is_Line_Break=_ Combiningmark}', "");
-Expect(0, 8, '\P{Is_Line_Break=_ Combiningmark}', "");
-Expect(1, 8, '\P{^Is_Line_Break=_ Combiningmark}', "");
-Expect(0, 13, '\p{Is_Line_Break=_ Combiningmark}', "");
-Expect(1, 13, '\p{^Is_Line_Break=_ Combiningmark}', "");
-Expect(1, 13, '\P{Is_Line_Break=_ Combiningmark}', "");
-Expect(0, 13, '\P{^Is_Line_Break=_ Combiningmark}', "");
-Error('\p{Is_Lb=-/a/CM}');
-Error('\P{Is_Lb=-/a/CM}');
-Expect(1, 8, '\p{Is_Lb=cm}', "");
-Expect(0, 8, '\p{^Is_Lb=cm}', "");
-Expect(0, 8, '\P{Is_Lb=cm}', "");
-Expect(1, 8, '\P{^Is_Lb=cm}', "");
-Expect(0, 13, '\p{Is_Lb=cm}', "");
-Expect(1, 13, '\p{^Is_Lb=cm}', "");
-Expect(1, 13, '\P{Is_Lb=cm}', "");
-Expect(0, 13, '\P{^Is_Lb=cm}', "");
-Expect(1, 8, '\p{Is_Lb:_CM}', "");
-Expect(0, 8, '\p{^Is_Lb:_CM}', "");
-Expect(0, 8, '\P{Is_Lb:_CM}', "");
-Expect(1, 8, '\P{^Is_Lb:_CM}', "");
-Expect(0, 13, '\p{Is_Lb:_CM}', "");
-Expect(1, 13, '\p{^Is_Lb:_CM}', "");
-Expect(1, 13, '\P{Is_Lb:_CM}', "");
-Expect(0, 13, '\P{^Is_Lb:_CM}', "");
-Error('\p{Line_Break=:=-MANDATORY Break}');
-Error('\P{Line_Break=:=-MANDATORY Break}');
-Expect(1, 12, '\p{Line_Break: mandatorybreak}', "");
-Expect(0, 12, '\p{^Line_Break: mandatorybreak}', "");
-Expect(0, 12, '\P{Line_Break: mandatorybreak}', "");
-Expect(1, 12, '\P{^Line_Break: mandatorybreak}', "");
-Expect(0, 10, '\p{Line_Break: mandatorybreak}', "");
-Expect(1, 10, '\p{^Line_Break: mandatorybreak}', "");
-Expect(1, 10, '\P{Line_Break: mandatorybreak}', "");
-Expect(0, 10, '\P{^Line_Break: mandatorybreak}', "");
-Expect(1, 12, '\p{Line_Break=-MandatoryBreak}', "");
-Expect(0, 12, '\p{^Line_Break=-MandatoryBreak}', "");
-Expect(0, 12, '\P{Line_Break=-MandatoryBreak}', "");
-Expect(1, 12, '\P{^Line_Break=-MandatoryBreak}', "");
-Expect(0, 10, '\p{Line_Break=-MandatoryBreak}', "");
-Expect(1, 10, '\p{^Line_Break=-MandatoryBreak}', "");
-Expect(1, 10, '\P{Line_Break=-MandatoryBreak}', "");
-Expect(0, 10, '\P{^Line_Break=-MandatoryBreak}', "");
-Error('\p{Lb= :=BK}');
-Error('\P{Lb= :=BK}');
-Expect(1, 12, '\p{Lb=bk}', "");
-Expect(0, 12, '\p{^Lb=bk}', "");
-Expect(0, 12, '\P{Lb=bk}', "");
-Expect(1, 12, '\P{^Lb=bk}', "");
-Expect(0, 10, '\p{Lb=bk}', "");
-Expect(1, 10, '\p{^Lb=bk}', "");
-Expect(1, 10, '\P{Lb=bk}', "");
-Expect(0, 10, '\P{^Lb=bk}', "");
-Expect(1, 12, '\p{Lb: - BK}', "");
-Expect(0, 12, '\p{^Lb: - BK}', "");
-Expect(0, 12, '\P{Lb: - BK}', "");
-Expect(1, 12, '\P{^Lb: - BK}', "");
-Expect(0, 10, '\p{Lb: - BK}', "");
-Expect(1, 10, '\p{^Lb: - BK}', "");
-Expect(1, 10, '\P{Lb: - BK}', "");
-Expect(0, 10, '\P{^Lb: - BK}', "");
-Error('\p{Is_Line_Break=_Mandatory-break/a/}');
-Error('\P{Is_Line_Break=_Mandatory-break/a/}');
-Expect(1, 12, '\p{Is_Line_Break=mandatorybreak}', "");
-Expect(0, 12, '\p{^Is_Line_Break=mandatorybreak}', "");
-Expect(0, 12, '\P{Is_Line_Break=mandatorybreak}', "");
-Expect(1, 12, '\P{^Is_Line_Break=mandatorybreak}', "");
-Expect(0, 10, '\p{Is_Line_Break=mandatorybreak}', "");
-Expect(1, 10, '\p{^Is_Line_Break=mandatorybreak}', "");
-Expect(1, 10, '\P{Is_Line_Break=mandatorybreak}', "");
-Expect(0, 10, '\P{^Is_Line_Break=mandatorybreak}', "");
-Expect(1, 12, '\p{Is_Line_Break= -Mandatory_Break}', "");
-Expect(0, 12, '\p{^Is_Line_Break= -Mandatory_Break}', "");
-Expect(0, 12, '\P{Is_Line_Break= -Mandatory_Break}', "");
-Expect(1, 12, '\P{^Is_Line_Break= -Mandatory_Break}', "");
-Expect(0, 10, '\p{Is_Line_Break= -Mandatory_Break}', "");
-Expect(1, 10, '\p{^Is_Line_Break= -Mandatory_Break}', "");
-Expect(1, 10, '\P{Is_Line_Break= -Mandatory_Break}', "");
-Expect(0, 10, '\P{^Is_Line_Break= -Mandatory_Break}', "");
-Error('\p{Is_Lb=- bk:=}');
-Error('\P{Is_Lb=- bk:=}');
-Expect(1, 12, '\p{Is_Lb=bk}', "");
-Expect(0, 12, '\p{^Is_Lb=bk}', "");
-Expect(0, 12, '\P{Is_Lb=bk}', "");
-Expect(1, 12, '\P{^Is_Lb=bk}', "");
-Expect(0, 10, '\p{Is_Lb=bk}', "");
-Expect(1, 10, '\p{^Is_Lb=bk}', "");
-Expect(1, 10, '\P{Is_Lb=bk}', "");
-Expect(0, 10, '\P{^Is_Lb=bk}', "");
-Expect(1, 12, '\p{Is_Lb=-_bk}', "");
-Expect(0, 12, '\p{^Is_Lb=-_bk}', "");
-Expect(0, 12, '\P{Is_Lb=-_bk}', "");
-Expect(1, 12, '\P{^Is_Lb=-_bk}', "");
-Expect(0, 10, '\p{Is_Lb=-_bk}', "");
-Expect(1, 10, '\p{^Is_Lb=-_bk}', "");
-Expect(1, 10, '\P{Is_Lb=-_bk}', "");
-Expect(0, 10, '\P{^Is_Lb=-_bk}', "");
-Error('\p{Line_Break=__Nonstarter/a/}');
-Error('\P{Line_Break=__Nonstarter/a/}');
-Expect(1, 6102, '\p{Line_Break=nonstarter}', "");
-Expect(0, 6102, '\p{^Line_Break=nonstarter}', "");
-Expect(0, 6102, '\P{Line_Break=nonstarter}', "");
-Expect(1, 6102, '\P{^Line_Break=nonstarter}', "");
-Expect(0, 6101, '\p{Line_Break=nonstarter}', "");
-Expect(1, 6101, '\p{^Line_Break=nonstarter}', "");
-Expect(1, 6101, '\P{Line_Break=nonstarter}', "");
-Expect(0, 6101, '\P{^Line_Break=nonstarter}', "");
-Expect(1, 6102, '\p{Line_Break=-NONSTARTER}', "");
-Expect(0, 6102, '\p{^Line_Break=-NONSTARTER}', "");
-Expect(0, 6102, '\P{Line_Break=-NONSTARTER}', "");
-Expect(1, 6102, '\P{^Line_Break=-NONSTARTER}', "");
-Expect(0, 6101, '\p{Line_Break=-NONSTARTER}', "");
-Expect(1, 6101, '\p{^Line_Break=-NONSTARTER}', "");
-Expect(1, 6101, '\P{Line_Break=-NONSTARTER}', "");
-Expect(0, 6101, '\P{^Line_Break=-NONSTARTER}', "");
-Error('\p{Lb=:= NS}');
-Error('\P{Lb=:= NS}');
-Expect(1, 6102, '\p{Lb=ns}', "");
-Expect(0, 6102, '\p{^Lb=ns}', "");
-Expect(0, 6102, '\P{Lb=ns}', "");
-Expect(1, 6102, '\P{^Lb=ns}', "");
-Expect(0, 6101, '\p{Lb=ns}', "");
-Expect(1, 6101, '\p{^Lb=ns}', "");
-Expect(1, 6101, '\P{Lb=ns}', "");
-Expect(0, 6101, '\P{^Lb=ns}', "");
-Expect(1, 6102, '\p{Lb= _NS}', "");
-Expect(0, 6102, '\p{^Lb= _NS}', "");
-Expect(0, 6102, '\P{Lb= _NS}', "");
-Expect(1, 6102, '\P{^Lb= _NS}', "");
-Expect(0, 6101, '\p{Lb= _NS}', "");
-Expect(1, 6101, '\p{^Lb= _NS}', "");
-Expect(1, 6101, '\P{Lb= _NS}', "");
-Expect(0, 6101, '\P{^Lb= _NS}', "");
-Error('\p{Is_Line_Break= :=NONSTARTER}');
-Error('\P{Is_Line_Break= :=NONSTARTER}');
-Expect(1, 6102, '\p{Is_Line_Break:nonstarter}', "");
-Expect(0, 6102, '\p{^Is_Line_Break:nonstarter}', "");
-Expect(0, 6102, '\P{Is_Line_Break:nonstarter}', "");
-Expect(1, 6102, '\P{^Is_Line_Break:nonstarter}', "");
-Expect(0, 6101, '\p{Is_Line_Break:nonstarter}', "");
-Expect(1, 6101, '\p{^Is_Line_Break:nonstarter}', "");
-Expect(1, 6101, '\P{Is_Line_Break:nonstarter}', "");
-Expect(0, 6101, '\P{^Is_Line_Break:nonstarter}', "");
-Expect(1, 6102, '\p{Is_Line_Break=_nonstarter}', "");
-Expect(0, 6102, '\p{^Is_Line_Break=_nonstarter}', "");
-Expect(0, 6102, '\P{Is_Line_Break=_nonstarter}', "");
-Expect(1, 6102, '\P{^Is_Line_Break=_nonstarter}', "");
-Expect(0, 6101, '\p{Is_Line_Break=_nonstarter}', "");
-Expect(1, 6101, '\p{^Is_Line_Break=_nonstarter}', "");
-Expect(1, 6101, '\P{Is_Line_Break=_nonstarter}', "");
-Expect(0, 6101, '\P{^Is_Line_Break=_nonstarter}', "");
-Error('\p{Is_Lb=:=__NS}');
-Error('\P{Is_Lb=:=__NS}');
-Expect(1, 6102, '\p{Is_Lb=ns}', "");
-Expect(0, 6102, '\p{^Is_Lb=ns}', "");
-Expect(0, 6102, '\P{Is_Lb=ns}', "");
-Expect(1, 6102, '\P{^Is_Lb=ns}', "");
-Expect(0, 6101, '\p{Is_Lb=ns}', "");
-Expect(1, 6101, '\p{^Is_Lb=ns}', "");
-Expect(1, 6101, '\P{Is_Lb=ns}', "");
-Expect(0, 6101, '\P{^Is_Lb=ns}', "");
-Expect(1, 6102, '\p{Is_Lb=_-NS}', "");
-Expect(0, 6102, '\p{^Is_Lb=_-NS}', "");
-Expect(0, 6102, '\P{Is_Lb=_-NS}', "");
-Expect(1, 6102, '\P{^Is_Lb=_-NS}', "");
-Expect(0, 6101, '\p{Is_Lb=_-NS}', "");
-Expect(1, 6101, '\p{^Is_Lb=_-NS}', "");
-Expect(1, 6101, '\P{Is_Lb=_-NS}', "");
-Expect(0, 6101, '\P{^Is_Lb=_-NS}', "");
-Error('\p{Line_Break=/a/JV}');
-Error('\P{Line_Break=/a/JV}');
-Expect(1, 4519, '\p{Line_Break=jv}', "");
-Expect(0, 4519, '\p{^Line_Break=jv}', "");
-Expect(0, 4519, '\P{Line_Break=jv}', "");
-Expect(1, 4519, '\P{^Line_Break=jv}', "");
-Expect(0, 4447, '\p{Line_Break=jv}', "");
-Expect(1, 4447, '\p{^Line_Break=jv}', "");
-Expect(1, 4447, '\P{Line_Break=jv}', "");
-Expect(0, 4447, '\P{^Line_Break=jv}', "");
-Expect(1, 4519, '\p{Line_Break= JV}', "");
-Expect(0, 4519, '\p{^Line_Break= JV}', "");
-Expect(0, 4519, '\P{Line_Break= JV}', "");
-Expect(1, 4519, '\P{^Line_Break= JV}', "");
-Expect(0, 4447, '\p{Line_Break= JV}', "");
-Expect(1, 4447, '\p{^Line_Break= JV}', "");
-Expect(1, 4447, '\P{Line_Break= JV}', "");
-Expect(0, 4447, '\P{^Line_Break= JV}', "");
-Error('\p{Lb= jv/a/}');
-Error('\P{Lb= jv/a/}');
-Expect(1, 4519, '\p{Lb=jv}', "");
-Expect(0, 4519, '\p{^Lb=jv}', "");
-Expect(0, 4519, '\P{Lb=jv}', "");
-Expect(1, 4519, '\P{^Lb=jv}', "");
-Expect(0, 4447, '\p{Lb=jv}', "");
-Expect(1, 4447, '\p{^Lb=jv}', "");
-Expect(1, 4447, '\P{Lb=jv}', "");
-Expect(0, 4447, '\P{^Lb=jv}', "");
-Expect(1, 4519, '\p{Lb=-JV}', "");
-Expect(0, 4519, '\p{^Lb=-JV}', "");
-Expect(0, 4519, '\P{Lb=-JV}', "");
-Expect(1, 4519, '\P{^Lb=-JV}', "");
-Expect(0, 4447, '\p{Lb=-JV}', "");
-Expect(1, 4447, '\p{^Lb=-JV}', "");
-Expect(1, 4447, '\P{Lb=-JV}', "");
-Expect(0, 4447, '\P{^Lb=-JV}', "");
-Error('\p{Is_Line_Break=/a/ JV}');
-Error('\P{Is_Line_Break=/a/ JV}');
-Expect(1, 4519, '\p{Is_Line_Break:jv}', "");
-Expect(0, 4519, '\p{^Is_Line_Break:jv}', "");
-Expect(0, 4519, '\P{Is_Line_Break:jv}', "");
-Expect(1, 4519, '\P{^Is_Line_Break:jv}', "");
-Expect(0, 4447, '\p{Is_Line_Break:jv}', "");
-Expect(1, 4447, '\p{^Is_Line_Break:jv}', "");
-Expect(1, 4447, '\P{Is_Line_Break:jv}', "");
-Expect(0, 4447, '\P{^Is_Line_Break:jv}', "");
-Expect(1, 4519, '\p{Is_Line_Break=- JV}', "");
-Expect(0, 4519, '\p{^Is_Line_Break=- JV}', "");
-Expect(0, 4519, '\P{Is_Line_Break=- JV}', "");
-Expect(1, 4519, '\P{^Is_Line_Break=- JV}', "");
-Expect(0, 4447, '\p{Is_Line_Break=- JV}', "");
-Expect(1, 4447, '\p{^Is_Line_Break=- JV}', "");
-Expect(1, 4447, '\P{Is_Line_Break=- JV}', "");
-Expect(0, 4447, '\P{^Is_Line_Break=- JV}', "");
-Error('\p{Is_Lb=:=JV}');
-Error('\P{Is_Lb=:=JV}');
-Expect(1, 4519, '\p{Is_Lb=jv}', "");
-Expect(0, 4519, '\p{^Is_Lb=jv}', "");
-Expect(0, 4519, '\P{Is_Lb=jv}', "");
-Expect(1, 4519, '\P{^Is_Lb=jv}', "");
-Expect(0, 4447, '\p{Is_Lb=jv}', "");
-Expect(1, 4447, '\p{^Is_Lb=jv}', "");
-Expect(1, 4447, '\P{Is_Lb=jv}', "");
-Expect(0, 4447, '\P{^Is_Lb=jv}', "");
-Expect(1, 4519, '\p{Is_Lb=JV}', "");
-Expect(0, 4519, '\p{^Is_Lb=JV}', "");
-Expect(0, 4519, '\P{Is_Lb=JV}', "");
-Expect(1, 4519, '\P{^Is_Lb=JV}', "");
-Expect(0, 4447, '\p{Is_Lb=JV}', "");
-Expect(1, 4447, '\p{^Is_Lb=JV}', "");
-Expect(1, 4447, '\P{Is_Lb=JV}', "");
-Expect(0, 4447, '\P{^Is_Lb=JV}', "");
-Error('\p{Line_Break: :=_-Quotation}');
-Error('\P{Line_Break: :=_-Quotation}');
-Expect(1, 34, '\p{Line_Break=quotation}', "");
-Expect(0, 34, '\p{^Line_Break=quotation}', "");
-Expect(0, 34, '\P{Line_Break=quotation}', "");
-Expect(1, 34, '\P{^Line_Break=quotation}', "");
-Expect(0, 33, '\p{Line_Break=quotation}', "");
-Expect(1, 33, '\p{^Line_Break=quotation}', "");
-Expect(1, 33, '\P{Line_Break=quotation}', "");
-Expect(0, 33, '\P{^Line_Break=quotation}', "");
-Expect(1, 34, '\p{Line_Break= Quotation}', "");
-Expect(0, 34, '\p{^Line_Break= Quotation}', "");
-Expect(0, 34, '\P{Line_Break= Quotation}', "");
-Expect(1, 34, '\P{^Line_Break= Quotation}', "");
-Expect(0, 33, '\p{Line_Break= Quotation}', "");
-Expect(1, 33, '\p{^Line_Break= Quotation}', "");
-Expect(1, 33, '\P{Line_Break= Quotation}', "");
-Expect(0, 33, '\P{^Line_Break= Quotation}', "");
-Error('\p{Lb=_ QU:=}');
-Error('\P{Lb=_ QU:=}');
-Expect(1, 34, '\p{Lb=qu}', "");
-Expect(0, 34, '\p{^Lb=qu}', "");
-Expect(0, 34, '\P{Lb=qu}', "");
-Expect(1, 34, '\P{^Lb=qu}', "");
-Expect(0, 33, '\p{Lb=qu}', "");
-Expect(1, 33, '\p{^Lb=qu}', "");
-Expect(1, 33, '\P{Lb=qu}', "");
-Expect(0, 33, '\P{^Lb=qu}', "");
-Expect(1, 34, '\p{Lb: -qu}', "");
-Expect(0, 34, '\p{^Lb: -qu}', "");
-Expect(0, 34, '\P{Lb: -qu}', "");
-Expect(1, 34, '\P{^Lb: -qu}', "");
-Expect(0, 33, '\p{Lb: -qu}', "");
-Expect(1, 33, '\p{^Lb: -qu}', "");
-Expect(1, 33, '\P{Lb: -qu}', "");
-Expect(0, 33, '\P{^Lb: -qu}', "");
-Error('\p{Is_Line_Break=-/a/Quotation}');
-Error('\P{Is_Line_Break=-/a/Quotation}');
-Expect(1, 34, '\p{Is_Line_Break=quotation}', "");
-Expect(0, 34, '\p{^Is_Line_Break=quotation}', "");
-Expect(0, 34, '\P{Is_Line_Break=quotation}', "");
-Expect(1, 34, '\P{^Is_Line_Break=quotation}', "");
-Expect(0, 33, '\p{Is_Line_Break=quotation}', "");
-Expect(1, 33, '\p{^Is_Line_Break=quotation}', "");
-Expect(1, 33, '\P{Is_Line_Break=quotation}', "");
-Expect(0, 33, '\P{^Is_Line_Break=quotation}', "");
-Expect(1, 34, '\p{Is_Line_Break=- quotation}', "");
-Expect(0, 34, '\p{^Is_Line_Break=- quotation}', "");
-Expect(0, 34, '\P{Is_Line_Break=- quotation}', "");
-Expect(1, 34, '\P{^Is_Line_Break=- quotation}', "");
-Expect(0, 33, '\p{Is_Line_Break=- quotation}', "");
-Expect(1, 33, '\p{^Is_Line_Break=- quotation}', "");
-Expect(1, 33, '\P{Is_Line_Break=- quotation}', "");
-Expect(0, 33, '\P{^Is_Line_Break=- quotation}', "");
-Error('\p{Is_Lb=:=_ QU}');
-Error('\P{Is_Lb=:=_ QU}');
-Expect(1, 34, '\p{Is_Lb=qu}', "");
-Expect(0, 34, '\p{^Is_Lb=qu}', "");
-Expect(0, 34, '\P{Is_Lb=qu}', "");
-Expect(1, 34, '\P{^Is_Lb=qu}', "");
-Expect(0, 33, '\p{Is_Lb=qu}', "");
-Expect(1, 33, '\p{^Is_Lb=qu}', "");
-Expect(1, 33, '\P{Is_Lb=qu}', "");
-Expect(0, 33, '\P{^Is_Lb=qu}', "");
-Expect(1, 34, '\p{Is_Lb= qu}', "");
-Expect(0, 34, '\p{^Is_Lb= qu}', "");
-Expect(0, 34, '\P{Is_Lb= qu}', "");
-Expect(1, 34, '\P{^Is_Lb= qu}', "");
-Expect(0, 33, '\p{Is_Lb= qu}', "");
-Expect(1, 33, '\p{^Is_Lb= qu}', "");
-Expect(1, 33, '\P{Is_Lb= qu}', "");
-Expect(0, 33, '\P{^Is_Lb= qu}', "");
-Error('\p{Line_Break= :=Infix_Numeric}');
-Error('\P{Line_Break= :=Infix_Numeric}');
-Expect(1, 44, '\p{Line_Break=infixnumeric}', "");
-Expect(0, 44, '\p{^Line_Break=infixnumeric}', "");
-Expect(0, 44, '\P{Line_Break=infixnumeric}', "");
-Expect(1, 44, '\P{^Line_Break=infixnumeric}', "");
-Expect(0, 43, '\p{Line_Break=infixnumeric}', "");
-Expect(1, 43, '\p{^Line_Break=infixnumeric}', "");
-Expect(1, 43, '\P{Line_Break=infixnumeric}', "");
-Expect(0, 43, '\P{^Line_Break=infixnumeric}', "");
-Expect(1, 44, '\p{Line_Break= INFIXNumeric}', "");
-Expect(0, 44, '\p{^Line_Break= INFIXNumeric}', "");
-Expect(0, 44, '\P{Line_Break= INFIXNumeric}', "");
-Expect(1, 44, '\P{^Line_Break= INFIXNumeric}', "");
-Expect(0, 43, '\p{Line_Break= INFIXNumeric}', "");
-Expect(1, 43, '\p{^Line_Break= INFIXNumeric}', "");
-Expect(1, 43, '\P{Line_Break= INFIXNumeric}', "");
-Expect(0, 43, '\P{^Line_Break= INFIXNumeric}', "");
-Error('\p{Lb=_-IS:=}');
-Error('\P{Lb=_-IS:=}');
-Expect(1, 44, '\p{Lb=is}', "");
-Expect(0, 44, '\p{^Lb=is}', "");
-Expect(0, 44, '\P{Lb=is}', "");
-Expect(1, 44, '\P{^Lb=is}', "");
-Expect(0, 43, '\p{Lb=is}', "");
-Expect(1, 43, '\p{^Lb=is}', "");
-Expect(1, 43, '\P{Lb=is}', "");
-Expect(0, 43, '\P{^Lb=is}', "");
-Expect(1, 44, '\p{Lb: is}', "");
-Expect(0, 44, '\p{^Lb: is}', "");
-Expect(0, 44, '\P{Lb: is}', "");
-Expect(1, 44, '\P{^Lb: is}', "");
-Expect(0, 43, '\p{Lb: is}', "");
-Expect(1, 43, '\p{^Lb: is}', "");
-Expect(1, 43, '\P{Lb: is}', "");
-Expect(0, 43, '\P{^Lb: is}', "");
-Error('\p{Is_Line_Break=:=-INFIX NUMERIC}');
-Error('\P{Is_Line_Break=:=-INFIX NUMERIC}');
-Expect(1, 44, '\p{Is_Line_Break=infixnumeric}', "");
-Expect(0, 44, '\p{^Is_Line_Break=infixnumeric}', "");
-Expect(0, 44, '\P{Is_Line_Break=infixnumeric}', "");
-Expect(1, 44, '\P{^Is_Line_Break=infixnumeric}', "");
-Expect(0, 43, '\p{Is_Line_Break=infixnumeric}', "");
-Expect(1, 43, '\p{^Is_Line_Break=infixnumeric}', "");
-Expect(1, 43, '\P{Is_Line_Break=infixnumeric}', "");
-Expect(0, 43, '\P{^Is_Line_Break=infixnumeric}', "");
-Expect(1, 44, '\p{Is_Line_Break= Infixnumeric}', "");
-Expect(0, 44, '\p{^Is_Line_Break= Infixnumeric}', "");
-Expect(0, 44, '\P{Is_Line_Break= Infixnumeric}', "");
-Expect(1, 44, '\P{^Is_Line_Break= Infixnumeric}', "");
-Expect(0, 43, '\p{Is_Line_Break= Infixnumeric}', "");
-Expect(1, 43, '\p{^Is_Line_Break= Infixnumeric}', "");
-Expect(1, 43, '\P{Is_Line_Break= Infixnumeric}', "");
-Expect(0, 43, '\P{^Is_Line_Break= Infixnumeric}', "");
-Error('\p{Is_Lb=_ IS/a/}');
-Error('\P{Is_Lb=_ IS/a/}');
-Expect(1, 44, '\p{Is_Lb: is}', "");
-Expect(0, 44, '\p{^Is_Lb: is}', "");
-Expect(0, 44, '\P{Is_Lb: is}', "");
-Expect(1, 44, '\P{^Is_Lb: is}', "");
-Expect(0, 43, '\p{Is_Lb: is}', "");
-Expect(1, 43, '\p{^Is_Lb: is}', "");
-Expect(1, 43, '\P{Is_Lb: is}', "");
-Expect(0, 43, '\P{^Is_Lb: is}', "");
-Expect(1, 44, '\p{Is_Lb= is}', "");
-Expect(0, 44, '\p{^Is_Lb= is}', "");
-Expect(0, 44, '\P{Is_Lb= is}', "");
-Expect(1, 44, '\P{^Is_Lb= is}', "");
-Expect(0, 43, '\p{Is_Lb= is}', "");
-Expect(1, 43, '\p{^Is_Lb= is}', "");
-Expect(1, 43, '\P{Is_Lb= is}', "");
-Expect(0, 43, '\P{^Is_Lb= is}', "");
-Error('\p{Line_Break=_ Inseparable/a/}');
-Error('\P{Line_Break=_ Inseparable/a/}');
-Expect(1, 8230, '\p{Line_Break=inseparable}', "");
-Expect(0, 8230, '\p{^Line_Break=inseparable}', "");
-Expect(0, 8230, '\P{Line_Break=inseparable}', "");
-Expect(1, 8230, '\P{^Line_Break=inseparable}', "");
-Expect(0, 8227, '\p{Line_Break=inseparable}', "");
-Expect(1, 8227, '\p{^Line_Break=inseparable}', "");
-Expect(1, 8227, '\P{Line_Break=inseparable}', "");
-Expect(0, 8227, '\P{^Line_Break=inseparable}', "");
-Expect(1, 8230, '\p{Line_Break=-Inseparable}', "");
-Expect(0, 8230, '\p{^Line_Break=-Inseparable}', "");
-Expect(0, 8230, '\P{Line_Break=-Inseparable}', "");
-Expect(1, 8230, '\P{^Line_Break=-Inseparable}', "");
-Expect(0, 8227, '\p{Line_Break=-Inseparable}', "");
-Expect(1, 8227, '\p{^Line_Break=-Inseparable}', "");
-Expect(1, 8227, '\P{Line_Break=-Inseparable}', "");
-Expect(0, 8227, '\P{^Line_Break=-Inseparable}', "");
-Error('\p{Lb: /a/IN}');
-Error('\P{Lb: /a/IN}');
-Expect(1, 8230, '\p{Lb=in}', "");
-Expect(0, 8230, '\p{^Lb=in}', "");
-Expect(0, 8230, '\P{Lb=in}', "");
-Expect(1, 8230, '\P{^Lb=in}', "");
-Expect(0, 8227, '\p{Lb=in}', "");
-Expect(1, 8227, '\p{^Lb=in}', "");
-Expect(1, 8227, '\P{Lb=in}', "");
-Expect(0, 8227, '\P{^Lb=in}', "");
-Expect(1, 8230, '\p{Lb=--in}', "");
-Expect(0, 8230, '\p{^Lb=--in}', "");
-Expect(0, 8230, '\P{Lb=--in}', "");
-Expect(1, 8230, '\P{^Lb=--in}', "");
-Expect(0, 8227, '\p{Lb=--in}', "");
-Expect(1, 8227, '\p{^Lb=--in}', "");
-Expect(1, 8227, '\P{Lb=--in}', "");
-Expect(0, 8227, '\P{^Lb=--in}', "");
-Error('\p{Is_Line_Break= inseperable/a/}');
-Error('\P{Is_Line_Break= inseperable/a/}');
-Expect(1, 8230, '\p{Is_Line_Break=inseperable}', "");
-Expect(0, 8230, '\p{^Is_Line_Break=inseperable}', "");
-Expect(0, 8230, '\P{Is_Line_Break=inseperable}', "");
-Expect(1, 8230, '\P{^Is_Line_Break=inseperable}', "");
-Expect(0, 8227, '\p{Is_Line_Break=inseperable}', "");
-Expect(1, 8227, '\p{^Is_Line_Break=inseperable}', "");
-Expect(1, 8227, '\P{Is_Line_Break=inseperable}', "");
-Expect(0, 8227, '\P{^Is_Line_Break=inseperable}', "");
-Expect(1, 8230, '\p{Is_Line_Break=_inseperable}', "");
-Expect(0, 8230, '\p{^Is_Line_Break=_inseperable}', "");
-Expect(0, 8230, '\P{Is_Line_Break=_inseperable}', "");
-Expect(1, 8230, '\P{^Is_Line_Break=_inseperable}', "");
-Expect(0, 8227, '\p{Is_Line_Break=_inseperable}', "");
-Expect(1, 8227, '\p{^Is_Line_Break=_inseperable}', "");
-Expect(1, 8227, '\P{Is_Line_Break=_inseperable}', "");
-Expect(0, 8227, '\P{^Is_Line_Break=_inseperable}', "");
-Error('\p{Is_Lb=_INSEPARABLE:=}');
-Error('\P{Is_Lb=_INSEPARABLE:=}');
-Expect(1, 8230, '\p{Is_Lb=inseparable}', "");
-Expect(0, 8230, '\p{^Is_Lb=inseparable}', "");
-Expect(0, 8230, '\P{Is_Lb=inseparable}', "");
-Expect(1, 8230, '\P{^Is_Lb=inseparable}', "");
-Expect(0, 8227, '\p{Is_Lb=inseparable}', "");
-Expect(1, 8227, '\p{^Is_Lb=inseparable}', "");
-Expect(1, 8227, '\P{Is_Lb=inseparable}', "");
-Expect(0, 8227, '\P{^Is_Lb=inseparable}', "");
-Expect(1, 8230, '\p{Is_Lb=_inseparable}', "");
-Expect(0, 8230, '\p{^Is_Lb=_inseparable}', "");
-Expect(0, 8230, '\P{Is_Lb=_inseparable}', "");
-Expect(1, 8230, '\P{^Is_Lb=_inseparable}', "");
-Expect(0, 8227, '\p{Is_Lb=_inseparable}', "");
-Expect(1, 8227, '\p{^Is_Lb=_inseparable}', "");
-Expect(1, 8227, '\P{Is_Lb=_inseparable}', "");
-Expect(0, 8227, '\P{^Is_Lb=_inseparable}', "");
-Error('\p{Line_Break=:=- Complex Context}');
-Error('\P{Line_Break=:=- Complex Context}');
-Expect(1, 3642, '\p{Line_Break: complexcontext}', "");
-Expect(0, 3642, '\p{^Line_Break: complexcontext}', "");
-Expect(0, 3642, '\P{Line_Break: complexcontext}', "");
-Expect(1, 3642, '\P{^Line_Break: complexcontext}', "");
-Expect(0, 3584, '\p{Line_Break: complexcontext}', "");
-Expect(1, 3584, '\p{^Line_Break: complexcontext}', "");
-Expect(1, 3584, '\P{Line_Break: complexcontext}', "");
-Expect(0, 3584, '\P{^Line_Break: complexcontext}', "");
-Expect(1, 3642, '\p{Line_Break=_ complexContext}', "");
-Expect(0, 3642, '\p{^Line_Break=_ complexContext}', "");
-Expect(0, 3642, '\P{Line_Break=_ complexContext}', "");
-Expect(1, 3642, '\P{^Line_Break=_ complexContext}', "");
-Expect(0, 3584, '\p{Line_Break=_ complexContext}', "");
-Expect(1, 3584, '\p{^Line_Break=_ complexContext}', "");
-Expect(1, 3584, '\P{Line_Break=_ complexContext}', "");
-Expect(0, 3584, '\P{^Line_Break=_ complexContext}', "");
-Error('\p{Lb=/a/SA}');
-Error('\P{Lb=/a/SA}');
-Expect(1, 3642, '\p{Lb=sa}', "");
-Expect(0, 3642, '\p{^Lb=sa}', "");
-Expect(0, 3642, '\P{Lb=sa}', "");
-Expect(1, 3642, '\P{^Lb=sa}', "");
-Expect(0, 3584, '\p{Lb=sa}', "");
-Expect(1, 3584, '\p{^Lb=sa}', "");
-Expect(1, 3584, '\P{Lb=sa}', "");
-Expect(0, 3584, '\P{^Lb=sa}', "");
-Expect(1, 3642, '\p{Lb=-_SA}', "");
-Expect(0, 3642, '\p{^Lb=-_SA}', "");
-Expect(0, 3642, '\P{Lb=-_SA}', "");
-Expect(1, 3642, '\P{^Lb=-_SA}', "");
-Expect(0, 3584, '\p{Lb=-_SA}', "");
-Expect(1, 3584, '\p{^Lb=-_SA}', "");
-Expect(1, 3584, '\P{Lb=-_SA}', "");
-Expect(0, 3584, '\P{^Lb=-_SA}', "");
-Error('\p{Is_Line_Break= :=ComplexCONTEXT}');
-Error('\P{Is_Line_Break= :=ComplexCONTEXT}');
-Expect(1, 3642, '\p{Is_Line_Break=complexcontext}', "");
-Expect(0, 3642, '\p{^Is_Line_Break=complexcontext}', "");
-Expect(0, 3642, '\P{Is_Line_Break=complexcontext}', "");
-Expect(1, 3642, '\P{^Is_Line_Break=complexcontext}', "");
-Expect(0, 3584, '\p{Is_Line_Break=complexcontext}', "");
-Expect(1, 3584, '\p{^Is_Line_Break=complexcontext}', "");
-Expect(1, 3584, '\P{Is_Line_Break=complexcontext}', "");
-Expect(0, 3584, '\P{^Is_Line_Break=complexcontext}', "");
-Expect(1, 3642, '\p{Is_Line_Break=_-Complex Context}', "");
-Expect(0, 3642, '\p{^Is_Line_Break=_-Complex Context}', "");
-Expect(0, 3642, '\P{Is_Line_Break=_-Complex Context}', "");
-Expect(1, 3642, '\P{^Is_Line_Break=_-Complex Context}', "");
-Expect(0, 3584, '\p{Is_Line_Break=_-Complex Context}', "");
-Expect(1, 3584, '\p{^Is_Line_Break=_-Complex Context}', "");
-Expect(1, 3584, '\P{Is_Line_Break=_-Complex Context}', "");
-Expect(0, 3584, '\P{^Is_Line_Break=_-Complex Context}', "");
-Error('\p{Is_Lb=:= SA}');
-Error('\P{Is_Lb=:= SA}');
-Expect(1, 3642, '\p{Is_Lb=sa}', "");
-Expect(0, 3642, '\p{^Is_Lb=sa}', "");
-Expect(0, 3642, '\P{Is_Lb=sa}', "");
-Expect(1, 3642, '\P{^Is_Lb=sa}', "");
-Expect(0, 3584, '\p{Is_Lb=sa}', "");
-Expect(1, 3584, '\p{^Is_Lb=sa}', "");
-Expect(1, 3584, '\P{Is_Lb=sa}', "");
-Expect(0, 3584, '\P{^Is_Lb=sa}', "");
-Expect(1, 3642, '\p{Is_Lb= sa}', "");
-Expect(0, 3642, '\p{^Is_Lb= sa}', "");
-Expect(0, 3642, '\P{Is_Lb= sa}', "");
-Expect(1, 3642, '\P{^Is_Lb= sa}', "");
-Expect(0, 3584, '\p{Is_Lb= sa}', "");
-Expect(1, 3584, '\p{^Is_Lb= sa}', "");
-Expect(1, 3584, '\P{Is_Lb= sa}', "");
-Expect(0, 3584, '\P{^Is_Lb= sa}', "");
-Error('\p{Line_Break= /a/HYPHEN}');
-Error('\P{Line_Break= /a/HYPHEN}');
-Expect(1, 45, '\p{Line_Break=hyphen}', "");
-Expect(0, 45, '\p{^Line_Break=hyphen}', "");
-Expect(0, 45, '\P{Line_Break=hyphen}', "");
-Expect(1, 45, '\P{^Line_Break=hyphen}', "");
-Expect(0, 44, '\p{Line_Break=hyphen}', "");
-Expect(1, 44, '\p{^Line_Break=hyphen}', "");
-Expect(1, 44, '\P{Line_Break=hyphen}', "");
-Expect(0, 44, '\P{^Line_Break=hyphen}', "");
-Expect(1, 45, '\p{Line_Break= hyphen}', "");
-Expect(0, 45, '\p{^Line_Break= hyphen}', "");
-Expect(0, 45, '\P{Line_Break= hyphen}', "");
-Expect(1, 45, '\P{^Line_Break= hyphen}', "");
-Expect(0, 44, '\p{Line_Break= hyphen}', "");
-Expect(1, 44, '\p{^Line_Break= hyphen}', "");
-Expect(1, 44, '\P{Line_Break= hyphen}', "");
-Expect(0, 44, '\P{^Line_Break= hyphen}', "");
-Error('\p{Lb=_ HY:=}');
-Error('\P{Lb=_ HY:=}');
-Expect(1, 45, '\p{Lb=hy}', "");
-Expect(0, 45, '\p{^Lb=hy}', "");
-Expect(0, 45, '\P{Lb=hy}', "");
-Expect(1, 45, '\P{^Lb=hy}', "");
-Expect(0, 44, '\p{Lb=hy}', "");
-Expect(1, 44, '\p{^Lb=hy}', "");
-Expect(1, 44, '\P{Lb=hy}', "");
-Expect(0, 44, '\P{^Lb=hy}', "");
-Expect(1, 45, '\p{Lb=_ hy}', "");
-Expect(0, 45, '\p{^Lb=_ hy}', "");
-Expect(0, 45, '\P{Lb=_ hy}', "");
-Expect(1, 45, '\P{^Lb=_ hy}', "");
-Expect(0, 44, '\p{Lb=_ hy}', "");
-Expect(1, 44, '\p{^Lb=_ hy}', "");
-Expect(1, 44, '\P{Lb=_ hy}', "");
-Expect(0, 44, '\P{^Lb=_ hy}', "");
-Error('\p{Is_Line_Break= -HYPHEN/a/}');
-Error('\P{Is_Line_Break= -HYPHEN/a/}');
-Expect(1, 45, '\p{Is_Line_Break=hyphen}', "");
-Expect(0, 45, '\p{^Is_Line_Break=hyphen}', "");
-Expect(0, 45, '\P{Is_Line_Break=hyphen}', "");
-Expect(1, 45, '\P{^Is_Line_Break=hyphen}', "");
-Expect(0, 44, '\p{Is_Line_Break=hyphen}', "");
-Expect(1, 44, '\p{^Is_Line_Break=hyphen}', "");
-Expect(1, 44, '\P{Is_Line_Break=hyphen}', "");
-Expect(0, 44, '\P{^Is_Line_Break=hyphen}', "");
-Expect(1, 45, '\p{Is_Line_Break=_Hyphen}', "");
-Expect(0, 45, '\p{^Is_Line_Break=_Hyphen}', "");
-Expect(0, 45, '\P{Is_Line_Break=_Hyphen}', "");
-Expect(1, 45, '\P{^Is_Line_Break=_Hyphen}', "");
-Expect(0, 44, '\p{Is_Line_Break=_Hyphen}', "");
-Expect(1, 44, '\p{^Is_Line_Break=_Hyphen}', "");
-Expect(1, 44, '\P{Is_Line_Break=_Hyphen}', "");
-Expect(0, 44, '\P{^Is_Line_Break=_Hyphen}', "");
-Error('\p{Is_Lb= hy:=}');
-Error('\P{Is_Lb= hy:=}');
-Expect(1, 45, '\p{Is_Lb=hy}', "");
-Expect(0, 45, '\p{^Is_Lb=hy}', "");
-Expect(0, 45, '\P{Is_Lb=hy}', "");
-Expect(1, 45, '\P{^Is_Lb=hy}', "");
-Expect(0, 44, '\p{Is_Lb=hy}', "");
-Expect(1, 44, '\p{^Is_Lb=hy}', "");
-Expect(1, 44, '\P{Is_Lb=hy}', "");
-Expect(0, 44, '\P{^Is_Lb=hy}', "");
-Expect(1, 45, '\p{Is_Lb=-_HY}', "");
-Expect(0, 45, '\p{^Is_Lb=-_HY}', "");
-Expect(0, 45, '\P{Is_Lb=-_HY}', "");
-Expect(1, 45, '\P{^Is_Lb=-_HY}', "");
-Expect(0, 44, '\p{Is_Lb=-_HY}', "");
-Expect(1, 44, '\p{^Is_Lb=-_HY}', "");
-Expect(1, 44, '\P{Is_Lb=-_HY}', "");
-Expect(0, 44, '\P{^Is_Lb=-_HY}', "");
-Error('\p{Line_Break=_-break/a/after}');
-Error('\P{Line_Break=_-break/a/after}');
-Expect(1, 9, '\p{Line_Break=breakafter}', "");
-Expect(0, 9, '\p{^Line_Break=breakafter}', "");
-Expect(0, 9, '\P{Line_Break=breakafter}', "");
-Expect(1, 9, '\P{^Line_Break=breakafter}', "");
-Expect(0, 8, '\p{Line_Break=breakafter}', "");
-Expect(1, 8, '\p{^Line_Break=breakafter}', "");
-Expect(1, 8, '\P{Line_Break=breakafter}', "");
-Expect(0, 8, '\P{^Line_Break=breakafter}', "");
-Expect(1, 9, '\p{Line_Break=- break_After}', "");
-Expect(0, 9, '\p{^Line_Break=- break_After}', "");
-Expect(0, 9, '\P{Line_Break=- break_After}', "");
-Expect(1, 9, '\P{^Line_Break=- break_After}', "");
-Expect(0, 8, '\p{Line_Break=- break_After}', "");
-Expect(1, 8, '\p{^Line_Break=- break_After}', "");
-Expect(1, 8, '\P{Line_Break=- break_After}', "");
-Expect(0, 8, '\P{^Line_Break=- break_After}', "");
-Error('\p{Lb=:=_BA}');
-Error('\P{Lb=:=_BA}');
-Expect(1, 9, '\p{Lb=ba}', "");
-Expect(0, 9, '\p{^Lb=ba}', "");
-Expect(0, 9, '\P{Lb=ba}', "");
-Expect(1, 9, '\P{^Lb=ba}', "");
-Expect(0, 8, '\p{Lb=ba}', "");
-Expect(1, 8, '\p{^Lb=ba}', "");
-Expect(1, 8, '\P{Lb=ba}', "");
-Expect(0, 8, '\P{^Lb=ba}', "");
-Expect(1, 9, '\p{Lb=-BA}', "");
-Expect(0, 9, '\p{^Lb=-BA}', "");
-Expect(0, 9, '\P{Lb=-BA}', "");
-Expect(1, 9, '\P{^Lb=-BA}', "");
-Expect(0, 8, '\p{Lb=-BA}', "");
-Expect(1, 8, '\p{^Lb=-BA}', "");
-Expect(1, 8, '\P{Lb=-BA}', "");
-Expect(0, 8, '\P{^Lb=-BA}', "");
-Error('\p{Is_Line_Break=-Break After/a/}');
-Error('\P{Is_Line_Break=-Break After/a/}');
-Expect(1, 9, '\p{Is_Line_Break=breakafter}', "");
-Expect(0, 9, '\p{^Is_Line_Break=breakafter}', "");
-Expect(0, 9, '\P{Is_Line_Break=breakafter}', "");
-Expect(1, 9, '\P{^Is_Line_Break=breakafter}', "");
-Expect(0, 8, '\p{Is_Line_Break=breakafter}', "");
-Expect(1, 8, '\p{^Is_Line_Break=breakafter}', "");
-Expect(1, 8, '\P{Is_Line_Break=breakafter}', "");
-Expect(0, 8, '\P{^Is_Line_Break=breakafter}', "");
-Expect(1, 9, '\p{Is_Line_Break=-_BreakAfter}', "");
-Expect(0, 9, '\p{^Is_Line_Break=-_BreakAfter}', "");
-Expect(0, 9, '\P{Is_Line_Break=-_BreakAfter}', "");
-Expect(1, 9, '\P{^Is_Line_Break=-_BreakAfter}', "");
-Expect(0, 8, '\p{Is_Line_Break=-_BreakAfter}', "");
-Expect(1, 8, '\p{^Is_Line_Break=-_BreakAfter}', "");
-Expect(1, 8, '\P{Is_Line_Break=-_BreakAfter}', "");
-Expect(0, 8, '\P{^Is_Line_Break=-_BreakAfter}', "");
-Error('\p{Is_Lb=-BA/a/}');
-Error('\P{Is_Lb=-BA/a/}');
-Expect(1, 9, '\p{Is_Lb=ba}', "");
-Expect(0, 9, '\p{^Is_Lb=ba}', "");
-Expect(0, 9, '\P{Is_Lb=ba}', "");
-Expect(1, 9, '\P{^Is_Lb=ba}', "");
-Expect(0, 8, '\p{Is_Lb=ba}', "");
-Expect(1, 8, '\p{^Is_Lb=ba}', "");
-Expect(1, 8, '\P{Is_Lb=ba}', "");
-Expect(0, 8, '\P{^Is_Lb=ba}', "");
-Expect(1, 9, '\p{Is_Lb=_ BA}', "");
-Expect(0, 9, '\p{^Is_Lb=_ BA}', "");
-Expect(0, 9, '\P{Is_Lb=_ BA}', "");
-Expect(1, 9, '\P{^Is_Lb=_ BA}', "");
-Expect(0, 8, '\p{Is_Lb=_ BA}', "");
-Expect(1, 8, '\p{^Is_Lb=_ BA}', "");
-Expect(1, 8, '\P{Is_Lb=_ BA}', "");
-Expect(0, 8, '\P{^Is_Lb=_ BA}', "");
-Error('\p{Line_Break=_ LINE feed:=}');
-Error('\P{Line_Break=_ LINE feed:=}');
-Expect(1, 10, '\p{Line_Break=linefeed}', "");
-Expect(0, 10, '\p{^Line_Break=linefeed}', "");
-Expect(0, 10, '\P{Line_Break=linefeed}', "");
-Expect(1, 10, '\P{^Line_Break=linefeed}', "");
-Expect(0, 9, '\p{Line_Break=linefeed}', "");
-Expect(1, 9, '\p{^Line_Break=linefeed}', "");
-Expect(1, 9, '\P{Line_Break=linefeed}', "");
-Expect(0, 9, '\P{^Line_Break=linefeed}', "");
-Expect(1, 10, '\p{Line_Break: _LINE_feed}', "");
-Expect(0, 10, '\p{^Line_Break: _LINE_feed}', "");
-Expect(0, 10, '\P{Line_Break: _LINE_feed}', "");
-Expect(1, 10, '\P{^Line_Break: _LINE_feed}', "");
-Expect(0, 9, '\p{Line_Break: _LINE_feed}', "");
-Expect(1, 9, '\p{^Line_Break: _LINE_feed}', "");
-Expect(1, 9, '\P{Line_Break: _LINE_feed}', "");
-Expect(0, 9, '\P{^Line_Break: _LINE_feed}', "");
-Error('\p{Lb=:= -LF}');
-Error('\P{Lb=:= -LF}');
-Expect(1, 10, '\p{Lb=lf}', "");
-Expect(0, 10, '\p{^Lb=lf}', "");
-Expect(0, 10, '\P{Lb=lf}', "");
-Expect(1, 10, '\P{^Lb=lf}', "");
-Expect(0, 9, '\p{Lb=lf}', "");
-Expect(1, 9, '\p{^Lb=lf}', "");
-Expect(1, 9, '\P{Lb=lf}', "");
-Expect(0, 9, '\P{^Lb=lf}', "");
-Error('\p{Is_Line_Break=/a/- Line FEED}');
-Error('\P{Is_Line_Break=/a/- Line FEED}');
-Expect(1, 10, '\p{Is_Line_Break=linefeed}', "");
-Expect(0, 10, '\p{^Is_Line_Break=linefeed}', "");
-Expect(0, 10, '\P{Is_Line_Break=linefeed}', "");
-Expect(1, 10, '\P{^Is_Line_Break=linefeed}', "");
-Expect(0, 9, '\p{Is_Line_Break=linefeed}', "");
-Expect(1, 9, '\p{^Is_Line_Break=linefeed}', "");
-Expect(1, 9, '\P{Is_Line_Break=linefeed}', "");
-Expect(0, 9, '\P{^Is_Line_Break=linefeed}', "");
-Expect(1, 10, '\p{Is_Line_Break: Line FEED}', "");
-Expect(0, 10, '\p{^Is_Line_Break: Line FEED}', "");
-Expect(0, 10, '\P{Is_Line_Break: Line FEED}', "");
-Expect(1, 10, '\P{^Is_Line_Break: Line FEED}', "");
-Expect(0, 9, '\p{Is_Line_Break: Line FEED}', "");
-Expect(1, 9, '\p{^Is_Line_Break: Line FEED}', "");
-Expect(1, 9, '\P{Is_Line_Break: Line FEED}', "");
-Expect(0, 9, '\P{^Is_Line_Break: Line FEED}', "");
-Error('\p{Is_Lb= :=LF}');
-Error('\P{Is_Lb= :=LF}');
-Expect(1, 10, '\p{Is_Lb=lf}', "");
-Expect(0, 10, '\p{^Is_Lb=lf}', "");
-Expect(0, 10, '\P{Is_Lb=lf}', "");
-Expect(1, 10, '\P{^Is_Lb=lf}', "");
-Expect(0, 9, '\p{Is_Lb=lf}', "");
-Expect(1, 9, '\p{^Is_Lb=lf}', "");
-Expect(1, 9, '\P{Is_Lb=lf}', "");
-Expect(0, 9, '\P{^Is_Lb=lf}', "");
-Expect(1, 10, '\p{Is_Lb: _-lf}', "");
-Expect(0, 10, '\p{^Is_Lb: _-lf}', "");
-Expect(0, 10, '\P{Is_Lb: _-lf}', "");
-Expect(1, 10, '\P{^Is_Lb: _-lf}', "");
-Expect(0, 9, '\p{Is_Lb: _-lf}', "");
-Expect(1, 9, '\p{^Is_Lb: _-lf}', "");
-Expect(1, 9, '\P{Is_Lb: _-lf}', "");
-Expect(0, 9, '\P{^Is_Lb: _-lf}', "");
-Error('\p{Line_Break=_AMBIGUOUS:=}');
-Error('\P{Line_Break=_AMBIGUOUS:=}');
-Expect(1, 168, '\p{Line_Break=ambiguous}', "");
-Expect(0, 168, '\p{^Line_Break=ambiguous}', "");
-Expect(0, 168, '\P{Line_Break=ambiguous}', "");
-Expect(1, 168, '\P{^Line_Break=ambiguous}', "");
-Expect(0, 166, '\p{Line_Break=ambiguous}', "");
-Expect(1, 166, '\p{^Line_Break=ambiguous}', "");
-Expect(1, 166, '\P{Line_Break=ambiguous}', "");
-Expect(0, 166, '\P{^Line_Break=ambiguous}', "");
-Expect(1, 168, '\p{Line_Break=--Ambiguous}', "");
-Expect(0, 168, '\p{^Line_Break=--Ambiguous}', "");
-Expect(0, 168, '\P{Line_Break=--Ambiguous}', "");
-Expect(1, 168, '\P{^Line_Break=--Ambiguous}', "");
-Expect(0, 166, '\p{Line_Break=--Ambiguous}', "");
-Expect(1, 166, '\p{^Line_Break=--Ambiguous}', "");
-Expect(1, 166, '\P{Line_Break=--Ambiguous}', "");
-Expect(0, 166, '\P{^Line_Break=--Ambiguous}', "");
-Error('\p{Lb=- AI/a/}');
-Error('\P{Lb=- AI/a/}');
-Expect(1, 168, '\p{Lb=ai}', "");
-Expect(0, 168, '\p{^Lb=ai}', "");
-Expect(0, 168, '\P{Lb=ai}', "");
-Expect(1, 168, '\P{^Lb=ai}', "");
-Expect(0, 166, '\p{Lb=ai}', "");
-Expect(1, 166, '\p{^Lb=ai}', "");
-Expect(1, 166, '\P{Lb=ai}', "");
-Expect(0, 166, '\P{^Lb=ai}', "");
-Expect(1, 168, '\p{Lb=--AI}', "");
-Expect(0, 168, '\p{^Lb=--AI}', "");
-Expect(0, 168, '\P{Lb=--AI}', "");
-Expect(1, 168, '\P{^Lb=--AI}', "");
-Expect(0, 166, '\p{Lb=--AI}', "");
-Expect(1, 166, '\p{^Lb=--AI}', "");
-Expect(1, 166, '\P{Lb=--AI}', "");
-Expect(0, 166, '\P{^Lb=--AI}', "");
-Error('\p{Is_Line_Break= :=Ambiguous}');
-Error('\P{Is_Line_Break= :=Ambiguous}');
-Expect(1, 168, '\p{Is_Line_Break=ambiguous}', "");
-Expect(0, 168, '\p{^Is_Line_Break=ambiguous}', "");
-Expect(0, 168, '\P{Is_Line_Break=ambiguous}', "");
-Expect(1, 168, '\P{^Is_Line_Break=ambiguous}', "");
-Expect(0, 166, '\p{Is_Line_Break=ambiguous}', "");
-Expect(1, 166, '\p{^Is_Line_Break=ambiguous}', "");
-Expect(1, 166, '\P{Is_Line_Break=ambiguous}', "");
-Expect(0, 166, '\P{^Is_Line_Break=ambiguous}', "");
-Expect(1, 168, '\p{Is_Line_Break= AMBIGUOUS}', "");
-Expect(0, 168, '\p{^Is_Line_Break= AMBIGUOUS}', "");
-Expect(0, 168, '\P{Is_Line_Break= AMBIGUOUS}', "");
-Expect(1, 168, '\P{^Is_Line_Break= AMBIGUOUS}', "");
-Expect(0, 166, '\p{Is_Line_Break= AMBIGUOUS}', "");
-Expect(1, 166, '\p{^Is_Line_Break= AMBIGUOUS}', "");
-Expect(1, 166, '\P{Is_Line_Break= AMBIGUOUS}', "");
-Expect(0, 166, '\P{^Is_Line_Break= AMBIGUOUS}', "");
-Error('\p{Is_Lb=-ai/a/}');
-Error('\P{Is_Lb=-ai/a/}');
-Expect(1, 168, '\p{Is_Lb=ai}', "");
-Expect(0, 168, '\p{^Is_Lb=ai}', "");
-Expect(0, 168, '\P{Is_Lb=ai}', "");
-Expect(1, 168, '\P{^Is_Lb=ai}', "");
-Expect(0, 166, '\p{Is_Lb=ai}', "");
-Expect(1, 166, '\p{^Is_Lb=ai}', "");
-Expect(1, 166, '\P{Is_Lb=ai}', "");
-Expect(0, 166, '\P{^Is_Lb=ai}', "");
-Expect(1, 168, '\p{Is_Lb= AI}', "");
-Expect(0, 168, '\p{^Is_Lb= AI}', "");
-Expect(0, 168, '\P{Is_Lb= AI}', "");
-Expect(1, 168, '\P{^Is_Lb= AI}', "");
-Expect(0, 166, '\p{Is_Lb= AI}', "");
-Expect(1, 166, '\p{^Is_Lb= AI}', "");
-Expect(1, 166, '\P{Is_Lb= AI}', "");
-Expect(0, 166, '\P{^Is_Lb= AI}', "");
-Error('\p{Line_Break: /a/Contingent_Break}');
-Error('\P{Line_Break: /a/Contingent_Break}');
-Expect(1, 65532, '\p{Line_Break=contingentbreak}', "");
-Expect(0, 65532, '\p{^Line_Break=contingentbreak}', "");
-Expect(0, 65532, '\P{Line_Break=contingentbreak}', "");
-Expect(1, 65532, '\P{^Line_Break=contingentbreak}', "");
-Expect(0, 65531, '\p{Line_Break=contingentbreak}', "");
-Expect(1, 65531, '\p{^Line_Break=contingentbreak}', "");
-Expect(1, 65531, '\P{Line_Break=contingentbreak}', "");
-Expect(0, 65531, '\P{^Line_Break=contingentbreak}', "");
-Expect(1, 65532, '\p{Line_Break=_Contingent-BREAK}', "");
-Expect(0, 65532, '\p{^Line_Break=_Contingent-BREAK}', "");
-Expect(0, 65532, '\P{Line_Break=_Contingent-BREAK}', "");
-Expect(1, 65532, '\P{^Line_Break=_Contingent-BREAK}', "");
-Expect(0, 65531, '\p{Line_Break=_Contingent-BREAK}', "");
-Expect(1, 65531, '\p{^Line_Break=_Contingent-BREAK}', "");
-Expect(1, 65531, '\P{Line_Break=_Contingent-BREAK}', "");
-Expect(0, 65531, '\P{^Line_Break=_Contingent-BREAK}', "");
-Error('\p{Lb=_ CB:=}');
-Error('\P{Lb=_ CB:=}');
-Expect(1, 65532, '\p{Lb=cb}', "");
-Expect(0, 65532, '\p{^Lb=cb}', "");
-Expect(0, 65532, '\P{Lb=cb}', "");
-Expect(1, 65532, '\P{^Lb=cb}', "");
-Expect(0, 65531, '\p{Lb=cb}', "");
-Expect(1, 65531, '\p{^Lb=cb}', "");
-Expect(1, 65531, '\P{Lb=cb}', "");
-Expect(0, 65531, '\P{^Lb=cb}', "");
-Expect(1, 65532, '\p{Lb:_-CB}', "");
-Expect(0, 65532, '\p{^Lb:_-CB}', "");
-Expect(0, 65532, '\P{Lb:_-CB}', "");
-Expect(1, 65532, '\P{^Lb:_-CB}', "");
-Expect(0, 65531, '\p{Lb:_-CB}', "");
-Expect(1, 65531, '\p{^Lb:_-CB}', "");
-Expect(1, 65531, '\P{Lb:_-CB}', "");
-Expect(0, 65531, '\P{^Lb:_-CB}', "");
-Error('\p{Is_Line_Break=- contingent:=break}');
-Error('\P{Is_Line_Break=- contingent:=break}');
-Expect(1, 65532, '\p{Is_Line_Break=contingentbreak}', "");
-Expect(0, 65532, '\p{^Is_Line_Break=contingentbreak}', "");
-Expect(0, 65532, '\P{Is_Line_Break=contingentbreak}', "");
-Expect(1, 65532, '\P{^Is_Line_Break=contingentbreak}', "");
-Expect(0, 65531, '\p{Is_Line_Break=contingentbreak}', "");
-Expect(1, 65531, '\p{^Is_Line_Break=contingentbreak}', "");
-Expect(1, 65531, '\P{Is_Line_Break=contingentbreak}', "");
-Expect(0, 65531, '\P{^Is_Line_Break=contingentbreak}', "");
-Expect(1, 65532, '\p{Is_Line_Break= Contingent_break}', "");
-Expect(0, 65532, '\p{^Is_Line_Break= Contingent_break}', "");
-Expect(0, 65532, '\P{Is_Line_Break= Contingent_break}', "");
-Expect(1, 65532, '\P{^Is_Line_Break= Contingent_break}', "");
-Expect(0, 65531, '\p{Is_Line_Break= Contingent_break}', "");
-Expect(1, 65531, '\p{^Is_Line_Break= Contingent_break}', "");
-Expect(1, 65531, '\P{Is_Line_Break= Contingent_break}', "");
-Expect(0, 65531, '\P{^Is_Line_Break= Contingent_break}', "");
-Error('\p{Is_Lb=:=_CB}');
-Error('\P{Is_Lb=:=_CB}');
-Expect(1, 65532, '\p{Is_Lb=cb}', "");
-Expect(0, 65532, '\p{^Is_Lb=cb}', "");
-Expect(0, 65532, '\P{Is_Lb=cb}', "");
-Expect(1, 65532, '\P{^Is_Lb=cb}', "");
-Expect(0, 65531, '\p{Is_Lb=cb}', "");
-Expect(1, 65531, '\p{^Is_Lb=cb}', "");
-Expect(1, 65531, '\P{Is_Lb=cb}', "");
-Expect(0, 65531, '\P{^Is_Lb=cb}', "");
-Expect(1, 65532, '\p{Is_Lb:-_CB}', "");
-Expect(0, 65532, '\p{^Is_Lb:-_CB}', "");
-Expect(0, 65532, '\P{Is_Lb:-_CB}', "");
-Expect(1, 65532, '\P{^Is_Lb:-_CB}', "");
-Expect(0, 65531, '\p{Is_Lb:-_CB}', "");
-Expect(1, 65531, '\p{^Is_Lb:-_CB}', "");
-Expect(1, 65531, '\P{Is_Lb:-_CB}', "");
-Expect(0, 65531, '\P{^Is_Lb:-_CB}', "");
-Error('\p{Line_Break=:= Exclamation}');
-Error('\P{Line_Break=:= Exclamation}');
-Expect(1, 33, '\p{Line_Break=exclamation}', "");
-Expect(0, 33, '\p{^Line_Break=exclamation}', "");
-Expect(0, 33, '\P{Line_Break=exclamation}', "");
-Expect(1, 33, '\P{^Line_Break=exclamation}', "");
-Expect(0, 32, '\p{Line_Break=exclamation}', "");
-Expect(1, 32, '\p{^Line_Break=exclamation}', "");
-Expect(1, 32, '\P{Line_Break=exclamation}', "");
-Expect(0, 32, '\P{^Line_Break=exclamation}', "");
-Expect(1, 33, '\p{Line_Break= Exclamation}', "");
-Expect(0, 33, '\p{^Line_Break= Exclamation}', "");
-Expect(0, 33, '\P{Line_Break= Exclamation}', "");
-Expect(1, 33, '\P{^Line_Break= Exclamation}', "");
-Expect(0, 32, '\p{Line_Break= Exclamation}', "");
-Expect(1, 32, '\p{^Line_Break= Exclamation}', "");
-Expect(1, 32, '\P{Line_Break= Exclamation}', "");
-Expect(0, 32, '\P{^Line_Break= Exclamation}', "");
-Error('\p{Lb=- EX/a/}');
-Error('\P{Lb=- EX/a/}');
-Expect(1, 33, '\p{Lb=ex}', "");
-Expect(0, 33, '\p{^Lb=ex}', "");
-Expect(0, 33, '\P{Lb=ex}', "");
-Expect(1, 33, '\P{^Lb=ex}', "");
-Expect(0, 32, '\p{Lb=ex}', "");
-Expect(1, 32, '\p{^Lb=ex}', "");
-Expect(1, 32, '\P{Lb=ex}', "");
-Expect(0, 32, '\P{^Lb=ex}', "");
-Expect(1, 33, '\p{Lb= _EX}', "");
-Expect(0, 33, '\p{^Lb= _EX}', "");
-Expect(0, 33, '\P{Lb= _EX}', "");
-Expect(1, 33, '\P{^Lb= _EX}', "");
-Expect(0, 32, '\p{Lb= _EX}', "");
-Expect(1, 32, '\p{^Lb= _EX}', "");
-Expect(1, 32, '\P{Lb= _EX}', "");
-Expect(0, 32, '\P{^Lb= _EX}', "");
-Error('\p{Is_Line_Break=-Exclamation:=}');
-Error('\P{Is_Line_Break=-Exclamation:=}');
-Expect(1, 33, '\p{Is_Line_Break=exclamation}', "");
-Expect(0, 33, '\p{^Is_Line_Break=exclamation}', "");
-Expect(0, 33, '\P{Is_Line_Break=exclamation}', "");
-Expect(1, 33, '\P{^Is_Line_Break=exclamation}', "");
-Expect(0, 32, '\p{Is_Line_Break=exclamation}', "");
-Expect(1, 32, '\p{^Is_Line_Break=exclamation}', "");
-Expect(1, 32, '\P{Is_Line_Break=exclamation}', "");
-Expect(0, 32, '\P{^Is_Line_Break=exclamation}', "");
-Expect(1, 33, '\p{Is_Line_Break= EXCLAMATION}', "");
-Expect(0, 33, '\p{^Is_Line_Break= EXCLAMATION}', "");
-Expect(0, 33, '\P{Is_Line_Break= EXCLAMATION}', "");
-Expect(1, 33, '\P{^Is_Line_Break= EXCLAMATION}', "");
-Expect(0, 32, '\p{Is_Line_Break= EXCLAMATION}', "");
-Expect(1, 32, '\p{^Is_Line_Break= EXCLAMATION}', "");
-Expect(1, 32, '\P{Is_Line_Break= EXCLAMATION}', "");
-Expect(0, 32, '\P{^Is_Line_Break= EXCLAMATION}', "");
-Error('\p{Is_Lb=_/a/EX}');
-Error('\P{Is_Lb=_/a/EX}');
-Expect(1, 33, '\p{Is_Lb:ex}', "");
-Expect(0, 33, '\p{^Is_Lb:ex}', "");
-Expect(0, 33, '\P{Is_Lb:ex}', "");
-Expect(1, 33, '\P{^Is_Lb:ex}', "");
-Expect(0, 32, '\p{Is_Lb:ex}', "");
-Expect(1, 32, '\p{^Is_Lb:ex}', "");
-Expect(1, 32, '\P{Is_Lb:ex}', "");
-Expect(0, 32, '\P{^Is_Lb:ex}', "");
-Expect(1, 33, '\p{Is_Lb=-_ex}', "");
-Expect(0, 33, '\p{^Is_Lb=-_ex}', "");
-Expect(0, 33, '\P{Is_Lb=-_ex}', "");
-Expect(1, 33, '\P{^Is_Lb=-_ex}', "");
-Expect(0, 32, '\p{Is_Lb=-_ex}', "");
-Expect(1, 32, '\p{^Is_Lb=-_ex}', "");
-Expect(1, 32, '\P{Is_Lb=-_ex}', "");
-Expect(0, 32, '\P{^Is_Lb=-_ex}', "");
-Error('\p{Line_Break=:=_ Ideographic}');
-Error('\P{Line_Break=:=_ Ideographic}');
-Expect(1, 11929, '\p{Line_Break=ideographic}', "");
-Expect(0, 11929, '\p{^Line_Break=ideographic}', "");
-Expect(0, 11929, '\P{Line_Break=ideographic}', "");
-Expect(1, 11929, '\P{^Line_Break=ideographic}', "");
-Expect(0, 11903, '\p{Line_Break=ideographic}', "");
-Expect(1, 11903, '\p{^Line_Break=ideographic}', "");
-Expect(1, 11903, '\P{Line_Break=ideographic}', "");
-Expect(0, 11903, '\P{^Line_Break=ideographic}', "");
-Expect(1, 11929, '\p{Line_Break=- Ideographic}', "");
-Expect(0, 11929, '\p{^Line_Break=- Ideographic}', "");
-Expect(0, 11929, '\P{Line_Break=- Ideographic}', "");
-Expect(1, 11929, '\P{^Line_Break=- Ideographic}', "");
-Expect(0, 11903, '\p{Line_Break=- Ideographic}', "");
-Expect(1, 11903, '\p{^Line_Break=- Ideographic}', "");
-Expect(1, 11903, '\P{Line_Break=- Ideographic}', "");
-Expect(0, 11903, '\P{^Line_Break=- Ideographic}', "");
-Error('\p{Lb= :=ID}');
-Error('\P{Lb= :=ID}');
-Expect(1, 11929, '\p{Lb=id}', "");
-Expect(0, 11929, '\p{^Lb=id}', "");
-Expect(0, 11929, '\P{Lb=id}', "");
-Expect(1, 11929, '\P{^Lb=id}', "");
-Expect(0, 11903, '\p{Lb=id}', "");
-Expect(1, 11903, '\p{^Lb=id}', "");
-Expect(1, 11903, '\P{Lb=id}', "");
-Expect(0, 11903, '\P{^Lb=id}', "");
-Expect(1, 11929, '\p{Lb= _ID}', "");
-Expect(0, 11929, '\p{^Lb= _ID}', "");
-Expect(0, 11929, '\P{Lb= _ID}', "");
-Expect(1, 11929, '\P{^Lb= _ID}', "");
-Expect(0, 11903, '\p{Lb= _ID}', "");
-Expect(1, 11903, '\p{^Lb= _ID}', "");
-Expect(1, 11903, '\P{Lb= _ID}', "");
-Expect(0, 11903, '\P{^Lb= _ID}', "");
-Error('\p{Is_Line_Break=:=_Ideographic}');
-Error('\P{Is_Line_Break=:=_Ideographic}');
-Expect(1, 11929, '\p{Is_Line_Break=ideographic}', "");
-Expect(0, 11929, '\p{^Is_Line_Break=ideographic}', "");
-Expect(0, 11929, '\P{Is_Line_Break=ideographic}', "");
-Expect(1, 11929, '\P{^Is_Line_Break=ideographic}', "");
-Expect(0, 11903, '\p{Is_Line_Break=ideographic}', "");
-Expect(1, 11903, '\p{^Is_Line_Break=ideographic}', "");
-Expect(1, 11903, '\P{Is_Line_Break=ideographic}', "");
-Expect(0, 11903, '\P{^Is_Line_Break=ideographic}', "");
-Expect(1, 11929, '\p{Is_Line_Break= ideographic}', "");
-Expect(0, 11929, '\p{^Is_Line_Break= ideographic}', "");
-Expect(0, 11929, '\P{Is_Line_Break= ideographic}', "");
-Expect(1, 11929, '\P{^Is_Line_Break= ideographic}', "");
-Expect(0, 11903, '\p{Is_Line_Break= ideographic}', "");
-Expect(1, 11903, '\p{^Is_Line_Break= ideographic}', "");
-Expect(1, 11903, '\P{Is_Line_Break= ideographic}', "");
-Expect(0, 11903, '\P{^Is_Line_Break= ideographic}', "");
-Error('\p{Is_Lb= ID/a/}');
-Error('\P{Is_Lb= ID/a/}');
-Expect(1, 11929, '\p{Is_Lb=id}', "");
-Expect(0, 11929, '\p{^Is_Lb=id}', "");
-Expect(0, 11929, '\P{Is_Lb=id}', "");
-Expect(1, 11929, '\P{^Is_Lb=id}', "");
-Expect(0, 11903, '\p{Is_Lb=id}', "");
-Expect(1, 11903, '\p{^Is_Lb=id}', "");
-Expect(1, 11903, '\P{Is_Lb=id}', "");
-Expect(0, 11903, '\P{^Is_Lb=id}', "");
-Expect(1, 11929, '\p{Is_Lb=-ID}', "");
-Expect(0, 11929, '\p{^Is_Lb=-ID}', "");
-Expect(0, 11929, '\P{Is_Lb=-ID}', "");
-Expect(1, 11929, '\P{^Is_Lb=-ID}', "");
-Expect(0, 11903, '\p{Is_Lb=-ID}', "");
-Expect(1, 11903, '\p{^Is_Lb=-ID}', "");
-Expect(1, 11903, '\P{Is_Lb=-ID}', "");
-Expect(0, 11903, '\P{^Is_Lb=-ID}', "");
-Error('\p{Line_Break=WORD:=joiner}');
-Error('\P{Line_Break=WORD:=joiner}');
-Expect(1, 8288, '\p{Line_Break=wordjoiner}', "");
-Expect(0, 8288, '\p{^Line_Break=wordjoiner}', "");
-Expect(0, 8288, '\P{Line_Break=wordjoiner}', "");
-Expect(1, 8288, '\P{^Line_Break=wordjoiner}', "");
-Expect(0, 8287, '\p{Line_Break=wordjoiner}', "");
-Expect(1, 8287, '\p{^Line_Break=wordjoiner}', "");
-Expect(1, 8287, '\P{Line_Break=wordjoiner}', "");
-Expect(0, 8287, '\P{^Line_Break=wordjoiner}', "");
-Expect(1, 8288, '\p{Line_Break= _word-JOINER}', "");
-Expect(0, 8288, '\p{^Line_Break= _word-JOINER}', "");
-Expect(0, 8288, '\P{Line_Break= _word-JOINER}', "");
-Expect(1, 8288, '\P{^Line_Break= _word-JOINER}', "");
-Expect(0, 8287, '\p{Line_Break= _word-JOINER}', "");
-Expect(1, 8287, '\p{^Line_Break= _word-JOINER}', "");
-Expect(1, 8287, '\P{Line_Break= _word-JOINER}', "");
-Expect(0, 8287, '\P{^Line_Break= _word-JOINER}', "");
-Error('\p{Lb=-WJ/a/}');
-Error('\P{Lb=-WJ/a/}');
-Expect(1, 8288, '\p{Lb: wj}', "");
-Expect(0, 8288, '\p{^Lb: wj}', "");
-Expect(0, 8288, '\P{Lb: wj}', "");
-Expect(1, 8288, '\P{^Lb: wj}', "");
-Expect(0, 8287, '\p{Lb: wj}', "");
-Expect(1, 8287, '\p{^Lb: wj}', "");
-Expect(1, 8287, '\P{Lb: wj}', "");
-Expect(0, 8287, '\P{^Lb: wj}', "");
-Expect(1, 8288, '\p{Lb= WJ}', "");
-Expect(0, 8288, '\p{^Lb= WJ}', "");
-Expect(0, 8288, '\P{Lb= WJ}', "");
-Expect(1, 8288, '\P{^Lb= WJ}', "");
-Expect(0, 8287, '\p{Lb= WJ}', "");
-Expect(1, 8287, '\p{^Lb= WJ}', "");
-Expect(1, 8287, '\P{Lb= WJ}', "");
-Expect(0, 8287, '\P{^Lb= WJ}', "");
-Error('\p{Is_Line_Break=/a/ wordJOINER}');
-Error('\P{Is_Line_Break=/a/ wordJOINER}');
-Expect(1, 8288, '\p{Is_Line_Break:wordjoiner}', "");
-Expect(0, 8288, '\p{^Is_Line_Break:wordjoiner}', "");
-Expect(0, 8288, '\P{Is_Line_Break:wordjoiner}', "");
-Expect(1, 8288, '\P{^Is_Line_Break:wordjoiner}', "");
-Expect(0, 8287, '\p{Is_Line_Break:wordjoiner}', "");
-Expect(1, 8287, '\p{^Is_Line_Break:wordjoiner}', "");
-Expect(1, 8287, '\P{Is_Line_Break:wordjoiner}', "");
-Expect(0, 8287, '\P{^Is_Line_Break:wordjoiner}', "");
-Expect(1, 8288, '\p{Is_Line_Break=_ Word Joiner}', "");
-Expect(0, 8288, '\p{^Is_Line_Break=_ Word Joiner}', "");
-Expect(0, 8288, '\P{Is_Line_Break=_ Word Joiner}', "");
-Expect(1, 8288, '\P{^Is_Line_Break=_ Word Joiner}', "");
-Expect(0, 8287, '\p{Is_Line_Break=_ Word Joiner}', "");
-Expect(1, 8287, '\p{^Is_Line_Break=_ Word Joiner}', "");
-Expect(1, 8287, '\P{Is_Line_Break=_ Word Joiner}', "");
-Expect(0, 8287, '\P{^Is_Line_Break=_ Word Joiner}', "");
-Error('\p{Is_Lb=/a/_wj}');
-Error('\P{Is_Lb=/a/_wj}');
-Expect(1, 8288, '\p{Is_Lb=wj}', "");
-Expect(0, 8288, '\p{^Is_Lb=wj}', "");
-Expect(0, 8288, '\P{Is_Lb=wj}', "");
-Expect(1, 8288, '\P{^Is_Lb=wj}', "");
-Expect(0, 8287, '\p{Is_Lb=wj}', "");
-Expect(1, 8287, '\p{^Is_Lb=wj}', "");
-Expect(1, 8287, '\P{Is_Lb=wj}', "");
-Expect(0, 8287, '\P{^Is_Lb=wj}', "");
-Expect(1, 8288, '\p{Is_Lb=- WJ}', "");
-Expect(0, 8288, '\p{^Is_Lb=- WJ}', "");
-Expect(0, 8288, '\P{Is_Lb=- WJ}', "");
-Expect(1, 8288, '\P{^Is_Lb=- WJ}', "");
-Expect(0, 8287, '\p{Is_Lb=- WJ}', "");
-Expect(1, 8287, '\p{^Is_Lb=- WJ}', "");
-Expect(1, 8287, '\P{Is_Lb=- WJ}', "");
-Expect(0, 8287, '\P{^Is_Lb=- WJ}', "");
-Error('\p{Line_Break=:=h2}');
-Error('\P{Line_Break=:=h2}');
-Expect(1, 44032, '\p{Line_Break=h2}', "");
-Expect(0, 44032, '\p{^Line_Break=h2}', "");
-Expect(0, 44032, '\P{Line_Break=h2}', "");
-Expect(1, 44032, '\P{^Line_Break=h2}', "");
-Expect(0, 44031, '\p{Line_Break=h2}', "");
-Expect(1, 44031, '\p{^Line_Break=h2}', "");
-Expect(1, 44031, '\P{Line_Break=h2}', "");
-Expect(0, 44031, '\P{^Line_Break=h2}', "");
-Expect(1, 44032, '\p{Line_Break=-H2}', "");
-Expect(0, 44032, '\p{^Line_Break=-H2}', "");
-Expect(0, 44032, '\P{Line_Break=-H2}', "");
-Expect(1, 44032, '\P{^Line_Break=-H2}', "");
-Expect(0, 44031, '\p{Line_Break=-H2}', "");
-Expect(1, 44031, '\p{^Line_Break=-H2}', "");
-Expect(1, 44031, '\P{Line_Break=-H2}', "");
-Expect(0, 44031, '\P{^Line_Break=-H2}', "");
-Error('\p{Lb=- h2:=}');
-Error('\P{Lb=- h2:=}');
-Expect(1, 44032, '\p{Lb=h2}', "");
-Expect(0, 44032, '\p{^Lb=h2}', "");
-Expect(0, 44032, '\P{Lb=h2}', "");
-Expect(1, 44032, '\P{^Lb=h2}', "");
-Expect(0, 44031, '\p{Lb=h2}', "");
-Expect(1, 44031, '\p{^Lb=h2}', "");
-Expect(1, 44031, '\P{Lb=h2}', "");
-Expect(0, 44031, '\P{^Lb=h2}', "");
-Expect(1, 44032, '\p{Lb=_H2}', "");
-Expect(0, 44032, '\p{^Lb=_H2}', "");
-Expect(0, 44032, '\P{Lb=_H2}', "");
-Expect(1, 44032, '\P{^Lb=_H2}', "");
-Expect(0, 44031, '\p{Lb=_H2}', "");
-Expect(1, 44031, '\p{^Lb=_H2}', "");
-Expect(1, 44031, '\P{Lb=_H2}', "");
-Expect(0, 44031, '\P{^Lb=_H2}', "");
-Error('\p{Is_Line_Break=/a/ -h2}');
-Error('\P{Is_Line_Break=/a/ -h2}');
-Expect(1, 44032, '\p{Is_Line_Break=h2}', "");
-Expect(0, 44032, '\p{^Is_Line_Break=h2}', "");
-Expect(0, 44032, '\P{Is_Line_Break=h2}', "");
-Expect(1, 44032, '\P{^Is_Line_Break=h2}', "");
-Expect(0, 44031, '\p{Is_Line_Break=h2}', "");
-Expect(1, 44031, '\p{^Is_Line_Break=h2}', "");
-Expect(1, 44031, '\P{Is_Line_Break=h2}', "");
-Expect(0, 44031, '\P{^Is_Line_Break=h2}', "");
-Expect(1, 44032, '\p{Is_Line_Break= H2}', "");
-Expect(0, 44032, '\p{^Is_Line_Break= H2}', "");
-Expect(0, 44032, '\P{Is_Line_Break= H2}', "");
-Expect(1, 44032, '\P{^Is_Line_Break= H2}', "");
-Expect(0, 44031, '\p{Is_Line_Break= H2}', "");
-Expect(1, 44031, '\p{^Is_Line_Break= H2}', "");
-Expect(1, 44031, '\P{Is_Line_Break= H2}', "");
-Expect(0, 44031, '\P{^Is_Line_Break= H2}', "");
-Error('\p{Is_Lb=:=H2}');
-Error('\P{Is_Lb=:=H2}');
-Expect(1, 44032, '\p{Is_Lb=h2}', "");
-Expect(0, 44032, '\p{^Is_Lb=h2}', "");
-Expect(0, 44032, '\P{Is_Lb=h2}', "");
-Expect(1, 44032, '\P{^Is_Lb=h2}', "");
-Expect(0, 44031, '\p{Is_Lb=h2}', "");
-Expect(1, 44031, '\p{^Is_Lb=h2}', "");
-Expect(1, 44031, '\P{Is_Lb=h2}', "");
-Expect(0, 44031, '\P{^Is_Lb=h2}', "");
-Expect(1, 44032, '\p{Is_Lb=-h2}', "");
-Expect(0, 44032, '\p{^Is_Lb=-h2}', "");
-Expect(0, 44032, '\P{Is_Lb=-h2}', "");
-Expect(1, 44032, '\P{^Is_Lb=-h2}', "");
-Expect(0, 44031, '\p{Is_Lb=-h2}', "");
-Expect(1, 44031, '\p{^Is_Lb=-h2}', "");
-Expect(1, 44031, '\P{Is_Lb=-h2}', "");
-Expect(0, 44031, '\P{^Is_Lb=-h2}', "");
-Error('\p{Line_Break= -BREAK_both/a/}');
-Error('\P{Line_Break= -BREAK_both/a/}');
-Expect(1, 8212, '\p{Line_Break=breakboth}', "");
-Expect(0, 8212, '\p{^Line_Break=breakboth}', "");
-Expect(0, 8212, '\P{Line_Break=breakboth}', "");
-Expect(1, 8212, '\P{^Line_Break=breakboth}', "");
-Expect(0, 8211, '\p{Line_Break=breakboth}', "");
-Expect(1, 8211, '\p{^Line_Break=breakboth}', "");
-Expect(1, 8211, '\P{Line_Break=breakboth}', "");
-Expect(0, 8211, '\P{^Line_Break=breakboth}', "");
-Expect(1, 8212, '\p{Line_Break=__Break BOTH}', "");
-Expect(0, 8212, '\p{^Line_Break=__Break BOTH}', "");
-Expect(0, 8212, '\P{Line_Break=__Break BOTH}', "");
-Expect(1, 8212, '\P{^Line_Break=__Break BOTH}', "");
-Expect(0, 8211, '\p{Line_Break=__Break BOTH}', "");
-Expect(1, 8211, '\p{^Line_Break=__Break BOTH}', "");
-Expect(1, 8211, '\P{Line_Break=__Break BOTH}', "");
-Expect(0, 8211, '\P{^Line_Break=__Break BOTH}', "");
-Error('\p{Lb=/a/B2}');
-Error('\P{Lb=/a/B2}');
-Expect(1, 8212, '\p{Lb=b2}', "");
-Expect(0, 8212, '\p{^Lb=b2}', "");
-Expect(0, 8212, '\P{Lb=b2}', "");
-Expect(1, 8212, '\P{^Lb=b2}', "");
-Expect(0, 8211, '\p{Lb=b2}', "");
-Expect(1, 8211, '\p{^Lb=b2}', "");
-Expect(1, 8211, '\P{Lb=b2}', "");
-Expect(0, 8211, '\P{^Lb=b2}', "");
-Expect(1, 8212, '\p{Lb= _B2}', "");
-Expect(0, 8212, '\p{^Lb= _B2}', "");
-Expect(0, 8212, '\P{Lb= _B2}', "");
-Expect(1, 8212, '\P{^Lb= _B2}', "");
-Expect(0, 8211, '\p{Lb= _B2}', "");
-Expect(1, 8211, '\p{^Lb= _B2}', "");
-Expect(1, 8211, '\P{Lb= _B2}', "");
-Expect(0, 8211, '\P{^Lb= _B2}', "");
-Error('\p{Is_Line_Break=- BreakBoth:=}');
-Error('\P{Is_Line_Break=- BreakBoth:=}');
-Expect(1, 8212, '\p{Is_Line_Break=breakboth}', "");
-Expect(0, 8212, '\p{^Is_Line_Break=breakboth}', "");
-Expect(0, 8212, '\P{Is_Line_Break=breakboth}', "");
-Expect(1, 8212, '\P{^Is_Line_Break=breakboth}', "");
-Expect(0, 8211, '\p{Is_Line_Break=breakboth}', "");
-Expect(1, 8211, '\p{^Is_Line_Break=breakboth}', "");
-Expect(1, 8211, '\P{Is_Line_Break=breakboth}', "");
-Expect(0, 8211, '\P{^Is_Line_Break=breakboth}', "");
-Expect(1, 8212, '\p{Is_Line_Break=-BREAK both}', "");
-Expect(0, 8212, '\p{^Is_Line_Break=-BREAK both}', "");
-Expect(0, 8212, '\P{Is_Line_Break=-BREAK both}', "");
-Expect(1, 8212, '\P{^Is_Line_Break=-BREAK both}', "");
-Expect(0, 8211, '\p{Is_Line_Break=-BREAK both}', "");
-Expect(1, 8211, '\p{^Is_Line_Break=-BREAK both}', "");
-Expect(1, 8211, '\P{Is_Line_Break=-BREAK both}', "");
-Expect(0, 8211, '\P{^Is_Line_Break=-BREAK both}', "");
-Error('\p{Is_Lb= /a/b2}');
-Error('\P{Is_Lb= /a/b2}');
-Expect(1, 8212, '\p{Is_Lb:b2}', "");
-Expect(0, 8212, '\p{^Is_Lb:b2}', "");
-Expect(0, 8212, '\P{Is_Lb:b2}', "");
-Expect(1, 8212, '\P{^Is_Lb:b2}', "");
-Expect(0, 8211, '\p{Is_Lb:b2}', "");
-Expect(1, 8211, '\p{^Is_Lb:b2}', "");
-Expect(1, 8211, '\P{Is_Lb:b2}', "");
-Expect(0, 8211, '\P{^Is_Lb:b2}', "");
-Expect(1, 8212, '\p{Is_Lb=-B2}', "");
-Expect(0, 8212, '\p{^Is_Lb=-B2}', "");
-Expect(0, 8212, '\P{Is_Lb=-B2}', "");
-Expect(1, 8212, '\P{^Is_Lb=-B2}', "");
-Expect(0, 8211, '\p{Is_Lb=-B2}', "");
-Expect(1, 8211, '\p{^Is_Lb=-B2}', "");
-Expect(1, 8211, '\P{Is_Lb=-B2}', "");
-Expect(0, 8211, '\P{^Is_Lb=-B2}', "");
-Error('\p{Line_Break= Alphabetic/a/}');
-Error('\P{Line_Break= Alphabetic/a/}');
-Expect(1, 35, '\p{Line_Break:alphabetic}', "");
-Expect(0, 35, '\p{^Line_Break:alphabetic}', "");
-Expect(0, 35, '\P{Line_Break:alphabetic}', "");
-Expect(1, 35, '\P{^Line_Break:alphabetic}', "");
-Expect(0, 34, '\p{Line_Break:alphabetic}', "");
-Expect(1, 34, '\p{^Line_Break:alphabetic}', "");
-Expect(1, 34, '\P{Line_Break:alphabetic}', "");
-Expect(0, 34, '\P{^Line_Break:alphabetic}', "");
-Expect(1, 35, '\p{Line_Break=-_Alphabetic}', "");
-Expect(0, 35, '\p{^Line_Break=-_Alphabetic}', "");
-Expect(0, 35, '\P{Line_Break=-_Alphabetic}', "");
-Expect(1, 35, '\P{^Line_Break=-_Alphabetic}', "");
-Expect(0, 34, '\p{Line_Break=-_Alphabetic}', "");
-Expect(1, 34, '\p{^Line_Break=-_Alphabetic}', "");
-Expect(1, 34, '\P{Line_Break=-_Alphabetic}', "");
-Expect(0, 34, '\P{^Line_Break=-_Alphabetic}', "");
-Error('\p{Lb= :=al}');
-Error('\P{Lb= :=al}');
-Expect(1, 35, '\p{Lb=al}', "");
-Expect(0, 35, '\p{^Lb=al}', "");
-Expect(0, 35, '\P{Lb=al}', "");
-Expect(1, 35, '\P{^Lb=al}', "");
-Expect(0, 34, '\p{Lb=al}', "");
-Expect(1, 34, '\p{^Lb=al}', "");
-Expect(1, 34, '\P{Lb=al}', "");
-Expect(0, 34, '\P{^Lb=al}', "");
-Expect(1, 35, '\p{Lb=AL}', "");
-Expect(0, 35, '\p{^Lb=AL}', "");
-Expect(0, 35, '\P{Lb=AL}', "");
-Expect(1, 35, '\P{^Lb=AL}', "");
-Expect(0, 34, '\p{Lb=AL}', "");
-Expect(1, 34, '\p{^Lb=AL}', "");
-Expect(1, 34, '\P{Lb=AL}', "");
-Expect(0, 34, '\P{^Lb=AL}', "");
-Error('\p{Is_Line_Break=-/a/alphabetic}');
-Error('\P{Is_Line_Break=-/a/alphabetic}');
-Expect(1, 35, '\p{Is_Line_Break=alphabetic}', "");
-Expect(0, 35, '\p{^Is_Line_Break=alphabetic}', "");
-Expect(0, 35, '\P{Is_Line_Break=alphabetic}', "");
-Expect(1, 35, '\P{^Is_Line_Break=alphabetic}', "");
-Expect(0, 34, '\p{Is_Line_Break=alphabetic}', "");
-Expect(1, 34, '\p{^Is_Line_Break=alphabetic}', "");
-Expect(1, 34, '\P{Is_Line_Break=alphabetic}', "");
-Expect(0, 34, '\P{^Is_Line_Break=alphabetic}', "");
-Expect(1, 35, '\p{Is_Line_Break= _alphabetic}', "");
-Expect(0, 35, '\p{^Is_Line_Break= _alphabetic}', "");
-Expect(0, 35, '\P{Is_Line_Break= _alphabetic}', "");
-Expect(1, 35, '\P{^Is_Line_Break= _alphabetic}', "");
-Expect(0, 34, '\p{Is_Line_Break= _alphabetic}', "");
-Expect(1, 34, '\p{^Is_Line_Break= _alphabetic}', "");
-Expect(1, 34, '\P{Is_Line_Break= _alphabetic}', "");
-Expect(0, 34, '\P{^Is_Line_Break= _alphabetic}', "");
-Error('\p{Is_Lb:- AL:=}');
-Error('\P{Is_Lb:- AL:=}');
-Expect(1, 35, '\p{Is_Lb=al}', "");
-Expect(0, 35, '\p{^Is_Lb=al}', "");
-Expect(0, 35, '\P{Is_Lb=al}', "");
-Expect(1, 35, '\P{^Is_Lb=al}', "");
-Expect(0, 34, '\p{Is_Lb=al}', "");
-Expect(1, 34, '\p{^Is_Lb=al}', "");
-Expect(1, 34, '\P{Is_Lb=al}', "");
-Expect(0, 34, '\P{^Is_Lb=al}', "");
-Expect(1, 35, '\p{Is_Lb= _al}', "");
-Expect(0, 35, '\p{^Is_Lb= _al}', "");
-Expect(0, 35, '\P{Is_Lb= _al}', "");
-Expect(1, 35, '\P{^Is_Lb= _al}', "");
-Expect(0, 34, '\p{Is_Lb= _al}', "");
-Expect(1, 34, '\p{^Is_Lb= _al}', "");
-Expect(1, 34, '\P{Is_Lb= _al}', "");
-Expect(0, 34, '\P{^Is_Lb= _al}', "");
-Error('\p{Line_Break= :=postfixNUMERIC}');
-Error('\P{Line_Break= :=postfixNUMERIC}');
-Expect(1, 37, '\p{Line_Break=postfixnumeric}', "");
-Expect(0, 37, '\p{^Line_Break=postfixnumeric}', "");
-Expect(0, 37, '\P{Line_Break=postfixnumeric}', "");
-Expect(1, 37, '\P{^Line_Break=postfixnumeric}', "");
-Expect(0, 36, '\p{Line_Break=postfixnumeric}', "");
-Expect(1, 36, '\p{^Line_Break=postfixnumeric}', "");
-Expect(1, 36, '\P{Line_Break=postfixnumeric}', "");
-Expect(0, 36, '\P{^Line_Break=postfixnumeric}', "");
-Expect(1, 37, '\p{Line_Break=__POSTFIX Numeric}', "");
-Expect(0, 37, '\p{^Line_Break=__POSTFIX Numeric}', "");
-Expect(0, 37, '\P{Line_Break=__POSTFIX Numeric}', "");
-Expect(1, 37, '\P{^Line_Break=__POSTFIX Numeric}', "");
-Expect(0, 36, '\p{Line_Break=__POSTFIX Numeric}', "");
-Expect(1, 36, '\p{^Line_Break=__POSTFIX Numeric}', "");
-Expect(1, 36, '\P{Line_Break=__POSTFIX Numeric}', "");
-Expect(0, 36, '\P{^Line_Break=__POSTFIX Numeric}', "");
-Error('\p{Lb=/a/po}');
-Error('\P{Lb=/a/po}');
-Expect(1, 37, '\p{Lb=po}', "");
-Expect(0, 37, '\p{^Lb=po}', "");
-Expect(0, 37, '\P{Lb=po}', "");
-Expect(1, 37, '\P{^Lb=po}', "");
-Expect(0, 36, '\p{Lb=po}', "");
-Expect(1, 36, '\p{^Lb=po}', "");
-Expect(1, 36, '\P{Lb=po}', "");
-Expect(0, 36, '\P{^Lb=po}', "");
-Error('\p{Is_Line_Break=--postfixNumeric:=}');
-Error('\P{Is_Line_Break=--postfixNumeric:=}');
-Expect(1, 37, '\p{Is_Line_Break: postfixnumeric}', "");
-Expect(0, 37, '\p{^Is_Line_Break: postfixnumeric}', "");
-Expect(0, 37, '\P{Is_Line_Break: postfixnumeric}', "");
-Expect(1, 37, '\P{^Is_Line_Break: postfixnumeric}', "");
-Expect(0, 36, '\p{Is_Line_Break: postfixnumeric}', "");
-Expect(1, 36, '\p{^Is_Line_Break: postfixnumeric}', "");
-Expect(1, 36, '\P{Is_Line_Break: postfixnumeric}', "");
-Expect(0, 36, '\P{^Is_Line_Break: postfixnumeric}', "");
-Expect(1, 37, '\p{Is_Line_Break= -Postfixnumeric}', "");
-Expect(0, 37, '\p{^Is_Line_Break= -Postfixnumeric}', "");
-Expect(0, 37, '\P{Is_Line_Break= -Postfixnumeric}', "");
-Expect(1, 37, '\P{^Is_Line_Break= -Postfixnumeric}', "");
-Expect(0, 36, '\p{Is_Line_Break= -Postfixnumeric}', "");
-Expect(1, 36, '\p{^Is_Line_Break= -Postfixnumeric}', "");
-Expect(1, 36, '\P{Is_Line_Break= -Postfixnumeric}', "");
-Expect(0, 36, '\P{^Is_Line_Break= -Postfixnumeric}', "");
-Error('\p{Is_Lb=:= po}');
-Error('\P{Is_Lb=:= po}');
-Expect(1, 37, '\p{Is_Lb=po}', "");
-Expect(0, 37, '\p{^Is_Lb=po}', "");
-Expect(0, 37, '\P{Is_Lb=po}', "");
-Expect(1, 37, '\P{^Is_Lb=po}', "");
-Expect(0, 36, '\p{Is_Lb=po}', "");
-Expect(1, 36, '\p{^Is_Lb=po}', "");
-Expect(1, 36, '\P{Is_Lb=po}', "");
-Expect(0, 36, '\P{^Is_Lb=po}', "");
-Expect(1, 37, '\p{Is_Lb=_PO}', "");
-Expect(0, 37, '\p{^Is_Lb=_PO}', "");
-Expect(0, 37, '\P{Is_Lb=_PO}', "");
-Expect(1, 37, '\P{^Is_Lb=_PO}', "");
-Expect(0, 36, '\p{Is_Lb=_PO}', "");
-Expect(1, 36, '\p{^Is_Lb=_PO}', "");
-Expect(1, 36, '\P{Is_Lb=_PO}', "");
-Expect(0, 36, '\P{^Is_Lb=_PO}', "");
-Error('\p{Line_Break=-openPunctuation/a/}');
-Error('\P{Line_Break=-openPunctuation/a/}');
-Expect(1, 40, '\p{Line_Break=openpunctuation}', "");
-Expect(0, 40, '\p{^Line_Break=openpunctuation}', "");
-Expect(0, 40, '\P{Line_Break=openpunctuation}', "");
-Expect(1, 40, '\P{^Line_Break=openpunctuation}', "");
-Expect(0, 39, '\p{Line_Break=openpunctuation}', "");
-Expect(1, 39, '\p{^Line_Break=openpunctuation}', "");
-Expect(1, 39, '\P{Line_Break=openpunctuation}', "");
-Expect(0, 39, '\P{^Line_Break=openpunctuation}', "");
-Expect(1, 40, '\p{Line_Break=_ Open PUNCTUATION}', "");
-Expect(0, 40, '\p{^Line_Break=_ Open PUNCTUATION}', "");
-Expect(0, 40, '\P{Line_Break=_ Open PUNCTUATION}', "");
-Expect(1, 40, '\P{^Line_Break=_ Open PUNCTUATION}', "");
-Expect(0, 39, '\p{Line_Break=_ Open PUNCTUATION}', "");
-Expect(1, 39, '\p{^Line_Break=_ Open PUNCTUATION}', "");
-Expect(1, 39, '\P{Line_Break=_ Open PUNCTUATION}', "");
-Expect(0, 39, '\P{^Line_Break=_ Open PUNCTUATION}', "");
-Error('\p{Lb=:=- OP}');
-Error('\P{Lb=:=- OP}');
-Expect(1, 40, '\p{Lb=op}', "");
-Expect(0, 40, '\p{^Lb=op}', "");
-Expect(0, 40, '\P{Lb=op}', "");
-Expect(1, 40, '\P{^Lb=op}', "");
-Expect(0, 39, '\p{Lb=op}', "");
-Expect(1, 39, '\p{^Lb=op}', "");
-Expect(1, 39, '\P{Lb=op}', "");
-Expect(0, 39, '\P{^Lb=op}', "");
-Expect(1, 40, '\p{Lb=- OP}', "");
-Expect(0, 40, '\p{^Lb=- OP}', "");
-Expect(0, 40, '\P{Lb=- OP}', "");
-Expect(1, 40, '\P{^Lb=- OP}', "");
-Expect(0, 39, '\p{Lb=- OP}', "");
-Expect(1, 39, '\p{^Lb=- OP}', "");
-Expect(1, 39, '\P{Lb=- OP}', "");
-Expect(0, 39, '\P{^Lb=- OP}', "");
-Error('\p{Is_Line_Break=_/a/Open_Punctuation}');
-Error('\P{Is_Line_Break=_/a/Open_Punctuation}');
-Expect(1, 40, '\p{Is_Line_Break: openpunctuation}', "");
-Expect(0, 40, '\p{^Is_Line_Break: openpunctuation}', "");
-Expect(0, 40, '\P{Is_Line_Break: openpunctuation}', "");
-Expect(1, 40, '\P{^Is_Line_Break: openpunctuation}', "");
-Expect(0, 39, '\p{Is_Line_Break: openpunctuation}', "");
-Expect(1, 39, '\p{^Is_Line_Break: openpunctuation}', "");
-Expect(1, 39, '\P{Is_Line_Break: openpunctuation}', "");
-Expect(0, 39, '\P{^Is_Line_Break: openpunctuation}', "");
-Expect(1, 40, '\p{Is_Line_Break: open punctuation}', "");
-Expect(0, 40, '\p{^Is_Line_Break: open punctuation}', "");
-Expect(0, 40, '\P{Is_Line_Break: open punctuation}', "");
-Expect(1, 40, '\P{^Is_Line_Break: open punctuation}', "");
-Expect(0, 39, '\p{Is_Line_Break: open punctuation}', "");
-Expect(1, 39, '\p{^Is_Line_Break: open punctuation}', "");
-Expect(1, 39, '\P{Is_Line_Break: open punctuation}', "");
-Expect(0, 39, '\P{^Is_Line_Break: open punctuation}', "");
-Error('\p{Is_Lb=/a/_ OP}');
-Error('\P{Is_Lb=/a/_ OP}');
-Expect(1, 40, '\p{Is_Lb=op}', "");
-Expect(0, 40, '\p{^Is_Lb=op}', "");
-Expect(0, 40, '\P{Is_Lb=op}', "");
-Expect(1, 40, '\P{^Is_Lb=op}', "");
-Expect(0, 39, '\p{Is_Lb=op}', "");
-Expect(1, 39, '\p{^Is_Lb=op}', "");
-Expect(1, 39, '\P{Is_Lb=op}', "");
-Expect(0, 39, '\P{^Is_Lb=op}', "");
-Expect(1, 40, '\p{Is_Lb=- OP}', "");
-Expect(0, 40, '\p{^Is_Lb=- OP}', "");
-Expect(0, 40, '\P{Is_Lb=- OP}', "");
-Expect(1, 40, '\P{^Is_Lb=- OP}', "");
-Expect(0, 39, '\p{Is_Lb=- OP}', "");
-Expect(1, 39, '\p{^Is_Lb=- OP}', "");
-Expect(1, 39, '\P{Is_Lb=- OP}', "");
-Expect(0, 39, '\P{^Is_Lb=- OP}', "");
-Error('\p{Line_Break: -next line:=}');
-Error('\P{Line_Break: -next line:=}');
-Expect(1, 133, '\p{Line_Break=nextline}', "");
-Expect(0, 133, '\p{^Line_Break=nextline}', "");
-Expect(0, 133, '\P{Line_Break=nextline}', "");
-Expect(1, 133, '\P{^Line_Break=nextline}', "");
-Expect(0, 132, '\p{Line_Break=nextline}', "");
-Expect(1, 132, '\p{^Line_Break=nextline}', "");
-Expect(1, 132, '\P{Line_Break=nextline}', "");
-Expect(0, 132, '\P{^Line_Break=nextline}', "");
-Expect(1, 133, '\p{Line_Break=_-NEXT-Line}', "");
-Expect(0, 133, '\p{^Line_Break=_-NEXT-Line}', "");
-Expect(0, 133, '\P{Line_Break=_-NEXT-Line}', "");
-Expect(1, 133, '\P{^Line_Break=_-NEXT-Line}', "");
-Expect(0, 132, '\p{Line_Break=_-NEXT-Line}', "");
-Expect(1, 132, '\p{^Line_Break=_-NEXT-Line}', "");
-Expect(1, 132, '\P{Line_Break=_-NEXT-Line}', "");
-Expect(0, 132, '\P{^Line_Break=_-NEXT-Line}', "");
-Error('\p{Lb=_NL/a/}');
-Error('\P{Lb=_NL/a/}');
-Expect(1, 133, '\p{Lb=nl}', "");
-Expect(0, 133, '\p{^Lb=nl}', "");
-Expect(0, 133, '\P{Lb=nl}', "");
-Expect(1, 133, '\P{^Lb=nl}', "");
-Expect(0, 132, '\p{Lb=nl}', "");
-Expect(1, 132, '\p{^Lb=nl}', "");
-Expect(1, 132, '\P{Lb=nl}', "");
-Expect(0, 132, '\P{^Lb=nl}', "");
-Expect(1, 133, '\p{Lb=-NL}', "");
-Expect(0, 133, '\p{^Lb=-NL}', "");
-Expect(0, 133, '\P{Lb=-NL}', "");
-Expect(1, 133, '\P{^Lb=-NL}', "");
-Expect(0, 132, '\p{Lb=-NL}', "");
-Expect(1, 132, '\p{^Lb=-NL}', "");
-Expect(1, 132, '\P{Lb=-NL}', "");
-Expect(0, 132, '\P{^Lb=-NL}', "");
-Error('\p{Is_Line_Break=next Line/a/}');
-Error('\P{Is_Line_Break=next Line/a/}');
-Expect(1, 133, '\p{Is_Line_Break=nextline}', "");
-Expect(0, 133, '\p{^Is_Line_Break=nextline}', "");
-Expect(0, 133, '\P{Is_Line_Break=nextline}', "");
-Expect(1, 133, '\P{^Is_Line_Break=nextline}', "");
-Expect(0, 132, '\p{Is_Line_Break=nextline}', "");
-Expect(1, 132, '\p{^Is_Line_Break=nextline}', "");
-Expect(1, 132, '\P{Is_Line_Break=nextline}', "");
-Expect(0, 132, '\P{^Is_Line_Break=nextline}', "");
-Expect(1, 133, '\p{Is_Line_Break=- Next_LINE}', "");
-Expect(0, 133, '\p{^Is_Line_Break=- Next_LINE}', "");
-Expect(0, 133, '\P{Is_Line_Break=- Next_LINE}', "");
-Expect(1, 133, '\P{^Is_Line_Break=- Next_LINE}', "");
-Expect(0, 132, '\p{Is_Line_Break=- Next_LINE}', "");
-Expect(1, 132, '\p{^Is_Line_Break=- Next_LINE}', "");
-Expect(1, 132, '\P{Is_Line_Break=- Next_LINE}', "");
-Expect(0, 132, '\P{^Is_Line_Break=- Next_LINE}', "");
-Error('\p{Is_Lb=:=NL}');
-Error('\P{Is_Lb=:=NL}');
-Expect(1, 133, '\p{Is_Lb=nl}', "");
-Expect(0, 133, '\p{^Is_Lb=nl}', "");
-Expect(0, 133, '\P{Is_Lb=nl}', "");
-Expect(1, 133, '\P{^Is_Lb=nl}', "");
-Expect(0, 132, '\p{Is_Lb=nl}', "");
-Expect(1, 132, '\p{^Is_Lb=nl}', "");
-Expect(1, 132, '\P{Is_Lb=nl}', "");
-Expect(0, 132, '\P{^Is_Lb=nl}', "");
-Expect(1, 133, '\p{Is_Lb= NL}', "");
-Expect(0, 133, '\p{^Is_Lb= NL}', "");
-Expect(0, 133, '\P{Is_Lb= NL}', "");
-Expect(1, 133, '\P{^Is_Lb= NL}', "");
-Expect(0, 132, '\p{Is_Lb= NL}', "");
-Expect(1, 132, '\p{^Is_Lb= NL}', "");
-Expect(1, 132, '\P{Is_Lb= NL}', "");
-Expect(0, 132, '\P{^Is_Lb= NL}', "");
-Error('\p{Line_Break=-:=JT}');
-Error('\P{Line_Break=-:=JT}');
-Expect(1, 4607, '\p{Line_Break=jt}', "");
-Expect(0, 4607, '\p{^Line_Break=jt}', "");
-Expect(0, 4607, '\P{Line_Break=jt}', "");
-Expect(1, 4607, '\P{^Line_Break=jt}', "");
-Expect(0, 4519, '\p{Line_Break=jt}', "");
-Expect(1, 4519, '\p{^Line_Break=jt}', "");
-Expect(1, 4519, '\P{Line_Break=jt}', "");
-Expect(0, 4519, '\P{^Line_Break=jt}', "");
-Expect(1, 4607, '\p{Line_Break= -JT}', "");
-Expect(0, 4607, '\p{^Line_Break= -JT}', "");
-Expect(0, 4607, '\P{Line_Break= -JT}', "");
-Expect(1, 4607, '\P{^Line_Break= -JT}', "");
-Expect(0, 4519, '\p{Line_Break= -JT}', "");
-Expect(1, 4519, '\p{^Line_Break= -JT}', "");
-Expect(1, 4519, '\P{Line_Break= -JT}', "");
-Expect(0, 4519, '\P{^Line_Break= -JT}', "");
-Error('\p{Lb=:= jt}');
-Error('\P{Lb=:= jt}');
-Expect(1, 4607, '\p{Lb=jt}', "");
-Expect(0, 4607, '\p{^Lb=jt}', "");
-Expect(0, 4607, '\P{Lb=jt}', "");
-Expect(1, 4607, '\P{^Lb=jt}', "");
-Expect(0, 4519, '\p{Lb=jt}', "");
-Expect(1, 4519, '\p{^Lb=jt}', "");
-Expect(1, 4519, '\P{Lb=jt}', "");
-Expect(0, 4519, '\P{^Lb=jt}', "");
-Expect(1, 4607, '\p{Lb=--JT}', "");
-Expect(0, 4607, '\p{^Lb=--JT}', "");
-Expect(0, 4607, '\P{Lb=--JT}', "");
-Expect(1, 4607, '\P{^Lb=--JT}', "");
-Expect(0, 4519, '\p{Lb=--JT}', "");
-Expect(1, 4519, '\p{^Lb=--JT}', "");
-Expect(1, 4519, '\P{Lb=--JT}', "");
-Expect(0, 4519, '\P{^Lb=--JT}', "");
-Error('\p{Is_Line_Break=/a/JT}');
-Error('\P{Is_Line_Break=/a/JT}');
-Expect(1, 4607, '\p{Is_Line_Break=jt}', "");
-Expect(0, 4607, '\p{^Is_Line_Break=jt}', "");
-Expect(0, 4607, '\P{Is_Line_Break=jt}', "");
-Expect(1, 4607, '\P{^Is_Line_Break=jt}', "");
-Expect(0, 4519, '\p{Is_Line_Break=jt}', "");
-Expect(1, 4519, '\p{^Is_Line_Break=jt}', "");
-Expect(1, 4519, '\P{Is_Line_Break=jt}', "");
-Expect(0, 4519, '\P{^Is_Line_Break=jt}', "");
-Expect(1, 4607, '\p{Is_Line_Break=_JT}', "");
-Expect(0, 4607, '\p{^Is_Line_Break=_JT}', "");
-Expect(0, 4607, '\P{Is_Line_Break=_JT}', "");
-Expect(1, 4607, '\P{^Is_Line_Break=_JT}', "");
-Expect(0, 4519, '\p{Is_Line_Break=_JT}', "");
-Expect(1, 4519, '\p{^Is_Line_Break=_JT}', "");
-Expect(1, 4519, '\P{Is_Line_Break=_JT}', "");
-Expect(0, 4519, '\P{^Is_Line_Break=_JT}', "");
-Error('\p{Is_Lb= :=JT}');
-Error('\P{Is_Lb= :=JT}');
-Expect(1, 4607, '\p{Is_Lb=jt}', "");
-Expect(0, 4607, '\p{^Is_Lb=jt}', "");
-Expect(0, 4607, '\P{Is_Lb=jt}', "");
-Expect(1, 4607, '\P{^Is_Lb=jt}', "");
-Expect(0, 4519, '\p{Is_Lb=jt}', "");
-Expect(1, 4519, '\p{^Is_Lb=jt}', "");
-Expect(1, 4519, '\P{Is_Lb=jt}', "");
-Expect(0, 4519, '\P{^Is_Lb=jt}', "");
-Expect(1, 4607, '\p{Is_Lb=- JT}', "");
-Expect(0, 4607, '\p{^Is_Lb=- JT}', "");
-Expect(0, 4607, '\P{Is_Lb=- JT}', "");
-Expect(1, 4607, '\P{^Is_Lb=- JT}', "");
-Expect(0, 4519, '\p{Is_Lb=- JT}', "");
-Expect(1, 4519, '\p{^Is_Lb=- JT}', "");
-Expect(1, 4519, '\P{Is_Lb=- JT}', "");
-Expect(0, 4519, '\P{^Is_Lb=- JT}', "");
-Error('\p{Block=-:=new_Tai-Lue}');
-Error('\P{Block=-:=new_Tai-Lue}');
-Expect(1, 6623, '\p{Block=newtailue}', "");
-Expect(0, 6623, '\p{^Block=newtailue}', "");
-Expect(0, 6623, '\P{Block=newtailue}', "");
-Expect(1, 6623, '\P{^Block=newtailue}', "");
-Expect(0, 6527, '\p{Block=newtailue}', "");
-Expect(1, 6527, '\p{^Block=newtailue}', "");
-Expect(1, 6527, '\P{Block=newtailue}', "");
-Expect(0, 6527, '\P{^Block=newtailue}', "");
-Expect(1, 6623, '\p{Block=_ New-TAI_Lue}', "");
-Expect(0, 6623, '\p{^Block=_ New-TAI_Lue}', "");
-Expect(0, 6623, '\P{Block=_ New-TAI_Lue}', "");
-Expect(1, 6623, '\P{^Block=_ New-TAI_Lue}', "");
-Expect(0, 6527, '\p{Block=_ New-TAI_Lue}', "");
-Expect(1, 6527, '\p{^Block=_ New-TAI_Lue}', "");
-Expect(1, 6527, '\P{Block=_ New-TAI_Lue}', "");
-Expect(0, 6527, '\P{^Block=_ New-TAI_Lue}', "");
-Error('\p{Blk: - New-tai:=LUE}');
-Error('\P{Blk: - New-tai:=LUE}');
-Expect(1, 6623, '\p{Blk=newtailue}', "");
-Expect(0, 6623, '\p{^Blk=newtailue}', "");
-Expect(0, 6623, '\P{Blk=newtailue}', "");
-Expect(1, 6623, '\P{^Blk=newtailue}', "");
-Expect(0, 6527, '\p{Blk=newtailue}', "");
-Expect(1, 6527, '\p{^Blk=newtailue}', "");
-Expect(1, 6527, '\P{Blk=newtailue}', "");
-Expect(0, 6527, '\P{^Blk=newtailue}', "");
-Expect(1, 6623, '\p{Blk= NEW TAILue}', "");
-Expect(0, 6623, '\p{^Blk= NEW TAILue}', "");
-Expect(0, 6623, '\P{Blk= NEW TAILue}', "");
-Expect(1, 6623, '\P{^Blk= NEW TAILue}', "");
-Expect(0, 6527, '\p{Blk= NEW TAILue}', "");
-Expect(1, 6527, '\p{^Blk= NEW TAILue}', "");
-Expect(1, 6527, '\P{Blk= NEW TAILue}', "");
-Expect(0, 6527, '\P{^Blk= NEW TAILue}', "");
-Error('\p{Is_Block=/a/ _New TAI_Lue}');
-Error('\P{Is_Block=/a/ _New TAI_Lue}');
-Expect(1, 6623, '\p{Is_Block=newtailue}', "");
-Expect(0, 6623, '\p{^Is_Block=newtailue}', "");
-Expect(0, 6623, '\P{Is_Block=newtailue}', "");
-Expect(1, 6623, '\P{^Is_Block=newtailue}', "");
-Expect(0, 6527, '\p{Is_Block=newtailue}', "");
-Expect(1, 6527, '\p{^Is_Block=newtailue}', "");
-Expect(1, 6527, '\P{Is_Block=newtailue}', "");
-Expect(0, 6527, '\P{^Is_Block=newtailue}', "");
-Expect(1, 6623, '\p{Is_Block=__New tailue}', "");
-Expect(0, 6623, '\p{^Is_Block=__New tailue}', "");
-Expect(0, 6623, '\P{Is_Block=__New tailue}', "");
-Expect(1, 6623, '\P{^Is_Block=__New tailue}', "");
-Expect(0, 6527, '\p{Is_Block=__New tailue}', "");
-Expect(1, 6527, '\p{^Is_Block=__New tailue}', "");
-Expect(1, 6527, '\P{Is_Block=__New tailue}', "");
-Expect(0, 6527, '\P{^Is_Block=__New tailue}', "");
-Error('\p{Is_Blk=_ New Tai/a/Lue}');
-Error('\P{Is_Blk=_ New Tai/a/Lue}');
-Expect(1, 6623, '\p{Is_Blk: newtailue}', "");
-Expect(0, 6623, '\p{^Is_Blk: newtailue}', "");
-Expect(0, 6623, '\P{Is_Blk: newtailue}', "");
-Expect(1, 6623, '\P{^Is_Blk: newtailue}', "");
-Expect(0, 6527, '\p{Is_Blk: newtailue}', "");
-Expect(1, 6527, '\p{^Is_Blk: newtailue}', "");
-Expect(1, 6527, '\P{Is_Blk: newtailue}', "");
-Expect(0, 6527, '\P{^Is_Blk: newtailue}', "");
-Expect(1, 6623, '\p{Is_Blk=- New Tai lue}', "");
-Expect(0, 6623, '\p{^Is_Blk=- New Tai lue}', "");
-Expect(0, 6623, '\P{Is_Blk=- New Tai lue}', "");
-Expect(1, 6623, '\P{^Is_Blk=- New Tai lue}', "");
-Expect(0, 6527, '\p{Is_Blk=- New Tai lue}', "");
-Expect(1, 6527, '\p{^Is_Blk=- New Tai lue}', "");
-Expect(1, 6527, '\P{Is_Blk=- New Tai lue}', "");
-Expect(0, 6527, '\P{^Is_Blk=- New Tai lue}', "");
-Error('\p{Block= :=CJK UNIFIED Ideographs Extensiona}');
-Error('\P{Block= :=CJK UNIFIED Ideographs Extensiona}');
-Expect(1, 19903, '\p{Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(0, 19903, '\p{^Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(0, 19903, '\P{Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(1, 19903, '\P{^Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(0, 13311, '\p{Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(1, 13311, '\p{^Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(1, 13311, '\P{Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Expect(0, 13311, '\P{^Block: _ CJK UNIFIED-IDEOGRAPHS-ExtensionA}', "");
-Error('\p{Blk= /a/CJK_Unified_Ideographsextension A}');
-Error('\P{Blk= /a/CJK_Unified_Ideographsextension A}');
-Expect(1, 19903, '\p{Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(0, 19903, '\p{^Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(0, 19903, '\P{Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(1, 19903, '\P{^Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(0, 13311, '\p{Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(1, 13311, '\p{^Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(1, 13311, '\P{Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Expect(0, 13311, '\P{^Blk= cjk Unified-IDEOGRAPHS-EXTENSION-A}', "");
-Error('\p{Is_Block=CJK-Unified/a/Ideographs_ExtensionA}');
-Error('\P{Is_Block=CJK-Unified/a/Ideographs_ExtensionA}');
-Expect(1, 19903, '\p{Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^Is_Block=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(0, 19903, '\p{^Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(0, 19903, '\P{Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(1, 19903, '\P{^Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(0, 13311, '\p{Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(1, 13311, '\p{^Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(1, 13311, '\P{Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Expect(0, 13311, '\P{^Is_Block= -CJK-UnifiedIDEOGRAPHSextension A}', "");
-Error('\p{Is_Blk: CJKunified:=ideographs EXTENSION-A}');
-Error('\P{Is_Blk: CJKunified:=ideographs EXTENSION-A}');
-Expect(1, 19903, '\p{Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^Is_Blk=cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(0, 19903, '\p{^Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(0, 19903, '\P{Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(1, 19903, '\P{^Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(0, 13311, '\p{Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(1, 13311, '\p{^Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(1, 13311, '\P{Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Expect(0, 13311, '\P{^Is_Blk=_-CJK Unified-Ideographs EXTENSION-A}', "");
-Error('\p{Block=-HANGULJAMO/a/}');
-Error('\P{Block=-HANGULJAMO/a/}');
-Expect(1, 4607, '\p{Block=hanguljamo}', "");
-Expect(0, 4607, '\p{^Block=hanguljamo}', "");
-Expect(0, 4607, '\P{Block=hanguljamo}', "");
-Expect(1, 4607, '\P{^Block=hanguljamo}', "");
-Expect(0, 4351, '\p{Block=hanguljamo}', "");
-Expect(1, 4351, '\p{^Block=hanguljamo}', "");
-Expect(1, 4351, '\P{Block=hanguljamo}', "");
-Expect(0, 4351, '\P{^Block=hanguljamo}', "");
-Expect(1, 4607, '\p{Block= -Hangul-jamo}', "");
-Expect(0, 4607, '\p{^Block= -Hangul-jamo}', "");
-Expect(0, 4607, '\P{Block= -Hangul-jamo}', "");
-Expect(1, 4607, '\P{^Block= -Hangul-jamo}', "");
-Expect(0, 4351, '\p{Block= -Hangul-jamo}', "");
-Expect(1, 4351, '\p{^Block= -Hangul-jamo}', "");
-Expect(1, 4351, '\P{Block= -Hangul-jamo}', "");
-Expect(0, 4351, '\P{^Block= -Hangul-jamo}', "");
-Error('\p{Blk=Hanguljamo:=}');
-Error('\P{Blk=Hanguljamo:=}');
-Expect(1, 4607, '\p{Blk=hanguljamo}', "");
-Expect(0, 4607, '\p{^Blk=hanguljamo}', "");
-Expect(0, 4607, '\P{Blk=hanguljamo}', "");
-Expect(1, 4607, '\P{^Blk=hanguljamo}', "");
-Expect(0, 4351, '\p{Blk=hanguljamo}', "");
-Expect(1, 4351, '\p{^Blk=hanguljamo}', "");
-Expect(1, 4351, '\P{Blk=hanguljamo}', "");
-Expect(0, 4351, '\P{^Blk=hanguljamo}', "");
-Expect(1, 4607, '\p{Blk: -HangulJamo}', "");
-Expect(0, 4607, '\p{^Blk: -HangulJamo}', "");
-Expect(0, 4607, '\P{Blk: -HangulJamo}', "");
-Expect(1, 4607, '\P{^Blk: -HangulJamo}', "");
-Expect(0, 4351, '\p{Blk: -HangulJamo}', "");
-Expect(1, 4351, '\p{^Blk: -HangulJamo}', "");
-Expect(1, 4351, '\P{Blk: -HangulJamo}', "");
-Expect(0, 4351, '\P{^Blk: -HangulJamo}', "");
-Error('\p{Is_Block=_hanguljamo:=}');
-Error('\P{Is_Block=_hanguljamo:=}');
-Expect(1, 4607, '\p{Is_Block=hanguljamo}', "");
-Expect(0, 4607, '\p{^Is_Block=hanguljamo}', "");
-Expect(0, 4607, '\P{Is_Block=hanguljamo}', "");
-Expect(1, 4607, '\P{^Is_Block=hanguljamo}', "");
-Expect(0, 4351, '\p{Is_Block=hanguljamo}', "");
-Expect(1, 4351, '\p{^Is_Block=hanguljamo}', "");
-Expect(1, 4351, '\P{Is_Block=hanguljamo}', "");
-Expect(0, 4351, '\P{^Is_Block=hanguljamo}', "");
-Expect(1, 4607, '\p{Is_Block= HANGUL Jamo}', "");
-Expect(0, 4607, '\p{^Is_Block= HANGUL Jamo}', "");
-Expect(0, 4607, '\P{Is_Block= HANGUL Jamo}', "");
-Expect(1, 4607, '\P{^Is_Block= HANGUL Jamo}', "");
-Expect(0, 4351, '\p{Is_Block= HANGUL Jamo}', "");
-Expect(1, 4351, '\p{^Is_Block= HANGUL Jamo}', "");
-Expect(1, 4351, '\P{Is_Block= HANGUL Jamo}', "");
-Expect(0, 4351, '\P{^Is_Block= HANGUL Jamo}', "");
-Error('\p{Is_Blk: /a/HANGUL-Jamo}');
-Error('\P{Is_Blk: /a/HANGUL-Jamo}');
-Expect(1, 4607, '\p{Is_Blk=hanguljamo}', "");
-Expect(0, 4607, '\p{^Is_Blk=hanguljamo}', "");
-Expect(0, 4607, '\P{Is_Blk=hanguljamo}', "");
-Expect(1, 4607, '\P{^Is_Blk=hanguljamo}', "");
-Expect(0, 4351, '\p{Is_Blk=hanguljamo}', "");
-Expect(1, 4351, '\p{^Is_Blk=hanguljamo}', "");
-Expect(1, 4351, '\P{Is_Blk=hanguljamo}', "");
-Expect(0, 4351, '\P{^Is_Blk=hanguljamo}', "");
-Expect(1, 4607, '\p{Is_Blk= HANGUL_Jamo}', "");
-Expect(0, 4607, '\p{^Is_Blk= HANGUL_Jamo}', "");
-Expect(0, 4607, '\P{Is_Blk= HANGUL_Jamo}', "");
-Expect(1, 4607, '\P{^Is_Blk= HANGUL_Jamo}', "");
-Expect(0, 4351, '\p{Is_Blk= HANGUL_Jamo}', "");
-Expect(1, 4351, '\p{^Is_Blk= HANGUL_Jamo}', "");
-Expect(1, 4351, '\P{Is_Blk= HANGUL_Jamo}', "");
-Expect(0, 4351, '\P{^Is_Blk= HANGUL_Jamo}', "");
-Error('\p{Block: Dingbats/a/}');
-Error('\P{Block: Dingbats/a/}');
-Expect(1, 10175, '\p{Block=dingbats}', "");
-Expect(0, 10175, '\p{^Block=dingbats}', "");
-Expect(0, 10175, '\P{Block=dingbats}', "");
-Expect(1, 10175, '\P{^Block=dingbats}', "");
-Expect(0, 9983, '\p{Block=dingbats}', "");
-Expect(1, 9983, '\p{^Block=dingbats}', "");
-Expect(1, 9983, '\P{Block=dingbats}', "");
-Expect(0, 9983, '\P{^Block=dingbats}', "");
-Expect(1, 10175, '\p{Block=- DINGBATS}', "");
-Expect(0, 10175, '\p{^Block=- DINGBATS}', "");
-Expect(0, 10175, '\P{Block=- DINGBATS}', "");
-Expect(1, 10175, '\P{^Block=- DINGBATS}', "");
-Expect(0, 9983, '\p{Block=- DINGBATS}', "");
-Expect(1, 9983, '\p{^Block=- DINGBATS}', "");
-Expect(1, 9983, '\P{Block=- DINGBATS}', "");
-Expect(0, 9983, '\P{^Block=- DINGBATS}', "");
-Error('\p{Blk= -Dingbats:=}');
-Error('\P{Blk= -Dingbats:=}');
-Expect(1, 10175, '\p{Blk=dingbats}', "");
-Expect(0, 10175, '\p{^Blk=dingbats}', "");
-Expect(0, 10175, '\P{Blk=dingbats}', "");
-Expect(1, 10175, '\P{^Blk=dingbats}', "");
-Expect(0, 9983, '\p{Blk=dingbats}', "");
-Expect(1, 9983, '\p{^Blk=dingbats}', "");
-Expect(1, 9983, '\P{Blk=dingbats}', "");
-Expect(0, 9983, '\P{^Blk=dingbats}', "");
-Expect(1, 10175, '\p{Blk= dingbats}', "");
-Expect(0, 10175, '\p{^Blk= dingbats}', "");
-Expect(0, 10175, '\P{Blk= dingbats}', "");
-Expect(1, 10175, '\P{^Blk= dingbats}', "");
-Expect(0, 9983, '\p{Blk= dingbats}', "");
-Expect(1, 9983, '\p{^Blk= dingbats}', "");
-Expect(1, 9983, '\P{Blk= dingbats}', "");
-Expect(0, 9983, '\P{^Blk= dingbats}', "");
-Error('\p{Is_Block=:=_dingbats}');
-Error('\P{Is_Block=:=_dingbats}');
-Expect(1, 10175, '\p{Is_Block=dingbats}', "");
-Expect(0, 10175, '\p{^Is_Block=dingbats}', "");
-Expect(0, 10175, '\P{Is_Block=dingbats}', "");
-Expect(1, 10175, '\P{^Is_Block=dingbats}', "");
-Expect(0, 9983, '\p{Is_Block=dingbats}', "");
-Expect(1, 9983, '\p{^Is_Block=dingbats}', "");
-Expect(1, 9983, '\P{Is_Block=dingbats}', "");
-Expect(0, 9983, '\P{^Is_Block=dingbats}', "");
-Expect(1, 10175, '\p{Is_Block=Dingbats}', "");
-Expect(0, 10175, '\p{^Is_Block=Dingbats}', "");
-Expect(0, 10175, '\P{Is_Block=Dingbats}', "");
-Expect(1, 10175, '\P{^Is_Block=Dingbats}', "");
-Expect(0, 9983, '\p{Is_Block=Dingbats}', "");
-Expect(1, 9983, '\p{^Is_Block=Dingbats}', "");
-Expect(1, 9983, '\P{Is_Block=Dingbats}', "");
-Expect(0, 9983, '\P{^Is_Block=Dingbats}', "");
-Error('\p{Is_Blk=/a/dingbats}');
-Error('\P{Is_Blk=/a/dingbats}');
-Expect(1, 10175, '\p{Is_Blk:dingbats}', "");
-Expect(0, 10175, '\p{^Is_Blk:dingbats}', "");
-Expect(0, 10175, '\P{Is_Blk:dingbats}', "");
-Expect(1, 10175, '\P{^Is_Blk:dingbats}', "");
-Expect(0, 9983, '\p{Is_Blk:dingbats}', "");
-Expect(1, 9983, '\p{^Is_Blk:dingbats}', "");
-Expect(1, 9983, '\P{Is_Blk:dingbats}', "");
-Expect(0, 9983, '\P{^Is_Blk:dingbats}', "");
-Expect(1, 10175, '\p{Is_Blk=- Dingbats}', "");
-Expect(0, 10175, '\p{^Is_Blk=- Dingbats}', "");
-Expect(0, 10175, '\P{Is_Blk=- Dingbats}', "");
-Expect(1, 10175, '\P{^Is_Blk=- Dingbats}', "");
-Expect(0, 9983, '\p{Is_Blk=- Dingbats}', "");
-Expect(1, 9983, '\p{^Is_Blk=- Dingbats}', "");
-Expect(1, 9983, '\P{Is_Blk=- Dingbats}', "");
-Expect(0, 9983, '\P{^Is_Blk=- Dingbats}', "");
-Error('\p{Block=:= Bamum}');
-Error('\P{Block=:= Bamum}');
-Expect(1, 42751, '\p{Block=bamum}', "");
-Expect(0, 42751, '\p{^Block=bamum}', "");
-Expect(0, 42751, '\P{Block=bamum}', "");
-Expect(1, 42751, '\P{^Block=bamum}', "");
-Expect(0, 42655, '\p{Block=bamum}', "");
-Expect(1, 42655, '\p{^Block=bamum}', "");
-Expect(1, 42655, '\P{Block=bamum}', "");
-Expect(0, 42655, '\P{^Block=bamum}', "");
-Expect(1, 42751, '\p{Block= bamum}', "");
-Expect(0, 42751, '\p{^Block= bamum}', "");
-Expect(0, 42751, '\P{Block= bamum}', "");
-Expect(1, 42751, '\P{^Block= bamum}', "");
-Expect(0, 42655, '\p{Block= bamum}', "");
-Expect(1, 42655, '\p{^Block= bamum}', "");
-Expect(1, 42655, '\P{Block= bamum}', "");
-Expect(0, 42655, '\P{^Block= bamum}', "");
-Error('\p{Blk= /a/bamum}');
-Error('\P{Blk= /a/bamum}');
-Expect(1, 42751, '\p{Blk=bamum}', "");
-Expect(0, 42751, '\p{^Blk=bamum}', "");
-Expect(0, 42751, '\P{Blk=bamum}', "");
-Expect(1, 42751, '\P{^Blk=bamum}', "");
-Expect(0, 42655, '\p{Blk=bamum}', "");
-Expect(1, 42655, '\p{^Blk=bamum}', "");
-Expect(1, 42655, '\P{Blk=bamum}', "");
-Expect(0, 42655, '\P{^Blk=bamum}', "");
-Expect(1, 42751, '\p{Blk= BAMUM}', "");
-Expect(0, 42751, '\p{^Blk= BAMUM}', "");
-Expect(0, 42751, '\P{Blk= BAMUM}', "");
-Expect(1, 42751, '\P{^Blk= BAMUM}', "");
-Expect(0, 42655, '\p{Blk= BAMUM}', "");
-Expect(1, 42655, '\p{^Blk= BAMUM}', "");
-Expect(1, 42655, '\P{Blk= BAMUM}', "");
-Expect(0, 42655, '\P{^Blk= BAMUM}', "");
-Error('\p{Is_Block=:=-_bamum}');
-Error('\P{Is_Block=:=-_bamum}');
-Expect(1, 42751, '\p{Is_Block=bamum}', "");
-Expect(0, 42751, '\p{^Is_Block=bamum}', "");
-Expect(0, 42751, '\P{Is_Block=bamum}', "");
-Expect(1, 42751, '\P{^Is_Block=bamum}', "");
-Expect(0, 42655, '\p{Is_Block=bamum}', "");
-Expect(1, 42655, '\p{^Is_Block=bamum}', "");
-Expect(1, 42655, '\P{Is_Block=bamum}', "");
-Expect(0, 42655, '\P{^Is_Block=bamum}', "");
-Expect(1, 42751, '\p{Is_Block= -BAMUM}', "");
-Expect(0, 42751, '\p{^Is_Block= -BAMUM}', "");
-Expect(0, 42751, '\P{Is_Block= -BAMUM}', "");
-Expect(1, 42751, '\P{^Is_Block= -BAMUM}', "");
-Expect(0, 42655, '\p{Is_Block= -BAMUM}', "");
-Expect(1, 42655, '\p{^Is_Block= -BAMUM}', "");
-Expect(1, 42655, '\P{Is_Block= -BAMUM}', "");
-Expect(0, 42655, '\P{^Is_Block= -BAMUM}', "");
-Error('\p{Is_Blk=:=_bamum}');
-Error('\P{Is_Blk=:=_bamum}');
-Expect(1, 42751, '\p{Is_Blk=bamum}', "");
-Expect(0, 42751, '\p{^Is_Blk=bamum}', "");
-Expect(0, 42751, '\P{Is_Blk=bamum}', "");
-Expect(1, 42751, '\P{^Is_Blk=bamum}', "");
-Expect(0, 42655, '\p{Is_Blk=bamum}', "");
-Expect(1, 42655, '\p{^Is_Blk=bamum}', "");
-Expect(1, 42655, '\P{Is_Blk=bamum}', "");
-Expect(0, 42655, '\P{^Is_Blk=bamum}', "");
-Expect(1, 42751, '\p{Is_Blk=--Bamum}', "");
-Expect(0, 42751, '\p{^Is_Blk=--Bamum}', "");
-Expect(0, 42751, '\P{Is_Blk=--Bamum}', "");
-Expect(1, 42751, '\P{^Is_Blk=--Bamum}', "");
-Expect(0, 42655, '\p{Is_Blk=--Bamum}', "");
-Expect(1, 42655, '\p{^Is_Blk=--Bamum}', "");
-Expect(1, 42655, '\P{Is_Blk=--Bamum}', "");
-Expect(0, 42655, '\P{^Is_Blk=--Bamum}', "");
-Error('\p{Block=/a/ _Inscriptional Parthian}');
-Error('\P{Block=/a/ _Inscriptional Parthian}');
-Expect(1, 68447, '\p{Block=inscriptionalparthian}', "");
-Expect(0, 68447, '\p{^Block=inscriptionalparthian}', "");
-Expect(0, 68447, '\P{Block=inscriptionalparthian}', "");
-Expect(1, 68447, '\P{^Block=inscriptionalparthian}', "");
-Expect(0, 68415, '\p{Block=inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^Block=inscriptionalparthian}', "");
-Expect(1, 68415, '\P{Block=inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^Block=inscriptionalparthian}', "");
-Expect(1, 68447, '\p{Block: _InscriptionalParthian}', "");
-Expect(0, 68447, '\p{^Block: _InscriptionalParthian}', "");
-Expect(0, 68447, '\P{Block: _InscriptionalParthian}', "");
-Expect(1, 68447, '\P{^Block: _InscriptionalParthian}', "");
-Expect(0, 68415, '\p{Block: _InscriptionalParthian}', "");
-Expect(1, 68415, '\p{^Block: _InscriptionalParthian}', "");
-Expect(1, 68415, '\P{Block: _InscriptionalParthian}', "");
-Expect(0, 68415, '\P{^Block: _InscriptionalParthian}', "");
-Error('\p{Blk=/a/ INSCRIPTIONALparthian}');
-Error('\P{Blk=/a/ INSCRIPTIONALparthian}');
-Expect(1, 68447, '\p{Blk=inscriptionalparthian}', "");
-Expect(0, 68447, '\p{^Blk=inscriptionalparthian}', "");
-Expect(0, 68447, '\P{Blk=inscriptionalparthian}', "");
-Expect(1, 68447, '\P{^Blk=inscriptionalparthian}', "");
-Expect(0, 68415, '\p{Blk=inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^Blk=inscriptionalparthian}', "");
-Expect(1, 68415, '\P{Blk=inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^Blk=inscriptionalparthian}', "");
-Expect(1, 68447, '\p{Blk= INSCRIPTIONAL Parthian}', "");
-Expect(0, 68447, '\p{^Blk= INSCRIPTIONAL Parthian}', "");
-Expect(0, 68447, '\P{Blk= INSCRIPTIONAL Parthian}', "");
-Expect(1, 68447, '\P{^Blk= INSCRIPTIONAL Parthian}', "");
-Expect(0, 68415, '\p{Blk= INSCRIPTIONAL Parthian}', "");
-Expect(1, 68415, '\p{^Blk= INSCRIPTIONAL Parthian}', "");
-Expect(1, 68415, '\P{Blk= INSCRIPTIONAL Parthian}', "");
-Expect(0, 68415, '\P{^Blk= INSCRIPTIONAL Parthian}', "");
-Error('\p{Is_Block= INSCRIPTIONAL PARTHIAN:=}');
-Error('\P{Is_Block= INSCRIPTIONAL PARTHIAN:=}');
-Expect(1, 68447, '\p{Is_Block=inscriptionalparthian}', "");
-Expect(0, 68447, '\p{^Is_Block=inscriptionalparthian}', "");
-Expect(0, 68447, '\P{Is_Block=inscriptionalparthian}', "");
-Expect(1, 68447, '\P{^Is_Block=inscriptionalparthian}', "");
-Expect(0, 68415, '\p{Is_Block=inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^Is_Block=inscriptionalparthian}', "");
-Expect(1, 68415, '\P{Is_Block=inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^Is_Block=inscriptionalparthian}', "");
-Expect(1, 68447, '\p{Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(0, 68447, '\p{^Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(0, 68447, '\P{Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(1, 68447, '\P{^Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(0, 68415, '\p{Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(1, 68415, '\p{^Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(1, 68415, '\P{Is_Block=- Inscriptional PARTHIAN}', "");
-Expect(0, 68415, '\P{^Is_Block=- Inscriptional PARTHIAN}', "");
-Error('\p{Is_Blk= :=inscriptional parthian}');
-Error('\P{Is_Blk= :=inscriptional parthian}');
-Expect(1, 68447, '\p{Is_Blk=inscriptionalparthian}', "");
-Expect(0, 68447, '\p{^Is_Blk=inscriptionalparthian}', "");
-Expect(0, 68447, '\P{Is_Blk=inscriptionalparthian}', "");
-Expect(1, 68447, '\P{^Is_Blk=inscriptionalparthian}', "");
-Expect(0, 68415, '\p{Is_Blk=inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^Is_Blk=inscriptionalparthian}', "");
-Expect(1, 68415, '\P{Is_Blk=inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^Is_Blk=inscriptionalparthian}', "");
-Expect(1, 68447, '\p{Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68447, '\p{^Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68447, '\P{Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(1, 68447, '\P{^Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68415, '\p{Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(1, 68415, '\p{^Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(1, 68415, '\P{Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68415, '\P{^Is_Blk= INSCRIPTIONAL-Parthian}', "");
-Error('\p{Block=-:=UNIFIEDCanadian-Aboriginal-SYLLABICS}');
-Error('\P{Block=-:=UNIFIEDCanadian-Aboriginal-SYLLABICS}');
-Expect(1, 5759, '\p{Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\p{^Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\P{Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\P{^Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\p{Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\p{^Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\P{Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\P{^Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\p{Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(0, 5759, '\p{^Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(0, 5759, '\P{Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(1, 5759, '\P{^Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(0, 5119, '\p{Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(1, 5119, '\p{^Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(1, 5119, '\P{Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Expect(0, 5119, '\P{^Block=-UnifiedCANADIAN Aboriginal Syllabics}', "");
-Error('\p{Blk=-Canadian/a/SYLLABICS}');
-Error('\P{Blk=-Canadian/a/SYLLABICS}');
-Expect(1, 5759, '\p{Blk=canadiansyllabics}', "");
-Expect(0, 5759, '\p{^Blk=canadiansyllabics}', "");
-Expect(0, 5759, '\P{Blk=canadiansyllabics}', "");
-Expect(1, 5759, '\P{^Blk=canadiansyllabics}', "");
-Expect(0, 5119, '\p{Blk=canadiansyllabics}', "");
-Expect(1, 5119, '\p{^Blk=canadiansyllabics}', "");
-Expect(1, 5119, '\P{Blk=canadiansyllabics}', "");
-Expect(0, 5119, '\P{^Blk=canadiansyllabics}', "");
-Expect(1, 5759, '\p{Blk= canadian Syllabics}', "");
-Expect(0, 5759, '\p{^Blk= canadian Syllabics}', "");
-Expect(0, 5759, '\P{Blk= canadian Syllabics}', "");
-Expect(1, 5759, '\P{^Blk= canadian Syllabics}', "");
-Expect(0, 5119, '\p{Blk= canadian Syllabics}', "");
-Expect(1, 5119, '\p{^Blk= canadian Syllabics}', "");
-Expect(1, 5119, '\P{Blk= canadian Syllabics}', "");
-Expect(0, 5119, '\P{^Blk= canadian Syllabics}', "");
-Error('\p{Is_Block=__Unified-CANADIAN:=Aboriginal SYLLABICS}');
-Error('\P{Is_Block=__Unified-CANADIAN:=Aboriginal SYLLABICS}');
-Expect(1, 5759, '\p{Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\p{^Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\P{Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\P{^Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\p{Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\p{^Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\P{Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\P{^Is_Block=unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\p{Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(0, 5759, '\p{^Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(0, 5759, '\P{Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(1, 5759, '\P{^Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(0, 5119, '\p{Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(1, 5119, '\p{^Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(1, 5119, '\P{Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Expect(0, 5119, '\P{^Is_Block=_ UNIFIED CANADIAN ABORIGINAL-Syllabics}', "");
-Error('\p{Is_Blk=_:=CanadianSyllabics}');
-Error('\P{Is_Blk=_:=CanadianSyllabics}');
-Expect(1, 5759, '\p{Is_Blk=canadiansyllabics}', "");
-Expect(0, 5759, '\p{^Is_Blk=canadiansyllabics}', "");
-Expect(0, 5759, '\P{Is_Blk=canadiansyllabics}', "");
-Expect(1, 5759, '\P{^Is_Blk=canadiansyllabics}', "");
-Expect(0, 5119, '\p{Is_Blk=canadiansyllabics}', "");
-Expect(1, 5119, '\p{^Is_Blk=canadiansyllabics}', "");
-Expect(1, 5119, '\P{Is_Blk=canadiansyllabics}', "");
-Expect(0, 5119, '\P{^Is_Blk=canadiansyllabics}', "");
-Expect(1, 5759, '\p{Is_Blk=_ CANADIANSyllabics}', "");
-Expect(0, 5759, '\p{^Is_Blk=_ CANADIANSyllabics}', "");
-Expect(0, 5759, '\P{Is_Blk=_ CANADIANSyllabics}', "");
-Expect(1, 5759, '\P{^Is_Blk=_ CANADIANSyllabics}', "");
-Expect(0, 5119, '\p{Is_Blk=_ CANADIANSyllabics}', "");
-Expect(1, 5119, '\p{^Is_Blk=_ CANADIANSyllabics}', "");
-Expect(1, 5119, '\P{Is_Blk=_ CANADIANSyllabics}', "");
-Expect(0, 5119, '\P{^Is_Blk=_ CANADIANSyllabics}', "");
-Error('\p{Block=/a/ Variation Selectors}');
-Error('\P{Block=/a/ Variation Selectors}');
-Expect(1, 65039, '\p{Block=variationselectors}', "");
-Expect(0, 65039, '\p{^Block=variationselectors}', "");
-Expect(0, 65039, '\P{Block=variationselectors}', "");
-Expect(1, 65039, '\P{^Block=variationselectors}', "");
-Expect(0, 65023, '\p{Block=variationselectors}', "");
-Expect(1, 65023, '\p{^Block=variationselectors}', "");
-Expect(1, 65023, '\P{Block=variationselectors}', "");
-Expect(0, 65023, '\P{^Block=variationselectors}', "");
-Expect(1, 65039, '\p{Block= -VariationSelectors}', "");
-Expect(0, 65039, '\p{^Block= -VariationSelectors}', "");
-Expect(0, 65039, '\P{Block= -VariationSelectors}', "");
-Expect(1, 65039, '\P{^Block= -VariationSelectors}', "");
-Expect(0, 65023, '\p{Block= -VariationSelectors}', "");
-Expect(1, 65023, '\p{^Block= -VariationSelectors}', "");
-Expect(1, 65023, '\P{Block= -VariationSelectors}', "");
-Expect(0, 65023, '\P{^Block= -VariationSelectors}', "");
-Error('\p{Blk: Variation SELECTORS/a/}');
-Error('\P{Blk: Variation SELECTORS/a/}');
-Expect(1, 65039, '\p{Blk=variationselectors}', "");
-Expect(0, 65039, '\p{^Blk=variationselectors}', "");
-Expect(0, 65039, '\P{Blk=variationselectors}', "");
-Expect(1, 65039, '\P{^Blk=variationselectors}', "");
-Expect(0, 65023, '\p{Blk=variationselectors}', "");
-Expect(1, 65023, '\p{^Blk=variationselectors}', "");
-Expect(1, 65023, '\P{Blk=variationselectors}', "");
-Expect(0, 65023, '\P{^Blk=variationselectors}', "");
-Expect(1, 65039, '\p{Blk=_variation_Selectors}', "");
-Expect(0, 65039, '\p{^Blk=_variation_Selectors}', "");
-Expect(0, 65039, '\P{Blk=_variation_Selectors}', "");
-Expect(1, 65039, '\P{^Blk=_variation_Selectors}', "");
-Expect(0, 65023, '\p{Blk=_variation_Selectors}', "");
-Expect(1, 65023, '\p{^Blk=_variation_Selectors}', "");
-Expect(1, 65023, '\P{Blk=_variation_Selectors}', "");
-Expect(0, 65023, '\P{^Blk=_variation_Selectors}', "");
-Error('\p{Is_Block=:= Variation SELECTORS}');
-Error('\P{Is_Block=:= Variation SELECTORS}');
-Expect(1, 65039, '\p{Is_Block=variationselectors}', "");
-Expect(0, 65039, '\p{^Is_Block=variationselectors}', "");
-Expect(0, 65039, '\P{Is_Block=variationselectors}', "");
-Expect(1, 65039, '\P{^Is_Block=variationselectors}', "");
-Expect(0, 65023, '\p{Is_Block=variationselectors}', "");
-Expect(1, 65023, '\p{^Is_Block=variationselectors}', "");
-Expect(1, 65023, '\P{Is_Block=variationselectors}', "");
-Expect(0, 65023, '\P{^Is_Block=variationselectors}', "");
-Expect(1, 65039, '\p{Is_Block= variation SELECTORS}', "");
-Expect(0, 65039, '\p{^Is_Block= variation SELECTORS}', "");
-Expect(0, 65039, '\P{Is_Block= variation SELECTORS}', "");
-Expect(1, 65039, '\P{^Is_Block= variation SELECTORS}', "");
-Expect(0, 65023, '\p{Is_Block= variation SELECTORS}', "");
-Expect(1, 65023, '\p{^Is_Block= variation SELECTORS}', "");
-Expect(1, 65023, '\P{Is_Block= variation SELECTORS}', "");
-Expect(0, 65023, '\P{^Is_Block= variation SELECTORS}', "");
-Error('\p{Is_Blk= :=VARIATION SELECTORS}');
-Error('\P{Is_Blk= :=VARIATION SELECTORS}');
-Expect(1, 65039, '\p{Is_Blk=variationselectors}', "");
-Expect(0, 65039, '\p{^Is_Blk=variationselectors}', "");
-Expect(0, 65039, '\P{Is_Blk=variationselectors}', "");
-Expect(1, 65039, '\P{^Is_Blk=variationselectors}', "");
-Expect(0, 65023, '\p{Is_Blk=variationselectors}', "");
-Expect(1, 65023, '\p{^Is_Blk=variationselectors}', "");
-Expect(1, 65023, '\P{Is_Blk=variationselectors}', "");
-Expect(0, 65023, '\P{^Is_Blk=variationselectors}', "");
-Expect(1, 65039, '\p{Is_Blk=VARIATION_Selectors}', "");
-Expect(0, 65039, '\p{^Is_Blk=VARIATION_Selectors}', "");
-Expect(0, 65039, '\P{Is_Blk=VARIATION_Selectors}', "");
-Expect(1, 65039, '\P{^Is_Blk=VARIATION_Selectors}', "");
-Expect(0, 65023, '\p{Is_Blk=VARIATION_Selectors}', "");
-Expect(1, 65023, '\p{^Is_Blk=VARIATION_Selectors}', "");
-Expect(1, 65023, '\P{Is_Blk=VARIATION_Selectors}', "");
-Expect(0, 65023, '\P{^Is_Blk=VARIATION_Selectors}', "");
-Error('\p{Block= -Number:=Forms}');
-Error('\P{Block= -Number:=Forms}');
-Expect(1, 8591, '\p{Block: numberforms}', "");
-Expect(0, 8591, '\p{^Block: numberforms}', "");
-Expect(0, 8591, '\P{Block: numberforms}', "");
-Expect(1, 8591, '\P{^Block: numberforms}', "");
-Expect(0, 8527, '\p{Block: numberforms}', "");
-Expect(1, 8527, '\p{^Block: numberforms}', "");
-Expect(1, 8527, '\P{Block: numberforms}', "");
-Expect(0, 8527, '\P{^Block: numberforms}', "");
-Expect(1, 8591, '\p{Block=-NumberFORMS}', "");
-Expect(0, 8591, '\p{^Block=-NumberFORMS}', "");
-Expect(0, 8591, '\P{Block=-NumberFORMS}', "");
-Expect(1, 8591, '\P{^Block=-NumberFORMS}', "");
-Expect(0, 8527, '\p{Block=-NumberFORMS}', "");
-Expect(1, 8527, '\p{^Block=-NumberFORMS}', "");
-Expect(1, 8527, '\P{Block=-NumberFORMS}', "");
-Expect(0, 8527, '\P{^Block=-NumberFORMS}', "");
-Error('\p{Blk= Number:=Forms}');
-Error('\P{Blk= Number:=Forms}');
-Expect(1, 8591, '\p{Blk=numberforms}', "");
-Expect(0, 8591, '\p{^Blk=numberforms}', "");
-Expect(0, 8591, '\P{Blk=numberforms}', "");
-Expect(1, 8591, '\P{^Blk=numberforms}', "");
-Expect(0, 8527, '\p{Blk=numberforms}', "");
-Expect(1, 8527, '\p{^Blk=numberforms}', "");
-Expect(1, 8527, '\P{Blk=numberforms}', "");
-Expect(0, 8527, '\P{^Blk=numberforms}', "");
-Expect(1, 8591, '\p{Blk:_ numberforms}', "");
-Expect(0, 8591, '\p{^Blk:_ numberforms}', "");
-Expect(0, 8591, '\P{Blk:_ numberforms}', "");
-Expect(1, 8591, '\P{^Blk:_ numberforms}', "");
-Expect(0, 8527, '\p{Blk:_ numberforms}', "");
-Expect(1, 8527, '\p{^Blk:_ numberforms}', "");
-Expect(1, 8527, '\P{Blk:_ numberforms}', "");
-Expect(0, 8527, '\P{^Blk:_ numberforms}', "");
-Error('\p{Is_Block=/a/ _number-Forms}');
-Error('\P{Is_Block=/a/ _number-Forms}');
-Expect(1, 8591, '\p{Is_Block=numberforms}', "");
-Expect(0, 8591, '\p{^Is_Block=numberforms}', "");
-Expect(0, 8591, '\P{Is_Block=numberforms}', "");
-Expect(1, 8591, '\P{^Is_Block=numberforms}', "");
-Expect(0, 8527, '\p{Is_Block=numberforms}', "");
-Expect(1, 8527, '\p{^Is_Block=numberforms}', "");
-Expect(1, 8527, '\P{Is_Block=numberforms}', "");
-Expect(0, 8527, '\P{^Is_Block=numberforms}', "");
-Expect(1, 8591, '\p{Is_Block=_Number Forms}', "");
-Expect(0, 8591, '\p{^Is_Block=_Number Forms}', "");
-Expect(0, 8591, '\P{Is_Block=_Number Forms}', "");
-Expect(1, 8591, '\P{^Is_Block=_Number Forms}', "");
-Expect(0, 8527, '\p{Is_Block=_Number Forms}', "");
-Expect(1, 8527, '\p{^Is_Block=_Number Forms}', "");
-Expect(1, 8527, '\P{Is_Block=_Number Forms}', "");
-Expect(0, 8527, '\P{^Is_Block=_Number Forms}', "");
-Error('\p{Is_Blk= _Number:=Forms}');
-Error('\P{Is_Blk= _Number:=Forms}');
-Expect(1, 8591, '\p{Is_Blk=numberforms}', "");
-Expect(0, 8591, '\p{^Is_Blk=numberforms}', "");
-Expect(0, 8591, '\P{Is_Blk=numberforms}', "");
-Expect(1, 8591, '\P{^Is_Blk=numberforms}', "");
-Expect(0, 8527, '\p{Is_Blk=numberforms}', "");
-Expect(1, 8527, '\p{^Is_Blk=numberforms}', "");
-Expect(1, 8527, '\P{Is_Blk=numberforms}', "");
-Expect(0, 8527, '\P{^Is_Blk=numberforms}', "");
-Expect(1, 8591, '\p{Is_Blk= Number Forms}', "");
-Expect(0, 8591, '\p{^Is_Blk= Number Forms}', "");
-Expect(0, 8591, '\P{Is_Blk= Number Forms}', "");
-Expect(1, 8591, '\P{^Is_Blk= Number Forms}', "");
-Expect(0, 8527, '\p{Is_Blk= Number Forms}', "");
-Expect(1, 8527, '\p{^Is_Blk= Number Forms}', "");
-Expect(1, 8527, '\P{Is_Blk= Number Forms}', "");
-Expect(0, 8527, '\P{^Is_Blk= Number Forms}', "");
-Error('\p{Block=/a/_ CONTROL pictures}');
-Error('\P{Block=/a/_ CONTROL pictures}');
-Expect(1, 9279, '\p{Block:controlpictures}', "");
-Expect(0, 9279, '\p{^Block:controlpictures}', "");
-Expect(0, 9279, '\P{Block:controlpictures}', "");
-Expect(1, 9279, '\P{^Block:controlpictures}', "");
-Expect(0, 9215, '\p{Block:controlpictures}', "");
-Expect(1, 9215, '\p{^Block:controlpictures}', "");
-Expect(1, 9215, '\P{Block:controlpictures}', "");
-Expect(0, 9215, '\P{^Block:controlpictures}', "");
-Expect(1, 9279, '\p{Block: Control pictures}', "");
-Expect(0, 9279, '\p{^Block: Control pictures}', "");
-Expect(0, 9279, '\P{Block: Control pictures}', "");
-Expect(1, 9279, '\P{^Block: Control pictures}', "");
-Expect(0, 9215, '\p{Block: Control pictures}', "");
-Expect(1, 9215, '\p{^Block: Control pictures}', "");
-Expect(1, 9215, '\P{Block: Control pictures}', "");
-Expect(0, 9215, '\P{^Block: Control pictures}', "");
-Error('\p{Blk=:=-Control pictures}');
-Error('\P{Blk=:=-Control pictures}');
-Expect(1, 9279, '\p{Blk: controlpictures}', "");
-Expect(0, 9279, '\p{^Blk: controlpictures}', "");
-Expect(0, 9279, '\P{Blk: controlpictures}', "");
-Expect(1, 9279, '\P{^Blk: controlpictures}', "");
-Expect(0, 9215, '\p{Blk: controlpictures}', "");
-Expect(1, 9215, '\p{^Blk: controlpictures}', "");
-Expect(1, 9215, '\P{Blk: controlpictures}', "");
-Expect(0, 9215, '\P{^Blk: controlpictures}', "");
-Expect(1, 9279, '\p{Blk=-Control Pictures}', "");
-Expect(0, 9279, '\p{^Blk=-Control Pictures}', "");
-Expect(0, 9279, '\P{Blk=-Control Pictures}', "");
-Expect(1, 9279, '\P{^Blk=-Control Pictures}', "");
-Expect(0, 9215, '\p{Blk=-Control Pictures}', "");
-Expect(1, 9215, '\p{^Blk=-Control Pictures}', "");
-Expect(1, 9215, '\P{Blk=-Control Pictures}', "");
-Expect(0, 9215, '\P{^Blk=-Control Pictures}', "");
-Error('\p{Is_Block= /a/Control Pictures}');
-Error('\P{Is_Block= /a/Control Pictures}');
-Expect(1, 9279, '\p{Is_Block=controlpictures}', "");
-Expect(0, 9279, '\p{^Is_Block=controlpictures}', "");
-Expect(0, 9279, '\P{Is_Block=controlpictures}', "");
-Expect(1, 9279, '\P{^Is_Block=controlpictures}', "");
-Expect(0, 9215, '\p{Is_Block=controlpictures}', "");
-Expect(1, 9215, '\p{^Is_Block=controlpictures}', "");
-Expect(1, 9215, '\P{Is_Block=controlpictures}', "");
-Expect(0, 9215, '\P{^Is_Block=controlpictures}', "");
-Expect(1, 9279, '\p{Is_Block= control Pictures}', "");
-Expect(0, 9279, '\p{^Is_Block= control Pictures}', "");
-Expect(0, 9279, '\P{Is_Block= control Pictures}', "");
-Expect(1, 9279, '\P{^Is_Block= control Pictures}', "");
-Expect(0, 9215, '\p{Is_Block= control Pictures}', "");
-Expect(1, 9215, '\p{^Is_Block= control Pictures}', "");
-Expect(1, 9215, '\P{Is_Block= control Pictures}', "");
-Expect(0, 9215, '\P{^Is_Block= control Pictures}', "");
-Error('\p{Is_Blk=/a/_control pictures}');
-Error('\P{Is_Blk=/a/_control pictures}');
-Expect(1, 9279, '\p{Is_Blk=controlpictures}', "");
-Expect(0, 9279, '\p{^Is_Blk=controlpictures}', "");
-Expect(0, 9279, '\P{Is_Blk=controlpictures}', "");
-Expect(1, 9279, '\P{^Is_Blk=controlpictures}', "");
-Expect(0, 9215, '\p{Is_Blk=controlpictures}', "");
-Expect(1, 9215, '\p{^Is_Blk=controlpictures}', "");
-Expect(1, 9215, '\P{Is_Blk=controlpictures}', "");
-Expect(0, 9215, '\P{^Is_Blk=controlpictures}', "");
-Expect(1, 9279, '\p{Is_Blk=-Controlpictures}', "");
-Expect(0, 9279, '\p{^Is_Blk=-Controlpictures}', "");
-Expect(0, 9279, '\P{Is_Blk=-Controlpictures}', "");
-Expect(1, 9279, '\P{^Is_Blk=-Controlpictures}', "");
-Expect(0, 9215, '\p{Is_Blk=-Controlpictures}', "");
-Expect(1, 9215, '\p{^Is_Blk=-Controlpictures}', "");
-Expect(1, 9215, '\P{Is_Blk=-Controlpictures}', "");
-Expect(0, 9215, '\P{^Is_Blk=-Controlpictures}', "");
-Error('\p{Block: High Private:=Use Surrogates}');
-Error('\P{Block: High Private:=Use Surrogates}');
-Expect(0, 1, '\p{Block:highprivateusesurrogates}', "");
-Expect(1, 1, '\p{^Block:highprivateusesurrogates}', "");
-Expect(1, 1, '\P{Block:highprivateusesurrogates}', "");
-Expect(0, 1, '\P{^Block:highprivateusesurrogates}', "");
-Expect(0, 1, '\p{Block= high_Private Use SURROGATES}', "");
-Expect(1, 1, '\p{^Block= high_Private Use SURROGATES}', "");
-Expect(1, 1, '\P{Block= high_Private Use SURROGATES}', "");
-Expect(0, 1, '\P{^Block= high_Private Use SURROGATES}', "");
-Error('\p{Blk=-HIGH-Private:=use Surrogates}');
-Error('\P{Blk=-HIGH-Private:=use Surrogates}');
-Expect(0, 1, '\p{Blk=highprivateusesurrogates}', "");
-Expect(1, 1, '\p{^Blk=highprivateusesurrogates}', "");
-Expect(1, 1, '\P{Blk=highprivateusesurrogates}', "");
-Expect(0, 1, '\P{^Blk=highprivateusesurrogates}', "");
-Expect(0, 1, '\p{Blk= _HIGHPrivateUse SURROGATES}', "");
-Expect(1, 1, '\p{^Blk= _HIGHPrivateUse SURROGATES}', "");
-Expect(1, 1, '\P{Blk= _HIGHPrivateUse SURROGATES}', "");
-Expect(0, 1, '\P{^Blk= _HIGHPrivateUse SURROGATES}', "");
-Error('\p{Is_Block= :=High PRIVATE-USESurrogates}');
-Error('\P{Is_Block= :=High PRIVATE-USESurrogates}');
-Expect(0, 1, '\p{Is_Block=highprivateusesurrogates}', "");
-Expect(1, 1, '\p{^Is_Block=highprivateusesurrogates}', "");
-Expect(1, 1, '\P{Is_Block=highprivateusesurrogates}', "");
-Expect(0, 1, '\P{^Is_Block=highprivateusesurrogates}', "");
-Expect(0, 1, '\p{Is_Block= high Private Use_SURROGATES}', "");
-Expect(1, 1, '\p{^Is_Block= high Private Use_SURROGATES}', "");
-Expect(1, 1, '\P{Is_Block= high Private Use_SURROGATES}', "");
-Expect(0, 1, '\P{^Is_Block= high Private Use_SURROGATES}', "");
-Error('\p{Is_Blk=_/a/High-private_use_surrogates}');
-Error('\P{Is_Blk=_/a/High-private_use_surrogates}');
-Expect(0, 1, '\p{Is_Blk=highprivateusesurrogates}', "");
-Expect(1, 1, '\p{^Is_Blk=highprivateusesurrogates}', "");
-Expect(1, 1, '\P{Is_Blk=highprivateusesurrogates}', "");
-Expect(0, 1, '\P{^Is_Blk=highprivateusesurrogates}', "");
-Expect(0, 1, '\p{Is_Blk=- HIGH-private_USE_Surrogates}', "");
-Expect(1, 1, '\p{^Is_Blk=- HIGH-private_USE_Surrogates}', "");
-Expect(1, 1, '\P{Is_Blk=- HIGH-private_USE_Surrogates}', "");
-Expect(0, 1, '\P{^Is_Blk=- HIGH-private_USE_Surrogates}', "");
-Error('\p{Block: Ugaritic:=}');
-Error('\P{Block: Ugaritic:=}');
-Expect(1, 66463, '\p{Block=ugaritic}', "");
-Expect(0, 66463, '\p{^Block=ugaritic}', "");
-Expect(0, 66463, '\P{Block=ugaritic}', "");
-Expect(1, 66463, '\P{^Block=ugaritic}', "");
-Expect(0, 66431, '\p{Block=ugaritic}', "");
-Expect(1, 66431, '\p{^Block=ugaritic}', "");
-Expect(1, 66431, '\P{Block=ugaritic}', "");
-Expect(0, 66431, '\P{^Block=ugaritic}', "");
-Expect(1, 66463, '\p{Block= _Ugaritic}', "");
-Expect(0, 66463, '\p{^Block= _Ugaritic}', "");
-Expect(0, 66463, '\P{Block= _Ugaritic}', "");
-Expect(1, 66463, '\P{^Block= _Ugaritic}', "");
-Expect(0, 66431, '\p{Block= _Ugaritic}', "");
-Expect(1, 66431, '\p{^Block= _Ugaritic}', "");
-Expect(1, 66431, '\P{Block= _Ugaritic}', "");
-Expect(0, 66431, '\P{^Block= _Ugaritic}', "");
-Error('\p{Blk=/a/__UGARITIC}');
-Error('\P{Blk=/a/__UGARITIC}');
-Expect(1, 66463, '\p{Blk=ugaritic}', "");
-Expect(0, 66463, '\p{^Blk=ugaritic}', "");
-Expect(0, 66463, '\P{Blk=ugaritic}', "");
-Expect(1, 66463, '\P{^Blk=ugaritic}', "");
-Expect(0, 66431, '\p{Blk=ugaritic}', "");
-Expect(1, 66431, '\p{^Blk=ugaritic}', "");
-Expect(1, 66431, '\P{Blk=ugaritic}', "");
-Expect(0, 66431, '\P{^Blk=ugaritic}', "");
-Expect(1, 66463, '\p{Blk= Ugaritic}', "");
-Expect(0, 66463, '\p{^Blk= Ugaritic}', "");
-Expect(0, 66463, '\P{Blk= Ugaritic}', "");
-Expect(1, 66463, '\P{^Blk= Ugaritic}', "");
-Expect(0, 66431, '\p{Blk= Ugaritic}', "");
-Expect(1, 66431, '\p{^Blk= Ugaritic}', "");
-Expect(1, 66431, '\P{Blk= Ugaritic}', "");
-Expect(0, 66431, '\P{^Blk= Ugaritic}', "");
-Error('\p{Is_Block=--Ugaritic/a/}');
-Error('\P{Is_Block=--Ugaritic/a/}');
-Expect(1, 66463, '\p{Is_Block=ugaritic}', "");
-Expect(0, 66463, '\p{^Is_Block=ugaritic}', "");
-Expect(0, 66463, '\P{Is_Block=ugaritic}', "");
-Expect(1, 66463, '\P{^Is_Block=ugaritic}', "");
-Expect(0, 66431, '\p{Is_Block=ugaritic}', "");
-Expect(1, 66431, '\p{^Is_Block=ugaritic}', "");
-Expect(1, 66431, '\P{Is_Block=ugaritic}', "");
-Expect(0, 66431, '\P{^Is_Block=ugaritic}', "");
-Expect(1, 66463, '\p{Is_Block: ugaritic}', "");
-Expect(0, 66463, '\p{^Is_Block: ugaritic}', "");
-Expect(0, 66463, '\P{Is_Block: ugaritic}', "");
-Expect(1, 66463, '\P{^Is_Block: ugaritic}', "");
-Expect(0, 66431, '\p{Is_Block: ugaritic}', "");
-Expect(1, 66431, '\p{^Is_Block: ugaritic}', "");
-Expect(1, 66431, '\P{Is_Block: ugaritic}', "");
-Expect(0, 66431, '\P{^Is_Block: ugaritic}', "");
-Error('\p{Is_Blk= Ugaritic/a/}');
-Error('\P{Is_Blk= Ugaritic/a/}');
-Expect(1, 66463, '\p{Is_Blk=ugaritic}', "");
-Expect(0, 66463, '\p{^Is_Blk=ugaritic}', "");
-Expect(0, 66463, '\P{Is_Blk=ugaritic}', "");
-Expect(1, 66463, '\P{^Is_Blk=ugaritic}', "");
-Expect(0, 66431, '\p{Is_Blk=ugaritic}', "");
-Expect(1, 66431, '\p{^Is_Blk=ugaritic}', "");
-Expect(1, 66431, '\P{Is_Blk=ugaritic}', "");
-Expect(0, 66431, '\P{^Is_Blk=ugaritic}', "");
-Expect(1, 66463, '\p{Is_Blk=-_ugaritic}', "");
-Expect(0, 66463, '\p{^Is_Blk=-_ugaritic}', "");
-Expect(0, 66463, '\P{Is_Blk=-_ugaritic}', "");
-Expect(1, 66463, '\P{^Is_Blk=-_ugaritic}', "");
-Expect(0, 66431, '\p{Is_Blk=-_ugaritic}', "");
-Expect(1, 66431, '\p{^Is_Blk=-_ugaritic}', "");
-Expect(1, 66431, '\P{Is_Blk=-_ugaritic}', "");
-Expect(0, 66431, '\P{^Is_Blk=-_ugaritic}', "");
-Error('\p{Block=_/a/ARMENIAN}');
-Error('\P{Block=_/a/ARMENIAN}');
-Expect(1, 1423, '\p{Block=armenian}', "");
-Expect(0, 1423, '\p{^Block=armenian}', "");
-Expect(0, 1423, '\P{Block=armenian}', "");
-Expect(1, 1423, '\P{^Block=armenian}', "");
-Expect(0, 1327, '\p{Block=armenian}', "");
-Expect(1, 1327, '\p{^Block=armenian}', "");
-Expect(1, 1327, '\P{Block=armenian}', "");
-Expect(0, 1327, '\P{^Block=armenian}', "");
-Expect(1, 1423, '\p{Block=Armenian}', "");
-Expect(0, 1423, '\p{^Block=Armenian}', "");
-Expect(0, 1423, '\P{Block=Armenian}', "");
-Expect(1, 1423, '\P{^Block=Armenian}', "");
-Expect(0, 1327, '\p{Block=Armenian}', "");
-Expect(1, 1327, '\p{^Block=Armenian}', "");
-Expect(1, 1327, '\P{Block=Armenian}', "");
-Expect(0, 1327, '\P{^Block=Armenian}', "");
-Error('\p{Blk=:=- ARMENIAN}');
-Error('\P{Blk=:=- ARMENIAN}');
-Expect(1, 1423, '\p{Blk=armenian}', "");
-Expect(0, 1423, '\p{^Blk=armenian}', "");
-Expect(0, 1423, '\P{Blk=armenian}', "");
-Expect(1, 1423, '\P{^Blk=armenian}', "");
-Expect(0, 1327, '\p{Blk=armenian}', "");
-Expect(1, 1327, '\p{^Blk=armenian}', "");
-Expect(1, 1327, '\P{Blk=armenian}', "");
-Expect(0, 1327, '\P{^Blk=armenian}', "");
-Expect(1, 1423, '\p{Blk:_ Armenian}', "");
-Expect(0, 1423, '\p{^Blk:_ Armenian}', "");
-Expect(0, 1423, '\P{Blk:_ Armenian}', "");
-Expect(1, 1423, '\P{^Blk:_ Armenian}', "");
-Expect(0, 1327, '\p{Blk:_ Armenian}', "");
-Expect(1, 1327, '\p{^Blk:_ Armenian}', "");
-Expect(1, 1327, '\P{Blk:_ Armenian}', "");
-Expect(0, 1327, '\P{^Blk:_ Armenian}', "");
-Error('\p{Is_Block=:= ARMENIAN}');
-Error('\P{Is_Block=:= ARMENIAN}');
-Expect(1, 1423, '\p{Is_Block=armenian}', "");
-Expect(0, 1423, '\p{^Is_Block=armenian}', "");
-Expect(0, 1423, '\P{Is_Block=armenian}', "");
-Expect(1, 1423, '\P{^Is_Block=armenian}', "");
-Expect(0, 1327, '\p{Is_Block=armenian}', "");
-Expect(1, 1327, '\p{^Is_Block=armenian}', "");
-Expect(1, 1327, '\P{Is_Block=armenian}', "");
-Expect(0, 1327, '\P{^Is_Block=armenian}', "");
-Expect(1, 1423, '\p{Is_Block=_-ARMENIAN}', "");
-Expect(0, 1423, '\p{^Is_Block=_-ARMENIAN}', "");
-Expect(0, 1423, '\P{Is_Block=_-ARMENIAN}', "");
-Expect(1, 1423, '\P{^Is_Block=_-ARMENIAN}', "");
-Expect(0, 1327, '\p{Is_Block=_-ARMENIAN}', "");
-Expect(1, 1327, '\p{^Is_Block=_-ARMENIAN}', "");
-Expect(1, 1327, '\P{Is_Block=_-ARMENIAN}', "");
-Expect(0, 1327, '\P{^Is_Block=_-ARMENIAN}', "");
-Error('\p{Is_Blk=-:=Armenian}');
-Error('\P{Is_Blk=-:=Armenian}');
-Expect(1, 1423, '\p{Is_Blk=armenian}', "");
-Expect(0, 1423, '\p{^Is_Blk=armenian}', "");
-Expect(0, 1423, '\P{Is_Blk=armenian}', "");
-Expect(1, 1423, '\P{^Is_Blk=armenian}', "");
-Expect(0, 1327, '\p{Is_Blk=armenian}', "");
-Expect(1, 1327, '\p{^Is_Blk=armenian}', "");
-Expect(1, 1327, '\P{Is_Blk=armenian}', "");
-Expect(0, 1327, '\P{^Is_Blk=armenian}', "");
-Expect(1, 1423, '\p{Is_Blk=_Armenian}', "");
-Expect(0, 1423, '\p{^Is_Blk=_Armenian}', "");
-Expect(0, 1423, '\P{Is_Blk=_Armenian}', "");
-Expect(1, 1423, '\P{^Is_Blk=_Armenian}', "");
-Expect(0, 1327, '\p{Is_Blk=_Armenian}', "");
-Expect(1, 1327, '\p{^Is_Blk=_Armenian}', "");
-Expect(1, 1327, '\P{Is_Blk=_Armenian}', "");
-Expect(0, 1327, '\P{^Is_Blk=_Armenian}', "");
-Error('\p{Block=PRIVATE:=Use_area}');
-Error('\P{Block=PRIVATE:=Use_area}');
-Expect(1, 63743, '\p{Block=privateusearea}', "");
-Expect(0, 63743, '\p{^Block=privateusearea}', "");
-Expect(0, 63743, '\P{Block=privateusearea}', "");
-Expect(1, 63743, '\P{^Block=privateusearea}', "");
-Expect(0, 1, '\p{Block=privateusearea}', "");
-Expect(1, 1, '\p{^Block=privateusearea}', "");
-Expect(1, 1, '\P{Block=privateusearea}', "");
-Expect(0, 1, '\P{^Block=privateusearea}', "");
-Expect(1, 63743, '\p{Block= -PRIVATE_USEarea}', "");
-Expect(0, 63743, '\p{^Block= -PRIVATE_USEarea}', "");
-Expect(0, 63743, '\P{Block= -PRIVATE_USEarea}', "");
-Expect(1, 63743, '\P{^Block= -PRIVATE_USEarea}', "");
-Expect(0, 1, '\p{Block= -PRIVATE_USEarea}', "");
-Expect(1, 1, '\p{^Block= -PRIVATE_USEarea}', "");
-Expect(1, 1, '\P{Block= -PRIVATE_USEarea}', "");
-Expect(0, 1, '\P{^Block= -PRIVATE_USEarea}', "");
-Error('\p{Blk=:=--Private USE}');
-Error('\P{Blk=:=--Private USE}');
-Expect(1, 63743, '\p{Blk=privateuse}', "");
-Expect(0, 63743, '\p{^Blk=privateuse}', "");
-Expect(0, 63743, '\P{Blk=privateuse}', "");
-Expect(1, 63743, '\P{^Blk=privateuse}', "");
-Expect(0, 1, '\p{Blk=privateuse}', "");
-Expect(1, 1, '\p{^Blk=privateuse}', "");
-Expect(1, 1, '\P{Blk=privateuse}', "");
-Expect(0, 1, '\P{^Blk=privateuse}', "");
-Expect(1, 63743, '\p{Blk=-Private-use}', "");
-Expect(0, 63743, '\p{^Blk=-Private-use}', "");
-Expect(0, 63743, '\P{Blk=-Private-use}', "");
-Expect(1, 63743, '\P{^Blk=-Private-use}', "");
-Expect(0, 1, '\p{Blk=-Private-use}', "");
-Expect(1, 1, '\p{^Blk=-Private-use}', "");
-Expect(1, 1, '\P{Blk=-Private-use}', "");
-Expect(0, 1, '\P{^Blk=-Private-use}', "");
-Error('\p{Is_Block= PRIVATE/a/use-Area}');
-Error('\P{Is_Block= PRIVATE/a/use-Area}');
-Expect(1, 63743, '\p{Is_Block=privateusearea}', "");
-Expect(0, 63743, '\p{^Is_Block=privateusearea}', "");
-Expect(0, 63743, '\P{Is_Block=privateusearea}', "");
-Expect(1, 63743, '\P{^Is_Block=privateusearea}', "");
-Expect(0, 1, '\p{Is_Block=privateusearea}', "");
-Expect(1, 1, '\p{^Is_Block=privateusearea}', "");
-Expect(1, 1, '\P{Is_Block=privateusearea}', "");
-Expect(0, 1, '\P{^Is_Block=privateusearea}', "");
-Expect(1, 63743, '\p{Is_Block=-_PRIVATE UseArea}', "");
-Expect(0, 63743, '\p{^Is_Block=-_PRIVATE UseArea}', "");
-Expect(0, 63743, '\P{Is_Block=-_PRIVATE UseArea}', "");
-Expect(1, 63743, '\P{^Is_Block=-_PRIVATE UseArea}', "");
-Expect(0, 1, '\p{Is_Block=-_PRIVATE UseArea}', "");
-Expect(1, 1, '\p{^Is_Block=-_PRIVATE UseArea}', "");
-Expect(1, 1, '\P{Is_Block=-_PRIVATE UseArea}', "");
-Expect(0, 1, '\P{^Is_Block=-_PRIVATE UseArea}', "");
-Error('\p{Is_Blk=:= PRIVATEUse}');
-Error('\P{Is_Blk=:= PRIVATEUse}');
-Expect(1, 63743, '\p{Is_Blk=privateuse}', "");
-Expect(0, 63743, '\p{^Is_Blk=privateuse}', "");
-Expect(0, 63743, '\P{Is_Blk=privateuse}', "");
-Expect(1, 63743, '\P{^Is_Blk=privateuse}', "");
-Expect(0, 1, '\p{Is_Blk=privateuse}', "");
-Expect(1, 1, '\p{^Is_Blk=privateuse}', "");
-Expect(1, 1, '\P{Is_Blk=privateuse}', "");
-Expect(0, 1, '\P{^Is_Blk=privateuse}', "");
-Expect(1, 63743, '\p{Is_Blk=_PRIVATE-use}', "");
-Expect(0, 63743, '\p{^Is_Blk=_PRIVATE-use}', "");
-Expect(0, 63743, '\P{Is_Blk=_PRIVATE-use}', "");
-Expect(1, 63743, '\P{^Is_Blk=_PRIVATE-use}', "");
-Expect(0, 1, '\p{Is_Blk=_PRIVATE-use}', "");
-Expect(1, 1, '\p{^Is_Blk=_PRIVATE-use}', "");
-Expect(1, 1, '\P{Is_Blk=_PRIVATE-use}', "");
-Expect(0, 1, '\P{^Is_Blk=_PRIVATE-use}', "");
-Error('\p{Block=_-Syriac:=}');
-Error('\P{Block=_-Syriac:=}');
-Expect(1, 1871, '\p{Block=syriac}', "");
-Expect(0, 1871, '\p{^Block=syriac}', "");
-Expect(0, 1871, '\P{Block=syriac}', "");
-Expect(1, 1871, '\P{^Block=syriac}', "");
-Expect(0, 1791, '\p{Block=syriac}', "");
-Expect(1, 1791, '\p{^Block=syriac}', "");
-Expect(1, 1791, '\P{Block=syriac}', "");
-Expect(0, 1791, '\P{^Block=syriac}', "");
-Expect(1, 1871, '\p{Block= Syriac}', "");
-Expect(0, 1871, '\p{^Block= Syriac}', "");
-Expect(0, 1871, '\P{Block= Syriac}', "");
-Expect(1, 1871, '\P{^Block= Syriac}', "");
-Expect(0, 1791, '\p{Block= Syriac}', "");
-Expect(1, 1791, '\p{^Block= Syriac}', "");
-Expect(1, 1791, '\P{Block= Syriac}', "");
-Expect(0, 1791, '\P{^Block= Syriac}', "");
-Error('\p{Blk=/a/ SYRIAC}');
-Error('\P{Blk=/a/ SYRIAC}');
-Expect(1, 1871, '\p{Blk=syriac}', "");
-Expect(0, 1871, '\p{^Blk=syriac}', "");
-Expect(0, 1871, '\P{Blk=syriac}', "");
-Expect(1, 1871, '\P{^Blk=syriac}', "");
-Expect(0, 1791, '\p{Blk=syriac}', "");
-Expect(1, 1791, '\p{^Blk=syriac}', "");
-Expect(1, 1791, '\P{Blk=syriac}', "");
-Expect(0, 1791, '\P{^Blk=syriac}', "");
-Expect(1, 1871, '\p{Blk=__Syriac}', "");
-Expect(0, 1871, '\p{^Blk=__Syriac}', "");
-Expect(0, 1871, '\P{Blk=__Syriac}', "");
-Expect(1, 1871, '\P{^Blk=__Syriac}', "");
-Expect(0, 1791, '\p{Blk=__Syriac}', "");
-Expect(1, 1791, '\p{^Blk=__Syriac}', "");
-Expect(1, 1791, '\P{Blk=__Syriac}', "");
-Expect(0, 1791, '\P{^Blk=__Syriac}', "");
-Error('\p{Is_Block=-Syriac/a/}');
-Error('\P{Is_Block=-Syriac/a/}');
-Expect(1, 1871, '\p{Is_Block: syriac}', "");
-Expect(0, 1871, '\p{^Is_Block: syriac}', "");
-Expect(0, 1871, '\P{Is_Block: syriac}', "");
-Expect(1, 1871, '\P{^Is_Block: syriac}', "");
-Expect(0, 1791, '\p{Is_Block: syriac}', "");
-Expect(1, 1791, '\p{^Is_Block: syriac}', "");
-Expect(1, 1791, '\P{Is_Block: syriac}', "");
-Expect(0, 1791, '\P{^Is_Block: syriac}', "");
-Expect(1, 1871, '\p{Is_Block= Syriac}', "");
-Expect(0, 1871, '\p{^Is_Block= Syriac}', "");
-Expect(0, 1871, '\P{Is_Block= Syriac}', "");
-Expect(1, 1871, '\P{^Is_Block= Syriac}', "");
-Expect(0, 1791, '\p{Is_Block= Syriac}', "");
-Expect(1, 1791, '\p{^Is_Block= Syriac}', "");
-Expect(1, 1791, '\P{Is_Block= Syriac}', "");
-Expect(0, 1791, '\P{^Is_Block= Syriac}', "");
-Error('\p{Is_Blk=_SYRIAC/a/}');
-Error('\P{Is_Blk=_SYRIAC/a/}');
-Expect(1, 1871, '\p{Is_Blk=syriac}', "");
-Expect(0, 1871, '\p{^Is_Blk=syriac}', "");
-Expect(0, 1871, '\P{Is_Blk=syriac}', "");
-Expect(1, 1871, '\P{^Is_Blk=syriac}', "");
-Expect(0, 1791, '\p{Is_Blk=syriac}', "");
-Expect(1, 1791, '\p{^Is_Blk=syriac}', "");
-Expect(1, 1791, '\P{Is_Blk=syriac}', "");
-Expect(0, 1791, '\P{^Is_Blk=syriac}', "");
-Expect(1, 1871, '\p{Is_Blk= Syriac}', "");
-Expect(0, 1871, '\p{^Is_Blk= Syriac}', "");
-Expect(0, 1871, '\P{Is_Blk= Syriac}', "");
-Expect(1, 1871, '\P{^Is_Blk= Syriac}', "");
-Expect(0, 1791, '\p{Is_Blk= Syriac}', "");
-Expect(1, 1791, '\p{^Is_Blk= Syriac}', "");
-Expect(1, 1791, '\P{Is_Blk= Syriac}', "");
-Expect(0, 1791, '\P{^Is_Blk= Syriac}', "");
-Error('\p{Block: _:=ancient-Greek Musical Notation}');
-Error('\P{Block: _:=ancient-Greek Musical Notation}');
-Expect(1, 119375, '\p{Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{Block= Ancient-Greek_Musical Notation}', "");
-Expect(0, 119375, '\p{^Block= Ancient-Greek_Musical Notation}', "");
-Expect(0, 119375, '\P{Block= Ancient-Greek_Musical Notation}', "");
-Expect(1, 119375, '\P{^Block= Ancient-Greek_Musical Notation}', "");
-Expect(0, 119295, '\p{Block= Ancient-Greek_Musical Notation}', "");
-Expect(1, 119295, '\p{^Block= Ancient-Greek_Musical Notation}', "");
-Expect(1, 119295, '\P{Block= Ancient-Greek_Musical Notation}', "");
-Expect(0, 119295, '\P{^Block= Ancient-Greek_Musical Notation}', "");
-Error('\p{Blk= Ancient/a/Greek-Musical-Notation}');
-Error('\P{Blk= Ancient/a/Greek-Musical-Notation}');
-Expect(1, 119375, '\p{Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(0, 119375, '\p{^Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(0, 119375, '\P{Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(1, 119375, '\P{^Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(0, 119295, '\p{Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(1, 119295, '\p{^Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(1, 119295, '\P{Blk=_ ancientgreek MUSICAL-Notation}', "");
-Expect(0, 119295, '\P{^Blk=_ ancientgreek MUSICAL-Notation}', "");
-Error('\p{Is_Block= ANCIENT/a/GREEK-Musical notation}');
-Error('\P{Is_Block= ANCIENT/a/GREEK-Musical notation}');
-Expect(1, 119375, '\p{Is_Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^Is_Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{Is_Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^Is_Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{Is_Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^Is_Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{Is_Block=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^Is_Block=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(0, 119375, '\p{^Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(0, 119375, '\P{Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(1, 119375, '\P{^Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(0, 119295, '\p{Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(1, 119295, '\p{^Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(1, 119295, '\P{Is_Block= Ancient Greek_Musical_Notation}', "");
-Expect(0, 119295, '\P{^Is_Block= Ancient Greek_Musical_Notation}', "");
-Error('\p{Is_Blk= Ancient:=Greek MUSICAL-NOTATION}');
-Error('\P{Is_Blk= Ancient:=Greek MUSICAL-NOTATION}');
-Expect(1, 119375, '\p{Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^Is_Blk=ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(0, 119375, '\p{^Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(0, 119375, '\P{Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(1, 119375, '\P{^Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(0, 119295, '\p{Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(1, 119295, '\p{^Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(1, 119295, '\P{Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Expect(0, 119295, '\P{^Is_Blk=_ANCIENT-greek_musical Notation}', "");
-Error('\p{Block= :=Phags_Pa}');
-Error('\P{Block= :=Phags_Pa}');
-Expect(1, 43135, '\p{Block=phagspa}', "");
-Expect(0, 43135, '\p{^Block=phagspa}', "");
-Expect(0, 43135, '\P{Block=phagspa}', "");
-Expect(1, 43135, '\P{^Block=phagspa}', "");
-Expect(0, 43071, '\p{Block=phagspa}', "");
-Expect(1, 43071, '\p{^Block=phagspa}', "");
-Expect(1, 43071, '\P{Block=phagspa}', "");
-Expect(0, 43071, '\P{^Block=phagspa}', "");
-Expect(1, 43135, '\p{Block=__Phagspa}', "");
-Expect(0, 43135, '\p{^Block=__Phagspa}', "");
-Expect(0, 43135, '\P{Block=__Phagspa}', "");
-Expect(1, 43135, '\P{^Block=__Phagspa}', "");
-Expect(0, 43071, '\p{Block=__Phagspa}', "");
-Expect(1, 43071, '\p{^Block=__Phagspa}', "");
-Expect(1, 43071, '\P{Block=__Phagspa}', "");
-Expect(0, 43071, '\P{^Block=__Phagspa}', "");
-Error('\p{Blk= Phagspa:=}');
-Error('\P{Blk= Phagspa:=}');
-Expect(1, 43135, '\p{Blk=phagspa}', "");
-Expect(0, 43135, '\p{^Blk=phagspa}', "");
-Expect(0, 43135, '\P{Blk=phagspa}', "");
-Expect(1, 43135, '\P{^Blk=phagspa}', "");
-Expect(0, 43071, '\p{Blk=phagspa}', "");
-Expect(1, 43071, '\p{^Blk=phagspa}', "");
-Expect(1, 43071, '\P{Blk=phagspa}', "");
-Expect(0, 43071, '\P{^Blk=phagspa}', "");
-Expect(1, 43135, '\p{Blk= Phags Pa}', "");
-Expect(0, 43135, '\p{^Blk= Phags Pa}', "");
-Expect(0, 43135, '\P{Blk= Phags Pa}', "");
-Expect(1, 43135, '\P{^Blk= Phags Pa}', "");
-Expect(0, 43071, '\p{Blk= Phags Pa}', "");
-Expect(1, 43071, '\p{^Blk= Phags Pa}', "");
-Expect(1, 43071, '\P{Blk= Phags Pa}', "");
-Expect(0, 43071, '\P{^Blk= Phags Pa}', "");
-Error('\p{Is_Block=/a/phags Pa}');
-Error('\P{Is_Block=/a/phags Pa}');
-Expect(1, 43135, '\p{Is_Block=phagspa}', "");
-Expect(0, 43135, '\p{^Is_Block=phagspa}', "");
-Expect(0, 43135, '\P{Is_Block=phagspa}', "");
-Expect(1, 43135, '\P{^Is_Block=phagspa}', "");
-Expect(0, 43071, '\p{Is_Block=phagspa}', "");
-Expect(1, 43071, '\p{^Is_Block=phagspa}', "");
-Expect(1, 43071, '\P{Is_Block=phagspa}', "");
-Expect(0, 43071, '\P{^Is_Block=phagspa}', "");
-Expect(1, 43135, '\p{Is_Block= _PHAGS Pa}', "");
-Expect(0, 43135, '\p{^Is_Block= _PHAGS Pa}', "");
-Expect(0, 43135, '\P{Is_Block= _PHAGS Pa}', "");
-Expect(1, 43135, '\P{^Is_Block= _PHAGS Pa}', "");
-Expect(0, 43071, '\p{Is_Block= _PHAGS Pa}', "");
-Expect(1, 43071, '\p{^Is_Block= _PHAGS Pa}', "");
-Expect(1, 43071, '\P{Is_Block= _PHAGS Pa}', "");
-Expect(0, 43071, '\P{^Is_Block= _PHAGS Pa}', "");
-Error('\p{Is_Blk=_ Phags pa/a/}');
-Error('\P{Is_Blk=_ Phags pa/a/}');
-Expect(1, 43135, '\p{Is_Blk=phagspa}', "");
-Expect(0, 43135, '\p{^Is_Blk=phagspa}', "");
-Expect(0, 43135, '\P{Is_Blk=phagspa}', "");
-Expect(1, 43135, '\P{^Is_Blk=phagspa}', "");
-Expect(0, 43071, '\p{Is_Blk=phagspa}', "");
-Expect(1, 43071, '\p{^Is_Blk=phagspa}', "");
-Expect(1, 43071, '\P{Is_Blk=phagspa}', "");
-Expect(0, 43071, '\P{^Is_Blk=phagspa}', "");
-Expect(1, 43135, '\p{Is_Blk=_ phags pa}', "");
-Expect(0, 43135, '\p{^Is_Blk=_ phags pa}', "");
-Expect(0, 43135, '\P{Is_Blk=_ phags pa}', "");
-Expect(1, 43135, '\P{^Is_Blk=_ phags pa}', "");
-Expect(0, 43071, '\p{Is_Blk=_ phags pa}', "");
-Expect(1, 43071, '\p{^Is_Blk=_ phags pa}', "");
-Expect(1, 43071, '\P{Is_Blk=_ phags pa}', "");
-Expect(0, 43071, '\P{^Is_Blk=_ phags pa}', "");
-Error('\p{Block=_:=CJKCompatibility-Ideographs}');
-Error('\P{Block=_:=CJKCompatibility-Ideographs}');
-Expect(1, 64255, '\p{Block=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^Block=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{Block=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^Block=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{Block=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^Block=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{Block=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^Block=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(0, 64255, '\p{^Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(0, 64255, '\P{Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(1, 64255, '\P{^Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(0, 63743, '\p{Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(1, 63743, '\p{^Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(1, 63743, '\P{Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Expect(0, 63743, '\P{^Block:_CJK_compatibility-IDEOGRAPHS}', "");
-Error('\p{Blk=_ CJK/a/Compatibility ideographs}');
-Error('\P{Blk=_ CJK/a/Compatibility ideographs}');
-Expect(1, 64255, '\p{Blk=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^Blk=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{Blk=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^Blk=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{Blk=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^Blk=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{Blk=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^Blk=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(0, 64255, '\p{^Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(0, 64255, '\P{Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(1, 64255, '\P{^Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(0, 63743, '\p{Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(1, 63743, '\p{^Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(1, 63743, '\P{Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Expect(0, 63743, '\P{^Blk=--CJKCOMPATIBILITYIdeographs}', "");
-Error('\p{Is_Block=:=_ cjk_COMPATIBILITY Ideographs}');
-Error('\P{Is_Block=:=_ cjk_COMPATIBILITY Ideographs}');
-Expect(1, 64255, '\p{Is_Block=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^Is_Block=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{Is_Block=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^Is_Block=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{Is_Block=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^Is_Block=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{Is_Block=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^Is_Block=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{Is_Block: CJK Compatibility Ideographs}', "");
-Expect(0, 64255, '\p{^Is_Block: CJK Compatibility Ideographs}', "");
-Expect(0, 64255, '\P{Is_Block: CJK Compatibility Ideographs}', "");
-Expect(1, 64255, '\P{^Is_Block: CJK Compatibility Ideographs}', "");
-Expect(0, 63743, '\p{Is_Block: CJK Compatibility Ideographs}', "");
-Expect(1, 63743, '\p{^Is_Block: CJK Compatibility Ideographs}', "");
-Expect(1, 63743, '\P{Is_Block: CJK Compatibility Ideographs}', "");
-Expect(0, 63743, '\P{^Is_Block: CJK Compatibility Ideographs}', "");
-Error('\p{Is_Blk= cjk_COMPATIBILITY ideographs:=}');
-Error('\P{Is_Blk= cjk_COMPATIBILITY ideographs:=}');
-Expect(1, 64255, '\p{Is_Blk=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^Is_Blk=cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{Is_Blk=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^Is_Blk=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{Is_Blk=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^Is_Blk=cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{Is_Blk=cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^Is_Blk=cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(0, 64255, '\p{^Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(0, 64255, '\P{Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(1, 64255, '\P{^Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(0, 63743, '\p{Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(1, 63743, '\p{^Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(1, 63743, '\P{Is_Blk= CJK-compatibility Ideographs}', "");
-Expect(0, 63743, '\P{^Is_Blk= CJK-compatibility Ideographs}', "");
-Error('\p{Block=:=_-Thaana}');
-Error('\P{Block=:=_-Thaana}');
-Expect(1, 1983, '\p{Block=thaana}', "");
-Expect(0, 1983, '\p{^Block=thaana}', "");
-Expect(0, 1983, '\P{Block=thaana}', "");
-Expect(1, 1983, '\P{^Block=thaana}', "");
-Expect(0, 1919, '\p{Block=thaana}', "");
-Expect(1, 1919, '\p{^Block=thaana}', "");
-Expect(1, 1919, '\P{Block=thaana}', "");
-Expect(0, 1919, '\P{^Block=thaana}', "");
-Expect(1, 1983, '\p{Block=_ Thaana}', "");
-Expect(0, 1983, '\p{^Block=_ Thaana}', "");
-Expect(0, 1983, '\P{Block=_ Thaana}', "");
-Expect(1, 1983, '\P{^Block=_ Thaana}', "");
-Expect(0, 1919, '\p{Block=_ Thaana}', "");
-Expect(1, 1919, '\p{^Block=_ Thaana}', "");
-Expect(1, 1919, '\P{Block=_ Thaana}', "");
-Expect(0, 1919, '\P{^Block=_ Thaana}', "");
-Error('\p{Blk= :=Thaana}');
-Error('\P{Blk= :=Thaana}');
-Expect(1, 1983, '\p{Blk=thaana}', "");
-Expect(0, 1983, '\p{^Blk=thaana}', "");
-Expect(0, 1983, '\P{Blk=thaana}', "");
-Expect(1, 1983, '\P{^Blk=thaana}', "");
-Expect(0, 1919, '\p{Blk=thaana}', "");
-Expect(1, 1919, '\p{^Blk=thaana}', "");
-Expect(1, 1919, '\P{Blk=thaana}', "");
-Expect(0, 1919, '\P{^Blk=thaana}', "");
-Expect(1, 1983, '\p{Blk= _thaana}', "");
-Expect(0, 1983, '\p{^Blk= _thaana}', "");
-Expect(0, 1983, '\P{Blk= _thaana}', "");
-Expect(1, 1983, '\P{^Blk= _thaana}', "");
-Expect(0, 1919, '\p{Blk= _thaana}', "");
-Expect(1, 1919, '\p{^Blk= _thaana}', "");
-Expect(1, 1919, '\P{Blk= _thaana}', "");
-Expect(0, 1919, '\P{^Blk= _thaana}', "");
-Error('\p{Is_Block=/a/THAANA}');
-Error('\P{Is_Block=/a/THAANA}');
-Expect(1, 1983, '\p{Is_Block=thaana}', "");
-Expect(0, 1983, '\p{^Is_Block=thaana}', "");
-Expect(0, 1983, '\P{Is_Block=thaana}', "");
-Expect(1, 1983, '\P{^Is_Block=thaana}', "");
-Expect(0, 1919, '\p{Is_Block=thaana}', "");
-Expect(1, 1919, '\p{^Is_Block=thaana}', "");
-Expect(1, 1919, '\P{Is_Block=thaana}', "");
-Expect(0, 1919, '\P{^Is_Block=thaana}', "");
-Expect(1, 1983, '\p{Is_Block= Thaana}', "");
-Expect(0, 1983, '\p{^Is_Block= Thaana}', "");
-Expect(0, 1983, '\P{Is_Block= Thaana}', "");
-Expect(1, 1983, '\P{^Is_Block= Thaana}', "");
-Expect(0, 1919, '\p{Is_Block= Thaana}', "");
-Expect(1, 1919, '\p{^Is_Block= Thaana}', "");
-Expect(1, 1919, '\P{Is_Block= Thaana}', "");
-Expect(0, 1919, '\P{^Is_Block= Thaana}', "");
-Error('\p{Is_Blk=_:=Thaana}');
-Error('\P{Is_Blk=_:=Thaana}');
-Expect(1, 1983, '\p{Is_Blk=thaana}', "");
-Expect(0, 1983, '\p{^Is_Blk=thaana}', "");
-Expect(0, 1983, '\P{Is_Blk=thaana}', "");
-Expect(1, 1983, '\P{^Is_Blk=thaana}', "");
-Expect(0, 1919, '\p{Is_Blk=thaana}', "");
-Expect(1, 1919, '\p{^Is_Blk=thaana}', "");
-Expect(1, 1919, '\P{Is_Blk=thaana}', "");
-Expect(0, 1919, '\P{^Is_Blk=thaana}', "");
-Expect(1, 1983, '\p{Is_Blk=_-Thaana}', "");
-Expect(0, 1983, '\p{^Is_Blk=_-Thaana}', "");
-Expect(0, 1983, '\P{Is_Blk=_-Thaana}', "");
-Expect(1, 1983, '\P{^Is_Blk=_-Thaana}', "");
-Expect(0, 1919, '\p{Is_Blk=_-Thaana}', "");
-Expect(1, 1919, '\p{^Is_Blk=_-Thaana}', "");
-Expect(1, 1919, '\P{Is_Blk=_-Thaana}', "");
-Expect(0, 1919, '\P{^Is_Blk=_-Thaana}', "");
-Error('\p{Block=/a/-Enclosed-alphanumeric-Supplement}');
-Error('\P{Block=/a/-Enclosed-alphanumeric-Supplement}');
-Expect(1, 127487, '\p{Block: enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^Block: enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{Block: enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^Block: enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{Block: enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^Block: enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{Block: enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^Block: enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(0, 127487, '\p{^Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(0, 127487, '\P{Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(1, 127487, '\P{^Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(0, 127231, '\p{Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(1, 127231, '\p{^Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(1, 127231, '\P{Block=- ENCLOSED-alphanumeric supplement}', "");
-Expect(0, 127231, '\P{^Block=- ENCLOSED-alphanumeric supplement}', "");
-Error('\p{Blk= -enclosed_Alphanumeric Supplement:=}');
-Error('\P{Blk= -enclosed_Alphanumeric Supplement:=}');
-Expect(1, 127487, '\p{Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(0, 127487, '\p{^Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(0, 127487, '\P{Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(1, 127487, '\P{^Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(0, 127231, '\p{Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(1, 127231, '\p{^Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(1, 127231, '\P{Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Expect(0, 127231, '\P{^Blk=- ENCLOSED_Alphanumeric supplement}', "");
-Error('\p{Is_Block= -Enclosed alphanumeric/a/Supplement}');
-Error('\P{Is_Block= -Enclosed alphanumeric/a/Supplement}');
-Expect(1, 127487, '\p{Is_Block=enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^Is_Block=enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{Is_Block=enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^Is_Block=enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{Is_Block=enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^Is_Block=enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{Is_Block=enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^Is_Block=enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(0, 127487, '\p{^Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(0, 127487, '\P{Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(1, 127487, '\P{^Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(0, 127231, '\p{Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(1, 127231, '\p{^Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(1, 127231, '\P{Is_Block= EnclosedalphanumericSupplement}', "");
-Expect(0, 127231, '\P{^Is_Block= EnclosedalphanumericSupplement}', "");
-Error('\p{Is_Blk=_ENCLOSED:=ALPHANUMERIC-supplement}');
-Error('\P{Is_Blk=_ENCLOSED:=ALPHANUMERIC-supplement}');
-Expect(1, 127487, '\p{Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^Is_Blk=enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(0, 127487, '\p{^Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(0, 127487, '\P{Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(1, 127487, '\P{^Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(0, 127231, '\p{Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(1, 127231, '\p{^Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(1, 127231, '\P{Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Expect(0, 127231, '\P{^Is_Blk=enclosed Alphanumeric_SUPPLEMENT}', "");
-Error('\p{Block: Ethiopic_extended/a/}');
-Error('\P{Block: Ethiopic_extended/a/}');
-Expect(1, 11743, '\p{Block=ethiopicextended}', "");
-Expect(0, 11743, '\p{^Block=ethiopicextended}', "");
-Expect(0, 11743, '\P{Block=ethiopicextended}', "");
-Expect(1, 11743, '\P{^Block=ethiopicextended}', "");
-Expect(0, 11647, '\p{Block=ethiopicextended}', "");
-Expect(1, 11647, '\p{^Block=ethiopicextended}', "");
-Expect(1, 11647, '\P{Block=ethiopicextended}', "");
-Expect(0, 11647, '\P{^Block=ethiopicextended}', "");
-Expect(1, 11743, '\p{Block=_ ETHIOPICExtended}', "");
-Expect(0, 11743, '\p{^Block=_ ETHIOPICExtended}', "");
-Expect(0, 11743, '\P{Block=_ ETHIOPICExtended}', "");
-Expect(1, 11743, '\P{^Block=_ ETHIOPICExtended}', "");
-Expect(0, 11647, '\p{Block=_ ETHIOPICExtended}', "");
-Expect(1, 11647, '\p{^Block=_ ETHIOPICExtended}', "");
-Expect(1, 11647, '\P{Block=_ ETHIOPICExtended}', "");
-Expect(0, 11647, '\P{^Block=_ ETHIOPICExtended}', "");
-Error('\p{Blk=-/a/ETHIOPIC extended}');
-Error('\P{Blk=-/a/ETHIOPIC extended}');
-Expect(1, 11743, '\p{Blk=ethiopicextended}', "");
-Expect(0, 11743, '\p{^Blk=ethiopicextended}', "");
-Expect(0, 11743, '\P{Blk=ethiopicextended}', "");
-Expect(1, 11743, '\P{^Blk=ethiopicextended}', "");
-Expect(0, 11647, '\p{Blk=ethiopicextended}', "");
-Expect(1, 11647, '\p{^Blk=ethiopicextended}', "");
-Expect(1, 11647, '\P{Blk=ethiopicextended}', "");
-Expect(0, 11647, '\P{^Blk=ethiopicextended}', "");
-Expect(1, 11743, '\p{Blk: ETHIOPIC-Extended}', "");
-Expect(0, 11743, '\p{^Blk: ETHIOPIC-Extended}', "");
-Expect(0, 11743, '\P{Blk: ETHIOPIC-Extended}', "");
-Expect(1, 11743, '\P{^Blk: ETHIOPIC-Extended}', "");
-Expect(0, 11647, '\p{Blk: ETHIOPIC-Extended}', "");
-Expect(1, 11647, '\p{^Blk: ETHIOPIC-Extended}', "");
-Expect(1, 11647, '\P{Blk: ETHIOPIC-Extended}', "");
-Expect(0, 11647, '\P{^Blk: ETHIOPIC-Extended}', "");
-Error('\p{Is_Block=-/a/ETHIOPIC_Extended}');
-Error('\P{Is_Block=-/a/ETHIOPIC_Extended}');
-Expect(1, 11743, '\p{Is_Block=ethiopicextended}', "");
-Expect(0, 11743, '\p{^Is_Block=ethiopicextended}', "");
-Expect(0, 11743, '\P{Is_Block=ethiopicextended}', "");
-Expect(1, 11743, '\P{^Is_Block=ethiopicextended}', "");
-Expect(0, 11647, '\p{Is_Block=ethiopicextended}', "");
-Expect(1, 11647, '\p{^Is_Block=ethiopicextended}', "");
-Expect(1, 11647, '\P{Is_Block=ethiopicextended}', "");
-Expect(0, 11647, '\P{^Is_Block=ethiopicextended}', "");
-Expect(1, 11743, '\p{Is_Block=--Ethiopic_extended}', "");
-Expect(0, 11743, '\p{^Is_Block=--Ethiopic_extended}', "");
-Expect(0, 11743, '\P{Is_Block=--Ethiopic_extended}', "");
-Expect(1, 11743, '\P{^Is_Block=--Ethiopic_extended}', "");
-Expect(0, 11647, '\p{Is_Block=--Ethiopic_extended}', "");
-Expect(1, 11647, '\p{^Is_Block=--Ethiopic_extended}', "");
-Expect(1, 11647, '\P{Is_Block=--Ethiopic_extended}', "");
-Expect(0, 11647, '\P{^Is_Block=--Ethiopic_extended}', "");
-Error('\p{Is_Blk=-/a/Ethiopic_extended}');
-Error('\P{Is_Blk=-/a/Ethiopic_extended}');
-Expect(1, 11743, '\p{Is_Blk=ethiopicextended}', "");
-Expect(0, 11743, '\p{^Is_Blk=ethiopicextended}', "");
-Expect(0, 11743, '\P{Is_Blk=ethiopicextended}', "");
-Expect(1, 11743, '\P{^Is_Blk=ethiopicextended}', "");
-Expect(0, 11647, '\p{Is_Blk=ethiopicextended}', "");
-Expect(1, 11647, '\p{^Is_Blk=ethiopicextended}', "");
-Expect(1, 11647, '\P{Is_Blk=ethiopicextended}', "");
-Expect(0, 11647, '\P{^Is_Blk=ethiopicextended}', "");
-Expect(1, 11743, '\p{Is_Blk= ETHIOPIC Extended}', "");
-Expect(0, 11743, '\p{^Is_Blk= ETHIOPIC Extended}', "");
-Expect(0, 11743, '\P{Is_Blk= ETHIOPIC Extended}', "");
-Expect(1, 11743, '\P{^Is_Blk= ETHIOPIC Extended}', "");
-Expect(0, 11647, '\p{Is_Blk= ETHIOPIC Extended}', "");
-Expect(1, 11647, '\p{^Is_Blk= ETHIOPIC Extended}', "");
-Expect(1, 11647, '\P{Is_Blk= ETHIOPIC Extended}', "");
-Expect(0, 11647, '\P{^Is_Blk= ETHIOPIC Extended}', "");
-Error('\p{Block=_PHOENICIAN/a/}');
-Error('\P{Block=_PHOENICIAN/a/}');
-Expect(1, 67871, '\p{Block=phoenician}', "");
-Expect(0, 67871, '\p{^Block=phoenician}', "");
-Expect(0, 67871, '\P{Block=phoenician}', "");
-Expect(1, 67871, '\P{^Block=phoenician}', "");
-Expect(0, 67839, '\p{Block=phoenician}', "");
-Expect(1, 67839, '\p{^Block=phoenician}', "");
-Expect(1, 67839, '\P{Block=phoenician}', "");
-Expect(0, 67839, '\P{^Block=phoenician}', "");
-Expect(1, 67871, '\p{Block= Phoenician}', "");
-Expect(0, 67871, '\p{^Block= Phoenician}', "");
-Expect(0, 67871, '\P{Block= Phoenician}', "");
-Expect(1, 67871, '\P{^Block= Phoenician}', "");
-Expect(0, 67839, '\p{Block= Phoenician}', "");
-Expect(1, 67839, '\p{^Block= Phoenician}', "");
-Expect(1, 67839, '\P{Block= Phoenician}', "");
-Expect(0, 67839, '\P{^Block= Phoenician}', "");
-Error('\p{Blk::= PHOENICIAN}');
-Error('\P{Blk::= PHOENICIAN}');
-Expect(1, 67871, '\p{Blk=phoenician}', "");
-Expect(0, 67871, '\p{^Blk=phoenician}', "");
-Expect(0, 67871, '\P{Blk=phoenician}', "");
-Expect(1, 67871, '\P{^Blk=phoenician}', "");
-Expect(0, 67839, '\p{Blk=phoenician}', "");
-Expect(1, 67839, '\p{^Blk=phoenician}', "");
-Expect(1, 67839, '\P{Blk=phoenician}', "");
-Expect(0, 67839, '\P{^Blk=phoenician}', "");
-Expect(1, 67871, '\p{Blk= -Phoenician}', "");
-Expect(0, 67871, '\p{^Blk= -Phoenician}', "");
-Expect(0, 67871, '\P{Blk= -Phoenician}', "");
-Expect(1, 67871, '\P{^Blk= -Phoenician}', "");
-Expect(0, 67839, '\p{Blk= -Phoenician}', "");
-Expect(1, 67839, '\p{^Blk= -Phoenician}', "");
-Expect(1, 67839, '\P{Blk= -Phoenician}', "");
-Expect(0, 67839, '\P{^Blk= -Phoenician}', "");
-Error('\p{Is_Block=- phoenician/a/}');
-Error('\P{Is_Block=- phoenician/a/}');
-Expect(1, 67871, '\p{Is_Block=phoenician}', "");
-Expect(0, 67871, '\p{^Is_Block=phoenician}', "");
-Expect(0, 67871, '\P{Is_Block=phoenician}', "");
-Expect(1, 67871, '\P{^Is_Block=phoenician}', "");
-Expect(0, 67839, '\p{Is_Block=phoenician}', "");
-Expect(1, 67839, '\p{^Is_Block=phoenician}', "");
-Expect(1, 67839, '\P{Is_Block=phoenician}', "");
-Expect(0, 67839, '\P{^Is_Block=phoenician}', "");
-Expect(1, 67871, '\p{Is_Block=_phoenician}', "");
-Expect(0, 67871, '\p{^Is_Block=_phoenician}', "");
-Expect(0, 67871, '\P{Is_Block=_phoenician}', "");
-Expect(1, 67871, '\P{^Is_Block=_phoenician}', "");
-Expect(0, 67839, '\p{Is_Block=_phoenician}', "");
-Expect(1, 67839, '\p{^Is_Block=_phoenician}', "");
-Expect(1, 67839, '\P{Is_Block=_phoenician}', "");
-Expect(0, 67839, '\P{^Is_Block=_phoenician}', "");
-Error('\p{Is_Blk=/a/ _PHOENICIAN}');
-Error('\P{Is_Blk=/a/ _PHOENICIAN}');
-Expect(1, 67871, '\p{Is_Blk=phoenician}', "");
-Expect(0, 67871, '\p{^Is_Blk=phoenician}', "");
-Expect(0, 67871, '\P{Is_Blk=phoenician}', "");
-Expect(1, 67871, '\P{^Is_Blk=phoenician}', "");
-Expect(0, 67839, '\p{Is_Blk=phoenician}', "");
-Expect(1, 67839, '\p{^Is_Blk=phoenician}', "");
-Expect(1, 67839, '\P{Is_Blk=phoenician}', "");
-Expect(0, 67839, '\P{^Is_Blk=phoenician}', "");
-Expect(1, 67871, '\p{Is_Blk=_PHOENICIAN}', "");
-Expect(0, 67871, '\p{^Is_Blk=_PHOENICIAN}', "");
-Expect(0, 67871, '\P{Is_Blk=_PHOENICIAN}', "");
-Expect(1, 67871, '\P{^Is_Blk=_PHOENICIAN}', "");
-Expect(0, 67839, '\p{Is_Blk=_PHOENICIAN}', "");
-Expect(1, 67839, '\p{^Is_Blk=_PHOENICIAN}', "");
-Expect(1, 67839, '\P{Is_Blk=_PHOENICIAN}', "");
-Expect(0, 67839, '\P{^Is_Blk=_PHOENICIAN}', "");
-Error('\p{Block=:= Latin 1-supplement}');
-Error('\P{Block=:= Latin 1-supplement}');
-Expect(1, 255, '\p{Block=latin1supplement}', "");
-Expect(0, 255, '\p{^Block=latin1supplement}', "");
-Expect(0, 255, '\P{Block=latin1supplement}', "");
-Expect(1, 255, '\P{^Block=latin1supplement}', "");
-Expect(0, 127, '\p{Block=latin1supplement}', "");
-Expect(1, 127, '\p{^Block=latin1supplement}', "");
-Expect(1, 127, '\P{Block=latin1supplement}', "");
-Expect(0, 127, '\P{^Block=latin1supplement}', "");
-Expect(1, 255, '\p{Block=- Latin 1-Supplement}', "");
-Expect(0, 255, '\p{^Block=- Latin 1-Supplement}', "");
-Expect(0, 255, '\P{Block=- Latin 1-Supplement}', "");
-Expect(1, 255, '\P{^Block=- Latin 1-Supplement}', "");
-Expect(0, 127, '\p{Block=- Latin 1-Supplement}', "");
-Expect(1, 127, '\p{^Block=- Latin 1-Supplement}', "");
-Expect(1, 127, '\P{Block=- Latin 1-Supplement}', "");
-Expect(0, 127, '\P{^Block=- Latin 1-Supplement}', "");
-Error('\p{Blk=/a/ Latin1}');
-Error('\P{Blk=/a/ Latin1}');
-Expect(1, 255, '\p{Blk=latin1}', "");
-Expect(0, 255, '\p{^Blk=latin1}', "");
-Expect(0, 255, '\P{Blk=latin1}', "");
-Expect(1, 255, '\P{^Blk=latin1}', "");
-Expect(0, 127, '\p{Blk=latin1}', "");
-Expect(1, 127, '\p{^Blk=latin1}', "");
-Expect(1, 127, '\P{Blk=latin1}', "");
-Expect(0, 127, '\P{^Blk=latin1}', "");
-Expect(1, 255, '\p{Blk= latin 1}', "");
-Expect(0, 255, '\p{^Blk= latin 1}', "");
-Expect(0, 255, '\P{Blk= latin 1}', "");
-Expect(1, 255, '\P{^Blk= latin 1}', "");
-Expect(0, 127, '\p{Blk= latin 1}', "");
-Expect(1, 127, '\p{^Blk= latin 1}', "");
-Expect(1, 127, '\P{Blk= latin 1}', "");
-Expect(0, 127, '\P{^Blk= latin 1}', "");
-Error('\p{Is_Block= :=latin 1-SUPPLEMENT}');
-Error('\P{Is_Block= :=latin 1-SUPPLEMENT}');
-Expect(1, 255, '\p{Is_Block=latin1supplement}', "");
-Expect(0, 255, '\p{^Is_Block=latin1supplement}', "");
-Expect(0, 255, '\P{Is_Block=latin1supplement}', "");
-Expect(1, 255, '\P{^Is_Block=latin1supplement}', "");
-Expect(0, 127, '\p{Is_Block=latin1supplement}', "");
-Expect(1, 127, '\p{^Is_Block=latin1supplement}', "");
-Expect(1, 127, '\P{Is_Block=latin1supplement}', "");
-Expect(0, 127, '\P{^Is_Block=latin1supplement}', "");
-Expect(1, 255, '\p{Is_Block=-latin1supplement}', "");
-Expect(0, 255, '\p{^Is_Block=-latin1supplement}', "");
-Expect(0, 255, '\P{Is_Block=-latin1supplement}', "");
-Expect(1, 255, '\P{^Is_Block=-latin1supplement}', "");
-Expect(0, 127, '\p{Is_Block=-latin1supplement}', "");
-Expect(1, 127, '\p{^Is_Block=-latin1supplement}', "");
-Expect(1, 127, '\P{Is_Block=-latin1supplement}', "");
-Expect(0, 127, '\P{^Is_Block=-latin1supplement}', "");
-Error('\p{Is_Blk= LATIN:=1}');
-Error('\P{Is_Blk= LATIN:=1}');
-Expect(1, 255, '\p{Is_Blk=latin1}', "");
-Expect(0, 255, '\p{^Is_Blk=latin1}', "");
-Expect(0, 255, '\P{Is_Blk=latin1}', "");
-Expect(1, 255, '\P{^Is_Blk=latin1}', "");
-Expect(0, 127, '\p{Is_Blk=latin1}', "");
-Expect(1, 127, '\p{^Is_Blk=latin1}', "");
-Expect(1, 127, '\P{Is_Blk=latin1}', "");
-Expect(0, 127, '\P{^Is_Blk=latin1}', "");
-Expect(1, 255, '\p{Is_Blk=__Latin 1}', "");
-Expect(0, 255, '\p{^Is_Blk=__Latin 1}', "");
-Expect(0, 255, '\P{Is_Blk=__Latin 1}', "");
-Expect(1, 255, '\P{^Is_Blk=__Latin 1}', "");
-Expect(0, 127, '\p{Is_Blk=__Latin 1}', "");
-Expect(1, 127, '\p{^Is_Blk=__Latin 1}', "");
-Expect(1, 127, '\P{Is_Blk=__Latin 1}', "");
-Expect(0, 127, '\P{^Is_Blk=__Latin 1}', "");
-Error('\p{Block: Devanagari/a/}');
-Error('\P{Block: Devanagari/a/}');
-Expect(1, 2431, '\p{Block=devanagari}', "");
-Expect(0, 2431, '\p{^Block=devanagari}', "");
-Expect(0, 2431, '\P{Block=devanagari}', "");
-Expect(1, 2431, '\P{^Block=devanagari}', "");
-Expect(0, 2303, '\p{Block=devanagari}', "");
-Expect(1, 2303, '\p{^Block=devanagari}', "");
-Expect(1, 2303, '\P{Block=devanagari}', "");
-Expect(0, 2303, '\P{^Block=devanagari}', "");
-Expect(1, 2431, '\p{Block=Devanagari}', "");
-Expect(0, 2431, '\p{^Block=Devanagari}', "");
-Expect(0, 2431, '\P{Block=Devanagari}', "");
-Expect(1, 2431, '\P{^Block=Devanagari}', "");
-Expect(0, 2303, '\p{Block=Devanagari}', "");
-Expect(1, 2303, '\p{^Block=Devanagari}', "");
-Expect(1, 2303, '\P{Block=Devanagari}', "");
-Expect(0, 2303, '\P{^Block=Devanagari}', "");
-Error('\p{Blk=/a/-DEVANAGARI}');
-Error('\P{Blk=/a/-DEVANAGARI}');
-Expect(1, 2431, '\p{Blk=devanagari}', "");
-Expect(0, 2431, '\p{^Blk=devanagari}', "");
-Expect(0, 2431, '\P{Blk=devanagari}', "");
-Expect(1, 2431, '\P{^Blk=devanagari}', "");
-Expect(0, 2303, '\p{Blk=devanagari}', "");
-Expect(1, 2303, '\p{^Blk=devanagari}', "");
-Expect(1, 2303, '\P{Blk=devanagari}', "");
-Expect(0, 2303, '\P{^Blk=devanagari}', "");
-Expect(1, 2431, '\p{Blk=- Devanagari}', "");
-Expect(0, 2431, '\p{^Blk=- Devanagari}', "");
-Expect(0, 2431, '\P{Blk=- Devanagari}', "");
-Expect(1, 2431, '\P{^Blk=- Devanagari}', "");
-Expect(0, 2303, '\p{Blk=- Devanagari}', "");
-Expect(1, 2303, '\p{^Blk=- Devanagari}', "");
-Expect(1, 2303, '\P{Blk=- Devanagari}', "");
-Expect(0, 2303, '\P{^Blk=- Devanagari}', "");
-Error('\p{Is_Block= devanagari:=}');
-Error('\P{Is_Block= devanagari:=}');
-Expect(1, 2431, '\p{Is_Block: devanagari}', "");
-Expect(0, 2431, '\p{^Is_Block: devanagari}', "");
-Expect(0, 2431, '\P{Is_Block: devanagari}', "");
-Expect(1, 2431, '\P{^Is_Block: devanagari}', "");
-Expect(0, 2303, '\p{Is_Block: devanagari}', "");
-Expect(1, 2303, '\p{^Is_Block: devanagari}', "");
-Expect(1, 2303, '\P{Is_Block: devanagari}', "");
-Expect(0, 2303, '\P{^Is_Block: devanagari}', "");
-Expect(1, 2431, '\p{Is_Block: Devanagari}', "");
-Expect(0, 2431, '\p{^Is_Block: Devanagari}', "");
-Expect(0, 2431, '\P{Is_Block: Devanagari}', "");
-Expect(1, 2431, '\P{^Is_Block: Devanagari}', "");
-Expect(0, 2303, '\p{Is_Block: Devanagari}', "");
-Expect(1, 2303, '\p{^Is_Block: Devanagari}', "");
-Expect(1, 2303, '\P{Is_Block: Devanagari}', "");
-Expect(0, 2303, '\P{^Is_Block: Devanagari}', "");
-Error('\p{Is_Blk=/a/-Devanagari}');
-Error('\P{Is_Blk=/a/-Devanagari}');
-Expect(1, 2431, '\p{Is_Blk=devanagari}', "");
-Expect(0, 2431, '\p{^Is_Blk=devanagari}', "");
-Expect(0, 2431, '\P{Is_Blk=devanagari}', "");
-Expect(1, 2431, '\P{^Is_Blk=devanagari}', "");
-Expect(0, 2303, '\p{Is_Blk=devanagari}', "");
-Expect(1, 2303, '\p{^Is_Blk=devanagari}', "");
-Expect(1, 2303, '\P{Is_Blk=devanagari}', "");
-Expect(0, 2303, '\P{^Is_Blk=devanagari}', "");
-Expect(1, 2431, '\p{Is_Blk= DEVANAGARI}', "");
-Expect(0, 2431, '\p{^Is_Blk= DEVANAGARI}', "");
-Expect(0, 2431, '\P{Is_Blk= DEVANAGARI}', "");
-Expect(1, 2431, '\P{^Is_Blk= DEVANAGARI}', "");
-Expect(0, 2303, '\p{Is_Blk= DEVANAGARI}', "");
-Expect(1, 2303, '\p{^Is_Blk= DEVANAGARI}', "");
-Expect(1, 2303, '\P{Is_Blk= DEVANAGARI}', "");
-Expect(0, 2303, '\P{^Is_Blk= DEVANAGARI}', "");
-Error('\p{Block: __HANGULJamo EXTENDED-A:=}');
-Error('\P{Block: __HANGULJamo EXTENDED-A:=}');
-Expect(1, 43391, '\p{Block=hanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^Block=hanguljamoextendeda}', "");
-Expect(0, 43391, '\P{Block=hanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^Block=hanguljamoextendeda}', "");
-Expect(0, 43359, '\p{Block=hanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^Block=hanguljamoextendeda}', "");
-Expect(1, 43359, '\P{Block=hanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^Block=hanguljamoextendeda}', "");
-Expect(1, 43391, '\p{Block= Hangul_Jamo extended a}', "");
-Expect(0, 43391, '\p{^Block= Hangul_Jamo extended a}', "");
-Expect(0, 43391, '\P{Block= Hangul_Jamo extended a}', "");
-Expect(1, 43391, '\P{^Block= Hangul_Jamo extended a}', "");
-Expect(0, 43359, '\p{Block= Hangul_Jamo extended a}', "");
-Expect(1, 43359, '\p{^Block= Hangul_Jamo extended a}', "");
-Expect(1, 43359, '\P{Block= Hangul_Jamo extended a}', "");
-Expect(0, 43359, '\P{^Block= Hangul_Jamo extended a}', "");
-Error('\p{Blk= HANGUL JAMO Extended_A:=}');
-Error('\P{Blk= HANGUL JAMO Extended_A:=}');
-Expect(1, 43391, '\p{Blk=hanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^Blk=hanguljamoextendeda}', "");
-Expect(0, 43391, '\P{Blk=hanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^Blk=hanguljamoextendeda}', "");
-Expect(0, 43359, '\p{Blk=hanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^Blk=hanguljamoextendeda}', "");
-Expect(1, 43359, '\P{Blk=hanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^Blk=hanguljamoextendeda}', "");
-Expect(1, 43391, '\p{Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(0, 43391, '\p{^Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(0, 43391, '\P{Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(1, 43391, '\P{^Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(0, 43359, '\p{Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(1, 43359, '\p{^Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(1, 43359, '\P{Blk= hangul-JAMO EXTENDED_A}', "");
-Expect(0, 43359, '\P{^Blk= hangul-JAMO EXTENDED_A}', "");
-Error('\p{Is_Block= HANGULJAMO Extended-A:=}');
-Error('\P{Is_Block= HANGULJAMO Extended-A:=}');
-Expect(1, 43391, '\p{Is_Block=hanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^Is_Block=hanguljamoextendeda}', "");
-Expect(0, 43391, '\P{Is_Block=hanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^Is_Block=hanguljamoextendeda}', "");
-Expect(0, 43359, '\p{Is_Block=hanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^Is_Block=hanguljamoextendeda}', "");
-Expect(1, 43359, '\P{Is_Block=hanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^Is_Block=hanguljamoextendeda}', "");
-Expect(1, 43391, '\p{Is_Block= hangul jamo extended a}', "");
-Expect(0, 43391, '\p{^Is_Block= hangul jamo extended a}', "");
-Expect(0, 43391, '\P{Is_Block= hangul jamo extended a}', "");
-Expect(1, 43391, '\P{^Is_Block= hangul jamo extended a}', "");
-Expect(0, 43359, '\p{Is_Block= hangul jamo extended a}', "");
-Expect(1, 43359, '\p{^Is_Block= hangul jamo extended a}', "");
-Expect(1, 43359, '\P{Is_Block= hangul jamo extended a}', "");
-Expect(0, 43359, '\P{^Is_Block= hangul jamo extended a}', "");
-Error('\p{Is_Blk=- HangulJamo_EXTENDED/a/a}');
-Error('\P{Is_Blk=- HangulJamo_EXTENDED/a/a}');
-Expect(1, 43391, '\p{Is_Blk=hanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^Is_Blk=hanguljamoextendeda}', "");
-Expect(0, 43391, '\P{Is_Blk=hanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^Is_Blk=hanguljamoextendeda}', "");
-Expect(0, 43359, '\p{Is_Blk=hanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^Is_Blk=hanguljamoextendeda}', "");
-Expect(1, 43359, '\P{Is_Blk=hanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^Is_Blk=hanguljamoextendeda}', "");
-Expect(1, 43391, '\p{Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(0, 43391, '\p{^Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(0, 43391, '\P{Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(1, 43391, '\P{^Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(0, 43359, '\p{Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(1, 43359, '\p{^Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(1, 43359, '\P{Is_Blk= Hangul Jamo EXTENDED A}', "");
-Expect(0, 43359, '\P{^Is_Blk= Hangul Jamo EXTENDED A}', "");
-Error('\p{Block=:=Carian}');
-Error('\P{Block=:=Carian}');
-Expect(1, 66271, '\p{Block=carian}', "");
-Expect(0, 66271, '\p{^Block=carian}', "");
-Expect(0, 66271, '\P{Block=carian}', "");
-Expect(1, 66271, '\P{^Block=carian}', "");
-Expect(0, 66207, '\p{Block=carian}', "");
-Expect(1, 66207, '\p{^Block=carian}', "");
-Expect(1, 66207, '\P{Block=carian}', "");
-Expect(0, 66207, '\P{^Block=carian}', "");
-Expect(1, 66271, '\p{Block= CARIAN}', "");
-Expect(0, 66271, '\p{^Block= CARIAN}', "");
-Expect(0, 66271, '\P{Block= CARIAN}', "");
-Expect(1, 66271, '\P{^Block= CARIAN}', "");
-Expect(0, 66207, '\p{Block= CARIAN}', "");
-Expect(1, 66207, '\p{^Block= CARIAN}', "");
-Expect(1, 66207, '\P{Block= CARIAN}', "");
-Expect(0, 66207, '\P{^Block= CARIAN}', "");
-Error('\p{Blk= Carian/a/}');
-Error('\P{Blk= Carian/a/}');
-Expect(1, 66271, '\p{Blk=carian}', "");
-Expect(0, 66271, '\p{^Blk=carian}', "");
-Expect(0, 66271, '\P{Blk=carian}', "");
-Expect(1, 66271, '\P{^Blk=carian}', "");
-Expect(0, 66207, '\p{Blk=carian}', "");
-Expect(1, 66207, '\p{^Blk=carian}', "");
-Expect(1, 66207, '\P{Blk=carian}', "");
-Expect(0, 66207, '\P{^Blk=carian}', "");
-Expect(1, 66271, '\p{Blk= Carian}', "");
-Expect(0, 66271, '\p{^Blk= Carian}', "");
-Expect(0, 66271, '\P{Blk= Carian}', "");
-Expect(1, 66271, '\P{^Blk= Carian}', "");
-Expect(0, 66207, '\p{Blk= Carian}', "");
-Expect(1, 66207, '\p{^Blk= Carian}', "");
-Expect(1, 66207, '\P{Blk= Carian}', "");
-Expect(0, 66207, '\P{^Blk= Carian}', "");
-Error('\p{Is_Block=:= Carian}');
-Error('\P{Is_Block=:= Carian}');
-Expect(1, 66271, '\p{Is_Block:carian}', "");
-Expect(0, 66271, '\p{^Is_Block:carian}', "");
-Expect(0, 66271, '\P{Is_Block:carian}', "");
-Expect(1, 66271, '\P{^Is_Block:carian}', "");
-Expect(0, 66207, '\p{Is_Block:carian}', "");
-Expect(1, 66207, '\p{^Is_Block:carian}', "");
-Expect(1, 66207, '\P{Is_Block:carian}', "");
-Expect(0, 66207, '\P{^Is_Block:carian}', "");
-Expect(1, 66271, '\p{Is_Block= CARIAN}', "");
-Expect(0, 66271, '\p{^Is_Block= CARIAN}', "");
-Expect(0, 66271, '\P{Is_Block= CARIAN}', "");
-Expect(1, 66271, '\P{^Is_Block= CARIAN}', "");
-Expect(0, 66207, '\p{Is_Block= CARIAN}', "");
-Expect(1, 66207, '\p{^Is_Block= CARIAN}', "");
-Expect(1, 66207, '\P{Is_Block= CARIAN}', "");
-Expect(0, 66207, '\P{^Is_Block= CARIAN}', "");
-Error('\p{Is_Blk: /a/carian}');
-Error('\P{Is_Blk: /a/carian}');
-Expect(1, 66271, '\p{Is_Blk=carian}', "");
-Expect(0, 66271, '\p{^Is_Blk=carian}', "");
-Expect(0, 66271, '\P{Is_Blk=carian}', "");
-Expect(1, 66271, '\P{^Is_Blk=carian}', "");
-Expect(0, 66207, '\p{Is_Blk=carian}', "");
-Expect(1, 66207, '\p{^Is_Blk=carian}', "");
-Expect(1, 66207, '\P{Is_Blk=carian}', "");
-Expect(0, 66207, '\P{^Is_Blk=carian}', "");
-Expect(1, 66271, '\p{Is_Blk=-_CARIAN}', "");
-Expect(0, 66271, '\p{^Is_Blk=-_CARIAN}', "");
-Expect(0, 66271, '\P{Is_Blk=-_CARIAN}', "");
-Expect(1, 66271, '\P{^Is_Blk=-_CARIAN}', "");
-Expect(0, 66207, '\p{Is_Blk=-_CARIAN}', "");
-Expect(1, 66207, '\p{^Is_Blk=-_CARIAN}', "");
-Expect(1, 66207, '\P{Is_Blk=-_CARIAN}', "");
-Expect(0, 66207, '\P{^Is_Blk=-_CARIAN}', "");
-Error('\p{Block=_/a/BUHID}');
-Error('\P{Block=_/a/BUHID}');
-Expect(1, 5983, '\p{Block=buhid}', "");
-Expect(0, 5983, '\p{^Block=buhid}', "");
-Expect(0, 5983, '\P{Block=buhid}', "");
-Expect(1, 5983, '\P{^Block=buhid}', "");
-Expect(0, 5951, '\p{Block=buhid}', "");
-Expect(1, 5951, '\p{^Block=buhid}', "");
-Expect(1, 5951, '\P{Block=buhid}', "");
-Expect(0, 5951, '\P{^Block=buhid}', "");
-Expect(1, 5983, '\p{Block=_Buhid}', "");
-Expect(0, 5983, '\p{^Block=_Buhid}', "");
-Expect(0, 5983, '\P{Block=_Buhid}', "");
-Expect(1, 5983, '\P{^Block=_Buhid}', "");
-Expect(0, 5951, '\p{Block=_Buhid}', "");
-Expect(1, 5951, '\p{^Block=_Buhid}', "");
-Expect(1, 5951, '\P{Block=_Buhid}', "");
-Expect(0, 5951, '\P{^Block=_Buhid}', "");
-Error('\p{Blk=_-Buhid/a/}');
-Error('\P{Blk=_-Buhid/a/}');
-Expect(1, 5983, '\p{Blk=buhid}', "");
-Expect(0, 5983, '\p{^Blk=buhid}', "");
-Expect(0, 5983, '\P{Blk=buhid}', "");
-Expect(1, 5983, '\P{^Blk=buhid}', "");
-Expect(0, 5951, '\p{Blk=buhid}', "");
-Expect(1, 5951, '\p{^Blk=buhid}', "");
-Expect(1, 5951, '\P{Blk=buhid}', "");
-Expect(0, 5951, '\P{^Blk=buhid}', "");
-Expect(1, 5983, '\p{Blk= Buhid}', "");
-Expect(0, 5983, '\p{^Blk= Buhid}', "");
-Expect(0, 5983, '\P{Blk= Buhid}', "");
-Expect(1, 5983, '\P{^Blk= Buhid}', "");
-Expect(0, 5951, '\p{Blk= Buhid}', "");
-Expect(1, 5951, '\p{^Blk= Buhid}', "");
-Expect(1, 5951, '\P{Blk= Buhid}', "");
-Expect(0, 5951, '\P{^Blk= Buhid}', "");
-Error('\p{Is_Block=/a/Buhid}');
-Error('\P{Is_Block=/a/Buhid}');
-Expect(1, 5983, '\p{Is_Block=buhid}', "");
-Expect(0, 5983, '\p{^Is_Block=buhid}', "");
-Expect(0, 5983, '\P{Is_Block=buhid}', "");
-Expect(1, 5983, '\P{^Is_Block=buhid}', "");
-Expect(0, 5951, '\p{Is_Block=buhid}', "");
-Expect(1, 5951, '\p{^Is_Block=buhid}', "");
-Expect(1, 5951, '\P{Is_Block=buhid}', "");
-Expect(0, 5951, '\P{^Is_Block=buhid}', "");
-Expect(1, 5983, '\p{Is_Block= Buhid}', "");
-Expect(0, 5983, '\p{^Is_Block= Buhid}', "");
-Expect(0, 5983, '\P{Is_Block= Buhid}', "");
-Expect(1, 5983, '\P{^Is_Block= Buhid}', "");
-Expect(0, 5951, '\p{Is_Block= Buhid}', "");
-Expect(1, 5951, '\p{^Is_Block= Buhid}', "");
-Expect(1, 5951, '\P{Is_Block= Buhid}', "");
-Expect(0, 5951, '\P{^Is_Block= Buhid}', "");
-Error('\p{Is_Blk=:= _buhid}');
-Error('\P{Is_Blk=:= _buhid}');
-Expect(1, 5983, '\p{Is_Blk=buhid}', "");
-Expect(0, 5983, '\p{^Is_Blk=buhid}', "");
-Expect(0, 5983, '\P{Is_Blk=buhid}', "");
-Expect(1, 5983, '\P{^Is_Blk=buhid}', "");
-Expect(0, 5951, '\p{Is_Blk=buhid}', "");
-Expect(1, 5951, '\p{^Is_Blk=buhid}', "");
-Expect(1, 5951, '\P{Is_Blk=buhid}', "");
-Expect(0, 5951, '\P{^Is_Blk=buhid}', "");
-Expect(1, 5983, '\p{Is_Blk= _buhid}', "");
-Expect(0, 5983, '\p{^Is_Blk= _buhid}', "");
-Expect(0, 5983, '\P{Is_Blk= _buhid}', "");
-Expect(1, 5983, '\P{^Is_Blk= _buhid}', "");
-Expect(0, 5951, '\p{Is_Blk= _buhid}', "");
-Expect(1, 5951, '\p{^Is_Blk= _buhid}', "");
-Expect(1, 5951, '\P{Is_Blk= _buhid}', "");
-Expect(0, 5951, '\P{^Is_Blk= _buhid}', "");
-Error('\p{Block=:=-Ideographic DescriptionCharacters}');
-Error('\P{Block=:=-Ideographic DescriptionCharacters}');
-Expect(1, 12287, '\p{Block=ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^Block=ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{Block=ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^Block=ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{Block=ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^Block=ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{Block=ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^Block=ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{Block= Ideographic Description Characters}', "");
-Expect(0, 12287, '\p{^Block= Ideographic Description Characters}', "");
-Expect(0, 12287, '\P{Block= Ideographic Description Characters}', "");
-Expect(1, 12287, '\P{^Block= Ideographic Description Characters}', "");
-Expect(0, 12271, '\p{Block= Ideographic Description Characters}', "");
-Expect(1, 12271, '\p{^Block= Ideographic Description Characters}', "");
-Expect(1, 12271, '\P{Block= Ideographic Description Characters}', "");
-Expect(0, 12271, '\P{^Block= Ideographic Description Characters}', "");
-Error('\p{Blk=-_ideographic_Descriptioncharacters/a/}');
-Error('\P{Blk=-_ideographic_Descriptioncharacters/a/}');
-Expect(1, 12287, '\p{Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{Blk= -Ideographic description Characters}', "");
-Expect(0, 12287, '\p{^Blk= -Ideographic description Characters}', "");
-Expect(0, 12287, '\P{Blk= -Ideographic description Characters}', "");
-Expect(1, 12287, '\P{^Blk= -Ideographic description Characters}', "");
-Expect(0, 12271, '\p{Blk= -Ideographic description Characters}', "");
-Expect(1, 12271, '\p{^Blk= -Ideographic description Characters}', "");
-Expect(1, 12271, '\P{Blk= -Ideographic description Characters}', "");
-Expect(0, 12271, '\P{^Blk= -Ideographic description Characters}', "");
-Error('\p{Is_Block=/a/ IDEOGRAPHIC_Description Characters}');
-Error('\P{Is_Block=/a/ IDEOGRAPHIC_Description Characters}');
-Expect(1, 12287, '\p{Is_Block: ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^Is_Block: ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{Is_Block: ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^Is_Block: ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{Is_Block: ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^Is_Block: ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{Is_Block: ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^Is_Block: ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(0, 12287, '\p{^Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(0, 12287, '\P{Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(1, 12287, '\P{^Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(0, 12271, '\p{Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(1, 12271, '\p{^Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(1, 12271, '\P{Is_Block: -Ideographic descriptioncharacters}', "");
-Expect(0, 12271, '\P{^Is_Block: -Ideographic descriptioncharacters}', "");
-Error('\p{Is_Blk=:= IDEOGRAPHIC_Descriptioncharacters}');
-Error('\P{Is_Blk=:= IDEOGRAPHIC_Descriptioncharacters}');
-Expect(1, 12287, '\p{Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^Is_Blk: ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(0, 12287, '\p{^Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(0, 12287, '\P{Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(1, 12287, '\P{^Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(0, 12271, '\p{Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(1, 12271, '\p{^Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(1, 12271, '\P{Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Expect(0, 12271, '\P{^Is_Blk=_ IDEOGRAPHIC Description_Characters}', "");
-Error('\p{Block:CJK_Unified/a/IDEOGRAPHS Extension_B}');
-Error('\P{Block:CJK_Unified/a/IDEOGRAPHS Extension_B}');
-Expect(1, 173791, '\p{Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(0, 173791, '\p{^Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(0, 173791, '\P{Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(1, 173791, '\P{^Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(0, 1, '\p{Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(1, 1, '\p{^Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(1, 1, '\P{Block= CJKUNIFIEDIdeographsExtension B}', "");
-Expect(0, 1, '\P{^Block= CJKUNIFIEDIdeographsExtension B}', "");
-Error('\p{Blk= :=CJK Unified_IDEOGRAPHS Extension-B}');
-Error('\P{Blk= :=CJK Unified_IDEOGRAPHS Extension-B}');
-Expect(1, 173791, '\p{Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(0, 173791, '\p{^Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(0, 173791, '\P{Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(1, 173791, '\P{^Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(0, 1, '\p{Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(1, 1, '\p{^Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(1, 1, '\P{Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Expect(0, 1, '\P{^Blk=__CJK Unified ideographsEXTENSIONB}', "");
-Error('\p{Is_Block: CJK/a/Unified-Ideographs_Extension-B}');
-Error('\P{Is_Block: CJK/a/Unified-Ideographs_Extension-B}');
-Expect(1, 173791, '\p{Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^Is_Block=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(0, 173791, '\p{^Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(0, 173791, '\P{Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(1, 173791, '\P{^Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(0, 1, '\p{Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(1, 1, '\p{^Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(1, 1, '\P{Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Expect(0, 1, '\P{^Is_Block= CJK-Unified_Ideographs_Extension b}', "");
-Error('\p{Is_Blk= _CJK_UNIFIED_Ideographs_ExtensionB:=}');
-Error('\P{Is_Blk= _CJK_UNIFIED_Ideographs_ExtensionB:=}');
-Expect(1, 173791, '\p{Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^Is_Blk=cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(0, 173791, '\p{^Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(0, 173791, '\P{Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(1, 173791, '\P{^Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(0, 1, '\p{Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(1, 1, '\p{^Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(1, 1, '\P{Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Expect(0, 1, '\P{^Is_Blk=_ CJK_unified_Ideographs EXTENSION B}', "");
-Error('\p{Block=:=-Old italic}');
-Error('\P{Block=:=-Old italic}');
-Expect(1, 66351, '\p{Block=olditalic}', "");
-Expect(0, 66351, '\p{^Block=olditalic}', "");
-Expect(0, 66351, '\P{Block=olditalic}', "");
-Expect(1, 66351, '\P{^Block=olditalic}', "");
-Expect(0, 66303, '\p{Block=olditalic}', "");
-Expect(1, 66303, '\p{^Block=olditalic}', "");
-Expect(1, 66303, '\P{Block=olditalic}', "");
-Expect(0, 66303, '\P{^Block=olditalic}', "");
-Expect(1, 66351, '\p{Block= _old_Italic}', "");
-Expect(0, 66351, '\p{^Block= _old_Italic}', "");
-Expect(0, 66351, '\P{Block= _old_Italic}', "");
-Expect(1, 66351, '\P{^Block= _old_Italic}', "");
-Expect(0, 66303, '\p{Block= _old_Italic}', "");
-Expect(1, 66303, '\p{^Block= _old_Italic}', "");
-Expect(1, 66303, '\P{Block= _old_Italic}', "");
-Expect(0, 66303, '\P{^Block= _old_Italic}', "");
-Error('\p{Blk=:=_ OLD-Italic}');
-Error('\P{Blk=:=_ OLD-Italic}');
-Expect(1, 66351, '\p{Blk=olditalic}', "");
-Expect(0, 66351, '\p{^Blk=olditalic}', "");
-Expect(0, 66351, '\P{Blk=olditalic}', "");
-Expect(1, 66351, '\P{^Blk=olditalic}', "");
-Expect(0, 66303, '\p{Blk=olditalic}', "");
-Expect(1, 66303, '\p{^Blk=olditalic}', "");
-Expect(1, 66303, '\P{Blk=olditalic}', "");
-Expect(0, 66303, '\P{^Blk=olditalic}', "");
-Expect(1, 66351, '\p{Blk=_Old Italic}', "");
-Expect(0, 66351, '\p{^Blk=_Old Italic}', "");
-Expect(0, 66351, '\P{Blk=_Old Italic}', "");
-Expect(1, 66351, '\P{^Blk=_Old Italic}', "");
-Expect(0, 66303, '\p{Blk=_Old Italic}', "");
-Expect(1, 66303, '\p{^Blk=_Old Italic}', "");
-Expect(1, 66303, '\P{Blk=_Old Italic}', "");
-Expect(0, 66303, '\P{^Blk=_Old Italic}', "");
-Error('\p{Is_Block= -OLD-italic:=}');
-Error('\P{Is_Block= -OLD-italic:=}');
-Expect(1, 66351, '\p{Is_Block=olditalic}', "");
-Expect(0, 66351, '\p{^Is_Block=olditalic}', "");
-Expect(0, 66351, '\P{Is_Block=olditalic}', "");
-Expect(1, 66351, '\P{^Is_Block=olditalic}', "");
-Expect(0, 66303, '\p{Is_Block=olditalic}', "");
-Expect(1, 66303, '\p{^Is_Block=olditalic}', "");
-Expect(1, 66303, '\P{Is_Block=olditalic}', "");
-Expect(0, 66303, '\P{^Is_Block=olditalic}', "");
-Expect(1, 66351, '\p{Is_Block=- Old ITALIC}', "");
-Expect(0, 66351, '\p{^Is_Block=- Old ITALIC}', "");
-Expect(0, 66351, '\P{Is_Block=- Old ITALIC}', "");
-Expect(1, 66351, '\P{^Is_Block=- Old ITALIC}', "");
-Expect(0, 66303, '\p{Is_Block=- Old ITALIC}', "");
-Expect(1, 66303, '\p{^Is_Block=- Old ITALIC}', "");
-Expect(1, 66303, '\P{Is_Block=- Old ITALIC}', "");
-Expect(0, 66303, '\P{^Is_Block=- Old ITALIC}', "");
-Error('\p{Is_Blk= -Old_Italic:=}');
-Error('\P{Is_Blk= -Old_Italic:=}');
-Expect(1, 66351, '\p{Is_Blk=olditalic}', "");
-Expect(0, 66351, '\p{^Is_Blk=olditalic}', "");
-Expect(0, 66351, '\P{Is_Blk=olditalic}', "");
-Expect(1, 66351, '\P{^Is_Blk=olditalic}', "");
-Expect(0, 66303, '\p{Is_Blk=olditalic}', "");
-Expect(1, 66303, '\p{^Is_Blk=olditalic}', "");
-Expect(1, 66303, '\P{Is_Blk=olditalic}', "");
-Expect(0, 66303, '\P{^Is_Blk=olditalic}', "");
-Expect(1, 66351, '\p{Is_Blk=- OldItalic}', "");
-Expect(0, 66351, '\p{^Is_Blk=- OldItalic}', "");
-Expect(0, 66351, '\P{Is_Blk=- OldItalic}', "");
-Expect(1, 66351, '\P{^Is_Blk=- OldItalic}', "");
-Expect(0, 66303, '\p{Is_Blk=- OldItalic}', "");
-Expect(1, 66303, '\p{^Is_Blk=- OldItalic}', "");
-Expect(1, 66303, '\P{Is_Blk=- OldItalic}', "");
-Expect(0, 66303, '\P{^Is_Blk=- OldItalic}', "");
-Error('\p{Block:--Hangul SYLLABLES/a/}');
-Error('\P{Block:--Hangul SYLLABLES/a/}');
-Expect(1, 55215, '\p{Block=hangulsyllables}', "");
-Expect(0, 55215, '\p{^Block=hangulsyllables}', "");
-Expect(0, 55215, '\P{Block=hangulsyllables}', "");
-Expect(1, 55215, '\P{^Block=hangulsyllables}', "");
-Expect(0, 44031, '\p{Block=hangulsyllables}', "");
-Expect(1, 44031, '\p{^Block=hangulsyllables}', "");
-Expect(1, 44031, '\P{Block=hangulsyllables}', "");
-Expect(0, 44031, '\P{^Block=hangulsyllables}', "");
-Expect(1, 55215, '\p{Block= Hangul syllables}', "");
-Expect(0, 55215, '\p{^Block= Hangul syllables}', "");
-Expect(0, 55215, '\P{Block= Hangul syllables}', "");
-Expect(1, 55215, '\P{^Block= Hangul syllables}', "");
-Expect(0, 44031, '\p{Block= Hangul syllables}', "");
-Expect(1, 44031, '\p{^Block= Hangul syllables}', "");
-Expect(1, 44031, '\P{Block= Hangul syllables}', "");
-Expect(0, 44031, '\P{^Block= Hangul syllables}', "");
-Error('\p{Blk= hangul/a/Syllables}');
-Error('\P{Blk= hangul/a/Syllables}');
-Expect(1, 55215, '\p{Blk=hangulsyllables}', "");
-Expect(0, 55215, '\p{^Blk=hangulsyllables}', "");
-Expect(0, 55215, '\P{Blk=hangulsyllables}', "");
-Expect(1, 55215, '\P{^Blk=hangulsyllables}', "");
-Expect(0, 44031, '\p{Blk=hangulsyllables}', "");
-Expect(1, 44031, '\p{^Blk=hangulsyllables}', "");
-Expect(1, 44031, '\P{Blk=hangulsyllables}', "");
-Expect(0, 44031, '\P{^Blk=hangulsyllables}', "");
-Expect(1, 55215, '\p{Blk= -HANGUL SYLLABLES}', "");
-Expect(0, 55215, '\p{^Blk= -HANGUL SYLLABLES}', "");
-Expect(0, 55215, '\P{Blk= -HANGUL SYLLABLES}', "");
-Expect(1, 55215, '\P{^Blk= -HANGUL SYLLABLES}', "");
-Expect(0, 44031, '\p{Blk= -HANGUL SYLLABLES}', "");
-Expect(1, 44031, '\p{^Blk= -HANGUL SYLLABLES}', "");
-Expect(1, 44031, '\P{Blk= -HANGUL SYLLABLES}', "");
-Expect(0, 44031, '\P{^Blk= -HANGUL SYLLABLES}', "");
-Error('\p{Is_Block=- HANGUL SYLLABLES/a/}');
-Error('\P{Is_Block=- HANGUL SYLLABLES/a/}');
-Expect(1, 55215, '\p{Is_Block=hangulsyllables}', "");
-Expect(0, 55215, '\p{^Is_Block=hangulsyllables}', "");
-Expect(0, 55215, '\P{Is_Block=hangulsyllables}', "");
-Expect(1, 55215, '\P{^Is_Block=hangulsyllables}', "");
-Expect(0, 44031, '\p{Is_Block=hangulsyllables}', "");
-Expect(1, 44031, '\p{^Is_Block=hangulsyllables}', "");
-Expect(1, 44031, '\P{Is_Block=hangulsyllables}', "");
-Expect(0, 44031, '\P{^Is_Block=hangulsyllables}', "");
-Expect(1, 55215, '\p{Is_Block=-_Hangul-Syllables}', "");
-Expect(0, 55215, '\p{^Is_Block=-_Hangul-Syllables}', "");
-Expect(0, 55215, '\P{Is_Block=-_Hangul-Syllables}', "");
-Expect(1, 55215, '\P{^Is_Block=-_Hangul-Syllables}', "");
-Expect(0, 44031, '\p{Is_Block=-_Hangul-Syllables}', "");
-Expect(1, 44031, '\p{^Is_Block=-_Hangul-Syllables}', "");
-Expect(1, 44031, '\P{Is_Block=-_Hangul-Syllables}', "");
-Expect(0, 44031, '\P{^Is_Block=-_Hangul-Syllables}', "");
-Error('\p{Is_Blk=:=--HANGUL SYLLABLES}');
-Error('\P{Is_Blk=:=--HANGUL SYLLABLES}');
-Expect(1, 55215, '\p{Is_Blk=hangulsyllables}', "");
-Expect(0, 55215, '\p{^Is_Blk=hangulsyllables}', "");
-Expect(0, 55215, '\P{Is_Blk=hangulsyllables}', "");
-Expect(1, 55215, '\P{^Is_Blk=hangulsyllables}', "");
-Expect(0, 44031, '\p{Is_Blk=hangulsyllables}', "");
-Expect(1, 44031, '\p{^Is_Blk=hangulsyllables}', "");
-Expect(1, 44031, '\P{Is_Blk=hangulsyllables}', "");
-Expect(0, 44031, '\P{^Is_Blk=hangulsyllables}', "");
-Expect(1, 55215, '\p{Is_Blk=hangul SYLLABLES}', "");
-Expect(0, 55215, '\p{^Is_Blk=hangul SYLLABLES}', "");
-Expect(0, 55215, '\P{Is_Blk=hangul SYLLABLES}', "");
-Expect(1, 55215, '\P{^Is_Blk=hangul SYLLABLES}', "");
-Expect(0, 44031, '\p{Is_Blk=hangul SYLLABLES}', "");
-Expect(1, 44031, '\p{^Is_Blk=hangul SYLLABLES}', "");
-Expect(1, 44031, '\P{Is_Blk=hangul SYLLABLES}', "");
-Expect(0, 44031, '\P{^Is_Blk=hangul SYLLABLES}', "");
-Error('\p{Block= Yijing-HEXAGRAM_SYMBOLS:=}');
-Error('\P{Block= Yijing-HEXAGRAM_SYMBOLS:=}');
-Expect(1, 19967, '\p{Block=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^Block=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{Block=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^Block=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{Block=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^Block=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{Block=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^Block=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(0, 19967, '\p{^Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(0, 19967, '\P{Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(1, 19967, '\P{^Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(0, 19903, '\p{Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(1, 19903, '\p{^Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(1, 19903, '\P{Block= YIJING HEXAGRAM SYMBOLS}', "");
-Expect(0, 19903, '\P{^Block= YIJING HEXAGRAM SYMBOLS}', "");
-Error('\p{Blk=/a/Yijing-Hexagram Symbols}');
-Error('\P{Blk=/a/Yijing-Hexagram Symbols}');
-Expect(1, 19967, '\p{Blk=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^Blk=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{Blk=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^Blk=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{Blk=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^Blk=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{Blk=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^Blk=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(0, 19967, '\p{^Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(0, 19967, '\P{Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(1, 19967, '\P{^Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(0, 19903, '\p{Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(1, 19903, '\p{^Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(1, 19903, '\P{Blk=_yijing-HEXAGRAM_symbols}', "");
-Expect(0, 19903, '\P{^Blk=_yijing-HEXAGRAM_symbols}', "");
-Error('\p{Is_Block= _Yijing/a/HexagramSymbols}');
-Error('\P{Is_Block= _Yijing/a/HexagramSymbols}');
-Expect(1, 19967, '\p{Is_Block=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^Is_Block=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{Is_Block=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^Is_Block=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{Is_Block=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^Is_Block=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{Is_Block=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^Is_Block=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(0, 19967, '\p{^Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(0, 19967, '\P{Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(1, 19967, '\P{^Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(0, 19903, '\p{Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(1, 19903, '\p{^Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(1, 19903, '\P{Is_Block=_ yijing Hexagramsymbols}', "");
-Expect(0, 19903, '\P{^Is_Block=_ yijing Hexagramsymbols}', "");
-Error('\p{Is_Blk=-/a/Yijing-Hexagram-Symbols}');
-Error('\P{Is_Blk=-/a/Yijing-Hexagram-Symbols}');
-Expect(1, 19967, '\p{Is_Blk=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^Is_Blk=yijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{Is_Blk=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^Is_Blk=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{Is_Blk=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^Is_Blk=yijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{Is_Blk=yijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^Is_Blk=yijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(0, 19967, '\p{^Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(0, 19967, '\P{Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(1, 19967, '\P{^Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(0, 19903, '\p{Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(1, 19903, '\p{^Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(1, 19903, '\P{Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Expect(0, 19903, '\P{^Is_Blk= yijing HEXAGRAM-SYMBOLS}', "");
-Error('\p{Block= _Phaistos DISC/a/}');
-Error('\P{Block= _Phaistos DISC/a/}');
-Expect(1, 66047, '\p{Block=phaistosdisc}', "");
-Expect(0, 66047, '\p{^Block=phaistosdisc}', "");
-Expect(0, 66047, '\P{Block=phaistosdisc}', "");
-Expect(1, 66047, '\P{^Block=phaistosdisc}', "");
-Expect(0, 65999, '\p{Block=phaistosdisc}', "");
-Expect(1, 65999, '\p{^Block=phaistosdisc}', "");
-Expect(1, 65999, '\P{Block=phaistosdisc}', "");
-Expect(0, 65999, '\P{^Block=phaistosdisc}', "");
-Expect(1, 66047, '\p{Block: -Phaistos_DISC}', "");
-Expect(0, 66047, '\p{^Block: -Phaistos_DISC}', "");
-Expect(0, 66047, '\P{Block: -Phaistos_DISC}', "");
-Expect(1, 66047, '\P{^Block: -Phaistos_DISC}', "");
-Expect(0, 65999, '\p{Block: -Phaistos_DISC}', "");
-Expect(1, 65999, '\p{^Block: -Phaistos_DISC}', "");
-Expect(1, 65999, '\P{Block: -Phaistos_DISC}', "");
-Expect(0, 65999, '\P{^Block: -Phaistos_DISC}', "");
-Error('\p{Blk: :=Phaistos-disc}');
-Error('\P{Blk: :=Phaistos-disc}');
-Expect(1, 66047, '\p{Blk=phaistosdisc}', "");
-Expect(0, 66047, '\p{^Blk=phaistosdisc}', "");
-Expect(0, 66047, '\P{Blk=phaistosdisc}', "");
-Expect(1, 66047, '\P{^Blk=phaistosdisc}', "");
-Expect(0, 65999, '\p{Blk=phaistosdisc}', "");
-Expect(1, 65999, '\p{^Blk=phaistosdisc}', "");
-Expect(1, 65999, '\P{Blk=phaistosdisc}', "");
-Expect(0, 65999, '\P{^Blk=phaistosdisc}', "");
-Expect(1, 66047, '\p{Blk=--Phaistos-Disc}', "");
-Expect(0, 66047, '\p{^Blk=--Phaistos-Disc}', "");
-Expect(0, 66047, '\P{Blk=--Phaistos-Disc}', "");
-Expect(1, 66047, '\P{^Blk=--Phaistos-Disc}', "");
-Expect(0, 65999, '\p{Blk=--Phaistos-Disc}', "");
-Expect(1, 65999, '\p{^Blk=--Phaistos-Disc}', "");
-Expect(1, 65999, '\P{Blk=--Phaistos-Disc}', "");
-Expect(0, 65999, '\P{^Blk=--Phaistos-Disc}', "");
-Error('\p{Is_Block=-/a/PHAISTOS-disc}');
-Error('\P{Is_Block=-/a/PHAISTOS-disc}');
-Expect(1, 66047, '\p{Is_Block=phaistosdisc}', "");
-Expect(0, 66047, '\p{^Is_Block=phaistosdisc}', "");
-Expect(0, 66047, '\P{Is_Block=phaistosdisc}', "");
-Expect(1, 66047, '\P{^Is_Block=phaistosdisc}', "");
-Expect(0, 65999, '\p{Is_Block=phaistosdisc}', "");
-Expect(1, 65999, '\p{^Is_Block=phaistosdisc}', "");
-Expect(1, 65999, '\P{Is_Block=phaistosdisc}', "");
-Expect(0, 65999, '\P{^Is_Block=phaistosdisc}', "");
-Expect(1, 66047, '\p{Is_Block=-Phaistos-disc}', "");
-Expect(0, 66047, '\p{^Is_Block=-Phaistos-disc}', "");
-Expect(0, 66047, '\P{Is_Block=-Phaistos-disc}', "");
-Expect(1, 66047, '\P{^Is_Block=-Phaistos-disc}', "");
-Expect(0, 65999, '\p{Is_Block=-Phaistos-disc}', "");
-Expect(1, 65999, '\p{^Is_Block=-Phaistos-disc}', "");
-Expect(1, 65999, '\P{Is_Block=-Phaistos-disc}', "");
-Expect(0, 65999, '\P{^Is_Block=-Phaistos-disc}', "");
-Error('\p{Is_Blk=__Phaistos Disc:=}');
-Error('\P{Is_Blk=__Phaistos Disc:=}');
-Expect(1, 66047, '\p{Is_Blk=phaistosdisc}', "");
-Expect(0, 66047, '\p{^Is_Blk=phaistosdisc}', "");
-Expect(0, 66047, '\P{Is_Blk=phaistosdisc}', "");
-Expect(1, 66047, '\P{^Is_Blk=phaistosdisc}', "");
-Expect(0, 65999, '\p{Is_Blk=phaistosdisc}', "");
-Expect(1, 65999, '\p{^Is_Blk=phaistosdisc}', "");
-Expect(1, 65999, '\P{Is_Blk=phaistosdisc}', "");
-Expect(0, 65999, '\P{^Is_Blk=phaistosdisc}', "");
-Expect(1, 66047, '\p{Is_Blk= PhaistosDisc}', "");
-Expect(0, 66047, '\p{^Is_Blk= PhaistosDisc}', "");
-Expect(0, 66047, '\P{Is_Blk= PhaistosDisc}', "");
-Expect(1, 66047, '\P{^Is_Blk= PhaistosDisc}', "");
-Expect(0, 65999, '\p{Is_Blk= PhaistosDisc}', "");
-Expect(1, 65999, '\p{^Is_Blk= PhaistosDisc}', "");
-Expect(1, 65999, '\P{Is_Blk= PhaistosDisc}', "");
-Expect(0, 65999, '\P{^Is_Blk= PhaistosDisc}', "");
-Error('\p{Block=- small:=form-Variants}');
-Error('\P{Block=- small:=form-Variants}');
-Expect(1, 65135, '\p{Block=smallformvariants}', "");
-Expect(0, 65135, '\p{^Block=smallformvariants}', "");
-Expect(0, 65135, '\P{Block=smallformvariants}', "");
-Expect(1, 65135, '\P{^Block=smallformvariants}', "");
-Expect(0, 65103, '\p{Block=smallformvariants}', "");
-Expect(1, 65103, '\p{^Block=smallformvariants}', "");
-Expect(1, 65103, '\P{Block=smallformvariants}', "");
-Expect(0, 65103, '\P{^Block=smallformvariants}', "");
-Expect(1, 65135, '\p{Block: small-form_Variants}', "");
-Expect(0, 65135, '\p{^Block: small-form_Variants}', "");
-Expect(0, 65135, '\P{Block: small-form_Variants}', "");
-Expect(1, 65135, '\P{^Block: small-form_Variants}', "");
-Expect(0, 65103, '\p{Block: small-form_Variants}', "");
-Expect(1, 65103, '\p{^Block: small-form_Variants}', "");
-Expect(1, 65103, '\P{Block: small-form_Variants}', "");
-Expect(0, 65103, '\P{^Block: small-form_Variants}', "");
-Error('\p{Blk= -SMALL:=form Variants}');
-Error('\P{Blk= -SMALL:=form Variants}');
-Expect(1, 65135, '\p{Blk=smallformvariants}', "");
-Expect(0, 65135, '\p{^Blk=smallformvariants}', "");
-Expect(0, 65135, '\P{Blk=smallformvariants}', "");
-Expect(1, 65135, '\P{^Blk=smallformvariants}', "");
-Expect(0, 65103, '\p{Blk=smallformvariants}', "");
-Expect(1, 65103, '\p{^Blk=smallformvariants}', "");
-Expect(1, 65103, '\P{Blk=smallformvariants}', "");
-Expect(0, 65103, '\P{^Blk=smallformvariants}', "");
-Expect(1, 65135, '\p{Blk=__Small Form_variants}', "");
-Expect(0, 65135, '\p{^Blk=__Small Form_variants}', "");
-Expect(0, 65135, '\P{Blk=__Small Form_variants}', "");
-Expect(1, 65135, '\P{^Blk=__Small Form_variants}', "");
-Expect(0, 65103, '\p{Blk=__Small Form_variants}', "");
-Expect(1, 65103, '\p{^Blk=__Small Form_variants}', "");
-Expect(1, 65103, '\P{Blk=__Small Form_variants}', "");
-Expect(0, 65103, '\P{^Blk=__Small Form_variants}', "");
-Error('\p{Is_Block: Small:=form-Variants}');
-Error('\P{Is_Block: Small:=form-Variants}');
-Expect(1, 65135, '\p{Is_Block=smallformvariants}', "");
-Expect(0, 65135, '\p{^Is_Block=smallformvariants}', "");
-Expect(0, 65135, '\P{Is_Block=smallformvariants}', "");
-Expect(1, 65135, '\P{^Is_Block=smallformvariants}', "");
-Expect(0, 65103, '\p{Is_Block=smallformvariants}', "");
-Expect(1, 65103, '\p{^Is_Block=smallformvariants}', "");
-Expect(1, 65103, '\P{Is_Block=smallformvariants}', "");
-Expect(0, 65103, '\P{^Is_Block=smallformvariants}', "");
-Expect(1, 65135, '\p{Is_Block=--Small Form_Variants}', "");
-Expect(0, 65135, '\p{^Is_Block=--Small Form_Variants}', "");
-Expect(0, 65135, '\P{Is_Block=--Small Form_Variants}', "");
-Expect(1, 65135, '\P{^Is_Block=--Small Form_Variants}', "");
-Expect(0, 65103, '\p{Is_Block=--Small Form_Variants}', "");
-Expect(1, 65103, '\p{^Is_Block=--Small Form_Variants}', "");
-Expect(1, 65103, '\P{Is_Block=--Small Form_Variants}', "");
-Expect(0, 65103, '\P{^Is_Block=--Small Form_Variants}', "");
-Error('\p{Is_Blk=- small_Form/a/variants}');
-Error('\P{Is_Blk=- small_Form/a/variants}');
-Expect(1, 65135, '\p{Is_Blk=smallformvariants}', "");
-Expect(0, 65135, '\p{^Is_Blk=smallformvariants}', "");
-Expect(0, 65135, '\P{Is_Blk=smallformvariants}', "");
-Expect(1, 65135, '\P{^Is_Blk=smallformvariants}', "");
-Expect(0, 65103, '\p{Is_Blk=smallformvariants}', "");
-Expect(1, 65103, '\p{^Is_Blk=smallformvariants}', "");
-Expect(1, 65103, '\P{Is_Blk=smallformvariants}', "");
-Expect(0, 65103, '\P{^Is_Blk=smallformvariants}', "");
-Expect(1, 65135, '\p{Is_Blk= Small FORM Variants}', "");
-Expect(0, 65135, '\p{^Is_Blk= Small FORM Variants}', "");
-Expect(0, 65135, '\P{Is_Blk= Small FORM Variants}', "");
-Expect(1, 65135, '\P{^Is_Blk= Small FORM Variants}', "");
-Expect(0, 65103, '\p{Is_Blk= Small FORM Variants}', "");
-Expect(1, 65103, '\p{^Is_Blk= Small FORM Variants}', "");
-Expect(1, 65103, '\P{Is_Blk= Small FORM Variants}', "");
-Expect(0, 65103, '\P{^Is_Blk= Small FORM Variants}', "");
-Error('\p{Block=_:=EGYPTIANHieroglyphs}');
-Error('\P{Block=_:=EGYPTIANHieroglyphs}');
-Expect(1, 78895, '\p{Block=egyptianhieroglyphs}', "");
-Expect(0, 78895, '\p{^Block=egyptianhieroglyphs}', "");
-Expect(0, 78895, '\P{Block=egyptianhieroglyphs}', "");
-Expect(1, 78895, '\P{^Block=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{Block=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^Block=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{Block=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^Block=egyptianhieroglyphs}', "");
-Expect(1, 78895, '\p{Block=egyptian_hieroglyphs}', "");
-Expect(0, 78895, '\p{^Block=egyptian_hieroglyphs}', "");
-Expect(0, 78895, '\P{Block=egyptian_hieroglyphs}', "");
-Expect(1, 78895, '\P{^Block=egyptian_hieroglyphs}', "");
-Expect(0, 77823, '\p{Block=egyptian_hieroglyphs}', "");
-Expect(1, 77823, '\p{^Block=egyptian_hieroglyphs}', "");
-Expect(1, 77823, '\P{Block=egyptian_hieroglyphs}', "");
-Expect(0, 77823, '\P{^Block=egyptian_hieroglyphs}', "");
-Error('\p{Blk=:= -egyptian HIEROGLYPHS}');
-Error('\P{Blk=:= -egyptian HIEROGLYPHS}');
-Expect(1, 78895, '\p{Blk: egyptianhieroglyphs}', "");
-Expect(0, 78895, '\p{^Blk: egyptianhieroglyphs}', "");
-Expect(0, 78895, '\P{Blk: egyptianhieroglyphs}', "");
-Expect(1, 78895, '\P{^Blk: egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{Blk: egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^Blk: egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{Blk: egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^Blk: egyptianhieroglyphs}', "");
-Expect(1, 78895, '\p{Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(0, 78895, '\p{^Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(0, 78895, '\P{Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(1, 78895, '\P{^Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(0, 77823, '\p{Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(1, 77823, '\p{^Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(1, 77823, '\P{Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Expect(0, 77823, '\P{^Blk= -EGYPTIAN HIEROGLYPHS}', "");
-Error('\p{Is_Block= EGYPTIAN:=hieroglyphs}');
-Error('\P{Is_Block= EGYPTIAN:=hieroglyphs}');
-Expect(1, 78895, '\p{Is_Block=egyptianhieroglyphs}', "");
-Expect(0, 78895, '\p{^Is_Block=egyptianhieroglyphs}', "");
-Expect(0, 78895, '\P{Is_Block=egyptianhieroglyphs}', "");
-Expect(1, 78895, '\P{^Is_Block=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{Is_Block=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^Is_Block=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{Is_Block=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^Is_Block=egyptianhieroglyphs}', "");
-Expect(1, 78895, '\p{Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(0, 78895, '\p{^Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(0, 78895, '\P{Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(1, 78895, '\P{^Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(0, 77823, '\p{Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(1, 77823, '\p{^Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(1, 77823, '\P{Is_Block: --egyptian-HIEROGLYPHS}', "");
-Expect(0, 77823, '\P{^Is_Block: --egyptian-HIEROGLYPHS}', "");
-Error('\p{Is_Blk= Egyptian-HIEROGLYPHS/a/}');
-Error('\P{Is_Blk= Egyptian-HIEROGLYPHS/a/}');
-Expect(1, 78895, '\p{Is_Blk=egyptianhieroglyphs}', "");
-Expect(0, 78895, '\p{^Is_Blk=egyptianhieroglyphs}', "");
-Expect(0, 78895, '\P{Is_Blk=egyptianhieroglyphs}', "");
-Expect(1, 78895, '\P{^Is_Blk=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{Is_Blk=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^Is_Blk=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{Is_Blk=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^Is_Blk=egyptianhieroglyphs}', "");
-Expect(1, 78895, '\p{Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(0, 78895, '\p{^Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(0, 78895, '\P{Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(1, 78895, '\P{^Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(0, 77823, '\p{Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(1, 77823, '\p{^Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(1, 77823, '\P{Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Expect(0, 77823, '\P{^Is_Blk= -Egyptian HIEROGLYPHS}', "");
-Error('\p{Block= Latin:=Extended D}');
-Error('\P{Block= Latin:=Extended D}');
-Expect(1, 43007, '\p{Block=latinextendedd}', "");
-Expect(0, 43007, '\p{^Block=latinextendedd}', "");
-Expect(0, 43007, '\P{Block=latinextendedd}', "");
-Expect(1, 43007, '\P{^Block=latinextendedd}', "");
-Expect(0, 42783, '\p{Block=latinextendedd}', "");
-Expect(1, 42783, '\p{^Block=latinextendedd}', "");
-Expect(1, 42783, '\P{Block=latinextendedd}', "");
-Expect(0, 42783, '\P{^Block=latinextendedd}', "");
-Expect(1, 43007, '\p{Block: __Latin Extended-D}', "");
-Expect(0, 43007, '\p{^Block: __Latin Extended-D}', "");
-Expect(0, 43007, '\P{Block: __Latin Extended-D}', "");
-Expect(1, 43007, '\P{^Block: __Latin Extended-D}', "");
-Expect(0, 42783, '\p{Block: __Latin Extended-D}', "");
-Expect(1, 42783, '\p{^Block: __Latin Extended-D}', "");
-Expect(1, 42783, '\P{Block: __Latin Extended-D}', "");
-Expect(0, 42783, '\P{^Block: __Latin Extended-D}', "");
-Error('\p{Blk=:=latin-EXTENDED D}');
-Error('\P{Blk=:=latin-EXTENDED D}');
-Expect(1, 43007, '\p{Blk=latinextendedd}', "");
-Expect(0, 43007, '\p{^Blk=latinextendedd}', "");
-Expect(0, 43007, '\P{Blk=latinextendedd}', "");
-Expect(1, 43007, '\P{^Blk=latinextendedd}', "");
-Expect(0, 42783, '\p{Blk=latinextendedd}', "");
-Expect(1, 42783, '\p{^Blk=latinextendedd}', "");
-Expect(1, 42783, '\P{Blk=latinextendedd}', "");
-Expect(0, 42783, '\P{^Blk=latinextendedd}', "");
-Expect(1, 43007, '\p{Blk=_Latin-EXTENDED_D}', "");
-Expect(0, 43007, '\p{^Blk=_Latin-EXTENDED_D}', "");
-Expect(0, 43007, '\P{Blk=_Latin-EXTENDED_D}', "");
-Expect(1, 43007, '\P{^Blk=_Latin-EXTENDED_D}', "");
-Expect(0, 42783, '\p{Blk=_Latin-EXTENDED_D}', "");
-Expect(1, 42783, '\p{^Blk=_Latin-EXTENDED_D}', "");
-Expect(1, 42783, '\P{Blk=_Latin-EXTENDED_D}', "");
-Expect(0, 42783, '\P{^Blk=_Latin-EXTENDED_D}', "");
-Error('\p{Is_Block=_ Latin/a/EXTENDED d}');
-Error('\P{Is_Block=_ Latin/a/EXTENDED d}');
-Expect(1, 43007, '\p{Is_Block:latinextendedd}', "");
-Expect(0, 43007, '\p{^Is_Block:latinextendedd}', "");
-Expect(0, 43007, '\P{Is_Block:latinextendedd}', "");
-Expect(1, 43007, '\P{^Is_Block:latinextendedd}', "");
-Expect(0, 42783, '\p{Is_Block:latinextendedd}', "");
-Expect(1, 42783, '\p{^Is_Block:latinextendedd}', "");
-Expect(1, 42783, '\P{Is_Block:latinextendedd}', "");
-Expect(0, 42783, '\P{^Is_Block:latinextendedd}', "");
-Expect(1, 43007, '\p{Is_Block= -Latin_Extended-D}', "");
-Expect(0, 43007, '\p{^Is_Block= -Latin_Extended-D}', "");
-Expect(0, 43007, '\P{Is_Block= -Latin_Extended-D}', "");
-Expect(1, 43007, '\P{^Is_Block= -Latin_Extended-D}', "");
-Expect(0, 42783, '\p{Is_Block= -Latin_Extended-D}', "");
-Expect(1, 42783, '\p{^Is_Block= -Latin_Extended-D}', "");
-Expect(1, 42783, '\P{Is_Block= -Latin_Extended-D}', "");
-Expect(0, 42783, '\P{^Is_Block= -Latin_Extended-D}', "");
-Error('\p{Is_Blk=-_latin extended-D/a/}');
-Error('\P{Is_Blk=-_latin extended-D/a/}');
-Expect(1, 43007, '\p{Is_Blk=latinextendedd}', "");
-Expect(0, 43007, '\p{^Is_Blk=latinextendedd}', "");
-Expect(0, 43007, '\P{Is_Blk=latinextendedd}', "");
-Expect(1, 43007, '\P{^Is_Blk=latinextendedd}', "");
-Expect(0, 42783, '\p{Is_Blk=latinextendedd}', "");
-Expect(1, 42783, '\p{^Is_Blk=latinextendedd}', "");
-Expect(1, 42783, '\P{Is_Blk=latinextendedd}', "");
-Expect(0, 42783, '\P{^Is_Blk=latinextendedd}', "");
-Expect(1, 43007, '\p{Is_Blk=_ Latin-ExtendedD}', "");
-Expect(0, 43007, '\p{^Is_Blk=_ Latin-ExtendedD}', "");
-Expect(0, 43007, '\P{Is_Blk=_ Latin-ExtendedD}', "");
-Expect(1, 43007, '\P{^Is_Blk=_ Latin-ExtendedD}', "");
-Expect(0, 42783, '\p{Is_Blk=_ Latin-ExtendedD}', "");
-Expect(1, 42783, '\p{^Is_Blk=_ Latin-ExtendedD}', "");
-Expect(1, 42783, '\P{Is_Blk=_ Latin-ExtendedD}', "");
-Expect(0, 42783, '\P{^Is_Blk=_ Latin-ExtendedD}', "");
-Error('\p{Block=/a/Alphabetic presentation forms}');
-Error('\P{Block=/a/Alphabetic presentation forms}');
-Expect(1, 64335, '\p{Block:alphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^Block:alphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{Block:alphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^Block:alphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{Block:alphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^Block:alphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{Block:alphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^Block:alphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(0, 64335, '\p{^Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(0, 64335, '\P{Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(1, 64335, '\P{^Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(0, 64255, '\p{Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(1, 64255, '\p{^Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(1, 64255, '\P{Block= Alphabetic PRESENTATION FORMS}', "");
-Expect(0, 64255, '\P{^Block= Alphabetic PRESENTATION FORMS}', "");
-Error('\p{Blk=- Alphabetic/a/Presentation_forms}');
-Error('\P{Blk=- Alphabetic/a/Presentation_forms}');
-Expect(1, 64335, '\p{Blk=alphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^Blk=alphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{Blk=alphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^Blk=alphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{Blk=alphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^Blk=alphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{Blk=alphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^Blk=alphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(0, 64335, '\p{^Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(0, 64335, '\P{Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(1, 64335, '\P{^Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(0, 64255, '\p{Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(1, 64255, '\p{^Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(1, 64255, '\P{Blk=- ALPHABETIC_PresentationForms}', "");
-Expect(0, 64255, '\P{^Blk=- ALPHABETIC_PresentationForms}', "");
-Error('\p{Is_Block=:= Alphabetic-Presentation FORMS}');
-Error('\P{Is_Block=:= Alphabetic-Presentation FORMS}');
-Expect(1, 64335, '\p{Is_Block=alphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^Is_Block=alphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{Is_Block=alphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^Is_Block=alphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{Is_Block=alphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^Is_Block=alphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{Is_Block=alphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^Is_Block=alphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{Is_Block= alphabetic presentation_FORMS}', "");
-Expect(0, 64335, '\p{^Is_Block= alphabetic presentation_FORMS}', "");
-Expect(0, 64335, '\P{Is_Block= alphabetic presentation_FORMS}', "");
-Expect(1, 64335, '\P{^Is_Block= alphabetic presentation_FORMS}', "");
-Expect(0, 64255, '\p{Is_Block= alphabetic presentation_FORMS}', "");
-Expect(1, 64255, '\p{^Is_Block= alphabetic presentation_FORMS}', "");
-Expect(1, 64255, '\P{Is_Block= alphabetic presentation_FORMS}', "");
-Expect(0, 64255, '\P{^Is_Block= alphabetic presentation_FORMS}', "");
-Error('\p{Is_Blk= Alphabetic:=Presentation_Forms}');
-Error('\P{Is_Blk= Alphabetic:=Presentation_Forms}');
-Expect(1, 64335, '\p{Is_Blk=alphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^Is_Blk=alphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{Is_Blk=alphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^Is_Blk=alphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{Is_Blk=alphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^Is_Blk=alphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{Is_Blk=alphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^Is_Blk=alphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(0, 64335, '\p{^Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(0, 64335, '\P{Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(1, 64335, '\P{^Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(0, 64255, '\p{Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(1, 64255, '\p{^Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(1, 64255, '\P{Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Expect(0, 64255, '\P{^Is_Blk=-_Alphabetic-PRESENTATION_forms}', "");
-Error('\p{Block= Optical_character recognition:=}');
-Error('\P{Block= Optical_character recognition:=}');
-Expect(1, 9311, '\p{Block=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^Block=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{Block=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^Block=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{Block=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^Block=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{Block=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^Block=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{Block= OPTICAL_Character_Recognition}', "");
-Expect(0, 9311, '\p{^Block= OPTICAL_Character_Recognition}', "");
-Expect(0, 9311, '\P{Block= OPTICAL_Character_Recognition}', "");
-Expect(1, 9311, '\P{^Block= OPTICAL_Character_Recognition}', "");
-Expect(0, 9279, '\p{Block= OPTICAL_Character_Recognition}', "");
-Expect(1, 9279, '\p{^Block= OPTICAL_Character_Recognition}', "");
-Expect(1, 9279, '\P{Block= OPTICAL_Character_Recognition}', "");
-Expect(0, 9279, '\P{^Block= OPTICAL_Character_Recognition}', "");
-Error('\p{Blk=/a/--OPTICAL_Character recognition}');
-Error('\P{Blk=/a/--OPTICAL_Character recognition}');
-Expect(1, 9311, '\p{Blk=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^Blk=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{Blk=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^Blk=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{Blk=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^Blk=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{Blk=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^Blk=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{Blk= -Optical Character Recognition}', "");
-Expect(0, 9311, '\p{^Blk= -Optical Character Recognition}', "");
-Expect(0, 9311, '\P{Blk= -Optical Character Recognition}', "");
-Expect(1, 9311, '\P{^Blk= -Optical Character Recognition}', "");
-Expect(0, 9279, '\p{Blk= -Optical Character Recognition}', "");
-Expect(1, 9279, '\p{^Blk= -Optical Character Recognition}', "");
-Expect(1, 9279, '\P{Blk= -Optical Character Recognition}', "");
-Expect(0, 9279, '\P{^Blk= -Optical Character Recognition}', "");
-Error('\p{Is_Block:-Optical character-recognition:=}');
-Error('\P{Is_Block:-Optical character-recognition:=}');
-Expect(1, 9311, '\p{Is_Block=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^Is_Block=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{Is_Block=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^Is_Block=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{Is_Block=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^Is_Block=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{Is_Block=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^Is_Block=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{Is_Block=-Optical-Character recognition}', "");
-Expect(0, 9311, '\p{^Is_Block=-Optical-Character recognition}', "");
-Expect(0, 9311, '\P{Is_Block=-Optical-Character recognition}', "");
-Expect(1, 9311, '\P{^Is_Block=-Optical-Character recognition}', "");
-Expect(0, 9279, '\p{Is_Block=-Optical-Character recognition}', "");
-Expect(1, 9279, '\p{^Is_Block=-Optical-Character recognition}', "");
-Expect(1, 9279, '\P{Is_Block=-Optical-Character recognition}', "");
-Expect(0, 9279, '\P{^Is_Block=-Optical-Character recognition}', "");
-Error('\p{Is_Blk= /a/optical characterRECOGNITION}');
-Error('\P{Is_Blk= /a/optical characterRECOGNITION}');
-Expect(1, 9311, '\p{Is_Blk=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^Is_Blk=opticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{Is_Blk=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^Is_Blk=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{Is_Blk=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^Is_Blk=opticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{Is_Blk=opticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^Is_Blk=opticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(0, 9311, '\p{^Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(0, 9311, '\P{Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(1, 9311, '\P{^Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(0, 9279, '\p{Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(1, 9279, '\p{^Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(1, 9279, '\P{Is_Blk: -OpticalCHARACTERrecognition}', "");
-Expect(0, 9279, '\P{^Is_Blk: -OpticalCHARACTERrecognition}', "");
-Error('\p{Block=:= CJK Unified_ideographs}');
-Error('\P{Block=:= CJK Unified_ideographs}');
-Expect(1, 40959, '\p{Block=cjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^Block=cjkunifiedideographs}', "");
-Expect(0, 40959, '\P{Block=cjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^Block=cjkunifiedideographs}', "");
-Expect(0, 19967, '\p{Block=cjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^Block=cjkunifiedideographs}', "");
-Expect(1, 19967, '\P{Block=cjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^Block=cjkunifiedideographs}', "");
-Expect(1, 40959, '\p{Block=_ cjkunified Ideographs}', "");
-Expect(0, 40959, '\p{^Block=_ cjkunified Ideographs}', "");
-Expect(0, 40959, '\P{Block=_ cjkunified Ideographs}', "");
-Expect(1, 40959, '\P{^Block=_ cjkunified Ideographs}', "");
-Expect(0, 19967, '\p{Block=_ cjkunified Ideographs}', "");
-Expect(1, 19967, '\p{^Block=_ cjkunified Ideographs}', "");
-Expect(1, 19967, '\P{Block=_ cjkunified Ideographs}', "");
-Expect(0, 19967, '\P{^Block=_ cjkunified Ideographs}', "");
-Error('\p{Blk= -CJK:=Unified-ideographs}');
-Error('\P{Blk= -CJK:=Unified-ideographs}');
-Expect(1, 40959, '\p{Blk=cjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^Blk=cjkunifiedideographs}', "");
-Expect(0, 40959, '\P{Blk=cjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^Blk=cjkunifiedideographs}', "");
-Expect(0, 19967, '\p{Blk=cjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^Blk=cjkunifiedideographs}', "");
-Expect(1, 19967, '\P{Blk=cjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^Blk=cjkunifiedideographs}', "");
-Expect(1, 40959, '\p{Blk= CJK UNIFIED-Ideographs}', "");
-Expect(0, 40959, '\p{^Blk= CJK UNIFIED-Ideographs}', "");
-Expect(0, 40959, '\P{Blk= CJK UNIFIED-Ideographs}', "");
-Expect(1, 40959, '\P{^Blk= CJK UNIFIED-Ideographs}', "");
-Expect(0, 19967, '\p{Blk= CJK UNIFIED-Ideographs}', "");
-Expect(1, 19967, '\p{^Blk= CJK UNIFIED-Ideographs}', "");
-Expect(1, 19967, '\P{Blk= CJK UNIFIED-Ideographs}', "");
-Expect(0, 19967, '\P{^Blk= CJK UNIFIED-Ideographs}', "");
-Error('\p{Is_Block:_CJKUnified Ideographs:=}');
-Error('\P{Is_Block:_CJKUnified Ideographs:=}');
-Expect(1, 40959, '\p{Is_Block=cjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^Is_Block=cjkunifiedideographs}', "");
-Expect(0, 40959, '\P{Is_Block=cjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^Is_Block=cjkunifiedideographs}', "");
-Expect(0, 19967, '\p{Is_Block=cjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^Is_Block=cjkunifiedideographs}', "");
-Expect(1, 19967, '\P{Is_Block=cjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^Is_Block=cjkunifiedideographs}', "");
-Expect(1, 40959, '\p{Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(0, 40959, '\p{^Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(0, 40959, '\P{Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(1, 40959, '\P{^Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(0, 19967, '\p{Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(1, 19967, '\p{^Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(1, 19967, '\P{Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Expect(0, 19967, '\P{^Is_Block= CJK_Unified IDEOGRAPHS}', "");
-Error('\p{Is_Blk= cjk:=Unified ideographs}');
-Error('\P{Is_Blk= cjk:=Unified ideographs}');
-Expect(1, 40959, '\p{Is_Blk=cjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^Is_Blk=cjkunifiedideographs}', "");
-Expect(0, 40959, '\P{Is_Blk=cjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^Is_Blk=cjkunifiedideographs}', "");
-Expect(0, 19967, '\p{Is_Blk=cjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^Is_Blk=cjkunifiedideographs}', "");
-Expect(1, 19967, '\P{Is_Blk=cjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^Is_Blk=cjkunifiedideographs}', "");
-Expect(1, 40959, '\p{Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(0, 40959, '\p{^Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(0, 40959, '\P{Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(1, 40959, '\P{^Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(0, 19967, '\p{Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(1, 19967, '\p{^Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(1, 19967, '\P{Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Expect(0, 19967, '\P{^Is_Blk=_-cjk Unified IDEOGRAPHS}', "");
-Error('\p{Block= :=ANCIENT-SYMBOLS}');
-Error('\P{Block= :=ANCIENT-SYMBOLS}');
-Expect(1, 65999, '\p{Block: ancientsymbols}', "");
-Expect(0, 65999, '\p{^Block: ancientsymbols}', "");
-Expect(0, 65999, '\P{Block: ancientsymbols}', "");
-Expect(1, 65999, '\P{^Block: ancientsymbols}', "");
-Expect(0, 65935, '\p{Block: ancientsymbols}', "");
-Expect(1, 65935, '\p{^Block: ancientsymbols}', "");
-Expect(1, 65935, '\P{Block: ancientsymbols}', "");
-Expect(0, 65935, '\P{^Block: ancientsymbols}', "");
-Expect(1, 65999, '\p{Block=- ANCIENT_symbols}', "");
-Expect(0, 65999, '\p{^Block=- ANCIENT_symbols}', "");
-Expect(0, 65999, '\P{Block=- ANCIENT_symbols}', "");
-Expect(1, 65999, '\P{^Block=- ANCIENT_symbols}', "");
-Expect(0, 65935, '\p{Block=- ANCIENT_symbols}', "");
-Expect(1, 65935, '\p{^Block=- ANCIENT_symbols}', "");
-Expect(1, 65935, '\P{Block=- ANCIENT_symbols}', "");
-Expect(0, 65935, '\P{^Block=- ANCIENT_symbols}', "");
-Error('\p{Blk= -ancient/a/symbols}');
-Error('\P{Blk= -ancient/a/symbols}');
-Expect(1, 65999, '\p{Blk=ancientsymbols}', "");
-Expect(0, 65999, '\p{^Blk=ancientsymbols}', "");
-Expect(0, 65999, '\P{Blk=ancientsymbols}', "");
-Expect(1, 65999, '\P{^Blk=ancientsymbols}', "");
-Expect(0, 65935, '\p{Blk=ancientsymbols}', "");
-Expect(1, 65935, '\p{^Blk=ancientsymbols}', "");
-Expect(1, 65935, '\P{Blk=ancientsymbols}', "");
-Expect(0, 65935, '\P{^Blk=ancientsymbols}', "");
-Expect(1, 65999, '\p{Blk= Ancient_SYMBOLS}', "");
-Expect(0, 65999, '\p{^Blk= Ancient_SYMBOLS}', "");
-Expect(0, 65999, '\P{Blk= Ancient_SYMBOLS}', "");
-Expect(1, 65999, '\P{^Blk= Ancient_SYMBOLS}', "");
-Expect(0, 65935, '\p{Blk= Ancient_SYMBOLS}', "");
-Expect(1, 65935, '\p{^Blk= Ancient_SYMBOLS}', "");
-Expect(1, 65935, '\P{Blk= Ancient_SYMBOLS}', "");
-Expect(0, 65935, '\P{^Blk= Ancient_SYMBOLS}', "");
-Error('\p{Is_Block=- AncientSymbols/a/}');
-Error('\P{Is_Block=- AncientSymbols/a/}');
-Expect(1, 65999, '\p{Is_Block=ancientsymbols}', "");
-Expect(0, 65999, '\p{^Is_Block=ancientsymbols}', "");
-Expect(0, 65999, '\P{Is_Block=ancientsymbols}', "");
-Expect(1, 65999, '\P{^Is_Block=ancientsymbols}', "");
-Expect(0, 65935, '\p{Is_Block=ancientsymbols}', "");
-Expect(1, 65935, '\p{^Is_Block=ancientsymbols}', "");
-Expect(1, 65935, '\P{Is_Block=ancientsymbols}', "");
-Expect(0, 65935, '\P{^Is_Block=ancientsymbols}', "");
-Expect(1, 65999, '\p{Is_Block= -Ancient-Symbols}', "");
-Expect(0, 65999, '\p{^Is_Block= -Ancient-Symbols}', "");
-Expect(0, 65999, '\P{Is_Block= -Ancient-Symbols}', "");
-Expect(1, 65999, '\P{^Is_Block= -Ancient-Symbols}', "");
-Expect(0, 65935, '\p{Is_Block= -Ancient-Symbols}', "");
-Expect(1, 65935, '\p{^Is_Block= -Ancient-Symbols}', "");
-Expect(1, 65935, '\P{Is_Block= -Ancient-Symbols}', "");
-Expect(0, 65935, '\P{^Is_Block= -Ancient-Symbols}', "");
-Error('\p{Is_Blk=:=ANCIENT SYMBOLS}');
-Error('\P{Is_Blk=:=ANCIENT SYMBOLS}');
-Expect(1, 65999, '\p{Is_Blk=ancientsymbols}', "");
-Expect(0, 65999, '\p{^Is_Blk=ancientsymbols}', "");
-Expect(0, 65999, '\P{Is_Blk=ancientsymbols}', "");
-Expect(1, 65999, '\P{^Is_Blk=ancientsymbols}', "");
-Expect(0, 65935, '\p{Is_Blk=ancientsymbols}', "");
-Expect(1, 65935, '\p{^Is_Blk=ancientsymbols}', "");
-Expect(1, 65935, '\P{Is_Blk=ancientsymbols}', "");
-Expect(0, 65935, '\P{^Is_Blk=ancientsymbols}', "");
-Expect(1, 65999, '\p{Is_Blk=_Ancient symbols}', "");
-Expect(0, 65999, '\p{^Is_Blk=_Ancient symbols}', "");
-Expect(0, 65999, '\P{Is_Blk=_Ancient symbols}', "");
-Expect(1, 65999, '\P{^Is_Blk=_Ancient symbols}', "");
-Expect(0, 65935, '\p{Is_Blk=_Ancient symbols}', "");
-Expect(1, 65935, '\p{^Is_Blk=_Ancient symbols}', "");
-Expect(1, 65935, '\P{Is_Blk=_Ancient symbols}', "");
-Expect(0, 65935, '\P{^Is_Blk=_Ancient symbols}', "");
-Error('\p{Block=:=- Gothic}');
-Error('\P{Block=:=- Gothic}');
-Expect(1, 66383, '\p{Block=gothic}', "");
-Expect(0, 66383, '\p{^Block=gothic}', "");
-Expect(0, 66383, '\P{Block=gothic}', "");
-Expect(1, 66383, '\P{^Block=gothic}', "");
-Expect(0, 66351, '\p{Block=gothic}', "");
-Expect(1, 66351, '\p{^Block=gothic}', "");
-Expect(1, 66351, '\P{Block=gothic}', "");
-Expect(0, 66351, '\P{^Block=gothic}', "");
-Expect(1, 66383, '\p{Block=_gothic}', "");
-Expect(0, 66383, '\p{^Block=_gothic}', "");
-Expect(0, 66383, '\P{Block=_gothic}', "");
-Expect(1, 66383, '\P{^Block=_gothic}', "");
-Expect(0, 66351, '\p{Block=_gothic}', "");
-Expect(1, 66351, '\p{^Block=_gothic}', "");
-Expect(1, 66351, '\P{Block=_gothic}', "");
-Expect(0, 66351, '\P{^Block=_gothic}', "");
-Error('\p{Blk=:= Gothic}');
-Error('\P{Blk=:= Gothic}');
-Expect(1, 66383, '\p{Blk=gothic}', "");
-Expect(0, 66383, '\p{^Blk=gothic}', "");
-Expect(0, 66383, '\P{Blk=gothic}', "");
-Expect(1, 66383, '\P{^Blk=gothic}', "");
-Expect(0, 66351, '\p{Blk=gothic}', "");
-Expect(1, 66351, '\p{^Blk=gothic}', "");
-Expect(1, 66351, '\P{Blk=gothic}', "");
-Expect(0, 66351, '\P{^Blk=gothic}', "");
-Expect(1, 66383, '\p{Blk=-_Gothic}', "");
-Expect(0, 66383, '\p{^Blk=-_Gothic}', "");
-Expect(0, 66383, '\P{Blk=-_Gothic}', "");
-Expect(1, 66383, '\P{^Blk=-_Gothic}', "");
-Expect(0, 66351, '\p{Blk=-_Gothic}', "");
-Expect(1, 66351, '\p{^Blk=-_Gothic}', "");
-Expect(1, 66351, '\P{Blk=-_Gothic}', "");
-Expect(0, 66351, '\P{^Blk=-_Gothic}', "");
-Error('\p{Is_Block=:=Gothic}');
-Error('\P{Is_Block=:=Gothic}');
-Expect(1, 66383, '\p{Is_Block=gothic}', "");
-Expect(0, 66383, '\p{^Is_Block=gothic}', "");
-Expect(0, 66383, '\P{Is_Block=gothic}', "");
-Expect(1, 66383, '\P{^Is_Block=gothic}', "");
-Expect(0, 66351, '\p{Is_Block=gothic}', "");
-Expect(1, 66351, '\p{^Is_Block=gothic}', "");
-Expect(1, 66351, '\P{Is_Block=gothic}', "");
-Expect(0, 66351, '\P{^Is_Block=gothic}', "");
-Expect(1, 66383, '\p{Is_Block= GOTHIC}', "");
-Expect(0, 66383, '\p{^Is_Block= GOTHIC}', "");
-Expect(0, 66383, '\P{Is_Block= GOTHIC}', "");
-Expect(1, 66383, '\P{^Is_Block= GOTHIC}', "");
-Expect(0, 66351, '\p{Is_Block= GOTHIC}', "");
-Expect(1, 66351, '\p{^Is_Block= GOTHIC}', "");
-Expect(1, 66351, '\P{Is_Block= GOTHIC}', "");
-Expect(0, 66351, '\P{^Is_Block= GOTHIC}', "");
-Error('\p{Is_Blk=:=GOTHIC}');
-Error('\P{Is_Blk=:=GOTHIC}');
-Expect(1, 66383, '\p{Is_Blk=gothic}', "");
-Expect(0, 66383, '\p{^Is_Blk=gothic}', "");
-Expect(0, 66383, '\P{Is_Blk=gothic}', "");
-Expect(1, 66383, '\P{^Is_Blk=gothic}', "");
-Expect(0, 66351, '\p{Is_Blk=gothic}', "");
-Expect(1, 66351, '\p{^Is_Blk=gothic}', "");
-Expect(1, 66351, '\P{Is_Blk=gothic}', "");
-Expect(0, 66351, '\P{^Is_Blk=gothic}', "");
-Expect(1, 66383, '\p{Is_Blk=_-Gothic}', "");
-Expect(0, 66383, '\p{^Is_Blk=_-Gothic}', "");
-Expect(0, 66383, '\P{Is_Blk=_-Gothic}', "");
-Expect(1, 66383, '\P{^Is_Blk=_-Gothic}', "");
-Expect(0, 66351, '\p{Is_Blk=_-Gothic}', "");
-Expect(1, 66351, '\p{^Is_Blk=_-Gothic}', "");
-Expect(1, 66351, '\P{Is_Blk=_-Gothic}', "");
-Expect(0, 66351, '\P{^Is_Blk=_-Gothic}', "");
-Error('\p{Block=_:=ETHIOPIC}');
-Error('\P{Block=_:=ETHIOPIC}');
-Expect(1, 4991, '\p{Block=ethiopic}', "");
-Expect(0, 4991, '\p{^Block=ethiopic}', "");
-Expect(0, 4991, '\P{Block=ethiopic}', "");
-Expect(1, 4991, '\P{^Block=ethiopic}', "");
-Expect(0, 4607, '\p{Block=ethiopic}', "");
-Expect(1, 4607, '\p{^Block=ethiopic}', "");
-Expect(1, 4607, '\P{Block=ethiopic}', "");
-Expect(0, 4607, '\P{^Block=ethiopic}', "");
-Expect(1, 4991, '\p{Block= Ethiopic}', "");
-Expect(0, 4991, '\p{^Block= Ethiopic}', "");
-Expect(0, 4991, '\P{Block= Ethiopic}', "");
-Expect(1, 4991, '\P{^Block= Ethiopic}', "");
-Expect(0, 4607, '\p{Block= Ethiopic}', "");
-Expect(1, 4607, '\p{^Block= Ethiopic}', "");
-Expect(1, 4607, '\P{Block= Ethiopic}', "");
-Expect(0, 4607, '\P{^Block= Ethiopic}', "");
-Error('\p{Blk=- Ethiopic/a/}');
-Error('\P{Blk=- Ethiopic/a/}');
-Expect(1, 4991, '\p{Blk=ethiopic}', "");
-Expect(0, 4991, '\p{^Blk=ethiopic}', "");
-Expect(0, 4991, '\P{Blk=ethiopic}', "");
-Expect(1, 4991, '\P{^Blk=ethiopic}', "");
-Expect(0, 4607, '\p{Blk=ethiopic}', "");
-Expect(1, 4607, '\p{^Blk=ethiopic}', "");
-Expect(1, 4607, '\P{Blk=ethiopic}', "");
-Expect(0, 4607, '\P{^Blk=ethiopic}', "");
-Expect(1, 4991, '\p{Blk= ETHIOPIC}', "");
-Expect(0, 4991, '\p{^Blk= ETHIOPIC}', "");
-Expect(0, 4991, '\P{Blk= ETHIOPIC}', "");
-Expect(1, 4991, '\P{^Blk= ETHIOPIC}', "");
-Expect(0, 4607, '\p{Blk= ETHIOPIC}', "");
-Expect(1, 4607, '\p{^Blk= ETHIOPIC}', "");
-Expect(1, 4607, '\P{Blk= ETHIOPIC}', "");
-Expect(0, 4607, '\P{^Blk= ETHIOPIC}', "");
-Error('\p{Is_Block:_/a/ETHIOPIC}');
-Error('\P{Is_Block:_/a/ETHIOPIC}');
-Expect(1, 4991, '\p{Is_Block=ethiopic}', "");
-Expect(0, 4991, '\p{^Is_Block=ethiopic}', "");
-Expect(0, 4991, '\P{Is_Block=ethiopic}', "");
-Expect(1, 4991, '\P{^Is_Block=ethiopic}', "");
-Expect(0, 4607, '\p{Is_Block=ethiopic}', "");
-Expect(1, 4607, '\p{^Is_Block=ethiopic}', "");
-Expect(1, 4607, '\P{Is_Block=ethiopic}', "");
-Expect(0, 4607, '\P{^Is_Block=ethiopic}', "");
-Expect(1, 4991, '\p{Is_Block= Ethiopic}', "");
-Expect(0, 4991, '\p{^Is_Block= Ethiopic}', "");
-Expect(0, 4991, '\P{Is_Block= Ethiopic}', "");
-Expect(1, 4991, '\P{^Is_Block= Ethiopic}', "");
-Expect(0, 4607, '\p{Is_Block= Ethiopic}', "");
-Expect(1, 4607, '\p{^Is_Block= Ethiopic}', "");
-Expect(1, 4607, '\P{Is_Block= Ethiopic}', "");
-Expect(0, 4607, '\P{^Is_Block= Ethiopic}', "");
-Error('\p{Is_Blk=/a/_ Ethiopic}');
-Error('\P{Is_Blk=/a/_ Ethiopic}');
-Expect(1, 4991, '\p{Is_Blk=ethiopic}', "");
-Expect(0, 4991, '\p{^Is_Blk=ethiopic}', "");
-Expect(0, 4991, '\P{Is_Blk=ethiopic}', "");
-Expect(1, 4991, '\P{^Is_Blk=ethiopic}', "");
-Expect(0, 4607, '\p{Is_Blk=ethiopic}', "");
-Expect(1, 4607, '\p{^Is_Blk=ethiopic}', "");
-Expect(1, 4607, '\P{Is_Blk=ethiopic}', "");
-Expect(0, 4607, '\P{^Is_Blk=ethiopic}', "");
-Expect(1, 4991, '\p{Is_Blk=_Ethiopic}', "");
-Expect(0, 4991, '\p{^Is_Blk=_Ethiopic}', "");
-Expect(0, 4991, '\P{Is_Blk=_Ethiopic}', "");
-Expect(1, 4991, '\P{^Is_Blk=_Ethiopic}', "");
-Expect(0, 4607, '\p{Is_Blk=_Ethiopic}', "");
-Expect(1, 4607, '\p{^Is_Blk=_Ethiopic}', "");
-Expect(1, 4607, '\P{Is_Blk=_Ethiopic}', "");
-Expect(0, 4607, '\P{^Is_Blk=_Ethiopic}', "");
-Error('\p{Block=_ BUGINESE:=}');
-Error('\P{Block=_ BUGINESE:=}');
-Expect(1, 6687, '\p{Block=buginese}', "");
-Expect(0, 6687, '\p{^Block=buginese}', "");
-Expect(0, 6687, '\P{Block=buginese}', "");
-Expect(1, 6687, '\P{^Block=buginese}', "");
-Expect(0, 6655, '\p{Block=buginese}', "");
-Expect(1, 6655, '\p{^Block=buginese}', "");
-Expect(1, 6655, '\P{Block=buginese}', "");
-Expect(0, 6655, '\P{^Block=buginese}', "");
-Expect(1, 6687, '\p{Block= BUGINESE}', "");
-Expect(0, 6687, '\p{^Block= BUGINESE}', "");
-Expect(0, 6687, '\P{Block= BUGINESE}', "");
-Expect(1, 6687, '\P{^Block= BUGINESE}', "");
-Expect(0, 6655, '\p{Block= BUGINESE}', "");
-Expect(1, 6655, '\p{^Block= BUGINESE}', "");
-Expect(1, 6655, '\P{Block= BUGINESE}', "");
-Expect(0, 6655, '\P{^Block= BUGINESE}', "");
-Error('\p{Blk= :=Buginese}');
-Error('\P{Blk= :=Buginese}');
-Expect(1, 6687, '\p{Blk=buginese}', "");
-Expect(0, 6687, '\p{^Blk=buginese}', "");
-Expect(0, 6687, '\P{Blk=buginese}', "");
-Expect(1, 6687, '\P{^Blk=buginese}', "");
-Expect(0, 6655, '\p{Blk=buginese}', "");
-Expect(1, 6655, '\p{^Blk=buginese}', "");
-Expect(1, 6655, '\P{Blk=buginese}', "");
-Expect(0, 6655, '\P{^Blk=buginese}', "");
-Expect(1, 6687, '\p{Blk: Buginese}', "");
-Expect(0, 6687, '\p{^Blk: Buginese}', "");
-Expect(0, 6687, '\P{Blk: Buginese}', "");
-Expect(1, 6687, '\P{^Blk: Buginese}', "");
-Expect(0, 6655, '\p{Blk: Buginese}', "");
-Expect(1, 6655, '\p{^Blk: Buginese}', "");
-Expect(1, 6655, '\P{Blk: Buginese}', "");
-Expect(0, 6655, '\P{^Blk: Buginese}', "");
-Error('\p{Is_Block=/a/ buginese}');
-Error('\P{Is_Block=/a/ buginese}');
-Expect(1, 6687, '\p{Is_Block=buginese}', "");
-Expect(0, 6687, '\p{^Is_Block=buginese}', "");
-Expect(0, 6687, '\P{Is_Block=buginese}', "");
-Expect(1, 6687, '\P{^Is_Block=buginese}', "");
-Expect(0, 6655, '\p{Is_Block=buginese}', "");
-Expect(1, 6655, '\p{^Is_Block=buginese}', "");
-Expect(1, 6655, '\P{Is_Block=buginese}', "");
-Expect(0, 6655, '\P{^Is_Block=buginese}', "");
-Expect(1, 6687, '\p{Is_Block: Buginese}', "");
-Expect(0, 6687, '\p{^Is_Block: Buginese}', "");
-Expect(0, 6687, '\P{Is_Block: Buginese}', "");
-Expect(1, 6687, '\P{^Is_Block: Buginese}', "");
-Expect(0, 6655, '\p{Is_Block: Buginese}', "");
-Expect(1, 6655, '\p{^Is_Block: Buginese}', "");
-Expect(1, 6655, '\P{Is_Block: Buginese}', "");
-Expect(0, 6655, '\P{^Is_Block: Buginese}', "");
-Error('\p{Is_Blk= /a/BUGINESE}');
-Error('\P{Is_Blk= /a/BUGINESE}');
-Expect(1, 6687, '\p{Is_Blk: buginese}', "");
-Expect(0, 6687, '\p{^Is_Blk: buginese}', "");
-Expect(0, 6687, '\P{Is_Blk: buginese}', "");
-Expect(1, 6687, '\P{^Is_Blk: buginese}', "");
-Expect(0, 6655, '\p{Is_Blk: buginese}', "");
-Expect(1, 6655, '\p{^Is_Blk: buginese}', "");
-Expect(1, 6655, '\P{Is_Blk: buginese}', "");
-Expect(0, 6655, '\P{^Is_Blk: buginese}', "");
-Expect(1, 6687, '\p{Is_Blk=--BUGINESE}', "");
-Expect(0, 6687, '\p{^Is_Blk=--BUGINESE}', "");
-Expect(0, 6687, '\P{Is_Blk=--BUGINESE}', "");
-Expect(1, 6687, '\P{^Is_Blk=--BUGINESE}', "");
-Expect(0, 6655, '\p{Is_Blk=--BUGINESE}', "");
-Expect(1, 6655, '\p{^Is_Blk=--BUGINESE}', "");
-Expect(1, 6655, '\P{Is_Blk=--BUGINESE}', "");
-Expect(0, 6655, '\P{^Is_Blk=--BUGINESE}', "");
-Error('\p{Block=- MATHEMATICAL:=Alphanumeric Symbols}');
-Error('\P{Block=- MATHEMATICAL:=Alphanumeric Symbols}');
-Expect(1, 120831, '\p{Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(0, 120831, '\p{^Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(0, 120831, '\P{Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(1, 120831, '\P{^Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(0, 119807, '\p{Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(1, 119807, '\p{^Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(1, 119807, '\P{Block= MathematicalAlphanumericSYMBOLS}', "");
-Expect(0, 119807, '\P{^Block= MathematicalAlphanumericSYMBOLS}', "");
-Error('\p{Blk= -MATHEMATICAL/a/ALPHANUMERIC symbols}');
-Error('\P{Blk= -MATHEMATICAL/a/ALPHANUMERIC symbols}');
-Expect(1, 120831, '\p{Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{Blk= Mathematical Alphanumeric symbols}', "");
-Expect(0, 120831, '\p{^Blk= Mathematical Alphanumeric symbols}', "");
-Expect(0, 120831, '\P{Blk= Mathematical Alphanumeric symbols}', "");
-Expect(1, 120831, '\P{^Blk= Mathematical Alphanumeric symbols}', "");
-Expect(0, 119807, '\p{Blk= Mathematical Alphanumeric symbols}', "");
-Expect(1, 119807, '\p{^Blk= Mathematical Alphanumeric symbols}', "");
-Expect(1, 119807, '\P{Blk= Mathematical Alphanumeric symbols}', "");
-Expect(0, 119807, '\P{^Blk= Mathematical Alphanumeric symbols}', "");
-Error('\p{Is_Block= /a/mathematical_AlphanumericSymbols}');
-Error('\P{Is_Block= /a/mathematical_AlphanumericSymbols}');
-Expect(1, 120831, '\p{Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^Is_Block=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(0, 120831, '\p{^Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(0, 120831, '\P{Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(1, 120831, '\P{^Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(0, 119807, '\p{Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(1, 119807, '\p{^Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(1, 119807, '\P{Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Expect(0, 119807, '\P{^Is_Block:_Mathematical Alphanumeric_Symbols}', "");
-Error('\p{Is_Blk= MATHEMATICAL:=ALPHANUMERIC-symbols}');
-Error('\P{Is_Blk= MATHEMATICAL:=ALPHANUMERIC-symbols}');
-Expect(1, 120831, '\p{Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^Is_Blk=mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(0, 120831, '\p{^Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(0, 120831, '\P{Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(1, 120831, '\P{^Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(0, 119807, '\p{Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(1, 119807, '\p{^Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(1, 119807, '\P{Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Expect(0, 119807, '\P{^Is_Blk=- MathematicalALPHANUMERIC_Symbols}', "");
-Error('\p{Block: _Inscriptional Pahlavi:=}');
-Error('\P{Block: _Inscriptional Pahlavi:=}');
-Expect(1, 68479, '\p{Block=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\p{^Block=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\P{Block=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\P{^Block=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Block=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Block=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Block=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Block=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\p{Block= Inscriptional Pahlavi}', "");
-Expect(0, 68479, '\p{^Block= Inscriptional Pahlavi}', "");
-Expect(0, 68479, '\P{Block= Inscriptional Pahlavi}', "");
-Expect(1, 68479, '\P{^Block= Inscriptional Pahlavi}', "");
-Expect(0, 68447, '\p{Block= Inscriptional Pahlavi}', "");
-Expect(1, 68447, '\p{^Block= Inscriptional Pahlavi}', "");
-Expect(1, 68447, '\P{Block= Inscriptional Pahlavi}', "");
-Expect(0, 68447, '\P{^Block= Inscriptional Pahlavi}', "");
-Error('\p{Blk=/a/_Inscriptional_Pahlavi}');
-Error('\P{Blk=/a/_Inscriptional_Pahlavi}');
-Expect(1, 68479, '\p{Blk=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\p{^Blk=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\P{Blk=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\P{^Blk=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Blk=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Blk=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Blk=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Blk=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\p{Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(0, 68479, '\p{^Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(0, 68479, '\P{Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(1, 68479, '\P{^Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(0, 68447, '\p{Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(1, 68447, '\p{^Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(1, 68447, '\P{Blk=INSCRIPTIONAL Pahlavi}', "");
-Expect(0, 68447, '\P{^Blk=INSCRIPTIONAL Pahlavi}', "");
-Error('\p{Is_Block: _inscriptional Pahlavi/a/}');
-Error('\P{Is_Block: _inscriptional Pahlavi/a/}');
-Expect(1, 68479, '\p{Is_Block=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\p{^Is_Block=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\P{Is_Block=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\P{^Is_Block=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Is_Block=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Is_Block=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Is_Block=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Is_Block=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\p{Is_Block=_inscriptionalpahlavi}', "");
-Expect(0, 68479, '\p{^Is_Block=_inscriptionalpahlavi}', "");
-Expect(0, 68479, '\P{Is_Block=_inscriptionalpahlavi}', "");
-Expect(1, 68479, '\P{^Is_Block=_inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Is_Block=_inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Is_Block=_inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Is_Block=_inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Is_Block=_inscriptionalpahlavi}', "");
-Error('\p{Is_Blk= _Inscriptional-pahlavi:=}');
-Error('\P{Is_Blk= _Inscriptional-pahlavi:=}');
-Expect(1, 68479, '\p{Is_Blk=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\p{^Is_Blk=inscriptionalpahlavi}', "");
-Expect(0, 68479, '\P{Is_Blk=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\P{^Is_Blk=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Is_Blk=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Is_Blk=inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Is_Blk=inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Is_Blk=inscriptionalpahlavi}', "");
-Expect(1, 68479, '\p{Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(0, 68479, '\p{^Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(0, 68479, '\P{Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(1, 68479, '\P{^Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(0, 68447, '\p{Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(1, 68447, '\p{^Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(1, 68447, '\P{Is_Blk=_ InscriptionalPahlavi}', "");
-Expect(0, 68447, '\P{^Is_Blk=_ InscriptionalPahlavi}', "");
-Error('\p{Block= /a/Unified_CANADIAN-Aboriginal_syllabics-Extended}');
-Error('\P{Block= /a/Unified_CANADIAN-Aboriginal_syllabics-Extended}');
-Expect(1, 6399, '\p{Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(0, 6399, '\p{^Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(0, 6399, '\P{Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(1, 6399, '\P{^Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(0, 6319, '\p{Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(1, 6319, '\p{^Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(1, 6319, '\P{Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Expect(0, 6319, '\P{^Block= unifiedCanadianAboriginalSYLLABICSEXTENDED}', "");
-Error('\p{Blk=_ UnifiedCanadian:=ABORIGINAL Syllabics-Extended}');
-Error('\P{Blk=_ UnifiedCanadian:=ABORIGINAL Syllabics-Extended}');
-Expect(1, 6399, '\p{Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(0, 6399, '\p{^Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(0, 6399, '\P{Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(1, 6399, '\P{^Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(0, 6319, '\p{Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(1, 6319, '\p{^Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(1, 6319, '\P{Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Expect(0, 6319, '\P{^Blk: UNIFIED CANADIANAboriginal SYLLABICS-extended}', "");
-Error('\p{Is_Block=-Unified-Canadian/a/Aboriginal-syllabics Extended}');
-Error('\P{Is_Block=-Unified-Canadian/a/Aboriginal-syllabics Extended}');
-Expect(1, 6399, '\p{Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^Is_Block=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(0, 6399, '\p{^Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(0, 6399, '\P{Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(1, 6399, '\P{^Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(0, 6319, '\p{Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(1, 6319, '\p{^Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(1, 6319, '\P{Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Expect(0, 6319, '\P{^Is_Block= UNIFIED-Canadian AboriginalSyllabics extended}', "");
-Error('\p{Is_Blk=:=- Unifiedcanadian Aboriginal_SYLLABICS Extended}');
-Error('\P{Is_Blk=:=- Unifiedcanadian Aboriginal_SYLLABICS Extended}');
-Expect(1, 6399, '\p{Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^Is_Blk=unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(0, 6399, '\p{^Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(0, 6399, '\P{Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(1, 6399, '\P{^Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(0, 6319, '\p{Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(1, 6319, '\p{^Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(1, 6319, '\P{Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Expect(0, 6319, '\P{^Is_Blk: unified canadian ABORIGINAL syllabics_EXTENDED}', "");
-Error('\p{Block: -Kangxi_radicals/a/}');
-Error('\P{Block: -Kangxi_radicals/a/}');
-Expect(1, 12255, '\p{Block=kangxiradicals}', "");
-Expect(0, 12255, '\p{^Block=kangxiradicals}', "");
-Expect(0, 12255, '\P{Block=kangxiradicals}', "");
-Expect(1, 12255, '\P{^Block=kangxiradicals}', "");
-Expect(0, 12031, '\p{Block=kangxiradicals}', "");
-Expect(1, 12031, '\p{^Block=kangxiradicals}', "");
-Expect(1, 12031, '\P{Block=kangxiradicals}', "");
-Expect(0, 12031, '\P{^Block=kangxiradicals}', "");
-Expect(1, 12255, '\p{Block:KANGXI-Radicals}', "");
-Expect(0, 12255, '\p{^Block:KANGXI-Radicals}', "");
-Expect(0, 12255, '\P{Block:KANGXI-Radicals}', "");
-Expect(1, 12255, '\P{^Block:KANGXI-Radicals}', "");
-Expect(0, 12031, '\p{Block:KANGXI-Radicals}', "");
-Expect(1, 12031, '\p{^Block:KANGXI-Radicals}', "");
-Expect(1, 12031, '\P{Block:KANGXI-Radicals}', "");
-Expect(0, 12031, '\P{^Block:KANGXI-Radicals}', "");
-Error('\p{Blk: _KANGXIradicals/a/}');
-Error('\P{Blk: _KANGXIradicals/a/}');
-Expect(1, 12255, '\p{Blk=kangxiradicals}', "");
-Expect(0, 12255, '\p{^Blk=kangxiradicals}', "");
-Expect(0, 12255, '\P{Blk=kangxiradicals}', "");
-Expect(1, 12255, '\P{^Blk=kangxiradicals}', "");
-Expect(0, 12031, '\p{Blk=kangxiradicals}', "");
-Expect(1, 12031, '\p{^Blk=kangxiradicals}', "");
-Expect(1, 12031, '\P{Blk=kangxiradicals}', "");
-Expect(0, 12031, '\P{^Blk=kangxiradicals}', "");
-Expect(1, 12255, '\p{Blk= kangxi_Radicals}', "");
-Expect(0, 12255, '\p{^Blk= kangxi_Radicals}', "");
-Expect(0, 12255, '\P{Blk= kangxi_Radicals}', "");
-Expect(1, 12255, '\P{^Blk= kangxi_Radicals}', "");
-Expect(0, 12031, '\p{Blk= kangxi_Radicals}', "");
-Expect(1, 12031, '\p{^Blk= kangxi_Radicals}', "");
-Expect(1, 12031, '\P{Blk= kangxi_Radicals}', "");
-Expect(0, 12031, '\P{^Blk= kangxi_Radicals}', "");
-Error('\p{Is_Block=--Kangxi RADICALS/a/}');
-Error('\P{Is_Block=--Kangxi RADICALS/a/}');
-Expect(1, 12255, '\p{Is_Block=kangxiradicals}', "");
-Expect(0, 12255, '\p{^Is_Block=kangxiradicals}', "");
-Expect(0, 12255, '\P{Is_Block=kangxiradicals}', "");
-Expect(1, 12255, '\P{^Is_Block=kangxiradicals}', "");
-Expect(0, 12031, '\p{Is_Block=kangxiradicals}', "");
-Expect(1, 12031, '\p{^Is_Block=kangxiradicals}', "");
-Expect(1, 12031, '\P{Is_Block=kangxiradicals}', "");
-Expect(0, 12031, '\P{^Is_Block=kangxiradicals}', "");
-Expect(1, 12255, '\p{Is_Block=_ Kangxi-radicals}', "");
-Expect(0, 12255, '\p{^Is_Block=_ Kangxi-radicals}', "");
-Expect(0, 12255, '\P{Is_Block=_ Kangxi-radicals}', "");
-Expect(1, 12255, '\P{^Is_Block=_ Kangxi-radicals}', "");
-Expect(0, 12031, '\p{Is_Block=_ Kangxi-radicals}', "");
-Expect(1, 12031, '\p{^Is_Block=_ Kangxi-radicals}', "");
-Expect(1, 12031, '\P{Is_Block=_ Kangxi-radicals}', "");
-Expect(0, 12031, '\P{^Is_Block=_ Kangxi-radicals}', "");
-Error('\p{Is_Blk: /a/KangxiRadicals}');
-Error('\P{Is_Blk: /a/KangxiRadicals}');
-Expect(1, 12255, '\p{Is_Blk=kangxiradicals}', "");
-Expect(0, 12255, '\p{^Is_Blk=kangxiradicals}', "");
-Expect(0, 12255, '\P{Is_Blk=kangxiradicals}', "");
-Expect(1, 12255, '\P{^Is_Blk=kangxiradicals}', "");
-Expect(0, 12031, '\p{Is_Blk=kangxiradicals}', "");
-Expect(1, 12031, '\p{^Is_Blk=kangxiradicals}', "");
-Expect(1, 12031, '\P{Is_Blk=kangxiradicals}', "");
-Expect(0, 12031, '\P{^Is_Blk=kangxiradicals}', "");
-Expect(1, 12255, '\p{Is_Blk= Kangxi-radicals}', "");
-Expect(0, 12255, '\p{^Is_Blk= Kangxi-radicals}', "");
-Expect(0, 12255, '\P{Is_Blk= Kangxi-radicals}', "");
-Expect(1, 12255, '\P{^Is_Blk= Kangxi-radicals}', "");
-Expect(0, 12031, '\p{Is_Blk= Kangxi-radicals}', "");
-Expect(1, 12031, '\p{^Is_Blk= Kangxi-radicals}', "");
-Expect(1, 12031, '\P{Is_Blk= Kangxi-radicals}', "");
-Expect(0, 12031, '\P{^Is_Blk= Kangxi-radicals}', "");
-Error('\p{Block=-_Arabic presentation FORMS_b:=}');
-Error('\P{Block=-_Arabic presentation FORMS_b:=}');
-Expect(1, 65279, '\p{Block=arabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^Block=arabicpresentationformsb}', "");
-Expect(0, 65279, '\P{Block=arabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^Block=arabicpresentationformsb}', "");
-Expect(0, 65135, '\p{Block=arabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^Block=arabicpresentationformsb}', "");
-Expect(1, 65135, '\P{Block=arabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^Block=arabicpresentationformsb}', "");
-Expect(1, 65279, '\p{Block=_Arabic presentation FORMS-B}', "");
-Expect(0, 65279, '\p{^Block=_Arabic presentation FORMS-B}', "");
-Expect(0, 65279, '\P{Block=_Arabic presentation FORMS-B}', "");
-Expect(1, 65279, '\P{^Block=_Arabic presentation FORMS-B}', "");
-Expect(0, 65135, '\p{Block=_Arabic presentation FORMS-B}', "");
-Expect(1, 65135, '\p{^Block=_Arabic presentation FORMS-B}', "");
-Expect(1, 65135, '\P{Block=_Arabic presentation FORMS-B}', "");
-Expect(0, 65135, '\P{^Block=_Arabic presentation FORMS-B}', "");
-Error('\p{Blk=_-ARABIC/a/PresentationForms-B}');
-Error('\P{Blk=_-ARABIC/a/PresentationForms-B}');
-Expect(1, 65279, '\p{Blk=arabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^Blk=arabicpresentationformsb}', "");
-Expect(0, 65279, '\P{Blk=arabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^Blk=arabicpresentationformsb}', "");
-Expect(0, 65135, '\p{Blk=arabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^Blk=arabicpresentationformsb}', "");
-Expect(1, 65135, '\P{Blk=arabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^Blk=arabicpresentationformsb}', "");
-Expect(1, 65279, '\p{Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(0, 65279, '\p{^Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(0, 65279, '\P{Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(1, 65279, '\P{^Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(0, 65135, '\p{Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(1, 65135, '\p{^Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(1, 65135, '\P{Blk=_ ArabicPRESENTATION FORMS B}', "");
-Expect(0, 65135, '\P{^Blk=_ ArabicPRESENTATION FORMS B}', "");
-Error('\p{Is_Block=/a/ ARABIC Presentation FORMSB}');
-Error('\P{Is_Block=/a/ ARABIC Presentation FORMSB}');
-Expect(1, 65279, '\p{Is_Block=arabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^Is_Block=arabicpresentationformsb}', "");
-Expect(0, 65279, '\P{Is_Block=arabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^Is_Block=arabicpresentationformsb}', "");
-Expect(0, 65135, '\p{Is_Block=arabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^Is_Block=arabicpresentationformsb}', "");
-Expect(1, 65135, '\P{Is_Block=arabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^Is_Block=arabicpresentationformsb}', "");
-Expect(1, 65279, '\p{Is_Block= arabic_presentation Forms_b}', "");
-Expect(0, 65279, '\p{^Is_Block= arabic_presentation Forms_b}', "");
-Expect(0, 65279, '\P{Is_Block= arabic_presentation Forms_b}', "");
-Expect(1, 65279, '\P{^Is_Block= arabic_presentation Forms_b}', "");
-Expect(0, 65135, '\p{Is_Block= arabic_presentation Forms_b}', "");
-Expect(1, 65135, '\p{^Is_Block= arabic_presentation Forms_b}', "");
-Expect(1, 65135, '\P{Is_Block= arabic_presentation Forms_b}', "");
-Expect(0, 65135, '\P{^Is_Block= arabic_presentation Forms_b}', "");
-Error('\p{Is_Blk= :=arabic_presentation Forms B}');
-Error('\P{Is_Blk= :=arabic_presentation Forms B}');
-Expect(1, 65279, '\p{Is_Blk=arabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^Is_Blk=arabicpresentationformsb}', "");
-Expect(0, 65279, '\P{Is_Blk=arabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^Is_Blk=arabicpresentationformsb}', "");
-Expect(0, 65135, '\p{Is_Blk=arabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^Is_Blk=arabicpresentationformsb}', "");
-Expect(1, 65135, '\P{Is_Blk=arabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^Is_Blk=arabicpresentationformsb}', "");
-Expect(1, 65279, '\p{Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(0, 65279, '\p{^Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(0, 65279, '\P{Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(1, 65279, '\P{^Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(0, 65135, '\p{Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(1, 65135, '\p{^Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(1, 65135, '\P{Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Expect(0, 65135, '\P{^Is_Blk=_ARABIC_presentation_FORMS B}', "");
-Error('\p{Block=:=-_Gurmukhi}');
-Error('\P{Block=:=-_Gurmukhi}');
-Expect(1, 2687, '\p{Block=gurmukhi}', "");
-Expect(0, 2687, '\p{^Block=gurmukhi}', "");
-Expect(0, 2687, '\P{Block=gurmukhi}', "");
-Expect(1, 2687, '\P{^Block=gurmukhi}', "");
-Expect(0, 2559, '\p{Block=gurmukhi}', "");
-Expect(1, 2559, '\p{^Block=gurmukhi}', "");
-Expect(1, 2559, '\P{Block=gurmukhi}', "");
-Expect(0, 2559, '\P{^Block=gurmukhi}', "");
-Expect(1, 2687, '\p{Block= GURMUKHI}', "");
-Expect(0, 2687, '\p{^Block= GURMUKHI}', "");
-Expect(0, 2687, '\P{Block= GURMUKHI}', "");
-Expect(1, 2687, '\P{^Block= GURMUKHI}', "");
-Expect(0, 2559, '\p{Block= GURMUKHI}', "");
-Expect(1, 2559, '\p{^Block= GURMUKHI}', "");
-Expect(1, 2559, '\P{Block= GURMUKHI}', "");
-Expect(0, 2559, '\P{^Block= GURMUKHI}', "");
-Error('\p{Blk=-/a/Gurmukhi}');
-Error('\P{Blk=-/a/Gurmukhi}');
-Expect(1, 2687, '\p{Blk=gurmukhi}', "");
-Expect(0, 2687, '\p{^Blk=gurmukhi}', "");
-Expect(0, 2687, '\P{Blk=gurmukhi}', "");
-Expect(1, 2687, '\P{^Blk=gurmukhi}', "");
-Expect(0, 2559, '\p{Blk=gurmukhi}', "");
-Expect(1, 2559, '\p{^Blk=gurmukhi}', "");
-Expect(1, 2559, '\P{Blk=gurmukhi}', "");
-Expect(0, 2559, '\P{^Blk=gurmukhi}', "");
-Expect(1, 2687, '\p{Blk=_Gurmukhi}', "");
-Expect(0, 2687, '\p{^Blk=_Gurmukhi}', "");
-Expect(0, 2687, '\P{Blk=_Gurmukhi}', "");
-Expect(1, 2687, '\P{^Blk=_Gurmukhi}', "");
-Expect(0, 2559, '\p{Blk=_Gurmukhi}', "");
-Expect(1, 2559, '\p{^Blk=_Gurmukhi}', "");
-Expect(1, 2559, '\P{Blk=_Gurmukhi}', "");
-Expect(0, 2559, '\P{^Blk=_Gurmukhi}', "");
-Error('\p{Is_Block=/a/-GURMUKHI}');
-Error('\P{Is_Block=/a/-GURMUKHI}');
-Expect(1, 2687, '\p{Is_Block=gurmukhi}', "");
-Expect(0, 2687, '\p{^Is_Block=gurmukhi}', "");
-Expect(0, 2687, '\P{Is_Block=gurmukhi}', "");
-Expect(1, 2687, '\P{^Is_Block=gurmukhi}', "");
-Expect(0, 2559, '\p{Is_Block=gurmukhi}', "");
-Expect(1, 2559, '\p{^Is_Block=gurmukhi}', "");
-Expect(1, 2559, '\P{Is_Block=gurmukhi}', "");
-Expect(0, 2559, '\P{^Is_Block=gurmukhi}', "");
-Expect(1, 2687, '\p{Is_Block: gurmukhi}', "");
-Expect(0, 2687, '\p{^Is_Block: gurmukhi}', "");
-Expect(0, 2687, '\P{Is_Block: gurmukhi}', "");
-Expect(1, 2687, '\P{^Is_Block: gurmukhi}', "");
-Expect(0, 2559, '\p{Is_Block: gurmukhi}', "");
-Expect(1, 2559, '\p{^Is_Block: gurmukhi}', "");
-Expect(1, 2559, '\P{Is_Block: gurmukhi}', "");
-Expect(0, 2559, '\P{^Is_Block: gurmukhi}', "");
-Error('\p{Is_Blk: :=--gurmukhi}');
-Error('\P{Is_Blk: :=--gurmukhi}');
-Expect(1, 2687, '\p{Is_Blk=gurmukhi}', "");
-Expect(0, 2687, '\p{^Is_Blk=gurmukhi}', "");
-Expect(0, 2687, '\P{Is_Blk=gurmukhi}', "");
-Expect(1, 2687, '\P{^Is_Blk=gurmukhi}', "");
-Expect(0, 2559, '\p{Is_Blk=gurmukhi}', "");
-Expect(1, 2559, '\p{^Is_Blk=gurmukhi}', "");
-Expect(1, 2559, '\P{Is_Blk=gurmukhi}', "");
-Expect(0, 2559, '\P{^Is_Blk=gurmukhi}', "");
-Expect(1, 2687, '\p{Is_Blk= Gurmukhi}', "");
-Expect(0, 2687, '\p{^Is_Blk= Gurmukhi}', "");
-Expect(0, 2687, '\P{Is_Blk= Gurmukhi}', "");
-Expect(1, 2687, '\P{^Is_Blk= Gurmukhi}', "");
-Expect(0, 2559, '\p{Is_Blk= Gurmukhi}', "");
-Expect(1, 2559, '\p{^Is_Blk= Gurmukhi}', "");
-Expect(1, 2559, '\P{Is_Blk= Gurmukhi}', "");
-Expect(0, 2559, '\P{^Is_Blk= Gurmukhi}', "");
-Error('\p{Block= /a/ENCLOSED_Ideographic Supplement}');
-Error('\P{Block= /a/ENCLOSED_Ideographic Supplement}');
-Expect(1, 127743, '\p{Block=enclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^Block=enclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{Block=enclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^Block=enclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{Block=enclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^Block=enclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{Block=enclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^Block=enclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{Block= Enclosed ideographic-Supplement}', "");
-Expect(0, 127743, '\p{^Block= Enclosed ideographic-Supplement}', "");
-Expect(0, 127743, '\P{Block= Enclosed ideographic-Supplement}', "");
-Expect(1, 127743, '\P{^Block= Enclosed ideographic-Supplement}', "");
-Expect(0, 127487, '\p{Block= Enclosed ideographic-Supplement}', "");
-Expect(1, 127487, '\p{^Block= Enclosed ideographic-Supplement}', "");
-Expect(1, 127487, '\P{Block= Enclosed ideographic-Supplement}', "");
-Expect(0, 127487, '\P{^Block= Enclosed ideographic-Supplement}', "");
-Error('\p{Blk=- ENCLOSED_IDEOGRAPHIC_Supplement/a/}');
-Error('\P{Blk=- ENCLOSED_IDEOGRAPHIC_Supplement/a/}');
-Expect(1, 127743, '\p{Blk=enclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^Blk=enclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{Blk=enclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^Blk=enclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{Blk=enclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^Blk=enclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{Blk=enclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^Blk=enclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(0, 127743, '\p{^Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(0, 127743, '\P{Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(1, 127743, '\P{^Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(0, 127487, '\p{Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(1, 127487, '\p{^Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(1, 127487, '\P{Blk= ENCLOSED_Ideographic-Supplement}', "");
-Expect(0, 127487, '\P{^Blk= ENCLOSED_Ideographic-Supplement}', "");
-Error('\p{Is_Block:- ENCLOSED ideographic supplement:=}');
-Error('\P{Is_Block:- ENCLOSED ideographic supplement:=}');
-Expect(1, 127743, '\p{Is_Block=enclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^Is_Block=enclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{Is_Block=enclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^Is_Block=enclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{Is_Block=enclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^Is_Block=enclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{Is_Block=enclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^Is_Block=enclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(0, 127743, '\p{^Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(0, 127743, '\P{Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(1, 127743, '\P{^Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(0, 127487, '\p{Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(1, 127487, '\p{^Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(1, 127487, '\P{Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Expect(0, 127487, '\P{^Is_Block= ENCLOSED-Ideographic Supplement}', "");
-Error('\p{Is_Blk=_-Enclosed-IDEOGRAPHIC/a/SUPPLEMENT}');
-Error('\P{Is_Blk=_-Enclosed-IDEOGRAPHIC/a/SUPPLEMENT}');
-Expect(1, 127743, '\p{Is_Blk: enclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^Is_Blk: enclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{Is_Blk: enclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^Is_Blk: enclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{Is_Blk: enclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^Is_Blk: enclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{Is_Blk: enclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^Is_Blk: enclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(0, 127743, '\p{^Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(0, 127743, '\P{Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(1, 127743, '\P{^Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(0, 127487, '\p{Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(1, 127487, '\p{^Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(1, 127487, '\P{Is_Blk= Enclosed Ideographic-Supplement}', "");
-Expect(0, 127487, '\P{^Is_Blk= Enclosed Ideographic-Supplement}', "");
-Error('\p{Block= _phoneticExtensions SUPPLEMENT/a/}');
-Error('\P{Block= _phoneticExtensions SUPPLEMENT/a/}');
-Expect(1, 7615, '\p{Block=phoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^Block=phoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{Block=phoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^Block=phoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{Block=phoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^Block=phoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{Block=phoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^Block=phoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(0, 7615, '\p{^Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(0, 7615, '\P{Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(1, 7615, '\P{^Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(0, 7551, '\p{Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(1, 7551, '\p{^Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(1, 7551, '\P{Block=_-PHONETIC_Extensions-Supplement}', "");
-Expect(0, 7551, '\P{^Block=_-PHONETIC_Extensions-Supplement}', "");
-Error('\p{Blk=:=phonetic_extensions Supplement}');
-Error('\P{Blk=:=phonetic_extensions Supplement}');
-Expect(1, 7615, '\p{Blk=phoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^Blk=phoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{Blk=phoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^Blk=phoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{Blk=phoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^Blk=phoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{Blk=phoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^Blk=phoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{Blk= Phonetic_Extensions supplement}', "");
-Expect(0, 7615, '\p{^Blk= Phonetic_Extensions supplement}', "");
-Expect(0, 7615, '\P{Blk= Phonetic_Extensions supplement}', "");
-Expect(1, 7615, '\P{^Blk= Phonetic_Extensions supplement}', "");
-Expect(0, 7551, '\p{Blk= Phonetic_Extensions supplement}', "");
-Expect(1, 7551, '\p{^Blk= Phonetic_Extensions supplement}', "");
-Expect(1, 7551, '\P{Blk= Phonetic_Extensions supplement}', "");
-Expect(0, 7551, '\P{^Blk= Phonetic_Extensions supplement}', "");
-Error('\p{Is_Block= Phonetic_Extensions/a/supplement}');
-Error('\P{Is_Block= Phonetic_Extensions/a/supplement}');
-Expect(1, 7615, '\p{Is_Block: phoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^Is_Block: phoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{Is_Block: phoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^Is_Block: phoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{Is_Block: phoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^Is_Block: phoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{Is_Block: phoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^Is_Block: phoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(0, 7615, '\p{^Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(0, 7615, '\P{Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(1, 7615, '\P{^Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(0, 7551, '\p{Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(1, 7551, '\p{^Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(1, 7551, '\P{Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Expect(0, 7551, '\P{^Is_Block:__PHONETIC_EXTENSIONSSUPPLEMENT}', "");
-Error('\p{Is_Blk=:=phonetic ExtensionsSupplement}');
-Error('\P{Is_Blk=:=phonetic ExtensionsSupplement}');
-Expect(1, 7615, '\p{Is_Blk=phoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^Is_Blk=phoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{Is_Blk=phoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^Is_Blk=phoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{Is_Blk=phoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^Is_Blk=phoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{Is_Blk=phoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^Is_Blk=phoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(0, 7615, '\p{^Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(0, 7615, '\P{Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(1, 7615, '\P{^Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(0, 7551, '\p{Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(1, 7551, '\p{^Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(1, 7551, '\P{Is_Blk=- Phonetic-extensions_supplement}', "");
-Expect(0, 7551, '\P{^Is_Blk=- Phonetic-extensions_supplement}', "");
-Error('\p{Block: -GREEK/a/Extended}');
-Error('\P{Block: -GREEK/a/Extended}');
-Expect(1, 8191, '\p{Block=greekextended}', "");
-Expect(0, 8191, '\p{^Block=greekextended}', "");
-Expect(0, 8191, '\P{Block=greekextended}', "");
-Expect(1, 8191, '\P{^Block=greekextended}', "");
-Expect(0, 7935, '\p{Block=greekextended}', "");
-Expect(1, 7935, '\p{^Block=greekextended}', "");
-Expect(1, 7935, '\P{Block=greekextended}', "");
-Expect(0, 7935, '\P{^Block=greekextended}', "");
-Expect(1, 8191, '\p{Block: greek Extended}', "");
-Expect(0, 8191, '\p{^Block: greek Extended}', "");
-Expect(0, 8191, '\P{Block: greek Extended}', "");
-Expect(1, 8191, '\P{^Block: greek Extended}', "");
-Expect(0, 7935, '\p{Block: greek Extended}', "");
-Expect(1, 7935, '\p{^Block: greek Extended}', "");
-Expect(1, 7935, '\P{Block: greek Extended}', "");
-Expect(0, 7935, '\P{^Block: greek Extended}', "");
-Error('\p{Blk=_/a/Greek EXTENDED}');
-Error('\P{Blk=_/a/Greek EXTENDED}');
-Expect(1, 8191, '\p{Blk:greekextended}', "");
-Expect(0, 8191, '\p{^Blk:greekextended}', "");
-Expect(0, 8191, '\P{Blk:greekextended}', "");
-Expect(1, 8191, '\P{^Blk:greekextended}', "");
-Expect(0, 7935, '\p{Blk:greekextended}', "");
-Expect(1, 7935, '\p{^Blk:greekextended}', "");
-Expect(1, 7935, '\P{Blk:greekextended}', "");
-Expect(0, 7935, '\P{^Blk:greekextended}', "");
-Expect(1, 8191, '\p{Blk=- greek-Extended}', "");
-Expect(0, 8191, '\p{^Blk=- greek-Extended}', "");
-Expect(0, 8191, '\P{Blk=- greek-Extended}', "");
-Expect(1, 8191, '\P{^Blk=- greek-Extended}', "");
-Expect(0, 7935, '\p{Blk=- greek-Extended}', "");
-Expect(1, 7935, '\p{^Blk=- greek-Extended}', "");
-Expect(1, 7935, '\P{Blk=- greek-Extended}', "");
-Expect(0, 7935, '\P{^Blk=- greek-Extended}', "");
-Error('\p{Is_Block: /a/Greek_extended}');
-Error('\P{Is_Block: /a/Greek_extended}');
-Expect(1, 8191, '\p{Is_Block: greekextended}', "");
-Expect(0, 8191, '\p{^Is_Block: greekextended}', "");
-Expect(0, 8191, '\P{Is_Block: greekextended}', "");
-Expect(1, 8191, '\P{^Is_Block: greekextended}', "");
-Expect(0, 7935, '\p{Is_Block: greekextended}', "");
-Expect(1, 7935, '\p{^Is_Block: greekextended}', "");
-Expect(1, 7935, '\P{Is_Block: greekextended}', "");
-Expect(0, 7935, '\P{^Is_Block: greekextended}', "");
-Expect(1, 8191, '\p{Is_Block: _Greek Extended}', "");
-Expect(0, 8191, '\p{^Is_Block: _Greek Extended}', "");
-Expect(0, 8191, '\P{Is_Block: _Greek Extended}', "");
-Expect(1, 8191, '\P{^Is_Block: _Greek Extended}', "");
-Expect(0, 7935, '\p{Is_Block: _Greek Extended}', "");
-Expect(1, 7935, '\p{^Is_Block: _Greek Extended}', "");
-Expect(1, 7935, '\P{Is_Block: _Greek Extended}', "");
-Expect(0, 7935, '\P{^Is_Block: _Greek Extended}', "");
-Error('\p{Is_Blk=/a/__GREEK_Extended}');
-Error('\P{Is_Blk=/a/__GREEK_Extended}');
-Expect(1, 8191, '\p{Is_Blk=greekextended}', "");
-Expect(0, 8191, '\p{^Is_Blk=greekextended}', "");
-Expect(0, 8191, '\P{Is_Blk=greekextended}', "");
-Expect(1, 8191, '\P{^Is_Blk=greekextended}', "");
-Expect(0, 7935, '\p{Is_Blk=greekextended}', "");
-Expect(1, 7935, '\p{^Is_Blk=greekextended}', "");
-Expect(1, 7935, '\P{Is_Blk=greekextended}', "");
-Expect(0, 7935, '\P{^Is_Blk=greekextended}', "");
-Expect(1, 8191, '\p{Is_Blk=greek_extended}', "");
-Expect(0, 8191, '\p{^Is_Blk=greek_extended}', "");
-Expect(0, 8191, '\P{Is_Blk=greek_extended}', "");
-Expect(1, 8191, '\P{^Is_Blk=greek_extended}', "");
-Expect(0, 7935, '\p{Is_Blk=greek_extended}', "");
-Expect(1, 7935, '\p{^Is_Blk=greek_extended}', "");
-Expect(1, 7935, '\P{Is_Blk=greek_extended}', "");
-Expect(0, 7935, '\P{^Is_Blk=greek_extended}', "");
-Error('\p{Block=/a/_deseret}');
-Error('\P{Block=/a/_deseret}');
-Expect(1, 66639, '\p{Block=deseret}', "");
-Expect(0, 66639, '\p{^Block=deseret}', "");
-Expect(0, 66639, '\P{Block=deseret}', "");
-Expect(1, 66639, '\P{^Block=deseret}', "");
-Expect(0, 66559, '\p{Block=deseret}', "");
-Expect(1, 66559, '\p{^Block=deseret}', "");
-Expect(1, 66559, '\P{Block=deseret}', "");
-Expect(0, 66559, '\P{^Block=deseret}', "");
-Expect(1, 66639, '\p{Block=_-Deseret}', "");
-Expect(0, 66639, '\p{^Block=_-Deseret}', "");
-Expect(0, 66639, '\P{Block=_-Deseret}', "");
-Expect(1, 66639, '\P{^Block=_-Deseret}', "");
-Expect(0, 66559, '\p{Block=_-Deseret}', "");
-Expect(1, 66559, '\p{^Block=_-Deseret}', "");
-Expect(1, 66559, '\P{Block=_-Deseret}', "");
-Expect(0, 66559, '\P{^Block=_-Deseret}', "");
-Error('\p{Blk= deseret/a/}');
-Error('\P{Blk= deseret/a/}');
-Expect(1, 66639, '\p{Blk=deseret}', "");
-Expect(0, 66639, '\p{^Blk=deseret}', "");
-Expect(0, 66639, '\P{Blk=deseret}', "");
-Expect(1, 66639, '\P{^Blk=deseret}', "");
-Expect(0, 66559, '\p{Blk=deseret}', "");
-Expect(1, 66559, '\p{^Blk=deseret}', "");
-Expect(1, 66559, '\P{Blk=deseret}', "");
-Expect(0, 66559, '\P{^Blk=deseret}', "");
-Expect(1, 66639, '\p{Blk=_DESERET}', "");
-Expect(0, 66639, '\p{^Blk=_DESERET}', "");
-Expect(0, 66639, '\P{Blk=_DESERET}', "");
-Expect(1, 66639, '\P{^Blk=_DESERET}', "");
-Expect(0, 66559, '\p{Blk=_DESERET}', "");
-Expect(1, 66559, '\p{^Blk=_DESERET}', "");
-Expect(1, 66559, '\P{Blk=_DESERET}', "");
-Expect(0, 66559, '\P{^Blk=_DESERET}', "");
-Error('\p{Is_Block=/a/Deseret}');
-Error('\P{Is_Block=/a/Deseret}');
-Expect(1, 66639, '\p{Is_Block=deseret}', "");
-Expect(0, 66639, '\p{^Is_Block=deseret}', "");
-Expect(0, 66639, '\P{Is_Block=deseret}', "");
-Expect(1, 66639, '\P{^Is_Block=deseret}', "");
-Expect(0, 66559, '\p{Is_Block=deseret}', "");
-Expect(1, 66559, '\p{^Is_Block=deseret}', "");
-Expect(1, 66559, '\P{Is_Block=deseret}', "");
-Expect(0, 66559, '\P{^Is_Block=deseret}', "");
-Expect(1, 66639, '\p{Is_Block=- Deseret}', "");
-Expect(0, 66639, '\p{^Is_Block=- Deseret}', "");
-Expect(0, 66639, '\P{Is_Block=- Deseret}', "");
-Expect(1, 66639, '\P{^Is_Block=- Deseret}', "");
-Expect(0, 66559, '\p{Is_Block=- Deseret}', "");
-Expect(1, 66559, '\p{^Is_Block=- Deseret}', "");
-Expect(1, 66559, '\P{Is_Block=- Deseret}', "");
-Expect(0, 66559, '\P{^Is_Block=- Deseret}', "");
-Error('\p{Is_Blk= :=DESERET}');
-Error('\P{Is_Blk= :=DESERET}');
-Expect(1, 66639, '\p{Is_Blk=deseret}', "");
-Expect(0, 66639, '\p{^Is_Blk=deseret}', "");
-Expect(0, 66639, '\P{Is_Blk=deseret}', "");
-Expect(1, 66639, '\P{^Is_Blk=deseret}', "");
-Expect(0, 66559, '\p{Is_Blk=deseret}', "");
-Expect(1, 66559, '\p{^Is_Blk=deseret}', "");
-Expect(1, 66559, '\P{Is_Blk=deseret}', "");
-Expect(0, 66559, '\P{^Is_Blk=deseret}', "");
-Expect(1, 66639, '\p{Is_Blk= _DESERET}', "");
-Expect(0, 66639, '\p{^Is_Blk= _DESERET}', "");
-Expect(0, 66639, '\P{Is_Blk= _DESERET}', "");
-Expect(1, 66639, '\P{^Is_Blk= _DESERET}', "");
-Expect(0, 66559, '\p{Is_Blk= _DESERET}', "");
-Expect(1, 66559, '\p{^Is_Blk= _DESERET}', "");
-Expect(1, 66559, '\P{Is_Blk= _DESERET}', "");
-Expect(0, 66559, '\P{^Is_Blk= _DESERET}', "");
-Error('\p{Block= Tai:=THAM}');
-Error('\P{Block= Tai:=THAM}');
-Expect(1, 6831, '\p{Block=taitham}', "");
-Expect(0, 6831, '\p{^Block=taitham}', "");
-Expect(0, 6831, '\P{Block=taitham}', "");
-Expect(1, 6831, '\P{^Block=taitham}', "");
-Expect(0, 6687, '\p{Block=taitham}', "");
-Expect(1, 6687, '\p{^Block=taitham}', "");
-Expect(1, 6687, '\P{Block=taitham}', "");
-Expect(0, 6687, '\P{^Block=taitham}', "");
-Expect(1, 6831, '\p{Block=_-TAI-Tham}', "");
-Expect(0, 6831, '\p{^Block=_-TAI-Tham}', "");
-Expect(0, 6831, '\P{Block=_-TAI-Tham}', "");
-Expect(1, 6831, '\P{^Block=_-TAI-Tham}', "");
-Expect(0, 6687, '\p{Block=_-TAI-Tham}', "");
-Expect(1, 6687, '\p{^Block=_-TAI-Tham}', "");
-Expect(1, 6687, '\P{Block=_-TAI-Tham}', "");
-Expect(0, 6687, '\P{^Block=_-TAI-Tham}', "");
-Error('\p{Blk=- Tai/a/Tham}');
-Error('\P{Blk=- Tai/a/Tham}');
-Expect(1, 6831, '\p{Blk=taitham}', "");
-Expect(0, 6831, '\p{^Blk=taitham}', "");
-Expect(0, 6831, '\P{Blk=taitham}', "");
-Expect(1, 6831, '\P{^Blk=taitham}', "");
-Expect(0, 6687, '\p{Blk=taitham}', "");
-Expect(1, 6687, '\p{^Blk=taitham}', "");
-Expect(1, 6687, '\P{Blk=taitham}', "");
-Expect(0, 6687, '\P{^Blk=taitham}', "");
-Expect(1, 6831, '\p{Blk=_-Tai_Tham}', "");
-Expect(0, 6831, '\p{^Blk=_-Tai_Tham}', "");
-Expect(0, 6831, '\P{Blk=_-Tai_Tham}', "");
-Expect(1, 6831, '\P{^Blk=_-Tai_Tham}', "");
-Expect(0, 6687, '\p{Blk=_-Tai_Tham}', "");
-Expect(1, 6687, '\p{^Blk=_-Tai_Tham}', "");
-Expect(1, 6687, '\P{Blk=_-Tai_Tham}', "");
-Expect(0, 6687, '\P{^Blk=_-Tai_Tham}', "");
-Error('\p{Is_Block: - Tai:=THAM}');
-Error('\P{Is_Block: - Tai:=THAM}');
-Expect(1, 6831, '\p{Is_Block: taitham}', "");
-Expect(0, 6831, '\p{^Is_Block: taitham}', "");
-Expect(0, 6831, '\P{Is_Block: taitham}', "");
-Expect(1, 6831, '\P{^Is_Block: taitham}', "");
-Expect(0, 6687, '\p{Is_Block: taitham}', "");
-Expect(1, 6687, '\p{^Is_Block: taitham}', "");
-Expect(1, 6687, '\P{Is_Block: taitham}', "");
-Expect(0, 6687, '\P{^Is_Block: taitham}', "");
-Expect(1, 6831, '\p{Is_Block= _TaiTham}', "");
-Expect(0, 6831, '\p{^Is_Block= _TaiTham}', "");
-Expect(0, 6831, '\P{Is_Block= _TaiTham}', "");
-Expect(1, 6831, '\P{^Is_Block= _TaiTham}', "");
-Expect(0, 6687, '\p{Is_Block= _TaiTham}', "");
-Expect(1, 6687, '\p{^Is_Block= _TaiTham}', "");
-Expect(1, 6687, '\P{Is_Block= _TaiTham}', "");
-Expect(0, 6687, '\P{^Is_Block= _TaiTham}', "");
-Error('\p{Is_Blk= Tai-Tham/a/}');
-Error('\P{Is_Blk= Tai-Tham/a/}');
-Expect(1, 6831, '\p{Is_Blk=taitham}', "");
-Expect(0, 6831, '\p{^Is_Blk=taitham}', "");
-Expect(0, 6831, '\P{Is_Blk=taitham}', "");
-Expect(1, 6831, '\P{^Is_Blk=taitham}', "");
-Expect(0, 6687, '\p{Is_Blk=taitham}', "");
-Expect(1, 6687, '\p{^Is_Blk=taitham}', "");
-Expect(1, 6687, '\P{Is_Blk=taitham}', "");
-Expect(0, 6687, '\P{^Is_Blk=taitham}', "");
-Expect(1, 6831, '\p{Is_Blk=__TAI-tham}', "");
-Expect(0, 6831, '\p{^Is_Blk=__TAI-tham}', "");
-Expect(0, 6831, '\P{Is_Blk=__TAI-tham}', "");
-Expect(1, 6831, '\P{^Is_Blk=__TAI-tham}', "");
-Expect(0, 6687, '\p{Is_Blk=__TAI-tham}', "");
-Expect(1, 6687, '\p{^Is_Blk=__TAI-tham}', "");
-Expect(1, 6687, '\P{Is_Blk=__TAI-tham}', "");
-Expect(0, 6687, '\P{^Is_Blk=__TAI-tham}', "");
-Error('\p{Block=:=_tagbanwa}');
-Error('\P{Block=:=_tagbanwa}');
-Expect(1, 6015, '\p{Block=tagbanwa}', "");
-Expect(0, 6015, '\p{^Block=tagbanwa}', "");
-Expect(0, 6015, '\P{Block=tagbanwa}', "");
-Expect(1, 6015, '\P{^Block=tagbanwa}', "");
-Expect(0, 5983, '\p{Block=tagbanwa}', "");
-Expect(1, 5983, '\p{^Block=tagbanwa}', "");
-Expect(1, 5983, '\P{Block=tagbanwa}', "");
-Expect(0, 5983, '\P{^Block=tagbanwa}', "");
-Expect(1, 6015, '\p{Block=_ Tagbanwa}', "");
-Expect(0, 6015, '\p{^Block=_ Tagbanwa}', "");
-Expect(0, 6015, '\P{Block=_ Tagbanwa}', "");
-Expect(1, 6015, '\P{^Block=_ Tagbanwa}', "");
-Expect(0, 5983, '\p{Block=_ Tagbanwa}', "");
-Expect(1, 5983, '\p{^Block=_ Tagbanwa}', "");
-Expect(1, 5983, '\P{Block=_ Tagbanwa}', "");
-Expect(0, 5983, '\P{^Block=_ Tagbanwa}', "");
-Error('\p{Blk: /a/TAGBANWA}');
-Error('\P{Blk: /a/TAGBANWA}');
-Expect(1, 6015, '\p{Blk=tagbanwa}', "");
-Expect(0, 6015, '\p{^Blk=tagbanwa}', "");
-Expect(0, 6015, '\P{Blk=tagbanwa}', "");
-Expect(1, 6015, '\P{^Blk=tagbanwa}', "");
-Expect(0, 5983, '\p{Blk=tagbanwa}', "");
-Expect(1, 5983, '\p{^Blk=tagbanwa}', "");
-Expect(1, 5983, '\P{Blk=tagbanwa}', "");
-Expect(0, 5983, '\P{^Blk=tagbanwa}', "");
-Expect(1, 6015, '\p{Blk= -TAGBANWA}', "");
-Expect(0, 6015, '\p{^Blk= -TAGBANWA}', "");
-Expect(0, 6015, '\P{Blk= -TAGBANWA}', "");
-Expect(1, 6015, '\P{^Blk= -TAGBANWA}', "");
-Expect(0, 5983, '\p{Blk= -TAGBANWA}', "");
-Expect(1, 5983, '\p{^Blk= -TAGBANWA}', "");
-Expect(1, 5983, '\P{Blk= -TAGBANWA}', "");
-Expect(0, 5983, '\P{^Blk= -TAGBANWA}', "");
-Error('\p{Is_Block=/a/ _Tagbanwa}');
-Error('\P{Is_Block=/a/ _Tagbanwa}');
-Expect(1, 6015, '\p{Is_Block=tagbanwa}', "");
-Expect(0, 6015, '\p{^Is_Block=tagbanwa}', "");
-Expect(0, 6015, '\P{Is_Block=tagbanwa}', "");
-Expect(1, 6015, '\P{^Is_Block=tagbanwa}', "");
-Expect(0, 5983, '\p{Is_Block=tagbanwa}', "");
-Expect(1, 5983, '\p{^Is_Block=tagbanwa}', "");
-Expect(1, 5983, '\P{Is_Block=tagbanwa}', "");
-Expect(0, 5983, '\P{^Is_Block=tagbanwa}', "");
-Expect(1, 6015, '\p{Is_Block: -Tagbanwa}', "");
-Expect(0, 6015, '\p{^Is_Block: -Tagbanwa}', "");
-Expect(0, 6015, '\P{Is_Block: -Tagbanwa}', "");
-Expect(1, 6015, '\P{^Is_Block: -Tagbanwa}', "");
-Expect(0, 5983, '\p{Is_Block: -Tagbanwa}', "");
-Expect(1, 5983, '\p{^Is_Block: -Tagbanwa}', "");
-Expect(1, 5983, '\P{Is_Block: -Tagbanwa}', "");
-Expect(0, 5983, '\P{^Is_Block: -Tagbanwa}', "");
-Error('\p{Is_Blk= tagbanwa:=}');
-Error('\P{Is_Blk= tagbanwa:=}');
-Expect(1, 6015, '\p{Is_Blk=tagbanwa}', "");
-Expect(0, 6015, '\p{^Is_Blk=tagbanwa}', "");
-Expect(0, 6015, '\P{Is_Blk=tagbanwa}', "");
-Expect(1, 6015, '\P{^Is_Blk=tagbanwa}', "");
-Expect(0, 5983, '\p{Is_Blk=tagbanwa}', "");
-Expect(1, 5983, '\p{^Is_Blk=tagbanwa}', "");
-Expect(1, 5983, '\P{Is_Blk=tagbanwa}', "");
-Expect(0, 5983, '\P{^Is_Blk=tagbanwa}', "");
-Expect(1, 6015, '\p{Is_Blk= Tagbanwa}', "");
-Expect(0, 6015, '\p{^Is_Blk= Tagbanwa}', "");
-Expect(0, 6015, '\P{Is_Blk= Tagbanwa}', "");
-Expect(1, 6015, '\P{^Is_Blk= Tagbanwa}', "");
-Expect(0, 5983, '\p{Is_Blk= Tagbanwa}', "");
-Expect(1, 5983, '\p{^Is_Blk= Tagbanwa}', "");
-Expect(1, 5983, '\P{Is_Blk= Tagbanwa}', "");
-Expect(0, 5983, '\P{^Is_Blk= Tagbanwa}', "");
-Error('\p{Block= :=Arabic}');
-Error('\P{Block= :=Arabic}');
-Expect(1, 1791, '\p{Block=arabic}', "");
-Expect(0, 1791, '\p{^Block=arabic}', "");
-Expect(0, 1791, '\P{Block=arabic}', "");
-Expect(1, 1791, '\P{^Block=arabic}', "");
-Expect(0, 1535, '\p{Block=arabic}', "");
-Expect(1, 1535, '\p{^Block=arabic}', "");
-Expect(1, 1535, '\P{Block=arabic}', "");
-Expect(0, 1535, '\P{^Block=arabic}', "");
-Expect(1, 1791, '\p{Block: arabic}', "");
-Expect(0, 1791, '\p{^Block: arabic}', "");
-Expect(0, 1791, '\P{Block: arabic}', "");
-Expect(1, 1791, '\P{^Block: arabic}', "");
-Expect(0, 1535, '\p{Block: arabic}', "");
-Expect(1, 1535, '\p{^Block: arabic}', "");
-Expect(1, 1535, '\P{Block: arabic}', "");
-Expect(0, 1535, '\P{^Block: arabic}', "");
-Error('\p{Blk=/a/Arabic}');
-Error('\P{Blk=/a/Arabic}');
-Expect(1, 1791, '\p{Blk: arabic}', "");
-Expect(0, 1791, '\p{^Blk: arabic}', "");
-Expect(0, 1791, '\P{Blk: arabic}', "");
-Expect(1, 1791, '\P{^Blk: arabic}', "");
-Expect(0, 1535, '\p{Blk: arabic}', "");
-Expect(1, 1535, '\p{^Blk: arabic}', "");
-Expect(1, 1535, '\P{Blk: arabic}', "");
-Expect(0, 1535, '\P{^Blk: arabic}', "");
-Expect(1, 1791, '\p{Blk=_ARABIC}', "");
-Expect(0, 1791, '\p{^Blk=_ARABIC}', "");
-Expect(0, 1791, '\P{Blk=_ARABIC}', "");
-Expect(1, 1791, '\P{^Blk=_ARABIC}', "");
-Expect(0, 1535, '\p{Blk=_ARABIC}', "");
-Expect(1, 1535, '\p{^Blk=_ARABIC}', "");
-Expect(1, 1535, '\P{Blk=_ARABIC}', "");
-Expect(0, 1535, '\P{^Blk=_ARABIC}', "");
-Error('\p{Is_Block: _-Arabic:=}');
-Error('\P{Is_Block: _-Arabic:=}');
-Expect(1, 1791, '\p{Is_Block: arabic}', "");
-Expect(0, 1791, '\p{^Is_Block: arabic}', "");
-Expect(0, 1791, '\P{Is_Block: arabic}', "");
-Expect(1, 1791, '\P{^Is_Block: arabic}', "");
-Expect(0, 1535, '\p{Is_Block: arabic}', "");
-Expect(1, 1535, '\p{^Is_Block: arabic}', "");
-Expect(1, 1535, '\P{Is_Block: arabic}', "");
-Expect(0, 1535, '\P{^Is_Block: arabic}', "");
-Expect(1, 1791, '\p{Is_Block= Arabic}', "");
-Expect(0, 1791, '\p{^Is_Block= Arabic}', "");
-Expect(0, 1791, '\P{Is_Block= Arabic}', "");
-Expect(1, 1791, '\P{^Is_Block= Arabic}', "");
-Expect(0, 1535, '\p{Is_Block= Arabic}', "");
-Expect(1, 1535, '\p{^Is_Block= Arabic}', "");
-Expect(1, 1535, '\P{Is_Block= Arabic}', "");
-Expect(0, 1535, '\P{^Is_Block= Arabic}', "");
-Error('\p{Is_Blk= /a/Arabic}');
-Error('\P{Is_Blk= /a/Arabic}');
-Expect(1, 1791, '\p{Is_Blk=arabic}', "");
-Expect(0, 1791, '\p{^Is_Blk=arabic}', "");
-Expect(0, 1791, '\P{Is_Blk=arabic}', "");
-Expect(1, 1791, '\P{^Is_Blk=arabic}', "");
-Expect(0, 1535, '\p{Is_Blk=arabic}', "");
-Expect(1, 1535, '\p{^Is_Blk=arabic}', "");
-Expect(1, 1535, '\P{Is_Blk=arabic}', "");
-Expect(0, 1535, '\P{^Is_Blk=arabic}', "");
-Expect(1, 1791, '\p{Is_Blk= Arabic}', "");
-Expect(0, 1791, '\p{^Is_Blk= Arabic}', "");
-Expect(0, 1791, '\P{Is_Blk= Arabic}', "");
-Expect(1, 1791, '\P{^Is_Blk= Arabic}', "");
-Expect(0, 1535, '\p{Is_Blk= Arabic}', "");
-Expect(1, 1535, '\p{^Is_Blk= Arabic}', "");
-Expect(1, 1535, '\P{Is_Blk= Arabic}', "");
-Expect(0, 1535, '\P{^Is_Blk= Arabic}', "");
-Error('\p{Block=_katakana Phonetic_Extensions:=}');
-Error('\P{Block=_katakana Phonetic_Extensions:=}');
-Expect(1, 12799, '\p{Block=katakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^Block=katakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{Block=katakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^Block=katakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{Block=katakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^Block=katakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{Block=katakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^Block=katakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{Block: katakanaPhoneticExtensions}', "");
-Expect(0, 12799, '\p{^Block: katakanaPhoneticExtensions}', "");
-Expect(0, 12799, '\P{Block: katakanaPhoneticExtensions}', "");
-Expect(1, 12799, '\P{^Block: katakanaPhoneticExtensions}', "");
-Expect(0, 12783, '\p{Block: katakanaPhoneticExtensions}', "");
-Expect(1, 12783, '\p{^Block: katakanaPhoneticExtensions}', "");
-Expect(1, 12783, '\P{Block: katakanaPhoneticExtensions}', "");
-Expect(0, 12783, '\P{^Block: katakanaPhoneticExtensions}', "");
-Error('\p{Blk=_-KATAKANAphonetic EXTENSIONS:=}');
-Error('\P{Blk=_-KATAKANAphonetic EXTENSIONS:=}');
-Expect(1, 12799, '\p{Blk=katakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^Blk=katakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{Blk=katakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^Blk=katakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{Blk=katakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^Blk=katakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{Blk=katakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^Blk=katakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{Blk= katakanaPHONETIC Extensions}', "");
-Expect(0, 12799, '\p{^Blk= katakanaPHONETIC Extensions}', "");
-Expect(0, 12799, '\P{Blk= katakanaPHONETIC Extensions}', "");
-Expect(1, 12799, '\P{^Blk= katakanaPHONETIC Extensions}', "");
-Expect(0, 12783, '\p{Blk= katakanaPHONETIC Extensions}', "");
-Expect(1, 12783, '\p{^Blk= katakanaPHONETIC Extensions}', "");
-Expect(1, 12783, '\P{Blk= katakanaPHONETIC Extensions}', "");
-Expect(0, 12783, '\P{^Blk= katakanaPHONETIC Extensions}', "");
-Error('\p{Is_Block= Katakana_Phonetic Extensions:=}');
-Error('\P{Is_Block= Katakana_Phonetic Extensions:=}');
-Expect(1, 12799, '\p{Is_Block:katakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^Is_Block:katakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{Is_Block:katakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^Is_Block:katakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{Is_Block:katakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^Is_Block:katakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{Is_Block:katakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^Is_Block:katakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(0, 12799, '\p{^Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(0, 12799, '\P{Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(1, 12799, '\P{^Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(0, 12783, '\p{Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(1, 12783, '\p{^Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(1, 12783, '\P{Is_Block=- Katakana_Phonetic extensions}', "");
-Expect(0, 12783, '\P{^Is_Block=- Katakana_Phonetic extensions}', "");
-Error('\p{Is_Blk= katakana_Phonetic EXTENSIONS:=}');
-Error('\P{Is_Blk= katakana_Phonetic EXTENSIONS:=}');
-Expect(1, 12799, '\p{Is_Blk=katakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^Is_Blk=katakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{Is_Blk=katakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^Is_Blk=katakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{Is_Blk=katakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^Is_Blk=katakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{Is_Blk=katakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^Is_Blk=katakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{Is_Blk= katakana phonetic-Extensions}', "");
-Expect(0, 12799, '\p{^Is_Blk= katakana phonetic-Extensions}', "");
-Expect(0, 12799, '\P{Is_Blk= katakana phonetic-Extensions}', "");
-Expect(1, 12799, '\P{^Is_Blk= katakana phonetic-Extensions}', "");
-Expect(0, 12783, '\p{Is_Blk= katakana phonetic-Extensions}', "");
-Expect(1, 12783, '\p{^Is_Blk= katakana phonetic-Extensions}', "");
-Expect(1, 12783, '\P{Is_Blk= katakana phonetic-Extensions}', "");
-Expect(0, 12783, '\P{^Is_Blk= katakana phonetic-Extensions}', "");
-Error('\p{Block=_/a/LETTERLIKESymbols}');
-Error('\P{Block=_/a/LETTERLIKESymbols}');
-Expect(1, 8527, '\p{Block=letterlikesymbols}', "");
-Expect(0, 8527, '\p{^Block=letterlikesymbols}', "");
-Expect(0, 8527, '\P{Block=letterlikesymbols}', "");
-Expect(1, 8527, '\P{^Block=letterlikesymbols}', "");
-Expect(0, 8447, '\p{Block=letterlikesymbols}', "");
-Expect(1, 8447, '\p{^Block=letterlikesymbols}', "");
-Expect(1, 8447, '\P{Block=letterlikesymbols}', "");
-Expect(0, 8447, '\P{^Block=letterlikesymbols}', "");
-Expect(1, 8527, '\p{Block= _LETTERLIKESymbols}', "");
-Expect(0, 8527, '\p{^Block= _LETTERLIKESymbols}', "");
-Expect(0, 8527, '\P{Block= _LETTERLIKESymbols}', "");
-Expect(1, 8527, '\P{^Block= _LETTERLIKESymbols}', "");
-Expect(0, 8447, '\p{Block= _LETTERLIKESymbols}', "");
-Expect(1, 8447, '\p{^Block= _LETTERLIKESymbols}', "");
-Expect(1, 8447, '\P{Block= _LETTERLIKESymbols}', "");
-Expect(0, 8447, '\P{^Block= _LETTERLIKESymbols}', "");
-Error('\p{Blk= _Letterlike Symbols:=}');
-Error('\P{Blk= _Letterlike Symbols:=}');
-Expect(1, 8527, '\p{Blk=letterlikesymbols}', "");
-Expect(0, 8527, '\p{^Blk=letterlikesymbols}', "");
-Expect(0, 8527, '\P{Blk=letterlikesymbols}', "");
-Expect(1, 8527, '\P{^Blk=letterlikesymbols}', "");
-Expect(0, 8447, '\p{Blk=letterlikesymbols}', "");
-Expect(1, 8447, '\p{^Blk=letterlikesymbols}', "");
-Expect(1, 8447, '\P{Blk=letterlikesymbols}', "");
-Expect(0, 8447, '\P{^Blk=letterlikesymbols}', "");
-Expect(1, 8527, '\p{Blk= letterlike Symbols}', "");
-Expect(0, 8527, '\p{^Blk= letterlike Symbols}', "");
-Expect(0, 8527, '\P{Blk= letterlike Symbols}', "");
-Expect(1, 8527, '\P{^Blk= letterlike Symbols}', "");
-Expect(0, 8447, '\p{Blk= letterlike Symbols}', "");
-Expect(1, 8447, '\p{^Blk= letterlike Symbols}', "");
-Expect(1, 8447, '\P{Blk= letterlike Symbols}', "");
-Expect(0, 8447, '\P{^Blk= letterlike Symbols}', "");
-Error('\p{Is_Block=:= letterlikeSymbols}');
-Error('\P{Is_Block=:= letterlikeSymbols}');
-Expect(1, 8527, '\p{Is_Block=letterlikesymbols}', "");
-Expect(0, 8527, '\p{^Is_Block=letterlikesymbols}', "");
-Expect(0, 8527, '\P{Is_Block=letterlikesymbols}', "");
-Expect(1, 8527, '\P{^Is_Block=letterlikesymbols}', "");
-Expect(0, 8447, '\p{Is_Block=letterlikesymbols}', "");
-Expect(1, 8447, '\p{^Is_Block=letterlikesymbols}', "");
-Expect(1, 8447, '\P{Is_Block=letterlikesymbols}', "");
-Expect(0, 8447, '\P{^Is_Block=letterlikesymbols}', "");
-Expect(1, 8527, '\p{Is_Block=Letterlike-symbols}', "");
-Expect(0, 8527, '\p{^Is_Block=Letterlike-symbols}', "");
-Expect(0, 8527, '\P{Is_Block=Letterlike-symbols}', "");
-Expect(1, 8527, '\P{^Is_Block=Letterlike-symbols}', "");
-Expect(0, 8447, '\p{Is_Block=Letterlike-symbols}', "");
-Expect(1, 8447, '\p{^Is_Block=Letterlike-symbols}', "");
-Expect(1, 8447, '\P{Is_Block=Letterlike-symbols}', "");
-Expect(0, 8447, '\P{^Is_Block=Letterlike-symbols}', "");
-Error('\p{Is_Blk=-Letterlike/a/SYMBOLS}');
-Error('\P{Is_Blk=-Letterlike/a/SYMBOLS}');
-Expect(1, 8527, '\p{Is_Blk=letterlikesymbols}', "");
-Expect(0, 8527, '\p{^Is_Blk=letterlikesymbols}', "");
-Expect(0, 8527, '\P{Is_Blk=letterlikesymbols}', "");
-Expect(1, 8527, '\P{^Is_Blk=letterlikesymbols}', "");
-Expect(0, 8447, '\p{Is_Blk=letterlikesymbols}', "");
-Expect(1, 8447, '\p{^Is_Blk=letterlikesymbols}', "");
-Expect(1, 8447, '\P{Is_Blk=letterlikesymbols}', "");
-Expect(0, 8447, '\P{^Is_Blk=letterlikesymbols}', "");
-Expect(1, 8527, '\p{Is_Blk: - Letterlike_Symbols}', "");
-Expect(0, 8527, '\p{^Is_Blk: - Letterlike_Symbols}', "");
-Expect(0, 8527, '\P{Is_Blk: - Letterlike_Symbols}', "");
-Expect(1, 8527, '\P{^Is_Blk: - Letterlike_Symbols}', "");
-Expect(0, 8447, '\p{Is_Blk: - Letterlike_Symbols}', "");
-Expect(1, 8447, '\p{^Is_Blk: - Letterlike_Symbols}', "");
-Expect(1, 8447, '\P{Is_Blk: - Letterlike_Symbols}', "");
-Expect(0, 8447, '\P{^Is_Blk: - Letterlike_Symbols}', "");
-Error('\p{Block= _LATIN:=EXTENDED C}');
-Error('\P{Block= _LATIN:=EXTENDED C}');
-Expect(1, 11391, '\p{Block=latinextendedc}', "");
-Expect(0, 11391, '\p{^Block=latinextendedc}', "");
-Expect(0, 11391, '\P{Block=latinextendedc}', "");
-Expect(1, 11391, '\P{^Block=latinextendedc}', "");
-Expect(0, 11359, '\p{Block=latinextendedc}', "");
-Expect(1, 11359, '\p{^Block=latinextendedc}', "");
-Expect(1, 11359, '\P{Block=latinextendedc}', "");
-Expect(0, 11359, '\P{^Block=latinextendedc}', "");
-Expect(1, 11391, '\p{Block=_LatinEXTENDED c}', "");
-Expect(0, 11391, '\p{^Block=_LatinEXTENDED c}', "");
-Expect(0, 11391, '\P{Block=_LatinEXTENDED c}', "");
-Expect(1, 11391, '\P{^Block=_LatinEXTENDED c}', "");
-Expect(0, 11359, '\p{Block=_LatinEXTENDED c}', "");
-Expect(1, 11359, '\p{^Block=_LatinEXTENDED c}', "");
-Expect(1, 11359, '\P{Block=_LatinEXTENDED c}', "");
-Expect(0, 11359, '\P{^Block=_LatinEXTENDED c}', "");
-Error('\p{Blk: -/a/Latin EXTENDED C}');
-Error('\P{Blk: -/a/Latin EXTENDED C}');
-Expect(1, 11391, '\p{Blk=latinextendedc}', "");
-Expect(0, 11391, '\p{^Blk=latinextendedc}', "");
-Expect(0, 11391, '\P{Blk=latinextendedc}', "");
-Expect(1, 11391, '\P{^Blk=latinextendedc}', "");
-Expect(0, 11359, '\p{Blk=latinextendedc}', "");
-Expect(1, 11359, '\p{^Blk=latinextendedc}', "");
-Expect(1, 11359, '\P{Blk=latinextendedc}', "");
-Expect(0, 11359, '\P{^Blk=latinextendedc}', "");
-Expect(1, 11391, '\p{Blk= LATINEXTENDEDc}', "");
-Expect(0, 11391, '\p{^Blk= LATINEXTENDEDc}', "");
-Expect(0, 11391, '\P{Blk= LATINEXTENDEDc}', "");
-Expect(1, 11391, '\P{^Blk= LATINEXTENDEDc}', "");
-Expect(0, 11359, '\p{Blk= LATINEXTENDEDc}', "");
-Expect(1, 11359, '\p{^Blk= LATINEXTENDEDc}', "");
-Expect(1, 11359, '\P{Blk= LATINEXTENDEDc}', "");
-Expect(0, 11359, '\P{^Blk= LATINEXTENDEDc}', "");
-Error('\p{Is_Block= _LATIN_extended/a/C}');
-Error('\P{Is_Block= _LATIN_extended/a/C}');
-Expect(1, 11391, '\p{Is_Block=latinextendedc}', "");
-Expect(0, 11391, '\p{^Is_Block=latinextendedc}', "");
-Expect(0, 11391, '\P{Is_Block=latinextendedc}', "");
-Expect(1, 11391, '\P{^Is_Block=latinextendedc}', "");
-Expect(0, 11359, '\p{Is_Block=latinextendedc}', "");
-Expect(1, 11359, '\p{^Is_Block=latinextendedc}', "");
-Expect(1, 11359, '\P{Is_Block=latinextendedc}', "");
-Expect(0, 11359, '\P{^Is_Block=latinextendedc}', "");
-Expect(1, 11391, '\p{Is_Block= _latinextended-C}', "");
-Expect(0, 11391, '\p{^Is_Block= _latinextended-C}', "");
-Expect(0, 11391, '\P{Is_Block= _latinextended-C}', "");
-Expect(1, 11391, '\P{^Is_Block= _latinextended-C}', "");
-Expect(0, 11359, '\p{Is_Block= _latinextended-C}', "");
-Expect(1, 11359, '\p{^Is_Block= _latinextended-C}', "");
-Expect(1, 11359, '\P{Is_Block= _latinextended-C}', "");
-Expect(0, 11359, '\P{^Is_Block= _latinextended-C}', "");
-Error('\p{Is_Blk: :=latin-Extended C}');
-Error('\P{Is_Blk: :=latin-Extended C}');
-Expect(1, 11391, '\p{Is_Blk=latinextendedc}', "");
-Expect(0, 11391, '\p{^Is_Blk=latinextendedc}', "");
-Expect(0, 11391, '\P{Is_Blk=latinextendedc}', "");
-Expect(1, 11391, '\P{^Is_Blk=latinextendedc}', "");
-Expect(0, 11359, '\p{Is_Blk=latinextendedc}', "");
-Expect(1, 11359, '\p{^Is_Blk=latinextendedc}', "");
-Expect(1, 11359, '\P{Is_Blk=latinextendedc}', "");
-Expect(0, 11359, '\P{^Is_Blk=latinextendedc}', "");
-Expect(1, 11391, '\p{Is_Blk= _LATIN_extended c}', "");
-Expect(0, 11391, '\p{^Is_Blk= _LATIN_extended c}', "");
-Expect(0, 11391, '\P{Is_Blk= _LATIN_extended c}', "");
-Expect(1, 11391, '\P{^Is_Blk= _LATIN_extended c}', "");
-Expect(0, 11359, '\p{Is_Blk= _LATIN_extended c}', "");
-Expect(1, 11359, '\p{^Is_Blk= _LATIN_extended c}', "");
-Expect(1, 11359, '\P{Is_Blk= _LATIN_extended c}', "");
-Expect(0, 11359, '\P{^Is_Blk= _LATIN_extended c}', "");
-Error('\p{Block=/a/- common-indic number Forms}');
-Error('\P{Block=/a/- common-indic number Forms}');
-Expect(1, 43071, '\p{Block: commonindicnumberforms}', "");
-Expect(0, 43071, '\p{^Block: commonindicnumberforms}', "");
-Expect(0, 43071, '\P{Block: commonindicnumberforms}', "");
-Expect(1, 43071, '\P{^Block: commonindicnumberforms}', "");
-Expect(0, 43055, '\p{Block: commonindicnumberforms}', "");
-Expect(1, 43055, '\p{^Block: commonindicnumberforms}', "");
-Expect(1, 43055, '\P{Block: commonindicnumberforms}', "");
-Expect(0, 43055, '\P{^Block: commonindicnumberforms}', "");
-Expect(1, 43071, '\p{Block= common-INDIC_NUMBER forms}', "");
-Expect(0, 43071, '\p{^Block= common-INDIC_NUMBER forms}', "");
-Expect(0, 43071, '\P{Block= common-INDIC_NUMBER forms}', "");
-Expect(1, 43071, '\P{^Block= common-INDIC_NUMBER forms}', "");
-Expect(0, 43055, '\p{Block= common-INDIC_NUMBER forms}', "");
-Expect(1, 43055, '\p{^Block= common-INDIC_NUMBER forms}', "");
-Expect(1, 43055, '\P{Block= common-INDIC_NUMBER forms}', "");
-Expect(0, 43055, '\P{^Block= common-INDIC_NUMBER forms}', "");
-Error('\p{Blk= Common/a/Indic Number forms}');
-Error('\P{Blk= Common/a/Indic Number forms}');
-Expect(1, 43071, '\p{Blk: commonindicnumberforms}', "");
-Expect(0, 43071, '\p{^Blk: commonindicnumberforms}', "");
-Expect(0, 43071, '\P{Blk: commonindicnumberforms}', "");
-Expect(1, 43071, '\P{^Blk: commonindicnumberforms}', "");
-Expect(0, 43055, '\p{Blk: commonindicnumberforms}', "");
-Expect(1, 43055, '\p{^Blk: commonindicnumberforms}', "");
-Expect(1, 43055, '\P{Blk: commonindicnumberforms}', "");
-Expect(0, 43055, '\P{^Blk: commonindicnumberforms}', "");
-Expect(1, 43071, '\p{Blk= common_Indic_Number Forms}', "");
-Expect(0, 43071, '\p{^Blk= common_Indic_Number Forms}', "");
-Expect(0, 43071, '\P{Blk= common_Indic_Number Forms}', "");
-Expect(1, 43071, '\P{^Blk= common_Indic_Number Forms}', "");
-Expect(0, 43055, '\p{Blk= common_Indic_Number Forms}', "");
-Expect(1, 43055, '\p{^Blk= common_Indic_Number Forms}', "");
-Expect(1, 43055, '\P{Blk= common_Indic_Number Forms}', "");
-Expect(0, 43055, '\P{^Blk= common_Indic_Number Forms}', "");
-Error('\p{Is_Block=:=COMMON Indic_NUMBER FORMS}');
-Error('\P{Is_Block=:=COMMON Indic_NUMBER FORMS}');
-Expect(1, 43071, '\p{Is_Block:commonindicnumberforms}', "");
-Expect(0, 43071, '\p{^Is_Block:commonindicnumberforms}', "");
-Expect(0, 43071, '\P{Is_Block:commonindicnumberforms}', "");
-Expect(1, 43071, '\P{^Is_Block:commonindicnumberforms}', "");
-Expect(0, 43055, '\p{Is_Block:commonindicnumberforms}', "");
-Expect(1, 43055, '\p{^Is_Block:commonindicnumberforms}', "");
-Expect(1, 43055, '\P{Is_Block:commonindicnumberforms}', "");
-Expect(0, 43055, '\P{^Is_Block:commonindicnumberforms}', "");
-Expect(1, 43071, '\p{Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(0, 43071, '\p{^Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(0, 43071, '\P{Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(1, 43071, '\P{^Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(0, 43055, '\p{Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(1, 43055, '\p{^Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(1, 43055, '\P{Is_Block= _COMMON-Indic Number_Forms}', "");
-Expect(0, 43055, '\P{^Is_Block= _COMMON-Indic Number_Forms}', "");
-Error('\p{Is_Blk= :=Common-INDIC number Forms}');
-Error('\P{Is_Blk= :=Common-INDIC number Forms}');
-Expect(1, 43071, '\p{Is_Blk=commonindicnumberforms}', "");
-Expect(0, 43071, '\p{^Is_Blk=commonindicnumberforms}', "");
-Expect(0, 43071, '\P{Is_Blk=commonindicnumberforms}', "");
-Expect(1, 43071, '\P{^Is_Blk=commonindicnumberforms}', "");
-Expect(0, 43055, '\p{Is_Blk=commonindicnumberforms}', "");
-Expect(1, 43055, '\p{^Is_Blk=commonindicnumberforms}', "");
-Expect(1, 43055, '\P{Is_Blk=commonindicnumberforms}', "");
-Expect(0, 43055, '\P{^Is_Blk=commonindicnumberforms}', "");
-Expect(1, 43071, '\p{Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(0, 43071, '\p{^Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(0, 43071, '\P{Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(1, 43071, '\P{^Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(0, 43055, '\p{Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(1, 43055, '\p{^Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(1, 43055, '\P{Is_Blk=-COMMON-IndicNumber-forms}', "");
-Expect(0, 43055, '\P{^Is_Blk=-COMMON-IndicNumber-forms}', "");
-Error('\p{Block= -Meetei:=MAYEK}');
-Error('\P{Block= -Meetei:=MAYEK}');
-Expect(1, 44031, '\p{Block=meeteimayek}', "");
-Expect(0, 44031, '\p{^Block=meeteimayek}', "");
-Expect(0, 44031, '\P{Block=meeteimayek}', "");
-Expect(1, 44031, '\P{^Block=meeteimayek}', "");
-Expect(0, 43967, '\p{Block=meeteimayek}', "");
-Expect(1, 43967, '\p{^Block=meeteimayek}', "");
-Expect(1, 43967, '\P{Block=meeteimayek}', "");
-Expect(0, 43967, '\P{^Block=meeteimayek}', "");
-Expect(1, 44031, '\p{Block= Meetei_Mayek}', "");
-Expect(0, 44031, '\p{^Block= Meetei_Mayek}', "");
-Expect(0, 44031, '\P{Block= Meetei_Mayek}', "");
-Expect(1, 44031, '\P{^Block= Meetei_Mayek}', "");
-Expect(0, 43967, '\p{Block= Meetei_Mayek}', "");
-Expect(1, 43967, '\p{^Block= Meetei_Mayek}', "");
-Expect(1, 43967, '\P{Block= Meetei_Mayek}', "");
-Expect(0, 43967, '\P{^Block= Meetei_Mayek}', "");
-Error('\p{Blk: :=Meetei MAYEK}');
-Error('\P{Blk: :=Meetei MAYEK}');
-Expect(1, 44031, '\p{Blk=meeteimayek}', "");
-Expect(0, 44031, '\p{^Blk=meeteimayek}', "");
-Expect(0, 44031, '\P{Blk=meeteimayek}', "");
-Expect(1, 44031, '\P{^Blk=meeteimayek}', "");
-Expect(0, 43967, '\p{Blk=meeteimayek}', "");
-Expect(1, 43967, '\p{^Blk=meeteimayek}', "");
-Expect(1, 43967, '\P{Blk=meeteimayek}', "");
-Expect(0, 43967, '\P{^Blk=meeteimayek}', "");
-Expect(1, 44031, '\p{Blk=_ MeeteiMayek}', "");
-Expect(0, 44031, '\p{^Blk=_ MeeteiMayek}', "");
-Expect(0, 44031, '\P{Blk=_ MeeteiMayek}', "");
-Expect(1, 44031, '\P{^Blk=_ MeeteiMayek}', "");
-Expect(0, 43967, '\p{Blk=_ MeeteiMayek}', "");
-Expect(1, 43967, '\p{^Blk=_ MeeteiMayek}', "");
-Expect(1, 43967, '\P{Blk=_ MeeteiMayek}', "");
-Expect(0, 43967, '\P{^Blk=_ MeeteiMayek}', "");
-Error('\p{Is_Block=:=MEETEI Mayek}');
-Error('\P{Is_Block=:=MEETEI Mayek}');
-Expect(1, 44031, '\p{Is_Block=meeteimayek}', "");
-Expect(0, 44031, '\p{^Is_Block=meeteimayek}', "");
-Expect(0, 44031, '\P{Is_Block=meeteimayek}', "");
-Expect(1, 44031, '\P{^Is_Block=meeteimayek}', "");
-Expect(0, 43967, '\p{Is_Block=meeteimayek}', "");
-Expect(1, 43967, '\p{^Is_Block=meeteimayek}', "");
-Expect(1, 43967, '\P{Is_Block=meeteimayek}', "");
-Expect(0, 43967, '\P{^Is_Block=meeteimayek}', "");
-Expect(1, 44031, '\p{Is_Block= Meetei mayek}', "");
-Expect(0, 44031, '\p{^Is_Block= Meetei mayek}', "");
-Expect(0, 44031, '\P{Is_Block= Meetei mayek}', "");
-Expect(1, 44031, '\P{^Is_Block= Meetei mayek}', "");
-Expect(0, 43967, '\p{Is_Block= Meetei mayek}', "");
-Expect(1, 43967, '\p{^Is_Block= Meetei mayek}', "");
-Expect(1, 43967, '\P{Is_Block= Meetei mayek}', "");
-Expect(0, 43967, '\P{^Is_Block= Meetei mayek}', "");
-Error('\p{Is_Blk: MEETEI mayek/a/}');
-Error('\P{Is_Blk: MEETEI mayek/a/}');
-Expect(1, 44031, '\p{Is_Blk=meeteimayek}', "");
-Expect(0, 44031, '\p{^Is_Blk=meeteimayek}', "");
-Expect(0, 44031, '\P{Is_Blk=meeteimayek}', "");
-Expect(1, 44031, '\P{^Is_Blk=meeteimayek}', "");
-Expect(0, 43967, '\p{Is_Blk=meeteimayek}', "");
-Expect(1, 43967, '\p{^Is_Blk=meeteimayek}', "");
-Expect(1, 43967, '\P{Is_Blk=meeteimayek}', "");
-Expect(0, 43967, '\P{^Is_Blk=meeteimayek}', "");
-Expect(1, 44031, '\p{Is_Blk=- meetei-mayek}', "");
-Expect(0, 44031, '\p{^Is_Blk=- meetei-mayek}', "");
-Expect(0, 44031, '\P{Is_Blk=- meetei-mayek}', "");
-Expect(1, 44031, '\P{^Is_Blk=- meetei-mayek}', "");
-Expect(0, 43967, '\p{Is_Blk=- meetei-mayek}', "");
-Expect(1, 43967, '\p{^Is_Blk=- meetei-mayek}', "");
-Expect(1, 43967, '\P{Is_Blk=- meetei-mayek}', "");
-Expect(0, 43967, '\P{^Is_Blk=- meetei-mayek}', "");
-Error('\p{Block= :=Supplemental mathematical-OPERATORS}');
-Error('\P{Block= :=Supplemental mathematical-OPERATORS}');
-Expect(1, 11007, '\p{Block:supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^Block:supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{Block:supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^Block:supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{Block:supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^Block:supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{Block:supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^Block:supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(0, 11007, '\p{^Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(0, 11007, '\P{Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(1, 11007, '\P{^Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(0, 10751, '\p{Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(1, 10751, '\p{^Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(1, 10751, '\P{Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Expect(0, 10751, '\P{^Block= SUPPLEMENTAL-MATHEMATICAL operators}', "");
-Error('\p{Blk=_:=SUPPLEMENTALMathematicalOPERATORS}');
-Error('\P{Blk=_:=SUPPLEMENTALMathematicalOPERATORS}');
-Expect(1, 11007, '\p{Blk=supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^Blk=supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{Blk=supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^Blk=supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{Blk=supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^Blk=supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{Blk=supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^Blk=supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(0, 11007, '\p{^Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(0, 11007, '\P{Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(1, 11007, '\P{^Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(0, 10751, '\p{Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(1, 10751, '\p{^Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(1, 10751, '\P{Blk=--Supplemental-Mathematicaloperators}', "");
-Expect(0, 10751, '\P{^Blk=--Supplemental-Mathematicaloperators}', "");
-Error('\p{Is_Block=__Supplemental/a/Mathematical-Operators}');
-Error('\P{Is_Block=__Supplemental/a/Mathematical-Operators}');
-Expect(1, 11007, '\p{Is_Block=supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^Is_Block=supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{Is_Block=supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^Is_Block=supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{Is_Block=supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^Is_Block=supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{Is_Block=supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^Is_Block=supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(0, 11007, '\p{^Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(0, 11007, '\P{Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(1, 11007, '\P{^Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(0, 10751, '\p{Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(1, 10751, '\p{^Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(1, 10751, '\P{Is_Block=_ supplemental_Mathematical-operators}', "");
-Expect(0, 10751, '\P{^Is_Block=_ supplemental_Mathematical-operators}', "");
-Error('\p{Is_Blk= SUPPLEMENTAL:=Mathematical_Operators}');
-Error('\P{Is_Blk= SUPPLEMENTAL:=Mathematical_Operators}');
-Expect(1, 11007, '\p{Is_Blk=supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^Is_Blk=supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{Is_Blk=supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^Is_Blk=supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{Is_Blk=supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^Is_Blk=supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{Is_Blk=supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^Is_Blk=supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(0, 11007, '\p{^Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(0, 11007, '\P{Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(1, 11007, '\P{^Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(0, 10751, '\p{Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(1, 10751, '\p{^Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(1, 10751, '\P{Is_Blk: supplemental_Mathematical Operators}', "");
-Expect(0, 10751, '\P{^Is_Blk: supplemental_Mathematical Operators}', "");
-Error('\p{Block=:= Shavian}');
-Error('\P{Block=:= Shavian}');
-Expect(1, 66687, '\p{Block: shavian}', "");
-Expect(0, 66687, '\p{^Block: shavian}', "");
-Expect(0, 66687, '\P{Block: shavian}', "");
-Expect(1, 66687, '\P{^Block: shavian}', "");
-Expect(0, 66639, '\p{Block: shavian}', "");
-Expect(1, 66639, '\p{^Block: shavian}', "");
-Expect(1, 66639, '\P{Block: shavian}', "");
-Expect(0, 66639, '\P{^Block: shavian}', "");
-Expect(1, 66687, '\p{Block= Shavian}', "");
-Expect(0, 66687, '\p{^Block= Shavian}', "");
-Expect(0, 66687, '\P{Block= Shavian}', "");
-Expect(1, 66687, '\P{^Block= Shavian}', "");
-Expect(0, 66639, '\p{Block= Shavian}', "");
-Expect(1, 66639, '\p{^Block= Shavian}', "");
-Expect(1, 66639, '\P{Block= Shavian}', "");
-Expect(0, 66639, '\P{^Block= Shavian}', "");
-Error('\p{Blk= shavian:=}');
-Error('\P{Blk= shavian:=}');
-Expect(1, 66687, '\p{Blk=shavian}', "");
-Expect(0, 66687, '\p{^Blk=shavian}', "");
-Expect(0, 66687, '\P{Blk=shavian}', "");
-Expect(1, 66687, '\P{^Blk=shavian}', "");
-Expect(0, 66639, '\p{Blk=shavian}', "");
-Expect(1, 66639, '\p{^Blk=shavian}', "");
-Expect(1, 66639, '\P{Blk=shavian}', "");
-Expect(0, 66639, '\P{^Blk=shavian}', "");
-Expect(1, 66687, '\p{Blk: -shavian}', "");
-Expect(0, 66687, '\p{^Blk: -shavian}', "");
-Expect(0, 66687, '\P{Blk: -shavian}', "");
-Expect(1, 66687, '\P{^Blk: -shavian}', "");
-Expect(0, 66639, '\p{Blk: -shavian}', "");
-Expect(1, 66639, '\p{^Blk: -shavian}', "");
-Expect(1, 66639, '\P{Blk: -shavian}', "");
-Expect(0, 66639, '\P{^Blk: -shavian}', "");
-Error('\p{Is_Block: /a/Shavian}');
-Error('\P{Is_Block: /a/Shavian}');
-Expect(1, 66687, '\p{Is_Block: shavian}', "");
-Expect(0, 66687, '\p{^Is_Block: shavian}', "");
-Expect(0, 66687, '\P{Is_Block: shavian}', "");
-Expect(1, 66687, '\P{^Is_Block: shavian}', "");
-Expect(0, 66639, '\p{Is_Block: shavian}', "");
-Expect(1, 66639, '\p{^Is_Block: shavian}', "");
-Expect(1, 66639, '\P{Is_Block: shavian}', "");
-Expect(0, 66639, '\P{^Is_Block: shavian}', "");
-Expect(1, 66687, '\p{Is_Block= SHAVIAN}', "");
-Expect(0, 66687, '\p{^Is_Block= SHAVIAN}', "");
-Expect(0, 66687, '\P{Is_Block= SHAVIAN}', "");
-Expect(1, 66687, '\P{^Is_Block= SHAVIAN}', "");
-Expect(0, 66639, '\p{Is_Block= SHAVIAN}', "");
-Expect(1, 66639, '\p{^Is_Block= SHAVIAN}', "");
-Expect(1, 66639, '\P{Is_Block= SHAVIAN}', "");
-Expect(0, 66639, '\P{^Is_Block= SHAVIAN}', "");
-Error('\p{Is_Blk: :=Shavian}');
-Error('\P{Is_Blk: :=Shavian}');
-Expect(1, 66687, '\p{Is_Blk=shavian}', "");
-Expect(0, 66687, '\p{^Is_Blk=shavian}', "");
-Expect(0, 66687, '\P{Is_Blk=shavian}', "");
-Expect(1, 66687, '\P{^Is_Blk=shavian}', "");
-Expect(0, 66639, '\p{Is_Blk=shavian}', "");
-Expect(1, 66639, '\p{^Is_Blk=shavian}', "");
-Expect(1, 66639, '\P{Is_Blk=shavian}', "");
-Expect(0, 66639, '\P{^Is_Blk=shavian}', "");
-Expect(1, 66687, '\p{Is_Blk=_shavian}', "");
-Expect(0, 66687, '\p{^Is_Blk=_shavian}', "");
-Expect(0, 66687, '\P{Is_Blk=_shavian}', "");
-Expect(1, 66687, '\P{^Is_Blk=_shavian}', "");
-Expect(0, 66639, '\p{Is_Blk=_shavian}', "");
-Expect(1, 66639, '\p{^Is_Blk=_shavian}', "");
-Expect(1, 66639, '\P{Is_Blk=_shavian}', "");
-Expect(0, 66639, '\P{^Is_Blk=_shavian}', "");
-Error('\p{Block=:= Lydian}');
-Error('\P{Block=:= Lydian}');
-Expect(1, 67903, '\p{Block=lydian}', "");
-Expect(0, 67903, '\p{^Block=lydian}', "");
-Expect(0, 67903, '\P{Block=lydian}', "");
-Expect(1, 67903, '\P{^Block=lydian}', "");
-Expect(0, 67871, '\p{Block=lydian}', "");
-Expect(1, 67871, '\p{^Block=lydian}', "");
-Expect(1, 67871, '\P{Block=lydian}', "");
-Expect(0, 67871, '\P{^Block=lydian}', "");
-Expect(1, 67903, '\p{Block= lydian}', "");
-Expect(0, 67903, '\p{^Block= lydian}', "");
-Expect(0, 67903, '\P{Block= lydian}', "");
-Expect(1, 67903, '\P{^Block= lydian}', "");
-Expect(0, 67871, '\p{Block= lydian}', "");
-Expect(1, 67871, '\p{^Block= lydian}', "");
-Expect(1, 67871, '\P{Block= lydian}', "");
-Expect(0, 67871, '\P{^Block= lydian}', "");
-Error('\p{Blk=-:=lydian}');
-Error('\P{Blk=-:=lydian}');
-Expect(1, 67903, '\p{Blk: lydian}', "");
-Expect(0, 67903, '\p{^Blk: lydian}', "");
-Expect(0, 67903, '\P{Blk: lydian}', "");
-Expect(1, 67903, '\P{^Blk: lydian}', "");
-Expect(0, 67871, '\p{Blk: lydian}', "");
-Expect(1, 67871, '\p{^Blk: lydian}', "");
-Expect(1, 67871, '\P{Blk: lydian}', "");
-Expect(0, 67871, '\P{^Blk: lydian}', "");
-Expect(1, 67903, '\p{Blk= lydian}', "");
-Expect(0, 67903, '\p{^Blk= lydian}', "");
-Expect(0, 67903, '\P{Blk= lydian}', "");
-Expect(1, 67903, '\P{^Blk= lydian}', "");
-Expect(0, 67871, '\p{Blk= lydian}', "");
-Expect(1, 67871, '\p{^Blk= lydian}', "");
-Expect(1, 67871, '\P{Blk= lydian}', "");
-Expect(0, 67871, '\P{^Blk= lydian}', "");
-Error('\p{Is_Block=-/a/Lydian}');
-Error('\P{Is_Block=-/a/Lydian}');
-Expect(1, 67903, '\p{Is_Block=lydian}', "");
-Expect(0, 67903, '\p{^Is_Block=lydian}', "");
-Expect(0, 67903, '\P{Is_Block=lydian}', "");
-Expect(1, 67903, '\P{^Is_Block=lydian}', "");
-Expect(0, 67871, '\p{Is_Block=lydian}', "");
-Expect(1, 67871, '\p{^Is_Block=lydian}', "");
-Expect(1, 67871, '\P{Is_Block=lydian}', "");
-Expect(0, 67871, '\P{^Is_Block=lydian}', "");
-Expect(1, 67903, '\p{Is_Block=_ Lydian}', "");
-Expect(0, 67903, '\p{^Is_Block=_ Lydian}', "");
-Expect(0, 67903, '\P{Is_Block=_ Lydian}', "");
-Expect(1, 67903, '\P{^Is_Block=_ Lydian}', "");
-Expect(0, 67871, '\p{Is_Block=_ Lydian}', "");
-Expect(1, 67871, '\p{^Is_Block=_ Lydian}', "");
-Expect(1, 67871, '\P{Is_Block=_ Lydian}', "");
-Expect(0, 67871, '\P{^Is_Block=_ Lydian}', "");
-Error('\p{Is_Blk=-/a/Lydian}');
-Error('\P{Is_Blk=-/a/Lydian}');
-Expect(1, 67903, '\p{Is_Blk=lydian}', "");
-Expect(0, 67903, '\p{^Is_Blk=lydian}', "");
-Expect(0, 67903, '\P{Is_Blk=lydian}', "");
-Expect(1, 67903, '\P{^Is_Blk=lydian}', "");
-Expect(0, 67871, '\p{Is_Blk=lydian}', "");
-Expect(1, 67871, '\p{^Is_Blk=lydian}', "");
-Expect(1, 67871, '\P{Is_Blk=lydian}', "");
-Expect(0, 67871, '\P{^Is_Blk=lydian}', "");
-Expect(1, 67903, '\p{Is_Blk= -LYDIAN}', "");
-Expect(0, 67903, '\p{^Is_Blk= -LYDIAN}', "");
-Expect(0, 67903, '\P{Is_Blk= -LYDIAN}', "");
-Expect(1, 67903, '\P{^Is_Blk= -LYDIAN}', "");
-Expect(0, 67871, '\p{Is_Blk= -LYDIAN}', "");
-Expect(1, 67871, '\p{^Is_Blk= -LYDIAN}', "");
-Expect(1, 67871, '\P{Is_Blk= -LYDIAN}', "");
-Expect(0, 67871, '\P{^Is_Blk= -LYDIAN}', "");
-Error('\p{Block= cjkUnifiedIdeographs:=ExtensionC}');
-Error('\P{Block= cjkUnifiedIdeographs:=ExtensionC}');
-Expect(1, 177983, '\p{Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(0, 177983, '\p{^Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(0, 177983, '\P{Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(1, 177983, '\P{^Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(0, 173823, '\p{Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(1, 173823, '\p{^Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(1, 173823, '\P{Block=_CJK Unified ideographs EXTENSION C}', "");
-Expect(0, 173823, '\P{^Block=_CJK Unified ideographs EXTENSION C}', "");
-Error('\p{Blk= CJK Unified_IDEOGRAPHS-Extension_c:=}');
-Error('\P{Blk= CJK Unified_IDEOGRAPHS-Extension_c:=}');
-Expect(1, 177983, '\p{Blk=cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^Blk=cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{Blk=cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^Blk=cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{Blk=cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^Blk=cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{Blk=cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^Blk=cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(0, 177983, '\p{^Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(0, 177983, '\P{Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(1, 177983, '\P{^Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(0, 173823, '\p{Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(1, 173823, '\p{^Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(1, 173823, '\P{Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Expect(0, 173823, '\P{^Blk= _cjk UNIFIED Ideographs_Extension-C}', "");
-Error('\p{Is_Block=:= cjk unified_Ideographs-extension_C}');
-Error('\P{Is_Block=:= cjk unified_Ideographs-extension_C}');
-Expect(1, 177983, '\p{Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^Is_Block=cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(0, 177983, '\p{^Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(0, 177983, '\P{Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(1, 177983, '\P{^Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(0, 173823, '\p{Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(1, 173823, '\p{^Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(1, 173823, '\P{Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Expect(0, 173823, '\P{^Is_Block: CJK UNIFIED-ideographs-Extension-c}', "");
-Error('\p{Is_Blk=--CJK:=Unified_ideographs Extension_C}');
-Error('\P{Is_Blk=--CJK:=Unified_ideographs Extension_C}');
-Expect(1, 177983, '\p{Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^Is_Blk: cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(0, 177983, '\p{^Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(0, 177983, '\P{Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(1, 177983, '\P{^Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(0, 173823, '\p{Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(1, 173823, '\p{^Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(1, 173823, '\P{Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Expect(0, 173823, '\P{^Is_Blk=_ CJK_UnifiedideographsExtension_c}', "");
-Error('\p{Block: Mongolian:=}');
-Error('\P{Block: Mongolian:=}');
-Expect(1, 6319, '\p{Block=mongolian}', "");
-Expect(0, 6319, '\p{^Block=mongolian}', "");
-Expect(0, 6319, '\P{Block=mongolian}', "");
-Expect(1, 6319, '\P{^Block=mongolian}', "");
-Expect(0, 6143, '\p{Block=mongolian}', "");
-Expect(1, 6143, '\p{^Block=mongolian}', "");
-Expect(1, 6143, '\P{Block=mongolian}', "");
-Expect(0, 6143, '\P{^Block=mongolian}', "");
-Expect(1, 6319, '\p{Block=_Mongolian}', "");
-Expect(0, 6319, '\p{^Block=_Mongolian}', "");
-Expect(0, 6319, '\P{Block=_Mongolian}', "");
-Expect(1, 6319, '\P{^Block=_Mongolian}', "");
-Expect(0, 6143, '\p{Block=_Mongolian}', "");
-Expect(1, 6143, '\p{^Block=_Mongolian}', "");
-Expect(1, 6143, '\P{Block=_Mongolian}', "");
-Expect(0, 6143, '\P{^Block=_Mongolian}', "");
-Error('\p{Blk=:=Mongolian}');
-Error('\P{Blk=:=Mongolian}');
-Expect(1, 6319, '\p{Blk: mongolian}', "");
-Expect(0, 6319, '\p{^Blk: mongolian}', "");
-Expect(0, 6319, '\P{Blk: mongolian}', "");
-Expect(1, 6319, '\P{^Blk: mongolian}', "");
-Expect(0, 6143, '\p{Blk: mongolian}', "");
-Expect(1, 6143, '\p{^Blk: mongolian}', "");
-Expect(1, 6143, '\P{Blk: mongolian}', "");
-Expect(0, 6143, '\P{^Blk: mongolian}', "");
-Expect(1, 6319, '\p{Blk= MONGOLIAN}', "");
-Expect(0, 6319, '\p{^Blk= MONGOLIAN}', "");
-Expect(0, 6319, '\P{Blk= MONGOLIAN}', "");
-Expect(1, 6319, '\P{^Blk= MONGOLIAN}', "");
-Expect(0, 6143, '\p{Blk= MONGOLIAN}', "");
-Expect(1, 6143, '\p{^Blk= MONGOLIAN}', "");
-Expect(1, 6143, '\P{Blk= MONGOLIAN}', "");
-Expect(0, 6143, '\P{^Blk= MONGOLIAN}', "");
-Error('\p{Is_Block=/a/ _Mongolian}');
-Error('\P{Is_Block=/a/ _Mongolian}');
-Expect(1, 6319, '\p{Is_Block=mongolian}', "");
-Expect(0, 6319, '\p{^Is_Block=mongolian}', "");
-Expect(0, 6319, '\P{Is_Block=mongolian}', "");
-Expect(1, 6319, '\P{^Is_Block=mongolian}', "");
-Expect(0, 6143, '\p{Is_Block=mongolian}', "");
-Expect(1, 6143, '\p{^Is_Block=mongolian}', "");
-Expect(1, 6143, '\P{Is_Block=mongolian}', "");
-Expect(0, 6143, '\P{^Is_Block=mongolian}', "");
-Expect(1, 6319, '\p{Is_Block=-_mongolian}', "");
-Expect(0, 6319, '\p{^Is_Block=-_mongolian}', "");
-Expect(0, 6319, '\P{Is_Block=-_mongolian}', "");
-Expect(1, 6319, '\P{^Is_Block=-_mongolian}', "");
-Expect(0, 6143, '\p{Is_Block=-_mongolian}', "");
-Expect(1, 6143, '\p{^Is_Block=-_mongolian}', "");
-Expect(1, 6143, '\P{Is_Block=-_mongolian}', "");
-Expect(0, 6143, '\P{^Is_Block=-_mongolian}', "");
-Error('\p{Is_Blk=:= -mongolian}');
-Error('\P{Is_Blk=:= -mongolian}');
-Expect(1, 6319, '\p{Is_Blk=mongolian}', "");
-Expect(0, 6319, '\p{^Is_Blk=mongolian}', "");
-Expect(0, 6319, '\P{Is_Blk=mongolian}', "");
-Expect(1, 6319, '\P{^Is_Blk=mongolian}', "");
-Expect(0, 6143, '\p{Is_Blk=mongolian}', "");
-Expect(1, 6143, '\p{^Is_Blk=mongolian}', "");
-Expect(1, 6143, '\P{Is_Blk=mongolian}', "");
-Expect(0, 6143, '\P{^Is_Blk=mongolian}', "");
-Expect(1, 6319, '\p{Is_Blk= MONGOLIAN}', "");
-Expect(0, 6319, '\p{^Is_Blk= MONGOLIAN}', "");
-Expect(0, 6319, '\P{Is_Blk= MONGOLIAN}', "");
-Expect(1, 6319, '\P{^Is_Blk= MONGOLIAN}', "");
-Expect(0, 6143, '\p{Is_Blk= MONGOLIAN}', "");
-Expect(1, 6143, '\p{^Is_Blk= MONGOLIAN}', "");
-Expect(1, 6143, '\P{Is_Blk= MONGOLIAN}', "");
-Expect(0, 6143, '\P{^Is_Blk= MONGOLIAN}', "");
-Error('\p{Block=/a/ Lao}');
-Error('\P{Block=/a/ Lao}');
-Expect(1, 3839, '\p{Block=lao}', "");
-Expect(0, 3839, '\p{^Block=lao}', "");
-Expect(0, 3839, '\P{Block=lao}', "");
-Expect(1, 3839, '\P{^Block=lao}', "");
-Expect(0, 3711, '\p{Block=lao}', "");
-Expect(1, 3711, '\p{^Block=lao}', "");
-Expect(1, 3711, '\P{Block=lao}', "");
-Expect(0, 3711, '\P{^Block=lao}', "");
-Expect(1, 3839, '\p{Block= Lao}', "");
-Expect(0, 3839, '\p{^Block= Lao}', "");
-Expect(0, 3839, '\P{Block= Lao}', "");
-Expect(1, 3839, '\P{^Block= Lao}', "");
-Expect(0, 3711, '\p{Block= Lao}', "");
-Expect(1, 3711, '\p{^Block= Lao}', "");
-Expect(1, 3711, '\P{Block= Lao}', "");
-Expect(0, 3711, '\P{^Block= Lao}', "");
-Error('\p{Blk=/a/ lao}');
-Error('\P{Blk=/a/ lao}');
-Expect(1, 3839, '\p{Blk: lao}', "");
-Expect(0, 3839, '\p{^Blk: lao}', "");
-Expect(0, 3839, '\P{Blk: lao}', "");
-Expect(1, 3839, '\P{^Blk: lao}', "");
-Expect(0, 3711, '\p{Blk: lao}', "");
-Expect(1, 3711, '\p{^Blk: lao}', "");
-Expect(1, 3711, '\P{Blk: lao}', "");
-Expect(0, 3711, '\P{^Blk: lao}', "");
-Expect(1, 3839, '\p{Blk=- LAO}', "");
-Expect(0, 3839, '\p{^Blk=- LAO}', "");
-Expect(0, 3839, '\P{Blk=- LAO}', "");
-Expect(1, 3839, '\P{^Blk=- LAO}', "");
-Expect(0, 3711, '\p{Blk=- LAO}', "");
-Expect(1, 3711, '\p{^Blk=- LAO}', "");
-Expect(1, 3711, '\P{Blk=- LAO}', "");
-Expect(0, 3711, '\P{^Blk=- LAO}', "");
-Error('\p{Is_Block=:= -lao}');
-Error('\P{Is_Block=:= -lao}');
-Expect(1, 3839, '\p{Is_Block=lao}', "");
-Expect(0, 3839, '\p{^Is_Block=lao}', "");
-Expect(0, 3839, '\P{Is_Block=lao}', "");
-Expect(1, 3839, '\P{^Is_Block=lao}', "");
-Expect(0, 3711, '\p{Is_Block=lao}', "");
-Expect(1, 3711, '\p{^Is_Block=lao}', "");
-Expect(1, 3711, '\P{Is_Block=lao}', "");
-Expect(0, 3711, '\P{^Is_Block=lao}', "");
-Expect(1, 3839, '\p{Is_Block= lao}', "");
-Expect(0, 3839, '\p{^Is_Block= lao}', "");
-Expect(0, 3839, '\P{Is_Block= lao}', "");
-Expect(1, 3839, '\P{^Is_Block= lao}', "");
-Expect(0, 3711, '\p{Is_Block= lao}', "");
-Expect(1, 3711, '\p{^Is_Block= lao}', "");
-Expect(1, 3711, '\P{Is_Block= lao}', "");
-Expect(0, 3711, '\P{^Is_Block= lao}', "");
-Error('\p{Is_Blk=/a/_Lao}');
-Error('\P{Is_Blk=/a/_Lao}');
-Expect(1, 3839, '\p{Is_Blk: lao}', "");
-Expect(0, 3839, '\p{^Is_Blk: lao}', "");
-Expect(0, 3839, '\P{Is_Blk: lao}', "");
-Expect(1, 3839, '\P{^Is_Blk: lao}', "");
-Expect(0, 3711, '\p{Is_Blk: lao}', "");
-Expect(1, 3711, '\p{^Is_Blk: lao}', "");
-Expect(1, 3711, '\P{Is_Blk: lao}', "");
-Expect(0, 3711, '\P{^Is_Blk: lao}', "");
-Expect(1, 3839, '\p{Is_Blk=- Lao}', "");
-Expect(0, 3839, '\p{^Is_Blk=- Lao}', "");
-Expect(0, 3839, '\P{Is_Blk=- Lao}', "");
-Expect(1, 3839, '\P{^Is_Blk=- Lao}', "");
-Expect(0, 3711, '\p{Is_Blk=- Lao}', "");
-Expect(1, 3711, '\p{^Is_Blk=- Lao}', "");
-Expect(1, 3711, '\P{Is_Blk=- Lao}', "");
-Expect(0, 3711, '\P{^Is_Blk=- Lao}', "");
-Error('\p{Block=/a/ _Hiragana}');
-Error('\P{Block=/a/ _Hiragana}');
-Expect(1, 12447, '\p{Block=hiragana}', "");
-Expect(0, 12447, '\p{^Block=hiragana}', "");
-Expect(0, 12447, '\P{Block=hiragana}', "");
-Expect(1, 12447, '\P{^Block=hiragana}', "");
-Expect(0, 12351, '\p{Block=hiragana}', "");
-Expect(1, 12351, '\p{^Block=hiragana}', "");
-Expect(1, 12351, '\P{Block=hiragana}', "");
-Expect(0, 12351, '\P{^Block=hiragana}', "");
-Expect(1, 12447, '\p{Block=_HIRAGANA}', "");
-Expect(0, 12447, '\p{^Block=_HIRAGANA}', "");
-Expect(0, 12447, '\P{Block=_HIRAGANA}', "");
-Expect(1, 12447, '\P{^Block=_HIRAGANA}', "");
-Expect(0, 12351, '\p{Block=_HIRAGANA}', "");
-Expect(1, 12351, '\p{^Block=_HIRAGANA}', "");
-Expect(1, 12351, '\P{Block=_HIRAGANA}', "");
-Expect(0, 12351, '\P{^Block=_HIRAGANA}', "");
-Error('\p{Blk=:=_ hiragana}');
-Error('\P{Blk=:=_ hiragana}');
-Expect(1, 12447, '\p{Blk: hiragana}', "");
-Expect(0, 12447, '\p{^Blk: hiragana}', "");
-Expect(0, 12447, '\P{Blk: hiragana}', "");
-Expect(1, 12447, '\P{^Blk: hiragana}', "");
-Expect(0, 12351, '\p{Blk: hiragana}', "");
-Expect(1, 12351, '\p{^Blk: hiragana}', "");
-Expect(1, 12351, '\P{Blk: hiragana}', "");
-Expect(0, 12351, '\P{^Blk: hiragana}', "");
-Expect(1, 12447, '\p{Blk= Hiragana}', "");
-Expect(0, 12447, '\p{^Blk= Hiragana}', "");
-Expect(0, 12447, '\P{Blk= Hiragana}', "");
-Expect(1, 12447, '\P{^Blk= Hiragana}', "");
-Expect(0, 12351, '\p{Blk= Hiragana}', "");
-Expect(1, 12351, '\p{^Blk= Hiragana}', "");
-Expect(1, 12351, '\P{Blk= Hiragana}', "");
-Expect(0, 12351, '\P{^Blk= Hiragana}', "");
-Error('\p{Is_Block=:= HIRAGANA}');
-Error('\P{Is_Block=:= HIRAGANA}');
-Expect(1, 12447, '\p{Is_Block: hiragana}', "");
-Expect(0, 12447, '\p{^Is_Block: hiragana}', "");
-Expect(0, 12447, '\P{Is_Block: hiragana}', "");
-Expect(1, 12447, '\P{^Is_Block: hiragana}', "");
-Expect(0, 12351, '\p{Is_Block: hiragana}', "");
-Expect(1, 12351, '\p{^Is_Block: hiragana}', "");
-Expect(1, 12351, '\P{Is_Block: hiragana}', "");
-Expect(0, 12351, '\P{^Is_Block: hiragana}', "");
-Expect(1, 12447, '\p{Is_Block=-_Hiragana}', "");
-Expect(0, 12447, '\p{^Is_Block=-_Hiragana}', "");
-Expect(0, 12447, '\P{Is_Block=-_Hiragana}', "");
-Expect(1, 12447, '\P{^Is_Block=-_Hiragana}', "");
-Expect(0, 12351, '\p{Is_Block=-_Hiragana}', "");
-Expect(1, 12351, '\p{^Is_Block=-_Hiragana}', "");
-Expect(1, 12351, '\P{Is_Block=-_Hiragana}', "");
-Expect(0, 12351, '\P{^Is_Block=-_Hiragana}', "");
-Error('\p{Is_Blk: -:=hiragana}');
-Error('\P{Is_Blk: -:=hiragana}');
-Expect(1, 12447, '\p{Is_Blk=hiragana}', "");
-Expect(0, 12447, '\p{^Is_Blk=hiragana}', "");
-Expect(0, 12447, '\P{Is_Blk=hiragana}', "");
-Expect(1, 12447, '\P{^Is_Blk=hiragana}', "");
-Expect(0, 12351, '\p{Is_Blk=hiragana}', "");
-Expect(1, 12351, '\p{^Is_Blk=hiragana}', "");
-Expect(1, 12351, '\P{Is_Blk=hiragana}', "");
-Expect(0, 12351, '\P{^Is_Blk=hiragana}', "");
-Expect(1, 12447, '\p{Is_Blk= Hiragana}', "");
-Expect(0, 12447, '\p{^Is_Blk= Hiragana}', "");
-Expect(0, 12447, '\P{Is_Blk= Hiragana}', "");
-Expect(1, 12447, '\P{^Is_Blk= Hiragana}', "");
-Expect(0, 12351, '\p{Is_Blk= Hiragana}', "");
-Expect(1, 12351, '\p{^Is_Blk= Hiragana}', "");
-Expect(1, 12351, '\P{Is_Blk= Hiragana}', "");
-Expect(0, 12351, '\P{^Is_Blk= Hiragana}', "");
-Error('\p{Block=-LEPCHA/a/}');
-Error('\P{Block=-LEPCHA/a/}');
-Expect(1, 7247, '\p{Block=lepcha}', "");
-Expect(0, 7247, '\p{^Block=lepcha}', "");
-Expect(0, 7247, '\P{Block=lepcha}', "");
-Expect(1, 7247, '\P{^Block=lepcha}', "");
-Expect(0, 7167, '\p{Block=lepcha}', "");
-Expect(1, 7167, '\p{^Block=lepcha}', "");
-Expect(1, 7167, '\P{Block=lepcha}', "");
-Expect(0, 7167, '\P{^Block=lepcha}', "");
-Expect(1, 7247, '\p{Block= _lepcha}', "");
-Expect(0, 7247, '\p{^Block= _lepcha}', "");
-Expect(0, 7247, '\P{Block= _lepcha}', "");
-Expect(1, 7247, '\P{^Block= _lepcha}', "");
-Expect(0, 7167, '\p{Block= _lepcha}', "");
-Expect(1, 7167, '\p{^Block= _lepcha}', "");
-Expect(1, 7167, '\P{Block= _lepcha}', "");
-Expect(0, 7167, '\P{^Block= _lepcha}', "");
-Error('\p{Blk=/a/_ lepcha}');
-Error('\P{Blk=/a/_ lepcha}');
-Expect(1, 7247, '\p{Blk=lepcha}', "");
-Expect(0, 7247, '\p{^Blk=lepcha}', "");
-Expect(0, 7247, '\P{Blk=lepcha}', "");
-Expect(1, 7247, '\P{^Blk=lepcha}', "");
-Expect(0, 7167, '\p{Blk=lepcha}', "");
-Expect(1, 7167, '\p{^Blk=lepcha}', "");
-Expect(1, 7167, '\P{Blk=lepcha}', "");
-Expect(0, 7167, '\P{^Blk=lepcha}', "");
-Expect(1, 7247, '\p{Blk=-Lepcha}', "");
-Expect(0, 7247, '\p{^Blk=-Lepcha}', "");
-Expect(0, 7247, '\P{Blk=-Lepcha}', "");
-Expect(1, 7247, '\P{^Blk=-Lepcha}', "");
-Expect(0, 7167, '\p{Blk=-Lepcha}', "");
-Expect(1, 7167, '\p{^Blk=-Lepcha}', "");
-Expect(1, 7167, '\P{Blk=-Lepcha}', "");
-Expect(0, 7167, '\P{^Blk=-Lepcha}', "");
-Error('\p{Is_Block= _Lepcha:=}');
-Error('\P{Is_Block= _Lepcha:=}');
-Expect(1, 7247, '\p{Is_Block=lepcha}', "");
-Expect(0, 7247, '\p{^Is_Block=lepcha}', "");
-Expect(0, 7247, '\P{Is_Block=lepcha}', "");
-Expect(1, 7247, '\P{^Is_Block=lepcha}', "");
-Expect(0, 7167, '\p{Is_Block=lepcha}', "");
-Expect(1, 7167, '\p{^Is_Block=lepcha}', "");
-Expect(1, 7167, '\P{Is_Block=lepcha}', "");
-Expect(0, 7167, '\P{^Is_Block=lepcha}', "");
-Expect(1, 7247, '\p{Is_Block=-_Lepcha}', "");
-Expect(0, 7247, '\p{^Is_Block=-_Lepcha}', "");
-Expect(0, 7247, '\P{Is_Block=-_Lepcha}', "");
-Expect(1, 7247, '\P{^Is_Block=-_Lepcha}', "");
-Expect(0, 7167, '\p{Is_Block=-_Lepcha}', "");
-Expect(1, 7167, '\p{^Is_Block=-_Lepcha}', "");
-Expect(1, 7167, '\P{Is_Block=-_Lepcha}', "");
-Expect(0, 7167, '\P{^Is_Block=-_Lepcha}', "");
-Error('\p{Is_Blk=-:=LEPCHA}');
-Error('\P{Is_Blk=-:=LEPCHA}');
-Expect(1, 7247, '\p{Is_Blk:lepcha}', "");
-Expect(0, 7247, '\p{^Is_Blk:lepcha}', "");
-Expect(0, 7247, '\P{Is_Blk:lepcha}', "");
-Expect(1, 7247, '\P{^Is_Blk:lepcha}', "");
-Expect(0, 7167, '\p{Is_Blk:lepcha}', "");
-Expect(1, 7167, '\p{^Is_Blk:lepcha}', "");
-Expect(1, 7167, '\P{Is_Blk:lepcha}', "");
-Expect(0, 7167, '\P{^Is_Blk:lepcha}', "");
-Expect(1, 7247, '\p{Is_Blk=- lepcha}', "");
-Expect(0, 7247, '\p{^Is_Blk=- lepcha}', "");
-Expect(0, 7247, '\P{Is_Blk=- lepcha}', "");
-Expect(1, 7247, '\P{^Is_Blk=- lepcha}', "");
-Expect(0, 7167, '\p{Is_Blk=- lepcha}', "");
-Expect(1, 7167, '\p{^Is_Blk=- lepcha}', "");
-Expect(1, 7167, '\P{Is_Blk=- lepcha}', "");
-Expect(0, 7167, '\P{^Is_Blk=- lepcha}', "");
-Error('\p{Block=_ Syloti-nagri/a/}');
-Error('\P{Block=_ Syloti-nagri/a/}');
-Expect(1, 43055, '\p{Block=sylotinagri}', "");
-Expect(0, 43055, '\p{^Block=sylotinagri}', "");
-Expect(0, 43055, '\P{Block=sylotinagri}', "");
-Expect(1, 43055, '\P{^Block=sylotinagri}', "");
-Expect(0, 43007, '\p{Block=sylotinagri}', "");
-Expect(1, 43007, '\p{^Block=sylotinagri}', "");
-Expect(1, 43007, '\P{Block=sylotinagri}', "");
-Expect(0, 43007, '\P{^Block=sylotinagri}', "");
-Expect(1, 43055, '\p{Block= syloti NAGRI}', "");
-Expect(0, 43055, '\p{^Block= syloti NAGRI}', "");
-Expect(0, 43055, '\P{Block= syloti NAGRI}', "");
-Expect(1, 43055, '\P{^Block= syloti NAGRI}', "");
-Expect(0, 43007, '\p{Block= syloti NAGRI}', "");
-Expect(1, 43007, '\p{^Block= syloti NAGRI}', "");
-Expect(1, 43007, '\P{Block= syloti NAGRI}', "");
-Expect(0, 43007, '\P{^Block= syloti NAGRI}', "");
-Error('\p{Blk=:= -Syloti_Nagri}');
-Error('\P{Blk=:= -Syloti_Nagri}');
-Expect(1, 43055, '\p{Blk=sylotinagri}', "");
-Expect(0, 43055, '\p{^Blk=sylotinagri}', "");
-Expect(0, 43055, '\P{Blk=sylotinagri}', "");
-Expect(1, 43055, '\P{^Blk=sylotinagri}', "");
-Expect(0, 43007, '\p{Blk=sylotinagri}', "");
-Expect(1, 43007, '\p{^Blk=sylotinagri}', "");
-Expect(1, 43007, '\P{Blk=sylotinagri}', "");
-Expect(0, 43007, '\P{^Blk=sylotinagri}', "");
-Expect(1, 43055, '\p{Blk= sylotiNagri}', "");
-Expect(0, 43055, '\p{^Blk= sylotiNagri}', "");
-Expect(0, 43055, '\P{Blk= sylotiNagri}', "");
-Expect(1, 43055, '\P{^Blk= sylotiNagri}', "");
-Expect(0, 43007, '\p{Blk= sylotiNagri}', "");
-Expect(1, 43007, '\p{^Blk= sylotiNagri}', "");
-Expect(1, 43007, '\P{Blk= sylotiNagri}', "");
-Expect(0, 43007, '\P{^Blk= sylotiNagri}', "");
-Error('\p{Is_Block= :=Syloti_Nagri}');
-Error('\P{Is_Block= :=Syloti_Nagri}');
-Expect(1, 43055, '\p{Is_Block: sylotinagri}', "");
-Expect(0, 43055, '\p{^Is_Block: sylotinagri}', "");
-Expect(0, 43055, '\P{Is_Block: sylotinagri}', "");
-Expect(1, 43055, '\P{^Is_Block: sylotinagri}', "");
-Expect(0, 43007, '\p{Is_Block: sylotinagri}', "");
-Expect(1, 43007, '\p{^Is_Block: sylotinagri}', "");
-Expect(1, 43007, '\P{Is_Block: sylotinagri}', "");
-Expect(0, 43007, '\P{^Is_Block: sylotinagri}', "");
-Expect(1, 43055, '\p{Is_Block=_ syloti_Nagri}', "");
-Expect(0, 43055, '\p{^Is_Block=_ syloti_Nagri}', "");
-Expect(0, 43055, '\P{Is_Block=_ syloti_Nagri}', "");
-Expect(1, 43055, '\P{^Is_Block=_ syloti_Nagri}', "");
-Expect(0, 43007, '\p{Is_Block=_ syloti_Nagri}', "");
-Expect(1, 43007, '\p{^Is_Block=_ syloti_Nagri}', "");
-Expect(1, 43007, '\P{Is_Block=_ syloti_Nagri}', "");
-Expect(0, 43007, '\P{^Is_Block=_ syloti_Nagri}', "");
-Error('\p{Is_Blk= SYLOTI Nagri/a/}');
-Error('\P{Is_Blk= SYLOTI Nagri/a/}');
-Expect(1, 43055, '\p{Is_Blk=sylotinagri}', "");
-Expect(0, 43055, '\p{^Is_Blk=sylotinagri}', "");
-Expect(0, 43055, '\P{Is_Blk=sylotinagri}', "");
-Expect(1, 43055, '\P{^Is_Blk=sylotinagri}', "");
-Expect(0, 43007, '\p{Is_Blk=sylotinagri}', "");
-Expect(1, 43007, '\p{^Is_Blk=sylotinagri}', "");
-Expect(1, 43007, '\P{Is_Blk=sylotinagri}', "");
-Expect(0, 43007, '\P{^Is_Blk=sylotinagri}', "");
-Expect(1, 43055, '\p{Is_Blk= -Sylotinagri}', "");
-Expect(0, 43055, '\p{^Is_Blk= -Sylotinagri}', "");
-Expect(0, 43055, '\P{Is_Blk= -Sylotinagri}', "");
-Expect(1, 43055, '\P{^Is_Blk= -Sylotinagri}', "");
-Expect(0, 43007, '\p{Is_Blk= -Sylotinagri}', "");
-Expect(1, 43007, '\p{^Is_Blk= -Sylotinagri}', "");
-Expect(1, 43007, '\P{Is_Blk= -Sylotinagri}', "");
-Expect(0, 43007, '\P{^Is_Blk= -Sylotinagri}', "");
-Error('\p{Block= COMBINING/a/DIACRITICAL marks FOR symbols}');
-Error('\P{Block= COMBINING/a/DIACRITICAL marks FOR symbols}');
-Expect(1, 8447, '\p{Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\p{^Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\P{Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\P{^Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\p{Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\p{^Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\P{Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\P{^Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\p{Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(0, 8447, '\p{^Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(0, 8447, '\P{Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(1, 8447, '\P{^Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(0, 8399, '\p{Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(1, 8399, '\p{^Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(1, 8399, '\P{Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Expect(0, 8399, '\P{^Block= combining DIACRITICAL Marks For-SYMBOLS}', "");
-Error('\p{Blk=-:=combiningmarks For SYMBOLS}');
-Error('\P{Blk=-:=combiningmarks For SYMBOLS}');
-Expect(1, 8447, '\p{Blk=combiningmarksforsymbols}', "");
-Expect(0, 8447, '\p{^Blk=combiningmarksforsymbols}', "");
-Expect(0, 8447, '\P{Blk=combiningmarksforsymbols}', "");
-Expect(1, 8447, '\P{^Blk=combiningmarksforsymbols}', "");
-Expect(0, 8399, '\p{Blk=combiningmarksforsymbols}', "");
-Expect(1, 8399, '\p{^Blk=combiningmarksforsymbols}', "");
-Expect(1, 8399, '\P{Blk=combiningmarksforsymbols}', "");
-Expect(0, 8399, '\P{^Blk=combiningmarksforsymbols}', "");
-Expect(1, 8447, '\p{Blk= Combining marks for_Symbols}', "");
-Expect(0, 8447, '\p{^Blk= Combining marks for_Symbols}', "");
-Expect(0, 8447, '\P{Blk= Combining marks for_Symbols}', "");
-Expect(1, 8447, '\P{^Blk= Combining marks for_Symbols}', "");
-Expect(0, 8399, '\p{Blk= Combining marks for_Symbols}', "");
-Expect(1, 8399, '\p{^Blk= Combining marks for_Symbols}', "");
-Expect(1, 8399, '\P{Blk= Combining marks for_Symbols}', "");
-Expect(0, 8399, '\P{^Blk= Combining marks for_Symbols}', "");
-Error('\p{Is_Block= :=combining_Diacritical marks For_symbols}');
-Error('\P{Is_Block= :=combining_Diacritical marks For_symbols}');
-Expect(1, 8447, '\p{Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\p{^Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\P{Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\P{^Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\p{Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\p{^Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\P{Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\P{^Is_Block=combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\p{Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(0, 8447, '\p{^Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(0, 8447, '\P{Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(1, 8447, '\P{^Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(0, 8399, '\p{Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(1, 8399, '\p{^Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(1, 8399, '\P{Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Expect(0, 8399, '\P{^Is_Block=Combiningdiacritical_Marks-For-symbols}', "");
-Error('\p{Is_Blk=_/a/Combining Marks-For Symbols}');
-Error('\P{Is_Blk=_/a/Combining Marks-For Symbols}');
-Expect(1, 8447, '\p{Is_Blk=combiningmarksforsymbols}', "");
-Expect(0, 8447, '\p{^Is_Blk=combiningmarksforsymbols}', "");
-Expect(0, 8447, '\P{Is_Blk=combiningmarksforsymbols}', "");
-Expect(1, 8447, '\P{^Is_Blk=combiningmarksforsymbols}', "");
-Expect(0, 8399, '\p{Is_Blk=combiningmarksforsymbols}', "");
-Expect(1, 8399, '\p{^Is_Blk=combiningmarksforsymbols}', "");
-Expect(1, 8399, '\P{Is_Blk=combiningmarksforsymbols}', "");
-Expect(0, 8399, '\P{^Is_Blk=combiningmarksforsymbols}', "");
-Expect(1, 8447, '\p{Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(0, 8447, '\p{^Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(0, 8447, '\P{Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(1, 8447, '\P{^Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(0, 8399, '\p{Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(1, 8399, '\p{^Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(1, 8399, '\P{Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Expect(0, 8399, '\P{^Is_Blk=_COMBINING Marks_FOR symbols}', "");
-Error('\p{Block= :=BasicLATIN}');
-Error('\P{Block= :=BasicLATIN}');
-Expect(1, 127, '\p{Block=basiclatin}', "");
-Expect(0, 127, '\p{^Block=basiclatin}', "");
-Expect(0, 127, '\P{Block=basiclatin}', "");
-Expect(1, 127, '\P{^Block=basiclatin}', "");
-Expect(0, 128, '\p{Block=basiclatin}', "");
-Expect(1, 128, '\p{^Block=basiclatin}', "");
-Expect(1, 128, '\P{Block=basiclatin}', "");
-Expect(0, 128, '\P{^Block=basiclatin}', "");
-Expect(1, 127, '\p{Block=__basic Latin}', "");
-Expect(0, 127, '\p{^Block=__basic Latin}', "");
-Expect(0, 127, '\P{Block=__basic Latin}', "");
-Expect(1, 127, '\P{^Block=__basic Latin}', "");
-Expect(0, 128, '\p{Block=__basic Latin}', "");
-Expect(1, 128, '\p{^Block=__basic Latin}', "");
-Expect(1, 128, '\P{Block=__basic Latin}', "");
-Expect(0, 128, '\P{^Block=__basic Latin}', "");
-Error('\p{Blk= ASCII/a/}');
-Error('\P{Blk= ASCII/a/}');
-Expect(1, 127, '\p{Blk=ascii}', "");
-Expect(0, 127, '\p{^Blk=ascii}', "");
-Expect(0, 127, '\P{Blk=ascii}', "");
-Expect(1, 127, '\P{^Blk=ascii}', "");
-Expect(0, 128, '\p{Blk=ascii}', "");
-Expect(1, 128, '\p{^Blk=ascii}', "");
-Expect(1, 128, '\P{Blk=ascii}', "");
-Expect(0, 128, '\P{^Blk=ascii}', "");
-Expect(1, 127, '\p{Blk= ASCII}', "");
-Expect(0, 127, '\p{^Blk= ASCII}', "");
-Expect(0, 127, '\P{Blk= ASCII}', "");
-Expect(1, 127, '\P{^Blk= ASCII}', "");
-Expect(0, 128, '\p{Blk= ASCII}', "");
-Expect(1, 128, '\p{^Blk= ASCII}', "");
-Expect(1, 128, '\P{Blk= ASCII}', "");
-Expect(0, 128, '\P{^Blk= ASCII}', "");
-Error('\p{Is_Block=- Basic Latin/a/}');
-Error('\P{Is_Block=- Basic Latin/a/}');
-Expect(1, 127, '\p{Is_Block=basiclatin}', "");
-Expect(0, 127, '\p{^Is_Block=basiclatin}', "");
-Expect(0, 127, '\P{Is_Block=basiclatin}', "");
-Expect(1, 127, '\P{^Is_Block=basiclatin}', "");
-Expect(0, 128, '\p{Is_Block=basiclatin}', "");
-Expect(1, 128, '\p{^Is_Block=basiclatin}', "");
-Expect(1, 128, '\P{Is_Block=basiclatin}', "");
-Expect(0, 128, '\P{^Is_Block=basiclatin}', "");
-Expect(1, 127, '\p{Is_Block= -BASICLATIN}', "");
-Expect(0, 127, '\p{^Is_Block= -BASICLATIN}', "");
-Expect(0, 127, '\P{Is_Block= -BASICLATIN}', "");
-Expect(1, 127, '\P{^Is_Block= -BASICLATIN}', "");
-Expect(0, 128, '\p{Is_Block= -BASICLATIN}', "");
-Expect(1, 128, '\p{^Is_Block= -BASICLATIN}', "");
-Expect(1, 128, '\P{Is_Block= -BASICLATIN}', "");
-Expect(0, 128, '\P{^Is_Block= -BASICLATIN}', "");
-Error('\p{Is_Blk=/a/ ascii}');
-Error('\P{Is_Blk=/a/ ascii}');
-Expect(1, 127, '\p{Is_Blk: ascii}', "");
-Expect(0, 127, '\p{^Is_Blk: ascii}', "");
-Expect(0, 127, '\P{Is_Blk: ascii}', "");
-Expect(1, 127, '\P{^Is_Blk: ascii}', "");
-Expect(0, 128, '\p{Is_Blk: ascii}', "");
-Expect(1, 128, '\p{^Is_Blk: ascii}', "");
-Expect(1, 128, '\P{Is_Blk: ascii}', "");
-Expect(0, 128, '\P{^Is_Blk: ascii}', "");
-Expect(1, 127, '\p{Is_Blk=- ASCII}', "");
-Expect(0, 127, '\p{^Is_Blk=- ASCII}', "");
-Expect(0, 127, '\P{Is_Blk=- ASCII}', "");
-Expect(1, 127, '\P{^Is_Blk=- ASCII}', "");
-Expect(0, 128, '\p{Is_Blk=- ASCII}', "");
-Expect(1, 128, '\p{^Is_Blk=- ASCII}', "");
-Expect(1, 128, '\P{Is_Blk=- ASCII}', "");
-Expect(0, 128, '\P{^Is_Blk=- ASCII}', "");
-Error('\p{Block= /a/Limbu}');
-Error('\P{Block= /a/Limbu}');
-Expect(1, 6479, '\p{Block: limbu}', "");
-Expect(0, 6479, '\p{^Block: limbu}', "");
-Expect(0, 6479, '\P{Block: limbu}', "");
-Expect(1, 6479, '\P{^Block: limbu}', "");
-Expect(0, 6399, '\p{Block: limbu}', "");
-Expect(1, 6399, '\p{^Block: limbu}', "");
-Expect(1, 6399, '\P{Block: limbu}', "");
-Expect(0, 6399, '\P{^Block: limbu}', "");
-Expect(1, 6479, '\p{Block= Limbu}', "");
-Expect(0, 6479, '\p{^Block= Limbu}', "");
-Expect(0, 6479, '\P{Block= Limbu}', "");
-Expect(1, 6479, '\P{^Block= Limbu}', "");
-Expect(0, 6399, '\p{Block= Limbu}', "");
-Expect(1, 6399, '\p{^Block= Limbu}', "");
-Expect(1, 6399, '\P{Block= Limbu}', "");
-Expect(0, 6399, '\P{^Block= Limbu}', "");
-Error('\p{Blk=:=Limbu}');
-Error('\P{Blk=:=Limbu}');
-Expect(1, 6479, '\p{Blk: limbu}', "");
-Expect(0, 6479, '\p{^Blk: limbu}', "");
-Expect(0, 6479, '\P{Blk: limbu}', "");
-Expect(1, 6479, '\P{^Blk: limbu}', "");
-Expect(0, 6399, '\p{Blk: limbu}', "");
-Expect(1, 6399, '\p{^Blk: limbu}', "");
-Expect(1, 6399, '\P{Blk: limbu}', "");
-Expect(0, 6399, '\P{^Blk: limbu}', "");
-Expect(1, 6479, '\p{Blk=- Limbu}', "");
-Expect(0, 6479, '\p{^Blk=- Limbu}', "");
-Expect(0, 6479, '\P{Blk=- Limbu}', "");
-Expect(1, 6479, '\P{^Blk=- Limbu}', "");
-Expect(0, 6399, '\p{Blk=- Limbu}', "");
-Expect(1, 6399, '\p{^Blk=- Limbu}', "");
-Expect(1, 6399, '\P{Blk=- Limbu}', "");
-Expect(0, 6399, '\P{^Blk=- Limbu}', "");
-Error('\p{Is_Block: LIMBU:=}');
-Error('\P{Is_Block: LIMBU:=}');
-Expect(1, 6479, '\p{Is_Block=limbu}', "");
-Expect(0, 6479, '\p{^Is_Block=limbu}', "");
-Expect(0, 6479, '\P{Is_Block=limbu}', "");
-Expect(1, 6479, '\P{^Is_Block=limbu}', "");
-Expect(0, 6399, '\p{Is_Block=limbu}', "");
-Expect(1, 6399, '\p{^Is_Block=limbu}', "");
-Expect(1, 6399, '\P{Is_Block=limbu}', "");
-Expect(0, 6399, '\P{^Is_Block=limbu}', "");
-Expect(1, 6479, '\p{Is_Block= LIMBU}', "");
-Expect(0, 6479, '\p{^Is_Block= LIMBU}', "");
-Expect(0, 6479, '\P{Is_Block= LIMBU}', "");
-Expect(1, 6479, '\P{^Is_Block= LIMBU}', "");
-Expect(0, 6399, '\p{Is_Block= LIMBU}', "");
-Expect(1, 6399, '\p{^Is_Block= LIMBU}', "");
-Expect(1, 6399, '\P{Is_Block= LIMBU}', "");
-Expect(0, 6399, '\P{^Is_Block= LIMBU}', "");
-Error('\p{Is_Blk= -Limbu:=}');
-Error('\P{Is_Blk= -Limbu:=}');
-Expect(1, 6479, '\p{Is_Blk: limbu}', "");
-Expect(0, 6479, '\p{^Is_Blk: limbu}', "");
-Expect(0, 6479, '\P{Is_Blk: limbu}', "");
-Expect(1, 6479, '\P{^Is_Blk: limbu}', "");
-Expect(0, 6399, '\p{Is_Blk: limbu}', "");
-Expect(1, 6399, '\p{^Is_Blk: limbu}', "");
-Expect(1, 6399, '\P{Is_Blk: limbu}', "");
-Expect(0, 6399, '\P{^Is_Blk: limbu}', "");
-Expect(1, 6479, '\p{Is_Blk=_-limbu}', "");
-Expect(0, 6479, '\p{^Is_Blk=_-limbu}', "");
-Expect(0, 6479, '\P{Is_Blk=_-limbu}', "");
-Expect(1, 6479, '\P{^Is_Blk=_-limbu}', "");
-Expect(0, 6399, '\p{Is_Blk=_-limbu}', "");
-Expect(1, 6399, '\p{^Is_Blk=_-limbu}', "");
-Expect(1, 6399, '\P{Is_Blk=_-limbu}', "");
-Expect(0, 6399, '\P{^Is_Blk=_-limbu}', "");
-Error('\p{Block=:=_-CURRENCY_symbols}');
-Error('\P{Block=:=_-CURRENCY_symbols}');
-Expect(1, 8399, '\p{Block=currencysymbols}', "");
-Expect(0, 8399, '\p{^Block=currencysymbols}', "");
-Expect(0, 8399, '\P{Block=currencysymbols}', "");
-Expect(1, 8399, '\P{^Block=currencysymbols}', "");
-Expect(0, 8351, '\p{Block=currencysymbols}', "");
-Expect(1, 8351, '\p{^Block=currencysymbols}', "");
-Expect(1, 8351, '\P{Block=currencysymbols}', "");
-Expect(0, 8351, '\P{^Block=currencysymbols}', "");
-Expect(1, 8399, '\p{Block=--currency Symbols}', "");
-Expect(0, 8399, '\p{^Block=--currency Symbols}', "");
-Expect(0, 8399, '\P{Block=--currency Symbols}', "");
-Expect(1, 8399, '\P{^Block=--currency Symbols}', "");
-Expect(0, 8351, '\p{Block=--currency Symbols}', "");
-Expect(1, 8351, '\p{^Block=--currency Symbols}', "");
-Expect(1, 8351, '\P{Block=--currency Symbols}', "");
-Expect(0, 8351, '\P{^Block=--currency Symbols}', "");
-Error('\p{Blk=/a/Currency Symbols}');
-Error('\P{Blk=/a/Currency Symbols}');
-Expect(1, 8399, '\p{Blk=currencysymbols}', "");
-Expect(0, 8399, '\p{^Blk=currencysymbols}', "");
-Expect(0, 8399, '\P{Blk=currencysymbols}', "");
-Expect(1, 8399, '\P{^Blk=currencysymbols}', "");
-Expect(0, 8351, '\p{Blk=currencysymbols}', "");
-Expect(1, 8351, '\p{^Blk=currencysymbols}', "");
-Expect(1, 8351, '\P{Blk=currencysymbols}', "");
-Expect(0, 8351, '\P{^Blk=currencysymbols}', "");
-Expect(1, 8399, '\p{Blk=-CURRENCY symbols}', "");
-Expect(0, 8399, '\p{^Blk=-CURRENCY symbols}', "");
-Expect(0, 8399, '\P{Blk=-CURRENCY symbols}', "");
-Expect(1, 8399, '\P{^Blk=-CURRENCY symbols}', "");
-Expect(0, 8351, '\p{Blk=-CURRENCY symbols}', "");
-Expect(1, 8351, '\p{^Blk=-CURRENCY symbols}', "");
-Expect(1, 8351, '\P{Blk=-CURRENCY symbols}', "");
-Expect(0, 8351, '\P{^Blk=-CURRENCY symbols}', "");
-Error('\p{Is_Block=_ Currency Symbols:=}');
-Error('\P{Is_Block=_ Currency Symbols:=}');
-Expect(1, 8399, '\p{Is_Block=currencysymbols}', "");
-Expect(0, 8399, '\p{^Is_Block=currencysymbols}', "");
-Expect(0, 8399, '\P{Is_Block=currencysymbols}', "");
-Expect(1, 8399, '\P{^Is_Block=currencysymbols}', "");
-Expect(0, 8351, '\p{Is_Block=currencysymbols}', "");
-Expect(1, 8351, '\p{^Is_Block=currencysymbols}', "");
-Expect(1, 8351, '\P{Is_Block=currencysymbols}', "");
-Expect(0, 8351, '\P{^Is_Block=currencysymbols}', "");
-Expect(1, 8399, '\p{Is_Block=CURRENCY Symbols}', "");
-Expect(0, 8399, '\p{^Is_Block=CURRENCY Symbols}', "");
-Expect(0, 8399, '\P{Is_Block=CURRENCY Symbols}', "");
-Expect(1, 8399, '\P{^Is_Block=CURRENCY Symbols}', "");
-Expect(0, 8351, '\p{Is_Block=CURRENCY Symbols}', "");
-Expect(1, 8351, '\p{^Is_Block=CURRENCY Symbols}', "");
-Expect(1, 8351, '\P{Is_Block=CURRENCY Symbols}', "");
-Expect(0, 8351, '\P{^Is_Block=CURRENCY Symbols}', "");
-Error('\p{Is_Blk=:=_currency_Symbols}');
-Error('\P{Is_Blk=:=_currency_Symbols}');
-Expect(1, 8399, '\p{Is_Blk=currencysymbols}', "");
-Expect(0, 8399, '\p{^Is_Blk=currencysymbols}', "");
-Expect(0, 8399, '\P{Is_Blk=currencysymbols}', "");
-Expect(1, 8399, '\P{^Is_Blk=currencysymbols}', "");
-Expect(0, 8351, '\p{Is_Blk=currencysymbols}', "");
-Expect(1, 8351, '\p{^Is_Blk=currencysymbols}', "");
-Expect(1, 8351, '\P{Is_Blk=currencysymbols}', "");
-Expect(0, 8351, '\P{^Is_Blk=currencysymbols}', "");
-Expect(1, 8399, '\p{Is_Blk=-CURRENCY Symbols}', "");
-Expect(0, 8399, '\p{^Is_Blk=-CURRENCY Symbols}', "");
-Expect(0, 8399, '\P{Is_Blk=-CURRENCY Symbols}', "");
-Expect(1, 8399, '\P{^Is_Blk=-CURRENCY Symbols}', "");
-Expect(0, 8351, '\p{Is_Blk=-CURRENCY Symbols}', "");
-Expect(1, 8351, '\p{^Is_Blk=-CURRENCY Symbols}', "");
-Expect(1, 8351, '\P{Is_Blk=-CURRENCY Symbols}', "");
-Expect(0, 8351, '\P{^Is_Blk=-CURRENCY Symbols}', "");
-Error('\p{Block: :=-_Spacing modifierLetters}');
-Error('\P{Block: :=-_Spacing modifierLetters}');
-Expect(1, 767, '\p{Block: spacingmodifierletters}', "");
-Expect(0, 767, '\p{^Block: spacingmodifierletters}', "");
-Expect(0, 767, '\P{Block: spacingmodifierletters}', "");
-Expect(1, 767, '\P{^Block: spacingmodifierletters}', "");
-Expect(0, 687, '\p{Block: spacingmodifierletters}', "");
-Expect(1, 687, '\p{^Block: spacingmodifierletters}', "");
-Expect(1, 687, '\P{Block: spacingmodifierletters}', "");
-Expect(0, 687, '\P{^Block: spacingmodifierletters}', "");
-Expect(1, 767, '\p{Block= _Spacing Modifier_Letters}', "");
-Expect(0, 767, '\p{^Block= _Spacing Modifier_Letters}', "");
-Expect(0, 767, '\P{Block= _Spacing Modifier_Letters}', "");
-Expect(1, 767, '\P{^Block= _Spacing Modifier_Letters}', "");
-Expect(0, 687, '\p{Block= _Spacing Modifier_Letters}', "");
-Expect(1, 687, '\p{^Block= _Spacing Modifier_Letters}', "");
-Expect(1, 687, '\P{Block= _Spacing Modifier_Letters}', "");
-Expect(0, 687, '\P{^Block= _Spacing Modifier_Letters}', "");
-Error('\p{Blk= Spacing-Modifier/a/Letters}');
-Error('\P{Blk= Spacing-Modifier/a/Letters}');
-Expect(1, 767, '\p{Blk=spacingmodifierletters}', "");
-Expect(0, 767, '\p{^Blk=spacingmodifierletters}', "");
-Expect(0, 767, '\P{Blk=spacingmodifierletters}', "");
-Expect(1, 767, '\P{^Blk=spacingmodifierletters}', "");
-Expect(0, 687, '\p{Blk=spacingmodifierletters}', "");
-Expect(1, 687, '\p{^Blk=spacingmodifierletters}', "");
-Expect(1, 687, '\P{Blk=spacingmodifierletters}', "");
-Expect(0, 687, '\P{^Blk=spacingmodifierletters}', "");
-Expect(1, 767, '\p{Blk= -SpacingMODIFIER-letters}', "");
-Expect(0, 767, '\p{^Blk= -SpacingMODIFIER-letters}', "");
-Expect(0, 767, '\P{Blk= -SpacingMODIFIER-letters}', "");
-Expect(1, 767, '\P{^Blk= -SpacingMODIFIER-letters}', "");
-Expect(0, 687, '\p{Blk= -SpacingMODIFIER-letters}', "");
-Expect(1, 687, '\p{^Blk= -SpacingMODIFIER-letters}', "");
-Expect(1, 687, '\P{Blk= -SpacingMODIFIER-letters}', "");
-Expect(0, 687, '\P{^Blk= -SpacingMODIFIER-letters}', "");
-Error('\p{Is_Block=:=_ Spacing-Modifier LETTERS}');
-Error('\P{Is_Block=:=_ Spacing-Modifier LETTERS}');
-Expect(1, 767, '\p{Is_Block=spacingmodifierletters}', "");
-Expect(0, 767, '\p{^Is_Block=spacingmodifierletters}', "");
-Expect(0, 767, '\P{Is_Block=spacingmodifierletters}', "");
-Expect(1, 767, '\P{^Is_Block=spacingmodifierletters}', "");
-Expect(0, 687, '\p{Is_Block=spacingmodifierletters}', "");
-Expect(1, 687, '\p{^Is_Block=spacingmodifierletters}', "");
-Expect(1, 687, '\P{Is_Block=spacingmodifierletters}', "");
-Expect(0, 687, '\P{^Is_Block=spacingmodifierletters}', "");
-Expect(1, 767, '\p{Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(0, 767, '\p{^Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(0, 767, '\P{Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(1, 767, '\P{^Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(0, 687, '\p{Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(1, 687, '\p{^Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(1, 687, '\P{Is_Block=- SPACING_MODIFIER Letters}', "");
-Expect(0, 687, '\P{^Is_Block=- SPACING_MODIFIER Letters}', "");
-Error('\p{Is_Blk= SPACING-Modifier Letters:=}');
-Error('\P{Is_Blk= SPACING-Modifier Letters:=}');
-Expect(1, 767, '\p{Is_Blk=spacingmodifierletters}', "");
-Expect(0, 767, '\p{^Is_Blk=spacingmodifierletters}', "");
-Expect(0, 767, '\P{Is_Blk=spacingmodifierletters}', "");
-Expect(1, 767, '\P{^Is_Blk=spacingmodifierletters}', "");
-Expect(0, 687, '\p{Is_Blk=spacingmodifierletters}', "");
-Expect(1, 687, '\p{^Is_Blk=spacingmodifierletters}', "");
-Expect(1, 687, '\P{Is_Blk=spacingmodifierletters}', "");
-Expect(0, 687, '\P{^Is_Blk=spacingmodifierletters}', "");
-Expect(1, 767, '\p{Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(0, 767, '\p{^Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(0, 767, '\P{Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(1, 767, '\P{^Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(0, 687, '\p{Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(1, 687, '\p{^Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(1, 687, '\P{Is_Blk= -SPACING Modifier LETTERS}', "");
-Expect(0, 687, '\P{^Is_Blk= -SPACING Modifier LETTERS}', "");
-Error('\p{Block= :=BOX DRAWING}');
-Error('\P{Block= :=BOX DRAWING}');
-Expect(1, 9599, '\p{Block=boxdrawing}', "");
-Expect(0, 9599, '\p{^Block=boxdrawing}', "");
-Expect(0, 9599, '\P{Block=boxdrawing}', "");
-Expect(1, 9599, '\P{^Block=boxdrawing}', "");
-Expect(0, 9471, '\p{Block=boxdrawing}', "");
-Expect(1, 9471, '\p{^Block=boxdrawing}', "");
-Expect(1, 9471, '\P{Block=boxdrawing}', "");
-Expect(0, 9471, '\P{^Block=boxdrawing}', "");
-Expect(1, 9599, '\p{Block= Box DRAWING}', "");
-Expect(0, 9599, '\p{^Block= Box DRAWING}', "");
-Expect(0, 9599, '\P{Block= Box DRAWING}', "");
-Expect(1, 9599, '\P{^Block= Box DRAWING}', "");
-Expect(0, 9471, '\p{Block= Box DRAWING}', "");
-Expect(1, 9471, '\p{^Block= Box DRAWING}', "");
-Expect(1, 9471, '\P{Block= Box DRAWING}', "");
-Expect(0, 9471, '\P{^Block= Box DRAWING}', "");
-Error('\p{Blk=- box_drawing/a/}');
-Error('\P{Blk=- box_drawing/a/}');
-Expect(1, 9599, '\p{Blk=boxdrawing}', "");
-Expect(0, 9599, '\p{^Blk=boxdrawing}', "");
-Expect(0, 9599, '\P{Blk=boxdrawing}', "");
-Expect(1, 9599, '\P{^Blk=boxdrawing}', "");
-Expect(0, 9471, '\p{Blk=boxdrawing}', "");
-Expect(1, 9471, '\p{^Blk=boxdrawing}', "");
-Expect(1, 9471, '\P{Blk=boxdrawing}', "");
-Expect(0, 9471, '\P{^Blk=boxdrawing}', "");
-Expect(1, 9599, '\p{Blk= box_Drawing}', "");
-Expect(0, 9599, '\p{^Blk= box_Drawing}', "");
-Expect(0, 9599, '\P{Blk= box_Drawing}', "");
-Expect(1, 9599, '\P{^Blk= box_Drawing}', "");
-Expect(0, 9471, '\p{Blk= box_Drawing}', "");
-Expect(1, 9471, '\p{^Blk= box_Drawing}', "");
-Expect(1, 9471, '\P{Blk= box_Drawing}', "");
-Expect(0, 9471, '\P{^Blk= box_Drawing}', "");
-Error('\p{Is_Block=:= -Box_Drawing}');
-Error('\P{Is_Block=:= -Box_Drawing}');
-Expect(1, 9599, '\p{Is_Block=boxdrawing}', "");
-Expect(0, 9599, '\p{^Is_Block=boxdrawing}', "");
-Expect(0, 9599, '\P{Is_Block=boxdrawing}', "");
-Expect(1, 9599, '\P{^Is_Block=boxdrawing}', "");
-Expect(0, 9471, '\p{Is_Block=boxdrawing}', "");
-Expect(1, 9471, '\p{^Is_Block=boxdrawing}', "");
-Expect(1, 9471, '\P{Is_Block=boxdrawing}', "");
-Expect(0, 9471, '\P{^Is_Block=boxdrawing}', "");
-Expect(1, 9599, '\p{Is_Block=-Box_drawing}', "");
-Expect(0, 9599, '\p{^Is_Block=-Box_drawing}', "");
-Expect(0, 9599, '\P{Is_Block=-Box_drawing}', "");
-Expect(1, 9599, '\P{^Is_Block=-Box_drawing}', "");
-Expect(0, 9471, '\p{Is_Block=-Box_drawing}', "");
-Expect(1, 9471, '\p{^Is_Block=-Box_drawing}', "");
-Expect(1, 9471, '\P{Is_Block=-Box_drawing}', "");
-Expect(0, 9471, '\P{^Is_Block=-Box_drawing}', "");
-Error('\p{Is_Blk= /a/BoxDrawing}');
-Error('\P{Is_Blk= /a/BoxDrawing}');
-Expect(1, 9599, '\p{Is_Blk=boxdrawing}', "");
-Expect(0, 9599, '\p{^Is_Blk=boxdrawing}', "");
-Expect(0, 9599, '\P{Is_Blk=boxdrawing}', "");
-Expect(1, 9599, '\P{^Is_Blk=boxdrawing}', "");
-Expect(0, 9471, '\p{Is_Blk=boxdrawing}', "");
-Expect(1, 9471, '\p{^Is_Blk=boxdrawing}', "");
-Expect(1, 9471, '\P{Is_Blk=boxdrawing}', "");
-Expect(0, 9471, '\P{^Is_Blk=boxdrawing}', "");
-Expect(1, 9599, '\p{Is_Blk= Box Drawing}', "");
-Expect(0, 9599, '\p{^Is_Blk= Box Drawing}', "");
-Expect(0, 9599, '\P{Is_Blk= Box Drawing}', "");
-Expect(1, 9599, '\P{^Is_Blk= Box Drawing}', "");
-Expect(0, 9471, '\p{Is_Blk= Box Drawing}', "");
-Expect(1, 9471, '\p{^Is_Blk= Box Drawing}', "");
-Expect(1, 9471, '\P{Is_Blk= Box Drawing}', "");
-Expect(0, 9471, '\P{^Is_Blk= Box Drawing}', "");
-Error('\p{Block= /a/SUPERSCRIPTS AndSubscripts}');
-Error('\P{Block= /a/SUPERSCRIPTS AndSubscripts}');
-Expect(1, 8351, '\p{Block=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^Block=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{Block=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^Block=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{Block=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^Block=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{Block=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^Block=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{Block=_-superscripts AND-Subscripts}', "");
-Expect(0, 8351, '\p{^Block=_-superscripts AND-Subscripts}', "");
-Expect(0, 8351, '\P{Block=_-superscripts AND-Subscripts}', "");
-Expect(1, 8351, '\P{^Block=_-superscripts AND-Subscripts}', "");
-Expect(0, 8303, '\p{Block=_-superscripts AND-Subscripts}', "");
-Expect(1, 8303, '\p{^Block=_-superscripts AND-Subscripts}', "");
-Expect(1, 8303, '\P{Block=_-superscripts AND-Subscripts}', "");
-Expect(0, 8303, '\P{^Block=_-superscripts AND-Subscripts}', "");
-Error('\p{Blk= Superscripts_and-Subscripts/a/}');
-Error('\P{Blk= Superscripts_and-Subscripts/a/}');
-Expect(1, 8351, '\p{Blk=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^Blk=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{Blk=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^Blk=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{Blk=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^Blk=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{Blk=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^Blk=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{Blk=_ Superscripts And Subscripts}', "");
-Expect(0, 8351, '\p{^Blk=_ Superscripts And Subscripts}', "");
-Expect(0, 8351, '\P{Blk=_ Superscripts And Subscripts}', "");
-Expect(1, 8351, '\P{^Blk=_ Superscripts And Subscripts}', "");
-Expect(0, 8303, '\p{Blk=_ Superscripts And Subscripts}', "");
-Expect(1, 8303, '\p{^Blk=_ Superscripts And Subscripts}', "");
-Expect(1, 8303, '\P{Blk=_ Superscripts And Subscripts}', "");
-Expect(0, 8303, '\P{^Blk=_ Superscripts And Subscripts}', "");
-Error('\p{Is_Block=/a/ _superscripts_AND_subscripts}');
-Error('\P{Is_Block=/a/ _superscripts_AND_subscripts}');
-Expect(1, 8351, '\p{Is_Block=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^Is_Block=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{Is_Block=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^Is_Block=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{Is_Block=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^Is_Block=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{Is_Block=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^Is_Block=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{Is_Block: _-Superscripts and subscripts}', "");
-Expect(0, 8351, '\p{^Is_Block: _-Superscripts and subscripts}', "");
-Expect(0, 8351, '\P{Is_Block: _-Superscripts and subscripts}', "");
-Expect(1, 8351, '\P{^Is_Block: _-Superscripts and subscripts}', "");
-Expect(0, 8303, '\p{Is_Block: _-Superscripts and subscripts}', "");
-Expect(1, 8303, '\p{^Is_Block: _-Superscripts and subscripts}', "");
-Expect(1, 8303, '\P{Is_Block: _-Superscripts and subscripts}', "");
-Expect(0, 8303, '\P{^Is_Block: _-Superscripts and subscripts}', "");
-Error('\p{Is_Blk=/a/- SUPERSCRIPTS_ANDSubscripts}');
-Error('\P{Is_Blk=/a/- SUPERSCRIPTS_ANDSubscripts}');
-Expect(1, 8351, '\p{Is_Blk=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^Is_Blk=superscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{Is_Blk=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^Is_Blk=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{Is_Blk=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^Is_Blk=superscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{Is_Blk=superscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^Is_Blk=superscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(0, 8351, '\p{^Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(0, 8351, '\P{Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(1, 8351, '\P{^Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(0, 8303, '\p{Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(1, 8303, '\p{^Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(1, 8303, '\P{Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Expect(0, 8303, '\P{^Is_Blk= _SUPERSCRIPTS and subscripts}', "");
-Error('\p{Block=_Ancient-Greek-numbers/a/}');
-Error('\P{Block=_Ancient-Greek-numbers/a/}');
-Expect(1, 65935, '\p{Block=ancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^Block=ancientgreeknumbers}', "");
-Expect(0, 65935, '\P{Block=ancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^Block=ancientgreeknumbers}', "");
-Expect(0, 65855, '\p{Block=ancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^Block=ancientgreeknumbers}', "");
-Expect(1, 65855, '\P{Block=ancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^Block=ancientgreeknumbers}', "");
-Expect(1, 65935, '\p{Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(0, 65935, '\p{^Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(0, 65935, '\P{Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(1, 65935, '\P{^Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(0, 65855, '\p{Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(1, 65855, '\p{^Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(1, 65855, '\P{Block=_-ANCIENT Greek NUMBERS}', "");
-Expect(0, 65855, '\P{^Block=_-ANCIENT Greek NUMBERS}', "");
-Error('\p{Blk=/a/ ANCIENT_Greek NUMBERS}');
-Error('\P{Blk=/a/ ANCIENT_Greek NUMBERS}');
-Expect(1, 65935, '\p{Blk=ancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^Blk=ancientgreeknumbers}', "");
-Expect(0, 65935, '\P{Blk=ancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^Blk=ancientgreeknumbers}', "");
-Expect(0, 65855, '\p{Blk=ancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^Blk=ancientgreeknumbers}', "");
-Expect(1, 65855, '\P{Blk=ancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^Blk=ancientgreeknumbers}', "");
-Expect(1, 65935, '\p{Blk=_ Ancient-GREEK numbers}', "");
-Expect(0, 65935, '\p{^Blk=_ Ancient-GREEK numbers}', "");
-Expect(0, 65935, '\P{Blk=_ Ancient-GREEK numbers}', "");
-Expect(1, 65935, '\P{^Blk=_ Ancient-GREEK numbers}', "");
-Expect(0, 65855, '\p{Blk=_ Ancient-GREEK numbers}', "");
-Expect(1, 65855, '\p{^Blk=_ Ancient-GREEK numbers}', "");
-Expect(1, 65855, '\P{Blk=_ Ancient-GREEK numbers}', "");
-Expect(0, 65855, '\P{^Blk=_ Ancient-GREEK numbers}', "");
-Error('\p{Is_Block=/a/_ancient GREEK numbers}');
-Error('\P{Is_Block=/a/_ancient GREEK numbers}');
-Expect(1, 65935, '\p{Is_Block=ancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^Is_Block=ancientgreeknumbers}', "");
-Expect(0, 65935, '\P{Is_Block=ancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^Is_Block=ancientgreeknumbers}', "");
-Expect(0, 65855, '\p{Is_Block=ancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^Is_Block=ancientgreeknumbers}', "");
-Expect(1, 65855, '\P{Is_Block=ancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^Is_Block=ancientgreeknumbers}', "");
-Expect(1, 65935, '\p{Is_Block= Ancient-greek Numbers}', "");
-Expect(0, 65935, '\p{^Is_Block= Ancient-greek Numbers}', "");
-Expect(0, 65935, '\P{Is_Block= Ancient-greek Numbers}', "");
-Expect(1, 65935, '\P{^Is_Block= Ancient-greek Numbers}', "");
-Expect(0, 65855, '\p{Is_Block= Ancient-greek Numbers}', "");
-Expect(1, 65855, '\p{^Is_Block= Ancient-greek Numbers}', "");
-Expect(1, 65855, '\P{Is_Block= Ancient-greek Numbers}', "");
-Expect(0, 65855, '\P{^Is_Block= Ancient-greek Numbers}', "");
-Error('\p{Is_Blk= -Ancient greek_Numbers:=}');
-Error('\P{Is_Blk= -Ancient greek_Numbers:=}');
-Expect(1, 65935, '\p{Is_Blk=ancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^Is_Blk=ancientgreeknumbers}', "");
-Expect(0, 65935, '\P{Is_Blk=ancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^Is_Blk=ancientgreeknumbers}', "");
-Expect(0, 65855, '\p{Is_Blk=ancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^Is_Blk=ancientgreeknumbers}', "");
-Expect(1, 65855, '\P{Is_Blk=ancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^Is_Blk=ancientgreeknumbers}', "");
-Expect(1, 65935, '\p{Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(0, 65935, '\p{^Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(0, 65935, '\P{Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(1, 65935, '\P{^Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(0, 65855, '\p{Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(1, 65855, '\p{^Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(1, 65855, '\P{Is_Blk= ANCIENT_GREEK numbers}', "");
-Expect(0, 65855, '\P{^Is_Blk= ANCIENT_GREEK numbers}', "");
-Error('\p{Block=-NKo/a/}');
-Error('\P{Block=-NKo/a/}');
-Expect(1, 2047, '\p{Block=nko}', "");
-Expect(0, 2047, '\p{^Block=nko}', "");
-Expect(0, 2047, '\P{Block=nko}', "");
-Expect(1, 2047, '\P{^Block=nko}', "");
-Expect(0, 1983, '\p{Block=nko}', "");
-Expect(1, 1983, '\p{^Block=nko}', "");
-Expect(1, 1983, '\P{Block=nko}', "");
-Expect(0, 1983, '\P{^Block=nko}', "");
-Expect(1, 2047, '\p{Block= NKo}', "");
-Expect(0, 2047, '\p{^Block= NKo}', "");
-Expect(0, 2047, '\P{Block= NKo}', "");
-Expect(1, 2047, '\P{^Block= NKo}', "");
-Expect(0, 1983, '\p{Block= NKo}', "");
-Expect(1, 1983, '\p{^Block= NKo}', "");
-Expect(1, 1983, '\P{Block= NKo}', "");
-Expect(0, 1983, '\P{^Block= NKo}', "");
-Error('\p{Blk:/a/--NKo}');
-Error('\P{Blk:/a/--NKo}');
-Expect(1, 2047, '\p{Blk=nko}', "");
-Expect(0, 2047, '\p{^Blk=nko}', "");
-Expect(0, 2047, '\P{Blk=nko}', "");
-Expect(1, 2047, '\P{^Blk=nko}', "");
-Expect(0, 1983, '\p{Blk=nko}', "");
-Expect(1, 1983, '\p{^Blk=nko}', "");
-Expect(1, 1983, '\P{Blk=nko}', "");
-Expect(0, 1983, '\P{^Blk=nko}', "");
-Expect(1, 2047, '\p{Blk: - NKO}', "");
-Expect(0, 2047, '\p{^Blk: - NKO}', "");
-Expect(0, 2047, '\P{Blk: - NKO}', "");
-Expect(1, 2047, '\P{^Blk: - NKO}', "");
-Expect(0, 1983, '\p{Blk: - NKO}', "");
-Expect(1, 1983, '\p{^Blk: - NKO}', "");
-Expect(1, 1983, '\P{Blk: - NKO}', "");
-Expect(0, 1983, '\P{^Blk: - NKO}', "");
-Error('\p{Is_Block=-/a/NKO}');
-Error('\P{Is_Block=-/a/NKO}');
-Expect(1, 2047, '\p{Is_Block=nko}', "");
-Expect(0, 2047, '\p{^Is_Block=nko}', "");
-Expect(0, 2047, '\P{Is_Block=nko}', "");
-Expect(1, 2047, '\P{^Is_Block=nko}', "");
-Expect(0, 1983, '\p{Is_Block=nko}', "");
-Expect(1, 1983, '\p{^Is_Block=nko}', "");
-Expect(1, 1983, '\P{Is_Block=nko}', "");
-Expect(0, 1983, '\P{^Is_Block=nko}', "");
-Expect(1, 2047, '\p{Is_Block= NKo}', "");
-Expect(0, 2047, '\p{^Is_Block= NKo}', "");
-Expect(0, 2047, '\P{Is_Block= NKo}', "");
-Expect(1, 2047, '\P{^Is_Block= NKo}', "");
-Expect(0, 1983, '\p{Is_Block= NKo}', "");
-Expect(1, 1983, '\p{^Is_Block= NKo}', "");
-Expect(1, 1983, '\P{Is_Block= NKo}', "");
-Expect(0, 1983, '\P{^Is_Block= NKo}', "");
-Error('\p{Is_Blk=-/a/NKo}');
-Error('\P{Is_Blk=-/a/NKo}');
-Expect(1, 2047, '\p{Is_Blk=nko}', "");
-Expect(0, 2047, '\p{^Is_Blk=nko}', "");
-Expect(0, 2047, '\P{Is_Blk=nko}', "");
-Expect(1, 2047, '\P{^Is_Blk=nko}', "");
-Expect(0, 1983, '\p{Is_Blk=nko}', "");
-Expect(1, 1983, '\p{^Is_Blk=nko}', "");
-Expect(1, 1983, '\P{Is_Blk=nko}', "");
-Expect(0, 1983, '\P{^Is_Blk=nko}', "");
-Expect(1, 2047, '\p{Is_Blk=__NKo}', "");
-Expect(0, 2047, '\p{^Is_Blk=__NKo}', "");
-Expect(0, 2047, '\P{Is_Blk=__NKo}', "");
-Expect(1, 2047, '\P{^Is_Blk=__NKo}', "");
-Expect(0, 1983, '\p{Is_Blk=__NKo}', "");
-Expect(1, 1983, '\p{^Is_Blk=__NKo}', "");
-Expect(1, 1983, '\P{Is_Blk=__NKo}', "");
-Expect(0, 1983, '\P{^Is_Blk=__NKo}', "");
-Error('\p{Block= MUSICAL:=Symbols}');
-Error('\P{Block= MUSICAL:=Symbols}');
-Expect(1, 119295, '\p{Block=musicalsymbols}', "");
-Expect(0, 119295, '\p{^Block=musicalsymbols}', "");
-Expect(0, 119295, '\P{Block=musicalsymbols}', "");
-Expect(1, 119295, '\P{^Block=musicalsymbols}', "");
-Expect(0, 119039, '\p{Block=musicalsymbols}', "");
-Expect(1, 119039, '\p{^Block=musicalsymbols}', "");
-Expect(1, 119039, '\P{Block=musicalsymbols}', "");
-Expect(0, 119039, '\P{^Block=musicalsymbols}', "");
-Expect(1, 119295, '\p{Block= _Musical-Symbols}', "");
-Expect(0, 119295, '\p{^Block= _Musical-Symbols}', "");
-Expect(0, 119295, '\P{Block= _Musical-Symbols}', "");
-Expect(1, 119295, '\P{^Block= _Musical-Symbols}', "");
-Expect(0, 119039, '\p{Block= _Musical-Symbols}', "");
-Expect(1, 119039, '\p{^Block= _Musical-Symbols}', "");
-Expect(1, 119039, '\P{Block= _Musical-Symbols}', "");
-Expect(0, 119039, '\P{^Block= _Musical-Symbols}', "");
-Error('\p{Blk=:=_MUSICAL_symbols}');
-Error('\P{Blk=:=_MUSICAL_symbols}');
-Expect(1, 119295, '\p{Blk=musicalsymbols}', "");
-Expect(0, 119295, '\p{^Blk=musicalsymbols}', "");
-Expect(0, 119295, '\P{Blk=musicalsymbols}', "");
-Expect(1, 119295, '\P{^Blk=musicalsymbols}', "");
-Expect(0, 119039, '\p{Blk=musicalsymbols}', "");
-Expect(1, 119039, '\p{^Blk=musicalsymbols}', "");
-Expect(1, 119039, '\P{Blk=musicalsymbols}', "");
-Expect(0, 119039, '\P{^Blk=musicalsymbols}', "");
-Expect(1, 119295, '\p{Blk= -musical-Symbols}', "");
-Expect(0, 119295, '\p{^Blk= -musical-Symbols}', "");
-Expect(0, 119295, '\P{Blk= -musical-Symbols}', "");
-Expect(1, 119295, '\P{^Blk= -musical-Symbols}', "");
-Expect(0, 119039, '\p{Blk= -musical-Symbols}', "");
-Expect(1, 119039, '\p{^Blk= -musical-Symbols}', "");
-Expect(1, 119039, '\P{Blk= -musical-Symbols}', "");
-Expect(0, 119039, '\P{^Blk= -musical-Symbols}', "");
-Error('\p{Is_Block=/a/ musical symbols}');
-Error('\P{Is_Block=/a/ musical symbols}');
-Expect(1, 119295, '\p{Is_Block=musicalsymbols}', "");
-Expect(0, 119295, '\p{^Is_Block=musicalsymbols}', "");
-Expect(0, 119295, '\P{Is_Block=musicalsymbols}', "");
-Expect(1, 119295, '\P{^Is_Block=musicalsymbols}', "");
-Expect(0, 119039, '\p{Is_Block=musicalsymbols}', "");
-Expect(1, 119039, '\p{^Is_Block=musicalsymbols}', "");
-Expect(1, 119039, '\P{Is_Block=musicalsymbols}', "");
-Expect(0, 119039, '\P{^Is_Block=musicalsymbols}', "");
-Expect(1, 119295, '\p{Is_Block=__Musicalsymbols}', "");
-Expect(0, 119295, '\p{^Is_Block=__Musicalsymbols}', "");
-Expect(0, 119295, '\P{Is_Block=__Musicalsymbols}', "");
-Expect(1, 119295, '\P{^Is_Block=__Musicalsymbols}', "");
-Expect(0, 119039, '\p{Is_Block=__Musicalsymbols}', "");
-Expect(1, 119039, '\p{^Is_Block=__Musicalsymbols}', "");
-Expect(1, 119039, '\P{Is_Block=__Musicalsymbols}', "");
-Expect(0, 119039, '\P{^Is_Block=__Musicalsymbols}', "");
-Error('\p{Is_Blk=Musical/a/Symbols}');
-Error('\P{Is_Blk=Musical/a/Symbols}');
-Expect(1, 119295, '\p{Is_Blk=musicalsymbols}', "");
-Expect(0, 119295, '\p{^Is_Blk=musicalsymbols}', "");
-Expect(0, 119295, '\P{Is_Blk=musicalsymbols}', "");
-Expect(1, 119295, '\P{^Is_Blk=musicalsymbols}', "");
-Expect(0, 119039, '\p{Is_Blk=musicalsymbols}', "");
-Expect(1, 119039, '\p{^Is_Blk=musicalsymbols}', "");
-Expect(1, 119039, '\P{Is_Blk=musicalsymbols}', "");
-Expect(0, 119039, '\P{^Is_Blk=musicalsymbols}', "");
-Expect(1, 119295, '\p{Is_Blk=-_Musical Symbols}', "");
-Expect(0, 119295, '\p{^Is_Blk=-_Musical Symbols}', "");
-Expect(0, 119295, '\P{Is_Blk=-_Musical Symbols}', "");
-Expect(1, 119295, '\P{^Is_Blk=-_Musical Symbols}', "");
-Expect(0, 119039, '\p{Is_Blk=-_Musical Symbols}', "");
-Expect(1, 119039, '\p{^Is_Blk=-_Musical Symbols}', "");
-Expect(1, 119039, '\P{Is_Blk=-_Musical Symbols}', "");
-Expect(0, 119039, '\P{^Is_Blk=-_Musical Symbols}', "");
-Error('\p{Block=/a/Miscellaneous Symbols}');
-Error('\P{Block=/a/Miscellaneous Symbols}');
-Expect(1, 9983, '\p{Block: miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^Block: miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{Block: miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^Block: miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{Block: miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^Block: miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{Block: miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^Block: miscellaneoussymbols}', "");
-Expect(1, 9983, '\p{Block: Miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^Block: Miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{Block: Miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^Block: Miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{Block: Miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^Block: Miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{Block: Miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^Block: Miscellaneoussymbols}', "");
-Error('\p{Blk: -MiscellaneousSymbols:=}');
-Error('\P{Blk: -MiscellaneousSymbols:=}');
-Expect(1, 9983, '\p{Blk=miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^Blk=miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{Blk=miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^Blk=miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{Blk=miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^Blk=miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{Blk=miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^Blk=miscellaneoussymbols}', "");
-Expect(1, 9983, '\p{Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(0, 9983, '\p{^Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(0, 9983, '\P{Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(1, 9983, '\P{^Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(0, 9727, '\p{Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(1, 9727, '\p{^Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(1, 9727, '\P{Blk=_-MISCELLANEOUS Symbols}', "");
-Expect(0, 9727, '\P{^Blk=_-MISCELLANEOUS Symbols}', "");
-Error('\p{Is_Block=-/a/miscellaneous Symbols}');
-Error('\P{Is_Block=-/a/miscellaneous Symbols}');
-Expect(1, 9983, '\p{Is_Block=miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^Is_Block=miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{Is_Block=miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^Is_Block=miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{Is_Block=miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^Is_Block=miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{Is_Block=miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^Is_Block=miscellaneoussymbols}', "");
-Expect(1, 9983, '\p{Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(0, 9983, '\p{^Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(0, 9983, '\P{Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(1, 9983, '\P{^Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(0, 9727, '\p{Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(1, 9727, '\p{^Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(1, 9727, '\P{Is_Block= MISCELLANEOUS-Symbols}', "");
-Expect(0, 9727, '\P{^Is_Block= MISCELLANEOUS-Symbols}', "");
-Error('\p{Is_Blk: MISCELLANEOUS:=Symbols}');
-Error('\P{Is_Blk: MISCELLANEOUS:=Symbols}');
-Expect(1, 9983, '\p{Is_Blk=miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^Is_Blk=miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{Is_Blk=miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^Is_Blk=miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{Is_Blk=miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^Is_Blk=miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{Is_Blk=miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^Is_Blk=miscellaneoussymbols}', "");
-Expect(1, 9983, '\p{Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(0, 9983, '\p{^Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(0, 9983, '\P{Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(1, 9983, '\P{^Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(0, 9727, '\p{Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(1, 9727, '\p{^Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(1, 9727, '\P{Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Expect(0, 9727, '\P{^Is_Blk: -MISCELLANEOUS SYMBOLS}', "");
-Error('\p{Block: := RUNIC}');
-Error('\P{Block: := RUNIC}');
-Expect(1, 5887, '\p{Block=runic}', "");
-Expect(0, 5887, '\p{^Block=runic}', "");
-Expect(0, 5887, '\P{Block=runic}', "");
-Expect(1, 5887, '\P{^Block=runic}', "");
-Expect(0, 5791, '\p{Block=runic}', "");
-Expect(1, 5791, '\p{^Block=runic}', "");
-Expect(1, 5791, '\P{Block=runic}', "");
-Expect(0, 5791, '\P{^Block=runic}', "");
-Expect(1, 5887, '\p{Block= -Runic}', "");
-Expect(0, 5887, '\p{^Block= -Runic}', "");
-Expect(0, 5887, '\P{Block= -Runic}', "");
-Expect(1, 5887, '\P{^Block= -Runic}', "");
-Expect(0, 5791, '\p{Block= -Runic}', "");
-Expect(1, 5791, '\p{^Block= -Runic}', "");
-Expect(1, 5791, '\P{Block= -Runic}', "");
-Expect(0, 5791, '\P{^Block= -Runic}', "");
-Error('\p{Blk= Runic/a/}');
-Error('\P{Blk= Runic/a/}');
-Expect(1, 5887, '\p{Blk=runic}', "");
-Expect(0, 5887, '\p{^Blk=runic}', "");
-Expect(0, 5887, '\P{Blk=runic}', "");
-Expect(1, 5887, '\P{^Blk=runic}', "");
-Expect(0, 5791, '\p{Blk=runic}', "");
-Expect(1, 5791, '\p{^Blk=runic}', "");
-Expect(1, 5791, '\P{Blk=runic}', "");
-Expect(0, 5791, '\P{^Blk=runic}', "");
-Expect(1, 5887, '\p{Blk=--RUNIC}', "");
-Expect(0, 5887, '\p{^Blk=--RUNIC}', "");
-Expect(0, 5887, '\P{Blk=--RUNIC}', "");
-Expect(1, 5887, '\P{^Blk=--RUNIC}', "");
-Expect(0, 5791, '\p{Blk=--RUNIC}', "");
-Expect(1, 5791, '\p{^Blk=--RUNIC}', "");
-Expect(1, 5791, '\P{Blk=--RUNIC}', "");
-Expect(0, 5791, '\P{^Blk=--RUNIC}', "");
-Error('\p{Is_Block=:= Runic}');
-Error('\P{Is_Block=:= Runic}');
-Expect(1, 5887, '\p{Is_Block=runic}', "");
-Expect(0, 5887, '\p{^Is_Block=runic}', "");
-Expect(0, 5887, '\P{Is_Block=runic}', "");
-Expect(1, 5887, '\P{^Is_Block=runic}', "");
-Expect(0, 5791, '\p{Is_Block=runic}', "");
-Expect(1, 5791, '\p{^Is_Block=runic}', "");
-Expect(1, 5791, '\P{Is_Block=runic}', "");
-Expect(0, 5791, '\P{^Is_Block=runic}', "");
-Expect(1, 5887, '\p{Is_Block=_ Runic}', "");
-Expect(0, 5887, '\p{^Is_Block=_ Runic}', "");
-Expect(0, 5887, '\P{Is_Block=_ Runic}', "");
-Expect(1, 5887, '\P{^Is_Block=_ Runic}', "");
-Expect(0, 5791, '\p{Is_Block=_ Runic}', "");
-Expect(1, 5791, '\p{^Is_Block=_ Runic}', "");
-Expect(1, 5791, '\P{Is_Block=_ Runic}', "");
-Expect(0, 5791, '\P{^Is_Block=_ Runic}', "");
-Error('\p{Is_Blk=-/a/runic}');
-Error('\P{Is_Blk=-/a/runic}');
-Expect(1, 5887, '\p{Is_Blk=runic}', "");
-Expect(0, 5887, '\p{^Is_Blk=runic}', "");
-Expect(0, 5887, '\P{Is_Blk=runic}', "");
-Expect(1, 5887, '\P{^Is_Blk=runic}', "");
-Expect(0, 5791, '\p{Is_Blk=runic}', "");
-Expect(1, 5791, '\p{^Is_Blk=runic}', "");
-Expect(1, 5791, '\P{Is_Blk=runic}', "");
-Expect(0, 5791, '\P{^Is_Blk=runic}', "");
-Expect(1, 5887, '\p{Is_Blk= Runic}', "");
-Expect(0, 5887, '\p{^Is_Blk= Runic}', "");
-Expect(0, 5887, '\P{Is_Blk= Runic}', "");
-Expect(1, 5887, '\P{^Is_Blk= Runic}', "");
-Expect(0, 5791, '\p{Is_Blk= Runic}', "");
-Expect(1, 5791, '\p{^Is_Blk= Runic}', "");
-Expect(1, 5791, '\P{Is_Blk= Runic}', "");
-Expect(0, 5791, '\P{^Is_Blk= Runic}', "");
-Error('\p{Block=:= _lycian}');
-Error('\P{Block=:= _lycian}');
-Expect(1, 66207, '\p{Block=lycian}', "");
-Expect(0, 66207, '\p{^Block=lycian}', "");
-Expect(0, 66207, '\P{Block=lycian}', "");
-Expect(1, 66207, '\P{^Block=lycian}', "");
-Expect(0, 66175, '\p{Block=lycian}', "");
-Expect(1, 66175, '\p{^Block=lycian}', "");
-Expect(1, 66175, '\P{Block=lycian}', "");
-Expect(0, 66175, '\P{^Block=lycian}', "");
-Expect(1, 66207, '\p{Block= _lycian}', "");
-Expect(0, 66207, '\p{^Block= _lycian}', "");
-Expect(0, 66207, '\P{Block= _lycian}', "");
-Expect(1, 66207, '\P{^Block= _lycian}', "");
-Expect(0, 66175, '\p{Block= _lycian}', "");
-Expect(1, 66175, '\p{^Block= _lycian}', "");
-Expect(1, 66175, '\P{Block= _lycian}', "");
-Expect(0, 66175, '\P{^Block= _lycian}', "");
-Error('\p{Blk: _ lycian:=}');
-Error('\P{Blk: _ lycian:=}');
-Expect(1, 66207, '\p{Blk=lycian}', "");
-Expect(0, 66207, '\p{^Blk=lycian}', "");
-Expect(0, 66207, '\P{Blk=lycian}', "");
-Expect(1, 66207, '\P{^Blk=lycian}', "");
-Expect(0, 66175, '\p{Blk=lycian}', "");
-Expect(1, 66175, '\p{^Blk=lycian}', "");
-Expect(1, 66175, '\P{Blk=lycian}', "");
-Expect(0, 66175, '\P{^Blk=lycian}', "");
-Expect(1, 66207, '\p{Blk=_ Lycian}', "");
-Expect(0, 66207, '\p{^Blk=_ Lycian}', "");
-Expect(0, 66207, '\P{Blk=_ Lycian}', "");
-Expect(1, 66207, '\P{^Blk=_ Lycian}', "");
-Expect(0, 66175, '\p{Blk=_ Lycian}', "");
-Expect(1, 66175, '\p{^Blk=_ Lycian}', "");
-Expect(1, 66175, '\P{Blk=_ Lycian}', "");
-Expect(0, 66175, '\P{^Blk=_ Lycian}', "");
-Error('\p{Is_Block=Lycian/a/}');
-Error('\P{Is_Block=Lycian/a/}');
-Expect(1, 66207, '\p{Is_Block:lycian}', "");
-Expect(0, 66207, '\p{^Is_Block:lycian}', "");
-Expect(0, 66207, '\P{Is_Block:lycian}', "");
-Expect(1, 66207, '\P{^Is_Block:lycian}', "");
-Expect(0, 66175, '\p{Is_Block:lycian}', "");
-Expect(1, 66175, '\p{^Is_Block:lycian}', "");
-Expect(1, 66175, '\P{Is_Block:lycian}', "");
-Expect(0, 66175, '\P{^Is_Block:lycian}', "");
-Expect(1, 66207, '\p{Is_Block=Lycian}', "");
-Expect(0, 66207, '\p{^Is_Block=Lycian}', "");
-Expect(0, 66207, '\P{Is_Block=Lycian}', "");
-Expect(1, 66207, '\P{^Is_Block=Lycian}', "");
-Expect(0, 66175, '\p{Is_Block=Lycian}', "");
-Expect(1, 66175, '\p{^Is_Block=Lycian}', "");
-Expect(1, 66175, '\P{Is_Block=Lycian}', "");
-Expect(0, 66175, '\P{^Is_Block=Lycian}', "");
-Error('\p{Is_Blk=:=Lycian}');
-Error('\P{Is_Blk=:=Lycian}');
-Expect(1, 66207, '\p{Is_Blk=lycian}', "");
-Expect(0, 66207, '\p{^Is_Blk=lycian}', "");
-Expect(0, 66207, '\P{Is_Blk=lycian}', "");
-Expect(1, 66207, '\P{^Is_Blk=lycian}', "");
-Expect(0, 66175, '\p{Is_Blk=lycian}', "");
-Expect(1, 66175, '\p{^Is_Blk=lycian}', "");
-Expect(1, 66175, '\P{Is_Blk=lycian}', "");
-Expect(0, 66175, '\P{^Is_Blk=lycian}', "");
-Expect(1, 66207, '\p{Is_Blk=- Lycian}', "");
-Expect(0, 66207, '\p{^Is_Blk=- Lycian}', "");
-Expect(0, 66207, '\P{Is_Blk=- Lycian}', "");
-Expect(1, 66207, '\P{^Is_Blk=- Lycian}', "");
-Expect(0, 66175, '\p{Is_Blk=- Lycian}', "");
-Expect(1, 66175, '\p{^Is_Blk=- Lycian}', "");
-Expect(1, 66175, '\P{Is_Blk=- Lycian}', "");
-Expect(0, 66175, '\P{^Is_Blk=- Lycian}', "");
-Error('\p{Block: :=Geometric_Shapes}');
-Error('\P{Block: :=Geometric_Shapes}');
-Expect(1, 9727, '\p{Block=geometricshapes}', "");
-Expect(0, 9727, '\p{^Block=geometricshapes}', "");
-Expect(0, 9727, '\P{Block=geometricshapes}', "");
-Expect(1, 9727, '\P{^Block=geometricshapes}', "");
-Expect(0, 9631, '\p{Block=geometricshapes}', "");
-Expect(1, 9631, '\p{^Block=geometricshapes}', "");
-Expect(1, 9631, '\P{Block=geometricshapes}', "");
-Expect(0, 9631, '\P{^Block=geometricshapes}', "");
-Expect(1, 9727, '\p{Block= geometric shapes}', "");
-Expect(0, 9727, '\p{^Block= geometric shapes}', "");
-Expect(0, 9727, '\P{Block= geometric shapes}', "");
-Expect(1, 9727, '\P{^Block= geometric shapes}', "");
-Expect(0, 9631, '\p{Block= geometric shapes}', "");
-Expect(1, 9631, '\p{^Block= geometric shapes}', "");
-Expect(1, 9631, '\P{Block= geometric shapes}', "");
-Expect(0, 9631, '\P{^Block= geometric shapes}', "");
-Error('\p{Blk:__Geometric:=shapes}');
-Error('\P{Blk:__Geometric:=shapes}');
-Expect(1, 9727, '\p{Blk=geometricshapes}', "");
-Expect(0, 9727, '\p{^Blk=geometricshapes}', "");
-Expect(0, 9727, '\P{Blk=geometricshapes}', "");
-Expect(1, 9727, '\P{^Blk=geometricshapes}', "");
-Expect(0, 9631, '\p{Blk=geometricshapes}', "");
-Expect(1, 9631, '\p{^Blk=geometricshapes}', "");
-Expect(1, 9631, '\P{Blk=geometricshapes}', "");
-Expect(0, 9631, '\P{^Blk=geometricshapes}', "");
-Expect(1, 9727, '\p{Blk:-GEOMETRIC Shapes}', "");
-Expect(0, 9727, '\p{^Blk:-GEOMETRIC Shapes}', "");
-Expect(0, 9727, '\P{Blk:-GEOMETRIC Shapes}', "");
-Expect(1, 9727, '\P{^Blk:-GEOMETRIC Shapes}', "");
-Expect(0, 9631, '\p{Blk:-GEOMETRIC Shapes}', "");
-Expect(1, 9631, '\p{^Blk:-GEOMETRIC Shapes}', "");
-Expect(1, 9631, '\P{Blk:-GEOMETRIC Shapes}', "");
-Expect(0, 9631, '\P{^Blk:-GEOMETRIC Shapes}', "");
-Error('\p{Is_Block=:=Geometric-Shapes}');
-Error('\P{Is_Block=:=Geometric-Shapes}');
-Expect(1, 9727, '\p{Is_Block: geometricshapes}', "");
-Expect(0, 9727, '\p{^Is_Block: geometricshapes}', "");
-Expect(0, 9727, '\P{Is_Block: geometricshapes}', "");
-Expect(1, 9727, '\P{^Is_Block: geometricshapes}', "");
-Expect(0, 9631, '\p{Is_Block: geometricshapes}', "");
-Expect(1, 9631, '\p{^Is_Block: geometricshapes}', "");
-Expect(1, 9631, '\P{Is_Block: geometricshapes}', "");
-Expect(0, 9631, '\P{^Is_Block: geometricshapes}', "");
-Expect(1, 9727, '\p{Is_Block= geometricSHAPES}', "");
-Expect(0, 9727, '\p{^Is_Block= geometricSHAPES}', "");
-Expect(0, 9727, '\P{Is_Block= geometricSHAPES}', "");
-Expect(1, 9727, '\P{^Is_Block= geometricSHAPES}', "");
-Expect(0, 9631, '\p{Is_Block= geometricSHAPES}', "");
-Expect(1, 9631, '\p{^Is_Block= geometricSHAPES}', "");
-Expect(1, 9631, '\P{Is_Block= geometricSHAPES}', "");
-Expect(0, 9631, '\P{^Is_Block= geometricSHAPES}', "");
-Error('\p{Is_Blk= -Geometric SHAPES/a/}');
-Error('\P{Is_Blk= -Geometric SHAPES/a/}');
-Expect(1, 9727, '\p{Is_Blk=geometricshapes}', "");
-Expect(0, 9727, '\p{^Is_Blk=geometricshapes}', "");
-Expect(0, 9727, '\P{Is_Blk=geometricshapes}', "");
-Expect(1, 9727, '\P{^Is_Blk=geometricshapes}', "");
-Expect(0, 9631, '\p{Is_Blk=geometricshapes}', "");
-Expect(1, 9631, '\p{^Is_Blk=geometricshapes}', "");
-Expect(1, 9631, '\P{Is_Blk=geometricshapes}', "");
-Expect(0, 9631, '\P{^Is_Blk=geometricshapes}', "");
-Expect(1, 9727, '\p{Is_Blk: Geometric shapes}', "");
-Expect(0, 9727, '\p{^Is_Blk: Geometric shapes}', "");
-Expect(0, 9727, '\P{Is_Blk: Geometric shapes}', "");
-Expect(1, 9727, '\P{^Is_Blk: Geometric shapes}', "");
-Expect(0, 9631, '\p{Is_Blk: Geometric shapes}', "");
-Expect(1, 9631, '\p{^Is_Blk: Geometric shapes}', "");
-Expect(1, 9631, '\P{Is_Blk: Geometric shapes}', "");
-Expect(0, 9631, '\P{^Is_Blk: Geometric shapes}', "");
-Error('\p{Block=_/a/Aegean_Numbers}');
-Error('\P{Block=_/a/Aegean_Numbers}');
-Expect(1, 65855, '\p{Block: aegeannumbers}', "");
-Expect(0, 65855, '\p{^Block: aegeannumbers}', "");
-Expect(0, 65855, '\P{Block: aegeannumbers}', "");
-Expect(1, 65855, '\P{^Block: aegeannumbers}', "");
-Expect(0, 65791, '\p{Block: aegeannumbers}', "");
-Expect(1, 65791, '\p{^Block: aegeannumbers}', "");
-Expect(1, 65791, '\P{Block: aegeannumbers}', "");
-Expect(0, 65791, '\P{^Block: aegeannumbers}', "");
-Expect(1, 65855, '\p{Block:_Aegean-NUMBERS}', "");
-Expect(0, 65855, '\p{^Block:_Aegean-NUMBERS}', "");
-Expect(0, 65855, '\P{Block:_Aegean-NUMBERS}', "");
-Expect(1, 65855, '\P{^Block:_Aegean-NUMBERS}', "");
-Expect(0, 65791, '\p{Block:_Aegean-NUMBERS}', "");
-Expect(1, 65791, '\p{^Block:_Aegean-NUMBERS}', "");
-Expect(1, 65791, '\P{Block:_Aegean-NUMBERS}', "");
-Expect(0, 65791, '\P{^Block:_Aegean-NUMBERS}', "");
-Error('\p{Blk= Aegean_numbers/a/}');
-Error('\P{Blk= Aegean_numbers/a/}');
-Expect(1, 65855, '\p{Blk=aegeannumbers}', "");
-Expect(0, 65855, '\p{^Blk=aegeannumbers}', "");
-Expect(0, 65855, '\P{Blk=aegeannumbers}', "");
-Expect(1, 65855, '\P{^Blk=aegeannumbers}', "");
-Expect(0, 65791, '\p{Blk=aegeannumbers}', "");
-Expect(1, 65791, '\p{^Blk=aegeannumbers}', "");
-Expect(1, 65791, '\P{Blk=aegeannumbers}', "");
-Expect(0, 65791, '\P{^Blk=aegeannumbers}', "");
-Expect(1, 65855, '\p{Blk=__AEGEAN_numbers}', "");
-Expect(0, 65855, '\p{^Blk=__AEGEAN_numbers}', "");
-Expect(0, 65855, '\P{Blk=__AEGEAN_numbers}', "");
-Expect(1, 65855, '\P{^Blk=__AEGEAN_numbers}', "");
-Expect(0, 65791, '\p{Blk=__AEGEAN_numbers}', "");
-Expect(1, 65791, '\p{^Blk=__AEGEAN_numbers}', "");
-Expect(1, 65791, '\P{Blk=__AEGEAN_numbers}', "");
-Expect(0, 65791, '\P{^Blk=__AEGEAN_numbers}', "");
-Error('\p{Is_Block=_ Aegean numbers/a/}');
-Error('\P{Is_Block=_ Aegean numbers/a/}');
-Expect(1, 65855, '\p{Is_Block=aegeannumbers}', "");
-Expect(0, 65855, '\p{^Is_Block=aegeannumbers}', "");
-Expect(0, 65855, '\P{Is_Block=aegeannumbers}', "");
-Expect(1, 65855, '\P{^Is_Block=aegeannumbers}', "");
-Expect(0, 65791, '\p{Is_Block=aegeannumbers}', "");
-Expect(1, 65791, '\p{^Is_Block=aegeannumbers}', "");
-Expect(1, 65791, '\P{Is_Block=aegeannumbers}', "");
-Expect(0, 65791, '\P{^Is_Block=aegeannumbers}', "");
-Expect(1, 65855, '\p{Is_Block= Aegean-numbers}', "");
-Expect(0, 65855, '\p{^Is_Block= Aegean-numbers}', "");
-Expect(0, 65855, '\P{Is_Block= Aegean-numbers}', "");
-Expect(1, 65855, '\P{^Is_Block= Aegean-numbers}', "");
-Expect(0, 65791, '\p{Is_Block= Aegean-numbers}', "");
-Expect(1, 65791, '\p{^Is_Block= Aegean-numbers}', "");
-Expect(1, 65791, '\P{Is_Block= Aegean-numbers}', "");
-Expect(0, 65791, '\P{^Is_Block= Aegean-numbers}', "");
-Error('\p{Is_Blk= :=Aegean Numbers}');
-Error('\P{Is_Blk= :=Aegean Numbers}');
-Expect(1, 65855, '\p{Is_Blk=aegeannumbers}', "");
-Expect(0, 65855, '\p{^Is_Blk=aegeannumbers}', "");
-Expect(0, 65855, '\P{Is_Blk=aegeannumbers}', "");
-Expect(1, 65855, '\P{^Is_Blk=aegeannumbers}', "");
-Expect(0, 65791, '\p{Is_Blk=aegeannumbers}', "");
-Expect(1, 65791, '\p{^Is_Blk=aegeannumbers}', "");
-Expect(1, 65791, '\P{Is_Blk=aegeannumbers}', "");
-Expect(0, 65791, '\P{^Is_Blk=aegeannumbers}', "");
-Expect(1, 65855, '\p{Is_Blk=aegean_numbers}', "");
-Expect(0, 65855, '\p{^Is_Blk=aegean_numbers}', "");
-Expect(0, 65855, '\P{Is_Blk=aegean_numbers}', "");
-Expect(1, 65855, '\P{^Is_Blk=aegean_numbers}', "");
-Expect(0, 65791, '\p{Is_Blk=aegean_numbers}', "");
-Expect(1, 65791, '\p{^Is_Blk=aegean_numbers}', "");
-Expect(1, 65791, '\P{Is_Blk=aegean_numbers}', "");
-Expect(0, 65791, '\P{^Is_Blk=aegean_numbers}', "");
-Error('\p{Block: /a/ _khmer symbols}');
-Error('\P{Block: /a/ _khmer symbols}');
-Expect(1, 6655, '\p{Block: khmersymbols}', "");
-Expect(0, 6655, '\p{^Block: khmersymbols}', "");
-Expect(0, 6655, '\P{Block: khmersymbols}', "");
-Expect(1, 6655, '\P{^Block: khmersymbols}', "");
-Expect(0, 6623, '\p{Block: khmersymbols}', "");
-Expect(1, 6623, '\p{^Block: khmersymbols}', "");
-Expect(1, 6623, '\P{Block: khmersymbols}', "");
-Expect(0, 6623, '\P{^Block: khmersymbols}', "");
-Expect(1, 6655, '\p{Block= _KHMER Symbols}', "");
-Expect(0, 6655, '\p{^Block= _KHMER Symbols}', "");
-Expect(0, 6655, '\P{Block= _KHMER Symbols}', "");
-Expect(1, 6655, '\P{^Block= _KHMER Symbols}', "");
-Expect(0, 6623, '\p{Block= _KHMER Symbols}', "");
-Expect(1, 6623, '\p{^Block= _KHMER Symbols}', "");
-Expect(1, 6623, '\P{Block= _KHMER Symbols}', "");
-Expect(0, 6623, '\P{^Block= _KHMER Symbols}', "");
-Error('\p{Blk= _Khmer Symbols:=}');
-Error('\P{Blk= _Khmer Symbols:=}');
-Expect(1, 6655, '\p{Blk=khmersymbols}', "");
-Expect(0, 6655, '\p{^Blk=khmersymbols}', "");
-Expect(0, 6655, '\P{Blk=khmersymbols}', "");
-Expect(1, 6655, '\P{^Blk=khmersymbols}', "");
-Expect(0, 6623, '\p{Blk=khmersymbols}', "");
-Expect(1, 6623, '\p{^Blk=khmersymbols}', "");
-Expect(1, 6623, '\P{Blk=khmersymbols}', "");
-Expect(0, 6623, '\P{^Blk=khmersymbols}', "");
-Expect(1, 6655, '\p{Blk: Khmer-Symbols}', "");
-Expect(0, 6655, '\p{^Blk: Khmer-Symbols}', "");
-Expect(0, 6655, '\P{Blk: Khmer-Symbols}', "");
-Expect(1, 6655, '\P{^Blk: Khmer-Symbols}', "");
-Expect(0, 6623, '\p{Blk: Khmer-Symbols}', "");
-Expect(1, 6623, '\p{^Blk: Khmer-Symbols}', "");
-Expect(1, 6623, '\P{Blk: Khmer-Symbols}', "");
-Expect(0, 6623, '\P{^Blk: Khmer-Symbols}', "");
-Error('\p{Is_Block=-/a/Khmer Symbols}');
-Error('\P{Is_Block=-/a/Khmer Symbols}');
-Expect(1, 6655, '\p{Is_Block=khmersymbols}', "");
-Expect(0, 6655, '\p{^Is_Block=khmersymbols}', "");
-Expect(0, 6655, '\P{Is_Block=khmersymbols}', "");
-Expect(1, 6655, '\P{^Is_Block=khmersymbols}', "");
-Expect(0, 6623, '\p{Is_Block=khmersymbols}', "");
-Expect(1, 6623, '\p{^Is_Block=khmersymbols}', "");
-Expect(1, 6623, '\P{Is_Block=khmersymbols}', "");
-Expect(0, 6623, '\P{^Is_Block=khmersymbols}', "");
-Expect(1, 6655, '\p{Is_Block= Khmer_symbols}', "");
-Expect(0, 6655, '\p{^Is_Block= Khmer_symbols}', "");
-Expect(0, 6655, '\P{Is_Block= Khmer_symbols}', "");
-Expect(1, 6655, '\P{^Is_Block= Khmer_symbols}', "");
-Expect(0, 6623, '\p{Is_Block= Khmer_symbols}', "");
-Expect(1, 6623, '\p{^Is_Block= Khmer_symbols}', "");
-Expect(1, 6623, '\P{Is_Block= Khmer_symbols}', "");
-Expect(0, 6623, '\P{^Is_Block= Khmer_symbols}', "");
-Error('\p{Is_Blk=:=khmer_symbols}');
-Error('\P{Is_Blk=:=khmer_symbols}');
-Expect(1, 6655, '\p{Is_Blk=khmersymbols}', "");
-Expect(0, 6655, '\p{^Is_Blk=khmersymbols}', "");
-Expect(0, 6655, '\P{Is_Blk=khmersymbols}', "");
-Expect(1, 6655, '\P{^Is_Blk=khmersymbols}', "");
-Expect(0, 6623, '\p{Is_Blk=khmersymbols}', "");
-Expect(1, 6623, '\p{^Is_Blk=khmersymbols}', "");
-Expect(1, 6623, '\P{Is_Blk=khmersymbols}', "");
-Expect(0, 6623, '\P{^Is_Blk=khmersymbols}', "");
-Expect(1, 6655, '\p{Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(0, 6655, '\p{^Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(0, 6655, '\P{Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(1, 6655, '\P{^Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(0, 6623, '\p{Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(1, 6623, '\p{^Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(1, 6623, '\P{Is_Blk: _ KHMER SYMBOLS}', "");
-Expect(0, 6623, '\P{^Is_Blk: _ KHMER SYMBOLS}', "");
-Error('\p{Block=:=CJK-Radicals SUPPLEMENT}');
-Error('\P{Block=:=CJK-Radicals SUPPLEMENT}');
-Expect(1, 12031, '\p{Block=cjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^Block=cjkradicalssupplement}', "");
-Expect(0, 12031, '\P{Block=cjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^Block=cjkradicalssupplement}', "");
-Expect(0, 11903, '\p{Block=cjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^Block=cjkradicalssupplement}', "");
-Expect(1, 11903, '\P{Block=cjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^Block=cjkradicalssupplement}', "");
-Expect(1, 12031, '\p{Block=-CJK Radicalssupplement}', "");
-Expect(0, 12031, '\p{^Block=-CJK Radicalssupplement}', "");
-Expect(0, 12031, '\P{Block=-CJK Radicalssupplement}', "");
-Expect(1, 12031, '\P{^Block=-CJK Radicalssupplement}', "");
-Expect(0, 11903, '\p{Block=-CJK Radicalssupplement}', "");
-Expect(1, 11903, '\p{^Block=-CJK Radicalssupplement}', "");
-Expect(1, 11903, '\P{Block=-CJK Radicalssupplement}', "");
-Expect(0, 11903, '\P{^Block=-CJK Radicalssupplement}', "");
-Error('\p{Blk=-CJK:=radicals SUPPLEMENT}');
-Error('\P{Blk=-CJK:=radicals SUPPLEMENT}');
-Expect(1, 12031, '\p{Blk=cjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^Blk=cjkradicalssupplement}', "");
-Expect(0, 12031, '\P{Blk=cjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^Blk=cjkradicalssupplement}', "");
-Expect(0, 11903, '\p{Blk=cjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^Blk=cjkradicalssupplement}', "");
-Expect(1, 11903, '\P{Blk=cjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^Blk=cjkradicalssupplement}', "");
-Expect(1, 12031, '\p{Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(0, 12031, '\p{^Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(0, 12031, '\P{Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(1, 12031, '\P{^Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(0, 11903, '\p{Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(1, 11903, '\p{^Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(1, 11903, '\P{Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Expect(0, 11903, '\P{^Blk=_ CJK_radicals-SUPPLEMENT}', "");
-Error('\p{Is_Block=:=CJKradicals-SUPPLEMENT}');
-Error('\P{Is_Block=:=CJKradicals-SUPPLEMENT}');
-Expect(1, 12031, '\p{Is_Block=cjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^Is_Block=cjkradicalssupplement}', "");
-Expect(0, 12031, '\P{Is_Block=cjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^Is_Block=cjkradicalssupplement}', "");
-Expect(0, 11903, '\p{Is_Block=cjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^Is_Block=cjkradicalssupplement}', "");
-Expect(1, 11903, '\P{Is_Block=cjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^Is_Block=cjkradicalssupplement}', "");
-Expect(1, 12031, '\p{Is_Block= cjk radicals Supplement}', "");
-Expect(0, 12031, '\p{^Is_Block= cjk radicals Supplement}', "");
-Expect(0, 12031, '\P{Is_Block= cjk radicals Supplement}', "");
-Expect(1, 12031, '\P{^Is_Block= cjk radicals Supplement}', "");
-Expect(0, 11903, '\p{Is_Block= cjk radicals Supplement}', "");
-Expect(1, 11903, '\p{^Is_Block= cjk radicals Supplement}', "");
-Expect(1, 11903, '\P{Is_Block= cjk radicals Supplement}', "");
-Expect(0, 11903, '\P{^Is_Block= cjk radicals Supplement}', "");
-Error('\p{Is_Blk=:=CJK-radicals SUPPLEMENT}');
-Error('\P{Is_Blk=:=CJK-radicals SUPPLEMENT}');
-Expect(1, 12031, '\p{Is_Blk=cjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^Is_Blk=cjkradicalssupplement}', "");
-Expect(0, 12031, '\P{Is_Blk=cjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^Is_Blk=cjkradicalssupplement}', "");
-Expect(0, 11903, '\p{Is_Blk=cjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^Is_Blk=cjkradicalssupplement}', "");
-Expect(1, 11903, '\P{Is_Blk=cjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^Is_Blk=cjkradicalssupplement}', "");
-Expect(1, 12031, '\p{Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(0, 12031, '\p{^Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(0, 12031, '\P{Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(1, 12031, '\P{^Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(0, 11903, '\p{Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(1, 11903, '\p{^Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(1, 11903, '\P{Is_Blk= _cjkRadicals-Supplement}', "");
-Expect(0, 11903, '\P{^Is_Blk= _cjkRadicals-Supplement}', "");
-Error('\p{Block=/a/ImperialAramaic}');
-Error('\P{Block=/a/ImperialAramaic}');
-Expect(1, 67679, '\p{Block=imperialaramaic}', "");
-Expect(0, 67679, '\p{^Block=imperialaramaic}', "");
-Expect(0, 67679, '\P{Block=imperialaramaic}', "");
-Expect(1, 67679, '\P{^Block=imperialaramaic}', "");
-Expect(0, 67647, '\p{Block=imperialaramaic}', "");
-Expect(1, 67647, '\p{^Block=imperialaramaic}', "");
-Expect(1, 67647, '\P{Block=imperialaramaic}', "");
-Expect(0, 67647, '\P{^Block=imperialaramaic}', "");
-Expect(1, 67679, '\p{Block= Imperial_Aramaic}', "");
-Expect(0, 67679, '\p{^Block= Imperial_Aramaic}', "");
-Expect(0, 67679, '\P{Block= Imperial_Aramaic}', "");
-Expect(1, 67679, '\P{^Block= Imperial_Aramaic}', "");
-Expect(0, 67647, '\p{Block= Imperial_Aramaic}', "");
-Expect(1, 67647, '\p{^Block= Imperial_Aramaic}', "");
-Expect(1, 67647, '\P{Block= Imperial_Aramaic}', "");
-Expect(0, 67647, '\P{^Block= Imperial_Aramaic}', "");
-Error('\p{Blk: _ IMPERIAL aramaic/a/}');
-Error('\P{Blk: _ IMPERIAL aramaic/a/}');
-Expect(1, 67679, '\p{Blk=imperialaramaic}', "");
-Expect(0, 67679, '\p{^Blk=imperialaramaic}', "");
-Expect(0, 67679, '\P{Blk=imperialaramaic}', "");
-Expect(1, 67679, '\P{^Blk=imperialaramaic}', "");
-Expect(0, 67647, '\p{Blk=imperialaramaic}', "");
-Expect(1, 67647, '\p{^Blk=imperialaramaic}', "");
-Expect(1, 67647, '\P{Blk=imperialaramaic}', "");
-Expect(0, 67647, '\P{^Blk=imperialaramaic}', "");
-Expect(1, 67679, '\p{Blk=--imperial Aramaic}', "");
-Expect(0, 67679, '\p{^Blk=--imperial Aramaic}', "");
-Expect(0, 67679, '\P{Blk=--imperial Aramaic}', "");
-Expect(1, 67679, '\P{^Blk=--imperial Aramaic}', "");
-Expect(0, 67647, '\p{Blk=--imperial Aramaic}', "");
-Expect(1, 67647, '\p{^Blk=--imperial Aramaic}', "");
-Expect(1, 67647, '\P{Blk=--imperial Aramaic}', "");
-Expect(0, 67647, '\P{^Blk=--imperial Aramaic}', "");
-Error('\p{Is_Block: /a/imperial aramaic}');
-Error('\P{Is_Block: /a/imperial aramaic}');
-Expect(1, 67679, '\p{Is_Block=imperialaramaic}', "");
-Expect(0, 67679, '\p{^Is_Block=imperialaramaic}', "");
-Expect(0, 67679, '\P{Is_Block=imperialaramaic}', "");
-Expect(1, 67679, '\P{^Is_Block=imperialaramaic}', "");
-Expect(0, 67647, '\p{Is_Block=imperialaramaic}', "");
-Expect(1, 67647, '\p{^Is_Block=imperialaramaic}', "");
-Expect(1, 67647, '\P{Is_Block=imperialaramaic}', "");
-Expect(0, 67647, '\P{^Is_Block=imperialaramaic}', "");
-Expect(1, 67679, '\p{Is_Block=-_Imperial_aramaic}', "");
-Expect(0, 67679, '\p{^Is_Block=-_Imperial_aramaic}', "");
-Expect(0, 67679, '\P{Is_Block=-_Imperial_aramaic}', "");
-Expect(1, 67679, '\P{^Is_Block=-_Imperial_aramaic}', "");
-Expect(0, 67647, '\p{Is_Block=-_Imperial_aramaic}', "");
-Expect(1, 67647, '\p{^Is_Block=-_Imperial_aramaic}', "");
-Expect(1, 67647, '\P{Is_Block=-_Imperial_aramaic}', "");
-Expect(0, 67647, '\P{^Is_Block=-_Imperial_aramaic}', "");
-Error('\p{Is_Blk= Imperial-aramaic/a/}');
-Error('\P{Is_Blk= Imperial-aramaic/a/}');
-Expect(1, 67679, '\p{Is_Blk: imperialaramaic}', "");
-Expect(0, 67679, '\p{^Is_Blk: imperialaramaic}', "");
-Expect(0, 67679, '\P{Is_Blk: imperialaramaic}', "");
-Expect(1, 67679, '\P{^Is_Blk: imperialaramaic}', "");
-Expect(0, 67647, '\p{Is_Blk: imperialaramaic}', "");
-Expect(1, 67647, '\p{^Is_Blk: imperialaramaic}', "");
-Expect(1, 67647, '\P{Is_Blk: imperialaramaic}', "");
-Expect(0, 67647, '\P{^Is_Blk: imperialaramaic}', "");
-Expect(1, 67679, '\p{Is_Blk=_ imperial ARAMAIC}', "");
-Expect(0, 67679, '\p{^Is_Blk=_ imperial ARAMAIC}', "");
-Expect(0, 67679, '\P{Is_Blk=_ imperial ARAMAIC}', "");
-Expect(1, 67679, '\P{^Is_Blk=_ imperial ARAMAIC}', "");
-Expect(0, 67647, '\p{Is_Blk=_ imperial ARAMAIC}', "");
-Expect(1, 67647, '\p{^Is_Blk=_ imperial ARAMAIC}', "");
-Expect(1, 67647, '\P{Is_Blk=_ imperial ARAMAIC}', "");
-Expect(0, 67647, '\P{^Is_Blk=_ imperial ARAMAIC}', "");
-Error('\p{Block=_ Mathematical OPERATORS/a/}');
-Error('\P{Block=_ Mathematical OPERATORS/a/}');
-Expect(1, 8959, '\p{Block=mathematicaloperators}', "");
-Expect(0, 8959, '\p{^Block=mathematicaloperators}', "");
-Expect(0, 8959, '\P{Block=mathematicaloperators}', "");
-Expect(1, 8959, '\P{^Block=mathematicaloperators}', "");
-Expect(0, 8703, '\p{Block=mathematicaloperators}', "");
-Expect(1, 8703, '\p{^Block=mathematicaloperators}', "");
-Expect(1, 8703, '\P{Block=mathematicaloperators}', "");
-Expect(0, 8703, '\P{^Block=mathematicaloperators}', "");
-Expect(1, 8959, '\p{Block=MATHEMATICAL-Operators}', "");
-Expect(0, 8959, '\p{^Block=MATHEMATICAL-Operators}', "");
-Expect(0, 8959, '\P{Block=MATHEMATICAL-Operators}', "");
-Expect(1, 8959, '\P{^Block=MATHEMATICAL-Operators}', "");
-Expect(0, 8703, '\p{Block=MATHEMATICAL-Operators}', "");
-Expect(1, 8703, '\p{^Block=MATHEMATICAL-Operators}', "");
-Expect(1, 8703, '\P{Block=MATHEMATICAL-Operators}', "");
-Expect(0, 8703, '\P{^Block=MATHEMATICAL-Operators}', "");
-Error('\p{Blk: /a/mathematicalOperators}');
-Error('\P{Blk: /a/mathematicalOperators}');
-Expect(1, 8959, '\p{Blk=mathematicaloperators}', "");
-Expect(0, 8959, '\p{^Blk=mathematicaloperators}', "");
-Expect(0, 8959, '\P{Blk=mathematicaloperators}', "");
-Expect(1, 8959, '\P{^Blk=mathematicaloperators}', "");
-Expect(0, 8703, '\p{Blk=mathematicaloperators}', "");
-Expect(1, 8703, '\p{^Blk=mathematicaloperators}', "");
-Expect(1, 8703, '\P{Blk=mathematicaloperators}', "");
-Expect(0, 8703, '\P{^Blk=mathematicaloperators}', "");
-Expect(1, 8959, '\p{Blk: MATHEMATICAL OPERATORS}', "");
-Expect(0, 8959, '\p{^Blk: MATHEMATICAL OPERATORS}', "");
-Expect(0, 8959, '\P{Blk: MATHEMATICAL OPERATORS}', "");
-Expect(1, 8959, '\P{^Blk: MATHEMATICAL OPERATORS}', "");
-Expect(0, 8703, '\p{Blk: MATHEMATICAL OPERATORS}', "");
-Expect(1, 8703, '\p{^Blk: MATHEMATICAL OPERATORS}', "");
-Expect(1, 8703, '\P{Blk: MATHEMATICAL OPERATORS}', "");
-Expect(0, 8703, '\P{^Blk: MATHEMATICAL OPERATORS}', "");
-Error('\p{Is_Block=:=_mathematical-operators}');
-Error('\P{Is_Block=:=_mathematical-operators}');
-Expect(1, 8959, '\p{Is_Block=mathematicaloperators}', "");
-Expect(0, 8959, '\p{^Is_Block=mathematicaloperators}', "");
-Expect(0, 8959, '\P{Is_Block=mathematicaloperators}', "");
-Expect(1, 8959, '\P{^Is_Block=mathematicaloperators}', "");
-Expect(0, 8703, '\p{Is_Block=mathematicaloperators}', "");
-Expect(1, 8703, '\p{^Is_Block=mathematicaloperators}', "");
-Expect(1, 8703, '\P{Is_Block=mathematicaloperators}', "");
-Expect(0, 8703, '\P{^Is_Block=mathematicaloperators}', "");
-Expect(1, 8959, '\p{Is_Block=-_Mathematical_Operators}', "");
-Expect(0, 8959, '\p{^Is_Block=-_Mathematical_Operators}', "");
-Expect(0, 8959, '\P{Is_Block=-_Mathematical_Operators}', "");
-Expect(1, 8959, '\P{^Is_Block=-_Mathematical_Operators}', "");
-Expect(0, 8703, '\p{Is_Block=-_Mathematical_Operators}', "");
-Expect(1, 8703, '\p{^Is_Block=-_Mathematical_Operators}', "");
-Expect(1, 8703, '\P{Is_Block=-_Mathematical_Operators}', "");
-Expect(0, 8703, '\P{^Is_Block=-_Mathematical_Operators}', "");
-Error('\p{Is_Blk= _MATHEMATICAL-Operators:=}');
-Error('\P{Is_Blk= _MATHEMATICAL-Operators:=}');
-Expect(1, 8959, '\p{Is_Blk=mathematicaloperators}', "");
-Expect(0, 8959, '\p{^Is_Blk=mathematicaloperators}', "");
-Expect(0, 8959, '\P{Is_Blk=mathematicaloperators}', "");
-Expect(1, 8959, '\P{^Is_Blk=mathematicaloperators}', "");
-Expect(0, 8703, '\p{Is_Blk=mathematicaloperators}', "");
-Expect(1, 8703, '\p{^Is_Blk=mathematicaloperators}', "");
-Expect(1, 8703, '\P{Is_Blk=mathematicaloperators}', "");
-Expect(0, 8703, '\P{^Is_Blk=mathematicaloperators}', "");
-Expect(1, 8959, '\p{Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(0, 8959, '\p{^Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(0, 8959, '\P{Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(1, 8959, '\P{^Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(0, 8703, '\p{Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(1, 8703, '\p{^Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(1, 8703, '\P{Is_Blk= -MATHEMATICAL Operators}', "");
-Expect(0, 8703, '\P{^Is_Blk= -MATHEMATICAL Operators}', "");
-Error('\p{Block=- CJK/a/compatibilityIdeographs supplement}');
-Error('\P{Block=- CJK/a/compatibilityIdeographs supplement}');
-Expect(1, 195103, '\p{Block:cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^Block:cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{Block:cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^Block:cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{Block:cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^Block:cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{Block:cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^Block:cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(0, 195103, '\p{^Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(0, 195103, '\P{Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(1, 195103, '\P{^Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(0, 194559, '\p{Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(1, 194559, '\p{^Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(1, 194559, '\P{Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Expect(0, 194559, '\P{^Block: CJK_compatibilityIdeographs_SUPPLEMENT}', "");
-Error('\p{Blk= CJK-Compatibility_Ideographs_Supplement/a/}');
-Error('\P{Blk= CJK-Compatibility_Ideographs_Supplement/a/}');
-Expect(1, 195103, '\p{Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(0, 195103, '\p{^Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(0, 195103, '\P{Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(1, 195103, '\P{^Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(0, 194559, '\p{Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(1, 194559, '\p{^Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(1, 194559, '\P{Blk: CJK_Compatibility Ideographs Supplement}', "");
-Expect(0, 194559, '\P{^Blk: CJK_Compatibility Ideographs Supplement}', "");
-Error('\p{Is_Block= _cjk:=Compatibility_Ideographs_Supplement}');
-Error('\P{Is_Block= _cjk:=Compatibility_Ideographs_Supplement}');
-Expect(1, 195103, '\p{Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^Is_Block=cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(0, 195103, '\p{^Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(0, 195103, '\P{Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(1, 195103, '\P{^Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(0, 194559, '\p{Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(1, 194559, '\p{^Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(1, 194559, '\P{Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Expect(0, 194559, '\P{^Is_Block=--cjk Compatibility-ideographs supplement}', "");
-Error('\p{Is_Blk= -cjk COMPATIBILITY Ideographs:=supplement}');
-Error('\P{Is_Blk= -cjk COMPATIBILITY Ideographs:=supplement}');
-Expect(1, 195103, '\p{Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^Is_Blk=cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(0, 195103, '\p{^Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(0, 195103, '\P{Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(1, 195103, '\P{^Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(0, 194559, '\p{Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(1, 194559, '\p{^Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(1, 194559, '\P{Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Expect(0, 194559, '\P{^Is_Blk=__CJKcompatibility IDEOGRAPHSSupplement}', "");
-Error('\p{Block=:= IPA extensions}');
-Error('\P{Block=:= IPA extensions}');
-Expect(1, 687, '\p{Block=ipaextensions}', "");
-Expect(0, 687, '\p{^Block=ipaextensions}', "");
-Expect(0, 687, '\P{Block=ipaextensions}', "");
-Expect(1, 687, '\P{^Block=ipaextensions}', "");
-Expect(0, 591, '\p{Block=ipaextensions}', "");
-Expect(1, 591, '\p{^Block=ipaextensions}', "");
-Expect(1, 591, '\P{Block=ipaextensions}', "");
-Expect(0, 591, '\P{^Block=ipaextensions}', "");
-Expect(1, 687, '\p{Block=-IPA_extensions}', "");
-Expect(0, 687, '\p{^Block=-IPA_extensions}', "");
-Expect(0, 687, '\P{Block=-IPA_extensions}', "");
-Expect(1, 687, '\P{^Block=-IPA_extensions}', "");
-Expect(0, 591, '\p{Block=-IPA_extensions}', "");
-Expect(1, 591, '\p{^Block=-IPA_extensions}', "");
-Expect(1, 591, '\P{Block=-IPA_extensions}', "");
-Expect(0, 591, '\P{^Block=-IPA_extensions}', "");
-Error('\p{Blk=:=_ IPA-EXTENSIONS}');
-Error('\P{Blk=:=_ IPA-EXTENSIONS}');
-Expect(1, 687, '\p{Blk=ipaextensions}', "");
-Expect(0, 687, '\p{^Blk=ipaextensions}', "");
-Expect(0, 687, '\P{Blk=ipaextensions}', "");
-Expect(1, 687, '\P{^Blk=ipaextensions}', "");
-Expect(0, 591, '\p{Blk=ipaextensions}', "");
-Expect(1, 591, '\p{^Blk=ipaextensions}', "");
-Expect(1, 591, '\P{Blk=ipaextensions}', "");
-Expect(0, 591, '\P{^Blk=ipaextensions}', "");
-Expect(1, 687, '\p{Blk=IPA-Extensions}', "");
-Expect(0, 687, '\p{^Blk=IPA-Extensions}', "");
-Expect(0, 687, '\P{Blk=IPA-Extensions}', "");
-Expect(1, 687, '\P{^Blk=IPA-Extensions}', "");
-Expect(0, 591, '\p{Blk=IPA-Extensions}', "");
-Expect(1, 591, '\p{^Blk=IPA-Extensions}', "");
-Expect(1, 591, '\P{Blk=IPA-Extensions}', "");
-Expect(0, 591, '\P{^Blk=IPA-Extensions}', "");
-Error('\p{Is_Block=:= ipa EXTENSIONS}');
-Error('\P{Is_Block=:= ipa EXTENSIONS}');
-Expect(1, 687, '\p{Is_Block=ipaextensions}', "");
-Expect(0, 687, '\p{^Is_Block=ipaextensions}', "");
-Expect(0, 687, '\P{Is_Block=ipaextensions}', "");
-Expect(1, 687, '\P{^Is_Block=ipaextensions}', "");
-Expect(0, 591, '\p{Is_Block=ipaextensions}', "");
-Expect(1, 591, '\p{^Is_Block=ipaextensions}', "");
-Expect(1, 591, '\P{Is_Block=ipaextensions}', "");
-Expect(0, 591, '\P{^Is_Block=ipaextensions}', "");
-Expect(1, 687, '\p{Is_Block=_IPA_Extensions}', "");
-Expect(0, 687, '\p{^Is_Block=_IPA_Extensions}', "");
-Expect(0, 687, '\P{Is_Block=_IPA_Extensions}', "");
-Expect(1, 687, '\P{^Is_Block=_IPA_Extensions}', "");
-Expect(0, 591, '\p{Is_Block=_IPA_Extensions}', "");
-Expect(1, 591, '\p{^Is_Block=_IPA_Extensions}', "");
-Expect(1, 591, '\P{Is_Block=_IPA_Extensions}', "");
-Expect(0, 591, '\P{^Is_Block=_IPA_Extensions}', "");
-Error('\p{Is_Blk=:=IPAExtensions}');
-Error('\P{Is_Blk=:=IPAExtensions}');
-Expect(1, 687, '\p{Is_Blk=ipaextensions}', "");
-Expect(0, 687, '\p{^Is_Blk=ipaextensions}', "");
-Expect(0, 687, '\P{Is_Blk=ipaextensions}', "");
-Expect(1, 687, '\P{^Is_Blk=ipaextensions}', "");
-Expect(0, 591, '\p{Is_Blk=ipaextensions}', "");
-Expect(1, 591, '\p{^Is_Blk=ipaextensions}', "");
-Expect(1, 591, '\P{Is_Blk=ipaextensions}', "");
-Expect(0, 591, '\P{^Is_Blk=ipaextensions}', "");
-Expect(1, 687, '\p{Is_Blk: IPA extensions}', "");
-Expect(0, 687, '\p{^Is_Blk: IPA extensions}', "");
-Expect(0, 687, '\P{Is_Blk: IPA extensions}', "");
-Expect(1, 687, '\P{^Is_Blk: IPA extensions}', "");
-Expect(0, 591, '\p{Is_Blk: IPA extensions}', "");
-Expect(1, 591, '\p{^Is_Blk: IPA extensions}', "");
-Expect(1, 591, '\P{Is_Blk: IPA extensions}', "");
-Expect(0, 591, '\P{^Is_Blk: IPA extensions}', "");
-Error('\p{Block= kannada:=}');
-Error('\P{Block= kannada:=}');
-Expect(1, 3327, '\p{Block=kannada}', "");
-Expect(0, 3327, '\p{^Block=kannada}', "");
-Expect(0, 3327, '\P{Block=kannada}', "");
-Expect(1, 3327, '\P{^Block=kannada}', "");
-Expect(0, 3199, '\p{Block=kannada}', "");
-Expect(1, 3199, '\p{^Block=kannada}', "");
-Expect(1, 3199, '\P{Block=kannada}', "");
-Expect(0, 3199, '\P{^Block=kannada}', "");
-Expect(1, 3327, '\p{Block: _Kannada}', "");
-Expect(0, 3327, '\p{^Block: _Kannada}', "");
-Expect(0, 3327, '\P{Block: _Kannada}', "");
-Expect(1, 3327, '\P{^Block: _Kannada}', "");
-Expect(0, 3199, '\p{Block: _Kannada}', "");
-Expect(1, 3199, '\p{^Block: _Kannada}', "");
-Expect(1, 3199, '\P{Block: _Kannada}', "");
-Expect(0, 3199, '\P{^Block: _Kannada}', "");
-Error('\p{Blk= kannada:=}');
-Error('\P{Blk= kannada:=}');
-Expect(1, 3327, '\p{Blk=kannada}', "");
-Expect(0, 3327, '\p{^Blk=kannada}', "");
-Expect(0, 3327, '\P{Blk=kannada}', "");
-Expect(1, 3327, '\P{^Blk=kannada}', "");
-Expect(0, 3199, '\p{Blk=kannada}', "");
-Expect(1, 3199, '\p{^Blk=kannada}', "");
-Expect(1, 3199, '\P{Blk=kannada}', "");
-Expect(0, 3199, '\P{^Blk=kannada}', "");
-Expect(1, 3327, '\p{Blk= Kannada}', "");
-Expect(0, 3327, '\p{^Blk= Kannada}', "");
-Expect(0, 3327, '\P{Blk= Kannada}', "");
-Expect(1, 3327, '\P{^Blk= Kannada}', "");
-Expect(0, 3199, '\p{Blk= Kannada}', "");
-Expect(1, 3199, '\p{^Blk= Kannada}', "");
-Expect(1, 3199, '\P{Blk= Kannada}', "");
-Expect(0, 3199, '\P{^Blk= Kannada}', "");
-Error('\p{Is_Block=/a/- Kannada}');
-Error('\P{Is_Block=/a/- Kannada}');
-Expect(1, 3327, '\p{Is_Block=kannada}', "");
-Expect(0, 3327, '\p{^Is_Block=kannada}', "");
-Expect(0, 3327, '\P{Is_Block=kannada}', "");
-Expect(1, 3327, '\P{^Is_Block=kannada}', "");
-Expect(0, 3199, '\p{Is_Block=kannada}', "");
-Expect(1, 3199, '\p{^Is_Block=kannada}', "");
-Expect(1, 3199, '\P{Is_Block=kannada}', "");
-Expect(0, 3199, '\P{^Is_Block=kannada}', "");
-Expect(1, 3327, '\p{Is_Block= Kannada}', "");
-Expect(0, 3327, '\p{^Is_Block= Kannada}', "");
-Expect(0, 3327, '\P{Is_Block= Kannada}', "");
-Expect(1, 3327, '\P{^Is_Block= Kannada}', "");
-Expect(0, 3199, '\p{Is_Block= Kannada}', "");
-Expect(1, 3199, '\p{^Is_Block= Kannada}', "");
-Expect(1, 3199, '\P{Is_Block= Kannada}', "");
-Expect(0, 3199, '\P{^Is_Block= Kannada}', "");
-Error('\p{Is_Blk=_:=kannada}');
-Error('\P{Is_Blk=_:=kannada}');
-Expect(1, 3327, '\p{Is_Blk=kannada}', "");
-Expect(0, 3327, '\p{^Is_Blk=kannada}', "");
-Expect(0, 3327, '\P{Is_Blk=kannada}', "");
-Expect(1, 3327, '\P{^Is_Blk=kannada}', "");
-Expect(0, 3199, '\p{Is_Blk=kannada}', "");
-Expect(1, 3199, '\p{^Is_Blk=kannada}', "");
-Expect(1, 3199, '\P{Is_Blk=kannada}', "");
-Expect(0, 3199, '\P{^Is_Blk=kannada}', "");
-Expect(1, 3327, '\p{Is_Blk= kannada}', "");
-Expect(0, 3327, '\p{^Is_Blk= kannada}', "");
-Expect(0, 3327, '\P{Is_Blk= kannada}', "");
-Expect(1, 3327, '\P{^Is_Blk= kannada}', "");
-Expect(0, 3199, '\p{Is_Blk= kannada}', "");
-Expect(1, 3199, '\p{^Is_Blk= kannada}', "");
-Expect(1, 3199, '\P{Is_Blk= kannada}', "");
-Expect(0, 3199, '\P{^Is_Blk= kannada}', "");
-Error('\p{Block=:= _latin_extended_Additional}');
-Error('\P{Block=:= _latin_extended_Additional}');
-Expect(1, 7935, '\p{Block=latinextendedadditional}', "");
-Expect(0, 7935, '\p{^Block=latinextendedadditional}', "");
-Expect(0, 7935, '\P{Block=latinextendedadditional}', "");
-Expect(1, 7935, '\P{^Block=latinextendedadditional}', "");
-Expect(0, 7679, '\p{Block=latinextendedadditional}', "");
-Expect(1, 7679, '\p{^Block=latinextendedadditional}', "");
-Expect(1, 7679, '\P{Block=latinextendedadditional}', "");
-Expect(0, 7679, '\P{^Block=latinextendedadditional}', "");
-Expect(1, 7935, '\p{Block: -Latin EXTENDED_Additional}', "");
-Expect(0, 7935, '\p{^Block: -Latin EXTENDED_Additional}', "");
-Expect(0, 7935, '\P{Block: -Latin EXTENDED_Additional}', "");
-Expect(1, 7935, '\P{^Block: -Latin EXTENDED_Additional}', "");
-Expect(0, 7679, '\p{Block: -Latin EXTENDED_Additional}', "");
-Expect(1, 7679, '\p{^Block: -Latin EXTENDED_Additional}', "");
-Expect(1, 7679, '\P{Block: -Latin EXTENDED_Additional}', "");
-Expect(0, 7679, '\P{^Block: -Latin EXTENDED_Additional}', "");
-Error('\p{Blk=:=LATIN_extended_ADDITIONAL}');
-Error('\P{Blk=:=LATIN_extended_ADDITIONAL}');
-Expect(1, 7935, '\p{Blk=latinextendedadditional}', "");
-Expect(0, 7935, '\p{^Blk=latinextendedadditional}', "");
-Expect(0, 7935, '\P{Blk=latinextendedadditional}', "");
-Expect(1, 7935, '\P{^Blk=latinextendedadditional}', "");
-Expect(0, 7679, '\p{Blk=latinextendedadditional}', "");
-Expect(1, 7679, '\p{^Blk=latinextendedadditional}', "");
-Expect(1, 7679, '\P{Blk=latinextendedadditional}', "");
-Expect(0, 7679, '\P{^Blk=latinextendedadditional}', "");
-Expect(1, 7935, '\p{Blk=Latin extended_Additional}', "");
-Expect(0, 7935, '\p{^Blk=Latin extended_Additional}', "");
-Expect(0, 7935, '\P{Blk=Latin extended_Additional}', "");
-Expect(1, 7935, '\P{^Blk=Latin extended_Additional}', "");
-Expect(0, 7679, '\p{Blk=Latin extended_Additional}', "");
-Expect(1, 7679, '\p{^Blk=Latin extended_Additional}', "");
-Expect(1, 7679, '\P{Blk=Latin extended_Additional}', "");
-Expect(0, 7679, '\P{^Blk=Latin extended_Additional}', "");
-Error('\p{Is_Block: _ latin/a/EXTENDED-additional}');
-Error('\P{Is_Block: _ latin/a/EXTENDED-additional}');
-Expect(1, 7935, '\p{Is_Block=latinextendedadditional}', "");
-Expect(0, 7935, '\p{^Is_Block=latinextendedadditional}', "");
-Expect(0, 7935, '\P{Is_Block=latinextendedadditional}', "");
-Expect(1, 7935, '\P{^Is_Block=latinextendedadditional}', "");
-Expect(0, 7679, '\p{Is_Block=latinextendedadditional}', "");
-Expect(1, 7679, '\p{^Is_Block=latinextendedadditional}', "");
-Expect(1, 7679, '\P{Is_Block=latinextendedadditional}', "");
-Expect(0, 7679, '\P{^Is_Block=latinextendedadditional}', "");
-Expect(1, 7935, '\p{Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(0, 7935, '\p{^Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(0, 7935, '\P{Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(1, 7935, '\P{^Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(0, 7679, '\p{Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(1, 7679, '\p{^Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(1, 7679, '\P{Is_Block= Latin-Extended_ADDITIONAL}', "");
-Expect(0, 7679, '\P{^Is_Block= Latin-Extended_ADDITIONAL}', "");
-Error('\p{Is_Blk=_-Latin_Extended-Additional/a/}');
-Error('\P{Is_Blk=_-Latin_Extended-Additional/a/}');
-Expect(1, 7935, '\p{Is_Blk=latinextendedadditional}', "");
-Expect(0, 7935, '\p{^Is_Blk=latinextendedadditional}', "");
-Expect(0, 7935, '\P{Is_Blk=latinextendedadditional}', "");
-Expect(1, 7935, '\P{^Is_Blk=latinextendedadditional}', "");
-Expect(0, 7679, '\p{Is_Blk=latinextendedadditional}', "");
-Expect(1, 7679, '\p{^Is_Blk=latinextendedadditional}', "");
-Expect(1, 7679, '\P{Is_Blk=latinextendedadditional}', "");
-Expect(0, 7679, '\P{^Is_Blk=latinextendedadditional}', "");
-Expect(1, 7935, '\p{Is_Blk= latin ExtendedAdditional}', "");
-Expect(0, 7935, '\p{^Is_Blk= latin ExtendedAdditional}', "");
-Expect(0, 7935, '\P{Is_Blk= latin ExtendedAdditional}', "");
-Expect(1, 7935, '\P{^Is_Blk= latin ExtendedAdditional}', "");
-Expect(0, 7679, '\p{Is_Blk= latin ExtendedAdditional}', "");
-Expect(1, 7679, '\p{^Is_Blk= latin ExtendedAdditional}', "");
-Expect(1, 7679, '\P{Is_Blk= latin ExtendedAdditional}', "");
-Expect(0, 7679, '\P{^Is_Blk= latin ExtendedAdditional}', "");
-Error('\p{Block=/a/-Cham}');
-Error('\P{Block=/a/-Cham}');
-Expect(1, 43615, '\p{Block=cham}', "");
-Expect(0, 43615, '\p{^Block=cham}', "");
-Expect(0, 43615, '\P{Block=cham}', "");
-Expect(1, 43615, '\P{^Block=cham}', "");
-Expect(0, 43519, '\p{Block=cham}', "");
-Expect(1, 43519, '\p{^Block=cham}', "");
-Expect(1, 43519, '\P{Block=cham}', "");
-Expect(0, 43519, '\P{^Block=cham}', "");
-Expect(1, 43615, '\p{Block= CHAM}', "");
-Expect(0, 43615, '\p{^Block= CHAM}', "");
-Expect(0, 43615, '\P{Block= CHAM}', "");
-Expect(1, 43615, '\P{^Block= CHAM}', "");
-Expect(0, 43519, '\p{Block= CHAM}', "");
-Expect(1, 43519, '\p{^Block= CHAM}', "");
-Expect(1, 43519, '\P{Block= CHAM}', "");
-Expect(0, 43519, '\P{^Block= CHAM}', "");
-Error('\p{Blk=_-cham/a/}');
-Error('\P{Blk=_-cham/a/}');
-Expect(1, 43615, '\p{Blk: cham}', "");
-Expect(0, 43615, '\p{^Blk: cham}', "");
-Expect(0, 43615, '\P{Blk: cham}', "");
-Expect(1, 43615, '\P{^Blk: cham}', "");
-Expect(0, 43519, '\p{Blk: cham}', "");
-Expect(1, 43519, '\p{^Blk: cham}', "");
-Expect(1, 43519, '\P{Blk: cham}', "");
-Expect(0, 43519, '\P{^Blk: cham}', "");
-Expect(1, 43615, '\p{Blk= Cham}', "");
-Expect(0, 43615, '\p{^Blk= Cham}', "");
-Expect(0, 43615, '\P{Blk= Cham}', "");
-Expect(1, 43615, '\P{^Blk= Cham}', "");
-Expect(0, 43519, '\p{Blk= Cham}', "");
-Expect(1, 43519, '\p{^Blk= Cham}', "");
-Expect(1, 43519, '\P{Blk= Cham}', "");
-Expect(0, 43519, '\P{^Blk= Cham}', "");
-Error('\p{Is_Block=:=__Cham}');
-Error('\P{Is_Block=:=__Cham}');
-Expect(1, 43615, '\p{Is_Block=cham}', "");
-Expect(0, 43615, '\p{^Is_Block=cham}', "");
-Expect(0, 43615, '\P{Is_Block=cham}', "");
-Expect(1, 43615, '\P{^Is_Block=cham}', "");
-Expect(0, 43519, '\p{Is_Block=cham}', "");
-Expect(1, 43519, '\p{^Is_Block=cham}', "");
-Expect(1, 43519, '\P{Is_Block=cham}', "");
-Expect(0, 43519, '\P{^Is_Block=cham}', "");
-Expect(1, 43615, '\p{Is_Block= Cham}', "");
-Expect(0, 43615, '\p{^Is_Block= Cham}', "");
-Expect(0, 43615, '\P{Is_Block= Cham}', "");
-Expect(1, 43615, '\P{^Is_Block= Cham}', "");
-Expect(0, 43519, '\p{Is_Block= Cham}', "");
-Expect(1, 43519, '\p{^Is_Block= Cham}', "");
-Expect(1, 43519, '\P{Is_Block= Cham}', "");
-Expect(0, 43519, '\P{^Is_Block= Cham}', "");
-Error('\p{Is_Blk: /a/_CHAM}');
-Error('\P{Is_Blk: /a/_CHAM}');
-Expect(1, 43615, '\p{Is_Blk=cham}', "");
-Expect(0, 43615, '\p{^Is_Blk=cham}', "");
-Expect(0, 43615, '\P{Is_Blk=cham}', "");
-Expect(1, 43615, '\P{^Is_Blk=cham}', "");
-Expect(0, 43519, '\p{Is_Blk=cham}', "");
-Expect(1, 43519, '\p{^Is_Blk=cham}', "");
-Expect(1, 43519, '\P{Is_Blk=cham}', "");
-Expect(0, 43519, '\P{^Is_Blk=cham}', "");
-Expect(1, 43615, '\p{Is_Blk= Cham}', "");
-Expect(0, 43615, '\p{^Is_Blk= Cham}', "");
-Expect(0, 43615, '\P{Is_Blk= Cham}', "");
-Expect(1, 43615, '\P{^Is_Blk= Cham}', "");
-Expect(0, 43519, '\p{Is_Blk= Cham}', "");
-Expect(1, 43519, '\p{^Is_Blk= Cham}', "");
-Expect(1, 43519, '\P{Is_Blk= Cham}', "");
-Expect(0, 43519, '\P{^Is_Blk= Cham}', "");
-Error('\p{Block=_:=Cyrillic-supplement}');
-Error('\P{Block=_:=Cyrillic-supplement}');
-Expect(1, 1327, '\p{Block=cyrillicsupplement}', "");
-Expect(0, 1327, '\p{^Block=cyrillicsupplement}', "");
-Expect(0, 1327, '\P{Block=cyrillicsupplement}', "");
-Expect(1, 1327, '\P{^Block=cyrillicsupplement}', "");
-Expect(0, 1279, '\p{Block=cyrillicsupplement}', "");
-Expect(1, 1279, '\p{^Block=cyrillicsupplement}', "");
-Expect(1, 1279, '\P{Block=cyrillicsupplement}', "");
-Expect(0, 1279, '\P{^Block=cyrillicsupplement}', "");
-Expect(1, 1327, '\p{Block: -_CYRILLIC Supplement}', "");
-Expect(0, 1327, '\p{^Block: -_CYRILLIC Supplement}', "");
-Expect(0, 1327, '\P{Block: -_CYRILLIC Supplement}', "");
-Expect(1, 1327, '\P{^Block: -_CYRILLIC Supplement}', "");
-Expect(0, 1279, '\p{Block: -_CYRILLIC Supplement}', "");
-Expect(1, 1279, '\p{^Block: -_CYRILLIC Supplement}', "");
-Expect(1, 1279, '\P{Block: -_CYRILLIC Supplement}', "");
-Expect(0, 1279, '\P{^Block: -_CYRILLIC Supplement}', "");
-Error('\p{Blk=:= CYRILLIC-SUPPLEMENTARY}');
-Error('\P{Blk=:= CYRILLIC-SUPPLEMENTARY}');
-Expect(1, 1327, '\p{Blk=cyrillicsupplementary}', "");
-Expect(0, 1327, '\p{^Blk=cyrillicsupplementary}', "");
-Expect(0, 1327, '\P{Blk=cyrillicsupplementary}', "");
-Expect(1, 1327, '\P{^Blk=cyrillicsupplementary}', "");
-Expect(0, 1279, '\p{Blk=cyrillicsupplementary}', "");
-Expect(1, 1279, '\p{^Blk=cyrillicsupplementary}', "");
-Expect(1, 1279, '\P{Blk=cyrillicsupplementary}', "");
-Expect(0, 1279, '\P{^Blk=cyrillicsupplementary}', "");
-Expect(1, 1327, '\p{Blk=--CYRILLIC supplementary}', "");
-Expect(0, 1327, '\p{^Blk=--CYRILLIC supplementary}', "");
-Expect(0, 1327, '\P{Blk=--CYRILLIC supplementary}', "");
-Expect(1, 1327, '\P{^Blk=--CYRILLIC supplementary}', "");
-Expect(0, 1279, '\p{Blk=--CYRILLIC supplementary}', "");
-Expect(1, 1279, '\p{^Blk=--CYRILLIC supplementary}', "");
-Expect(1, 1279, '\P{Blk=--CYRILLIC supplementary}', "");
-Expect(0, 1279, '\P{^Blk=--CYRILLIC supplementary}', "");
-Error('\p{Is_Block=:= -CYRILLIC-Supplement}');
-Error('\P{Is_Block=:= -CYRILLIC-Supplement}');
-Expect(1, 1327, '\p{Is_Block=cyrillicsupplement}', "");
-Expect(0, 1327, '\p{^Is_Block=cyrillicsupplement}', "");
-Expect(0, 1327, '\P{Is_Block=cyrillicsupplement}', "");
-Expect(1, 1327, '\P{^Is_Block=cyrillicsupplement}', "");
-Expect(0, 1279, '\p{Is_Block=cyrillicsupplement}', "");
-Expect(1, 1279, '\p{^Is_Block=cyrillicsupplement}', "");
-Expect(1, 1279, '\P{Is_Block=cyrillicsupplement}', "");
-Expect(0, 1279, '\P{^Is_Block=cyrillicsupplement}', "");
-Expect(1, 1327, '\p{Is_Block= Cyrillic supplement}', "");
-Expect(0, 1327, '\p{^Is_Block= Cyrillic supplement}', "");
-Expect(0, 1327, '\P{Is_Block= Cyrillic supplement}', "");
-Expect(1, 1327, '\P{^Is_Block= Cyrillic supplement}', "");
-Expect(0, 1279, '\p{Is_Block= Cyrillic supplement}', "");
-Expect(1, 1279, '\p{^Is_Block= Cyrillic supplement}', "");
-Expect(1, 1279, '\P{Is_Block= Cyrillic supplement}', "");
-Expect(0, 1279, '\P{^Is_Block= Cyrillic supplement}', "");
-Error('\p{Is_Blk=/a/ CYRILLIC-supplementary}');
-Error('\P{Is_Blk=/a/ CYRILLIC-supplementary}');
-Expect(1, 1327, '\p{Is_Blk=cyrillicsupplementary}', "");
-Expect(0, 1327, '\p{^Is_Blk=cyrillicsupplementary}', "");
-Expect(0, 1327, '\P{Is_Blk=cyrillicsupplementary}', "");
-Expect(1, 1327, '\P{^Is_Blk=cyrillicsupplementary}', "");
-Expect(0, 1279, '\p{Is_Blk=cyrillicsupplementary}', "");
-Expect(1, 1279, '\p{^Is_Blk=cyrillicsupplementary}', "");
-Expect(1, 1279, '\P{Is_Blk=cyrillicsupplementary}', "");
-Expect(0, 1279, '\P{^Is_Blk=cyrillicsupplementary}', "");
-Expect(1, 1327, '\p{Is_Blk=- Cyrillic Supplementary}', "");
-Expect(0, 1327, '\p{^Is_Blk=- Cyrillic Supplementary}', "");
-Expect(0, 1327, '\P{Is_Blk=- Cyrillic Supplementary}', "");
-Expect(1, 1327, '\P{^Is_Blk=- Cyrillic Supplementary}', "");
-Expect(0, 1279, '\p{Is_Blk=- Cyrillic Supplementary}', "");
-Expect(1, 1279, '\p{^Is_Blk=- Cyrillic Supplementary}', "");
-Expect(1, 1279, '\P{Is_Blk=- Cyrillic Supplementary}', "");
-Expect(0, 1279, '\P{^Is_Blk=- Cyrillic Supplementary}', "");
-Error('\p{Block=/a/greek andCOPTIC}');
-Error('\P{Block=/a/greek andCOPTIC}');
-Expect(1, 1023, '\p{Block: greekandcoptic}', "");
-Expect(0, 1023, '\p{^Block: greekandcoptic}', "");
-Expect(0, 1023, '\P{Block: greekandcoptic}', "");
-Expect(1, 1023, '\P{^Block: greekandcoptic}', "");
-Expect(0, 879, '\p{Block: greekandcoptic}', "");
-Expect(1, 879, '\p{^Block: greekandcoptic}', "");
-Expect(1, 879, '\P{Block: greekandcoptic}', "");
-Expect(0, 879, '\P{^Block: greekandcoptic}', "");
-Expect(1, 1023, '\p{Block=-Greek_And coptic}', "");
-Expect(0, 1023, '\p{^Block=-Greek_And coptic}', "");
-Expect(0, 1023, '\P{Block=-Greek_And coptic}', "");
-Expect(1, 1023, '\P{^Block=-Greek_And coptic}', "");
-Expect(0, 879, '\p{Block=-Greek_And coptic}', "");
-Expect(1, 879, '\p{^Block=-Greek_And coptic}', "");
-Expect(1, 879, '\P{Block=-Greek_And coptic}', "");
-Expect(0, 879, '\P{^Block=-Greek_And coptic}', "");
-Error('\p{Blk=-:=Greek}');
-Error('\P{Blk=-:=Greek}');
-Expect(1, 1023, '\p{Blk=greek}', "");
-Expect(0, 1023, '\p{^Blk=greek}', "");
-Expect(0, 1023, '\P{Blk=greek}', "");
-Expect(1, 1023, '\P{^Blk=greek}', "");
-Expect(0, 879, '\p{Blk=greek}', "");
-Expect(1, 879, '\p{^Blk=greek}', "");
-Expect(1, 879, '\P{Blk=greek}', "");
-Expect(0, 879, '\P{^Blk=greek}', "");
-Expect(1, 1023, '\p{Blk=_ greek}', "");
-Expect(0, 1023, '\p{^Blk=_ greek}', "");
-Expect(0, 1023, '\P{Blk=_ greek}', "");
-Expect(1, 1023, '\P{^Blk=_ greek}', "");
-Expect(0, 879, '\p{Blk=_ greek}', "");
-Expect(1, 879, '\p{^Blk=_ greek}', "");
-Expect(1, 879, '\P{Blk=_ greek}', "");
-Expect(0, 879, '\P{^Blk=_ greek}', "");
-Error('\p{Is_Block: Greek:=And-Coptic}');
-Error('\P{Is_Block: Greek:=And-Coptic}');
-Expect(1, 1023, '\p{Is_Block=greekandcoptic}', "");
-Expect(0, 1023, '\p{^Is_Block=greekandcoptic}', "");
-Expect(0, 1023, '\P{Is_Block=greekandcoptic}', "");
-Expect(1, 1023, '\P{^Is_Block=greekandcoptic}', "");
-Expect(0, 879, '\p{Is_Block=greekandcoptic}', "");
-Expect(1, 879, '\p{^Is_Block=greekandcoptic}', "");
-Expect(1, 879, '\P{Is_Block=greekandcoptic}', "");
-Expect(0, 879, '\P{^Is_Block=greekandcoptic}', "");
-Expect(1, 1023, '\p{Is_Block=- greekand_coptic}', "");
-Expect(0, 1023, '\p{^Is_Block=- greekand_coptic}', "");
-Expect(0, 1023, '\P{Is_Block=- greekand_coptic}', "");
-Expect(1, 1023, '\P{^Is_Block=- greekand_coptic}', "");
-Expect(0, 879, '\p{Is_Block=- greekand_coptic}', "");
-Expect(1, 879, '\p{^Is_Block=- greekand_coptic}', "");
-Expect(1, 879, '\P{Is_Block=- greekand_coptic}', "");
-Expect(0, 879, '\P{^Is_Block=- greekand_coptic}', "");
-Error('\p{Is_Blk= GREEK/a/}');
-Error('\P{Is_Blk= GREEK/a/}');
-Expect(1, 1023, '\p{Is_Blk=greek}', "");
-Expect(0, 1023, '\p{^Is_Blk=greek}', "");
-Expect(0, 1023, '\P{Is_Blk=greek}', "");
-Expect(1, 1023, '\P{^Is_Blk=greek}', "");
-Expect(0, 879, '\p{Is_Blk=greek}', "");
-Expect(1, 879, '\p{^Is_Blk=greek}', "");
-Expect(1, 879, '\P{Is_Blk=greek}', "");
-Expect(0, 879, '\P{^Is_Blk=greek}', "");
-Expect(1, 1023, '\p{Is_Blk=- GREEK}', "");
-Expect(0, 1023, '\p{^Is_Blk=- GREEK}', "");
-Expect(0, 1023, '\P{Is_Blk=- GREEK}', "");
-Expect(1, 1023, '\P{^Is_Blk=- GREEK}', "");
-Expect(0, 879, '\p{Is_Blk=- GREEK}', "");
-Expect(1, 879, '\p{^Is_Blk=- GREEK}', "");
-Expect(1, 879, '\P{Is_Blk=- GREEK}', "");
-Expect(0, 879, '\P{^Is_Blk=- GREEK}', "");
-Error('\p{Block=- MISCELLANEOUS:=Mathematical Symbols_B}');
-Error('\P{Block=- MISCELLANEOUS:=Mathematical Symbols_B}');
-Expect(1, 10751, '\p{Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(0, 10751, '\p{^Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(0, 10751, '\P{Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(1, 10751, '\P{^Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(0, 10623, '\p{Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(1, 10623, '\p{^Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(1, 10623, '\P{Block=- MiscellaneousMathematicalSymbolsB}', "");
-Expect(0, 10623, '\P{^Block=- MiscellaneousMathematicalSymbolsB}', "");
-Error('\p{Blk:-Miscellaneous-Mathematical_Symbols:=B}');
-Error('\P{Blk:-Miscellaneous-Mathematical_Symbols:=B}');
-Expect(1, 10751, '\p{Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(0, 10751, '\p{^Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(0, 10751, '\P{Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(1, 10751, '\P{^Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(0, 10623, '\p{Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(1, 10623, '\p{^Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(1, 10623, '\P{Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Expect(0, 10623, '\P{^Blk: Miscellaneousmathematical_SYMBOLSB}', "");
-Error('\p{Is_Block= _Miscellaneous:=MATHEMATICAL_SYMBOLS-B}');
-Error('\P{Is_Block= _Miscellaneous:=MATHEMATICAL_SYMBOLS-B}');
-Expect(1, 10751, '\p{Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^Is_Block=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(0, 10751, '\p{^Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(0, 10751, '\P{Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(1, 10751, '\P{^Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(0, 10623, '\p{Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(1, 10623, '\p{^Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(1, 10623, '\P{Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Expect(0, 10623, '\P{^Is_Block= Miscellaneous MathematicalSymbols-B}', "");
-Error('\p{Is_Blk=/a/miscellaneous mathematical symbols_B}');
-Error('\P{Is_Blk=/a/miscellaneous mathematical symbols_B}');
-Expect(1, 10751, '\p{Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^Is_Blk=miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(0, 10751, '\p{^Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(0, 10751, '\P{Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(1, 10751, '\P{^Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(0, 10623, '\p{Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(1, 10623, '\p{^Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(1, 10623, '\P{Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Expect(0, 10623, '\P{^Is_Blk= MISCELLANEOUS_mathematicalSymbols B}', "");
-Error('\p{Block= /a/Bengali}');
-Error('\P{Block= /a/Bengali}');
-Expect(1, 2559, '\p{Block=bengali}', "");
-Expect(0, 2559, '\p{^Block=bengali}', "");
-Expect(0, 2559, '\P{Block=bengali}', "");
-Expect(1, 2559, '\P{^Block=bengali}', "");
-Expect(0, 2431, '\p{Block=bengali}', "");
-Expect(1, 2431, '\p{^Block=bengali}', "");
-Expect(1, 2431, '\P{Block=bengali}', "");
-Expect(0, 2431, '\P{^Block=bengali}', "");
-Expect(1, 2559, '\p{Block= bengali}', "");
-Expect(0, 2559, '\p{^Block= bengali}', "");
-Expect(0, 2559, '\P{Block= bengali}', "");
-Expect(1, 2559, '\P{^Block= bengali}', "");
-Expect(0, 2431, '\p{Block= bengali}', "");
-Expect(1, 2431, '\p{^Block= bengali}', "");
-Expect(1, 2431, '\P{Block= bengali}', "");
-Expect(0, 2431, '\P{^Block= bengali}', "");
-Error('\p{Blk=:=-_Bengali}');
-Error('\P{Blk=:=-_Bengali}');
-Expect(1, 2559, '\p{Blk=bengali}', "");
-Expect(0, 2559, '\p{^Blk=bengali}', "");
-Expect(0, 2559, '\P{Blk=bengali}', "");
-Expect(1, 2559, '\P{^Blk=bengali}', "");
-Expect(0, 2431, '\p{Blk=bengali}', "");
-Expect(1, 2431, '\p{^Blk=bengali}', "");
-Expect(1, 2431, '\P{Blk=bengali}', "");
-Expect(0, 2431, '\P{^Blk=bengali}', "");
-Expect(1, 2559, '\p{Blk=-Bengali}', "");
-Expect(0, 2559, '\p{^Blk=-Bengali}', "");
-Expect(0, 2559, '\P{Blk=-Bengali}', "");
-Expect(1, 2559, '\P{^Blk=-Bengali}', "");
-Expect(0, 2431, '\p{Blk=-Bengali}', "");
-Expect(1, 2431, '\p{^Blk=-Bengali}', "");
-Expect(1, 2431, '\P{Blk=-Bengali}', "");
-Expect(0, 2431, '\P{^Blk=-Bengali}', "");
-Error('\p{Is_Block: :=_BENGALI}');
-Error('\P{Is_Block: :=_BENGALI}');
-Expect(1, 2559, '\p{Is_Block=bengali}', "");
-Expect(0, 2559, '\p{^Is_Block=bengali}', "");
-Expect(0, 2559, '\P{Is_Block=bengali}', "");
-Expect(1, 2559, '\P{^Is_Block=bengali}', "");
-Expect(0, 2431, '\p{Is_Block=bengali}', "");
-Expect(1, 2431, '\p{^Is_Block=bengali}', "");
-Expect(1, 2431, '\P{Is_Block=bengali}', "");
-Expect(0, 2431, '\P{^Is_Block=bengali}', "");
-Expect(1, 2559, '\p{Is_Block=_BENGALI}', "");
-Expect(0, 2559, '\p{^Is_Block=_BENGALI}', "");
-Expect(0, 2559, '\P{Is_Block=_BENGALI}', "");
-Expect(1, 2559, '\P{^Is_Block=_BENGALI}', "");
-Expect(0, 2431, '\p{Is_Block=_BENGALI}', "");
-Expect(1, 2431, '\p{^Is_Block=_BENGALI}', "");
-Expect(1, 2431, '\P{Is_Block=_BENGALI}', "");
-Expect(0, 2431, '\P{^Is_Block=_BENGALI}', "");
-Error('\p{Is_Blk= :=Bengali}');
-Error('\P{Is_Blk= :=Bengali}');
-Expect(1, 2559, '\p{Is_Blk=bengali}', "");
-Expect(0, 2559, '\p{^Is_Blk=bengali}', "");
-Expect(0, 2559, '\P{Is_Blk=bengali}', "");
-Expect(1, 2559, '\P{^Is_Blk=bengali}', "");
-Expect(0, 2431, '\p{Is_Blk=bengali}', "");
-Expect(1, 2431, '\p{^Is_Blk=bengali}', "");
-Expect(1, 2431, '\P{Is_Blk=bengali}', "");
-Expect(0, 2431, '\P{^Is_Blk=bengali}', "");
-Expect(1, 2559, '\p{Is_Blk= BENGALI}', "");
-Expect(0, 2559, '\p{^Is_Blk= BENGALI}', "");
-Expect(0, 2559, '\P{Is_Blk= BENGALI}', "");
-Expect(1, 2559, '\P{^Is_Blk= BENGALI}', "");
-Expect(0, 2431, '\p{Is_Blk= BENGALI}', "");
-Expect(1, 2431, '\p{^Is_Blk= BENGALI}', "");
-Expect(1, 2431, '\P{Is_Blk= BENGALI}', "");
-Expect(0, 2431, '\P{^Is_Blk= BENGALI}', "");
-Error('\p{Block= Cypriot/a/Syllabary}');
-Error('\P{Block= Cypriot/a/Syllabary}');
-Expect(1, 67647, '\p{Block=cypriotsyllabary}', "");
-Expect(0, 67647, '\p{^Block=cypriotsyllabary}', "");
-Expect(0, 67647, '\P{Block=cypriotsyllabary}', "");
-Expect(1, 67647, '\P{^Block=cypriotsyllabary}', "");
-Expect(0, 67583, '\p{Block=cypriotsyllabary}', "");
-Expect(1, 67583, '\p{^Block=cypriotsyllabary}', "");
-Expect(1, 67583, '\P{Block=cypriotsyllabary}', "");
-Expect(0, 67583, '\P{^Block=cypriotsyllabary}', "");
-Expect(1, 67647, '\p{Block=CYPRIOT Syllabary}', "");
-Expect(0, 67647, '\p{^Block=CYPRIOT Syllabary}', "");
-Expect(0, 67647, '\P{Block=CYPRIOT Syllabary}', "");
-Expect(1, 67647, '\P{^Block=CYPRIOT Syllabary}', "");
-Expect(0, 67583, '\p{Block=CYPRIOT Syllabary}', "");
-Expect(1, 67583, '\p{^Block=CYPRIOT Syllabary}', "");
-Expect(1, 67583, '\P{Block=CYPRIOT Syllabary}', "");
-Expect(0, 67583, '\P{^Block=CYPRIOT Syllabary}', "");
-Error('\p{Blk=-/a/cypriot-Syllabary}');
-Error('\P{Blk=-/a/cypriot-Syllabary}');
-Expect(1, 67647, '\p{Blk=cypriotsyllabary}', "");
-Expect(0, 67647, '\p{^Blk=cypriotsyllabary}', "");
-Expect(0, 67647, '\P{Blk=cypriotsyllabary}', "");
-Expect(1, 67647, '\P{^Blk=cypriotsyllabary}', "");
-Expect(0, 67583, '\p{Blk=cypriotsyllabary}', "");
-Expect(1, 67583, '\p{^Blk=cypriotsyllabary}', "");
-Expect(1, 67583, '\P{Blk=cypriotsyllabary}', "");
-Expect(0, 67583, '\P{^Blk=cypriotsyllabary}', "");
-Expect(1, 67647, '\p{Blk= CYPRIOTSYLLABARY}', "");
-Expect(0, 67647, '\p{^Blk= CYPRIOTSYLLABARY}', "");
-Expect(0, 67647, '\P{Blk= CYPRIOTSYLLABARY}', "");
-Expect(1, 67647, '\P{^Blk= CYPRIOTSYLLABARY}', "");
-Expect(0, 67583, '\p{Blk= CYPRIOTSYLLABARY}', "");
-Expect(1, 67583, '\p{^Blk= CYPRIOTSYLLABARY}', "");
-Expect(1, 67583, '\P{Blk= CYPRIOTSYLLABARY}', "");
-Expect(0, 67583, '\P{^Blk= CYPRIOTSYLLABARY}', "");
-Error('\p{Is_Block=_:=CypriotSyllabary}');
-Error('\P{Is_Block=_:=CypriotSyllabary}');
-Expect(1, 67647, '\p{Is_Block=cypriotsyllabary}', "");
-Expect(0, 67647, '\p{^Is_Block=cypriotsyllabary}', "");
-Expect(0, 67647, '\P{Is_Block=cypriotsyllabary}', "");
-Expect(1, 67647, '\P{^Is_Block=cypriotsyllabary}', "");
-Expect(0, 67583, '\p{Is_Block=cypriotsyllabary}', "");
-Expect(1, 67583, '\p{^Is_Block=cypriotsyllabary}', "");
-Expect(1, 67583, '\P{Is_Block=cypriotsyllabary}', "");
-Expect(0, 67583, '\P{^Is_Block=cypriotsyllabary}', "");
-Expect(1, 67647, '\p{Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(0, 67647, '\p{^Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(0, 67647, '\P{Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(1, 67647, '\P{^Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(0, 67583, '\p{Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(1, 67583, '\p{^Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(1, 67583, '\P{Is_Block: _CYPRIOTSYLLABARY}', "");
-Expect(0, 67583, '\P{^Is_Block: _CYPRIOTSYLLABARY}', "");
-Error('\p{Is_Blk=_/a/Cypriot_Syllabary}');
-Error('\P{Is_Blk=_/a/Cypriot_Syllabary}');
-Expect(1, 67647, '\p{Is_Blk=cypriotsyllabary}', "");
-Expect(0, 67647, '\p{^Is_Blk=cypriotsyllabary}', "");
-Expect(0, 67647, '\P{Is_Blk=cypriotsyllabary}', "");
-Expect(1, 67647, '\P{^Is_Blk=cypriotsyllabary}', "");
-Expect(0, 67583, '\p{Is_Blk=cypriotsyllabary}', "");
-Expect(1, 67583, '\p{^Is_Blk=cypriotsyllabary}', "");
-Expect(1, 67583, '\P{Is_Blk=cypriotsyllabary}', "");
-Expect(0, 67583, '\P{^Is_Blk=cypriotsyllabary}', "");
-Expect(1, 67647, '\p{Is_Blk= -CypriotSyllabary}', "");
-Expect(0, 67647, '\p{^Is_Blk= -CypriotSyllabary}', "");
-Expect(0, 67647, '\P{Is_Blk= -CypriotSyllabary}', "");
-Expect(1, 67647, '\P{^Is_Blk= -CypriotSyllabary}', "");
-Expect(0, 67583, '\p{Is_Blk= -CypriotSyllabary}', "");
-Expect(1, 67583, '\p{^Is_Blk= -CypriotSyllabary}', "");
-Expect(1, 67583, '\P{Is_Blk= -CypriotSyllabary}', "");
-Expect(0, 67583, '\P{^Is_Blk= -CypriotSyllabary}', "");
-Error('\p{Block= /a/SUPPLEMENTAL-Punctuation}');
-Error('\P{Block= /a/SUPPLEMENTAL-Punctuation}');
-Expect(1, 11903, '\p{Block=supplementalpunctuation}', "");
-Expect(0, 11903, '\p{^Block=supplementalpunctuation}', "");
-Expect(0, 11903, '\P{Block=supplementalpunctuation}', "");
-Expect(1, 11903, '\P{^Block=supplementalpunctuation}', "");
-Expect(0, 11775, '\p{Block=supplementalpunctuation}', "");
-Expect(1, 11775, '\p{^Block=supplementalpunctuation}', "");
-Expect(1, 11775, '\P{Block=supplementalpunctuation}', "");
-Expect(0, 11775, '\P{^Block=supplementalpunctuation}', "");
-Expect(1, 11903, '\p{Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(0, 11903, '\p{^Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(0, 11903, '\P{Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(1, 11903, '\P{^Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(0, 11775, '\p{Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(1, 11775, '\p{^Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(1, 11775, '\P{Block=_SUPPLEMENTAL Punctuation}', "");
-Expect(0, 11775, '\P{^Block=_SUPPLEMENTAL Punctuation}', "");
-Error('\p{Blk= supplemental-PUNCTUATION/a/}');
-Error('\P{Blk= supplemental-PUNCTUATION/a/}');
-Expect(1, 11903, '\p{Blk=supplementalpunctuation}', "");
-Expect(0, 11903, '\p{^Blk=supplementalpunctuation}', "");
-Expect(0, 11903, '\P{Blk=supplementalpunctuation}', "");
-Expect(1, 11903, '\P{^Blk=supplementalpunctuation}', "");
-Expect(0, 11775, '\p{Blk=supplementalpunctuation}', "");
-Expect(1, 11775, '\p{^Blk=supplementalpunctuation}', "");
-Expect(1, 11775, '\P{Blk=supplementalpunctuation}', "");
-Expect(0, 11775, '\P{^Blk=supplementalpunctuation}', "");
-Expect(1, 11903, '\p{Blk=-supplementalPUNCTUATION}', "");
-Expect(0, 11903, '\p{^Blk=-supplementalPUNCTUATION}', "");
-Expect(0, 11903, '\P{Blk=-supplementalPUNCTUATION}', "");
-Expect(1, 11903, '\P{^Blk=-supplementalPUNCTUATION}', "");
-Expect(0, 11775, '\p{Blk=-supplementalPUNCTUATION}', "");
-Expect(1, 11775, '\p{^Blk=-supplementalPUNCTUATION}', "");
-Expect(1, 11775, '\P{Blk=-supplementalPUNCTUATION}', "");
-Expect(0, 11775, '\P{^Blk=-supplementalPUNCTUATION}', "");
-Error('\p{Is_Block= :=supplemental_Punctuation}');
-Error('\P{Is_Block= :=supplemental_Punctuation}');
-Expect(1, 11903, '\p{Is_Block=supplementalpunctuation}', "");
-Expect(0, 11903, '\p{^Is_Block=supplementalpunctuation}', "");
-Expect(0, 11903, '\P{Is_Block=supplementalpunctuation}', "");
-Expect(1, 11903, '\P{^Is_Block=supplementalpunctuation}', "");
-Expect(0, 11775, '\p{Is_Block=supplementalpunctuation}', "");
-Expect(1, 11775, '\p{^Is_Block=supplementalpunctuation}', "");
-Expect(1, 11775, '\P{Is_Block=supplementalpunctuation}', "");
-Expect(0, 11775, '\P{^Is_Block=supplementalpunctuation}', "");
-Expect(1, 11903, '\p{Is_Block: -supplemental Punctuation}', "");
-Expect(0, 11903, '\p{^Is_Block: -supplemental Punctuation}', "");
-Expect(0, 11903, '\P{Is_Block: -supplemental Punctuation}', "");
-Expect(1, 11903, '\P{^Is_Block: -supplemental Punctuation}', "");
-Expect(0, 11775, '\p{Is_Block: -supplemental Punctuation}', "");
-Expect(1, 11775, '\p{^Is_Block: -supplemental Punctuation}', "");
-Expect(1, 11775, '\P{Is_Block: -supplemental Punctuation}', "");
-Expect(0, 11775, '\P{^Is_Block: -supplemental Punctuation}', "");
-Error('\p{Is_Blk=/a/- Supplemental Punctuation}');
-Error('\P{Is_Blk=/a/- Supplemental Punctuation}');
-Expect(1, 11903, '\p{Is_Blk: supplementalpunctuation}', "");
-Expect(0, 11903, '\p{^Is_Blk: supplementalpunctuation}', "");
-Expect(0, 11903, '\P{Is_Blk: supplementalpunctuation}', "");
-Expect(1, 11903, '\P{^Is_Blk: supplementalpunctuation}', "");
-Expect(0, 11775, '\p{Is_Blk: supplementalpunctuation}', "");
-Expect(1, 11775, '\p{^Is_Blk: supplementalpunctuation}', "");
-Expect(1, 11775, '\P{Is_Blk: supplementalpunctuation}', "");
-Expect(0, 11775, '\P{^Is_Blk: supplementalpunctuation}', "");
-Expect(1, 11903, '\p{Is_Blk= supplemental PUNCTUATION}', "");
-Expect(0, 11903, '\p{^Is_Blk= supplemental PUNCTUATION}', "");
-Expect(0, 11903, '\P{Is_Blk= supplemental PUNCTUATION}', "");
-Expect(1, 11903, '\P{^Is_Blk= supplemental PUNCTUATION}', "");
-Expect(0, 11775, '\p{Is_Blk= supplemental PUNCTUATION}', "");
-Expect(1, 11775, '\p{^Is_Blk= supplemental PUNCTUATION}', "");
-Expect(1, 11775, '\P{Is_Blk= supplemental PUNCTUATION}', "");
-Expect(0, 11775, '\P{^Is_Blk= supplemental PUNCTUATION}', "");
-Error('\p{Block= Coptic:=}');
-Error('\P{Block= Coptic:=}');
-Expect(1, 11519, '\p{Block=coptic}', "");
-Expect(0, 11519, '\p{^Block=coptic}', "");
-Expect(0, 11519, '\P{Block=coptic}', "");
-Expect(1, 11519, '\P{^Block=coptic}', "");
-Expect(0, 11391, '\p{Block=coptic}', "");
-Expect(1, 11391, '\p{^Block=coptic}', "");
-Expect(1, 11391, '\P{Block=coptic}', "");
-Expect(0, 11391, '\P{^Block=coptic}', "");
-Expect(1, 11519, '\p{Block= _COPTIC}', "");
-Expect(0, 11519, '\p{^Block= _COPTIC}', "");
-Expect(0, 11519, '\P{Block= _COPTIC}', "");
-Expect(1, 11519, '\P{^Block= _COPTIC}', "");
-Expect(0, 11391, '\p{Block= _COPTIC}', "");
-Expect(1, 11391, '\p{^Block= _COPTIC}', "");
-Expect(1, 11391, '\P{Block= _COPTIC}', "");
-Expect(0, 11391, '\P{^Block= _COPTIC}', "");
-Error('\p{Blk=/a/coptic}');
-Error('\P{Blk=/a/coptic}');
-Expect(1, 11519, '\p{Blk=coptic}', "");
-Expect(0, 11519, '\p{^Blk=coptic}', "");
-Expect(0, 11519, '\P{Blk=coptic}', "");
-Expect(1, 11519, '\P{^Blk=coptic}', "");
-Expect(0, 11391, '\p{Blk=coptic}', "");
-Expect(1, 11391, '\p{^Blk=coptic}', "");
-Expect(1, 11391, '\P{Blk=coptic}', "");
-Expect(0, 11391, '\P{^Blk=coptic}', "");
-Expect(1, 11519, '\p{Blk= Coptic}', "");
-Expect(0, 11519, '\p{^Blk= Coptic}', "");
-Expect(0, 11519, '\P{Blk= Coptic}', "");
-Expect(1, 11519, '\P{^Blk= Coptic}', "");
-Expect(0, 11391, '\p{Blk= Coptic}', "");
-Expect(1, 11391, '\p{^Blk= Coptic}', "");
-Expect(1, 11391, '\P{Blk= Coptic}', "");
-Expect(0, 11391, '\P{^Blk= Coptic}', "");
-Error('\p{Is_Block=_ Coptic:=}');
-Error('\P{Is_Block=_ Coptic:=}');
-Expect(1, 11519, '\p{Is_Block=coptic}', "");
-Expect(0, 11519, '\p{^Is_Block=coptic}', "");
-Expect(0, 11519, '\P{Is_Block=coptic}', "");
-Expect(1, 11519, '\P{^Is_Block=coptic}', "");
-Expect(0, 11391, '\p{Is_Block=coptic}', "");
-Expect(1, 11391, '\p{^Is_Block=coptic}', "");
-Expect(1, 11391, '\P{Is_Block=coptic}', "");
-Expect(0, 11391, '\P{^Is_Block=coptic}', "");
-Expect(1, 11519, '\p{Is_Block= COPTIC}', "");
-Expect(0, 11519, '\p{^Is_Block= COPTIC}', "");
-Expect(0, 11519, '\P{Is_Block= COPTIC}', "");
-Expect(1, 11519, '\P{^Is_Block= COPTIC}', "");
-Expect(0, 11391, '\p{Is_Block= COPTIC}', "");
-Expect(1, 11391, '\p{^Is_Block= COPTIC}', "");
-Expect(1, 11391, '\P{Is_Block= COPTIC}', "");
-Expect(0, 11391, '\P{^Is_Block= COPTIC}', "");
-Error('\p{Is_Blk=_:=Coptic}');
-Error('\P{Is_Blk=_:=Coptic}');
-Expect(1, 11519, '\p{Is_Blk=coptic}', "");
-Expect(0, 11519, '\p{^Is_Blk=coptic}', "");
-Expect(0, 11519, '\P{Is_Blk=coptic}', "");
-Expect(1, 11519, '\P{^Is_Blk=coptic}', "");
-Expect(0, 11391, '\p{Is_Blk=coptic}', "");
-Expect(1, 11391, '\p{^Is_Blk=coptic}', "");
-Expect(1, 11391, '\P{Is_Blk=coptic}', "");
-Expect(0, 11391, '\P{^Is_Blk=coptic}', "");
-Expect(1, 11519, '\p{Is_Blk= Coptic}', "");
-Expect(0, 11519, '\p{^Is_Blk= Coptic}', "");
-Expect(0, 11519, '\P{Is_Blk= Coptic}', "");
-Expect(1, 11519, '\P{^Is_Blk= Coptic}', "");
-Expect(0, 11391, '\p{Is_Blk= Coptic}', "");
-Expect(1, 11391, '\p{^Is_Blk= Coptic}', "");
-Expect(1, 11391, '\P{Is_Blk= Coptic}', "");
-Expect(0, 11391, '\P{^Is_Blk= Coptic}', "");
-Error('\p{Block=_-SUPPLEMENTAL ARROWS:=B}');
-Error('\P{Block=_-SUPPLEMENTAL ARROWS:=B}');
-Expect(1, 10623, '\p{Block=supplementalarrowsb}', "");
-Expect(0, 10623, '\p{^Block=supplementalarrowsb}', "");
-Expect(0, 10623, '\P{Block=supplementalarrowsb}', "");
-Expect(1, 10623, '\P{^Block=supplementalarrowsb}', "");
-Expect(0, 10495, '\p{Block=supplementalarrowsb}', "");
-Expect(1, 10495, '\p{^Block=supplementalarrowsb}', "");
-Expect(1, 10495, '\P{Block=supplementalarrowsb}', "");
-Expect(0, 10495, '\P{^Block=supplementalarrowsb}', "");
-Expect(1, 10623, '\p{Block=Supplementalarrows B}', "");
-Expect(0, 10623, '\p{^Block=Supplementalarrows B}', "");
-Expect(0, 10623, '\P{Block=Supplementalarrows B}', "");
-Expect(1, 10623, '\P{^Block=Supplementalarrows B}', "");
-Expect(0, 10495, '\p{Block=Supplementalarrows B}', "");
-Expect(1, 10495, '\p{^Block=Supplementalarrows B}', "");
-Expect(1, 10495, '\P{Block=Supplementalarrows B}', "");
-Expect(0, 10495, '\P{^Block=Supplementalarrows B}', "");
-Error('\p{Blk=-:=Supplemental ARROWSB}');
-Error('\P{Blk=-:=Supplemental ARROWSB}');
-Expect(1, 10623, '\p{Blk=supplementalarrowsb}', "");
-Expect(0, 10623, '\p{^Blk=supplementalarrowsb}', "");
-Expect(0, 10623, '\P{Blk=supplementalarrowsb}', "");
-Expect(1, 10623, '\P{^Blk=supplementalarrowsb}', "");
-Expect(0, 10495, '\p{Blk=supplementalarrowsb}', "");
-Expect(1, 10495, '\p{^Blk=supplementalarrowsb}', "");
-Expect(1, 10495, '\P{Blk=supplementalarrowsb}', "");
-Expect(0, 10495, '\P{^Blk=supplementalarrowsb}', "");
-Expect(1, 10623, '\p{Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(0, 10623, '\p{^Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(0, 10623, '\P{Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(1, 10623, '\P{^Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(0, 10495, '\p{Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(1, 10495, '\p{^Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(1, 10495, '\P{Blk= SUPPLEMENTAL_Arrows B}', "");
-Expect(0, 10495, '\P{^Blk= SUPPLEMENTAL_Arrows B}', "");
-Error('\p{Is_Block=_SUPPLEMENTAL Arrows:=B}');
-Error('\P{Is_Block=_SUPPLEMENTAL Arrows:=B}');
-Expect(1, 10623, '\p{Is_Block=supplementalarrowsb}', "");
-Expect(0, 10623, '\p{^Is_Block=supplementalarrowsb}', "");
-Expect(0, 10623, '\P{Is_Block=supplementalarrowsb}', "");
-Expect(1, 10623, '\P{^Is_Block=supplementalarrowsb}', "");
-Expect(0, 10495, '\p{Is_Block=supplementalarrowsb}', "");
-Expect(1, 10495, '\p{^Is_Block=supplementalarrowsb}', "");
-Expect(1, 10495, '\P{Is_Block=supplementalarrowsb}', "");
-Expect(0, 10495, '\P{^Is_Block=supplementalarrowsb}', "");
-Expect(1, 10623, '\p{Is_Block= SupplementalArrows B}', "");
-Expect(0, 10623, '\p{^Is_Block= SupplementalArrows B}', "");
-Expect(0, 10623, '\P{Is_Block= SupplementalArrows B}', "");
-Expect(1, 10623, '\P{^Is_Block= SupplementalArrows B}', "");
-Expect(0, 10495, '\p{Is_Block= SupplementalArrows B}', "");
-Expect(1, 10495, '\p{^Is_Block= SupplementalArrows B}', "");
-Expect(1, 10495, '\P{Is_Block= SupplementalArrows B}', "");
-Expect(0, 10495, '\P{^Is_Block= SupplementalArrows B}', "");
-Error('\p{Is_Blk= SUPPLEMENTAL:=arrowsB}');
-Error('\P{Is_Blk= SUPPLEMENTAL:=arrowsB}');
-Expect(1, 10623, '\p{Is_Blk=supplementalarrowsb}', "");
-Expect(0, 10623, '\p{^Is_Blk=supplementalarrowsb}', "");
-Expect(0, 10623, '\P{Is_Blk=supplementalarrowsb}', "");
-Expect(1, 10623, '\P{^Is_Blk=supplementalarrowsb}', "");
-Expect(0, 10495, '\p{Is_Blk=supplementalarrowsb}', "");
-Expect(1, 10495, '\p{^Is_Blk=supplementalarrowsb}', "");
-Expect(1, 10495, '\P{Is_Blk=supplementalarrowsb}', "");
-Expect(0, 10495, '\P{^Is_Blk=supplementalarrowsb}', "");
-Expect(1, 10623, '\p{Is_Blk=_-Supplementalarrows-B}', "");
-Expect(0, 10623, '\p{^Is_Blk=_-Supplementalarrows-B}', "");
-Expect(0, 10623, '\P{Is_Blk=_-Supplementalarrows-B}', "");
-Expect(1, 10623, '\P{^Is_Blk=_-Supplementalarrows-B}', "");
-Expect(0, 10495, '\p{Is_Blk=_-Supplementalarrows-B}', "");
-Expect(1, 10495, '\p{^Is_Blk=_-Supplementalarrows-B}', "");
-Expect(1, 10495, '\P{Is_Blk=_-Supplementalarrows-B}', "");
-Expect(0, 10495, '\P{^Is_Blk=_-Supplementalarrows-B}', "");
-Error('\p{Block=-:=Tibetan}');
-Error('\P{Block=-:=Tibetan}');
-Expect(1, 4095, '\p{Block=tibetan}', "");
-Expect(0, 4095, '\p{^Block=tibetan}', "");
-Expect(0, 4095, '\P{Block=tibetan}', "");
-Expect(1, 4095, '\P{^Block=tibetan}', "");
-Expect(0, 3839, '\p{Block=tibetan}', "");
-Expect(1, 3839, '\p{^Block=tibetan}', "");
-Expect(1, 3839, '\P{Block=tibetan}', "");
-Expect(0, 3839, '\P{^Block=tibetan}', "");
-Expect(1, 4095, '\p{Block=--TIBETAN}', "");
-Expect(0, 4095, '\p{^Block=--TIBETAN}', "");
-Expect(0, 4095, '\P{Block=--TIBETAN}', "");
-Expect(1, 4095, '\P{^Block=--TIBETAN}', "");
-Expect(0, 3839, '\p{Block=--TIBETAN}', "");
-Expect(1, 3839, '\p{^Block=--TIBETAN}', "");
-Expect(1, 3839, '\P{Block=--TIBETAN}', "");
-Expect(0, 3839, '\P{^Block=--TIBETAN}', "");
-Error('\p{Blk=_tibetan:=}');
-Error('\P{Blk=_tibetan:=}');
-Expect(1, 4095, '\p{Blk=tibetan}', "");
-Expect(0, 4095, '\p{^Blk=tibetan}', "");
-Expect(0, 4095, '\P{Blk=tibetan}', "");
-Expect(1, 4095, '\P{^Blk=tibetan}', "");
-Expect(0, 3839, '\p{Blk=tibetan}', "");
-Expect(1, 3839, '\p{^Blk=tibetan}', "");
-Expect(1, 3839, '\P{Blk=tibetan}', "");
-Expect(0, 3839, '\P{^Blk=tibetan}', "");
-Expect(1, 4095, '\p{Blk=_Tibetan}', "");
-Expect(0, 4095, '\p{^Blk=_Tibetan}', "");
-Expect(0, 4095, '\P{Blk=_Tibetan}', "");
-Expect(1, 4095, '\P{^Blk=_Tibetan}', "");
-Expect(0, 3839, '\p{Blk=_Tibetan}', "");
-Expect(1, 3839, '\p{^Blk=_Tibetan}', "");
-Expect(1, 3839, '\P{Blk=_Tibetan}', "");
-Expect(0, 3839, '\P{^Blk=_Tibetan}', "");
-Error('\p{Is_Block: tibetan/a/}');
-Error('\P{Is_Block: tibetan/a/}');
-Expect(1, 4095, '\p{Is_Block=tibetan}', "");
-Expect(0, 4095, '\p{^Is_Block=tibetan}', "");
-Expect(0, 4095, '\P{Is_Block=tibetan}', "");
-Expect(1, 4095, '\P{^Is_Block=tibetan}', "");
-Expect(0, 3839, '\p{Is_Block=tibetan}', "");
-Expect(1, 3839, '\p{^Is_Block=tibetan}', "");
-Expect(1, 3839, '\P{Is_Block=tibetan}', "");
-Expect(0, 3839, '\P{^Is_Block=tibetan}', "");
-Expect(1, 4095, '\p{Is_Block= TIBETAN}', "");
-Expect(0, 4095, '\p{^Is_Block= TIBETAN}', "");
-Expect(0, 4095, '\P{Is_Block= TIBETAN}', "");
-Expect(1, 4095, '\P{^Is_Block= TIBETAN}', "");
-Expect(0, 3839, '\p{Is_Block= TIBETAN}', "");
-Expect(1, 3839, '\p{^Is_Block= TIBETAN}', "");
-Expect(1, 3839, '\P{Is_Block= TIBETAN}', "");
-Expect(0, 3839, '\P{^Is_Block= TIBETAN}', "");
-Error('\p{Is_Blk=:=_-TIBETAN}');
-Error('\P{Is_Blk=:=_-TIBETAN}');
-Expect(1, 4095, '\p{Is_Blk=tibetan}', "");
-Expect(0, 4095, '\p{^Is_Blk=tibetan}', "");
-Expect(0, 4095, '\P{Is_Blk=tibetan}', "");
-Expect(1, 4095, '\P{^Is_Blk=tibetan}', "");
-Expect(0, 3839, '\p{Is_Blk=tibetan}', "");
-Expect(1, 3839, '\p{^Is_Blk=tibetan}', "");
-Expect(1, 3839, '\P{Is_Blk=tibetan}', "");
-Expect(0, 3839, '\P{^Is_Blk=tibetan}', "");
-Expect(1, 4095, '\p{Is_Blk=--tibetan}', "");
-Expect(0, 4095, '\p{^Is_Blk=--tibetan}', "");
-Expect(0, 4095, '\P{Is_Blk=--tibetan}', "");
-Expect(1, 4095, '\P{^Is_Blk=--tibetan}', "");
-Expect(0, 3839, '\p{Is_Blk=--tibetan}', "");
-Expect(1, 3839, '\p{^Is_Blk=--tibetan}', "");
-Expect(1, 3839, '\P{Is_Blk=--tibetan}', "");
-Expect(0, 3839, '\P{^Is_Blk=--tibetan}', "");
-Error('\p{Block=-:=domino Tiles}');
-Error('\P{Block=-:=domino Tiles}');
-Expect(1, 127135, '\p{Block=dominotiles}', "");
-Expect(0, 127135, '\p{^Block=dominotiles}', "");
-Expect(0, 127135, '\P{Block=dominotiles}', "");
-Expect(1, 127135, '\P{^Block=dominotiles}', "");
-Expect(0, 127023, '\p{Block=dominotiles}', "");
-Expect(1, 127023, '\p{^Block=dominotiles}', "");
-Expect(1, 127023, '\P{Block=dominotiles}', "");
-Expect(0, 127023, '\P{^Block=dominotiles}', "");
-Expect(1, 127135, '\p{Block= domino-Tiles}', "");
-Expect(0, 127135, '\p{^Block= domino-Tiles}', "");
-Expect(0, 127135, '\P{Block= domino-Tiles}', "");
-Expect(1, 127135, '\P{^Block= domino-Tiles}', "");
-Expect(0, 127023, '\p{Block= domino-Tiles}', "");
-Expect(1, 127023, '\p{^Block= domino-Tiles}', "");
-Expect(1, 127023, '\P{Block= domino-Tiles}', "");
-Expect(0, 127023, '\P{^Block= domino-Tiles}', "");
-Error('\p{Blk:/a/-Domino Tiles}');
-Error('\P{Blk:/a/-Domino Tiles}');
-Expect(1, 127135, '\p{Blk: dominotiles}', "");
-Expect(0, 127135, '\p{^Blk: dominotiles}', "");
-Expect(0, 127135, '\P{Blk: dominotiles}', "");
-Expect(1, 127135, '\P{^Blk: dominotiles}', "");
-Expect(0, 127023, '\p{Blk: dominotiles}', "");
-Expect(1, 127023, '\p{^Blk: dominotiles}', "");
-Expect(1, 127023, '\P{Blk: dominotiles}', "");
-Expect(0, 127023, '\P{^Blk: dominotiles}', "");
-Expect(1, 127135, '\p{Blk=_ DOMINO_Tiles}', "");
-Expect(0, 127135, '\p{^Blk=_ DOMINO_Tiles}', "");
-Expect(0, 127135, '\P{Blk=_ DOMINO_Tiles}', "");
-Expect(1, 127135, '\P{^Blk=_ DOMINO_Tiles}', "");
-Expect(0, 127023, '\p{Blk=_ DOMINO_Tiles}', "");
-Expect(1, 127023, '\p{^Blk=_ DOMINO_Tiles}', "");
-Expect(1, 127023, '\P{Blk=_ DOMINO_Tiles}', "");
-Expect(0, 127023, '\P{^Blk=_ DOMINO_Tiles}', "");
-Error('\p{Is_Block= Domino:=Tiles}');
-Error('\P{Is_Block= Domino:=Tiles}');
-Expect(1, 127135, '\p{Is_Block=dominotiles}', "");
-Expect(0, 127135, '\p{^Is_Block=dominotiles}', "");
-Expect(0, 127135, '\P{Is_Block=dominotiles}', "");
-Expect(1, 127135, '\P{^Is_Block=dominotiles}', "");
-Expect(0, 127023, '\p{Is_Block=dominotiles}', "");
-Expect(1, 127023, '\p{^Is_Block=dominotiles}', "");
-Expect(1, 127023, '\P{Is_Block=dominotiles}', "");
-Expect(0, 127023, '\P{^Is_Block=dominotiles}', "");
-Expect(1, 127135, '\p{Is_Block: domino_TILES}', "");
-Expect(0, 127135, '\p{^Is_Block: domino_TILES}', "");
-Expect(0, 127135, '\P{Is_Block: domino_TILES}', "");
-Expect(1, 127135, '\P{^Is_Block: domino_TILES}', "");
-Expect(0, 127023, '\p{Is_Block: domino_TILES}', "");
-Expect(1, 127023, '\p{^Is_Block: domino_TILES}', "");
-Expect(1, 127023, '\P{Is_Block: domino_TILES}', "");
-Expect(0, 127023, '\P{^Is_Block: domino_TILES}', "");
-Error('\p{Is_Blk=/a/ domino TILES}');
-Error('\P{Is_Blk=/a/ domino TILES}');
-Expect(1, 127135, '\p{Is_Blk=dominotiles}', "");
-Expect(0, 127135, '\p{^Is_Blk=dominotiles}', "");
-Expect(0, 127135, '\P{Is_Blk=dominotiles}', "");
-Expect(1, 127135, '\P{^Is_Blk=dominotiles}', "");
-Expect(0, 127023, '\p{Is_Blk=dominotiles}', "");
-Expect(1, 127023, '\p{^Is_Blk=dominotiles}', "");
-Expect(1, 127023, '\P{Is_Blk=dominotiles}', "");
-Expect(0, 127023, '\P{^Is_Blk=dominotiles}', "");
-Expect(1, 127135, '\p{Is_Blk= Domino Tiles}', "");
-Expect(0, 127135, '\p{^Is_Blk= Domino Tiles}', "");
-Expect(0, 127135, '\P{Is_Blk= Domino Tiles}', "");
-Expect(1, 127135, '\P{^Is_Blk= Domino Tiles}', "");
-Expect(0, 127023, '\p{Is_Blk= Domino Tiles}', "");
-Expect(1, 127023, '\p{^Is_Blk= Domino Tiles}', "");
-Expect(1, 127023, '\P{Is_Blk= Domino Tiles}', "");
-Expect(0, 127023, '\P{^Is_Blk= Domino Tiles}', "");
-Error('\p{Block=/a/CJK-Symbols And punctuation}');
-Error('\P{Block=/a/CJK-Symbols And punctuation}');
-Expect(1, 12351, '\p{Block=cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^Block=cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{Block=cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^Block=cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{Block=cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^Block=cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{Block=cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^Block=cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(0, 12351, '\p{^Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(0, 12351, '\P{Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(1, 12351, '\P{^Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(0, 12287, '\p{Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(1, 12287, '\p{^Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(1, 12287, '\P{Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Expect(0, 12287, '\P{^Block: CJK_SYMBOLSAND-PUNCTUATION}', "");
-Error('\p{Blk= _CJK SYMBOLS and/a/Punctuation}');
-Error('\P{Blk= _CJK SYMBOLS and/a/Punctuation}');
-Expect(1, 12351, '\p{Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(0, 12351, '\p{^Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(0, 12351, '\P{Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(1, 12351, '\P{^Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(0, 12287, '\p{Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(1, 12287, '\p{^Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(1, 12287, '\P{Blk=-_CJK_symbols Andpunctuation}', "");
-Expect(0, 12287, '\P{^Blk=-_CJK_symbols Andpunctuation}', "");
-Error('\p{Is_Block=- cjk_Symbols/a/AND punctuation}');
-Error('\P{Is_Block=- cjk_Symbols/a/AND punctuation}');
-Expect(1, 12351, '\p{Is_Block:cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^Is_Block:cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{Is_Block:cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^Is_Block:cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{Is_Block:cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^Is_Block:cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{Is_Block:cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^Is_Block:cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{Is_Block= CJK-symbols And punctuation}', "");
-Expect(0, 12351, '\p{^Is_Block= CJK-symbols And punctuation}', "");
-Expect(0, 12351, '\P{Is_Block= CJK-symbols And punctuation}', "");
-Expect(1, 12351, '\P{^Is_Block= CJK-symbols And punctuation}', "");
-Expect(0, 12287, '\p{Is_Block= CJK-symbols And punctuation}', "");
-Expect(1, 12287, '\p{^Is_Block= CJK-symbols And punctuation}', "");
-Expect(1, 12287, '\P{Is_Block= CJK-symbols And punctuation}', "");
-Expect(0, 12287, '\P{^Is_Block= CJK-symbols And punctuation}', "");
-Error('\p{Is_Blk: -/a/CJK-symbolsANDpunctuation}');
-Error('\P{Is_Blk: -/a/CJK-symbolsANDpunctuation}');
-Expect(1, 12351, '\p{Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^Is_Blk=cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(0, 12351, '\p{^Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(0, 12351, '\P{Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(1, 12351, '\P{^Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(0, 12287, '\p{Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(1, 12287, '\p{^Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(1, 12287, '\P{Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Expect(0, 12287, '\P{^Is_Blk=_CJKSymbolsand-PUNCTUATION}', "");
-Error('\p{Block= hangulCOMPATIBILITY Jamo:=}');
-Error('\P{Block= hangulCOMPATIBILITY Jamo:=}');
-Expect(1, 12687, '\p{Block=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^Block=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{Block=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^Block=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{Block=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^Block=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{Block=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^Block=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{Block=_Hangul_compatibility jamo}', "");
-Expect(0, 12687, '\p{^Block=_Hangul_compatibility jamo}', "");
-Expect(0, 12687, '\P{Block=_Hangul_compatibility jamo}', "");
-Expect(1, 12687, '\P{^Block=_Hangul_compatibility jamo}', "");
-Expect(0, 12591, '\p{Block=_Hangul_compatibility jamo}', "");
-Expect(1, 12591, '\p{^Block=_Hangul_compatibility jamo}', "");
-Expect(1, 12591, '\P{Block=_Hangul_compatibility jamo}', "");
-Expect(0, 12591, '\P{^Block=_Hangul_compatibility jamo}', "");
-Error('\p{Blk= Hangul:=compatibility jamo}');
-Error('\P{Blk= Hangul:=compatibility jamo}');
-Expect(1, 12687, '\p{Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{Blk= -hangulCompatibility_JAMO}', "");
-Expect(0, 12687, '\p{^Blk= -hangulCompatibility_JAMO}', "");
-Expect(0, 12687, '\P{Blk= -hangulCompatibility_JAMO}', "");
-Expect(1, 12687, '\P{^Blk= -hangulCompatibility_JAMO}', "");
-Expect(0, 12591, '\p{Blk= -hangulCompatibility_JAMO}', "");
-Expect(1, 12591, '\p{^Blk= -hangulCompatibility_JAMO}', "");
-Expect(1, 12591, '\P{Blk= -hangulCompatibility_JAMO}', "");
-Expect(0, 12591, '\P{^Blk= -hangulCompatibility_JAMO}', "");
-Error('\p{Is_Block: :=HANGUL_compatibility JAMO}');
-Error('\P{Is_Block: :=HANGUL_compatibility JAMO}');
-Expect(1, 12687, '\p{Is_Block=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^Is_Block=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{Is_Block=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^Is_Block=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{Is_Block=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^Is_Block=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{Is_Block=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^Is_Block=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(0, 12687, '\p{^Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(0, 12687, '\P{Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(1, 12687, '\P{^Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(0, 12591, '\p{Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(1, 12591, '\p{^Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(1, 12591, '\P{Is_Block=_ HangulCompatibilityJamo}', "");
-Expect(0, 12591, '\P{^Is_Block=_ HangulCompatibilityJamo}', "");
-Error('\p{Is_Blk=/a/Hangul-COMPATIBILITY Jamo}');
-Error('\P{Is_Blk=/a/Hangul-COMPATIBILITY Jamo}');
-Expect(1, 12687, '\p{Is_Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^Is_Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{Is_Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^Is_Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{Is_Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^Is_Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{Is_Blk=hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^Is_Blk=hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(0, 12687, '\p{^Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(0, 12687, '\P{Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(1, 12687, '\P{^Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(0, 12591, '\p{Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(1, 12591, '\p{^Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(1, 12591, '\P{Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Expect(0, 12591, '\P{^Is_Blk=__hangulCOMPATIBILITY jamo}', "");
-Error('\p{Block:- old:=PERSIAN}');
-Error('\P{Block:- old:=PERSIAN}');
-Expect(1, 66527, '\p{Block=oldpersian}', "");
-Expect(0, 66527, '\p{^Block=oldpersian}', "");
-Expect(0, 66527, '\P{Block=oldpersian}', "");
-Expect(1, 66527, '\P{^Block=oldpersian}', "");
-Expect(0, 66463, '\p{Block=oldpersian}', "");
-Expect(1, 66463, '\p{^Block=oldpersian}', "");
-Expect(1, 66463, '\P{Block=oldpersian}', "");
-Expect(0, 66463, '\P{^Block=oldpersian}', "");
-Expect(1, 66527, '\p{Block=- OLD PERSIAN}', "");
-Expect(0, 66527, '\p{^Block=- OLD PERSIAN}', "");
-Expect(0, 66527, '\P{Block=- OLD PERSIAN}', "");
-Expect(1, 66527, '\P{^Block=- OLD PERSIAN}', "");
-Expect(0, 66463, '\p{Block=- OLD PERSIAN}', "");
-Expect(1, 66463, '\p{^Block=- OLD PERSIAN}', "");
-Expect(1, 66463, '\P{Block=- OLD PERSIAN}', "");
-Expect(0, 66463, '\P{^Block=- OLD PERSIAN}', "");
-Error('\p{Blk: /a/_OLD Persian}');
-Error('\P{Blk: /a/_OLD Persian}');
-Expect(1, 66527, '\p{Blk=oldpersian}', "");
-Expect(0, 66527, '\p{^Blk=oldpersian}', "");
-Expect(0, 66527, '\P{Blk=oldpersian}', "");
-Expect(1, 66527, '\P{^Blk=oldpersian}', "");
-Expect(0, 66463, '\p{Blk=oldpersian}', "");
-Expect(1, 66463, '\p{^Blk=oldpersian}', "");
-Expect(1, 66463, '\P{Blk=oldpersian}', "");
-Expect(0, 66463, '\P{^Blk=oldpersian}', "");
-Expect(1, 66527, '\p{Blk=-Old-PERSIAN}', "");
-Expect(0, 66527, '\p{^Blk=-Old-PERSIAN}', "");
-Expect(0, 66527, '\P{Blk=-Old-PERSIAN}', "");
-Expect(1, 66527, '\P{^Blk=-Old-PERSIAN}', "");
-Expect(0, 66463, '\p{Blk=-Old-PERSIAN}', "");
-Expect(1, 66463, '\p{^Blk=-Old-PERSIAN}', "");
-Expect(1, 66463, '\P{Blk=-Old-PERSIAN}', "");
-Expect(0, 66463, '\P{^Blk=-Old-PERSIAN}', "");
-Error('\p{Is_Block=old-persian/a/}');
-Error('\P{Is_Block=old-persian/a/}');
-Expect(1, 66527, '\p{Is_Block=oldpersian}', "");
-Expect(0, 66527, '\p{^Is_Block=oldpersian}', "");
-Expect(0, 66527, '\P{Is_Block=oldpersian}', "");
-Expect(1, 66527, '\P{^Is_Block=oldpersian}', "");
-Expect(0, 66463, '\p{Is_Block=oldpersian}', "");
-Expect(1, 66463, '\p{^Is_Block=oldpersian}', "");
-Expect(1, 66463, '\P{Is_Block=oldpersian}', "");
-Expect(0, 66463, '\P{^Is_Block=oldpersian}', "");
-Expect(1, 66527, '\p{Is_Block=-Old Persian}', "");
-Expect(0, 66527, '\p{^Is_Block=-Old Persian}', "");
-Expect(0, 66527, '\P{Is_Block=-Old Persian}', "");
-Expect(1, 66527, '\P{^Is_Block=-Old Persian}', "");
-Expect(0, 66463, '\p{Is_Block=-Old Persian}', "");
-Expect(1, 66463, '\p{^Is_Block=-Old Persian}', "");
-Expect(1, 66463, '\P{Is_Block=-Old Persian}', "");
-Expect(0, 66463, '\P{^Is_Block=-Old Persian}', "");
-Error('\p{Is_Blk= :=Old-Persian}');
-Error('\P{Is_Blk= :=Old-Persian}');
-Expect(1, 66527, '\p{Is_Blk:oldpersian}', "");
-Expect(0, 66527, '\p{^Is_Blk:oldpersian}', "");
-Expect(0, 66527, '\P{Is_Blk:oldpersian}', "");
-Expect(1, 66527, '\P{^Is_Blk:oldpersian}', "");
-Expect(0, 66463, '\p{Is_Blk:oldpersian}', "");
-Expect(1, 66463, '\p{^Is_Blk:oldpersian}', "");
-Expect(1, 66463, '\P{Is_Blk:oldpersian}', "");
-Expect(0, 66463, '\P{^Is_Blk:oldpersian}', "");
-Expect(1, 66527, '\p{Is_Blk= Oldpersian}', "");
-Expect(0, 66527, '\p{^Is_Blk= Oldpersian}', "");
-Expect(0, 66527, '\P{Is_Blk= Oldpersian}', "");
-Expect(1, 66527, '\P{^Is_Blk= Oldpersian}', "");
-Expect(0, 66463, '\p{Is_Blk= Oldpersian}', "");
-Expect(1, 66463, '\p{^Is_Blk= Oldpersian}', "");
-Expect(1, 66463, '\P{Is_Blk= Oldpersian}', "");
-Expect(0, 66463, '\P{^Is_Blk= Oldpersian}', "");
-Error('\p{Block=Modifier_Tone_Letters/a/}');
-Error('\P{Block=Modifier_Tone_Letters/a/}');
-Expect(1, 42783, '\p{Block=modifiertoneletters}', "");
-Expect(0, 42783, '\p{^Block=modifiertoneletters}', "");
-Expect(0, 42783, '\P{Block=modifiertoneletters}', "");
-Expect(1, 42783, '\P{^Block=modifiertoneletters}', "");
-Expect(0, 42751, '\p{Block=modifiertoneletters}', "");
-Expect(1, 42751, '\p{^Block=modifiertoneletters}', "");
-Expect(1, 42751, '\P{Block=modifiertoneletters}', "");
-Expect(0, 42751, '\P{^Block=modifiertoneletters}', "");
-Expect(1, 42783, '\p{Block=__Modifier Tone_Letters}', "");
-Expect(0, 42783, '\p{^Block=__Modifier Tone_Letters}', "");
-Expect(0, 42783, '\P{Block=__Modifier Tone_Letters}', "");
-Expect(1, 42783, '\P{^Block=__Modifier Tone_Letters}', "");
-Expect(0, 42751, '\p{Block=__Modifier Tone_Letters}', "");
-Expect(1, 42751, '\p{^Block=__Modifier Tone_Letters}', "");
-Expect(1, 42751, '\P{Block=__Modifier Tone_Letters}', "");
-Expect(0, 42751, '\P{^Block=__Modifier Tone_Letters}', "");
-Error('\p{Blk=MODIFIER-Tone/a/letters}');
-Error('\P{Blk=MODIFIER-Tone/a/letters}');
-Expect(1, 42783, '\p{Blk=modifiertoneletters}', "");
-Expect(0, 42783, '\p{^Blk=modifiertoneletters}', "");
-Expect(0, 42783, '\P{Blk=modifiertoneletters}', "");
-Expect(1, 42783, '\P{^Blk=modifiertoneletters}', "");
-Expect(0, 42751, '\p{Blk=modifiertoneletters}', "");
-Expect(1, 42751, '\p{^Blk=modifiertoneletters}', "");
-Expect(1, 42751, '\P{Blk=modifiertoneletters}', "");
-Expect(0, 42751, '\P{^Blk=modifiertoneletters}', "");
-Expect(1, 42783, '\p{Blk= -MODIFIERTONE letters}', "");
-Expect(0, 42783, '\p{^Blk= -MODIFIERTONE letters}', "");
-Expect(0, 42783, '\P{Blk= -MODIFIERTONE letters}', "");
-Expect(1, 42783, '\P{^Blk= -MODIFIERTONE letters}', "");
-Expect(0, 42751, '\p{Blk= -MODIFIERTONE letters}', "");
-Expect(1, 42751, '\p{^Blk= -MODIFIERTONE letters}', "");
-Expect(1, 42751, '\P{Blk= -MODIFIERTONE letters}', "");
-Expect(0, 42751, '\P{^Blk= -MODIFIERTONE letters}', "");
-Error('\p{Is_Block= -Modifier TONE_Letters:=}');
-Error('\P{Is_Block= -Modifier TONE_Letters:=}');
-Expect(1, 42783, '\p{Is_Block=modifiertoneletters}', "");
-Expect(0, 42783, '\p{^Is_Block=modifiertoneletters}', "");
-Expect(0, 42783, '\P{Is_Block=modifiertoneletters}', "");
-Expect(1, 42783, '\P{^Is_Block=modifiertoneletters}', "");
-Expect(0, 42751, '\p{Is_Block=modifiertoneletters}', "");
-Expect(1, 42751, '\p{^Is_Block=modifiertoneletters}', "");
-Expect(1, 42751, '\P{Is_Block=modifiertoneletters}', "");
-Expect(0, 42751, '\P{^Is_Block=modifiertoneletters}', "");
-Expect(1, 42783, '\p{Is_Block= _modifier TONE LETTERS}', "");
-Expect(0, 42783, '\p{^Is_Block= _modifier TONE LETTERS}', "");
-Expect(0, 42783, '\P{Is_Block= _modifier TONE LETTERS}', "");
-Expect(1, 42783, '\P{^Is_Block= _modifier TONE LETTERS}', "");
-Expect(0, 42751, '\p{Is_Block= _modifier TONE LETTERS}', "");
-Expect(1, 42751, '\p{^Is_Block= _modifier TONE LETTERS}', "");
-Expect(1, 42751, '\P{Is_Block= _modifier TONE LETTERS}', "");
-Expect(0, 42751, '\P{^Is_Block= _modifier TONE LETTERS}', "");
-Error('\p{Is_Blk=_-MODIFIER tone letters/a/}');
-Error('\P{Is_Blk=_-MODIFIER tone letters/a/}');
-Expect(1, 42783, '\p{Is_Blk=modifiertoneletters}', "");
-Expect(0, 42783, '\p{^Is_Blk=modifiertoneletters}', "");
-Expect(0, 42783, '\P{Is_Blk=modifiertoneletters}', "");
-Expect(1, 42783, '\P{^Is_Blk=modifiertoneletters}', "");
-Expect(0, 42751, '\p{Is_Blk=modifiertoneletters}', "");
-Expect(1, 42751, '\p{^Is_Blk=modifiertoneletters}', "");
-Expect(1, 42751, '\P{Is_Blk=modifiertoneletters}', "");
-Expect(0, 42751, '\P{^Is_Blk=modifiertoneletters}', "");
-Expect(1, 42783, '\p{Is_Blk=- modifier-Tone letters}', "");
-Expect(0, 42783, '\p{^Is_Blk=- modifier-Tone letters}', "");
-Expect(0, 42783, '\P{Is_Blk=- modifier-Tone letters}', "");
-Expect(1, 42783, '\P{^Is_Blk=- modifier-Tone letters}', "");
-Expect(0, 42751, '\p{Is_Blk=- modifier-Tone letters}', "");
-Expect(1, 42751, '\p{^Is_Blk=- modifier-Tone letters}', "");
-Expect(1, 42751, '\P{Is_Blk=- modifier-Tone letters}', "");
-Expect(0, 42751, '\P{^Is_Blk=- modifier-Tone letters}', "");
-Error('\p{Block= :=Ethiopic-SUPPLEMENT}');
-Error('\P{Block= :=Ethiopic-SUPPLEMENT}');
-Expect(1, 5023, '\p{Block=ethiopicsupplement}', "");
-Expect(0, 5023, '\p{^Block=ethiopicsupplement}', "");
-Expect(0, 5023, '\P{Block=ethiopicsupplement}', "");
-Expect(1, 5023, '\P{^Block=ethiopicsupplement}', "");
-Expect(0, 4991, '\p{Block=ethiopicsupplement}', "");
-Expect(1, 4991, '\p{^Block=ethiopicsupplement}', "");
-Expect(1, 4991, '\P{Block=ethiopicsupplement}', "");
-Expect(0, 4991, '\P{^Block=ethiopicsupplement}', "");
-Expect(1, 5023, '\p{Block= -ethiopic Supplement}', "");
-Expect(0, 5023, '\p{^Block= -ethiopic Supplement}', "");
-Expect(0, 5023, '\P{Block= -ethiopic Supplement}', "");
-Expect(1, 5023, '\P{^Block= -ethiopic Supplement}', "");
-Expect(0, 4991, '\p{Block= -ethiopic Supplement}', "");
-Expect(1, 4991, '\p{^Block= -ethiopic Supplement}', "");
-Expect(1, 4991, '\P{Block= -ethiopic Supplement}', "");
-Expect(0, 4991, '\P{^Block= -ethiopic Supplement}', "");
-Error('\p{Blk=__ethiopicSupplement:=}');
-Error('\P{Blk=__ethiopicSupplement:=}');
-Expect(1, 5023, '\p{Blk=ethiopicsupplement}', "");
-Expect(0, 5023, '\p{^Blk=ethiopicsupplement}', "");
-Expect(0, 5023, '\P{Blk=ethiopicsupplement}', "");
-Expect(1, 5023, '\P{^Blk=ethiopicsupplement}', "");
-Expect(0, 4991, '\p{Blk=ethiopicsupplement}', "");
-Expect(1, 4991, '\p{^Blk=ethiopicsupplement}', "");
-Expect(1, 4991, '\P{Blk=ethiopicsupplement}', "");
-Expect(0, 4991, '\P{^Blk=ethiopicsupplement}', "");
-Expect(1, 5023, '\p{Blk=- Ethiopic Supplement}', "");
-Expect(0, 5023, '\p{^Blk=- Ethiopic Supplement}', "");
-Expect(0, 5023, '\P{Blk=- Ethiopic Supplement}', "");
-Expect(1, 5023, '\P{^Blk=- Ethiopic Supplement}', "");
-Expect(0, 4991, '\p{Blk=- Ethiopic Supplement}', "");
-Expect(1, 4991, '\p{^Blk=- Ethiopic Supplement}', "");
-Expect(1, 4991, '\P{Blk=- Ethiopic Supplement}', "");
-Expect(0, 4991, '\P{^Blk=- Ethiopic Supplement}', "");
-Error('\p{Is_Block= -Ethiopic Supplement/a/}');
-Error('\P{Is_Block= -Ethiopic Supplement/a/}');
-Expect(1, 5023, '\p{Is_Block=ethiopicsupplement}', "");
-Expect(0, 5023, '\p{^Is_Block=ethiopicsupplement}', "");
-Expect(0, 5023, '\P{Is_Block=ethiopicsupplement}', "");
-Expect(1, 5023, '\P{^Is_Block=ethiopicsupplement}', "");
-Expect(0, 4991, '\p{Is_Block=ethiopicsupplement}', "");
-Expect(1, 4991, '\p{^Is_Block=ethiopicsupplement}', "");
-Expect(1, 4991, '\P{Is_Block=ethiopicsupplement}', "");
-Expect(0, 4991, '\P{^Is_Block=ethiopicsupplement}', "");
-Expect(1, 5023, '\p{Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(0, 5023, '\p{^Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(0, 5023, '\P{Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(1, 5023, '\P{^Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(0, 4991, '\p{Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(1, 4991, '\p{^Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(1, 4991, '\P{Is_Block= Ethiopic SUPPLEMENT}', "");
-Expect(0, 4991, '\P{^Is_Block= Ethiopic SUPPLEMENT}', "");
-Error('\p{Is_Blk= -Ethiopic/a/Supplement}');
-Error('\P{Is_Blk= -Ethiopic/a/Supplement}');
-Expect(1, 5023, '\p{Is_Blk=ethiopicsupplement}', "");
-Expect(0, 5023, '\p{^Is_Blk=ethiopicsupplement}', "");
-Expect(0, 5023, '\P{Is_Blk=ethiopicsupplement}', "");
-Expect(1, 5023, '\P{^Is_Blk=ethiopicsupplement}', "");
-Expect(0, 4991, '\p{Is_Blk=ethiopicsupplement}', "");
-Expect(1, 4991, '\p{^Is_Blk=ethiopicsupplement}', "");
-Expect(1, 4991, '\P{Is_Blk=ethiopicsupplement}', "");
-Expect(0, 4991, '\P{^Is_Blk=ethiopicsupplement}', "");
-Expect(1, 5023, '\p{Is_Blk= Ethiopic Supplement}', "");
-Expect(0, 5023, '\p{^Is_Blk= Ethiopic Supplement}', "");
-Expect(0, 5023, '\P{Is_Blk= Ethiopic Supplement}', "");
-Expect(1, 5023, '\P{^Is_Blk= Ethiopic Supplement}', "");
-Expect(0, 4991, '\p{Is_Blk= Ethiopic Supplement}', "");
-Expect(1, 4991, '\p{^Is_Blk= Ethiopic Supplement}', "");
-Expect(1, 4991, '\P{Is_Blk= Ethiopic Supplement}', "");
-Expect(0, 4991, '\P{^Is_Blk= Ethiopic Supplement}', "");
-Error('\p{Block= :=linear-B SYLLABARY}');
-Error('\P{Block= :=linear-B SYLLABARY}');
-Expect(1, 65663, '\p{Block=linearbsyllabary}', "");
-Expect(0, 65663, '\p{^Block=linearbsyllabary}', "");
-Expect(0, 65663, '\P{Block=linearbsyllabary}', "");
-Expect(1, 65663, '\P{^Block=linearbsyllabary}', "");
-Expect(0, 1, '\p{Block=linearbsyllabary}', "");
-Expect(1, 1, '\p{^Block=linearbsyllabary}', "");
-Expect(1, 1, '\P{Block=linearbsyllabary}', "");
-Expect(0, 1, '\P{^Block=linearbsyllabary}', "");
-Expect(1, 65663, '\p{Block= Linear_B_syllabary}', "");
-Expect(0, 65663, '\p{^Block= Linear_B_syllabary}', "");
-Expect(0, 65663, '\P{Block= Linear_B_syllabary}', "");
-Expect(1, 65663, '\P{^Block= Linear_B_syllabary}', "");
-Expect(0, 1, '\p{Block= Linear_B_syllabary}', "");
-Expect(1, 1, '\p{^Block= Linear_B_syllabary}', "");
-Expect(1, 1, '\P{Block= Linear_B_syllabary}', "");
-Expect(0, 1, '\P{^Block= Linear_B_syllabary}', "");
-Error('\p{Blk=:=_-linear_B SYLLABARY}');
-Error('\P{Blk=:=_-linear_B SYLLABARY}');
-Expect(1, 65663, '\p{Blk=linearbsyllabary}', "");
-Expect(0, 65663, '\p{^Blk=linearbsyllabary}', "");
-Expect(0, 65663, '\P{Blk=linearbsyllabary}', "");
-Expect(1, 65663, '\P{^Blk=linearbsyllabary}', "");
-Expect(0, 1, '\p{Blk=linearbsyllabary}', "");
-Expect(1, 1, '\p{^Blk=linearbsyllabary}', "");
-Expect(1, 1, '\P{Blk=linearbsyllabary}', "");
-Expect(0, 1, '\P{^Blk=linearbsyllabary}', "");
-Expect(1, 65663, '\p{Blk=--Linear B_SYLLABARY}', "");
-Expect(0, 65663, '\p{^Blk=--Linear B_SYLLABARY}', "");
-Expect(0, 65663, '\P{Blk=--Linear B_SYLLABARY}', "");
-Expect(1, 65663, '\P{^Blk=--Linear B_SYLLABARY}', "");
-Expect(0, 1, '\p{Blk=--Linear B_SYLLABARY}', "");
-Expect(1, 1, '\p{^Blk=--Linear B_SYLLABARY}', "");
-Expect(1, 1, '\P{Blk=--Linear B_SYLLABARY}', "");
-Expect(0, 1, '\P{^Blk=--Linear B_SYLLABARY}', "");
-Error('\p{Is_Block=:=_ LinearbSyllabary}');
-Error('\P{Is_Block=:=_ LinearbSyllabary}');
-Expect(1, 65663, '\p{Is_Block=linearbsyllabary}', "");
-Expect(0, 65663, '\p{^Is_Block=linearbsyllabary}', "");
-Expect(0, 65663, '\P{Is_Block=linearbsyllabary}', "");
-Expect(1, 65663, '\P{^Is_Block=linearbsyllabary}', "");
-Expect(0, 1, '\p{Is_Block=linearbsyllabary}', "");
-Expect(1, 1, '\p{^Is_Block=linearbsyllabary}', "");
-Expect(1, 1, '\P{Is_Block=linearbsyllabary}', "");
-Expect(0, 1, '\P{^Is_Block=linearbsyllabary}', "");
-Expect(1, 65663, '\p{Is_Block= -linear_B Syllabary}', "");
-Expect(0, 65663, '\p{^Is_Block= -linear_B Syllabary}', "");
-Expect(0, 65663, '\P{Is_Block= -linear_B Syllabary}', "");
-Expect(1, 65663, '\P{^Is_Block= -linear_B Syllabary}', "");
-Expect(0, 1, '\p{Is_Block= -linear_B Syllabary}', "");
-Expect(1, 1, '\p{^Is_Block= -linear_B Syllabary}', "");
-Expect(1, 1, '\P{Is_Block= -linear_B Syllabary}', "");
-Expect(0, 1, '\P{^Is_Block= -linear_B Syllabary}', "");
-Error('\p{Is_Blk=-:=Linear-b_Syllabary}');
-Error('\P{Is_Blk=-:=Linear-b_Syllabary}');
-Expect(1, 65663, '\p{Is_Blk=linearbsyllabary}', "");
-Expect(0, 65663, '\p{^Is_Blk=linearbsyllabary}', "");
-Expect(0, 65663, '\P{Is_Blk=linearbsyllabary}', "");
-Expect(1, 65663, '\P{^Is_Blk=linearbsyllabary}', "");
-Expect(0, 1, '\p{Is_Blk=linearbsyllabary}', "");
-Expect(1, 1, '\p{^Is_Blk=linearbsyllabary}', "");
-Expect(1, 1, '\P{Is_Blk=linearbsyllabary}', "");
-Expect(0, 1, '\P{^Is_Blk=linearbsyllabary}', "");
-Expect(1, 65663, '\p{Is_Blk= Linear B_syllabary}', "");
-Expect(0, 65663, '\p{^Is_Blk= Linear B_syllabary}', "");
-Expect(0, 65663, '\P{Is_Blk= Linear B_syllabary}', "");
-Expect(1, 65663, '\P{^Is_Blk= Linear B_syllabary}', "");
-Expect(0, 1, '\p{Is_Blk= Linear B_syllabary}', "");
-Expect(1, 1, '\p{^Is_Blk= Linear B_syllabary}', "");
-Expect(1, 1, '\P{Is_Blk= Linear B_syllabary}', "");
-Expect(0, 1, '\P{^Is_Blk= Linear B_syllabary}', "");
-Error('\p{Block= -Enclosed CJK-letters and:=Months}');
-Error('\P{Block= -Enclosed CJK-letters and:=Months}');
-Expect(1, 13055, '\p{Block=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^Block=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{Block=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^Block=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{Block=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^Block=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{Block=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^Block=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(0, 13055, '\p{^Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(0, 13055, '\P{Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(1, 13055, '\P{^Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(0, 12799, '\p{Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(1, 12799, '\p{^Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(1, 12799, '\P{Block=__enclosedcjk-Letters-and-Months}', "");
-Expect(0, 12799, '\P{^Block=__enclosedcjk-Letters-and-Months}', "");
-Error('\p{Blk= enclosedcjk Letters:=andMonths}');
-Error('\P{Blk= enclosedcjk Letters:=andMonths}');
-Expect(1, 13055, '\p{Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(0, 13055, '\p{^Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(0, 13055, '\P{Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(1, 13055, '\P{^Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(0, 12799, '\p{Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(1, 12799, '\p{^Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(1, 12799, '\P{Blk: Enclosed CJK LETTERS And-Months}', "");
-Expect(0, 12799, '\P{^Blk: Enclosed CJK LETTERS And-Months}', "");
-Error('\p{Is_Block=_/a/EnclosedcjkLetters AND months}');
-Error('\P{Is_Block=_/a/EnclosedcjkLetters AND months}');
-Expect(1, 13055, '\p{Is_Block=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^Is_Block=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{Is_Block=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^Is_Block=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{Is_Block=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^Is_Block=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{Is_Block=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^Is_Block=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(0, 13055, '\p{^Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(0, 13055, '\P{Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(1, 13055, '\P{^Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(0, 12799, '\p{Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(1, 12799, '\p{^Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(1, 12799, '\P{Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Expect(0, 12799, '\P{^Is_Block=__enclosed CJK-letters AndMONTHS}', "");
-Error('\p{Is_Blk=-ENCLOSED cjkLetters:=ANDMonths}');
-Error('\P{Is_Blk=-ENCLOSED cjkLetters:=ANDMonths}');
-Expect(1, 13055, '\p{Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^Is_Blk=enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(0, 13055, '\p{^Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(0, 13055, '\P{Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(1, 13055, '\P{^Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(0, 12799, '\p{Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(1, 12799, '\p{^Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(1, 12799, '\P{Is_Blk=-Enclosed CJKLetters And months}', "");
-Expect(0, 12799, '\P{^Is_Blk=-Enclosed CJKLetters And months}', "");
-Error('\p{Block= /a/Combining_Diacritical_Marks_supplement}');
-Error('\P{Block= /a/Combining_Diacritical_Marks_supplement}');
-Expect(1, 7679, '\p{Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{Block= combining diacritical marksSupplement}', "");
-Expect(0, 7679, '\p{^Block= combining diacritical marksSupplement}', "");
-Expect(0, 7679, '\P{Block= combining diacritical marksSupplement}', "");
-Expect(1, 7679, '\P{^Block= combining diacritical marksSupplement}', "");
-Expect(0, 7615, '\p{Block= combining diacritical marksSupplement}', "");
-Expect(1, 7615, '\p{^Block= combining diacritical marksSupplement}', "");
-Expect(1, 7615, '\P{Block= combining diacritical marksSupplement}', "");
-Expect(0, 7615, '\P{^Block= combining diacritical marksSupplement}', "");
-Error('\p{Blk=--COMBINING:=diacritical-MarksSupplement}');
-Error('\P{Blk=--COMBINING:=diacritical-MarksSupplement}');
-Expect(1, 7679, '\p{Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(0, 7679, '\p{^Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(0, 7679, '\P{Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(1, 7679, '\P{^Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(0, 7615, '\p{Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(1, 7615, '\p{^Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(1, 7615, '\P{Blk= Combining diacritical MARKS-Supplement}', "");
-Expect(0, 7615, '\P{^Blk= Combining diacritical MARKS-Supplement}', "");
-Error('\p{Is_Block= Combining DIACRITICAL:=marks-Supplement}');
-Error('\P{Is_Block= Combining DIACRITICAL:=marks-Supplement}');
-Expect(1, 7679, '\p{Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^Is_Block=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(0, 7679, '\p{^Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(0, 7679, '\P{Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(1, 7679, '\P{^Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(0, 7615, '\p{Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(1, 7615, '\p{^Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(1, 7615, '\P{Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Expect(0, 7615, '\P{^Is_Block= Combining-DIACRITICAL Marks_Supplement}', "");
-Error('\p{Is_Blk= /a/Combiningdiacritical marks SUPPLEMENT}');
-Error('\P{Is_Blk= /a/Combiningdiacritical marks SUPPLEMENT}');
-Expect(1, 7679, '\p{Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^Is_Blk=combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(0, 7679, '\p{^Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(0, 7679, '\P{Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(1, 7679, '\P{^Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(0, 7615, '\p{Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(1, 7615, '\p{^Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(1, 7615, '\P{Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Expect(0, 7615, '\P{^Is_Blk= _combining-DIACRITICALmarks_Supplement}', "");
-Error('\p{Block=/a/ BOPOMOFO}');
-Error('\P{Block=/a/ BOPOMOFO}');
-Expect(1, 12591, '\p{Block=bopomofo}', "");
-Expect(0, 12591, '\p{^Block=bopomofo}', "");
-Expect(0, 12591, '\P{Block=bopomofo}', "");
-Expect(1, 12591, '\P{^Block=bopomofo}', "");
-Expect(0, 12543, '\p{Block=bopomofo}', "");
-Expect(1, 12543, '\p{^Block=bopomofo}', "");
-Expect(1, 12543, '\P{Block=bopomofo}', "");
-Expect(0, 12543, '\P{^Block=bopomofo}', "");
-Expect(1, 12591, '\p{Block=- Bopomofo}', "");
-Expect(0, 12591, '\p{^Block=- Bopomofo}', "");
-Expect(0, 12591, '\P{Block=- Bopomofo}', "");
-Expect(1, 12591, '\P{^Block=- Bopomofo}', "");
-Expect(0, 12543, '\p{Block=- Bopomofo}', "");
-Expect(1, 12543, '\p{^Block=- Bopomofo}', "");
-Expect(1, 12543, '\P{Block=- Bopomofo}', "");
-Expect(0, 12543, '\P{^Block=- Bopomofo}', "");
-Error('\p{Blk= BOPOMOFO:=}');
-Error('\P{Blk= BOPOMOFO:=}');
-Expect(1, 12591, '\p{Blk=bopomofo}', "");
-Expect(0, 12591, '\p{^Blk=bopomofo}', "");
-Expect(0, 12591, '\P{Blk=bopomofo}', "");
-Expect(1, 12591, '\P{^Blk=bopomofo}', "");
-Expect(0, 12543, '\p{Blk=bopomofo}', "");
-Expect(1, 12543, '\p{^Blk=bopomofo}', "");
-Expect(1, 12543, '\P{Blk=bopomofo}', "");
-Expect(0, 12543, '\P{^Blk=bopomofo}', "");
-Expect(1, 12591, '\p{Blk: BOPOMOFO}', "");
-Expect(0, 12591, '\p{^Blk: BOPOMOFO}', "");
-Expect(0, 12591, '\P{Blk: BOPOMOFO}', "");
-Expect(1, 12591, '\P{^Blk: BOPOMOFO}', "");
-Expect(0, 12543, '\p{Blk: BOPOMOFO}', "");
-Expect(1, 12543, '\p{^Blk: BOPOMOFO}', "");
-Expect(1, 12543, '\P{Blk: BOPOMOFO}', "");
-Expect(0, 12543, '\P{^Blk: BOPOMOFO}', "");
-Error('\p{Is_Block=/a/- BOPOMOFO}');
-Error('\P{Is_Block=/a/- BOPOMOFO}');
-Expect(1, 12591, '\p{Is_Block=bopomofo}', "");
-Expect(0, 12591, '\p{^Is_Block=bopomofo}', "");
-Expect(0, 12591, '\P{Is_Block=bopomofo}', "");
-Expect(1, 12591, '\P{^Is_Block=bopomofo}', "");
-Expect(0, 12543, '\p{Is_Block=bopomofo}', "");
-Expect(1, 12543, '\p{^Is_Block=bopomofo}', "");
-Expect(1, 12543, '\P{Is_Block=bopomofo}', "");
-Expect(0, 12543, '\P{^Is_Block=bopomofo}', "");
-Expect(1, 12591, '\p{Is_Block=_ BOPOMOFO}', "");
-Expect(0, 12591, '\p{^Is_Block=_ BOPOMOFO}', "");
-Expect(0, 12591, '\P{Is_Block=_ BOPOMOFO}', "");
-Expect(1, 12591, '\P{^Is_Block=_ BOPOMOFO}', "");
-Expect(0, 12543, '\p{Is_Block=_ BOPOMOFO}', "");
-Expect(1, 12543, '\p{^Is_Block=_ BOPOMOFO}', "");
-Expect(1, 12543, '\P{Is_Block=_ BOPOMOFO}', "");
-Expect(0, 12543, '\P{^Is_Block=_ BOPOMOFO}', "");
-Error('\p{Is_Blk: := bopomofo}');
-Error('\P{Is_Blk: := bopomofo}');
-Expect(1, 12591, '\p{Is_Blk=bopomofo}', "");
-Expect(0, 12591, '\p{^Is_Blk=bopomofo}', "");
-Expect(0, 12591, '\P{Is_Blk=bopomofo}', "");
-Expect(1, 12591, '\P{^Is_Blk=bopomofo}', "");
-Expect(0, 12543, '\p{Is_Blk=bopomofo}', "");
-Expect(1, 12543, '\p{^Is_Blk=bopomofo}', "");
-Expect(1, 12543, '\P{Is_Blk=bopomofo}', "");
-Expect(0, 12543, '\P{^Is_Blk=bopomofo}', "");
-Expect(1, 12591, '\p{Is_Blk= Bopomofo}', "");
-Expect(0, 12591, '\p{^Is_Blk= Bopomofo}', "");
-Expect(0, 12591, '\P{Is_Blk= Bopomofo}', "");
-Expect(1, 12591, '\P{^Is_Blk= Bopomofo}', "");
-Expect(0, 12543, '\p{Is_Blk= Bopomofo}', "");
-Expect(1, 12543, '\p{^Is_Blk= Bopomofo}', "");
-Expect(1, 12543, '\P{Is_Blk= Bopomofo}', "");
-Expect(0, 12543, '\P{^Is_Blk= Bopomofo}', "");
-Error('\p{Block=/a/ _MISCELLANEOUS-technical}');
-Error('\P{Block=/a/ _MISCELLANEOUS-technical}');
-Expect(1, 9215, '\p{Block=miscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^Block=miscellaneoustechnical}', "");
-Expect(0, 9215, '\P{Block=miscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^Block=miscellaneoustechnical}', "");
-Expect(0, 8959, '\p{Block=miscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^Block=miscellaneoustechnical}', "");
-Expect(1, 8959, '\P{Block=miscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^Block=miscellaneoustechnical}', "");
-Expect(1, 9215, '\p{Block= Miscellaneous-TECHNICAL}', "");
-Expect(0, 9215, '\p{^Block= Miscellaneous-TECHNICAL}', "");
-Expect(0, 9215, '\P{Block= Miscellaneous-TECHNICAL}', "");
-Expect(1, 9215, '\P{^Block= Miscellaneous-TECHNICAL}', "");
-Expect(0, 8959, '\p{Block= Miscellaneous-TECHNICAL}', "");
-Expect(1, 8959, '\p{^Block= Miscellaneous-TECHNICAL}', "");
-Expect(1, 8959, '\P{Block= Miscellaneous-TECHNICAL}', "");
-Expect(0, 8959, '\P{^Block= Miscellaneous-TECHNICAL}', "");
-Error('\p{Blk=_MISCELLANEOUS/a/Technical}');
-Error('\P{Blk=_MISCELLANEOUS/a/Technical}');
-Expect(1, 9215, '\p{Blk=miscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^Blk=miscellaneoustechnical}', "");
-Expect(0, 9215, '\P{Blk=miscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^Blk=miscellaneoustechnical}', "");
-Expect(0, 8959, '\p{Blk=miscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^Blk=miscellaneoustechnical}', "");
-Expect(1, 8959, '\P{Blk=miscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^Blk=miscellaneoustechnical}', "");
-Expect(1, 9215, '\p{Blk=MiscellaneousTechnical}', "");
-Expect(0, 9215, '\p{^Blk=MiscellaneousTechnical}', "");
-Expect(0, 9215, '\P{Blk=MiscellaneousTechnical}', "");
-Expect(1, 9215, '\P{^Blk=MiscellaneousTechnical}', "");
-Expect(0, 8959, '\p{Blk=MiscellaneousTechnical}', "");
-Expect(1, 8959, '\p{^Blk=MiscellaneousTechnical}', "");
-Expect(1, 8959, '\P{Blk=MiscellaneousTechnical}', "");
-Expect(0, 8959, '\P{^Blk=MiscellaneousTechnical}', "");
-Error('\p{Is_Block=/a/ Miscellaneous-Technical}');
-Error('\P{Is_Block=/a/ Miscellaneous-Technical}');
-Expect(1, 9215, '\p{Is_Block=miscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^Is_Block=miscellaneoustechnical}', "");
-Expect(0, 9215, '\P{Is_Block=miscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^Is_Block=miscellaneoustechnical}', "");
-Expect(0, 8959, '\p{Is_Block=miscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^Is_Block=miscellaneoustechnical}', "");
-Expect(1, 8959, '\P{Is_Block=miscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^Is_Block=miscellaneoustechnical}', "");
-Expect(1, 9215, '\p{Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(0, 9215, '\p{^Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(0, 9215, '\P{Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(1, 9215, '\P{^Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(0, 8959, '\p{Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(1, 8959, '\p{^Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(1, 8959, '\P{Is_Block=_Miscellaneous TECHNICAL}', "");
-Expect(0, 8959, '\P{^Is_Block=_Miscellaneous TECHNICAL}', "");
-Error('\p{Is_Blk=_/a/MISCELLANEOUS Technical}');
-Error('\P{Is_Blk=_/a/MISCELLANEOUS Technical}');
-Expect(1, 9215, '\p{Is_Blk=miscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^Is_Blk=miscellaneoustechnical}', "");
-Expect(0, 9215, '\P{Is_Blk=miscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^Is_Blk=miscellaneoustechnical}', "");
-Expect(0, 8959, '\p{Is_Blk=miscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^Is_Blk=miscellaneoustechnical}', "");
-Expect(1, 8959, '\P{Is_Blk=miscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^Is_Blk=miscellaneoustechnical}', "");
-Expect(1, 9215, '\p{Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(0, 9215, '\p{^Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(0, 9215, '\P{Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(1, 9215, '\P{^Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(0, 8959, '\p{Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(1, 8959, '\p{^Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(1, 8959, '\P{Is_Blk= _miscellaneous TECHNICAL}', "");
-Expect(0, 8959, '\P{^Is_Blk= _miscellaneous TECHNICAL}', "");
-Error('\p{Block= _Osmanya/a/}');
-Error('\P{Block= _Osmanya/a/}');
-Expect(1, 66735, '\p{Block=osmanya}', "");
-Expect(0, 66735, '\p{^Block=osmanya}', "");
-Expect(0, 66735, '\P{Block=osmanya}', "");
-Expect(1, 66735, '\P{^Block=osmanya}', "");
-Expect(0, 66687, '\p{Block=osmanya}', "");
-Expect(1, 66687, '\p{^Block=osmanya}', "");
-Expect(1, 66687, '\P{Block=osmanya}', "");
-Expect(0, 66687, '\P{^Block=osmanya}', "");
-Expect(1, 66735, '\p{Block=_ Osmanya}', "");
-Expect(0, 66735, '\p{^Block=_ Osmanya}', "");
-Expect(0, 66735, '\P{Block=_ Osmanya}', "");
-Expect(1, 66735, '\P{^Block=_ Osmanya}', "");
-Expect(0, 66687, '\p{Block=_ Osmanya}', "");
-Expect(1, 66687, '\p{^Block=_ Osmanya}', "");
-Expect(1, 66687, '\P{Block=_ Osmanya}', "");
-Expect(0, 66687, '\P{^Block=_ Osmanya}', "");
-Error('\p{Blk=-/a/OSMANYA}');
-Error('\P{Blk=-/a/OSMANYA}');
-Expect(1, 66735, '\p{Blk=osmanya}', "");
-Expect(0, 66735, '\p{^Blk=osmanya}', "");
-Expect(0, 66735, '\P{Blk=osmanya}', "");
-Expect(1, 66735, '\P{^Blk=osmanya}', "");
-Expect(0, 66687, '\p{Blk=osmanya}', "");
-Expect(1, 66687, '\p{^Blk=osmanya}', "");
-Expect(1, 66687, '\P{Blk=osmanya}', "");
-Expect(0, 66687, '\P{^Blk=osmanya}', "");
-Expect(1, 66735, '\p{Blk= -OSMANYA}', "");
-Expect(0, 66735, '\p{^Blk= -OSMANYA}', "");
-Expect(0, 66735, '\P{Blk= -OSMANYA}', "");
-Expect(1, 66735, '\P{^Blk= -OSMANYA}', "");
-Expect(0, 66687, '\p{Blk= -OSMANYA}', "");
-Expect(1, 66687, '\p{^Blk= -OSMANYA}', "");
-Expect(1, 66687, '\P{Blk= -OSMANYA}', "");
-Expect(0, 66687, '\P{^Blk= -OSMANYA}', "");
-Error('\p{Is_Block= :=OSMANYA}');
-Error('\P{Is_Block= :=OSMANYA}');
-Expect(1, 66735, '\p{Is_Block=osmanya}', "");
-Expect(0, 66735, '\p{^Is_Block=osmanya}', "");
-Expect(0, 66735, '\P{Is_Block=osmanya}', "");
-Expect(1, 66735, '\P{^Is_Block=osmanya}', "");
-Expect(0, 66687, '\p{Is_Block=osmanya}', "");
-Expect(1, 66687, '\p{^Is_Block=osmanya}', "");
-Expect(1, 66687, '\P{Is_Block=osmanya}', "");
-Expect(0, 66687, '\P{^Is_Block=osmanya}', "");
-Expect(1, 66735, '\p{Is_Block= Osmanya}', "");
-Expect(0, 66735, '\p{^Is_Block= Osmanya}', "");
-Expect(0, 66735, '\P{Is_Block= Osmanya}', "");
-Expect(1, 66735, '\P{^Is_Block= Osmanya}', "");
-Expect(0, 66687, '\p{Is_Block= Osmanya}', "");
-Expect(1, 66687, '\p{^Is_Block= Osmanya}', "");
-Expect(1, 66687, '\P{Is_Block= Osmanya}', "");
-Expect(0, 66687, '\P{^Is_Block= Osmanya}', "");
-Error('\p{Is_Blk=:=- osmanya}');
-Error('\P{Is_Blk=:=- osmanya}');
-Expect(1, 66735, '\p{Is_Blk=osmanya}', "");
-Expect(0, 66735, '\p{^Is_Blk=osmanya}', "");
-Expect(0, 66735, '\P{Is_Blk=osmanya}', "");
-Expect(1, 66735, '\P{^Is_Blk=osmanya}', "");
-Expect(0, 66687, '\p{Is_Blk=osmanya}', "");
-Expect(1, 66687, '\p{^Is_Blk=osmanya}', "");
-Expect(1, 66687, '\P{Is_Blk=osmanya}', "");
-Expect(0, 66687, '\P{^Is_Blk=osmanya}', "");
-Expect(1, 66735, '\p{Is_Blk=-OSMANYA}', "");
-Expect(0, 66735, '\p{^Is_Blk=-OSMANYA}', "");
-Expect(0, 66735, '\P{Is_Blk=-OSMANYA}', "");
-Expect(1, 66735, '\P{^Is_Blk=-OSMANYA}', "");
-Expect(0, 66687, '\p{Is_Blk=-OSMANYA}', "");
-Expect(1, 66687, '\p{^Is_Blk=-OSMANYA}', "");
-Expect(1, 66687, '\P{Is_Blk=-OSMANYA}', "");
-Expect(0, 66687, '\P{^Is_Blk=-OSMANYA}', "");
-Error('\p{Block=_ MAHJONG:=tiles}');
-Error('\P{Block=_ MAHJONG:=tiles}');
-Expect(1, 127023, '\p{Block=mahjongtiles}', "");
-Expect(0, 127023, '\p{^Block=mahjongtiles}', "");
-Expect(0, 127023, '\P{Block=mahjongtiles}', "");
-Expect(1, 127023, '\P{^Block=mahjongtiles}', "");
-Expect(0, 126975, '\p{Block=mahjongtiles}', "");
-Expect(1, 126975, '\p{^Block=mahjongtiles}', "");
-Expect(1, 126975, '\P{Block=mahjongtiles}', "");
-Expect(0, 126975, '\P{^Block=mahjongtiles}', "");
-Expect(1, 127023, '\p{Block=_-Mahjong Tiles}', "");
-Expect(0, 127023, '\p{^Block=_-Mahjong Tiles}', "");
-Expect(0, 127023, '\P{Block=_-Mahjong Tiles}', "");
-Expect(1, 127023, '\P{^Block=_-Mahjong Tiles}', "");
-Expect(0, 126975, '\p{Block=_-Mahjong Tiles}', "");
-Expect(1, 126975, '\p{^Block=_-Mahjong Tiles}', "");
-Expect(1, 126975, '\P{Block=_-Mahjong Tiles}', "");
-Expect(0, 126975, '\P{^Block=_-Mahjong Tiles}', "");
-Error('\p{Blk=_ Mahjong:=Tiles}');
-Error('\P{Blk=_ Mahjong:=Tiles}');
-Expect(1, 127023, '\p{Blk=mahjongtiles}', "");
-Expect(0, 127023, '\p{^Blk=mahjongtiles}', "");
-Expect(0, 127023, '\P{Blk=mahjongtiles}', "");
-Expect(1, 127023, '\P{^Blk=mahjongtiles}', "");
-Expect(0, 126975, '\p{Blk=mahjongtiles}', "");
-Expect(1, 126975, '\p{^Blk=mahjongtiles}', "");
-Expect(1, 126975, '\P{Blk=mahjongtiles}', "");
-Expect(0, 126975, '\P{^Blk=mahjongtiles}', "");
-Expect(1, 127023, '\p{Blk=_mahjong-Tiles}', "");
-Expect(0, 127023, '\p{^Blk=_mahjong-Tiles}', "");
-Expect(0, 127023, '\P{Blk=_mahjong-Tiles}', "");
-Expect(1, 127023, '\P{^Blk=_mahjong-Tiles}', "");
-Expect(0, 126975, '\p{Blk=_mahjong-Tiles}', "");
-Expect(1, 126975, '\p{^Blk=_mahjong-Tiles}', "");
-Expect(1, 126975, '\P{Blk=_mahjong-Tiles}', "");
-Expect(0, 126975, '\P{^Blk=_mahjong-Tiles}', "");
-Error('\p{Is_Block=/a/Mahjong TILES}');
-Error('\P{Is_Block=/a/Mahjong TILES}');
-Expect(1, 127023, '\p{Is_Block=mahjongtiles}', "");
-Expect(0, 127023, '\p{^Is_Block=mahjongtiles}', "");
-Expect(0, 127023, '\P{Is_Block=mahjongtiles}', "");
-Expect(1, 127023, '\P{^Is_Block=mahjongtiles}', "");
-Expect(0, 126975, '\p{Is_Block=mahjongtiles}', "");
-Expect(1, 126975, '\p{^Is_Block=mahjongtiles}', "");
-Expect(1, 126975, '\P{Is_Block=mahjongtiles}', "");
-Expect(0, 126975, '\P{^Is_Block=mahjongtiles}', "");
-Expect(1, 127023, '\p{Is_Block=_mahjong_tiles}', "");
-Expect(0, 127023, '\p{^Is_Block=_mahjong_tiles}', "");
-Expect(0, 127023, '\P{Is_Block=_mahjong_tiles}', "");
-Expect(1, 127023, '\P{^Is_Block=_mahjong_tiles}', "");
-Expect(0, 126975, '\p{Is_Block=_mahjong_tiles}', "");
-Expect(1, 126975, '\p{^Is_Block=_mahjong_tiles}', "");
-Expect(1, 126975, '\P{Is_Block=_mahjong_tiles}', "");
-Expect(0, 126975, '\P{^Is_Block=_mahjong_tiles}', "");
-Error('\p{Is_Blk: /a/ Mahjong-TILES}');
-Error('\P{Is_Blk: /a/ Mahjong-TILES}');
-Expect(1, 127023, '\p{Is_Blk=mahjongtiles}', "");
-Expect(0, 127023, '\p{^Is_Blk=mahjongtiles}', "");
-Expect(0, 127023, '\P{Is_Blk=mahjongtiles}', "");
-Expect(1, 127023, '\P{^Is_Blk=mahjongtiles}', "");
-Expect(0, 126975, '\p{Is_Blk=mahjongtiles}', "");
-Expect(1, 126975, '\p{^Is_Blk=mahjongtiles}', "");
-Expect(1, 126975, '\P{Is_Blk=mahjongtiles}', "");
-Expect(0, 126975, '\P{^Is_Blk=mahjongtiles}', "");
-Expect(1, 127023, '\p{Is_Blk= _mahjong_TILES}', "");
-Expect(0, 127023, '\p{^Is_Blk= _mahjong_TILES}', "");
-Expect(0, 127023, '\P{Is_Blk= _mahjong_TILES}', "");
-Expect(1, 127023, '\P{^Is_Blk= _mahjong_TILES}', "");
-Expect(0, 126975, '\p{Is_Blk= _mahjong_TILES}', "");
-Expect(1, 126975, '\p{^Is_Blk= _mahjong_TILES}', "");
-Expect(1, 126975, '\P{Is_Blk= _mahjong_TILES}', "");
-Expect(0, 126975, '\P{^Is_Blk= _mahjong_TILES}', "");
-Error('\p{Block= ARROWS/a/}');
-Error('\P{Block= ARROWS/a/}');
-Expect(1, 8703, '\p{Block: arrows}', "");
-Expect(0, 8703, '\p{^Block: arrows}', "");
-Expect(0, 8703, '\P{Block: arrows}', "");
-Expect(1, 8703, '\P{^Block: arrows}', "");
-Expect(0, 8591, '\p{Block: arrows}', "");
-Expect(1, 8591, '\p{^Block: arrows}', "");
-Expect(1, 8591, '\P{Block: arrows}', "");
-Expect(0, 8591, '\P{^Block: arrows}', "");
-Expect(1, 8703, '\p{Block= -Arrows}', "");
-Expect(0, 8703, '\p{^Block= -Arrows}', "");
-Expect(0, 8703, '\P{Block= -Arrows}', "");
-Expect(1, 8703, '\P{^Block= -Arrows}', "");
-Expect(0, 8591, '\p{Block= -Arrows}', "");
-Expect(1, 8591, '\p{^Block= -Arrows}', "");
-Expect(1, 8591, '\P{Block= -Arrows}', "");
-Expect(0, 8591, '\P{^Block= -Arrows}', "");
-Error('\p{Blk= _ARROWS/a/}');
-Error('\P{Blk= _ARROWS/a/}');
-Expect(1, 8703, '\p{Blk=arrows}', "");
-Expect(0, 8703, '\p{^Blk=arrows}', "");
-Expect(0, 8703, '\P{Blk=arrows}', "");
-Expect(1, 8703, '\P{^Blk=arrows}', "");
-Expect(0, 8591, '\p{Blk=arrows}', "");
-Expect(1, 8591, '\p{^Blk=arrows}', "");
-Expect(1, 8591, '\P{Blk=arrows}', "");
-Expect(0, 8591, '\P{^Blk=arrows}', "");
-Expect(1, 8703, '\p{Blk= _arrows}', "");
-Expect(0, 8703, '\p{^Blk= _arrows}', "");
-Expect(0, 8703, '\P{Blk= _arrows}', "");
-Expect(1, 8703, '\P{^Blk= _arrows}', "");
-Expect(0, 8591, '\p{Blk= _arrows}', "");
-Expect(1, 8591, '\p{^Blk= _arrows}', "");
-Expect(1, 8591, '\P{Blk= _arrows}', "");
-Expect(0, 8591, '\P{^Blk= _arrows}', "");
-Error('\p{Is_Block=:=Arrows}');
-Error('\P{Is_Block=:=Arrows}');
-Expect(1, 8703, '\p{Is_Block=arrows}', "");
-Expect(0, 8703, '\p{^Is_Block=arrows}', "");
-Expect(0, 8703, '\P{Is_Block=arrows}', "");
-Expect(1, 8703, '\P{^Is_Block=arrows}', "");
-Expect(0, 8591, '\p{Is_Block=arrows}', "");
-Expect(1, 8591, '\p{^Is_Block=arrows}', "");
-Expect(1, 8591, '\P{Is_Block=arrows}', "");
-Expect(0, 8591, '\P{^Is_Block=arrows}', "");
-Expect(1, 8703, '\p{Is_Block= Arrows}', "");
-Expect(0, 8703, '\p{^Is_Block= Arrows}', "");
-Expect(0, 8703, '\P{Is_Block= Arrows}', "");
-Expect(1, 8703, '\P{^Is_Block= Arrows}', "");
-Expect(0, 8591, '\p{Is_Block= Arrows}', "");
-Expect(1, 8591, '\p{^Is_Block= Arrows}', "");
-Expect(1, 8591, '\P{Is_Block= Arrows}', "");
-Expect(0, 8591, '\P{^Is_Block= Arrows}', "");
-Error('\p{Is_Blk=:= Arrows}');
-Error('\P{Is_Blk=:= Arrows}');
-Expect(1, 8703, '\p{Is_Blk=arrows}', "");
-Expect(0, 8703, '\p{^Is_Blk=arrows}', "");
-Expect(0, 8703, '\P{Is_Blk=arrows}', "");
-Expect(1, 8703, '\P{^Is_Blk=arrows}', "");
-Expect(0, 8591, '\p{Is_Blk=arrows}', "");
-Expect(1, 8591, '\p{^Is_Blk=arrows}', "");
-Expect(1, 8591, '\P{Is_Blk=arrows}', "");
-Expect(0, 8591, '\P{^Is_Blk=arrows}', "");
-Expect(1, 8703, '\p{Is_Blk=--Arrows}', "");
-Expect(0, 8703, '\p{^Is_Blk=--Arrows}', "");
-Expect(0, 8703, '\P{Is_Blk=--Arrows}', "");
-Expect(1, 8703, '\P{^Is_Blk=--Arrows}', "");
-Expect(0, 8591, '\p{Is_Blk=--Arrows}', "");
-Expect(1, 8591, '\p{^Is_Blk=--Arrows}', "");
-Expect(1, 8591, '\P{Is_Blk=--Arrows}', "");
-Expect(0, 8591, '\P{^Is_Blk=--Arrows}', "");
-Error('\p{Block= block/a/elements}');
-Error('\P{Block= block/a/elements}');
-Expect(1, 9631, '\p{Block=blockelements}', "");
-Expect(0, 9631, '\p{^Block=blockelements}', "");
-Expect(0, 9631, '\P{Block=blockelements}', "");
-Expect(1, 9631, '\P{^Block=blockelements}', "");
-Expect(0, 9599, '\p{Block=blockelements}', "");
-Expect(1, 9599, '\p{^Block=blockelements}', "");
-Expect(1, 9599, '\P{Block=blockelements}', "");
-Expect(0, 9599, '\P{^Block=blockelements}', "");
-Expect(1, 9631, '\p{Block= BLOCKElements}', "");
-Expect(0, 9631, '\p{^Block= BLOCKElements}', "");
-Expect(0, 9631, '\P{Block= BLOCKElements}', "");
-Expect(1, 9631, '\P{^Block= BLOCKElements}', "");
-Expect(0, 9599, '\p{Block= BLOCKElements}', "");
-Expect(1, 9599, '\p{^Block= BLOCKElements}', "");
-Expect(1, 9599, '\P{Block= BLOCKElements}', "");
-Expect(0, 9599, '\P{^Block= BLOCKElements}', "");
-Error('\p{Blk= :=block Elements}');
-Error('\P{Blk= :=block Elements}');
-Expect(1, 9631, '\p{Blk=blockelements}', "");
-Expect(0, 9631, '\p{^Blk=blockelements}', "");
-Expect(0, 9631, '\P{Blk=blockelements}', "");
-Expect(1, 9631, '\P{^Blk=blockelements}', "");
-Expect(0, 9599, '\p{Blk=blockelements}', "");
-Expect(1, 9599, '\p{^Blk=blockelements}', "");
-Expect(1, 9599, '\P{Blk=blockelements}', "");
-Expect(0, 9599, '\P{^Blk=blockelements}', "");
-Expect(1, 9631, '\p{Blk:_ BlockELEMENTS}', "");
-Expect(0, 9631, '\p{^Blk:_ BlockELEMENTS}', "");
-Expect(0, 9631, '\P{Blk:_ BlockELEMENTS}', "");
-Expect(1, 9631, '\P{^Blk:_ BlockELEMENTS}', "");
-Expect(0, 9599, '\p{Blk:_ BlockELEMENTS}', "");
-Expect(1, 9599, '\p{^Blk:_ BlockELEMENTS}', "");
-Expect(1, 9599, '\P{Blk:_ BlockELEMENTS}', "");
-Expect(0, 9599, '\P{^Blk:_ BlockELEMENTS}', "");
-Error('\p{Is_Block:--BLOCK/a/elements}');
-Error('\P{Is_Block:--BLOCK/a/elements}');
-Expect(1, 9631, '\p{Is_Block: blockelements}', "");
-Expect(0, 9631, '\p{^Is_Block: blockelements}', "");
-Expect(0, 9631, '\P{Is_Block: blockelements}', "");
-Expect(1, 9631, '\P{^Is_Block: blockelements}', "");
-Expect(0, 9599, '\p{Is_Block: blockelements}', "");
-Expect(1, 9599, '\p{^Is_Block: blockelements}', "");
-Expect(1, 9599, '\P{Is_Block: blockelements}', "");
-Expect(0, 9599, '\P{^Is_Block: blockelements}', "");
-Expect(1, 9631, '\p{Is_Block= -BLOCK-Elements}', "");
-Expect(0, 9631, '\p{^Is_Block= -BLOCK-Elements}', "");
-Expect(0, 9631, '\P{Is_Block= -BLOCK-Elements}', "");
-Expect(1, 9631, '\P{^Is_Block= -BLOCK-Elements}', "");
-Expect(0, 9599, '\p{Is_Block= -BLOCK-Elements}', "");
-Expect(1, 9599, '\p{^Is_Block= -BLOCK-Elements}', "");
-Expect(1, 9599, '\P{Is_Block= -BLOCK-Elements}', "");
-Expect(0, 9599, '\P{^Is_Block= -BLOCK-Elements}', "");
-Error('\p{Is_Blk= Block_ELEMENTS:=}');
-Error('\P{Is_Blk= Block_ELEMENTS:=}');
-Expect(1, 9631, '\p{Is_Blk=blockelements}', "");
-Expect(0, 9631, '\p{^Is_Blk=blockelements}', "");
-Expect(0, 9631, '\P{Is_Blk=blockelements}', "");
-Expect(1, 9631, '\P{^Is_Blk=blockelements}', "");
-Expect(0, 9599, '\p{Is_Blk=blockelements}', "");
-Expect(1, 9599, '\p{^Is_Blk=blockelements}', "");
-Expect(1, 9599, '\P{Is_Blk=blockelements}', "");
-Expect(0, 9599, '\P{^Is_Blk=blockelements}', "");
-Expect(1, 9631, '\p{Is_Blk=_ BLOCK_Elements}', "");
-Expect(0, 9631, '\p{^Is_Blk=_ BLOCK_Elements}', "");
-Expect(0, 9631, '\P{Is_Blk=_ BLOCK_Elements}', "");
-Expect(1, 9631, '\P{^Is_Blk=_ BLOCK_Elements}', "");
-Expect(0, 9599, '\p{Is_Blk=_ BLOCK_Elements}', "");
-Expect(1, 9599, '\p{^Is_Blk=_ BLOCK_Elements}', "");
-Expect(1, 9599, '\P{Is_Blk=_ BLOCK_Elements}', "");
-Expect(0, 9599, '\P{^Is_Blk=_ BLOCK_Elements}', "");
-Error('\p{Block= _cjk Strokes:=}');
-Error('\P{Block= _cjk Strokes:=}');
-Expect(1, 12783, '\p{Block=cjkstrokes}', "");
-Expect(0, 12783, '\p{^Block=cjkstrokes}', "");
-Expect(0, 12783, '\P{Block=cjkstrokes}', "");
-Expect(1, 12783, '\P{^Block=cjkstrokes}', "");
-Expect(0, 12735, '\p{Block=cjkstrokes}', "");
-Expect(1, 12735, '\p{^Block=cjkstrokes}', "");
-Expect(1, 12735, '\P{Block=cjkstrokes}', "");
-Expect(0, 12735, '\P{^Block=cjkstrokes}', "");
-Expect(1, 12783, '\p{Block=_ CJK_strokes}', "");
-Expect(0, 12783, '\p{^Block=_ CJK_strokes}', "");
-Expect(0, 12783, '\P{Block=_ CJK_strokes}', "");
-Expect(1, 12783, '\P{^Block=_ CJK_strokes}', "");
-Expect(0, 12735, '\p{Block=_ CJK_strokes}', "");
-Expect(1, 12735, '\p{^Block=_ CJK_strokes}', "");
-Expect(1, 12735, '\P{Block=_ CJK_strokes}', "");
-Expect(0, 12735, '\P{^Block=_ CJK_strokes}', "");
-Error('\p{Blk= /a/CJK_STROKES}');
-Error('\P{Blk= /a/CJK_STROKES}');
-Expect(1, 12783, '\p{Blk: cjkstrokes}', "");
-Expect(0, 12783, '\p{^Blk: cjkstrokes}', "");
-Expect(0, 12783, '\P{Blk: cjkstrokes}', "");
-Expect(1, 12783, '\P{^Blk: cjkstrokes}', "");
-Expect(0, 12735, '\p{Blk: cjkstrokes}', "");
-Expect(1, 12735, '\p{^Blk: cjkstrokes}', "");
-Expect(1, 12735, '\P{Blk: cjkstrokes}', "");
-Expect(0, 12735, '\P{^Blk: cjkstrokes}', "");
-Expect(1, 12783, '\p{Blk= cjk-strokes}', "");
-Expect(0, 12783, '\p{^Blk= cjk-strokes}', "");
-Expect(0, 12783, '\P{Blk= cjk-strokes}', "");
-Expect(1, 12783, '\P{^Blk= cjk-strokes}', "");
-Expect(0, 12735, '\p{Blk= cjk-strokes}', "");
-Expect(1, 12735, '\p{^Blk= cjk-strokes}', "");
-Expect(1, 12735, '\P{Blk= cjk-strokes}', "");
-Expect(0, 12735, '\P{^Blk= cjk-strokes}', "");
-Error('\p{Is_Block: CJK strokes/a/}');
-Error('\P{Is_Block: CJK strokes/a/}');
-Expect(1, 12783, '\p{Is_Block=cjkstrokes}', "");
-Expect(0, 12783, '\p{^Is_Block=cjkstrokes}', "");
-Expect(0, 12783, '\P{Is_Block=cjkstrokes}', "");
-Expect(1, 12783, '\P{^Is_Block=cjkstrokes}', "");
-Expect(0, 12735, '\p{Is_Block=cjkstrokes}', "");
-Expect(1, 12735, '\p{^Is_Block=cjkstrokes}', "");
-Expect(1, 12735, '\P{Is_Block=cjkstrokes}', "");
-Expect(0, 12735, '\P{^Is_Block=cjkstrokes}', "");
-Expect(1, 12783, '\p{Is_Block= CJK strokes}', "");
-Expect(0, 12783, '\p{^Is_Block= CJK strokes}', "");
-Expect(0, 12783, '\P{Is_Block= CJK strokes}', "");
-Expect(1, 12783, '\P{^Is_Block= CJK strokes}', "");
-Expect(0, 12735, '\p{Is_Block= CJK strokes}', "");
-Expect(1, 12735, '\p{^Is_Block= CJK strokes}', "");
-Expect(1, 12735, '\P{Is_Block= CJK strokes}', "");
-Expect(0, 12735, '\P{^Is_Block= CJK strokes}', "");
-Error('\p{Is_Blk= :=cjk Strokes}');
-Error('\P{Is_Blk= :=cjk Strokes}');
-Expect(1, 12783, '\p{Is_Blk=cjkstrokes}', "");
-Expect(0, 12783, '\p{^Is_Blk=cjkstrokes}', "");
-Expect(0, 12783, '\P{Is_Blk=cjkstrokes}', "");
-Expect(1, 12783, '\P{^Is_Blk=cjkstrokes}', "");
-Expect(0, 12735, '\p{Is_Blk=cjkstrokes}', "");
-Expect(1, 12735, '\p{^Is_Blk=cjkstrokes}', "");
-Expect(1, 12735, '\P{Is_Blk=cjkstrokes}', "");
-Expect(0, 12735, '\P{^Is_Blk=cjkstrokes}', "");
-Expect(1, 12783, '\p{Is_Blk=_ CJK Strokes}', "");
-Expect(0, 12783, '\p{^Is_Blk=_ CJK Strokes}', "");
-Expect(0, 12783, '\P{Is_Blk=_ CJK Strokes}', "");
-Expect(1, 12783, '\P{^Is_Blk=_ CJK Strokes}', "");
-Expect(0, 12735, '\p{Is_Blk=_ CJK Strokes}', "");
-Expect(1, 12735, '\p{^Is_Blk=_ CJK Strokes}', "");
-Expect(1, 12735, '\P{Is_Blk=_ CJK Strokes}', "");
-Expect(0, 12735, '\P{^Is_Blk=_ CJK Strokes}', "");
-Error('\p{Block= /a/no Block}');
-Error('\P{Block= /a/no Block}');
-Expect(1, 2303, '\p{Block=noblock}', "");
-Expect(0, 2303, '\p{^Block=noblock}', "");
-Expect(0, 2303, '\P{Block=noblock}', "");
-Expect(1, 2303, '\P{^Block=noblock}', "");
-Expect(0, 2111, '\p{Block=noblock}', "");
-Expect(1, 2111, '\p{^Block=noblock}', "");
-Expect(1, 2111, '\P{Block=noblock}', "");
-Expect(0, 2111, '\P{^Block=noblock}', "");
-Expect(1, 2303, '\p{Block=-noBLOCK}', "");
-Expect(0, 2303, '\p{^Block=-noBLOCK}', "");
-Expect(0, 2303, '\P{Block=-noBLOCK}', "");
-Expect(1, 2303, '\P{^Block=-noBLOCK}', "");
-Expect(0, 2111, '\p{Block=-noBLOCK}', "");
-Expect(1, 2111, '\p{^Block=-noBLOCK}', "");
-Expect(1, 2111, '\P{Block=-noBLOCK}', "");
-Expect(0, 2111, '\P{^Block=-noBLOCK}', "");
-Error('\p{Blk=/a/ No Block}');
-Error('\P{Blk=/a/ No Block}');
-Expect(1, 2303, '\p{Blk=noblock}', "");
-Expect(0, 2303, '\p{^Blk=noblock}', "");
-Expect(0, 2303, '\P{Blk=noblock}', "");
-Expect(1, 2303, '\P{^Blk=noblock}', "");
-Expect(0, 2111, '\p{Blk=noblock}', "");
-Expect(1, 2111, '\p{^Blk=noblock}', "");
-Expect(1, 2111, '\P{Blk=noblock}', "");
-Expect(0, 2111, '\P{^Blk=noblock}', "");
-Expect(1, 2303, '\p{Blk= no block}', "");
-Expect(0, 2303, '\p{^Blk= no block}', "");
-Expect(0, 2303, '\P{Blk= no block}', "");
-Expect(1, 2303, '\P{^Blk= no block}', "");
-Expect(0, 2111, '\p{Blk= no block}', "");
-Expect(1, 2111, '\p{^Blk= no block}', "");
-Expect(1, 2111, '\P{Blk= no block}', "");
-Expect(0, 2111, '\P{^Blk= no block}', "");
-Error('\p{Is_Block=:=_ NO_Block}');
-Error('\P{Is_Block=:=_ NO_Block}');
-Expect(1, 2303, '\p{Is_Block=noblock}', "");
-Expect(0, 2303, '\p{^Is_Block=noblock}', "");
-Expect(0, 2303, '\P{Is_Block=noblock}', "");
-Expect(1, 2303, '\P{^Is_Block=noblock}', "");
-Expect(0, 2111, '\p{Is_Block=noblock}', "");
-Expect(1, 2111, '\p{^Is_Block=noblock}', "");
-Expect(1, 2111, '\P{Is_Block=noblock}', "");
-Expect(0, 2111, '\P{^Is_Block=noblock}', "");
-Expect(1, 2303, '\p{Is_Block: NO Block}', "");
-Expect(0, 2303, '\p{^Is_Block: NO Block}', "");
-Expect(0, 2303, '\P{Is_Block: NO Block}', "");
-Expect(1, 2303, '\P{^Is_Block: NO Block}', "");
-Expect(0, 2111, '\p{Is_Block: NO Block}', "");
-Expect(1, 2111, '\p{^Is_Block: NO Block}', "");
-Expect(1, 2111, '\P{Is_Block: NO Block}', "");
-Expect(0, 2111, '\P{^Is_Block: NO Block}', "");
-Error('\p{Is_Blk= no-Block:=}');
-Error('\P{Is_Blk= no-Block:=}');
-Expect(1, 2303, '\p{Is_Blk: noblock}', "");
-Expect(0, 2303, '\p{^Is_Blk: noblock}', "");
-Expect(0, 2303, '\P{Is_Blk: noblock}', "");
-Expect(1, 2303, '\P{^Is_Blk: noblock}', "");
-Expect(0, 2111, '\p{Is_Blk: noblock}', "");
-Expect(1, 2111, '\p{^Is_Blk: noblock}', "");
-Expect(1, 2111, '\P{Is_Blk: noblock}', "");
-Expect(0, 2111, '\P{^Is_Blk: noblock}', "");
-Expect(1, 2303, '\p{Is_Blk=no_block}', "");
-Expect(0, 2303, '\p{^Is_Blk=no_block}', "");
-Expect(0, 2303, '\P{Is_Blk=no_block}', "");
-Expect(1, 2303, '\P{^Is_Blk=no_block}', "");
-Expect(0, 2111, '\p{Is_Blk=no_block}', "");
-Expect(1, 2111, '\p{^Is_Blk=no_block}', "");
-Expect(1, 2111, '\P{Is_Blk=no_block}', "");
-Expect(0, 2111, '\P{^Is_Blk=no_block}', "");
-Error('\p{Block=:= _CJK-Compatibility}');
-Error('\P{Block=:= _CJK-Compatibility}');
-Expect(1, 13311, '\p{Block=cjkcompatibility}', "");
-Expect(0, 13311, '\p{^Block=cjkcompatibility}', "");
-Expect(0, 13311, '\P{Block=cjkcompatibility}', "");
-Expect(1, 13311, '\P{^Block=cjkcompatibility}', "");
-Expect(0, 13055, '\p{Block=cjkcompatibility}', "");
-Expect(1, 13055, '\p{^Block=cjkcompatibility}', "");
-Expect(1, 13055, '\P{Block=cjkcompatibility}', "");
-Expect(0, 13055, '\P{^Block=cjkcompatibility}', "");
-Expect(1, 13311, '\p{Block=- CJKCompatibility}', "");
-Expect(0, 13311, '\p{^Block=- CJKCompatibility}', "");
-Expect(0, 13311, '\P{Block=- CJKCompatibility}', "");
-Expect(1, 13311, '\P{^Block=- CJKCompatibility}', "");
-Expect(0, 13055, '\p{Block=- CJKCompatibility}', "");
-Expect(1, 13055, '\p{^Block=- CJKCompatibility}', "");
-Expect(1, 13055, '\P{Block=- CJKCompatibility}', "");
-Expect(0, 13055, '\P{^Block=- CJKCompatibility}', "");
-Error('\p{Blk=-CJK/a/COMPATIBILITY}');
-Error('\P{Blk=-CJK/a/COMPATIBILITY}');
-Expect(1, 13311, '\p{Blk=cjkcompatibility}', "");
-Expect(0, 13311, '\p{^Blk=cjkcompatibility}', "");
-Expect(0, 13311, '\P{Blk=cjkcompatibility}', "");
-Expect(1, 13311, '\P{^Blk=cjkcompatibility}', "");
-Expect(0, 13055, '\p{Blk=cjkcompatibility}', "");
-Expect(1, 13055, '\p{^Blk=cjkcompatibility}', "");
-Expect(1, 13055, '\P{Blk=cjkcompatibility}', "");
-Expect(0, 13055, '\P{^Blk=cjkcompatibility}', "");
-Expect(1, 13311, '\p{Blk= _cjk_COMPATIBILITY}', "");
-Expect(0, 13311, '\p{^Blk= _cjk_COMPATIBILITY}', "");
-Expect(0, 13311, '\P{Blk= _cjk_COMPATIBILITY}', "");
-Expect(1, 13311, '\P{^Blk= _cjk_COMPATIBILITY}', "");
-Expect(0, 13055, '\p{Blk= _cjk_COMPATIBILITY}', "");
-Expect(1, 13055, '\p{^Blk= _cjk_COMPATIBILITY}', "");
-Expect(1, 13055, '\P{Blk= _cjk_COMPATIBILITY}', "");
-Expect(0, 13055, '\P{^Blk= _cjk_COMPATIBILITY}', "");
-Error('\p{Is_Block=/a/- CJK Compatibility}');
-Error('\P{Is_Block=/a/- CJK Compatibility}');
-Expect(1, 13311, '\p{Is_Block:cjkcompatibility}', "");
-Expect(0, 13311, '\p{^Is_Block:cjkcompatibility}', "");
-Expect(0, 13311, '\P{Is_Block:cjkcompatibility}', "");
-Expect(1, 13311, '\P{^Is_Block:cjkcompatibility}', "");
-Expect(0, 13055, '\p{Is_Block:cjkcompatibility}', "");
-Expect(1, 13055, '\p{^Is_Block:cjkcompatibility}', "");
-Expect(1, 13055, '\P{Is_Block:cjkcompatibility}', "");
-Expect(0, 13055, '\P{^Is_Block:cjkcompatibility}', "");
-Expect(1, 13311, '\p{Is_Block= -CJK Compatibility}', "");
-Expect(0, 13311, '\p{^Is_Block= -CJK Compatibility}', "");
-Expect(0, 13311, '\P{Is_Block= -CJK Compatibility}', "");
-Expect(1, 13311, '\P{^Is_Block= -CJK Compatibility}', "");
-Expect(0, 13055, '\p{Is_Block= -CJK Compatibility}', "");
-Expect(1, 13055, '\p{^Is_Block= -CJK Compatibility}', "");
-Expect(1, 13055, '\P{Is_Block= -CJK Compatibility}', "");
-Expect(0, 13055, '\P{^Is_Block= -CJK Compatibility}', "");
-Error('\p{Is_Blk=CJK-compatibility/a/}');
-Error('\P{Is_Blk=CJK-compatibility/a/}');
-Expect(1, 13311, '\p{Is_Blk: cjkcompatibility}', "");
-Expect(0, 13311, '\p{^Is_Blk: cjkcompatibility}', "");
-Expect(0, 13311, '\P{Is_Blk: cjkcompatibility}', "");
-Expect(1, 13311, '\P{^Is_Blk: cjkcompatibility}', "");
-Expect(0, 13055, '\p{Is_Blk: cjkcompatibility}', "");
-Expect(1, 13055, '\p{^Is_Blk: cjkcompatibility}', "");
-Expect(1, 13055, '\P{Is_Blk: cjkcompatibility}', "");
-Expect(0, 13055, '\P{^Is_Blk: cjkcompatibility}', "");
-Expect(1, 13311, '\p{Is_Blk= CJK Compatibility}', "");
-Expect(0, 13311, '\p{^Is_Blk= CJK Compatibility}', "");
-Expect(0, 13311, '\P{Is_Blk= CJK Compatibility}', "");
-Expect(1, 13311, '\P{^Is_Blk= CJK Compatibility}', "");
-Expect(0, 13055, '\p{Is_Blk= CJK Compatibility}', "");
-Expect(1, 13055, '\p{^Is_Blk= CJK Compatibility}', "");
-Expect(1, 13055, '\P{Is_Blk= CJK Compatibility}', "");
-Expect(0, 13055, '\P{^Is_Blk= CJK Compatibility}', "");
-Error('\p{Block=-:=VEDIC-EXTENSIONS}');
-Error('\P{Block=-:=VEDIC-EXTENSIONS}');
-Expect(1, 7423, '\p{Block=vedicextensions}', "");
-Expect(0, 7423, '\p{^Block=vedicextensions}', "");
-Expect(0, 7423, '\P{Block=vedicextensions}', "");
-Expect(1, 7423, '\P{^Block=vedicextensions}', "");
-Expect(0, 7375, '\p{Block=vedicextensions}', "");
-Expect(1, 7375, '\p{^Block=vedicextensions}', "");
-Expect(1, 7375, '\P{Block=vedicextensions}', "");
-Expect(0, 7375, '\P{^Block=vedicextensions}', "");
-Expect(1, 7423, '\p{Block= VEDIC_Extensions}', "");
-Expect(0, 7423, '\p{^Block= VEDIC_Extensions}', "");
-Expect(0, 7423, '\P{Block= VEDIC_Extensions}', "");
-Expect(1, 7423, '\P{^Block= VEDIC_Extensions}', "");
-Expect(0, 7375, '\p{Block= VEDIC_Extensions}', "");
-Expect(1, 7375, '\p{^Block= VEDIC_Extensions}', "");
-Expect(1, 7375, '\P{Block= VEDIC_Extensions}', "");
-Expect(0, 7375, '\P{^Block= VEDIC_Extensions}', "");
-Error('\p{Blk=:=- Vedicextensions}');
-Error('\P{Blk=:=- Vedicextensions}');
-Expect(1, 7423, '\p{Blk=vedicextensions}', "");
-Expect(0, 7423, '\p{^Blk=vedicextensions}', "");
-Expect(0, 7423, '\P{Blk=vedicextensions}', "");
-Expect(1, 7423, '\P{^Blk=vedicextensions}', "");
-Expect(0, 7375, '\p{Blk=vedicextensions}', "");
-Expect(1, 7375, '\p{^Blk=vedicextensions}', "");
-Expect(1, 7375, '\P{Blk=vedicextensions}', "");
-Expect(0, 7375, '\P{^Blk=vedicextensions}', "");
-Expect(1, 7423, '\p{Blk=- Vedic-extensions}', "");
-Expect(0, 7423, '\p{^Blk=- Vedic-extensions}', "");
-Expect(0, 7423, '\P{Blk=- Vedic-extensions}', "");
-Expect(1, 7423, '\P{^Blk=- Vedic-extensions}', "");
-Expect(0, 7375, '\p{Blk=- Vedic-extensions}', "");
-Expect(1, 7375, '\p{^Blk=- Vedic-extensions}', "");
-Expect(1, 7375, '\P{Blk=- Vedic-extensions}', "");
-Expect(0, 7375, '\P{^Blk=- Vedic-extensions}', "");
-Error('\p{Is_Block=:=__vedic-extensions}');
-Error('\P{Is_Block=:=__vedic-extensions}');
-Expect(1, 7423, '\p{Is_Block=vedicextensions}', "");
-Expect(0, 7423, '\p{^Is_Block=vedicextensions}', "");
-Expect(0, 7423, '\P{Is_Block=vedicextensions}', "");
-Expect(1, 7423, '\P{^Is_Block=vedicextensions}', "");
-Expect(0, 7375, '\p{Is_Block=vedicextensions}', "");
-Expect(1, 7375, '\p{^Is_Block=vedicextensions}', "");
-Expect(1, 7375, '\P{Is_Block=vedicextensions}', "");
-Expect(0, 7375, '\P{^Is_Block=vedicextensions}', "");
-Expect(1, 7423, '\p{Is_Block= Vedic Extensions}', "");
-Expect(0, 7423, '\p{^Is_Block= Vedic Extensions}', "");
-Expect(0, 7423, '\P{Is_Block= Vedic Extensions}', "");
-Expect(1, 7423, '\P{^Is_Block= Vedic Extensions}', "");
-Expect(0, 7375, '\p{Is_Block= Vedic Extensions}', "");
-Expect(1, 7375, '\p{^Is_Block= Vedic Extensions}', "");
-Expect(1, 7375, '\P{Is_Block= Vedic Extensions}', "");
-Expect(0, 7375, '\P{^Is_Block= Vedic Extensions}', "");
-Error('\p{Is_Blk= :=vedic-Extensions}');
-Error('\P{Is_Blk= :=vedic-Extensions}');
-Expect(1, 7423, '\p{Is_Blk=vedicextensions}', "");
-Expect(0, 7423, '\p{^Is_Blk=vedicextensions}', "");
-Expect(0, 7423, '\P{Is_Blk=vedicextensions}', "");
-Expect(1, 7423, '\P{^Is_Blk=vedicextensions}', "");
-Expect(0, 7375, '\p{Is_Blk=vedicextensions}', "");
-Expect(1, 7375, '\p{^Is_Blk=vedicextensions}', "");
-Expect(1, 7375, '\P{Is_Blk=vedicextensions}', "");
-Expect(0, 7375, '\P{^Is_Blk=vedicextensions}', "");
-Expect(1, 7423, '\p{Is_Blk=_-Vedicextensions}', "");
-Expect(0, 7423, '\p{^Is_Blk=_-Vedicextensions}', "");
-Expect(0, 7423, '\P{Is_Blk=_-Vedicextensions}', "");
-Expect(1, 7423, '\P{^Is_Blk=_-Vedicextensions}', "");
-Expect(0, 7375, '\p{Is_Blk=_-Vedicextensions}', "");
-Expect(1, 7375, '\p{^Is_Blk=_-Vedicextensions}', "");
-Expect(1, 7375, '\P{Is_Blk=_-Vedicextensions}', "");
-Expect(0, 7375, '\P{^Is_Blk=_-Vedicextensions}', "");
-Error('\p{Block: :=Tai_VIET}');
-Error('\P{Block: :=Tai_VIET}');
-Expect(1, 43743, '\p{Block=taiviet}', "");
-Expect(0, 43743, '\p{^Block=taiviet}', "");
-Expect(0, 43743, '\P{Block=taiviet}', "");
-Expect(1, 43743, '\P{^Block=taiviet}', "");
-Expect(0, 43647, '\p{Block=taiviet}', "");
-Expect(1, 43647, '\p{^Block=taiviet}', "");
-Expect(1, 43647, '\P{Block=taiviet}', "");
-Expect(0, 43647, '\P{^Block=taiviet}', "");
-Expect(1, 43743, '\p{Block= TAI viet}', "");
-Expect(0, 43743, '\p{^Block= TAI viet}', "");
-Expect(0, 43743, '\P{Block= TAI viet}', "");
-Expect(1, 43743, '\P{^Block= TAI viet}', "");
-Expect(0, 43647, '\p{Block= TAI viet}', "");
-Expect(1, 43647, '\p{^Block= TAI viet}', "");
-Expect(1, 43647, '\P{Block= TAI viet}', "");
-Expect(0, 43647, '\P{^Block= TAI viet}', "");
-Error('\p{Blk=:= Tai Viet}');
-Error('\P{Blk=:= Tai Viet}');
-Expect(1, 43743, '\p{Blk=taiviet}', "");
-Expect(0, 43743, '\p{^Blk=taiviet}', "");
-Expect(0, 43743, '\P{Blk=taiviet}', "");
-Expect(1, 43743, '\P{^Blk=taiviet}', "");
-Expect(0, 43647, '\p{Blk=taiviet}', "");
-Expect(1, 43647, '\p{^Blk=taiviet}', "");
-Expect(1, 43647, '\P{Blk=taiviet}', "");
-Expect(0, 43647, '\P{^Blk=taiviet}', "");
-Expect(1, 43743, '\p{Blk=_ Tai-viet}', "");
-Expect(0, 43743, '\p{^Blk=_ Tai-viet}', "");
-Expect(0, 43743, '\P{Blk=_ Tai-viet}', "");
-Expect(1, 43743, '\P{^Blk=_ Tai-viet}', "");
-Expect(0, 43647, '\p{Blk=_ Tai-viet}', "");
-Expect(1, 43647, '\p{^Blk=_ Tai-viet}', "");
-Expect(1, 43647, '\P{Blk=_ Tai-viet}', "");
-Expect(0, 43647, '\P{^Blk=_ Tai-viet}', "");
-Error('\p{Is_Block=--Tai VIET:=}');
-Error('\P{Is_Block=--Tai VIET:=}');
-Expect(1, 43743, '\p{Is_Block=taiviet}', "");
-Expect(0, 43743, '\p{^Is_Block=taiviet}', "");
-Expect(0, 43743, '\P{Is_Block=taiviet}', "");
-Expect(1, 43743, '\P{^Is_Block=taiviet}', "");
-Expect(0, 43647, '\p{Is_Block=taiviet}', "");
-Expect(1, 43647, '\p{^Is_Block=taiviet}', "");
-Expect(1, 43647, '\P{Is_Block=taiviet}', "");
-Expect(0, 43647, '\P{^Is_Block=taiviet}', "");
-Expect(1, 43743, '\p{Is_Block=_ tai_Viet}', "");
-Expect(0, 43743, '\p{^Is_Block=_ tai_Viet}', "");
-Expect(0, 43743, '\P{Is_Block=_ tai_Viet}', "");
-Expect(1, 43743, '\P{^Is_Block=_ tai_Viet}', "");
-Expect(0, 43647, '\p{Is_Block=_ tai_Viet}', "");
-Expect(1, 43647, '\p{^Is_Block=_ tai_Viet}', "");
-Expect(1, 43647, '\P{Is_Block=_ tai_Viet}', "");
-Expect(0, 43647, '\P{^Is_Block=_ tai_Viet}', "");
-Error('\p{Is_Blk=_/a/TaiViet}');
-Error('\P{Is_Blk=_/a/TaiViet}');
-Expect(1, 43743, '\p{Is_Blk: taiviet}', "");
-Expect(0, 43743, '\p{^Is_Blk: taiviet}', "");
-Expect(0, 43743, '\P{Is_Blk: taiviet}', "");
-Expect(1, 43743, '\P{^Is_Blk: taiviet}', "");
-Expect(0, 43647, '\p{Is_Blk: taiviet}', "");
-Expect(1, 43647, '\p{^Is_Blk: taiviet}', "");
-Expect(1, 43647, '\P{Is_Blk: taiviet}', "");
-Expect(0, 43647, '\P{^Is_Blk: taiviet}', "");
-Expect(1, 43743, '\p{Is_Blk: _-tai viet}', "");
-Expect(0, 43743, '\p{^Is_Blk: _-tai viet}', "");
-Expect(0, 43743, '\P{Is_Blk: _-tai viet}', "");
-Expect(1, 43743, '\P{^Is_Blk: _-tai viet}', "");
-Expect(0, 43647, '\p{Is_Blk: _-tai viet}', "");
-Expect(1, 43647, '\p{^Is_Blk: _-tai viet}', "");
-Expect(1, 43647, '\P{Is_Blk: _-tai viet}', "");
-Expect(0, 43647, '\P{^Is_Blk: _-tai viet}', "");
-Error('\p{Block=:=-CYRILLIC_Extended b}');
-Error('\P{Block=:=-CYRILLIC_Extended b}');
-Expect(1, 42655, '\p{Block: cyrillicextendedb}', "");
-Expect(0, 42655, '\p{^Block: cyrillicextendedb}', "");
-Expect(0, 42655, '\P{Block: cyrillicextendedb}', "");
-Expect(1, 42655, '\P{^Block: cyrillicextendedb}', "");
-Expect(0, 42559, '\p{Block: cyrillicextendedb}', "");
-Expect(1, 42559, '\p{^Block: cyrillicextendedb}', "");
-Expect(1, 42559, '\P{Block: cyrillicextendedb}', "");
-Expect(0, 42559, '\P{^Block: cyrillicextendedb}', "");
-Expect(1, 42655, '\p{Block= -CYRILLIC extended-b}', "");
-Expect(0, 42655, '\p{^Block= -CYRILLIC extended-b}', "");
-Expect(0, 42655, '\P{Block= -CYRILLIC extended-b}', "");
-Expect(1, 42655, '\P{^Block= -CYRILLIC extended-b}', "");
-Expect(0, 42559, '\p{Block= -CYRILLIC extended-b}', "");
-Expect(1, 42559, '\p{^Block= -CYRILLIC extended-b}', "");
-Expect(1, 42559, '\P{Block= -CYRILLIC extended-b}', "");
-Expect(0, 42559, '\P{^Block= -CYRILLIC extended-b}', "");
-Error('\p{Blk=-cyrillic/a/Extended-B}');
-Error('\P{Blk=-cyrillic/a/Extended-B}');
-Expect(1, 42655, '\p{Blk=cyrillicextendedb}', "");
-Expect(0, 42655, '\p{^Blk=cyrillicextendedb}', "");
-Expect(0, 42655, '\P{Blk=cyrillicextendedb}', "");
-Expect(1, 42655, '\P{^Blk=cyrillicextendedb}', "");
-Expect(0, 42559, '\p{Blk=cyrillicextendedb}', "");
-Expect(1, 42559, '\p{^Blk=cyrillicextendedb}', "");
-Expect(1, 42559, '\P{Blk=cyrillicextendedb}', "");
-Expect(0, 42559, '\P{^Blk=cyrillicextendedb}', "");
-Expect(1, 42655, '\p{Blk=_cyrillic Extended B}', "");
-Expect(0, 42655, '\p{^Blk=_cyrillic Extended B}', "");
-Expect(0, 42655, '\P{Blk=_cyrillic Extended B}', "");
-Expect(1, 42655, '\P{^Blk=_cyrillic Extended B}', "");
-Expect(0, 42559, '\p{Blk=_cyrillic Extended B}', "");
-Expect(1, 42559, '\p{^Blk=_cyrillic Extended B}', "");
-Expect(1, 42559, '\P{Blk=_cyrillic Extended B}', "");
-Expect(0, 42559, '\P{^Blk=_cyrillic Extended B}', "");
-Error('\p{Is_Block=-CYRILLIC-Extended-B/a/}');
-Error('\P{Is_Block=-CYRILLIC-Extended-B/a/}');
-Expect(1, 42655, '\p{Is_Block=cyrillicextendedb}', "");
-Expect(0, 42655, '\p{^Is_Block=cyrillicextendedb}', "");
-Expect(0, 42655, '\P{Is_Block=cyrillicextendedb}', "");
-Expect(1, 42655, '\P{^Is_Block=cyrillicextendedb}', "");
-Expect(0, 42559, '\p{Is_Block=cyrillicextendedb}', "");
-Expect(1, 42559, '\p{^Is_Block=cyrillicextendedb}', "");
-Expect(1, 42559, '\P{Is_Block=cyrillicextendedb}', "");
-Expect(0, 42559, '\P{^Is_Block=cyrillicextendedb}', "");
-Expect(1, 42655, '\p{Is_Block= CYRILLICExtended-b}', "");
-Expect(0, 42655, '\p{^Is_Block= CYRILLICExtended-b}', "");
-Expect(0, 42655, '\P{Is_Block= CYRILLICExtended-b}', "");
-Expect(1, 42655, '\P{^Is_Block= CYRILLICExtended-b}', "");
-Expect(0, 42559, '\p{Is_Block= CYRILLICExtended-b}', "");
-Expect(1, 42559, '\p{^Is_Block= CYRILLICExtended-b}', "");
-Expect(1, 42559, '\P{Is_Block= CYRILLICExtended-b}', "");
-Expect(0, 42559, '\P{^Is_Block= CYRILLICExtended-b}', "");
-Error('\p{Is_Blk=/a/- cyrillic_EXTENDED-B}');
-Error('\P{Is_Blk=/a/- cyrillic_EXTENDED-B}');
-Expect(1, 42655, '\p{Is_Blk: cyrillicextendedb}', "");
-Expect(0, 42655, '\p{^Is_Blk: cyrillicextendedb}', "");
-Expect(0, 42655, '\P{Is_Blk: cyrillicextendedb}', "");
-Expect(1, 42655, '\P{^Is_Blk: cyrillicextendedb}', "");
-Expect(0, 42559, '\p{Is_Blk: cyrillicextendedb}', "");
-Expect(1, 42559, '\p{^Is_Blk: cyrillicextendedb}', "");
-Expect(1, 42559, '\P{Is_Blk: cyrillicextendedb}', "");
-Expect(0, 42559, '\P{^Is_Blk: cyrillicextendedb}', "");
-Expect(1, 42655, '\p{Is_Blk=_Cyrillic Extended_B}', "");
-Expect(0, 42655, '\p{^Is_Blk=_Cyrillic Extended_B}', "");
-Expect(0, 42655, '\P{Is_Blk=_Cyrillic Extended_B}', "");
-Expect(1, 42655, '\P{^Is_Blk=_Cyrillic Extended_B}', "");
-Expect(0, 42559, '\p{Is_Blk=_Cyrillic Extended_B}', "");
-Expect(1, 42559, '\p{^Is_Blk=_Cyrillic Extended_B}', "");
-Expect(1, 42559, '\P{Is_Blk=_Cyrillic Extended_B}', "");
-Expect(0, 42559, '\P{^Is_Blk=_Cyrillic Extended_B}', "");
-Error('\p{Block: /a/phonetic Extensions}');
-Error('\P{Block: /a/phonetic Extensions}');
-Expect(1, 7551, '\p{Block=phoneticextensions}', "");
-Expect(0, 7551, '\p{^Block=phoneticextensions}', "");
-Expect(0, 7551, '\P{Block=phoneticextensions}', "");
-Expect(1, 7551, '\P{^Block=phoneticextensions}', "");
-Expect(0, 7423, '\p{Block=phoneticextensions}', "");
-Expect(1, 7423, '\p{^Block=phoneticextensions}', "");
-Expect(1, 7423, '\P{Block=phoneticextensions}', "");
-Expect(0, 7423, '\P{^Block=phoneticextensions}', "");
-Expect(1, 7551, '\p{Block= _PHONETIC-Extensions}', "");
-Expect(0, 7551, '\p{^Block= _PHONETIC-Extensions}', "");
-Expect(0, 7551, '\P{Block= _PHONETIC-Extensions}', "");
-Expect(1, 7551, '\P{^Block= _PHONETIC-Extensions}', "");
-Expect(0, 7423, '\p{Block= _PHONETIC-Extensions}', "");
-Expect(1, 7423, '\p{^Block= _PHONETIC-Extensions}', "");
-Expect(1, 7423, '\P{Block= _PHONETIC-Extensions}', "");
-Expect(0, 7423, '\P{^Block= _PHONETIC-Extensions}', "");
-Error('\p{Blk=:= _phonetic-EXTENSIONS}');
-Error('\P{Blk=:= _phonetic-EXTENSIONS}');
-Expect(1, 7551, '\p{Blk: phoneticextensions}', "");
-Expect(0, 7551, '\p{^Blk: phoneticextensions}', "");
-Expect(0, 7551, '\P{Blk: phoneticextensions}', "");
-Expect(1, 7551, '\P{^Blk: phoneticextensions}', "");
-Expect(0, 7423, '\p{Blk: phoneticextensions}', "");
-Expect(1, 7423, '\p{^Blk: phoneticextensions}', "");
-Expect(1, 7423, '\P{Blk: phoneticextensions}', "");
-Expect(0, 7423, '\P{^Blk: phoneticextensions}', "");
-Expect(1, 7551, '\p{Blk= PHONETIC-Extensions}', "");
-Expect(0, 7551, '\p{^Blk= PHONETIC-Extensions}', "");
-Expect(0, 7551, '\P{Blk= PHONETIC-Extensions}', "");
-Expect(1, 7551, '\P{^Blk= PHONETIC-Extensions}', "");
-Expect(0, 7423, '\p{Blk= PHONETIC-Extensions}', "");
-Expect(1, 7423, '\p{^Blk= PHONETIC-Extensions}', "");
-Expect(1, 7423, '\P{Blk= PHONETIC-Extensions}', "");
-Expect(0, 7423, '\P{^Blk= PHONETIC-Extensions}', "");
-Error('\p{Is_Block=-_Phonetic_Extensions:=}');
-Error('\P{Is_Block=-_Phonetic_Extensions:=}');
-Expect(1, 7551, '\p{Is_Block=phoneticextensions}', "");
-Expect(0, 7551, '\p{^Is_Block=phoneticextensions}', "");
-Expect(0, 7551, '\P{Is_Block=phoneticextensions}', "");
-Expect(1, 7551, '\P{^Is_Block=phoneticextensions}', "");
-Expect(0, 7423, '\p{Is_Block=phoneticextensions}', "");
-Expect(1, 7423, '\p{^Is_Block=phoneticextensions}', "");
-Expect(1, 7423, '\P{Is_Block=phoneticextensions}', "");
-Expect(0, 7423, '\P{^Is_Block=phoneticextensions}', "");
-Expect(1, 7551, '\p{Is_Block=_ phonetic_Extensions}', "");
-Expect(0, 7551, '\p{^Is_Block=_ phonetic_Extensions}', "");
-Expect(0, 7551, '\P{Is_Block=_ phonetic_Extensions}', "");
-Expect(1, 7551, '\P{^Is_Block=_ phonetic_Extensions}', "");
-Expect(0, 7423, '\p{Is_Block=_ phonetic_Extensions}', "");
-Expect(1, 7423, '\p{^Is_Block=_ phonetic_Extensions}', "");
-Expect(1, 7423, '\P{Is_Block=_ phonetic_Extensions}', "");
-Expect(0, 7423, '\P{^Is_Block=_ phonetic_Extensions}', "");
-Error('\p{Is_Blk= -Phonetic:=EXTENSIONS}');
-Error('\P{Is_Blk= -Phonetic:=EXTENSIONS}');
-Expect(1, 7551, '\p{Is_Blk=phoneticextensions}', "");
-Expect(0, 7551, '\p{^Is_Blk=phoneticextensions}', "");
-Expect(0, 7551, '\P{Is_Blk=phoneticextensions}', "");
-Expect(1, 7551, '\P{^Is_Blk=phoneticextensions}', "");
-Expect(0, 7423, '\p{Is_Blk=phoneticextensions}', "");
-Expect(1, 7423, '\p{^Is_Blk=phoneticextensions}', "");
-Expect(1, 7423, '\P{Is_Blk=phoneticextensions}', "");
-Expect(0, 7423, '\P{^Is_Blk=phoneticextensions}', "");
-Expect(1, 7551, '\p{Is_Blk= _Phonetic extensions}', "");
-Expect(0, 7551, '\p{^Is_Blk= _Phonetic extensions}', "");
-Expect(0, 7551, '\P{Is_Blk= _Phonetic extensions}', "");
-Expect(1, 7551, '\P{^Is_Blk= _Phonetic extensions}', "");
-Expect(0, 7423, '\p{Is_Blk= _Phonetic extensions}', "");
-Expect(1, 7423, '\p{^Is_Blk= _Phonetic extensions}', "");
-Expect(1, 7423, '\P{Is_Blk= _Phonetic extensions}', "");
-Expect(0, 7423, '\P{^Is_Blk= _Phonetic extensions}', "");
-Error('\p{Block=/a/tai_Xuan JING Symbols}');
-Error('\P{Block=/a/tai_Xuan JING Symbols}');
-Expect(1, 119647, '\p{Block=taixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^Block=taixuanjingsymbols}', "");
-Expect(0, 119647, '\P{Block=taixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^Block=taixuanjingsymbols}', "");
-Expect(0, 119551, '\p{Block=taixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^Block=taixuanjingsymbols}', "");
-Expect(1, 119551, '\P{Block=taixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^Block=taixuanjingsymbols}', "");
-Expect(1, 119647, '\p{Block=--tai Xuan Jing symbols}', "");
-Expect(0, 119647, '\p{^Block=--tai Xuan Jing symbols}', "");
-Expect(0, 119647, '\P{Block=--tai Xuan Jing symbols}', "");
-Expect(1, 119647, '\P{^Block=--tai Xuan Jing symbols}', "");
-Expect(0, 119551, '\p{Block=--tai Xuan Jing symbols}', "");
-Expect(1, 119551, '\p{^Block=--tai Xuan Jing symbols}', "");
-Expect(1, 119551, '\P{Block=--tai Xuan Jing symbols}', "");
-Expect(0, 119551, '\P{^Block=--tai Xuan Jing symbols}', "");
-Error('\p{Blk= taiXuanJINGSymbols:=}');
-Error('\P{Blk= taiXuanJINGSymbols:=}');
-Expect(1, 119647, '\p{Blk=taixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^Blk=taixuanjingsymbols}', "");
-Expect(0, 119647, '\P{Blk=taixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^Blk=taixuanjingsymbols}', "");
-Expect(0, 119551, '\p{Blk=taixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^Blk=taixuanjingsymbols}', "");
-Expect(1, 119551, '\P{Blk=taixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^Blk=taixuanjingsymbols}', "");
-Expect(1, 119647, '\p{Blk= TAI Xuan_JINGSymbols}', "");
-Expect(0, 119647, '\p{^Blk= TAI Xuan_JINGSymbols}', "");
-Expect(0, 119647, '\P{Blk= TAI Xuan_JINGSymbols}', "");
-Expect(1, 119647, '\P{^Blk= TAI Xuan_JINGSymbols}', "");
-Expect(0, 119551, '\p{Blk= TAI Xuan_JINGSymbols}', "");
-Expect(1, 119551, '\p{^Blk= TAI Xuan_JINGSymbols}', "");
-Expect(1, 119551, '\P{Blk= TAI Xuan_JINGSymbols}', "");
-Expect(0, 119551, '\P{^Blk= TAI Xuan_JINGSymbols}', "");
-Error('\p{Is_Block=/a/_Taixuan_Jing_SYMBOLS}');
-Error('\P{Is_Block=/a/_Taixuan_Jing_SYMBOLS}');
-Expect(1, 119647, '\p{Is_Block=taixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^Is_Block=taixuanjingsymbols}', "");
-Expect(0, 119647, '\P{Is_Block=taixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^Is_Block=taixuanjingsymbols}', "");
-Expect(0, 119551, '\p{Is_Block=taixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^Is_Block=taixuanjingsymbols}', "");
-Expect(1, 119551, '\P{Is_Block=taixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^Is_Block=taixuanjingsymbols}', "");
-Expect(1, 119647, '\p{Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(0, 119647, '\p{^Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(0, 119647, '\P{Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(1, 119647, '\P{^Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(0, 119551, '\p{Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(1, 119551, '\p{^Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(1, 119551, '\P{Is_Block=--tai Xuan Jing-Symbols}', "");
-Expect(0, 119551, '\P{^Is_Block=--tai Xuan Jing-Symbols}', "");
-Error('\p{Is_Blk= TAI Xuan:=JING SYMBOLS}');
-Error('\P{Is_Blk= TAI Xuan:=JING SYMBOLS}');
-Expect(1, 119647, '\p{Is_Blk: taixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^Is_Blk: taixuanjingsymbols}', "");
-Expect(0, 119647, '\P{Is_Blk: taixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^Is_Blk: taixuanjingsymbols}', "");
-Expect(0, 119551, '\p{Is_Blk: taixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^Is_Blk: taixuanjingsymbols}', "");
-Expect(1, 119551, '\P{Is_Blk: taixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^Is_Blk: taixuanjingsymbols}', "");
-Expect(1, 119647, '\p{Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(0, 119647, '\p{^Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(0, 119647, '\P{Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(1, 119647, '\P{^Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(0, 119551, '\p{Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(1, 119551, '\p{^Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(1, 119551, '\P{Is_Blk= _taiXUAN jing Symbols}', "");
-Expect(0, 119551, '\P{^Is_Blk= _taiXUAN jing Symbols}', "");
-Error('\p{Block=:=Malayalam}');
-Error('\P{Block=:=Malayalam}');
-Expect(1, 3455, '\p{Block=malayalam}', "");
-Expect(0, 3455, '\p{^Block=malayalam}', "");
-Expect(0, 3455, '\P{Block=malayalam}', "");
-Expect(1, 3455, '\P{^Block=malayalam}', "");
-Expect(0, 3327, '\p{Block=malayalam}', "");
-Expect(1, 3327, '\p{^Block=malayalam}', "");
-Expect(1, 3327, '\P{Block=malayalam}', "");
-Expect(0, 3327, '\P{^Block=malayalam}', "");
-Expect(1, 3455, '\p{Block= -Malayalam}', "");
-Expect(0, 3455, '\p{^Block= -Malayalam}', "");
-Expect(0, 3455, '\P{Block= -Malayalam}', "");
-Expect(1, 3455, '\P{^Block= -Malayalam}', "");
-Expect(0, 3327, '\p{Block= -Malayalam}', "");
-Expect(1, 3327, '\p{^Block= -Malayalam}', "");
-Expect(1, 3327, '\P{Block= -Malayalam}', "");
-Expect(0, 3327, '\P{^Block= -Malayalam}', "");
-Error('\p{Blk=- Malayalam:=}');
-Error('\P{Blk=- Malayalam:=}');
-Expect(1, 3455, '\p{Blk=malayalam}', "");
-Expect(0, 3455, '\p{^Blk=malayalam}', "");
-Expect(0, 3455, '\P{Blk=malayalam}', "");
-Expect(1, 3455, '\P{^Blk=malayalam}', "");
-Expect(0, 3327, '\p{Blk=malayalam}', "");
-Expect(1, 3327, '\p{^Blk=malayalam}', "");
-Expect(1, 3327, '\P{Blk=malayalam}', "");
-Expect(0, 3327, '\P{^Blk=malayalam}', "");
-Expect(1, 3455, '\p{Blk=-_malayalam}', "");
-Expect(0, 3455, '\p{^Blk=-_malayalam}', "");
-Expect(0, 3455, '\P{Blk=-_malayalam}', "");
-Expect(1, 3455, '\P{^Blk=-_malayalam}', "");
-Expect(0, 3327, '\p{Blk=-_malayalam}', "");
-Expect(1, 3327, '\p{^Blk=-_malayalam}', "");
-Expect(1, 3327, '\P{Blk=-_malayalam}', "");
-Expect(0, 3327, '\P{^Blk=-_malayalam}', "");
-Error('\p{Is_Block=/a/ Malayalam}');
-Error('\P{Is_Block=/a/ Malayalam}');
-Expect(1, 3455, '\p{Is_Block=malayalam}', "");
-Expect(0, 3455, '\p{^Is_Block=malayalam}', "");
-Expect(0, 3455, '\P{Is_Block=malayalam}', "");
-Expect(1, 3455, '\P{^Is_Block=malayalam}', "");
-Expect(0, 3327, '\p{Is_Block=malayalam}', "");
-Expect(1, 3327, '\p{^Is_Block=malayalam}', "");
-Expect(1, 3327, '\P{Is_Block=malayalam}', "");
-Expect(0, 3327, '\P{^Is_Block=malayalam}', "");
-Expect(1, 3455, '\p{Is_Block: - Malayalam}', "");
-Expect(0, 3455, '\p{^Is_Block: - Malayalam}', "");
-Expect(0, 3455, '\P{Is_Block: - Malayalam}', "");
-Expect(1, 3455, '\P{^Is_Block: - Malayalam}', "");
-Expect(0, 3327, '\p{Is_Block: - Malayalam}', "");
-Expect(1, 3327, '\p{^Is_Block: - Malayalam}', "");
-Expect(1, 3327, '\P{Is_Block: - Malayalam}', "");
-Expect(0, 3327, '\P{^Is_Block: - Malayalam}', "");
-Error('\p{Is_Blk=__Malayalam/a/}');
-Error('\P{Is_Blk=__Malayalam/a/}');
-Expect(1, 3455, '\p{Is_Blk=malayalam}', "");
-Expect(0, 3455, '\p{^Is_Blk=malayalam}', "");
-Expect(0, 3455, '\P{Is_Blk=malayalam}', "");
-Expect(1, 3455, '\P{^Is_Blk=malayalam}', "");
-Expect(0, 3327, '\p{Is_Blk=malayalam}', "");
-Expect(1, 3327, '\p{^Is_Blk=malayalam}', "");
-Expect(1, 3327, '\P{Is_Blk=malayalam}', "");
-Expect(0, 3327, '\P{^Is_Blk=malayalam}', "");
-Expect(1, 3455, '\p{Is_Blk= malayalam}', "");
-Expect(0, 3455, '\p{^Is_Blk= malayalam}', "");
-Expect(0, 3455, '\P{Is_Blk= malayalam}', "");
-Expect(1, 3455, '\P{^Is_Blk= malayalam}', "");
-Expect(0, 3327, '\p{Is_Blk= malayalam}', "");
-Expect(1, 3327, '\p{^Is_Blk= malayalam}', "");
-Expect(1, 3327, '\P{Is_Blk= malayalam}', "");
-Expect(0, 3327, '\P{^Is_Blk= malayalam}', "");
-Error('\p{Block= _lisu:=}');
-Error('\P{Block= _lisu:=}');
-Expect(1, 42239, '\p{Block=lisu}', "");
-Expect(0, 42239, '\p{^Block=lisu}', "");
-Expect(0, 42239, '\P{Block=lisu}', "");
-Expect(1, 42239, '\P{^Block=lisu}', "");
-Expect(0, 42191, '\p{Block=lisu}', "");
-Expect(1, 42191, '\p{^Block=lisu}', "");
-Expect(1, 42191, '\P{Block=lisu}', "");
-Expect(0, 42191, '\P{^Block=lisu}', "");
-Expect(1, 42239, '\p{Block= Lisu}', "");
-Expect(0, 42239, '\p{^Block= Lisu}', "");
-Expect(0, 42239, '\P{Block= Lisu}', "");
-Expect(1, 42239, '\P{^Block= Lisu}', "");
-Expect(0, 42191, '\p{Block= Lisu}', "");
-Expect(1, 42191, '\p{^Block= Lisu}', "");
-Expect(1, 42191, '\P{Block= Lisu}', "");
-Expect(0, 42191, '\P{^Block= Lisu}', "");
-Error('\p{Blk=_:=Lisu}');
-Error('\P{Blk=_:=Lisu}');
-Expect(1, 42239, '\p{Blk=lisu}', "");
-Expect(0, 42239, '\p{^Blk=lisu}', "");
-Expect(0, 42239, '\P{Blk=lisu}', "");
-Expect(1, 42239, '\P{^Blk=lisu}', "");
-Expect(0, 42191, '\p{Blk=lisu}', "");
-Expect(1, 42191, '\p{^Blk=lisu}', "");
-Expect(1, 42191, '\P{Blk=lisu}', "");
-Expect(0, 42191, '\P{^Blk=lisu}', "");
-Expect(1, 42239, '\p{Blk= -LISU}', "");
-Expect(0, 42239, '\p{^Blk= -LISU}', "");
-Expect(0, 42239, '\P{Blk= -LISU}', "");
-Expect(1, 42239, '\P{^Blk= -LISU}', "");
-Expect(0, 42191, '\p{Blk= -LISU}', "");
-Expect(1, 42191, '\p{^Blk= -LISU}', "");
-Expect(1, 42191, '\P{Blk= -LISU}', "");
-Expect(0, 42191, '\P{^Blk= -LISU}', "");
-Error('\p{Is_Block=:= lisu}');
-Error('\P{Is_Block=:= lisu}');
-Expect(1, 42239, '\p{Is_Block=lisu}', "");
-Expect(0, 42239, '\p{^Is_Block=lisu}', "");
-Expect(0, 42239, '\P{Is_Block=lisu}', "");
-Expect(1, 42239, '\P{^Is_Block=lisu}', "");
-Expect(0, 42191, '\p{Is_Block=lisu}', "");
-Expect(1, 42191, '\p{^Is_Block=lisu}', "");
-Expect(1, 42191, '\P{Is_Block=lisu}', "");
-Expect(0, 42191, '\P{^Is_Block=lisu}', "");
-Expect(1, 42239, '\p{Is_Block= -Lisu}', "");
-Expect(0, 42239, '\p{^Is_Block= -Lisu}', "");
-Expect(0, 42239, '\P{Is_Block= -Lisu}', "");
-Expect(1, 42239, '\P{^Is_Block= -Lisu}', "");
-Expect(0, 42191, '\p{Is_Block= -Lisu}', "");
-Expect(1, 42191, '\p{^Is_Block= -Lisu}', "");
-Expect(1, 42191, '\P{Is_Block= -Lisu}', "");
-Expect(0, 42191, '\P{^Is_Block= -Lisu}', "");
-Error('\p{Is_Blk= lisu/a/}');
-Error('\P{Is_Blk= lisu/a/}');
-Expect(1, 42239, '\p{Is_Blk=lisu}', "");
-Expect(0, 42239, '\p{^Is_Blk=lisu}', "");
-Expect(0, 42239, '\P{Is_Blk=lisu}', "");
-Expect(1, 42239, '\P{^Is_Blk=lisu}', "");
-Expect(0, 42191, '\p{Is_Blk=lisu}', "");
-Expect(1, 42191, '\p{^Is_Blk=lisu}', "");
-Expect(1, 42191, '\P{Is_Blk=lisu}', "");
-Expect(0, 42191, '\P{^Is_Blk=lisu}', "");
-Expect(1, 42239, '\p{Is_Blk= LISU}', "");
-Expect(0, 42239, '\p{^Is_Blk= LISU}', "");
-Expect(0, 42239, '\P{Is_Blk= LISU}', "");
-Expect(1, 42239, '\P{^Is_Blk= LISU}', "");
-Expect(0, 42191, '\p{Is_Blk= LISU}', "");
-Expect(1, 42191, '\p{^Is_Blk= LISU}', "");
-Expect(1, 42191, '\P{Is_Blk= LISU}', "");
-Expect(0, 42191, '\P{^Is_Blk= LISU}', "");
-Error('\p{Block: _-ARABIC PresentationFORMS:=A}');
-Error('\P{Block: _-ARABIC PresentationFORMS:=A}');
-Expect(1, 65023, '\p{Block=arabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^Block=arabicpresentationformsa}', "");
-Expect(0, 65023, '\P{Block=arabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^Block=arabicpresentationformsa}', "");
-Expect(0, 64335, '\p{Block=arabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^Block=arabicpresentationformsa}', "");
-Expect(1, 64335, '\P{Block=arabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^Block=arabicpresentationformsa}', "");
-Expect(1, 65023, '\p{Block=-Arabic Presentation-FORMSA}', "");
-Expect(0, 65023, '\p{^Block=-Arabic Presentation-FORMSA}', "");
-Expect(0, 65023, '\P{Block=-Arabic Presentation-FORMSA}', "");
-Expect(1, 65023, '\P{^Block=-Arabic Presentation-FORMSA}', "");
-Expect(0, 64335, '\p{Block=-Arabic Presentation-FORMSA}', "");
-Expect(1, 64335, '\p{^Block=-Arabic Presentation-FORMSA}', "");
-Expect(1, 64335, '\P{Block=-Arabic Presentation-FORMSA}', "");
-Expect(0, 64335, '\P{^Block=-Arabic Presentation-FORMSA}', "");
-Error('\p{Blk= :=Arabic-Presentation-Forms A}');
-Error('\P{Blk= :=Arabic-Presentation-Forms A}');
-Expect(1, 65023, '\p{Blk=arabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^Blk=arabicpresentationformsa}', "");
-Expect(0, 65023, '\P{Blk=arabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^Blk=arabicpresentationformsa}', "");
-Expect(0, 64335, '\p{Blk=arabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^Blk=arabicpresentationformsa}', "");
-Expect(1, 64335, '\P{Blk=arabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^Blk=arabicpresentationformsa}', "");
-Expect(1, 65023, '\p{Blk=ARABIC Presentation FORMSA}', "");
-Expect(0, 65023, '\p{^Blk=ARABIC Presentation FORMSA}', "");
-Expect(0, 65023, '\P{Blk=ARABIC Presentation FORMSA}', "");
-Expect(1, 65023, '\P{^Blk=ARABIC Presentation FORMSA}', "");
-Expect(0, 64335, '\p{Blk=ARABIC Presentation FORMSA}', "");
-Expect(1, 64335, '\p{^Blk=ARABIC Presentation FORMSA}', "");
-Expect(1, 64335, '\P{Blk=ARABIC Presentation FORMSA}', "");
-Expect(0, 64335, '\P{^Blk=ARABIC Presentation FORMSA}', "");
-Error('\p{Is_Block=_:=Arabic presentation forms-A}');
-Error('\P{Is_Block=_:=Arabic presentation forms-A}');
-Expect(1, 65023, '\p{Is_Block=arabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^Is_Block=arabicpresentationformsa}', "");
-Expect(0, 65023, '\P{Is_Block=arabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^Is_Block=arabicpresentationformsa}', "");
-Expect(0, 64335, '\p{Is_Block=arabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^Is_Block=arabicpresentationformsa}', "");
-Expect(1, 64335, '\P{Is_Block=arabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^Is_Block=arabicpresentationformsa}', "");
-Expect(1, 65023, '\p{Is_Block= Arabic-presentation Forms a}', "");
-Expect(0, 65023, '\p{^Is_Block= Arabic-presentation Forms a}', "");
-Expect(0, 65023, '\P{Is_Block= Arabic-presentation Forms a}', "");
-Expect(1, 65023, '\P{^Is_Block= Arabic-presentation Forms a}', "");
-Expect(0, 64335, '\p{Is_Block= Arabic-presentation Forms a}', "");
-Expect(1, 64335, '\p{^Is_Block= Arabic-presentation Forms a}', "");
-Expect(1, 64335, '\P{Is_Block= Arabic-presentation Forms a}', "");
-Expect(0, 64335, '\P{^Is_Block= Arabic-presentation Forms a}', "");
-Error('\p{Is_Blk=_Arabic-presentation Forms A:=}');
-Error('\P{Is_Blk=_Arabic-presentation Forms A:=}');
-Expect(1, 65023, '\p{Is_Blk: arabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^Is_Blk: arabicpresentationformsa}', "");
-Expect(0, 65023, '\P{Is_Blk: arabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^Is_Blk: arabicpresentationformsa}', "");
-Expect(0, 64335, '\p{Is_Blk: arabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^Is_Blk: arabicpresentationformsa}', "");
-Expect(1, 64335, '\P{Is_Blk: arabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^Is_Blk: arabicpresentationformsa}', "");
-Expect(1, 65023, '\p{Is_Blk= -arabicpresentationForms A}', "");
-Expect(0, 65023, '\p{^Is_Blk= -arabicpresentationForms A}', "");
-Expect(0, 65023, '\P{Is_Blk= -arabicpresentationForms A}', "");
-Expect(1, 65023, '\P{^Is_Blk= -arabicpresentationForms A}', "");
-Expect(0, 64335, '\p{Is_Blk= -arabicpresentationForms A}', "");
-Expect(1, 64335, '\p{^Is_Blk= -arabicpresentationForms A}', "");
-Expect(1, 64335, '\P{Is_Blk= -arabicpresentationForms A}', "");
-Expect(0, 64335, '\P{^Is_Blk= -arabicpresentationForms A}', "");
-Error('\p{Block=:=Taile}');
-Error('\P{Block=:=Taile}');
-Expect(1, 6527, '\p{Block: taile}', "");
-Expect(0, 6527, '\p{^Block: taile}', "");
-Expect(0, 6527, '\P{Block: taile}', "");
-Expect(1, 6527, '\P{^Block: taile}', "");
-Expect(0, 6479, '\p{Block: taile}', "");
-Expect(1, 6479, '\p{^Block: taile}', "");
-Expect(1, 6479, '\P{Block: taile}', "");
-Expect(0, 6479, '\P{^Block: taile}', "");
-Expect(1, 6527, '\p{Block= TaiLe}', "");
-Expect(0, 6527, '\p{^Block= TaiLe}', "");
-Expect(0, 6527, '\P{Block= TaiLe}', "");
-Expect(1, 6527, '\P{^Block= TaiLe}', "");
-Expect(0, 6479, '\p{Block= TaiLe}', "");
-Expect(1, 6479, '\p{^Block= TaiLe}', "");
-Expect(1, 6479, '\P{Block= TaiLe}', "");
-Expect(0, 6479, '\P{^Block= TaiLe}', "");
-Error('\p{Blk=-tai le/a/}');
-Error('\P{Blk=-tai le/a/}');
-Expect(1, 6527, '\p{Blk=taile}', "");
-Expect(0, 6527, '\p{^Blk=taile}', "");
-Expect(0, 6527, '\P{Blk=taile}', "");
-Expect(1, 6527, '\P{^Blk=taile}', "");
-Expect(0, 6479, '\p{Blk=taile}', "");
-Expect(1, 6479, '\p{^Blk=taile}', "");
-Expect(1, 6479, '\P{Blk=taile}', "");
-Expect(0, 6479, '\P{^Blk=taile}', "");
-Expect(1, 6527, '\p{Blk= Taile}', "");
-Expect(0, 6527, '\p{^Blk= Taile}', "");
-Expect(0, 6527, '\P{Blk= Taile}', "");
-Expect(1, 6527, '\P{^Blk= Taile}', "");
-Expect(0, 6479, '\p{Blk= Taile}', "");
-Expect(1, 6479, '\p{^Blk= Taile}', "");
-Expect(1, 6479, '\P{Blk= Taile}', "");
-Expect(0, 6479, '\P{^Blk= Taile}', "");
-Error('\p{Is_Block=/a/tai Le}');
-Error('\P{Is_Block=/a/tai Le}');
-Expect(1, 6527, '\p{Is_Block=taile}', "");
-Expect(0, 6527, '\p{^Is_Block=taile}', "");
-Expect(0, 6527, '\P{Is_Block=taile}', "");
-Expect(1, 6527, '\P{^Is_Block=taile}', "");
-Expect(0, 6479, '\p{Is_Block=taile}', "");
-Expect(1, 6479, '\p{^Is_Block=taile}', "");
-Expect(1, 6479, '\P{Is_Block=taile}', "");
-Expect(0, 6479, '\P{^Is_Block=taile}', "");
-Expect(1, 6527, '\p{Is_Block= _Tai le}', "");
-Expect(0, 6527, '\p{^Is_Block= _Tai le}', "");
-Expect(0, 6527, '\P{Is_Block= _Tai le}', "");
-Expect(1, 6527, '\P{^Is_Block= _Tai le}', "");
-Expect(0, 6479, '\p{Is_Block= _Tai le}', "");
-Expect(1, 6479, '\p{^Is_Block= _Tai le}', "");
-Expect(1, 6479, '\P{Is_Block= _Tai le}', "");
-Expect(0, 6479, '\P{^Is_Block= _Tai le}', "");
-Error('\p{Is_Blk=- TAI/a/LE}');
-Error('\P{Is_Blk=- TAI/a/LE}');
-Expect(1, 6527, '\p{Is_Blk=taile}', "");
-Expect(0, 6527, '\p{^Is_Blk=taile}', "");
-Expect(0, 6527, '\P{Is_Blk=taile}', "");
-Expect(1, 6527, '\P{^Is_Blk=taile}', "");
-Expect(0, 6479, '\p{Is_Blk=taile}', "");
-Expect(1, 6479, '\p{^Is_Blk=taile}', "");
-Expect(1, 6479, '\P{Is_Blk=taile}', "");
-Expect(0, 6479, '\P{^Is_Blk=taile}', "");
-Expect(1, 6527, '\p{Is_Blk=_Tai-le}', "");
-Expect(0, 6527, '\p{^Is_Blk=_Tai-le}', "");
-Expect(0, 6527, '\P{Is_Blk=_Tai-le}', "");
-Expect(1, 6527, '\P{^Is_Blk=_Tai-le}', "");
-Expect(0, 6479, '\p{Is_Blk=_Tai-le}', "");
-Expect(1, 6479, '\p{^Is_Blk=_Tai-le}', "");
-Expect(1, 6479, '\P{Is_Blk=_Tai-le}', "");
-Expect(0, 6479, '\P{^Is_Blk=_Tai-le}', "");
-Error('\p{Block= /a/Combining Diacritical Marks}');
-Error('\P{Block= /a/Combining Diacritical Marks}');
-Expect(1, 879, '\p{Block=combiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^Block=combiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{Block=combiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^Block=combiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{Block=combiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^Block=combiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{Block=combiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^Block=combiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(0, 879, '\p{^Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(0, 879, '\P{Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(1, 879, '\P{^Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(0, 767, '\p{Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(1, 767, '\p{^Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(1, 767, '\P{Block=-_Combining DIACRITICAL MARKS}', "");
-Expect(0, 767, '\P{^Block=-_Combining DIACRITICAL MARKS}', "");
-Error('\p{Blk=__COMBINING_DIACRITICAL:=Marks}');
-Error('\P{Blk=__COMBINING_DIACRITICAL:=Marks}');
-Expect(1, 879, '\p{Blk: combiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^Blk: combiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{Blk: combiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^Blk: combiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{Blk: combiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^Blk: combiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{Blk: combiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^Blk: combiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{Blk= COMBINING Diacritical marks}', "");
-Expect(0, 879, '\p{^Blk= COMBINING Diacritical marks}', "");
-Expect(0, 879, '\P{Blk= COMBINING Diacritical marks}', "");
-Expect(1, 879, '\P{^Blk= COMBINING Diacritical marks}', "");
-Expect(0, 767, '\p{Blk= COMBINING Diacritical marks}', "");
-Expect(1, 767, '\p{^Blk= COMBINING Diacritical marks}', "");
-Expect(1, 767, '\P{Blk= COMBINING Diacritical marks}', "");
-Expect(0, 767, '\P{^Blk= COMBINING Diacritical marks}', "");
-Error('\p{Is_Block=-Combining:=diacritical-MARKS}');
-Error('\P{Is_Block=-Combining:=diacritical-MARKS}');
-Expect(1, 879, '\p{Is_Block=combiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^Is_Block=combiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{Is_Block=combiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^Is_Block=combiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{Is_Block=combiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^Is_Block=combiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{Is_Block=combiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^Is_Block=combiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(0, 879, '\p{^Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(0, 879, '\P{Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(1, 879, '\P{^Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(0, 767, '\p{Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(1, 767, '\p{^Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(1, 767, '\P{Is_Block= _COMBINING_diacritical_Marks}', "");
-Expect(0, 767, '\P{^Is_Block= _COMBINING_diacritical_Marks}', "");
-Error('\p{Is_Blk= Combining_Diacritical:=Marks}');
-Error('\P{Is_Blk= Combining_Diacritical:=Marks}');
-Expect(1, 879, '\p{Is_Blk=combiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^Is_Blk=combiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{Is_Blk=combiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^Is_Blk=combiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{Is_Blk=combiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^Is_Blk=combiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{Is_Blk=combiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^Is_Blk=combiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{Is_Blk= Combining Diacritical_Marks}', "");
-Expect(0, 879, '\p{^Is_Blk= Combining Diacritical_Marks}', "");
-Expect(0, 879, '\P{Is_Blk= Combining Diacritical_Marks}', "");
-Expect(1, 879, '\P{^Is_Blk= Combining Diacritical_Marks}', "");
-Expect(0, 767, '\p{Is_Blk= Combining Diacritical_Marks}', "");
-Expect(1, 767, '\p{^Is_Blk= Combining Diacritical_Marks}', "");
-Expect(1, 767, '\P{Is_Blk= Combining Diacritical_Marks}', "");
-Expect(0, 767, '\P{^Is_Blk= Combining Diacritical_Marks}', "");
-Error('\p{Block: -Latin-extended-b:=}');
-Error('\P{Block: -Latin-extended-b:=}');
-Expect(1, 591, '\p{Block=latinextendedb}', "");
-Expect(0, 591, '\p{^Block=latinextendedb}', "");
-Expect(0, 591, '\P{Block=latinextendedb}', "");
-Expect(1, 591, '\P{^Block=latinextendedb}', "");
-Expect(0, 383, '\p{Block=latinextendedb}', "");
-Expect(1, 383, '\p{^Block=latinextendedb}', "");
-Expect(1, 383, '\P{Block=latinextendedb}', "");
-Expect(0, 383, '\P{^Block=latinextendedb}', "");
-Expect(1, 591, '\p{Block=-Latin extended_B}', "");
-Expect(0, 591, '\p{^Block=-Latin extended_B}', "");
-Expect(0, 591, '\P{Block=-Latin extended_B}', "");
-Expect(1, 591, '\P{^Block=-Latin extended_B}', "");
-Expect(0, 383, '\p{Block=-Latin extended_B}', "");
-Expect(1, 383, '\p{^Block=-Latin extended_B}', "");
-Expect(1, 383, '\P{Block=-Latin extended_B}', "");
-Expect(0, 383, '\P{^Block=-Latin extended_B}', "");
-Error('\p{Blk= :=latin extended-B}');
-Error('\P{Blk= :=latin extended-B}');
-Expect(1, 591, '\p{Blk=latinextendedb}', "");
-Expect(0, 591, '\p{^Blk=latinextendedb}', "");
-Expect(0, 591, '\P{Blk=latinextendedb}', "");
-Expect(1, 591, '\P{^Blk=latinextendedb}', "");
-Expect(0, 383, '\p{Blk=latinextendedb}', "");
-Expect(1, 383, '\p{^Blk=latinextendedb}', "");
-Expect(1, 383, '\P{Blk=latinextendedb}', "");
-Expect(0, 383, '\P{^Blk=latinextendedb}', "");
-Expect(1, 591, '\p{Blk= Latin-EXTENDED b}', "");
-Expect(0, 591, '\p{^Blk= Latin-EXTENDED b}', "");
-Expect(0, 591, '\P{Blk= Latin-EXTENDED b}', "");
-Expect(1, 591, '\P{^Blk= Latin-EXTENDED b}', "");
-Expect(0, 383, '\p{Blk= Latin-EXTENDED b}', "");
-Expect(1, 383, '\p{^Blk= Latin-EXTENDED b}', "");
-Expect(1, 383, '\P{Blk= Latin-EXTENDED b}', "");
-Expect(0, 383, '\P{^Blk= Latin-EXTENDED b}', "");
-Error('\p{Is_Block= Latin EXTENDED_b:=}');
-Error('\P{Is_Block= Latin EXTENDED_b:=}');
-Expect(1, 591, '\p{Is_Block=latinextendedb}', "");
-Expect(0, 591, '\p{^Is_Block=latinextendedb}', "");
-Expect(0, 591, '\P{Is_Block=latinextendedb}', "");
-Expect(1, 591, '\P{^Is_Block=latinextendedb}', "");
-Expect(0, 383, '\p{Is_Block=latinextendedb}', "");
-Expect(1, 383, '\p{^Is_Block=latinextendedb}', "");
-Expect(1, 383, '\P{Is_Block=latinextendedb}', "");
-Expect(0, 383, '\P{^Is_Block=latinextendedb}', "");
-Expect(1, 591, '\p{Is_Block= latin_ExtendedB}', "");
-Expect(0, 591, '\p{^Is_Block= latin_ExtendedB}', "");
-Expect(0, 591, '\P{Is_Block= latin_ExtendedB}', "");
-Expect(1, 591, '\P{^Is_Block= latin_ExtendedB}', "");
-Expect(0, 383, '\p{Is_Block= latin_ExtendedB}', "");
-Expect(1, 383, '\p{^Is_Block= latin_ExtendedB}', "");
-Expect(1, 383, '\P{Is_Block= latin_ExtendedB}', "");
-Expect(0, 383, '\P{^Is_Block= latin_ExtendedB}', "");
-Error('\p{Is_Blk=-_Latin/a/Extended_b}');
-Error('\P{Is_Blk=-_Latin/a/Extended_b}');
-Expect(1, 591, '\p{Is_Blk=latinextendedb}', "");
-Expect(0, 591, '\p{^Is_Blk=latinextendedb}', "");
-Expect(0, 591, '\P{Is_Blk=latinextendedb}', "");
-Expect(1, 591, '\P{^Is_Blk=latinextendedb}', "");
-Expect(0, 383, '\p{Is_Blk=latinextendedb}', "");
-Expect(1, 383, '\p{^Is_Blk=latinextendedb}', "");
-Expect(1, 383, '\P{Is_Blk=latinextendedb}', "");
-Expect(0, 383, '\P{^Is_Blk=latinextendedb}', "");
-Expect(1, 591, '\p{Is_Blk= -LATIN-Extended B}', "");
-Expect(0, 591, '\p{^Is_Blk= -LATIN-Extended B}', "");
-Expect(0, 591, '\P{Is_Blk= -LATIN-Extended B}', "");
-Expect(1, 591, '\P{^Is_Blk= -LATIN-Extended B}', "");
-Expect(0, 383, '\p{Is_Blk= -LATIN-Extended B}', "");
-Expect(1, 383, '\p{^Is_Blk= -LATIN-Extended B}', "");
-Expect(1, 383, '\P{Is_Blk= -LATIN-Extended B}', "");
-Expect(0, 383, '\P{^Is_Blk= -LATIN-Extended B}', "");
-Error('\p{Block=Supplemental:=ARROWSA}');
-Error('\P{Block=Supplemental:=ARROWSA}');
-Expect(1, 10239, '\p{Block=supplementalarrowsa}', "");
-Expect(0, 10239, '\p{^Block=supplementalarrowsa}', "");
-Expect(0, 10239, '\P{Block=supplementalarrowsa}', "");
-Expect(1, 10239, '\P{^Block=supplementalarrowsa}', "");
-Expect(0, 10223, '\p{Block=supplementalarrowsa}', "");
-Expect(1, 10223, '\p{^Block=supplementalarrowsa}', "");
-Expect(1, 10223, '\P{Block=supplementalarrowsa}', "");
-Expect(0, 10223, '\P{^Block=supplementalarrowsa}', "");
-Expect(1, 10239, '\p{Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(0, 10239, '\p{^Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(0, 10239, '\P{Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(1, 10239, '\P{^Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(0, 10223, '\p{Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(1, 10223, '\p{^Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(1, 10223, '\P{Block= -SUPPLEMENTAL_arrowsA}', "");
-Expect(0, 10223, '\P{^Block= -SUPPLEMENTAL_arrowsA}', "");
-Error('\p{Blk=/a/_supplementalArrows A}');
-Error('\P{Blk=/a/_supplementalArrows A}');
-Expect(1, 10239, '\p{Blk=supplementalarrowsa}', "");
-Expect(0, 10239, '\p{^Blk=supplementalarrowsa}', "");
-Expect(0, 10239, '\P{Blk=supplementalarrowsa}', "");
-Expect(1, 10239, '\P{^Blk=supplementalarrowsa}', "");
-Expect(0, 10223, '\p{Blk=supplementalarrowsa}', "");
-Expect(1, 10223, '\p{^Blk=supplementalarrowsa}', "");
-Expect(1, 10223, '\P{Blk=supplementalarrowsa}', "");
-Expect(0, 10223, '\P{^Blk=supplementalarrowsa}', "");
-Expect(1, 10239, '\p{Blk=__supplemental-Arrowsa}', "");
-Expect(0, 10239, '\p{^Blk=__supplemental-Arrowsa}', "");
-Expect(0, 10239, '\P{Blk=__supplemental-Arrowsa}', "");
-Expect(1, 10239, '\P{^Blk=__supplemental-Arrowsa}', "");
-Expect(0, 10223, '\p{Blk=__supplemental-Arrowsa}', "");
-Expect(1, 10223, '\p{^Blk=__supplemental-Arrowsa}', "");
-Expect(1, 10223, '\P{Blk=__supplemental-Arrowsa}', "");
-Expect(0, 10223, '\P{^Blk=__supplemental-Arrowsa}', "");
-Error('\p{Is_Block= SUPPLEMENTAL:=ARROWS_a}');
-Error('\P{Is_Block= SUPPLEMENTAL:=ARROWS_a}');
-Expect(1, 10239, '\p{Is_Block=supplementalarrowsa}', "");
-Expect(0, 10239, '\p{^Is_Block=supplementalarrowsa}', "");
-Expect(0, 10239, '\P{Is_Block=supplementalarrowsa}', "");
-Expect(1, 10239, '\P{^Is_Block=supplementalarrowsa}', "");
-Expect(0, 10223, '\p{Is_Block=supplementalarrowsa}', "");
-Expect(1, 10223, '\p{^Is_Block=supplementalarrowsa}', "");
-Expect(1, 10223, '\P{Is_Block=supplementalarrowsa}', "");
-Expect(0, 10223, '\P{^Is_Block=supplementalarrowsa}', "");
-Expect(1, 10239, '\p{Is_Block= supplementalArrowsA}', "");
-Expect(0, 10239, '\p{^Is_Block= supplementalArrowsA}', "");
-Expect(0, 10239, '\P{Is_Block= supplementalArrowsA}', "");
-Expect(1, 10239, '\P{^Is_Block= supplementalArrowsA}', "");
-Expect(0, 10223, '\p{Is_Block= supplementalArrowsA}', "");
-Expect(1, 10223, '\p{^Is_Block= supplementalArrowsA}', "");
-Expect(1, 10223, '\P{Is_Block= supplementalArrowsA}', "");
-Expect(0, 10223, '\P{^Is_Block= supplementalArrowsA}', "");
-Error('\p{Is_Blk: -Supplemental:=Arrows A}');
-Error('\P{Is_Blk: -Supplemental:=Arrows A}');
-Expect(1, 10239, '\p{Is_Blk=supplementalarrowsa}', "");
-Expect(0, 10239, '\p{^Is_Blk=supplementalarrowsa}', "");
-Expect(0, 10239, '\P{Is_Blk=supplementalarrowsa}', "");
-Expect(1, 10239, '\P{^Is_Blk=supplementalarrowsa}', "");
-Expect(0, 10223, '\p{Is_Blk=supplementalarrowsa}', "");
-Expect(1, 10223, '\p{^Is_Blk=supplementalarrowsa}', "");
-Expect(1, 10223, '\P{Is_Blk=supplementalarrowsa}', "");
-Expect(0, 10223, '\P{^Is_Blk=supplementalarrowsa}', "");
-Expect(1, 10239, '\p{Is_Blk= Supplemental ARROWS A}', "");
-Expect(0, 10239, '\p{^Is_Blk= Supplemental ARROWS A}', "");
-Expect(0, 10239, '\P{Is_Blk= Supplemental ARROWS A}', "");
-Expect(1, 10239, '\P{^Is_Blk= Supplemental ARROWS A}', "");
-Expect(0, 10223, '\p{Is_Blk= Supplemental ARROWS A}', "");
-Expect(1, 10223, '\p{^Is_Blk= Supplemental ARROWS A}', "");
-Expect(1, 10223, '\P{Is_Blk= Supplemental ARROWS A}', "");
-Expect(0, 10223, '\P{^Is_Blk= Supplemental ARROWS A}', "");
-Error('\p{Block=--Javanese/a/}');
-Error('\P{Block=--Javanese/a/}');
-Expect(1, 43487, '\p{Block=javanese}', "");
-Expect(0, 43487, '\p{^Block=javanese}', "");
-Expect(0, 43487, '\P{Block=javanese}', "");
-Expect(1, 43487, '\P{^Block=javanese}', "");
-Expect(0, 43391, '\p{Block=javanese}', "");
-Expect(1, 43391, '\p{^Block=javanese}', "");
-Expect(1, 43391, '\P{Block=javanese}', "");
-Expect(0, 43391, '\P{^Block=javanese}', "");
-Expect(1, 43487, '\p{Block=-javanese}', "");
-Expect(0, 43487, '\p{^Block=-javanese}', "");
-Expect(0, 43487, '\P{Block=-javanese}', "");
-Expect(1, 43487, '\P{^Block=-javanese}', "");
-Expect(0, 43391, '\p{Block=-javanese}', "");
-Expect(1, 43391, '\p{^Block=-javanese}', "");
-Expect(1, 43391, '\P{Block=-javanese}', "");
-Expect(0, 43391, '\P{^Block=-javanese}', "");
-Error('\p{Blk= -Javanese/a/}');
-Error('\P{Blk= -Javanese/a/}');
-Expect(1, 43487, '\p{Blk=javanese}', "");
-Expect(0, 43487, '\p{^Blk=javanese}', "");
-Expect(0, 43487, '\P{Blk=javanese}', "");
-Expect(1, 43487, '\P{^Blk=javanese}', "");
-Expect(0, 43391, '\p{Blk=javanese}', "");
-Expect(1, 43391, '\p{^Blk=javanese}', "");
-Expect(1, 43391, '\P{Blk=javanese}', "");
-Expect(0, 43391, '\P{^Blk=javanese}', "");
-Expect(1, 43487, '\p{Blk=_ javanese}', "");
-Expect(0, 43487, '\p{^Blk=_ javanese}', "");
-Expect(0, 43487, '\P{Blk=_ javanese}', "");
-Expect(1, 43487, '\P{^Blk=_ javanese}', "");
-Expect(0, 43391, '\p{Blk=_ javanese}', "");
-Expect(1, 43391, '\p{^Blk=_ javanese}', "");
-Expect(1, 43391, '\P{Blk=_ javanese}', "");
-Expect(0, 43391, '\P{^Blk=_ javanese}', "");
-Error('\p{Is_Block:_:=Javanese}');
-Error('\P{Is_Block:_:=Javanese}');
-Expect(1, 43487, '\p{Is_Block=javanese}', "");
-Expect(0, 43487, '\p{^Is_Block=javanese}', "");
-Expect(0, 43487, '\P{Is_Block=javanese}', "");
-Expect(1, 43487, '\P{^Is_Block=javanese}', "");
-Expect(0, 43391, '\p{Is_Block=javanese}', "");
-Expect(1, 43391, '\p{^Is_Block=javanese}', "");
-Expect(1, 43391, '\P{Is_Block=javanese}', "");
-Expect(0, 43391, '\P{^Is_Block=javanese}', "");
-Expect(1, 43487, '\p{Is_Block= Javanese}', "");
-Expect(0, 43487, '\p{^Is_Block= Javanese}', "");
-Expect(0, 43487, '\P{Is_Block= Javanese}', "");
-Expect(1, 43487, '\P{^Is_Block= Javanese}', "");
-Expect(0, 43391, '\p{Is_Block= Javanese}', "");
-Expect(1, 43391, '\p{^Is_Block= Javanese}', "");
-Expect(1, 43391, '\P{Is_Block= Javanese}', "");
-Expect(0, 43391, '\P{^Is_Block= Javanese}', "");
-Error('\p{Is_Blk= -Javanese:=}');
-Error('\P{Is_Blk= -Javanese:=}');
-Expect(1, 43487, '\p{Is_Blk=javanese}', "");
-Expect(0, 43487, '\p{^Is_Blk=javanese}', "");
-Expect(0, 43487, '\P{Is_Blk=javanese}', "");
-Expect(1, 43487, '\P{^Is_Blk=javanese}', "");
-Expect(0, 43391, '\p{Is_Blk=javanese}', "");
-Expect(1, 43391, '\p{^Is_Blk=javanese}', "");
-Expect(1, 43391, '\P{Is_Blk=javanese}', "");
-Expect(0, 43391, '\P{^Is_Blk=javanese}', "");
-Expect(1, 43487, '\p{Is_Blk=-Javanese}', "");
-Expect(0, 43487, '\p{^Is_Blk=-Javanese}', "");
-Expect(0, 43487, '\P{Is_Blk=-Javanese}', "");
-Expect(1, 43487, '\P{^Is_Blk=-Javanese}', "");
-Expect(0, 43391, '\p{Is_Blk=-Javanese}', "");
-Expect(1, 43391, '\p{^Is_Blk=-Javanese}', "");
-Expect(1, 43391, '\P{Is_Blk=-Javanese}', "");
-Expect(0, 43391, '\P{^Is_Blk=-Javanese}', "");
-Error('\p{Block=:=Supplementary-Private UseArea_A}');
-Error('\P{Block=:=Supplementary-Private UseArea_A}');
-Expect(1, 983040, '\p{Block=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^Block=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{Block=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^Block=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{Block=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^Block=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{Block=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^Block=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(0, 983040, '\p{^Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(0, 983040, '\P{Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(1, 983040, '\P{^Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(0, 1, '\p{Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(1, 1, '\p{^Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(1, 1, '\P{Block=- supplementary_PrivateUSE-Area_A}', "");
-Expect(0, 1, '\P{^Block=- supplementary_PrivateUSE-Area_A}', "");
-Error('\p{Blk=-Supplementary-PRIVATE Use area:=A}');
-Error('\P{Blk=-Supplementary-PRIVATE Use area:=A}');
-Expect(1, 983040, '\p{Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(0, 983040, '\p{^Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(0, 983040, '\P{Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(1, 983040, '\P{^Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(0, 1, '\p{Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(1, 1, '\p{^Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(1, 1, '\P{Blk=--SupplementaryPrivate Usearea_A}', "");
-Expect(0, 1, '\P{^Blk=--SupplementaryPrivate Usearea_A}', "");
-Error('\p{Is_Block=_Supplementary/a/PRIVATE USE AREA A}');
-Error('\P{Is_Block=_Supplementary/a/PRIVATE USE AREA A}');
-Expect(1, 983040, '\p{Is_Block=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^Is_Block=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{Is_Block=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^Is_Block=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{Is_Block=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^Is_Block=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{Is_Block=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^Is_Block=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{Is_Block= Supplementary Private_UseareaA}', "");
-Expect(0, 983040, '\p{^Is_Block= Supplementary Private_UseareaA}', "");
-Expect(0, 983040, '\P{Is_Block= Supplementary Private_UseareaA}', "");
-Expect(1, 983040, '\P{^Is_Block= Supplementary Private_UseareaA}', "");
-Expect(0, 1, '\p{Is_Block= Supplementary Private_UseareaA}', "");
-Expect(1, 1, '\p{^Is_Block= Supplementary Private_UseareaA}', "");
-Expect(1, 1, '\P{Is_Block= Supplementary Private_UseareaA}', "");
-Expect(0, 1, '\P{^Is_Block= Supplementary Private_UseareaA}', "");
-Error('\p{Is_Blk: /a/SUPPLEMENTARY PRIVATE_use-Area A}');
-Error('\P{Is_Blk: /a/SUPPLEMENTARY PRIVATE_use-Area A}');
-Expect(1, 983040, '\p{Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^Is_Blk=supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(0, 983040, '\p{^Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(0, 983040, '\P{Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(1, 983040, '\P{^Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(0, 1, '\p{Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(1, 1, '\p{^Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(1, 1, '\P{Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Expect(0, 1, '\P{^Is_Blk= SUPPLEMENTARY PRIVATE_use-Area-A}', "");
-Error('\p{Block=-:=hanunoo}');
-Error('\P{Block=-:=hanunoo}');
-Expect(1, 5951, '\p{Block=hanunoo}', "");
-Expect(0, 5951, '\p{^Block=hanunoo}', "");
-Expect(0, 5951, '\P{Block=hanunoo}', "");
-Expect(1, 5951, '\P{^Block=hanunoo}', "");
-Expect(0, 5919, '\p{Block=hanunoo}', "");
-Expect(1, 5919, '\p{^Block=hanunoo}', "");
-Expect(1, 5919, '\P{Block=hanunoo}', "");
-Expect(0, 5919, '\P{^Block=hanunoo}', "");
-Expect(1, 5951, '\p{Block=--Hanunoo}', "");
-Expect(0, 5951, '\p{^Block=--Hanunoo}', "");
-Expect(0, 5951, '\P{Block=--Hanunoo}', "");
-Expect(1, 5951, '\P{^Block=--Hanunoo}', "");
-Expect(0, 5919, '\p{Block=--Hanunoo}', "");
-Expect(1, 5919, '\p{^Block=--Hanunoo}', "");
-Expect(1, 5919, '\P{Block=--Hanunoo}', "");
-Expect(0, 5919, '\P{^Block=--Hanunoo}', "");
-Error('\p{Blk= hanunoo/a/}');
-Error('\P{Blk= hanunoo/a/}');
-Expect(1, 5951, '\p{Blk=hanunoo}', "");
-Expect(0, 5951, '\p{^Blk=hanunoo}', "");
-Expect(0, 5951, '\P{Blk=hanunoo}', "");
-Expect(1, 5951, '\P{^Blk=hanunoo}', "");
-Expect(0, 5919, '\p{Blk=hanunoo}', "");
-Expect(1, 5919, '\p{^Blk=hanunoo}', "");
-Expect(1, 5919, '\P{Blk=hanunoo}', "");
-Expect(0, 5919, '\P{^Blk=hanunoo}', "");
-Expect(1, 5951, '\p{Blk: HANUNOO}', "");
-Expect(0, 5951, '\p{^Blk: HANUNOO}', "");
-Expect(0, 5951, '\P{Blk: HANUNOO}', "");
-Expect(1, 5951, '\P{^Blk: HANUNOO}', "");
-Expect(0, 5919, '\p{Blk: HANUNOO}', "");
-Expect(1, 5919, '\p{^Blk: HANUNOO}', "");
-Expect(1, 5919, '\P{Blk: HANUNOO}', "");
-Expect(0, 5919, '\P{^Blk: HANUNOO}', "");
-Error('\p{Is_Block= Hanunoo/a/}');
-Error('\P{Is_Block= Hanunoo/a/}');
-Expect(1, 5951, '\p{Is_Block=hanunoo}', "");
-Expect(0, 5951, '\p{^Is_Block=hanunoo}', "");
-Expect(0, 5951, '\P{Is_Block=hanunoo}', "");
-Expect(1, 5951, '\P{^Is_Block=hanunoo}', "");
-Expect(0, 5919, '\p{Is_Block=hanunoo}', "");
-Expect(1, 5919, '\p{^Is_Block=hanunoo}', "");
-Expect(1, 5919, '\P{Is_Block=hanunoo}', "");
-Expect(0, 5919, '\P{^Is_Block=hanunoo}', "");
-Expect(1, 5951, '\p{Is_Block= Hanunoo}', "");
-Expect(0, 5951, '\p{^Is_Block= Hanunoo}', "");
-Expect(0, 5951, '\P{Is_Block= Hanunoo}', "");
-Expect(1, 5951, '\P{^Is_Block= Hanunoo}', "");
-Expect(0, 5919, '\p{Is_Block= Hanunoo}', "");
-Expect(1, 5919, '\p{^Is_Block= Hanunoo}', "");
-Expect(1, 5919, '\P{Is_Block= Hanunoo}', "");
-Expect(0, 5919, '\P{^Is_Block= Hanunoo}', "");
-Error('\p{Is_Blk=/a/_ HANUNOO}');
-Error('\P{Is_Blk=/a/_ HANUNOO}');
-Expect(1, 5951, '\p{Is_Blk=hanunoo}', "");
-Expect(0, 5951, '\p{^Is_Blk=hanunoo}', "");
-Expect(0, 5951, '\P{Is_Blk=hanunoo}', "");
-Expect(1, 5951, '\P{^Is_Blk=hanunoo}', "");
-Expect(0, 5919, '\p{Is_Blk=hanunoo}', "");
-Expect(1, 5919, '\p{^Is_Blk=hanunoo}', "");
-Expect(1, 5919, '\P{Is_Blk=hanunoo}', "");
-Expect(0, 5919, '\P{^Is_Blk=hanunoo}', "");
-Expect(1, 5951, '\p{Is_Blk=-Hanunoo}', "");
-Expect(0, 5951, '\p{^Is_Blk=-Hanunoo}', "");
-Expect(0, 5951, '\P{Is_Blk=-Hanunoo}', "");
-Expect(1, 5951, '\P{^Is_Blk=-Hanunoo}', "");
-Expect(0, 5919, '\p{Is_Blk=-Hanunoo}', "");
-Expect(1, 5919, '\p{^Is_Blk=-Hanunoo}', "");
-Expect(1, 5919, '\P{Is_Blk=-Hanunoo}', "");
-Expect(0, 5919, '\P{^Is_Blk=-Hanunoo}', "");
-Error('\p{Block=_/a/low surrogates}');
-Error('\P{Block=_/a/low surrogates}');
-Expect(0, 1, '\p{Block=lowsurrogates}', "");
-Expect(1, 1, '\p{^Block=lowsurrogates}', "");
-Expect(1, 1, '\P{Block=lowsurrogates}', "");
-Expect(0, 1, '\P{^Block=lowsurrogates}', "");
-Expect(0, 1, '\p{Block=--LOW Surrogates}', "");
-Expect(1, 1, '\p{^Block=--LOW Surrogates}', "");
-Expect(1, 1, '\P{Block=--LOW Surrogates}', "");
-Expect(0, 1, '\P{^Block=--LOW Surrogates}', "");
-Error('\p{Blk=-_Low:=Surrogates}');
-Error('\P{Blk=-_Low:=Surrogates}');
-Expect(0, 1, '\p{Blk=lowsurrogates}', "");
-Expect(1, 1, '\p{^Blk=lowsurrogates}', "");
-Expect(1, 1, '\P{Blk=lowsurrogates}', "");
-Expect(0, 1, '\P{^Blk=lowsurrogates}', "");
-Expect(0, 1, '\p{Blk= LowSurrogates}', "");
-Expect(1, 1, '\p{^Blk= LowSurrogates}', "");
-Expect(1, 1, '\P{Blk= LowSurrogates}', "");
-Expect(0, 1, '\P{^Blk= LowSurrogates}', "");
-Error('\p{Is_Block=/a/ Low Surrogates}');
-Error('\P{Is_Block=/a/ Low Surrogates}');
-Expect(0, 1, '\p{Is_Block=lowsurrogates}', "");
-Expect(1, 1, '\p{^Is_Block=lowsurrogates}', "");
-Expect(1, 1, '\P{Is_Block=lowsurrogates}', "");
-Expect(0, 1, '\P{^Is_Block=lowsurrogates}', "");
-Expect(0, 1, '\p{Is_Block=_ low Surrogates}', "");
-Expect(1, 1, '\p{^Is_Block=_ low Surrogates}', "");
-Expect(1, 1, '\P{Is_Block=_ low Surrogates}', "");
-Expect(0, 1, '\P{^Is_Block=_ low Surrogates}', "");
-Error('\p{Is_Blk=- LOW-Surrogates/a/}');
-Error('\P{Is_Blk=- LOW-Surrogates/a/}');
-Expect(0, 1, '\p{Is_Blk=lowsurrogates}', "");
-Expect(1, 1, '\p{^Is_Blk=lowsurrogates}', "");
-Expect(1, 1, '\P{Is_Blk=lowsurrogates}', "");
-Expect(0, 1, '\P{^Is_Blk=lowsurrogates}', "");
-Expect(0, 1, '\p{Is_Blk=_ low-Surrogates}', "");
-Expect(1, 1, '\p{^Is_Blk=_ low-Surrogates}', "");
-Expect(1, 1, '\P{Is_Blk=_ low-Surrogates}', "");
-Expect(0, 1, '\P{^Is_Blk=_ low-Surrogates}', "");
-Error('\p{Block= /a/Katakana}');
-Error('\P{Block= /a/Katakana}');
-Expect(1, 12543, '\p{Block=katakana}', "");
-Expect(0, 12543, '\p{^Block=katakana}', "");
-Expect(0, 12543, '\P{Block=katakana}', "");
-Expect(1, 12543, '\P{^Block=katakana}', "");
-Expect(0, 12447, '\p{Block=katakana}', "");
-Expect(1, 12447, '\p{^Block=katakana}', "");
-Expect(1, 12447, '\P{Block=katakana}', "");
-Expect(0, 12447, '\P{^Block=katakana}', "");
-Expect(1, 12543, '\p{Block= KATAKANA}', "");
-Expect(0, 12543, '\p{^Block= KATAKANA}', "");
-Expect(0, 12543, '\P{Block= KATAKANA}', "");
-Expect(1, 12543, '\P{^Block= KATAKANA}', "");
-Expect(0, 12447, '\p{Block= KATAKANA}', "");
-Expect(1, 12447, '\p{^Block= KATAKANA}', "");
-Expect(1, 12447, '\P{Block= KATAKANA}', "");
-Expect(0, 12447, '\P{^Block= KATAKANA}', "");
-Error('\p{Blk: katakana/a/}');
-Error('\P{Blk: katakana/a/}');
-Expect(1, 12543, '\p{Blk=katakana}', "");
-Expect(0, 12543, '\p{^Blk=katakana}', "");
-Expect(0, 12543, '\P{Blk=katakana}', "");
-Expect(1, 12543, '\P{^Blk=katakana}', "");
-Expect(0, 12447, '\p{Blk=katakana}', "");
-Expect(1, 12447, '\p{^Blk=katakana}', "");
-Expect(1, 12447, '\P{Blk=katakana}', "");
-Expect(0, 12447, '\P{^Blk=katakana}', "");
-Expect(1, 12543, '\p{Blk:-Katakana}', "");
-Expect(0, 12543, '\p{^Blk:-Katakana}', "");
-Expect(0, 12543, '\P{Blk:-Katakana}', "");
-Expect(1, 12543, '\P{^Blk:-Katakana}', "");
-Expect(0, 12447, '\p{Blk:-Katakana}', "");
-Expect(1, 12447, '\p{^Blk:-Katakana}', "");
-Expect(1, 12447, '\P{Blk:-Katakana}', "");
-Expect(0, 12447, '\P{^Blk:-Katakana}', "");
-Error('\p{Is_Block=-KATAKANA:=}');
-Error('\P{Is_Block=-KATAKANA:=}');
-Expect(1, 12543, '\p{Is_Block=katakana}', "");
-Expect(0, 12543, '\p{^Is_Block=katakana}', "");
-Expect(0, 12543, '\P{Is_Block=katakana}', "");
-Expect(1, 12543, '\P{^Is_Block=katakana}', "");
-Expect(0, 12447, '\p{Is_Block=katakana}', "");
-Expect(1, 12447, '\p{^Is_Block=katakana}', "");
-Expect(1, 12447, '\P{Is_Block=katakana}', "");
-Expect(0, 12447, '\P{^Is_Block=katakana}', "");
-Expect(1, 12543, '\p{Is_Block= _Katakana}', "");
-Expect(0, 12543, '\p{^Is_Block= _Katakana}', "");
-Expect(0, 12543, '\P{Is_Block= _Katakana}', "");
-Expect(1, 12543, '\P{^Is_Block= _Katakana}', "");
-Expect(0, 12447, '\p{Is_Block= _Katakana}', "");
-Expect(1, 12447, '\p{^Is_Block= _Katakana}', "");
-Expect(1, 12447, '\P{Is_Block= _Katakana}', "");
-Expect(0, 12447, '\P{^Is_Block= _Katakana}', "");
-Error('\p{Is_Blk=:= KATAKANA}');
-Error('\P{Is_Blk=:= KATAKANA}');
-Expect(1, 12543, '\p{Is_Blk=katakana}', "");
-Expect(0, 12543, '\p{^Is_Blk=katakana}', "");
-Expect(0, 12543, '\P{Is_Blk=katakana}', "");
-Expect(1, 12543, '\P{^Is_Blk=katakana}', "");
-Expect(0, 12447, '\p{Is_Blk=katakana}', "");
-Expect(1, 12447, '\p{^Is_Blk=katakana}', "");
-Expect(1, 12447, '\P{Is_Blk=katakana}', "");
-Expect(0, 12447, '\P{^Is_Blk=katakana}', "");
-Expect(1, 12543, '\p{Is_Blk: Katakana}', "");
-Expect(0, 12543, '\p{^Is_Blk: Katakana}', "");
-Expect(0, 12543, '\P{Is_Blk: Katakana}', "");
-Expect(1, 12543, '\P{^Is_Blk: Katakana}', "");
-Expect(0, 12447, '\p{Is_Blk: Katakana}', "");
-Expect(1, 12447, '\p{^Is_Blk: Katakana}', "");
-Expect(1, 12447, '\P{Is_Blk: Katakana}', "");
-Expect(0, 12447, '\P{^Is_Blk: Katakana}', "");
-Error('\p{Block=/a/Cuneiform}');
-Error('\P{Block=/a/Cuneiform}');
-Expect(1, 74751, '\p{Block=cuneiform}', "");
-Expect(0, 74751, '\p{^Block=cuneiform}', "");
-Expect(0, 74751, '\P{Block=cuneiform}', "");
-Expect(1, 74751, '\P{^Block=cuneiform}', "");
-Expect(0, 73727, '\p{Block=cuneiform}', "");
-Expect(1, 73727, '\p{^Block=cuneiform}', "");
-Expect(1, 73727, '\P{Block=cuneiform}', "");
-Expect(0, 73727, '\P{^Block=cuneiform}', "");
-Expect(1, 74751, '\p{Block= -cuneiform}', "");
-Expect(0, 74751, '\p{^Block= -cuneiform}', "");
-Expect(0, 74751, '\P{Block= -cuneiform}', "");
-Expect(1, 74751, '\P{^Block= -cuneiform}', "");
-Expect(0, 73727, '\p{Block= -cuneiform}', "");
-Expect(1, 73727, '\p{^Block= -cuneiform}', "");
-Expect(1, 73727, '\P{Block= -cuneiform}', "");
-Expect(0, 73727, '\P{^Block= -cuneiform}', "");
-Error('\p{Blk=- CUNEIFORM/a/}');
-Error('\P{Blk=- CUNEIFORM/a/}');
-Expect(1, 74751, '\p{Blk=cuneiform}', "");
-Expect(0, 74751, '\p{^Blk=cuneiform}', "");
-Expect(0, 74751, '\P{Blk=cuneiform}', "");
-Expect(1, 74751, '\P{^Blk=cuneiform}', "");
-Expect(0, 73727, '\p{Blk=cuneiform}', "");
-Expect(1, 73727, '\p{^Blk=cuneiform}', "");
-Expect(1, 73727, '\P{Blk=cuneiform}', "");
-Expect(0, 73727, '\P{^Blk=cuneiform}', "");
-Expect(1, 74751, '\p{Blk: CUNEIFORM}', "");
-Expect(0, 74751, '\p{^Blk: CUNEIFORM}', "");
-Expect(0, 74751, '\P{Blk: CUNEIFORM}', "");
-Expect(1, 74751, '\P{^Blk: CUNEIFORM}', "");
-Expect(0, 73727, '\p{Blk: CUNEIFORM}', "");
-Expect(1, 73727, '\p{^Blk: CUNEIFORM}', "");
-Expect(1, 73727, '\P{Blk: CUNEIFORM}', "");
-Expect(0, 73727, '\P{^Blk: CUNEIFORM}', "");
-Error('\p{Is_Block: CUNEIFORM:=}');
-Error('\P{Is_Block: CUNEIFORM:=}');
-Expect(1, 74751, '\p{Is_Block=cuneiform}', "");
-Expect(0, 74751, '\p{^Is_Block=cuneiform}', "");
-Expect(0, 74751, '\P{Is_Block=cuneiform}', "");
-Expect(1, 74751, '\P{^Is_Block=cuneiform}', "");
-Expect(0, 73727, '\p{Is_Block=cuneiform}', "");
-Expect(1, 73727, '\p{^Is_Block=cuneiform}', "");
-Expect(1, 73727, '\P{Is_Block=cuneiform}', "");
-Expect(0, 73727, '\P{^Is_Block=cuneiform}', "");
-Expect(1, 74751, '\p{Is_Block= -CUNEIFORM}', "");
-Expect(0, 74751, '\p{^Is_Block= -CUNEIFORM}', "");
-Expect(0, 74751, '\P{Is_Block= -CUNEIFORM}', "");
-Expect(1, 74751, '\P{^Is_Block= -CUNEIFORM}', "");
-Expect(0, 73727, '\p{Is_Block= -CUNEIFORM}', "");
-Expect(1, 73727, '\p{^Is_Block= -CUNEIFORM}', "");
-Expect(1, 73727, '\P{Is_Block= -CUNEIFORM}', "");
-Expect(0, 73727, '\P{^Is_Block= -CUNEIFORM}', "");
-Error('\p{Is_Blk=:= -CUNEIFORM}');
-Error('\P{Is_Blk=:= -CUNEIFORM}');
-Expect(1, 74751, '\p{Is_Blk=cuneiform}', "");
-Expect(0, 74751, '\p{^Is_Blk=cuneiform}', "");
-Expect(0, 74751, '\P{Is_Blk=cuneiform}', "");
-Expect(1, 74751, '\P{^Is_Blk=cuneiform}', "");
-Expect(0, 73727, '\p{Is_Blk=cuneiform}', "");
-Expect(1, 73727, '\p{^Is_Blk=cuneiform}', "");
-Expect(1, 73727, '\P{Is_Blk=cuneiform}', "");
-Expect(0, 73727, '\P{^Is_Blk=cuneiform}', "");
-Expect(1, 74751, '\p{Is_Blk: -cuneiform}', "");
-Expect(0, 74751, '\p{^Is_Blk: -cuneiform}', "");
-Expect(0, 74751, '\P{Is_Blk: -cuneiform}', "");
-Expect(1, 74751, '\P{^Is_Blk: -cuneiform}', "");
-Expect(0, 73727, '\p{Is_Blk: -cuneiform}', "");
-Expect(1, 73727, '\p{^Is_Blk: -cuneiform}', "");
-Expect(1, 73727, '\P{Is_Blk: -cuneiform}', "");
-Expect(0, 73727, '\P{^Is_Blk: -cuneiform}', "");
-Error('\p{Block= High/a/SURROGATES}');
-Error('\P{Block= High/a/SURROGATES}');
-Expect(0, 55295, '\p{Block=highsurrogates}', "");
-Expect(1, 55295, '\p{^Block=highsurrogates}', "");
-Expect(1, 55295, '\P{Block=highsurrogates}', "");
-Expect(0, 55295, '\P{^Block=highsurrogates}', "");
-Expect(0, 55295, '\p{Block= high Surrogates}', "");
-Expect(1, 55295, '\p{^Block= high Surrogates}', "");
-Expect(1, 55295, '\P{Block= high Surrogates}', "");
-Expect(0, 55295, '\P{^Block= high Surrogates}', "");
-Error('\p{Blk=-High/a/Surrogates}');
-Error('\P{Blk=-High/a/Surrogates}');
-Expect(0, 55295, '\p{Blk=highsurrogates}', "");
-Expect(1, 55295, '\p{^Blk=highsurrogates}', "");
-Expect(1, 55295, '\P{Blk=highsurrogates}', "");
-Expect(0, 55295, '\P{^Blk=highsurrogates}', "");
-Expect(0, 55295, '\p{Blk=high_surrogates}', "");
-Expect(1, 55295, '\p{^Blk=high_surrogates}', "");
-Expect(1, 55295, '\P{Blk=high_surrogates}', "");
-Expect(0, 55295, '\P{^Blk=high_surrogates}', "");
-Error('\p{Is_Block=- High/a/Surrogates}');
-Error('\P{Is_Block=- High/a/Surrogates}');
-Expect(0, 55295, '\p{Is_Block=highsurrogates}', "");
-Expect(1, 55295, '\p{^Is_Block=highsurrogates}', "");
-Expect(1, 55295, '\P{Is_Block=highsurrogates}', "");
-Expect(0, 55295, '\P{^Is_Block=highsurrogates}', "");
-Expect(0, 55295, '\p{Is_Block= highSurrogates}', "");
-Expect(1, 55295, '\p{^Is_Block= highSurrogates}', "");
-Expect(1, 55295, '\P{Is_Block= highSurrogates}', "");
-Expect(0, 55295, '\P{^Is_Block= highSurrogates}', "");
-Error('\p{Is_Blk=--High-Surrogates/a/}');
-Error('\P{Is_Blk=--High-Surrogates/a/}');
-Expect(0, 55295, '\p{Is_Blk=highsurrogates}', "");
-Expect(1, 55295, '\p{^Is_Blk=highsurrogates}', "");
-Expect(1, 55295, '\P{Is_Blk=highsurrogates}', "");
-Expect(0, 55295, '\P{^Is_Blk=highsurrogates}', "");
-Expect(0, 55295, '\p{Is_Blk=_ highSURROGATES}', "");
-Expect(1, 55295, '\p{^Is_Blk=_ highSURROGATES}', "");
-Expect(1, 55295, '\P{Is_Blk=_ highSURROGATES}', "");
-Expect(0, 55295, '\P{^Is_Blk=_ highSURROGATES}', "");
-Error('\p{Block=:= rumi-NUMERAL SYMBOLS}');
-Error('\P{Block=:= rumi-NUMERAL SYMBOLS}');
-Expect(1, 69247, '\p{Block=ruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^Block=ruminumeralsymbols}', "");
-Expect(0, 69247, '\P{Block=ruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^Block=ruminumeralsymbols}', "");
-Expect(0, 69215, '\p{Block=ruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^Block=ruminumeralsymbols}', "");
-Expect(1, 69215, '\P{Block=ruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^Block=ruminumeralsymbols}', "");
-Expect(1, 69247, '\p{Block= Rumi-Numeral SYMBOLS}', "");
-Expect(0, 69247, '\p{^Block= Rumi-Numeral SYMBOLS}', "");
-Expect(0, 69247, '\P{Block= Rumi-Numeral SYMBOLS}', "");
-Expect(1, 69247, '\P{^Block= Rumi-Numeral SYMBOLS}', "");
-Expect(0, 69215, '\p{Block= Rumi-Numeral SYMBOLS}', "");
-Expect(1, 69215, '\p{^Block= Rumi-Numeral SYMBOLS}', "");
-Expect(1, 69215, '\P{Block= Rumi-Numeral SYMBOLS}', "");
-Expect(0, 69215, '\P{^Block= Rumi-Numeral SYMBOLS}', "");
-Error('\p{Blk=:= RUMI Numeralsymbols}');
-Error('\P{Blk=:= RUMI Numeralsymbols}');
-Expect(1, 69247, '\p{Blk=ruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^Blk=ruminumeralsymbols}', "");
-Expect(0, 69247, '\P{Blk=ruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^Blk=ruminumeralsymbols}', "");
-Expect(0, 69215, '\p{Blk=ruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^Blk=ruminumeralsymbols}', "");
-Expect(1, 69215, '\P{Blk=ruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^Blk=ruminumeralsymbols}', "");
-Expect(1, 69247, '\p{Blk=_-RumiNumeral-symbols}', "");
-Expect(0, 69247, '\p{^Blk=_-RumiNumeral-symbols}', "");
-Expect(0, 69247, '\P{Blk=_-RumiNumeral-symbols}', "");
-Expect(1, 69247, '\P{^Blk=_-RumiNumeral-symbols}', "");
-Expect(0, 69215, '\p{Blk=_-RumiNumeral-symbols}', "");
-Expect(1, 69215, '\p{^Blk=_-RumiNumeral-symbols}', "");
-Expect(1, 69215, '\P{Blk=_-RumiNumeral-symbols}', "");
-Expect(0, 69215, '\P{^Blk=_-RumiNumeral-symbols}', "");
-Error('\p{Is_Block=/a/Rumi-NumeralSYMBOLS}');
-Error('\P{Is_Block=/a/Rumi-NumeralSYMBOLS}');
-Expect(1, 69247, '\p{Is_Block=ruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^Is_Block=ruminumeralsymbols}', "");
-Expect(0, 69247, '\P{Is_Block=ruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^Is_Block=ruminumeralsymbols}', "");
-Expect(0, 69215, '\p{Is_Block=ruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^Is_Block=ruminumeralsymbols}', "");
-Expect(1, 69215, '\P{Is_Block=ruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^Is_Block=ruminumeralsymbols}', "");
-Expect(1, 69247, '\p{Is_Block= Rumi_Numeral Symbols}', "");
-Expect(0, 69247, '\p{^Is_Block= Rumi_Numeral Symbols}', "");
-Expect(0, 69247, '\P{Is_Block= Rumi_Numeral Symbols}', "");
-Expect(1, 69247, '\P{^Is_Block= Rumi_Numeral Symbols}', "");
-Expect(0, 69215, '\p{Is_Block= Rumi_Numeral Symbols}', "");
-Expect(1, 69215, '\p{^Is_Block= Rumi_Numeral Symbols}', "");
-Expect(1, 69215, '\P{Is_Block= Rumi_Numeral Symbols}', "");
-Expect(0, 69215, '\P{^Is_Block= Rumi_Numeral Symbols}', "");
-Error('\p{Is_Blk= _RUMI-NUMERAL:=Symbols}');
-Error('\P{Is_Blk= _RUMI-NUMERAL:=Symbols}');
-Expect(1, 69247, '\p{Is_Blk=ruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^Is_Blk=ruminumeralsymbols}', "");
-Expect(0, 69247, '\P{Is_Blk=ruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^Is_Blk=ruminumeralsymbols}', "");
-Expect(0, 69215, '\p{Is_Blk=ruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^Is_Blk=ruminumeralsymbols}', "");
-Expect(1, 69215, '\P{Is_Blk=ruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^Is_Blk=ruminumeralsymbols}', "");
-Expect(1, 69247, '\p{Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(0, 69247, '\p{^Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(0, 69247, '\P{Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(1, 69247, '\P{^Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(0, 69215, '\p{Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(1, 69215, '\p{^Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(1, 69215, '\P{Is_Blk=--RUMI Numeral-Symbols}', "");
-Expect(0, 69215, '\P{^Is_Blk=--RUMI Numeral-Symbols}', "");
-Error('\p{Block=:= _variation selectors SUPPLEMENT}');
-Error('\P{Block=:= _variation selectors SUPPLEMENT}');
-Expect(1, 917999, '\p{Block=variationselectorssupplement}', "");
-Expect(0, 917999, '\p{^Block=variationselectorssupplement}', "");
-Expect(0, 917999, '\P{Block=variationselectorssupplement}', "");
-Expect(1, 917999, '\P{^Block=variationselectorssupplement}', "");
-Expect(0, 917759, '\p{Block=variationselectorssupplement}', "");
-Expect(1, 917759, '\p{^Block=variationselectorssupplement}', "");
-Expect(1, 917759, '\P{Block=variationselectorssupplement}', "");
-Expect(0, 917759, '\P{^Block=variationselectorssupplement}', "");
-Expect(1, 917999, '\p{Block=- Variation_SELECTORSsupplement}', "");
-Expect(0, 917999, '\p{^Block=- Variation_SELECTORSsupplement}', "");
-Expect(0, 917999, '\P{Block=- Variation_SELECTORSsupplement}', "");
-Expect(1, 917999, '\P{^Block=- Variation_SELECTORSsupplement}', "");
-Expect(0, 917759, '\p{Block=- Variation_SELECTORSsupplement}', "");
-Expect(1, 917759, '\p{^Block=- Variation_SELECTORSsupplement}', "");
-Expect(1, 917759, '\P{Block=- Variation_SELECTORSsupplement}', "");
-Expect(0, 917759, '\P{^Block=- Variation_SELECTORSsupplement}', "");
-Error('\p{Blk=/a/ -Variation selectorssupplement}');
-Error('\P{Blk=/a/ -Variation selectorssupplement}');
-Expect(1, 917999, '\p{Blk=variationselectorssupplement}', "");
-Expect(0, 917999, '\p{^Blk=variationselectorssupplement}', "");
-Expect(0, 917999, '\P{Blk=variationselectorssupplement}', "");
-Expect(1, 917999, '\P{^Blk=variationselectorssupplement}', "");
-Expect(0, 917759, '\p{Blk=variationselectorssupplement}', "");
-Expect(1, 917759, '\p{^Blk=variationselectorssupplement}', "");
-Expect(1, 917759, '\P{Blk=variationselectorssupplement}', "");
-Expect(0, 917759, '\P{^Blk=variationselectorssupplement}', "");
-Expect(1, 917999, '\p{Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(0, 917999, '\p{^Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(0, 917999, '\P{Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(1, 917999, '\P{^Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(0, 917759, '\p{Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(1, 917759, '\p{^Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(1, 917759, '\P{Blk= -variationSELECTORS SUPPLEMENT}', "");
-Expect(0, 917759, '\P{^Blk= -variationSELECTORS SUPPLEMENT}', "");
-Error('\p{Is_Block= variation:=SELECTORSSupplement}');
-Error('\P{Is_Block= variation:=SELECTORSSupplement}');
-Expect(1, 917999, '\p{Is_Block=variationselectorssupplement}', "");
-Expect(0, 917999, '\p{^Is_Block=variationselectorssupplement}', "");
-Expect(0, 917999, '\P{Is_Block=variationselectorssupplement}', "");
-Expect(1, 917999, '\P{^Is_Block=variationselectorssupplement}', "");
-Expect(0, 917759, '\p{Is_Block=variationselectorssupplement}', "");
-Expect(1, 917759, '\p{^Is_Block=variationselectorssupplement}', "");
-Expect(1, 917759, '\P{Is_Block=variationselectorssupplement}', "");
-Expect(0, 917759, '\P{^Is_Block=variationselectorssupplement}', "");
-Expect(1, 917999, '\p{Is_Block: --variation Selectors Supplement}', "");
-Expect(0, 917999, '\p{^Is_Block: --variation Selectors Supplement}', "");
-Expect(0, 917999, '\P{Is_Block: --variation Selectors Supplement}', "");
-Expect(1, 917999, '\P{^Is_Block: --variation Selectors Supplement}', "");
-Expect(0, 917759, '\p{Is_Block: --variation Selectors Supplement}', "");
-Expect(1, 917759, '\p{^Is_Block: --variation Selectors Supplement}', "");
-Expect(1, 917759, '\P{Is_Block: --variation Selectors Supplement}', "");
-Expect(0, 917759, '\P{^Is_Block: --variation Selectors Supplement}', "");
-Error('\p{Is_Blk=- VARIATIONSelectors:=Supplement}');
-Error('\P{Is_Blk=- VARIATIONSelectors:=Supplement}');
-Expect(1, 917999, '\p{Is_Blk=variationselectorssupplement}', "");
-Expect(0, 917999, '\p{^Is_Blk=variationselectorssupplement}', "");
-Expect(0, 917999, '\P{Is_Blk=variationselectorssupplement}', "");
-Expect(1, 917999, '\P{^Is_Blk=variationselectorssupplement}', "");
-Expect(0, 917759, '\p{Is_Blk=variationselectorssupplement}', "");
-Expect(1, 917759, '\p{^Is_Blk=variationselectorssupplement}', "");
-Expect(1, 917759, '\P{Is_Blk=variationselectorssupplement}', "");
-Expect(0, 917759, '\P{^Is_Blk=variationselectorssupplement}', "");
-Expect(1, 917999, '\p{Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(0, 917999, '\p{^Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(0, 917999, '\P{Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(1, 917999, '\P{^Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(0, 917759, '\p{Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(1, 917759, '\p{^Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(1, 917759, '\P{Is_Blk=_ Variation Selectors_supplement}', "");
-Expect(0, 917759, '\P{^Is_Blk=_ Variation Selectors_supplement}', "");
-Error('\p{Block=_ Georgian:=Supplement}');
-Error('\P{Block=_ Georgian:=Supplement}');
-Expect(1, 11567, '\p{Block=georgiansupplement}', "");
-Expect(0, 11567, '\p{^Block=georgiansupplement}', "");
-Expect(0, 11567, '\P{Block=georgiansupplement}', "");
-Expect(1, 11567, '\P{^Block=georgiansupplement}', "");
-Expect(0, 11519, '\p{Block=georgiansupplement}', "");
-Expect(1, 11519, '\p{^Block=georgiansupplement}', "");
-Expect(1, 11519, '\P{Block=georgiansupplement}', "");
-Expect(0, 11519, '\P{^Block=georgiansupplement}', "");
-Expect(1, 11567, '\p{Block= Georgian supplement}', "");
-Expect(0, 11567, '\p{^Block= Georgian supplement}', "");
-Expect(0, 11567, '\P{Block= Georgian supplement}', "");
-Expect(1, 11567, '\P{^Block= Georgian supplement}', "");
-Expect(0, 11519, '\p{Block= Georgian supplement}', "");
-Expect(1, 11519, '\p{^Block= Georgian supplement}', "");
-Expect(1, 11519, '\P{Block= Georgian supplement}', "");
-Expect(0, 11519, '\P{^Block= Georgian supplement}', "");
-Error('\p{Blk=_:=Georgian_supplement}');
-Error('\P{Blk=_:=Georgian_supplement}');
-Expect(1, 11567, '\p{Blk=georgiansupplement}', "");
-Expect(0, 11567, '\p{^Blk=georgiansupplement}', "");
-Expect(0, 11567, '\P{Blk=georgiansupplement}', "");
-Expect(1, 11567, '\P{^Blk=georgiansupplement}', "");
-Expect(0, 11519, '\p{Blk=georgiansupplement}', "");
-Expect(1, 11519, '\p{^Blk=georgiansupplement}', "");
-Expect(1, 11519, '\P{Blk=georgiansupplement}', "");
-Expect(0, 11519, '\P{^Blk=georgiansupplement}', "");
-Expect(1, 11567, '\p{Blk=__Georgian supplement}', "");
-Expect(0, 11567, '\p{^Blk=__Georgian supplement}', "");
-Expect(0, 11567, '\P{Blk=__Georgian supplement}', "");
-Expect(1, 11567, '\P{^Blk=__Georgian supplement}', "");
-Expect(0, 11519, '\p{Blk=__Georgian supplement}', "");
-Expect(1, 11519, '\p{^Blk=__Georgian supplement}', "");
-Expect(1, 11519, '\P{Blk=__Georgian supplement}', "");
-Expect(0, 11519, '\P{^Blk=__Georgian supplement}', "");
-Error('\p{Is_Block: :=GEORGIAN-Supplement}');
-Error('\P{Is_Block: :=GEORGIAN-Supplement}');
-Expect(1, 11567, '\p{Is_Block=georgiansupplement}', "");
-Expect(0, 11567, '\p{^Is_Block=georgiansupplement}', "");
-Expect(0, 11567, '\P{Is_Block=georgiansupplement}', "");
-Expect(1, 11567, '\P{^Is_Block=georgiansupplement}', "");
-Expect(0, 11519, '\p{Is_Block=georgiansupplement}', "");
-Expect(1, 11519, '\p{^Is_Block=georgiansupplement}', "");
-Expect(1, 11519, '\P{Is_Block=georgiansupplement}', "");
-Expect(0, 11519, '\P{^Is_Block=georgiansupplement}', "");
-Expect(1, 11567, '\p{Is_Block=_ Georgian Supplement}', "");
-Expect(0, 11567, '\p{^Is_Block=_ Georgian Supplement}', "");
-Expect(0, 11567, '\P{Is_Block=_ Georgian Supplement}', "");
-Expect(1, 11567, '\P{^Is_Block=_ Georgian Supplement}', "");
-Expect(0, 11519, '\p{Is_Block=_ Georgian Supplement}', "");
-Expect(1, 11519, '\p{^Is_Block=_ Georgian Supplement}', "");
-Expect(1, 11519, '\P{Is_Block=_ Georgian Supplement}', "");
-Expect(0, 11519, '\P{^Is_Block=_ Georgian Supplement}', "");
-Error('\p{Is_Blk= Georgian_Supplement:=}');
-Error('\P{Is_Blk= Georgian_Supplement:=}');
-Expect(1, 11567, '\p{Is_Blk=georgiansupplement}', "");
-Expect(0, 11567, '\p{^Is_Blk=georgiansupplement}', "");
-Expect(0, 11567, '\P{Is_Blk=georgiansupplement}', "");
-Expect(1, 11567, '\P{^Is_Blk=georgiansupplement}', "");
-Expect(0, 11519, '\p{Is_Blk=georgiansupplement}', "");
-Expect(1, 11519, '\p{^Is_Blk=georgiansupplement}', "");
-Expect(1, 11519, '\P{Is_Blk=georgiansupplement}', "");
-Expect(0, 11519, '\P{^Is_Blk=georgiansupplement}', "");
-Expect(1, 11567, '\p{Is_Blk=GEORGIAN-Supplement}', "");
-Expect(0, 11567, '\p{^Is_Blk=GEORGIAN-Supplement}', "");
-Expect(0, 11567, '\P{Is_Blk=GEORGIAN-Supplement}', "");
-Expect(1, 11567, '\P{^Is_Blk=GEORGIAN-Supplement}', "");
-Expect(0, 11519, '\p{Is_Blk=GEORGIAN-Supplement}', "");
-Expect(1, 11519, '\p{^Is_Blk=GEORGIAN-Supplement}', "");
-Expect(1, 11519, '\P{Is_Blk=GEORGIAN-Supplement}', "");
-Expect(0, 11519, '\P{^Is_Blk=GEORGIAN-Supplement}', "");
-Error('\p{Block=-/a/myanmar}');
-Error('\P{Block=-/a/myanmar}');
-Expect(1, 4255, '\p{Block=myanmar}', "");
-Expect(0, 4255, '\p{^Block=myanmar}', "");
-Expect(0, 4255, '\P{Block=myanmar}', "");
-Expect(1, 4255, '\P{^Block=myanmar}', "");
-Expect(0, 4095, '\p{Block=myanmar}', "");
-Expect(1, 4095, '\p{^Block=myanmar}', "");
-Expect(1, 4095, '\P{Block=myanmar}', "");
-Expect(0, 4095, '\P{^Block=myanmar}', "");
-Expect(1, 4255, '\p{Block: _Myanmar}', "");
-Expect(0, 4255, '\p{^Block: _Myanmar}', "");
-Expect(0, 4255, '\P{Block: _Myanmar}', "");
-Expect(1, 4255, '\P{^Block: _Myanmar}', "");
-Expect(0, 4095, '\p{Block: _Myanmar}', "");
-Expect(1, 4095, '\p{^Block: _Myanmar}', "");
-Expect(1, 4095, '\P{Block: _Myanmar}', "");
-Expect(0, 4095, '\P{^Block: _Myanmar}', "");
-Error('\p{Blk= /a/MYANMAR}');
-Error('\P{Blk= /a/MYANMAR}');
-Expect(1, 4255, '\p{Blk:myanmar}', "");
-Expect(0, 4255, '\p{^Blk:myanmar}', "");
-Expect(0, 4255, '\P{Blk:myanmar}', "");
-Expect(1, 4255, '\P{^Blk:myanmar}', "");
-Expect(0, 4095, '\p{Blk:myanmar}', "");
-Expect(1, 4095, '\p{^Blk:myanmar}', "");
-Expect(1, 4095, '\P{Blk:myanmar}', "");
-Expect(0, 4095, '\P{^Blk:myanmar}', "");
-Expect(1, 4255, '\p{Blk=_Myanmar}', "");
-Expect(0, 4255, '\p{^Blk=_Myanmar}', "");
-Expect(0, 4255, '\P{Blk=_Myanmar}', "");
-Expect(1, 4255, '\P{^Blk=_Myanmar}', "");
-Expect(0, 4095, '\p{Blk=_Myanmar}', "");
-Expect(1, 4095, '\p{^Blk=_Myanmar}', "");
-Expect(1, 4095, '\P{Blk=_Myanmar}', "");
-Expect(0, 4095, '\P{^Blk=_Myanmar}', "");
-Error('\p{Is_Block=_/a/Myanmar}');
-Error('\P{Is_Block=_/a/Myanmar}');
-Expect(1, 4255, '\p{Is_Block=myanmar}', "");
-Expect(0, 4255, '\p{^Is_Block=myanmar}', "");
-Expect(0, 4255, '\P{Is_Block=myanmar}', "");
-Expect(1, 4255, '\P{^Is_Block=myanmar}', "");
-Expect(0, 4095, '\p{Is_Block=myanmar}', "");
-Expect(1, 4095, '\p{^Is_Block=myanmar}', "");
-Expect(1, 4095, '\P{Is_Block=myanmar}', "");
-Expect(0, 4095, '\P{^Is_Block=myanmar}', "");
-Expect(1, 4255, '\p{Is_Block= MYANMAR}', "");
-Expect(0, 4255, '\p{^Is_Block= MYANMAR}', "");
-Expect(0, 4255, '\P{Is_Block= MYANMAR}', "");
-Expect(1, 4255, '\P{^Is_Block= MYANMAR}', "");
-Expect(0, 4095, '\p{Is_Block= MYANMAR}', "");
-Expect(1, 4095, '\p{^Is_Block= MYANMAR}', "");
-Expect(1, 4095, '\P{Is_Block= MYANMAR}', "");
-Expect(0, 4095, '\P{^Is_Block= MYANMAR}', "");
-Error('\p{Is_Blk=__Myanmar:=}');
-Error('\P{Is_Blk=__Myanmar:=}');
-Expect(1, 4255, '\p{Is_Blk=myanmar}', "");
-Expect(0, 4255, '\p{^Is_Blk=myanmar}', "");
-Expect(0, 4255, '\P{Is_Blk=myanmar}', "");
-Expect(1, 4255, '\P{^Is_Blk=myanmar}', "");
-Expect(0, 4095, '\p{Is_Blk=myanmar}', "");
-Expect(1, 4095, '\p{^Is_Blk=myanmar}', "");
-Expect(1, 4095, '\P{Is_Blk=myanmar}', "");
-Expect(0, 4095, '\P{^Is_Blk=myanmar}', "");
-Expect(1, 4255, '\p{Is_Blk=--Myanmar}', "");
-Expect(0, 4255, '\p{^Is_Blk=--Myanmar}', "");
-Expect(0, 4255, '\P{Is_Blk=--Myanmar}', "");
-Expect(1, 4255, '\P{^Is_Blk=--Myanmar}', "");
-Expect(0, 4095, '\p{Is_Blk=--Myanmar}', "");
-Expect(1, 4095, '\p{^Is_Blk=--Myanmar}', "");
-Expect(1, 4095, '\P{Is_Blk=--Myanmar}', "");
-Expect(0, 4095, '\P{^Is_Blk=--Myanmar}', "");
-Error('\p{Block=_Vertical Forms:=}');
-Error('\P{Block=_Vertical Forms:=}');
-Expect(1, 65055, '\p{Block=verticalforms}', "");
-Expect(0, 65055, '\p{^Block=verticalforms}', "");
-Expect(0, 65055, '\P{Block=verticalforms}', "");
-Expect(1, 65055, '\P{^Block=verticalforms}', "");
-Expect(0, 65039, '\p{Block=verticalforms}', "");
-Expect(1, 65039, '\p{^Block=verticalforms}', "");
-Expect(1, 65039, '\P{Block=verticalforms}', "");
-Expect(0, 65039, '\P{^Block=verticalforms}', "");
-Expect(1, 65055, '\p{Block:-_Vertical_Forms}', "");
-Expect(0, 65055, '\p{^Block:-_Vertical_Forms}', "");
-Expect(0, 65055, '\P{Block:-_Vertical_Forms}', "");
-Expect(1, 65055, '\P{^Block:-_Vertical_Forms}', "");
-Expect(0, 65039, '\p{Block:-_Vertical_Forms}', "");
-Expect(1, 65039, '\p{^Block:-_Vertical_Forms}', "");
-Expect(1, 65039, '\P{Block:-_Vertical_Forms}', "");
-Expect(0, 65039, '\P{^Block:-_Vertical_Forms}', "");
-Error('\p{Blk=__Vertical FORMS:=}');
-Error('\P{Blk=__Vertical FORMS:=}');
-Expect(1, 65055, '\p{Blk=verticalforms}', "");
-Expect(0, 65055, '\p{^Blk=verticalforms}', "");
-Expect(0, 65055, '\P{Blk=verticalforms}', "");
-Expect(1, 65055, '\P{^Blk=verticalforms}', "");
-Expect(0, 65039, '\p{Blk=verticalforms}', "");
-Expect(1, 65039, '\p{^Blk=verticalforms}', "");
-Expect(1, 65039, '\P{Blk=verticalforms}', "");
-Expect(0, 65039, '\P{^Blk=verticalforms}', "");
-Expect(1, 65055, '\p{Blk=-vertical_FORMS}', "");
-Expect(0, 65055, '\p{^Blk=-vertical_FORMS}', "");
-Expect(0, 65055, '\P{Blk=-vertical_FORMS}', "");
-Expect(1, 65055, '\P{^Blk=-vertical_FORMS}', "");
-Expect(0, 65039, '\p{Blk=-vertical_FORMS}', "");
-Expect(1, 65039, '\p{^Blk=-vertical_FORMS}', "");
-Expect(1, 65039, '\P{Blk=-vertical_FORMS}', "");
-Expect(0, 65039, '\P{^Blk=-vertical_FORMS}', "");
-Error('\p{Is_Block=/a/_Vertical-forms}');
-Error('\P{Is_Block=/a/_Vertical-forms}');
-Expect(1, 65055, '\p{Is_Block=verticalforms}', "");
-Expect(0, 65055, '\p{^Is_Block=verticalforms}', "");
-Expect(0, 65055, '\P{Is_Block=verticalforms}', "");
-Expect(1, 65055, '\P{^Is_Block=verticalforms}', "");
-Expect(0, 65039, '\p{Is_Block=verticalforms}', "");
-Expect(1, 65039, '\p{^Is_Block=verticalforms}', "");
-Expect(1, 65039, '\P{Is_Block=verticalforms}', "");
-Expect(0, 65039, '\P{^Is_Block=verticalforms}', "");
-Expect(1, 65055, '\p{Is_Block= Vertical FORMS}', "");
-Expect(0, 65055, '\p{^Is_Block= Vertical FORMS}', "");
-Expect(0, 65055, '\P{Is_Block= Vertical FORMS}', "");
-Expect(1, 65055, '\P{^Is_Block= Vertical FORMS}', "");
-Expect(0, 65039, '\p{Is_Block= Vertical FORMS}', "");
-Expect(1, 65039, '\p{^Is_Block= Vertical FORMS}', "");
-Expect(1, 65039, '\P{Is_Block= Vertical FORMS}', "");
-Expect(0, 65039, '\P{^Is_Block= Vertical FORMS}', "");
-Error('\p{Is_Blk: VERTICAL/a/forms}');
-Error('\P{Is_Blk: VERTICAL/a/forms}');
-Expect(1, 65055, '\p{Is_Blk=verticalforms}', "");
-Expect(0, 65055, '\p{^Is_Blk=verticalforms}', "");
-Expect(0, 65055, '\P{Is_Blk=verticalforms}', "");
-Expect(1, 65055, '\P{^Is_Blk=verticalforms}', "");
-Expect(0, 65039, '\p{Is_Blk=verticalforms}', "");
-Expect(1, 65039, '\p{^Is_Blk=verticalforms}', "");
-Expect(1, 65039, '\P{Is_Blk=verticalforms}', "");
-Expect(0, 65039, '\P{^Is_Blk=verticalforms}', "");
-Expect(1, 65055, '\p{Is_Blk: -_Vertical-Forms}', "");
-Expect(0, 65055, '\p{^Is_Blk: -_Vertical-Forms}', "");
-Expect(0, 65055, '\P{Is_Blk: -_Vertical-Forms}', "");
-Expect(1, 65055, '\P{^Is_Blk: -_Vertical-Forms}', "");
-Expect(0, 65039, '\p{Is_Blk: -_Vertical-Forms}', "");
-Expect(1, 65039, '\p{^Is_Blk: -_Vertical-Forms}', "");
-Expect(1, 65039, '\P{Is_Blk: -_Vertical-Forms}', "");
-Expect(0, 65039, '\P{^Is_Blk: -_Vertical-Forms}', "");
-Error('\p{Block=:=-Kaithi}');
-Error('\P{Block=:=-Kaithi}');
-Expect(1, 69839, '\p{Block=kaithi}', "");
-Expect(0, 69839, '\p{^Block=kaithi}', "");
-Expect(0, 69839, '\P{Block=kaithi}', "");
-Expect(1, 69839, '\P{^Block=kaithi}', "");
-Expect(0, 69759, '\p{Block=kaithi}', "");
-Expect(1, 69759, '\p{^Block=kaithi}', "");
-Expect(1, 69759, '\P{Block=kaithi}', "");
-Expect(0, 69759, '\P{^Block=kaithi}', "");
-Expect(1, 69839, '\p{Block=_ Kaithi}', "");
-Expect(0, 69839, '\p{^Block=_ Kaithi}', "");
-Expect(0, 69839, '\P{Block=_ Kaithi}', "");
-Expect(1, 69839, '\P{^Block=_ Kaithi}', "");
-Expect(0, 69759, '\p{Block=_ Kaithi}', "");
-Expect(1, 69759, '\p{^Block=_ Kaithi}', "");
-Expect(1, 69759, '\P{Block=_ Kaithi}', "");
-Expect(0, 69759, '\P{^Block=_ Kaithi}', "");
-Error('\p{Blk=/a/kaithi}');
-Error('\P{Blk=/a/kaithi}');
-Expect(1, 69839, '\p{Blk=kaithi}', "");
-Expect(0, 69839, '\p{^Blk=kaithi}', "");
-Expect(0, 69839, '\P{Blk=kaithi}', "");
-Expect(1, 69839, '\P{^Blk=kaithi}', "");
-Expect(0, 69759, '\p{Blk=kaithi}', "");
-Expect(1, 69759, '\p{^Blk=kaithi}', "");
-Expect(1, 69759, '\P{Blk=kaithi}', "");
-Expect(0, 69759, '\P{^Blk=kaithi}', "");
-Expect(1, 69839, '\p{Blk=- kaithi}', "");
-Expect(0, 69839, '\p{^Blk=- kaithi}', "");
-Expect(0, 69839, '\P{Blk=- kaithi}', "");
-Expect(1, 69839, '\P{^Blk=- kaithi}', "");
-Expect(0, 69759, '\p{Blk=- kaithi}', "");
-Expect(1, 69759, '\p{^Blk=- kaithi}', "");
-Expect(1, 69759, '\P{Blk=- kaithi}', "");
-Expect(0, 69759, '\P{^Blk=- kaithi}', "");
-Error('\p{Is_Block= _Kaithi:=}');
-Error('\P{Is_Block= _Kaithi:=}');
-Expect(1, 69839, '\p{Is_Block=kaithi}', "");
-Expect(0, 69839, '\p{^Is_Block=kaithi}', "");
-Expect(0, 69839, '\P{Is_Block=kaithi}', "");
-Expect(1, 69839, '\P{^Is_Block=kaithi}', "");
-Expect(0, 69759, '\p{Is_Block=kaithi}', "");
-Expect(1, 69759, '\p{^Is_Block=kaithi}', "");
-Expect(1, 69759, '\P{Is_Block=kaithi}', "");
-Expect(0, 69759, '\P{^Is_Block=kaithi}', "");
-Expect(1, 69839, '\p{Is_Block=- Kaithi}', "");
-Expect(0, 69839, '\p{^Is_Block=- Kaithi}', "");
-Expect(0, 69839, '\P{Is_Block=- Kaithi}', "");
-Expect(1, 69839, '\P{^Is_Block=- Kaithi}', "");
-Expect(0, 69759, '\p{Is_Block=- Kaithi}', "");
-Expect(1, 69759, '\p{^Is_Block=- Kaithi}', "");
-Expect(1, 69759, '\P{Is_Block=- Kaithi}', "");
-Expect(0, 69759, '\P{^Is_Block=- Kaithi}', "");
-Error('\p{Is_Blk:/a/Kaithi}');
-Error('\P{Is_Blk:/a/Kaithi}');
-Expect(1, 69839, '\p{Is_Blk=kaithi}', "");
-Expect(0, 69839, '\p{^Is_Blk=kaithi}', "");
-Expect(0, 69839, '\P{Is_Blk=kaithi}', "");
-Expect(1, 69839, '\P{^Is_Blk=kaithi}', "");
-Expect(0, 69759, '\p{Is_Blk=kaithi}', "");
-Expect(1, 69759, '\p{^Is_Blk=kaithi}', "");
-Expect(1, 69759, '\P{Is_Blk=kaithi}', "");
-Expect(0, 69759, '\P{^Is_Blk=kaithi}', "");
-Expect(1, 69839, '\p{Is_Blk= KAITHI}', "");
-Expect(0, 69839, '\p{^Is_Blk= KAITHI}', "");
-Expect(0, 69839, '\P{Is_Blk= KAITHI}', "");
-Expect(1, 69839, '\P{^Is_Blk= KAITHI}', "");
-Expect(0, 69759, '\p{Is_Blk= KAITHI}', "");
-Expect(1, 69759, '\p{^Is_Blk= KAITHI}', "");
-Expect(1, 69759, '\P{Is_Blk= KAITHI}', "");
-Expect(0, 69759, '\P{^Is_Blk= KAITHI}', "");
-Error('\p{Block:/a/- sinhala}');
-Error('\P{Block:/a/- sinhala}');
-Expect(1, 3583, '\p{Block=sinhala}', "");
-Expect(0, 3583, '\p{^Block=sinhala}', "");
-Expect(0, 3583, '\P{Block=sinhala}', "");
-Expect(1, 3583, '\P{^Block=sinhala}', "");
-Expect(0, 3455, '\p{Block=sinhala}', "");
-Expect(1, 3455, '\p{^Block=sinhala}', "");
-Expect(1, 3455, '\P{Block=sinhala}', "");
-Expect(0, 3455, '\P{^Block=sinhala}', "");
-Expect(1, 3583, '\p{Block= Sinhala}', "");
-Expect(0, 3583, '\p{^Block= Sinhala}', "");
-Expect(0, 3583, '\P{Block= Sinhala}', "");
-Expect(1, 3583, '\P{^Block= Sinhala}', "");
-Expect(0, 3455, '\p{Block= Sinhala}', "");
-Expect(1, 3455, '\p{^Block= Sinhala}', "");
-Expect(1, 3455, '\P{Block= Sinhala}', "");
-Expect(0, 3455, '\P{^Block= Sinhala}', "");
-Error('\p{Blk=:=_ Sinhala}');
-Error('\P{Blk=:=_ Sinhala}');
-Expect(1, 3583, '\p{Blk=sinhala}', "");
-Expect(0, 3583, '\p{^Blk=sinhala}', "");
-Expect(0, 3583, '\P{Blk=sinhala}', "");
-Expect(1, 3583, '\P{^Blk=sinhala}', "");
-Expect(0, 3455, '\p{Blk=sinhala}', "");
-Expect(1, 3455, '\p{^Blk=sinhala}', "");
-Expect(1, 3455, '\P{Blk=sinhala}', "");
-Expect(0, 3455, '\P{^Blk=sinhala}', "");
-Expect(1, 3583, '\p{Blk=_sinhala}', "");
-Expect(0, 3583, '\p{^Blk=_sinhala}', "");
-Expect(0, 3583, '\P{Blk=_sinhala}', "");
-Expect(1, 3583, '\P{^Blk=_sinhala}', "");
-Expect(0, 3455, '\p{Blk=_sinhala}', "");
-Expect(1, 3455, '\p{^Blk=_sinhala}', "");
-Expect(1, 3455, '\P{Blk=_sinhala}', "");
-Expect(0, 3455, '\P{^Blk=_sinhala}', "");
-Error('\p{Is_Block= :=SINHALA}');
-Error('\P{Is_Block= :=SINHALA}');
-Expect(1, 3583, '\p{Is_Block=sinhala}', "");
-Expect(0, 3583, '\p{^Is_Block=sinhala}', "");
-Expect(0, 3583, '\P{Is_Block=sinhala}', "");
-Expect(1, 3583, '\P{^Is_Block=sinhala}', "");
-Expect(0, 3455, '\p{Is_Block=sinhala}', "");
-Expect(1, 3455, '\p{^Is_Block=sinhala}', "");
-Expect(1, 3455, '\P{Is_Block=sinhala}', "");
-Expect(0, 3455, '\P{^Is_Block=sinhala}', "");
-Expect(1, 3583, '\p{Is_Block=__SINHALA}', "");
-Expect(0, 3583, '\p{^Is_Block=__SINHALA}', "");
-Expect(0, 3583, '\P{Is_Block=__SINHALA}', "");
-Expect(1, 3583, '\P{^Is_Block=__SINHALA}', "");
-Expect(0, 3455, '\p{Is_Block=__SINHALA}', "");
-Expect(1, 3455, '\p{^Is_Block=__SINHALA}', "");
-Expect(1, 3455, '\P{Is_Block=__SINHALA}', "");
-Expect(0, 3455, '\P{^Is_Block=__SINHALA}', "");
-Error('\p{Is_Blk=:=Sinhala}');
-Error('\P{Is_Blk=:=Sinhala}');
-Expect(1, 3583, '\p{Is_Blk: sinhala}', "");
-Expect(0, 3583, '\p{^Is_Blk: sinhala}', "");
-Expect(0, 3583, '\P{Is_Blk: sinhala}', "");
-Expect(1, 3583, '\P{^Is_Blk: sinhala}', "");
-Expect(0, 3455, '\p{Is_Blk: sinhala}', "");
-Expect(1, 3455, '\p{^Is_Blk: sinhala}', "");
-Expect(1, 3455, '\P{Is_Blk: sinhala}', "");
-Expect(0, 3455, '\P{^Is_Blk: sinhala}', "");
-Expect(1, 3583, '\p{Is_Blk= Sinhala}', "");
-Expect(0, 3583, '\p{^Is_Blk= Sinhala}', "");
-Expect(0, 3583, '\P{Is_Blk= Sinhala}', "");
-Expect(1, 3583, '\P{^Is_Blk= Sinhala}', "");
-Expect(0, 3455, '\p{Is_Blk= Sinhala}', "");
-Expect(1, 3455, '\p{^Is_Blk= Sinhala}', "");
-Expect(1, 3455, '\P{Is_Blk= Sinhala}', "");
-Expect(0, 3455, '\P{^Is_Blk= Sinhala}', "");
-Error('\p{Block::=glagolitic}');
-Error('\P{Block::=glagolitic}');
-Expect(1, 11359, '\p{Block=glagolitic}', "");
-Expect(0, 11359, '\p{^Block=glagolitic}', "");
-Expect(0, 11359, '\P{Block=glagolitic}', "");
-Expect(1, 11359, '\P{^Block=glagolitic}', "");
-Expect(0, 11263, '\p{Block=glagolitic}', "");
-Expect(1, 11263, '\p{^Block=glagolitic}', "");
-Expect(1, 11263, '\P{Block=glagolitic}', "");
-Expect(0, 11263, '\P{^Block=glagolitic}', "");
-Expect(1, 11359, '\p{Block= glagolitic}', "");
-Expect(0, 11359, '\p{^Block= glagolitic}', "");
-Expect(0, 11359, '\P{Block= glagolitic}', "");
-Expect(1, 11359, '\P{^Block= glagolitic}', "");
-Expect(0, 11263, '\p{Block= glagolitic}', "");
-Expect(1, 11263, '\p{^Block= glagolitic}', "");
-Expect(1, 11263, '\P{Block= glagolitic}', "");
-Expect(0, 11263, '\P{^Block= glagolitic}', "");
-Error('\p{Blk=-Glagolitic:=}');
-Error('\P{Blk=-Glagolitic:=}');
-Expect(1, 11359, '\p{Blk=glagolitic}', "");
-Expect(0, 11359, '\p{^Blk=glagolitic}', "");
-Expect(0, 11359, '\P{Blk=glagolitic}', "");
-Expect(1, 11359, '\P{^Blk=glagolitic}', "");
-Expect(0, 11263, '\p{Blk=glagolitic}', "");
-Expect(1, 11263, '\p{^Blk=glagolitic}', "");
-Expect(1, 11263, '\P{Blk=glagolitic}', "");
-Expect(0, 11263, '\P{^Blk=glagolitic}', "");
-Expect(1, 11359, '\p{Blk= GLAGOLITIC}', "");
-Expect(0, 11359, '\p{^Blk= GLAGOLITIC}', "");
-Expect(0, 11359, '\P{Blk= GLAGOLITIC}', "");
-Expect(1, 11359, '\P{^Blk= GLAGOLITIC}', "");
-Expect(0, 11263, '\p{Blk= GLAGOLITIC}', "");
-Expect(1, 11263, '\p{^Blk= GLAGOLITIC}', "");
-Expect(1, 11263, '\P{Blk= GLAGOLITIC}', "");
-Expect(0, 11263, '\P{^Blk= GLAGOLITIC}', "");
-Error('\p{Is_Block=/a/ -GLAGOLITIC}');
-Error('\P{Is_Block=/a/ -GLAGOLITIC}');
-Expect(1, 11359, '\p{Is_Block=glagolitic}', "");
-Expect(0, 11359, '\p{^Is_Block=glagolitic}', "");
-Expect(0, 11359, '\P{Is_Block=glagolitic}', "");
-Expect(1, 11359, '\P{^Is_Block=glagolitic}', "");
-Expect(0, 11263, '\p{Is_Block=glagolitic}', "");
-Expect(1, 11263, '\p{^Is_Block=glagolitic}', "");
-Expect(1, 11263, '\P{Is_Block=glagolitic}', "");
-Expect(0, 11263, '\P{^Is_Block=glagolitic}', "");
-Expect(1, 11359, '\p{Is_Block=_Glagolitic}', "");
-Expect(0, 11359, '\p{^Is_Block=_Glagolitic}', "");
-Expect(0, 11359, '\P{Is_Block=_Glagolitic}', "");
-Expect(1, 11359, '\P{^Is_Block=_Glagolitic}', "");
-Expect(0, 11263, '\p{Is_Block=_Glagolitic}', "");
-Expect(1, 11263, '\p{^Is_Block=_Glagolitic}', "");
-Expect(1, 11263, '\P{Is_Block=_Glagolitic}', "");
-Expect(0, 11263, '\P{^Is_Block=_Glagolitic}', "");
-Error('\p{Is_Blk=:=Glagolitic}');
-Error('\P{Is_Blk=:=Glagolitic}');
-Expect(1, 11359, '\p{Is_Blk=glagolitic}', "");
-Expect(0, 11359, '\p{^Is_Blk=glagolitic}', "");
-Expect(0, 11359, '\P{Is_Blk=glagolitic}', "");
-Expect(1, 11359, '\P{^Is_Blk=glagolitic}', "");
-Expect(0, 11263, '\p{Is_Blk=glagolitic}', "");
-Expect(1, 11263, '\p{^Is_Blk=glagolitic}', "");
-Expect(1, 11263, '\P{Is_Blk=glagolitic}', "");
-Expect(0, 11263, '\P{^Is_Blk=glagolitic}', "");
-Expect(1, 11359, '\p{Is_Blk=_GLAGOLITIC}', "");
-Expect(0, 11359, '\p{^Is_Blk=_GLAGOLITIC}', "");
-Expect(0, 11359, '\P{Is_Blk=_GLAGOLITIC}', "");
-Expect(1, 11359, '\P{^Is_Blk=_GLAGOLITIC}', "");
-Expect(0, 11263, '\p{Is_Blk=_GLAGOLITIC}', "");
-Expect(1, 11263, '\p{^Is_Blk=_GLAGOLITIC}', "");
-Expect(1, 11263, '\P{Is_Blk=_GLAGOLITIC}', "");
-Expect(0, 11263, '\P{^Is_Blk=_GLAGOLITIC}', "");
-Error('\p{Block= tagalog/a/}');
-Error('\P{Block= tagalog/a/}');
-Expect(1, 5919, '\p{Block=tagalog}', "");
-Expect(0, 5919, '\p{^Block=tagalog}', "");
-Expect(0, 5919, '\P{Block=tagalog}', "");
-Expect(1, 5919, '\P{^Block=tagalog}', "");
-Expect(0, 5887, '\p{Block=tagalog}', "");
-Expect(1, 5887, '\p{^Block=tagalog}', "");
-Expect(1, 5887, '\P{Block=tagalog}', "");
-Expect(0, 5887, '\P{^Block=tagalog}', "");
-Expect(1, 5919, '\p{Block: _tagalog}', "");
-Expect(0, 5919, '\p{^Block: _tagalog}', "");
-Expect(0, 5919, '\P{Block: _tagalog}', "");
-Expect(1, 5919, '\P{^Block: _tagalog}', "");
-Expect(0, 5887, '\p{Block: _tagalog}', "");
-Expect(1, 5887, '\p{^Block: _tagalog}', "");
-Expect(1, 5887, '\P{Block: _tagalog}', "");
-Expect(0, 5887, '\P{^Block: _tagalog}', "");
-Error('\p{Blk=/a/TAGALOG}');
-Error('\P{Blk=/a/TAGALOG}');
-Expect(1, 5919, '\p{Blk=tagalog}', "");
-Expect(0, 5919, '\p{^Blk=tagalog}', "");
-Expect(0, 5919, '\P{Blk=tagalog}', "");
-Expect(1, 5919, '\P{^Blk=tagalog}', "");
-Expect(0, 5887, '\p{Blk=tagalog}', "");
-Expect(1, 5887, '\p{^Blk=tagalog}', "");
-Expect(1, 5887, '\P{Blk=tagalog}', "");
-Expect(0, 5887, '\P{^Blk=tagalog}', "");
-Expect(1, 5919, '\p{Blk= TAGALOG}', "");
-Expect(0, 5919, '\p{^Blk= TAGALOG}', "");
-Expect(0, 5919, '\P{Blk= TAGALOG}', "");
-Expect(1, 5919, '\P{^Blk= TAGALOG}', "");
-Expect(0, 5887, '\p{Blk= TAGALOG}', "");
-Expect(1, 5887, '\p{^Blk= TAGALOG}', "");
-Expect(1, 5887, '\P{Blk= TAGALOG}', "");
-Expect(0, 5887, '\P{^Blk= TAGALOG}', "");
-Error('\p{Is_Block=_ Tagalog:=}');
-Error('\P{Is_Block=_ Tagalog:=}');
-Expect(1, 5919, '\p{Is_Block=tagalog}', "");
-Expect(0, 5919, '\p{^Is_Block=tagalog}', "");
-Expect(0, 5919, '\P{Is_Block=tagalog}', "");
-Expect(1, 5919, '\P{^Is_Block=tagalog}', "");
-Expect(0, 5887, '\p{Is_Block=tagalog}', "");
-Expect(1, 5887, '\p{^Is_Block=tagalog}', "");
-Expect(1, 5887, '\P{Is_Block=tagalog}', "");
-Expect(0, 5887, '\P{^Is_Block=tagalog}', "");
-Expect(1, 5919, '\p{Is_Block= Tagalog}', "");
-Expect(0, 5919, '\p{^Is_Block= Tagalog}', "");
-Expect(0, 5919, '\P{Is_Block= Tagalog}', "");
-Expect(1, 5919, '\P{^Is_Block= Tagalog}', "");
-Expect(0, 5887, '\p{Is_Block= Tagalog}', "");
-Expect(1, 5887, '\p{^Is_Block= Tagalog}', "");
-Expect(1, 5887, '\P{Is_Block= Tagalog}', "");
-Expect(0, 5887, '\P{^Is_Block= Tagalog}', "");
-Error('\p{Is_Blk=_:=TAGALOG}');
-Error('\P{Is_Blk=_:=TAGALOG}');
-Expect(1, 5919, '\p{Is_Blk: tagalog}', "");
-Expect(0, 5919, '\p{^Is_Blk: tagalog}', "");
-Expect(0, 5919, '\P{Is_Blk: tagalog}', "");
-Expect(1, 5919, '\P{^Is_Blk: tagalog}', "");
-Expect(0, 5887, '\p{Is_Blk: tagalog}', "");
-Expect(1, 5887, '\p{^Is_Blk: tagalog}', "");
-Expect(1, 5887, '\P{Is_Blk: tagalog}', "");
-Expect(0, 5887, '\P{^Is_Blk: tagalog}', "");
-Expect(1, 5919, '\p{Is_Blk= TAGALOG}', "");
-Expect(0, 5919, '\p{^Is_Blk= TAGALOG}', "");
-Expect(0, 5919, '\P{Is_Blk= TAGALOG}', "");
-Expect(1, 5919, '\P{^Is_Blk= TAGALOG}', "");
-Expect(0, 5887, '\p{Is_Blk= TAGALOG}', "");
-Expect(1, 5887, '\p{^Is_Blk= TAGALOG}', "");
-Expect(1, 5887, '\P{Is_Blk= TAGALOG}', "");
-Expect(0, 5887, '\P{^Is_Blk= TAGALOG}', "");
-Error('\p{Block= kharoshthi/a/}');
-Error('\P{Block= kharoshthi/a/}');
-Expect(1, 68191, '\p{Block: kharoshthi}', "");
-Expect(0, 68191, '\p{^Block: kharoshthi}', "");
-Expect(0, 68191, '\P{Block: kharoshthi}', "");
-Expect(1, 68191, '\P{^Block: kharoshthi}', "");
-Expect(0, 68095, '\p{Block: kharoshthi}', "");
-Expect(1, 68095, '\p{^Block: kharoshthi}', "");
-Expect(1, 68095, '\P{Block: kharoshthi}', "");
-Expect(0, 68095, '\P{^Block: kharoshthi}', "");
-Expect(1, 68191, '\p{Block=-KHAROSHTHI}', "");
-Expect(0, 68191, '\p{^Block=-KHAROSHTHI}', "");
-Expect(0, 68191, '\P{Block=-KHAROSHTHI}', "");
-Expect(1, 68191, '\P{^Block=-KHAROSHTHI}', "");
-Expect(0, 68095, '\p{Block=-KHAROSHTHI}', "");
-Expect(1, 68095, '\p{^Block=-KHAROSHTHI}', "");
-Expect(1, 68095, '\P{Block=-KHAROSHTHI}', "");
-Expect(0, 68095, '\P{^Block=-KHAROSHTHI}', "");
-Error('\p{Blk= KHAROSHTHI:=}');
-Error('\P{Blk= KHAROSHTHI:=}');
-Expect(1, 68191, '\p{Blk=kharoshthi}', "");
-Expect(0, 68191, '\p{^Blk=kharoshthi}', "");
-Expect(0, 68191, '\P{Blk=kharoshthi}', "");
-Expect(1, 68191, '\P{^Blk=kharoshthi}', "");
-Expect(0, 68095, '\p{Blk=kharoshthi}', "");
-Expect(1, 68095, '\p{^Blk=kharoshthi}', "");
-Expect(1, 68095, '\P{Blk=kharoshthi}', "");
-Expect(0, 68095, '\P{^Blk=kharoshthi}', "");
-Expect(1, 68191, '\p{Blk=_Kharoshthi}', "");
-Expect(0, 68191, '\p{^Blk=_Kharoshthi}', "");
-Expect(0, 68191, '\P{Blk=_Kharoshthi}', "");
-Expect(1, 68191, '\P{^Blk=_Kharoshthi}', "");
-Expect(0, 68095, '\p{Blk=_Kharoshthi}', "");
-Expect(1, 68095, '\p{^Blk=_Kharoshthi}', "");
-Expect(1, 68095, '\P{Blk=_Kharoshthi}', "");
-Expect(0, 68095, '\P{^Blk=_Kharoshthi}', "");
-Error('\p{Is_Block= Kharoshthi/a/}');
-Error('\P{Is_Block= Kharoshthi/a/}');
-Expect(1, 68191, '\p{Is_Block=kharoshthi}', "");
-Expect(0, 68191, '\p{^Is_Block=kharoshthi}', "");
-Expect(0, 68191, '\P{Is_Block=kharoshthi}', "");
-Expect(1, 68191, '\P{^Is_Block=kharoshthi}', "");
-Expect(0, 68095, '\p{Is_Block=kharoshthi}', "");
-Expect(1, 68095, '\p{^Is_Block=kharoshthi}', "");
-Expect(1, 68095, '\P{Is_Block=kharoshthi}', "");
-Expect(0, 68095, '\P{^Is_Block=kharoshthi}', "");
-Expect(1, 68191, '\p{Is_Block= kharoshthi}', "");
-Expect(0, 68191, '\p{^Is_Block= kharoshthi}', "");
-Expect(0, 68191, '\P{Is_Block= kharoshthi}', "");
-Expect(1, 68191, '\P{^Is_Block= kharoshthi}', "");
-Expect(0, 68095, '\p{Is_Block= kharoshthi}', "");
-Expect(1, 68095, '\p{^Is_Block= kharoshthi}', "");
-Expect(1, 68095, '\P{Is_Block= kharoshthi}', "");
-Expect(0, 68095, '\P{^Is_Block= kharoshthi}', "");
-Error('\p{Is_Blk=/a/- KHAROSHTHI}');
-Error('\P{Is_Blk=/a/- KHAROSHTHI}');
-Expect(1, 68191, '\p{Is_Blk=kharoshthi}', "");
-Expect(0, 68191, '\p{^Is_Blk=kharoshthi}', "");
-Expect(0, 68191, '\P{Is_Blk=kharoshthi}', "");
-Expect(1, 68191, '\P{^Is_Blk=kharoshthi}', "");
-Expect(0, 68095, '\p{Is_Blk=kharoshthi}', "");
-Expect(1, 68095, '\p{^Is_Blk=kharoshthi}', "");
-Expect(1, 68095, '\P{Is_Blk=kharoshthi}', "");
-Expect(0, 68095, '\P{^Is_Blk=kharoshthi}', "");
-Expect(1, 68191, '\p{Is_Blk= KHAROSHTHI}', "");
-Expect(0, 68191, '\p{^Is_Blk= KHAROSHTHI}', "");
-Expect(0, 68191, '\P{Is_Blk= KHAROSHTHI}', "");
-Expect(1, 68191, '\P{^Is_Blk= KHAROSHTHI}', "");
-Expect(0, 68095, '\p{Is_Blk= KHAROSHTHI}', "");
-Expect(1, 68095, '\p{^Is_Blk= KHAROSHTHI}', "");
-Expect(1, 68095, '\P{Is_Blk= KHAROSHTHI}', "");
-Expect(0, 68095, '\P{^Is_Blk= KHAROSHTHI}', "");
-Error('\p{Block=_ arabic-Supplement/a/}');
-Error('\P{Block=_ arabic-Supplement/a/}');
-Expect(1, 1919, '\p{Block=arabicsupplement}', "");
-Expect(0, 1919, '\p{^Block=arabicsupplement}', "");
-Expect(0, 1919, '\P{Block=arabicsupplement}', "");
-Expect(1, 1919, '\P{^Block=arabicsupplement}', "");
-Expect(0, 1871, '\p{Block=arabicsupplement}', "");
-Expect(1, 1871, '\p{^Block=arabicsupplement}', "");
-Expect(1, 1871, '\P{Block=arabicsupplement}', "");
-Expect(0, 1871, '\P{^Block=arabicsupplement}', "");
-Expect(1, 1919, '\p{Block= arabic-Supplement}', "");
-Expect(0, 1919, '\p{^Block= arabic-Supplement}', "");
-Expect(0, 1919, '\P{Block= arabic-Supplement}', "");
-Expect(1, 1919, '\P{^Block= arabic-Supplement}', "");
-Expect(0, 1871, '\p{Block= arabic-Supplement}', "");
-Expect(1, 1871, '\p{^Block= arabic-Supplement}', "");
-Expect(1, 1871, '\P{Block= arabic-Supplement}', "");
-Expect(0, 1871, '\P{^Block= arabic-Supplement}', "");
-Error('\p{Blk=-_ArabicSupplement:=}');
-Error('\P{Blk=-_ArabicSupplement:=}');
-Expect(1, 1919, '\p{Blk=arabicsupplement}', "");
-Expect(0, 1919, '\p{^Blk=arabicsupplement}', "");
-Expect(0, 1919, '\P{Blk=arabicsupplement}', "");
-Expect(1, 1919, '\P{^Blk=arabicsupplement}', "");
-Expect(0, 1871, '\p{Blk=arabicsupplement}', "");
-Expect(1, 1871, '\p{^Blk=arabicsupplement}', "");
-Expect(1, 1871, '\P{Blk=arabicsupplement}', "");
-Expect(0, 1871, '\P{^Blk=arabicsupplement}', "");
-Expect(1, 1919, '\p{Blk=- Arabic SUPPLEMENT}', "");
-Expect(0, 1919, '\p{^Blk=- Arabic SUPPLEMENT}', "");
-Expect(0, 1919, '\P{Blk=- Arabic SUPPLEMENT}', "");
-Expect(1, 1919, '\P{^Blk=- Arabic SUPPLEMENT}', "");
-Expect(0, 1871, '\p{Blk=- Arabic SUPPLEMENT}', "");
-Expect(1, 1871, '\p{^Blk=- Arabic SUPPLEMENT}', "");
-Expect(1, 1871, '\P{Blk=- Arabic SUPPLEMENT}', "");
-Expect(0, 1871, '\P{^Blk=- Arabic SUPPLEMENT}', "");
-Error('\p{Is_Block=:=ARABIC-Supplement}');
-Error('\P{Is_Block=:=ARABIC-Supplement}');
-Expect(1, 1919, '\p{Is_Block=arabicsupplement}', "");
-Expect(0, 1919, '\p{^Is_Block=arabicsupplement}', "");
-Expect(0, 1919, '\P{Is_Block=arabicsupplement}', "");
-Expect(1, 1919, '\P{^Is_Block=arabicsupplement}', "");
-Expect(0, 1871, '\p{Is_Block=arabicsupplement}', "");
-Expect(1, 1871, '\p{^Is_Block=arabicsupplement}', "");
-Expect(1, 1871, '\P{Is_Block=arabicsupplement}', "");
-Expect(0, 1871, '\P{^Is_Block=arabicsupplement}', "");
-Expect(1, 1919, '\p{Is_Block= Arabic-supplement}', "");
-Expect(0, 1919, '\p{^Is_Block= Arabic-supplement}', "");
-Expect(0, 1919, '\P{Is_Block= Arabic-supplement}', "");
-Expect(1, 1919, '\P{^Is_Block= Arabic-supplement}', "");
-Expect(0, 1871, '\p{Is_Block= Arabic-supplement}', "");
-Expect(1, 1871, '\p{^Is_Block= Arabic-supplement}', "");
-Expect(1, 1871, '\P{Is_Block= Arabic-supplement}', "");
-Expect(0, 1871, '\P{^Is_Block= Arabic-supplement}', "");
-Error('\p{Is_Blk=/a/Arabic-Supplement}');
-Error('\P{Is_Blk=/a/Arabic-Supplement}');
-Expect(1, 1919, '\p{Is_Blk=arabicsupplement}', "");
-Expect(0, 1919, '\p{^Is_Blk=arabicsupplement}', "");
-Expect(0, 1919, '\P{Is_Blk=arabicsupplement}', "");
-Expect(1, 1919, '\P{^Is_Blk=arabicsupplement}', "");
-Expect(0, 1871, '\p{Is_Blk=arabicsupplement}', "");
-Expect(1, 1871, '\p{^Is_Blk=arabicsupplement}', "");
-Expect(1, 1871, '\P{Is_Blk=arabicsupplement}', "");
-Expect(0, 1871, '\P{^Is_Blk=arabicsupplement}', "");
-Expect(1, 1919, '\p{Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(0, 1919, '\p{^Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(0, 1919, '\P{Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(1, 1919, '\P{^Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(0, 1871, '\p{Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(1, 1871, '\p{^Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(1, 1871, '\P{Is_Blk=_Arabic SUPPLEMENT}', "");
-Expect(0, 1871, '\P{^Is_Blk=_Arabic SUPPLEMENT}', "");
-Error('\p{Block= :=cuneiform numbersAnd_punctuation}');
-Error('\P{Block= :=cuneiform numbersAnd_punctuation}');
-Expect(1, 74879, '\p{Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(0, 74879, '\p{^Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(0, 74879, '\P{Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(1, 74879, '\P{^Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(0, 74751, '\p{Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(1, 74751, '\p{^Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(1, 74751, '\P{Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Expect(0, 74751, '\P{^Block=-Cuneiform NUMBERS_And Punctuation}', "");
-Error('\p{Blk=-/a/CUNEIFORM NUMBERS-And_Punctuation}');
-Error('\P{Blk=-/a/CUNEIFORM NUMBERS-And_Punctuation}');
-Expect(1, 74879, '\p{Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(0, 74879, '\p{^Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(0, 74879, '\P{Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(1, 74879, '\P{^Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(0, 74751, '\p{Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(1, 74751, '\p{^Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(1, 74751, '\P{Blk= -Cuneiform-numbers_and Punctuation}', "");
-Expect(0, 74751, '\P{^Blk= -Cuneiform-numbers_and Punctuation}', "");
-Error('\p{Is_Block=:=- Cuneiform NUMBERS_AND-PUNCTUATION}');
-Error('\P{Is_Block=:=- Cuneiform NUMBERS_AND-PUNCTUATION}');
-Expect(1, 74879, '\p{Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^Is_Block=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(0, 74879, '\p{^Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(0, 74879, '\P{Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(1, 74879, '\P{^Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(0, 74751, '\p{Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(1, 74751, '\p{^Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(1, 74751, '\P{Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Expect(0, 74751, '\P{^Is_Block= -CUNEIFORM-Numbers_and Punctuation}', "");
-Error('\p{Is_Blk=-cuneiformnumbers and Punctuation:=}');
-Error('\P{Is_Blk=-cuneiformnumbers and Punctuation:=}');
-Expect(1, 74879, '\p{Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^Is_Blk=cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(0, 74879, '\p{^Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(0, 74879, '\P{Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(1, 74879, '\P{^Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(0, 74751, '\p{Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(1, 74751, '\p{^Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(1, 74751, '\P{Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Expect(0, 74751, '\P{^Is_Blk=--Cuneiform-Numbers And Punctuation}', "");
-Error('\p{Block=_devanagari:=extended}');
-Error('\P{Block=_devanagari:=extended}');
-Expect(1, 43263, '\p{Block=devanagariextended}', "");
-Expect(0, 43263, '\p{^Block=devanagariextended}', "");
-Expect(0, 43263, '\P{Block=devanagariextended}', "");
-Expect(1, 43263, '\P{^Block=devanagariextended}', "");
-Expect(0, 43231, '\p{Block=devanagariextended}', "");
-Expect(1, 43231, '\p{^Block=devanagariextended}', "");
-Expect(1, 43231, '\P{Block=devanagariextended}', "");
-Expect(0, 43231, '\P{^Block=devanagariextended}', "");
-Expect(1, 43263, '\p{Block=- Devanagari-EXTENDED}', "");
-Expect(0, 43263, '\p{^Block=- Devanagari-EXTENDED}', "");
-Expect(0, 43263, '\P{Block=- Devanagari-EXTENDED}', "");
-Expect(1, 43263, '\P{^Block=- Devanagari-EXTENDED}', "");
-Expect(0, 43231, '\p{Block=- Devanagari-EXTENDED}', "");
-Expect(1, 43231, '\p{^Block=- Devanagari-EXTENDED}', "");
-Expect(1, 43231, '\P{Block=- Devanagari-EXTENDED}', "");
-Expect(0, 43231, '\P{^Block=- Devanagari-EXTENDED}', "");
-Error('\p{Blk= Devanagari_Extended:=}');
-Error('\P{Blk= Devanagari_Extended:=}');
-Expect(1, 43263, '\p{Blk=devanagariextended}', "");
-Expect(0, 43263, '\p{^Blk=devanagariextended}', "");
-Expect(0, 43263, '\P{Blk=devanagariextended}', "");
-Expect(1, 43263, '\P{^Blk=devanagariextended}', "");
-Expect(0, 43231, '\p{Blk=devanagariextended}', "");
-Expect(1, 43231, '\p{^Blk=devanagariextended}', "");
-Expect(1, 43231, '\P{Blk=devanagariextended}', "");
-Expect(0, 43231, '\P{^Blk=devanagariextended}', "");
-Expect(1, 43263, '\p{Blk=_Devanagari EXTENDED}', "");
-Expect(0, 43263, '\p{^Blk=_Devanagari EXTENDED}', "");
-Expect(0, 43263, '\P{Blk=_Devanagari EXTENDED}', "");
-Expect(1, 43263, '\P{^Blk=_Devanagari EXTENDED}', "");
-Expect(0, 43231, '\p{Blk=_Devanagari EXTENDED}', "");
-Expect(1, 43231, '\p{^Blk=_Devanagari EXTENDED}', "");
-Expect(1, 43231, '\P{Blk=_Devanagari EXTENDED}', "");
-Expect(0, 43231, '\P{^Blk=_Devanagari EXTENDED}', "");
-Error('\p{Is_Block= -devanagari extended:=}');
-Error('\P{Is_Block= -devanagari extended:=}');
-Expect(1, 43263, '\p{Is_Block=devanagariextended}', "");
-Expect(0, 43263, '\p{^Is_Block=devanagariextended}', "");
-Expect(0, 43263, '\P{Is_Block=devanagariextended}', "");
-Expect(1, 43263, '\P{^Is_Block=devanagariextended}', "");
-Expect(0, 43231, '\p{Is_Block=devanagariextended}', "");
-Expect(1, 43231, '\p{^Is_Block=devanagariextended}', "");
-Expect(1, 43231, '\P{Is_Block=devanagariextended}', "");
-Expect(0, 43231, '\P{^Is_Block=devanagariextended}', "");
-Expect(1, 43263, '\p{Is_Block= DevanagariExtended}', "");
-Expect(0, 43263, '\p{^Is_Block= DevanagariExtended}', "");
-Expect(0, 43263, '\P{Is_Block= DevanagariExtended}', "");
-Expect(1, 43263, '\P{^Is_Block= DevanagariExtended}', "");
-Expect(0, 43231, '\p{Is_Block= DevanagariExtended}', "");
-Expect(1, 43231, '\p{^Is_Block= DevanagariExtended}', "");
-Expect(1, 43231, '\P{Is_Block= DevanagariExtended}', "");
-Expect(0, 43231, '\P{^Is_Block= DevanagariExtended}', "");
-Error('\p{Is_Blk: DEVANAGARI/a/EXTENDED}');
-Error('\P{Is_Blk: DEVANAGARI/a/EXTENDED}');
-Expect(1, 43263, '\p{Is_Blk=devanagariextended}', "");
-Expect(0, 43263, '\p{^Is_Blk=devanagariextended}', "");
-Expect(0, 43263, '\P{Is_Blk=devanagariextended}', "");
-Expect(1, 43263, '\P{^Is_Blk=devanagariextended}', "");
-Expect(0, 43231, '\p{Is_Blk=devanagariextended}', "");
-Expect(1, 43231, '\p{^Is_Blk=devanagariextended}', "");
-Expect(1, 43231, '\P{Is_Blk=devanagariextended}', "");
-Expect(0, 43231, '\P{^Is_Blk=devanagariextended}', "");
-Expect(1, 43263, '\p{Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(0, 43263, '\p{^Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(0, 43263, '\P{Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(1, 43263, '\P{^Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(0, 43231, '\p{Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(1, 43231, '\p{^Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(1, 43231, '\P{Is_Blk: _DEVANAGARI-Extended}', "");
-Expect(0, 43231, '\P{^Is_Blk: _DEVANAGARI-Extended}', "");
-Error('\p{Block: /a/--yi_syllables}');
-Error('\P{Block: /a/--yi_syllables}');
-Expect(1, 42127, '\p{Block=yisyllables}', "");
-Expect(0, 42127, '\p{^Block=yisyllables}', "");
-Expect(0, 42127, '\P{Block=yisyllables}', "");
-Expect(1, 42127, '\P{^Block=yisyllables}', "");
-Expect(0, 40959, '\p{Block=yisyllables}', "");
-Expect(1, 40959, '\p{^Block=yisyllables}', "");
-Expect(1, 40959, '\P{Block=yisyllables}', "");
-Expect(0, 40959, '\P{^Block=yisyllables}', "");
-Expect(1, 42127, '\p{Block: _Yisyllables}', "");
-Expect(0, 42127, '\p{^Block: _Yisyllables}', "");
-Expect(0, 42127, '\P{Block: _Yisyllables}', "");
-Expect(1, 42127, '\P{^Block: _Yisyllables}', "");
-Expect(0, 40959, '\p{Block: _Yisyllables}', "");
-Expect(1, 40959, '\p{^Block: _Yisyllables}', "");
-Expect(1, 40959, '\P{Block: _Yisyllables}', "");
-Expect(0, 40959, '\P{^Block: _Yisyllables}', "");
-Error('\p{Blk=_Yi/a/SYLLABLES}');
-Error('\P{Blk=_Yi/a/SYLLABLES}');
-Expect(1, 42127, '\p{Blk=yisyllables}', "");
-Expect(0, 42127, '\p{^Blk=yisyllables}', "");
-Expect(0, 42127, '\P{Blk=yisyllables}', "");
-Expect(1, 42127, '\P{^Blk=yisyllables}', "");
-Expect(0, 40959, '\p{Blk=yisyllables}', "");
-Expect(1, 40959, '\p{^Blk=yisyllables}', "");
-Expect(1, 40959, '\P{Blk=yisyllables}', "");
-Expect(0, 40959, '\P{^Blk=yisyllables}', "");
-Expect(1, 42127, '\p{Blk= Yi Syllables}', "");
-Expect(0, 42127, '\p{^Blk= Yi Syllables}', "");
-Expect(0, 42127, '\P{Blk= Yi Syllables}', "");
-Expect(1, 42127, '\P{^Blk= Yi Syllables}', "");
-Expect(0, 40959, '\p{Blk= Yi Syllables}', "");
-Expect(1, 40959, '\p{^Blk= Yi Syllables}', "");
-Expect(1, 40959, '\P{Blk= Yi Syllables}', "");
-Expect(0, 40959, '\P{^Blk= Yi Syllables}', "");
-Error('\p{Is_Block: Yi Syllables/a/}');
-Error('\P{Is_Block: Yi Syllables/a/}');
-Expect(1, 42127, '\p{Is_Block=yisyllables}', "");
-Expect(0, 42127, '\p{^Is_Block=yisyllables}', "");
-Expect(0, 42127, '\P{Is_Block=yisyllables}', "");
-Expect(1, 42127, '\P{^Is_Block=yisyllables}', "");
-Expect(0, 40959, '\p{Is_Block=yisyllables}', "");
-Expect(1, 40959, '\p{^Is_Block=yisyllables}', "");
-Expect(1, 40959, '\P{Is_Block=yisyllables}', "");
-Expect(0, 40959, '\P{^Is_Block=yisyllables}', "");
-Expect(1, 42127, '\p{Is_Block=_Yi_Syllables}', "");
-Expect(0, 42127, '\p{^Is_Block=_Yi_Syllables}', "");
-Expect(0, 42127, '\P{Is_Block=_Yi_Syllables}', "");
-Expect(1, 42127, '\P{^Is_Block=_Yi_Syllables}', "");
-Expect(0, 40959, '\p{Is_Block=_Yi_Syllables}', "");
-Expect(1, 40959, '\p{^Is_Block=_Yi_Syllables}', "");
-Expect(1, 40959, '\P{Is_Block=_Yi_Syllables}', "");
-Expect(0, 40959, '\P{^Is_Block=_Yi_Syllables}', "");
-Error('\p{Is_Blk=_ Yi/a/syllables}');
-Error('\P{Is_Blk=_ Yi/a/syllables}');
-Expect(1, 42127, '\p{Is_Blk=yisyllables}', "");
-Expect(0, 42127, '\p{^Is_Blk=yisyllables}', "");
-Expect(0, 42127, '\P{Is_Blk=yisyllables}', "");
-Expect(1, 42127, '\P{^Is_Blk=yisyllables}', "");
-Expect(0, 40959, '\p{Is_Blk=yisyllables}', "");
-Expect(1, 40959, '\p{^Is_Blk=yisyllables}', "");
-Expect(1, 40959, '\P{Is_Blk=yisyllables}', "");
-Expect(0, 40959, '\P{^Is_Blk=yisyllables}', "");
-Expect(1, 42127, '\p{Is_Blk: -Yi Syllables}', "");
-Expect(0, 42127, '\p{^Is_Blk: -Yi Syllables}', "");
-Expect(0, 42127, '\P{Is_Blk: -Yi Syllables}', "");
-Expect(1, 42127, '\P{^Is_Blk: -Yi Syllables}', "");
-Expect(0, 40959, '\p{Is_Blk: -Yi Syllables}', "");
-Expect(1, 40959, '\p{^Is_Blk: -Yi Syllables}', "");
-Expect(1, 40959, '\P{Is_Blk: -Yi Syllables}', "");
-Expect(0, 40959, '\P{^Is_Blk: -Yi Syllables}', "");
-Error('\p{Block=:=- combining-Half-marks}');
-Error('\P{Block=:=- combining-Half-marks}');
-Expect(1, 65071, '\p{Block=combininghalfmarks}', "");
-Expect(0, 65071, '\p{^Block=combininghalfmarks}', "");
-Expect(0, 65071, '\P{Block=combininghalfmarks}', "");
-Expect(1, 65071, '\P{^Block=combininghalfmarks}', "");
-Expect(0, 65055, '\p{Block=combininghalfmarks}', "");
-Expect(1, 65055, '\p{^Block=combininghalfmarks}', "");
-Expect(1, 65055, '\P{Block=combininghalfmarks}', "");
-Expect(0, 65055, '\P{^Block=combininghalfmarks}', "");
-Expect(1, 65071, '\p{Block= Combining HALFmarks}', "");
-Expect(0, 65071, '\p{^Block= Combining HALFmarks}', "");
-Expect(0, 65071, '\P{Block= Combining HALFmarks}', "");
-Expect(1, 65071, '\P{^Block= Combining HALFmarks}', "");
-Expect(0, 65055, '\p{Block= Combining HALFmarks}', "");
-Expect(1, 65055, '\p{^Block= Combining HALFmarks}', "");
-Expect(1, 65055, '\P{Block= Combining HALFmarks}', "");
-Expect(0, 65055, '\P{^Block= Combining HALFmarks}', "");
-Error('\p{Blk=-combining HALF marks:=}');
-Error('\P{Blk=-combining HALF marks:=}');
-Expect(1, 65071, '\p{Blk:combininghalfmarks}', "");
-Expect(0, 65071, '\p{^Blk:combininghalfmarks}', "");
-Expect(0, 65071, '\P{Blk:combininghalfmarks}', "");
-Expect(1, 65071, '\P{^Blk:combininghalfmarks}', "");
-Expect(0, 65055, '\p{Blk:combininghalfmarks}', "");
-Expect(1, 65055, '\p{^Blk:combininghalfmarks}', "");
-Expect(1, 65055, '\P{Blk:combininghalfmarks}', "");
-Expect(0, 65055, '\P{^Blk:combininghalfmarks}', "");
-Expect(1, 65071, '\p{Blk=_ Combining-half-marks}', "");
-Expect(0, 65071, '\p{^Blk=_ Combining-half-marks}', "");
-Expect(0, 65071, '\P{Blk=_ Combining-half-marks}', "");
-Expect(1, 65071, '\P{^Blk=_ Combining-half-marks}', "");
-Expect(0, 65055, '\p{Blk=_ Combining-half-marks}', "");
-Expect(1, 65055, '\p{^Blk=_ Combining-half-marks}', "");
-Expect(1, 65055, '\P{Blk=_ Combining-half-marks}', "");
-Expect(0, 65055, '\P{^Blk=_ Combining-half-marks}', "");
-Error('\p{Is_Block=_-Combininghalf Marks:=}');
-Error('\P{Is_Block=_-Combininghalf Marks:=}');
-Expect(1, 65071, '\p{Is_Block:combininghalfmarks}', "");
-Expect(0, 65071, '\p{^Is_Block:combininghalfmarks}', "");
-Expect(0, 65071, '\P{Is_Block:combininghalfmarks}', "");
-Expect(1, 65071, '\P{^Is_Block:combininghalfmarks}', "");
-Expect(0, 65055, '\p{Is_Block:combininghalfmarks}', "");
-Expect(1, 65055, '\p{^Is_Block:combininghalfmarks}', "");
-Expect(1, 65055, '\P{Is_Block:combininghalfmarks}', "");
-Expect(0, 65055, '\P{^Is_Block:combininghalfmarks}', "");
-Expect(1, 65071, '\p{Is_Block= COMBININGhalf MARKS}', "");
-Expect(0, 65071, '\p{^Is_Block= COMBININGhalf MARKS}', "");
-Expect(0, 65071, '\P{Is_Block= COMBININGhalf MARKS}', "");
-Expect(1, 65071, '\P{^Is_Block= COMBININGhalf MARKS}', "");
-Expect(0, 65055, '\p{Is_Block= COMBININGhalf MARKS}', "");
-Expect(1, 65055, '\p{^Is_Block= COMBININGhalf MARKS}', "");
-Expect(1, 65055, '\P{Is_Block= COMBININGhalf MARKS}', "");
-Expect(0, 65055, '\P{^Is_Block= COMBININGhalf MARKS}', "");
-Error('\p{Is_Blk= -combining:=Half MARKS}');
-Error('\P{Is_Blk= -combining:=Half MARKS}');
-Expect(1, 65071, '\p{Is_Blk=combininghalfmarks}', "");
-Expect(0, 65071, '\p{^Is_Blk=combininghalfmarks}', "");
-Expect(0, 65071, '\P{Is_Blk=combininghalfmarks}', "");
-Expect(1, 65071, '\P{^Is_Blk=combininghalfmarks}', "");
-Expect(0, 65055, '\p{Is_Blk=combininghalfmarks}', "");
-Expect(1, 65055, '\p{^Is_Blk=combininghalfmarks}', "");
-Expect(1, 65055, '\P{Is_Blk=combininghalfmarks}', "");
-Expect(0, 65055, '\P{^Is_Blk=combininghalfmarks}', "");
-Expect(1, 65071, '\p{Is_Blk= CombiningHalfMARKS}', "");
-Expect(0, 65071, '\p{^Is_Blk= CombiningHalfMARKS}', "");
-Expect(0, 65071, '\P{Is_Blk= CombiningHalfMARKS}', "");
-Expect(1, 65071, '\P{^Is_Blk= CombiningHalfMARKS}', "");
-Expect(0, 65055, '\p{Is_Blk= CombiningHalfMARKS}', "");
-Expect(1, 65055, '\p{^Is_Blk= CombiningHalfMARKS}', "");
-Expect(1, 65055, '\P{Is_Blk= CombiningHalfMARKS}', "");
-Expect(0, 65055, '\P{^Is_Blk= CombiningHalfMARKS}', "");
-Error('\p{Block= /a/miscellaneousSYMBOLSand-Arrows}');
-Error('\P{Block= /a/miscellaneousSYMBOLSand-Arrows}');
-Expect(1, 11263, '\p{Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(0, 11263, '\p{^Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(0, 11263, '\P{Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(1, 11263, '\P{^Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(0, 11007, '\p{Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(1, 11007, '\p{^Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(1, 11007, '\P{Block=_ MiscellaneousSymbols andArrows}', "");
-Expect(0, 11007, '\P{^Block=_ MiscellaneousSymbols andArrows}', "");
-Error('\p{Blk=- Miscellaneous_Symbols And/a/Arrows}');
-Error('\P{Blk=- Miscellaneous_Symbols And/a/Arrows}');
-Expect(1, 11263, '\p{Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(0, 11263, '\p{^Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(0, 11263, '\P{Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(1, 11263, '\P{^Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(0, 11007, '\p{Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(1, 11007, '\p{^Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(1, 11007, '\P{Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Expect(0, 11007, '\P{^Blk= -Miscellaneous SYMBOLSAnd ARROWS}', "");
-Error('\p{Is_Block=__miscellaneous_Symbols And:=ARROWS}');
-Error('\P{Is_Block=__miscellaneous_Symbols And:=ARROWS}');
-Expect(1, 11263, '\p{Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^Is_Block=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(0, 11263, '\p{^Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(0, 11263, '\P{Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(1, 11263, '\P{^Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(0, 11007, '\p{Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(1, 11007, '\p{^Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(1, 11007, '\P{Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Expect(0, 11007, '\P{^Is_Block: - Miscellaneous_Symbols And Arrows}', "");
-Error('\p{Is_Blk= /a/MISCELLANEOUS_Symbols And Arrows}');
-Error('\P{Is_Blk= /a/MISCELLANEOUS_Symbols And Arrows}');
-Expect(1, 11263, '\p{Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^Is_Blk=miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(0, 11263, '\p{^Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(0, 11263, '\P{Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(1, 11263, '\P{^Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(0, 11007, '\p{Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(1, 11007, '\p{^Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(1, 11007, '\P{Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Expect(0, 11007, '\P{^Is_Blk=--MISCELLANEOUS_SymbolsAnd_Arrows}', "");
-Error('\p{Block=:=Halfwidth And_fullwidth-Forms}');
-Error('\P{Block=:=Halfwidth And_fullwidth-Forms}');
-Expect(1, 65519, '\p{Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{Block= Halfwidth AndFullwidthforms}', "");
-Expect(0, 65519, '\p{^Block= Halfwidth AndFullwidthforms}', "");
-Expect(0, 65519, '\P{Block= Halfwidth AndFullwidthforms}', "");
-Expect(1, 65519, '\P{^Block= Halfwidth AndFullwidthforms}', "");
-Expect(0, 65279, '\p{Block= Halfwidth AndFullwidthforms}', "");
-Expect(1, 65279, '\p{^Block= Halfwidth AndFullwidthforms}', "");
-Expect(1, 65279, '\P{Block= Halfwidth AndFullwidthforms}', "");
-Expect(0, 65279, '\P{^Block= Halfwidth AndFullwidthforms}', "");
-Error('\p{Blk= /a/Halfwidth_and_fullwidth Forms}');
-Error('\P{Blk= /a/Halfwidth_and_fullwidth Forms}');
-Expect(1, 65519, '\p{Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(0, 65519, '\p{^Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(0, 65519, '\P{Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(1, 65519, '\P{^Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(0, 65279, '\p{Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(1, 65279, '\p{^Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(1, 65279, '\P{Blk= halfwidth and_Fullwidth Forms}', "");
-Expect(0, 65279, '\P{^Blk= halfwidth and_Fullwidth Forms}', "");
-Error('\p{Is_Block= /a/halfwidth-AND_fullwidth forms}');
-Error('\P{Is_Block= /a/halfwidth-AND_fullwidth forms}');
-Expect(1, 65519, '\p{Is_Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^Is_Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{Is_Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^Is_Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{Is_Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^Is_Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{Is_Block=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^Is_Block=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(0, 65519, '\p{^Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(0, 65519, '\P{Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(1, 65519, '\P{^Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(0, 65279, '\p{Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(1, 65279, '\p{^Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(1, 65279, '\P{Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Expect(0, 65279, '\P{^Is_Block=_ Halfwidth And Fullwidth_Forms}', "");
-Error('\p{Is_Blk=_/a/HALFWIDTH-and-Fullwidth Forms}');
-Error('\P{Is_Blk=_/a/HALFWIDTH-and-Fullwidth Forms}');
-Expect(1, 65519, '\p{Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^Is_Blk=halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(0, 65519, '\p{^Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(0, 65519, '\P{Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(1, 65519, '\P{^Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(0, 65279, '\p{Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(1, 65279, '\p{^Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(1, 65279, '\P{Is_Blk= _Halfwidth and FullwidthForms}', "");
-Expect(0, 65279, '\P{^Is_Blk= _Halfwidth and FullwidthForms}', "");
-Error('\p{Block=_SupplementaryPrivate Use/a/AreaB}');
-Error('\P{Block=_SupplementaryPrivate Use/a/AreaB}');
-Expect(1, 1048576, '\p{Block=supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^Block=supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{Block=supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^Block=supplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{Block=supplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^Block=supplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{Block=supplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^Block=supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{Block=-Supplementary-private Use-area-B}', "");
-Expect(0, 1048576, '\p{^Block=-Supplementary-private Use-area-B}', "");
-Expect(0, 1048576, '\P{Block=-Supplementary-private Use-area-B}', "");
-Expect(1, 1048576, '\P{^Block=-Supplementary-private Use-area-B}', "");
-Expect(0, 1, '\p{Block=-Supplementary-private Use-area-B}', "");
-Expect(1, 1, '\p{^Block=-Supplementary-private Use-area-B}', "");
-Expect(1, 1, '\P{Block=-Supplementary-private Use-area-B}', "");
-Expect(0, 1, '\P{^Block=-Supplementary-private Use-area-B}', "");
-Error('\p{Blk=_Supplementary/a/Private Use areab}');
-Error('\P{Blk=_Supplementary/a/Private Use areab}');
-Expect(1, 1048576, '\p{Blk=supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^Blk=supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{Blk=supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^Blk=supplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{Blk=supplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^Blk=supplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{Blk=supplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^Blk=supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(0, 1048576, '\p{^Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(0, 1048576, '\P{Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(1, 1048576, '\P{^Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(0, 1, '\p{Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(1, 1, '\p{^Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(1, 1, '\P{Blk= SupplementaryprivateUSE-AREA-B}', "");
-Expect(0, 1, '\P{^Blk= SupplementaryprivateUSE-AREA-B}', "");
-Error('\p{Is_Block=- Supplementary:=Private-Use-Area-B}');
-Error('\P{Is_Block=- Supplementary:=Private-Use-Area-B}');
-Expect(1, 1048576, '\p{Is_Block=supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^Is_Block=supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{Is_Block=supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^Is_Block=supplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{Is_Block=supplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^Is_Block=supplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{Is_Block=supplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^Is_Block=supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(0, 1048576, '\p{^Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(0, 1048576, '\P{Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(1, 1048576, '\P{^Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(0, 1, '\p{Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(1, 1, '\p{^Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(1, 1, '\P{Is_Block=-_Supplementary Private use-Area_B}', "");
-Expect(0, 1, '\P{^Is_Block=-_Supplementary Private use-Area_B}', "");
-Error('\p{Is_Blk=_ SUPPLEMENTARY Private:=Use AREAB}');
-Error('\P{Is_Blk=_ SUPPLEMENTARY Private:=Use AREAB}');
-Expect(1, 1048576, '\p{Is_Blk: supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^Is_Blk: supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{Is_Blk: supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^Is_Blk: supplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{Is_Blk: supplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^Is_Blk: supplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{Is_Blk: supplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^Is_Blk: supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(0, 1048576, '\p{^Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(0, 1048576, '\P{Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(1, 1048576, '\P{^Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(0, 1, '\p{Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(1, 1, '\p{^Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(1, 1, '\P{Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Expect(0, 1, '\P{^Is_Blk=- supplementary PRIVATE use AREA-b}', "");
-Error('\p{Block: /a/ _Sundanese}');
-Error('\P{Block: /a/ _Sundanese}');
-Expect(1, 7103, '\p{Block=sundanese}', "");
-Expect(0, 7103, '\p{^Block=sundanese}', "");
-Expect(0, 7103, '\P{Block=sundanese}', "");
-Expect(1, 7103, '\P{^Block=sundanese}', "");
-Expect(0, 7039, '\p{Block=sundanese}', "");
-Expect(1, 7039, '\p{^Block=sundanese}', "");
-Expect(1, 7039, '\P{Block=sundanese}', "");
-Expect(0, 7039, '\P{^Block=sundanese}', "");
-Expect(1, 7103, '\p{Block= _Sundanese}', "");
-Expect(0, 7103, '\p{^Block= _Sundanese}', "");
-Expect(0, 7103, '\P{Block= _Sundanese}', "");
-Expect(1, 7103, '\P{^Block= _Sundanese}', "");
-Expect(0, 7039, '\p{Block= _Sundanese}', "");
-Expect(1, 7039, '\p{^Block= _Sundanese}', "");
-Expect(1, 7039, '\P{Block= _Sundanese}', "");
-Expect(0, 7039, '\P{^Block= _Sundanese}', "");
-Error('\p{Blk: :=sundanese}');
-Error('\P{Blk: :=sundanese}');
-Expect(1, 7103, '\p{Blk=sundanese}', "");
-Expect(0, 7103, '\p{^Blk=sundanese}', "");
-Expect(0, 7103, '\P{Blk=sundanese}', "");
-Expect(1, 7103, '\P{^Blk=sundanese}', "");
-Expect(0, 7039, '\p{Blk=sundanese}', "");
-Expect(1, 7039, '\p{^Blk=sundanese}', "");
-Expect(1, 7039, '\P{Blk=sundanese}', "");
-Expect(0, 7039, '\P{^Blk=sundanese}', "");
-Expect(1, 7103, '\p{Blk= sundanese}', "");
-Expect(0, 7103, '\p{^Blk= sundanese}', "");
-Expect(0, 7103, '\P{Blk= sundanese}', "");
-Expect(1, 7103, '\P{^Blk= sundanese}', "");
-Expect(0, 7039, '\p{Blk= sundanese}', "");
-Expect(1, 7039, '\p{^Blk= sundanese}', "");
-Expect(1, 7039, '\P{Blk= sundanese}', "");
-Expect(0, 7039, '\P{^Blk= sundanese}', "");
-Error('\p{Is_Block=_ Sundanese/a/}');
-Error('\P{Is_Block=_ Sundanese/a/}');
-Expect(1, 7103, '\p{Is_Block=sundanese}', "");
-Expect(0, 7103, '\p{^Is_Block=sundanese}', "");
-Expect(0, 7103, '\P{Is_Block=sundanese}', "");
-Expect(1, 7103, '\P{^Is_Block=sundanese}', "");
-Expect(0, 7039, '\p{Is_Block=sundanese}', "");
-Expect(1, 7039, '\p{^Is_Block=sundanese}', "");
-Expect(1, 7039, '\P{Is_Block=sundanese}', "");
-Expect(0, 7039, '\P{^Is_Block=sundanese}', "");
-Expect(1, 7103, '\p{Is_Block= _Sundanese}', "");
-Expect(0, 7103, '\p{^Is_Block= _Sundanese}', "");
-Expect(0, 7103, '\P{Is_Block= _Sundanese}', "");
-Expect(1, 7103, '\P{^Is_Block= _Sundanese}', "");
-Expect(0, 7039, '\p{Is_Block= _Sundanese}', "");
-Expect(1, 7039, '\p{^Is_Block= _Sundanese}', "");
-Expect(1, 7039, '\P{Is_Block= _Sundanese}', "");
-Expect(0, 7039, '\P{^Is_Block= _Sundanese}', "");
-Error('\p{Is_Blk= :=SUNDANESE}');
-Error('\P{Is_Blk= :=SUNDANESE}');
-Expect(1, 7103, '\p{Is_Blk=sundanese}', "");
-Expect(0, 7103, '\p{^Is_Blk=sundanese}', "");
-Expect(0, 7103, '\P{Is_Blk=sundanese}', "");
-Expect(1, 7103, '\P{^Is_Blk=sundanese}', "");
-Expect(0, 7039, '\p{Is_Blk=sundanese}', "");
-Expect(1, 7039, '\p{^Is_Blk=sundanese}', "");
-Expect(1, 7039, '\P{Is_Blk=sundanese}', "");
-Expect(0, 7039, '\P{^Is_Blk=sundanese}', "");
-Expect(1, 7103, '\p{Is_Blk=_-Sundanese}', "");
-Expect(0, 7103, '\p{^Is_Blk=_-Sundanese}', "");
-Expect(0, 7103, '\P{Is_Blk=_-Sundanese}', "");
-Expect(1, 7103, '\P{^Is_Blk=_-Sundanese}', "");
-Expect(0, 7039, '\p{Is_Blk=_-Sundanese}', "");
-Expect(1, 7039, '\p{^Is_Blk=_-Sundanese}', "");
-Expect(1, 7039, '\P{Is_Blk=_-Sundanese}', "");
-Expect(0, 7039, '\P{^Is_Blk=_-Sundanese}', "");
-Error('\p{Block=--Enclosed:=ALPHANUMERICS}');
-Error('\P{Block=--Enclosed:=ALPHANUMERICS}');
-Expect(1, 9471, '\p{Block=enclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^Block=enclosedalphanumerics}', "");
-Expect(0, 9471, '\P{Block=enclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^Block=enclosedalphanumerics}', "");
-Expect(0, 9311, '\p{Block=enclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^Block=enclosedalphanumerics}', "");
-Expect(1, 9311, '\P{Block=enclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^Block=enclosedalphanumerics}', "");
-Expect(1, 9471, '\p{Block= enclosed-alphanumerics}', "");
-Expect(0, 9471, '\p{^Block= enclosed-alphanumerics}', "");
-Expect(0, 9471, '\P{Block= enclosed-alphanumerics}', "");
-Expect(1, 9471, '\P{^Block= enclosed-alphanumerics}', "");
-Expect(0, 9311, '\p{Block= enclosed-alphanumerics}', "");
-Expect(1, 9311, '\p{^Block= enclosed-alphanumerics}', "");
-Expect(1, 9311, '\P{Block= enclosed-alphanumerics}', "");
-Expect(0, 9311, '\P{^Block= enclosed-alphanumerics}', "");
-Error('\p{Blk= Enclosed:=ALPHANUMERICS}');
-Error('\P{Blk= Enclosed:=ALPHANUMERICS}');
-Expect(1, 9471, '\p{Blk=enclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^Blk=enclosedalphanumerics}', "");
-Expect(0, 9471, '\P{Blk=enclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^Blk=enclosedalphanumerics}', "");
-Expect(0, 9311, '\p{Blk=enclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^Blk=enclosedalphanumerics}', "");
-Expect(1, 9311, '\P{Blk=enclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^Blk=enclosedalphanumerics}', "");
-Expect(1, 9471, '\p{Blk= -EnclosedAlphanumerics}', "");
-Expect(0, 9471, '\p{^Blk= -EnclosedAlphanumerics}', "");
-Expect(0, 9471, '\P{Blk= -EnclosedAlphanumerics}', "");
-Expect(1, 9471, '\P{^Blk= -EnclosedAlphanumerics}', "");
-Expect(0, 9311, '\p{Blk= -EnclosedAlphanumerics}', "");
-Expect(1, 9311, '\p{^Blk= -EnclosedAlphanumerics}', "");
-Expect(1, 9311, '\P{Blk= -EnclosedAlphanumerics}', "");
-Expect(0, 9311, '\P{^Blk= -EnclosedAlphanumerics}', "");
-Error('\p{Is_Block=_Enclosed-Alphanumerics:=}');
-Error('\P{Is_Block=_Enclosed-Alphanumerics:=}');
-Expect(1, 9471, '\p{Is_Block: enclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^Is_Block: enclosedalphanumerics}', "");
-Expect(0, 9471, '\P{Is_Block: enclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^Is_Block: enclosedalphanumerics}', "");
-Expect(0, 9311, '\p{Is_Block: enclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^Is_Block: enclosedalphanumerics}', "");
-Expect(1, 9311, '\P{Is_Block: enclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^Is_Block: enclosedalphanumerics}', "");
-Expect(1, 9471, '\p{Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(0, 9471, '\p{^Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(0, 9471, '\P{Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(1, 9471, '\P{^Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(0, 9311, '\p{Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(1, 9311, '\p{^Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(1, 9311, '\P{Is_Block= -enclosed-ALPHANUMERICS}', "");
-Expect(0, 9311, '\P{^Is_Block= -enclosed-ALPHANUMERICS}', "");
-Error('\p{Is_Blk=/a/_ Enclosed-Alphanumerics}');
-Error('\P{Is_Blk=/a/_ Enclosed-Alphanumerics}');
-Expect(1, 9471, '\p{Is_Blk=enclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^Is_Blk=enclosedalphanumerics}', "");
-Expect(0, 9471, '\P{Is_Blk=enclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^Is_Blk=enclosedalphanumerics}', "");
-Expect(0, 9311, '\p{Is_Blk=enclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^Is_Blk=enclosedalphanumerics}', "");
-Expect(1, 9311, '\P{Is_Blk=enclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^Is_Blk=enclosedalphanumerics}', "");
-Expect(1, 9471, '\p{Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(0, 9471, '\p{^Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(0, 9471, '\P{Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(1, 9471, '\P{^Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(0, 9311, '\p{Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(1, 9311, '\p{^Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(1, 9311, '\P{Is_Blk: - EnclosedALPHANUMERICS}', "");
-Expect(0, 9311, '\P{^Is_Blk: - EnclosedALPHANUMERICS}', "");
-Error('\p{Block= :=Old SouthARABIAN}');
-Error('\P{Block= :=Old SouthARABIAN}');
-Expect(1, 68223, '\p{Block=oldsoutharabian}', "");
-Expect(0, 68223, '\p{^Block=oldsoutharabian}', "");
-Expect(0, 68223, '\P{Block=oldsoutharabian}', "");
-Expect(1, 68223, '\P{^Block=oldsoutharabian}', "");
-Expect(0, 68191, '\p{Block=oldsoutharabian}', "");
-Expect(1, 68191, '\p{^Block=oldsoutharabian}', "");
-Expect(1, 68191, '\P{Block=oldsoutharabian}', "");
-Expect(0, 68191, '\P{^Block=oldsoutharabian}', "");
-Expect(1, 68223, '\p{Block=_-Old_SOUTH arabian}', "");
-Expect(0, 68223, '\p{^Block=_-Old_SOUTH arabian}', "");
-Expect(0, 68223, '\P{Block=_-Old_SOUTH arabian}', "");
-Expect(1, 68223, '\P{^Block=_-Old_SOUTH arabian}', "");
-Expect(0, 68191, '\p{Block=_-Old_SOUTH arabian}', "");
-Expect(1, 68191, '\p{^Block=_-Old_SOUTH arabian}', "");
-Expect(1, 68191, '\P{Block=_-Old_SOUTH arabian}', "");
-Expect(0, 68191, '\P{^Block=_-Old_SOUTH arabian}', "");
-Error('\p{Blk=/a/__old SOUTH Arabian}');
-Error('\P{Blk=/a/__old SOUTH Arabian}');
-Expect(1, 68223, '\p{Blk=oldsoutharabian}', "");
-Expect(0, 68223, '\p{^Blk=oldsoutharabian}', "");
-Expect(0, 68223, '\P{Blk=oldsoutharabian}', "");
-Expect(1, 68223, '\P{^Blk=oldsoutharabian}', "");
-Expect(0, 68191, '\p{Blk=oldsoutharabian}', "");
-Expect(1, 68191, '\p{^Blk=oldsoutharabian}', "");
-Expect(1, 68191, '\P{Blk=oldsoutharabian}', "");
-Expect(0, 68191, '\P{^Blk=oldsoutharabian}', "");
-Expect(1, 68223, '\p{Blk=Old South ARABIAN}', "");
-Expect(0, 68223, '\p{^Blk=Old South ARABIAN}', "");
-Expect(0, 68223, '\P{Blk=Old South ARABIAN}', "");
-Expect(1, 68223, '\P{^Blk=Old South ARABIAN}', "");
-Expect(0, 68191, '\p{Blk=Old South ARABIAN}', "");
-Expect(1, 68191, '\p{^Blk=Old South ARABIAN}', "");
-Expect(1, 68191, '\P{Blk=Old South ARABIAN}', "");
-Expect(0, 68191, '\P{^Blk=Old South ARABIAN}', "");
-Error('\p{Is_Block=_:=old SOUTHARABIAN}');
-Error('\P{Is_Block=_:=old SOUTHARABIAN}');
-Expect(1, 68223, '\p{Is_Block=oldsoutharabian}', "");
-Expect(0, 68223, '\p{^Is_Block=oldsoutharabian}', "");
-Expect(0, 68223, '\P{Is_Block=oldsoutharabian}', "");
-Expect(1, 68223, '\P{^Is_Block=oldsoutharabian}', "");
-Expect(0, 68191, '\p{Is_Block=oldsoutharabian}', "");
-Expect(1, 68191, '\p{^Is_Block=oldsoutharabian}', "");
-Expect(1, 68191, '\P{Is_Block=oldsoutharabian}', "");
-Expect(0, 68191, '\P{^Is_Block=oldsoutharabian}', "");
-Expect(1, 68223, '\p{Is_Block: _oldSOUTH Arabian}', "");
-Expect(0, 68223, '\p{^Is_Block: _oldSOUTH Arabian}', "");
-Expect(0, 68223, '\P{Is_Block: _oldSOUTH Arabian}', "");
-Expect(1, 68223, '\P{^Is_Block: _oldSOUTH Arabian}', "");
-Expect(0, 68191, '\p{Is_Block: _oldSOUTH Arabian}', "");
-Expect(1, 68191, '\p{^Is_Block: _oldSOUTH Arabian}', "");
-Expect(1, 68191, '\P{Is_Block: _oldSOUTH Arabian}', "");
-Expect(0, 68191, '\P{^Is_Block: _oldSOUTH Arabian}', "");
-Error('\p{Is_Blk=_ old south Arabian/a/}');
-Error('\P{Is_Blk=_ old south Arabian/a/}');
-Expect(1, 68223, '\p{Is_Blk=oldsoutharabian}', "");
-Expect(0, 68223, '\p{^Is_Blk=oldsoutharabian}', "");
-Expect(0, 68223, '\P{Is_Blk=oldsoutharabian}', "");
-Expect(1, 68223, '\P{^Is_Blk=oldsoutharabian}', "");
-Expect(0, 68191, '\p{Is_Blk=oldsoutharabian}', "");
-Expect(1, 68191, '\p{^Is_Blk=oldsoutharabian}', "");
-Expect(1, 68191, '\P{Is_Blk=oldsoutharabian}', "");
-Expect(0, 68191, '\P{^Is_Blk=oldsoutharabian}', "");
-Expect(1, 68223, '\p{Is_Blk= OLD south arabian}', "");
-Expect(0, 68223, '\p{^Is_Blk= OLD south arabian}', "");
-Expect(0, 68223, '\P{Is_Blk= OLD south arabian}', "");
-Expect(1, 68223, '\P{^Is_Blk= OLD south arabian}', "");
-Expect(0, 68191, '\p{Is_Blk= OLD south arabian}', "");
-Expect(1, 68191, '\p{^Is_Blk= OLD south arabian}', "");
-Expect(1, 68191, '\P{Is_Blk= OLD south arabian}', "");
-Expect(0, 68191, '\P{^Is_Blk= OLD south arabian}', "");
-Error('\p{Block: _/a/Tags}');
-Error('\P{Block: _/a/Tags}');
-Expect(1, 917631, '\p{Block=tags}', "");
-Expect(0, 917631, '\p{^Block=tags}', "");
-Expect(0, 917631, '\P{Block=tags}', "");
-Expect(1, 917631, '\P{^Block=tags}', "");
-Expect(0, 1, '\p{Block=tags}', "");
-Expect(1, 1, '\p{^Block=tags}', "");
-Expect(1, 1, '\P{Block=tags}', "");
-Expect(0, 1, '\P{^Block=tags}', "");
-Expect(1, 917631, '\p{Block=- Tags}', "");
-Expect(0, 917631, '\p{^Block=- Tags}', "");
-Expect(0, 917631, '\P{Block=- Tags}', "");
-Expect(1, 917631, '\P{^Block=- Tags}', "");
-Expect(0, 1, '\p{Block=- Tags}', "");
-Expect(1, 1, '\p{^Block=- Tags}', "");
-Expect(1, 1, '\P{Block=- Tags}', "");
-Expect(0, 1, '\P{^Block=- Tags}', "");
-Error('\p{Blk=--Tags/a/}');
-Error('\P{Blk=--Tags/a/}');
-Expect(1, 917631, '\p{Blk=tags}', "");
-Expect(0, 917631, '\p{^Blk=tags}', "");
-Expect(0, 917631, '\P{Blk=tags}', "");
-Expect(1, 917631, '\P{^Blk=tags}', "");
-Expect(0, 1, '\p{Blk=tags}', "");
-Expect(1, 1, '\p{^Blk=tags}', "");
-Expect(1, 1, '\P{Blk=tags}', "");
-Expect(0, 1, '\P{^Blk=tags}', "");
-Expect(1, 917631, '\p{Blk=_ tags}', "");
-Expect(0, 917631, '\p{^Blk=_ tags}', "");
-Expect(0, 917631, '\P{Blk=_ tags}', "");
-Expect(1, 917631, '\P{^Blk=_ tags}', "");
-Expect(0, 1, '\p{Blk=_ tags}', "");
-Expect(1, 1, '\p{^Blk=_ tags}', "");
-Expect(1, 1, '\P{Blk=_ tags}', "");
-Expect(0, 1, '\P{^Blk=_ tags}', "");
-Error('\p{Is_Block=/a/-Tags}');
-Error('\P{Is_Block=/a/-Tags}');
-Expect(1, 917631, '\p{Is_Block=tags}', "");
-Expect(0, 917631, '\p{^Is_Block=tags}', "");
-Expect(0, 917631, '\P{Is_Block=tags}', "");
-Expect(1, 917631, '\P{^Is_Block=tags}', "");
-Expect(0, 1, '\p{Is_Block=tags}', "");
-Expect(1, 1, '\p{^Is_Block=tags}', "");
-Expect(1, 1, '\P{Is_Block=tags}', "");
-Expect(0, 1, '\P{^Is_Block=tags}', "");
-Expect(1, 917631, '\p{Is_Block= Tags}', "");
-Expect(0, 917631, '\p{^Is_Block= Tags}', "");
-Expect(0, 917631, '\P{Is_Block= Tags}', "");
-Expect(1, 917631, '\P{^Is_Block= Tags}', "");
-Expect(0, 1, '\p{Is_Block= Tags}', "");
-Expect(1, 1, '\p{^Is_Block= Tags}', "");
-Expect(1, 1, '\P{Is_Block= Tags}', "");
-Expect(0, 1, '\P{^Is_Block= Tags}', "");
-Error('\p{Is_Blk=_-Tags:=}');
-Error('\P{Is_Blk=_-Tags:=}');
-Expect(1, 917631, '\p{Is_Blk=tags}', "");
-Expect(0, 917631, '\p{^Is_Blk=tags}', "");
-Expect(0, 917631, '\P{Is_Blk=tags}', "");
-Expect(1, 917631, '\P{^Is_Blk=tags}', "");
-Expect(0, 1, '\p{Is_Blk=tags}', "");
-Expect(1, 1, '\p{^Is_Blk=tags}', "");
-Expect(1, 1, '\P{Is_Blk=tags}', "");
-Expect(0, 1, '\P{^Is_Blk=tags}', "");
-Expect(1, 917631, '\p{Is_Blk= Tags}', "");
-Expect(0, 917631, '\p{^Is_Blk= Tags}', "");
-Expect(0, 917631, '\P{Is_Blk= Tags}', "");
-Expect(1, 917631, '\P{^Is_Blk= Tags}', "");
-Expect(0, 1, '\p{Is_Blk= Tags}', "");
-Expect(1, 1, '\p{^Is_Blk= Tags}', "");
-Expect(1, 1, '\P{Is_Blk= Tags}', "");
-Expect(0, 1, '\P{^Is_Blk= Tags}', "");
-Error('\p{Block=_Miscellaneous-MATHEMATICAL:=SymbolsA}');
-Error('\P{Block=_Miscellaneous-MATHEMATICAL:=SymbolsA}');
-Expect(1, 10223, '\p{Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(0, 10223, '\p{^Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(0, 10223, '\P{Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(1, 10223, '\P{^Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(0, 10175, '\p{Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(1, 10175, '\p{^Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(1, 10175, '\P{Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Expect(0, 10175, '\P{^Block=- Miscellaneous-MATHEMATICAL-SYMBOLS A}', "");
-Error('\p{Blk= Miscellaneous_mathematical Symbols:=A}');
-Error('\P{Blk= Miscellaneous_mathematical Symbols:=A}');
-Expect(1, 10223, '\p{Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(0, 10223, '\p{^Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(0, 10223, '\P{Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(1, 10223, '\P{^Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(0, 10175, '\p{Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(1, 10175, '\p{^Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(1, 10175, '\P{Blk= miscellaneous mathematical-symbols_A}', "");
-Expect(0, 10175, '\P{^Blk= miscellaneous mathematical-symbols_A}', "");
-Error('\p{Is_Block= MISCELLANEOUS_MATHEMATICAL_symbols A/a/}');
-Error('\P{Is_Block= MISCELLANEOUS_MATHEMATICAL_symbols A/a/}');
-Expect(1, 10223, '\p{Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^Is_Block=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(0, 10223, '\p{^Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(0, 10223, '\P{Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(1, 10223, '\P{^Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(0, 10175, '\p{Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(1, 10175, '\p{^Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(1, 10175, '\P{Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Expect(0, 10175, '\P{^Is_Block: miscellaneous_MathematicalSymbols a}', "");
-Error('\p{Is_Blk= -MISCELLANEOUS/a/MathematicalSymbols A}');
-Error('\P{Is_Blk= -MISCELLANEOUS/a/MathematicalSymbols A}');
-Expect(1, 10223, '\p{Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^Is_Blk=miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(0, 10223, '\p{^Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(0, 10223, '\P{Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(1, 10223, '\P{^Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(0, 10175, '\p{Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(1, 10175, '\p{^Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(1, 10175, '\P{Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Expect(0, 10175, '\P{^Is_Blk=-miscellaneousMathematical_symbols-a}', "");
-Error('\p{Block=:=-braillepatterns}');
-Error('\P{Block=:=-braillepatterns}');
-Expect(1, 10495, '\p{Block=braillepatterns}', "");
-Expect(0, 10495, '\p{^Block=braillepatterns}', "");
-Expect(0, 10495, '\P{Block=braillepatterns}', "");
-Expect(1, 10495, '\P{^Block=braillepatterns}', "");
-Expect(0, 10239, '\p{Block=braillepatterns}', "");
-Expect(1, 10239, '\p{^Block=braillepatterns}', "");
-Expect(1, 10239, '\P{Block=braillepatterns}', "");
-Expect(0, 10239, '\P{^Block=braillepatterns}', "");
-Expect(1, 10495, '\p{Block= _Braillepatterns}', "");
-Expect(0, 10495, '\p{^Block= _Braillepatterns}', "");
-Expect(0, 10495, '\P{Block= _Braillepatterns}', "");
-Expect(1, 10495, '\P{^Block= _Braillepatterns}', "");
-Expect(0, 10239, '\p{Block= _Braillepatterns}', "");
-Expect(1, 10239, '\p{^Block= _Braillepatterns}', "");
-Expect(1, 10239, '\P{Block= _Braillepatterns}', "");
-Expect(0, 10239, '\P{^Block= _Braillepatterns}', "");
-Error('\p{Blk=:= BRAILLE PATTERNS}');
-Error('\P{Blk=:= BRAILLE PATTERNS}');
-Expect(1, 10495, '\p{Blk=braillepatterns}', "");
-Expect(0, 10495, '\p{^Blk=braillepatterns}', "");
-Expect(0, 10495, '\P{Blk=braillepatterns}', "");
-Expect(1, 10495, '\P{^Blk=braillepatterns}', "");
-Expect(0, 10239, '\p{Blk=braillepatterns}', "");
-Expect(1, 10239, '\p{^Blk=braillepatterns}', "");
-Expect(1, 10239, '\P{Blk=braillepatterns}', "");
-Expect(0, 10239, '\P{^Blk=braillepatterns}', "");
-Expect(1, 10495, '\p{Blk= Braillepatterns}', "");
-Expect(0, 10495, '\p{^Blk= Braillepatterns}', "");
-Expect(0, 10495, '\P{Blk= Braillepatterns}', "");
-Expect(1, 10495, '\P{^Blk= Braillepatterns}', "");
-Expect(0, 10239, '\p{Blk= Braillepatterns}', "");
-Expect(1, 10239, '\p{^Blk= Braillepatterns}', "");
-Expect(1, 10239, '\P{Blk= Braillepatterns}', "");
-Expect(0, 10239, '\P{^Blk= Braillepatterns}', "");
-Error('\p{Is_Block= braille:=Patterns}');
-Error('\P{Is_Block= braille:=Patterns}');
-Expect(1, 10495, '\p{Is_Block=braillepatterns}', "");
-Expect(0, 10495, '\p{^Is_Block=braillepatterns}', "");
-Expect(0, 10495, '\P{Is_Block=braillepatterns}', "");
-Expect(1, 10495, '\P{^Is_Block=braillepatterns}', "");
-Expect(0, 10239, '\p{Is_Block=braillepatterns}', "");
-Expect(1, 10239, '\p{^Is_Block=braillepatterns}', "");
-Expect(1, 10239, '\P{Is_Block=braillepatterns}', "");
-Expect(0, 10239, '\P{^Is_Block=braillepatterns}', "");
-Expect(1, 10495, '\p{Is_Block=__BRAILLEPATTERNS}', "");
-Expect(0, 10495, '\p{^Is_Block=__BRAILLEPATTERNS}', "");
-Expect(0, 10495, '\P{Is_Block=__BRAILLEPATTERNS}', "");
-Expect(1, 10495, '\P{^Is_Block=__BRAILLEPATTERNS}', "");
-Expect(0, 10239, '\p{Is_Block=__BRAILLEPATTERNS}', "");
-Expect(1, 10239, '\p{^Is_Block=__BRAILLEPATTERNS}', "");
-Expect(1, 10239, '\P{Is_Block=__BRAILLEPATTERNS}', "");
-Expect(0, 10239, '\P{^Is_Block=__BRAILLEPATTERNS}', "");
-Error('\p{Is_Blk: :=_Braille Patterns}');
-Error('\P{Is_Blk: :=_Braille Patterns}');
-Expect(1, 10495, '\p{Is_Blk: braillepatterns}', "");
-Expect(0, 10495, '\p{^Is_Blk: braillepatterns}', "");
-Expect(0, 10495, '\P{Is_Blk: braillepatterns}', "");
-Expect(1, 10495, '\P{^Is_Blk: braillepatterns}', "");
-Expect(0, 10239, '\p{Is_Blk: braillepatterns}', "");
-Expect(1, 10239, '\p{^Is_Blk: braillepatterns}', "");
-Expect(1, 10239, '\P{Is_Blk: braillepatterns}', "");
-Expect(0, 10239, '\P{^Is_Blk: braillepatterns}', "");
-Expect(1, 10495, '\p{Is_Blk=_ BRAILLEpatterns}', "");
-Expect(0, 10495, '\p{^Is_Blk=_ BRAILLEpatterns}', "");
-Expect(0, 10495, '\P{Is_Blk=_ BRAILLEpatterns}', "");
-Expect(1, 10495, '\P{^Is_Blk=_ BRAILLEpatterns}', "");
-Expect(0, 10239, '\p{Is_Blk=_ BRAILLEpatterns}', "");
-Expect(1, 10239, '\p{^Is_Blk=_ BRAILLEpatterns}', "");
-Expect(1, 10239, '\P{Is_Blk=_ BRAILLEpatterns}', "");
-Expect(0, 10239, '\P{^Is_Blk=_ BRAILLEpatterns}', "");
-Error('\p{Block=/a/ORIYA}');
-Error('\P{Block=/a/ORIYA}');
-Expect(1, 2943, '\p{Block=oriya}', "");
-Expect(0, 2943, '\p{^Block=oriya}', "");
-Expect(0, 2943, '\P{Block=oriya}', "");
-Expect(1, 2943, '\P{^Block=oriya}', "");
-Expect(0, 2815, '\p{Block=oriya}', "");
-Expect(1, 2815, '\p{^Block=oriya}', "");
-Expect(1, 2815, '\P{Block=oriya}', "");
-Expect(0, 2815, '\P{^Block=oriya}', "");
-Expect(1, 2943, '\p{Block= Oriya}', "");
-Expect(0, 2943, '\p{^Block= Oriya}', "");
-Expect(0, 2943, '\P{Block= Oriya}', "");
-Expect(1, 2943, '\P{^Block= Oriya}', "");
-Expect(0, 2815, '\p{Block= Oriya}', "");
-Expect(1, 2815, '\p{^Block= Oriya}', "");
-Expect(1, 2815, '\P{Block= Oriya}', "");
-Expect(0, 2815, '\P{^Block= Oriya}', "");
-Error('\p{Blk=:=--ORIYA}');
-Error('\P{Blk=:=--ORIYA}');
-Expect(1, 2943, '\p{Blk=oriya}', "");
-Expect(0, 2943, '\p{^Blk=oriya}', "");
-Expect(0, 2943, '\P{Blk=oriya}', "");
-Expect(1, 2943, '\P{^Blk=oriya}', "");
-Expect(0, 2815, '\p{Blk=oriya}', "");
-Expect(1, 2815, '\p{^Blk=oriya}', "");
-Expect(1, 2815, '\P{Blk=oriya}', "");
-Expect(0, 2815, '\P{^Blk=oriya}', "");
-Expect(1, 2943, '\p{Blk=_-ORIYA}', "");
-Expect(0, 2943, '\p{^Blk=_-ORIYA}', "");
-Expect(0, 2943, '\P{Blk=_-ORIYA}', "");
-Expect(1, 2943, '\P{^Blk=_-ORIYA}', "");
-Expect(0, 2815, '\p{Blk=_-ORIYA}', "");
-Expect(1, 2815, '\p{^Blk=_-ORIYA}', "");
-Expect(1, 2815, '\P{Blk=_-ORIYA}', "");
-Expect(0, 2815, '\P{^Blk=_-ORIYA}', "");
-Error('\p{Is_Block=/a/ -ORIYA}');
-Error('\P{Is_Block=/a/ -ORIYA}');
-Expect(1, 2943, '\p{Is_Block=oriya}', "");
-Expect(0, 2943, '\p{^Is_Block=oriya}', "");
-Expect(0, 2943, '\P{Is_Block=oriya}', "");
-Expect(1, 2943, '\P{^Is_Block=oriya}', "");
-Expect(0, 2815, '\p{Is_Block=oriya}', "");
-Expect(1, 2815, '\p{^Is_Block=oriya}', "");
-Expect(1, 2815, '\P{Is_Block=oriya}', "");
-Expect(0, 2815, '\P{^Is_Block=oriya}', "");
-Expect(1, 2943, '\p{Is_Block= -Oriya}', "");
-Expect(0, 2943, '\p{^Is_Block= -Oriya}', "");
-Expect(0, 2943, '\P{Is_Block= -Oriya}', "");
-Expect(1, 2943, '\P{^Is_Block= -Oriya}', "");
-Expect(0, 2815, '\p{Is_Block= -Oriya}', "");
-Expect(1, 2815, '\p{^Is_Block= -Oriya}', "");
-Expect(1, 2815, '\P{Is_Block= -Oriya}', "");
-Expect(0, 2815, '\P{^Is_Block= -Oriya}', "");
-Error('\p{Is_Blk=:=_ORIYA}');
-Error('\P{Is_Blk=:=_ORIYA}');
-Expect(1, 2943, '\p{Is_Blk=oriya}', "");
-Expect(0, 2943, '\p{^Is_Blk=oriya}', "");
-Expect(0, 2943, '\P{Is_Blk=oriya}', "");
-Expect(1, 2943, '\P{^Is_Blk=oriya}', "");
-Expect(0, 2815, '\p{Is_Blk=oriya}', "");
-Expect(1, 2815, '\p{^Is_Blk=oriya}', "");
-Expect(1, 2815, '\P{Is_Blk=oriya}', "");
-Expect(0, 2815, '\P{^Is_Blk=oriya}', "");
-Expect(1, 2943, '\p{Is_Blk=--oriya}', "");
-Expect(0, 2943, '\p{^Is_Blk=--oriya}', "");
-Expect(0, 2943, '\P{Is_Blk=--oriya}', "");
-Expect(1, 2943, '\P{^Is_Blk=--oriya}', "");
-Expect(0, 2815, '\p{Is_Blk=--oriya}', "");
-Expect(1, 2815, '\p{^Is_Blk=--oriya}', "");
-Expect(1, 2815, '\P{Is_Blk=--oriya}', "");
-Expect(0, 2815, '\P{^Is_Blk=--oriya}', "");
-Error('\p{Block:_-Linear/a/BIdeograms}');
-Error('\P{Block:_-Linear/a/BIdeograms}');
-Expect(1, 65791, '\p{Block=linearbideograms}', "");
-Expect(0, 65791, '\p{^Block=linearbideograms}', "");
-Expect(0, 65791, '\P{Block=linearbideograms}', "");
-Expect(1, 65791, '\P{^Block=linearbideograms}', "");
-Expect(0, 65663, '\p{Block=linearbideograms}', "");
-Expect(1, 65663, '\p{^Block=linearbideograms}', "");
-Expect(1, 65663, '\P{Block=linearbideograms}', "");
-Expect(0, 65663, '\P{^Block=linearbideograms}', "");
-Expect(1, 65791, '\p{Block=-Linear B_ideograms}', "");
-Expect(0, 65791, '\p{^Block=-Linear B_ideograms}', "");
-Expect(0, 65791, '\P{Block=-Linear B_ideograms}', "");
-Expect(1, 65791, '\P{^Block=-Linear B_ideograms}', "");
-Expect(0, 65663, '\p{Block=-Linear B_ideograms}', "");
-Expect(1, 65663, '\p{^Block=-Linear B_ideograms}', "");
-Expect(1, 65663, '\P{Block=-Linear B_ideograms}', "");
-Expect(0, 65663, '\P{^Block=-Linear B_ideograms}', "");
-Error('\p{Blk=_:=Linear-b_Ideograms}');
-Error('\P{Blk=_:=Linear-b_Ideograms}');
-Expect(1, 65791, '\p{Blk=linearbideograms}', "");
-Expect(0, 65791, '\p{^Blk=linearbideograms}', "");
-Expect(0, 65791, '\P{Blk=linearbideograms}', "");
-Expect(1, 65791, '\P{^Blk=linearbideograms}', "");
-Expect(0, 65663, '\p{Blk=linearbideograms}', "");
-Expect(1, 65663, '\p{^Blk=linearbideograms}', "");
-Expect(1, 65663, '\P{Blk=linearbideograms}', "");
-Expect(0, 65663, '\P{^Blk=linearbideograms}', "");
-Expect(1, 65791, '\p{Blk=-_LinearB Ideograms}', "");
-Expect(0, 65791, '\p{^Blk=-_LinearB Ideograms}', "");
-Expect(0, 65791, '\P{Blk=-_LinearB Ideograms}', "");
-Expect(1, 65791, '\P{^Blk=-_LinearB Ideograms}', "");
-Expect(0, 65663, '\p{Blk=-_LinearB Ideograms}', "");
-Expect(1, 65663, '\p{^Blk=-_LinearB Ideograms}', "");
-Expect(1, 65663, '\P{Blk=-_LinearB Ideograms}', "");
-Expect(0, 65663, '\P{^Blk=-_LinearB Ideograms}', "");
-Error('\p{Is_Block= /a/linear-B Ideograms}');
-Error('\P{Is_Block= /a/linear-B Ideograms}');
-Expect(1, 65791, '\p{Is_Block=linearbideograms}', "");
-Expect(0, 65791, '\p{^Is_Block=linearbideograms}', "");
-Expect(0, 65791, '\P{Is_Block=linearbideograms}', "");
-Expect(1, 65791, '\P{^Is_Block=linearbideograms}', "");
-Expect(0, 65663, '\p{Is_Block=linearbideograms}', "");
-Expect(1, 65663, '\p{^Is_Block=linearbideograms}', "");
-Expect(1, 65663, '\P{Is_Block=linearbideograms}', "");
-Expect(0, 65663, '\P{^Is_Block=linearbideograms}', "");
-Expect(1, 65791, '\p{Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(0, 65791, '\p{^Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(0, 65791, '\P{Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(1, 65791, '\P{^Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(0, 65663, '\p{Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(1, 65663, '\p{^Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(1, 65663, '\P{Is_Block=_-LinearBIDEOGRAMS}', "");
-Expect(0, 65663, '\P{^Is_Block=_-LinearBIDEOGRAMS}', "");
-Error('\p{Is_Blk= Linear_B:=Ideograms}');
-Error('\P{Is_Blk= Linear_B:=Ideograms}');
-Expect(1, 65791, '\p{Is_Blk=linearbideograms}', "");
-Expect(0, 65791, '\p{^Is_Blk=linearbideograms}', "");
-Expect(0, 65791, '\P{Is_Blk=linearbideograms}', "");
-Expect(1, 65791, '\P{^Is_Blk=linearbideograms}', "");
-Expect(0, 65663, '\p{Is_Blk=linearbideograms}', "");
-Expect(1, 65663, '\p{^Is_Blk=linearbideograms}', "");
-Expect(1, 65663, '\P{Is_Blk=linearbideograms}', "");
-Expect(0, 65663, '\P{^Is_Blk=linearbideograms}', "");
-Expect(1, 65791, '\p{Is_Blk: _Linear-BIdeograms}', "");
-Expect(0, 65791, '\p{^Is_Blk: _Linear-BIdeograms}', "");
-Expect(0, 65791, '\P{Is_Blk: _Linear-BIdeograms}', "");
-Expect(1, 65791, '\P{^Is_Blk: _Linear-BIdeograms}', "");
-Expect(0, 65663, '\p{Is_Blk: _Linear-BIdeograms}', "");
-Expect(1, 65663, '\p{^Is_Blk: _Linear-BIdeograms}', "");
-Expect(1, 65663, '\P{Is_Blk: _Linear-BIdeograms}', "");
-Expect(0, 65663, '\P{^Is_Blk: _Linear-BIdeograms}', "");
-Error('\p{Block: - Cherokee/a/}');
-Error('\P{Block: - Cherokee/a/}');
-Expect(1, 5119, '\p{Block=cherokee}', "");
-Expect(0, 5119, '\p{^Block=cherokee}', "");
-Expect(0, 5119, '\P{Block=cherokee}', "");
-Expect(1, 5119, '\P{^Block=cherokee}', "");
-Expect(0, 5023, '\p{Block=cherokee}', "");
-Expect(1, 5023, '\p{^Block=cherokee}', "");
-Expect(1, 5023, '\P{Block=cherokee}', "");
-Expect(0, 5023, '\P{^Block=cherokee}', "");
-Expect(1, 5119, '\p{Block=- Cherokee}', "");
-Expect(0, 5119, '\p{^Block=- Cherokee}', "");
-Expect(0, 5119, '\P{Block=- Cherokee}', "");
-Expect(1, 5119, '\P{^Block=- Cherokee}', "");
-Expect(0, 5023, '\p{Block=- Cherokee}', "");
-Expect(1, 5023, '\p{^Block=- Cherokee}', "");
-Expect(1, 5023, '\P{Block=- Cherokee}', "");
-Expect(0, 5023, '\P{^Block=- Cherokee}', "");
-Error('\p{Blk=:=_-Cherokee}');
-Error('\P{Blk=:=_-Cherokee}');
-Expect(1, 5119, '\p{Blk=cherokee}', "");
-Expect(0, 5119, '\p{^Blk=cherokee}', "");
-Expect(0, 5119, '\P{Blk=cherokee}', "");
-Expect(1, 5119, '\P{^Blk=cherokee}', "");
-Expect(0, 5023, '\p{Blk=cherokee}', "");
-Expect(1, 5023, '\p{^Blk=cherokee}', "");
-Expect(1, 5023, '\P{Blk=cherokee}', "");
-Expect(0, 5023, '\P{^Blk=cherokee}', "");
-Expect(1, 5119, '\p{Blk=-Cherokee}', "");
-Expect(0, 5119, '\p{^Blk=-Cherokee}', "");
-Expect(0, 5119, '\P{Blk=-Cherokee}', "");
-Expect(1, 5119, '\P{^Blk=-Cherokee}', "");
-Expect(0, 5023, '\p{Blk=-Cherokee}', "");
-Expect(1, 5023, '\p{^Blk=-Cherokee}', "");
-Expect(1, 5023, '\P{Blk=-Cherokee}', "");
-Expect(0, 5023, '\P{^Blk=-Cherokee}', "");
-Error('\p{Is_Block: /a/ Cherokee}');
-Error('\P{Is_Block: /a/ Cherokee}');
-Expect(1, 5119, '\p{Is_Block=cherokee}', "");
-Expect(0, 5119, '\p{^Is_Block=cherokee}', "");
-Expect(0, 5119, '\P{Is_Block=cherokee}', "");
-Expect(1, 5119, '\P{^Is_Block=cherokee}', "");
-Expect(0, 5023, '\p{Is_Block=cherokee}', "");
-Expect(1, 5023, '\p{^Is_Block=cherokee}', "");
-Expect(1, 5023, '\P{Is_Block=cherokee}', "");
-Expect(0, 5023, '\P{^Is_Block=cherokee}', "");
-Expect(1, 5119, '\p{Is_Block=Cherokee}', "");
-Expect(0, 5119, '\p{^Is_Block=Cherokee}', "");
-Expect(0, 5119, '\P{Is_Block=Cherokee}', "");
-Expect(1, 5119, '\P{^Is_Block=Cherokee}', "");
-Expect(0, 5023, '\p{Is_Block=Cherokee}', "");
-Expect(1, 5023, '\p{^Is_Block=Cherokee}', "");
-Expect(1, 5023, '\P{Is_Block=Cherokee}', "");
-Expect(0, 5023, '\P{^Is_Block=Cherokee}', "");
-Error('\p{Is_Blk= /a/Cherokee}');
-Error('\P{Is_Blk= /a/Cherokee}');
-Expect(1, 5119, '\p{Is_Blk=cherokee}', "");
-Expect(0, 5119, '\p{^Is_Blk=cherokee}', "");
-Expect(0, 5119, '\P{Is_Blk=cherokee}', "");
-Expect(1, 5119, '\P{^Is_Blk=cherokee}', "");
-Expect(0, 5023, '\p{Is_Blk=cherokee}', "");
-Expect(1, 5023, '\p{^Is_Blk=cherokee}', "");
-Expect(1, 5023, '\P{Is_Blk=cherokee}', "");
-Expect(0, 5023, '\P{^Is_Blk=cherokee}', "");
-Expect(1, 5119, '\p{Is_Blk=-_Cherokee}', "");
-Expect(0, 5119, '\p{^Is_Blk=-_Cherokee}', "");
-Expect(0, 5119, '\P{Is_Blk=-_Cherokee}', "");
-Expect(1, 5119, '\P{^Is_Blk=-_Cherokee}', "");
-Expect(0, 5023, '\p{Is_Blk=-_Cherokee}', "");
-Expect(1, 5023, '\p{^Is_Blk=-_Cherokee}', "");
-Expect(1, 5023, '\P{Is_Blk=-_Cherokee}', "");
-Expect(0, 5023, '\P{^Is_Blk=-_Cherokee}', "");
-Error('\p{Block= Bopomofo:=Extended}');
-Error('\P{Block= Bopomofo:=Extended}');
-Expect(1, 12735, '\p{Block=bopomofoextended}', "");
-Expect(0, 12735, '\p{^Block=bopomofoextended}', "");
-Expect(0, 12735, '\P{Block=bopomofoextended}', "");
-Expect(1, 12735, '\P{^Block=bopomofoextended}', "");
-Expect(0, 12703, '\p{Block=bopomofoextended}', "");
-Expect(1, 12703, '\p{^Block=bopomofoextended}', "");
-Expect(1, 12703, '\P{Block=bopomofoextended}', "");
-Expect(0, 12703, '\P{^Block=bopomofoextended}', "");
-Expect(1, 12735, '\p{Block=_-bopomofo Extended}', "");
-Expect(0, 12735, '\p{^Block=_-bopomofo Extended}', "");
-Expect(0, 12735, '\P{Block=_-bopomofo Extended}', "");
-Expect(1, 12735, '\P{^Block=_-bopomofo Extended}', "");
-Expect(0, 12703, '\p{Block=_-bopomofo Extended}', "");
-Expect(1, 12703, '\p{^Block=_-bopomofo Extended}', "");
-Expect(1, 12703, '\P{Block=_-bopomofo Extended}', "");
-Expect(0, 12703, '\P{^Block=_-bopomofo Extended}', "");
-Error('\p{Blk: :=BOPOMOFO_Extended}');
-Error('\P{Blk: :=BOPOMOFO_Extended}');
-Expect(1, 12735, '\p{Blk: bopomofoextended}', "");
-Expect(0, 12735, '\p{^Blk: bopomofoextended}', "");
-Expect(0, 12735, '\P{Blk: bopomofoextended}', "");
-Expect(1, 12735, '\P{^Blk: bopomofoextended}', "");
-Expect(0, 12703, '\p{Blk: bopomofoextended}', "");
-Expect(1, 12703, '\p{^Blk: bopomofoextended}', "");
-Expect(1, 12703, '\P{Blk: bopomofoextended}', "");
-Expect(0, 12703, '\P{^Blk: bopomofoextended}', "");
-Expect(1, 12735, '\p{Blk= BopomofoExtended}', "");
-Expect(0, 12735, '\p{^Blk= BopomofoExtended}', "");
-Expect(0, 12735, '\P{Blk= BopomofoExtended}', "");
-Expect(1, 12735, '\P{^Blk= BopomofoExtended}', "");
-Expect(0, 12703, '\p{Blk= BopomofoExtended}', "");
-Expect(1, 12703, '\p{^Blk= BopomofoExtended}', "");
-Expect(1, 12703, '\P{Blk= BopomofoExtended}', "");
-Expect(0, 12703, '\P{^Blk= BopomofoExtended}', "");
-Error('\p{Is_Block=-:=Bopomofo Extended}');
-Error('\P{Is_Block=-:=Bopomofo Extended}');
-Expect(1, 12735, '\p{Is_Block=bopomofoextended}', "");
-Expect(0, 12735, '\p{^Is_Block=bopomofoextended}', "");
-Expect(0, 12735, '\P{Is_Block=bopomofoextended}', "");
-Expect(1, 12735, '\P{^Is_Block=bopomofoextended}', "");
-Expect(0, 12703, '\p{Is_Block=bopomofoextended}', "");
-Expect(1, 12703, '\p{^Is_Block=bopomofoextended}', "");
-Expect(1, 12703, '\P{Is_Block=bopomofoextended}', "");
-Expect(0, 12703, '\P{^Is_Block=bopomofoextended}', "");
-Expect(1, 12735, '\p{Is_Block=__Bopomofo extended}', "");
-Expect(0, 12735, '\p{^Is_Block=__Bopomofo extended}', "");
-Expect(0, 12735, '\P{Is_Block=__Bopomofo extended}', "");
-Expect(1, 12735, '\P{^Is_Block=__Bopomofo extended}', "");
-Expect(0, 12703, '\p{Is_Block=__Bopomofo extended}', "");
-Expect(1, 12703, '\p{^Is_Block=__Bopomofo extended}', "");
-Expect(1, 12703, '\P{Is_Block=__Bopomofo extended}', "");
-Expect(0, 12703, '\P{^Is_Block=__Bopomofo extended}', "");
-Error('\p{Is_Blk=_ Bopomofo-EXTENDED:=}');
-Error('\P{Is_Blk=_ Bopomofo-EXTENDED:=}');
-Expect(1, 12735, '\p{Is_Blk=bopomofoextended}', "");
-Expect(0, 12735, '\p{^Is_Blk=bopomofoextended}', "");
-Expect(0, 12735, '\P{Is_Blk=bopomofoextended}', "");
-Expect(1, 12735, '\P{^Is_Blk=bopomofoextended}', "");
-Expect(0, 12703, '\p{Is_Blk=bopomofoextended}', "");
-Expect(1, 12703, '\p{^Is_Blk=bopomofoextended}', "");
-Expect(1, 12703, '\P{Is_Blk=bopomofoextended}', "");
-Expect(0, 12703, '\P{^Is_Blk=bopomofoextended}', "");
-Expect(1, 12735, '\p{Is_Blk= Bopomofo EXTENDED}', "");
-Expect(0, 12735, '\p{^Is_Blk= Bopomofo EXTENDED}', "");
-Expect(0, 12735, '\P{Is_Blk= Bopomofo EXTENDED}', "");
-Expect(1, 12735, '\P{^Is_Blk= Bopomofo EXTENDED}', "");
-Expect(0, 12703, '\p{Is_Blk= Bopomofo EXTENDED}', "");
-Expect(1, 12703, '\p{^Is_Blk= Bopomofo EXTENDED}', "");
-Expect(1, 12703, '\P{Is_Blk= Bopomofo EXTENDED}', "");
-Expect(0, 12703, '\P{^Is_Blk= Bopomofo EXTENDED}', "");
-Error('\p{Block= OGHAM/a/}');
-Error('\P{Block= OGHAM/a/}');
-Expect(1, 5791, '\p{Block=ogham}', "");
-Expect(0, 5791, '\p{^Block=ogham}', "");
-Expect(0, 5791, '\P{Block=ogham}', "");
-Expect(1, 5791, '\P{^Block=ogham}', "");
-Expect(0, 5759, '\p{Block=ogham}', "");
-Expect(1, 5759, '\p{^Block=ogham}', "");
-Expect(1, 5759, '\P{Block=ogham}', "");
-Expect(0, 5759, '\P{^Block=ogham}', "");
-Expect(1, 5791, '\p{Block= -ogham}', "");
-Expect(0, 5791, '\p{^Block= -ogham}', "");
-Expect(0, 5791, '\P{Block= -ogham}', "");
-Expect(1, 5791, '\P{^Block= -ogham}', "");
-Expect(0, 5759, '\p{Block= -ogham}', "");
-Expect(1, 5759, '\p{^Block= -ogham}', "");
-Expect(1, 5759, '\P{Block= -ogham}', "");
-Expect(0, 5759, '\P{^Block= -ogham}', "");
-Error('\p{Blk: := _Ogham}');
-Error('\P{Blk: := _Ogham}');
-Expect(1, 5791, '\p{Blk=ogham}', "");
-Expect(0, 5791, '\p{^Blk=ogham}', "");
-Expect(0, 5791, '\P{Blk=ogham}', "");
-Expect(1, 5791, '\P{^Blk=ogham}', "");
-Expect(0, 5759, '\p{Blk=ogham}', "");
-Expect(1, 5759, '\p{^Blk=ogham}', "");
-Expect(1, 5759, '\P{Blk=ogham}', "");
-Expect(0, 5759, '\P{^Blk=ogham}', "");
-Expect(1, 5791, '\p{Blk=-ogham}', "");
-Expect(0, 5791, '\p{^Blk=-ogham}', "");
-Expect(0, 5791, '\P{Blk=-ogham}', "");
-Expect(1, 5791, '\P{^Blk=-ogham}', "");
-Expect(0, 5759, '\p{Blk=-ogham}', "");
-Expect(1, 5759, '\p{^Blk=-ogham}', "");
-Expect(1, 5759, '\P{Blk=-ogham}', "");
-Expect(0, 5759, '\P{^Blk=-ogham}', "");
-Error('\p{Is_Block=:= ogham}');
-Error('\P{Is_Block=:= ogham}');
-Expect(1, 5791, '\p{Is_Block=ogham}', "");
-Expect(0, 5791, '\p{^Is_Block=ogham}', "");
-Expect(0, 5791, '\P{Is_Block=ogham}', "");
-Expect(1, 5791, '\P{^Is_Block=ogham}', "");
-Expect(0, 5759, '\p{Is_Block=ogham}', "");
-Expect(1, 5759, '\p{^Is_Block=ogham}', "");
-Expect(1, 5759, '\P{Is_Block=ogham}', "");
-Expect(0, 5759, '\P{^Is_Block=ogham}', "");
-Expect(1, 5791, '\p{Is_Block= Ogham}', "");
-Expect(0, 5791, '\p{^Is_Block= Ogham}', "");
-Expect(0, 5791, '\P{Is_Block= Ogham}', "");
-Expect(1, 5791, '\P{^Is_Block= Ogham}', "");
-Expect(0, 5759, '\p{Is_Block= Ogham}', "");
-Expect(1, 5759, '\p{^Is_Block= Ogham}', "");
-Expect(1, 5759, '\P{Is_Block= Ogham}', "");
-Expect(0, 5759, '\P{^Is_Block= Ogham}', "");
-Error('\p{Is_Blk=:=Ogham}');
-Error('\P{Is_Blk=:=Ogham}');
-Expect(1, 5791, '\p{Is_Blk=ogham}', "");
-Expect(0, 5791, '\p{^Is_Blk=ogham}', "");
-Expect(0, 5791, '\P{Is_Blk=ogham}', "");
-Expect(1, 5791, '\P{^Is_Blk=ogham}', "");
-Expect(0, 5759, '\p{Is_Blk=ogham}', "");
-Expect(1, 5759, '\p{^Is_Blk=ogham}', "");
-Expect(1, 5759, '\P{Is_Blk=ogham}', "");
-Expect(0, 5759, '\P{^Is_Blk=ogham}', "");
-Expect(1, 5791, '\p{Is_Blk=-Ogham}', "");
-Expect(0, 5791, '\p{^Is_Blk=-Ogham}', "");
-Expect(0, 5791, '\P{Is_Blk=-Ogham}', "");
-Expect(1, 5791, '\P{^Is_Blk=-Ogham}', "");
-Expect(0, 5759, '\p{Is_Blk=-Ogham}', "");
-Expect(1, 5759, '\p{^Is_Blk=-Ogham}', "");
-Expect(1, 5759, '\P{Is_Blk=-Ogham}', "");
-Expect(0, 5759, '\P{^Is_Blk=-Ogham}', "");
-Error('\p{Block=:=_-samaritan}');
-Error('\P{Block=:=_-samaritan}');
-Expect(1, 2111, '\p{Block=samaritan}', "");
-Expect(0, 2111, '\p{^Block=samaritan}', "");
-Expect(0, 2111, '\P{Block=samaritan}', "");
-Expect(1, 2111, '\P{^Block=samaritan}', "");
-Expect(0, 2047, '\p{Block=samaritan}', "");
-Expect(1, 2047, '\p{^Block=samaritan}', "");
-Expect(1, 2047, '\P{Block=samaritan}', "");
-Expect(0, 2047, '\P{^Block=samaritan}', "");
-Expect(1, 2111, '\p{Block= _Samaritan}', "");
-Expect(0, 2111, '\p{^Block= _Samaritan}', "");
-Expect(0, 2111, '\P{Block= _Samaritan}', "");
-Expect(1, 2111, '\P{^Block= _Samaritan}', "");
-Expect(0, 2047, '\p{Block= _Samaritan}', "");
-Expect(1, 2047, '\p{^Block= _Samaritan}', "");
-Expect(1, 2047, '\P{Block= _Samaritan}', "");
-Expect(0, 2047, '\P{^Block= _Samaritan}', "");
-Error('\p{Blk=_Samaritan:=}');
-Error('\P{Blk=_Samaritan:=}');
-Expect(1, 2111, '\p{Blk=samaritan}', "");
-Expect(0, 2111, '\p{^Blk=samaritan}', "");
-Expect(0, 2111, '\P{Blk=samaritan}', "");
-Expect(1, 2111, '\P{^Blk=samaritan}', "");
-Expect(0, 2047, '\p{Blk=samaritan}', "");
-Expect(1, 2047, '\p{^Blk=samaritan}', "");
-Expect(1, 2047, '\P{Blk=samaritan}', "");
-Expect(0, 2047, '\P{^Blk=samaritan}', "");
-Expect(1, 2111, '\p{Blk: -Samaritan}', "");
-Expect(0, 2111, '\p{^Blk: -Samaritan}', "");
-Expect(0, 2111, '\P{Blk: -Samaritan}', "");
-Expect(1, 2111, '\P{^Blk: -Samaritan}', "");
-Expect(0, 2047, '\p{Blk: -Samaritan}', "");
-Expect(1, 2047, '\p{^Blk: -Samaritan}', "");
-Expect(1, 2047, '\P{Blk: -Samaritan}', "");
-Expect(0, 2047, '\P{^Blk: -Samaritan}', "");
-Error('\p{Is_Block= _Samaritan/a/}');
-Error('\P{Is_Block= _Samaritan/a/}');
-Expect(1, 2111, '\p{Is_Block=samaritan}', "");
-Expect(0, 2111, '\p{^Is_Block=samaritan}', "");
-Expect(0, 2111, '\P{Is_Block=samaritan}', "");
-Expect(1, 2111, '\P{^Is_Block=samaritan}', "");
-Expect(0, 2047, '\p{Is_Block=samaritan}', "");
-Expect(1, 2047, '\p{^Is_Block=samaritan}', "");
-Expect(1, 2047, '\P{Is_Block=samaritan}', "");
-Expect(0, 2047, '\P{^Is_Block=samaritan}', "");
-Expect(1, 2111, '\p{Is_Block=--Samaritan}', "");
-Expect(0, 2111, '\p{^Is_Block=--Samaritan}', "");
-Expect(0, 2111, '\P{Is_Block=--Samaritan}', "");
-Expect(1, 2111, '\P{^Is_Block=--Samaritan}', "");
-Expect(0, 2047, '\p{Is_Block=--Samaritan}', "");
-Expect(1, 2047, '\p{^Is_Block=--Samaritan}', "");
-Expect(1, 2047, '\P{Is_Block=--Samaritan}', "");
-Expect(0, 2047, '\P{^Is_Block=--Samaritan}', "");
-Error('\p{Is_Blk=:=Samaritan}');
-Error('\P{Is_Blk=:=Samaritan}');
-Expect(1, 2111, '\p{Is_Blk=samaritan}', "");
-Expect(0, 2111, '\p{^Is_Blk=samaritan}', "");
-Expect(0, 2111, '\P{Is_Blk=samaritan}', "");
-Expect(1, 2111, '\P{^Is_Blk=samaritan}', "");
-Expect(0, 2047, '\p{Is_Blk=samaritan}', "");
-Expect(1, 2047, '\p{^Is_Blk=samaritan}', "");
-Expect(1, 2047, '\P{Is_Blk=samaritan}', "");
-Expect(0, 2047, '\P{^Is_Blk=samaritan}', "");
-Expect(1, 2111, '\p{Is_Blk= samaritan}', "");
-Expect(0, 2111, '\p{^Is_Blk= samaritan}', "");
-Expect(0, 2111, '\P{Is_Blk= samaritan}', "");
-Expect(1, 2111, '\P{^Is_Blk= samaritan}', "");
-Expect(0, 2047, '\p{Is_Blk= samaritan}', "");
-Expect(1, 2047, '\p{^Is_Blk= samaritan}', "");
-Expect(1, 2047, '\P{Is_Blk= samaritan}', "");
-Expect(0, 2047, '\P{^Is_Blk= samaritan}', "");
-Error('\p{Block=:=_ VAI}');
-Error('\P{Block=:=_ VAI}');
-Expect(1, 42559, '\p{Block=vai}', "");
-Expect(0, 42559, '\p{^Block=vai}', "");
-Expect(0, 42559, '\P{Block=vai}', "");
-Expect(1, 42559, '\P{^Block=vai}', "");
-Expect(0, 42239, '\p{Block=vai}', "");
-Expect(1, 42239, '\p{^Block=vai}', "");
-Expect(1, 42239, '\P{Block=vai}', "");
-Expect(0, 42239, '\P{^Block=vai}', "");
-Expect(1, 42559, '\p{Block=-vai}', "");
-Expect(0, 42559, '\p{^Block=-vai}', "");
-Expect(0, 42559, '\P{Block=-vai}', "");
-Expect(1, 42559, '\P{^Block=-vai}', "");
-Expect(0, 42239, '\p{Block=-vai}', "");
-Expect(1, 42239, '\p{^Block=-vai}', "");
-Expect(1, 42239, '\P{Block=-vai}', "");
-Expect(0, 42239, '\P{^Block=-vai}', "");
-Error('\p{Blk=/a/- VAI}');
-Error('\P{Blk=/a/- VAI}');
-Expect(1, 42559, '\p{Blk=vai}', "");
-Expect(0, 42559, '\p{^Blk=vai}', "");
-Expect(0, 42559, '\P{Blk=vai}', "");
-Expect(1, 42559, '\P{^Blk=vai}', "");
-Expect(0, 42239, '\p{Blk=vai}', "");
-Expect(1, 42239, '\p{^Blk=vai}', "");
-Expect(1, 42239, '\P{Blk=vai}', "");
-Expect(0, 42239, '\P{^Blk=vai}', "");
-Expect(1, 42559, '\p{Blk= Vai}', "");
-Expect(0, 42559, '\p{^Blk= Vai}', "");
-Expect(0, 42559, '\P{Blk= Vai}', "");
-Expect(1, 42559, '\P{^Blk= Vai}', "");
-Expect(0, 42239, '\p{Blk= Vai}', "");
-Expect(1, 42239, '\p{^Blk= Vai}', "");
-Expect(1, 42239, '\P{Blk= Vai}', "");
-Expect(0, 42239, '\P{^Blk= Vai}', "");
-Error('\p{Is_Block=- VAI:=}');
-Error('\P{Is_Block=- VAI:=}');
-Expect(1, 42559, '\p{Is_Block=vai}', "");
-Expect(0, 42559, '\p{^Is_Block=vai}', "");
-Expect(0, 42559, '\P{Is_Block=vai}', "");
-Expect(1, 42559, '\P{^Is_Block=vai}', "");
-Expect(0, 42239, '\p{Is_Block=vai}', "");
-Expect(1, 42239, '\p{^Is_Block=vai}', "");
-Expect(1, 42239, '\P{Is_Block=vai}', "");
-Expect(0, 42239, '\P{^Is_Block=vai}', "");
-Expect(1, 42559, '\p{Is_Block= Vai}', "");
-Expect(0, 42559, '\p{^Is_Block= Vai}', "");
-Expect(0, 42559, '\P{Is_Block= Vai}', "");
-Expect(1, 42559, '\P{^Is_Block= Vai}', "");
-Expect(0, 42239, '\p{Is_Block= Vai}', "");
-Expect(1, 42239, '\p{^Is_Block= Vai}', "");
-Expect(1, 42239, '\P{Is_Block= Vai}', "");
-Expect(0, 42239, '\P{^Is_Block= Vai}', "");
-Error('\p{Is_Blk: _/a/VAI}');
-Error('\P{Is_Blk: _/a/VAI}');
-Expect(1, 42559, '\p{Is_Blk: vai}', "");
-Expect(0, 42559, '\p{^Is_Blk: vai}', "");
-Expect(0, 42559, '\P{Is_Blk: vai}', "");
-Expect(1, 42559, '\P{^Is_Blk: vai}', "");
-Expect(0, 42239, '\p{Is_Blk: vai}', "");
-Expect(1, 42239, '\p{^Is_Blk: vai}', "");
-Expect(1, 42239, '\P{Is_Blk: vai}', "");
-Expect(0, 42239, '\P{^Is_Blk: vai}', "");
-Expect(1, 42559, '\p{Is_Blk= vai}', "");
-Expect(0, 42559, '\p{^Is_Blk= vai}', "");
-Expect(0, 42559, '\P{Is_Blk= vai}', "");
-Expect(1, 42559, '\P{^Is_Blk= vai}', "");
-Expect(0, 42239, '\p{Is_Blk= vai}', "");
-Expect(1, 42239, '\p{^Is_Blk= vai}', "");
-Expect(1, 42239, '\P{Is_Blk= vai}', "");
-Expect(0, 42239, '\P{^Is_Blk= vai}', "");
-Error('\p{Block= General:=Punctuation}');
-Error('\P{Block= General:=Punctuation}');
-Expect(1, 8303, '\p{Block: generalpunctuation}', "");
-Expect(0, 8303, '\p{^Block: generalpunctuation}', "");
-Expect(0, 8303, '\P{Block: generalpunctuation}', "");
-Expect(1, 8303, '\P{^Block: generalpunctuation}', "");
-Expect(0, 8191, '\p{Block: generalpunctuation}', "");
-Expect(1, 8191, '\p{^Block: generalpunctuation}', "");
-Expect(1, 8191, '\P{Block: generalpunctuation}', "");
-Expect(0, 8191, '\P{^Block: generalpunctuation}', "");
-Expect(1, 8303, '\p{Block=_ GENERALPunctuation}', "");
-Expect(0, 8303, '\p{^Block=_ GENERALPunctuation}', "");
-Expect(0, 8303, '\P{Block=_ GENERALPunctuation}', "");
-Expect(1, 8303, '\P{^Block=_ GENERALPunctuation}', "");
-Expect(0, 8191, '\p{Block=_ GENERALPunctuation}', "");
-Expect(1, 8191, '\p{^Block=_ GENERALPunctuation}', "");
-Expect(1, 8191, '\P{Block=_ GENERALPunctuation}', "");
-Expect(0, 8191, '\P{^Block=_ GENERALPunctuation}', "");
-Error('\p{Blk= :=GENERAL PUNCTUATION}');
-Error('\P{Blk= :=GENERAL PUNCTUATION}');
-Expect(1, 8303, '\p{Blk: generalpunctuation}', "");
-Expect(0, 8303, '\p{^Blk: generalpunctuation}', "");
-Expect(0, 8303, '\P{Blk: generalpunctuation}', "");
-Expect(1, 8303, '\P{^Blk: generalpunctuation}', "");
-Expect(0, 8191, '\p{Blk: generalpunctuation}', "");
-Expect(1, 8191, '\p{^Blk: generalpunctuation}', "");
-Expect(1, 8191, '\P{Blk: generalpunctuation}', "");
-Expect(0, 8191, '\P{^Blk: generalpunctuation}', "");
-Expect(1, 8303, '\p{Blk= _general Punctuation}', "");
-Expect(0, 8303, '\p{^Blk= _general Punctuation}', "");
-Expect(0, 8303, '\P{Blk= _general Punctuation}', "");
-Expect(1, 8303, '\P{^Blk= _general Punctuation}', "");
-Expect(0, 8191, '\p{Blk= _general Punctuation}', "");
-Expect(1, 8191, '\p{^Blk= _general Punctuation}', "");
-Expect(1, 8191, '\P{Blk= _general Punctuation}', "");
-Expect(0, 8191, '\P{^Blk= _general Punctuation}', "");
-Error('\p{Is_Block: GeneralPunctuation/a/}');
-Error('\P{Is_Block: GeneralPunctuation/a/}');
-Expect(1, 8303, '\p{Is_Block=generalpunctuation}', "");
-Expect(0, 8303, '\p{^Is_Block=generalpunctuation}', "");
-Expect(0, 8303, '\P{Is_Block=generalpunctuation}', "");
-Expect(1, 8303, '\P{^Is_Block=generalpunctuation}', "");
-Expect(0, 8191, '\p{Is_Block=generalpunctuation}', "");
-Expect(1, 8191, '\p{^Is_Block=generalpunctuation}', "");
-Expect(1, 8191, '\P{Is_Block=generalpunctuation}', "");
-Expect(0, 8191, '\P{^Is_Block=generalpunctuation}', "");
-Expect(1, 8303, '\p{Is_Block=-_General_Punctuation}', "");
-Expect(0, 8303, '\p{^Is_Block=-_General_Punctuation}', "");
-Expect(0, 8303, '\P{Is_Block=-_General_Punctuation}', "");
-Expect(1, 8303, '\P{^Is_Block=-_General_Punctuation}', "");
-Expect(0, 8191, '\p{Is_Block=-_General_Punctuation}', "");
-Expect(1, 8191, '\p{^Is_Block=-_General_Punctuation}', "");
-Expect(1, 8191, '\P{Is_Block=-_General_Punctuation}', "");
-Expect(0, 8191, '\P{^Is_Block=-_General_Punctuation}', "");
-Error('\p{Is_Blk=-general Punctuation:=}');
-Error('\P{Is_Blk=-general Punctuation:=}');
-Expect(1, 8303, '\p{Is_Blk=generalpunctuation}', "");
-Expect(0, 8303, '\p{^Is_Blk=generalpunctuation}', "");
-Expect(0, 8303, '\P{Is_Blk=generalpunctuation}', "");
-Expect(1, 8303, '\P{^Is_Blk=generalpunctuation}', "");
-Expect(0, 8191, '\p{Is_Blk=generalpunctuation}', "");
-Expect(1, 8191, '\p{^Is_Blk=generalpunctuation}', "");
-Expect(1, 8191, '\P{Is_Blk=generalpunctuation}', "");
-Expect(0, 8191, '\P{^Is_Blk=generalpunctuation}', "");
-Expect(1, 8303, '\p{Is_Blk=-_Generalpunctuation}', "");
-Expect(0, 8303, '\p{^Is_Blk=-_Generalpunctuation}', "");
-Expect(0, 8303, '\P{Is_Blk=-_Generalpunctuation}', "");
-Expect(1, 8303, '\P{^Is_Blk=-_Generalpunctuation}', "");
-Expect(0, 8191, '\p{Is_Blk=-_Generalpunctuation}', "");
-Expect(1, 8191, '\p{^Is_Blk=-_Generalpunctuation}', "");
-Expect(1, 8191, '\P{Is_Blk=-_Generalpunctuation}', "");
-Expect(0, 8191, '\P{^Is_Blk=-_Generalpunctuation}', "");
-Error('\p{Block= :=REJANG}');
-Error('\P{Block= :=REJANG}');
-Expect(1, 43359, '\p{Block=rejang}', "");
-Expect(0, 43359, '\p{^Block=rejang}', "");
-Expect(0, 43359, '\P{Block=rejang}', "");
-Expect(1, 43359, '\P{^Block=rejang}', "");
-Expect(0, 43311, '\p{Block=rejang}', "");
-Expect(1, 43311, '\p{^Block=rejang}', "");
-Expect(1, 43311, '\P{Block=rejang}', "");
-Expect(0, 43311, '\P{^Block=rejang}', "");
-Expect(1, 43359, '\p{Block= REJANG}', "");
-Expect(0, 43359, '\p{^Block= REJANG}', "");
-Expect(0, 43359, '\P{Block= REJANG}', "");
-Expect(1, 43359, '\P{^Block= REJANG}', "");
-Expect(0, 43311, '\p{Block= REJANG}', "");
-Expect(1, 43311, '\p{^Block= REJANG}', "");
-Expect(1, 43311, '\P{Block= REJANG}', "");
-Expect(0, 43311, '\P{^Block= REJANG}', "");
-Error('\p{Blk=_/a/Rejang}');
-Error('\P{Blk=_/a/Rejang}');
-Expect(1, 43359, '\p{Blk=rejang}', "");
-Expect(0, 43359, '\p{^Blk=rejang}', "");
-Expect(0, 43359, '\P{Blk=rejang}', "");
-Expect(1, 43359, '\P{^Blk=rejang}', "");
-Expect(0, 43311, '\p{Blk=rejang}', "");
-Expect(1, 43311, '\p{^Blk=rejang}', "");
-Expect(1, 43311, '\P{Blk=rejang}', "");
-Expect(0, 43311, '\P{^Blk=rejang}', "");
-Expect(1, 43359, '\p{Blk= _Rejang}', "");
-Expect(0, 43359, '\p{^Blk= _Rejang}', "");
-Expect(0, 43359, '\P{Blk= _Rejang}', "");
-Expect(1, 43359, '\P{^Blk= _Rejang}', "");
-Expect(0, 43311, '\p{Blk= _Rejang}', "");
-Expect(1, 43311, '\p{^Blk= _Rejang}', "");
-Expect(1, 43311, '\P{Blk= _Rejang}', "");
-Expect(0, 43311, '\P{^Blk= _Rejang}', "");
-Error('\p{Is_Block=/a/_-Rejang}');
-Error('\P{Is_Block=/a/_-Rejang}');
-Expect(1, 43359, '\p{Is_Block=rejang}', "");
-Expect(0, 43359, '\p{^Is_Block=rejang}', "");
-Expect(0, 43359, '\P{Is_Block=rejang}', "");
-Expect(1, 43359, '\P{^Is_Block=rejang}', "");
-Expect(0, 43311, '\p{Is_Block=rejang}', "");
-Expect(1, 43311, '\p{^Is_Block=rejang}', "");
-Expect(1, 43311, '\P{Is_Block=rejang}', "");
-Expect(0, 43311, '\P{^Is_Block=rejang}', "");
-Expect(1, 43359, '\p{Is_Block=_ Rejang}', "");
-Expect(0, 43359, '\p{^Is_Block=_ Rejang}', "");
-Expect(0, 43359, '\P{Is_Block=_ Rejang}', "");
-Expect(1, 43359, '\P{^Is_Block=_ Rejang}', "");
-Expect(0, 43311, '\p{Is_Block=_ Rejang}', "");
-Expect(1, 43311, '\p{^Is_Block=_ Rejang}', "");
-Expect(1, 43311, '\P{Is_Block=_ Rejang}', "");
-Expect(0, 43311, '\P{^Is_Block=_ Rejang}', "");
-Error('\p{Is_Blk=- rejang/a/}');
-Error('\P{Is_Blk=- rejang/a/}');
-Expect(1, 43359, '\p{Is_Blk=rejang}', "");
-Expect(0, 43359, '\p{^Is_Blk=rejang}', "");
-Expect(0, 43359, '\P{Is_Blk=rejang}', "");
-Expect(1, 43359, '\P{^Is_Blk=rejang}', "");
-Expect(0, 43311, '\p{Is_Blk=rejang}', "");
-Expect(1, 43311, '\p{^Is_Blk=rejang}', "");
-Expect(1, 43311, '\P{Is_Blk=rejang}', "");
-Expect(0, 43311, '\P{^Is_Blk=rejang}', "");
-Expect(1, 43359, '\p{Is_Blk= _rejang}', "");
-Expect(0, 43359, '\p{^Is_Blk= _rejang}', "");
-Expect(0, 43359, '\P{Is_Blk= _rejang}', "");
-Expect(1, 43359, '\P{^Is_Blk= _rejang}', "");
-Expect(0, 43311, '\p{Is_Blk= _rejang}', "");
-Expect(1, 43311, '\p{^Is_Blk= _rejang}', "");
-Expect(1, 43311, '\P{Is_Blk= _rejang}', "");
-Expect(0, 43311, '\P{^Is_Blk= _rejang}', "");
-Error('\p{Block= :=oldturkic}');
-Error('\P{Block= :=oldturkic}');
-Expect(1, 68687, '\p{Block=oldturkic}', "");
-Expect(0, 68687, '\p{^Block=oldturkic}', "");
-Expect(0, 68687, '\P{Block=oldturkic}', "");
-Expect(1, 68687, '\P{^Block=oldturkic}', "");
-Expect(0, 68607, '\p{Block=oldturkic}', "");
-Expect(1, 68607, '\p{^Block=oldturkic}', "");
-Expect(1, 68607, '\P{Block=oldturkic}', "");
-Expect(0, 68607, '\P{^Block=oldturkic}', "");
-Expect(1, 68687, '\p{Block=_ OldTurkic}', "");
-Expect(0, 68687, '\p{^Block=_ OldTurkic}', "");
-Expect(0, 68687, '\P{Block=_ OldTurkic}', "");
-Expect(1, 68687, '\P{^Block=_ OldTurkic}', "");
-Expect(0, 68607, '\p{Block=_ OldTurkic}', "");
-Expect(1, 68607, '\p{^Block=_ OldTurkic}', "");
-Expect(1, 68607, '\P{Block=_ OldTurkic}', "");
-Expect(0, 68607, '\P{^Block=_ OldTurkic}', "");
-Error('\p{Blk: :=OLD Turkic}');
-Error('\P{Blk: :=OLD Turkic}');
-Expect(1, 68687, '\p{Blk=oldturkic}', "");
-Expect(0, 68687, '\p{^Blk=oldturkic}', "");
-Expect(0, 68687, '\P{Blk=oldturkic}', "");
-Expect(1, 68687, '\P{^Blk=oldturkic}', "");
-Expect(0, 68607, '\p{Blk=oldturkic}', "");
-Expect(1, 68607, '\p{^Blk=oldturkic}', "");
-Expect(1, 68607, '\P{Blk=oldturkic}', "");
-Expect(0, 68607, '\P{^Blk=oldturkic}', "");
-Expect(1, 68687, '\p{Blk= OLD_TURKIC}', "");
-Expect(0, 68687, '\p{^Blk= OLD_TURKIC}', "");
-Expect(0, 68687, '\P{Blk= OLD_TURKIC}', "");
-Expect(1, 68687, '\P{^Blk= OLD_TURKIC}', "");
-Expect(0, 68607, '\p{Blk= OLD_TURKIC}', "");
-Expect(1, 68607, '\p{^Blk= OLD_TURKIC}', "");
-Expect(1, 68607, '\P{Blk= OLD_TURKIC}', "");
-Expect(0, 68607, '\P{^Blk= OLD_TURKIC}', "");
-Error('\p{Is_Block= Old/a/turkic}');
-Error('\P{Is_Block= Old/a/turkic}');
-Expect(1, 68687, '\p{Is_Block:oldturkic}', "");
-Expect(0, 68687, '\p{^Is_Block:oldturkic}', "");
-Expect(0, 68687, '\P{Is_Block:oldturkic}', "");
-Expect(1, 68687, '\P{^Is_Block:oldturkic}', "");
-Expect(0, 68607, '\p{Is_Block:oldturkic}', "");
-Expect(1, 68607, '\p{^Is_Block:oldturkic}', "");
-Expect(1, 68607, '\P{Is_Block:oldturkic}', "");
-Expect(0, 68607, '\P{^Is_Block:oldturkic}', "");
-Expect(1, 68687, '\p{Is_Block=_Old-turkic}', "");
-Expect(0, 68687, '\p{^Is_Block=_Old-turkic}', "");
-Expect(0, 68687, '\P{Is_Block=_Old-turkic}', "");
-Expect(1, 68687, '\P{^Is_Block=_Old-turkic}', "");
-Expect(0, 68607, '\p{Is_Block=_Old-turkic}', "");
-Expect(1, 68607, '\p{^Is_Block=_Old-turkic}', "");
-Expect(1, 68607, '\P{Is_Block=_Old-turkic}', "");
-Expect(0, 68607, '\P{^Is_Block=_Old-turkic}', "");
-Error('\p{Is_Blk=__Old-TURKIC:=}');
-Error('\P{Is_Blk=__Old-TURKIC:=}');
-Expect(1, 68687, '\p{Is_Blk=oldturkic}', "");
-Expect(0, 68687, '\p{^Is_Blk=oldturkic}', "");
-Expect(0, 68687, '\P{Is_Blk=oldturkic}', "");
-Expect(1, 68687, '\P{^Is_Blk=oldturkic}', "");
-Expect(0, 68607, '\p{Is_Blk=oldturkic}', "");
-Expect(1, 68607, '\p{^Is_Blk=oldturkic}', "");
-Expect(1, 68607, '\P{Is_Blk=oldturkic}', "");
-Expect(0, 68607, '\P{^Is_Blk=oldturkic}', "");
-Expect(1, 68687, '\p{Is_Blk=-Old Turkic}', "");
-Expect(0, 68687, '\p{^Is_Blk=-Old Turkic}', "");
-Expect(0, 68687, '\P{Is_Blk=-Old Turkic}', "");
-Expect(1, 68687, '\P{^Is_Blk=-Old Turkic}', "");
-Expect(0, 68607, '\p{Is_Blk=-Old Turkic}', "");
-Expect(1, 68607, '\p{^Is_Blk=-Old Turkic}', "");
-Expect(1, 68607, '\P{Is_Blk=-Old Turkic}', "");
-Expect(0, 68607, '\P{^Is_Blk=-Old Turkic}', "");
-Error('\p{Block= ol/a/chiki}');
-Error('\P{Block= ol/a/chiki}');
-Expect(1, 7295, '\p{Block=olchiki}', "");
-Expect(0, 7295, '\p{^Block=olchiki}', "");
-Expect(0, 7295, '\P{Block=olchiki}', "");
-Expect(1, 7295, '\P{^Block=olchiki}', "");
-Expect(0, 7247, '\p{Block=olchiki}', "");
-Expect(1, 7247, '\p{^Block=olchiki}', "");
-Expect(1, 7247, '\P{Block=olchiki}', "");
-Expect(0, 7247, '\P{^Block=olchiki}', "");
-Expect(1, 7295, '\p{Block= OL-Chiki}', "");
-Expect(0, 7295, '\p{^Block= OL-Chiki}', "");
-Expect(0, 7295, '\P{Block= OL-Chiki}', "");
-Expect(1, 7295, '\P{^Block= OL-Chiki}', "");
-Expect(0, 7247, '\p{Block= OL-Chiki}', "");
-Expect(1, 7247, '\p{^Block= OL-Chiki}', "");
-Expect(1, 7247, '\P{Block= OL-Chiki}', "");
-Expect(0, 7247, '\P{^Block= OL-Chiki}', "");
-Error('\p{Blk= Ol CHIKI/a/}');
-Error('\P{Blk= Ol CHIKI/a/}');
-Expect(1, 7295, '\p{Blk=olchiki}', "");
-Expect(0, 7295, '\p{^Blk=olchiki}', "");
-Expect(0, 7295, '\P{Blk=olchiki}', "");
-Expect(1, 7295, '\P{^Blk=olchiki}', "");
-Expect(0, 7247, '\p{Blk=olchiki}', "");
-Expect(1, 7247, '\p{^Blk=olchiki}', "");
-Expect(1, 7247, '\P{Blk=olchiki}', "");
-Expect(0, 7247, '\P{^Blk=olchiki}', "");
-Expect(1, 7295, '\p{Blk: OL CHIKI}', "");
-Expect(0, 7295, '\p{^Blk: OL CHIKI}', "");
-Expect(0, 7295, '\P{Blk: OL CHIKI}', "");
-Expect(1, 7295, '\P{^Blk: OL CHIKI}', "");
-Expect(0, 7247, '\p{Blk: OL CHIKI}', "");
-Expect(1, 7247, '\p{^Blk: OL CHIKI}', "");
-Expect(1, 7247, '\P{Blk: OL CHIKI}', "");
-Expect(0, 7247, '\P{^Blk: OL CHIKI}', "");
-Error('\p{Is_Block: _OL:=CHIKI}');
-Error('\P{Is_Block: _OL:=CHIKI}');
-Expect(1, 7295, '\p{Is_Block: olchiki}', "");
-Expect(0, 7295, '\p{^Is_Block: olchiki}', "");
-Expect(0, 7295, '\P{Is_Block: olchiki}', "");
-Expect(1, 7295, '\P{^Is_Block: olchiki}', "");
-Expect(0, 7247, '\p{Is_Block: olchiki}', "");
-Expect(1, 7247, '\p{^Is_Block: olchiki}', "");
-Expect(1, 7247, '\P{Is_Block: olchiki}', "");
-Expect(0, 7247, '\P{^Is_Block: olchiki}', "");
-Expect(1, 7295, '\p{Is_Block= -Ol_Chiki}', "");
-Expect(0, 7295, '\p{^Is_Block= -Ol_Chiki}', "");
-Expect(0, 7295, '\P{Is_Block= -Ol_Chiki}', "");
-Expect(1, 7295, '\P{^Is_Block= -Ol_Chiki}', "");
-Expect(0, 7247, '\p{Is_Block= -Ol_Chiki}', "");
-Expect(1, 7247, '\p{^Is_Block= -Ol_Chiki}', "");
-Expect(1, 7247, '\P{Is_Block= -Ol_Chiki}', "");
-Expect(0, 7247, '\P{^Is_Block= -Ol_Chiki}', "");
-Error('\p{Is_Blk: -_Ol-Chiki/a/}');
-Error('\P{Is_Blk: -_Ol-Chiki/a/}');
-Expect(1, 7295, '\p{Is_Blk=olchiki}', "");
-Expect(0, 7295, '\p{^Is_Blk=olchiki}', "");
-Expect(0, 7295, '\P{Is_Blk=olchiki}', "");
-Expect(1, 7295, '\P{^Is_Blk=olchiki}', "");
-Expect(0, 7247, '\p{Is_Blk=olchiki}', "");
-Expect(1, 7247, '\p{^Is_Blk=olchiki}', "");
-Expect(1, 7247, '\P{Is_Blk=olchiki}', "");
-Expect(0, 7247, '\P{^Is_Blk=olchiki}', "");
-Expect(1, 7295, '\p{Is_Blk=- Olchiki}', "");
-Expect(0, 7295, '\p{^Is_Blk=- Olchiki}', "");
-Expect(0, 7295, '\P{Is_Blk=- Olchiki}', "");
-Expect(1, 7295, '\P{^Is_Blk=- Olchiki}', "");
-Expect(0, 7247, '\p{Is_Blk=- Olchiki}', "");
-Expect(1, 7247, '\p{^Is_Blk=- Olchiki}', "");
-Expect(1, 7247, '\P{Is_Blk=- Olchiki}', "");
-Expect(0, 7247, '\P{^Is_Blk=- Olchiki}', "");
-Error('\p{Block=Kanbun/a/}');
-Error('\P{Block=Kanbun/a/}');
-Expect(1, 12703, '\p{Block=kanbun}', "");
-Expect(0, 12703, '\p{^Block=kanbun}', "");
-Expect(0, 12703, '\P{Block=kanbun}', "");
-Expect(1, 12703, '\P{^Block=kanbun}', "");
-Expect(0, 12687, '\p{Block=kanbun}', "");
-Expect(1, 12687, '\p{^Block=kanbun}', "");
-Expect(1, 12687, '\P{Block=kanbun}', "");
-Expect(0, 12687, '\P{^Block=kanbun}', "");
-Expect(1, 12703, '\p{Block=- KANBUN}', "");
-Expect(0, 12703, '\p{^Block=- KANBUN}', "");
-Expect(0, 12703, '\P{Block=- KANBUN}', "");
-Expect(1, 12703, '\P{^Block=- KANBUN}', "");
-Expect(0, 12687, '\p{Block=- KANBUN}', "");
-Expect(1, 12687, '\p{^Block=- KANBUN}', "");
-Expect(1, 12687, '\P{Block=- KANBUN}', "");
-Expect(0, 12687, '\P{^Block=- KANBUN}', "");
-Error('\p{Blk=:= kanbun}');
-Error('\P{Blk=:= kanbun}');
-Expect(1, 12703, '\p{Blk=kanbun}', "");
-Expect(0, 12703, '\p{^Blk=kanbun}', "");
-Expect(0, 12703, '\P{Blk=kanbun}', "");
-Expect(1, 12703, '\P{^Blk=kanbun}', "");
-Expect(0, 12687, '\p{Blk=kanbun}', "");
-Expect(1, 12687, '\p{^Blk=kanbun}', "");
-Expect(1, 12687, '\P{Blk=kanbun}', "");
-Expect(0, 12687, '\P{^Blk=kanbun}', "");
-Expect(1, 12703, '\p{Blk: -kanbun}', "");
-Expect(0, 12703, '\p{^Blk: -kanbun}', "");
-Expect(0, 12703, '\P{Blk: -kanbun}', "");
-Expect(1, 12703, '\P{^Blk: -kanbun}', "");
-Expect(0, 12687, '\p{Blk: -kanbun}', "");
-Expect(1, 12687, '\p{^Blk: -kanbun}', "");
-Expect(1, 12687, '\P{Blk: -kanbun}', "");
-Expect(0, 12687, '\P{^Blk: -kanbun}', "");
-Error('\p{Is_Block= -Kanbun:=}');
-Error('\P{Is_Block= -Kanbun:=}');
-Expect(1, 12703, '\p{Is_Block=kanbun}', "");
-Expect(0, 12703, '\p{^Is_Block=kanbun}', "");
-Expect(0, 12703, '\P{Is_Block=kanbun}', "");
-Expect(1, 12703, '\P{^Is_Block=kanbun}', "");
-Expect(0, 12687, '\p{Is_Block=kanbun}', "");
-Expect(1, 12687, '\p{^Is_Block=kanbun}', "");
-Expect(1, 12687, '\P{Is_Block=kanbun}', "");
-Expect(0, 12687, '\P{^Is_Block=kanbun}', "");
-Expect(1, 12703, '\p{Is_Block=_ Kanbun}', "");
-Expect(0, 12703, '\p{^Is_Block=_ Kanbun}', "");
-Expect(0, 12703, '\P{Is_Block=_ Kanbun}', "");
-Expect(1, 12703, '\P{^Is_Block=_ Kanbun}', "");
-Expect(0, 12687, '\p{Is_Block=_ Kanbun}', "");
-Expect(1, 12687, '\p{^Is_Block=_ Kanbun}', "");
-Expect(1, 12687, '\P{Is_Block=_ Kanbun}', "");
-Expect(0, 12687, '\P{^Is_Block=_ Kanbun}', "");
-Error('\p{Is_Blk=/a/ _Kanbun}');
-Error('\P{Is_Blk=/a/ _Kanbun}');
-Expect(1, 12703, '\p{Is_Blk=kanbun}', "");
-Expect(0, 12703, '\p{^Is_Blk=kanbun}', "");
-Expect(0, 12703, '\P{Is_Blk=kanbun}', "");
-Expect(1, 12703, '\P{^Is_Blk=kanbun}', "");
-Expect(0, 12687, '\p{Is_Blk=kanbun}', "");
-Expect(1, 12687, '\p{^Is_Blk=kanbun}', "");
-Expect(1, 12687, '\P{Is_Blk=kanbun}', "");
-Expect(0, 12687, '\P{^Is_Blk=kanbun}', "");
-Expect(1, 12703, '\p{Is_Blk=-Kanbun}', "");
-Expect(0, 12703, '\p{^Is_Blk=-Kanbun}', "");
-Expect(0, 12703, '\P{Is_Blk=-Kanbun}', "");
-Expect(1, 12703, '\P{^Is_Blk=-Kanbun}', "");
-Expect(0, 12687, '\p{Is_Blk=-Kanbun}', "");
-Expect(1, 12687, '\p{^Is_Blk=-Kanbun}', "");
-Expect(1, 12687, '\P{Is_Blk=-Kanbun}', "");
-Expect(0, 12687, '\P{^Is_Blk=-Kanbun}', "");
-Error('\p{Block=-cyrillic-Extended A/a/}');
-Error('\P{Block=-cyrillic-Extended A/a/}');
-Expect(1, 11775, '\p{Block=cyrillicextendeda}', "");
-Expect(0, 11775, '\p{^Block=cyrillicextendeda}', "");
-Expect(0, 11775, '\P{Block=cyrillicextendeda}', "");
-Expect(1, 11775, '\P{^Block=cyrillicextendeda}', "");
-Expect(0, 11743, '\p{Block=cyrillicextendeda}', "");
-Expect(1, 11743, '\p{^Block=cyrillicextendeda}', "");
-Expect(1, 11743, '\P{Block=cyrillicextendeda}', "");
-Expect(0, 11743, '\P{^Block=cyrillicextendeda}', "");
-Expect(1, 11775, '\p{Block= CYRILLICextended-A}', "");
-Expect(0, 11775, '\p{^Block= CYRILLICextended-A}', "");
-Expect(0, 11775, '\P{Block= CYRILLICextended-A}', "");
-Expect(1, 11775, '\P{^Block= CYRILLICextended-A}', "");
-Expect(0, 11743, '\p{Block= CYRILLICextended-A}', "");
-Expect(1, 11743, '\p{^Block= CYRILLICextended-A}', "");
-Expect(1, 11743, '\P{Block= CYRILLICextended-A}', "");
-Expect(0, 11743, '\P{^Block= CYRILLICextended-A}', "");
-Error('\p{Blk:_-Cyrillic/a/ExtendedA}');
-Error('\P{Blk:_-Cyrillic/a/ExtendedA}');
-Expect(1, 11775, '\p{Blk:cyrillicextendeda}', "");
-Expect(0, 11775, '\p{^Blk:cyrillicextendeda}', "");
-Expect(0, 11775, '\P{Blk:cyrillicextendeda}', "");
-Expect(1, 11775, '\P{^Blk:cyrillicextendeda}', "");
-Expect(0, 11743, '\p{Blk:cyrillicextendeda}', "");
-Expect(1, 11743, '\p{^Blk:cyrillicextendeda}', "");
-Expect(1, 11743, '\P{Blk:cyrillicextendeda}', "");
-Expect(0, 11743, '\P{^Blk:cyrillicextendeda}', "");
-Expect(1, 11775, '\p{Blk= Cyrillic extended A}', "");
-Expect(0, 11775, '\p{^Blk= Cyrillic extended A}', "");
-Expect(0, 11775, '\P{Blk= Cyrillic extended A}', "");
-Expect(1, 11775, '\P{^Blk= Cyrillic extended A}', "");
-Expect(0, 11743, '\p{Blk= Cyrillic extended A}', "");
-Expect(1, 11743, '\p{^Blk= Cyrillic extended A}', "");
-Expect(1, 11743, '\P{Blk= Cyrillic extended A}', "");
-Expect(0, 11743, '\P{^Blk= Cyrillic extended A}', "");
-Error('\p{Is_Block= Cyrillic-Extended-a/a/}');
-Error('\P{Is_Block= Cyrillic-Extended-a/a/}');
-Expect(1, 11775, '\p{Is_Block=cyrillicextendeda}', "");
-Expect(0, 11775, '\p{^Is_Block=cyrillicextendeda}', "");
-Expect(0, 11775, '\P{Is_Block=cyrillicextendeda}', "");
-Expect(1, 11775, '\P{^Is_Block=cyrillicextendeda}', "");
-Expect(0, 11743, '\p{Is_Block=cyrillicextendeda}', "");
-Expect(1, 11743, '\p{^Is_Block=cyrillicextendeda}', "");
-Expect(1, 11743, '\P{Is_Block=cyrillicextendeda}', "");
-Expect(0, 11743, '\P{^Is_Block=cyrillicextendeda}', "");
-Expect(1, 11775, '\p{Is_Block= CYRILLIC Extended_A}', "");
-Expect(0, 11775, '\p{^Is_Block= CYRILLIC Extended_A}', "");
-Expect(0, 11775, '\P{Is_Block= CYRILLIC Extended_A}', "");
-Expect(1, 11775, '\P{^Is_Block= CYRILLIC Extended_A}', "");
-Expect(0, 11743, '\p{Is_Block= CYRILLIC Extended_A}', "");
-Expect(1, 11743, '\p{^Is_Block= CYRILLIC Extended_A}', "");
-Expect(1, 11743, '\P{Is_Block= CYRILLIC Extended_A}', "");
-Expect(0, 11743, '\P{^Is_Block= CYRILLIC Extended_A}', "");
-Error('\p{Is_Blk=:=- CYRILLIC-extended-A}');
-Error('\P{Is_Blk=:=- CYRILLIC-extended-A}');
-Expect(1, 11775, '\p{Is_Blk=cyrillicextendeda}', "");
-Expect(0, 11775, '\p{^Is_Blk=cyrillicextendeda}', "");
-Expect(0, 11775, '\P{Is_Blk=cyrillicextendeda}', "");
-Expect(1, 11775, '\P{^Is_Blk=cyrillicextendeda}', "");
-Expect(0, 11743, '\p{Is_Blk=cyrillicextendeda}', "");
-Expect(1, 11743, '\p{^Is_Blk=cyrillicextendeda}', "");
-Expect(1, 11743, '\P{Is_Blk=cyrillicextendeda}', "");
-Expect(0, 11743, '\P{^Is_Blk=cyrillicextendeda}', "");
-Expect(1, 11775, '\p{Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(0, 11775, '\p{^Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(0, 11775, '\P{Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(1, 11775, '\P{^Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(0, 11743, '\p{Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(1, 11743, '\p{^Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(1, 11743, '\P{Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Expect(0, 11743, '\P{^Is_Blk: _CYRILLIC EXTENDED_A}', "");
-Error('\p{Block= /a/HEBREW}');
-Error('\P{Block= /a/HEBREW}');
-Expect(1, 1535, '\p{Block=hebrew}', "");
-Expect(0, 1535, '\p{^Block=hebrew}', "");
-Expect(0, 1535, '\P{Block=hebrew}', "");
-Expect(1, 1535, '\P{^Block=hebrew}', "");
-Expect(0, 1423, '\p{Block=hebrew}', "");
-Expect(1, 1423, '\p{^Block=hebrew}', "");
-Expect(1, 1423, '\P{Block=hebrew}', "");
-Expect(0, 1423, '\P{^Block=hebrew}', "");
-Expect(1, 1535, '\p{Block= _hebrew}', "");
-Expect(0, 1535, '\p{^Block= _hebrew}', "");
-Expect(0, 1535, '\P{Block= _hebrew}', "");
-Expect(1, 1535, '\P{^Block= _hebrew}', "");
-Expect(0, 1423, '\p{Block= _hebrew}', "");
-Expect(1, 1423, '\p{^Block= _hebrew}', "");
-Expect(1, 1423, '\P{Block= _hebrew}', "");
-Expect(0, 1423, '\P{^Block= _hebrew}', "");
-Error('\p{Blk=:=--Hebrew}');
-Error('\P{Blk=:=--Hebrew}');
-Expect(1, 1535, '\p{Blk=hebrew}', "");
-Expect(0, 1535, '\p{^Blk=hebrew}', "");
-Expect(0, 1535, '\P{Blk=hebrew}', "");
-Expect(1, 1535, '\P{^Blk=hebrew}', "");
-Expect(0, 1423, '\p{Blk=hebrew}', "");
-Expect(1, 1423, '\p{^Blk=hebrew}', "");
-Expect(1, 1423, '\P{Blk=hebrew}', "");
-Expect(0, 1423, '\P{^Blk=hebrew}', "");
-Expect(1, 1535, '\p{Blk=-_hebrew}', "");
-Expect(0, 1535, '\p{^Blk=-_hebrew}', "");
-Expect(0, 1535, '\P{Blk=-_hebrew}', "");
-Expect(1, 1535, '\P{^Blk=-_hebrew}', "");
-Expect(0, 1423, '\p{Blk=-_hebrew}', "");
-Expect(1, 1423, '\p{^Blk=-_hebrew}', "");
-Expect(1, 1423, '\P{Blk=-_hebrew}', "");
-Expect(0, 1423, '\P{^Blk=-_hebrew}', "");
-Error('\p{Is_Block=/a/_hebrew}');
-Error('\P{Is_Block=/a/_hebrew}');
-Expect(1, 1535, '\p{Is_Block=hebrew}', "");
-Expect(0, 1535, '\p{^Is_Block=hebrew}', "");
-Expect(0, 1535, '\P{Is_Block=hebrew}', "");
-Expect(1, 1535, '\P{^Is_Block=hebrew}', "");
-Expect(0, 1423, '\p{Is_Block=hebrew}', "");
-Expect(1, 1423, '\p{^Is_Block=hebrew}', "");
-Expect(1, 1423, '\P{Is_Block=hebrew}', "");
-Expect(0, 1423, '\P{^Is_Block=hebrew}', "");
-Expect(1, 1535, '\p{Is_Block= _Hebrew}', "");
-Expect(0, 1535, '\p{^Is_Block= _Hebrew}', "");
-Expect(0, 1535, '\P{Is_Block= _Hebrew}', "");
-Expect(1, 1535, '\P{^Is_Block= _Hebrew}', "");
-Expect(0, 1423, '\p{Is_Block= _Hebrew}', "");
-Expect(1, 1423, '\p{^Is_Block= _Hebrew}', "");
-Expect(1, 1423, '\P{Is_Block= _Hebrew}', "");
-Expect(0, 1423, '\P{^Is_Block= _Hebrew}', "");
-Error('\p{Is_Blk=:= Hebrew}');
-Error('\P{Is_Blk=:= Hebrew}');
-Expect(1, 1535, '\p{Is_Blk: hebrew}', "");
-Expect(0, 1535, '\p{^Is_Blk: hebrew}', "");
-Expect(0, 1535, '\P{Is_Blk: hebrew}', "");
-Expect(1, 1535, '\P{^Is_Blk: hebrew}', "");
-Expect(0, 1423, '\p{Is_Blk: hebrew}', "");
-Expect(1, 1423, '\p{^Is_Blk: hebrew}', "");
-Expect(1, 1423, '\P{Is_Blk: hebrew}', "");
-Expect(0, 1423, '\P{^Is_Blk: hebrew}', "");
-Expect(1, 1535, '\p{Is_Blk= _hebrew}', "");
-Expect(0, 1535, '\p{^Is_Blk= _hebrew}', "");
-Expect(0, 1535, '\P{Is_Blk= _hebrew}', "");
-Expect(1, 1535, '\P{^Is_Blk= _hebrew}', "");
-Expect(0, 1423, '\p{Is_Blk= _hebrew}', "");
-Expect(1, 1423, '\p{^Is_Blk= _hebrew}', "");
-Expect(1, 1423, '\P{Is_Blk= _hebrew}', "");
-Expect(0, 1423, '\P{^Is_Blk= _hebrew}', "");
-Error('\p{Block= CYRILLIC/a/}');
-Error('\P{Block= CYRILLIC/a/}');
-Expect(1, 1279, '\p{Block=cyrillic}', "");
-Expect(0, 1279, '\p{^Block=cyrillic}', "");
-Expect(0, 1279, '\P{Block=cyrillic}', "");
-Expect(1, 1279, '\P{^Block=cyrillic}', "");
-Expect(0, 1023, '\p{Block=cyrillic}', "");
-Expect(1, 1023, '\p{^Block=cyrillic}', "");
-Expect(1, 1023, '\P{Block=cyrillic}', "");
-Expect(0, 1023, '\P{^Block=cyrillic}', "");
-Expect(1, 1279, '\p{Block: -Cyrillic}', "");
-Expect(0, 1279, '\p{^Block: -Cyrillic}', "");
-Expect(0, 1279, '\P{Block: -Cyrillic}', "");
-Expect(1, 1279, '\P{^Block: -Cyrillic}', "");
-Expect(0, 1023, '\p{Block: -Cyrillic}', "");
-Expect(1, 1023, '\p{^Block: -Cyrillic}', "");
-Expect(1, 1023, '\P{Block: -Cyrillic}', "");
-Expect(0, 1023, '\P{^Block: -Cyrillic}', "");
-Error('\p{Blk=-CYRILLIC/a/}');
-Error('\P{Blk=-CYRILLIC/a/}');
-Expect(1, 1279, '\p{Blk=cyrillic}', "");
-Expect(0, 1279, '\p{^Blk=cyrillic}', "");
-Expect(0, 1279, '\P{Blk=cyrillic}', "");
-Expect(1, 1279, '\P{^Blk=cyrillic}', "");
-Expect(0, 1023, '\p{Blk=cyrillic}', "");
-Expect(1, 1023, '\p{^Blk=cyrillic}', "");
-Expect(1, 1023, '\P{Blk=cyrillic}', "");
-Expect(0, 1023, '\P{^Blk=cyrillic}', "");
-Expect(1, 1279, '\p{Blk=_-Cyrillic}', "");
-Expect(0, 1279, '\p{^Blk=_-Cyrillic}', "");
-Expect(0, 1279, '\P{Blk=_-Cyrillic}', "");
-Expect(1, 1279, '\P{^Blk=_-Cyrillic}', "");
-Expect(0, 1023, '\p{Blk=_-Cyrillic}', "");
-Expect(1, 1023, '\p{^Blk=_-Cyrillic}', "");
-Expect(1, 1023, '\P{Blk=_-Cyrillic}', "");
-Expect(0, 1023, '\P{^Blk=_-Cyrillic}', "");
-Error('\p{Is_Block=-cyrillic/a/}');
-Error('\P{Is_Block=-cyrillic/a/}');
-Expect(1, 1279, '\p{Is_Block=cyrillic}', "");
-Expect(0, 1279, '\p{^Is_Block=cyrillic}', "");
-Expect(0, 1279, '\P{Is_Block=cyrillic}', "");
-Expect(1, 1279, '\P{^Is_Block=cyrillic}', "");
-Expect(0, 1023, '\p{Is_Block=cyrillic}', "");
-Expect(1, 1023, '\p{^Is_Block=cyrillic}', "");
-Expect(1, 1023, '\P{Is_Block=cyrillic}', "");
-Expect(0, 1023, '\P{^Is_Block=cyrillic}', "");
-Expect(1, 1279, '\p{Is_Block= _Cyrillic}', "");
-Expect(0, 1279, '\p{^Is_Block= _Cyrillic}', "");
-Expect(0, 1279, '\P{Is_Block= _Cyrillic}', "");
-Expect(1, 1279, '\P{^Is_Block= _Cyrillic}', "");
-Expect(0, 1023, '\p{Is_Block= _Cyrillic}', "");
-Expect(1, 1023, '\p{^Is_Block= _Cyrillic}', "");
-Expect(1, 1023, '\P{Is_Block= _Cyrillic}', "");
-Expect(0, 1023, '\P{^Is_Block= _Cyrillic}', "");
-Error('\p{Is_Blk=_/a/cyrillic}');
-Error('\P{Is_Blk=_/a/cyrillic}');
-Expect(1, 1279, '\p{Is_Blk=cyrillic}', "");
-Expect(0, 1279, '\p{^Is_Blk=cyrillic}', "");
-Expect(0, 1279, '\P{Is_Blk=cyrillic}', "");
-Expect(1, 1279, '\P{^Is_Blk=cyrillic}', "");
-Expect(0, 1023, '\p{Is_Blk=cyrillic}', "");
-Expect(1, 1023, '\p{^Is_Blk=cyrillic}', "");
-Expect(1, 1023, '\P{Is_Blk=cyrillic}', "");
-Expect(0, 1023, '\P{^Is_Blk=cyrillic}', "");
-Expect(1, 1279, '\p{Is_Blk=_-cyrillic}', "");
-Expect(0, 1279, '\p{^Is_Blk=_-cyrillic}', "");
-Expect(0, 1279, '\P{Is_Blk=_-cyrillic}', "");
-Expect(1, 1279, '\P{^Is_Blk=_-cyrillic}', "");
-Expect(0, 1023, '\p{Is_Blk=_-cyrillic}', "");
-Expect(1, 1023, '\p{^Is_Blk=_-cyrillic}', "");
-Expect(1, 1023, '\P{Is_Blk=_-cyrillic}', "");
-Expect(0, 1023, '\P{^Is_Blk=_-cyrillic}', "");
-Error('\p{Block=_LATIN Extended:=a}');
-Error('\P{Block=_LATIN Extended:=a}');
-Expect(1, 383, '\p{Block=latinextendeda}', "");
-Expect(0, 383, '\p{^Block=latinextendeda}', "");
-Expect(0, 383, '\P{Block=latinextendeda}', "");
-Expect(1, 383, '\P{^Block=latinextendeda}', "");
-Expect(0, 255, '\p{Block=latinextendeda}', "");
-Expect(1, 255, '\p{^Block=latinextendeda}', "");
-Expect(1, 255, '\P{Block=latinextendeda}', "");
-Expect(0, 255, '\P{^Block=latinextendeda}', "");
-Expect(1, 383, '\p{Block=--Latin EXTENDED-A}', "");
-Expect(0, 383, '\p{^Block=--Latin EXTENDED-A}', "");
-Expect(0, 383, '\P{Block=--Latin EXTENDED-A}', "");
-Expect(1, 383, '\P{^Block=--Latin EXTENDED-A}', "");
-Expect(0, 255, '\p{Block=--Latin EXTENDED-A}', "");
-Expect(1, 255, '\p{^Block=--Latin EXTENDED-A}', "");
-Expect(1, 255, '\P{Block=--Latin EXTENDED-A}', "");
-Expect(0, 255, '\P{^Block=--Latin EXTENDED-A}', "");
-Error('\p{Blk=/a/LATIN extended-A}');
-Error('\P{Blk=/a/LATIN extended-A}');
-Expect(1, 383, '\p{Blk=latinextendeda}', "");
-Expect(0, 383, '\p{^Blk=latinextendeda}', "");
-Expect(0, 383, '\P{Blk=latinextendeda}', "");
-Expect(1, 383, '\P{^Blk=latinextendeda}', "");
-Expect(0, 255, '\p{Blk=latinextendeda}', "");
-Expect(1, 255, '\p{^Blk=latinextendeda}', "");
-Expect(1, 255, '\P{Blk=latinextendeda}', "");
-Expect(0, 255, '\P{^Blk=latinextendeda}', "");
-Expect(1, 383, '\p{Blk=__LATIN-extended A}', "");
-Expect(0, 383, '\p{^Blk=__LATIN-extended A}', "");
-Expect(0, 383, '\P{Blk=__LATIN-extended A}', "");
-Expect(1, 383, '\P{^Blk=__LATIN-extended A}', "");
-Expect(0, 255, '\p{Blk=__LATIN-extended A}', "");
-Expect(1, 255, '\p{^Blk=__LATIN-extended A}', "");
-Expect(1, 255, '\P{Blk=__LATIN-extended A}', "");
-Expect(0, 255, '\P{^Blk=__LATIN-extended A}', "");
-Error('\p{Is_Block= -Latin Extended/a/A}');
-Error('\P{Is_Block= -Latin Extended/a/A}');
-Expect(1, 383, '\p{Is_Block=latinextendeda}', "");
-Expect(0, 383, '\p{^Is_Block=latinextendeda}', "");
-Expect(0, 383, '\P{Is_Block=latinextendeda}', "");
-Expect(1, 383, '\P{^Is_Block=latinextendeda}', "");
-Expect(0, 255, '\p{Is_Block=latinextendeda}', "");
-Expect(1, 255, '\p{^Is_Block=latinextendeda}', "");
-Expect(1, 255, '\P{Is_Block=latinextendeda}', "");
-Expect(0, 255, '\P{^Is_Block=latinextendeda}', "");
-Expect(1, 383, '\p{Is_Block=_LatinEXTENDED-a}', "");
-Expect(0, 383, '\p{^Is_Block=_LatinEXTENDED-a}', "");
-Expect(0, 383, '\P{Is_Block=_LatinEXTENDED-a}', "");
-Expect(1, 383, '\P{^Is_Block=_LatinEXTENDED-a}', "");
-Expect(0, 255, '\p{Is_Block=_LatinEXTENDED-a}', "");
-Expect(1, 255, '\p{^Is_Block=_LatinEXTENDED-a}', "");
-Expect(1, 255, '\P{Is_Block=_LatinEXTENDED-a}', "");
-Expect(0, 255, '\P{^Is_Block=_LatinEXTENDED-a}', "");
-Error('\p{Is_Blk=_-Latin-Extended_a:=}');
-Error('\P{Is_Blk=_-Latin-Extended_a:=}');
-Expect(1, 383, '\p{Is_Blk=latinextendeda}', "");
-Expect(0, 383, '\p{^Is_Blk=latinextendeda}', "");
-Expect(0, 383, '\P{Is_Blk=latinextendeda}', "");
-Expect(1, 383, '\P{^Is_Blk=latinextendeda}', "");
-Expect(0, 255, '\p{Is_Blk=latinextendeda}', "");
-Expect(1, 255, '\p{^Is_Blk=latinextendeda}', "");
-Expect(1, 255, '\P{Is_Blk=latinextendeda}', "");
-Expect(0, 255, '\P{^Is_Blk=latinextendeda}', "");
-Expect(1, 383, '\p{Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(0, 383, '\p{^Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(0, 383, '\P{Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(1, 383, '\P{^Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(0, 255, '\p{Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(1, 255, '\p{^Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(1, 255, '\P{Is_Blk=-Latin_EXTENDED-a}', "");
-Expect(0, 255, '\P{^Is_Blk=-Latin_EXTENDED-a}', "");
-Error('\p{Block=_ balinese/a/}');
-Error('\P{Block=_ balinese/a/}');
-Expect(1, 7039, '\p{Block=balinese}', "");
-Expect(0, 7039, '\p{^Block=balinese}', "");
-Expect(0, 7039, '\P{Block=balinese}', "");
-Expect(1, 7039, '\P{^Block=balinese}', "");
-Expect(0, 6911, '\p{Block=balinese}', "");
-Expect(1, 6911, '\p{^Block=balinese}', "");
-Expect(1, 6911, '\P{Block=balinese}', "");
-Expect(0, 6911, '\P{^Block=balinese}', "");
-Expect(1, 7039, '\p{Block=_-Balinese}', "");
-Expect(0, 7039, '\p{^Block=_-Balinese}', "");
-Expect(0, 7039, '\P{Block=_-Balinese}', "");
-Expect(1, 7039, '\P{^Block=_-Balinese}', "");
-Expect(0, 6911, '\p{Block=_-Balinese}', "");
-Expect(1, 6911, '\p{^Block=_-Balinese}', "");
-Expect(1, 6911, '\P{Block=_-Balinese}', "");
-Expect(0, 6911, '\P{^Block=_-Balinese}', "");
-Error('\p{Blk=:=_balinese}');
-Error('\P{Blk=:=_balinese}');
-Expect(1, 7039, '\p{Blk=balinese}', "");
-Expect(0, 7039, '\p{^Blk=balinese}', "");
-Expect(0, 7039, '\P{Blk=balinese}', "");
-Expect(1, 7039, '\P{^Blk=balinese}', "");
-Expect(0, 6911, '\p{Blk=balinese}', "");
-Expect(1, 6911, '\p{^Blk=balinese}', "");
-Expect(1, 6911, '\P{Blk=balinese}', "");
-Expect(0, 6911, '\P{^Blk=balinese}', "");
-Expect(1, 7039, '\p{Blk= Balinese}', "");
-Expect(0, 7039, '\p{^Blk= Balinese}', "");
-Expect(0, 7039, '\P{Blk= Balinese}', "");
-Expect(1, 7039, '\P{^Blk= Balinese}', "");
-Expect(0, 6911, '\p{Blk= Balinese}', "");
-Expect(1, 6911, '\p{^Blk= Balinese}', "");
-Expect(1, 6911, '\P{Blk= Balinese}', "");
-Expect(0, 6911, '\P{^Blk= Balinese}', "");
-Error('\p{Is_Block=-Balinese:=}');
-Error('\P{Is_Block=-Balinese:=}');
-Expect(1, 7039, '\p{Is_Block=balinese}', "");
-Expect(0, 7039, '\p{^Is_Block=balinese}', "");
-Expect(0, 7039, '\P{Is_Block=balinese}', "");
-Expect(1, 7039, '\P{^Is_Block=balinese}', "");
-Expect(0, 6911, '\p{Is_Block=balinese}', "");
-Expect(1, 6911, '\p{^Is_Block=balinese}', "");
-Expect(1, 6911, '\P{Is_Block=balinese}', "");
-Expect(0, 6911, '\P{^Is_Block=balinese}', "");
-Expect(1, 7039, '\p{Is_Block= -BALINESE}', "");
-Expect(0, 7039, '\p{^Is_Block= -BALINESE}', "");
-Expect(0, 7039, '\P{Is_Block= -BALINESE}', "");
-Expect(1, 7039, '\P{^Is_Block= -BALINESE}', "");
-Expect(0, 6911, '\p{Is_Block= -BALINESE}', "");
-Expect(1, 6911, '\p{^Is_Block= -BALINESE}', "");
-Expect(1, 6911, '\P{Is_Block= -BALINESE}', "");
-Expect(0, 6911, '\P{^Is_Block= -BALINESE}', "");
-Error('\p{Is_Blk=-_Balinese:=}');
-Error('\P{Is_Blk=-_Balinese:=}');
-Expect(1, 7039, '\p{Is_Blk=balinese}', "");
-Expect(0, 7039, '\p{^Is_Blk=balinese}', "");
-Expect(0, 7039, '\P{Is_Blk=balinese}', "");
-Expect(1, 7039, '\P{^Is_Blk=balinese}', "");
-Expect(0, 6911, '\p{Is_Blk=balinese}', "");
-Expect(1, 6911, '\p{^Is_Blk=balinese}', "");
-Expect(1, 6911, '\P{Is_Blk=balinese}', "");
-Expect(0, 6911, '\P{^Is_Blk=balinese}', "");
-Expect(1, 7039, '\p{Is_Blk= Balinese}', "");
-Expect(0, 7039, '\p{^Is_Blk= Balinese}', "");
-Expect(0, 7039, '\P{Is_Blk= Balinese}', "");
-Expect(1, 7039, '\P{^Is_Blk= Balinese}', "");
-Expect(0, 6911, '\p{Is_Blk= Balinese}', "");
-Expect(1, 6911, '\p{^Is_Blk= Balinese}', "");
-Expect(1, 6911, '\P{Is_Blk= Balinese}', "");
-Expect(0, 6911, '\P{^Is_Blk= Balinese}', "");
-Error('\p{Block=/a/ Avestan}');
-Error('\P{Block=/a/ Avestan}');
-Expect(1, 68415, '\p{Block=avestan}', "");
-Expect(0, 68415, '\p{^Block=avestan}', "");
-Expect(0, 68415, '\P{Block=avestan}', "");
-Expect(1, 68415, '\P{^Block=avestan}', "");
-Expect(0, 68351, '\p{Block=avestan}', "");
-Expect(1, 68351, '\p{^Block=avestan}', "");
-Expect(1, 68351, '\P{Block=avestan}', "");
-Expect(0, 68351, '\P{^Block=avestan}', "");
-Expect(1, 68415, '\p{Block=_ Avestan}', "");
-Expect(0, 68415, '\p{^Block=_ Avestan}', "");
-Expect(0, 68415, '\P{Block=_ Avestan}', "");
-Expect(1, 68415, '\P{^Block=_ Avestan}', "");
-Expect(0, 68351, '\p{Block=_ Avestan}', "");
-Expect(1, 68351, '\p{^Block=_ Avestan}', "");
-Expect(1, 68351, '\P{Block=_ Avestan}', "");
-Expect(0, 68351, '\P{^Block=_ Avestan}', "");
-Error('\p{Blk= Avestan:=}');
-Error('\P{Blk= Avestan:=}');
-Expect(1, 68415, '\p{Blk=avestan}', "");
-Expect(0, 68415, '\p{^Blk=avestan}', "");
-Expect(0, 68415, '\P{Blk=avestan}', "");
-Expect(1, 68415, '\P{^Blk=avestan}', "");
-Expect(0, 68351, '\p{Blk=avestan}', "");
-Expect(1, 68351, '\p{^Blk=avestan}', "");
-Expect(1, 68351, '\P{Blk=avestan}', "");
-Expect(0, 68351, '\P{^Blk=avestan}', "");
-Expect(1, 68415, '\p{Blk=- avestan}', "");
-Expect(0, 68415, '\p{^Blk=- avestan}', "");
-Expect(0, 68415, '\P{Blk=- avestan}', "");
-Expect(1, 68415, '\P{^Blk=- avestan}', "");
-Expect(0, 68351, '\p{Blk=- avestan}', "");
-Expect(1, 68351, '\p{^Blk=- avestan}', "");
-Expect(1, 68351, '\P{Blk=- avestan}', "");
-Expect(0, 68351, '\P{^Blk=- avestan}', "");
-Error('\p{Is_Block=:=-Avestan}');
-Error('\P{Is_Block=:=-Avestan}');
-Expect(1, 68415, '\p{Is_Block=avestan}', "");
-Expect(0, 68415, '\p{^Is_Block=avestan}', "");
-Expect(0, 68415, '\P{Is_Block=avestan}', "");
-Expect(1, 68415, '\P{^Is_Block=avestan}', "");
-Expect(0, 68351, '\p{Is_Block=avestan}', "");
-Expect(1, 68351, '\p{^Is_Block=avestan}', "");
-Expect(1, 68351, '\P{Is_Block=avestan}', "");
-Expect(0, 68351, '\P{^Is_Block=avestan}', "");
-Expect(1, 68415, '\p{Is_Block=_-Avestan}', "");
-Expect(0, 68415, '\p{^Is_Block=_-Avestan}', "");
-Expect(0, 68415, '\P{Is_Block=_-Avestan}', "");
-Expect(1, 68415, '\P{^Is_Block=_-Avestan}', "");
-Expect(0, 68351, '\p{Is_Block=_-Avestan}', "");
-Expect(1, 68351, '\p{^Is_Block=_-Avestan}', "");
-Expect(1, 68351, '\P{Is_Block=_-Avestan}', "");
-Expect(0, 68351, '\P{^Is_Block=_-Avestan}', "");
-Error('\p{Is_Blk=-AVESTAN:=}');
-Error('\P{Is_Blk=-AVESTAN:=}');
-Expect(1, 68415, '\p{Is_Blk=avestan}', "");
-Expect(0, 68415, '\p{^Is_Blk=avestan}', "");
-Expect(0, 68415, '\P{Is_Blk=avestan}', "");
-Expect(1, 68415, '\P{^Is_Blk=avestan}', "");
-Expect(0, 68351, '\p{Is_Blk=avestan}', "");
-Expect(1, 68351, '\p{^Is_Blk=avestan}', "");
-Expect(1, 68351, '\P{Is_Blk=avestan}', "");
-Expect(0, 68351, '\P{^Is_Blk=avestan}', "");
-Expect(1, 68415, '\p{Is_Blk: __Avestan}', "");
-Expect(0, 68415, '\p{^Is_Blk: __Avestan}', "");
-Expect(0, 68415, '\P{Is_Blk: __Avestan}', "");
-Expect(1, 68415, '\P{^Is_Blk: __Avestan}', "");
-Expect(0, 68351, '\p{Is_Blk: __Avestan}', "");
-Expect(1, 68351, '\p{^Is_Blk: __Avestan}', "");
-Expect(1, 68351, '\P{Is_Blk: __Avestan}', "");
-Expect(0, 68351, '\P{^Is_Blk: __Avestan}', "");
-Error('\p{Block= :=myanmar Extended-A}');
-Error('\P{Block= :=myanmar Extended-A}');
-Expect(1, 43647, '\p{Block=myanmarextendeda}', "");
-Expect(0, 43647, '\p{^Block=myanmarextendeda}', "");
-Expect(0, 43647, '\P{Block=myanmarextendeda}', "");
-Expect(1, 43647, '\P{^Block=myanmarextendeda}', "");
-Expect(0, 43615, '\p{Block=myanmarextendeda}', "");
-Expect(1, 43615, '\p{^Block=myanmarextendeda}', "");
-Expect(1, 43615, '\P{Block=myanmarextendeda}', "");
-Expect(0, 43615, '\P{^Block=myanmarextendeda}', "");
-Expect(1, 43647, '\p{Block=-MYANMAR_EXTENDEDA}', "");
-Expect(0, 43647, '\p{^Block=-MYANMAR_EXTENDEDA}', "");
-Expect(0, 43647, '\P{Block=-MYANMAR_EXTENDEDA}', "");
-Expect(1, 43647, '\P{^Block=-MYANMAR_EXTENDEDA}', "");
-Expect(0, 43615, '\p{Block=-MYANMAR_EXTENDEDA}', "");
-Expect(1, 43615, '\p{^Block=-MYANMAR_EXTENDEDA}', "");
-Expect(1, 43615, '\P{Block=-MYANMAR_EXTENDEDA}', "");
-Expect(0, 43615, '\P{^Block=-MYANMAR_EXTENDEDA}', "");
-Error('\p{Blk= myanmar EXTENDED:=A}');
-Error('\P{Blk= myanmar EXTENDED:=A}');
-Expect(1, 43647, '\p{Blk=myanmarextendeda}', "");
-Expect(0, 43647, '\p{^Blk=myanmarextendeda}', "");
-Expect(0, 43647, '\P{Blk=myanmarextendeda}', "");
-Expect(1, 43647, '\P{^Blk=myanmarextendeda}', "");
-Expect(0, 43615, '\p{Blk=myanmarextendeda}', "");
-Expect(1, 43615, '\p{^Blk=myanmarextendeda}', "");
-Expect(1, 43615, '\P{Blk=myanmarextendeda}', "");
-Expect(0, 43615, '\P{^Blk=myanmarextendeda}', "");
-Expect(1, 43647, '\p{Blk=- Myanmar EXTENDED_A}', "");
-Expect(0, 43647, '\p{^Blk=- Myanmar EXTENDED_A}', "");
-Expect(0, 43647, '\P{Blk=- Myanmar EXTENDED_A}', "");
-Expect(1, 43647, '\P{^Blk=- Myanmar EXTENDED_A}', "");
-Expect(0, 43615, '\p{Blk=- Myanmar EXTENDED_A}', "");
-Expect(1, 43615, '\p{^Blk=- Myanmar EXTENDED_A}', "");
-Expect(1, 43615, '\P{Blk=- Myanmar EXTENDED_A}', "");
-Expect(0, 43615, '\P{^Blk=- Myanmar EXTENDED_A}', "");
-Error('\p{Is_Block=:=myanmar Extended a}');
-Error('\P{Is_Block=:=myanmar Extended a}');
-Expect(1, 43647, '\p{Is_Block=myanmarextendeda}', "");
-Expect(0, 43647, '\p{^Is_Block=myanmarextendeda}', "");
-Expect(0, 43647, '\P{Is_Block=myanmarextendeda}', "");
-Expect(1, 43647, '\P{^Is_Block=myanmarextendeda}', "");
-Expect(0, 43615, '\p{Is_Block=myanmarextendeda}', "");
-Expect(1, 43615, '\p{^Is_Block=myanmarextendeda}', "");
-Expect(1, 43615, '\P{Is_Block=myanmarextendeda}', "");
-Expect(0, 43615, '\P{^Is_Block=myanmarextendeda}', "");
-Expect(1, 43647, '\p{Is_Block=-_Myanmar-Extended-A}', "");
-Expect(0, 43647, '\p{^Is_Block=-_Myanmar-Extended-A}', "");
-Expect(0, 43647, '\P{Is_Block=-_Myanmar-Extended-A}', "");
-Expect(1, 43647, '\P{^Is_Block=-_Myanmar-Extended-A}', "");
-Expect(0, 43615, '\p{Is_Block=-_Myanmar-Extended-A}', "");
-Expect(1, 43615, '\p{^Is_Block=-_Myanmar-Extended-A}', "");
-Expect(1, 43615, '\P{Is_Block=-_Myanmar-Extended-A}', "");
-Expect(0, 43615, '\P{^Is_Block=-_Myanmar-Extended-A}', "");
-Error('\p{Is_Blk=_/a/Myanmar-EXTENDEDa}');
-Error('\P{Is_Blk=_/a/Myanmar-EXTENDEDa}');
-Expect(1, 43647, '\p{Is_Blk=myanmarextendeda}', "");
-Expect(0, 43647, '\p{^Is_Blk=myanmarextendeda}', "");
-Expect(0, 43647, '\P{Is_Blk=myanmarextendeda}', "");
-Expect(1, 43647, '\P{^Is_Blk=myanmarextendeda}', "");
-Expect(0, 43615, '\p{Is_Blk=myanmarextendeda}', "");
-Expect(1, 43615, '\p{^Is_Blk=myanmarextendeda}', "");
-Expect(1, 43615, '\P{Is_Blk=myanmarextendeda}', "");
-Expect(0, 43615, '\P{^Is_Blk=myanmarextendeda}', "");
-Expect(1, 43647, '\p{Is_Blk=-myanmar-ExtendedA}', "");
-Expect(0, 43647, '\p{^Is_Blk=-myanmar-ExtendedA}', "");
-Expect(0, 43647, '\P{Is_Blk=-myanmar-ExtendedA}', "");
-Expect(1, 43647, '\P{^Is_Blk=-myanmar-ExtendedA}', "");
-Expect(0, 43615, '\p{Is_Blk=-myanmar-ExtendedA}', "");
-Expect(1, 43615, '\p{^Is_Blk=-myanmar-ExtendedA}', "");
-Expect(1, 43615, '\P{Is_Blk=-myanmar-ExtendedA}', "");
-Expect(0, 43615, '\P{^Is_Blk=-myanmar-ExtendedA}', "");
-Error('\p{Block=_Counting:=rod numerals}');
-Error('\P{Block=_Counting:=rod numerals}');
-Expect(1, 119679, '\p{Block=countingrodnumerals}', "");
-Expect(0, 119679, '\p{^Block=countingrodnumerals}', "");
-Expect(0, 119679, '\P{Block=countingrodnumerals}', "");
-Expect(1, 119679, '\P{^Block=countingrodnumerals}', "");
-Expect(0, 119647, '\p{Block=countingrodnumerals}', "");
-Expect(1, 119647, '\p{^Block=countingrodnumerals}', "");
-Expect(1, 119647, '\P{Block=countingrodnumerals}', "");
-Expect(0, 119647, '\P{^Block=countingrodnumerals}', "");
-Expect(1, 119679, '\p{Block=-Countingrod-Numerals}', "");
-Expect(0, 119679, '\p{^Block=-Countingrod-Numerals}', "");
-Expect(0, 119679, '\P{Block=-Countingrod-Numerals}', "");
-Expect(1, 119679, '\P{^Block=-Countingrod-Numerals}', "");
-Expect(0, 119647, '\p{Block=-Countingrod-Numerals}', "");
-Expect(1, 119647, '\p{^Block=-Countingrod-Numerals}', "");
-Expect(1, 119647, '\P{Block=-Countingrod-Numerals}', "");
-Expect(0, 119647, '\P{^Block=-Countingrod-Numerals}', "");
-Error('\p{Blk::=COUNTING RODnumerals}');
-Error('\P{Blk::=COUNTING RODnumerals}');
-Expect(1, 119679, '\p{Blk=countingrodnumerals}', "");
-Expect(0, 119679, '\p{^Blk=countingrodnumerals}', "");
-Expect(0, 119679, '\P{Blk=countingrodnumerals}', "");
-Expect(1, 119679, '\P{^Blk=countingrodnumerals}', "");
-Expect(0, 119647, '\p{Blk=countingrodnumerals}', "");
-Expect(1, 119647, '\p{^Blk=countingrodnumerals}', "");
-Expect(1, 119647, '\P{Blk=countingrodnumerals}', "");
-Expect(0, 119647, '\P{^Blk=countingrodnumerals}', "");
-Expect(1, 119679, '\p{Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(0, 119679, '\p{^Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(0, 119679, '\P{Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(1, 119679, '\P{^Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(0, 119647, '\p{Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(1, 119647, '\p{^Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(1, 119647, '\P{Blk=--COUNTING-ROD NUMERALS}', "");
-Expect(0, 119647, '\P{^Blk=--COUNTING-ROD NUMERALS}', "");
-Error('\p{Is_Block=_/a/counting RodNumerals}');
-Error('\P{Is_Block=_/a/counting RodNumerals}');
-Expect(1, 119679, '\p{Is_Block=countingrodnumerals}', "");
-Expect(0, 119679, '\p{^Is_Block=countingrodnumerals}', "");
-Expect(0, 119679, '\P{Is_Block=countingrodnumerals}', "");
-Expect(1, 119679, '\P{^Is_Block=countingrodnumerals}', "");
-Expect(0, 119647, '\p{Is_Block=countingrodnumerals}', "");
-Expect(1, 119647, '\p{^Is_Block=countingrodnumerals}', "");
-Expect(1, 119647, '\P{Is_Block=countingrodnumerals}', "");
-Expect(0, 119647, '\P{^Is_Block=countingrodnumerals}', "");
-Expect(1, 119679, '\p{Is_Block= counting-RodNumerals}', "");
-Expect(0, 119679, '\p{^Is_Block= counting-RodNumerals}', "");
-Expect(0, 119679, '\P{Is_Block= counting-RodNumerals}', "");
-Expect(1, 119679, '\P{^Is_Block= counting-RodNumerals}', "");
-Expect(0, 119647, '\p{Is_Block= counting-RodNumerals}', "");
-Expect(1, 119647, '\p{^Is_Block= counting-RodNumerals}', "");
-Expect(1, 119647, '\P{Is_Block= counting-RodNumerals}', "");
-Expect(0, 119647, '\P{^Is_Block= counting-RodNumerals}', "");
-Error('\p{Is_Blk=:= counting_Rodnumerals}');
-Error('\P{Is_Blk=:= counting_Rodnumerals}');
-Expect(1, 119679, '\p{Is_Blk=countingrodnumerals}', "");
-Expect(0, 119679, '\p{^Is_Blk=countingrodnumerals}', "");
-Expect(0, 119679, '\P{Is_Blk=countingrodnumerals}', "");
-Expect(1, 119679, '\P{^Is_Blk=countingrodnumerals}', "");
-Expect(0, 119647, '\p{Is_Blk=countingrodnumerals}', "");
-Expect(1, 119647, '\p{^Is_Blk=countingrodnumerals}', "");
-Expect(1, 119647, '\P{Is_Blk=countingrodnumerals}', "");
-Expect(0, 119647, '\P{^Is_Blk=countingrodnumerals}', "");
-Expect(1, 119679, '\p{Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(0, 119679, '\p{^Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(0, 119679, '\P{Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(1, 119679, '\P{^Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(0, 119647, '\p{Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(1, 119647, '\p{^Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(1, 119647, '\P{Is_Blk= -Counting-Rod-Numerals}', "");
-Expect(0, 119647, '\P{^Is_Blk= -Counting-Rod-Numerals}', "");
-Error('\p{Block=-_Byzantine:=Musical_Symbols}');
-Error('\P{Block=-_Byzantine:=Musical_Symbols}');
-Expect(1, 119039, '\p{Block=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^Block=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{Block=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^Block=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{Block=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^Block=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{Block=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^Block=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{Block= -byzantine_Musical Symbols}', "");
-Expect(0, 119039, '\p{^Block= -byzantine_Musical Symbols}', "");
-Expect(0, 119039, '\P{Block= -byzantine_Musical Symbols}', "");
-Expect(1, 119039, '\P{^Block= -byzantine_Musical Symbols}', "");
-Expect(0, 118783, '\p{Block= -byzantine_Musical Symbols}', "");
-Expect(1, 118783, '\p{^Block= -byzantine_Musical Symbols}', "");
-Expect(1, 118783, '\P{Block= -byzantine_Musical Symbols}', "");
-Expect(0, 118783, '\P{^Block= -byzantine_Musical Symbols}', "");
-Error('\p{Blk= Byzantine musical/a/Symbols}');
-Error('\P{Blk= Byzantine musical/a/Symbols}');
-Expect(1, 119039, '\p{Blk=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^Blk=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{Blk=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^Blk=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{Blk=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^Blk=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{Blk=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^Blk=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(0, 119039, '\p{^Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(0, 119039, '\P{Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(1, 119039, '\P{^Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(0, 118783, '\p{Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(1, 118783, '\p{^Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(1, 118783, '\P{Blk=_ byzantine MusicalSYMBOLS}', "");
-Expect(0, 118783, '\P{^Blk=_ byzantine MusicalSYMBOLS}', "");
-Error('\p{Is_Block: BYZANTINE:=MusicalSymbols}');
-Error('\P{Is_Block: BYZANTINE:=MusicalSymbols}');
-Expect(1, 119039, '\p{Is_Block=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^Is_Block=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{Is_Block=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^Is_Block=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{Is_Block=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^Is_Block=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{Is_Block=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^Is_Block=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{Is_Block= _byzantineMusical-symbols}', "");
-Expect(0, 119039, '\p{^Is_Block= _byzantineMusical-symbols}', "");
-Expect(0, 119039, '\P{Is_Block= _byzantineMusical-symbols}', "");
-Expect(1, 119039, '\P{^Is_Block= _byzantineMusical-symbols}', "");
-Expect(0, 118783, '\p{Is_Block= _byzantineMusical-symbols}', "");
-Expect(1, 118783, '\p{^Is_Block= _byzantineMusical-symbols}', "");
-Expect(1, 118783, '\P{Is_Block= _byzantineMusical-symbols}', "");
-Expect(0, 118783, '\P{^Is_Block= _byzantineMusical-symbols}', "");
-Error('\p{Is_Blk= ByzantineMUSICAL-Symbols/a/}');
-Error('\P{Is_Blk= ByzantineMUSICAL-Symbols/a/}');
-Expect(1, 119039, '\p{Is_Blk=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^Is_Blk=byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{Is_Blk=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^Is_Blk=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{Is_Blk=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^Is_Blk=byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{Is_Blk=byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^Is_Blk=byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(0, 119039, '\p{^Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(0, 119039, '\P{Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(1, 119039, '\P{^Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(0, 118783, '\p{Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(1, 118783, '\p{^Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(1, 118783, '\P{Is_Blk=- byzantineMUSICAL Symbols}', "");
-Expect(0, 118783, '\P{^Is_Blk=- byzantineMUSICAL Symbols}', "");
-Error('\p{Block=/a/ tamil}');
-Error('\P{Block=/a/ tamil}');
-Expect(1, 3071, '\p{Block=tamil}', "");
-Expect(0, 3071, '\p{^Block=tamil}', "");
-Expect(0, 3071, '\P{Block=tamil}', "");
-Expect(1, 3071, '\P{^Block=tamil}', "");
-Expect(0, 2943, '\p{Block=tamil}', "");
-Expect(1, 2943, '\p{^Block=tamil}', "");
-Expect(1, 2943, '\P{Block=tamil}', "");
-Expect(0, 2943, '\P{^Block=tamil}', "");
-Expect(1, 3071, '\p{Block= Tamil}', "");
-Expect(0, 3071, '\p{^Block= Tamil}', "");
-Expect(0, 3071, '\P{Block= Tamil}', "");
-Expect(1, 3071, '\P{^Block= Tamil}', "");
-Expect(0, 2943, '\p{Block= Tamil}', "");
-Expect(1, 2943, '\p{^Block= Tamil}', "");
-Expect(1, 2943, '\P{Block= Tamil}', "");
-Expect(0, 2943, '\P{^Block= Tamil}', "");
-Error('\p{Blk= :=Tamil}');
-Error('\P{Blk= :=Tamil}');
-Expect(1, 3071, '\p{Blk=tamil}', "");
-Expect(0, 3071, '\p{^Blk=tamil}', "");
-Expect(0, 3071, '\P{Blk=tamil}', "");
-Expect(1, 3071, '\P{^Blk=tamil}', "");
-Expect(0, 2943, '\p{Blk=tamil}', "");
-Expect(1, 2943, '\p{^Blk=tamil}', "");
-Expect(1, 2943, '\P{Blk=tamil}', "");
-Expect(0, 2943, '\P{^Blk=tamil}', "");
-Expect(1, 3071, '\p{Blk= _Tamil}', "");
-Expect(0, 3071, '\p{^Blk= _Tamil}', "");
-Expect(0, 3071, '\P{Blk= _Tamil}', "");
-Expect(1, 3071, '\P{^Blk= _Tamil}', "");
-Expect(0, 2943, '\p{Blk= _Tamil}', "");
-Expect(1, 2943, '\p{^Blk= _Tamil}', "");
-Expect(1, 2943, '\P{Blk= _Tamil}', "");
-Expect(0, 2943, '\P{^Blk= _Tamil}', "");
-Error('\p{Is_Block=/a/- tamil}');
-Error('\P{Is_Block=/a/- tamil}');
-Expect(1, 3071, '\p{Is_Block=tamil}', "");
-Expect(0, 3071, '\p{^Is_Block=tamil}', "");
-Expect(0, 3071, '\P{Is_Block=tamil}', "");
-Expect(1, 3071, '\P{^Is_Block=tamil}', "");
-Expect(0, 2943, '\p{Is_Block=tamil}', "");
-Expect(1, 2943, '\p{^Is_Block=tamil}', "");
-Expect(1, 2943, '\P{Is_Block=tamil}', "");
-Expect(0, 2943, '\P{^Is_Block=tamil}', "");
-Expect(1, 3071, '\p{Is_Block= Tamil}', "");
-Expect(0, 3071, '\p{^Is_Block= Tamil}', "");
-Expect(0, 3071, '\P{Is_Block= Tamil}', "");
-Expect(1, 3071, '\P{^Is_Block= Tamil}', "");
-Expect(0, 2943, '\p{Is_Block= Tamil}', "");
-Expect(1, 2943, '\p{^Is_Block= Tamil}', "");
-Expect(1, 2943, '\P{Is_Block= Tamil}', "");
-Expect(0, 2943, '\P{^Is_Block= Tamil}', "");
-Error('\p{Is_Blk= tamil:=}');
-Error('\P{Is_Blk= tamil:=}');
-Expect(1, 3071, '\p{Is_Blk=tamil}', "");
-Expect(0, 3071, '\p{^Is_Blk=tamil}', "");
-Expect(0, 3071, '\P{Is_Blk=tamil}', "");
-Expect(1, 3071, '\P{^Is_Blk=tamil}', "");
-Expect(0, 2943, '\p{Is_Blk=tamil}', "");
-Expect(1, 2943, '\p{^Is_Blk=tamil}', "");
-Expect(1, 2943, '\P{Is_Blk=tamil}', "");
-Expect(0, 2943, '\P{^Is_Blk=tamil}', "");
-Expect(1, 3071, '\p{Is_Blk= Tamil}', "");
-Expect(0, 3071, '\p{^Is_Blk= Tamil}', "");
-Expect(0, 3071, '\P{Is_Blk= Tamil}', "");
-Expect(1, 3071, '\P{^Is_Blk= Tamil}', "");
-Expect(0, 2943, '\p{Is_Blk= Tamil}', "");
-Expect(1, 2943, '\p{^Is_Blk= Tamil}', "");
-Expect(1, 2943, '\P{Is_Blk= Tamil}', "");
-Expect(0, 2943, '\P{^Is_Blk= Tamil}', "");
-Error('\p{Block= :=specials}');
-Error('\P{Block= :=specials}');
-Expect(1, 65520, '\p{Block=specials}', "");
-Expect(0, 65520, '\p{^Block=specials}', "");
-Expect(0, 65520, '\P{Block=specials}', "");
-Expect(1, 65520, '\P{^Block=specials}', "");
-Expect(0, 65519, '\p{Block=specials}', "");
-Expect(1, 65519, '\p{^Block=specials}', "");
-Expect(1, 65519, '\P{Block=specials}', "");
-Expect(0, 65519, '\P{^Block=specials}', "");
-Expect(1, 65520, '\p{Block= Specials}', "");
-Expect(0, 65520, '\p{^Block= Specials}', "");
-Expect(0, 65520, '\P{Block= Specials}', "");
-Expect(1, 65520, '\P{^Block= Specials}', "");
-Expect(0, 65519, '\p{Block= Specials}', "");
-Expect(1, 65519, '\p{^Block= Specials}', "");
-Expect(1, 65519, '\P{Block= Specials}', "");
-Expect(0, 65519, '\P{^Block= Specials}', "");
-Error('\p{Blk= specials/a/}');
-Error('\P{Blk= specials/a/}');
-Expect(1, 65520, '\p{Blk=specials}', "");
-Expect(0, 65520, '\p{^Blk=specials}', "");
-Expect(0, 65520, '\P{Blk=specials}', "");
-Expect(1, 65520, '\P{^Blk=specials}', "");
-Expect(0, 65519, '\p{Blk=specials}', "");
-Expect(1, 65519, '\p{^Blk=specials}', "");
-Expect(1, 65519, '\P{Blk=specials}', "");
-Expect(0, 65519, '\P{^Blk=specials}', "");
-Expect(1, 65520, '\p{Blk= _Specials}', "");
-Expect(0, 65520, '\p{^Blk= _Specials}', "");
-Expect(0, 65520, '\P{Blk= _Specials}', "");
-Expect(1, 65520, '\P{^Blk= _Specials}', "");
-Expect(0, 65519, '\p{Blk= _Specials}', "");
-Expect(1, 65519, '\p{^Blk= _Specials}', "");
-Expect(1, 65519, '\P{Blk= _Specials}', "");
-Expect(0, 65519, '\P{^Blk= _Specials}', "");
-Error('\p{Is_Block: _ Specials:=}');
-Error('\P{Is_Block: _ Specials:=}');
-Expect(1, 65520, '\p{Is_Block=specials}', "");
-Expect(0, 65520, '\p{^Is_Block=specials}', "");
-Expect(0, 65520, '\P{Is_Block=specials}', "");
-Expect(1, 65520, '\P{^Is_Block=specials}', "");
-Expect(0, 65519, '\p{Is_Block=specials}', "");
-Expect(1, 65519, '\p{^Is_Block=specials}', "");
-Expect(1, 65519, '\P{Is_Block=specials}', "");
-Expect(0, 65519, '\P{^Is_Block=specials}', "");
-Expect(1, 65520, '\p{Is_Block:__SPECIALS}', "");
-Expect(0, 65520, '\p{^Is_Block:__SPECIALS}', "");
-Expect(0, 65520, '\P{Is_Block:__SPECIALS}', "");
-Expect(1, 65520, '\P{^Is_Block:__SPECIALS}', "");
-Expect(0, 65519, '\p{Is_Block:__SPECIALS}', "");
-Expect(1, 65519, '\p{^Is_Block:__SPECIALS}', "");
-Expect(1, 65519, '\P{Is_Block:__SPECIALS}', "");
-Expect(0, 65519, '\P{^Is_Block:__SPECIALS}', "");
-Error('\p{Is_Blk=__Specials/a/}');
-Error('\P{Is_Blk=__Specials/a/}');
-Expect(1, 65520, '\p{Is_Blk=specials}', "");
-Expect(0, 65520, '\p{^Is_Blk=specials}', "");
-Expect(0, 65520, '\P{Is_Blk=specials}', "");
-Expect(1, 65520, '\P{^Is_Blk=specials}', "");
-Expect(0, 65519, '\p{Is_Blk=specials}', "");
-Expect(1, 65519, '\p{^Is_Blk=specials}', "");
-Expect(1, 65519, '\P{Is_Blk=specials}', "");
-Expect(0, 65519, '\P{^Is_Blk=specials}', "");
-Expect(1, 65520, '\p{Is_Blk: Specials}', "");
-Expect(0, 65520, '\p{^Is_Blk: Specials}', "");
-Expect(0, 65520, '\P{Is_Blk: Specials}', "");
-Expect(1, 65520, '\P{^Is_Blk: Specials}', "");
-Expect(0, 65519, '\p{Is_Blk: Specials}', "");
-Expect(1, 65519, '\p{^Is_Blk: Specials}', "");
-Expect(1, 65519, '\P{Is_Blk: Specials}', "");
-Expect(0, 65519, '\P{^Is_Blk: Specials}', "");
-Error('\p{Block: /a/- Georgian}');
-Error('\P{Block: /a/- Georgian}');
-Expect(1, 4351, '\p{Block=georgian}', "");
-Expect(0, 4351, '\p{^Block=georgian}', "");
-Expect(0, 4351, '\P{Block=georgian}', "");
-Expect(1, 4351, '\P{^Block=georgian}', "");
-Expect(0, 4255, '\p{Block=georgian}', "");
-Expect(1, 4255, '\p{^Block=georgian}', "");
-Expect(1, 4255, '\P{Block=georgian}', "");
-Expect(0, 4255, '\P{^Block=georgian}', "");
-Expect(1, 4351, '\p{Block=__GEORGIAN}', "");
-Expect(0, 4351, '\p{^Block=__GEORGIAN}', "");
-Expect(0, 4351, '\P{Block=__GEORGIAN}', "");
-Expect(1, 4351, '\P{^Block=__GEORGIAN}', "");
-Expect(0, 4255, '\p{Block=__GEORGIAN}', "");
-Expect(1, 4255, '\p{^Block=__GEORGIAN}', "");
-Expect(1, 4255, '\P{Block=__GEORGIAN}', "");
-Expect(0, 4255, '\P{^Block=__GEORGIAN}', "");
-Error('\p{Blk=/a/ -Georgian}');
-Error('\P{Blk=/a/ -Georgian}');
-Expect(1, 4351, '\p{Blk=georgian}', "");
-Expect(0, 4351, '\p{^Blk=georgian}', "");
-Expect(0, 4351, '\P{Blk=georgian}', "");
-Expect(1, 4351, '\P{^Blk=georgian}', "");
-Expect(0, 4255, '\p{Blk=georgian}', "");
-Expect(1, 4255, '\p{^Blk=georgian}', "");
-Expect(1, 4255, '\P{Blk=georgian}', "");
-Expect(0, 4255, '\P{^Blk=georgian}', "");
-Expect(1, 4351, '\p{Blk=- Georgian}', "");
-Expect(0, 4351, '\p{^Blk=- Georgian}', "");
-Expect(0, 4351, '\P{Blk=- Georgian}', "");
-Expect(1, 4351, '\P{^Blk=- Georgian}', "");
-Expect(0, 4255, '\p{Blk=- Georgian}', "");
-Expect(1, 4255, '\p{^Blk=- Georgian}', "");
-Expect(1, 4255, '\P{Blk=- Georgian}', "");
-Expect(0, 4255, '\P{^Blk=- Georgian}', "");
-Error('\p{Is_Block=--georgian:=}');
-Error('\P{Is_Block=--georgian:=}');
-Expect(1, 4351, '\p{Is_Block: georgian}', "");
-Expect(0, 4351, '\p{^Is_Block: georgian}', "");
-Expect(0, 4351, '\P{Is_Block: georgian}', "");
-Expect(1, 4351, '\P{^Is_Block: georgian}', "");
-Expect(0, 4255, '\p{Is_Block: georgian}', "");
-Expect(1, 4255, '\p{^Is_Block: georgian}', "");
-Expect(1, 4255, '\P{Is_Block: georgian}', "");
-Expect(0, 4255, '\P{^Is_Block: georgian}', "");
-Expect(1, 4351, '\p{Is_Block= _Georgian}', "");
-Expect(0, 4351, '\p{^Is_Block= _Georgian}', "");
-Expect(0, 4351, '\P{Is_Block= _Georgian}', "");
-Expect(1, 4351, '\P{^Is_Block= _Georgian}', "");
-Expect(0, 4255, '\p{Is_Block= _Georgian}', "");
-Expect(1, 4255, '\p{^Is_Block= _Georgian}', "");
-Expect(1, 4255, '\P{Is_Block= _Georgian}', "");
-Expect(0, 4255, '\P{^Is_Block= _Georgian}', "");
-Error('\p{Is_Blk=/a/- GEORGIAN}');
-Error('\P{Is_Blk=/a/- GEORGIAN}');
-Expect(1, 4351, '\p{Is_Blk=georgian}', "");
-Expect(0, 4351, '\p{^Is_Blk=georgian}', "");
-Expect(0, 4351, '\P{Is_Blk=georgian}', "");
-Expect(1, 4351, '\P{^Is_Blk=georgian}', "");
-Expect(0, 4255, '\p{Is_Blk=georgian}', "");
-Expect(1, 4255, '\p{^Is_Blk=georgian}', "");
-Expect(1, 4255, '\P{Is_Blk=georgian}', "");
-Expect(0, 4255, '\P{^Is_Blk=georgian}', "");
-Expect(1, 4351, '\p{Is_Blk= _Georgian}', "");
-Expect(0, 4351, '\p{^Is_Blk= _Georgian}', "");
-Expect(0, 4351, '\P{Is_Blk= _Georgian}', "");
-Expect(1, 4351, '\P{^Is_Blk= _Georgian}', "");
-Expect(0, 4255, '\p{Is_Blk= _Georgian}', "");
-Expect(1, 4255, '\p{^Is_Blk= _Georgian}', "");
-Expect(1, 4255, '\P{Is_Blk= _Georgian}', "");
-Expect(0, 4255, '\P{^Is_Blk= _Georgian}', "");
-Error('\p{Block= -KAYAH Li/a/}');
-Error('\P{Block= -KAYAH Li/a/}');
-Expect(1, 43311, '\p{Block=kayahli}', "");
-Expect(0, 43311, '\p{^Block=kayahli}', "");
-Expect(0, 43311, '\P{Block=kayahli}', "");
-Expect(1, 43311, '\P{^Block=kayahli}', "");
-Expect(0, 43263, '\p{Block=kayahli}', "");
-Expect(1, 43263, '\p{^Block=kayahli}', "");
-Expect(1, 43263, '\P{Block=kayahli}', "");
-Expect(0, 43263, '\P{^Block=kayahli}', "");
-Expect(1, 43311, '\p{Block=_-KAYAH Li}', "");
-Expect(0, 43311, '\p{^Block=_-KAYAH Li}', "");
-Expect(0, 43311, '\P{Block=_-KAYAH Li}', "");
-Expect(1, 43311, '\P{^Block=_-KAYAH Li}', "");
-Expect(0, 43263, '\p{Block=_-KAYAH Li}', "");
-Expect(1, 43263, '\p{^Block=_-KAYAH Li}', "");
-Expect(1, 43263, '\P{Block=_-KAYAH Li}', "");
-Expect(0, 43263, '\P{^Block=_-KAYAH Li}', "");
-Error('\p{Blk=_/a/kayah-LI}');
-Error('\P{Blk=_/a/kayah-LI}');
-Expect(1, 43311, '\p{Blk=kayahli}', "");
-Expect(0, 43311, '\p{^Blk=kayahli}', "");
-Expect(0, 43311, '\P{Blk=kayahli}', "");
-Expect(1, 43311, '\P{^Blk=kayahli}', "");
-Expect(0, 43263, '\p{Blk=kayahli}', "");
-Expect(1, 43263, '\p{^Blk=kayahli}', "");
-Expect(1, 43263, '\P{Blk=kayahli}', "");
-Expect(0, 43263, '\P{^Blk=kayahli}', "");
-Expect(1, 43311, '\p{Blk=-Kayah li}', "");
-Expect(0, 43311, '\p{^Blk=-Kayah li}', "");
-Expect(0, 43311, '\P{Blk=-Kayah li}', "");
-Expect(1, 43311, '\P{^Blk=-Kayah li}', "");
-Expect(0, 43263, '\p{Blk=-Kayah li}', "");
-Expect(1, 43263, '\p{^Blk=-Kayah li}', "");
-Expect(1, 43263, '\P{Blk=-Kayah li}', "");
-Expect(0, 43263, '\P{^Blk=-Kayah li}', "");
-Error('\p{Is_Block= :=Kayahli}');
-Error('\P{Is_Block= :=Kayahli}');
-Expect(1, 43311, '\p{Is_Block=kayahli}', "");
-Expect(0, 43311, '\p{^Is_Block=kayahli}', "");
-Expect(0, 43311, '\P{Is_Block=kayahli}', "");
-Expect(1, 43311, '\P{^Is_Block=kayahli}', "");
-Expect(0, 43263, '\p{Is_Block=kayahli}', "");
-Expect(1, 43263, '\p{^Is_Block=kayahli}', "");
-Expect(1, 43263, '\P{Is_Block=kayahli}', "");
-Expect(0, 43263, '\P{^Is_Block=kayahli}', "");
-Expect(1, 43311, '\p{Is_Block= _Kayah Li}', "");
-Expect(0, 43311, '\p{^Is_Block= _Kayah Li}', "");
-Expect(0, 43311, '\P{Is_Block= _Kayah Li}', "");
-Expect(1, 43311, '\P{^Is_Block= _Kayah Li}', "");
-Expect(0, 43263, '\p{Is_Block= _Kayah Li}', "");
-Expect(1, 43263, '\p{^Is_Block= _Kayah Li}', "");
-Expect(1, 43263, '\P{Is_Block= _Kayah Li}', "");
-Expect(0, 43263, '\P{^Is_Block= _Kayah Li}', "");
-Error('\p{Is_Blk= _kayah:=LI}');
-Error('\P{Is_Blk= _kayah:=LI}');
-Expect(1, 43311, '\p{Is_Blk=kayahli}', "");
-Expect(0, 43311, '\p{^Is_Blk=kayahli}', "");
-Expect(0, 43311, '\P{Is_Blk=kayahli}', "");
-Expect(1, 43311, '\P{^Is_Blk=kayahli}', "");
-Expect(0, 43263, '\p{Is_Blk=kayahli}', "");
-Expect(1, 43263, '\p{^Is_Blk=kayahli}', "");
-Expect(1, 43263, '\P{Is_Blk=kayahli}', "");
-Expect(0, 43263, '\P{^Is_Blk=kayahli}', "");
-Expect(1, 43311, '\p{Is_Blk=KAYAH-Li}', "");
-Expect(0, 43311, '\p{^Is_Blk=KAYAH-Li}', "");
-Expect(0, 43311, '\P{Is_Blk=KAYAH-Li}', "");
-Expect(1, 43311, '\P{^Is_Blk=KAYAH-Li}', "");
-Expect(0, 43263, '\p{Is_Blk=KAYAH-Li}', "");
-Expect(1, 43263, '\p{^Is_Blk=KAYAH-Li}', "");
-Expect(1, 43263, '\P{Is_Blk=KAYAH-Li}', "");
-Expect(0, 43263, '\P{^Is_Blk=KAYAH-Li}', "");
-Error('\p{Block: _CJKCompatibility forms/a/}');
-Error('\P{Block: _CJKCompatibility forms/a/}');
-Expect(1, 65103, '\p{Block=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^Block=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{Block=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^Block=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{Block=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^Block=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{Block=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^Block=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{Block=_ CJK-Compatibility_forms}', "");
-Expect(0, 65103, '\p{^Block=_ CJK-Compatibility_forms}', "");
-Expect(0, 65103, '\P{Block=_ CJK-Compatibility_forms}', "");
-Expect(1, 65103, '\P{^Block=_ CJK-Compatibility_forms}', "");
-Expect(0, 65071, '\p{Block=_ CJK-Compatibility_forms}', "");
-Expect(1, 65071, '\p{^Block=_ CJK-Compatibility_forms}', "");
-Expect(1, 65071, '\P{Block=_ CJK-Compatibility_forms}', "");
-Expect(0, 65071, '\P{^Block=_ CJK-Compatibility_forms}', "");
-Error('\p{Blk= CJK compatibility Forms/a/}');
-Error('\P{Blk= CJK compatibility Forms/a/}');
-Expect(1, 65103, '\p{Blk=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^Blk=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{Blk=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^Blk=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{Blk=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^Blk=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{Blk=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^Blk=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{Blk= CJKcompatibility Forms}', "");
-Expect(0, 65103, '\p{^Blk= CJKcompatibility Forms}', "");
-Expect(0, 65103, '\P{Blk= CJKcompatibility Forms}', "");
-Expect(1, 65103, '\P{^Blk= CJKcompatibility Forms}', "");
-Expect(0, 65071, '\p{Blk= CJKcompatibility Forms}', "");
-Expect(1, 65071, '\p{^Blk= CJKcompatibility Forms}', "");
-Expect(1, 65071, '\P{Blk= CJKcompatibility Forms}', "");
-Expect(0, 65071, '\P{^Blk= CJKcompatibility Forms}', "");
-Error('\p{Is_Block=/a/--CJK-Compatibilityforms}');
-Error('\P{Is_Block=/a/--CJK-Compatibilityforms}');
-Expect(1, 65103, '\p{Is_Block=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^Is_Block=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{Is_Block=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^Is_Block=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{Is_Block=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^Is_Block=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{Is_Block=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^Is_Block=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(0, 65103, '\p{^Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(0, 65103, '\P{Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(1, 65103, '\P{^Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(0, 65071, '\p{Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(1, 65071, '\p{^Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(1, 65071, '\P{Is_Block: _cjk_compatibility-FORMS}', "");
-Expect(0, 65071, '\P{^Is_Block: _cjk_compatibility-FORMS}', "");
-Error('\p{Is_Blk: CJKCompatibility:=FORMS}');
-Error('\P{Is_Blk: CJKCompatibility:=FORMS}');
-Expect(1, 65103, '\p{Is_Blk=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^Is_Blk=cjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{Is_Blk=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^Is_Blk=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{Is_Blk=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^Is_Blk=cjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{Is_Blk=cjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^Is_Blk=cjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(0, 65103, '\p{^Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(0, 65103, '\P{Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(1, 65103, '\P{^Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(0, 65071, '\p{Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(1, 65071, '\p{^Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(1, 65071, '\P{Is_Blk= cjk_Compatibility-Forms}', "");
-Expect(0, 65071, '\P{^Is_Blk= cjk_Compatibility-Forms}', "");
-Error('\p{Block= /a/Tifinagh}');
-Error('\P{Block= /a/Tifinagh}');
-Expect(1, 11647, '\p{Block=tifinagh}', "");
-Expect(0, 11647, '\p{^Block=tifinagh}', "");
-Expect(0, 11647, '\P{Block=tifinagh}', "");
-Expect(1, 11647, '\P{^Block=tifinagh}', "");
-Expect(0, 11567, '\p{Block=tifinagh}', "");
-Expect(1, 11567, '\p{^Block=tifinagh}', "");
-Expect(1, 11567, '\P{Block=tifinagh}', "");
-Expect(0, 11567, '\P{^Block=tifinagh}', "");
-Expect(1, 11647, '\p{Block=- TIFINAGH}', "");
-Expect(0, 11647, '\p{^Block=- TIFINAGH}', "");
-Expect(0, 11647, '\P{Block=- TIFINAGH}', "");
-Expect(1, 11647, '\P{^Block=- TIFINAGH}', "");
-Expect(0, 11567, '\p{Block=- TIFINAGH}', "");
-Expect(1, 11567, '\p{^Block=- TIFINAGH}', "");
-Expect(1, 11567, '\P{Block=- TIFINAGH}', "");
-Expect(0, 11567, '\P{^Block=- TIFINAGH}', "");
-Error('\p{Blk: _Tifinagh/a/}');
-Error('\P{Blk: _Tifinagh/a/}');
-Expect(1, 11647, '\p{Blk=tifinagh}', "");
-Expect(0, 11647, '\p{^Blk=tifinagh}', "");
-Expect(0, 11647, '\P{Blk=tifinagh}', "");
-Expect(1, 11647, '\P{^Blk=tifinagh}', "");
-Expect(0, 11567, '\p{Blk=tifinagh}', "");
-Expect(1, 11567, '\p{^Blk=tifinagh}', "");
-Expect(1, 11567, '\P{Blk=tifinagh}', "");
-Expect(0, 11567, '\P{^Blk=tifinagh}', "");
-Expect(1, 11647, '\p{Blk=_ TIFINAGH}', "");
-Expect(0, 11647, '\p{^Blk=_ TIFINAGH}', "");
-Expect(0, 11647, '\P{Blk=_ TIFINAGH}', "");
-Expect(1, 11647, '\P{^Blk=_ TIFINAGH}', "");
-Expect(0, 11567, '\p{Blk=_ TIFINAGH}', "");
-Expect(1, 11567, '\p{^Blk=_ TIFINAGH}', "");
-Expect(1, 11567, '\P{Blk=_ TIFINAGH}', "");
-Expect(0, 11567, '\P{^Blk=_ TIFINAGH}', "");
-Error('\p{Is_Block=-/a/tifinagh}');
-Error('\P{Is_Block=-/a/tifinagh}');
-Expect(1, 11647, '\p{Is_Block=tifinagh}', "");
-Expect(0, 11647, '\p{^Is_Block=tifinagh}', "");
-Expect(0, 11647, '\P{Is_Block=tifinagh}', "");
-Expect(1, 11647, '\P{^Is_Block=tifinagh}', "");
-Expect(0, 11567, '\p{Is_Block=tifinagh}', "");
-Expect(1, 11567, '\p{^Is_Block=tifinagh}', "");
-Expect(1, 11567, '\P{Is_Block=tifinagh}', "");
-Expect(0, 11567, '\P{^Is_Block=tifinagh}', "");
-Expect(1, 11647, '\p{Is_Block: _ Tifinagh}', "");
-Expect(0, 11647, '\p{^Is_Block: _ Tifinagh}', "");
-Expect(0, 11647, '\P{Is_Block: _ Tifinagh}', "");
-Expect(1, 11647, '\P{^Is_Block: _ Tifinagh}', "");
-Expect(0, 11567, '\p{Is_Block: _ Tifinagh}', "");
-Expect(1, 11567, '\p{^Is_Block: _ Tifinagh}', "");
-Expect(1, 11567, '\P{Is_Block: _ Tifinagh}', "");
-Expect(0, 11567, '\P{^Is_Block: _ Tifinagh}', "");
-Error('\p{Is_Blk=/a/Tifinagh}');
-Error('\P{Is_Blk=/a/Tifinagh}');
-Expect(1, 11647, '\p{Is_Blk=tifinagh}', "");
-Expect(0, 11647, '\p{^Is_Blk=tifinagh}', "");
-Expect(0, 11647, '\P{Is_Blk=tifinagh}', "");
-Expect(1, 11647, '\P{^Is_Blk=tifinagh}', "");
-Expect(0, 11567, '\p{Is_Blk=tifinagh}', "");
-Expect(1, 11567, '\p{^Is_Blk=tifinagh}', "");
-Expect(1, 11567, '\P{Is_Blk=tifinagh}', "");
-Expect(0, 11567, '\P{^Is_Blk=tifinagh}', "");
-Expect(1, 11647, '\p{Is_Blk= Tifinagh}', "");
-Expect(0, 11647, '\p{^Is_Blk= Tifinagh}', "");
-Expect(0, 11647, '\P{Is_Blk= Tifinagh}', "");
-Expect(1, 11647, '\P{^Is_Blk= Tifinagh}', "");
-Expect(0, 11567, '\p{Is_Blk= Tifinagh}', "");
-Expect(1, 11567, '\p{^Is_Blk= Tifinagh}', "");
-Expect(1, 11567, '\P{Is_Blk= Tifinagh}', "");
-Expect(0, 11567, '\P{^Is_Blk= Tifinagh}', "");
-Error('\p{Block=-/a/HangulJamoEXTENDED b}');
-Error('\P{Block=-/a/HangulJamoEXTENDED b}');
-Expect(1, 55295, '\p{Block=hanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^Block=hanguljamoextendedb}', "");
-Expect(0, 55295, '\P{Block=hanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^Block=hanguljamoextendedb}', "");
-Expect(0, 55215, '\p{Block=hanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^Block=hanguljamoextendedb}', "");
-Expect(1, 55215, '\P{Block=hanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^Block=hanguljamoextendedb}', "");
-Expect(1, 55295, '\p{Block= Hangul Jamo_Extended B}', "");
-Expect(0, 55295, '\p{^Block= Hangul Jamo_Extended B}', "");
-Expect(0, 55295, '\P{Block= Hangul Jamo_Extended B}', "");
-Expect(1, 55295, '\P{^Block= Hangul Jamo_Extended B}', "");
-Expect(0, 55215, '\p{Block= Hangul Jamo_Extended B}', "");
-Expect(1, 55215, '\p{^Block= Hangul Jamo_Extended B}', "");
-Expect(1, 55215, '\P{Block= Hangul Jamo_Extended B}', "");
-Expect(0, 55215, '\P{^Block= Hangul Jamo_Extended B}', "");
-Error('\p{Blk=_:=hangul-Jamo extendedB}');
-Error('\P{Blk=_:=hangul-Jamo extendedB}');
-Expect(1, 55295, '\p{Blk=hanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^Blk=hanguljamoextendedb}', "");
-Expect(0, 55295, '\P{Blk=hanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^Blk=hanguljamoextendedb}', "");
-Expect(0, 55215, '\p{Blk=hanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^Blk=hanguljamoextendedb}', "");
-Expect(1, 55215, '\P{Blk=hanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^Blk=hanguljamoextendedb}', "");
-Expect(1, 55295, '\p{Blk=_HANGUL Jamo Extended-B}', "");
-Expect(0, 55295, '\p{^Blk=_HANGUL Jamo Extended-B}', "");
-Expect(0, 55295, '\P{Blk=_HANGUL Jamo Extended-B}', "");
-Expect(1, 55295, '\P{^Blk=_HANGUL Jamo Extended-B}', "");
-Expect(0, 55215, '\p{Blk=_HANGUL Jamo Extended-B}', "");
-Expect(1, 55215, '\p{^Blk=_HANGUL Jamo Extended-B}', "");
-Expect(1, 55215, '\P{Blk=_HANGUL Jamo Extended-B}', "");
-Expect(0, 55215, '\P{^Blk=_HANGUL Jamo Extended-B}', "");
-Error('\p{Is_Block= hangul-JAMO/a/EXTENDEDB}');
-Error('\P{Is_Block= hangul-JAMO/a/EXTENDEDB}');
-Expect(1, 55295, '\p{Is_Block=hanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^Is_Block=hanguljamoextendedb}', "");
-Expect(0, 55295, '\P{Is_Block=hanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^Is_Block=hanguljamoextendedb}', "");
-Expect(0, 55215, '\p{Is_Block=hanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^Is_Block=hanguljamoextendedb}', "");
-Expect(1, 55215, '\P{Is_Block=hanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^Is_Block=hanguljamoextendedb}', "");
-Expect(1, 55295, '\p{Is_Block= -HANGUL jamo extended_B}', "");
-Expect(0, 55295, '\p{^Is_Block= -HANGUL jamo extended_B}', "");
-Expect(0, 55295, '\P{Is_Block= -HANGUL jamo extended_B}', "");
-Expect(1, 55295, '\P{^Is_Block= -HANGUL jamo extended_B}', "");
-Expect(0, 55215, '\p{Is_Block= -HANGUL jamo extended_B}', "");
-Expect(1, 55215, '\p{^Is_Block= -HANGUL jamo extended_B}', "");
-Expect(1, 55215, '\P{Is_Block= -HANGUL jamo extended_B}', "");
-Expect(0, 55215, '\P{^Is_Block= -HANGUL jamo extended_B}', "");
-Error('\p{Is_Blk=_Hangul_JAMO/a/EXTENDED-B}');
-Error('\P{Is_Blk=_Hangul_JAMO/a/EXTENDED-B}');
-Expect(1, 55295, '\p{Is_Blk=hanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^Is_Blk=hanguljamoextendedb}', "");
-Expect(0, 55295, '\P{Is_Blk=hanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^Is_Blk=hanguljamoextendedb}', "");
-Expect(0, 55215, '\p{Is_Blk=hanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^Is_Blk=hanguljamoextendedb}', "");
-Expect(1, 55215, '\P{Is_Blk=hanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^Is_Blk=hanguljamoextendedb}', "");
-Expect(1, 55295, '\p{Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(0, 55295, '\p{^Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(0, 55295, '\P{Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(1, 55295, '\P{^Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(0, 55215, '\p{Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(1, 55215, '\p{^Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(1, 55215, '\P{Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Expect(0, 55215, '\P{^Is_Blk=-_HANGUL-Jamo-extendedB}', "");
-Error('\p{Block=_:=Thai}');
-Error('\P{Block=_:=Thai}');
-Expect(1, 3711, '\p{Block=thai}', "");
-Expect(0, 3711, '\p{^Block=thai}', "");
-Expect(0, 3711, '\P{Block=thai}', "");
-Expect(1, 3711, '\P{^Block=thai}', "");
-Expect(0, 3583, '\p{Block=thai}', "");
-Expect(1, 3583, '\p{^Block=thai}', "");
-Expect(1, 3583, '\P{Block=thai}', "");
-Expect(0, 3583, '\P{^Block=thai}', "");
-Expect(1, 3711, '\p{Block= _thai}', "");
-Expect(0, 3711, '\p{^Block= _thai}', "");
-Expect(0, 3711, '\P{Block= _thai}', "");
-Expect(1, 3711, '\P{^Block= _thai}', "");
-Expect(0, 3583, '\p{Block= _thai}', "");
-Expect(1, 3583, '\p{^Block= _thai}', "");
-Expect(1, 3583, '\P{Block= _thai}', "");
-Expect(0, 3583, '\P{^Block= _thai}', "");
-Error('\p{Blk=--thai/a/}');
-Error('\P{Blk=--thai/a/}');
-Expect(1, 3711, '\p{Blk=thai}', "");
-Expect(0, 3711, '\p{^Blk=thai}', "");
-Expect(0, 3711, '\P{Blk=thai}', "");
-Expect(1, 3711, '\P{^Blk=thai}', "");
-Expect(0, 3583, '\p{Blk=thai}', "");
-Expect(1, 3583, '\p{^Blk=thai}', "");
-Expect(1, 3583, '\P{Blk=thai}', "");
-Expect(0, 3583, '\P{^Blk=thai}', "");
-Expect(1, 3711, '\p{Blk= _Thai}', "");
-Expect(0, 3711, '\p{^Blk= _Thai}', "");
-Expect(0, 3711, '\P{Blk= _Thai}', "");
-Expect(1, 3711, '\P{^Blk= _Thai}', "");
-Expect(0, 3583, '\p{Blk= _Thai}', "");
-Expect(1, 3583, '\p{^Blk= _Thai}', "");
-Expect(1, 3583, '\P{Blk= _Thai}', "");
-Expect(0, 3583, '\P{^Blk= _Thai}', "");
-Error('\p{Is_Block= :=THAI}');
-Error('\P{Is_Block= :=THAI}');
-Expect(1, 3711, '\p{Is_Block=thai}', "");
-Expect(0, 3711, '\p{^Is_Block=thai}', "");
-Expect(0, 3711, '\P{Is_Block=thai}', "");
-Expect(1, 3711, '\P{^Is_Block=thai}', "");
-Expect(0, 3583, '\p{Is_Block=thai}', "");
-Expect(1, 3583, '\p{^Is_Block=thai}', "");
-Expect(1, 3583, '\P{Is_Block=thai}', "");
-Expect(0, 3583, '\P{^Is_Block=thai}', "");
-Expect(1, 3711, '\p{Is_Block= Thai}', "");
-Expect(0, 3711, '\p{^Is_Block= Thai}', "");
-Expect(0, 3711, '\P{Is_Block= Thai}', "");
-Expect(1, 3711, '\P{^Is_Block= Thai}', "");
-Expect(0, 3583, '\p{Is_Block= Thai}', "");
-Expect(1, 3583, '\p{^Is_Block= Thai}', "");
-Expect(1, 3583, '\P{Is_Block= Thai}', "");
-Expect(0, 3583, '\P{^Is_Block= Thai}', "");
-Error('\p{Is_Blk::=_ THAI}');
-Error('\P{Is_Blk::=_ THAI}');
-Expect(1, 3711, '\p{Is_Blk: thai}', "");
-Expect(0, 3711, '\p{^Is_Blk: thai}', "");
-Expect(0, 3711, '\P{Is_Blk: thai}', "");
-Expect(1, 3711, '\P{^Is_Blk: thai}', "");
-Expect(0, 3583, '\p{Is_Blk: thai}', "");
-Expect(1, 3583, '\p{^Is_Blk: thai}', "");
-Expect(1, 3583, '\P{Is_Blk: thai}', "");
-Expect(0, 3583, '\P{^Is_Blk: thai}', "");
-Expect(1, 3711, '\p{Is_Blk: __thai}', "");
-Expect(0, 3711, '\p{^Is_Blk: __thai}', "");
-Expect(0, 3711, '\P{Is_Blk: __thai}', "");
-Expect(1, 3711, '\P{^Is_Blk: __thai}', "");
-Expect(0, 3583, '\p{Is_Blk: __thai}', "");
-Expect(1, 3583, '\p{^Is_Blk: __thai}', "");
-Expect(1, 3583, '\P{Is_Blk: __thai}', "");
-Expect(0, 3583, '\P{^Is_Blk: __thai}', "");
-Error('\p{Block= -KHMER:=}');
-Error('\P{Block= -KHMER:=}');
-Expect(1, 6143, '\p{Block=khmer}', "");
-Expect(0, 6143, '\p{^Block=khmer}', "");
-Expect(0, 6143, '\P{Block=khmer}', "");
-Expect(1, 6143, '\P{^Block=khmer}', "");
-Expect(0, 6015, '\p{Block=khmer}', "");
-Expect(1, 6015, '\p{^Block=khmer}', "");
-Expect(1, 6015, '\P{Block=khmer}', "");
-Expect(0, 6015, '\P{^Block=khmer}', "");
-Expect(1, 6143, '\p{Block= Khmer}', "");
-Expect(0, 6143, '\p{^Block= Khmer}', "");
-Expect(0, 6143, '\P{Block= Khmer}', "");
-Expect(1, 6143, '\P{^Block= Khmer}', "");
-Expect(0, 6015, '\p{Block= Khmer}', "");
-Expect(1, 6015, '\p{^Block= Khmer}', "");
-Expect(1, 6015, '\P{Block= Khmer}', "");
-Expect(0, 6015, '\P{^Block= Khmer}', "");
-Error('\p{Blk=:=-_khmer}');
-Error('\P{Blk=:=-_khmer}');
-Expect(1, 6143, '\p{Blk:khmer}', "");
-Expect(0, 6143, '\p{^Blk:khmer}', "");
-Expect(0, 6143, '\P{Blk:khmer}', "");
-Expect(1, 6143, '\P{^Blk:khmer}', "");
-Expect(0, 6015, '\p{Blk:khmer}', "");
-Expect(1, 6015, '\p{^Blk:khmer}', "");
-Expect(1, 6015, '\P{Blk:khmer}', "");
-Expect(0, 6015, '\P{^Blk:khmer}', "");
-Expect(1, 6143, '\p{Blk= KHMER}', "");
-Expect(0, 6143, '\p{^Blk= KHMER}', "");
-Expect(0, 6143, '\P{Blk= KHMER}', "");
-Expect(1, 6143, '\P{^Blk= KHMER}', "");
-Expect(0, 6015, '\p{Blk= KHMER}', "");
-Expect(1, 6015, '\p{^Blk= KHMER}', "");
-Expect(1, 6015, '\P{Blk= KHMER}', "");
-Expect(0, 6015, '\P{^Blk= KHMER}', "");
-Error('\p{Is_Block=-:=Khmer}');
-Error('\P{Is_Block=-:=Khmer}');
-Expect(1, 6143, '\p{Is_Block=khmer}', "");
-Expect(0, 6143, '\p{^Is_Block=khmer}', "");
-Expect(0, 6143, '\P{Is_Block=khmer}', "");
-Expect(1, 6143, '\P{^Is_Block=khmer}', "");
-Expect(0, 6015, '\p{Is_Block=khmer}', "");
-Expect(1, 6015, '\p{^Is_Block=khmer}', "");
-Expect(1, 6015, '\P{Is_Block=khmer}', "");
-Expect(0, 6015, '\P{^Is_Block=khmer}', "");
-Expect(1, 6143, '\p{Is_Block: __khmer}', "");
-Expect(0, 6143, '\p{^Is_Block: __khmer}', "");
-Expect(0, 6143, '\P{Is_Block: __khmer}', "");
-Expect(1, 6143, '\P{^Is_Block: __khmer}', "");
-Expect(0, 6015, '\p{Is_Block: __khmer}', "");
-Expect(1, 6015, '\p{^Is_Block: __khmer}', "");
-Expect(1, 6015, '\P{Is_Block: __khmer}', "");
-Expect(0, 6015, '\P{^Is_Block: __khmer}', "");
-Error('\p{Is_Blk: := khmer}');
-Error('\P{Is_Blk: := khmer}');
-Expect(1, 6143, '\p{Is_Blk=khmer}', "");
-Expect(0, 6143, '\p{^Is_Blk=khmer}', "");
-Expect(0, 6143, '\P{Is_Blk=khmer}', "");
-Expect(1, 6143, '\P{^Is_Blk=khmer}', "");
-Expect(0, 6015, '\p{Is_Blk=khmer}', "");
-Expect(1, 6015, '\p{^Is_Blk=khmer}', "");
-Expect(1, 6015, '\P{Is_Blk=khmer}', "");
-Expect(0, 6015, '\P{^Is_Blk=khmer}', "");
-Expect(1, 6143, '\p{Is_Blk= -khmer}', "");
-Expect(0, 6143, '\p{^Is_Blk= -khmer}', "");
-Expect(0, 6143, '\P{Is_Blk= -khmer}', "");
-Expect(1, 6143, '\P{^Is_Blk= -khmer}', "");
-Expect(0, 6015, '\p{Is_Blk= -khmer}', "");
-Expect(1, 6015, '\p{^Is_Blk= -khmer}', "");
-Expect(1, 6015, '\P{Is_Blk= -khmer}', "");
-Expect(0, 6015, '\P{^Is_Blk= -khmer}', "");
-Error('\p{Block= Saurashtra:=}');
-Error('\P{Block= Saurashtra:=}');
-Expect(1, 43231, '\p{Block=saurashtra}', "");
-Expect(0, 43231, '\p{^Block=saurashtra}', "");
-Expect(0, 43231, '\P{Block=saurashtra}', "");
-Expect(1, 43231, '\P{^Block=saurashtra}', "");
-Expect(0, 43135, '\p{Block=saurashtra}', "");
-Expect(1, 43135, '\p{^Block=saurashtra}', "");
-Expect(1, 43135, '\P{Block=saurashtra}', "");
-Expect(0, 43135, '\P{^Block=saurashtra}', "");
-Expect(1, 43231, '\p{Block=_SAURASHTRA}', "");
-Expect(0, 43231, '\p{^Block=_SAURASHTRA}', "");
-Expect(0, 43231, '\P{Block=_SAURASHTRA}', "");
-Expect(1, 43231, '\P{^Block=_SAURASHTRA}', "");
-Expect(0, 43135, '\p{Block=_SAURASHTRA}', "");
-Expect(1, 43135, '\p{^Block=_SAURASHTRA}', "");
-Expect(1, 43135, '\P{Block=_SAURASHTRA}', "");
-Expect(0, 43135, '\P{^Block=_SAURASHTRA}', "");
-Error('\p{Blk= :=Saurashtra}');
-Error('\P{Blk= :=Saurashtra}');
-Expect(1, 43231, '\p{Blk=saurashtra}', "");
-Expect(0, 43231, '\p{^Blk=saurashtra}', "");
-Expect(0, 43231, '\P{Blk=saurashtra}', "");
-Expect(1, 43231, '\P{^Blk=saurashtra}', "");
-Expect(0, 43135, '\p{Blk=saurashtra}', "");
-Expect(1, 43135, '\p{^Blk=saurashtra}', "");
-Expect(1, 43135, '\P{Blk=saurashtra}', "");
-Expect(0, 43135, '\P{^Blk=saurashtra}', "");
-Expect(1, 43231, '\p{Blk= SAURASHTRA}', "");
-Expect(0, 43231, '\p{^Blk= SAURASHTRA}', "");
-Expect(0, 43231, '\P{Blk= SAURASHTRA}', "");
-Expect(1, 43231, '\P{^Blk= SAURASHTRA}', "");
-Expect(0, 43135, '\p{Blk= SAURASHTRA}', "");
-Expect(1, 43135, '\p{^Blk= SAURASHTRA}', "");
-Expect(1, 43135, '\P{Blk= SAURASHTRA}', "");
-Expect(0, 43135, '\P{^Blk= SAURASHTRA}', "");
-Error('\p{Is_Block=_:=saurashtra}');
-Error('\P{Is_Block=_:=saurashtra}');
-Expect(1, 43231, '\p{Is_Block=saurashtra}', "");
-Expect(0, 43231, '\p{^Is_Block=saurashtra}', "");
-Expect(0, 43231, '\P{Is_Block=saurashtra}', "");
-Expect(1, 43231, '\P{^Is_Block=saurashtra}', "");
-Expect(0, 43135, '\p{Is_Block=saurashtra}', "");
-Expect(1, 43135, '\p{^Is_Block=saurashtra}', "");
-Expect(1, 43135, '\P{Is_Block=saurashtra}', "");
-Expect(0, 43135, '\P{^Is_Block=saurashtra}', "");
-Expect(1, 43231, '\p{Is_Block=-SAURASHTRA}', "");
-Expect(0, 43231, '\p{^Is_Block=-SAURASHTRA}', "");
-Expect(0, 43231, '\P{Is_Block=-SAURASHTRA}', "");
-Expect(1, 43231, '\P{^Is_Block=-SAURASHTRA}', "");
-Expect(0, 43135, '\p{Is_Block=-SAURASHTRA}', "");
-Expect(1, 43135, '\p{^Is_Block=-SAURASHTRA}', "");
-Expect(1, 43135, '\P{Is_Block=-SAURASHTRA}', "");
-Expect(0, 43135, '\P{^Is_Block=-SAURASHTRA}', "");
-Error('\p{Is_Blk=_ Saurashtra/a/}');
-Error('\P{Is_Blk=_ Saurashtra/a/}');
-Expect(1, 43231, '\p{Is_Blk=saurashtra}', "");
-Expect(0, 43231, '\p{^Is_Blk=saurashtra}', "");
-Expect(0, 43231, '\P{Is_Blk=saurashtra}', "");
-Expect(1, 43231, '\P{^Is_Blk=saurashtra}', "");
-Expect(0, 43135, '\p{Is_Blk=saurashtra}', "");
-Expect(1, 43135, '\p{^Is_Blk=saurashtra}', "");
-Expect(1, 43135, '\P{Is_Blk=saurashtra}', "");
-Expect(0, 43135, '\P{^Is_Blk=saurashtra}', "");
-Expect(1, 43231, '\p{Is_Blk= _Saurashtra}', "");
-Expect(0, 43231, '\p{^Is_Blk= _Saurashtra}', "");
-Expect(0, 43231, '\P{Is_Blk= _Saurashtra}', "");
-Expect(1, 43231, '\P{^Is_Blk= _Saurashtra}', "");
-Expect(0, 43135, '\p{Is_Blk= _Saurashtra}', "");
-Expect(1, 43135, '\p{^Is_Blk= _Saurashtra}', "");
-Expect(1, 43135, '\P{Is_Blk= _Saurashtra}', "");
-Expect(0, 43135, '\P{^Is_Blk= _Saurashtra}', "");
-Error('\p{Block= _Gujarati:=}');
-Error('\P{Block= _Gujarati:=}');
-Expect(1, 2815, '\p{Block=gujarati}', "");
-Expect(0, 2815, '\p{^Block=gujarati}', "");
-Expect(0, 2815, '\P{Block=gujarati}', "");
-Expect(1, 2815, '\P{^Block=gujarati}', "");
-Expect(0, 2687, '\p{Block=gujarati}', "");
-Expect(1, 2687, '\p{^Block=gujarati}', "");
-Expect(1, 2687, '\P{Block=gujarati}', "");
-Expect(0, 2687, '\P{^Block=gujarati}', "");
-Expect(1, 2815, '\p{Block= Gujarati}', "");
-Expect(0, 2815, '\p{^Block= Gujarati}', "");
-Expect(0, 2815, '\P{Block= Gujarati}', "");
-Expect(1, 2815, '\P{^Block= Gujarati}', "");
-Expect(0, 2687, '\p{Block= Gujarati}', "");
-Expect(1, 2687, '\p{^Block= Gujarati}', "");
-Expect(1, 2687, '\P{Block= Gujarati}', "");
-Expect(0, 2687, '\P{^Block= Gujarati}', "");
-Error('\p{Blk= /a/gujarati}');
-Error('\P{Blk= /a/gujarati}');
-Expect(1, 2815, '\p{Blk=gujarati}', "");
-Expect(0, 2815, '\p{^Blk=gujarati}', "");
-Expect(0, 2815, '\P{Blk=gujarati}', "");
-Expect(1, 2815, '\P{^Blk=gujarati}', "");
-Expect(0, 2687, '\p{Blk=gujarati}', "");
-Expect(1, 2687, '\p{^Blk=gujarati}', "");
-Expect(1, 2687, '\P{Blk=gujarati}', "");
-Expect(0, 2687, '\P{^Blk=gujarati}', "");
-Expect(1, 2815, '\p{Blk=-_Gujarati}', "");
-Expect(0, 2815, '\p{^Blk=-_Gujarati}', "");
-Expect(0, 2815, '\P{Blk=-_Gujarati}', "");
-Expect(1, 2815, '\P{^Blk=-_Gujarati}', "");
-Expect(0, 2687, '\p{Blk=-_Gujarati}', "");
-Expect(1, 2687, '\p{^Blk=-_Gujarati}', "");
-Expect(1, 2687, '\P{Blk=-_Gujarati}', "");
-Expect(0, 2687, '\P{^Blk=-_Gujarati}', "");
-Error('\p{Is_Block=/a/ gujarati}');
-Error('\P{Is_Block=/a/ gujarati}');
-Expect(1, 2815, '\p{Is_Block: gujarati}', "");
-Expect(0, 2815, '\p{^Is_Block: gujarati}', "");
-Expect(0, 2815, '\P{Is_Block: gujarati}', "");
-Expect(1, 2815, '\P{^Is_Block: gujarati}', "");
-Expect(0, 2687, '\p{Is_Block: gujarati}', "");
-Expect(1, 2687, '\p{^Is_Block: gujarati}', "");
-Expect(1, 2687, '\P{Is_Block: gujarati}', "");
-Expect(0, 2687, '\P{^Is_Block: gujarati}', "");
-Expect(1, 2815, '\p{Is_Block: -gujarati}', "");
-Expect(0, 2815, '\p{^Is_Block: -gujarati}', "");
-Expect(0, 2815, '\P{Is_Block: -gujarati}', "");
-Expect(1, 2815, '\P{^Is_Block: -gujarati}', "");
-Expect(0, 2687, '\p{Is_Block: -gujarati}', "");
-Expect(1, 2687, '\p{^Is_Block: -gujarati}', "");
-Expect(1, 2687, '\P{Is_Block: -gujarati}', "");
-Expect(0, 2687, '\P{^Is_Block: -gujarati}', "");
-Error('\p{Is_Blk=:=GUJARATI}');
-Error('\P{Is_Blk=:=GUJARATI}');
-Expect(1, 2815, '\p{Is_Blk=gujarati}', "");
-Expect(0, 2815, '\p{^Is_Blk=gujarati}', "");
-Expect(0, 2815, '\P{Is_Blk=gujarati}', "");
-Expect(1, 2815, '\P{^Is_Blk=gujarati}', "");
-Expect(0, 2687, '\p{Is_Blk=gujarati}', "");
-Expect(1, 2687, '\p{^Is_Blk=gujarati}', "");
-Expect(1, 2687, '\P{Is_Blk=gujarati}', "");
-Expect(0, 2687, '\P{^Is_Blk=gujarati}', "");
-Expect(1, 2815, '\p{Is_Blk= GUJARATI}', "");
-Expect(0, 2815, '\p{^Is_Blk= GUJARATI}', "");
-Expect(0, 2815, '\P{Is_Blk= GUJARATI}', "");
-Expect(1, 2815, '\P{^Is_Blk= GUJARATI}', "");
-Expect(0, 2687, '\p{Is_Blk= GUJARATI}', "");
-Expect(1, 2687, '\p{^Is_Blk= GUJARATI}', "");
-Expect(1, 2687, '\P{Is_Blk= GUJARATI}', "");
-Expect(0, 2687, '\P{^Is_Blk= GUJARATI}', "");
-Error('\p{Block=_-Telugu/a/}');
-Error('\P{Block=_-Telugu/a/}');
-Expect(1, 3199, '\p{Block=telugu}', "");
-Expect(0, 3199, '\p{^Block=telugu}', "");
-Expect(0, 3199, '\P{Block=telugu}', "");
-Expect(1, 3199, '\P{^Block=telugu}', "");
-Expect(0, 3071, '\p{Block=telugu}', "");
-Expect(1, 3071, '\p{^Block=telugu}', "");
-Expect(1, 3071, '\P{Block=telugu}', "");
-Expect(0, 3071, '\P{^Block=telugu}', "");
-Expect(1, 3199, '\p{Block=_ telugu}', "");
-Expect(0, 3199, '\p{^Block=_ telugu}', "");
-Expect(0, 3199, '\P{Block=_ telugu}', "");
-Expect(1, 3199, '\P{^Block=_ telugu}', "");
-Expect(0, 3071, '\p{Block=_ telugu}', "");
-Expect(1, 3071, '\p{^Block=_ telugu}', "");
-Expect(1, 3071, '\P{Block=_ telugu}', "");
-Expect(0, 3071, '\P{^Block=_ telugu}', "");
-Error('\p{Blk=:= Telugu}');
-Error('\P{Blk=:= Telugu}');
-Expect(1, 3199, '\p{Blk=telugu}', "");
-Expect(0, 3199, '\p{^Blk=telugu}', "");
-Expect(0, 3199, '\P{Blk=telugu}', "");
-Expect(1, 3199, '\P{^Blk=telugu}', "");
-Expect(0, 3071, '\p{Blk=telugu}', "");
-Expect(1, 3071, '\p{^Blk=telugu}', "");
-Expect(1, 3071, '\P{Blk=telugu}', "");
-Expect(0, 3071, '\P{^Blk=telugu}', "");
-Expect(1, 3199, '\p{Blk=_Telugu}', "");
-Expect(0, 3199, '\p{^Blk=_Telugu}', "");
-Expect(0, 3199, '\P{Blk=_Telugu}', "");
-Expect(1, 3199, '\P{^Blk=_Telugu}', "");
-Expect(0, 3071, '\p{Blk=_Telugu}', "");
-Expect(1, 3071, '\p{^Blk=_Telugu}', "");
-Expect(1, 3071, '\P{Blk=_Telugu}', "");
-Expect(0, 3071, '\P{^Blk=_Telugu}', "");
-Error('\p{Is_Block=-/a/Telugu}');
-Error('\P{Is_Block=-/a/Telugu}');
-Expect(1, 3199, '\p{Is_Block=telugu}', "");
-Expect(0, 3199, '\p{^Is_Block=telugu}', "");
-Expect(0, 3199, '\P{Is_Block=telugu}', "");
-Expect(1, 3199, '\P{^Is_Block=telugu}', "");
-Expect(0, 3071, '\p{Is_Block=telugu}', "");
-Expect(1, 3071, '\p{^Is_Block=telugu}', "");
-Expect(1, 3071, '\P{Is_Block=telugu}', "");
-Expect(0, 3071, '\P{^Is_Block=telugu}', "");
-Expect(1, 3199, '\p{Is_Block= TELUGU}', "");
-Expect(0, 3199, '\p{^Is_Block= TELUGU}', "");
-Expect(0, 3199, '\P{Is_Block= TELUGU}', "");
-Expect(1, 3199, '\P{^Is_Block= TELUGU}', "");
-Expect(0, 3071, '\p{Is_Block= TELUGU}', "");
-Expect(1, 3071, '\p{^Is_Block= TELUGU}', "");
-Expect(1, 3071, '\P{Is_Block= TELUGU}', "");
-Expect(0, 3071, '\P{^Is_Block= TELUGU}', "");
-Error('\p{Is_Blk: :=telugu}');
-Error('\P{Is_Blk: :=telugu}');
-Expect(1, 3199, '\p{Is_Blk: telugu}', "");
-Expect(0, 3199, '\p{^Is_Blk: telugu}', "");
-Expect(0, 3199, '\P{Is_Blk: telugu}', "");
-Expect(1, 3199, '\P{^Is_Blk: telugu}', "");
-Expect(0, 3071, '\p{Is_Blk: telugu}', "");
-Expect(1, 3071, '\p{^Is_Blk: telugu}', "");
-Expect(1, 3071, '\P{Is_Blk: telugu}', "");
-Expect(0, 3071, '\P{^Is_Blk: telugu}', "");
-Expect(1, 3199, '\p{Is_Blk=-TELUGU}', "");
-Expect(0, 3199, '\p{^Is_Blk=-TELUGU}', "");
-Expect(0, 3199, '\P{Is_Blk=-TELUGU}', "");
-Expect(1, 3199, '\P{^Is_Blk=-TELUGU}', "");
-Expect(0, 3071, '\p{Is_Blk=-TELUGU}', "");
-Expect(1, 3071, '\p{^Is_Blk=-TELUGU}', "");
-Expect(1, 3071, '\P{Is_Blk=-TELUGU}', "");
-Expect(0, 3071, '\P{^Is_Blk=-TELUGU}', "");
-Error('\p{Block= /a/YI Radicals}');
-Error('\P{Block= /a/YI Radicals}');
-Expect(1, 42191, '\p{Block=yiradicals}', "");
-Expect(0, 42191, '\p{^Block=yiradicals}', "");
-Expect(0, 42191, '\P{Block=yiradicals}', "");
-Expect(1, 42191, '\P{^Block=yiradicals}', "");
-Expect(0, 42127, '\p{Block=yiradicals}', "");
-Expect(1, 42127, '\p{^Block=yiradicals}', "");
-Expect(1, 42127, '\P{Block=yiradicals}', "");
-Expect(0, 42127, '\P{^Block=yiradicals}', "");
-Expect(1, 42191, '\p{Block= yiradicals}', "");
-Expect(0, 42191, '\p{^Block= yiradicals}', "");
-Expect(0, 42191, '\P{Block= yiradicals}', "");
-Expect(1, 42191, '\P{^Block= yiradicals}', "");
-Expect(0, 42127, '\p{Block= yiradicals}', "");
-Expect(1, 42127, '\p{^Block= yiradicals}', "");
-Expect(1, 42127, '\P{Block= yiradicals}', "");
-Expect(0, 42127, '\P{^Block= yiradicals}', "");
-Error('\p{Blk=- yi radicals:=}');
-Error('\P{Blk=- yi radicals:=}');
-Expect(1, 42191, '\p{Blk:yiradicals}', "");
-Expect(0, 42191, '\p{^Blk:yiradicals}', "");
-Expect(0, 42191, '\P{Blk:yiradicals}', "");
-Expect(1, 42191, '\P{^Blk:yiradicals}', "");
-Expect(0, 42127, '\p{Blk:yiradicals}', "");
-Expect(1, 42127, '\p{^Blk:yiradicals}', "");
-Expect(1, 42127, '\P{Blk:yiradicals}', "");
-Expect(0, 42127, '\P{^Blk:yiradicals}', "");
-Expect(1, 42191, '\p{Blk: _ Yi RADICALS}', "");
-Expect(0, 42191, '\p{^Blk: _ Yi RADICALS}', "");
-Expect(0, 42191, '\P{Blk: _ Yi RADICALS}', "");
-Expect(1, 42191, '\P{^Blk: _ Yi RADICALS}', "");
-Expect(0, 42127, '\p{Blk: _ Yi RADICALS}', "");
-Expect(1, 42127, '\p{^Blk: _ Yi RADICALS}', "");
-Expect(1, 42127, '\P{Blk: _ Yi RADICALS}', "");
-Expect(0, 42127, '\P{^Blk: _ Yi RADICALS}', "");
-Error('\p{Is_Block=_ Yi:=RADICALS}');
-Error('\P{Is_Block=_ Yi:=RADICALS}');
-Expect(1, 42191, '\p{Is_Block: yiradicals}', "");
-Expect(0, 42191, '\p{^Is_Block: yiradicals}', "");
-Expect(0, 42191, '\P{Is_Block: yiradicals}', "");
-Expect(1, 42191, '\P{^Is_Block: yiradicals}', "");
-Expect(0, 42127, '\p{Is_Block: yiradicals}', "");
-Expect(1, 42127, '\p{^Is_Block: yiradicals}', "");
-Expect(1, 42127, '\P{Is_Block: yiradicals}', "");
-Expect(0, 42127, '\P{^Is_Block: yiradicals}', "");
-Expect(1, 42191, '\p{Is_Block= -YiRadicals}', "");
-Expect(0, 42191, '\p{^Is_Block= -YiRadicals}', "");
-Expect(0, 42191, '\P{Is_Block= -YiRadicals}', "");
-Expect(1, 42191, '\P{^Is_Block= -YiRadicals}', "");
-Expect(0, 42127, '\p{Is_Block= -YiRadicals}', "");
-Expect(1, 42127, '\p{^Is_Block= -YiRadicals}', "");
-Expect(1, 42127, '\P{Is_Block= -YiRadicals}', "");
-Expect(0, 42127, '\P{^Is_Block= -YiRadicals}', "");
-Error('\p{Is_Blk: /a/ -Yi-RADICALS}');
-Error('\P{Is_Blk: /a/ -Yi-RADICALS}');
-Expect(1, 42191, '\p{Is_Blk=yiradicals}', "");
-Expect(0, 42191, '\p{^Is_Blk=yiradicals}', "");
-Expect(0, 42191, '\P{Is_Blk=yiradicals}', "");
-Expect(1, 42191, '\P{^Is_Blk=yiradicals}', "");
-Expect(0, 42127, '\p{Is_Blk=yiradicals}', "");
-Expect(1, 42127, '\p{^Is_Blk=yiradicals}', "");
-Expect(1, 42127, '\P{Is_Blk=yiradicals}', "");
-Expect(0, 42127, '\P{^Is_Blk=yiradicals}', "");
-Expect(1, 42191, '\p{Is_Blk=yi RADICALS}', "");
-Expect(0, 42191, '\p{^Is_Blk=yi RADICALS}', "");
-Expect(0, 42191, '\P{Is_Blk=yi RADICALS}', "");
-Expect(1, 42191, '\P{^Is_Blk=yi RADICALS}', "");
-Expect(0, 42127, '\p{Is_Blk=yi RADICALS}', "");
-Expect(1, 42127, '\p{^Is_Blk=yi RADICALS}', "");
-Expect(1, 42127, '\P{Is_Blk=yi RADICALS}', "");
-Expect(0, 42127, '\P{^Is_Blk=yi RADICALS}', "");
-Error('\p{East_Asian_Width=-_Wide:=}');
-Error('\P{East_Asian_Width=-_Wide:=}');
-Expect(1, 4447, '\p{East_Asian_Width:wide}', "");
-Expect(0, 4447, '\p{^East_Asian_Width:wide}', "");
-Expect(0, 4447, '\P{East_Asian_Width:wide}', "");
-Expect(1, 4447, '\P{^East_Asian_Width:wide}', "");
-Expect(0, 4351, '\p{East_Asian_Width:wide}', "");
-Expect(1, 4351, '\p{^East_Asian_Width:wide}', "");
-Expect(1, 4351, '\P{East_Asian_Width:wide}', "");
-Expect(0, 4351, '\P{^East_Asian_Width:wide}', "");
-Expect(1, 4447, '\p{East_Asian_Width: Wide}', "");
-Expect(0, 4447, '\p{^East_Asian_Width: Wide}', "");
-Expect(0, 4447, '\P{East_Asian_Width: Wide}', "");
-Expect(1, 4447, '\P{^East_Asian_Width: Wide}', "");
-Expect(0, 4351, '\p{East_Asian_Width: Wide}', "");
-Expect(1, 4351, '\p{^East_Asian_Width: Wide}', "");
-Expect(1, 4351, '\P{East_Asian_Width: Wide}', "");
-Expect(0, 4351, '\P{^East_Asian_Width: Wide}', "");
-Error('\p{Ea=_ W:=}');
-Error('\P{Ea=_ W:=}');
-Expect(1, 4447, '\p{Ea=w}', "");
-Expect(0, 4447, '\p{^Ea=w}', "");
-Expect(0, 4447, '\P{Ea=w}', "");
-Expect(1, 4447, '\P{^Ea=w}', "");
-Expect(0, 4351, '\p{Ea=w}', "");
-Expect(1, 4351, '\p{^Ea=w}', "");
-Expect(1, 4351, '\P{Ea=w}', "");
-Expect(0, 4351, '\P{^Ea=w}', "");
-Expect(1, 4447, '\p{Ea=-W}', "");
-Expect(0, 4447, '\p{^Ea=-W}', "");
-Expect(0, 4447, '\P{Ea=-W}', "");
-Expect(1, 4447, '\P{^Ea=-W}', "");
-Expect(0, 4351, '\p{Ea=-W}', "");
-Expect(1, 4351, '\p{^Ea=-W}', "");
-Expect(1, 4351, '\P{Ea=-W}', "");
-Expect(0, 4351, '\P{^Ea=-W}', "");
-Error('\p{Is_East_Asian_Width=_:=wide}');
-Error('\P{Is_East_Asian_Width=_:=wide}');
-Expect(1, 4447, '\p{Is_East_Asian_Width=wide}', "");
-Expect(0, 4447, '\p{^Is_East_Asian_Width=wide}', "");
-Expect(0, 4447, '\P{Is_East_Asian_Width=wide}', "");
-Expect(1, 4447, '\P{^Is_East_Asian_Width=wide}', "");
-Expect(0, 4351, '\p{Is_East_Asian_Width=wide}', "");
-Expect(1, 4351, '\p{^Is_East_Asian_Width=wide}', "");
-Expect(1, 4351, '\P{Is_East_Asian_Width=wide}', "");
-Expect(0, 4351, '\P{^Is_East_Asian_Width=wide}', "");
-Expect(1, 4447, '\p{Is_East_Asian_Width= Wide}', "");
-Expect(0, 4447, '\p{^Is_East_Asian_Width= Wide}', "");
-Expect(0, 4447, '\P{Is_East_Asian_Width= Wide}', "");
-Expect(1, 4447, '\P{^Is_East_Asian_Width= Wide}', "");
-Expect(0, 4351, '\p{Is_East_Asian_Width= Wide}', "");
-Expect(1, 4351, '\p{^Is_East_Asian_Width= Wide}', "");
-Expect(1, 4351, '\P{Is_East_Asian_Width= Wide}', "");
-Expect(0, 4351, '\P{^Is_East_Asian_Width= Wide}', "");
-Error('\p{Is_Ea=- W/a/}');
-Error('\P{Is_Ea=- W/a/}');
-Expect(1, 4447, '\p{Is_Ea=w}', "");
-Expect(0, 4447, '\p{^Is_Ea=w}', "");
-Expect(0, 4447, '\P{Is_Ea=w}', "");
-Expect(1, 4447, '\P{^Is_Ea=w}', "");
-Expect(0, 4351, '\p{Is_Ea=w}', "");
-Expect(1, 4351, '\p{^Is_Ea=w}', "");
-Expect(1, 4351, '\P{Is_Ea=w}', "");
-Expect(0, 4351, '\P{^Is_Ea=w}', "");
-Expect(1, 4447, '\p{Is_Ea=_ W}', "");
-Expect(0, 4447, '\p{^Is_Ea=_ W}', "");
-Expect(0, 4447, '\P{Is_Ea=_ W}', "");
-Expect(1, 4447, '\P{^Is_Ea=_ W}', "");
-Expect(0, 4351, '\p{Is_Ea=_ W}', "");
-Expect(1, 4351, '\p{^Is_Ea=_ W}', "");
-Expect(1, 4351, '\P{Is_Ea=_ W}', "");
-Expect(0, 4351, '\P{^Is_Ea=_ W}', "");
-Error('\p{East_Asian_Width=/a/-fullwidth}');
-Error('\P{East_Asian_Width=/a/-fullwidth}');
-Expect(1, 12288, '\p{East_Asian_Width=fullwidth}', "");
-Expect(0, 12288, '\p{^East_Asian_Width=fullwidth}', "");
-Expect(0, 12288, '\P{East_Asian_Width=fullwidth}', "");
-Expect(1, 12288, '\P{^East_Asian_Width=fullwidth}', "");
-Expect(0, 12287, '\p{East_Asian_Width=fullwidth}', "");
-Expect(1, 12287, '\p{^East_Asian_Width=fullwidth}', "");
-Expect(1, 12287, '\P{East_Asian_Width=fullwidth}', "");
-Expect(0, 12287, '\P{^East_Asian_Width=fullwidth}', "");
-Expect(1, 12288, '\p{East_Asian_Width=--FULLWIDTH}', "");
-Expect(0, 12288, '\p{^East_Asian_Width=--FULLWIDTH}', "");
-Expect(0, 12288, '\P{East_Asian_Width=--FULLWIDTH}', "");
-Expect(1, 12288, '\P{^East_Asian_Width=--FULLWIDTH}', "");
-Expect(0, 12287, '\p{East_Asian_Width=--FULLWIDTH}', "");
-Expect(1, 12287, '\p{^East_Asian_Width=--FULLWIDTH}', "");
-Expect(1, 12287, '\P{East_Asian_Width=--FULLWIDTH}', "");
-Expect(0, 12287, '\P{^East_Asian_Width=--FULLWIDTH}', "");
-Error('\p{Ea=/a/ F}');
-Error('\P{Ea=/a/ F}');
-Expect(1, 12288, '\p{Ea=f}', "");
-Expect(0, 12288, '\p{^Ea=f}', "");
-Expect(0, 12288, '\P{Ea=f}', "");
-Expect(1, 12288, '\P{^Ea=f}', "");
-Expect(0, 12287, '\p{Ea=f}', "");
-Expect(1, 12287, '\p{^Ea=f}', "");
-Expect(1, 12287, '\P{Ea=f}', "");
-Expect(0, 12287, '\P{^Ea=f}', "");
-Expect(1, 12288, '\p{Ea= F}', "");
-Expect(0, 12288, '\p{^Ea= F}', "");
-Expect(0, 12288, '\P{Ea= F}', "");
-Expect(1, 12288, '\P{^Ea= F}', "");
-Expect(0, 12287, '\p{Ea= F}', "");
-Expect(1, 12287, '\p{^Ea= F}', "");
-Expect(1, 12287, '\P{Ea= F}', "");
-Expect(0, 12287, '\P{^Ea= F}', "");
-Error('\p{Is_East_Asian_Width=/a/FULLWIDTH}');
-Error('\P{Is_East_Asian_Width=/a/FULLWIDTH}');
-Expect(1, 12288, '\p{Is_East_Asian_Width=fullwidth}', "");
-Expect(0, 12288, '\p{^Is_East_Asian_Width=fullwidth}', "");
-Expect(0, 12288, '\P{Is_East_Asian_Width=fullwidth}', "");
-Expect(1, 12288, '\P{^Is_East_Asian_Width=fullwidth}', "");
-Expect(0, 12287, '\p{Is_East_Asian_Width=fullwidth}', "");
-Expect(1, 12287, '\p{^Is_East_Asian_Width=fullwidth}', "");
-Expect(1, 12287, '\P{Is_East_Asian_Width=fullwidth}', "");
-Expect(0, 12287, '\P{^Is_East_Asian_Width=fullwidth}', "");
-Expect(1, 12288, '\p{Is_East_Asian_Width= _fullwidth}', "");
-Expect(0, 12288, '\p{^Is_East_Asian_Width= _fullwidth}', "");
-Expect(0, 12288, '\P{Is_East_Asian_Width= _fullwidth}', "");
-Expect(1, 12288, '\P{^Is_East_Asian_Width= _fullwidth}', "");
-Expect(0, 12287, '\p{Is_East_Asian_Width= _fullwidth}', "");
-Expect(1, 12287, '\p{^Is_East_Asian_Width= _fullwidth}', "");
-Expect(1, 12287, '\P{Is_East_Asian_Width= _fullwidth}', "");
-Expect(0, 12287, '\P{^Is_East_Asian_Width= _fullwidth}', "");
-Error('\p{Is_Ea= :=F}');
-Error('\P{Is_Ea= :=F}');
-Expect(1, 12288, '\p{Is_Ea: f}', "");
-Expect(0, 12288, '\p{^Is_Ea: f}', "");
-Expect(0, 12288, '\P{Is_Ea: f}', "");
-Expect(1, 12288, '\P{^Is_Ea: f}', "");
-Expect(0, 12287, '\p{Is_Ea: f}', "");
-Expect(1, 12287, '\p{^Is_Ea: f}', "");
-Expect(1, 12287, '\P{Is_Ea: f}', "");
-Expect(0, 12287, '\P{^Is_Ea: f}', "");
-Expect(1, 12288, '\p{Is_Ea=_F}', "");
-Expect(0, 12288, '\p{^Is_Ea=_F}', "");
-Expect(0, 12288, '\P{Is_Ea=_F}', "");
-Expect(1, 12288, '\P{^Is_Ea=_F}', "");
-Expect(0, 12287, '\p{Is_Ea=_F}', "");
-Expect(1, 12287, '\p{^Is_Ea=_F}', "");
-Expect(1, 12287, '\P{Is_Ea=_F}', "");
-Expect(0, 12287, '\P{^Is_Ea=_F}', "");
-Error('\p{East_Asian_Width=_/a/Ambiguous}');
-Error('\P{East_Asian_Width=_/a/Ambiguous}');
-Expect(1, 161, '\p{East_Asian_Width=ambiguous}', "");
-Expect(0, 161, '\p{^East_Asian_Width=ambiguous}', "");
-Expect(0, 161, '\P{East_Asian_Width=ambiguous}', "");
-Expect(1, 161, '\P{^East_Asian_Width=ambiguous}', "");
-Expect(0, 160, '\p{East_Asian_Width=ambiguous}', "");
-Expect(1, 160, '\p{^East_Asian_Width=ambiguous}', "");
-Expect(1, 160, '\P{East_Asian_Width=ambiguous}', "");
-Expect(0, 160, '\P{^East_Asian_Width=ambiguous}', "");
-Expect(1, 161, '\p{East_Asian_Width= _AMBIGUOUS}', "");
-Expect(0, 161, '\p{^East_Asian_Width= _AMBIGUOUS}', "");
-Expect(0, 161, '\P{East_Asian_Width= _AMBIGUOUS}', "");
-Expect(1, 161, '\P{^East_Asian_Width= _AMBIGUOUS}', "");
-Expect(0, 160, '\p{East_Asian_Width= _AMBIGUOUS}', "");
-Expect(1, 160, '\p{^East_Asian_Width= _AMBIGUOUS}', "");
-Expect(1, 160, '\P{East_Asian_Width= _AMBIGUOUS}', "");
-Expect(0, 160, '\P{^East_Asian_Width= _AMBIGUOUS}', "");
-Error('\p{Ea: /a/--a}');
-Error('\P{Ea: /a/--a}');
-Expect(1, 161, '\p{Ea=a}', "");
-Expect(0, 161, '\p{^Ea=a}', "");
-Expect(0, 161, '\P{Ea=a}', "");
-Expect(1, 161, '\P{^Ea=a}', "");
-Expect(0, 160, '\p{Ea=a}', "");
-Expect(1, 160, '\p{^Ea=a}', "");
-Expect(1, 160, '\P{Ea=a}', "");
-Expect(0, 160, '\P{^Ea=a}', "");
-Expect(1, 161, '\p{Ea: a}', "");
-Expect(0, 161, '\p{^Ea: a}', "");
-Expect(0, 161, '\P{Ea: a}', "");
-Expect(1, 161, '\P{^Ea: a}', "");
-Expect(0, 160, '\p{Ea: a}', "");
-Expect(1, 160, '\p{^Ea: a}', "");
-Expect(1, 160, '\P{Ea: a}', "");
-Expect(0, 160, '\P{^Ea: a}', "");
-Error('\p{Is_East_Asian_Width=/a/_ambiguous}');
-Error('\P{Is_East_Asian_Width=/a/_ambiguous}');
-Expect(1, 161, '\p{Is_East_Asian_Width=ambiguous}', "");
-Expect(0, 161, '\p{^Is_East_Asian_Width=ambiguous}', "");
-Expect(0, 161, '\P{Is_East_Asian_Width=ambiguous}', "");
-Expect(1, 161, '\P{^Is_East_Asian_Width=ambiguous}', "");
-Expect(0, 160, '\p{Is_East_Asian_Width=ambiguous}', "");
-Expect(1, 160, '\p{^Is_East_Asian_Width=ambiguous}', "");
-Expect(1, 160, '\P{Is_East_Asian_Width=ambiguous}', "");
-Expect(0, 160, '\P{^Is_East_Asian_Width=ambiguous}', "");
-Expect(1, 161, '\p{Is_East_Asian_Width= Ambiguous}', "");
-Expect(0, 161, '\p{^Is_East_Asian_Width= Ambiguous}', "");
-Expect(0, 161, '\P{Is_East_Asian_Width= Ambiguous}', "");
-Expect(1, 161, '\P{^Is_East_Asian_Width= Ambiguous}', "");
-Expect(0, 160, '\p{Is_East_Asian_Width= Ambiguous}', "");
-Expect(1, 160, '\p{^Is_East_Asian_Width= Ambiguous}', "");
-Expect(1, 160, '\P{Is_East_Asian_Width= Ambiguous}', "");
-Expect(0, 160, '\P{^Is_East_Asian_Width= Ambiguous}', "");
-Error('\p{Is_Ea= A:=}');
-Error('\P{Is_Ea= A:=}');
-Expect(1, 161, '\p{Is_Ea=a}', "");
-Expect(0, 161, '\p{^Is_Ea=a}', "");
-Expect(0, 161, '\P{Is_Ea=a}', "");
-Expect(1, 161, '\P{^Is_Ea=a}', "");
-Expect(0, 160, '\p{Is_Ea=a}', "");
-Expect(1, 160, '\p{^Is_Ea=a}', "");
-Expect(1, 160, '\P{Is_Ea=a}', "");
-Expect(0, 160, '\P{^Is_Ea=a}', "");
-Expect(1, 161, '\p{Is_Ea= A}', "");
-Expect(0, 161, '\p{^Is_Ea= A}', "");
-Expect(0, 161, '\P{Is_Ea= A}', "");
-Expect(1, 161, '\P{^Is_Ea= A}', "");
-Expect(0, 160, '\p{Is_Ea= A}', "");
-Expect(1, 160, '\p{^Is_Ea= A}', "");
-Expect(1, 160, '\P{Is_Ea= A}', "");
-Expect(0, 160, '\P{^Is_Ea= A}', "");
-Error('\p{East_Asian_Width=/a/narrow}');
-Error('\P{East_Asian_Width=/a/narrow}');
-Expect(1, 126, '\p{East_Asian_Width=narrow}', "");
-Expect(0, 126, '\p{^East_Asian_Width=narrow}', "");
-Expect(0, 126, '\P{East_Asian_Width=narrow}', "");
-Expect(1, 126, '\P{^East_Asian_Width=narrow}', "");
-Expect(0, 31, '\p{East_Asian_Width=narrow}', "");
-Expect(1, 31, '\p{^East_Asian_Width=narrow}', "");
-Expect(1, 31, '\P{East_Asian_Width=narrow}', "");
-Expect(0, 31, '\P{^East_Asian_Width=narrow}', "");
-Expect(1, 126, '\p{East_Asian_Width= NARROW}', "");
-Expect(0, 126, '\p{^East_Asian_Width= NARROW}', "");
-Expect(0, 126, '\P{East_Asian_Width= NARROW}', "");
-Expect(1, 126, '\P{^East_Asian_Width= NARROW}', "");
-Expect(0, 31, '\p{East_Asian_Width= NARROW}', "");
-Expect(1, 31, '\p{^East_Asian_Width= NARROW}', "");
-Expect(1, 31, '\P{East_Asian_Width= NARROW}', "");
-Expect(0, 31, '\P{^East_Asian_Width= NARROW}', "");
-Error('\p{Ea=:=- Na}');
-Error('\P{Ea=:=- Na}');
-Expect(1, 126, '\p{Ea=na}', "");
-Expect(0, 126, '\p{^Ea=na}', "");
-Expect(0, 126, '\P{Ea=na}', "");
-Expect(1, 126, '\P{^Ea=na}', "");
-Expect(0, 31, '\p{Ea=na}', "");
-Expect(1, 31, '\p{^Ea=na}', "");
-Expect(1, 31, '\P{Ea=na}', "");
-Expect(0, 31, '\P{^Ea=na}', "");
-Expect(1, 126, '\p{Ea= NA}', "");
-Expect(0, 126, '\p{^Ea= NA}', "");
-Expect(0, 126, '\P{Ea= NA}', "");
-Expect(1, 126, '\P{^Ea= NA}', "");
-Expect(0, 31, '\p{Ea= NA}', "");
-Expect(1, 31, '\p{^Ea= NA}', "");
-Expect(1, 31, '\P{Ea= NA}', "");
-Expect(0, 31, '\P{^Ea= NA}', "");
-Error('\p{Is_East_Asian_Width=:=Narrow}');
-Error('\P{Is_East_Asian_Width=:=Narrow}');
-Expect(1, 126, '\p{Is_East_Asian_Width=narrow}', "");
-Expect(0, 126, '\p{^Is_East_Asian_Width=narrow}', "");
-Expect(0, 126, '\P{Is_East_Asian_Width=narrow}', "");
-Expect(1, 126, '\P{^Is_East_Asian_Width=narrow}', "");
-Expect(0, 31, '\p{Is_East_Asian_Width=narrow}', "");
-Expect(1, 31, '\p{^Is_East_Asian_Width=narrow}', "");
-Expect(1, 31, '\P{Is_East_Asian_Width=narrow}', "");
-Expect(0, 31, '\P{^Is_East_Asian_Width=narrow}', "");
-Expect(1, 126, '\p{Is_East_Asian_Width= -Narrow}', "");
-Expect(0, 126, '\p{^Is_East_Asian_Width= -Narrow}', "");
-Expect(0, 126, '\P{Is_East_Asian_Width= -Narrow}', "");
-Expect(1, 126, '\P{^Is_East_Asian_Width= -Narrow}', "");
-Expect(0, 31, '\p{Is_East_Asian_Width= -Narrow}', "");
-Expect(1, 31, '\p{^Is_East_Asian_Width= -Narrow}', "");
-Expect(1, 31, '\P{Is_East_Asian_Width= -Narrow}', "");
-Expect(0, 31, '\P{^Is_East_Asian_Width= -Narrow}', "");
-Error('\p{Is_Ea=_ Na:=}');
-Error('\P{Is_Ea=_ Na:=}');
-Expect(1, 126, '\p{Is_Ea=na}', "");
-Expect(0, 126, '\p{^Is_Ea=na}', "");
-Expect(0, 126, '\P{Is_Ea=na}', "");
-Expect(1, 126, '\P{^Is_Ea=na}', "");
-Expect(0, 31, '\p{Is_Ea=na}', "");
-Expect(1, 31, '\p{^Is_Ea=na}', "");
-Expect(1, 31, '\P{Is_Ea=na}', "");
-Expect(0, 31, '\P{^Is_Ea=na}', "");
-Expect(1, 126, '\p{Is_Ea= na}', "");
-Expect(0, 126, '\p{^Is_Ea= na}', "");
-Expect(0, 126, '\P{Is_Ea= na}', "");
-Expect(1, 126, '\P{^Is_Ea= na}', "");
-Expect(0, 31, '\p{Is_Ea= na}', "");
-Expect(1, 31, '\p{^Is_Ea= na}', "");
-Expect(1, 31, '\P{Is_Ea= na}', "");
-Expect(0, 31, '\P{^Is_Ea= na}', "");
-Error('\p{East_Asian_Width= -Neutral:=}');
-Error('\P{East_Asian_Width= -Neutral:=}');
-Expect(1, 31, '\p{East_Asian_Width=neutral}', "");
-Expect(0, 31, '\p{^East_Asian_Width=neutral}', "");
-Expect(0, 31, '\P{East_Asian_Width=neutral}', "");
-Expect(1, 31, '\P{^East_Asian_Width=neutral}', "");
-Expect(0, 126, '\p{East_Asian_Width=neutral}', "");
-Expect(1, 126, '\p{^East_Asian_Width=neutral}', "");
-Expect(1, 126, '\P{East_Asian_Width=neutral}', "");
-Expect(0, 126, '\P{^East_Asian_Width=neutral}', "");
-Expect(1, 31, '\p{East_Asian_Width: _NEUTRAL}', "");
-Expect(0, 31, '\p{^East_Asian_Width: _NEUTRAL}', "");
-Expect(0, 31, '\P{East_Asian_Width: _NEUTRAL}', "");
-Expect(1, 31, '\P{^East_Asian_Width: _NEUTRAL}', "");
-Expect(0, 126, '\p{East_Asian_Width: _NEUTRAL}', "");
-Expect(1, 126, '\p{^East_Asian_Width: _NEUTRAL}', "");
-Expect(1, 126, '\P{East_Asian_Width: _NEUTRAL}', "");
-Expect(0, 126, '\P{^East_Asian_Width: _NEUTRAL}', "");
-Error('\p{Ea=n/a/}');
-Error('\P{Ea=n/a/}');
-Expect(1, 31, '\p{Ea=n}', "");
-Expect(0, 31, '\p{^Ea=n}', "");
-Expect(0, 31, '\P{Ea=n}', "");
-Expect(1, 31, '\P{^Ea=n}', "");
-Expect(0, 126, '\p{Ea=n}', "");
-Expect(1, 126, '\p{^Ea=n}', "");
-Expect(1, 126, '\P{Ea=n}', "");
-Expect(0, 126, '\P{^Ea=n}', "");
-Expect(1, 31, '\p{Ea=--N}', "");
-Expect(0, 31, '\p{^Ea=--N}', "");
-Expect(0, 31, '\P{Ea=--N}', "");
-Expect(1, 31, '\P{^Ea=--N}', "");
-Expect(0, 126, '\p{Ea=--N}', "");
-Expect(1, 126, '\p{^Ea=--N}', "");
-Expect(1, 126, '\P{Ea=--N}', "");
-Expect(0, 126, '\P{^Ea=--N}', "");
-Error('\p{Is_East_Asian_Width: -neutral:=}');
-Error('\P{Is_East_Asian_Width: -neutral:=}');
-Expect(1, 31, '\p{Is_East_Asian_Width=neutral}', "");
-Expect(0, 31, '\p{^Is_East_Asian_Width=neutral}', "");
-Expect(0, 31, '\P{Is_East_Asian_Width=neutral}', "");
-Expect(1, 31, '\P{^Is_East_Asian_Width=neutral}', "");
-Expect(0, 126, '\p{Is_East_Asian_Width=neutral}', "");
-Expect(1, 126, '\p{^Is_East_Asian_Width=neutral}', "");
-Expect(1, 126, '\P{Is_East_Asian_Width=neutral}', "");
-Expect(0, 126, '\P{^Is_East_Asian_Width=neutral}', "");
-Expect(1, 31, '\p{Is_East_Asian_Width= NEUTRAL}', "");
-Expect(0, 31, '\p{^Is_East_Asian_Width= NEUTRAL}', "");
-Expect(0, 31, '\P{Is_East_Asian_Width= NEUTRAL}', "");
-Expect(1, 31, '\P{^Is_East_Asian_Width= NEUTRAL}', "");
-Expect(0, 126, '\p{Is_East_Asian_Width= NEUTRAL}', "");
-Expect(1, 126, '\p{^Is_East_Asian_Width= NEUTRAL}', "");
-Expect(1, 126, '\P{Is_East_Asian_Width= NEUTRAL}', "");
-Expect(0, 126, '\P{^Is_East_Asian_Width= NEUTRAL}', "");
-Error('\p{Is_Ea= /a/n}');
-Error('\P{Is_Ea= /a/n}');
-Expect(1, 31, '\p{Is_Ea=n}', "");
-Expect(0, 31, '\p{^Is_Ea=n}', "");
-Expect(0, 31, '\P{Is_Ea=n}', "");
-Expect(1, 31, '\P{^Is_Ea=n}', "");
-Expect(0, 126, '\p{Is_Ea=n}', "");
-Expect(1, 126, '\p{^Is_Ea=n}', "");
-Expect(1, 126, '\P{Is_Ea=n}', "");
-Expect(0, 126, '\P{^Is_Ea=n}', "");
-Expect(1, 31, '\p{Is_Ea= _N}', "");
-Expect(0, 31, '\p{^Is_Ea= _N}', "");
-Expect(0, 31, '\P{Is_Ea= _N}', "");
-Expect(1, 31, '\P{^Is_Ea= _N}', "");
-Expect(0, 126, '\p{Is_Ea= _N}', "");
-Expect(1, 126, '\p{^Is_Ea= _N}', "");
-Expect(1, 126, '\P{Is_Ea= _N}', "");
-Expect(0, 126, '\P{^Is_Ea= _N}', "");
-Error('\p{East_Asian_Width=/a/ Halfwidth}');
-Error('\P{East_Asian_Width=/a/ Halfwidth}');
-Expect(1, 8361, '\p{East_Asian_Width=halfwidth}', "");
-Expect(0, 8361, '\p{^East_Asian_Width=halfwidth}', "");
-Expect(0, 8361, '\P{East_Asian_Width=halfwidth}', "");
-Expect(1, 8361, '\P{^East_Asian_Width=halfwidth}', "");
-Expect(0, 8360, '\p{East_Asian_Width=halfwidth}', "");
-Expect(1, 8360, '\p{^East_Asian_Width=halfwidth}', "");
-Expect(1, 8360, '\P{East_Asian_Width=halfwidth}', "");
-Expect(0, 8360, '\P{^East_Asian_Width=halfwidth}', "");
-Expect(1, 8361, '\p{East_Asian_Width:_halfwidth}', "");
-Expect(0, 8361, '\p{^East_Asian_Width:_halfwidth}', "");
-Expect(0, 8361, '\P{East_Asian_Width:_halfwidth}', "");
-Expect(1, 8361, '\P{^East_Asian_Width:_halfwidth}', "");
-Expect(0, 8360, '\p{East_Asian_Width:_halfwidth}', "");
-Expect(1, 8360, '\p{^East_Asian_Width:_halfwidth}', "");
-Expect(1, 8360, '\P{East_Asian_Width:_halfwidth}', "");
-Expect(0, 8360, '\P{^East_Asian_Width:_halfwidth}', "");
-Error('\p{Ea= h/a/}');
-Error('\P{Ea= h/a/}');
-Expect(1, 8361, '\p{Ea=h}', "");
-Expect(0, 8361, '\p{^Ea=h}', "");
-Expect(0, 8361, '\P{Ea=h}', "");
-Expect(1, 8361, '\P{^Ea=h}', "");
-Expect(0, 8360, '\p{Ea=h}', "");
-Expect(1, 8360, '\p{^Ea=h}', "");
-Expect(1, 8360, '\P{Ea=h}', "");
-Expect(0, 8360, '\P{^Ea=h}', "");
-Expect(1, 8361, '\p{Ea= _H}', "");
-Expect(0, 8361, '\p{^Ea= _H}', "");
-Expect(0, 8361, '\P{Ea= _H}', "");
-Expect(1, 8361, '\P{^Ea= _H}', "");
-Expect(0, 8360, '\p{Ea= _H}', "");
-Expect(1, 8360, '\p{^Ea= _H}', "");
-Expect(1, 8360, '\P{Ea= _H}', "");
-Expect(0, 8360, '\P{^Ea= _H}', "");
-Error('\p{Is_East_Asian_Width: := halfwidth}');
-Error('\P{Is_East_Asian_Width: := halfwidth}');
-Expect(1, 8361, '\p{Is_East_Asian_Width=halfwidth}', "");
-Expect(0, 8361, '\p{^Is_East_Asian_Width=halfwidth}', "");
-Expect(0, 8361, '\P{Is_East_Asian_Width=halfwidth}', "");
-Expect(1, 8361, '\P{^Is_East_Asian_Width=halfwidth}', "");
-Expect(0, 8360, '\p{Is_East_Asian_Width=halfwidth}', "");
-Expect(1, 8360, '\p{^Is_East_Asian_Width=halfwidth}', "");
-Expect(1, 8360, '\P{Is_East_Asian_Width=halfwidth}', "");
-Expect(0, 8360, '\P{^Is_East_Asian_Width=halfwidth}', "");
-Expect(1, 8361, '\p{Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(0, 8361, '\p{^Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(0, 8361, '\P{Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(1, 8361, '\P{^Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(0, 8360, '\p{Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(1, 8360, '\p{^Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(1, 8360, '\P{Is_East_Asian_Width= HALFWIDTH}', "");
-Expect(0, 8360, '\P{^Is_East_Asian_Width= HALFWIDTH}', "");
-Error('\p{Is_Ea=/a/H}');
-Error('\P{Is_Ea=/a/H}');
-Expect(1, 8361, '\p{Is_Ea:h}', "");
-Expect(0, 8361, '\p{^Is_Ea:h}', "");
-Expect(0, 8361, '\P{Is_Ea:h}', "");
-Expect(1, 8361, '\P{^Is_Ea:h}', "");
-Expect(0, 8360, '\p{Is_Ea:h}', "");
-Expect(1, 8360, '\p{^Is_Ea:h}', "");
-Expect(1, 8360, '\P{Is_Ea:h}', "");
-Expect(0, 8360, '\P{^Is_Ea:h}', "");
-Expect(1, 8361, '\p{Is_Ea: H}', "");
-Expect(0, 8361, '\p{^Is_Ea: H}', "");
-Expect(0, 8361, '\P{Is_Ea: H}', "");
-Expect(1, 8361, '\P{^Is_Ea: H}', "");
-Expect(0, 8360, '\p{Is_Ea: H}', "");
-Expect(1, 8360, '\p{^Is_Ea: H}', "");
-Expect(1, 8360, '\P{Is_Ea: H}', "");
-Expect(0, 8360, '\P{^Is_Ea: H}', "");
-Error('\p{ASCII_Hex_Digit=/a/ Yes}');
-Error('\P{ASCII_Hex_Digit=/a/ Yes}');
-Expect(1, 57, '\p{ASCII_Hex_Digit=yes}', "");
-Expect(0, 57, '\p{^ASCII_Hex_Digit=yes}', "");
-Expect(0, 57, '\P{ASCII_Hex_Digit=yes}', "");
-Expect(1, 57, '\P{^ASCII_Hex_Digit=yes}', "");
-Expect(0, 47, '\p{ASCII_Hex_Digit=yes}', "");
-Expect(1, 47, '\p{^ASCII_Hex_Digit=yes}', "");
-Expect(1, 47, '\P{ASCII_Hex_Digit=yes}', "");
-Expect(0, 47, '\P{^ASCII_Hex_Digit=yes}', "");
-Expect(1, 57, '\p{ASCII_Hex_Digit=- Yes}', "");
-Expect(0, 57, '\p{^ASCII_Hex_Digit=- Yes}', "");
-Expect(0, 57, '\P{ASCII_Hex_Digit=- Yes}', "");
-Expect(1, 57, '\P{^ASCII_Hex_Digit=- Yes}', "");
-Expect(0, 47, '\p{ASCII_Hex_Digit=- Yes}', "");
-Expect(1, 47, '\p{^ASCII_Hex_Digit=- Yes}', "");
-Expect(1, 47, '\P{ASCII_Hex_Digit=- Yes}', "");
-Expect(0, 47, '\P{^ASCII_Hex_Digit=- Yes}', "");
-Error('\p{AHex=/a/ Y}');
-Error('\P{AHex=/a/ Y}');
-Expect(1, 57, '\p{AHex=y}', "");
-Expect(0, 57, '\p{^AHex=y}', "");
-Expect(0, 57, '\P{AHex=y}', "");
-Expect(1, 57, '\P{^AHex=y}', "");
-Expect(0, 47, '\p{AHex=y}', "");
-Expect(1, 47, '\p{^AHex=y}', "");
-Expect(1, 47, '\P{AHex=y}', "");
-Expect(0, 47, '\P{^AHex=y}', "");
-Expect(1, 57, '\p{AHex=_ Y}', "");
-Expect(0, 57, '\p{^AHex=_ Y}', "");
-Expect(0, 57, '\P{AHex=_ Y}', "");
-Expect(1, 57, '\P{^AHex=_ Y}', "");
-Expect(0, 47, '\p{AHex=_ Y}', "");
-Expect(1, 47, '\p{^AHex=_ Y}', "");
-Expect(1, 47, '\P{AHex=_ Y}', "");
-Expect(0, 47, '\P{^AHex=_ Y}', "");
-Error('\p{Is_ASCII_Hex_Digit=/a/_T}');
-Error('\P{Is_ASCII_Hex_Digit=/a/_T}');
-Expect(1, 57, '\p{Is_ASCII_Hex_Digit=t}', "");
-Expect(0, 57, '\p{^Is_ASCII_Hex_Digit=t}', "");
-Expect(0, 57, '\P{Is_ASCII_Hex_Digit=t}', "");
-Expect(1, 57, '\P{^Is_ASCII_Hex_Digit=t}', "");
-Expect(0, 47, '\p{Is_ASCII_Hex_Digit=t}', "");
-Expect(1, 47, '\p{^Is_ASCII_Hex_Digit=t}', "");
-Expect(1, 47, '\P{Is_ASCII_Hex_Digit=t}', "");
-Expect(0, 47, '\P{^Is_ASCII_Hex_Digit=t}', "");
-Expect(1, 57, '\p{Is_ASCII_Hex_Digit= t}', "");
-Expect(0, 57, '\p{^Is_ASCII_Hex_Digit= t}', "");
-Expect(0, 57, '\P{Is_ASCII_Hex_Digit= t}', "");
-Expect(1, 57, '\P{^Is_ASCII_Hex_Digit= t}', "");
-Expect(0, 47, '\p{Is_ASCII_Hex_Digit= t}', "");
-Expect(1, 47, '\p{^Is_ASCII_Hex_Digit= t}', "");
-Expect(1, 47, '\P{Is_ASCII_Hex_Digit= t}', "");
-Expect(0, 47, '\P{^Is_ASCII_Hex_Digit= t}', "");
-Error('\p{Is_AHex=_:=true}');
-Error('\P{Is_AHex=_:=true}');
-Expect(1, 57, '\p{Is_AHex=true}', "");
-Expect(0, 57, '\p{^Is_AHex=true}', "");
-Expect(0, 57, '\P{Is_AHex=true}', "");
-Expect(1, 57, '\P{^Is_AHex=true}', "");
-Expect(0, 47, '\p{Is_AHex=true}', "");
-Expect(1, 47, '\p{^Is_AHex=true}', "");
-Expect(1, 47, '\P{Is_AHex=true}', "");
-Expect(0, 47, '\P{^Is_AHex=true}', "");
-Expect(1, 57, '\p{Is_AHex: --True}', "");
-Expect(0, 57, '\p{^Is_AHex: --True}', "");
-Expect(0, 57, '\P{Is_AHex: --True}', "");
-Expect(1, 57, '\P{^Is_AHex: --True}', "");
-Expect(0, 47, '\p{Is_AHex: --True}', "");
-Expect(1, 47, '\p{^Is_AHex: --True}', "");
-Expect(1, 47, '\P{Is_AHex: --True}', "");
-Expect(0, 47, '\P{^Is_AHex: --True}', "");
-Error('\p{ASCII_Hex_Digit= :=no}');
-Error('\P{ASCII_Hex_Digit= :=no}');
-Expect(1, 47, '\p{ASCII_Hex_Digit=no}', "");
-Expect(0, 47, '\p{^ASCII_Hex_Digit=no}', "");
-Expect(0, 47, '\P{ASCII_Hex_Digit=no}', "");
-Expect(1, 47, '\P{^ASCII_Hex_Digit=no}', "");
-Expect(0, 57, '\p{ASCII_Hex_Digit=no}', "");
-Expect(1, 57, '\p{^ASCII_Hex_Digit=no}', "");
-Expect(1, 57, '\P{ASCII_Hex_Digit=no}', "");
-Expect(0, 57, '\P{^ASCII_Hex_Digit=no}', "");
-Expect(1, 47, '\p{ASCII_Hex_Digit= No}', "");
-Expect(0, 47, '\p{^ASCII_Hex_Digit= No}', "");
-Expect(0, 47, '\P{ASCII_Hex_Digit= No}', "");
-Expect(1, 47, '\P{^ASCII_Hex_Digit= No}', "");
-Expect(0, 57, '\p{ASCII_Hex_Digit= No}', "");
-Expect(1, 57, '\p{^ASCII_Hex_Digit= No}', "");
-Expect(1, 57, '\P{ASCII_Hex_Digit= No}', "");
-Expect(0, 57, '\P{^ASCII_Hex_Digit= No}', "");
-Error('\p{AHex=-N/a/}');
-Error('\P{AHex=-N/a/}');
-Expect(1, 47, '\p{AHex=n}', "");
-Expect(0, 47, '\p{^AHex=n}', "");
-Expect(0, 47, '\P{AHex=n}', "");
-Expect(1, 47, '\P{^AHex=n}', "");
-Expect(0, 57, '\p{AHex=n}', "");
-Expect(1, 57, '\p{^AHex=n}', "");
-Expect(1, 57, '\P{AHex=n}', "");
-Expect(0, 57, '\P{^AHex=n}', "");
-Expect(1, 47, '\p{AHex: N}', "");
-Expect(0, 47, '\p{^AHex: N}', "");
-Expect(0, 47, '\P{AHex: N}', "");
-Expect(1, 47, '\P{^AHex: N}', "");
-Expect(0, 57, '\p{AHex: N}', "");
-Expect(1, 57, '\p{^AHex: N}', "");
-Expect(1, 57, '\P{AHex: N}', "");
-Expect(0, 57, '\P{^AHex: N}', "");
-Error('\p{Is_ASCII_Hex_Digit=/a/ F}');
-Error('\P{Is_ASCII_Hex_Digit=/a/ F}');
-Expect(1, 47, '\p{Is_ASCII_Hex_Digit=f}', "");
-Expect(0, 47, '\p{^Is_ASCII_Hex_Digit=f}', "");
-Expect(0, 47, '\P{Is_ASCII_Hex_Digit=f}', "");
-Expect(1, 47, '\P{^Is_ASCII_Hex_Digit=f}', "");
-Expect(0, 57, '\p{Is_ASCII_Hex_Digit=f}', "");
-Expect(1, 57, '\p{^Is_ASCII_Hex_Digit=f}', "");
-Expect(1, 57, '\P{Is_ASCII_Hex_Digit=f}', "");
-Expect(0, 57, '\P{^Is_ASCII_Hex_Digit=f}', "");
-Expect(1, 47, '\p{Is_ASCII_Hex_Digit= F}', "");
-Expect(0, 47, '\p{^Is_ASCII_Hex_Digit= F}', "");
-Expect(0, 47, '\P{Is_ASCII_Hex_Digit= F}', "");
-Expect(1, 47, '\P{^Is_ASCII_Hex_Digit= F}', "");
-Expect(0, 57, '\p{Is_ASCII_Hex_Digit= F}', "");
-Expect(1, 57, '\p{^Is_ASCII_Hex_Digit= F}', "");
-Expect(1, 57, '\P{Is_ASCII_Hex_Digit= F}', "");
-Expect(0, 57, '\P{^Is_ASCII_Hex_Digit= F}', "");
-Error('\p{Is_AHex=false:=}');
-Error('\P{Is_AHex=false:=}');
-Expect(1, 47, '\p{Is_AHex: false}', "");
-Expect(0, 47, '\p{^Is_AHex: false}', "");
-Expect(0, 47, '\P{Is_AHex: false}', "");
-Expect(1, 47, '\P{^Is_AHex: false}', "");
-Expect(0, 57, '\p{Is_AHex: false}', "");
-Expect(1, 57, '\p{^Is_AHex: false}', "");
-Expect(1, 57, '\P{Is_AHex: false}', "");
-Expect(0, 57, '\P{^Is_AHex: false}', "");
-Expect(1, 47, '\p{Is_AHex= False}', "");
-Expect(0, 47, '\p{^Is_AHex= False}', "");
-Expect(0, 47, '\P{Is_AHex= False}', "");
-Expect(1, 47, '\P{^Is_AHex= False}', "");
-Expect(0, 57, '\p{Is_AHex= False}', "");
-Expect(1, 57, '\p{^Is_AHex= False}', "");
-Expect(1, 57, '\P{Is_AHex= False}', "");
-Expect(0, 57, '\P{^Is_AHex= False}', "");
-Error('\p{Present_In=/a/ _00-00 03.2}');
-Error('\P{Present_In=/a/ _00-00 03.2}');
-Expect(1, 544, '\p{Present_In=+003.2}', "");
-Expect(0, 544, '\p{^Present_In=+003.2}', "");
-Expect(0, 544, '\P{Present_In=+003.2}', "");
-Expect(1, 544, '\P{^Present_In=+003.2}', "");
-Expect(0, 545, '\p{Present_In=+003.2}', "");
-Expect(1, 545, '\p{^Present_In=+003.2}', "");
-Expect(1, 545, '\P{Present_In=+003.2}', "");
-Expect(0, 545, '\P{^Present_In=+003.2}', "");
-Error('\p{In= 0000003.2:=}');
-Error('\P{In= 0000003.2:=}');
-Expect(1, 544, '\p{In=00_00_3.2}', "");
-Expect(0, 544, '\p{^In=00_00_3.2}', "");
-Expect(0, 544, '\P{In=00_00_3.2}', "");
-Expect(1, 544, '\P{^In=00_00_3.2}', "");
-Expect(0, 545, '\p{In=00_00_3.2}', "");
-Expect(1, 545, '\p{^In=00_00_3.2}', "");
-Expect(1, 545, '\P{In=00_00_3.2}', "");
-Expect(0, 545, '\P{^In=00_00_3.2}', "");
-Error('\p{Present_In=:=_+02.0}');
-Error('\P{Present_In=:=_+02.0}');
-Expect(1, 501, '\p{Present_In=00000002.0}', "");
-Expect(0, 501, '\p{^Present_In=00000002.0}', "");
-Expect(0, 501, '\P{Present_In=00000002.0}', "");
-Expect(1, 501, '\P{^Present_In=00000002.0}', "");
-Expect(0, 505, '\p{Present_In=00000002.0}', "");
-Expect(1, 505, '\p{^Present_In=00000002.0}', "");
-Expect(1, 505, '\P{Present_In=00000002.0}', "");
-Expect(0, 505, '\P{^Present_In=00000002.0}', "");
-Error('\p{In=:= 2.0}');
-Error('\P{In=:= 2.0}');
-Expect(1, 501, '\p{In=+0002.0}', "");
-Expect(0, 501, '\p{^In=+0002.0}', "");
-Expect(0, 501, '\P{In=+0002.0}', "");
-Expect(1, 501, '\P{^In=+0002.0}', "");
-Expect(0, 505, '\p{In=+0002.0}', "");
-Expect(1, 505, '\p{^In=+0002.0}', "");
-Expect(1, 505, '\P{In=+0002.0}', "");
-Expect(0, 505, '\P{^In=+0002.0}', "");
-Error('\p{Present_In=/a/ 00 00-01.1}');
-Error('\P{Present_In=/a/ 00 00-01.1}');
-Expect(1, 501, '\p{Present_In=+00_00_1.1}', "");
-Expect(0, 501, '\p{^Present_In=+00_00_1.1}', "");
-Expect(0, 501, '\P{Present_In=+00_00_1.1}', "");
-Expect(1, 501, '\P{^Present_In=+00_00_1.1}', "");
-Expect(0, 505, '\p{Present_In=+00_00_1.1}', "");
-Expect(1, 505, '\p{^Present_In=+00_00_1.1}', "");
-Expect(1, 505, '\P{Present_In=+00_00_1.1}', "");
-Expect(0, 505, '\P{^Present_In=+00_00_1.1}', "");
-Error('\p{In=- +01.1/a/}');
-Error('\P{In=- +01.1/a/}');
-Expect(1, 501, '\p{In=01.1}', "");
-Expect(0, 501, '\p{^In=01.1}', "");
-Expect(0, 501, '\P{In=01.1}', "");
-Expect(1, 501, '\P{^In=01.1}', "");
-Expect(0, 505, '\p{In=01.1}', "");
-Expect(1, 505, '\p{^In=01.1}', "");
-Expect(1, 505, '\P{In=01.1}', "");
-Expect(0, 505, '\P{^In=01.1}', "");
-Error('\p{Present_In=- 0000:=00 05.0}');
-Error('\P{Present_In=- 0000:=00 05.0}');
-Expect(1, 879, '\p{Present_In=+00_5.0}', "");
-Expect(0, 879, '\p{^Present_In=+00_5.0}', "");
-Expect(0, 879, '\P{Present_In=+00_5.0}', "");
-Expect(1, 879, '\P{^Present_In=+00_5.0}', "");
-Expect(0, 883, '\p{Present_In=+00_5.0}', "");
-Expect(1, 883, '\p{^Present_In=+00_5.0}', "");
-Expect(1, 883, '\P{Present_In=+00_5.0}', "");
-Expect(0, 883, '\P{^Present_In=+00_5.0}', "");
-Error('\p{In=:=+0 0-0_0 0 00 005.0}');
-Error('\P{In=:=+0 0-0_0 0 00 005.0}');
-Expect(1, 879, '\p{In=+0_0_0_0_0005.0}', "");
-Expect(0, 879, '\p{^In=+0_0_0_0_0005.0}', "");
-Expect(0, 879, '\P{In=+0_0_0_0_0005.0}', "");
-Expect(1, 879, '\P{^In=+0_0_0_0_0005.0}', "");
-Expect(0, 883, '\p{In=+0_0_0_0_0005.0}', "");
-Expect(1, 883, '\p{^In=+0_0_0_0_0005.0}', "");
-Expect(1, 883, '\P{In=+0_0_0_0_0005.0}', "");
-Expect(0, 883, '\P{^In=+0_0_0_0_0005.0}', "");
-Error('\p{Present_In= :=0003.0}');
-Error('\P{Present_In= :=0003.0}');
-Expect(1, 543, '\p{Present_In=0_3.0}', "");
-Expect(0, 543, '\p{^Present_In=0_3.0}', "");
-Expect(0, 543, '\P{Present_In=0_3.0}', "");
-Expect(1, 543, '\P{^Present_In=0_3.0}', "");
-Expect(0, 545, '\p{Present_In=0_3.0}', "");
-Expect(1, 545, '\p{^Present_In=0_3.0}', "");
-Expect(1, 545, '\P{Present_In=0_3.0}', "");
-Expect(0, 545, '\P{^Present_In=0_3.0}', "");
-Error('\p{In=-/a/03.0}');
-Error('\P{In=-/a/03.0}');
-Expect(1, 543, '\p{In=+0000000003.0}', "");
-Expect(0, 543, '\p{^In=+0000000003.0}', "");
-Expect(0, 543, '\P{In=+0000000003.0}', "");
-Expect(1, 543, '\P{^In=+0000000003.0}', "");
-Expect(0, 545, '\p{In=+0000000003.0}', "");
-Expect(1, 545, '\p{^In=+0000000003.0}', "");
-Expect(1, 545, '\P{In=+0000000003.0}', "");
-Expect(0, 545, '\P{^In=+0000000003.0}', "");
-Error('\p{Present_In=_Unassigned:=}');
-Error('\P{Present_In=_Unassigned:=}');
-Expect(1, 889, '\p{Present_In=unassigned}', "");
-Expect(0, 889, '\p{^Present_In=unassigned}', "");
-Expect(0, 889, '\P{Present_In=unassigned}', "");
-Expect(1, 889, '\P{^Present_In=unassigned}', "");
-Expect(0, 887, '\p{Present_In=unassigned}', "");
-Expect(1, 887, '\p{^Present_In=unassigned}', "");
-Expect(1, 887, '\P{Present_In=unassigned}', "");
-Expect(0, 887, '\P{^Present_In=unassigned}', "");
-Expect(1, 889, '\p{Present_In: unassigned}', "");
-Expect(0, 889, '\p{^Present_In: unassigned}', "");
-Expect(0, 889, '\P{Present_In: unassigned}', "");
-Expect(1, 889, '\P{^Present_In: unassigned}', "");
-Expect(0, 887, '\p{Present_In: unassigned}', "");
-Expect(1, 887, '\p{^Present_In: unassigned}', "");
-Expect(1, 887, '\P{Present_In: unassigned}', "");
-Expect(0, 887, '\P{^Present_In: unassigned}', "");
-Error('\p{In= -Unassigned/a/}');
-Error('\P{In= -Unassigned/a/}');
-Expect(1, 889, '\p{In=unassigned}', "");
-Expect(0, 889, '\p{^In=unassigned}', "");
-Expect(0, 889, '\P{In=unassigned}', "");
-Expect(1, 889, '\P{^In=unassigned}', "");
-Expect(0, 887, '\p{In=unassigned}', "");
-Expect(1, 887, '\p{^In=unassigned}', "");
-Expect(1, 887, '\P{In=unassigned}', "");
-Expect(0, 887, '\P{^In=unassigned}', "");
-Expect(1, 889, '\p{In=- Unassigned}', "");
-Expect(0, 889, '\p{^In=- Unassigned}', "");
-Expect(0, 889, '\P{In=- Unassigned}', "");
-Expect(1, 889, '\P{^In=- Unassigned}', "");
-Expect(0, 887, '\p{In=- Unassigned}', "");
-Expect(1, 887, '\p{^In=- Unassigned}', "");
-Expect(1, 887, '\P{In=- Unassigned}', "");
-Expect(0, 887, '\P{^In=- Unassigned}', "");
-Error('\p{Present_In=-/a/000000 05.1}');
-Error('\P{Present_In=-/a/000000 05.1}');
-Expect(1, 887, '\p{Present_In: +000_5.1}', "");
-Expect(0, 887, '\p{^Present_In: +000_5.1}', "");
-Expect(0, 887, '\P{Present_In: +000_5.1}', "");
-Expect(1, 887, '\P{^Present_In: +000_5.1}', "");
-Expect(0, 889, '\p{Present_In: +000_5.1}', "");
-Expect(1, 889, '\p{^Present_In: +000_5.1}', "");
-Expect(1, 889, '\P{Present_In: +000_5.1}', "");
-Expect(0, 889, '\P{^Present_In: +000_5.1}', "");
-Error('\p{In=/a/__5.1}');
-Error('\P{In=/a/__5.1}');
-Expect(1, 887, '\p{In=000_5.1}', "");
-Expect(0, 887, '\p{^In=000_5.1}', "");
-Expect(0, 887, '\P{In=000_5.1}', "");
-Expect(1, 887, '\P{^In=000_5.1}', "");
-Expect(0, 889, '\p{In=000_5.1}', "");
-Expect(1, 889, '\p{^In=000_5.1}', "");
-Expect(1, 889, '\P{In=000_5.1}', "");
-Expect(0, 889, '\P{^In=000_5.1}', "");
-Error('\p{Present_In=-_000004.0/a/}');
-Error('\P{Present_In=-_000004.0/a/}');
-Expect(1, 566, '\p{Present_In:0_0_0_004.0}', "");
-Expect(0, 566, '\p{^Present_In:0_0_0_004.0}', "");
-Expect(0, 566, '\P{Present_In:0_0_0_004.0}', "");
-Expect(1, 566, '\P{^Present_In:0_0_0_004.0}', "");
-Expect(0, 591, '\p{Present_In:0_0_0_004.0}', "");
-Expect(1, 591, '\p{^Present_In:0_0_0_004.0}', "");
-Expect(1, 591, '\P{Present_In:0_0_0_004.0}', "");
-Expect(0, 591, '\P{^Present_In:0_0_0_004.0}', "");
-Error('\p{In= /a/00 4.0}');
-Error('\P{In= /a/00 4.0}');
-Expect(1, 566, '\p{In=+000_4.0}', "");
-Expect(0, 566, '\p{^In=+000_4.0}', "");
-Expect(0, 566, '\P{In=+000_4.0}', "");
-Expect(1, 566, '\P{^In=+000_4.0}', "");
-Expect(0, 591, '\p{In=+000_4.0}', "");
-Expect(1, 591, '\p{^In=+000_4.0}', "");
-Expect(1, 591, '\P{In=+000_4.0}', "");
-Expect(0, 591, '\P{^In=+000_4.0}', "");
-Error('\p{Present_In=:= -00000005.2}');
-Error('\P{Present_In=:= -00000005.2}');
-Expect(1, 887, '\p{Present_In=0_5.2}', "");
-Expect(0, 887, '\p{^Present_In=0_5.2}', "");
-Expect(0, 887, '\P{Present_In=0_5.2}', "");
-Expect(1, 887, '\P{^Present_In=0_5.2}', "");
-Expect(0, 889, '\p{Present_In=0_5.2}', "");
-Expect(1, 889, '\p{^Present_In=0_5.2}', "");
-Expect(1, 889, '\P{Present_In=0_5.2}', "");
-Expect(0, 889, '\P{^Present_In=0_5.2}', "");
-Error('\p{In= 000005.2:=}');
-Error('\P{In= 000005.2:=}');
-Expect(1, 887, '\p{In=0000005.2}', "");
-Expect(0, 887, '\p{^In=0000005.2}', "");
-Expect(0, 887, '\P{In=0000005.2}', "");
-Expect(1, 887, '\P{^In=0000005.2}', "");
-Expect(0, 889, '\p{In=0000005.2}', "");
-Expect(1, 889, '\p{^In=0000005.2}', "");
-Expect(1, 889, '\P{In=0000005.2}', "");
-Expect(0, 889, '\P{^In=0000005.2}', "");
-Error('\p{Present_In:/a/_-0 3.1}');
-Error('\P{Present_In:/a/_-0 3.1}');
-Expect(1, 543, '\p{Present_In=+00_3.1}', "");
-Expect(0, 543, '\p{^Present_In=+00_3.1}', "");
-Expect(0, 543, '\P{Present_In=+00_3.1}', "");
-Expect(1, 543, '\P{^Present_In=+00_3.1}', "");
-Expect(0, 545, '\p{Present_In=+00_3.1}', "");
-Expect(1, 545, '\p{^Present_In=+00_3.1}', "");
-Expect(1, 545, '\P{Present_In=+00_3.1}', "");
-Expect(0, 545, '\P{^Present_In=+00_3.1}', "");
-Error('\p{In=/a/ _000000003.1}');
-Error('\P{In=/a/ _000000003.1}');
-Expect(1, 543, '\p{In:0003.1}', "");
-Expect(0, 543, '\p{^In:0003.1}', "");
-Expect(0, 543, '\P{In:0003.1}', "");
-Expect(1, 543, '\P{^In:0003.1}', "");
-Expect(0, 545, '\p{In:0003.1}', "");
-Expect(1, 545, '\p{^In:0003.1}', "");
-Expect(1, 545, '\P{In:0003.1}', "");
-Expect(0, 545, '\P{^In:0003.1}', "");
-Error('\p{Present_In: 0000_0000-02.1:=}');
-Error('\P{Present_In: 0000_0000-02.1:=}');
-Expect(1, 501, '\p{Present_In:+00000000_2.1}', "");
-Expect(0, 501, '\p{^Present_In:+00000000_2.1}', "");
-Expect(0, 501, '\P{Present_In:+00000000_2.1}', "");
-Expect(1, 501, '\P{^Present_In:+00000000_2.1}', "");
-Expect(0, 505, '\p{Present_In:+00000000_2.1}', "");
-Expect(1, 505, '\p{^Present_In:+00000000_2.1}', "");
-Expect(1, 505, '\P{Present_In:+00000000_2.1}', "");
-Expect(0, 505, '\P{^Present_In:+00000000_2.1}', "");
-Error('\p{In=/a/-000002.1}');
-Error('\P{In=/a/-000002.1}');
-Expect(1, 501, '\p{In: 000000002.1}', "");
-Expect(0, 501, '\p{^In: 000000002.1}', "");
-Expect(0, 501, '\P{In: 000000002.1}', "");
-Expect(1, 501, '\P{^In: 000000002.1}', "");
-Expect(0, 505, '\p{In: 000000002.1}', "");
-Expect(1, 505, '\p{^In: 000000002.1}', "");
-Expect(1, 505, '\P{In: 000000002.1}', "");
-Expect(0, 505, '\P{^In: 000000002.1}', "");
-Error('\p{Present_In=/a/004.1}');
-Error('\P{Present_In=/a/004.1}');
-Expect(1, 577, '\p{Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(0, 577, '\p{^Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(0, 577, '\P{Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(1, 577, '\P{^Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(0, 591, '\p{Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(1, 591, '\p{^Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(1, 591, '\P{Present_In=0_0_0_0_0_0_0_04.1}', "");
-Expect(0, 591, '\P{^Present_In=0_0_0_0_0_0_0_04.1}', "");
-Error('\p{In=:=_000 4.1}');
-Error('\P{In=:=_000 4.1}');
-Expect(1, 577, '\p{In=0000_0000_4.1}', "");
-Expect(0, 577, '\p{^In=0000_0000_4.1}', "");
-Expect(0, 577, '\P{In=0000_0000_4.1}', "");
-Expect(1, 577, '\P{^In=0000_0000_4.1}', "");
-Expect(0, 591, '\p{In=0000_0000_4.1}', "");
-Expect(1, 591, '\p{^In=0000_0000_4.1}', "");
-Expect(1, 591, '\P{In=0000_0000_4.1}', "");
-Expect(0, 591, '\P{^In=0000_0000_4.1}', "");
-Error('\p{Extender=:=Yes}');
-Error('\P{Extender=:=Yes}');
-Expect(1, 183, '\p{Extender=yes}', "");
-Expect(0, 183, '\p{^Extender=yes}', "");
-Expect(0, 183, '\P{Extender=yes}', "");
-Expect(1, 183, '\P{^Extender=yes}', "");
-Expect(0, 182, '\p{Extender=yes}', "");
-Expect(1, 182, '\p{^Extender=yes}', "");
-Expect(1, 182, '\P{Extender=yes}', "");
-Expect(0, 182, '\P{^Extender=yes}', "");
-Expect(1, 183, '\p{Extender=-YES}', "");
-Expect(0, 183, '\p{^Extender=-YES}', "");
-Expect(0, 183, '\P{Extender=-YES}', "");
-Expect(1, 183, '\P{^Extender=-YES}', "");
-Expect(0, 182, '\p{Extender=-YES}', "");
-Expect(1, 182, '\p{^Extender=-YES}', "");
-Expect(1, 182, '\P{Extender=-YES}', "");
-Expect(0, 182, '\P{^Extender=-YES}', "");
-Error('\p{Ext= /a/Y}');
-Error('\P{Ext= /a/Y}');
-Expect(1, 183, '\p{Ext=y}', "");
-Expect(0, 183, '\p{^Ext=y}', "");
-Expect(0, 183, '\P{Ext=y}', "");
-Expect(1, 183, '\P{^Ext=y}', "");
-Expect(0, 182, '\p{Ext=y}', "");
-Expect(1, 182, '\p{^Ext=y}', "");
-Expect(1, 182, '\P{Ext=y}', "");
-Expect(0, 182, '\P{^Ext=y}', "");
-Expect(1, 183, '\p{Ext= Y}', "");
-Expect(0, 183, '\p{^Ext= Y}', "");
-Expect(0, 183, '\P{Ext= Y}', "");
-Expect(1, 183, '\P{^Ext= Y}', "");
-Expect(0, 182, '\p{Ext= Y}', "");
-Expect(1, 182, '\p{^Ext= Y}', "");
-Expect(1, 182, '\P{Ext= Y}', "");
-Expect(0, 182, '\P{^Ext= Y}', "");
-Error('\p{Is_Extender=/a/_T}');
-Error('\P{Is_Extender=/a/_T}');
-Expect(1, 183, '\p{Is_Extender=t}', "");
-Expect(0, 183, '\p{^Is_Extender=t}', "");
-Expect(0, 183, '\P{Is_Extender=t}', "");
-Expect(1, 183, '\P{^Is_Extender=t}', "");
-Expect(0, 182, '\p{Is_Extender=t}', "");
-Expect(1, 182, '\p{^Is_Extender=t}', "");
-Expect(1, 182, '\P{Is_Extender=t}', "");
-Expect(0, 182, '\P{^Is_Extender=t}', "");
-Expect(1, 183, '\p{Is_Extender: T}', "");
-Expect(0, 183, '\p{^Is_Extender: T}', "");
-Expect(0, 183, '\P{Is_Extender: T}', "");
-Expect(1, 183, '\P{^Is_Extender: T}', "");
-Expect(0, 182, '\p{Is_Extender: T}', "");
-Expect(1, 182, '\p{^Is_Extender: T}', "");
-Expect(1, 182, '\P{Is_Extender: T}', "");
-Expect(0, 182, '\P{^Is_Extender: T}', "");
-Error('\p{Is_Ext= -True/a/}');
-Error('\P{Is_Ext= -True/a/}');
-Expect(1, 183, '\p{Is_Ext=true}', "");
-Expect(0, 183, '\p{^Is_Ext=true}', "");
-Expect(0, 183, '\P{Is_Ext=true}', "");
-Expect(1, 183, '\P{^Is_Ext=true}', "");
-Expect(0, 182, '\p{Is_Ext=true}', "");
-Expect(1, 182, '\p{^Is_Ext=true}', "");
-Expect(1, 182, '\P{Is_Ext=true}', "");
-Expect(0, 182, '\P{^Is_Ext=true}', "");
-Expect(1, 183, '\p{Is_Ext=--true}', "");
-Expect(0, 183, '\p{^Is_Ext=--true}', "");
-Expect(0, 183, '\P{Is_Ext=--true}', "");
-Expect(1, 183, '\P{^Is_Ext=--true}', "");
-Expect(0, 182, '\p{Is_Ext=--true}', "");
-Expect(1, 182, '\p{^Is_Ext=--true}', "");
-Expect(1, 182, '\P{Is_Ext=--true}', "");
-Expect(0, 182, '\P{^Is_Ext=--true}', "");
-Error('\p{Extender= /a/no}');
-Error('\P{Extender= /a/no}');
-Expect(1, 182, '\p{Extender:no}', "");
-Expect(0, 182, '\p{^Extender:no}', "");
-Expect(0, 182, '\P{Extender:no}', "");
-Expect(1, 182, '\P{^Extender:no}', "");
-Expect(0, 183, '\p{Extender:no}', "");
-Expect(1, 183, '\p{^Extender:no}', "");
-Expect(1, 183, '\P{Extender:no}', "");
-Expect(0, 183, '\P{^Extender:no}', "");
-Expect(1, 182, '\p{Extender= NO}', "");
-Expect(0, 182, '\p{^Extender= NO}', "");
-Expect(0, 182, '\P{Extender= NO}', "");
-Expect(1, 182, '\P{^Extender= NO}', "");
-Expect(0, 183, '\p{Extender= NO}', "");
-Expect(1, 183, '\p{^Extender= NO}', "");
-Expect(1, 183, '\P{Extender= NO}', "");
-Expect(0, 183, '\P{^Extender= NO}', "");
-Error('\p{Ext= -N:=}');
-Error('\P{Ext= -N:=}');
-Expect(1, 182, '\p{Ext=n}', "");
-Expect(0, 182, '\p{^Ext=n}', "");
-Expect(0, 182, '\P{Ext=n}', "");
-Expect(1, 182, '\P{^Ext=n}', "");
-Expect(0, 183, '\p{Ext=n}', "");
-Expect(1, 183, '\p{^Ext=n}', "");
-Expect(1, 183, '\P{Ext=n}', "");
-Expect(0, 183, '\P{^Ext=n}', "");
-Expect(1, 182, '\p{Ext= n}', "");
-Expect(0, 182, '\p{^Ext= n}', "");
-Expect(0, 182, '\P{Ext= n}', "");
-Expect(1, 182, '\P{^Ext= n}', "");
-Expect(0, 183, '\p{Ext= n}', "");
-Expect(1, 183, '\p{^Ext= n}', "");
-Expect(1, 183, '\P{Ext= n}', "");
-Expect(0, 183, '\P{^Ext= n}', "");
-Error('\p{Is_Extender=-F/a/}');
-Error('\P{Is_Extender=-F/a/}');
-Expect(1, 182, '\p{Is_Extender=f}', "");
-Expect(0, 182, '\p{^Is_Extender=f}', "");
-Expect(0, 182, '\P{Is_Extender=f}', "");
-Expect(1, 182, '\P{^Is_Extender=f}', "");
-Expect(0, 183, '\p{Is_Extender=f}', "");
-Expect(1, 183, '\p{^Is_Extender=f}', "");
-Expect(1, 183, '\P{Is_Extender=f}', "");
-Expect(0, 183, '\P{^Is_Extender=f}', "");
-Expect(1, 182, '\p{Is_Extender= F}', "");
-Expect(0, 182, '\p{^Is_Extender= F}', "");
-Expect(0, 182, '\P{Is_Extender= F}', "");
-Expect(1, 182, '\P{^Is_Extender= F}', "");
-Expect(0, 183, '\p{Is_Extender= F}', "");
-Expect(1, 183, '\p{^Is_Extender= F}', "");
-Expect(1, 183, '\P{Is_Extender= F}', "");
-Expect(0, 183, '\P{^Is_Extender= F}', "");
-Error('\p{Is_Ext= False:=}');
-Error('\P{Is_Ext= False:=}');
-Expect(1, 182, '\p{Is_Ext=false}', "");
-Expect(0, 182, '\p{^Is_Ext=false}', "");
-Expect(0, 182, '\P{Is_Ext=false}', "");
-Expect(1, 182, '\P{^Is_Ext=false}', "");
-Expect(0, 183, '\p{Is_Ext=false}', "");
-Expect(1, 183, '\p{^Is_Ext=false}', "");
-Expect(1, 183, '\P{Is_Ext=false}', "");
-Expect(0, 183, '\P{^Is_Ext=false}', "");
-Expect(1, 182, '\p{Is_Ext= false}', "");
-Expect(0, 182, '\p{^Is_Ext= false}', "");
-Expect(0, 182, '\P{Is_Ext= false}', "");
-Expect(1, 182, '\P{^Is_Ext= false}', "");
-Expect(0, 183, '\p{Is_Ext= false}', "");
-Expect(1, 183, '\p{^Is_Ext= false}', "");
-Expect(1, 183, '\P{Is_Ext= false}', "");
-Expect(0, 183, '\P{^Is_Ext= false}', "");
-Error('\p{IDS_Trinary_Operator=:=Yes}');
-Error('\P{IDS_Trinary_Operator=:=Yes}');
-Expect(1, 12275, '\p{IDS_Trinary_Operator=yes}', "");
-Expect(0, 12275, '\p{^IDS_Trinary_Operator=yes}', "");
-Expect(0, 12275, '\P{IDS_Trinary_Operator=yes}', "");
-Expect(1, 12275, '\P{^IDS_Trinary_Operator=yes}', "");
-Expect(0, 12273, '\p{IDS_Trinary_Operator=yes}', "");
-Expect(1, 12273, '\p{^IDS_Trinary_Operator=yes}', "");
-Expect(1, 12273, '\P{IDS_Trinary_Operator=yes}', "");
-Expect(0, 12273, '\P{^IDS_Trinary_Operator=yes}', "");
-Expect(1, 12275, '\p{IDS_Trinary_Operator= YES}', "");
-Expect(0, 12275, '\p{^IDS_Trinary_Operator= YES}', "");
-Expect(0, 12275, '\P{IDS_Trinary_Operator= YES}', "");
-Expect(1, 12275, '\P{^IDS_Trinary_Operator= YES}', "");
-Expect(0, 12273, '\p{IDS_Trinary_Operator= YES}', "");
-Expect(1, 12273, '\p{^IDS_Trinary_Operator= YES}', "");
-Expect(1, 12273, '\P{IDS_Trinary_Operator= YES}', "");
-Expect(0, 12273, '\P{^IDS_Trinary_Operator= YES}', "");
-Error('\p{IDST=:= -y}');
-Error('\P{IDST=:= -y}');
-Expect(1, 12275, '\p{IDST=y}', "");
-Expect(0, 12275, '\p{^IDST=y}', "");
-Expect(0, 12275, '\P{IDST=y}', "");
-Expect(1, 12275, '\P{^IDST=y}', "");
-Expect(0, 12273, '\p{IDST=y}', "");
-Expect(1, 12273, '\p{^IDST=y}', "");
-Expect(1, 12273, '\P{IDST=y}', "");
-Expect(0, 12273, '\P{^IDST=y}', "");
-Expect(1, 12275, '\p{IDST=__Y}', "");
-Expect(0, 12275, '\p{^IDST=__Y}', "");
-Expect(0, 12275, '\P{IDST=__Y}', "");
-Expect(1, 12275, '\P{^IDST=__Y}', "");
-Expect(0, 12273, '\p{IDST=__Y}', "");
-Expect(1, 12273, '\p{^IDST=__Y}', "");
-Expect(1, 12273, '\P{IDST=__Y}', "");
-Expect(0, 12273, '\P{^IDST=__Y}', "");
-Error('\p{Is_IDS_Trinary_Operator=:= _T}');
-Error('\P{Is_IDS_Trinary_Operator=:= _T}');
-Expect(1, 12275, '\p{Is_IDS_Trinary_Operator=t}', "");
-Expect(0, 12275, '\p{^Is_IDS_Trinary_Operator=t}', "");
-Expect(0, 12275, '\P{Is_IDS_Trinary_Operator=t}', "");
-Expect(1, 12275, '\P{^Is_IDS_Trinary_Operator=t}', "");
-Expect(0, 12273, '\p{Is_IDS_Trinary_Operator=t}', "");
-Expect(1, 12273, '\p{^Is_IDS_Trinary_Operator=t}', "");
-Expect(1, 12273, '\P{Is_IDS_Trinary_Operator=t}', "");
-Expect(0, 12273, '\P{^Is_IDS_Trinary_Operator=t}', "");
-Expect(1, 12275, '\p{Is_IDS_Trinary_Operator= T}', "");
-Expect(0, 12275, '\p{^Is_IDS_Trinary_Operator= T}', "");
-Expect(0, 12275, '\P{Is_IDS_Trinary_Operator= T}', "");
-Expect(1, 12275, '\P{^Is_IDS_Trinary_Operator= T}', "");
-Expect(0, 12273, '\p{Is_IDS_Trinary_Operator= T}', "");
-Expect(1, 12273, '\p{^Is_IDS_Trinary_Operator= T}', "");
-Expect(1, 12273, '\P{Is_IDS_Trinary_Operator= T}', "");
-Expect(0, 12273, '\P{^Is_IDS_Trinary_Operator= T}', "");
-Error('\p{Is_IDST: _TRUE:=}');
-Error('\P{Is_IDST: _TRUE:=}');
-Expect(1, 12275, '\p{Is_IDST=true}', "");
-Expect(0, 12275, '\p{^Is_IDST=true}', "");
-Expect(0, 12275, '\P{Is_IDST=true}', "");
-Expect(1, 12275, '\P{^Is_IDST=true}', "");
-Expect(0, 12273, '\p{Is_IDST=true}', "");
-Expect(1, 12273, '\p{^Is_IDST=true}', "");
-Expect(1, 12273, '\P{Is_IDST=true}', "");
-Expect(0, 12273, '\P{^Is_IDST=true}', "");
-Expect(1, 12275, '\p{Is_IDST=-True}', "");
-Expect(0, 12275, '\p{^Is_IDST=-True}', "");
-Expect(0, 12275, '\P{Is_IDST=-True}', "");
-Expect(1, 12275, '\P{^Is_IDST=-True}', "");
-Expect(0, 12273, '\p{Is_IDST=-True}', "");
-Expect(1, 12273, '\p{^Is_IDST=-True}', "");
-Expect(1, 12273, '\P{Is_IDST=-True}', "");
-Expect(0, 12273, '\P{^Is_IDST=-True}', "");
-Error('\p{IDS_Trinary_Operator=__no:=}');
-Error('\P{IDS_Trinary_Operator=__no:=}');
-Expect(1, 12273, '\p{IDS_Trinary_Operator:no}', "");
-Expect(0, 12273, '\p{^IDS_Trinary_Operator:no}', "");
-Expect(0, 12273, '\P{IDS_Trinary_Operator:no}', "");
-Expect(1, 12273, '\P{^IDS_Trinary_Operator:no}', "");
-Expect(0, 12275, '\p{IDS_Trinary_Operator:no}', "");
-Expect(1, 12275, '\p{^IDS_Trinary_Operator:no}', "");
-Expect(1, 12275, '\P{IDS_Trinary_Operator:no}', "");
-Expect(0, 12275, '\P{^IDS_Trinary_Operator:no}', "");
-Expect(1, 12273, '\p{IDS_Trinary_Operator=_-No}', "");
-Expect(0, 12273, '\p{^IDS_Trinary_Operator=_-No}', "");
-Expect(0, 12273, '\P{IDS_Trinary_Operator=_-No}', "");
-Expect(1, 12273, '\P{^IDS_Trinary_Operator=_-No}', "");
-Expect(0, 12275, '\p{IDS_Trinary_Operator=_-No}', "");
-Expect(1, 12275, '\p{^IDS_Trinary_Operator=_-No}', "");
-Expect(1, 12275, '\P{IDS_Trinary_Operator=_-No}', "");
-Expect(0, 12275, '\P{^IDS_Trinary_Operator=_-No}', "");
-Error('\p{IDST=_:=N}');
-Error('\P{IDST=_:=N}');
-Expect(1, 12273, '\p{IDST=n}', "");
-Expect(0, 12273, '\p{^IDST=n}', "");
-Expect(0, 12273, '\P{IDST=n}', "");
-Expect(1, 12273, '\P{^IDST=n}', "");
-Expect(0, 12275, '\p{IDST=n}', "");
-Expect(1, 12275, '\p{^IDST=n}', "");
-Expect(1, 12275, '\P{IDST=n}', "");
-Expect(0, 12275, '\P{^IDST=n}', "");
-Expect(1, 12273, '\p{IDST=_ N}', "");
-Expect(0, 12273, '\p{^IDST=_ N}', "");
-Expect(0, 12273, '\P{IDST=_ N}', "");
-Expect(1, 12273, '\P{^IDST=_ N}', "");
-Expect(0, 12275, '\p{IDST=_ N}', "");
-Expect(1, 12275, '\p{^IDST=_ N}', "");
-Expect(1, 12275, '\P{IDST=_ N}', "");
-Expect(0, 12275, '\P{^IDST=_ N}', "");
-Error('\p{Is_IDS_Trinary_Operator=- f:=}');
-Error('\P{Is_IDS_Trinary_Operator=- f:=}');
-Expect(1, 12273, '\p{Is_IDS_Trinary_Operator=f}', "");
-Expect(0, 12273, '\p{^Is_IDS_Trinary_Operator=f}', "");
-Expect(0, 12273, '\P{Is_IDS_Trinary_Operator=f}', "");
-Expect(1, 12273, '\P{^Is_IDS_Trinary_Operator=f}', "");
-Expect(0, 12275, '\p{Is_IDS_Trinary_Operator=f}', "");
-Expect(1, 12275, '\p{^Is_IDS_Trinary_Operator=f}', "");
-Expect(1, 12275, '\P{Is_IDS_Trinary_Operator=f}', "");
-Expect(0, 12275, '\P{^Is_IDS_Trinary_Operator=f}', "");
-Expect(1, 12273, '\p{Is_IDS_Trinary_Operator= f}', "");
-Expect(0, 12273, '\p{^Is_IDS_Trinary_Operator= f}', "");
-Expect(0, 12273, '\P{Is_IDS_Trinary_Operator= f}', "");
-Expect(1, 12273, '\P{^Is_IDS_Trinary_Operator= f}', "");
-Expect(0, 12275, '\p{Is_IDS_Trinary_Operator= f}', "");
-Expect(1, 12275, '\p{^Is_IDS_Trinary_Operator= f}', "");
-Expect(1, 12275, '\P{Is_IDS_Trinary_Operator= f}', "");
-Expect(0, 12275, '\P{^Is_IDS_Trinary_Operator= f}', "");
-Error('\p{Is_IDST= FALSE:=}');
-Error('\P{Is_IDST= FALSE:=}');
-Expect(1, 12273, '\p{Is_IDST=false}', "");
-Expect(0, 12273, '\p{^Is_IDST=false}', "");
-Expect(0, 12273, '\P{Is_IDST=false}', "");
-Expect(1, 12273, '\P{^Is_IDST=false}', "");
-Expect(0, 12275, '\p{Is_IDST=false}', "");
-Expect(1, 12275, '\p{^Is_IDST=false}', "");
-Expect(1, 12275, '\P{Is_IDST=false}', "");
-Expect(0, 12275, '\P{^Is_IDST=false}', "");
-Expect(1, 12273, '\p{Is_IDST=- False}', "");
-Expect(0, 12273, '\p{^Is_IDST=- False}', "");
-Expect(0, 12273, '\P{Is_IDST=- False}', "");
-Expect(1, 12273, '\P{^Is_IDST=- False}', "");
-Expect(0, 12275, '\p{Is_IDST=- False}', "");
-Expect(1, 12275, '\p{^Is_IDST=- False}', "");
-Expect(1, 12275, '\P{Is_IDST=- False}', "");
-Expect(0, 12275, '\P{^Is_IDST=- False}', "");
-Error('\p{Composition_Exclusion= Yes:=}');
-Error('\P{Composition_Exclusion= Yes:=}');
-Expect(1, 2399, '\p{Composition_Exclusion=yes}', "");
-Expect(0, 2399, '\p{^Composition_Exclusion=yes}', "");
-Expect(0, 2399, '\P{Composition_Exclusion=yes}', "");
-Expect(1, 2399, '\P{^Composition_Exclusion=yes}', "");
-Expect(0, 2391, '\p{Composition_Exclusion=yes}', "");
-Expect(1, 2391, '\p{^Composition_Exclusion=yes}', "");
-Expect(1, 2391, '\P{Composition_Exclusion=yes}', "");
-Expect(0, 2391, '\P{^Composition_Exclusion=yes}', "");
-Expect(1, 2399, '\p{Composition_Exclusion: -YES}', "");
-Expect(0, 2399, '\p{^Composition_Exclusion: -YES}', "");
-Expect(0, 2399, '\P{Composition_Exclusion: -YES}', "");
-Expect(1, 2399, '\P{^Composition_Exclusion: -YES}', "");
-Expect(0, 2391, '\p{Composition_Exclusion: -YES}', "");
-Expect(1, 2391, '\p{^Composition_Exclusion: -YES}', "");
-Expect(1, 2391, '\P{Composition_Exclusion: -YES}', "");
-Expect(0, 2391, '\P{^Composition_Exclusion: -YES}', "");
-Error('\p{CE: /a/_-y}');
-Error('\P{CE: /a/_-y}');
-Expect(1, 2399, '\p{CE=y}', "");
-Expect(0, 2399, '\p{^CE=y}', "");
-Expect(0, 2399, '\P{CE=y}', "");
-Expect(1, 2399, '\P{^CE=y}', "");
-Expect(0, 2391, '\p{CE=y}', "");
-Expect(1, 2391, '\p{^CE=y}', "");
-Expect(1, 2391, '\P{CE=y}', "");
-Expect(0, 2391, '\P{^CE=y}', "");
-Expect(1, 2399, '\p{CE=_y}', "");
-Expect(0, 2399, '\p{^CE=_y}', "");
-Expect(0, 2399, '\P{CE=_y}', "");
-Expect(1, 2399, '\P{^CE=_y}', "");
-Expect(0, 2391, '\p{CE=_y}', "");
-Expect(1, 2391, '\p{^CE=_y}', "");
-Expect(1, 2391, '\P{CE=_y}', "");
-Expect(0, 2391, '\P{^CE=_y}', "");
-Error('\p{Is_Composition_Exclusion: := T}');
-Error('\P{Is_Composition_Exclusion: := T}');
-Expect(1, 2399, '\p{Is_Composition_Exclusion=t}', "");
-Expect(0, 2399, '\p{^Is_Composition_Exclusion=t}', "");
-Expect(0, 2399, '\P{Is_Composition_Exclusion=t}', "");
-Expect(1, 2399, '\P{^Is_Composition_Exclusion=t}', "");
-Expect(0, 2391, '\p{Is_Composition_Exclusion=t}', "");
-Expect(1, 2391, '\p{^Is_Composition_Exclusion=t}', "");
-Expect(1, 2391, '\P{Is_Composition_Exclusion=t}', "");
-Expect(0, 2391, '\P{^Is_Composition_Exclusion=t}', "");
-Expect(1, 2399, '\p{Is_Composition_Exclusion=-T}', "");
-Expect(0, 2399, '\p{^Is_Composition_Exclusion=-T}', "");
-Expect(0, 2399, '\P{Is_Composition_Exclusion=-T}', "");
-Expect(1, 2399, '\P{^Is_Composition_Exclusion=-T}', "");
-Expect(0, 2391, '\p{Is_Composition_Exclusion=-T}', "");
-Expect(1, 2391, '\p{^Is_Composition_Exclusion=-T}', "");
-Expect(1, 2391, '\P{Is_Composition_Exclusion=-T}', "");
-Expect(0, 2391, '\P{^Is_Composition_Exclusion=-T}', "");
-Error('\p{Is_CE=/a/- TRUE}');
-Error('\P{Is_CE=/a/- TRUE}');
-Expect(1, 2399, '\p{Is_CE=true}', "");
-Expect(0, 2399, '\p{^Is_CE=true}', "");
-Expect(0, 2399, '\P{Is_CE=true}', "");
-Expect(1, 2399, '\P{^Is_CE=true}', "");
-Expect(0, 2391, '\p{Is_CE=true}', "");
-Expect(1, 2391, '\p{^Is_CE=true}', "");
-Expect(1, 2391, '\P{Is_CE=true}', "");
-Expect(0, 2391, '\P{^Is_CE=true}', "");
-Expect(1, 2399, '\p{Is_CE= True}', "");
-Expect(0, 2399, '\p{^Is_CE= True}', "");
-Expect(0, 2399, '\P{Is_CE= True}', "");
-Expect(1, 2399, '\P{^Is_CE= True}', "");
-Expect(0, 2391, '\p{Is_CE= True}', "");
-Expect(1, 2391, '\p{^Is_CE= True}', "");
-Expect(1, 2391, '\P{Is_CE= True}', "");
-Expect(0, 2391, '\P{^Is_CE= True}', "");
-Error('\p{Composition_Exclusion=/a/No}');
-Error('\P{Composition_Exclusion=/a/No}');
-Expect(1, 2391, '\p{Composition_Exclusion=no}', "");
-Expect(0, 2391, '\p{^Composition_Exclusion=no}', "");
-Expect(0, 2391, '\P{Composition_Exclusion=no}', "");
-Expect(1, 2391, '\P{^Composition_Exclusion=no}', "");
-Expect(0, 2399, '\p{Composition_Exclusion=no}', "");
-Expect(1, 2399, '\p{^Composition_Exclusion=no}', "");
-Expect(1, 2399, '\P{Composition_Exclusion=no}', "");
-Expect(0, 2399, '\P{^Composition_Exclusion=no}', "");
-Expect(1, 2391, '\p{Composition_Exclusion:-_No}', "");
-Expect(0, 2391, '\p{^Composition_Exclusion:-_No}', "");
-Expect(0, 2391, '\P{Composition_Exclusion:-_No}', "");
-Expect(1, 2391, '\P{^Composition_Exclusion:-_No}', "");
-Expect(0, 2399, '\p{Composition_Exclusion:-_No}', "");
-Expect(1, 2399, '\p{^Composition_Exclusion:-_No}', "");
-Expect(1, 2399, '\P{Composition_Exclusion:-_No}', "");
-Expect(0, 2399, '\P{^Composition_Exclusion:-_No}', "");
-Error('\p{CE=/a/--N}');
-Error('\P{CE=/a/--N}');
-Expect(1, 2391, '\p{CE=n}', "");
-Expect(0, 2391, '\p{^CE=n}', "");
-Expect(0, 2391, '\P{CE=n}', "");
-Expect(1, 2391, '\P{^CE=n}', "");
-Expect(0, 2399, '\p{CE=n}', "");
-Expect(1, 2399, '\p{^CE=n}', "");
-Expect(1, 2399, '\P{CE=n}', "");
-Expect(0, 2399, '\P{^CE=n}', "");
-Expect(1, 2391, '\p{CE=- n}', "");
-Expect(0, 2391, '\p{^CE=- n}', "");
-Expect(0, 2391, '\P{CE=- n}', "");
-Expect(1, 2391, '\P{^CE=- n}', "");
-Expect(0, 2399, '\p{CE=- n}', "");
-Expect(1, 2399, '\p{^CE=- n}', "");
-Expect(1, 2399, '\P{CE=- n}', "");
-Expect(0, 2399, '\P{^CE=- n}', "");
-Error('\p{Is_Composition_Exclusion=-:=F}');
-Error('\P{Is_Composition_Exclusion=-:=F}');
-Expect(1, 2391, '\p{Is_Composition_Exclusion=f}', "");
-Expect(0, 2391, '\p{^Is_Composition_Exclusion=f}', "");
-Expect(0, 2391, '\P{Is_Composition_Exclusion=f}', "");
-Expect(1, 2391, '\P{^Is_Composition_Exclusion=f}', "");
-Expect(0, 2399, '\p{Is_Composition_Exclusion=f}', "");
-Expect(1, 2399, '\p{^Is_Composition_Exclusion=f}', "");
-Expect(1, 2399, '\P{Is_Composition_Exclusion=f}', "");
-Expect(0, 2399, '\P{^Is_Composition_Exclusion=f}', "");
-Expect(1, 2391, '\p{Is_Composition_Exclusion=- F}', "");
-Expect(0, 2391, '\p{^Is_Composition_Exclusion=- F}', "");
-Expect(0, 2391, '\P{Is_Composition_Exclusion=- F}', "");
-Expect(1, 2391, '\P{^Is_Composition_Exclusion=- F}', "");
-Expect(0, 2399, '\p{Is_Composition_Exclusion=- F}', "");
-Expect(1, 2399, '\p{^Is_Composition_Exclusion=- F}', "");
-Expect(1, 2399, '\P{Is_Composition_Exclusion=- F}', "");
-Expect(0, 2399, '\P{^Is_Composition_Exclusion=- F}', "");
-Error('\p{Is_CE= :=False}');
-Error('\P{Is_CE= :=False}');
-Expect(1, 2391, '\p{Is_CE=false}', "");
-Expect(0, 2391, '\p{^Is_CE=false}', "");
-Expect(0, 2391, '\P{Is_CE=false}', "");
-Expect(1, 2391, '\P{^Is_CE=false}', "");
-Expect(0, 2399, '\p{Is_CE=false}', "");
-Expect(1, 2399, '\p{^Is_CE=false}', "");
-Expect(1, 2399, '\P{Is_CE=false}', "");
-Expect(0, 2399, '\P{^Is_CE=false}', "");
-Expect(1, 2391, '\p{Is_CE= _false}', "");
-Expect(0, 2391, '\p{^Is_CE= _false}', "");
-Expect(0, 2391, '\P{Is_CE= _false}', "");
-Expect(1, 2391, '\P{^Is_CE= _false}', "");
-Expect(0, 2399, '\p{Is_CE= _false}', "");
-Expect(1, 2399, '\p{^Is_CE= _false}', "");
-Expect(1, 2399, '\P{Is_CE= _false}', "");
-Expect(0, 2399, '\P{^Is_CE= _false}', "");
-Error('\p{STerm: Yes:=}');
-Error('\P{STerm: Yes:=}');
-Expect(1, 33, '\p{STerm=yes}', "");
-Expect(0, 33, '\p{^STerm=yes}', "");
-Expect(0, 33, '\P{STerm=yes}', "");
-Expect(1, 33, '\P{^STerm=yes}', "");
-Expect(0, 32, '\p{STerm=yes}', "");
-Expect(1, 32, '\p{^STerm=yes}', "");
-Expect(1, 32, '\P{STerm=yes}', "");
-Expect(0, 32, '\P{^STerm=yes}', "");
-Expect(1, 33, '\p{STerm= Yes}', "");
-Expect(0, 33, '\p{^STerm= Yes}', "");
-Expect(0, 33, '\P{STerm= Yes}', "");
-Expect(1, 33, '\P{^STerm= Yes}', "");
-Expect(0, 32, '\p{STerm= Yes}', "");
-Expect(1, 32, '\p{^STerm= Yes}', "");
-Expect(1, 32, '\P{STerm= Yes}', "");
-Expect(0, 32, '\P{^STerm= Yes}', "");
-Error('\p{Is_STerm: := Y}');
-Error('\P{Is_STerm: := Y}');
-Expect(1, 33, '\p{Is_STerm=y}', "");
-Expect(0, 33, '\p{^Is_STerm=y}', "");
-Expect(0, 33, '\P{Is_STerm=y}', "");
-Expect(1, 33, '\P{^Is_STerm=y}', "");
-Expect(0, 32, '\p{Is_STerm=y}', "");
-Expect(1, 32, '\p{^Is_STerm=y}', "");
-Expect(1, 32, '\P{Is_STerm=y}', "");
-Expect(0, 32, '\P{^Is_STerm=y}', "");
-Expect(1, 33, '\p{Is_STerm= Y}', "");
-Expect(0, 33, '\p{^Is_STerm= Y}', "");
-Expect(0, 33, '\P{Is_STerm= Y}', "");
-Expect(1, 33, '\P{^Is_STerm= Y}', "");
-Expect(0, 32, '\p{Is_STerm= Y}', "");
-Expect(1, 32, '\p{^Is_STerm= Y}', "");
-Expect(1, 32, '\P{Is_STerm= Y}', "");
-Expect(0, 32, '\P{^Is_STerm= Y}', "");
-Error('\p{STerm: -/a/T}');
-Error('\P{STerm: -/a/T}');
-Expect(1, 33, '\p{STerm=t}', "");
-Expect(0, 33, '\p{^STerm=t}', "");
-Expect(0, 33, '\P{STerm=t}', "");
-Expect(1, 33, '\P{^STerm=t}', "");
-Expect(0, 32, '\p{STerm=t}', "");
-Expect(1, 32, '\p{^STerm=t}', "");
-Expect(1, 32, '\P{STerm=t}', "");
-Expect(0, 32, '\P{^STerm=t}', "");
-Expect(1, 33, '\p{STerm=-T}', "");
-Expect(0, 33, '\p{^STerm=-T}', "");
-Expect(0, 33, '\P{STerm=-T}', "");
-Expect(1, 33, '\P{^STerm=-T}', "");
-Expect(0, 32, '\p{STerm=-T}', "");
-Expect(1, 32, '\p{^STerm=-T}', "");
-Expect(1, 32, '\P{STerm=-T}', "");
-Expect(0, 32, '\P{^STerm=-T}', "");
-Error('\p{Is_STerm=/a/-True}');
-Error('\P{Is_STerm=/a/-True}');
-Expect(1, 33, '\p{Is_STerm=true}', "");
-Expect(0, 33, '\p{^Is_STerm=true}', "");
-Expect(0, 33, '\P{Is_STerm=true}', "");
-Expect(1, 33, '\P{^Is_STerm=true}', "");
-Expect(0, 32, '\p{Is_STerm=true}', "");
-Expect(1, 32, '\p{^Is_STerm=true}', "");
-Expect(1, 32, '\P{Is_STerm=true}', "");
-Expect(0, 32, '\P{^Is_STerm=true}', "");
-Expect(1, 33, '\p{Is_STerm= _TRUE}', "");
-Expect(0, 33, '\p{^Is_STerm= _TRUE}', "");
-Expect(0, 33, '\P{Is_STerm= _TRUE}', "");
-Expect(1, 33, '\P{^Is_STerm= _TRUE}', "");
-Expect(0, 32, '\p{Is_STerm= _TRUE}', "");
-Expect(1, 32, '\p{^Is_STerm= _TRUE}', "");
-Expect(1, 32, '\P{Is_STerm= _TRUE}', "");
-Expect(0, 32, '\P{^Is_STerm= _TRUE}', "");
-Error('\p{STerm= /a/NO}');
-Error('\P{STerm= /a/NO}');
-Expect(1, 32, '\p{STerm=no}', "");
-Expect(0, 32, '\p{^STerm=no}', "");
-Expect(0, 32, '\P{STerm=no}', "");
-Expect(1, 32, '\P{^STerm=no}', "");
-Expect(0, 33, '\p{STerm=no}', "");
-Expect(1, 33, '\p{^STerm=no}', "");
-Expect(1, 33, '\P{STerm=no}', "");
-Expect(0, 33, '\P{^STerm=no}', "");
-Expect(1, 32, '\p{STerm=_ No}', "");
-Expect(0, 32, '\p{^STerm=_ No}', "");
-Expect(0, 32, '\P{STerm=_ No}', "");
-Expect(1, 32, '\P{^STerm=_ No}', "");
-Expect(0, 33, '\p{STerm=_ No}', "");
-Expect(1, 33, '\p{^STerm=_ No}', "");
-Expect(1, 33, '\P{STerm=_ No}', "");
-Expect(0, 33, '\P{^STerm=_ No}', "");
-Error('\p{Is_STerm=:=_ N}');
-Error('\P{Is_STerm=:=_ N}');
-Expect(1, 32, '\p{Is_STerm=n}', "");
-Expect(0, 32, '\p{^Is_STerm=n}', "");
-Expect(0, 32, '\P{Is_STerm=n}', "");
-Expect(1, 32, '\P{^Is_STerm=n}', "");
-Expect(0, 33, '\p{Is_STerm=n}', "");
-Expect(1, 33, '\p{^Is_STerm=n}', "");
-Expect(1, 33, '\P{Is_STerm=n}', "");
-Expect(0, 33, '\P{^Is_STerm=n}', "");
-Expect(1, 32, '\p{Is_STerm=_ N}', "");
-Expect(0, 32, '\p{^Is_STerm=_ N}', "");
-Expect(0, 32, '\P{Is_STerm=_ N}', "");
-Expect(1, 32, '\P{^Is_STerm=_ N}', "");
-Expect(0, 33, '\p{Is_STerm=_ N}', "");
-Expect(1, 33, '\p{^Is_STerm=_ N}', "");
-Expect(1, 33, '\P{Is_STerm=_ N}', "");
-Expect(0, 33, '\P{^Is_STerm=_ N}', "");
-Error('\p{STerm= -F:=}');
-Error('\P{STerm= -F:=}');
-Expect(1, 32, '\p{STerm=f}', "");
-Expect(0, 32, '\p{^STerm=f}', "");
-Expect(0, 32, '\P{STerm=f}', "");
-Expect(1, 32, '\P{^STerm=f}', "");
-Expect(0, 33, '\p{STerm=f}', "");
-Expect(1, 33, '\p{^STerm=f}', "");
-Expect(1, 33, '\P{STerm=f}', "");
-Expect(0, 33, '\P{^STerm=f}', "");
-Expect(1, 32, '\p{STerm= F}', "");
-Expect(0, 32, '\p{^STerm= F}', "");
-Expect(0, 32, '\P{STerm= F}', "");
-Expect(1, 32, '\P{^STerm= F}', "");
-Expect(0, 33, '\p{STerm= F}', "");
-Expect(1, 33, '\p{^STerm= F}', "");
-Expect(1, 33, '\P{STerm= F}', "");
-Expect(0, 33, '\P{^STerm= F}', "");
-Error('\p{Is_STerm=:= -False}');
-Error('\P{Is_STerm=:= -False}');
-Expect(1, 32, '\p{Is_STerm: false}', "");
-Expect(0, 32, '\p{^Is_STerm: false}', "");
-Expect(0, 32, '\P{Is_STerm: false}', "");
-Expect(1, 32, '\P{^Is_STerm: false}', "");
-Expect(0, 33, '\p{Is_STerm: false}', "");
-Expect(1, 33, '\p{^Is_STerm: false}', "");
-Expect(1, 33, '\P{Is_STerm: false}', "");
-Expect(0, 33, '\P{^Is_STerm: false}', "");
-Expect(1, 32, '\p{Is_STerm= -false}', "");
-Expect(0, 32, '\p{^Is_STerm= -false}', "");
-Expect(0, 32, '\P{Is_STerm= -false}', "");
-Expect(1, 32, '\P{^Is_STerm= -false}', "");
-Expect(0, 33, '\p{Is_STerm= -false}', "");
-Expect(1, 33, '\p{^Is_STerm= -false}', "");
-Expect(1, 33, '\P{Is_STerm= -false}', "");
-Expect(0, 33, '\P{^Is_STerm= -false}', "");
-Error('\p{Decomposition_Type=--FRACTION/a/}');
-Error('\P{Decomposition_Type=--FRACTION/a/}');
-Expect(1, 190, '\p{Decomposition_Type=fraction}', "");
-Expect(0, 190, '\p{^Decomposition_Type=fraction}', "");
-Expect(0, 190, '\P{Decomposition_Type=fraction}', "");
-Expect(1, 190, '\P{^Decomposition_Type=fraction}', "");
-Expect(0, 187, '\p{Decomposition_Type=fraction}', "");
-Expect(1, 187, '\p{^Decomposition_Type=fraction}', "");
-Expect(1, 187, '\P{Decomposition_Type=fraction}', "");
-Expect(0, 187, '\P{^Decomposition_Type=fraction}', "");
-Expect(1, 190, '\p{Decomposition_Type= -Fraction}', "");
-Expect(0, 190, '\p{^Decomposition_Type= -Fraction}', "");
-Expect(0, 190, '\P{Decomposition_Type= -Fraction}', "");
-Expect(1, 190, '\P{^Decomposition_Type= -Fraction}', "");
-Expect(0, 187, '\p{Decomposition_Type= -Fraction}', "");
-Expect(1, 187, '\p{^Decomposition_Type= -Fraction}', "");
-Expect(1, 187, '\P{Decomposition_Type= -Fraction}', "");
-Expect(0, 187, '\P{^Decomposition_Type= -Fraction}', "");
-Error('\p{Dt= fra:=}');
-Error('\P{Dt= fra:=}');
-Expect(1, 190, '\p{Dt:fra}', "");
-Expect(0, 190, '\p{^Dt:fra}', "");
-Expect(0, 190, '\P{Dt:fra}', "");
-Expect(1, 190, '\P{^Dt:fra}', "");
-Expect(0, 187, '\p{Dt:fra}', "");
-Expect(1, 187, '\p{^Dt:fra}', "");
-Expect(1, 187, '\P{Dt:fra}', "");
-Expect(0, 187, '\P{^Dt:fra}', "");
-Expect(1, 190, '\p{Dt= Fra}', "");
-Expect(0, 190, '\p{^Dt= Fra}', "");
-Expect(0, 190, '\P{Dt= Fra}', "");
-Expect(1, 190, '\P{^Dt= Fra}', "");
-Expect(0, 187, '\p{Dt= Fra}', "");
-Expect(1, 187, '\p{^Dt= Fra}', "");
-Expect(1, 187, '\P{Dt= Fra}', "");
-Expect(0, 187, '\P{^Dt= Fra}', "");
-Error('\p{Is_Decomposition_Type=-/a/Fraction}');
-Error('\P{Is_Decomposition_Type=-/a/Fraction}');
-Expect(1, 190, '\p{Is_Decomposition_Type=fraction}', "");
-Expect(0, 190, '\p{^Is_Decomposition_Type=fraction}', "");
-Expect(0, 190, '\P{Is_Decomposition_Type=fraction}', "");
-Expect(1, 190, '\P{^Is_Decomposition_Type=fraction}', "");
-Expect(0, 187, '\p{Is_Decomposition_Type=fraction}', "");
-Expect(1, 187, '\p{^Is_Decomposition_Type=fraction}', "");
-Expect(1, 187, '\P{Is_Decomposition_Type=fraction}', "");
-Expect(0, 187, '\P{^Is_Decomposition_Type=fraction}', "");
-Expect(1, 190, '\p{Is_Decomposition_Type= -FRACTION}', "");
-Expect(0, 190, '\p{^Is_Decomposition_Type= -FRACTION}', "");
-Expect(0, 190, '\P{Is_Decomposition_Type= -FRACTION}', "");
-Expect(1, 190, '\P{^Is_Decomposition_Type= -FRACTION}', "");
-Expect(0, 187, '\p{Is_Decomposition_Type= -FRACTION}', "");
-Expect(1, 187, '\p{^Is_Decomposition_Type= -FRACTION}', "");
-Expect(1, 187, '\P{Is_Decomposition_Type= -FRACTION}', "");
-Expect(0, 187, '\P{^Is_Decomposition_Type= -FRACTION}', "");
-Error('\p{Is_Dt: /a/Fra}');
-Error('\P{Is_Dt: /a/Fra}');
-Expect(1, 190, '\p{Is_Dt=fra}', "");
-Expect(0, 190, '\p{^Is_Dt=fra}', "");
-Expect(0, 190, '\P{Is_Dt=fra}', "");
-Expect(1, 190, '\P{^Is_Dt=fra}', "");
-Expect(0, 187, '\p{Is_Dt=fra}', "");
-Expect(1, 187, '\p{^Is_Dt=fra}', "");
-Expect(1, 187, '\P{Is_Dt=fra}', "");
-Expect(0, 187, '\P{^Is_Dt=fra}', "");
-Expect(1, 190, '\p{Is_Dt= -fra}', "");
-Expect(0, 190, '\p{^Is_Dt= -fra}', "");
-Expect(0, 190, '\P{Is_Dt= -fra}', "");
-Expect(1, 190, '\P{^Is_Dt= -fra}', "");
-Expect(0, 187, '\p{Is_Dt= -fra}', "");
-Expect(1, 187, '\p{^Is_Dt= -fra}', "");
-Expect(1, 187, '\P{Is_Dt= -fra}', "");
-Expect(0, 187, '\P{^Is_Dt= -fra}', "");
-Error('\p{Decomposition_Type=_-Circle/a/}');
-Error('\P{Decomposition_Type=_-Circle/a/}');
-Expect(1, 9331, '\p{Decomposition_Type=circle}', "");
-Expect(0, 9331, '\p{^Decomposition_Type=circle}', "");
-Expect(0, 9331, '\P{Decomposition_Type=circle}', "");
-Expect(1, 9331, '\P{^Decomposition_Type=circle}', "");
-Expect(0, 9311, '\p{Decomposition_Type=circle}', "");
-Expect(1, 9311, '\p{^Decomposition_Type=circle}', "");
-Expect(1, 9311, '\P{Decomposition_Type=circle}', "");
-Expect(0, 9311, '\P{^Decomposition_Type=circle}', "");
-Expect(1, 9331, '\p{Decomposition_Type= -circle}', "");
-Expect(0, 9331, '\p{^Decomposition_Type= -circle}', "");
-Expect(0, 9331, '\P{Decomposition_Type= -circle}', "");
-Expect(1, 9331, '\P{^Decomposition_Type= -circle}', "");
-Expect(0, 9311, '\p{Decomposition_Type= -circle}', "");
-Expect(1, 9311, '\p{^Decomposition_Type= -circle}', "");
-Expect(1, 9311, '\P{Decomposition_Type= -circle}', "");
-Expect(0, 9311, '\P{^Decomposition_Type= -circle}', "");
-Error('\p{Dt=:=- enc}');
-Error('\P{Dt=:=- enc}');
-Expect(1, 9331, '\p{Dt=enc}', "");
-Expect(0, 9331, '\p{^Dt=enc}', "");
-Expect(0, 9331, '\P{Dt=enc}', "");
-Expect(1, 9331, '\P{^Dt=enc}', "");
-Expect(0, 9311, '\p{Dt=enc}', "");
-Expect(1, 9311, '\p{^Dt=enc}', "");
-Expect(1, 9311, '\P{Dt=enc}', "");
-Expect(0, 9311, '\P{^Dt=enc}', "");
-Expect(1, 9331, '\p{Dt= Enc}', "");
-Expect(0, 9331, '\p{^Dt= Enc}', "");
-Expect(0, 9331, '\P{Dt= Enc}', "");
-Expect(1, 9331, '\P{^Dt= Enc}', "");
-Expect(0, 9311, '\p{Dt= Enc}', "");
-Expect(1, 9311, '\p{^Dt= Enc}', "");
-Expect(1, 9311, '\P{Dt= Enc}', "");
-Expect(0, 9311, '\P{^Dt= Enc}', "");
-Error('\p{Is_Decomposition_Type= Circle/a/}');
-Error('\P{Is_Decomposition_Type= Circle/a/}');
-Expect(1, 9331, '\p{Is_Decomposition_Type=circle}', "");
-Expect(0, 9331, '\p{^Is_Decomposition_Type=circle}', "");
-Expect(0, 9331, '\P{Is_Decomposition_Type=circle}', "");
-Expect(1, 9331, '\P{^Is_Decomposition_Type=circle}', "");
-Expect(0, 9311, '\p{Is_Decomposition_Type=circle}', "");
-Expect(1, 9311, '\p{^Is_Decomposition_Type=circle}', "");
-Expect(1, 9311, '\P{Is_Decomposition_Type=circle}', "");
-Expect(0, 9311, '\P{^Is_Decomposition_Type=circle}', "");
-Expect(1, 9331, '\p{Is_Decomposition_Type=_CIRCLE}', "");
-Expect(0, 9331, '\p{^Is_Decomposition_Type=_CIRCLE}', "");
-Expect(0, 9331, '\P{Is_Decomposition_Type=_CIRCLE}', "");
-Expect(1, 9331, '\P{^Is_Decomposition_Type=_CIRCLE}', "");
-Expect(0, 9311, '\p{Is_Decomposition_Type=_CIRCLE}', "");
-Expect(1, 9311, '\p{^Is_Decomposition_Type=_CIRCLE}', "");
-Expect(1, 9311, '\P{Is_Decomposition_Type=_CIRCLE}', "");
-Expect(0, 9311, '\P{^Is_Decomposition_Type=_CIRCLE}', "");
-Error('\p{Is_Dt= /a/ENC}');
-Error('\P{Is_Dt= /a/ENC}');
-Expect(1, 9331, '\p{Is_Dt=enc}', "");
-Expect(0, 9331, '\p{^Is_Dt=enc}', "");
-Expect(0, 9331, '\P{Is_Dt=enc}', "");
-Expect(1, 9331, '\P{^Is_Dt=enc}', "");
-Expect(0, 9311, '\p{Is_Dt=enc}', "");
-Expect(1, 9311, '\p{^Is_Dt=enc}', "");
-Expect(1, 9311, '\P{Is_Dt=enc}', "");
-Expect(0, 9311, '\P{^Is_Dt=enc}', "");
-Expect(1, 9331, '\p{Is_Dt= Enc}', "");
-Expect(0, 9331, '\p{^Is_Dt= Enc}', "");
-Expect(0, 9331, '\P{Is_Dt= Enc}', "");
-Expect(1, 9331, '\P{^Is_Dt= Enc}', "");
-Expect(0, 9311, '\p{Is_Dt= Enc}', "");
-Expect(1, 9311, '\p{^Is_Dt= Enc}', "");
-Expect(1, 9311, '\P{Is_Dt= Enc}', "");
-Expect(0, 9311, '\P{^Is_Dt= Enc}', "");
-Error('\p{Decomposition_Type=:=- Initial}');
-Error('\P{Decomposition_Type=:=- Initial}');
-Expect(1, 64340, '\p{Decomposition_Type=initial}', "");
-Expect(0, 64340, '\p{^Decomposition_Type=initial}', "");
-Expect(0, 64340, '\P{Decomposition_Type=initial}', "");
-Expect(1, 64340, '\P{^Decomposition_Type=initial}', "");
-Expect(0, 64339, '\p{Decomposition_Type=initial}', "");
-Expect(1, 64339, '\p{^Decomposition_Type=initial}', "");
-Expect(1, 64339, '\P{Decomposition_Type=initial}', "");
-Expect(0, 64339, '\P{^Decomposition_Type=initial}', "");
-Expect(1, 64340, '\p{Decomposition_Type= INITIAL}', "");
-Expect(0, 64340, '\p{^Decomposition_Type= INITIAL}', "");
-Expect(0, 64340, '\P{Decomposition_Type= INITIAL}', "");
-Expect(1, 64340, '\P{^Decomposition_Type= INITIAL}', "");
-Expect(0, 64339, '\p{Decomposition_Type= INITIAL}', "");
-Expect(1, 64339, '\p{^Decomposition_Type= INITIAL}', "");
-Expect(1, 64339, '\P{Decomposition_Type= INITIAL}', "");
-Expect(0, 64339, '\P{^Decomposition_Type= INITIAL}', "");
-Error('\p{Dt: /a/init}');
-Error('\P{Dt: /a/init}');
-Expect(1, 64340, '\p{Dt=init}', "");
-Expect(0, 64340, '\p{^Dt=init}', "");
-Expect(0, 64340, '\P{Dt=init}', "");
-Expect(1, 64340, '\P{^Dt=init}', "");
-Expect(0, 64339, '\p{Dt=init}', "");
-Expect(1, 64339, '\p{^Dt=init}', "");
-Expect(1, 64339, '\P{Dt=init}', "");
-Expect(0, 64339, '\P{^Dt=init}', "");
-Expect(1, 64340, '\p{Dt= Init}', "");
-Expect(0, 64340, '\p{^Dt= Init}', "");
-Expect(0, 64340, '\P{Dt= Init}', "");
-Expect(1, 64340, '\P{^Dt= Init}', "");
-Expect(0, 64339, '\p{Dt= Init}', "");
-Expect(1, 64339, '\p{^Dt= Init}', "");
-Expect(1, 64339, '\P{Dt= Init}', "");
-Expect(0, 64339, '\P{^Dt= Init}', "");
-Error('\p{Is_Decomposition_Type=:=-INITIAL}');
-Error('\P{Is_Decomposition_Type=:=-INITIAL}');
-Expect(1, 64340, '\p{Is_Decomposition_Type=initial}', "");
-Expect(0, 64340, '\p{^Is_Decomposition_Type=initial}', "");
-Expect(0, 64340, '\P{Is_Decomposition_Type=initial}', "");
-Expect(1, 64340, '\P{^Is_Decomposition_Type=initial}', "");
-Expect(0, 64339, '\p{Is_Decomposition_Type=initial}', "");
-Expect(1, 64339, '\p{^Is_Decomposition_Type=initial}', "");
-Expect(1, 64339, '\P{Is_Decomposition_Type=initial}', "");
-Expect(0, 64339, '\P{^Is_Decomposition_Type=initial}', "");
-Expect(1, 64340, '\p{Is_Decomposition_Type: Initial}', "");
-Expect(0, 64340, '\p{^Is_Decomposition_Type: Initial}', "");
-Expect(0, 64340, '\P{Is_Decomposition_Type: Initial}', "");
-Expect(1, 64340, '\P{^Is_Decomposition_Type: Initial}', "");
-Expect(0, 64339, '\p{Is_Decomposition_Type: Initial}', "");
-Expect(1, 64339, '\p{^Is_Decomposition_Type: Initial}', "");
-Expect(1, 64339, '\P{Is_Decomposition_Type: Initial}', "");
-Expect(0, 64339, '\P{^Is_Decomposition_Type: Initial}', "");
-Error('\p{Is_Dt= /a/init}');
-Error('\P{Is_Dt= /a/init}');
-Expect(1, 64340, '\p{Is_Dt=init}', "");
-Expect(0, 64340, '\p{^Is_Dt=init}', "");
-Expect(0, 64340, '\P{Is_Dt=init}', "");
-Expect(1, 64340, '\P{^Is_Dt=init}', "");
-Expect(0, 64339, '\p{Is_Dt=init}', "");
-Expect(1, 64339, '\p{^Is_Dt=init}', "");
-Expect(1, 64339, '\P{Is_Dt=init}', "");
-Expect(0, 64339, '\P{^Is_Dt=init}', "");
-Expect(1, 64340, '\p{Is_Dt=_ INIT}', "");
-Expect(0, 64340, '\p{^Is_Dt=_ INIT}', "");
-Expect(0, 64340, '\P{Is_Dt=_ INIT}', "");
-Expect(1, 64340, '\P{^Is_Dt=_ INIT}', "");
-Expect(0, 64339, '\p{Is_Dt=_ INIT}', "");
-Expect(1, 64339, '\p{^Is_Dt=_ INIT}', "");
-Expect(1, 64339, '\P{Is_Dt=_ INIT}', "");
-Expect(0, 64339, '\P{^Is_Dt=_ INIT}', "");
-Error('\p{Decomposition_Type=_Font:=}');
-Error('\P{Decomposition_Type=_Font:=}');
-Expect(1, 8450, '\p{Decomposition_Type=font}', "");
-Expect(0, 8450, '\p{^Decomposition_Type=font}', "");
-Expect(0, 8450, '\P{Decomposition_Type=font}', "");
-Expect(1, 8450, '\P{^Decomposition_Type=font}', "");
-Expect(0, 8449, '\p{Decomposition_Type=font}', "");
-Expect(1, 8449, '\p{^Decomposition_Type=font}', "");
-Expect(1, 8449, '\P{Decomposition_Type=font}', "");
-Expect(0, 8449, '\P{^Decomposition_Type=font}', "");
-Expect(1, 8450, '\p{Decomposition_Type=_FONT}', "");
-Expect(0, 8450, '\p{^Decomposition_Type=_FONT}', "");
-Expect(0, 8450, '\P{Decomposition_Type=_FONT}', "");
-Expect(1, 8450, '\P{^Decomposition_Type=_FONT}', "");
-Expect(0, 8449, '\p{Decomposition_Type=_FONT}', "");
-Expect(1, 8449, '\p{^Decomposition_Type=_FONT}', "");
-Expect(1, 8449, '\P{Decomposition_Type=_FONT}', "");
-Expect(0, 8449, '\P{^Decomposition_Type=_FONT}', "");
-Error('\p{Dt=:=_ Font}');
-Error('\P{Dt=:=_ Font}');
-Expect(1, 8450, '\p{Dt=font}', "");
-Expect(0, 8450, '\p{^Dt=font}', "");
-Expect(0, 8450, '\P{Dt=font}', "");
-Expect(1, 8450, '\P{^Dt=font}', "");
-Expect(0, 8449, '\p{Dt=font}', "");
-Expect(1, 8449, '\p{^Dt=font}', "");
-Expect(1, 8449, '\P{Dt=font}', "");
-Expect(0, 8449, '\P{^Dt=font}', "");
-Expect(1, 8450, '\p{Dt=-font}', "");
-Expect(0, 8450, '\p{^Dt=-font}', "");
-Expect(0, 8450, '\P{Dt=-font}', "");
-Expect(1, 8450, '\P{^Dt=-font}', "");
-Expect(0, 8449, '\p{Dt=-font}', "");
-Expect(1, 8449, '\p{^Dt=-font}', "");
-Expect(1, 8449, '\P{Dt=-font}', "");
-Expect(0, 8449, '\P{^Dt=-font}', "");
-Error('\p{Is_Decomposition_Type=_ Font:=}');
-Error('\P{Is_Decomposition_Type=_ Font:=}');
-Expect(1, 8450, '\p{Is_Decomposition_Type=font}', "");
-Expect(0, 8450, '\p{^Is_Decomposition_Type=font}', "");
-Expect(0, 8450, '\P{Is_Decomposition_Type=font}', "");
-Expect(1, 8450, '\P{^Is_Decomposition_Type=font}', "");
-Expect(0, 8449, '\p{Is_Decomposition_Type=font}', "");
-Expect(1, 8449, '\p{^Is_Decomposition_Type=font}', "");
-Expect(1, 8449, '\P{Is_Decomposition_Type=font}', "");
-Expect(0, 8449, '\P{^Is_Decomposition_Type=font}', "");
-Expect(1, 8450, '\p{Is_Decomposition_Type= _FONT}', "");
-Expect(0, 8450, '\p{^Is_Decomposition_Type= _FONT}', "");
-Expect(0, 8450, '\P{Is_Decomposition_Type= _FONT}', "");
-Expect(1, 8450, '\P{^Is_Decomposition_Type= _FONT}', "");
-Expect(0, 8449, '\p{Is_Decomposition_Type= _FONT}', "");
-Expect(1, 8449, '\p{^Is_Decomposition_Type= _FONT}', "");
-Expect(1, 8449, '\P{Is_Decomposition_Type= _FONT}', "");
-Expect(0, 8449, '\P{^Is_Decomposition_Type= _FONT}', "");
-Error('\p{Is_Dt=--Font/a/}');
-Error('\P{Is_Dt=--Font/a/}');
-Expect(1, 8450, '\p{Is_Dt=font}', "");
-Expect(0, 8450, '\p{^Is_Dt=font}', "");
-Expect(0, 8450, '\P{Is_Dt=font}', "");
-Expect(1, 8450, '\P{^Is_Dt=font}', "");
-Expect(0, 8449, '\p{Is_Dt=font}', "");
-Expect(1, 8449, '\p{^Is_Dt=font}', "");
-Expect(1, 8449, '\P{Is_Dt=font}', "");
-Expect(0, 8449, '\P{^Is_Dt=font}', "");
-Expect(1, 8450, '\p{Is_Dt= Font}', "");
-Expect(0, 8450, '\p{^Is_Dt= Font}', "");
-Expect(0, 8450, '\P{Is_Dt= Font}', "");
-Expect(1, 8450, '\P{^Is_Dt= Font}', "");
-Expect(0, 8449, '\p{Is_Dt= Font}', "");
-Expect(1, 8449, '\p{^Is_Dt= Font}', "");
-Expect(1, 8449, '\P{Is_Dt= Font}', "");
-Expect(0, 8449, '\P{^Is_Dt= Font}', "");
-Error('\p{Decomposition_Type=-_nobreak/a/}');
-Error('\P{Decomposition_Type=-_nobreak/a/}');
-Expect(1, 160, '\p{Decomposition_Type=nobreak}', "");
-Expect(0, 160, '\p{^Decomposition_Type=nobreak}', "");
-Expect(0, 160, '\P{Decomposition_Type=nobreak}', "");
-Expect(1, 160, '\P{^Decomposition_Type=nobreak}', "");
-Expect(0, 159, '\p{Decomposition_Type=nobreak}', "");
-Expect(1, 159, '\p{^Decomposition_Type=nobreak}', "");
-Expect(1, 159, '\P{Decomposition_Type=nobreak}', "");
-Expect(0, 159, '\P{^Decomposition_Type=nobreak}', "");
-Expect(1, 160, '\p{Decomposition_Type=_nobreak}', "");
-Expect(0, 160, '\p{^Decomposition_Type=_nobreak}', "");
-Expect(0, 160, '\P{Decomposition_Type=_nobreak}', "");
-Expect(1, 160, '\P{^Decomposition_Type=_nobreak}', "");
-Expect(0, 159, '\p{Decomposition_Type=_nobreak}', "");
-Expect(1, 159, '\p{^Decomposition_Type=_nobreak}', "");
-Expect(1, 159, '\P{Decomposition_Type=_nobreak}', "");
-Expect(0, 159, '\P{^Decomposition_Type=_nobreak}', "");
-Error('\p{Dt=:=-Nb}');
-Error('\P{Dt=:=-Nb}');
-Expect(1, 160, '\p{Dt=nb}', "");
-Expect(0, 160, '\p{^Dt=nb}', "");
-Expect(0, 160, '\P{Dt=nb}', "");
-Expect(1, 160, '\P{^Dt=nb}', "");
-Expect(0, 159, '\p{Dt=nb}', "");
-Expect(1, 159, '\p{^Dt=nb}', "");
-Expect(1, 159, '\P{Dt=nb}', "");
-Expect(0, 159, '\P{^Dt=nb}', "");
-Expect(1, 160, '\p{Dt=--Nb}', "");
-Expect(0, 160, '\p{^Dt=--Nb}', "");
-Expect(0, 160, '\P{Dt=--Nb}', "");
-Expect(1, 160, '\P{^Dt=--Nb}', "");
-Expect(0, 159, '\p{Dt=--Nb}', "");
-Expect(1, 159, '\p{^Dt=--Nb}', "");
-Expect(1, 159, '\P{Dt=--Nb}', "");
-Expect(0, 159, '\P{^Dt=--Nb}', "");
-Error('\p{Is_Decomposition_Type=:= Nobreak}');
-Error('\P{Is_Decomposition_Type=:= Nobreak}');
-Expect(1, 160, '\p{Is_Decomposition_Type=nobreak}', "");
-Expect(0, 160, '\p{^Is_Decomposition_Type=nobreak}', "");
-Expect(0, 160, '\P{Is_Decomposition_Type=nobreak}', "");
-Expect(1, 160, '\P{^Is_Decomposition_Type=nobreak}', "");
-Expect(0, 159, '\p{Is_Decomposition_Type=nobreak}', "");
-Expect(1, 159, '\p{^Is_Decomposition_Type=nobreak}', "");
-Expect(1, 159, '\P{Is_Decomposition_Type=nobreak}', "");
-Expect(0, 159, '\P{^Is_Decomposition_Type=nobreak}', "");
-Expect(1, 160, '\p{Is_Decomposition_Type= _nobreak}', "");
-Expect(0, 160, '\p{^Is_Decomposition_Type= _nobreak}', "");
-Expect(0, 160, '\P{Is_Decomposition_Type= _nobreak}', "");
-Expect(1, 160, '\P{^Is_Decomposition_Type= _nobreak}', "");
-Expect(0, 159, '\p{Is_Decomposition_Type= _nobreak}', "");
-Expect(1, 159, '\p{^Is_Decomposition_Type= _nobreak}', "");
-Expect(1, 159, '\P{Is_Decomposition_Type= _nobreak}', "");
-Expect(0, 159, '\P{^Is_Decomposition_Type= _nobreak}', "");
-Error('\p{Is_Dt=/a/-Nb}');
-Error('\P{Is_Dt=/a/-Nb}');
-Expect(1, 160, '\p{Is_Dt: nb}', "");
-Expect(0, 160, '\p{^Is_Dt: nb}', "");
-Expect(0, 160, '\P{Is_Dt: nb}', "");
-Expect(1, 160, '\P{^Is_Dt: nb}', "");
-Expect(0, 159, '\p{Is_Dt: nb}', "");
-Expect(1, 159, '\p{^Is_Dt: nb}', "");
-Expect(1, 159, '\P{Is_Dt: nb}', "");
-Expect(0, 159, '\P{^Is_Dt: nb}', "");
-Expect(1, 160, '\p{Is_Dt=-_NB}', "");
-Expect(0, 160, '\p{^Is_Dt=-_NB}', "");
-Expect(0, 160, '\P{Is_Dt=-_NB}', "");
-Expect(1, 160, '\P{^Is_Dt=-_NB}', "");
-Expect(0, 159, '\p{Is_Dt=-_NB}', "");
-Expect(1, 159, '\p{^Is_Dt=-_NB}', "");
-Expect(1, 159, '\P{Is_Dt=-_NB}', "");
-Expect(0, 159, '\P{^Is_Dt=-_NB}', "");
-Error('\p{Decomposition_Type=/a/NON_CANONICAL}');
-Error('\P{Decomposition_Type=/a/NON_CANONICAL}');
-Expect(1, 160, '\p{Decomposition_Type=noncanonical}', "");
-Expect(0, 160, '\p{^Decomposition_Type=noncanonical}', "");
-Expect(0, 160, '\P{Decomposition_Type=noncanonical}', "");
-Expect(1, 160, '\P{^Decomposition_Type=noncanonical}', "");
-Expect(0, 159, '\p{Decomposition_Type=noncanonical}', "");
-Expect(1, 159, '\p{^Decomposition_Type=noncanonical}', "");
-Expect(1, 159, '\P{Decomposition_Type=noncanonical}', "");
-Expect(0, 159, '\P{^Decomposition_Type=noncanonical}', "");
-Expect(1, 160, '\p{Decomposition_Type= Non CANONICAL}', "");
-Expect(0, 160, '\p{^Decomposition_Type= Non CANONICAL}', "");
-Expect(0, 160, '\P{Decomposition_Type= Non CANONICAL}', "");
-Expect(1, 160, '\P{^Decomposition_Type= Non CANONICAL}', "");
-Expect(0, 159, '\p{Decomposition_Type= Non CANONICAL}', "");
-Expect(1, 159, '\p{^Decomposition_Type= Non CANONICAL}', "");
-Expect(1, 159, '\P{Decomposition_Type= Non CANONICAL}', "");
-Expect(0, 159, '\P{^Decomposition_Type= Non CANONICAL}', "");
-Error('\p{Dt: -_Non:=Canon}');
-Error('\P{Dt: -_Non:=Canon}');
-Expect(1, 160, '\p{Dt: noncanon}', "");
-Expect(0, 160, '\p{^Dt: noncanon}', "");
-Expect(0, 160, '\P{Dt: noncanon}', "");
-Expect(1, 160, '\P{^Dt: noncanon}', "");
-Expect(0, 159, '\p{Dt: noncanon}', "");
-Expect(1, 159, '\p{^Dt: noncanon}', "");
-Expect(1, 159, '\P{Dt: noncanon}', "");
-Expect(0, 159, '\P{^Dt: noncanon}', "");
-Expect(1, 160, '\p{Dt= _Non-canon}', "");
-Expect(0, 160, '\p{^Dt= _Non-canon}', "");
-Expect(0, 160, '\P{Dt= _Non-canon}', "");
-Expect(1, 160, '\P{^Dt= _Non-canon}', "");
-Expect(0, 159, '\p{Dt= _Non-canon}', "");
-Expect(1, 159, '\p{^Dt= _Non-canon}', "");
-Expect(1, 159, '\P{Dt= _Non-canon}', "");
-Expect(0, 159, '\P{^Dt= _Non-canon}', "");
-Error('\p{Is_Decomposition_Type= /a/NON Canonical}');
-Error('\P{Is_Decomposition_Type= /a/NON Canonical}');
-Expect(1, 160, '\p{Is_Decomposition_Type=noncanonical}', "");
-Expect(0, 160, '\p{^Is_Decomposition_Type=noncanonical}', "");
-Expect(0, 160, '\P{Is_Decomposition_Type=noncanonical}', "");
-Expect(1, 160, '\P{^Is_Decomposition_Type=noncanonical}', "");
-Expect(0, 159, '\p{Is_Decomposition_Type=noncanonical}', "");
-Expect(1, 159, '\p{^Is_Decomposition_Type=noncanonical}', "");
-Expect(1, 159, '\P{Is_Decomposition_Type=noncanonical}', "");
-Expect(0, 159, '\P{^Is_Decomposition_Type=noncanonical}', "");
-Expect(1, 160, '\p{Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(0, 160, '\p{^Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(0, 160, '\P{Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(1, 160, '\P{^Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(0, 159, '\p{Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(1, 159, '\p{^Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(1, 159, '\P{Is_Decomposition_Type: _Non-Canonical}', "");
-Expect(0, 159, '\P{^Is_Decomposition_Type: _Non-Canonical}', "");
-Error('\p{Is_Dt: _ Non_Canon/a/}');
-Error('\P{Is_Dt: _ Non_Canon/a/}');
-Expect(1, 160, '\p{Is_Dt=noncanon}', "");
-Expect(0, 160, '\p{^Is_Dt=noncanon}', "");
-Expect(0, 160, '\P{Is_Dt=noncanon}', "");
-Expect(1, 160, '\P{^Is_Dt=noncanon}', "");
-Expect(0, 159, '\p{Is_Dt=noncanon}', "");
-Expect(1, 159, '\p{^Is_Dt=noncanon}', "");
-Expect(1, 159, '\P{Is_Dt=noncanon}', "");
-Expect(0, 159, '\P{^Is_Dt=noncanon}', "");
-Expect(1, 160, '\p{Is_Dt= -NON_Canon}', "");
-Expect(0, 160, '\p{^Is_Dt= -NON_Canon}', "");
-Expect(0, 160, '\P{Is_Dt= -NON_Canon}', "");
-Expect(1, 160, '\P{^Is_Dt= -NON_Canon}', "");
-Expect(0, 159, '\p{Is_Dt= -NON_Canon}', "");
-Expect(1, 159, '\p{^Is_Dt= -NON_Canon}', "");
-Expect(1, 159, '\P{Is_Dt= -NON_Canon}', "");
-Expect(0, 159, '\P{^Is_Dt= -NON_Canon}', "");
-Error('\p{Decomposition_Type= /a/final}');
-Error('\P{Decomposition_Type= /a/final}');
-Expect(1, 64337, '\p{Decomposition_Type=final}', "");
-Expect(0, 64337, '\p{^Decomposition_Type=final}', "");
-Expect(0, 64337, '\P{Decomposition_Type=final}', "");
-Expect(1, 64337, '\P{^Decomposition_Type=final}', "");
-Expect(0, 64336, '\p{Decomposition_Type=final}', "");
-Expect(1, 64336, '\p{^Decomposition_Type=final}', "");
-Expect(1, 64336, '\P{Decomposition_Type=final}', "");
-Expect(0, 64336, '\P{^Decomposition_Type=final}', "");
-Expect(1, 64337, '\p{Decomposition_Type=__final}', "");
-Expect(0, 64337, '\p{^Decomposition_Type=__final}', "");
-Expect(0, 64337, '\P{Decomposition_Type=__final}', "");
-Expect(1, 64337, '\P{^Decomposition_Type=__final}', "");
-Expect(0, 64336, '\p{Decomposition_Type=__final}', "");
-Expect(1, 64336, '\p{^Decomposition_Type=__final}', "");
-Expect(1, 64336, '\P{Decomposition_Type=__final}', "");
-Expect(0, 64336, '\P{^Decomposition_Type=__final}', "");
-Error('\p{Dt=:= FIN}');
-Error('\P{Dt=:= FIN}');
-Expect(1, 64337, '\p{Dt=fin}', "");
-Expect(0, 64337, '\p{^Dt=fin}', "");
-Expect(0, 64337, '\P{Dt=fin}', "");
-Expect(1, 64337, '\P{^Dt=fin}', "");
-Expect(0, 64336, '\p{Dt=fin}', "");
-Expect(1, 64336, '\p{^Dt=fin}', "");
-Expect(1, 64336, '\P{Dt=fin}', "");
-Expect(0, 64336, '\P{^Dt=fin}', "");
-Expect(1, 64337, '\p{Dt=--fin}', "");
-Expect(0, 64337, '\p{^Dt=--fin}', "");
-Expect(0, 64337, '\P{Dt=--fin}', "");
-Expect(1, 64337, '\P{^Dt=--fin}', "");
-Expect(0, 64336, '\p{Dt=--fin}', "");
-Expect(1, 64336, '\p{^Dt=--fin}', "");
-Expect(1, 64336, '\P{Dt=--fin}', "");
-Expect(0, 64336, '\P{^Dt=--fin}', "");
-Error('\p{Is_Decomposition_Type=/a/--Final}');
-Error('\P{Is_Decomposition_Type=/a/--Final}');
-Expect(1, 64337, '\p{Is_Decomposition_Type=final}', "");
-Expect(0, 64337, '\p{^Is_Decomposition_Type=final}', "");
-Expect(0, 64337, '\P{Is_Decomposition_Type=final}', "");
-Expect(1, 64337, '\P{^Is_Decomposition_Type=final}', "");
-Expect(0, 64336, '\p{Is_Decomposition_Type=final}', "");
-Expect(1, 64336, '\p{^Is_Decomposition_Type=final}', "");
-Expect(1, 64336, '\P{Is_Decomposition_Type=final}', "");
-Expect(0, 64336, '\P{^Is_Decomposition_Type=final}', "");
-Expect(1, 64337, '\p{Is_Decomposition_Type= Final}', "");
-Expect(0, 64337, '\p{^Is_Decomposition_Type= Final}', "");
-Expect(0, 64337, '\P{Is_Decomposition_Type= Final}', "");
-Expect(1, 64337, '\P{^Is_Decomposition_Type= Final}', "");
-Expect(0, 64336, '\p{Is_Decomposition_Type= Final}', "");
-Expect(1, 64336, '\p{^Is_Decomposition_Type= Final}', "");
-Expect(1, 64336, '\P{Is_Decomposition_Type= Final}', "");
-Expect(0, 64336, '\P{^Is_Decomposition_Type= Final}', "");
-Error('\p{Is_Dt=- Fin:=}');
-Error('\P{Is_Dt=- Fin:=}');
-Expect(1, 64337, '\p{Is_Dt=fin}', "");
-Expect(0, 64337, '\p{^Is_Dt=fin}', "");
-Expect(0, 64337, '\P{Is_Dt=fin}', "");
-Expect(1, 64337, '\P{^Is_Dt=fin}', "");
-Expect(0, 64336, '\p{Is_Dt=fin}', "");
-Expect(1, 64336, '\p{^Is_Dt=fin}', "");
-Expect(1, 64336, '\P{Is_Dt=fin}', "");
-Expect(0, 64336, '\P{^Is_Dt=fin}', "");
-Expect(1, 64337, '\p{Is_Dt= FIN}', "");
-Expect(0, 64337, '\p{^Is_Dt= FIN}', "");
-Expect(0, 64337, '\P{Is_Dt= FIN}', "");
-Expect(1, 64337, '\P{^Is_Dt= FIN}', "");
-Expect(0, 64336, '\p{Is_Dt= FIN}', "");
-Expect(1, 64336, '\p{^Is_Dt= FIN}', "");
-Expect(1, 64336, '\P{Is_Dt= FIN}', "");
-Expect(0, 64336, '\P{^Is_Dt= FIN}', "");
-Error('\p{Decomposition_Type=-_wide:=}');
-Error('\P{Decomposition_Type=-_wide:=}');
-Expect(1, 12288, '\p{Decomposition_Type=wide}', "");
-Expect(0, 12288, '\p{^Decomposition_Type=wide}', "");
-Expect(0, 12288, '\P{Decomposition_Type=wide}', "");
-Expect(1, 12288, '\P{^Decomposition_Type=wide}', "");
-Expect(0, 12287, '\p{Decomposition_Type=wide}', "");
-Expect(1, 12287, '\p{^Decomposition_Type=wide}', "");
-Expect(1, 12287, '\P{Decomposition_Type=wide}', "");
-Expect(0, 12287, '\P{^Decomposition_Type=wide}', "");
-Expect(1, 12288, '\p{Decomposition_Type=--Wide}', "");
-Expect(0, 12288, '\p{^Decomposition_Type=--Wide}', "");
-Expect(0, 12288, '\P{Decomposition_Type=--Wide}', "");
-Expect(1, 12288, '\P{^Decomposition_Type=--Wide}', "");
-Expect(0, 12287, '\p{Decomposition_Type=--Wide}', "");
-Expect(1, 12287, '\p{^Decomposition_Type=--Wide}', "");
-Expect(1, 12287, '\P{Decomposition_Type=--Wide}', "");
-Expect(0, 12287, '\P{^Decomposition_Type=--Wide}', "");
-Error('\p{Dt=__WIDE:=}');
-Error('\P{Dt=__WIDE:=}');
-Expect(1, 12288, '\p{Dt=wide}', "");
-Expect(0, 12288, '\p{^Dt=wide}', "");
-Expect(0, 12288, '\P{Dt=wide}', "");
-Expect(1, 12288, '\P{^Dt=wide}', "");
-Expect(0, 12287, '\p{Dt=wide}', "");
-Expect(1, 12287, '\p{^Dt=wide}', "");
-Expect(1, 12287, '\P{Dt=wide}', "");
-Expect(0, 12287, '\P{^Dt=wide}', "");
-Expect(1, 12288, '\p{Dt=_Wide}', "");
-Expect(0, 12288, '\p{^Dt=_Wide}', "");
-Expect(0, 12288, '\P{Dt=_Wide}', "");
-Expect(1, 12288, '\P{^Dt=_Wide}', "");
-Expect(0, 12287, '\p{Dt=_Wide}', "");
-Expect(1, 12287, '\p{^Dt=_Wide}', "");
-Expect(1, 12287, '\P{Dt=_Wide}', "");
-Expect(0, 12287, '\P{^Dt=_Wide}', "");
-Error('\p{Is_Decomposition_Type=-/a/WIDE}');
-Error('\P{Is_Decomposition_Type=-/a/WIDE}');
-Expect(1, 12288, '\p{Is_Decomposition_Type=wide}', "");
-Expect(0, 12288, '\p{^Is_Decomposition_Type=wide}', "");
-Expect(0, 12288, '\P{Is_Decomposition_Type=wide}', "");
-Expect(1, 12288, '\P{^Is_Decomposition_Type=wide}', "");
-Expect(0, 12287, '\p{Is_Decomposition_Type=wide}', "");
-Expect(1, 12287, '\p{^Is_Decomposition_Type=wide}', "");
-Expect(1, 12287, '\P{Is_Decomposition_Type=wide}', "");
-Expect(0, 12287, '\P{^Is_Decomposition_Type=wide}', "");
-Expect(1, 12288, '\p{Is_Decomposition_Type= -WIDE}', "");
-Expect(0, 12288, '\p{^Is_Decomposition_Type= -WIDE}', "");
-Expect(0, 12288, '\P{Is_Decomposition_Type= -WIDE}', "");
-Expect(1, 12288, '\P{^Is_Decomposition_Type= -WIDE}', "");
-Expect(0, 12287, '\p{Is_Decomposition_Type= -WIDE}', "");
-Expect(1, 12287, '\p{^Is_Decomposition_Type= -WIDE}', "");
-Expect(1, 12287, '\P{Is_Decomposition_Type= -WIDE}', "");
-Expect(0, 12287, '\P{^Is_Decomposition_Type= -WIDE}', "");
-Error('\p{Is_Dt= /a/Wide}');
-Error('\P{Is_Dt= /a/Wide}');
-Expect(1, 12288, '\p{Is_Dt=wide}', "");
-Expect(0, 12288, '\p{^Is_Dt=wide}', "");
-Expect(0, 12288, '\P{Is_Dt=wide}', "");
-Expect(1, 12288, '\P{^Is_Dt=wide}', "");
-Expect(0, 12287, '\p{Is_Dt=wide}', "");
-Expect(1, 12287, '\p{^Is_Dt=wide}', "");
-Expect(1, 12287, '\P{Is_Dt=wide}', "");
-Expect(0, 12287, '\P{^Is_Dt=wide}', "");
-Expect(1, 12288, '\p{Is_Dt=-_Wide}', "");
-Expect(0, 12288, '\p{^Is_Dt=-_Wide}', "");
-Expect(0, 12288, '\P{Is_Dt=-_Wide}', "");
-Expect(1, 12288, '\P{^Is_Dt=-_Wide}', "");
-Expect(0, 12287, '\p{Is_Dt=-_Wide}', "");
-Expect(1, 12287, '\p{^Is_Dt=-_Wide}', "");
-Expect(1, 12287, '\P{Is_Dt=-_Wide}', "");
-Expect(0, 12287, '\P{^Is_Dt=-_Wide}', "");
-Error('\p{Decomposition_Type= /a/canonical}');
-Error('\P{Decomposition_Type= /a/canonical}');
-Expect(1, 197, '\p{Decomposition_Type=canonical}', "");
-Expect(0, 197, '\p{^Decomposition_Type=canonical}', "");
-Expect(0, 197, '\P{Decomposition_Type=canonical}', "");
-Expect(1, 197, '\P{^Decomposition_Type=canonical}', "");
-Expect(0, 191, '\p{Decomposition_Type=canonical}', "");
-Expect(1, 191, '\p{^Decomposition_Type=canonical}', "");
-Expect(1, 191, '\P{Decomposition_Type=canonical}', "");
-Expect(0, 191, '\P{^Decomposition_Type=canonical}', "");
-Expect(1, 197, '\p{Decomposition_Type= Canonical}', "");
-Expect(0, 197, '\p{^Decomposition_Type= Canonical}', "");
-Expect(0, 197, '\P{Decomposition_Type= Canonical}', "");
-Expect(1, 197, '\P{^Decomposition_Type= Canonical}', "");
-Expect(0, 191, '\p{Decomposition_Type= Canonical}', "");
-Expect(1, 191, '\p{^Decomposition_Type= Canonical}', "");
-Expect(1, 191, '\P{Decomposition_Type= Canonical}', "");
-Expect(0, 191, '\P{^Decomposition_Type= Canonical}', "");
-Error('\p{Dt=/a/ CAN}');
-Error('\P{Dt=/a/ CAN}');
-Expect(1, 197, '\p{Dt=can}', "");
-Expect(0, 197, '\p{^Dt=can}', "");
-Expect(0, 197, '\P{Dt=can}', "");
-Expect(1, 197, '\P{^Dt=can}', "");
-Expect(0, 191, '\p{Dt=can}', "");
-Expect(1, 191, '\p{^Dt=can}', "");
-Expect(1, 191, '\P{Dt=can}', "");
-Expect(0, 191, '\P{^Dt=can}', "");
-Expect(1, 197, '\p{Dt= Can}', "");
-Expect(0, 197, '\p{^Dt= Can}', "");
-Expect(0, 197, '\P{Dt= Can}', "");
-Expect(1, 197, '\P{^Dt= Can}', "");
-Expect(0, 191, '\p{Dt= Can}', "");
-Expect(1, 191, '\p{^Dt= Can}', "");
-Expect(1, 191, '\P{Dt= Can}', "");
-Expect(0, 191, '\P{^Dt= Can}', "");
-Error('\p{Is_Decomposition_Type=:=Canonical}');
-Error('\P{Is_Decomposition_Type=:=Canonical}');
-Expect(1, 197, '\p{Is_Decomposition_Type=canonical}', "");
-Expect(0, 197, '\p{^Is_Decomposition_Type=canonical}', "");
-Expect(0, 197, '\P{Is_Decomposition_Type=canonical}', "");
-Expect(1, 197, '\P{^Is_Decomposition_Type=canonical}', "");
-Expect(0, 191, '\p{Is_Decomposition_Type=canonical}', "");
-Expect(1, 191, '\p{^Is_Decomposition_Type=canonical}', "");
-Expect(1, 191, '\P{Is_Decomposition_Type=canonical}', "");
-Expect(0, 191, '\P{^Is_Decomposition_Type=canonical}', "");
-Expect(1, 197, '\p{Is_Decomposition_Type= Canonical}', "");
-Expect(0, 197, '\p{^Is_Decomposition_Type= Canonical}', "");
-Expect(0, 197, '\P{Is_Decomposition_Type= Canonical}', "");
-Expect(1, 197, '\P{^Is_Decomposition_Type= Canonical}', "");
-Expect(0, 191, '\p{Is_Decomposition_Type= Canonical}', "");
-Expect(1, 191, '\p{^Is_Decomposition_Type= Canonical}', "");
-Expect(1, 191, '\P{Is_Decomposition_Type= Canonical}', "");
-Expect(0, 191, '\P{^Is_Decomposition_Type= Canonical}', "");
-Error('\p{Is_Dt=_ Can/a/}');
-Error('\P{Is_Dt=_ Can/a/}');
-Expect(1, 197, '\p{Is_Dt=can}', "");
-Expect(0, 197, '\p{^Is_Dt=can}', "");
-Expect(0, 197, '\P{Is_Dt=can}', "");
-Expect(1, 197, '\P{^Is_Dt=can}', "");
-Expect(0, 191, '\p{Is_Dt=can}', "");
-Expect(1, 191, '\p{^Is_Dt=can}', "");
-Expect(1, 191, '\P{Is_Dt=can}', "");
-Expect(0, 191, '\P{^Is_Dt=can}', "");
-Expect(1, 197, '\p{Is_Dt= Can}', "");
-Expect(0, 197, '\p{^Is_Dt= Can}', "");
-Expect(0, 197, '\P{Is_Dt= Can}', "");
-Expect(1, 197, '\P{^Is_Dt= Can}', "");
-Expect(0, 191, '\p{Is_Dt= Can}', "");
-Expect(1, 191, '\p{^Is_Dt= Can}', "");
-Expect(1, 191, '\P{Is_Dt= Can}', "");
-Expect(0, 191, '\P{^Is_Dt= Can}', "");
-Error('\p{Decomposition_Type=/a/ Vertical}');
-Error('\P{Decomposition_Type=/a/ Vertical}');
-Expect(1, 12447, '\p{Decomposition_Type=vertical}', "");
-Expect(0, 12447, '\p{^Decomposition_Type=vertical}', "");
-Expect(0, 12447, '\P{Decomposition_Type=vertical}', "");
-Expect(1, 12447, '\P{^Decomposition_Type=vertical}', "");
-Expect(0, 12446, '\p{Decomposition_Type=vertical}', "");
-Expect(1, 12446, '\p{^Decomposition_Type=vertical}', "");
-Expect(1, 12446, '\P{Decomposition_Type=vertical}', "");
-Expect(0, 12446, '\P{^Decomposition_Type=vertical}', "");
-Expect(1, 12447, '\p{Decomposition_Type: -Vertical}', "");
-Expect(0, 12447, '\p{^Decomposition_Type: -Vertical}', "");
-Expect(0, 12447, '\P{Decomposition_Type: -Vertical}', "");
-Expect(1, 12447, '\P{^Decomposition_Type: -Vertical}', "");
-Expect(0, 12446, '\p{Decomposition_Type: -Vertical}', "");
-Expect(1, 12446, '\p{^Decomposition_Type: -Vertical}', "");
-Expect(1, 12446, '\P{Decomposition_Type: -Vertical}', "");
-Expect(0, 12446, '\P{^Decomposition_Type: -Vertical}', "");
-Error('\p{Dt= -vert:=}');
-Error('\P{Dt= -vert:=}');
-Expect(1, 12447, '\p{Dt=vert}', "");
-Expect(0, 12447, '\p{^Dt=vert}', "");
-Expect(0, 12447, '\P{Dt=vert}', "");
-Expect(1, 12447, '\P{^Dt=vert}', "");
-Expect(0, 12446, '\p{Dt=vert}', "");
-Expect(1, 12446, '\p{^Dt=vert}', "");
-Expect(1, 12446, '\P{Dt=vert}', "");
-Expect(0, 12446, '\P{^Dt=vert}', "");
-Expect(1, 12447, '\p{Dt=_ Vert}', "");
-Expect(0, 12447, '\p{^Dt=_ Vert}', "");
-Expect(0, 12447, '\P{Dt=_ Vert}', "");
-Expect(1, 12447, '\P{^Dt=_ Vert}', "");
-Expect(0, 12446, '\p{Dt=_ Vert}', "");
-Expect(1, 12446, '\p{^Dt=_ Vert}', "");
-Expect(1, 12446, '\P{Dt=_ Vert}', "");
-Expect(0, 12446, '\P{^Dt=_ Vert}', "");
-Error('\p{Is_Decomposition_Type=-:=vertical}');
-Error('\P{Is_Decomposition_Type=-:=vertical}');
-Expect(1, 12447, '\p{Is_Decomposition_Type=vertical}', "");
-Expect(0, 12447, '\p{^Is_Decomposition_Type=vertical}', "");
-Expect(0, 12447, '\P{Is_Decomposition_Type=vertical}', "");
-Expect(1, 12447, '\P{^Is_Decomposition_Type=vertical}', "");
-Expect(0, 12446, '\p{Is_Decomposition_Type=vertical}', "");
-Expect(1, 12446, '\p{^Is_Decomposition_Type=vertical}', "");
-Expect(1, 12446, '\P{Is_Decomposition_Type=vertical}', "");
-Expect(0, 12446, '\P{^Is_Decomposition_Type=vertical}', "");
-Expect(1, 12447, '\p{Is_Decomposition_Type=-Vertical}', "");
-Expect(0, 12447, '\p{^Is_Decomposition_Type=-Vertical}', "");
-Expect(0, 12447, '\P{Is_Decomposition_Type=-Vertical}', "");
-Expect(1, 12447, '\P{^Is_Decomposition_Type=-Vertical}', "");
-Expect(0, 12446, '\p{Is_Decomposition_Type=-Vertical}', "");
-Expect(1, 12446, '\p{^Is_Decomposition_Type=-Vertical}', "");
-Expect(1, 12446, '\P{Is_Decomposition_Type=-Vertical}', "");
-Expect(0, 12446, '\P{^Is_Decomposition_Type=-Vertical}', "");
-Error('\p{Is_Dt=/a/ Vert}');
-Error('\P{Is_Dt=/a/ Vert}');
-Expect(1, 12447, '\p{Is_Dt=vert}', "");
-Expect(0, 12447, '\p{^Is_Dt=vert}', "");
-Expect(0, 12447, '\P{Is_Dt=vert}', "");
-Expect(1, 12447, '\P{^Is_Dt=vert}', "");
-Expect(0, 12446, '\p{Is_Dt=vert}', "");
-Expect(1, 12446, '\p{^Is_Dt=vert}', "");
-Expect(1, 12446, '\P{Is_Dt=vert}', "");
-Expect(0, 12446, '\P{^Is_Dt=vert}', "");
-Expect(1, 12447, '\p{Is_Dt: VERT}', "");
-Expect(0, 12447, '\p{^Is_Dt: VERT}', "");
-Expect(0, 12447, '\P{Is_Dt: VERT}', "");
-Expect(1, 12447, '\P{^Is_Dt: VERT}', "");
-Expect(0, 12446, '\p{Is_Dt: VERT}', "");
-Expect(1, 12446, '\p{^Is_Dt: VERT}', "");
-Expect(1, 12446, '\P{Is_Dt: VERT}', "");
-Expect(0, 12446, '\P{^Is_Dt: VERT}', "");
-Error('\p{Decomposition_Type=__Medial:=}');
-Error('\P{Decomposition_Type=__Medial:=}');
-Expect(1, 64341, '\p{Decomposition_Type=medial}', "");
-Expect(0, 64341, '\p{^Decomposition_Type=medial}', "");
-Expect(0, 64341, '\P{Decomposition_Type=medial}', "");
-Expect(1, 64341, '\P{^Decomposition_Type=medial}', "");
-Expect(0, 64340, '\p{Decomposition_Type=medial}', "");
-Expect(1, 64340, '\p{^Decomposition_Type=medial}', "");
-Expect(1, 64340, '\P{Decomposition_Type=medial}', "");
-Expect(0, 64340, '\P{^Decomposition_Type=medial}', "");
-Expect(1, 64341, '\p{Decomposition_Type=-medial}', "");
-Expect(0, 64341, '\p{^Decomposition_Type=-medial}', "");
-Expect(0, 64341, '\P{Decomposition_Type=-medial}', "");
-Expect(1, 64341, '\P{^Decomposition_Type=-medial}', "");
-Expect(0, 64340, '\p{Decomposition_Type=-medial}', "");
-Expect(1, 64340, '\p{^Decomposition_Type=-medial}', "");
-Expect(1, 64340, '\P{Decomposition_Type=-medial}', "");
-Expect(0, 64340, '\P{^Decomposition_Type=-medial}', "");
-Error('\p{Dt= :=MED}');
-Error('\P{Dt= :=MED}');
-Expect(1, 64341, '\p{Dt=med}', "");
-Expect(0, 64341, '\p{^Dt=med}', "");
-Expect(0, 64341, '\P{Dt=med}', "");
-Expect(1, 64341, '\P{^Dt=med}', "");
-Expect(0, 64340, '\p{Dt=med}', "");
-Expect(1, 64340, '\p{^Dt=med}', "");
-Expect(1, 64340, '\P{Dt=med}', "");
-Expect(0, 64340, '\P{^Dt=med}', "");
-Expect(1, 64341, '\p{Dt= _Med}', "");
-Expect(0, 64341, '\p{^Dt= _Med}', "");
-Expect(0, 64341, '\P{Dt= _Med}', "");
-Expect(1, 64341, '\P{^Dt= _Med}', "");
-Expect(0, 64340, '\p{Dt= _Med}', "");
-Expect(1, 64340, '\p{^Dt= _Med}', "");
-Expect(1, 64340, '\P{Dt= _Med}', "");
-Expect(0, 64340, '\P{^Dt= _Med}', "");
-Error('\p{Is_Decomposition_Type=/a/--Medial}');
-Error('\P{Is_Decomposition_Type=/a/--Medial}');
-Expect(1, 64341, '\p{Is_Decomposition_Type=medial}', "");
-Expect(0, 64341, '\p{^Is_Decomposition_Type=medial}', "");
-Expect(0, 64341, '\P{Is_Decomposition_Type=medial}', "");
-Expect(1, 64341, '\P{^Is_Decomposition_Type=medial}', "");
-Expect(0, 64340, '\p{Is_Decomposition_Type=medial}', "");
-Expect(1, 64340, '\p{^Is_Decomposition_Type=medial}', "");
-Expect(1, 64340, '\P{Is_Decomposition_Type=medial}', "");
-Expect(0, 64340, '\P{^Is_Decomposition_Type=medial}', "");
-Expect(1, 64341, '\p{Is_Decomposition_Type=__medial}', "");
-Expect(0, 64341, '\p{^Is_Decomposition_Type=__medial}', "");
-Expect(0, 64341, '\P{Is_Decomposition_Type=__medial}', "");
-Expect(1, 64341, '\P{^Is_Decomposition_Type=__medial}', "");
-Expect(0, 64340, '\p{Is_Decomposition_Type=__medial}', "");
-Expect(1, 64340, '\p{^Is_Decomposition_Type=__medial}', "");
-Expect(1, 64340, '\P{Is_Decomposition_Type=__medial}', "");
-Expect(0, 64340, '\P{^Is_Decomposition_Type=__medial}', "");
-Error('\p{Is_Dt=-:=Med}');
-Error('\P{Is_Dt=-:=Med}');
-Expect(1, 64341, '\p{Is_Dt=med}', "");
-Expect(0, 64341, '\p{^Is_Dt=med}', "");
-Expect(0, 64341, '\P{Is_Dt=med}', "");
-Expect(1, 64341, '\P{^Is_Dt=med}', "");
-Expect(0, 64340, '\p{Is_Dt=med}', "");
-Expect(1, 64340, '\p{^Is_Dt=med}', "");
-Expect(1, 64340, '\P{Is_Dt=med}', "");
-Expect(0, 64340, '\P{^Is_Dt=med}', "");
-Expect(1, 64341, '\p{Is_Dt=_ med}', "");
-Expect(0, 64341, '\p{^Is_Dt=_ med}', "");
-Expect(0, 64341, '\P{Is_Dt=_ med}', "");
-Expect(1, 64341, '\P{^Is_Dt=_ med}', "");
-Expect(0, 64340, '\p{Is_Dt=_ med}', "");
-Expect(1, 64340, '\p{^Is_Dt=_ med}', "");
-Expect(1, 64340, '\P{Is_Dt=_ med}', "");
-Expect(0, 64340, '\P{^Is_Dt=_ med}', "");
-Error('\p{Decomposition_Type=:=Narrow}');
-Error('\P{Decomposition_Type=:=Narrow}');
-Expect(1, 65470, '\p{Decomposition_Type=narrow}', "");
-Expect(0, 65470, '\p{^Decomposition_Type=narrow}', "");
-Expect(0, 65470, '\P{Decomposition_Type=narrow}', "");
-Expect(1, 65470, '\P{^Decomposition_Type=narrow}', "");
-Expect(0, 65376, '\p{Decomposition_Type=narrow}', "");
-Expect(1, 65376, '\p{^Decomposition_Type=narrow}', "");
-Expect(1, 65376, '\P{Decomposition_Type=narrow}', "");
-Expect(0, 65376, '\P{^Decomposition_Type=narrow}', "");
-Expect(1, 65470, '\p{Decomposition_Type= NARROW}', "");
-Expect(0, 65470, '\p{^Decomposition_Type= NARROW}', "");
-Expect(0, 65470, '\P{Decomposition_Type= NARROW}', "");
-Expect(1, 65470, '\P{^Decomposition_Type= NARROW}', "");
-Expect(0, 65376, '\p{Decomposition_Type= NARROW}', "");
-Expect(1, 65376, '\p{^Decomposition_Type= NARROW}', "");
-Expect(1, 65376, '\P{Decomposition_Type= NARROW}', "");
-Expect(0, 65376, '\P{^Decomposition_Type= NARROW}', "");
-Error('\p{Dt: nar:=}');
-Error('\P{Dt: nar:=}');
-Expect(1, 65470, '\p{Dt=nar}', "");
-Expect(0, 65470, '\p{^Dt=nar}', "");
-Expect(0, 65470, '\P{Dt=nar}', "");
-Expect(1, 65470, '\P{^Dt=nar}', "");
-Expect(0, 65376, '\p{Dt=nar}', "");
-Expect(1, 65376, '\p{^Dt=nar}', "");
-Expect(1, 65376, '\P{Dt=nar}', "");
-Expect(0, 65376, '\P{^Dt=nar}', "");
-Expect(1, 65470, '\p{Dt=--nar}', "");
-Expect(0, 65470, '\p{^Dt=--nar}', "");
-Expect(0, 65470, '\P{Dt=--nar}', "");
-Expect(1, 65470, '\P{^Dt=--nar}', "");
-Expect(0, 65376, '\p{Dt=--nar}', "");
-Expect(1, 65376, '\p{^Dt=--nar}', "");
-Expect(1, 65376, '\P{Dt=--nar}', "");
-Expect(0, 65376, '\P{^Dt=--nar}', "");
-Error('\p{Is_Decomposition_Type: -narrow/a/}');
-Error('\P{Is_Decomposition_Type: -narrow/a/}');
-Expect(1, 65470, '\p{Is_Decomposition_Type=narrow}', "");
-Expect(0, 65470, '\p{^Is_Decomposition_Type=narrow}', "");
-Expect(0, 65470, '\P{Is_Decomposition_Type=narrow}', "");
-Expect(1, 65470, '\P{^Is_Decomposition_Type=narrow}', "");
-Expect(0, 65376, '\p{Is_Decomposition_Type=narrow}', "");
-Expect(1, 65376, '\p{^Is_Decomposition_Type=narrow}', "");
-Expect(1, 65376, '\P{Is_Decomposition_Type=narrow}', "");
-Expect(0, 65376, '\P{^Is_Decomposition_Type=narrow}', "");
-Expect(1, 65470, '\p{Is_Decomposition_Type=_ narrow}', "");
-Expect(0, 65470, '\p{^Is_Decomposition_Type=_ narrow}', "");
-Expect(0, 65470, '\P{Is_Decomposition_Type=_ narrow}', "");
-Expect(1, 65470, '\P{^Is_Decomposition_Type=_ narrow}', "");
-Expect(0, 65376, '\p{Is_Decomposition_Type=_ narrow}', "");
-Expect(1, 65376, '\p{^Is_Decomposition_Type=_ narrow}', "");
-Expect(1, 65376, '\P{Is_Decomposition_Type=_ narrow}', "");
-Expect(0, 65376, '\P{^Is_Decomposition_Type=_ narrow}', "");
-Error('\p{Is_Dt=Nar:=}');
-Error('\P{Is_Dt=Nar:=}');
-Expect(1, 65470, '\p{Is_Dt=nar}', "");
-Expect(0, 65470, '\p{^Is_Dt=nar}', "");
-Expect(0, 65470, '\P{Is_Dt=nar}', "");
-Expect(1, 65470, '\P{^Is_Dt=nar}', "");
-Expect(0, 65376, '\p{Is_Dt=nar}', "");
-Expect(1, 65376, '\p{^Is_Dt=nar}', "");
-Expect(1, 65376, '\P{Is_Dt=nar}', "");
-Expect(0, 65376, '\P{^Is_Dt=nar}', "");
-Expect(1, 65470, '\p{Is_Dt=__Nar}', "");
-Expect(0, 65470, '\p{^Is_Dt=__Nar}', "");
-Expect(0, 65470, '\P{Is_Dt=__Nar}', "");
-Expect(1, 65470, '\P{^Is_Dt=__Nar}', "");
-Expect(0, 65376, '\p{Is_Dt=__Nar}', "");
-Expect(1, 65376, '\p{^Is_Dt=__Nar}', "");
-Expect(1, 65376, '\P{Is_Dt=__Nar}', "");
-Expect(0, 65376, '\P{^Is_Dt=__Nar}', "");
-Error('\p{Decomposition_Type=_Sub:=}');
-Error('\P{Decomposition_Type=_Sub:=}');
-Expect(1, 7530, '\p{Decomposition_Type=sub}', "");
-Expect(0, 7530, '\p{^Decomposition_Type=sub}', "");
-Expect(0, 7530, '\P{Decomposition_Type=sub}', "");
-Expect(1, 7530, '\P{^Decomposition_Type=sub}', "");
-Expect(0, 7521, '\p{Decomposition_Type=sub}', "");
-Expect(1, 7521, '\p{^Decomposition_Type=sub}', "");
-Expect(1, 7521, '\P{Decomposition_Type=sub}', "");
-Expect(0, 7521, '\P{^Decomposition_Type=sub}', "");
-Expect(1, 7530, '\p{Decomposition_Type= SUB}', "");
-Expect(0, 7530, '\p{^Decomposition_Type= SUB}', "");
-Expect(0, 7530, '\P{Decomposition_Type= SUB}', "");
-Expect(1, 7530, '\P{^Decomposition_Type= SUB}', "");
-Expect(0, 7521, '\p{Decomposition_Type= SUB}', "");
-Expect(1, 7521, '\p{^Decomposition_Type= SUB}', "");
-Expect(1, 7521, '\P{Decomposition_Type= SUB}', "");
-Expect(0, 7521, '\P{^Decomposition_Type= SUB}', "");
-Error('\p{Dt=/a/_ Sub}');
-Error('\P{Dt=/a/_ Sub}');
-Expect(1, 7530, '\p{Dt=sub}', "");
-Expect(0, 7530, '\p{^Dt=sub}', "");
-Expect(0, 7530, '\P{Dt=sub}', "");
-Expect(1, 7530, '\P{^Dt=sub}', "");
-Expect(0, 7521, '\p{Dt=sub}', "");
-Expect(1, 7521, '\p{^Dt=sub}', "");
-Expect(1, 7521, '\P{Dt=sub}', "");
-Expect(0, 7521, '\P{^Dt=sub}', "");
-Expect(1, 7530, '\p{Dt=--Sub}', "");
-Expect(0, 7530, '\p{^Dt=--Sub}', "");
-Expect(0, 7530, '\P{Dt=--Sub}', "");
-Expect(1, 7530, '\P{^Dt=--Sub}', "");
-Expect(0, 7521, '\p{Dt=--Sub}', "");
-Expect(1, 7521, '\p{^Dt=--Sub}', "");
-Expect(1, 7521, '\P{Dt=--Sub}', "");
-Expect(0, 7521, '\P{^Dt=--Sub}', "");
-Error('\p{Is_Decomposition_Type=:= -Sub}');
-Error('\P{Is_Decomposition_Type=:= -Sub}');
-Expect(1, 7530, '\p{Is_Decomposition_Type=sub}', "");
-Expect(0, 7530, '\p{^Is_Decomposition_Type=sub}', "");
-Expect(0, 7530, '\P{Is_Decomposition_Type=sub}', "");
-Expect(1, 7530, '\P{^Is_Decomposition_Type=sub}', "");
-Expect(0, 7521, '\p{Is_Decomposition_Type=sub}', "");
-Expect(1, 7521, '\p{^Is_Decomposition_Type=sub}', "");
-Expect(1, 7521, '\P{Is_Decomposition_Type=sub}', "");
-Expect(0, 7521, '\P{^Is_Decomposition_Type=sub}', "");
-Expect(1, 7530, '\p{Is_Decomposition_Type= Sub}', "");
-Expect(0, 7530, '\p{^Is_Decomposition_Type= Sub}', "");
-Expect(0, 7530, '\P{Is_Decomposition_Type= Sub}', "");
-Expect(1, 7530, '\P{^Is_Decomposition_Type= Sub}', "");
-Expect(0, 7521, '\p{Is_Decomposition_Type= Sub}', "");
-Expect(1, 7521, '\p{^Is_Decomposition_Type= Sub}', "");
-Expect(1, 7521, '\P{Is_Decomposition_Type= Sub}', "");
-Expect(0, 7521, '\P{^Is_Decomposition_Type= Sub}', "");
-Error('\p{Is_Dt: := SUB}');
-Error('\P{Is_Dt: := SUB}');
-Expect(1, 7530, '\p{Is_Dt=sub}', "");
-Expect(0, 7530, '\p{^Is_Dt=sub}', "");
-Expect(0, 7530, '\P{Is_Dt=sub}', "");
-Expect(1, 7530, '\P{^Is_Dt=sub}', "");
-Expect(0, 7521, '\p{Is_Dt=sub}', "");
-Expect(1, 7521, '\p{^Is_Dt=sub}', "");
-Expect(1, 7521, '\P{Is_Dt=sub}', "");
-Expect(0, 7521, '\P{^Is_Dt=sub}', "");
-Expect(1, 7530, '\p{Is_Dt= -sub}', "");
-Expect(0, 7530, '\p{^Is_Dt= -sub}', "");
-Expect(0, 7530, '\P{Is_Dt= -sub}', "");
-Expect(1, 7530, '\P{^Is_Dt= -sub}', "");
-Expect(0, 7521, '\p{Is_Dt= -sub}', "");
-Expect(1, 7521, '\p{^Is_Dt= -sub}', "");
-Expect(1, 7521, '\P{Is_Dt= -sub}', "");
-Expect(0, 7521, '\P{^Is_Dt= -sub}', "");
-Error('\p{Decomposition_Type= /a/square}');
-Error('\P{Decomposition_Type= /a/square}');
-Expect(1, 12880, '\p{Decomposition_Type=square}', "");
-Expect(0, 12880, '\p{^Decomposition_Type=square}', "");
-Expect(0, 12880, '\P{Decomposition_Type=square}', "");
-Expect(1, 12880, '\P{^Decomposition_Type=square}', "");
-Expect(0, 12879, '\p{Decomposition_Type=square}', "");
-Expect(1, 12879, '\p{^Decomposition_Type=square}', "");
-Expect(1, 12879, '\P{Decomposition_Type=square}', "");
-Expect(0, 12879, '\P{^Decomposition_Type=square}', "");
-Expect(1, 12880, '\p{Decomposition_Type=-Square}', "");
-Expect(0, 12880, '\p{^Decomposition_Type=-Square}', "");
-Expect(0, 12880, '\P{Decomposition_Type=-Square}', "");
-Expect(1, 12880, '\P{^Decomposition_Type=-Square}', "");
-Expect(0, 12879, '\p{Decomposition_Type=-Square}', "");
-Expect(1, 12879, '\p{^Decomposition_Type=-Square}', "");
-Expect(1, 12879, '\P{Decomposition_Type=-Square}', "");
-Expect(0, 12879, '\P{^Decomposition_Type=-Square}', "");
-Error('\p{Dt: /a/Sqr}');
-Error('\P{Dt: /a/Sqr}');
-Expect(1, 12880, '\p{Dt=sqr}', "");
-Expect(0, 12880, '\p{^Dt=sqr}', "");
-Expect(0, 12880, '\P{Dt=sqr}', "");
-Expect(1, 12880, '\P{^Dt=sqr}', "");
-Expect(0, 12879, '\p{Dt=sqr}', "");
-Expect(1, 12879, '\p{^Dt=sqr}', "");
-Expect(1, 12879, '\P{Dt=sqr}', "");
-Expect(0, 12879, '\P{^Dt=sqr}', "");
-Expect(1, 12880, '\p{Dt= Sqr}', "");
-Expect(0, 12880, '\p{^Dt= Sqr}', "");
-Expect(0, 12880, '\P{Dt= Sqr}', "");
-Expect(1, 12880, '\P{^Dt= Sqr}', "");
-Expect(0, 12879, '\p{Dt= Sqr}', "");
-Expect(1, 12879, '\p{^Dt= Sqr}', "");
-Expect(1, 12879, '\P{Dt= Sqr}', "");
-Expect(0, 12879, '\P{^Dt= Sqr}', "");
-Error('\p{Is_Decomposition_Type=:=_square}');
-Error('\P{Is_Decomposition_Type=:=_square}');
-Expect(1, 12880, '\p{Is_Decomposition_Type=square}', "");
-Expect(0, 12880, '\p{^Is_Decomposition_Type=square}', "");
-Expect(0, 12880, '\P{Is_Decomposition_Type=square}', "");
-Expect(1, 12880, '\P{^Is_Decomposition_Type=square}', "");
-Expect(0, 12879, '\p{Is_Decomposition_Type=square}', "");
-Expect(1, 12879, '\p{^Is_Decomposition_Type=square}', "");
-Expect(1, 12879, '\P{Is_Decomposition_Type=square}', "");
-Expect(0, 12879, '\P{^Is_Decomposition_Type=square}', "");
-Expect(1, 12880, '\p{Is_Decomposition_Type=- Square}', "");
-Expect(0, 12880, '\p{^Is_Decomposition_Type=- Square}', "");
-Expect(0, 12880, '\P{Is_Decomposition_Type=- Square}', "");
-Expect(1, 12880, '\P{^Is_Decomposition_Type=- Square}', "");
-Expect(0, 12879, '\p{Is_Decomposition_Type=- Square}', "");
-Expect(1, 12879, '\p{^Is_Decomposition_Type=- Square}', "");
-Expect(1, 12879, '\P{Is_Decomposition_Type=- Square}', "");
-Expect(0, 12879, '\P{^Is_Decomposition_Type=- Square}', "");
-Error('\p{Is_Dt=_/a/Sqr}');
-Error('\P{Is_Dt=_/a/Sqr}');
-Expect(1, 12880, '\p{Is_Dt=sqr}', "");
-Expect(0, 12880, '\p{^Is_Dt=sqr}', "");
-Expect(0, 12880, '\P{Is_Dt=sqr}', "");
-Expect(1, 12880, '\P{^Is_Dt=sqr}', "");
-Expect(0, 12879, '\p{Is_Dt=sqr}', "");
-Expect(1, 12879, '\p{^Is_Dt=sqr}', "");
-Expect(1, 12879, '\P{Is_Dt=sqr}', "");
-Expect(0, 12879, '\P{^Is_Dt=sqr}', "");
-Expect(1, 12880, '\p{Is_Dt: _Sqr}', "");
-Expect(0, 12880, '\p{^Is_Dt: _Sqr}', "");
-Expect(0, 12880, '\P{Is_Dt: _Sqr}', "");
-Expect(1, 12880, '\P{^Is_Dt: _Sqr}', "");
-Expect(0, 12879, '\p{Is_Dt: _Sqr}', "");
-Expect(1, 12879, '\p{^Is_Dt: _Sqr}', "");
-Expect(1, 12879, '\P{Is_Dt: _Sqr}', "");
-Expect(0, 12879, '\P{^Is_Dt: _Sqr}', "");
-Error('\p{Decomposition_Type= Small/a/}');
-Error('\P{Decomposition_Type= Small/a/}');
-Expect(1, 65106, '\p{Decomposition_Type=small}', "");
-Expect(0, 65106, '\p{^Decomposition_Type=small}', "");
-Expect(0, 65106, '\P{Decomposition_Type=small}', "");
-Expect(1, 65106, '\P{^Decomposition_Type=small}', "");
-Expect(0, 65103, '\p{Decomposition_Type=small}', "");
-Expect(1, 65103, '\p{^Decomposition_Type=small}', "");
-Expect(1, 65103, '\P{Decomposition_Type=small}', "");
-Expect(0, 65103, '\P{^Decomposition_Type=small}', "");
-Expect(1, 65106, '\p{Decomposition_Type=_SMALL}', "");
-Expect(0, 65106, '\p{^Decomposition_Type=_SMALL}', "");
-Expect(0, 65106, '\P{Decomposition_Type=_SMALL}', "");
-Expect(1, 65106, '\P{^Decomposition_Type=_SMALL}', "");
-Expect(0, 65103, '\p{Decomposition_Type=_SMALL}', "");
-Expect(1, 65103, '\p{^Decomposition_Type=_SMALL}', "");
-Expect(1, 65103, '\P{Decomposition_Type=_SMALL}', "");
-Expect(0, 65103, '\P{^Decomposition_Type=_SMALL}', "");
-Error('\p{Dt=/a/sml}');
-Error('\P{Dt=/a/sml}');
-Expect(1, 65106, '\p{Dt=sml}', "");
-Expect(0, 65106, '\p{^Dt=sml}', "");
-Expect(0, 65106, '\P{Dt=sml}', "");
-Expect(1, 65106, '\P{^Dt=sml}', "");
-Expect(0, 65103, '\p{Dt=sml}', "");
-Expect(1, 65103, '\p{^Dt=sml}', "");
-Expect(1, 65103, '\P{Dt=sml}', "");
-Expect(0, 65103, '\P{^Dt=sml}', "");
-Expect(1, 65106, '\p{Dt=-Sml}', "");
-Expect(0, 65106, '\p{^Dt=-Sml}', "");
-Expect(0, 65106, '\P{Dt=-Sml}', "");
-Expect(1, 65106, '\P{^Dt=-Sml}', "");
-Expect(0, 65103, '\p{Dt=-Sml}', "");
-Expect(1, 65103, '\p{^Dt=-Sml}', "");
-Expect(1, 65103, '\P{Dt=-Sml}', "");
-Expect(0, 65103, '\P{^Dt=-Sml}', "");
-Error('\p{Is_Decomposition_Type=:=-SMALL}');
-Error('\P{Is_Decomposition_Type=:=-SMALL}');
-Expect(1, 65106, '\p{Is_Decomposition_Type=small}', "");
-Expect(0, 65106, '\p{^Is_Decomposition_Type=small}', "");
-Expect(0, 65106, '\P{Is_Decomposition_Type=small}', "");
-Expect(1, 65106, '\P{^Is_Decomposition_Type=small}', "");
-Expect(0, 65103, '\p{Is_Decomposition_Type=small}', "");
-Expect(1, 65103, '\p{^Is_Decomposition_Type=small}', "");
-Expect(1, 65103, '\P{Is_Decomposition_Type=small}', "");
-Expect(0, 65103, '\P{^Is_Decomposition_Type=small}', "");
-Expect(1, 65106, '\p{Is_Decomposition_Type= small}', "");
-Expect(0, 65106, '\p{^Is_Decomposition_Type= small}', "");
-Expect(0, 65106, '\P{Is_Decomposition_Type= small}', "");
-Expect(1, 65106, '\P{^Is_Decomposition_Type= small}', "");
-Expect(0, 65103, '\p{Is_Decomposition_Type= small}', "");
-Expect(1, 65103, '\p{^Is_Decomposition_Type= small}', "");
-Expect(1, 65103, '\P{Is_Decomposition_Type= small}', "");
-Expect(0, 65103, '\P{^Is_Decomposition_Type= small}', "");
-Error('\p{Is_Dt: Sml/a/}');
-Error('\P{Is_Dt: Sml/a/}');
-Expect(1, 65106, '\p{Is_Dt=sml}', "");
-Expect(0, 65106, '\p{^Is_Dt=sml}', "");
-Expect(0, 65106, '\P{Is_Dt=sml}', "");
-Expect(1, 65106, '\P{^Is_Dt=sml}', "");
-Expect(0, 65103, '\p{Is_Dt=sml}', "");
-Expect(1, 65103, '\p{^Is_Dt=sml}', "");
-Expect(1, 65103, '\P{Is_Dt=sml}', "");
-Expect(0, 65103, '\P{^Is_Dt=sml}', "");
-Expect(1, 65106, '\p{Is_Dt=SML}', "");
-Expect(0, 65106, '\p{^Is_Dt=SML}', "");
-Expect(0, 65106, '\P{Is_Dt=SML}', "");
-Expect(1, 65106, '\P{^Is_Dt=SML}', "");
-Expect(0, 65103, '\p{Is_Dt=SML}', "");
-Expect(1, 65103, '\p{^Is_Dt=SML}', "");
-Expect(1, 65103, '\P{Is_Dt=SML}', "");
-Expect(0, 65103, '\P{^Is_Dt=SML}', "");
-Error('\p{Decomposition_Type=:=_NONE}');
-Error('\P{Decomposition_Type=:=_NONE}');
-Expect(1, 159, '\p{Decomposition_Type=none}', "");
-Expect(0, 159, '\p{^Decomposition_Type=none}', "");
-Expect(0, 159, '\P{Decomposition_Type=none}', "");
-Expect(1, 159, '\P{^Decomposition_Type=none}', "");
-Expect(0, 160, '\p{Decomposition_Type=none}', "");
-Expect(1, 160, '\p{^Decomposition_Type=none}', "");
-Expect(1, 160, '\P{Decomposition_Type=none}', "");
-Expect(0, 160, '\P{^Decomposition_Type=none}', "");
-Expect(1, 159, '\p{Decomposition_Type= None}', "");
-Expect(0, 159, '\p{^Decomposition_Type= None}', "");
-Expect(0, 159, '\P{Decomposition_Type= None}', "");
-Expect(1, 159, '\P{^Decomposition_Type= None}', "");
-Expect(0, 160, '\p{Decomposition_Type= None}', "");
-Expect(1, 160, '\p{^Decomposition_Type= None}', "");
-Expect(1, 160, '\P{Decomposition_Type= None}', "");
-Expect(0, 160, '\P{^Decomposition_Type= None}', "");
-Error('\p{Dt= none/a/}');
-Error('\P{Dt= none/a/}');
-Expect(1, 159, '\p{Dt=none}', "");
-Expect(0, 159, '\p{^Dt=none}', "");
-Expect(0, 159, '\P{Dt=none}', "");
-Expect(1, 159, '\P{^Dt=none}', "");
-Expect(0, 160, '\p{Dt=none}', "");
-Expect(1, 160, '\p{^Dt=none}', "");
-Expect(1, 160, '\P{Dt=none}', "");
-Expect(0, 160, '\P{^Dt=none}', "");
-Expect(1, 159, '\p{Dt= NONE}', "");
-Expect(0, 159, '\p{^Dt= NONE}', "");
-Expect(0, 159, '\P{Dt= NONE}', "");
-Expect(1, 159, '\P{^Dt= NONE}', "");
-Expect(0, 160, '\p{Dt= NONE}', "");
-Expect(1, 160, '\p{^Dt= NONE}', "");
-Expect(1, 160, '\P{Dt= NONE}', "");
-Expect(0, 160, '\P{^Dt= NONE}', "");
-Error('\p{Is_Decomposition_Type=/a/--None}');
-Error('\P{Is_Decomposition_Type=/a/--None}');
-Expect(1, 159, '\p{Is_Decomposition_Type=none}', "");
-Expect(0, 159, '\p{^Is_Decomposition_Type=none}', "");
-Expect(0, 159, '\P{Is_Decomposition_Type=none}', "");
-Expect(1, 159, '\P{^Is_Decomposition_Type=none}', "");
-Expect(0, 160, '\p{Is_Decomposition_Type=none}', "");
-Expect(1, 160, '\p{^Is_Decomposition_Type=none}', "");
-Expect(1, 160, '\P{Is_Decomposition_Type=none}', "");
-Expect(0, 160, '\P{^Is_Decomposition_Type=none}', "");
-Expect(1, 159, '\p{Is_Decomposition_Type: None}', "");
-Expect(0, 159, '\p{^Is_Decomposition_Type: None}', "");
-Expect(0, 159, '\P{Is_Decomposition_Type: None}', "");
-Expect(1, 159, '\P{^Is_Decomposition_Type: None}', "");
-Expect(0, 160, '\p{Is_Decomposition_Type: None}', "");
-Expect(1, 160, '\p{^Is_Decomposition_Type: None}', "");
-Expect(1, 160, '\P{Is_Decomposition_Type: None}', "");
-Expect(0, 160, '\P{^Is_Decomposition_Type: None}', "");
-Error('\p{Is_Dt= None:=}');
-Error('\P{Is_Dt= None:=}');
-Expect(1, 159, '\p{Is_Dt=none}', "");
-Expect(0, 159, '\p{^Is_Dt=none}', "");
-Expect(0, 159, '\P{Is_Dt=none}', "");
-Expect(1, 159, '\P{^Is_Dt=none}', "");
-Expect(0, 160, '\p{Is_Dt=none}', "");
-Expect(1, 160, '\p{^Is_Dt=none}', "");
-Expect(1, 160, '\P{Is_Dt=none}', "");
-Expect(0, 160, '\P{^Is_Dt=none}', "");
-Expect(1, 159, '\p{Is_Dt: _None}', "");
-Expect(0, 159, '\p{^Is_Dt: _None}', "");
-Expect(0, 159, '\P{Is_Dt: _None}', "");
-Expect(1, 159, '\P{^Is_Dt: _None}', "");
-Expect(0, 160, '\p{Is_Dt: _None}', "");
-Expect(1, 160, '\p{^Is_Dt: _None}', "");
-Expect(1, 160, '\P{Is_Dt: _None}', "");
-Expect(0, 160, '\P{^Is_Dt: _None}', "");
-Error('\p{Decomposition_Type= :=Isolated}');
-Error('\P{Decomposition_Type= :=Isolated}');
-Expect(1, 64336, '\p{Decomposition_Type=isolated}', "");
-Expect(0, 64336, '\p{^Decomposition_Type=isolated}', "");
-Expect(0, 64336, '\P{Decomposition_Type=isolated}', "");
-Expect(1, 64336, '\P{^Decomposition_Type=isolated}', "");
-Expect(0, 64335, '\p{Decomposition_Type=isolated}', "");
-Expect(1, 64335, '\p{^Decomposition_Type=isolated}', "");
-Expect(1, 64335, '\P{Decomposition_Type=isolated}', "");
-Expect(0, 64335, '\P{^Decomposition_Type=isolated}', "");
-Expect(1, 64336, '\p{Decomposition_Type: _-Isolated}', "");
-Expect(0, 64336, '\p{^Decomposition_Type: _-Isolated}', "");
-Expect(0, 64336, '\P{Decomposition_Type: _-Isolated}', "");
-Expect(1, 64336, '\P{^Decomposition_Type: _-Isolated}', "");
-Expect(0, 64335, '\p{Decomposition_Type: _-Isolated}', "");
-Expect(1, 64335, '\p{^Decomposition_Type: _-Isolated}', "");
-Expect(1, 64335, '\P{Decomposition_Type: _-Isolated}', "");
-Expect(0, 64335, '\P{^Decomposition_Type: _-Isolated}', "");
-Error('\p{Dt: _ ISO:=}');
-Error('\P{Dt: _ ISO:=}');
-Expect(1, 64336, '\p{Dt=iso}', "");
-Expect(0, 64336, '\p{^Dt=iso}', "");
-Expect(0, 64336, '\P{Dt=iso}', "");
-Expect(1, 64336, '\P{^Dt=iso}', "");
-Expect(0, 64335, '\p{Dt=iso}', "");
-Expect(1, 64335, '\p{^Dt=iso}', "");
-Expect(1, 64335, '\P{Dt=iso}', "");
-Expect(0, 64335, '\P{^Dt=iso}', "");
-Expect(1, 64336, '\p{Dt= Iso}', "");
-Expect(0, 64336, '\p{^Dt= Iso}', "");
-Expect(0, 64336, '\P{Dt= Iso}', "");
-Expect(1, 64336, '\P{^Dt= Iso}', "");
-Expect(0, 64335, '\p{Dt= Iso}', "");
-Expect(1, 64335, '\p{^Dt= Iso}', "");
-Expect(1, 64335, '\P{Dt= Iso}', "");
-Expect(0, 64335, '\P{^Dt= Iso}', "");
-Error('\p{Is_Decomposition_Type=- ISOLATED:=}');
-Error('\P{Is_Decomposition_Type=- ISOLATED:=}');
-Expect(1, 64336, '\p{Is_Decomposition_Type=isolated}', "");
-Expect(0, 64336, '\p{^Is_Decomposition_Type=isolated}', "");
-Expect(0, 64336, '\P{Is_Decomposition_Type=isolated}', "");
-Expect(1, 64336, '\P{^Is_Decomposition_Type=isolated}', "");
-Expect(0, 64335, '\p{Is_Decomposition_Type=isolated}', "");
-Expect(1, 64335, '\p{^Is_Decomposition_Type=isolated}', "");
-Expect(1, 64335, '\P{Is_Decomposition_Type=isolated}', "");
-Expect(0, 64335, '\P{^Is_Decomposition_Type=isolated}', "");
-Expect(1, 64336, '\p{Is_Decomposition_Type= _Isolated}', "");
-Expect(0, 64336, '\p{^Is_Decomposition_Type= _Isolated}', "");
-Expect(0, 64336, '\P{Is_Decomposition_Type= _Isolated}', "");
-Expect(1, 64336, '\P{^Is_Decomposition_Type= _Isolated}', "");
-Expect(0, 64335, '\p{Is_Decomposition_Type= _Isolated}', "");
-Expect(1, 64335, '\p{^Is_Decomposition_Type= _Isolated}', "");
-Expect(1, 64335, '\P{Is_Decomposition_Type= _Isolated}', "");
-Expect(0, 64335, '\P{^Is_Decomposition_Type= _Isolated}', "");
-Error('\p{Is_Dt= /a/ISO}');
-Error('\P{Is_Dt= /a/ISO}');
-Expect(1, 64336, '\p{Is_Dt=iso}', "");
-Expect(0, 64336, '\p{^Is_Dt=iso}', "");
-Expect(0, 64336, '\P{Is_Dt=iso}', "");
-Expect(1, 64336, '\P{^Is_Dt=iso}', "");
-Expect(0, 64335, '\p{Is_Dt=iso}', "");
-Expect(1, 64335, '\p{^Is_Dt=iso}', "");
-Expect(1, 64335, '\P{Is_Dt=iso}', "");
-Expect(0, 64335, '\P{^Is_Dt=iso}', "");
-Expect(1, 64336, '\p{Is_Dt=-iso}', "");
-Expect(0, 64336, '\p{^Is_Dt=-iso}', "");
-Expect(0, 64336, '\P{Is_Dt=-iso}', "");
-Expect(1, 64336, '\P{^Is_Dt=-iso}', "");
-Expect(0, 64335, '\p{Is_Dt=-iso}', "");
-Expect(1, 64335, '\p{^Is_Dt=-iso}', "");
-Expect(1, 64335, '\P{Is_Dt=-iso}', "");
-Expect(0, 64335, '\P{^Is_Dt=-iso}', "");
-Error('\p{Decomposition_Type: :=Compat}');
-Error('\P{Decomposition_Type: :=Compat}');
-Expect(1, 168, '\p{Decomposition_Type: compat}', "");
-Expect(0, 168, '\p{^Decomposition_Type: compat}', "");
-Expect(0, 168, '\P{Decomposition_Type: compat}', "");
-Expect(1, 168, '\P{^Decomposition_Type: compat}', "");
-Expect(0, 167, '\p{Decomposition_Type: compat}', "");
-Expect(1, 167, '\p{^Decomposition_Type: compat}', "");
-Expect(1, 167, '\P{Decomposition_Type: compat}', "");
-Expect(0, 167, '\P{^Decomposition_Type: compat}', "");
-Expect(1, 168, '\p{Decomposition_Type=__Compat}', "");
-Expect(0, 168, '\p{^Decomposition_Type=__Compat}', "");
-Expect(0, 168, '\P{Decomposition_Type=__Compat}', "");
-Expect(1, 168, '\P{^Decomposition_Type=__Compat}', "");
-Expect(0, 167, '\p{Decomposition_Type=__Compat}', "");
-Expect(1, 167, '\p{^Decomposition_Type=__Compat}', "");
-Expect(1, 167, '\P{Decomposition_Type=__Compat}', "");
-Expect(0, 167, '\P{^Decomposition_Type=__Compat}', "");
-Error('\p{Dt=:= COM}');
-Error('\P{Dt=:= COM}');
-Expect(1, 168, '\p{Dt: com}', "");
-Expect(0, 168, '\p{^Dt: com}', "");
-Expect(0, 168, '\P{Dt: com}', "");
-Expect(1, 168, '\P{^Dt: com}', "");
-Expect(0, 167, '\p{Dt: com}', "");
-Expect(1, 167, '\p{^Dt: com}', "");
-Expect(1, 167, '\P{Dt: com}', "");
-Expect(0, 167, '\P{^Dt: com}', "");
-Expect(1, 168, '\p{Dt=-Com}', "");
-Expect(0, 168, '\p{^Dt=-Com}', "");
-Expect(0, 168, '\P{Dt=-Com}', "");
-Expect(1, 168, '\P{^Dt=-Com}', "");
-Expect(0, 167, '\p{Dt=-Com}', "");
-Expect(1, 167, '\p{^Dt=-Com}', "");
-Expect(1, 167, '\P{Dt=-Com}', "");
-Expect(0, 167, '\P{^Dt=-Com}', "");
-Error('\p{Is_Decomposition_Type=_-compat:=}');
-Error('\P{Is_Decomposition_Type=_-compat:=}');
-Expect(1, 168, '\p{Is_Decomposition_Type=compat}', "");
-Expect(0, 168, '\p{^Is_Decomposition_Type=compat}', "");
-Expect(0, 168, '\P{Is_Decomposition_Type=compat}', "");
-Expect(1, 168, '\P{^Is_Decomposition_Type=compat}', "");
-Expect(0, 167, '\p{Is_Decomposition_Type=compat}', "");
-Expect(1, 167, '\p{^Is_Decomposition_Type=compat}', "");
-Expect(1, 167, '\P{Is_Decomposition_Type=compat}', "");
-Expect(0, 167, '\P{^Is_Decomposition_Type=compat}', "");
-Expect(1, 168, '\p{Is_Decomposition_Type= Compat}', "");
-Expect(0, 168, '\p{^Is_Decomposition_Type= Compat}', "");
-Expect(0, 168, '\P{Is_Decomposition_Type= Compat}', "");
-Expect(1, 168, '\P{^Is_Decomposition_Type= Compat}', "");
-Expect(0, 167, '\p{Is_Decomposition_Type= Compat}', "");
-Expect(1, 167, '\p{^Is_Decomposition_Type= Compat}', "");
-Expect(1, 167, '\P{Is_Decomposition_Type= Compat}', "");
-Expect(0, 167, '\P{^Is_Decomposition_Type= Compat}', "");
-Error('\p{Is_Dt=:=com}');
-Error('\P{Is_Dt=:=com}');
-Expect(1, 168, '\p{Is_Dt=com}', "");
-Expect(0, 168, '\p{^Is_Dt=com}', "");
-Expect(0, 168, '\P{Is_Dt=com}', "");
-Expect(1, 168, '\P{^Is_Dt=com}', "");
-Expect(0, 167, '\p{Is_Dt=com}', "");
-Expect(1, 167, '\p{^Is_Dt=com}', "");
-Expect(1, 167, '\P{Is_Dt=com}', "");
-Expect(0, 167, '\P{^Is_Dt=com}', "");
-Expect(1, 168, '\p{Is_Dt: --Com}', "");
-Expect(0, 168, '\p{^Is_Dt: --Com}', "");
-Expect(0, 168, '\P{Is_Dt: --Com}', "");
-Expect(1, 168, '\P{^Is_Dt: --Com}', "");
-Expect(0, 167, '\p{Is_Dt: --Com}', "");
-Expect(1, 167, '\p{^Is_Dt: --Com}', "");
-Expect(1, 167, '\P{Is_Dt: --Com}', "");
-Expect(0, 167, '\P{^Is_Dt: --Com}', "");
-Error('\p{Decomposition_Type: :=_super}');
-Error('\P{Decomposition_Type: :=_super}');
-Expect(1, 170, '\p{Decomposition_Type=super}', "");
-Expect(0, 170, '\p{^Decomposition_Type=super}', "");
-Expect(0, 170, '\P{Decomposition_Type=super}', "");
-Expect(1, 170, '\P{^Decomposition_Type=super}', "");
-Expect(0, 169, '\p{Decomposition_Type=super}', "");
-Expect(1, 169, '\p{^Decomposition_Type=super}', "");
-Expect(1, 169, '\P{Decomposition_Type=super}', "");
-Expect(0, 169, '\P{^Decomposition_Type=super}', "");
-Expect(1, 170, '\p{Decomposition_Type= _super}', "");
-Expect(0, 170, '\p{^Decomposition_Type= _super}', "");
-Expect(0, 170, '\P{Decomposition_Type= _super}', "");
-Expect(1, 170, '\P{^Decomposition_Type= _super}', "");
-Expect(0, 169, '\p{Decomposition_Type= _super}', "");
-Expect(1, 169, '\p{^Decomposition_Type= _super}', "");
-Expect(1, 169, '\P{Decomposition_Type= _super}', "");
-Expect(0, 169, '\P{^Decomposition_Type= _super}', "");
-Error('\p{Dt=sup/a/}');
-Error('\P{Dt=sup/a/}');
-Expect(1, 170, '\p{Dt=sup}', "");
-Expect(0, 170, '\p{^Dt=sup}', "");
-Expect(0, 170, '\P{Dt=sup}', "");
-Expect(1, 170, '\P{^Dt=sup}', "");
-Expect(0, 169, '\p{Dt=sup}', "");
-Expect(1, 169, '\p{^Dt=sup}', "");
-Expect(1, 169, '\P{Dt=sup}', "");
-Expect(0, 169, '\P{^Dt=sup}', "");
-Expect(1, 170, '\p{Dt= _Sup}', "");
-Expect(0, 170, '\p{^Dt= _Sup}', "");
-Expect(0, 170, '\P{Dt= _Sup}', "");
-Expect(1, 170, '\P{^Dt= _Sup}', "");
-Expect(0, 169, '\p{Dt= _Sup}', "");
-Expect(1, 169, '\p{^Dt= _Sup}', "");
-Expect(1, 169, '\P{Dt= _Sup}', "");
-Expect(0, 169, '\P{^Dt= _Sup}', "");
-Error('\p{Is_Decomposition_Type=_SUPER:=}');
-Error('\P{Is_Decomposition_Type=_SUPER:=}');
-Expect(1, 170, '\p{Is_Decomposition_Type=super}', "");
-Expect(0, 170, '\p{^Is_Decomposition_Type=super}', "");
-Expect(0, 170, '\P{Is_Decomposition_Type=super}', "");
-Expect(1, 170, '\P{^Is_Decomposition_Type=super}', "");
-Expect(0, 169, '\p{Is_Decomposition_Type=super}', "");
-Expect(1, 169, '\p{^Is_Decomposition_Type=super}', "");
-Expect(1, 169, '\P{Is_Decomposition_Type=super}', "");
-Expect(0, 169, '\P{^Is_Decomposition_Type=super}', "");
-Expect(1, 170, '\p{Is_Decomposition_Type= Super}', "");
-Expect(0, 170, '\p{^Is_Decomposition_Type= Super}', "");
-Expect(0, 170, '\P{Is_Decomposition_Type= Super}', "");
-Expect(1, 170, '\P{^Is_Decomposition_Type= Super}', "");
-Expect(0, 169, '\p{Is_Decomposition_Type= Super}', "");
-Expect(1, 169, '\p{^Is_Decomposition_Type= Super}', "");
-Expect(1, 169, '\P{Is_Decomposition_Type= Super}', "");
-Expect(0, 169, '\P{^Is_Decomposition_Type= Super}', "");
-Error('\p{Is_Dt=/a/ sup}');
-Error('\P{Is_Dt=/a/ sup}');
-Expect(1, 170, '\p{Is_Dt=sup}', "");
-Expect(0, 170, '\p{^Is_Dt=sup}', "");
-Expect(0, 170, '\P{Is_Dt=sup}', "");
-Expect(1, 170, '\P{^Is_Dt=sup}', "");
-Expect(0, 169, '\p{Is_Dt=sup}', "");
-Expect(1, 169, '\p{^Is_Dt=sup}', "");
-Expect(1, 169, '\P{Is_Dt=sup}', "");
-Expect(0, 169, '\P{^Is_Dt=sup}', "");
-Expect(1, 170, '\p{Is_Dt= -sup}', "");
-Expect(0, 170, '\p{^Is_Dt= -sup}', "");
-Expect(0, 170, '\P{Is_Dt= -sup}', "");
-Expect(1, 170, '\P{^Is_Dt= -sup}', "");
-Expect(0, 169, '\p{Is_Dt= -sup}', "");
-Expect(1, 169, '\p{^Is_Dt= -sup}', "");
-Expect(1, 169, '\P{Is_Dt= -sup}', "");
-Expect(0, 169, '\P{^Is_Dt= -sup}', "");
-Error('\p{Other_Math=/a/ -Yes}');
-Error('\P{Other_Math=/a/ -Yes}');
-Expect(1, 94, '\p{Other_Math: yes}', 'deprecated');
-Expect(0, 94, '\p{^Other_Math: yes}', 'deprecated');
-Expect(0, 94, '\P{Other_Math: yes}', 'deprecated');
-Expect(1, 94, '\P{^Other_Math: yes}', 'deprecated');
-Expect(0, 93, '\p{Other_Math: yes}', 'deprecated');
-Expect(1, 93, '\p{^Other_Math: yes}', 'deprecated');
-Expect(1, 93, '\P{Other_Math: yes}', 'deprecated');
-Expect(0, 93, '\P{^Other_Math: yes}', 'deprecated');
-Expect(1, 94, '\p{Other_Math= Yes}', 'deprecated');
-Expect(0, 94, '\p{^Other_Math= Yes}', 'deprecated');
-Expect(0, 94, '\P{Other_Math= Yes}', 'deprecated');
-Expect(1, 94, '\P{^Other_Math= Yes}', 'deprecated');
-Expect(0, 93, '\p{Other_Math= Yes}', 'deprecated');
-Expect(1, 93, '\p{^Other_Math= Yes}', 'deprecated');
-Expect(1, 93, '\P{Other_Math= Yes}', 'deprecated');
-Expect(0, 93, '\P{^Other_Math= Yes}', 'deprecated');
-Error('\p{OMath= /a/Y}');
-Error('\P{OMath= /a/Y}');
-Expect(1, 94, '\p{OMath=y}', 'deprecated');
-Expect(0, 94, '\p{^OMath=y}', 'deprecated');
-Expect(0, 94, '\P{OMath=y}', 'deprecated');
-Expect(1, 94, '\P{^OMath=y}', 'deprecated');
-Expect(0, 93, '\p{OMath=y}', 'deprecated');
-Expect(1, 93, '\p{^OMath=y}', 'deprecated');
-Expect(1, 93, '\P{OMath=y}', 'deprecated');
-Expect(0, 93, '\P{^OMath=y}', 'deprecated');
-Expect(1, 94, '\p{OMath: Y}', 'deprecated');
-Expect(0, 94, '\p{^OMath: Y}', 'deprecated');
-Expect(0, 94, '\P{OMath: Y}', 'deprecated');
-Expect(1, 94, '\P{^OMath: Y}', 'deprecated');
-Expect(0, 93, '\p{OMath: Y}', 'deprecated');
-Expect(1, 93, '\p{^OMath: Y}', 'deprecated');
-Expect(1, 93, '\P{OMath: Y}', 'deprecated');
-Expect(0, 93, '\P{^OMath: Y}', 'deprecated');
-Error('\p{Is_Other_Math=_:=t}');
-Error('\P{Is_Other_Math=_:=t}');
-Expect(1, 94, '\p{Is_Other_Math: t}', 'deprecated');
-Expect(0, 94, '\p{^Is_Other_Math: t}', 'deprecated');
-Expect(0, 94, '\P{Is_Other_Math: t}', 'deprecated');
-Expect(1, 94, '\P{^Is_Other_Math: t}', 'deprecated');
-Expect(0, 93, '\p{Is_Other_Math: t}', 'deprecated');
-Expect(1, 93, '\p{^Is_Other_Math: t}', 'deprecated');
-Expect(1, 93, '\P{Is_Other_Math: t}', 'deprecated');
-Expect(0, 93, '\P{^Is_Other_Math: t}', 'deprecated');
-Expect(1, 94, '\p{Is_Other_Math=_T}', 'deprecated');
-Expect(0, 94, '\p{^Is_Other_Math=_T}', 'deprecated');
-Expect(0, 94, '\P{Is_Other_Math=_T}', 'deprecated');
-Expect(1, 94, '\P{^Is_Other_Math=_T}', 'deprecated');
-Expect(0, 93, '\p{Is_Other_Math=_T}', 'deprecated');
-Expect(1, 93, '\p{^Is_Other_Math=_T}', 'deprecated');
-Expect(1, 93, '\P{Is_Other_Math=_T}', 'deprecated');
-Expect(0, 93, '\P{^Is_Other_Math=_T}', 'deprecated');
-Error('\p{Is_OMath=:=__True}');
-Error('\P{Is_OMath=:=__True}');
-Expect(1, 94, '\p{Is_OMath=true}', 'deprecated');
-Expect(0, 94, '\p{^Is_OMath=true}', 'deprecated');
-Expect(0, 94, '\P{Is_OMath=true}', 'deprecated');
-Expect(1, 94, '\P{^Is_OMath=true}', 'deprecated');
-Expect(0, 93, '\p{Is_OMath=true}', 'deprecated');
-Expect(1, 93, '\p{^Is_OMath=true}', 'deprecated');
-Expect(1, 93, '\P{Is_OMath=true}', 'deprecated');
-Expect(0, 93, '\P{^Is_OMath=true}', 'deprecated');
-Expect(1, 94, '\p{Is_OMath= _True}', 'deprecated');
-Expect(0, 94, '\p{^Is_OMath= _True}', 'deprecated');
-Expect(0, 94, '\P{Is_OMath= _True}', 'deprecated');
-Expect(1, 94, '\P{^Is_OMath= _True}', 'deprecated');
-Expect(0, 93, '\p{Is_OMath= _True}', 'deprecated');
-Expect(1, 93, '\p{^Is_OMath= _True}', 'deprecated');
-Expect(1, 93, '\P{Is_OMath= _True}', 'deprecated');
-Expect(0, 93, '\P{^Is_OMath= _True}', 'deprecated');
-Error('\p{Other_Math= no/a/}');
-Error('\P{Other_Math= no/a/}');
-Expect(1, 93, '\p{Other_Math=no}', 'deprecated');
-Expect(0, 93, '\p{^Other_Math=no}', 'deprecated');
-Expect(0, 93, '\P{Other_Math=no}', 'deprecated');
-Expect(1, 93, '\P{^Other_Math=no}', 'deprecated');
-Expect(0, 94, '\p{Other_Math=no}', 'deprecated');
-Expect(1, 94, '\p{^Other_Math=no}', 'deprecated');
-Expect(1, 94, '\P{Other_Math=no}', 'deprecated');
-Expect(0, 94, '\P{^Other_Math=no}', 'deprecated');
-Expect(1, 93, '\p{Other_Math=NO}', 'deprecated');
-Expect(0, 93, '\p{^Other_Math=NO}', 'deprecated');
-Expect(0, 93, '\P{Other_Math=NO}', 'deprecated');
-Expect(1, 93, '\P{^Other_Math=NO}', 'deprecated');
-Expect(0, 94, '\p{Other_Math=NO}', 'deprecated');
-Expect(1, 94, '\p{^Other_Math=NO}', 'deprecated');
-Expect(1, 94, '\P{Other_Math=NO}', 'deprecated');
-Expect(0, 94, '\P{^Other_Math=NO}', 'deprecated');
-Error('\p{OMath: -/a/N}');
-Error('\P{OMath: -/a/N}');
-Expect(1, 93, '\p{OMath=n}', 'deprecated');
-Expect(0, 93, '\p{^OMath=n}', 'deprecated');
-Expect(0, 93, '\P{OMath=n}', 'deprecated');
-Expect(1, 93, '\P{^OMath=n}', 'deprecated');
-Expect(0, 94, '\p{OMath=n}', 'deprecated');
-Expect(1, 94, '\p{^OMath=n}', 'deprecated');
-Expect(1, 94, '\P{OMath=n}', 'deprecated');
-Expect(0, 94, '\P{^OMath=n}', 'deprecated');
-Expect(1, 93, '\p{OMath=__N}', 'deprecated');
-Expect(0, 93, '\p{^OMath=__N}', 'deprecated');
-Expect(0, 93, '\P{OMath=__N}', 'deprecated');
-Expect(1, 93, '\P{^OMath=__N}', 'deprecated');
-Expect(0, 94, '\p{OMath=__N}', 'deprecated');
-Expect(1, 94, '\p{^OMath=__N}', 'deprecated');
-Expect(1, 94, '\P{OMath=__N}', 'deprecated');
-Expect(0, 94, '\P{^OMath=__N}', 'deprecated');
-Error('\p{Is_Other_Math= _F/a/}');
-Error('\P{Is_Other_Math= _F/a/}');
-Expect(1, 93, '\p{Is_Other_Math=f}', 'deprecated');
-Expect(0, 93, '\p{^Is_Other_Math=f}', 'deprecated');
-Expect(0, 93, '\P{Is_Other_Math=f}', 'deprecated');
-Expect(1, 93, '\P{^Is_Other_Math=f}', 'deprecated');
-Expect(0, 94, '\p{Is_Other_Math=f}', 'deprecated');
-Expect(1, 94, '\p{^Is_Other_Math=f}', 'deprecated');
-Expect(1, 94, '\P{Is_Other_Math=f}', 'deprecated');
-Expect(0, 94, '\P{^Is_Other_Math=f}', 'deprecated');
-Expect(1, 93, '\p{Is_Other_Math= F}', 'deprecated');
-Expect(0, 93, '\p{^Is_Other_Math= F}', 'deprecated');
-Expect(0, 93, '\P{Is_Other_Math= F}', 'deprecated');
-Expect(1, 93, '\P{^Is_Other_Math= F}', 'deprecated');
-Expect(0, 94, '\p{Is_Other_Math= F}', 'deprecated');
-Expect(1, 94, '\p{^Is_Other_Math= F}', 'deprecated');
-Expect(1, 94, '\P{Is_Other_Math= F}', 'deprecated');
-Expect(0, 94, '\P{^Is_Other_Math= F}', 'deprecated');
-Error('\p{Is_OMath=:= false}');
-Error('\P{Is_OMath=:= false}');
-Expect(1, 93, '\p{Is_OMath=false}', 'deprecated');
-Expect(0, 93, '\p{^Is_OMath=false}', 'deprecated');
-Expect(0, 93, '\P{Is_OMath=false}', 'deprecated');
-Expect(1, 93, '\P{^Is_OMath=false}', 'deprecated');
-Expect(0, 94, '\p{Is_OMath=false}', 'deprecated');
-Expect(1, 94, '\p{^Is_OMath=false}', 'deprecated');
-Expect(1, 94, '\P{Is_OMath=false}', 'deprecated');
-Expect(0, 94, '\P{^Is_OMath=false}', 'deprecated');
-Expect(1, 93, '\p{Is_OMath=-False}', 'deprecated');
-Expect(0, 93, '\p{^Is_OMath=-False}', 'deprecated');
-Expect(0, 93, '\P{Is_OMath=-False}', 'deprecated');
-Expect(1, 93, '\P{^Is_OMath=-False}', 'deprecated');
-Expect(0, 94, '\p{Is_OMath=-False}', 'deprecated');
-Expect(1, 94, '\p{^Is_OMath=-False}', 'deprecated');
-Expect(1, 94, '\P{Is_OMath=-False}', 'deprecated');
-Expect(0, 94, '\P{^Is_OMath=-False}', 'deprecated');
-Error('\p{Hyphen=-yes:=}');
-Error('\P{Hyphen=-yes:=}');
-Expect(1, 45, '\p{Hyphen: yes}', "");
-Expect(0, 45, '\p{^Hyphen: yes}', "");
-Expect(0, 45, '\P{Hyphen: yes}', "");
-Expect(1, 45, '\P{^Hyphen: yes}', "");
-Expect(0, 44, '\p{Hyphen: yes}', "");
-Expect(1, 44, '\p{^Hyphen: yes}', "");
-Expect(1, 44, '\P{Hyphen: yes}', "");
-Expect(0, 44, '\P{^Hyphen: yes}', "");
-Expect(1, 45, '\p{Hyphen=-yes}', "");
-Expect(0, 45, '\p{^Hyphen=-yes}', "");
-Expect(0, 45, '\P{Hyphen=-yes}', "");
-Expect(1, 45, '\P{^Hyphen=-yes}', "");
-Expect(0, 44, '\p{Hyphen=-yes}', "");
-Expect(1, 44, '\p{^Hyphen=-yes}', "");
-Expect(1, 44, '\P{Hyphen=-yes}', "");
-Expect(0, 44, '\P{^Hyphen=-yes}', "");
-Error('\p{Is_Hyphen=- Y/a/}');
-Error('\P{Is_Hyphen=- Y/a/}');
-Expect(1, 45, '\p{Is_Hyphen=y}', "");
-Expect(0, 45, '\p{^Is_Hyphen=y}', "");
-Expect(0, 45, '\P{Is_Hyphen=y}', "");
-Expect(1, 45, '\P{^Is_Hyphen=y}', "");
-Expect(0, 44, '\p{Is_Hyphen=y}', "");
-Expect(1, 44, '\p{^Is_Hyphen=y}', "");
-Expect(1, 44, '\P{Is_Hyphen=y}', "");
-Expect(0, 44, '\P{^Is_Hyphen=y}', "");
-Expect(1, 45, '\p{Is_Hyphen= -y}', "");
-Expect(0, 45, '\p{^Is_Hyphen= -y}', "");
-Expect(0, 45, '\P{Is_Hyphen= -y}', "");
-Expect(1, 45, '\P{^Is_Hyphen= -y}', "");
-Expect(0, 44, '\p{Is_Hyphen= -y}', "");
-Expect(1, 44, '\p{^Is_Hyphen= -y}', "");
-Expect(1, 44, '\P{Is_Hyphen= -y}', "");
-Expect(0, 44, '\P{^Is_Hyphen= -y}', "");
-Error('\p{Hyphen=_ T/a/}');
-Error('\P{Hyphen=_ T/a/}');
-Expect(1, 45, '\p{Hyphen=t}', "");
-Expect(0, 45, '\p{^Hyphen=t}', "");
-Expect(0, 45, '\P{Hyphen=t}', "");
-Expect(1, 45, '\P{^Hyphen=t}', "");
-Expect(0, 44, '\p{Hyphen=t}', "");
-Expect(1, 44, '\p{^Hyphen=t}', "");
-Expect(1, 44, '\P{Hyphen=t}', "");
-Expect(0, 44, '\P{^Hyphen=t}', "");
-Expect(1, 45, '\p{Hyphen=_ T}', "");
-Expect(0, 45, '\p{^Hyphen=_ T}', "");
-Expect(0, 45, '\P{Hyphen=_ T}', "");
-Expect(1, 45, '\P{^Hyphen=_ T}', "");
-Expect(0, 44, '\p{Hyphen=_ T}', "");
-Expect(1, 44, '\p{^Hyphen=_ T}', "");
-Expect(1, 44, '\P{Hyphen=_ T}', "");
-Expect(0, 44, '\P{^Hyphen=_ T}', "");
-Error('\p{Is_Hyphen= /a/TRUE}');
-Error('\P{Is_Hyphen= /a/TRUE}');
-Expect(1, 45, '\p{Is_Hyphen=true}', "");
-Expect(0, 45, '\p{^Is_Hyphen=true}', "");
-Expect(0, 45, '\P{Is_Hyphen=true}', "");
-Expect(1, 45, '\P{^Is_Hyphen=true}', "");
-Expect(0, 44, '\p{Is_Hyphen=true}', "");
-Expect(1, 44, '\p{^Is_Hyphen=true}', "");
-Expect(1, 44, '\P{Is_Hyphen=true}', "");
-Expect(0, 44, '\P{^Is_Hyphen=true}', "");
-Expect(1, 45, '\p{Is_Hyphen= TRUE}', "");
-Expect(0, 45, '\p{^Is_Hyphen= TRUE}', "");
-Expect(0, 45, '\P{Is_Hyphen= TRUE}', "");
-Expect(1, 45, '\P{^Is_Hyphen= TRUE}', "");
-Expect(0, 44, '\p{Is_Hyphen= TRUE}', "");
-Expect(1, 44, '\p{^Is_Hyphen= TRUE}', "");
-Expect(1, 44, '\P{Is_Hyphen= TRUE}', "");
-Expect(0, 44, '\P{^Is_Hyphen= TRUE}', "");
-Error('\p{Hyphen=:=No}');
-Error('\P{Hyphen=:=No}');
-Expect(1, 44, '\p{Hyphen=no}', "");
-Expect(0, 44, '\p{^Hyphen=no}', "");
-Expect(0, 44, '\P{Hyphen=no}', "");
-Expect(1, 44, '\P{^Hyphen=no}', "");
-Expect(0, 45, '\p{Hyphen=no}', "");
-Expect(1, 45, '\p{^Hyphen=no}', "");
-Expect(1, 45, '\P{Hyphen=no}', "");
-Expect(0, 45, '\P{^Hyphen=no}', "");
-Expect(1, 44, '\p{Hyphen= NO}', "");
-Expect(0, 44, '\p{^Hyphen= NO}', "");
-Expect(0, 44, '\P{Hyphen= NO}', "");
-Expect(1, 44, '\P{^Hyphen= NO}', "");
-Expect(0, 45, '\p{Hyphen= NO}', "");
-Expect(1, 45, '\p{^Hyphen= NO}', "");
-Expect(1, 45, '\P{Hyphen= NO}', "");
-Expect(0, 45, '\P{^Hyphen= NO}', "");
-Error('\p{Is_Hyphen=/a/__N}');
-Error('\P{Is_Hyphen=/a/__N}');
-Expect(1, 44, '\p{Is_Hyphen=n}', "");
-Expect(0, 44, '\p{^Is_Hyphen=n}', "");
-Expect(0, 44, '\P{Is_Hyphen=n}', "");
-Expect(1, 44, '\P{^Is_Hyphen=n}', "");
-Expect(0, 45, '\p{Is_Hyphen=n}', "");
-Expect(1, 45, '\p{^Is_Hyphen=n}', "");
-Expect(1, 45, '\P{Is_Hyphen=n}', "");
-Expect(0, 45, '\P{^Is_Hyphen=n}', "");
-Expect(1, 44, '\p{Is_Hyphen: N}', "");
-Expect(0, 44, '\p{^Is_Hyphen: N}', "");
-Expect(0, 44, '\P{Is_Hyphen: N}', "");
-Expect(1, 44, '\P{^Is_Hyphen: N}', "");
-Expect(0, 45, '\p{Is_Hyphen: N}', "");
-Expect(1, 45, '\p{^Is_Hyphen: N}', "");
-Expect(1, 45, '\P{Is_Hyphen: N}', "");
-Expect(0, 45, '\P{^Is_Hyphen: N}', "");
-Error('\p{Hyphen=:=-F}');
-Error('\P{Hyphen=:=-F}');
-Expect(1, 44, '\p{Hyphen=f}', "");
-Expect(0, 44, '\p{^Hyphen=f}', "");
-Expect(0, 44, '\P{Hyphen=f}', "");
-Expect(1, 44, '\P{^Hyphen=f}', "");
-Expect(0, 45, '\p{Hyphen=f}', "");
-Expect(1, 45, '\p{^Hyphen=f}', "");
-Expect(1, 45, '\P{Hyphen=f}', "");
-Expect(0, 45, '\P{^Hyphen=f}', "");
-Expect(1, 44, '\p{Hyphen=F}', "");
-Expect(0, 44, '\p{^Hyphen=F}', "");
-Expect(0, 44, '\P{Hyphen=F}', "");
-Expect(1, 44, '\P{^Hyphen=F}', "");
-Expect(0, 45, '\p{Hyphen=F}', "");
-Expect(1, 45, '\p{^Hyphen=F}', "");
-Expect(1, 45, '\P{Hyphen=F}', "");
-Expect(0, 45, '\P{^Hyphen=F}', "");
-Error('\p{Is_Hyphen: _/a/False}');
-Error('\P{Is_Hyphen: _/a/False}');
-Expect(1, 44, '\p{Is_Hyphen=false}', "");
-Expect(0, 44, '\p{^Is_Hyphen=false}', "");
-Expect(0, 44, '\P{Is_Hyphen=false}', "");
-Expect(1, 44, '\P{^Is_Hyphen=false}', "");
-Expect(0, 45, '\p{Is_Hyphen=false}', "");
-Expect(1, 45, '\p{^Is_Hyphen=false}', "");
-Expect(1, 45, '\P{Is_Hyphen=false}', "");
-Expect(0, 45, '\P{^Is_Hyphen=false}', "");
-Expect(1, 44, '\p{Is_Hyphen=FALSE}', "");
-Expect(0, 44, '\p{^Is_Hyphen=FALSE}', "");
-Expect(0, 44, '\P{Is_Hyphen=FALSE}', "");
-Expect(1, 44, '\P{^Is_Hyphen=FALSE}', "");
-Expect(0, 45, '\p{Is_Hyphen=FALSE}', "");
-Expect(1, 45, '\p{^Is_Hyphen=FALSE}', "");
-Expect(1, 45, '\P{Is_Hyphen=FALSE}', "");
-Expect(0, 45, '\P{^Is_Hyphen=FALSE}', "");
-Error('\p{White_Space=:=-_Yes}');
-Error('\P{White_Space=:=-_Yes}');
-Expect(1, 13, '\p{White_Space=yes}', "");
-Expect(0, 13, '\p{^White_Space=yes}', "");
-Expect(0, 13, '\P{White_Space=yes}', "");
-Expect(1, 13, '\P{^White_Space=yes}', "");
-Expect(0, 8, '\p{White_Space=yes}', "");
-Expect(1, 8, '\p{^White_Space=yes}', "");
-Expect(1, 8, '\P{White_Space=yes}', "");
-Expect(0, 8, '\P{^White_Space=yes}', "");
-Expect(1, 13, '\p{White_Space=- YES}', "");
-Expect(0, 13, '\p{^White_Space=- YES}', "");
-Expect(0, 13, '\P{White_Space=- YES}', "");
-Expect(1, 13, '\P{^White_Space=- YES}', "");
-Expect(0, 8, '\p{White_Space=- YES}', "");
-Expect(1, 8, '\p{^White_Space=- YES}', "");
-Expect(1, 8, '\P{White_Space=- YES}', "");
-Expect(0, 8, '\P{^White_Space=- YES}', "");
-Error('\p{WSpace= Y/a/}');
-Error('\P{WSpace= Y/a/}');
-Expect(1, 13, '\p{WSpace: y}', "");
-Expect(0, 13, '\p{^WSpace: y}', "");
-Expect(0, 13, '\P{WSpace: y}', "");
-Expect(1, 13, '\P{^WSpace: y}', "");
-Expect(0, 8, '\p{WSpace: y}', "");
-Expect(1, 8, '\p{^WSpace: y}', "");
-Expect(1, 8, '\P{WSpace: y}', "");
-Expect(0, 8, '\P{^WSpace: y}', "");
-Expect(1, 13, '\p{WSpace: Y}', "");
-Expect(0, 13, '\p{^WSpace: Y}', "");
-Expect(0, 13, '\P{WSpace: Y}', "");
-Expect(1, 13, '\P{^WSpace: Y}', "");
-Expect(0, 8, '\p{WSpace: Y}', "");
-Expect(1, 8, '\p{^WSpace: Y}', "");
-Expect(1, 8, '\P{WSpace: Y}', "");
-Expect(0, 8, '\P{^WSpace: Y}', "");
-Error('\p{Space= T/a/}');
-Error('\P{Space= T/a/}');
-Expect(1, 13, '\p{Space=t}', "");
-Expect(0, 13, '\p{^Space=t}', "");
-Expect(0, 13, '\P{Space=t}', "");
-Expect(1, 13, '\P{^Space=t}', "");
-Expect(0, 8, '\p{Space=t}', "");
-Expect(1, 8, '\p{^Space=t}', "");
-Expect(1, 8, '\P{Space=t}', "");
-Expect(0, 8, '\P{^Space=t}', "");
-Expect(1, 13, '\p{Space= _T}', "");
-Expect(0, 13, '\p{^Space= _T}', "");
-Expect(0, 13, '\P{Space= _T}', "");
-Expect(1, 13, '\P{^Space= _T}', "");
-Expect(0, 8, '\p{Space= _T}', "");
-Expect(1, 8, '\p{^Space= _T}', "");
-Expect(1, 8, '\P{Space= _T}', "");
-Expect(0, 8, '\P{^Space= _T}', "");
-Error('\p{Is_White_Space: := TRUE}');
-Error('\P{Is_White_Space: := TRUE}');
-Expect(1, 13, '\p{Is_White_Space=true}', "");
-Expect(0, 13, '\p{^Is_White_Space=true}', "");
-Expect(0, 13, '\P{Is_White_Space=true}', "");
-Expect(1, 13, '\P{^Is_White_Space=true}', "");
-Expect(0, 8, '\p{Is_White_Space=true}', "");
-Expect(1, 8, '\p{^Is_White_Space=true}', "");
-Expect(1, 8, '\P{Is_White_Space=true}', "");
-Expect(0, 8, '\P{^Is_White_Space=true}', "");
-Expect(1, 13, '\p{Is_White_Space=_ true}', "");
-Expect(0, 13, '\p{^Is_White_Space=_ true}', "");
-Expect(0, 13, '\P{Is_White_Space=_ true}', "");
-Expect(1, 13, '\P{^Is_White_Space=_ true}', "");
-Expect(0, 8, '\p{Is_White_Space=_ true}', "");
-Expect(1, 8, '\p{^Is_White_Space=_ true}', "");
-Expect(1, 8, '\P{Is_White_Space=_ true}', "");
-Expect(0, 8, '\P{^Is_White_Space=_ true}', "");
-Error('\p{Is_WSpace=_/a/YES}');
-Error('\P{Is_WSpace=_/a/YES}');
-Expect(1, 13, '\p{Is_WSpace=yes}', "");
-Expect(0, 13, '\p{^Is_WSpace=yes}', "");
-Expect(0, 13, '\P{Is_WSpace=yes}', "");
-Expect(1, 13, '\P{^Is_WSpace=yes}', "");
-Expect(0, 8, '\p{Is_WSpace=yes}', "");
-Expect(1, 8, '\p{^Is_WSpace=yes}', "");
-Expect(1, 8, '\P{Is_WSpace=yes}', "");
-Expect(0, 8, '\P{^Is_WSpace=yes}', "");
-Error('\p{Is_Space=/a/ -Y}');
-Error('\P{Is_Space=/a/ -Y}');
-Expect(1, 13, '\p{Is_Space=y}', "");
-Expect(0, 13, '\p{^Is_Space=y}', "");
-Expect(0, 13, '\P{Is_Space=y}', "");
-Expect(1, 13, '\P{^Is_Space=y}', "");
-Expect(0, 8, '\p{Is_Space=y}', "");
-Expect(1, 8, '\p{^Is_Space=y}', "");
-Expect(1, 8, '\P{Is_Space=y}', "");
-Expect(0, 8, '\P{^Is_Space=y}', "");
-Expect(1, 13, '\p{Is_Space=_ Y}', "");
-Expect(0, 13, '\p{^Is_Space=_ Y}', "");
-Expect(0, 13, '\P{Is_Space=_ Y}', "");
-Expect(1, 13, '\P{^Is_Space=_ Y}', "");
-Expect(0, 8, '\p{Is_Space=_ Y}', "");
-Expect(1, 8, '\p{^Is_Space=_ Y}', "");
-Expect(1, 8, '\P{Is_Space=_ Y}', "");
-Expect(0, 8, '\P{^Is_Space=_ Y}', "");
-Error('\p{White_Space: _NO:=}');
-Error('\P{White_Space: _NO:=}');
-Expect(1, 8, '\p{White_Space: no}', "");
-Expect(0, 8, '\p{^White_Space: no}', "");
-Expect(0, 8, '\P{White_Space: no}', "");
-Expect(1, 8, '\P{^White_Space: no}', "");
-Expect(0, 13, '\p{White_Space: no}', "");
-Expect(1, 13, '\p{^White_Space: no}', "");
-Expect(1, 13, '\P{White_Space: no}', "");
-Expect(0, 13, '\P{^White_Space: no}', "");
-Expect(1, 8, '\p{White_Space=No}', "");
-Expect(0, 8, '\p{^White_Space=No}', "");
-Expect(0, 8, '\P{White_Space=No}', "");
-Expect(1, 8, '\P{^White_Space=No}', "");
-Expect(0, 13, '\p{White_Space=No}', "");
-Expect(1, 13, '\p{^White_Space=No}', "");
-Expect(1, 13, '\P{White_Space=No}', "");
-Expect(0, 13, '\P{^White_Space=No}', "");
-Error('\p{WSpace=/a/ _n}');
-Error('\P{WSpace=/a/ _n}');
-Expect(1, 8, '\p{WSpace=n}', "");
-Expect(0, 8, '\p{^WSpace=n}', "");
-Expect(0, 8, '\P{WSpace=n}', "");
-Expect(1, 8, '\P{^WSpace=n}', "");
-Expect(0, 13, '\p{WSpace=n}', "");
-Expect(1, 13, '\p{^WSpace=n}', "");
-Expect(1, 13, '\P{WSpace=n}', "");
-Expect(0, 13, '\P{^WSpace=n}', "");
-Expect(1, 8, '\p{WSpace=_-N}', "");
-Expect(0, 8, '\p{^WSpace=_-N}', "");
-Expect(0, 8, '\P{WSpace=_-N}', "");
-Expect(1, 8, '\P{^WSpace=_-N}', "");
-Expect(0, 13, '\p{WSpace=_-N}', "");
-Expect(1, 13, '\p{^WSpace=_-N}', "");
-Expect(1, 13, '\P{WSpace=_-N}', "");
-Expect(0, 13, '\P{^WSpace=_-N}', "");
-Error('\p{Space=/a/F}');
-Error('\P{Space=/a/F}');
-Expect(1, 8, '\p{Space=f}', "");
-Expect(0, 8, '\p{^Space=f}', "");
-Expect(0, 8, '\P{Space=f}', "");
-Expect(1, 8, '\P{^Space=f}', "");
-Expect(0, 13, '\p{Space=f}', "");
-Expect(1, 13, '\p{^Space=f}', "");
-Expect(1, 13, '\P{Space=f}', "");
-Expect(0, 13, '\P{^Space=f}', "");
-Expect(1, 8, '\p{Space=- F}', "");
-Expect(0, 8, '\p{^Space=- F}', "");
-Expect(0, 8, '\P{Space=- F}', "");
-Expect(1, 8, '\P{^Space=- F}', "");
-Expect(0, 13, '\p{Space=- F}', "");
-Expect(1, 13, '\p{^Space=- F}', "");
-Expect(1, 13, '\P{Space=- F}', "");
-Expect(0, 13, '\P{^Space=- F}', "");
-Error('\p{Is_White_Space= -False/a/}');
-Error('\P{Is_White_Space= -False/a/}');
-Expect(1, 8, '\p{Is_White_Space=false}', "");
-Expect(0, 8, '\p{^Is_White_Space=false}', "");
-Expect(0, 8, '\P{Is_White_Space=false}', "");
-Expect(1, 8, '\P{^Is_White_Space=false}', "");
-Expect(0, 13, '\p{Is_White_Space=false}', "");
-Expect(1, 13, '\p{^Is_White_Space=false}', "");
-Expect(1, 13, '\P{Is_White_Space=false}', "");
-Expect(0, 13, '\P{^Is_White_Space=false}', "");
-Expect(1, 8, '\p{Is_White_Space=_-FALSE}', "");
-Expect(0, 8, '\p{^Is_White_Space=_-FALSE}', "");
-Expect(0, 8, '\P{Is_White_Space=_-FALSE}', "");
-Expect(1, 8, '\P{^Is_White_Space=_-FALSE}', "");
-Expect(0, 13, '\p{Is_White_Space=_-FALSE}', "");
-Expect(1, 13, '\p{^Is_White_Space=_-FALSE}', "");
-Expect(1, 13, '\P{Is_White_Space=_-FALSE}', "");
-Expect(0, 13, '\P{^Is_White_Space=_-FALSE}', "");
-Error('\p{Is_WSpace=--no:=}');
-Error('\P{Is_WSpace=--no:=}');
-Expect(1, 8, '\p{Is_WSpace=no}', "");
-Expect(0, 8, '\p{^Is_WSpace=no}', "");
-Expect(0, 8, '\P{Is_WSpace=no}', "");
-Expect(1, 8, '\P{^Is_WSpace=no}', "");
-Expect(0, 13, '\p{Is_WSpace=no}', "");
-Expect(1, 13, '\p{^Is_WSpace=no}', "");
-Expect(1, 13, '\P{Is_WSpace=no}', "");
-Expect(0, 13, '\P{^Is_WSpace=no}', "");
-Expect(1, 8, '\p{Is_WSpace=- No}', "");
-Expect(0, 8, '\p{^Is_WSpace=- No}', "");
-Expect(0, 8, '\P{Is_WSpace=- No}', "");
-Expect(1, 8, '\P{^Is_WSpace=- No}', "");
-Expect(0, 13, '\p{Is_WSpace=- No}', "");
-Expect(1, 13, '\p{^Is_WSpace=- No}', "");
-Expect(1, 13, '\P{Is_WSpace=- No}', "");
-Expect(0, 13, '\P{^Is_WSpace=- No}', "");
-Error('\p{Is_Space=_N/a/}');
-Error('\P{Is_Space=_N/a/}');
-Expect(1, 8, '\p{Is_Space=n}', "");
-Expect(0, 8, '\p{^Is_Space=n}', "");
-Expect(0, 8, '\P{Is_Space=n}', "");
-Expect(1, 8, '\P{^Is_Space=n}', "");
-Expect(0, 13, '\p{Is_Space=n}', "");
-Expect(1, 13, '\p{^Is_Space=n}', "");
-Expect(1, 13, '\P{Is_Space=n}', "");
-Expect(0, 13, '\P{^Is_Space=n}', "");
-Expect(1, 8, '\p{Is_Space= N}', "");
-Expect(0, 8, '\p{^Is_Space= N}', "");
-Expect(0, 8, '\P{Is_Space= N}', "");
-Expect(1, 8, '\P{^Is_Space= N}', "");
-Expect(0, 13, '\p{Is_Space= N}', "");
-Expect(1, 13, '\p{^Is_Space= N}', "");
-Expect(1, 13, '\P{Is_Space= N}', "");
-Expect(0, 13, '\P{^Is_Space= N}', "");
-Error('\p{XID_Continue=-Yes:=}');
-Error('\P{XID_Continue=-Yes:=}');
-Expect(1, 57, '\p{XID_Continue: yes}', "");
-Expect(0, 57, '\p{^XID_Continue: yes}', "");
-Expect(0, 57, '\P{XID_Continue: yes}', "");
-Expect(1, 57, '\P{^XID_Continue: yes}', "");
-Expect(0, 47, '\p{XID_Continue: yes}', "");
-Expect(1, 47, '\p{^XID_Continue: yes}', "");
-Expect(1, 47, '\P{XID_Continue: yes}', "");
-Expect(0, 47, '\P{^XID_Continue: yes}', "");
-Expect(1, 57, '\p{XID_Continue: Yes}', "");
-Expect(0, 57, '\p{^XID_Continue: Yes}', "");
-Expect(0, 57, '\P{XID_Continue: Yes}', "");
-Expect(1, 57, '\P{^XID_Continue: Yes}', "");
-Expect(0, 47, '\p{XID_Continue: Yes}', "");
-Expect(1, 47, '\p{^XID_Continue: Yes}', "");
-Expect(1, 47, '\P{XID_Continue: Yes}', "");
-Expect(0, 47, '\P{^XID_Continue: Yes}', "");
-Error('\p{XIDC= :=y}');
-Error('\P{XIDC= :=y}');
-Expect(1, 57, '\p{XIDC=y}', "");
-Expect(0, 57, '\p{^XIDC=y}', "");
-Expect(0, 57, '\P{XIDC=y}', "");
-Expect(1, 57, '\P{^XIDC=y}', "");
-Expect(0, 47, '\p{XIDC=y}', "");
-Expect(1, 47, '\p{^XIDC=y}', "");
-Expect(1, 47, '\P{XIDC=y}', "");
-Expect(0, 47, '\P{^XIDC=y}', "");
-Expect(1, 57, '\p{XIDC= _y}', "");
-Expect(0, 57, '\p{^XIDC= _y}', "");
-Expect(0, 57, '\P{XIDC= _y}', "");
-Expect(1, 57, '\P{^XIDC= _y}', "");
-Expect(0, 47, '\p{XIDC= _y}', "");
-Expect(1, 47, '\p{^XIDC= _y}', "");
-Expect(1, 47, '\P{XIDC= _y}', "");
-Expect(0, 47, '\P{^XIDC= _y}', "");
-Error('\p{Is_XID_Continue=:= -T}');
-Error('\P{Is_XID_Continue=:= -T}');
-Expect(1, 57, '\p{Is_XID_Continue=t}', "");
-Expect(0, 57, '\p{^Is_XID_Continue=t}', "");
-Expect(0, 57, '\P{Is_XID_Continue=t}', "");
-Expect(1, 57, '\P{^Is_XID_Continue=t}', "");
-Expect(0, 47, '\p{Is_XID_Continue=t}', "");
-Expect(1, 47, '\p{^Is_XID_Continue=t}', "");
-Expect(1, 47, '\P{Is_XID_Continue=t}', "");
-Expect(0, 47, '\P{^Is_XID_Continue=t}', "");
-Expect(1, 57, '\p{Is_XID_Continue=-T}', "");
-Expect(0, 57, '\p{^Is_XID_Continue=-T}', "");
-Expect(0, 57, '\P{Is_XID_Continue=-T}', "");
-Expect(1, 57, '\P{^Is_XID_Continue=-T}', "");
-Expect(0, 47, '\p{Is_XID_Continue=-T}', "");
-Expect(1, 47, '\p{^Is_XID_Continue=-T}', "");
-Expect(1, 47, '\P{Is_XID_Continue=-T}', "");
-Expect(0, 47, '\P{^Is_XID_Continue=-T}', "");
-Error('\p{Is_XIDC=_/a/True}');
-Error('\P{Is_XIDC=_/a/True}');
-Expect(1, 57, '\p{Is_XIDC=true}', "");
-Expect(0, 57, '\p{^Is_XIDC=true}', "");
-Expect(0, 57, '\P{Is_XIDC=true}', "");
-Expect(1, 57, '\P{^Is_XIDC=true}', "");
-Expect(0, 47, '\p{Is_XIDC=true}', "");
-Expect(1, 47, '\p{^Is_XIDC=true}', "");
-Expect(1, 47, '\P{Is_XIDC=true}', "");
-Expect(0, 47, '\P{^Is_XIDC=true}', "");
-Expect(1, 57, '\p{Is_XIDC=_True}', "");
-Expect(0, 57, '\p{^Is_XIDC=_True}', "");
-Expect(0, 57, '\P{Is_XIDC=_True}', "");
-Expect(1, 57, '\P{^Is_XIDC=_True}', "");
-Expect(0, 47, '\p{Is_XIDC=_True}', "");
-Expect(1, 47, '\p{^Is_XIDC=_True}', "");
-Expect(1, 47, '\P{Is_XIDC=_True}', "");
-Expect(0, 47, '\P{^Is_XIDC=_True}', "");
-Error('\p{XID_Continue=_ No:=}');
-Error('\P{XID_Continue=_ No:=}');
-Expect(1, 47, '\p{XID_Continue=no}', "");
-Expect(0, 47, '\p{^XID_Continue=no}', "");
-Expect(0, 47, '\P{XID_Continue=no}', "");
-Expect(1, 47, '\P{^XID_Continue=no}', "");
-Expect(0, 57, '\p{XID_Continue=no}', "");
-Expect(1, 57, '\p{^XID_Continue=no}', "");
-Expect(1, 57, '\P{XID_Continue=no}', "");
-Expect(0, 57, '\P{^XID_Continue=no}', "");
-Expect(1, 47, '\p{XID_Continue: -no}', "");
-Expect(0, 47, '\p{^XID_Continue: -no}', "");
-Expect(0, 47, '\P{XID_Continue: -no}', "");
-Expect(1, 47, '\P{^XID_Continue: -no}', "");
-Expect(0, 57, '\p{XID_Continue: -no}', "");
-Expect(1, 57, '\p{^XID_Continue: -no}', "");
-Expect(1, 57, '\P{XID_Continue: -no}', "");
-Expect(0, 57, '\P{^XID_Continue: -no}', "");
-Error('\p{XIDC:/a/_N}');
-Error('\P{XIDC:/a/_N}');
-Expect(1, 47, '\p{XIDC=n}', "");
-Expect(0, 47, '\p{^XIDC=n}', "");
-Expect(0, 47, '\P{XIDC=n}', "");
-Expect(1, 47, '\P{^XIDC=n}', "");
-Expect(0, 57, '\p{XIDC=n}', "");
-Expect(1, 57, '\p{^XIDC=n}', "");
-Expect(1, 57, '\P{XIDC=n}', "");
-Expect(0, 57, '\P{^XIDC=n}', "");
-Expect(1, 47, '\p{XIDC=_ N}', "");
-Expect(0, 47, '\p{^XIDC=_ N}', "");
-Expect(0, 47, '\P{XIDC=_ N}', "");
-Expect(1, 47, '\P{^XIDC=_ N}', "");
-Expect(0, 57, '\p{XIDC=_ N}', "");
-Expect(1, 57, '\p{^XIDC=_ N}', "");
-Expect(1, 57, '\P{XIDC=_ N}', "");
-Expect(0, 57, '\P{^XIDC=_ N}', "");
-Error('\p{Is_XID_Continue=-/a/F}');
-Error('\P{Is_XID_Continue=-/a/F}');
-Expect(1, 47, '\p{Is_XID_Continue=f}', "");
-Expect(0, 47, '\p{^Is_XID_Continue=f}', "");
-Expect(0, 47, '\P{Is_XID_Continue=f}', "");
-Expect(1, 47, '\P{^Is_XID_Continue=f}', "");
-Expect(0, 57, '\p{Is_XID_Continue=f}', "");
-Expect(1, 57, '\p{^Is_XID_Continue=f}', "");
-Expect(1, 57, '\P{Is_XID_Continue=f}', "");
-Expect(0, 57, '\P{^Is_XID_Continue=f}', "");
-Expect(1, 47, '\p{Is_XID_Continue: F}', "");
-Expect(0, 47, '\p{^Is_XID_Continue: F}', "");
-Expect(0, 47, '\P{Is_XID_Continue: F}', "");
-Expect(1, 47, '\P{^Is_XID_Continue: F}', "");
-Expect(0, 57, '\p{Is_XID_Continue: F}', "");
-Expect(1, 57, '\p{^Is_XID_Continue: F}', "");
-Expect(1, 57, '\P{Is_XID_Continue: F}', "");
-Expect(0, 57, '\P{^Is_XID_Continue: F}', "");
-Error('\p{Is_XIDC=-/a/FALSE}');
-Error('\P{Is_XIDC=-/a/FALSE}');
-Expect(1, 47, '\p{Is_XIDC=false}', "");
-Expect(0, 47, '\p{^Is_XIDC=false}', "");
-Expect(0, 47, '\P{Is_XIDC=false}', "");
-Expect(1, 47, '\P{^Is_XIDC=false}', "");
-Expect(0, 57, '\p{Is_XIDC=false}', "");
-Expect(1, 57, '\p{^Is_XIDC=false}', "");
-Expect(1, 57, '\P{Is_XIDC=false}', "");
-Expect(0, 57, '\P{^Is_XIDC=false}', "");
-Expect(1, 47, '\p{Is_XIDC: - FALSE}', "");
-Expect(0, 47, '\p{^Is_XIDC: - FALSE}', "");
-Expect(0, 47, '\P{Is_XIDC: - FALSE}', "");
-Expect(1, 47, '\P{^Is_XIDC: - FALSE}', "");
-Expect(0, 57, '\p{Is_XIDC: - FALSE}', "");
-Expect(1, 57, '\p{^Is_XIDC: - FALSE}', "");
-Expect(1, 57, '\P{Is_XIDC: - FALSE}', "");
-Expect(0, 57, '\P{^Is_XIDC: - FALSE}', "");
-Error('\p{XID_Start= :=Yes}');
-Error('\P{XID_Start= :=Yes}');
-Expect(1, 90, '\p{XID_Start=yes}', "");
-Expect(0, 90, '\p{^XID_Start=yes}', "");
-Expect(0, 90, '\P{XID_Start=yes}', "");
-Expect(1, 90, '\P{^XID_Start=yes}', "");
-Expect(0, 64, '\p{XID_Start=yes}', "");
-Expect(1, 64, '\p{^XID_Start=yes}', "");
-Expect(1, 64, '\P{XID_Start=yes}', "");
-Expect(0, 64, '\P{^XID_Start=yes}', "");
-Expect(1, 90, '\p{XID_Start: --Yes}', "");
-Expect(0, 90, '\p{^XID_Start: --Yes}', "");
-Expect(0, 90, '\P{XID_Start: --Yes}', "");
-Expect(1, 90, '\P{^XID_Start: --Yes}', "");
-Expect(0, 64, '\p{XID_Start: --Yes}', "");
-Expect(1, 64, '\p{^XID_Start: --Yes}', "");
-Expect(1, 64, '\P{XID_Start: --Yes}', "");
-Expect(0, 64, '\P{^XID_Start: --Yes}', "");
-Error('\p{XIDS= -Y/a/}');
-Error('\P{XIDS= -Y/a/}');
-Expect(1, 90, '\p{XIDS=y}', "");
-Expect(0, 90, '\p{^XIDS=y}', "");
-Expect(0, 90, '\P{XIDS=y}', "");
-Expect(1, 90, '\P{^XIDS=y}', "");
-Expect(0, 64, '\p{XIDS=y}', "");
-Expect(1, 64, '\p{^XIDS=y}', "");
-Expect(1, 64, '\P{XIDS=y}', "");
-Expect(0, 64, '\P{^XIDS=y}', "");
-Expect(1, 90, '\p{XIDS=_-y}', "");
-Expect(0, 90, '\p{^XIDS=_-y}', "");
-Expect(0, 90, '\P{XIDS=_-y}', "");
-Expect(1, 90, '\P{^XIDS=_-y}', "");
-Expect(0, 64, '\p{XIDS=_-y}', "");
-Expect(1, 64, '\p{^XIDS=_-y}', "");
-Expect(1, 64, '\P{XIDS=_-y}', "");
-Expect(0, 64, '\P{^XIDS=_-y}', "");
-Error('\p{Is_XID_Start= T:=}');
-Error('\P{Is_XID_Start= T:=}');
-Expect(1, 90, '\p{Is_XID_Start=t}', "");
-Expect(0, 90, '\p{^Is_XID_Start=t}', "");
-Expect(0, 90, '\P{Is_XID_Start=t}', "");
-Expect(1, 90, '\P{^Is_XID_Start=t}', "");
-Expect(0, 64, '\p{Is_XID_Start=t}', "");
-Expect(1, 64, '\p{^Is_XID_Start=t}', "");
-Expect(1, 64, '\P{Is_XID_Start=t}', "");
-Expect(0, 64, '\P{^Is_XID_Start=t}', "");
-Expect(1, 90, '\p{Is_XID_Start=_t}', "");
-Expect(0, 90, '\p{^Is_XID_Start=_t}', "");
-Expect(0, 90, '\P{Is_XID_Start=_t}', "");
-Expect(1, 90, '\P{^Is_XID_Start=_t}', "");
-Expect(0, 64, '\p{Is_XID_Start=_t}', "");
-Expect(1, 64, '\p{^Is_XID_Start=_t}', "");
-Expect(1, 64, '\P{Is_XID_Start=_t}', "");
-Expect(0, 64, '\P{^Is_XID_Start=_t}', "");
-Error('\p{Is_XIDS=_:=TRUE}');
-Error('\P{Is_XIDS=_:=TRUE}');
-Expect(1, 90, '\p{Is_XIDS=true}', "");
-Expect(0, 90, '\p{^Is_XIDS=true}', "");
-Expect(0, 90, '\P{Is_XIDS=true}', "");
-Expect(1, 90, '\P{^Is_XIDS=true}', "");
-Expect(0, 64, '\p{Is_XIDS=true}', "");
-Expect(1, 64, '\p{^Is_XIDS=true}', "");
-Expect(1, 64, '\P{Is_XIDS=true}', "");
-Expect(0, 64, '\P{^Is_XIDS=true}', "");
-Expect(1, 90, '\p{Is_XIDS= True}', "");
-Expect(0, 90, '\p{^Is_XIDS= True}', "");
-Expect(0, 90, '\P{Is_XIDS= True}', "");
-Expect(1, 90, '\P{^Is_XIDS= True}', "");
-Expect(0, 64, '\p{Is_XIDS= True}', "");
-Expect(1, 64, '\p{^Is_XIDS= True}', "");
-Expect(1, 64, '\P{Is_XIDS= True}', "");
-Expect(0, 64, '\P{^Is_XIDS= True}', "");
-Error('\p{XID_Start=:=No}');
-Error('\P{XID_Start=:=No}');
-Expect(1, 64, '\p{XID_Start=no}', "");
-Expect(0, 64, '\p{^XID_Start=no}', "");
-Expect(0, 64, '\P{XID_Start=no}', "");
-Expect(1, 64, '\P{^XID_Start=no}', "");
-Expect(0, 90, '\p{XID_Start=no}', "");
-Expect(1, 90, '\p{^XID_Start=no}', "");
-Expect(1, 90, '\P{XID_Start=no}', "");
-Expect(0, 90, '\P{^XID_Start=no}', "");
-Expect(1, 64, '\p{XID_Start= -No}', "");
-Expect(0, 64, '\p{^XID_Start= -No}', "");
-Expect(0, 64, '\P{XID_Start= -No}', "");
-Expect(1, 64, '\P{^XID_Start= -No}', "");
-Expect(0, 90, '\p{XID_Start= -No}', "");
-Expect(1, 90, '\p{^XID_Start= -No}', "");
-Expect(1, 90, '\P{XID_Start= -No}', "");
-Expect(0, 90, '\P{^XID_Start= -No}', "");
-Error('\p{XIDS: N:=}');
-Error('\P{XIDS: N:=}');
-Expect(1, 64, '\p{XIDS=n}', "");
-Expect(0, 64, '\p{^XIDS=n}', "");
-Expect(0, 64, '\P{XIDS=n}', "");
-Expect(1, 64, '\P{^XIDS=n}', "");
-Expect(0, 90, '\p{XIDS=n}', "");
-Expect(1, 90, '\p{^XIDS=n}', "");
-Expect(1, 90, '\P{XIDS=n}', "");
-Expect(0, 90, '\P{^XIDS=n}', "");
-Expect(1, 64, '\p{XIDS=- n}', "");
-Expect(0, 64, '\p{^XIDS=- n}', "");
-Expect(0, 64, '\P{XIDS=- n}', "");
-Expect(1, 64, '\P{^XIDS=- n}', "");
-Expect(0, 90, '\p{XIDS=- n}', "");
-Expect(1, 90, '\p{^XIDS=- n}', "");
-Expect(1, 90, '\P{XIDS=- n}', "");
-Expect(0, 90, '\P{^XIDS=- n}', "");
-Error('\p{Is_XID_Start=_-f:=}');
-Error('\P{Is_XID_Start=_-f:=}');
-Expect(1, 64, '\p{Is_XID_Start=f}', "");
-Expect(0, 64, '\p{^Is_XID_Start=f}', "");
-Expect(0, 64, '\P{Is_XID_Start=f}', "");
-Expect(1, 64, '\P{^Is_XID_Start=f}', "");
-Expect(0, 90, '\p{Is_XID_Start=f}', "");
-Expect(1, 90, '\p{^Is_XID_Start=f}', "");
-Expect(1, 90, '\P{Is_XID_Start=f}', "");
-Expect(0, 90, '\P{^Is_XID_Start=f}', "");
-Expect(1, 64, '\p{Is_XID_Start: F}', "");
-Expect(0, 64, '\p{^Is_XID_Start: F}', "");
-Expect(0, 64, '\P{Is_XID_Start: F}', "");
-Expect(1, 64, '\P{^Is_XID_Start: F}', "");
-Expect(0, 90, '\p{Is_XID_Start: F}', "");
-Expect(1, 90, '\p{^Is_XID_Start: F}', "");
-Expect(1, 90, '\P{Is_XID_Start: F}', "");
-Expect(0, 90, '\P{^Is_XID_Start: F}', "");
-Error('\p{Is_XIDS: :=_FALSE}');
-Error('\P{Is_XIDS: :=_FALSE}');
-Expect(1, 64, '\p{Is_XIDS=false}', "");
-Expect(0, 64, '\p{^Is_XIDS=false}', "");
-Expect(0, 64, '\P{Is_XIDS=false}', "");
-Expect(1, 64, '\P{^Is_XIDS=false}', "");
-Expect(0, 90, '\p{Is_XIDS=false}', "");
-Expect(1, 90, '\p{^Is_XIDS=false}', "");
-Expect(1, 90, '\P{Is_XIDS=false}', "");
-Expect(0, 90, '\P{^Is_XIDS=false}', "");
-Expect(1, 64, '\p{Is_XIDS= _FALSE}', "");
-Expect(0, 64, '\p{^Is_XIDS= _FALSE}', "");
-Expect(0, 64, '\P{Is_XIDS= _FALSE}', "");
-Expect(1, 64, '\P{^Is_XIDS= _FALSE}', "");
-Expect(0, 90, '\p{Is_XIDS= _FALSE}', "");
-Expect(1, 90, '\p{^Is_XIDS= _FALSE}', "");
-Expect(1, 90, '\P{Is_XIDS= _FALSE}', "");
-Expect(0, 90, '\P{^Is_XIDS= _FALSE}', "");
-Error('\p{Script=/a/-_New Tai_Lue}');
-Error('\P{Script=/a/-_New Tai_Lue}');
-Expect(1, 6571, '\p{Script=newtailue}', "");
-Expect(0, 6571, '\p{^Script=newtailue}', "");
-Expect(0, 6571, '\P{Script=newtailue}', "");
-Expect(1, 6571, '\P{^Script=newtailue}', "");
-Expect(0, 6527, '\p{Script=newtailue}', "");
-Expect(1, 6527, '\p{^Script=newtailue}', "");
-Expect(1, 6527, '\P{Script=newtailue}', "");
-Expect(0, 6527, '\P{^Script=newtailue}', "");
-Expect(1, 6571, '\p{Script= new_Tai_LUE}', "");
-Expect(0, 6571, '\p{^Script= new_Tai_LUE}', "");
-Expect(0, 6571, '\P{Script= new_Tai_LUE}', "");
-Expect(1, 6571, '\P{^Script= new_Tai_LUE}', "");
-Expect(0, 6527, '\p{Script= new_Tai_LUE}', "");
-Expect(1, 6527, '\p{^Script= new_Tai_LUE}', "");
-Expect(1, 6527, '\P{Script= new_Tai_LUE}', "");
-Expect(0, 6527, '\P{^Script= new_Tai_LUE}', "");
-Error('\p{Sc=-/a/Talu}');
-Error('\P{Sc=-/a/Talu}');
-Expect(1, 6571, '\p{Sc=talu}', "");
-Expect(0, 6571, '\p{^Sc=talu}', "");
-Expect(0, 6571, '\P{Sc=talu}', "");
-Expect(1, 6571, '\P{^Sc=talu}', "");
-Expect(0, 6527, '\p{Sc=talu}', "");
-Expect(1, 6527, '\p{^Sc=talu}', "");
-Expect(1, 6527, '\P{Sc=talu}', "");
-Expect(0, 6527, '\P{^Sc=talu}', "");
-Expect(1, 6571, '\p{Sc= Talu}', "");
-Expect(0, 6571, '\p{^Sc= Talu}', "");
-Expect(0, 6571, '\P{Sc= Talu}', "");
-Expect(1, 6571, '\P{^Sc= Talu}', "");
-Expect(0, 6527, '\p{Sc= Talu}', "");
-Expect(1, 6527, '\p{^Sc= Talu}', "");
-Expect(1, 6527, '\P{Sc= Talu}', "");
-Expect(0, 6527, '\P{^Sc= Talu}', "");
-Error('\p{Is_Script= _New-tai Lue:=}');
-Error('\P{Is_Script= _New-tai Lue:=}');
-Expect(1, 6571, '\p{Is_Script=newtailue}', "");
-Expect(0, 6571, '\p{^Is_Script=newtailue}', "");
-Expect(0, 6571, '\P{Is_Script=newtailue}', "");
-Expect(1, 6571, '\P{^Is_Script=newtailue}', "");
-Expect(0, 6527, '\p{Is_Script=newtailue}', "");
-Expect(1, 6527, '\p{^Is_Script=newtailue}', "");
-Expect(1, 6527, '\P{Is_Script=newtailue}', "");
-Expect(0, 6527, '\P{^Is_Script=newtailue}', "");
-Expect(1, 6571, '\p{Is_Script: NEW Tai-lue}', "");
-Expect(0, 6571, '\p{^Is_Script: NEW Tai-lue}', "");
-Expect(0, 6571, '\P{Is_Script: NEW Tai-lue}', "");
-Expect(1, 6571, '\P{^Is_Script: NEW Tai-lue}', "");
-Expect(0, 6527, '\p{Is_Script: NEW Tai-lue}', "");
-Expect(1, 6527, '\p{^Is_Script: NEW Tai-lue}', "");
-Expect(1, 6527, '\P{Is_Script: NEW Tai-lue}', "");
-Expect(0, 6527, '\P{^Is_Script: NEW Tai-lue}', "");
-Error('\p{Is_Sc=_-Talu:=}');
-Error('\P{Is_Sc=_-Talu:=}');
-Expect(1, 6571, '\p{Is_Sc=talu}', "");
-Expect(0, 6571, '\p{^Is_Sc=talu}', "");
-Expect(0, 6571, '\P{Is_Sc=talu}', "");
-Expect(1, 6571, '\P{^Is_Sc=talu}', "");
-Expect(0, 6527, '\p{Is_Sc=talu}', "");
-Expect(1, 6527, '\p{^Is_Sc=talu}', "");
-Expect(1, 6527, '\P{Is_Sc=talu}', "");
-Expect(0, 6527, '\P{^Is_Sc=talu}', "");
-Expect(1, 6571, '\p{Is_Sc=_talu}', "");
-Expect(0, 6571, '\p{^Is_Sc=_talu}', "");
-Expect(0, 6571, '\P{Is_Sc=_talu}', "");
-Expect(1, 6571, '\P{^Is_Sc=_talu}', "");
-Expect(0, 6527, '\p{Is_Sc=_talu}', "");
-Expect(1, 6527, '\p{^Is_Sc=_talu}', "");
-Expect(1, 6527, '\P{Is_Sc=_talu}', "");
-Expect(0, 6527, '\P{^Is_Sc=_talu}', "");
-Error('\p{Script: _:=Gothic}');
-Error('\P{Script: _:=Gothic}');
-Expect(1, 66378, '\p{Script=gothic}', "");
-Expect(0, 66378, '\p{^Script=gothic}', "");
-Expect(0, 66378, '\P{Script=gothic}', "");
-Expect(1, 66378, '\P{^Script=gothic}', "");
-Expect(0, 66351, '\p{Script=gothic}', "");
-Expect(1, 66351, '\p{^Script=gothic}', "");
-Expect(1, 66351, '\P{Script=gothic}', "");
-Expect(0, 66351, '\P{^Script=gothic}', "");
-Expect(1, 66378, '\p{Script= _Gothic}', "");
-Expect(0, 66378, '\p{^Script= _Gothic}', "");
-Expect(0, 66378, '\P{Script= _Gothic}', "");
-Expect(1, 66378, '\P{^Script= _Gothic}', "");
-Expect(0, 66351, '\p{Script= _Gothic}', "");
-Expect(1, 66351, '\p{^Script= _Gothic}', "");
-Expect(1, 66351, '\P{Script= _Gothic}', "");
-Expect(0, 66351, '\P{^Script= _Gothic}', "");
-Error('\p{Sc= /a/Goth}');
-Error('\P{Sc= /a/Goth}');
-Expect(1, 66378, '\p{Sc: goth}', "");
-Expect(0, 66378, '\p{^Sc: goth}', "");
-Expect(0, 66378, '\P{Sc: goth}', "");
-Expect(1, 66378, '\P{^Sc: goth}', "");
-Expect(0, 66351, '\p{Sc: goth}', "");
-Expect(1, 66351, '\p{^Sc: goth}', "");
-Expect(1, 66351, '\P{Sc: goth}', "");
-Expect(0, 66351, '\P{^Sc: goth}', "");
-Expect(1, 66378, '\p{Sc: _-GOTH}', "");
-Expect(0, 66378, '\p{^Sc: _-GOTH}', "");
-Expect(0, 66378, '\P{Sc: _-GOTH}', "");
-Expect(1, 66378, '\P{^Sc: _-GOTH}', "");
-Expect(0, 66351, '\p{Sc: _-GOTH}', "");
-Expect(1, 66351, '\p{^Sc: _-GOTH}', "");
-Expect(1, 66351, '\P{Sc: _-GOTH}', "");
-Expect(0, 66351, '\P{^Sc: _-GOTH}', "");
-Error('\p{Is_Script: gothic/a/}');
-Error('\P{Is_Script: gothic/a/}');
-Expect(1, 66378, '\p{Is_Script=gothic}', "");
-Expect(0, 66378, '\p{^Is_Script=gothic}', "");
-Expect(0, 66378, '\P{Is_Script=gothic}', "");
-Expect(1, 66378, '\P{^Is_Script=gothic}', "");
-Expect(0, 66351, '\p{Is_Script=gothic}', "");
-Expect(1, 66351, '\p{^Is_Script=gothic}', "");
-Expect(1, 66351, '\P{Is_Script=gothic}', "");
-Expect(0, 66351, '\P{^Is_Script=gothic}', "");
-Expect(1, 66378, '\p{Is_Script=_ Gothic}', "");
-Expect(0, 66378, '\p{^Is_Script=_ Gothic}', "");
-Expect(0, 66378, '\P{Is_Script=_ Gothic}', "");
-Expect(1, 66378, '\P{^Is_Script=_ Gothic}', "");
-Expect(0, 66351, '\p{Is_Script=_ Gothic}', "");
-Expect(1, 66351, '\p{^Is_Script=_ Gothic}', "");
-Expect(1, 66351, '\P{Is_Script=_ Gothic}', "");
-Expect(0, 66351, '\P{^Is_Script=_ Gothic}', "");
-Error('\p{Is_Sc=-:=Goth}');
-Error('\P{Is_Sc=-:=Goth}');
-Expect(1, 66378, '\p{Is_Sc=goth}', "");
-Expect(0, 66378, '\p{^Is_Sc=goth}', "");
-Expect(0, 66378, '\P{Is_Sc=goth}', "");
-Expect(1, 66378, '\P{^Is_Sc=goth}', "");
-Expect(0, 66351, '\p{Is_Sc=goth}', "");
-Expect(1, 66351, '\p{^Is_Sc=goth}', "");
-Expect(1, 66351, '\P{Is_Sc=goth}', "");
-Expect(0, 66351, '\P{^Is_Sc=goth}', "");
-Expect(1, 66378, '\p{Is_Sc=-_Goth}', "");
-Expect(0, 66378, '\p{^Is_Sc=-_Goth}', "");
-Expect(0, 66378, '\P{Is_Sc=-_Goth}', "");
-Expect(1, 66378, '\P{^Is_Sc=-_Goth}', "");
-Expect(0, 66351, '\p{Is_Sc=-_Goth}', "");
-Expect(1, 66351, '\p{^Is_Sc=-_Goth}', "");
-Expect(1, 66351, '\P{Is_Sc=-_Goth}', "");
-Expect(0, 66351, '\P{^Is_Sc=-_Goth}', "");
-Error('\p{Script= OLDITALIC:=}');
-Error('\P{Script= OLDITALIC:=}');
-Expect(1, 66334, '\p{Script=olditalic}', "");
-Expect(0, 66334, '\p{^Script=olditalic}', "");
-Expect(0, 66334, '\P{Script=olditalic}', "");
-Expect(1, 66334, '\P{^Script=olditalic}', "");
-Expect(0, 66303, '\p{Script=olditalic}', "");
-Expect(1, 66303, '\p{^Script=olditalic}', "");
-Expect(1, 66303, '\P{Script=olditalic}', "");
-Expect(0, 66303, '\P{^Script=olditalic}', "");
-Expect(1, 66334, '\p{Script: -old italic}', "");
-Expect(0, 66334, '\p{^Script: -old italic}', "");
-Expect(0, 66334, '\P{Script: -old italic}', "");
-Expect(1, 66334, '\P{^Script: -old italic}', "");
-Expect(0, 66303, '\p{Script: -old italic}', "");
-Expect(1, 66303, '\p{^Script: -old italic}', "");
-Expect(1, 66303, '\P{Script: -old italic}', "");
-Expect(0, 66303, '\P{^Script: -old italic}', "");
-Error('\p{Sc=/a/-_ITAL}');
-Error('\P{Sc=/a/-_ITAL}');
-Expect(1, 66334, '\p{Sc=ital}', "");
-Expect(0, 66334, '\p{^Sc=ital}', "");
-Expect(0, 66334, '\P{Sc=ital}', "");
-Expect(1, 66334, '\P{^Sc=ital}', "");
-Expect(0, 66303, '\p{Sc=ital}', "");
-Expect(1, 66303, '\p{^Sc=ital}', "");
-Expect(1, 66303, '\P{Sc=ital}', "");
-Expect(0, 66303, '\P{^Sc=ital}', "");
-Expect(1, 66334, '\p{Sc=-Ital}', "");
-Expect(0, 66334, '\p{^Sc=-Ital}', "");
-Expect(0, 66334, '\P{Sc=-Ital}', "");
-Expect(1, 66334, '\P{^Sc=-Ital}', "");
-Expect(0, 66303, '\p{Sc=-Ital}', "");
-Expect(1, 66303, '\p{^Sc=-Ital}', "");
-Expect(1, 66303, '\P{Sc=-Ital}', "");
-Expect(0, 66303, '\P{^Sc=-Ital}', "");
-Error('\p{Is_Script=-_Old/a/italic}');
-Error('\P{Is_Script=-_Old/a/italic}');
-Expect(1, 66334, '\p{Is_Script=olditalic}', "");
-Expect(0, 66334, '\p{^Is_Script=olditalic}', "");
-Expect(0, 66334, '\P{Is_Script=olditalic}', "");
-Expect(1, 66334, '\P{^Is_Script=olditalic}', "");
-Expect(0, 66303, '\p{Is_Script=olditalic}', "");
-Expect(1, 66303, '\p{^Is_Script=olditalic}', "");
-Expect(1, 66303, '\P{Is_Script=olditalic}', "");
-Expect(0, 66303, '\P{^Is_Script=olditalic}', "");
-Expect(1, 66334, '\p{Is_Script= OLD_Italic}', "");
-Expect(0, 66334, '\p{^Is_Script= OLD_Italic}', "");
-Expect(0, 66334, '\P{Is_Script= OLD_Italic}', "");
-Expect(1, 66334, '\P{^Is_Script= OLD_Italic}', "");
-Expect(0, 66303, '\p{Is_Script= OLD_Italic}', "");
-Expect(1, 66303, '\p{^Is_Script= OLD_Italic}', "");
-Expect(1, 66303, '\P{Is_Script= OLD_Italic}', "");
-Expect(0, 66303, '\P{^Is_Script= OLD_Italic}', "");
-Error('\p{Is_Sc= _ital:=}');
-Error('\P{Is_Sc= _ital:=}');
-Expect(1, 66334, '\p{Is_Sc: ital}', "");
-Expect(0, 66334, '\p{^Is_Sc: ital}', "");
-Expect(0, 66334, '\P{Is_Sc: ital}', "");
-Expect(1, 66334, '\P{^Is_Sc: ital}', "");
-Expect(0, 66303, '\p{Is_Sc: ital}', "");
-Expect(1, 66303, '\p{^Is_Sc: ital}', "");
-Expect(1, 66303, '\P{Is_Sc: ital}', "");
-Expect(0, 66303, '\P{^Is_Sc: ital}', "");
-Expect(1, 66334, '\p{Is_Sc=- ital}', "");
-Expect(0, 66334, '\p{^Is_Sc=- ital}', "");
-Expect(0, 66334, '\P{Is_Sc=- ital}', "");
-Expect(1, 66334, '\P{^Is_Sc=- ital}', "");
-Expect(0, 66303, '\p{Is_Sc=- ital}', "");
-Expect(1, 66303, '\p{^Is_Sc=- ital}', "");
-Expect(1, 66303, '\P{Is_Sc=- ital}', "");
-Expect(0, 66303, '\P{^Is_Sc=- ital}', "");
-Error('\p{Script: _bamum:=}');
-Error('\P{Script: _bamum:=}');
-Expect(1, 42743, '\p{Script: bamum}', "");
-Expect(0, 42743, '\p{^Script: bamum}', "");
-Expect(0, 42743, '\P{Script: bamum}', "");
-Expect(1, 42743, '\P{^Script: bamum}', "");
-Expect(0, 42655, '\p{Script: bamum}', "");
-Expect(1, 42655, '\p{^Script: bamum}', "");
-Expect(1, 42655, '\P{Script: bamum}', "");
-Expect(0, 42655, '\P{^Script: bamum}', "");
-Expect(1, 42743, '\p{Script= BAMUM}', "");
-Expect(0, 42743, '\p{^Script= BAMUM}', "");
-Expect(0, 42743, '\P{Script= BAMUM}', "");
-Expect(1, 42743, '\P{^Script= BAMUM}', "");
-Expect(0, 42655, '\p{Script= BAMUM}', "");
-Expect(1, 42655, '\p{^Script= BAMUM}', "");
-Expect(1, 42655, '\P{Script= BAMUM}', "");
-Expect(0, 42655, '\P{^Script= BAMUM}', "");
-Error('\p{Sc=:= bamu}');
-Error('\P{Sc=:= bamu}');
-Expect(1, 42743, '\p{Sc=bamu}', "");
-Expect(0, 42743, '\p{^Sc=bamu}', "");
-Expect(0, 42743, '\P{Sc=bamu}', "");
-Expect(1, 42743, '\P{^Sc=bamu}', "");
-Expect(0, 42655, '\p{Sc=bamu}', "");
-Expect(1, 42655, '\p{^Sc=bamu}', "");
-Expect(1, 42655, '\P{Sc=bamu}', "");
-Expect(0, 42655, '\P{^Sc=bamu}', "");
-Expect(1, 42743, '\p{Sc= BAMU}', "");
-Expect(0, 42743, '\p{^Sc= BAMU}', "");
-Expect(0, 42743, '\P{Sc= BAMU}', "");
-Expect(1, 42743, '\P{^Sc= BAMU}', "");
-Expect(0, 42655, '\p{Sc= BAMU}', "");
-Expect(1, 42655, '\p{^Sc= BAMU}', "");
-Expect(1, 42655, '\P{Sc= BAMU}', "");
-Expect(0, 42655, '\P{^Sc= BAMU}', "");
-Error('\p{Is_Script= Bamum/a/}');
-Error('\P{Is_Script= Bamum/a/}');
-Expect(1, 42743, '\p{Is_Script=bamum}', "");
-Expect(0, 42743, '\p{^Is_Script=bamum}', "");
-Expect(0, 42743, '\P{Is_Script=bamum}', "");
-Expect(1, 42743, '\P{^Is_Script=bamum}', "");
-Expect(0, 42655, '\p{Is_Script=bamum}', "");
-Expect(1, 42655, '\p{^Is_Script=bamum}', "");
-Expect(1, 42655, '\P{Is_Script=bamum}', "");
-Expect(0, 42655, '\P{^Is_Script=bamum}', "");
-Expect(1, 42743, '\p{Is_Script= Bamum}', "");
-Expect(0, 42743, '\p{^Is_Script= Bamum}', "");
-Expect(0, 42743, '\P{Is_Script= Bamum}', "");
-Expect(1, 42743, '\P{^Is_Script= Bamum}', "");
-Expect(0, 42655, '\p{Is_Script= Bamum}', "");
-Expect(1, 42655, '\p{^Is_Script= Bamum}', "");
-Expect(1, 42655, '\P{Is_Script= Bamum}', "");
-Expect(0, 42655, '\P{^Is_Script= Bamum}', "");
-Error('\p{Is_Sc=:=_ Bamu}');
-Error('\P{Is_Sc=:=_ Bamu}');
-Expect(1, 42743, '\p{Is_Sc=bamu}', "");
-Expect(0, 42743, '\p{^Is_Sc=bamu}', "");
-Expect(0, 42743, '\P{Is_Sc=bamu}', "");
-Expect(1, 42743, '\P{^Is_Sc=bamu}', "");
-Expect(0, 42655, '\p{Is_Sc=bamu}', "");
-Expect(1, 42655, '\p{^Is_Sc=bamu}', "");
-Expect(1, 42655, '\P{Is_Sc=bamu}', "");
-Expect(0, 42655, '\P{^Is_Sc=bamu}', "");
-Expect(1, 42743, '\p{Is_Sc: _Bamu}', "");
-Expect(0, 42743, '\p{^Is_Sc: _Bamu}', "");
-Expect(0, 42743, '\P{Is_Sc: _Bamu}', "");
-Expect(1, 42743, '\P{^Is_Sc: _Bamu}', "");
-Expect(0, 42655, '\p{Is_Sc: _Bamu}', "");
-Expect(1, 42655, '\p{^Is_Sc: _Bamu}', "");
-Expect(1, 42655, '\P{Is_Sc: _Bamu}', "");
-Expect(0, 42655, '\P{^Is_Sc: _Bamu}', "");
-Error('\p{Script=_ vai/a/}');
-Error('\P{Script=_ vai/a/}');
-Expect(1, 42539, '\p{Script=vai}', "");
-Expect(0, 42539, '\p{^Script=vai}', "");
-Expect(0, 42539, '\P{Script=vai}', "");
-Expect(1, 42539, '\P{^Script=vai}', "");
-Expect(0, 42239, '\p{Script=vai}', "");
-Expect(1, 42239, '\p{^Script=vai}', "");
-Expect(1, 42239, '\P{Script=vai}', "");
-Expect(0, 42239, '\P{^Script=vai}', "");
-Expect(1, 42539, '\p{Script= Vai}', "");
-Expect(0, 42539, '\p{^Script= Vai}', "");
-Expect(0, 42539, '\P{Script= Vai}', "");
-Expect(1, 42539, '\P{^Script= Vai}', "");
-Expect(0, 42239, '\p{Script= Vai}', "");
-Expect(1, 42239, '\p{^Script= Vai}', "");
-Expect(1, 42239, '\P{Script= Vai}', "");
-Expect(0, 42239, '\P{^Script= Vai}', "");
-Error('\p{Sc= /a/Vaii}');
-Error('\P{Sc= /a/Vaii}');
-Expect(1, 42539, '\p{Sc=vaii}', "");
-Expect(0, 42539, '\p{^Sc=vaii}', "");
-Expect(0, 42539, '\P{Sc=vaii}', "");
-Expect(1, 42539, '\P{^Sc=vaii}', "");
-Expect(0, 42239, '\p{Sc=vaii}', "");
-Expect(1, 42239, '\p{^Sc=vaii}', "");
-Expect(1, 42239, '\P{Sc=vaii}', "");
-Expect(0, 42239, '\P{^Sc=vaii}', "");
-Expect(1, 42539, '\p{Sc=--VAII}', "");
-Expect(0, 42539, '\p{^Sc=--VAII}', "");
-Expect(0, 42539, '\P{Sc=--VAII}', "");
-Expect(1, 42539, '\P{^Sc=--VAII}', "");
-Expect(0, 42239, '\p{Sc=--VAII}', "");
-Expect(1, 42239, '\p{^Sc=--VAII}', "");
-Expect(1, 42239, '\P{Sc=--VAII}', "");
-Expect(0, 42239, '\P{^Sc=--VAII}', "");
-Error('\p{Is_Script::=-Vai}');
-Error('\P{Is_Script::=-Vai}');
-Expect(1, 42539, '\p{Is_Script=vai}', "");
-Expect(0, 42539, '\p{^Is_Script=vai}', "");
-Expect(0, 42539, '\P{Is_Script=vai}', "");
-Expect(1, 42539, '\P{^Is_Script=vai}', "");
-Expect(0, 42239, '\p{Is_Script=vai}', "");
-Expect(1, 42239, '\p{^Is_Script=vai}', "");
-Expect(1, 42239, '\P{Is_Script=vai}', "");
-Expect(0, 42239, '\P{^Is_Script=vai}', "");
-Expect(1, 42539, '\p{Is_Script= -Vai}', "");
-Expect(0, 42539, '\p{^Is_Script= -Vai}', "");
-Expect(0, 42539, '\P{Is_Script= -Vai}', "");
-Expect(1, 42539, '\P{^Is_Script= -Vai}', "");
-Expect(0, 42239, '\p{Is_Script= -Vai}', "");
-Expect(1, 42239, '\p{^Is_Script= -Vai}', "");
-Expect(1, 42239, '\P{Is_Script= -Vai}', "");
-Expect(0, 42239, '\P{^Is_Script= -Vai}', "");
-Error('\p{Is_Sc= VAII/a/}');
-Error('\P{Is_Sc= VAII/a/}');
-Expect(1, 42539, '\p{Is_Sc=vaii}', "");
-Expect(0, 42539, '\p{^Is_Sc=vaii}', "");
-Expect(0, 42539, '\P{Is_Sc=vaii}', "");
-Expect(1, 42539, '\P{^Is_Sc=vaii}', "");
-Expect(0, 42239, '\p{Is_Sc=vaii}', "");
-Expect(1, 42239, '\p{^Is_Sc=vaii}', "");
-Expect(1, 42239, '\P{Is_Sc=vaii}', "");
-Expect(0, 42239, '\P{^Is_Sc=vaii}', "");
-Expect(1, 42539, '\p{Is_Sc=Vaii}', "");
-Expect(0, 42539, '\p{^Is_Sc=Vaii}', "");
-Expect(0, 42539, '\P{Is_Sc=Vaii}', "");
-Expect(1, 42539, '\P{^Is_Sc=Vaii}', "");
-Expect(0, 42239, '\p{Is_Sc=Vaii}', "");
-Expect(1, 42239, '\p{^Is_Sc=Vaii}', "");
-Expect(1, 42239, '\P{Is_Sc=Vaii}', "");
-Expect(0, 42239, '\P{^Is_Sc=Vaii}', "");
-Error('\p{Script=-Inscriptional_Parthian:=}');
-Error('\P{Script=-Inscriptional_Parthian:=}');
-Expect(1, 68437, '\p{Script=inscriptionalparthian}', "");
-Expect(0, 68437, '\p{^Script=inscriptionalparthian}', "");
-Expect(0, 68437, '\P{Script=inscriptionalparthian}', "");
-Expect(1, 68437, '\P{^Script=inscriptionalparthian}', "");
-Expect(0, 68415, '\p{Script=inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^Script=inscriptionalparthian}', "");
-Expect(1, 68415, '\P{Script=inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^Script=inscriptionalparthian}', "");
-Expect(1, 68437, '\p{Script= Inscriptional_parthian}', "");
-Expect(0, 68437, '\p{^Script= Inscriptional_parthian}', "");
-Expect(0, 68437, '\P{Script= Inscriptional_parthian}', "");
-Expect(1, 68437, '\P{^Script= Inscriptional_parthian}', "");
-Expect(0, 68415, '\p{Script= Inscriptional_parthian}', "");
-Expect(1, 68415, '\p{^Script= Inscriptional_parthian}', "");
-Expect(1, 68415, '\P{Script= Inscriptional_parthian}', "");
-Expect(0, 68415, '\P{^Script= Inscriptional_parthian}', "");
-Error('\p{Sc= _PRTI:=}');
-Error('\P{Sc= _PRTI:=}');
-Expect(1, 68437, '\p{Sc:prti}', "");
-Expect(0, 68437, '\p{^Sc:prti}', "");
-Expect(0, 68437, '\P{Sc:prti}', "");
-Expect(1, 68437, '\P{^Sc:prti}', "");
-Expect(0, 68415, '\p{Sc:prti}', "");
-Expect(1, 68415, '\p{^Sc:prti}', "");
-Expect(1, 68415, '\P{Sc:prti}', "");
-Expect(0, 68415, '\P{^Sc:prti}', "");
-Expect(1, 68437, '\p{Sc:_ Prti}', "");
-Expect(0, 68437, '\p{^Sc:_ Prti}', "");
-Expect(0, 68437, '\P{Sc:_ Prti}', "");
-Expect(1, 68437, '\P{^Sc:_ Prti}', "");
-Expect(0, 68415, '\p{Sc:_ Prti}', "");
-Expect(1, 68415, '\p{^Sc:_ Prti}', "");
-Expect(1, 68415, '\P{Sc:_ Prti}', "");
-Expect(0, 68415, '\P{^Sc:_ Prti}', "");
-Error('\p{Is_Script= -inscriptional:=PARTHIAN}');
-Error('\P{Is_Script= -inscriptional:=PARTHIAN}');
-Expect(1, 68437, '\p{Is_Script=inscriptionalparthian}', "");
-Expect(0, 68437, '\p{^Is_Script=inscriptionalparthian}', "");
-Expect(0, 68437, '\P{Is_Script=inscriptionalparthian}', "");
-Expect(1, 68437, '\P{^Is_Script=inscriptionalparthian}', "");
-Expect(0, 68415, '\p{Is_Script=inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^Is_Script=inscriptionalparthian}', "");
-Expect(1, 68415, '\P{Is_Script=inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^Is_Script=inscriptionalparthian}', "");
-Expect(1, 68437, '\p{Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68437, '\p{^Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68437, '\P{Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(1, 68437, '\P{^Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68415, '\p{Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(1, 68415, '\p{^Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(1, 68415, '\P{Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68415, '\P{^Is_Script=_ INSCRIPTIONAL-PARTHIAN}', "");
-Error('\p{Is_Sc=-:=Prti}');
-Error('\P{Is_Sc=-:=Prti}');
-Expect(1, 68437, '\p{Is_Sc:prti}', "");
-Expect(0, 68437, '\p{^Is_Sc:prti}', "");
-Expect(0, 68437, '\P{Is_Sc:prti}', "");
-Expect(1, 68437, '\P{^Is_Sc:prti}', "");
-Expect(0, 68415, '\p{Is_Sc:prti}', "");
-Expect(1, 68415, '\p{^Is_Sc:prti}', "");
-Expect(1, 68415, '\P{Is_Sc:prti}', "");
-Expect(0, 68415, '\P{^Is_Sc:prti}', "");
-Expect(1, 68437, '\p{Is_Sc=--PRTI}', "");
-Expect(0, 68437, '\p{^Is_Sc=--PRTI}', "");
-Expect(0, 68437, '\P{Is_Sc=--PRTI}', "");
-Expect(1, 68437, '\P{^Is_Sc=--PRTI}', "");
-Expect(0, 68415, '\p{Is_Sc=--PRTI}', "");
-Expect(1, 68415, '\p{^Is_Sc=--PRTI}', "");
-Expect(1, 68415, '\P{Is_Sc=--PRTI}', "");
-Expect(0, 68415, '\P{^Is_Sc=--PRTI}', "");
-Error('\p{Script= /a/Runic}');
-Error('\P{Script= /a/Runic}');
-Expect(1, 5866, '\p{Script=runic}', "");
-Expect(0, 5866, '\p{^Script=runic}', "");
-Expect(0, 5866, '\P{Script=runic}', "");
-Expect(1, 5866, '\P{^Script=runic}', "");
-Expect(0, 5791, '\p{Script=runic}', "");
-Expect(1, 5791, '\p{^Script=runic}', "");
-Expect(1, 5791, '\P{Script=runic}', "");
-Expect(0, 5791, '\P{^Script=runic}', "");
-Expect(1, 5866, '\p{Script= -Runic}', "");
-Expect(0, 5866, '\p{^Script= -Runic}', "");
-Expect(0, 5866, '\P{Script= -Runic}', "");
-Expect(1, 5866, '\P{^Script= -Runic}', "");
-Expect(0, 5791, '\p{Script= -Runic}', "");
-Expect(1, 5791, '\p{^Script= -Runic}', "");
-Expect(1, 5791, '\P{Script= -Runic}', "");
-Expect(0, 5791, '\P{^Script= -Runic}', "");
-Error('\p{Sc: _runr/a/}');
-Error('\P{Sc: _runr/a/}');
-Expect(1, 5866, '\p{Sc=runr}', "");
-Expect(0, 5866, '\p{^Sc=runr}', "");
-Expect(0, 5866, '\P{Sc=runr}', "");
-Expect(1, 5866, '\P{^Sc=runr}', "");
-Expect(0, 5791, '\p{Sc=runr}', "");
-Expect(1, 5791, '\p{^Sc=runr}', "");
-Expect(1, 5791, '\P{Sc=runr}', "");
-Expect(0, 5791, '\P{^Sc=runr}', "");
-Expect(1, 5866, '\p{Sc=_ Runr}', "");
-Expect(0, 5866, '\p{^Sc=_ Runr}', "");
-Expect(0, 5866, '\P{Sc=_ Runr}', "");
-Expect(1, 5866, '\P{^Sc=_ Runr}', "");
-Expect(0, 5791, '\p{Sc=_ Runr}', "");
-Expect(1, 5791, '\p{^Sc=_ Runr}', "");
-Expect(1, 5791, '\P{Sc=_ Runr}', "");
-Expect(0, 5791, '\P{^Sc=_ Runr}', "");
-Error('\p{Is_Script= :=Runic}');
-Error('\P{Is_Script= :=Runic}');
-Expect(1, 5866, '\p{Is_Script=runic}', "");
-Expect(0, 5866, '\p{^Is_Script=runic}', "");
-Expect(0, 5866, '\P{Is_Script=runic}', "");
-Expect(1, 5866, '\P{^Is_Script=runic}', "");
-Expect(0, 5791, '\p{Is_Script=runic}', "");
-Expect(1, 5791, '\p{^Is_Script=runic}', "");
-Expect(1, 5791, '\P{Is_Script=runic}', "");
-Expect(0, 5791, '\P{^Is_Script=runic}', "");
-Expect(1, 5866, '\p{Is_Script: Runic}', "");
-Expect(0, 5866, '\p{^Is_Script: Runic}', "");
-Expect(0, 5866, '\P{Is_Script: Runic}', "");
-Expect(1, 5866, '\P{^Is_Script: Runic}', "");
-Expect(0, 5791, '\p{Is_Script: Runic}', "");
-Expect(1, 5791, '\p{^Is_Script: Runic}', "");
-Expect(1, 5791, '\P{Is_Script: Runic}', "");
-Expect(0, 5791, '\P{^Is_Script: Runic}', "");
-Error('\p{Is_Sc: Runr/a/}');
-Error('\P{Is_Sc: Runr/a/}');
-Expect(1, 5866, '\p{Is_Sc: runr}', "");
-Expect(0, 5866, '\p{^Is_Sc: runr}', "");
-Expect(0, 5866, '\P{Is_Sc: runr}', "");
-Expect(1, 5866, '\P{^Is_Sc: runr}', "");
-Expect(0, 5791, '\p{Is_Sc: runr}', "");
-Expect(1, 5791, '\p{^Is_Sc: runr}', "");
-Expect(1, 5791, '\P{Is_Sc: runr}', "");
-Expect(0, 5791, '\P{^Is_Sc: runr}', "");
-Expect(1, 5866, '\p{Is_Sc=- Runr}', "");
-Expect(0, 5866, '\p{^Is_Sc=- Runr}', "");
-Expect(0, 5866, '\P{Is_Sc=- Runr}', "");
-Expect(1, 5866, '\P{^Is_Sc=- Runr}', "");
-Expect(0, 5791, '\p{Is_Sc=- Runr}', "");
-Expect(1, 5791, '\p{^Is_Sc=- Runr}', "");
-Expect(1, 5791, '\P{Is_Sc=- Runr}', "");
-Expect(0, 5791, '\P{^Is_Sc=- Runr}', "");
-Error('\p{Script=_/a/cherokee}');
-Error('\P{Script=_/a/cherokee}');
-Expect(1, 5108, '\p{Script=cherokee}', "");
-Expect(0, 5108, '\p{^Script=cherokee}', "");
-Expect(0, 5108, '\P{Script=cherokee}', "");
-Expect(1, 5108, '\P{^Script=cherokee}', "");
-Expect(0, 5023, '\p{Script=cherokee}', "");
-Expect(1, 5023, '\p{^Script=cherokee}', "");
-Expect(1, 5023, '\P{Script=cherokee}', "");
-Expect(0, 5023, '\P{^Script=cherokee}', "");
-Expect(1, 5108, '\p{Script=- CHEROKEE}', "");
-Expect(0, 5108, '\p{^Script=- CHEROKEE}', "");
-Expect(0, 5108, '\P{Script=- CHEROKEE}', "");
-Expect(1, 5108, '\P{^Script=- CHEROKEE}', "");
-Expect(0, 5023, '\p{Script=- CHEROKEE}', "");
-Expect(1, 5023, '\p{^Script=- CHEROKEE}', "");
-Expect(1, 5023, '\P{Script=- CHEROKEE}', "");
-Expect(0, 5023, '\P{^Script=- CHEROKEE}', "");
-Error('\p{Sc=:=--Cher}');
-Error('\P{Sc=:=--Cher}');
-Expect(1, 5108, '\p{Sc=cher}', "");
-Expect(0, 5108, '\p{^Sc=cher}', "");
-Expect(0, 5108, '\P{Sc=cher}', "");
-Expect(1, 5108, '\P{^Sc=cher}', "");
-Expect(0, 5023, '\p{Sc=cher}', "");
-Expect(1, 5023, '\p{^Sc=cher}', "");
-Expect(1, 5023, '\P{Sc=cher}', "");
-Expect(0, 5023, '\P{^Sc=cher}', "");
-Expect(1, 5108, '\p{Sc=_Cher}', "");
-Expect(0, 5108, '\p{^Sc=_Cher}', "");
-Expect(0, 5108, '\P{Sc=_Cher}', "");
-Expect(1, 5108, '\P{^Sc=_Cher}', "");
-Expect(0, 5023, '\p{Sc=_Cher}', "");
-Expect(1, 5023, '\p{^Sc=_Cher}', "");
-Expect(1, 5023, '\P{Sc=_Cher}', "");
-Expect(0, 5023, '\P{^Sc=_Cher}', "");
-Error('\p{Is_Script= cherokee/a/}');
-Error('\P{Is_Script= cherokee/a/}');
-Expect(1, 5108, '\p{Is_Script=cherokee}', "");
-Expect(0, 5108, '\p{^Is_Script=cherokee}', "");
-Expect(0, 5108, '\P{Is_Script=cherokee}', "");
-Expect(1, 5108, '\P{^Is_Script=cherokee}', "");
-Expect(0, 5023, '\p{Is_Script=cherokee}', "");
-Expect(1, 5023, '\p{^Is_Script=cherokee}', "");
-Expect(1, 5023, '\P{Is_Script=cherokee}', "");
-Expect(0, 5023, '\P{^Is_Script=cherokee}', "");
-Expect(1, 5108, '\p{Is_Script=_-Cherokee}', "");
-Expect(0, 5108, '\p{^Is_Script=_-Cherokee}', "");
-Expect(0, 5108, '\P{Is_Script=_-Cherokee}', "");
-Expect(1, 5108, '\P{^Is_Script=_-Cherokee}', "");
-Expect(0, 5023, '\p{Is_Script=_-Cherokee}', "");
-Expect(1, 5023, '\p{^Is_Script=_-Cherokee}', "");
-Expect(1, 5023, '\P{Is_Script=_-Cherokee}', "");
-Expect(0, 5023, '\P{^Is_Script=_-Cherokee}', "");
-Error('\p{Is_Sc=-/a/cher}');
-Error('\P{Is_Sc=-/a/cher}');
-Expect(1, 5108, '\p{Is_Sc=cher}', "");
-Expect(0, 5108, '\p{^Is_Sc=cher}', "");
-Expect(0, 5108, '\P{Is_Sc=cher}', "");
-Expect(1, 5108, '\P{^Is_Sc=cher}', "");
-Expect(0, 5023, '\p{Is_Sc=cher}', "");
-Expect(1, 5023, '\p{^Is_Sc=cher}', "");
-Expect(1, 5023, '\P{Is_Sc=cher}', "");
-Expect(0, 5023, '\P{^Is_Sc=cher}', "");
-Expect(1, 5108, '\p{Is_Sc= Cher}', "");
-Expect(0, 5108, '\p{^Is_Sc= Cher}', "");
-Expect(0, 5108, '\P{Is_Sc= Cher}', "");
-Expect(1, 5108, '\P{^Is_Sc= Cher}', "");
-Expect(0, 5023, '\p{Is_Sc= Cher}', "");
-Expect(1, 5023, '\p{^Is_Sc= Cher}', "");
-Expect(1, 5023, '\P{Is_Sc= Cher}', "");
-Expect(0, 5023, '\P{^Is_Sc= Cher}', "");
-Error('\p{Script=_-OL chiki/a/}');
-Error('\P{Script=_-OL chiki/a/}');
-Expect(1, 7295, '\p{Script=olchiki}', "");
-Expect(0, 7295, '\p{^Script=olchiki}', "");
-Expect(0, 7295, '\P{Script=olchiki}', "");
-Expect(1, 7295, '\P{^Script=olchiki}', "");
-Expect(0, 7247, '\p{Script=olchiki}', "");
-Expect(1, 7247, '\p{^Script=olchiki}', "");
-Expect(1, 7247, '\P{Script=olchiki}', "");
-Expect(0, 7247, '\P{^Script=olchiki}', "");
-Expect(1, 7295, '\p{Script: -olChiki}', "");
-Expect(0, 7295, '\p{^Script: -olChiki}', "");
-Expect(0, 7295, '\P{Script: -olChiki}', "");
-Expect(1, 7295, '\P{^Script: -olChiki}', "");
-Expect(0, 7247, '\p{Script: -olChiki}', "");
-Expect(1, 7247, '\p{^Script: -olChiki}', "");
-Expect(1, 7247, '\P{Script: -olChiki}', "");
-Expect(0, 7247, '\P{^Script: -olChiki}', "");
-Error('\p{Sc=:=- Olck}');
-Error('\P{Sc=:=- Olck}');
-Expect(1, 7295, '\p{Sc=olck}', "");
-Expect(0, 7295, '\p{^Sc=olck}', "");
-Expect(0, 7295, '\P{Sc=olck}', "");
-Expect(1, 7295, '\P{^Sc=olck}', "");
-Expect(0, 7247, '\p{Sc=olck}', "");
-Expect(1, 7247, '\p{^Sc=olck}', "");
-Expect(1, 7247, '\P{Sc=olck}', "");
-Expect(0, 7247, '\P{^Sc=olck}', "");
-Expect(1, 7295, '\p{Sc= _OLCK}', "");
-Expect(0, 7295, '\p{^Sc= _OLCK}', "");
-Expect(0, 7295, '\P{Sc= _OLCK}', "");
-Expect(1, 7295, '\P{^Sc= _OLCK}', "");
-Expect(0, 7247, '\p{Sc= _OLCK}', "");
-Expect(1, 7247, '\p{^Sc= _OLCK}', "");
-Expect(1, 7247, '\P{Sc= _OLCK}', "");
-Expect(0, 7247, '\P{^Sc= _OLCK}', "");
-Error('\p{Is_Script= /a/Ol Chiki}');
-Error('\P{Is_Script= /a/Ol Chiki}');
-Expect(1, 7295, '\p{Is_Script=olchiki}', "");
-Expect(0, 7295, '\p{^Is_Script=olchiki}', "");
-Expect(0, 7295, '\P{Is_Script=olchiki}', "");
-Expect(1, 7295, '\P{^Is_Script=olchiki}', "");
-Expect(0, 7247, '\p{Is_Script=olchiki}', "");
-Expect(1, 7247, '\p{^Is_Script=olchiki}', "");
-Expect(1, 7247, '\P{Is_Script=olchiki}', "");
-Expect(0, 7247, '\P{^Is_Script=olchiki}', "");
-Expect(1, 7295, '\p{Is_Script=- OlCHIKI}', "");
-Expect(0, 7295, '\p{^Is_Script=- OlCHIKI}', "");
-Expect(0, 7295, '\P{Is_Script=- OlCHIKI}', "");
-Expect(1, 7295, '\P{^Is_Script=- OlCHIKI}', "");
-Expect(0, 7247, '\p{Is_Script=- OlCHIKI}', "");
-Expect(1, 7247, '\p{^Is_Script=- OlCHIKI}', "");
-Expect(1, 7247, '\P{Is_Script=- OlCHIKI}', "");
-Expect(0, 7247, '\P{^Is_Script=- OlCHIKI}', "");
-Error('\p{Is_Sc=/a/ olck}');
-Error('\P{Is_Sc=/a/ olck}');
-Expect(1, 7295, '\p{Is_Sc=olck}', "");
-Expect(0, 7295, '\p{^Is_Sc=olck}', "");
-Expect(0, 7295, '\P{Is_Sc=olck}', "");
-Expect(1, 7295, '\P{^Is_Sc=olck}', "");
-Expect(0, 7247, '\p{Is_Sc=olck}', "");
-Expect(1, 7247, '\p{^Is_Sc=olck}', "");
-Expect(1, 7247, '\P{Is_Sc=olck}', "");
-Expect(0, 7247, '\P{^Is_Sc=olck}', "");
-Expect(1, 7295, '\p{Is_Sc: olck}', "");
-Expect(0, 7295, '\p{^Is_Sc: olck}', "");
-Expect(0, 7295, '\P{Is_Sc: olck}', "");
-Expect(1, 7295, '\P{^Is_Sc: olck}', "");
-Expect(0, 7247, '\p{Is_Sc: olck}', "");
-Expect(1, 7247, '\p{^Is_Sc: olck}', "");
-Expect(1, 7247, '\P{Is_Sc: olck}', "");
-Expect(0, 7247, '\P{^Is_Sc: olck}', "");
-Error('\p{Script=_/a/Ugaritic}');
-Error('\P{Script=_/a/Ugaritic}');
-Expect(1, 66461, '\p{Script=ugaritic}', "");
-Expect(0, 66461, '\p{^Script=ugaritic}', "");
-Expect(0, 66461, '\P{Script=ugaritic}', "");
-Expect(1, 66461, '\P{^Script=ugaritic}', "");
-Expect(0, 66431, '\p{Script=ugaritic}', "");
-Expect(1, 66431, '\p{^Script=ugaritic}', "");
-Expect(1, 66431, '\P{Script=ugaritic}', "");
-Expect(0, 66431, '\P{^Script=ugaritic}', "");
-Expect(1, 66461, '\p{Script=__Ugaritic}', "");
-Expect(0, 66461, '\p{^Script=__Ugaritic}', "");
-Expect(0, 66461, '\P{Script=__Ugaritic}', "");
-Expect(1, 66461, '\P{^Script=__Ugaritic}', "");
-Expect(0, 66431, '\p{Script=__Ugaritic}', "");
-Expect(1, 66431, '\p{^Script=__Ugaritic}', "");
-Expect(1, 66431, '\P{Script=__Ugaritic}', "");
-Expect(0, 66431, '\P{^Script=__Ugaritic}', "");
-Error('\p{Sc=:= Ugar}');
-Error('\P{Sc=:= Ugar}');
-Expect(1, 66461, '\p{Sc: ugar}', "");
-Expect(0, 66461, '\p{^Sc: ugar}', "");
-Expect(0, 66461, '\P{Sc: ugar}', "");
-Expect(1, 66461, '\P{^Sc: ugar}', "");
-Expect(0, 66431, '\p{Sc: ugar}', "");
-Expect(1, 66431, '\p{^Sc: ugar}', "");
-Expect(1, 66431, '\P{Sc: ugar}', "");
-Expect(0, 66431, '\P{^Sc: ugar}', "");
-Expect(1, 66461, '\p{Sc: Ugar}', "");
-Expect(0, 66461, '\p{^Sc: Ugar}', "");
-Expect(0, 66461, '\P{Sc: Ugar}', "");
-Expect(1, 66461, '\P{^Sc: Ugar}', "");
-Expect(0, 66431, '\p{Sc: Ugar}', "");
-Expect(1, 66431, '\p{^Sc: Ugar}', "");
-Expect(1, 66431, '\P{Sc: Ugar}', "");
-Expect(0, 66431, '\P{^Sc: Ugar}', "");
-Error('\p{Is_Script:/a/ -ugaritic}');
-Error('\P{Is_Script:/a/ -ugaritic}');
-Expect(1, 66461, '\p{Is_Script=ugaritic}', "");
-Expect(0, 66461, '\p{^Is_Script=ugaritic}', "");
-Expect(0, 66461, '\P{Is_Script=ugaritic}', "");
-Expect(1, 66461, '\P{^Is_Script=ugaritic}', "");
-Expect(0, 66431, '\p{Is_Script=ugaritic}', "");
-Expect(1, 66431, '\p{^Is_Script=ugaritic}', "");
-Expect(1, 66431, '\P{Is_Script=ugaritic}', "");
-Expect(0, 66431, '\P{^Is_Script=ugaritic}', "");
-Expect(1, 66461, '\p{Is_Script=_ Ugaritic}', "");
-Expect(0, 66461, '\p{^Is_Script=_ Ugaritic}', "");
-Expect(0, 66461, '\P{Is_Script=_ Ugaritic}', "");
-Expect(1, 66461, '\P{^Is_Script=_ Ugaritic}', "");
-Expect(0, 66431, '\p{Is_Script=_ Ugaritic}', "");
-Expect(1, 66431, '\p{^Is_Script=_ Ugaritic}', "");
-Expect(1, 66431, '\P{Is_Script=_ Ugaritic}', "");
-Expect(0, 66431, '\P{^Is_Script=_ Ugaritic}', "");
-Error('\p{Is_Sc::=__Ugar}');
-Error('\P{Is_Sc::=__Ugar}');
-Expect(1, 66461, '\p{Is_Sc=ugar}', "");
-Expect(0, 66461, '\p{^Is_Sc=ugar}', "");
-Expect(0, 66461, '\P{Is_Sc=ugar}', "");
-Expect(1, 66461, '\P{^Is_Sc=ugar}', "");
-Expect(0, 66431, '\p{Is_Sc=ugar}', "");
-Expect(1, 66431, '\p{^Is_Sc=ugar}', "");
-Expect(1, 66431, '\P{Is_Sc=ugar}', "");
-Expect(0, 66431, '\P{^Is_Sc=ugar}', "");
-Expect(1, 66461, '\p{Is_Sc=--Ugar}', "");
-Expect(0, 66461, '\p{^Is_Sc=--Ugar}', "");
-Expect(0, 66461, '\P{Is_Sc=--Ugar}', "");
-Expect(1, 66461, '\P{^Is_Sc=--Ugar}', "");
-Expect(0, 66431, '\p{Is_Sc=--Ugar}', "");
-Expect(1, 66431, '\p{^Is_Sc=--Ugar}', "");
-Expect(1, 66431, '\P{Is_Sc=--Ugar}', "");
-Expect(0, 66431, '\P{^Is_Sc=--Ugar}', "");
-Error('\p{Script=-:=Phags_PA}');
-Error('\P{Script=-:=Phags_PA}');
-Expect(1, 43127, '\p{Script:phagspa}', "");
-Expect(0, 43127, '\p{^Script:phagspa}', "");
-Expect(0, 43127, '\P{Script:phagspa}', "");
-Expect(1, 43127, '\P{^Script:phagspa}', "");
-Expect(0, 43071, '\p{Script:phagspa}', "");
-Expect(1, 43071, '\p{^Script:phagspa}', "");
-Expect(1, 43071, '\P{Script:phagspa}', "");
-Expect(0, 43071, '\P{^Script:phagspa}', "");
-Expect(1, 43127, '\p{Script= PHAGS pa}', "");
-Expect(0, 43127, '\p{^Script= PHAGS pa}', "");
-Expect(0, 43127, '\P{Script= PHAGS pa}', "");
-Expect(1, 43127, '\P{^Script= PHAGS pa}', "");
-Expect(0, 43071, '\p{Script= PHAGS pa}', "");
-Expect(1, 43071, '\p{^Script= PHAGS pa}', "");
-Expect(1, 43071, '\P{Script= PHAGS pa}', "");
-Expect(0, 43071, '\P{^Script= PHAGS pa}', "");
-Error('\p{Sc=:=_PHAG}');
-Error('\P{Sc=:=_PHAG}');
-Expect(1, 43127, '\p{Sc=phag}', "");
-Expect(0, 43127, '\p{^Sc=phag}', "");
-Expect(0, 43127, '\P{Sc=phag}', "");
-Expect(1, 43127, '\P{^Sc=phag}', "");
-Expect(0, 43071, '\p{Sc=phag}', "");
-Expect(1, 43071, '\p{^Sc=phag}', "");
-Expect(1, 43071, '\P{Sc=phag}', "");
-Expect(0, 43071, '\P{^Sc=phag}', "");
-Expect(1, 43127, '\p{Sc=_ Phag}', "");
-Expect(0, 43127, '\p{^Sc=_ Phag}', "");
-Expect(0, 43127, '\P{Sc=_ Phag}', "");
-Expect(1, 43127, '\P{^Sc=_ Phag}', "");
-Expect(0, 43071, '\p{Sc=_ Phag}', "");
-Expect(1, 43071, '\p{^Sc=_ Phag}', "");
-Expect(1, 43071, '\P{Sc=_ Phag}', "");
-Expect(0, 43071, '\P{^Sc=_ Phag}', "");
-Error('\p{Is_Script= :=phags Pa}');
-Error('\P{Is_Script= :=phags Pa}');
-Expect(1, 43127, '\p{Is_Script=phagspa}', "");
-Expect(0, 43127, '\p{^Is_Script=phagspa}', "");
-Expect(0, 43127, '\P{Is_Script=phagspa}', "");
-Expect(1, 43127, '\P{^Is_Script=phagspa}', "");
-Expect(0, 43071, '\p{Is_Script=phagspa}', "");
-Expect(1, 43071, '\p{^Is_Script=phagspa}', "");
-Expect(1, 43071, '\P{Is_Script=phagspa}', "");
-Expect(0, 43071, '\P{^Is_Script=phagspa}', "");
-Expect(1, 43127, '\p{Is_Script= Phags pa}', "");
-Expect(0, 43127, '\p{^Is_Script= Phags pa}', "");
-Expect(0, 43127, '\P{Is_Script= Phags pa}', "");
-Expect(1, 43127, '\P{^Is_Script= Phags pa}', "");
-Expect(0, 43071, '\p{Is_Script= Phags pa}', "");
-Expect(1, 43071, '\p{^Is_Script= Phags pa}', "");
-Expect(1, 43071, '\P{Is_Script= Phags pa}', "");
-Expect(0, 43071, '\P{^Is_Script= Phags pa}', "");
-Error('\p{Is_Sc: := -PHAG}');
-Error('\P{Is_Sc: := -PHAG}');
-Expect(1, 43127, '\p{Is_Sc=phag}', "");
-Expect(0, 43127, '\p{^Is_Sc=phag}', "");
-Expect(0, 43127, '\P{Is_Sc=phag}', "");
-Expect(1, 43127, '\P{^Is_Sc=phag}', "");
-Expect(0, 43071, '\p{Is_Sc=phag}', "");
-Expect(1, 43071, '\p{^Is_Sc=phag}', "");
-Expect(1, 43071, '\P{Is_Sc=phag}', "");
-Expect(0, 43071, '\P{^Is_Sc=phag}', "");
-Expect(1, 43127, '\p{Is_Sc= phag}', "");
-Expect(0, 43127, '\p{^Is_Sc= phag}', "");
-Expect(0, 43127, '\P{Is_Sc= phag}', "");
-Expect(1, 43127, '\P{^Is_Sc= phag}', "");
-Expect(0, 43071, '\p{Is_Sc= phag}', "");
-Expect(1, 43071, '\p{^Is_Sc= phag}', "");
-Expect(1, 43071, '\P{Is_Sc= phag}', "");
-Expect(0, 43071, '\P{^Is_Sc= phag}', "");
-Error('\p{Script=:= Armenian}');
-Error('\P{Script=:= Armenian}');
-Expect(1, 1366, '\p{Script=armenian}', "");
-Expect(0, 1366, '\p{^Script=armenian}', "");
-Expect(0, 1366, '\P{Script=armenian}', "");
-Expect(1, 1366, '\P{^Script=armenian}', "");
-Expect(0, 1328, '\p{Script=armenian}', "");
-Expect(1, 1328, '\p{^Script=armenian}', "");
-Expect(1, 1328, '\P{Script=armenian}', "");
-Expect(0, 1328, '\P{^Script=armenian}', "");
-Expect(1, 1366, '\p{Script=--armenian}', "");
-Expect(0, 1366, '\p{^Script=--armenian}', "");
-Expect(0, 1366, '\P{Script=--armenian}', "");
-Expect(1, 1366, '\P{^Script=--armenian}', "");
-Expect(0, 1328, '\p{Script=--armenian}', "");
-Expect(1, 1328, '\p{^Script=--armenian}', "");
-Expect(1, 1328, '\P{Script=--armenian}', "");
-Expect(0, 1328, '\P{^Script=--armenian}', "");
-Error('\p{Sc=_:=Armn}');
-Error('\P{Sc=_:=Armn}');
-Expect(1, 1366, '\p{Sc=armn}', "");
-Expect(0, 1366, '\p{^Sc=armn}', "");
-Expect(0, 1366, '\P{Sc=armn}', "");
-Expect(1, 1366, '\P{^Sc=armn}', "");
-Expect(0, 1328, '\p{Sc=armn}', "");
-Expect(1, 1328, '\p{^Sc=armn}', "");
-Expect(1, 1328, '\P{Sc=armn}', "");
-Expect(0, 1328, '\P{^Sc=armn}', "");
-Expect(1, 1366, '\p{Sc= Armn}', "");
-Expect(0, 1366, '\p{^Sc= Armn}', "");
-Expect(0, 1366, '\P{Sc= Armn}', "");
-Expect(1, 1366, '\P{^Sc= Armn}', "");
-Expect(0, 1328, '\p{Sc= Armn}', "");
-Expect(1, 1328, '\p{^Sc= Armn}', "");
-Expect(1, 1328, '\P{Sc= Armn}', "");
-Expect(0, 1328, '\P{^Sc= Armn}', "");
-Error('\p{Is_Script: :=armenian}');
-Error('\P{Is_Script: :=armenian}');
-Expect(1, 1366, '\p{Is_Script=armenian}', "");
-Expect(0, 1366, '\p{^Is_Script=armenian}', "");
-Expect(0, 1366, '\P{Is_Script=armenian}', "");
-Expect(1, 1366, '\P{^Is_Script=armenian}', "");
-Expect(0, 1328, '\p{Is_Script=armenian}', "");
-Expect(1, 1328, '\p{^Is_Script=armenian}', "");
-Expect(1, 1328, '\P{Is_Script=armenian}', "");
-Expect(0, 1328, '\P{^Is_Script=armenian}', "");
-Expect(1, 1366, '\p{Is_Script=- ARMENIAN}', "");
-Expect(0, 1366, '\p{^Is_Script=- ARMENIAN}', "");
-Expect(0, 1366, '\P{Is_Script=- ARMENIAN}', "");
-Expect(1, 1366, '\P{^Is_Script=- ARMENIAN}', "");
-Expect(0, 1328, '\p{Is_Script=- ARMENIAN}', "");
-Expect(1, 1328, '\p{^Is_Script=- ARMENIAN}', "");
-Expect(1, 1328, '\P{Is_Script=- ARMENIAN}', "");
-Expect(0, 1328, '\P{^Is_Script=- ARMENIAN}', "");
-Error('\p{Is_Sc=:=- Armn}');
-Error('\P{Is_Sc=:=- Armn}');
-Expect(1, 1366, '\p{Is_Sc=armn}', "");
-Expect(0, 1366, '\p{^Is_Sc=armn}', "");
-Expect(0, 1366, '\P{Is_Sc=armn}', "");
-Expect(1, 1366, '\P{^Is_Sc=armn}', "");
-Expect(0, 1328, '\p{Is_Sc=armn}', "");
-Expect(1, 1328, '\p{^Is_Sc=armn}', "");
-Expect(1, 1328, '\P{Is_Sc=armn}', "");
-Expect(0, 1328, '\P{^Is_Sc=armn}', "");
-Expect(1, 1366, '\p{Is_Sc= Armn}', "");
-Expect(0, 1366, '\p{^Is_Sc= Armn}', "");
-Expect(0, 1366, '\P{Is_Sc= Armn}', "");
-Expect(1, 1366, '\P{^Is_Sc= Armn}', "");
-Expect(0, 1328, '\p{Is_Sc= Armn}', "");
-Expect(1, 1328, '\p{^Is_Sc= Armn}', "");
-Expect(1, 1328, '\P{Is_Sc= Armn}', "");
-Expect(0, 1328, '\P{^Is_Sc= Armn}', "");
-Error('\p{Script=:=_Syriac}');
-Error('\P{Script=:=_Syriac}');
-Expect(1, 1805, '\p{Script: syriac}', "");
-Expect(0, 1805, '\p{^Script: syriac}', "");
-Expect(0, 1805, '\P{Script: syriac}', "");
-Expect(1, 1805, '\P{^Script: syriac}', "");
-Expect(0, 1791, '\p{Script: syriac}', "");
-Expect(1, 1791, '\p{^Script: syriac}', "");
-Expect(1, 1791, '\P{Script: syriac}', "");
-Expect(0, 1791, '\P{^Script: syriac}', "");
-Expect(1, 1805, '\p{Script=- Syriac}', "");
-Expect(0, 1805, '\p{^Script=- Syriac}', "");
-Expect(0, 1805, '\P{Script=- Syriac}', "");
-Expect(1, 1805, '\P{^Script=- Syriac}', "");
-Expect(0, 1791, '\p{Script=- Syriac}', "");
-Expect(1, 1791, '\p{^Script=- Syriac}', "");
-Expect(1, 1791, '\P{Script=- Syriac}', "");
-Expect(0, 1791, '\P{^Script=- Syriac}', "");
-Error('\p{Sc=_:=Syrc}');
-Error('\P{Sc=_:=Syrc}');
-Expect(1, 1805, '\p{Sc: syrc}', "");
-Expect(0, 1805, '\p{^Sc: syrc}', "");
-Expect(0, 1805, '\P{Sc: syrc}', "");
-Expect(1, 1805, '\P{^Sc: syrc}', "");
-Expect(0, 1791, '\p{Sc: syrc}', "");
-Expect(1, 1791, '\p{^Sc: syrc}', "");
-Expect(1, 1791, '\P{Sc: syrc}', "");
-Expect(0, 1791, '\P{^Sc: syrc}', "");
-Expect(1, 1805, '\p{Sc=_Syrc}', "");
-Expect(0, 1805, '\p{^Sc=_Syrc}', "");
-Expect(0, 1805, '\P{Sc=_Syrc}', "");
-Expect(1, 1805, '\P{^Sc=_Syrc}', "");
-Expect(0, 1791, '\p{Sc=_Syrc}', "");
-Expect(1, 1791, '\p{^Sc=_Syrc}', "");
-Expect(1, 1791, '\P{Sc=_Syrc}', "");
-Expect(0, 1791, '\P{^Sc=_Syrc}', "");
-Error('\p{Is_Script=/a/ syriac}');
-Error('\P{Is_Script=/a/ syriac}');
-Expect(1, 1805, '\p{Is_Script=syriac}', "");
-Expect(0, 1805, '\p{^Is_Script=syriac}', "");
-Expect(0, 1805, '\P{Is_Script=syriac}', "");
-Expect(1, 1805, '\P{^Is_Script=syriac}', "");
-Expect(0, 1791, '\p{Is_Script=syriac}', "");
-Expect(1, 1791, '\p{^Is_Script=syriac}', "");
-Expect(1, 1791, '\P{Is_Script=syriac}', "");
-Expect(0, 1791, '\P{^Is_Script=syriac}', "");
-Expect(1, 1805, '\p{Is_Script=-_Syriac}', "");
-Expect(0, 1805, '\p{^Is_Script=-_Syriac}', "");
-Expect(0, 1805, '\P{Is_Script=-_Syriac}', "");
-Expect(1, 1805, '\P{^Is_Script=-_Syriac}', "");
-Expect(0, 1791, '\p{Is_Script=-_Syriac}', "");
-Expect(1, 1791, '\p{^Is_Script=-_Syriac}', "");
-Expect(1, 1791, '\P{Is_Script=-_Syriac}', "");
-Expect(0, 1791, '\P{^Is_Script=-_Syriac}', "");
-Error('\p{Is_Sc=_-SYRC/a/}');
-Error('\P{Is_Sc=_-SYRC/a/}');
-Expect(1, 1805, '\p{Is_Sc=syrc}', "");
-Expect(0, 1805, '\p{^Is_Sc=syrc}', "");
-Expect(0, 1805, '\P{Is_Sc=syrc}', "");
-Expect(1, 1805, '\P{^Is_Sc=syrc}', "");
-Expect(0, 1791, '\p{Is_Sc=syrc}', "");
-Expect(1, 1791, '\p{^Is_Sc=syrc}', "");
-Expect(1, 1791, '\P{Is_Sc=syrc}', "");
-Expect(0, 1791, '\P{^Is_Sc=syrc}', "");
-Expect(1, 1805, '\p{Is_Sc=-_Syrc}', "");
-Expect(0, 1805, '\p{^Is_Sc=-_Syrc}', "");
-Expect(0, 1805, '\P{Is_Sc=-_Syrc}', "");
-Expect(1, 1805, '\P{^Is_Sc=-_Syrc}', "");
-Expect(0, 1791, '\p{Is_Sc=-_Syrc}', "");
-Expect(1, 1791, '\p{^Is_Sc=-_Syrc}', "");
-Expect(1, 1791, '\P{Is_Sc=-_Syrc}', "");
-Expect(0, 1791, '\P{^Is_Sc=-_Syrc}', "");
-Error('\p{Script=:=yi}');
-Error('\P{Script=:=yi}');
-Expect(1, 42124, '\p{Script=yi}', "");
-Expect(0, 42124, '\p{^Script=yi}', "");
-Expect(0, 42124, '\P{Script=yi}', "");
-Expect(1, 42124, '\P{^Script=yi}', "");
-Expect(0, 40959, '\p{Script=yi}', "");
-Expect(1, 40959, '\p{^Script=yi}', "");
-Expect(1, 40959, '\P{Script=yi}', "");
-Expect(0, 40959, '\P{^Script=yi}', "");
-Expect(1, 42124, '\p{Script= yi}', "");
-Expect(0, 42124, '\p{^Script= yi}', "");
-Expect(0, 42124, '\P{Script= yi}', "");
-Expect(1, 42124, '\P{^Script= yi}', "");
-Expect(0, 40959, '\p{Script= yi}', "");
-Expect(1, 40959, '\p{^Script= yi}', "");
-Expect(1, 40959, '\P{Script= yi}', "");
-Expect(0, 40959, '\P{^Script= yi}', "");
-Error('\p{Sc= YIII:=}');
-Error('\P{Sc= YIII:=}');
-Expect(1, 42124, '\p{Sc=yiii}', "");
-Expect(0, 42124, '\p{^Sc=yiii}', "");
-Expect(0, 42124, '\P{Sc=yiii}', "");
-Expect(1, 42124, '\P{^Sc=yiii}', "");
-Expect(0, 40959, '\p{Sc=yiii}', "");
-Expect(1, 40959, '\p{^Sc=yiii}', "");
-Expect(1, 40959, '\P{Sc=yiii}', "");
-Expect(0, 40959, '\P{^Sc=yiii}', "");
-Expect(1, 42124, '\p{Sc=-_Yiii}', "");
-Expect(0, 42124, '\p{^Sc=-_Yiii}', "");
-Expect(0, 42124, '\P{Sc=-_Yiii}', "");
-Expect(1, 42124, '\P{^Sc=-_Yiii}', "");
-Expect(0, 40959, '\p{Sc=-_Yiii}', "");
-Expect(1, 40959, '\p{^Sc=-_Yiii}', "");
-Expect(1, 40959, '\P{Sc=-_Yiii}', "");
-Expect(0, 40959, '\P{^Sc=-_Yiii}', "");
-Error('\p{Is_Script=:= _Yi}');
-Error('\P{Is_Script=:= _Yi}');
-Expect(1, 42124, '\p{Is_Script=yi}', "");
-Expect(0, 42124, '\p{^Is_Script=yi}', "");
-Expect(0, 42124, '\P{Is_Script=yi}', "");
-Expect(1, 42124, '\P{^Is_Script=yi}', "");
-Expect(0, 40959, '\p{Is_Script=yi}', "");
-Expect(1, 40959, '\p{^Is_Script=yi}', "");
-Expect(1, 40959, '\P{Is_Script=yi}', "");
-Expect(0, 40959, '\P{^Is_Script=yi}', "");
-Expect(1, 42124, '\p{Is_Script=- Yi}', "");
-Expect(0, 42124, '\p{^Is_Script=- Yi}', "");
-Expect(0, 42124, '\P{Is_Script=- Yi}', "");
-Expect(1, 42124, '\P{^Is_Script=- Yi}', "");
-Expect(0, 40959, '\p{Is_Script=- Yi}', "");
-Expect(1, 40959, '\p{^Is_Script=- Yi}', "");
-Expect(1, 40959, '\P{Is_Script=- Yi}', "");
-Expect(0, 40959, '\P{^Is_Script=- Yi}', "");
-Error('\p{Is_Sc= :=yiii}');
-Error('\P{Is_Sc= :=yiii}');
-Expect(1, 42124, '\p{Is_Sc=yiii}', "");
-Expect(0, 42124, '\p{^Is_Sc=yiii}', "");
-Expect(0, 42124, '\P{Is_Sc=yiii}', "");
-Expect(1, 42124, '\P{^Is_Sc=yiii}', "");
-Expect(0, 40959, '\p{Is_Sc=yiii}', "");
-Expect(1, 40959, '\p{^Is_Sc=yiii}', "");
-Expect(1, 40959, '\P{Is_Sc=yiii}', "");
-Expect(0, 40959, '\P{^Is_Sc=yiii}', "");
-Expect(1, 42124, '\p{Is_Sc=-YIII}', "");
-Expect(0, 42124, '\p{^Is_Sc=-YIII}', "");
-Expect(0, 42124, '\P{Is_Sc=-YIII}', "");
-Expect(1, 42124, '\P{^Is_Sc=-YIII}', "");
-Expect(0, 40959, '\p{Is_Sc=-YIII}', "");
-Expect(1, 40959, '\p{^Is_Sc=-YIII}', "");
-Expect(1, 40959, '\P{Is_Sc=-YIII}', "");
-Expect(0, 40959, '\P{^Is_Sc=-YIII}', "");
-Error('\p{Script=- KATAKANA/a/}');
-Error('\P{Script=- KATAKANA/a/}');
-Expect(1, 12538, '\p{Script=katakana}', "");
-Expect(0, 12538, '\p{^Script=katakana}', "");
-Expect(0, 12538, '\P{Script=katakana}', "");
-Expect(1, 12538, '\P{^Script=katakana}', "");
-Expect(0, 12448, '\p{Script=katakana}', "");
-Expect(1, 12448, '\p{^Script=katakana}', "");
-Expect(1, 12448, '\P{Script=katakana}', "");
-Expect(0, 12448, '\P{^Script=katakana}', "");
-Expect(1, 12538, '\p{Script=_Katakana}', "");
-Expect(0, 12538, '\p{^Script=_Katakana}', "");
-Expect(0, 12538, '\P{Script=_Katakana}', "");
-Expect(1, 12538, '\P{^Script=_Katakana}', "");
-Expect(0, 12448, '\p{Script=_Katakana}', "");
-Expect(1, 12448, '\p{^Script=_Katakana}', "");
-Expect(1, 12448, '\P{Script=_Katakana}', "");
-Expect(0, 12448, '\P{^Script=_Katakana}', "");
-Error('\p{Sc= Kana:=}');
-Error('\P{Sc= Kana:=}');
-Expect(1, 12538, '\p{Sc=kana}', "");
-Expect(0, 12538, '\p{^Sc=kana}', "");
-Expect(0, 12538, '\P{Sc=kana}', "");
-Expect(1, 12538, '\P{^Sc=kana}', "");
-Expect(0, 12448, '\p{Sc=kana}', "");
-Expect(1, 12448, '\p{^Sc=kana}', "");
-Expect(1, 12448, '\P{Sc=kana}', "");
-Expect(0, 12448, '\P{^Sc=kana}', "");
-Expect(1, 12538, '\p{Sc= -kana}', "");
-Expect(0, 12538, '\p{^Sc= -kana}', "");
-Expect(0, 12538, '\P{Sc= -kana}', "");
-Expect(1, 12538, '\P{^Sc= -kana}', "");
-Expect(0, 12448, '\p{Sc= -kana}', "");
-Expect(1, 12448, '\p{^Sc= -kana}', "");
-Expect(1, 12448, '\P{Sc= -kana}', "");
-Expect(0, 12448, '\P{^Sc= -kana}', "");
-Error('\p{Is_Script=_/a/KATAKANA}');
-Error('\P{Is_Script=_/a/KATAKANA}');
-Expect(1, 12538, '\p{Is_Script=katakana}', "");
-Expect(0, 12538, '\p{^Is_Script=katakana}', "");
-Expect(0, 12538, '\P{Is_Script=katakana}', "");
-Expect(1, 12538, '\P{^Is_Script=katakana}', "");
-Expect(0, 12448, '\p{Is_Script=katakana}', "");
-Expect(1, 12448, '\p{^Is_Script=katakana}', "");
-Expect(1, 12448, '\P{Is_Script=katakana}', "");
-Expect(0, 12448, '\P{^Is_Script=katakana}', "");
-Expect(1, 12538, '\p{Is_Script= -KATAKANA}', "");
-Expect(0, 12538, '\p{^Is_Script= -KATAKANA}', "");
-Expect(0, 12538, '\P{Is_Script= -KATAKANA}', "");
-Expect(1, 12538, '\P{^Is_Script= -KATAKANA}', "");
-Expect(0, 12448, '\p{Is_Script= -KATAKANA}', "");
-Expect(1, 12448, '\p{^Is_Script= -KATAKANA}', "");
-Expect(1, 12448, '\P{Is_Script= -KATAKANA}', "");
-Expect(0, 12448, '\P{^Is_Script= -KATAKANA}', "");
-Error('\p{Is_Sc::= Kana}');
-Error('\P{Is_Sc::= Kana}');
-Expect(1, 12538, '\p{Is_Sc: kana}', "");
-Expect(0, 12538, '\p{^Is_Sc: kana}', "");
-Expect(0, 12538, '\P{Is_Sc: kana}', "");
-Expect(1, 12538, '\P{^Is_Sc: kana}', "");
-Expect(0, 12448, '\p{Is_Sc: kana}', "");
-Expect(1, 12448, '\p{^Is_Sc: kana}', "");
-Expect(1, 12448, '\P{Is_Sc: kana}', "");
-Expect(0, 12448, '\P{^Is_Sc: kana}', "");
-Expect(1, 12538, '\p{Is_Sc=- Kana}', "");
-Expect(0, 12538, '\p{^Is_Sc=- Kana}', "");
-Expect(0, 12538, '\P{Is_Sc=- Kana}', "");
-Expect(1, 12538, '\P{^Is_Sc=- Kana}', "");
-Expect(0, 12448, '\p{Is_Sc=- Kana}', "");
-Expect(1, 12448, '\p{^Is_Sc=- Kana}', "");
-Expect(1, 12448, '\P{Is_Sc=- Kana}', "");
-Expect(0, 12448, '\P{^Is_Sc=- Kana}', "");
-Error('\p{Script: -glagolitic/a/}');
-Error('\P{Script: -glagolitic/a/}');
-Expect(1, 11310, '\p{Script=glagolitic}', "");
-Expect(0, 11310, '\p{^Script=glagolitic}', "");
-Expect(0, 11310, '\P{Script=glagolitic}', "");
-Expect(1, 11310, '\P{^Script=glagolitic}', "");
-Expect(0, 11263, '\p{Script=glagolitic}', "");
-Expect(1, 11263, '\p{^Script=glagolitic}', "");
-Expect(1, 11263, '\P{Script=glagolitic}', "");
-Expect(0, 11263, '\P{^Script=glagolitic}', "");
-Expect(1, 11310, '\p{Script= Glagolitic}', "");
-Expect(0, 11310, '\p{^Script= Glagolitic}', "");
-Expect(0, 11310, '\P{Script= Glagolitic}', "");
-Expect(1, 11310, '\P{^Script= Glagolitic}', "");
-Expect(0, 11263, '\p{Script= Glagolitic}', "");
-Expect(1, 11263, '\p{^Script= Glagolitic}', "");
-Expect(1, 11263, '\P{Script= Glagolitic}', "");
-Expect(0, 11263, '\P{^Script= Glagolitic}', "");
-Error('\p{Sc= GLAG:=}');
-Error('\P{Sc= GLAG:=}');
-Expect(1, 11310, '\p{Sc=glag}', "");
-Expect(0, 11310, '\p{^Sc=glag}', "");
-Expect(0, 11310, '\P{Sc=glag}', "");
-Expect(1, 11310, '\P{^Sc=glag}', "");
-Expect(0, 11263, '\p{Sc=glag}', "");
-Expect(1, 11263, '\p{^Sc=glag}', "");
-Expect(1, 11263, '\P{Sc=glag}', "");
-Expect(0, 11263, '\P{^Sc=glag}', "");
-Expect(1, 11310, '\p{Sc= _Glag}', "");
-Expect(0, 11310, '\p{^Sc= _Glag}', "");
-Expect(0, 11310, '\P{Sc= _Glag}', "");
-Expect(1, 11310, '\P{^Sc= _Glag}', "");
-Expect(0, 11263, '\p{Sc= _Glag}', "");
-Expect(1, 11263, '\p{^Sc= _Glag}', "");
-Expect(1, 11263, '\P{Sc= _Glag}', "");
-Expect(0, 11263, '\P{^Sc= _Glag}', "");
-Error('\p{Is_Script: /a/Glagolitic}');
-Error('\P{Is_Script: /a/Glagolitic}');
-Expect(1, 11310, '\p{Is_Script:glagolitic}', "");
-Expect(0, 11310, '\p{^Is_Script:glagolitic}', "");
-Expect(0, 11310, '\P{Is_Script:glagolitic}', "");
-Expect(1, 11310, '\P{^Is_Script:glagolitic}', "");
-Expect(0, 11263, '\p{Is_Script:glagolitic}', "");
-Expect(1, 11263, '\p{^Is_Script:glagolitic}', "");
-Expect(1, 11263, '\P{Is_Script:glagolitic}', "");
-Expect(0, 11263, '\P{^Is_Script:glagolitic}', "");
-Expect(1, 11310, '\p{Is_Script=--Glagolitic}', "");
-Expect(0, 11310, '\p{^Is_Script=--Glagolitic}', "");
-Expect(0, 11310, '\P{Is_Script=--Glagolitic}', "");
-Expect(1, 11310, '\P{^Is_Script=--Glagolitic}', "");
-Expect(0, 11263, '\p{Is_Script=--Glagolitic}', "");
-Expect(1, 11263, '\p{^Is_Script=--Glagolitic}', "");
-Expect(1, 11263, '\P{Is_Script=--Glagolitic}', "");
-Expect(0, 11263, '\P{^Is_Script=--Glagolitic}', "");
-Error('\p{Is_Sc= :=Glag}');
-Error('\P{Is_Sc= :=Glag}');
-Expect(1, 11310, '\p{Is_Sc=glag}', "");
-Expect(0, 11310, '\p{^Is_Sc=glag}', "");
-Expect(0, 11310, '\P{Is_Sc=glag}', "");
-Expect(1, 11310, '\P{^Is_Sc=glag}', "");
-Expect(0, 11263, '\p{Is_Sc=glag}', "");
-Expect(1, 11263, '\p{^Is_Sc=glag}', "");
-Expect(1, 11263, '\P{Is_Sc=glag}', "");
-Expect(0, 11263, '\P{^Is_Sc=glag}', "");
-Expect(1, 11310, '\p{Is_Sc= _glag}', "");
-Expect(0, 11310, '\p{^Is_Sc= _glag}', "");
-Expect(0, 11310, '\P{Is_Sc= _glag}', "");
-Expect(1, 11310, '\P{^Is_Sc= _glag}', "");
-Expect(0, 11263, '\p{Is_Sc= _glag}', "");
-Expect(1, 11263, '\p{^Is_Sc= _glag}', "");
-Expect(1, 11263, '\P{Is_Sc= _glag}', "");
-Expect(0, 11263, '\P{^Is_Sc= _glag}', "");
-Error('\p{Script=_/a/Thaana}');
-Error('\P{Script=_/a/Thaana}');
-Expect(1, 1969, '\p{Script=thaana}', "");
-Expect(0, 1969, '\p{^Script=thaana}', "");
-Expect(0, 1969, '\P{Script=thaana}', "");
-Expect(1, 1969, '\P{^Script=thaana}', "");
-Expect(0, 1919, '\p{Script=thaana}', "");
-Expect(1, 1919, '\p{^Script=thaana}', "");
-Expect(1, 1919, '\P{Script=thaana}', "");
-Expect(0, 1919, '\P{^Script=thaana}', "");
-Expect(1, 1969, '\p{Script=--thaana}', "");
-Expect(0, 1969, '\p{^Script=--thaana}', "");
-Expect(0, 1969, '\P{Script=--thaana}', "");
-Expect(1, 1969, '\P{^Script=--thaana}', "");
-Expect(0, 1919, '\p{Script=--thaana}', "");
-Expect(1, 1919, '\p{^Script=--thaana}', "");
-Expect(1, 1919, '\P{Script=--thaana}', "");
-Expect(0, 1919, '\P{^Script=--thaana}', "");
-Error('\p{Sc=_:=THAA}');
-Error('\P{Sc=_:=THAA}');
-Expect(1, 1969, '\p{Sc=thaa}', "");
-Expect(0, 1969, '\p{^Sc=thaa}', "");
-Expect(0, 1969, '\P{Sc=thaa}', "");
-Expect(1, 1969, '\P{^Sc=thaa}', "");
-Expect(0, 1919, '\p{Sc=thaa}', "");
-Expect(1, 1919, '\p{^Sc=thaa}', "");
-Expect(1, 1919, '\P{Sc=thaa}', "");
-Expect(0, 1919, '\P{^Sc=thaa}', "");
-Expect(1, 1969, '\p{Sc= _THAA}', "");
-Expect(0, 1969, '\p{^Sc= _THAA}', "");
-Expect(0, 1969, '\P{Sc= _THAA}', "");
-Expect(1, 1969, '\P{^Sc= _THAA}', "");
-Expect(0, 1919, '\p{Sc= _THAA}', "");
-Expect(1, 1919, '\p{^Sc= _THAA}', "");
-Expect(1, 1919, '\P{Sc= _THAA}', "");
-Expect(0, 1919, '\P{^Sc= _THAA}', "");
-Error('\p{Is_Script=-_THAANA/a/}');
-Error('\P{Is_Script=-_THAANA/a/}');
-Expect(1, 1969, '\p{Is_Script=thaana}', "");
-Expect(0, 1969, '\p{^Is_Script=thaana}', "");
-Expect(0, 1969, '\P{Is_Script=thaana}', "");
-Expect(1, 1969, '\P{^Is_Script=thaana}', "");
-Expect(0, 1919, '\p{Is_Script=thaana}', "");
-Expect(1, 1919, '\p{^Is_Script=thaana}', "");
-Expect(1, 1919, '\P{Is_Script=thaana}', "");
-Expect(0, 1919, '\P{^Is_Script=thaana}', "");
-Expect(1, 1969, '\p{Is_Script= thaana}', "");
-Expect(0, 1969, '\p{^Is_Script= thaana}', "");
-Expect(0, 1969, '\P{Is_Script= thaana}', "");
-Expect(1, 1969, '\P{^Is_Script= thaana}', "");
-Expect(0, 1919, '\p{Is_Script= thaana}', "");
-Expect(1, 1919, '\p{^Is_Script= thaana}', "");
-Expect(1, 1919, '\P{Is_Script= thaana}', "");
-Expect(0, 1919, '\P{^Is_Script= thaana}', "");
-Error('\p{Is_Sc=:=__Thaa}');
-Error('\P{Is_Sc=:=__Thaa}');
-Expect(1, 1969, '\p{Is_Sc=thaa}', "");
-Expect(0, 1969, '\p{^Is_Sc=thaa}', "");
-Expect(0, 1969, '\P{Is_Sc=thaa}', "");
-Expect(1, 1969, '\P{^Is_Sc=thaa}', "");
-Expect(0, 1919, '\p{Is_Sc=thaa}', "");
-Expect(1, 1919, '\p{^Is_Sc=thaa}', "");
-Expect(1, 1919, '\P{Is_Sc=thaa}', "");
-Expect(0, 1919, '\P{^Is_Sc=thaa}', "");
-Expect(1, 1969, '\p{Is_Sc= -THAA}', "");
-Expect(0, 1969, '\p{^Is_Sc= -THAA}', "");
-Expect(0, 1969, '\P{Is_Sc= -THAA}', "");
-Expect(1, 1969, '\P{^Is_Sc= -THAA}', "");
-Expect(0, 1919, '\p{Is_Sc= -THAA}', "");
-Expect(1, 1919, '\p{^Is_Sc= -THAA}', "");
-Expect(1, 1919, '\P{Is_Sc= -THAA}', "");
-Expect(0, 1919, '\P{^Is_Sc= -THAA}', "");
-Error('\p{Script=_/a/lepcha}');
-Error('\P{Script=_/a/lepcha}');
-Expect(1, 7223, '\p{Script=lepcha}', "");
-Expect(0, 7223, '\p{^Script=lepcha}', "");
-Expect(0, 7223, '\P{Script=lepcha}', "");
-Expect(1, 7223, '\P{^Script=lepcha}', "");
-Expect(0, 7167, '\p{Script=lepcha}', "");
-Expect(1, 7167, '\p{^Script=lepcha}', "");
-Expect(1, 7167, '\P{Script=lepcha}', "");
-Expect(0, 7167, '\P{^Script=lepcha}', "");
-Expect(1, 7223, '\p{Script=__Lepcha}', "");
-Expect(0, 7223, '\p{^Script=__Lepcha}', "");
-Expect(0, 7223, '\P{Script=__Lepcha}', "");
-Expect(1, 7223, '\P{^Script=__Lepcha}', "");
-Expect(0, 7167, '\p{Script=__Lepcha}', "");
-Expect(1, 7167, '\p{^Script=__Lepcha}', "");
-Expect(1, 7167, '\P{Script=__Lepcha}', "");
-Expect(0, 7167, '\P{^Script=__Lepcha}', "");
-Error('\p{Sc=:=-Lepc}');
-Error('\P{Sc=:=-Lepc}');
-Expect(1, 7223, '\p{Sc=lepc}', "");
-Expect(0, 7223, '\p{^Sc=lepc}', "");
-Expect(0, 7223, '\P{Sc=lepc}', "");
-Expect(1, 7223, '\P{^Sc=lepc}', "");
-Expect(0, 7167, '\p{Sc=lepc}', "");
-Expect(1, 7167, '\p{^Sc=lepc}', "");
-Expect(1, 7167, '\P{Sc=lepc}', "");
-Expect(0, 7167, '\P{^Sc=lepc}', "");
-Expect(1, 7223, '\p{Sc= _LEPC}', "");
-Expect(0, 7223, '\p{^Sc= _LEPC}', "");
-Expect(0, 7223, '\P{Sc= _LEPC}', "");
-Expect(1, 7223, '\P{^Sc= _LEPC}', "");
-Expect(0, 7167, '\p{Sc= _LEPC}', "");
-Expect(1, 7167, '\p{^Sc= _LEPC}', "");
-Expect(1, 7167, '\P{Sc= _LEPC}', "");
-Expect(0, 7167, '\P{^Sc= _LEPC}', "");
-Error('\p{Is_Script: /a/LEPCHA}');
-Error('\P{Is_Script: /a/LEPCHA}');
-Expect(1, 7223, '\p{Is_Script=lepcha}', "");
-Expect(0, 7223, '\p{^Is_Script=lepcha}', "");
-Expect(0, 7223, '\P{Is_Script=lepcha}', "");
-Expect(1, 7223, '\P{^Is_Script=lepcha}', "");
-Expect(0, 7167, '\p{Is_Script=lepcha}', "");
-Expect(1, 7167, '\p{^Is_Script=lepcha}', "");
-Expect(1, 7167, '\P{Is_Script=lepcha}', "");
-Expect(0, 7167, '\P{^Is_Script=lepcha}', "");
-Expect(1, 7223, '\p{Is_Script= LEPCHA}', "");
-Expect(0, 7223, '\p{^Is_Script= LEPCHA}', "");
-Expect(0, 7223, '\P{Is_Script= LEPCHA}', "");
-Expect(1, 7223, '\P{^Is_Script= LEPCHA}', "");
-Expect(0, 7167, '\p{Is_Script= LEPCHA}', "");
-Expect(1, 7167, '\p{^Is_Script= LEPCHA}', "");
-Expect(1, 7167, '\P{Is_Script= LEPCHA}', "");
-Expect(0, 7167, '\P{^Is_Script= LEPCHA}', "");
-Error('\p{Is_Sc=/a/-LEPC}');
-Error('\P{Is_Sc=/a/-LEPC}');
-Expect(1, 7223, '\p{Is_Sc=lepc}', "");
-Expect(0, 7223, '\p{^Is_Sc=lepc}', "");
-Expect(0, 7223, '\P{Is_Sc=lepc}', "");
-Expect(1, 7223, '\P{^Is_Sc=lepc}', "");
-Expect(0, 7167, '\p{Is_Sc=lepc}', "");
-Expect(1, 7167, '\p{^Is_Sc=lepc}', "");
-Expect(1, 7167, '\P{Is_Sc=lepc}', "");
-Expect(0, 7167, '\P{^Is_Sc=lepc}', "");
-Expect(1, 7223, '\p{Is_Sc: Lepc}', "");
-Expect(0, 7223, '\p{^Is_Sc: Lepc}', "");
-Expect(0, 7223, '\P{Is_Sc: Lepc}', "");
-Expect(1, 7223, '\P{^Is_Sc: Lepc}', "");
-Expect(0, 7167, '\p{Is_Sc: Lepc}', "");
-Expect(1, 7167, '\p{^Is_Sc: Lepc}', "");
-Expect(1, 7167, '\P{Is_Sc: Lepc}', "");
-Expect(0, 7167, '\P{^Is_Sc: Lepc}', "");
-Error('\p{Script=-/a/Coptic}');
-Error('\P{Script=-/a/Coptic}');
-Expect(1, 1007, '\p{Script=coptic}', "");
-Expect(0, 1007, '\p{^Script=coptic}', "");
-Expect(0, 1007, '\P{Script=coptic}', "");
-Expect(1, 1007, '\P{^Script=coptic}', "");
-Expect(0, 993, '\p{Script=coptic}', "");
-Expect(1, 993, '\p{^Script=coptic}', "");
-Expect(1, 993, '\P{Script=coptic}', "");
-Expect(0, 993, '\P{^Script=coptic}', "");
-Expect(1, 1007, '\p{Script=_coptic}', "");
-Expect(0, 1007, '\p{^Script=_coptic}', "");
-Expect(0, 1007, '\P{Script=_coptic}', "");
-Expect(1, 1007, '\P{^Script=_coptic}', "");
-Expect(0, 993, '\p{Script=_coptic}', "");
-Expect(1, 993, '\p{^Script=_coptic}', "");
-Expect(1, 993, '\P{Script=_coptic}', "");
-Expect(0, 993, '\P{^Script=_coptic}', "");
-Error('\p{Sc=/a/ Copt}');
-Error('\P{Sc=/a/ Copt}');
-Expect(1, 1007, '\p{Sc=copt}', "");
-Expect(0, 1007, '\p{^Sc=copt}', "");
-Expect(0, 1007, '\P{Sc=copt}', "");
-Expect(1, 1007, '\P{^Sc=copt}', "");
-Expect(0, 993, '\p{Sc=copt}', "");
-Expect(1, 993, '\p{^Sc=copt}', "");
-Expect(1, 993, '\P{Sc=copt}', "");
-Expect(0, 993, '\P{^Sc=copt}', "");
-Expect(1, 1007, '\p{Sc= -Copt}', "");
-Expect(0, 1007, '\p{^Sc= -Copt}', "");
-Expect(0, 1007, '\P{Sc= -Copt}', "");
-Expect(1, 1007, '\P{^Sc= -Copt}', "");
-Expect(0, 993, '\p{Sc= -Copt}', "");
-Expect(1, 993, '\p{^Sc= -Copt}', "");
-Expect(1, 993, '\P{Sc= -Copt}', "");
-Expect(0, 993, '\P{^Sc= -Copt}', "");
-Error('\p{Is_Script=:=Qaac}');
-Error('\P{Is_Script=:=Qaac}');
-Expect(1, 1007, '\p{Is_Script: qaac}', "");
-Expect(0, 1007, '\p{^Is_Script: qaac}', "");
-Expect(0, 1007, '\P{Is_Script: qaac}', "");
-Expect(1, 1007, '\P{^Is_Script: qaac}', "");
-Expect(0, 993, '\p{Is_Script: qaac}', "");
-Expect(1, 993, '\p{^Is_Script: qaac}', "");
-Expect(1, 993, '\P{Is_Script: qaac}', "");
-Expect(0, 993, '\P{^Is_Script: qaac}', "");
-Expect(1, 1007, '\p{Is_Script: -_QAAC}', "");
-Expect(0, 1007, '\p{^Is_Script: -_QAAC}', "");
-Expect(0, 1007, '\P{Is_Script: -_QAAC}', "");
-Expect(1, 1007, '\P{^Is_Script: -_QAAC}', "");
-Expect(0, 993, '\p{Is_Script: -_QAAC}', "");
-Expect(1, 993, '\p{^Is_Script: -_QAAC}', "");
-Expect(1, 993, '\P{Is_Script: -_QAAC}', "");
-Expect(0, 993, '\P{^Is_Script: -_QAAC}', "");
-Error('\p{Is_Sc= Coptic:=}');
-Error('\P{Is_Sc= Coptic:=}');
-Expect(1, 1007, '\p{Is_Sc=coptic}', "");
-Expect(0, 1007, '\p{^Is_Sc=coptic}', "");
-Expect(0, 1007, '\P{Is_Sc=coptic}', "");
-Expect(1, 1007, '\P{^Is_Sc=coptic}', "");
-Expect(0, 993, '\p{Is_Sc=coptic}', "");
-Expect(1, 993, '\p{^Is_Sc=coptic}', "");
-Expect(1, 993, '\P{Is_Sc=coptic}', "");
-Expect(0, 993, '\P{^Is_Sc=coptic}', "");
-Expect(1, 1007, '\p{Is_Sc=_coptic}', "");
-Expect(0, 1007, '\p{^Is_Sc=_coptic}', "");
-Expect(0, 1007, '\P{Is_Sc=_coptic}', "");
-Expect(1, 1007, '\P{^Is_Sc=_coptic}', "");
-Expect(0, 993, '\p{Is_Sc=_coptic}', "");
-Expect(1, 993, '\p{^Is_Sc=_coptic}', "");
-Expect(1, 993, '\P{Is_Sc=_coptic}', "");
-Expect(0, 993, '\P{^Is_Sc=_coptic}', "");
-Error('\p{Script=Katakana_Or_Hiragana}');
-Error('\P{Script=Katakana_Or_Hiragana}');
-Error('\p{Sc=Hrkt}');
-Error('\P{Sc=Hrkt}');
-Error('\p{Is_Script=Katakana_Or_Hiragana}');
-Error('\P{Is_Script=Katakana_Or_Hiragana}');
-Error('\p{Is_Sc=Hrkt}');
-Error('\P{Is_Sc=Hrkt}');
-Error('\p{Script=/a/ -Balinese}');
-Error('\P{Script=/a/ -Balinese}');
-Expect(1, 6987, '\p{Script: balinese}', "");
-Expect(0, 6987, '\p{^Script: balinese}', "");
-Expect(0, 6987, '\P{Script: balinese}', "");
-Expect(1, 6987, '\P{^Script: balinese}', "");
-Expect(0, 6911, '\p{Script: balinese}', "");
-Expect(1, 6911, '\p{^Script: balinese}', "");
-Expect(1, 6911, '\P{Script: balinese}', "");
-Expect(0, 6911, '\P{^Script: balinese}', "");
-Expect(1, 6987, '\p{Script=_Balinese}', "");
-Expect(0, 6987, '\p{^Script=_Balinese}', "");
-Expect(0, 6987, '\P{Script=_Balinese}', "");
-Expect(1, 6987, '\P{^Script=_Balinese}', "");
-Expect(0, 6911, '\p{Script=_Balinese}', "");
-Expect(1, 6911, '\p{^Script=_Balinese}', "");
-Expect(1, 6911, '\P{Script=_Balinese}', "");
-Expect(0, 6911, '\P{^Script=_Balinese}', "");
-Error('\p{Sc=__BALI:=}');
-Error('\P{Sc=__BALI:=}');
-Expect(1, 6987, '\p{Sc=bali}', "");
-Expect(0, 6987, '\p{^Sc=bali}', "");
-Expect(0, 6987, '\P{Sc=bali}', "");
-Expect(1, 6987, '\P{^Sc=bali}', "");
-Expect(0, 6911, '\p{Sc=bali}', "");
-Expect(1, 6911, '\p{^Sc=bali}', "");
-Expect(1, 6911, '\P{Sc=bali}', "");
-Expect(0, 6911, '\P{^Sc=bali}', "");
-Expect(1, 6987, '\p{Sc= Bali}', "");
-Expect(0, 6987, '\p{^Sc= Bali}', "");
-Expect(0, 6987, '\P{Sc= Bali}', "");
-Expect(1, 6987, '\P{^Sc= Bali}', "");
-Expect(0, 6911, '\p{Sc= Bali}', "");
-Expect(1, 6911, '\p{^Sc= Bali}', "");
-Expect(1, 6911, '\P{Sc= Bali}', "");
-Expect(0, 6911, '\P{^Sc= Bali}', "");
-Error('\p{Is_Script=:= Balinese}');
-Error('\P{Is_Script=:= Balinese}');
-Expect(1, 6987, '\p{Is_Script=balinese}', "");
-Expect(0, 6987, '\p{^Is_Script=balinese}', "");
-Expect(0, 6987, '\P{Is_Script=balinese}', "");
-Expect(1, 6987, '\P{^Is_Script=balinese}', "");
-Expect(0, 6911, '\p{Is_Script=balinese}', "");
-Expect(1, 6911, '\p{^Is_Script=balinese}', "");
-Expect(1, 6911, '\P{Is_Script=balinese}', "");
-Expect(0, 6911, '\P{^Is_Script=balinese}', "");
-Expect(1, 6987, '\p{Is_Script= Balinese}', "");
-Expect(0, 6987, '\p{^Is_Script= Balinese}', "");
-Expect(0, 6987, '\P{Is_Script= Balinese}', "");
-Expect(1, 6987, '\P{^Is_Script= Balinese}', "");
-Expect(0, 6911, '\p{Is_Script= Balinese}', "");
-Expect(1, 6911, '\p{^Is_Script= Balinese}', "");
-Expect(1, 6911, '\P{Is_Script= Balinese}', "");
-Expect(0, 6911, '\P{^Is_Script= Balinese}', "");
-Error('\p{Is_Sc=_/a/BALI}');
-Error('\P{Is_Sc=_/a/BALI}');
-Expect(1, 6987, '\p{Is_Sc=bali}', "");
-Expect(0, 6987, '\p{^Is_Sc=bali}', "");
-Expect(0, 6987, '\P{Is_Sc=bali}', "");
-Expect(1, 6987, '\P{^Is_Sc=bali}', "");
-Expect(0, 6911, '\p{Is_Sc=bali}', "");
-Expect(1, 6911, '\p{^Is_Sc=bali}', "");
-Expect(1, 6911, '\P{Is_Sc=bali}', "");
-Expect(0, 6911, '\P{^Is_Sc=bali}', "");
-Expect(1, 6987, '\p{Is_Sc= bali}', "");
-Expect(0, 6987, '\p{^Is_Sc= bali}', "");
-Expect(0, 6987, '\P{Is_Sc= bali}', "");
-Expect(1, 6987, '\P{^Is_Sc= bali}', "");
-Expect(0, 6911, '\p{Is_Sc= bali}', "");
-Expect(1, 6911, '\p{^Is_Sc= bali}', "");
-Expect(1, 6911, '\P{Is_Sc= bali}', "");
-Expect(0, 6911, '\P{^Is_Sc= bali}', "");
-Error('\p{Script= :=TAGBANWA}');
-Error('\P{Script= :=TAGBANWA}');
-Expect(1, 5996, '\p{Script: tagbanwa}', "");
-Expect(0, 5996, '\p{^Script: tagbanwa}', "");
-Expect(0, 5996, '\P{Script: tagbanwa}', "");
-Expect(1, 5996, '\P{^Script: tagbanwa}', "");
-Expect(0, 5983, '\p{Script: tagbanwa}', "");
-Expect(1, 5983, '\p{^Script: tagbanwa}', "");
-Expect(1, 5983, '\P{Script: tagbanwa}', "");
-Expect(0, 5983, '\P{^Script: tagbanwa}', "");
-Expect(1, 5996, '\p{Script= tagbanwa}', "");
-Expect(0, 5996, '\p{^Script= tagbanwa}', "");
-Expect(0, 5996, '\P{Script= tagbanwa}', "");
-Expect(1, 5996, '\P{^Script= tagbanwa}', "");
-Expect(0, 5983, '\p{Script= tagbanwa}', "");
-Expect(1, 5983, '\p{^Script= tagbanwa}', "");
-Expect(1, 5983, '\P{Script= tagbanwa}', "");
-Expect(0, 5983, '\P{^Script= tagbanwa}', "");
-Error('\p{Sc= :=tagb}');
-Error('\P{Sc= :=tagb}');
-Expect(1, 5996, '\p{Sc=tagb}', "");
-Expect(0, 5996, '\p{^Sc=tagb}', "");
-Expect(0, 5996, '\P{Sc=tagb}', "");
-Expect(1, 5996, '\P{^Sc=tagb}', "");
-Expect(0, 5983, '\p{Sc=tagb}', "");
-Expect(1, 5983, '\p{^Sc=tagb}', "");
-Expect(1, 5983, '\P{Sc=tagb}', "");
-Expect(0, 5983, '\P{^Sc=tagb}', "");
-Expect(1, 5996, '\p{Sc:--TAGB}', "");
-Expect(0, 5996, '\p{^Sc:--TAGB}', "");
-Expect(0, 5996, '\P{Sc:--TAGB}', "");
-Expect(1, 5996, '\P{^Sc:--TAGB}', "");
-Expect(0, 5983, '\p{Sc:--TAGB}', "");
-Expect(1, 5983, '\p{^Sc:--TAGB}', "");
-Expect(1, 5983, '\P{Sc:--TAGB}', "");
-Expect(0, 5983, '\P{^Sc:--TAGB}', "");
-Error('\p{Is_Script=/a/ Tagbanwa}');
-Error('\P{Is_Script=/a/ Tagbanwa}');
-Expect(1, 5996, '\p{Is_Script=tagbanwa}', "");
-Expect(0, 5996, '\p{^Is_Script=tagbanwa}', "");
-Expect(0, 5996, '\P{Is_Script=tagbanwa}', "");
-Expect(1, 5996, '\P{^Is_Script=tagbanwa}', "");
-Expect(0, 5983, '\p{Is_Script=tagbanwa}', "");
-Expect(1, 5983, '\p{^Is_Script=tagbanwa}', "");
-Expect(1, 5983, '\P{Is_Script=tagbanwa}', "");
-Expect(0, 5983, '\P{^Is_Script=tagbanwa}', "");
-Expect(1, 5996, '\p{Is_Script=- Tagbanwa}', "");
-Expect(0, 5996, '\p{^Is_Script=- Tagbanwa}', "");
-Expect(0, 5996, '\P{Is_Script=- Tagbanwa}', "");
-Expect(1, 5996, '\P{^Is_Script=- Tagbanwa}', "");
-Expect(0, 5983, '\p{Is_Script=- Tagbanwa}', "");
-Expect(1, 5983, '\p{^Is_Script=- Tagbanwa}', "");
-Expect(1, 5983, '\P{Is_Script=- Tagbanwa}', "");
-Expect(0, 5983, '\P{^Is_Script=- Tagbanwa}', "");
-Error('\p{Is_Sc= Tagb:=}');
-Error('\P{Is_Sc= Tagb:=}');
-Expect(1, 5996, '\p{Is_Sc: tagb}', "");
-Expect(0, 5996, '\p{^Is_Sc: tagb}', "");
-Expect(0, 5996, '\P{Is_Sc: tagb}', "");
-Expect(1, 5996, '\P{^Is_Sc: tagb}', "");
-Expect(0, 5983, '\p{Is_Sc: tagb}', "");
-Expect(1, 5983, '\p{^Is_Sc: tagb}', "");
-Expect(1, 5983, '\P{Is_Sc: tagb}', "");
-Expect(0, 5983, '\P{^Is_Sc: tagb}', "");
-Expect(1, 5996, '\p{Is_Sc= Tagb}', "");
-Expect(0, 5996, '\p{^Is_Sc= Tagb}', "");
-Expect(0, 5996, '\P{Is_Sc= Tagb}', "");
-Expect(1, 5996, '\P{^Is_Sc= Tagb}', "");
-Expect(0, 5983, '\p{Is_Sc= Tagb}', "");
-Expect(1, 5983, '\p{^Is_Sc= Tagb}', "");
-Expect(1, 5983, '\P{Is_Sc= Tagb}', "");
-Expect(0, 5983, '\P{^Is_Sc= Tagb}', "");
-Error('\p{Script: Syloti:=NAGRI}');
-Error('\P{Script: Syloti:=NAGRI}');
-Expect(1, 43051, '\p{Script=sylotinagri}', "");
-Expect(0, 43051, '\p{^Script=sylotinagri}', "");
-Expect(0, 43051, '\P{Script=sylotinagri}', "");
-Expect(1, 43051, '\P{^Script=sylotinagri}', "");
-Expect(0, 43007, '\p{Script=sylotinagri}', "");
-Expect(1, 43007, '\p{^Script=sylotinagri}', "");
-Expect(1, 43007, '\P{Script=sylotinagri}', "");
-Expect(0, 43007, '\P{^Script=sylotinagri}', "");
-Expect(1, 43051, '\p{Script=-_SYLOTI Nagri}', "");
-Expect(0, 43051, '\p{^Script=-_SYLOTI Nagri}', "");
-Expect(0, 43051, '\P{Script=-_SYLOTI Nagri}', "");
-Expect(1, 43051, '\P{^Script=-_SYLOTI Nagri}', "");
-Expect(0, 43007, '\p{Script=-_SYLOTI Nagri}', "");
-Expect(1, 43007, '\p{^Script=-_SYLOTI Nagri}', "");
-Expect(1, 43007, '\P{Script=-_SYLOTI Nagri}', "");
-Expect(0, 43007, '\P{^Script=-_SYLOTI Nagri}', "");
-Error('\p{Sc=/a/- SYLO}');
-Error('\P{Sc=/a/- SYLO}');
-Expect(1, 43051, '\p{Sc=sylo}', "");
-Expect(0, 43051, '\p{^Sc=sylo}', "");
-Expect(0, 43051, '\P{Sc=sylo}', "");
-Expect(1, 43051, '\P{^Sc=sylo}', "");
-Expect(0, 43007, '\p{Sc=sylo}', "");
-Expect(1, 43007, '\p{^Sc=sylo}', "");
-Expect(1, 43007, '\P{Sc=sylo}', "");
-Expect(0, 43007, '\P{^Sc=sylo}', "");
-Expect(1, 43051, '\p{Sc= -Sylo}', "");
-Expect(0, 43051, '\p{^Sc= -Sylo}', "");
-Expect(0, 43051, '\P{Sc= -Sylo}', "");
-Expect(1, 43051, '\P{^Sc= -Sylo}', "");
-Expect(0, 43007, '\p{Sc= -Sylo}', "");
-Expect(1, 43007, '\p{^Sc= -Sylo}', "");
-Expect(1, 43007, '\P{Sc= -Sylo}', "");
-Expect(0, 43007, '\P{^Sc= -Sylo}', "");
-Error('\p{Is_Script= :=syloti-Nagri}');
-Error('\P{Is_Script= :=syloti-Nagri}');
-Expect(1, 43051, '\p{Is_Script=sylotinagri}', "");
-Expect(0, 43051, '\p{^Is_Script=sylotinagri}', "");
-Expect(0, 43051, '\P{Is_Script=sylotinagri}', "");
-Expect(1, 43051, '\P{^Is_Script=sylotinagri}', "");
-Expect(0, 43007, '\p{Is_Script=sylotinagri}', "");
-Expect(1, 43007, '\p{^Is_Script=sylotinagri}', "");
-Expect(1, 43007, '\P{Is_Script=sylotinagri}', "");
-Expect(0, 43007, '\P{^Is_Script=sylotinagri}', "");
-Expect(1, 43051, '\p{Is_Script= Syloti Nagri}', "");
-Expect(0, 43051, '\p{^Is_Script= Syloti Nagri}', "");
-Expect(0, 43051, '\P{Is_Script= Syloti Nagri}', "");
-Expect(1, 43051, '\P{^Is_Script= Syloti Nagri}', "");
-Expect(0, 43007, '\p{Is_Script= Syloti Nagri}', "");
-Expect(1, 43007, '\p{^Is_Script= Syloti Nagri}', "");
-Expect(1, 43007, '\P{Is_Script= Syloti Nagri}', "");
-Expect(0, 43007, '\P{^Is_Script= Syloti Nagri}', "");
-Error('\p{Is_Sc=/a/ Sylo}');
-Error('\P{Is_Sc=/a/ Sylo}');
-Expect(1, 43051, '\p{Is_Sc=sylo}', "");
-Expect(0, 43051, '\p{^Is_Sc=sylo}', "");
-Expect(0, 43051, '\P{Is_Sc=sylo}', "");
-Expect(1, 43051, '\P{^Is_Sc=sylo}', "");
-Expect(0, 43007, '\p{Is_Sc=sylo}', "");
-Expect(1, 43007, '\p{^Is_Sc=sylo}', "");
-Expect(1, 43007, '\P{Is_Sc=sylo}', "");
-Expect(0, 43007, '\P{^Is_Sc=sylo}', "");
-Expect(1, 43051, '\p{Is_Sc= -Sylo}', "");
-Expect(0, 43051, '\p{^Is_Sc= -Sylo}', "");
-Expect(0, 43051, '\P{Is_Sc= -Sylo}', "");
-Expect(1, 43051, '\P{^Is_Sc= -Sylo}', "");
-Expect(0, 43007, '\p{Is_Sc= -Sylo}', "");
-Expect(1, 43007, '\p{^Is_Sc= -Sylo}', "");
-Expect(1, 43007, '\P{Is_Sc= -Sylo}', "");
-Expect(0, 43007, '\P{^Is_Sc= -Sylo}', "");
-Error('\p{Script=:= _MeeteiMAYEK}');
-Error('\P{Script=:= _MeeteiMAYEK}');
-Expect(1, 44013, '\p{Script=meeteimayek}', "");
-Expect(0, 44013, '\p{^Script=meeteimayek}', "");
-Expect(0, 44013, '\P{Script=meeteimayek}', "");
-Expect(1, 44013, '\P{^Script=meeteimayek}', "");
-Expect(0, 43967, '\p{Script=meeteimayek}', "");
-Expect(1, 43967, '\p{^Script=meeteimayek}', "");
-Expect(1, 43967, '\P{Script=meeteimayek}', "");
-Expect(0, 43967, '\P{^Script=meeteimayek}', "");
-Expect(1, 44013, '\p{Script=__Meetei-mayek}', "");
-Expect(0, 44013, '\p{^Script=__Meetei-mayek}', "");
-Expect(0, 44013, '\P{Script=__Meetei-mayek}', "");
-Expect(1, 44013, '\P{^Script=__Meetei-mayek}', "");
-Expect(0, 43967, '\p{Script=__Meetei-mayek}', "");
-Expect(1, 43967, '\p{^Script=__Meetei-mayek}', "");
-Expect(1, 43967, '\P{Script=__Meetei-mayek}', "");
-Expect(0, 43967, '\P{^Script=__Meetei-mayek}', "");
-Error('\p{Sc=:=-MTEI}');
-Error('\P{Sc=:=-MTEI}');
-Expect(1, 44013, '\p{Sc=mtei}', "");
-Expect(0, 44013, '\p{^Sc=mtei}', "");
-Expect(0, 44013, '\P{Sc=mtei}', "");
-Expect(1, 44013, '\P{^Sc=mtei}', "");
-Expect(0, 43967, '\p{Sc=mtei}', "");
-Expect(1, 43967, '\p{^Sc=mtei}', "");
-Expect(1, 43967, '\P{Sc=mtei}', "");
-Expect(0, 43967, '\P{^Sc=mtei}', "");
-Expect(1, 44013, '\p{Sc=_ mtei}', "");
-Expect(0, 44013, '\p{^Sc=_ mtei}', "");
-Expect(0, 44013, '\P{Sc=_ mtei}', "");
-Expect(1, 44013, '\P{^Sc=_ mtei}', "");
-Expect(0, 43967, '\p{Sc=_ mtei}', "");
-Expect(1, 43967, '\p{^Sc=_ mtei}', "");
-Expect(1, 43967, '\P{Sc=_ mtei}', "");
-Expect(0, 43967, '\P{^Sc=_ mtei}', "");
-Error('\p{Is_Script= Meetei:=Mayek}');
-Error('\P{Is_Script= Meetei:=Mayek}');
-Expect(1, 44013, '\p{Is_Script=meeteimayek}', "");
-Expect(0, 44013, '\p{^Is_Script=meeteimayek}', "");
-Expect(0, 44013, '\P{Is_Script=meeteimayek}', "");
-Expect(1, 44013, '\P{^Is_Script=meeteimayek}', "");
-Expect(0, 43967, '\p{Is_Script=meeteimayek}', "");
-Expect(1, 43967, '\p{^Is_Script=meeteimayek}', "");
-Expect(1, 43967, '\P{Is_Script=meeteimayek}', "");
-Expect(0, 43967, '\P{^Is_Script=meeteimayek}', "");
-Expect(1, 44013, '\p{Is_Script=-meetei Mayek}', "");
-Expect(0, 44013, '\p{^Is_Script=-meetei Mayek}', "");
-Expect(0, 44013, '\P{Is_Script=-meetei Mayek}', "");
-Expect(1, 44013, '\P{^Is_Script=-meetei Mayek}', "");
-Expect(0, 43967, '\p{Is_Script=-meetei Mayek}', "");
-Expect(1, 43967, '\p{^Is_Script=-meetei Mayek}', "");
-Expect(1, 43967, '\P{Is_Script=-meetei Mayek}', "");
-Expect(0, 43967, '\P{^Is_Script=-meetei Mayek}', "");
-Error('\p{Is_Sc=:= MTEI}');
-Error('\P{Is_Sc=:= MTEI}');
-Expect(1, 44013, '\p{Is_Sc=mtei}', "");
-Expect(0, 44013, '\p{^Is_Sc=mtei}', "");
-Expect(0, 44013, '\P{Is_Sc=mtei}', "");
-Expect(1, 44013, '\P{^Is_Sc=mtei}', "");
-Expect(0, 43967, '\p{Is_Sc=mtei}', "");
-Expect(1, 43967, '\p{^Is_Sc=mtei}', "");
-Expect(1, 43967, '\P{Is_Sc=mtei}', "");
-Expect(0, 43967, '\P{^Is_Sc=mtei}', "");
-Expect(1, 44013, '\p{Is_Sc=--Mtei}', "");
-Expect(0, 44013, '\p{^Is_Sc=--Mtei}', "");
-Expect(0, 44013, '\P{Is_Sc=--Mtei}', "");
-Expect(1, 44013, '\P{^Is_Sc=--Mtei}', "");
-Expect(0, 43967, '\p{Is_Sc=--Mtei}', "");
-Expect(1, 43967, '\p{^Is_Sc=--Mtei}', "");
-Expect(1, 43967, '\P{Is_Sc=--Mtei}', "");
-Expect(0, 43967, '\P{^Is_Sc=--Mtei}', "");
-Error('\p{Script= /a/PHOENICIAN}');
-Error('\P{Script= /a/PHOENICIAN}');
-Expect(1, 67867, '\p{Script=phoenician}', "");
-Expect(0, 67867, '\p{^Script=phoenician}', "");
-Expect(0, 67867, '\P{Script=phoenician}', "");
-Expect(1, 67867, '\P{^Script=phoenician}', "");
-Expect(0, 67839, '\p{Script=phoenician}', "");
-Expect(1, 67839, '\p{^Script=phoenician}', "");
-Expect(1, 67839, '\P{Script=phoenician}', "");
-Expect(0, 67839, '\P{^Script=phoenician}', "");
-Expect(1, 67867, '\p{Script= -PHOENICIAN}', "");
-Expect(0, 67867, '\p{^Script= -PHOENICIAN}', "");
-Expect(0, 67867, '\P{Script= -PHOENICIAN}', "");
-Expect(1, 67867, '\P{^Script= -PHOENICIAN}', "");
-Expect(0, 67839, '\p{Script= -PHOENICIAN}', "");
-Expect(1, 67839, '\p{^Script= -PHOENICIAN}', "");
-Expect(1, 67839, '\P{Script= -PHOENICIAN}', "");
-Expect(0, 67839, '\P{^Script= -PHOENICIAN}', "");
-Error('\p{Sc=-_Phnx:=}');
-Error('\P{Sc=-_Phnx:=}');
-Expect(1, 67867, '\p{Sc=phnx}', "");
-Expect(0, 67867, '\p{^Sc=phnx}', "");
-Expect(0, 67867, '\P{Sc=phnx}', "");
-Expect(1, 67867, '\P{^Sc=phnx}', "");
-Expect(0, 67839, '\p{Sc=phnx}', "");
-Expect(1, 67839, '\p{^Sc=phnx}', "");
-Expect(1, 67839, '\P{Sc=phnx}', "");
-Expect(0, 67839, '\P{^Sc=phnx}', "");
-Expect(1, 67867, '\p{Sc=--Phnx}', "");
-Expect(0, 67867, '\p{^Sc=--Phnx}', "");
-Expect(0, 67867, '\P{Sc=--Phnx}', "");
-Expect(1, 67867, '\P{^Sc=--Phnx}', "");
-Expect(0, 67839, '\p{Sc=--Phnx}', "");
-Expect(1, 67839, '\p{^Sc=--Phnx}', "");
-Expect(1, 67839, '\P{Sc=--Phnx}', "");
-Expect(0, 67839, '\P{^Sc=--Phnx}', "");
-Error('\p{Is_Script=:=_PHOENICIAN}');
-Error('\P{Is_Script=:=_PHOENICIAN}');
-Expect(1, 67867, '\p{Is_Script=phoenician}', "");
-Expect(0, 67867, '\p{^Is_Script=phoenician}', "");
-Expect(0, 67867, '\P{Is_Script=phoenician}', "");
-Expect(1, 67867, '\P{^Is_Script=phoenician}', "");
-Expect(0, 67839, '\p{Is_Script=phoenician}', "");
-Expect(1, 67839, '\p{^Is_Script=phoenician}', "");
-Expect(1, 67839, '\P{Is_Script=phoenician}', "");
-Expect(0, 67839, '\P{^Is_Script=phoenician}', "");
-Expect(1, 67867, '\p{Is_Script=- Phoenician}', "");
-Expect(0, 67867, '\p{^Is_Script=- Phoenician}', "");
-Expect(0, 67867, '\P{Is_Script=- Phoenician}', "");
-Expect(1, 67867, '\P{^Is_Script=- Phoenician}', "");
-Expect(0, 67839, '\p{Is_Script=- Phoenician}', "");
-Expect(1, 67839, '\p{^Is_Script=- Phoenician}', "");
-Expect(1, 67839, '\P{Is_Script=- Phoenician}', "");
-Expect(0, 67839, '\P{^Is_Script=- Phoenician}', "");
-Error('\p{Is_Sc= PHNX/a/}');
-Error('\P{Is_Sc= PHNX/a/}');
-Expect(1, 67867, '\p{Is_Sc=phnx}', "");
-Expect(0, 67867, '\p{^Is_Sc=phnx}', "");
-Expect(0, 67867, '\P{Is_Sc=phnx}', "");
-Expect(1, 67867, '\P{^Is_Sc=phnx}', "");
-Expect(0, 67839, '\p{Is_Sc=phnx}', "");
-Expect(1, 67839, '\p{^Is_Sc=phnx}', "");
-Expect(1, 67839, '\P{Is_Sc=phnx}', "");
-Expect(0, 67839, '\P{^Is_Sc=phnx}', "");
-Expect(1, 67867, '\p{Is_Sc= Phnx}', "");
-Expect(0, 67867, '\p{^Is_Sc= Phnx}', "");
-Expect(0, 67867, '\P{Is_Sc= Phnx}', "");
-Expect(1, 67867, '\P{^Is_Sc= Phnx}', "");
-Expect(0, 67839, '\p{Is_Sc= Phnx}', "");
-Expect(1, 67839, '\p{^Is_Sc= Phnx}', "");
-Expect(1, 67839, '\P{Is_Sc= Phnx}', "");
-Expect(0, 67839, '\P{^Is_Sc= Phnx}', "");
-Error('\p{Script=- Devanagari:=}');
-Error('\P{Script=- Devanagari:=}');
-Expect(1, 2361, '\p{Script=devanagari}', "");
-Expect(0, 2361, '\p{^Script=devanagari}', "");
-Expect(0, 2361, '\P{Script=devanagari}', "");
-Expect(1, 2361, '\P{^Script=devanagari}', "");
-Expect(0, 2303, '\p{Script=devanagari}', "");
-Expect(1, 2303, '\p{^Script=devanagari}', "");
-Expect(1, 2303, '\P{Script=devanagari}', "");
-Expect(0, 2303, '\P{^Script=devanagari}', "");
-Expect(1, 2361, '\p{Script=- Devanagari}', "");
-Expect(0, 2361, '\p{^Script=- Devanagari}', "");
-Expect(0, 2361, '\P{Script=- Devanagari}', "");
-Expect(1, 2361, '\P{^Script=- Devanagari}', "");
-Expect(0, 2303, '\p{Script=- Devanagari}', "");
-Expect(1, 2303, '\p{^Script=- Devanagari}', "");
-Expect(1, 2303, '\P{Script=- Devanagari}', "");
-Expect(0, 2303, '\P{^Script=- Devanagari}', "");
-Error('\p{Sc=_/a/DEVA}');
-Error('\P{Sc=_/a/DEVA}');
-Expect(1, 2361, '\p{Sc=deva}', "");
-Expect(0, 2361, '\p{^Sc=deva}', "");
-Expect(0, 2361, '\P{Sc=deva}', "");
-Expect(1, 2361, '\P{^Sc=deva}', "");
-Expect(0, 2303, '\p{Sc=deva}', "");
-Expect(1, 2303, '\p{^Sc=deva}', "");
-Expect(1, 2303, '\P{Sc=deva}', "");
-Expect(0, 2303, '\P{^Sc=deva}', "");
-Expect(1, 2361, '\p{Sc=--Deva}', "");
-Expect(0, 2361, '\p{^Sc=--Deva}', "");
-Expect(0, 2361, '\P{Sc=--Deva}', "");
-Expect(1, 2361, '\P{^Sc=--Deva}', "");
-Expect(0, 2303, '\p{Sc=--Deva}', "");
-Expect(1, 2303, '\p{^Sc=--Deva}', "");
-Expect(1, 2303, '\P{Sc=--Deva}', "");
-Expect(0, 2303, '\P{^Sc=--Deva}', "");
-Error('\p{Is_Script=-/a/Devanagari}');
-Error('\P{Is_Script=-/a/Devanagari}');
-Expect(1, 2361, '\p{Is_Script=devanagari}', "");
-Expect(0, 2361, '\p{^Is_Script=devanagari}', "");
-Expect(0, 2361, '\P{Is_Script=devanagari}', "");
-Expect(1, 2361, '\P{^Is_Script=devanagari}', "");
-Expect(0, 2303, '\p{Is_Script=devanagari}', "");
-Expect(1, 2303, '\p{^Is_Script=devanagari}', "");
-Expect(1, 2303, '\P{Is_Script=devanagari}', "");
-Expect(0, 2303, '\P{^Is_Script=devanagari}', "");
-Expect(1, 2361, '\p{Is_Script=-Devanagari}', "");
-Expect(0, 2361, '\p{^Is_Script=-Devanagari}', "");
-Expect(0, 2361, '\P{Is_Script=-Devanagari}', "");
-Expect(1, 2361, '\P{^Is_Script=-Devanagari}', "");
-Expect(0, 2303, '\p{Is_Script=-Devanagari}', "");
-Expect(1, 2303, '\p{^Is_Script=-Devanagari}', "");
-Expect(1, 2303, '\P{Is_Script=-Devanagari}', "");
-Expect(0, 2303, '\P{^Is_Script=-Devanagari}', "");
-Error('\p{Is_Sc= :=Deva}');
-Error('\P{Is_Sc= :=Deva}');
-Expect(1, 2361, '\p{Is_Sc=deva}', "");
-Expect(0, 2361, '\p{^Is_Sc=deva}', "");
-Expect(0, 2361, '\P{Is_Sc=deva}', "");
-Expect(1, 2361, '\P{^Is_Sc=deva}', "");
-Expect(0, 2303, '\p{Is_Sc=deva}', "");
-Expect(1, 2303, '\p{^Is_Sc=deva}', "");
-Expect(1, 2303, '\P{Is_Sc=deva}', "");
-Expect(0, 2303, '\P{^Is_Sc=deva}', "");
-Expect(1, 2361, '\p{Is_Sc=Deva}', "");
-Expect(0, 2361, '\p{^Is_Sc=Deva}', "");
-Expect(0, 2361, '\P{Is_Sc=Deva}', "");
-Expect(1, 2361, '\P{^Is_Sc=Deva}', "");
-Expect(0, 2303, '\p{Is_Sc=Deva}', "");
-Expect(1, 2303, '\p{^Is_Sc=Deva}', "");
-Expect(1, 2303, '\P{Is_Sc=Deva}', "");
-Expect(0, 2303, '\P{^Is_Sc=Deva}', "");
-Error('\p{Script= carian:=}');
-Error('\P{Script= carian:=}');
-Expect(1, 66256, '\p{Script=carian}', "");
-Expect(0, 66256, '\p{^Script=carian}', "");
-Expect(0, 66256, '\P{Script=carian}', "");
-Expect(1, 66256, '\P{^Script=carian}', "");
-Expect(0, 66207, '\p{Script=carian}', "");
-Expect(1, 66207, '\p{^Script=carian}', "");
-Expect(1, 66207, '\P{Script=carian}', "");
-Expect(0, 66207, '\P{^Script=carian}', "");
-Expect(1, 66256, '\p{Script= CARIAN}', "");
-Expect(0, 66256, '\p{^Script= CARIAN}', "");
-Expect(0, 66256, '\P{Script= CARIAN}', "");
-Expect(1, 66256, '\P{^Script= CARIAN}', "");
-Expect(0, 66207, '\p{Script= CARIAN}', "");
-Expect(1, 66207, '\p{^Script= CARIAN}', "");
-Expect(1, 66207, '\P{Script= CARIAN}', "");
-Expect(0, 66207, '\P{^Script= CARIAN}', "");
-Error('\p{Sc= /a/CARI}');
-Error('\P{Sc= /a/CARI}');
-Expect(1, 66256, '\p{Sc:cari}', "");
-Expect(0, 66256, '\p{^Sc:cari}', "");
-Expect(0, 66256, '\P{Sc:cari}', "");
-Expect(1, 66256, '\P{^Sc:cari}', "");
-Expect(0, 66207, '\p{Sc:cari}', "");
-Expect(1, 66207, '\p{^Sc:cari}', "");
-Expect(1, 66207, '\P{Sc:cari}', "");
-Expect(0, 66207, '\P{^Sc:cari}', "");
-Expect(1, 66256, '\p{Sc=--CARI}', "");
-Expect(0, 66256, '\p{^Sc=--CARI}', "");
-Expect(0, 66256, '\P{Sc=--CARI}', "");
-Expect(1, 66256, '\P{^Sc=--CARI}', "");
-Expect(0, 66207, '\p{Sc=--CARI}', "");
-Expect(1, 66207, '\p{^Sc=--CARI}', "");
-Expect(1, 66207, '\P{Sc=--CARI}', "");
-Expect(0, 66207, '\P{^Sc=--CARI}', "");
-Error('\p{Is_Script=_:=carian}');
-Error('\P{Is_Script=_:=carian}');
-Expect(1, 66256, '\p{Is_Script=carian}', "");
-Expect(0, 66256, '\p{^Is_Script=carian}', "");
-Expect(0, 66256, '\P{Is_Script=carian}', "");
-Expect(1, 66256, '\P{^Is_Script=carian}', "");
-Expect(0, 66207, '\p{Is_Script=carian}', "");
-Expect(1, 66207, '\p{^Is_Script=carian}', "");
-Expect(1, 66207, '\P{Is_Script=carian}', "");
-Expect(0, 66207, '\P{^Is_Script=carian}', "");
-Expect(1, 66256, '\p{Is_Script: carian}', "");
-Expect(0, 66256, '\p{^Is_Script: carian}', "");
-Expect(0, 66256, '\P{Is_Script: carian}', "");
-Expect(1, 66256, '\P{^Is_Script: carian}', "");
-Expect(0, 66207, '\p{Is_Script: carian}', "");
-Expect(1, 66207, '\p{^Is_Script: carian}', "");
-Expect(1, 66207, '\P{Is_Script: carian}', "");
-Expect(0, 66207, '\P{^Is_Script: carian}', "");
-Error('\p{Is_Sc=:= _Cari}');
-Error('\P{Is_Sc=:= _Cari}');
-Expect(1, 66256, '\p{Is_Sc=cari}', "");
-Expect(0, 66256, '\p{^Is_Sc=cari}', "");
-Expect(0, 66256, '\P{Is_Sc=cari}', "");
-Expect(1, 66256, '\P{^Is_Sc=cari}', "");
-Expect(0, 66207, '\p{Is_Sc=cari}', "");
-Expect(1, 66207, '\p{^Is_Sc=cari}', "");
-Expect(1, 66207, '\P{Is_Sc=cari}', "");
-Expect(0, 66207, '\P{^Is_Sc=cari}', "");
-Expect(1, 66256, '\p{Is_Sc=-Cari}', "");
-Expect(0, 66256, '\p{^Is_Sc=-Cari}', "");
-Expect(0, 66256, '\P{Is_Sc=-Cari}', "");
-Expect(1, 66256, '\P{^Is_Sc=-Cari}', "");
-Expect(0, 66207, '\p{Is_Sc=-Cari}', "");
-Expect(1, 66207, '\p{^Is_Sc=-Cari}', "");
-Expect(1, 66207, '\P{Is_Sc=-Cari}', "");
-Expect(0, 66207, '\P{^Is_Sc=-Cari}', "");
-Error('\p{Script=:=Buhid}');
-Error('\P{Script=:=Buhid}');
-Expect(1, 5971, '\p{Script=buhid}', "");
-Expect(0, 5971, '\p{^Script=buhid}', "");
-Expect(0, 5971, '\P{Script=buhid}', "");
-Expect(1, 5971, '\P{^Script=buhid}', "");
-Expect(0, 5951, '\p{Script=buhid}', "");
-Expect(1, 5951, '\p{^Script=buhid}', "");
-Expect(1, 5951, '\P{Script=buhid}', "");
-Expect(0, 5951, '\P{^Script=buhid}', "");
-Expect(1, 5971, '\p{Script=_ BUHID}', "");
-Expect(0, 5971, '\p{^Script=_ BUHID}', "");
-Expect(0, 5971, '\P{Script=_ BUHID}', "");
-Expect(1, 5971, '\P{^Script=_ BUHID}', "");
-Expect(0, 5951, '\p{Script=_ BUHID}', "");
-Expect(1, 5951, '\p{^Script=_ BUHID}', "");
-Expect(1, 5951, '\P{Script=_ BUHID}', "");
-Expect(0, 5951, '\P{^Script=_ BUHID}', "");
-Error('\p{Sc=/a/ buhd}');
-Error('\P{Sc=/a/ buhd}');
-Expect(1, 5971, '\p{Sc=buhd}', "");
-Expect(0, 5971, '\p{^Sc=buhd}', "");
-Expect(0, 5971, '\P{Sc=buhd}', "");
-Expect(1, 5971, '\P{^Sc=buhd}', "");
-Expect(0, 5951, '\p{Sc=buhd}', "");
-Expect(1, 5951, '\p{^Sc=buhd}', "");
-Expect(1, 5951, '\P{Sc=buhd}', "");
-Expect(0, 5951, '\P{^Sc=buhd}', "");
-Expect(1, 5971, '\p{Sc=_Buhd}', "");
-Expect(0, 5971, '\p{^Sc=_Buhd}', "");
-Expect(0, 5971, '\P{Sc=_Buhd}', "");
-Expect(1, 5971, '\P{^Sc=_Buhd}', "");
-Expect(0, 5951, '\p{Sc=_Buhd}', "");
-Expect(1, 5951, '\p{^Sc=_Buhd}', "");
-Expect(1, 5951, '\P{Sc=_Buhd}', "");
-Expect(0, 5951, '\P{^Sc=_Buhd}', "");
-Error('\p{Is_Script=:= _Buhid}');
-Error('\P{Is_Script=:= _Buhid}');
-Expect(1, 5971, '\p{Is_Script=buhid}', "");
-Expect(0, 5971, '\p{^Is_Script=buhid}', "");
-Expect(0, 5971, '\P{Is_Script=buhid}', "");
-Expect(1, 5971, '\P{^Is_Script=buhid}', "");
-Expect(0, 5951, '\p{Is_Script=buhid}', "");
-Expect(1, 5951, '\p{^Is_Script=buhid}', "");
-Expect(1, 5951, '\P{Is_Script=buhid}', "");
-Expect(0, 5951, '\P{^Is_Script=buhid}', "");
-Expect(1, 5971, '\p{Is_Script= Buhid}', "");
-Expect(0, 5971, '\p{^Is_Script= Buhid}', "");
-Expect(0, 5971, '\P{Is_Script= Buhid}', "");
-Expect(1, 5971, '\P{^Is_Script= Buhid}', "");
-Expect(0, 5951, '\p{Is_Script= Buhid}', "");
-Expect(1, 5951, '\p{^Is_Script= Buhid}', "");
-Expect(1, 5951, '\P{Is_Script= Buhid}', "");
-Expect(0, 5951, '\P{^Is_Script= Buhid}', "");
-Error('\p{Is_Sc=-:=buhd}');
-Error('\P{Is_Sc=-:=buhd}');
-Expect(1, 5971, '\p{Is_Sc=buhd}', "");
-Expect(0, 5971, '\p{^Is_Sc=buhd}', "");
-Expect(0, 5971, '\P{Is_Sc=buhd}', "");
-Expect(1, 5971, '\P{^Is_Sc=buhd}', "");
-Expect(0, 5951, '\p{Is_Sc=buhd}', "");
-Expect(1, 5951, '\p{^Is_Sc=buhd}', "");
-Expect(1, 5951, '\P{Is_Sc=buhd}', "");
-Expect(0, 5951, '\P{^Is_Sc=buhd}', "");
-Expect(1, 5971, '\p{Is_Sc= -Buhd}', "");
-Expect(0, 5971, '\p{^Is_Sc= -Buhd}', "");
-Expect(0, 5971, '\P{Is_Sc= -Buhd}', "");
-Expect(1, 5971, '\P{^Is_Sc= -Buhd}', "");
-Expect(0, 5951, '\p{Is_Sc= -Buhd}', "");
-Expect(1, 5951, '\p{^Is_Sc= -Buhd}', "");
-Expect(1, 5951, '\P{Is_Sc= -Buhd}', "");
-Expect(0, 5951, '\P{^Is_Sc= -Buhd}', "");
-Error('\p{Script=/a/LIMBU}');
-Error('\P{Script=/a/LIMBU}');
-Expect(1, 6428, '\p{Script=limbu}', "");
-Expect(0, 6428, '\p{^Script=limbu}', "");
-Expect(0, 6428, '\P{Script=limbu}', "");
-Expect(1, 6428, '\P{^Script=limbu}', "");
-Expect(0, 6399, '\p{Script=limbu}', "");
-Expect(1, 6399, '\p{^Script=limbu}', "");
-Expect(1, 6399, '\P{Script=limbu}', "");
-Expect(0, 6399, '\P{^Script=limbu}', "");
-Expect(1, 6428, '\p{Script= -Limbu}', "");
-Expect(0, 6428, '\p{^Script= -Limbu}', "");
-Expect(0, 6428, '\P{Script= -Limbu}', "");
-Expect(1, 6428, '\P{^Script= -Limbu}', "");
-Expect(0, 6399, '\p{Script= -Limbu}', "");
-Expect(1, 6399, '\p{^Script= -Limbu}', "");
-Expect(1, 6399, '\P{Script= -Limbu}', "");
-Expect(0, 6399, '\P{^Script= -Limbu}', "");
-Error('\p{Sc=limb:=}');
-Error('\P{Sc=limb:=}');
-Expect(1, 6428, '\p{Sc: limb}', "");
-Expect(0, 6428, '\p{^Sc: limb}', "");
-Expect(0, 6428, '\P{Sc: limb}', "");
-Expect(1, 6428, '\P{^Sc: limb}', "");
-Expect(0, 6399, '\p{Sc: limb}', "");
-Expect(1, 6399, '\p{^Sc: limb}', "");
-Expect(1, 6399, '\P{Sc: limb}', "");
-Expect(0, 6399, '\P{^Sc: limb}', "");
-Expect(1, 6428, '\p{Sc=__limb}', "");
-Expect(0, 6428, '\p{^Sc=__limb}', "");
-Expect(0, 6428, '\P{Sc=__limb}', "");
-Expect(1, 6428, '\P{^Sc=__limb}', "");
-Expect(0, 6399, '\p{Sc=__limb}', "");
-Expect(1, 6399, '\p{^Sc=__limb}', "");
-Expect(1, 6399, '\P{Sc=__limb}', "");
-Expect(0, 6399, '\P{^Sc=__limb}', "");
-Error('\p{Is_Script=_:=limbu}');
-Error('\P{Is_Script=_:=limbu}');
-Expect(1, 6428, '\p{Is_Script=limbu}', "");
-Expect(0, 6428, '\p{^Is_Script=limbu}', "");
-Expect(0, 6428, '\P{Is_Script=limbu}', "");
-Expect(1, 6428, '\P{^Is_Script=limbu}', "");
-Expect(0, 6399, '\p{Is_Script=limbu}', "");
-Expect(1, 6399, '\p{^Is_Script=limbu}', "");
-Expect(1, 6399, '\P{Is_Script=limbu}', "");
-Expect(0, 6399, '\P{^Is_Script=limbu}', "");
-Error('\p{Is_Sc=/a/ limb}');
-Error('\P{Is_Sc=/a/ limb}');
-Expect(1, 6428, '\p{Is_Sc=limb}', "");
-Expect(0, 6428, '\p{^Is_Sc=limb}', "");
-Expect(0, 6428, '\P{Is_Sc=limb}', "");
-Expect(1, 6428, '\P{^Is_Sc=limb}', "");
-Expect(0, 6399, '\p{Is_Sc=limb}', "");
-Expect(1, 6399, '\p{^Is_Sc=limb}', "");
-Expect(1, 6399, '\P{Is_Sc=limb}', "");
-Expect(0, 6399, '\P{^Is_Sc=limb}', "");
-Expect(1, 6428, '\p{Is_Sc=_-LIMB}', "");
-Expect(0, 6428, '\p{^Is_Sc=_-LIMB}', "");
-Expect(0, 6428, '\P{Is_Sc=_-LIMB}', "");
-Expect(1, 6428, '\P{^Is_Sc=_-LIMB}', "");
-Expect(0, 6399, '\p{Is_Sc=_-LIMB}', "");
-Expect(1, 6399, '\p{^Is_Sc=_-LIMB}', "");
-Expect(1, 6399, '\P{Is_Sc=_-LIMB}', "");
-Expect(0, 6399, '\P{^Is_Sc=_-LIMB}', "");
-Error('\p{Script=-/a/Javanese}');
-Error('\P{Script=-/a/Javanese}');
-Expect(1, 43469, '\p{Script=javanese}', "");
-Expect(0, 43469, '\p{^Script=javanese}', "");
-Expect(0, 43469, '\P{Script=javanese}', "");
-Expect(1, 43469, '\P{^Script=javanese}', "");
-Expect(0, 43391, '\p{Script=javanese}', "");
-Expect(1, 43391, '\p{^Script=javanese}', "");
-Expect(1, 43391, '\P{Script=javanese}', "");
-Expect(0, 43391, '\P{^Script=javanese}', "");
-Expect(1, 43469, '\p{Script=-javanese}', "");
-Expect(0, 43469, '\p{^Script=-javanese}', "");
-Expect(0, 43469, '\P{Script=-javanese}', "");
-Expect(1, 43469, '\P{^Script=-javanese}', "");
-Expect(0, 43391, '\p{Script=-javanese}', "");
-Expect(1, 43391, '\p{^Script=-javanese}', "");
-Expect(1, 43391, '\P{Script=-javanese}', "");
-Expect(0, 43391, '\P{^Script=-javanese}', "");
-Error('\p{Sc=:=-Java}');
-Error('\P{Sc=:=-Java}');
-Expect(1, 43469, '\p{Sc=java}', "");
-Expect(0, 43469, '\p{^Sc=java}', "");
-Expect(0, 43469, '\P{Sc=java}', "");
-Expect(1, 43469, '\P{^Sc=java}', "");
-Expect(0, 43391, '\p{Sc=java}', "");
-Expect(1, 43391, '\p{^Sc=java}', "");
-Expect(1, 43391, '\P{Sc=java}', "");
-Expect(0, 43391, '\P{^Sc=java}', "");
-Expect(1, 43469, '\p{Sc=_ Java}', "");
-Expect(0, 43469, '\p{^Sc=_ Java}', "");
-Expect(0, 43469, '\P{Sc=_ Java}', "");
-Expect(1, 43469, '\P{^Sc=_ Java}', "");
-Expect(0, 43391, '\p{Sc=_ Java}', "");
-Expect(1, 43391, '\p{^Sc=_ Java}', "");
-Expect(1, 43391, '\P{Sc=_ Java}', "");
-Expect(0, 43391, '\P{^Sc=_ Java}', "");
-Error('\p{Is_Script=-/a/javanese}');
-Error('\P{Is_Script=-/a/javanese}');
-Expect(1, 43469, '\p{Is_Script=javanese}', "");
-Expect(0, 43469, '\p{^Is_Script=javanese}', "");
-Expect(0, 43469, '\P{Is_Script=javanese}', "");
-Expect(1, 43469, '\P{^Is_Script=javanese}', "");
-Expect(0, 43391, '\p{Is_Script=javanese}', "");
-Expect(1, 43391, '\p{^Is_Script=javanese}', "");
-Expect(1, 43391, '\P{Is_Script=javanese}', "");
-Expect(0, 43391, '\P{^Is_Script=javanese}', "");
-Expect(1, 43469, '\p{Is_Script=__Javanese}', "");
-Expect(0, 43469, '\p{^Is_Script=__Javanese}', "");
-Expect(0, 43469, '\P{Is_Script=__Javanese}', "");
-Expect(1, 43469, '\P{^Is_Script=__Javanese}', "");
-Expect(0, 43391, '\p{Is_Script=__Javanese}', "");
-Expect(1, 43391, '\p{^Is_Script=__Javanese}', "");
-Expect(1, 43391, '\P{Is_Script=__Javanese}', "");
-Expect(0, 43391, '\P{^Is_Script=__Javanese}', "");
-Error('\p{Is_Sc=_ java/a/}');
-Error('\P{Is_Sc=_ java/a/}');
-Expect(1, 43469, '\p{Is_Sc=java}', "");
-Expect(0, 43469, '\p{^Is_Sc=java}', "");
-Expect(0, 43469, '\P{Is_Sc=java}', "");
-Expect(1, 43469, '\P{^Is_Sc=java}', "");
-Expect(0, 43391, '\p{Is_Sc=java}', "");
-Expect(1, 43391, '\p{^Is_Sc=java}', "");
-Expect(1, 43391, '\P{Is_Sc=java}', "");
-Expect(0, 43391, '\P{^Is_Sc=java}', "");
-Expect(1, 43469, '\p{Is_Sc=--JAVA}', "");
-Expect(0, 43469, '\p{^Is_Sc=--JAVA}', "");
-Expect(0, 43469, '\P{Is_Sc=--JAVA}', "");
-Expect(1, 43469, '\P{^Is_Sc=--JAVA}', "");
-Expect(0, 43391, '\p{Is_Sc=--JAVA}', "");
-Expect(1, 43391, '\p{^Is_Sc=--JAVA}', "");
-Expect(1, 43391, '\P{Is_Sc=--JAVA}', "");
-Expect(0, 43391, '\P{^Is_Sc=--JAVA}', "");
-Error('\p{Script=_ Egyptian hieroglyphs/a/}');
-Error('\P{Script=_ Egyptian hieroglyphs/a/}');
-Expect(1, 78894, '\p{Script=egyptianhieroglyphs}', "");
-Expect(0, 78894, '\p{^Script=egyptianhieroglyphs}', "");
-Expect(0, 78894, '\P{Script=egyptianhieroglyphs}', "");
-Expect(1, 78894, '\P{^Script=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{Script=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^Script=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{Script=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^Script=egyptianhieroglyphs}', "");
-Expect(1, 78894, '\p{Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(0, 78894, '\p{^Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(0, 78894, '\P{Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(1, 78894, '\P{^Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(0, 77823, '\p{Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(1, 77823, '\p{^Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(1, 77823, '\P{Script=_ Egyptian_HIEROGLYPHS}', "");
-Expect(0, 77823, '\P{^Script=_ Egyptian_HIEROGLYPHS}', "");
-Error('\p{Sc=/a/ EGYP}');
-Error('\P{Sc=/a/ EGYP}');
-Expect(1, 78894, '\p{Sc: egyp}', "");
-Expect(0, 78894, '\p{^Sc: egyp}', "");
-Expect(0, 78894, '\P{Sc: egyp}', "");
-Expect(1, 78894, '\P{^Sc: egyp}', "");
-Expect(0, 77823, '\p{Sc: egyp}', "");
-Expect(1, 77823, '\p{^Sc: egyp}', "");
-Expect(1, 77823, '\P{Sc: egyp}', "");
-Expect(0, 77823, '\P{^Sc: egyp}', "");
-Expect(1, 78894, '\p{Sc=__Egyp}', "");
-Expect(0, 78894, '\p{^Sc=__Egyp}', "");
-Expect(0, 78894, '\P{Sc=__Egyp}', "");
-Expect(1, 78894, '\P{^Sc=__Egyp}', "");
-Expect(0, 77823, '\p{Sc=__Egyp}', "");
-Expect(1, 77823, '\p{^Sc=__Egyp}', "");
-Expect(1, 77823, '\P{Sc=__Egyp}', "");
-Expect(0, 77823, '\P{^Sc=__Egyp}', "");
-Error('\p{Is_Script=_-Egyptian:=HIEROGLYPHS}');
-Error('\P{Is_Script=_-Egyptian:=HIEROGLYPHS}');
-Expect(1, 78894, '\p{Is_Script=egyptianhieroglyphs}', "");
-Expect(0, 78894, '\p{^Is_Script=egyptianhieroglyphs}', "");
-Expect(0, 78894, '\P{Is_Script=egyptianhieroglyphs}', "");
-Expect(1, 78894, '\P{^Is_Script=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{Is_Script=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^Is_Script=egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{Is_Script=egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^Is_Script=egyptianhieroglyphs}', "");
-Expect(1, 78894, '\p{Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(0, 78894, '\p{^Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(0, 78894, '\P{Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(1, 78894, '\P{^Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(0, 77823, '\p{Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(1, 77823, '\p{^Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(1, 77823, '\P{Is_Script= -egyptian HIEROGLYPHS}', "");
-Expect(0, 77823, '\P{^Is_Script= -egyptian HIEROGLYPHS}', "");
-Error('\p{Is_Sc=/a/ Egyp}');
-Error('\P{Is_Sc=/a/ Egyp}');
-Expect(1, 78894, '\p{Is_Sc=egyp}', "");
-Expect(0, 78894, '\p{^Is_Sc=egyp}', "");
-Expect(0, 78894, '\P{Is_Sc=egyp}', "");
-Expect(1, 78894, '\P{^Is_Sc=egyp}', "");
-Expect(0, 77823, '\p{Is_Sc=egyp}', "");
-Expect(1, 77823, '\p{^Is_Sc=egyp}', "");
-Expect(1, 77823, '\P{Is_Sc=egyp}', "");
-Expect(0, 77823, '\P{^Is_Sc=egyp}', "");
-Expect(1, 78894, '\p{Is_Sc: - egyp}', "");
-Expect(0, 78894, '\p{^Is_Sc: - egyp}', "");
-Expect(0, 78894, '\P{Is_Sc: - egyp}', "");
-Expect(1, 78894, '\P{^Is_Sc: - egyp}', "");
-Expect(0, 77823, '\p{Is_Sc: - egyp}', "");
-Expect(1, 77823, '\p{^Is_Sc: - egyp}', "");
-Expect(1, 77823, '\P{Is_Sc: - egyp}', "");
-Expect(0, 77823, '\P{^Is_Sc: - egyp}', "");
-Error('\p{Script=-:=Common}');
-Error('\P{Script=-:=Common}');
-Expect(1, 64, '\p{Script=common}', "");
-Expect(0, 64, '\p{^Script=common}', "");
-Expect(0, 64, '\P{Script=common}', "");
-Expect(1, 64, '\P{^Script=common}', "");
-Expect(0, 90, '\p{Script=common}', "");
-Expect(1, 90, '\p{^Script=common}', "");
-Expect(1, 90, '\P{Script=common}', "");
-Expect(0, 90, '\P{^Script=common}', "");
-Expect(1, 64, '\p{Script:--Common}', "");
-Expect(0, 64, '\p{^Script:--Common}', "");
-Expect(0, 64, '\P{Script:--Common}', "");
-Expect(1, 64, '\P{^Script:--Common}', "");
-Expect(0, 90, '\p{Script:--Common}', "");
-Expect(1, 90, '\p{^Script:--Common}', "");
-Expect(1, 90, '\P{Script:--Common}', "");
-Expect(0, 90, '\P{^Script:--Common}', "");
-Error('\p{Sc= :=ZYYY}');
-Error('\P{Sc= :=ZYYY}');
-Expect(1, 64, '\p{Sc:zyyy}', "");
-Expect(0, 64, '\p{^Sc:zyyy}', "");
-Expect(0, 64, '\P{Sc:zyyy}', "");
-Expect(1, 64, '\P{^Sc:zyyy}', "");
-Expect(0, 90, '\p{Sc:zyyy}', "");
-Expect(1, 90, '\p{^Sc:zyyy}', "");
-Expect(1, 90, '\P{Sc:zyyy}', "");
-Expect(0, 90, '\P{^Sc:zyyy}', "");
-Expect(1, 64, '\p{Sc= -ZYYY}', "");
-Expect(0, 64, '\p{^Sc= -ZYYY}', "");
-Expect(0, 64, '\P{Sc= -ZYYY}', "");
-Expect(1, 64, '\P{^Sc= -ZYYY}', "");
-Expect(0, 90, '\p{Sc= -ZYYY}', "");
-Expect(1, 90, '\p{^Sc= -ZYYY}', "");
-Expect(1, 90, '\P{Sc= -ZYYY}', "");
-Expect(0, 90, '\P{^Sc= -ZYYY}', "");
-Error('\p{Is_Script=-_COMMON/a/}');
-Error('\P{Is_Script=-_COMMON/a/}');
-Expect(1, 64, '\p{Is_Script=common}', "");
-Expect(0, 64, '\p{^Is_Script=common}', "");
-Expect(0, 64, '\P{Is_Script=common}', "");
-Expect(1, 64, '\P{^Is_Script=common}', "");
-Expect(0, 90, '\p{Is_Script=common}', "");
-Expect(1, 90, '\p{^Is_Script=common}', "");
-Expect(1, 90, '\P{Is_Script=common}', "");
-Expect(0, 90, '\P{^Is_Script=common}', "");
-Expect(1, 64, '\p{Is_Script= common}', "");
-Expect(0, 64, '\p{^Is_Script= common}', "");
-Expect(0, 64, '\P{Is_Script= common}', "");
-Expect(1, 64, '\P{^Is_Script= common}', "");
-Expect(0, 90, '\p{Is_Script= common}', "");
-Expect(1, 90, '\p{^Is_Script= common}', "");
-Expect(1, 90, '\P{Is_Script= common}', "");
-Expect(0, 90, '\P{^Is_Script= common}', "");
-Error('\p{Is_Sc=/a/Zyyy}');
-Error('\P{Is_Sc=/a/Zyyy}');
-Expect(1, 64, '\p{Is_Sc=zyyy}', "");
-Expect(0, 64, '\p{^Is_Sc=zyyy}', "");
-Expect(0, 64, '\P{Is_Sc=zyyy}', "");
-Expect(1, 64, '\P{^Is_Sc=zyyy}', "");
-Expect(0, 90, '\p{Is_Sc=zyyy}', "");
-Expect(1, 90, '\p{^Is_Sc=zyyy}', "");
-Expect(1, 90, '\P{Is_Sc=zyyy}', "");
-Expect(0, 90, '\P{^Is_Sc=zyyy}', "");
-Expect(1, 64, '\p{Is_Sc=_ ZYYY}', "");
-Expect(0, 64, '\p{^Is_Sc=_ ZYYY}', "");
-Expect(0, 64, '\P{Is_Sc=_ ZYYY}', "");
-Expect(1, 64, '\P{^Is_Sc=_ ZYYY}', "");
-Expect(0, 90, '\p{Is_Sc=_ ZYYY}', "");
-Expect(1, 90, '\p{^Is_Sc=_ ZYYY}', "");
-Expect(1, 90, '\P{Is_Sc=_ ZYYY}', "");
-Expect(0, 90, '\P{^Is_Sc=_ ZYYY}', "");
-Error('\p{Script= :=latin}');
-Error('\P{Script= :=latin}');
-Expect(1, 90, '\p{Script=latin}', "");
-Expect(0, 90, '\p{^Script=latin}', "");
-Expect(0, 90, '\P{Script=latin}', "");
-Expect(1, 90, '\P{^Script=latin}', "");
-Expect(0, 64, '\p{Script=latin}', "");
-Expect(1, 64, '\p{^Script=latin}', "");
-Expect(1, 64, '\P{Script=latin}', "");
-Expect(0, 64, '\P{^Script=latin}', "");
-Expect(1, 90, '\p{Script= -latin}', "");
-Expect(0, 90, '\p{^Script= -latin}', "");
-Expect(0, 90, '\P{Script= -latin}', "");
-Expect(1, 90, '\P{^Script= -latin}', "");
-Expect(0, 64, '\p{Script= -latin}', "");
-Expect(1, 64, '\p{^Script= -latin}', "");
-Expect(1, 64, '\P{Script= -latin}', "");
-Expect(0, 64, '\P{^Script= -latin}', "");
-Error('\p{Sc: :=Latn}');
-Error('\P{Sc: :=Latn}');
-Expect(1, 90, '\p{Sc: latn}', "");
-Expect(0, 90, '\p{^Sc: latn}', "");
-Expect(0, 90, '\P{Sc: latn}', "");
-Expect(1, 90, '\P{^Sc: latn}', "");
-Expect(0, 64, '\p{Sc: latn}', "");
-Expect(1, 64, '\p{^Sc: latn}', "");
-Expect(1, 64, '\P{Sc: latn}', "");
-Expect(0, 64, '\P{^Sc: latn}', "");
-Expect(1, 90, '\p{Sc= Latn}', "");
-Expect(0, 90, '\p{^Sc= Latn}', "");
-Expect(0, 90, '\P{Sc= Latn}', "");
-Expect(1, 90, '\P{^Sc= Latn}', "");
-Expect(0, 64, '\p{Sc= Latn}', "");
-Expect(1, 64, '\p{^Sc= Latn}', "");
-Expect(1, 64, '\P{Sc= Latn}', "");
-Expect(0, 64, '\P{^Sc= Latn}', "");
-Error('\p{Is_Script=:=-Latin}');
-Error('\P{Is_Script=:=-Latin}');
-Expect(1, 90, '\p{Is_Script=latin}', "");
-Expect(0, 90, '\p{^Is_Script=latin}', "");
-Expect(0, 90, '\P{Is_Script=latin}', "");
-Expect(1, 90, '\P{^Is_Script=latin}', "");
-Expect(0, 64, '\p{Is_Script=latin}', "");
-Expect(1, 64, '\p{^Is_Script=latin}', "");
-Expect(1, 64, '\P{Is_Script=latin}', "");
-Expect(0, 64, '\P{^Is_Script=latin}', "");
-Expect(1, 90, '\p{Is_Script=-_LATIN}', "");
-Expect(0, 90, '\p{^Is_Script=-_LATIN}', "");
-Expect(0, 90, '\P{Is_Script=-_LATIN}', "");
-Expect(1, 90, '\P{^Is_Script=-_LATIN}', "");
-Expect(0, 64, '\p{Is_Script=-_LATIN}', "");
-Expect(1, 64, '\p{^Is_Script=-_LATIN}', "");
-Expect(1, 64, '\P{Is_Script=-_LATIN}', "");
-Expect(0, 64, '\P{^Is_Script=-_LATIN}', "");
-Error('\p{Is_Sc= Latn:=}');
-Error('\P{Is_Sc= Latn:=}');
-Expect(1, 90, '\p{Is_Sc: latn}', "");
-Expect(0, 90, '\p{^Is_Sc: latn}', "");
-Expect(0, 90, '\P{Is_Sc: latn}', "");
-Expect(1, 90, '\P{^Is_Sc: latn}', "");
-Expect(0, 64, '\p{Is_Sc: latn}', "");
-Expect(1, 64, '\p{^Is_Sc: latn}', "");
-Expect(1, 64, '\P{Is_Sc: latn}', "");
-Expect(0, 64, '\P{^Is_Sc: latn}', "");
-Expect(1, 90, '\p{Is_Sc= latn}', "");
-Expect(0, 90, '\p{^Is_Sc= latn}', "");
-Expect(0, 90, '\P{Is_Sc= latn}', "");
-Expect(1, 90, '\P{^Is_Sc= latn}', "");
-Expect(0, 64, '\p{Is_Sc= latn}', "");
-Expect(1, 64, '\p{^Is_Sc= latn}', "");
-Expect(1, 64, '\P{Is_Sc= latn}', "");
-Expect(0, 64, '\P{^Is_Sc= latn}', "");
-Error('\p{Script= Ethiopic/a/}');
-Error('\P{Script= Ethiopic/a/}');
-Expect(1, 4680, '\p{Script=ethiopic}', "");
-Expect(0, 4680, '\p{^Script=ethiopic}', "");
-Expect(0, 4680, '\P{Script=ethiopic}', "");
-Expect(1, 4680, '\P{^Script=ethiopic}', "");
-Expect(0, 4607, '\p{Script=ethiopic}', "");
-Expect(1, 4607, '\p{^Script=ethiopic}', "");
-Expect(1, 4607, '\P{Script=ethiopic}', "");
-Expect(0, 4607, '\P{^Script=ethiopic}', "");
-Expect(1, 4680, '\p{Script= _ethiopic}', "");
-Expect(0, 4680, '\p{^Script= _ethiopic}', "");
-Expect(0, 4680, '\P{Script= _ethiopic}', "");
-Expect(1, 4680, '\P{^Script= _ethiopic}', "");
-Expect(0, 4607, '\p{Script= _ethiopic}', "");
-Expect(1, 4607, '\p{^Script= _ethiopic}', "");
-Expect(1, 4607, '\P{Script= _ethiopic}', "");
-Expect(0, 4607, '\P{^Script= _ethiopic}', "");
-Error('\p{Sc=/a/ -Ethi}');
-Error('\P{Sc=/a/ -Ethi}');
-Expect(1, 4680, '\p{Sc=ethi}', "");
-Expect(0, 4680, '\p{^Sc=ethi}', "");
-Expect(0, 4680, '\P{Sc=ethi}', "");
-Expect(1, 4680, '\P{^Sc=ethi}', "");
-Expect(0, 4607, '\p{Sc=ethi}', "");
-Expect(1, 4607, '\p{^Sc=ethi}', "");
-Expect(1, 4607, '\P{Sc=ethi}', "");
-Expect(0, 4607, '\P{^Sc=ethi}', "");
-Expect(1, 4680, '\p{Sc=_Ethi}', "");
-Expect(0, 4680, '\p{^Sc=_Ethi}', "");
-Expect(0, 4680, '\P{Sc=_Ethi}', "");
-Expect(1, 4680, '\P{^Sc=_Ethi}', "");
-Expect(0, 4607, '\p{Sc=_Ethi}', "");
-Expect(1, 4607, '\p{^Sc=_Ethi}', "");
-Expect(1, 4607, '\P{Sc=_Ethi}', "");
-Expect(0, 4607, '\P{^Sc=_Ethi}', "");
-Error('\p{Is_Script: /a/ethiopic}');
-Error('\P{Is_Script: /a/ethiopic}');
-Expect(1, 4680, '\p{Is_Script=ethiopic}', "");
-Expect(0, 4680, '\p{^Is_Script=ethiopic}', "");
-Expect(0, 4680, '\P{Is_Script=ethiopic}', "");
-Expect(1, 4680, '\P{^Is_Script=ethiopic}', "");
-Expect(0, 4607, '\p{Is_Script=ethiopic}', "");
-Expect(1, 4607, '\p{^Is_Script=ethiopic}', "");
-Expect(1, 4607, '\P{Is_Script=ethiopic}', "");
-Expect(0, 4607, '\P{^Is_Script=ethiopic}', "");
-Expect(1, 4680, '\p{Is_Script= ETHIOPIC}', "");
-Expect(0, 4680, '\p{^Is_Script= ETHIOPIC}', "");
-Expect(0, 4680, '\P{Is_Script= ETHIOPIC}', "");
-Expect(1, 4680, '\P{^Is_Script= ETHIOPIC}', "");
-Expect(0, 4607, '\p{Is_Script= ETHIOPIC}', "");
-Expect(1, 4607, '\p{^Is_Script= ETHIOPIC}', "");
-Expect(1, 4607, '\P{Is_Script= ETHIOPIC}', "");
-Expect(0, 4607, '\P{^Is_Script= ETHIOPIC}', "");
-Error('\p{Is_Sc=/a/-Ethi}');
-Error('\P{Is_Sc=/a/-Ethi}');
-Expect(1, 4680, '\p{Is_Sc=ethi}', "");
-Expect(0, 4680, '\p{^Is_Sc=ethi}', "");
-Expect(0, 4680, '\P{Is_Sc=ethi}', "");
-Expect(1, 4680, '\P{^Is_Sc=ethi}', "");
-Expect(0, 4607, '\p{Is_Sc=ethi}', "");
-Expect(1, 4607, '\p{^Is_Sc=ethi}', "");
-Expect(1, 4607, '\P{Is_Sc=ethi}', "");
-Expect(0, 4607, '\P{^Is_Sc=ethi}', "");
-Expect(1, 4680, '\p{Is_Sc= _ethi}', "");
-Expect(0, 4680, '\p{^Is_Sc= _ethi}', "");
-Expect(0, 4680, '\P{Is_Sc= _ethi}', "");
-Expect(1, 4680, '\P{^Is_Sc= _ethi}', "");
-Expect(0, 4607, '\p{Is_Sc= _ethi}', "");
-Expect(1, 4607, '\p{^Is_Sc= _ethi}', "");
-Expect(1, 4607, '\P{Is_Sc= _ethi}', "");
-Expect(0, 4607, '\P{^Is_Sc= _ethi}', "");
-Error('\p{Script: :=Hebrew}');
-Error('\P{Script: :=Hebrew}');
-Expect(1, 1479, '\p{Script=hebrew}', "");
-Expect(0, 1479, '\p{^Script=hebrew}', "");
-Expect(0, 1479, '\P{Script=hebrew}', "");
-Expect(1, 1479, '\P{^Script=hebrew}', "");
-Expect(0, 1424, '\p{Script=hebrew}', "");
-Expect(1, 1424, '\p{^Script=hebrew}', "");
-Expect(1, 1424, '\P{Script=hebrew}', "");
-Expect(0, 1424, '\P{^Script=hebrew}', "");
-Expect(1, 1479, '\p{Script=-HEBREW}', "");
-Expect(0, 1479, '\p{^Script=-HEBREW}', "");
-Expect(0, 1479, '\P{Script=-HEBREW}', "");
-Expect(1, 1479, '\P{^Script=-HEBREW}', "");
-Expect(0, 1424, '\p{Script=-HEBREW}', "");
-Expect(1, 1424, '\p{^Script=-HEBREW}', "");
-Expect(1, 1424, '\P{Script=-HEBREW}', "");
-Expect(0, 1424, '\P{^Script=-HEBREW}', "");
-Error('\p{Sc: __hebr/a/}');
-Error('\P{Sc: __hebr/a/}');
-Expect(1, 1479, '\p{Sc=hebr}', "");
-Expect(0, 1479, '\p{^Sc=hebr}', "");
-Expect(0, 1479, '\P{Sc=hebr}', "");
-Expect(1, 1479, '\P{^Sc=hebr}', "");
-Expect(0, 1424, '\p{Sc=hebr}', "");
-Expect(1, 1424, '\p{^Sc=hebr}', "");
-Expect(1, 1424, '\P{Sc=hebr}', "");
-Expect(0, 1424, '\P{^Sc=hebr}', "");
-Expect(1, 1479, '\p{Sc= Hebr}', "");
-Expect(0, 1479, '\p{^Sc= Hebr}', "");
-Expect(0, 1479, '\P{Sc= Hebr}', "");
-Expect(1, 1479, '\P{^Sc= Hebr}', "");
-Expect(0, 1424, '\p{Sc= Hebr}', "");
-Expect(1, 1424, '\p{^Sc= Hebr}', "");
-Expect(1, 1424, '\P{Sc= Hebr}', "");
-Expect(0, 1424, '\P{^Sc= Hebr}', "");
-Error('\p{Is_Script=:=_Hebrew}');
-Error('\P{Is_Script=:=_Hebrew}');
-Expect(1, 1479, '\p{Is_Script: hebrew}', "");
-Expect(0, 1479, '\p{^Is_Script: hebrew}', "");
-Expect(0, 1479, '\P{Is_Script: hebrew}', "");
-Expect(1, 1479, '\P{^Is_Script: hebrew}', "");
-Expect(0, 1424, '\p{Is_Script: hebrew}', "");
-Expect(1, 1424, '\p{^Is_Script: hebrew}', "");
-Expect(1, 1424, '\P{Is_Script: hebrew}', "");
-Expect(0, 1424, '\P{^Is_Script: hebrew}', "");
-Expect(1, 1479, '\p{Is_Script: _HEBREW}', "");
-Expect(0, 1479, '\p{^Is_Script: _HEBREW}', "");
-Expect(0, 1479, '\P{Is_Script: _HEBREW}', "");
-Expect(1, 1479, '\P{^Is_Script: _HEBREW}', "");
-Expect(0, 1424, '\p{Is_Script: _HEBREW}', "");
-Expect(1, 1424, '\p{^Is_Script: _HEBREW}', "");
-Expect(1, 1424, '\P{Is_Script: _HEBREW}', "");
-Expect(0, 1424, '\P{^Is_Script: _HEBREW}', "");
-Error('\p{Is_Sc=:=- hebr}');
-Error('\P{Is_Sc=:=- hebr}');
-Expect(1, 1479, '\p{Is_Sc: hebr}', "");
-Expect(0, 1479, '\p{^Is_Sc: hebr}', "");
-Expect(0, 1479, '\P{Is_Sc: hebr}', "");
-Expect(1, 1479, '\P{^Is_Sc: hebr}', "");
-Expect(0, 1424, '\p{Is_Sc: hebr}', "");
-Expect(1, 1424, '\p{^Is_Sc: hebr}', "");
-Expect(1, 1424, '\P{Is_Sc: hebr}', "");
-Expect(0, 1424, '\P{^Is_Sc: hebr}', "");
-Expect(1, 1479, '\p{Is_Sc= -Hebr}', "");
-Expect(0, 1479, '\p{^Is_Sc= -Hebr}', "");
-Expect(0, 1479, '\P{Is_Sc= -Hebr}', "");
-Expect(1, 1479, '\P{^Is_Sc= -Hebr}', "");
-Expect(0, 1424, '\p{Is_Sc= -Hebr}', "");
-Expect(1, 1424, '\p{^Is_Sc= -Hebr}', "");
-Expect(1, 1424, '\P{Is_Sc= -Hebr}', "");
-Expect(0, 1424, '\P{^Is_Sc= -Hebr}', "");
-Error('\p{Script= /a/Buginese}');
-Error('\P{Script= /a/Buginese}');
-Expect(1, 6683, '\p{Script: buginese}', "");
-Expect(0, 6683, '\p{^Script: buginese}', "");
-Expect(0, 6683, '\P{Script: buginese}', "");
-Expect(1, 6683, '\P{^Script: buginese}', "");
-Expect(0, 6655, '\p{Script: buginese}', "");
-Expect(1, 6655, '\p{^Script: buginese}', "");
-Expect(1, 6655, '\P{Script: buginese}', "");
-Expect(0, 6655, '\P{^Script: buginese}', "");
-Expect(1, 6683, '\p{Script= _Buginese}', "");
-Expect(0, 6683, '\p{^Script= _Buginese}', "");
-Expect(0, 6683, '\P{Script= _Buginese}', "");
-Expect(1, 6683, '\P{^Script= _Buginese}', "");
-Expect(0, 6655, '\p{Script= _Buginese}', "");
-Expect(1, 6655, '\p{^Script= _Buginese}', "");
-Expect(1, 6655, '\P{Script= _Buginese}', "");
-Expect(0, 6655, '\P{^Script= _Buginese}', "");
-Error('\p{Sc=_ Bugi/a/}');
-Error('\P{Sc=_ Bugi/a/}');
-Expect(1, 6683, '\p{Sc=bugi}', "");
-Expect(0, 6683, '\p{^Sc=bugi}', "");
-Expect(0, 6683, '\P{Sc=bugi}', "");
-Expect(1, 6683, '\P{^Sc=bugi}', "");
-Expect(0, 6655, '\p{Sc=bugi}', "");
-Expect(1, 6655, '\p{^Sc=bugi}', "");
-Expect(1, 6655, '\P{Sc=bugi}', "");
-Expect(0, 6655, '\P{^Sc=bugi}', "");
-Expect(1, 6683, '\p{Sc: -Bugi}', "");
-Expect(0, 6683, '\p{^Sc: -Bugi}', "");
-Expect(0, 6683, '\P{Sc: -Bugi}', "");
-Expect(1, 6683, '\P{^Sc: -Bugi}', "");
-Expect(0, 6655, '\p{Sc: -Bugi}', "");
-Expect(1, 6655, '\p{^Sc: -Bugi}', "");
-Expect(1, 6655, '\P{Sc: -Bugi}', "");
-Expect(0, 6655, '\P{^Sc: -Bugi}', "");
-Error('\p{Is_Script: BUGINESE/a/}');
-Error('\P{Is_Script: BUGINESE/a/}');
-Expect(1, 6683, '\p{Is_Script=buginese}', "");
-Expect(0, 6683, '\p{^Is_Script=buginese}', "");
-Expect(0, 6683, '\P{Is_Script=buginese}', "");
-Expect(1, 6683, '\P{^Is_Script=buginese}', "");
-Expect(0, 6655, '\p{Is_Script=buginese}', "");
-Expect(1, 6655, '\p{^Is_Script=buginese}', "");
-Expect(1, 6655, '\P{Is_Script=buginese}', "");
-Expect(0, 6655, '\P{^Is_Script=buginese}', "");
-Expect(1, 6683, '\p{Is_Script=- buginese}', "");
-Expect(0, 6683, '\p{^Is_Script=- buginese}', "");
-Expect(0, 6683, '\P{Is_Script=- buginese}', "");
-Expect(1, 6683, '\P{^Is_Script=- buginese}', "");
-Expect(0, 6655, '\p{Is_Script=- buginese}', "");
-Expect(1, 6655, '\p{^Is_Script=- buginese}', "");
-Expect(1, 6655, '\P{Is_Script=- buginese}', "");
-Expect(0, 6655, '\P{^Is_Script=- buginese}', "");
-Error('\p{Is_Sc=-/a/Bugi}');
-Error('\P{Is_Sc=-/a/Bugi}');
-Expect(1, 6683, '\p{Is_Sc=bugi}', "");
-Expect(0, 6683, '\p{^Is_Sc=bugi}', "");
-Expect(0, 6683, '\P{Is_Sc=bugi}', "");
-Expect(1, 6683, '\P{^Is_Sc=bugi}', "");
-Expect(0, 6655, '\p{Is_Sc=bugi}', "");
-Expect(1, 6655, '\p{^Is_Sc=bugi}', "");
-Expect(1, 6655, '\P{Is_Sc=bugi}', "");
-Expect(0, 6655, '\P{^Is_Sc=bugi}', "");
-Expect(1, 6683, '\p{Is_Sc= Bugi}', "");
-Expect(0, 6683, '\p{^Is_Sc= Bugi}', "");
-Expect(0, 6683, '\P{Is_Sc= Bugi}', "");
-Expect(1, 6683, '\P{^Is_Sc= Bugi}', "");
-Expect(0, 6655, '\p{Is_Sc= Bugi}', "");
-Expect(1, 6655, '\p{^Is_Sc= Bugi}', "");
-Expect(1, 6655, '\P{Is_Sc= Bugi}', "");
-Expect(0, 6655, '\P{^Is_Sc= Bugi}', "");
-Error('\p{Script=/a/ Inscriptional Pahlavi}');
-Error('\P{Script=/a/ Inscriptional Pahlavi}');
-Expect(1, 68466, '\p{Script: inscriptionalpahlavi}', "");
-Expect(0, 68466, '\p{^Script: inscriptionalpahlavi}', "");
-Expect(0, 68466, '\P{Script: inscriptionalpahlavi}', "");
-Expect(1, 68466, '\P{^Script: inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Script: inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Script: inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Script: inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Script: inscriptionalpahlavi}', "");
-Expect(1, 68466, '\p{Script: _Inscriptional Pahlavi}', "");
-Expect(0, 68466, '\p{^Script: _Inscriptional Pahlavi}', "");
-Expect(0, 68466, '\P{Script: _Inscriptional Pahlavi}', "");
-Expect(1, 68466, '\P{^Script: _Inscriptional Pahlavi}', "");
-Expect(0, 68447, '\p{Script: _Inscriptional Pahlavi}', "");
-Expect(1, 68447, '\p{^Script: _Inscriptional Pahlavi}', "");
-Expect(1, 68447, '\P{Script: _Inscriptional Pahlavi}', "");
-Expect(0, 68447, '\P{^Script: _Inscriptional Pahlavi}', "");
-Error('\p{Sc=--Phli:=}');
-Error('\P{Sc=--Phli:=}');
-Expect(1, 68466, '\p{Sc=phli}', "");
-Expect(0, 68466, '\p{^Sc=phli}', "");
-Expect(0, 68466, '\P{Sc=phli}', "");
-Expect(1, 68466, '\P{^Sc=phli}', "");
-Expect(0, 68447, '\p{Sc=phli}', "");
-Expect(1, 68447, '\p{^Sc=phli}', "");
-Expect(1, 68447, '\P{Sc=phli}', "");
-Expect(0, 68447, '\P{^Sc=phli}', "");
-Expect(1, 68466, '\p{Sc= Phli}', "");
-Expect(0, 68466, '\p{^Sc= Phli}', "");
-Expect(0, 68466, '\P{Sc= Phli}', "");
-Expect(1, 68466, '\P{^Sc= Phli}', "");
-Expect(0, 68447, '\p{Sc= Phli}', "");
-Expect(1, 68447, '\p{^Sc= Phli}', "");
-Expect(1, 68447, '\P{Sc= Phli}', "");
-Expect(0, 68447, '\P{^Sc= Phli}', "");
-Error('\p{Is_Script= _INSCRIPTIONAL:=PAHLAVI}');
-Error('\P{Is_Script= _INSCRIPTIONAL:=PAHLAVI}');
-Expect(1, 68466, '\p{Is_Script: inscriptionalpahlavi}', "");
-Expect(0, 68466, '\p{^Is_Script: inscriptionalpahlavi}', "");
-Expect(0, 68466, '\P{Is_Script: inscriptionalpahlavi}', "");
-Expect(1, 68466, '\P{^Is_Script: inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{Is_Script: inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^Is_Script: inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{Is_Script: inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^Is_Script: inscriptionalpahlavi}', "");
-Expect(1, 68466, '\p{Is_Script=--inscriptionalPahlavi}', "");
-Expect(0, 68466, '\p{^Is_Script=--inscriptionalPahlavi}', "");
-Expect(0, 68466, '\P{Is_Script=--inscriptionalPahlavi}', "");
-Expect(1, 68466, '\P{^Is_Script=--inscriptionalPahlavi}', "");
-Expect(0, 68447, '\p{Is_Script=--inscriptionalPahlavi}', "");
-Expect(1, 68447, '\p{^Is_Script=--inscriptionalPahlavi}', "");
-Expect(1, 68447, '\P{Is_Script=--inscriptionalPahlavi}', "");
-Expect(0, 68447, '\P{^Is_Script=--inscriptionalPahlavi}', "");
-Error('\p{Is_Sc:-_phli:=}');
-Error('\P{Is_Sc:-_phli:=}');
-Expect(1, 68466, '\p{Is_Sc=phli}', "");
-Expect(0, 68466, '\p{^Is_Sc=phli}', "");
-Expect(0, 68466, '\P{Is_Sc=phli}', "");
-Expect(1, 68466, '\P{^Is_Sc=phli}', "");
-Expect(0, 68447, '\p{Is_Sc=phli}', "");
-Expect(1, 68447, '\p{^Is_Sc=phli}', "");
-Expect(1, 68447, '\P{Is_Sc=phli}', "");
-Expect(0, 68447, '\P{^Is_Sc=phli}', "");
-Expect(1, 68466, '\p{Is_Sc= -phli}', "");
-Expect(0, 68466, '\p{^Is_Sc= -phli}', "");
-Expect(0, 68466, '\P{Is_Sc= -phli}', "");
-Expect(1, 68466, '\P{^Is_Sc= -phli}', "");
-Expect(0, 68447, '\p{Is_Sc= -phli}', "");
-Expect(1, 68447, '\p{^Is_Sc= -phli}', "");
-Expect(1, 68447, '\P{Is_Sc= -phli}', "");
-Expect(0, 68447, '\P{^Is_Sc= -phli}', "");
-Error('\p{Script= _Tai-Tham:=}');
-Error('\P{Script= _Tai-Tham:=}');
-Expect(1, 6750, '\p{Script=taitham}', "");
-Expect(0, 6750, '\p{^Script=taitham}', "");
-Expect(0, 6750, '\P{Script=taitham}', "");
-Expect(1, 6750, '\P{^Script=taitham}', "");
-Expect(0, 6687, '\p{Script=taitham}', "");
-Expect(1, 6687, '\p{^Script=taitham}', "");
-Expect(1, 6687, '\P{Script=taitham}', "");
-Expect(0, 6687, '\P{^Script=taitham}', "");
-Expect(1, 6750, '\p{Script:_-TAI tham}', "");
-Expect(0, 6750, '\p{^Script:_-TAI tham}', "");
-Expect(0, 6750, '\P{Script:_-TAI tham}', "");
-Expect(1, 6750, '\P{^Script:_-TAI tham}', "");
-Expect(0, 6687, '\p{Script:_-TAI tham}', "");
-Expect(1, 6687, '\p{^Script:_-TAI tham}', "");
-Expect(1, 6687, '\P{Script:_-TAI tham}', "");
-Expect(0, 6687, '\P{^Script:_-TAI tham}', "");
-Error('\p{Sc=/a/LANA}');
-Error('\P{Sc=/a/LANA}');
-Expect(1, 6750, '\p{Sc=lana}', "");
-Expect(0, 6750, '\p{^Sc=lana}', "");
-Expect(0, 6750, '\P{Sc=lana}', "");
-Expect(1, 6750, '\P{^Sc=lana}', "");
-Expect(0, 6687, '\p{Sc=lana}', "");
-Expect(1, 6687, '\p{^Sc=lana}', "");
-Expect(1, 6687, '\P{Sc=lana}', "");
-Expect(0, 6687, '\P{^Sc=lana}', "");
-Expect(1, 6750, '\p{Sc= lana}', "");
-Expect(0, 6750, '\p{^Sc= lana}', "");
-Expect(0, 6750, '\P{Sc= lana}', "");
-Expect(1, 6750, '\P{^Sc= lana}', "");
-Expect(0, 6687, '\p{Sc= lana}', "");
-Expect(1, 6687, '\p{^Sc= lana}', "");
-Expect(1, 6687, '\P{Sc= lana}', "");
-Expect(0, 6687, '\P{^Sc= lana}', "");
-Error('\p{Is_Script=-Tai_Tham/a/}');
-Error('\P{Is_Script=-Tai_Tham/a/}');
-Expect(1, 6750, '\p{Is_Script=taitham}', "");
-Expect(0, 6750, '\p{^Is_Script=taitham}', "");
-Expect(0, 6750, '\P{Is_Script=taitham}', "");
-Expect(1, 6750, '\P{^Is_Script=taitham}', "");
-Expect(0, 6687, '\p{Is_Script=taitham}', "");
-Expect(1, 6687, '\p{^Is_Script=taitham}', "");
-Expect(1, 6687, '\P{Is_Script=taitham}', "");
-Expect(0, 6687, '\P{^Is_Script=taitham}', "");
-Expect(1, 6750, '\p{Is_Script=tai tham}', "");
-Expect(0, 6750, '\p{^Is_Script=tai tham}', "");
-Expect(0, 6750, '\P{Is_Script=tai tham}', "");
-Expect(1, 6750, '\P{^Is_Script=tai tham}', "");
-Expect(0, 6687, '\p{Is_Script=tai tham}', "");
-Expect(1, 6687, '\p{^Is_Script=tai tham}', "");
-Expect(1, 6687, '\P{Is_Script=tai tham}', "");
-Expect(0, 6687, '\P{^Is_Script=tai tham}', "");
-Error('\p{Is_Sc: _/a/LANA}');
-Error('\P{Is_Sc: _/a/LANA}');
-Expect(1, 6750, '\p{Is_Sc=lana}', "");
-Expect(0, 6750, '\p{^Is_Sc=lana}', "");
-Expect(0, 6750, '\P{Is_Sc=lana}', "");
-Expect(1, 6750, '\P{^Is_Sc=lana}', "");
-Expect(0, 6687, '\p{Is_Sc=lana}', "");
-Expect(1, 6687, '\p{^Is_Sc=lana}', "");
-Expect(1, 6687, '\P{Is_Sc=lana}', "");
-Expect(0, 6687, '\P{^Is_Sc=lana}', "");
-Expect(1, 6750, '\p{Is_Sc=-Lana}', "");
-Expect(0, 6750, '\p{^Is_Sc=-Lana}', "");
-Expect(0, 6750, '\P{Is_Sc=-Lana}', "");
-Expect(1, 6750, '\P{^Is_Sc=-Lana}', "");
-Expect(0, 6687, '\p{Is_Sc=-Lana}', "");
-Expect(1, 6687, '\p{^Is_Sc=-Lana}', "");
-Expect(1, 6687, '\P{Is_Sc=-Lana}', "");
-Expect(0, 6687, '\P{^Is_Sc=-Lana}', "");
-Error('\p{Script= /a/gurmukhi}');
-Error('\P{Script= /a/gurmukhi}');
-Expect(1, 2563, '\p{Script=gurmukhi}', "");
-Expect(0, 2563, '\p{^Script=gurmukhi}', "");
-Expect(0, 2563, '\P{Script=gurmukhi}', "");
-Expect(1, 2563, '\P{^Script=gurmukhi}', "");
-Expect(0, 2560, '\p{Script=gurmukhi}', "");
-Expect(1, 2560, '\p{^Script=gurmukhi}', "");
-Expect(1, 2560, '\P{Script=gurmukhi}', "");
-Expect(0, 2560, '\P{^Script=gurmukhi}', "");
-Expect(1, 2563, '\p{Script=_-GURMUKHI}', "");
-Expect(0, 2563, '\p{^Script=_-GURMUKHI}', "");
-Expect(0, 2563, '\P{Script=_-GURMUKHI}', "");
-Expect(1, 2563, '\P{^Script=_-GURMUKHI}', "");
-Expect(0, 2560, '\p{Script=_-GURMUKHI}', "");
-Expect(1, 2560, '\p{^Script=_-GURMUKHI}', "");
-Expect(1, 2560, '\P{Script=_-GURMUKHI}', "");
-Expect(0, 2560, '\P{^Script=_-GURMUKHI}', "");
-Error('\p{Sc= /a/GURU}');
-Error('\P{Sc= /a/GURU}');
-Expect(1, 2563, '\p{Sc=guru}', "");
-Expect(0, 2563, '\p{^Sc=guru}', "");
-Expect(0, 2563, '\P{Sc=guru}', "");
-Expect(1, 2563, '\P{^Sc=guru}', "");
-Expect(0, 2560, '\p{Sc=guru}', "");
-Expect(1, 2560, '\p{^Sc=guru}', "");
-Expect(1, 2560, '\P{Sc=guru}', "");
-Expect(0, 2560, '\P{^Sc=guru}', "");
-Expect(1, 2563, '\p{Sc=-_Guru}', "");
-Expect(0, 2563, '\p{^Sc=-_Guru}', "");
-Expect(0, 2563, '\P{Sc=-_Guru}', "");
-Expect(1, 2563, '\P{^Sc=-_Guru}', "");
-Expect(0, 2560, '\p{Sc=-_Guru}', "");
-Expect(1, 2560, '\p{^Sc=-_Guru}', "");
-Expect(1, 2560, '\P{Sc=-_Guru}', "");
-Expect(0, 2560, '\P{^Sc=-_Guru}', "");
-Error('\p{Is_Script=:= gurmukhi}');
-Error('\P{Is_Script=:= gurmukhi}');
-Expect(1, 2563, '\p{Is_Script=gurmukhi}', "");
-Expect(0, 2563, '\p{^Is_Script=gurmukhi}', "");
-Expect(0, 2563, '\P{Is_Script=gurmukhi}', "");
-Expect(1, 2563, '\P{^Is_Script=gurmukhi}', "");
-Expect(0, 2560, '\p{Is_Script=gurmukhi}', "");
-Expect(1, 2560, '\p{^Is_Script=gurmukhi}', "");
-Expect(1, 2560, '\P{Is_Script=gurmukhi}', "");
-Expect(0, 2560, '\P{^Is_Script=gurmukhi}', "");
-Expect(1, 2563, '\p{Is_Script=_-Gurmukhi}', "");
-Expect(0, 2563, '\p{^Is_Script=_-Gurmukhi}', "");
-Expect(0, 2563, '\P{Is_Script=_-Gurmukhi}', "");
-Expect(1, 2563, '\P{^Is_Script=_-Gurmukhi}', "");
-Expect(0, 2560, '\p{Is_Script=_-Gurmukhi}', "");
-Expect(1, 2560, '\p{^Is_Script=_-Gurmukhi}', "");
-Expect(1, 2560, '\P{Is_Script=_-Gurmukhi}', "");
-Expect(0, 2560, '\P{^Is_Script=_-Gurmukhi}', "");
-Error('\p{Is_Sc= /a/Guru}');
-Error('\P{Is_Sc= /a/Guru}');
-Expect(1, 2563, '\p{Is_Sc=guru}', "");
-Expect(0, 2563, '\p{^Is_Sc=guru}', "");
-Expect(0, 2563, '\P{Is_Sc=guru}', "");
-Expect(1, 2563, '\P{^Is_Sc=guru}', "");
-Expect(0, 2560, '\p{Is_Sc=guru}', "");
-Expect(1, 2560, '\p{^Is_Sc=guru}', "");
-Expect(1, 2560, '\P{Is_Sc=guru}', "");
-Expect(0, 2560, '\P{^Is_Sc=guru}', "");
-Expect(1, 2563, '\p{Is_Sc=-Guru}', "");
-Expect(0, 2563, '\p{^Is_Sc=-Guru}', "");
-Expect(0, 2563, '\P{Is_Sc=-Guru}', "");
-Expect(1, 2563, '\P{^Is_Sc=-Guru}', "");
-Expect(0, 2560, '\p{Is_Sc=-Guru}', "");
-Expect(1, 2560, '\p{^Is_Sc=-Guru}', "");
-Expect(1, 2560, '\P{Is_Sc=-Guru}', "");
-Expect(0, 2560, '\P{^Is_Sc=-Guru}', "");
-Error('\p{Script=_ Cypriot/a/}');
-Error('\P{Script=_ Cypriot/a/}');
-Expect(1, 67589, '\p{Script=cypriot}', "");
-Expect(0, 67589, '\p{^Script=cypriot}', "");
-Expect(0, 67589, '\P{Script=cypriot}', "");
-Expect(1, 67589, '\P{^Script=cypriot}', "");
-Expect(0, 67583, '\p{Script=cypriot}', "");
-Expect(1, 67583, '\p{^Script=cypriot}', "");
-Expect(1, 67583, '\P{Script=cypriot}', "");
-Expect(0, 67583, '\P{^Script=cypriot}', "");
-Expect(1, 67589, '\p{Script= cypriot}', "");
-Expect(0, 67589, '\p{^Script= cypriot}', "");
-Expect(0, 67589, '\P{Script= cypriot}', "");
-Expect(1, 67589, '\P{^Script= cypriot}', "");
-Expect(0, 67583, '\p{Script= cypriot}', "");
-Expect(1, 67583, '\p{^Script= cypriot}', "");
-Expect(1, 67583, '\P{Script= cypriot}', "");
-Expect(0, 67583, '\P{^Script= cypriot}', "");
-Error('\p{Sc= CPRT:=}');
-Error('\P{Sc= CPRT:=}');
-Expect(1, 67589, '\p{Sc=cprt}', "");
-Expect(0, 67589, '\p{^Sc=cprt}', "");
-Expect(0, 67589, '\P{Sc=cprt}', "");
-Expect(1, 67589, '\P{^Sc=cprt}', "");
-Expect(0, 67583, '\p{Sc=cprt}', "");
-Expect(1, 67583, '\p{^Sc=cprt}', "");
-Expect(1, 67583, '\P{Sc=cprt}', "");
-Expect(0, 67583, '\P{^Sc=cprt}', "");
-Expect(1, 67589, '\p{Sc=_ CPRT}', "");
-Expect(0, 67589, '\p{^Sc=_ CPRT}', "");
-Expect(0, 67589, '\P{Sc=_ CPRT}', "");
-Expect(1, 67589, '\P{^Sc=_ CPRT}', "");
-Expect(0, 67583, '\p{Sc=_ CPRT}', "");
-Expect(1, 67583, '\p{^Sc=_ CPRT}', "");
-Expect(1, 67583, '\P{Sc=_ CPRT}', "");
-Expect(0, 67583, '\P{^Sc=_ CPRT}', "");
-Error('\p{Is_Script=-/a/CYPRIOT}');
-Error('\P{Is_Script=-/a/CYPRIOT}');
-Expect(1, 67589, '\p{Is_Script=cypriot}', "");
-Expect(0, 67589, '\p{^Is_Script=cypriot}', "");
-Expect(0, 67589, '\P{Is_Script=cypriot}', "");
-Expect(1, 67589, '\P{^Is_Script=cypriot}', "");
-Expect(0, 67583, '\p{Is_Script=cypriot}', "");
-Expect(1, 67583, '\p{^Is_Script=cypriot}', "");
-Expect(1, 67583, '\P{Is_Script=cypriot}', "");
-Expect(0, 67583, '\P{^Is_Script=cypriot}', "");
-Expect(1, 67589, '\p{Is_Script=_-Cypriot}', "");
-Expect(0, 67589, '\p{^Is_Script=_-Cypriot}', "");
-Expect(0, 67589, '\P{Is_Script=_-Cypriot}', "");
-Expect(1, 67589, '\P{^Is_Script=_-Cypriot}', "");
-Expect(0, 67583, '\p{Is_Script=_-Cypriot}', "");
-Expect(1, 67583, '\p{^Is_Script=_-Cypriot}', "");
-Expect(1, 67583, '\P{Is_Script=_-Cypriot}', "");
-Expect(0, 67583, '\P{^Is_Script=_-Cypriot}', "");
-Error('\p{Is_Sc=/a/_cprt}');
-Error('\P{Is_Sc=/a/_cprt}');
-Expect(1, 67589, '\p{Is_Sc=cprt}', "");
-Expect(0, 67589, '\p{^Is_Sc=cprt}', "");
-Expect(0, 67589, '\P{Is_Sc=cprt}', "");
-Expect(1, 67589, '\P{^Is_Sc=cprt}', "");
-Expect(0, 67583, '\p{Is_Sc=cprt}', "");
-Expect(1, 67583, '\p{^Is_Sc=cprt}', "");
-Expect(1, 67583, '\P{Is_Sc=cprt}', "");
-Expect(0, 67583, '\P{^Is_Sc=cprt}', "");
-Expect(1, 67589, '\p{Is_Sc= cprt}', "");
-Expect(0, 67589, '\p{^Is_Sc= cprt}', "");
-Expect(0, 67589, '\P{Is_Sc= cprt}', "");
-Expect(1, 67589, '\P{^Is_Sc= cprt}', "");
-Expect(0, 67583, '\p{Is_Sc= cprt}', "");
-Expect(1, 67583, '\p{^Is_Sc= cprt}', "");
-Expect(1, 67583, '\P{Is_Sc= cprt}', "");
-Expect(0, 67583, '\P{^Is_Sc= cprt}', "");
-Error('\p{Script: /a/Hangul}');
-Error('\P{Script: /a/Hangul}');
-Expect(1, 4607, '\p{Script:hangul}', "");
-Expect(0, 4607, '\p{^Script:hangul}', "");
-Expect(0, 4607, '\P{Script:hangul}', "");
-Expect(1, 4607, '\P{^Script:hangul}', "");
-Expect(0, 4351, '\p{Script:hangul}', "");
-Expect(1, 4351, '\p{^Script:hangul}', "");
-Expect(1, 4351, '\P{Script:hangul}', "");
-Expect(0, 4351, '\P{^Script:hangul}', "");
-Expect(1, 4607, '\p{Script= Hangul}', "");
-Expect(0, 4607, '\p{^Script= Hangul}', "");
-Expect(0, 4607, '\P{Script= Hangul}', "");
-Expect(1, 4607, '\P{^Script= Hangul}', "");
-Expect(0, 4351, '\p{Script= Hangul}', "");
-Expect(1, 4351, '\p{^Script= Hangul}', "");
-Expect(1, 4351, '\P{Script= Hangul}', "");
-Expect(0, 4351, '\P{^Script= Hangul}', "");
-Error('\p{Sc=_ HANG:=}');
-Error('\P{Sc=_ HANG:=}');
-Expect(1, 4607, '\p{Sc=hang}', "");
-Expect(0, 4607, '\p{^Sc=hang}', "");
-Expect(0, 4607, '\P{Sc=hang}', "");
-Expect(1, 4607, '\P{^Sc=hang}', "");
-Expect(0, 4351, '\p{Sc=hang}', "");
-Expect(1, 4351, '\p{^Sc=hang}', "");
-Expect(1, 4351, '\P{Sc=hang}', "");
-Expect(0, 4351, '\P{^Sc=hang}', "");
-Expect(1, 4607, '\p{Sc= HANG}', "");
-Expect(0, 4607, '\p{^Sc= HANG}', "");
-Expect(0, 4607, '\P{Sc= HANG}', "");
-Expect(1, 4607, '\P{^Sc= HANG}', "");
-Expect(0, 4351, '\p{Sc= HANG}', "");
-Expect(1, 4351, '\p{^Sc= HANG}', "");
-Expect(1, 4351, '\P{Sc= HANG}', "");
-Expect(0, 4351, '\P{^Sc= HANG}', "");
-Error('\p{Is_Script= Hangul/a/}');
-Error('\P{Is_Script= Hangul/a/}');
-Expect(1, 4607, '\p{Is_Script=hangul}', "");
-Expect(0, 4607, '\p{^Is_Script=hangul}', "");
-Expect(0, 4607, '\P{Is_Script=hangul}', "");
-Expect(1, 4607, '\P{^Is_Script=hangul}', "");
-Expect(0, 4351, '\p{Is_Script=hangul}', "");
-Expect(1, 4351, '\p{^Is_Script=hangul}', "");
-Expect(1, 4351, '\P{Is_Script=hangul}', "");
-Expect(0, 4351, '\P{^Is_Script=hangul}', "");
-Expect(1, 4607, '\p{Is_Script= _Hangul}', "");
-Expect(0, 4607, '\p{^Is_Script= _Hangul}', "");
-Expect(0, 4607, '\P{Is_Script= _Hangul}', "");
-Expect(1, 4607, '\P{^Is_Script= _Hangul}', "");
-Expect(0, 4351, '\p{Is_Script= _Hangul}', "");
-Expect(1, 4351, '\p{^Is_Script= _Hangul}', "");
-Expect(1, 4351, '\P{Is_Script= _Hangul}', "");
-Expect(0, 4351, '\P{^Is_Script= _Hangul}', "");
-Error('\p{Is_Sc=:=_ Hang}');
-Error('\P{Is_Sc=:=_ Hang}');
-Expect(1, 4607, '\p{Is_Sc=hang}', "");
-Expect(0, 4607, '\p{^Is_Sc=hang}', "");
-Expect(0, 4607, '\P{Is_Sc=hang}', "");
-Expect(1, 4607, '\P{^Is_Sc=hang}', "");
-Expect(0, 4351, '\p{Is_Sc=hang}', "");
-Expect(1, 4351, '\p{^Is_Sc=hang}', "");
-Expect(1, 4351, '\P{Is_Sc=hang}', "");
-Expect(0, 4351, '\P{^Is_Sc=hang}', "");
-Expect(1, 4607, '\p{Is_Sc= _Hang}', "");
-Expect(0, 4607, '\p{^Is_Sc= _Hang}', "");
-Expect(0, 4607, '\P{Is_Sc= _Hang}', "");
-Expect(1, 4607, '\P{^Is_Sc= _Hang}', "");
-Expect(0, 4351, '\p{Is_Sc= _Hang}', "");
-Expect(1, 4351, '\p{^Is_Sc= _Hang}', "");
-Expect(1, 4351, '\P{Is_Sc= _Hang}', "");
-Expect(0, 4351, '\P{^Is_Sc= _Hang}', "");
-Error('\p{Script=/a/_Unknown}');
-Error('\P{Script=/a/_Unknown}');
-Expect(1, 889, '\p{Script=unknown}', "");
-Expect(0, 889, '\p{^Script=unknown}', "");
-Expect(0, 889, '\P{Script=unknown}', "");
-Expect(1, 889, '\P{^Script=unknown}', "");
-Expect(0, 887, '\p{Script=unknown}', "");
-Expect(1, 887, '\p{^Script=unknown}', "");
-Expect(1, 887, '\P{Script=unknown}', "");
-Expect(0, 887, '\P{^Script=unknown}', "");
-Expect(1, 889, '\p{Script=-Unknown}', "");
-Expect(0, 889, '\p{^Script=-Unknown}', "");
-Expect(0, 889, '\P{Script=-Unknown}', "");
-Expect(1, 889, '\P{^Script=-Unknown}', "");
-Expect(0, 887, '\p{Script=-Unknown}', "");
-Expect(1, 887, '\p{^Script=-Unknown}', "");
-Expect(1, 887, '\P{Script=-Unknown}', "");
-Expect(0, 887, '\P{^Script=-Unknown}', "");
-Error('\p{Sc=:= _zzzz}');
-Error('\P{Sc=:= _zzzz}');
-Expect(1, 889, '\p{Sc:zzzz}', "");
-Expect(0, 889, '\p{^Sc:zzzz}', "");
-Expect(0, 889, '\P{Sc:zzzz}', "");
-Expect(1, 889, '\P{^Sc:zzzz}', "");
-Expect(0, 887, '\p{Sc:zzzz}', "");
-Expect(1, 887, '\p{^Sc:zzzz}', "");
-Expect(1, 887, '\P{Sc:zzzz}', "");
-Expect(0, 887, '\P{^Sc:zzzz}', "");
-Expect(1, 889, '\p{Sc=_ ZZZZ}', "");
-Expect(0, 889, '\p{^Sc=_ ZZZZ}', "");
-Expect(0, 889, '\P{Sc=_ ZZZZ}', "");
-Expect(1, 889, '\P{^Sc=_ ZZZZ}', "");
-Expect(0, 887, '\p{Sc=_ ZZZZ}', "");
-Expect(1, 887, '\p{^Sc=_ ZZZZ}', "");
-Expect(1, 887, '\P{Sc=_ ZZZZ}', "");
-Expect(0, 887, '\P{^Sc=_ ZZZZ}', "");
-Error('\p{Is_Script=-_Unknown:=}');
-Error('\P{Is_Script=-_Unknown:=}');
-Expect(1, 889, '\p{Is_Script=unknown}', "");
-Expect(0, 889, '\p{^Is_Script=unknown}', "");
-Expect(0, 889, '\P{Is_Script=unknown}', "");
-Expect(1, 889, '\P{^Is_Script=unknown}', "");
-Expect(0, 887, '\p{Is_Script=unknown}', "");
-Expect(1, 887, '\p{^Is_Script=unknown}', "");
-Expect(1, 887, '\P{Is_Script=unknown}', "");
-Expect(0, 887, '\P{^Is_Script=unknown}', "");
-Expect(1, 889, '\p{Is_Script: -Unknown}', "");
-Expect(0, 889, '\p{^Is_Script: -Unknown}', "");
-Expect(0, 889, '\P{Is_Script: -Unknown}', "");
-Expect(1, 889, '\P{^Is_Script: -Unknown}', "");
-Expect(0, 887, '\p{Is_Script: -Unknown}', "");
-Expect(1, 887, '\p{^Is_Script: -Unknown}', "");
-Expect(1, 887, '\P{Is_Script: -Unknown}', "");
-Expect(0, 887, '\P{^Is_Script: -Unknown}', "");
-Error('\p{Is_Sc: ZZZZ:=}');
-Error('\P{Is_Sc: ZZZZ:=}');
-Expect(1, 889, '\p{Is_Sc=zzzz}', "");
-Expect(0, 889, '\p{^Is_Sc=zzzz}', "");
-Expect(0, 889, '\P{Is_Sc=zzzz}', "");
-Expect(1, 889, '\P{^Is_Sc=zzzz}', "");
-Expect(0, 887, '\p{Is_Sc=zzzz}', "");
-Expect(1, 887, '\p{^Is_Sc=zzzz}', "");
-Expect(1, 887, '\P{Is_Sc=zzzz}', "");
-Expect(0, 887, '\P{^Is_Sc=zzzz}', "");
-Expect(1, 889, '\p{Is_Sc=-zzzz}', "");
-Expect(0, 889, '\p{^Is_Sc=-zzzz}', "");
-Expect(0, 889, '\P{Is_Sc=-zzzz}', "");
-Expect(1, 889, '\P{^Is_Sc=-zzzz}', "");
-Expect(0, 887, '\p{Is_Sc=-zzzz}', "");
-Expect(1, 887, '\p{^Is_Sc=-zzzz}', "");
-Expect(1, 887, '\P{Is_Sc=-zzzz}', "");
-Expect(0, 887, '\P{^Is_Sc=-zzzz}', "");
-Error('\p{Script=/a/-deseret}');
-Error('\P{Script=/a/-deseret}');
-Expect(1, 66639, '\p{Script=deseret}', "");
-Expect(0, 66639, '\p{^Script=deseret}', "");
-Expect(0, 66639, '\P{Script=deseret}', "");
-Expect(1, 66639, '\P{^Script=deseret}', "");
-Expect(0, 66559, '\p{Script=deseret}', "");
-Expect(1, 66559, '\p{^Script=deseret}', "");
-Expect(1, 66559, '\P{Script=deseret}', "");
-Expect(0, 66559, '\P{^Script=deseret}', "");
-Expect(1, 66639, '\p{Script: _ DESERET}', "");
-Expect(0, 66639, '\p{^Script: _ DESERET}', "");
-Expect(0, 66639, '\P{Script: _ DESERET}', "");
-Expect(1, 66639, '\P{^Script: _ DESERET}', "");
-Expect(0, 66559, '\p{Script: _ DESERET}', "");
-Expect(1, 66559, '\p{^Script: _ DESERET}', "");
-Expect(1, 66559, '\P{Script: _ DESERET}', "");
-Expect(0, 66559, '\P{^Script: _ DESERET}', "");
-Error('\p{Sc=_:=Dsrt}');
-Error('\P{Sc=_:=Dsrt}');
-Expect(1, 66639, '\p{Sc=dsrt}', "");
-Expect(0, 66639, '\p{^Sc=dsrt}', "");
-Expect(0, 66639, '\P{Sc=dsrt}', "");
-Expect(1, 66639, '\P{^Sc=dsrt}', "");
-Expect(0, 66559, '\p{Sc=dsrt}', "");
-Expect(1, 66559, '\p{^Sc=dsrt}', "");
-Expect(1, 66559, '\P{Sc=dsrt}', "");
-Expect(0, 66559, '\P{^Sc=dsrt}', "");
-Expect(1, 66639, '\p{Sc=-DSRT}', "");
-Expect(0, 66639, '\p{^Sc=-DSRT}', "");
-Expect(0, 66639, '\P{Sc=-DSRT}', "");
-Expect(1, 66639, '\P{^Sc=-DSRT}', "");
-Expect(0, 66559, '\p{Sc=-DSRT}', "");
-Expect(1, 66559, '\p{^Sc=-DSRT}', "");
-Expect(1, 66559, '\P{Sc=-DSRT}', "");
-Expect(0, 66559, '\P{^Sc=-DSRT}', "");
-Error('\p{Is_Script=__Deseret/a/}');
-Error('\P{Is_Script=__Deseret/a/}');
-Expect(1, 66639, '\p{Is_Script=deseret}', "");
-Expect(0, 66639, '\p{^Is_Script=deseret}', "");
-Expect(0, 66639, '\P{Is_Script=deseret}', "");
-Expect(1, 66639, '\P{^Is_Script=deseret}', "");
-Expect(0, 66559, '\p{Is_Script=deseret}', "");
-Expect(1, 66559, '\p{^Is_Script=deseret}', "");
-Expect(1, 66559, '\P{Is_Script=deseret}', "");
-Expect(0, 66559, '\P{^Is_Script=deseret}', "");
-Expect(1, 66639, '\p{Is_Script=_Deseret}', "");
-Expect(0, 66639, '\p{^Is_Script=_Deseret}', "");
-Expect(0, 66639, '\P{Is_Script=_Deseret}', "");
-Expect(1, 66639, '\P{^Is_Script=_Deseret}', "");
-Expect(0, 66559, '\p{Is_Script=_Deseret}', "");
-Expect(1, 66559, '\p{^Is_Script=_Deseret}', "");
-Expect(1, 66559, '\P{Is_Script=_Deseret}', "");
-Expect(0, 66559, '\P{^Is_Script=_Deseret}', "");
-Error('\p{Is_Sc=/a/_Dsrt}');
-Error('\P{Is_Sc=/a/_Dsrt}');
-Expect(1, 66639, '\p{Is_Sc=dsrt}', "");
-Expect(0, 66639, '\p{^Is_Sc=dsrt}', "");
-Expect(0, 66639, '\P{Is_Sc=dsrt}', "");
-Expect(1, 66639, '\P{^Is_Sc=dsrt}', "");
-Expect(0, 66559, '\p{Is_Sc=dsrt}', "");
-Expect(1, 66559, '\p{^Is_Sc=dsrt}', "");
-Expect(1, 66559, '\P{Is_Sc=dsrt}', "");
-Expect(0, 66559, '\P{^Is_Sc=dsrt}', "");
-Expect(1, 66639, '\p{Is_Sc: Dsrt}', "");
-Expect(0, 66639, '\p{^Is_Sc: Dsrt}', "");
-Expect(0, 66639, '\P{Is_Sc: Dsrt}', "");
-Expect(1, 66639, '\P{^Is_Sc: Dsrt}', "");
-Expect(0, 66559, '\p{Is_Sc: Dsrt}', "");
-Expect(1, 66559, '\p{^Is_Sc: Dsrt}', "");
-Expect(1, 66559, '\P{Is_Sc: Dsrt}', "");
-Expect(0, 66559, '\P{^Is_Sc: Dsrt}', "");
-Error('\p{Script=-/a/Cuneiform}');
-Error('\P{Script=-/a/Cuneiform}');
-Expect(1, 74606, '\p{Script=cuneiform}', "");
-Expect(0, 74606, '\p{^Script=cuneiform}', "");
-Expect(0, 74606, '\P{Script=cuneiform}', "");
-Expect(1, 74606, '\P{^Script=cuneiform}', "");
-Expect(0, 73727, '\p{Script=cuneiform}', "");
-Expect(1, 73727, '\p{^Script=cuneiform}', "");
-Expect(1, 73727, '\P{Script=cuneiform}', "");
-Expect(0, 73727, '\P{^Script=cuneiform}', "");
-Expect(1, 74606, '\p{Script= cuneiform}', "");
-Expect(0, 74606, '\p{^Script= cuneiform}', "");
-Expect(0, 74606, '\P{Script= cuneiform}', "");
-Expect(1, 74606, '\P{^Script= cuneiform}', "");
-Expect(0, 73727, '\p{Script= cuneiform}', "");
-Expect(1, 73727, '\p{^Script= cuneiform}', "");
-Expect(1, 73727, '\P{Script= cuneiform}', "");
-Expect(0, 73727, '\P{^Script= cuneiform}', "");
-Error('\p{Sc=:= Xsux}');
-Error('\P{Sc=:= Xsux}');
-Expect(1, 74606, '\p{Sc=xsux}', "");
-Expect(0, 74606, '\p{^Sc=xsux}', "");
-Expect(0, 74606, '\P{Sc=xsux}', "");
-Expect(1, 74606, '\P{^Sc=xsux}', "");
-Expect(0, 73727, '\p{Sc=xsux}', "");
-Expect(1, 73727, '\p{^Sc=xsux}', "");
-Expect(1, 73727, '\P{Sc=xsux}', "");
-Expect(0, 73727, '\P{^Sc=xsux}', "");
-Expect(1, 74606, '\p{Sc: -_XSUX}', "");
-Expect(0, 74606, '\p{^Sc: -_XSUX}', "");
-Expect(0, 74606, '\P{Sc: -_XSUX}', "");
-Expect(1, 74606, '\P{^Sc: -_XSUX}', "");
-Expect(0, 73727, '\p{Sc: -_XSUX}', "");
-Expect(1, 73727, '\p{^Sc: -_XSUX}', "");
-Expect(1, 73727, '\P{Sc: -_XSUX}', "");
-Expect(0, 73727, '\P{^Sc: -_XSUX}', "");
-Error('\p{Is_Script=/a/Cuneiform}');
-Error('\P{Is_Script=/a/Cuneiform}');
-Expect(1, 74606, '\p{Is_Script=cuneiform}', "");
-Expect(0, 74606, '\p{^Is_Script=cuneiform}', "");
-Expect(0, 74606, '\P{Is_Script=cuneiform}', "");
-Expect(1, 74606, '\P{^Is_Script=cuneiform}', "");
-Expect(0, 73727, '\p{Is_Script=cuneiform}', "");
-Expect(1, 73727, '\p{^Is_Script=cuneiform}', "");
-Expect(1, 73727, '\P{Is_Script=cuneiform}', "");
-Expect(0, 73727, '\P{^Is_Script=cuneiform}', "");
-Expect(1, 74606, '\p{Is_Script=- CUNEIFORM}', "");
-Expect(0, 74606, '\p{^Is_Script=- CUNEIFORM}', "");
-Expect(0, 74606, '\P{Is_Script=- CUNEIFORM}', "");
-Expect(1, 74606, '\P{^Is_Script=- CUNEIFORM}', "");
-Expect(0, 73727, '\p{Is_Script=- CUNEIFORM}', "");
-Expect(1, 73727, '\p{^Is_Script=- CUNEIFORM}', "");
-Expect(1, 73727, '\P{Is_Script=- CUNEIFORM}', "");
-Expect(0, 73727, '\P{^Is_Script=- CUNEIFORM}', "");
-Error('\p{Is_Sc: _Xsux:=}');
-Error('\P{Is_Sc: _Xsux:=}');
-Expect(1, 74606, '\p{Is_Sc:xsux}', "");
-Expect(0, 74606, '\p{^Is_Sc:xsux}', "");
-Expect(0, 74606, '\P{Is_Sc:xsux}', "");
-Expect(1, 74606, '\P{^Is_Sc:xsux}', "");
-Expect(0, 73727, '\p{Is_Sc:xsux}', "");
-Expect(1, 73727, '\p{^Is_Sc:xsux}', "");
-Expect(1, 73727, '\P{Is_Sc:xsux}', "");
-Expect(0, 73727, '\P{^Is_Sc:xsux}', "");
-Expect(1, 74606, '\p{Is_Sc= Xsux}', "");
-Expect(0, 74606, '\p{^Is_Sc= Xsux}', "");
-Expect(0, 74606, '\P{Is_Sc= Xsux}', "");
-Expect(1, 74606, '\P{^Is_Sc= Xsux}', "");
-Expect(0, 73727, '\p{Is_Sc= Xsux}', "");
-Expect(1, 73727, '\p{^Is_Sc= Xsux}', "");
-Expect(1, 73727, '\P{Is_Sc= Xsux}', "");
-Expect(0, 73727, '\P{^Is_Sc= Xsux}', "");
-Error('\p{Script=/a/-inherited}');
-Error('\P{Script=/a/-inherited}');
-Expect(1, 879, '\p{Script=inherited}', "");
-Expect(0, 879, '\p{^Script=inherited}', "");
-Expect(0, 879, '\P{Script=inherited}', "");
-Expect(1, 879, '\P{^Script=inherited}', "");
-Expect(0, 767, '\p{Script=inherited}', "");
-Expect(1, 767, '\p{^Script=inherited}', "");
-Expect(1, 767, '\P{Script=inherited}', "");
-Expect(0, 767, '\P{^Script=inherited}', "");
-Expect(1, 879, '\p{Script=_ inherited}', "");
-Expect(0, 879, '\p{^Script=_ inherited}', "");
-Expect(0, 879, '\P{Script=_ inherited}', "");
-Expect(1, 879, '\P{^Script=_ inherited}', "");
-Expect(0, 767, '\p{Script=_ inherited}', "");
-Expect(1, 767, '\p{^Script=_ inherited}', "");
-Expect(1, 767, '\P{Script=_ inherited}', "");
-Expect(0, 767, '\P{^Script=_ inherited}', "");
-Error('\p{Sc: Zinh:=}');
-Error('\P{Sc: Zinh:=}');
-Expect(1, 879, '\p{Sc=zinh}', "");
-Expect(0, 879, '\p{^Sc=zinh}', "");
-Expect(0, 879, '\P{Sc=zinh}', "");
-Expect(1, 879, '\P{^Sc=zinh}', "");
-Expect(0, 767, '\p{Sc=zinh}', "");
-Expect(1, 767, '\p{^Sc=zinh}', "");
-Expect(1, 767, '\P{Sc=zinh}', "");
-Expect(0, 767, '\P{^Sc=zinh}', "");
-Expect(1, 879, '\p{Sc=_-ZINH}', "");
-Expect(0, 879, '\p{^Sc=_-ZINH}', "");
-Expect(0, 879, '\P{Sc=_-ZINH}', "");
-Expect(1, 879, '\P{^Sc=_-ZINH}', "");
-Expect(0, 767, '\p{Sc=_-ZINH}', "");
-Expect(1, 767, '\p{^Sc=_-ZINH}', "");
-Expect(1, 767, '\P{Sc=_-ZINH}', "");
-Expect(0, 767, '\P{^Sc=_-ZINH}', "");
-Error('\p{Is_Script=_QAAI:=}');
-Error('\P{Is_Script=_QAAI:=}');
-Expect(1, 879, '\p{Is_Script=qaai}', "");
-Expect(0, 879, '\p{^Is_Script=qaai}', "");
-Expect(0, 879, '\P{Is_Script=qaai}', "");
-Expect(1, 879, '\P{^Is_Script=qaai}', "");
-Expect(0, 767, '\p{Is_Script=qaai}', "");
-Expect(1, 767, '\p{^Is_Script=qaai}', "");
-Expect(1, 767, '\P{Is_Script=qaai}', "");
-Expect(0, 767, '\P{^Is_Script=qaai}', "");
-Expect(1, 879, '\p{Is_Script= qaai}', "");
-Expect(0, 879, '\p{^Is_Script= qaai}', "");
-Expect(0, 879, '\P{Is_Script= qaai}', "");
-Expect(1, 879, '\P{^Is_Script= qaai}', "");
-Expect(0, 767, '\p{Is_Script= qaai}', "");
-Expect(1, 767, '\p{^Is_Script= qaai}', "");
-Expect(1, 767, '\P{Is_Script= qaai}', "");
-Expect(0, 767, '\P{^Is_Script= qaai}', "");
-Error('\p{Is_Sc= -Inherited:=}');
-Error('\P{Is_Sc= -Inherited:=}');
-Expect(1, 879, '\p{Is_Sc=inherited}', "");
-Expect(0, 879, '\p{^Is_Sc=inherited}', "");
-Expect(0, 879, '\P{Is_Sc=inherited}', "");
-Expect(1, 879, '\P{^Is_Sc=inherited}', "");
-Expect(0, 767, '\p{Is_Sc=inherited}', "");
-Expect(1, 767, '\p{^Is_Sc=inherited}', "");
-Expect(1, 767, '\P{Is_Sc=inherited}', "");
-Expect(0, 767, '\P{^Is_Sc=inherited}', "");
-Expect(1, 879, '\p{Is_Sc= Inherited}', "");
-Expect(0, 879, '\p{^Is_Sc= Inherited}', "");
-Expect(0, 879, '\P{Is_Sc= Inherited}', "");
-Expect(1, 879, '\P{^Is_Sc= Inherited}', "");
-Expect(0, 767, '\p{Is_Sc= Inherited}', "");
-Expect(1, 767, '\p{^Is_Sc= Inherited}', "");
-Expect(1, 767, '\P{Is_Sc= Inherited}', "");
-Expect(0, 767, '\P{^Is_Sc= Inherited}', "");
-Error('\p{Script: - Kaithi:=}');
-Error('\P{Script: - Kaithi:=}');
-Expect(1, 69825, '\p{Script=kaithi}', "");
-Expect(0, 69825, '\p{^Script=kaithi}', "");
-Expect(0, 69825, '\P{Script=kaithi}', "");
-Expect(1, 69825, '\P{^Script=kaithi}', "");
-Expect(0, 69759, '\p{Script=kaithi}', "");
-Expect(1, 69759, '\p{^Script=kaithi}', "");
-Expect(1, 69759, '\P{Script=kaithi}', "");
-Expect(0, 69759, '\P{^Script=kaithi}', "");
-Expect(1, 69825, '\p{Script=--KAITHI}', "");
-Expect(0, 69825, '\p{^Script=--KAITHI}', "");
-Expect(0, 69825, '\P{Script=--KAITHI}', "");
-Expect(1, 69825, '\P{^Script=--KAITHI}', "");
-Expect(0, 69759, '\p{Script=--KAITHI}', "");
-Expect(1, 69759, '\p{^Script=--KAITHI}', "");
-Expect(1, 69759, '\P{Script=--KAITHI}', "");
-Expect(0, 69759, '\P{^Script=--KAITHI}', "");
-Error('\p{Sc=_:=Kthi}');
-Error('\P{Sc=_:=Kthi}');
-Expect(1, 69825, '\p{Sc: kthi}', "");
-Expect(0, 69825, '\p{^Sc: kthi}', "");
-Expect(0, 69825, '\P{Sc: kthi}', "");
-Expect(1, 69825, '\P{^Sc: kthi}', "");
-Expect(0, 69759, '\p{Sc: kthi}', "");
-Expect(1, 69759, '\p{^Sc: kthi}', "");
-Expect(1, 69759, '\P{Sc: kthi}', "");
-Expect(0, 69759, '\P{^Sc: kthi}', "");
-Expect(1, 69825, '\p{Sc= -KTHI}', "");
-Expect(0, 69825, '\p{^Sc= -KTHI}', "");
-Expect(0, 69825, '\P{Sc= -KTHI}', "");
-Expect(1, 69825, '\P{^Sc= -KTHI}', "");
-Expect(0, 69759, '\p{Sc= -KTHI}', "");
-Expect(1, 69759, '\p{^Sc= -KTHI}', "");
-Expect(1, 69759, '\P{Sc= -KTHI}', "");
-Expect(0, 69759, '\P{^Sc= -KTHI}', "");
-Error('\p{Is_Script=/a/Kaithi}');
-Error('\P{Is_Script=/a/Kaithi}');
-Expect(1, 69825, '\p{Is_Script=kaithi}', "");
-Expect(0, 69825, '\p{^Is_Script=kaithi}', "");
-Expect(0, 69825, '\P{Is_Script=kaithi}', "");
-Expect(1, 69825, '\P{^Is_Script=kaithi}', "");
-Expect(0, 69759, '\p{Is_Script=kaithi}', "");
-Expect(1, 69759, '\p{^Is_Script=kaithi}', "");
-Expect(1, 69759, '\P{Is_Script=kaithi}', "");
-Expect(0, 69759, '\P{^Is_Script=kaithi}', "");
-Expect(1, 69825, '\p{Is_Script= kaithi}', "");
-Expect(0, 69825, '\p{^Is_Script= kaithi}', "");
-Expect(0, 69825, '\P{Is_Script= kaithi}', "");
-Expect(1, 69825, '\P{^Is_Script= kaithi}', "");
-Expect(0, 69759, '\p{Is_Script= kaithi}', "");
-Expect(1, 69759, '\p{^Is_Script= kaithi}', "");
-Expect(1, 69759, '\P{Is_Script= kaithi}', "");
-Expect(0, 69759, '\P{^Is_Script= kaithi}', "");
-Error('\p{Is_Sc=/a/Kthi}');
-Error('\P{Is_Sc=/a/Kthi}');
-Expect(1, 69825, '\p{Is_Sc=kthi}', "");
-Expect(0, 69825, '\p{^Is_Sc=kthi}', "");
-Expect(0, 69825, '\P{Is_Sc=kthi}', "");
-Expect(1, 69825, '\P{^Is_Sc=kthi}', "");
-Expect(0, 69759, '\p{Is_Sc=kthi}', "");
-Expect(1, 69759, '\p{^Is_Sc=kthi}', "");
-Expect(1, 69759, '\P{Is_Sc=kthi}', "");
-Expect(0, 69759, '\P{^Is_Sc=kthi}', "");
-Expect(1, 69825, '\p{Is_Sc=__kthi}', "");
-Expect(0, 69825, '\p{^Is_Sc=__kthi}', "");
-Expect(0, 69825, '\P{Is_Sc=__kthi}', "");
-Expect(1, 69825, '\P{^Is_Sc=__kthi}', "");
-Expect(0, 69759, '\p{Is_Sc=__kthi}', "");
-Expect(1, 69759, '\p{^Is_Sc=__kthi}', "");
-Expect(1, 69759, '\P{Is_Sc=__kthi}', "");
-Expect(0, 69759, '\P{^Is_Sc=__kthi}', "");
-Error('\p{Script: /a/ arabic}');
-Error('\P{Script: /a/ arabic}');
-Expect(1, 1547, '\p{Script=arabic}', "");
-Expect(0, 1547, '\p{^Script=arabic}', "");
-Expect(0, 1547, '\P{Script=arabic}', "");
-Expect(1, 1547, '\P{^Script=arabic}', "");
-Expect(0, 1541, '\p{Script=arabic}', "");
-Expect(1, 1541, '\p{^Script=arabic}', "");
-Expect(1, 1541, '\P{Script=arabic}', "");
-Expect(0, 1541, '\P{^Script=arabic}', "");
-Expect(1, 1547, '\p{Script=_ Arabic}', "");
-Expect(0, 1547, '\p{^Script=_ Arabic}', "");
-Expect(0, 1547, '\P{Script=_ Arabic}', "");
-Expect(1, 1547, '\P{^Script=_ Arabic}', "");
-Expect(0, 1541, '\p{Script=_ Arabic}', "");
-Expect(1, 1541, '\p{^Script=_ Arabic}', "");
-Expect(1, 1541, '\P{Script=_ Arabic}', "");
-Expect(0, 1541, '\P{^Script=_ Arabic}', "");
-Error('\p{Sc=:=_-ARAB}');
-Error('\P{Sc=:=_-ARAB}');
-Expect(1, 1547, '\p{Sc=arab}', "");
-Expect(0, 1547, '\p{^Sc=arab}', "");
-Expect(0, 1547, '\P{Sc=arab}', "");
-Expect(1, 1547, '\P{^Sc=arab}', "");
-Expect(0, 1541, '\p{Sc=arab}', "");
-Expect(1, 1541, '\p{^Sc=arab}', "");
-Expect(1, 1541, '\P{Sc=arab}', "");
-Expect(0, 1541, '\P{^Sc=arab}', "");
-Expect(1, 1547, '\p{Sc=--Arab}', "");
-Expect(0, 1547, '\p{^Sc=--Arab}', "");
-Expect(0, 1547, '\P{Sc=--Arab}', "");
-Expect(1, 1547, '\P{^Sc=--Arab}', "");
-Expect(0, 1541, '\p{Sc=--Arab}', "");
-Expect(1, 1541, '\p{^Sc=--Arab}', "");
-Expect(1, 1541, '\P{Sc=--Arab}', "");
-Expect(0, 1541, '\P{^Sc=--Arab}', "");
-Error('\p{Is_Script=_ Arabic:=}');
-Error('\P{Is_Script=_ Arabic:=}');
-Expect(1, 1547, '\p{Is_Script=arabic}', "");
-Expect(0, 1547, '\p{^Is_Script=arabic}', "");
-Expect(0, 1547, '\P{Is_Script=arabic}', "");
-Expect(1, 1547, '\P{^Is_Script=arabic}', "");
-Expect(0, 1541, '\p{Is_Script=arabic}', "");
-Expect(1, 1541, '\p{^Is_Script=arabic}', "");
-Expect(1, 1541, '\P{Is_Script=arabic}', "");
-Expect(0, 1541, '\P{^Is_Script=arabic}', "");
-Expect(1, 1547, '\p{Is_Script= _Arabic}', "");
-Expect(0, 1547, '\p{^Is_Script= _Arabic}', "");
-Expect(0, 1547, '\P{Is_Script= _Arabic}', "");
-Expect(1, 1547, '\P{^Is_Script= _Arabic}', "");
-Expect(0, 1541, '\p{Is_Script= _Arabic}', "");
-Expect(1, 1541, '\p{^Is_Script= _Arabic}', "");
-Expect(1, 1541, '\P{Is_Script= _Arabic}', "");
-Expect(0, 1541, '\P{^Is_Script= _Arabic}', "");
-Error('\p{Is_Sc=/a/_Arab}');
-Error('\P{Is_Sc=/a/_Arab}');
-Expect(1, 1547, '\p{Is_Sc=arab}', "");
-Expect(0, 1547, '\p{^Is_Sc=arab}', "");
-Expect(0, 1547, '\P{Is_Sc=arab}', "");
-Expect(1, 1547, '\P{^Is_Sc=arab}', "");
-Expect(0, 1541, '\p{Is_Sc=arab}', "");
-Expect(1, 1541, '\p{^Is_Sc=arab}', "");
-Expect(1, 1541, '\P{Is_Sc=arab}', "");
-Expect(0, 1541, '\P{^Is_Sc=arab}', "");
-Expect(1, 1547, '\p{Is_Sc=_ Arab}', "");
-Expect(0, 1547, '\p{^Is_Sc=_ Arab}', "");
-Expect(0, 1547, '\P{Is_Sc=_ Arab}', "");
-Expect(1, 1547, '\P{^Is_Sc=_ Arab}', "");
-Expect(0, 1541, '\p{Is_Sc=_ Arab}', "");
-Expect(1, 1541, '\p{^Is_Sc=_ Arab}', "");
-Expect(1, 1541, '\P{Is_Sc=_ Arab}', "");
-Expect(0, 1541, '\P{^Is_Sc=_ Arab}', "");
-Error('\p{Script= :=SHAVIAN}');
-Error('\P{Script= :=SHAVIAN}');
-Expect(1, 66687, '\p{Script=shavian}', "");
-Expect(0, 66687, '\p{^Script=shavian}', "");
-Expect(0, 66687, '\P{Script=shavian}', "");
-Expect(1, 66687, '\P{^Script=shavian}', "");
-Expect(0, 66639, '\p{Script=shavian}', "");
-Expect(1, 66639, '\p{^Script=shavian}', "");
-Expect(1, 66639, '\P{Script=shavian}', "");
-Expect(0, 66639, '\P{^Script=shavian}', "");
-Expect(1, 66687, '\p{Script= shavian}', "");
-Expect(0, 66687, '\p{^Script= shavian}', "");
-Expect(0, 66687, '\P{Script= shavian}', "");
-Expect(1, 66687, '\P{^Script= shavian}', "");
-Expect(0, 66639, '\p{Script= shavian}', "");
-Expect(1, 66639, '\p{^Script= shavian}', "");
-Expect(1, 66639, '\P{Script= shavian}', "");
-Expect(0, 66639, '\P{^Script= shavian}', "");
-Error('\p{Sc=-:=Shaw}');
-Error('\P{Sc=-:=Shaw}');
-Expect(1, 66687, '\p{Sc=shaw}', "");
-Expect(0, 66687, '\p{^Sc=shaw}', "");
-Expect(0, 66687, '\P{Sc=shaw}', "");
-Expect(1, 66687, '\P{^Sc=shaw}', "");
-Expect(0, 66639, '\p{Sc=shaw}', "");
-Expect(1, 66639, '\p{^Sc=shaw}', "");
-Expect(1, 66639, '\P{Sc=shaw}', "");
-Expect(0, 66639, '\P{^Sc=shaw}', "");
-Expect(1, 66687, '\p{Sc= -shaw}', "");
-Expect(0, 66687, '\p{^Sc= -shaw}', "");
-Expect(0, 66687, '\P{Sc= -shaw}', "");
-Expect(1, 66687, '\P{^Sc= -shaw}', "");
-Expect(0, 66639, '\p{Sc= -shaw}', "");
-Expect(1, 66639, '\p{^Sc= -shaw}', "");
-Expect(1, 66639, '\P{Sc= -shaw}', "");
-Expect(0, 66639, '\P{^Sc= -shaw}', "");
-Error('\p{Is_Script=/a/ _Shavian}');
-Error('\P{Is_Script=/a/ _Shavian}');
-Expect(1, 66687, '\p{Is_Script=shavian}', "");
-Expect(0, 66687, '\p{^Is_Script=shavian}', "");
-Expect(0, 66687, '\P{Is_Script=shavian}', "");
-Expect(1, 66687, '\P{^Is_Script=shavian}', "");
-Expect(0, 66639, '\p{Is_Script=shavian}', "");
-Expect(1, 66639, '\p{^Is_Script=shavian}', "");
-Expect(1, 66639, '\P{Is_Script=shavian}', "");
-Expect(0, 66639, '\P{^Is_Script=shavian}', "");
-Expect(1, 66687, '\p{Is_Script=_-SHAVIAN}', "");
-Expect(0, 66687, '\p{^Is_Script=_-SHAVIAN}', "");
-Expect(0, 66687, '\P{Is_Script=_-SHAVIAN}', "");
-Expect(1, 66687, '\P{^Is_Script=_-SHAVIAN}', "");
-Expect(0, 66639, '\p{Is_Script=_-SHAVIAN}', "");
-Expect(1, 66639, '\p{^Is_Script=_-SHAVIAN}', "");
-Expect(1, 66639, '\P{Is_Script=_-SHAVIAN}', "");
-Expect(0, 66639, '\P{^Is_Script=_-SHAVIAN}', "");
-Error('\p{Is_Sc=_/a/Shaw}');
-Error('\P{Is_Sc=_/a/Shaw}');
-Expect(1, 66687, '\p{Is_Sc=shaw}', "");
-Expect(0, 66687, '\p{^Is_Sc=shaw}', "");
-Expect(0, 66687, '\P{Is_Sc=shaw}', "");
-Expect(1, 66687, '\P{^Is_Sc=shaw}', "");
-Expect(0, 66639, '\p{Is_Sc=shaw}', "");
-Expect(1, 66639, '\p{^Is_Sc=shaw}', "");
-Expect(1, 66639, '\P{Is_Sc=shaw}', "");
-Expect(0, 66639, '\P{^Is_Sc=shaw}', "");
-Expect(1, 66687, '\p{Is_Sc= _SHAW}', "");
-Expect(0, 66687, '\p{^Is_Sc= _SHAW}', "");
-Expect(0, 66687, '\P{Is_Sc= _SHAW}', "");
-Expect(1, 66687, '\P{^Is_Sc= _SHAW}', "");
-Expect(0, 66639, '\p{Is_Sc= _SHAW}', "");
-Expect(1, 66639, '\p{^Is_Sc= _SHAW}', "");
-Expect(1, 66639, '\P{Is_Sc= _SHAW}', "");
-Expect(0, 66639, '\P{^Is_Sc= _SHAW}', "");
-Error('\p{Script: - CANADIAN ABORIGINAL/a/}');
-Error('\P{Script: - CANADIAN ABORIGINAL/a/}');
-Expect(1, 5759, '\p{Script: canadianaboriginal}', "");
-Expect(0, 5759, '\p{^Script: canadianaboriginal}', "");
-Expect(0, 5759, '\P{Script: canadianaboriginal}', "");
-Expect(1, 5759, '\P{^Script: canadianaboriginal}', "");
-Expect(0, 5119, '\p{Script: canadianaboriginal}', "");
-Expect(1, 5119, '\p{^Script: canadianaboriginal}', "");
-Expect(1, 5119, '\P{Script: canadianaboriginal}', "");
-Expect(0, 5119, '\P{^Script: canadianaboriginal}', "");
-Expect(1, 5759, '\p{Script=__CanadianAboriginal}', "");
-Expect(0, 5759, '\p{^Script=__CanadianAboriginal}', "");
-Expect(0, 5759, '\P{Script=__CanadianAboriginal}', "");
-Expect(1, 5759, '\P{^Script=__CanadianAboriginal}', "");
-Expect(0, 5119, '\p{Script=__CanadianAboriginal}', "");
-Expect(1, 5119, '\p{^Script=__CanadianAboriginal}', "");
-Expect(1, 5119, '\P{Script=__CanadianAboriginal}', "");
-Expect(0, 5119, '\P{^Script=__CanadianAboriginal}', "");
-Error('\p{Sc: /a/-CANS}');
-Error('\P{Sc: /a/-CANS}');
-Expect(1, 5759, '\p{Sc=cans}', "");
-Expect(0, 5759, '\p{^Sc=cans}', "");
-Expect(0, 5759, '\P{Sc=cans}', "");
-Expect(1, 5759, '\P{^Sc=cans}', "");
-Expect(0, 5119, '\p{Sc=cans}', "");
-Expect(1, 5119, '\p{^Sc=cans}', "");
-Expect(1, 5119, '\P{Sc=cans}', "");
-Expect(0, 5119, '\P{^Sc=cans}', "");
-Expect(1, 5759, '\p{Sc= cans}', "");
-Expect(0, 5759, '\p{^Sc= cans}', "");
-Expect(0, 5759, '\P{Sc= cans}', "");
-Expect(1, 5759, '\P{^Sc= cans}', "");
-Expect(0, 5119, '\p{Sc= cans}', "");
-Expect(1, 5119, '\p{^Sc= cans}', "");
-Expect(1, 5119, '\P{Sc= cans}', "");
-Expect(0, 5119, '\P{^Sc= cans}', "");
-Error('\p{Is_Script= Canadian_Aboriginal/a/}');
-Error('\P{Is_Script= Canadian_Aboriginal/a/}');
-Expect(1, 5759, '\p{Is_Script=canadianaboriginal}', "");
-Expect(0, 5759, '\p{^Is_Script=canadianaboriginal}', "");
-Expect(0, 5759, '\P{Is_Script=canadianaboriginal}', "");
-Expect(1, 5759, '\P{^Is_Script=canadianaboriginal}', "");
-Expect(0, 5119, '\p{Is_Script=canadianaboriginal}', "");
-Expect(1, 5119, '\p{^Is_Script=canadianaboriginal}', "");
-Expect(1, 5119, '\P{Is_Script=canadianaboriginal}', "");
-Expect(0, 5119, '\P{^Is_Script=canadianaboriginal}', "");
-Expect(1, 5759, '\p{Is_Script= -canadian_Aboriginal}', "");
-Expect(0, 5759, '\p{^Is_Script= -canadian_Aboriginal}', "");
-Expect(0, 5759, '\P{Is_Script= -canadian_Aboriginal}', "");
-Expect(1, 5759, '\P{^Is_Script= -canadian_Aboriginal}', "");
-Expect(0, 5119, '\p{Is_Script= -canadian_Aboriginal}', "");
-Expect(1, 5119, '\p{^Is_Script= -canadian_Aboriginal}', "");
-Expect(1, 5119, '\P{Is_Script= -canadian_Aboriginal}', "");
-Expect(0, 5119, '\P{^Is_Script= -canadian_Aboriginal}', "");
-Error('\p{Is_Sc=:= CANS}');
-Error('\P{Is_Sc=:= CANS}');
-Expect(1, 5759, '\p{Is_Sc=cans}', "");
-Expect(0, 5759, '\p{^Is_Sc=cans}', "");
-Expect(0, 5759, '\P{Is_Sc=cans}', "");
-Expect(1, 5759, '\P{^Is_Sc=cans}', "");
-Expect(0, 5119, '\p{Is_Sc=cans}', "");
-Expect(1, 5119, '\p{^Is_Sc=cans}', "");
-Expect(1, 5119, '\P{Is_Sc=cans}', "");
-Expect(0, 5119, '\P{^Is_Sc=cans}', "");
-Expect(1, 5759, '\p{Is_Sc=-Cans}', "");
-Expect(0, 5759, '\p{^Is_Sc=-Cans}', "");
-Expect(0, 5759, '\P{Is_Sc=-Cans}', "");
-Expect(1, 5759, '\P{^Is_Sc=-Cans}', "");
-Expect(0, 5119, '\p{Is_Sc=-Cans}', "");
-Expect(1, 5119, '\p{^Is_Sc=-Cans}', "");
-Expect(1, 5119, '\P{Is_Sc=-Cans}', "");
-Expect(0, 5119, '\P{^Is_Sc=-Cans}', "");
-Error('\p{Script=__Old:=South Arabian}');
-Error('\P{Script=__Old:=South Arabian}');
-Expect(1, 68223, '\p{Script: oldsoutharabian}', "");
-Expect(0, 68223, '\p{^Script: oldsoutharabian}', "");
-Expect(0, 68223, '\P{Script: oldsoutharabian}', "");
-Expect(1, 68223, '\P{^Script: oldsoutharabian}', "");
-Expect(0, 68191, '\p{Script: oldsoutharabian}', "");
-Expect(1, 68191, '\p{^Script: oldsoutharabian}', "");
-Expect(1, 68191, '\P{Script: oldsoutharabian}', "");
-Expect(0, 68191, '\P{^Script: oldsoutharabian}', "");
-Expect(1, 68223, '\p{Script=_ old-southarabian}', "");
-Expect(0, 68223, '\p{^Script=_ old-southarabian}', "");
-Expect(0, 68223, '\P{Script=_ old-southarabian}', "");
-Expect(1, 68223, '\P{^Script=_ old-southarabian}', "");
-Expect(0, 68191, '\p{Script=_ old-southarabian}', "");
-Expect(1, 68191, '\p{^Script=_ old-southarabian}', "");
-Expect(1, 68191, '\P{Script=_ old-southarabian}', "");
-Expect(0, 68191, '\P{^Script=_ old-southarabian}', "");
-Error('\p{Sc=__SARB/a/}');
-Error('\P{Sc=__SARB/a/}');
-Expect(1, 68223, '\p{Sc=sarb}', "");
-Expect(0, 68223, '\p{^Sc=sarb}', "");
-Expect(0, 68223, '\P{Sc=sarb}', "");
-Expect(1, 68223, '\P{^Sc=sarb}', "");
-Expect(0, 68191, '\p{Sc=sarb}', "");
-Expect(1, 68191, '\p{^Sc=sarb}', "");
-Expect(1, 68191, '\P{Sc=sarb}', "");
-Expect(0, 68191, '\P{^Sc=sarb}', "");
-Expect(1, 68223, '\p{Sc=_Sarb}', "");
-Expect(0, 68223, '\p{^Sc=_Sarb}', "");
-Expect(0, 68223, '\P{Sc=_Sarb}', "");
-Expect(1, 68223, '\P{^Sc=_Sarb}', "");
-Expect(0, 68191, '\p{Sc=_Sarb}', "");
-Expect(1, 68191, '\p{^Sc=_Sarb}', "");
-Expect(1, 68191, '\P{Sc=_Sarb}', "");
-Expect(0, 68191, '\P{^Sc=_Sarb}', "");
-Error('\p{Is_Script=/a/- old_South Arabian}');
-Error('\P{Is_Script=/a/- old_South Arabian}');
-Expect(1, 68223, '\p{Is_Script=oldsoutharabian}', "");
-Expect(0, 68223, '\p{^Is_Script=oldsoutharabian}', "");
-Expect(0, 68223, '\P{Is_Script=oldsoutharabian}', "");
-Expect(1, 68223, '\P{^Is_Script=oldsoutharabian}', "");
-Expect(0, 68191, '\p{Is_Script=oldsoutharabian}', "");
-Expect(1, 68191, '\p{^Is_Script=oldsoutharabian}', "");
-Expect(1, 68191, '\P{Is_Script=oldsoutharabian}', "");
-Expect(0, 68191, '\P{^Is_Script=oldsoutharabian}', "");
-Expect(1, 68223, '\p{Is_Script= Old South-Arabian}', "");
-Expect(0, 68223, '\p{^Is_Script= Old South-Arabian}', "");
-Expect(0, 68223, '\P{Is_Script= Old South-Arabian}', "");
-Expect(1, 68223, '\P{^Is_Script= Old South-Arabian}', "");
-Expect(0, 68191, '\p{Is_Script= Old South-Arabian}', "");
-Expect(1, 68191, '\p{^Is_Script= Old South-Arabian}', "");
-Expect(1, 68191, '\P{Is_Script= Old South-Arabian}', "");
-Expect(0, 68191, '\P{^Is_Script= Old South-Arabian}', "");
-Error('\p{Is_Sc= -Sarb/a/}');
-Error('\P{Is_Sc= -Sarb/a/}');
-Expect(1, 68223, '\p{Is_Sc=sarb}', "");
-Expect(0, 68223, '\p{^Is_Sc=sarb}', "");
-Expect(0, 68223, '\P{Is_Sc=sarb}', "");
-Expect(1, 68223, '\P{^Is_Sc=sarb}', "");
-Expect(0, 68191, '\p{Is_Sc=sarb}', "");
-Expect(1, 68191, '\p{^Is_Sc=sarb}', "");
-Expect(1, 68191, '\P{Is_Sc=sarb}', "");
-Expect(0, 68191, '\P{^Is_Sc=sarb}', "");
-Expect(1, 68223, '\p{Is_Sc= Sarb}', "");
-Expect(0, 68223, '\p{^Is_Sc= Sarb}', "");
-Expect(0, 68223, '\P{Is_Sc= Sarb}', "");
-Expect(1, 68223, '\P{^Is_Sc= Sarb}', "");
-Expect(0, 68191, '\p{Is_Sc= Sarb}', "");
-Expect(1, 68191, '\p{^Is_Sc= Sarb}', "");
-Expect(1, 68191, '\P{Is_Sc= Sarb}', "");
-Expect(0, 68191, '\P{^Is_Sc= Sarb}', "");
-Error('\p{Script=-:=Lydian}');
-Error('\P{Script=-:=Lydian}');
-Expect(1, 67897, '\p{Script: lydian}', "");
-Expect(0, 67897, '\p{^Script: lydian}', "");
-Expect(0, 67897, '\P{Script: lydian}', "");
-Expect(1, 67897, '\P{^Script: lydian}', "");
-Expect(0, 67871, '\p{Script: lydian}', "");
-Expect(1, 67871, '\p{^Script: lydian}', "");
-Expect(1, 67871, '\P{Script: lydian}', "");
-Expect(0, 67871, '\P{^Script: lydian}', "");
-Expect(1, 67897, '\p{Script=--Lydian}', "");
-Expect(0, 67897, '\p{^Script=--Lydian}', "");
-Expect(0, 67897, '\P{Script=--Lydian}', "");
-Expect(1, 67897, '\P{^Script=--Lydian}', "");
-Expect(0, 67871, '\p{Script=--Lydian}', "");
-Expect(1, 67871, '\p{^Script=--Lydian}', "");
-Expect(1, 67871, '\P{Script=--Lydian}', "");
-Expect(0, 67871, '\P{^Script=--Lydian}', "");
-Error('\p{Sc=/a/ LYDI}');
-Error('\P{Sc=/a/ LYDI}');
-Expect(1, 67897, '\p{Sc=lydi}', "");
-Expect(0, 67897, '\p{^Sc=lydi}', "");
-Expect(0, 67897, '\P{Sc=lydi}', "");
-Expect(1, 67897, '\P{^Sc=lydi}', "");
-Expect(0, 67871, '\p{Sc=lydi}', "");
-Expect(1, 67871, '\p{^Sc=lydi}', "");
-Expect(1, 67871, '\P{Sc=lydi}', "");
-Expect(0, 67871, '\P{^Sc=lydi}', "");
-Expect(1, 67897, '\p{Sc=-Lydi}', "");
-Expect(0, 67897, '\p{^Sc=-Lydi}', "");
-Expect(0, 67897, '\P{Sc=-Lydi}', "");
-Expect(1, 67897, '\P{^Sc=-Lydi}', "");
-Expect(0, 67871, '\p{Sc=-Lydi}', "");
-Expect(1, 67871, '\p{^Sc=-Lydi}', "");
-Expect(1, 67871, '\P{Sc=-Lydi}', "");
-Expect(0, 67871, '\P{^Sc=-Lydi}', "");
-Error('\p{Is_Script=_/a/lydian}');
-Error('\P{Is_Script=_/a/lydian}');
-Expect(1, 67897, '\p{Is_Script=lydian}', "");
-Expect(0, 67897, '\p{^Is_Script=lydian}', "");
-Expect(0, 67897, '\P{Is_Script=lydian}', "");
-Expect(1, 67897, '\P{^Is_Script=lydian}', "");
-Expect(0, 67871, '\p{Is_Script=lydian}', "");
-Expect(1, 67871, '\p{^Is_Script=lydian}', "");
-Expect(1, 67871, '\P{Is_Script=lydian}', "");
-Expect(0, 67871, '\P{^Is_Script=lydian}', "");
-Expect(1, 67897, '\p{Is_Script= LYDIAN}', "");
-Expect(0, 67897, '\p{^Is_Script= LYDIAN}', "");
-Expect(0, 67897, '\P{Is_Script= LYDIAN}', "");
-Expect(1, 67897, '\P{^Is_Script= LYDIAN}', "");
-Expect(0, 67871, '\p{Is_Script= LYDIAN}', "");
-Expect(1, 67871, '\p{^Is_Script= LYDIAN}', "");
-Expect(1, 67871, '\P{Is_Script= LYDIAN}', "");
-Expect(0, 67871, '\P{^Is_Script= LYDIAN}', "");
-Error('\p{Is_Sc=-:=Lydi}');
-Error('\P{Is_Sc=-:=Lydi}');
-Expect(1, 67897, '\p{Is_Sc=lydi}', "");
-Expect(0, 67897, '\p{^Is_Sc=lydi}', "");
-Expect(0, 67897, '\P{Is_Sc=lydi}', "");
-Expect(1, 67897, '\P{^Is_Sc=lydi}', "");
-Expect(0, 67871, '\p{Is_Sc=lydi}', "");
-Expect(1, 67871, '\p{^Is_Sc=lydi}', "");
-Expect(1, 67871, '\P{Is_Sc=lydi}', "");
-Expect(0, 67871, '\P{^Is_Sc=lydi}', "");
-Expect(1, 67897, '\p{Is_Sc= lydi}', "");
-Expect(0, 67897, '\p{^Is_Sc= lydi}', "");
-Expect(0, 67897, '\P{Is_Sc= lydi}', "");
-Expect(1, 67897, '\P{^Is_Sc= lydi}', "");
-Expect(0, 67871, '\p{Is_Sc= lydi}', "");
-Expect(1, 67871, '\p{^Is_Sc= lydi}', "");
-Expect(1, 67871, '\P{Is_Sc= lydi}', "");
-Expect(0, 67871, '\P{^Is_Sc= lydi}', "");
-Error('\p{Script=/a/ Mongolian}');
-Error('\P{Script=/a/ Mongolian}');
-Expect(1, 6145, '\p{Script=mongolian}', "");
-Expect(0, 6145, '\p{^Script=mongolian}', "");
-Expect(0, 6145, '\P{Script=mongolian}', "");
-Expect(1, 6145, '\P{^Script=mongolian}', "");
-Expect(0, 6143, '\p{Script=mongolian}', "");
-Expect(1, 6143, '\p{^Script=mongolian}', "");
-Expect(1, 6143, '\P{Script=mongolian}', "");
-Expect(0, 6143, '\P{^Script=mongolian}', "");
-Expect(1, 6145, '\p{Script: MONGOLIAN}', "");
-Expect(0, 6145, '\p{^Script: MONGOLIAN}', "");
-Expect(0, 6145, '\P{Script: MONGOLIAN}', "");
-Expect(1, 6145, '\P{^Script: MONGOLIAN}', "");
-Expect(0, 6143, '\p{Script: MONGOLIAN}', "");
-Expect(1, 6143, '\p{^Script: MONGOLIAN}', "");
-Expect(1, 6143, '\P{Script: MONGOLIAN}', "");
-Expect(0, 6143, '\P{^Script: MONGOLIAN}', "");
-Error('\p{Sc=/a/Mong}');
-Error('\P{Sc=/a/Mong}');
-Expect(1, 6145, '\p{Sc: mong}', "");
-Expect(0, 6145, '\p{^Sc: mong}', "");
-Expect(0, 6145, '\P{Sc: mong}', "");
-Expect(1, 6145, '\P{^Sc: mong}', "");
-Expect(0, 6143, '\p{Sc: mong}', "");
-Expect(1, 6143, '\p{^Sc: mong}', "");
-Expect(1, 6143, '\P{Sc: mong}', "");
-Expect(0, 6143, '\P{^Sc: mong}', "");
-Expect(1, 6145, '\p{Sc= _Mong}', "");
-Expect(0, 6145, '\p{^Sc= _Mong}', "");
-Expect(0, 6145, '\P{Sc= _Mong}', "");
-Expect(1, 6145, '\P{^Sc= _Mong}', "");
-Expect(0, 6143, '\p{Sc= _Mong}', "");
-Expect(1, 6143, '\p{^Sc= _Mong}', "");
-Expect(1, 6143, '\P{Sc= _Mong}', "");
-Expect(0, 6143, '\P{^Sc= _Mong}', "");
-Error('\p{Is_Script=/a/ Mongolian}');
-Error('\P{Is_Script=/a/ Mongolian}');
-Expect(1, 6145, '\p{Is_Script=mongolian}', "");
-Expect(0, 6145, '\p{^Is_Script=mongolian}', "");
-Expect(0, 6145, '\P{Is_Script=mongolian}', "");
-Expect(1, 6145, '\P{^Is_Script=mongolian}', "");
-Expect(0, 6143, '\p{Is_Script=mongolian}', "");
-Expect(1, 6143, '\p{^Is_Script=mongolian}', "");
-Expect(1, 6143, '\P{Is_Script=mongolian}', "");
-Expect(0, 6143, '\P{^Is_Script=mongolian}', "");
-Expect(1, 6145, '\p{Is_Script=--MONGOLIAN}', "");
-Expect(0, 6145, '\p{^Is_Script=--MONGOLIAN}', "");
-Expect(0, 6145, '\P{Is_Script=--MONGOLIAN}', "");
-Expect(1, 6145, '\P{^Is_Script=--MONGOLIAN}', "");
-Expect(0, 6143, '\p{Is_Script=--MONGOLIAN}', "");
-Expect(1, 6143, '\p{^Is_Script=--MONGOLIAN}', "");
-Expect(1, 6143, '\P{Is_Script=--MONGOLIAN}', "");
-Expect(0, 6143, '\P{^Is_Script=--MONGOLIAN}', "");
-Error('\p{Is_Sc=/a/_ MONG}');
-Error('\P{Is_Sc=/a/_ MONG}');
-Expect(1, 6145, '\p{Is_Sc=mong}', "");
-Expect(0, 6145, '\p{^Is_Sc=mong}', "");
-Expect(0, 6145, '\P{Is_Sc=mong}', "");
-Expect(1, 6145, '\P{^Is_Sc=mong}', "");
-Expect(0, 6143, '\p{Is_Sc=mong}', "");
-Expect(1, 6143, '\p{^Is_Sc=mong}', "");
-Expect(1, 6143, '\P{Is_Sc=mong}', "");
-Expect(0, 6143, '\P{^Is_Sc=mong}', "");
-Expect(1, 6145, '\p{Is_Sc=--MONG}', "");
-Expect(0, 6145, '\p{^Is_Sc=--MONG}', "");
-Expect(0, 6145, '\P{Is_Sc=--MONG}', "");
-Expect(1, 6145, '\P{^Is_Sc=--MONG}', "");
-Expect(0, 6143, '\p{Is_Sc=--MONG}', "");
-Expect(1, 6143, '\p{^Is_Sc=--MONG}', "");
-Expect(1, 6143, '\P{Is_Sc=--MONG}', "");
-Expect(0, 6143, '\P{^Is_Sc=--MONG}', "");
-Error('\p{Script: -Lao/a/}');
-Error('\P{Script: -Lao/a/}');
-Expect(1, 3714, '\p{Script=lao}', "");
-Expect(0, 3714, '\p{^Script=lao}', "");
-Expect(0, 3714, '\P{Script=lao}', "");
-Expect(1, 3714, '\P{^Script=lao}', "");
-Expect(0, 3712, '\p{Script=lao}', "");
-Expect(1, 3712, '\p{^Script=lao}', "");
-Expect(1, 3712, '\P{Script=lao}', "");
-Expect(0, 3712, '\P{^Script=lao}', "");
-Expect(1, 3714, '\p{Script= _Lao}', "");
-Expect(0, 3714, '\p{^Script= _Lao}', "");
-Expect(0, 3714, '\P{Script= _Lao}', "");
-Expect(1, 3714, '\P{^Script= _Lao}', "");
-Expect(0, 3712, '\p{Script= _Lao}', "");
-Expect(1, 3712, '\p{^Script= _Lao}', "");
-Expect(1, 3712, '\P{Script= _Lao}', "");
-Expect(0, 3712, '\P{^Script= _Lao}', "");
-Error('\p{Sc=:=_LAOO}');
-Error('\P{Sc=:=_LAOO}');
-Expect(1, 3714, '\p{Sc=laoo}', "");
-Expect(0, 3714, '\p{^Sc=laoo}', "");
-Expect(0, 3714, '\P{Sc=laoo}', "");
-Expect(1, 3714, '\P{^Sc=laoo}', "");
-Expect(0, 3712, '\p{Sc=laoo}', "");
-Expect(1, 3712, '\p{^Sc=laoo}', "");
-Expect(1, 3712, '\P{Sc=laoo}', "");
-Expect(0, 3712, '\P{^Sc=laoo}', "");
-Expect(1, 3714, '\p{Sc= -Laoo}', "");
-Expect(0, 3714, '\p{^Sc= -Laoo}', "");
-Expect(0, 3714, '\P{Sc= -Laoo}', "");
-Expect(1, 3714, '\P{^Sc= -Laoo}', "");
-Expect(0, 3712, '\p{Sc= -Laoo}', "");
-Expect(1, 3712, '\p{^Sc= -Laoo}', "");
-Expect(1, 3712, '\P{Sc= -Laoo}', "");
-Expect(0, 3712, '\P{^Sc= -Laoo}', "");
-Error('\p{Is_Script=/a/_-lao}');
-Error('\P{Is_Script=/a/_-lao}');
-Expect(1, 3714, '\p{Is_Script=lao}', "");
-Expect(0, 3714, '\p{^Is_Script=lao}', "");
-Expect(0, 3714, '\P{Is_Script=lao}', "");
-Expect(1, 3714, '\P{^Is_Script=lao}', "");
-Expect(0, 3712, '\p{Is_Script=lao}', "");
-Expect(1, 3712, '\p{^Is_Script=lao}', "");
-Expect(1, 3712, '\P{Is_Script=lao}', "");
-Expect(0, 3712, '\P{^Is_Script=lao}', "");
-Expect(1, 3714, '\p{Is_Script=--LAO}', "");
-Expect(0, 3714, '\p{^Is_Script=--LAO}', "");
-Expect(0, 3714, '\P{Is_Script=--LAO}', "");
-Expect(1, 3714, '\P{^Is_Script=--LAO}', "");
-Expect(0, 3712, '\p{Is_Script=--LAO}', "");
-Expect(1, 3712, '\p{^Is_Script=--LAO}', "");
-Expect(1, 3712, '\P{Is_Script=--LAO}', "");
-Expect(0, 3712, '\P{^Is_Script=--LAO}', "");
-Error('\p{Is_Sc= Laoo/a/}');
-Error('\P{Is_Sc= Laoo/a/}');
-Expect(1, 3714, '\p{Is_Sc=laoo}', "");
-Expect(0, 3714, '\p{^Is_Sc=laoo}', "");
-Expect(0, 3714, '\P{Is_Sc=laoo}', "");
-Expect(1, 3714, '\P{^Is_Sc=laoo}', "");
-Expect(0, 3712, '\p{Is_Sc=laoo}', "");
-Expect(1, 3712, '\p{^Is_Sc=laoo}', "");
-Expect(1, 3712, '\P{Is_Sc=laoo}', "");
-Expect(0, 3712, '\P{^Is_Sc=laoo}', "");
-Expect(1, 3714, '\p{Is_Sc= Laoo}', "");
-Expect(0, 3714, '\p{^Is_Sc= Laoo}', "");
-Expect(0, 3714, '\P{Is_Sc= Laoo}', "");
-Expect(1, 3714, '\P{^Is_Sc= Laoo}', "");
-Expect(0, 3712, '\p{Is_Sc= Laoo}', "");
-Expect(1, 3712, '\p{^Is_Sc= Laoo}', "");
-Expect(1, 3712, '\P{Is_Sc= Laoo}', "");
-Expect(0, 3712, '\P{^Is_Sc= Laoo}', "");
-Error('\p{Script= :=CYRILLIC}');
-Error('\P{Script= :=CYRILLIC}');
-Expect(1, 1156, '\p{Script=cyrillic}', "");
-Expect(0, 1156, '\p{^Script=cyrillic}', "");
-Expect(0, 1156, '\P{Script=cyrillic}', "");
-Expect(1, 1156, '\P{^Script=cyrillic}', "");
-Expect(0, 1023, '\p{Script=cyrillic}', "");
-Expect(1, 1023, '\p{^Script=cyrillic}', "");
-Expect(1, 1023, '\P{Script=cyrillic}', "");
-Expect(0, 1023, '\P{^Script=cyrillic}', "");
-Expect(1, 1156, '\p{Script=- Cyrillic}', "");
-Expect(0, 1156, '\p{^Script=- Cyrillic}', "");
-Expect(0, 1156, '\P{Script=- Cyrillic}', "");
-Expect(1, 1156, '\P{^Script=- Cyrillic}', "");
-Expect(0, 1023, '\p{Script=- Cyrillic}', "");
-Expect(1, 1023, '\p{^Script=- Cyrillic}', "");
-Expect(1, 1023, '\P{Script=- Cyrillic}', "");
-Expect(0, 1023, '\P{^Script=- Cyrillic}', "");
-Error('\p{Sc=__Cyrl:=}');
-Error('\P{Sc=__Cyrl:=}');
-Expect(1, 1156, '\p{Sc: cyrl}', "");
-Expect(0, 1156, '\p{^Sc: cyrl}', "");
-Expect(0, 1156, '\P{Sc: cyrl}', "");
-Expect(1, 1156, '\P{^Sc: cyrl}', "");
-Expect(0, 1023, '\p{Sc: cyrl}', "");
-Expect(1, 1023, '\p{^Sc: cyrl}', "");
-Expect(1, 1023, '\P{Sc: cyrl}', "");
-Expect(0, 1023, '\P{^Sc: cyrl}', "");
-Expect(1, 1156, '\p{Sc=Cyrl}', "");
-Expect(0, 1156, '\p{^Sc=Cyrl}', "");
-Expect(0, 1156, '\P{Sc=Cyrl}', "");
-Expect(1, 1156, '\P{^Sc=Cyrl}', "");
-Expect(0, 1023, '\p{Sc=Cyrl}', "");
-Expect(1, 1023, '\p{^Sc=Cyrl}', "");
-Expect(1, 1023, '\P{Sc=Cyrl}', "");
-Expect(0, 1023, '\P{^Sc=Cyrl}', "");
-Error('\p{Is_Script=:=--Cyrillic}');
-Error('\P{Is_Script=:=--Cyrillic}');
-Expect(1, 1156, '\p{Is_Script=cyrillic}', "");
-Expect(0, 1156, '\p{^Is_Script=cyrillic}', "");
-Expect(0, 1156, '\P{Is_Script=cyrillic}', "");
-Expect(1, 1156, '\P{^Is_Script=cyrillic}', "");
-Expect(0, 1023, '\p{Is_Script=cyrillic}', "");
-Expect(1, 1023, '\p{^Is_Script=cyrillic}', "");
-Expect(1, 1023, '\P{Is_Script=cyrillic}', "");
-Expect(0, 1023, '\P{^Is_Script=cyrillic}', "");
-Expect(1, 1156, '\p{Is_Script= CYRILLIC}', "");
-Expect(0, 1156, '\p{^Is_Script= CYRILLIC}', "");
-Expect(0, 1156, '\P{Is_Script= CYRILLIC}', "");
-Expect(1, 1156, '\P{^Is_Script= CYRILLIC}', "");
-Expect(0, 1023, '\p{Is_Script= CYRILLIC}', "");
-Expect(1, 1023, '\p{^Is_Script= CYRILLIC}', "");
-Expect(1, 1023, '\P{Is_Script= CYRILLIC}', "");
-Expect(0, 1023, '\P{^Is_Script= CYRILLIC}', "");
-Error('\p{Is_Sc= Cyrl:=}');
-Error('\P{Is_Sc= Cyrl:=}');
-Expect(1, 1156, '\p{Is_Sc=cyrl}', "");
-Expect(0, 1156, '\p{^Is_Sc=cyrl}', "");
-Expect(0, 1156, '\P{Is_Sc=cyrl}', "");
-Expect(1, 1156, '\P{^Is_Sc=cyrl}', "");
-Expect(0, 1023, '\p{Is_Sc=cyrl}', "");
-Expect(1, 1023, '\p{^Is_Sc=cyrl}', "");
-Expect(1, 1023, '\P{Is_Sc=cyrl}', "");
-Expect(0, 1023, '\P{^Is_Sc=cyrl}', "");
-Expect(1, 1156, '\p{Is_Sc=- CYRL}', "");
-Expect(0, 1156, '\p{^Is_Sc=- CYRL}', "");
-Expect(0, 1156, '\P{Is_Sc=- CYRL}', "");
-Expect(1, 1156, '\P{^Is_Sc=- CYRL}', "");
-Expect(0, 1023, '\p{Is_Sc=- CYRL}', "");
-Expect(1, 1023, '\p{^Is_Sc=- CYRL}', "");
-Expect(1, 1023, '\P{Is_Sc=- CYRL}', "");
-Expect(0, 1023, '\P{^Is_Sc=- CYRL}', "");
-Error('\p{Script=/a/ Hiragana}');
-Error('\P{Script=/a/ Hiragana}');
-Expect(1, 12438, '\p{Script: hiragana}', "");
-Expect(0, 12438, '\p{^Script: hiragana}', "");
-Expect(0, 12438, '\P{Script: hiragana}', "");
-Expect(1, 12438, '\P{^Script: hiragana}', "");
-Expect(0, 12352, '\p{Script: hiragana}', "");
-Expect(1, 12352, '\p{^Script: hiragana}', "");
-Expect(1, 12352, '\P{Script: hiragana}', "");
-Expect(0, 12352, '\P{^Script: hiragana}', "");
-Expect(1, 12438, '\p{Script=_ Hiragana}', "");
-Expect(0, 12438, '\p{^Script=_ Hiragana}', "");
-Expect(0, 12438, '\P{Script=_ Hiragana}', "");
-Expect(1, 12438, '\P{^Script=_ Hiragana}', "");
-Expect(0, 12352, '\p{Script=_ Hiragana}', "");
-Expect(1, 12352, '\p{^Script=_ Hiragana}', "");
-Expect(1, 12352, '\P{Script=_ Hiragana}', "");
-Expect(0, 12352, '\P{^Script=_ Hiragana}', "");
-Error('\p{Sc=_-hira/a/}');
-Error('\P{Sc=_-hira/a/}');
-Expect(1, 12438, '\p{Sc=hira}', "");
-Expect(0, 12438, '\p{^Sc=hira}', "");
-Expect(0, 12438, '\P{Sc=hira}', "");
-Expect(1, 12438, '\P{^Sc=hira}', "");
-Expect(0, 12352, '\p{Sc=hira}', "");
-Expect(1, 12352, '\p{^Sc=hira}', "");
-Expect(1, 12352, '\P{Sc=hira}', "");
-Expect(0, 12352, '\P{^Sc=hira}', "");
-Expect(1, 12438, '\p{Sc= -Hira}', "");
-Expect(0, 12438, '\p{^Sc= -Hira}', "");
-Expect(0, 12438, '\P{Sc= -Hira}', "");
-Expect(1, 12438, '\P{^Sc= -Hira}', "");
-Expect(0, 12352, '\p{Sc= -Hira}', "");
-Expect(1, 12352, '\p{^Sc= -Hira}', "");
-Expect(1, 12352, '\P{Sc= -Hira}', "");
-Expect(0, 12352, '\P{^Sc= -Hira}', "");
-Error('\p{Is_Script: --HIRAGANA/a/}');
-Error('\P{Is_Script: --HIRAGANA/a/}');
-Expect(1, 12438, '\p{Is_Script=hiragana}', "");
-Expect(0, 12438, '\p{^Is_Script=hiragana}', "");
-Expect(0, 12438, '\P{Is_Script=hiragana}', "");
-Expect(1, 12438, '\P{^Is_Script=hiragana}', "");
-Expect(0, 12352, '\p{Is_Script=hiragana}', "");
-Expect(1, 12352, '\p{^Is_Script=hiragana}', "");
-Expect(1, 12352, '\P{Is_Script=hiragana}', "");
-Expect(0, 12352, '\P{^Is_Script=hiragana}', "");
-Expect(1, 12438, '\p{Is_Script=__HIRAGANA}', "");
-Expect(0, 12438, '\p{^Is_Script=__HIRAGANA}', "");
-Expect(0, 12438, '\P{Is_Script=__HIRAGANA}', "");
-Expect(1, 12438, '\P{^Is_Script=__HIRAGANA}', "");
-Expect(0, 12352, '\p{Is_Script=__HIRAGANA}', "");
-Expect(1, 12352, '\p{^Is_Script=__HIRAGANA}', "");
-Expect(1, 12352, '\P{Is_Script=__HIRAGANA}', "");
-Expect(0, 12352, '\P{^Is_Script=__HIRAGANA}', "");
-Error('\p{Is_Sc=-_HIRA:=}');
-Error('\P{Is_Sc=-_HIRA:=}');
-Expect(1, 12438, '\p{Is_Sc=hira}', "");
-Expect(0, 12438, '\p{^Is_Sc=hira}', "");
-Expect(0, 12438, '\P{Is_Sc=hira}', "");
-Expect(1, 12438, '\P{^Is_Sc=hira}', "");
-Expect(0, 12352, '\p{Is_Sc=hira}', "");
-Expect(1, 12352, '\p{^Is_Sc=hira}', "");
-Expect(1, 12352, '\P{Is_Sc=hira}', "");
-Expect(0, 12352, '\P{^Is_Sc=hira}', "");
-Expect(1, 12438, '\p{Is_Sc: _ HIRA}', "");
-Expect(0, 12438, '\p{^Is_Sc: _ HIRA}', "");
-Expect(0, 12438, '\P{Is_Sc: _ HIRA}', "");
-Expect(1, 12438, '\P{^Is_Sc: _ HIRA}', "");
-Expect(0, 12352, '\p{Is_Sc: _ HIRA}', "");
-Expect(1, 12352, '\p{^Is_Sc: _ HIRA}', "");
-Expect(1, 12352, '\P{Is_Sc: _ HIRA}', "");
-Expect(0, 12352, '\P{^Is_Sc: _ HIRA}', "");
-Error('\p{Script= :=BENGALI}');
-Error('\P{Script= :=BENGALI}');
-Expect(1, 2435, '\p{Script: bengali}', "");
-Expect(0, 2435, '\p{^Script: bengali}', "");
-Expect(0, 2435, '\P{Script: bengali}', "");
-Expect(1, 2435, '\P{^Script: bengali}', "");
-Expect(0, 2432, '\p{Script: bengali}', "");
-Expect(1, 2432, '\p{^Script: bengali}', "");
-Expect(1, 2432, '\P{Script: bengali}', "");
-Expect(0, 2432, '\P{^Script: bengali}', "");
-Expect(1, 2435, '\p{Script= bengali}', "");
-Expect(0, 2435, '\p{^Script= bengali}', "");
-Expect(0, 2435, '\P{Script= bengali}', "");
-Expect(1, 2435, '\P{^Script= bengali}', "");
-Expect(0, 2432, '\p{Script= bengali}', "");
-Expect(1, 2432, '\p{^Script= bengali}', "");
-Expect(1, 2432, '\P{Script= bengali}', "");
-Expect(0, 2432, '\P{^Script= bengali}', "");
-Error('\p{Sc=:=_Beng}');
-Error('\P{Sc=:=_Beng}');
-Expect(1, 2435, '\p{Sc=beng}', "");
-Expect(0, 2435, '\p{^Sc=beng}', "");
-Expect(0, 2435, '\P{Sc=beng}', "");
-Expect(1, 2435, '\P{^Sc=beng}', "");
-Expect(0, 2432, '\p{Sc=beng}', "");
-Expect(1, 2432, '\p{^Sc=beng}', "");
-Expect(1, 2432, '\P{Sc=beng}', "");
-Expect(0, 2432, '\P{^Sc=beng}', "");
-Expect(1, 2435, '\p{Sc= Beng}', "");
-Expect(0, 2435, '\p{^Sc= Beng}', "");
-Expect(0, 2435, '\P{Sc= Beng}', "");
-Expect(1, 2435, '\P{^Sc= Beng}', "");
-Expect(0, 2432, '\p{Sc= Beng}', "");
-Expect(1, 2432, '\p{^Sc= Beng}', "");
-Expect(1, 2432, '\P{Sc= Beng}', "");
-Expect(0, 2432, '\P{^Sc= Beng}', "");
-Error('\p{Is_Script=_/a/BENGALI}');
-Error('\P{Is_Script=_/a/BENGALI}');
-Expect(1, 2435, '\p{Is_Script=bengali}', "");
-Expect(0, 2435, '\p{^Is_Script=bengali}', "");
-Expect(0, 2435, '\P{Is_Script=bengali}', "");
-Expect(1, 2435, '\P{^Is_Script=bengali}', "");
-Expect(0, 2432, '\p{Is_Script=bengali}', "");
-Expect(1, 2432, '\p{^Is_Script=bengali}', "");
-Expect(1, 2432, '\P{Is_Script=bengali}', "");
-Expect(0, 2432, '\P{^Is_Script=bengali}', "");
-Expect(1, 2435, '\p{Is_Script= _Bengali}', "");
-Expect(0, 2435, '\p{^Is_Script= _Bengali}', "");
-Expect(0, 2435, '\P{Is_Script= _Bengali}', "");
-Expect(1, 2435, '\P{^Is_Script= _Bengali}', "");
-Expect(0, 2432, '\p{Is_Script= _Bengali}', "");
-Expect(1, 2432, '\p{^Is_Script= _Bengali}', "");
-Expect(1, 2432, '\P{Is_Script= _Bengali}', "");
-Expect(0, 2432, '\P{^Is_Script= _Bengali}', "");
-Error('\p{Is_Sc=_beng:=}');
-Error('\P{Is_Sc=_beng:=}');
-Expect(1, 2435, '\p{Is_Sc=beng}', "");
-Expect(0, 2435, '\p{^Is_Sc=beng}', "");
-Expect(0, 2435, '\P{Is_Sc=beng}', "");
-Expect(1, 2435, '\P{^Is_Sc=beng}', "");
-Expect(0, 2432, '\p{Is_Sc=beng}', "");
-Expect(1, 2432, '\p{^Is_Sc=beng}', "");
-Expect(1, 2432, '\P{Is_Sc=beng}', "");
-Expect(0, 2432, '\P{^Is_Sc=beng}', "");
-Expect(1, 2435, '\p{Is_Sc: BENG}', "");
-Expect(0, 2435, '\p{^Is_Sc: BENG}', "");
-Expect(0, 2435, '\P{Is_Sc: BENG}', "");
-Expect(1, 2435, '\P{^Is_Sc: BENG}', "");
-Expect(0, 2432, '\p{Is_Sc: BENG}', "");
-Expect(1, 2432, '\p{^Is_Sc: BENG}', "");
-Expect(1, 2432, '\P{Is_Sc: BENG}', "");
-Expect(0, 2432, '\P{^Is_Sc: BENG}', "");
-Error('\p{Script=_ braille/a/}');
-Error('\P{Script=_ braille/a/}');
-Expect(1, 10495, '\p{Script: braille}', "");
-Expect(0, 10495, '\p{^Script: braille}', "");
-Expect(0, 10495, '\P{Script: braille}', "");
-Expect(1, 10495, '\P{^Script: braille}', "");
-Expect(0, 10239, '\p{Script: braille}', "");
-Expect(1, 10239, '\p{^Script: braille}', "");
-Expect(1, 10239, '\P{Script: braille}', "");
-Expect(0, 10239, '\P{^Script: braille}', "");
-Expect(1, 10495, '\p{Script: braille}', "");
-Expect(0, 10495, '\p{^Script: braille}', "");
-Expect(0, 10495, '\P{Script: braille}', "");
-Expect(1, 10495, '\P{^Script: braille}', "");
-Expect(0, 10239, '\p{Script: braille}', "");
-Expect(1, 10239, '\p{^Script: braille}', "");
-Expect(1, 10239, '\P{Script: braille}', "");
-Expect(0, 10239, '\P{^Script: braille}', "");
-Error('\p{Sc=_brai/a/}');
-Error('\P{Sc=_brai/a/}');
-Expect(1, 10495, '\p{Sc=brai}', "");
-Expect(0, 10495, '\p{^Sc=brai}', "");
-Expect(0, 10495, '\P{Sc=brai}', "");
-Expect(1, 10495, '\P{^Sc=brai}', "");
-Expect(0, 10239, '\p{Sc=brai}', "");
-Expect(1, 10239, '\p{^Sc=brai}', "");
-Expect(1, 10239, '\P{Sc=brai}', "");
-Expect(0, 10239, '\P{^Sc=brai}', "");
-Expect(1, 10495, '\p{Sc=__BRAI}', "");
-Expect(0, 10495, '\p{^Sc=__BRAI}', "");
-Expect(0, 10495, '\P{Sc=__BRAI}', "");
-Expect(1, 10495, '\P{^Sc=__BRAI}', "");
-Expect(0, 10239, '\p{Sc=__BRAI}', "");
-Expect(1, 10239, '\p{^Sc=__BRAI}', "");
-Expect(1, 10239, '\P{Sc=__BRAI}', "");
-Expect(0, 10239, '\P{^Sc=__BRAI}', "");
-Error('\p{Is_Script=braille:=}');
-Error('\P{Is_Script=braille:=}');
-Expect(1, 10495, '\p{Is_Script=braille}', "");
-Expect(0, 10495, '\p{^Is_Script=braille}', "");
-Expect(0, 10495, '\P{Is_Script=braille}', "");
-Expect(1, 10495, '\P{^Is_Script=braille}', "");
-Expect(0, 10239, '\p{Is_Script=braille}', "");
-Expect(1, 10239, '\p{^Is_Script=braille}', "");
-Expect(1, 10239, '\P{Is_Script=braille}', "");
-Expect(0, 10239, '\P{^Is_Script=braille}', "");
-Expect(1, 10495, '\p{Is_Script=_ Braille}', "");
-Expect(0, 10495, '\p{^Is_Script=_ Braille}', "");
-Expect(0, 10495, '\P{Is_Script=_ Braille}', "");
-Expect(1, 10495, '\P{^Is_Script=_ Braille}', "");
-Expect(0, 10239, '\p{Is_Script=_ Braille}', "");
-Expect(1, 10239, '\p{^Is_Script=_ Braille}', "");
-Expect(1, 10239, '\P{Is_Script=_ Braille}', "");
-Expect(0, 10239, '\P{^Is_Script=_ Braille}', "");
-Error('\p{Is_Sc= :=Brai}');
-Error('\P{Is_Sc= :=Brai}');
-Expect(1, 10495, '\p{Is_Sc=brai}', "");
-Expect(0, 10495, '\p{^Is_Sc=brai}', "");
-Expect(0, 10495, '\P{Is_Sc=brai}', "");
-Expect(1, 10495, '\P{^Is_Sc=brai}', "");
-Expect(0, 10239, '\p{Is_Sc=brai}', "");
-Expect(1, 10239, '\p{^Is_Sc=brai}', "");
-Expect(1, 10239, '\P{Is_Sc=brai}', "");
-Expect(0, 10239, '\P{^Is_Sc=brai}', "");
-Expect(1, 10495, '\p{Is_Sc= Brai}', "");
-Expect(0, 10495, '\p{^Is_Sc= Brai}', "");
-Expect(0, 10495, '\P{Is_Sc= Brai}', "");
-Expect(1, 10495, '\P{^Is_Sc= Brai}', "");
-Expect(0, 10239, '\p{Is_Sc= Brai}', "");
-Expect(1, 10239, '\p{^Is_Sc= Brai}', "");
-Expect(1, 10239, '\P{Is_Sc= Brai}', "");
-Expect(0, 10239, '\P{^Is_Sc= Brai}', "");
-Error('\p{Script= /a/Kharoshthi}');
-Error('\P{Script= /a/Kharoshthi}');
-Expect(1, 68099, '\p{Script=kharoshthi}', "");
-Expect(0, 68099, '\p{^Script=kharoshthi}', "");
-Expect(0, 68099, '\P{Script=kharoshthi}', "");
-Expect(1, 68099, '\P{^Script=kharoshthi}', "");
-Expect(0, 68095, '\p{Script=kharoshthi}', "");
-Expect(1, 68095, '\p{^Script=kharoshthi}', "");
-Expect(1, 68095, '\P{Script=kharoshthi}', "");
-Expect(0, 68095, '\P{^Script=kharoshthi}', "");
-Expect(1, 68099, '\p{Script= kharoshthi}', "");
-Expect(0, 68099, '\p{^Script= kharoshthi}', "");
-Expect(0, 68099, '\P{Script= kharoshthi}', "");
-Expect(1, 68099, '\P{^Script= kharoshthi}', "");
-Expect(0, 68095, '\p{Script= kharoshthi}', "");
-Expect(1, 68095, '\p{^Script= kharoshthi}', "");
-Expect(1, 68095, '\P{Script= kharoshthi}', "");
-Expect(0, 68095, '\P{^Script= kharoshthi}', "");
-Error('\p{Sc= /a/Khar}');
-Error('\P{Sc= /a/Khar}');
-Expect(1, 68099, '\p{Sc=khar}', "");
-Expect(0, 68099, '\p{^Sc=khar}', "");
-Expect(0, 68099, '\P{Sc=khar}', "");
-Expect(1, 68099, '\P{^Sc=khar}', "");
-Expect(0, 68095, '\p{Sc=khar}', "");
-Expect(1, 68095, '\p{^Sc=khar}', "");
-Expect(1, 68095, '\P{Sc=khar}', "");
-Expect(0, 68095, '\P{^Sc=khar}', "");
-Expect(1, 68099, '\p{Sc= KHAR}', "");
-Expect(0, 68099, '\p{^Sc= KHAR}', "");
-Expect(0, 68099, '\P{Sc= KHAR}', "");
-Expect(1, 68099, '\P{^Sc= KHAR}', "");
-Expect(0, 68095, '\p{Sc= KHAR}', "");
-Expect(1, 68095, '\p{^Sc= KHAR}', "");
-Expect(1, 68095, '\P{Sc= KHAR}', "");
-Expect(0, 68095, '\P{^Sc= KHAR}', "");
-Error('\p{Is_Script: /a/ kharoshthi}');
-Error('\P{Is_Script: /a/ kharoshthi}');
-Expect(1, 68099, '\p{Is_Script=kharoshthi}', "");
-Expect(0, 68099, '\p{^Is_Script=kharoshthi}', "");
-Expect(0, 68099, '\P{Is_Script=kharoshthi}', "");
-Expect(1, 68099, '\P{^Is_Script=kharoshthi}', "");
-Expect(0, 68095, '\p{Is_Script=kharoshthi}', "");
-Expect(1, 68095, '\p{^Is_Script=kharoshthi}', "");
-Expect(1, 68095, '\P{Is_Script=kharoshthi}', "");
-Expect(0, 68095, '\P{^Is_Script=kharoshthi}', "");
-Expect(1, 68099, '\p{Is_Script= KHAROSHTHI}', "");
-Expect(0, 68099, '\p{^Is_Script= KHAROSHTHI}', "");
-Expect(0, 68099, '\P{Is_Script= KHAROSHTHI}', "");
-Expect(1, 68099, '\P{^Is_Script= KHAROSHTHI}', "");
-Expect(0, 68095, '\p{Is_Script= KHAROSHTHI}', "");
-Expect(1, 68095, '\p{^Is_Script= KHAROSHTHI}', "");
-Expect(1, 68095, '\P{Is_Script= KHAROSHTHI}', "");
-Expect(0, 68095, '\P{^Is_Script= KHAROSHTHI}', "");
-Error('\p{Is_Sc=:=_khar}');
-Error('\P{Is_Sc=:=_khar}');
-Expect(1, 68099, '\p{Is_Sc=khar}', "");
-Expect(0, 68099, '\p{^Is_Sc=khar}', "");
-Expect(0, 68099, '\P{Is_Sc=khar}', "");
-Expect(1, 68099, '\P{^Is_Sc=khar}', "");
-Expect(0, 68095, '\p{Is_Sc=khar}', "");
-Expect(1, 68095, '\p{^Is_Sc=khar}', "");
-Expect(1, 68095, '\P{Is_Sc=khar}', "");
-Expect(0, 68095, '\P{^Is_Sc=khar}', "");
-Expect(1, 68099, '\p{Is_Sc= Khar}', "");
-Expect(0, 68099, '\p{^Is_Sc= Khar}', "");
-Expect(0, 68099, '\P{Is_Sc= Khar}', "");
-Expect(1, 68099, '\P{^Is_Sc= Khar}', "");
-Expect(0, 68095, '\p{Is_Sc= Khar}', "");
-Expect(1, 68095, '\p{^Is_Sc= Khar}', "");
-Expect(1, 68095, '\P{Is_Sc= Khar}', "");
-Expect(0, 68095, '\P{^Is_Sc= Khar}', "");
-Error('\p{Script=_lycian:=}');
-Error('\P{Script=_lycian:=}');
-Expect(1, 66204, '\p{Script: lycian}', "");
-Expect(0, 66204, '\p{^Script: lycian}', "");
-Expect(0, 66204, '\P{Script: lycian}', "");
-Expect(1, 66204, '\P{^Script: lycian}', "");
-Expect(0, 66175, '\p{Script: lycian}', "");
-Expect(1, 66175, '\p{^Script: lycian}', "");
-Expect(1, 66175, '\P{Script: lycian}', "");
-Expect(0, 66175, '\P{^Script: lycian}', "");
-Expect(1, 66204, '\p{Script=Lycian}', "");
-Expect(0, 66204, '\p{^Script=Lycian}', "");
-Expect(0, 66204, '\P{Script=Lycian}', "");
-Expect(1, 66204, '\P{^Script=Lycian}', "");
-Expect(0, 66175, '\p{Script=Lycian}', "");
-Expect(1, 66175, '\p{^Script=Lycian}', "");
-Expect(1, 66175, '\P{Script=Lycian}', "");
-Expect(0, 66175, '\P{^Script=Lycian}', "");
-Error('\p{Sc= -lyci/a/}');
-Error('\P{Sc= -lyci/a/}');
-Expect(1, 66204, '\p{Sc=lyci}', "");
-Expect(0, 66204, '\p{^Sc=lyci}', "");
-Expect(0, 66204, '\P{Sc=lyci}', "");
-Expect(1, 66204, '\P{^Sc=lyci}', "");
-Expect(0, 66175, '\p{Sc=lyci}', "");
-Expect(1, 66175, '\p{^Sc=lyci}', "");
-Expect(1, 66175, '\P{Sc=lyci}', "");
-Expect(0, 66175, '\P{^Sc=lyci}', "");
-Expect(1, 66204, '\p{Sc=_LYCI}', "");
-Expect(0, 66204, '\p{^Sc=_LYCI}', "");
-Expect(0, 66204, '\P{Sc=_LYCI}', "");
-Expect(1, 66204, '\P{^Sc=_LYCI}', "");
-Expect(0, 66175, '\p{Sc=_LYCI}', "");
-Expect(1, 66175, '\p{^Sc=_LYCI}', "");
-Expect(1, 66175, '\P{Sc=_LYCI}', "");
-Expect(0, 66175, '\P{^Sc=_LYCI}', "");
-Error('\p{Is_Script=/a/- lycian}');
-Error('\P{Is_Script=/a/- lycian}');
-Expect(1, 66204, '\p{Is_Script=lycian}', "");
-Expect(0, 66204, '\p{^Is_Script=lycian}', "");
-Expect(0, 66204, '\P{Is_Script=lycian}', "");
-Expect(1, 66204, '\P{^Is_Script=lycian}', "");
-Expect(0, 66175, '\p{Is_Script=lycian}', "");
-Expect(1, 66175, '\p{^Is_Script=lycian}', "");
-Expect(1, 66175, '\P{Is_Script=lycian}', "");
-Expect(0, 66175, '\P{^Is_Script=lycian}', "");
-Expect(1, 66204, '\p{Is_Script:__Lycian}', "");
-Expect(0, 66204, '\p{^Is_Script:__Lycian}', "");
-Expect(0, 66204, '\P{Is_Script:__Lycian}', "");
-Expect(1, 66204, '\P{^Is_Script:__Lycian}', "");
-Expect(0, 66175, '\p{Is_Script:__Lycian}', "");
-Expect(1, 66175, '\p{^Is_Script:__Lycian}', "");
-Expect(1, 66175, '\P{Is_Script:__Lycian}', "");
-Expect(0, 66175, '\P{^Is_Script:__Lycian}', "");
-Error('\p{Is_Sc: /a/lyci}');
-Error('\P{Is_Sc: /a/lyci}');
-Expect(1, 66204, '\p{Is_Sc=lyci}', "");
-Expect(0, 66204, '\p{^Is_Sc=lyci}', "");
-Expect(0, 66204, '\P{Is_Sc=lyci}', "");
-Expect(1, 66204, '\P{^Is_Sc=lyci}', "");
-Expect(0, 66175, '\p{Is_Sc=lyci}', "");
-Expect(1, 66175, '\p{^Is_Sc=lyci}', "");
-Expect(1, 66175, '\P{Is_Sc=lyci}', "");
-Expect(0, 66175, '\P{^Is_Sc=lyci}', "");
-Expect(1, 66204, '\p{Is_Sc= Lyci}', "");
-Expect(0, 66204, '\p{^Is_Sc= Lyci}', "");
-Expect(0, 66204, '\P{Is_Sc= Lyci}', "");
-Expect(1, 66204, '\P{^Is_Sc= Lyci}', "");
-Expect(0, 66175, '\p{Is_Sc= Lyci}', "");
-Expect(1, 66175, '\p{^Is_Sc= Lyci}', "");
-Expect(1, 66175, '\P{Is_Sc= Lyci}', "");
-Expect(0, 66175, '\P{^Is_Sc= Lyci}', "");
-Error('\p{Script=/a/Bopomofo}');
-Error('\P{Script=/a/Bopomofo}');
-Expect(1, 12589, '\p{Script=bopomofo}', "");
-Expect(0, 12589, '\p{^Script=bopomofo}', "");
-Expect(0, 12589, '\P{Script=bopomofo}', "");
-Expect(1, 12589, '\P{^Script=bopomofo}', "");
-Expect(0, 12548, '\p{Script=bopomofo}', "");
-Expect(1, 12548, '\p{^Script=bopomofo}', "");
-Expect(1, 12548, '\P{Script=bopomofo}', "");
-Expect(0, 12548, '\P{^Script=bopomofo}', "");
-Expect(1, 12589, '\p{Script: Bopomofo}', "");
-Expect(0, 12589, '\p{^Script: Bopomofo}', "");
-Expect(0, 12589, '\P{Script: Bopomofo}', "");
-Expect(1, 12589, '\P{^Script: Bopomofo}', "");
-Expect(0, 12548, '\p{Script: Bopomofo}', "");
-Expect(1, 12548, '\p{^Script: Bopomofo}', "");
-Expect(1, 12548, '\P{Script: Bopomofo}', "");
-Expect(0, 12548, '\P{^Script: Bopomofo}', "");
-Error('\p{Sc=_Bopo:=}');
-Error('\P{Sc=_Bopo:=}');
-Expect(1, 12589, '\p{Sc=bopo}', "");
-Expect(0, 12589, '\p{^Sc=bopo}', "");
-Expect(0, 12589, '\P{Sc=bopo}', "");
-Expect(1, 12589, '\P{^Sc=bopo}', "");
-Expect(0, 12548, '\p{Sc=bopo}', "");
-Expect(1, 12548, '\p{^Sc=bopo}', "");
-Expect(1, 12548, '\P{Sc=bopo}', "");
-Expect(0, 12548, '\P{^Sc=bopo}', "");
-Expect(1, 12589, '\p{Sc: -bopo}', "");
-Expect(0, 12589, '\p{^Sc: -bopo}', "");
-Expect(0, 12589, '\P{Sc: -bopo}', "");
-Expect(1, 12589, '\P{^Sc: -bopo}', "");
-Expect(0, 12548, '\p{Sc: -bopo}', "");
-Expect(1, 12548, '\p{^Sc: -bopo}', "");
-Expect(1, 12548, '\P{Sc: -bopo}', "");
-Expect(0, 12548, '\P{^Sc: -bopo}', "");
-Error('\p{Is_Script=_-Bopomofo:=}');
-Error('\P{Is_Script=_-Bopomofo:=}');
-Expect(1, 12589, '\p{Is_Script=bopomofo}', "");
-Expect(0, 12589, '\p{^Is_Script=bopomofo}', "");
-Expect(0, 12589, '\P{Is_Script=bopomofo}', "");
-Expect(1, 12589, '\P{^Is_Script=bopomofo}', "");
-Expect(0, 12548, '\p{Is_Script=bopomofo}', "");
-Expect(1, 12548, '\p{^Is_Script=bopomofo}', "");
-Expect(1, 12548, '\P{Is_Script=bopomofo}', "");
-Expect(0, 12548, '\P{^Is_Script=bopomofo}', "");
-Expect(1, 12589, '\p{Is_Script= bopomofo}', "");
-Expect(0, 12589, '\p{^Is_Script= bopomofo}', "");
-Expect(0, 12589, '\P{Is_Script= bopomofo}', "");
-Expect(1, 12589, '\P{^Is_Script= bopomofo}', "");
-Expect(0, 12548, '\p{Is_Script= bopomofo}', "");
-Expect(1, 12548, '\p{^Is_Script= bopomofo}', "");
-Expect(1, 12548, '\P{Is_Script= bopomofo}', "");
-Expect(0, 12548, '\P{^Is_Script= bopomofo}', "");
-Error('\p{Is_Sc=_-bopo:=}');
-Error('\P{Is_Sc=_-bopo:=}');
-Expect(1, 12589, '\p{Is_Sc=bopo}', "");
-Expect(0, 12589, '\p{^Is_Sc=bopo}', "");
-Expect(0, 12589, '\P{Is_Sc=bopo}', "");
-Expect(1, 12589, '\P{^Is_Sc=bopo}', "");
-Expect(0, 12548, '\p{Is_Sc=bopo}', "");
-Expect(1, 12548, '\p{^Is_Sc=bopo}', "");
-Expect(1, 12548, '\P{Is_Sc=bopo}', "");
-Expect(0, 12548, '\P{^Is_Sc=bopo}', "");
-Expect(1, 12589, '\p{Is_Sc= Bopo}', "");
-Expect(0, 12589, '\p{^Is_Sc= Bopo}', "");
-Expect(0, 12589, '\P{Is_Sc= Bopo}', "");
-Expect(1, 12589, '\P{^Is_Sc= Bopo}', "");
-Expect(0, 12548, '\p{Is_Sc= Bopo}', "");
-Expect(1, 12548, '\p{^Is_Sc= Bopo}', "");
-Expect(1, 12548, '\P{Is_Sc= Bopo}', "");
-Expect(0, 12548, '\P{^Is_Sc= Bopo}', "");
-Error('\p{Script=_ rejang:=}');
-Error('\P{Script=_ rejang:=}');
-Expect(1, 43347, '\p{Script=rejang}', "");
-Expect(0, 43347, '\p{^Script=rejang}', "");
-Expect(0, 43347, '\P{Script=rejang}', "");
-Expect(1, 43347, '\P{^Script=rejang}', "");
-Expect(0, 43311, '\p{Script=rejang}', "");
-Expect(1, 43311, '\p{^Script=rejang}', "");
-Expect(1, 43311, '\P{Script=rejang}', "");
-Expect(0, 43311, '\P{^Script=rejang}', "");
-Expect(1, 43347, '\p{Script= _REJANG}', "");
-Expect(0, 43347, '\p{^Script= _REJANG}', "");
-Expect(0, 43347, '\P{Script= _REJANG}', "");
-Expect(1, 43347, '\P{^Script= _REJANG}', "");
-Expect(0, 43311, '\p{Script= _REJANG}', "");
-Expect(1, 43311, '\p{^Script= _REJANG}', "");
-Expect(1, 43311, '\P{Script= _REJANG}', "");
-Expect(0, 43311, '\P{^Script= _REJANG}', "");
-Error('\p{Sc= RJNG/a/}');
-Error('\P{Sc= RJNG/a/}');
-Expect(1, 43347, '\p{Sc=rjng}', "");
-Expect(0, 43347, '\p{^Sc=rjng}', "");
-Expect(0, 43347, '\P{Sc=rjng}', "");
-Expect(1, 43347, '\P{^Sc=rjng}', "");
-Expect(0, 43311, '\p{Sc=rjng}', "");
-Expect(1, 43311, '\p{^Sc=rjng}', "");
-Expect(1, 43311, '\P{Sc=rjng}', "");
-Expect(0, 43311, '\P{^Sc=rjng}', "");
-Expect(1, 43347, '\p{Sc= _Rjng}', "");
-Expect(0, 43347, '\p{^Sc= _Rjng}', "");
-Expect(0, 43347, '\P{Sc= _Rjng}', "");
-Expect(1, 43347, '\P{^Sc= _Rjng}', "");
-Expect(0, 43311, '\p{Sc= _Rjng}', "");
-Expect(1, 43311, '\p{^Sc= _Rjng}', "");
-Expect(1, 43311, '\P{Sc= _Rjng}', "");
-Expect(0, 43311, '\P{^Sc= _Rjng}', "");
-Error('\p{Is_Script: _ Rejang/a/}');
-Error('\P{Is_Script: _ Rejang/a/}');
-Expect(1, 43347, '\p{Is_Script=rejang}', "");
-Expect(0, 43347, '\p{^Is_Script=rejang}', "");
-Expect(0, 43347, '\P{Is_Script=rejang}', "");
-Expect(1, 43347, '\P{^Is_Script=rejang}', "");
-Expect(0, 43311, '\p{Is_Script=rejang}', "");
-Expect(1, 43311, '\p{^Is_Script=rejang}', "");
-Expect(1, 43311, '\P{Is_Script=rejang}', "");
-Expect(0, 43311, '\P{^Is_Script=rejang}', "");
-Expect(1, 43347, '\p{Is_Script: - Rejang}', "");
-Expect(0, 43347, '\p{^Is_Script: - Rejang}', "");
-Expect(0, 43347, '\P{Is_Script: - Rejang}', "");
-Expect(1, 43347, '\P{^Is_Script: - Rejang}', "");
-Expect(0, 43311, '\p{Is_Script: - Rejang}', "");
-Expect(1, 43311, '\p{^Is_Script: - Rejang}', "");
-Expect(1, 43311, '\P{Is_Script: - Rejang}', "");
-Expect(0, 43311, '\P{^Is_Script: - Rejang}', "");
-Error('\p{Is_Sc: _ Rjng:=}');
-Error('\P{Is_Sc: _ Rjng:=}');
-Expect(1, 43347, '\p{Is_Sc=rjng}', "");
-Expect(0, 43347, '\p{^Is_Sc=rjng}', "");
-Expect(0, 43347, '\P{Is_Sc=rjng}', "");
-Expect(1, 43347, '\P{^Is_Sc=rjng}', "");
-Expect(0, 43311, '\p{Is_Sc=rjng}', "");
-Expect(1, 43311, '\p{^Is_Sc=rjng}', "");
-Expect(1, 43311, '\P{Is_Sc=rjng}', "");
-Expect(0, 43311, '\P{^Is_Sc=rjng}', "");
-Expect(1, 43347, '\p{Is_Sc=-Rjng}', "");
-Expect(0, 43347, '\p{^Is_Sc=-Rjng}', "");
-Expect(0, 43347, '\P{Is_Sc=-Rjng}', "");
-Expect(1, 43347, '\P{^Is_Sc=-Rjng}', "");
-Expect(0, 43311, '\p{Is_Sc=-Rjng}', "");
-Expect(1, 43311, '\p{^Is_Sc=-Rjng}', "");
-Expect(1, 43311, '\P{Is_Sc=-Rjng}', "");
-Expect(0, 43311, '\P{^Is_Sc=-Rjng}', "");
-Error('\p{Script=:=Hanunoo}');
-Error('\P{Script=:=Hanunoo}');
-Expect(1, 5940, '\p{Script=hanunoo}', "");
-Expect(0, 5940, '\p{^Script=hanunoo}', "");
-Expect(0, 5940, '\P{Script=hanunoo}', "");
-Expect(1, 5940, '\P{^Script=hanunoo}', "");
-Expect(0, 5919, '\p{Script=hanunoo}', "");
-Expect(1, 5919, '\p{^Script=hanunoo}', "");
-Expect(1, 5919, '\P{Script=hanunoo}', "");
-Expect(0, 5919, '\P{^Script=hanunoo}', "");
-Expect(1, 5940, '\p{Script= hanunoo}', "");
-Expect(0, 5940, '\p{^Script= hanunoo}', "");
-Expect(0, 5940, '\P{Script= hanunoo}', "");
-Expect(1, 5940, '\P{^Script= hanunoo}', "");
-Expect(0, 5919, '\p{Script= hanunoo}', "");
-Expect(1, 5919, '\p{^Script= hanunoo}', "");
-Expect(1, 5919, '\P{Script= hanunoo}', "");
-Expect(0, 5919, '\P{^Script= hanunoo}', "");
-Error('\p{Sc=_ Hano:=}');
-Error('\P{Sc=_ Hano:=}');
-Expect(1, 5940, '\p{Sc=hano}', "");
-Expect(0, 5940, '\p{^Sc=hano}', "");
-Expect(0, 5940, '\P{Sc=hano}', "");
-Expect(1, 5940, '\P{^Sc=hano}', "");
-Expect(0, 5919, '\p{Sc=hano}', "");
-Expect(1, 5919, '\p{^Sc=hano}', "");
-Expect(1, 5919, '\P{Sc=hano}', "");
-Expect(0, 5919, '\P{^Sc=hano}', "");
-Expect(1, 5940, '\p{Sc= -Hano}', "");
-Expect(0, 5940, '\p{^Sc= -Hano}', "");
-Expect(0, 5940, '\P{Sc= -Hano}', "");
-Expect(1, 5940, '\P{^Sc= -Hano}', "");
-Expect(0, 5919, '\p{Sc= -Hano}', "");
-Expect(1, 5919, '\p{^Sc= -Hano}', "");
-Expect(1, 5919, '\P{Sc= -Hano}', "");
-Expect(0, 5919, '\P{^Sc= -Hano}', "");
-Error('\p{Is_Script=/a/hanunoo}');
-Error('\P{Is_Script=/a/hanunoo}');
-Expect(1, 5940, '\p{Is_Script=hanunoo}', "");
-Expect(0, 5940, '\p{^Is_Script=hanunoo}', "");
-Expect(0, 5940, '\P{Is_Script=hanunoo}', "");
-Expect(1, 5940, '\P{^Is_Script=hanunoo}', "");
-Expect(0, 5919, '\p{Is_Script=hanunoo}', "");
-Expect(1, 5919, '\p{^Is_Script=hanunoo}', "");
-Expect(1, 5919, '\P{Is_Script=hanunoo}', "");
-Expect(0, 5919, '\P{^Is_Script=hanunoo}', "");
-Expect(1, 5940, '\p{Is_Script= HANUNOO}', "");
-Expect(0, 5940, '\p{^Is_Script= HANUNOO}', "");
-Expect(0, 5940, '\P{Is_Script= HANUNOO}', "");
-Expect(1, 5940, '\P{^Is_Script= HANUNOO}', "");
-Expect(0, 5919, '\p{Is_Script= HANUNOO}', "");
-Expect(1, 5919, '\p{^Is_Script= HANUNOO}', "");
-Expect(1, 5919, '\P{Is_Script= HANUNOO}', "");
-Expect(0, 5919, '\P{^Is_Script= HANUNOO}', "");
-Error('\p{Is_Sc=_-hano/a/}');
-Error('\P{Is_Sc=_-hano/a/}');
-Expect(1, 5940, '\p{Is_Sc=hano}', "");
-Expect(0, 5940, '\p{^Is_Sc=hano}', "");
-Expect(0, 5940, '\P{Is_Sc=hano}', "");
-Expect(1, 5940, '\P{^Is_Sc=hano}', "");
-Expect(0, 5919, '\p{Is_Sc=hano}', "");
-Expect(1, 5919, '\p{^Is_Sc=hano}', "");
-Expect(1, 5919, '\P{Is_Sc=hano}', "");
-Expect(0, 5919, '\P{^Is_Sc=hano}', "");
-Expect(1, 5940, '\p{Is_Sc: - hano}', "");
-Expect(0, 5940, '\p{^Is_Sc: - hano}', "");
-Expect(0, 5940, '\P{Is_Sc: - hano}', "");
-Expect(1, 5940, '\P{^Is_Sc: - hano}', "");
-Expect(0, 5919, '\p{Is_Sc: - hano}', "");
-Expect(1, 5919, '\p{^Is_Sc: - hano}', "");
-Expect(1, 5919, '\P{Is_Sc: - hano}', "");
-Expect(0, 5919, '\P{^Is_Sc: - hano}', "");
-Error('\p{Script=-Imperial-Aramaic:=}');
-Error('\P{Script=-Imperial-Aramaic:=}');
-Expect(1, 67669, '\p{Script=imperialaramaic}', "");
-Expect(0, 67669, '\p{^Script=imperialaramaic}', "");
-Expect(0, 67669, '\P{Script=imperialaramaic}', "");
-Expect(1, 67669, '\P{^Script=imperialaramaic}', "");
-Expect(0, 67647, '\p{Script=imperialaramaic}', "");
-Expect(1, 67647, '\p{^Script=imperialaramaic}', "");
-Expect(1, 67647, '\P{Script=imperialaramaic}', "");
-Expect(0, 67647, '\P{^Script=imperialaramaic}', "");
-Expect(1, 67669, '\p{Script=-_imperial Aramaic}', "");
-Expect(0, 67669, '\p{^Script=-_imperial Aramaic}', "");
-Expect(0, 67669, '\P{Script=-_imperial Aramaic}', "");
-Expect(1, 67669, '\P{^Script=-_imperial Aramaic}', "");
-Expect(0, 67647, '\p{Script=-_imperial Aramaic}', "");
-Expect(1, 67647, '\p{^Script=-_imperial Aramaic}', "");
-Expect(1, 67647, '\P{Script=-_imperial Aramaic}', "");
-Expect(0, 67647, '\P{^Script=-_imperial Aramaic}', "");
-Error('\p{Sc=_/a/Armi}');
-Error('\P{Sc=_/a/Armi}');
-Expect(1, 67669, '\p{Sc=armi}', "");
-Expect(0, 67669, '\p{^Sc=armi}', "");
-Expect(0, 67669, '\P{Sc=armi}', "");
-Expect(1, 67669, '\P{^Sc=armi}', "");
-Expect(0, 67647, '\p{Sc=armi}', "");
-Expect(1, 67647, '\p{^Sc=armi}', "");
-Expect(1, 67647, '\P{Sc=armi}', "");
-Expect(0, 67647, '\P{^Sc=armi}', "");
-Expect(1, 67669, '\p{Sc= ARMI}', "");
-Expect(0, 67669, '\p{^Sc= ARMI}', "");
-Expect(0, 67669, '\P{Sc= ARMI}', "");
-Expect(1, 67669, '\P{^Sc= ARMI}', "");
-Expect(0, 67647, '\p{Sc= ARMI}', "");
-Expect(1, 67647, '\p{^Sc= ARMI}', "");
-Expect(1, 67647, '\P{Sc= ARMI}', "");
-Expect(0, 67647, '\P{^Sc= ARMI}', "");
-Error('\p{Is_Script= -IMPERIAL ARAMAIC:=}');
-Error('\P{Is_Script= -IMPERIAL ARAMAIC:=}');
-Expect(1, 67669, '\p{Is_Script=imperialaramaic}', "");
-Expect(0, 67669, '\p{^Is_Script=imperialaramaic}', "");
-Expect(0, 67669, '\P{Is_Script=imperialaramaic}', "");
-Expect(1, 67669, '\P{^Is_Script=imperialaramaic}', "");
-Expect(0, 67647, '\p{Is_Script=imperialaramaic}', "");
-Expect(1, 67647, '\p{^Is_Script=imperialaramaic}', "");
-Expect(1, 67647, '\P{Is_Script=imperialaramaic}', "");
-Expect(0, 67647, '\P{^Is_Script=imperialaramaic}', "");
-Expect(1, 67669, '\p{Is_Script=_imperial aramaic}', "");
-Expect(0, 67669, '\p{^Is_Script=_imperial aramaic}', "");
-Expect(0, 67669, '\P{Is_Script=_imperial aramaic}', "");
-Expect(1, 67669, '\P{^Is_Script=_imperial aramaic}', "");
-Expect(0, 67647, '\p{Is_Script=_imperial aramaic}', "");
-Expect(1, 67647, '\p{^Is_Script=_imperial aramaic}', "");
-Expect(1, 67647, '\P{Is_Script=_imperial aramaic}', "");
-Expect(0, 67647, '\P{^Is_Script=_imperial aramaic}', "");
-Error('\p{Is_Sc=_/a/Armi}');
-Error('\P{Is_Sc=_/a/Armi}');
-Expect(1, 67669, '\p{Is_Sc=armi}', "");
-Expect(0, 67669, '\p{^Is_Sc=armi}', "");
-Expect(0, 67669, '\P{Is_Sc=armi}', "");
-Expect(1, 67669, '\P{^Is_Sc=armi}', "");
-Expect(0, 67647, '\p{Is_Sc=armi}', "");
-Expect(1, 67647, '\p{^Is_Sc=armi}', "");
-Expect(1, 67647, '\P{Is_Sc=armi}', "");
-Expect(0, 67647, '\P{^Is_Sc=armi}', "");
-Expect(1, 67669, '\p{Is_Sc: Armi}', "");
-Expect(0, 67669, '\p{^Is_Sc: Armi}', "");
-Expect(0, 67669, '\P{Is_Sc: Armi}', "");
-Expect(1, 67669, '\P{^Is_Sc: Armi}', "");
-Expect(0, 67647, '\p{Is_Sc: Armi}', "");
-Expect(1, 67647, '\p{^Is_Sc: Armi}', "");
-Expect(1, 67647, '\P{Is_Sc: Armi}', "");
-Expect(0, 67647, '\P{^Is_Sc: Armi}', "");
-Error('\p{Script: :=Kannada}');
-Error('\P{Script: :=Kannada}');
-Expect(1, 3203, '\p{Script=kannada}', "");
-Expect(0, 3203, '\p{^Script=kannada}', "");
-Expect(0, 3203, '\P{Script=kannada}', "");
-Expect(1, 3203, '\P{^Script=kannada}', "");
-Expect(0, 3201, '\p{Script=kannada}', "");
-Expect(1, 3201, '\p{^Script=kannada}', "");
-Expect(1, 3201, '\P{Script=kannada}', "");
-Expect(0, 3201, '\P{^Script=kannada}', "");
-Expect(1, 3203, '\p{Script= kannada}', "");
-Expect(0, 3203, '\p{^Script= kannada}', "");
-Expect(0, 3203, '\P{Script= kannada}', "");
-Expect(1, 3203, '\P{^Script= kannada}', "");
-Expect(0, 3201, '\p{Script= kannada}', "");
-Expect(1, 3201, '\p{^Script= kannada}', "");
-Expect(1, 3201, '\P{Script= kannada}', "");
-Expect(0, 3201, '\P{^Script= kannada}', "");
-Error('\p{Sc=:=_KNDA}');
-Error('\P{Sc=:=_KNDA}');
-Expect(1, 3203, '\p{Sc=knda}', "");
-Expect(0, 3203, '\p{^Sc=knda}', "");
-Expect(0, 3203, '\P{Sc=knda}', "");
-Expect(1, 3203, '\P{^Sc=knda}', "");
-Expect(0, 3201, '\p{Sc=knda}', "");
-Expect(1, 3201, '\p{^Sc=knda}', "");
-Expect(1, 3201, '\P{Sc=knda}', "");
-Expect(0, 3201, '\P{^Sc=knda}', "");
-Expect(1, 3203, '\p{Sc= _knda}', "");
-Expect(0, 3203, '\p{^Sc= _knda}', "");
-Expect(0, 3203, '\P{Sc= _knda}', "");
-Expect(1, 3203, '\P{^Sc= _knda}', "");
-Expect(0, 3201, '\p{Sc= _knda}', "");
-Expect(1, 3201, '\p{^Sc= _knda}', "");
-Expect(1, 3201, '\P{Sc= _knda}', "");
-Expect(0, 3201, '\P{^Sc= _knda}', "");
-Error('\p{Is_Script=/a/- Kannada}');
-Error('\P{Is_Script=/a/- Kannada}');
-Expect(1, 3203, '\p{Is_Script=kannada}', "");
-Expect(0, 3203, '\p{^Is_Script=kannada}', "");
-Expect(0, 3203, '\P{Is_Script=kannada}', "");
-Expect(1, 3203, '\P{^Is_Script=kannada}', "");
-Expect(0, 3201, '\p{Is_Script=kannada}', "");
-Expect(1, 3201, '\p{^Is_Script=kannada}', "");
-Expect(1, 3201, '\P{Is_Script=kannada}', "");
-Expect(0, 3201, '\P{^Is_Script=kannada}', "");
-Expect(1, 3203, '\p{Is_Script= kannada}', "");
-Expect(0, 3203, '\p{^Is_Script= kannada}', "");
-Expect(0, 3203, '\P{Is_Script= kannada}', "");
-Expect(1, 3203, '\P{^Is_Script= kannada}', "");
-Expect(0, 3201, '\p{Is_Script= kannada}', "");
-Expect(1, 3201, '\p{^Is_Script= kannada}', "");
-Expect(1, 3201, '\P{Is_Script= kannada}', "");
-Expect(0, 3201, '\P{^Is_Script= kannada}', "");
-Error('\p{Is_Sc=/a/ _knda}');
-Error('\P{Is_Sc=/a/ _knda}');
-Expect(1, 3203, '\p{Is_Sc=knda}', "");
-Expect(0, 3203, '\p{^Is_Sc=knda}', "");
-Expect(0, 3203, '\P{Is_Sc=knda}', "");
-Expect(1, 3203, '\P{^Is_Sc=knda}', "");
-Expect(0, 3201, '\p{Is_Sc=knda}', "");
-Expect(1, 3201, '\p{^Is_Sc=knda}', "");
-Expect(1, 3201, '\P{Is_Sc=knda}', "");
-Expect(0, 3201, '\P{^Is_Sc=knda}', "");
-Expect(1, 3203, '\p{Is_Sc= knda}', "");
-Expect(0, 3203, '\p{^Is_Sc= knda}', "");
-Expect(0, 3203, '\P{Is_Sc= knda}', "");
-Expect(1, 3203, '\P{^Is_Sc= knda}', "");
-Expect(0, 3201, '\p{Is_Sc= knda}', "");
-Expect(1, 3201, '\p{^Is_Sc= knda}', "");
-Expect(1, 3201, '\P{Is_Sc= knda}', "");
-Expect(0, 3201, '\P{^Is_Sc= knda}', "");
-Error('\p{Script=__KHMER:=}');
-Error('\P{Script=__KHMER:=}');
-Expect(1, 6109, '\p{Script: khmer}', "");
-Expect(0, 6109, '\p{^Script: khmer}', "");
-Expect(0, 6109, '\P{Script: khmer}', "");
-Expect(1, 6109, '\P{^Script: khmer}', "");
-Expect(0, 6015, '\p{Script: khmer}', "");
-Expect(1, 6015, '\p{^Script: khmer}', "");
-Expect(1, 6015, '\P{Script: khmer}', "");
-Expect(0, 6015, '\P{^Script: khmer}', "");
-Expect(1, 6109, '\p{Script=__Khmer}', "");
-Expect(0, 6109, '\p{^Script=__Khmer}', "");
-Expect(0, 6109, '\P{Script=__Khmer}', "");
-Expect(1, 6109, '\P{^Script=__Khmer}', "");
-Expect(0, 6015, '\p{Script=__Khmer}', "");
-Expect(1, 6015, '\p{^Script=__Khmer}', "");
-Expect(1, 6015, '\P{Script=__Khmer}', "");
-Expect(0, 6015, '\P{^Script=__Khmer}', "");
-Error('\p{Sc=-:=KHMR}');
-Error('\P{Sc=-:=KHMR}');
-Expect(1, 6109, '\p{Sc=khmr}', "");
-Expect(0, 6109, '\p{^Sc=khmr}', "");
-Expect(0, 6109, '\P{Sc=khmr}', "");
-Expect(1, 6109, '\P{^Sc=khmr}', "");
-Expect(0, 6015, '\p{Sc=khmr}', "");
-Expect(1, 6015, '\p{^Sc=khmr}', "");
-Expect(1, 6015, '\P{Sc=khmr}', "");
-Expect(0, 6015, '\P{^Sc=khmr}', "");
-Expect(1, 6109, '\p{Sc= khmr}', "");
-Expect(0, 6109, '\p{^Sc= khmr}', "");
-Expect(0, 6109, '\P{Sc= khmr}', "");
-Expect(1, 6109, '\P{^Sc= khmr}', "");
-Expect(0, 6015, '\p{Sc= khmr}', "");
-Expect(1, 6015, '\p{^Sc= khmr}', "");
-Expect(1, 6015, '\P{Sc= khmr}', "");
-Expect(0, 6015, '\P{^Sc= khmr}', "");
-Error('\p{Is_Script=:= -Khmer}');
-Error('\P{Is_Script=:= -Khmer}');
-Expect(1, 6109, '\p{Is_Script=khmer}', "");
-Expect(0, 6109, '\p{^Is_Script=khmer}', "");
-Expect(0, 6109, '\P{Is_Script=khmer}', "");
-Expect(1, 6109, '\P{^Is_Script=khmer}', "");
-Expect(0, 6015, '\p{Is_Script=khmer}', "");
-Expect(1, 6015, '\p{^Is_Script=khmer}', "");
-Expect(1, 6015, '\P{Is_Script=khmer}', "");
-Expect(0, 6015, '\P{^Is_Script=khmer}', "");
-Expect(1, 6109, '\p{Is_Script=-_KHMER}', "");
-Expect(0, 6109, '\p{^Is_Script=-_KHMER}', "");
-Expect(0, 6109, '\P{Is_Script=-_KHMER}', "");
-Expect(1, 6109, '\P{^Is_Script=-_KHMER}', "");
-Expect(0, 6015, '\p{Is_Script=-_KHMER}', "");
-Expect(1, 6015, '\p{^Is_Script=-_KHMER}', "");
-Expect(1, 6015, '\P{Is_Script=-_KHMER}', "");
-Expect(0, 6015, '\P{^Is_Script=-_KHMER}', "");
-Error('\p{Is_Sc= /a/KHMR}');
-Error('\P{Is_Sc= /a/KHMR}');
-Expect(1, 6109, '\p{Is_Sc=khmr}', "");
-Expect(0, 6109, '\p{^Is_Sc=khmr}', "");
-Expect(0, 6109, '\P{Is_Sc=khmr}', "");
-Expect(1, 6109, '\P{^Is_Sc=khmr}', "");
-Expect(0, 6015, '\p{Is_Sc=khmr}', "");
-Expect(1, 6015, '\p{^Is_Sc=khmr}', "");
-Expect(1, 6015, '\P{Is_Sc=khmr}', "");
-Expect(0, 6015, '\P{^Is_Sc=khmr}', "");
-Expect(1, 6109, '\p{Is_Sc= -khmr}', "");
-Expect(0, 6109, '\p{^Is_Sc= -khmr}', "");
-Expect(0, 6109, '\P{Is_Sc= -khmr}', "");
-Expect(1, 6109, '\P{^Is_Sc= -khmr}', "");
-Expect(0, 6015, '\p{Is_Sc= -khmr}', "");
-Expect(1, 6015, '\p{^Is_Sc= -khmr}', "");
-Expect(1, 6015, '\P{Is_Sc= -khmr}', "");
-Expect(0, 6015, '\P{^Is_Sc= -khmr}', "");
-Error('\p{Script=-/a/cham}');
-Error('\P{Script=-/a/cham}');
-Expect(1, 43574, '\p{Script=cham}', "");
-Expect(0, 43574, '\p{^Script=cham}', "");
-Expect(0, 43574, '\P{Script=cham}', "");
-Expect(1, 43574, '\P{^Script=cham}', "");
-Expect(0, 43519, '\p{Script=cham}', "");
-Expect(1, 43519, '\p{^Script=cham}', "");
-Expect(1, 43519, '\P{Script=cham}', "");
-Expect(0, 43519, '\P{^Script=cham}', "");
-Expect(1, 43574, '\p{Script: Cham}', "");
-Expect(0, 43574, '\p{^Script: Cham}', "");
-Expect(0, 43574, '\P{Script: Cham}', "");
-Expect(1, 43574, '\P{^Script: Cham}', "");
-Expect(0, 43519, '\p{Script: Cham}', "");
-Expect(1, 43519, '\p{^Script: Cham}', "");
-Expect(1, 43519, '\P{Script: Cham}', "");
-Expect(0, 43519, '\P{^Script: Cham}', "");
-Error('\p{Sc: cham:=}');
-Error('\P{Sc: cham:=}');
-Expect(1, 43574, '\p{Sc=cham}', "");
-Expect(0, 43574, '\p{^Sc=cham}', "");
-Expect(0, 43574, '\P{Sc=cham}', "");
-Expect(1, 43574, '\P{^Sc=cham}', "");
-Expect(0, 43519, '\p{Sc=cham}', "");
-Expect(1, 43519, '\p{^Sc=cham}', "");
-Expect(1, 43519, '\P{Sc=cham}', "");
-Expect(0, 43519, '\P{^Sc=cham}', "");
-Expect(1, 43574, '\p{Sc=_Cham}', "");
-Expect(0, 43574, '\p{^Sc=_Cham}', "");
-Expect(0, 43574, '\P{Sc=_Cham}', "");
-Expect(1, 43574, '\P{^Sc=_Cham}', "");
-Expect(0, 43519, '\p{Sc=_Cham}', "");
-Expect(1, 43519, '\p{^Sc=_Cham}', "");
-Expect(1, 43519, '\P{Sc=_Cham}', "");
-Expect(0, 43519, '\P{^Sc=_Cham}', "");
-Error('\p{Is_Script:-CHAM:=}');
-Error('\P{Is_Script:-CHAM:=}');
-Expect(1, 43574, '\p{Is_Script=cham}', "");
-Expect(0, 43574, '\p{^Is_Script=cham}', "");
-Expect(0, 43574, '\P{Is_Script=cham}', "");
-Expect(1, 43574, '\P{^Is_Script=cham}', "");
-Expect(0, 43519, '\p{Is_Script=cham}', "");
-Expect(1, 43519, '\p{^Is_Script=cham}', "");
-Expect(1, 43519, '\P{Is_Script=cham}', "");
-Expect(0, 43519, '\P{^Is_Script=cham}', "");
-Expect(1, 43574, '\p{Is_Script=-CHAM}', "");
-Expect(0, 43574, '\p{^Is_Script=-CHAM}', "");
-Expect(0, 43574, '\P{Is_Script=-CHAM}', "");
-Expect(1, 43574, '\P{^Is_Script=-CHAM}', "");
-Expect(0, 43519, '\p{Is_Script=-CHAM}', "");
-Expect(1, 43519, '\p{^Is_Script=-CHAM}', "");
-Expect(1, 43519, '\P{Is_Script=-CHAM}', "");
-Expect(0, 43519, '\P{^Is_Script=-CHAM}', "");
-Error('\p{Is_Sc=- Cham/a/}');
-Error('\P{Is_Sc=- Cham/a/}');
-Expect(1, 43574, '\p{Is_Sc=cham}', "");
-Expect(0, 43574, '\p{^Is_Sc=cham}', "");
-Expect(0, 43574, '\P{Is_Sc=cham}', "");
-Expect(1, 43574, '\P{^Is_Sc=cham}', "");
-Expect(0, 43519, '\p{Is_Sc=cham}', "");
-Expect(1, 43519, '\p{^Is_Sc=cham}', "");
-Expect(1, 43519, '\P{Is_Sc=cham}', "");
-Expect(0, 43519, '\P{^Is_Sc=cham}', "");
-Expect(1, 43574, '\p{Is_Sc=- CHAM}', "");
-Expect(0, 43574, '\p{^Is_Sc=- CHAM}', "");
-Expect(0, 43574, '\P{Is_Sc=- CHAM}', "");
-Expect(1, 43574, '\P{^Is_Sc=- CHAM}', "");
-Expect(0, 43519, '\p{Is_Sc=- CHAM}', "");
-Expect(1, 43519, '\p{^Is_Sc=- CHAM}', "");
-Expect(1, 43519, '\P{Is_Sc=- CHAM}', "");
-Expect(0, 43519, '\P{^Is_Sc=- CHAM}', "");
-Error('\p{Script= Tibetan:=}');
-Error('\P{Script= Tibetan:=}');
-Expect(1, 3911, '\p{Script=tibetan}', "");
-Expect(0, 3911, '\p{^Script=tibetan}', "");
-Expect(0, 3911, '\P{Script=tibetan}', "");
-Expect(1, 3911, '\P{^Script=tibetan}', "");
-Expect(0, 3839, '\p{Script=tibetan}', "");
-Expect(1, 3839, '\p{^Script=tibetan}', "");
-Expect(1, 3839, '\P{Script=tibetan}', "");
-Expect(0, 3839, '\P{^Script=tibetan}', "");
-Expect(1, 3911, '\p{Script=_Tibetan}', "");
-Expect(0, 3911, '\p{^Script=_Tibetan}', "");
-Expect(0, 3911, '\P{Script=_Tibetan}', "");
-Expect(1, 3911, '\P{^Script=_Tibetan}', "");
-Expect(0, 3839, '\p{Script=_Tibetan}', "");
-Expect(1, 3839, '\p{^Script=_Tibetan}', "");
-Expect(1, 3839, '\P{Script=_Tibetan}', "");
-Expect(0, 3839, '\P{^Script=_Tibetan}', "");
-Error('\p{Sc=/a/ -Tibt}');
-Error('\P{Sc=/a/ -Tibt}');
-Expect(1, 3911, '\p{Sc=tibt}', "");
-Expect(0, 3911, '\p{^Sc=tibt}', "");
-Expect(0, 3911, '\P{Sc=tibt}', "");
-Expect(1, 3911, '\P{^Sc=tibt}', "");
-Expect(0, 3839, '\p{Sc=tibt}', "");
-Expect(1, 3839, '\p{^Sc=tibt}', "");
-Expect(1, 3839, '\P{Sc=tibt}', "");
-Expect(0, 3839, '\P{^Sc=tibt}', "");
-Expect(1, 3911, '\p{Sc= Tibt}', "");
-Expect(0, 3911, '\p{^Sc= Tibt}', "");
-Expect(0, 3911, '\P{Sc= Tibt}', "");
-Expect(1, 3911, '\P{^Sc= Tibt}', "");
-Expect(0, 3839, '\p{Sc= Tibt}', "");
-Expect(1, 3839, '\p{^Sc= Tibt}', "");
-Expect(1, 3839, '\P{Sc= Tibt}', "");
-Expect(0, 3839, '\P{^Sc= Tibt}', "");
-Error('\p{Is_Script=/a/Tibetan}');
-Error('\P{Is_Script=/a/Tibetan}');
-Expect(1, 3911, '\p{Is_Script=tibetan}', "");
-Expect(0, 3911, '\p{^Is_Script=tibetan}', "");
-Expect(0, 3911, '\P{Is_Script=tibetan}', "");
-Expect(1, 3911, '\P{^Is_Script=tibetan}', "");
-Expect(0, 3839, '\p{Is_Script=tibetan}', "");
-Expect(1, 3839, '\p{^Is_Script=tibetan}', "");
-Expect(1, 3839, '\P{Is_Script=tibetan}', "");
-Expect(0, 3839, '\P{^Is_Script=tibetan}', "");
-Expect(1, 3911, '\p{Is_Script= _Tibetan}', "");
-Expect(0, 3911, '\p{^Is_Script= _Tibetan}', "");
-Expect(0, 3911, '\P{Is_Script= _Tibetan}', "");
-Expect(1, 3911, '\P{^Is_Script= _Tibetan}', "");
-Expect(0, 3839, '\p{Is_Script= _Tibetan}', "");
-Expect(1, 3839, '\p{^Is_Script= _Tibetan}', "");
-Expect(1, 3839, '\P{Is_Script= _Tibetan}', "");
-Expect(0, 3839, '\P{^Is_Script= _Tibetan}', "");
-Error('\p{Is_Sc=/a/ _TIBT}');
-Error('\P{Is_Sc=/a/ _TIBT}');
-Expect(1, 3911, '\p{Is_Sc=tibt}', "");
-Expect(0, 3911, '\p{^Is_Sc=tibt}', "");
-Expect(0, 3911, '\P{Is_Sc=tibt}', "");
-Expect(1, 3911, '\P{^Is_Sc=tibt}', "");
-Expect(0, 3839, '\p{Is_Sc=tibt}', "");
-Expect(1, 3839, '\p{^Is_Sc=tibt}', "");
-Expect(1, 3839, '\P{Is_Sc=tibt}', "");
-Expect(0, 3839, '\P{^Is_Sc=tibt}', "");
-Expect(1, 3911, '\p{Is_Sc: - Tibt}', "");
-Expect(0, 3911, '\p{^Is_Sc: - Tibt}', "");
-Expect(0, 3911, '\P{Is_Sc: - Tibt}', "");
-Expect(1, 3911, '\P{^Is_Sc: - Tibt}', "");
-Expect(0, 3839, '\p{Is_Sc: - Tibt}', "");
-Expect(1, 3839, '\p{^Is_Sc: - Tibt}', "");
-Expect(1, 3839, '\P{Is_Sc: - Tibt}', "");
-Expect(0, 3839, '\P{^Is_Sc: - Tibt}', "");
-Error('\p{Script= Ogham/a/}');
-Error('\P{Script= Ogham/a/}');
-Expect(1, 5788, '\p{Script=ogham}', "");
-Expect(0, 5788, '\p{^Script=ogham}', "");
-Expect(0, 5788, '\P{Script=ogham}', "");
-Expect(1, 5788, '\P{^Script=ogham}', "");
-Expect(0, 5759, '\p{Script=ogham}', "");
-Expect(1, 5759, '\p{^Script=ogham}', "");
-Expect(1, 5759, '\P{Script=ogham}', "");
-Expect(0, 5759, '\P{^Script=ogham}', "");
-Expect(1, 5788, '\p{Script= OGHAM}', "");
-Expect(0, 5788, '\p{^Script= OGHAM}', "");
-Expect(0, 5788, '\P{Script= OGHAM}', "");
-Expect(1, 5788, '\P{^Script= OGHAM}', "");
-Expect(0, 5759, '\p{Script= OGHAM}', "");
-Expect(1, 5759, '\p{^Script= OGHAM}', "");
-Expect(1, 5759, '\P{Script= OGHAM}', "");
-Expect(0, 5759, '\P{^Script= OGHAM}', "");
-Error('\p{Sc=--OGAM:=}');
-Error('\P{Sc=--OGAM:=}');
-Expect(1, 5788, '\p{Sc=ogam}', "");
-Expect(0, 5788, '\p{^Sc=ogam}', "");
-Expect(0, 5788, '\P{Sc=ogam}', "");
-Expect(1, 5788, '\P{^Sc=ogam}', "");
-Expect(0, 5759, '\p{Sc=ogam}', "");
-Expect(1, 5759, '\p{^Sc=ogam}', "");
-Expect(1, 5759, '\P{Sc=ogam}', "");
-Expect(0, 5759, '\P{^Sc=ogam}', "");
-Expect(1, 5788, '\p{Sc=_Ogam}', "");
-Expect(0, 5788, '\p{^Sc=_Ogam}', "");
-Expect(0, 5788, '\P{Sc=_Ogam}', "");
-Expect(1, 5788, '\P{^Sc=_Ogam}', "");
-Expect(0, 5759, '\p{Sc=_Ogam}', "");
-Expect(1, 5759, '\p{^Sc=_Ogam}', "");
-Expect(1, 5759, '\P{Sc=_Ogam}', "");
-Expect(0, 5759, '\P{^Sc=_Ogam}', "");
-Error('\p{Is_Script: := OGHAM}');
-Error('\P{Is_Script: := OGHAM}');
-Expect(1, 5788, '\p{Is_Script=ogham}', "");
-Expect(0, 5788, '\p{^Is_Script=ogham}', "");
-Expect(0, 5788, '\P{Is_Script=ogham}', "");
-Expect(1, 5788, '\P{^Is_Script=ogham}', "");
-Expect(0, 5759, '\p{Is_Script=ogham}', "");
-Expect(1, 5759, '\p{^Is_Script=ogham}', "");
-Expect(1, 5759, '\P{Is_Script=ogham}', "");
-Expect(0, 5759, '\P{^Is_Script=ogham}', "");
-Expect(1, 5788, '\p{Is_Script=_-Ogham}', "");
-Expect(0, 5788, '\p{^Is_Script=_-Ogham}', "");
-Expect(0, 5788, '\P{Is_Script=_-Ogham}', "");
-Expect(1, 5788, '\P{^Is_Script=_-Ogham}', "");
-Expect(0, 5759, '\p{Is_Script=_-Ogham}', "");
-Expect(1, 5759, '\p{^Is_Script=_-Ogham}', "");
-Expect(1, 5759, '\P{Is_Script=_-Ogham}', "");
-Expect(0, 5759, '\P{^Is_Script=_-Ogham}', "");
-Error('\p{Is_Sc=/a/ _Ogam}');
-Error('\P{Is_Sc=/a/ _Ogam}');
-Expect(1, 5788, '\p{Is_Sc=ogam}', "");
-Expect(0, 5788, '\p{^Is_Sc=ogam}', "");
-Expect(0, 5788, '\P{Is_Sc=ogam}', "");
-Expect(1, 5788, '\P{^Is_Sc=ogam}', "");
-Expect(0, 5759, '\p{Is_Sc=ogam}', "");
-Expect(1, 5759, '\p{^Is_Sc=ogam}', "");
-Expect(1, 5759, '\P{Is_Sc=ogam}', "");
-Expect(0, 5759, '\P{^Is_Sc=ogam}', "");
-Expect(1, 5788, '\p{Is_Sc=_-Ogam}', "");
-Expect(0, 5788, '\p{^Is_Sc=_-Ogam}', "");
-Expect(0, 5788, '\P{Is_Sc=_-Ogam}', "");
-Expect(1, 5788, '\P{^Is_Sc=_-Ogam}', "");
-Expect(0, 5759, '\p{Is_Sc=_-Ogam}', "");
-Expect(1, 5759, '\p{^Is_Sc=_-Ogam}', "");
-Expect(1, 5759, '\P{Is_Sc=_-Ogam}', "");
-Expect(0, 5759, '\P{^Is_Sc=_-Ogam}', "");
-Error('\p{Script= _TAI Viet:=}');
-Error('\P{Script= _TAI Viet:=}');
-Expect(1, 43714, '\p{Script=taiviet}', "");
-Expect(0, 43714, '\p{^Script=taiviet}', "");
-Expect(0, 43714, '\P{Script=taiviet}', "");
-Expect(1, 43714, '\P{^Script=taiviet}', "");
-Expect(0, 43647, '\p{Script=taiviet}', "");
-Expect(1, 43647, '\p{^Script=taiviet}', "");
-Expect(1, 43647, '\P{Script=taiviet}', "");
-Expect(0, 43647, '\P{^Script=taiviet}', "");
-Expect(1, 43714, '\p{Script=- Tai Viet}', "");
-Expect(0, 43714, '\p{^Script=- Tai Viet}', "");
-Expect(0, 43714, '\P{Script=- Tai Viet}', "");
-Expect(1, 43714, '\P{^Script=- Tai Viet}', "");
-Expect(0, 43647, '\p{Script=- Tai Viet}', "");
-Expect(1, 43647, '\p{^Script=- Tai Viet}', "");
-Expect(1, 43647, '\P{Script=- Tai Viet}', "");
-Expect(0, 43647, '\P{^Script=- Tai Viet}', "");
-Error('\p{Sc= Tavt/a/}');
-Error('\P{Sc= Tavt/a/}');
-Expect(1, 43714, '\p{Sc=tavt}', "");
-Expect(0, 43714, '\p{^Sc=tavt}', "");
-Expect(0, 43714, '\P{Sc=tavt}', "");
-Expect(1, 43714, '\P{^Sc=tavt}', "");
-Expect(0, 43647, '\p{Sc=tavt}', "");
-Expect(1, 43647, '\p{^Sc=tavt}', "");
-Expect(1, 43647, '\P{Sc=tavt}', "");
-Expect(0, 43647, '\P{^Sc=tavt}', "");
-Expect(1, 43714, '\p{Sc=--Tavt}', "");
-Expect(0, 43714, '\p{^Sc=--Tavt}', "");
-Expect(0, 43714, '\P{Sc=--Tavt}', "");
-Expect(1, 43714, '\P{^Sc=--Tavt}', "");
-Expect(0, 43647, '\p{Sc=--Tavt}', "");
-Expect(1, 43647, '\p{^Sc=--Tavt}', "");
-Expect(1, 43647, '\P{Sc=--Tavt}', "");
-Expect(0, 43647, '\P{^Sc=--Tavt}', "");
-Error('\p{Is_Script= /a/TAI VIET}');
-Error('\P{Is_Script= /a/TAI VIET}');
-Expect(1, 43714, '\p{Is_Script=taiviet}', "");
-Expect(0, 43714, '\p{^Is_Script=taiviet}', "");
-Expect(0, 43714, '\P{Is_Script=taiviet}', "");
-Expect(1, 43714, '\P{^Is_Script=taiviet}', "");
-Expect(0, 43647, '\p{Is_Script=taiviet}', "");
-Expect(1, 43647, '\p{^Is_Script=taiviet}', "");
-Expect(1, 43647, '\P{Is_Script=taiviet}', "");
-Expect(0, 43647, '\P{^Is_Script=taiviet}', "");
-Expect(1, 43714, '\p{Is_Script= -TAI VIET}', "");
-Expect(0, 43714, '\p{^Is_Script= -TAI VIET}', "");
-Expect(0, 43714, '\P{Is_Script= -TAI VIET}', "");
-Expect(1, 43714, '\P{^Is_Script= -TAI VIET}', "");
-Expect(0, 43647, '\p{Is_Script= -TAI VIET}', "");
-Expect(1, 43647, '\p{^Is_Script= -TAI VIET}', "");
-Expect(1, 43647, '\P{Is_Script= -TAI VIET}', "");
-Expect(0, 43647, '\P{^Is_Script= -TAI VIET}', "");
-Error('\p{Is_Sc=/a/-TAVT}');
-Error('\P{Is_Sc=/a/-TAVT}');
-Expect(1, 43714, '\p{Is_Sc=tavt}', "");
-Expect(0, 43714, '\p{^Is_Sc=tavt}', "");
-Expect(0, 43714, '\P{Is_Sc=tavt}', "");
-Expect(1, 43714, '\P{^Is_Sc=tavt}', "");
-Expect(0, 43647, '\p{Is_Sc=tavt}', "");
-Expect(1, 43647, '\p{^Is_Sc=tavt}', "");
-Expect(1, 43647, '\P{Is_Sc=tavt}', "");
-Expect(0, 43647, '\P{^Is_Sc=tavt}', "");
-Expect(1, 43714, '\p{Is_Sc=__tavt}', "");
-Expect(0, 43714, '\p{^Is_Sc=__tavt}', "");
-Expect(0, 43714, '\P{Is_Sc=__tavt}', "");
-Expect(1, 43714, '\P{^Is_Sc=__tavt}', "");
-Expect(0, 43647, '\p{Is_Sc=__tavt}', "");
-Expect(1, 43647, '\p{^Is_Sc=__tavt}', "");
-Expect(1, 43647, '\P{Is_Sc=__tavt}', "");
-Expect(0, 43647, '\P{^Is_Sc=__tavt}', "");
-Error('\p{Script=:=_ MALAYALAM}');
-Error('\P{Script=:=_ MALAYALAM}');
-Expect(1, 3331, '\p{Script: malayalam}', "");
-Expect(0, 3331, '\p{^Script: malayalam}', "");
-Expect(0, 3331, '\P{Script: malayalam}', "");
-Expect(1, 3331, '\P{^Script: malayalam}', "");
-Expect(0, 3329, '\p{Script: malayalam}', "");
-Expect(1, 3329, '\p{^Script: malayalam}', "");
-Expect(1, 3329, '\P{Script: malayalam}', "");
-Expect(0, 3329, '\P{^Script: malayalam}', "");
-Expect(1, 3331, '\p{Script=_ Malayalam}', "");
-Expect(0, 3331, '\p{^Script=_ Malayalam}', "");
-Expect(0, 3331, '\P{Script=_ Malayalam}', "");
-Expect(1, 3331, '\P{^Script=_ Malayalam}', "");
-Expect(0, 3329, '\p{Script=_ Malayalam}', "");
-Expect(1, 3329, '\p{^Script=_ Malayalam}', "");
-Expect(1, 3329, '\P{Script=_ Malayalam}', "");
-Expect(0, 3329, '\P{^Script=_ Malayalam}', "");
-Error('\p{Sc=-/a/Mlym}');
-Error('\P{Sc=-/a/Mlym}');
-Expect(1, 3331, '\p{Sc=mlym}', "");
-Expect(0, 3331, '\p{^Sc=mlym}', "");
-Expect(0, 3331, '\P{Sc=mlym}', "");
-Expect(1, 3331, '\P{^Sc=mlym}', "");
-Expect(0, 3329, '\p{Sc=mlym}', "");
-Expect(1, 3329, '\p{^Sc=mlym}', "");
-Expect(1, 3329, '\P{Sc=mlym}', "");
-Expect(0, 3329, '\P{^Sc=mlym}', "");
-Expect(1, 3331, '\p{Sc=- Mlym}', "");
-Expect(0, 3331, '\p{^Sc=- Mlym}', "");
-Expect(0, 3331, '\P{Sc=- Mlym}', "");
-Expect(1, 3331, '\P{^Sc=- Mlym}', "");
-Expect(0, 3329, '\p{Sc=- Mlym}', "");
-Expect(1, 3329, '\p{^Sc=- Mlym}', "");
-Expect(1, 3329, '\P{Sc=- Mlym}', "");
-Expect(0, 3329, '\P{^Sc=- Mlym}', "");
-Error('\p{Is_Script= malayalam:=}');
-Error('\P{Is_Script= malayalam:=}');
-Expect(1, 3331, '\p{Is_Script=malayalam}', "");
-Expect(0, 3331, '\p{^Is_Script=malayalam}', "");
-Expect(0, 3331, '\P{Is_Script=malayalam}', "");
-Expect(1, 3331, '\P{^Is_Script=malayalam}', "");
-Expect(0, 3329, '\p{Is_Script=malayalam}', "");
-Expect(1, 3329, '\p{^Is_Script=malayalam}', "");
-Expect(1, 3329, '\P{Is_Script=malayalam}', "");
-Expect(0, 3329, '\P{^Is_Script=malayalam}', "");
-Expect(1, 3331, '\p{Is_Script=-_malayalam}', "");
-Expect(0, 3331, '\p{^Is_Script=-_malayalam}', "");
-Expect(0, 3331, '\P{Is_Script=-_malayalam}', "");
-Expect(1, 3331, '\P{^Is_Script=-_malayalam}', "");
-Expect(0, 3329, '\p{Is_Script=-_malayalam}', "");
-Expect(1, 3329, '\p{^Is_Script=-_malayalam}', "");
-Expect(1, 3329, '\P{Is_Script=-_malayalam}', "");
-Expect(0, 3329, '\P{^Is_Script=-_malayalam}', "");
-Error('\p{Is_Sc=:=_Mlym}');
-Error('\P{Is_Sc=:=_Mlym}');
-Expect(1, 3331, '\p{Is_Sc=mlym}', "");
-Expect(0, 3331, '\p{^Is_Sc=mlym}', "");
-Expect(0, 3331, '\P{Is_Sc=mlym}', "");
-Expect(1, 3331, '\P{^Is_Sc=mlym}', "");
-Expect(0, 3329, '\p{Is_Sc=mlym}', "");
-Expect(1, 3329, '\p{^Is_Sc=mlym}', "");
-Expect(1, 3329, '\P{Is_Sc=mlym}', "");
-Expect(0, 3329, '\P{^Is_Sc=mlym}', "");
-Expect(1, 3331, '\p{Is_Sc=-Mlym}', "");
-Expect(0, 3331, '\p{^Is_Sc=-Mlym}', "");
-Expect(0, 3331, '\P{Is_Sc=-Mlym}', "");
-Expect(1, 3331, '\P{^Is_Sc=-Mlym}', "");
-Expect(0, 3329, '\p{Is_Sc=-Mlym}', "");
-Expect(1, 3329, '\p{^Is_Sc=-Mlym}', "");
-Expect(1, 3329, '\P{Is_Sc=-Mlym}', "");
-Expect(0, 3329, '\P{^Is_Sc=-Mlym}', "");
-Error('\p{Script=_:=OldPERSIAN}');
-Error('\P{Script=_:=OldPERSIAN}');
-Expect(1, 66499, '\p{Script=oldpersian}', "");
-Expect(0, 66499, '\p{^Script=oldpersian}', "");
-Expect(0, 66499, '\P{Script=oldpersian}', "");
-Expect(1, 66499, '\P{^Script=oldpersian}', "");
-Expect(0, 66463, '\p{Script=oldpersian}', "");
-Expect(1, 66463, '\p{^Script=oldpersian}', "");
-Expect(1, 66463, '\P{Script=oldpersian}', "");
-Expect(0, 66463, '\P{^Script=oldpersian}', "");
-Expect(1, 66499, '\p{Script= OldPERSIAN}', "");
-Expect(0, 66499, '\p{^Script= OldPERSIAN}', "");
-Expect(0, 66499, '\P{Script= OldPERSIAN}', "");
-Expect(1, 66499, '\P{^Script= OldPERSIAN}', "");
-Expect(0, 66463, '\p{Script= OldPERSIAN}', "");
-Expect(1, 66463, '\p{^Script= OldPERSIAN}', "");
-Expect(1, 66463, '\P{Script= OldPERSIAN}', "");
-Expect(0, 66463, '\P{^Script= OldPERSIAN}', "");
-Error('\p{Sc: _ Xpeo:=}');
-Error('\P{Sc: _ Xpeo:=}');
-Expect(1, 66499, '\p{Sc=xpeo}', "");
-Expect(0, 66499, '\p{^Sc=xpeo}', "");
-Expect(0, 66499, '\P{Sc=xpeo}', "");
-Expect(1, 66499, '\P{^Sc=xpeo}', "");
-Expect(0, 66463, '\p{Sc=xpeo}', "");
-Expect(1, 66463, '\p{^Sc=xpeo}', "");
-Expect(1, 66463, '\P{Sc=xpeo}', "");
-Expect(0, 66463, '\P{^Sc=xpeo}', "");
-Expect(1, 66499, '\p{Sc=- Xpeo}', "");
-Expect(0, 66499, '\p{^Sc=- Xpeo}', "");
-Expect(0, 66499, '\P{Sc=- Xpeo}', "");
-Expect(1, 66499, '\P{^Sc=- Xpeo}', "");
-Expect(0, 66463, '\p{Sc=- Xpeo}', "");
-Expect(1, 66463, '\p{^Sc=- Xpeo}', "");
-Expect(1, 66463, '\P{Sc=- Xpeo}', "");
-Expect(0, 66463, '\P{^Sc=- Xpeo}', "");
-Error('\p{Is_Script= old_Persian:=}');
-Error('\P{Is_Script= old_Persian:=}');
-Expect(1, 66499, '\p{Is_Script: oldpersian}', "");
-Expect(0, 66499, '\p{^Is_Script: oldpersian}', "");
-Expect(0, 66499, '\P{Is_Script: oldpersian}', "");
-Expect(1, 66499, '\P{^Is_Script: oldpersian}', "");
-Expect(0, 66463, '\p{Is_Script: oldpersian}', "");
-Expect(1, 66463, '\p{^Is_Script: oldpersian}', "");
-Expect(1, 66463, '\P{Is_Script: oldpersian}', "");
-Expect(0, 66463, '\P{^Is_Script: oldpersian}', "");
-Expect(1, 66499, '\p{Is_Script=_Old_Persian}', "");
-Expect(0, 66499, '\p{^Is_Script=_Old_Persian}', "");
-Expect(0, 66499, '\P{Is_Script=_Old_Persian}', "");
-Expect(1, 66499, '\P{^Is_Script=_Old_Persian}', "");
-Expect(0, 66463, '\p{Is_Script=_Old_Persian}', "");
-Expect(1, 66463, '\p{^Is_Script=_Old_Persian}', "");
-Expect(1, 66463, '\P{Is_Script=_Old_Persian}', "");
-Expect(0, 66463, '\P{^Is_Script=_Old_Persian}', "");
-Error('\p{Is_Sc= :=xpeo}');
-Error('\P{Is_Sc= :=xpeo}');
-Expect(1, 66499, '\p{Is_Sc=xpeo}', "");
-Expect(0, 66499, '\p{^Is_Sc=xpeo}', "");
-Expect(0, 66499, '\P{Is_Sc=xpeo}', "");
-Expect(1, 66499, '\P{^Is_Sc=xpeo}', "");
-Expect(0, 66463, '\p{Is_Sc=xpeo}', "");
-Expect(1, 66463, '\p{^Is_Sc=xpeo}', "");
-Expect(1, 66463, '\P{Is_Sc=xpeo}', "");
-Expect(0, 66463, '\P{^Is_Sc=xpeo}', "");
-Expect(1, 66499, '\p{Is_Sc= _xpeo}', "");
-Expect(0, 66499, '\p{^Is_Sc= _xpeo}', "");
-Expect(0, 66499, '\P{Is_Sc= _xpeo}', "");
-Expect(1, 66499, '\P{^Is_Sc= _xpeo}', "");
-Expect(0, 66463, '\p{Is_Sc= _xpeo}', "");
-Expect(1, 66463, '\p{^Is_Sc= _xpeo}', "");
-Expect(1, 66463, '\P{Is_Sc= _xpeo}', "");
-Expect(0, 66463, '\P{^Is_Sc= _xpeo}', "");
-Error('\p{Script= -myanmar:=}');
-Error('\P{Script= -myanmar:=}');
-Expect(1, 4255, '\p{Script=myanmar}', "");
-Expect(0, 4255, '\p{^Script=myanmar}', "");
-Expect(0, 4255, '\P{Script=myanmar}', "");
-Expect(1, 4255, '\P{^Script=myanmar}', "");
-Expect(0, 4095, '\p{Script=myanmar}', "");
-Expect(1, 4095, '\p{^Script=myanmar}', "");
-Expect(1, 4095, '\P{Script=myanmar}', "");
-Expect(0, 4095, '\P{^Script=myanmar}', "");
-Expect(1, 4255, '\p{Script=_ MYANMAR}', "");
-Expect(0, 4255, '\p{^Script=_ MYANMAR}', "");
-Expect(0, 4255, '\P{Script=_ MYANMAR}', "");
-Expect(1, 4255, '\P{^Script=_ MYANMAR}', "");
-Expect(0, 4095, '\p{Script=_ MYANMAR}', "");
-Expect(1, 4095, '\p{^Script=_ MYANMAR}', "");
-Expect(1, 4095, '\P{Script=_ MYANMAR}', "");
-Expect(0, 4095, '\P{^Script=_ MYANMAR}', "");
-Error('\p{Sc=/a/_MYMR}');
-Error('\P{Sc=/a/_MYMR}');
-Expect(1, 4255, '\p{Sc=mymr}', "");
-Expect(0, 4255, '\p{^Sc=mymr}', "");
-Expect(0, 4255, '\P{Sc=mymr}', "");
-Expect(1, 4255, '\P{^Sc=mymr}', "");
-Expect(0, 4095, '\p{Sc=mymr}', "");
-Expect(1, 4095, '\p{^Sc=mymr}', "");
-Expect(1, 4095, '\P{Sc=mymr}', "");
-Expect(0, 4095, '\P{^Sc=mymr}', "");
-Expect(1, 4255, '\p{Sc=-_mymr}', "");
-Expect(0, 4255, '\p{^Sc=-_mymr}', "");
-Expect(0, 4255, '\P{Sc=-_mymr}', "");
-Expect(1, 4255, '\P{^Sc=-_mymr}', "");
-Expect(0, 4095, '\p{Sc=-_mymr}', "");
-Expect(1, 4095, '\p{^Sc=-_mymr}', "");
-Expect(1, 4095, '\P{Sc=-_mymr}', "");
-Expect(0, 4095, '\P{^Sc=-_mymr}', "");
-Error('\p{Is_Script=/a/__Myanmar}');
-Error('\P{Is_Script=/a/__Myanmar}');
-Expect(1, 4255, '\p{Is_Script: myanmar}', "");
-Expect(0, 4255, '\p{^Is_Script: myanmar}', "");
-Expect(0, 4255, '\P{Is_Script: myanmar}', "");
-Expect(1, 4255, '\P{^Is_Script: myanmar}', "");
-Expect(0, 4095, '\p{Is_Script: myanmar}', "");
-Expect(1, 4095, '\p{^Is_Script: myanmar}', "");
-Expect(1, 4095, '\P{Is_Script: myanmar}', "");
-Expect(0, 4095, '\P{^Is_Script: myanmar}', "");
-Expect(1, 4255, '\p{Is_Script: -Myanmar}', "");
-Expect(0, 4255, '\p{^Is_Script: -Myanmar}', "");
-Expect(0, 4255, '\P{Is_Script: -Myanmar}', "");
-Expect(1, 4255, '\P{^Is_Script: -Myanmar}', "");
-Expect(0, 4095, '\p{Is_Script: -Myanmar}', "");
-Expect(1, 4095, '\p{^Is_Script: -Myanmar}', "");
-Expect(1, 4095, '\P{Is_Script: -Myanmar}', "");
-Expect(0, 4095, '\P{^Is_Script: -Myanmar}', "");
-Error('\p{Is_Sc=/a/ mymr}');
-Error('\P{Is_Sc=/a/ mymr}');
-Expect(1, 4255, '\p{Is_Sc=mymr}', "");
-Expect(0, 4255, '\p{^Is_Sc=mymr}', "");
-Expect(0, 4255, '\P{Is_Sc=mymr}', "");
-Expect(1, 4255, '\P{^Is_Sc=mymr}', "");
-Expect(0, 4095, '\p{Is_Sc=mymr}', "");
-Expect(1, 4095, '\p{^Is_Sc=mymr}', "");
-Expect(1, 4095, '\P{Is_Sc=mymr}', "");
-Expect(0, 4095, '\P{^Is_Sc=mymr}', "");
-Expect(1, 4255, '\p{Is_Sc= Mymr}', "");
-Expect(0, 4255, '\p{^Is_Sc= Mymr}', "");
-Expect(0, 4255, '\P{Is_Sc= Mymr}', "");
-Expect(1, 4255, '\P{^Is_Sc= Mymr}', "");
-Expect(0, 4095, '\p{Is_Sc= Mymr}', "");
-Expect(1, 4095, '\p{^Is_Sc= Mymr}', "");
-Expect(1, 4095, '\P{Is_Sc= Mymr}', "");
-Expect(0, 4095, '\P{^Is_Sc= Mymr}', "");
-Error('\p{Script=/a/OldTurkic}');
-Error('\P{Script=/a/OldTurkic}');
-Expect(1, 68680, '\p{Script=oldturkic}', "");
-Expect(0, 68680, '\p{^Script=oldturkic}', "");
-Expect(0, 68680, '\P{Script=oldturkic}', "");
-Expect(1, 68680, '\P{^Script=oldturkic}', "");
-Expect(0, 68607, '\p{Script=oldturkic}', "");
-Expect(1, 68607, '\p{^Script=oldturkic}', "");
-Expect(1, 68607, '\P{Script=oldturkic}', "");
-Expect(0, 68607, '\P{^Script=oldturkic}', "");
-Expect(1, 68680, '\p{Script=_-oldTURKIC}', "");
-Expect(0, 68680, '\p{^Script=_-oldTURKIC}', "");
-Expect(0, 68680, '\P{Script=_-oldTURKIC}', "");
-Expect(1, 68680, '\P{^Script=_-oldTURKIC}', "");
-Expect(0, 68607, '\p{Script=_-oldTURKIC}', "");
-Expect(1, 68607, '\p{^Script=_-oldTURKIC}', "");
-Expect(1, 68607, '\P{Script=_-oldTURKIC}', "");
-Expect(0, 68607, '\P{^Script=_-oldTURKIC}', "");
-Error('\p{Sc= :=ORKH}');
-Error('\P{Sc= :=ORKH}');
-Expect(1, 68680, '\p{Sc=orkh}', "");
-Expect(0, 68680, '\p{^Sc=orkh}', "");
-Expect(0, 68680, '\P{Sc=orkh}', "");
-Expect(1, 68680, '\P{^Sc=orkh}', "");
-Expect(0, 68607, '\p{Sc=orkh}', "");
-Expect(1, 68607, '\p{^Sc=orkh}', "");
-Expect(1, 68607, '\P{Sc=orkh}', "");
-Expect(0, 68607, '\P{^Sc=orkh}', "");
-Expect(1, 68680, '\p{Sc=__orkh}', "");
-Expect(0, 68680, '\p{^Sc=__orkh}', "");
-Expect(0, 68680, '\P{Sc=__orkh}', "");
-Expect(1, 68680, '\P{^Sc=__orkh}', "");
-Expect(0, 68607, '\p{Sc=__orkh}', "");
-Expect(1, 68607, '\p{^Sc=__orkh}', "");
-Expect(1, 68607, '\P{Sc=__orkh}', "");
-Expect(0, 68607, '\P{^Sc=__orkh}', "");
-Error('\p{Is_Script=_:=Old Turkic}');
-Error('\P{Is_Script=_:=Old Turkic}');
-Expect(1, 68680, '\p{Is_Script=oldturkic}', "");
-Expect(0, 68680, '\p{^Is_Script=oldturkic}', "");
-Expect(0, 68680, '\P{Is_Script=oldturkic}', "");
-Expect(1, 68680, '\P{^Is_Script=oldturkic}', "");
-Expect(0, 68607, '\p{Is_Script=oldturkic}', "");
-Expect(1, 68607, '\p{^Is_Script=oldturkic}', "");
-Expect(1, 68607, '\P{Is_Script=oldturkic}', "");
-Expect(0, 68607, '\P{^Is_Script=oldturkic}', "");
-Expect(1, 68680, '\p{Is_Script= OldTurkic}', "");
-Expect(0, 68680, '\p{^Is_Script= OldTurkic}', "");
-Expect(0, 68680, '\P{Is_Script= OldTurkic}', "");
-Expect(1, 68680, '\P{^Is_Script= OldTurkic}', "");
-Expect(0, 68607, '\p{Is_Script= OldTurkic}', "");
-Expect(1, 68607, '\p{^Is_Script= OldTurkic}', "");
-Expect(1, 68607, '\P{Is_Script= OldTurkic}', "");
-Expect(0, 68607, '\P{^Is_Script= OldTurkic}', "");
-Error('\p{Is_Sc=:=_Orkh}');
-Error('\P{Is_Sc=:=_Orkh}');
-Expect(1, 68680, '\p{Is_Sc=orkh}', "");
-Expect(0, 68680, '\p{^Is_Sc=orkh}', "");
-Expect(0, 68680, '\P{Is_Sc=orkh}', "");
-Expect(1, 68680, '\P{^Is_Sc=orkh}', "");
-Expect(0, 68607, '\p{Is_Sc=orkh}', "");
-Expect(1, 68607, '\p{^Is_Sc=orkh}', "");
-Expect(1, 68607, '\P{Is_Sc=orkh}', "");
-Expect(0, 68607, '\P{^Is_Sc=orkh}', "");
-Expect(1, 68680, '\p{Is_Sc= Orkh}', "");
-Expect(0, 68680, '\p{^Is_Sc= Orkh}', "");
-Expect(0, 68680, '\P{Is_Sc= Orkh}', "");
-Expect(1, 68680, '\P{^Is_Sc= Orkh}', "");
-Expect(0, 68607, '\p{Is_Sc= Orkh}', "");
-Expect(1, 68607, '\p{^Is_Sc= Orkh}', "");
-Expect(1, 68607, '\P{Is_Sc= Orkh}', "");
-Expect(0, 68607, '\P{^Is_Sc= Orkh}', "");
-Error('\p{Script: _ osmanya:=}');
-Error('\P{Script: _ osmanya:=}');
-Expect(1, 66717, '\p{Script=osmanya}', "");
-Expect(0, 66717, '\p{^Script=osmanya}', "");
-Expect(0, 66717, '\P{Script=osmanya}', "");
-Expect(1, 66717, '\P{^Script=osmanya}', "");
-Expect(0, 66687, '\p{Script=osmanya}', "");
-Expect(1, 66687, '\p{^Script=osmanya}', "");
-Expect(1, 66687, '\P{Script=osmanya}', "");
-Expect(0, 66687, '\P{^Script=osmanya}', "");
-Expect(1, 66717, '\p{Script=-_Osmanya}', "");
-Expect(0, 66717, '\p{^Script=-_Osmanya}', "");
-Expect(0, 66717, '\P{Script=-_Osmanya}', "");
-Expect(1, 66717, '\P{^Script=-_Osmanya}', "");
-Expect(0, 66687, '\p{Script=-_Osmanya}', "");
-Expect(1, 66687, '\p{^Script=-_Osmanya}', "");
-Expect(1, 66687, '\P{Script=-_Osmanya}', "");
-Expect(0, 66687, '\P{^Script=-_Osmanya}', "");
-Error('\p{Sc= :=Osma}');
-Error('\P{Sc= :=Osma}');
-Expect(1, 66717, '\p{Sc=osma}', "");
-Expect(0, 66717, '\p{^Sc=osma}', "");
-Expect(0, 66717, '\P{Sc=osma}', "");
-Expect(1, 66717, '\P{^Sc=osma}', "");
-Expect(0, 66687, '\p{Sc=osma}', "");
-Expect(1, 66687, '\p{^Sc=osma}', "");
-Expect(1, 66687, '\P{Sc=osma}', "");
-Expect(0, 66687, '\P{^Sc=osma}', "");
-Expect(1, 66717, '\p{Sc=-Osma}', "");
-Expect(0, 66717, '\p{^Sc=-Osma}', "");
-Expect(0, 66717, '\P{Sc=-Osma}', "");
-Expect(1, 66717, '\P{^Sc=-Osma}', "");
-Expect(0, 66687, '\p{Sc=-Osma}', "");
-Expect(1, 66687, '\p{^Sc=-Osma}', "");
-Expect(1, 66687, '\P{Sc=-Osma}', "");
-Expect(0, 66687, '\P{^Sc=-Osma}', "");
-Error('\p{Is_Script=_/a/Osmanya}');
-Error('\P{Is_Script=_/a/Osmanya}');
-Expect(1, 66717, '\p{Is_Script=osmanya}', "");
-Expect(0, 66717, '\p{^Is_Script=osmanya}', "");
-Expect(0, 66717, '\P{Is_Script=osmanya}', "");
-Expect(1, 66717, '\P{^Is_Script=osmanya}', "");
-Expect(0, 66687, '\p{Is_Script=osmanya}', "");
-Expect(1, 66687, '\p{^Is_Script=osmanya}', "");
-Expect(1, 66687, '\P{Is_Script=osmanya}', "");
-Expect(0, 66687, '\P{^Is_Script=osmanya}', "");
-Expect(1, 66717, '\p{Is_Script= OSMANYA}', "");
-Expect(0, 66717, '\p{^Is_Script= OSMANYA}', "");
-Expect(0, 66717, '\P{Is_Script= OSMANYA}', "");
-Expect(1, 66717, '\P{^Is_Script= OSMANYA}', "");
-Expect(0, 66687, '\p{Is_Script= OSMANYA}', "");
-Expect(1, 66687, '\p{^Is_Script= OSMANYA}', "");
-Expect(1, 66687, '\P{Is_Script= OSMANYA}', "");
-Expect(0, 66687, '\P{^Is_Script= OSMANYA}', "");
-Error('\p{Is_Sc: _OSMA/a/}');
-Error('\P{Is_Sc: _OSMA/a/}');
-Expect(1, 66717, '\p{Is_Sc=osma}', "");
-Expect(0, 66717, '\p{^Is_Sc=osma}', "");
-Expect(0, 66717, '\P{Is_Sc=osma}', "");
-Expect(1, 66717, '\P{^Is_Sc=osma}', "");
-Expect(0, 66687, '\p{Is_Sc=osma}', "");
-Expect(1, 66687, '\p{^Is_Sc=osma}', "");
-Expect(1, 66687, '\P{Is_Sc=osma}', "");
-Expect(0, 66687, '\P{^Is_Sc=osma}', "");
-Expect(1, 66717, '\p{Is_Sc=_-Osma}', "");
-Expect(0, 66717, '\p{^Is_Sc=_-Osma}', "");
-Expect(0, 66717, '\P{Is_Sc=_-Osma}', "");
-Expect(1, 66717, '\P{^Is_Sc=_-Osma}', "");
-Expect(0, 66687, '\p{Is_Sc=_-Osma}', "");
-Expect(1, 66687, '\p{^Is_Sc=_-Osma}', "");
-Expect(1, 66687, '\P{Is_Sc=_-Osma}', "");
-Expect(0, 66687, '\P{^Is_Sc=_-Osma}', "");
-Error('\p{Script:-TAGALOG/a/}');
-Error('\P{Script:-TAGALOG/a/}');
-Expect(1, 5900, '\p{Script=tagalog}', "");
-Expect(0, 5900, '\p{^Script=tagalog}', "");
-Expect(0, 5900, '\P{Script=tagalog}', "");
-Expect(1, 5900, '\P{^Script=tagalog}', "");
-Expect(0, 5887, '\p{Script=tagalog}', "");
-Expect(1, 5887, '\p{^Script=tagalog}', "");
-Expect(1, 5887, '\P{Script=tagalog}', "");
-Expect(0, 5887, '\P{^Script=tagalog}', "");
-Expect(1, 5900, '\p{Script= TAGALOG}', "");
-Expect(0, 5900, '\p{^Script= TAGALOG}', "");
-Expect(0, 5900, '\P{Script= TAGALOG}', "");
-Expect(1, 5900, '\P{^Script= TAGALOG}', "");
-Expect(0, 5887, '\p{Script= TAGALOG}', "");
-Expect(1, 5887, '\p{^Script= TAGALOG}', "");
-Expect(1, 5887, '\P{Script= TAGALOG}', "");
-Expect(0, 5887, '\P{^Script= TAGALOG}', "");
-Error('\p{Sc= TGLG:=}');
-Error('\P{Sc= TGLG:=}');
-Expect(1, 5900, '\p{Sc=tglg}', "");
-Expect(0, 5900, '\p{^Sc=tglg}', "");
-Expect(0, 5900, '\P{Sc=tglg}', "");
-Expect(1, 5900, '\P{^Sc=tglg}', "");
-Expect(0, 5887, '\p{Sc=tglg}', "");
-Expect(1, 5887, '\p{^Sc=tglg}', "");
-Expect(1, 5887, '\P{Sc=tglg}', "");
-Expect(0, 5887, '\P{^Sc=tglg}', "");
-Expect(1, 5900, '\p{Sc= _TGLG}', "");
-Expect(0, 5900, '\p{^Sc= _TGLG}', "");
-Expect(0, 5900, '\P{Sc= _TGLG}', "");
-Expect(1, 5900, '\P{^Sc= _TGLG}', "");
-Expect(0, 5887, '\p{Sc= _TGLG}', "");
-Expect(1, 5887, '\p{^Sc= _TGLG}', "");
-Expect(1, 5887, '\P{Sc= _TGLG}', "");
-Expect(0, 5887, '\P{^Sc= _TGLG}', "");
-Error('\p{Is_Script=_Tagalog:=}');
-Error('\P{Is_Script=_Tagalog:=}');
-Expect(1, 5900, '\p{Is_Script=tagalog}', "");
-Expect(0, 5900, '\p{^Is_Script=tagalog}', "");
-Expect(0, 5900, '\P{Is_Script=tagalog}', "");
-Expect(1, 5900, '\P{^Is_Script=tagalog}', "");
-Expect(0, 5887, '\p{Is_Script=tagalog}', "");
-Expect(1, 5887, '\p{^Is_Script=tagalog}', "");
-Expect(1, 5887, '\P{Is_Script=tagalog}', "");
-Expect(0, 5887, '\P{^Is_Script=tagalog}', "");
-Expect(1, 5900, '\p{Is_Script=_ Tagalog}', "");
-Expect(0, 5900, '\p{^Is_Script=_ Tagalog}', "");
-Expect(0, 5900, '\P{Is_Script=_ Tagalog}', "");
-Expect(1, 5900, '\P{^Is_Script=_ Tagalog}', "");
-Expect(0, 5887, '\p{Is_Script=_ Tagalog}', "");
-Expect(1, 5887, '\p{^Is_Script=_ Tagalog}', "");
-Expect(1, 5887, '\P{Is_Script=_ Tagalog}', "");
-Expect(0, 5887, '\P{^Is_Script=_ Tagalog}', "");
-Error('\p{Is_Sc: :=Tglg}');
-Error('\P{Is_Sc: :=Tglg}');
-Expect(1, 5900, '\p{Is_Sc=tglg}', "");
-Expect(0, 5900, '\p{^Is_Sc=tglg}', "");
-Expect(0, 5900, '\P{Is_Sc=tglg}', "");
-Expect(1, 5900, '\P{^Is_Sc=tglg}', "");
-Expect(0, 5887, '\p{Is_Sc=tglg}', "");
-Expect(1, 5887, '\p{^Is_Sc=tglg}', "");
-Expect(1, 5887, '\P{Is_Sc=tglg}', "");
-Expect(0, 5887, '\P{^Is_Sc=tglg}', "");
-Expect(1, 5900, '\p{Is_Sc=-TGLG}', "");
-Expect(0, 5900, '\p{^Is_Sc=-TGLG}', "");
-Expect(0, 5900, '\P{Is_Sc=-TGLG}', "");
-Expect(1, 5900, '\P{^Is_Sc=-TGLG}', "");
-Expect(0, 5887, '\p{Is_Sc=-TGLG}', "");
-Expect(1, 5887, '\p{^Is_Sc=-TGLG}', "");
-Expect(1, 5887, '\P{Is_Sc=-TGLG}', "");
-Expect(0, 5887, '\P{^Is_Sc=-TGLG}', "");
-Error('\p{Script= _GUJARATI/a/}');
-Error('\P{Script= _GUJARATI/a/}');
-Expect(1, 2691, '\p{Script=gujarati}', "");
-Expect(0, 2691, '\p{^Script=gujarati}', "");
-Expect(0, 2691, '\P{Script=gujarati}', "");
-Expect(1, 2691, '\P{^Script=gujarati}', "");
-Expect(0, 2688, '\p{Script=gujarati}', "");
-Expect(1, 2688, '\p{^Script=gujarati}', "");
-Expect(1, 2688, '\P{Script=gujarati}', "");
-Expect(0, 2688, '\P{^Script=gujarati}', "");
-Expect(1, 2691, '\p{Script=- Gujarati}', "");
-Expect(0, 2691, '\p{^Script=- Gujarati}', "");
-Expect(0, 2691, '\P{Script=- Gujarati}', "");
-Expect(1, 2691, '\P{^Script=- Gujarati}', "");
-Expect(0, 2688, '\p{Script=- Gujarati}', "");
-Expect(1, 2688, '\p{^Script=- Gujarati}', "");
-Expect(1, 2688, '\P{Script=- Gujarati}', "");
-Expect(0, 2688, '\P{^Script=- Gujarati}', "");
-Error('\p{Sc= GUJR/a/}');
-Error('\P{Sc= GUJR/a/}');
-Expect(1, 2691, '\p{Sc=gujr}', "");
-Expect(0, 2691, '\p{^Sc=gujr}', "");
-Expect(0, 2691, '\P{Sc=gujr}', "");
-Expect(1, 2691, '\P{^Sc=gujr}', "");
-Expect(0, 2688, '\p{Sc=gujr}', "");
-Expect(1, 2688, '\p{^Sc=gujr}', "");
-Expect(1, 2688, '\P{Sc=gujr}', "");
-Expect(0, 2688, '\P{^Sc=gujr}', "");
-Expect(1, 2691, '\p{Sc= Gujr}', "");
-Expect(0, 2691, '\p{^Sc= Gujr}', "");
-Expect(0, 2691, '\P{Sc= Gujr}', "");
-Expect(1, 2691, '\P{^Sc= Gujr}', "");
-Expect(0, 2688, '\p{Sc= Gujr}', "");
-Expect(1, 2688, '\p{^Sc= Gujr}', "");
-Expect(1, 2688, '\P{Sc= Gujr}', "");
-Expect(0, 2688, '\P{^Sc= Gujr}', "");
-Error('\p{Is_Script=/a/_ GUJARATI}');
-Error('\P{Is_Script=/a/_ GUJARATI}');
-Expect(1, 2691, '\p{Is_Script=gujarati}', "");
-Expect(0, 2691, '\p{^Is_Script=gujarati}', "");
-Expect(0, 2691, '\P{Is_Script=gujarati}', "");
-Expect(1, 2691, '\P{^Is_Script=gujarati}', "");
-Expect(0, 2688, '\p{Is_Script=gujarati}', "");
-Expect(1, 2688, '\p{^Is_Script=gujarati}', "");
-Expect(1, 2688, '\P{Is_Script=gujarati}', "");
-Expect(0, 2688, '\P{^Is_Script=gujarati}', "");
-Expect(1, 2691, '\p{Is_Script=_GUJARATI}', "");
-Expect(0, 2691, '\p{^Is_Script=_GUJARATI}', "");
-Expect(0, 2691, '\P{Is_Script=_GUJARATI}', "");
-Expect(1, 2691, '\P{^Is_Script=_GUJARATI}', "");
-Expect(0, 2688, '\p{Is_Script=_GUJARATI}', "");
-Expect(1, 2688, '\p{^Is_Script=_GUJARATI}', "");
-Expect(1, 2688, '\P{Is_Script=_GUJARATI}', "");
-Expect(0, 2688, '\P{^Is_Script=_GUJARATI}', "");
-Error('\p{Is_Sc: :=-_gujr}');
-Error('\P{Is_Sc: :=-_gujr}');
-Expect(1, 2691, '\p{Is_Sc=gujr}', "");
-Expect(0, 2691, '\p{^Is_Sc=gujr}', "");
-Expect(0, 2691, '\P{Is_Sc=gujr}', "");
-Expect(1, 2691, '\P{^Is_Sc=gujr}', "");
-Expect(0, 2688, '\p{Is_Sc=gujr}', "");
-Expect(1, 2688, '\p{^Is_Sc=gujr}', "");
-Expect(1, 2688, '\P{Is_Sc=gujr}', "");
-Expect(0, 2688, '\P{^Is_Sc=gujr}', "");
-Expect(1, 2691, '\p{Is_Sc= Gujr}', "");
-Expect(0, 2691, '\p{^Is_Sc= Gujr}', "");
-Expect(0, 2691, '\P{Is_Sc= Gujr}', "");
-Expect(1, 2691, '\P{^Is_Sc= Gujr}', "");
-Expect(0, 2688, '\p{Is_Sc= Gujr}', "");
-Expect(1, 2688, '\p{^Is_Sc= Gujr}', "");
-Expect(1, 2688, '\P{Is_Sc= Gujr}', "");
-Expect(0, 2688, '\P{^Is_Sc= Gujr}', "");
-Error('\p{Script:ORIYA:=}');
-Error('\P{Script:ORIYA:=}');
-Expect(1, 2819, '\p{Script=oriya}', "");
-Expect(0, 2819, '\p{^Script=oriya}', "");
-Expect(0, 2819, '\P{Script=oriya}', "");
-Expect(1, 2819, '\P{^Script=oriya}', "");
-Expect(0, 2816, '\p{Script=oriya}', "");
-Expect(1, 2816, '\p{^Script=oriya}', "");
-Expect(1, 2816, '\P{Script=oriya}', "");
-Expect(0, 2816, '\P{^Script=oriya}', "");
-Expect(1, 2819, '\p{Script=_ ORIYA}', "");
-Expect(0, 2819, '\p{^Script=_ ORIYA}', "");
-Expect(0, 2819, '\P{Script=_ ORIYA}', "");
-Expect(1, 2819, '\P{^Script=_ ORIYA}', "");
-Expect(0, 2816, '\p{Script=_ ORIYA}', "");
-Expect(1, 2816, '\p{^Script=_ ORIYA}', "");
-Expect(1, 2816, '\P{Script=_ ORIYA}', "");
-Expect(0, 2816, '\P{^Script=_ ORIYA}', "");
-Error('\p{Sc= Orya/a/}');
-Error('\P{Sc= Orya/a/}');
-Expect(1, 2819, '\p{Sc=orya}', "");
-Expect(0, 2819, '\p{^Sc=orya}', "");
-Expect(0, 2819, '\P{Sc=orya}', "");
-Expect(1, 2819, '\P{^Sc=orya}', "");
-Expect(0, 2816, '\p{Sc=orya}', "");
-Expect(1, 2816, '\p{^Sc=orya}', "");
-Expect(1, 2816, '\P{Sc=orya}', "");
-Expect(0, 2816, '\P{^Sc=orya}', "");
-Expect(1, 2819, '\p{Sc= Orya}', "");
-Expect(0, 2819, '\p{^Sc= Orya}', "");
-Expect(0, 2819, '\P{Sc= Orya}', "");
-Expect(1, 2819, '\P{^Sc= Orya}', "");
-Expect(0, 2816, '\p{Sc= Orya}', "");
-Expect(1, 2816, '\p{^Sc= Orya}', "");
-Expect(1, 2816, '\P{Sc= Orya}', "");
-Expect(0, 2816, '\P{^Sc= Orya}', "");
-Error('\p{Is_Script=-:=ORIYA}');
-Error('\P{Is_Script=-:=ORIYA}');
-Expect(1, 2819, '\p{Is_Script=oriya}', "");
-Expect(0, 2819, '\p{^Is_Script=oriya}', "");
-Expect(0, 2819, '\P{Is_Script=oriya}', "");
-Expect(1, 2819, '\P{^Is_Script=oriya}', "");
-Expect(0, 2816, '\p{Is_Script=oriya}', "");
-Expect(1, 2816, '\p{^Is_Script=oriya}', "");
-Expect(1, 2816, '\P{Is_Script=oriya}', "");
-Expect(0, 2816, '\P{^Is_Script=oriya}', "");
-Expect(1, 2819, '\p{Is_Script=_ Oriya}', "");
-Expect(0, 2819, '\p{^Is_Script=_ Oriya}', "");
-Expect(0, 2819, '\P{Is_Script=_ Oriya}', "");
-Expect(1, 2819, '\P{^Is_Script=_ Oriya}', "");
-Expect(0, 2816, '\p{Is_Script=_ Oriya}', "");
-Expect(1, 2816, '\p{^Is_Script=_ Oriya}', "");
-Expect(1, 2816, '\P{Is_Script=_ Oriya}', "");
-Expect(0, 2816, '\P{^Is_Script=_ Oriya}', "");
-Error('\p{Is_Sc=-/a/ORYA}');
-Error('\P{Is_Sc=-/a/ORYA}');
-Expect(1, 2819, '\p{Is_Sc=orya}', "");
-Expect(0, 2819, '\p{^Is_Sc=orya}', "");
-Expect(0, 2819, '\P{Is_Sc=orya}', "");
-Expect(1, 2819, '\P{^Is_Sc=orya}', "");
-Expect(0, 2816, '\p{Is_Sc=orya}', "");
-Expect(1, 2816, '\p{^Is_Sc=orya}', "");
-Expect(1, 2816, '\P{Is_Sc=orya}', "");
-Expect(0, 2816, '\P{^Is_Sc=orya}', "");
-Expect(1, 2819, '\p{Is_Sc= Orya}', "");
-Expect(0, 2819, '\p{^Is_Sc= Orya}', "");
-Expect(0, 2819, '\P{Is_Sc= Orya}', "");
-Expect(1, 2819, '\P{^Is_Sc= Orya}', "");
-Expect(0, 2816, '\p{Is_Sc= Orya}', "");
-Expect(1, 2816, '\p{^Is_Sc= Orya}', "");
-Expect(1, 2816, '\P{Is_Sc= Orya}', "");
-Expect(0, 2816, '\P{^Is_Sc= Orya}', "");
-Error('\p{Script=/a/_Lisu}');
-Error('\P{Script=/a/_Lisu}');
-Expect(1, 42239, '\p{Script=lisu}', "");
-Expect(0, 42239, '\p{^Script=lisu}', "");
-Expect(0, 42239, '\P{Script=lisu}', "");
-Expect(1, 42239, '\P{^Script=lisu}', "");
-Expect(0, 42191, '\p{Script=lisu}', "");
-Expect(1, 42191, '\p{^Script=lisu}', "");
-Expect(1, 42191, '\P{Script=lisu}', "");
-Expect(0, 42191, '\P{^Script=lisu}', "");
-Expect(1, 42239, '\p{Script: __lisu}', "");
-Expect(0, 42239, '\p{^Script: __lisu}', "");
-Expect(0, 42239, '\P{Script: __lisu}', "");
-Expect(1, 42239, '\P{^Script: __lisu}', "");
-Expect(0, 42191, '\p{Script: __lisu}', "");
-Expect(1, 42191, '\p{^Script: __lisu}', "");
-Expect(1, 42191, '\P{Script: __lisu}', "");
-Expect(0, 42191, '\P{^Script: __lisu}', "");
-Error('\p{Sc= Lisu/a/}');
-Error('\P{Sc= Lisu/a/}');
-Expect(1, 42239, '\p{Sc=lisu}', "");
-Expect(0, 42239, '\p{^Sc=lisu}', "");
-Expect(0, 42239, '\P{Sc=lisu}', "");
-Expect(1, 42239, '\P{^Sc=lisu}', "");
-Expect(0, 42191, '\p{Sc=lisu}', "");
-Expect(1, 42191, '\p{^Sc=lisu}', "");
-Expect(1, 42191, '\P{Sc=lisu}', "");
-Expect(0, 42191, '\P{^Sc=lisu}', "");
-Expect(1, 42239, '\p{Sc= LISU}', "");
-Expect(0, 42239, '\p{^Sc= LISU}', "");
-Expect(0, 42239, '\P{Sc= LISU}', "");
-Expect(1, 42239, '\P{^Sc= LISU}', "");
-Expect(0, 42191, '\p{Sc= LISU}', "");
-Expect(1, 42191, '\p{^Sc= LISU}', "");
-Expect(1, 42191, '\P{Sc= LISU}', "");
-Expect(0, 42191, '\P{^Sc= LISU}', "");
-Error('\p{Is_Script=/a/_Lisu}');
-Error('\P{Is_Script=/a/_Lisu}');
-Expect(1, 42239, '\p{Is_Script=lisu}', "");
-Expect(0, 42239, '\p{^Is_Script=lisu}', "");
-Expect(0, 42239, '\P{Is_Script=lisu}', "");
-Expect(1, 42239, '\P{^Is_Script=lisu}', "");
-Expect(0, 42191, '\p{Is_Script=lisu}', "");
-Expect(1, 42191, '\p{^Is_Script=lisu}', "");
-Expect(1, 42191, '\P{Is_Script=lisu}', "");
-Expect(0, 42191, '\P{^Is_Script=lisu}', "");
-Expect(1, 42239, '\p{Is_Script=-lisu}', "");
-Expect(0, 42239, '\p{^Is_Script=-lisu}', "");
-Expect(0, 42239, '\P{Is_Script=-lisu}', "");
-Expect(1, 42239, '\P{^Is_Script=-lisu}', "");
-Expect(0, 42191, '\p{Is_Script=-lisu}', "");
-Expect(1, 42191, '\p{^Is_Script=-lisu}', "");
-Expect(1, 42191, '\P{Is_Script=-lisu}', "");
-Expect(0, 42191, '\P{^Is_Script=-lisu}', "");
-Error('\p{Is_Sc= :=Lisu}');
-Error('\P{Is_Sc= :=Lisu}');
-Expect(1, 42239, '\p{Is_Sc=lisu}', "");
-Expect(0, 42239, '\p{^Is_Sc=lisu}', "");
-Expect(0, 42239, '\P{Is_Sc=lisu}', "");
-Expect(1, 42239, '\P{^Is_Sc=lisu}', "");
-Expect(0, 42191, '\p{Is_Sc=lisu}', "");
-Expect(1, 42191, '\p{^Is_Sc=lisu}', "");
-Expect(1, 42191, '\P{Is_Sc=lisu}', "");
-Expect(0, 42191, '\P{^Is_Sc=lisu}', "");
-Expect(1, 42239, '\p{Is_Sc= -LISU}', "");
-Expect(0, 42239, '\p{^Is_Sc= -LISU}', "");
-Expect(0, 42239, '\P{Is_Sc= -LISU}', "");
-Expect(1, 42239, '\P{^Is_Sc= -LISU}', "");
-Expect(0, 42191, '\p{Is_Sc= -LISU}', "");
-Expect(1, 42191, '\p{^Is_Sc= -LISU}', "");
-Expect(1, 42191, '\P{Is_Sc= -LISU}', "");
-Expect(0, 42191, '\P{^Is_Sc= -LISU}', "");
-Error('\p{Script=/a/ Tai Le}');
-Error('\P{Script=/a/ Tai Le}');
-Expect(1, 6509, '\p{Script: taile}', "");
-Expect(0, 6509, '\p{^Script: taile}', "");
-Expect(0, 6509, '\P{Script: taile}', "");
-Expect(1, 6509, '\P{^Script: taile}', "");
-Expect(0, 6479, '\p{Script: taile}', "");
-Expect(1, 6479, '\p{^Script: taile}', "");
-Expect(1, 6479, '\P{Script: taile}', "");
-Expect(0, 6479, '\P{^Script: taile}', "");
-Expect(1, 6509, '\p{Script: - Tai LE}', "");
-Expect(0, 6509, '\p{^Script: - Tai LE}', "");
-Expect(0, 6509, '\P{Script: - Tai LE}', "");
-Expect(1, 6509, '\P{^Script: - Tai LE}', "");
-Expect(0, 6479, '\p{Script: - Tai LE}', "");
-Expect(1, 6479, '\p{^Script: - Tai LE}', "");
-Expect(1, 6479, '\P{Script: - Tai LE}', "");
-Expect(0, 6479, '\P{^Script: - Tai LE}', "");
-Error('\p{Sc=/a/-Tale}');
-Error('\P{Sc=/a/-Tale}');
-Expect(1, 6509, '\p{Sc=tale}', "");
-Expect(0, 6509, '\p{^Sc=tale}', "");
-Expect(0, 6509, '\P{Sc=tale}', "");
-Expect(1, 6509, '\P{^Sc=tale}', "");
-Expect(0, 6479, '\p{Sc=tale}', "");
-Expect(1, 6479, '\p{^Sc=tale}', "");
-Expect(1, 6479, '\P{Sc=tale}', "");
-Expect(0, 6479, '\P{^Sc=tale}', "");
-Expect(1, 6509, '\p{Sc=- TALE}', "");
-Expect(0, 6509, '\p{^Sc=- TALE}', "");
-Expect(0, 6509, '\P{Sc=- TALE}', "");
-Expect(1, 6509, '\P{^Sc=- TALE}', "");
-Expect(0, 6479, '\p{Sc=- TALE}', "");
-Expect(1, 6479, '\p{^Sc=- TALE}', "");
-Expect(1, 6479, '\P{Sc=- TALE}', "");
-Expect(0, 6479, '\P{^Sc=- TALE}', "");
-Error('\p{Is_Script=- TAI/a/Le}');
-Error('\P{Is_Script=- TAI/a/Le}');
-Expect(1, 6509, '\p{Is_Script=taile}', "");
-Expect(0, 6509, '\p{^Is_Script=taile}', "");
-Expect(0, 6509, '\P{Is_Script=taile}', "");
-Expect(1, 6509, '\P{^Is_Script=taile}', "");
-Expect(0, 6479, '\p{Is_Script=taile}', "");
-Expect(1, 6479, '\p{^Is_Script=taile}', "");
-Expect(1, 6479, '\P{Is_Script=taile}', "");
-Expect(0, 6479, '\P{^Is_Script=taile}', "");
-Expect(1, 6509, '\p{Is_Script=_ TaiLe}', "");
-Expect(0, 6509, '\p{^Is_Script=_ TaiLe}', "");
-Expect(0, 6509, '\P{Is_Script=_ TaiLe}', "");
-Expect(1, 6509, '\P{^Is_Script=_ TaiLe}', "");
-Expect(0, 6479, '\p{Is_Script=_ TaiLe}', "");
-Expect(1, 6479, '\p{^Is_Script=_ TaiLe}', "");
-Expect(1, 6479, '\P{Is_Script=_ TaiLe}', "");
-Expect(0, 6479, '\P{^Is_Script=_ TaiLe}', "");
-Error('\p{Is_Sc= -tale:=}');
-Error('\P{Is_Sc= -tale:=}');
-Expect(1, 6509, '\p{Is_Sc=tale}', "");
-Expect(0, 6509, '\p{^Is_Sc=tale}', "");
-Expect(0, 6509, '\P{Is_Sc=tale}', "");
-Expect(1, 6509, '\P{^Is_Sc=tale}', "");
-Expect(0, 6479, '\p{Is_Sc=tale}', "");
-Expect(1, 6479, '\p{^Is_Sc=tale}', "");
-Expect(1, 6479, '\P{Is_Sc=tale}', "");
-Expect(0, 6479, '\P{^Is_Sc=tale}', "");
-Expect(1, 6509, '\p{Is_Sc: -Tale}', "");
-Expect(0, 6509, '\p{^Is_Sc: -Tale}', "");
-Expect(0, 6509, '\P{Is_Sc: -Tale}', "");
-Expect(1, 6509, '\P{^Is_Sc: -Tale}', "");
-Expect(0, 6479, '\p{Is_Sc: -Tale}', "");
-Expect(1, 6479, '\p{^Is_Sc: -Tale}', "");
-Expect(1, 6479, '\P{Is_Sc: -Tale}', "");
-Expect(0, 6479, '\P{^Is_Sc: -Tale}', "");
-Error('\p{Script=__Avestan/a/}');
-Error('\P{Script=__Avestan/a/}');
-Expect(1, 68405, '\p{Script=avestan}', "");
-Expect(0, 68405, '\p{^Script=avestan}', "");
-Expect(0, 68405, '\P{Script=avestan}', "");
-Expect(1, 68405, '\P{^Script=avestan}', "");
-Expect(0, 68351, '\p{Script=avestan}', "");
-Expect(1, 68351, '\p{^Script=avestan}', "");
-Expect(1, 68351, '\P{Script=avestan}', "");
-Expect(0, 68351, '\P{^Script=avestan}', "");
-Expect(1, 68405, '\p{Script=-Avestan}', "");
-Expect(0, 68405, '\p{^Script=-Avestan}', "");
-Expect(0, 68405, '\P{Script=-Avestan}', "");
-Expect(1, 68405, '\P{^Script=-Avestan}', "");
-Expect(0, 68351, '\p{Script=-Avestan}', "");
-Expect(1, 68351, '\p{^Script=-Avestan}', "");
-Expect(1, 68351, '\P{Script=-Avestan}', "");
-Expect(0, 68351, '\P{^Script=-Avestan}', "");
-Error('\p{Sc=_-avst/a/}');
-Error('\P{Sc=_-avst/a/}');
-Expect(1, 68405, '\p{Sc=avst}', "");
-Expect(0, 68405, '\p{^Sc=avst}', "");
-Expect(0, 68405, '\P{Sc=avst}', "");
-Expect(1, 68405, '\P{^Sc=avst}', "");
-Expect(0, 68351, '\p{Sc=avst}', "");
-Expect(1, 68351, '\p{^Sc=avst}', "");
-Expect(1, 68351, '\P{Sc=avst}', "");
-Expect(0, 68351, '\P{^Sc=avst}', "");
-Expect(1, 68405, '\p{Sc=- AVST}', "");
-Expect(0, 68405, '\p{^Sc=- AVST}', "");
-Expect(0, 68405, '\P{Sc=- AVST}', "");
-Expect(1, 68405, '\P{^Sc=- AVST}', "");
-Expect(0, 68351, '\p{Sc=- AVST}', "");
-Expect(1, 68351, '\p{^Sc=- AVST}', "");
-Expect(1, 68351, '\P{Sc=- AVST}', "");
-Expect(0, 68351, '\P{^Sc=- AVST}', "");
-Error('\p{Is_Script=:=_-Avestan}');
-Error('\P{Is_Script=:=_-Avestan}');
-Expect(1, 68405, '\p{Is_Script=avestan}', "");
-Expect(0, 68405, '\p{^Is_Script=avestan}', "");
-Expect(0, 68405, '\P{Is_Script=avestan}', "");
-Expect(1, 68405, '\P{^Is_Script=avestan}', "");
-Expect(0, 68351, '\p{Is_Script=avestan}', "");
-Expect(1, 68351, '\p{^Is_Script=avestan}', "");
-Expect(1, 68351, '\P{Is_Script=avestan}', "");
-Expect(0, 68351, '\P{^Is_Script=avestan}', "");
-Expect(1, 68405, '\p{Is_Script=_ AVESTAN}', "");
-Expect(0, 68405, '\p{^Is_Script=_ AVESTAN}', "");
-Expect(0, 68405, '\P{Is_Script=_ AVESTAN}', "");
-Expect(1, 68405, '\P{^Is_Script=_ AVESTAN}', "");
-Expect(0, 68351, '\p{Is_Script=_ AVESTAN}', "");
-Expect(1, 68351, '\p{^Is_Script=_ AVESTAN}', "");
-Expect(1, 68351, '\P{Is_Script=_ AVESTAN}', "");
-Expect(0, 68351, '\P{^Is_Script=_ AVESTAN}', "");
-Error('\p{Is_Sc= :=Avst}');
-Error('\P{Is_Sc= :=Avst}');
-Expect(1, 68405, '\p{Is_Sc:avst}', "");
-Expect(0, 68405, '\p{^Is_Sc:avst}', "");
-Expect(0, 68405, '\P{Is_Sc:avst}', "");
-Expect(1, 68405, '\P{^Is_Sc:avst}', "");
-Expect(0, 68351, '\p{Is_Sc:avst}', "");
-Expect(1, 68351, '\p{^Is_Sc:avst}', "");
-Expect(1, 68351, '\P{Is_Sc:avst}', "");
-Expect(0, 68351, '\P{^Is_Sc:avst}', "");
-Expect(1, 68405, '\p{Is_Sc=_ Avst}', "");
-Expect(0, 68405, '\p{^Is_Sc=_ Avst}', "");
-Expect(0, 68405, '\P{Is_Sc=_ Avst}', "");
-Expect(1, 68405, '\P{^Is_Sc=_ Avst}', "");
-Expect(0, 68351, '\p{Is_Sc=_ Avst}', "");
-Expect(1, 68351, '\p{^Is_Sc=_ Avst}', "");
-Expect(1, 68351, '\P{Is_Sc=_ Avst}', "");
-Expect(0, 68351, '\P{^Is_Sc=_ Avst}', "");
-Error('\p{Script=/a/Georgian}');
-Error('\P{Script=/a/Georgian}');
-Expect(1, 4293, '\p{Script=georgian}', "");
-Expect(0, 4293, '\p{^Script=georgian}', "");
-Expect(0, 4293, '\P{Script=georgian}', "");
-Expect(1, 4293, '\P{^Script=georgian}', "");
-Expect(0, 4255, '\p{Script=georgian}', "");
-Expect(1, 4255, '\p{^Script=georgian}', "");
-Expect(1, 4255, '\P{Script=georgian}', "");
-Expect(0, 4255, '\P{^Script=georgian}', "");
-Expect(1, 4293, '\p{Script= _georgian}', "");
-Expect(0, 4293, '\p{^Script= _georgian}', "");
-Expect(0, 4293, '\P{Script= _georgian}', "");
-Expect(1, 4293, '\P{^Script= _georgian}', "");
-Expect(0, 4255, '\p{Script= _georgian}', "");
-Expect(1, 4255, '\p{^Script= _georgian}', "");
-Expect(1, 4255, '\P{Script= _georgian}', "");
-Expect(0, 4255, '\P{^Script= _georgian}', "");
-Error('\p{Sc=/a/--geor}');
-Error('\P{Sc=/a/--geor}');
-Expect(1, 4293, '\p{Sc=geor}', "");
-Expect(0, 4293, '\p{^Sc=geor}', "");
-Expect(0, 4293, '\P{Sc=geor}', "");
-Expect(1, 4293, '\P{^Sc=geor}', "");
-Expect(0, 4255, '\p{Sc=geor}', "");
-Expect(1, 4255, '\p{^Sc=geor}', "");
-Expect(1, 4255, '\P{Sc=geor}', "");
-Expect(0, 4255, '\P{^Sc=geor}', "");
-Expect(1, 4293, '\p{Sc= Geor}', "");
-Expect(0, 4293, '\p{^Sc= Geor}', "");
-Expect(0, 4293, '\P{Sc= Geor}', "");
-Expect(1, 4293, '\P{^Sc= Geor}', "");
-Expect(0, 4255, '\p{Sc= Geor}', "");
-Expect(1, 4255, '\p{^Sc= Geor}', "");
-Expect(1, 4255, '\P{Sc= Geor}', "");
-Expect(0, 4255, '\P{^Sc= Geor}', "");
-Error('\p{Is_Script= /a/Georgian}');
-Error('\P{Is_Script= /a/Georgian}');
-Expect(1, 4293, '\p{Is_Script=georgian}', "");
-Expect(0, 4293, '\p{^Is_Script=georgian}', "");
-Expect(0, 4293, '\P{Is_Script=georgian}', "");
-Expect(1, 4293, '\P{^Is_Script=georgian}', "");
-Expect(0, 4255, '\p{Is_Script=georgian}', "");
-Expect(1, 4255, '\p{^Is_Script=georgian}', "");
-Expect(1, 4255, '\P{Is_Script=georgian}', "");
-Expect(0, 4255, '\P{^Is_Script=georgian}', "");
-Expect(1, 4293, '\p{Is_Script=_ georgian}', "");
-Expect(0, 4293, '\p{^Is_Script=_ georgian}', "");
-Expect(0, 4293, '\P{Is_Script=_ georgian}', "");
-Expect(1, 4293, '\P{^Is_Script=_ georgian}', "");
-Expect(0, 4255, '\p{Is_Script=_ georgian}', "");
-Expect(1, 4255, '\p{^Is_Script=_ georgian}', "");
-Expect(1, 4255, '\P{Is_Script=_ georgian}', "");
-Expect(0, 4255, '\P{^Is_Script=_ georgian}', "");
-Error('\p{Is_Sc=:= -GEOR}');
-Error('\P{Is_Sc=:= -GEOR}');
-Expect(1, 4293, '\p{Is_Sc=geor}', "");
-Expect(0, 4293, '\p{^Is_Sc=geor}', "");
-Expect(0, 4293, '\P{Is_Sc=geor}', "");
-Expect(1, 4293, '\P{^Is_Sc=geor}', "");
-Expect(0, 4255, '\p{Is_Sc=geor}', "");
-Expect(1, 4255, '\p{^Is_Sc=geor}', "");
-Expect(1, 4255, '\P{Is_Sc=geor}', "");
-Expect(0, 4255, '\P{^Is_Sc=geor}', "");
-Expect(1, 4293, '\p{Is_Sc=__Geor}', "");
-Expect(0, 4293, '\p{^Is_Sc=__Geor}', "");
-Expect(0, 4293, '\P{Is_Sc=__Geor}', "");
-Expect(1, 4293, '\P{^Is_Sc=__Geor}', "");
-Expect(0, 4255, '\p{Is_Sc=__Geor}', "");
-Expect(1, 4255, '\p{^Is_Sc=__Geor}', "");
-Expect(1, 4255, '\P{Is_Sc=__Geor}', "");
-Expect(0, 4255, '\P{^Is_Sc=__Geor}', "");
-Error('\p{Script=/a/- TELUGU}');
-Error('\P{Script=/a/- TELUGU}');
-Expect(1, 3075, '\p{Script=telugu}', "");
-Expect(0, 3075, '\p{^Script=telugu}', "");
-Expect(0, 3075, '\P{Script=telugu}', "");
-Expect(1, 3075, '\P{^Script=telugu}', "");
-Expect(0, 3072, '\p{Script=telugu}', "");
-Expect(1, 3072, '\p{^Script=telugu}', "");
-Expect(1, 3072, '\P{Script=telugu}', "");
-Expect(0, 3072, '\P{^Script=telugu}', "");
-Expect(1, 3075, '\p{Script= _Telugu}', "");
-Expect(0, 3075, '\p{^Script= _Telugu}', "");
-Expect(0, 3075, '\P{Script= _Telugu}', "");
-Expect(1, 3075, '\P{^Script= _Telugu}', "");
-Expect(0, 3072, '\p{Script= _Telugu}', "");
-Expect(1, 3072, '\p{^Script= _Telugu}', "");
-Expect(1, 3072, '\P{Script= _Telugu}', "");
-Expect(0, 3072, '\P{^Script= _Telugu}', "");
-Error('\p{Sc=:=telu}');
-Error('\P{Sc=:=telu}');
-Expect(1, 3075, '\p{Sc: telu}', "");
-Expect(0, 3075, '\p{^Sc: telu}', "");
-Expect(0, 3075, '\P{Sc: telu}', "");
-Expect(1, 3075, '\P{^Sc: telu}', "");
-Expect(0, 3072, '\p{Sc: telu}', "");
-Expect(1, 3072, '\p{^Sc: telu}', "");
-Expect(1, 3072, '\P{Sc: telu}', "");
-Expect(0, 3072, '\P{^Sc: telu}', "");
-Expect(1, 3075, '\p{Sc= _TELU}', "");
-Expect(0, 3075, '\p{^Sc= _TELU}', "");
-Expect(0, 3075, '\P{Sc= _TELU}', "");
-Expect(1, 3075, '\P{^Sc= _TELU}', "");
-Expect(0, 3072, '\p{Sc= _TELU}', "");
-Expect(1, 3072, '\p{^Sc= _TELU}', "");
-Expect(1, 3072, '\P{Sc= _TELU}', "");
-Expect(0, 3072, '\P{^Sc= _TELU}', "");
-Error('\p{Is_Script=-_TELUGU/a/}');
-Error('\P{Is_Script=-_TELUGU/a/}');
-Expect(1, 3075, '\p{Is_Script=telugu}', "");
-Expect(0, 3075, '\p{^Is_Script=telugu}', "");
-Expect(0, 3075, '\P{Is_Script=telugu}', "");
-Expect(1, 3075, '\P{^Is_Script=telugu}', "");
-Expect(0, 3072, '\p{Is_Script=telugu}', "");
-Expect(1, 3072, '\p{^Is_Script=telugu}', "");
-Expect(1, 3072, '\P{Is_Script=telugu}', "");
-Expect(0, 3072, '\P{^Is_Script=telugu}', "");
-Expect(1, 3075, '\p{Is_Script=- TELUGU}', "");
-Expect(0, 3075, '\p{^Is_Script=- TELUGU}', "");
-Expect(0, 3075, '\P{Is_Script=- TELUGU}', "");
-Expect(1, 3075, '\P{^Is_Script=- TELUGU}', "");
-Expect(0, 3072, '\p{Is_Script=- TELUGU}', "");
-Expect(1, 3072, '\p{^Is_Script=- TELUGU}', "");
-Expect(1, 3072, '\P{Is_Script=- TELUGU}', "");
-Expect(0, 3072, '\P{^Is_Script=- TELUGU}', "");
-Error('\p{Is_Sc=-Telu/a/}');
-Error('\P{Is_Sc=-Telu/a/}');
-Expect(1, 3075, '\p{Is_Sc=telu}', "");
-Expect(0, 3075, '\p{^Is_Sc=telu}', "");
-Expect(0, 3075, '\P{Is_Sc=telu}', "");
-Expect(1, 3075, '\P{^Is_Sc=telu}', "");
-Expect(0, 3072, '\p{Is_Sc=telu}', "");
-Expect(1, 3072, '\p{^Is_Sc=telu}', "");
-Expect(1, 3072, '\P{Is_Sc=telu}', "");
-Expect(0, 3072, '\P{^Is_Sc=telu}', "");
-Expect(1, 3075, '\p{Is_Sc= Telu}', "");
-Expect(0, 3075, '\p{^Is_Sc= Telu}', "");
-Expect(0, 3075, '\P{Is_Sc= Telu}', "");
-Expect(1, 3075, '\P{^Is_Sc= Telu}', "");
-Expect(0, 3072, '\p{Is_Sc= Telu}', "");
-Expect(1, 3072, '\p{^Is_Sc= Telu}', "");
-Expect(1, 3072, '\P{Is_Sc= Telu}', "");
-Expect(0, 3072, '\P{^Is_Sc= Telu}', "");
-Error('\p{Script=/a/ TIFINAGH}');
-Error('\P{Script=/a/ TIFINAGH}');
-Expect(1, 11621, '\p{Script=tifinagh}', "");
-Expect(0, 11621, '\p{^Script=tifinagh}', "");
-Expect(0, 11621, '\P{Script=tifinagh}', "");
-Expect(1, 11621, '\P{^Script=tifinagh}', "");
-Expect(0, 11567, '\p{Script=tifinagh}', "");
-Expect(1, 11567, '\p{^Script=tifinagh}', "");
-Expect(1, 11567, '\P{Script=tifinagh}', "");
-Expect(0, 11567, '\P{^Script=tifinagh}', "");
-Expect(1, 11621, '\p{Script=Tifinagh}', "");
-Expect(0, 11621, '\p{^Script=Tifinagh}', "");
-Expect(0, 11621, '\P{Script=Tifinagh}', "");
-Expect(1, 11621, '\P{^Script=Tifinagh}', "");
-Expect(0, 11567, '\p{Script=Tifinagh}', "");
-Expect(1, 11567, '\p{^Script=Tifinagh}', "");
-Expect(1, 11567, '\P{Script=Tifinagh}', "");
-Expect(0, 11567, '\P{^Script=Tifinagh}', "");
-Error('\p{Sc=--tfng:=}');
-Error('\P{Sc=--tfng:=}');
-Expect(1, 11621, '\p{Sc=tfng}', "");
-Expect(0, 11621, '\p{^Sc=tfng}', "");
-Expect(0, 11621, '\P{Sc=tfng}', "");
-Expect(1, 11621, '\P{^Sc=tfng}', "");
-Expect(0, 11567, '\p{Sc=tfng}', "");
-Expect(1, 11567, '\p{^Sc=tfng}', "");
-Expect(1, 11567, '\P{Sc=tfng}', "");
-Expect(0, 11567, '\P{^Sc=tfng}', "");
-Expect(1, 11621, '\p{Sc=-TFNG}', "");
-Expect(0, 11621, '\p{^Sc=-TFNG}', "");
-Expect(0, 11621, '\P{Sc=-TFNG}', "");
-Expect(1, 11621, '\P{^Sc=-TFNG}', "");
-Expect(0, 11567, '\p{Sc=-TFNG}', "");
-Expect(1, 11567, '\p{^Sc=-TFNG}', "");
-Expect(1, 11567, '\P{Sc=-TFNG}', "");
-Expect(0, 11567, '\P{^Sc=-TFNG}', "");
-Error('\p{Is_Script=_ tifinagh:=}');
-Error('\P{Is_Script=_ tifinagh:=}');
-Expect(1, 11621, '\p{Is_Script=tifinagh}', "");
-Expect(0, 11621, '\p{^Is_Script=tifinagh}', "");
-Expect(0, 11621, '\P{Is_Script=tifinagh}', "");
-Expect(1, 11621, '\P{^Is_Script=tifinagh}', "");
-Expect(0, 11567, '\p{Is_Script=tifinagh}', "");
-Expect(1, 11567, '\p{^Is_Script=tifinagh}', "");
-Expect(1, 11567, '\P{Is_Script=tifinagh}', "");
-Expect(0, 11567, '\P{^Is_Script=tifinagh}', "");
-Expect(1, 11621, '\p{Is_Script= TIFINAGH}', "");
-Expect(0, 11621, '\p{^Is_Script= TIFINAGH}', "");
-Expect(0, 11621, '\P{Is_Script= TIFINAGH}', "");
-Expect(1, 11621, '\P{^Is_Script= TIFINAGH}', "");
-Expect(0, 11567, '\p{Is_Script= TIFINAGH}', "");
-Expect(1, 11567, '\p{^Is_Script= TIFINAGH}', "");
-Expect(1, 11567, '\P{Is_Script= TIFINAGH}', "");
-Expect(0, 11567, '\P{^Is_Script= TIFINAGH}', "");
-Error('\p{Is_Sc: _ tfng/a/}');
-Error('\P{Is_Sc: _ tfng/a/}');
-Expect(1, 11621, '\p{Is_Sc=tfng}', "");
-Expect(0, 11621, '\p{^Is_Sc=tfng}', "");
-Expect(0, 11621, '\P{Is_Sc=tfng}', "");
-Expect(1, 11621, '\P{^Is_Sc=tfng}', "");
-Expect(0, 11567, '\p{Is_Sc=tfng}', "");
-Expect(1, 11567, '\p{^Is_Sc=tfng}', "");
-Expect(1, 11567, '\P{Is_Sc=tfng}', "");
-Expect(0, 11567, '\P{^Is_Sc=tfng}', "");
-Expect(1, 11621, '\p{Is_Sc= TFNG}', "");
-Expect(0, 11621, '\p{^Is_Sc= TFNG}', "");
-Expect(0, 11621, '\P{Is_Sc= TFNG}', "");
-Expect(1, 11621, '\P{^Is_Sc= TFNG}', "");
-Expect(0, 11567, '\p{Is_Sc= TFNG}', "");
-Expect(1, 11567, '\p{^Is_Sc= TFNG}', "");
-Expect(1, 11567, '\P{Is_Sc= TFNG}', "");
-Expect(0, 11567, '\P{^Is_Sc= TFNG}', "");
-Error('\p{Script=_ SINHALA/a/}');
-Error('\P{Script=_ SINHALA/a/}');
-Expect(1, 3459, '\p{Script=sinhala}', "");
-Expect(0, 3459, '\p{^Script=sinhala}', "");
-Expect(0, 3459, '\P{Script=sinhala}', "");
-Expect(1, 3459, '\P{^Script=sinhala}', "");
-Expect(0, 3457, '\p{Script=sinhala}', "");
-Expect(1, 3457, '\p{^Script=sinhala}', "");
-Expect(1, 3457, '\P{Script=sinhala}', "");
-Expect(0, 3457, '\P{^Script=sinhala}', "");
-Error('\p{Sc=--sinh:=}');
-Error('\P{Sc=--sinh:=}');
-Expect(1, 3459, '\p{Sc=sinh}', "");
-Expect(0, 3459, '\p{^Sc=sinh}', "");
-Expect(0, 3459, '\P{Sc=sinh}', "");
-Expect(1, 3459, '\P{^Sc=sinh}', "");
-Expect(0, 3457, '\p{Sc=sinh}', "");
-Expect(1, 3457, '\p{^Sc=sinh}', "");
-Expect(1, 3457, '\P{Sc=sinh}', "");
-Expect(0, 3457, '\P{^Sc=sinh}', "");
-Expect(1, 3459, '\p{Sc= sinh}', "");
-Expect(0, 3459, '\p{^Sc= sinh}', "");
-Expect(0, 3459, '\P{Sc= sinh}', "");
-Expect(1, 3459, '\P{^Sc= sinh}', "");
-Expect(0, 3457, '\p{Sc= sinh}', "");
-Expect(1, 3457, '\p{^Sc= sinh}', "");
-Expect(1, 3457, '\P{Sc= sinh}', "");
-Expect(0, 3457, '\P{^Sc= sinh}', "");
-Error('\p{Is_Script=:=- sinhala}');
-Error('\P{Is_Script=:=- sinhala}');
-Expect(1, 3459, '\p{Is_Script=sinhala}', "");
-Expect(0, 3459, '\p{^Is_Script=sinhala}', "");
-Expect(0, 3459, '\P{Is_Script=sinhala}', "");
-Expect(1, 3459, '\P{^Is_Script=sinhala}', "");
-Expect(0, 3457, '\p{Is_Script=sinhala}', "");
-Expect(1, 3457, '\p{^Is_Script=sinhala}', "");
-Expect(1, 3457, '\P{Is_Script=sinhala}', "");
-Expect(0, 3457, '\P{^Is_Script=sinhala}', "");
-Expect(1, 3459, '\p{Is_Script=SINHALA}', "");
-Expect(0, 3459, '\p{^Is_Script=SINHALA}', "");
-Expect(0, 3459, '\P{Is_Script=SINHALA}', "");
-Expect(1, 3459, '\P{^Is_Script=SINHALA}', "");
-Expect(0, 3457, '\p{Is_Script=SINHALA}', "");
-Expect(1, 3457, '\p{^Is_Script=SINHALA}', "");
-Expect(1, 3457, '\P{Is_Script=SINHALA}', "");
-Expect(0, 3457, '\P{^Is_Script=SINHALA}', "");
-Error('\p{Is_Sc=/a/- Sinh}');
-Error('\P{Is_Sc=/a/- Sinh}');
-Expect(1, 3459, '\p{Is_Sc=sinh}', "");
-Expect(0, 3459, '\p{^Is_Sc=sinh}', "");
-Expect(0, 3459, '\P{Is_Sc=sinh}', "");
-Expect(1, 3459, '\P{^Is_Sc=sinh}', "");
-Expect(0, 3457, '\p{Is_Sc=sinh}', "");
-Expect(1, 3457, '\p{^Is_Sc=sinh}', "");
-Expect(1, 3457, '\P{Is_Sc=sinh}', "");
-Expect(0, 3457, '\P{^Is_Sc=sinh}', "");
-Expect(1, 3459, '\p{Is_Sc=_ SINH}', "");
-Expect(0, 3459, '\p{^Is_Sc=_ SINH}', "");
-Expect(0, 3459, '\P{Is_Sc=_ SINH}', "");
-Expect(1, 3459, '\P{^Is_Sc=_ SINH}', "");
-Expect(0, 3457, '\p{Is_Sc=_ SINH}', "");
-Expect(1, 3457, '\p{^Is_Sc=_ SINH}', "");
-Expect(1, 3457, '\P{Is_Sc=_ SINH}', "");
-Expect(0, 3457, '\P{^Is_Sc=_ SINH}', "");
-Error('\p{Script=-Linear:=B}');
-Error('\P{Script=-Linear:=B}');
-Expect(1, 65547, '\p{Script=linearb}', "");
-Expect(0, 65547, '\p{^Script=linearb}', "");
-Expect(0, 65547, '\P{Script=linearb}', "");
-Expect(1, 65547, '\P{^Script=linearb}', "");
-Expect(0, 1, '\p{Script=linearb}', "");
-Expect(1, 1, '\p{^Script=linearb}', "");
-Expect(1, 1, '\P{Script=linearb}', "");
-Expect(0, 1, '\P{^Script=linearb}', "");
-Expect(1, 65547, '\p{Script=-linear B}', "");
-Expect(0, 65547, '\p{^Script=-linear B}', "");
-Expect(0, 65547, '\P{Script=-linear B}', "");
-Expect(1, 65547, '\P{^Script=-linear B}', "");
-Expect(0, 1, '\p{Script=-linear B}', "");
-Expect(1, 1, '\p{^Script=-linear B}', "");
-Expect(1, 1, '\P{Script=-linear B}', "");
-Expect(0, 1, '\P{^Script=-linear B}', "");
-Error('\p{Sc=- Linb:=}');
-Error('\P{Sc=- Linb:=}');
-Expect(1, 65547, '\p{Sc=linb}', "");
-Expect(0, 65547, '\p{^Sc=linb}', "");
-Expect(0, 65547, '\P{Sc=linb}', "");
-Expect(1, 65547, '\P{^Sc=linb}', "");
-Expect(0, 1, '\p{Sc=linb}', "");
-Expect(1, 1, '\p{^Sc=linb}', "");
-Expect(1, 1, '\P{Sc=linb}', "");
-Expect(0, 1, '\P{^Sc=linb}', "");
-Expect(1, 65547, '\p{Sc=--Linb}', "");
-Expect(0, 65547, '\p{^Sc=--Linb}', "");
-Expect(0, 65547, '\P{Sc=--Linb}', "");
-Expect(1, 65547, '\P{^Sc=--Linb}', "");
-Expect(0, 1, '\p{Sc=--Linb}', "");
-Expect(1, 1, '\p{^Sc=--Linb}', "");
-Expect(1, 1, '\P{Sc=--Linb}', "");
-Expect(0, 1, '\P{^Sc=--Linb}', "");
-Error('\p{Is_Script=-linear/a/B}');
-Error('\P{Is_Script=-linear/a/B}');
-Expect(1, 65547, '\p{Is_Script: linearb}', "");
-Expect(0, 65547, '\p{^Is_Script: linearb}', "");
-Expect(0, 65547, '\P{Is_Script: linearb}', "");
-Expect(1, 65547, '\P{^Is_Script: linearb}', "");
-Expect(0, 1, '\p{Is_Script: linearb}', "");
-Expect(1, 1, '\p{^Is_Script: linearb}', "");
-Expect(1, 1, '\P{Is_Script: linearb}', "");
-Expect(0, 1, '\P{^Is_Script: linearb}', "");
-Expect(1, 65547, '\p{Is_Script= Linear-B}', "");
-Expect(0, 65547, '\p{^Is_Script= Linear-B}', "");
-Expect(0, 65547, '\P{Is_Script= Linear-B}', "");
-Expect(1, 65547, '\P{^Is_Script= Linear-B}', "");
-Expect(0, 1, '\p{Is_Script= Linear-B}', "");
-Expect(1, 1, '\p{^Is_Script= Linear-B}', "");
-Expect(1, 1, '\P{Is_Script= Linear-B}', "");
-Expect(0, 1, '\P{^Is_Script= Linear-B}', "");
-Error('\p{Is_Sc=- linb/a/}');
-Error('\P{Is_Sc=- linb/a/}');
-Expect(1, 65547, '\p{Is_Sc=linb}', "");
-Expect(0, 65547, '\p{^Is_Sc=linb}', "");
-Expect(0, 65547, '\P{Is_Sc=linb}', "");
-Expect(1, 65547, '\P{^Is_Sc=linb}', "");
-Expect(0, 1, '\p{Is_Sc=linb}', "");
-Expect(1, 1, '\p{^Is_Sc=linb}', "");
-Expect(1, 1, '\P{Is_Sc=linb}', "");
-Expect(0, 1, '\P{^Is_Sc=linb}', "");
-Expect(1, 65547, '\p{Is_Sc=_Linb}', "");
-Expect(0, 65547, '\p{^Is_Sc=_Linb}', "");
-Expect(0, 65547, '\P{Is_Sc=_Linb}', "");
-Expect(1, 65547, '\P{^Is_Sc=_Linb}', "");
-Expect(0, 1, '\p{Is_Sc=_Linb}', "");
-Expect(1, 1, '\p{^Is_Sc=_Linb}', "");
-Expect(1, 1, '\P{Is_Sc=_Linb}', "");
-Expect(0, 1, '\P{^Is_Sc=_Linb}', "");
-Error('\p{Script::=- Samaritan}');
-Error('\P{Script::=- Samaritan}');
-Expect(1, 2093, '\p{Script=samaritan}', "");
-Expect(0, 2093, '\p{^Script=samaritan}', "");
-Expect(0, 2093, '\P{Script=samaritan}', "");
-Expect(1, 2093, '\P{^Script=samaritan}', "");
-Expect(0, 2047, '\p{Script=samaritan}', "");
-Expect(1, 2047, '\p{^Script=samaritan}', "");
-Expect(1, 2047, '\P{Script=samaritan}', "");
-Expect(0, 2047, '\P{^Script=samaritan}', "");
-Expect(1, 2093, '\p{Script=-_Samaritan}', "");
-Expect(0, 2093, '\p{^Script=-_Samaritan}', "");
-Expect(0, 2093, '\P{Script=-_Samaritan}', "");
-Expect(1, 2093, '\P{^Script=-_Samaritan}', "");
-Expect(0, 2047, '\p{Script=-_Samaritan}', "");
-Expect(1, 2047, '\p{^Script=-_Samaritan}', "");
-Expect(1, 2047, '\P{Script=-_Samaritan}', "");
-Expect(0, 2047, '\P{^Script=-_Samaritan}', "");
-Error('\p{Sc= :=Samr}');
-Error('\P{Sc= :=Samr}');
-Expect(1, 2093, '\p{Sc=samr}', "");
-Expect(0, 2093, '\p{^Sc=samr}', "");
-Expect(0, 2093, '\P{Sc=samr}', "");
-Expect(1, 2093, '\P{^Sc=samr}', "");
-Expect(0, 2047, '\p{Sc=samr}', "");
-Expect(1, 2047, '\p{^Sc=samr}', "");
-Expect(1, 2047, '\P{Sc=samr}', "");
-Expect(0, 2047, '\P{^Sc=samr}', "");
-Expect(1, 2093, '\p{Sc= SAMR}', "");
-Expect(0, 2093, '\p{^Sc= SAMR}', "");
-Expect(0, 2093, '\P{Sc= SAMR}', "");
-Expect(1, 2093, '\P{^Sc= SAMR}', "");
-Expect(0, 2047, '\p{Sc= SAMR}', "");
-Expect(1, 2047, '\p{^Sc= SAMR}', "");
-Expect(1, 2047, '\P{Sc= SAMR}', "");
-Expect(0, 2047, '\P{^Sc= SAMR}', "");
-Error('\p{Is_Script=/a/Samaritan}');
-Error('\P{Is_Script=/a/Samaritan}');
-Expect(1, 2093, '\p{Is_Script=samaritan}', "");
-Expect(0, 2093, '\p{^Is_Script=samaritan}', "");
-Expect(0, 2093, '\P{Is_Script=samaritan}', "");
-Expect(1, 2093, '\P{^Is_Script=samaritan}', "");
-Expect(0, 2047, '\p{Is_Script=samaritan}', "");
-Expect(1, 2047, '\p{^Is_Script=samaritan}', "");
-Expect(1, 2047, '\P{Is_Script=samaritan}', "");
-Expect(0, 2047, '\P{^Is_Script=samaritan}', "");
-Expect(1, 2093, '\p{Is_Script= SAMARITAN}', "");
-Expect(0, 2093, '\p{^Is_Script= SAMARITAN}', "");
-Expect(0, 2093, '\P{Is_Script= SAMARITAN}', "");
-Expect(1, 2093, '\P{^Is_Script= SAMARITAN}', "");
-Expect(0, 2047, '\p{Is_Script= SAMARITAN}', "");
-Expect(1, 2047, '\p{^Is_Script= SAMARITAN}', "");
-Expect(1, 2047, '\P{Is_Script= SAMARITAN}', "");
-Expect(0, 2047, '\P{^Is_Script= SAMARITAN}', "");
-Error('\p{Is_Sc=-/a/SAMR}');
-Error('\P{Is_Sc=-/a/SAMR}');
-Expect(1, 2093, '\p{Is_Sc=samr}', "");
-Expect(0, 2093, '\p{^Is_Sc=samr}', "");
-Expect(0, 2093, '\P{Is_Sc=samr}', "");
-Expect(1, 2093, '\P{^Is_Sc=samr}', "");
-Expect(0, 2047, '\p{Is_Sc=samr}', "");
-Expect(1, 2047, '\p{^Is_Sc=samr}', "");
-Expect(1, 2047, '\P{Is_Sc=samr}', "");
-Expect(0, 2047, '\P{^Is_Sc=samr}', "");
-Expect(1, 2093, '\p{Is_Sc=_-Samr}', "");
-Expect(0, 2093, '\p{^Is_Sc=_-Samr}', "");
-Expect(0, 2093, '\P{Is_Sc=_-Samr}', "");
-Expect(1, 2093, '\P{^Is_Sc=_-Samr}', "");
-Expect(0, 2047, '\p{Is_Sc=_-Samr}', "");
-Expect(1, 2047, '\p{^Is_Sc=_-Samr}', "");
-Expect(1, 2047, '\P{Is_Sc=_-Samr}', "");
-Expect(0, 2047, '\P{^Is_Sc=_-Samr}', "");
-Error('\p{Script=- SAURASHTRA:=}');
-Error('\P{Script=- SAURASHTRA:=}');
-Expect(1, 43204, '\p{Script=saurashtra}', "");
-Expect(0, 43204, '\p{^Script=saurashtra}', "");
-Expect(0, 43204, '\P{Script=saurashtra}', "");
-Expect(1, 43204, '\P{^Script=saurashtra}', "");
-Expect(0, 43135, '\p{Script=saurashtra}', "");
-Expect(1, 43135, '\p{^Script=saurashtra}', "");
-Expect(1, 43135, '\P{Script=saurashtra}', "");
-Expect(0, 43135, '\P{^Script=saurashtra}', "");
-Expect(1, 43204, '\p{Script=_ saurashtra}', "");
-Expect(0, 43204, '\p{^Script=_ saurashtra}', "");
-Expect(0, 43204, '\P{Script=_ saurashtra}', "");
-Expect(1, 43204, '\P{^Script=_ saurashtra}', "");
-Expect(0, 43135, '\p{Script=_ saurashtra}', "");
-Expect(1, 43135, '\p{^Script=_ saurashtra}', "");
-Expect(1, 43135, '\P{Script=_ saurashtra}', "");
-Expect(0, 43135, '\P{^Script=_ saurashtra}', "");
-Error('\p{Sc=/a/ _Saur}');
-Error('\P{Sc=/a/ _Saur}');
-Expect(1, 43204, '\p{Sc=saur}', "");
-Expect(0, 43204, '\p{^Sc=saur}', "");
-Expect(0, 43204, '\P{Sc=saur}', "");
-Expect(1, 43204, '\P{^Sc=saur}', "");
-Expect(0, 43135, '\p{Sc=saur}', "");
-Expect(1, 43135, '\p{^Sc=saur}', "");
-Expect(1, 43135, '\P{Sc=saur}', "");
-Expect(0, 43135, '\P{^Sc=saur}', "");
-Expect(1, 43204, '\p{Sc=_-Saur}', "");
-Expect(0, 43204, '\p{^Sc=_-Saur}', "");
-Expect(0, 43204, '\P{Sc=_-Saur}', "");
-Expect(1, 43204, '\P{^Sc=_-Saur}', "");
-Expect(0, 43135, '\p{Sc=_-Saur}', "");
-Expect(1, 43135, '\p{^Sc=_-Saur}', "");
-Expect(1, 43135, '\P{Sc=_-Saur}', "");
-Expect(0, 43135, '\P{^Sc=_-Saur}', "");
-Error('\p{Is_Script=/a/_Saurashtra}');
-Error('\P{Is_Script=/a/_Saurashtra}');
-Expect(1, 43204, '\p{Is_Script=saurashtra}', "");
-Expect(0, 43204, '\p{^Is_Script=saurashtra}', "");
-Expect(0, 43204, '\P{Is_Script=saurashtra}', "");
-Expect(1, 43204, '\P{^Is_Script=saurashtra}', "");
-Expect(0, 43135, '\p{Is_Script=saurashtra}', "");
-Expect(1, 43135, '\p{^Is_Script=saurashtra}', "");
-Expect(1, 43135, '\P{Is_Script=saurashtra}', "");
-Expect(0, 43135, '\P{^Is_Script=saurashtra}', "");
-Expect(1, 43204, '\p{Is_Script= SAURASHTRA}', "");
-Expect(0, 43204, '\p{^Is_Script= SAURASHTRA}', "");
-Expect(0, 43204, '\P{Is_Script= SAURASHTRA}', "");
-Expect(1, 43204, '\P{^Is_Script= SAURASHTRA}', "");
-Expect(0, 43135, '\p{Is_Script= SAURASHTRA}', "");
-Expect(1, 43135, '\p{^Is_Script= SAURASHTRA}', "");
-Expect(1, 43135, '\P{Is_Script= SAURASHTRA}', "");
-Expect(0, 43135, '\P{^Is_Script= SAURASHTRA}', "");
-Error('\p{Is_Sc= :=Saur}');
-Error('\P{Is_Sc= :=Saur}');
-Expect(1, 43204, '\p{Is_Sc=saur}', "");
-Expect(0, 43204, '\p{^Is_Sc=saur}', "");
-Expect(0, 43204, '\P{Is_Sc=saur}', "");
-Expect(1, 43204, '\P{^Is_Sc=saur}', "");
-Expect(0, 43135, '\p{Is_Sc=saur}', "");
-Expect(1, 43135, '\p{^Is_Sc=saur}', "");
-Expect(1, 43135, '\P{Is_Sc=saur}', "");
-Expect(0, 43135, '\P{^Is_Sc=saur}', "");
-Expect(1, 43204, '\p{Is_Sc= Saur}', "");
-Expect(0, 43204, '\p{^Is_Sc= Saur}', "");
-Expect(0, 43204, '\P{Is_Sc= Saur}', "");
-Expect(1, 43204, '\P{^Is_Sc= Saur}', "");
-Expect(0, 43135, '\p{Is_Sc= Saur}', "");
-Expect(1, 43135, '\p{^Is_Sc= Saur}', "");
-Expect(1, 43135, '\P{Is_Sc= Saur}', "");
-Expect(0, 43135, '\P{^Is_Sc= Saur}', "");
-Error('\p{Script=-_Sundanese:=}');
-Error('\P{Script=-_Sundanese:=}');
-Expect(1, 7082, '\p{Script=sundanese}', "");
-Expect(0, 7082, '\p{^Script=sundanese}', "");
-Expect(0, 7082, '\P{Script=sundanese}', "");
-Expect(1, 7082, '\P{^Script=sundanese}', "");
-Expect(0, 7039, '\p{Script=sundanese}', "");
-Expect(1, 7039, '\p{^Script=sundanese}', "");
-Expect(1, 7039, '\P{Script=sundanese}', "");
-Expect(0, 7039, '\P{^Script=sundanese}', "");
-Expect(1, 7082, '\p{Script=-_SUNDANESE}', "");
-Expect(0, 7082, '\p{^Script=-_SUNDANESE}', "");
-Expect(0, 7082, '\P{Script=-_SUNDANESE}', "");
-Expect(1, 7082, '\P{^Script=-_SUNDANESE}', "");
-Expect(0, 7039, '\p{Script=-_SUNDANESE}', "");
-Expect(1, 7039, '\p{^Script=-_SUNDANESE}', "");
-Expect(1, 7039, '\P{Script=-_SUNDANESE}', "");
-Expect(0, 7039, '\P{^Script=-_SUNDANESE}', "");
-Error('\p{Sc= _SUND:=}');
-Error('\P{Sc= _SUND:=}');
-Expect(1, 7082, '\p{Sc=sund}', "");
-Expect(0, 7082, '\p{^Sc=sund}', "");
-Expect(0, 7082, '\P{Sc=sund}', "");
-Expect(1, 7082, '\P{^Sc=sund}', "");
-Expect(0, 7039, '\p{Sc=sund}', "");
-Expect(1, 7039, '\p{^Sc=sund}', "");
-Expect(1, 7039, '\P{Sc=sund}', "");
-Expect(0, 7039, '\P{^Sc=sund}', "");
-Expect(1, 7082, '\p{Sc= Sund}', "");
-Expect(0, 7082, '\p{^Sc= Sund}', "");
-Expect(0, 7082, '\P{Sc= Sund}', "");
-Expect(1, 7082, '\P{^Sc= Sund}', "");
-Expect(0, 7039, '\p{Sc= Sund}', "");
-Expect(1, 7039, '\p{^Sc= Sund}', "");
-Expect(1, 7039, '\P{Sc= Sund}', "");
-Expect(0, 7039, '\P{^Sc= Sund}', "");
-Error('\p{Is_Script=_:=sundanese}');
-Error('\P{Is_Script=_:=sundanese}');
-Expect(1, 7082, '\p{Is_Script=sundanese}', "");
-Expect(0, 7082, '\p{^Is_Script=sundanese}', "");
-Expect(0, 7082, '\P{Is_Script=sundanese}', "");
-Expect(1, 7082, '\P{^Is_Script=sundanese}', "");
-Expect(0, 7039, '\p{Is_Script=sundanese}', "");
-Expect(1, 7039, '\p{^Is_Script=sundanese}', "");
-Expect(1, 7039, '\P{Is_Script=sundanese}', "");
-Expect(0, 7039, '\P{^Is_Script=sundanese}', "");
-Expect(1, 7082, '\p{Is_Script= SUNDANESE}', "");
-Expect(0, 7082, '\p{^Is_Script= SUNDANESE}', "");
-Expect(0, 7082, '\P{Is_Script= SUNDANESE}', "");
-Expect(1, 7082, '\P{^Is_Script= SUNDANESE}', "");
-Expect(0, 7039, '\p{Is_Script= SUNDANESE}', "");
-Expect(1, 7039, '\p{^Is_Script= SUNDANESE}', "");
-Expect(1, 7039, '\P{Is_Script= SUNDANESE}', "");
-Expect(0, 7039, '\P{^Is_Script= SUNDANESE}', "");
-Error('\p{Is_Sc=:= sund}');
-Error('\P{Is_Sc=:= sund}');
-Expect(1, 7082, '\p{Is_Sc=sund}', "");
-Expect(0, 7082, '\p{^Is_Sc=sund}', "");
-Expect(0, 7082, '\P{Is_Sc=sund}', "");
-Expect(1, 7082, '\P{^Is_Sc=sund}', "");
-Expect(0, 7039, '\p{Is_Sc=sund}', "");
-Expect(1, 7039, '\p{^Is_Sc=sund}', "");
-Expect(1, 7039, '\P{Is_Sc=sund}', "");
-Expect(0, 7039, '\P{^Is_Sc=sund}', "");
-Expect(1, 7082, '\p{Is_Sc=Sund}', "");
-Expect(0, 7082, '\p{^Is_Sc=Sund}', "");
-Expect(0, 7082, '\P{Is_Sc=Sund}', "");
-Expect(1, 7082, '\P{^Is_Sc=Sund}', "");
-Expect(0, 7039, '\p{Is_Sc=Sund}', "");
-Expect(1, 7039, '\p{^Is_Sc=Sund}', "");
-Expect(1, 7039, '\P{Is_Sc=Sund}', "");
-Expect(0, 7039, '\P{^Is_Sc=Sund}', "");
-Error('\p{Script= :=nko}');
-Error('\P{Script= :=nko}');
-Expect(1, 2042, '\p{Script=nko}', "");
-Expect(0, 2042, '\p{^Script=nko}', "");
-Expect(0, 2042, '\P{Script=nko}', "");
-Expect(1, 2042, '\P{^Script=nko}', "");
-Expect(0, 1983, '\p{Script=nko}', "");
-Expect(1, 1983, '\p{^Script=nko}', "");
-Expect(1, 1983, '\P{Script=nko}', "");
-Expect(0, 1983, '\P{^Script=nko}', "");
-Expect(1, 2042, '\p{Script= Nko}', "");
-Expect(0, 2042, '\p{^Script= Nko}', "");
-Expect(0, 2042, '\P{Script= Nko}', "");
-Expect(1, 2042, '\P{^Script= Nko}', "");
-Expect(0, 1983, '\p{Script= Nko}', "");
-Expect(1, 1983, '\p{^Script= Nko}', "");
-Expect(1, 1983, '\P{Script= Nko}', "");
-Expect(0, 1983, '\P{^Script= Nko}', "");
-Error('\p{Sc=-:=nkoo}');
-Error('\P{Sc=-:=nkoo}');
-Expect(1, 2042, '\p{Sc=nkoo}', "");
-Expect(0, 2042, '\p{^Sc=nkoo}', "");
-Expect(0, 2042, '\P{Sc=nkoo}', "");
-Expect(1, 2042, '\P{^Sc=nkoo}', "");
-Expect(0, 1983, '\p{Sc=nkoo}', "");
-Expect(1, 1983, '\p{^Sc=nkoo}', "");
-Expect(1, 1983, '\P{Sc=nkoo}', "");
-Expect(0, 1983, '\P{^Sc=nkoo}', "");
-Expect(1, 2042, '\p{Sc: - nkoo}', "");
-Expect(0, 2042, '\p{^Sc: - nkoo}', "");
-Expect(0, 2042, '\P{Sc: - nkoo}', "");
-Expect(1, 2042, '\P{^Sc: - nkoo}', "");
-Expect(0, 1983, '\p{Sc: - nkoo}', "");
-Expect(1, 1983, '\p{^Sc: - nkoo}', "");
-Expect(1, 1983, '\P{Sc: - nkoo}', "");
-Expect(0, 1983, '\P{^Sc: - nkoo}', "");
-Error('\p{Is_Script=:=-nko}');
-Error('\P{Is_Script=:=-nko}');
-Expect(1, 2042, '\p{Is_Script: nko}', "");
-Expect(0, 2042, '\p{^Is_Script: nko}', "");
-Expect(0, 2042, '\P{Is_Script: nko}', "");
-Expect(1, 2042, '\P{^Is_Script: nko}', "");
-Expect(0, 1983, '\p{Is_Script: nko}', "");
-Expect(1, 1983, '\p{^Is_Script: nko}', "");
-Expect(1, 1983, '\P{Is_Script: nko}', "");
-Expect(0, 1983, '\P{^Is_Script: nko}', "");
-Expect(1, 2042, '\p{Is_Script=__NKO}', "");
-Expect(0, 2042, '\p{^Is_Script=__NKO}', "");
-Expect(0, 2042, '\P{Is_Script=__NKO}', "");
-Expect(1, 2042, '\P{^Is_Script=__NKO}', "");
-Expect(0, 1983, '\p{Is_Script=__NKO}', "");
-Expect(1, 1983, '\p{^Is_Script=__NKO}', "");
-Expect(1, 1983, '\P{Is_Script=__NKO}', "");
-Expect(0, 1983, '\P{^Is_Script=__NKO}', "");
-Error('\p{Is_Sc=/a/ -Nkoo}');
-Error('\P{Is_Sc=/a/ -Nkoo}');
-Expect(1, 2042, '\p{Is_Sc=nkoo}', "");
-Expect(0, 2042, '\p{^Is_Sc=nkoo}', "");
-Expect(0, 2042, '\P{Is_Sc=nkoo}', "");
-Expect(1, 2042, '\P{^Is_Sc=nkoo}', "");
-Expect(0, 1983, '\p{Is_Sc=nkoo}', "");
-Expect(1, 1983, '\p{^Is_Sc=nkoo}', "");
-Expect(1, 1983, '\P{Is_Sc=nkoo}', "");
-Expect(0, 1983, '\P{^Is_Sc=nkoo}', "");
-Expect(1, 2042, '\p{Is_Sc= NKOO}', "");
-Expect(0, 2042, '\p{^Is_Sc= NKOO}', "");
-Expect(0, 2042, '\P{Is_Sc= NKOO}', "");
-Expect(1, 2042, '\P{^Is_Sc= NKOO}', "");
-Expect(0, 1983, '\p{Is_Sc= NKOO}', "");
-Expect(1, 1983, '\p{^Is_Sc= NKOO}', "");
-Expect(1, 1983, '\P{Is_Sc= NKOO}', "");
-Expect(0, 1983, '\P{^Is_Sc= NKOO}', "");
-Error('\p{Script= :=Han}');
-Error('\P{Script= :=Han}');
-Expect(1, 11929, '\p{Script=han}', "");
-Expect(0, 11929, '\p{^Script=han}', "");
-Expect(0, 11929, '\P{Script=han}', "");
-Expect(1, 11929, '\P{^Script=han}', "");
-Expect(0, 11903, '\p{Script=han}', "");
-Expect(1, 11903, '\p{^Script=han}', "");
-Expect(1, 11903, '\P{Script=han}', "");
-Expect(0, 11903, '\P{^Script=han}', "");
-Expect(1, 11929, '\p{Script=_-Han}', "");
-Expect(0, 11929, '\p{^Script=_-Han}', "");
-Expect(0, 11929, '\P{Script=_-Han}', "");
-Expect(1, 11929, '\P{^Script=_-Han}', "");
-Expect(0, 11903, '\p{Script=_-Han}', "");
-Expect(1, 11903, '\p{^Script=_-Han}', "");
-Expect(1, 11903, '\P{Script=_-Han}', "");
-Expect(0, 11903, '\P{^Script=_-Han}', "");
-Error('\p{Sc=_:=Hani}');
-Error('\P{Sc=_:=Hani}');
-Expect(1, 11929, '\p{Sc=hani}', "");
-Expect(0, 11929, '\p{^Sc=hani}', "");
-Expect(0, 11929, '\P{Sc=hani}', "");
-Expect(1, 11929, '\P{^Sc=hani}', "");
-Expect(0, 11903, '\p{Sc=hani}', "");
-Expect(1, 11903, '\p{^Sc=hani}', "");
-Expect(1, 11903, '\P{Sc=hani}', "");
-Expect(0, 11903, '\P{^Sc=hani}', "");
-Expect(1, 11929, '\p{Sc=_-Hani}', "");
-Expect(0, 11929, '\p{^Sc=_-Hani}', "");
-Expect(0, 11929, '\P{Sc=_-Hani}', "");
-Expect(1, 11929, '\P{^Sc=_-Hani}', "");
-Expect(0, 11903, '\p{Sc=_-Hani}', "");
-Expect(1, 11903, '\p{^Sc=_-Hani}', "");
-Expect(1, 11903, '\P{Sc=_-Hani}', "");
-Expect(0, 11903, '\P{^Sc=_-Hani}', "");
-Error('\p{Is_Script: han:=}');
-Error('\P{Is_Script: han:=}');
-Expect(1, 11929, '\p{Is_Script:han}', "");
-Expect(0, 11929, '\p{^Is_Script:han}', "");
-Expect(0, 11929, '\P{Is_Script:han}', "");
-Expect(1, 11929, '\P{^Is_Script:han}', "");
-Expect(0, 11903, '\p{Is_Script:han}', "");
-Expect(1, 11903, '\p{^Is_Script:han}', "");
-Expect(1, 11903, '\P{Is_Script:han}', "");
-Expect(0, 11903, '\P{^Is_Script:han}', "");
-Expect(1, 11929, '\p{Is_Script= -Han}', "");
-Expect(0, 11929, '\p{^Is_Script= -Han}', "");
-Expect(0, 11929, '\P{Is_Script= -Han}', "");
-Expect(1, 11929, '\P{^Is_Script= -Han}', "");
-Expect(0, 11903, '\p{Is_Script= -Han}', "");
-Expect(1, 11903, '\p{^Is_Script= -Han}', "");
-Expect(1, 11903, '\P{Is_Script= -Han}', "");
-Expect(0, 11903, '\P{^Is_Script= -Han}', "");
-Error('\p{Is_Sc= :=hani}');
-Error('\P{Is_Sc= :=hani}');
-Expect(1, 11929, '\p{Is_Sc: hani}', "");
-Expect(0, 11929, '\p{^Is_Sc: hani}', "");
-Expect(0, 11929, '\P{Is_Sc: hani}', "");
-Expect(1, 11929, '\P{^Is_Sc: hani}', "");
-Expect(0, 11903, '\p{Is_Sc: hani}', "");
-Expect(1, 11903, '\p{^Is_Sc: hani}', "");
-Expect(1, 11903, '\P{Is_Sc: hani}', "");
-Expect(0, 11903, '\P{^Is_Sc: hani}', "");
-Expect(1, 11929, '\p{Is_Sc= Hani}', "");
-Expect(0, 11929, '\p{^Is_Sc= Hani}', "");
-Expect(0, 11929, '\P{Is_Sc= Hani}', "");
-Expect(1, 11929, '\P{^Is_Sc= Hani}', "");
-Expect(0, 11903, '\p{Is_Sc= Hani}', "");
-Expect(1, 11903, '\p{^Is_Sc= Hani}', "");
-Expect(1, 11903, '\P{Is_Sc= Hani}', "");
-Expect(0, 11903, '\P{^Is_Sc= Hani}', "");
-Error('\p{Script=__GREEK/a/}');
-Error('\P{Script=__GREEK/a/}');
-Expect(1, 883, '\p{Script=greek}', "");
-Expect(0, 883, '\p{^Script=greek}', "");
-Expect(0, 883, '\P{Script=greek}', "");
-Expect(1, 883, '\P{^Script=greek}', "");
-Expect(0, 879, '\p{Script=greek}', "");
-Expect(1, 879, '\p{^Script=greek}', "");
-Expect(1, 879, '\P{Script=greek}', "");
-Expect(0, 879, '\P{^Script=greek}', "");
-Expect(1, 883, '\p{Script=-_Greek}', "");
-Expect(0, 883, '\p{^Script=-_Greek}', "");
-Expect(0, 883, '\P{Script=-_Greek}', "");
-Expect(1, 883, '\P{^Script=-_Greek}', "");
-Expect(0, 879, '\p{Script=-_Greek}', "");
-Expect(1, 879, '\p{^Script=-_Greek}', "");
-Expect(1, 879, '\P{Script=-_Greek}', "");
-Expect(0, 879, '\P{^Script=-_Greek}', "");
-Error('\p{Sc= Grek:=}');
-Error('\P{Sc= Grek:=}');
-Expect(1, 883, '\p{Sc=grek}', "");
-Expect(0, 883, '\p{^Sc=grek}', "");
-Expect(0, 883, '\P{Sc=grek}', "");
-Expect(1, 883, '\P{^Sc=grek}', "");
-Expect(0, 879, '\p{Sc=grek}', "");
-Expect(1, 879, '\p{^Sc=grek}', "");
-Expect(1, 879, '\P{Sc=grek}', "");
-Expect(0, 879, '\P{^Sc=grek}', "");
-Expect(1, 883, '\p{Sc= _GREK}', "");
-Expect(0, 883, '\p{^Sc= _GREK}', "");
-Expect(0, 883, '\P{Sc= _GREK}', "");
-Expect(1, 883, '\P{^Sc= _GREK}', "");
-Expect(0, 879, '\p{Sc= _GREK}', "");
-Expect(1, 879, '\p{^Sc= _GREK}', "");
-Expect(1, 879, '\P{Sc= _GREK}', "");
-Expect(0, 879, '\P{^Sc= _GREK}', "");
-Error('\p{Is_Script=:=greek}');
-Error('\P{Is_Script=:=greek}');
-Expect(1, 883, '\p{Is_Script=greek}', "");
-Expect(0, 883, '\p{^Is_Script=greek}', "");
-Expect(0, 883, '\P{Is_Script=greek}', "");
-Expect(1, 883, '\P{^Is_Script=greek}', "");
-Expect(0, 879, '\p{Is_Script=greek}', "");
-Expect(1, 879, '\p{^Is_Script=greek}', "");
-Expect(1, 879, '\P{Is_Script=greek}', "");
-Expect(0, 879, '\P{^Is_Script=greek}', "");
-Expect(1, 883, '\p{Is_Script=_-Greek}', "");
-Expect(0, 883, '\p{^Is_Script=_-Greek}', "");
-Expect(0, 883, '\P{Is_Script=_-Greek}', "");
-Expect(1, 883, '\P{^Is_Script=_-Greek}', "");
-Expect(0, 879, '\p{Is_Script=_-Greek}', "");
-Expect(1, 879, '\p{^Is_Script=_-Greek}', "");
-Expect(1, 879, '\P{Is_Script=_-Greek}', "");
-Expect(0, 879, '\P{^Is_Script=_-Greek}', "");
-Error('\p{Is_Sc= _Grek/a/}');
-Error('\P{Is_Sc= _Grek/a/}');
-Expect(1, 883, '\p{Is_Sc=grek}', "");
-Expect(0, 883, '\p{^Is_Sc=grek}', "");
-Expect(0, 883, '\P{Is_Sc=grek}', "");
-Expect(1, 883, '\P{^Is_Sc=grek}', "");
-Expect(0, 879, '\p{Is_Sc=grek}', "");
-Expect(1, 879, '\p{^Is_Sc=grek}', "");
-Expect(1, 879, '\P{Is_Sc=grek}', "");
-Expect(0, 879, '\P{^Is_Sc=grek}', "");
-Expect(1, 883, '\p{Is_Sc=_Grek}', "");
-Expect(0, 883, '\p{^Is_Sc=_Grek}', "");
-Expect(0, 883, '\P{Is_Sc=_Grek}', "");
-Expect(1, 883, '\P{^Is_Sc=_Grek}', "");
-Expect(0, 879, '\p{Is_Sc=_Grek}', "");
-Expect(1, 879, '\p{^Is_Sc=_Grek}', "");
-Expect(1, 879, '\P{Is_Sc=_Grek}', "");
-Expect(0, 879, '\P{^Is_Sc=_Grek}', "");
-Error('\p{Script=:= _Tamil}');
-Error('\P{Script=:= _Tamil}');
-Expect(1, 2947, '\p{Script=tamil}', "");
-Expect(0, 2947, '\p{^Script=tamil}', "");
-Expect(0, 2947, '\P{Script=tamil}', "");
-Expect(1, 2947, '\P{^Script=tamil}', "");
-Expect(0, 2945, '\p{Script=tamil}', "");
-Expect(1, 2945, '\p{^Script=tamil}', "");
-Expect(1, 2945, '\P{Script=tamil}', "");
-Expect(0, 2945, '\P{^Script=tamil}', "");
-Expect(1, 2947, '\p{Script: tamil}', "");
-Expect(0, 2947, '\p{^Script: tamil}', "");
-Expect(0, 2947, '\P{Script: tamil}', "");
-Expect(1, 2947, '\P{^Script: tamil}', "");
-Expect(0, 2945, '\p{Script: tamil}', "");
-Expect(1, 2945, '\p{^Script: tamil}', "");
-Expect(1, 2945, '\P{Script: tamil}', "");
-Expect(0, 2945, '\P{^Script: tamil}', "");
-Error('\p{Sc= /a/taml}');
-Error('\P{Sc= /a/taml}');
-Expect(1, 2947, '\p{Sc: taml}', "");
-Expect(0, 2947, '\p{^Sc: taml}', "");
-Expect(0, 2947, '\P{Sc: taml}', "");
-Expect(1, 2947, '\P{^Sc: taml}', "");
-Expect(0, 2945, '\p{Sc: taml}', "");
-Expect(1, 2945, '\p{^Sc: taml}', "");
-Expect(1, 2945, '\P{Sc: taml}', "");
-Expect(0, 2945, '\P{^Sc: taml}', "");
-Expect(1, 2947, '\p{Sc= _TAML}', "");
-Expect(0, 2947, '\p{^Sc= _TAML}', "");
-Expect(0, 2947, '\P{Sc= _TAML}', "");
-Expect(1, 2947, '\P{^Sc= _TAML}', "");
-Expect(0, 2945, '\p{Sc= _TAML}', "");
-Expect(1, 2945, '\p{^Sc= _TAML}', "");
-Expect(1, 2945, '\P{Sc= _TAML}', "");
-Expect(0, 2945, '\P{^Sc= _TAML}', "");
-Error('\p{Is_Script=/a/ Tamil}');
-Error('\P{Is_Script=/a/ Tamil}');
-Expect(1, 2947, '\p{Is_Script=tamil}', "");
-Expect(0, 2947, '\p{^Is_Script=tamil}', "");
-Expect(0, 2947, '\P{Is_Script=tamil}', "");
-Expect(1, 2947, '\P{^Is_Script=tamil}', "");
-Expect(0, 2945, '\p{Is_Script=tamil}', "");
-Expect(1, 2945, '\p{^Is_Script=tamil}', "");
-Expect(1, 2945, '\P{Is_Script=tamil}', "");
-Expect(0, 2945, '\P{^Is_Script=tamil}', "");
-Expect(1, 2947, '\p{Is_Script: Tamil}', "");
-Expect(0, 2947, '\p{^Is_Script: Tamil}', "");
-Expect(0, 2947, '\P{Is_Script: Tamil}', "");
-Expect(1, 2947, '\P{^Is_Script: Tamil}', "");
-Expect(0, 2945, '\p{Is_Script: Tamil}', "");
-Expect(1, 2945, '\p{^Is_Script: Tamil}', "");
-Expect(1, 2945, '\P{Is_Script: Tamil}', "");
-Expect(0, 2945, '\P{^Is_Script: Tamil}', "");
-Error('\p{Is_Sc= :=taml}');
-Error('\P{Is_Sc= :=taml}');
-Expect(1, 2947, '\p{Is_Sc=taml}', "");
-Expect(0, 2947, '\p{^Is_Sc=taml}', "");
-Expect(0, 2947, '\P{Is_Sc=taml}', "");
-Expect(1, 2947, '\P{^Is_Sc=taml}', "");
-Expect(0, 2945, '\p{Is_Sc=taml}', "");
-Expect(1, 2945, '\p{^Is_Sc=taml}', "");
-Expect(1, 2945, '\P{Is_Sc=taml}', "");
-Expect(0, 2945, '\P{^Is_Sc=taml}', "");
-Expect(1, 2947, '\p{Is_Sc= Taml}', "");
-Expect(0, 2947, '\p{^Is_Sc= Taml}', "");
-Expect(0, 2947, '\P{Is_Sc= Taml}', "");
-Expect(1, 2947, '\P{^Is_Sc= Taml}', "");
-Expect(0, 2945, '\p{Is_Sc= Taml}', "");
-Expect(1, 2945, '\p{^Is_Sc= Taml}', "");
-Expect(1, 2945, '\P{Is_Sc= Taml}', "");
-Expect(0, 2945, '\P{^Is_Sc= Taml}', "");
-Error('\p{Script=_ kayah_LI:=}');
-Error('\P{Script=_ kayah_LI:=}');
-Expect(1, 43311, '\p{Script=kayahli}', "");
-Expect(0, 43311, '\p{^Script=kayahli}', "");
-Expect(0, 43311, '\P{Script=kayahli}', "");
-Expect(1, 43311, '\P{^Script=kayahli}', "");
-Expect(0, 43263, '\p{Script=kayahli}', "");
-Expect(1, 43263, '\p{^Script=kayahli}', "");
-Expect(1, 43263, '\P{Script=kayahli}', "");
-Expect(0, 43263, '\P{^Script=kayahli}', "");
-Expect(1, 43311, '\p{Script: -_kayah_Li}', "");
-Expect(0, 43311, '\p{^Script: -_kayah_Li}', "");
-Expect(0, 43311, '\P{Script: -_kayah_Li}', "");
-Expect(1, 43311, '\P{^Script: -_kayah_Li}', "");
-Expect(0, 43263, '\p{Script: -_kayah_Li}', "");
-Expect(1, 43263, '\p{^Script: -_kayah_Li}', "");
-Expect(1, 43263, '\P{Script: -_kayah_Li}', "");
-Expect(0, 43263, '\P{^Script: -_kayah_Li}', "");
-Error('\p{Sc=_-KALI:=}');
-Error('\P{Sc=_-KALI:=}');
-Expect(1, 43311, '\p{Sc=kali}', "");
-Expect(0, 43311, '\p{^Sc=kali}', "");
-Expect(0, 43311, '\P{Sc=kali}', "");
-Expect(1, 43311, '\P{^Sc=kali}', "");
-Expect(0, 43263, '\p{Sc=kali}', "");
-Expect(1, 43263, '\p{^Sc=kali}', "");
-Expect(1, 43263, '\P{Sc=kali}', "");
-Expect(0, 43263, '\P{^Sc=kali}', "");
-Expect(1, 43311, '\p{Sc= Kali}', "");
-Expect(0, 43311, '\p{^Sc= Kali}', "");
-Expect(0, 43311, '\P{Sc= Kali}', "");
-Expect(1, 43311, '\P{^Sc= Kali}', "");
-Expect(0, 43263, '\p{Sc= Kali}', "");
-Expect(1, 43263, '\p{^Sc= Kali}', "");
-Expect(1, 43263, '\P{Sc= Kali}', "");
-Expect(0, 43263, '\P{^Sc= Kali}', "");
-Error('\p{Is_Script=:=KAYAHLi}');
-Error('\P{Is_Script=:=KAYAHLi}');
-Expect(1, 43311, '\p{Is_Script: kayahli}', "");
-Expect(0, 43311, '\p{^Is_Script: kayahli}', "");
-Expect(0, 43311, '\P{Is_Script: kayahli}', "");
-Expect(1, 43311, '\P{^Is_Script: kayahli}', "");
-Expect(0, 43263, '\p{Is_Script: kayahli}', "");
-Expect(1, 43263, '\p{^Is_Script: kayahli}', "");
-Expect(1, 43263, '\P{Is_Script: kayahli}', "");
-Expect(0, 43263, '\P{^Is_Script: kayahli}', "");
-Expect(1, 43311, '\p{Is_Script: _Kayah-LI}', "");
-Expect(0, 43311, '\p{^Is_Script: _Kayah-LI}', "");
-Expect(0, 43311, '\P{Is_Script: _Kayah-LI}', "");
-Expect(1, 43311, '\P{^Is_Script: _Kayah-LI}', "");
-Expect(0, 43263, '\p{Is_Script: _Kayah-LI}', "");
-Expect(1, 43263, '\p{^Is_Script: _Kayah-LI}', "");
-Expect(1, 43263, '\P{Is_Script: _Kayah-LI}', "");
-Expect(0, 43263, '\P{^Is_Script: _Kayah-LI}', "");
-Error('\p{Is_Sc: /a/_ Kali}');
-Error('\P{Is_Sc: /a/_ Kali}');
-Expect(1, 43311, '\p{Is_Sc=kali}', "");
-Expect(0, 43311, '\p{^Is_Sc=kali}', "");
-Expect(0, 43311, '\P{Is_Sc=kali}', "");
-Expect(1, 43311, '\P{^Is_Sc=kali}', "");
-Expect(0, 43263, '\p{Is_Sc=kali}', "");
-Expect(1, 43263, '\p{^Is_Sc=kali}', "");
-Expect(1, 43263, '\P{Is_Sc=kali}', "");
-Expect(0, 43263, '\P{^Is_Sc=kali}', "");
-Expect(1, 43311, '\p{Is_Sc= Kali}', "");
-Expect(0, 43311, '\p{^Is_Sc= Kali}', "");
-Expect(0, 43311, '\P{Is_Sc= Kali}', "");
-Expect(1, 43311, '\P{^Is_Sc= Kali}', "");
-Expect(0, 43263, '\p{Is_Sc= Kali}', "");
-Expect(1, 43263, '\p{^Is_Sc= Kali}', "");
-Expect(1, 43263, '\P{Is_Sc= Kali}', "");
-Expect(0, 43263, '\P{^Is_Sc= Kali}', "");
-Error('\p{Script=-_Thai:=}');
-Error('\P{Script=-_Thai:=}');
-Expect(1, 3642, '\p{Script=thai}', "");
-Expect(0, 3642, '\p{^Script=thai}', "");
-Expect(0, 3642, '\P{Script=thai}', "");
-Expect(1, 3642, '\P{^Script=thai}', "");
-Expect(0, 3584, '\p{Script=thai}', "");
-Expect(1, 3584, '\p{^Script=thai}', "");
-Expect(1, 3584, '\P{Script=thai}', "");
-Expect(0, 3584, '\P{^Script=thai}', "");
-Expect(1, 3642, '\p{Script= -thai}', "");
-Expect(0, 3642, '\p{^Script= -thai}', "");
-Expect(0, 3642, '\P{Script= -thai}', "");
-Expect(1, 3642, '\P{^Script= -thai}', "");
-Expect(0, 3584, '\p{Script= -thai}', "");
-Expect(1, 3584, '\p{^Script= -thai}', "");
-Expect(1, 3584, '\P{Script= -thai}', "");
-Expect(0, 3584, '\P{^Script= -thai}', "");
-Error('\p{Sc=/a/_ thai}');
-Error('\P{Sc=/a/_ thai}');
-Expect(1, 3642, '\p{Sc: thai}', "");
-Expect(0, 3642, '\p{^Sc: thai}', "");
-Expect(0, 3642, '\P{Sc: thai}', "");
-Expect(1, 3642, '\P{^Sc: thai}', "");
-Expect(0, 3584, '\p{Sc: thai}', "");
-Expect(1, 3584, '\p{^Sc: thai}', "");
-Expect(1, 3584, '\P{Sc: thai}', "");
-Expect(0, 3584, '\P{^Sc: thai}', "");
-Expect(1, 3642, '\p{Sc: _THAI}', "");
-Expect(0, 3642, '\p{^Sc: _THAI}', "");
-Expect(0, 3642, '\P{Sc: _THAI}', "");
-Expect(1, 3642, '\P{^Sc: _THAI}', "");
-Expect(0, 3584, '\p{Sc: _THAI}', "");
-Expect(1, 3584, '\p{^Sc: _THAI}', "");
-Expect(1, 3584, '\P{Sc: _THAI}', "");
-Expect(0, 3584, '\P{^Sc: _THAI}', "");
-Error('\p{Is_Script= THAI/a/}');
-Error('\P{Is_Script= THAI/a/}');
-Expect(1, 3642, '\p{Is_Script=thai}', "");
-Expect(0, 3642, '\p{^Is_Script=thai}', "");
-Expect(0, 3642, '\P{Is_Script=thai}', "");
-Expect(1, 3642, '\P{^Is_Script=thai}', "");
-Expect(0, 3584, '\p{Is_Script=thai}', "");
-Expect(1, 3584, '\p{^Is_Script=thai}', "");
-Expect(1, 3584, '\P{Is_Script=thai}', "");
-Expect(0, 3584, '\P{^Is_Script=thai}', "");
-Expect(1, 3642, '\p{Is_Script= THAI}', "");
-Expect(0, 3642, '\p{^Is_Script= THAI}', "");
-Expect(0, 3642, '\P{Is_Script= THAI}', "");
-Expect(1, 3642, '\P{^Is_Script= THAI}', "");
-Expect(0, 3584, '\p{Is_Script= THAI}', "");
-Expect(1, 3584, '\p{^Is_Script= THAI}', "");
-Expect(1, 3584, '\P{Is_Script= THAI}', "");
-Expect(0, 3584, '\P{^Is_Script= THAI}', "");
-Error('\p{Is_Sc=:= Thai}');
-Error('\P{Is_Sc=:= Thai}');
-Expect(1, 3642, '\p{Is_Sc=thai}', "");
-Expect(0, 3642, '\p{^Is_Sc=thai}', "");
-Expect(0, 3642, '\P{Is_Sc=thai}', "");
-Expect(1, 3642, '\P{^Is_Sc=thai}', "");
-Expect(0, 3584, '\p{Is_Sc=thai}', "");
-Expect(1, 3584, '\p{^Is_Sc=thai}', "");
-Expect(1, 3584, '\P{Is_Sc=thai}', "");
-Expect(0, 3584, '\P{^Is_Sc=thai}', "");
-Expect(1, 3642, '\p{Is_Sc= THAI}', "");
-Expect(0, 3642, '\p{^Is_Sc= THAI}', "");
-Expect(0, 3642, '\P{Is_Sc= THAI}', "");
-Expect(1, 3642, '\P{^Is_Sc= THAI}', "");
-Expect(0, 3584, '\p{Is_Sc= THAI}', "");
-Expect(1, 3584, '\p{^Is_Sc= THAI}', "");
-Expect(1, 3584, '\P{Is_Sc= THAI}', "");
-Expect(0, 3584, '\P{^Is_Sc= THAI}', "");
-Error('\p{Ideographic=__Yes:=}');
-Error('\P{Ideographic=__Yes:=}');
-Expect(1, 12295, '\p{Ideographic=yes}', "");
-Expect(0, 12295, '\p{^Ideographic=yes}', "");
-Expect(0, 12295, '\P{Ideographic=yes}', "");
-Expect(1, 12295, '\P{^Ideographic=yes}', "");
-Expect(0, 12293, '\p{Ideographic=yes}', "");
-Expect(1, 12293, '\p{^Ideographic=yes}', "");
-Expect(1, 12293, '\P{Ideographic=yes}', "");
-Expect(0, 12293, '\P{^Ideographic=yes}', "");
-Expect(1, 12295, '\p{Ideographic= YES}', "");
-Expect(0, 12295, '\p{^Ideographic= YES}', "");
-Expect(0, 12295, '\P{Ideographic= YES}', "");
-Expect(1, 12295, '\P{^Ideographic= YES}', "");
-Expect(0, 12293, '\p{Ideographic= YES}', "");
-Expect(1, 12293, '\p{^Ideographic= YES}', "");
-Expect(1, 12293, '\P{Ideographic= YES}', "");
-Expect(0, 12293, '\P{^Ideographic= YES}', "");
-Error('\p{Ideo=/a/_Y}');
-Error('\P{Ideo=/a/_Y}');
-Expect(1, 12295, '\p{Ideo=y}', "");
-Expect(0, 12295, '\p{^Ideo=y}', "");
-Expect(0, 12295, '\P{Ideo=y}', "");
-Expect(1, 12295, '\P{^Ideo=y}', "");
-Expect(0, 12293, '\p{Ideo=y}', "");
-Expect(1, 12293, '\p{^Ideo=y}', "");
-Expect(1, 12293, '\P{Ideo=y}', "");
-Expect(0, 12293, '\P{^Ideo=y}', "");
-Expect(1, 12295, '\p{Ideo: Y}', "");
-Expect(0, 12295, '\p{^Ideo: Y}', "");
-Expect(0, 12295, '\P{Ideo: Y}', "");
-Expect(1, 12295, '\P{^Ideo: Y}', "");
-Expect(0, 12293, '\p{Ideo: Y}', "");
-Expect(1, 12293, '\p{^Ideo: Y}', "");
-Expect(1, 12293, '\P{Ideo: Y}', "");
-Expect(0, 12293, '\P{^Ideo: Y}', "");
-Error('\p{Is_Ideographic=:=--T}');
-Error('\P{Is_Ideographic=:=--T}');
-Expect(1, 12295, '\p{Is_Ideographic:t}', "");
-Expect(0, 12295, '\p{^Is_Ideographic:t}', "");
-Expect(0, 12295, '\P{Is_Ideographic:t}', "");
-Expect(1, 12295, '\P{^Is_Ideographic:t}', "");
-Expect(0, 12293, '\p{Is_Ideographic:t}', "");
-Expect(1, 12293, '\p{^Is_Ideographic:t}', "");
-Expect(1, 12293, '\P{Is_Ideographic:t}', "");
-Expect(0, 12293, '\P{^Is_Ideographic:t}', "");
-Expect(1, 12295, '\p{Is_Ideographic=__t}', "");
-Expect(0, 12295, '\p{^Is_Ideographic=__t}', "");
-Expect(0, 12295, '\P{Is_Ideographic=__t}', "");
-Expect(1, 12295, '\P{^Is_Ideographic=__t}', "");
-Expect(0, 12293, '\p{Is_Ideographic=__t}', "");
-Expect(1, 12293, '\p{^Is_Ideographic=__t}', "");
-Expect(1, 12293, '\P{Is_Ideographic=__t}', "");
-Expect(0, 12293, '\P{^Is_Ideographic=__t}', "");
-Error('\p{Is_Ideo=:=TRUE}');
-Error('\P{Is_Ideo=:=TRUE}');
-Expect(1, 12295, '\p{Is_Ideo=true}', "");
-Expect(0, 12295, '\p{^Is_Ideo=true}', "");
-Expect(0, 12295, '\P{Is_Ideo=true}', "");
-Expect(1, 12295, '\P{^Is_Ideo=true}', "");
-Expect(0, 12293, '\p{Is_Ideo=true}', "");
-Expect(1, 12293, '\p{^Is_Ideo=true}', "");
-Expect(1, 12293, '\P{Is_Ideo=true}', "");
-Expect(0, 12293, '\P{^Is_Ideo=true}', "");
-Expect(1, 12295, '\p{Is_Ideo=-True}', "");
-Expect(0, 12295, '\p{^Is_Ideo=-True}', "");
-Expect(0, 12295, '\P{Is_Ideo=-True}', "");
-Expect(1, 12295, '\P{^Is_Ideo=-True}', "");
-Expect(0, 12293, '\p{Is_Ideo=-True}', "");
-Expect(1, 12293, '\p{^Is_Ideo=-True}', "");
-Expect(1, 12293, '\P{Is_Ideo=-True}', "");
-Expect(0, 12293, '\P{^Is_Ideo=-True}', "");
-Error('\p{Ideographic=_-No/a/}');
-Error('\P{Ideographic=_-No/a/}');
-Expect(1, 12293, '\p{Ideographic=no}', "");
-Expect(0, 12293, '\p{^Ideographic=no}', "");
-Expect(0, 12293, '\P{Ideographic=no}', "");
-Expect(1, 12293, '\P{^Ideographic=no}', "");
-Expect(0, 12295, '\p{Ideographic=no}', "");
-Expect(1, 12295, '\p{^Ideographic=no}', "");
-Expect(1, 12295, '\P{Ideographic=no}', "");
-Expect(0, 12295, '\P{^Ideographic=no}', "");
-Expect(1, 12293, '\p{Ideographic=-no}', "");
-Expect(0, 12293, '\p{^Ideographic=-no}', "");
-Expect(0, 12293, '\P{Ideographic=-no}', "");
-Expect(1, 12293, '\P{^Ideographic=-no}', "");
-Expect(0, 12295, '\p{Ideographic=-no}', "");
-Expect(1, 12295, '\p{^Ideographic=-no}', "");
-Expect(1, 12295, '\P{Ideographic=-no}', "");
-Expect(0, 12295, '\P{^Ideographic=-no}', "");
-Error('\p{Ideo= N/a/}');
-Error('\P{Ideo= N/a/}');
-Expect(1, 12293, '\p{Ideo=n}', "");
-Expect(0, 12293, '\p{^Ideo=n}', "");
-Expect(0, 12293, '\P{Ideo=n}', "");
-Expect(1, 12293, '\P{^Ideo=n}', "");
-Expect(0, 12295, '\p{Ideo=n}', "");
-Expect(1, 12295, '\p{^Ideo=n}', "");
-Expect(1, 12295, '\P{Ideo=n}', "");
-Expect(0, 12295, '\P{^Ideo=n}', "");
-Expect(1, 12293, '\p{Ideo=--n}', "");
-Expect(0, 12293, '\p{^Ideo=--n}', "");
-Expect(0, 12293, '\P{Ideo=--n}', "");
-Expect(1, 12293, '\P{^Ideo=--n}', "");
-Expect(0, 12295, '\p{Ideo=--n}', "");
-Expect(1, 12295, '\p{^Ideo=--n}', "");
-Expect(1, 12295, '\P{Ideo=--n}', "");
-Expect(0, 12295, '\P{^Ideo=--n}', "");
-Error('\p{Is_Ideographic=:= f}');
-Error('\P{Is_Ideographic=:= f}');
-Expect(1, 12293, '\p{Is_Ideographic=f}', "");
-Expect(0, 12293, '\p{^Is_Ideographic=f}', "");
-Expect(0, 12293, '\P{Is_Ideographic=f}', "");
-Expect(1, 12293, '\P{^Is_Ideographic=f}', "");
-Expect(0, 12295, '\p{Is_Ideographic=f}', "");
-Expect(1, 12295, '\p{^Is_Ideographic=f}', "");
-Expect(1, 12295, '\P{Is_Ideographic=f}', "");
-Expect(0, 12295, '\P{^Is_Ideographic=f}', "");
-Expect(1, 12293, '\p{Is_Ideographic= -f}', "");
-Expect(0, 12293, '\p{^Is_Ideographic= -f}', "");
-Expect(0, 12293, '\P{Is_Ideographic= -f}', "");
-Expect(1, 12293, '\P{^Is_Ideographic= -f}', "");
-Expect(0, 12295, '\p{Is_Ideographic= -f}', "");
-Expect(1, 12295, '\p{^Is_Ideographic= -f}', "");
-Expect(1, 12295, '\P{Is_Ideographic= -f}', "");
-Expect(0, 12295, '\P{^Is_Ideographic= -f}', "");
-Error('\p{Is_Ideo: _/a/False}');
-Error('\P{Is_Ideo: _/a/False}');
-Expect(1, 12293, '\p{Is_Ideo=false}', "");
-Expect(0, 12293, '\p{^Is_Ideo=false}', "");
-Expect(0, 12293, '\P{Is_Ideo=false}', "");
-Expect(1, 12293, '\P{^Is_Ideo=false}', "");
-Expect(0, 12295, '\p{Is_Ideo=false}', "");
-Expect(1, 12295, '\p{^Is_Ideo=false}', "");
-Expect(1, 12295, '\P{Is_Ideo=false}', "");
-Expect(0, 12295, '\P{^Is_Ideo=false}', "");
-Expect(1, 12293, '\p{Is_Ideo= False}', "");
-Expect(0, 12293, '\p{^Is_Ideo= False}', "");
-Expect(0, 12293, '\P{Is_Ideo= False}', "");
-Expect(1, 12293, '\P{^Is_Ideo= False}', "");
-Expect(0, 12295, '\p{Is_Ideo= False}', "");
-Expect(1, 12295, '\p{^Is_Ideo= False}', "");
-Expect(1, 12295, '\P{Is_Ideo= False}', "");
-Expect(0, 12295, '\P{^Is_Ideo= False}', "");
-Error('\p{Other_Grapheme_Extend=- Yes/a/}');
-Error('\P{Other_Grapheme_Extend=- Yes/a/}');
-Expect(1, 2494, '\p{Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(0, 2494, '\p{^Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(0, 2494, '\P{Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(1, 2494, '\P{^Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(0, 2493, '\p{Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(1, 2493, '\p{^Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(1, 2493, '\P{Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(0, 2493, '\P{^Other_Grapheme_Extend: yes}', 'deprecated');
-Expect(1, 2494, '\p{Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(0, 2494, '\p{^Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(0, 2494, '\P{Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(1, 2494, '\P{^Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(0, 2493, '\p{Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(1, 2493, '\p{^Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(1, 2493, '\P{Other_Grapheme_Extend= _Yes}', 'deprecated');
-Expect(0, 2493, '\P{^Other_Grapheme_Extend= _Yes}', 'deprecated');
-Error('\p{OGr_Ext:_Y/a/}');
-Error('\P{OGr_Ext:_Y/a/}');
-Expect(1, 2494, '\p{OGr_Ext=y}', 'deprecated');
-Expect(0, 2494, '\p{^OGr_Ext=y}', 'deprecated');
-Expect(0, 2494, '\P{OGr_Ext=y}', 'deprecated');
-Expect(1, 2494, '\P{^OGr_Ext=y}', 'deprecated');
-Expect(0, 2493, '\p{OGr_Ext=y}', 'deprecated');
-Expect(1, 2493, '\p{^OGr_Ext=y}', 'deprecated');
-Expect(1, 2493, '\P{OGr_Ext=y}', 'deprecated');
-Expect(0, 2493, '\P{^OGr_Ext=y}', 'deprecated');
-Expect(1, 2494, '\p{OGr_Ext=_-Y}', 'deprecated');
-Expect(0, 2494, '\p{^OGr_Ext=_-Y}', 'deprecated');
-Expect(0, 2494, '\P{OGr_Ext=_-Y}', 'deprecated');
-Expect(1, 2494, '\P{^OGr_Ext=_-Y}', 'deprecated');
-Expect(0, 2493, '\p{OGr_Ext=_-Y}', 'deprecated');
-Expect(1, 2493, '\p{^OGr_Ext=_-Y}', 'deprecated');
-Expect(1, 2493, '\P{OGr_Ext=_-Y}', 'deprecated');
-Expect(0, 2493, '\P{^OGr_Ext=_-Y}', 'deprecated');
-Error('\p{Is_Other_Grapheme_Extend=:=_T}');
-Error('\P{Is_Other_Grapheme_Extend=:=_T}');
-Expect(1, 2494, '\p{Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(0, 2494, '\p{^Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(0, 2494, '\P{Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(1, 2494, '\P{^Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(0, 2493, '\p{Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(1, 2493, '\p{^Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(1, 2493, '\P{Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(0, 2493, '\P{^Is_Other_Grapheme_Extend=t}', 'deprecated');
-Expect(1, 2494, '\p{Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(0, 2494, '\p{^Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(0, 2494, '\P{Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(1, 2494, '\P{^Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(0, 2493, '\p{Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(1, 2493, '\p{^Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(1, 2493, '\P{Is_Other_Grapheme_Extend= T}', 'deprecated');
-Expect(0, 2493, '\P{^Is_Other_Grapheme_Extend= T}', 'deprecated');
-Error('\p{Is_OGr_Ext=/a/ true}');
-Error('\P{Is_OGr_Ext=/a/ true}');
-Expect(1, 2494, '\p{Is_OGr_Ext=true}', 'deprecated');
-Expect(0, 2494, '\p{^Is_OGr_Ext=true}', 'deprecated');
-Expect(0, 2494, '\P{Is_OGr_Ext=true}', 'deprecated');
-Expect(1, 2494, '\P{^Is_OGr_Ext=true}', 'deprecated');
-Expect(0, 2493, '\p{Is_OGr_Ext=true}', 'deprecated');
-Expect(1, 2493, '\p{^Is_OGr_Ext=true}', 'deprecated');
-Expect(1, 2493, '\P{Is_OGr_Ext=true}', 'deprecated');
-Expect(0, 2493, '\P{^Is_OGr_Ext=true}', 'deprecated');
-Expect(1, 2494, '\p{Is_OGr_Ext=_ True}', 'deprecated');
-Expect(0, 2494, '\p{^Is_OGr_Ext=_ True}', 'deprecated');
-Expect(0, 2494, '\P{Is_OGr_Ext=_ True}', 'deprecated');
-Expect(1, 2494, '\P{^Is_OGr_Ext=_ True}', 'deprecated');
-Expect(0, 2493, '\p{Is_OGr_Ext=_ True}', 'deprecated');
-Expect(1, 2493, '\p{^Is_OGr_Ext=_ True}', 'deprecated');
-Expect(1, 2493, '\P{Is_OGr_Ext=_ True}', 'deprecated');
-Expect(0, 2493, '\P{^Is_OGr_Ext=_ True}', 'deprecated');
-Error('\p{Other_Grapheme_Extend:_/a/NO}');
-Error('\P{Other_Grapheme_Extend:_/a/NO}');
-Expect(1, 2493, '\p{Other_Grapheme_Extend=no}', 'deprecated');
-Expect(0, 2493, '\p{^Other_Grapheme_Extend=no}', 'deprecated');
-Expect(0, 2493, '\P{Other_Grapheme_Extend=no}', 'deprecated');
-Expect(1, 2493, '\P{^Other_Grapheme_Extend=no}', 'deprecated');
-Expect(0, 2494, '\p{Other_Grapheme_Extend=no}', 'deprecated');
-Expect(1, 2494, '\p{^Other_Grapheme_Extend=no}', 'deprecated');
-Expect(1, 2494, '\P{Other_Grapheme_Extend=no}', 'deprecated');
-Expect(0, 2494, '\P{^Other_Grapheme_Extend=no}', 'deprecated');
-Expect(1, 2493, '\p{Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(0, 2493, '\p{^Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(0, 2493, '\P{Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(1, 2493, '\P{^Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(0, 2494, '\p{Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(1, 2494, '\p{^Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(1, 2494, '\P{Other_Grapheme_Extend=_ No}', 'deprecated');
-Expect(0, 2494, '\P{^Other_Grapheme_Extend=_ No}', 'deprecated');
-Error('\p{OGr_Ext=_ N/a/}');
-Error('\P{OGr_Ext=_ N/a/}');
-Expect(1, 2493, '\p{OGr_Ext=n}', 'deprecated');
-Expect(0, 2493, '\p{^OGr_Ext=n}', 'deprecated');
-Expect(0, 2493, '\P{OGr_Ext=n}', 'deprecated');
-Expect(1, 2493, '\P{^OGr_Ext=n}', 'deprecated');
-Expect(0, 2494, '\p{OGr_Ext=n}', 'deprecated');
-Expect(1, 2494, '\p{^OGr_Ext=n}', 'deprecated');
-Expect(1, 2494, '\P{OGr_Ext=n}', 'deprecated');
-Expect(0, 2494, '\P{^OGr_Ext=n}', 'deprecated');
-Expect(1, 2493, '\p{OGr_Ext= n}', 'deprecated');
-Expect(0, 2493, '\p{^OGr_Ext= n}', 'deprecated');
-Expect(0, 2493, '\P{OGr_Ext= n}', 'deprecated');
-Expect(1, 2493, '\P{^OGr_Ext= n}', 'deprecated');
-Expect(0, 2494, '\p{OGr_Ext= n}', 'deprecated');
-Expect(1, 2494, '\p{^OGr_Ext= n}', 'deprecated');
-Expect(1, 2494, '\P{OGr_Ext= n}', 'deprecated');
-Expect(0, 2494, '\P{^OGr_Ext= n}', 'deprecated');
-Error('\p{Is_Other_Grapheme_Extend=- F:=}');
-Error('\P{Is_Other_Grapheme_Extend=- F:=}');
-Expect(1, 2493, '\p{Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(0, 2493, '\p{^Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(0, 2493, '\P{Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(1, 2493, '\P{^Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(0, 2494, '\p{Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(1, 2494, '\p{^Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(1, 2494, '\P{Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(0, 2494, '\P{^Is_Other_Grapheme_Extend=f}', 'deprecated');
-Expect(1, 2493, '\p{Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(0, 2493, '\p{^Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(0, 2493, '\P{Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(1, 2493, '\P{^Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(0, 2494, '\p{Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(1, 2494, '\p{^Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(1, 2494, '\P{Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Expect(0, 2494, '\P{^Is_Other_Grapheme_Extend=--F}', 'deprecated');
-Error('\p{Is_OGr_Ext=:=false}');
-Error('\P{Is_OGr_Ext=:=false}');
-Expect(1, 2493, '\p{Is_OGr_Ext=false}', 'deprecated');
-Expect(0, 2493, '\p{^Is_OGr_Ext=false}', 'deprecated');
-Expect(0, 2493, '\P{Is_OGr_Ext=false}', 'deprecated');
-Expect(1, 2493, '\P{^Is_OGr_Ext=false}', 'deprecated');
-Expect(0, 2494, '\p{Is_OGr_Ext=false}', 'deprecated');
-Expect(1, 2494, '\p{^Is_OGr_Ext=false}', 'deprecated');
-Expect(1, 2494, '\P{Is_OGr_Ext=false}', 'deprecated');
-Expect(0, 2494, '\P{^Is_OGr_Ext=false}', 'deprecated');
-Expect(1, 2493, '\p{Is_OGr_Ext= False}', 'deprecated');
-Expect(0, 2493, '\p{^Is_OGr_Ext= False}', 'deprecated');
-Expect(0, 2493, '\P{Is_OGr_Ext= False}', 'deprecated');
-Expect(1, 2493, '\P{^Is_OGr_Ext= False}', 'deprecated');
-Expect(0, 2494, '\p{Is_OGr_Ext= False}', 'deprecated');
-Expect(1, 2494, '\p{^Is_OGr_Ext= False}', 'deprecated');
-Expect(1, 2494, '\P{Is_OGr_Ext= False}', 'deprecated');
-Expect(0, 2494, '\P{^Is_OGr_Ext= False}', 'deprecated');
-Error('\p{Grapheme_Link=Yes}');
-Error('\P{Grapheme_Link=Yes}');
-Error('\p{Gr_Link=Y}');
-Error('\P{Gr_Link=Y}');
-Error('\p{Is_Grapheme_Link=T}');
-Error('\P{Is_Grapheme_Link=T}');
-Error('\p{Is_Gr_Link=True}');
-Error('\P{Is_Gr_Link=True}');
-Error('\p{Grapheme_Link=No}');
-Error('\P{Grapheme_Link=No}');
-Error('\p{Gr_Link=N}');
-Error('\P{Gr_Link=N}');
-Error('\p{Is_Grapheme_Link: F}');
-Error('\P{Is_Grapheme_Link: F}');
-Error('\p{Is_Gr_Link=False}');
-Error('\P{Is_Gr_Link=False}');
-Error('\p{Bidi_Control=_/a/yes}');
-Error('\P{Bidi_Control=_/a/yes}');
-Expect(1, 8207, '\p{Bidi_Control=yes}', "");
-Expect(0, 8207, '\p{^Bidi_Control=yes}', "");
-Expect(0, 8207, '\P{Bidi_Control=yes}', "");
-Expect(1, 8207, '\P{^Bidi_Control=yes}', "");
-Expect(0, 8205, '\p{Bidi_Control=yes}', "");
-Expect(1, 8205, '\p{^Bidi_Control=yes}', "");
-Expect(1, 8205, '\P{Bidi_Control=yes}', "");
-Expect(0, 8205, '\P{^Bidi_Control=yes}', "");
-Expect(1, 8207, '\p{Bidi_Control: Yes}', "");
-Expect(0, 8207, '\p{^Bidi_Control: Yes}', "");
-Expect(0, 8207, '\P{Bidi_Control: Yes}', "");
-Expect(1, 8207, '\P{^Bidi_Control: Yes}', "");
-Expect(0, 8205, '\p{Bidi_Control: Yes}', "");
-Expect(1, 8205, '\p{^Bidi_Control: Yes}', "");
-Expect(1, 8205, '\P{Bidi_Control: Yes}', "");
-Expect(0, 8205, '\P{^Bidi_Control: Yes}', "");
-Error('\p{Bidi_C=/a/ _Y}');
-Error('\P{Bidi_C=/a/ _Y}');
-Expect(1, 8207, '\p{Bidi_C=y}', "");
-Expect(0, 8207, '\p{^Bidi_C=y}', "");
-Expect(0, 8207, '\P{Bidi_C=y}', "");
-Expect(1, 8207, '\P{^Bidi_C=y}', "");
-Expect(0, 8205, '\p{Bidi_C=y}', "");
-Expect(1, 8205, '\p{^Bidi_C=y}', "");
-Expect(1, 8205, '\P{Bidi_C=y}', "");
-Expect(0, 8205, '\P{^Bidi_C=y}', "");
-Expect(1, 8207, '\p{Bidi_C=_y}', "");
-Expect(0, 8207, '\p{^Bidi_C=_y}', "");
-Expect(0, 8207, '\P{Bidi_C=_y}', "");
-Expect(1, 8207, '\P{^Bidi_C=_y}', "");
-Expect(0, 8205, '\p{Bidi_C=_y}', "");
-Expect(1, 8205, '\p{^Bidi_C=_y}', "");
-Expect(1, 8205, '\P{Bidi_C=_y}', "");
-Expect(0, 8205, '\P{^Bidi_C=_y}', "");
-Error('\p{Is_Bidi_Control: T/a/}');
-Error('\P{Is_Bidi_Control: T/a/}');
-Expect(1, 8207, '\p{Is_Bidi_Control=t}', "");
-Expect(0, 8207, '\p{^Is_Bidi_Control=t}', "");
-Expect(0, 8207, '\P{Is_Bidi_Control=t}', "");
-Expect(1, 8207, '\P{^Is_Bidi_Control=t}', "");
-Expect(0, 8205, '\p{Is_Bidi_Control=t}', "");
-Expect(1, 8205, '\p{^Is_Bidi_Control=t}', "");
-Expect(1, 8205, '\P{Is_Bidi_Control=t}', "");
-Expect(0, 8205, '\P{^Is_Bidi_Control=t}', "");
-Expect(1, 8207, '\p{Is_Bidi_Control=_-t}', "");
-Expect(0, 8207, '\p{^Is_Bidi_Control=_-t}', "");
-Expect(0, 8207, '\P{Is_Bidi_Control=_-t}', "");
-Expect(1, 8207, '\P{^Is_Bidi_Control=_-t}', "");
-Expect(0, 8205, '\p{Is_Bidi_Control=_-t}', "");
-Expect(1, 8205, '\p{^Is_Bidi_Control=_-t}', "");
-Expect(1, 8205, '\P{Is_Bidi_Control=_-t}', "");
-Expect(0, 8205, '\P{^Is_Bidi_Control=_-t}', "");
-Error('\p{Is_Bidi_C: -True:=}');
-Error('\P{Is_Bidi_C: -True:=}');
-Expect(1, 8207, '\p{Is_Bidi_C=true}', "");
-Expect(0, 8207, '\p{^Is_Bidi_C=true}', "");
-Expect(0, 8207, '\P{Is_Bidi_C=true}', "");
-Expect(1, 8207, '\P{^Is_Bidi_C=true}', "");
-Expect(0, 8205, '\p{Is_Bidi_C=true}', "");
-Expect(1, 8205, '\p{^Is_Bidi_C=true}', "");
-Expect(1, 8205, '\P{Is_Bidi_C=true}', "");
-Expect(0, 8205, '\P{^Is_Bidi_C=true}', "");
-Expect(1, 8207, '\p{Is_Bidi_C=--true}', "");
-Expect(0, 8207, '\p{^Is_Bidi_C=--true}', "");
-Expect(0, 8207, '\P{Is_Bidi_C=--true}', "");
-Expect(1, 8207, '\P{^Is_Bidi_C=--true}', "");
-Expect(0, 8205, '\p{Is_Bidi_C=--true}', "");
-Expect(1, 8205, '\p{^Is_Bidi_C=--true}', "");
-Expect(1, 8205, '\P{Is_Bidi_C=--true}', "");
-Expect(0, 8205, '\P{^Is_Bidi_C=--true}', "");
-Error('\p{Bidi_Control= No/a/}');
-Error('\P{Bidi_Control= No/a/}');
-Expect(1, 8205, '\p{Bidi_Control: no}', "");
-Expect(0, 8205, '\p{^Bidi_Control: no}', "");
-Expect(0, 8205, '\P{Bidi_Control: no}', "");
-Expect(1, 8205, '\P{^Bidi_Control: no}', "");
-Expect(0, 8207, '\p{Bidi_Control: no}', "");
-Expect(1, 8207, '\p{^Bidi_Control: no}', "");
-Expect(1, 8207, '\P{Bidi_Control: no}', "");
-Expect(0, 8207, '\P{^Bidi_Control: no}', "");
-Expect(1, 8205, '\p{Bidi_Control: --NO}', "");
-Expect(0, 8205, '\p{^Bidi_Control: --NO}', "");
-Expect(0, 8205, '\P{Bidi_Control: --NO}', "");
-Expect(1, 8205, '\P{^Bidi_Control: --NO}', "");
-Expect(0, 8207, '\p{Bidi_Control: --NO}', "");
-Expect(1, 8207, '\p{^Bidi_Control: --NO}', "");
-Expect(1, 8207, '\P{Bidi_Control: --NO}', "");
-Expect(0, 8207, '\P{^Bidi_Control: --NO}', "");
-Error('\p{Bidi_C= N:=}');
-Error('\P{Bidi_C= N:=}');
-Expect(1, 8205, '\p{Bidi_C: n}', "");
-Expect(0, 8205, '\p{^Bidi_C: n}', "");
-Expect(0, 8205, '\P{Bidi_C: n}', "");
-Expect(1, 8205, '\P{^Bidi_C: n}', "");
-Expect(0, 8207, '\p{Bidi_C: n}', "");
-Expect(1, 8207, '\p{^Bidi_C: n}', "");
-Expect(1, 8207, '\P{Bidi_C: n}', "");
-Expect(0, 8207, '\P{^Bidi_C: n}', "");
-Expect(1, 8205, '\p{Bidi_C= -N}', "");
-Expect(0, 8205, '\p{^Bidi_C= -N}', "");
-Expect(0, 8205, '\P{Bidi_C= -N}', "");
-Expect(1, 8205, '\P{^Bidi_C= -N}', "");
-Expect(0, 8207, '\p{Bidi_C= -N}', "");
-Expect(1, 8207, '\p{^Bidi_C= -N}', "");
-Expect(1, 8207, '\P{Bidi_C= -N}', "");
-Expect(0, 8207, '\P{^Bidi_C= -N}', "");
-Error('\p{Is_Bidi_Control=--f:=}');
-Error('\P{Is_Bidi_Control=--f:=}');
-Expect(1, 8205, '\p{Is_Bidi_Control=f}', "");
-Expect(0, 8205, '\p{^Is_Bidi_Control=f}', "");
-Expect(0, 8205, '\P{Is_Bidi_Control=f}', "");
-Expect(1, 8205, '\P{^Is_Bidi_Control=f}', "");
-Expect(0, 8207, '\p{Is_Bidi_Control=f}', "");
-Expect(1, 8207, '\p{^Is_Bidi_Control=f}', "");
-Expect(1, 8207, '\P{Is_Bidi_Control=f}', "");
-Expect(0, 8207, '\P{^Is_Bidi_Control=f}', "");
-Expect(1, 8205, '\p{Is_Bidi_Control=_F}', "");
-Expect(0, 8205, '\p{^Is_Bidi_Control=_F}', "");
-Expect(0, 8205, '\P{Is_Bidi_Control=_F}', "");
-Expect(1, 8205, '\P{^Is_Bidi_Control=_F}', "");
-Expect(0, 8207, '\p{Is_Bidi_Control=_F}', "");
-Expect(1, 8207, '\p{^Is_Bidi_Control=_F}', "");
-Expect(1, 8207, '\P{Is_Bidi_Control=_F}', "");
-Expect(0, 8207, '\P{^Is_Bidi_Control=_F}', "");
-Error('\p{Is_Bidi_C= /a/FALSE}');
-Error('\P{Is_Bidi_C= /a/FALSE}');
-Expect(1, 8205, '\p{Is_Bidi_C=false}', "");
-Expect(0, 8205, '\p{^Is_Bidi_C=false}', "");
-Expect(0, 8205, '\P{Is_Bidi_C=false}', "");
-Expect(1, 8205, '\P{^Is_Bidi_C=false}', "");
-Expect(0, 8207, '\p{Is_Bidi_C=false}', "");
-Expect(1, 8207, '\p{^Is_Bidi_C=false}', "");
-Expect(1, 8207, '\P{Is_Bidi_C=false}', "");
-Expect(0, 8207, '\P{^Is_Bidi_C=false}', "");
-Expect(1, 8205, '\p{Is_Bidi_C=_FALSE}', "");
-Expect(0, 8205, '\p{^Is_Bidi_C=_FALSE}', "");
-Expect(0, 8205, '\P{Is_Bidi_C=_FALSE}', "");
-Expect(1, 8205, '\P{^Is_Bidi_C=_FALSE}', "");
-Expect(0, 8207, '\p{Is_Bidi_C=_FALSE}', "");
-Expect(1, 8207, '\p{^Is_Bidi_C=_FALSE}', "");
-Expect(1, 8207, '\P{Is_Bidi_C=_FALSE}', "");
-Expect(0, 8207, '\P{^Is_Bidi_C=_FALSE}', "");
-Error('\p{ID_Continue=:= _YES}');
-Error('\P{ID_Continue=:= _YES}');
-Expect(1, 57, '\p{ID_Continue=yes}', "");
-Expect(0, 57, '\p{^ID_Continue=yes}', "");
-Expect(0, 57, '\P{ID_Continue=yes}', "");
-Expect(1, 57, '\P{^ID_Continue=yes}', "");
-Expect(0, 47, '\p{ID_Continue=yes}', "");
-Expect(1, 47, '\p{^ID_Continue=yes}', "");
-Expect(1, 47, '\P{ID_Continue=yes}', "");
-Expect(0, 47, '\P{^ID_Continue=yes}', "");
-Expect(1, 57, '\p{ID_Continue=_ yes}', "");
-Expect(0, 57, '\p{^ID_Continue=_ yes}', "");
-Expect(0, 57, '\P{ID_Continue=_ yes}', "");
-Expect(1, 57, '\P{^ID_Continue=_ yes}', "");
-Expect(0, 47, '\p{ID_Continue=_ yes}', "");
-Expect(1, 47, '\p{^ID_Continue=_ yes}', "");
-Expect(1, 47, '\P{ID_Continue=_ yes}', "");
-Expect(0, 47, '\P{^ID_Continue=_ yes}', "");
-Error('\p{IDC= -Y:=}');
-Error('\P{IDC= -Y:=}');
-Expect(1, 57, '\p{IDC=y}', "");
-Expect(0, 57, '\p{^IDC=y}', "");
-Expect(0, 57, '\P{IDC=y}', "");
-Expect(1, 57, '\P{^IDC=y}', "");
-Expect(0, 47, '\p{IDC=y}', "");
-Expect(1, 47, '\p{^IDC=y}', "");
-Expect(1, 47, '\P{IDC=y}', "");
-Expect(0, 47, '\P{^IDC=y}', "");
-Expect(1, 57, '\p{IDC= y}', "");
-Expect(0, 57, '\p{^IDC= y}', "");
-Expect(0, 57, '\P{IDC= y}', "");
-Expect(1, 57, '\P{^IDC= y}', "");
-Expect(0, 47, '\p{IDC= y}', "");
-Expect(1, 47, '\p{^IDC= y}', "");
-Expect(1, 47, '\P{IDC= y}', "");
-Expect(0, 47, '\P{^IDC= y}', "");
-Error('\p{Is_ID_Continue: :=t}');
-Error('\P{Is_ID_Continue: :=t}');
-Expect(1, 57, '\p{Is_ID_Continue=t}', "");
-Expect(0, 57, '\p{^Is_ID_Continue=t}', "");
-Expect(0, 57, '\P{Is_ID_Continue=t}', "");
-Expect(1, 57, '\P{^Is_ID_Continue=t}', "");
-Expect(0, 47, '\p{Is_ID_Continue=t}', "");
-Expect(1, 47, '\p{^Is_ID_Continue=t}', "");
-Expect(1, 47, '\P{Is_ID_Continue=t}', "");
-Expect(0, 47, '\P{^Is_ID_Continue=t}', "");
-Expect(1, 57, '\p{Is_ID_Continue:-T}', "");
-Expect(0, 57, '\p{^Is_ID_Continue:-T}', "");
-Expect(0, 57, '\P{Is_ID_Continue:-T}', "");
-Expect(1, 57, '\P{^Is_ID_Continue:-T}', "");
-Expect(0, 47, '\p{Is_ID_Continue:-T}', "");
-Expect(1, 47, '\p{^Is_ID_Continue:-T}', "");
-Expect(1, 47, '\P{Is_ID_Continue:-T}', "");
-Expect(0, 47, '\P{^Is_ID_Continue:-T}', "");
-Error('\p{Is_IDC: /a/_true}');
-Error('\P{Is_IDC: /a/_true}');
-Expect(1, 57, '\p{Is_IDC=true}', "");
-Expect(0, 57, '\p{^Is_IDC=true}', "");
-Expect(0, 57, '\P{Is_IDC=true}', "");
-Expect(1, 57, '\P{^Is_IDC=true}', "");
-Expect(0, 47, '\p{Is_IDC=true}', "");
-Expect(1, 47, '\p{^Is_IDC=true}', "");
-Expect(1, 47, '\P{Is_IDC=true}', "");
-Expect(0, 47, '\P{^Is_IDC=true}', "");
-Expect(1, 57, '\p{Is_IDC=TRUE}', "");
-Expect(0, 57, '\p{^Is_IDC=TRUE}', "");
-Expect(0, 57, '\P{Is_IDC=TRUE}', "");
-Expect(1, 57, '\P{^Is_IDC=TRUE}', "");
-Expect(0, 47, '\p{Is_IDC=TRUE}', "");
-Expect(1, 47, '\p{^Is_IDC=TRUE}', "");
-Expect(1, 47, '\P{Is_IDC=TRUE}', "");
-Expect(0, 47, '\P{^Is_IDC=TRUE}', "");
-Error('\p{ID_Continue=/a/ -NO}');
-Error('\P{ID_Continue=/a/ -NO}');
-Expect(1, 47, '\p{ID_Continue=no}', "");
-Expect(0, 47, '\p{^ID_Continue=no}', "");
-Expect(0, 47, '\P{ID_Continue=no}', "");
-Expect(1, 47, '\P{^ID_Continue=no}', "");
-Expect(0, 57, '\p{ID_Continue=no}', "");
-Expect(1, 57, '\p{^ID_Continue=no}', "");
-Expect(1, 57, '\P{ID_Continue=no}', "");
-Expect(0, 57, '\P{^ID_Continue=no}', "");
-Expect(1, 47, '\p{ID_Continue= No}', "");
-Expect(0, 47, '\p{^ID_Continue= No}', "");
-Expect(0, 47, '\P{ID_Continue= No}', "");
-Expect(1, 47, '\P{^ID_Continue= No}', "");
-Expect(0, 57, '\p{ID_Continue= No}', "");
-Expect(1, 57, '\p{^ID_Continue= No}', "");
-Expect(1, 57, '\P{ID_Continue= No}', "");
-Expect(0, 57, '\P{^ID_Continue= No}', "");
-Error('\p{IDC=- n:=}');
-Error('\P{IDC=- n:=}');
-Expect(1, 47, '\p{IDC=n}', "");
-Expect(0, 47, '\p{^IDC=n}', "");
-Expect(0, 47, '\P{IDC=n}', "");
-Expect(1, 47, '\P{^IDC=n}', "");
-Expect(0, 57, '\p{IDC=n}', "");
-Expect(1, 57, '\p{^IDC=n}', "");
-Expect(1, 57, '\P{IDC=n}', "");
-Expect(0, 57, '\P{^IDC=n}', "");
-Expect(1, 47, '\p{IDC: _n}', "");
-Expect(0, 47, '\p{^IDC: _n}', "");
-Expect(0, 47, '\P{IDC: _n}', "");
-Expect(1, 47, '\P{^IDC: _n}', "");
-Expect(0, 57, '\p{IDC: _n}', "");
-Expect(1, 57, '\p{^IDC: _n}', "");
-Expect(1, 57, '\P{IDC: _n}', "");
-Expect(0, 57, '\P{^IDC: _n}', "");
-Error('\p{Is_ID_Continue:-/a/f}');
-Error('\P{Is_ID_Continue:-/a/f}');
-Expect(1, 47, '\p{Is_ID_Continue: f}', "");
-Expect(0, 47, '\p{^Is_ID_Continue: f}', "");
-Expect(0, 47, '\P{Is_ID_Continue: f}', "");
-Expect(1, 47, '\P{^Is_ID_Continue: f}', "");
-Expect(0, 57, '\p{Is_ID_Continue: f}', "");
-Expect(1, 57, '\p{^Is_ID_Continue: f}', "");
-Expect(1, 57, '\P{Is_ID_Continue: f}', "");
-Expect(0, 57, '\P{^Is_ID_Continue: f}', "");
-Expect(1, 47, '\p{Is_ID_Continue= -F}', "");
-Expect(0, 47, '\p{^Is_ID_Continue= -F}', "");
-Expect(0, 47, '\P{Is_ID_Continue= -F}', "");
-Expect(1, 47, '\P{^Is_ID_Continue= -F}', "");
-Expect(0, 57, '\p{Is_ID_Continue= -F}', "");
-Expect(1, 57, '\p{^Is_ID_Continue= -F}', "");
-Expect(1, 57, '\P{Is_ID_Continue= -F}', "");
-Expect(0, 57, '\P{^Is_ID_Continue= -F}', "");
-Error('\p{Is_IDC=:= False}');
-Error('\P{Is_IDC=:= False}');
-Expect(1, 47, '\p{Is_IDC=false}', "");
-Expect(0, 47, '\p{^Is_IDC=false}', "");
-Expect(0, 47, '\P{Is_IDC=false}', "");
-Expect(1, 47, '\P{^Is_IDC=false}', "");
-Expect(0, 57, '\p{Is_IDC=false}', "");
-Expect(1, 57, '\p{^Is_IDC=false}', "");
-Expect(1, 57, '\P{Is_IDC=false}', "");
-Expect(0, 57, '\P{^Is_IDC=false}', "");
-Expect(1, 47, '\p{Is_IDC: -FALSE}', "");
-Expect(0, 47, '\p{^Is_IDC: -FALSE}', "");
-Expect(0, 47, '\P{Is_IDC: -FALSE}', "");
-Expect(1, 47, '\P{^Is_IDC: -FALSE}', "");
-Expect(0, 57, '\p{Is_IDC: -FALSE}', "");
-Expect(1, 57, '\p{^Is_IDC: -FALSE}', "");
-Expect(1, 57, '\P{Is_IDC: -FALSE}', "");
-Expect(0, 57, '\P{^Is_IDC: -FALSE}', "");
-Error('\p{Other_Alphabetic=/a/yes}');
-Error('\P{Other_Alphabetic=/a/yes}');
-Expect(1, 837, '\p{Other_Alphabetic=yes}', 'deprecated');
-Expect(0, 837, '\p{^Other_Alphabetic=yes}', 'deprecated');
-Expect(0, 837, '\P{Other_Alphabetic=yes}', 'deprecated');
-Expect(1, 837, '\P{^Other_Alphabetic=yes}', 'deprecated');
-Expect(0, 836, '\p{Other_Alphabetic=yes}', 'deprecated');
-Expect(1, 836, '\p{^Other_Alphabetic=yes}', 'deprecated');
-Expect(1, 836, '\P{Other_Alphabetic=yes}', 'deprecated');
-Expect(0, 836, '\P{^Other_Alphabetic=yes}', 'deprecated');
-Expect(1, 837, '\p{Other_Alphabetic= Yes}', 'deprecated');
-Expect(0, 837, '\p{^Other_Alphabetic= Yes}', 'deprecated');
-Expect(0, 837, '\P{Other_Alphabetic= Yes}', 'deprecated');
-Expect(1, 837, '\P{^Other_Alphabetic= Yes}', 'deprecated');
-Expect(0, 836, '\p{Other_Alphabetic= Yes}', 'deprecated');
-Expect(1, 836, '\p{^Other_Alphabetic= Yes}', 'deprecated');
-Expect(1, 836, '\P{Other_Alphabetic= Yes}', 'deprecated');
-Expect(0, 836, '\P{^Other_Alphabetic= Yes}', 'deprecated');
-Error('\p{OAlpha= /a/Y}');
-Error('\P{OAlpha= /a/Y}');
-Expect(1, 837, '\p{OAlpha=y}', 'deprecated');
-Expect(0, 837, '\p{^OAlpha=y}', 'deprecated');
-Expect(0, 837, '\P{OAlpha=y}', 'deprecated');
-Expect(1, 837, '\P{^OAlpha=y}', 'deprecated');
-Expect(0, 836, '\p{OAlpha=y}', 'deprecated');
-Expect(1, 836, '\p{^OAlpha=y}', 'deprecated');
-Expect(1, 836, '\P{OAlpha=y}', 'deprecated');
-Expect(0, 836, '\P{^OAlpha=y}', 'deprecated');
-Expect(1, 837, '\p{OAlpha=-_y}', 'deprecated');
-Expect(0, 837, '\p{^OAlpha=-_y}', 'deprecated');
-Expect(0, 837, '\P{OAlpha=-_y}', 'deprecated');
-Expect(1, 837, '\P{^OAlpha=-_y}', 'deprecated');
-Expect(0, 836, '\p{OAlpha=-_y}', 'deprecated');
-Expect(1, 836, '\p{^OAlpha=-_y}', 'deprecated');
-Expect(1, 836, '\P{OAlpha=-_y}', 'deprecated');
-Expect(0, 836, '\P{^OAlpha=-_y}', 'deprecated');
-Error('\p{Is_Other_Alphabetic=-/a/T}');
-Error('\P{Is_Other_Alphabetic=-/a/T}');
-Expect(1, 837, '\p{Is_Other_Alphabetic=t}', 'deprecated');
-Expect(0, 837, '\p{^Is_Other_Alphabetic=t}', 'deprecated');
-Expect(0, 837, '\P{Is_Other_Alphabetic=t}', 'deprecated');
-Expect(1, 837, '\P{^Is_Other_Alphabetic=t}', 'deprecated');
-Expect(0, 836, '\p{Is_Other_Alphabetic=t}', 'deprecated');
-Expect(1, 836, '\p{^Is_Other_Alphabetic=t}', 'deprecated');
-Expect(1, 836, '\P{Is_Other_Alphabetic=t}', 'deprecated');
-Expect(0, 836, '\P{^Is_Other_Alphabetic=t}', 'deprecated');
-Expect(1, 837, '\p{Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(0, 837, '\p{^Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(0, 837, '\P{Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(1, 837, '\P{^Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(0, 836, '\p{Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(1, 836, '\p{^Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(1, 836, '\P{Is_Other_Alphabetic=- t}', 'deprecated');
-Expect(0, 836, '\P{^Is_Other_Alphabetic=- t}', 'deprecated');
-Error('\p{Is_OAlpha=-_True:=}');
-Error('\P{Is_OAlpha=-_True:=}');
-Expect(1, 837, '\p{Is_OAlpha=true}', 'deprecated');
-Expect(0, 837, '\p{^Is_OAlpha=true}', 'deprecated');
-Expect(0, 837, '\P{Is_OAlpha=true}', 'deprecated');
-Expect(1, 837, '\P{^Is_OAlpha=true}', 'deprecated');
-Expect(0, 836, '\p{Is_OAlpha=true}', 'deprecated');
-Expect(1, 836, '\p{^Is_OAlpha=true}', 'deprecated');
-Expect(1, 836, '\P{Is_OAlpha=true}', 'deprecated');
-Expect(0, 836, '\P{^Is_OAlpha=true}', 'deprecated');
-Expect(1, 837, '\p{Is_OAlpha= _true}', 'deprecated');
-Expect(0, 837, '\p{^Is_OAlpha= _true}', 'deprecated');
-Expect(0, 837, '\P{Is_OAlpha= _true}', 'deprecated');
-Expect(1, 837, '\P{^Is_OAlpha= _true}', 'deprecated');
-Expect(0, 836, '\p{Is_OAlpha= _true}', 'deprecated');
-Expect(1, 836, '\p{^Is_OAlpha= _true}', 'deprecated');
-Expect(1, 836, '\P{Is_OAlpha= _true}', 'deprecated');
-Expect(0, 836, '\P{^Is_OAlpha= _true}', 'deprecated');
-Error('\p{Other_Alphabetic:-:=No}');
-Error('\P{Other_Alphabetic:-:=No}');
-Expect(1, 836, '\p{Other_Alphabetic=no}', 'deprecated');
-Expect(0, 836, '\p{^Other_Alphabetic=no}', 'deprecated');
-Expect(0, 836, '\P{Other_Alphabetic=no}', 'deprecated');
-Expect(1, 836, '\P{^Other_Alphabetic=no}', 'deprecated');
-Expect(0, 837, '\p{Other_Alphabetic=no}', 'deprecated');
-Expect(1, 837, '\p{^Other_Alphabetic=no}', 'deprecated');
-Expect(1, 837, '\P{Other_Alphabetic=no}', 'deprecated');
-Expect(0, 837, '\P{^Other_Alphabetic=no}', 'deprecated');
-Expect(1, 836, '\p{Other_Alphabetic:__NO}', 'deprecated');
-Expect(0, 836, '\p{^Other_Alphabetic:__NO}', 'deprecated');
-Expect(0, 836, '\P{Other_Alphabetic:__NO}', 'deprecated');
-Expect(1, 836, '\P{^Other_Alphabetic:__NO}', 'deprecated');
-Expect(0, 837, '\p{Other_Alphabetic:__NO}', 'deprecated');
-Expect(1, 837, '\p{^Other_Alphabetic:__NO}', 'deprecated');
-Expect(1, 837, '\P{Other_Alphabetic:__NO}', 'deprecated');
-Expect(0, 837, '\P{^Other_Alphabetic:__NO}', 'deprecated');
-Error('\p{OAlpha=:= n}');
-Error('\P{OAlpha=:= n}');
-Expect(1, 836, '\p{OAlpha=n}', 'deprecated');
-Expect(0, 836, '\p{^OAlpha=n}', 'deprecated');
-Expect(0, 836, '\P{OAlpha=n}', 'deprecated');
-Expect(1, 836, '\P{^OAlpha=n}', 'deprecated');
-Expect(0, 837, '\p{OAlpha=n}', 'deprecated');
-Expect(1, 837, '\p{^OAlpha=n}', 'deprecated');
-Expect(1, 837, '\P{OAlpha=n}', 'deprecated');
-Expect(0, 837, '\P{^OAlpha=n}', 'deprecated');
-Expect(1, 836, '\p{OAlpha=--N}', 'deprecated');
-Expect(0, 836, '\p{^OAlpha=--N}', 'deprecated');
-Expect(0, 836, '\P{OAlpha=--N}', 'deprecated');
-Expect(1, 836, '\P{^OAlpha=--N}', 'deprecated');
-Expect(0, 837, '\p{OAlpha=--N}', 'deprecated');
-Expect(1, 837, '\p{^OAlpha=--N}', 'deprecated');
-Expect(1, 837, '\P{OAlpha=--N}', 'deprecated');
-Expect(0, 837, '\P{^OAlpha=--N}', 'deprecated');
-Error('\p{Is_Other_Alphabetic: := F}');
-Error('\P{Is_Other_Alphabetic: := F}');
-Expect(1, 836, '\p{Is_Other_Alphabetic=f}', 'deprecated');
-Expect(0, 836, '\p{^Is_Other_Alphabetic=f}', 'deprecated');
-Expect(0, 836, '\P{Is_Other_Alphabetic=f}', 'deprecated');
-Expect(1, 836, '\P{^Is_Other_Alphabetic=f}', 'deprecated');
-Expect(0, 837, '\p{Is_Other_Alphabetic=f}', 'deprecated');
-Expect(1, 837, '\p{^Is_Other_Alphabetic=f}', 'deprecated');
-Expect(1, 837, '\P{Is_Other_Alphabetic=f}', 'deprecated');
-Expect(0, 837, '\P{^Is_Other_Alphabetic=f}', 'deprecated');
-Expect(1, 836, '\p{Is_Other_Alphabetic= F}', 'deprecated');
-Expect(0, 836, '\p{^Is_Other_Alphabetic= F}', 'deprecated');
-Expect(0, 836, '\P{Is_Other_Alphabetic= F}', 'deprecated');
-Expect(1, 836, '\P{^Is_Other_Alphabetic= F}', 'deprecated');
-Expect(0, 837, '\p{Is_Other_Alphabetic= F}', 'deprecated');
-Expect(1, 837, '\p{^Is_Other_Alphabetic= F}', 'deprecated');
-Expect(1, 837, '\P{Is_Other_Alphabetic= F}', 'deprecated');
-Expect(0, 837, '\P{^Is_Other_Alphabetic= F}', 'deprecated');
-Error('\p{Is_OAlpha=/a/-FALSE}');
-Error('\P{Is_OAlpha=/a/-FALSE}');
-Expect(1, 836, '\p{Is_OAlpha=false}', 'deprecated');
-Expect(0, 836, '\p{^Is_OAlpha=false}', 'deprecated');
-Expect(0, 836, '\P{Is_OAlpha=false}', 'deprecated');
-Expect(1, 836, '\P{^Is_OAlpha=false}', 'deprecated');
-Expect(0, 837, '\p{Is_OAlpha=false}', 'deprecated');
-Expect(1, 837, '\p{^Is_OAlpha=false}', 'deprecated');
-Expect(1, 837, '\P{Is_OAlpha=false}', 'deprecated');
-Expect(0, 837, '\P{^Is_OAlpha=false}', 'deprecated');
-Expect(1, 836, '\p{Is_OAlpha=-False}', 'deprecated');
-Expect(0, 836, '\p{^Is_OAlpha=-False}', 'deprecated');
-Expect(0, 836, '\P{Is_OAlpha=-False}', 'deprecated');
-Expect(1, 836, '\P{^Is_OAlpha=-False}', 'deprecated');
-Expect(0, 837, '\p{Is_OAlpha=-False}', 'deprecated');
-Expect(1, 837, '\p{^Is_OAlpha=-False}', 'deprecated');
-Expect(1, 837, '\P{Is_OAlpha=-False}', 'deprecated');
-Expect(0, 837, '\P{^Is_OAlpha=-False}', 'deprecated');
-Error('\p{NFKD_Quick_Check= YES/a/}');
-Error('\P{NFKD_Quick_Check= YES/a/}');
-Expect(1, 159, '\p{NFKD_Quick_Check=yes}', "");
-Expect(0, 159, '\p{^NFKD_Quick_Check=yes}', "");
-Expect(0, 159, '\P{NFKD_Quick_Check=yes}', "");
-Expect(1, 159, '\P{^NFKD_Quick_Check=yes}', "");
-Expect(0, 160, '\p{NFKD_Quick_Check=yes}', "");
-Expect(1, 160, '\p{^NFKD_Quick_Check=yes}', "");
-Expect(1, 160, '\P{NFKD_Quick_Check=yes}', "");
-Expect(0, 160, '\P{^NFKD_Quick_Check=yes}', "");
-Expect(1, 159, '\p{NFKD_Quick_Check: Yes}', "");
-Expect(0, 159, '\p{^NFKD_Quick_Check: Yes}', "");
-Expect(0, 159, '\P{NFKD_Quick_Check: Yes}', "");
-Expect(1, 159, '\P{^NFKD_Quick_Check: Yes}', "");
-Expect(0, 160, '\p{NFKD_Quick_Check: Yes}', "");
-Expect(1, 160, '\p{^NFKD_Quick_Check: Yes}', "");
-Expect(1, 160, '\P{NFKD_Quick_Check: Yes}', "");
-Expect(0, 160, '\P{^NFKD_Quick_Check: Yes}', "");
-Error('\p{NFKD_QC= :=Y}');
-Error('\P{NFKD_QC= :=Y}');
-Expect(1, 159, '\p{NFKD_QC=y}', "");
-Expect(0, 159, '\p{^NFKD_QC=y}', "");
-Expect(0, 159, '\P{NFKD_QC=y}', "");
-Expect(1, 159, '\P{^NFKD_QC=y}', "");
-Expect(0, 160, '\p{NFKD_QC=y}', "");
-Expect(1, 160, '\p{^NFKD_QC=y}', "");
-Expect(1, 160, '\P{NFKD_QC=y}', "");
-Expect(0, 160, '\P{^NFKD_QC=y}', "");
-Expect(1, 159, '\p{NFKD_QC= -y}', "");
-Expect(0, 159, '\p{^NFKD_QC= -y}', "");
-Expect(0, 159, '\P{NFKD_QC= -y}', "");
-Expect(1, 159, '\P{^NFKD_QC= -y}', "");
-Expect(0, 160, '\p{NFKD_QC= -y}', "");
-Expect(1, 160, '\p{^NFKD_QC= -y}', "");
-Expect(1, 160, '\P{NFKD_QC= -y}', "");
-Expect(0, 160, '\P{^NFKD_QC= -y}', "");
-Error('\p{Is_NFKD_Quick_Check: yes/a/}');
-Error('\P{Is_NFKD_Quick_Check: yes/a/}');
-Expect(1, 159, '\p{Is_NFKD_Quick_Check=yes}', "");
-Expect(0, 159, '\p{^Is_NFKD_Quick_Check=yes}', "");
-Expect(0, 159, '\P{Is_NFKD_Quick_Check=yes}', "");
-Expect(1, 159, '\P{^Is_NFKD_Quick_Check=yes}', "");
-Expect(0, 160, '\p{Is_NFKD_Quick_Check=yes}', "");
-Expect(1, 160, '\p{^Is_NFKD_Quick_Check=yes}', "");
-Expect(1, 160, '\P{Is_NFKD_Quick_Check=yes}', "");
-Expect(0, 160, '\P{^Is_NFKD_Quick_Check=yes}', "");
-Expect(1, 159, '\p{Is_NFKD_Quick_Check=_ YES}', "");
-Expect(0, 159, '\p{^Is_NFKD_Quick_Check=_ YES}', "");
-Expect(0, 159, '\P{Is_NFKD_Quick_Check=_ YES}', "");
-Expect(1, 159, '\P{^Is_NFKD_Quick_Check=_ YES}', "");
-Expect(0, 160, '\p{Is_NFKD_Quick_Check=_ YES}', "");
-Expect(1, 160, '\p{^Is_NFKD_Quick_Check=_ YES}', "");
-Expect(1, 160, '\P{Is_NFKD_Quick_Check=_ YES}', "");
-Expect(0, 160, '\P{^Is_NFKD_Quick_Check=_ YES}', "");
-Error('\p{Is_NFKD_QC=:=_y}');
-Error('\P{Is_NFKD_QC=:=_y}');
-Expect(1, 159, '\p{Is_NFKD_QC=y}', "");
-Expect(0, 159, '\p{^Is_NFKD_QC=y}', "");
-Expect(0, 159, '\P{Is_NFKD_QC=y}', "");
-Expect(1, 159, '\P{^Is_NFKD_QC=y}', "");
-Expect(0, 160, '\p{Is_NFKD_QC=y}', "");
-Expect(1, 160, '\p{^Is_NFKD_QC=y}', "");
-Expect(1, 160, '\P{Is_NFKD_QC=y}', "");
-Expect(0, 160, '\P{^Is_NFKD_QC=y}', "");
-Expect(1, 159, '\p{Is_NFKD_QC= y}', "");
-Expect(0, 159, '\p{^Is_NFKD_QC= y}', "");
-Expect(0, 159, '\P{Is_NFKD_QC= y}', "");
-Expect(1, 159, '\P{^Is_NFKD_QC= y}', "");
-Expect(0, 160, '\p{Is_NFKD_QC= y}', "");
-Expect(1, 160, '\p{^Is_NFKD_QC= y}', "");
-Expect(1, 160, '\P{Is_NFKD_QC= y}', "");
-Expect(0, 160, '\P{^Is_NFKD_QC= y}', "");
-Error('\p{NFKD_Quick_Check: NO:=}');
-Error('\P{NFKD_Quick_Check: NO:=}');
-Expect(1, 160, '\p{NFKD_Quick_Check=no}', "");
-Expect(0, 160, '\p{^NFKD_Quick_Check=no}', "");
-Expect(0, 160, '\P{NFKD_Quick_Check=no}', "");
-Expect(1, 160, '\P{^NFKD_Quick_Check=no}', "");
-Expect(0, 159, '\p{NFKD_Quick_Check=no}', "");
-Expect(1, 159, '\p{^NFKD_Quick_Check=no}', "");
-Expect(1, 159, '\P{NFKD_Quick_Check=no}', "");
-Expect(0, 159, '\P{^NFKD_Quick_Check=no}', "");
-Expect(1, 160, '\p{NFKD_Quick_Check=_NO}', "");
-Expect(0, 160, '\p{^NFKD_Quick_Check=_NO}', "");
-Expect(0, 160, '\P{NFKD_Quick_Check=_NO}', "");
-Expect(1, 160, '\P{^NFKD_Quick_Check=_NO}', "");
-Expect(0, 159, '\p{NFKD_Quick_Check=_NO}', "");
-Expect(1, 159, '\p{^NFKD_Quick_Check=_NO}', "");
-Expect(1, 159, '\P{NFKD_Quick_Check=_NO}', "");
-Expect(0, 159, '\P{^NFKD_Quick_Check=_NO}', "");
-Error('\p{NFKD_QC=- N:=}');
-Error('\P{NFKD_QC=- N:=}');
-Expect(1, 160, '\p{NFKD_QC=n}', "");
-Expect(0, 160, '\p{^NFKD_QC=n}', "");
-Expect(0, 160, '\P{NFKD_QC=n}', "");
-Expect(1, 160, '\P{^NFKD_QC=n}', "");
-Expect(0, 159, '\p{NFKD_QC=n}', "");
-Expect(1, 159, '\p{^NFKD_QC=n}', "");
-Expect(1, 159, '\P{NFKD_QC=n}', "");
-Expect(0, 159, '\P{^NFKD_QC=n}', "");
-Expect(1, 160, '\p{NFKD_QC=- N}', "");
-Expect(0, 160, '\p{^NFKD_QC=- N}', "");
-Expect(0, 160, '\P{NFKD_QC=- N}', "");
-Expect(1, 160, '\P{^NFKD_QC=- N}', "");
-Expect(0, 159, '\p{NFKD_QC=- N}', "");
-Expect(1, 159, '\p{^NFKD_QC=- N}', "");
-Expect(1, 159, '\P{NFKD_QC=- N}', "");
-Expect(0, 159, '\P{^NFKD_QC=- N}', "");
-Error('\p{Is_NFKD_Quick_Check=:= -No}');
-Error('\P{Is_NFKD_Quick_Check=:= -No}');
-Expect(1, 160, '\p{Is_NFKD_Quick_Check: no}', "");
-Expect(0, 160, '\p{^Is_NFKD_Quick_Check: no}', "");
-Expect(0, 160, '\P{Is_NFKD_Quick_Check: no}', "");
-Expect(1, 160, '\P{^Is_NFKD_Quick_Check: no}', "");
-Expect(0, 159, '\p{Is_NFKD_Quick_Check: no}', "");
-Expect(1, 159, '\p{^Is_NFKD_Quick_Check: no}', "");
-Expect(1, 159, '\P{Is_NFKD_Quick_Check: no}', "");
-Expect(0, 159, '\P{^Is_NFKD_Quick_Check: no}', "");
-Expect(1, 160, '\p{Is_NFKD_Quick_Check=- NO}', "");
-Expect(0, 160, '\p{^Is_NFKD_Quick_Check=- NO}', "");
-Expect(0, 160, '\P{Is_NFKD_Quick_Check=- NO}', "");
-Expect(1, 160, '\P{^Is_NFKD_Quick_Check=- NO}', "");
-Expect(0, 159, '\p{Is_NFKD_Quick_Check=- NO}', "");
-Expect(1, 159, '\p{^Is_NFKD_Quick_Check=- NO}', "");
-Expect(1, 159, '\P{Is_NFKD_Quick_Check=- NO}', "");
-Expect(0, 159, '\P{^Is_NFKD_Quick_Check=- NO}', "");
-Error('\p{Is_NFKD_QC=:=N}');
-Error('\P{Is_NFKD_QC=:=N}');
-Expect(1, 160, '\p{Is_NFKD_QC=n}', "");
-Expect(0, 160, '\p{^Is_NFKD_QC=n}', "");
-Expect(0, 160, '\P{Is_NFKD_QC=n}', "");
-Expect(1, 160, '\P{^Is_NFKD_QC=n}', "");
-Expect(0, 159, '\p{Is_NFKD_QC=n}', "");
-Expect(1, 159, '\p{^Is_NFKD_QC=n}', "");
-Expect(1, 159, '\P{Is_NFKD_QC=n}', "");
-Expect(0, 159, '\P{^Is_NFKD_QC=n}', "");
-Expect(1, 160, '\p{Is_NFKD_QC=- n}', "");
-Expect(0, 160, '\p{^Is_NFKD_QC=- n}', "");
-Expect(0, 160, '\P{Is_NFKD_QC=- n}', "");
-Expect(1, 160, '\P{^Is_NFKD_QC=- n}', "");
-Expect(0, 159, '\p{Is_NFKD_QC=- n}', "");
-Expect(1, 159, '\p{^Is_NFKD_QC=- n}', "");
-Expect(1, 159, '\P{Is_NFKD_QC=- n}', "");
-Expect(0, 159, '\P{^Is_NFKD_QC=- n}', "");
-Error('\p{Math= :=YES}');
-Error('\P{Math= :=YES}');
-Expect(1, 43, '\p{Math=yes}', "");
-Expect(0, 43, '\p{^Math=yes}', "");
-Expect(0, 43, '\P{Math=yes}', "");
-Expect(1, 43, '\P{^Math=yes}', "");
-Expect(0, 42, '\p{Math=yes}', "");
-Expect(1, 42, '\p{^Math=yes}', "");
-Expect(1, 42, '\P{Math=yes}', "");
-Expect(0, 42, '\P{^Math=yes}', "");
-Expect(1, 43, '\p{Math= Yes}', "");
-Expect(0, 43, '\p{^Math= Yes}', "");
-Expect(0, 43, '\P{Math= Yes}', "");
-Expect(1, 43, '\P{^Math= Yes}', "");
-Expect(0, 42, '\p{Math= Yes}', "");
-Expect(1, 42, '\p{^Math= Yes}', "");
-Expect(1, 42, '\P{Math= Yes}', "");
-Expect(0, 42, '\P{^Math= Yes}', "");
-Error('\p{Is_Math=/a/_ Y}');
-Error('\P{Is_Math=/a/_ Y}');
-Expect(1, 43, '\p{Is_Math=y}', "");
-Expect(0, 43, '\p{^Is_Math=y}', "");
-Expect(0, 43, '\P{Is_Math=y}', "");
-Expect(1, 43, '\P{^Is_Math=y}', "");
-Expect(0, 42, '\p{Is_Math=y}', "");
-Expect(1, 42, '\p{^Is_Math=y}', "");
-Expect(1, 42, '\P{Is_Math=y}', "");
-Expect(0, 42, '\P{^Is_Math=y}', "");
-Expect(1, 43, '\p{Is_Math=_ y}', "");
-Expect(0, 43, '\p{^Is_Math=_ y}', "");
-Expect(0, 43, '\P{Is_Math=_ y}', "");
-Expect(1, 43, '\P{^Is_Math=_ y}', "");
-Expect(0, 42, '\p{Is_Math=_ y}', "");
-Expect(1, 42, '\p{^Is_Math=_ y}', "");
-Expect(1, 42, '\P{Is_Math=_ y}', "");
-Expect(0, 42, '\P{^Is_Math=_ y}', "");
-Error('\p{Math= _t/a/}');
-Error('\P{Math= _t/a/}');
-Expect(1, 43, '\p{Math=t}', "");
-Expect(0, 43, '\p{^Math=t}', "");
-Expect(0, 43, '\P{Math=t}', "");
-Expect(1, 43, '\P{^Math=t}', "");
-Expect(0, 42, '\p{Math=t}', "");
-Expect(1, 42, '\p{^Math=t}', "");
-Expect(1, 42, '\P{Math=t}', "");
-Expect(0, 42, '\P{^Math=t}', "");
-Expect(1, 43, '\p{Math=-_T}', "");
-Expect(0, 43, '\p{^Math=-_T}', "");
-Expect(0, 43, '\P{Math=-_T}', "");
-Expect(1, 43, '\P{^Math=-_T}', "");
-Expect(0, 42, '\p{Math=-_T}', "");
-Expect(1, 42, '\p{^Math=-_T}', "");
-Expect(1, 42, '\P{Math=-_T}', "");
-Expect(0, 42, '\P{^Math=-_T}', "");
-Error('\p{Is_Math= /a/true}');
-Error('\P{Is_Math= /a/true}');
-Expect(1, 43, '\p{Is_Math=true}', "");
-Expect(0, 43, '\p{^Is_Math=true}', "");
-Expect(0, 43, '\P{Is_Math=true}', "");
-Expect(1, 43, '\P{^Is_Math=true}', "");
-Expect(0, 42, '\p{Is_Math=true}', "");
-Expect(1, 42, '\p{^Is_Math=true}', "");
-Expect(1, 42, '\P{Is_Math=true}', "");
-Expect(0, 42, '\P{^Is_Math=true}', "");
-Expect(1, 43, '\p{Is_Math= true}', "");
-Expect(0, 43, '\p{^Is_Math= true}', "");
-Expect(0, 43, '\P{Is_Math= true}', "");
-Expect(1, 43, '\P{^Is_Math= true}', "");
-Expect(0, 42, '\p{Is_Math= true}', "");
-Expect(1, 42, '\p{^Is_Math= true}', "");
-Expect(1, 42, '\P{Is_Math= true}', "");
-Expect(0, 42, '\P{^Is_Math= true}', "");
-Error('\p{Math= No:=}');
-Error('\P{Math= No:=}');
-Expect(1, 42, '\p{Math: no}', "");
-Expect(0, 42, '\p{^Math: no}', "");
-Expect(0, 42, '\P{Math: no}', "");
-Expect(1, 42, '\P{^Math: no}', "");
-Expect(0, 43, '\p{Math: no}', "");
-Expect(1, 43, '\p{^Math: no}', "");
-Expect(1, 43, '\P{Math: no}', "");
-Expect(0, 43, '\P{^Math: no}', "");
-Expect(1, 42, '\p{Math=-_NO}', "");
-Expect(0, 42, '\p{^Math=-_NO}', "");
-Expect(0, 42, '\P{Math=-_NO}', "");
-Expect(1, 42, '\P{^Math=-_NO}', "");
-Expect(0, 43, '\p{Math=-_NO}', "");
-Expect(1, 43, '\p{^Math=-_NO}', "");
-Expect(1, 43, '\P{Math=-_NO}', "");
-Expect(0, 43, '\P{^Math=-_NO}', "");
-Error('\p{Is_Math=/a/_N}');
-Error('\P{Is_Math=/a/_N}');
-Expect(1, 42, '\p{Is_Math=n}', "");
-Expect(0, 42, '\p{^Is_Math=n}', "");
-Expect(0, 42, '\P{Is_Math=n}', "");
-Expect(1, 42, '\P{^Is_Math=n}', "");
-Expect(0, 43, '\p{Is_Math=n}', "");
-Expect(1, 43, '\p{^Is_Math=n}', "");
-Expect(1, 43, '\P{Is_Math=n}', "");
-Expect(0, 43, '\P{^Is_Math=n}', "");
-Expect(1, 42, '\p{Is_Math= _N}', "");
-Expect(0, 42, '\p{^Is_Math= _N}', "");
-Expect(0, 42, '\P{Is_Math= _N}', "");
-Expect(1, 42, '\P{^Is_Math= _N}', "");
-Expect(0, 43, '\p{Is_Math= _N}', "");
-Expect(1, 43, '\p{^Is_Math= _N}', "");
-Expect(1, 43, '\P{Is_Math= _N}', "");
-Expect(0, 43, '\P{^Is_Math= _N}', "");
-Error('\p{Math:- f/a/}');
-Error('\P{Math:- f/a/}');
-Expect(1, 42, '\p{Math=f}', "");
-Expect(0, 42, '\p{^Math=f}', "");
-Expect(0, 42, '\P{Math=f}', "");
-Expect(1, 42, '\P{^Math=f}', "");
-Expect(0, 43, '\p{Math=f}', "");
-Expect(1, 43, '\p{^Math=f}', "");
-Expect(1, 43, '\P{Math=f}', "");
-Expect(0, 43, '\P{^Math=f}', "");
-Expect(1, 42, '\p{Math= -f}', "");
-Expect(0, 42, '\p{^Math= -f}', "");
-Expect(0, 42, '\P{Math= -f}', "");
-Expect(1, 42, '\P{^Math= -f}', "");
-Expect(0, 43, '\p{Math= -f}', "");
-Expect(1, 43, '\p{^Math= -f}', "");
-Expect(1, 43, '\P{Math= -f}', "");
-Expect(0, 43, '\P{^Math= -f}', "");
-Error('\p{Is_Math=_FALSE:=}');
-Error('\P{Is_Math=_FALSE:=}');
-Expect(1, 42, '\p{Is_Math=false}', "");
-Expect(0, 42, '\p{^Is_Math=false}', "");
-Expect(0, 42, '\P{Is_Math=false}', "");
-Expect(1, 42, '\P{^Is_Math=false}', "");
-Expect(0, 43, '\p{Is_Math=false}', "");
-Expect(1, 43, '\p{^Is_Math=false}', "");
-Expect(1, 43, '\P{Is_Math=false}', "");
-Expect(0, 43, '\P{^Is_Math=false}', "");
-Expect(1, 42, '\p{Is_Math= False}', "");
-Expect(0, 42, '\p{^Is_Math= False}', "");
-Expect(0, 42, '\P{Is_Math= False}', "");
-Expect(1, 42, '\P{^Is_Math= False}', "");
-Expect(0, 43, '\p{Is_Math= False}', "");
-Expect(1, 43, '\p{^Is_Math= False}', "");
-Expect(1, 43, '\P{Is_Math= False}', "");
-Expect(0, 43, '\P{^Is_Math= False}', "");
-Error('\p{Other_Uppercase=-/a/Yes}');
-Error('\P{Other_Uppercase=-/a/Yes}');
-Expect(1, 8559, '\p{Other_Uppercase=yes}', 'deprecated');
-Expect(0, 8559, '\p{^Other_Uppercase=yes}', 'deprecated');
-Expect(0, 8559, '\P{Other_Uppercase=yes}', 'deprecated');
-Expect(1, 8559, '\P{^Other_Uppercase=yes}', 'deprecated');
-Expect(0, 8543, '\p{Other_Uppercase=yes}', 'deprecated');
-Expect(1, 8543, '\p{^Other_Uppercase=yes}', 'deprecated');
-Expect(1, 8543, '\P{Other_Uppercase=yes}', 'deprecated');
-Expect(0, 8543, '\P{^Other_Uppercase=yes}', 'deprecated');
-Expect(1, 8559, '\p{Other_Uppercase=Yes}', 'deprecated');
-Expect(0, 8559, '\p{^Other_Uppercase=Yes}', 'deprecated');
-Expect(0, 8559, '\P{Other_Uppercase=Yes}', 'deprecated');
-Expect(1, 8559, '\P{^Other_Uppercase=Yes}', 'deprecated');
-Expect(0, 8543, '\p{Other_Uppercase=Yes}', 'deprecated');
-Expect(1, 8543, '\p{^Other_Uppercase=Yes}', 'deprecated');
-Expect(1, 8543, '\P{Other_Uppercase=Yes}', 'deprecated');
-Expect(0, 8543, '\P{^Other_Uppercase=Yes}', 'deprecated');
-Error('\p{OUpper=:=-Y}');
-Error('\P{OUpper=:=-Y}');
-Expect(1, 8559, '\p{OUpper=y}', 'deprecated');
-Expect(0, 8559, '\p{^OUpper=y}', 'deprecated');
-Expect(0, 8559, '\P{OUpper=y}', 'deprecated');
-Expect(1, 8559, '\P{^OUpper=y}', 'deprecated');
-Expect(0, 8543, '\p{OUpper=y}', 'deprecated');
-Expect(1, 8543, '\p{^OUpper=y}', 'deprecated');
-Expect(1, 8543, '\P{OUpper=y}', 'deprecated');
-Expect(0, 8543, '\P{^OUpper=y}', 'deprecated');
-Expect(1, 8559, '\p{OUpper= Y}', 'deprecated');
-Expect(0, 8559, '\p{^OUpper= Y}', 'deprecated');
-Expect(0, 8559, '\P{OUpper= Y}', 'deprecated');
-Expect(1, 8559, '\P{^OUpper= Y}', 'deprecated');
-Expect(0, 8543, '\p{OUpper= Y}', 'deprecated');
-Expect(1, 8543, '\p{^OUpper= Y}', 'deprecated');
-Expect(1, 8543, '\P{OUpper= Y}', 'deprecated');
-Expect(0, 8543, '\P{^OUpper= Y}', 'deprecated');
-Error('\p{Is_Other_Uppercase=/a/-_T}');
-Error('\P{Is_Other_Uppercase=/a/-_T}');
-Expect(1, 8559, '\p{Is_Other_Uppercase=t}', 'deprecated');
-Expect(0, 8559, '\p{^Is_Other_Uppercase=t}', 'deprecated');
-Expect(0, 8559, '\P{Is_Other_Uppercase=t}', 'deprecated');
-Expect(1, 8559, '\P{^Is_Other_Uppercase=t}', 'deprecated');
-Expect(0, 8543, '\p{Is_Other_Uppercase=t}', 'deprecated');
-Expect(1, 8543, '\p{^Is_Other_Uppercase=t}', 'deprecated');
-Expect(1, 8543, '\P{Is_Other_Uppercase=t}', 'deprecated');
-Expect(0, 8543, '\P{^Is_Other_Uppercase=t}', 'deprecated');
-Expect(1, 8559, '\p{Is_Other_Uppercase=__T}', 'deprecated');
-Expect(0, 8559, '\p{^Is_Other_Uppercase=__T}', 'deprecated');
-Expect(0, 8559, '\P{Is_Other_Uppercase=__T}', 'deprecated');
-Expect(1, 8559, '\P{^Is_Other_Uppercase=__T}', 'deprecated');
-Expect(0, 8543, '\p{Is_Other_Uppercase=__T}', 'deprecated');
-Expect(1, 8543, '\p{^Is_Other_Uppercase=__T}', 'deprecated');
-Expect(1, 8543, '\P{Is_Other_Uppercase=__T}', 'deprecated');
-Expect(0, 8543, '\P{^Is_Other_Uppercase=__T}', 'deprecated');
-Error('\p{Is_OUpper=-_True/a/}');
-Error('\P{Is_OUpper=-_True/a/}');
-Expect(1, 8559, '\p{Is_OUpper: true}', 'deprecated');
-Expect(0, 8559, '\p{^Is_OUpper: true}', 'deprecated');
-Expect(0, 8559, '\P{Is_OUpper: true}', 'deprecated');
-Expect(1, 8559, '\P{^Is_OUpper: true}', 'deprecated');
-Expect(0, 8543, '\p{Is_OUpper: true}', 'deprecated');
-Expect(1, 8543, '\p{^Is_OUpper: true}', 'deprecated');
-Expect(1, 8543, '\P{Is_OUpper: true}', 'deprecated');
-Expect(0, 8543, '\P{^Is_OUpper: true}', 'deprecated');
-Expect(1, 8559, '\p{Is_OUpper=-True}', 'deprecated');
-Expect(0, 8559, '\p{^Is_OUpper=-True}', 'deprecated');
-Expect(0, 8559, '\P{Is_OUpper=-True}', 'deprecated');
-Expect(1, 8559, '\P{^Is_OUpper=-True}', 'deprecated');
-Expect(0, 8543, '\p{Is_OUpper=-True}', 'deprecated');
-Expect(1, 8543, '\p{^Is_OUpper=-True}', 'deprecated');
-Expect(1, 8543, '\P{Is_OUpper=-True}', 'deprecated');
-Expect(0, 8543, '\P{^Is_OUpper=-True}', 'deprecated');
-Error('\p{Other_Uppercase=-_No:=}');
-Error('\P{Other_Uppercase=-_No:=}');
-Expect(1, 8543, '\p{Other_Uppercase:no}', 'deprecated');
-Expect(0, 8543, '\p{^Other_Uppercase:no}', 'deprecated');
-Expect(0, 8543, '\P{Other_Uppercase:no}', 'deprecated');
-Expect(1, 8543, '\P{^Other_Uppercase:no}', 'deprecated');
-Expect(0, 8559, '\p{Other_Uppercase:no}', 'deprecated');
-Expect(1, 8559, '\p{^Other_Uppercase:no}', 'deprecated');
-Expect(1, 8559, '\P{Other_Uppercase:no}', 'deprecated');
-Expect(0, 8559, '\P{^Other_Uppercase:no}', 'deprecated');
-Expect(1, 8543, '\p{Other_Uppercase: NO}', 'deprecated');
-Expect(0, 8543, '\p{^Other_Uppercase: NO}', 'deprecated');
-Expect(0, 8543, '\P{Other_Uppercase: NO}', 'deprecated');
-Expect(1, 8543, '\P{^Other_Uppercase: NO}', 'deprecated');
-Expect(0, 8559, '\p{Other_Uppercase: NO}', 'deprecated');
-Expect(1, 8559, '\p{^Other_Uppercase: NO}', 'deprecated');
-Expect(1, 8559, '\P{Other_Uppercase: NO}', 'deprecated');
-Expect(0, 8559, '\P{^Other_Uppercase: NO}', 'deprecated');
-Error('\p{OUpper: :=N}');
-Error('\P{OUpper: :=N}');
-Expect(1, 8543, '\p{OUpper=n}', 'deprecated');
-Expect(0, 8543, '\p{^OUpper=n}', 'deprecated');
-Expect(0, 8543, '\P{OUpper=n}', 'deprecated');
-Expect(1, 8543, '\P{^OUpper=n}', 'deprecated');
-Expect(0, 8559, '\p{OUpper=n}', 'deprecated');
-Expect(1, 8559, '\p{^OUpper=n}', 'deprecated');
-Expect(1, 8559, '\P{OUpper=n}', 'deprecated');
-Expect(0, 8559, '\P{^OUpper=n}', 'deprecated');
-Expect(1, 8543, '\p{OUpper= N}', 'deprecated');
-Expect(0, 8543, '\p{^OUpper= N}', 'deprecated');
-Expect(0, 8543, '\P{OUpper= N}', 'deprecated');
-Expect(1, 8543, '\P{^OUpper= N}', 'deprecated');
-Expect(0, 8559, '\p{OUpper= N}', 'deprecated');
-Expect(1, 8559, '\p{^OUpper= N}', 'deprecated');
-Expect(1, 8559, '\P{OUpper= N}', 'deprecated');
-Expect(0, 8559, '\P{^OUpper= N}', 'deprecated');
-Error('\p{Is_Other_Uppercase=/a/ _F}');
-Error('\P{Is_Other_Uppercase=/a/ _F}');
-Expect(1, 8543, '\p{Is_Other_Uppercase=f}', 'deprecated');
-Expect(0, 8543, '\p{^Is_Other_Uppercase=f}', 'deprecated');
-Expect(0, 8543, '\P{Is_Other_Uppercase=f}', 'deprecated');
-Expect(1, 8543, '\P{^Is_Other_Uppercase=f}', 'deprecated');
-Expect(0, 8559, '\p{Is_Other_Uppercase=f}', 'deprecated');
-Expect(1, 8559, '\p{^Is_Other_Uppercase=f}', 'deprecated');
-Expect(1, 8559, '\P{Is_Other_Uppercase=f}', 'deprecated');
-Expect(0, 8559, '\P{^Is_Other_Uppercase=f}', 'deprecated');
-Expect(1, 8543, '\p{Is_Other_Uppercase=__F}', 'deprecated');
-Expect(0, 8543, '\p{^Is_Other_Uppercase=__F}', 'deprecated');
-Expect(0, 8543, '\P{Is_Other_Uppercase=__F}', 'deprecated');
-Expect(1, 8543, '\P{^Is_Other_Uppercase=__F}', 'deprecated');
-Expect(0, 8559, '\p{Is_Other_Uppercase=__F}', 'deprecated');
-Expect(1, 8559, '\p{^Is_Other_Uppercase=__F}', 'deprecated');
-Expect(1, 8559, '\P{Is_Other_Uppercase=__F}', 'deprecated');
-Expect(0, 8559, '\P{^Is_Other_Uppercase=__F}', 'deprecated');
-Error('\p{Is_OUpper=:=- false}');
-Error('\P{Is_OUpper=:=- false}');
-Expect(1, 8543, '\p{Is_OUpper=false}', 'deprecated');
-Expect(0, 8543, '\p{^Is_OUpper=false}', 'deprecated');
-Expect(0, 8543, '\P{Is_OUpper=false}', 'deprecated');
-Expect(1, 8543, '\P{^Is_OUpper=false}', 'deprecated');
-Expect(0, 8559, '\p{Is_OUpper=false}', 'deprecated');
-Expect(1, 8559, '\p{^Is_OUpper=false}', 'deprecated');
-Expect(1, 8559, '\P{Is_OUpper=false}', 'deprecated');
-Expect(0, 8559, '\P{^Is_OUpper=false}', 'deprecated');
-Expect(1, 8543, '\p{Is_OUpper=_-False}', 'deprecated');
-Expect(0, 8543, '\p{^Is_OUpper=_-False}', 'deprecated');
-Expect(0, 8543, '\P{Is_OUpper=_-False}', 'deprecated');
-Expect(1, 8543, '\P{^Is_OUpper=_-False}', 'deprecated');
-Expect(0, 8559, '\p{Is_OUpper=_-False}', 'deprecated');
-Expect(1, 8559, '\p{^Is_OUpper=_-False}', 'deprecated');
-Expect(1, 8559, '\P{Is_OUpper=_-False}', 'deprecated');
-Expect(0, 8559, '\P{^Is_OUpper=_-False}', 'deprecated');
-Error('\p{Changes_When_Casemapped= -Yes:=}');
-Error('\P{Changes_When_Casemapped= -Yes:=}');
-Expect(1, 90, '\p{Changes_When_Casemapped=yes}', "");
-Expect(0, 90, '\p{^Changes_When_Casemapped=yes}', "");
-Expect(0, 90, '\P{Changes_When_Casemapped=yes}', "");
-Expect(1, 90, '\P{^Changes_When_Casemapped=yes}', "");
-Expect(0, 64, '\p{Changes_When_Casemapped=yes}', "");
-Expect(1, 64, '\p{^Changes_When_Casemapped=yes}', "");
-Expect(1, 64, '\P{Changes_When_Casemapped=yes}', "");
-Expect(0, 64, '\P{^Changes_When_Casemapped=yes}', "");
-Expect(1, 90, '\p{Changes_When_Casemapped= -Yes}', "");
-Expect(0, 90, '\p{^Changes_When_Casemapped= -Yes}', "");
-Expect(0, 90, '\P{Changes_When_Casemapped= -Yes}', "");
-Expect(1, 90, '\P{^Changes_When_Casemapped= -Yes}', "");
-Expect(0, 64, '\p{Changes_When_Casemapped= -Yes}', "");
-Expect(1, 64, '\p{^Changes_When_Casemapped= -Yes}', "");
-Expect(1, 64, '\P{Changes_When_Casemapped= -Yes}', "");
-Expect(0, 64, '\P{^Changes_When_Casemapped= -Yes}', "");
-Error('\p{CWCM: _ Y/a/}');
-Error('\P{CWCM: _ Y/a/}');
-Expect(1, 90, '\p{CWCM=y}', "");
-Expect(0, 90, '\p{^CWCM=y}', "");
-Expect(0, 90, '\P{CWCM=y}', "");
-Expect(1, 90, '\P{^CWCM=y}', "");
-Expect(0, 64, '\p{CWCM=y}', "");
-Expect(1, 64, '\p{^CWCM=y}', "");
-Expect(1, 64, '\P{CWCM=y}', "");
-Expect(0, 64, '\P{^CWCM=y}', "");
-Expect(1, 90, '\p{CWCM=-y}', "");
-Expect(0, 90, '\p{^CWCM=-y}', "");
-Expect(0, 90, '\P{CWCM=-y}', "");
-Expect(1, 90, '\P{^CWCM=-y}', "");
-Expect(0, 64, '\p{CWCM=-y}', "");
-Expect(1, 64, '\p{^CWCM=-y}', "");
-Expect(1, 64, '\P{CWCM=-y}', "");
-Expect(0, 64, '\P{^CWCM=-y}', "");
-Error('\p{Is_Changes_When_Casemapped: _:=t}');
-Error('\P{Is_Changes_When_Casemapped: _:=t}');
-Expect(1, 90, '\p{Is_Changes_When_Casemapped=t}', "");
-Expect(0, 90, '\p{^Is_Changes_When_Casemapped=t}', "");
-Expect(0, 90, '\P{Is_Changes_When_Casemapped=t}', "");
-Expect(1, 90, '\P{^Is_Changes_When_Casemapped=t}', "");
-Expect(0, 64, '\p{Is_Changes_When_Casemapped=t}', "");
-Expect(1, 64, '\p{^Is_Changes_When_Casemapped=t}', "");
-Expect(1, 64, '\P{Is_Changes_When_Casemapped=t}', "");
-Expect(0, 64, '\P{^Is_Changes_When_Casemapped=t}', "");
-Expect(1, 90, '\p{Is_Changes_When_Casemapped= T}', "");
-Expect(0, 90, '\p{^Is_Changes_When_Casemapped= T}', "");
-Expect(0, 90, '\P{Is_Changes_When_Casemapped= T}', "");
-Expect(1, 90, '\P{^Is_Changes_When_Casemapped= T}', "");
-Expect(0, 64, '\p{Is_Changes_When_Casemapped= T}', "");
-Expect(1, 64, '\p{^Is_Changes_When_Casemapped= T}', "");
-Expect(1, 64, '\P{Is_Changes_When_Casemapped= T}', "");
-Expect(0, 64, '\P{^Is_Changes_When_Casemapped= T}', "");
-Error('\p{Is_CWCM=:=- true}');
-Error('\P{Is_CWCM=:=- true}');
-Expect(1, 90, '\p{Is_CWCM=true}', "");
-Expect(0, 90, '\p{^Is_CWCM=true}', "");
-Expect(0, 90, '\P{Is_CWCM=true}', "");
-Expect(1, 90, '\P{^Is_CWCM=true}', "");
-Expect(0, 64, '\p{Is_CWCM=true}', "");
-Expect(1, 64, '\p{^Is_CWCM=true}', "");
-Expect(1, 64, '\P{Is_CWCM=true}', "");
-Expect(0, 64, '\P{^Is_CWCM=true}', "");
-Expect(1, 90, '\p{Is_CWCM= True}', "");
-Expect(0, 90, '\p{^Is_CWCM= True}', "");
-Expect(0, 90, '\P{Is_CWCM= True}', "");
-Expect(1, 90, '\P{^Is_CWCM= True}', "");
-Expect(0, 64, '\p{Is_CWCM= True}', "");
-Expect(1, 64, '\p{^Is_CWCM= True}', "");
-Expect(1, 64, '\P{Is_CWCM= True}', "");
-Expect(0, 64, '\P{^Is_CWCM= True}', "");
-Error('\p{Changes_When_Casemapped: No:=}');
-Error('\P{Changes_When_Casemapped: No:=}');
-Expect(1, 64, '\p{Changes_When_Casemapped: no}', "");
-Expect(0, 64, '\p{^Changes_When_Casemapped: no}', "");
-Expect(0, 64, '\P{Changes_When_Casemapped: no}', "");
-Expect(1, 64, '\P{^Changes_When_Casemapped: no}', "");
-Expect(0, 90, '\p{Changes_When_Casemapped: no}', "");
-Expect(1, 90, '\p{^Changes_When_Casemapped: no}', "");
-Expect(1, 90, '\P{Changes_When_Casemapped: no}', "");
-Expect(0, 90, '\P{^Changes_When_Casemapped: no}', "");
-Expect(1, 64, '\p{Changes_When_Casemapped= _NO}', "");
-Expect(0, 64, '\p{^Changes_When_Casemapped= _NO}', "");
-Expect(0, 64, '\P{Changes_When_Casemapped= _NO}', "");
-Expect(1, 64, '\P{^Changes_When_Casemapped= _NO}', "");
-Expect(0, 90, '\p{Changes_When_Casemapped= _NO}', "");
-Expect(1, 90, '\p{^Changes_When_Casemapped= _NO}', "");
-Expect(1, 90, '\P{Changes_When_Casemapped= _NO}', "");
-Expect(0, 90, '\P{^Changes_When_Casemapped= _NO}', "");
-Error('\p{CWCM= N:=}');
-Error('\P{CWCM= N:=}');
-Expect(1, 64, '\p{CWCM=n}', "");
-Expect(0, 64, '\p{^CWCM=n}', "");
-Expect(0, 64, '\P{CWCM=n}', "");
-Expect(1, 64, '\P{^CWCM=n}', "");
-Expect(0, 90, '\p{CWCM=n}', "");
-Expect(1, 90, '\p{^CWCM=n}', "");
-Expect(1, 90, '\P{CWCM=n}', "");
-Expect(0, 90, '\P{^CWCM=n}', "");
-Expect(1, 64, '\p{CWCM= -N}', "");
-Expect(0, 64, '\p{^CWCM= -N}', "");
-Expect(0, 64, '\P{CWCM= -N}', "");
-Expect(1, 64, '\P{^CWCM= -N}', "");
-Expect(0, 90, '\p{CWCM= -N}', "");
-Expect(1, 90, '\p{^CWCM= -N}', "");
-Expect(1, 90, '\P{CWCM= -N}', "");
-Expect(0, 90, '\P{^CWCM= -N}', "");
-Error('\p{Is_Changes_When_Casemapped=_F:=}');
-Error('\P{Is_Changes_When_Casemapped=_F:=}');
-Expect(1, 64, '\p{Is_Changes_When_Casemapped=f}', "");
-Expect(0, 64, '\p{^Is_Changes_When_Casemapped=f}', "");
-Expect(0, 64, '\P{Is_Changes_When_Casemapped=f}', "");
-Expect(1, 64, '\P{^Is_Changes_When_Casemapped=f}', "");
-Expect(0, 90, '\p{Is_Changes_When_Casemapped=f}', "");
-Expect(1, 90, '\p{^Is_Changes_When_Casemapped=f}', "");
-Expect(1, 90, '\P{Is_Changes_When_Casemapped=f}', "");
-Expect(0, 90, '\P{^Is_Changes_When_Casemapped=f}', "");
-Expect(1, 64, '\p{Is_Changes_When_Casemapped= F}', "");
-Expect(0, 64, '\p{^Is_Changes_When_Casemapped= F}', "");
-Expect(0, 64, '\P{Is_Changes_When_Casemapped= F}', "");
-Expect(1, 64, '\P{^Is_Changes_When_Casemapped= F}', "");
-Expect(0, 90, '\p{Is_Changes_When_Casemapped= F}', "");
-Expect(1, 90, '\p{^Is_Changes_When_Casemapped= F}', "");
-Expect(1, 90, '\P{Is_Changes_When_Casemapped= F}', "");
-Expect(0, 90, '\P{^Is_Changes_When_Casemapped= F}', "");
-Error('\p{Is_CWCM= false:=}');
-Error('\P{Is_CWCM= false:=}');
-Expect(1, 64, '\p{Is_CWCM=false}', "");
-Expect(0, 64, '\p{^Is_CWCM=false}', "");
-Expect(0, 64, '\P{Is_CWCM=false}', "");
-Expect(1, 64, '\P{^Is_CWCM=false}', "");
-Expect(0, 90, '\p{Is_CWCM=false}', "");
-Expect(1, 90, '\p{^Is_CWCM=false}', "");
-Expect(1, 90, '\P{Is_CWCM=false}', "");
-Expect(0, 90, '\P{^Is_CWCM=false}', "");
-Expect(1, 64, '\p{Is_CWCM= -False}', "");
-Expect(0, 64, '\p{^Is_CWCM= -False}', "");
-Expect(0, 64, '\P{Is_CWCM= -False}', "");
-Expect(1, 64, '\P{^Is_CWCM= -False}', "");
-Expect(0, 90, '\p{Is_CWCM= -False}', "");
-Expect(1, 90, '\p{^Is_CWCM= -False}', "");
-Expect(1, 90, '\P{Is_CWCM= -False}', "");
-Expect(0, 90, '\P{^Is_CWCM= -False}', "");
-Error('\p{Deprecated=/a/ yes}');
-Error('\P{Deprecated=/a/ yes}');
-Expect(1, 329, '\p{Deprecated=yes}', "");
-Expect(0, 329, '\p{^Deprecated=yes}', "");
-Expect(0, 329, '\P{Deprecated=yes}', "");
-Expect(1, 329, '\P{^Deprecated=yes}', "");
-Expect(0, 328, '\p{Deprecated=yes}', "");
-Expect(1, 328, '\p{^Deprecated=yes}', "");
-Expect(1, 328, '\P{Deprecated=yes}', "");
-Expect(0, 328, '\P{^Deprecated=yes}', "");
-Expect(1, 329, '\p{Deprecated: yes}', "");
-Expect(0, 329, '\p{^Deprecated: yes}', "");
-Expect(0, 329, '\P{Deprecated: yes}', "");
-Expect(1, 329, '\P{^Deprecated: yes}', "");
-Expect(0, 328, '\p{Deprecated: yes}', "");
-Expect(1, 328, '\p{^Deprecated: yes}', "");
-Expect(1, 328, '\P{Deprecated: yes}', "");
-Expect(0, 328, '\P{^Deprecated: yes}', "");
-Error('\p{Dep=/a/ Y}');
-Error('\P{Dep=/a/ Y}');
-Expect(1, 329, '\p{Dep:y}', "");
-Expect(0, 329, '\p{^Dep:y}', "");
-Expect(0, 329, '\P{Dep:y}', "");
-Expect(1, 329, '\P{^Dep:y}', "");
-Expect(0, 328, '\p{Dep:y}', "");
-Expect(1, 328, '\p{^Dep:y}', "");
-Expect(1, 328, '\P{Dep:y}', "");
-Expect(0, 328, '\P{^Dep:y}', "");
-Expect(1, 329, '\p{Dep= Y}', "");
-Expect(0, 329, '\p{^Dep= Y}', "");
-Expect(0, 329, '\P{Dep= Y}', "");
-Expect(1, 329, '\P{^Dep= Y}', "");
-Expect(0, 328, '\p{Dep= Y}', "");
-Expect(1, 328, '\p{^Dep= Y}', "");
-Expect(1, 328, '\P{Dep= Y}', "");
-Expect(0, 328, '\P{^Dep= Y}', "");
-Error('\p{Is_Deprecated= t/a/}');
-Error('\P{Is_Deprecated= t/a/}');
-Expect(1, 329, '\p{Is_Deprecated=t}', "");
-Expect(0, 329, '\p{^Is_Deprecated=t}', "");
-Expect(0, 329, '\P{Is_Deprecated=t}', "");
-Expect(1, 329, '\P{^Is_Deprecated=t}', "");
-Expect(0, 328, '\p{Is_Deprecated=t}', "");
-Expect(1, 328, '\p{^Is_Deprecated=t}', "");
-Expect(1, 328, '\P{Is_Deprecated=t}', "");
-Expect(0, 328, '\P{^Is_Deprecated=t}', "");
-Expect(1, 329, '\p{Is_Deprecated=--T}', "");
-Expect(0, 329, '\p{^Is_Deprecated=--T}', "");
-Expect(0, 329, '\P{Is_Deprecated=--T}', "");
-Expect(1, 329, '\P{^Is_Deprecated=--T}', "");
-Expect(0, 328, '\p{Is_Deprecated=--T}', "");
-Expect(1, 328, '\p{^Is_Deprecated=--T}', "");
-Expect(1, 328, '\P{Is_Deprecated=--T}', "");
-Expect(0, 328, '\P{^Is_Deprecated=--T}', "");
-Error('\p{Is_Dep=- true/a/}');
-Error('\P{Is_Dep=- true/a/}');
-Expect(1, 329, '\p{Is_Dep: true}', "");
-Expect(0, 329, '\p{^Is_Dep: true}', "");
-Expect(0, 329, '\P{Is_Dep: true}', "");
-Expect(1, 329, '\P{^Is_Dep: true}', "");
-Expect(0, 328, '\p{Is_Dep: true}', "");
-Expect(1, 328, '\p{^Is_Dep: true}', "");
-Expect(1, 328, '\P{Is_Dep: true}', "");
-Expect(0, 328, '\P{^Is_Dep: true}', "");
-Expect(1, 329, '\p{Is_Dep: TRUE}', "");
-Expect(0, 329, '\p{^Is_Dep: TRUE}', "");
-Expect(0, 329, '\P{Is_Dep: TRUE}', "");
-Expect(1, 329, '\P{^Is_Dep: TRUE}', "");
-Expect(0, 328, '\p{Is_Dep: TRUE}', "");
-Expect(1, 328, '\p{^Is_Dep: TRUE}', "");
-Expect(1, 328, '\P{Is_Dep: TRUE}', "");
-Expect(0, 328, '\P{^Is_Dep: TRUE}', "");
-Error('\p{Deprecated=/a/ No}');
-Error('\P{Deprecated=/a/ No}');
-Expect(1, 328, '\p{Deprecated=no}', "");
-Expect(0, 328, '\p{^Deprecated=no}', "");
-Expect(0, 328, '\P{Deprecated=no}', "");
-Expect(1, 328, '\P{^Deprecated=no}', "");
-Expect(0, 329, '\p{Deprecated=no}', "");
-Expect(1, 329, '\p{^Deprecated=no}', "");
-Expect(1, 329, '\P{Deprecated=no}', "");
-Expect(0, 329, '\P{^Deprecated=no}', "");
-Expect(1, 328, '\p{Deprecated=_ no}', "");
-Expect(0, 328, '\p{^Deprecated=_ no}', "");
-Expect(0, 328, '\P{Deprecated=_ no}', "");
-Expect(1, 328, '\P{^Deprecated=_ no}', "");
-Expect(0, 329, '\p{Deprecated=_ no}', "");
-Expect(1, 329, '\p{^Deprecated=_ no}', "");
-Expect(1, 329, '\P{Deprecated=_ no}', "");
-Expect(0, 329, '\P{^Deprecated=_ no}', "");
-Error('\p{Dep: n/a/}');
-Error('\P{Dep: n/a/}');
-Expect(1, 328, '\p{Dep=n}', "");
-Expect(0, 328, '\p{^Dep=n}', "");
-Expect(0, 328, '\P{Dep=n}', "");
-Expect(1, 328, '\P{^Dep=n}', "");
-Expect(0, 329, '\p{Dep=n}', "");
-Expect(1, 329, '\p{^Dep=n}', "");
-Expect(1, 329, '\P{Dep=n}', "");
-Expect(0, 329, '\P{^Dep=n}', "");
-Expect(1, 328, '\p{Dep=_ n}', "");
-Expect(0, 328, '\p{^Dep=_ n}', "");
-Expect(0, 328, '\P{Dep=_ n}', "");
-Expect(1, 328, '\P{^Dep=_ n}', "");
-Expect(0, 329, '\p{Dep=_ n}', "");
-Expect(1, 329, '\p{^Dep=_ n}', "");
-Expect(1, 329, '\P{Dep=_ n}', "");
-Expect(0, 329, '\P{^Dep=_ n}', "");
-Error('\p{Is_Deprecated= :=F}');
-Error('\P{Is_Deprecated= :=F}');
-Expect(1, 328, '\p{Is_Deprecated=f}', "");
-Expect(0, 328, '\p{^Is_Deprecated=f}', "");
-Expect(0, 328, '\P{Is_Deprecated=f}', "");
-Expect(1, 328, '\P{^Is_Deprecated=f}', "");
-Expect(0, 329, '\p{Is_Deprecated=f}', "");
-Expect(1, 329, '\p{^Is_Deprecated=f}', "");
-Expect(1, 329, '\P{Is_Deprecated=f}', "");
-Expect(0, 329, '\P{^Is_Deprecated=f}', "");
-Expect(1, 328, '\p{Is_Deprecated: -F}', "");
-Expect(0, 328, '\p{^Is_Deprecated: -F}', "");
-Expect(0, 328, '\P{Is_Deprecated: -F}', "");
-Expect(1, 328, '\P{^Is_Deprecated: -F}', "");
-Expect(0, 329, '\p{Is_Deprecated: -F}', "");
-Expect(1, 329, '\p{^Is_Deprecated: -F}', "");
-Expect(1, 329, '\P{Is_Deprecated: -F}', "");
-Expect(0, 329, '\P{^Is_Deprecated: -F}', "");
-Error('\p{Is_Dep=_/a/FALSE}');
-Error('\P{Is_Dep=_/a/FALSE}');
-Expect(1, 328, '\p{Is_Dep=false}', "");
-Expect(0, 328, '\p{^Is_Dep=false}', "");
-Expect(0, 328, '\P{Is_Dep=false}', "");
-Expect(1, 328, '\P{^Is_Dep=false}', "");
-Expect(0, 329, '\p{Is_Dep=false}', "");
-Expect(1, 329, '\p{^Is_Dep=false}', "");
-Expect(1, 329, '\P{Is_Dep=false}', "");
-Expect(0, 329, '\P{^Is_Dep=false}', "");
-Expect(1, 328, '\p{Is_Dep=_ FALSE}', "");
-Expect(0, 328, '\p{^Is_Dep=_ FALSE}', "");
-Expect(0, 328, '\P{Is_Dep=_ FALSE}', "");
-Expect(1, 328, '\P{^Is_Dep=_ FALSE}', "");
-Expect(0, 329, '\p{Is_Dep=_ FALSE}', "");
-Expect(1, 329, '\p{^Is_Dep=_ FALSE}', "");
-Expect(1, 329, '\P{Is_Dep=_ FALSE}', "");
-Expect(0, 329, '\P{^Is_Dep=_ FALSE}', "");
-Error('\p{Sentence_Break=-Sp/a/}');
-Error('\P{Sentence_Break=-Sp/a/}');
-Expect(1, 9, '\p{Sentence_Break=sp}', "");
-Expect(0, 9, '\p{^Sentence_Break=sp}', "");
-Expect(0, 9, '\P{Sentence_Break=sp}', "");
-Expect(1, 9, '\P{^Sentence_Break=sp}', "");
-Expect(0, 8, '\p{Sentence_Break=sp}', "");
-Expect(1, 8, '\p{^Sentence_Break=sp}', "");
-Expect(1, 8, '\P{Sentence_Break=sp}', "");
-Expect(0, 8, '\P{^Sentence_Break=sp}', "");
-Expect(1, 9, '\p{Sentence_Break=-Sp}', "");
-Expect(0, 9, '\p{^Sentence_Break=-Sp}', "");
-Expect(0, 9, '\P{Sentence_Break=-Sp}', "");
-Expect(1, 9, '\P{^Sentence_Break=-Sp}', "");
-Expect(0, 8, '\p{Sentence_Break=-Sp}', "");
-Expect(1, 8, '\p{^Sentence_Break=-Sp}', "");
-Expect(1, 8, '\P{Sentence_Break=-Sp}', "");
-Expect(0, 8, '\P{^Sentence_Break=-Sp}', "");
-Error('\p{SB= sp/a/}');
-Error('\P{SB= sp/a/}');
-Expect(1, 9, '\p{SB=sp}', "");
-Expect(0, 9, '\p{^SB=sp}', "");
-Expect(0, 9, '\P{SB=sp}', "");
-Expect(1, 9, '\P{^SB=sp}', "");
-Expect(0, 8, '\p{SB=sp}', "");
-Expect(1, 8, '\p{^SB=sp}', "");
-Expect(1, 8, '\P{SB=sp}', "");
-Expect(0, 8, '\P{^SB=sp}', "");
-Expect(1, 9, '\p{SB= Sp}', "");
-Expect(0, 9, '\p{^SB= Sp}', "");
-Expect(0, 9, '\P{SB= Sp}', "");
-Expect(1, 9, '\P{^SB= Sp}', "");
-Expect(0, 8, '\p{SB= Sp}', "");
-Expect(1, 8, '\p{^SB= Sp}', "");
-Expect(1, 8, '\P{SB= Sp}', "");
-Expect(0, 8, '\P{^SB= Sp}', "");
-Error('\p{Is_Sentence_Break=/a/ -Sp}');
-Error('\P{Is_Sentence_Break=/a/ -Sp}');
-Expect(1, 9, '\p{Is_Sentence_Break=sp}', "");
-Expect(0, 9, '\p{^Is_Sentence_Break=sp}', "");
-Expect(0, 9, '\P{Is_Sentence_Break=sp}', "");
-Expect(1, 9, '\P{^Is_Sentence_Break=sp}', "");
-Expect(0, 8, '\p{Is_Sentence_Break=sp}', "");
-Expect(1, 8, '\p{^Is_Sentence_Break=sp}', "");
-Expect(1, 8, '\P{Is_Sentence_Break=sp}', "");
-Expect(0, 8, '\P{^Is_Sentence_Break=sp}', "");
-Expect(1, 9, '\p{Is_Sentence_Break: __sp}', "");
-Expect(0, 9, '\p{^Is_Sentence_Break: __sp}', "");
-Expect(0, 9, '\P{Is_Sentence_Break: __sp}', "");
-Expect(1, 9, '\P{^Is_Sentence_Break: __sp}', "");
-Expect(0, 8, '\p{Is_Sentence_Break: __sp}', "");
-Expect(1, 8, '\p{^Is_Sentence_Break: __sp}', "");
-Expect(1, 8, '\P{Is_Sentence_Break: __sp}', "");
-Expect(0, 8, '\P{^Is_Sentence_Break: __sp}', "");
-Error('\p{Is_SB= :=SP}');
-Error('\P{Is_SB= :=SP}');
-Expect(1, 9, '\p{Is_SB=sp}', "");
-Expect(0, 9, '\p{^Is_SB=sp}', "");
-Expect(0, 9, '\P{Is_SB=sp}', "");
-Expect(1, 9, '\P{^Is_SB=sp}', "");
-Expect(0, 8, '\p{Is_SB=sp}', "");
-Expect(1, 8, '\p{^Is_SB=sp}', "");
-Expect(1, 8, '\P{Is_SB=sp}', "");
-Expect(0, 8, '\P{^Is_SB=sp}', "");
-Expect(1, 9, '\p{Is_SB: sp}', "");
-Expect(0, 9, '\p{^Is_SB: sp}', "");
-Expect(0, 9, '\P{Is_SB: sp}', "");
-Expect(1, 9, '\P{^Is_SB: sp}', "");
-Expect(0, 8, '\p{Is_SB: sp}', "");
-Expect(1, 8, '\p{^Is_SB: sp}', "");
-Expect(1, 8, '\P{Is_SB: sp}', "");
-Expect(0, 8, '\P{^Is_SB: sp}', "");
-Error('\p{Sentence_Break=/a/-SContinue}');
-Error('\P{Sentence_Break=/a/-SContinue}');
-Expect(1, 45, '\p{Sentence_Break=scontinue}', "");
-Expect(0, 45, '\p{^Sentence_Break=scontinue}', "");
-Expect(0, 45, '\P{Sentence_Break=scontinue}', "");
-Expect(1, 45, '\P{^Sentence_Break=scontinue}', "");
-Expect(0, 43, '\p{Sentence_Break=scontinue}', "");
-Expect(1, 43, '\p{^Sentence_Break=scontinue}', "");
-Expect(1, 43, '\P{Sentence_Break=scontinue}', "");
-Expect(0, 43, '\P{^Sentence_Break=scontinue}', "");
-Expect(1, 45, '\p{Sentence_Break=-SCONTINUE}', "");
-Expect(0, 45, '\p{^Sentence_Break=-SCONTINUE}', "");
-Expect(0, 45, '\P{Sentence_Break=-SCONTINUE}', "");
-Expect(1, 45, '\P{^Sentence_Break=-SCONTINUE}', "");
-Expect(0, 43, '\p{Sentence_Break=-SCONTINUE}', "");
-Expect(1, 43, '\p{^Sentence_Break=-SCONTINUE}', "");
-Expect(1, 43, '\P{Sentence_Break=-SCONTINUE}', "");
-Expect(0, 43, '\P{^Sentence_Break=-SCONTINUE}', "");
-Error('\p{SB=/a/_ SC}');
-Error('\P{SB=/a/_ SC}');
-Expect(1, 45, '\p{SB=sc}', "");
-Expect(0, 45, '\p{^SB=sc}', "");
-Expect(0, 45, '\P{SB=sc}', "");
-Expect(1, 45, '\P{^SB=sc}', "");
-Expect(0, 43, '\p{SB=sc}', "");
-Expect(1, 43, '\p{^SB=sc}', "");
-Expect(1, 43, '\P{SB=sc}', "");
-Expect(0, 43, '\P{^SB=sc}', "");
-Expect(1, 45, '\p{SB= SC}', "");
-Expect(0, 45, '\p{^SB= SC}', "");
-Expect(0, 45, '\P{SB= SC}', "");
-Expect(1, 45, '\P{^SB= SC}', "");
-Expect(0, 43, '\p{SB= SC}', "");
-Expect(1, 43, '\p{^SB= SC}', "");
-Expect(1, 43, '\P{SB= SC}', "");
-Expect(0, 43, '\P{^SB= SC}', "");
-Error('\p{Is_Sentence_Break=/a/SContinue}');
-Error('\P{Is_Sentence_Break=/a/SContinue}');
-Expect(1, 45, '\p{Is_Sentence_Break=scontinue}', "");
-Expect(0, 45, '\p{^Is_Sentence_Break=scontinue}', "");
-Expect(0, 45, '\P{Is_Sentence_Break=scontinue}', "");
-Expect(1, 45, '\P{^Is_Sentence_Break=scontinue}', "");
-Expect(0, 43, '\p{Is_Sentence_Break=scontinue}', "");
-Expect(1, 43, '\p{^Is_Sentence_Break=scontinue}', "");
-Expect(1, 43, '\P{Is_Sentence_Break=scontinue}', "");
-Expect(0, 43, '\P{^Is_Sentence_Break=scontinue}', "");
-Expect(1, 45, '\p{Is_Sentence_Break=_SContinue}', "");
-Expect(0, 45, '\p{^Is_Sentence_Break=_SContinue}', "");
-Expect(0, 45, '\P{Is_Sentence_Break=_SContinue}', "");
-Expect(1, 45, '\P{^Is_Sentence_Break=_SContinue}', "");
-Expect(0, 43, '\p{Is_Sentence_Break=_SContinue}', "");
-Expect(1, 43, '\p{^Is_Sentence_Break=_SContinue}', "");
-Expect(1, 43, '\P{Is_Sentence_Break=_SContinue}', "");
-Expect(0, 43, '\P{^Is_Sentence_Break=_SContinue}', "");
-Error('\p{Is_SB: :=SC}');
-Error('\P{Is_SB: :=SC}');
-Expect(1, 45, '\p{Is_SB:sc}', "");
-Expect(0, 45, '\p{^Is_SB:sc}', "");
-Expect(0, 45, '\P{Is_SB:sc}', "");
-Expect(1, 45, '\P{^Is_SB:sc}', "");
-Expect(0, 43, '\p{Is_SB:sc}', "");
-Expect(1, 43, '\p{^Is_SB:sc}', "");
-Expect(1, 43, '\P{Is_SB:sc}', "");
-Expect(0, 43, '\P{^Is_SB:sc}', "");
-Expect(1, 45, '\p{Is_SB= sc}', "");
-Expect(0, 45, '\p{^Is_SB= sc}', "");
-Expect(0, 45, '\P{Is_SB= sc}', "");
-Expect(1, 45, '\P{^Is_SB= sc}', "");
-Expect(0, 43, '\p{Is_SB= sc}', "");
-Expect(1, 43, '\p{^Is_SB= sc}', "");
-Expect(1, 43, '\P{Is_SB= sc}', "");
-Expect(0, 43, '\P{^Is_SB= sc}', "");
-Error('\p{Sentence_Break=-/a/ATerm}');
-Error('\P{Sentence_Break=-/a/ATerm}');
-Expect(1, 46, '\p{Sentence_Break=aterm}', "");
-Expect(0, 46, '\p{^Sentence_Break=aterm}', "");
-Expect(0, 46, '\P{Sentence_Break=aterm}', "");
-Expect(1, 46, '\P{^Sentence_Break=aterm}', "");
-Expect(0, 45, '\p{Sentence_Break=aterm}', "");
-Expect(1, 45, '\p{^Sentence_Break=aterm}', "");
-Expect(1, 45, '\P{Sentence_Break=aterm}', "");
-Expect(0, 45, '\P{^Sentence_Break=aterm}', "");
-Expect(1, 46, '\p{Sentence_Break=-ATERM}', "");
-Expect(0, 46, '\p{^Sentence_Break=-ATERM}', "");
-Expect(0, 46, '\P{Sentence_Break=-ATERM}', "");
-Expect(1, 46, '\P{^Sentence_Break=-ATERM}', "");
-Expect(0, 45, '\p{Sentence_Break=-ATERM}', "");
-Expect(1, 45, '\p{^Sentence_Break=-ATERM}', "");
-Expect(1, 45, '\P{Sentence_Break=-ATERM}', "");
-Expect(0, 45, '\P{^Sentence_Break=-ATERM}', "");
-Error('\p{SB=/a/ AT}');
-Error('\P{SB=/a/ AT}');
-Expect(1, 46, '\p{SB=at}', "");
-Expect(0, 46, '\p{^SB=at}', "");
-Expect(0, 46, '\P{SB=at}', "");
-Expect(1, 46, '\P{^SB=at}', "");
-Expect(0, 45, '\p{SB=at}', "");
-Expect(1, 45, '\p{^SB=at}', "");
-Expect(1, 45, '\P{SB=at}', "");
-Expect(0, 45, '\P{^SB=at}', "");
-Expect(1, 46, '\p{SB= AT}', "");
-Expect(0, 46, '\p{^SB= AT}', "");
-Expect(0, 46, '\P{SB= AT}', "");
-Expect(1, 46, '\P{^SB= AT}', "");
-Expect(0, 45, '\p{SB= AT}', "");
-Expect(1, 45, '\p{^SB= AT}', "");
-Expect(1, 45, '\P{SB= AT}', "");
-Expect(0, 45, '\P{^SB= AT}', "");
-Error('\p{Is_Sentence_Break=_-aterm/a/}');
-Error('\P{Is_Sentence_Break=_-aterm/a/}');
-Expect(1, 46, '\p{Is_Sentence_Break=aterm}', "");
-Expect(0, 46, '\p{^Is_Sentence_Break=aterm}', "");
-Expect(0, 46, '\P{Is_Sentence_Break=aterm}', "");
-Expect(1, 46, '\P{^Is_Sentence_Break=aterm}', "");
-Expect(0, 45, '\p{Is_Sentence_Break=aterm}', "");
-Expect(1, 45, '\p{^Is_Sentence_Break=aterm}', "");
-Expect(1, 45, '\P{Is_Sentence_Break=aterm}', "");
-Expect(0, 45, '\P{^Is_Sentence_Break=aterm}', "");
-Expect(1, 46, '\p{Is_Sentence_Break: -ATerm}', "");
-Expect(0, 46, '\p{^Is_Sentence_Break: -ATerm}', "");
-Expect(0, 46, '\P{Is_Sentence_Break: -ATerm}', "");
-Expect(1, 46, '\P{^Is_Sentence_Break: -ATerm}', "");
-Expect(0, 45, '\p{Is_Sentence_Break: -ATerm}', "");
-Expect(1, 45, '\p{^Is_Sentence_Break: -ATerm}', "");
-Expect(1, 45, '\P{Is_Sentence_Break: -ATerm}', "");
-Expect(0, 45, '\P{^Is_Sentence_Break: -ATerm}', "");
-Error('\p{Is_SB=- AT/a/}');
-Error('\P{Is_SB=- AT/a/}');
-Expect(1, 46, '\p{Is_SB=at}', "");
-Expect(0, 46, '\p{^Is_SB=at}', "");
-Expect(0, 46, '\P{Is_SB=at}', "");
-Expect(1, 46, '\P{^Is_SB=at}', "");
-Expect(0, 45, '\p{Is_SB=at}', "");
-Expect(1, 45, '\p{^Is_SB=at}', "");
-Expect(1, 45, '\P{Is_SB=at}', "");
-Expect(0, 45, '\P{^Is_SB=at}', "");
-Expect(1, 46, '\p{Is_SB= AT}', "");
-Expect(0, 46, '\p{^Is_SB= AT}', "");
-Expect(0, 46, '\P{Is_SB= AT}', "");
-Expect(1, 46, '\P{^Is_SB= AT}', "");
-Expect(0, 45, '\p{Is_SB= AT}', "");
-Expect(1, 45, '\p{^Is_SB= AT}', "");
-Expect(1, 45, '\P{Is_SB= AT}', "");
-Expect(0, 45, '\P{^Is_SB= AT}', "");
-Error('\p{Sentence_Break: _/a/OLETTER}');
-Error('\P{Sentence_Break: _/a/OLETTER}');
-Expect(1, 443, '\p{Sentence_Break=oletter}', "");
-Expect(0, 443, '\p{^Sentence_Break=oletter}', "");
-Expect(0, 443, '\P{Sentence_Break=oletter}', "");
-Expect(1, 443, '\P{^Sentence_Break=oletter}', "");
-Expect(0, 442, '\p{Sentence_Break=oletter}', "");
-Expect(1, 442, '\p{^Sentence_Break=oletter}', "");
-Expect(1, 442, '\P{Sentence_Break=oletter}', "");
-Expect(0, 442, '\P{^Sentence_Break=oletter}', "");
-Expect(1, 443, '\p{Sentence_Break=_OLetter}', "");
-Expect(0, 443, '\p{^Sentence_Break=_OLetter}', "");
-Expect(0, 443, '\P{Sentence_Break=_OLetter}', "");
-Expect(1, 443, '\P{^Sentence_Break=_OLetter}', "");
-Expect(0, 442, '\p{Sentence_Break=_OLetter}', "");
-Expect(1, 442, '\p{^Sentence_Break=_OLetter}', "");
-Expect(1, 442, '\P{Sentence_Break=_OLetter}', "");
-Expect(0, 442, '\P{^Sentence_Break=_OLetter}', "");
-Error('\p{SB:/a/LE}');
-Error('\P{SB:/a/LE}');
-Expect(1, 443, '\p{SB: le}', "");
-Expect(0, 443, '\p{^SB: le}', "");
-Expect(0, 443, '\P{SB: le}', "");
-Expect(1, 443, '\P{^SB: le}', "");
-Expect(0, 442, '\p{SB: le}', "");
-Expect(1, 442, '\p{^SB: le}', "");
-Expect(1, 442, '\P{SB: le}', "");
-Expect(0, 442, '\P{^SB: le}', "");
-Expect(1, 443, '\p{SB=--le}', "");
-Expect(0, 443, '\p{^SB=--le}', "");
-Expect(0, 443, '\P{SB=--le}', "");
-Expect(1, 443, '\P{^SB=--le}', "");
-Expect(0, 442, '\p{SB=--le}', "");
-Expect(1, 442, '\p{^SB=--le}', "");
-Expect(1, 442, '\P{SB=--le}', "");
-Expect(0, 442, '\P{^SB=--le}', "");
-Error('\p{Is_Sentence_Break= :=OLetter}');
-Error('\P{Is_Sentence_Break= :=OLetter}');
-Expect(1, 443, '\p{Is_Sentence_Break=oletter}', "");
-Expect(0, 443, '\p{^Is_Sentence_Break=oletter}', "");
-Expect(0, 443, '\P{Is_Sentence_Break=oletter}', "");
-Expect(1, 443, '\P{^Is_Sentence_Break=oletter}', "");
-Expect(0, 442, '\p{Is_Sentence_Break=oletter}', "");
-Expect(1, 442, '\p{^Is_Sentence_Break=oletter}', "");
-Expect(1, 442, '\P{Is_Sentence_Break=oletter}', "");
-Expect(0, 442, '\P{^Is_Sentence_Break=oletter}', "");
-Expect(1, 443, '\p{Is_Sentence_Break=_ OLetter}', "");
-Expect(0, 443, '\p{^Is_Sentence_Break=_ OLetter}', "");
-Expect(0, 443, '\P{Is_Sentence_Break=_ OLetter}', "");
-Expect(1, 443, '\P{^Is_Sentence_Break=_ OLetter}', "");
-Expect(0, 442, '\p{Is_Sentence_Break=_ OLetter}', "");
-Expect(1, 442, '\p{^Is_Sentence_Break=_ OLetter}', "");
-Expect(1, 442, '\P{Is_Sentence_Break=_ OLetter}', "");
-Expect(0, 442, '\P{^Is_Sentence_Break=_ OLetter}', "");
-Error('\p{Is_SB=_:=LE}');
-Error('\P{Is_SB=_:=LE}');
-Expect(1, 443, '\p{Is_SB=le}', "");
-Expect(0, 443, '\p{^Is_SB=le}', "");
-Expect(0, 443, '\P{Is_SB=le}', "");
-Expect(1, 443, '\P{^Is_SB=le}', "");
-Expect(0, 442, '\p{Is_SB=le}', "");
-Expect(1, 442, '\p{^Is_SB=le}', "");
-Expect(1, 442, '\P{Is_SB=le}', "");
-Expect(0, 442, '\P{^Is_SB=le}', "");
-Expect(1, 443, '\p{Is_SB=_LE}', "");
-Expect(0, 443, '\p{^Is_SB=_LE}', "");
-Expect(0, 443, '\P{Is_SB=_LE}', "");
-Expect(1, 443, '\P{^Is_SB=_LE}', "");
-Expect(0, 442, '\p{Is_SB=_LE}', "");
-Expect(1, 442, '\p{^Is_SB=_LE}', "");
-Expect(1, 442, '\P{Is_SB=_LE}', "");
-Expect(0, 442, '\P{^Is_SB=_LE}', "");
-Error('\p{Sentence_Break=:=_ cr}');
-Error('\P{Sentence_Break=:=_ cr}');
-Expect(1, 13, '\p{Sentence_Break=cr}', "");
-Expect(0, 13, '\p{^Sentence_Break=cr}', "");
-Expect(0, 13, '\P{Sentence_Break=cr}', "");
-Expect(1, 13, '\P{^Sentence_Break=cr}', "");
-Expect(0, 12, '\p{Sentence_Break=cr}', "");
-Expect(1, 12, '\p{^Sentence_Break=cr}', "");
-Expect(1, 12, '\P{Sentence_Break=cr}', "");
-Expect(0, 12, '\P{^Sentence_Break=cr}', "");
-Expect(1, 13, '\p{Sentence_Break=- CR}', "");
-Expect(0, 13, '\p{^Sentence_Break=- CR}', "");
-Expect(0, 13, '\P{Sentence_Break=- CR}', "");
-Expect(1, 13, '\P{^Sentence_Break=- CR}', "");
-Expect(0, 12, '\p{Sentence_Break=- CR}', "");
-Expect(1, 12, '\p{^Sentence_Break=- CR}', "");
-Expect(1, 12, '\P{Sentence_Break=- CR}', "");
-Expect(0, 12, '\P{^Sentence_Break=- CR}', "");
-Error('\p{SB= -CR/a/}');
-Error('\P{SB= -CR/a/}');
-Expect(1, 13, '\p{SB=cr}', "");
-Expect(0, 13, '\p{^SB=cr}', "");
-Expect(0, 13, '\P{SB=cr}', "");
-Expect(1, 13, '\P{^SB=cr}', "");
-Expect(0, 12, '\p{SB=cr}', "");
-Expect(1, 12, '\p{^SB=cr}', "");
-Expect(1, 12, '\P{SB=cr}', "");
-Expect(0, 12, '\P{^SB=cr}', "");
-Expect(1, 13, '\p{SB=_CR}', "");
-Expect(0, 13, '\p{^SB=_CR}', "");
-Expect(0, 13, '\P{SB=_CR}', "");
-Expect(1, 13, '\P{^SB=_CR}', "");
-Expect(0, 12, '\p{SB=_CR}', "");
-Expect(1, 12, '\p{^SB=_CR}', "");
-Expect(1, 12, '\P{SB=_CR}', "");
-Expect(0, 12, '\P{^SB=_CR}', "");
-Error('\p{Is_Sentence_Break= -CR:=}');
-Error('\P{Is_Sentence_Break= -CR:=}');
-Expect(1, 13, '\p{Is_Sentence_Break=cr}', "");
-Expect(0, 13, '\p{^Is_Sentence_Break=cr}', "");
-Expect(0, 13, '\P{Is_Sentence_Break=cr}', "");
-Expect(1, 13, '\P{^Is_Sentence_Break=cr}', "");
-Expect(0, 12, '\p{Is_Sentence_Break=cr}', "");
-Expect(1, 12, '\p{^Is_Sentence_Break=cr}', "");
-Expect(1, 12, '\P{Is_Sentence_Break=cr}', "");
-Expect(0, 12, '\P{^Is_Sentence_Break=cr}', "");
-Expect(1, 13, '\p{Is_Sentence_Break= CR}', "");
-Expect(0, 13, '\p{^Is_Sentence_Break= CR}', "");
-Expect(0, 13, '\P{Is_Sentence_Break= CR}', "");
-Expect(1, 13, '\P{^Is_Sentence_Break= CR}', "");
-Expect(0, 12, '\p{Is_Sentence_Break= CR}', "");
-Expect(1, 12, '\p{^Is_Sentence_Break= CR}', "");
-Expect(1, 12, '\P{Is_Sentence_Break= CR}', "");
-Expect(0, 12, '\P{^Is_Sentence_Break= CR}', "");
-Error('\p{Is_SB=-:=CR}');
-Error('\P{Is_SB=-:=CR}');
-Expect(1, 13, '\p{Is_SB=cr}', "");
-Expect(0, 13, '\p{^Is_SB=cr}', "");
-Expect(0, 13, '\P{Is_SB=cr}', "");
-Expect(1, 13, '\P{^Is_SB=cr}', "");
-Expect(0, 12, '\p{Is_SB=cr}', "");
-Expect(1, 12, '\p{^Is_SB=cr}', "");
-Expect(1, 12, '\P{Is_SB=cr}', "");
-Expect(0, 12, '\P{^Is_SB=cr}', "");
-Expect(1, 13, '\p{Is_SB= -CR}', "");
-Expect(0, 13, '\p{^Is_SB= -CR}', "");
-Expect(0, 13, '\P{Is_SB= -CR}', "");
-Expect(1, 13, '\P{^Is_SB= -CR}', "");
-Expect(0, 12, '\p{Is_SB= -CR}', "");
-Expect(1, 12, '\p{^Is_SB= -CR}', "");
-Expect(1, 12, '\P{Is_SB= -CR}', "");
-Expect(0, 12, '\P{^Is_SB= -CR}', "");
-Error('\p{Sentence_Break=- Other:=}');
-Error('\P{Sentence_Break=- Other:=}');
-Expect(1, 8, '\p{Sentence_Break=other}', "");
-Expect(0, 8, '\p{^Sentence_Break=other}', "");
-Expect(0, 8, '\P{Sentence_Break=other}', "");
-Expect(1, 8, '\P{^Sentence_Break=other}', "");
-Expect(0, 13, '\p{Sentence_Break=other}', "");
-Expect(1, 13, '\p{^Sentence_Break=other}', "");
-Expect(1, 13, '\P{Sentence_Break=other}', "");
-Expect(0, 13, '\P{^Sentence_Break=other}', "");
-Expect(1, 8, '\p{Sentence_Break= Other}', "");
-Expect(0, 8, '\p{^Sentence_Break= Other}', "");
-Expect(0, 8, '\P{Sentence_Break= Other}', "");
-Expect(1, 8, '\P{^Sentence_Break= Other}', "");
-Expect(0, 13, '\p{Sentence_Break= Other}', "");
-Expect(1, 13, '\p{^Sentence_Break= Other}', "");
-Expect(1, 13, '\P{Sentence_Break= Other}', "");
-Expect(0, 13, '\P{^Sentence_Break= Other}', "");
-Error('\p{SB=-XX/a/}');
-Error('\P{SB=-XX/a/}');
-Expect(1, 8, '\p{SB=xx}', "");
-Expect(0, 8, '\p{^SB=xx}', "");
-Expect(0, 8, '\P{SB=xx}', "");
-Expect(1, 8, '\P{^SB=xx}', "");
-Expect(0, 13, '\p{SB=xx}', "");
-Expect(1, 13, '\p{^SB=xx}', "");
-Expect(1, 13, '\P{SB=xx}', "");
-Expect(0, 13, '\P{^SB=xx}', "");
-Expect(1, 8, '\p{SB: _XX}', "");
-Expect(0, 8, '\p{^SB: _XX}', "");
-Expect(0, 8, '\P{SB: _XX}', "");
-Expect(1, 8, '\P{^SB: _XX}', "");
-Expect(0, 13, '\p{SB: _XX}', "");
-Expect(1, 13, '\p{^SB: _XX}', "");
-Expect(1, 13, '\P{SB: _XX}', "");
-Expect(0, 13, '\P{^SB: _XX}', "");
-Error('\p{Is_Sentence_Break=:=_ Other}');
-Error('\P{Is_Sentence_Break=:=_ Other}');
-Expect(1, 8, '\p{Is_Sentence_Break=other}', "");
-Expect(0, 8, '\p{^Is_Sentence_Break=other}', "");
-Expect(0, 8, '\P{Is_Sentence_Break=other}', "");
-Expect(1, 8, '\P{^Is_Sentence_Break=other}', "");
-Expect(0, 13, '\p{Is_Sentence_Break=other}', "");
-Expect(1, 13, '\p{^Is_Sentence_Break=other}', "");
-Expect(1, 13, '\P{Is_Sentence_Break=other}', "");
-Expect(0, 13, '\P{^Is_Sentence_Break=other}', "");
-Expect(1, 8, '\p{Is_Sentence_Break=-_Other}', "");
-Expect(0, 8, '\p{^Is_Sentence_Break=-_Other}', "");
-Expect(0, 8, '\P{Is_Sentence_Break=-_Other}', "");
-Expect(1, 8, '\P{^Is_Sentence_Break=-_Other}', "");
-Expect(0, 13, '\p{Is_Sentence_Break=-_Other}', "");
-Expect(1, 13, '\p{^Is_Sentence_Break=-_Other}', "");
-Expect(1, 13, '\P{Is_Sentence_Break=-_Other}', "");
-Expect(0, 13, '\P{^Is_Sentence_Break=-_Other}', "");
-Error('\p{Is_SB=- XX/a/}');
-Error('\P{Is_SB=- XX/a/}');
-Expect(1, 8, '\p{Is_SB=xx}', "");
-Expect(0, 8, '\p{^Is_SB=xx}', "");
-Expect(0, 8, '\P{Is_SB=xx}', "");
-Expect(1, 8, '\P{^Is_SB=xx}', "");
-Expect(0, 13, '\p{Is_SB=xx}', "");
-Expect(1, 13, '\p{^Is_SB=xx}', "");
-Expect(1, 13, '\P{Is_SB=xx}', "");
-Expect(0, 13, '\P{^Is_SB=xx}', "");
-Expect(1, 8, '\p{Is_SB=-_XX}', "");
-Expect(0, 8, '\p{^Is_SB=-_XX}', "");
-Expect(0, 8, '\P{Is_SB=-_XX}', "");
-Expect(1, 8, '\P{^Is_SB=-_XX}', "");
-Expect(0, 13, '\p{Is_SB=-_XX}', "");
-Expect(1, 13, '\p{^Is_SB=-_XX}', "");
-Expect(1, 13, '\P{Is_SB=-_XX}', "");
-Expect(0, 13, '\P{^Is_SB=-_XX}', "");
-Error('\p{Sentence_Break=_:=Numeric}');
-Error('\P{Sentence_Break=_:=Numeric}');
-Expect(1, 57, '\p{Sentence_Break=numeric}', "");
-Expect(0, 57, '\p{^Sentence_Break=numeric}', "");
-Expect(0, 57, '\P{Sentence_Break=numeric}', "");
-Expect(1, 57, '\P{^Sentence_Break=numeric}', "");
-Expect(0, 47, '\p{Sentence_Break=numeric}', "");
-Expect(1, 47, '\p{^Sentence_Break=numeric}', "");
-Expect(1, 47, '\P{Sentence_Break=numeric}', "");
-Expect(0, 47, '\P{^Sentence_Break=numeric}', "");
-Expect(1, 57, '\p{Sentence_Break=__NUMERIC}', "");
-Expect(0, 57, '\p{^Sentence_Break=__NUMERIC}', "");
-Expect(0, 57, '\P{Sentence_Break=__NUMERIC}', "");
-Expect(1, 57, '\P{^Sentence_Break=__NUMERIC}', "");
-Expect(0, 47, '\p{Sentence_Break=__NUMERIC}', "");
-Expect(1, 47, '\p{^Sentence_Break=__NUMERIC}', "");
-Expect(1, 47, '\P{Sentence_Break=__NUMERIC}', "");
-Expect(0, 47, '\P{^Sentence_Break=__NUMERIC}', "");
-Error('\p{SB::= nu}');
-Error('\P{SB::= nu}');
-Expect(1, 57, '\p{SB=nu}', "");
-Expect(0, 57, '\p{^SB=nu}', "");
-Expect(0, 57, '\P{SB=nu}', "");
-Expect(1, 57, '\P{^SB=nu}', "");
-Expect(0, 47, '\p{SB=nu}', "");
-Expect(1, 47, '\p{^SB=nu}', "");
-Expect(1, 47, '\P{SB=nu}', "");
-Expect(0, 47, '\P{^SB=nu}', "");
-Expect(1, 57, '\p{SB=--NU}', "");
-Expect(0, 57, '\p{^SB=--NU}', "");
-Expect(0, 57, '\P{SB=--NU}', "");
-Expect(1, 57, '\P{^SB=--NU}', "");
-Expect(0, 47, '\p{SB=--NU}', "");
-Expect(1, 47, '\p{^SB=--NU}', "");
-Expect(1, 47, '\P{SB=--NU}', "");
-Expect(0, 47, '\P{^SB=--NU}', "");
-Error('\p{Is_Sentence_Break= -NUMERIC/a/}');
-Error('\P{Is_Sentence_Break= -NUMERIC/a/}');
-Expect(1, 57, '\p{Is_Sentence_Break: numeric}', "");
-Expect(0, 57, '\p{^Is_Sentence_Break: numeric}', "");
-Expect(0, 57, '\P{Is_Sentence_Break: numeric}', "");
-Expect(1, 57, '\P{^Is_Sentence_Break: numeric}', "");
-Expect(0, 47, '\p{Is_Sentence_Break: numeric}', "");
-Expect(1, 47, '\p{^Is_Sentence_Break: numeric}', "");
-Expect(1, 47, '\P{Is_Sentence_Break: numeric}', "");
-Expect(0, 47, '\P{^Is_Sentence_Break: numeric}', "");
-Expect(1, 57, '\p{Is_Sentence_Break=- Numeric}', "");
-Expect(0, 57, '\p{^Is_Sentence_Break=- Numeric}', "");
-Expect(0, 57, '\P{Is_Sentence_Break=- Numeric}', "");
-Expect(1, 57, '\P{^Is_Sentence_Break=- Numeric}', "");
-Expect(0, 47, '\p{Is_Sentence_Break=- Numeric}', "");
-Expect(1, 47, '\p{^Is_Sentence_Break=- Numeric}', "");
-Expect(1, 47, '\P{Is_Sentence_Break=- Numeric}', "");
-Expect(0, 47, '\P{^Is_Sentence_Break=- Numeric}', "");
-Error('\p{Is_SB= -NU:=}');
-Error('\P{Is_SB= -NU:=}');
-Expect(1, 57, '\p{Is_SB=nu}', "");
-Expect(0, 57, '\p{^Is_SB=nu}', "");
-Expect(0, 57, '\P{Is_SB=nu}', "");
-Expect(1, 57, '\P{^Is_SB=nu}', "");
-Expect(0, 47, '\p{Is_SB=nu}', "");
-Expect(1, 47, '\p{^Is_SB=nu}', "");
-Expect(1, 47, '\P{Is_SB=nu}', "");
-Expect(0, 47, '\P{^Is_SB=nu}', "");
-Expect(1, 57, '\p{Is_SB= nu}', "");
-Expect(0, 57, '\p{^Is_SB= nu}', "");
-Expect(0, 57, '\P{Is_SB= nu}', "");
-Expect(1, 57, '\P{^Is_SB= nu}', "");
-Expect(0, 47, '\p{Is_SB= nu}', "");
-Expect(1, 47, '\p{^Is_SB= nu}', "");
-Expect(1, 47, '\P{Is_SB= nu}', "");
-Expect(0, 47, '\P{^Is_SB= nu}', "");
-Error('\p{Sentence_Break=/a/format}');
-Error('\P{Sentence_Break=/a/format}');
-Expect(1, 173, '\p{Sentence_Break=format}', "");
-Expect(0, 173, '\p{^Sentence_Break=format}', "");
-Expect(0, 173, '\P{Sentence_Break=format}', "");
-Expect(1, 173, '\P{^Sentence_Break=format}', "");
-Expect(0, 172, '\p{Sentence_Break=format}', "");
-Expect(1, 172, '\p{^Sentence_Break=format}', "");
-Expect(1, 172, '\P{Sentence_Break=format}', "");
-Expect(0, 172, '\P{^Sentence_Break=format}', "");
-Expect(1, 173, '\p{Sentence_Break= Format}', "");
-Expect(0, 173, '\p{^Sentence_Break= Format}', "");
-Expect(0, 173, '\P{Sentence_Break= Format}', "");
-Expect(1, 173, '\P{^Sentence_Break= Format}', "");
-Expect(0, 172, '\p{Sentence_Break= Format}', "");
-Expect(1, 172, '\p{^Sentence_Break= Format}', "");
-Expect(1, 172, '\P{Sentence_Break= Format}', "");
-Expect(0, 172, '\P{^Sentence_Break= Format}', "");
-Error('\p{SB= :=fo}');
-Error('\P{SB= :=fo}');
-Expect(1, 173, '\p{SB=fo}', "");
-Expect(0, 173, '\p{^SB=fo}', "");
-Expect(0, 173, '\P{SB=fo}', "");
-Expect(1, 173, '\P{^SB=fo}', "");
-Expect(0, 172, '\p{SB=fo}', "");
-Expect(1, 172, '\p{^SB=fo}', "");
-Expect(1, 172, '\P{SB=fo}', "");
-Expect(0, 172, '\P{^SB=fo}', "");
-Expect(1, 173, '\p{SB= _fo}', "");
-Expect(0, 173, '\p{^SB= _fo}', "");
-Expect(0, 173, '\P{SB= _fo}', "");
-Expect(1, 173, '\P{^SB= _fo}', "");
-Expect(0, 172, '\p{SB= _fo}', "");
-Expect(1, 172, '\p{^SB= _fo}', "");
-Expect(1, 172, '\P{SB= _fo}', "");
-Expect(0, 172, '\P{^SB= _fo}', "");
-Error('\p{Is_Sentence_Break=/a/_ Format}');
-Error('\P{Is_Sentence_Break=/a/_ Format}');
-Expect(1, 173, '\p{Is_Sentence_Break=format}', "");
-Expect(0, 173, '\p{^Is_Sentence_Break=format}', "");
-Expect(0, 173, '\P{Is_Sentence_Break=format}', "");
-Expect(1, 173, '\P{^Is_Sentence_Break=format}', "");
-Expect(0, 172, '\p{Is_Sentence_Break=format}', "");
-Expect(1, 172, '\p{^Is_Sentence_Break=format}', "");
-Expect(1, 172, '\P{Is_Sentence_Break=format}', "");
-Expect(0, 172, '\P{^Is_Sentence_Break=format}', "");
-Expect(1, 173, '\p{Is_Sentence_Break=- Format}', "");
-Expect(0, 173, '\p{^Is_Sentence_Break=- Format}', "");
-Expect(0, 173, '\P{Is_Sentence_Break=- Format}', "");
-Expect(1, 173, '\P{^Is_Sentence_Break=- Format}', "");
-Expect(0, 172, '\p{Is_Sentence_Break=- Format}', "");
-Expect(1, 172, '\p{^Is_Sentence_Break=- Format}', "");
-Expect(1, 172, '\P{Is_Sentence_Break=- Format}', "");
-Expect(0, 172, '\P{^Is_Sentence_Break=- Format}', "");
-Error('\p{Is_SB= :=FO}');
-Error('\P{Is_SB= :=FO}');
-Expect(1, 173, '\p{Is_SB=fo}', "");
-Expect(0, 173, '\p{^Is_SB=fo}', "");
-Expect(0, 173, '\P{Is_SB=fo}', "");
-Expect(1, 173, '\P{^Is_SB=fo}', "");
-Expect(0, 172, '\p{Is_SB=fo}', "");
-Expect(1, 172, '\p{^Is_SB=fo}', "");
-Expect(1, 172, '\P{Is_SB=fo}', "");
-Expect(0, 172, '\P{^Is_SB=fo}', "");
-Expect(1, 173, '\p{Is_SB: -_FO}', "");
-Expect(0, 173, '\p{^Is_SB: -_FO}', "");
-Expect(0, 173, '\P{Is_SB: -_FO}', "");
-Expect(1, 173, '\P{^Is_SB: -_FO}', "");
-Expect(0, 172, '\p{Is_SB: -_FO}', "");
-Expect(1, 172, '\p{^Is_SB: -_FO}', "");
-Expect(1, 172, '\P{Is_SB: -_FO}', "");
-Expect(0, 172, '\P{^Is_SB: -_FO}', "");
-Error('\p{Sentence_Break=:= Lower}');
-Error('\P{Sentence_Break=:= Lower}');
-Expect(1, 122, '\p{Sentence_Break=lower}', "");
-Expect(0, 122, '\p{^Sentence_Break=lower}', "");
-Expect(0, 122, '\P{Sentence_Break=lower}', "");
-Expect(1, 122, '\P{^Sentence_Break=lower}', "");
-Expect(0, 96, '\p{Sentence_Break=lower}', "");
-Expect(1, 96, '\p{^Sentence_Break=lower}', "");
-Expect(1, 96, '\P{Sentence_Break=lower}', "");
-Expect(0, 96, '\P{^Sentence_Break=lower}', "");
-Expect(1, 122, '\p{Sentence_Break: -Lower}', "");
-Expect(0, 122, '\p{^Sentence_Break: -Lower}', "");
-Expect(0, 122, '\P{Sentence_Break: -Lower}', "");
-Expect(1, 122, '\P{^Sentence_Break: -Lower}', "");
-Expect(0, 96, '\p{Sentence_Break: -Lower}', "");
-Expect(1, 96, '\p{^Sentence_Break: -Lower}', "");
-Expect(1, 96, '\P{Sentence_Break: -Lower}', "");
-Expect(0, 96, '\P{^Sentence_Break: -Lower}', "");
-Error('\p{SB:/a/_ LO}');
-Error('\P{SB:/a/_ LO}');
-Expect(1, 122, '\p{SB: lo}', "");
-Expect(0, 122, '\p{^SB: lo}', "");
-Expect(0, 122, '\P{SB: lo}', "");
-Expect(1, 122, '\P{^SB: lo}', "");
-Expect(0, 96, '\p{SB: lo}', "");
-Expect(1, 96, '\p{^SB: lo}', "");
-Expect(1, 96, '\P{SB: lo}', "");
-Expect(0, 96, '\P{^SB: lo}', "");
-Expect(1, 122, '\p{SB=_LO}', "");
-Expect(0, 122, '\p{^SB=_LO}', "");
-Expect(0, 122, '\P{SB=_LO}', "");
-Expect(1, 122, '\P{^SB=_LO}', "");
-Expect(0, 96, '\p{SB=_LO}', "");
-Expect(1, 96, '\p{^SB=_LO}', "");
-Expect(1, 96, '\P{SB=_LO}', "");
-Expect(0, 96, '\P{^SB=_LO}', "");
-Error('\p{Is_Sentence_Break=-/a/Lower}');
-Error('\P{Is_Sentence_Break=-/a/Lower}');
-Expect(1, 122, '\p{Is_Sentence_Break: lower}', "");
-Expect(0, 122, '\p{^Is_Sentence_Break: lower}', "");
-Expect(0, 122, '\P{Is_Sentence_Break: lower}', "");
-Expect(1, 122, '\P{^Is_Sentence_Break: lower}', "");
-Expect(0, 96, '\p{Is_Sentence_Break: lower}', "");
-Expect(1, 96, '\p{^Is_Sentence_Break: lower}', "");
-Expect(1, 96, '\P{Is_Sentence_Break: lower}', "");
-Expect(0, 96, '\P{^Is_Sentence_Break: lower}', "");
-Expect(1, 122, '\p{Is_Sentence_Break= lower}', "");
-Expect(0, 122, '\p{^Is_Sentence_Break= lower}', "");
-Expect(0, 122, '\P{Is_Sentence_Break= lower}', "");
-Expect(1, 122, '\P{^Is_Sentence_Break= lower}', "");
-Expect(0, 96, '\p{Is_Sentence_Break= lower}', "");
-Expect(1, 96, '\p{^Is_Sentence_Break= lower}', "");
-Expect(1, 96, '\P{Is_Sentence_Break= lower}', "");
-Expect(0, 96, '\P{^Is_Sentence_Break= lower}', "");
-Error('\p{Is_SB= LO/a/}');
-Error('\P{Is_SB= LO/a/}');
-Expect(1, 122, '\p{Is_SB=lo}', "");
-Expect(0, 122, '\p{^Is_SB=lo}', "");
-Expect(0, 122, '\P{Is_SB=lo}', "");
-Expect(1, 122, '\P{^Is_SB=lo}', "");
-Expect(0, 96, '\p{Is_SB=lo}', "");
-Expect(1, 96, '\p{^Is_SB=lo}', "");
-Expect(1, 96, '\P{Is_SB=lo}', "");
-Expect(0, 96, '\P{^Is_SB=lo}', "");
-Expect(1, 122, '\p{Is_SB= LO}', "");
-Expect(0, 122, '\p{^Is_SB= LO}', "");
-Expect(0, 122, '\P{Is_SB= LO}', "");
-Expect(1, 122, '\P{^Is_SB= LO}', "");
-Expect(0, 96, '\p{Is_SB= LO}', "");
-Expect(1, 96, '\p{^Is_SB= LO}', "");
-Expect(1, 96, '\P{Is_SB= LO}', "");
-Expect(0, 96, '\P{^Is_SB= LO}', "");
-Error('\p{Sentence_Break= -UPPER/a/}');
-Error('\P{Sentence_Break= -UPPER/a/}');
-Expect(1, 90, '\p{Sentence_Break=upper}', "");
-Expect(0, 90, '\p{^Sentence_Break=upper}', "");
-Expect(0, 90, '\P{Sentence_Break=upper}', "");
-Expect(1, 90, '\P{^Sentence_Break=upper}', "");
-Expect(0, 64, '\p{Sentence_Break=upper}', "");
-Expect(1, 64, '\p{^Sentence_Break=upper}', "");
-Expect(1, 64, '\P{Sentence_Break=upper}', "");
-Expect(0, 64, '\P{^Sentence_Break=upper}', "");
-Expect(1, 90, '\p{Sentence_Break= upper}', "");
-Expect(0, 90, '\p{^Sentence_Break= upper}', "");
-Expect(0, 90, '\P{Sentence_Break= upper}', "");
-Expect(1, 90, '\P{^Sentence_Break= upper}', "");
-Expect(0, 64, '\p{Sentence_Break= upper}', "");
-Expect(1, 64, '\p{^Sentence_Break= upper}', "");
-Expect(1, 64, '\P{Sentence_Break= upper}', "");
-Expect(0, 64, '\P{^Sentence_Break= upper}', "");
-Error('\p{SB=:= _UP}');
-Error('\P{SB=:= _UP}');
-Expect(1, 90, '\p{SB=up}', "");
-Expect(0, 90, '\p{^SB=up}', "");
-Expect(0, 90, '\P{SB=up}', "");
-Expect(1, 90, '\P{^SB=up}', "");
-Expect(0, 64, '\p{SB=up}', "");
-Expect(1, 64, '\p{^SB=up}', "");
-Expect(1, 64, '\P{SB=up}', "");
-Expect(0, 64, '\P{^SB=up}', "");
-Expect(1, 90, '\p{SB=--UP}', "");
-Expect(0, 90, '\p{^SB=--UP}', "");
-Expect(0, 90, '\P{SB=--UP}', "");
-Expect(1, 90, '\P{^SB=--UP}', "");
-Expect(0, 64, '\p{SB=--UP}', "");
-Expect(1, 64, '\p{^SB=--UP}', "");
-Expect(1, 64, '\P{SB=--UP}', "");
-Expect(0, 64, '\P{^SB=--UP}', "");
-Error('\p{Is_Sentence_Break::=_Upper}');
-Error('\P{Is_Sentence_Break::=_Upper}');
-Expect(1, 90, '\p{Is_Sentence_Break=upper}', "");
-Expect(0, 90, '\p{^Is_Sentence_Break=upper}', "");
-Expect(0, 90, '\P{Is_Sentence_Break=upper}', "");
-Expect(1, 90, '\P{^Is_Sentence_Break=upper}', "");
-Expect(0, 64, '\p{Is_Sentence_Break=upper}', "");
-Expect(1, 64, '\p{^Is_Sentence_Break=upper}', "");
-Expect(1, 64, '\P{Is_Sentence_Break=upper}', "");
-Expect(0, 64, '\P{^Is_Sentence_Break=upper}', "");
-Expect(1, 90, '\p{Is_Sentence_Break= upper}', "");
-Expect(0, 90, '\p{^Is_Sentence_Break= upper}', "");
-Expect(0, 90, '\P{Is_Sentence_Break= upper}', "");
-Expect(1, 90, '\P{^Is_Sentence_Break= upper}', "");
-Expect(0, 64, '\p{Is_Sentence_Break= upper}', "");
-Expect(1, 64, '\p{^Is_Sentence_Break= upper}', "");
-Expect(1, 64, '\P{Is_Sentence_Break= upper}', "");
-Expect(0, 64, '\P{^Is_Sentence_Break= upper}', "");
-Error('\p{Is_SB= UP:=}');
-Error('\P{Is_SB= UP:=}');
-Expect(1, 90, '\p{Is_SB:up}', "");
-Expect(0, 90, '\p{^Is_SB:up}', "");
-Expect(0, 90, '\P{Is_SB:up}', "");
-Expect(1, 90, '\P{^Is_SB:up}', "");
-Expect(0, 64, '\p{Is_SB:up}', "");
-Expect(1, 64, '\p{^Is_SB:up}', "");
-Expect(1, 64, '\P{Is_SB:up}', "");
-Expect(0, 64, '\P{^Is_SB:up}', "");
-Expect(1, 90, '\p{Is_SB= UP}', "");
-Expect(0, 90, '\p{^Is_SB= UP}', "");
-Expect(0, 90, '\P{Is_SB= UP}', "");
-Expect(1, 90, '\P{^Is_SB= UP}', "");
-Expect(0, 64, '\p{Is_SB= UP}', "");
-Expect(1, 64, '\p{^Is_SB= UP}', "");
-Expect(1, 64, '\P{Is_SB= UP}', "");
-Expect(0, 64, '\P{^Is_SB= UP}', "");
-Error('\p{Sentence_Break= _SEP:=}');
-Error('\P{Sentence_Break= _SEP:=}');
-Expect(1, 133, '\p{Sentence_Break=sep}', "");
-Expect(0, 133, '\p{^Sentence_Break=sep}', "");
-Expect(0, 133, '\P{Sentence_Break=sep}', "");
-Expect(1, 133, '\P{^Sentence_Break=sep}', "");
-Expect(0, 132, '\p{Sentence_Break=sep}', "");
-Expect(1, 132, '\p{^Sentence_Break=sep}', "");
-Expect(1, 132, '\P{Sentence_Break=sep}', "");
-Expect(0, 132, '\P{^Sentence_Break=sep}', "");
-Expect(1, 133, '\p{Sentence_Break:_SEP}', "");
-Expect(0, 133, '\p{^Sentence_Break:_SEP}', "");
-Expect(0, 133, '\P{Sentence_Break:_SEP}', "");
-Expect(1, 133, '\P{^Sentence_Break:_SEP}', "");
-Expect(0, 132, '\p{Sentence_Break:_SEP}', "");
-Expect(1, 132, '\p{^Sentence_Break:_SEP}', "");
-Expect(1, 132, '\P{Sentence_Break:_SEP}', "");
-Expect(0, 132, '\P{^Sentence_Break:_SEP}', "");
-Error('\p{SB=_/a/SE}');
-Error('\P{SB=_/a/SE}');
-Expect(1, 133, '\p{SB=se}', "");
-Expect(0, 133, '\p{^SB=se}', "");
-Expect(0, 133, '\P{SB=se}', "");
-Expect(1, 133, '\P{^SB=se}', "");
-Expect(0, 132, '\p{SB=se}', "");
-Expect(1, 132, '\p{^SB=se}', "");
-Expect(1, 132, '\P{SB=se}', "");
-Expect(0, 132, '\P{^SB=se}', "");
-Expect(1, 133, '\p{SB= SE}', "");
-Expect(0, 133, '\p{^SB= SE}', "");
-Expect(0, 133, '\P{SB= SE}', "");
-Expect(1, 133, '\P{^SB= SE}', "");
-Expect(0, 132, '\p{SB= SE}', "");
-Expect(1, 132, '\p{^SB= SE}', "");
-Expect(1, 132, '\P{SB= SE}', "");
-Expect(0, 132, '\P{^SB= SE}', "");
-Error('\p{Is_Sentence_Break= Sep:=}');
-Error('\P{Is_Sentence_Break= Sep:=}');
-Expect(1, 133, '\p{Is_Sentence_Break=sep}', "");
-Expect(0, 133, '\p{^Is_Sentence_Break=sep}', "");
-Expect(0, 133, '\P{Is_Sentence_Break=sep}', "");
-Expect(1, 133, '\P{^Is_Sentence_Break=sep}', "");
-Expect(0, 132, '\p{Is_Sentence_Break=sep}', "");
-Expect(1, 132, '\p{^Is_Sentence_Break=sep}', "");
-Expect(1, 132, '\P{Is_Sentence_Break=sep}', "");
-Expect(0, 132, '\P{^Is_Sentence_Break=sep}', "");
-Expect(1, 133, '\p{Is_Sentence_Break=_Sep}', "");
-Expect(0, 133, '\p{^Is_Sentence_Break=_Sep}', "");
-Expect(0, 133, '\P{Is_Sentence_Break=_Sep}', "");
-Expect(1, 133, '\P{^Is_Sentence_Break=_Sep}', "");
-Expect(0, 132, '\p{Is_Sentence_Break=_Sep}', "");
-Expect(1, 132, '\p{^Is_Sentence_Break=_Sep}', "");
-Expect(1, 132, '\P{Is_Sentence_Break=_Sep}', "");
-Expect(0, 132, '\P{^Is_Sentence_Break=_Sep}', "");
-Error('\p{Is_SB: :=SE}');
-Error('\P{Is_SB: :=SE}');
-Expect(1, 133, '\p{Is_SB=se}', "");
-Expect(0, 133, '\p{^Is_SB=se}', "");
-Expect(0, 133, '\P{Is_SB=se}', "");
-Expect(1, 133, '\P{^Is_SB=se}', "");
-Expect(0, 132, '\p{Is_SB=se}', "");
-Expect(1, 132, '\p{^Is_SB=se}', "");
-Expect(1, 132, '\P{Is_SB=se}', "");
-Expect(0, 132, '\P{^Is_SB=se}', "");
-Expect(1, 133, '\p{Is_SB=_ SE}', "");
-Expect(0, 133, '\p{^Is_SB=_ SE}', "");
-Expect(0, 133, '\P{Is_SB=_ SE}', "");
-Expect(1, 133, '\P{^Is_SB=_ SE}', "");
-Expect(0, 132, '\p{Is_SB=_ SE}', "");
-Expect(1, 132, '\p{^Is_SB=_ SE}', "");
-Expect(1, 132, '\P{Is_SB=_ SE}', "");
-Expect(0, 132, '\P{^Is_SB=_ SE}', "");
-Error('\p{Sentence_Break=_/a/extend}');
-Error('\P{Sentence_Break=_/a/extend}');
-Expect(1, 879, '\p{Sentence_Break=extend}', "");
-Expect(0, 879, '\p{^Sentence_Break=extend}', "");
-Expect(0, 879, '\P{Sentence_Break=extend}', "");
-Expect(1, 879, '\P{^Sentence_Break=extend}', "");
-Expect(0, 767, '\p{Sentence_Break=extend}', "");
-Expect(1, 767, '\p{^Sentence_Break=extend}', "");
-Expect(1, 767, '\P{Sentence_Break=extend}', "");
-Expect(0, 767, '\P{^Sentence_Break=extend}', "");
-Expect(1, 879, '\p{Sentence_Break= -Extend}', "");
-Expect(0, 879, '\p{^Sentence_Break= -Extend}', "");
-Expect(0, 879, '\P{Sentence_Break= -Extend}', "");
-Expect(1, 879, '\P{^Sentence_Break= -Extend}', "");
-Expect(0, 767, '\p{Sentence_Break= -Extend}', "");
-Expect(1, 767, '\p{^Sentence_Break= -Extend}', "");
-Expect(1, 767, '\P{Sentence_Break= -Extend}', "");
-Expect(0, 767, '\P{^Sentence_Break= -Extend}', "");
-Error('\p{SB= :=ex}');
-Error('\P{SB= :=ex}');
-Expect(1, 879, '\p{SB=ex}', "");
-Expect(0, 879, '\p{^SB=ex}', "");
-Expect(0, 879, '\P{SB=ex}', "");
-Expect(1, 879, '\P{^SB=ex}', "");
-Expect(0, 767, '\p{SB=ex}', "");
-Expect(1, 767, '\p{^SB=ex}', "");
-Expect(1, 767, '\P{SB=ex}', "");
-Expect(0, 767, '\P{^SB=ex}', "");
-Expect(1, 879, '\p{SB: -EX}', "");
-Expect(0, 879, '\p{^SB: -EX}', "");
-Expect(0, 879, '\P{SB: -EX}', "");
-Expect(1, 879, '\P{^SB: -EX}', "");
-Expect(0, 767, '\p{SB: -EX}', "");
-Expect(1, 767, '\p{^SB: -EX}', "");
-Expect(1, 767, '\P{SB: -EX}', "");
-Expect(0, 767, '\P{^SB: -EX}', "");
-Error('\p{Is_Sentence_Break=:= _Extend}');
-Error('\P{Is_Sentence_Break=:= _Extend}');
-Expect(1, 879, '\p{Is_Sentence_Break=extend}', "");
-Expect(0, 879, '\p{^Is_Sentence_Break=extend}', "");
-Expect(0, 879, '\P{Is_Sentence_Break=extend}', "");
-Expect(1, 879, '\P{^Is_Sentence_Break=extend}', "");
-Expect(0, 767, '\p{Is_Sentence_Break=extend}', "");
-Expect(1, 767, '\p{^Is_Sentence_Break=extend}', "");
-Expect(1, 767, '\P{Is_Sentence_Break=extend}', "");
-Expect(0, 767, '\P{^Is_Sentence_Break=extend}', "");
-Expect(1, 879, '\p{Is_Sentence_Break=--Extend}', "");
-Expect(0, 879, '\p{^Is_Sentence_Break=--Extend}', "");
-Expect(0, 879, '\P{Is_Sentence_Break=--Extend}', "");
-Expect(1, 879, '\P{^Is_Sentence_Break=--Extend}', "");
-Expect(0, 767, '\p{Is_Sentence_Break=--Extend}', "");
-Expect(1, 767, '\p{^Is_Sentence_Break=--Extend}', "");
-Expect(1, 767, '\P{Is_Sentence_Break=--Extend}', "");
-Expect(0, 767, '\P{^Is_Sentence_Break=--Extend}', "");
-Error('\p{Is_SB=_/a/EX}');
-Error('\P{Is_SB=_/a/EX}');
-Expect(1, 879, '\p{Is_SB=ex}', "");
-Expect(0, 879, '\p{^Is_SB=ex}', "");
-Expect(0, 879, '\P{Is_SB=ex}', "");
-Expect(1, 879, '\P{^Is_SB=ex}', "");
-Expect(0, 767, '\p{Is_SB=ex}', "");
-Expect(1, 767, '\p{^Is_SB=ex}', "");
-Expect(1, 767, '\P{Is_SB=ex}', "");
-Expect(0, 767, '\P{^Is_SB=ex}', "");
-Expect(1, 879, '\p{Is_SB=_ex}', "");
-Expect(0, 879, '\p{^Is_SB=_ex}', "");
-Expect(0, 879, '\P{Is_SB=_ex}', "");
-Expect(1, 879, '\P{^Is_SB=_ex}', "");
-Expect(0, 767, '\p{Is_SB=_ex}', "");
-Expect(1, 767, '\p{^Is_SB=_ex}', "");
-Expect(1, 767, '\P{Is_SB=_ex}', "");
-Expect(0, 767, '\P{^Is_SB=_ex}', "");
-Error('\p{Sentence_Break= -STERM/a/}');
-Error('\P{Sentence_Break= -STERM/a/}');
-Expect(1, 33, '\p{Sentence_Break: sterm}', "");
-Expect(0, 33, '\p{^Sentence_Break: sterm}', "");
-Expect(0, 33, '\P{Sentence_Break: sterm}', "");
-Expect(1, 33, '\P{^Sentence_Break: sterm}', "");
-Expect(0, 32, '\p{Sentence_Break: sterm}', "");
-Expect(1, 32, '\p{^Sentence_Break: sterm}', "");
-Expect(1, 32, '\P{Sentence_Break: sterm}', "");
-Expect(0, 32, '\P{^Sentence_Break: sterm}', "");
-Expect(1, 33, '\p{Sentence_Break=-STerm}', "");
-Expect(0, 33, '\p{^Sentence_Break=-STerm}', "");
-Expect(0, 33, '\P{Sentence_Break=-STerm}', "");
-Expect(1, 33, '\P{^Sentence_Break=-STerm}', "");
-Expect(0, 32, '\p{Sentence_Break=-STerm}', "");
-Expect(1, 32, '\p{^Sentence_Break=-STerm}', "");
-Expect(1, 32, '\P{Sentence_Break=-STerm}', "");
-Expect(0, 32, '\P{^Sentence_Break=-STerm}', "");
-Error('\p{SB=ST/a/}');
-Error('\P{SB=ST/a/}');
-Expect(1, 33, '\p{SB=st}', "");
-Expect(0, 33, '\p{^SB=st}', "");
-Expect(0, 33, '\P{SB=st}', "");
-Expect(1, 33, '\P{^SB=st}', "");
-Expect(0, 32, '\p{SB=st}', "");
-Expect(1, 32, '\p{^SB=st}', "");
-Expect(1, 32, '\P{SB=st}', "");
-Expect(0, 32, '\P{^SB=st}', "");
-Expect(1, 33, '\p{SB=-ST}', "");
-Expect(0, 33, '\p{^SB=-ST}', "");
-Expect(0, 33, '\P{SB=-ST}', "");
-Expect(1, 33, '\P{^SB=-ST}', "");
-Expect(0, 32, '\p{SB=-ST}', "");
-Expect(1, 32, '\p{^SB=-ST}', "");
-Expect(1, 32, '\P{SB=-ST}', "");
-Expect(0, 32, '\P{^SB=-ST}', "");
-Error('\p{Is_Sentence_Break= _STerm:=}');
-Error('\P{Is_Sentence_Break= _STerm:=}');
-Expect(1, 33, '\p{Is_Sentence_Break=sterm}', "");
-Expect(0, 33, '\p{^Is_Sentence_Break=sterm}', "");
-Expect(0, 33, '\P{Is_Sentence_Break=sterm}', "");
-Expect(1, 33, '\P{^Is_Sentence_Break=sterm}', "");
-Expect(0, 32, '\p{Is_Sentence_Break=sterm}', "");
-Expect(1, 32, '\p{^Is_Sentence_Break=sterm}', "");
-Expect(1, 32, '\P{Is_Sentence_Break=sterm}', "");
-Expect(0, 32, '\P{^Is_Sentence_Break=sterm}', "");
-Expect(1, 33, '\p{Is_Sentence_Break= sterm}', "");
-Expect(0, 33, '\p{^Is_Sentence_Break= sterm}', "");
-Expect(0, 33, '\P{Is_Sentence_Break= sterm}', "");
-Expect(1, 33, '\P{^Is_Sentence_Break= sterm}', "");
-Expect(0, 32, '\p{Is_Sentence_Break= sterm}', "");
-Expect(1, 32, '\p{^Is_Sentence_Break= sterm}', "");
-Expect(1, 32, '\P{Is_Sentence_Break= sterm}', "");
-Expect(0, 32, '\P{^Is_Sentence_Break= sterm}', "");
-Error('\p{Is_SB: _:=ST}');
-Error('\P{Is_SB: _:=ST}');
-Expect(1, 33, '\p{Is_SB=st}', "");
-Expect(0, 33, '\p{^Is_SB=st}', "");
-Expect(0, 33, '\P{Is_SB=st}', "");
-Expect(1, 33, '\P{^Is_SB=st}', "");
-Expect(0, 32, '\p{Is_SB=st}', "");
-Expect(1, 32, '\p{^Is_SB=st}', "");
-Expect(1, 32, '\P{Is_SB=st}', "");
-Expect(0, 32, '\P{^Is_SB=st}', "");
-Expect(1, 33, '\p{Is_SB= -ST}', "");
-Expect(0, 33, '\p{^Is_SB= -ST}', "");
-Expect(0, 33, '\P{Is_SB= -ST}', "");
-Expect(1, 33, '\P{^Is_SB= -ST}', "");
-Expect(0, 32, '\p{Is_SB= -ST}', "");
-Expect(1, 32, '\p{^Is_SB= -ST}', "");
-Expect(1, 32, '\P{Is_SB= -ST}', "");
-Expect(0, 32, '\P{^Is_SB= -ST}', "");
-Error('\p{Sentence_Break=/a/ LF}');
-Error('\P{Sentence_Break=/a/ LF}');
-Expect(1, 10, '\p{Sentence_Break=lf}', "");
-Expect(0, 10, '\p{^Sentence_Break=lf}', "");
-Expect(0, 10, '\P{Sentence_Break=lf}', "");
-Expect(1, 10, '\P{^Sentence_Break=lf}', "");
-Expect(0, 9, '\p{Sentence_Break=lf}', "");
-Expect(1, 9, '\p{^Sentence_Break=lf}', "");
-Expect(1, 9, '\P{Sentence_Break=lf}', "");
-Expect(0, 9, '\P{^Sentence_Break=lf}', "");
-Expect(1, 10, '\p{Sentence_Break=__LF}', "");
-Expect(0, 10, '\p{^Sentence_Break=__LF}', "");
-Expect(0, 10, '\P{Sentence_Break=__LF}', "");
-Expect(1, 10, '\P{^Sentence_Break=__LF}', "");
-Expect(0, 9, '\p{Sentence_Break=__LF}', "");
-Expect(1, 9, '\p{^Sentence_Break=__LF}', "");
-Expect(1, 9, '\P{Sentence_Break=__LF}', "");
-Expect(0, 9, '\P{^Sentence_Break=__LF}', "");
-Error('\p{SB=/a/_ LF}');
-Error('\P{SB=/a/_ LF}');
-Expect(1, 10, '\p{SB=lf}', "");
-Expect(0, 10, '\p{^SB=lf}', "");
-Expect(0, 10, '\P{SB=lf}', "");
-Expect(1, 10, '\P{^SB=lf}', "");
-Expect(0, 9, '\p{SB=lf}', "");
-Expect(1, 9, '\p{^SB=lf}', "");
-Expect(1, 9, '\P{SB=lf}', "");
-Expect(0, 9, '\P{^SB=lf}', "");
-Expect(1, 10, '\p{SB=-LF}', "");
-Expect(0, 10, '\p{^SB=-LF}', "");
-Expect(0, 10, '\P{SB=-LF}', "");
-Expect(1, 10, '\P{^SB=-LF}', "");
-Expect(0, 9, '\p{SB=-LF}', "");
-Expect(1, 9, '\p{^SB=-LF}', "");
-Expect(1, 9, '\P{SB=-LF}', "");
-Expect(0, 9, '\P{^SB=-LF}', "");
-Error('\p{Is_Sentence_Break=:=_LF}');
-Error('\P{Is_Sentence_Break=:=_LF}');
-Expect(1, 10, '\p{Is_Sentence_Break=lf}', "");
-Expect(0, 10, '\p{^Is_Sentence_Break=lf}', "");
-Expect(0, 10, '\P{Is_Sentence_Break=lf}', "");
-Expect(1, 10, '\P{^Is_Sentence_Break=lf}', "");
-Expect(0, 9, '\p{Is_Sentence_Break=lf}', "");
-Expect(1, 9, '\p{^Is_Sentence_Break=lf}', "");
-Expect(1, 9, '\P{Is_Sentence_Break=lf}', "");
-Expect(0, 9, '\P{^Is_Sentence_Break=lf}', "");
-Expect(1, 10, '\p{Is_Sentence_Break=LF}', "");
-Expect(0, 10, '\p{^Is_Sentence_Break=LF}', "");
-Expect(0, 10, '\P{Is_Sentence_Break=LF}', "");
-Expect(1, 10, '\P{^Is_Sentence_Break=LF}', "");
-Expect(0, 9, '\p{Is_Sentence_Break=LF}', "");
-Expect(1, 9, '\p{^Is_Sentence_Break=LF}', "");
-Expect(1, 9, '\P{Is_Sentence_Break=LF}', "");
-Expect(0, 9, '\P{^Is_Sentence_Break=LF}', "");
-Error('\p{Is_SB=_ lf:=}');
-Error('\P{Is_SB=_ lf:=}');
-Expect(1, 10, '\p{Is_SB=lf}', "");
-Expect(0, 10, '\p{^Is_SB=lf}', "");
-Expect(0, 10, '\P{Is_SB=lf}', "");
-Expect(1, 10, '\P{^Is_SB=lf}', "");
-Expect(0, 9, '\p{Is_SB=lf}', "");
-Expect(1, 9, '\p{^Is_SB=lf}', "");
-Expect(1, 9, '\P{Is_SB=lf}', "");
-Expect(0, 9, '\P{^Is_SB=lf}', "");
-Expect(1, 10, '\p{Is_SB=__lf}', "");
-Expect(0, 10, '\p{^Is_SB=__lf}', "");
-Expect(0, 10, '\P{Is_SB=__lf}', "");
-Expect(1, 10, '\P{^Is_SB=__lf}', "");
-Expect(0, 9, '\p{Is_SB=__lf}', "");
-Expect(1, 9, '\p{^Is_SB=__lf}', "");
-Expect(1, 9, '\P{Is_SB=__lf}', "");
-Expect(0, 9, '\P{^Is_SB=__lf}', "");
-Error('\p{Sentence_Break= :=CLOSE}');
-Error('\P{Sentence_Break= :=CLOSE}');
-Expect(1, 34, '\p{Sentence_Break=close}', "");
-Expect(0, 34, '\p{^Sentence_Break=close}', "");
-Expect(0, 34, '\P{Sentence_Break=close}', "");
-Expect(1, 34, '\P{^Sentence_Break=close}', "");
-Expect(0, 33, '\p{Sentence_Break=close}', "");
-Expect(1, 33, '\p{^Sentence_Break=close}', "");
-Expect(1, 33, '\P{Sentence_Break=close}', "");
-Expect(0, 33, '\P{^Sentence_Break=close}', "");
-Expect(1, 34, '\p{Sentence_Break= CLOSE}', "");
-Expect(0, 34, '\p{^Sentence_Break= CLOSE}', "");
-Expect(0, 34, '\P{Sentence_Break= CLOSE}', "");
-Expect(1, 34, '\P{^Sentence_Break= CLOSE}', "");
-Expect(0, 33, '\p{Sentence_Break= CLOSE}', "");
-Expect(1, 33, '\p{^Sentence_Break= CLOSE}', "");
-Expect(1, 33, '\P{Sentence_Break= CLOSE}', "");
-Expect(0, 33, '\P{^Sentence_Break= CLOSE}', "");
-Error('\p{SB= _CL:=}');
-Error('\P{SB= _CL:=}');
-Expect(1, 34, '\p{SB=cl}', "");
-Expect(0, 34, '\p{^SB=cl}', "");
-Expect(0, 34, '\P{SB=cl}', "");
-Expect(1, 34, '\P{^SB=cl}', "");
-Expect(0, 33, '\p{SB=cl}', "");
-Expect(1, 33, '\p{^SB=cl}', "");
-Expect(1, 33, '\P{SB=cl}', "");
-Expect(0, 33, '\P{^SB=cl}', "");
-Expect(1, 34, '\p{SB= CL}', "");
-Expect(0, 34, '\p{^SB= CL}', "");
-Expect(0, 34, '\P{SB= CL}', "");
-Expect(1, 34, '\P{^SB= CL}', "");
-Expect(0, 33, '\p{SB= CL}', "");
-Expect(1, 33, '\p{^SB= CL}', "");
-Expect(1, 33, '\P{SB= CL}', "");
-Expect(0, 33, '\P{^SB= CL}', "");
-Error('\p{Is_Sentence_Break=-/a/close}');
-Error('\P{Is_Sentence_Break=-/a/close}');
-Expect(1, 34, '\p{Is_Sentence_Break=close}', "");
-Expect(0, 34, '\p{^Is_Sentence_Break=close}', "");
-Expect(0, 34, '\P{Is_Sentence_Break=close}', "");
-Expect(1, 34, '\P{^Is_Sentence_Break=close}', "");
-Expect(0, 33, '\p{Is_Sentence_Break=close}', "");
-Expect(1, 33, '\p{^Is_Sentence_Break=close}', "");
-Expect(1, 33, '\P{Is_Sentence_Break=close}', "");
-Expect(0, 33, '\P{^Is_Sentence_Break=close}', "");
-Expect(1, 34, '\p{Is_Sentence_Break= Close}', "");
-Expect(0, 34, '\p{^Is_Sentence_Break= Close}', "");
-Expect(0, 34, '\P{Is_Sentence_Break= Close}', "");
-Expect(1, 34, '\P{^Is_Sentence_Break= Close}', "");
-Expect(0, 33, '\p{Is_Sentence_Break= Close}', "");
-Expect(1, 33, '\p{^Is_Sentence_Break= Close}', "");
-Expect(1, 33, '\P{Is_Sentence_Break= Close}', "");
-Expect(0, 33, '\P{^Is_Sentence_Break= Close}', "");
-Error('\p{Is_SB=/a/ CL}');
-Error('\P{Is_SB=/a/ CL}');
-Expect(1, 34, '\p{Is_SB: cl}', "");
-Expect(0, 34, '\p{^Is_SB: cl}', "");
-Expect(0, 34, '\P{Is_SB: cl}', "");
-Expect(1, 34, '\P{^Is_SB: cl}', "");
-Expect(0, 33, '\p{Is_SB: cl}', "");
-Expect(1, 33, '\p{^Is_SB: cl}', "");
-Expect(1, 33, '\P{Is_SB: cl}', "");
-Expect(0, 33, '\P{^Is_SB: cl}', "");
-Expect(1, 34, '\p{Is_SB:__CL}', "");
-Expect(0, 34, '\p{^Is_SB:__CL}', "");
-Expect(0, 34, '\P{Is_SB:__CL}', "");
-Expect(1, 34, '\P{^Is_SB:__CL}', "");
-Expect(0, 33, '\p{Is_SB:__CL}', "");
-Expect(1, 33, '\p{^Is_SB:__CL}', "");
-Expect(1, 33, '\P{Is_SB:__CL}', "");
-Expect(0, 33, '\P{^Is_SB:__CL}', "");
-Error('\p{Alphabetic=/a/ yes}');
-Error('\P{Alphabetic=/a/ yes}');
-Expect(1, 90, '\p{Alphabetic=yes}', "");
-Expect(0, 90, '\p{^Alphabetic=yes}', "");
-Expect(0, 90, '\P{Alphabetic=yes}', "");
-Expect(1, 90, '\P{^Alphabetic=yes}', "");
-Expect(0, 64, '\p{Alphabetic=yes}', "");
-Expect(1, 64, '\p{^Alphabetic=yes}', "");
-Expect(1, 64, '\P{Alphabetic=yes}', "");
-Expect(0, 64, '\P{^Alphabetic=yes}', "");
-Expect(1, 90, '\p{Alphabetic: _ Yes}', "");
-Expect(0, 90, '\p{^Alphabetic: _ Yes}', "");
-Expect(0, 90, '\P{Alphabetic: _ Yes}', "");
-Expect(1, 90, '\P{^Alphabetic: _ Yes}', "");
-Expect(0, 64, '\p{Alphabetic: _ Yes}', "");
-Expect(1, 64, '\p{^Alphabetic: _ Yes}', "");
-Expect(1, 64, '\P{Alphabetic: _ Yes}', "");
-Expect(0, 64, '\P{^Alphabetic: _ Yes}', "");
-Error('\p{Alpha=- Y:=}');
-Error('\P{Alpha=- Y:=}');
-Expect(1, 90, '\p{Alpha: y}', "");
-Expect(0, 90, '\p{^Alpha: y}', "");
-Expect(0, 90, '\P{Alpha: y}', "");
-Expect(1, 90, '\P{^Alpha: y}', "");
-Expect(0, 64, '\p{Alpha: y}', "");
-Expect(1, 64, '\p{^Alpha: y}', "");
-Expect(1, 64, '\P{Alpha: y}', "");
-Expect(0, 64, '\P{^Alpha: y}', "");
-Expect(1, 90, '\p{Alpha= -Y}', "");
-Expect(0, 90, '\p{^Alpha= -Y}', "");
-Expect(0, 90, '\P{Alpha= -Y}', "");
-Expect(1, 90, '\P{^Alpha= -Y}', "");
-Expect(0, 64, '\p{Alpha= -Y}', "");
-Expect(1, 64, '\p{^Alpha= -Y}', "");
-Expect(1, 64, '\P{Alpha= -Y}', "");
-Expect(0, 64, '\P{^Alpha= -Y}', "");
-Error('\p{Is_Alphabetic=- T:=}');
-Error('\P{Is_Alphabetic=- T:=}');
-Expect(1, 90, '\p{Is_Alphabetic=t}', "");
-Expect(0, 90, '\p{^Is_Alphabetic=t}', "");
-Expect(0, 90, '\P{Is_Alphabetic=t}', "");
-Expect(1, 90, '\P{^Is_Alphabetic=t}', "");
-Expect(0, 64, '\p{Is_Alphabetic=t}', "");
-Expect(1, 64, '\p{^Is_Alphabetic=t}', "");
-Expect(1, 64, '\P{Is_Alphabetic=t}', "");
-Expect(0, 64, '\P{^Is_Alphabetic=t}', "");
-Expect(1, 90, '\p{Is_Alphabetic= T}', "");
-Expect(0, 90, '\p{^Is_Alphabetic= T}', "");
-Expect(0, 90, '\P{Is_Alphabetic= T}', "");
-Expect(1, 90, '\P{^Is_Alphabetic= T}', "");
-Expect(0, 64, '\p{Is_Alphabetic= T}', "");
-Expect(1, 64, '\p{^Is_Alphabetic= T}', "");
-Expect(1, 64, '\P{Is_Alphabetic= T}', "");
-Expect(0, 64, '\P{^Is_Alphabetic= T}', "");
-Error('\p{Is_Alpha=/a/ true}');
-Error('\P{Is_Alpha=/a/ true}');
-Expect(1, 90, '\p{Is_Alpha=true}', "");
-Expect(0, 90, '\p{^Is_Alpha=true}', "");
-Expect(0, 90, '\P{Is_Alpha=true}', "");
-Expect(1, 90, '\P{^Is_Alpha=true}', "");
-Expect(0, 64, '\p{Is_Alpha=true}', "");
-Expect(1, 64, '\p{^Is_Alpha=true}', "");
-Expect(1, 64, '\P{Is_Alpha=true}', "");
-Expect(0, 64, '\P{^Is_Alpha=true}', "");
-Expect(1, 90, '\p{Is_Alpha: _ True}', "");
-Expect(0, 90, '\p{^Is_Alpha: _ True}', "");
-Expect(0, 90, '\P{Is_Alpha: _ True}', "");
-Expect(1, 90, '\P{^Is_Alpha: _ True}', "");
-Expect(0, 64, '\p{Is_Alpha: _ True}', "");
-Expect(1, 64, '\p{^Is_Alpha: _ True}', "");
-Expect(1, 64, '\P{Is_Alpha: _ True}', "");
-Expect(0, 64, '\P{^Is_Alpha: _ True}', "");
-Error('\p{Alphabetic= No/a/}');
-Error('\P{Alphabetic= No/a/}');
-Expect(1, 64, '\p{Alphabetic=no}', "");
-Expect(0, 64, '\p{^Alphabetic=no}', "");
-Expect(0, 64, '\P{Alphabetic=no}', "");
-Expect(1, 64, '\P{^Alphabetic=no}', "");
-Expect(0, 90, '\p{Alphabetic=no}', "");
-Expect(1, 90, '\p{^Alphabetic=no}', "");
-Expect(1, 90, '\P{Alphabetic=no}', "");
-Expect(0, 90, '\P{^Alphabetic=no}', "");
-Expect(1, 64, '\p{Alphabetic= _no}', "");
-Expect(0, 64, '\p{^Alphabetic= _no}', "");
-Expect(0, 64, '\P{Alphabetic= _no}', "");
-Expect(1, 64, '\P{^Alphabetic= _no}', "");
-Expect(0, 90, '\p{Alphabetic= _no}', "");
-Expect(1, 90, '\p{^Alphabetic= _no}', "");
-Expect(1, 90, '\P{Alphabetic= _no}', "");
-Expect(0, 90, '\P{^Alphabetic= _no}', "");
-Error('\p{Alpha=:=_-N}');
-Error('\P{Alpha=:=_-N}');
-Expect(1, 64, '\p{Alpha=n}', "");
-Expect(0, 64, '\p{^Alpha=n}', "");
-Expect(0, 64, '\P{Alpha=n}', "");
-Expect(1, 64, '\P{^Alpha=n}', "");
-Expect(0, 90, '\p{Alpha=n}', "");
-Expect(1, 90, '\p{^Alpha=n}', "");
-Expect(1, 90, '\P{Alpha=n}', "");
-Expect(0, 90, '\P{^Alpha=n}', "");
-Expect(1, 64, '\p{Alpha=_-N}', "");
-Expect(0, 64, '\p{^Alpha=_-N}', "");
-Expect(0, 64, '\P{Alpha=_-N}', "");
-Expect(1, 64, '\P{^Alpha=_-N}', "");
-Expect(0, 90, '\p{Alpha=_-N}', "");
-Expect(1, 90, '\p{^Alpha=_-N}', "");
-Expect(1, 90, '\P{Alpha=_-N}', "");
-Expect(0, 90, '\P{^Alpha=_-N}', "");
-Error('\p{Is_Alphabetic: :=-F}');
-Error('\P{Is_Alphabetic: :=-F}');
-Expect(1, 64, '\p{Is_Alphabetic:f}', "");
-Expect(0, 64, '\p{^Is_Alphabetic:f}', "");
-Expect(0, 64, '\P{Is_Alphabetic:f}', "");
-Expect(1, 64, '\P{^Is_Alphabetic:f}', "");
-Expect(0, 90, '\p{Is_Alphabetic:f}', "");
-Expect(1, 90, '\p{^Is_Alphabetic:f}', "");
-Expect(1, 90, '\P{Is_Alphabetic:f}', "");
-Expect(0, 90, '\P{^Is_Alphabetic:f}', "");
-Expect(1, 64, '\p{Is_Alphabetic= F}', "");
-Expect(0, 64, '\p{^Is_Alphabetic= F}', "");
-Expect(0, 64, '\P{Is_Alphabetic= F}', "");
-Expect(1, 64, '\P{^Is_Alphabetic= F}', "");
-Expect(0, 90, '\p{Is_Alphabetic= F}', "");
-Expect(1, 90, '\p{^Is_Alphabetic= F}', "");
-Expect(1, 90, '\P{Is_Alphabetic= F}', "");
-Expect(0, 90, '\P{^Is_Alphabetic= F}', "");
-Error('\p{Is_Alpha=_ FALSE:=}');
-Error('\P{Is_Alpha=_ FALSE:=}');
-Expect(1, 64, '\p{Is_Alpha=false}', "");
-Expect(0, 64, '\p{^Is_Alpha=false}', "");
-Expect(0, 64, '\P{Is_Alpha=false}', "");
-Expect(1, 64, '\P{^Is_Alpha=false}', "");
-Expect(0, 90, '\p{Is_Alpha=false}', "");
-Expect(1, 90, '\p{^Is_Alpha=false}', "");
-Expect(1, 90, '\P{Is_Alpha=false}', "");
-Expect(0, 90, '\P{^Is_Alpha=false}', "");
-Expect(1, 64, '\p{Is_Alpha: false}', "");
-Expect(0, 64, '\p{^Is_Alpha: false}', "");
-Expect(0, 64, '\P{Is_Alpha: false}', "");
-Expect(1, 64, '\P{^Is_Alpha: false}', "");
-Expect(0, 90, '\p{Is_Alpha: false}', "");
-Expect(1, 90, '\p{^Is_Alpha: false}', "");
-Expect(1, 90, '\P{Is_Alpha: false}', "");
-Expect(0, 90, '\P{^Is_Alpha: false}', "");
-Error('\p{Hex_Digit= /a/yes}');
-Error('\P{Hex_Digit= /a/yes}');
-Expect(1, 57, '\p{Hex_Digit=yes}', "");
-Expect(0, 57, '\p{^Hex_Digit=yes}', "");
-Expect(0, 57, '\P{Hex_Digit=yes}', "");
-Expect(1, 57, '\P{^Hex_Digit=yes}', "");
-Expect(0, 47, '\p{Hex_Digit=yes}', "");
-Expect(1, 47, '\p{^Hex_Digit=yes}', "");
-Expect(1, 47, '\P{Hex_Digit=yes}', "");
-Expect(0, 47, '\P{^Hex_Digit=yes}', "");
-Expect(1, 57, '\p{Hex_Digit= yes}', "");
-Expect(0, 57, '\p{^Hex_Digit= yes}', "");
-Expect(0, 57, '\P{Hex_Digit= yes}', "");
-Expect(1, 57, '\P{^Hex_Digit= yes}', "");
-Expect(0, 47, '\p{Hex_Digit= yes}', "");
-Expect(1, 47, '\p{^Hex_Digit= yes}', "");
-Expect(1, 47, '\P{Hex_Digit= yes}', "");
-Expect(0, 47, '\P{^Hex_Digit= yes}', "");
-Error('\p{Hex= :=Y}');
-Error('\P{Hex= :=Y}');
-Expect(1, 57, '\p{Hex=y}', "");
-Expect(0, 57, '\p{^Hex=y}', "");
-Expect(0, 57, '\P{Hex=y}', "");
-Expect(1, 57, '\P{^Hex=y}', "");
-Expect(0, 47, '\p{Hex=y}', "");
-Expect(1, 47, '\p{^Hex=y}', "");
-Expect(1, 47, '\P{Hex=y}', "");
-Expect(0, 47, '\P{^Hex=y}', "");
-Expect(1, 57, '\p{Hex= Y}', "");
-Expect(0, 57, '\p{^Hex= Y}', "");
-Expect(0, 57, '\P{Hex= Y}', "");
-Expect(1, 57, '\P{^Hex= Y}', "");
-Expect(0, 47, '\p{Hex= Y}', "");
-Expect(1, 47, '\p{^Hex= Y}', "");
-Expect(1, 47, '\P{Hex= Y}', "");
-Expect(0, 47, '\P{^Hex= Y}', "");
-Error('\p{Is_Hex_Digit=:= T}');
-Error('\P{Is_Hex_Digit=:= T}');
-Expect(1, 57, '\p{Is_Hex_Digit=t}', "");
-Expect(0, 57, '\p{^Is_Hex_Digit=t}', "");
-Expect(0, 57, '\P{Is_Hex_Digit=t}', "");
-Expect(1, 57, '\P{^Is_Hex_Digit=t}', "");
-Expect(0, 47, '\p{Is_Hex_Digit=t}', "");
-Expect(1, 47, '\p{^Is_Hex_Digit=t}', "");
-Expect(1, 47, '\P{Is_Hex_Digit=t}', "");
-Expect(0, 47, '\P{^Is_Hex_Digit=t}', "");
-Expect(1, 57, '\p{Is_Hex_Digit= t}', "");
-Expect(0, 57, '\p{^Is_Hex_Digit= t}', "");
-Expect(0, 57, '\P{Is_Hex_Digit= t}', "");
-Expect(1, 57, '\P{^Is_Hex_Digit= t}', "");
-Expect(0, 47, '\p{Is_Hex_Digit= t}', "");
-Expect(1, 47, '\p{^Is_Hex_Digit= t}', "");
-Expect(1, 47, '\P{Is_Hex_Digit= t}', "");
-Expect(0, 47, '\P{^Is_Hex_Digit= t}', "");
-Error('\p{Is_Hex= :=TRUE}');
-Error('\P{Is_Hex= :=TRUE}');
-Expect(1, 57, '\p{Is_Hex=true}', "");
-Expect(0, 57, '\p{^Is_Hex=true}', "");
-Expect(0, 57, '\P{Is_Hex=true}', "");
-Expect(1, 57, '\P{^Is_Hex=true}', "");
-Expect(0, 47, '\p{Is_Hex=true}', "");
-Expect(1, 47, '\p{^Is_Hex=true}', "");
-Expect(1, 47, '\P{Is_Hex=true}', "");
-Expect(0, 47, '\P{^Is_Hex=true}', "");
-Expect(1, 57, '\p{Is_Hex= _TRUE}', "");
-Expect(0, 57, '\p{^Is_Hex= _TRUE}', "");
-Expect(0, 57, '\P{Is_Hex= _TRUE}', "");
-Expect(1, 57, '\P{^Is_Hex= _TRUE}', "");
-Expect(0, 47, '\p{Is_Hex= _TRUE}', "");
-Expect(1, 47, '\p{^Is_Hex= _TRUE}', "");
-Expect(1, 47, '\P{Is_Hex= _TRUE}', "");
-Expect(0, 47, '\P{^Is_Hex= _TRUE}', "");
-Error('\p{Hex_Digit=--no/a/}');
-Error('\P{Hex_Digit=--no/a/}');
-Expect(1, 47, '\p{Hex_Digit=no}', "");
-Expect(0, 47, '\p{^Hex_Digit=no}', "");
-Expect(0, 47, '\P{Hex_Digit=no}', "");
-Expect(1, 47, '\P{^Hex_Digit=no}', "");
-Expect(0, 57, '\p{Hex_Digit=no}', "");
-Expect(1, 57, '\p{^Hex_Digit=no}', "");
-Expect(1, 57, '\P{Hex_Digit=no}', "");
-Expect(0, 57, '\P{^Hex_Digit=no}', "");
-Expect(1, 47, '\p{Hex_Digit=__NO}', "");
-Expect(0, 47, '\p{^Hex_Digit=__NO}', "");
-Expect(0, 47, '\P{Hex_Digit=__NO}', "");
-Expect(1, 47, '\P{^Hex_Digit=__NO}', "");
-Expect(0, 57, '\p{Hex_Digit=__NO}', "");
-Expect(1, 57, '\p{^Hex_Digit=__NO}', "");
-Expect(1, 57, '\P{Hex_Digit=__NO}', "");
-Expect(0, 57, '\P{^Hex_Digit=__NO}', "");
-Error('\p{Hex=/a/ N}');
-Error('\P{Hex=/a/ N}');
-Expect(1, 47, '\p{Hex=n}', "");
-Expect(0, 47, '\p{^Hex=n}', "");
-Expect(0, 47, '\P{Hex=n}', "");
-Expect(1, 47, '\P{^Hex=n}', "");
-Expect(0, 57, '\p{Hex=n}', "");
-Expect(1, 57, '\p{^Hex=n}', "");
-Expect(1, 57, '\P{Hex=n}', "");
-Expect(0, 57, '\P{^Hex=n}', "");
-Expect(1, 47, '\p{Hex=N}', "");
-Expect(0, 47, '\p{^Hex=N}', "");
-Expect(0, 47, '\P{Hex=N}', "");
-Expect(1, 47, '\P{^Hex=N}', "");
-Expect(0, 57, '\p{Hex=N}', "");
-Expect(1, 57, '\p{^Hex=N}', "");
-Expect(1, 57, '\P{Hex=N}', "");
-Expect(0, 57, '\P{^Hex=N}', "");
-Error('\p{Is_Hex_Digit= :=F}');
-Error('\P{Is_Hex_Digit= :=F}');
-Expect(1, 47, '\p{Is_Hex_Digit=f}', "");
-Expect(0, 47, '\p{^Is_Hex_Digit=f}', "");
-Expect(0, 47, '\P{Is_Hex_Digit=f}', "");
-Expect(1, 47, '\P{^Is_Hex_Digit=f}', "");
-Expect(0, 57, '\p{Is_Hex_Digit=f}', "");
-Expect(1, 57, '\p{^Is_Hex_Digit=f}', "");
-Expect(1, 57, '\P{Is_Hex_Digit=f}', "");
-Expect(0, 57, '\P{^Is_Hex_Digit=f}', "");
-Expect(1, 47, '\p{Is_Hex_Digit= F}', "");
-Expect(0, 47, '\p{^Is_Hex_Digit= F}', "");
-Expect(0, 47, '\P{Is_Hex_Digit= F}', "");
-Expect(1, 47, '\P{^Is_Hex_Digit= F}', "");
-Expect(0, 57, '\p{Is_Hex_Digit= F}', "");
-Expect(1, 57, '\p{^Is_Hex_Digit= F}', "");
-Expect(1, 57, '\P{Is_Hex_Digit= F}', "");
-Expect(0, 57, '\P{^Is_Hex_Digit= F}', "");
-Error('\p{Is_Hex=/a/_ False}');
-Error('\P{Is_Hex=/a/_ False}');
-Expect(1, 47, '\p{Is_Hex: false}', "");
-Expect(0, 47, '\p{^Is_Hex: false}', "");
-Expect(0, 47, '\P{Is_Hex: false}', "");
-Expect(1, 47, '\P{^Is_Hex: false}', "");
-Expect(0, 57, '\p{Is_Hex: false}', "");
-Expect(1, 57, '\p{^Is_Hex: false}', "");
-Expect(1, 57, '\P{Is_Hex: false}', "");
-Expect(0, 57, '\P{^Is_Hex: false}', "");
-Expect(1, 47, '\p{Is_Hex= false}', "");
-Expect(0, 47, '\p{^Is_Hex= false}', "");
-Expect(0, 47, '\P{Is_Hex= false}', "");
-Expect(1, 47, '\P{^Is_Hex= false}', "");
-Expect(0, 57, '\p{Is_Hex= false}', "");
-Expect(1, 57, '\p{^Is_Hex= false}', "");
-Expect(1, 57, '\P{Is_Hex= false}', "");
-Expect(0, 57, '\P{^Is_Hex= false}', "");
-Error('\p{Canonical_Combining_Class: _+0/a/0 0-0_0_0 0_0 32}');
-Error('\P{Canonical_Combining_Class: _+0/a/0 0-0_0_0 0_0 32}');
-Expect(1, 1562, '\p{Canonical_Combining_Class=0000032}', "");
-Expect(0, 1562, '\p{^Canonical_Combining_Class=0000032}', "");
-Expect(0, 1562, '\P{Canonical_Combining_Class=0000032}', "");
-Expect(1, 1562, '\P{^Canonical_Combining_Class=0000032}', "");
-Expect(0, 1561, '\p{Canonical_Combining_Class=0000032}', "");
-Expect(1, 1561, '\p{^Canonical_Combining_Class=0000032}', "");
-Expect(1, 1561, '\P{Canonical_Combining_Class=0000032}', "");
-Expect(0, 1561, '\P{^Canonical_Combining_Class=0000032}', "");
-Error('\p{Ccc= 003:=2}');
-Error('\P{Ccc= 003:=2}');
-Expect(1, 1562, '\p{Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(0, 1562, '\p{^Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(0, 1562, '\P{Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(1, 1562, '\P{^Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(0, 1561, '\p{Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(1, 1561, '\p{^Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(1, 1561, '\P{Ccc=0_0_0_0_0_0_0_0_032}', "");
-Expect(0, 1561, '\P{^Ccc=0_0_0_0_0_0_0_0_032}', "");
-Error('\p{Is_Canonical_Combining_Class= /a/00000 00003 2}');
-Error('\P{Is_Canonical_Combining_Class= /a/00000 00003 2}');
-Expect(1, 1562, '\p{Is_Canonical_Combining_Class=0000000032}', "");
-Expect(0, 1562, '\p{^Is_Canonical_Combining_Class=0000000032}', "");
-Expect(0, 1562, '\P{Is_Canonical_Combining_Class=0000000032}', "");
-Expect(1, 1562, '\P{^Is_Canonical_Combining_Class=0000000032}', "");
-Expect(0, 1561, '\p{Is_Canonical_Combining_Class=0000000032}', "");
-Expect(1, 1561, '\p{^Is_Canonical_Combining_Class=0000000032}', "");
-Expect(1, 1561, '\P{Is_Canonical_Combining_Class=0000000032}', "");
-Expect(0, 1561, '\P{^Is_Canonical_Combining_Class=0000000032}', "");
-Error('\p{Is_Ccc= :=3 2}');
-Error('\P{Is_Ccc= :=3 2}');
-Expect(1, 1562, '\p{Is_Ccc=000000032}', "");
-Expect(0, 1562, '\p{^Is_Ccc=000000032}', "");
-Expect(0, 1562, '\P{Is_Ccc=000000032}', "");
-Expect(1, 1562, '\P{^Is_Ccc=000000032}', "");
-Expect(0, 1561, '\p{Is_Ccc=000000032}', "");
-Expect(1, 1561, '\p{^Is_Ccc=000000032}', "");
-Expect(1, 1561, '\P{Is_Ccc=000000032}', "");
-Expect(0, 1561, '\P{^Is_Ccc=000000032}', "");
-Error('\p{Canonical_Combining_Class=-0118:=}');
-Error('\P{Canonical_Combining_Class=-0118:=}');
-Expect(1, 3769, '\p{Canonical_Combining_Class=00118}', "");
-Expect(0, 3769, '\p{^Canonical_Combining_Class=00118}', "");
-Expect(0, 3769, '\P{Canonical_Combining_Class=00118}', "");
-Expect(1, 3769, '\P{^Canonical_Combining_Class=00118}', "");
-Expect(0, 3767, '\p{Canonical_Combining_Class=00118}', "");
-Expect(1, 3767, '\p{^Canonical_Combining_Class=00118}', "");
-Expect(1, 3767, '\P{Canonical_Combining_Class=00118}', "");
-Expect(0, 3767, '\P{^Canonical_Combining_Class=00118}', "");
-Error('\p{Ccc: := 0118}');
-Error('\P{Ccc: := 0118}');
-Expect(1, 3769, '\p{Ccc=0_0_0_0_0_0118}', "");
-Expect(0, 3769, '\p{^Ccc=0_0_0_0_0_0118}', "");
-Expect(0, 3769, '\P{Ccc=0_0_0_0_0_0118}', "");
-Expect(1, 3769, '\P{^Ccc=0_0_0_0_0_0118}', "");
-Expect(0, 3767, '\p{Ccc=0_0_0_0_0_0118}', "");
-Expect(1, 3767, '\p{^Ccc=0_0_0_0_0_0118}', "");
-Expect(1, 3767, '\P{Ccc=0_0_0_0_0_0118}', "");
-Expect(0, 3767, '\P{^Ccc=0_0_0_0_0_0118}', "");
-Error('\p{Is_Canonical_Combining_Class=-_00118/a/}');
-Error('\P{Is_Canonical_Combining_Class=-_00118/a/}');
-Expect(1, 3769, '\p{Is_Canonical_Combining_Class=118}', "");
-Expect(0, 3769, '\p{^Is_Canonical_Combining_Class=118}', "");
-Expect(0, 3769, '\P{Is_Canonical_Combining_Class=118}', "");
-Expect(1, 3769, '\P{^Is_Canonical_Combining_Class=118}', "");
-Expect(0, 3767, '\p{Is_Canonical_Combining_Class=118}', "");
-Expect(1, 3767, '\p{^Is_Canonical_Combining_Class=118}', "");
-Expect(1, 3767, '\P{Is_Canonical_Combining_Class=118}', "");
-Expect(0, 3767, '\P{^Is_Canonical_Combining_Class=118}', "");
-Error('\p{Is_Ccc=_:=+0118}');
-Error('\P{Is_Ccc=_:=+0118}');
-Expect(1, 3769, '\p{Is_Ccc=0_1_18}', "");
-Expect(0, 3769, '\p{^Is_Ccc=0_1_18}', "");
-Expect(0, 3769, '\P{Is_Ccc=0_1_18}', "");
-Expect(1, 3769, '\P{^Is_Ccc=0_1_18}', "");
-Expect(0, 3767, '\p{Is_Ccc=0_1_18}', "");
-Expect(1, 3767, '\p{^Is_Ccc=0_1_18}', "");
-Expect(1, 3767, '\P{Is_Ccc=0_1_18}', "");
-Expect(0, 3767, '\P{^Is_Ccc=0_1_18}', "");
-Error('\p{Canonical_Combining_Class=--doubleAbove:=}');
-Error('\P{Canonical_Combining_Class=--doubleAbove:=}');
-Expect(1, 862, '\p{Canonical_Combining_Class=doubleabove}', "");
-Expect(0, 862, '\p{^Canonical_Combining_Class=doubleabove}', "");
-Expect(0, 862, '\P{Canonical_Combining_Class=doubleabove}', "");
-Expect(1, 862, '\P{^Canonical_Combining_Class=doubleabove}', "");
-Expect(0, 860, '\p{Canonical_Combining_Class=doubleabove}', "");
-Expect(1, 860, '\p{^Canonical_Combining_Class=doubleabove}', "");
-Expect(1, 860, '\P{Canonical_Combining_Class=doubleabove}', "");
-Expect(0, 860, '\P{^Canonical_Combining_Class=doubleabove}', "");
-Expect(1, 862, '\p{Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(0, 862, '\p{^Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(0, 862, '\P{Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(1, 862, '\P{^Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(0, 860, '\p{Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(1, 860, '\p{^Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(1, 860, '\P{Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Expect(0, 860, '\P{^Canonical_Combining_Class: DOUBLE ABOVE}', "");
-Error('\p{Ccc=:= DA}');
-Error('\P{Ccc=:= DA}');
-Expect(1, 862, '\p{Ccc=da}', "");
-Expect(0, 862, '\p{^Ccc=da}', "");
-Expect(0, 862, '\P{Ccc=da}', "");
-Expect(1, 862, '\P{^Ccc=da}', "");
-Expect(0, 860, '\p{Ccc=da}', "");
-Expect(1, 860, '\p{^Ccc=da}', "");
-Expect(1, 860, '\P{Ccc=da}', "");
-Expect(0, 860, '\P{^Ccc=da}', "");
-Expect(1, 862, '\p{Ccc= DA}', "");
-Expect(0, 862, '\p{^Ccc= DA}', "");
-Expect(0, 862, '\P{Ccc= DA}', "");
-Expect(1, 862, '\P{^Ccc= DA}', "");
-Expect(0, 860, '\p{Ccc= DA}', "");
-Expect(1, 860, '\p{^Ccc= DA}', "");
-Expect(1, 860, '\P{Ccc= DA}', "");
-Expect(0, 860, '\P{^Ccc= DA}', "");
-Error('\p{Is_Canonical_Combining_Class=_ 00234/a/}');
-Error('\P{Is_Canonical_Combining_Class=_ 00234/a/}');
-Expect(1, 862, '\p{Is_Canonical_Combining_Class=23_4}', "");
-Expect(0, 862, '\p{^Is_Canonical_Combining_Class=23_4}', "");
-Expect(0, 862, '\P{Is_Canonical_Combining_Class=23_4}', "");
-Expect(1, 862, '\P{^Is_Canonical_Combining_Class=23_4}', "");
-Expect(0, 860, '\p{Is_Canonical_Combining_Class=23_4}', "");
-Expect(1, 860, '\p{^Is_Canonical_Combining_Class=23_4}', "");
-Expect(1, 860, '\P{Is_Canonical_Combining_Class=23_4}', "");
-Expect(0, 860, '\P{^Is_Canonical_Combining_Class=23_4}', "");
-Error('\p{Is_Ccc=_/a/double_ABOVE}');
-Error('\P{Is_Ccc=_/a/double_ABOVE}');
-Expect(1, 862, '\p{Is_Ccc=doubleabove}', "");
-Expect(0, 862, '\p{^Is_Ccc=doubleabove}', "");
-Expect(0, 862, '\P{Is_Ccc=doubleabove}', "");
-Expect(1, 862, '\P{^Is_Ccc=doubleabove}', "");
-Expect(0, 860, '\p{Is_Ccc=doubleabove}', "");
-Expect(1, 860, '\p{^Is_Ccc=doubleabove}', "");
-Expect(1, 860, '\P{Is_Ccc=doubleabove}', "");
-Expect(0, 860, '\P{^Is_Ccc=doubleabove}', "");
-Expect(1, 862, '\p{Is_Ccc=_Double ABOVE}', "");
-Expect(0, 862, '\p{^Is_Ccc=_Double ABOVE}', "");
-Expect(0, 862, '\P{Is_Ccc=_Double ABOVE}', "");
-Expect(1, 862, '\P{^Is_Ccc=_Double ABOVE}', "");
-Expect(0, 860, '\p{Is_Ccc=_Double ABOVE}', "");
-Expect(1, 860, '\p{^Is_Ccc=_Double ABOVE}', "");
-Expect(1, 860, '\P{Is_Ccc=_Double ABOVE}', "");
-Expect(0, 860, '\P{^Is_Ccc=_Double ABOVE}', "");
-Error('\p{Canonical_Combining_Class= Attached-below:=Left}');
-Error('\P{Canonical_Combining_Class= Attached-below:=Left}');
-Expect(0, 1, '\p{Canonical_Combining_Class=attachedbelowleft}', "");
-Expect(1, 1, '\p{^Canonical_Combining_Class=attachedbelowleft}', "");
-Expect(1, 1, '\P{Canonical_Combining_Class=attachedbelowleft}', "");
-Expect(0, 1, '\P{^Canonical_Combining_Class=attachedbelowleft}', "");
-Expect(0, 1, '\p{Canonical_Combining_Class=attached_below left}', "");
-Expect(1, 1, '\p{^Canonical_Combining_Class=attached_below left}', "");
-Expect(1, 1, '\P{Canonical_Combining_Class=attached_below left}', "");
-Expect(0, 1, '\P{^Canonical_Combining_Class=attached_below left}', "");
-Error('\p{Ccc=ATBL/a/}');
-Error('\P{Ccc=ATBL/a/}');
-Expect(0, 1, '\p{Ccc=atbl}', "");
-Expect(1, 1, '\p{^Ccc=atbl}', "");
-Expect(1, 1, '\P{Ccc=atbl}', "");
-Expect(0, 1, '\P{^Ccc=atbl}', "");
-Expect(0, 1, '\p{Ccc= ATBL}', "");
-Expect(1, 1, '\p{^Ccc= ATBL}', "");
-Expect(1, 1, '\P{Ccc= ATBL}', "");
-Expect(0, 1, '\P{^Ccc= ATBL}', "");
-Error('\p{Is_Canonical_Combining_Class: :=-0000000200}');
-Error('\P{Is_Canonical_Combining_Class: :=-0000000200}');
-Expect(0, 1, '\p{Is_Canonical_Combining_Class=00_20_0}', "");
-Expect(1, 1, '\p{^Is_Canonical_Combining_Class=00_20_0}', "");
-Expect(1, 1, '\P{Is_Canonical_Combining_Class=00_20_0}', "");
-Expect(0, 1, '\P{^Is_Canonical_Combining_Class=00_20_0}', "");
-Error('\p{Is_Ccc= attached:=BELOW-left}');
-Error('\P{Is_Ccc= attached:=BELOW-left}');
-Expect(0, 1, '\p{Is_Ccc=attachedbelowleft}', "");
-Expect(1, 1, '\p{^Is_Ccc=attachedbelowleft}', "");
-Expect(1, 1, '\P{Is_Ccc=attachedbelowleft}', "");
-Expect(0, 1, '\P{^Is_Ccc=attachedbelowleft}', "");
-Expect(0, 1, '\p{Is_Ccc=--attached_Below LEFT}', "");
-Expect(1, 1, '\p{^Is_Ccc=--attached_Below LEFT}', "");
-Expect(1, 1, '\P{Is_Ccc=--attached_Below LEFT}', "");
-Expect(0, 1, '\P{^Is_Ccc=--attached_Below LEFT}', "");
-Error('\p{Canonical_Combining_Class=:= _00000000018}');
-Error('\P{Canonical_Combining_Class=:= _00000000018}');
-Expect(1, 1464, '\p{Canonical_Combining_Class=000_001_8}', "");
-Expect(0, 1464, '\p{^Canonical_Combining_Class=000_001_8}', "");
-Expect(0, 1464, '\P{Canonical_Combining_Class=000_001_8}', "");
-Expect(1, 1464, '\P{^Canonical_Combining_Class=000_001_8}', "");
-Expect(0, 1463, '\p{Canonical_Combining_Class=000_001_8}', "");
-Expect(1, 1463, '\p{^Canonical_Combining_Class=000_001_8}', "");
-Expect(1, 1463, '\P{Canonical_Combining_Class=000_001_8}', "");
-Expect(0, 1463, '\P{^Canonical_Combining_Class=000_001_8}', "");
-Error('\p{Ccc: +0:=0 0 0_00 0-0_0_18}');
-Error('\P{Ccc: +0:=0 0 0_00 0-0_0_18}');
-Expect(1, 1464, '\p{Ccc=00000001_8}', "");
-Expect(0, 1464, '\p{^Ccc=00000001_8}', "");
-Expect(0, 1464, '\P{Ccc=00000001_8}', "");
-Expect(1, 1464, '\P{^Ccc=00000001_8}', "");
-Expect(0, 1463, '\p{Ccc=00000001_8}', "");
-Expect(1, 1463, '\p{^Ccc=00000001_8}', "");
-Expect(1, 1463, '\P{Ccc=00000001_8}', "");
-Expect(0, 1463, '\P{^Ccc=00000001_8}', "");
-Error('\p{Is_Canonical_Combining_Class=/a/+18}');
-Error('\P{Is_Canonical_Combining_Class=/a/+18}');
-Expect(1, 1464, '\p{Is_Canonical_Combining_Class=00000000018}', "");
-Expect(0, 1464, '\p{^Is_Canonical_Combining_Class=00000000018}', "");
-Expect(0, 1464, '\P{Is_Canonical_Combining_Class=00000000018}', "");
-Expect(1, 1464, '\P{^Is_Canonical_Combining_Class=00000000018}', "");
-Expect(0, 1463, '\p{Is_Canonical_Combining_Class=00000000018}', "");
-Expect(1, 1463, '\p{^Is_Canonical_Combining_Class=00000000018}', "");
-Expect(1, 1463, '\P{Is_Canonical_Combining_Class=00000000018}', "");
-Expect(0, 1463, '\P{^Is_Canonical_Combining_Class=00000000018}', "");
-Error('\p{Is_Ccc=_/a/0001 8}');
-Error('\P{Is_Ccc=_/a/0001 8}');
-Expect(1, 1464, '\p{Is_Ccc=+00018}', "");
-Expect(0, 1464, '\p{^Is_Ccc=+00018}', "");
-Expect(0, 1464, '\P{Is_Ccc=+00018}', "");
-Expect(1, 1464, '\P{^Is_Ccc=+00018}', "");
-Expect(0, 1463, '\p{Is_Ccc=+00018}', "");
-Expect(1, 1463, '\p{^Is_Ccc=+00018}', "");
-Expect(1, 1463, '\P{Is_Ccc=+00018}', "");
-Expect(0, 1463, '\P{^Is_Ccc=+00018}', "");
-Error('\p{Canonical_Combining_Class= /a/+00 00 00 00 01 6}');
-Error('\P{Canonical_Combining_Class= /a/+00 00 00 00 01 6}');
-Expect(1, 1462, '\p{Canonical_Combining_Class=001_6}', "");
-Expect(0, 1462, '\p{^Canonical_Combining_Class=001_6}', "");
-Expect(0, 1462, '\P{Canonical_Combining_Class=001_6}', "");
-Expect(1, 1462, '\P{^Canonical_Combining_Class=001_6}', "");
-Expect(0, 1461, '\p{Canonical_Combining_Class=001_6}', "");
-Expect(1, 1461, '\p{^Canonical_Combining_Class=001_6}', "");
-Expect(1, 1461, '\P{Canonical_Combining_Class=001_6}', "");
-Expect(0, 1461, '\P{^Canonical_Combining_Class=001_6}', "");
-Error('\p{Ccc=_:=000000016}');
-Error('\P{Ccc=_:=000000016}');
-Expect(1, 1462, '\p{Ccc=00016}', "");
-Expect(0, 1462, '\p{^Ccc=00016}', "");
-Expect(0, 1462, '\P{Ccc=00016}', "");
-Expect(1, 1462, '\P{^Ccc=00016}', "");
-Expect(0, 1461, '\p{Ccc=00016}', "");
-Expect(1, 1461, '\p{^Ccc=00016}', "");
-Expect(1, 1461, '\P{Ccc=00016}', "");
-Expect(0, 1461, '\P{^Ccc=00016}', "");
-Error('\p{Is_Canonical_Combining_Class=_/a/+000 000-000-16}');
-Error('\P{Is_Canonical_Combining_Class=_/a/+000 000-000-16}');
-Expect(1, 1462, '\p{Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(0, 1462, '\p{^Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(0, 1462, '\P{Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(1, 1462, '\P{^Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(0, 1461, '\p{Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(1, 1461, '\p{^Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(1, 1461, '\P{Is_Canonical_Combining_Class=0000_0001_6}', "");
-Expect(0, 1461, '\P{^Is_Canonical_Combining_Class=0000_0001_6}', "");
-Error('\p{Is_Ccc=_ +0/a/0 0-016}');
-Error('\P{Is_Ccc=_ +0/a/0 0-016}');
-Expect(1, 1462, '\p{Is_Ccc: 001_6}', "");
-Expect(0, 1462, '\p{^Is_Ccc: 001_6}', "");
-Expect(0, 1462, '\P{Is_Ccc: 001_6}', "");
-Expect(1, 1462, '\P{^Is_Ccc: 001_6}', "");
-Expect(0, 1461, '\p{Is_Ccc: 001_6}', "");
-Expect(1, 1461, '\p{^Is_Ccc: 001_6}', "");
-Expect(1, 1461, '\P{Is_Ccc: 001_6}', "");
-Expect(0, 1461, '\P{^Is_Ccc: 001_6}', "");
-Error('\p{Canonical_Combining_Class= 000000084:=}');
-Error('\P{Canonical_Combining_Class= 000000084:=}');
-Expect(1, 3157, '\p{Canonical_Combining_Class=8_4}', "");
-Expect(0, 3157, '\p{^Canonical_Combining_Class=8_4}', "");
-Expect(0, 3157, '\P{Canonical_Combining_Class=8_4}', "");
-Expect(1, 3157, '\P{^Canonical_Combining_Class=8_4}', "");
-Expect(0, 3156, '\p{Canonical_Combining_Class=8_4}', "");
-Expect(1, 3156, '\p{^Canonical_Combining_Class=8_4}', "");
-Expect(1, 3156, '\P{Canonical_Combining_Class=8_4}', "");
-Expect(0, 3156, '\P{^Canonical_Combining_Class=8_4}', "");
-Error('\p{Ccc: _ 0:=0-0 0 0-0 084}');
-Error('\P{Ccc: _ 0:=0-0 0 0-0 084}');
-Expect(1, 3157, '\p{Ccc=0084}', "");
-Expect(0, 3157, '\p{^Ccc=0084}', "");
-Expect(0, 3157, '\P{Ccc=0084}', "");
-Expect(1, 3157, '\P{^Ccc=0084}', "");
-Expect(0, 3156, '\p{Ccc=0084}', "");
-Expect(1, 3156, '\p{^Ccc=0084}', "");
-Expect(1, 3156, '\P{Ccc=0084}', "");
-Expect(0, 3156, '\P{^Ccc=0084}', "");
-Error('\p{Is_Canonical_Combining_Class=:=_000000084}');
-Error('\P{Is_Canonical_Combining_Class=:=_000000084}');
-Expect(1, 3157, '\p{Is_Canonical_Combining_Class=+0084}', "");
-Expect(0, 3157, '\p{^Is_Canonical_Combining_Class=+0084}', "");
-Expect(0, 3157, '\P{Is_Canonical_Combining_Class=+0084}', "");
-Expect(1, 3157, '\P{^Is_Canonical_Combining_Class=+0084}', "");
-Expect(0, 3156, '\p{Is_Canonical_Combining_Class=+0084}', "");
-Expect(1, 3156, '\p{^Is_Canonical_Combining_Class=+0084}', "");
-Expect(1, 3156, '\P{Is_Canonical_Combining_Class=+0084}', "");
-Expect(0, 3156, '\P{^Is_Canonical_Combining_Class=+0084}', "");
-Error('\p{Is_Ccc= 0000084:=}');
-Error('\P{Is_Ccc= 0000084:=}');
-Expect(1, 3157, '\p{Is_Ccc=+84}', "");
-Expect(0, 3157, '\p{^Is_Ccc=+84}', "");
-Expect(0, 3157, '\P{Is_Ccc=+84}', "");
-Expect(1, 3157, '\P{^Is_Ccc=+84}', "");
-Expect(0, 3156, '\p{Is_Ccc=+84}', "");
-Expect(1, 3156, '\p{^Is_Ccc=+84}', "");
-Expect(1, 3156, '\P{Is_Ccc=+84}', "");
-Expect(0, 3156, '\P{^Is_Ccc=+84}', "");
-Error('\p{Canonical_Combining_Class= :=000027}');
-Error('\P{Canonical_Combining_Class= :=000027}');
-Expect(1, 1611, '\p{Canonical_Combining_Class=+000_000_27}', "");
-Expect(0, 1611, '\p{^Canonical_Combining_Class=+000_000_27}', "");
-Expect(0, 1611, '\P{Canonical_Combining_Class=+000_000_27}', "");
-Expect(1, 1611, '\P{^Canonical_Combining_Class=+000_000_27}', "");
-Expect(0, 1610, '\p{Canonical_Combining_Class=+000_000_27}', "");
-Expect(1, 1610, '\p{^Canonical_Combining_Class=+000_000_27}', "");
-Expect(1, 1610, '\P{Canonical_Combining_Class=+000_000_27}', "");
-Expect(0, 1610, '\P{^Canonical_Combining_Class=+000_000_27}', "");
-Error('\p{Ccc= :=0000-27}');
-Error('\P{Ccc= :=0000-27}');
-Expect(1, 1611, '\p{Ccc: +027}', "");
-Expect(0, 1611, '\p{^Ccc: +027}', "");
-Expect(0, 1611, '\P{Ccc: +027}', "");
-Expect(1, 1611, '\P{^Ccc: +027}', "");
-Expect(0, 1610, '\p{Ccc: +027}', "");
-Expect(1, 1610, '\p{^Ccc: +027}', "");
-Expect(1, 1610, '\P{Ccc: +027}', "");
-Expect(0, 1610, '\P{^Ccc: +027}', "");
-Error('\p{Is_Canonical_Combining_Class= -0:=0_00 0_00 0_027}');
-Error('\P{Is_Canonical_Combining_Class= -0:=0_00 0_00 0_027}');
-Expect(1, 1611, '\p{Is_Canonical_Combining_Class=2_7}', "");
-Expect(0, 1611, '\p{^Is_Canonical_Combining_Class=2_7}', "");
-Expect(0, 1611, '\P{Is_Canonical_Combining_Class=2_7}', "");
-Expect(1, 1611, '\P{^Is_Canonical_Combining_Class=2_7}', "");
-Expect(0, 1610, '\p{Is_Canonical_Combining_Class=2_7}', "");
-Expect(1, 1610, '\p{^Is_Canonical_Combining_Class=2_7}', "");
-Expect(1, 1610, '\P{Is_Canonical_Combining_Class=2_7}', "");
-Expect(0, 1610, '\P{^Is_Canonical_Combining_Class=2_7}', "");
-Error('\p{Is_Ccc= :=+000002-7}');
-Error('\P{Is_Ccc= :=+000002-7}');
-Expect(1, 1611, '\p{Is_Ccc=+00_00_27}', "");
-Expect(0, 1611, '\p{^Is_Ccc=+00_00_27}', "");
-Expect(0, 1611, '\P{Is_Ccc=+00_00_27}', "");
-Expect(1, 1611, '\P{^Is_Ccc=+00_00_27}', "");
-Expect(0, 1610, '\p{Is_Ccc=+00_00_27}', "");
-Expect(1, 1610, '\p{^Is_Ccc=+00_00_27}', "");
-Expect(1, 1610, '\P{Is_Ccc=+00_00_27}', "");
-Expect(0, 1610, '\P{^Is_Ccc=+00_00_27}', "");
-Error('\p{Canonical_Combining_Class= _DOUBLEbelow:=}');
-Error('\P{Canonical_Combining_Class= _DOUBLEbelow:=}');
-Expect(1, 860, '\p{Canonical_Combining_Class=doublebelow}', "");
-Expect(0, 860, '\p{^Canonical_Combining_Class=doublebelow}', "");
-Expect(0, 860, '\P{Canonical_Combining_Class=doublebelow}', "");
-Expect(1, 860, '\P{^Canonical_Combining_Class=doublebelow}', "");
-Expect(0, 859, '\p{Canonical_Combining_Class=doublebelow}', "");
-Expect(1, 859, '\p{^Canonical_Combining_Class=doublebelow}', "");
-Expect(1, 859, '\P{Canonical_Combining_Class=doublebelow}', "");
-Expect(0, 859, '\P{^Canonical_Combining_Class=doublebelow}', "");
-Expect(1, 860, '\p{Canonical_Combining_Class=_double_below}', "");
-Expect(0, 860, '\p{^Canonical_Combining_Class=_double_below}', "");
-Expect(0, 860, '\P{Canonical_Combining_Class=_double_below}', "");
-Expect(1, 860, '\P{^Canonical_Combining_Class=_double_below}', "");
-Expect(0, 859, '\p{Canonical_Combining_Class=_double_below}', "");
-Expect(1, 859, '\p{^Canonical_Combining_Class=_double_below}', "");
-Expect(1, 859, '\P{Canonical_Combining_Class=_double_below}', "");
-Expect(0, 859, '\P{^Canonical_Combining_Class=_double_below}', "");
-Error('\p{Ccc=-/a/db}');
-Error('\P{Ccc=-/a/db}');
-Expect(1, 860, '\p{Ccc=db}', "");
-Expect(0, 860, '\p{^Ccc=db}', "");
-Expect(0, 860, '\P{Ccc=db}', "");
-Expect(1, 860, '\P{^Ccc=db}', "");
-Expect(0, 859, '\p{Ccc=db}', "");
-Expect(1, 859, '\p{^Ccc=db}', "");
-Expect(1, 859, '\P{Ccc=db}', "");
-Expect(0, 859, '\P{^Ccc=db}', "");
-Expect(1, 860, '\p{Ccc=_ DB}', "");
-Expect(0, 860, '\p{^Ccc=_ DB}', "");
-Expect(0, 860, '\P{Ccc=_ DB}', "");
-Expect(1, 860, '\P{^Ccc=_ DB}', "");
-Expect(0, 859, '\p{Ccc=_ DB}', "");
-Expect(1, 859, '\p{^Ccc=_ DB}', "");
-Expect(1, 859, '\P{Ccc=_ DB}', "");
-Expect(0, 859, '\P{^Ccc=_ DB}', "");
-Error('\p{Is_Canonical_Combining_Class: _+00233:=}');
-Error('\P{Is_Canonical_Combining_Class: _+00233:=}');
-Expect(1, 860, '\p{Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(0, 860, '\p{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(0, 860, '\P{Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(1, 860, '\P{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(0, 859, '\p{Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(1, 859, '\p{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(1, 859, '\P{Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Expect(0, 859, '\P{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_000233}', "");
-Error('\p{Is_Ccc=DOUBLE/a/Below}');
-Error('\P{Is_Ccc=DOUBLE/a/Below}');
-Expect(1, 860, '\p{Is_Ccc=doublebelow}', "");
-Expect(0, 860, '\p{^Is_Ccc=doublebelow}', "");
-Expect(0, 860, '\P{Is_Ccc=doublebelow}', "");
-Expect(1, 860, '\P{^Is_Ccc=doublebelow}', "");
-Expect(0, 859, '\p{Is_Ccc=doublebelow}', "");
-Expect(1, 859, '\p{^Is_Ccc=doublebelow}', "");
-Expect(1, 859, '\P{Is_Ccc=doublebelow}', "");
-Expect(0, 859, '\P{^Is_Ccc=doublebelow}', "");
-Expect(1, 860, '\p{Is_Ccc=- Double-BELOW}', "");
-Expect(0, 860, '\p{^Is_Ccc=- Double-BELOW}', "");
-Expect(0, 860, '\P{Is_Ccc=- Double-BELOW}', "");
-Expect(1, 860, '\P{^Is_Ccc=- Double-BELOW}', "");
-Expect(0, 859, '\p{Is_Ccc=- Double-BELOW}', "");
-Expect(1, 859, '\p{^Is_Ccc=- Double-BELOW}', "");
-Expect(1, 859, '\P{Is_Ccc=- Double-BELOW}', "");
-Expect(0, 859, '\P{^Is_Ccc=- Double-BELOW}', "");
-Error('\p{Canonical_Combining_Class:/a/ -Below RIGHT}');
-Error('\P{Canonical_Combining_Class:/a/ -Below RIGHT}');
-Expect(1, 1434, '\p{Canonical_Combining_Class=belowright}', "");
-Expect(0, 1434, '\p{^Canonical_Combining_Class=belowright}', "");
-Expect(0, 1434, '\P{Canonical_Combining_Class=belowright}', "");
-Expect(1, 1434, '\P{^Canonical_Combining_Class=belowright}', "");
-Expect(0, 1433, '\p{Canonical_Combining_Class=belowright}', "");
-Expect(1, 1433, '\p{^Canonical_Combining_Class=belowright}', "");
-Expect(1, 1433, '\P{Canonical_Combining_Class=belowright}', "");
-Expect(0, 1433, '\P{^Canonical_Combining_Class=belowright}', "");
-Expect(1, 1434, '\p{Canonical_Combining_Class=-BELOW_right}', "");
-Expect(0, 1434, '\p{^Canonical_Combining_Class=-BELOW_right}', "");
-Expect(0, 1434, '\P{Canonical_Combining_Class=-BELOW_right}', "");
-Expect(1, 1434, '\P{^Canonical_Combining_Class=-BELOW_right}', "");
-Expect(0, 1433, '\p{Canonical_Combining_Class=-BELOW_right}', "");
-Expect(1, 1433, '\p{^Canonical_Combining_Class=-BELOW_right}', "");
-Expect(1, 1433, '\P{Canonical_Combining_Class=-BELOW_right}', "");
-Expect(0, 1433, '\P{^Canonical_Combining_Class=-BELOW_right}', "");
-Error('\p{Ccc=-:=BR}');
-Error('\P{Ccc=-:=BR}');
-Expect(1, 1434, '\p{Ccc: br}', "");
-Expect(0, 1434, '\p{^Ccc: br}', "");
-Expect(0, 1434, '\P{Ccc: br}', "");
-Expect(1, 1434, '\P{^Ccc: br}', "");
-Expect(0, 1433, '\p{Ccc: br}', "");
-Expect(1, 1433, '\p{^Ccc: br}', "");
-Expect(1, 1433, '\P{Ccc: br}', "");
-Expect(0, 1433, '\P{^Ccc: br}', "");
-Expect(1, 1434, '\p{Ccc= _br}', "");
-Expect(0, 1434, '\p{^Ccc= _br}', "");
-Expect(0, 1434, '\P{Ccc= _br}', "");
-Expect(1, 1434, '\P{^Ccc= _br}', "");
-Expect(0, 1433, '\p{Ccc= _br}', "");
-Expect(1, 1433, '\p{^Ccc= _br}', "");
-Expect(1, 1433, '\P{Ccc= _br}', "");
-Expect(0, 1433, '\P{^Ccc= _br}', "");
-Error('\p{Is_Canonical_Combining_Class::=-_0222}');
-Error('\P{Is_Canonical_Combining_Class::=-_0222}');
-Expect(1, 1434, '\p{Is_Canonical_Combining_Class=000222}', "");
-Expect(0, 1434, '\p{^Is_Canonical_Combining_Class=000222}', "");
-Expect(0, 1434, '\P{Is_Canonical_Combining_Class=000222}', "");
-Expect(1, 1434, '\P{^Is_Canonical_Combining_Class=000222}', "");
-Expect(0, 1433, '\p{Is_Canonical_Combining_Class=000222}', "");
-Expect(1, 1433, '\p{^Is_Canonical_Combining_Class=000222}', "");
-Expect(1, 1433, '\P{Is_Canonical_Combining_Class=000222}', "");
-Expect(0, 1433, '\P{^Is_Canonical_Combining_Class=000222}', "");
-Error('\p{Is_Ccc= below/a/Right}');
-Error('\P{Is_Ccc= below/a/Right}');
-Expect(1, 1434, '\p{Is_Ccc=belowright}', "");
-Expect(0, 1434, '\p{^Is_Ccc=belowright}', "");
-Expect(0, 1434, '\P{Is_Ccc=belowright}', "");
-Expect(1, 1434, '\P{^Is_Ccc=belowright}', "");
-Expect(0, 1433, '\p{Is_Ccc=belowright}', "");
-Expect(1, 1433, '\p{^Is_Ccc=belowright}', "");
-Expect(1, 1433, '\P{Is_Ccc=belowright}', "");
-Expect(0, 1433, '\P{^Is_Ccc=belowright}', "");
-Expect(1, 1434, '\p{Is_Ccc=-Below Right}', "");
-Expect(0, 1434, '\p{^Is_Ccc=-Below Right}', "");
-Expect(0, 1434, '\P{Is_Ccc=-Below Right}', "");
-Expect(1, 1434, '\P{^Is_Ccc=-Below Right}', "");
-Expect(0, 1433, '\p{Is_Ccc=-Below Right}', "");
-Expect(1, 1433, '\p{^Is_Ccc=-Below Right}', "");
-Expect(1, 1433, '\P{Is_Ccc=-Below Right}', "");
-Expect(0, 1433, '\P{^Is_Ccc=-Below Right}', "");
-Error('\p{Canonical_Combining_Class=_ KANA:=VOICING}');
-Error('\P{Canonical_Combining_Class=_ KANA:=VOICING}');
-Expect(1, 12442, '\p{Canonical_Combining_Class=kanavoicing}', "");
-Expect(0, 12442, '\p{^Canonical_Combining_Class=kanavoicing}', "");
-Expect(0, 12442, '\P{Canonical_Combining_Class=kanavoicing}', "");
-Expect(1, 12442, '\P{^Canonical_Combining_Class=kanavoicing}', "");
-Expect(0, 12440, '\p{Canonical_Combining_Class=kanavoicing}', "");
-Expect(1, 12440, '\p{^Canonical_Combining_Class=kanavoicing}', "");
-Expect(1, 12440, '\P{Canonical_Combining_Class=kanavoicing}', "");
-Expect(0, 12440, '\P{^Canonical_Combining_Class=kanavoicing}', "");
-Expect(1, 12442, '\p{Canonical_Combining_Class=__kana Voicing}', "");
-Expect(0, 12442, '\p{^Canonical_Combining_Class=__kana Voicing}', "");
-Expect(0, 12442, '\P{Canonical_Combining_Class=__kana Voicing}', "");
-Expect(1, 12442, '\P{^Canonical_Combining_Class=__kana Voicing}', "");
-Expect(0, 12440, '\p{Canonical_Combining_Class=__kana Voicing}', "");
-Expect(1, 12440, '\p{^Canonical_Combining_Class=__kana Voicing}', "");
-Expect(1, 12440, '\P{Canonical_Combining_Class=__kana Voicing}', "");
-Expect(0, 12440, '\P{^Canonical_Combining_Class=__kana Voicing}', "");
-Error('\p{Ccc=:=KV}');
-Error('\P{Ccc=:=KV}');
-Expect(1, 12442, '\p{Ccc=kv}', "");
-Expect(0, 12442, '\p{^Ccc=kv}', "");
-Expect(0, 12442, '\P{Ccc=kv}', "");
-Expect(1, 12442, '\P{^Ccc=kv}', "");
-Expect(0, 12440, '\p{Ccc=kv}', "");
-Expect(1, 12440, '\p{^Ccc=kv}', "");
-Expect(1, 12440, '\P{Ccc=kv}', "");
-Expect(0, 12440, '\P{^Ccc=kv}', "");
-Expect(1, 12442, '\p{Ccc= -KV}', "");
-Expect(0, 12442, '\p{^Ccc= -KV}', "");
-Expect(0, 12442, '\P{Ccc= -KV}', "");
-Expect(1, 12442, '\P{^Ccc= -KV}', "");
-Expect(0, 12440, '\p{Ccc= -KV}', "");
-Expect(1, 12440, '\p{^Ccc= -KV}', "");
-Expect(1, 12440, '\P{Ccc= -KV}', "");
-Expect(0, 12440, '\P{^Ccc= -KV}', "");
-Error('\p{Is_Canonical_Combining_Class: :=_000008}');
-Error('\P{Is_Canonical_Combining_Class: :=_000008}');
-Expect(1, 12442, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(0, 12442, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(0, 12442, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(1, 12442, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(0, 12440, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(1, 12440, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(1, 12440, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Expect(0, 12440, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_08}', "");
-Error('\p{Is_Ccc: -kana:=VOICING}');
-Error('\P{Is_Ccc: -kana:=VOICING}');
-Expect(1, 12442, '\p{Is_Ccc=kanavoicing}', "");
-Expect(0, 12442, '\p{^Is_Ccc=kanavoicing}', "");
-Expect(0, 12442, '\P{Is_Ccc=kanavoicing}', "");
-Expect(1, 12442, '\P{^Is_Ccc=kanavoicing}', "");
-Expect(0, 12440, '\p{Is_Ccc=kanavoicing}', "");
-Expect(1, 12440, '\p{^Is_Ccc=kanavoicing}', "");
-Expect(1, 12440, '\P{Is_Ccc=kanavoicing}', "");
-Expect(0, 12440, '\P{^Is_Ccc=kanavoicing}', "");
-Expect(1, 12442, '\p{Is_Ccc= Kana-voicing}', "");
-Expect(0, 12442, '\p{^Is_Ccc= Kana-voicing}', "");
-Expect(0, 12442, '\P{Is_Ccc= Kana-voicing}', "");
-Expect(1, 12442, '\P{^Is_Ccc= Kana-voicing}', "");
-Expect(0, 12440, '\p{Is_Ccc= Kana-voicing}', "");
-Expect(1, 12440, '\p{^Is_Ccc= Kana-voicing}', "");
-Expect(1, 12440, '\P{Is_Ccc= Kana-voicing}', "");
-Expect(0, 12440, '\P{^Is_Ccc= Kana-voicing}', "");
-Error('\p{Canonical_Combining_Class= /a/below}');
-Error('\P{Canonical_Combining_Class= /a/below}');
-Expect(1, 793, '\p{Canonical_Combining_Class=below}', "");
-Expect(0, 793, '\p{^Canonical_Combining_Class=below}', "");
-Expect(0, 793, '\P{Canonical_Combining_Class=below}', "");
-Expect(1, 793, '\P{^Canonical_Combining_Class=below}', "");
-Expect(0, 789, '\p{Canonical_Combining_Class=below}', "");
-Expect(1, 789, '\p{^Canonical_Combining_Class=below}', "");
-Expect(1, 789, '\P{Canonical_Combining_Class=below}', "");
-Expect(0, 789, '\P{^Canonical_Combining_Class=below}', "");
-Expect(1, 793, '\p{Canonical_Combining_Class: BELOW}', "");
-Expect(0, 793, '\p{^Canonical_Combining_Class: BELOW}', "");
-Expect(0, 793, '\P{Canonical_Combining_Class: BELOW}', "");
-Expect(1, 793, '\P{^Canonical_Combining_Class: BELOW}', "");
-Expect(0, 789, '\p{Canonical_Combining_Class: BELOW}', "");
-Expect(1, 789, '\p{^Canonical_Combining_Class: BELOW}', "");
-Expect(1, 789, '\P{Canonical_Combining_Class: BELOW}', "");
-Expect(0, 789, '\P{^Canonical_Combining_Class: BELOW}', "");
-Error('\p{Ccc= B/a/}');
-Error('\P{Ccc= B/a/}');
-Expect(1, 793, '\p{Ccc=b}', "");
-Expect(0, 793, '\p{^Ccc=b}', "");
-Expect(0, 793, '\P{Ccc=b}', "");
-Expect(1, 793, '\P{^Ccc=b}', "");
-Expect(0, 789, '\p{Ccc=b}', "");
-Expect(1, 789, '\p{^Ccc=b}', "");
-Expect(1, 789, '\P{Ccc=b}', "");
-Expect(0, 789, '\P{^Ccc=b}', "");
-Expect(1, 793, '\p{Ccc: _B}', "");
-Expect(0, 793, '\p{^Ccc: _B}', "");
-Expect(0, 793, '\P{Ccc: _B}', "");
-Expect(1, 793, '\P{^Ccc: _B}', "");
-Expect(0, 789, '\p{Ccc: _B}', "");
-Expect(1, 789, '\p{^Ccc: _B}', "");
-Expect(1, 789, '\P{Ccc: _B}', "");
-Expect(0, 789, '\P{^Ccc: _B}', "");
-Error('\p{Is_Canonical_Combining_Class=-_0:=00 0 0 0-2 20}');
-Error('\P{Is_Canonical_Combining_Class=-_0:=00 0 0 0-2 20}');
-Expect(1, 793, '\p{Is_Canonical_Combining_Class=00220}', "");
-Expect(0, 793, '\p{^Is_Canonical_Combining_Class=00220}', "");
-Expect(0, 793, '\P{Is_Canonical_Combining_Class=00220}', "");
-Expect(1, 793, '\P{^Is_Canonical_Combining_Class=00220}', "");
-Expect(0, 789, '\p{Is_Canonical_Combining_Class=00220}', "");
-Expect(1, 789, '\p{^Is_Canonical_Combining_Class=00220}', "");
-Expect(1, 789, '\P{Is_Canonical_Combining_Class=00220}', "");
-Expect(0, 789, '\P{^Is_Canonical_Combining_Class=00220}', "");
-Error('\p{Is_Ccc=--Below/a/}');
-Error('\P{Is_Ccc=--Below/a/}');
-Expect(1, 793, '\p{Is_Ccc=below}', "");
-Expect(0, 793, '\p{^Is_Ccc=below}', "");
-Expect(0, 793, '\P{Is_Ccc=below}', "");
-Expect(1, 793, '\P{^Is_Ccc=below}', "");
-Expect(0, 789, '\p{Is_Ccc=below}', "");
-Expect(1, 789, '\p{^Is_Ccc=below}', "");
-Expect(1, 789, '\P{Is_Ccc=below}', "");
-Expect(0, 789, '\P{^Is_Ccc=below}', "");
-Expect(1, 793, '\p{Is_Ccc= Below}', "");
-Expect(0, 793, '\p{^Is_Ccc= Below}', "");
-Expect(0, 793, '\P{Is_Ccc= Below}', "");
-Expect(1, 793, '\P{^Is_Ccc= Below}', "");
-Expect(0, 789, '\p{Is_Ccc= Below}', "");
-Expect(1, 789, '\p{^Is_Ccc= Below}', "");
-Expect(1, 789, '\P{Is_Ccc= Below}', "");
-Expect(0, 789, '\P{^Is_Ccc= Below}', "");
-Error('\p{Canonical_Combining_Class=_:=02-0}');
-Error('\P{Canonical_Combining_Class=_:=02-0}');
-Expect(1, 1467, '\p{Canonical_Combining_Class: 0020}', "");
-Expect(0, 1467, '\p{^Canonical_Combining_Class: 0020}', "");
-Expect(0, 1467, '\P{Canonical_Combining_Class: 0020}', "");
-Expect(1, 1467, '\P{^Canonical_Combining_Class: 0020}', "");
-Expect(0, 1466, '\p{Canonical_Combining_Class: 0020}', "");
-Expect(1, 1466, '\p{^Canonical_Combining_Class: 0020}', "");
-Expect(1, 1466, '\P{Canonical_Combining_Class: 0020}', "");
-Expect(0, 1466, '\P{^Canonical_Combining_Class: 0020}', "");
-Error('\p{Ccc=/a/_00000020}');
-Error('\P{Ccc=/a/_00000020}');
-Expect(1, 1467, '\p{Ccc=+0_0_0_0_0020}', "");
-Expect(0, 1467, '\p{^Ccc=+0_0_0_0_0020}', "");
-Expect(0, 1467, '\P{Ccc=+0_0_0_0_0020}', "");
-Expect(1, 1467, '\P{^Ccc=+0_0_0_0_0020}', "");
-Expect(0, 1466, '\p{Ccc=+0_0_0_0_0020}', "");
-Expect(1, 1466, '\p{^Ccc=+0_0_0_0_0020}', "");
-Expect(1, 1466, '\P{Ccc=+0_0_0_0_0020}', "");
-Expect(0, 1466, '\P{^Ccc=+0_0_0_0_0020}', "");
-Error('\p{Is_Canonical_Combining_Class=- 00 00_00-00:=20}');
-Error('\P{Is_Canonical_Combining_Class=- 00 00_00-00:=20}');
-Expect(1, 1467, '\p{Is_Canonical_Combining_Class=00000020}', "");
-Expect(0, 1467, '\p{^Is_Canonical_Combining_Class=00000020}', "");
-Expect(0, 1467, '\P{Is_Canonical_Combining_Class=00000020}', "");
-Expect(1, 1467, '\P{^Is_Canonical_Combining_Class=00000020}', "");
-Expect(0, 1466, '\p{Is_Canonical_Combining_Class=00000020}', "");
-Expect(1, 1466, '\p{^Is_Canonical_Combining_Class=00000020}', "");
-Expect(1, 1466, '\P{Is_Canonical_Combining_Class=00000020}', "");
-Expect(0, 1466, '\P{^Is_Canonical_Combining_Class=00000020}', "");
-Error('\p{Is_Ccc=/a/_ 20}');
-Error('\P{Is_Ccc=/a/_ 20}');
-Expect(1, 1467, '\p{Is_Ccc=0_0_20}', "");
-Expect(0, 1467, '\p{^Is_Ccc=0_0_20}', "");
-Expect(0, 1467, '\P{Is_Ccc=0_0_20}', "");
-Expect(1, 1467, '\P{^Is_Ccc=0_0_20}', "");
-Expect(0, 1466, '\p{Is_Ccc=0_0_20}', "");
-Expect(1, 1466, '\p{^Is_Ccc=0_0_20}', "");
-Expect(1, 1466, '\P{Is_Ccc=0_0_20}', "");
-Expect(0, 1466, '\P{^Is_Ccc=0_0_20}', "");
-Error('\p{Canonical_Combining_Class: Attached Aboveright:=}');
-Error('\P{Canonical_Combining_Class: Attached Aboveright:=}');
-Expect(1, 795, '\p{Canonical_Combining_Class=attachedaboveright}', "");
-Expect(0, 795, '\p{^Canonical_Combining_Class=attachedaboveright}', "");
-Expect(0, 795, '\P{Canonical_Combining_Class=attachedaboveright}', "");
-Expect(1, 795, '\P{^Canonical_Combining_Class=attachedaboveright}', "");
-Expect(0, 794, '\p{Canonical_Combining_Class=attachedaboveright}', "");
-Expect(1, 794, '\p{^Canonical_Combining_Class=attachedaboveright}', "");
-Expect(1, 794, '\P{Canonical_Combining_Class=attachedaboveright}', "");
-Expect(0, 794, '\P{^Canonical_Combining_Class=attachedaboveright}', "");
-Expect(1, 795, '\p{Canonical_Combining_Class= Attached above Right}', "");
-Expect(0, 795, '\p{^Canonical_Combining_Class= Attached above Right}', "");
-Expect(0, 795, '\P{Canonical_Combining_Class= Attached above Right}', "");
-Expect(1, 795, '\P{^Canonical_Combining_Class= Attached above Right}', "");
-Expect(0, 794, '\p{Canonical_Combining_Class= Attached above Right}', "");
-Expect(1, 794, '\p{^Canonical_Combining_Class= Attached above Right}', "");
-Expect(1, 794, '\P{Canonical_Combining_Class= Attached above Right}', "");
-Expect(0, 794, '\P{^Canonical_Combining_Class= Attached above Right}', "");
-Error('\p{Ccc=_ ATAR/a/}');
-Error('\P{Ccc=_ ATAR/a/}');
-Expect(1, 795, '\p{Ccc=atar}', "");
-Expect(0, 795, '\p{^Ccc=atar}', "");
-Expect(0, 795, '\P{Ccc=atar}', "");
-Expect(1, 795, '\P{^Ccc=atar}', "");
-Expect(0, 794, '\p{Ccc=atar}', "");
-Expect(1, 794, '\p{^Ccc=atar}', "");
-Expect(1, 794, '\P{Ccc=atar}', "");
-Expect(0, 794, '\P{^Ccc=atar}', "");
-Expect(1, 795, '\p{Ccc=_atar}', "");
-Expect(0, 795, '\p{^Ccc=_atar}', "");
-Expect(0, 795, '\P{Ccc=_atar}', "");
-Expect(1, 795, '\P{^Ccc=_atar}', "");
-Expect(0, 794, '\p{Ccc=_atar}', "");
-Expect(1, 794, '\p{^Ccc=_atar}', "");
-Expect(1, 794, '\P{Ccc=_atar}', "");
-Expect(0, 794, '\P{^Ccc=_atar}', "");
-Error('\p{Is_Canonical_Combining_Class= /a/+0 0 0 0 0 00-00216}');
-Error('\P{Is_Canonical_Combining_Class= /a/+0 0 0 0 0 00-00216}');
-Expect(1, 795, '\p{Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(0, 795, '\p{^Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(0, 795, '\P{Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(1, 795, '\P{^Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(0, 794, '\p{Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(1, 794, '\p{^Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(1, 794, '\P{Is_Canonical_Combining_Class=00_00_00_216}', "");
-Expect(0, 794, '\P{^Is_Canonical_Combining_Class=00_00_00_216}', "");
-Error('\p{Is_Ccc=-/a/Attached-Above Right}');
-Error('\P{Is_Ccc=-/a/Attached-Above Right}');
-Expect(1, 795, '\p{Is_Ccc=attachedaboveright}', "");
-Expect(0, 795, '\p{^Is_Ccc=attachedaboveright}', "");
-Expect(0, 795, '\P{Is_Ccc=attachedaboveright}', "");
-Expect(1, 795, '\P{^Is_Ccc=attachedaboveright}', "");
-Expect(0, 794, '\p{Is_Ccc=attachedaboveright}', "");
-Expect(1, 794, '\p{^Is_Ccc=attachedaboveright}', "");
-Expect(1, 794, '\P{Is_Ccc=attachedaboveright}', "");
-Expect(0, 794, '\P{^Is_Ccc=attachedaboveright}', "");
-Expect(1, 795, '\p{Is_Ccc=_ Attached Above Right}', "");
-Expect(0, 795, '\p{^Is_Ccc=_ Attached Above Right}', "");
-Expect(0, 795, '\P{Is_Ccc=_ Attached Above Right}', "");
-Expect(1, 795, '\P{^Is_Ccc=_ Attached Above Right}', "");
-Expect(0, 794, '\p{Is_Ccc=_ Attached Above Right}', "");
-Expect(1, 794, '\p{^Is_Ccc=_ Attached Above Right}', "");
-Expect(1, 794, '\P{Is_Ccc=_ Attached Above Right}', "");
-Expect(0, 794, '\P{^Is_Ccc=_ Attached Above Right}', "");
-Error('\p{Canonical_Combining_Class=-/a/+00-00_00-31}');
-Error('\P{Canonical_Combining_Class=-/a/+00-00_00-31}');
-Expect(1, 1561, '\p{Canonical_Combining_Class: 0003_1}', "");
-Expect(0, 1561, '\p{^Canonical_Combining_Class: 0003_1}', "");
-Expect(0, 1561, '\P{Canonical_Combining_Class: 0003_1}', "");
-Expect(1, 1561, '\P{^Canonical_Combining_Class: 0003_1}', "");
-Expect(0, 1560, '\p{Canonical_Combining_Class: 0003_1}', "");
-Expect(1, 1560, '\p{^Canonical_Combining_Class: 0003_1}', "");
-Expect(1, 1560, '\P{Canonical_Combining_Class: 0003_1}', "");
-Expect(0, 1560, '\P{^Canonical_Combining_Class: 0003_1}', "");
-Error('\p{Ccc=_-00 0 0 000:=031}');
-Error('\P{Ccc=_-00 0 0 000:=031}');
-Expect(1, 1561, '\p{Ccc: 031}', "");
-Expect(0, 1561, '\p{^Ccc: 031}', "");
-Expect(0, 1561, '\P{Ccc: 031}', "");
-Expect(1, 1561, '\P{^Ccc: 031}', "");
-Expect(0, 1560, '\p{Ccc: 031}', "");
-Expect(1, 1560, '\p{^Ccc: 031}', "");
-Expect(1, 1560, '\P{Ccc: 031}', "");
-Expect(0, 1560, '\P{^Ccc: 031}', "");
-Error('\p{Is_Canonical_Combining_Class=_ 031:=}');
-Error('\P{Is_Canonical_Combining_Class=_ 031:=}');
-Expect(1, 1561, '\p{Is_Canonical_Combining_Class=0031}', "");
-Expect(0, 1561, '\p{^Is_Canonical_Combining_Class=0031}', "");
-Expect(0, 1561, '\P{Is_Canonical_Combining_Class=0031}', "");
-Expect(1, 1561, '\P{^Is_Canonical_Combining_Class=0031}', "");
-Expect(0, 1560, '\p{Is_Canonical_Combining_Class=0031}', "");
-Expect(1, 1560, '\p{^Is_Canonical_Combining_Class=0031}', "");
-Expect(1, 1560, '\P{Is_Canonical_Combining_Class=0031}', "");
-Expect(0, 1560, '\P{^Is_Canonical_Combining_Class=0031}', "");
-Error('\p{Is_Ccc= -0 0 0 0/a/00031}');
-Error('\P{Is_Ccc= -0 0 0 0/a/00031}');
-Expect(1, 1561, '\p{Is_Ccc=00031}', "");
-Expect(0, 1561, '\p{^Is_Ccc=00031}', "");
-Expect(0, 1561, '\P{Is_Ccc=00031}', "");
-Expect(1, 1561, '\P{^Is_Ccc=00031}', "");
-Expect(0, 1560, '\p{Is_Ccc=00031}', "");
-Expect(1, 1560, '\p{^Is_Ccc=00031}', "");
-Expect(1, 1560, '\P{Is_Ccc=00031}', "");
-Expect(0, 1560, '\P{^Is_Ccc=00031}', "");
-Error('\p{Canonical_Combining_Class= /a/0035}');
-Error('\P{Canonical_Combining_Class= /a/0035}');
-Expect(1, 1648, '\p{Canonical_Combining_Class: 35}', "");
-Expect(0, 1648, '\p{^Canonical_Combining_Class: 35}', "");
-Expect(0, 1648, '\P{Canonical_Combining_Class: 35}', "");
-Expect(1, 1648, '\P{^Canonical_Combining_Class: 35}', "");
-Expect(0, 1647, '\p{Canonical_Combining_Class: 35}', "");
-Expect(1, 1647, '\p{^Canonical_Combining_Class: 35}', "");
-Expect(1, 1647, '\P{Canonical_Combining_Class: 35}', "");
-Expect(0, 1647, '\P{^Canonical_Combining_Class: 35}', "");
-Error('\p{Ccc=- +0000000035:=}');
-Error('\P{Ccc=- +0000000035:=}');
-Expect(1, 1648, '\p{Ccc=0000000035}', "");
-Expect(0, 1648, '\p{^Ccc=0000000035}', "");
-Expect(0, 1648, '\P{Ccc=0000000035}', "");
-Expect(1, 1648, '\P{^Ccc=0000000035}', "");
-Expect(0, 1647, '\p{Ccc=0000000035}', "");
-Expect(1, 1647, '\p{^Ccc=0000000035}', "");
-Expect(1, 1647, '\P{Ccc=0000000035}', "");
-Expect(0, 1647, '\P{^Ccc=0000000035}', "");
-Error('\p{Is_Canonical_Combining_Class= -00:=0-035}');
-Error('\P{Is_Canonical_Combining_Class= -00:=0-035}');
-Expect(1, 1648, '\p{Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(0, 1648, '\p{^Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(0, 1648, '\P{Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(1, 1648, '\P{^Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(0, 1647, '\p{Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(1, 1647, '\p{^Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(1, 1647, '\P{Is_Canonical_Combining_Class=00_00_03_5}', "");
-Expect(0, 1647, '\P{^Is_Canonical_Combining_Class=00_00_03_5}', "");
-Error('\p{Is_Ccc=/a/ 000000035}');
-Error('\P{Is_Ccc=/a/ 000000035}');
-Expect(1, 1648, '\p{Is_Ccc=+000035}', "");
-Expect(0, 1648, '\p{^Is_Ccc=+000035}', "");
-Expect(0, 1648, '\P{Is_Ccc=+000035}', "");
-Expect(1, 1648, '\P{^Is_Ccc=+000035}', "");
-Expect(0, 1647, '\p{Is_Ccc=+000035}', "");
-Expect(1, 1647, '\p{^Is_Ccc=+000035}', "");
-Expect(1, 1647, '\P{Is_Ccc=+000035}', "");
-Expect(0, 1647, '\P{^Is_Ccc=+000035}', "");
-Error('\p{Canonical_Combining_Class=_ 00 0-00-0 0:=0011}');
-Error('\P{Canonical_Combining_Class=_ 00 0-00-0 0:=0011}');
-Expect(1, 1457, '\p{Canonical_Combining_Class=00000011}', "");
-Expect(0, 1457, '\p{^Canonical_Combining_Class=00000011}', "");
-Expect(0, 1457, '\P{Canonical_Combining_Class=00000011}', "");
-Expect(1, 1457, '\P{^Canonical_Combining_Class=00000011}', "");
-Expect(0, 1456, '\p{Canonical_Combining_Class=00000011}', "");
-Expect(1, 1456, '\p{^Canonical_Combining_Class=00000011}', "");
-Expect(1, 1456, '\P{Canonical_Combining_Class=00000011}', "");
-Expect(0, 1456, '\P{^Canonical_Combining_Class=00000011}', "");
-Error('\p{Ccc:_:=00001 1}');
-Error('\P{Ccc:_:=00001 1}');
-Expect(1, 1457, '\p{Ccc=00000011}', "");
-Expect(0, 1457, '\p{^Ccc=00000011}', "");
-Expect(0, 1457, '\P{Ccc=00000011}', "");
-Expect(1, 1457, '\P{^Ccc=00000011}', "");
-Expect(0, 1456, '\p{Ccc=00000011}', "");
-Expect(1, 1456, '\p{^Ccc=00000011}', "");
-Expect(1, 1456, '\P{Ccc=00000011}', "");
-Expect(0, 1456, '\P{^Ccc=00000011}', "");
-Error('\p{Is_Canonical_Combining_Class= 11:=}');
-Error('\P{Is_Canonical_Combining_Class= 11:=}');
-Expect(1, 1457, '\p{Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(0, 1457, '\p{^Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(0, 1457, '\P{Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(1, 1457, '\P{^Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(0, 1456, '\p{Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(1, 1456, '\p{^Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(1, 1456, '\P{Is_Canonical_Combining_Class=000_001_1}', "");
-Expect(0, 1456, '\P{^Is_Canonical_Combining_Class=000_001_1}', "");
-Error('\p{Is_Ccc: /a/+0011}');
-Error('\P{Is_Ccc: /a/+0011}');
-Expect(1, 1457, '\p{Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(0, 1457, '\p{^Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(0, 1457, '\P{Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(1, 1457, '\P{^Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(0, 1456, '\p{Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(1, 1456, '\p{^Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(1, 1456, '\P{Is_Ccc=0_0_0_0_0_0_011}', "");
-Expect(0, 1456, '\P{^Is_Ccc=0_0_0_0_0_0_011}', "");
-Error('\p{Canonical_Combining_Class: /a/IotaSubscript}');
-Error('\P{Canonical_Combining_Class: /a/IotaSubscript}');
-Expect(1, 837, '\p{Canonical_Combining_Class=iotasubscript}', "");
-Expect(0, 837, '\p{^Canonical_Combining_Class=iotasubscript}', "");
-Expect(0, 837, '\P{Canonical_Combining_Class=iotasubscript}', "");
-Expect(1, 837, '\P{^Canonical_Combining_Class=iotasubscript}', "");
-Expect(0, 836, '\p{Canonical_Combining_Class=iotasubscript}', "");
-Expect(1, 836, '\p{^Canonical_Combining_Class=iotasubscript}', "");
-Expect(1, 836, '\P{Canonical_Combining_Class=iotasubscript}', "");
-Expect(0, 836, '\P{^Canonical_Combining_Class=iotasubscript}', "");
-Expect(1, 837, '\p{Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(0, 837, '\p{^Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(0, 837, '\P{Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(1, 837, '\P{^Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(0, 836, '\p{Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(1, 836, '\p{^Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(1, 836, '\P{Canonical_Combining_Class: _ IOTA Subscript}', "");
-Expect(0, 836, '\P{^Canonical_Combining_Class: _ IOTA Subscript}', "");
-Error('\p{Ccc=/a/ IS}');
-Error('\P{Ccc=/a/ IS}');
-Expect(1, 837, '\p{Ccc=is}', "");
-Expect(0, 837, '\p{^Ccc=is}', "");
-Expect(0, 837, '\P{Ccc=is}', "");
-Expect(1, 837, '\P{^Ccc=is}', "");
-Expect(0, 836, '\p{Ccc=is}', "");
-Expect(1, 836, '\p{^Ccc=is}', "");
-Expect(1, 836, '\P{Ccc=is}', "");
-Expect(0, 836, '\P{^Ccc=is}', "");
-Expect(1, 837, '\p{Ccc=_-IS}', "");
-Expect(0, 837, '\p{^Ccc=_-IS}', "");
-Expect(0, 837, '\P{Ccc=_-IS}', "");
-Expect(1, 837, '\P{^Ccc=_-IS}', "");
-Expect(0, 836, '\p{Ccc=_-IS}', "");
-Expect(1, 836, '\p{^Ccc=_-IS}', "");
-Expect(1, 836, '\P{Ccc=_-IS}', "");
-Expect(0, 836, '\P{^Ccc=_-IS}', "");
-Error('\p{Is_Canonical_Combining_Class=-:=+0_0 0 00 02 40}');
-Error('\P{Is_Canonical_Combining_Class=-:=+0_0 0 00 02 40}');
-Expect(1, 837, '\p{Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(0, 837, '\p{^Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(0, 837, '\P{Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(1, 837, '\P{^Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(0, 836, '\p{Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(1, 836, '\p{^Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(1, 836, '\P{Is_Canonical_Combining_Class=0000024_0}', "");
-Expect(0, 836, '\P{^Is_Canonical_Combining_Class=0000024_0}', "");
-Error('\p{Is_Ccc= -iota:=SUBSCRIPT}');
-Error('\P{Is_Ccc= -iota:=SUBSCRIPT}');
-Expect(1, 837, '\p{Is_Ccc:iotasubscript}', "");
-Expect(0, 837, '\p{^Is_Ccc:iotasubscript}', "");
-Expect(0, 837, '\P{Is_Ccc:iotasubscript}', "");
-Expect(1, 837, '\P{^Is_Ccc:iotasubscript}', "");
-Expect(0, 836, '\p{Is_Ccc:iotasubscript}', "");
-Expect(1, 836, '\p{^Is_Ccc:iotasubscript}', "");
-Expect(1, 836, '\P{Is_Ccc:iotasubscript}', "");
-Expect(0, 836, '\P{^Is_Ccc:iotasubscript}', "");
-Expect(1, 837, '\p{Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(0, 837, '\p{^Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(0, 837, '\P{Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(1, 837, '\P{^Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(0, 836, '\p{Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(1, 836, '\p{^Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(1, 836, '\P{Is_Ccc: -IOTASUBSCRIPT}', "");
-Expect(0, 836, '\P{^Is_Ccc: -IOTASUBSCRIPT}', "");
-Error('\p{Canonical_Combining_Class=_ Above-Right:=}');
-Error('\P{Canonical_Combining_Class=_ Above-Right:=}');
-Expect(1, 789, '\p{Canonical_Combining_Class=aboveright}', "");
-Expect(0, 789, '\p{^Canonical_Combining_Class=aboveright}', "");
-Expect(0, 789, '\P{Canonical_Combining_Class=aboveright}', "");
-Expect(1, 789, '\P{^Canonical_Combining_Class=aboveright}', "");
-Expect(0, 788, '\p{Canonical_Combining_Class=aboveright}', "");
-Expect(1, 788, '\p{^Canonical_Combining_Class=aboveright}', "");
-Expect(1, 788, '\P{Canonical_Combining_Class=aboveright}', "");
-Expect(0, 788, '\P{^Canonical_Combining_Class=aboveright}', "");
-Expect(1, 789, '\p{Canonical_Combining_Class=_ above Right}', "");
-Expect(0, 789, '\p{^Canonical_Combining_Class=_ above Right}', "");
-Expect(0, 789, '\P{Canonical_Combining_Class=_ above Right}', "");
-Expect(1, 789, '\P{^Canonical_Combining_Class=_ above Right}', "");
-Expect(0, 788, '\p{Canonical_Combining_Class=_ above Right}', "");
-Expect(1, 788, '\p{^Canonical_Combining_Class=_ above Right}', "");
-Expect(1, 788, '\P{Canonical_Combining_Class=_ above Right}', "");
-Expect(0, 788, '\P{^Canonical_Combining_Class=_ above Right}', "");
-Error('\p{Ccc= :=AR}');
-Error('\P{Ccc= :=AR}');
-Expect(1, 789, '\p{Ccc=ar}', "");
-Expect(0, 789, '\p{^Ccc=ar}', "");
-Expect(0, 789, '\P{Ccc=ar}', "");
-Expect(1, 789, '\P{^Ccc=ar}', "");
-Expect(0, 788, '\p{Ccc=ar}', "");
-Expect(1, 788, '\p{^Ccc=ar}', "");
-Expect(1, 788, '\P{Ccc=ar}', "");
-Expect(0, 788, '\P{^Ccc=ar}', "");
-Expect(1, 789, '\p{Ccc= AR}', "");
-Expect(0, 789, '\p{^Ccc= AR}', "");
-Expect(0, 789, '\P{Ccc= AR}', "");
-Expect(1, 789, '\P{^Ccc= AR}', "");
-Expect(0, 788, '\p{Ccc= AR}', "");
-Expect(1, 788, '\p{^Ccc= AR}', "");
-Expect(1, 788, '\P{Ccc= AR}', "");
-Expect(0, 788, '\P{^Ccc= AR}', "");
-Error('\p{Is_Canonical_Combining_Class= /a/232}');
-Error('\P{Is_Canonical_Combining_Class= /a/232}');
-Expect(1, 789, '\p{Is_Canonical_Combining_Class:000000232}', "");
-Expect(0, 789, '\p{^Is_Canonical_Combining_Class:000000232}', "");
-Expect(0, 789, '\P{Is_Canonical_Combining_Class:000000232}', "");
-Expect(1, 789, '\P{^Is_Canonical_Combining_Class:000000232}', "");
-Expect(0, 788, '\p{Is_Canonical_Combining_Class:000000232}', "");
-Expect(1, 788, '\p{^Is_Canonical_Combining_Class:000000232}', "");
-Expect(1, 788, '\P{Is_Canonical_Combining_Class:000000232}', "");
-Expect(0, 788, '\P{^Is_Canonical_Combining_Class:000000232}', "");
-Error('\p{Is_Ccc= _ABOVE:=right}');
-Error('\P{Is_Ccc= _ABOVE:=right}');
-Expect(1, 789, '\p{Is_Ccc=aboveright}', "");
-Expect(0, 789, '\p{^Is_Ccc=aboveright}', "");
-Expect(0, 789, '\P{Is_Ccc=aboveright}', "");
-Expect(1, 789, '\P{^Is_Ccc=aboveright}', "");
-Expect(0, 788, '\p{Is_Ccc=aboveright}', "");
-Expect(1, 788, '\p{^Is_Ccc=aboveright}', "");
-Expect(1, 788, '\P{Is_Ccc=aboveright}', "");
-Expect(0, 788, '\P{^Is_Ccc=aboveright}', "");
-Expect(1, 789, '\p{Is_Ccc=_Above_right}', "");
-Expect(0, 789, '\p{^Is_Ccc=_Above_right}', "");
-Expect(0, 789, '\P{Is_Ccc=_Above_right}', "");
-Expect(1, 789, '\P{^Is_Ccc=_Above_right}', "");
-Expect(0, 788, '\p{Is_Ccc=_Above_right}', "");
-Expect(1, 788, '\p{^Is_Ccc=_Above_right}', "");
-Expect(1, 788, '\P{Is_Ccc=_Above_right}', "");
-Expect(0, 788, '\P{^Is_Ccc=_Above_right}', "");
-Error('\p{Canonical_Combining_Class= _0-0-0 0 00 29/a/}');
-Error('\P{Canonical_Combining_Class= _0-0-0 0 00 29/a/}');
-Expect(1, 1613, '\p{Canonical_Combining_Class=+0029}', "");
-Expect(0, 1613, '\p{^Canonical_Combining_Class=+0029}', "");
-Expect(0, 1613, '\P{Canonical_Combining_Class=+0029}', "");
-Expect(1, 1613, '\P{^Canonical_Combining_Class=+0029}', "");
-Expect(0, 1612, '\p{Canonical_Combining_Class=+0029}', "");
-Expect(1, 1612, '\p{^Canonical_Combining_Class=+0029}', "");
-Expect(1, 1612, '\P{Canonical_Combining_Class=+0029}', "");
-Expect(0, 1612, '\P{^Canonical_Combining_Class=+0029}', "");
-Error('\p{Ccc=:= 02_9}');
-Error('\P{Ccc=:= 02_9}');
-Expect(1, 1613, '\p{Ccc: 02_9}', "");
-Expect(0, 1613, '\p{^Ccc: 02_9}', "");
-Expect(0, 1613, '\P{Ccc: 02_9}', "");
-Expect(1, 1613, '\P{^Ccc: 02_9}', "");
-Expect(0, 1612, '\p{Ccc: 02_9}', "");
-Expect(1, 1612, '\p{^Ccc: 02_9}', "");
-Expect(1, 1612, '\P{Ccc: 02_9}', "");
-Expect(0, 1612, '\P{^Ccc: 02_9}', "");
-Error('\p{Is_Canonical_Combining_Class=-:=+0000 00029}');
-Error('\P{Is_Canonical_Combining_Class=-:=+0000 00029}');
-Expect(1, 1613, '\p{Is_Canonical_Combining_Class=29}', "");
-Expect(0, 1613, '\p{^Is_Canonical_Combining_Class=29}', "");
-Expect(0, 1613, '\P{Is_Canonical_Combining_Class=29}', "");
-Expect(1, 1613, '\P{^Is_Canonical_Combining_Class=29}', "");
-Expect(0, 1612, '\p{Is_Canonical_Combining_Class=29}', "");
-Expect(1, 1612, '\p{^Is_Canonical_Combining_Class=29}', "");
-Expect(1, 1612, '\P{Is_Canonical_Combining_Class=29}', "");
-Expect(0, 1612, '\P{^Is_Canonical_Combining_Class=29}', "");
-Error('\p{Is_Ccc= 02:=9}');
-Error('\P{Is_Ccc= 02:=9}');
-Expect(1, 1613, '\p{Is_Ccc=002_9}', "");
-Expect(0, 1613, '\p{^Is_Ccc=002_9}', "");
-Expect(0, 1613, '\P{Is_Ccc=002_9}', "");
-Expect(1, 1613, '\P{^Is_Ccc=002_9}', "");
-Expect(0, 1612, '\p{Is_Ccc=002_9}', "");
-Expect(1, 1612, '\p{^Is_Ccc=002_9}', "");
-Expect(1, 1612, '\P{Is_Ccc=002_9}', "");
-Expect(0, 1612, '\P{^Is_Ccc=002_9}', "");
-Error('\p{Canonical_Combining_Class=_Right:=}');
-Error('\P{Canonical_Combining_Class=_Right:=}');
-Expect(1, 119149, '\p{Canonical_Combining_Class=right}', "");
-Expect(0, 119149, '\p{^Canonical_Combining_Class=right}', "");
-Expect(0, 119149, '\P{Canonical_Combining_Class=right}', "");
-Expect(1, 119149, '\P{^Canonical_Combining_Class=right}', "");
-Expect(0, 119148, '\p{Canonical_Combining_Class=right}', "");
-Expect(1, 119148, '\p{^Canonical_Combining_Class=right}', "");
-Expect(1, 119148, '\P{Canonical_Combining_Class=right}', "");
-Expect(0, 119148, '\P{^Canonical_Combining_Class=right}', "");
-Expect(1, 119149, '\p{Canonical_Combining_Class=-RIGHT}', "");
-Expect(0, 119149, '\p{^Canonical_Combining_Class=-RIGHT}', "");
-Expect(0, 119149, '\P{Canonical_Combining_Class=-RIGHT}', "");
-Expect(1, 119149, '\P{^Canonical_Combining_Class=-RIGHT}', "");
-Expect(0, 119148, '\p{Canonical_Combining_Class=-RIGHT}', "");
-Expect(1, 119148, '\p{^Canonical_Combining_Class=-RIGHT}', "");
-Expect(1, 119148, '\P{Canonical_Combining_Class=-RIGHT}', "");
-Expect(0, 119148, '\P{^Canonical_Combining_Class=-RIGHT}', "");
-Error('\p{Ccc: :=_ R}');
-Error('\P{Ccc: :=_ R}');
-Expect(1, 119149, '\p{Ccc=r}', "");
-Expect(0, 119149, '\p{^Ccc=r}', "");
-Expect(0, 119149, '\P{Ccc=r}', "");
-Expect(1, 119149, '\P{^Ccc=r}', "");
-Expect(0, 119148, '\p{Ccc=r}', "");
-Expect(1, 119148, '\p{^Ccc=r}', "");
-Expect(1, 119148, '\P{Ccc=r}', "");
-Expect(0, 119148, '\P{^Ccc=r}', "");
-Expect(1, 119149, '\p{Ccc= r}', "");
-Expect(0, 119149, '\p{^Ccc= r}', "");
-Expect(0, 119149, '\P{Ccc= r}', "");
-Expect(1, 119149, '\P{^Ccc= r}', "");
-Expect(0, 119148, '\p{Ccc= r}', "");
-Expect(1, 119148, '\p{^Ccc= r}', "");
-Expect(1, 119148, '\P{Ccc= r}', "");
-Expect(0, 119148, '\P{^Ccc= r}', "");
-Error('\p{Is_Canonical_Combining_Class=/a/_ +0000000226}');
-Error('\P{Is_Canonical_Combining_Class=/a/_ +0000000226}');
-Expect(1, 119149, '\p{Is_Canonical_Combining_Class=0000000226}', "");
-Expect(0, 119149, '\p{^Is_Canonical_Combining_Class=0000000226}', "");
-Expect(0, 119149, '\P{Is_Canonical_Combining_Class=0000000226}', "");
-Expect(1, 119149, '\P{^Is_Canonical_Combining_Class=0000000226}', "");
-Expect(0, 119148, '\p{Is_Canonical_Combining_Class=0000000226}', "");
-Expect(1, 119148, '\p{^Is_Canonical_Combining_Class=0000000226}', "");
-Expect(1, 119148, '\P{Is_Canonical_Combining_Class=0000000226}', "");
-Expect(0, 119148, '\P{^Is_Canonical_Combining_Class=0000000226}', "");
-Error('\p{Is_Ccc=/a/Right}');
-Error('\P{Is_Ccc=/a/Right}');
-Expect(1, 119149, '\p{Is_Ccc=right}', "");
-Expect(0, 119149, '\p{^Is_Ccc=right}', "");
-Expect(0, 119149, '\P{Is_Ccc=right}', "");
-Expect(1, 119149, '\P{^Is_Ccc=right}', "");
-Expect(0, 119148, '\p{Is_Ccc=right}', "");
-Expect(1, 119148, '\p{^Is_Ccc=right}', "");
-Expect(1, 119148, '\P{Is_Ccc=right}', "");
-Expect(0, 119148, '\P{^Is_Ccc=right}', "");
-Expect(1, 119149, '\p{Is_Ccc= _Right}', "");
-Expect(0, 119149, '\p{^Is_Ccc= _Right}', "");
-Expect(0, 119149, '\P{Is_Ccc= _Right}', "");
-Expect(1, 119149, '\P{^Is_Ccc= _Right}', "");
-Expect(0, 119148, '\p{Is_Ccc= _Right}', "");
-Expect(1, 119148, '\p{^Is_Ccc= _Right}', "");
-Expect(1, 119148, '\P{Is_Ccc= _Right}', "");
-Expect(0, 119148, '\P{^Is_Ccc= _Right}', "");
-Error('\p{Canonical_Combining_Class= -00000000015/a/}');
-Error('\P{Canonical_Combining_Class= -00000000015/a/}');
-Expect(1, 1461, '\p{Canonical_Combining_Class=00015}', "");
-Expect(0, 1461, '\p{^Canonical_Combining_Class=00015}', "");
-Expect(0, 1461, '\P{Canonical_Combining_Class=00015}', "");
-Expect(1, 1461, '\P{^Canonical_Combining_Class=00015}', "");
-Expect(0, 1460, '\p{Canonical_Combining_Class=00015}', "");
-Expect(1, 1460, '\p{^Canonical_Combining_Class=00015}', "");
-Expect(1, 1460, '\P{Canonical_Combining_Class=00015}', "");
-Expect(0, 1460, '\P{^Canonical_Combining_Class=00015}', "");
-Error('\p{Ccc=_ +15/a/}');
-Error('\P{Ccc=_ +15/a/}');
-Expect(1, 1461, '\p{Ccc=+015}', "");
-Expect(0, 1461, '\p{^Ccc=+015}', "");
-Expect(0, 1461, '\P{Ccc=+015}', "");
-Expect(1, 1461, '\P{^Ccc=+015}', "");
-Expect(0, 1460, '\p{Ccc=+015}', "");
-Expect(1, 1460, '\p{^Ccc=+015}', "");
-Expect(1, 1460, '\P{Ccc=+015}', "");
-Expect(0, 1460, '\P{^Ccc=+015}', "");
-Error('\p{Is_Canonical_Combining_Class=_ 00 00-00-00/a/015}');
-Error('\P{Is_Canonical_Combining_Class=_ 00 00-00-00/a/015}');
-Expect(1, 1461, '\p{Is_Canonical_Combining_Class: 0015}', "");
-Expect(0, 1461, '\p{^Is_Canonical_Combining_Class: 0015}', "");
-Expect(0, 1461, '\P{Is_Canonical_Combining_Class: 0015}', "");
-Expect(1, 1461, '\P{^Is_Canonical_Combining_Class: 0015}', "");
-Expect(0, 1460, '\p{Is_Canonical_Combining_Class: 0015}', "");
-Expect(1, 1460, '\p{^Is_Canonical_Combining_Class: 0015}', "");
-Expect(1, 1460, '\P{Is_Canonical_Combining_Class: 0015}', "");
-Expect(0, 1460, '\P{^Is_Canonical_Combining_Class: 0015}', "");
-Error('\p{Is_Ccc=/a/ 0000015}');
-Error('\P{Is_Ccc=/a/ 0000015}');
-Expect(1, 1461, '\p{Is_Ccc=+0000015}', "");
-Expect(0, 1461, '\p{^Is_Ccc=+0000015}', "");
-Expect(0, 1461, '\P{Is_Ccc=+0000015}', "");
-Expect(1, 1461, '\P{^Is_Ccc=+0000015}', "");
-Expect(0, 1460, '\p{Is_Ccc=+0000015}', "");
-Expect(1, 1460, '\p{^Is_Ccc=+0000015}', "");
-Expect(1, 1460, '\P{Is_Ccc=+0000015}', "");
-Expect(0, 1460, '\P{^Is_Ccc=+0000015}', "");
-Error('\p{Canonical_Combining_Class= belowLeft/a/}');
-Error('\P{Canonical_Combining_Class= belowLeft/a/}');
-Expect(1, 12330, '\p{Canonical_Combining_Class=belowleft}', "");
-Expect(0, 12330, '\p{^Canonical_Combining_Class=belowleft}', "");
-Expect(0, 12330, '\P{Canonical_Combining_Class=belowleft}', "");
-Expect(1, 12330, '\P{^Canonical_Combining_Class=belowleft}', "");
-Expect(0, 12329, '\p{Canonical_Combining_Class=belowleft}', "");
-Expect(1, 12329, '\p{^Canonical_Combining_Class=belowleft}', "");
-Expect(1, 12329, '\P{Canonical_Combining_Class=belowleft}', "");
-Expect(0, 12329, '\P{^Canonical_Combining_Class=belowleft}', "");
-Expect(1, 12330, '\p{Canonical_Combining_Class= BELOW_left}', "");
-Expect(0, 12330, '\p{^Canonical_Combining_Class= BELOW_left}', "");
-Expect(0, 12330, '\P{Canonical_Combining_Class= BELOW_left}', "");
-Expect(1, 12330, '\P{^Canonical_Combining_Class= BELOW_left}', "");
-Expect(0, 12329, '\p{Canonical_Combining_Class= BELOW_left}', "");
-Expect(1, 12329, '\p{^Canonical_Combining_Class= BELOW_left}', "");
-Expect(1, 12329, '\P{Canonical_Combining_Class= BELOW_left}', "");
-Expect(0, 12329, '\P{^Canonical_Combining_Class= BELOW_left}', "");
-Error('\p{Ccc=:=-bl}');
-Error('\P{Ccc=:=-bl}');
-Expect(1, 12330, '\p{Ccc: bl}', "");
-Expect(0, 12330, '\p{^Ccc: bl}', "");
-Expect(0, 12330, '\P{Ccc: bl}', "");
-Expect(1, 12330, '\P{^Ccc: bl}', "");
-Expect(0, 12329, '\p{Ccc: bl}', "");
-Expect(1, 12329, '\p{^Ccc: bl}', "");
-Expect(1, 12329, '\P{Ccc: bl}', "");
-Expect(0, 12329, '\P{^Ccc: bl}', "");
-Expect(1, 12330, '\p{Ccc= bl}', "");
-Expect(0, 12330, '\p{^Ccc= bl}', "");
-Expect(0, 12330, '\P{Ccc= bl}', "");
-Expect(1, 12330, '\P{^Ccc= bl}', "");
-Expect(0, 12329, '\p{Ccc= bl}', "");
-Expect(1, 12329, '\p{^Ccc= bl}', "");
-Expect(1, 12329, '\P{Ccc= bl}', "");
-Expect(0, 12329, '\P{^Ccc= bl}', "");
-Error('\p{Is_Canonical_Combining_Class= 0 0 0-0-0:=0-000_218}');
-Error('\P{Is_Canonical_Combining_Class= 0 0 0-0-0:=0-000_218}');
-Expect(1, 12330, '\p{Is_Canonical_Combining_Class=+0218}', "");
-Expect(0, 12330, '\p{^Is_Canonical_Combining_Class=+0218}', "");
-Expect(0, 12330, '\P{Is_Canonical_Combining_Class=+0218}', "");
-Expect(1, 12330, '\P{^Is_Canonical_Combining_Class=+0218}', "");
-Expect(0, 12329, '\p{Is_Canonical_Combining_Class=+0218}', "");
-Expect(1, 12329, '\p{^Is_Canonical_Combining_Class=+0218}', "");
-Expect(1, 12329, '\P{Is_Canonical_Combining_Class=+0218}', "");
-Expect(0, 12329, '\P{^Is_Canonical_Combining_Class=+0218}', "");
-Error('\p{Is_Ccc= Below LEFT/a/}');
-Error('\P{Is_Ccc= Below LEFT/a/}');
-Expect(1, 12330, '\p{Is_Ccc=belowleft}', "");
-Expect(0, 12330, '\p{^Is_Ccc=belowleft}', "");
-Expect(0, 12330, '\P{Is_Ccc=belowleft}', "");
-Expect(1, 12330, '\P{^Is_Ccc=belowleft}', "");
-Expect(0, 12329, '\p{Is_Ccc=belowleft}', "");
-Expect(1, 12329, '\p{^Is_Ccc=belowleft}', "");
-Expect(1, 12329, '\P{Is_Ccc=belowleft}', "");
-Expect(0, 12329, '\P{^Is_Ccc=belowleft}', "");
-Expect(1, 12330, '\p{Is_Ccc= BELOW_Left}', "");
-Expect(0, 12330, '\p{^Is_Ccc= BELOW_Left}', "");
-Expect(0, 12330, '\P{Is_Ccc= BELOW_Left}', "");
-Expect(1, 12330, '\P{^Is_Ccc= BELOW_Left}', "");
-Expect(0, 12329, '\p{Is_Ccc= BELOW_Left}', "");
-Expect(1, 12329, '\p{^Is_Ccc= BELOW_Left}', "");
-Expect(1, 12329, '\P{Is_Ccc= BELOW_Left}', "");
-Expect(0, 12329, '\P{^Is_Ccc= BELOW_Left}', "");
-Error('\p{Canonical_Combining_Class=/a/_Left}');
-Error('\P{Canonical_Combining_Class=/a/_Left}');
-Expect(1, 12335, '\p{Canonical_Combining_Class=left}', "");
-Expect(0, 12335, '\p{^Canonical_Combining_Class=left}', "");
-Expect(0, 12335, '\P{Canonical_Combining_Class=left}', "");
-Expect(1, 12335, '\P{^Canonical_Combining_Class=left}', "");
-Expect(0, 12333, '\p{Canonical_Combining_Class=left}', "");
-Expect(1, 12333, '\p{^Canonical_Combining_Class=left}', "");
-Expect(1, 12333, '\P{Canonical_Combining_Class=left}', "");
-Expect(0, 12333, '\P{^Canonical_Combining_Class=left}', "");
-Expect(1, 12335, '\p{Canonical_Combining_Class= LEFT}', "");
-Expect(0, 12335, '\p{^Canonical_Combining_Class= LEFT}', "");
-Expect(0, 12335, '\P{Canonical_Combining_Class= LEFT}', "");
-Expect(1, 12335, '\P{^Canonical_Combining_Class= LEFT}', "");
-Expect(0, 12333, '\p{Canonical_Combining_Class= LEFT}', "");
-Expect(1, 12333, '\p{^Canonical_Combining_Class= LEFT}', "");
-Expect(1, 12333, '\P{Canonical_Combining_Class= LEFT}', "");
-Expect(0, 12333, '\P{^Canonical_Combining_Class= LEFT}', "");
-Error('\p{Ccc=_-L/a/}');
-Error('\P{Ccc=_-L/a/}');
-Expect(1, 12335, '\p{Ccc=l}', "");
-Expect(0, 12335, '\p{^Ccc=l}', "");
-Expect(0, 12335, '\P{Ccc=l}', "");
-Expect(1, 12335, '\P{^Ccc=l}', "");
-Expect(0, 12333, '\p{Ccc=l}', "");
-Expect(1, 12333, '\p{^Ccc=l}', "");
-Expect(1, 12333, '\P{Ccc=l}', "");
-Expect(0, 12333, '\P{^Ccc=l}', "");
-Expect(1, 12335, '\p{Ccc= L}', "");
-Expect(0, 12335, '\p{^Ccc= L}', "");
-Expect(0, 12335, '\P{Ccc= L}', "");
-Expect(1, 12335, '\P{^Ccc= L}', "");
-Expect(0, 12333, '\p{Ccc= L}', "");
-Expect(1, 12333, '\p{^Ccc= L}', "");
-Expect(1, 12333, '\P{Ccc= L}', "");
-Expect(0, 12333, '\P{^Ccc= L}', "");
-Error('\p{Is_Canonical_Combining_Class=/a/0224}');
-Error('\P{Is_Canonical_Combining_Class=/a/0224}');
-Expect(1, 12335, '\p{Is_Canonical_Combining_Class=00224}', "");
-Expect(0, 12335, '\p{^Is_Canonical_Combining_Class=00224}', "");
-Expect(0, 12335, '\P{Is_Canonical_Combining_Class=00224}', "");
-Expect(1, 12335, '\P{^Is_Canonical_Combining_Class=00224}', "");
-Expect(0, 12333, '\p{Is_Canonical_Combining_Class=00224}', "");
-Expect(1, 12333, '\p{^Is_Canonical_Combining_Class=00224}', "");
-Expect(1, 12333, '\P{Is_Canonical_Combining_Class=00224}', "");
-Expect(0, 12333, '\P{^Is_Canonical_Combining_Class=00224}', "");
-Error('\p{Is_Ccc= /a/LEFT}');
-Error('\P{Is_Ccc= /a/LEFT}');
-Expect(1, 12335, '\p{Is_Ccc=left}', "");
-Expect(0, 12335, '\p{^Is_Ccc=left}', "");
-Expect(0, 12335, '\P{Is_Ccc=left}', "");
-Expect(1, 12335, '\P{^Is_Ccc=left}', "");
-Expect(0, 12333, '\p{Is_Ccc=left}', "");
-Expect(1, 12333, '\p{^Is_Ccc=left}', "");
-Expect(1, 12333, '\P{Is_Ccc=left}', "");
-Expect(0, 12333, '\P{^Is_Ccc=left}', "");
-Expect(1, 12335, '\p{Is_Ccc= LEFT}', "");
-Expect(0, 12335, '\p{^Is_Ccc= LEFT}', "");
-Expect(0, 12335, '\P{Is_Ccc= LEFT}', "");
-Expect(1, 12335, '\P{^Is_Ccc= LEFT}', "");
-Expect(0, 12333, '\p{Is_Ccc= LEFT}', "");
-Expect(1, 12333, '\p{^Is_Ccc= LEFT}', "");
-Expect(1, 12333, '\P{Is_Ccc= LEFT}', "");
-Expect(0, 12333, '\P{^Is_Ccc= LEFT}', "");
-Error('\p{Canonical_Combining_Class=/a/_ABOVE}');
-Error('\P{Canonical_Combining_Class=/a/_ABOVE}');
-Expect(1, 788, '\p{Canonical_Combining_Class=above}', "");
-Expect(0, 788, '\p{^Canonical_Combining_Class=above}', "");
-Expect(0, 788, '\P{Canonical_Combining_Class=above}', "");
-Expect(1, 788, '\P{^Canonical_Combining_Class=above}', "");
-Expect(0, 767, '\p{Canonical_Combining_Class=above}', "");
-Expect(1, 767, '\p{^Canonical_Combining_Class=above}', "");
-Expect(1, 767, '\P{Canonical_Combining_Class=above}', "");
-Expect(0, 767, '\P{^Canonical_Combining_Class=above}', "");
-Expect(1, 788, '\p{Canonical_Combining_Class=--Above}', "");
-Expect(0, 788, '\p{^Canonical_Combining_Class=--Above}', "");
-Expect(0, 788, '\P{Canonical_Combining_Class=--Above}', "");
-Expect(1, 788, '\P{^Canonical_Combining_Class=--Above}', "");
-Expect(0, 767, '\p{Canonical_Combining_Class=--Above}', "");
-Expect(1, 767, '\p{^Canonical_Combining_Class=--Above}', "");
-Expect(1, 767, '\P{Canonical_Combining_Class=--Above}', "");
-Expect(0, 767, '\P{^Canonical_Combining_Class=--Above}', "");
-Error('\p{Ccc: A/a/}');
-Error('\P{Ccc: A/a/}');
-Expect(1, 788, '\p{Ccc:a}', "");
-Expect(0, 788, '\p{^Ccc:a}', "");
-Expect(0, 788, '\P{Ccc:a}', "");
-Expect(1, 788, '\P{^Ccc:a}', "");
-Expect(0, 767, '\p{Ccc:a}', "");
-Expect(1, 767, '\p{^Ccc:a}', "");
-Expect(1, 767, '\P{Ccc:a}', "");
-Expect(0, 767, '\P{^Ccc:a}', "");
-Expect(1, 788, '\p{Ccc: __a}', "");
-Expect(0, 788, '\p{^Ccc: __a}', "");
-Expect(0, 788, '\P{Ccc: __a}', "");
-Expect(1, 788, '\P{^Ccc: __a}', "");
-Expect(0, 767, '\p{Ccc: __a}', "");
-Expect(1, 767, '\p{^Ccc: __a}', "");
-Expect(1, 767, '\P{Ccc: __a}', "");
-Expect(0, 767, '\P{^Ccc: __a}', "");
-Error('\p{Is_Canonical_Combining_Class= _23 0:=}');
-Error('\P{Is_Canonical_Combining_Class= _23 0:=}');
-Expect(1, 788, '\p{Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(0, 788, '\p{^Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(0, 788, '\P{Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(1, 788, '\P{^Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(0, 767, '\p{Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(1, 767, '\p{^Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(1, 767, '\P{Is_Canonical_Combining_Class=00_00_02_30}', "");
-Expect(0, 767, '\P{^Is_Canonical_Combining_Class=00_00_02_30}', "");
-Error('\p{Is_Ccc=_:=ABOVE}');
-Error('\P{Is_Ccc=_:=ABOVE}');
-Expect(1, 788, '\p{Is_Ccc=above}', "");
-Expect(0, 788, '\p{^Is_Ccc=above}', "");
-Expect(0, 788, '\P{Is_Ccc=above}', "");
-Expect(1, 788, '\P{^Is_Ccc=above}', "");
-Expect(0, 767, '\p{Is_Ccc=above}', "");
-Expect(1, 767, '\p{^Is_Ccc=above}', "");
-Expect(1, 767, '\P{Is_Ccc=above}', "");
-Expect(0, 767, '\P{^Is_Ccc=above}', "");
-Expect(1, 788, '\p{Is_Ccc=_above}', "");
-Expect(0, 788, '\p{^Is_Ccc=_above}', "");
-Expect(0, 788, '\P{Is_Ccc=_above}', "");
-Expect(1, 788, '\P{^Is_Ccc=_above}', "");
-Expect(0, 767, '\p{Is_Ccc=_above}', "");
-Expect(1, 767, '\p{^Is_Ccc=_above}', "");
-Expect(1, 767, '\P{Is_Ccc=_above}', "");
-Expect(0, 767, '\P{^Is_Ccc=_above}', "");
-Error('\p{Canonical_Combining_Class=-/a/000000000129}');
-Error('\P{Canonical_Combining_Class=-/a/000000000129}');
-Expect(1, 3953, '\p{Canonical_Combining_Class: 00000129}', "");
-Expect(0, 3953, '\p{^Canonical_Combining_Class: 00000129}', "");
-Expect(0, 3953, '\P{Canonical_Combining_Class: 00000129}', "");
-Expect(1, 3953, '\P{^Canonical_Combining_Class: 00000129}', "");
-Expect(0, 3952, '\p{Canonical_Combining_Class: 00000129}', "");
-Expect(1, 3952, '\p{^Canonical_Combining_Class: 00000129}', "");
-Expect(1, 3952, '\P{Canonical_Combining_Class: 00000129}', "");
-Expect(0, 3952, '\P{^Canonical_Combining_Class: 00000129}', "");
-Error('\p{Ccc=-0:=0 000_0 0-00129}');
-Error('\P{Ccc=-0:=0 000_0 0-00129}');
-Expect(1, 3953, '\p{Ccc=00_00_00_01_29}', "");
-Expect(0, 3953, '\p{^Ccc=00_00_00_01_29}', "");
-Expect(0, 3953, '\P{Ccc=00_00_00_01_29}', "");
-Expect(1, 3953, '\P{^Ccc=00_00_00_01_29}', "");
-Expect(0, 3952, '\p{Ccc=00_00_00_01_29}', "");
-Expect(1, 3952, '\p{^Ccc=00_00_00_01_29}', "");
-Expect(1, 3952, '\P{Ccc=00_00_00_01_29}', "");
-Expect(0, 3952, '\P{^Ccc=00_00_00_01_29}', "");
-Error('\p{Is_Canonical_Combining_Class=_ 00_00:=00_00_129}');
-Error('\P{Is_Canonical_Combining_Class=_ 00_00:=00_00_129}');
-Expect(1, 3953, '\p{Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(0, 3953, '\p{^Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(0, 3953, '\P{Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(1, 3953, '\P{^Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(0, 3952, '\p{Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(1, 3952, '\p{^Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(1, 3952, '\P{Is_Canonical_Combining_Class=000000012_9}', "");
-Expect(0, 3952, '\P{^Is_Canonical_Combining_Class=000000012_9}', "");
-Error('\p{Is_Ccc= /a/0012-9}');
-Error('\P{Is_Ccc= /a/0012-9}');
-Expect(1, 3953, '\p{Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(0, 3953, '\p{^Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(0, 3953, '\P{Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(1, 3953, '\P{^Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(0, 3952, '\p{Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(1, 3952, '\p{^Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(1, 3952, '\P{Is_Ccc=0_0_0_0_0_0_00129}', "");
-Expect(0, 3952, '\P{^Is_Ccc=0_0_0_0_0_0_00129}', "");
-Error('\p{Canonical_Combining_Class: /a/00017}');
-Error('\P{Canonical_Combining_Class: /a/00017}');
-Expect(1, 1463, '\p{Canonical_Combining_Class=00001_7}', "");
-Expect(0, 1463, '\p{^Canonical_Combining_Class=00001_7}', "");
-Expect(0, 1463, '\P{Canonical_Combining_Class=00001_7}', "");
-Expect(1, 1463, '\P{^Canonical_Combining_Class=00001_7}', "");
-Expect(0, 1462, '\p{Canonical_Combining_Class=00001_7}', "");
-Expect(1, 1462, '\p{^Canonical_Combining_Class=00001_7}', "");
-Expect(1, 1462, '\P{Canonical_Combining_Class=00001_7}', "");
-Expect(0, 1462, '\P{^Canonical_Combining_Class=00001_7}', "");
-Error('\p{Ccc=:= -+0 0_0-017}');
-Error('\P{Ccc=:= -+0 0_0-017}');
-Expect(1, 1463, '\p{Ccc=+0017}', "");
-Expect(0, 1463, '\p{^Ccc=+0017}', "");
-Expect(0, 1463, '\P{Ccc=+0017}', "");
-Expect(1, 1463, '\P{^Ccc=+0017}', "");
-Expect(0, 1462, '\p{Ccc=+0017}', "");
-Expect(1, 1462, '\p{^Ccc=+0017}', "");
-Expect(1, 1462, '\P{Ccc=+0017}', "");
-Expect(0, 1462, '\P{^Ccc=+0017}', "");
-Error('\p{Is_Canonical_Combining_Class= :=00-00 0000 17}');
-Error('\P{Is_Canonical_Combining_Class= :=00-00 0000 17}');
-Expect(1, 1463, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(0, 1463, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(0, 1463, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(1, 1463, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(0, 1462, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(1, 1462, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(1, 1462, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Expect(0, 1462, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_0017}', "");
-Error('\p{Is_Ccc=-:=+01_7}');
-Error('\P{Is_Ccc=-:=+01_7}');
-Expect(1, 1463, '\p{Is_Ccc=00000000017}', "");
-Expect(0, 1463, '\p{^Is_Ccc=00000000017}', "");
-Expect(0, 1463, '\P{Is_Ccc=00000000017}', "");
-Expect(1, 1463, '\P{^Is_Ccc=00000000017}', "");
-Expect(0, 1462, '\p{Is_Ccc=00000000017}', "");
-Expect(1, 1462, '\p{^Is_Ccc=00000000017}', "");
-Expect(1, 1462, '\P{Is_Ccc=00000000017}', "");
-Expect(0, 1462, '\P{^Is_Ccc=00000000017}', "");
-Error('\p{Canonical_Combining_Class=NOTReordered:=}');
-Error('\P{Canonical_Combining_Class=NOTReordered:=}');
-Expect(1, 767, '\p{Canonical_Combining_Class=notreordered}', "");
-Expect(0, 767, '\p{^Canonical_Combining_Class=notreordered}', "");
-Expect(0, 767, '\P{Canonical_Combining_Class=notreordered}', "");
-Expect(1, 767, '\P{^Canonical_Combining_Class=notreordered}', "");
-Expect(0, 846, '\p{Canonical_Combining_Class=notreordered}', "");
-Expect(1, 846, '\p{^Canonical_Combining_Class=notreordered}', "");
-Expect(1, 846, '\P{Canonical_Combining_Class=notreordered}', "");
-Expect(0, 846, '\P{^Canonical_Combining_Class=notreordered}', "");
-Expect(1, 767, '\p{Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(0, 767, '\p{^Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(0, 767, '\P{Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(1, 767, '\P{^Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(0, 846, '\p{Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(1, 846, '\p{^Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(1, 846, '\P{Canonical_Combining_Class= Not_REORDERED}', "");
-Expect(0, 846, '\P{^Canonical_Combining_Class= Not_REORDERED}', "");
-Error('\p{Ccc=/a/--NR}');
-Error('\P{Ccc=/a/--NR}');
-Expect(1, 767, '\p{Ccc=nr}', "");
-Expect(0, 767, '\p{^Ccc=nr}', "");
-Expect(0, 767, '\P{Ccc=nr}', "");
-Expect(1, 767, '\P{^Ccc=nr}', "");
-Expect(0, 846, '\p{Ccc=nr}', "");
-Expect(1, 846, '\p{^Ccc=nr}', "");
-Expect(1, 846, '\P{Ccc=nr}', "");
-Expect(0, 846, '\P{^Ccc=nr}', "");
-Expect(1, 767, '\p{Ccc= NR}', "");
-Expect(0, 767, '\p{^Ccc= NR}', "");
-Expect(0, 767, '\P{Ccc= NR}', "");
-Expect(1, 767, '\P{^Ccc= NR}', "");
-Expect(0, 846, '\p{Ccc= NR}', "");
-Expect(1, 846, '\p{^Ccc= NR}', "");
-Expect(1, 846, '\P{Ccc= NR}', "");
-Expect(0, 846, '\P{^Ccc= NR}', "");
-Error('\p{Is_Canonical_Combining_Class= 0/a/}');
-Error('\P{Is_Canonical_Combining_Class= 0/a/}');
-Expect(1, 767, '\p{Is_Canonical_Combining_Class=0000000}', "");
-Expect(0, 767, '\p{^Is_Canonical_Combining_Class=0000000}', "");
-Expect(0, 767, '\P{Is_Canonical_Combining_Class=0000000}', "");
-Expect(1, 767, '\P{^Is_Canonical_Combining_Class=0000000}', "");
-Expect(0, 846, '\p{Is_Canonical_Combining_Class=0000000}', "");
-Expect(1, 846, '\p{^Is_Canonical_Combining_Class=0000000}', "");
-Expect(1, 846, '\P{Is_Canonical_Combining_Class=0000000}', "");
-Expect(0, 846, '\P{^Is_Canonical_Combining_Class=0000000}', "");
-Error('\p{Is_Ccc: -:=not Reordered}');
-Error('\P{Is_Ccc: -:=not Reordered}');
-Expect(1, 767, '\p{Is_Ccc=notreordered}', "");
-Expect(0, 767, '\p{^Is_Ccc=notreordered}', "");
-Expect(0, 767, '\P{Is_Ccc=notreordered}', "");
-Expect(1, 767, '\P{^Is_Ccc=notreordered}', "");
-Expect(0, 846, '\p{Is_Ccc=notreordered}', "");
-Expect(1, 846, '\p{^Is_Ccc=notreordered}', "");
-Expect(1, 846, '\P{Is_Ccc=notreordered}', "");
-Expect(0, 846, '\P{^Is_Ccc=notreordered}', "");
-Expect(1, 767, '\p{Is_Ccc=-_Not-Reordered}', "");
-Expect(0, 767, '\p{^Is_Ccc=-_Not-Reordered}', "");
-Expect(0, 767, '\P{Is_Ccc=-_Not-Reordered}', "");
-Expect(1, 767, '\P{^Is_Ccc=-_Not-Reordered}', "");
-Expect(0, 846, '\p{Is_Ccc=-_Not-Reordered}', "");
-Expect(1, 846, '\p{^Is_Ccc=-_Not-Reordered}', "");
-Expect(1, 846, '\P{Is_Ccc=-_Not-Reordered}', "");
-Expect(0, 846, '\P{^Is_Ccc=-_Not-Reordered}', "");
-Error('\p{Canonical_Combining_Class=-Above/a/LEFT}');
-Error('\P{Canonical_Combining_Class=-Above/a/LEFT}');
-Expect(1, 1454, '\p{Canonical_Combining_Class=aboveleft}', "");
-Expect(0, 1454, '\p{^Canonical_Combining_Class=aboveleft}', "");
-Expect(0, 1454, '\P{Canonical_Combining_Class=aboveleft}', "");
-Expect(1, 1454, '\P{^Canonical_Combining_Class=aboveleft}', "");
-Expect(0, 1453, '\p{Canonical_Combining_Class=aboveleft}', "");
-Expect(1, 1453, '\p{^Canonical_Combining_Class=aboveleft}', "");
-Expect(1, 1453, '\P{Canonical_Combining_Class=aboveleft}', "");
-Expect(0, 1453, '\P{^Canonical_Combining_Class=aboveleft}', "");
-Expect(1, 1454, '\p{Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(0, 1454, '\p{^Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(0, 1454, '\P{Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(1, 1454, '\P{^Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(0, 1453, '\p{Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(1, 1453, '\p{^Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(1, 1453, '\P{Canonical_Combining_Class: -AboveLEFT}', "");
-Expect(0, 1453, '\P{^Canonical_Combining_Class: -AboveLEFT}', "");
-Error('\p{Ccc=-_AL:=}');
-Error('\P{Ccc=-_AL:=}');
-Expect(1, 1454, '\p{Ccc=al}', "");
-Expect(0, 1454, '\p{^Ccc=al}', "");
-Expect(0, 1454, '\P{Ccc=al}', "");
-Expect(1, 1454, '\P{^Ccc=al}', "");
-Expect(0, 1453, '\p{Ccc=al}', "");
-Expect(1, 1453, '\p{^Ccc=al}', "");
-Expect(1, 1453, '\P{Ccc=al}', "");
-Expect(0, 1453, '\P{^Ccc=al}', "");
-Expect(1, 1454, '\p{Ccc= _AL}', "");
-Expect(0, 1454, '\p{^Ccc= _AL}', "");
-Expect(0, 1454, '\P{Ccc= _AL}', "");
-Expect(1, 1454, '\P{^Ccc= _AL}', "");
-Expect(0, 1453, '\p{Ccc= _AL}', "");
-Expect(1, 1453, '\p{^Ccc= _AL}', "");
-Expect(1, 1453, '\P{Ccc= _AL}', "");
-Expect(0, 1453, '\P{^Ccc= _AL}', "");
-Error('\p{Is_Canonical_Combining_Class=_-000/a/002 28}');
-Error('\P{Is_Canonical_Combining_Class=_-000/a/002 28}');
-Expect(1, 1454, '\p{Is_Canonical_Combining_Class=00000228}', "");
-Expect(0, 1454, '\p{^Is_Canonical_Combining_Class=00000228}', "");
-Expect(0, 1454, '\P{Is_Canonical_Combining_Class=00000228}', "");
-Expect(1, 1454, '\P{^Is_Canonical_Combining_Class=00000228}', "");
-Expect(0, 1453, '\p{Is_Canonical_Combining_Class=00000228}', "");
-Expect(1, 1453, '\p{^Is_Canonical_Combining_Class=00000228}', "");
-Expect(1, 1453, '\P{Is_Canonical_Combining_Class=00000228}', "");
-Expect(0, 1453, '\P{^Is_Canonical_Combining_Class=00000228}', "");
-Error('\p{Is_Ccc=--ABOVE/a/Left}');
-Error('\P{Is_Ccc=--ABOVE/a/Left}');
-Expect(1, 1454, '\p{Is_Ccc=aboveleft}', "");
-Expect(0, 1454, '\p{^Is_Ccc=aboveleft}', "");
-Expect(0, 1454, '\P{Is_Ccc=aboveleft}', "");
-Expect(1, 1454, '\P{^Is_Ccc=aboveleft}', "");
-Expect(0, 1453, '\p{Is_Ccc=aboveleft}', "");
-Expect(1, 1453, '\p{^Is_Ccc=aboveleft}', "");
-Expect(1, 1453, '\P{Is_Ccc=aboveleft}', "");
-Expect(0, 1453, '\P{^Is_Ccc=aboveleft}', "");
-Expect(1, 1454, '\p{Is_Ccc: _ above LEFT}', "");
-Expect(0, 1454, '\p{^Is_Ccc: _ above LEFT}', "");
-Expect(0, 1454, '\P{Is_Ccc: _ above LEFT}', "");
-Expect(1, 1454, '\P{^Is_Ccc: _ above LEFT}', "");
-Expect(0, 1453, '\p{Is_Ccc: _ above LEFT}', "");
-Expect(1, 1453, '\p{^Is_Ccc: _ above LEFT}', "");
-Expect(1, 1453, '\P{Is_Ccc: _ above LEFT}', "");
-Expect(0, 1453, '\P{^Is_Ccc: _ above LEFT}', "");
-Error('\p{Canonical_Combining_Class: /a/- Overlay}');
-Error('\P{Canonical_Combining_Class: /a/- Overlay}');
-Expect(1, 824, '\p{Canonical_Combining_Class=overlay}', "");
-Expect(0, 824, '\p{^Canonical_Combining_Class=overlay}', "");
-Expect(0, 824, '\P{Canonical_Combining_Class=overlay}', "");
-Expect(1, 824, '\P{^Canonical_Combining_Class=overlay}', "");
-Expect(0, 819, '\p{Canonical_Combining_Class=overlay}', "");
-Expect(1, 819, '\p{^Canonical_Combining_Class=overlay}', "");
-Expect(1, 819, '\P{Canonical_Combining_Class=overlay}', "");
-Expect(0, 819, '\P{^Canonical_Combining_Class=overlay}', "");
-Expect(1, 824, '\p{Canonical_Combining_Class: Overlay}', "");
-Expect(0, 824, '\p{^Canonical_Combining_Class: Overlay}', "");
-Expect(0, 824, '\P{Canonical_Combining_Class: Overlay}', "");
-Expect(1, 824, '\P{^Canonical_Combining_Class: Overlay}', "");
-Expect(0, 819, '\p{Canonical_Combining_Class: Overlay}', "");
-Expect(1, 819, '\p{^Canonical_Combining_Class: Overlay}', "");
-Expect(1, 819, '\P{Canonical_Combining_Class: Overlay}', "");
-Expect(0, 819, '\P{^Canonical_Combining_Class: Overlay}', "");
-Error('\p{Ccc= ov/a/}');
-Error('\P{Ccc= ov/a/}');
-Expect(1, 824, '\p{Ccc=ov}', "");
-Expect(0, 824, '\p{^Ccc=ov}', "");
-Expect(0, 824, '\P{Ccc=ov}', "");
-Expect(1, 824, '\P{^Ccc=ov}', "");
-Expect(0, 819, '\p{Ccc=ov}', "");
-Expect(1, 819, '\p{^Ccc=ov}', "");
-Expect(1, 819, '\P{Ccc=ov}', "");
-Expect(0, 819, '\P{^Ccc=ov}', "");
-Expect(1, 824, '\p{Ccc= OV}', "");
-Expect(0, 824, '\p{^Ccc= OV}', "");
-Expect(0, 824, '\P{Ccc= OV}', "");
-Expect(1, 824, '\P{^Ccc= OV}', "");
-Expect(0, 819, '\p{Ccc= OV}', "");
-Expect(1, 819, '\p{^Ccc= OV}', "");
-Expect(1, 819, '\P{Ccc= OV}', "");
-Expect(0, 819, '\P{^Ccc= OV}', "");
-Error('\p{Is_Canonical_Combining_Class: -0001:=}');
-Error('\P{Is_Canonical_Combining_Class: -0001:=}');
-Expect(1, 824, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(0, 824, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(0, 824, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(1, 824, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(0, 819, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(1, 819, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(1, 819, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Expect(0, 819, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0_01}', "");
-Error('\p{Is_Ccc=_/a/Overlay}');
-Error('\P{Is_Ccc=_/a/Overlay}');
-Expect(1, 824, '\p{Is_Ccc=overlay}', "");
-Expect(0, 824, '\p{^Is_Ccc=overlay}', "");
-Expect(0, 824, '\P{Is_Ccc=overlay}', "");
-Expect(1, 824, '\P{^Is_Ccc=overlay}', "");
-Expect(0, 819, '\p{Is_Ccc=overlay}', "");
-Expect(1, 819, '\p{^Is_Ccc=overlay}', "");
-Expect(1, 819, '\P{Is_Ccc=overlay}', "");
-Expect(0, 819, '\P{^Is_Ccc=overlay}', "");
-Expect(1, 824, '\p{Is_Ccc=- OVERLAY}', "");
-Expect(0, 824, '\p{^Is_Ccc=- OVERLAY}', "");
-Expect(0, 824, '\P{Is_Ccc=- OVERLAY}', "");
-Expect(1, 824, '\P{^Is_Ccc=- OVERLAY}', "");
-Expect(0, 819, '\p{Is_Ccc=- OVERLAY}', "");
-Expect(1, 819, '\p{^Is_Ccc=- OVERLAY}', "");
-Expect(1, 819, '\P{Is_Ccc=- OVERLAY}', "");
-Expect(0, 819, '\P{^Is_Ccc=- OVERLAY}', "");
-Error('\p{Canonical_Combining_Class= _virama:=}');
-Error('\P{Canonical_Combining_Class= _virama:=}');
-Expect(1, 2381, '\p{Canonical_Combining_Class=virama}', "");
-Expect(0, 2381, '\p{^Canonical_Combining_Class=virama}', "");
-Expect(0, 2381, '\P{Canonical_Combining_Class=virama}', "");
-Expect(1, 2381, '\P{^Canonical_Combining_Class=virama}', "");
-Expect(0, 2380, '\p{Canonical_Combining_Class=virama}', "");
-Expect(1, 2380, '\p{^Canonical_Combining_Class=virama}', "");
-Expect(1, 2380, '\P{Canonical_Combining_Class=virama}', "");
-Expect(0, 2380, '\P{^Canonical_Combining_Class=virama}', "");
-Expect(1, 2381, '\p{Canonical_Combining_Class: --virama}', "");
-Expect(0, 2381, '\p{^Canonical_Combining_Class: --virama}', "");
-Expect(0, 2381, '\P{Canonical_Combining_Class: --virama}', "");
-Expect(1, 2381, '\P{^Canonical_Combining_Class: --virama}', "");
-Expect(0, 2380, '\p{Canonical_Combining_Class: --virama}', "");
-Expect(1, 2380, '\p{^Canonical_Combining_Class: --virama}', "");
-Expect(1, 2380, '\P{Canonical_Combining_Class: --virama}', "");
-Expect(0, 2380, '\P{^Canonical_Combining_Class: --virama}', "");
-Error('\p{Ccc=/a/ VR}');
-Error('\P{Ccc=/a/ VR}');
-Expect(1, 2381, '\p{Ccc=vr}', "");
-Expect(0, 2381, '\p{^Ccc=vr}', "");
-Expect(0, 2381, '\P{Ccc=vr}', "");
-Expect(1, 2381, '\P{^Ccc=vr}', "");
-Expect(0, 2380, '\p{Ccc=vr}', "");
-Expect(1, 2380, '\p{^Ccc=vr}', "");
-Expect(1, 2380, '\P{Ccc=vr}', "");
-Expect(0, 2380, '\P{^Ccc=vr}', "");
-Expect(1, 2381, '\p{Ccc=_VR}', "");
-Expect(0, 2381, '\p{^Ccc=_VR}', "");
-Expect(0, 2381, '\P{Ccc=_VR}', "");
-Expect(1, 2381, '\P{^Ccc=_VR}', "");
-Expect(0, 2380, '\p{Ccc=_VR}', "");
-Expect(1, 2380, '\p{^Ccc=_VR}', "");
-Expect(1, 2380, '\P{Ccc=_VR}', "");
-Expect(0, 2380, '\P{^Ccc=_VR}', "");
-Error('\p{Is_Canonical_Combining_Class: -0 0:=0-0-0_0009}');
-Error('\P{Is_Canonical_Combining_Class: -0 0:=0-0-0_0009}');
-Expect(1, 2381, '\p{Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(0, 2381, '\p{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(0, 2381, '\P{Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(1, 2381, '\P{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(0, 2380, '\p{Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(1, 2380, '\p{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(1, 2380, '\P{Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Expect(0, 2380, '\P{^Is_Canonical_Combining_Class=+0_0_0_0_0_0_0_009}', "");
-Error('\p{Is_Ccc=-VIRAMA/a/}');
-Error('\P{Is_Ccc=-VIRAMA/a/}');
-Expect(1, 2381, '\p{Is_Ccc: virama}', "");
-Expect(0, 2381, '\p{^Is_Ccc: virama}', "");
-Expect(0, 2381, '\P{Is_Ccc: virama}', "");
-Expect(1, 2381, '\P{^Is_Ccc: virama}', "");
-Expect(0, 2380, '\p{Is_Ccc: virama}', "");
-Expect(1, 2380, '\p{^Is_Ccc: virama}', "");
-Expect(1, 2380, '\P{Is_Ccc: virama}', "");
-Expect(0, 2380, '\P{^Is_Ccc: virama}', "");
-Expect(1, 2381, '\p{Is_Ccc= VIRAMA}', "");
-Expect(0, 2381, '\p{^Is_Ccc= VIRAMA}', "");
-Expect(0, 2381, '\P{Is_Ccc= VIRAMA}', "");
-Expect(1, 2381, '\P{^Is_Ccc= VIRAMA}', "");
-Expect(0, 2380, '\p{Is_Ccc= VIRAMA}', "");
-Expect(1, 2380, '\p{^Is_Ccc= VIRAMA}', "");
-Expect(1, 2380, '\P{Is_Ccc= VIRAMA}', "");
-Expect(0, 2380, '\P{^Is_Ccc= VIRAMA}', "");
-Error('\p{Canonical_Combining_Class=:=--attachedBELOW}');
-Error('\P{Canonical_Combining_Class=:=--attachedBELOW}');
-Expect(1, 802, '\p{Canonical_Combining_Class=attachedbelow}', "");
-Expect(0, 802, '\p{^Canonical_Combining_Class=attachedbelow}', "");
-Expect(0, 802, '\P{Canonical_Combining_Class=attachedbelow}', "");
-Expect(1, 802, '\P{^Canonical_Combining_Class=attachedbelow}', "");
-Expect(0, 800, '\p{Canonical_Combining_Class=attachedbelow}', "");
-Expect(1, 800, '\p{^Canonical_Combining_Class=attachedbelow}', "");
-Expect(1, 800, '\P{Canonical_Combining_Class=attachedbelow}', "");
-Expect(0, 800, '\P{^Canonical_Combining_Class=attachedbelow}', "");
-Expect(1, 802, '\p{Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(0, 802, '\p{^Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(0, 802, '\P{Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(1, 802, '\P{^Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(0, 800, '\p{Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(1, 800, '\p{^Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(1, 800, '\P{Canonical_Combining_Class= -Attached_BELOW}', "");
-Expect(0, 800, '\P{^Canonical_Combining_Class= -Attached_BELOW}', "");
-Error('\p{Ccc=_-atb:=}');
-Error('\P{Ccc=_-atb:=}');
-Expect(1, 802, '\p{Ccc: atb}', "");
-Expect(0, 802, '\p{^Ccc: atb}', "");
-Expect(0, 802, '\P{Ccc: atb}', "");
-Expect(1, 802, '\P{^Ccc: atb}', "");
-Expect(0, 800, '\p{Ccc: atb}', "");
-Expect(1, 800, '\p{^Ccc: atb}', "");
-Expect(1, 800, '\P{Ccc: atb}', "");
-Expect(0, 800, '\P{^Ccc: atb}', "");
-Expect(1, 802, '\p{Ccc: ATB}', "");
-Expect(0, 802, '\p{^Ccc: ATB}', "");
-Expect(0, 802, '\P{Ccc: ATB}', "");
-Expect(1, 802, '\P{^Ccc: ATB}', "");
-Expect(0, 800, '\p{Ccc: ATB}', "");
-Expect(1, 800, '\p{^Ccc: ATB}', "");
-Expect(1, 800, '\P{Ccc: ATB}', "");
-Expect(0, 800, '\P{^Ccc: ATB}', "");
-Error('\p{Is_Canonical_Combining_Class=:=-00_0000 202}');
-Error('\P{Is_Canonical_Combining_Class=:=-00_0000 202}');
-Expect(1, 802, '\p{Is_Canonical_Combining_Class=0000000202}', "");
-Expect(0, 802, '\p{^Is_Canonical_Combining_Class=0000000202}', "");
-Expect(0, 802, '\P{Is_Canonical_Combining_Class=0000000202}', "");
-Expect(1, 802, '\P{^Is_Canonical_Combining_Class=0000000202}', "");
-Expect(0, 800, '\p{Is_Canonical_Combining_Class=0000000202}', "");
-Expect(1, 800, '\p{^Is_Canonical_Combining_Class=0000000202}', "");
-Expect(1, 800, '\P{Is_Canonical_Combining_Class=0000000202}', "");
-Expect(0, 800, '\P{^Is_Canonical_Combining_Class=0000000202}', "");
-Error('\p{Is_Ccc: _Attached Below:=}');
-Error('\P{Is_Ccc: _Attached Below:=}');
-Expect(1, 802, '\p{Is_Ccc=attachedbelow}', "");
-Expect(0, 802, '\p{^Is_Ccc=attachedbelow}', "");
-Expect(0, 802, '\P{Is_Ccc=attachedbelow}', "");
-Expect(1, 802, '\P{^Is_Ccc=attachedbelow}', "");
-Expect(0, 800, '\p{Is_Ccc=attachedbelow}', "");
-Expect(1, 800, '\p{^Is_Ccc=attachedbelow}', "");
-Expect(1, 800, '\P{Is_Ccc=attachedbelow}', "");
-Expect(0, 800, '\P{^Is_Ccc=attachedbelow}', "");
-Expect(1, 802, '\p{Is_Ccc=_ ATTACHED-Below}', "");
-Expect(0, 802, '\p{^Is_Ccc=_ ATTACHED-Below}', "");
-Expect(0, 802, '\P{Is_Ccc=_ ATTACHED-Below}', "");
-Expect(1, 802, '\P{^Is_Ccc=_ ATTACHED-Below}', "");
-Expect(0, 800, '\p{Is_Ccc=_ ATTACHED-Below}', "");
-Expect(1, 800, '\p{^Is_Ccc=_ ATTACHED-Below}', "");
-Expect(1, 800, '\P{Is_Ccc=_ ATTACHED-Below}', "");
-Expect(0, 800, '\P{^Is_Ccc=_ ATTACHED-Below}', "");
-Error('\p{Canonical_Combining_Class=-/a/014}');
-Error('\P{Canonical_Combining_Class=-/a/014}');
-Expect(1, 1460, '\p{Canonical_Combining_Class=0014}', "");
-Expect(0, 1460, '\p{^Canonical_Combining_Class=0014}', "");
-Expect(0, 1460, '\P{Canonical_Combining_Class=0014}', "");
-Expect(1, 1460, '\P{^Canonical_Combining_Class=0014}', "");
-Expect(0, 1459, '\p{Canonical_Combining_Class=0014}', "");
-Expect(1, 1459, '\p{^Canonical_Combining_Class=0014}', "");
-Expect(1, 1459, '\P{Canonical_Combining_Class=0014}', "");
-Expect(0, 1459, '\P{^Canonical_Combining_Class=0014}', "");
-Error('\p{Ccc: /a/001 4}');
-Error('\P{Ccc: /a/001 4}');
-Expect(1, 1460, '\p{Ccc=00_00_01_4}', "");
-Expect(0, 1460, '\p{^Ccc=00_00_01_4}', "");
-Expect(0, 1460, '\P{Ccc=00_00_01_4}', "");
-Expect(1, 1460, '\P{^Ccc=00_00_01_4}', "");
-Expect(0, 1459, '\p{Ccc=00_00_01_4}', "");
-Expect(1, 1459, '\p{^Ccc=00_00_01_4}', "");
-Expect(1, 1459, '\P{Ccc=00_00_01_4}', "");
-Expect(0, 1459, '\P{^Ccc=00_00_01_4}', "");
-Error('\p{Is_Canonical_Combining_Class= :=00000000014}');
-Error('\P{Is_Canonical_Combining_Class= :=00000000014}');
-Expect(1, 1460, '\p{Is_Canonical_Combining_Class=00000000014}', "");
-Expect(0, 1460, '\p{^Is_Canonical_Combining_Class=00000000014}', "");
-Expect(0, 1460, '\P{Is_Canonical_Combining_Class=00000000014}', "");
-Expect(1, 1460, '\P{^Is_Canonical_Combining_Class=00000000014}', "");
-Expect(0, 1459, '\p{Is_Canonical_Combining_Class=00000000014}', "");
-Expect(1, 1459, '\p{^Is_Canonical_Combining_Class=00000000014}', "");
-Expect(1, 1459, '\P{Is_Canonical_Combining_Class=00000000014}', "");
-Expect(0, 1459, '\P{^Is_Canonical_Combining_Class=00000000014}', "");
-Error('\p{Is_Ccc=/a/ -14}');
-Error('\P{Is_Ccc=/a/ -14}');
-Expect(1, 1460, '\p{Is_Ccc=0000000014}', "");
-Expect(0, 1460, '\p{^Is_Ccc=0000000014}', "");
-Expect(0, 1460, '\P{Is_Ccc=0000000014}', "");
-Expect(1, 1460, '\P{^Is_Ccc=0000000014}', "");
-Expect(0, 1459, '\p{Is_Ccc=0000000014}', "");
-Expect(1, 1459, '\p{^Is_Ccc=0000000014}', "");
-Expect(1, 1459, '\P{Is_Ccc=0000000014}', "");
-Expect(0, 1459, '\P{^Is_Ccc=0000000014}', "");
-Error('\p{Canonical_Combining_Class= /a/00000000024}');
-Error('\P{Canonical_Combining_Class= /a/00000000024}');
-Expect(1, 1473, '\p{Canonical_Combining_Class=000024}', "");
-Expect(0, 1473, '\p{^Canonical_Combining_Class=000024}', "");
-Expect(0, 1473, '\P{Canonical_Combining_Class=000024}', "");
-Expect(1, 1473, '\P{^Canonical_Combining_Class=000024}', "");
-Expect(0, 1472, '\p{Canonical_Combining_Class=000024}', "");
-Expect(1, 1472, '\p{^Canonical_Combining_Class=000024}', "");
-Expect(1, 1472, '\P{Canonical_Combining_Class=000024}', "");
-Expect(0, 1472, '\P{^Canonical_Combining_Class=000024}', "");
-Error('\p{Ccc=/a/000000024}');
-Error('\P{Ccc=/a/000000024}');
-Expect(1, 1473, '\p{Ccc: +00000000024}', "");
-Expect(0, 1473, '\p{^Ccc: +00000000024}', "");
-Expect(0, 1473, '\P{Ccc: +00000000024}', "");
-Expect(1, 1473, '\P{^Ccc: +00000000024}', "");
-Expect(0, 1472, '\p{Ccc: +00000000024}', "");
-Expect(1, 1472, '\p{^Ccc: +00000000024}', "");
-Expect(1, 1472, '\P{Ccc: +00000000024}', "");
-Expect(0, 1472, '\P{^Ccc: +00000000024}', "");
-Error('\p{Is_Canonical_Combining_Class= 0 0/a/24}');
-Error('\P{Is_Canonical_Combining_Class= 0 0/a/24}');
-Expect(1, 1473, '\p{Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(0, 1473, '\p{^Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(0, 1473, '\P{Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(1, 1473, '\P{^Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(0, 1472, '\p{Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(1, 1472, '\p{^Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(1, 1472, '\P{Is_Canonical_Combining_Class=0000_0000_24}', "");
-Expect(0, 1472, '\P{^Is_Canonical_Combining_Class=0000_0000_24}', "");
-Error('\p{Is_Ccc=:=_ 024}');
-Error('\P{Is_Ccc=:=_ 024}');
-Expect(1, 1473, '\p{Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(0, 1473, '\p{^Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(0, 1473, '\P{Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(1, 1473, '\P{^Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(0, 1472, '\p{Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(1, 1472, '\p{^Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(1, 1472, '\P{Is_Ccc=0_0_0_0_0_00024}', "");
-Expect(0, 1472, '\P{^Is_Ccc=0_0_0_0_0_00024}', "");
-Error('\p{Canonical_Combining_Class= +23/a/}');
-Error('\P{Canonical_Combining_Class= +23/a/}');
-Expect(1, 1471, '\p{Canonical_Combining_Class=000000023}', "");
-Expect(0, 1471, '\p{^Canonical_Combining_Class=000000023}', "");
-Expect(0, 1471, '\P{Canonical_Combining_Class=000000023}', "");
-Expect(1, 1471, '\P{^Canonical_Combining_Class=000000023}', "");
-Expect(0, 1470, '\p{Canonical_Combining_Class=000000023}', "");
-Expect(1, 1470, '\p{^Canonical_Combining_Class=000000023}', "");
-Expect(1, 1470, '\P{Canonical_Combining_Class=000000023}', "");
-Expect(0, 1470, '\P{^Canonical_Combining_Class=000000023}', "");
-Error('\p{Ccc=_ +000000023/a/}');
-Error('\P{Ccc=_ +000000023/a/}');
-Expect(1, 1471, '\p{Ccc=+000000023}', "");
-Expect(0, 1471, '\p{^Ccc=+000000023}', "");
-Expect(0, 1471, '\P{Ccc=+000000023}', "");
-Expect(1, 1471, '\P{^Ccc=+000000023}', "");
-Expect(0, 1470, '\p{Ccc=+000000023}', "");
-Expect(1, 1470, '\p{^Ccc=+000000023}', "");
-Expect(1, 1470, '\P{Ccc=+000000023}', "");
-Expect(0, 1470, '\P{^Ccc=+000000023}', "");
-Error('\p{Is_Canonical_Combining_Class: /a/--0_0 00 023}');
-Error('\P{Is_Canonical_Combining_Class: /a/--0_0 00 023}');
-Expect(1, 1471, '\p{Is_Canonical_Combining_Class: 00000023}', "");
-Expect(0, 1471, '\p{^Is_Canonical_Combining_Class: 00000023}', "");
-Expect(0, 1471, '\P{Is_Canonical_Combining_Class: 00000023}', "");
-Expect(1, 1471, '\P{^Is_Canonical_Combining_Class: 00000023}', "");
-Expect(0, 1470, '\p{Is_Canonical_Combining_Class: 00000023}', "");
-Expect(1, 1470, '\p{^Is_Canonical_Combining_Class: 00000023}', "");
-Expect(1, 1470, '\P{Is_Canonical_Combining_Class: 00000023}', "");
-Expect(0, 1470, '\P{^Is_Canonical_Combining_Class: 00000023}', "");
-Error('\p{Is_Ccc=_000023:=}');
-Error('\P{Is_Ccc=_000023:=}');
-Expect(1, 1471, '\p{Is_Ccc=+000023}', "");
-Expect(0, 1471, '\p{^Is_Ccc=+000023}', "");
-Expect(0, 1471, '\P{Is_Ccc=+000023}', "");
-Expect(1, 1471, '\P{^Is_Ccc=+000023}', "");
-Expect(0, 1470, '\p{Is_Ccc=+000023}', "");
-Expect(1, 1470, '\p{^Is_Ccc=+000023}', "");
-Expect(1, 1470, '\P{Is_Ccc=+000023}', "");
-Expect(0, 1470, '\P{^Is_Ccc=+000023}', "");
-Error('\p{Canonical_Combining_Class=:=_ NUKTA}');
-Error('\P{Canonical_Combining_Class=:=_ NUKTA}');
-Expect(1, 2364, '\p{Canonical_Combining_Class=nukta}', "");
-Expect(0, 2364, '\p{^Canonical_Combining_Class=nukta}', "");
-Expect(0, 2364, '\P{Canonical_Combining_Class=nukta}', "");
-Expect(1, 2364, '\P{^Canonical_Combining_Class=nukta}', "");
-Expect(0, 2363, '\p{Canonical_Combining_Class=nukta}', "");
-Expect(1, 2363, '\p{^Canonical_Combining_Class=nukta}', "");
-Expect(1, 2363, '\P{Canonical_Combining_Class=nukta}', "");
-Expect(0, 2363, '\P{^Canonical_Combining_Class=nukta}', "");
-Expect(1, 2364, '\p{Canonical_Combining_Class=-NUKTA}', "");
-Expect(0, 2364, '\p{^Canonical_Combining_Class=-NUKTA}', "");
-Expect(0, 2364, '\P{Canonical_Combining_Class=-NUKTA}', "");
-Expect(1, 2364, '\P{^Canonical_Combining_Class=-NUKTA}', "");
-Expect(0, 2363, '\p{Canonical_Combining_Class=-NUKTA}', "");
-Expect(1, 2363, '\p{^Canonical_Combining_Class=-NUKTA}', "");
-Expect(1, 2363, '\P{Canonical_Combining_Class=-NUKTA}', "");
-Expect(0, 2363, '\P{^Canonical_Combining_Class=-NUKTA}', "");
-Error('\p{Ccc=:= nk}');
-Error('\P{Ccc=:= nk}');
-Expect(1, 2364, '\p{Ccc=nk}', "");
-Expect(0, 2364, '\p{^Ccc=nk}', "");
-Expect(0, 2364, '\P{Ccc=nk}', "");
-Expect(1, 2364, '\P{^Ccc=nk}', "");
-Expect(0, 2363, '\p{Ccc=nk}', "");
-Expect(1, 2363, '\p{^Ccc=nk}', "");
-Expect(1, 2363, '\P{Ccc=nk}', "");
-Expect(0, 2363, '\P{^Ccc=nk}', "");
-Expect(1, 2364, '\p{Ccc= _NK}', "");
-Expect(0, 2364, '\p{^Ccc= _NK}', "");
-Expect(0, 2364, '\P{Ccc= _NK}', "");
-Expect(1, 2364, '\P{^Ccc= _NK}', "");
-Expect(0, 2363, '\p{Ccc= _NK}', "");
-Expect(1, 2363, '\p{^Ccc= _NK}', "");
-Expect(1, 2363, '\P{Ccc= _NK}', "");
-Expect(0, 2363, '\P{^Ccc= _NK}', "");
-Error('\p{Is_Canonical_Combining_Class= _000_000_7/a/}');
-Error('\P{Is_Canonical_Combining_Class= _000_000_7/a/}');
-Expect(1, 2364, '\p{Is_Canonical_Combining_Class=+07}', "");
-Expect(0, 2364, '\p{^Is_Canonical_Combining_Class=+07}', "");
-Expect(0, 2364, '\P{Is_Canonical_Combining_Class=+07}', "");
-Expect(1, 2364, '\P{^Is_Canonical_Combining_Class=+07}', "");
-Expect(0, 2363, '\p{Is_Canonical_Combining_Class=+07}', "");
-Expect(1, 2363, '\p{^Is_Canonical_Combining_Class=+07}', "");
-Expect(1, 2363, '\P{Is_Canonical_Combining_Class=+07}', "");
-Expect(0, 2363, '\P{^Is_Canonical_Combining_Class=+07}', "");
-Error('\p{Is_Ccc=_:=Nukta}');
-Error('\P{Is_Ccc=_:=Nukta}');
-Expect(1, 2364, '\p{Is_Ccc: nukta}', "");
-Expect(0, 2364, '\p{^Is_Ccc: nukta}', "");
-Expect(0, 2364, '\P{Is_Ccc: nukta}', "");
-Expect(1, 2364, '\P{^Is_Ccc: nukta}', "");
-Expect(0, 2363, '\p{Is_Ccc: nukta}', "");
-Expect(1, 2363, '\p{^Is_Ccc: nukta}', "");
-Expect(1, 2363, '\P{Is_Ccc: nukta}', "");
-Expect(0, 2363, '\P{^Is_Ccc: nukta}', "");
-Expect(1, 2364, '\p{Is_Ccc= nukta}', "");
-Expect(0, 2364, '\p{^Is_Ccc= nukta}', "");
-Expect(0, 2364, '\P{Is_Ccc= nukta}', "");
-Expect(1, 2364, '\P{^Is_Ccc= nukta}', "");
-Expect(0, 2363, '\p{Is_Ccc= nukta}', "");
-Expect(1, 2363, '\p{^Is_Ccc= nukta}', "");
-Expect(1, 2363, '\P{Is_Ccc= nukta}', "");
-Expect(0, 2363, '\P{^Is_Ccc= nukta}', "");
-Error('\p{Canonical_Combining_Class= :=+0000033}');
-Error('\P{Canonical_Combining_Class= :=+0000033}');
-Expect(1, 1617, '\p{Canonical_Combining_Class=+0_0_33}', "");
-Expect(0, 1617, '\p{^Canonical_Combining_Class=+0_0_33}', "");
-Expect(0, 1617, '\P{Canonical_Combining_Class=+0_0_33}', "");
-Expect(1, 1617, '\P{^Canonical_Combining_Class=+0_0_33}', "");
-Expect(0, 1616, '\p{Canonical_Combining_Class=+0_0_33}', "");
-Expect(1, 1616, '\p{^Canonical_Combining_Class=+0_0_33}', "");
-Expect(1, 1616, '\P{Canonical_Combining_Class=+0_0_33}', "");
-Expect(0, 1616, '\P{^Canonical_Combining_Class=+0_0_33}', "");
-Error('\p{Ccc=:=+33}');
-Error('\P{Ccc=:=+33}');
-Expect(1, 1617, '\p{Ccc=00033}', "");
-Expect(0, 1617, '\p{^Ccc=00033}', "");
-Expect(0, 1617, '\P{Ccc=00033}', "");
-Expect(1, 1617, '\P{^Ccc=00033}', "");
-Expect(0, 1616, '\p{Ccc=00033}', "");
-Expect(1, 1616, '\p{^Ccc=00033}', "");
-Expect(1, 1616, '\P{Ccc=00033}', "");
-Expect(0, 1616, '\P{^Ccc=00033}', "");
-Error('\p{Is_Canonical_Combining_Class=:= +000033}');
-Error('\P{Is_Canonical_Combining_Class=:= +000033}');
-Expect(1, 1617, '\p{Is_Canonical_Combining_Class=+03_3}', "");
-Expect(0, 1617, '\p{^Is_Canonical_Combining_Class=+03_3}', "");
-Expect(0, 1617, '\P{Is_Canonical_Combining_Class=+03_3}', "");
-Expect(1, 1617, '\P{^Is_Canonical_Combining_Class=+03_3}', "");
-Expect(0, 1616, '\p{Is_Canonical_Combining_Class=+03_3}', "");
-Expect(1, 1616, '\p{^Is_Canonical_Combining_Class=+03_3}', "");
-Expect(1, 1616, '\P{Is_Canonical_Combining_Class=+03_3}', "");
-Expect(0, 1616, '\P{^Is_Canonical_Combining_Class=+03_3}', "");
-Error('\p{Is_Ccc=/a/_ 0000033}');
-Error('\P{Is_Ccc=/a/_ 0000033}');
-Expect(1, 1617, '\p{Is_Ccc=0_0_33}', "");
-Expect(0, 1617, '\p{^Is_Ccc=0_0_33}', "");
-Expect(0, 1617, '\P{Is_Ccc=0_0_33}', "");
-Expect(1, 1617, '\P{^Is_Ccc=0_0_33}', "");
-Expect(0, 1616, '\p{Is_Ccc=0_0_33}', "");
-Expect(1, 1616, '\p{^Is_Ccc=0_0_33}', "");
-Expect(1, 1616, '\P{Is_Ccc=0_0_33}', "");
-Expect(0, 1616, '\P{^Is_Ccc=0_0_33}', "");
-Error('\p{Canonical_Combining_Class: _000/a/0021}');
-Error('\P{Canonical_Combining_Class: _000/a/0021}');
-Expect(1, 1468, '\p{Canonical_Combining_Class=+00021}', "");
-Expect(0, 1468, '\p{^Canonical_Combining_Class=+00021}', "");
-Expect(0, 1468, '\P{Canonical_Combining_Class=+00021}', "");
-Expect(1, 1468, '\P{^Canonical_Combining_Class=+00021}', "");
-Expect(0, 1467, '\p{Canonical_Combining_Class=+00021}', "");
-Expect(1, 1467, '\p{^Canonical_Combining_Class=+00021}', "");
-Expect(1, 1467, '\P{Canonical_Combining_Class=+00021}', "");
-Expect(0, 1467, '\P{^Canonical_Combining_Class=+00021}', "");
-Error('\p{Ccc= /a/00_00 00 00-21}');
-Error('\P{Ccc= /a/00_00 00 00-21}');
-Expect(1, 1468, '\p{Ccc=00002_1}', "");
-Expect(0, 1468, '\p{^Ccc=00002_1}', "");
-Expect(0, 1468, '\P{Ccc=00002_1}', "");
-Expect(1, 1468, '\P{^Ccc=00002_1}', "");
-Expect(0, 1467, '\p{Ccc=00002_1}', "");
-Expect(1, 1467, '\p{^Ccc=00002_1}', "");
-Expect(1, 1467, '\P{Ccc=00002_1}', "");
-Expect(0, 1467, '\P{^Ccc=00002_1}', "");
-Error('\p{Is_Canonical_Combining_Class: _+00/a/00-21}');
-Error('\P{Is_Canonical_Combining_Class: _+00/a/00-21}');
-Expect(1, 1468, '\p{Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(0, 1468, '\p{^Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(0, 1468, '\P{Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(1, 1468, '\P{^Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(0, 1467, '\p{Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(1, 1467, '\p{^Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(1, 1467, '\P{Is_Canonical_Combining_Class=0000000002_1}', "");
-Expect(0, 1467, '\P{^Is_Canonical_Combining_Class=0000000002_1}', "");
-Error('\p{Is_Ccc=_/a/+00-021}');
-Error('\P{Is_Ccc=_/a/+00-021}');
-Expect(1, 1468, '\p{Is_Ccc=00002_1}', "");
-Expect(0, 1468, '\p{^Is_Ccc=00002_1}', "");
-Expect(0, 1468, '\P{Is_Ccc=00002_1}', "");
-Expect(1, 1468, '\P{^Is_Ccc=00002_1}', "");
-Expect(0, 1467, '\p{Is_Ccc=00002_1}', "");
-Expect(1, 1467, '\p{^Is_Ccc=00002_1}', "");
-Expect(1, 1467, '\P{Is_Ccc=00002_1}', "");
-Expect(0, 1467, '\P{^Is_Ccc=00002_1}', "");
-Error('\p{Canonical_Combining_Class= /a/00_0-00 26}');
-Error('\P{Canonical_Combining_Class= /a/00_0-00 26}');
-Expect(1, 64286, '\p{Canonical_Combining_Class=000_002_6}', "");
-Expect(0, 64286, '\p{^Canonical_Combining_Class=000_002_6}', "");
-Expect(0, 64286, '\P{Canonical_Combining_Class=000_002_6}', "");
-Expect(1, 64286, '\P{^Canonical_Combining_Class=000_002_6}', "");
-Expect(0, 64285, '\p{Canonical_Combining_Class=000_002_6}', "");
-Expect(1, 64285, '\p{^Canonical_Combining_Class=000_002_6}', "");
-Expect(1, 64285, '\P{Canonical_Combining_Class=000_002_6}', "");
-Expect(0, 64285, '\P{^Canonical_Combining_Class=000_002_6}', "");
-Error('\p{Ccc=:=0-0-0-026}');
-Error('\P{Ccc=:=0-0-0-026}');
-Expect(1, 64286, '\p{Ccc=+02_6}', "");
-Expect(0, 64286, '\p{^Ccc=+02_6}', "");
-Expect(0, 64286, '\P{Ccc=+02_6}', "");
-Expect(1, 64286, '\P{^Ccc=+02_6}', "");
-Expect(0, 64285, '\p{Ccc=+02_6}', "");
-Expect(1, 64285, '\p{^Ccc=+02_6}', "");
-Expect(1, 64285, '\P{Ccc=+02_6}', "");
-Expect(0, 64285, '\P{^Ccc=+02_6}', "");
-Error('\p{Is_Canonical_Combining_Class=:= 00000000026}');
-Error('\P{Is_Canonical_Combining_Class=:= 00000000026}');
-Expect(1, 64286, '\p{Is_Canonical_Combining_Class=2_6}', "");
-Expect(0, 64286, '\p{^Is_Canonical_Combining_Class=2_6}', "");
-Expect(0, 64286, '\P{Is_Canonical_Combining_Class=2_6}', "");
-Expect(1, 64286, '\P{^Is_Canonical_Combining_Class=2_6}', "");
-Expect(0, 64285, '\p{Is_Canonical_Combining_Class=2_6}', "");
-Expect(1, 64285, '\p{^Is_Canonical_Combining_Class=2_6}', "");
-Expect(1, 64285, '\P{Is_Canonical_Combining_Class=2_6}', "");
-Expect(0, 64285, '\P{^Is_Canonical_Combining_Class=2_6}', "");
-Error('\p{Is_Ccc=__2:=6}');
-Error('\P{Is_Ccc=__2:=6}');
-Expect(1, 64286, '\p{Is_Ccc: 000026}', "");
-Expect(0, 64286, '\p{^Is_Ccc: 000026}', "");
-Expect(0, 64286, '\P{Is_Ccc: 000026}', "");
-Expect(1, 64286, '\P{^Is_Ccc: 000026}', "");
-Expect(0, 64285, '\p{Is_Ccc: 000026}', "");
-Expect(1, 64285, '\p{^Is_Ccc: 000026}', "");
-Expect(1, 64285, '\P{Is_Ccc: 000026}', "");
-Expect(0, 64285, '\P{^Is_Ccc: 000026}', "");
-Error('\p{Canonical_Combining_Class=/a/-+000000000103}');
-Error('\P{Canonical_Combining_Class=/a/-+000000000103}');
-Expect(1, 3641, '\p{Canonical_Combining_Class=+000000103}', "");
-Expect(0, 3641, '\p{^Canonical_Combining_Class=+000000103}', "");
-Expect(0, 3641, '\P{Canonical_Combining_Class=+000000103}', "");
-Expect(1, 3641, '\P{^Canonical_Combining_Class=+000000103}', "");
-Expect(0, 3639, '\p{Canonical_Combining_Class=+000000103}', "");
-Expect(1, 3639, '\p{^Canonical_Combining_Class=+000000103}', "");
-Expect(1, 3639, '\P{Canonical_Combining_Class=+000000103}', "");
-Expect(0, 3639, '\P{^Canonical_Combining_Class=+000000103}', "");
-Error('\p{Ccc=/a/ _0000000103}');
-Error('\P{Ccc=/a/ _0000000103}');
-Expect(1, 3641, '\p{Ccc=0000000103}', "");
-Expect(0, 3641, '\p{^Ccc=0000000103}', "");
-Expect(0, 3641, '\P{Ccc=0000000103}', "");
-Expect(1, 3641, '\P{^Ccc=0000000103}', "");
-Expect(0, 3639, '\p{Ccc=0000000103}', "");
-Expect(1, 3639, '\p{^Ccc=0000000103}', "");
-Expect(1, 3639, '\P{Ccc=0000000103}', "");
-Expect(0, 3639, '\P{^Ccc=0000000103}', "");
-Error('\p{Is_Canonical_Combining_Class=-:=+0 00_0-00 0103}');
-Error('\P{Is_Canonical_Combining_Class=-:=+0 00_0-00 0103}');
-Expect(1, 3641, '\p{Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(0, 3641, '\p{^Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(0, 3641, '\P{Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(1, 3641, '\P{^Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(0, 3639, '\p{Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(1, 3639, '\p{^Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(1, 3639, '\P{Is_Canonical_Combining_Class=00_00_10_3}', "");
-Expect(0, 3639, '\P{^Is_Canonical_Combining_Class=00_00_10_3}', "");
-Error('\p{Is_Ccc: :=00103}');
-Error('\P{Is_Ccc: :=00103}');
-Expect(1, 3641, '\p{Is_Ccc: 0000000103}', "");
-Expect(0, 3641, '\p{^Is_Ccc: 0000000103}', "");
-Expect(0, 3641, '\P{Is_Ccc: 0000000103}', "");
-Expect(1, 3641, '\P{^Is_Ccc: 0000000103}', "");
-Expect(0, 3639, '\p{Is_Ccc: 0000000103}', "");
-Expect(1, 3639, '\p{^Is_Ccc: 0000000103}', "");
-Expect(1, 3639, '\P{Is_Ccc: 0000000103}', "");
-Expect(0, 3639, '\P{^Is_Ccc: 0000000103}', "");
-Error('\p{Canonical_Combining_Class: /a/01-0}');
-Error('\P{Canonical_Combining_Class: /a/01-0}');
-Expect(1, 1456, '\p{Canonical_Combining_Class=00000010}', "");
-Expect(0, 1456, '\p{^Canonical_Combining_Class=00000010}', "");
-Expect(0, 1456, '\P{Canonical_Combining_Class=00000010}', "");
-Expect(1, 1456, '\P{^Canonical_Combining_Class=00000010}', "");
-Expect(0, 1455, '\p{Canonical_Combining_Class=00000010}', "");
-Expect(1, 1455, '\p{^Canonical_Combining_Class=00000010}', "");
-Expect(1, 1455, '\P{Canonical_Combining_Class=00000010}', "");
-Expect(0, 1455, '\P{^Canonical_Combining_Class=00000010}', "");
-Error('\p{Ccc= :=00000000010}');
-Error('\P{Ccc= :=00000000010}');
-Expect(1, 1456, '\p{Ccc=+0010}', "");
-Expect(0, 1456, '\p{^Ccc=+0010}', "");
-Expect(0, 1456, '\P{Ccc=+0010}', "");
-Expect(1, 1456, '\P{^Ccc=+0010}', "");
-Expect(0, 1455, '\p{Ccc=+0010}', "");
-Expect(1, 1455, '\p{^Ccc=+0010}', "");
-Expect(1, 1455, '\P{Ccc=+0010}', "");
-Expect(0, 1455, '\P{^Ccc=+0010}', "");
-Error('\p{Is_Canonical_Combining_Class= _0010:=}');
-Error('\P{Is_Canonical_Combining_Class= _0010:=}');
-Expect(1, 1456, '\p{Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(0, 1456, '\p{^Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(0, 1456, '\P{Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(1, 1456, '\P{^Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(0, 1455, '\p{Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(1, 1455, '\p{^Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(1, 1455, '\P{Is_Canonical_Combining_Class=+0000001_0}', "");
-Expect(0, 1455, '\P{^Is_Canonical_Combining_Class=+0000001_0}', "");
-Error('\p{Is_Ccc: -/a/0 00 0 0010}');
-Error('\P{Is_Ccc: -/a/0 00 0 0010}');
-Expect(1, 1456, '\p{Is_Ccc=+0000010}', "");
-Expect(0, 1456, '\p{^Is_Ccc=+0000010}', "");
-Expect(0, 1456, '\P{Is_Ccc=+0000010}', "");
-Expect(1, 1456, '\P{^Is_Ccc=+0000010}', "");
-Expect(0, 1455, '\p{Is_Ccc=+0000010}', "");
-Expect(1, 1455, '\p{^Is_Ccc=+0000010}', "");
-Expect(1, 1455, '\P{Is_Ccc=+0000010}', "");
-Expect(0, 1455, '\P{^Is_Ccc=+0000010}', "");
-Error('\p{Canonical_Combining_Class=-+00/a/0_0-0091}');
-Error('\P{Canonical_Combining_Class=-+00/a/0_0-0091}');
-Expect(1, 3158, '\p{Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(0, 3158, '\p{^Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(0, 3158, '\P{Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(1, 3158, '\P{^Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(0, 3157, '\p{Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(1, 3157, '\p{^Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(1, 3157, '\P{Canonical_Combining_Class=+0_0_0_0_091}', "");
-Expect(0, 3157, '\P{^Canonical_Combining_Class=+0_0_0_0_091}', "");
-Error('\p{Ccc=:= _91}');
-Error('\P{Ccc=:= _91}');
-Expect(1, 3158, '\p{Ccc=00091}', "");
-Expect(0, 3158, '\p{^Ccc=00091}', "");
-Expect(0, 3158, '\P{Ccc=00091}', "");
-Expect(1, 3158, '\P{^Ccc=00091}', "");
-Expect(0, 3157, '\p{Ccc=00091}', "");
-Expect(1, 3157, '\p{^Ccc=00091}', "");
-Expect(1, 3157, '\P{Ccc=00091}', "");
-Expect(0, 3157, '\P{^Ccc=00091}', "");
-Error('\p{Is_Canonical_Combining_Class= 0 0 0:=00091}');
-Error('\P{Is_Canonical_Combining_Class= 0 0 0:=00091}');
-Expect(1, 3158, '\p{Is_Canonical_Combining_Class=00091}', "");
-Expect(0, 3158, '\p{^Is_Canonical_Combining_Class=00091}', "");
-Expect(0, 3158, '\P{Is_Canonical_Combining_Class=00091}', "");
-Expect(1, 3158, '\P{^Is_Canonical_Combining_Class=00091}', "");
-Expect(0, 3157, '\p{Is_Canonical_Combining_Class=00091}', "");
-Expect(1, 3157, '\p{^Is_Canonical_Combining_Class=00091}', "");
-Expect(1, 3157, '\P{Is_Canonical_Combining_Class=00091}', "");
-Expect(0, 3157, '\P{^Is_Canonical_Combining_Class=00091}', "");
-Error('\p{Is_Ccc= +0000/a/91}');
-Error('\P{Is_Ccc= +0000/a/91}');
-Expect(1, 3158, '\p{Is_Ccc=0000000091}', "");
-Expect(0, 3158, '\p{^Is_Ccc=0000000091}', "");
-Expect(0, 3158, '\P{Is_Ccc=0000000091}', "");
-Expect(1, 3158, '\P{^Is_Ccc=0000000091}', "");
-Expect(0, 3157, '\p{Is_Ccc=0000000091}', "");
-Expect(1, 3157, '\p{^Is_Ccc=0000000091}', "");
-Expect(1, 3157, '\P{Is_Ccc=0000000091}', "");
-Expect(0, 3157, '\P{^Is_Ccc=0000000091}', "");
-Error('\p{Canonical_Combining_Class= 00000000107/a/}');
-Error('\P{Canonical_Combining_Class= 00000000107/a/}');
-Expect(1, 3659, '\p{Canonical_Combining_Class=+0107}', "");
-Expect(0, 3659, '\p{^Canonical_Combining_Class=+0107}', "");
-Expect(0, 3659, '\P{Canonical_Combining_Class=+0107}', "");
-Expect(1, 3659, '\P{^Canonical_Combining_Class=+0107}', "");
-Expect(0, 3655, '\p{Canonical_Combining_Class=+0107}', "");
-Expect(1, 3655, '\p{^Canonical_Combining_Class=+0107}', "");
-Expect(1, 3655, '\P{Canonical_Combining_Class=+0107}', "");
-Expect(0, 3655, '\P{^Canonical_Combining_Class=+0107}', "");
-Error('\p{Ccc=--00107/a/}');
-Error('\P{Ccc=--00107/a/}');
-Expect(1, 3659, '\p{Ccc=+0010_7}', "");
-Expect(0, 3659, '\p{^Ccc=+0010_7}', "");
-Expect(0, 3659, '\P{Ccc=+0010_7}', "");
-Expect(1, 3659, '\P{^Ccc=+0010_7}', "");
-Expect(0, 3655, '\p{Ccc=+0010_7}', "");
-Expect(1, 3655, '\p{^Ccc=+0010_7}', "");
-Expect(1, 3655, '\P{Ccc=+0010_7}', "");
-Expect(0, 3655, '\P{^Ccc=+0010_7}', "");
-Error('\p{Is_Canonical_Combining_Class= +0-00_0_0 0 107:=}');
-Error('\P{Is_Canonical_Combining_Class= +0-00_0_0 0 107:=}');
-Expect(1, 3659, '\p{Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(0, 3659, '\p{^Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(0, 3659, '\P{Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(1, 3659, '\P{^Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(0, 3655, '\p{Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(1, 3655, '\p{^Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(1, 3655, '\P{Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Expect(0, 3655, '\P{^Is_Canonical_Combining_Class=+00_00_00_107}', "");
-Error('\p{Is_Ccc=/a/0000010_7}');
-Error('\P{Is_Ccc=/a/0000010_7}');
-Expect(1, 3659, '\p{Is_Ccc: +0000000107}', "");
-Expect(0, 3659, '\p{^Is_Ccc: +0000000107}', "");
-Expect(0, 3659, '\P{Is_Ccc: +0000000107}', "");
-Expect(1, 3659, '\P{^Is_Ccc: +0000000107}', "");
-Expect(0, 3655, '\p{Is_Ccc: +0000000107}', "");
-Expect(1, 3655, '\p{^Is_Ccc: +0000000107}', "");
-Expect(1, 3655, '\P{Is_Ccc: +0000000107}', "");
-Expect(0, 3655, '\P{^Is_Ccc: +0000000107}', "");
-Error('\p{Canonical_Combining_Class= Attached/a/Above}');
-Error('\P{Canonical_Combining_Class= Attached/a/Above}');
-Expect(1, 7630, '\p{Canonical_Combining_Class=attachedabove}', "");
-Expect(0, 7630, '\p{^Canonical_Combining_Class=attachedabove}', "");
-Expect(0, 7630, '\P{Canonical_Combining_Class=attachedabove}', "");
-Expect(1, 7630, '\P{^Canonical_Combining_Class=attachedabove}', "");
-Expect(0, 7629, '\p{Canonical_Combining_Class=attachedabove}', "");
-Expect(1, 7629, '\p{^Canonical_Combining_Class=attachedabove}', "");
-Expect(1, 7629, '\P{Canonical_Combining_Class=attachedabove}', "");
-Expect(0, 7629, '\P{^Canonical_Combining_Class=attachedabove}', "");
-Expect(1, 7630, '\p{Canonical_Combining_Class=_attached-above}', "");
-Expect(0, 7630, '\p{^Canonical_Combining_Class=_attached-above}', "");
-Expect(0, 7630, '\P{Canonical_Combining_Class=_attached-above}', "");
-Expect(1, 7630, '\P{^Canonical_Combining_Class=_attached-above}', "");
-Expect(0, 7629, '\p{Canonical_Combining_Class=_attached-above}', "");
-Expect(1, 7629, '\p{^Canonical_Combining_Class=_attached-above}', "");
-Expect(1, 7629, '\P{Canonical_Combining_Class=_attached-above}', "");
-Expect(0, 7629, '\P{^Canonical_Combining_Class=_attached-above}', "");
-Error('\p{Ccc: /a/ ATA}');
-Error('\P{Ccc: /a/ ATA}');
-Expect(1, 7630, '\p{Ccc: ata}', "");
-Expect(0, 7630, '\p{^Ccc: ata}', "");
-Expect(0, 7630, '\P{Ccc: ata}', "");
-Expect(1, 7630, '\P{^Ccc: ata}', "");
-Expect(0, 7629, '\p{Ccc: ata}', "");
-Expect(1, 7629, '\p{^Ccc: ata}', "");
-Expect(1, 7629, '\P{Ccc: ata}', "");
-Expect(0, 7629, '\P{^Ccc: ata}', "");
-Expect(1, 7630, '\p{Ccc: -ATA}', "");
-Expect(0, 7630, '\p{^Ccc: -ATA}', "");
-Expect(0, 7630, '\P{Ccc: -ATA}', "");
-Expect(1, 7630, '\P{^Ccc: -ATA}', "");
-Expect(0, 7629, '\p{Ccc: -ATA}', "");
-Expect(1, 7629, '\p{^Ccc: -ATA}', "");
-Expect(1, 7629, '\P{Ccc: -ATA}', "");
-Expect(0, 7629, '\P{^Ccc: -ATA}', "");
-Error('\p{Is_Canonical_Combining_Class=_-0214:=}');
-Error('\P{Is_Canonical_Combining_Class=_-0214:=}');
-Expect(1, 7630, '\p{Is_Canonical_Combining_Class=00021_4}', "");
-Expect(0, 7630, '\p{^Is_Canonical_Combining_Class=00021_4}', "");
-Expect(0, 7630, '\P{Is_Canonical_Combining_Class=00021_4}', "");
-Expect(1, 7630, '\P{^Is_Canonical_Combining_Class=00021_4}', "");
-Expect(0, 7629, '\p{Is_Canonical_Combining_Class=00021_4}', "");
-Expect(1, 7629, '\p{^Is_Canonical_Combining_Class=00021_4}', "");
-Expect(1, 7629, '\P{Is_Canonical_Combining_Class=00021_4}', "");
-Expect(0, 7629, '\P{^Is_Canonical_Combining_Class=00021_4}', "");
-Error('\p{Is_Ccc= _Attached Above:=}');
-Error('\P{Is_Ccc= _Attached Above:=}');
-Expect(1, 7630, '\p{Is_Ccc=attachedabove}', "");
-Expect(0, 7630, '\p{^Is_Ccc=attachedabove}', "");
-Expect(0, 7630, '\P{Is_Ccc=attachedabove}', "");
-Expect(1, 7630, '\P{^Is_Ccc=attachedabove}', "");
-Expect(0, 7629, '\p{Is_Ccc=attachedabove}', "");
-Expect(1, 7629, '\p{^Is_Ccc=attachedabove}', "");
-Expect(1, 7629, '\P{Is_Ccc=attachedabove}', "");
-Expect(0, 7629, '\P{^Is_Ccc=attachedabove}', "");
-Expect(1, 7630, '\p{Is_Ccc= Attached_above}', "");
-Expect(0, 7630, '\p{^Is_Ccc= Attached_above}', "");
-Expect(0, 7630, '\P{Is_Ccc= Attached_above}', "");
-Expect(1, 7630, '\P{^Is_Ccc= Attached_above}', "");
-Expect(0, 7629, '\p{Is_Ccc= Attached_above}', "");
-Expect(1, 7629, '\p{^Is_Ccc= Attached_above}', "");
-Expect(1, 7629, '\P{Is_Ccc= Attached_above}', "");
-Expect(0, 7629, '\P{^Is_Ccc= Attached_above}', "");
-Error('\p{Canonical_Combining_Class= 0:=0-0 0 0_0_0 0012}');
-Error('\P{Canonical_Combining_Class= 0:=0-0 0 0_0_0 0012}');
-Expect(1, 1458, '\p{Canonical_Combining_Class=00000012}', "");
-Expect(0, 1458, '\p{^Canonical_Combining_Class=00000012}', "");
-Expect(0, 1458, '\P{Canonical_Combining_Class=00000012}', "");
-Expect(1, 1458, '\P{^Canonical_Combining_Class=00000012}', "");
-Expect(0, 1457, '\p{Canonical_Combining_Class=00000012}', "");
-Expect(1, 1457, '\p{^Canonical_Combining_Class=00000012}', "");
-Expect(1, 1457, '\P{Canonical_Combining_Class=00000012}', "");
-Expect(0, 1457, '\P{^Canonical_Combining_Class=00000012}', "");
-Error('\p{Ccc=-/a/000000012}');
-Error('\P{Ccc=-/a/000000012}');
-Expect(1, 1458, '\p{Ccc=+0_0_0_12}', "");
-Expect(0, 1458, '\p{^Ccc=+0_0_0_12}', "");
-Expect(0, 1458, '\P{Ccc=+0_0_0_12}', "");
-Expect(1, 1458, '\P{^Ccc=+0_0_0_12}', "");
-Expect(0, 1457, '\p{Ccc=+0_0_0_12}', "");
-Expect(1, 1457, '\p{^Ccc=+0_0_0_12}', "");
-Expect(1, 1457, '\P{Ccc=+0_0_0_12}', "");
-Expect(0, 1457, '\P{^Ccc=+0_0_0_12}', "");
-Error('\p{Is_Canonical_Combining_Class=+0000000012:=}');
-Error('\P{Is_Canonical_Combining_Class=+0000000012:=}');
-Expect(1, 1458, '\p{Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(0, 1458, '\p{^Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(0, 1458, '\P{Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(1, 1458, '\P{^Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(0, 1457, '\p{Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(1, 1457, '\p{^Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(1, 1457, '\P{Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Expect(0, 1457, '\P{^Is_Canonical_Combining_Class=0_0_0_0_12}', "");
-Error('\p{Is_Ccc= 0000012:=}');
-Error('\P{Is_Ccc= 0000012:=}');
-Expect(1, 1458, '\p{Is_Ccc=00_01_2}', "");
-Expect(0, 1458, '\p{^Is_Ccc=00_01_2}', "");
-Expect(0, 1458, '\P{Is_Ccc=00_01_2}', "");
-Expect(1, 1458, '\P{^Is_Ccc=00_01_2}', "");
-Expect(0, 1457, '\p{Is_Ccc=00_01_2}', "");
-Expect(1, 1457, '\p{^Is_Ccc=00_01_2}', "");
-Expect(1, 1457, '\P{Is_Ccc=00_01_2}', "");
-Expect(0, 1457, '\P{^Is_Ccc=00_01_2}', "");
-Error('\p{Canonical_Combining_Class=-/a/19}');
-Error('\P{Canonical_Combining_Class=-/a/19}');
-Expect(1, 1466, '\p{Canonical_Combining_Class=000000001_9}', "");
-Expect(0, 1466, '\p{^Canonical_Combining_Class=000000001_9}', "");
-Expect(0, 1466, '\P{Canonical_Combining_Class=000000001_9}', "");
-Expect(1, 1466, '\P{^Canonical_Combining_Class=000000001_9}', "");
-Expect(0, 1464, '\p{Canonical_Combining_Class=000000001_9}', "");
-Expect(1, 1464, '\p{^Canonical_Combining_Class=000000001_9}', "");
-Expect(1, 1464, '\P{Canonical_Combining_Class=000000001_9}', "");
-Expect(0, 1464, '\P{^Canonical_Combining_Class=000000001_9}', "");
-Error('\p{Ccc=0000000019/a/}');
-Error('\P{Ccc=0000000019/a/}');
-Expect(1, 1466, '\p{Ccc=+000_000_000_19}', "");
-Expect(0, 1466, '\p{^Ccc=+000_000_000_19}', "");
-Expect(0, 1466, '\P{Ccc=+000_000_000_19}', "");
-Expect(1, 1466, '\P{^Ccc=+000_000_000_19}', "");
-Expect(0, 1464, '\p{Ccc=+000_000_000_19}', "");
-Expect(1, 1464, '\p{^Ccc=+000_000_000_19}', "");
-Expect(1, 1464, '\P{Ccc=+000_000_000_19}', "");
-Expect(0, 1464, '\P{^Ccc=+000_000_000_19}', "");
-Error('\p{Is_Canonical_Combining_Class=/a/-_00019}');
-Error('\P{Is_Canonical_Combining_Class=/a/-_00019}');
-Expect(1, 1466, '\p{Is_Canonical_Combining_Class=+0019}', "");
-Expect(0, 1466, '\p{^Is_Canonical_Combining_Class=+0019}', "");
-Expect(0, 1466, '\P{Is_Canonical_Combining_Class=+0019}', "");
-Expect(1, 1466, '\P{^Is_Canonical_Combining_Class=+0019}', "");
-Expect(0, 1464, '\p{Is_Canonical_Combining_Class=+0019}', "");
-Expect(1, 1464, '\p{^Is_Canonical_Combining_Class=+0019}', "");
-Expect(1, 1464, '\P{Is_Canonical_Combining_Class=+0019}', "");
-Expect(0, 1464, '\P{^Is_Canonical_Combining_Class=+0019}', "");
-Error('\p{Is_Ccc= 00019:=}');
-Error('\P{Is_Ccc= 00019:=}');
-Expect(1, 1466, '\p{Is_Ccc=0_0_0_0_019}', "");
-Expect(0, 1466, '\p{^Is_Ccc=0_0_0_0_019}', "");
-Expect(0, 1466, '\P{Is_Ccc=0_0_0_0_019}', "");
-Expect(1, 1466, '\P{^Is_Ccc=0_0_0_0_019}', "");
-Expect(0, 1464, '\p{Is_Ccc=0_0_0_0_019}', "");
-Expect(1, 1464, '\p{^Is_Ccc=0_0_0_0_019}', "");
-Expect(1, 1464, '\P{Is_Ccc=0_0_0_0_019}', "");
-Expect(0, 1464, '\P{^Is_Ccc=0_0_0_0_019}', "");
-Error('\p{Canonical_Combining_Class: :=030}');
-Error('\P{Canonical_Combining_Class: :=030}');
-Expect(1, 1560, '\p{Canonical_Combining_Class=+003_0}', "");
-Expect(0, 1560, '\p{^Canonical_Combining_Class=+003_0}', "");
-Expect(0, 1560, '\P{Canonical_Combining_Class=+003_0}', "");
-Expect(1, 1560, '\P{^Canonical_Combining_Class=+003_0}', "");
-Expect(0, 1559, '\p{Canonical_Combining_Class=+003_0}', "");
-Expect(1, 1559, '\p{^Canonical_Combining_Class=+003_0}', "");
-Expect(1, 1559, '\P{Canonical_Combining_Class=+003_0}', "");
-Expect(0, 1559, '\P{^Canonical_Combining_Class=+003_0}', "");
-Error('\p{Ccc: :=_ 000000030}');
-Error('\P{Ccc: :=_ 000000030}');
-Expect(1, 1560, '\p{Ccc=0_0_0_0_0_0_0030}', "");
-Expect(0, 1560, '\p{^Ccc=0_0_0_0_0_0_0030}', "");
-Expect(0, 1560, '\P{Ccc=0_0_0_0_0_0_0030}', "");
-Expect(1, 1560, '\P{^Ccc=0_0_0_0_0_0_0030}', "");
-Expect(0, 1559, '\p{Ccc=0_0_0_0_0_0_0030}', "");
-Expect(1, 1559, '\p{^Ccc=0_0_0_0_0_0_0030}', "");
-Expect(1, 1559, '\P{Ccc=0_0_0_0_0_0_0030}', "");
-Expect(0, 1559, '\P{^Ccc=0_0_0_0_0_0_0030}', "");
-Error('\p{Is_Canonical_Combining_Class=__+0000000030/a/}');
-Error('\P{Is_Canonical_Combining_Class=__+0000000030/a/}');
-Expect(1, 1560, '\p{Is_Canonical_Combining_Class=00000000030}', "");
-Expect(0, 1560, '\p{^Is_Canonical_Combining_Class=00000000030}', "");
-Expect(0, 1560, '\P{Is_Canonical_Combining_Class=00000000030}', "");
-Expect(1, 1560, '\P{^Is_Canonical_Combining_Class=00000000030}', "");
-Expect(0, 1559, '\p{Is_Canonical_Combining_Class=00000000030}', "");
-Expect(1, 1559, '\p{^Is_Canonical_Combining_Class=00000000030}', "");
-Expect(1, 1559, '\P{Is_Canonical_Combining_Class=00000000030}', "");
-Expect(0, 1559, '\P{^Is_Canonical_Combining_Class=00000000030}', "");
-Error('\p{Is_Ccc=/a/ -0030}');
-Error('\P{Is_Ccc=/a/ -0030}');
-Expect(1, 1560, '\p{Is_Ccc=+030}', "");
-Expect(0, 1560, '\p{^Is_Ccc=+030}', "");
-Expect(0, 1560, '\P{Is_Ccc=+030}', "");
-Expect(1, 1560, '\P{^Is_Ccc=+030}', "");
-Expect(0, 1559, '\p{Is_Ccc=+030}', "");
-Expect(1, 1559, '\p{^Is_Ccc=+030}', "");
-Expect(1, 1559, '\P{Is_Ccc=+030}', "");
-Expect(0, 1559, '\P{^Is_Ccc=+030}', "");
-Error('\p{Canonical_Combining_Class=:= _00_00-00_00 025}');
-Error('\P{Canonical_Combining_Class=:= _00_00-00_00 025}');
-Expect(1, 1474, '\p{Canonical_Combining_Class=025}', "");
-Expect(0, 1474, '\p{^Canonical_Combining_Class=025}', "");
-Expect(0, 1474, '\P{Canonical_Combining_Class=025}', "");
-Expect(1, 1474, '\P{^Canonical_Combining_Class=025}', "");
-Expect(0, 1473, '\p{Canonical_Combining_Class=025}', "");
-Expect(1, 1473, '\p{^Canonical_Combining_Class=025}', "");
-Expect(1, 1473, '\P{Canonical_Combining_Class=025}', "");
-Expect(0, 1473, '\P{^Canonical_Combining_Class=025}', "");
-Error('\p{Ccc=_:=0 0_0 0 0 25}');
-Error('\P{Ccc=_:=0 0_0 0 0 25}');
-Expect(1, 1474, '\p{Ccc=0025}', "");
-Expect(0, 1474, '\p{^Ccc=0025}', "");
-Expect(0, 1474, '\P{Ccc=0025}', "");
-Expect(1, 1474, '\P{^Ccc=0025}', "");
-Expect(0, 1473, '\p{Ccc=0025}', "");
-Expect(1, 1473, '\p{^Ccc=0025}', "");
-Expect(1, 1473, '\P{Ccc=0025}', "");
-Expect(0, 1473, '\P{^Ccc=0025}', "");
-Error('\p{Is_Canonical_Combining_Class=/a/0000025}');
-Error('\P{Is_Canonical_Combining_Class=/a/0000025}');
-Expect(1, 1474, '\p{Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(0, 1474, '\p{^Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(0, 1474, '\P{Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(1, 1474, '\P{^Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(0, 1473, '\p{Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(1, 1473, '\p{^Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(1, 1473, '\P{Is_Canonical_Combining_Class=00_00_02_5}', "");
-Expect(0, 1473, '\P{^Is_Canonical_Combining_Class=00_00_02_5}', "");
-Error('\p{Is_Ccc=_-+00025/a/}');
-Error('\P{Is_Ccc=_-+00025/a/}');
-Expect(1, 1474, '\p{Is_Ccc=+000002_5}', "");
-Expect(0, 1474, '\p{^Is_Ccc=+000002_5}', "");
-Expect(0, 1474, '\P{Is_Ccc=+000002_5}', "");
-Expect(1, 1474, '\P{^Is_Ccc=+000002_5}', "");
-Expect(0, 1473, '\p{Is_Ccc=+000002_5}', "");
-Expect(1, 1473, '\p{^Is_Ccc=+000002_5}', "");
-Expect(1, 1473, '\P{Is_Ccc=+000002_5}', "");
-Expect(0, 1473, '\P{^Is_Ccc=+000002_5}', "");
-Error('\p{Canonical_Combining_Class= :=02 8}');
-Error('\P{Canonical_Combining_Class= :=02 8}');
-Expect(1, 1612, '\p{Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(0, 1612, '\p{^Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(0, 1612, '\P{Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(1, 1612, '\P{^Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(0, 1611, '\p{Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(1, 1611, '\p{^Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(1, 1611, '\P{Canonical_Combining_Class=+00_00_00_028}', "");
-Expect(0, 1611, '\P{^Canonical_Combining_Class=+00_00_00_028}', "");
-Error('\p{Ccc=0000000002 8:=}');
-Error('\P{Ccc=0000000002 8:=}');
-Expect(1, 1612, '\p{Ccc=02_8}', "");
-Expect(0, 1612, '\p{^Ccc=02_8}', "");
-Expect(0, 1612, '\P{Ccc=02_8}', "");
-Expect(1, 1612, '\P{^Ccc=02_8}', "");
-Expect(0, 1611, '\p{Ccc=02_8}', "");
-Expect(1, 1611, '\p{^Ccc=02_8}', "");
-Expect(1, 1611, '\P{Ccc=02_8}', "");
-Expect(0, 1611, '\P{^Ccc=02_8}', "");
-Error('\p{Is_Canonical_Combining_Class= 0 0:=28}');
-Error('\P{Is_Canonical_Combining_Class= 0 0:=28}');
-Expect(1, 1612, '\p{Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(0, 1612, '\p{^Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(0, 1612, '\P{Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(1, 1612, '\P{^Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(0, 1611, '\p{Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(1, 1611, '\p{^Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(1, 1611, '\P{Is_Canonical_Combining_Class=00_00_00_28}', "");
-Expect(0, 1611, '\P{^Is_Canonical_Combining_Class=00_00_00_28}', "");
-Error('\p{Is_Ccc=-_0002:=8}');
-Error('\P{Is_Ccc=-_0002:=8}');
-Expect(1, 1612, '\p{Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(0, 1612, '\p{^Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(0, 1612, '\P{Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(1, 1612, '\P{^Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(0, 1611, '\p{Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(1, 1611, '\p{^Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(1, 1611, '\P{Is_Ccc=+0_0_0_0_0_0_28}', "");
-Expect(0, 1611, '\P{^Is_Ccc=+0_0_0_0_0_0_28}', "");
-Error('\p{Canonical_Combining_Class= -000130:=}');
-Error('\P{Canonical_Combining_Class= -000130:=}');
-Expect(1, 3954, '\p{Canonical_Combining_Class:000000130}', "");
-Expect(0, 3954, '\p{^Canonical_Combining_Class:000000130}', "");
-Expect(0, 3954, '\P{Canonical_Combining_Class:000000130}', "");
-Expect(1, 3954, '\P{^Canonical_Combining_Class:000000130}', "");
-Expect(0, 3953, '\p{Canonical_Combining_Class:000000130}', "");
-Expect(1, 3953, '\p{^Canonical_Combining_Class:000000130}', "");
-Expect(1, 3953, '\P{Canonical_Combining_Class:000000130}', "");
-Expect(0, 3953, '\P{^Canonical_Combining_Class:000000130}', "");
-Error('\p{Ccc= +0000130:=}');
-Error('\P{Ccc= +0000130:=}');
-Expect(1, 3954, '\p{Ccc=0000000130}', "");
-Expect(0, 3954, '\p{^Ccc=0000000130}', "");
-Expect(0, 3954, '\P{Ccc=0000000130}', "");
-Expect(1, 3954, '\P{^Ccc=0000000130}', "");
-Expect(0, 3953, '\p{Ccc=0000000130}', "");
-Expect(1, 3953, '\p{^Ccc=0000000130}', "");
-Expect(1, 3953, '\P{Ccc=0000000130}', "");
-Expect(0, 3953, '\P{^Ccc=0000000130}', "");
-Error('\p{Is_Canonical_Combining_Class= 000130:=}');
-Error('\P{Is_Canonical_Combining_Class= 000130:=}');
-Expect(1, 3954, '\p{Is_Canonical_Combining_Class=00130}', "");
-Expect(0, 3954, '\p{^Is_Canonical_Combining_Class=00130}', "");
-Expect(0, 3954, '\P{Is_Canonical_Combining_Class=00130}', "");
-Expect(1, 3954, '\P{^Is_Canonical_Combining_Class=00130}', "");
-Expect(0, 3953, '\p{Is_Canonical_Combining_Class=00130}', "");
-Expect(1, 3953, '\p{^Is_Canonical_Combining_Class=00130}', "");
-Expect(1, 3953, '\P{Is_Canonical_Combining_Class=00130}', "");
-Expect(0, 3953, '\P{^Is_Canonical_Combining_Class=00130}', "");
-Error('\p{Is_Ccc=/a/- 00000000130}');
-Error('\P{Is_Ccc=/a/- 00000000130}');
-Expect(1, 3954, '\p{Is_Ccc=0_0_0_130}', "");
-Expect(0, 3954, '\p{^Is_Ccc=0_0_0_130}', "");
-Expect(0, 3954, '\P{Is_Ccc=0_0_0_130}', "");
-Expect(1, 3954, '\P{^Is_Ccc=0_0_0_130}', "");
-Expect(0, 3953, '\p{Is_Ccc=0_0_0_130}', "");
-Expect(1, 3953, '\p{^Is_Ccc=0_0_0_130}', "");
-Expect(1, 3953, '\P{Is_Ccc=0_0_0_130}', "");
-Expect(0, 3953, '\P{^Is_Ccc=0_0_0_130}', "");
-Error('\p{Canonical_Combining_Class=/a/ 0122}');
-Error('\P{Canonical_Combining_Class=/a/ 0122}');
-Expect(1, 3787, '\p{Canonical_Combining_Class=00000000012_2}', "");
-Expect(0, 3787, '\p{^Canonical_Combining_Class=00000000012_2}', "");
-Expect(0, 3787, '\P{Canonical_Combining_Class=00000000012_2}', "");
-Expect(1, 3787, '\P{^Canonical_Combining_Class=00000000012_2}', "");
-Expect(0, 3783, '\p{Canonical_Combining_Class=00000000012_2}', "");
-Expect(1, 3783, '\p{^Canonical_Combining_Class=00000000012_2}', "");
-Expect(1, 3783, '\P{Canonical_Combining_Class=00000000012_2}', "");
-Expect(0, 3783, '\P{^Canonical_Combining_Class=00000000012_2}', "");
-Error('\p{Ccc=- 000/a/012-2}');
-Error('\P{Ccc=- 000/a/012-2}');
-Expect(1, 3787, '\p{Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(0, 3787, '\p{^Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(0, 3787, '\P{Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(1, 3787, '\P{^Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(0, 3783, '\p{Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(1, 3783, '\p{^Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(1, 3783, '\P{Ccc: 0_0_0_0_0_0_0_122}', "");
-Expect(0, 3783, '\P{^Ccc: 0_0_0_0_0_0_0_122}', "");
-Error('\p{Is_Canonical_Combining_Class=:= +000000122}');
-Error('\P{Is_Canonical_Combining_Class=:= +000000122}');
-Expect(1, 3787, '\p{Is_Canonical_Combining_Class=00122}', "");
-Expect(0, 3787, '\p{^Is_Canonical_Combining_Class=00122}', "");
-Expect(0, 3787, '\P{Is_Canonical_Combining_Class=00122}', "");
-Expect(1, 3787, '\P{^Is_Canonical_Combining_Class=00122}', "");
-Expect(0, 3783, '\p{Is_Canonical_Combining_Class=00122}', "");
-Expect(1, 3783, '\p{^Is_Canonical_Combining_Class=00122}', "");
-Expect(1, 3783, '\P{Is_Canonical_Combining_Class=00122}', "");
-Expect(0, 3783, '\P{^Is_Canonical_Combining_Class=00122}', "");
-Error('\p{Is_Ccc= 000_001:=22}');
-Error('\P{Is_Ccc= 000_001:=22}');
-Expect(1, 3787, '\p{Is_Ccc=00122}', "");
-Expect(0, 3787, '\p{^Is_Ccc=00122}', "");
-Expect(0, 3787, '\P{Is_Ccc=00122}', "");
-Expect(1, 3787, '\P{^Is_Ccc=00122}', "");
-Expect(0, 3783, '\p{Is_Ccc=00122}', "");
-Expect(1, 3783, '\p{^Is_Ccc=00122}', "");
-Expect(1, 3783, '\P{Is_Ccc=00122}', "");
-Expect(0, 3783, '\P{^Is_Ccc=00122}', "");
-Error('\p{Canonical_Combining_Class= :=2 2}');
-Error('\P{Canonical_Combining_Class= :=2 2}');
-Expect(1, 1469, '\p{Canonical_Combining_Class: 000000022}', "");
-Expect(0, 1469, '\p{^Canonical_Combining_Class: 000000022}', "");
-Expect(0, 1469, '\P{Canonical_Combining_Class: 000000022}', "");
-Expect(1, 1469, '\P{^Canonical_Combining_Class: 000000022}', "");
-Expect(0, 1468, '\p{Canonical_Combining_Class: 000000022}', "");
-Expect(1, 1468, '\p{^Canonical_Combining_Class: 000000022}', "");
-Expect(1, 1468, '\P{Canonical_Combining_Class: 000000022}', "");
-Expect(0, 1468, '\P{^Canonical_Combining_Class: 000000022}', "");
-Error('\p{Ccc=:= -022}');
-Error('\P{Ccc=:= -022}');
-Expect(1, 1469, '\p{Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(0, 1469, '\p{^Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(0, 1469, '\P{Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(1, 1469, '\P{^Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(0, 1468, '\p{Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(1, 1468, '\p{^Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(1, 1468, '\P{Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Expect(0, 1468, '\P{^Ccc=0_0_0_0_0_0_0_0_0_22}', "");
-Error('\p{Is_Canonical_Combining_Class=/a/_ 22}');
-Error('\P{Is_Canonical_Combining_Class=/a/_ 22}');
-Expect(1, 1469, '\p{Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(0, 1469, '\p{^Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(0, 1469, '\P{Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(1, 1469, '\P{^Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(0, 1468, '\p{Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(1, 1468, '\p{^Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(1, 1468, '\P{Is_Canonical_Combining_Class=00_00_22}', "");
-Expect(0, 1468, '\P{^Is_Canonical_Combining_Class=00_00_22}', "");
-Error('\p{Is_Ccc= :=000000022}');
-Error('\P{Is_Ccc= :=000000022}');
-Expect(1, 1469, '\p{Is_Ccc=0_0_0_22}', "");
-Expect(0, 1469, '\p{^Is_Ccc=0_0_0_22}', "");
-Expect(0, 1469, '\P{Is_Ccc=0_0_0_22}', "");
-Expect(1, 1469, '\P{^Is_Ccc=0_0_0_22}', "");
-Expect(0, 1468, '\p{Is_Ccc=0_0_0_22}', "");
-Expect(1, 1468, '\p{^Is_Ccc=0_0_0_22}', "");
-Expect(1, 1468, '\P{Is_Ccc=0_0_0_22}', "");
-Expect(0, 1468, '\P{^Is_Ccc=0_0_0_22}', "");
-Error('\p{Canonical_Combining_Class= :=0013}');
-Error('\P{Canonical_Combining_Class= :=0013}');
-Expect(1, 1459, '\p{Canonical_Combining_Class=0013}', "");
-Expect(0, 1459, '\p{^Canonical_Combining_Class=0013}', "");
-Expect(0, 1459, '\P{Canonical_Combining_Class=0013}', "");
-Expect(1, 1459, '\P{^Canonical_Combining_Class=0013}', "");
-Expect(0, 1458, '\p{Canonical_Combining_Class=0013}', "");
-Expect(1, 1458, '\p{^Canonical_Combining_Class=0013}', "");
-Expect(1, 1458, '\P{Canonical_Combining_Class=0013}', "");
-Expect(0, 1458, '\P{^Canonical_Combining_Class=0013}', "");
-Error('\p{Ccc=_:=0013}');
-Error('\P{Ccc=_:=0013}');
-Expect(1, 1459, '\p{Ccc=+00000001_3}', "");
-Expect(0, 1459, '\p{^Ccc=+00000001_3}', "");
-Expect(0, 1459, '\P{Ccc=+00000001_3}', "");
-Expect(1, 1459, '\P{^Ccc=+00000001_3}', "");
-Expect(0, 1458, '\p{Ccc=+00000001_3}', "");
-Expect(1, 1458, '\p{^Ccc=+00000001_3}', "");
-Expect(1, 1458, '\P{Ccc=+00000001_3}', "");
-Expect(0, 1458, '\P{^Ccc=+00000001_3}', "");
-Error('\p{Is_Canonical_Combining_Class=:= 0013}');
-Error('\P{Is_Canonical_Combining_Class=:= 0013}');
-Expect(1, 1459, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(0, 1459, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(0, 1459, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(1, 1459, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(0, 1458, '\p{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(1, 1458, '\p{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(1, 1458, '\P{Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Expect(0, 1458, '\P{^Is_Canonical_Combining_Class=0_0_0_0_0_0_0_0013}', "");
-Error('\p{Is_Ccc=/a/- 000013}');
-Error('\P{Is_Ccc=/a/- 000013}');
-Expect(1, 1459, '\p{Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(0, 1459, '\p{^Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(0, 1459, '\P{Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(1, 1459, '\P{^Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(0, 1458, '\p{Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(1, 1458, '\p{^Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(1, 1458, '\P{Is_Ccc: 0_0_0_0_0_00013}', "");
-Expect(0, 1458, '\P{^Is_Ccc: 0_0_0_0_0_00013}', "");
-Error('\p{Canonical_Combining_Class= +0000036:=}');
-Error('\P{Canonical_Combining_Class= +0000036:=}');
-Expect(1, 1809, '\p{Canonical_Combining_Class: 0036}', "");
-Expect(0, 1809, '\p{^Canonical_Combining_Class: 0036}', "");
-Expect(0, 1809, '\P{Canonical_Combining_Class: 0036}', "");
-Expect(1, 1809, '\P{^Canonical_Combining_Class: 0036}', "");
-Expect(0, 1808, '\p{Canonical_Combining_Class: 0036}', "");
-Expect(1, 1808, '\p{^Canonical_Combining_Class: 0036}', "");
-Expect(1, 1808, '\P{Canonical_Combining_Class: 0036}', "");
-Expect(0, 1808, '\P{^Canonical_Combining_Class: 0036}', "");
-Error('\p{Ccc=:=__00000003 6}');
-Error('\P{Ccc=:=__00000003 6}');
-Expect(1, 1809, '\p{Ccc=3_6}', "");
-Expect(0, 1809, '\p{^Ccc=3_6}', "");
-Expect(0, 1809, '\P{Ccc=3_6}', "");
-Expect(1, 1809, '\P{^Ccc=3_6}', "");
-Expect(0, 1808, '\p{Ccc=3_6}', "");
-Expect(1, 1808, '\p{^Ccc=3_6}', "");
-Expect(1, 1808, '\P{Ccc=3_6}', "");
-Expect(0, 1808, '\P{^Ccc=3_6}', "");
-Error('\p{Is_Canonical_Combining_Class= _000000036/a/}');
-Error('\P{Is_Canonical_Combining_Class= _000000036/a/}');
-Expect(1, 1809, '\p{Is_Canonical_Combining_Class=0036}', "");
-Expect(0, 1809, '\p{^Is_Canonical_Combining_Class=0036}', "");
-Expect(0, 1809, '\P{Is_Canonical_Combining_Class=0036}', "");
-Expect(1, 1809, '\P{^Is_Canonical_Combining_Class=0036}', "");
-Expect(0, 1808, '\p{Is_Canonical_Combining_Class=0036}', "");
-Expect(1, 1808, '\p{^Is_Canonical_Combining_Class=0036}', "");
-Expect(1, 1808, '\P{Is_Canonical_Combining_Class=0036}', "");
-Expect(0, 1808, '\P{^Is_Canonical_Combining_Class=0036}', "");
-Error('\p{Is_Ccc=+00 00 00 00-36/a/}');
-Error('\P{Is_Ccc=+00 00 00 00-36/a/}');
-Expect(1, 1809, '\p{Is_Ccc=+00000036}', "");
-Expect(0, 1809, '\p{^Is_Ccc=+00000036}', "");
-Expect(0, 1809, '\P{Is_Ccc=+00000036}', "");
-Expect(1, 1809, '\P{^Is_Ccc=+00000036}', "");
-Expect(0, 1808, '\p{Is_Ccc=+00000036}', "");
-Expect(1, 1808, '\p{^Is_Ccc=+00000036}', "");
-Expect(1, 1808, '\P{Is_Ccc=+00000036}', "");
-Expect(0, 1808, '\P{^Is_Ccc=+00000036}', "");
-Error('\p{Canonical_Combining_Class=-:=0000_0003_4}');
-Error('\P{Canonical_Combining_Class=-:=0000_0003_4}');
-Expect(1, 1618, '\p{Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(0, 1618, '\p{^Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(0, 1618, '\P{Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(1, 1618, '\P{^Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(0, 1617, '\p{Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(1, 1617, '\p{^Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(1, 1617, '\P{Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Expect(0, 1617, '\P{^Canonical_Combining_Class=0_0_0_0_0_0_34}', "");
-Error('\p{Ccc=- 034:=}');
-Error('\P{Ccc=- 034:=}');
-Expect(1, 1618, '\p{Ccc=00034}', "");
-Expect(0, 1618, '\p{^Ccc=00034}', "");
-Expect(0, 1618, '\P{Ccc=00034}', "");
-Expect(1, 1618, '\P{^Ccc=00034}', "");
-Expect(0, 1617, '\p{Ccc=00034}', "");
-Expect(1, 1617, '\p{^Ccc=00034}', "");
-Expect(1, 1617, '\P{Ccc=00034}', "");
-Expect(0, 1617, '\P{^Ccc=00034}', "");
-Error('\p{Is_Canonical_Combining_Class=-:=0 0 0_0 0-0 0-34}');
-Error('\P{Is_Canonical_Combining_Class=-:=0 0 0_0 0-0 0-34}');
-Expect(1, 1618, '\p{Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(0, 1618, '\p{^Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(0, 1618, '\P{Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(1, 1618, '\P{^Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(0, 1617, '\p{Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(1, 1617, '\p{^Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(1, 1617, '\P{Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Expect(0, 1617, '\P{^Is_Canonical_Combining_Class=0_0_0_0_034}', "");
-Error('\p{Is_Ccc=:=--000000034}');
-Error('\P{Is_Ccc=:=--000000034}');
-Expect(1, 1618, '\p{Is_Ccc=0_0_0_34}', "");
-Expect(0, 1618, '\p{^Is_Ccc=0_0_0_34}', "");
-Expect(0, 1618, '\P{Is_Ccc=0_0_0_34}', "");
-Expect(1, 1618, '\P{^Is_Ccc=0_0_0_34}', "");
-Expect(0, 1617, '\p{Is_Ccc=0_0_0_34}', "");
-Expect(1, 1617, '\p{^Is_Ccc=0_0_0_34}', "");
-Expect(1, 1617, '\P{Is_Ccc=0_0_0_34}', "");
-Expect(0, 1617, '\P{^Is_Ccc=0_0_0_34}', "");
-Error('\p{Canonical_Combining_Class=:=_132}');
-Error('\P{Canonical_Combining_Class=:=_132}');
-Expect(1, 3956, '\p{Canonical_Combining_Class=+00_01_32}', "");
-Expect(0, 3956, '\p{^Canonical_Combining_Class=+00_01_32}', "");
-Expect(0, 3956, '\P{Canonical_Combining_Class=+00_01_32}', "");
-Expect(1, 3956, '\P{^Canonical_Combining_Class=+00_01_32}', "");
-Expect(0, 3955, '\p{Canonical_Combining_Class=+00_01_32}', "");
-Expect(1, 3955, '\p{^Canonical_Combining_Class=+00_01_32}', "");
-Expect(1, 3955, '\P{Canonical_Combining_Class=+00_01_32}', "");
-Expect(0, 3955, '\P{^Canonical_Combining_Class=+00_01_32}', "");
-Error('\p{Ccc=:=_13-2}');
-Error('\P{Ccc=:=_13-2}');
-Expect(1, 3956, '\p{Ccc: 000000132}', "");
-Expect(0, 3956, '\p{^Ccc: 000000132}', "");
-Expect(0, 3956, '\P{Ccc: 000000132}', "");
-Expect(1, 3956, '\P{^Ccc: 000000132}', "");
-Expect(0, 3955, '\p{Ccc: 000000132}', "");
-Expect(1, 3955, '\p{^Ccc: 000000132}', "");
-Expect(1, 3955, '\P{Ccc: 000000132}', "");
-Expect(0, 3955, '\P{^Ccc: 000000132}', "");
-Error('\p{Is_Canonical_Combining_Class: /a/ +132}');
-Error('\P{Is_Canonical_Combining_Class: /a/ +132}');
-Expect(1, 3956, '\p{Is_Canonical_Combining_Class=00013_2}', "");
-Expect(0, 3956, '\p{^Is_Canonical_Combining_Class=00013_2}', "");
-Expect(0, 3956, '\P{Is_Canonical_Combining_Class=00013_2}', "");
-Expect(1, 3956, '\P{^Is_Canonical_Combining_Class=00013_2}', "");
-Expect(0, 3955, '\p{Is_Canonical_Combining_Class=00013_2}', "");
-Expect(1, 3955, '\p{^Is_Canonical_Combining_Class=00013_2}', "");
-Expect(1, 3955, '\P{Is_Canonical_Combining_Class=00013_2}', "");
-Expect(0, 3955, '\P{^Is_Canonical_Combining_Class=00013_2}', "");
-Error('\p{Is_Ccc= +000 000_013/a/2}');
-Error('\P{Is_Ccc= +000 000_013/a/2}');
-Expect(1, 3956, '\p{Is_Ccc=000000132}', "");
-Expect(0, 3956, '\p{^Is_Ccc=000000132}', "");
-Expect(0, 3956, '\P{Is_Ccc=000000132}', "");
-Expect(1, 3956, '\P{^Is_Ccc=000000132}', "");
-Expect(0, 3955, '\p{Is_Ccc=000000132}', "");
-Expect(1, 3955, '\p{^Is_Ccc=000000132}', "");
-Expect(1, 3955, '\P{Is_Ccc=000000132}', "");
-Expect(0, 3955, '\P{^Is_Ccc=000000132}', "");
-Error('\p{Bidi_Class= :=SEGMENT separator}');
-Error('\P{Bidi_Class= :=SEGMENT separator}');
-Expect(1, 9, '\p{Bidi_Class=segmentseparator}', "");
-Expect(0, 9, '\p{^Bidi_Class=segmentseparator}', "");
-Expect(0, 9, '\P{Bidi_Class=segmentseparator}', "");
-Expect(1, 9, '\P{^Bidi_Class=segmentseparator}', "");
-Expect(0, 8, '\p{Bidi_Class=segmentseparator}', "");
-Expect(1, 8, '\p{^Bidi_Class=segmentseparator}', "");
-Expect(1, 8, '\P{Bidi_Class=segmentseparator}', "");
-Expect(0, 8, '\P{^Bidi_Class=segmentseparator}', "");
-Expect(1, 9, '\p{Bidi_Class= segment_Separator}', "");
-Expect(0, 9, '\p{^Bidi_Class= segment_Separator}', "");
-Expect(0, 9, '\P{Bidi_Class= segment_Separator}', "");
-Expect(1, 9, '\P{^Bidi_Class= segment_Separator}', "");
-Expect(0, 8, '\p{Bidi_Class= segment_Separator}', "");
-Expect(1, 8, '\p{^Bidi_Class= segment_Separator}', "");
-Expect(1, 8, '\P{Bidi_Class= segment_Separator}', "");
-Expect(0, 8, '\P{^Bidi_Class= segment_Separator}', "");
-Error('\p{Bc=/a/ S}');
-Error('\P{Bc=/a/ S}');
-Expect(1, 9, '\p{Bc:s}', "");
-Expect(0, 9, '\p{^Bc:s}', "");
-Expect(0, 9, '\P{Bc:s}', "");
-Expect(1, 9, '\P{^Bc:s}', "");
-Expect(0, 8, '\p{Bc:s}', "");
-Expect(1, 8, '\p{^Bc:s}', "");
-Expect(1, 8, '\P{Bc:s}', "");
-Expect(0, 8, '\P{^Bc:s}', "");
-Expect(1, 9, '\p{Bc=_s}', "");
-Expect(0, 9, '\p{^Bc=_s}', "");
-Expect(0, 9, '\P{Bc=_s}', "");
-Expect(1, 9, '\P{^Bc=_s}', "");
-Expect(0, 8, '\p{Bc=_s}', "");
-Expect(1, 8, '\p{^Bc=_s}', "");
-Expect(1, 8, '\P{Bc=_s}', "");
-Expect(0, 8, '\P{^Bc=_s}', "");
-Error('\p{Is_Bidi_Class= _Segment Separator:=}');
-Error('\P{Is_Bidi_Class= _Segment Separator:=}');
-Expect(1, 9, '\p{Is_Bidi_Class=segmentseparator}', "");
-Expect(0, 9, '\p{^Is_Bidi_Class=segmentseparator}', "");
-Expect(0, 9, '\P{Is_Bidi_Class=segmentseparator}', "");
-Expect(1, 9, '\P{^Is_Bidi_Class=segmentseparator}', "");
-Expect(0, 8, '\p{Is_Bidi_Class=segmentseparator}', "");
-Expect(1, 8, '\p{^Is_Bidi_Class=segmentseparator}', "");
-Expect(1, 8, '\P{Is_Bidi_Class=segmentseparator}', "");
-Expect(0, 8, '\P{^Is_Bidi_Class=segmentseparator}', "");
-Expect(1, 9, '\p{Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(0, 9, '\p{^Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(0, 9, '\P{Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(1, 9, '\P{^Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(0, 8, '\p{Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(1, 8, '\p{^Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(1, 8, '\P{Is_Bidi_Class=_ SEGMENT Separator}', "");
-Expect(0, 8, '\P{^Is_Bidi_Class=_ SEGMENT Separator}', "");
-Error('\p{Is_Bc=:= -S}');
-Error('\P{Is_Bc=:= -S}');
-Expect(1, 9, '\p{Is_Bc=s}', "");
-Expect(0, 9, '\p{^Is_Bc=s}', "");
-Expect(0, 9, '\P{Is_Bc=s}', "");
-Expect(1, 9, '\P{^Is_Bc=s}', "");
-Expect(0, 8, '\p{Is_Bc=s}', "");
-Expect(1, 8, '\p{^Is_Bc=s}', "");
-Expect(1, 8, '\P{Is_Bc=s}', "");
-Expect(0, 8, '\P{^Is_Bc=s}', "");
-Expect(1, 9, '\p{Is_Bc= _S}', "");
-Expect(0, 9, '\p{^Is_Bc= _S}', "");
-Expect(0, 9, '\P{Is_Bc= _S}', "");
-Expect(1, 9, '\P{^Is_Bc= _S}', "");
-Expect(0, 8, '\p{Is_Bc= _S}', "");
-Expect(1, 8, '\p{^Is_Bc= _S}', "");
-Expect(1, 8, '\P{Is_Bc= _S}', "");
-Expect(0, 8, '\P{^Is_Bc= _S}', "");
-Error('\p{Bidi_Class=_Right-To LEFTOVERRIDE:=}');
-Error('\P{Bidi_Class=_Right-To LEFTOVERRIDE:=}');
-Expect(1, 8238, '\p{Bidi_Class: righttoleftoverride}', "");
-Expect(0, 8238, '\p{^Bidi_Class: righttoleftoverride}', "");
-Expect(0, 8238, '\P{Bidi_Class: righttoleftoverride}', "");
-Expect(1, 8238, '\P{^Bidi_Class: righttoleftoverride}', "");
-Expect(0, 8237, '\p{Bidi_Class: righttoleftoverride}', "");
-Expect(1, 8237, '\p{^Bidi_Class: righttoleftoverride}', "");
-Expect(1, 8237, '\P{Bidi_Class: righttoleftoverride}', "");
-Expect(0, 8237, '\P{^Bidi_Class: righttoleftoverride}', "");
-Expect(1, 8238, '\p{Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(0, 8238, '\p{^Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(0, 8238, '\P{Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(1, 8238, '\P{^Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(0, 8237, '\p{Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(1, 8237, '\p{^Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(1, 8237, '\P{Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Expect(0, 8237, '\P{^Bidi_Class= -RightTO_leftOVERRIDE}', "");
-Error('\p{Bc=:=_ RLO}');
-Error('\P{Bc=:=_ RLO}');
-Expect(1, 8238, '\p{Bc=rlo}', "");
-Expect(0, 8238, '\p{^Bc=rlo}', "");
-Expect(0, 8238, '\P{Bc=rlo}', "");
-Expect(1, 8238, '\P{^Bc=rlo}', "");
-Expect(0, 8237, '\p{Bc=rlo}', "");
-Expect(1, 8237, '\p{^Bc=rlo}', "");
-Expect(1, 8237, '\P{Bc=rlo}', "");
-Expect(0, 8237, '\P{^Bc=rlo}', "");
-Expect(1, 8238, '\p{Bc= RLO}', "");
-Expect(0, 8238, '\p{^Bc= RLO}', "");
-Expect(0, 8238, '\P{Bc= RLO}', "");
-Expect(1, 8238, '\P{^Bc= RLO}', "");
-Expect(0, 8237, '\p{Bc= RLO}', "");
-Expect(1, 8237, '\p{^Bc= RLO}', "");
-Expect(1, 8237, '\P{Bc= RLO}', "");
-Expect(0, 8237, '\P{^Bc= RLO}', "");
-Error('\p{Is_Bidi_Class= right TO/a/Left-Override}');
-Error('\P{Is_Bidi_Class= right TO/a/Left-Override}');
-Expect(1, 8238, '\p{Is_Bidi_Class=righttoleftoverride}', "");
-Expect(0, 8238, '\p{^Is_Bidi_Class=righttoleftoverride}', "");
-Expect(0, 8238, '\P{Is_Bidi_Class=righttoleftoverride}', "");
-Expect(1, 8238, '\P{^Is_Bidi_Class=righttoleftoverride}', "");
-Expect(0, 8237, '\p{Is_Bidi_Class=righttoleftoverride}', "");
-Expect(1, 8237, '\p{^Is_Bidi_Class=righttoleftoverride}', "");
-Expect(1, 8237, '\P{Is_Bidi_Class=righttoleftoverride}', "");
-Expect(0, 8237, '\P{^Is_Bidi_Class=righttoleftoverride}', "");
-Expect(1, 8238, '\p{Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(0, 8238, '\p{^Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(0, 8238, '\P{Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(1, 8238, '\P{^Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(0, 8237, '\p{Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(1, 8237, '\p{^Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(1, 8237, '\P{Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Expect(0, 8237, '\P{^Is_Bidi_Class=_-Right-TO_LEFT Override}', "");
-Error('\p{Is_Bc=_/a/rlo}');
-Error('\P{Is_Bc=_/a/rlo}');
-Expect(1, 8238, '\p{Is_Bc=rlo}', "");
-Expect(0, 8238, '\p{^Is_Bc=rlo}', "");
-Expect(0, 8238, '\P{Is_Bc=rlo}', "");
-Expect(1, 8238, '\P{^Is_Bc=rlo}', "");
-Expect(0, 8237, '\p{Is_Bc=rlo}', "");
-Expect(1, 8237, '\p{^Is_Bc=rlo}', "");
-Expect(1, 8237, '\P{Is_Bc=rlo}', "");
-Expect(0, 8237, '\P{^Is_Bc=rlo}', "");
-Expect(1, 8238, '\p{Is_Bc=_RLO}', "");
-Expect(0, 8238, '\p{^Is_Bc=_RLO}', "");
-Expect(0, 8238, '\P{Is_Bc=_RLO}', "");
-Expect(1, 8238, '\P{^Is_Bc=_RLO}', "");
-Expect(0, 8237, '\p{Is_Bc=_RLO}', "");
-Expect(1, 8237, '\p{^Is_Bc=_RLO}', "");
-Expect(1, 8237, '\P{Is_Bc=_RLO}', "");
-Expect(0, 8237, '\P{^Is_Bc=_RLO}', "");
-Error('\p{Bidi_Class= _LEFT_TO-Right-Override:=}');
-Error('\P{Bidi_Class= _LEFT_TO-Right-Override:=}');
-Expect(1, 8237, '\p{Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8237, '\p{^Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8237, '\P{Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8237, '\P{^Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8236, '\p{Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8236, '\p{^Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8236, '\P{Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8236, '\P{^Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8237, '\p{Bidi_Class= Left TO-right Override}', "");
-Expect(0, 8237, '\p{^Bidi_Class= Left TO-right Override}', "");
-Expect(0, 8237, '\P{Bidi_Class= Left TO-right Override}', "");
-Expect(1, 8237, '\P{^Bidi_Class= Left TO-right Override}', "");
-Expect(0, 8236, '\p{Bidi_Class= Left TO-right Override}', "");
-Expect(1, 8236, '\p{^Bidi_Class= Left TO-right Override}', "");
-Expect(1, 8236, '\P{Bidi_Class= Left TO-right Override}', "");
-Expect(0, 8236, '\P{^Bidi_Class= Left TO-right Override}', "");
-Error('\p{Bc=- LRO/a/}');
-Error('\P{Bc=- LRO/a/}');
-Expect(1, 8237, '\p{Bc=lro}', "");
-Expect(0, 8237, '\p{^Bc=lro}', "");
-Expect(0, 8237, '\P{Bc=lro}', "");
-Expect(1, 8237, '\P{^Bc=lro}', "");
-Expect(0, 8236, '\p{Bc=lro}', "");
-Expect(1, 8236, '\p{^Bc=lro}', "");
-Expect(1, 8236, '\P{Bc=lro}', "");
-Expect(0, 8236, '\P{^Bc=lro}', "");
-Expect(1, 8237, '\p{Bc= LRO}', "");
-Expect(0, 8237, '\p{^Bc= LRO}', "");
-Expect(0, 8237, '\P{Bc= LRO}', "");
-Expect(1, 8237, '\P{^Bc= LRO}', "");
-Expect(0, 8236, '\p{Bc= LRO}', "");
-Expect(1, 8236, '\p{^Bc= LRO}', "");
-Expect(1, 8236, '\P{Bc= LRO}', "");
-Expect(0, 8236, '\P{^Bc= LRO}', "");
-Error('\p{Is_Bidi_Class= /a/Left toRight_Override}');
-Error('\P{Is_Bidi_Class= /a/Left toRight_Override}');
-Expect(1, 8237, '\p{Is_Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8237, '\p{^Is_Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8237, '\P{Is_Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8237, '\P{^Is_Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8236, '\p{Is_Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8236, '\p{^Is_Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8236, '\P{Is_Bidi_Class=lefttorightoverride}', "");
-Expect(0, 8236, '\P{^Is_Bidi_Class=lefttorightoverride}', "");
-Expect(1, 8237, '\p{Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(0, 8237, '\p{^Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(0, 8237, '\P{Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(1, 8237, '\P{^Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(0, 8236, '\p{Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(1, 8236, '\p{^Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(1, 8236, '\P{Is_Bidi_Class=LEFT_To RightOverride}', "");
-Expect(0, 8236, '\P{^Is_Bidi_Class=LEFT_To RightOverride}', "");
-Error('\p{Is_Bc=:= -lro}');
-Error('\P{Is_Bc=:= -lro}');
-Expect(1, 8237, '\p{Is_Bc=lro}', "");
-Expect(0, 8237, '\p{^Is_Bc=lro}', "");
-Expect(0, 8237, '\P{Is_Bc=lro}', "");
-Expect(1, 8237, '\P{^Is_Bc=lro}', "");
-Expect(0, 8236, '\p{Is_Bc=lro}', "");
-Expect(1, 8236, '\p{^Is_Bc=lro}', "");
-Expect(1, 8236, '\P{Is_Bc=lro}', "");
-Expect(0, 8236, '\P{^Is_Bc=lro}', "");
-Expect(1, 8237, '\p{Is_Bc= lro}', "");
-Expect(0, 8237, '\p{^Is_Bc= lro}', "");
-Expect(0, 8237, '\P{Is_Bc= lro}', "");
-Expect(1, 8237, '\P{^Is_Bc= lro}', "");
-Expect(0, 8236, '\p{Is_Bc= lro}', "");
-Expect(1, 8236, '\p{^Is_Bc= lro}', "");
-Expect(1, 8236, '\P{Is_Bc= lro}', "");
-Expect(0, 8236, '\P{^Is_Bc= lro}', "");
-Error('\p{Bidi_Class=/a/ LeftTO-right}');
-Error('\P{Bidi_Class=/a/ LeftTO-right}');
-Expect(1, 90, '\p{Bidi_Class=lefttoright}', "");
-Expect(0, 90, '\p{^Bidi_Class=lefttoright}', "");
-Expect(0, 90, '\P{Bidi_Class=lefttoright}', "");
-Expect(1, 90, '\P{^Bidi_Class=lefttoright}', "");
-Expect(0, 64, '\p{Bidi_Class=lefttoright}', "");
-Expect(1, 64, '\p{^Bidi_Class=lefttoright}', "");
-Expect(1, 64, '\P{Bidi_Class=lefttoright}', "");
-Expect(0, 64, '\P{^Bidi_Class=lefttoright}', "");
-Expect(1, 90, '\p{Bidi_Class=__Left-To Right}', "");
-Expect(0, 90, '\p{^Bidi_Class=__Left-To Right}', "");
-Expect(0, 90, '\P{Bidi_Class=__Left-To Right}', "");
-Expect(1, 90, '\P{^Bidi_Class=__Left-To Right}', "");
-Expect(0, 64, '\p{Bidi_Class=__Left-To Right}', "");
-Expect(1, 64, '\p{^Bidi_Class=__Left-To Right}', "");
-Expect(1, 64, '\P{Bidi_Class=__Left-To Right}', "");
-Expect(0, 64, '\P{^Bidi_Class=__Left-To Right}', "");
-Error('\p{Bc=_:=L}');
-Error('\P{Bc=_:=L}');
-Expect(1, 90, '\p{Bc=l}', "");
-Expect(0, 90, '\p{^Bc=l}', "");
-Expect(0, 90, '\P{Bc=l}', "");
-Expect(1, 90, '\P{^Bc=l}', "");
-Expect(0, 64, '\p{Bc=l}', "");
-Expect(1, 64, '\p{^Bc=l}', "");
-Expect(1, 64, '\P{Bc=l}', "");
-Expect(0, 64, '\P{^Bc=l}', "");
-Error('\p{Is_Bidi_Class=_-Left ToRight:=}');
-Error('\P{Is_Bidi_Class=_-Left ToRight:=}');
-Expect(1, 90, '\p{Is_Bidi_Class=lefttoright}', "");
-Expect(0, 90, '\p{^Is_Bidi_Class=lefttoright}', "");
-Expect(0, 90, '\P{Is_Bidi_Class=lefttoright}', "");
-Expect(1, 90, '\P{^Is_Bidi_Class=lefttoright}', "");
-Expect(0, 64, '\p{Is_Bidi_Class=lefttoright}', "");
-Expect(1, 64, '\p{^Is_Bidi_Class=lefttoright}', "");
-Expect(1, 64, '\P{Is_Bidi_Class=lefttoright}', "");
-Expect(0, 64, '\P{^Is_Bidi_Class=lefttoright}', "");
-Expect(1, 90, '\p{Is_Bidi_Class= left-To-Right}', "");
-Expect(0, 90, '\p{^Is_Bidi_Class= left-To-Right}', "");
-Expect(0, 90, '\P{Is_Bidi_Class= left-To-Right}', "");
-Expect(1, 90, '\P{^Is_Bidi_Class= left-To-Right}', "");
-Expect(0, 64, '\p{Is_Bidi_Class= left-To-Right}', "");
-Expect(1, 64, '\p{^Is_Bidi_Class= left-To-Right}', "");
-Expect(1, 64, '\P{Is_Bidi_Class= left-To-Right}', "");
-Expect(0, 64, '\P{^Is_Bidi_Class= left-To-Right}', "");
-Error('\p{Is_Bc: --L/a/}');
-Error('\P{Is_Bc: --L/a/}');
-Expect(1, 90, '\p{Is_Bc=l}', "");
-Expect(0, 90, '\p{^Is_Bc=l}', "");
-Expect(0, 90, '\P{Is_Bc=l}', "");
-Expect(1, 90, '\P{^Is_Bc=l}', "");
-Expect(0, 64, '\p{Is_Bc=l}', "");
-Expect(1, 64, '\p{^Is_Bc=l}', "");
-Expect(1, 64, '\P{Is_Bc=l}', "");
-Expect(0, 64, '\P{^Is_Bc=l}', "");
-Expect(1, 90, '\p{Is_Bc= l}', "");
-Expect(0, 90, '\p{^Is_Bc= l}', "");
-Expect(0, 90, '\P{Is_Bc= l}', "");
-Expect(1, 90, '\P{^Is_Bc= l}', "");
-Expect(0, 64, '\p{Is_Bc= l}', "");
-Expect(1, 64, '\p{^Is_Bc= l}', "");
-Expect(1, 64, '\P{Is_Bc= l}', "");
-Expect(0, 64, '\P{^Is_Bc= l}', "");
-Error('\p{Bidi_Class= Right To_Left Embedding:=}');
-Error('\P{Bidi_Class= Right To_Left Embedding:=}');
-Expect(1, 8235, '\p{Bidi_Class: righttoleftembedding}', "");
-Expect(0, 8235, '\p{^Bidi_Class: righttoleftembedding}', "");
-Expect(0, 8235, '\P{Bidi_Class: righttoleftembedding}', "");
-Expect(1, 8235, '\P{^Bidi_Class: righttoleftembedding}', "");
-Expect(0, 8234, '\p{Bidi_Class: righttoleftembedding}', "");
-Expect(1, 8234, '\p{^Bidi_Class: righttoleftembedding}', "");
-Expect(1, 8234, '\P{Bidi_Class: righttoleftembedding}', "");
-Expect(0, 8234, '\P{^Bidi_Class: righttoleftembedding}', "");
-Expect(1, 8235, '\p{Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(0, 8235, '\p{^Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(0, 8235, '\P{Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(1, 8235, '\P{^Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(0, 8234, '\p{Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(1, 8234, '\p{^Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(1, 8234, '\P{Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Expect(0, 8234, '\P{^Bidi_Class=_RIGHT_ToleftEmbedding}', "");
-Error('\p{Bc= :=RLE}');
-Error('\P{Bc= :=RLE}');
-Expect(1, 8235, '\p{Bc=rle}', "");
-Expect(0, 8235, '\p{^Bc=rle}', "");
-Expect(0, 8235, '\P{Bc=rle}', "");
-Expect(1, 8235, '\P{^Bc=rle}', "");
-Expect(0, 8234, '\p{Bc=rle}', "");
-Expect(1, 8234, '\p{^Bc=rle}', "");
-Expect(1, 8234, '\P{Bc=rle}', "");
-Expect(0, 8234, '\P{^Bc=rle}', "");
-Expect(1, 8235, '\p{Bc=-rle}', "");
-Expect(0, 8235, '\p{^Bc=-rle}', "");
-Expect(0, 8235, '\P{Bc=-rle}', "");
-Expect(1, 8235, '\P{^Bc=-rle}', "");
-Expect(0, 8234, '\p{Bc=-rle}', "");
-Expect(1, 8234, '\p{^Bc=-rle}', "");
-Expect(1, 8234, '\P{Bc=-rle}', "");
-Expect(0, 8234, '\P{^Bc=-rle}', "");
-Error('\p{Is_Bidi_Class=-/a/RIGHT_TO-Left Embedding}');
-Error('\P{Is_Bidi_Class=-/a/RIGHT_TO-Left Embedding}');
-Expect(1, 8235, '\p{Is_Bidi_Class=righttoleftembedding}', "");
-Expect(0, 8235, '\p{^Is_Bidi_Class=righttoleftembedding}', "");
-Expect(0, 8235, '\P{Is_Bidi_Class=righttoleftembedding}', "");
-Expect(1, 8235, '\P{^Is_Bidi_Class=righttoleftembedding}', "");
-Expect(0, 8234, '\p{Is_Bidi_Class=righttoleftembedding}', "");
-Expect(1, 8234, '\p{^Is_Bidi_Class=righttoleftembedding}', "");
-Expect(1, 8234, '\P{Is_Bidi_Class=righttoleftembedding}', "");
-Expect(0, 8234, '\P{^Is_Bidi_Class=righttoleftembedding}', "");
-Expect(1, 8235, '\p{Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(0, 8235, '\p{^Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(0, 8235, '\P{Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(1, 8235, '\P{^Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(0, 8234, '\p{Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(1, 8234, '\p{^Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(1, 8234, '\P{Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Expect(0, 8234, '\P{^Is_Bidi_Class=- RIGHTTo-LeftEmbedding}', "");
-Error('\p{Is_Bc=:=_ RLE}');
-Error('\P{Is_Bc=:=_ RLE}');
-Expect(1, 8235, '\p{Is_Bc=rle}', "");
-Expect(0, 8235, '\p{^Is_Bc=rle}', "");
-Expect(0, 8235, '\P{Is_Bc=rle}', "");
-Expect(1, 8235, '\P{^Is_Bc=rle}', "");
-Expect(0, 8234, '\p{Is_Bc=rle}', "");
-Expect(1, 8234, '\p{^Is_Bc=rle}', "");
-Expect(1, 8234, '\P{Is_Bc=rle}', "");
-Expect(0, 8234, '\P{^Is_Bc=rle}', "");
-Expect(1, 8235, '\p{Is_Bc=_ RLE}', "");
-Expect(0, 8235, '\p{^Is_Bc=_ RLE}', "");
-Expect(0, 8235, '\P{Is_Bc=_ RLE}', "");
-Expect(1, 8235, '\P{^Is_Bc=_ RLE}', "");
-Expect(0, 8234, '\p{Is_Bc=_ RLE}', "");
-Expect(1, 8234, '\p{^Is_Bc=_ RLE}', "");
-Expect(1, 8234, '\P{Is_Bc=_ RLE}', "");
-Expect(0, 8234, '\P{^Is_Bc=_ RLE}', "");
-Error('\p{Bidi_Class= _other NEUTRAL:=}');
-Error('\P{Bidi_Class= _other NEUTRAL:=}');
-Expect(1, 34, '\p{Bidi_Class: otherneutral}', "");
-Expect(0, 34, '\p{^Bidi_Class: otherneutral}', "");
-Expect(0, 34, '\P{Bidi_Class: otherneutral}', "");
-Expect(1, 34, '\P{^Bidi_Class: otherneutral}', "");
-Expect(0, 32, '\p{Bidi_Class: otherneutral}', "");
-Expect(1, 32, '\p{^Bidi_Class: otherneutral}', "");
-Expect(1, 32, '\P{Bidi_Class: otherneutral}', "");
-Expect(0, 32, '\P{^Bidi_Class: otherneutral}', "");
-Expect(1, 34, '\p{Bidi_Class=OTHER Neutral}', "");
-Expect(0, 34, '\p{^Bidi_Class=OTHER Neutral}', "");
-Expect(0, 34, '\P{Bidi_Class=OTHER Neutral}', "");
-Expect(1, 34, '\P{^Bidi_Class=OTHER Neutral}', "");
-Expect(0, 32, '\p{Bidi_Class=OTHER Neutral}', "");
-Expect(1, 32, '\p{^Bidi_Class=OTHER Neutral}', "");
-Expect(1, 32, '\P{Bidi_Class=OTHER Neutral}', "");
-Expect(0, 32, '\P{^Bidi_Class=OTHER Neutral}', "");
-Error('\p{Bc=:=_ ON}');
-Error('\P{Bc=:=_ ON}');
-Expect(1, 34, '\p{Bc=on}', "");
-Expect(0, 34, '\p{^Bc=on}', "");
-Expect(0, 34, '\P{Bc=on}', "");
-Expect(1, 34, '\P{^Bc=on}', "");
-Expect(0, 32, '\p{Bc=on}', "");
-Expect(1, 32, '\p{^Bc=on}', "");
-Expect(1, 32, '\P{Bc=on}', "");
-Expect(0, 32, '\P{^Bc=on}', "");
-Expect(1, 34, '\p{Bc=-ON}', "");
-Expect(0, 34, '\p{^Bc=-ON}', "");
-Expect(0, 34, '\P{Bc=-ON}', "");
-Expect(1, 34, '\P{^Bc=-ON}', "");
-Expect(0, 32, '\p{Bc=-ON}', "");
-Expect(1, 32, '\p{^Bc=-ON}', "");
-Expect(1, 32, '\P{Bc=-ON}', "");
-Expect(0, 32, '\P{^Bc=-ON}', "");
-Error('\p{Is_Bidi_Class=/a/_-other-neutral}');
-Error('\P{Is_Bidi_Class=/a/_-other-neutral}');
-Expect(1, 34, '\p{Is_Bidi_Class=otherneutral}', "");
-Expect(0, 34, '\p{^Is_Bidi_Class=otherneutral}', "");
-Expect(0, 34, '\P{Is_Bidi_Class=otherneutral}', "");
-Expect(1, 34, '\P{^Is_Bidi_Class=otherneutral}', "");
-Expect(0, 32, '\p{Is_Bidi_Class=otherneutral}', "");
-Expect(1, 32, '\p{^Is_Bidi_Class=otherneutral}', "");
-Expect(1, 32, '\P{Is_Bidi_Class=otherneutral}', "");
-Expect(0, 32, '\P{^Is_Bidi_Class=otherneutral}', "");
-Expect(1, 34, '\p{Is_Bidi_Class= other_Neutral}', "");
-Expect(0, 34, '\p{^Is_Bidi_Class= other_Neutral}', "");
-Expect(0, 34, '\P{Is_Bidi_Class= other_Neutral}', "");
-Expect(1, 34, '\P{^Is_Bidi_Class= other_Neutral}', "");
-Expect(0, 32, '\p{Is_Bidi_Class= other_Neutral}', "");
-Expect(1, 32, '\p{^Is_Bidi_Class= other_Neutral}', "");
-Expect(1, 32, '\P{Is_Bidi_Class= other_Neutral}', "");
-Expect(0, 32, '\P{^Is_Bidi_Class= other_Neutral}', "");
-Error('\p{Is_Bc=:=ON}');
-Error('\P{Is_Bc=:=ON}');
-Expect(1, 34, '\p{Is_Bc=on}', "");
-Expect(0, 34, '\p{^Is_Bc=on}', "");
-Expect(0, 34, '\P{Is_Bc=on}', "");
-Expect(1, 34, '\P{^Is_Bc=on}', "");
-Expect(0, 32, '\p{Is_Bc=on}', "");
-Expect(1, 32, '\p{^Is_Bc=on}', "");
-Expect(1, 32, '\P{Is_Bc=on}', "");
-Expect(0, 32, '\P{^Is_Bc=on}', "");
-Expect(1, 34, '\p{Is_Bc= ON}', "");
-Expect(0, 34, '\p{^Is_Bc= ON}', "");
-Expect(0, 34, '\P{Is_Bc= ON}', "");
-Expect(1, 34, '\P{^Is_Bc= ON}', "");
-Expect(0, 32, '\p{Is_Bc= ON}', "");
-Expect(1, 32, '\p{^Is_Bc= ON}', "");
-Expect(1, 32, '\P{Is_Bc= ON}', "");
-Expect(0, 32, '\P{^Is_Bc= ON}', "");
-Error('\p{Bidi_Class=:= _Boundary neutral}');
-Error('\P{Bidi_Class=:= _Boundary neutral}');
-Expect(1, 8, '\p{Bidi_Class=boundaryneutral}', "");
-Expect(0, 8, '\p{^Bidi_Class=boundaryneutral}', "");
-Expect(0, 8, '\P{Bidi_Class=boundaryneutral}', "");
-Expect(1, 8, '\P{^Bidi_Class=boundaryneutral}', "");
-Expect(0, 13, '\p{Bidi_Class=boundaryneutral}', "");
-Expect(1, 13, '\p{^Bidi_Class=boundaryneutral}', "");
-Expect(1, 13, '\P{Bidi_Class=boundaryneutral}', "");
-Expect(0, 13, '\P{^Bidi_Class=boundaryneutral}', "");
-Expect(1, 8, '\p{Bidi_Class= _Boundary Neutral}', "");
-Expect(0, 8, '\p{^Bidi_Class= _Boundary Neutral}', "");
-Expect(0, 8, '\P{Bidi_Class= _Boundary Neutral}', "");
-Expect(1, 8, '\P{^Bidi_Class= _Boundary Neutral}', "");
-Expect(0, 13, '\p{Bidi_Class= _Boundary Neutral}', "");
-Expect(1, 13, '\p{^Bidi_Class= _Boundary Neutral}', "");
-Expect(1, 13, '\P{Bidi_Class= _Boundary Neutral}', "");
-Expect(0, 13, '\P{^Bidi_Class= _Boundary Neutral}', "");
-Error('\p{Bc: BN/a/}');
-Error('\P{Bc: BN/a/}');
-Expect(1, 8, '\p{Bc=bn}', "");
-Expect(0, 8, '\p{^Bc=bn}', "");
-Expect(0, 8, '\P{Bc=bn}', "");
-Expect(1, 8, '\P{^Bc=bn}', "");
-Expect(0, 13, '\p{Bc=bn}', "");
-Expect(1, 13, '\p{^Bc=bn}', "");
-Expect(1, 13, '\P{Bc=bn}', "");
-Expect(0, 13, '\P{^Bc=bn}', "");
-Expect(1, 8, '\p{Bc=-bn}', "");
-Expect(0, 8, '\p{^Bc=-bn}', "");
-Expect(0, 8, '\P{Bc=-bn}', "");
-Expect(1, 8, '\P{^Bc=-bn}', "");
-Expect(0, 13, '\p{Bc=-bn}', "");
-Expect(1, 13, '\p{^Bc=-bn}', "");
-Expect(1, 13, '\P{Bc=-bn}', "");
-Expect(0, 13, '\P{^Bc=-bn}', "");
-Error('\p{Is_Bidi_Class:/a/BOUNDARY-Neutral}');
-Error('\P{Is_Bidi_Class:/a/BOUNDARY-Neutral}');
-Expect(1, 8, '\p{Is_Bidi_Class=boundaryneutral}', "");
-Expect(0, 8, '\p{^Is_Bidi_Class=boundaryneutral}', "");
-Expect(0, 8, '\P{Is_Bidi_Class=boundaryneutral}', "");
-Expect(1, 8, '\P{^Is_Bidi_Class=boundaryneutral}', "");
-Expect(0, 13, '\p{Is_Bidi_Class=boundaryneutral}', "");
-Expect(1, 13, '\p{^Is_Bidi_Class=boundaryneutral}', "");
-Expect(1, 13, '\P{Is_Bidi_Class=boundaryneutral}', "");
-Expect(0, 13, '\P{^Is_Bidi_Class=boundaryneutral}', "");
-Expect(1, 8, '\p{Is_Bidi_Class= -Boundary neutral}', "");
-Expect(0, 8, '\p{^Is_Bidi_Class= -Boundary neutral}', "");
-Expect(0, 8, '\P{Is_Bidi_Class= -Boundary neutral}', "");
-Expect(1, 8, '\P{^Is_Bidi_Class= -Boundary neutral}', "");
-Expect(0, 13, '\p{Is_Bidi_Class= -Boundary neutral}', "");
-Expect(1, 13, '\p{^Is_Bidi_Class= -Boundary neutral}', "");
-Expect(1, 13, '\P{Is_Bidi_Class= -Boundary neutral}', "");
-Expect(0, 13, '\P{^Is_Bidi_Class= -Boundary neutral}', "");
-Error('\p{Is_Bc=/a/- bn}');
-Error('\P{Is_Bc=/a/- bn}');
-Expect(1, 8, '\p{Is_Bc=bn}', "");
-Expect(0, 8, '\p{^Is_Bc=bn}', "");
-Expect(0, 8, '\P{Is_Bc=bn}', "");
-Expect(1, 8, '\P{^Is_Bc=bn}', "");
-Expect(0, 13, '\p{Is_Bc=bn}', "");
-Expect(1, 13, '\p{^Is_Bc=bn}', "");
-Expect(1, 13, '\P{Is_Bc=bn}', "");
-Expect(0, 13, '\P{^Is_Bc=bn}', "");
-Expect(1, 8, '\p{Is_Bc= bn}', "");
-Expect(0, 8, '\p{^Is_Bc= bn}', "");
-Expect(0, 8, '\P{Is_Bc= bn}', "");
-Expect(1, 8, '\P{^Is_Bc= bn}', "");
-Expect(0, 13, '\p{Is_Bc= bn}', "");
-Expect(1, 13, '\p{^Is_Bc= bn}', "");
-Expect(1, 13, '\P{Is_Bc= bn}', "");
-Expect(0, 13, '\P{^Is_Bc= bn}', "");
-Error('\p{Bidi_Class= Pop-directional:=format}');
-Error('\P{Bidi_Class= Pop-directional:=format}');
-Expect(1, 8236, '\p{Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8236, '\p{^Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8236, '\P{Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8236, '\P{^Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8235, '\p{Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8235, '\p{^Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8235, '\P{Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8235, '\P{^Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8236, '\p{Bidi_Class= pop directionalFORMAT}', "");
-Expect(0, 8236, '\p{^Bidi_Class= pop directionalFORMAT}', "");
-Expect(0, 8236, '\P{Bidi_Class= pop directionalFORMAT}', "");
-Expect(1, 8236, '\P{^Bidi_Class= pop directionalFORMAT}', "");
-Expect(0, 8235, '\p{Bidi_Class= pop directionalFORMAT}', "");
-Expect(1, 8235, '\p{^Bidi_Class= pop directionalFORMAT}', "");
-Expect(1, 8235, '\P{Bidi_Class= pop directionalFORMAT}', "");
-Expect(0, 8235, '\P{^Bidi_Class= pop directionalFORMAT}', "");
-Error('\p{Bc=- pdf:=}');
-Error('\P{Bc=- pdf:=}');
-Expect(1, 8236, '\p{Bc=pdf}', "");
-Expect(0, 8236, '\p{^Bc=pdf}', "");
-Expect(0, 8236, '\P{Bc=pdf}', "");
-Expect(1, 8236, '\P{^Bc=pdf}', "");
-Expect(0, 8235, '\p{Bc=pdf}', "");
-Expect(1, 8235, '\p{^Bc=pdf}', "");
-Expect(1, 8235, '\P{Bc=pdf}', "");
-Expect(0, 8235, '\P{^Bc=pdf}', "");
-Expect(1, 8236, '\p{Bc=- pdf}', "");
-Expect(0, 8236, '\p{^Bc=- pdf}', "");
-Expect(0, 8236, '\P{Bc=- pdf}', "");
-Expect(1, 8236, '\P{^Bc=- pdf}', "");
-Expect(0, 8235, '\p{Bc=- pdf}', "");
-Expect(1, 8235, '\p{^Bc=- pdf}', "");
-Expect(1, 8235, '\P{Bc=- pdf}', "");
-Expect(0, 8235, '\P{^Bc=- pdf}', "");
-Error('\p{Is_Bidi_Class=_ pop directional/a/Format}');
-Error('\P{Is_Bidi_Class=_ pop directional/a/Format}');
-Expect(1, 8236, '\p{Is_Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8236, '\p{^Is_Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8236, '\P{Is_Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8236, '\P{^Is_Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8235, '\p{Is_Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8235, '\p{^Is_Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8235, '\P{Is_Bidi_Class=popdirectionalformat}', "");
-Expect(0, 8235, '\P{^Is_Bidi_Class=popdirectionalformat}', "");
-Expect(1, 8236, '\p{Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(0, 8236, '\p{^Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(0, 8236, '\P{Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(1, 8236, '\P{^Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(0, 8235, '\p{Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(1, 8235, '\p{^Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(1, 8235, '\P{Is_Bidi_Class=_PopDirectionalformat}', "");
-Expect(0, 8235, '\P{^Is_Bidi_Class=_PopDirectionalformat}', "");
-Error('\p{Is_Bc=/a/__PDF}');
-Error('\P{Is_Bc=/a/__PDF}');
-Expect(1, 8236, '\p{Is_Bc=pdf}', "");
-Expect(0, 8236, '\p{^Is_Bc=pdf}', "");
-Expect(0, 8236, '\P{Is_Bc=pdf}', "");
-Expect(1, 8236, '\P{^Is_Bc=pdf}', "");
-Expect(0, 8235, '\p{Is_Bc=pdf}', "");
-Expect(1, 8235, '\p{^Is_Bc=pdf}', "");
-Expect(1, 8235, '\P{Is_Bc=pdf}', "");
-Expect(0, 8235, '\P{^Is_Bc=pdf}', "");
-Expect(1, 8236, '\p{Is_Bc: -PDF}', "");
-Expect(0, 8236, '\p{^Is_Bc: -PDF}', "");
-Expect(0, 8236, '\P{Is_Bc: -PDF}', "");
-Expect(1, 8236, '\P{^Is_Bc: -PDF}', "");
-Expect(0, 8235, '\p{Is_Bc: -PDF}', "");
-Expect(1, 8235, '\p{^Is_Bc: -PDF}', "");
-Expect(1, 8235, '\P{Is_Bc: -PDF}', "");
-Expect(0, 8235, '\P{^Is_Bc: -PDF}', "");
-Error('\p{Bidi_Class= :=LeftTo-Right_EMBEDDING}');
-Error('\P{Bidi_Class= :=LeftTo-Right_EMBEDDING}');
-Expect(1, 8234, '\p{Bidi_Class: lefttorightembedding}', "");
-Expect(0, 8234, '\p{^Bidi_Class: lefttorightembedding}', "");
-Expect(0, 8234, '\P{Bidi_Class: lefttorightembedding}', "");
-Expect(1, 8234, '\P{^Bidi_Class: lefttorightembedding}', "");
-Expect(0, 8233, '\p{Bidi_Class: lefttorightembedding}', "");
-Expect(1, 8233, '\p{^Bidi_Class: lefttorightembedding}', "");
-Expect(1, 8233, '\P{Bidi_Class: lefttorightembedding}', "");
-Expect(0, 8233, '\P{^Bidi_Class: lefttorightembedding}', "");
-Expect(1, 8234, '\p{Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(0, 8234, '\p{^Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(0, 8234, '\P{Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(1, 8234, '\P{^Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(0, 8233, '\p{Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(1, 8233, '\p{^Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(1, 8233, '\P{Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Expect(0, 8233, '\P{^Bidi_Class=-LEFT-to_RIGHTEmbedding}', "");
-Error('\p{Bc=-/a/LRE}');
-Error('\P{Bc=-/a/LRE}');
-Expect(1, 8234, '\p{Bc: lre}', "");
-Expect(0, 8234, '\p{^Bc: lre}', "");
-Expect(0, 8234, '\P{Bc: lre}', "");
-Expect(1, 8234, '\P{^Bc: lre}', "");
-Expect(0, 8233, '\p{Bc: lre}', "");
-Expect(1, 8233, '\p{^Bc: lre}', "");
-Expect(1, 8233, '\P{Bc: lre}', "");
-Expect(0, 8233, '\P{^Bc: lre}', "");
-Expect(1, 8234, '\p{Bc= -LRE}', "");
-Expect(0, 8234, '\p{^Bc= -LRE}', "");
-Expect(0, 8234, '\P{Bc= -LRE}', "");
-Expect(1, 8234, '\P{^Bc= -LRE}', "");
-Expect(0, 8233, '\p{Bc= -LRE}', "");
-Expect(1, 8233, '\p{^Bc= -LRE}', "");
-Expect(1, 8233, '\P{Bc= -LRE}', "");
-Expect(0, 8233, '\P{^Bc= -LRE}', "");
-Error('\p{Is_Bidi_Class= :=LeftTo_Right Embedding}');
-Error('\P{Is_Bidi_Class= :=LeftTo_Right Embedding}');
-Expect(1, 8234, '\p{Is_Bidi_Class=lefttorightembedding}', "");
-Expect(0, 8234, '\p{^Is_Bidi_Class=lefttorightembedding}', "");
-Expect(0, 8234, '\P{Is_Bidi_Class=lefttorightembedding}', "");
-Expect(1, 8234, '\P{^Is_Bidi_Class=lefttorightembedding}', "");
-Expect(0, 8233, '\p{Is_Bidi_Class=lefttorightembedding}', "");
-Expect(1, 8233, '\p{^Is_Bidi_Class=lefttorightembedding}', "");
-Expect(1, 8233, '\P{Is_Bidi_Class=lefttorightembedding}', "");
-Expect(0, 8233, '\P{^Is_Bidi_Class=lefttorightembedding}', "");
-Expect(1, 8234, '\p{Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(0, 8234, '\p{^Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(0, 8234, '\P{Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(1, 8234, '\P{^Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(0, 8233, '\p{Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(1, 8233, '\p{^Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(1, 8233, '\P{Is_Bidi_Class= Left ToRight embedding}', "");
-Expect(0, 8233, '\P{^Is_Bidi_Class= Left ToRight embedding}', "");
-Error('\p{Is_Bc=:=-_LRE}');
-Error('\P{Is_Bc=:=-_LRE}');
-Expect(1, 8234, '\p{Is_Bc=lre}', "");
-Expect(0, 8234, '\p{^Is_Bc=lre}', "");
-Expect(0, 8234, '\P{Is_Bc=lre}', "");
-Expect(1, 8234, '\P{^Is_Bc=lre}', "");
-Expect(0, 8233, '\p{Is_Bc=lre}', "");
-Expect(1, 8233, '\p{^Is_Bc=lre}', "");
-Expect(1, 8233, '\P{Is_Bc=lre}', "");
-Expect(0, 8233, '\P{^Is_Bc=lre}', "");
-Expect(1, 8234, '\p{Is_Bc=-_LRE}', "");
-Expect(0, 8234, '\p{^Is_Bc=-_LRE}', "");
-Expect(0, 8234, '\P{Is_Bc=-_LRE}', "");
-Expect(1, 8234, '\P{^Is_Bc=-_LRE}', "");
-Expect(0, 8233, '\p{Is_Bc=-_LRE}', "");
-Expect(1, 8233, '\p{^Is_Bc=-_LRE}', "");
-Expect(1, 8233, '\P{Is_Bc=-_LRE}', "");
-Expect(0, 8233, '\P{^Is_Bc=-_LRE}', "");
-Error('\p{Bidi_Class= Arabic letter:=}');
-Error('\P{Bidi_Class= Arabic letter:=}');
-Expect(1, 1541, '\p{Bidi_Class=arabicletter}', "");
-Expect(0, 1541, '\p{^Bidi_Class=arabicletter}', "");
-Expect(0, 1541, '\P{Bidi_Class=arabicletter}', "");
-Expect(1, 1541, '\P{^Bidi_Class=arabicletter}', "");
-Expect(0, 1539, '\p{Bidi_Class=arabicletter}', "");
-Expect(1, 1539, '\p{^Bidi_Class=arabicletter}', "");
-Expect(1, 1539, '\P{Bidi_Class=arabicletter}', "");
-Expect(0, 1539, '\P{^Bidi_Class=arabicletter}', "");
-Expect(1, 1541, '\p{Bidi_Class= arabic letter}', "");
-Expect(0, 1541, '\p{^Bidi_Class= arabic letter}', "");
-Expect(0, 1541, '\P{Bidi_Class= arabic letter}', "");
-Expect(1, 1541, '\P{^Bidi_Class= arabic letter}', "");
-Expect(0, 1539, '\p{Bidi_Class= arabic letter}', "");
-Expect(1, 1539, '\p{^Bidi_Class= arabic letter}', "");
-Expect(1, 1539, '\P{Bidi_Class= arabic letter}', "");
-Expect(0, 1539, '\P{^Bidi_Class= arabic letter}', "");
-Error('\p{Bc= AL/a/}');
-Error('\P{Bc= AL/a/}');
-Expect(1, 1541, '\p{Bc=al}', "");
-Expect(0, 1541, '\p{^Bc=al}', "");
-Expect(0, 1541, '\P{Bc=al}', "");
-Expect(1, 1541, '\P{^Bc=al}', "");
-Expect(0, 1539, '\p{Bc=al}', "");
-Expect(1, 1539, '\p{^Bc=al}', "");
-Expect(1, 1539, '\P{Bc=al}', "");
-Expect(0, 1539, '\P{^Bc=al}', "");
-Expect(1, 1541, '\p{Bc=_ al}', "");
-Expect(0, 1541, '\p{^Bc=_ al}', "");
-Expect(0, 1541, '\P{Bc=_ al}', "");
-Expect(1, 1541, '\P{^Bc=_ al}', "");
-Expect(0, 1539, '\p{Bc=_ al}', "");
-Expect(1, 1539, '\p{^Bc=_ al}', "");
-Expect(1, 1539, '\P{Bc=_ al}', "");
-Expect(0, 1539, '\P{^Bc=_ al}', "");
-Error('\p{Is_Bidi_Class=/a/ ARABIC letter}');
-Error('\P{Is_Bidi_Class=/a/ ARABIC letter}');
-Expect(1, 1541, '\p{Is_Bidi_Class=arabicletter}', "");
-Expect(0, 1541, '\p{^Is_Bidi_Class=arabicletter}', "");
-Expect(0, 1541, '\P{Is_Bidi_Class=arabicletter}', "");
-Expect(1, 1541, '\P{^Is_Bidi_Class=arabicletter}', "");
-Expect(0, 1539, '\p{Is_Bidi_Class=arabicletter}', "");
-Expect(1, 1539, '\p{^Is_Bidi_Class=arabicletter}', "");
-Expect(1, 1539, '\P{Is_Bidi_Class=arabicletter}', "");
-Expect(0, 1539, '\P{^Is_Bidi_Class=arabicletter}', "");
-Expect(1, 1541, '\p{Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(0, 1541, '\p{^Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(0, 1541, '\P{Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(1, 1541, '\P{^Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(0, 1539, '\p{Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(1, 1539, '\p{^Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(1, 1539, '\P{Is_Bidi_Class=_ArabicLETTER}', "");
-Expect(0, 1539, '\P{^Is_Bidi_Class=_ArabicLETTER}', "");
-Error('\p{Is_Bc= -AL:=}');
-Error('\P{Is_Bc= -AL:=}');
-Expect(1, 1541, '\p{Is_Bc=al}', "");
-Expect(0, 1541, '\p{^Is_Bc=al}', "");
-Expect(0, 1541, '\P{Is_Bc=al}', "");
-Expect(1, 1541, '\P{^Is_Bc=al}', "");
-Expect(0, 1539, '\p{Is_Bc=al}', "");
-Expect(1, 1539, '\p{^Is_Bc=al}', "");
-Expect(1, 1539, '\P{Is_Bc=al}', "");
-Expect(0, 1539, '\P{^Is_Bc=al}', "");
-Expect(1, 1541, '\p{Is_Bc= AL}', "");
-Expect(0, 1541, '\p{^Is_Bc= AL}', "");
-Expect(0, 1541, '\P{Is_Bc= AL}', "");
-Expect(1, 1541, '\P{^Is_Bc= AL}', "");
-Expect(0, 1539, '\p{Is_Bc= AL}', "");
-Expect(1, 1539, '\p{^Is_Bc= AL}', "");
-Expect(1, 1539, '\P{Is_Bc= AL}', "");
-Expect(0, 1539, '\P{^Is_Bc= AL}', "");
-Error('\p{Bidi_Class=/a/common Separator}');
-Error('\P{Bidi_Class=/a/common Separator}');
-Expect(1, 44, '\p{Bidi_Class: commonseparator}', "");
-Expect(0, 44, '\p{^Bidi_Class: commonseparator}', "");
-Expect(0, 44, '\P{Bidi_Class: commonseparator}', "");
-Expect(1, 44, '\P{^Bidi_Class: commonseparator}', "");
-Expect(0, 43, '\p{Bidi_Class: commonseparator}', "");
-Expect(1, 43, '\p{^Bidi_Class: commonseparator}', "");
-Expect(1, 43, '\P{Bidi_Class: commonseparator}', "");
-Expect(0, 43, '\P{^Bidi_Class: commonseparator}', "");
-Expect(1, 44, '\p{Bidi_Class=_COMMON_separator}', "");
-Expect(0, 44, '\p{^Bidi_Class=_COMMON_separator}', "");
-Expect(0, 44, '\P{Bidi_Class=_COMMON_separator}', "");
-Expect(1, 44, '\P{^Bidi_Class=_COMMON_separator}', "");
-Expect(0, 43, '\p{Bidi_Class=_COMMON_separator}', "");
-Expect(1, 43, '\p{^Bidi_Class=_COMMON_separator}', "");
-Expect(1, 43, '\P{Bidi_Class=_COMMON_separator}', "");
-Expect(0, 43, '\P{^Bidi_Class=_COMMON_separator}', "");
-Error('\p{Bc=-/a/cs}');
-Error('\P{Bc=-/a/cs}');
-Expect(1, 44, '\p{Bc=cs}', "");
-Expect(0, 44, '\p{^Bc=cs}', "");
-Expect(0, 44, '\P{Bc=cs}', "");
-Expect(1, 44, '\P{^Bc=cs}', "");
-Expect(0, 43, '\p{Bc=cs}', "");
-Expect(1, 43, '\p{^Bc=cs}', "");
-Expect(1, 43, '\P{Bc=cs}', "");
-Expect(0, 43, '\P{^Bc=cs}', "");
-Expect(1, 44, '\p{Bc= cs}', "");
-Expect(0, 44, '\p{^Bc= cs}', "");
-Expect(0, 44, '\P{Bc= cs}', "");
-Expect(1, 44, '\P{^Bc= cs}', "");
-Expect(0, 43, '\p{Bc= cs}', "");
-Expect(1, 43, '\p{^Bc= cs}', "");
-Expect(1, 43, '\P{Bc= cs}', "");
-Expect(0, 43, '\P{^Bc= cs}', "");
-Error('\p{Is_Bidi_Class= COMMON separator:=}');
-Error('\P{Is_Bidi_Class= COMMON separator:=}');
-Expect(1, 44, '\p{Is_Bidi_Class=commonseparator}', "");
-Expect(0, 44, '\p{^Is_Bidi_Class=commonseparator}', "");
-Expect(0, 44, '\P{Is_Bidi_Class=commonseparator}', "");
-Expect(1, 44, '\P{^Is_Bidi_Class=commonseparator}', "");
-Expect(0, 43, '\p{Is_Bidi_Class=commonseparator}', "");
-Expect(1, 43, '\p{^Is_Bidi_Class=commonseparator}', "");
-Expect(1, 43, '\P{Is_Bidi_Class=commonseparator}', "");
-Expect(0, 43, '\P{^Is_Bidi_Class=commonseparator}', "");
-Expect(1, 44, '\p{Is_Bidi_Class=- Common_separator}', "");
-Expect(0, 44, '\p{^Is_Bidi_Class=- Common_separator}', "");
-Expect(0, 44, '\P{Is_Bidi_Class=- Common_separator}', "");
-Expect(1, 44, '\P{^Is_Bidi_Class=- Common_separator}', "");
-Expect(0, 43, '\p{Is_Bidi_Class=- Common_separator}', "");
-Expect(1, 43, '\p{^Is_Bidi_Class=- Common_separator}', "");
-Expect(1, 43, '\P{Is_Bidi_Class=- Common_separator}', "");
-Expect(0, 43, '\P{^Is_Bidi_Class=- Common_separator}', "");
-Error('\p{Is_Bc=/a/ CS}');
-Error('\P{Is_Bc=/a/ CS}');
-Expect(1, 44, '\p{Is_Bc=cs}', "");
-Expect(0, 44, '\p{^Is_Bc=cs}', "");
-Expect(0, 44, '\P{Is_Bc=cs}', "");
-Expect(1, 44, '\P{^Is_Bc=cs}', "");
-Expect(0, 43, '\p{Is_Bc=cs}', "");
-Expect(1, 43, '\p{^Is_Bc=cs}', "");
-Expect(1, 43, '\P{Is_Bc=cs}', "");
-Expect(0, 43, '\P{^Is_Bc=cs}', "");
-Expect(1, 44, '\p{Is_Bc: CS}', "");
-Expect(0, 44, '\p{^Is_Bc: CS}', "");
-Expect(0, 44, '\P{Is_Bc: CS}', "");
-Expect(1, 44, '\P{^Is_Bc: CS}', "");
-Expect(0, 43, '\p{Is_Bc: CS}', "");
-Expect(1, 43, '\p{^Is_Bc: CS}', "");
-Expect(1, 43, '\P{Is_Bc: CS}', "");
-Expect(0, 43, '\P{^Is_Bc: CS}', "");
-Error('\p{Bidi_Class= White/a/Space}');
-Error('\P{Bidi_Class= White/a/Space}');
-Expect(1, 12, '\p{Bidi_Class=whitespace}', "");
-Expect(0, 12, '\p{^Bidi_Class=whitespace}', "");
-Expect(0, 12, '\P{Bidi_Class=whitespace}', "");
-Expect(1, 12, '\P{^Bidi_Class=whitespace}', "");
-Expect(0, 11, '\p{Bidi_Class=whitespace}', "");
-Expect(1, 11, '\p{^Bidi_Class=whitespace}', "");
-Expect(1, 11, '\P{Bidi_Class=whitespace}', "");
-Expect(0, 11, '\P{^Bidi_Class=whitespace}', "");
-Expect(1, 12, '\p{Bidi_Class: White-Space}', "");
-Expect(0, 12, '\p{^Bidi_Class: White-Space}', "");
-Expect(0, 12, '\P{Bidi_Class: White-Space}', "");
-Expect(1, 12, '\P{^Bidi_Class: White-Space}', "");
-Expect(0, 11, '\p{Bidi_Class: White-Space}', "");
-Expect(1, 11, '\p{^Bidi_Class: White-Space}', "");
-Expect(1, 11, '\P{Bidi_Class: White-Space}', "");
-Expect(0, 11, '\P{^Bidi_Class: White-Space}', "");
-Error('\p{Bc= -WS/a/}');
-Error('\P{Bc= -WS/a/}');
-Expect(1, 12, '\p{Bc=ws}', "");
-Expect(0, 12, '\p{^Bc=ws}', "");
-Expect(0, 12, '\P{Bc=ws}', "");
-Expect(1, 12, '\P{^Bc=ws}', "");
-Expect(0, 11, '\p{Bc=ws}', "");
-Expect(1, 11, '\p{^Bc=ws}', "");
-Expect(1, 11, '\P{Bc=ws}', "");
-Expect(0, 11, '\P{^Bc=ws}', "");
-Expect(1, 12, '\p{Bc= WS}', "");
-Expect(0, 12, '\p{^Bc= WS}', "");
-Expect(0, 12, '\P{Bc= WS}', "");
-Expect(1, 12, '\P{^Bc= WS}', "");
-Expect(0, 11, '\p{Bc= WS}', "");
-Expect(1, 11, '\p{^Bc= WS}', "");
-Expect(1, 11, '\P{Bc= WS}', "");
-Expect(0, 11, '\P{^Bc= WS}', "");
-Error('\p{Is_Bidi_Class=_/a/White space}');
-Error('\P{Is_Bidi_Class=_/a/White space}');
-Expect(1, 12, '\p{Is_Bidi_Class=whitespace}', "");
-Expect(0, 12, '\p{^Is_Bidi_Class=whitespace}', "");
-Expect(0, 12, '\P{Is_Bidi_Class=whitespace}', "");
-Expect(1, 12, '\P{^Is_Bidi_Class=whitespace}', "");
-Expect(0, 11, '\p{Is_Bidi_Class=whitespace}', "");
-Expect(1, 11, '\p{^Is_Bidi_Class=whitespace}', "");
-Expect(1, 11, '\P{Is_Bidi_Class=whitespace}', "");
-Expect(0, 11, '\P{^Is_Bidi_Class=whitespace}', "");
-Expect(1, 12, '\p{Is_Bidi_Class= WHITE SPACE}', "");
-Expect(0, 12, '\p{^Is_Bidi_Class= WHITE SPACE}', "");
-Expect(0, 12, '\P{Is_Bidi_Class= WHITE SPACE}', "");
-Expect(1, 12, '\P{^Is_Bidi_Class= WHITE SPACE}', "");
-Expect(0, 11, '\p{Is_Bidi_Class= WHITE SPACE}', "");
-Expect(1, 11, '\p{^Is_Bidi_Class= WHITE SPACE}', "");
-Expect(1, 11, '\P{Is_Bidi_Class= WHITE SPACE}', "");
-Expect(0, 11, '\P{^Is_Bidi_Class= WHITE SPACE}', "");
-Error('\p{Is_Bc=:=WS}');
-Error('\P{Is_Bc=:=WS}');
-Expect(1, 12, '\p{Is_Bc=ws}', "");
-Expect(0, 12, '\p{^Is_Bc=ws}', "");
-Expect(0, 12, '\P{Is_Bc=ws}', "");
-Expect(1, 12, '\P{^Is_Bc=ws}', "");
-Expect(0, 11, '\p{Is_Bc=ws}', "");
-Expect(1, 11, '\p{^Is_Bc=ws}', "");
-Expect(1, 11, '\P{Is_Bc=ws}', "");
-Expect(0, 11, '\P{^Is_Bc=ws}', "");
-Expect(1, 12, '\p{Is_Bc=WS}', "");
-Expect(0, 12, '\p{^Is_Bc=WS}', "");
-Expect(0, 12, '\P{Is_Bc=WS}', "");
-Expect(1, 12, '\P{^Is_Bc=WS}', "");
-Expect(0, 11, '\p{Is_Bc=WS}', "");
-Expect(1, 11, '\p{^Is_Bc=WS}', "");
-Expect(1, 11, '\P{Is_Bc=WS}', "");
-Expect(0, 11, '\P{^Is_Bc=WS}', "");
-Error('\p{Bidi_Class= /a/PARAGRAPH separator}');
-Error('\P{Bidi_Class= /a/PARAGRAPH separator}');
-Expect(1, 10, '\p{Bidi_Class: paragraphseparator}', "");
-Expect(0, 10, '\p{^Bidi_Class: paragraphseparator}', "");
-Expect(0, 10, '\P{Bidi_Class: paragraphseparator}', "");
-Expect(1, 10, '\P{^Bidi_Class: paragraphseparator}', "");
-Expect(0, 9, '\p{Bidi_Class: paragraphseparator}', "");
-Expect(1, 9, '\p{^Bidi_Class: paragraphseparator}', "");
-Expect(1, 9, '\P{Bidi_Class: paragraphseparator}', "");
-Expect(0, 9, '\P{^Bidi_Class: paragraphseparator}', "");
-Expect(1, 10, '\p{Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(0, 10, '\p{^Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(0, 10, '\P{Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(1, 10, '\P{^Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(0, 9, '\p{Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(1, 9, '\p{^Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(1, 9, '\P{Bidi_Class=--PARAGRAPH-Separator}', "");
-Expect(0, 9, '\P{^Bidi_Class=--PARAGRAPH-Separator}', "");
-Error('\p{Bc=-:=B}');
-Error('\P{Bc=-:=B}');
-Expect(1, 10, '\p{Bc=b}', "");
-Expect(0, 10, '\p{^Bc=b}', "");
-Expect(0, 10, '\P{Bc=b}', "");
-Expect(1, 10, '\P{^Bc=b}', "");
-Expect(0, 9, '\p{Bc=b}', "");
-Expect(1, 9, '\p{^Bc=b}', "");
-Expect(1, 9, '\P{Bc=b}', "");
-Expect(0, 9, '\P{^Bc=b}', "");
-Expect(1, 10, '\p{Bc= -B}', "");
-Expect(0, 10, '\p{^Bc= -B}', "");
-Expect(0, 10, '\P{Bc= -B}', "");
-Expect(1, 10, '\P{^Bc= -B}', "");
-Expect(0, 9, '\p{Bc= -B}', "");
-Expect(1, 9, '\p{^Bc= -B}', "");
-Expect(1, 9, '\P{Bc= -B}', "");
-Expect(0, 9, '\P{^Bc= -B}', "");
-Error('\p{Is_Bidi_Class: _Paragraph/a/Separator}');
-Error('\P{Is_Bidi_Class: _Paragraph/a/Separator}');
-Expect(1, 10, '\p{Is_Bidi_Class: paragraphseparator}', "");
-Expect(0, 10, '\p{^Is_Bidi_Class: paragraphseparator}', "");
-Expect(0, 10, '\P{Is_Bidi_Class: paragraphseparator}', "");
-Expect(1, 10, '\P{^Is_Bidi_Class: paragraphseparator}', "");
-Expect(0, 9, '\p{Is_Bidi_Class: paragraphseparator}', "");
-Expect(1, 9, '\p{^Is_Bidi_Class: paragraphseparator}', "");
-Expect(1, 9, '\P{Is_Bidi_Class: paragraphseparator}', "");
-Expect(0, 9, '\P{^Is_Bidi_Class: paragraphseparator}', "");
-Expect(1, 10, '\p{Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(0, 10, '\p{^Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(0, 10, '\P{Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(1, 10, '\P{^Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(0, 9, '\p{Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(1, 9, '\p{^Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(1, 9, '\P{Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Expect(0, 9, '\P{^Is_Bidi_Class=_PARAGRAPH_SEPARATOR}', "");
-Error('\p{Is_Bc: :=-_B}');
-Error('\P{Is_Bc: :=-_B}');
-Expect(1, 10, '\p{Is_Bc: b}', "");
-Expect(0, 10, '\p{^Is_Bc: b}', "");
-Expect(0, 10, '\P{Is_Bc: b}', "");
-Expect(1, 10, '\P{^Is_Bc: b}', "");
-Expect(0, 9, '\p{Is_Bc: b}', "");
-Expect(1, 9, '\p{^Is_Bc: b}', "");
-Expect(1, 9, '\P{Is_Bc: b}', "");
-Expect(0, 9, '\P{^Is_Bc: b}', "");
-Expect(1, 10, '\p{Is_Bc: -B}', "");
-Expect(0, 10, '\p{^Is_Bc: -B}', "");
-Expect(0, 10, '\P{Is_Bc: -B}', "");
-Expect(1, 10, '\P{^Is_Bc: -B}', "");
-Expect(0, 9, '\p{Is_Bc: -B}', "");
-Expect(1, 9, '\p{^Is_Bc: -B}', "");
-Expect(1, 9, '\P{Is_Bc: -B}', "");
-Expect(0, 9, '\P{^Is_Bc: -B}', "");
-Error('\p{Bidi_Class=:= Nonspacing Mark}');
-Error('\P{Bidi_Class=:= Nonspacing Mark}');
-Expect(1, 879, '\p{Bidi_Class=nonspacingmark}', "");
-Expect(0, 879, '\p{^Bidi_Class=nonspacingmark}', "");
-Expect(0, 879, '\P{Bidi_Class=nonspacingmark}', "");
-Expect(1, 879, '\P{^Bidi_Class=nonspacingmark}', "");
-Expect(0, 767, '\p{Bidi_Class=nonspacingmark}', "");
-Expect(1, 767, '\p{^Bidi_Class=nonspacingmark}', "");
-Expect(1, 767, '\P{Bidi_Class=nonspacingmark}', "");
-Expect(0, 767, '\P{^Bidi_Class=nonspacingmark}', "");
-Expect(1, 879, '\p{Bidi_Class=_Nonspacing mark}', "");
-Expect(0, 879, '\p{^Bidi_Class=_Nonspacing mark}', "");
-Expect(0, 879, '\P{Bidi_Class=_Nonspacing mark}', "");
-Expect(1, 879, '\P{^Bidi_Class=_Nonspacing mark}', "");
-Expect(0, 767, '\p{Bidi_Class=_Nonspacing mark}', "");
-Expect(1, 767, '\p{^Bidi_Class=_Nonspacing mark}', "");
-Expect(1, 767, '\P{Bidi_Class=_Nonspacing mark}', "");
-Expect(0, 767, '\P{^Bidi_Class=_Nonspacing mark}', "");
-Error('\p{Bc: _ nsm/a/}');
-Error('\P{Bc: _ nsm/a/}');
-Expect(1, 879, '\p{Bc=nsm}', "");
-Expect(0, 879, '\p{^Bc=nsm}', "");
-Expect(0, 879, '\P{Bc=nsm}', "");
-Expect(1, 879, '\P{^Bc=nsm}', "");
-Expect(0, 767, '\p{Bc=nsm}', "");
-Expect(1, 767, '\p{^Bc=nsm}', "");
-Expect(1, 767, '\P{Bc=nsm}', "");
-Expect(0, 767, '\P{^Bc=nsm}', "");
-Expect(1, 879, '\p{Bc= nsm}', "");
-Expect(0, 879, '\p{^Bc= nsm}', "");
-Expect(0, 879, '\P{Bc= nsm}', "");
-Expect(1, 879, '\P{^Bc= nsm}', "");
-Expect(0, 767, '\p{Bc= nsm}', "");
-Expect(1, 767, '\p{^Bc= nsm}', "");
-Expect(1, 767, '\P{Bc= nsm}', "");
-Expect(0, 767, '\P{^Bc= nsm}', "");
-Error('\p{Is_Bidi_Class=/a/NONSPACINGMark}');
-Error('\P{Is_Bidi_Class=/a/NONSPACINGMark}');
-Expect(1, 879, '\p{Is_Bidi_Class=nonspacingmark}', "");
-Expect(0, 879, '\p{^Is_Bidi_Class=nonspacingmark}', "");
-Expect(0, 879, '\P{Is_Bidi_Class=nonspacingmark}', "");
-Expect(1, 879, '\P{^Is_Bidi_Class=nonspacingmark}', "");
-Expect(0, 767, '\p{Is_Bidi_Class=nonspacingmark}', "");
-Expect(1, 767, '\p{^Is_Bidi_Class=nonspacingmark}', "");
-Expect(1, 767, '\P{Is_Bidi_Class=nonspacingmark}', "");
-Expect(0, 767, '\P{^Is_Bidi_Class=nonspacingmark}', "");
-Expect(1, 879, '\p{Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(0, 879, '\p{^Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(0, 879, '\P{Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(1, 879, '\P{^Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(0, 767, '\p{Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(1, 767, '\p{^Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(1, 767, '\P{Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Expect(0, 767, '\P{^Is_Bidi_Class=_-NONSPACING-Mark}', "");
-Error('\p{Is_Bc::= -NSM}');
-Error('\P{Is_Bc::= -NSM}');
-Expect(1, 879, '\p{Is_Bc: nsm}', "");
-Expect(0, 879, '\p{^Is_Bc: nsm}', "");
-Expect(0, 879, '\P{Is_Bc: nsm}', "");
-Expect(1, 879, '\P{^Is_Bc: nsm}', "");
-Expect(0, 767, '\p{Is_Bc: nsm}', "");
-Expect(1, 767, '\p{^Is_Bc: nsm}', "");
-Expect(1, 767, '\P{Is_Bc: nsm}', "");
-Expect(0, 767, '\P{^Is_Bc: nsm}', "");
-Expect(1, 879, '\p{Is_Bc=_NSM}', "");
-Expect(0, 879, '\p{^Is_Bc=_NSM}', "");
-Expect(0, 879, '\P{Is_Bc=_NSM}', "");
-Expect(1, 879, '\P{^Is_Bc=_NSM}', "");
-Expect(0, 767, '\p{Is_Bc=_NSM}', "");
-Expect(1, 767, '\p{^Is_Bc=_NSM}', "");
-Expect(1, 767, '\P{Is_Bc=_NSM}', "");
-Expect(0, 767, '\P{^Is_Bc=_NSM}', "");
-Error('\p{Bidi_Class=/a/ _european_separator}');
-Error('\P{Bidi_Class=/a/ _european_separator}');
-Expect(1, 43, '\p{Bidi_Class=europeanseparator}', "");
-Expect(0, 43, '\p{^Bidi_Class=europeanseparator}', "");
-Expect(0, 43, '\P{Bidi_Class=europeanseparator}', "");
-Expect(1, 43, '\P{^Bidi_Class=europeanseparator}', "");
-Expect(0, 42, '\p{Bidi_Class=europeanseparator}', "");
-Expect(1, 42, '\p{^Bidi_Class=europeanseparator}', "");
-Expect(1, 42, '\P{Bidi_Class=europeanseparator}', "");
-Expect(0, 42, '\P{^Bidi_Class=europeanseparator}', "");
-Expect(1, 43, '\p{Bidi_Class=--EUROPEANSeparator}', "");
-Expect(0, 43, '\p{^Bidi_Class=--EUROPEANSeparator}', "");
-Expect(0, 43, '\P{Bidi_Class=--EUROPEANSeparator}', "");
-Expect(1, 43, '\P{^Bidi_Class=--EUROPEANSeparator}', "");
-Expect(0, 42, '\p{Bidi_Class=--EUROPEANSeparator}', "");
-Expect(1, 42, '\p{^Bidi_Class=--EUROPEANSeparator}', "");
-Expect(1, 42, '\P{Bidi_Class=--EUROPEANSeparator}', "");
-Expect(0, 42, '\P{^Bidi_Class=--EUROPEANSeparator}', "");
-Error('\p{Bc=_:=es}');
-Error('\P{Bc=_:=es}');
-Expect(1, 43, '\p{Bc=es}', "");
-Expect(0, 43, '\p{^Bc=es}', "");
-Expect(0, 43, '\P{Bc=es}', "");
-Expect(1, 43, '\P{^Bc=es}', "");
-Expect(0, 42, '\p{Bc=es}', "");
-Expect(1, 42, '\p{^Bc=es}', "");
-Expect(1, 42, '\P{Bc=es}', "");
-Expect(0, 42, '\P{^Bc=es}', "");
-Expect(1, 43, '\p{Bc= ES}', "");
-Expect(0, 43, '\p{^Bc= ES}', "");
-Expect(0, 43, '\P{Bc= ES}', "");
-Expect(1, 43, '\P{^Bc= ES}', "");
-Expect(0, 42, '\p{Bc= ES}', "");
-Expect(1, 42, '\p{^Bc= ES}', "");
-Expect(1, 42, '\P{Bc= ES}', "");
-Expect(0, 42, '\P{^Bc= ES}', "");
-Error('\p{Is_Bidi_Class= _European/a/Separator}');
-Error('\P{Is_Bidi_Class= _European/a/Separator}');
-Expect(1, 43, '\p{Is_Bidi_Class=europeanseparator}', "");
-Expect(0, 43, '\p{^Is_Bidi_Class=europeanseparator}', "");
-Expect(0, 43, '\P{Is_Bidi_Class=europeanseparator}', "");
-Expect(1, 43, '\P{^Is_Bidi_Class=europeanseparator}', "");
-Expect(0, 42, '\p{Is_Bidi_Class=europeanseparator}', "");
-Expect(1, 42, '\p{^Is_Bidi_Class=europeanseparator}', "");
-Expect(1, 42, '\P{Is_Bidi_Class=europeanseparator}', "");
-Expect(0, 42, '\P{^Is_Bidi_Class=europeanseparator}', "");
-Expect(1, 43, '\p{Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(0, 43, '\p{^Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(0, 43, '\P{Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(1, 43, '\P{^Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(0, 42, '\p{Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(1, 42, '\p{^Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(1, 42, '\P{Is_Bidi_Class= -European SEPARATOR}', "");
-Expect(0, 42, '\P{^Is_Bidi_Class= -European SEPARATOR}', "");
-Error('\p{Is_Bc=/a/-ES}');
-Error('\P{Is_Bc=/a/-ES}');
-Expect(1, 43, '\p{Is_Bc=es}', "");
-Expect(0, 43, '\p{^Is_Bc=es}', "");
-Expect(0, 43, '\P{Is_Bc=es}', "");
-Expect(1, 43, '\P{^Is_Bc=es}', "");
-Expect(0, 42, '\p{Is_Bc=es}', "");
-Expect(1, 42, '\p{^Is_Bc=es}', "");
-Expect(1, 42, '\P{Is_Bc=es}', "");
-Expect(0, 42, '\P{^Is_Bc=es}', "");
-Expect(1, 43, '\p{Is_Bc: es}', "");
-Expect(0, 43, '\p{^Is_Bc: es}', "");
-Expect(0, 43, '\P{Is_Bc: es}', "");
-Expect(1, 43, '\P{^Is_Bc: es}', "");
-Expect(0, 42, '\p{Is_Bc: es}', "");
-Expect(1, 42, '\p{^Is_Bc: es}', "");
-Expect(1, 42, '\P{Is_Bc: es}', "");
-Expect(0, 42, '\P{^Is_Bc: es}', "");
-Error('\p{Bidi_Class= _EUROPEAN/a/Number}');
-Error('\P{Bidi_Class= _EUROPEAN/a/Number}');
-Expect(1, 57, '\p{Bidi_Class=europeannumber}', "");
-Expect(0, 57, '\p{^Bidi_Class=europeannumber}', "");
-Expect(0, 57, '\P{Bidi_Class=europeannumber}', "");
-Expect(1, 57, '\P{^Bidi_Class=europeannumber}', "");
-Expect(0, 47, '\p{Bidi_Class=europeannumber}', "");
-Expect(1, 47, '\p{^Bidi_Class=europeannumber}', "");
-Expect(1, 47, '\P{Bidi_Class=europeannumber}', "");
-Expect(0, 47, '\P{^Bidi_Class=europeannumber}', "");
-Expect(1, 57, '\p{Bidi_Class=_Europeannumber}', "");
-Expect(0, 57, '\p{^Bidi_Class=_Europeannumber}', "");
-Expect(0, 57, '\P{Bidi_Class=_Europeannumber}', "");
-Expect(1, 57, '\P{^Bidi_Class=_Europeannumber}', "");
-Expect(0, 47, '\p{Bidi_Class=_Europeannumber}', "");
-Expect(1, 47, '\p{^Bidi_Class=_Europeannumber}', "");
-Expect(1, 47, '\P{Bidi_Class=_Europeannumber}', "");
-Expect(0, 47, '\P{^Bidi_Class=_Europeannumber}', "");
-Error('\p{Bc=/a/ EN}');
-Error('\P{Bc=/a/ EN}');
-Expect(1, 57, '\p{Bc=en}', "");
-Expect(0, 57, '\p{^Bc=en}', "");
-Expect(0, 57, '\P{Bc=en}', "");
-Expect(1, 57, '\P{^Bc=en}', "");
-Expect(0, 47, '\p{Bc=en}', "");
-Expect(1, 47, '\p{^Bc=en}', "");
-Expect(1, 47, '\P{Bc=en}', "");
-Expect(0, 47, '\P{^Bc=en}', "");
-Expect(1, 57, '\p{Bc= en}', "");
-Expect(0, 57, '\p{^Bc= en}', "");
-Expect(0, 57, '\P{Bc= en}', "");
-Expect(1, 57, '\P{^Bc= en}', "");
-Expect(0, 47, '\p{Bc= en}', "");
-Expect(1, 47, '\p{^Bc= en}', "");
-Expect(1, 47, '\P{Bc= en}', "");
-Expect(0, 47, '\P{^Bc= en}', "");
-Error('\p{Is_Bidi_Class=:=- European_Number}');
-Error('\P{Is_Bidi_Class=:=- European_Number}');
-Expect(1, 57, '\p{Is_Bidi_Class: europeannumber}', "");
-Expect(0, 57, '\p{^Is_Bidi_Class: europeannumber}', "");
-Expect(0, 57, '\P{Is_Bidi_Class: europeannumber}', "");
-Expect(1, 57, '\P{^Is_Bidi_Class: europeannumber}', "");
-Expect(0, 47, '\p{Is_Bidi_Class: europeannumber}', "");
-Expect(1, 47, '\p{^Is_Bidi_Class: europeannumber}', "");
-Expect(1, 47, '\P{Is_Bidi_Class: europeannumber}', "");
-Expect(0, 47, '\P{^Is_Bidi_Class: europeannumber}', "");
-Expect(1, 57, '\p{Is_Bidi_Class: europeanNumber}', "");
-Expect(0, 57, '\p{^Is_Bidi_Class: europeanNumber}', "");
-Expect(0, 57, '\P{Is_Bidi_Class: europeanNumber}', "");
-Expect(1, 57, '\P{^Is_Bidi_Class: europeanNumber}', "");
-Expect(0, 47, '\p{Is_Bidi_Class: europeanNumber}', "");
-Expect(1, 47, '\p{^Is_Bidi_Class: europeanNumber}', "");
-Expect(1, 47, '\P{Is_Bidi_Class: europeanNumber}', "");
-Expect(0, 47, '\P{^Is_Bidi_Class: europeanNumber}', "");
-Error('\p{Is_Bc=/a/ -EN}');
-Error('\P{Is_Bc=/a/ -EN}');
-Expect(1, 57, '\p{Is_Bc=en}', "");
-Expect(0, 57, '\p{^Is_Bc=en}', "");
-Expect(0, 57, '\P{Is_Bc=en}', "");
-Expect(1, 57, '\P{^Is_Bc=en}', "");
-Expect(0, 47, '\p{Is_Bc=en}', "");
-Expect(1, 47, '\p{^Is_Bc=en}', "");
-Expect(1, 47, '\P{Is_Bc=en}', "");
-Expect(0, 47, '\P{^Is_Bc=en}', "");
-Expect(1, 57, '\p{Is_Bc= EN}', "");
-Expect(0, 57, '\p{^Is_Bc= EN}', "");
-Expect(0, 57, '\P{Is_Bc= EN}', "");
-Expect(1, 57, '\P{^Is_Bc= EN}', "");
-Expect(0, 47, '\p{Is_Bc= EN}', "");
-Expect(1, 47, '\p{^Is_Bc= EN}', "");
-Expect(1, 47, '\P{Is_Bc= EN}', "");
-Expect(0, 47, '\P{^Is_Bc= EN}', "");
-Error('\p{Bidi_Class=_European:=terminator}');
-Error('\P{Bidi_Class=_European:=terminator}');
-Expect(1, 37, '\p{Bidi_Class=europeanterminator}', "");
-Expect(0, 37, '\p{^Bidi_Class=europeanterminator}', "");
-Expect(0, 37, '\P{Bidi_Class=europeanterminator}', "");
-Expect(1, 37, '\P{^Bidi_Class=europeanterminator}', "");
-Expect(0, 34, '\p{Bidi_Class=europeanterminator}', "");
-Expect(1, 34, '\p{^Bidi_Class=europeanterminator}', "");
-Expect(1, 34, '\P{Bidi_Class=europeanterminator}', "");
-Expect(0, 34, '\P{^Bidi_Class=europeanterminator}', "");
-Expect(1, 37, '\p{Bidi_Class=_European Terminator}', "");
-Expect(0, 37, '\p{^Bidi_Class=_European Terminator}', "");
-Expect(0, 37, '\P{Bidi_Class=_European Terminator}', "");
-Expect(1, 37, '\P{^Bidi_Class=_European Terminator}', "");
-Expect(0, 34, '\p{Bidi_Class=_European Terminator}', "");
-Expect(1, 34, '\p{^Bidi_Class=_European Terminator}', "");
-Expect(1, 34, '\P{Bidi_Class=_European Terminator}', "");
-Expect(0, 34, '\P{^Bidi_Class=_European Terminator}', "");
-Error('\p{Bc= _ET/a/}');
-Error('\P{Bc= _ET/a/}');
-Expect(1, 37, '\p{Bc=et}', "");
-Expect(0, 37, '\p{^Bc=et}', "");
-Expect(0, 37, '\P{Bc=et}', "");
-Expect(1, 37, '\P{^Bc=et}', "");
-Expect(0, 34, '\p{Bc=et}', "");
-Expect(1, 34, '\p{^Bc=et}', "");
-Expect(1, 34, '\P{Bc=et}', "");
-Expect(0, 34, '\P{^Bc=et}', "");
-Expect(1, 37, '\p{Bc=_-ET}', "");
-Expect(0, 37, '\p{^Bc=_-ET}', "");
-Expect(0, 37, '\P{Bc=_-ET}', "");
-Expect(1, 37, '\P{^Bc=_-ET}', "");
-Expect(0, 34, '\p{Bc=_-ET}', "");
-Expect(1, 34, '\p{^Bc=_-ET}', "");
-Expect(1, 34, '\P{Bc=_-ET}', "");
-Expect(0, 34, '\P{^Bc=_-ET}', "");
-Error('\p{Is_Bidi_Class= European:=Terminator}');
-Error('\P{Is_Bidi_Class= European:=Terminator}');
-Expect(1, 37, '\p{Is_Bidi_Class=europeanterminator}', "");
-Expect(0, 37, '\p{^Is_Bidi_Class=europeanterminator}', "");
-Expect(0, 37, '\P{Is_Bidi_Class=europeanterminator}', "");
-Expect(1, 37, '\P{^Is_Bidi_Class=europeanterminator}', "");
-Expect(0, 34, '\p{Is_Bidi_Class=europeanterminator}', "");
-Expect(1, 34, '\p{^Is_Bidi_Class=europeanterminator}', "");
-Expect(1, 34, '\P{Is_Bidi_Class=europeanterminator}', "");
-Expect(0, 34, '\P{^Is_Bidi_Class=europeanterminator}', "");
-Expect(1, 37, '\p{Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(0, 37, '\p{^Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(0, 37, '\P{Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(1, 37, '\P{^Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(0, 34, '\p{Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(1, 34, '\p{^Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(1, 34, '\P{Is_Bidi_Class= EUROPEAN terminator}', "");
-Expect(0, 34, '\P{^Is_Bidi_Class= EUROPEAN terminator}', "");
-Error('\p{Is_Bc= /a/ET}');
-Error('\P{Is_Bc= /a/ET}');
-Expect(1, 37, '\p{Is_Bc=et}', "");
-Expect(0, 37, '\p{^Is_Bc=et}', "");
-Expect(0, 37, '\P{Is_Bc=et}', "");
-Expect(1, 37, '\P{^Is_Bc=et}', "");
-Expect(0, 34, '\p{Is_Bc=et}', "");
-Expect(1, 34, '\p{^Is_Bc=et}', "");
-Expect(1, 34, '\P{Is_Bc=et}', "");
-Expect(0, 34, '\P{^Is_Bc=et}', "");
-Expect(1, 37, '\p{Is_Bc: ET}', "");
-Expect(0, 37, '\p{^Is_Bc: ET}', "");
-Expect(0, 37, '\P{Is_Bc: ET}', "");
-Expect(1, 37, '\P{^Is_Bc: ET}', "");
-Expect(0, 34, '\p{Is_Bc: ET}', "");
-Expect(1, 34, '\p{^Is_Bc: ET}', "");
-Expect(1, 34, '\P{Is_Bc: ET}', "");
-Expect(0, 34, '\P{^Is_Bc: ET}', "");
-Error('\p{Bidi_Class= :=Arabic Number}');
-Error('\P{Bidi_Class= :=Arabic Number}');
-Expect(1, 1539, '\p{Bidi_Class:arabicnumber}', "");
-Expect(0, 1539, '\p{^Bidi_Class:arabicnumber}', "");
-Expect(0, 1539, '\P{Bidi_Class:arabicnumber}', "");
-Expect(1, 1539, '\P{^Bidi_Class:arabicnumber}', "");
-Expect(0, 1535, '\p{Bidi_Class:arabicnumber}', "");
-Expect(1, 1535, '\p{^Bidi_Class:arabicnumber}', "");
-Expect(1, 1535, '\P{Bidi_Class:arabicnumber}', "");
-Expect(0, 1535, '\P{^Bidi_Class:arabicnumber}', "");
-Expect(1, 1539, '\p{Bidi_Class=--ArabicNUMBER}', "");
-Expect(0, 1539, '\p{^Bidi_Class=--ArabicNUMBER}', "");
-Expect(0, 1539, '\P{Bidi_Class=--ArabicNUMBER}', "");
-Expect(1, 1539, '\P{^Bidi_Class=--ArabicNUMBER}', "");
-Expect(0, 1535, '\p{Bidi_Class=--ArabicNUMBER}', "");
-Expect(1, 1535, '\p{^Bidi_Class=--ArabicNUMBER}', "");
-Expect(1, 1535, '\P{Bidi_Class=--ArabicNUMBER}', "");
-Expect(0, 1535, '\P{^Bidi_Class=--ArabicNUMBER}', "");
-Error('\p{Bc=-/a/AN}');
-Error('\P{Bc=-/a/AN}');
-Expect(1, 1539, '\p{Bc=an}', "");
-Expect(0, 1539, '\p{^Bc=an}', "");
-Expect(0, 1539, '\P{Bc=an}', "");
-Expect(1, 1539, '\P{^Bc=an}', "");
-Expect(0, 1535, '\p{Bc=an}', "");
-Expect(1, 1535, '\p{^Bc=an}', "");
-Expect(1, 1535, '\P{Bc=an}', "");
-Expect(0, 1535, '\P{^Bc=an}', "");
-Expect(1, 1539, '\p{Bc= -AN}', "");
-Expect(0, 1539, '\p{^Bc= -AN}', "");
-Expect(0, 1539, '\P{Bc= -AN}', "");
-Expect(1, 1539, '\P{^Bc= -AN}', "");
-Expect(0, 1535, '\p{Bc= -AN}', "");
-Expect(1, 1535, '\p{^Bc= -AN}', "");
-Expect(1, 1535, '\P{Bc= -AN}', "");
-Expect(0, 1535, '\P{^Bc= -AN}', "");
-Error('\p{Is_Bidi_Class=_-ARABIC Number:=}');
-Error('\P{Is_Bidi_Class=_-ARABIC Number:=}');
-Expect(1, 1539, '\p{Is_Bidi_Class=arabicnumber}', "");
-Expect(0, 1539, '\p{^Is_Bidi_Class=arabicnumber}', "");
-Expect(0, 1539, '\P{Is_Bidi_Class=arabicnumber}', "");
-Expect(1, 1539, '\P{^Is_Bidi_Class=arabicnumber}', "");
-Expect(0, 1535, '\p{Is_Bidi_Class=arabicnumber}', "");
-Expect(1, 1535, '\p{^Is_Bidi_Class=arabicnumber}', "");
-Expect(1, 1535, '\P{Is_Bidi_Class=arabicnumber}', "");
-Expect(0, 1535, '\P{^Is_Bidi_Class=arabicnumber}', "");
-Expect(1, 1539, '\p{Is_Bidi_Class= _Arabic Number}', "");
-Expect(0, 1539, '\p{^Is_Bidi_Class= _Arabic Number}', "");
-Expect(0, 1539, '\P{Is_Bidi_Class= _Arabic Number}', "");
-Expect(1, 1539, '\P{^Is_Bidi_Class= _Arabic Number}', "");
-Expect(0, 1535, '\p{Is_Bidi_Class= _Arabic Number}', "");
-Expect(1, 1535, '\p{^Is_Bidi_Class= _Arabic Number}', "");
-Expect(1, 1535, '\P{Is_Bidi_Class= _Arabic Number}', "");
-Expect(0, 1535, '\P{^Is_Bidi_Class= _Arabic Number}', "");
-Error('\p{Is_Bc= _AN/a/}');
-Error('\P{Is_Bc= _AN/a/}');
-Expect(1, 1539, '\p{Is_Bc=an}', "");
-Expect(0, 1539, '\p{^Is_Bc=an}', "");
-Expect(0, 1539, '\P{Is_Bc=an}', "");
-Expect(1, 1539, '\P{^Is_Bc=an}', "");
-Expect(0, 1535, '\p{Is_Bc=an}', "");
-Expect(1, 1535, '\p{^Is_Bc=an}', "");
-Expect(1, 1535, '\P{Is_Bc=an}', "");
-Expect(0, 1535, '\P{^Is_Bc=an}', "");
-Expect(1, 1539, '\p{Is_Bc= AN}', "");
-Expect(0, 1539, '\p{^Is_Bc= AN}', "");
-Expect(0, 1539, '\P{Is_Bc= AN}', "");
-Expect(1, 1539, '\P{^Is_Bc= AN}', "");
-Expect(0, 1535, '\p{Is_Bc= AN}', "");
-Expect(1, 1535, '\p{^Is_Bc= AN}', "");
-Expect(1, 1535, '\P{Is_Bc= AN}', "");
-Expect(0, 1535, '\P{^Is_Bc= AN}', "");
-Error('\p{Bidi_Class= _right To:=Left}');
-Error('\P{Bidi_Class= _right To:=Left}');
-Expect(1, 1424, '\p{Bidi_Class=righttoleft}', "");
-Expect(0, 1424, '\p{^Bidi_Class=righttoleft}', "");
-Expect(0, 1424, '\P{Bidi_Class=righttoleft}', "");
-Expect(1, 1424, '\P{^Bidi_Class=righttoleft}', "");
-Expect(0, 1423, '\p{Bidi_Class=righttoleft}', "");
-Expect(1, 1423, '\p{^Bidi_Class=righttoleft}', "");
-Expect(1, 1423, '\P{Bidi_Class=righttoleft}', "");
-Expect(0, 1423, '\P{^Bidi_Class=righttoleft}', "");
-Expect(1, 1424, '\p{Bidi_Class=-_Right-toLeft}', "");
-Expect(0, 1424, '\p{^Bidi_Class=-_Right-toLeft}', "");
-Expect(0, 1424, '\P{Bidi_Class=-_Right-toLeft}', "");
-Expect(1, 1424, '\P{^Bidi_Class=-_Right-toLeft}', "");
-Expect(0, 1423, '\p{Bidi_Class=-_Right-toLeft}', "");
-Expect(1, 1423, '\p{^Bidi_Class=-_Right-toLeft}', "");
-Expect(1, 1423, '\P{Bidi_Class=-_Right-toLeft}', "");
-Expect(0, 1423, '\P{^Bidi_Class=-_Right-toLeft}', "");
-Error('\p{Bc=- r:=}');
-Error('\P{Bc=- r:=}');
-Expect(1, 1424, '\p{Bc:r}', "");
-Expect(0, 1424, '\p{^Bc:r}', "");
-Expect(0, 1424, '\P{Bc:r}', "");
-Expect(1, 1424, '\P{^Bc:r}', "");
-Expect(0, 1423, '\p{Bc:r}', "");
-Expect(1, 1423, '\p{^Bc:r}', "");
-Expect(1, 1423, '\P{Bc:r}', "");
-Expect(0, 1423, '\P{^Bc:r}', "");
-Expect(1, 1424, '\p{Bc= r}', "");
-Expect(0, 1424, '\p{^Bc= r}', "");
-Expect(0, 1424, '\P{Bc= r}', "");
-Expect(1, 1424, '\P{^Bc= r}', "");
-Expect(0, 1423, '\p{Bc= r}', "");
-Expect(1, 1423, '\p{^Bc= r}', "");
-Expect(1, 1423, '\P{Bc= r}', "");
-Expect(0, 1423, '\P{^Bc= r}', "");
-Error('\p{Is_Bidi_Class= /a/right TO Left}');
-Error('\P{Is_Bidi_Class= /a/right TO Left}');
-Expect(1, 1424, '\p{Is_Bidi_Class=righttoleft}', "");
-Expect(0, 1424, '\p{^Is_Bidi_Class=righttoleft}', "");
-Expect(0, 1424, '\P{Is_Bidi_Class=righttoleft}', "");
-Expect(1, 1424, '\P{^Is_Bidi_Class=righttoleft}', "");
-Expect(0, 1423, '\p{Is_Bidi_Class=righttoleft}', "");
-Expect(1, 1423, '\p{^Is_Bidi_Class=righttoleft}', "");
-Expect(1, 1423, '\P{Is_Bidi_Class=righttoleft}', "");
-Expect(0, 1423, '\P{^Is_Bidi_Class=righttoleft}', "");
-Expect(1, 1424, '\p{Is_Bidi_Class= RightTO left}', "");
-Expect(0, 1424, '\p{^Is_Bidi_Class= RightTO left}', "");
-Expect(0, 1424, '\P{Is_Bidi_Class= RightTO left}', "");
-Expect(1, 1424, '\P{^Is_Bidi_Class= RightTO left}', "");
-Expect(0, 1423, '\p{Is_Bidi_Class= RightTO left}', "");
-Expect(1, 1423, '\p{^Is_Bidi_Class= RightTO left}', "");
-Expect(1, 1423, '\P{Is_Bidi_Class= RightTO left}', "");
-Expect(0, 1423, '\P{^Is_Bidi_Class= RightTO left}', "");
-Error('\p{Is_Bc=:=-_R}');
-Error('\P{Is_Bc=:=-_R}');
-Expect(1, 1424, '\p{Is_Bc=r}', "");
-Expect(0, 1424, '\p{^Is_Bc=r}', "");
-Expect(0, 1424, '\P{Is_Bc=r}', "");
-Expect(1, 1424, '\P{^Is_Bc=r}', "");
-Expect(0, 1423, '\p{Is_Bc=r}', "");
-Expect(1, 1423, '\p{^Is_Bc=r}', "");
-Expect(1, 1423, '\P{Is_Bc=r}', "");
-Expect(0, 1423, '\P{^Is_Bc=r}', "");
-Expect(1, 1424, '\p{Is_Bc=--r}', "");
-Expect(0, 1424, '\p{^Is_Bc=--r}', "");
-Expect(0, 1424, '\P{Is_Bc=--r}', "");
-Expect(1, 1424, '\P{^Is_Bc=--r}', "");
-Expect(0, 1423, '\p{Is_Bc=--r}', "");
-Expect(1, 1423, '\p{^Is_Bc=--r}', "");
-Expect(1, 1423, '\P{Is_Bc=--r}', "");
-Expect(0, 1423, '\P{^Is_Bc=--r}', "");
-Error('\p{Radical=:=--Yes}');
-Error('\P{Radical=:=--Yes}');
-Expect(1, 11929, '\p{Radical=yes}', "");
-Expect(0, 11929, '\p{^Radical=yes}', "");
-Expect(0, 11929, '\P{Radical=yes}', "");
-Expect(1, 11929, '\P{^Radical=yes}', "");
-Expect(0, 11903, '\p{Radical=yes}', "");
-Expect(1, 11903, '\p{^Radical=yes}', "");
-Expect(1, 11903, '\P{Radical=yes}', "");
-Expect(0, 11903, '\P{^Radical=yes}', "");
-Expect(1, 11929, '\p{Radical=- YES}', "");
-Expect(0, 11929, '\p{^Radical=- YES}', "");
-Expect(0, 11929, '\P{Radical=- YES}', "");
-Expect(1, 11929, '\P{^Radical=- YES}', "");
-Expect(0, 11903, '\p{Radical=- YES}', "");
-Expect(1, 11903, '\p{^Radical=- YES}', "");
-Expect(1, 11903, '\P{Radical=- YES}', "");
-Expect(0, 11903, '\P{^Radical=- YES}', "");
-Error('\p{Is_Radical=/a/y}');
-Error('\P{Is_Radical=/a/y}');
-Expect(1, 11929, '\p{Is_Radical=y}', "");
-Expect(0, 11929, '\p{^Is_Radical=y}', "");
-Expect(0, 11929, '\P{Is_Radical=y}', "");
-Expect(1, 11929, '\P{^Is_Radical=y}', "");
-Expect(0, 11903, '\p{Is_Radical=y}', "");
-Expect(1, 11903, '\p{^Is_Radical=y}', "");
-Expect(1, 11903, '\P{Is_Radical=y}', "");
-Expect(0, 11903, '\P{^Is_Radical=y}', "");
-Expect(1, 11929, '\p{Is_Radical= -y}', "");
-Expect(0, 11929, '\p{^Is_Radical= -y}', "");
-Expect(0, 11929, '\P{Is_Radical= -y}', "");
-Expect(1, 11929, '\P{^Is_Radical= -y}', "");
-Expect(0, 11903, '\p{Is_Radical= -y}', "");
-Expect(1, 11903, '\p{^Is_Radical= -y}', "");
-Expect(1, 11903, '\P{Is_Radical= -y}', "");
-Expect(0, 11903, '\P{^Is_Radical= -y}', "");
-Error('\p{Radical=/a/T}');
-Error('\P{Radical=/a/T}');
-Expect(1, 11929, '\p{Radical=t}', "");
-Expect(0, 11929, '\p{^Radical=t}', "");
-Expect(0, 11929, '\P{Radical=t}', "");
-Expect(1, 11929, '\P{^Radical=t}', "");
-Expect(0, 11903, '\p{Radical=t}', "");
-Expect(1, 11903, '\p{^Radical=t}', "");
-Expect(1, 11903, '\P{Radical=t}', "");
-Expect(0, 11903, '\P{^Radical=t}', "");
-Expect(1, 11929, '\p{Radical= t}', "");
-Expect(0, 11929, '\p{^Radical= t}', "");
-Expect(0, 11929, '\P{Radical= t}', "");
-Expect(1, 11929, '\P{^Radical= t}', "");
-Expect(0, 11903, '\p{Radical= t}', "");
-Expect(1, 11903, '\p{^Radical= t}', "");
-Expect(1, 11903, '\P{Radical= t}', "");
-Expect(0, 11903, '\P{^Radical= t}', "");
-Error('\p{Is_Radical: /a/_ True}');
-Error('\P{Is_Radical: /a/_ True}');
-Expect(1, 11929, '\p{Is_Radical=true}', "");
-Expect(0, 11929, '\p{^Is_Radical=true}', "");
-Expect(0, 11929, '\P{Is_Radical=true}', "");
-Expect(1, 11929, '\P{^Is_Radical=true}', "");
-Expect(0, 11903, '\p{Is_Radical=true}', "");
-Expect(1, 11903, '\p{^Is_Radical=true}', "");
-Expect(1, 11903, '\P{Is_Radical=true}', "");
-Expect(0, 11903, '\P{^Is_Radical=true}', "");
-Expect(1, 11929, '\p{Is_Radical=TRUE}', "");
-Expect(0, 11929, '\p{^Is_Radical=TRUE}', "");
-Expect(0, 11929, '\P{Is_Radical=TRUE}', "");
-Expect(1, 11929, '\P{^Is_Radical=TRUE}', "");
-Expect(0, 11903, '\p{Is_Radical=TRUE}', "");
-Expect(1, 11903, '\p{^Is_Radical=TRUE}', "");
-Expect(1, 11903, '\P{Is_Radical=TRUE}', "");
-Expect(0, 11903, '\P{^Is_Radical=TRUE}', "");
-Error('\p{Radical= /a/No}');
-Error('\P{Radical= /a/No}');
-Expect(1, 11903, '\p{Radical=no}', "");
-Expect(0, 11903, '\p{^Radical=no}', "");
-Expect(0, 11903, '\P{Radical=no}', "");
-Expect(1, 11903, '\P{^Radical=no}', "");
-Expect(0, 11929, '\p{Radical=no}', "");
-Expect(1, 11929, '\p{^Radical=no}', "");
-Expect(1, 11929, '\P{Radical=no}', "");
-Expect(0, 11929, '\P{^Radical=no}', "");
-Expect(1, 11903, '\p{Radical: No}', "");
-Expect(0, 11903, '\p{^Radical: No}', "");
-Expect(0, 11903, '\P{Radical: No}', "");
-Expect(1, 11903, '\P{^Radical: No}', "");
-Expect(0, 11929, '\p{Radical: No}', "");
-Expect(1, 11929, '\p{^Radical: No}', "");
-Expect(1, 11929, '\P{Radical: No}', "");
-Expect(0, 11929, '\P{^Radical: No}', "");
-Error('\p{Is_Radical= N:=}');
-Error('\P{Is_Radical= N:=}');
-Expect(1, 11903, '\p{Is_Radical=n}', "");
-Expect(0, 11903, '\p{^Is_Radical=n}', "");
-Expect(0, 11903, '\P{Is_Radical=n}', "");
-Expect(1, 11903, '\P{^Is_Radical=n}', "");
-Expect(0, 11929, '\p{Is_Radical=n}', "");
-Expect(1, 11929, '\p{^Is_Radical=n}', "");
-Expect(1, 11929, '\P{Is_Radical=n}', "");
-Expect(0, 11929, '\P{^Is_Radical=n}', "");
-Expect(1, 11903, '\p{Is_Radical=_n}', "");
-Expect(0, 11903, '\p{^Is_Radical=_n}', "");
-Expect(0, 11903, '\P{Is_Radical=_n}', "");
-Expect(1, 11903, '\P{^Is_Radical=_n}', "");
-Expect(0, 11929, '\p{Is_Radical=_n}', "");
-Expect(1, 11929, '\p{^Is_Radical=_n}', "");
-Expect(1, 11929, '\P{Is_Radical=_n}', "");
-Expect(0, 11929, '\P{^Is_Radical=_n}', "");
-Error('\p{Radical:/a/__f}');
-Error('\P{Radical:/a/__f}');
-Expect(1, 11903, '\p{Radical=f}', "");
-Expect(0, 11903, '\p{^Radical=f}', "");
-Expect(0, 11903, '\P{Radical=f}', "");
-Expect(1, 11903, '\P{^Radical=f}', "");
-Expect(0, 11929, '\p{Radical=f}', "");
-Expect(1, 11929, '\p{^Radical=f}', "");
-Expect(1, 11929, '\P{Radical=f}', "");
-Expect(0, 11929, '\P{^Radical=f}', "");
-Expect(1, 11903, '\p{Radical= F}', "");
-Expect(0, 11903, '\p{^Radical= F}', "");
-Expect(0, 11903, '\P{Radical= F}', "");
-Expect(1, 11903, '\P{^Radical= F}', "");
-Expect(0, 11929, '\p{Radical= F}', "");
-Expect(1, 11929, '\p{^Radical= F}', "");
-Expect(1, 11929, '\P{Radical= F}', "");
-Expect(0, 11929, '\P{^Radical= F}', "");
-Error('\p{Is_Radical= _False/a/}');
-Error('\P{Is_Radical= _False/a/}');
-Expect(1, 11903, '\p{Is_Radical=false}', "");
-Expect(0, 11903, '\p{^Is_Radical=false}', "");
-Expect(0, 11903, '\P{Is_Radical=false}', "");
-Expect(1, 11903, '\P{^Is_Radical=false}', "");
-Expect(0, 11929, '\p{Is_Radical=false}', "");
-Expect(1, 11929, '\p{^Is_Radical=false}', "");
-Expect(1, 11929, '\P{Is_Radical=false}', "");
-Expect(0, 11929, '\P{^Is_Radical=false}', "");
-Expect(1, 11903, '\p{Is_Radical=- false}', "");
-Expect(0, 11903, '\p{^Is_Radical=- false}', "");
-Expect(0, 11903, '\P{Is_Radical=- false}', "");
-Expect(1, 11903, '\P{^Is_Radical=- false}', "");
-Expect(0, 11929, '\p{Is_Radical=- false}', "");
-Expect(1, 11929, '\p{^Is_Radical=- false}', "");
-Expect(1, 11929, '\P{Is_Radical=- false}', "");
-Expect(0, 11929, '\P{^Is_Radical=- false}', "");
-Error('\p{Quotation_Mark= /a/yes}');
-Error('\P{Quotation_Mark= /a/yes}');
-Expect(1, 34, '\p{Quotation_Mark=yes}', "");
-Expect(0, 34, '\p{^Quotation_Mark=yes}', "");
-Expect(0, 34, '\P{Quotation_Mark=yes}', "");
-Expect(1, 34, '\P{^Quotation_Mark=yes}', "");
-Expect(0, 33, '\p{Quotation_Mark=yes}', "");
-Expect(1, 33, '\p{^Quotation_Mark=yes}', "");
-Expect(1, 33, '\P{Quotation_Mark=yes}', "");
-Expect(0, 33, '\P{^Quotation_Mark=yes}', "");
-Expect(1, 34, '\p{Quotation_Mark= Yes}', "");
-Expect(0, 34, '\p{^Quotation_Mark= Yes}', "");
-Expect(0, 34, '\P{Quotation_Mark= Yes}', "");
-Expect(1, 34, '\P{^Quotation_Mark= Yes}', "");
-Expect(0, 33, '\p{Quotation_Mark= Yes}', "");
-Expect(1, 33, '\p{^Quotation_Mark= Yes}', "");
-Expect(1, 33, '\P{Quotation_Mark= Yes}', "");
-Expect(0, 33, '\P{^Quotation_Mark= Yes}', "");
-Error('\p{QMark=-:=Y}');
-Error('\P{QMark=-:=Y}');
-Expect(1, 34, '\p{QMark: y}', "");
-Expect(0, 34, '\p{^QMark: y}', "");
-Expect(0, 34, '\P{QMark: y}', "");
-Expect(1, 34, '\P{^QMark: y}', "");
-Expect(0, 33, '\p{QMark: y}', "");
-Expect(1, 33, '\p{^QMark: y}', "");
-Expect(1, 33, '\P{QMark: y}', "");
-Expect(0, 33, '\P{^QMark: y}', "");
-Expect(1, 34, '\p{QMark: -y}', "");
-Expect(0, 34, '\p{^QMark: -y}', "");
-Expect(0, 34, '\P{QMark: -y}', "");
-Expect(1, 34, '\P{^QMark: -y}', "");
-Expect(0, 33, '\p{QMark: -y}', "");
-Expect(1, 33, '\p{^QMark: -y}', "");
-Expect(1, 33, '\P{QMark: -y}', "");
-Expect(0, 33, '\P{^QMark: -y}', "");
-Error('\p{Is_Quotation_Mark=:= T}');
-Error('\P{Is_Quotation_Mark=:= T}');
-Expect(1, 34, '\p{Is_Quotation_Mark: t}', "");
-Expect(0, 34, '\p{^Is_Quotation_Mark: t}', "");
-Expect(0, 34, '\P{Is_Quotation_Mark: t}', "");
-Expect(1, 34, '\P{^Is_Quotation_Mark: t}', "");
-Expect(0, 33, '\p{Is_Quotation_Mark: t}', "");
-Expect(1, 33, '\p{^Is_Quotation_Mark: t}', "");
-Expect(1, 33, '\P{Is_Quotation_Mark: t}', "");
-Expect(0, 33, '\P{^Is_Quotation_Mark: t}', "");
-Expect(1, 34, '\p{Is_Quotation_Mark=_T}', "");
-Expect(0, 34, '\p{^Is_Quotation_Mark=_T}', "");
-Expect(0, 34, '\P{Is_Quotation_Mark=_T}', "");
-Expect(1, 34, '\P{^Is_Quotation_Mark=_T}', "");
-Expect(0, 33, '\p{Is_Quotation_Mark=_T}', "");
-Expect(1, 33, '\p{^Is_Quotation_Mark=_T}', "");
-Expect(1, 33, '\P{Is_Quotation_Mark=_T}', "");
-Expect(0, 33, '\P{^Is_Quotation_Mark=_T}', "");
-Error('\p{Is_QMark= True/a/}');
-Error('\P{Is_QMark= True/a/}');
-Expect(1, 34, '\p{Is_QMark=true}', "");
-Expect(0, 34, '\p{^Is_QMark=true}', "");
-Expect(0, 34, '\P{Is_QMark=true}', "");
-Expect(1, 34, '\P{^Is_QMark=true}', "");
-Expect(0, 33, '\p{Is_QMark=true}', "");
-Expect(1, 33, '\p{^Is_QMark=true}', "");
-Expect(1, 33, '\P{Is_QMark=true}', "");
-Expect(0, 33, '\P{^Is_QMark=true}', "");
-Expect(1, 34, '\p{Is_QMark: _True}', "");
-Expect(0, 34, '\p{^Is_QMark: _True}', "");
-Expect(0, 34, '\P{Is_QMark: _True}', "");
-Expect(1, 34, '\P{^Is_QMark: _True}', "");
-Expect(0, 33, '\p{Is_QMark: _True}', "");
-Expect(1, 33, '\p{^Is_QMark: _True}', "");
-Expect(1, 33, '\P{Is_QMark: _True}', "");
-Expect(0, 33, '\P{^Is_QMark: _True}', "");
-Error('\p{Quotation_Mark= No:=}');
-Error('\P{Quotation_Mark= No:=}');
-Expect(1, 33, '\p{Quotation_Mark=no}', "");
-Expect(0, 33, '\p{^Quotation_Mark=no}', "");
-Expect(0, 33, '\P{Quotation_Mark=no}', "");
-Expect(1, 33, '\P{^Quotation_Mark=no}', "");
-Expect(0, 34, '\p{Quotation_Mark=no}', "");
-Expect(1, 34, '\p{^Quotation_Mark=no}', "");
-Expect(1, 34, '\P{Quotation_Mark=no}', "");
-Expect(0, 34, '\P{^Quotation_Mark=no}', "");
-Expect(1, 33, '\p{Quotation_Mark: No}', "");
-Expect(0, 33, '\p{^Quotation_Mark: No}', "");
-Expect(0, 33, '\P{Quotation_Mark: No}', "");
-Expect(1, 33, '\P{^Quotation_Mark: No}', "");
-Expect(0, 34, '\p{Quotation_Mark: No}', "");
-Expect(1, 34, '\p{^Quotation_Mark: No}', "");
-Expect(1, 34, '\P{Quotation_Mark: No}', "");
-Expect(0, 34, '\P{^Quotation_Mark: No}', "");
-Error('\p{QMark=/a/ N}');
-Error('\P{QMark=/a/ N}');
-Expect(1, 33, '\p{QMark=n}', "");
-Expect(0, 33, '\p{^QMark=n}', "");
-Expect(0, 33, '\P{QMark=n}', "");
-Expect(1, 33, '\P{^QMark=n}', "");
-Expect(0, 34, '\p{QMark=n}', "");
-Expect(1, 34, '\p{^QMark=n}', "");
-Expect(1, 34, '\P{QMark=n}', "");
-Expect(0, 34, '\P{^QMark=n}', "");
-Expect(1, 33, '\p{QMark=_N}', "");
-Expect(0, 33, '\p{^QMark=_N}', "");
-Expect(0, 33, '\P{QMark=_N}', "");
-Expect(1, 33, '\P{^QMark=_N}', "");
-Expect(0, 34, '\p{QMark=_N}', "");
-Expect(1, 34, '\p{^QMark=_N}', "");
-Expect(1, 34, '\P{QMark=_N}', "");
-Expect(0, 34, '\P{^QMark=_N}', "");
-Error('\p{Is_Quotation_Mark: -/a/F}');
-Error('\P{Is_Quotation_Mark: -/a/F}');
-Expect(1, 33, '\p{Is_Quotation_Mark=f}', "");
-Expect(0, 33, '\p{^Is_Quotation_Mark=f}', "");
-Expect(0, 33, '\P{Is_Quotation_Mark=f}', "");
-Expect(1, 33, '\P{^Is_Quotation_Mark=f}', "");
-Expect(0, 34, '\p{Is_Quotation_Mark=f}', "");
-Expect(1, 34, '\p{^Is_Quotation_Mark=f}', "");
-Expect(1, 34, '\P{Is_Quotation_Mark=f}', "");
-Expect(0, 34, '\P{^Is_Quotation_Mark=f}', "");
-Expect(1, 33, '\p{Is_Quotation_Mark=_ F}', "");
-Expect(0, 33, '\p{^Is_Quotation_Mark=_ F}', "");
-Expect(0, 33, '\P{Is_Quotation_Mark=_ F}', "");
-Expect(1, 33, '\P{^Is_Quotation_Mark=_ F}', "");
-Expect(0, 34, '\p{Is_Quotation_Mark=_ F}', "");
-Expect(1, 34, '\p{^Is_Quotation_Mark=_ F}', "");
-Expect(1, 34, '\P{Is_Quotation_Mark=_ F}', "");
-Expect(0, 34, '\P{^Is_Quotation_Mark=_ F}', "");
-Error('\p{Is_QMark: /a/False}');
-Error('\P{Is_QMark: /a/False}');
-Expect(1, 33, '\p{Is_QMark=false}', "");
-Expect(0, 33, '\p{^Is_QMark=false}', "");
-Expect(0, 33, '\P{Is_QMark=false}', "");
-Expect(1, 33, '\P{^Is_QMark=false}', "");
-Expect(0, 34, '\p{Is_QMark=false}', "");
-Expect(1, 34, '\p{^Is_QMark=false}', "");
-Expect(1, 34, '\P{Is_QMark=false}', "");
-Expect(0, 34, '\P{^Is_QMark=false}', "");
-Expect(1, 33, '\p{Is_QMark=_ False}', "");
-Expect(0, 33, '\p{^Is_QMark=_ False}', "");
-Expect(0, 33, '\P{Is_QMark=_ False}', "");
-Expect(1, 33, '\P{^Is_QMark=_ False}', "");
-Expect(0, 34, '\p{Is_QMark=_ False}', "");
-Expect(1, 34, '\p{^Is_QMark=_ False}', "");
-Expect(1, 34, '\P{Is_QMark=_ False}', "");
-Expect(0, 34, '\P{^Is_QMark=_ False}', "");
-Error('\p{Expands_On_NFD=Yes}');
-Error('\P{Expands_On_NFD=Yes}');
-Error('\p{XO_NFD: Y}');
-Error('\P{XO_NFD: Y}');
-Error('\p{Is_Expands_On_NFD=T}');
-Error('\P{Is_Expands_On_NFD=T}');
-Error('\p{Is_XO_NFD=True}');
-Error('\P{Is_XO_NFD=True}');
-Error('\p{Expands_On_NFD=No}');
-Error('\P{Expands_On_NFD=No}');
-Error('\p{XO_NFD=N}');
-Error('\P{XO_NFD=N}');
-Error('\p{Is_Expands_On_NFD=F}');
-Error('\P{Is_Expands_On_NFD=F}');
-Error('\p{Is_XO_NFD=False}');
-Error('\P{Is_XO_NFD=False}');
-Error('\p{Soft_Dotted= :=Yes}');
-Error('\P{Soft_Dotted= :=Yes}');
-Expect(1, 106, '\p{Soft_Dotted=yes}', "");
-Expect(0, 106, '\p{^Soft_Dotted=yes}', "");
-Expect(0, 106, '\P{Soft_Dotted=yes}', "");
-Expect(1, 106, '\P{^Soft_Dotted=yes}', "");
-Expect(0, 104, '\p{Soft_Dotted=yes}', "");
-Expect(1, 104, '\p{^Soft_Dotted=yes}', "");
-Expect(1, 104, '\P{Soft_Dotted=yes}', "");
-Expect(0, 104, '\P{^Soft_Dotted=yes}', "");
-Expect(1, 106, '\p{Soft_Dotted=-_YES}', "");
-Expect(0, 106, '\p{^Soft_Dotted=-_YES}', "");
-Expect(0, 106, '\P{Soft_Dotted=-_YES}', "");
-Expect(1, 106, '\P{^Soft_Dotted=-_YES}', "");
-Expect(0, 104, '\p{Soft_Dotted=-_YES}', "");
-Expect(1, 104, '\p{^Soft_Dotted=-_YES}', "");
-Expect(1, 104, '\P{Soft_Dotted=-_YES}', "");
-Expect(0, 104, '\P{^Soft_Dotted=-_YES}', "");
-Error('\p{SD=:=y}');
-Error('\P{SD=:=y}');
-Expect(1, 106, '\p{SD=y}', "");
-Expect(0, 106, '\p{^SD=y}', "");
-Expect(0, 106, '\P{SD=y}', "");
-Expect(1, 106, '\P{^SD=y}', "");
-Expect(0, 104, '\p{SD=y}', "");
-Expect(1, 104, '\p{^SD=y}', "");
-Expect(1, 104, '\P{SD=y}', "");
-Expect(0, 104, '\P{^SD=y}', "");
-Expect(1, 106, '\p{SD= Y}', "");
-Expect(0, 106, '\p{^SD= Y}', "");
-Expect(0, 106, '\P{SD= Y}', "");
-Expect(1, 106, '\P{^SD= Y}', "");
-Expect(0, 104, '\p{SD= Y}', "");
-Expect(1, 104, '\p{^SD= Y}', "");
-Expect(1, 104, '\P{SD= Y}', "");
-Expect(0, 104, '\P{^SD= Y}', "");
-Error('\p{Is_Soft_Dotted=/a/-t}');
-Error('\P{Is_Soft_Dotted=/a/-t}');
-Expect(1, 106, '\p{Is_Soft_Dotted: t}', "");
-Expect(0, 106, '\p{^Is_Soft_Dotted: t}', "");
-Expect(0, 106, '\P{Is_Soft_Dotted: t}', "");
-Expect(1, 106, '\P{^Is_Soft_Dotted: t}', "");
-Expect(0, 104, '\p{Is_Soft_Dotted: t}', "");
-Expect(1, 104, '\p{^Is_Soft_Dotted: t}', "");
-Expect(1, 104, '\P{Is_Soft_Dotted: t}', "");
-Expect(0, 104, '\P{^Is_Soft_Dotted: t}', "");
-Expect(1, 106, '\p{Is_Soft_Dotted=_t}', "");
-Expect(0, 106, '\p{^Is_Soft_Dotted=_t}', "");
-Expect(0, 106, '\P{Is_Soft_Dotted=_t}', "");
-Expect(1, 106, '\P{^Is_Soft_Dotted=_t}', "");
-Expect(0, 104, '\p{Is_Soft_Dotted=_t}', "");
-Expect(1, 104, '\p{^Is_Soft_Dotted=_t}', "");
-Expect(1, 104, '\P{Is_Soft_Dotted=_t}', "");
-Expect(0, 104, '\P{^Is_Soft_Dotted=_t}', "");
-Error('\p{Is_SD: True/a/}');
-Error('\P{Is_SD: True/a/}');
-Expect(1, 106, '\p{Is_SD: true}', "");
-Expect(0, 106, '\p{^Is_SD: true}', "");
-Expect(0, 106, '\P{Is_SD: true}', "");
-Expect(1, 106, '\P{^Is_SD: true}', "");
-Expect(0, 104, '\p{Is_SD: true}', "");
-Expect(1, 104, '\p{^Is_SD: true}', "");
-Expect(1, 104, '\P{Is_SD: true}', "");
-Expect(0, 104, '\P{^Is_SD: true}', "");
-Expect(1, 106, '\p{Is_SD= -True}', "");
-Expect(0, 106, '\p{^Is_SD= -True}', "");
-Expect(0, 106, '\P{Is_SD= -True}', "");
-Expect(1, 106, '\P{^Is_SD= -True}', "");
-Expect(0, 104, '\p{Is_SD= -True}', "");
-Expect(1, 104, '\p{^Is_SD= -True}', "");
-Expect(1, 104, '\P{Is_SD= -True}', "");
-Expect(0, 104, '\P{^Is_SD= -True}', "");
-Error('\p{Soft_Dotted=/a/ _No}');
-Error('\P{Soft_Dotted=/a/ _No}');
-Expect(1, 104, '\p{Soft_Dotted=no}', "");
-Expect(0, 104, '\p{^Soft_Dotted=no}', "");
-Expect(0, 104, '\P{Soft_Dotted=no}', "");
-Expect(1, 104, '\P{^Soft_Dotted=no}', "");
-Expect(0, 106, '\p{Soft_Dotted=no}', "");
-Expect(1, 106, '\p{^Soft_Dotted=no}', "");
-Expect(1, 106, '\P{Soft_Dotted=no}', "");
-Expect(0, 106, '\P{^Soft_Dotted=no}', "");
-Expect(1, 104, '\p{Soft_Dotted= _No}', "");
-Expect(0, 104, '\p{^Soft_Dotted= _No}', "");
-Expect(0, 104, '\P{Soft_Dotted= _No}', "");
-Expect(1, 104, '\P{^Soft_Dotted= _No}', "");
-Expect(0, 106, '\p{Soft_Dotted= _No}', "");
-Expect(1, 106, '\p{^Soft_Dotted= _No}', "");
-Expect(1, 106, '\P{Soft_Dotted= _No}', "");
-Expect(0, 106, '\P{^Soft_Dotted= _No}', "");
-Error('\p{SD=__n/a/}');
-Error('\P{SD=__n/a/}');
-Expect(1, 104, '\p{SD: n}', "");
-Expect(0, 104, '\p{^SD: n}', "");
-Expect(0, 104, '\P{SD: n}', "");
-Expect(1, 104, '\P{^SD: n}', "");
-Expect(0, 106, '\p{SD: n}', "");
-Expect(1, 106, '\p{^SD: n}', "");
-Expect(1, 106, '\P{SD: n}', "");
-Expect(0, 106, '\P{^SD: n}', "");
-Expect(1, 104, '\p{SD= -N}', "");
-Expect(0, 104, '\p{^SD= -N}', "");
-Expect(0, 104, '\P{SD= -N}', "");
-Expect(1, 104, '\P{^SD= -N}', "");
-Expect(0, 106, '\p{SD= -N}', "");
-Expect(1, 106, '\p{^SD= -N}', "");
-Expect(1, 106, '\P{SD= -N}', "");
-Expect(0, 106, '\P{^SD= -N}', "");
-Error('\p{Is_Soft_Dotted=--F/a/}');
-Error('\P{Is_Soft_Dotted=--F/a/}');
-Expect(1, 104, '\p{Is_Soft_Dotted=f}', "");
-Expect(0, 104, '\p{^Is_Soft_Dotted=f}', "");
-Expect(0, 104, '\P{Is_Soft_Dotted=f}', "");
-Expect(1, 104, '\P{^Is_Soft_Dotted=f}', "");
-Expect(0, 106, '\p{Is_Soft_Dotted=f}', "");
-Expect(1, 106, '\p{^Is_Soft_Dotted=f}', "");
-Expect(1, 106, '\P{Is_Soft_Dotted=f}', "");
-Expect(0, 106, '\P{^Is_Soft_Dotted=f}', "");
-Expect(1, 104, '\p{Is_Soft_Dotted: F}', "");
-Expect(0, 104, '\p{^Is_Soft_Dotted: F}', "");
-Expect(0, 104, '\P{Is_Soft_Dotted: F}', "");
-Expect(1, 104, '\P{^Is_Soft_Dotted: F}', "");
-Expect(0, 106, '\p{Is_Soft_Dotted: F}', "");
-Expect(1, 106, '\p{^Is_Soft_Dotted: F}', "");
-Expect(1, 106, '\P{Is_Soft_Dotted: F}', "");
-Expect(0, 106, '\P{^Is_Soft_Dotted: F}', "");
-Error('\p{Is_SD=/a/false}');
-Error('\P{Is_SD=/a/false}');
-Expect(1, 104, '\p{Is_SD=false}', "");
-Expect(0, 104, '\p{^Is_SD=false}', "");
-Expect(0, 104, '\P{Is_SD=false}', "");
-Expect(1, 104, '\P{^Is_SD=false}', "");
-Expect(0, 106, '\p{Is_SD=false}', "");
-Expect(1, 106, '\p{^Is_SD=false}', "");
-Expect(1, 106, '\P{Is_SD=false}', "");
-Expect(0, 106, '\P{^Is_SD=false}', "");
-Expect(1, 104, '\p{Is_SD=-_false}', "");
-Expect(0, 104, '\p{^Is_SD=-_false}', "");
-Expect(0, 104, '\P{Is_SD=-_false}', "");
-Expect(1, 104, '\P{^Is_SD=-_false}', "");
-Expect(0, 106, '\p{Is_SD=-_false}', "");
-Expect(1, 106, '\p{^Is_SD=-_false}', "");
-Expect(1, 106, '\P{Is_SD=-_false}', "");
-Expect(0, 106, '\P{^Is_SD=-_false}', "");
-Error('\p{Other_ID_Start=:= -yes}');
-Error('\P{Other_ID_Start=:= -yes}');
-Expect(1, 8472, '\p{Other_ID_Start=yes}', 'deprecated');
-Expect(0, 8472, '\p{^Other_ID_Start=yes}', 'deprecated');
-Expect(0, 8472, '\P{Other_ID_Start=yes}', 'deprecated');
-Expect(1, 8472, '\P{^Other_ID_Start=yes}', 'deprecated');
-Expect(0, 8471, '\p{Other_ID_Start=yes}', 'deprecated');
-Expect(1, 8471, '\p{^Other_ID_Start=yes}', 'deprecated');
-Expect(1, 8471, '\P{Other_ID_Start=yes}', 'deprecated');
-Expect(0, 8471, '\P{^Other_ID_Start=yes}', 'deprecated');
-Expect(1, 8472, '\p{Other_ID_Start= Yes}', 'deprecated');
-Expect(0, 8472, '\p{^Other_ID_Start= Yes}', 'deprecated');
-Expect(0, 8472, '\P{Other_ID_Start= Yes}', 'deprecated');
-Expect(1, 8472, '\P{^Other_ID_Start= Yes}', 'deprecated');
-Expect(0, 8471, '\p{Other_ID_Start= Yes}', 'deprecated');
-Expect(1, 8471, '\p{^Other_ID_Start= Yes}', 'deprecated');
-Expect(1, 8471, '\P{Other_ID_Start= Yes}', 'deprecated');
-Expect(0, 8471, '\P{^Other_ID_Start= Yes}', 'deprecated');
-Error('\p{OIDS=_/a/Y}');
-Error('\P{OIDS=_/a/Y}');
-Expect(1, 8472, '\p{OIDS=y}', 'deprecated');
-Expect(0, 8472, '\p{^OIDS=y}', 'deprecated');
-Expect(0, 8472, '\P{OIDS=y}', 'deprecated');
-Expect(1, 8472, '\P{^OIDS=y}', 'deprecated');
-Expect(0, 8471, '\p{OIDS=y}', 'deprecated');
-Expect(1, 8471, '\p{^OIDS=y}', 'deprecated');
-Expect(1, 8471, '\P{OIDS=y}', 'deprecated');
-Expect(0, 8471, '\P{^OIDS=y}', 'deprecated');
-Expect(1, 8472, '\p{OIDS= _Y}', 'deprecated');
-Expect(0, 8472, '\p{^OIDS= _Y}', 'deprecated');
-Expect(0, 8472, '\P{OIDS= _Y}', 'deprecated');
-Expect(1, 8472, '\P{^OIDS= _Y}', 'deprecated');
-Expect(0, 8471, '\p{OIDS= _Y}', 'deprecated');
-Expect(1, 8471, '\p{^OIDS= _Y}', 'deprecated');
-Expect(1, 8471, '\P{OIDS= _Y}', 'deprecated');
-Expect(0, 8471, '\P{^OIDS= _Y}', 'deprecated');
-Error('\p{Is_Other_ID_Start= -T/a/}');
-Error('\P{Is_Other_ID_Start= -T/a/}');
-Expect(1, 8472, '\p{Is_Other_ID_Start=t}', 'deprecated');
-Expect(0, 8472, '\p{^Is_Other_ID_Start=t}', 'deprecated');
-Expect(0, 8472, '\P{Is_Other_ID_Start=t}', 'deprecated');
-Expect(1, 8472, '\P{^Is_Other_ID_Start=t}', 'deprecated');
-Expect(0, 8471, '\p{Is_Other_ID_Start=t}', 'deprecated');
-Expect(1, 8471, '\p{^Is_Other_ID_Start=t}', 'deprecated');
-Expect(1, 8471, '\P{Is_Other_ID_Start=t}', 'deprecated');
-Expect(0, 8471, '\P{^Is_Other_ID_Start=t}', 'deprecated');
-Error('\p{Is_OIDS=-/a/true}');
-Error('\P{Is_OIDS=-/a/true}');
-Expect(1, 8472, '\p{Is_OIDS=true}', 'deprecated');
-Expect(0, 8472, '\p{^Is_OIDS=true}', 'deprecated');
-Expect(0, 8472, '\P{Is_OIDS=true}', 'deprecated');
-Expect(1, 8472, '\P{^Is_OIDS=true}', 'deprecated');
-Expect(0, 8471, '\p{Is_OIDS=true}', 'deprecated');
-Expect(1, 8471, '\p{^Is_OIDS=true}', 'deprecated');
-Expect(1, 8471, '\P{Is_OIDS=true}', 'deprecated');
-Expect(0, 8471, '\P{^Is_OIDS=true}', 'deprecated');
-Expect(1, 8472, '\p{Is_OIDS=__True}', 'deprecated');
-Expect(0, 8472, '\p{^Is_OIDS=__True}', 'deprecated');
-Expect(0, 8472, '\P{Is_OIDS=__True}', 'deprecated');
-Expect(1, 8472, '\P{^Is_OIDS=__True}', 'deprecated');
-Expect(0, 8471, '\p{Is_OIDS=__True}', 'deprecated');
-Expect(1, 8471, '\p{^Is_OIDS=__True}', 'deprecated');
-Expect(1, 8471, '\P{Is_OIDS=__True}', 'deprecated');
-Expect(0, 8471, '\P{^Is_OIDS=__True}', 'deprecated');
-Error('\p{Other_ID_Start=_-No:=}');
-Error('\P{Other_ID_Start=_-No:=}');
-Expect(1, 8471, '\p{Other_ID_Start=no}', 'deprecated');
-Expect(0, 8471, '\p{^Other_ID_Start=no}', 'deprecated');
-Expect(0, 8471, '\P{Other_ID_Start=no}', 'deprecated');
-Expect(1, 8471, '\P{^Other_ID_Start=no}', 'deprecated');
-Expect(0, 8472, '\p{Other_ID_Start=no}', 'deprecated');
-Expect(1, 8472, '\p{^Other_ID_Start=no}', 'deprecated');
-Expect(1, 8472, '\P{Other_ID_Start=no}', 'deprecated');
-Expect(0, 8472, '\P{^Other_ID_Start=no}', 'deprecated');
-Expect(1, 8471, '\p{Other_ID_Start= -No}', 'deprecated');
-Expect(0, 8471, '\p{^Other_ID_Start= -No}', 'deprecated');
-Expect(0, 8471, '\P{Other_ID_Start= -No}', 'deprecated');
-Expect(1, 8471, '\P{^Other_ID_Start= -No}', 'deprecated');
-Expect(0, 8472, '\p{Other_ID_Start= -No}', 'deprecated');
-Expect(1, 8472, '\p{^Other_ID_Start= -No}', 'deprecated');
-Expect(1, 8472, '\P{Other_ID_Start= -No}', 'deprecated');
-Expect(0, 8472, '\P{^Other_ID_Start= -No}', 'deprecated');
-Error('\p{OIDS=_ N:=}');
-Error('\P{OIDS=_ N:=}');
-Expect(1, 8471, '\p{OIDS=n}', 'deprecated');
-Expect(0, 8471, '\p{^OIDS=n}', 'deprecated');
-Expect(0, 8471, '\P{OIDS=n}', 'deprecated');
-Expect(1, 8471, '\P{^OIDS=n}', 'deprecated');
-Expect(0, 8472, '\p{OIDS=n}', 'deprecated');
-Expect(1, 8472, '\p{^OIDS=n}', 'deprecated');
-Expect(1, 8472, '\P{OIDS=n}', 'deprecated');
-Expect(0, 8472, '\P{^OIDS=n}', 'deprecated');
-Expect(1, 8471, '\p{OIDS=_N}', 'deprecated');
-Expect(0, 8471, '\p{^OIDS=_N}', 'deprecated');
-Expect(0, 8471, '\P{OIDS=_N}', 'deprecated');
-Expect(1, 8471, '\P{^OIDS=_N}', 'deprecated');
-Expect(0, 8472, '\p{OIDS=_N}', 'deprecated');
-Expect(1, 8472, '\p{^OIDS=_N}', 'deprecated');
-Expect(1, 8472, '\P{OIDS=_N}', 'deprecated');
-Expect(0, 8472, '\P{^OIDS=_N}', 'deprecated');
-Error('\p{Is_Other_ID_Start=/a/ -F}');
-Error('\P{Is_Other_ID_Start=/a/ -F}');
-Expect(1, 8471, '\p{Is_Other_ID_Start=f}', 'deprecated');
-Expect(0, 8471, '\p{^Is_Other_ID_Start=f}', 'deprecated');
-Expect(0, 8471, '\P{Is_Other_ID_Start=f}', 'deprecated');
-Expect(1, 8471, '\P{^Is_Other_ID_Start=f}', 'deprecated');
-Expect(0, 8472, '\p{Is_Other_ID_Start=f}', 'deprecated');
-Expect(1, 8472, '\p{^Is_Other_ID_Start=f}', 'deprecated');
-Expect(1, 8472, '\P{Is_Other_ID_Start=f}', 'deprecated');
-Expect(0, 8472, '\P{^Is_Other_ID_Start=f}', 'deprecated');
-Expect(1, 8471, '\p{Is_Other_ID_Start: F}', 'deprecated');
-Expect(0, 8471, '\p{^Is_Other_ID_Start: F}', 'deprecated');
-Expect(0, 8471, '\P{Is_Other_ID_Start: F}', 'deprecated');
-Expect(1, 8471, '\P{^Is_Other_ID_Start: F}', 'deprecated');
-Expect(0, 8472, '\p{Is_Other_ID_Start: F}', 'deprecated');
-Expect(1, 8472, '\p{^Is_Other_ID_Start: F}', 'deprecated');
-Expect(1, 8472, '\P{Is_Other_ID_Start: F}', 'deprecated');
-Expect(0, 8472, '\P{^Is_Other_ID_Start: F}', 'deprecated');
-Error('\p{Is_OIDS= False:=}');
-Error('\P{Is_OIDS= False:=}');
-Expect(1, 8471, '\p{Is_OIDS=false}', 'deprecated');
-Expect(0, 8471, '\p{^Is_OIDS=false}', 'deprecated');
-Expect(0, 8471, '\P{Is_OIDS=false}', 'deprecated');
-Expect(1, 8471, '\P{^Is_OIDS=false}', 'deprecated');
-Expect(0, 8472, '\p{Is_OIDS=false}', 'deprecated');
-Expect(1, 8472, '\p{^Is_OIDS=false}', 'deprecated');
-Expect(1, 8472, '\P{Is_OIDS=false}', 'deprecated');
-Expect(0, 8472, '\P{^Is_OIDS=false}', 'deprecated');
-Expect(1, 8471, '\p{Is_OIDS=- False}', 'deprecated');
-Expect(0, 8471, '\p{^Is_OIDS=- False}', 'deprecated');
-Expect(0, 8471, '\P{Is_OIDS=- False}', 'deprecated');
-Expect(1, 8471, '\P{^Is_OIDS=- False}', 'deprecated');
-Expect(0, 8472, '\p{Is_OIDS=- False}', 'deprecated');
-Expect(1, 8472, '\p{^Is_OIDS=- False}', 'deprecated');
-Expect(1, 8472, '\P{Is_OIDS=- False}', 'deprecated');
-Expect(0, 8472, '\P{^Is_OIDS=- False}', 'deprecated');
-Error('\p{Grapheme_Base: -:=yes}');
-Error('\P{Grapheme_Base: -:=yes}');
-Expect(1, 126, '\p{Grapheme_Base=yes}', "");
-Expect(0, 126, '\p{^Grapheme_Base=yes}', "");
-Expect(0, 126, '\P{Grapheme_Base=yes}', "");
-Expect(1, 126, '\P{^Grapheme_Base=yes}', "");
-Expect(0, 31, '\p{Grapheme_Base=yes}', "");
-Expect(1, 31, '\p{^Grapheme_Base=yes}', "");
-Expect(1, 31, '\P{Grapheme_Base=yes}', "");
-Expect(0, 31, '\P{^Grapheme_Base=yes}', "");
-Expect(1, 126, '\p{Grapheme_Base=_Yes}', "");
-Expect(0, 126, '\p{^Grapheme_Base=_Yes}', "");
-Expect(0, 126, '\P{Grapheme_Base=_Yes}', "");
-Expect(1, 126, '\P{^Grapheme_Base=_Yes}', "");
-Expect(0, 31, '\p{Grapheme_Base=_Yes}', "");
-Expect(1, 31, '\p{^Grapheme_Base=_Yes}', "");
-Expect(1, 31, '\P{Grapheme_Base=_Yes}', "");
-Expect(0, 31, '\P{^Grapheme_Base=_Yes}', "");
-Error('\p{Gr_Base= Y:=}');
-Error('\P{Gr_Base= Y:=}');
-Expect(1, 126, '\p{Gr_Base=y}', "");
-Expect(0, 126, '\p{^Gr_Base=y}', "");
-Expect(0, 126, '\P{Gr_Base=y}', "");
-Expect(1, 126, '\P{^Gr_Base=y}', "");
-Expect(0, 31, '\p{Gr_Base=y}', "");
-Expect(1, 31, '\p{^Gr_Base=y}', "");
-Expect(1, 31, '\P{Gr_Base=y}', "");
-Expect(0, 31, '\P{^Gr_Base=y}', "");
-Expect(1, 126, '\p{Gr_Base: Y}', "");
-Expect(0, 126, '\p{^Gr_Base: Y}', "");
-Expect(0, 126, '\P{Gr_Base: Y}', "");
-Expect(1, 126, '\P{^Gr_Base: Y}', "");
-Expect(0, 31, '\p{Gr_Base: Y}', "");
-Expect(1, 31, '\p{^Gr_Base: Y}', "");
-Expect(1, 31, '\P{Gr_Base: Y}', "");
-Expect(0, 31, '\P{^Gr_Base: Y}', "");
-Error('\p{Is_Grapheme_Base=/a/_T}');
-Error('\P{Is_Grapheme_Base=/a/_T}');
-Expect(1, 126, '\p{Is_Grapheme_Base=t}', "");
-Expect(0, 126, '\p{^Is_Grapheme_Base=t}', "");
-Expect(0, 126, '\P{Is_Grapheme_Base=t}', "");
-Expect(1, 126, '\P{^Is_Grapheme_Base=t}', "");
-Expect(0, 31, '\p{Is_Grapheme_Base=t}', "");
-Expect(1, 31, '\p{^Is_Grapheme_Base=t}', "");
-Expect(1, 31, '\P{Is_Grapheme_Base=t}', "");
-Expect(0, 31, '\P{^Is_Grapheme_Base=t}', "");
-Expect(1, 126, '\p{Is_Grapheme_Base=_ T}', "");
-Expect(0, 126, '\p{^Is_Grapheme_Base=_ T}', "");
-Expect(0, 126, '\P{Is_Grapheme_Base=_ T}', "");
-Expect(1, 126, '\P{^Is_Grapheme_Base=_ T}', "");
-Expect(0, 31, '\p{Is_Grapheme_Base=_ T}', "");
-Expect(1, 31, '\p{^Is_Grapheme_Base=_ T}', "");
-Expect(1, 31, '\P{Is_Grapheme_Base=_ T}', "");
-Expect(0, 31, '\P{^Is_Grapheme_Base=_ T}', "");
-Error('\p{Is_Gr_Base= TRUE:=}');
-Error('\P{Is_Gr_Base= TRUE:=}');
-Expect(1, 126, '\p{Is_Gr_Base=true}', "");
-Expect(0, 126, '\p{^Is_Gr_Base=true}', "");
-Expect(0, 126, '\P{Is_Gr_Base=true}', "");
-Expect(1, 126, '\P{^Is_Gr_Base=true}', "");
-Expect(0, 31, '\p{Is_Gr_Base=true}', "");
-Expect(1, 31, '\p{^Is_Gr_Base=true}', "");
-Expect(1, 31, '\P{Is_Gr_Base=true}', "");
-Expect(0, 31, '\P{^Is_Gr_Base=true}', "");
-Expect(1, 126, '\p{Is_Gr_Base: -_true}', "");
-Expect(0, 126, '\p{^Is_Gr_Base: -_true}', "");
-Expect(0, 126, '\P{Is_Gr_Base: -_true}', "");
-Expect(1, 126, '\P{^Is_Gr_Base: -_true}', "");
-Expect(0, 31, '\p{Is_Gr_Base: -_true}', "");
-Expect(1, 31, '\p{^Is_Gr_Base: -_true}', "");
-Expect(1, 31, '\P{Is_Gr_Base: -_true}', "");
-Expect(0, 31, '\P{^Is_Gr_Base: -_true}', "");
-Error('\p{Grapheme_Base:/a/ NO}');
-Error('\P{Grapheme_Base:/a/ NO}');
-Expect(1, 31, '\p{Grapheme_Base=no}', "");
-Expect(0, 31, '\p{^Grapheme_Base=no}', "");
-Expect(0, 31, '\P{Grapheme_Base=no}', "");
-Expect(1, 31, '\P{^Grapheme_Base=no}', "");
-Expect(0, 126, '\p{Grapheme_Base=no}', "");
-Expect(1, 126, '\p{^Grapheme_Base=no}', "");
-Expect(1, 126, '\P{Grapheme_Base=no}', "");
-Expect(0, 126, '\P{^Grapheme_Base=no}', "");
-Expect(1, 31, '\p{Grapheme_Base=- NO}', "");
-Expect(0, 31, '\p{^Grapheme_Base=- NO}', "");
-Expect(0, 31, '\P{Grapheme_Base=- NO}', "");
-Expect(1, 31, '\P{^Grapheme_Base=- NO}', "");
-Expect(0, 126, '\p{Grapheme_Base=- NO}', "");
-Expect(1, 126, '\p{^Grapheme_Base=- NO}', "");
-Expect(1, 126, '\P{Grapheme_Base=- NO}', "");
-Expect(0, 126, '\P{^Grapheme_Base=- NO}', "");
-Error('\p{Gr_Base=-:=N}');
-Error('\P{Gr_Base=-:=N}');
-Expect(1, 31, '\p{Gr_Base=n}', "");
-Expect(0, 31, '\p{^Gr_Base=n}', "");
-Expect(0, 31, '\P{Gr_Base=n}', "");
-Expect(1, 31, '\P{^Gr_Base=n}', "");
-Expect(0, 126, '\p{Gr_Base=n}', "");
-Expect(1, 126, '\p{^Gr_Base=n}', "");
-Expect(1, 126, '\P{Gr_Base=n}', "");
-Expect(0, 126, '\P{^Gr_Base=n}', "");
-Expect(1, 31, '\p{Gr_Base= _N}', "");
-Expect(0, 31, '\p{^Gr_Base= _N}', "");
-Expect(0, 31, '\P{Gr_Base= _N}', "");
-Expect(1, 31, '\P{^Gr_Base= _N}', "");
-Expect(0, 126, '\p{Gr_Base= _N}', "");
-Expect(1, 126, '\p{^Gr_Base= _N}', "");
-Expect(1, 126, '\P{Gr_Base= _N}', "");
-Expect(0, 126, '\P{^Gr_Base= _N}', "");
-Error('\p{Is_Grapheme_Base=_F/a/}');
-Error('\P{Is_Grapheme_Base=_F/a/}');
-Expect(1, 31, '\p{Is_Grapheme_Base=f}', "");
-Expect(0, 31, '\p{^Is_Grapheme_Base=f}', "");
-Expect(0, 31, '\P{Is_Grapheme_Base=f}', "");
-Expect(1, 31, '\P{^Is_Grapheme_Base=f}', "");
-Expect(0, 126, '\p{Is_Grapheme_Base=f}', "");
-Expect(1, 126, '\p{^Is_Grapheme_Base=f}', "");
-Expect(1, 126, '\P{Is_Grapheme_Base=f}', "");
-Expect(0, 126, '\P{^Is_Grapheme_Base=f}', "");
-Expect(1, 31, '\p{Is_Grapheme_Base: _F}', "");
-Expect(0, 31, '\p{^Is_Grapheme_Base: _F}', "");
-Expect(0, 31, '\P{Is_Grapheme_Base: _F}', "");
-Expect(1, 31, '\P{^Is_Grapheme_Base: _F}', "");
-Expect(0, 126, '\p{Is_Grapheme_Base: _F}', "");
-Expect(1, 126, '\p{^Is_Grapheme_Base: _F}', "");
-Expect(1, 126, '\P{Is_Grapheme_Base: _F}', "");
-Expect(0, 126, '\P{^Is_Grapheme_Base: _F}', "");
-Error('\p{Is_Gr_Base= false/a/}');
-Error('\P{Is_Gr_Base= false/a/}');
-Expect(1, 31, '\p{Is_Gr_Base: false}', "");
-Expect(0, 31, '\p{^Is_Gr_Base: false}', "");
-Expect(0, 31, '\P{Is_Gr_Base: false}', "");
-Expect(1, 31, '\P{^Is_Gr_Base: false}', "");
-Expect(0, 126, '\p{Is_Gr_Base: false}', "");
-Expect(1, 126, '\p{^Is_Gr_Base: false}', "");
-Expect(1, 126, '\P{Is_Gr_Base: false}', "");
-Expect(0, 126, '\P{^Is_Gr_Base: false}', "");
-Expect(1, 31, '\p{Is_Gr_Base= False}', "");
-Expect(0, 31, '\p{^Is_Gr_Base= False}', "");
-Expect(0, 31, '\P{Is_Gr_Base= False}', "");
-Expect(1, 31, '\P{^Is_Gr_Base= False}', "");
-Expect(0, 126, '\p{Is_Gr_Base= False}', "");
-Expect(1, 126, '\p{^Is_Gr_Base= False}', "");
-Expect(1, 126, '\P{Is_Gr_Base= False}', "");
-Expect(0, 126, '\P{^Is_Gr_Base= False}', "");
-Error('\p{Numeric_Value= :=0_0 0_00-0 00_33}');
-Error('\P{Numeric_Value= :=0_0 0_00-0 00_33}');
-Expect(1, 12893, '\p{Numeric_Value=33}', "");
-Expect(0, 12893, '\p{^Numeric_Value=33}', "");
-Expect(0, 12893, '\P{Numeric_Value=33}', "");
-Expect(1, 12893, '\P{^Numeric_Value=33}', "");
-Expect(0, 12892, '\p{Numeric_Value=33}', "");
-Expect(1, 12892, '\p{^Numeric_Value=33}', "");
-Expect(1, 12892, '\P{Numeric_Value=33}', "");
-Expect(0, 12892, '\P{^Numeric_Value=33}', "");
-Error('\p{Nv:_+0:=0 0033}');
-Error('\P{Nv:_+0:=0 0033}');
-Expect(1, 12893, '\p{Nv=000_000_33}', "");
-Expect(0, 12893, '\p{^Nv=000_000_33}', "");
-Expect(0, 12893, '\P{Nv=000_000_33}', "");
-Expect(1, 12893, '\P{^Nv=000_000_33}', "");
-Expect(0, 12892, '\p{Nv=000_000_33}', "");
-Expect(1, 12892, '\p{^Nv=000_000_33}', "");
-Expect(1, 12892, '\P{Nv=000_000_33}', "");
-Expect(0, 12892, '\P{^Nv=000_000_33}', "");
-Error('\p{Is_Numeric_Value=:=0000000033}');
-Error('\P{Is_Numeric_Value=:=0000000033}');
-Expect(1, 12893, '\p{Is_Numeric_Value=0000000033}', "");
-Expect(0, 12893, '\p{^Is_Numeric_Value=0000000033}', "");
-Expect(0, 12893, '\P{Is_Numeric_Value=0000000033}', "");
-Expect(1, 12893, '\P{^Is_Numeric_Value=0000000033}', "");
-Expect(0, 12892, '\p{Is_Numeric_Value=0000000033}', "");
-Expect(1, 12892, '\p{^Is_Numeric_Value=0000000033}', "");
-Expect(1, 12892, '\P{Is_Numeric_Value=0000000033}', "");
-Expect(0, 12892, '\P{^Is_Numeric_Value=0000000033}', "");
-Error('\p{Is_Nv= 3 3/a/}');
-Error('\P{Is_Nv= 3 3/a/}');
-Expect(1, 12893, '\p{Is_Nv=033}', "");
-Expect(0, 12893, '\p{^Is_Nv=033}', "");
-Expect(0, 12893, '\P{Is_Nv=033}', "");
-Expect(1, 12893, '\P{^Is_Nv=033}', "");
-Expect(0, 12892, '\p{Is_Nv=033}', "");
-Expect(1, 12892, '\p{^Is_Nv=033}', "");
-Expect(1, 12892, '\P{Is_Nv=033}', "");
-Expect(0, 12892, '\P{^Is_Nv=033}', "");
-Error('\p{Numeric_Value=/a/- 00000000032}');
-Error('\P{Numeric_Value=/a/- 00000000032}');
-Expect(1, 12892, '\p{Numeric_Value=0000000032}', "");
-Expect(0, 12892, '\p{^Numeric_Value=0000000032}', "");
-Expect(0, 12892, '\P{Numeric_Value=0000000032}', "");
-Expect(1, 12892, '\P{^Numeric_Value=0000000032}', "");
-Expect(0, 12891, '\p{Numeric_Value=0000000032}', "");
-Expect(1, 12891, '\p{^Numeric_Value=0000000032}', "");
-Expect(1, 12891, '\P{Numeric_Value=0000000032}', "");
-Expect(0, 12891, '\P{^Numeric_Value=0000000032}', "");
-Error('\p{Nv=- 0:=00-0_0032}');
-Error('\P{Nv=- 0:=00-0_0032}');
-Expect(1, 12892, '\p{Nv=0000032}', "");
-Expect(0, 12892, '\p{^Nv=0000032}', "");
-Expect(0, 12892, '\P{Nv=0000032}', "");
-Expect(1, 12892, '\P{^Nv=0000032}', "");
-Expect(0, 12891, '\p{Nv=0000032}', "");
-Expect(1, 12891, '\p{^Nv=0000032}', "");
-Expect(1, 12891, '\P{Nv=0000032}', "");
-Expect(0, 12891, '\P{^Nv=0000032}', "");
-Error('\p{Is_Numeric_Value: 03 2:=}');
-Error('\P{Is_Numeric_Value: 03 2:=}');
-Expect(1, 12892, '\p{Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(0, 12892, '\p{^Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(0, 12892, '\P{Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(1, 12892, '\P{^Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(0, 12891, '\p{Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(1, 12891, '\p{^Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(1, 12891, '\P{Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Expect(0, 12891, '\P{^Is_Numeric_Value=+0_0_0_0_0_0_0032}', "");
-Error('\p{Is_Nv=:=_ +0 0 32}');
-Error('\P{Is_Nv=:=_ +0 0 32}');
-Expect(1, 12892, '\p{Is_Nv=0000000032}', "");
-Expect(0, 12892, '\p{^Is_Nv=0000000032}', "");
-Expect(0, 12892, '\P{Is_Nv=0000000032}', "");
-Expect(1, 12892, '\P{^Is_Nv=0000000032}', "");
-Expect(0, 12891, '\p{Is_Nv=0000000032}', "");
-Expect(1, 12891, '\p{^Is_Nv=0000000032}', "");
-Expect(1, 12891, '\P{Is_Nv=0000000032}', "");
-Expect(0, 12891, '\P{^Is_Nv=0000000032}', "");
-Error('\p{Numeric_Value= /a/+00003/00016}');
-Error('\P{Numeric_Value= /a/+00003/00016}');
-Expect(1, 2550, '\p{Numeric_Value=+00003/0016}', "");
-Expect(0, 2550, '\p{^Numeric_Value=+00003/0016}', "");
-Expect(0, 2550, '\P{Numeric_Value=+00003/0016}', "");
-Expect(1, 2550, '\P{^Numeric_Value=+00003/0016}', "");
-Expect(0, 2549, '\p{Numeric_Value=+00003/0016}', "");
-Expect(1, 2549, '\p{^Numeric_Value=+00003/0016}', "");
-Expect(1, 2549, '\P{Numeric_Value=+00003/0016}', "");
-Expect(0, 2549, '\P{^Numeric_Value=+00003/0016}', "");
-Error('\p{Numeric_Value=0.19}');
-Error('\P{Numeric_Value=0.19}');
-Expect(1, 2550, '\p{Numeric_Value=0.188}', "");
-Expect(0, 2550, '\p{^Numeric_Value=0.188}', "");
-Expect(0, 2550, '\P{Numeric_Value=0.188}', "");
-Expect(1, 2550, '\P{^Numeric_Value=0.188}', "");
-Expect(0, 2549, '\p{Numeric_Value=0.188}', "");
-Expect(1, 2549, '\p{^Numeric_Value=0.188}', "");
-Expect(1, 2549, '\P{Numeric_Value=0.188}', "");
-Expect(0, 2549, '\P{^Numeric_Value=0.188}', "");
-Error('\p{Nv=:=- 00003/000016}');
-Error('\P{Nv=:=- 00003/000016}');
-Expect(1, 2550, '\p{Nv=0003/0016}', "");
-Expect(0, 2550, '\p{^Nv=0003/0016}', "");
-Expect(0, 2550, '\P{Nv=0003/0016}', "");
-Expect(1, 2550, '\P{^Nv=0003/0016}', "");
-Expect(0, 2549, '\p{Nv=0003/0016}', "");
-Expect(1, 2549, '\p{^Nv=0003/0016}', "");
-Expect(1, 2549, '\P{Nv=0003/0016}', "");
-Expect(0, 2549, '\P{^Nv=0003/0016}', "");
-Error('\p{Nv=0.19}');
-Error('\P{Nv=0.19}');
-Expect(1, 2550, '\p{Nv=0.188}', "");
-Expect(0, 2550, '\p{^Nv=0.188}', "");
-Expect(0, 2550, '\P{Nv=0.188}', "");
-Expect(1, 2550, '\P{^Nv=0.188}', "");
-Expect(0, 2549, '\p{Nv=0.188}', "");
-Expect(1, 2549, '\p{^Nv=0.188}', "");
-Expect(1, 2549, '\P{Nv=0.188}', "");
-Expect(0, 2549, '\P{^Nv=0.188}', "");
-Error('\p{Is_Numeric_Value=-:=00000003/16}');
-Error('\P{Is_Numeric_Value=-:=00000003/16}');
-Expect(1, 2550, '\p{Is_Numeric_Value: 00003/000000016}', "");
-Expect(0, 2550, '\p{^Is_Numeric_Value: 00003/000000016}', "");
-Expect(0, 2550, '\P{Is_Numeric_Value: 00003/000000016}', "");
-Expect(1, 2550, '\P{^Is_Numeric_Value: 00003/000000016}', "");
-Expect(0, 2549, '\p{Is_Numeric_Value: 00003/000000016}', "");
-Expect(1, 2549, '\p{^Is_Numeric_Value: 00003/000000016}', "");
-Expect(1, 2549, '\P{Is_Numeric_Value: 00003/000000016}', "");
-Expect(0, 2549, '\P{^Is_Numeric_Value: 00003/000000016}', "");
-Error('\p{Is_Numeric_Value=0.19}');
-Error('\P{Is_Numeric_Value=0.19}');
-Expect(1, 2550, '\p{Is_Numeric_Value=0.188}', "");
-Expect(0, 2550, '\p{^Is_Numeric_Value=0.188}', "");
-Expect(0, 2550, '\P{Is_Numeric_Value=0.188}', "");
-Expect(1, 2550, '\P{^Is_Numeric_Value=0.188}', "");
-Expect(0, 2549, '\p{Is_Numeric_Value=0.188}', "");
-Expect(1, 2549, '\p{^Is_Numeric_Value=0.188}', "");
-Expect(1, 2549, '\P{Is_Numeric_Value=0.188}', "");
-Expect(0, 2549, '\P{^Is_Numeric_Value=0.188}', "");
-Error('\p{Is_Nv=_00003/0016/a/}');
-Error('\P{Is_Nv=_00003/0016/a/}');
-Expect(1, 2550, '\p{Is_Nv: +0000000003/000000016}', "");
-Expect(0, 2550, '\p{^Is_Nv: +0000000003/000000016}', "");
-Expect(0, 2550, '\P{Is_Nv: +0000000003/000000016}', "");
-Expect(1, 2550, '\P{^Is_Nv: +0000000003/000000016}', "");
-Expect(0, 2549, '\p{Is_Nv: +0000000003/000000016}', "");
-Expect(1, 2549, '\p{^Is_Nv: +0000000003/000000016}', "");
-Expect(1, 2549, '\P{Is_Nv: +0000000003/000000016}', "");
-Expect(0, 2549, '\P{^Is_Nv: +0000000003/000000016}', "");
-Error('\p{Is_Nv=0.19}');
-Error('\P{Is_Nv=0.19}');
-Expect(1, 2550, '\p{Is_Nv=0.188}', "");
-Expect(0, 2550, '\p{^Is_Nv=0.188}', "");
-Expect(0, 2550, '\P{Is_Nv=0.188}', "");
-Expect(1, 2550, '\P{^Is_Nv=0.188}', "");
-Expect(0, 2549, '\p{Is_Nv=0.188}', "");
-Expect(1, 2549, '\p{^Is_Nv=0.188}', "");
-Expect(1, 2549, '\P{Is_Nv=0.188}', "");
-Expect(0, 2549, '\P{^Is_Nv=0.188}', "");
-Error('\p{Numeric_Value=/a/-+00000021}');
-Error('\P{Numeric_Value=/a/-+00000021}');
-Expect(1, 12881, '\p{Numeric_Value=21}', "");
-Expect(0, 12881, '\p{^Numeric_Value=21}', "");
-Expect(0, 12881, '\P{Numeric_Value=21}', "");
-Expect(1, 12881, '\P{^Numeric_Value=21}', "");
-Expect(0, 12880, '\p{Numeric_Value=21}', "");
-Expect(1, 12880, '\p{^Numeric_Value=21}', "");
-Expect(1, 12880, '\P{Numeric_Value=21}', "");
-Expect(0, 12880, '\P{^Numeric_Value=21}', "");
-Error('\p{Nv=/a/_2 1}');
-Error('\P{Nv=/a/_2 1}');
-Expect(1, 12881, '\p{Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(0, 12881, '\p{^Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(0, 12881, '\P{Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(1, 12881, '\P{^Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(0, 12880, '\p{Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(1, 12880, '\p{^Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(1, 12880, '\P{Nv: +0_0_0_0_0_0_0_0021}', "");
-Expect(0, 12880, '\P{^Nv: +0_0_0_0_0_0_0_0021}', "");
-Error('\p{Is_Numeric_Value=_+0:=00_0_00-0_021}');
-Error('\P{Is_Numeric_Value=_+0:=00_0_00-0_021}');
-Expect(1, 12881, '\p{Is_Numeric_Value=2_1}', "");
-Expect(0, 12881, '\p{^Is_Numeric_Value=2_1}', "");
-Expect(0, 12881, '\P{Is_Numeric_Value=2_1}', "");
-Expect(1, 12881, '\P{^Is_Numeric_Value=2_1}', "");
-Expect(0, 12880, '\p{Is_Numeric_Value=2_1}', "");
-Expect(1, 12880, '\p{^Is_Numeric_Value=2_1}', "");
-Expect(1, 12880, '\P{Is_Numeric_Value=2_1}', "");
-Expect(0, 12880, '\P{^Is_Numeric_Value=2_1}', "");
-Error('\p{Is_Nv=:=_-+0 0 0 0-0-0021}');
-Error('\P{Is_Nv=:=_-+0 0 0 0-0-0021}');
-Expect(1, 12881, '\p{Is_Nv=00000021}', "");
-Expect(0, 12881, '\p{^Is_Nv=00000021}', "");
-Expect(0, 12881, '\P{Is_Nv=00000021}', "");
-Expect(1, 12881, '\P{^Is_Nv=00000021}', "");
-Expect(0, 12880, '\p{Is_Nv=00000021}', "");
-Expect(1, 12880, '\p{^Is_Nv=00000021}', "");
-Expect(1, 12880, '\P{Is_Nv=00000021}', "");
-Expect(0, 12880, '\P{^Is_Nv=00000021}', "");
-Error('\p{Numeric_Value:-000000090/a/}');
-Error('\P{Numeric_Value:-000000090/a/}');
-Expect(1, 4986, '\p{Numeric_Value=000_009_0}', "");
-Expect(0, 4986, '\p{^Numeric_Value=000_009_0}', "");
-Expect(0, 4986, '\P{Numeric_Value=000_009_0}', "");
-Expect(1, 4986, '\P{^Numeric_Value=000_009_0}', "");
-Expect(0, 4985, '\p{Numeric_Value=000_009_0}', "");
-Expect(1, 4985, '\p{^Numeric_Value=000_009_0}', "");
-Expect(1, 4985, '\P{Numeric_Value=000_009_0}', "");
-Expect(0, 4985, '\P{^Numeric_Value=000_009_0}', "");
-Error('\p{Nv= -0_0 90/a/}');
-Error('\P{Nv= -0_0 90/a/}');
-Expect(1, 4986, '\p{Nv=90}', "");
-Expect(0, 4986, '\p{^Nv=90}', "");
-Expect(0, 4986, '\P{Nv=90}', "");
-Expect(1, 4986, '\P{^Nv=90}', "");
-Expect(0, 4985, '\p{Nv=90}', "");
-Expect(1, 4985, '\p{^Nv=90}', "");
-Expect(1, 4985, '\P{Nv=90}', "");
-Expect(0, 4985, '\P{^Nv=90}', "");
-Error('\p{Is_Numeric_Value= 00:=00 00 00-09 0}');
-Error('\P{Is_Numeric_Value= 00:=00 00 00-09 0}');
-Expect(1, 4986, '\p{Is_Numeric_Value=000090}', "");
-Expect(0, 4986, '\p{^Is_Numeric_Value=000090}', "");
-Expect(0, 4986, '\P{Is_Numeric_Value=000090}', "");
-Expect(1, 4986, '\P{^Is_Numeric_Value=000090}', "");
-Expect(0, 4985, '\p{Is_Numeric_Value=000090}', "");
-Expect(1, 4985, '\p{^Is_Numeric_Value=000090}', "");
-Expect(1, 4985, '\P{Is_Numeric_Value=000090}', "");
-Expect(0, 4985, '\P{^Is_Numeric_Value=000090}', "");
-Error('\p{Is_Nv=:=- 000090}');
-Error('\P{Is_Nv=:=- 000090}');
-Expect(1, 4986, '\p{Is_Nv=00000090}', "");
-Expect(0, 4986, '\p{^Is_Nv=00000090}', "");
-Expect(0, 4986, '\P{Is_Nv=00000090}', "");
-Expect(1, 4986, '\P{^Is_Nv=00000090}', "");
-Expect(0, 4985, '\p{Is_Nv=00000090}', "");
-Expect(1, 4985, '\p{^Is_Nv=00000090}', "");
-Expect(1, 4985, '\P{Is_Nv=00000090}', "");
-Expect(0, 4985, '\P{^Is_Nv=00000090}', "");
-Error('\p{Numeric_Value=:=_ 0000000-7}');
-Error('\P{Numeric_Value=:=_ 0000000-7}');
-Expect(1, 55, '\p{Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(0, 55, '\p{^Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(0, 55, '\P{Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(1, 55, '\P{^Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(0, 54, '\p{Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(1, 54, '\p{^Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(1, 54, '\P{Numeric_Value=0_0_0_0_0_0007}', "");
-Expect(0, 54, '\P{^Numeric_Value=0_0_0_0_0_0007}', "");
-Error('\p{Nv=_/a/7}');
-Error('\P{Nv=_/a/7}');
-Expect(1, 55, '\p{Nv=+007}', "");
-Expect(0, 55, '\p{^Nv=+007}', "");
-Expect(0, 55, '\P{Nv=+007}', "");
-Expect(1, 55, '\P{^Nv=+007}', "");
-Expect(0, 54, '\p{Nv=+007}', "");
-Expect(1, 54, '\p{^Nv=+007}', "");
-Expect(1, 54, '\P{Nv=+007}', "");
-Expect(0, 54, '\P{^Nv=+007}', "");
-Error('\p{Is_Numeric_Value= :=+00_7}');
-Error('\P{Is_Numeric_Value= :=+00_7}');
-Expect(1, 55, '\p{Is_Numeric_Value=0_0_0_07}', "");
-Expect(0, 55, '\p{^Is_Numeric_Value=0_0_0_07}', "");
-Expect(0, 55, '\P{Is_Numeric_Value=0_0_0_07}', "");
-Expect(1, 55, '\P{^Is_Numeric_Value=0_0_0_07}', "");
-Expect(0, 54, '\p{Is_Numeric_Value=0_0_0_07}', "");
-Expect(1, 54, '\p{^Is_Numeric_Value=0_0_0_07}', "");
-Expect(1, 54, '\P{Is_Numeric_Value=0_0_0_07}', "");
-Expect(0, 54, '\P{^Is_Numeric_Value=0_0_0_07}', "");
-Error('\p{Is_Nv=-_+000007/a/}');
-Error('\P{Is_Nv=-_+000007/a/}');
-Expect(1, 55, '\p{Is_Nv=+0000000007}', "");
-Expect(0, 55, '\p{^Is_Nv=+0000000007}', "");
-Expect(0, 55, '\P{Is_Nv=+0000000007}', "");
-Expect(1, 55, '\P{^Is_Nv=+0000000007}', "");
-Expect(0, 54, '\p{Is_Nv=+0000000007}', "");
-Expect(1, 54, '\p{^Is_Nv=+0000000007}', "");
-Expect(1, 54, '\P{Is_Nv=+0000000007}', "");
-Expect(0, 54, '\P{^Is_Nv=+0000000007}', "");
-Error('\p{Numeric_Value: _0000000600/a/}');
-Error('\P{Numeric_Value: _0000000600/a/}');
-Expect(1, 65822, '\p{Numeric_Value=+000600}', "");
-Expect(0, 65822, '\p{^Numeric_Value=+000600}', "");
-Expect(0, 65822, '\P{Numeric_Value=+000600}', "");
-Expect(1, 65822, '\P{^Numeric_Value=+000600}', "");
-Expect(0, 65821, '\p{Numeric_Value=+000600}', "");
-Expect(1, 65821, '\p{^Numeric_Value=+000600}', "");
-Expect(1, 65821, '\P{Numeric_Value=+000600}', "");
-Expect(0, 65821, '\P{^Numeric_Value=+000600}', "");
-Error('\p{Nv=-:=+000000600}');
-Error('\P{Nv=-:=+000000600}');
-Expect(1, 65822, '\p{Nv=+00000000600}', "");
-Expect(0, 65822, '\p{^Nv=+00000000600}', "");
-Expect(0, 65822, '\P{Nv=+00000000600}', "");
-Expect(1, 65822, '\P{^Nv=+00000000600}', "");
-Expect(0, 65821, '\p{Nv=+00000000600}', "");
-Expect(1, 65821, '\p{^Nv=+00000000600}', "");
-Expect(1, 65821, '\P{Nv=+00000000600}', "");
-Expect(0, 65821, '\P{^Nv=+00000000600}', "");
-Error('\p{Is_Numeric_Value= :=00000600}');
-Error('\P{Is_Numeric_Value= :=00000600}');
-Expect(1, 65822, '\p{Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(0, 65822, '\p{^Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(0, 65822, '\P{Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(1, 65822, '\P{^Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(0, 65821, '\p{Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(1, 65821, '\p{^Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(1, 65821, '\P{Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Expect(0, 65821, '\P{^Is_Numeric_Value=0_0_0_0_0_00600}', "");
-Error('\p{Is_Nv=/a/__000000600}');
-Error('\P{Is_Nv=/a/__000000600}');
-Expect(1, 65822, '\p{Is_Nv: 0000600}', "");
-Expect(0, 65822, '\p{^Is_Nv: 0000600}', "");
-Expect(0, 65822, '\P{Is_Nv: 0000600}', "");
-Expect(1, 65822, '\P{^Is_Nv: 0000600}', "");
-Expect(0, 65821, '\p{Is_Nv: 0000600}', "");
-Expect(1, 65821, '\p{^Is_Nv: 0000600}', "");
-Expect(1, 65821, '\P{Is_Nv: 0000600}', "");
-Expect(0, 65821, '\P{^Is_Nv: 0000600}', "");
-Error('\p{Numeric_Value=:=_00-00 0 026}');
-Error('\P{Numeric_Value=:=_00-00 0 026}');
-Expect(1, 12886, '\p{Numeric_Value=26}', "");
-Expect(0, 12886, '\p{^Numeric_Value=26}', "");
-Expect(0, 12886, '\P{Numeric_Value=26}', "");
-Expect(1, 12886, '\P{^Numeric_Value=26}', "");
-Expect(0, 12885, '\p{Numeric_Value=26}', "");
-Expect(1, 12885, '\p{^Numeric_Value=26}', "");
-Expect(1, 12885, '\P{Numeric_Value=26}', "");
-Expect(0, 12885, '\P{^Numeric_Value=26}', "");
-Error('\p{Nv=-0002/a/6}');
-Error('\P{Nv=-0002/a/6}');
-Expect(1, 12886, '\p{Nv=0000000026}', "");
-Expect(0, 12886, '\p{^Nv=0000000026}', "");
-Expect(0, 12886, '\P{Nv=0000000026}', "");
-Expect(1, 12886, '\P{^Nv=0000000026}', "");
-Expect(0, 12885, '\p{Nv=0000000026}', "");
-Expect(1, 12885, '\p{^Nv=0000000026}', "");
-Expect(1, 12885, '\P{Nv=0000000026}', "");
-Expect(0, 12885, '\P{^Nv=0000000026}', "");
-Error('\p{Is_Numeric_Value= -00 0_0 0 0026/a/}');
-Error('\P{Is_Numeric_Value= -00 0_0 0 0026/a/}');
-Expect(1, 12886, '\p{Is_Numeric_Value=26}', "");
-Expect(0, 12886, '\p{^Is_Numeric_Value=26}', "");
-Expect(0, 12886, '\P{Is_Numeric_Value=26}', "");
-Expect(1, 12886, '\P{^Is_Numeric_Value=26}', "");
-Expect(0, 12885, '\p{Is_Numeric_Value=26}', "");
-Expect(1, 12885, '\p{^Is_Numeric_Value=26}', "");
-Expect(1, 12885, '\P{Is_Numeric_Value=26}', "");
-Expect(0, 12885, '\P{^Is_Numeric_Value=26}', "");
-Error('\p{Is_Nv=:=- 026}');
-Error('\P{Is_Nv=:=- 026}');
-Expect(1, 12886, '\p{Is_Nv=26}', "");
-Expect(0, 12886, '\p{^Is_Nv=26}', "");
-Expect(0, 12886, '\P{Is_Nv=26}', "");
-Expect(1, 12886, '\P{^Is_Nv=26}', "");
-Expect(0, 12885, '\p{Is_Nv=26}', "");
-Expect(1, 12885, '\p{^Is_Nv=26}', "");
-Expect(1, 12885, '\P{Is_Nv=26}', "");
-Expect(0, 12885, '\P{^Is_Nv=26}', "");
-Error('\p{Numeric_Value=/a/+0000080}');
-Error('\P{Numeric_Value=/a/+0000080}');
-Expect(1, 4985, '\p{Numeric_Value=000000080}', "");
-Expect(0, 4985, '\p{^Numeric_Value=000000080}', "");
-Expect(0, 4985, '\P{Numeric_Value=000000080}', "");
-Expect(1, 4985, '\P{^Numeric_Value=000000080}', "");
-Expect(0, 4984, '\p{Numeric_Value=000000080}', "");
-Expect(1, 4984, '\p{^Numeric_Value=000000080}', "");
-Expect(1, 4984, '\P{Numeric_Value=000000080}', "");
-Expect(0, 4984, '\P{^Numeric_Value=000000080}', "");
-Error('\p{Nv= /a/00080}');
-Error('\P{Nv= /a/00080}');
-Expect(1, 4985, '\p{Nv=0_0_80}', "");
-Expect(0, 4985, '\p{^Nv=0_0_80}', "");
-Expect(0, 4985, '\P{Nv=0_0_80}', "");
-Expect(1, 4985, '\P{^Nv=0_0_80}', "");
-Expect(0, 4984, '\p{Nv=0_0_80}', "");
-Expect(1, 4984, '\p{^Nv=0_0_80}', "");
-Expect(1, 4984, '\P{Nv=0_0_80}', "");
-Expect(0, 4984, '\P{^Nv=0_0_80}', "");
-Error('\p{Is_Numeric_Value: :=0080}');
-Error('\P{Is_Numeric_Value: :=0080}');
-Expect(1, 4985, '\p{Is_Numeric_Value=80}', "");
-Expect(0, 4985, '\p{^Is_Numeric_Value=80}', "");
-Expect(0, 4985, '\P{Is_Numeric_Value=80}', "");
-Expect(1, 4985, '\P{^Is_Numeric_Value=80}', "");
-Expect(0, 4984, '\p{Is_Numeric_Value=80}', "");
-Expect(1, 4984, '\p{^Is_Numeric_Value=80}', "");
-Expect(1, 4984, '\P{Is_Numeric_Value=80}', "");
-Expect(0, 4984, '\P{^Is_Numeric_Value=80}', "");
-Error('\p{Is_Nv=_0_0 0-0_0_080/a/}');
-Error('\P{Is_Nv=_0_0 0-0_0_080/a/}');
-Expect(1, 4985, '\p{Is_Nv=00000008_0}', "");
-Expect(0, 4985, '\p{^Is_Nv=00000008_0}', "");
-Expect(0, 4985, '\P{Is_Nv=00000008_0}', "");
-Expect(1, 4985, '\P{^Is_Nv=00000008_0}', "");
-Expect(0, 4984, '\p{Is_Nv=00000008_0}', "");
-Expect(1, 4984, '\p{^Is_Nv=00000008_0}', "");
-Expect(1, 4984, '\P{Is_Nv=00000008_0}', "");
-Expect(0, 4984, '\P{^Is_Nv=00000008_0}', "");
-Error('\p{Numeric_Value=--+00000_00002 00:=}');
-Error('\P{Numeric_Value=--+00000_00002 00:=}');
-Expect(1, 65818, '\p{Numeric_Value=200}', "");
-Expect(0, 65818, '\p{^Numeric_Value=200}', "");
-Expect(0, 65818, '\P{Numeric_Value=200}', "");
-Expect(1, 65818, '\P{^Numeric_Value=200}', "");
-Expect(0, 65817, '\p{Numeric_Value=200}', "");
-Expect(1, 65817, '\p{^Numeric_Value=200}', "");
-Expect(1, 65817, '\P{Numeric_Value=200}', "");
-Expect(0, 65817, '\P{^Numeric_Value=200}', "");
-Error('\p{Nv=:=_ 0000200}');
-Error('\P{Nv=:=_ 0000200}');
-Expect(1, 65818, '\p{Nv=+0_0_2_00}', "");
-Expect(0, 65818, '\p{^Nv=+0_0_2_00}', "");
-Expect(0, 65818, '\P{Nv=+0_0_2_00}', "");
-Expect(1, 65818, '\P{^Nv=+0_0_2_00}', "");
-Expect(0, 65817, '\p{Nv=+0_0_2_00}', "");
-Expect(1, 65817, '\p{^Nv=+0_0_2_00}', "");
-Expect(1, 65817, '\P{Nv=+0_0_2_00}', "");
-Expect(0, 65817, '\P{^Nv=+0_0_2_00}', "");
-Error('\p{Is_Numeric_Value=0_0:=0 200}');
-Error('\P{Is_Numeric_Value=0_0:=0 200}');
-Expect(1, 65818, '\p{Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(0, 65818, '\p{^Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(0, 65818, '\P{Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(1, 65818, '\P{^Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(0, 65817, '\p{Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(1, 65817, '\p{^Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(1, 65817, '\P{Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Expect(0, 65817, '\P{^Is_Numeric_Value=+00_00_00_00_02_00}', "");
-Error('\p{Is_Nv=:= 000200}');
-Error('\P{Is_Nv=:= 000200}');
-Expect(1, 65818, '\p{Is_Nv=+000000200}', "");
-Expect(0, 65818, '\p{^Is_Nv=+000000200}', "");
-Expect(0, 65818, '\P{Is_Nv=+000000200}', "");
-Expect(1, 65818, '\P{^Is_Nv=+000000200}', "");
-Expect(0, 65817, '\p{Is_Nv=+000000200}', "");
-Expect(1, 65817, '\p{^Is_Nv=+000000200}', "");
-Expect(1, 65817, '\P{Is_Nv=+000000200}', "");
-Expect(0, 65817, '\P{^Is_Nv=+000000200}', "");
-Error('\p{Numeric_Value=:= +00001 8}');
-Error('\P{Numeric_Value=:= +00001 8}');
-Expect(1, 5871, '\p{Numeric_Value=+0000_0000_18}', "");
-Expect(0, 5871, '\p{^Numeric_Value=+0000_0000_18}', "");
-Expect(0, 5871, '\P{Numeric_Value=+0000_0000_18}', "");
-Expect(1, 5871, '\P{^Numeric_Value=+0000_0000_18}', "");
-Expect(0, 5870, '\p{Numeric_Value=+0000_0000_18}', "");
-Expect(1, 5870, '\p{^Numeric_Value=+0000_0000_18}', "");
-Expect(1, 5870, '\P{Numeric_Value=+0000_0000_18}', "");
-Expect(0, 5870, '\P{^Numeric_Value=+0000_0000_18}', "");
-Error('\p{Nv: - 0000000018:=}');
-Error('\P{Nv: - 0000000018:=}');
-Expect(1, 5871, '\p{Nv=00018}', "");
-Expect(0, 5871, '\p{^Nv=00018}', "");
-Expect(0, 5871, '\P{Nv=00018}', "");
-Expect(1, 5871, '\P{^Nv=00018}', "");
-Expect(0, 5870, '\p{Nv=00018}', "");
-Expect(1, 5870, '\p{^Nv=00018}', "");
-Expect(1, 5870, '\P{Nv=00018}', "");
-Expect(0, 5870, '\P{^Nv=00018}', "");
-Error('\p{Is_Numeric_Value=:= _00000000018}');
-Error('\P{Is_Numeric_Value=:= _00000000018}');
-Expect(1, 5871, '\p{Is_Numeric_Value=1_8}', "");
-Expect(0, 5871, '\p{^Is_Numeric_Value=1_8}', "");
-Expect(0, 5871, '\P{Is_Numeric_Value=1_8}', "");
-Expect(1, 5871, '\P{^Is_Numeric_Value=1_8}', "");
-Expect(0, 5870, '\p{Is_Numeric_Value=1_8}', "");
-Expect(1, 5870, '\p{^Is_Numeric_Value=1_8}', "");
-Expect(1, 5870, '\P{Is_Numeric_Value=1_8}', "");
-Expect(0, 5870, '\P{^Is_Numeric_Value=1_8}', "");
-Error('\p{Is_Nv=- 0/a/0-00_0-0 0018}');
-Error('\P{Is_Nv=- 0/a/0-00_0-0 0018}');
-Expect(1, 5871, '\p{Is_Nv=+001_8}', "");
-Expect(0, 5871, '\p{^Is_Nv=+001_8}', "");
-Expect(0, 5871, '\P{Is_Nv=+001_8}', "");
-Expect(1, 5871, '\P{^Is_Nv=+001_8}', "");
-Expect(0, 5870, '\p{Is_Nv=+001_8}', "");
-Expect(1, 5870, '\p{^Is_Nv=+001_8}', "");
-Expect(1, 5870, '\P{Is_Nv=+001_8}', "");
-Expect(0, 5870, '\P{^Is_Nv=+001_8}', "");
-Error('\p{Numeric_Value= :=0003/8}');
-Error('\P{Numeric_Value= :=0003/8}');
-Expect(1, 8540, '\p{Numeric_Value=+000000003/00000008}', "");
-Expect(0, 8540, '\p{^Numeric_Value=+000000003/00000008}', "");
-Expect(0, 8540, '\P{Numeric_Value=+000000003/00000008}', "");
-Expect(1, 8540, '\P{^Numeric_Value=+000000003/00000008}', "");
-Expect(0, 8539, '\p{Numeric_Value=+000000003/00000008}', "");
-Expect(1, 8539, '\p{^Numeric_Value=+000000003/00000008}', "");
-Expect(1, 8539, '\P{Numeric_Value=+000000003/00000008}', "");
-Expect(0, 8539, '\P{^Numeric_Value=+000000003/00000008}', "");
-Error('\p{Numeric_Value=0.38}');
-Error('\P{Numeric_Value=0.38}');
-Expect(1, 8540, '\p{Numeric_Value=0.375}', "");
-Expect(0, 8540, '\p{^Numeric_Value=0.375}', "");
-Expect(0, 8540, '\P{Numeric_Value=0.375}', "");
-Expect(1, 8540, '\P{^Numeric_Value=0.375}', "");
-Expect(0, 8539, '\p{Numeric_Value=0.375}', "");
-Expect(1, 8539, '\p{^Numeric_Value=0.375}', "");
-Expect(1, 8539, '\P{Numeric_Value=0.375}', "");
-Expect(0, 8539, '\P{^Numeric_Value=0.375}', "");
-Error('\p{Nv=_/a/0003/000000008}');
-Error('\P{Nv=_/a/0003/000000008}');
-Expect(1, 8540, '\p{Nv=00003/0000008}', "");
-Expect(0, 8540, '\p{^Nv=00003/0000008}', "");
-Expect(0, 8540, '\P{Nv=00003/0000008}', "");
-Expect(1, 8540, '\P{^Nv=00003/0000008}', "");
-Expect(0, 8539, '\p{Nv=00003/0000008}', "");
-Expect(1, 8539, '\p{^Nv=00003/0000008}', "");
-Expect(1, 8539, '\P{Nv=00003/0000008}', "");
-Expect(0, 8539, '\P{^Nv=00003/0000008}', "");
-Error('\p{Nv: 0.38}');
-Error('\P{Nv: 0.38}');
-Expect(1, 8540, '\p{Nv: 0.375}', "");
-Expect(0, 8540, '\p{^Nv: 0.375}', "");
-Expect(0, 8540, '\P{Nv: 0.375}', "");
-Expect(1, 8540, '\P{^Nv: 0.375}', "");
-Expect(0, 8539, '\p{Nv: 0.375}', "");
-Expect(1, 8539, '\p{^Nv: 0.375}', "");
-Expect(1, 8539, '\P{Nv: 0.375}', "");
-Expect(0, 8539, '\P{^Nv: 0.375}', "");
-Error('\p{Is_Numeric_Value=_/a/003/0000000008}');
-Error('\P{Is_Numeric_Value=_/a/003/0000000008}');
-Expect(1, 8540, '\p{Is_Numeric_Value=003/00008}', "");
-Expect(0, 8540, '\p{^Is_Numeric_Value=003/00008}', "");
-Expect(0, 8540, '\P{Is_Numeric_Value=003/00008}', "");
-Expect(1, 8540, '\P{^Is_Numeric_Value=003/00008}', "");
-Expect(0, 8539, '\p{Is_Numeric_Value=003/00008}', "");
-Expect(1, 8539, '\p{^Is_Numeric_Value=003/00008}', "");
-Expect(1, 8539, '\P{Is_Numeric_Value=003/00008}', "");
-Expect(0, 8539, '\P{^Is_Numeric_Value=003/00008}', "");
-Error('\p{Is_Numeric_Value=0.38}');
-Error('\P{Is_Numeric_Value=0.38}');
-Expect(1, 8540, '\p{Is_Numeric_Value=0.375}', "");
-Expect(0, 8540, '\p{^Is_Numeric_Value=0.375}', "");
-Expect(0, 8540, '\P{Is_Numeric_Value=0.375}', "");
-Expect(1, 8540, '\P{^Is_Numeric_Value=0.375}', "");
-Expect(0, 8539, '\p{Is_Numeric_Value=0.375}', "");
-Expect(1, 8539, '\p{^Is_Numeric_Value=0.375}', "");
-Expect(1, 8539, '\P{Is_Numeric_Value=0.375}', "");
-Expect(0, 8539, '\P{^Is_Numeric_Value=0.375}', "");
-Error('\p{Is_Nv=:= 3/00008}');
-Error('\P{Is_Nv=:= 3/00008}');
-Expect(1, 8540, '\p{Is_Nv=+3/000000008}', "");
-Expect(0, 8540, '\p{^Is_Nv=+3/000000008}', "");
-Expect(0, 8540, '\P{Is_Nv=+3/000000008}', "");
-Expect(1, 8540, '\P{^Is_Nv=+3/000000008}', "");
-Expect(0, 8539, '\p{Is_Nv=+3/000000008}', "");
-Expect(1, 8539, '\p{^Is_Nv=+3/000000008}', "");
-Expect(1, 8539, '\P{Is_Nv=+3/000000008}', "");
-Expect(0, 8539, '\P{^Is_Nv=+3/000000008}', "");
-Error('\p{Is_Nv=0.38}');
-Error('\P{Is_Nv=0.38}');
-Expect(1, 8540, '\p{Is_Nv=0.375}', "");
-Expect(0, 8540, '\p{^Is_Nv=0.375}', "");
-Expect(0, 8540, '\P{Is_Nv=0.375}', "");
-Expect(1, 8540, '\P{^Is_Nv=0.375}', "");
-Expect(0, 8539, '\p{Is_Nv=0.375}', "");
-Expect(1, 8539, '\p{^Is_Nv=0.375}', "");
-Expect(1, 8539, '\P{Is_Nv=0.375}', "");
-Expect(0, 8539, '\P{^Is_Nv=0.375}', "");
-Error('\p{Numeric_Value= :=+500}');
-Error('\P{Numeric_Value= :=+500}');
-Expect(1, 8558, '\p{Numeric_Value=50_0}', "");
-Expect(0, 8558, '\p{^Numeric_Value=50_0}', "");
-Expect(0, 8558, '\P{Numeric_Value=50_0}', "");
-Expect(1, 8558, '\P{^Numeric_Value=50_0}', "");
-Expect(0, 8557, '\p{Numeric_Value=50_0}', "");
-Expect(1, 8557, '\p{^Numeric_Value=50_0}', "");
-Expect(1, 8557, '\P{Numeric_Value=50_0}', "");
-Expect(0, 8557, '\P{^Numeric_Value=50_0}', "");
-Error('\p{Nv=- 0000000500/a/}');
-Error('\P{Nv=- 0000000500/a/}');
-Expect(1, 8558, '\p{Nv=000_005_00}', "");
-Expect(0, 8558, '\p{^Nv=000_005_00}', "");
-Expect(0, 8558, '\P{Nv=000_005_00}', "");
-Expect(1, 8558, '\P{^Nv=000_005_00}', "");
-Expect(0, 8557, '\p{Nv=000_005_00}', "");
-Expect(1, 8557, '\p{^Nv=000_005_00}', "");
-Expect(1, 8557, '\P{Nv=000_005_00}', "");
-Expect(0, 8557, '\P{^Nv=000_005_00}', "");
-Error('\p{Is_Numeric_Value=:= _0500}');
-Error('\P{Is_Numeric_Value=:= _0500}');
-Expect(1, 8558, '\p{Is_Numeric_Value=0000000500}', "");
-Expect(0, 8558, '\p{^Is_Numeric_Value=0000000500}', "");
-Expect(0, 8558, '\P{Is_Numeric_Value=0000000500}', "");
-Expect(1, 8558, '\P{^Is_Numeric_Value=0000000500}', "");
-Expect(0, 8557, '\p{Is_Numeric_Value=0000000500}', "");
-Expect(1, 8557, '\p{^Is_Numeric_Value=0000000500}', "");
-Expect(1, 8557, '\P{Is_Numeric_Value=0000000500}', "");
-Expect(0, 8557, '\P{^Is_Numeric_Value=0000000500}', "");
-Error('\p{Is_Nv=-00500/a/}');
-Error('\P{Is_Nv=-00500/a/}');
-Expect(1, 8558, '\p{Is_Nv:0_5_00}', "");
-Expect(0, 8558, '\p{^Is_Nv:0_5_00}', "");
-Expect(0, 8558, '\P{Is_Nv:0_5_00}', "");
-Expect(1, 8558, '\P{^Is_Nv:0_5_00}', "");
-Expect(0, 8557, '\p{Is_Nv:0_5_00}', "");
-Expect(1, 8557, '\p{^Is_Nv:0_5_00}', "");
-Expect(1, 8557, '\P{Is_Nv:0_5_00}', "");
-Expect(0, 8557, '\P{^Is_Nv:0_5_00}', "");
-Error('\p{Numeric_Value=:=_000016}');
-Error('\P{Numeric_Value=:=_000016}');
-Expect(1, 2553, '\p{Numeric_Value: 01_6}', "");
-Expect(0, 2553, '\p{^Numeric_Value: 01_6}', "");
-Expect(0, 2553, '\P{Numeric_Value: 01_6}', "");
-Expect(1, 2553, '\P{^Numeric_Value: 01_6}', "");
-Expect(0, 2552, '\p{Numeric_Value: 01_6}', "");
-Expect(1, 2552, '\p{^Numeric_Value: 01_6}', "");
-Expect(1, 2552, '\P{Numeric_Value: 01_6}', "");
-Expect(0, 2552, '\P{^Numeric_Value: 01_6}', "");
-Error('\p{Nv=_/a/+0000000016}');
-Error('\P{Nv=_/a/+0000000016}');
-Expect(1, 2553, '\p{Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(0, 2553, '\p{^Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(0, 2553, '\P{Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(1, 2553, '\P{^Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(0, 2552, '\p{Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(1, 2552, '\p{^Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(1, 2552, '\P{Nv: 0_0_0_0_0_0_0_0016}', "");
-Expect(0, 2552, '\P{^Nv: 0_0_0_0_0_0_0_0016}', "");
-Error('\p{Is_Numeric_Value= _+0:=0 0_0 016}');
-Error('\P{Is_Numeric_Value= _+0:=0 0_0 016}');
-Expect(1, 2553, '\p{Is_Numeric_Value=0000001_6}', "");
-Expect(0, 2553, '\p{^Is_Numeric_Value=0000001_6}', "");
-Expect(0, 2553, '\P{Is_Numeric_Value=0000001_6}', "");
-Expect(1, 2553, '\P{^Is_Numeric_Value=0000001_6}', "");
-Expect(0, 2552, '\p{Is_Numeric_Value=0000001_6}', "");
-Expect(1, 2552, '\p{^Is_Numeric_Value=0000001_6}', "");
-Expect(1, 2552, '\P{Is_Numeric_Value=0000001_6}', "");
-Expect(0, 2552, '\P{^Is_Numeric_Value=0000001_6}', "");
-Error('\p{Is_Nv= 00000000016/a/}');
-Error('\P{Is_Nv= 00000000016/a/}');
-Expect(1, 2553, '\p{Is_Nv=0000016}', "");
-Expect(0, 2553, '\p{^Is_Nv=0000016}', "");
-Expect(0, 2553, '\P{Is_Nv=0000016}', "");
-Expect(1, 2553, '\P{^Is_Nv=0000016}', "");
-Expect(0, 2552, '\p{Is_Nv=0000016}', "");
-Expect(1, 2552, '\p{^Is_Nv=0000016}', "");
-Expect(1, 2552, '\P{Is_Nv=0000016}', "");
-Expect(0, 2552, '\P{^Is_Nv=0000016}', "");
-Error('\p{Numeric_Value= +44:=}');
-Error('\P{Numeric_Value= +44:=}');
-Expect(1, 12985, '\p{Numeric_Value=+0000004_4}', "");
-Expect(0, 12985, '\p{^Numeric_Value=+0000004_4}', "");
-Expect(0, 12985, '\P{Numeric_Value=+0000004_4}', "");
-Expect(1, 12985, '\P{^Numeric_Value=+0000004_4}', "");
-Expect(0, 12984, '\p{Numeric_Value=+0000004_4}', "");
-Expect(1, 12984, '\p{^Numeric_Value=+0000004_4}', "");
-Expect(1, 12984, '\P{Numeric_Value=+0000004_4}', "");
-Expect(0, 12984, '\P{^Numeric_Value=+0000004_4}', "");
-Error('\p{Nv: :=_-000000044}');
-Error('\P{Nv: :=_-000000044}');
-Expect(1, 12985, '\p{Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(0, 12985, '\p{^Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(0, 12985, '\P{Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(1, 12985, '\P{^Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(0, 12984, '\p{Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(1, 12984, '\p{^Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(1, 12984, '\P{Nv: 0_0_0_0_0_0_0_0_044}', "");
-Expect(0, 12984, '\P{^Nv: 0_0_0_0_0_0_0_0_044}', "");
-Error('\p{Is_Numeric_Value=- 0000004:=4}');
-Error('\P{Is_Numeric_Value=- 0000004:=4}');
-Expect(1, 12985, '\p{Is_Numeric_Value=044}', "");
-Expect(0, 12985, '\p{^Is_Numeric_Value=044}', "");
-Expect(0, 12985, '\P{Is_Numeric_Value=044}', "");
-Expect(1, 12985, '\P{^Is_Numeric_Value=044}', "");
-Expect(0, 12984, '\p{Is_Numeric_Value=044}', "");
-Expect(1, 12984, '\p{^Is_Numeric_Value=044}', "");
-Expect(1, 12984, '\P{Is_Numeric_Value=044}', "");
-Expect(0, 12984, '\P{^Is_Numeric_Value=044}', "");
-Error('\p{Is_Nv=/a/ +000000044}');
-Error('\P{Is_Nv=/a/ +000000044}');
-Expect(1, 12985, '\p{Is_Nv=+0000000044}', "");
-Expect(0, 12985, '\p{^Is_Nv=+0000000044}', "");
-Expect(0, 12985, '\P{Is_Nv=+0000000044}', "");
-Expect(1, 12985, '\P{^Is_Nv=+0000000044}', "");
-Expect(0, 12984, '\p{Is_Nv=+0000000044}', "");
-Expect(1, 12984, '\p{^Is_Nv=+0000000044}', "");
-Expect(1, 12984, '\P{Is_Nv=+0000000044}', "");
-Expect(0, 12984, '\P{^Is_Nv=+0000000044}', "");
-Error('\p{Numeric_Value= :=00000027}');
-Error('\P{Numeric_Value= :=00000027}');
-Expect(1, 12887, '\p{Numeric_Value=000000027}', "");
-Expect(0, 12887, '\p{^Numeric_Value=000000027}', "");
-Expect(0, 12887, '\P{Numeric_Value=000000027}', "");
-Expect(1, 12887, '\P{^Numeric_Value=000000027}', "");
-Expect(0, 12886, '\p{Numeric_Value=000000027}', "");
-Expect(1, 12886, '\p{^Numeric_Value=000000027}', "");
-Expect(1, 12886, '\P{Numeric_Value=000000027}', "");
-Expect(0, 12886, '\P{^Numeric_Value=000000027}', "");
-Error('\p{Nv=:= 000002-7}');
-Error('\P{Nv=:= 000002-7}');
-Expect(1, 12887, '\p{Nv=00000027}', "");
-Expect(0, 12887, '\p{^Nv=00000027}', "");
-Expect(0, 12887, '\P{Nv=00000027}', "");
-Expect(1, 12887, '\P{^Nv=00000027}', "");
-Expect(0, 12886, '\p{Nv=00000027}', "");
-Expect(1, 12886, '\p{^Nv=00000027}', "");
-Expect(1, 12886, '\P{Nv=00000027}', "");
-Expect(0, 12886, '\P{^Nv=00000027}', "");
-Error('\p{Is_Numeric_Value=:= 00000027}');
-Error('\P{Is_Numeric_Value=:= 00000027}');
-Expect(1, 12887, '\p{Is_Numeric_Value=+000000027}', "");
-Expect(0, 12887, '\p{^Is_Numeric_Value=+000000027}', "");
-Expect(0, 12887, '\P{Is_Numeric_Value=+000000027}', "");
-Expect(1, 12887, '\P{^Is_Numeric_Value=+000000027}', "");
-Expect(0, 12886, '\p{Is_Numeric_Value=+000000027}', "");
-Expect(1, 12886, '\p{^Is_Numeric_Value=+000000027}', "");
-Expect(1, 12886, '\P{Is_Numeric_Value=+000000027}', "");
-Expect(0, 12886, '\P{^Is_Numeric_Value=+000000027}', "");
-Error('\p{Is_Nv= :=02 7}');
-Error('\P{Is_Nv= :=02 7}');
-Expect(1, 12887, '\p{Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(0, 12887, '\p{^Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(0, 12887, '\P{Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(1, 12887, '\P{^Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(0, 12886, '\p{Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(1, 12886, '\p{^Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(1, 12886, '\P{Is_Nv=0_0_0_0_0_0_00027}', "");
-Expect(0, 12886, '\P{^Is_Nv=0_0_0_0_0_0_00027}', "");
-Error('\p{Numeric_Value=/a/+10 00 00000}');
-Error('\P{Numeric_Value=/a/+10 00 00000}');
-Expect(1, 20159, '\p{Numeric_Value=00000_00001_00000_000}', "");
-Expect(0, 20159, '\p{^Numeric_Value=00000_00001_00000_000}', "");
-Expect(0, 20159, '\P{Numeric_Value=00000_00001_00000_000}', "");
-Expect(1, 20159, '\P{^Numeric_Value=00000_00001_00000_000}', "");
-Expect(0, 20158, '\p{Numeric_Value=00000_00001_00000_000}', "");
-Expect(1, 20158, '\p{^Numeric_Value=00000_00001_00000_000}', "");
-Expect(1, 20158, '\P{Numeric_Value=00000_00001_00000_000}', "");
-Expect(0, 20158, '\P{^Numeric_Value=00000_00001_00000_000}', "");
-Error('\p{Nv=-+0-00-0/a/1 0_000_0_000}');
-Error('\P{Nv=-+0-00-0/a/1 0_000_0_000}');
-Expect(1, 20159, '\p{Nv=000000000100000000}', "");
-Expect(0, 20159, '\p{^Nv=000000000100000000}', "");
-Expect(0, 20159, '\P{Nv=000000000100000000}', "");
-Expect(1, 20159, '\P{^Nv=000000000100000000}', "");
-Expect(0, 20158, '\p{Nv=000000000100000000}', "");
-Expect(1, 20158, '\p{^Nv=000000000100000000}', "");
-Expect(1, 20158, '\P{Nv=000000000100000000}', "");
-Expect(0, 20158, '\P{^Nv=000000000100000000}', "");
-Error('\p{Is_Numeric_Value= 01/a/00-00-00-00}');
-Error('\P{Is_Numeric_Value= 01/a/00-00-00-00}');
-Expect(1, 20159, '\p{Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(0, 20159, '\p{^Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(0, 20159, '\P{Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(1, 20159, '\P{^Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(0, 20158, '\p{Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(1, 20158, '\p{^Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(1, 20158, '\P{Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Expect(0, 20158, '\P{^Is_Numeric_Value=+00_00_00_01_00_00_00_00}', "");
-Error('\p{Is_Nv= 00000000100000000:=}');
-Error('\P{Is_Nv= 00000000100000000:=}');
-Expect(1, 20159, '\p{Is_Nv=+00_10_00_00_000}', "");
-Expect(0, 20159, '\p{^Is_Nv=+00_10_00_00_000}', "");
-Expect(0, 20159, '\P{Is_Nv=+00_10_00_00_000}', "");
-Expect(1, 20159, '\P{^Is_Nv=+00_10_00_00_000}', "");
-Expect(0, 20158, '\p{Is_Nv=+00_10_00_00_000}', "");
-Expect(1, 20158, '\p{^Is_Nv=+00_10_00_00_000}', "");
-Expect(1, 20158, '\P{Is_Nv=+00_10_00_00_000}', "");
-Expect(0, 20158, '\P{^Is_Nv=+00_10_00_00_000}', "");
-Error('\p{Numeric_Value=:= 00000001/0000000010}');
-Error('\P{Numeric_Value=:= 00000001/0000000010}');
-Expect(1, 8530, '\p{Numeric_Value=0000001/00000000010}', "");
-Expect(0, 8530, '\p{^Numeric_Value=0000001/00000000010}', "");
-Expect(0, 8530, '\P{Numeric_Value=0000001/00000000010}', "");
-Expect(1, 8530, '\P{^Numeric_Value=0000001/00000000010}', "");
-Expect(0, 8529, '\p{Numeric_Value=0000001/00000000010}', "");
-Expect(1, 8529, '\p{^Numeric_Value=0000001/00000000010}', "");
-Expect(1, 8529, '\P{Numeric_Value=0000001/00000000010}', "");
-Expect(0, 8529, '\P{^Numeric_Value=0000001/00000000010}', "");
-Expect(1, 8530, '\p{Numeric_Value=0.100}', "");
-Expect(0, 8530, '\p{^Numeric_Value=0.100}', "");
-Expect(0, 8530, '\P{Numeric_Value=0.100}', "");
-Expect(1, 8530, '\P{^Numeric_Value=0.100}', "");
-Expect(0, 8529, '\p{Numeric_Value=0.100}', "");
-Expect(1, 8529, '\p{^Numeric_Value=0.100}', "");
-Expect(1, 8529, '\P{Numeric_Value=0.100}', "");
-Expect(0, 8529, '\P{^Numeric_Value=0.100}', "");
-Error('\p{Nv=:= 000000001/0000010}');
-Error('\P{Nv=:= 000000001/0000010}');
-Expect(1, 8530, '\p{Nv=00000001/000010}', "");
-Expect(0, 8530, '\p{^Nv=00000001/000010}', "");
-Expect(0, 8530, '\P{Nv=00000001/000010}', "");
-Expect(1, 8530, '\P{^Nv=00000001/000010}', "");
-Expect(0, 8529, '\p{Nv=00000001/000010}', "");
-Expect(1, 8529, '\p{^Nv=00000001/000010}', "");
-Expect(1, 8529, '\P{Nv=00000001/000010}', "");
-Expect(0, 8529, '\P{^Nv=00000001/000010}', "");
-Expect(1, 8530, '\p{Nv: 0.100}', "");
-Expect(0, 8530, '\p{^Nv: 0.100}', "");
-Expect(0, 8530, '\P{Nv: 0.100}', "");
-Expect(1, 8530, '\P{^Nv: 0.100}', "");
-Expect(0, 8529, '\p{Nv: 0.100}', "");
-Expect(1, 8529, '\p{^Nv: 0.100}', "");
-Expect(1, 8529, '\P{Nv: 0.100}', "");
-Expect(0, 8529, '\P{^Nv: 0.100}', "");
-Error('\p{Is_Numeric_Value: 01/000000010/a/}');
-Error('\P{Is_Numeric_Value: 01/000000010/a/}');
-Expect(1, 8530, '\p{Is_Numeric_Value=01/000000010}', "");
-Expect(0, 8530, '\p{^Is_Numeric_Value=01/000000010}', "");
-Expect(0, 8530, '\P{Is_Numeric_Value=01/000000010}', "");
-Expect(1, 8530, '\P{^Is_Numeric_Value=01/000000010}', "");
-Expect(0, 8529, '\p{Is_Numeric_Value=01/000000010}', "");
-Expect(1, 8529, '\p{^Is_Numeric_Value=01/000000010}', "");
-Expect(1, 8529, '\P{Is_Numeric_Value=01/000000010}', "");
-Expect(0, 8529, '\P{^Is_Numeric_Value=01/000000010}', "");
-Expect(1, 8530, '\p{Is_Numeric_Value=0.100}', "");
-Expect(0, 8530, '\p{^Is_Numeric_Value=0.100}', "");
-Expect(0, 8530, '\P{Is_Numeric_Value=0.100}', "");
-Expect(1, 8530, '\P{^Is_Numeric_Value=0.100}', "");
-Expect(0, 8529, '\p{Is_Numeric_Value=0.100}', "");
-Expect(1, 8529, '\p{^Is_Numeric_Value=0.100}', "");
-Expect(1, 8529, '\P{Is_Numeric_Value=0.100}', "");
-Expect(0, 8529, '\P{^Is_Numeric_Value=0.100}', "");
-Error('\p{Is_Nv=:=_-+0001/000000010}');
-Error('\P{Is_Nv=:=_-+0001/000000010}');
-Expect(1, 8530, '\p{Is_Nv=000000001/10}', "");
-Expect(0, 8530, '\p{^Is_Nv=000000001/10}', "");
-Expect(0, 8530, '\P{Is_Nv=000000001/10}', "");
-Expect(1, 8530, '\P{^Is_Nv=000000001/10}', "");
-Expect(0, 8529, '\p{Is_Nv=000000001/10}', "");
-Expect(1, 8529, '\p{^Is_Nv=000000001/10}', "");
-Expect(1, 8529, '\P{Is_Nv=000000001/10}', "");
-Expect(0, 8529, '\P{^Is_Nv=000000001/10}', "");
-Expect(1, 8530, '\p{Is_Nv=0.100}', "");
-Expect(0, 8530, '\p{^Is_Nv=0.100}', "");
-Expect(0, 8530, '\P{Is_Nv=0.100}', "");
-Expect(1, 8530, '\P{^Is_Nv=0.100}', "");
-Expect(0, 8529, '\p{Is_Nv=0.100}', "");
-Expect(1, 8529, '\p{^Is_Nv=0.100}', "");
-Expect(1, 8529, '\P{Is_Nv=0.100}', "");
-Expect(0, 8529, '\P{^Is_Nv=0.100}', "");
-Error('\p{Numeric_Value= /a/+0000 00 00 0400}');
-Error('\P{Numeric_Value= /a/+0000 00 00 0400}');
-Expect(1, 65820, '\p{Numeric_Value=0000400}', "");
-Expect(0, 65820, '\p{^Numeric_Value=0000400}', "");
-Expect(0, 65820, '\P{Numeric_Value=0000400}', "");
-Expect(1, 65820, '\P{^Numeric_Value=0000400}', "");
-Expect(0, 65819, '\p{Numeric_Value=0000400}', "");
-Expect(1, 65819, '\p{^Numeric_Value=0000400}', "");
-Expect(1, 65819, '\P{Numeric_Value=0000400}', "");
-Expect(0, 65819, '\P{^Numeric_Value=0000400}', "");
-Error('\p{Nv= +00/a/00_0_0 0-0 400}');
-Error('\P{Nv= +00/a/00_0_0 0-0 400}');
-Expect(1, 65820, '\p{Nv=+40_0}', "");
-Expect(0, 65820, '\p{^Nv=+40_0}', "");
-Expect(0, 65820, '\P{Nv=+40_0}', "");
-Expect(1, 65820, '\P{^Nv=+40_0}', "");
-Expect(0, 65819, '\p{Nv=+40_0}', "");
-Expect(1, 65819, '\p{^Nv=+40_0}', "");
-Expect(1, 65819, '\P{Nv=+40_0}', "");
-Expect(0, 65819, '\P{^Nv=+40_0}', "");
-Error('\p{Is_Numeric_Value= :=+000000000400}');
-Error('\P{Is_Numeric_Value= :=+000000000400}');
-Expect(1, 65820, '\p{Is_Numeric_Value=400}', "");
-Expect(0, 65820, '\p{^Is_Numeric_Value=400}', "");
-Expect(0, 65820, '\P{Is_Numeric_Value=400}', "");
-Expect(1, 65820, '\P{^Is_Numeric_Value=400}', "");
-Expect(0, 65819, '\p{Is_Numeric_Value=400}', "");
-Expect(1, 65819, '\p{^Is_Numeric_Value=400}', "");
-Expect(1, 65819, '\P{Is_Numeric_Value=400}', "");
-Expect(0, 65819, '\P{^Is_Numeric_Value=400}', "");
-Error('\p{Is_Nv=/a/ 00000000400}');
-Error('\P{Is_Nv=/a/ 00000000400}');
-Expect(1, 65820, '\p{Is_Nv=+0400}', "");
-Expect(0, 65820, '\p{^Is_Nv=+0400}', "");
-Expect(0, 65820, '\P{Is_Nv=+0400}', "");
-Expect(1, 65820, '\P{^Is_Nv=+0400}', "");
-Expect(0, 65819, '\p{Is_Nv=+0400}', "");
-Expect(1, 65819, '\p{^Is_Nv=+0400}', "");
-Expect(1, 65819, '\P{Is_Nv=+0400}', "");
-Expect(0, 65819, '\P{^Is_Nv=+0400}', "");
-Error('\p{Numeric_Value=:= 00000005/0000000008}');
-Error('\P{Numeric_Value=:= 00000005/0000000008}');
-Expect(1, 8541, '\p{Numeric_Value=+05/0000000008}', "");
-Expect(0, 8541, '\p{^Numeric_Value=+05/0000000008}', "");
-Expect(0, 8541, '\P{Numeric_Value=+05/0000000008}', "");
-Expect(1, 8541, '\P{^Numeric_Value=+05/0000000008}', "");
-Expect(0, 8540, '\p{Numeric_Value=+05/0000000008}', "");
-Expect(1, 8540, '\p{^Numeric_Value=+05/0000000008}', "");
-Expect(1, 8540, '\P{Numeric_Value=+05/0000000008}', "");
-Expect(0, 8540, '\P{^Numeric_Value=+05/0000000008}', "");
-Error('\p{Numeric_Value=0.62}');
-Error('\P{Numeric_Value=0.62}');
-Expect(1, 8541, '\p{Numeric_Value=0.625}', "");
-Expect(0, 8541, '\p{^Numeric_Value=0.625}', "");
-Expect(0, 8541, '\P{Numeric_Value=0.625}', "");
-Expect(1, 8541, '\P{^Numeric_Value=0.625}', "");
-Expect(0, 8540, '\p{Numeric_Value=0.625}', "");
-Expect(1, 8540, '\p{^Numeric_Value=0.625}', "");
-Expect(1, 8540, '\P{Numeric_Value=0.625}', "");
-Expect(0, 8540, '\P{^Numeric_Value=0.625}', "");
-Error('\p{Nv:_:=0000005/8}');
-Error('\P{Nv:_:=0000005/8}');
-Expect(1, 8541, '\p{Nv=+0000005/0000000008}', "");
-Expect(0, 8541, '\p{^Nv=+0000005/0000000008}', "");
-Expect(0, 8541, '\P{Nv=+0000005/0000000008}', "");
-Expect(1, 8541, '\P{^Nv=+0000005/0000000008}', "");
-Expect(0, 8540, '\p{Nv=+0000005/0000000008}', "");
-Expect(1, 8540, '\p{^Nv=+0000005/0000000008}', "");
-Expect(1, 8540, '\P{Nv=+0000005/0000000008}', "");
-Expect(0, 8540, '\P{^Nv=+0000005/0000000008}', "");
-Error('\p{Nv=0.62}');
-Error('\P{Nv=0.62}');
-Expect(1, 8541, '\p{Nv=0.625}', "");
-Expect(0, 8541, '\p{^Nv=0.625}', "");
-Expect(0, 8541, '\P{Nv=0.625}', "");
-Expect(1, 8541, '\P{^Nv=0.625}', "");
-Expect(0, 8540, '\p{Nv=0.625}', "");
-Expect(1, 8540, '\p{^Nv=0.625}', "");
-Expect(1, 8540, '\P{Nv=0.625}', "");
-Expect(0, 8540, '\P{^Nv=0.625}', "");
-Error('\p{Is_Numeric_Value= 0000005/8:=}');
-Error('\P{Is_Numeric_Value= 0000005/8:=}');
-Expect(1, 8541, '\p{Is_Numeric_Value=+005/0008}', "");
-Expect(0, 8541, '\p{^Is_Numeric_Value=+005/0008}', "");
-Expect(0, 8541, '\P{Is_Numeric_Value=+005/0008}', "");
-Expect(1, 8541, '\P{^Is_Numeric_Value=+005/0008}', "");
-Expect(0, 8540, '\p{Is_Numeric_Value=+005/0008}', "");
-Expect(1, 8540, '\p{^Is_Numeric_Value=+005/0008}', "");
-Expect(1, 8540, '\P{Is_Numeric_Value=+005/0008}', "");
-Expect(0, 8540, '\P{^Is_Numeric_Value=+005/0008}', "");
-Error('\p{Is_Numeric_Value=0.62}');
-Error('\P{Is_Numeric_Value=0.62}');
-Expect(1, 8541, '\p{Is_Numeric_Value=0.625}', "");
-Expect(0, 8541, '\p{^Is_Numeric_Value=0.625}', "");
-Expect(0, 8541, '\P{Is_Numeric_Value=0.625}', "");
-Expect(1, 8541, '\P{^Is_Numeric_Value=0.625}', "");
-Expect(0, 8540, '\p{Is_Numeric_Value=0.625}', "");
-Expect(1, 8540, '\p{^Is_Numeric_Value=0.625}', "");
-Expect(1, 8540, '\P{Is_Numeric_Value=0.625}', "");
-Expect(0, 8540, '\P{^Is_Numeric_Value=0.625}', "");
-Error('\p{Is_Nv= 000000005/0000000008:=}');
-Error('\P{Is_Nv= 000000005/0000000008:=}');
-Expect(1, 8541, '\p{Is_Nv=005/008}', "");
-Expect(0, 8541, '\p{^Is_Nv=005/008}', "");
-Expect(0, 8541, '\P{Is_Nv=005/008}', "");
-Expect(1, 8541, '\P{^Is_Nv=005/008}', "");
-Expect(0, 8540, '\p{Is_Nv=005/008}', "");
-Expect(1, 8540, '\p{^Is_Nv=005/008}', "");
-Expect(1, 8540, '\P{Is_Nv=005/008}', "");
-Expect(0, 8540, '\P{^Is_Nv=005/008}', "");
-Error('\p{Is_Nv=0.62}');
-Error('\P{Is_Nv=0.62}');
-Expect(1, 8541, '\p{Is_Nv=0.625}', "");
-Expect(0, 8541, '\p{^Is_Nv=0.625}', "");
-Expect(0, 8541, '\P{Is_Nv=0.625}', "");
-Expect(1, 8541, '\P{^Is_Nv=0.625}', "");
-Expect(0, 8540, '\p{Is_Nv=0.625}', "");
-Expect(1, 8540, '\p{^Is_Nv=0.625}', "");
-Expect(1, 8540, '\P{Is_Nv=0.625}', "");
-Expect(0, 8540, '\P{^Is_Nv=0.625}', "");
-Error('\p{Numeric_Value= +000002:=0}');
-Error('\P{Numeric_Value= +000002:=0}');
-Expect(1, 4979, '\p{Numeric_Value: 0000000020}', "");
-Expect(0, 4979, '\p{^Numeric_Value: 0000000020}', "");
-Expect(0, 4979, '\P{Numeric_Value: 0000000020}', "");
-Expect(1, 4979, '\P{^Numeric_Value: 0000000020}', "");
-Expect(0, 4978, '\p{Numeric_Value: 0000000020}', "");
-Expect(1, 4978, '\p{^Numeric_Value: 0000000020}', "");
-Expect(1, 4978, '\P{Numeric_Value: 0000000020}', "");
-Expect(0, 4978, '\P{^Numeric_Value: 0000000020}', "");
-Error('\p{Nv=00000020:=}');
-Error('\P{Nv=00000020:=}');
-Expect(1, 4979, '\p{Nv=00000020}', "");
-Expect(0, 4979, '\p{^Nv=00000020}', "");
-Expect(0, 4979, '\P{Nv=00000020}', "");
-Expect(1, 4979, '\P{^Nv=00000020}', "");
-Expect(0, 4978, '\p{Nv=00000020}', "");
-Expect(1, 4978, '\p{^Nv=00000020}', "");
-Expect(1, 4978, '\P{Nv=00000020}', "");
-Expect(0, 4978, '\P{^Nv=00000020}', "");
-Error('\p{Is_Numeric_Value= -00020/a/}');
-Error('\P{Is_Numeric_Value= -00020/a/}');
-Expect(1, 4979, '\p{Is_Numeric_Value=000_000_000_20}', "");
-Expect(0, 4979, '\p{^Is_Numeric_Value=000_000_000_20}', "");
-Expect(0, 4979, '\P{Is_Numeric_Value=000_000_000_20}', "");
-Expect(1, 4979, '\P{^Is_Numeric_Value=000_000_000_20}', "");
-Expect(0, 4978, '\p{Is_Numeric_Value=000_000_000_20}', "");
-Expect(1, 4978, '\p{^Is_Numeric_Value=000_000_000_20}', "");
-Expect(1, 4978, '\P{Is_Numeric_Value=000_000_000_20}', "");
-Expect(0, 4978, '\P{^Is_Numeric_Value=000_000_000_20}', "");
-Error('\p{Is_Nv=--+0000:=20}');
-Error('\P{Is_Nv=--+0000:=20}');
-Expect(1, 4979, '\p{Is_Nv=0_0_20}', "");
-Expect(0, 4979, '\p{^Is_Nv=0_0_20}', "");
-Expect(0, 4979, '\P{Is_Nv=0_0_20}', "");
-Expect(1, 4979, '\P{^Is_Nv=0_0_20}', "");
-Expect(0, 4978, '\p{Is_Nv=0_0_20}', "");
-Expect(1, 4978, '\p{^Is_Nv=0_0_20}', "");
-Expect(1, 4978, '\P{Is_Nv=0_0_20}', "");
-Expect(0, 4978, '\P{^Is_Nv=0_0_20}', "");
-Error('\p{Numeric_Value= -+000030000/a/}');
-Error('\P{Numeric_Value= -+000030000/a/}');
-Expect(1, 65837, '\p{Numeric_Value=+000_000_030_000}', "");
-Expect(0, 65837, '\p{^Numeric_Value=+000_000_030_000}', "");
-Expect(0, 65837, '\P{Numeric_Value=+000_000_030_000}', "");
-Expect(1, 65837, '\P{^Numeric_Value=+000_000_030_000}', "");
-Expect(0, 65836, '\p{Numeric_Value=+000_000_030_000}', "");
-Expect(1, 65836, '\p{^Numeric_Value=+000_000_030_000}', "");
-Expect(1, 65836, '\P{Numeric_Value=+000_000_030_000}', "");
-Expect(0, 65836, '\P{^Numeric_Value=+000_000_030_000}', "");
-Error('\p{Nv=:=-+000000030000}');
-Error('\P{Nv=:=-+000000030000}');
-Expect(1, 65837, '\p{Nv: +00000030000}', "");
-Expect(0, 65837, '\p{^Nv: +00000030000}', "");
-Expect(0, 65837, '\P{Nv: +00000030000}', "");
-Expect(1, 65837, '\P{^Nv: +00000030000}', "");
-Expect(0, 65836, '\p{Nv: +00000030000}', "");
-Expect(1, 65836, '\p{^Nv: +00000030000}', "");
-Expect(1, 65836, '\P{Nv: +00000030000}', "");
-Expect(0, 65836, '\P{^Nv: +00000030000}', "");
-Error('\p{Is_Numeric_Value= -0030000:=}');
-Error('\P{Is_Numeric_Value= -0030000:=}');
-Expect(1, 65837, '\p{Is_Numeric_Value=+0000003000_0}', "");
-Expect(0, 65837, '\p{^Is_Numeric_Value=+0000003000_0}', "");
-Expect(0, 65837, '\P{Is_Numeric_Value=+0000003000_0}', "");
-Expect(1, 65837, '\P{^Is_Numeric_Value=+0000003000_0}', "");
-Expect(0, 65836, '\p{Is_Numeric_Value=+0000003000_0}', "");
-Expect(1, 65836, '\p{^Is_Numeric_Value=+0000003000_0}', "");
-Expect(1, 65836, '\P{Is_Numeric_Value=+0000003000_0}', "");
-Expect(0, 65836, '\P{^Is_Numeric_Value=+0000003000_0}', "");
-Error('\p{Is_Nv=_-0000030000:=}');
-Error('\P{Is_Nv=_-0000030000:=}');
-Expect(1, 65837, '\p{Is_Nv=030000}', "");
-Expect(0, 65837, '\p{^Is_Nv=030000}', "");
-Expect(0, 65837, '\P{Is_Nv=030000}', "");
-Expect(1, 65837, '\P{^Is_Nv=030000}', "");
-Expect(0, 65836, '\p{Is_Nv=030000}', "");
-Expect(1, 65836, '\p{^Is_Nv=030000}', "");
-Expect(1, 65836, '\P{Is_Nv=030000}', "");
-Expect(0, 65836, '\P{^Is_Nv=030000}', "");
-Error('\p{Numeric_Value=-:=0000000010}');
-Error('\P{Numeric_Value=-:=0000000010}');
-Expect(1, 3056, '\p{Numeric_Value:00000010}', "");
-Expect(0, 3056, '\p{^Numeric_Value:00000010}', "");
-Expect(0, 3056, '\P{Numeric_Value:00000010}', "");
-Expect(1, 3056, '\P{^Numeric_Value:00000010}', "");
-Expect(0, 3055, '\p{Numeric_Value:00000010}', "");
-Expect(1, 3055, '\p{^Numeric_Value:00000010}', "");
-Expect(1, 3055, '\P{Numeric_Value:00000010}', "");
-Expect(0, 3055, '\P{^Numeric_Value:00000010}', "");
-Error('\p{Nv: 00 01-0/a/}');
-Error('\P{Nv: 00 01-0/a/}');
-Expect(1, 3056, '\p{Nv=+000000010}', "");
-Expect(0, 3056, '\p{^Nv=+000000010}', "");
-Expect(0, 3056, '\P{Nv=+000000010}', "");
-Expect(1, 3056, '\P{^Nv=+000000010}', "");
-Expect(0, 3055, '\p{Nv=+000000010}', "");
-Expect(1, 3055, '\p{^Nv=+000000010}', "");
-Expect(1, 3055, '\P{Nv=+000000010}', "");
-Expect(0, 3055, '\P{^Nv=+000000010}', "");
-Error('\p{Is_Numeric_Value: --0_0:=0 0_0 0_0-010}');
-Error('\P{Is_Numeric_Value: --0_0:=0 0_0 0_0-010}');
-Expect(1, 3056, '\p{Is_Numeric_Value=000000001_0}', "");
-Expect(0, 3056, '\p{^Is_Numeric_Value=000000001_0}', "");
-Expect(0, 3056, '\P{Is_Numeric_Value=000000001_0}', "");
-Expect(1, 3056, '\P{^Is_Numeric_Value=000000001_0}', "");
-Expect(0, 3055, '\p{Is_Numeric_Value=000000001_0}', "");
-Expect(1, 3055, '\p{^Is_Numeric_Value=000000001_0}', "");
-Expect(1, 3055, '\P{Is_Numeric_Value=000000001_0}', "");
-Expect(0, 3055, '\P{^Is_Numeric_Value=000000001_0}', "");
-Error('\p{Is_Nv=/a/_-0000010}');
-Error('\P{Is_Nv=/a/_-0000010}');
-Expect(1, 3056, '\p{Is_Nv=+1_0}', "");
-Expect(0, 3056, '\p{^Is_Nv=+1_0}', "");
-Expect(0, 3056, '\P{Is_Nv=+1_0}', "");
-Expect(1, 3056, '\P{^Is_Nv=+1_0}', "");
-Expect(0, 3055, '\p{Is_Nv=+1_0}', "");
-Expect(1, 3055, '\p{^Is_Nv=+1_0}', "");
-Expect(1, 3055, '\P{Is_Nv=+1_0}', "");
-Expect(0, 3055, '\P{^Is_Nv=+1_0}', "");
-Error('\p{Numeric_Value= 00000003-1/a/}');
-Error('\P{Numeric_Value= 00000003-1/a/}');
-Expect(1, 12891, '\p{Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(0, 12891, '\p{^Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(0, 12891, '\P{Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(1, 12891, '\P{^Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(0, 12890, '\p{Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(1, 12890, '\p{^Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(1, 12890, '\P{Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Expect(0, 12890, '\P{^Numeric_Value=0_0_0_0_0_0_0_0_0_31}', "");
-Error('\p{Nv: _:=00000000031}');
-Error('\P{Nv: _:=00000000031}');
-Expect(1, 12891, '\p{Nv=00000031}', "");
-Expect(0, 12891, '\p{^Nv=00000031}', "");
-Expect(0, 12891, '\P{Nv=00000031}', "");
-Expect(1, 12891, '\P{^Nv=00000031}', "");
-Expect(0, 12890, '\p{Nv=00000031}', "");
-Expect(1, 12890, '\p{^Nv=00000031}', "");
-Expect(1, 12890, '\P{Nv=00000031}', "");
-Expect(0, 12890, '\P{^Nv=00000031}', "");
-Error('\p{Is_Numeric_Value=-:=031}');
-Error('\P{Is_Numeric_Value=-:=031}');
-Expect(1, 12891, '\p{Is_Numeric_Value=+0031}', "");
-Expect(0, 12891, '\p{^Is_Numeric_Value=+0031}', "");
-Expect(0, 12891, '\P{Is_Numeric_Value=+0031}', "");
-Expect(1, 12891, '\P{^Is_Numeric_Value=+0031}', "");
-Expect(0, 12890, '\p{Is_Numeric_Value=+0031}', "");
-Expect(1, 12890, '\p{^Is_Numeric_Value=+0031}', "");
-Expect(1, 12890, '\P{Is_Numeric_Value=+0031}', "");
-Expect(0, 12890, '\P{^Is_Numeric_Value=+0031}', "");
-Error('\p{Is_Nv= :=00031}');
-Error('\P{Is_Nv= :=00031}');
-Expect(1, 12891, '\p{Is_Nv=0000031}', "");
-Expect(0, 12891, '\p{^Is_Nv=0000031}', "");
-Expect(0, 12891, '\P{Is_Nv=0000031}', "");
-Expect(1, 12891, '\P{^Is_Nv=0000031}', "");
-Expect(0, 12890, '\p{Is_Nv=0000031}', "");
-Expect(1, 12890, '\p{^Is_Nv=0000031}', "");
-Expect(1, 12890, '\P{Is_Nv=0000031}', "");
-Expect(0, 12890, '\P{^Is_Nv=0000031}', "");
-Error('\p{Numeric_Value= /a/00000 0 0 08000}');
-Error('\P{Numeric_Value= /a/00000 0 0 08000}');
-Expect(1, 65833, '\p{Numeric_Value=008000}', "");
-Expect(0, 65833, '\p{^Numeric_Value=008000}', "");
-Expect(0, 65833, '\P{Numeric_Value=008000}', "");
-Expect(1, 65833, '\P{^Numeric_Value=008000}', "");
-Expect(0, 65832, '\p{Numeric_Value=008000}', "");
-Expect(1, 65832, '\p{^Numeric_Value=008000}', "");
-Expect(1, 65832, '\P{Numeric_Value=008000}', "");
-Expect(0, 65832, '\P{^Numeric_Value=008000}', "");
-Error('\p{Nv=-0_0 0_0 0/a/00 0_80 00}');
-Error('\P{Nv=-0_0 0_0 0/a/00 0_80 00}');
-Expect(1, 65833, '\p{Nv=000008000}', "");
-Expect(0, 65833, '\p{^Nv=000008000}', "");
-Expect(0, 65833, '\P{Nv=000008000}', "");
-Expect(1, 65833, '\P{^Nv=000008000}', "");
-Expect(0, 65832, '\p{Nv=000008000}', "");
-Expect(1, 65832, '\p{^Nv=000008000}', "");
-Expect(1, 65832, '\P{Nv=000008000}', "");
-Expect(0, 65832, '\P{^Nv=000008000}', "");
-Error('\p{Is_Numeric_Value=/a/00 0_000_008000}');
-Error('\P{Is_Numeric_Value=/a/00 0_000_008000}');
-Expect(1, 65833, '\p{Is_Numeric_Value=+00000008000}', "");
-Expect(0, 65833, '\p{^Is_Numeric_Value=+00000008000}', "");
-Expect(0, 65833, '\P{Is_Numeric_Value=+00000008000}', "");
-Expect(1, 65833, '\P{^Is_Numeric_Value=+00000008000}', "");
-Expect(0, 65832, '\p{Is_Numeric_Value=+00000008000}', "");
-Expect(1, 65832, '\p{^Is_Numeric_Value=+00000008000}', "");
-Expect(1, 65832, '\P{Is_Numeric_Value=+00000008000}', "");
-Expect(0, 65832, '\P{^Is_Numeric_Value=+00000008000}', "");
-Error('\p{Is_Nv=/a/- 800-0}');
-Error('\P{Is_Nv=/a/- 800-0}');
-Expect(1, 65833, '\p{Is_Nv=0008000}', "");
-Expect(0, 65833, '\p{^Is_Nv=0008000}', "");
-Expect(0, 65833, '\P{Is_Nv=0008000}', "");
-Expect(1, 65833, '\P{^Is_Nv=0008000}', "");
-Expect(0, 65832, '\p{Is_Nv=0008000}', "");
-Expect(1, 65832, '\p{^Is_Nv=0008000}', "");
-Expect(1, 65832, '\P{Is_Nv=0008000}', "");
-Expect(0, 65832, '\P{^Is_Nv=0008000}', "");
-Error('\p{Numeric_Value=_:=0_0 0 10 0-0_00_0-000000}');
-Error('\P{Numeric_Value=_:=0_0 0 10 0-0_00_0-000000}');
-Expect(1, 20806, '\p{Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(0, 20806, '\p{^Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(0, 20806, '\P{Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(1, 20806, '\P{^Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(0, 20805, '\p{Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(1, 20805, '\p{^Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(1, 20805, '\P{Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Expect(0, 20805, '\P{^Numeric_Value=0_0_0_0_1_0_0_0_0_0_0_0_0_0_000}', "");
-Error('\p{Nv=_:=00000001000000000000}');
-Error('\P{Nv=_:=00000001000000000000}');
-Expect(1, 20806, '\p{Nv=0000000001000000000000}', "");
-Expect(0, 20806, '\p{^Nv=0000000001000000000000}', "");
-Expect(0, 20806, '\P{Nv=0000000001000000000000}', "");
-Expect(1, 20806, '\P{^Nv=0000000001000000000000}', "");
-Expect(0, 20805, '\p{Nv=0000000001000000000000}', "");
-Expect(1, 20805, '\p{^Nv=0000000001000000000000}', "");
-Expect(1, 20805, '\P{Nv=0000000001000000000000}', "");
-Expect(0, 20805, '\P{^Nv=0000000001000000000000}', "");
-Error('\p{Is_Numeric_Value= 01000000000000:=}');
-Error('\P{Is_Numeric_Value= 01000000000000:=}');
-Expect(1, 20806, '\p{Is_Numeric_Value=+0100000000000_0}', "");
-Expect(0, 20806, '\p{^Is_Numeric_Value=+0100000000000_0}', "");
-Expect(0, 20806, '\P{Is_Numeric_Value=+0100000000000_0}', "");
-Expect(1, 20806, '\P{^Is_Numeric_Value=+0100000000000_0}', "");
-Expect(0, 20805, '\p{Is_Numeric_Value=+0100000000000_0}', "");
-Expect(1, 20805, '\p{^Is_Numeric_Value=+0100000000000_0}', "");
-Expect(1, 20805, '\P{Is_Numeric_Value=+0100000000000_0}', "");
-Expect(0, 20805, '\P{^Is_Numeric_Value=+0100000000000_0}', "");
-Error('\p{Is_Nv= -0:=0-1 0 0_0 0 0 0000000}');
-Error('\P{Is_Nv= -0:=0-1 0 0_0 0 0 0000000}');
-Expect(1, 20806, '\p{Is_Nv=001000000000000}', "");
-Expect(0, 20806, '\p{^Is_Nv=001000000000000}', "");
-Expect(0, 20806, '\P{Is_Nv=001000000000000}', "");
-Expect(1, 20806, '\P{^Is_Nv=001000000000000}', "");
-Expect(0, 20805, '\p{Is_Nv=001000000000000}', "");
-Expect(1, 20805, '\p{^Is_Nv=001000000000000}', "");
-Expect(1, 20805, '\P{Is_Nv=001000000000000}', "");
-Expect(0, 20805, '\P{^Is_Nv=001000000000000}', "");
-Error('\p{Numeric_Value=:=03_5}');
-Error('\P{Numeric_Value=:=03_5}');
-Expect(1, 12895, '\p{Numeric_Value=00000000035}', "");
-Expect(0, 12895, '\p{^Numeric_Value=00000000035}', "");
-Expect(0, 12895, '\P{Numeric_Value=00000000035}', "");
-Expect(1, 12895, '\P{^Numeric_Value=00000000035}', "");
-Expect(0, 12894, '\p{Numeric_Value=00000000035}', "");
-Expect(1, 12894, '\p{^Numeric_Value=00000000035}', "");
-Expect(1, 12894, '\P{Numeric_Value=00000000035}', "");
-Expect(0, 12894, '\P{^Numeric_Value=00000000035}', "");
-Error('\p{Nv= +003:=5}');
-Error('\P{Nv= +003:=5}');
-Expect(1, 12895, '\p{Nv=000035}', "");
-Expect(0, 12895, '\p{^Nv=000035}', "");
-Expect(0, 12895, '\P{Nv=000035}', "");
-Expect(1, 12895, '\P{^Nv=000035}', "");
-Expect(0, 12894, '\p{Nv=000035}', "");
-Expect(1, 12894, '\p{^Nv=000035}', "");
-Expect(1, 12894, '\P{Nv=000035}', "");
-Expect(0, 12894, '\P{^Nv=000035}', "");
-Error('\p{Is_Numeric_Value=_:=+035}');
-Error('\P{Is_Numeric_Value=_:=+035}');
-Expect(1, 12895, '\p{Is_Numeric_Value: 00000000035}', "");
-Expect(0, 12895, '\p{^Is_Numeric_Value: 00000000035}', "");
-Expect(0, 12895, '\P{Is_Numeric_Value: 00000000035}', "");
-Expect(1, 12895, '\P{^Is_Numeric_Value: 00000000035}', "");
-Expect(0, 12894, '\p{Is_Numeric_Value: 00000000035}', "");
-Expect(1, 12894, '\p{^Is_Numeric_Value: 00000000035}', "");
-Expect(1, 12894, '\P{Is_Numeric_Value: 00000000035}', "");
-Expect(0, 12894, '\P{^Is_Numeric_Value: 00000000035}', "");
-Error('\p{Is_Nv=-:=+0 0 0 00 0 00 0-35}');
-Error('\P{Is_Nv=-:=+0 0 0 00 0 00 0-35}');
-Expect(1, 12895, '\p{Is_Nv:0_0_0_0_35}', "");
-Expect(0, 12895, '\p{^Is_Nv:0_0_0_0_35}', "");
-Expect(0, 12895, '\P{Is_Nv:0_0_0_0_35}', "");
-Expect(1, 12895, '\P{^Is_Nv:0_0_0_0_35}', "");
-Expect(0, 12894, '\p{Is_Nv:0_0_0_0_35}', "");
-Expect(1, 12894, '\p{^Is_Nv:0_0_0_0_35}', "");
-Expect(1, 12894, '\P{Is_Nv:0_0_0_0_35}', "");
-Expect(0, 12894, '\P{^Is_Nv:0_0_0_0_35}', "");
-Error('\p{Numeric_Value=- +0000011:=}');
-Error('\P{Numeric_Value=- +0000011:=}');
-Expect(1, 8554, '\p{Numeric_Value=00000011}', "");
-Expect(0, 8554, '\p{^Numeric_Value=00000011}', "");
-Expect(0, 8554, '\P{Numeric_Value=00000011}', "");
-Expect(1, 8554, '\P{^Numeric_Value=00000011}', "");
-Expect(0, 8553, '\p{Numeric_Value=00000011}', "");
-Expect(1, 8553, '\p{^Numeric_Value=00000011}', "");
-Expect(1, 8553, '\P{Numeric_Value=00000011}', "");
-Expect(0, 8553, '\P{^Numeric_Value=00000011}', "");
-Error('\p{Nv: /a/- +1 1}');
-Error('\P{Nv: /a/- +1 1}');
-Expect(1, 8554, '\p{Nv=+0_0_0_0_0_0_00011}', "");
-Expect(0, 8554, '\p{^Nv=+0_0_0_0_0_0_00011}', "");
-Expect(0, 8554, '\P{Nv=+0_0_0_0_0_0_00011}', "");
-Expect(1, 8554, '\P{^Nv=+0_0_0_0_0_0_00011}', "");
-Expect(0, 8553, '\p{Nv=+0_0_0_0_0_0_00011}', "");
-Expect(1, 8553, '\p{^Nv=+0_0_0_0_0_0_00011}', "");
-Expect(1, 8553, '\P{Nv=+0_0_0_0_0_0_00011}', "");
-Expect(0, 8553, '\P{^Nv=+0_0_0_0_0_0_00011}', "");
-Error('\p{Is_Numeric_Value: :=0001_1}');
-Error('\P{Is_Numeric_Value: :=0001_1}');
-Expect(1, 8554, '\p{Is_Numeric_Value=1_1}', "");
-Expect(0, 8554, '\p{^Is_Numeric_Value=1_1}', "");
-Expect(0, 8554, '\P{Is_Numeric_Value=1_1}', "");
-Expect(1, 8554, '\P{^Is_Numeric_Value=1_1}', "");
-Expect(0, 8553, '\p{Is_Numeric_Value=1_1}', "");
-Expect(1, 8553, '\p{^Is_Numeric_Value=1_1}', "");
-Expect(1, 8553, '\P{Is_Numeric_Value=1_1}', "");
-Expect(0, 8553, '\P{^Is_Numeric_Value=1_1}', "");
-Error('\p{Is_Nv=/a/0-0 0 0 0_0 0 11}');
-Error('\P{Is_Nv=/a/0-0 0 0 0_0 0 11}');
-Expect(1, 8554, '\p{Is_Nv=+00000000011}', "");
-Expect(0, 8554, '\p{^Is_Nv=+00000000011}', "");
-Expect(0, 8554, '\P{Is_Nv=+00000000011}', "");
-Expect(1, 8554, '\P{^Is_Nv=+00000000011}', "");
-Expect(0, 8553, '\p{Is_Nv=+00000000011}', "");
-Expect(1, 8553, '\p{^Is_Nv=+00000000011}', "");
-Expect(1, 8553, '\P{Is_Nv=+00000000011}', "");
-Expect(0, 8553, '\P{^Is_Nv=+00000000011}', "");
-Error('\p{Numeric_Value=-:=0000001/5}');
-Error('\P{Numeric_Value=-:=0000001/5}');
-Expect(1, 8533, '\p{Numeric_Value=000001/005}', "");
-Expect(0, 8533, '\p{^Numeric_Value=000001/005}', "");
-Expect(0, 8533, '\P{Numeric_Value=000001/005}', "");
-Expect(1, 8533, '\P{^Numeric_Value=000001/005}', "");
-Expect(0, 8532, '\p{Numeric_Value=000001/005}', "");
-Expect(1, 8532, '\p{^Numeric_Value=000001/005}', "");
-Expect(1, 8532, '\P{Numeric_Value=000001/005}', "");
-Expect(0, 8532, '\P{^Numeric_Value=000001/005}', "");
-Expect(1, 8533, '\p{Numeric_Value=0.200}', "");
-Expect(0, 8533, '\p{^Numeric_Value=0.200}', "");
-Expect(0, 8533, '\P{Numeric_Value=0.200}', "");
-Expect(1, 8533, '\P{^Numeric_Value=0.200}', "");
-Expect(0, 8532, '\p{Numeric_Value=0.200}', "");
-Expect(1, 8532, '\p{^Numeric_Value=0.200}', "");
-Expect(1, 8532, '\P{Numeric_Value=0.200}', "");
-Expect(0, 8532, '\P{^Numeric_Value=0.200}', "");
-Error('\p{Nv=:=_+01/05}');
-Error('\P{Nv=:=_+01/05}');
-Expect(1, 8533, '\p{Nv=0001/0005}', "");
-Expect(0, 8533, '\p{^Nv=0001/0005}', "");
-Expect(0, 8533, '\P{Nv=0001/0005}', "");
-Expect(1, 8533, '\P{^Nv=0001/0005}', "");
-Expect(0, 8532, '\p{Nv=0001/0005}', "");
-Expect(1, 8532, '\p{^Nv=0001/0005}', "");
-Expect(1, 8532, '\P{Nv=0001/0005}', "");
-Expect(0, 8532, '\P{^Nv=0001/0005}', "");
-Expect(1, 8533, '\p{Nv=0.200}', "");
-Expect(0, 8533, '\p{^Nv=0.200}', "");
-Expect(0, 8533, '\P{Nv=0.200}', "");
-Expect(1, 8533, '\P{^Nv=0.200}', "");
-Expect(0, 8532, '\p{Nv=0.200}', "");
-Expect(1, 8532, '\p{^Nv=0.200}', "");
-Expect(1, 8532, '\P{Nv=0.200}', "");
-Expect(0, 8532, '\P{^Nv=0.200}', "");
-Error('\p{Is_Numeric_Value=/a/_00001/005}');
-Error('\P{Is_Numeric_Value=/a/_00001/005}');
-Expect(1, 8533, '\p{Is_Numeric_Value=+0000000001/005}', "");
-Expect(0, 8533, '\p{^Is_Numeric_Value=+0000000001/005}', "");
-Expect(0, 8533, '\P{Is_Numeric_Value=+0000000001/005}', "");
-Expect(1, 8533, '\P{^Is_Numeric_Value=+0000000001/005}', "");
-Expect(0, 8532, '\p{Is_Numeric_Value=+0000000001/005}', "");
-Expect(1, 8532, '\p{^Is_Numeric_Value=+0000000001/005}', "");
-Expect(1, 8532, '\P{Is_Numeric_Value=+0000000001/005}', "");
-Expect(0, 8532, '\P{^Is_Numeric_Value=+0000000001/005}', "");
-Expect(1, 8533, '\p{Is_Numeric_Value=0.200}', "");
-Expect(0, 8533, '\p{^Is_Numeric_Value=0.200}', "");
-Expect(0, 8533, '\P{Is_Numeric_Value=0.200}', "");
-Expect(1, 8533, '\P{^Is_Numeric_Value=0.200}', "");
-Expect(0, 8532, '\p{Is_Numeric_Value=0.200}', "");
-Expect(1, 8532, '\p{^Is_Numeric_Value=0.200}', "");
-Expect(1, 8532, '\P{Is_Numeric_Value=0.200}', "");
-Expect(0, 8532, '\P{^Is_Numeric_Value=0.200}', "");
-Error('\p{Is_Nv= -+00000001/00005:=}');
-Error('\P{Is_Nv= -+00000001/00005:=}');
-Expect(1, 8533, '\p{Is_Nv=+00000001/00005}', "");
-Expect(0, 8533, '\p{^Is_Nv=+00000001/00005}', "");
-Expect(0, 8533, '\P{Is_Nv=+00000001/00005}', "");
-Expect(1, 8533, '\P{^Is_Nv=+00000001/00005}', "");
-Expect(0, 8532, '\p{Is_Nv=+00000001/00005}', "");
-Expect(1, 8532, '\p{^Is_Nv=+00000001/00005}', "");
-Expect(1, 8532, '\P{Is_Nv=+00000001/00005}', "");
-Expect(0, 8532, '\P{^Is_Nv=+00000001/00005}', "");
-Expect(1, 8533, '\p{Is_Nv=0.200}', "");
-Expect(0, 8533, '\p{^Is_Nv=0.200}', "");
-Expect(0, 8533, '\P{Is_Nv=0.200}', "");
-Expect(1, 8533, '\P{^Is_Nv=0.200}', "");
-Expect(0, 8532, '\p{Is_Nv=0.200}', "");
-Expect(1, 8532, '\p{^Is_Nv=0.200}', "");
-Expect(1, 8532, '\P{Is_Nv=0.200}', "");
-Expect(0, 8532, '\P{^Is_Nv=0.200}', "");
-Error('\p{Numeric_Value=_ NaN:=}');
-Error('\P{Numeric_Value=_ NaN:=}');
-Expect(1, 47, '\p{Numeric_Value=nan}', "");
-Expect(0, 47, '\p{^Numeric_Value=nan}', "");
-Expect(0, 47, '\P{Numeric_Value=nan}', "");
-Expect(1, 47, '\P{^Numeric_Value=nan}', "");
-Expect(0, 57, '\p{Numeric_Value=nan}', "");
-Expect(1, 57, '\p{^Numeric_Value=nan}', "");
-Expect(1, 57, '\P{Numeric_Value=nan}', "");
-Expect(0, 57, '\P{^Numeric_Value=nan}', "");
-Expect(1, 47, '\p{Numeric_Value=NAN}', "");
-Expect(0, 47, '\p{^Numeric_Value=NAN}', "");
-Expect(0, 47, '\P{Numeric_Value=NAN}', "");
-Expect(1, 47, '\P{^Numeric_Value=NAN}', "");
-Expect(0, 57, '\p{Numeric_Value=NAN}', "");
-Expect(1, 57, '\p{^Numeric_Value=NAN}', "");
-Expect(1, 57, '\P{Numeric_Value=NAN}', "");
-Expect(0, 57, '\P{^Numeric_Value=NAN}', "");
-Error('\p{Nv=-:=NAN}');
-Error('\P{Nv=-:=NAN}');
-Expect(1, 47, '\p{Nv=nan}', "");
-Expect(0, 47, '\p{^Nv=nan}', "");
-Expect(0, 47, '\P{Nv=nan}', "");
-Expect(1, 47, '\P{^Nv=nan}', "");
-Expect(0, 57, '\p{Nv=nan}', "");
-Expect(1, 57, '\p{^Nv=nan}', "");
-Expect(1, 57, '\P{Nv=nan}', "");
-Expect(0, 57, '\P{^Nv=nan}', "");
-Expect(1, 47, '\p{Nv= NaN}', "");
-Expect(0, 47, '\p{^Nv= NaN}', "");
-Expect(0, 47, '\P{Nv= NaN}', "");
-Expect(1, 47, '\P{^Nv= NaN}', "");
-Expect(0, 57, '\p{Nv= NaN}', "");
-Expect(1, 57, '\p{^Nv= NaN}', "");
-Expect(1, 57, '\P{Nv= NaN}', "");
-Expect(0, 57, '\P{^Nv= NaN}', "");
-Error('\p{Is_Numeric_Value=-:=NaN}');
-Error('\P{Is_Numeric_Value=-:=NaN}');
-Expect(1, 47, '\p{Is_Numeric_Value: nan}', "");
-Expect(0, 47, '\p{^Is_Numeric_Value: nan}', "");
-Expect(0, 47, '\P{Is_Numeric_Value: nan}', "");
-Expect(1, 47, '\P{^Is_Numeric_Value: nan}', "");
-Expect(0, 57, '\p{Is_Numeric_Value: nan}', "");
-Expect(1, 57, '\p{^Is_Numeric_Value: nan}', "");
-Expect(1, 57, '\P{Is_Numeric_Value: nan}', "");
-Expect(0, 57, '\P{^Is_Numeric_Value: nan}', "");
-Expect(1, 47, '\p{Is_Numeric_Value: -nan}', "");
-Expect(0, 47, '\p{^Is_Numeric_Value: -nan}', "");
-Expect(0, 47, '\P{Is_Numeric_Value: -nan}', "");
-Expect(1, 47, '\P{^Is_Numeric_Value: -nan}', "");
-Expect(0, 57, '\p{Is_Numeric_Value: -nan}', "");
-Expect(1, 57, '\p{^Is_Numeric_Value: -nan}', "");
-Expect(1, 57, '\P{Is_Numeric_Value: -nan}', "");
-Expect(0, 57, '\P{^Is_Numeric_Value: -nan}', "");
-Error('\p{Is_Nv=_NaN:=}');
-Error('\P{Is_Nv=_NaN:=}');
-Expect(1, 47, '\p{Is_Nv=nan}', "");
-Expect(0, 47, '\p{^Is_Nv=nan}', "");
-Expect(0, 47, '\P{Is_Nv=nan}', "");
-Expect(1, 47, '\P{^Is_Nv=nan}', "");
-Expect(0, 57, '\p{Is_Nv=nan}', "");
-Expect(1, 57, '\p{^Is_Nv=nan}', "");
-Expect(1, 57, '\P{Is_Nv=nan}', "");
-Expect(0, 57, '\P{^Is_Nv=nan}', "");
-Expect(1, 47, '\p{Is_Nv=- nan}', "");
-Expect(0, 47, '\p{^Is_Nv=- nan}', "");
-Expect(0, 47, '\P{Is_Nv=- nan}', "");
-Expect(1, 47, '\P{^Is_Nv=- nan}', "");
-Expect(0, 57, '\p{Is_Nv=- nan}', "");
-Expect(1, 57, '\p{^Is_Nv=- nan}', "");
-Expect(1, 57, '\P{Is_Nv=- nan}', "");
-Expect(0, 57, '\P{^Is_Nv=- nan}', "");
-Error('\p{Numeric_Value=__000015/02/a/}');
-Error('\P{Numeric_Value=__000015/02/a/}');
-Expect(1, 3889, '\p{Numeric_Value=00015/2}', "");
-Expect(0, 3889, '\p{^Numeric_Value=00015/2}', "");
-Expect(0, 3889, '\P{Numeric_Value=00015/2}', "");
-Expect(1, 3889, '\P{^Numeric_Value=00015/2}', "");
-Expect(0, 3888, '\p{Numeric_Value=00015/2}', "");
-Expect(1, 3888, '\p{^Numeric_Value=00015/2}', "");
-Expect(1, 3888, '\P{Numeric_Value=00015/2}', "");
-Expect(0, 3888, '\P{^Numeric_Value=00015/2}', "");
-Expect(1, 3889, '\p{Numeric_Value: 7.500}', "");
-Expect(0, 3889, '\p{^Numeric_Value: 7.500}', "");
-Expect(0, 3889, '\P{Numeric_Value: 7.500}', "");
-Expect(1, 3889, '\P{^Numeric_Value: 7.500}', "");
-Expect(0, 3888, '\p{Numeric_Value: 7.500}', "");
-Expect(1, 3888, '\p{^Numeric_Value: 7.500}', "");
-Expect(1, 3888, '\P{Numeric_Value: 7.500}', "");
-Expect(0, 3888, '\P{^Numeric_Value: 7.500}', "");
-Error('\p{Nv=/a/-+0000015/00002}');
-Error('\P{Nv=/a/-+0000015/00002}');
-Expect(1, 3889, '\p{Nv=015/00000002}', "");
-Expect(0, 3889, '\p{^Nv=015/00000002}', "");
-Expect(0, 3889, '\P{Nv=015/00000002}', "");
-Expect(1, 3889, '\P{^Nv=015/00000002}', "");
-Expect(0, 3888, '\p{Nv=015/00000002}', "");
-Expect(1, 3888, '\p{^Nv=015/00000002}', "");
-Expect(1, 3888, '\P{Nv=015/00000002}', "");
-Expect(0, 3888, '\P{^Nv=015/00000002}', "");
-Expect(1, 3889, '\p{Nv: 7.500}', "");
-Expect(0, 3889, '\p{^Nv: 7.500}', "");
-Expect(0, 3889, '\P{Nv: 7.500}', "");
-Expect(1, 3889, '\P{^Nv: 7.500}', "");
-Expect(0, 3888, '\p{Nv: 7.500}', "");
-Expect(1, 3888, '\p{^Nv: 7.500}', "");
-Expect(1, 3888, '\P{Nv: 7.500}', "");
-Expect(0, 3888, '\P{^Nv: 7.500}', "");
-Error('\p{Is_Numeric_Value=_/a/00000015/000002}');
-Error('\P{Is_Numeric_Value=_/a/00000015/000002}');
-Expect(1, 3889, '\p{Is_Numeric_Value=00000000015/000002}', "");
-Expect(0, 3889, '\p{^Is_Numeric_Value=00000000015/000002}', "");
-Expect(0, 3889, '\P{Is_Numeric_Value=00000000015/000002}', "");
-Expect(1, 3889, '\P{^Is_Numeric_Value=00000000015/000002}', "");
-Expect(0, 3888, '\p{Is_Numeric_Value=00000000015/000002}', "");
-Expect(1, 3888, '\p{^Is_Numeric_Value=00000000015/000002}', "");
-Expect(1, 3888, '\P{Is_Numeric_Value=00000000015/000002}', "");
-Expect(0, 3888, '\P{^Is_Numeric_Value=00000000015/000002}', "");
-Expect(1, 3889, '\p{Is_Numeric_Value=7.500}', "");
-Expect(0, 3889, '\p{^Is_Numeric_Value=7.500}', "");
-Expect(0, 3889, '\P{Is_Numeric_Value=7.500}', "");
-Expect(1, 3889, '\P{^Is_Numeric_Value=7.500}', "");
-Expect(0, 3888, '\p{Is_Numeric_Value=7.500}', "");
-Expect(1, 3888, '\p{^Is_Numeric_Value=7.500}', "");
-Expect(1, 3888, '\P{Is_Numeric_Value=7.500}', "");
-Expect(0, 3888, '\P{^Is_Numeric_Value=7.500}', "");
-Error('\p{Is_Nv=_+015/00000002:=}');
-Error('\P{Is_Nv=_+015/00000002:=}');
-Expect(1, 3889, '\p{Is_Nv=000000015/00002}', "");
-Expect(0, 3889, '\p{^Is_Nv=000000015/00002}', "");
-Expect(0, 3889, '\P{Is_Nv=000000015/00002}', "");
-Expect(1, 3889, '\P{^Is_Nv=000000015/00002}', "");
-Expect(0, 3888, '\p{Is_Nv=000000015/00002}', "");
-Expect(1, 3888, '\p{^Is_Nv=000000015/00002}', "");
-Expect(1, 3888, '\P{Is_Nv=000000015/00002}', "");
-Expect(0, 3888, '\P{^Is_Nv=000000015/00002}', "");
-Expect(1, 3889, '\p{Is_Nv: 7.500}', "");
-Expect(0, 3889, '\p{^Is_Nv: 7.500}', "");
-Expect(0, 3889, '\P{Is_Nv: 7.500}', "");
-Expect(1, 3889, '\P{^Is_Nv: 7.500}', "");
-Expect(0, 3888, '\p{Is_Nv: 7.500}', "");
-Expect(1, 3888, '\p{^Is_Nv: 7.500}', "");
-Expect(1, 3888, '\P{Is_Nv: 7.500}', "");
-Expect(0, 3888, '\P{^Is_Nv: 7.500}', "");
-Error('\p{Numeric_Value=:=+7/0008}');
-Error('\P{Numeric_Value=:=+7/0008}');
-Expect(1, 8542, '\p{Numeric_Value=0000007/000008}', "");
-Expect(0, 8542, '\p{^Numeric_Value=0000007/000008}', "");
-Expect(0, 8542, '\P{Numeric_Value=0000007/000008}', "");
-Expect(1, 8542, '\P{^Numeric_Value=0000007/000008}', "");
-Expect(0, 8541, '\p{Numeric_Value=0000007/000008}', "");
-Expect(1, 8541, '\p{^Numeric_Value=0000007/000008}', "");
-Expect(1, 8541, '\P{Numeric_Value=0000007/000008}', "");
-Expect(0, 8541, '\P{^Numeric_Value=0000007/000008}', "");
-Error('\p{Numeric_Value=0.9}');
-Error('\P{Numeric_Value=0.9}');
-Error('\p{Numeric_Value=0.88}');
-Error('\P{Numeric_Value=0.88}');
-Expect(1, 8542, '\p{Numeric_Value: 0.875}', "");
-Expect(0, 8542, '\p{^Numeric_Value: 0.875}', "");
-Expect(0, 8542, '\P{Numeric_Value: 0.875}', "");
-Expect(1, 8542, '\P{^Numeric_Value: 0.875}', "");
-Expect(0, 8541, '\p{Numeric_Value: 0.875}', "");
-Expect(1, 8541, '\p{^Numeric_Value: 0.875}', "");
-Expect(1, 8541, '\P{Numeric_Value: 0.875}', "");
-Expect(0, 8541, '\P{^Numeric_Value: 0.875}', "");
-Error('\p{Nv= :=07/08}');
-Error('\P{Nv= :=07/08}');
-Expect(1, 8542, '\p{Nv: 0000000007/00008}', "");
-Expect(0, 8542, '\p{^Nv: 0000000007/00008}', "");
-Expect(0, 8542, '\P{Nv: 0000000007/00008}', "");
-Expect(1, 8542, '\P{^Nv: 0000000007/00008}', "");
-Expect(0, 8541, '\p{Nv: 0000000007/00008}', "");
-Expect(1, 8541, '\p{^Nv: 0000000007/00008}', "");
-Expect(1, 8541, '\P{Nv: 0000000007/00008}', "");
-Expect(0, 8541, '\P{^Nv: 0000000007/00008}', "");
-Error('\p{Nv=0.9}');
-Error('\P{Nv=0.9}');
-Error('\p{Nv=0.88}');
-Error('\P{Nv=0.88}');
-Expect(1, 8542, '\p{Nv=0.875}', "");
-Expect(0, 8542, '\p{^Nv=0.875}', "");
-Expect(0, 8542, '\P{Nv=0.875}', "");
-Expect(1, 8542, '\P{^Nv=0.875}', "");
-Expect(0, 8541, '\p{Nv=0.875}', "");
-Expect(1, 8541, '\p{^Nv=0.875}', "");
-Expect(1, 8541, '\P{Nv=0.875}', "");
-Expect(0, 8541, '\P{^Nv=0.875}', "");
-Error('\p{Is_Numeric_Value= 00007/8:=}');
-Error('\P{Is_Numeric_Value= 00007/8:=}');
-Expect(1, 8542, '\p{Is_Numeric_Value=+00007/00000008}', "");
-Expect(0, 8542, '\p{^Is_Numeric_Value=+00007/00000008}', "");
-Expect(0, 8542, '\P{Is_Numeric_Value=+00007/00000008}', "");
-Expect(1, 8542, '\P{^Is_Numeric_Value=+00007/00000008}', "");
-Expect(0, 8541, '\p{Is_Numeric_Value=+00007/00000008}', "");
-Expect(1, 8541, '\p{^Is_Numeric_Value=+00007/00000008}', "");
-Expect(1, 8541, '\P{Is_Numeric_Value=+00007/00000008}', "");
-Expect(0, 8541, '\P{^Is_Numeric_Value=+00007/00000008}', "");
-Error('\p{Is_Numeric_Value=0.9}');
-Error('\P{Is_Numeric_Value=0.9}');
-Error('\p{Is_Numeric_Value: 0.88}');
-Error('\P{Is_Numeric_Value: 0.88}');
-Expect(1, 8542, '\p{Is_Numeric_Value=0.875}', "");
-Expect(0, 8542, '\p{^Is_Numeric_Value=0.875}', "");
-Expect(0, 8542, '\P{Is_Numeric_Value=0.875}', "");
-Expect(1, 8542, '\P{^Is_Numeric_Value=0.875}', "");
-Expect(0, 8541, '\p{Is_Numeric_Value=0.875}', "");
-Expect(1, 8541, '\p{^Is_Numeric_Value=0.875}', "");
-Expect(1, 8541, '\P{Is_Numeric_Value=0.875}', "");
-Expect(0, 8541, '\P{^Is_Numeric_Value=0.875}', "");
-Error('\p{Is_Nv=_-+0000007/08/a/}');
-Error('\P{Is_Nv=_-+0000007/08/a/}');
-Expect(1, 8542, '\p{Is_Nv=0000007/0000000008}', "");
-Expect(0, 8542, '\p{^Is_Nv=0000007/0000000008}', "");
-Expect(0, 8542, '\P{Is_Nv=0000007/0000000008}', "");
-Expect(1, 8542, '\P{^Is_Nv=0000007/0000000008}', "");
-Expect(0, 8541, '\p{Is_Nv=0000007/0000000008}', "");
-Expect(1, 8541, '\p{^Is_Nv=0000007/0000000008}', "");
-Expect(1, 8541, '\P{Is_Nv=0000007/0000000008}', "");
-Expect(0, 8541, '\P{^Is_Nv=0000007/0000000008}', "");
-Error('\p{Is_Nv=0.9}');
-Error('\P{Is_Nv=0.9}');
-Error('\p{Is_Nv=0.88}');
-Error('\P{Is_Nv=0.88}');
-Expect(1, 8542, '\p{Is_Nv=0.875}', "");
-Expect(0, 8542, '\p{^Is_Nv=0.875}', "");
-Expect(0, 8542, '\P{Is_Nv=0.875}', "");
-Expect(1, 8542, '\P{^Is_Nv=0.875}', "");
-Expect(0, 8541, '\p{Is_Nv=0.875}', "");
-Expect(1, 8541, '\p{^Is_Nv=0.875}', "");
-Expect(1, 8541, '\P{Is_Nv=0.875}', "");
-Expect(0, 8541, '\P{^Is_Nv=0.875}', "");
-Error('\p{Numeric_Value=:=+0 0 0-0 00700}');
-Error('\P{Numeric_Value=:=+0 0 0-0 00700}');
-Expect(1, 65823, '\p{Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(0, 65823, '\p{^Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(0, 65823, '\P{Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(1, 65823, '\P{^Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(0, 65822, '\p{Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(1, 65822, '\p{^Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(1, 65822, '\P{Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Expect(0, 65822, '\P{^Numeric_Value=0_0_0_0_0_0_0_0_0_7_00}', "");
-Error('\p{Nv= -0700:=}');
-Error('\P{Nv= -0700:=}');
-Expect(1, 65823, '\p{Nv=+00000700}', "");
-Expect(0, 65823, '\p{^Nv=+00000700}', "");
-Expect(0, 65823, '\P{Nv=+00000700}', "");
-Expect(1, 65823, '\P{^Nv=+00000700}', "");
-Expect(0, 65822, '\p{Nv=+00000700}', "");
-Expect(1, 65822, '\p{^Nv=+00000700}', "");
-Expect(1, 65822, '\P{Nv=+00000700}', "");
-Expect(0, 65822, '\P{^Nv=+00000700}', "");
-Error('\p{Is_Numeric_Value: /a/00-0-0-7_00}');
-Error('\P{Is_Numeric_Value: /a/00-0-0-7_00}');
-Expect(1, 65823, '\p{Is_Numeric_Value=000_007_00}', "");
-Expect(0, 65823, '\p{^Is_Numeric_Value=000_007_00}', "");
-Expect(0, 65823, '\P{Is_Numeric_Value=000_007_00}', "");
-Expect(1, 65823, '\P{^Is_Numeric_Value=000_007_00}', "");
-Expect(0, 65822, '\p{Is_Numeric_Value=000_007_00}', "");
-Expect(1, 65822, '\p{^Is_Numeric_Value=000_007_00}', "");
-Expect(1, 65822, '\P{Is_Numeric_Value=000_007_00}', "");
-Expect(0, 65822, '\P{^Is_Numeric_Value=000_007_00}', "");
-Error('\p{Is_Nv=:=+0700}');
-Error('\P{Is_Nv=:=+0700}');
-Expect(1, 65823, '\p{Is_Nv=00000700}', "");
-Expect(0, 65823, '\p{^Is_Nv=00000700}', "");
-Expect(0, 65823, '\P{Is_Nv=00000700}', "");
-Expect(1, 65823, '\P{^Is_Nv=00000700}', "");
-Expect(0, 65822, '\p{Is_Nv=00000700}', "");
-Expect(1, 65822, '\p{^Is_Nv=00000700}', "");
-Expect(1, 65822, '\P{Is_Nv=00000700}', "");
-Expect(0, 65822, '\P{^Is_Nv=00000700}', "");
-Error('\p{Numeric_Value: _:=000013/002}');
-Error('\P{Numeric_Value: _:=000013/002}');
-Expect(1, 3888, '\p{Numeric_Value=13/0002}', "");
-Expect(0, 3888, '\p{^Numeric_Value=13/0002}', "");
-Expect(0, 3888, '\P{Numeric_Value=13/0002}', "");
-Expect(1, 3888, '\P{^Numeric_Value=13/0002}', "");
-Expect(0, 3887, '\p{Numeric_Value=13/0002}', "");
-Expect(1, 3887, '\p{^Numeric_Value=13/0002}', "");
-Expect(1, 3887, '\P{Numeric_Value=13/0002}', "");
-Expect(0, 3887, '\P{^Numeric_Value=13/0002}', "");
-Expect(1, 3888, '\p{Numeric_Value=6.500}', "");
-Expect(0, 3888, '\p{^Numeric_Value=6.500}', "");
-Expect(0, 3888, '\P{Numeric_Value=6.500}', "");
-Expect(1, 3888, '\P{^Numeric_Value=6.500}', "");
-Expect(0, 3887, '\p{Numeric_Value=6.500}', "");
-Expect(1, 3887, '\p{^Numeric_Value=6.500}', "");
-Expect(1, 3887, '\P{Numeric_Value=6.500}', "");
-Expect(0, 3887, '\P{^Numeric_Value=6.500}', "");
-Error('\p{Nv= /a/+00000013/002}');
-Error('\P{Nv= /a/+00000013/002}');
-Expect(1, 3888, '\p{Nv=00000013/000000002}', "");
-Expect(0, 3888, '\p{^Nv=00000013/000000002}', "");
-Expect(0, 3888, '\P{Nv=00000013/000000002}', "");
-Expect(1, 3888, '\P{^Nv=00000013/000000002}', "");
-Expect(0, 3887, '\p{Nv=00000013/000000002}', "");
-Expect(1, 3887, '\p{^Nv=00000013/000000002}', "");
-Expect(1, 3887, '\P{Nv=00000013/000000002}', "");
-Expect(0, 3887, '\P{^Nv=00000013/000000002}', "");
-Expect(1, 3888, '\p{Nv=6.500}', "");
-Expect(0, 3888, '\p{^Nv=6.500}', "");
-Expect(0, 3888, '\P{Nv=6.500}', "");
-Expect(1, 3888, '\P{^Nv=6.500}', "");
-Expect(0, 3887, '\p{Nv=6.500}', "");
-Expect(1, 3887, '\p{^Nv=6.500}', "");
-Expect(1, 3887, '\P{Nv=6.500}', "");
-Expect(0, 3887, '\P{^Nv=6.500}', "");
-Error('\p{Is_Numeric_Value=/a/ _+000013/00000002}');
-Error('\P{Is_Numeric_Value=/a/ _+000013/00000002}');
-Expect(1, 3888, '\p{Is_Numeric_Value=0000013/0000002}', "");
-Expect(0, 3888, '\p{^Is_Numeric_Value=0000013/0000002}', "");
-Expect(0, 3888, '\P{Is_Numeric_Value=0000013/0000002}', "");
-Expect(1, 3888, '\P{^Is_Numeric_Value=0000013/0000002}', "");
-Expect(0, 3887, '\p{Is_Numeric_Value=0000013/0000002}', "");
-Expect(1, 3887, '\p{^Is_Numeric_Value=0000013/0000002}', "");
-Expect(1, 3887, '\P{Is_Numeric_Value=0000013/0000002}', "");
-Expect(0, 3887, '\P{^Is_Numeric_Value=0000013/0000002}', "");
-Expect(1, 3888, '\p{Is_Numeric_Value=6.500}', "");
-Expect(0, 3888, '\p{^Is_Numeric_Value=6.500}', "");
-Expect(0, 3888, '\P{Is_Numeric_Value=6.500}', "");
-Expect(1, 3888, '\P{^Is_Numeric_Value=6.500}', "");
-Expect(0, 3887, '\p{Is_Numeric_Value=6.500}', "");
-Expect(1, 3887, '\p{^Is_Numeric_Value=6.500}', "");
-Expect(1, 3887, '\P{Is_Numeric_Value=6.500}', "");
-Expect(0, 3887, '\P{^Is_Numeric_Value=6.500}', "");
-Error('\p{Is_Nv=__13/0000002/a/}');
-Error('\P{Is_Nv=__13/0000002/a/}');
-Expect(1, 3888, '\p{Is_Nv=00013/00002}', "");
-Expect(0, 3888, '\p{^Is_Nv=00013/00002}', "");
-Expect(0, 3888, '\P{Is_Nv=00013/00002}', "");
-Expect(1, 3888, '\P{^Is_Nv=00013/00002}', "");
-Expect(0, 3887, '\p{Is_Nv=00013/00002}', "");
-Expect(1, 3887, '\p{^Is_Nv=00013/00002}', "");
-Expect(1, 3887, '\P{Is_Nv=00013/00002}', "");
-Expect(0, 3887, '\P{^Is_Nv=00013/00002}', "");
-Expect(1, 3888, '\p{Is_Nv=6.500}', "");
-Expect(0, 3888, '\p{^Is_Nv=6.500}', "");
-Expect(0, 3888, '\P{Is_Nv=6.500}', "");
-Expect(1, 3888, '\P{^Is_Nv=6.500}', "");
-Expect(0, 3887, '\p{Is_Nv=6.500}', "");
-Expect(1, 3887, '\p{^Is_Nv=6.500}', "");
-Expect(1, 3887, '\P{Is_Nv=6.500}', "");
-Expect(0, 3887, '\P{^Is_Nv=6.500}', "");
-Error('\p{Numeric_Value= -+000048/a/}');
-Error('\P{Numeric_Value= -+000048/a/}');
-Expect(1, 12989, '\p{Numeric_Value=+00000048}', "");
-Expect(0, 12989, '\p{^Numeric_Value=+00000048}', "");
-Expect(0, 12989, '\P{Numeric_Value=+00000048}', "");
-Expect(1, 12989, '\P{^Numeric_Value=+00000048}', "");
-Expect(0, 12988, '\p{Numeric_Value=+00000048}', "");
-Expect(1, 12988, '\p{^Numeric_Value=+00000048}', "");
-Expect(1, 12988, '\P{Numeric_Value=+00000048}', "");
-Expect(0, 12988, '\P{^Numeric_Value=+00000048}', "");
-Error('\p{Nv: 4/a/8}');
-Error('\P{Nv: 4/a/8}');
-Expect(1, 12989, '\p{Nv: 00000048}', "");
-Expect(0, 12989, '\p{^Nv: 00000048}', "");
-Expect(0, 12989, '\P{Nv: 00000048}', "");
-Expect(1, 12989, '\P{^Nv: 00000048}', "");
-Expect(0, 12988, '\p{Nv: 00000048}', "");
-Expect(1, 12988, '\p{^Nv: 00000048}', "");
-Expect(1, 12988, '\P{Nv: 00000048}', "");
-Expect(0, 12988, '\P{^Nv: 00000048}', "");
-Error('\p{Is_Numeric_Value=-00/a/00 48}');
-Error('\P{Is_Numeric_Value=-00/a/00 48}');
-Expect(1, 12989, '\p{Is_Numeric_Value=00000000048}', "");
-Expect(0, 12989, '\p{^Is_Numeric_Value=00000000048}', "");
-Expect(0, 12989, '\P{Is_Numeric_Value=00000000048}', "");
-Expect(1, 12989, '\P{^Is_Numeric_Value=00000000048}', "");
-Expect(0, 12988, '\p{Is_Numeric_Value=00000000048}', "");
-Expect(1, 12988, '\p{^Is_Numeric_Value=00000000048}', "");
-Expect(1, 12988, '\P{Is_Numeric_Value=00000000048}', "");
-Expect(0, 12988, '\P{^Is_Numeric_Value=00000000048}', "");
-Error('\p{Is_Nv=_/a/48}');
-Error('\P{Is_Nv=_/a/48}');
-Expect(1, 12989, '\p{Is_Nv=0004_8}', "");
-Expect(0, 12989, '\p{^Is_Nv=0004_8}', "");
-Expect(0, 12989, '\P{Is_Nv=0004_8}', "");
-Expect(1, 12989, '\P{^Is_Nv=0004_8}', "");
-Expect(0, 12988, '\p{Is_Nv=0004_8}', "");
-Expect(1, 12988, '\p{^Is_Nv=0004_8}', "");
-Expect(1, 12988, '\P{Is_Nv=0004_8}', "");
-Expect(0, 12988, '\P{^Is_Nv=0004_8}', "");
-Error('\p{Numeric_Value=_ 000001/0000003/a/}');
-Error('\P{Numeric_Value=_ 000001/0000003/a/}');
-Expect(1, 8531, '\p{Numeric_Value=000001/003}', "");
-Expect(0, 8531, '\p{^Numeric_Value=000001/003}', "");
-Expect(0, 8531, '\P{Numeric_Value=000001/003}', "");
-Expect(1, 8531, '\P{^Numeric_Value=000001/003}', "");
-Expect(0, 8530, '\p{Numeric_Value=000001/003}', "");
-Expect(1, 8530, '\p{^Numeric_Value=000001/003}', "");
-Expect(1, 8530, '\P{Numeric_Value=000001/003}', "");
-Expect(0, 8530, '\P{^Numeric_Value=000001/003}', "");
-Error('\p{Numeric_Value=0.3}');
-Error('\P{Numeric_Value=0.3}');
-Error('\p{Numeric_Value=0.33}');
-Error('\P{Numeric_Value=0.33}');
-Expect(1, 8531, '\p{Numeric_Value=0.333}', "");
-Expect(0, 8531, '\p{^Numeric_Value=0.333}', "");
-Expect(0, 8531, '\P{Numeric_Value=0.333}', "");
-Expect(1, 8531, '\P{^Numeric_Value=0.333}', "");
-Expect(0, 8530, '\p{Numeric_Value=0.333}', "");
-Expect(1, 8530, '\p{^Numeric_Value=0.333}', "");
-Expect(1, 8530, '\P{Numeric_Value=0.333}', "");
-Expect(0, 8530, '\P{^Numeric_Value=0.333}', "");
-Error('\p{Nv: :=0000001/000000003}');
-Error('\P{Nv: :=0000001/000000003}');
-Expect(1, 8531, '\p{Nv: 1/3}', "");
-Expect(0, 8531, '\p{^Nv: 1/3}', "");
-Expect(0, 8531, '\P{Nv: 1/3}', "");
-Expect(1, 8531, '\P{^Nv: 1/3}', "");
-Expect(0, 8530, '\p{Nv: 1/3}', "");
-Expect(1, 8530, '\p{^Nv: 1/3}', "");
-Expect(1, 8530, '\P{Nv: 1/3}', "");
-Expect(0, 8530, '\P{^Nv: 1/3}', "");
-Error('\p{Nv=0.3}');
-Error('\P{Nv=0.3}');
-Error('\p{Nv=0.33}');
-Error('\P{Nv=0.33}');
-Expect(1, 8531, '\p{Nv=0.333}', "");
-Expect(0, 8531, '\p{^Nv=0.333}', "");
-Expect(0, 8531, '\P{Nv=0.333}', "");
-Expect(1, 8531, '\P{^Nv=0.333}', "");
-Expect(0, 8530, '\p{Nv=0.333}', "");
-Expect(1, 8530, '\p{^Nv=0.333}', "");
-Expect(1, 8530, '\P{Nv=0.333}', "");
-Expect(0, 8530, '\P{^Nv=0.333}', "");
-Error('\p{Is_Numeric_Value= /a/+0000000001/0000000003}');
-Error('\P{Is_Numeric_Value= /a/+0000000001/0000000003}');
-Expect(1, 8531, '\p{Is_Numeric_Value=0000001/0000003}', "");
-Expect(0, 8531, '\p{^Is_Numeric_Value=0000001/0000003}', "");
-Expect(0, 8531, '\P{Is_Numeric_Value=0000001/0000003}', "");
-Expect(1, 8531, '\P{^Is_Numeric_Value=0000001/0000003}', "");
-Expect(0, 8530, '\p{Is_Numeric_Value=0000001/0000003}', "");
-Expect(1, 8530, '\p{^Is_Numeric_Value=0000001/0000003}', "");
-Expect(1, 8530, '\P{Is_Numeric_Value=0000001/0000003}', "");
-Expect(0, 8530, '\P{^Is_Numeric_Value=0000001/0000003}', "");
-Error('\p{Is_Numeric_Value=0.3}');
-Error('\P{Is_Numeric_Value=0.3}');
-Error('\p{Is_Numeric_Value=0.33}');
-Error('\P{Is_Numeric_Value=0.33}');
-Expect(1, 8531, '\p{Is_Numeric_Value: 0.333}', "");
-Expect(0, 8531, '\p{^Is_Numeric_Value: 0.333}', "");
-Expect(0, 8531, '\P{Is_Numeric_Value: 0.333}', "");
-Expect(1, 8531, '\P{^Is_Numeric_Value: 0.333}', "");
-Expect(0, 8530, '\p{Is_Numeric_Value: 0.333}', "");
-Expect(1, 8530, '\p{^Is_Numeric_Value: 0.333}', "");
-Expect(1, 8530, '\P{Is_Numeric_Value: 0.333}', "");
-Expect(0, 8530, '\P{^Is_Numeric_Value: 0.333}', "");
-Error('\p{Is_Nv=-/a/001/003}');
-Error('\P{Is_Nv=-/a/001/003}');
-Expect(1, 8531, '\p{Is_Nv=+01/003}', "");
-Expect(0, 8531, '\p{^Is_Nv=+01/003}', "");
-Expect(0, 8531, '\P{Is_Nv=+01/003}', "");
-Expect(1, 8531, '\P{^Is_Nv=+01/003}', "");
-Expect(0, 8530, '\p{Is_Nv=+01/003}', "");
-Expect(1, 8530, '\p{^Is_Nv=+01/003}', "");
-Expect(1, 8530, '\P{Is_Nv=+01/003}', "");
-Expect(0, 8530, '\P{^Is_Nv=+01/003}', "");
-Error('\p{Is_Nv=0.3}');
-Error('\P{Is_Nv=0.3}');
-Error('\p{Is_Nv=0.33}');
-Error('\P{Is_Nv=0.33}');
-Expect(1, 8531, '\p{Is_Nv=0.333}', "");
-Expect(0, 8531, '\p{^Is_Nv=0.333}', "");
-Expect(0, 8531, '\P{Is_Nv=0.333}', "");
-Expect(1, 8531, '\P{^Is_Nv=0.333}', "");
-Expect(0, 8530, '\p{Is_Nv=0.333}', "");
-Expect(1, 8530, '\p{^Is_Nv=0.333}', "");
-Expect(1, 8530, '\P{Is_Nv=0.333}', "");
-Expect(0, 8530, '\P{^Is_Nv=0.333}', "");
-Error('\p{Numeric_Value=--02:=00_0}');
-Error('\P{Numeric_Value=--02:=00_0}');
-Expect(1, 65827, '\p{Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(0, 65827, '\p{^Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(0, 65827, '\P{Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(1, 65827, '\P{^Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(0, 65826, '\p{Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(1, 65826, '\p{^Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(1, 65826, '\P{Numeric_Value=0_0_0_0_0_02000}', "");
-Expect(0, 65826, '\P{^Numeric_Value=0_0_0_0_0_02000}', "");
-Error('\p{Nv=0 0-0:=2-000}');
-Error('\P{Nv=0 0-0:=2-000}');
-Expect(1, 65827, '\p{Nv=+00000002000}', "");
-Expect(0, 65827, '\p{^Nv=+00000002000}', "");
-Expect(0, 65827, '\P{Nv=+00000002000}', "");
-Expect(1, 65827, '\P{^Nv=+00000002000}', "");
-Expect(0, 65826, '\p{Nv=+00000002000}', "");
-Expect(1, 65826, '\p{^Nv=+00000002000}', "");
-Expect(1, 65826, '\P{Nv=+00000002000}', "");
-Expect(0, 65826, '\P{^Nv=+00000002000}', "");
-Error('\p{Is_Numeric_Value= :=+002000}');
-Error('\P{Is_Numeric_Value= :=+002000}');
-Expect(1, 65827, '\p{Is_Numeric_Value=00_02_00_0}', "");
-Expect(0, 65827, '\p{^Is_Numeric_Value=00_02_00_0}', "");
-Expect(0, 65827, '\P{Is_Numeric_Value=00_02_00_0}', "");
-Expect(1, 65827, '\P{^Is_Numeric_Value=00_02_00_0}', "");
-Expect(0, 65826, '\p{Is_Numeric_Value=00_02_00_0}', "");
-Expect(1, 65826, '\p{^Is_Numeric_Value=00_02_00_0}', "");
-Expect(1, 65826, '\P{Is_Numeric_Value=00_02_00_0}', "");
-Expect(0, 65826, '\P{^Is_Numeric_Value=00_02_00_0}', "");
-Error('\p{Is_Nv=:=0002000}');
-Error('\P{Is_Nv=:=0002000}');
-Expect(1, 65827, '\p{Is_Nv=+00_20_00}', "");
-Expect(0, 65827, '\p{^Is_Nv=+00_20_00}', "");
-Expect(0, 65827, '\P{Is_Nv=+00_20_00}', "");
-Expect(1, 65827, '\P{^Is_Nv=+00_20_00}', "");
-Expect(0, 65826, '\p{Is_Nv=+00_20_00}', "");
-Expect(1, 65826, '\p{^Is_Nv=+00_20_00}', "");
-Expect(1, 65826, '\P{Is_Nv=+00_20_00}', "");
-Expect(0, 65826, '\P{^Is_Nv=+00_20_00}', "");
-Error('\p{Numeric_Value=_-029:=}');
-Error('\P{Numeric_Value=_-029:=}');
-Expect(1, 12889, '\p{Numeric_Value=0000029}', "");
-Expect(0, 12889, '\p{^Numeric_Value=0000029}', "");
-Expect(0, 12889, '\P{Numeric_Value=0000029}', "");
-Expect(1, 12889, '\P{^Numeric_Value=0000029}', "");
-Expect(0, 12888, '\p{Numeric_Value=0000029}', "");
-Expect(1, 12888, '\p{^Numeric_Value=0000029}', "");
-Expect(1, 12888, '\P{Numeric_Value=0000029}', "");
-Expect(0, 12888, '\P{^Numeric_Value=0000029}', "");
-Error('\p{Nv= _0000029/a/}');
-Error('\P{Nv= _0000029/a/}');
-Expect(1, 12889, '\p{Nv=00000000029}', "");
-Expect(0, 12889, '\p{^Nv=00000000029}', "");
-Expect(0, 12889, '\P{Nv=00000000029}', "");
-Expect(1, 12889, '\P{^Nv=00000000029}', "");
-Expect(0, 12888, '\p{Nv=00000000029}', "");
-Expect(1, 12888, '\p{^Nv=00000000029}', "");
-Expect(1, 12888, '\P{Nv=00000000029}', "");
-Expect(0, 12888, '\P{^Nv=00000000029}', "");
-Error('\p{Is_Numeric_Value=:= +02 9}');
-Error('\P{Is_Numeric_Value=:= +02 9}');
-Expect(1, 12889, '\p{Is_Numeric_Value=02_9}', "");
-Expect(0, 12889, '\p{^Is_Numeric_Value=02_9}', "");
-Expect(0, 12889, '\P{Is_Numeric_Value=02_9}', "");
-Expect(1, 12889, '\P{^Is_Numeric_Value=02_9}', "");
-Expect(0, 12888, '\p{Is_Numeric_Value=02_9}', "");
-Expect(1, 12888, '\p{^Is_Numeric_Value=02_9}', "");
-Expect(1, 12888, '\P{Is_Numeric_Value=02_9}', "");
-Expect(0, 12888, '\P{^Is_Numeric_Value=02_9}', "");
-Error('\p{Is_Nv=- 00:=0000 029}');
-Error('\P{Is_Nv=- 00:=0000 029}');
-Expect(1, 12889, '\p{Is_Nv=+000029}', "");
-Expect(0, 12889, '\p{^Is_Nv=+000029}', "");
-Expect(0, 12889, '\P{Is_Nv=+000029}', "");
-Expect(1, 12889, '\P{^Is_Nv=+000029}', "");
-Expect(0, 12888, '\p{Is_Nv=+000029}', "");
-Expect(1, 12888, '\p{^Is_Nv=+000029}', "");
-Expect(1, 12888, '\P{Is_Nv=+000029}', "");
-Expect(0, 12888, '\P{^Is_Nv=+000029}', "");
-Error('\p{Numeric_Value=/a/- 000000100000}');
-Error('\P{Numeric_Value=/a/- 000000100000}');
-Expect(1, 8584, '\p{Numeric_Value=010000_0}', "");
-Expect(0, 8584, '\p{^Numeric_Value=010000_0}', "");
-Expect(0, 8584, '\P{Numeric_Value=010000_0}', "");
-Expect(1, 8584, '\P{^Numeric_Value=010000_0}', "");
-Expect(0, 8583, '\p{Numeric_Value=010000_0}', "");
-Expect(1, 8583, '\p{^Numeric_Value=010000_0}', "");
-Expect(1, 8583, '\P{Numeric_Value=010000_0}', "");
-Expect(0, 8583, '\P{^Numeric_Value=010000_0}', "");
-Error('\p{Nv=/a/000000000100000}');
-Error('\P{Nv=/a/000000000100000}');
-Expect(1, 8584, '\p{Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(0, 8584, '\p{^Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(0, 8584, '\P{Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(1, 8584, '\P{^Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(0, 8583, '\p{Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(1, 8583, '\p{^Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(1, 8583, '\P{Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Expect(0, 8583, '\P{^Nv=0_0_0_0_0_1_0_0_0_00}', "");
-Error('\p{Is_Numeric_Value= _0:=0_0_0 0_0-0_0-0 1-00 000}');
-Error('\P{Is_Numeric_Value= _0:=0_0_0 0_0-0_0-0 1-00 000}');
-Expect(1, 8584, '\p{Is_Numeric_Value:100000}', "");
-Expect(0, 8584, '\p{^Is_Numeric_Value:100000}', "");
-Expect(0, 8584, '\P{Is_Numeric_Value:100000}', "");
-Expect(1, 8584, '\P{^Is_Numeric_Value:100000}', "");
-Expect(0, 8583, '\p{Is_Numeric_Value:100000}', "");
-Expect(1, 8583, '\p{^Is_Numeric_Value:100000}', "");
-Expect(1, 8583, '\P{Is_Numeric_Value:100000}', "");
-Expect(0, 8583, '\P{^Is_Numeric_Value:100000}', "");
-Error('\p{Is_Nv=_/a/0000000100000}');
-Error('\P{Is_Nv=_/a/0000000100000}');
-Expect(1, 8584, '\p{Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(0, 8584, '\p{^Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(0, 8584, '\P{Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(1, 8584, '\P{^Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(0, 8583, '\p{Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(1, 8583, '\p{^Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(1, 8583, '\P{Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Expect(0, 8583, '\P{^Is_Nv=+0_0_0_0_0_1_0_0_000}', "");
-Error('\p{Numeric_Value= /a/0-0 0-0-050}');
-Error('\P{Numeric_Value= /a/0-0 0-0-050}');
-Expect(1, 4982, '\p{Numeric_Value=+05_0}', "");
-Expect(0, 4982, '\p{^Numeric_Value=+05_0}', "");
-Expect(0, 4982, '\P{Numeric_Value=+05_0}', "");
-Expect(1, 4982, '\P{^Numeric_Value=+05_0}', "");
-Expect(0, 4981, '\p{Numeric_Value=+05_0}', "");
-Expect(1, 4981, '\p{^Numeric_Value=+05_0}', "");
-Expect(1, 4981, '\P{Numeric_Value=+05_0}', "");
-Expect(0, 4981, '\P{^Numeric_Value=+05_0}', "");
-Error('\p{Nv=_/a/0000050}');
-Error('\P{Nv=_/a/0000050}');
-Expect(1, 4982, '\p{Nv=05_0}', "");
-Expect(0, 4982, '\p{^Nv=05_0}', "");
-Expect(0, 4982, '\P{Nv=05_0}', "");
-Expect(1, 4982, '\P{^Nv=05_0}', "");
-Expect(0, 4981, '\p{Nv=05_0}', "");
-Expect(1, 4981, '\p{^Nv=05_0}', "");
-Expect(1, 4981, '\P{Nv=05_0}', "");
-Expect(0, 4981, '\P{^Nv=05_0}', "");
-Error('\p{Is_Numeric_Value= 00000050/a/}');
-Error('\P{Is_Numeric_Value= 00000050/a/}');
-Expect(1, 4982, '\p{Is_Numeric_Value=0_0_50}', "");
-Expect(0, 4982, '\p{^Is_Numeric_Value=0_0_50}', "");
-Expect(0, 4982, '\P{Is_Numeric_Value=0_0_50}', "");
-Expect(1, 4982, '\P{^Is_Numeric_Value=0_0_50}', "");
-Expect(0, 4981, '\p{Is_Numeric_Value=0_0_50}', "");
-Expect(1, 4981, '\p{^Is_Numeric_Value=0_0_50}', "");
-Expect(1, 4981, '\P{Is_Numeric_Value=0_0_50}', "");
-Expect(0, 4981, '\P{^Is_Numeric_Value=0_0_50}', "");
-Error('\p{Is_Nv=/a/- +00000050}');
-Error('\P{Is_Nv=/a/- +00000050}');
-Expect(1, 4982, '\p{Is_Nv=0000050}', "");
-Expect(0, 4982, '\p{^Is_Nv=0000050}', "");
-Expect(0, 4982, '\P{Is_Nv=0000050}', "");
-Expect(1, 4982, '\P{^Is_Nv=0000050}', "");
-Expect(0, 4981, '\p{Is_Nv=0000050}', "");
-Expect(1, 4981, '\p{^Is_Nv=0000050}', "");
-Expect(1, 4981, '\P{Is_Nv=0000050}', "");
-Expect(0, 4981, '\P{^Is_Nv=0000050}', "");
-Error('\p{Numeric_Value= /a/+39}');
-Error('\P{Numeric_Value= /a/+39}');
-Expect(1, 12980, '\p{Numeric_Value=000000039}', "");
-Expect(0, 12980, '\p{^Numeric_Value=000000039}', "");
-Expect(0, 12980, '\P{Numeric_Value=000000039}', "");
-Expect(1, 12980, '\P{^Numeric_Value=000000039}', "");
-Expect(0, 12979, '\p{Numeric_Value=000000039}', "");
-Expect(1, 12979, '\p{^Numeric_Value=000000039}', "");
-Expect(1, 12979, '\P{Numeric_Value=000000039}', "");
-Expect(0, 12979, '\P{^Numeric_Value=000000039}', "");
-Error('\p{Nv=__00039:=}');
-Error('\P{Nv=__00039:=}');
-Expect(1, 12980, '\p{Nv=+0000000039}', "");
-Expect(0, 12980, '\p{^Nv=+0000000039}', "");
-Expect(0, 12980, '\P{Nv=+0000000039}', "");
-Expect(1, 12980, '\P{^Nv=+0000000039}', "");
-Expect(0, 12979, '\p{Nv=+0000000039}', "");
-Expect(1, 12979, '\p{^Nv=+0000000039}', "");
-Expect(1, 12979, '\P{Nv=+0000000039}', "");
-Expect(0, 12979, '\P{^Nv=+0000000039}', "");
-Error('\p{Is_Numeric_Value=:=+000039}');
-Error('\P{Is_Numeric_Value=:=+000039}');
-Expect(1, 12980, '\p{Is_Numeric_Value=+00000000039}', "");
-Expect(0, 12980, '\p{^Is_Numeric_Value=+00000000039}', "");
-Expect(0, 12980, '\P{Is_Numeric_Value=+00000000039}', "");
-Expect(1, 12980, '\P{^Is_Numeric_Value=+00000000039}', "");
-Expect(0, 12979, '\p{Is_Numeric_Value=+00000000039}', "");
-Expect(1, 12979, '\p{^Is_Numeric_Value=+00000000039}', "");
-Expect(1, 12979, '\P{Is_Numeric_Value=+00000000039}', "");
-Expect(0, 12979, '\P{^Is_Numeric_Value=+00000000039}', "");
-Error('\p{Is_Nv:-/a/0 0 0 0-000 0_039}');
-Error('\P{Is_Nv:-/a/0 0 0 0-000 0_039}');
-Expect(1, 12980, '\p{Is_Nv=0000_0000_39}', "");
-Expect(0, 12980, '\p{^Is_Nv=0000_0000_39}', "");
-Expect(0, 12980, '\P{Is_Nv=0000_0000_39}', "");
-Expect(1, 12980, '\P{^Is_Nv=0000_0000_39}', "");
-Expect(0, 12979, '\p{Is_Nv=0000_0000_39}', "");
-Expect(1, 12979, '\p{^Is_Nv=0000_0000_39}', "");
-Expect(1, 12979, '\P{Is_Nv=0000_0000_39}', "");
-Expect(0, 12979, '\P{^Is_Nv=0000_0000_39}', "");
-Error('\p{Numeric_Value=:=000000001/0016}');
-Error('\P{Numeric_Value=:=000000001/0016}');
-Expect(1, 2548, '\p{Numeric_Value=0001/0016}', "");
-Expect(0, 2548, '\p{^Numeric_Value=0001/0016}', "");
-Expect(0, 2548, '\P{Numeric_Value=0001/0016}', "");
-Expect(1, 2548, '\P{^Numeric_Value=0001/0016}', "");
-Expect(0, 2547, '\p{Numeric_Value=0001/0016}', "");
-Expect(1, 2547, '\p{^Numeric_Value=0001/0016}', "");
-Expect(1, 2547, '\P{Numeric_Value=0001/0016}', "");
-Expect(0, 2547, '\P{^Numeric_Value=0001/0016}', "");
-Error('\p{Numeric_Value=0.06}');
-Error('\P{Numeric_Value=0.06}');
-Expect(1, 2548, '\p{Numeric_Value=0.062}', "");
-Expect(0, 2548, '\p{^Numeric_Value=0.062}', "");
-Expect(0, 2548, '\P{Numeric_Value=0.062}', "");
-Expect(1, 2548, '\P{^Numeric_Value=0.062}', "");
-Expect(0, 2547, '\p{Numeric_Value=0.062}', "");
-Expect(1, 2547, '\p{^Numeric_Value=0.062}', "");
-Expect(1, 2547, '\P{Numeric_Value=0.062}', "");
-Expect(0, 2547, '\P{^Numeric_Value=0.062}', "");
-Error('\p{Nv= :=00000001/016}');
-Error('\P{Nv= :=00000001/016}');
-Expect(1, 2548, '\p{Nv: +01/00016}', "");
-Expect(0, 2548, '\p{^Nv: +01/00016}', "");
-Expect(0, 2548, '\P{Nv: +01/00016}', "");
-Expect(1, 2548, '\P{^Nv: +01/00016}', "");
-Expect(0, 2547, '\p{Nv: +01/00016}', "");
-Expect(1, 2547, '\p{^Nv: +01/00016}', "");
-Expect(1, 2547, '\P{Nv: +01/00016}', "");
-Expect(0, 2547, '\P{^Nv: +01/00016}', "");
-Error('\p{Nv=0.06}');
-Error('\P{Nv=0.06}');
-Expect(1, 2548, '\p{Nv=0.062}', "");
-Expect(0, 2548, '\p{^Nv=0.062}', "");
-Expect(0, 2548, '\P{Nv=0.062}', "");
-Expect(1, 2548, '\P{^Nv=0.062}', "");
-Expect(0, 2547, '\p{Nv=0.062}', "");
-Expect(1, 2547, '\p{^Nv=0.062}', "");
-Expect(1, 2547, '\P{Nv=0.062}', "");
-Expect(0, 2547, '\P{^Nv=0.062}', "");
-Error('\p{Is_Numeric_Value= 000001/016/a/}');
-Error('\P{Is_Numeric_Value= 000001/016/a/}');
-Expect(1, 2548, '\p{Is_Numeric_Value=000000001/16}', "");
-Expect(0, 2548, '\p{^Is_Numeric_Value=000000001/16}', "");
-Expect(0, 2548, '\P{Is_Numeric_Value=000000001/16}', "");
-Expect(1, 2548, '\P{^Is_Numeric_Value=000000001/16}', "");
-Expect(0, 2547, '\p{Is_Numeric_Value=000000001/16}', "");
-Expect(1, 2547, '\p{^Is_Numeric_Value=000000001/16}', "");
-Expect(1, 2547, '\P{Is_Numeric_Value=000000001/16}', "");
-Expect(0, 2547, '\P{^Is_Numeric_Value=000000001/16}', "");
-Error('\p{Is_Numeric_Value=0.06}');
-Error('\P{Is_Numeric_Value=0.06}');
-Expect(1, 2548, '\p{Is_Numeric_Value=0.062}', "");
-Expect(0, 2548, '\p{^Is_Numeric_Value=0.062}', "");
-Expect(0, 2548, '\P{Is_Numeric_Value=0.062}', "");
-Expect(1, 2548, '\P{^Is_Numeric_Value=0.062}', "");
-Expect(0, 2547, '\p{Is_Numeric_Value=0.062}', "");
-Expect(1, 2547, '\p{^Is_Numeric_Value=0.062}', "");
-Expect(1, 2547, '\P{Is_Numeric_Value=0.062}', "");
-Expect(0, 2547, '\P{^Is_Numeric_Value=0.062}', "");
-Error('\p{Is_Nv=:=00001/000000016}');
-Error('\P{Is_Nv=:=00001/000000016}');
-Expect(1, 2548, '\p{Is_Nv=+000001/016}', "");
-Expect(0, 2548, '\p{^Is_Nv=+000001/016}', "");
-Expect(0, 2548, '\P{Is_Nv=+000001/016}', "");
-Expect(1, 2548, '\P{^Is_Nv=+000001/016}', "");
-Expect(0, 2547, '\p{Is_Nv=+000001/016}', "");
-Expect(1, 2547, '\p{^Is_Nv=+000001/016}', "");
-Expect(1, 2547, '\P{Is_Nv=+000001/016}', "");
-Expect(0, 2547, '\P{^Is_Nv=+000001/016}', "");
-Error('\p{Is_Nv=0.06}');
-Error('\P{Is_Nv=0.06}');
-Expect(1, 2548, '\p{Is_Nv=0.062}', "");
-Expect(0, 2548, '\p{^Is_Nv=0.062}', "");
-Expect(0, 2548, '\P{Is_Nv=0.062}', "");
-Expect(1, 2548, '\P{^Is_Nv=0.062}', "");
-Expect(0, 2547, '\p{Is_Nv=0.062}', "");
-Expect(1, 2547, '\p{^Is_Nv=0.062}', "");
-Expect(1, 2547, '\P{Is_Nv=0.062}', "");
-Expect(0, 2547, '\P{^Is_Nv=0.062}', "");
-Error('\p{Numeric_Value=/a/_0003/02}');
-Error('\P{Numeric_Value=/a/_0003/02}');
-Expect(1, 3883, '\p{Numeric_Value=000000003/00002}', "");
-Expect(0, 3883, '\p{^Numeric_Value=000000003/00002}', "");
-Expect(0, 3883, '\P{Numeric_Value=000000003/00002}', "");
-Expect(1, 3883, '\P{^Numeric_Value=000000003/00002}', "");
-Expect(0, 3882, '\p{Numeric_Value=000000003/00002}', "");
-Expect(1, 3882, '\p{^Numeric_Value=000000003/00002}', "");
-Expect(1, 3882, '\P{Numeric_Value=000000003/00002}', "");
-Expect(0, 3882, '\P{^Numeric_Value=000000003/00002}', "");
-Expect(1, 3883, '\p{Numeric_Value=1.500}', "");
-Expect(0, 3883, '\p{^Numeric_Value=1.500}', "");
-Expect(0, 3883, '\P{Numeric_Value=1.500}', "");
-Expect(1, 3883, '\P{^Numeric_Value=1.500}', "");
-Expect(0, 3882, '\p{Numeric_Value=1.500}', "");
-Expect(1, 3882, '\p{^Numeric_Value=1.500}', "");
-Expect(1, 3882, '\P{Numeric_Value=1.500}', "");
-Expect(0, 3882, '\P{^Numeric_Value=1.500}', "");
-Error('\p{Nv=/a/__+000003/02}');
-Error('\P{Nv=/a/__+000003/02}');
-Expect(1, 3883, '\p{Nv=00003/02}', "");
-Expect(0, 3883, '\p{^Nv=00003/02}', "");
-Expect(0, 3883, '\P{Nv=00003/02}', "");
-Expect(1, 3883, '\P{^Nv=00003/02}', "");
-Expect(0, 3882, '\p{Nv=00003/02}', "");
-Expect(1, 3882, '\p{^Nv=00003/02}', "");
-Expect(1, 3882, '\P{Nv=00003/02}', "");
-Expect(0, 3882, '\P{^Nv=00003/02}', "");
-Expect(1, 3883, '\p{Nv=1.500}', "");
-Expect(0, 3883, '\p{^Nv=1.500}', "");
-Expect(0, 3883, '\P{Nv=1.500}', "");
-Expect(1, 3883, '\P{^Nv=1.500}', "");
-Expect(0, 3882, '\p{Nv=1.500}', "");
-Expect(1, 3882, '\p{^Nv=1.500}', "");
-Expect(1, 3882, '\P{Nv=1.500}', "");
-Expect(0, 3882, '\P{^Nv=1.500}', "");
-Error('\p{Is_Numeric_Value=:= -000000003/002}');
-Error('\P{Is_Numeric_Value=:= -000000003/002}');
-Expect(1, 3883, '\p{Is_Numeric_Value=003/0000002}', "");
-Expect(0, 3883, '\p{^Is_Numeric_Value=003/0000002}', "");
-Expect(0, 3883, '\P{Is_Numeric_Value=003/0000002}', "");
-Expect(1, 3883, '\P{^Is_Numeric_Value=003/0000002}', "");
-Expect(0, 3882, '\p{Is_Numeric_Value=003/0000002}', "");
-Expect(1, 3882, '\p{^Is_Numeric_Value=003/0000002}', "");
-Expect(1, 3882, '\P{Is_Numeric_Value=003/0000002}', "");
-Expect(0, 3882, '\P{^Is_Numeric_Value=003/0000002}', "");
-Expect(1, 3883, '\p{Is_Numeric_Value=1.500}', "");
-Expect(0, 3883, '\p{^Is_Numeric_Value=1.500}', "");
-Expect(0, 3883, '\P{Is_Numeric_Value=1.500}', "");
-Expect(1, 3883, '\P{^Is_Numeric_Value=1.500}', "");
-Expect(0, 3882, '\p{Is_Numeric_Value=1.500}', "");
-Expect(1, 3882, '\p{^Is_Numeric_Value=1.500}', "");
-Expect(1, 3882, '\P{Is_Numeric_Value=1.500}', "");
-Expect(0, 3882, '\P{^Is_Numeric_Value=1.500}', "");
-Error('\p{Is_Nv=/a/ 00003/00000002}');
-Error('\P{Is_Nv=/a/ 00003/00000002}');
-Expect(1, 3883, '\p{Is_Nv=0000003/000002}', "");
-Expect(0, 3883, '\p{^Is_Nv=0000003/000002}', "");
-Expect(0, 3883, '\P{Is_Nv=0000003/000002}', "");
-Expect(1, 3883, '\P{^Is_Nv=0000003/000002}', "");
-Expect(0, 3882, '\p{Is_Nv=0000003/000002}', "");
-Expect(1, 3882, '\p{^Is_Nv=0000003/000002}', "");
-Expect(1, 3882, '\P{Is_Nv=0000003/000002}', "");
-Expect(0, 3882, '\P{^Is_Nv=0000003/000002}', "");
-Expect(1, 3883, '\p{Is_Nv=1.500}', "");
-Expect(0, 3883, '\p{^Is_Nv=1.500}', "");
-Expect(0, 3883, '\P{Is_Nv=1.500}', "");
-Expect(1, 3883, '\P{^Is_Nv=1.500}', "");
-Expect(0, 3882, '\p{Is_Nv=1.500}', "");
-Expect(1, 3882, '\p{^Is_Nv=1.500}', "");
-Expect(1, 3882, '\P{Is_Nv=1.500}', "");
-Expect(0, 3882, '\P{^Is_Nv=1.500}', "");
-Error('\p{Numeric_Value=:=+0_0 0_0-041}');
-Error('\P{Numeric_Value=:=+0_0 0_0-041}');
-Expect(1, 12982, '\p{Numeric_Value=+004_1}', "");
-Expect(0, 12982, '\p{^Numeric_Value=+004_1}', "");
-Expect(0, 12982, '\P{Numeric_Value=+004_1}', "");
-Expect(1, 12982, '\P{^Numeric_Value=+004_1}', "");
-Expect(0, 12981, '\p{Numeric_Value=+004_1}', "");
-Expect(1, 12981, '\p{^Numeric_Value=+004_1}', "");
-Expect(1, 12981, '\P{Numeric_Value=+004_1}', "");
-Expect(0, 12981, '\P{^Numeric_Value=+004_1}', "");
-Error('\p{Nv=/a/ 0000000041}');
-Error('\P{Nv=/a/ 0000000041}');
-Expect(1, 12982, '\p{Nv=+000041}', "");
-Expect(0, 12982, '\p{^Nv=+000041}', "");
-Expect(0, 12982, '\P{Nv=+000041}', "");
-Expect(1, 12982, '\P{^Nv=+000041}', "");
-Expect(0, 12981, '\p{Nv=+000041}', "");
-Expect(1, 12981, '\p{^Nv=+000041}', "");
-Expect(1, 12981, '\P{Nv=+000041}', "");
-Expect(0, 12981, '\P{^Nv=+000041}', "");
-Error('\p{Is_Numeric_Value= :=+00004-1}');
-Error('\P{Is_Numeric_Value= :=+00004-1}');
-Expect(1, 12982, '\p{Is_Numeric_Value=0041}', "");
-Expect(0, 12982, '\p{^Is_Numeric_Value=0041}', "");
-Expect(0, 12982, '\P{Is_Numeric_Value=0041}', "");
-Expect(1, 12982, '\P{^Is_Numeric_Value=0041}', "");
-Expect(0, 12981, '\p{Is_Numeric_Value=0041}', "");
-Expect(1, 12981, '\p{^Is_Numeric_Value=0041}', "");
-Expect(1, 12981, '\P{Is_Numeric_Value=0041}', "");
-Expect(0, 12981, '\P{^Is_Numeric_Value=0041}', "");
-Error('\p{Is_Nv=/a/ 000041}');
-Error('\P{Is_Nv=/a/ 000041}');
-Expect(1, 12982, '\p{Is_Nv=04_1}', "");
-Expect(0, 12982, '\p{^Is_Nv=04_1}', "");
-Expect(0, 12982, '\P{Is_Nv=04_1}', "");
-Expect(1, 12982, '\P{^Is_Nv=04_1}', "");
-Expect(0, 12981, '\p{Is_Nv=04_1}', "");
-Expect(1, 12981, '\p{^Is_Nv=04_1}', "");
-Expect(1, 12981, '\P{Is_Nv=04_1}', "");
-Expect(0, 12981, '\P{^Is_Nv=04_1}', "");
-Error('\p{Numeric_Value= 00012:=}');
-Error('\P{Numeric_Value= 00012:=}');
-Expect(1, 8555, '\p{Numeric_Value=000_000_001_2}', "");
-Expect(0, 8555, '\p{^Numeric_Value=000_000_001_2}', "");
-Expect(0, 8555, '\P{Numeric_Value=000_000_001_2}', "");
-Expect(1, 8555, '\P{^Numeric_Value=000_000_001_2}', "");
-Expect(0, 8554, '\p{Numeric_Value=000_000_001_2}', "");
-Expect(1, 8554, '\p{^Numeric_Value=000_000_001_2}', "");
-Expect(1, 8554, '\P{Numeric_Value=000_000_001_2}', "");
-Expect(0, 8554, '\P{^Numeric_Value=000_000_001_2}', "");
-Error('\p{Nv=:= -1-2}');
-Error('\P{Nv=:= -1-2}');
-Expect(1, 8555, '\p{Nv:000012}', "");
-Expect(0, 8555, '\p{^Nv:000012}', "");
-Expect(0, 8555, '\P{Nv:000012}', "");
-Expect(1, 8555, '\P{^Nv:000012}', "");
-Expect(0, 8554, '\p{Nv:000012}', "");
-Expect(1, 8554, '\p{^Nv:000012}', "");
-Expect(1, 8554, '\P{Nv:000012}', "");
-Expect(0, 8554, '\P{^Nv:000012}', "");
-Error('\p{Is_Numeric_Value=:= 00012}');
-Error('\P{Is_Numeric_Value=:= 00012}');
-Expect(1, 8555, '\p{Is_Numeric_Value: 12}', "");
-Expect(0, 8555, '\p{^Is_Numeric_Value: 12}', "");
-Expect(0, 8555, '\P{Is_Numeric_Value: 12}', "");
-Expect(1, 8555, '\P{^Is_Numeric_Value: 12}', "");
-Expect(0, 8554, '\p{Is_Numeric_Value: 12}', "");
-Expect(1, 8554, '\p{^Is_Numeric_Value: 12}', "");
-Expect(1, 8554, '\P{Is_Numeric_Value: 12}', "");
-Expect(0, 8554, '\P{^Is_Numeric_Value: 12}', "");
-Error('\p{Is_Nv= 00:=012}');
-Error('\P{Is_Nv= 00:=012}');
-Expect(1, 8555, '\p{Is_Nv=+0_0_12}', "");
-Expect(0, 8555, '\p{^Is_Nv=+0_0_12}', "");
-Expect(0, 8555, '\P{Is_Nv=+0_0_12}', "");
-Expect(1, 8555, '\P{^Is_Nv=+0_0_12}', "");
-Expect(0, 8554, '\p{Is_Nv=+0_0_12}', "");
-Expect(1, 8554, '\p{^Is_Nv=+0_0_12}', "");
-Expect(1, 8554, '\P{Is_Nv=+0_0_12}', "");
-Expect(0, 8554, '\P{^Is_Nv=+0_0_12}', "");
-Error('\p{Numeric_Value= /a/+15}');
-Error('\P{Numeric_Value= /a/+15}');
-Expect(1, 9326, '\p{Numeric_Value: +0000000015}', "");
-Expect(0, 9326, '\p{^Numeric_Value: +0000000015}', "");
-Expect(0, 9326, '\P{Numeric_Value: +0000000015}', "");
-Expect(1, 9326, '\P{^Numeric_Value: +0000000015}', "");
-Expect(0, 9325, '\p{Numeric_Value: +0000000015}', "");
-Expect(1, 9325, '\p{^Numeric_Value: +0000000015}', "");
-Expect(1, 9325, '\P{Numeric_Value: +0000000015}', "");
-Expect(0, 9325, '\P{^Numeric_Value: +0000000015}', "");
-Error('\p{Nv=-:=0 00_0-0 0 15}');
-Error('\P{Nv=-:=0 00_0-0 0 15}');
-Expect(1, 9326, '\p{Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(0, 9326, '\p{^Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(0, 9326, '\P{Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(1, 9326, '\P{^Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(0, 9325, '\p{Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(1, 9325, '\p{^Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(1, 9325, '\P{Nv=0_0_0_0_0_0_0_0015}', "");
-Expect(0, 9325, '\P{^Nv=0_0_0_0_0_0_0_0015}', "");
-Error('\p{Is_Numeric_Value=-:=+00015}');
-Error('\P{Is_Numeric_Value=-:=+00015}');
-Expect(1, 9326, '\p{Is_Numeric_Value=000001_5}', "");
-Expect(0, 9326, '\p{^Is_Numeric_Value=000001_5}', "");
-Expect(0, 9326, '\P{Is_Numeric_Value=000001_5}', "");
-Expect(1, 9326, '\P{^Is_Numeric_Value=000001_5}', "");
-Expect(0, 9325, '\p{Is_Numeric_Value=000001_5}', "");
-Expect(1, 9325, '\p{^Is_Numeric_Value=000001_5}', "");
-Expect(1, 9325, '\P{Is_Numeric_Value=000001_5}', "");
-Expect(0, 9325, '\P{^Is_Numeric_Value=000001_5}', "");
-Error('\p{Is_Nv= :=+1-5}');
-Error('\P{Is_Nv= :=+1-5}');
-Expect(1, 9326, '\p{Is_Nv=00015}', "");
-Expect(0, 9326, '\p{^Is_Nv=00015}', "");
-Expect(0, 9326, '\P{Is_Nv=00015}', "");
-Expect(1, 9326, '\P{^Is_Nv=00015}', "");
-Expect(0, 9325, '\p{Is_Nv=00015}', "");
-Expect(1, 9325, '\p{^Is_Nv=00015}', "");
-Expect(1, 9325, '\P{Is_Nv=00015}', "");
-Expect(0, 9325, '\P{^Is_Nv=00015}', "");
-Error('\p{Numeric_Value: /a/ _-001/00002}');
-Error('\P{Numeric_Value: /a/ _-001/00002}');
-Expect(1, 3891, '\p{Numeric_Value=-1/000002}', "");
-Expect(0, 3891, '\p{^Numeric_Value=-1/000002}', "");
-Expect(0, 3891, '\P{Numeric_Value=-1/000002}', "");
-Expect(1, 3891, '\P{^Numeric_Value=-1/000002}', "");
-Expect(0, 3890, '\p{Numeric_Value=-1/000002}', "");
-Expect(1, 3890, '\p{^Numeric_Value=-1/000002}', "");
-Expect(1, 3890, '\P{Numeric_Value=-1/000002}', "");
-Expect(0, 3890, '\P{^Numeric_Value=-1/000002}', "");
-Expect(1, 3891, '\p{Numeric_Value=-0.500}', "");
-Expect(0, 3891, '\p{^Numeric_Value=-0.500}', "");
-Expect(0, 3891, '\P{Numeric_Value=-0.500}', "");
-Expect(1, 3891, '\P{^Numeric_Value=-0.500}', "");
-Expect(0, 3890, '\p{Numeric_Value=-0.500}', "");
-Expect(1, 3890, '\p{^Numeric_Value=-0.500}', "");
-Expect(1, 3890, '\P{Numeric_Value=-0.500}', "");
-Expect(0, 3890, '\P{^Numeric_Value=-0.500}', "");
-Error('\p{Nv=/a/__0001/00002}');
-Error('\P{Nv=/a/__0001/00002}');
-Expect(1, 3891, '\p{Nv=-001/000000002}', "");
-Expect(0, 3891, '\p{^Nv=-001/000000002}', "");
-Expect(0, 3891, '\P{Nv=-001/000000002}', "");
-Expect(1, 3891, '\P{^Nv=-001/000000002}', "");
-Expect(0, 3890, '\p{Nv=-001/000000002}', "");
-Expect(1, 3890, '\p{^Nv=-001/000000002}', "");
-Expect(1, 3890, '\P{Nv=-001/000000002}', "");
-Expect(0, 3890, '\P{^Nv=-001/000000002}', "");
-Expect(1, 3891, '\p{Nv=-0.500}', "");
-Expect(0, 3891, '\p{^Nv=-0.500}', "");
-Expect(0, 3891, '\P{Nv=-0.500}', "");
-Expect(1, 3891, '\P{^Nv=-0.500}', "");
-Expect(0, 3890, '\p{Nv=-0.500}', "");
-Expect(1, 3890, '\p{^Nv=-0.500}', "");
-Expect(1, 3890, '\P{Nv=-0.500}', "");
-Expect(0, 3890, '\P{^Nv=-0.500}', "");
-Error('\p{Is_Numeric_Value=:= 00000001/0000002}');
-Error('\P{Is_Numeric_Value=:= 00000001/0000002}');
-Expect(1, 3891, '\p{Is_Numeric_Value=-0000000001/02}', "");
-Expect(0, 3891, '\p{^Is_Numeric_Value=-0000000001/02}', "");
-Expect(0, 3891, '\P{Is_Numeric_Value=-0000000001/02}', "");
-Expect(1, 3891, '\P{^Is_Numeric_Value=-0000000001/02}', "");
-Expect(0, 3890, '\p{Is_Numeric_Value=-0000000001/02}', "");
-Expect(1, 3890, '\p{^Is_Numeric_Value=-0000000001/02}', "");
-Expect(1, 3890, '\P{Is_Numeric_Value=-0000000001/02}', "");
-Expect(0, 3890, '\P{^Is_Numeric_Value=-0000000001/02}', "");
-Expect(1, 3891, '\p{Is_Numeric_Value=-0.500}', "");
-Expect(0, 3891, '\p{^Is_Numeric_Value=-0.500}', "");
-Expect(0, 3891, '\P{Is_Numeric_Value=-0.500}', "");
-Expect(1, 3891, '\P{^Is_Numeric_Value=-0.500}', "");
-Expect(0, 3890, '\p{Is_Numeric_Value=-0.500}', "");
-Expect(1, 3890, '\p{^Is_Numeric_Value=-0.500}', "");
-Expect(1, 3890, '\P{Is_Numeric_Value=-0.500}', "");
-Expect(0, 3890, '\P{^Is_Numeric_Value=-0.500}', "");
-Error('\p{Is_Nv=/a/ 00001/000002}');
-Error('\P{Is_Nv=/a/ 00001/000002}');
-Expect(1, 3891, '\p{Is_Nv=-1/0000002}', "");
-Expect(0, 3891, '\p{^Is_Nv=-1/0000002}', "");
-Expect(0, 3891, '\P{Is_Nv=-1/0000002}', "");
-Expect(1, 3891, '\P{^Is_Nv=-1/0000002}', "");
-Expect(0, 3890, '\p{Is_Nv=-1/0000002}', "");
-Expect(1, 3890, '\p{^Is_Nv=-1/0000002}', "");
-Expect(1, 3890, '\P{Is_Nv=-1/0000002}', "");
-Expect(0, 3890, '\P{^Is_Nv=-1/0000002}', "");
-Expect(1, 3891, '\p{Is_Nv=-0.500}', "");
-Expect(0, 3891, '\p{^Is_Nv=-0.500}', "");
-Expect(0, 3891, '\P{Is_Nv=-0.500}', "");
-Expect(1, 3891, '\P{^Is_Nv=-0.500}', "");
-Expect(0, 3890, '\p{Is_Nv=-0.500}', "");
-Expect(1, 3890, '\p{^Is_Nv=-0.500}', "");
-Expect(1, 3890, '\P{Is_Nv=-0.500}', "");
-Expect(0, 3890, '\P{^Is_Nv=-0.500}', "");
-Error('\p{Numeric_Value= +00000080000:=}');
-Error('\P{Numeric_Value= +00000080000:=}');
-Expect(1, 65842, '\p{Numeric_Value=0_0_0_8_0000}', "");
-Expect(0, 65842, '\p{^Numeric_Value=0_0_0_8_0000}', "");
-Expect(0, 65842, '\P{Numeric_Value=0_0_0_8_0000}', "");
-Expect(1, 65842, '\P{^Numeric_Value=0_0_0_8_0000}', "");
-Expect(0, 65841, '\p{Numeric_Value=0_0_0_8_0000}', "");
-Expect(1, 65841, '\p{^Numeric_Value=0_0_0_8_0000}', "");
-Expect(1, 65841, '\P{Numeric_Value=0_0_0_8_0000}', "");
-Expect(0, 65841, '\P{^Numeric_Value=0_0_0_8_0000}', "");
-Error('\p{Nv: 0/a/0 0_0 8-0-0-00}');
-Error('\P{Nv: 0/a/0 0_0 8-0-0-00}');
-Expect(1, 65842, '\p{Nv=+080000}', "");
-Expect(0, 65842, '\p{^Nv=+080000}', "");
-Expect(0, 65842, '\P{Nv=+080000}', "");
-Expect(1, 65842, '\P{^Nv=+080000}', "");
-Expect(0, 65841, '\p{Nv=+080000}', "");
-Expect(1, 65841, '\p{^Nv=+080000}', "");
-Expect(1, 65841, '\P{Nv=+080000}', "");
-Expect(0, 65841, '\P{^Nv=+080000}', "");
-Error('\p{Is_Numeric_Value= :=+000000080000}');
-Error('\P{Is_Numeric_Value= :=+000000080000}');
-Expect(1, 65842, '\p{Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(0, 65842, '\p{^Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(0, 65842, '\P{Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(1, 65842, '\P{^Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(0, 65841, '\p{Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(1, 65841, '\p{^Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(1, 65841, '\P{Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Expect(0, 65841, '\P{^Is_Numeric_Value=00_00_00_00_08_0000}', "");
-Error('\p{Is_Nv=:=_ +0000080000}');
-Error('\P{Is_Nv=:=_ +0000080000}');
-Expect(1, 65842, '\p{Is_Nv=080000}', "");
-Expect(0, 65842, '\p{^Is_Nv=080000}', "");
-Expect(0, 65842, '\P{Is_Nv=080000}', "");
-Expect(1, 65842, '\P{^Is_Nv=080000}', "");
-Expect(0, 65841, '\p{Is_Nv=080000}', "");
-Expect(1, 65841, '\p{^Is_Nv=080000}', "");
-Expect(1, 65841, '\P{Is_Nv=080000}', "");
-Expect(0, 65841, '\P{^Is_Nv=080000}', "");
-Error('\p{Numeric_Value= /a/00 0-0_00_00060}');
-Error('\P{Numeric_Value= /a/00 0-0_00_00060}');
-Expect(1, 4983, '\p{Numeric_Value=00000006_0}', "");
-Expect(0, 4983, '\p{^Numeric_Value=00000006_0}', "");
-Expect(0, 4983, '\P{Numeric_Value=00000006_0}', "");
-Expect(1, 4983, '\P{^Numeric_Value=00000006_0}', "");
-Expect(0, 4982, '\p{Numeric_Value=00000006_0}', "");
-Expect(1, 4982, '\p{^Numeric_Value=00000006_0}', "");
-Expect(1, 4982, '\P{Numeric_Value=00000006_0}', "");
-Expect(0, 4982, '\P{^Numeric_Value=00000006_0}', "");
-Error('\p{Nv= /a/0 0 60}');
-Error('\P{Nv= /a/0 0 60}');
-Expect(1, 4983, '\p{Nv=0_0_0_0_60}', "");
-Expect(0, 4983, '\p{^Nv=0_0_0_0_60}', "");
-Expect(0, 4983, '\P{Nv=0_0_0_0_60}', "");
-Expect(1, 4983, '\P{^Nv=0_0_0_0_60}', "");
-Expect(0, 4982, '\p{Nv=0_0_0_0_60}', "");
-Expect(1, 4982, '\p{^Nv=0_0_0_0_60}', "");
-Expect(1, 4982, '\P{Nv=0_0_0_0_60}', "");
-Expect(0, 4982, '\P{^Nv=0_0_0_0_60}', "");
-Error('\p{Is_Numeric_Value=_/a/+060}');
-Error('\P{Is_Numeric_Value=_/a/+060}');
-Expect(1, 4983, '\p{Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(0, 4983, '\p{^Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(0, 4983, '\P{Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(1, 4983, '\P{^Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(0, 4982, '\p{Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(1, 4982, '\p{^Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(1, 4982, '\P{Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Expect(0, 4982, '\P{^Is_Numeric_Value=+0_0_0_0_0_0_060}', "");
-Error('\p{Is_Nv=:=--60}');
-Error('\P{Is_Nv=:=--60}');
-Expect(1, 4983, '\p{Is_Nv=060}', "");
-Expect(0, 4983, '\p{^Is_Nv=060}', "");
-Expect(0, 4983, '\P{Is_Nv=060}', "");
-Expect(1, 4983, '\P{^Is_Nv=060}', "");
-Expect(0, 4982, '\p{Is_Nv=060}', "");
-Expect(1, 4982, '\p{^Is_Nv=060}', "");
-Expect(1, 4982, '\P{Is_Nv=060}', "");
-Expect(0, 4982, '\P{^Is_Nv=060}', "");
-Error('\p{Numeric_Value=:=_+000000045}');
-Error('\P{Numeric_Value=:=_+000000045}');
-Expect(1, 12986, '\p{Numeric_Value=00000000045}', "");
-Expect(0, 12986, '\p{^Numeric_Value=00000000045}', "");
-Expect(0, 12986, '\P{Numeric_Value=00000000045}', "");
-Expect(1, 12986, '\P{^Numeric_Value=00000000045}', "");
-Expect(0, 12985, '\p{Numeric_Value=00000000045}', "");
-Expect(1, 12985, '\p{^Numeric_Value=00000000045}', "");
-Expect(1, 12985, '\P{Numeric_Value=00000000045}', "");
-Expect(0, 12985, '\P{^Numeric_Value=00000000045}', "");
-Error('\p{Nv=/a/_ 004 5}');
-Error('\P{Nv=/a/_ 004 5}');
-Expect(1, 12986, '\p{Nv=000000045}', "");
-Expect(0, 12986, '\p{^Nv=000000045}', "");
-Expect(0, 12986, '\P{Nv=000000045}', "");
-Expect(1, 12986, '\P{^Nv=000000045}', "");
-Expect(0, 12985, '\p{Nv=000000045}', "");
-Expect(1, 12985, '\p{^Nv=000000045}', "");
-Expect(1, 12985, '\P{Nv=000000045}', "");
-Expect(0, 12985, '\P{^Nv=000000045}', "");
-Error('\p{Is_Numeric_Value= :=0000000045}');
-Error('\P{Is_Numeric_Value= :=0000000045}');
-Expect(1, 12986, '\p{Is_Numeric_Value=0004_5}', "");
-Expect(0, 12986, '\p{^Is_Numeric_Value=0004_5}', "");
-Expect(0, 12986, '\P{Is_Numeric_Value=0004_5}', "");
-Expect(1, 12986, '\P{^Is_Numeric_Value=0004_5}', "");
-Expect(0, 12985, '\p{Is_Numeric_Value=0004_5}', "");
-Expect(1, 12985, '\p{^Is_Numeric_Value=0004_5}', "");
-Expect(1, 12985, '\P{Is_Numeric_Value=0004_5}', "");
-Expect(0, 12985, '\P{^Is_Numeric_Value=0004_5}', "");
-Error('\p{Is_Nv=__0000000045:=}');
-Error('\P{Is_Nv=__0000000045:=}');
-Expect(1, 12986, '\p{Is_Nv=00_00_00_00_04_5}', "");
-Expect(0, 12986, '\p{^Is_Nv=00_00_00_00_04_5}', "");
-Expect(0, 12986, '\P{Is_Nv=00_00_00_00_04_5}', "");
-Expect(1, 12986, '\P{^Is_Nv=00_00_00_00_04_5}', "");
-Expect(0, 12985, '\p{Is_Nv=00_00_00_00_04_5}', "");
-Expect(1, 12985, '\p{^Is_Nv=00_00_00_00_04_5}', "");
-Expect(1, 12985, '\P{Is_Nv=00_00_00_00_04_5}', "");
-Expect(0, 12985, '\P{^Is_Nv=00_00_00_00_04_5}', "");
-Error('\p{Numeric_Value= 000001:=9}');
-Error('\P{Numeric_Value= 000001:=9}');
-Expect(1, 5872, '\p{Numeric_Value=0_0_0_0_019}', "");
-Expect(0, 5872, '\p{^Numeric_Value=0_0_0_0_019}', "");
-Expect(0, 5872, '\P{Numeric_Value=0_0_0_0_019}', "");
-Expect(1, 5872, '\P{^Numeric_Value=0_0_0_0_019}', "");
-Expect(0, 5871, '\p{Numeric_Value=0_0_0_0_019}', "");
-Expect(1, 5871, '\p{^Numeric_Value=0_0_0_0_019}', "");
-Expect(1, 5871, '\P{Numeric_Value=0_0_0_0_019}', "");
-Expect(0, 5871, '\P{^Numeric_Value=0_0_0_0_019}', "");
-Error('\p{Nv=/a/00-00-00 19}');
-Error('\P{Nv=/a/00-00-00 19}');
-Expect(1, 5872, '\p{Nv=+0_0_19}', "");
-Expect(0, 5872, '\p{^Nv=+0_0_19}', "");
-Expect(0, 5872, '\P{Nv=+0_0_19}', "");
-Expect(1, 5872, '\P{^Nv=+0_0_19}', "");
-Expect(0, 5871, '\p{Nv=+0_0_19}', "");
-Expect(1, 5871, '\p{^Nv=+0_0_19}', "");
-Expect(1, 5871, '\P{Nv=+0_0_19}', "");
-Expect(0, 5871, '\P{^Nv=+0_0_19}', "");
-Error('\p{Is_Numeric_Value=:=0019}');
-Error('\P{Is_Numeric_Value=:=0019}');
-Expect(1, 5872, '\p{Is_Numeric_Value=019}', "");
-Expect(0, 5872, '\p{^Is_Numeric_Value=019}', "");
-Expect(0, 5872, '\P{Is_Numeric_Value=019}', "");
-Expect(1, 5872, '\P{^Is_Numeric_Value=019}', "");
-Expect(0, 5871, '\p{Is_Numeric_Value=019}', "");
-Expect(1, 5871, '\p{^Is_Numeric_Value=019}', "");
-Expect(1, 5871, '\P{Is_Numeric_Value=019}', "");
-Expect(0, 5871, '\P{^Is_Numeric_Value=019}', "");
-Error('\p{Is_Nv= _0:=0-0 0 0_019}');
-Error('\P{Is_Nv= _0:=0-0 0 0_019}');
-Expect(1, 5872, '\p{Is_Nv: 000000019}', "");
-Expect(0, 5872, '\p{^Is_Nv: 000000019}', "");
-Expect(0, 5872, '\P{Is_Nv: 000000019}', "");
-Expect(1, 5872, '\P{^Is_Nv: 000000019}', "");
-Expect(0, 5871, '\p{Is_Nv: 000000019}', "");
-Expect(1, 5871, '\p{^Is_Nv: 000000019}', "");
-Expect(1, 5871, '\P{Is_Nv: 000000019}', "");
-Expect(0, 5871, '\P{^Is_Nv: 000000019}', "");
-Error('\p{Numeric_Value= -000011/002:=}');
-Error('\P{Numeric_Value= -000011/002:=}');
-Expect(1, 3887, '\p{Numeric_Value=0000000011/000002}', "");
-Expect(0, 3887, '\p{^Numeric_Value=0000000011/000002}', "");
-Expect(0, 3887, '\P{Numeric_Value=0000000011/000002}', "");
-Expect(1, 3887, '\P{^Numeric_Value=0000000011/000002}', "");
-Expect(0, 3886, '\p{Numeric_Value=0000000011/000002}', "");
-Expect(1, 3886, '\p{^Numeric_Value=0000000011/000002}', "");
-Expect(1, 3886, '\P{Numeric_Value=0000000011/000002}', "");
-Expect(0, 3886, '\P{^Numeric_Value=0000000011/000002}', "");
-Expect(1, 3887, '\p{Numeric_Value: 5.500}', "");
-Expect(0, 3887, '\p{^Numeric_Value: 5.500}', "");
-Expect(0, 3887, '\P{Numeric_Value: 5.500}', "");
-Expect(1, 3887, '\P{^Numeric_Value: 5.500}', "");
-Expect(0, 3886, '\p{Numeric_Value: 5.500}', "");
-Expect(1, 3886, '\p{^Numeric_Value: 5.500}', "");
-Expect(1, 3886, '\P{Numeric_Value: 5.500}', "");
-Expect(0, 3886, '\P{^Numeric_Value: 5.500}', "");
-Error('\p{Nv= /a/00000000011/00002}');
-Error('\P{Nv= /a/00000000011/00002}');
-Expect(1, 3887, '\p{Nv=00011/0002}', "");
-Expect(0, 3887, '\p{^Nv=00011/0002}', "");
-Expect(0, 3887, '\P{Nv=00011/0002}', "");
-Expect(1, 3887, '\P{^Nv=00011/0002}', "");
-Expect(0, 3886, '\p{Nv=00011/0002}', "");
-Expect(1, 3886, '\p{^Nv=00011/0002}', "");
-Expect(1, 3886, '\P{Nv=00011/0002}', "");
-Expect(0, 3886, '\P{^Nv=00011/0002}', "");
-Expect(1, 3887, '\p{Nv=5.500}', "");
-Expect(0, 3887, '\p{^Nv=5.500}', "");
-Expect(0, 3887, '\P{Nv=5.500}', "");
-Expect(1, 3887, '\P{^Nv=5.500}', "");
-Expect(0, 3886, '\p{Nv=5.500}', "");
-Expect(1, 3886, '\p{^Nv=5.500}', "");
-Expect(1, 3886, '\P{Nv=5.500}', "");
-Expect(0, 3886, '\P{^Nv=5.500}', "");
-Error('\p{Is_Numeric_Value=/a/ -11/000002}');
-Error('\P{Is_Numeric_Value=/a/ -11/000002}');
-Expect(1, 3887, '\p{Is_Numeric_Value=011/000000002}', "");
-Expect(0, 3887, '\p{^Is_Numeric_Value=011/000000002}', "");
-Expect(0, 3887, '\P{Is_Numeric_Value=011/000000002}', "");
-Expect(1, 3887, '\P{^Is_Numeric_Value=011/000000002}', "");
-Expect(0, 3886, '\p{Is_Numeric_Value=011/000000002}', "");
-Expect(1, 3886, '\p{^Is_Numeric_Value=011/000000002}', "");
-Expect(1, 3886, '\P{Is_Numeric_Value=011/000000002}', "");
-Expect(0, 3886, '\P{^Is_Numeric_Value=011/000000002}', "");
-Expect(1, 3887, '\p{Is_Numeric_Value=5.500}', "");
-Expect(0, 3887, '\p{^Is_Numeric_Value=5.500}', "");
-Expect(0, 3887, '\P{Is_Numeric_Value=5.500}', "");
-Expect(1, 3887, '\P{^Is_Numeric_Value=5.500}', "");
-Expect(0, 3886, '\p{Is_Numeric_Value=5.500}', "");
-Expect(1, 3886, '\p{^Is_Numeric_Value=5.500}', "");
-Expect(1, 3886, '\P{Is_Numeric_Value=5.500}', "");
-Expect(0, 3886, '\P{^Is_Numeric_Value=5.500}', "");
-Error('\p{Is_Nv= _+000000011/0002:=}');
-Error('\P{Is_Nv= _+000000011/0002:=}');
-Expect(1, 3887, '\p{Is_Nv=0000011/000000002}', "");
-Expect(0, 3887, '\p{^Is_Nv=0000011/000000002}', "");
-Expect(0, 3887, '\P{Is_Nv=0000011/000000002}', "");
-Expect(1, 3887, '\P{^Is_Nv=0000011/000000002}', "");
-Expect(0, 3886, '\p{Is_Nv=0000011/000000002}', "");
-Expect(1, 3886, '\p{^Is_Nv=0000011/000000002}', "");
-Expect(1, 3886, '\P{Is_Nv=0000011/000000002}', "");
-Expect(0, 3886, '\P{^Is_Nv=0000011/000000002}', "");
-Expect(1, 3887, '\p{Is_Nv=5.500}', "");
-Expect(0, 3887, '\p{^Is_Nv=5.500}', "");
-Expect(0, 3887, '\P{Is_Nv=5.500}', "");
-Expect(1, 3887, '\P{^Is_Nv=5.500}', "");
-Expect(0, 3886, '\p{Is_Nv=5.500}', "");
-Expect(1, 3886, '\p{^Is_Nv=5.500}', "");
-Expect(1, 3886, '\P{Is_Nv=5.500}', "");
-Expect(0, 3886, '\P{^Is_Nv=5.500}', "");
-Error('\p{Numeric_Value=--070:=}');
-Error('\P{Numeric_Value=--070:=}');
-Expect(1, 4984, '\p{Numeric_Value=0000007_0}', "");
-Expect(0, 4984, '\p{^Numeric_Value=0000007_0}', "");
-Expect(0, 4984, '\P{Numeric_Value=0000007_0}', "");
-Expect(1, 4984, '\P{^Numeric_Value=0000007_0}', "");
-Expect(0, 4983, '\p{Numeric_Value=0000007_0}', "");
-Expect(1, 4983, '\p{^Numeric_Value=0000007_0}', "");
-Expect(1, 4983, '\P{Numeric_Value=0000007_0}', "");
-Expect(0, 4983, '\P{^Numeric_Value=0000007_0}', "");
-Error('\p{Nv=/a/- 000007 0}');
-Error('\P{Nv=/a/- 000007 0}');
-Expect(1, 4984, '\p{Nv=+0000000070}', "");
-Expect(0, 4984, '\p{^Nv=+0000000070}', "");
-Expect(0, 4984, '\P{Nv=+0000000070}', "");
-Expect(1, 4984, '\P{^Nv=+0000000070}', "");
-Expect(0, 4983, '\p{Nv=+0000000070}', "");
-Expect(1, 4983, '\p{^Nv=+0000000070}', "");
-Expect(1, 4983, '\P{Nv=+0000000070}', "");
-Expect(0, 4983, '\P{^Nv=+0000000070}', "");
-Error('\p{Is_Numeric_Value= +0 0 0:=0 070}');
-Error('\P{Is_Numeric_Value= +0 0 0:=0 070}');
-Expect(1, 4984, '\p{Is_Numeric_Value=0070}', "");
-Expect(0, 4984, '\p{^Is_Numeric_Value=0070}', "");
-Expect(0, 4984, '\P{Is_Numeric_Value=0070}', "");
-Expect(1, 4984, '\P{^Is_Numeric_Value=0070}', "");
-Expect(0, 4983, '\p{Is_Numeric_Value=0070}', "");
-Expect(1, 4983, '\p{^Is_Numeric_Value=0070}', "");
-Expect(1, 4983, '\P{Is_Numeric_Value=0070}', "");
-Expect(0, 4983, '\P{^Is_Numeric_Value=0070}', "");
-Error('\p{Is_Nv= _0000007_0/a/}');
-Error('\P{Is_Nv= _0000007_0/a/}');
-Expect(1, 4984, '\p{Is_Nv=00000070}', "");
-Expect(0, 4984, '\p{^Is_Nv=00000070}', "");
-Expect(0, 4984, '\P{Is_Nv=00000070}', "");
-Expect(1, 4984, '\P{^Is_Nv=00000070}', "");
-Expect(0, 4983, '\p{Is_Nv=00000070}', "");
-Expect(1, 4983, '\p{^Is_Nv=00000070}', "");
-Expect(1, 4983, '\P{Is_Nv=00000070}', "");
-Expect(0, 4983, '\P{^Is_Nv=00000070}', "");
-Error('\p{Numeric_Value=_/a/000002}');
-Error('\P{Numeric_Value=_/a/000002}');
-Expect(1, 50, '\p{Numeric_Value: 00_00_2}', "");
-Expect(0, 50, '\p{^Numeric_Value: 00_00_2}', "");
-Expect(0, 50, '\P{Numeric_Value: 00_00_2}', "");
-Expect(1, 50, '\P{^Numeric_Value: 00_00_2}', "");
-Expect(0, 49, '\p{Numeric_Value: 00_00_2}', "");
-Expect(1, 49, '\p{^Numeric_Value: 00_00_2}', "");
-Expect(1, 49, '\P{Numeric_Value: 00_00_2}', "");
-Expect(0, 49, '\P{^Numeric_Value: 00_00_2}', "");
-Error('\p{Nv= -000/a/2}');
-Error('\P{Nv= -000/a/2}');
-Expect(1, 50, '\p{Nv=0_0_02}', "");
-Expect(0, 50, '\p{^Nv=0_0_02}', "");
-Expect(0, 50, '\P{Nv=0_0_02}', "");
-Expect(1, 50, '\P{^Nv=0_0_02}', "");
-Expect(0, 49, '\p{Nv=0_0_02}', "");
-Expect(1, 49, '\p{^Nv=0_0_02}', "");
-Expect(1, 49, '\P{Nv=0_0_02}', "");
-Expect(0, 49, '\P{^Nv=0_0_02}', "");
-Error('\p{Is_Numeric_Value=/a/ _0000002}');
-Error('\P{Is_Numeric_Value=/a/ _0000002}');
-Expect(1, 50, '\p{Is_Numeric_Value=2}', "");
-Expect(0, 50, '\p{^Is_Numeric_Value=2}', "");
-Expect(0, 50, '\P{Is_Numeric_Value=2}', "");
-Expect(1, 50, '\P{^Is_Numeric_Value=2}', "");
-Expect(0, 49, '\p{Is_Numeric_Value=2}', "");
-Expect(1, 49, '\p{^Is_Numeric_Value=2}', "");
-Expect(1, 49, '\P{Is_Numeric_Value=2}', "");
-Expect(0, 49, '\P{^Is_Numeric_Value=2}', "");
-Error('\p{Is_Nv= -000002:=}');
-Error('\P{Is_Nv= -000002:=}');
-Expect(1, 50, '\p{Is_Nv=0_2}', "");
-Expect(0, 50, '\p{^Is_Nv=0_2}', "");
-Expect(0, 50, '\P{Is_Nv=0_2}', "");
-Expect(1, 50, '\P{^Is_Nv=0_2}', "");
-Expect(0, 49, '\p{Is_Nv=0_2}', "");
-Expect(1, 49, '\p{^Is_Nv=0_2}', "");
-Expect(1, 49, '\P{Is_Nv=0_2}', "");
-Expect(0, 49, '\P{^Is_Nv=0_2}', "");
-Error('\p{Numeric_Value=:= 00017}');
-Error('\P{Numeric_Value=:= 00017}');
-Expect(1, 5870, '\p{Numeric_Value=+01_7}', "");
-Expect(0, 5870, '\p{^Numeric_Value=+01_7}', "");
-Expect(0, 5870, '\P{Numeric_Value=+01_7}', "");
-Expect(1, 5870, '\P{^Numeric_Value=+01_7}', "");
-Expect(0, 5869, '\p{Numeric_Value=+01_7}', "");
-Expect(1, 5869, '\p{^Numeric_Value=+01_7}', "");
-Expect(1, 5869, '\P{Numeric_Value=+01_7}', "");
-Expect(0, 5869, '\P{^Numeric_Value=+01_7}', "");
-Error('\p{Nv=/a/_ 0000017}');
-Error('\P{Nv=/a/_ 0000017}');
-Expect(1, 5870, '\p{Nv=+0000017}', "");
-Expect(0, 5870, '\p{^Nv=+0000017}', "");
-Expect(0, 5870, '\P{Nv=+0000017}', "");
-Expect(1, 5870, '\P{^Nv=+0000017}', "");
-Expect(0, 5869, '\p{Nv=+0000017}', "");
-Expect(1, 5869, '\p{^Nv=+0000017}', "");
-Expect(1, 5869, '\P{Nv=+0000017}', "");
-Expect(0, 5869, '\P{^Nv=+0000017}', "");
-Error('\p{Is_Numeric_Value=-:=0 0 00-17}');
-Error('\P{Is_Numeric_Value=-:=0 0 00-17}');
-Expect(1, 5870, '\p{Is_Numeric_Value=000017}', "");
-Expect(0, 5870, '\p{^Is_Numeric_Value=000017}', "");
-Expect(0, 5870, '\P{Is_Numeric_Value=000017}', "");
-Expect(1, 5870, '\P{^Is_Numeric_Value=000017}', "");
-Expect(0, 5869, '\p{Is_Numeric_Value=000017}', "");
-Expect(1, 5869, '\p{^Is_Numeric_Value=000017}', "");
-Expect(1, 5869, '\P{Is_Numeric_Value=000017}', "");
-Expect(0, 5869, '\P{^Is_Numeric_Value=000017}', "");
-Error('\p{Is_Nv=/a/_ 0000000017}');
-Error('\P{Is_Nv=/a/_ 0000000017}');
-Expect(1, 5870, '\p{Is_Nv: 00_01_7}', "");
-Expect(0, 5870, '\p{^Is_Nv: 00_01_7}', "");
-Expect(0, 5870, '\P{Is_Nv: 00_01_7}', "");
-Expect(1, 5870, '\P{^Is_Nv: 00_01_7}', "");
-Expect(0, 5869, '\p{Is_Nv: 00_01_7}', "");
-Expect(1, 5869, '\p{^Is_Nv: 00_01_7}', "");
-Expect(1, 5869, '\P{Is_Nv: 00_01_7}', "");
-Expect(0, 5869, '\P{^Is_Nv: 00_01_7}', "");
-Error('\p{Numeric_Value=--+20000/a/}');
-Error('\P{Numeric_Value=--+20000/a/}');
-Expect(1, 65836, '\p{Numeric_Value=0020000}', "");
-Expect(0, 65836, '\p{^Numeric_Value=0020000}', "");
-Expect(0, 65836, '\P{Numeric_Value=0020000}', "");
-Expect(1, 65836, '\P{^Numeric_Value=0020000}', "");
-Expect(0, 65835, '\p{Numeric_Value=0020000}', "");
-Expect(1, 65835, '\p{^Numeric_Value=0020000}', "");
-Expect(1, 65835, '\P{Numeric_Value=0020000}', "");
-Expect(0, 65835, '\P{^Numeric_Value=0020000}', "");
-Error('\p{Nv= +00020000:=}');
-Error('\P{Nv= +00020000:=}');
-Expect(1, 65836, '\p{Nv=020000}', "");
-Expect(0, 65836, '\p{^Nv=020000}', "");
-Expect(0, 65836, '\P{Nv=020000}', "");
-Expect(1, 65836, '\P{^Nv=020000}', "");
-Expect(0, 65835, '\p{Nv=020000}', "");
-Expect(1, 65835, '\p{^Nv=020000}', "");
-Expect(1, 65835, '\P{Nv=020000}', "");
-Expect(0, 65835, '\P{^Nv=020000}', "");
-Error('\p{Is_Numeric_Value: := +0000020000}');
-Error('\P{Is_Numeric_Value: := +0000020000}');
-Expect(1, 65836, '\p{Is_Numeric_Value=+2000_0}', "");
-Expect(0, 65836, '\p{^Is_Numeric_Value=+2000_0}', "");
-Expect(0, 65836, '\P{Is_Numeric_Value=+2000_0}', "");
-Expect(1, 65836, '\P{^Is_Numeric_Value=+2000_0}', "");
-Expect(0, 65835, '\p{Is_Numeric_Value=+2000_0}', "");
-Expect(1, 65835, '\p{^Is_Numeric_Value=+2000_0}', "");
-Expect(1, 65835, '\P{Is_Numeric_Value=+2000_0}', "");
-Expect(0, 65835, '\P{^Is_Numeric_Value=+2000_0}', "");
-Error('\p{Is_Nv=_000020000/a/}');
-Error('\P{Is_Nv=_000020000/a/}');
-Expect(1, 65836, '\p{Is_Nv: 0000000020000}', "");
-Expect(0, 65836, '\p{^Is_Nv: 0000000020000}', "");
-Expect(0, 65836, '\P{Is_Nv: 0000000020000}', "");
-Expect(1, 65836, '\P{^Is_Nv: 0000000020000}', "");
-Expect(0, 65835, '\p{Is_Nv: 0000000020000}', "");
-Expect(1, 65835, '\p{^Is_Nv: 0000000020000}', "");
-Expect(1, 65835, '\P{Is_Nv: 0000000020000}', "");
-Expect(0, 65835, '\P{^Is_Nv: 0000000020000}', "");
-Error('\p{Numeric_Value=_/a/+0-00 0-01}');
-Error('\P{Numeric_Value=_/a/+0-00 0-01}');
-Expect(1, 49, '\p{Numeric_Value=0000000001}', "");
-Expect(0, 49, '\p{^Numeric_Value=0000000001}', "");
-Expect(0, 49, '\P{Numeric_Value=0000000001}', "");
-Expect(1, 49, '\P{^Numeric_Value=0000000001}', "");
-Expect(0, 48, '\p{Numeric_Value=0000000001}', "");
-Expect(1, 48, '\p{^Numeric_Value=0000000001}', "");
-Expect(1, 48, '\P{Numeric_Value=0000000001}', "");
-Expect(0, 48, '\P{^Numeric_Value=0000000001}', "");
-Error('\p{Nv=/a/ _001}');
-Error('\P{Nv=/a/ _001}');
-Expect(1, 49, '\p{Nv=0000000001}', "");
-Expect(0, 49, '\p{^Nv=0000000001}', "");
-Expect(0, 49, '\P{Nv=0000000001}', "");
-Expect(1, 49, '\P{^Nv=0000000001}', "");
-Expect(0, 48, '\p{Nv=0000000001}', "");
-Expect(1, 48, '\p{^Nv=0000000001}', "");
-Expect(1, 48, '\P{Nv=0000000001}', "");
-Expect(0, 48, '\P{^Nv=0000000001}', "");
-Error('\p{Is_Numeric_Value= +0:=1}');
-Error('\P{Is_Numeric_Value= +0:=1}');
-Expect(1, 49, '\p{Is_Numeric_Value=000_1}', "");
-Expect(0, 49, '\p{^Is_Numeric_Value=000_1}', "");
-Expect(0, 49, '\P{Is_Numeric_Value=000_1}', "");
-Expect(1, 49, '\P{^Is_Numeric_Value=000_1}', "");
-Expect(0, 48, '\p{Is_Numeric_Value=000_1}', "");
-Expect(1, 48, '\p{^Is_Numeric_Value=000_1}', "");
-Expect(1, 48, '\P{Is_Numeric_Value=000_1}', "");
-Expect(0, 48, '\P{^Is_Numeric_Value=000_1}', "");
-Error('\p{Is_Nv= _+00000_1:=}');
-Error('\P{Is_Nv= _+00000_1:=}');
-Expect(1, 49, '\p{Is_Nv: +0_0_0_0_0001}', "");
-Expect(0, 49, '\p{^Is_Nv: +0_0_0_0_0001}', "");
-Expect(0, 49, '\P{Is_Nv: +0_0_0_0_0001}', "");
-Expect(1, 49, '\P{^Is_Nv: +0_0_0_0_0001}', "");
-Expect(0, 48, '\p{Is_Nv: +0_0_0_0_0001}', "");
-Expect(1, 48, '\p{^Is_Nv: +0_0_0_0_0001}', "");
-Expect(1, 48, '\P{Is_Nv: +0_0_0_0_0001}', "");
-Expect(0, 48, '\P{^Is_Nv: +0_0_0_0_0001}', "");
-Error('\p{Numeric_Value= 0000000006000/a/}');
-Error('\P{Numeric_Value= 0000000006000/a/}');
-Expect(1, 65831, '\p{Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(0, 65831, '\p{^Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(0, 65831, '\P{Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(1, 65831, '\P{^Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(0, 65830, '\p{Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(1, 65830, '\p{^Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(1, 65830, '\P{Numeric_Value=+0_0_0_0_0_6_000}', "");
-Expect(0, 65830, '\P{^Numeric_Value=+0_0_0_0_0_6_000}', "");
-Error('\p{Nv=_/a/00006000}');
-Error('\P{Nv=_/a/00006000}');
-Expect(1, 65831, '\p{Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(0, 65831, '\p{^Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(0, 65831, '\P{Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(1, 65831, '\P{^Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(0, 65830, '\p{Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(1, 65830, '\p{^Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(1, 65830, '\P{Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Expect(0, 65830, '\P{^Nv=0_0_0_0_0_0_0_0_6_0_00}', "");
-Error('\p{Is_Numeric_Value=_-00000006000:=}');
-Error('\P{Is_Numeric_Value=_-00000006000:=}');
-Expect(1, 65831, '\p{Is_Numeric_Value=00_06_00_0}', "");
-Expect(0, 65831, '\p{^Is_Numeric_Value=00_06_00_0}', "");
-Expect(0, 65831, '\P{Is_Numeric_Value=00_06_00_0}', "");
-Expect(1, 65831, '\P{^Is_Numeric_Value=00_06_00_0}', "");
-Expect(0, 65830, '\p{Is_Numeric_Value=00_06_00_0}', "");
-Expect(1, 65830, '\p{^Is_Numeric_Value=00_06_00_0}', "");
-Expect(1, 65830, '\P{Is_Numeric_Value=00_06_00_0}', "");
-Expect(0, 65830, '\P{^Is_Numeric_Value=00_06_00_0}', "");
-Error('\p{Is_Nv=-+000000006000/a/}');
-Error('\P{Is_Nv=-+000000006000/a/}');
-Expect(1, 65831, '\p{Is_Nv=000600_0}', "");
-Expect(0, 65831, '\p{^Is_Nv=000600_0}', "");
-Expect(0, 65831, '\P{Is_Nv=000600_0}', "");
-Expect(1, 65831, '\P{^Is_Nv=000600_0}', "");
-Expect(0, 65830, '\p{Is_Nv=000600_0}', "");
-Expect(1, 65830, '\p{^Is_Nv=000600_0}', "");
-Expect(1, 65830, '\P{Is_Nv=000600_0}', "");
-Expect(0, 65830, '\P{^Is_Nv=000600_0}', "");
-Error('\p{Numeric_Value=/a/-030}');
-Error('\P{Numeric_Value=/a/-030}');
-Expect(1, 4980, '\p{Numeric_Value=0_0_0_0_030}', "");
-Expect(0, 4980, '\p{^Numeric_Value=0_0_0_0_030}', "");
-Expect(0, 4980, '\P{Numeric_Value=0_0_0_0_030}', "");
-Expect(1, 4980, '\P{^Numeric_Value=0_0_0_0_030}', "");
-Expect(0, 4979, '\p{Numeric_Value=0_0_0_0_030}', "");
-Expect(1, 4979, '\p{^Numeric_Value=0_0_0_0_030}', "");
-Expect(1, 4979, '\P{Numeric_Value=0_0_0_0_030}', "");
-Expect(0, 4979, '\P{^Numeric_Value=0_0_0_0_030}', "");
-Error('\p{Nv: -30:=}');
-Error('\P{Nv: -30:=}');
-Expect(1, 4980, '\p{Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(0, 4980, '\p{^Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(0, 4980, '\P{Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(1, 4980, '\P{^Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(0, 4979, '\p{Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(1, 4979, '\p{^Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(1, 4979, '\P{Nv=+0_0_0_0_0_0_0_30}', "");
-Expect(0, 4979, '\P{^Nv=+0_0_0_0_0_0_0_30}', "");
-Error('\p{Is_Numeric_Value=/a/-00000030}');
-Error('\P{Is_Numeric_Value=/a/-00000030}');
-Expect(1, 4980, '\p{Is_Numeric_Value=30}', "");
-Expect(0, 4980, '\p{^Is_Numeric_Value=30}', "");
-Expect(0, 4980, '\P{Is_Numeric_Value=30}', "");
-Expect(1, 4980, '\P{^Is_Numeric_Value=30}', "");
-Expect(0, 4979, '\p{Is_Numeric_Value=30}', "");
-Expect(1, 4979, '\p{^Is_Numeric_Value=30}', "");
-Expect(1, 4979, '\P{Is_Numeric_Value=30}', "");
-Expect(0, 4979, '\P{^Is_Numeric_Value=30}', "");
-Error('\p{Is_Nv=/a/ +00000030}');
-Error('\P{Is_Nv=/a/ +00000030}');
-Expect(1, 4980, '\p{Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(0, 4980, '\p{^Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(0, 4980, '\P{Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(1, 4980, '\P{^Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(0, 4979, '\p{Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(1, 4979, '\p{^Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(1, 4979, '\P{Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Expect(0, 4979, '\P{^Is_Nv=0_0_0_0_0_0_0_0_30}', "");
-Error('\p{Numeric_Value=:=__000000002/03}');
-Error('\P{Numeric_Value=:=__000000002/03}');
-Expect(1, 8532, '\p{Numeric_Value=0000000002/03}', "");
-Expect(0, 8532, '\p{^Numeric_Value=0000000002/03}', "");
-Expect(0, 8532, '\P{Numeric_Value=0000000002/03}', "");
-Expect(1, 8532, '\P{^Numeric_Value=0000000002/03}', "");
-Expect(0, 8531, '\p{Numeric_Value=0000000002/03}', "");
-Expect(1, 8531, '\p{^Numeric_Value=0000000002/03}', "");
-Expect(1, 8531, '\P{Numeric_Value=0000000002/03}', "");
-Expect(0, 8531, '\P{^Numeric_Value=0000000002/03}', "");
-Error('\p{Numeric_Value=0.7}');
-Error('\P{Numeric_Value=0.7}');
-Error('\p{Numeric_Value=0.67}');
-Error('\P{Numeric_Value=0.67}');
-Expect(1, 8532, '\p{Numeric_Value=0.667}', "");
-Expect(0, 8532, '\p{^Numeric_Value=0.667}', "");
-Expect(0, 8532, '\P{Numeric_Value=0.667}', "");
-Expect(1, 8532, '\P{^Numeric_Value=0.667}', "");
-Expect(0, 8531, '\p{Numeric_Value=0.667}', "");
-Expect(1, 8531, '\p{^Numeric_Value=0.667}', "");
-Expect(1, 8531, '\P{Numeric_Value=0.667}', "");
-Expect(0, 8531, '\P{^Numeric_Value=0.667}', "");
-Error('\p{Nv=:=_-00002/00003}');
-Error('\P{Nv=:=_-00002/00003}');
-Expect(1, 8532, '\p{Nv=0000000002/000000003}', "");
-Expect(0, 8532, '\p{^Nv=0000000002/000000003}', "");
-Expect(0, 8532, '\P{Nv=0000000002/000000003}', "");
-Expect(1, 8532, '\P{^Nv=0000000002/000000003}', "");
-Expect(0, 8531, '\p{Nv=0000000002/000000003}', "");
-Expect(1, 8531, '\p{^Nv=0000000002/000000003}', "");
-Expect(1, 8531, '\P{Nv=0000000002/000000003}', "");
-Expect(0, 8531, '\P{^Nv=0000000002/000000003}', "");
-Error('\p{Nv: 0.7}');
-Error('\P{Nv: 0.7}');
-Error('\p{Nv=0.67}');
-Error('\P{Nv=0.67}');
-Expect(1, 8532, '\p{Nv=0.667}', "");
-Expect(0, 8532, '\p{^Nv=0.667}', "");
-Expect(0, 8532, '\P{Nv=0.667}', "");
-Expect(1, 8532, '\P{^Nv=0.667}', "");
-Expect(0, 8531, '\p{Nv=0.667}', "");
-Expect(1, 8531, '\p{^Nv=0.667}', "");
-Expect(1, 8531, '\P{Nv=0.667}', "");
-Expect(0, 8531, '\P{^Nv=0.667}', "");
-Error('\p{Is_Numeric_Value: +0000000002/0000003:=}');
-Error('\P{Is_Numeric_Value: +0000000002/0000003:=}');
-Expect(1, 8532, '\p{Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(0, 8532, '\p{^Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(0, 8532, '\P{Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(1, 8532, '\P{^Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(0, 8531, '\p{Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(1, 8531, '\p{^Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(1, 8531, '\P{Is_Numeric_Value=+00000002/0000000003}', "");
-Expect(0, 8531, '\P{^Is_Numeric_Value=+00000002/0000000003}', "");
-Error('\p{Is_Numeric_Value=0.7}');
-Error('\P{Is_Numeric_Value=0.7}');
-Error('\p{Is_Numeric_Value=0.67}');
-Error('\P{Is_Numeric_Value=0.67}');
-Expect(1, 8532, '\p{Is_Numeric_Value=0.667}', "");
-Expect(0, 8532, '\p{^Is_Numeric_Value=0.667}', "");
-Expect(0, 8532, '\P{Is_Numeric_Value=0.667}', "");
-Expect(1, 8532, '\P{^Is_Numeric_Value=0.667}', "");
-Expect(0, 8531, '\p{Is_Numeric_Value=0.667}', "");
-Expect(1, 8531, '\p{^Is_Numeric_Value=0.667}', "");
-Expect(1, 8531, '\P{Is_Numeric_Value=0.667}', "");
-Expect(0, 8531, '\P{^Is_Numeric_Value=0.667}', "");
-Error('\p{Is_Nv=:=-_00002/0000003}');
-Error('\P{Is_Nv=:=-_00002/0000003}');
-Expect(1, 8532, '\p{Is_Nv=000002/3}', "");
-Expect(0, 8532, '\p{^Is_Nv=000002/3}', "");
-Expect(0, 8532, '\P{Is_Nv=000002/3}', "");
-Expect(1, 8532, '\P{^Is_Nv=000002/3}', "");
-Expect(0, 8531, '\p{Is_Nv=000002/3}', "");
-Expect(1, 8531, '\p{^Is_Nv=000002/3}', "");
-Expect(1, 8531, '\P{Is_Nv=000002/3}', "");
-Expect(0, 8531, '\P{^Is_Nv=000002/3}', "");
-Error('\p{Is_Nv=0.7}');
-Error('\P{Is_Nv=0.7}');
-Error('\p{Is_Nv=0.67}');
-Error('\P{Is_Nv=0.67}');
-Expect(1, 8532, '\p{Is_Nv: 0.667}', "");
-Expect(0, 8532, '\p{^Is_Nv: 0.667}', "");
-Expect(0, 8532, '\P{Is_Nv: 0.667}', "");
-Expect(1, 8532, '\P{^Is_Nv: 0.667}', "");
-Expect(0, 8531, '\p{Is_Nv: 0.667}', "");
-Expect(1, 8531, '\p{^Is_Nv: 0.667}', "");
-Expect(1, 8531, '\P{Is_Nv: 0.667}', "");
-Expect(0, 8531, '\P{^Is_Nv: 0.667}', "");
-Error('\p{Numeric_Value= :=0_04 000}');
-Error('\P{Numeric_Value= :=0_04 000}');
-Expect(1, 65829, '\p{Numeric_Value: +000004000}', "");
-Expect(0, 65829, '\p{^Numeric_Value: +000004000}', "");
-Expect(0, 65829, '\P{Numeric_Value: +000004000}', "");
-Expect(1, 65829, '\P{^Numeric_Value: +000004000}', "");
-Expect(0, 65828, '\p{Numeric_Value: +000004000}', "");
-Expect(1, 65828, '\p{^Numeric_Value: +000004000}', "");
-Expect(1, 65828, '\P{Numeric_Value: +000004000}', "");
-Expect(0, 65828, '\P{^Numeric_Value: +000004000}', "");
-Error('\p{Nv=-0 0/a/0 0_0-0_00-04 0-00}');
-Error('\P{Nv=-0 0/a/0 0_0-0_00-04 0-00}');
-Expect(1, 65829, '\p{Nv=0_0_0_0_0_4_0_00}', "");
-Expect(0, 65829, '\p{^Nv=0_0_0_0_0_4_0_00}', "");
-Expect(0, 65829, '\P{Nv=0_0_0_0_0_4_0_00}', "");
-Expect(1, 65829, '\P{^Nv=0_0_0_0_0_4_0_00}', "");
-Expect(0, 65828, '\p{Nv=0_0_0_0_0_4_0_00}', "");
-Expect(1, 65828, '\p{^Nv=0_0_0_0_0_4_0_00}', "");
-Expect(1, 65828, '\P{Nv=0_0_0_0_0_4_0_00}', "");
-Expect(0, 65828, '\P{^Nv=0_0_0_0_0_4_0_00}', "");
-Error('\p{Is_Numeric_Value=+00:=00-00-40 00}');
-Error('\P{Is_Numeric_Value=+00:=00-00-40 00}');
-Expect(1, 65829, '\p{Is_Numeric_Value=00400_0}', "");
-Expect(0, 65829, '\p{^Is_Numeric_Value=00400_0}', "");
-Expect(0, 65829, '\P{Is_Numeric_Value=00400_0}', "");
-Expect(1, 65829, '\P{^Is_Numeric_Value=00400_0}', "");
-Expect(0, 65828, '\p{Is_Numeric_Value=00400_0}', "");
-Expect(1, 65828, '\p{^Is_Numeric_Value=00400_0}', "");
-Expect(1, 65828, '\P{Is_Numeric_Value=00400_0}', "");
-Expect(0, 65828, '\P{^Is_Numeric_Value=00400_0}', "");
-Error('\p{Is_Nv= +4000/a/}');
-Error('\P{Is_Nv= +4000/a/}');
-Expect(1, 65829, '\p{Is_Nv=+0000000004000}', "");
-Expect(0, 65829, '\p{^Is_Nv=+0000000004000}', "");
-Expect(0, 65829, '\P{Is_Nv=+0000000004000}', "");
-Expect(1, 65829, '\P{^Is_Nv=+0000000004000}', "");
-Expect(0, 65828, '\p{Is_Nv=+0000000004000}', "");
-Expect(1, 65828, '\p{^Is_Nv=+0000000004000}', "");
-Expect(1, 65828, '\P{Is_Nv=+0000000004000}', "");
-Expect(0, 65828, '\P{^Is_Nv=+0000000004000}', "");
-Error('\p{Numeric_Value=- 000000000100/a/}');
-Error('\P{Numeric_Value=- 000000000100/a/}');
-Expect(1, 3057, '\p{Numeric_Value: 10_0}', "");
-Expect(0, 3057, '\p{^Numeric_Value: 10_0}', "");
-Expect(0, 3057, '\P{Numeric_Value: 10_0}', "");
-Expect(1, 3057, '\P{^Numeric_Value: 10_0}', "");
-Expect(0, 3056, '\p{Numeric_Value: 10_0}', "");
-Expect(1, 3056, '\p{^Numeric_Value: 10_0}', "");
-Expect(1, 3056, '\P{Numeric_Value: 10_0}', "");
-Expect(0, 3056, '\P{^Numeric_Value: 10_0}', "");
-Error('\p{Nv= -+000:=000-00100}');
-Error('\P{Nv= -+000:=000-00100}');
-Expect(1, 3057, '\p{Nv=00100}', "");
-Expect(0, 3057, '\p{^Nv=00100}', "");
-Expect(0, 3057, '\P{Nv=00100}', "");
-Expect(1, 3057, '\P{^Nv=00100}', "");
-Expect(0, 3056, '\p{Nv=00100}', "");
-Expect(1, 3056, '\p{^Nv=00100}', "");
-Expect(1, 3056, '\P{Nv=00100}', "");
-Expect(0, 3056, '\P{^Nv=00100}', "");
-Error('\p{Is_Numeric_Value= 0:=00-100}');
-Error('\P{Is_Numeric_Value= 0:=00-100}');
-Expect(1, 3057, '\p{Is_Numeric_Value=+00100}', "");
-Expect(0, 3057, '\p{^Is_Numeric_Value=+00100}', "");
-Expect(0, 3057, '\P{Is_Numeric_Value=+00100}', "");
-Expect(1, 3057, '\P{^Is_Numeric_Value=+00100}', "");
-Expect(0, 3056, '\p{Is_Numeric_Value=+00100}', "");
-Expect(1, 3056, '\p{^Is_Numeric_Value=+00100}', "");
-Expect(1, 3056, '\P{Is_Numeric_Value=+00100}', "");
-Expect(0, 3056, '\P{^Is_Numeric_Value=+00100}', "");
-Error('\p{Is_Nv=-/a/0100}');
-Error('\P{Is_Nv=-/a/0100}');
-Expect(1, 3057, '\p{Is_Nv=000000000100}', "");
-Expect(0, 3057, '\p{^Is_Nv=000000000100}', "");
-Expect(0, 3057, '\P{Is_Nv=000000000100}', "");
-Expect(1, 3057, '\P{^Is_Nv=000000000100}', "");
-Expect(0, 3056, '\p{Is_Nv=000000000100}', "");
-Expect(1, 3056, '\p{^Is_Nv=000000000100}', "");
-Expect(1, 3056, '\P{Is_Nv=000000000100}', "");
-Expect(0, 3056, '\P{^Is_Nv=000000000100}', "");
-Error('\p{Numeric_Value=/a/ 0300}');
-Error('\P{Numeric_Value=/a/ 0300}');
-Expect(1, 65819, '\p{Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(0, 65819, '\p{^Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(0, 65819, '\P{Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(1, 65819, '\P{^Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(0, 65818, '\p{Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(1, 65818, '\p{^Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(1, 65818, '\P{Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Expect(0, 65818, '\P{^Numeric_Value: 0_0_0_0_0_0_0_0_3_00}', "");
-Error('\p{Nv: _30_0/a/}');
-Error('\P{Nv: _30_0/a/}');
-Expect(1, 65819, '\p{Nv=+0_0_0_0_0_0_300}', "");
-Expect(0, 65819, '\p{^Nv=+0_0_0_0_0_0_300}', "");
-Expect(0, 65819, '\P{Nv=+0_0_0_0_0_0_300}', "");
-Expect(1, 65819, '\P{^Nv=+0_0_0_0_0_0_300}', "");
-Expect(0, 65818, '\p{Nv=+0_0_0_0_0_0_300}', "");
-Expect(1, 65818, '\p{^Nv=+0_0_0_0_0_0_300}', "");
-Expect(1, 65818, '\P{Nv=+0_0_0_0_0_0_300}', "");
-Expect(0, 65818, '\P{^Nv=+0_0_0_0_0_0_300}', "");
-Error('\p{Is_Numeric_Value=-_000300:=}');
-Error('\P{Is_Numeric_Value=-_000300:=}');
-Expect(1, 65819, '\p{Is_Numeric_Value=+0300}', "");
-Expect(0, 65819, '\p{^Is_Numeric_Value=+0300}', "");
-Expect(0, 65819, '\P{Is_Numeric_Value=+0300}', "");
-Expect(1, 65819, '\P{^Is_Numeric_Value=+0300}', "");
-Expect(0, 65818, '\p{Is_Numeric_Value=+0300}', "");
-Expect(1, 65818, '\p{^Is_Numeric_Value=+0300}', "");
-Expect(1, 65818, '\P{Is_Numeric_Value=+0300}', "");
-Expect(0, 65818, '\P{^Is_Numeric_Value=+0300}', "");
-Error('\p{Is_Nv: _000030/a/0}');
-Error('\P{Is_Nv: _000030/a/0}');
-Expect(1, 65819, '\p{Is_Nv=+00300}', "");
-Expect(0, 65819, '\p{^Is_Nv=+00300}', "");
-Expect(0, 65819, '\P{Is_Nv=+00300}', "");
-Expect(1, 65819, '\P{^Is_Nv=+00300}', "");
-Expect(0, 65818, '\p{Is_Nv=+00300}', "");
-Expect(1, 65818, '\p{^Is_Nv=+00300}', "");
-Expect(1, 65818, '\P{Is_Nv=+00300}', "");
-Expect(0, 65818, '\P{^Is_Nv=+00300}', "");
-Error('\p{Numeric_Value=:= 0001/000008}');
-Error('\P{Numeric_Value=:= 0001/000008}');
-Expect(1, 2549, '\p{Numeric_Value=00000001/0000000008}', "");
-Expect(0, 2549, '\p{^Numeric_Value=00000001/0000000008}', "");
-Expect(0, 2549, '\P{Numeric_Value=00000001/0000000008}', "");
-Expect(1, 2549, '\P{^Numeric_Value=00000001/0000000008}', "");
-Expect(0, 2548, '\p{Numeric_Value=00000001/0000000008}', "");
-Expect(1, 2548, '\p{^Numeric_Value=00000001/0000000008}', "");
-Expect(1, 2548, '\P{Numeric_Value=00000001/0000000008}', "");
-Expect(0, 2548, '\P{^Numeric_Value=00000001/0000000008}', "");
-Error('\p{Numeric_Value:0.12}');
-Error('\P{Numeric_Value:0.12}');
-Expect(1, 2549, '\p{Numeric_Value: 0.125}', "");
-Expect(0, 2549, '\p{^Numeric_Value: 0.125}', "");
-Expect(0, 2549, '\P{Numeric_Value: 0.125}', "");
-Expect(1, 2549, '\P{^Numeric_Value: 0.125}', "");
-Expect(0, 2548, '\p{Numeric_Value: 0.125}', "");
-Expect(1, 2548, '\p{^Numeric_Value: 0.125}', "");
-Expect(1, 2548, '\P{Numeric_Value: 0.125}', "");
-Expect(0, 2548, '\P{^Numeric_Value: 0.125}', "");
-Error('\p{Nv=_ 001/0000000008:=}');
-Error('\P{Nv=_ 001/0000000008:=}');
-Expect(1, 2549, '\p{Nv=0000000001/00000008}', "");
-Expect(0, 2549, '\p{^Nv=0000000001/00000008}', "");
-Expect(0, 2549, '\P{Nv=0000000001/00000008}', "");
-Expect(1, 2549, '\P{^Nv=0000000001/00000008}', "");
-Expect(0, 2548, '\p{Nv=0000000001/00000008}', "");
-Expect(1, 2548, '\p{^Nv=0000000001/00000008}', "");
-Expect(1, 2548, '\P{Nv=0000000001/00000008}', "");
-Expect(0, 2548, '\P{^Nv=0000000001/00000008}', "");
-Error('\p{Nv=0.12}');
-Error('\P{Nv=0.12}');
-Expect(1, 2549, '\p{Nv=0.125}', "");
-Expect(0, 2549, '\p{^Nv=0.125}', "");
-Expect(0, 2549, '\P{Nv=0.125}', "");
-Expect(1, 2549, '\P{^Nv=0.125}', "");
-Expect(0, 2548, '\p{Nv=0.125}', "");
-Expect(1, 2548, '\p{^Nv=0.125}', "");
-Expect(1, 2548, '\P{Nv=0.125}', "");
-Expect(0, 2548, '\P{^Nv=0.125}', "");
-Error('\p{Is_Numeric_Value=:=-000000001/08}');
-Error('\P{Is_Numeric_Value=:=-000000001/08}');
-Expect(1, 2549, '\p{Is_Numeric_Value=01/00000008}', "");
-Expect(0, 2549, '\p{^Is_Numeric_Value=01/00000008}', "");
-Expect(0, 2549, '\P{Is_Numeric_Value=01/00000008}', "");
-Expect(1, 2549, '\P{^Is_Numeric_Value=01/00000008}', "");
-Expect(0, 2548, '\p{Is_Numeric_Value=01/00000008}', "");
-Expect(1, 2548, '\p{^Is_Numeric_Value=01/00000008}', "");
-Expect(1, 2548, '\P{Is_Numeric_Value=01/00000008}', "");
-Expect(0, 2548, '\P{^Is_Numeric_Value=01/00000008}', "");
-Error('\p{Is_Numeric_Value=0.12}');
-Error('\P{Is_Numeric_Value=0.12}');
-Expect(1, 2549, '\p{Is_Numeric_Value=0.125}', "");
-Expect(0, 2549, '\p{^Is_Numeric_Value=0.125}', "");
-Expect(0, 2549, '\P{Is_Numeric_Value=0.125}', "");
-Expect(1, 2549, '\P{^Is_Numeric_Value=0.125}', "");
-Expect(0, 2548, '\p{Is_Numeric_Value=0.125}', "");
-Expect(1, 2548, '\p{^Is_Numeric_Value=0.125}', "");
-Expect(1, 2548, '\P{Is_Numeric_Value=0.125}', "");
-Expect(0, 2548, '\P{^Is_Numeric_Value=0.125}', "");
-Error('\p{Is_Nv= /a/+1/0000008}');
-Error('\P{Is_Nv= /a/+1/0000008}');
-Expect(1, 2549, '\p{Is_Nv=00001/8}', "");
-Expect(0, 2549, '\p{^Is_Nv=00001/8}', "");
-Expect(0, 2549, '\P{Is_Nv=00001/8}', "");
-Expect(1, 2549, '\P{^Is_Nv=00001/8}', "");
-Expect(0, 2548, '\p{Is_Nv=00001/8}', "");
-Expect(1, 2548, '\p{^Is_Nv=00001/8}', "");
-Expect(1, 2548, '\P{Is_Nv=00001/8}', "");
-Expect(0, 2548, '\P{^Is_Nv=00001/8}', "");
-Error('\p{Is_Nv: 0.12}');
-Error('\P{Is_Nv: 0.12}');
-Expect(1, 2549, '\p{Is_Nv=0.125}', "");
-Expect(0, 2549, '\p{^Is_Nv=0.125}', "");
-Expect(0, 2549, '\P{Is_Nv=0.125}', "");
-Expect(1, 2549, '\P{^Is_Nv=0.125}', "");
-Expect(0, 2548, '\p{Is_Nv=0.125}', "");
-Expect(1, 2548, '\p{^Is_Nv=0.125}', "");
-Expect(1, 2548, '\P{Is_Nv=0.125}', "");
-Expect(0, 2548, '\P{^Is_Nv=0.125}', "");
-Error('\p{Numeric_Value= +005/00000006/a/}');
-Error('\P{Numeric_Value= +005/00000006/a/}');
-Expect(1, 8538, '\p{Numeric_Value: +0005/00000006}', "");
-Expect(0, 8538, '\p{^Numeric_Value: +0005/00000006}', "");
-Expect(0, 8538, '\P{Numeric_Value: +0005/00000006}', "");
-Expect(1, 8538, '\P{^Numeric_Value: +0005/00000006}', "");
-Expect(0, 8537, '\p{Numeric_Value: +0005/00000006}', "");
-Expect(1, 8537, '\p{^Numeric_Value: +0005/00000006}', "");
-Expect(1, 8537, '\P{Numeric_Value: +0005/00000006}', "");
-Expect(0, 8537, '\P{^Numeric_Value: +0005/00000006}', "");
-Error('\p{Numeric_Value=0.83}');
-Error('\P{Numeric_Value=0.83}');
-Expect(1, 8538, '\p{Numeric_Value=0.833}', "");
-Expect(0, 8538, '\p{^Numeric_Value=0.833}', "");
-Expect(0, 8538, '\P{Numeric_Value=0.833}', "");
-Expect(1, 8538, '\P{^Numeric_Value=0.833}', "");
-Expect(0, 8537, '\p{Numeric_Value=0.833}', "");
-Expect(1, 8537, '\p{^Numeric_Value=0.833}', "");
-Expect(1, 8537, '\P{Numeric_Value=0.833}', "");
-Expect(0, 8537, '\P{^Numeric_Value=0.833}', "");
-Error('\p{Nv=_:=05/00000006}');
-Error('\P{Nv=_:=05/00000006}');
-Expect(1, 8538, '\p{Nv=0005/00006}', "");
-Expect(0, 8538, '\p{^Nv=0005/00006}', "");
-Expect(0, 8538, '\P{Nv=0005/00006}', "");
-Expect(1, 8538, '\P{^Nv=0005/00006}', "");
-Expect(0, 8537, '\p{Nv=0005/00006}', "");
-Expect(1, 8537, '\p{^Nv=0005/00006}', "");
-Expect(1, 8537, '\P{Nv=0005/00006}', "");
-Expect(0, 8537, '\P{^Nv=0005/00006}', "");
-Error('\p{Nv=0.83}');
-Error('\P{Nv=0.83}');
-Expect(1, 8538, '\p{Nv: 0.833}', "");
-Expect(0, 8538, '\p{^Nv: 0.833}', "");
-Expect(0, 8538, '\P{Nv: 0.833}', "");
-Expect(1, 8538, '\P{^Nv: 0.833}', "");
-Expect(0, 8537, '\p{Nv: 0.833}', "");
-Expect(1, 8537, '\p{^Nv: 0.833}', "");
-Expect(1, 8537, '\P{Nv: 0.833}', "");
-Expect(0, 8537, '\P{^Nv: 0.833}', "");
-Error('\p{Is_Numeric_Value=/a/ 005/6}');
-Error('\P{Is_Numeric_Value=/a/ 005/6}');
-Expect(1, 8538, '\p{Is_Numeric_Value: +0005/000006}', "");
-Expect(0, 8538, '\p{^Is_Numeric_Value: +0005/000006}', "");
-Expect(0, 8538, '\P{Is_Numeric_Value: +0005/000006}', "");
-Expect(1, 8538, '\P{^Is_Numeric_Value: +0005/000006}', "");
-Expect(0, 8537, '\p{Is_Numeric_Value: +0005/000006}', "");
-Expect(1, 8537, '\p{^Is_Numeric_Value: +0005/000006}', "");
-Expect(1, 8537, '\P{Is_Numeric_Value: +0005/000006}', "");
-Expect(0, 8537, '\P{^Is_Numeric_Value: +0005/000006}', "");
-Error('\p{Is_Numeric_Value=0.83}');
-Error('\P{Is_Numeric_Value=0.83}');
-Expect(1, 8538, '\p{Is_Numeric_Value=0.833}', "");
-Expect(0, 8538, '\p{^Is_Numeric_Value=0.833}', "");
-Expect(0, 8538, '\P{Is_Numeric_Value=0.833}', "");
-Expect(1, 8538, '\P{^Is_Numeric_Value=0.833}', "");
-Expect(0, 8537, '\p{Is_Numeric_Value=0.833}', "");
-Expect(1, 8537, '\p{^Is_Numeric_Value=0.833}', "");
-Expect(1, 8537, '\P{Is_Numeric_Value=0.833}', "");
-Expect(0, 8537, '\P{^Is_Numeric_Value=0.833}', "");
-Error('\p{Is_Nv=:=- 000000005/06}');
-Error('\P{Is_Nv=:=- 000000005/06}');
-Expect(1, 8538, '\p{Is_Nv: 0000005/000006}', "");
-Expect(0, 8538, '\p{^Is_Nv: 0000005/000006}', "");
-Expect(0, 8538, '\P{Is_Nv: 0000005/000006}', "");
-Expect(1, 8538, '\P{^Is_Nv: 0000005/000006}', "");
-Expect(0, 8537, '\p{Is_Nv: 0000005/000006}', "");
-Expect(1, 8537, '\p{^Is_Nv: 0000005/000006}', "");
-Expect(1, 8537, '\P{Is_Nv: 0000005/000006}', "");
-Expect(0, 8537, '\P{^Is_Nv: 0000005/000006}', "");
-Error('\p{Is_Nv=0.83}');
-Error('\P{Is_Nv=0.83}');
-Expect(1, 8538, '\p{Is_Nv:0.833}', "");
-Expect(0, 8538, '\p{^Is_Nv:0.833}', "");
-Expect(0, 8538, '\P{Is_Nv:0.833}', "");
-Expect(1, 8538, '\P{^Is_Nv:0.833}', "");
-Expect(0, 8537, '\p{Is_Nv:0.833}', "");
-Expect(1, 8537, '\p{^Is_Nv:0.833}', "");
-Expect(1, 8537, '\P{Is_Nv:0.833}', "");
-Expect(0, 8537, '\P{^Is_Nv:0.833}', "");
-Error('\p{Numeric_Value=-/a/00000000025}');
-Error('\P{Numeric_Value=-/a/00000000025}');
-Expect(1, 12885, '\p{Numeric_Value=00000000025}', "");
-Expect(0, 12885, '\p{^Numeric_Value=00000000025}', "");
-Expect(0, 12885, '\P{Numeric_Value=00000000025}', "");
-Expect(1, 12885, '\P{^Numeric_Value=00000000025}', "");
-Expect(0, 12884, '\p{Numeric_Value=00000000025}', "");
-Expect(1, 12884, '\p{^Numeric_Value=00000000025}', "");
-Expect(1, 12884, '\P{Numeric_Value=00000000025}', "");
-Expect(0, 12884, '\P{^Numeric_Value=00000000025}', "");
-Error('\p{Nv= 0002/a/5}');
-Error('\P{Nv= 0002/a/5}');
-Expect(1, 12885, '\p{Nv=+00000025}', "");
-Expect(0, 12885, '\p{^Nv=+00000025}', "");
-Expect(0, 12885, '\P{Nv=+00000025}', "");
-Expect(1, 12885, '\P{^Nv=+00000025}', "");
-Expect(0, 12884, '\p{Nv=+00000025}', "");
-Expect(1, 12884, '\p{^Nv=+00000025}', "");
-Expect(1, 12884, '\P{Nv=+00000025}', "");
-Expect(0, 12884, '\P{^Nv=+00000025}', "");
-Error('\p{Is_Numeric_Value=/a/ _000_000 000-25}');
-Error('\P{Is_Numeric_Value=/a/ _000_000 000-25}');
-Expect(1, 12885, '\p{Is_Numeric_Value: 000000002_5}', "");
-Expect(0, 12885, '\p{^Is_Numeric_Value: 000000002_5}', "");
-Expect(0, 12885, '\P{Is_Numeric_Value: 000000002_5}', "");
-Expect(1, 12885, '\P{^Is_Numeric_Value: 000000002_5}', "");
-Expect(0, 12884, '\p{Is_Numeric_Value: 000000002_5}', "");
-Expect(1, 12884, '\p{^Is_Numeric_Value: 000000002_5}', "");
-Expect(1, 12884, '\P{Is_Numeric_Value: 000000002_5}', "");
-Expect(0, 12884, '\P{^Is_Numeric_Value: 000000002_5}', "");
-Error('\p{Is_Nv=-/a/0 0 0-25}');
-Error('\P{Is_Nv=-/a/0 0 0-25}');
-Expect(1, 12885, '\p{Is_Nv:0000025}', "");
-Expect(0, 12885, '\p{^Is_Nv:0000025}', "");
-Expect(0, 12885, '\P{Is_Nv:0000025}', "");
-Expect(1, 12885, '\P{^Is_Nv:0000025}', "");
-Expect(0, 12884, '\p{Is_Nv:0000025}', "");
-Expect(1, 12884, '\p{^Is_Nv:0000025}', "");
-Expect(1, 12884, '\P{Is_Nv:0000025}', "");
-Expect(0, 12884, '\P{^Is_Nv:0000025}', "");
-Error('\p{Numeric_Value=00_0028:=}');
-Error('\P{Numeric_Value=00_0028:=}');
-Expect(1, 12888, '\p{Numeric_Value=000028}', "");
-Expect(0, 12888, '\p{^Numeric_Value=000028}', "");
-Expect(0, 12888, '\P{Numeric_Value=000028}', "");
-Expect(1, 12888, '\P{^Numeric_Value=000028}', "");
-Expect(0, 12887, '\p{Numeric_Value=000028}', "");
-Expect(1, 12887, '\p{^Numeric_Value=000028}', "");
-Expect(1, 12887, '\P{Numeric_Value=000028}', "");
-Expect(0, 12887, '\P{^Numeric_Value=000028}', "");
-Error('\p{Nv=-/a/028}');
-Error('\P{Nv=-/a/028}');
-Expect(1, 12888, '\p{Nv=0000002_8}', "");
-Expect(0, 12888, '\p{^Nv=0000002_8}', "");
-Expect(0, 12888, '\P{Nv=0000002_8}', "");
-Expect(1, 12888, '\P{^Nv=0000002_8}', "");
-Expect(0, 12887, '\p{Nv=0000002_8}', "");
-Expect(1, 12887, '\p{^Nv=0000002_8}', "");
-Expect(1, 12887, '\P{Nv=0000002_8}', "");
-Expect(0, 12887, '\P{^Nv=0000002_8}', "");
-Error('\p{Is_Numeric_Value= 2-8:=}');
-Error('\P{Is_Numeric_Value= 2-8:=}');
-Expect(1, 12888, '\p{Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(0, 12888, '\p{^Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(0, 12888, '\P{Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(1, 12888, '\P{^Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(0, 12887, '\p{Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(1, 12887, '\p{^Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(1, 12887, '\P{Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Expect(0, 12887, '\P{^Is_Numeric_Value=0_0_0_0_0_0_00028}', "");
-Error('\p{Is_Nv= 02/a/8}');
-Error('\P{Is_Nv= 02/a/8}');
-Expect(1, 12888, '\p{Is_Nv=00000028}', "");
-Expect(0, 12888, '\p{^Is_Nv=00000028}', "");
-Expect(0, 12888, '\P{Is_Nv=00000028}', "");
-Expect(1, 12888, '\P{^Is_Nv=00000028}', "");
-Expect(0, 12887, '\p{Is_Nv=00000028}', "");
-Expect(1, 12887, '\p{^Is_Nv=00000028}', "");
-Expect(1, 12887, '\P{Is_Nv=00000028}', "");
-Expect(0, 12887, '\P{^Is_Nv=00000028}', "");
-Error('\p{Numeric_Value= /a/0007/0000000002}');
-Error('\P{Numeric_Value= /a/0007/0000000002}');
-Expect(1, 3885, '\p{Numeric_Value=007/000002}', "");
-Expect(0, 3885, '\p{^Numeric_Value=007/000002}', "");
-Expect(0, 3885, '\P{Numeric_Value=007/000002}', "");
-Expect(1, 3885, '\P{^Numeric_Value=007/000002}', "");
-Expect(0, 3884, '\p{Numeric_Value=007/000002}', "");
-Expect(1, 3884, '\p{^Numeric_Value=007/000002}', "");
-Expect(1, 3884, '\P{Numeric_Value=007/000002}', "");
-Expect(0, 3884, '\P{^Numeric_Value=007/000002}', "");
-Expect(1, 3885, '\p{Numeric_Value=3.500}', "");
-Expect(0, 3885, '\p{^Numeric_Value=3.500}', "");
-Expect(0, 3885, '\P{Numeric_Value=3.500}', "");
-Expect(1, 3885, '\P{^Numeric_Value=3.500}', "");
-Expect(0, 3884, '\p{Numeric_Value=3.500}', "");
-Expect(1, 3884, '\p{^Numeric_Value=3.500}', "");
-Expect(1, 3884, '\P{Numeric_Value=3.500}', "");
-Expect(0, 3884, '\P{^Numeric_Value=3.500}', "");
-Error('\p{Nv::= 7/000000002}');
-Error('\P{Nv::= 7/000000002}');
-Expect(1, 3885, '\p{Nv: +7/002}', "");
-Expect(0, 3885, '\p{^Nv: +7/002}', "");
-Expect(0, 3885, '\P{Nv: +7/002}', "");
-Expect(1, 3885, '\P{^Nv: +7/002}', "");
-Expect(0, 3884, '\p{Nv: +7/002}', "");
-Expect(1, 3884, '\p{^Nv: +7/002}', "");
-Expect(1, 3884, '\P{Nv: +7/002}', "");
-Expect(0, 3884, '\P{^Nv: +7/002}', "");
-Expect(1, 3885, '\p{Nv=3.500}', "");
-Expect(0, 3885, '\p{^Nv=3.500}', "");
-Expect(0, 3885, '\P{Nv=3.500}', "");
-Expect(1, 3885, '\P{^Nv=3.500}', "");
-Expect(0, 3884, '\p{Nv=3.500}', "");
-Expect(1, 3884, '\p{^Nv=3.500}', "");
-Expect(1, 3884, '\P{Nv=3.500}', "");
-Expect(0, 3884, '\P{^Nv=3.500}', "");
-Error('\p{Is_Numeric_Value=_ 007/000002/a/}');
-Error('\P{Is_Numeric_Value=_ 007/000002/a/}');
-Expect(1, 3885, '\p{Is_Numeric_Value=007/0002}', "");
-Expect(0, 3885, '\p{^Is_Numeric_Value=007/0002}', "");
-Expect(0, 3885, '\P{Is_Numeric_Value=007/0002}', "");
-Expect(1, 3885, '\P{^Is_Numeric_Value=007/0002}', "");
-Expect(0, 3884, '\p{Is_Numeric_Value=007/0002}', "");
-Expect(1, 3884, '\p{^Is_Numeric_Value=007/0002}', "");
-Expect(1, 3884, '\P{Is_Numeric_Value=007/0002}', "");
-Expect(0, 3884, '\P{^Is_Numeric_Value=007/0002}', "");
-Expect(1, 3885, '\p{Is_Numeric_Value=3.500}', "");
-Expect(0, 3885, '\p{^Is_Numeric_Value=3.500}', "");
-Expect(0, 3885, '\P{Is_Numeric_Value=3.500}', "");
-Expect(1, 3885, '\P{^Is_Numeric_Value=3.500}', "");
-Expect(0, 3884, '\p{Is_Numeric_Value=3.500}', "");
-Expect(1, 3884, '\p{^Is_Numeric_Value=3.500}', "");
-Expect(1, 3884, '\P{Is_Numeric_Value=3.500}', "");
-Expect(0, 3884, '\P{^Is_Numeric_Value=3.500}', "");
-Error('\p{Is_Nv=:=_007/000000002}');
-Error('\P{Is_Nv=:=_007/000000002}');
-Expect(1, 3885, '\p{Is_Nv=000007/0000000002}', "");
-Expect(0, 3885, '\p{^Is_Nv=000007/0000000002}', "");
-Expect(0, 3885, '\P{Is_Nv=000007/0000000002}', "");
-Expect(1, 3885, '\P{^Is_Nv=000007/0000000002}', "");
-Expect(0, 3884, '\p{Is_Nv=000007/0000000002}', "");
-Expect(1, 3884, '\p{^Is_Nv=000007/0000000002}', "");
-Expect(1, 3884, '\P{Is_Nv=000007/0000000002}', "");
-Expect(0, 3884, '\P{^Is_Nv=000007/0000000002}', "");
-Expect(1, 3885, '\p{Is_Nv=3.500}', "");
-Expect(0, 3885, '\p{^Is_Nv=3.500}', "");
-Expect(0, 3885, '\P{Is_Nv=3.500}', "");
-Expect(1, 3885, '\P{^Is_Nv=3.500}', "");
-Expect(0, 3884, '\p{Is_Nv=3.500}', "");
-Expect(1, 3884, '\p{^Is_Nv=3.500}', "");
-Expect(1, 3884, '\P{Is_Nv=3.500}', "");
-Expect(0, 3884, '\P{^Is_Nv=3.500}', "");
-Error('\p{Numeric_Value=/a/ 9/0002}');
-Error('\P{Numeric_Value=/a/ 9/0002}');
-Expect(1, 3886, '\p{Numeric_Value=+0000000009/02}', "");
-Expect(0, 3886, '\p{^Numeric_Value=+0000000009/02}', "");
-Expect(0, 3886, '\P{Numeric_Value=+0000000009/02}', "");
-Expect(1, 3886, '\P{^Numeric_Value=+0000000009/02}', "");
-Expect(0, 3885, '\p{Numeric_Value=+0000000009/02}', "");
-Expect(1, 3885, '\p{^Numeric_Value=+0000000009/02}', "");
-Expect(1, 3885, '\P{Numeric_Value=+0000000009/02}', "");
-Expect(0, 3885, '\P{^Numeric_Value=+0000000009/02}', "");
-Expect(1, 3886, '\p{Numeric_Value=4.500}', "");
-Expect(0, 3886, '\p{^Numeric_Value=4.500}', "");
-Expect(0, 3886, '\P{Numeric_Value=4.500}', "");
-Expect(1, 3886, '\P{^Numeric_Value=4.500}', "");
-Expect(0, 3885, '\p{Numeric_Value=4.500}', "");
-Expect(1, 3885, '\p{^Numeric_Value=4.500}', "");
-Expect(1, 3885, '\P{Numeric_Value=4.500}', "");
-Expect(0, 3885, '\P{^Numeric_Value=4.500}', "");
-Error('\p{Nv= +09/0000000002:=}');
-Error('\P{Nv= +09/0000000002:=}');
-Expect(1, 3886, '\p{Nv=00009/2}', "");
-Expect(0, 3886, '\p{^Nv=00009/2}', "");
-Expect(0, 3886, '\P{Nv=00009/2}', "");
-Expect(1, 3886, '\P{^Nv=00009/2}', "");
-Expect(0, 3885, '\p{Nv=00009/2}', "");
-Expect(1, 3885, '\p{^Nv=00009/2}', "");
-Expect(1, 3885, '\P{Nv=00009/2}', "");
-Expect(0, 3885, '\P{^Nv=00009/2}', "");
-Expect(1, 3886, '\p{Nv=4.500}', "");
-Expect(0, 3886, '\p{^Nv=4.500}', "");
-Expect(0, 3886, '\P{Nv=4.500}', "");
-Expect(1, 3886, '\P{^Nv=4.500}', "");
-Expect(0, 3885, '\p{Nv=4.500}', "");
-Expect(1, 3885, '\p{^Nv=4.500}', "");
-Expect(1, 3885, '\P{Nv=4.500}', "");
-Expect(0, 3885, '\P{^Nv=4.500}', "");
-Error('\p{Is_Numeric_Value=- +0000009/0002/a/}');
-Error('\P{Is_Numeric_Value=- +0000009/0002/a/}');
-Expect(1, 3886, '\p{Is_Numeric_Value=000009/00000002}', "");
-Expect(0, 3886, '\p{^Is_Numeric_Value=000009/00000002}', "");
-Expect(0, 3886, '\P{Is_Numeric_Value=000009/00000002}', "");
-Expect(1, 3886, '\P{^Is_Numeric_Value=000009/00000002}', "");
-Expect(0, 3885, '\p{Is_Numeric_Value=000009/00000002}', "");
-Expect(1, 3885, '\p{^Is_Numeric_Value=000009/00000002}', "");
-Expect(1, 3885, '\P{Is_Numeric_Value=000009/00000002}', "");
-Expect(0, 3885, '\P{^Is_Numeric_Value=000009/00000002}', "");
-Expect(1, 3886, '\p{Is_Numeric_Value=4.500}', "");
-Expect(0, 3886, '\p{^Is_Numeric_Value=4.500}', "");
-Expect(0, 3886, '\P{Is_Numeric_Value=4.500}', "");
-Expect(1, 3886, '\P{^Is_Numeric_Value=4.500}', "");
-Expect(0, 3885, '\p{Is_Numeric_Value=4.500}', "");
-Expect(1, 3885, '\p{^Is_Numeric_Value=4.500}', "");
-Expect(1, 3885, '\P{Is_Numeric_Value=4.500}', "");
-Expect(0, 3885, '\P{^Is_Numeric_Value=4.500}', "");
-Error('\p{Is_Nv= +09/00000002:=}');
-Error('\P{Is_Nv= +09/00000002:=}');
-Expect(1, 3886, '\p{Is_Nv=0009/0000002}', "");
-Expect(0, 3886, '\p{^Is_Nv=0009/0000002}', "");
-Expect(0, 3886, '\P{Is_Nv=0009/0000002}', "");
-Expect(1, 3886, '\P{^Is_Nv=0009/0000002}', "");
-Expect(0, 3885, '\p{Is_Nv=0009/0000002}', "");
-Expect(1, 3885, '\p{^Is_Nv=0009/0000002}', "");
-Expect(1, 3885, '\P{Is_Nv=0009/0000002}', "");
-Expect(0, 3885, '\P{^Is_Nv=0009/0000002}', "");
-Expect(1, 3886, '\p{Is_Nv=4.500}', "");
-Expect(0, 3886, '\p{^Is_Nv=4.500}', "");
-Expect(0, 3886, '\P{Is_Nv=4.500}', "");
-Expect(1, 3886, '\P{^Is_Nv=4.500}', "");
-Expect(0, 3885, '\p{Is_Nv=4.500}', "");
-Expect(1, 3885, '\p{^Is_Nv=4.500}', "");
-Expect(1, 3885, '\P{Is_Nv=4.500}', "");
-Expect(0, 3885, '\P{^Is_Nv=4.500}', "");
-Error('\p{Numeric_Value= 0_0/a/0_0 0-040}');
-Error('\P{Numeric_Value= 0_0/a/0_0 0-040}');
-Expect(1, 4981, '\p{Numeric_Value=+0000000040}', "");
-Expect(0, 4981, '\p{^Numeric_Value=+0000000040}', "");
-Expect(0, 4981, '\P{Numeric_Value=+0000000040}', "");
-Expect(1, 4981, '\P{^Numeric_Value=+0000000040}', "");
-Expect(0, 4980, '\p{Numeric_Value=+0000000040}', "");
-Expect(1, 4980, '\p{^Numeric_Value=+0000000040}', "");
-Expect(1, 4980, '\P{Numeric_Value=+0000000040}', "");
-Expect(0, 4980, '\P{^Numeric_Value=+0000000040}', "");
-Error('\p{Nv=/a/- 00000040}');
-Error('\P{Nv=/a/- 00000040}');
-Expect(1, 4981, '\p{Nv=40}', "");
-Expect(0, 4981, '\p{^Nv=40}', "");
-Expect(0, 4981, '\P{Nv=40}', "");
-Expect(1, 4981, '\P{^Nv=40}', "");
-Expect(0, 4980, '\p{Nv=40}', "");
-Expect(1, 4980, '\p{^Nv=40}', "");
-Expect(1, 4980, '\P{Nv=40}', "");
-Expect(0, 4980, '\P{^Nv=40}', "");
-Error('\p{Is_Numeric_Value::=__+040}');
-Error('\P{Is_Numeric_Value::=__+040}');
-Expect(1, 4981, '\p{Is_Numeric_Value=00000040}', "");
-Expect(0, 4981, '\p{^Is_Numeric_Value=00000040}', "");
-Expect(0, 4981, '\P{Is_Numeric_Value=00000040}', "");
-Expect(1, 4981, '\P{^Is_Numeric_Value=00000040}', "");
-Expect(0, 4980, '\p{Is_Numeric_Value=00000040}', "");
-Expect(1, 4980, '\p{^Is_Numeric_Value=00000040}', "");
-Expect(1, 4980, '\P{Is_Numeric_Value=00000040}', "");
-Expect(0, 4980, '\P{^Is_Numeric_Value=00000040}', "");
-Error('\p{Is_Nv= +00000040/a/}');
-Error('\P{Is_Nv= +00000040/a/}');
-Expect(1, 4981, '\p{Is_Nv=000000040}', "");
-Expect(0, 4981, '\p{^Is_Nv=000000040}', "");
-Expect(0, 4981, '\P{Is_Nv=000000040}', "");
-Expect(1, 4981, '\P{^Is_Nv=000000040}', "");
-Expect(0, 4980, '\p{Is_Nv=000000040}', "");
-Expect(1, 4980, '\p{^Is_Nv=000000040}', "");
-Expect(1, 4980, '\P{Is_Nv=000000040}', "");
-Expect(0, 4980, '\P{^Is_Nv=000000040}', "");
-Error('\p{Numeric_Value=_:=0 0 0 0 0_03000}');
-Error('\P{Numeric_Value=_:=0 0 0 0 0_03000}');
-Expect(1, 65828, '\p{Numeric_Value=3_0_00}', "");
-Expect(0, 65828, '\p{^Numeric_Value=3_0_00}', "");
-Expect(0, 65828, '\P{Numeric_Value=3_0_00}', "");
-Expect(1, 65828, '\P{^Numeric_Value=3_0_00}', "");
-Expect(0, 65827, '\p{Numeric_Value=3_0_00}', "");
-Expect(1, 65827, '\p{^Numeric_Value=3_0_00}', "");
-Expect(1, 65827, '\P{Numeric_Value=3_0_00}', "");
-Expect(0, 65827, '\P{^Numeric_Value=3_0_00}', "");
-Error('\p{Nv=- 0000003000:=}');
-Error('\P{Nv=- 0000003000:=}');
-Expect(1, 65828, '\p{Nv=0_0_0_0_3_0_00}', "");
-Expect(0, 65828, '\p{^Nv=0_0_0_0_3_0_00}', "");
-Expect(0, 65828, '\P{Nv=0_0_0_0_3_0_00}', "");
-Expect(1, 65828, '\P{^Nv=0_0_0_0_3_0_00}', "");
-Expect(0, 65827, '\p{Nv=0_0_0_0_3_0_00}', "");
-Expect(1, 65827, '\p{^Nv=0_0_0_0_3_0_00}', "");
-Expect(1, 65827, '\P{Nv=0_0_0_0_3_0_00}', "");
-Expect(0, 65827, '\P{^Nv=0_0_0_0_3_0_00}', "");
-Error('\p{Is_Numeric_Value=_-+0003000:=}');
-Error('\P{Is_Numeric_Value=_-+0003000:=}');
-Expect(1, 65828, '\p{Is_Numeric_Value=+3000}', "");
-Expect(0, 65828, '\p{^Is_Numeric_Value=+3000}', "");
-Expect(0, 65828, '\P{Is_Numeric_Value=+3000}', "");
-Expect(1, 65828, '\P{^Is_Numeric_Value=+3000}', "");
-Expect(0, 65827, '\p{Is_Numeric_Value=+3000}', "");
-Expect(1, 65827, '\p{^Is_Numeric_Value=+3000}', "");
-Expect(1, 65827, '\P{Is_Numeric_Value=+3000}', "");
-Expect(0, 65827, '\P{^Is_Numeric_Value=+3000}', "");
-Error('\p{Is_Nv=:= _00000003000}');
-Error('\P{Is_Nv=:= _00000003000}');
-Expect(1, 65828, '\p{Is_Nv=003000}', "");
-Expect(0, 65828, '\p{^Is_Nv=003000}', "");
-Expect(0, 65828, '\P{Is_Nv=003000}', "");
-Expect(1, 65828, '\P{^Is_Nv=003000}', "");
-Expect(0, 65827, '\p{Is_Nv=003000}', "");
-Expect(1, 65827, '\p{^Is_Nv=003000}', "");
-Expect(1, 65827, '\P{Is_Nv=003000}', "");
-Expect(0, 65827, '\P{^Is_Nv=003000}', "");
-Error('\p{Numeric_Value=_-+000000000800:=}');
-Error('\P{Numeric_Value=_-+000000000800:=}');
-Expect(1, 65824, '\p{Numeric_Value=000000800}', "");
-Expect(0, 65824, '\p{^Numeric_Value=000000800}', "");
-Expect(0, 65824, '\P{Numeric_Value=000000800}', "");
-Expect(1, 65824, '\P{^Numeric_Value=000000800}', "");
-Expect(0, 65823, '\p{Numeric_Value=000000800}', "");
-Expect(1, 65823, '\p{^Numeric_Value=000000800}', "");
-Expect(1, 65823, '\P{Numeric_Value=000000800}', "");
-Expect(0, 65823, '\P{^Numeric_Value=000000800}', "");
-Error('\p{Nv=_0000800/a/}');
-Error('\P{Nv=_0000800/a/}');
-Expect(1, 65824, '\p{Nv=+80_0}', "");
-Expect(0, 65824, '\p{^Nv=+80_0}', "");
-Expect(0, 65824, '\P{Nv=+80_0}', "");
-Expect(1, 65824, '\P{^Nv=+80_0}', "");
-Expect(0, 65823, '\p{Nv=+80_0}', "");
-Expect(1, 65823, '\p{^Nv=+80_0}', "");
-Expect(1, 65823, '\P{Nv=+80_0}', "");
-Expect(0, 65823, '\P{^Nv=+80_0}', "");
-Error('\p{Is_Numeric_Value=- +0:=00 0-00-0800}');
-Error('\P{Is_Numeric_Value=- +0:=00 0-00-0800}');
-Expect(1, 65824, '\p{Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(0, 65824, '\p{^Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(0, 65824, '\P{Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(1, 65824, '\P{^Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(0, 65823, '\p{Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(1, 65823, '\p{^Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(1, 65823, '\P{Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Expect(0, 65823, '\P{^Is_Numeric_Value=0_0_0_0_0_0_0_00800}', "");
-Error('\p{Is_Nv=:= +000000000800}');
-Error('\P{Is_Nv=:= +000000000800}');
-Expect(1, 65824, '\p{Is_Nv: 800}', "");
-Expect(0, 65824, '\p{^Is_Nv: 800}', "");
-Expect(0, 65824, '\P{Is_Nv: 800}', "");
-Expect(1, 65824, '\P{^Is_Nv: 800}', "");
-Expect(0, 65823, '\p{Is_Nv: 800}', "");
-Expect(1, 65823, '\p{^Is_Nv: 800}', "");
-Expect(1, 65823, '\P{Is_Nv: 800}', "");
-Expect(0, 65823, '\P{^Is_Nv: 800}', "");
-Error('\p{Numeric_Value=_ 0009000/a/}');
-Error('\P{Numeric_Value=_ 0009000/a/}');
-Expect(1, 65834, '\p{Numeric_Value=+0_0_0_9_000}', "");
-Expect(0, 65834, '\p{^Numeric_Value=+0_0_0_9_000}', "");
-Expect(0, 65834, '\P{Numeric_Value=+0_0_0_9_000}', "");
-Expect(1, 65834, '\P{^Numeric_Value=+0_0_0_9_000}', "");
-Expect(0, 65833, '\p{Numeric_Value=+0_0_0_9_000}', "");
-Expect(1, 65833, '\p{^Numeric_Value=+0_0_0_9_000}', "");
-Expect(1, 65833, '\P{Numeric_Value=+0_0_0_9_000}', "");
-Expect(0, 65833, '\P{^Numeric_Value=+0_0_0_9_000}', "");
-Error('\p{Nv: :=00000-009000}');
-Error('\P{Nv: :=00000-009000}');
-Expect(1, 65834, '\p{Nv=0_0_9_000}', "");
-Expect(0, 65834, '\p{^Nv=0_0_9_000}', "");
-Expect(0, 65834, '\P{Nv=0_0_9_000}', "");
-Expect(1, 65834, '\P{^Nv=0_0_9_000}', "");
-Expect(0, 65833, '\p{Nv=0_0_9_000}', "");
-Expect(1, 65833, '\p{^Nv=0_0_9_000}', "");
-Expect(1, 65833, '\P{Nv=0_0_9_000}', "");
-Expect(0, 65833, '\P{^Nv=0_0_9_000}', "");
-Error('\p{Is_Numeric_Value=_:=00_00-00 00 09-000}');
-Error('\P{Is_Numeric_Value=_:=00_00-00 00 09-000}');
-Expect(1, 65834, '\p{Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(0, 65834, '\p{^Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(0, 65834, '\P{Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(1, 65834, '\P{^Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(0, 65833, '\p{Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(1, 65833, '\p{^Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(1, 65833, '\P{Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Expect(0, 65833, '\P{^Is_Numeric_Value=+0_0_0_0_9_000}', "");
-Error('\p{Is_Nv=--900 0:=}');
-Error('\P{Is_Nv=--900 0:=}');
-Expect(1, 65834, '\p{Is_Nv=000_090_00}', "");
-Expect(0, 65834, '\p{^Is_Nv=000_090_00}', "");
-Expect(0, 65834, '\P{Is_Nv=000_090_00}', "");
-Expect(1, 65834, '\P{^Is_Nv=000_090_00}', "");
-Expect(0, 65833, '\p{Is_Nv=000_090_00}', "");
-Expect(1, 65833, '\p{^Is_Nv=000_090_00}', "");
-Expect(1, 65833, '\P{Is_Nv=000_090_00}', "");
-Expect(0, 65833, '\P{^Is_Nv=000_090_00}', "");
-Error('\p{Numeric_Value=/a/-_000014}');
-Error('\P{Numeric_Value=/a/-_000014}');
-Expect(1, 9325, '\p{Numeric_Value: 014}', "");
-Expect(0, 9325, '\p{^Numeric_Value: 014}', "");
-Expect(0, 9325, '\P{Numeric_Value: 014}', "");
-Expect(1, 9325, '\P{^Numeric_Value: 014}', "");
-Expect(0, 9324, '\p{Numeric_Value: 014}', "");
-Expect(1, 9324, '\p{^Numeric_Value: 014}', "");
-Expect(1, 9324, '\P{Numeric_Value: 014}', "");
-Expect(0, 9324, '\P{^Numeric_Value: 014}', "");
-Error('\p{Nv=_ 000_001 4:=}');
-Error('\P{Nv=_ 000_001 4:=}');
-Expect(1, 9325, '\p{Nv=00000000014}', "");
-Expect(0, 9325, '\p{^Nv=00000000014}', "");
-Expect(0, 9325, '\P{Nv=00000000014}', "");
-Expect(1, 9325, '\P{^Nv=00000000014}', "");
-Expect(0, 9324, '\p{Nv=00000000014}', "");
-Expect(1, 9324, '\p{^Nv=00000000014}', "");
-Expect(1, 9324, '\P{Nv=00000000014}', "");
-Expect(0, 9324, '\P{^Nv=00000000014}', "");
-Error('\p{Is_Numeric_Value=-:=0001 4}');
-Error('\P{Is_Numeric_Value=-:=0001 4}');
-Expect(1, 9325, '\p{Is_Numeric_Value=+000_000_001_4}', "");
-Expect(0, 9325, '\p{^Is_Numeric_Value=+000_000_001_4}', "");
-Expect(0, 9325, '\P{Is_Numeric_Value=+000_000_001_4}', "");
-Expect(1, 9325, '\P{^Is_Numeric_Value=+000_000_001_4}', "");
-Expect(0, 9324, '\p{Is_Numeric_Value=+000_000_001_4}', "");
-Expect(1, 9324, '\p{^Is_Numeric_Value=+000_000_001_4}', "");
-Expect(1, 9324, '\P{Is_Numeric_Value=+000_000_001_4}', "");
-Expect(0, 9324, '\P{^Is_Numeric_Value=+000_000_001_4}', "");
-Error('\p{Is_Nv=/a/ _01-4}');
-Error('\P{Is_Nv=/a/ _01-4}');
-Expect(1, 9325, '\p{Is_Nv=+00_00_01_4}', "");
-Expect(0, 9325, '\p{^Is_Nv=+00_00_01_4}', "");
-Expect(0, 9325, '\P{Is_Nv=+00_00_01_4}', "");
-Expect(1, 9325, '\P{^Is_Nv=+00_00_01_4}', "");
-Expect(0, 9324, '\p{Is_Nv=+00_00_01_4}', "");
-Expect(1, 9324, '\p{^Is_Nv=+00_00_01_4}', "");
-Expect(1, 9324, '\P{Is_Nv=+00_00_01_4}', "");
-Expect(0, 9324, '\P{^Is_Nv=+00_00_01_4}', "");
-Error('\p{Numeric_Value=_+006000:=0}');
-Error('\P{Numeric_Value=_+006000:=0}');
-Expect(1, 65840, '\p{Numeric_Value=+0000_0600_00}', "");
-Expect(0, 65840, '\p{^Numeric_Value=+0000_0600_00}', "");
-Expect(0, 65840, '\P{Numeric_Value=+0000_0600_00}', "");
-Expect(1, 65840, '\P{^Numeric_Value=+0000_0600_00}', "");
-Expect(0, 65839, '\p{Numeric_Value=+0000_0600_00}', "");
-Expect(1, 65839, '\p{^Numeric_Value=+0000_0600_00}', "");
-Expect(1, 65839, '\P{Numeric_Value=+0000_0600_00}', "");
-Expect(0, 65839, '\P{^Numeric_Value=+0000_0600_00}', "");
-Error('\p{Nv= 0 0-6 0:=0-00}');
-Error('\P{Nv= 0 0-6 0:=0-00}');
-Expect(1, 65840, '\p{Nv=+60000}', "");
-Expect(0, 65840, '\p{^Nv=+60000}', "");
-Expect(0, 65840, '\P{Nv=+60000}', "");
-Expect(1, 65840, '\P{^Nv=+60000}', "");
-Expect(0, 65839, '\p{Nv=+60000}', "");
-Expect(1, 65839, '\p{^Nv=+60000}', "");
-Expect(1, 65839, '\P{Nv=+60000}', "");
-Expect(0, 65839, '\P{^Nv=+60000}', "");
-Error('\p{Is_Numeric_Value: /a/00000000060000}');
-Error('\P{Is_Numeric_Value: /a/00000000060000}');
-Expect(1, 65840, '\p{Is_Numeric_Value=00_06_00_00}', "");
-Expect(0, 65840, '\p{^Is_Numeric_Value=00_06_00_00}', "");
-Expect(0, 65840, '\P{Is_Numeric_Value=00_06_00_00}', "");
-Expect(1, 65840, '\P{^Is_Numeric_Value=00_06_00_00}', "");
-Expect(0, 65839, '\p{Is_Numeric_Value=00_06_00_00}', "");
-Expect(1, 65839, '\p{^Is_Numeric_Value=00_06_00_00}', "");
-Expect(1, 65839, '\P{Is_Numeric_Value=00_06_00_00}', "");
-Expect(0, 65839, '\P{^Is_Numeric_Value=00_06_00_00}', "");
-Error('\p{Is_Nv:__+0/a/0 0-0 0 60000}');
-Error('\P{Is_Nv:__+0/a/0 0-0 0 60000}');
-Expect(1, 65840, '\p{Is_Nv=0000006000_0}', "");
-Expect(0, 65840, '\p{^Is_Nv=0000006000_0}', "");
-Expect(0, 65840, '\P{Is_Nv=0000006000_0}', "");
-Expect(1, 65840, '\P{^Is_Nv=0000006000_0}', "");
-Expect(0, 65839, '\p{Is_Nv=0000006000_0}', "");
-Expect(1, 65839, '\p{^Is_Nv=0000006000_0}', "");
-Expect(1, 65839, '\P{Is_Nv=0000006000_0}', "");
-Expect(0, 65839, '\P{^Is_Nv=0000006000_0}', "");
-Error('\p{Numeric_Value=__49:=}');
-Error('\P{Numeric_Value=__49:=}');
-Expect(1, 12990, '\p{Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(0, 12990, '\p{^Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(0, 12990, '\P{Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(1, 12990, '\P{^Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(0, 12989, '\p{Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(1, 12989, '\p{^Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(1, 12989, '\P{Numeric_Value=+00_00_00_00_04_9}', "");
-Expect(0, 12989, '\P{^Numeric_Value=+00_00_00_00_04_9}', "");
-Error('\p{Nv=:=+0000049}');
-Error('\P{Nv=:=+0000049}');
-Expect(1, 12990, '\p{Nv=4_9}', "");
-Expect(0, 12990, '\p{^Nv=4_9}', "");
-Expect(0, 12990, '\P{Nv=4_9}', "");
-Expect(1, 12990, '\P{^Nv=4_9}', "");
-Expect(0, 12989, '\p{Nv=4_9}', "");
-Expect(1, 12989, '\p{^Nv=4_9}', "");
-Expect(1, 12989, '\P{Nv=4_9}', "");
-Expect(0, 12989, '\P{^Nv=4_9}', "");
-Error('\p{Is_Numeric_Value=_00049:=}');
-Error('\P{Is_Numeric_Value=_00049:=}');
-Expect(1, 12990, '\p{Is_Numeric_Value=000000049}', "");
-Expect(0, 12990, '\p{^Is_Numeric_Value=000000049}', "");
-Expect(0, 12990, '\P{Is_Numeric_Value=000000049}', "");
-Expect(1, 12990, '\P{^Is_Numeric_Value=000000049}', "");
-Expect(0, 12989, '\p{Is_Numeric_Value=000000049}', "");
-Expect(1, 12989, '\p{^Is_Numeric_Value=000000049}', "");
-Expect(1, 12989, '\P{Is_Numeric_Value=000000049}', "");
-Expect(0, 12989, '\P{^Is_Numeric_Value=000000049}', "");
-Error('\p{Is_Nv=--0049/a/}');
-Error('\P{Is_Nv=--0049/a/}');
-Expect(1, 12990, '\p{Is_Nv=+0004_9}', "");
-Expect(0, 12990, '\p{^Is_Nv=+0004_9}', "");
-Expect(0, 12990, '\P{Is_Nv=+0004_9}', "");
-Expect(1, 12990, '\P{^Is_Nv=+0004_9}', "");
-Expect(0, 12989, '\p{Is_Nv=+0004_9}', "");
-Expect(1, 12989, '\p{^Is_Nv=+0004_9}', "");
-Expect(1, 12989, '\P{Is_Nv=+0004_9}', "");
-Expect(0, 12989, '\P{^Is_Nv=+0004_9}', "");
-Error('\p{Numeric_Value=- +000000024/a/}');
-Error('\P{Numeric_Value=- +000000024/a/}');
-Expect(1, 12884, '\p{Numeric_Value=+00024}', "");
-Expect(0, 12884, '\p{^Numeric_Value=+00024}', "");
-Expect(0, 12884, '\P{Numeric_Value=+00024}', "");
-Expect(1, 12884, '\P{^Numeric_Value=+00024}', "");
-Expect(0, 12883, '\p{Numeric_Value=+00024}', "");
-Expect(1, 12883, '\p{^Numeric_Value=+00024}', "");
-Expect(1, 12883, '\P{Numeric_Value=+00024}', "");
-Expect(0, 12883, '\P{^Numeric_Value=+00024}', "");
-Error('\p{Nv=-/a/024}');
-Error('\P{Nv=-/a/024}');
-Expect(1, 12884, '\p{Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(0, 12884, '\p{^Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(0, 12884, '\P{Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(1, 12884, '\P{^Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(0, 12883, '\p{Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(1, 12883, '\p{^Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(1, 12883, '\P{Nv=+0_0_0_0_0_0_0_24}', "");
-Expect(0, 12883, '\P{^Nv=+0_0_0_0_0_0_0_24}', "");
-Error('\p{Is_Numeric_Value= 2/a/4}');
-Error('\P{Is_Numeric_Value= 2/a/4}');
-Expect(1, 12884, '\p{Is_Numeric_Value=0000_0002_4}', "");
-Expect(0, 12884, '\p{^Is_Numeric_Value=0000_0002_4}', "");
-Expect(0, 12884, '\P{Is_Numeric_Value=0000_0002_4}', "");
-Expect(1, 12884, '\P{^Is_Numeric_Value=0000_0002_4}', "");
-Expect(0, 12883, '\p{Is_Numeric_Value=0000_0002_4}', "");
-Expect(1, 12883, '\p{^Is_Numeric_Value=0000_0002_4}', "");
-Expect(1, 12883, '\P{Is_Numeric_Value=0000_0002_4}', "");
-Expect(0, 12883, '\P{^Is_Numeric_Value=0000_0002_4}', "");
-Error('\p{Is_Nv= -00024/a/}');
-Error('\P{Is_Nv= -00024/a/}');
-Expect(1, 12884, '\p{Is_Nv=000024}', "");
-Expect(0, 12884, '\p{^Is_Nv=000024}', "");
-Expect(0, 12884, '\P{Is_Nv=000024}', "");
-Expect(1, 12884, '\P{^Is_Nv=000024}', "");
-Expect(0, 12883, '\p{Is_Nv=000024}', "");
-Expect(1, 12883, '\p{^Is_Nv=000024}', "");
-Expect(1, 12883, '\P{Is_Nv=000024}', "");
-Expect(0, 12883, '\P{^Is_Nv=000024}', "");
-Error('\p{Numeric_Value=--001/00000004:=}');
-Error('\P{Numeric_Value=--001/00000004:=}');
-Expect(1, 188, '\p{Numeric_Value=0000001/00004}', "");
-Expect(0, 188, '\p{^Numeric_Value=0000001/00004}', "");
-Expect(0, 188, '\P{Numeric_Value=0000001/00004}', "");
-Expect(1, 188, '\P{^Numeric_Value=0000001/00004}', "");
-Expect(0, 187, '\p{Numeric_Value=0000001/00004}', "");
-Expect(1, 187, '\p{^Numeric_Value=0000001/00004}', "");
-Expect(1, 187, '\P{Numeric_Value=0000001/00004}', "");
-Expect(0, 187, '\P{^Numeric_Value=0000001/00004}', "");
-Expect(1, 188, '\p{Numeric_Value=0.250}', "");
-Expect(0, 188, '\p{^Numeric_Value=0.250}', "");
-Expect(0, 188, '\P{Numeric_Value=0.250}', "");
-Expect(1, 188, '\P{^Numeric_Value=0.250}', "");
-Expect(0, 187, '\p{Numeric_Value=0.250}', "");
-Expect(1, 187, '\p{^Numeric_Value=0.250}', "");
-Expect(1, 187, '\P{Numeric_Value=0.250}', "");
-Expect(0, 187, '\P{^Numeric_Value=0.250}', "");
-Error('\p{Nv=/a/ 00001/00000004}');
-Error('\P{Nv=/a/ 00001/00000004}');
-Expect(1, 188, '\p{Nv=+0001/0000000004}', "");
-Expect(0, 188, '\p{^Nv=+0001/0000000004}', "");
-Expect(0, 188, '\P{Nv=+0001/0000000004}', "");
-Expect(1, 188, '\P{^Nv=+0001/0000000004}', "");
-Expect(0, 187, '\p{Nv=+0001/0000000004}', "");
-Expect(1, 187, '\p{^Nv=+0001/0000000004}', "");
-Expect(1, 187, '\P{Nv=+0001/0000000004}', "");
-Expect(0, 187, '\P{^Nv=+0001/0000000004}', "");
-Expect(1, 188, '\p{Nv=0.250}', "");
-Expect(0, 188, '\p{^Nv=0.250}', "");
-Expect(0, 188, '\P{Nv=0.250}', "");
-Expect(1, 188, '\P{^Nv=0.250}', "");
-Expect(0, 187, '\p{Nv=0.250}', "");
-Expect(1, 187, '\p{^Nv=0.250}', "");
-Expect(1, 187, '\P{Nv=0.250}', "");
-Expect(0, 187, '\P{^Nv=0.250}', "");
-Error('\p{Is_Numeric_Value= :=000001/004}');
-Error('\P{Is_Numeric_Value= :=000001/004}');
-Expect(1, 188, '\p{Is_Numeric_Value=01/4}', "");
-Expect(0, 188, '\p{^Is_Numeric_Value=01/4}', "");
-Expect(0, 188, '\P{Is_Numeric_Value=01/4}', "");
-Expect(1, 188, '\P{^Is_Numeric_Value=01/4}', "");
-Expect(0, 187, '\p{Is_Numeric_Value=01/4}', "");
-Expect(1, 187, '\p{^Is_Numeric_Value=01/4}', "");
-Expect(1, 187, '\P{Is_Numeric_Value=01/4}', "");
-Expect(0, 187, '\P{^Is_Numeric_Value=01/4}', "");
-Expect(1, 188, '\p{Is_Numeric_Value: 0.250}', "");
-Expect(0, 188, '\p{^Is_Numeric_Value: 0.250}', "");
-Expect(0, 188, '\P{Is_Numeric_Value: 0.250}', "");
-Expect(1, 188, '\P{^Is_Numeric_Value: 0.250}', "");
-Expect(0, 187, '\p{Is_Numeric_Value: 0.250}', "");
-Expect(1, 187, '\p{^Is_Numeric_Value: 0.250}', "");
-Expect(1, 187, '\P{Is_Numeric_Value: 0.250}', "");
-Expect(0, 187, '\P{^Is_Numeric_Value: 0.250}', "");
-Error('\p{Is_Nv=:= 1/00000004}');
-Error('\P{Is_Nv=:= 1/00000004}');
-Expect(1, 188, '\p{Is_Nv=0001/04}', "");
-Expect(0, 188, '\p{^Is_Nv=0001/04}', "");
-Expect(0, 188, '\P{Is_Nv=0001/04}', "");
-Expect(1, 188, '\P{^Is_Nv=0001/04}', "");
-Expect(0, 187, '\p{Is_Nv=0001/04}', "");
-Expect(1, 187, '\p{^Is_Nv=0001/04}', "");
-Expect(1, 187, '\P{Is_Nv=0001/04}', "");
-Expect(0, 187, '\P{^Is_Nv=0001/04}', "");
-Expect(1, 188, '\p{Is_Nv=0.250}', "");
-Expect(0, 188, '\p{^Is_Nv=0.250}', "");
-Expect(0, 188, '\P{Is_Nv=0.250}', "");
-Expect(1, 188, '\P{^Is_Nv=0.250}', "");
-Expect(0, 187, '\p{Is_Nv=0.250}', "");
-Expect(1, 187, '\p{^Is_Nv=0.250}', "");
-Expect(1, 187, '\P{Is_Nv=0.250}', "");
-Expect(0, 187, '\P{^Is_Nv=0.250}', "");
-Error('\p{Numeric_Value= -09:=00 00}');
-Error('\P{Numeric_Value= -09:=00 00}');
-Expect(1, 65843, '\p{Numeric_Value=00090000}', "");
-Expect(0, 65843, '\p{^Numeric_Value=00090000}', "");
-Expect(0, 65843, '\P{Numeric_Value=00090000}', "");
-Expect(1, 65843, '\P{^Numeric_Value=00090000}', "");
-Expect(0, 65842, '\p{Numeric_Value=00090000}', "");
-Expect(1, 65842, '\p{^Numeric_Value=00090000}', "");
-Expect(1, 65842, '\P{Numeric_Value=00090000}', "");
-Expect(0, 65842, '\P{^Numeric_Value=00090000}', "");
-Error('\p{Nv: -/a/000090000}');
-Error('\P{Nv: -/a/000090000}');
-Expect(1, 65843, '\p{Nv=00090000}', "");
-Expect(0, 65843, '\p{^Nv=00090000}', "");
-Expect(0, 65843, '\P{Nv=00090000}', "");
-Expect(1, 65843, '\P{^Nv=00090000}', "");
-Expect(0, 65842, '\p{Nv=00090000}', "");
-Expect(1, 65842, '\p{^Nv=00090000}', "");
-Expect(1, 65842, '\P{Nv=00090000}', "");
-Expect(0, 65842, '\P{^Nv=00090000}', "");
-Error('\p{Is_Numeric_Value: -00000090000/a/}');
-Error('\P{Is_Numeric_Value: -00000090000/a/}');
-Expect(1, 65843, '\p{Is_Numeric_Value=+000_000_900_00}', "");
-Expect(0, 65843, '\p{^Is_Numeric_Value=+000_000_900_00}', "");
-Expect(0, 65843, '\P{Is_Numeric_Value=+000_000_900_00}', "");
-Expect(1, 65843, '\P{^Is_Numeric_Value=+000_000_900_00}', "");
-Expect(0, 65842, '\p{Is_Numeric_Value=+000_000_900_00}', "");
-Expect(1, 65842, '\p{^Is_Numeric_Value=+000_000_900_00}', "");
-Expect(1, 65842, '\P{Is_Numeric_Value=+000_000_900_00}', "");
-Expect(0, 65842, '\P{^Is_Numeric_Value=+000_000_900_00}', "");
-Error('\p{Is_Nv=-/a/+0_0 0 0_0-90000}');
-Error('\P{Is_Nv=-/a/+0_0 0 0_0-90000}');
-Expect(1, 65843, '\p{Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(0, 65843, '\p{^Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(0, 65843, '\P{Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(1, 65843, '\P{^Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(0, 65842, '\p{Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(1, 65842, '\p{^Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(1, 65842, '\P{Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Expect(0, 65842, '\P{^Is_Nv=0_0_0_0_0_0_0_90000}', "");
-Error('\p{Numeric_Value= 000050000/a/}');
-Error('\P{Numeric_Value= 000050000/a/}');
-Expect(1, 8583, '\p{Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(0, 8583, '\p{^Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(0, 8583, '\P{Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(1, 8583, '\P{^Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(0, 8582, '\p{Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(1, 8582, '\p{^Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(1, 8582, '\P{Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Expect(0, 8582, '\P{^Numeric_Value=+0_0_0_0_0_0_0_5_0000}', "");
-Error('\p{Nv=_:=0050000}');
-Error('\P{Nv=_:=0050000}');
-Expect(1, 8583, '\p{Nv=00000050000}', "");
-Expect(0, 8583, '\p{^Nv=00000050000}', "");
-Expect(0, 8583, '\P{Nv=00000050000}', "");
-Expect(1, 8583, '\P{^Nv=00000050000}', "");
-Expect(0, 8582, '\p{Nv=00000050000}', "");
-Expect(1, 8582, '\p{^Nv=00000050000}', "");
-Expect(1, 8582, '\P{Nv=00000050000}', "");
-Expect(0, 8582, '\P{^Nv=00000050000}', "");
-Error('\p{Is_Numeric_Value=/a/ 00000000050000}');
-Error('\P{Is_Numeric_Value=/a/ 00000000050000}');
-Expect(1, 8583, '\p{Is_Numeric_Value=5000_0}', "");
-Expect(0, 8583, '\p{^Is_Numeric_Value=5000_0}', "");
-Expect(0, 8583, '\P{Is_Numeric_Value=5000_0}', "");
-Expect(1, 8583, '\P{^Is_Numeric_Value=5000_0}', "");
-Expect(0, 8582, '\p{Is_Numeric_Value=5000_0}', "");
-Expect(1, 8582, '\p{^Is_Numeric_Value=5000_0}', "");
-Expect(1, 8582, '\P{Is_Numeric_Value=5000_0}', "");
-Expect(0, 8582, '\P{^Is_Numeric_Value=5000_0}', "");
-Error('\p{Is_Nv=/a/0005 00_00}');
-Error('\P{Is_Nv=/a/0005 00_00}');
-Expect(1, 8583, '\p{Is_Nv=000_000_500_00}', "");
-Expect(0, 8583, '\p{^Is_Nv=000_000_500_00}', "");
-Expect(0, 8583, '\P{Is_Nv=000_000_500_00}', "");
-Expect(1, 8583, '\P{^Is_Nv=000_000_500_00}', "");
-Expect(0, 8582, '\p{Is_Nv=000_000_500_00}', "");
-Expect(1, 8582, '\p{^Is_Nv=000_000_500_00}', "");
-Expect(1, 8582, '\P{Is_Nv=000_000_500_00}', "");
-Expect(0, 8582, '\P{^Is_Nv=000_000_500_00}', "");
-Error('\p{Numeric_Value= 00040000:=}');
-Error('\P{Numeric_Value= 00040000:=}');
-Expect(1, 65838, '\p{Numeric_Value=04000_0}', "");
-Expect(0, 65838, '\p{^Numeric_Value=04000_0}', "");
-Expect(0, 65838, '\P{Numeric_Value=04000_0}', "");
-Expect(1, 65838, '\P{^Numeric_Value=04000_0}', "");
-Expect(0, 65837, '\p{Numeric_Value=04000_0}', "");
-Expect(1, 65837, '\p{^Numeric_Value=04000_0}', "");
-Expect(1, 65837, '\P{Numeric_Value=04000_0}', "");
-Expect(0, 65837, '\P{^Numeric_Value=04000_0}', "");
-Error('\p{Nv=/a/-+00 40 00-0}');
-Error('\P{Nv=/a/-+00 40 00-0}');
-Expect(1, 65838, '\p{Nv=+0_0_0_4_0000}', "");
-Expect(0, 65838, '\p{^Nv=+0_0_0_4_0000}', "");
-Expect(0, 65838, '\P{Nv=+0_0_0_4_0000}', "");
-Expect(1, 65838, '\P{^Nv=+0_0_0_4_0000}', "");
-Expect(0, 65837, '\p{Nv=+0_0_0_4_0000}', "");
-Expect(1, 65837, '\p{^Nv=+0_0_0_4_0000}', "");
-Expect(1, 65837, '\P{Nv=+0_0_0_4_0000}', "");
-Expect(0, 65837, '\P{^Nv=+0_0_0_4_0000}', "");
-Error('\p{Is_Numeric_Value=-:=+0_000_40-000}');
-Error('\P{Is_Numeric_Value=-:=+0_000_40-000}');
-Expect(1, 65838, '\p{Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(0, 65838, '\p{^Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(0, 65838, '\P{Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(1, 65838, '\P{^Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(0, 65837, '\p{Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(1, 65837, '\p{^Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(1, 65837, '\P{Is_Numeric_Value=+0_4_0_0_00}', "");
-Expect(0, 65837, '\P{^Is_Numeric_Value=+0_4_0_0_00}', "");
-Error('\p{Is_Nv= :=00 00-00_00 04_0000}');
-Error('\P{Is_Nv= :=00 00-00_00 04_0000}');
-Expect(1, 65838, '\p{Is_Nv=00_00_00_04_0000}', "");
-Expect(0, 65838, '\p{^Is_Nv=00_00_00_04_0000}', "");
-Expect(0, 65838, '\P{Is_Nv=00_00_00_04_0000}', "");
-Expect(1, 65838, '\P{^Is_Nv=00_00_00_04_0000}', "");
-Expect(0, 65837, '\p{Is_Nv=00_00_00_04_0000}', "");
-Expect(1, 65837, '\p{^Is_Nv=00_00_00_04_0000}', "");
-Expect(1, 65837, '\P{Is_Nv=00_00_00_04_0000}', "");
-Expect(0, 65837, '\P{^Is_Nv=00_00_00_04_0000}', "");
-Error('\p{Numeric_Value= /a/000001/002}');
-Error('\P{Numeric_Value= /a/000001/002}');
-Expect(1, 189, '\p{Numeric_Value=00000001/02}', "");
-Expect(0, 189, '\p{^Numeric_Value=00000001/02}', "");
-Expect(0, 189, '\P{Numeric_Value=00000001/02}', "");
-Expect(1, 189, '\P{^Numeric_Value=00000001/02}', "");
-Expect(0, 188, '\p{Numeric_Value=00000001/02}', "");
-Expect(1, 188, '\p{^Numeric_Value=00000001/02}', "");
-Expect(1, 188, '\P{Numeric_Value=00000001/02}', "");
-Expect(0, 188, '\P{^Numeric_Value=00000001/02}', "");
-Expect(1, 189, '\p{Numeric_Value=0.500}', "");
-Expect(0, 189, '\p{^Numeric_Value=0.500}', "");
-Expect(0, 189, '\P{Numeric_Value=0.500}', "");
-Expect(1, 189, '\P{^Numeric_Value=0.500}', "");
-Expect(0, 188, '\p{Numeric_Value=0.500}', "");
-Expect(1, 188, '\p{^Numeric_Value=0.500}', "");
-Expect(1, 188, '\P{Numeric_Value=0.500}', "");
-Expect(0, 188, '\P{^Numeric_Value=0.500}', "");
-Error('\p{Nv=_00000001/000002:=}');
-Error('\P{Nv=_00000001/000002:=}');
-Expect(1, 189, '\p{Nv=001/00000002}', "");
-Expect(0, 189, '\p{^Nv=001/00000002}', "");
-Expect(0, 189, '\P{Nv=001/00000002}', "");
-Expect(1, 189, '\P{^Nv=001/00000002}', "");
-Expect(0, 188, '\p{Nv=001/00000002}', "");
-Expect(1, 188, '\p{^Nv=001/00000002}', "");
-Expect(1, 188, '\P{Nv=001/00000002}', "");
-Expect(0, 188, '\P{^Nv=001/00000002}', "");
-Expect(1, 189, '\p{Nv=0.500}', "");
-Expect(0, 189, '\p{^Nv=0.500}', "");
-Expect(0, 189, '\P{Nv=0.500}', "");
-Expect(1, 189, '\P{^Nv=0.500}', "");
-Expect(0, 188, '\p{Nv=0.500}', "");
-Expect(1, 188, '\p{^Nv=0.500}', "");
-Expect(1, 188, '\P{Nv=0.500}', "");
-Expect(0, 188, '\P{^Nv=0.500}', "");
-Error('\p{Is_Numeric_Value=-00000001/0002/a/}');
-Error('\P{Is_Numeric_Value=-00000001/0002/a/}');
-Expect(1, 189, '\p{Is_Numeric_Value=001/00002}', "");
-Expect(0, 189, '\p{^Is_Numeric_Value=001/00002}', "");
-Expect(0, 189, '\P{Is_Numeric_Value=001/00002}', "");
-Expect(1, 189, '\P{^Is_Numeric_Value=001/00002}', "");
-Expect(0, 188, '\p{Is_Numeric_Value=001/00002}', "");
-Expect(1, 188, '\p{^Is_Numeric_Value=001/00002}', "");
-Expect(1, 188, '\P{Is_Numeric_Value=001/00002}', "");
-Expect(0, 188, '\P{^Is_Numeric_Value=001/00002}', "");
-Expect(1, 189, '\p{Is_Numeric_Value=0.500}', "");
-Expect(0, 189, '\p{^Is_Numeric_Value=0.500}', "");
-Expect(0, 189, '\P{Is_Numeric_Value=0.500}', "");
-Expect(1, 189, '\P{^Is_Numeric_Value=0.500}', "");
-Expect(0, 188, '\p{Is_Numeric_Value=0.500}', "");
-Expect(1, 188, '\p{^Is_Numeric_Value=0.500}', "");
-Expect(1, 188, '\P{Is_Numeric_Value=0.500}', "");
-Expect(0, 188, '\P{^Is_Numeric_Value=0.500}', "");
-Error('\p{Is_Nv= +000001/0000002:=}');
-Error('\P{Is_Nv= +000001/0000002:=}');
-Expect(1, 189, '\p{Is_Nv: 000000001/0002}', "");
-Expect(0, 189, '\p{^Is_Nv: 000000001/0002}', "");
-Expect(0, 189, '\P{Is_Nv: 000000001/0002}', "");
-Expect(1, 189, '\P{^Is_Nv: 000000001/0002}', "");
-Expect(0, 188, '\p{Is_Nv: 000000001/0002}', "");
-Expect(1, 188, '\p{^Is_Nv: 000000001/0002}', "");
-Expect(1, 188, '\P{Is_Nv: 000000001/0002}', "");
-Expect(0, 188, '\P{^Is_Nv: 000000001/0002}', "");
-Expect(1, 189, '\p{Is_Nv=0.500}', "");
-Expect(0, 189, '\p{^Is_Nv=0.500}', "");
-Expect(0, 189, '\P{Is_Nv=0.500}', "");
-Expect(1, 189, '\P{^Is_Nv=0.500}', "");
-Expect(0, 188, '\p{Is_Nv=0.500}', "");
-Expect(1, 188, '\p{^Is_Nv=0.500}', "");
-Expect(1, 188, '\P{Is_Nv=0.500}', "");
-Expect(0, 188, '\P{^Is_Nv=0.500}', "");
-Error('\p{Numeric_Value= +000000007000:=}');
-Error('\P{Numeric_Value= +000000007000:=}');
-Expect(1, 65832, '\p{Numeric_Value=700_0}', "");
-Expect(0, 65832, '\p{^Numeric_Value=700_0}', "");
-Expect(0, 65832, '\P{Numeric_Value=700_0}', "");
-Expect(1, 65832, '\P{^Numeric_Value=700_0}', "");
-Expect(0, 65831, '\p{Numeric_Value=700_0}', "");
-Expect(1, 65831, '\p{^Numeric_Value=700_0}', "");
-Expect(1, 65831, '\P{Numeric_Value=700_0}', "");
-Expect(0, 65831, '\P{^Numeric_Value=700_0}', "");
-Error('\p{Nv=-0 0:=0 0 000_0 7000}');
-Error('\P{Nv=-0 0:=0 0 000_0 7000}');
-Expect(1, 65832, '\p{Nv=7000}', "");
-Expect(0, 65832, '\p{^Nv=7000}', "");
-Expect(0, 65832, '\P{Nv=7000}', "");
-Expect(1, 65832, '\P{^Nv=7000}', "");
-Expect(0, 65831, '\p{Nv=7000}', "");
-Expect(1, 65831, '\p{^Nv=7000}', "");
-Expect(1, 65831, '\P{Nv=7000}', "");
-Expect(0, 65831, '\P{^Nv=7000}', "");
-Error('\p{Is_Numeric_Value=_7/a/0 00}');
-Error('\P{Is_Numeric_Value=_7/a/0 00}');
-Expect(1, 65832, '\p{Is_Numeric_Value=000_070_00}', "");
-Expect(0, 65832, '\p{^Is_Numeric_Value=000_070_00}', "");
-Expect(0, 65832, '\P{Is_Numeric_Value=000_070_00}', "");
-Expect(1, 65832, '\P{^Is_Numeric_Value=000_070_00}', "");
-Expect(0, 65831, '\p{Is_Numeric_Value=000_070_00}', "");
-Expect(1, 65831, '\p{^Is_Numeric_Value=000_070_00}', "");
-Expect(1, 65831, '\P{Is_Numeric_Value=000_070_00}', "");
-Expect(0, 65831, '\P{^Is_Numeric_Value=000_070_00}', "");
-Error('\p{Is_Nv= :=00 00 00 70_00}');
-Error('\P{Is_Nv= :=00 00 00 70_00}');
-Expect(1, 65832, '\p{Is_Nv=000000007000}', "");
-Expect(0, 65832, '\p{^Is_Nv=000000007000}', "");
-Expect(0, 65832, '\P{Is_Nv=000000007000}', "");
-Expect(1, 65832, '\P{^Is_Nv=000000007000}', "");
-Expect(0, 65831, '\p{Is_Nv=000000007000}', "");
-Expect(1, 65831, '\p{^Is_Nv=000000007000}', "");
-Expect(1, 65831, '\P{Is_Nv=000000007000}', "");
-Expect(0, 65831, '\P{^Is_Nv=000000007000}', "");
-Error('\p{Numeric_Value= :=3/5}');
-Error('\P{Numeric_Value= :=3/5}');
-Expect(1, 8535, '\p{Numeric_Value=0000003/0000000005}', "");
-Expect(0, 8535, '\p{^Numeric_Value=0000003/0000000005}', "");
-Expect(0, 8535, '\P{Numeric_Value=0000003/0000000005}', "");
-Expect(1, 8535, '\P{^Numeric_Value=0000003/0000000005}', "");
-Expect(0, 8534, '\p{Numeric_Value=0000003/0000000005}', "");
-Expect(1, 8534, '\p{^Numeric_Value=0000003/0000000005}', "");
-Expect(1, 8534, '\P{Numeric_Value=0000003/0000000005}', "");
-Expect(0, 8534, '\P{^Numeric_Value=0000003/0000000005}', "");
-Expect(1, 8535, '\p{Numeric_Value=0.600}', "");
-Expect(0, 8535, '\p{^Numeric_Value=0.600}', "");
-Expect(0, 8535, '\P{Numeric_Value=0.600}', "");
-Expect(1, 8535, '\P{^Numeric_Value=0.600}', "");
-Expect(0, 8534, '\p{Numeric_Value=0.600}', "");
-Expect(1, 8534, '\p{^Numeric_Value=0.600}', "");
-Expect(1, 8534, '\P{Numeric_Value=0.600}', "");
-Expect(0, 8534, '\P{^Numeric_Value=0.600}', "");
-Error('\p{Nv=_/a/+000000003/0005}');
-Error('\P{Nv=_/a/+000000003/0005}');
-Expect(1, 8535, '\p{Nv=3/005}', "");
-Expect(0, 8535, '\p{^Nv=3/005}', "");
-Expect(0, 8535, '\P{Nv=3/005}', "");
-Expect(1, 8535, '\P{^Nv=3/005}', "");
-Expect(0, 8534, '\p{Nv=3/005}', "");
-Expect(1, 8534, '\p{^Nv=3/005}', "");
-Expect(1, 8534, '\P{Nv=3/005}', "");
-Expect(0, 8534, '\P{^Nv=3/005}', "");
-Expect(1, 8535, '\p{Nv=0.600}', "");
-Expect(0, 8535, '\p{^Nv=0.600}', "");
-Expect(0, 8535, '\P{Nv=0.600}', "");
-Expect(1, 8535, '\P{^Nv=0.600}', "");
-Expect(0, 8534, '\p{Nv=0.600}', "");
-Expect(1, 8534, '\p{^Nv=0.600}', "");
-Expect(1, 8534, '\P{Nv=0.600}', "");
-Expect(0, 8534, '\P{^Nv=0.600}', "");
-Error('\p{Is_Numeric_Value= 00003/5/a/}');
-Error('\P{Is_Numeric_Value= 00003/5/a/}');
-Expect(1, 8535, '\p{Is_Numeric_Value=00003/000005}', "");
-Expect(0, 8535, '\p{^Is_Numeric_Value=00003/000005}', "");
-Expect(0, 8535, '\P{Is_Numeric_Value=00003/000005}', "");
-Expect(1, 8535, '\P{^Is_Numeric_Value=00003/000005}', "");
-Expect(0, 8534, '\p{Is_Numeric_Value=00003/000005}', "");
-Expect(1, 8534, '\p{^Is_Numeric_Value=00003/000005}', "");
-Expect(1, 8534, '\P{Is_Numeric_Value=00003/000005}', "");
-Expect(0, 8534, '\P{^Is_Numeric_Value=00003/000005}', "");
-Expect(1, 8535, '\p{Is_Numeric_Value=0.600}', "");
-Expect(0, 8535, '\p{^Is_Numeric_Value=0.600}', "");
-Expect(0, 8535, '\P{Is_Numeric_Value=0.600}', "");
-Expect(1, 8535, '\P{^Is_Numeric_Value=0.600}', "");
-Expect(0, 8534, '\p{Is_Numeric_Value=0.600}', "");
-Expect(1, 8534, '\p{^Is_Numeric_Value=0.600}', "");
-Expect(1, 8534, '\P{Is_Numeric_Value=0.600}', "");
-Expect(0, 8534, '\P{^Is_Numeric_Value=0.600}', "");
-Error('\p{Is_Nv=-:=+00000003/0000005}');
-Error('\P{Is_Nv=-:=+00000003/0000005}');
-Expect(1, 8535, '\p{Is_Nv=00000003/000000005}', "");
-Expect(0, 8535, '\p{^Is_Nv=00000003/000000005}', "");
-Expect(0, 8535, '\P{Is_Nv=00000003/000000005}', "");
-Expect(1, 8535, '\P{^Is_Nv=00000003/000000005}', "");
-Expect(0, 8534, '\p{Is_Nv=00000003/000000005}', "");
-Expect(1, 8534, '\p{^Is_Nv=00000003/000000005}', "");
-Expect(1, 8534, '\P{Is_Nv=00000003/000000005}', "");
-Expect(0, 8534, '\P{^Is_Nv=00000003/000000005}', "");
-Expect(1, 8535, '\p{Is_Nv: 0.600}', "");
-Expect(0, 8535, '\p{^Is_Nv: 0.600}', "");
-Expect(0, 8535, '\P{Is_Nv: 0.600}', "");
-Expect(1, 8535, '\P{^Is_Nv: 0.600}', "");
-Expect(0, 8534, '\p{Is_Nv: 0.600}', "");
-Expect(1, 8534, '\p{^Is_Nv: 0.600}', "");
-Expect(1, 8534, '\P{Is_Nv: 0.600}', "");
-Expect(0, 8534, '\P{^Is_Nv: 0.600}', "");
-Error('\p{Numeric_Value= +0000000017/02/a/}');
-Error('\P{Numeric_Value= +0000000017/02/a/}');
-Expect(1, 3890, '\p{Numeric_Value=+00000017/0002}', "");
-Expect(0, 3890, '\p{^Numeric_Value=+00000017/0002}', "");
-Expect(0, 3890, '\P{Numeric_Value=+00000017/0002}', "");
-Expect(1, 3890, '\P{^Numeric_Value=+00000017/0002}', "");
-Expect(0, 3889, '\p{Numeric_Value=+00000017/0002}', "");
-Expect(1, 3889, '\p{^Numeric_Value=+00000017/0002}', "");
-Expect(1, 3889, '\P{Numeric_Value=+00000017/0002}', "");
-Expect(0, 3889, '\P{^Numeric_Value=+00000017/0002}', "");
-Expect(1, 3890, '\p{Numeric_Value:8.500}', "");
-Expect(0, 3890, '\p{^Numeric_Value:8.500}', "");
-Expect(0, 3890, '\P{Numeric_Value:8.500}', "");
-Expect(1, 3890, '\P{^Numeric_Value:8.500}', "");
-Expect(0, 3889, '\p{Numeric_Value:8.500}', "");
-Expect(1, 3889, '\p{^Numeric_Value:8.500}', "");
-Expect(1, 3889, '\P{Numeric_Value:8.500}', "");
-Expect(0, 3889, '\P{^Numeric_Value:8.500}', "");
-Error('\p{Nv= -+000017/0000002:=}');
-Error('\P{Nv= -+000017/0000002:=}');
-Expect(1, 3890, '\p{Nv=0000000017/02}', "");
-Expect(0, 3890, '\p{^Nv=0000000017/02}', "");
-Expect(0, 3890, '\P{Nv=0000000017/02}', "");
-Expect(1, 3890, '\P{^Nv=0000000017/02}', "");
-Expect(0, 3889, '\p{Nv=0000000017/02}', "");
-Expect(1, 3889, '\p{^Nv=0000000017/02}', "");
-Expect(1, 3889, '\P{Nv=0000000017/02}', "");
-Expect(0, 3889, '\P{^Nv=0000000017/02}', "");
-Expect(1, 3890, '\p{Nv=8.500}', "");
-Expect(0, 3890, '\p{^Nv=8.500}', "");
-Expect(0, 3890, '\P{Nv=8.500}', "");
-Expect(1, 3890, '\P{^Nv=8.500}', "");
-Expect(0, 3889, '\p{Nv=8.500}', "");
-Expect(1, 3889, '\p{^Nv=8.500}', "");
-Expect(1, 3889, '\P{Nv=8.500}', "");
-Expect(0, 3889, '\P{^Nv=8.500}', "");
-Error('\p{Is_Numeric_Value=/a/-0017/002}');
-Error('\P{Is_Numeric_Value=/a/-0017/002}');
-Expect(1, 3890, '\p{Is_Numeric_Value=000017/000002}', "");
-Expect(0, 3890, '\p{^Is_Numeric_Value=000017/000002}', "");
-Expect(0, 3890, '\P{Is_Numeric_Value=000017/000002}', "");
-Expect(1, 3890, '\P{^Is_Numeric_Value=000017/000002}', "");
-Expect(0, 3889, '\p{Is_Numeric_Value=000017/000002}', "");
-Expect(1, 3889, '\p{^Is_Numeric_Value=000017/000002}', "");
-Expect(1, 3889, '\P{Is_Numeric_Value=000017/000002}', "");
-Expect(0, 3889, '\P{^Is_Numeric_Value=000017/000002}', "");
-Expect(1, 3890, '\p{Is_Numeric_Value=8.500}', "");
-Expect(0, 3890, '\p{^Is_Numeric_Value=8.500}', "");
-Expect(0, 3890, '\P{Is_Numeric_Value=8.500}', "");
-Expect(1, 3890, '\P{^Is_Numeric_Value=8.500}', "");
-Expect(0, 3889, '\p{Is_Numeric_Value=8.500}', "");
-Expect(1, 3889, '\p{^Is_Numeric_Value=8.500}', "");
-Expect(1, 3889, '\P{Is_Numeric_Value=8.500}', "");
-Expect(0, 3889, '\P{^Is_Numeric_Value=8.500}', "");
-Error('\p{Is_Nv=_-0000000017/0000002/a/}');
-Error('\P{Is_Nv=_-0000000017/0000002/a/}');
-Expect(1, 3890, '\p{Is_Nv=+17/000000002}', "");
-Expect(0, 3890, '\p{^Is_Nv=+17/000000002}', "");
-Expect(0, 3890, '\P{Is_Nv=+17/000000002}', "");
-Expect(1, 3890, '\P{^Is_Nv=+17/000000002}', "");
-Expect(0, 3889, '\p{Is_Nv=+17/000000002}', "");
-Expect(1, 3889, '\p{^Is_Nv=+17/000000002}', "");
-Expect(1, 3889, '\P{Is_Nv=+17/000000002}', "");
-Expect(0, 3889, '\P{^Is_Nv=+17/000000002}', "");
-Expect(1, 3890, '\p{Is_Nv: 8.500}', "");
-Expect(0, 3890, '\p{^Is_Nv: 8.500}', "");
-Expect(0, 3890, '\P{Is_Nv: 8.500}', "");
-Expect(1, 3890, '\P{^Is_Nv: 8.500}', "");
-Expect(0, 3889, '\p{Is_Nv: 8.500}', "");
-Expect(1, 3889, '\p{^Is_Nv: 8.500}', "");
-Expect(1, 3889, '\P{Is_Nv: 8.500}', "");
-Expect(0, 3889, '\P{^Is_Nv: 8.500}', "");
-Error('\p{Numeric_Value= _+0000000042/a/}');
-Error('\P{Numeric_Value= _+0000000042/a/}');
-Expect(1, 12983, '\p{Numeric_Value=00000042}', "");
-Expect(0, 12983, '\p{^Numeric_Value=00000042}', "");
-Expect(0, 12983, '\P{Numeric_Value=00000042}', "");
-Expect(1, 12983, '\P{^Numeric_Value=00000042}', "");
-Expect(0, 12982, '\p{Numeric_Value=00000042}', "");
-Expect(1, 12982, '\p{^Numeric_Value=00000042}', "");
-Expect(1, 12982, '\P{Numeric_Value=00000042}', "");
-Expect(0, 12982, '\P{^Numeric_Value=00000042}', "");
-Error('\p{Nv= /a/42}');
-Error('\P{Nv= /a/42}');
-Expect(1, 12983, '\p{Nv=42}', "");
-Expect(0, 12983, '\p{^Nv=42}', "");
-Expect(0, 12983, '\P{Nv=42}', "");
-Expect(1, 12983, '\P{^Nv=42}', "");
-Expect(0, 12982, '\p{Nv=42}', "");
-Expect(1, 12982, '\p{^Nv=42}', "");
-Expect(1, 12982, '\P{Nv=42}', "");
-Expect(0, 12982, '\P{^Nv=42}', "");
-Error('\p{Is_Numeric_Value= /a/0000042}');
-Error('\P{Is_Numeric_Value= /a/0000042}');
-Expect(1, 12983, '\p{Is_Numeric_Value=+04_2}', "");
-Expect(0, 12983, '\p{^Is_Numeric_Value=+04_2}', "");
-Expect(0, 12983, '\P{Is_Numeric_Value=+04_2}', "");
-Expect(1, 12983, '\P{^Is_Numeric_Value=+04_2}', "");
-Expect(0, 12982, '\p{Is_Numeric_Value=+04_2}', "");
-Expect(1, 12982, '\p{^Is_Numeric_Value=+04_2}', "");
-Expect(1, 12982, '\P{Is_Numeric_Value=+04_2}', "");
-Expect(0, 12982, '\P{^Is_Numeric_Value=+04_2}', "");
-Error('\p{Is_Nv=:=-_00-00 42}');
-Error('\P{Is_Nv=:=-_00-00 42}');
-Expect(1, 12983, '\p{Is_Nv=4_2}', "");
-Expect(0, 12983, '\p{^Is_Nv=4_2}', "");
-Expect(0, 12983, '\P{Is_Nv=4_2}', "");
-Expect(1, 12983, '\P{^Is_Nv=4_2}', "");
-Expect(0, 12982, '\p{Is_Nv=4_2}', "");
-Expect(1, 12982, '\p{^Is_Nv=4_2}', "");
-Expect(1, 12982, '\P{Is_Nv=4_2}', "");
-Expect(0, 12982, '\P{^Is_Nv=4_2}', "");
-Error('\p{Numeric_Value: -_000/a/002 2}');
-Error('\P{Numeric_Value: -_000/a/002 2}');
-Expect(1, 12882, '\p{Numeric_Value=00_00_00_02_2}', "");
-Expect(0, 12882, '\p{^Numeric_Value=00_00_00_02_2}', "");
-Expect(0, 12882, '\P{Numeric_Value=00_00_00_02_2}', "");
-Expect(1, 12882, '\P{^Numeric_Value=00_00_00_02_2}', "");
-Expect(0, 12881, '\p{Numeric_Value=00_00_00_02_2}', "");
-Expect(1, 12881, '\p{^Numeric_Value=00_00_00_02_2}', "");
-Expect(1, 12881, '\P{Numeric_Value=00_00_00_02_2}', "");
-Expect(0, 12881, '\P{^Numeric_Value=00_00_00_02_2}', "");
-Error('\p{Nv= /a/022}');
-Error('\P{Nv= /a/022}');
-Expect(1, 12882, '\p{Nv: 022}', "");
-Expect(0, 12882, '\p{^Nv: 022}', "");
-Expect(0, 12882, '\P{Nv: 022}', "");
-Expect(1, 12882, '\P{^Nv: 022}', "");
-Expect(0, 12881, '\p{Nv: 022}', "");
-Expect(1, 12881, '\p{^Nv: 022}', "");
-Expect(1, 12881, '\P{Nv: 022}', "");
-Expect(0, 12881, '\P{^Nv: 022}', "");
-Error('\p{Is_Numeric_Value=/a/+00000022}');
-Error('\P{Is_Numeric_Value=/a/+00000022}');
-Expect(1, 12882, '\p{Is_Numeric_Value=002_2}', "");
-Expect(0, 12882, '\p{^Is_Numeric_Value=002_2}', "");
-Expect(0, 12882, '\P{Is_Numeric_Value=002_2}', "");
-Expect(1, 12882, '\P{^Is_Numeric_Value=002_2}', "");
-Expect(0, 12881, '\p{Is_Numeric_Value=002_2}', "");
-Expect(1, 12881, '\p{^Is_Numeric_Value=002_2}', "");
-Expect(1, 12881, '\P{Is_Numeric_Value=002_2}', "");
-Expect(0, 12881, '\P{^Is_Numeric_Value=002_2}', "");
-Error('\p{Is_Nv=_0022:=}');
-Error('\P{Is_Nv=_0022:=}');
-Expect(1, 12882, '\p{Is_Nv=02_2}', "");
-Expect(0, 12882, '\p{^Is_Nv=02_2}', "");
-Expect(0, 12882, '\P{Is_Nv=02_2}', "");
-Expect(1, 12882, '\P{^Is_Nv=02_2}', "");
-Expect(0, 12881, '\p{Is_Nv=02_2}', "");
-Expect(1, 12881, '\p{^Is_Nv=02_2}', "");
-Expect(1, 12881, '\P{Is_Nv=02_2}', "");
-Expect(0, 12881, '\P{^Is_Nv=02_2}', "");
-Error('\p{Numeric_Value=:=0001/000009}');
-Error('\P{Numeric_Value=:=0001/000009}');
-Expect(1, 8529, '\p{Numeric_Value=1/009}', "");
-Expect(0, 8529, '\p{^Numeric_Value=1/009}', "");
-Expect(0, 8529, '\P{Numeric_Value=1/009}', "");
-Expect(1, 8529, '\P{^Numeric_Value=1/009}', "");
-Expect(0, 8528, '\p{Numeric_Value=1/009}', "");
-Expect(1, 8528, '\p{^Numeric_Value=1/009}', "");
-Expect(1, 8528, '\P{Numeric_Value=1/009}', "");
-Expect(0, 8528, '\P{^Numeric_Value=1/009}', "");
-Error('\p{Numeric_Value: 0.11}');
-Error('\P{Numeric_Value: 0.11}');
-Expect(1, 8529, '\p{Numeric_Value=0.111}', "");
-Expect(0, 8529, '\p{^Numeric_Value=0.111}', "");
-Expect(0, 8529, '\P{Numeric_Value=0.111}', "");
-Expect(1, 8529, '\P{^Numeric_Value=0.111}', "");
-Expect(0, 8528, '\p{Numeric_Value=0.111}', "");
-Expect(1, 8528, '\p{^Numeric_Value=0.111}', "");
-Expect(1, 8528, '\P{Numeric_Value=0.111}', "");
-Expect(0, 8528, '\P{^Numeric_Value=0.111}', "");
-Error('\p{Nv= /a/0000000001/00009}');
-Error('\P{Nv= /a/0000000001/00009}');
-Expect(1, 8529, '\p{Nv=00000001/000000009}', "");
-Expect(0, 8529, '\p{^Nv=00000001/000000009}', "");
-Expect(0, 8529, '\P{Nv=00000001/000000009}', "");
-Expect(1, 8529, '\P{^Nv=00000001/000000009}', "");
-Expect(0, 8528, '\p{Nv=00000001/000000009}', "");
-Expect(1, 8528, '\p{^Nv=00000001/000000009}', "");
-Expect(1, 8528, '\P{Nv=00000001/000000009}', "");
-Expect(0, 8528, '\P{^Nv=00000001/000000009}', "");
-Error('\p{Nv=0.11}');
-Error('\P{Nv=0.11}');
-Expect(1, 8529, '\p{Nv=0.111}', "");
-Expect(0, 8529, '\p{^Nv=0.111}', "");
-Expect(0, 8529, '\P{Nv=0.111}', "");
-Expect(1, 8529, '\P{^Nv=0.111}', "");
-Expect(0, 8528, '\p{Nv=0.111}', "");
-Expect(1, 8528, '\p{^Nv=0.111}', "");
-Expect(1, 8528, '\P{Nv=0.111}', "");
-Expect(0, 8528, '\P{^Nv=0.111}', "");
-Error('\p{Is_Numeric_Value=/a/ -000000001/009}');
-Error('\P{Is_Numeric_Value=/a/ -000000001/009}');
-Expect(1, 8529, '\p{Is_Numeric_Value=01/0000009}', "");
-Expect(0, 8529, '\p{^Is_Numeric_Value=01/0000009}', "");
-Expect(0, 8529, '\P{Is_Numeric_Value=01/0000009}', "");
-Expect(1, 8529, '\P{^Is_Numeric_Value=01/0000009}', "");
-Expect(0, 8528, '\p{Is_Numeric_Value=01/0000009}', "");
-Expect(1, 8528, '\p{^Is_Numeric_Value=01/0000009}', "");
-Expect(1, 8528, '\P{Is_Numeric_Value=01/0000009}', "");
-Expect(0, 8528, '\P{^Is_Numeric_Value=01/0000009}', "");
-Error('\p{Is_Numeric_Value=0.11}');
-Error('\P{Is_Numeric_Value=0.11}');
-Expect(1, 8529, '\p{Is_Numeric_Value=0.111}', "");
-Expect(0, 8529, '\p{^Is_Numeric_Value=0.111}', "");
-Expect(0, 8529, '\P{Is_Numeric_Value=0.111}', "");
-Expect(1, 8529, '\P{^Is_Numeric_Value=0.111}', "");
-Expect(0, 8528, '\p{Is_Numeric_Value=0.111}', "");
-Expect(1, 8528, '\p{^Is_Numeric_Value=0.111}', "");
-Expect(1, 8528, '\P{Is_Numeric_Value=0.111}', "");
-Expect(0, 8528, '\P{^Is_Numeric_Value=0.111}', "");
-Error('\p{Is_Nv=/a/+0001/9}');
-Error('\P{Is_Nv=/a/+0001/9}');
-Expect(1, 8529, '\p{Is_Nv=+0000001/09}', "");
-Expect(0, 8529, '\p{^Is_Nv=+0000001/09}', "");
-Expect(0, 8529, '\P{Is_Nv=+0000001/09}', "");
-Expect(1, 8529, '\P{^Is_Nv=+0000001/09}', "");
-Expect(0, 8528, '\p{Is_Nv=+0000001/09}', "");
-Expect(1, 8528, '\p{^Is_Nv=+0000001/09}', "");
-Expect(1, 8528, '\P{Is_Nv=+0000001/09}', "");
-Expect(0, 8528, '\P{^Is_Nv=+0000001/09}', "");
-Error('\p{Is_Nv=0.11}');
-Error('\P{Is_Nv=0.11}');
-Expect(1, 8529, '\p{Is_Nv=0.111}', "");
-Expect(0, 8529, '\p{^Is_Nv=0.111}', "");
-Expect(0, 8529, '\P{Is_Nv=0.111}', "");
-Expect(1, 8529, '\P{^Is_Nv=0.111}', "");
-Expect(0, 8528, '\p{Is_Nv=0.111}', "");
-Expect(1, 8528, '\p{^Is_Nv=0.111}', "");
-Expect(1, 8528, '\P{Is_Nv=0.111}', "");
-Expect(0, 8528, '\P{^Is_Nv=0.111}', "");
-Error('\p{Numeric_Value= _090 0/a/}');
-Error('\P{Numeric_Value= _090 0/a/}');
-Expect(1, 65825, '\p{Numeric_Value: 900}', "");
-Expect(0, 65825, '\p{^Numeric_Value: 900}', "");
-Expect(0, 65825, '\P{Numeric_Value: 900}', "");
-Expect(1, 65825, '\P{^Numeric_Value: 900}', "");
-Expect(0, 65824, '\p{Numeric_Value: 900}', "");
-Expect(1, 65824, '\p{^Numeric_Value: 900}', "");
-Expect(1, 65824, '\P{Numeric_Value: 900}', "");
-Expect(0, 65824, '\P{^Numeric_Value: 900}', "");
-Error('\p{Nv=- 000/a/090-0}');
-Error('\P{Nv=- 000/a/090-0}');
-Expect(1, 65825, '\p{Nv=00_00_00_09_00}', "");
-Expect(0, 65825, '\p{^Nv=00_00_00_09_00}', "");
-Expect(0, 65825, '\P{Nv=00_00_00_09_00}', "");
-Expect(1, 65825, '\P{^Nv=00_00_00_09_00}', "");
-Expect(0, 65824, '\p{Nv=00_00_00_09_00}', "");
-Expect(1, 65824, '\p{^Nv=00_00_00_09_00}', "");
-Expect(1, 65824, '\P{Nv=00_00_00_09_00}', "");
-Expect(0, 65824, '\P{^Nv=00_00_00_09_00}', "");
-Error('\p{Is_Numeric_Value=/a/90_0}');
-Error('\P{Is_Numeric_Value=/a/90_0}');
-Expect(1, 65825, '\p{Is_Numeric_Value: 090_0}', "");
-Expect(0, 65825, '\p{^Is_Numeric_Value: 090_0}', "");
-Expect(0, 65825, '\P{Is_Numeric_Value: 090_0}', "");
-Expect(1, 65825, '\P{^Is_Numeric_Value: 090_0}', "");
-Expect(0, 65824, '\p{Is_Numeric_Value: 090_0}', "");
-Expect(1, 65824, '\p{^Is_Numeric_Value: 090_0}', "");
-Expect(1, 65824, '\P{Is_Numeric_Value: 090_0}', "");
-Expect(0, 65824, '\P{^Is_Numeric_Value: 090_0}', "");
-Error('\p{Is_Nv=_-+0000900/a/}');
-Error('\P{Is_Nv=_-+0000900/a/}');
-Expect(1, 65825, '\p{Is_Nv=00000_00090_0}', "");
-Expect(0, 65825, '\p{^Is_Nv=00000_00090_0}', "");
-Expect(0, 65825, '\P{Is_Nv=00000_00090_0}', "");
-Expect(1, 65825, '\P{^Is_Nv=00000_00090_0}', "");
-Expect(0, 65824, '\p{Is_Nv=00000_00090_0}', "");
-Expect(1, 65824, '\p{^Is_Nv=00000_00090_0}', "");
-Expect(1, 65824, '\P{Is_Nv=00000_00090_0}', "");
-Expect(0, 65824, '\P{^Is_Nv=00000_00090_0}', "");
-Error('\p{Numeric_Value=-0002/005/a/}');
-Error('\P{Numeric_Value=-0002/005/a/}');
-Expect(1, 8534, '\p{Numeric_Value=00000002/5}', "");
-Expect(0, 8534, '\p{^Numeric_Value=00000002/5}', "");
-Expect(0, 8534, '\P{Numeric_Value=00000002/5}', "");
-Expect(1, 8534, '\P{^Numeric_Value=00000002/5}', "");
-Expect(0, 8533, '\p{Numeric_Value=00000002/5}', "");
-Expect(1, 8533, '\p{^Numeric_Value=00000002/5}', "");
-Expect(1, 8533, '\P{Numeric_Value=00000002/5}', "");
-Expect(0, 8533, '\P{^Numeric_Value=00000002/5}', "");
-Expect(1, 8534, '\p{Numeric_Value=0.400}', "");
-Expect(0, 8534, '\p{^Numeric_Value=0.400}', "");
-Expect(0, 8534, '\P{Numeric_Value=0.400}', "");
-Expect(1, 8534, '\P{^Numeric_Value=0.400}', "");
-Expect(0, 8533, '\p{Numeric_Value=0.400}', "");
-Expect(1, 8533, '\p{^Numeric_Value=0.400}', "");
-Expect(1, 8533, '\P{Numeric_Value=0.400}', "");
-Expect(0, 8533, '\P{^Numeric_Value=0.400}', "");
-Error('\p{Nv= :=00000002/5}');
-Error('\P{Nv= :=00000002/5}');
-Expect(1, 8534, '\p{Nv=0000002/000005}', "");
-Expect(0, 8534, '\p{^Nv=0000002/000005}', "");
-Expect(0, 8534, '\P{Nv=0000002/000005}', "");
-Expect(1, 8534, '\P{^Nv=0000002/000005}', "");
-Expect(0, 8533, '\p{Nv=0000002/000005}', "");
-Expect(1, 8533, '\p{^Nv=0000002/000005}', "");
-Expect(1, 8533, '\P{Nv=0000002/000005}', "");
-Expect(0, 8533, '\P{^Nv=0000002/000005}', "");
-Expect(1, 8534, '\p{Nv=0.400}', "");
-Expect(0, 8534, '\p{^Nv=0.400}', "");
-Expect(0, 8534, '\P{Nv=0.400}', "");
-Expect(1, 8534, '\P{^Nv=0.400}', "");
-Expect(0, 8533, '\p{Nv=0.400}', "");
-Expect(1, 8533, '\p{^Nv=0.400}', "");
-Expect(1, 8533, '\P{Nv=0.400}', "");
-Expect(0, 8533, '\P{^Nv=0.400}', "");
-Error('\p{Is_Numeric_Value: -_+00000002/0000005/a/}');
-Error('\P{Is_Numeric_Value: -_+00000002/0000005/a/}');
-Expect(1, 8534, '\p{Is_Numeric_Value=+0000002/000005}', "");
-Expect(0, 8534, '\p{^Is_Numeric_Value=+0000002/000005}', "");
-Expect(0, 8534, '\P{Is_Numeric_Value=+0000002/000005}', "");
-Expect(1, 8534, '\P{^Is_Numeric_Value=+0000002/000005}', "");
-Expect(0, 8533, '\p{Is_Numeric_Value=+0000002/000005}', "");
-Expect(1, 8533, '\p{^Is_Numeric_Value=+0000002/000005}', "");
-Expect(1, 8533, '\P{Is_Numeric_Value=+0000002/000005}', "");
-Expect(0, 8533, '\P{^Is_Numeric_Value=+0000002/000005}', "");
-Expect(1, 8534, '\p{Is_Numeric_Value=0.400}', "");
-Expect(0, 8534, '\p{^Is_Numeric_Value=0.400}', "");
-Expect(0, 8534, '\P{Is_Numeric_Value=0.400}', "");
-Expect(1, 8534, '\P{^Is_Numeric_Value=0.400}', "");
-Expect(0, 8533, '\p{Is_Numeric_Value=0.400}', "");
-Expect(1, 8533, '\p{^Is_Numeric_Value=0.400}', "");
-Expect(1, 8533, '\P{Is_Numeric_Value=0.400}', "");
-Expect(0, 8533, '\P{^Is_Numeric_Value=0.400}', "");
-Error('\p{Is_Nv: +02/0005/a/}');
-Error('\P{Is_Nv: +02/0005/a/}');
-Expect(1, 8534, '\p{Is_Nv=2/5}', "");
-Expect(0, 8534, '\p{^Is_Nv=2/5}', "");
-Expect(0, 8534, '\P{Is_Nv=2/5}', "");
-Expect(1, 8534, '\P{^Is_Nv=2/5}', "");
-Expect(0, 8533, '\p{Is_Nv=2/5}', "");
-Expect(1, 8533, '\p{^Is_Nv=2/5}', "");
-Expect(1, 8533, '\P{Is_Nv=2/5}', "");
-Expect(0, 8533, '\P{^Is_Nv=2/5}', "");
-Expect(1, 8534, '\p{Is_Nv=0.400}', "");
-Expect(0, 8534, '\p{^Is_Nv=0.400}', "");
-Expect(0, 8534, '\P{Is_Nv=0.400}', "");
-Expect(1, 8534, '\P{^Is_Nv=0.400}', "");
-Expect(0, 8533, '\p{Is_Nv=0.400}', "");
-Expect(1, 8533, '\p{^Is_Nv=0.400}', "");
-Expect(1, 8533, '\P{Is_Nv=0.400}', "");
-Expect(0, 8533, '\P{^Is_Nv=0.400}', "");
-Error('\p{Numeric_Value:- 00000004 6/a/}');
-Error('\P{Numeric_Value:- 00000004 6/a/}');
-Expect(1, 12987, '\p{Numeric_Value=0000000046}', "");
-Expect(0, 12987, '\p{^Numeric_Value=0000000046}', "");
-Expect(0, 12987, '\P{Numeric_Value=0000000046}', "");
-Expect(1, 12987, '\P{^Numeric_Value=0000000046}', "");
-Expect(0, 12986, '\p{Numeric_Value=0000000046}', "");
-Expect(1, 12986, '\p{^Numeric_Value=0000000046}', "");
-Expect(1, 12986, '\P{Numeric_Value=0000000046}', "");
-Expect(0, 12986, '\P{^Numeric_Value=0000000046}', "");
-Error('\p{Nv: :=0000000046}');
-Error('\P{Nv: :=0000000046}');
-Expect(1, 12987, '\p{Nv: 046}', "");
-Expect(0, 12987, '\p{^Nv: 046}', "");
-Expect(0, 12987, '\P{Nv: 046}', "");
-Expect(1, 12987, '\P{^Nv: 046}', "");
-Expect(0, 12986, '\p{Nv: 046}', "");
-Expect(1, 12986, '\p{^Nv: 046}', "");
-Expect(1, 12986, '\P{Nv: 046}', "");
-Expect(0, 12986, '\P{^Nv: 046}', "");
-Error('\p{Is_Numeric_Value=--0_0:=0-046}');
-Error('\P{Is_Numeric_Value=--0_0:=0-046}');
-Expect(1, 12987, '\p{Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(0, 12987, '\p{^Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(0, 12987, '\P{Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(1, 12987, '\P{^Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(0, 12986, '\p{Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(1, 12986, '\p{^Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(1, 12986, '\P{Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Expect(0, 12986, '\P{^Is_Numeric_Value=+0_0_0_0_0_0046}', "");
-Error('\p{Is_Nv= /a/+000046}');
-Error('\P{Is_Nv= /a/+000046}');
-Expect(1, 12987, '\p{Is_Nv=000_000_46}', "");
-Expect(0, 12987, '\p{^Is_Nv=000_000_46}', "");
-Expect(0, 12987, '\P{Is_Nv=000_000_46}', "");
-Expect(1, 12987, '\P{^Is_Nv=000_000_46}', "");
-Expect(0, 12986, '\p{Is_Nv=000_000_46}', "");
-Expect(1, 12986, '\p{^Is_Nv=000_000_46}', "");
-Expect(1, 12986, '\P{Is_Nv=000_000_46}', "");
-Expect(0, 12986, '\P{^Is_Nv=000_000_46}', "");
-Error('\p{Numeric_Value= 00:=00 00_0}');
-Error('\P{Numeric_Value= 00:=00 00_0}');
-Expect(1, 48, '\p{Numeric_Value=0}', "");
-Expect(0, 48, '\p{^Numeric_Value=0}', "");
-Expect(0, 48, '\P{Numeric_Value=0}', "");
-Expect(1, 48, '\P{^Numeric_Value=0}', "");
-Expect(0, 47, '\p{Numeric_Value=0}', "");
-Expect(1, 47, '\p{^Numeric_Value=0}', "");
-Expect(1, 47, '\P{Numeric_Value=0}', "");
-Expect(0, 47, '\P{^Numeric_Value=0}', "");
-Error('\p{Nv= -000_000 000:=0}');
-Error('\P{Nv= -000_000 000:=0}');
-Expect(1, 48, '\p{Nv=000}', "");
-Expect(0, 48, '\p{^Nv=000}', "");
-Expect(0, 48, '\P{Nv=000}', "");
-Expect(1, 48, '\P{^Nv=000}', "");
-Expect(0, 47, '\p{Nv=000}', "");
-Expect(1, 47, '\p{^Nv=000}', "");
-Expect(1, 47, '\P{Nv=000}', "");
-Expect(0, 47, '\P{^Nv=000}', "");
-Error('\p{Is_Numeric_Value=-00/a/0}');
-Error('\P{Is_Numeric_Value=-00/a/0}');
-Expect(1, 48, '\p{Is_Numeric_Value=+0000000000}', "");
-Expect(0, 48, '\p{^Is_Numeric_Value=+0000000000}', "");
-Expect(0, 48, '\P{Is_Numeric_Value=+0000000000}', "");
-Expect(1, 48, '\P{^Is_Numeric_Value=+0000000000}', "");
-Expect(0, 47, '\p{Is_Numeric_Value=+0000000000}', "");
-Expect(1, 47, '\p{^Is_Numeric_Value=+0000000000}', "");
-Expect(1, 47, '\P{Is_Numeric_Value=+0000000000}', "");
-Expect(0, 47, '\P{^Is_Numeric_Value=+0000000000}', "");
-Error('\p{Is_Nv=-00:=}');
-Error('\P{Is_Nv=-00:=}');
-Expect(1, 48, '\p{Is_Nv=00000}', "");
-Expect(0, 48, '\p{^Is_Nv=00000}', "");
-Expect(0, 48, '\P{Is_Nv=00000}', "");
-Expect(1, 48, '\P{^Is_Nv=00000}', "");
-Expect(0, 47, '\p{Is_Nv=00000}', "");
-Expect(1, 47, '\p{^Is_Nv=00000}', "");
-Expect(1, 47, '\P{Is_Nv=00000}', "");
-Expect(0, 47, '\P{^Is_Nv=00000}', "");
-Error('\p{Numeric_Value: /a/_00-0_0 23}');
-Error('\P{Numeric_Value: /a/_00-0_0 23}');
-Expect(1, 12883, '\p{Numeric_Value: +00_00_00_023}', "");
-Expect(0, 12883, '\p{^Numeric_Value: +00_00_00_023}', "");
-Expect(0, 12883, '\P{Numeric_Value: +00_00_00_023}', "");
-Expect(1, 12883, '\P{^Numeric_Value: +00_00_00_023}', "");
-Expect(0, 12882, '\p{Numeric_Value: +00_00_00_023}', "");
-Expect(1, 12882, '\p{^Numeric_Value: +00_00_00_023}', "");
-Expect(1, 12882, '\P{Numeric_Value: +00_00_00_023}', "");
-Expect(0, 12882, '\P{^Numeric_Value: +00_00_00_023}', "");
-Error('\p{Nv=-/a/023}');
-Error('\P{Nv=-/a/023}');
-Expect(1, 12883, '\p{Nv=00_02_3}', "");
-Expect(0, 12883, '\p{^Nv=00_02_3}', "");
-Expect(0, 12883, '\P{Nv=00_02_3}', "");
-Expect(1, 12883, '\P{^Nv=00_02_3}', "");
-Expect(0, 12882, '\p{Nv=00_02_3}', "");
-Expect(1, 12882, '\p{^Nv=00_02_3}', "");
-Expect(1, 12882, '\P{Nv=00_02_3}', "");
-Expect(0, 12882, '\P{^Nv=00_02_3}', "");
-Error('\p{Is_Numeric_Value=-+00000023:=}');
-Error('\P{Is_Numeric_Value=-+00000023:=}');
-Expect(1, 12883, '\p{Is_Numeric_Value=00000000023}', "");
-Expect(0, 12883, '\p{^Is_Numeric_Value=00000000023}', "");
-Expect(0, 12883, '\P{Is_Numeric_Value=00000000023}', "");
-Expect(1, 12883, '\P{^Is_Numeric_Value=00000000023}', "");
-Expect(0, 12882, '\p{Is_Numeric_Value=00000000023}', "");
-Expect(1, 12882, '\p{^Is_Numeric_Value=00000000023}', "");
-Expect(1, 12882, '\P{Is_Numeric_Value=00000000023}', "");
-Expect(0, 12882, '\P{^Is_Numeric_Value=00000000023}', "");
-Error('\p{Is_Nv: -/a/+00000023}');
-Error('\P{Is_Nv: -/a/+00000023}');
-Expect(1, 12883, '\p{Is_Nv=0000000023}', "");
-Expect(0, 12883, '\p{^Is_Nv=0000000023}', "");
-Expect(0, 12883, '\P{Is_Nv=0000000023}', "");
-Expect(1, 12883, '\P{^Is_Nv=0000000023}', "");
-Expect(0, 12882, '\p{Is_Nv=0000000023}', "");
-Expect(1, 12882, '\p{^Is_Nv=0000000023}', "");
-Expect(1, 12882, '\P{Is_Nv=0000000023}', "");
-Expect(0, 12882, '\P{^Is_Nv=0000000023}', "");
-Error('\p{Numeric_Value: 001/000007:=}');
-Error('\P{Numeric_Value: 001/000007:=}');
-Expect(1, 8528, '\p{Numeric_Value=0001/07}', "");
-Expect(0, 8528, '\p{^Numeric_Value=0001/07}', "");
-Expect(0, 8528, '\P{Numeric_Value=0001/07}', "");
-Expect(1, 8528, '\P{^Numeric_Value=0001/07}', "");
-Expect(0, 8527, '\p{Numeric_Value=0001/07}', "");
-Expect(1, 8527, '\p{^Numeric_Value=0001/07}', "");
-Expect(1, 8527, '\P{Numeric_Value=0001/07}', "");
-Expect(0, 8527, '\P{^Numeric_Value=0001/07}', "");
-Error('\p{Numeric_Value=0.14}');
-Error('\P{Numeric_Value=0.14}');
-Expect(1, 8528, '\p{Numeric_Value=0.143}', "");
-Expect(0, 8528, '\p{^Numeric_Value=0.143}', "");
-Expect(0, 8528, '\P{Numeric_Value=0.143}', "");
-Expect(1, 8528, '\P{^Numeric_Value=0.143}', "");
-Expect(0, 8527, '\p{Numeric_Value=0.143}', "");
-Expect(1, 8527, '\p{^Numeric_Value=0.143}', "");
-Expect(1, 8527, '\P{Numeric_Value=0.143}', "");
-Expect(0, 8527, '\P{^Numeric_Value=0.143}', "");
-Error('\p{Nv=:=- 0001/007}');
-Error('\P{Nv=:=- 0001/007}');
-Expect(1, 8528, '\p{Nv: 00000001/0000007}', "");
-Expect(0, 8528, '\p{^Nv: 00000001/0000007}', "");
-Expect(0, 8528, '\P{Nv: 00000001/0000007}', "");
-Expect(1, 8528, '\P{^Nv: 00000001/0000007}', "");
-Expect(0, 8527, '\p{Nv: 00000001/0000007}', "");
-Expect(1, 8527, '\p{^Nv: 00000001/0000007}', "");
-Expect(1, 8527, '\P{Nv: 00000001/0000007}', "");
-Expect(0, 8527, '\P{^Nv: 00000001/0000007}', "");
-Error('\p{Nv=0.14}');
-Error('\P{Nv=0.14}');
-Expect(1, 8528, '\p{Nv: 0.143}', "");
-Expect(0, 8528, '\p{^Nv: 0.143}', "");
-Expect(0, 8528, '\P{Nv: 0.143}', "");
-Expect(1, 8528, '\P{^Nv: 0.143}', "");
-Expect(0, 8527, '\p{Nv: 0.143}', "");
-Expect(1, 8527, '\p{^Nv: 0.143}', "");
-Expect(1, 8527, '\P{Nv: 0.143}', "");
-Expect(0, 8527, '\P{^Nv: 0.143}', "");
-Error('\p{Is_Numeric_Value= :=0000000001/00007}');
-Error('\P{Is_Numeric_Value= :=0000000001/00007}');
-Expect(1, 8528, '\p{Is_Numeric_Value=+001/000007}', "");
-Expect(0, 8528, '\p{^Is_Numeric_Value=+001/000007}', "");
-Expect(0, 8528, '\P{Is_Numeric_Value=+001/000007}', "");
-Expect(1, 8528, '\P{^Is_Numeric_Value=+001/000007}', "");
-Expect(0, 8527, '\p{Is_Numeric_Value=+001/000007}', "");
-Expect(1, 8527, '\p{^Is_Numeric_Value=+001/000007}', "");
-Expect(1, 8527, '\P{Is_Numeric_Value=+001/000007}', "");
-Expect(0, 8527, '\P{^Is_Numeric_Value=+001/000007}', "");
-Error('\p{Is_Numeric_Value: 0.14}');
-Error('\P{Is_Numeric_Value: 0.14}');
-Expect(1, 8528, '\p{Is_Numeric_Value=0.143}', "");
-Expect(0, 8528, '\p{^Is_Numeric_Value=0.143}', "");
-Expect(0, 8528, '\P{Is_Numeric_Value=0.143}', "");
-Expect(1, 8528, '\P{^Is_Numeric_Value=0.143}', "");
-Expect(0, 8527, '\p{Is_Numeric_Value=0.143}', "");
-Expect(1, 8527, '\p{^Is_Numeric_Value=0.143}', "");
-Expect(1, 8527, '\P{Is_Numeric_Value=0.143}', "");
-Expect(0, 8527, '\P{^Is_Numeric_Value=0.143}', "");
-Error('\p{Is_Nv=:=_ 0001/000007}');
-Error('\P{Is_Nv=:=_ 0001/000007}');
-Expect(1, 8528, '\p{Is_Nv=+000000001/0007}', "");
-Expect(0, 8528, '\p{^Is_Nv=+000000001/0007}', "");
-Expect(0, 8528, '\P{Is_Nv=+000000001/0007}', "");
-Expect(1, 8528, '\P{^Is_Nv=+000000001/0007}', "");
-Expect(0, 8527, '\p{Is_Nv=+000000001/0007}', "");
-Expect(1, 8527, '\p{^Is_Nv=+000000001/0007}', "");
-Expect(1, 8527, '\P{Is_Nv=+000000001/0007}', "");
-Expect(0, 8527, '\P{^Is_Nv=+000000001/0007}', "");
-Error('\p{Is_Nv=0.14}');
-Error('\P{Is_Nv=0.14}');
-Expect(1, 8528, '\p{Is_Nv=0.143}', "");
-Expect(0, 8528, '\p{^Is_Nv=0.143}', "");
-Expect(0, 8528, '\P{Is_Nv=0.143}', "");
-Expect(1, 8528, '\P{^Is_Nv=0.143}', "");
-Expect(0, 8527, '\p{Is_Nv=0.143}', "");
-Expect(1, 8527, '\p{^Is_Nv=0.143}', "");
-Expect(1, 8527, '\P{Is_Nv=0.143}', "");
-Expect(0, 8527, '\P{^Is_Nv=0.143}', "");
-Error('\p{Numeric_Value=- +004/000000005/a/}');
-Error('\P{Numeric_Value=- +004/000000005/a/}');
-Expect(1, 8536, '\p{Numeric_Value=000000004/0000000005}', "");
-Expect(0, 8536, '\p{^Numeric_Value=000000004/0000000005}', "");
-Expect(0, 8536, '\P{Numeric_Value=000000004/0000000005}', "");
-Expect(1, 8536, '\P{^Numeric_Value=000000004/0000000005}', "");
-Expect(0, 8535, '\p{Numeric_Value=000000004/0000000005}', "");
-Expect(1, 8535, '\p{^Numeric_Value=000000004/0000000005}', "");
-Expect(1, 8535, '\P{Numeric_Value=000000004/0000000005}', "");
-Expect(0, 8535, '\P{^Numeric_Value=000000004/0000000005}', "");
-Expect(1, 8536, '\p{Numeric_Value=0.800}', "");
-Expect(0, 8536, '\p{^Numeric_Value=0.800}', "");
-Expect(0, 8536, '\P{Numeric_Value=0.800}', "");
-Expect(1, 8536, '\P{^Numeric_Value=0.800}', "");
-Expect(0, 8535, '\p{Numeric_Value=0.800}', "");
-Expect(1, 8535, '\p{^Numeric_Value=0.800}', "");
-Expect(1, 8535, '\P{Numeric_Value=0.800}', "");
-Expect(0, 8535, '\P{^Numeric_Value=0.800}', "");
-Error('\p{Nv=_04/000000005/a/}');
-Error('\P{Nv=_04/000000005/a/}');
-Expect(1, 8536, '\p{Nv: +0004/0005}', "");
-Expect(0, 8536, '\p{^Nv: +0004/0005}', "");
-Expect(0, 8536, '\P{Nv: +0004/0005}', "");
-Expect(1, 8536, '\P{^Nv: +0004/0005}', "");
-Expect(0, 8535, '\p{Nv: +0004/0005}', "");
-Expect(1, 8535, '\p{^Nv: +0004/0005}', "");
-Expect(1, 8535, '\P{Nv: +0004/0005}', "");
-Expect(0, 8535, '\P{^Nv: +0004/0005}', "");
-Expect(1, 8536, '\p{Nv=0.800}', "");
-Expect(0, 8536, '\p{^Nv=0.800}', "");
-Expect(0, 8536, '\P{Nv=0.800}', "");
-Expect(1, 8536, '\P{^Nv=0.800}', "");
-Expect(0, 8535, '\p{Nv=0.800}', "");
-Expect(1, 8535, '\p{^Nv=0.800}', "");
-Expect(1, 8535, '\P{Nv=0.800}', "");
-Expect(0, 8535, '\P{^Nv=0.800}', "");
-Error('\p{Is_Numeric_Value=/a/_ 00000004/000005}');
-Error('\P{Is_Numeric_Value=/a/_ 00000004/000005}');
-Expect(1, 8536, '\p{Is_Numeric_Value=0004/05}', "");
-Expect(0, 8536, '\p{^Is_Numeric_Value=0004/05}', "");
-Expect(0, 8536, '\P{Is_Numeric_Value=0004/05}', "");
-Expect(1, 8536, '\P{^Is_Numeric_Value=0004/05}', "");
-Expect(0, 8535, '\p{Is_Numeric_Value=0004/05}', "");
-Expect(1, 8535, '\p{^Is_Numeric_Value=0004/05}', "");
-Expect(1, 8535, '\P{Is_Numeric_Value=0004/05}', "");
-Expect(0, 8535, '\P{^Is_Numeric_Value=0004/05}', "");
-Expect(1, 8536, '\p{Is_Numeric_Value:0.800}', "");
-Expect(0, 8536, '\p{^Is_Numeric_Value:0.800}', "");
-Expect(0, 8536, '\P{Is_Numeric_Value:0.800}', "");
-Expect(1, 8536, '\P{^Is_Numeric_Value:0.800}', "");
-Expect(0, 8535, '\p{Is_Numeric_Value:0.800}', "");
-Expect(1, 8535, '\p{^Is_Numeric_Value:0.800}', "");
-Expect(1, 8535, '\P{Is_Numeric_Value:0.800}', "");
-Expect(0, 8535, '\P{^Is_Numeric_Value:0.800}', "");
-Error('\p{Is_Nv=_/a/4/00005}');
-Error('\P{Is_Nv=_/a/4/00005}');
-Expect(1, 8536, '\p{Is_Nv=4/000000005}', "");
-Expect(0, 8536, '\p{^Is_Nv=4/000000005}', "");
-Expect(0, 8536, '\P{Is_Nv=4/000000005}', "");
-Expect(1, 8536, '\P{^Is_Nv=4/000000005}', "");
-Expect(0, 8535, '\p{Is_Nv=4/000000005}', "");
-Expect(1, 8535, '\p{^Is_Nv=4/000000005}', "");
-Expect(1, 8535, '\P{Is_Nv=4/000000005}', "");
-Expect(0, 8535, '\P{^Is_Nv=4/000000005}', "");
-Expect(1, 8536, '\p{Is_Nv=0.800}', "");
-Expect(0, 8536, '\p{^Is_Nv=0.800}', "");
-Expect(0, 8536, '\P{Is_Nv=0.800}', "");
-Expect(1, 8536, '\P{^Is_Nv=0.800}', "");
-Expect(0, 8535, '\p{Is_Nv=0.800}', "");
-Expect(1, 8535, '\p{^Is_Nv=0.800}', "");
-Expect(1, 8535, '\P{Is_Nv=0.800}', "");
-Expect(0, 8535, '\P{^Is_Nv=0.800}', "");
-Error('\p{Numeric_Value:/a/ +0013}');
-Error('\P{Numeric_Value:/a/ +0013}');
-Expect(1, 9324, '\p{Numeric_Value: 000000013}', "");
-Expect(0, 9324, '\p{^Numeric_Value: 000000013}', "");
-Expect(0, 9324, '\P{Numeric_Value: 000000013}', "");
-Expect(1, 9324, '\P{^Numeric_Value: 000000013}', "");
-Expect(0, 9323, '\p{Numeric_Value: 000000013}', "");
-Expect(1, 9323, '\p{^Numeric_Value: 000000013}', "");
-Expect(1, 9323, '\P{Numeric_Value: 000000013}', "");
-Expect(0, 9323, '\P{^Numeric_Value: 000000013}', "");
-Error('\p{Nv=/a/ 013}');
-Error('\P{Nv=/a/ 013}');
-Expect(1, 9324, '\p{Nv: +13}', "");
-Expect(0, 9324, '\p{^Nv: +13}', "");
-Expect(0, 9324, '\P{Nv: +13}', "");
-Expect(1, 9324, '\P{^Nv: +13}', "");
-Expect(0, 9323, '\p{Nv: +13}', "");
-Expect(1, 9323, '\p{^Nv: +13}', "");
-Expect(1, 9323, '\P{Nv: +13}', "");
-Expect(0, 9323, '\P{^Nv: +13}', "");
-Error('\p{Is_Numeric_Value=_+0:=0 0 00 0_00013}');
-Error('\P{Is_Numeric_Value=_+0:=0 0 00 0_00013}');
-Expect(1, 9324, '\p{Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(0, 9324, '\p{^Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(0, 9324, '\P{Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(1, 9324, '\P{^Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(0, 9323, '\p{Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(1, 9323, '\p{^Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(1, 9323, '\P{Is_Numeric_Value: 0_0_0_0_13}', "");
-Expect(0, 9323, '\P{^Is_Numeric_Value: 0_0_0_0_13}', "");
-Error('\p{Is_Nv= +0000-00-013/a/}');
-Error('\P{Is_Nv= +0000-00-013/a/}');
-Expect(1, 9324, '\p{Is_Nv=013}', "");
-Expect(0, 9324, '\p{^Is_Nv=013}', "");
-Expect(0, 9324, '\P{Is_Nv=013}', "");
-Expect(1, 9324, '\P{^Is_Nv=013}', "");
-Expect(0, 9323, '\p{Is_Nv=013}', "");
-Expect(1, 9323, '\p{^Is_Nv=013}', "");
-Expect(1, 9323, '\P{Is_Nv=013}', "");
-Expect(0, 9323, '\P{^Is_Nv=013}', "");
-Error('\p{Numeric_Value= 00000000/a/6}');
-Error('\P{Numeric_Value= 00000000/a/6}');
-Expect(1, 54, '\p{Numeric_Value=000006}', "");
-Expect(0, 54, '\p{^Numeric_Value=000006}', "");
-Expect(0, 54, '\P{Numeric_Value=000006}', "");
-Expect(1, 54, '\P{^Numeric_Value=000006}', "");
-Expect(0, 53, '\p{Numeric_Value=000006}', "");
-Expect(1, 53, '\p{^Numeric_Value=000006}', "");
-Expect(1, 53, '\P{Numeric_Value=000006}', "");
-Expect(0, 53, '\P{^Numeric_Value=000006}', "");
-Error('\p{Nv=:=__0000000 6}');
-Error('\P{Nv=:=__0000000 6}');
-Expect(1, 54, '\p{Nv=6}', "");
-Expect(0, 54, '\p{^Nv=6}', "");
-Expect(0, 54, '\P{Nv=6}', "");
-Expect(1, 54, '\P{^Nv=6}', "");
-Expect(0, 53, '\p{Nv=6}', "");
-Expect(1, 53, '\p{^Nv=6}', "");
-Expect(1, 53, '\P{Nv=6}', "");
-Expect(0, 53, '\P{^Nv=6}', "");
-Error('\p{Is_Numeric_Value=-000 000/a/6}');
-Error('\P{Is_Numeric_Value=-000 000/a/6}');
-Expect(1, 54, '\p{Is_Numeric_Value=0000006}', "");
-Expect(0, 54, '\p{^Is_Numeric_Value=0000006}', "");
-Expect(0, 54, '\P{Is_Numeric_Value=0000006}', "");
-Expect(1, 54, '\P{^Is_Numeric_Value=0000006}', "");
-Expect(0, 53, '\p{Is_Numeric_Value=0000006}', "");
-Expect(1, 53, '\p{^Is_Numeric_Value=0000006}', "");
-Expect(1, 53, '\P{Is_Numeric_Value=0000006}', "");
-Expect(0, 53, '\P{^Is_Numeric_Value=0000006}', "");
-Error('\p{Is_Nv=_ +0000-0000:=6}');
-Error('\P{Is_Nv=_ +0000-0000:=6}');
-Expect(1, 54, '\p{Is_Nv: 0_6}', "");
-Expect(0, 54, '\p{^Is_Nv: 0_6}', "");
-Expect(0, 54, '\P{Is_Nv: 0_6}', "");
-Expect(1, 54, '\P{^Is_Nv: 0_6}', "");
-Expect(0, 53, '\p{Is_Nv: 0_6}', "");
-Expect(1, 53, '\p{^Is_Nv: 0_6}', "");
-Expect(1, 53, '\P{Is_Nv: 0_6}', "");
-Expect(0, 53, '\P{^Is_Nv: 0_6}', "");
-Error('\p{Numeric_Value=-:=+0 0-0 7-0 0 00}');
-Error('\P{Numeric_Value=-:=+0 0-0 7-0 0 00}');
-Expect(1, 65841, '\p{Numeric_Value=00070000}', "");
-Expect(0, 65841, '\p{^Numeric_Value=00070000}', "");
-Expect(0, 65841, '\P{Numeric_Value=00070000}', "");
-Expect(1, 65841, '\P{^Numeric_Value=00070000}', "");
-Expect(0, 65840, '\p{Numeric_Value=00070000}', "");
-Expect(1, 65840, '\p{^Numeric_Value=00070000}', "");
-Expect(1, 65840, '\P{Numeric_Value=00070000}', "");
-Expect(0, 65840, '\P{^Numeric_Value=00070000}', "");
-Error('\p{Nv=-/a/+070000}');
-Error('\P{Nv=-/a/+070000}');
-Expect(1, 65841, '\p{Nv=000000070000}', "");
-Expect(0, 65841, '\p{^Nv=000000070000}', "");
-Expect(0, 65841, '\P{Nv=000000070000}', "");
-Expect(1, 65841, '\P{^Nv=000000070000}', "");
-Expect(0, 65840, '\p{Nv=000000070000}', "");
-Expect(1, 65840, '\p{^Nv=000000070000}', "");
-Expect(1, 65840, '\P{Nv=000000070000}', "");
-Expect(0, 65840, '\P{^Nv=000000070000}', "");
-Error('\p{Is_Numeric_Value=- 70000/a/}');
-Error('\P{Is_Numeric_Value=- 70000/a/}');
-Expect(1, 65841, '\p{Is_Numeric_Value=0070000}', "");
-Expect(0, 65841, '\p{^Is_Numeric_Value=0070000}', "");
-Expect(0, 65841, '\P{Is_Numeric_Value=0070000}', "");
-Expect(1, 65841, '\P{^Is_Numeric_Value=0070000}', "");
-Expect(0, 65840, '\p{Is_Numeric_Value=0070000}', "");
-Expect(1, 65840, '\p{^Is_Numeric_Value=0070000}', "");
-Expect(1, 65840, '\P{Is_Numeric_Value=0070000}', "");
-Expect(0, 65840, '\P{^Is_Numeric_Value=0070000}', "");
-Error('\p{Is_Nv: :=000070000}');
-Error('\P{Is_Nv: :=000070000}');
-Expect(1, 65841, '\p{Is_Nv=00000070000}', "");
-Expect(0, 65841, '\p{^Is_Nv=00000070000}', "");
-Expect(0, 65841, '\P{Is_Nv=00000070000}', "");
-Expect(1, 65841, '\P{^Is_Nv=00000070000}', "");
-Expect(0, 65840, '\p{Is_Nv=00000070000}', "");
-Expect(1, 65840, '\p{^Is_Nv=00000070000}', "");
-Expect(1, 65840, '\P{Is_Nv=00000070000}', "");
-Expect(0, 65840, '\P{^Is_Nv=00000070000}', "");
-Error('\p{Numeric_Value= /a/+0003_6}');
-Error('\P{Numeric_Value= /a/+0003_6}');
-Expect(1, 12977, '\p{Numeric_Value: 0000003_6}', "");
-Expect(0, 12977, '\p{^Numeric_Value: 0000003_6}', "");
-Expect(0, 12977, '\P{Numeric_Value: 0000003_6}', "");
-Expect(1, 12977, '\P{^Numeric_Value: 0000003_6}', "");
-Expect(0, 12976, '\p{Numeric_Value: 0000003_6}', "");
-Expect(1, 12976, '\p{^Numeric_Value: 0000003_6}', "");
-Expect(1, 12976, '\P{Numeric_Value: 0000003_6}', "");
-Expect(0, 12976, '\P{^Numeric_Value: 0000003_6}', "");
-Error('\p{Nv= 000000036/a/}');
-Error('\P{Nv= 000000036/a/}');
-Expect(1, 12977, '\p{Nv=0000_0003_6}', "");
-Expect(0, 12977, '\p{^Nv=0000_0003_6}', "");
-Expect(0, 12977, '\P{Nv=0000_0003_6}', "");
-Expect(1, 12977, '\P{^Nv=0000_0003_6}', "");
-Expect(0, 12976, '\p{Nv=0000_0003_6}', "");
-Expect(1, 12976, '\p{^Nv=0000_0003_6}', "");
-Expect(1, 12976, '\P{Nv=0000_0003_6}', "");
-Expect(0, 12976, '\P{^Nv=0000_0003_6}', "");
-Error('\p{Is_Numeric_Value=-_03_6:=}');
-Error('\P{Is_Numeric_Value=-_03_6:=}');
-Expect(1, 12977, '\p{Is_Numeric_Value=0003_6}', "");
-Expect(0, 12977, '\p{^Is_Numeric_Value=0003_6}', "");
-Expect(0, 12977, '\P{Is_Numeric_Value=0003_6}', "");
-Expect(1, 12977, '\P{^Is_Numeric_Value=0003_6}', "");
-Expect(0, 12976, '\p{Is_Numeric_Value=0003_6}', "");
-Expect(1, 12976, '\p{^Is_Numeric_Value=0003_6}', "");
-Expect(1, 12976, '\P{Is_Numeric_Value=0003_6}', "");
-Expect(0, 12976, '\P{^Is_Numeric_Value=0003_6}', "");
-Error('\p{Is_Nv= -000036/a/}');
-Error('\P{Is_Nv= -000036/a/}');
-Expect(1, 12977, '\p{Is_Nv=+00000036}', "");
-Expect(0, 12977, '\p{^Is_Nv=+00000036}', "");
-Expect(0, 12977, '\P{Is_Nv=+00000036}', "");
-Expect(1, 12977, '\P{^Is_Nv=+00000036}', "");
-Expect(0, 12976, '\p{Is_Nv=+00000036}', "");
-Expect(1, 12976, '\p{^Is_Nv=+00000036}', "");
-Expect(1, 12976, '\P{Is_Nv=+00000036}', "");
-Expect(0, 12976, '\P{^Is_Nv=+00000036}', "");
-Error('\p{Numeric_Value=_/a/00000003}');
-Error('\P{Numeric_Value=_/a/00000003}');
-Expect(1, 51, '\p{Numeric_Value: +00000003}', "");
-Expect(0, 51, '\p{^Numeric_Value: +00000003}', "");
-Expect(0, 51, '\P{Numeric_Value: +00000003}', "");
-Expect(1, 51, '\P{^Numeric_Value: +00000003}', "");
-Expect(0, 50, '\p{Numeric_Value: +00000003}', "");
-Expect(1, 50, '\p{^Numeric_Value: +00000003}', "");
-Expect(1, 50, '\P{Numeric_Value: +00000003}', "");
-Expect(0, 50, '\P{^Numeric_Value: +00000003}', "");
-Error('\p{Nv=:=- 00-3}');
-Error('\P{Nv=:=- 00-3}');
-Expect(1, 51, '\p{Nv=00_00_3}', "");
-Expect(0, 51, '\p{^Nv=00_00_3}', "");
-Expect(0, 51, '\P{Nv=00_00_3}', "");
-Expect(1, 51, '\P{^Nv=00_00_3}', "");
-Expect(0, 50, '\p{Nv=00_00_3}', "");
-Expect(1, 50, '\p{^Nv=00_00_3}', "");
-Expect(1, 50, '\P{Nv=00_00_3}', "");
-Expect(0, 50, '\P{^Nv=00_00_3}', "");
-Error('\p{Is_Numeric_Value= 0 0 0:=0 003}');
-Error('\P{Is_Numeric_Value= 0 0 0:=0 003}');
-Expect(1, 51, '\p{Is_Numeric_Value=00_3}', "");
-Expect(0, 51, '\p{^Is_Numeric_Value=00_3}', "");
-Expect(0, 51, '\P{Is_Numeric_Value=00_3}', "");
-Expect(1, 51, '\P{^Is_Numeric_Value=00_3}', "");
-Expect(0, 50, '\p{Is_Numeric_Value=00_3}', "");
-Expect(1, 50, '\p{^Is_Numeric_Value=00_3}', "");
-Expect(1, 50, '\P{Is_Numeric_Value=00_3}', "");
-Expect(0, 50, '\P{^Is_Numeric_Value=00_3}', "");
-Error('\p{Is_Nv= +000003/a/}');
-Error('\P{Is_Nv= +000003/a/}');
-Expect(1, 51, '\p{Is_Nv=+0003}', "");
-Expect(0, 51, '\p{^Is_Nv=+0003}', "");
-Expect(0, 51, '\P{Is_Nv=+0003}', "");
-Expect(1, 51, '\P{^Is_Nv=+0003}', "");
-Expect(0, 50, '\p{Is_Nv=+0003}', "");
-Expect(1, 50, '\p{^Is_Nv=+0003}', "");
-Expect(1, 50, '\P{Is_Nv=+0003}', "");
-Expect(0, 50, '\P{^Is_Nv=+0003}', "");
-Error('\p{Numeric_Value= /a/00005000}');
-Error('\P{Numeric_Value= /a/00005000}');
-Expect(1, 8577, '\p{Numeric_Value=000000005000}', "");
-Expect(0, 8577, '\p{^Numeric_Value=000000005000}', "");
-Expect(0, 8577, '\P{Numeric_Value=000000005000}', "");
-Expect(1, 8577, '\P{^Numeric_Value=000000005000}', "");
-Expect(0, 8576, '\p{Numeric_Value=000000005000}', "");
-Expect(1, 8576, '\p{^Numeric_Value=000000005000}', "");
-Expect(1, 8576, '\P{Numeric_Value=000000005000}', "");
-Expect(0, 8576, '\P{^Numeric_Value=000000005000}', "");
-Error('\p{Nv=:=+0 0_0 0-0_05000}');
-Error('\P{Nv=:=+0 0_0 0-0_05000}');
-Expect(1, 8577, '\p{Nv=05000}', "");
-Expect(0, 8577, '\p{^Nv=05000}', "");
-Expect(0, 8577, '\P{Nv=05000}', "");
-Expect(1, 8577, '\P{^Nv=05000}', "");
-Expect(0, 8576, '\p{Nv=05000}', "");
-Expect(1, 8576, '\p{^Nv=05000}', "");
-Expect(1, 8576, '\P{Nv=05000}', "");
-Expect(0, 8576, '\P{^Nv=05000}', "");
-Error('\p{Is_Numeric_Value=--0 0 0-0 5000/a/}');
-Error('\P{Is_Numeric_Value=--0 0 0-0 5000/a/}');
-Expect(1, 8577, '\p{Is_Numeric_Value=0000000005000}', "");
-Expect(0, 8577, '\p{^Is_Numeric_Value=0000000005000}', "");
-Expect(0, 8577, '\P{Is_Numeric_Value=0000000005000}', "");
-Expect(1, 8577, '\P{^Is_Numeric_Value=0000000005000}', "");
-Expect(0, 8576, '\p{Is_Numeric_Value=0000000005000}', "");
-Expect(1, 8576, '\p{^Is_Numeric_Value=0000000005000}', "");
-Expect(1, 8576, '\P{Is_Numeric_Value=0000000005000}', "");
-Expect(0, 8576, '\P{^Is_Numeric_Value=0000000005000}', "");
-Error('\p{Is_Nv= -500:=0}');
-Error('\P{Is_Nv= -500:=0}');
-Expect(1, 8577, '\p{Is_Nv=05000}', "");
-Expect(0, 8577, '\p{^Is_Nv=05000}', "");
-Expect(0, 8577, '\P{Is_Nv=05000}', "");
-Expect(1, 8577, '\P{^Is_Nv=05000}', "");
-Expect(0, 8576, '\p{Is_Nv=05000}', "");
-Expect(1, 8576, '\p{^Is_Nv=05000}', "");
-Expect(1, 8576, '\P{Is_Nv=05000}', "");
-Expect(0, 8576, '\P{^Is_Nv=05000}', "");
-Error('\p{Numeric_Value=/a/000000009}');
-Error('\P{Numeric_Value=/a/000000009}');
-Expect(1, 57, '\p{Numeric_Value=+9}', "");
-Expect(0, 57, '\p{^Numeric_Value=+9}', "");
-Expect(0, 57, '\P{Numeric_Value=+9}', "");
-Expect(1, 57, '\P{^Numeric_Value=+9}', "");
-Expect(0, 56, '\p{Numeric_Value=+9}', "");
-Expect(1, 56, '\p{^Numeric_Value=+9}', "");
-Expect(1, 56, '\P{Numeric_Value=+9}', "");
-Expect(0, 56, '\P{^Numeric_Value=+9}', "");
-Error('\p{Nv=_/a/0 0 009}');
-Error('\P{Nv=_/a/0 0 009}');
-Expect(1, 57, '\p{Nv=0009}', "");
-Expect(0, 57, '\p{^Nv=0009}', "");
-Expect(0, 57, '\P{Nv=0009}', "");
-Expect(1, 57, '\P{^Nv=0009}', "");
-Expect(0, 56, '\p{Nv=0009}', "");
-Expect(1, 56, '\p{^Nv=0009}', "");
-Expect(1, 56, '\P{Nv=0009}', "");
-Expect(0, 56, '\P{^Nv=0009}', "");
-Error('\p{Is_Numeric_Value=:=--0 00-0 0-009}');
-Error('\P{Is_Numeric_Value=:=--0 00-0 0-009}');
-Expect(1, 57, '\p{Is_Numeric_Value=000_000_000_9}', "");
-Expect(0, 57, '\p{^Is_Numeric_Value=000_000_000_9}', "");
-Expect(0, 57, '\P{Is_Numeric_Value=000_000_000_9}', "");
-Expect(1, 57, '\P{^Is_Numeric_Value=000_000_000_9}', "");
-Expect(0, 56, '\p{Is_Numeric_Value=000_000_000_9}', "");
-Expect(1, 56, '\p{^Is_Numeric_Value=000_000_000_9}', "");
-Expect(1, 56, '\P{Is_Numeric_Value=000_000_000_9}', "");
-Expect(0, 56, '\P{^Is_Numeric_Value=000_000_000_9}', "");
-Error('\p{Is_Nv=- +00_9/a/}');
-Error('\P{Is_Nv=- +00_9/a/}');
-Expect(1, 57, '\p{Is_Nv=00000000_9}', "");
-Expect(0, 57, '\p{^Is_Nv=00000000_9}', "");
-Expect(0, 57, '\P{Is_Nv=00000000_9}', "");
-Expect(1, 57, '\P{^Is_Nv=00000000_9}', "");
-Expect(0, 56, '\p{Is_Nv=00000000_9}', "");
-Expect(1, 56, '\p{^Is_Nv=00000000_9}', "");
-Expect(1, 56, '\P{Is_Nv=00000000_9}', "");
-Expect(0, 56, '\P{^Is_Nv=00000000_9}', "");
-Error('\p{Numeric_Value= 0 00-0:=1 0-000}');
-Error('\P{Numeric_Value= 0 00-0:=1 0-000}');
-Expect(1, 4988, '\p{Numeric_Value=10000}', "");
-Expect(0, 4988, '\p{^Numeric_Value=10000}', "");
-Expect(0, 4988, '\P{Numeric_Value=10000}', "");
-Expect(1, 4988, '\P{^Numeric_Value=10000}', "");
-Expect(0, 4987, '\p{Numeric_Value=10000}', "");
-Expect(1, 4987, '\p{^Numeric_Value=10000}', "");
-Expect(1, 4987, '\P{Numeric_Value=10000}', "");
-Expect(0, 4987, '\P{^Numeric_Value=10000}', "");
-Error('\p{Nv=:=- 00000000010000}');
-Error('\P{Nv=:=- 00000000010000}');
-Expect(1, 4988, '\p{Nv=+1_0_0_00}', "");
-Expect(0, 4988, '\p{^Nv=+1_0_0_00}', "");
-Expect(0, 4988, '\P{Nv=+1_0_0_00}', "");
-Expect(1, 4988, '\P{^Nv=+1_0_0_00}', "");
-Expect(0, 4987, '\p{Nv=+1_0_0_00}', "");
-Expect(1, 4987, '\p{^Nv=+1_0_0_00}', "");
-Expect(1, 4987, '\P{Nv=+1_0_0_00}', "");
-Expect(0, 4987, '\P{^Nv=+1_0_0_00}', "");
-Error('\p{Is_Numeric_Value: /a/+1000 0}');
-Error('\P{Is_Numeric_Value: /a/+1000 0}');
-Expect(1, 4988, '\p{Is_Numeric_Value:0001000_0}', "");
-Expect(0, 4988, '\p{^Is_Numeric_Value:0001000_0}', "");
-Expect(0, 4988, '\P{Is_Numeric_Value:0001000_0}', "");
-Expect(1, 4988, '\P{^Is_Numeric_Value:0001000_0}', "");
-Expect(0, 4987, '\p{Is_Numeric_Value:0001000_0}', "");
-Expect(1, 4987, '\p{^Is_Numeric_Value:0001000_0}', "");
-Expect(1, 4987, '\P{Is_Numeric_Value:0001000_0}', "");
-Expect(0, 4987, '\P{^Is_Numeric_Value:0001000_0}', "");
-Error('\p{Is_Nv= :=+00000000010000}');
-Error('\P{Is_Nv= :=+00000000010000}');
-Expect(1, 4988, '\p{Is_Nv=+01000_0}', "");
-Expect(0, 4988, '\p{^Is_Nv=+01000_0}', "");
-Expect(0, 4988, '\P{Is_Nv=+01000_0}', "");
-Expect(1, 4988, '\P{^Is_Nv=+01000_0}', "");
-Expect(0, 4987, '\p{Is_Nv=+01000_0}', "");
-Expect(1, 4987, '\p{^Is_Nv=+01000_0}', "");
-Expect(1, 4987, '\P{Is_Nv=+01000_0}', "");
-Expect(0, 4987, '\P{^Is_Nv=+01000_0}', "");
-Error('\p{Numeric_Value= 00047:=}');
-Error('\P{Numeric_Value= 00047:=}');
-Expect(1, 12988, '\p{Numeric_Value=0047}', "");
-Expect(0, 12988, '\p{^Numeric_Value=0047}', "");
-Expect(0, 12988, '\P{Numeric_Value=0047}', "");
-Expect(1, 12988, '\P{^Numeric_Value=0047}', "");
-Expect(0, 12987, '\p{Numeric_Value=0047}', "");
-Expect(1, 12987, '\p{^Numeric_Value=0047}', "");
-Expect(1, 12987, '\P{Numeric_Value=0047}', "");
-Expect(0, 12987, '\P{^Numeric_Value=0047}', "");
-Error('\p{Nv= _04:=7}');
-Error('\P{Nv= _04:=7}');
-Expect(1, 12988, '\p{Nv=+4_7}', "");
-Expect(0, 12988, '\p{^Nv=+4_7}', "");
-Expect(0, 12988, '\P{Nv=+4_7}', "");
-Expect(1, 12988, '\P{^Nv=+4_7}', "");
-Expect(0, 12987, '\p{Nv=+4_7}', "");
-Expect(1, 12987, '\p{^Nv=+4_7}', "");
-Expect(1, 12987, '\P{Nv=+4_7}', "");
-Expect(0, 12987, '\P{^Nv=+4_7}', "");
-Error('\p{Is_Numeric_Value= /a/+000000047}');
-Error('\P{Is_Numeric_Value= /a/+000000047}');
-Expect(1, 12988, '\p{Is_Numeric_Value=00000_00004_7}', "");
-Expect(0, 12988, '\p{^Is_Numeric_Value=00000_00004_7}', "");
-Expect(0, 12988, '\P{Is_Numeric_Value=00000_00004_7}', "");
-Expect(1, 12988, '\P{^Is_Numeric_Value=00000_00004_7}', "");
-Expect(0, 12987, '\p{Is_Numeric_Value=00000_00004_7}', "");
-Expect(1, 12987, '\p{^Is_Numeric_Value=00000_00004_7}', "");
-Expect(1, 12987, '\P{Is_Numeric_Value=00000_00004_7}', "");
-Expect(0, 12987, '\P{^Is_Numeric_Value=00000_00004_7}', "");
-Error('\p{Is_Nv= :=+000047}');
-Error('\P{Is_Nv= :=+000047}');
-Expect(1, 12988, '\p{Is_Nv: +00000000047}', "");
-Expect(0, 12988, '\p{^Is_Nv: +00000000047}', "");
-Expect(0, 12988, '\P{Is_Nv: +00000000047}', "");
-Expect(1, 12988, '\P{^Is_Nv: +00000000047}', "");
-Expect(0, 12987, '\p{Is_Nv: +00000000047}', "");
-Expect(1, 12987, '\p{^Is_Nv: +00000000047}', "");
-Expect(1, 12987, '\P{Is_Nv: +00000000047}', "");
-Expect(0, 12987, '\P{^Is_Nv: +00000000047}', "");
-Error('\p{Numeric_Value=:= 000001/06}');
-Error('\P{Numeric_Value=:= 000001/06}');
-Expect(1, 8537, '\p{Numeric_Value: 000001/00000006}', "");
-Expect(0, 8537, '\p{^Numeric_Value: 000001/00000006}', "");
-Expect(0, 8537, '\P{Numeric_Value: 000001/00000006}', "");
-Expect(1, 8537, '\P{^Numeric_Value: 000001/00000006}', "");
-Expect(0, 8536, '\p{Numeric_Value: 000001/00000006}', "");
-Expect(1, 8536, '\p{^Numeric_Value: 000001/00000006}', "");
-Expect(1, 8536, '\P{Numeric_Value: 000001/00000006}', "");
-Expect(0, 8536, '\P{^Numeric_Value: 000001/00000006}', "");
-Error('\p{Numeric_Value=0.17}');
-Error('\P{Numeric_Value=0.17}');
-Expect(1, 8537, '\p{Numeric_Value=0.167}', "");
-Expect(0, 8537, '\p{^Numeric_Value=0.167}', "");
-Expect(0, 8537, '\P{Numeric_Value=0.167}', "");
-Expect(1, 8537, '\P{^Numeric_Value=0.167}', "");
-Expect(0, 8536, '\p{Numeric_Value=0.167}', "");
-Expect(1, 8536, '\p{^Numeric_Value=0.167}', "");
-Expect(1, 8536, '\P{Numeric_Value=0.167}', "");
-Expect(0, 8536, '\P{^Numeric_Value=0.167}', "");
-Error('\p{Nv=/a/001/6}');
-Error('\P{Nv=/a/001/6}');
-Expect(1, 8537, '\p{Nv: 0001/0000000006}', "");
-Expect(0, 8537, '\p{^Nv: 0001/0000000006}', "");
-Expect(0, 8537, '\P{Nv: 0001/0000000006}', "");
-Expect(1, 8537, '\P{^Nv: 0001/0000000006}', "");
-Expect(0, 8536, '\p{Nv: 0001/0000000006}', "");
-Expect(1, 8536, '\p{^Nv: 0001/0000000006}', "");
-Expect(1, 8536, '\P{Nv: 0001/0000000006}', "");
-Expect(0, 8536, '\P{^Nv: 0001/0000000006}', "");
-Error('\p{Nv=0.17}');
-Error('\P{Nv=0.17}');
-Expect(1, 8537, '\p{Nv=0.167}', "");
-Expect(0, 8537, '\p{^Nv=0.167}', "");
-Expect(0, 8537, '\P{Nv=0.167}', "");
-Expect(1, 8537, '\P{^Nv=0.167}', "");
-Expect(0, 8536, '\p{Nv=0.167}', "");
-Expect(1, 8536, '\p{^Nv=0.167}', "");
-Expect(1, 8536, '\P{Nv=0.167}', "");
-Expect(0, 8536, '\P{^Nv=0.167}', "");
-Error('\p{Is_Numeric_Value=:=001/000000006}');
-Error('\P{Is_Numeric_Value=:=001/000000006}');
-Expect(1, 8537, '\p{Is_Numeric_Value=0001/0000000006}', "");
-Expect(0, 8537, '\p{^Is_Numeric_Value=0001/0000000006}', "");
-Expect(0, 8537, '\P{Is_Numeric_Value=0001/0000000006}', "");
-Expect(1, 8537, '\P{^Is_Numeric_Value=0001/0000000006}', "");
-Expect(0, 8536, '\p{Is_Numeric_Value=0001/0000000006}', "");
-Expect(1, 8536, '\p{^Is_Numeric_Value=0001/0000000006}', "");
-Expect(1, 8536, '\P{Is_Numeric_Value=0001/0000000006}', "");
-Expect(0, 8536, '\P{^Is_Numeric_Value=0001/0000000006}', "");
-Error('\p{Is_Numeric_Value=0.17}');
-Error('\P{Is_Numeric_Value=0.17}');
-Expect(1, 8537, '\p{Is_Numeric_Value=0.167}', "");
-Expect(0, 8537, '\p{^Is_Numeric_Value=0.167}', "");
-Expect(0, 8537, '\P{Is_Numeric_Value=0.167}', "");
-Expect(1, 8537, '\P{^Is_Numeric_Value=0.167}', "");
-Expect(0, 8536, '\p{Is_Numeric_Value=0.167}', "");
-Expect(1, 8536, '\p{^Is_Numeric_Value=0.167}', "");
-Expect(1, 8536, '\P{Is_Numeric_Value=0.167}', "");
-Expect(0, 8536, '\P{^Is_Numeric_Value=0.167}', "");
-Error('\p{Is_Nv=_/a/0000000001/006}');
-Error('\P{Is_Nv=_/a/0000000001/006}');
-Expect(1, 8537, '\p{Is_Nv=+000000001/6}', "");
-Expect(0, 8537, '\p{^Is_Nv=+000000001/6}', "");
-Expect(0, 8537, '\P{Is_Nv=+000000001/6}', "");
-Expect(1, 8537, '\P{^Is_Nv=+000000001/6}', "");
-Expect(0, 8536, '\p{Is_Nv=+000000001/6}', "");
-Expect(1, 8536, '\p{^Is_Nv=+000000001/6}', "");
-Expect(1, 8536, '\P{Is_Nv=+000000001/6}', "");
-Expect(0, 8536, '\P{^Is_Nv=+000000001/6}', "");
-Error('\p{Is_Nv=0.17}');
-Error('\P{Is_Nv=0.17}');
-Expect(1, 8537, '\p{Is_Nv=0.167}', "");
-Expect(0, 8537, '\p{^Is_Nv=0.167}', "");
-Expect(0, 8537, '\P{Is_Nv=0.167}', "");
-Expect(1, 8537, '\P{^Is_Nv=0.167}', "");
-Expect(0, 8536, '\p{Is_Nv=0.167}', "");
-Expect(1, 8536, '\p{^Is_Nv=0.167}', "");
-Expect(1, 8536, '\P{Is_Nv=0.167}', "");
-Expect(0, 8536, '\P{^Is_Nv=0.167}', "");
-Error('\p{Numeric_Value=/a/ 0038}');
-Error('\P{Numeric_Value=/a/ 0038}');
-Expect(1, 12979, '\p{Numeric_Value: 00038}', "");
-Expect(0, 12979, '\p{^Numeric_Value: 00038}', "");
-Expect(0, 12979, '\P{Numeric_Value: 00038}', "");
-Expect(1, 12979, '\P{^Numeric_Value: 00038}', "");
-Expect(0, 12978, '\p{Numeric_Value: 00038}', "");
-Expect(1, 12978, '\p{^Numeric_Value: 00038}', "");
-Expect(1, 12978, '\P{Numeric_Value: 00038}', "");
-Expect(0, 12978, '\P{^Numeric_Value: 00038}', "");
-Error('\p{Nv: /a/00000038}');
-Error('\P{Nv: /a/00000038}');
-Expect(1, 12979, '\p{Nv=03_8}', "");
-Expect(0, 12979, '\p{^Nv=03_8}', "");
-Expect(0, 12979, '\P{Nv=03_8}', "");
-Expect(1, 12979, '\P{^Nv=03_8}', "");
-Expect(0, 12978, '\p{Nv=03_8}', "");
-Expect(1, 12978, '\p{^Nv=03_8}', "");
-Expect(1, 12978, '\P{Nv=03_8}', "");
-Expect(0, 12978, '\P{^Nv=03_8}', "");
-Error('\p{Is_Numeric_Value=-:=+0003 8}');
-Error('\P{Is_Numeric_Value=-:=+0003 8}');
-Expect(1, 12979, '\p{Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(0, 12979, '\p{^Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(0, 12979, '\P{Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(1, 12979, '\P{^Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(0, 12978, '\p{Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(1, 12978, '\p{^Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(1, 12978, '\P{Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Expect(0, 12978, '\P{^Is_Numeric_Value=0_0_0_0_0_0_0_0_038}', "");
-Error('\p{Is_Nv:/a/ 000038}');
-Error('\P{Is_Nv:/a/ 000038}');
-Expect(1, 12979, '\p{Is_Nv=000_003_8}', "");
-Expect(0, 12979, '\p{^Is_Nv=000_003_8}', "");
-Expect(0, 12979, '\P{Is_Nv=000_003_8}', "");
-Expect(1, 12979, '\P{^Is_Nv=000_003_8}', "");
-Expect(0, 12978, '\p{Is_Nv=000_003_8}', "");
-Expect(1, 12978, '\p{^Is_Nv=000_003_8}', "");
-Expect(1, 12978, '\P{Is_Nv=000_003_8}', "");
-Expect(0, 12978, '\P{^Is_Nv=000_003_8}', "");
-Error('\p{Numeric_Value= +000000008:=}');
-Error('\P{Numeric_Value= +000000008:=}');
-Expect(1, 56, '\p{Numeric_Value=08}', "");
-Expect(0, 56, '\p{^Numeric_Value=08}', "");
-Expect(0, 56, '\P{Numeric_Value=08}', "");
-Expect(1, 56, '\P{^Numeric_Value=08}', "");
-Expect(0, 55, '\p{Numeric_Value=08}', "");
-Expect(1, 55, '\p{^Numeric_Value=08}', "");
-Expect(1, 55, '\P{Numeric_Value=08}', "");
-Expect(0, 55, '\P{^Numeric_Value=08}', "");
-Error('\p{Nv= 008/a/}');
-Error('\P{Nv= 008/a/}');
-Expect(1, 56, '\p{Nv=00_00_00_8}', "");
-Expect(0, 56, '\p{^Nv=00_00_00_8}', "");
-Expect(0, 56, '\P{Nv=00_00_00_8}', "");
-Expect(1, 56, '\P{^Nv=00_00_00_8}', "");
-Expect(0, 55, '\p{Nv=00_00_00_8}', "");
-Expect(1, 55, '\p{^Nv=00_00_00_8}', "");
-Expect(1, 55, '\P{Nv=00_00_00_8}', "");
-Expect(0, 55, '\P{^Nv=00_00_00_8}', "");
-Error('\p{Is_Numeric_Value=:=_ 00000008}');
-Error('\P{Is_Numeric_Value=:=_ 00000008}');
-Expect(1, 56, '\p{Is_Numeric_Value:0000_8}', "");
-Expect(0, 56, '\p{^Is_Numeric_Value:0000_8}', "");
-Expect(0, 56, '\P{Is_Numeric_Value:0000_8}', "");
-Expect(1, 56, '\P{^Is_Numeric_Value:0000_8}', "");
-Expect(0, 55, '\p{Is_Numeric_Value:0000_8}', "");
-Expect(1, 55, '\p{^Is_Numeric_Value:0000_8}', "");
-Expect(1, 55, '\P{Is_Numeric_Value:0000_8}', "");
-Expect(0, 55, '\P{^Is_Numeric_Value:0000_8}', "");
-Error('\p{Is_Nv: /a/-08}');
-Error('\P{Is_Nv: /a/-08}');
-Expect(1, 56, '\p{Is_Nv=000_000_08}', "");
-Expect(0, 56, '\p{^Is_Nv=000_000_08}', "");
-Expect(0, 56, '\P{Is_Nv=000_000_08}', "");
-Expect(1, 56, '\P{^Is_Nv=000_000_08}', "");
-Expect(0, 55, '\p{Is_Nv=000_000_08}', "");
-Expect(1, 55, '\p{^Is_Nv=000_000_08}', "");
-Expect(1, 55, '\P{Is_Nv=000_000_08}', "");
-Expect(0, 55, '\P{^Is_Nv=000_000_08}', "");
-Error('\p{Numeric_Value= /a/0000000003/04}');
-Error('\P{Numeric_Value= /a/0000000003/04}');
-Expect(1, 190, '\p{Numeric_Value=0000003/04}', "");
-Expect(0, 190, '\p{^Numeric_Value=0000003/04}', "");
-Expect(0, 190, '\P{Numeric_Value=0000003/04}', "");
-Expect(1, 190, '\P{^Numeric_Value=0000003/04}', "");
-Expect(0, 189, '\p{Numeric_Value=0000003/04}', "");
-Expect(1, 189, '\p{^Numeric_Value=0000003/04}', "");
-Expect(1, 189, '\P{Numeric_Value=0000003/04}', "");
-Expect(0, 189, '\P{^Numeric_Value=0000003/04}', "");
-Expect(1, 190, '\p{Numeric_Value: 0.750}', "");
-Expect(0, 190, '\p{^Numeric_Value: 0.750}', "");
-Expect(0, 190, '\P{Numeric_Value: 0.750}', "");
-Expect(1, 190, '\P{^Numeric_Value: 0.750}', "");
-Expect(0, 189, '\p{Numeric_Value: 0.750}', "");
-Expect(1, 189, '\p{^Numeric_Value: 0.750}', "");
-Expect(1, 189, '\P{Numeric_Value: 0.750}', "");
-Expect(0, 189, '\P{^Numeric_Value: 0.750}', "");
-Error('\p{Nv=/a/- 00000003/4}');
-Error('\P{Nv=/a/- 00000003/4}');
-Expect(1, 190, '\p{Nv=03/0000000004}', "");
-Expect(0, 190, '\p{^Nv=03/0000000004}', "");
-Expect(0, 190, '\P{Nv=03/0000000004}', "");
-Expect(1, 190, '\P{^Nv=03/0000000004}', "");
-Expect(0, 189, '\p{Nv=03/0000000004}', "");
-Expect(1, 189, '\p{^Nv=03/0000000004}', "");
-Expect(1, 189, '\P{Nv=03/0000000004}', "");
-Expect(0, 189, '\P{^Nv=03/0000000004}', "");
-Expect(1, 190, '\p{Nv=0.750}', "");
-Expect(0, 190, '\p{^Nv=0.750}', "");
-Expect(0, 190, '\P{Nv=0.750}', "");
-Expect(1, 190, '\P{^Nv=0.750}', "");
-Expect(0, 189, '\p{Nv=0.750}', "");
-Expect(1, 189, '\p{^Nv=0.750}', "");
-Expect(1, 189, '\P{Nv=0.750}', "");
-Expect(0, 189, '\P{^Nv=0.750}', "");
-Error('\p{Is_Numeric_Value=/a/--+00003/004}');
-Error('\P{Is_Numeric_Value=/a/--+00003/004}');
-Expect(1, 190, '\p{Is_Numeric_Value=0000003/000004}', "");
-Expect(0, 190, '\p{^Is_Numeric_Value=0000003/000004}', "");
-Expect(0, 190, '\P{Is_Numeric_Value=0000003/000004}', "");
-Expect(1, 190, '\P{^Is_Numeric_Value=0000003/000004}', "");
-Expect(0, 189, '\p{Is_Numeric_Value=0000003/000004}', "");
-Expect(1, 189, '\p{^Is_Numeric_Value=0000003/000004}', "");
-Expect(1, 189, '\P{Is_Numeric_Value=0000003/000004}', "");
-Expect(0, 189, '\P{^Is_Numeric_Value=0000003/000004}', "");
-Expect(1, 190, '\p{Is_Numeric_Value=0.750}', "");
-Expect(0, 190, '\p{^Is_Numeric_Value=0.750}', "");
-Expect(0, 190, '\P{Is_Numeric_Value=0.750}', "");
-Expect(1, 190, '\P{^Is_Numeric_Value=0.750}', "");
-Expect(0, 189, '\p{Is_Numeric_Value=0.750}', "");
-Expect(1, 189, '\p{^Is_Numeric_Value=0.750}', "");
-Expect(1, 189, '\P{Is_Numeric_Value=0.750}', "");
-Expect(0, 189, '\P{^Is_Numeric_Value=0.750}', "");
-Error('\p{Is_Nv=_ 0000003/04:=}');
-Error('\P{Is_Nv=_ 0000003/04:=}');
-Expect(1, 190, '\p{Is_Nv=0003/00000004}', "");
-Expect(0, 190, '\p{^Is_Nv=0003/00000004}', "");
-Expect(0, 190, '\P{Is_Nv=0003/00000004}', "");
-Expect(1, 190, '\P{^Is_Nv=0003/00000004}', "");
-Expect(0, 189, '\p{Is_Nv=0003/00000004}', "");
-Expect(1, 189, '\p{^Is_Nv=0003/00000004}', "");
-Expect(1, 189, '\P{Is_Nv=0003/00000004}', "");
-Expect(0, 189, '\P{^Is_Nv=0003/00000004}', "");
-Expect(1, 190, '\p{Is_Nv=0.750}', "");
-Expect(0, 190, '\p{^Is_Nv=0.750}', "");
-Expect(0, 190, '\P{Is_Nv=0.750}', "");
-Expect(1, 190, '\P{^Is_Nv=0.750}', "");
-Expect(0, 189, '\p{Is_Nv=0.750}', "");
-Expect(1, 189, '\p{^Is_Nv=0.750}', "");
-Expect(1, 189, '\P{Is_Nv=0.750}', "");
-Expect(0, 189, '\P{^Is_Nv=0.750}', "");
-Error('\p{Numeric_Value= /a/0000000004}');
-Error('\P{Numeric_Value= /a/0000000004}');
-Expect(1, 52, '\p{Numeric_Value=004}', "");
-Expect(0, 52, '\p{^Numeric_Value=004}', "");
-Expect(0, 52, '\P{Numeric_Value=004}', "");
-Expect(1, 52, '\P{^Numeric_Value=004}', "");
-Expect(0, 51, '\p{Numeric_Value=004}', "");
-Expect(1, 51, '\p{^Numeric_Value=004}', "");
-Expect(1, 51, '\P{Numeric_Value=004}', "");
-Expect(0, 51, '\P{^Numeric_Value=004}', "");
-Error('\p{Nv=_ 0000004:=}');
-Error('\P{Nv=_ 0000004:=}');
-Expect(1, 52, '\p{Nv=+0004}', "");
-Expect(0, 52, '\p{^Nv=+0004}', "");
-Expect(0, 52, '\P{Nv=+0004}', "");
-Expect(1, 52, '\P{^Nv=+0004}', "");
-Expect(0, 51, '\p{Nv=+0004}', "");
-Expect(1, 51, '\p{^Nv=+0004}', "");
-Expect(1, 51, '\P{Nv=+0004}', "");
-Expect(0, 51, '\P{^Nv=+0004}', "");
-Error('\p{Is_Numeric_Value=/a/ 4}');
-Error('\P{Is_Numeric_Value=/a/ 4}');
-Expect(1, 52, '\p{Is_Numeric_Value=00004}', "");
-Expect(0, 52, '\p{^Is_Numeric_Value=00004}', "");
-Expect(0, 52, '\P{Is_Numeric_Value=00004}', "");
-Expect(1, 52, '\P{^Is_Numeric_Value=00004}', "");
-Expect(0, 51, '\p{Is_Numeric_Value=00004}', "");
-Expect(1, 51, '\p{^Is_Numeric_Value=00004}', "");
-Expect(1, 51, '\P{Is_Numeric_Value=00004}', "");
-Expect(0, 51, '\P{^Is_Numeric_Value=00004}', "");
-Error('\p{Is_Nv=_:=+04}');
-Error('\P{Is_Nv=_:=+04}');
-Expect(1, 52, '\p{Is_Nv=0000_0000_04}', "");
-Expect(0, 52, '\p{^Is_Nv=0000_0000_04}', "");
-Expect(0, 52, '\P{Is_Nv=0000_0000_04}', "");
-Expect(1, 52, '\P{^Is_Nv=0000_0000_04}', "");
-Expect(0, 51, '\p{Is_Nv=0000_0000_04}', "");
-Expect(1, 51, '\p{^Is_Nv=0000_0000_04}', "");
-Expect(1, 51, '\P{Is_Nv=0000_0000_04}', "");
-Expect(0, 51, '\P{^Is_Nv=0000_0000_04}', "");
-Error('\p{Numeric_Value:/a/ +0000000034}');
-Error('\P{Numeric_Value:/a/ +0000000034}');
-Expect(1, 12894, '\p{Numeric_Value=+03_4}', "");
-Expect(0, 12894, '\p{^Numeric_Value=+03_4}', "");
-Expect(0, 12894, '\P{Numeric_Value=+03_4}', "");
-Expect(1, 12894, '\P{^Numeric_Value=+03_4}', "");
-Expect(0, 12893, '\p{Numeric_Value=+03_4}', "");
-Expect(1, 12893, '\p{^Numeric_Value=+03_4}', "");
-Expect(1, 12893, '\P{Numeric_Value=+03_4}', "");
-Expect(0, 12893, '\P{^Numeric_Value=+03_4}', "");
-Error('\p{Nv=/a/_ 0 0_0 034}');
-Error('\P{Nv=/a/_ 0 0_0 034}');
-Expect(1, 12894, '\p{Nv=0034}', "");
-Expect(0, 12894, '\p{^Nv=0034}', "");
-Expect(0, 12894, '\P{Nv=0034}', "");
-Expect(1, 12894, '\P{^Nv=0034}', "");
-Expect(0, 12893, '\p{Nv=0034}', "");
-Expect(1, 12893, '\p{^Nv=0034}', "");
-Expect(1, 12893, '\P{Nv=0034}', "");
-Expect(0, 12893, '\P{^Nv=0034}', "");
-Error('\p{Is_Numeric_Value=_0034/a/}');
-Error('\P{Is_Numeric_Value=_0034/a/}');
-Expect(1, 12894, '\p{Is_Numeric_Value=0000034}', "");
-Expect(0, 12894, '\p{^Is_Numeric_Value=0000034}', "");
-Expect(0, 12894, '\P{Is_Numeric_Value=0000034}', "");
-Expect(1, 12894, '\P{^Is_Numeric_Value=0000034}', "");
-Expect(0, 12893, '\p{Is_Numeric_Value=0000034}', "");
-Expect(1, 12893, '\p{^Is_Numeric_Value=0000034}', "");
-Expect(1, 12893, '\P{Is_Numeric_Value=0000034}', "");
-Expect(0, 12893, '\P{^Is_Numeric_Value=0000034}', "");
-Error('\p{Is_Nv=-+34/a/}');
-Error('\P{Is_Nv=-+34/a/}');
-Expect(1, 12894, '\p{Is_Nv: 00_00_00_34}', "");
-Expect(0, 12894, '\p{^Is_Nv: 00_00_00_34}', "");
-Expect(0, 12894, '\P{Is_Nv: 00_00_00_34}', "");
-Expect(1, 12894, '\P{^Is_Nv: 00_00_00_34}', "");
-Expect(0, 12893, '\p{Is_Nv: 00_00_00_34}', "");
-Expect(1, 12893, '\p{^Is_Nv: 00_00_00_34}', "");
-Expect(1, 12893, '\P{Is_Nv: 00_00_00_34}', "");
-Expect(0, 12893, '\P{^Is_Nv: 00_00_00_34}', "");
-Error('\p{Numeric_Value= 0037/a/}');
-Error('\P{Numeric_Value= 0037/a/}');
-Expect(1, 12978, '\p{Numeric_Value=3_7}', "");
-Expect(0, 12978, '\p{^Numeric_Value=3_7}', "");
-Expect(0, 12978, '\P{Numeric_Value=3_7}', "");
-Expect(1, 12978, '\P{^Numeric_Value=3_7}', "");
-Expect(0, 12977, '\p{Numeric_Value=3_7}', "");
-Expect(1, 12977, '\p{^Numeric_Value=3_7}', "");
-Expect(1, 12977, '\P{Numeric_Value=3_7}', "");
-Expect(0, 12977, '\P{^Numeric_Value=3_7}', "");
-Error('\p{Nv=:= _+00000037}');
-Error('\P{Nv=:= _+00000037}');
-Expect(1, 12978, '\p{Nv=00000037}', "");
-Expect(0, 12978, '\p{^Nv=00000037}', "");
-Expect(0, 12978, '\P{Nv=00000037}', "");
-Expect(1, 12978, '\P{^Nv=00000037}', "");
-Expect(0, 12977, '\p{Nv=00000037}', "");
-Expect(1, 12977, '\p{^Nv=00000037}', "");
-Expect(1, 12977, '\P{Nv=00000037}', "");
-Expect(0, 12977, '\P{^Nv=00000037}', "");
-Error('\p{Is_Numeric_Value:- 000000037:=}');
-Error('\P{Is_Numeric_Value:- 000000037:=}');
-Expect(1, 12978, '\p{Is_Numeric_Value=+0000000037}', "");
-Expect(0, 12978, '\p{^Is_Numeric_Value=+0000000037}', "");
-Expect(0, 12978, '\P{Is_Numeric_Value=+0000000037}', "");
-Expect(1, 12978, '\P{^Is_Numeric_Value=+0000000037}', "");
-Expect(0, 12977, '\p{Is_Numeric_Value=+0000000037}', "");
-Expect(1, 12977, '\p{^Is_Numeric_Value=+0000000037}', "");
-Expect(1, 12977, '\P{Is_Numeric_Value=+0000000037}', "");
-Expect(0, 12977, '\P{^Is_Numeric_Value=+0000000037}', "");
-Error('\p{Is_Nv= +0000000037:=}');
-Error('\P{Is_Nv= +0000000037:=}');
-Expect(1, 12978, '\p{Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(0, 12978, '\p{^Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(0, 12978, '\P{Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(1, 12978, '\P{^Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(0, 12977, '\p{Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(1, 12977, '\p{^Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(1, 12977, '\P{Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Expect(0, 12977, '\P{^Is_Nv=0_0_0_0_0_0_0_0_0_37}', "");
-Error('\p{Numeric_Value: /a/+0005/000002}');
-Error('\P{Numeric_Value: /a/+0005/000002}');
-Expect(1, 3884, '\p{Numeric_Value: 5/0000002}', "");
-Expect(0, 3884, '\p{^Numeric_Value: 5/0000002}', "");
-Expect(0, 3884, '\P{Numeric_Value: 5/0000002}', "");
-Expect(1, 3884, '\P{^Numeric_Value: 5/0000002}', "");
-Expect(0, 3883, '\p{Numeric_Value: 5/0000002}', "");
-Expect(1, 3883, '\p{^Numeric_Value: 5/0000002}', "");
-Expect(1, 3883, '\P{Numeric_Value: 5/0000002}', "");
-Expect(0, 3883, '\P{^Numeric_Value: 5/0000002}', "");
-Expect(1, 3884, '\p{Numeric_Value: 2.500}', "");
-Expect(0, 3884, '\p{^Numeric_Value: 2.500}', "");
-Expect(0, 3884, '\P{Numeric_Value: 2.500}', "");
-Expect(1, 3884, '\P{^Numeric_Value: 2.500}', "");
-Expect(0, 3883, '\p{Numeric_Value: 2.500}', "");
-Expect(1, 3883, '\p{^Numeric_Value: 2.500}', "");
-Expect(1, 3883, '\P{Numeric_Value: 2.500}', "");
-Expect(0, 3883, '\P{^Numeric_Value: 2.500}', "");
-Error('\p{Nv=/a/_+0005/000000002}');
-Error('\P{Nv=/a/_+0005/000000002}');
-Expect(1, 3884, '\p{Nv=0000000005/02}', "");
-Expect(0, 3884, '\p{^Nv=0000000005/02}', "");
-Expect(0, 3884, '\P{Nv=0000000005/02}', "");
-Expect(1, 3884, '\P{^Nv=0000000005/02}', "");
-Expect(0, 3883, '\p{Nv=0000000005/02}', "");
-Expect(1, 3883, '\p{^Nv=0000000005/02}', "");
-Expect(1, 3883, '\P{Nv=0000000005/02}', "");
-Expect(0, 3883, '\P{^Nv=0000000005/02}', "");
-Expect(1, 3884, '\p{Nv=2.500}', "");
-Expect(0, 3884, '\p{^Nv=2.500}', "");
-Expect(0, 3884, '\P{Nv=2.500}', "");
-Expect(1, 3884, '\P{^Nv=2.500}', "");
-Expect(0, 3883, '\p{Nv=2.500}', "");
-Expect(1, 3883, '\p{^Nv=2.500}', "");
-Expect(1, 3883, '\P{Nv=2.500}', "");
-Expect(0, 3883, '\P{^Nv=2.500}', "");
-Error('\p{Is_Numeric_Value= 5/0002/a/}');
-Error('\P{Is_Numeric_Value= 5/0002/a/}');
-Expect(1, 3884, '\p{Is_Numeric_Value=05/000002}', "");
-Expect(0, 3884, '\p{^Is_Numeric_Value=05/000002}', "");
-Expect(0, 3884, '\P{Is_Numeric_Value=05/000002}', "");
-Expect(1, 3884, '\P{^Is_Numeric_Value=05/000002}', "");
-Expect(0, 3883, '\p{Is_Numeric_Value=05/000002}', "");
-Expect(1, 3883, '\p{^Is_Numeric_Value=05/000002}', "");
-Expect(1, 3883, '\P{Is_Numeric_Value=05/000002}', "");
-Expect(0, 3883, '\P{^Is_Numeric_Value=05/000002}', "");
-Expect(1, 3884, '\p{Is_Numeric_Value=2.500}', "");
-Expect(0, 3884, '\p{^Is_Numeric_Value=2.500}', "");
-Expect(0, 3884, '\P{Is_Numeric_Value=2.500}', "");
-Expect(1, 3884, '\P{^Is_Numeric_Value=2.500}', "");
-Expect(0, 3883, '\p{Is_Numeric_Value=2.500}', "");
-Expect(1, 3883, '\p{^Is_Numeric_Value=2.500}', "");
-Expect(1, 3883, '\P{Is_Numeric_Value=2.500}', "");
-Expect(0, 3883, '\P{^Is_Numeric_Value=2.500}', "");
-Error('\p{Is_Nv=005/00002:=}');
-Error('\P{Is_Nv=005/00002:=}');
-Expect(1, 3884, '\p{Is_Nv=000000005/02}', "");
-Expect(0, 3884, '\p{^Is_Nv=000000005/02}', "");
-Expect(0, 3884, '\P{Is_Nv=000000005/02}', "");
-Expect(1, 3884, '\P{^Is_Nv=000000005/02}', "");
-Expect(0, 3883, '\p{Is_Nv=000000005/02}', "");
-Expect(1, 3883, '\p{^Is_Nv=000000005/02}', "");
-Expect(1, 3883, '\P{Is_Nv=000000005/02}', "");
-Expect(0, 3883, '\P{^Is_Nv=000000005/02}', "");
-Expect(1, 3884, '\p{Is_Nv=2.500}', "");
-Expect(0, 3884, '\p{^Is_Nv=2.500}', "");
-Expect(0, 3884, '\P{Is_Nv=2.500}', "");
-Expect(1, 3884, '\P{^Is_Nv=2.500}', "");
-Expect(0, 3883, '\p{Is_Nv=2.500}', "");
-Expect(1, 3883, '\p{^Is_Nv=2.500}', "");
-Expect(1, 3883, '\P{Is_Nv=2.500}', "");
-Expect(0, 3883, '\P{^Is_Nv=2.500}', "");
-Error('\p{Numeric_Value=_ 00 00 0/a/0_0_1_000}');
-Error('\P{Numeric_Value=_ 00 00 0/a/0_0_1_000}');
-Expect(1, 3058, '\p{Numeric_Value=00_00_00_01_000}', "");
-Expect(0, 3058, '\p{^Numeric_Value=00_00_00_01_000}', "");
-Expect(0, 3058, '\P{Numeric_Value=00_00_00_01_000}', "");
-Expect(1, 3058, '\P{^Numeric_Value=00_00_00_01_000}', "");
-Expect(0, 3057, '\p{Numeric_Value=00_00_00_01_000}', "");
-Expect(1, 3057, '\p{^Numeric_Value=00_00_00_01_000}', "");
-Expect(1, 3057, '\P{Numeric_Value=00_00_00_01_000}', "");
-Expect(0, 3057, '\P{^Numeric_Value=00_00_00_01_000}', "");
-Error('\p{Nv= /a/00001000}');
-Error('\P{Nv= /a/00001000}');
-Expect(1, 3058, '\p{Nv: 0001000}', "");
-Expect(0, 3058, '\p{^Nv: 0001000}', "");
-Expect(0, 3058, '\P{Nv: 0001000}', "");
-Expect(1, 3058, '\P{^Nv: 0001000}', "");
-Expect(0, 3057, '\p{Nv: 0001000}', "");
-Expect(1, 3057, '\p{^Nv: 0001000}', "");
-Expect(1, 3057, '\P{Nv: 0001000}', "");
-Expect(0, 3057, '\P{^Nv: 0001000}', "");
-Error('\p{Is_Numeric_Value=-+0 0 0:=0 0_0 1000}');
-Error('\P{Is_Numeric_Value=-+0 0 0:=0 0_0 1000}');
-Expect(1, 3058, '\p{Is_Numeric_Value=0000001000}', "");
-Expect(0, 3058, '\p{^Is_Numeric_Value=0000001000}', "");
-Expect(0, 3058, '\P{Is_Numeric_Value=0000001000}', "");
-Expect(1, 3058, '\P{^Is_Numeric_Value=0000001000}', "");
-Expect(0, 3057, '\p{Is_Numeric_Value=0000001000}', "");
-Expect(1, 3057, '\p{^Is_Numeric_Value=0000001000}', "");
-Expect(1, 3057, '\P{Is_Numeric_Value=0000001000}', "");
-Expect(0, 3057, '\P{^Is_Numeric_Value=0000001000}', "");
-Error('\p{Is_Nv=-_+01 00 0:=}');
-Error('\P{Is_Nv=-_+01 00 0:=}');
-Expect(1, 3058, '\p{Is_Nv=1_0_00}', "");
-Expect(0, 3058, '\p{^Is_Nv=1_0_00}', "");
-Expect(0, 3058, '\P{Is_Nv=1_0_00}', "");
-Expect(1, 3058, '\P{^Is_Nv=1_0_00}', "");
-Expect(0, 3057, '\p{Is_Nv=1_0_00}', "");
-Expect(1, 3057, '\p{^Is_Nv=1_0_00}', "");
-Expect(1, 3057, '\P{Is_Nv=1_0_00}', "");
-Expect(0, 3057, '\P{^Is_Nv=1_0_00}', "");
-Error('\p{Numeric_Value: 00/a/00 00 00 04_3}');
-Error('\P{Numeric_Value: 00/a/00 00 00 04_3}');
-Expect(1, 12984, '\p{Numeric_Value=4_3}', "");
-Expect(0, 12984, '\p{^Numeric_Value=4_3}', "");
-Expect(0, 12984, '\P{Numeric_Value=4_3}', "");
-Expect(1, 12984, '\P{^Numeric_Value=4_3}', "");
-Expect(0, 12983, '\p{Numeric_Value=4_3}', "");
-Expect(1, 12983, '\p{^Numeric_Value=4_3}', "");
-Expect(1, 12983, '\P{Numeric_Value=4_3}', "");
-Expect(0, 12983, '\P{^Numeric_Value=4_3}', "");
-Error('\p{Nv=/a/_ 0_0 00-43}');
-Error('\P{Nv=/a/_ 0_0 00-43}');
-Expect(1, 12984, '\p{Nv=00000043}', "");
-Expect(0, 12984, '\p{^Nv=00000043}', "");
-Expect(0, 12984, '\P{Nv=00000043}', "");
-Expect(1, 12984, '\P{^Nv=00000043}', "");
-Expect(0, 12983, '\p{Nv=00000043}', "");
-Expect(1, 12983, '\p{^Nv=00000043}', "");
-Expect(1, 12983, '\P{Nv=00000043}', "");
-Expect(0, 12983, '\P{^Nv=00000043}', "");
-Error('\p{Is_Numeric_Value=- 00000043:=}');
-Error('\P{Is_Numeric_Value=- 00000043:=}');
-Expect(1, 12984, '\p{Is_Numeric_Value=0043}', "");
-Expect(0, 12984, '\p{^Is_Numeric_Value=0043}', "");
-Expect(0, 12984, '\P{Is_Numeric_Value=0043}', "");
-Expect(1, 12984, '\P{^Is_Numeric_Value=0043}', "");
-Expect(0, 12983, '\p{Is_Numeric_Value=0043}', "");
-Expect(1, 12983, '\p{^Is_Numeric_Value=0043}', "");
-Expect(1, 12983, '\P{Is_Numeric_Value=0043}', "");
-Expect(0, 12983, '\P{^Is_Numeric_Value=0043}', "");
-Error('\p{Is_Nv= 000043/a/}');
-Error('\P{Is_Nv= 000043/a/}');
-Expect(1, 12984, '\p{Is_Nv=0_0_0_0_43}', "");
-Expect(0, 12984, '\p{^Is_Nv=0_0_0_0_43}', "");
-Expect(0, 12984, '\P{Is_Nv=0_0_0_0_43}', "");
-Expect(1, 12984, '\P{^Is_Nv=0_0_0_0_43}', "");
-Expect(0, 12983, '\p{Is_Nv=0_0_0_0_43}', "");
-Expect(1, 12983, '\p{^Is_Nv=0_0_0_0_43}', "");
-Expect(1, 12983, '\P{Is_Nv=0_0_0_0_43}', "");
-Expect(0, 12983, '\P{^Is_Nv=0_0_0_0_43}', "");
-Error('\p{Numeric_Value: :=_ +05}');
-Error('\P{Numeric_Value: :=_ +05}');
-Expect(1, 53, '\p{Numeric_Value=0000000005}', "");
-Expect(0, 53, '\p{^Numeric_Value=0000000005}', "");
-Expect(0, 53, '\P{Numeric_Value=0000000005}', "");
-Expect(1, 53, '\P{^Numeric_Value=0000000005}', "");
-Expect(0, 52, '\p{Numeric_Value=0000000005}', "");
-Expect(1, 52, '\p{^Numeric_Value=0000000005}', "");
-Expect(1, 52, '\P{Numeric_Value=0000000005}', "");
-Expect(0, 52, '\P{^Numeric_Value=0000000005}', "");
-Error('\p{Nv: :=- 0005}');
-Error('\P{Nv: :=- 0005}');
-Expect(1, 53, '\p{Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(0, 53, '\p{^Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(0, 53, '\P{Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(1, 53, '\P{^Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(0, 52, '\p{Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(1, 52, '\p{^Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(1, 52, '\P{Nv=0_0_0_0_0_0_0_0_05}', "");
-Expect(0, 52, '\P{^Nv=0_0_0_0_0_0_0_0_05}', "");
-Error('\p{Is_Numeric_Value=:=_ +00 5}');
-Error('\P{Is_Numeric_Value=:=_ +00 5}');
-Expect(1, 53, '\p{Is_Numeric_Value=0000000005}', "");
-Expect(0, 53, '\p{^Is_Numeric_Value=0000000005}', "");
-Expect(0, 53, '\P{Is_Numeric_Value=0000000005}', "");
-Expect(1, 53, '\P{^Is_Numeric_Value=0000000005}', "");
-Expect(0, 52, '\p{Is_Numeric_Value=0000000005}', "");
-Expect(1, 52, '\p{^Is_Numeric_Value=0000000005}', "");
-Expect(1, 52, '\P{Is_Numeric_Value=0000000005}', "");
-Expect(0, 52, '\P{^Is_Numeric_Value=0000000005}', "");
-Error('\p{Is_Nv= :=000005}');
-Error('\P{Is_Nv= :=000005}');
-Expect(1, 53, '\p{Is_Nv=0_5}', "");
-Expect(0, 53, '\p{^Is_Nv=0_5}', "");
-Expect(0, 53, '\P{Is_Nv=0_5}', "");
-Expect(1, 53, '\P{^Is_Nv=0_5}', "");
-Expect(0, 52, '\p{Is_Nv=0_5}', "");
-Expect(1, 52, '\p{^Is_Nv=0_5}', "");
-Expect(1, 52, '\P{Is_Nv=0_5}', "");
-Expect(0, 52, '\P{^Is_Nv=0_5}', "");
-Error('\p{Changes_When_Uppercased=:=- YES}');
-Error('\P{Changes_When_Uppercased=:=- YES}');
-Expect(1, 122, '\p{Changes_When_Uppercased=yes}', "");
-Expect(0, 122, '\p{^Changes_When_Uppercased=yes}', "");
-Expect(0, 122, '\P{Changes_When_Uppercased=yes}', "");
-Expect(1, 122, '\P{^Changes_When_Uppercased=yes}', "");
-Expect(0, 96, '\p{Changes_When_Uppercased=yes}', "");
-Expect(1, 96, '\p{^Changes_When_Uppercased=yes}', "");
-Expect(1, 96, '\P{Changes_When_Uppercased=yes}', "");
-Expect(0, 96, '\P{^Changes_When_Uppercased=yes}', "");
-Expect(1, 122, '\p{Changes_When_Uppercased= -Yes}', "");
-Expect(0, 122, '\p{^Changes_When_Uppercased= -Yes}', "");
-Expect(0, 122, '\P{Changes_When_Uppercased= -Yes}', "");
-Expect(1, 122, '\P{^Changes_When_Uppercased= -Yes}', "");
-Expect(0, 96, '\p{Changes_When_Uppercased= -Yes}', "");
-Expect(1, 96, '\p{^Changes_When_Uppercased= -Yes}', "");
-Expect(1, 96, '\P{Changes_When_Uppercased= -Yes}', "");
-Expect(0, 96, '\P{^Changes_When_Uppercased= -Yes}', "");
-Error('\p{CWU=_Y/a/}');
-Error('\P{CWU=_Y/a/}');
-Expect(1, 122, '\p{CWU=y}', "");
-Expect(0, 122, '\p{^CWU=y}', "");
-Expect(0, 122, '\P{CWU=y}', "");
-Expect(1, 122, '\P{^CWU=y}', "");
-Expect(0, 96, '\p{CWU=y}', "");
-Expect(1, 96, '\p{^CWU=y}', "");
-Expect(1, 96, '\P{CWU=y}', "");
-Expect(0, 96, '\P{^CWU=y}', "");
-Expect(1, 122, '\p{CWU= Y}', "");
-Expect(0, 122, '\p{^CWU= Y}', "");
-Expect(0, 122, '\P{CWU= Y}', "");
-Expect(1, 122, '\P{^CWU= Y}', "");
-Expect(0, 96, '\p{CWU= Y}', "");
-Expect(1, 96, '\p{^CWU= Y}', "");
-Expect(1, 96, '\P{CWU= Y}', "");
-Expect(0, 96, '\P{^CWU= Y}', "");
-Error('\p{Is_Changes_When_Uppercased=:=__T}');
-Error('\P{Is_Changes_When_Uppercased=:=__T}');
-Expect(1, 122, '\p{Is_Changes_When_Uppercased=t}', "");
-Expect(0, 122, '\p{^Is_Changes_When_Uppercased=t}', "");
-Expect(0, 122, '\P{Is_Changes_When_Uppercased=t}', "");
-Expect(1, 122, '\P{^Is_Changes_When_Uppercased=t}', "");
-Expect(0, 96, '\p{Is_Changes_When_Uppercased=t}', "");
-Expect(1, 96, '\p{^Is_Changes_When_Uppercased=t}', "");
-Expect(1, 96, '\P{Is_Changes_When_Uppercased=t}', "");
-Expect(0, 96, '\P{^Is_Changes_When_Uppercased=t}', "");
-Expect(1, 122, '\p{Is_Changes_When_Uppercased=- T}', "");
-Expect(0, 122, '\p{^Is_Changes_When_Uppercased=- T}', "");
-Expect(0, 122, '\P{Is_Changes_When_Uppercased=- T}', "");
-Expect(1, 122, '\P{^Is_Changes_When_Uppercased=- T}', "");
-Expect(0, 96, '\p{Is_Changes_When_Uppercased=- T}', "");
-Expect(1, 96, '\p{^Is_Changes_When_Uppercased=- T}', "");
-Expect(1, 96, '\P{Is_Changes_When_Uppercased=- T}', "");
-Expect(0, 96, '\P{^Is_Changes_When_Uppercased=- T}', "");
-Error('\p{Is_CWU= true:=}');
-Error('\P{Is_CWU= true:=}');
-Expect(1, 122, '\p{Is_CWU=true}', "");
-Expect(0, 122, '\p{^Is_CWU=true}', "");
-Expect(0, 122, '\P{Is_CWU=true}', "");
-Expect(1, 122, '\P{^Is_CWU=true}', "");
-Expect(0, 96, '\p{Is_CWU=true}', "");
-Expect(1, 96, '\p{^Is_CWU=true}', "");
-Expect(1, 96, '\P{Is_CWU=true}', "");
-Expect(0, 96, '\P{^Is_CWU=true}', "");
-Expect(1, 122, '\p{Is_CWU=-TRUE}', "");
-Expect(0, 122, '\p{^Is_CWU=-TRUE}', "");
-Expect(0, 122, '\P{Is_CWU=-TRUE}', "");
-Expect(1, 122, '\P{^Is_CWU=-TRUE}', "");
-Expect(0, 96, '\p{Is_CWU=-TRUE}', "");
-Expect(1, 96, '\p{^Is_CWU=-TRUE}', "");
-Expect(1, 96, '\P{Is_CWU=-TRUE}', "");
-Expect(0, 96, '\P{^Is_CWU=-TRUE}', "");
-Error('\p{Changes_When_Uppercased=/a/ No}');
-Error('\P{Changes_When_Uppercased=/a/ No}');
-Expect(1, 96, '\p{Changes_When_Uppercased=no}', "");
-Expect(0, 96, '\p{^Changes_When_Uppercased=no}', "");
-Expect(0, 96, '\P{Changes_When_Uppercased=no}', "");
-Expect(1, 96, '\P{^Changes_When_Uppercased=no}', "");
-Expect(0, 122, '\p{Changes_When_Uppercased=no}', "");
-Expect(1, 122, '\p{^Changes_When_Uppercased=no}', "");
-Expect(1, 122, '\P{Changes_When_Uppercased=no}', "");
-Expect(0, 122, '\P{^Changes_When_Uppercased=no}', "");
-Expect(1, 96, '\p{Changes_When_Uppercased=-_no}', "");
-Expect(0, 96, '\p{^Changes_When_Uppercased=-_no}', "");
-Expect(0, 96, '\P{Changes_When_Uppercased=-_no}', "");
-Expect(1, 96, '\P{^Changes_When_Uppercased=-_no}', "");
-Expect(0, 122, '\p{Changes_When_Uppercased=-_no}', "");
-Expect(1, 122, '\p{^Changes_When_Uppercased=-_no}', "");
-Expect(1, 122, '\P{Changes_When_Uppercased=-_no}', "");
-Expect(0, 122, '\P{^Changes_When_Uppercased=-_no}', "");
-Error('\p{CWU=/a/ n}');
-Error('\P{CWU=/a/ n}');
-Expect(1, 96, '\p{CWU: n}', "");
-Expect(0, 96, '\p{^CWU: n}', "");
-Expect(0, 96, '\P{CWU: n}', "");
-Expect(1, 96, '\P{^CWU: n}', "");
-Expect(0, 122, '\p{CWU: n}', "");
-Expect(1, 122, '\p{^CWU: n}', "");
-Expect(1, 122, '\P{CWU: n}', "");
-Expect(0, 122, '\P{^CWU: n}', "");
-Expect(1, 96, '\p{CWU= N}', "");
-Expect(0, 96, '\p{^CWU= N}', "");
-Expect(0, 96, '\P{CWU= N}', "");
-Expect(1, 96, '\P{^CWU= N}', "");
-Expect(0, 122, '\p{CWU= N}', "");
-Expect(1, 122, '\p{^CWU= N}', "");
-Expect(1, 122, '\P{CWU= N}', "");
-Expect(0, 122, '\P{^CWU= N}', "");
-Error('\p{Is_Changes_When_Uppercased= :=f}');
-Error('\P{Is_Changes_When_Uppercased= :=f}');
-Expect(1, 96, '\p{Is_Changes_When_Uppercased=f}', "");
-Expect(0, 96, '\p{^Is_Changes_When_Uppercased=f}', "");
-Expect(0, 96, '\P{Is_Changes_When_Uppercased=f}', "");
-Expect(1, 96, '\P{^Is_Changes_When_Uppercased=f}', "");
-Expect(0, 122, '\p{Is_Changes_When_Uppercased=f}', "");
-Expect(1, 122, '\p{^Is_Changes_When_Uppercased=f}', "");
-Expect(1, 122, '\P{Is_Changes_When_Uppercased=f}', "");
-Expect(0, 122, '\P{^Is_Changes_When_Uppercased=f}', "");
-Expect(1, 96, '\p{Is_Changes_When_Uppercased: - F}', "");
-Expect(0, 96, '\p{^Is_Changes_When_Uppercased: - F}', "");
-Expect(0, 96, '\P{Is_Changes_When_Uppercased: - F}', "");
-Expect(1, 96, '\P{^Is_Changes_When_Uppercased: - F}', "");
-Expect(0, 122, '\p{Is_Changes_When_Uppercased: - F}', "");
-Expect(1, 122, '\p{^Is_Changes_When_Uppercased: - F}', "");
-Expect(1, 122, '\P{Is_Changes_When_Uppercased: - F}', "");
-Expect(0, 122, '\P{^Is_Changes_When_Uppercased: - F}', "");
-Error('\p{Is_CWU=-:=False}');
-Error('\P{Is_CWU=-:=False}');
-Expect(1, 96, '\p{Is_CWU=false}', "");
-Expect(0, 96, '\p{^Is_CWU=false}', "");
-Expect(0, 96, '\P{Is_CWU=false}', "");
-Expect(1, 96, '\P{^Is_CWU=false}', "");
-Expect(0, 122, '\p{Is_CWU=false}', "");
-Expect(1, 122, '\p{^Is_CWU=false}', "");
-Expect(1, 122, '\P{Is_CWU=false}', "");
-Expect(0, 122, '\P{^Is_CWU=false}', "");
-Expect(1, 96, '\p{Is_CWU= false}', "");
-Expect(0, 96, '\p{^Is_CWU= false}', "");
-Expect(0, 96, '\P{Is_CWU= false}', "");
-Expect(1, 96, '\P{^Is_CWU= false}', "");
-Expect(0, 122, '\p{Is_CWU= false}', "");
-Expect(1, 122, '\p{^Is_CWU= false}', "");
-Expect(1, 122, '\P{Is_CWU= false}', "");
-Expect(0, 122, '\P{^Is_CWU= false}', "");
-Error('\p{Changes_When_Lowercased= _YES/a/}');
-Error('\P{Changes_When_Lowercased= _YES/a/}');
-Expect(1, 90, '\p{Changes_When_Lowercased=yes}', "");
-Expect(0, 90, '\p{^Changes_When_Lowercased=yes}', "");
-Expect(0, 90, '\P{Changes_When_Lowercased=yes}', "");
-Expect(1, 90, '\P{^Changes_When_Lowercased=yes}', "");
-Expect(0, 64, '\p{Changes_When_Lowercased=yes}', "");
-Expect(1, 64, '\p{^Changes_When_Lowercased=yes}', "");
-Expect(1, 64, '\P{Changes_When_Lowercased=yes}', "");
-Expect(0, 64, '\P{^Changes_When_Lowercased=yes}', "");
-Expect(1, 90, '\p{Changes_When_Lowercased=_ Yes}', "");
-Expect(0, 90, '\p{^Changes_When_Lowercased=_ Yes}', "");
-Expect(0, 90, '\P{Changes_When_Lowercased=_ Yes}', "");
-Expect(1, 90, '\P{^Changes_When_Lowercased=_ Yes}', "");
-Expect(0, 64, '\p{Changes_When_Lowercased=_ Yes}', "");
-Expect(1, 64, '\p{^Changes_When_Lowercased=_ Yes}', "");
-Expect(1, 64, '\P{Changes_When_Lowercased=_ Yes}', "");
-Expect(0, 64, '\P{^Changes_When_Lowercased=_ Yes}', "");
-Error('\p{CWL=:=_Y}');
-Error('\P{CWL=:=_Y}');
-Expect(1, 90, '\p{CWL=y}', "");
-Expect(0, 90, '\p{^CWL=y}', "");
-Expect(0, 90, '\P{CWL=y}', "");
-Expect(1, 90, '\P{^CWL=y}', "");
-Expect(0, 64, '\p{CWL=y}', "");
-Expect(1, 64, '\p{^CWL=y}', "");
-Expect(1, 64, '\P{CWL=y}', "");
-Expect(0, 64, '\P{^CWL=y}', "");
-Expect(1, 90, '\p{CWL=-y}', "");
-Expect(0, 90, '\p{^CWL=-y}', "");
-Expect(0, 90, '\P{CWL=-y}', "");
-Expect(1, 90, '\P{^CWL=-y}', "");
-Expect(0, 64, '\p{CWL=-y}', "");
-Expect(1, 64, '\p{^CWL=-y}', "");
-Expect(1, 64, '\P{CWL=-y}', "");
-Expect(0, 64, '\P{^CWL=-y}', "");
-Error('\p{Is_Changes_When_Lowercased=:=T}');
-Error('\P{Is_Changes_When_Lowercased=:=T}');
-Expect(1, 90, '\p{Is_Changes_When_Lowercased=t}', "");
-Expect(0, 90, '\p{^Is_Changes_When_Lowercased=t}', "");
-Expect(0, 90, '\P{Is_Changes_When_Lowercased=t}', "");
-Expect(1, 90, '\P{^Is_Changes_When_Lowercased=t}', "");
-Expect(0, 64, '\p{Is_Changes_When_Lowercased=t}', "");
-Expect(1, 64, '\p{^Is_Changes_When_Lowercased=t}', "");
-Expect(1, 64, '\P{Is_Changes_When_Lowercased=t}', "");
-Expect(0, 64, '\P{^Is_Changes_When_Lowercased=t}', "");
-Expect(1, 90, '\p{Is_Changes_When_Lowercased= t}', "");
-Expect(0, 90, '\p{^Is_Changes_When_Lowercased= t}', "");
-Expect(0, 90, '\P{Is_Changes_When_Lowercased= t}', "");
-Expect(1, 90, '\P{^Is_Changes_When_Lowercased= t}', "");
-Expect(0, 64, '\p{Is_Changes_When_Lowercased= t}', "");
-Expect(1, 64, '\p{^Is_Changes_When_Lowercased= t}', "");
-Expect(1, 64, '\P{Is_Changes_When_Lowercased= t}', "");
-Expect(0, 64, '\P{^Is_Changes_When_Lowercased= t}', "");
-Error('\p{Is_CWL= /a/True}');
-Error('\P{Is_CWL= /a/True}');
-Expect(1, 90, '\p{Is_CWL=true}', "");
-Expect(0, 90, '\p{^Is_CWL=true}', "");
-Expect(0, 90, '\P{Is_CWL=true}', "");
-Expect(1, 90, '\P{^Is_CWL=true}', "");
-Expect(0, 64, '\p{Is_CWL=true}', "");
-Expect(1, 64, '\p{^Is_CWL=true}', "");
-Expect(1, 64, '\P{Is_CWL=true}', "");
-Expect(0, 64, '\P{^Is_CWL=true}', "");
-Expect(1, 90, '\p{Is_CWL=-True}', "");
-Expect(0, 90, '\p{^Is_CWL=-True}', "");
-Expect(0, 90, '\P{Is_CWL=-True}', "");
-Expect(1, 90, '\P{^Is_CWL=-True}', "");
-Expect(0, 64, '\p{Is_CWL=-True}', "");
-Expect(1, 64, '\p{^Is_CWL=-True}', "");
-Expect(1, 64, '\P{Is_CWL=-True}', "");
-Expect(0, 64, '\P{^Is_CWL=-True}', "");
-Error('\p{Changes_When_Lowercased=/a/_ No}');
-Error('\P{Changes_When_Lowercased=/a/_ No}');
-Expect(1, 64, '\p{Changes_When_Lowercased=no}', "");
-Expect(0, 64, '\p{^Changes_When_Lowercased=no}', "");
-Expect(0, 64, '\P{Changes_When_Lowercased=no}', "");
-Expect(1, 64, '\P{^Changes_When_Lowercased=no}', "");
-Expect(0, 90, '\p{Changes_When_Lowercased=no}', "");
-Expect(1, 90, '\p{^Changes_When_Lowercased=no}', "");
-Expect(1, 90, '\P{Changes_When_Lowercased=no}', "");
-Expect(0, 90, '\P{^Changes_When_Lowercased=no}', "");
-Expect(1, 64, '\p{Changes_When_Lowercased= NO}', "");
-Expect(0, 64, '\p{^Changes_When_Lowercased= NO}', "");
-Expect(0, 64, '\P{Changes_When_Lowercased= NO}', "");
-Expect(1, 64, '\P{^Changes_When_Lowercased= NO}', "");
-Expect(0, 90, '\p{Changes_When_Lowercased= NO}', "");
-Expect(1, 90, '\p{^Changes_When_Lowercased= NO}', "");
-Expect(1, 90, '\P{Changes_When_Lowercased= NO}', "");
-Expect(0, 90, '\P{^Changes_When_Lowercased= NO}', "");
-Error('\p{CWL=:= n}');
-Error('\P{CWL=:= n}');
-Expect(1, 64, '\p{CWL: n}', "");
-Expect(0, 64, '\p{^CWL: n}', "");
-Expect(0, 64, '\P{CWL: n}', "");
-Expect(1, 64, '\P{^CWL: n}', "");
-Expect(0, 90, '\p{CWL: n}', "");
-Expect(1, 90, '\p{^CWL: n}', "");
-Expect(1, 90, '\P{CWL: n}', "");
-Expect(0, 90, '\P{^CWL: n}', "");
-Expect(1, 64, '\p{CWL: --N}', "");
-Expect(0, 64, '\p{^CWL: --N}', "");
-Expect(0, 64, '\P{CWL: --N}', "");
-Expect(1, 64, '\P{^CWL: --N}', "");
-Expect(0, 90, '\p{CWL: --N}', "");
-Expect(1, 90, '\p{^CWL: --N}', "");
-Expect(1, 90, '\P{CWL: --N}', "");
-Expect(0, 90, '\P{^CWL: --N}', "");
-Error('\p{Is_Changes_When_Lowercased=_F/a/}');
-Error('\P{Is_Changes_When_Lowercased=_F/a/}');
-Expect(1, 64, '\p{Is_Changes_When_Lowercased=f}', "");
-Expect(0, 64, '\p{^Is_Changes_When_Lowercased=f}', "");
-Expect(0, 64, '\P{Is_Changes_When_Lowercased=f}', "");
-Expect(1, 64, '\P{^Is_Changes_When_Lowercased=f}', "");
-Expect(0, 90, '\p{Is_Changes_When_Lowercased=f}', "");
-Expect(1, 90, '\p{^Is_Changes_When_Lowercased=f}', "");
-Expect(1, 90, '\P{Is_Changes_When_Lowercased=f}', "");
-Expect(0, 90, '\P{^Is_Changes_When_Lowercased=f}', "");
-Expect(1, 64, '\p{Is_Changes_When_Lowercased= -F}', "");
-Expect(0, 64, '\p{^Is_Changes_When_Lowercased= -F}', "");
-Expect(0, 64, '\P{Is_Changes_When_Lowercased= -F}', "");
-Expect(1, 64, '\P{^Is_Changes_When_Lowercased= -F}', "");
-Expect(0, 90, '\p{Is_Changes_When_Lowercased= -F}', "");
-Expect(1, 90, '\p{^Is_Changes_When_Lowercased= -F}', "");
-Expect(1, 90, '\P{Is_Changes_When_Lowercased= -F}', "");
-Expect(0, 90, '\P{^Is_Changes_When_Lowercased= -F}', "");
-Error('\p{Is_CWL=/a/__False}');
-Error('\P{Is_CWL=/a/__False}');
-Expect(1, 64, '\p{Is_CWL=false}', "");
-Expect(0, 64, '\p{^Is_CWL=false}', "");
-Expect(0, 64, '\P{Is_CWL=false}', "");
-Expect(1, 64, '\P{^Is_CWL=false}', "");
-Expect(0, 90, '\p{Is_CWL=false}', "");
-Expect(1, 90, '\p{^Is_CWL=false}', "");
-Expect(1, 90, '\P{Is_CWL=false}', "");
-Expect(0, 90, '\P{^Is_CWL=false}', "");
-Expect(1, 64, '\p{Is_CWL= false}', "");
-Expect(0, 64, '\p{^Is_CWL= false}', "");
-Expect(0, 64, '\P{Is_CWL= false}', "");
-Expect(1, 64, '\P{^Is_CWL= false}', "");
-Expect(0, 90, '\p{Is_CWL= false}', "");
-Expect(1, 90, '\p{^Is_CWL= false}', "");
-Expect(1, 90, '\P{Is_CWL= false}', "");
-Expect(0, 90, '\P{^Is_CWL= false}', "");
-Error('\p{Case_Ignorable=-:=YES}');
-Error('\P{Case_Ignorable=-:=YES}');
-Expect(1, 39, '\p{Case_Ignorable: yes}', "");
-Expect(0, 39, '\p{^Case_Ignorable: yes}', "");
-Expect(0, 39, '\P{Case_Ignorable: yes}', "");
-Expect(1, 39, '\P{^Case_Ignorable: yes}', "");
-Expect(0, 38, '\p{Case_Ignorable: yes}', "");
-Expect(1, 38, '\p{^Case_Ignorable: yes}', "");
-Expect(1, 38, '\P{Case_Ignorable: yes}', "");
-Expect(0, 38, '\P{^Case_Ignorable: yes}', "");
-Expect(1, 39, '\p{Case_Ignorable=_Yes}', "");
-Expect(0, 39, '\p{^Case_Ignorable=_Yes}', "");
-Expect(0, 39, '\P{Case_Ignorable=_Yes}', "");
-Expect(1, 39, '\P{^Case_Ignorable=_Yes}', "");
-Expect(0, 38, '\p{Case_Ignorable=_Yes}', "");
-Expect(1, 38, '\p{^Case_Ignorable=_Yes}', "");
-Expect(1, 38, '\P{Case_Ignorable=_Yes}', "");
-Expect(0, 38, '\P{^Case_Ignorable=_Yes}', "");
-Error('\p{CI=:= Y}');
-Error('\P{CI=:= Y}');
-Expect(1, 39, '\p{CI=y}', "");
-Expect(0, 39, '\p{^CI=y}', "");
-Expect(0, 39, '\P{CI=y}', "");
-Expect(1, 39, '\P{^CI=y}', "");
-Expect(0, 38, '\p{CI=y}', "");
-Expect(1, 38, '\p{^CI=y}', "");
-Expect(1, 38, '\P{CI=y}', "");
-Expect(0, 38, '\P{^CI=y}', "");
-Expect(1, 39, '\p{CI=_ Y}', "");
-Expect(0, 39, '\p{^CI=_ Y}', "");
-Expect(0, 39, '\P{CI=_ Y}', "");
-Expect(1, 39, '\P{^CI=_ Y}', "");
-Expect(0, 38, '\p{CI=_ Y}', "");
-Expect(1, 38, '\p{^CI=_ Y}', "");
-Expect(1, 38, '\P{CI=_ Y}', "");
-Expect(0, 38, '\P{^CI=_ Y}', "");
-Error('\p{Is_Case_Ignorable=-:=T}');
-Error('\P{Is_Case_Ignorable=-:=T}');
-Expect(1, 39, '\p{Is_Case_Ignorable=t}', "");
-Expect(0, 39, '\p{^Is_Case_Ignorable=t}', "");
-Expect(0, 39, '\P{Is_Case_Ignorable=t}', "");
-Expect(1, 39, '\P{^Is_Case_Ignorable=t}', "");
-Expect(0, 38, '\p{Is_Case_Ignorable=t}', "");
-Expect(1, 38, '\p{^Is_Case_Ignorable=t}', "");
-Expect(1, 38, '\P{Is_Case_Ignorable=t}', "");
-Expect(0, 38, '\P{^Is_Case_Ignorable=t}', "");
-Expect(1, 39, '\p{Is_Case_Ignorable=-T}', "");
-Expect(0, 39, '\p{^Is_Case_Ignorable=-T}', "");
-Expect(0, 39, '\P{Is_Case_Ignorable=-T}', "");
-Expect(1, 39, '\P{^Is_Case_Ignorable=-T}', "");
-Expect(0, 38, '\p{Is_Case_Ignorable=-T}', "");
-Expect(1, 38, '\p{^Is_Case_Ignorable=-T}', "");
-Expect(1, 38, '\P{Is_Case_Ignorable=-T}', "");
-Expect(0, 38, '\P{^Is_Case_Ignorable=-T}', "");
-Error('\p{Is_CI=-:=TRUE}');
-Error('\P{Is_CI=-:=TRUE}');
-Expect(1, 39, '\p{Is_CI=true}', "");
-Expect(0, 39, '\p{^Is_CI=true}', "");
-Expect(0, 39, '\P{Is_CI=true}', "");
-Expect(1, 39, '\P{^Is_CI=true}', "");
-Expect(0, 38, '\p{Is_CI=true}', "");
-Expect(1, 38, '\p{^Is_CI=true}', "");
-Expect(1, 38, '\P{Is_CI=true}', "");
-Expect(0, 38, '\P{^Is_CI=true}', "");
-Expect(1, 39, '\p{Is_CI= -True}', "");
-Expect(0, 39, '\p{^Is_CI= -True}', "");
-Expect(0, 39, '\P{Is_CI= -True}', "");
-Expect(1, 39, '\P{^Is_CI= -True}', "");
-Expect(0, 38, '\p{Is_CI= -True}', "");
-Expect(1, 38, '\p{^Is_CI= -True}', "");
-Expect(1, 38, '\P{Is_CI= -True}', "");
-Expect(0, 38, '\P{^Is_CI= -True}', "");
-Error('\p{Case_Ignorable=/a/ NO}');
-Error('\P{Case_Ignorable=/a/ NO}');
-Expect(1, 38, '\p{Case_Ignorable=no}', "");
-Expect(0, 38, '\p{^Case_Ignorable=no}', "");
-Expect(0, 38, '\P{Case_Ignorable=no}', "");
-Expect(1, 38, '\P{^Case_Ignorable=no}', "");
-Expect(0, 39, '\p{Case_Ignorable=no}', "");
-Expect(1, 39, '\p{^Case_Ignorable=no}', "");
-Expect(1, 39, '\P{Case_Ignorable=no}', "");
-Expect(0, 39, '\P{^Case_Ignorable=no}', "");
-Expect(1, 38, '\p{Case_Ignorable=__NO}', "");
-Expect(0, 38, '\p{^Case_Ignorable=__NO}', "");
-Expect(0, 38, '\P{Case_Ignorable=__NO}', "");
-Expect(1, 38, '\P{^Case_Ignorable=__NO}', "");
-Expect(0, 39, '\p{Case_Ignorable=__NO}', "");
-Expect(1, 39, '\p{^Case_Ignorable=__NO}', "");
-Expect(1, 39, '\P{Case_Ignorable=__NO}', "");
-Expect(0, 39, '\P{^Case_Ignorable=__NO}', "");
-Error('\p{CI=/a/_N}');
-Error('\P{CI=/a/_N}');
-Expect(1, 38, '\p{CI=n}', "");
-Expect(0, 38, '\p{^CI=n}', "");
-Expect(0, 38, '\P{CI=n}', "");
-Expect(1, 38, '\P{^CI=n}', "");
-Expect(0, 39, '\p{CI=n}', "");
-Expect(1, 39, '\p{^CI=n}', "");
-Expect(1, 39, '\P{CI=n}', "");
-Expect(0, 39, '\P{^CI=n}', "");
-Expect(1, 38, '\p{CI=- N}', "");
-Expect(0, 38, '\p{^CI=- N}', "");
-Expect(0, 38, '\P{CI=- N}', "");
-Expect(1, 38, '\P{^CI=- N}', "");
-Expect(0, 39, '\p{CI=- N}', "");
-Expect(1, 39, '\p{^CI=- N}', "");
-Expect(1, 39, '\P{CI=- N}', "");
-Expect(0, 39, '\P{^CI=- N}', "");
-Error('\p{Is_Case_Ignorable=:= -F}');
-Error('\P{Is_Case_Ignorable=:= -F}');
-Expect(1, 38, '\p{Is_Case_Ignorable=f}', "");
-Expect(0, 38, '\p{^Is_Case_Ignorable=f}', "");
-Expect(0, 38, '\P{Is_Case_Ignorable=f}', "");
-Expect(1, 38, '\P{^Is_Case_Ignorable=f}', "");
-Expect(0, 39, '\p{Is_Case_Ignorable=f}', "");
-Expect(1, 39, '\p{^Is_Case_Ignorable=f}', "");
-Expect(1, 39, '\P{Is_Case_Ignorable=f}', "");
-Expect(0, 39, '\P{^Is_Case_Ignorable=f}', "");
-Expect(1, 38, '\p{Is_Case_Ignorable=_-F}', "");
-Expect(0, 38, '\p{^Is_Case_Ignorable=_-F}', "");
-Expect(0, 38, '\P{Is_Case_Ignorable=_-F}', "");
-Expect(1, 38, '\P{^Is_Case_Ignorable=_-F}', "");
-Expect(0, 39, '\p{Is_Case_Ignorable=_-F}', "");
-Expect(1, 39, '\p{^Is_Case_Ignorable=_-F}', "");
-Expect(1, 39, '\P{Is_Case_Ignorable=_-F}', "");
-Expect(0, 39, '\P{^Is_Case_Ignorable=_-F}', "");
-Error('\p{Is_CI= :=False}');
-Error('\P{Is_CI= :=False}');
-Expect(1, 38, '\p{Is_CI=false}', "");
-Expect(0, 38, '\p{^Is_CI=false}', "");
-Expect(0, 38, '\P{Is_CI=false}', "");
-Expect(1, 38, '\P{^Is_CI=false}', "");
-Expect(0, 39, '\p{Is_CI=false}', "");
-Expect(1, 39, '\p{^Is_CI=false}', "");
-Expect(1, 39, '\P{Is_CI=false}', "");
-Expect(0, 39, '\P{^Is_CI=false}', "");
-Expect(1, 38, '\p{Is_CI= false}', "");
-Expect(0, 38, '\p{^Is_CI= false}', "");
-Expect(0, 38, '\P{Is_CI= false}', "");
-Expect(1, 38, '\P{^Is_CI= false}', "");
-Expect(0, 39, '\p{Is_CI= false}', "");
-Expect(1, 39, '\p{^Is_CI= false}', "");
-Expect(1, 39, '\P{Is_CI= false}', "");
-Expect(0, 39, '\P{^Is_CI= false}', "");
-Error('\p{Pattern_Syntax=_/a/Yes}');
-Error('\P{Pattern_Syntax=_/a/Yes}');
-Expect(1, 47, '\p{Pattern_Syntax=yes}', "");
-Expect(0, 47, '\p{^Pattern_Syntax=yes}', "");
-Expect(0, 47, '\P{Pattern_Syntax=yes}', "");
-Expect(1, 47, '\P{^Pattern_Syntax=yes}', "");
-Expect(0, 32, '\p{Pattern_Syntax=yes}', "");
-Expect(1, 32, '\p{^Pattern_Syntax=yes}', "");
-Expect(1, 32, '\P{Pattern_Syntax=yes}', "");
-Expect(0, 32, '\P{^Pattern_Syntax=yes}', "");
-Expect(1, 47, '\p{Pattern_Syntax=_-Yes}', "");
-Expect(0, 47, '\p{^Pattern_Syntax=_-Yes}', "");
-Expect(0, 47, '\P{Pattern_Syntax=_-Yes}', "");
-Expect(1, 47, '\P{^Pattern_Syntax=_-Yes}', "");
-Expect(0, 32, '\p{Pattern_Syntax=_-Yes}', "");
-Expect(1, 32, '\p{^Pattern_Syntax=_-Yes}', "");
-Expect(1, 32, '\P{Pattern_Syntax=_-Yes}', "");
-Expect(0, 32, '\P{^Pattern_Syntax=_-Yes}', "");
-Error('\p{Pat_Syn=/a/_Y}');
-Error('\P{Pat_Syn=/a/_Y}');
-Expect(1, 47, '\p{Pat_Syn=y}', "");
-Expect(0, 47, '\p{^Pat_Syn=y}', "");
-Expect(0, 47, '\P{Pat_Syn=y}', "");
-Expect(1, 47, '\P{^Pat_Syn=y}', "");
-Expect(0, 32, '\p{Pat_Syn=y}', "");
-Expect(1, 32, '\p{^Pat_Syn=y}', "");
-Expect(1, 32, '\P{Pat_Syn=y}', "");
-Expect(0, 32, '\P{^Pat_Syn=y}', "");
-Expect(1, 47, '\p{Pat_Syn: _Y}', "");
-Expect(0, 47, '\p{^Pat_Syn: _Y}', "");
-Expect(0, 47, '\P{Pat_Syn: _Y}', "");
-Expect(1, 47, '\P{^Pat_Syn: _Y}', "");
-Expect(0, 32, '\p{Pat_Syn: _Y}', "");
-Expect(1, 32, '\p{^Pat_Syn: _Y}', "");
-Expect(1, 32, '\P{Pat_Syn: _Y}', "");
-Expect(0, 32, '\P{^Pat_Syn: _Y}', "");
-Error('\p{Is_Pattern_Syntax= _t:=}');
-Error('\P{Is_Pattern_Syntax= _t:=}');
-Expect(1, 47, '\p{Is_Pattern_Syntax=t}', "");
-Expect(0, 47, '\p{^Is_Pattern_Syntax=t}', "");
-Expect(0, 47, '\P{Is_Pattern_Syntax=t}', "");
-Expect(1, 47, '\P{^Is_Pattern_Syntax=t}', "");
-Expect(0, 32, '\p{Is_Pattern_Syntax=t}', "");
-Expect(1, 32, '\p{^Is_Pattern_Syntax=t}', "");
-Expect(1, 32, '\P{Is_Pattern_Syntax=t}', "");
-Expect(0, 32, '\P{^Is_Pattern_Syntax=t}', "");
-Expect(1, 47, '\p{Is_Pattern_Syntax=__t}', "");
-Expect(0, 47, '\p{^Is_Pattern_Syntax=__t}', "");
-Expect(0, 47, '\P{Is_Pattern_Syntax=__t}', "");
-Expect(1, 47, '\P{^Is_Pattern_Syntax=__t}', "");
-Expect(0, 32, '\p{Is_Pattern_Syntax=__t}', "");
-Expect(1, 32, '\p{^Is_Pattern_Syntax=__t}', "");
-Expect(1, 32, '\P{Is_Pattern_Syntax=__t}', "");
-Expect(0, 32, '\P{^Is_Pattern_Syntax=__t}', "");
-Error('\p{Is_Pat_Syn=:=TRUE}');
-Error('\P{Is_Pat_Syn=:=TRUE}');
-Expect(1, 47, '\p{Is_Pat_Syn=true}', "");
-Expect(0, 47, '\p{^Is_Pat_Syn=true}', "");
-Expect(0, 47, '\P{Is_Pat_Syn=true}', "");
-Expect(1, 47, '\P{^Is_Pat_Syn=true}', "");
-Expect(0, 32, '\p{Is_Pat_Syn=true}', "");
-Expect(1, 32, '\p{^Is_Pat_Syn=true}', "");
-Expect(1, 32, '\P{Is_Pat_Syn=true}', "");
-Expect(0, 32, '\P{^Is_Pat_Syn=true}', "");
-Expect(1, 47, '\p{Is_Pat_Syn=_TRUE}', "");
-Expect(0, 47, '\p{^Is_Pat_Syn=_TRUE}', "");
-Expect(0, 47, '\P{Is_Pat_Syn=_TRUE}', "");
-Expect(1, 47, '\P{^Is_Pat_Syn=_TRUE}', "");
-Expect(0, 32, '\p{Is_Pat_Syn=_TRUE}', "");
-Expect(1, 32, '\p{^Is_Pat_Syn=_TRUE}', "");
-Expect(1, 32, '\P{Is_Pat_Syn=_TRUE}', "");
-Expect(0, 32, '\P{^Is_Pat_Syn=_TRUE}', "");
-Error('\p{Pattern_Syntax: /a/No}');
-Error('\P{Pattern_Syntax: /a/No}');
-Expect(1, 32, '\p{Pattern_Syntax=no}', "");
-Expect(0, 32, '\p{^Pattern_Syntax=no}', "");
-Expect(0, 32, '\P{Pattern_Syntax=no}', "");
-Expect(1, 32, '\P{^Pattern_Syntax=no}', "");
-Expect(0, 47, '\p{Pattern_Syntax=no}', "");
-Expect(1, 47, '\p{^Pattern_Syntax=no}', "");
-Expect(1, 47, '\P{Pattern_Syntax=no}', "");
-Expect(0, 47, '\P{^Pattern_Syntax=no}', "");
-Expect(1, 32, '\p{Pattern_Syntax= No}', "");
-Expect(0, 32, '\p{^Pattern_Syntax= No}', "");
-Expect(0, 32, '\P{Pattern_Syntax= No}', "");
-Expect(1, 32, '\P{^Pattern_Syntax= No}', "");
-Expect(0, 47, '\p{Pattern_Syntax= No}', "");
-Expect(1, 47, '\p{^Pattern_Syntax= No}', "");
-Expect(1, 47, '\P{Pattern_Syntax= No}', "");
-Expect(0, 47, '\P{^Pattern_Syntax= No}', "");
-Error('\p{Pat_Syn=_N/a/}');
-Error('\P{Pat_Syn=_N/a/}');
-Expect(1, 32, '\p{Pat_Syn=n}', "");
-Expect(0, 32, '\p{^Pat_Syn=n}', "");
-Expect(0, 32, '\P{Pat_Syn=n}', "");
-Expect(1, 32, '\P{^Pat_Syn=n}', "");
-Expect(0, 47, '\p{Pat_Syn=n}', "");
-Expect(1, 47, '\p{^Pat_Syn=n}', "");
-Expect(1, 47, '\P{Pat_Syn=n}', "");
-Expect(0, 47, '\P{^Pat_Syn=n}', "");
-Expect(1, 32, '\p{Pat_Syn:_ N}', "");
-Expect(0, 32, '\p{^Pat_Syn:_ N}', "");
-Expect(0, 32, '\P{Pat_Syn:_ N}', "");
-Expect(1, 32, '\P{^Pat_Syn:_ N}', "");
-Expect(0, 47, '\p{Pat_Syn:_ N}', "");
-Expect(1, 47, '\p{^Pat_Syn:_ N}', "");
-Expect(1, 47, '\P{Pat_Syn:_ N}', "");
-Expect(0, 47, '\P{^Pat_Syn:_ N}', "");
-Error('\p{Is_Pattern_Syntax=/a/ _F}');
-Error('\P{Is_Pattern_Syntax=/a/ _F}');
-Expect(1, 32, '\p{Is_Pattern_Syntax=f}', "");
-Expect(0, 32, '\p{^Is_Pattern_Syntax=f}', "");
-Expect(0, 32, '\P{Is_Pattern_Syntax=f}', "");
-Expect(1, 32, '\P{^Is_Pattern_Syntax=f}', "");
-Expect(0, 47, '\p{Is_Pattern_Syntax=f}', "");
-Expect(1, 47, '\p{^Is_Pattern_Syntax=f}', "");
-Expect(1, 47, '\P{Is_Pattern_Syntax=f}', "");
-Expect(0, 47, '\P{^Is_Pattern_Syntax=f}', "");
-Expect(1, 32, '\p{Is_Pattern_Syntax: f}', "");
-Expect(0, 32, '\p{^Is_Pattern_Syntax: f}', "");
-Expect(0, 32, '\P{Is_Pattern_Syntax: f}', "");
-Expect(1, 32, '\P{^Is_Pattern_Syntax: f}', "");
-Expect(0, 47, '\p{Is_Pattern_Syntax: f}', "");
-Expect(1, 47, '\p{^Is_Pattern_Syntax: f}', "");
-Expect(1, 47, '\P{Is_Pattern_Syntax: f}', "");
-Expect(0, 47, '\P{^Is_Pattern_Syntax: f}', "");
-Error('\p{Is_Pat_Syn= False:=}');
-Error('\P{Is_Pat_Syn= False:=}');
-Expect(1, 32, '\p{Is_Pat_Syn=false}', "");
-Expect(0, 32, '\p{^Is_Pat_Syn=false}', "");
-Expect(0, 32, '\P{Is_Pat_Syn=false}', "");
-Expect(1, 32, '\P{^Is_Pat_Syn=false}', "");
-Expect(0, 47, '\p{Is_Pat_Syn=false}', "");
-Expect(1, 47, '\p{^Is_Pat_Syn=false}', "");
-Expect(1, 47, '\P{Is_Pat_Syn=false}', "");
-Expect(0, 47, '\P{^Is_Pat_Syn=false}', "");
-Expect(1, 32, '\p{Is_Pat_Syn= False}', "");
-Expect(0, 32, '\p{^Is_Pat_Syn= False}', "");
-Expect(0, 32, '\P{Is_Pat_Syn= False}', "");
-Expect(1, 32, '\P{^Is_Pat_Syn= False}', "");
-Expect(0, 47, '\p{Is_Pat_Syn= False}', "");
-Expect(1, 47, '\p{^Is_Pat_Syn= False}', "");
-Expect(1, 47, '\P{Is_Pat_Syn= False}', "");
-Expect(0, 47, '\P{^Is_Pat_Syn= False}', "");
-Error('\p{Numeric_Type= /a/none}');
-Error('\P{Numeric_Type= /a/none}');
-Expect(1, 47, '\p{Numeric_Type=none}', "");
-Expect(0, 47, '\p{^Numeric_Type=none}', "");
-Expect(0, 47, '\P{Numeric_Type=none}', "");
-Expect(1, 47, '\P{^Numeric_Type=none}', "");
-Expect(0, 57, '\p{Numeric_Type=none}', "");
-Expect(1, 57, '\p{^Numeric_Type=none}', "");
-Expect(1, 57, '\P{Numeric_Type=none}', "");
-Expect(0, 57, '\P{^Numeric_Type=none}', "");
-Expect(1, 47, '\p{Numeric_Type=-_None}', "");
-Expect(0, 47, '\p{^Numeric_Type=-_None}', "");
-Expect(0, 47, '\P{Numeric_Type=-_None}', "");
-Expect(1, 47, '\P{^Numeric_Type=-_None}', "");
-Expect(0, 57, '\p{Numeric_Type=-_None}', "");
-Expect(1, 57, '\p{^Numeric_Type=-_None}', "");
-Expect(1, 57, '\P{Numeric_Type=-_None}', "");
-Expect(0, 57, '\P{^Numeric_Type=-_None}', "");
-Error('\p{Nt= :=None}');
-Error('\P{Nt= :=None}');
-Expect(1, 47, '\p{Nt: none}', "");
-Expect(0, 47, '\p{^Nt: none}', "");
-Expect(0, 47, '\P{Nt: none}', "");
-Expect(1, 47, '\P{^Nt: none}', "");
-Expect(0, 57, '\p{Nt: none}', "");
-Expect(1, 57, '\p{^Nt: none}', "");
-Expect(1, 57, '\P{Nt: none}', "");
-Expect(0, 57, '\P{^Nt: none}', "");
-Expect(1, 47, '\p{Nt=-none}', "");
-Expect(0, 47, '\p{^Nt=-none}', "");
-Expect(0, 47, '\P{Nt=-none}', "");
-Expect(1, 47, '\P{^Nt=-none}', "");
-Expect(0, 57, '\p{Nt=-none}', "");
-Expect(1, 57, '\p{^Nt=-none}', "");
-Expect(1, 57, '\P{Nt=-none}', "");
-Expect(0, 57, '\P{^Nt=-none}', "");
-Error('\p{Is_Numeric_Type=:= -NONE}');
-Error('\P{Is_Numeric_Type=:= -NONE}');
-Expect(1, 47, '\p{Is_Numeric_Type=none}', "");
-Expect(0, 47, '\p{^Is_Numeric_Type=none}', "");
-Expect(0, 47, '\P{Is_Numeric_Type=none}', "");
-Expect(1, 47, '\P{^Is_Numeric_Type=none}', "");
-Expect(0, 57, '\p{Is_Numeric_Type=none}', "");
-Expect(1, 57, '\p{^Is_Numeric_Type=none}', "");
-Expect(1, 57, '\P{Is_Numeric_Type=none}', "");
-Expect(0, 57, '\P{^Is_Numeric_Type=none}', "");
-Expect(1, 47, '\p{Is_Numeric_Type=-_none}', "");
-Expect(0, 47, '\p{^Is_Numeric_Type=-_none}', "");
-Expect(0, 47, '\P{Is_Numeric_Type=-_none}', "");
-Expect(1, 47, '\P{^Is_Numeric_Type=-_none}', "");
-Expect(0, 57, '\p{Is_Numeric_Type=-_none}', "");
-Expect(1, 57, '\p{^Is_Numeric_Type=-_none}', "");
-Expect(1, 57, '\P{Is_Numeric_Type=-_none}', "");
-Expect(0, 57, '\P{^Is_Numeric_Type=-_none}', "");
-Error('\p{Is_Nt=:=None}');
-Error('\P{Is_Nt=:=None}');
-Expect(1, 47, '\p{Is_Nt=none}', "");
-Expect(0, 47, '\p{^Is_Nt=none}', "");
-Expect(0, 47, '\P{Is_Nt=none}', "");
-Expect(1, 47, '\P{^Is_Nt=none}', "");
-Expect(0, 57, '\p{Is_Nt=none}', "");
-Expect(1, 57, '\p{^Is_Nt=none}', "");
-Expect(1, 57, '\P{Is_Nt=none}', "");
-Expect(0, 57, '\P{^Is_Nt=none}', "");
-Expect(1, 47, '\p{Is_Nt= none}', "");
-Expect(0, 47, '\p{^Is_Nt= none}', "");
-Expect(0, 47, '\P{Is_Nt= none}', "");
-Expect(1, 47, '\P{^Is_Nt= none}', "");
-Expect(0, 57, '\p{Is_Nt= none}', "");
-Expect(1, 57, '\p{^Is_Nt= none}', "");
-Expect(1, 57, '\P{Is_Nt= none}', "");
-Expect(0, 57, '\P{^Is_Nt= none}', "");
-Error('\p{Numeric_Type: _Digit:=}');
-Error('\P{Numeric_Type: _Digit:=}');
-Expect(1, 179, '\p{Numeric_Type=digit}', "");
-Expect(0, 179, '\p{^Numeric_Type=digit}', "");
-Expect(0, 179, '\P{Numeric_Type=digit}', "");
-Expect(1, 179, '\P{^Numeric_Type=digit}', "");
-Expect(0, 177, '\p{Numeric_Type=digit}', "");
-Expect(1, 177, '\p{^Numeric_Type=digit}', "");
-Expect(1, 177, '\P{Numeric_Type=digit}', "");
-Expect(0, 177, '\P{^Numeric_Type=digit}', "");
-Expect(1, 179, '\p{Numeric_Type=_-Digit}', "");
-Expect(0, 179, '\p{^Numeric_Type=_-Digit}', "");
-Expect(0, 179, '\P{Numeric_Type=_-Digit}', "");
-Expect(1, 179, '\P{^Numeric_Type=_-Digit}', "");
-Expect(0, 177, '\p{Numeric_Type=_-Digit}', "");
-Expect(1, 177, '\p{^Numeric_Type=_-Digit}', "");
-Expect(1, 177, '\P{Numeric_Type=_-Digit}', "");
-Expect(0, 177, '\P{^Numeric_Type=_-Digit}', "");
-Error('\p{Nt=_/a/DI}');
-Error('\P{Nt=_/a/DI}');
-Expect(1, 179, '\p{Nt=di}', "");
-Expect(0, 179, '\p{^Nt=di}', "");
-Expect(0, 179, '\P{Nt=di}', "");
-Expect(1, 179, '\P{^Nt=di}', "");
-Expect(0, 177, '\p{Nt=di}', "");
-Expect(1, 177, '\p{^Nt=di}', "");
-Expect(1, 177, '\P{Nt=di}', "");
-Expect(0, 177, '\P{^Nt=di}', "");
-Expect(1, 179, '\p{Nt: _Di}', "");
-Expect(0, 179, '\p{^Nt: _Di}', "");
-Expect(0, 179, '\P{Nt: _Di}', "");
-Expect(1, 179, '\P{^Nt: _Di}', "");
-Expect(0, 177, '\p{Nt: _Di}', "");
-Expect(1, 177, '\p{^Nt: _Di}', "");
-Expect(1, 177, '\P{Nt: _Di}', "");
-Expect(0, 177, '\P{^Nt: _Di}', "");
-Error('\p{Is_Numeric_Type=- DIGIT:=}');
-Error('\P{Is_Numeric_Type=- DIGIT:=}');
-Expect(1, 179, '\p{Is_Numeric_Type=digit}', "");
-Expect(0, 179, '\p{^Is_Numeric_Type=digit}', "");
-Expect(0, 179, '\P{Is_Numeric_Type=digit}', "");
-Expect(1, 179, '\P{^Is_Numeric_Type=digit}', "");
-Expect(0, 177, '\p{Is_Numeric_Type=digit}', "");
-Expect(1, 177, '\p{^Is_Numeric_Type=digit}', "");
-Expect(1, 177, '\P{Is_Numeric_Type=digit}', "");
-Expect(0, 177, '\P{^Is_Numeric_Type=digit}', "");
-Expect(1, 179, '\p{Is_Numeric_Type= digit}', "");
-Expect(0, 179, '\p{^Is_Numeric_Type= digit}', "");
-Expect(0, 179, '\P{Is_Numeric_Type= digit}', "");
-Expect(1, 179, '\P{^Is_Numeric_Type= digit}', "");
-Expect(0, 177, '\p{Is_Numeric_Type= digit}', "");
-Expect(1, 177, '\p{^Is_Numeric_Type= digit}', "");
-Expect(1, 177, '\P{Is_Numeric_Type= digit}', "");
-Expect(0, 177, '\P{^Is_Numeric_Type= digit}', "");
-Error('\p{Is_Nt= Di/a/}');
-Error('\P{Is_Nt= Di/a/}');
-Expect(1, 179, '\p{Is_Nt=di}', "");
-Expect(0, 179, '\p{^Is_Nt=di}', "");
-Expect(0, 179, '\P{Is_Nt=di}', "");
-Expect(1, 179, '\P{^Is_Nt=di}', "");
-Expect(0, 177, '\p{Is_Nt=di}', "");
-Expect(1, 177, '\p{^Is_Nt=di}', "");
-Expect(1, 177, '\P{Is_Nt=di}', "");
-Expect(0, 177, '\P{^Is_Nt=di}', "");
-Expect(1, 179, '\p{Is_Nt= di}', "");
-Expect(0, 179, '\p{^Is_Nt= di}', "");
-Expect(0, 179, '\P{Is_Nt= di}', "");
-Expect(1, 179, '\P{^Is_Nt= di}', "");
-Expect(0, 177, '\p{Is_Nt= di}', "");
-Expect(1, 177, '\p{^Is_Nt= di}', "");
-Expect(1, 177, '\P{Is_Nt= di}', "");
-Expect(0, 177, '\P{^Is_Nt= di}', "");
-Error('\p{Numeric_Type=:=_-Decimal}');
-Error('\P{Numeric_Type=:=_-Decimal}');
-Expect(1, 57, '\p{Numeric_Type=decimal}', "");
-Expect(0, 57, '\p{^Numeric_Type=decimal}', "");
-Expect(0, 57, '\P{Numeric_Type=decimal}', "");
-Expect(1, 57, '\P{^Numeric_Type=decimal}', "");
-Expect(0, 47, '\p{Numeric_Type=decimal}', "");
-Expect(1, 47, '\p{^Numeric_Type=decimal}', "");
-Expect(1, 47, '\P{Numeric_Type=decimal}', "");
-Expect(0, 47, '\P{^Numeric_Type=decimal}', "");
-Expect(1, 57, '\p{Numeric_Type= DECIMAL}', "");
-Expect(0, 57, '\p{^Numeric_Type= DECIMAL}', "");
-Expect(0, 57, '\P{Numeric_Type= DECIMAL}', "");
-Expect(1, 57, '\P{^Numeric_Type= DECIMAL}', "");
-Expect(0, 47, '\p{Numeric_Type= DECIMAL}', "");
-Expect(1, 47, '\p{^Numeric_Type= DECIMAL}', "");
-Expect(1, 47, '\P{Numeric_Type= DECIMAL}', "");
-Expect(0, 47, '\P{^Numeric_Type= DECIMAL}', "");
-Error('\p{Nt= :=DE}');
-Error('\P{Nt= :=DE}');
-Expect(1, 57, '\p{Nt: de}', "");
-Expect(0, 57, '\p{^Nt: de}', "");
-Expect(0, 57, '\P{Nt: de}', "");
-Expect(1, 57, '\P{^Nt: de}', "");
-Expect(0, 47, '\p{Nt: de}', "");
-Expect(1, 47, '\p{^Nt: de}', "");
-Expect(1, 47, '\P{Nt: de}', "");
-Expect(0, 47, '\P{^Nt: de}', "");
-Expect(1, 57, '\p{Nt=__De}', "");
-Expect(0, 57, '\p{^Nt=__De}', "");
-Expect(0, 57, '\P{Nt=__De}', "");
-Expect(1, 57, '\P{^Nt=__De}', "");
-Expect(0, 47, '\p{Nt=__De}', "");
-Expect(1, 47, '\p{^Nt=__De}', "");
-Expect(1, 47, '\P{Nt=__De}', "");
-Expect(0, 47, '\P{^Nt=__De}', "");
-Error('\p{Is_Numeric_Type= /a/DECIMAL}');
-Error('\P{Is_Numeric_Type= /a/DECIMAL}');
-Expect(1, 57, '\p{Is_Numeric_Type=decimal}', "");
-Expect(0, 57, '\p{^Is_Numeric_Type=decimal}', "");
-Expect(0, 57, '\P{Is_Numeric_Type=decimal}', "");
-Expect(1, 57, '\P{^Is_Numeric_Type=decimal}', "");
-Expect(0, 47, '\p{Is_Numeric_Type=decimal}', "");
-Expect(1, 47, '\p{^Is_Numeric_Type=decimal}', "");
-Expect(1, 47, '\P{Is_Numeric_Type=decimal}', "");
-Expect(0, 47, '\P{^Is_Numeric_Type=decimal}', "");
-Expect(1, 57, '\p{Is_Numeric_Type=-Decimal}', "");
-Expect(0, 57, '\p{^Is_Numeric_Type=-Decimal}', "");
-Expect(0, 57, '\P{Is_Numeric_Type=-Decimal}', "");
-Expect(1, 57, '\P{^Is_Numeric_Type=-Decimal}', "");
-Expect(0, 47, '\p{Is_Numeric_Type=-Decimal}', "");
-Expect(1, 47, '\p{^Is_Numeric_Type=-Decimal}', "");
-Expect(1, 47, '\P{Is_Numeric_Type=-Decimal}', "");
-Expect(0, 47, '\P{^Is_Numeric_Type=-Decimal}', "");
-Error('\p{Is_Nt= -DE/a/}');
-Error('\P{Is_Nt= -DE/a/}');
-Expect(1, 57, '\p{Is_Nt=de}', "");
-Expect(0, 57, '\p{^Is_Nt=de}', "");
-Expect(0, 57, '\P{Is_Nt=de}', "");
-Expect(1, 57, '\P{^Is_Nt=de}', "");
-Expect(0, 47, '\p{Is_Nt=de}', "");
-Expect(1, 47, '\p{^Is_Nt=de}', "");
-Expect(1, 47, '\P{Is_Nt=de}', "");
-Expect(0, 47, '\P{^Is_Nt=de}', "");
-Expect(1, 57, '\p{Is_Nt=_ De}', "");
-Expect(0, 57, '\p{^Is_Nt=_ De}', "");
-Expect(0, 57, '\P{Is_Nt=_ De}', "");
-Expect(1, 57, '\P{^Is_Nt=_ De}', "");
-Expect(0, 47, '\p{Is_Nt=_ De}', "");
-Expect(1, 47, '\p{^Is_Nt=_ De}', "");
-Expect(1, 47, '\P{Is_Nt=_ De}', "");
-Expect(0, 47, '\P{^Is_Nt=_ De}', "");
-Error('\p{Numeric_Type=:=-_Numeric}');
-Error('\P{Numeric_Type=:=-_Numeric}');
-Expect(1, 190, '\p{Numeric_Type=numeric}', "");
-Expect(0, 190, '\p{^Numeric_Type=numeric}', "");
-Expect(0, 190, '\P{Numeric_Type=numeric}', "");
-Expect(1, 190, '\P{^Numeric_Type=numeric}', "");
-Expect(0, 187, '\p{Numeric_Type=numeric}', "");
-Expect(1, 187, '\p{^Numeric_Type=numeric}', "");
-Expect(1, 187, '\P{Numeric_Type=numeric}', "");
-Expect(0, 187, '\P{^Numeric_Type=numeric}', "");
-Expect(1, 190, '\p{Numeric_Type= numeric}', "");
-Expect(0, 190, '\p{^Numeric_Type= numeric}', "");
-Expect(0, 190, '\P{Numeric_Type= numeric}', "");
-Expect(1, 190, '\P{^Numeric_Type= numeric}', "");
-Expect(0, 187, '\p{Numeric_Type= numeric}', "");
-Expect(1, 187, '\p{^Numeric_Type= numeric}', "");
-Expect(1, 187, '\P{Numeric_Type= numeric}', "");
-Expect(0, 187, '\P{^Numeric_Type= numeric}', "");
-Error('\p{Nt=-Nu/a/}');
-Error('\P{Nt=-Nu/a/}');
-Expect(1, 190, '\p{Nt=nu}', "");
-Expect(0, 190, '\p{^Nt=nu}', "");
-Expect(0, 190, '\P{Nt=nu}', "");
-Expect(1, 190, '\P{^Nt=nu}', "");
-Expect(0, 187, '\p{Nt=nu}', "");
-Expect(1, 187, '\p{^Nt=nu}', "");
-Expect(1, 187, '\P{Nt=nu}', "");
-Expect(0, 187, '\P{^Nt=nu}', "");
-Expect(1, 190, '\p{Nt:_ Nu}', "");
-Expect(0, 190, '\p{^Nt:_ Nu}', "");
-Expect(0, 190, '\P{Nt:_ Nu}', "");
-Expect(1, 190, '\P{^Nt:_ Nu}', "");
-Expect(0, 187, '\p{Nt:_ Nu}', "");
-Expect(1, 187, '\p{^Nt:_ Nu}', "");
-Expect(1, 187, '\P{Nt:_ Nu}', "");
-Expect(0, 187, '\P{^Nt:_ Nu}', "");
-Error('\p{Is_Numeric_Type=/a/_-Numeric}');
-Error('\P{Is_Numeric_Type=/a/_-Numeric}');
-Expect(1, 190, '\p{Is_Numeric_Type=numeric}', "");
-Expect(0, 190, '\p{^Is_Numeric_Type=numeric}', "");
-Expect(0, 190, '\P{Is_Numeric_Type=numeric}', "");
-Expect(1, 190, '\P{^Is_Numeric_Type=numeric}', "");
-Expect(0, 187, '\p{Is_Numeric_Type=numeric}', "");
-Expect(1, 187, '\p{^Is_Numeric_Type=numeric}', "");
-Expect(1, 187, '\P{Is_Numeric_Type=numeric}', "");
-Expect(0, 187, '\P{^Is_Numeric_Type=numeric}', "");
-Expect(1, 190, '\p{Is_Numeric_Type= -Numeric}', "");
-Expect(0, 190, '\p{^Is_Numeric_Type= -Numeric}', "");
-Expect(0, 190, '\P{Is_Numeric_Type= -Numeric}', "");
-Expect(1, 190, '\P{^Is_Numeric_Type= -Numeric}', "");
-Expect(0, 187, '\p{Is_Numeric_Type= -Numeric}', "");
-Expect(1, 187, '\p{^Is_Numeric_Type= -Numeric}', "");
-Expect(1, 187, '\P{Is_Numeric_Type= -Numeric}', "");
-Expect(0, 187, '\P{^Is_Numeric_Type= -Numeric}', "");
-Error('\p{Is_Nt=_/a/NU}');
-Error('\P{Is_Nt=_/a/NU}');
-Expect(1, 190, '\p{Is_Nt=nu}', "");
-Expect(0, 190, '\p{^Is_Nt=nu}', "");
-Expect(0, 190, '\P{Is_Nt=nu}', "");
-Expect(1, 190, '\P{^Is_Nt=nu}', "");
-Expect(0, 187, '\p{Is_Nt=nu}', "");
-Expect(1, 187, '\p{^Is_Nt=nu}', "");
-Expect(1, 187, '\P{Is_Nt=nu}', "");
-Expect(0, 187, '\P{^Is_Nt=nu}', "");
-Expect(1, 190, '\p{Is_Nt=- Nu}', "");
-Expect(0, 190, '\p{^Is_Nt=- Nu}', "");
-Expect(0, 190, '\P{Is_Nt=- Nu}', "");
-Expect(1, 190, '\P{^Is_Nt=- Nu}', "");
-Expect(0, 187, '\p{Is_Nt=- Nu}', "");
-Expect(1, 187, '\p{^Is_Nt=- Nu}', "");
-Expect(1, 187, '\P{Is_Nt=- Nu}', "");
-Expect(0, 187, '\P{^Is_Nt=- Nu}', "");
-Error('\p{Expands_On_NFC=Yes}');
-Error('\P{Expands_On_NFC=Yes}');
-Error('\p{XO_NFC=Y}');
-Error('\P{XO_NFC=Y}');
-Error('\p{Is_Expands_On_NFC=T}');
-Error('\P{Is_Expands_On_NFC=T}');
-Error('\p{Is_XO_NFC: True}');
-Error('\P{Is_XO_NFC: True}');
-Error('\p{Expands_On_NFC=No}');
-Error('\P{Expands_On_NFC=No}');
-Error('\p{XO_NFC=N}');
-Error('\P{XO_NFC=N}');
-Error('\p{Is_Expands_On_NFC=F}');
-Error('\P{Is_Expands_On_NFC=F}');
-Error('\p{Is_XO_NFC=False}');
-Error('\P{Is_XO_NFC=False}');
-Error('\p{Dash: := Yes}');
-Error('\P{Dash: := Yes}');
-Expect(1, 45, '\p{Dash=yes}', "");
-Expect(0, 45, '\p{^Dash=yes}', "");
-Expect(0, 45, '\P{Dash=yes}', "");
-Expect(1, 45, '\P{^Dash=yes}', "");
-Expect(0, 44, '\p{Dash=yes}', "");
-Expect(1, 44, '\p{^Dash=yes}', "");
-Expect(1, 44, '\P{Dash=yes}', "");
-Expect(0, 44, '\P{^Dash=yes}', "");
-Expect(1, 45, '\p{Dash=- YES}', "");
-Expect(0, 45, '\p{^Dash=- YES}', "");
-Expect(0, 45, '\P{Dash=- YES}', "");
-Expect(1, 45, '\P{^Dash=- YES}', "");
-Expect(0, 44, '\p{Dash=- YES}', "");
-Expect(1, 44, '\p{^Dash=- YES}', "");
-Expect(1, 44, '\P{Dash=- YES}', "");
-Expect(0, 44, '\P{^Dash=- YES}', "");
-Error('\p{Is_Dash: /a/Y}');
-Error('\P{Is_Dash: /a/Y}');
-Expect(1, 45, '\p{Is_Dash=y}', "");
-Expect(0, 45, '\p{^Is_Dash=y}', "");
-Expect(0, 45, '\P{Is_Dash=y}', "");
-Expect(1, 45, '\P{^Is_Dash=y}', "");
-Expect(0, 44, '\p{Is_Dash=y}', "");
-Expect(1, 44, '\p{^Is_Dash=y}', "");
-Expect(1, 44, '\P{Is_Dash=y}', "");
-Expect(0, 44, '\P{^Is_Dash=y}', "");
-Expect(1, 45, '\p{Is_Dash=_Y}', "");
-Expect(0, 45, '\p{^Is_Dash=_Y}', "");
-Expect(0, 45, '\P{Is_Dash=_Y}', "");
-Expect(1, 45, '\P{^Is_Dash=_Y}', "");
-Expect(0, 44, '\p{Is_Dash=_Y}', "");
-Expect(1, 44, '\p{^Is_Dash=_Y}', "");
-Expect(1, 44, '\P{Is_Dash=_Y}', "");
-Expect(0, 44, '\P{^Is_Dash=_Y}', "");
-Error('\p{Dash= :=T}');
-Error('\P{Dash= :=T}');
-Expect(1, 45, '\p{Dash=t}', "");
-Expect(0, 45, '\p{^Dash=t}', "");
-Expect(0, 45, '\P{Dash=t}', "");
-Expect(1, 45, '\P{^Dash=t}', "");
-Expect(0, 44, '\p{Dash=t}', "");
-Expect(1, 44, '\p{^Dash=t}', "");
-Expect(1, 44, '\P{Dash=t}', "");
-Expect(0, 44, '\P{^Dash=t}', "");
-Expect(1, 45, '\p{Dash= t}', "");
-Expect(0, 45, '\p{^Dash= t}', "");
-Expect(0, 45, '\P{Dash= t}', "");
-Expect(1, 45, '\P{^Dash= t}', "");
-Expect(0, 44, '\p{Dash= t}', "");
-Expect(1, 44, '\p{^Dash= t}', "");
-Expect(1, 44, '\P{Dash= t}', "");
-Expect(0, 44, '\P{^Dash= t}', "");
-Error('\p{Is_Dash=:=-TRUE}');
-Error('\P{Is_Dash=:=-TRUE}');
-Expect(1, 45, '\p{Is_Dash=true}', "");
-Expect(0, 45, '\p{^Is_Dash=true}', "");
-Expect(0, 45, '\P{Is_Dash=true}', "");
-Expect(1, 45, '\P{^Is_Dash=true}', "");
-Expect(0, 44, '\p{Is_Dash=true}', "");
-Expect(1, 44, '\p{^Is_Dash=true}', "");
-Expect(1, 44, '\P{Is_Dash=true}', "");
-Expect(0, 44, '\P{^Is_Dash=true}', "");
-Expect(1, 45, '\p{Is_Dash= _True}', "");
-Expect(0, 45, '\p{^Is_Dash= _True}', "");
-Expect(0, 45, '\P{Is_Dash= _True}', "");
-Expect(1, 45, '\P{^Is_Dash= _True}', "");
-Expect(0, 44, '\p{Is_Dash= _True}', "");
-Expect(1, 44, '\p{^Is_Dash= _True}', "");
-Expect(1, 44, '\P{Is_Dash= _True}', "");
-Expect(0, 44, '\P{^Is_Dash= _True}', "");
-Error('\p{Dash=_ no:=}');
-Error('\P{Dash=_ no:=}');
-Expect(1, 44, '\p{Dash=no}', "");
-Expect(0, 44, '\p{^Dash=no}', "");
-Expect(0, 44, '\P{Dash=no}', "");
-Expect(1, 44, '\P{^Dash=no}', "");
-Expect(0, 45, '\p{Dash=no}', "");
-Expect(1, 45, '\p{^Dash=no}', "");
-Expect(1, 45, '\P{Dash=no}', "");
-Expect(0, 45, '\P{^Dash=no}', "");
-Expect(1, 44, '\p{Dash=_ No}', "");
-Expect(0, 44, '\p{^Dash=_ No}', "");
-Expect(0, 44, '\P{Dash=_ No}', "");
-Expect(1, 44, '\P{^Dash=_ No}', "");
-Expect(0, 45, '\p{Dash=_ No}', "");
-Expect(1, 45, '\p{^Dash=_ No}', "");
-Expect(1, 45, '\P{Dash=_ No}', "");
-Expect(0, 45, '\P{^Dash=_ No}', "");
-Error('\p{Is_Dash: :=N}');
-Error('\P{Is_Dash: :=N}');
-Expect(1, 44, '\p{Is_Dash=n}', "");
-Expect(0, 44, '\p{^Is_Dash=n}', "");
-Expect(0, 44, '\P{Is_Dash=n}', "");
-Expect(1, 44, '\P{^Is_Dash=n}', "");
-Expect(0, 45, '\p{Is_Dash=n}', "");
-Expect(1, 45, '\p{^Is_Dash=n}', "");
-Expect(1, 45, '\P{Is_Dash=n}', "");
-Expect(0, 45, '\P{^Is_Dash=n}', "");
-Expect(1, 44, '\p{Is_Dash: _n}', "");
-Expect(0, 44, '\p{^Is_Dash: _n}', "");
-Expect(0, 44, '\P{Is_Dash: _n}', "");
-Expect(1, 44, '\P{^Is_Dash: _n}', "");
-Expect(0, 45, '\p{Is_Dash: _n}', "");
-Expect(1, 45, '\p{^Is_Dash: _n}', "");
-Expect(1, 45, '\P{Is_Dash: _n}', "");
-Expect(0, 45, '\P{^Is_Dash: _n}', "");
-Error('\p{Dash=-F:=}');
-Error('\P{Dash=-F:=}');
-Expect(1, 44, '\p{Dash: f}', "");
-Expect(0, 44, '\p{^Dash: f}', "");
-Expect(0, 44, '\P{Dash: f}', "");
-Expect(1, 44, '\P{^Dash: f}', "");
-Expect(0, 45, '\p{Dash: f}', "");
-Expect(1, 45, '\p{^Dash: f}', "");
-Expect(1, 45, '\P{Dash: f}', "");
-Expect(0, 45, '\P{^Dash: f}', "");
-Expect(1, 44, '\p{Dash= _F}', "");
-Expect(0, 44, '\p{^Dash= _F}', "");
-Expect(0, 44, '\P{Dash= _F}', "");
-Expect(1, 44, '\P{^Dash= _F}', "");
-Expect(0, 45, '\p{Dash= _F}', "");
-Expect(1, 45, '\p{^Dash= _F}', "");
-Expect(1, 45, '\P{Dash= _F}', "");
-Expect(0, 45, '\P{^Dash= _F}', "");
-Error('\p{Is_Dash= /a/False}');
-Error('\P{Is_Dash= /a/False}');
-Expect(1, 44, '\p{Is_Dash=false}', "");
-Expect(0, 44, '\p{^Is_Dash=false}', "");
-Expect(0, 44, '\P{Is_Dash=false}', "");
-Expect(1, 44, '\P{^Is_Dash=false}', "");
-Expect(0, 45, '\p{Is_Dash=false}', "");
-Expect(1, 45, '\p{^Is_Dash=false}', "");
-Expect(1, 45, '\P{Is_Dash=false}', "");
-Expect(0, 45, '\P{^Is_Dash=false}', "");
-Expect(1, 44, '\p{Is_Dash= _False}', "");
-Expect(0, 44, '\p{^Is_Dash= _False}', "");
-Expect(0, 44, '\P{Is_Dash= _False}', "");
-Expect(1, 44, '\P{^Is_Dash= _False}', "");
-Expect(0, 45, '\p{Is_Dash= _False}', "");
-Expect(1, 45, '\p{^Is_Dash= _False}', "");
-Expect(1, 45, '\P{Is_Dash= _False}', "");
-Expect(0, 45, '\P{^Is_Dash= _False}', "");
-Error('\p{Changes_When_Titlecased= YES/a/}');
-Error('\P{Changes_When_Titlecased= YES/a/}');
-Expect(1, 122, '\p{Changes_When_Titlecased=yes}', "");
-Expect(0, 122, '\p{^Changes_When_Titlecased=yes}', "");
-Expect(0, 122, '\P{Changes_When_Titlecased=yes}', "");
-Expect(1, 122, '\P{^Changes_When_Titlecased=yes}', "");
-Expect(0, 96, '\p{Changes_When_Titlecased=yes}', "");
-Expect(1, 96, '\p{^Changes_When_Titlecased=yes}', "");
-Expect(1, 96, '\P{Changes_When_Titlecased=yes}', "");
-Expect(0, 96, '\P{^Changes_When_Titlecased=yes}', "");
-Expect(1, 122, '\p{Changes_When_Titlecased= Yes}', "");
-Expect(0, 122, '\p{^Changes_When_Titlecased= Yes}', "");
-Expect(0, 122, '\P{Changes_When_Titlecased= Yes}', "");
-Expect(1, 122, '\P{^Changes_When_Titlecased= Yes}', "");
-Expect(0, 96, '\p{Changes_When_Titlecased= Yes}', "");
-Expect(1, 96, '\p{^Changes_When_Titlecased= Yes}', "");
-Expect(1, 96, '\P{Changes_When_Titlecased= Yes}', "");
-Expect(0, 96, '\P{^Changes_When_Titlecased= Yes}', "");
-Error('\p{CWT=_/a/Y}');
-Error('\P{CWT=_/a/Y}');
-Expect(1, 122, '\p{CWT=y}', "");
-Expect(0, 122, '\p{^CWT=y}', "");
-Expect(0, 122, '\P{CWT=y}', "");
-Expect(1, 122, '\P{^CWT=y}', "");
-Expect(0, 96, '\p{CWT=y}', "");
-Expect(1, 96, '\p{^CWT=y}', "");
-Expect(1, 96, '\P{CWT=y}', "");
-Expect(0, 96, '\P{^CWT=y}', "");
-Expect(1, 122, '\p{CWT= y}', "");
-Expect(0, 122, '\p{^CWT= y}', "");
-Expect(0, 122, '\P{CWT= y}', "");
-Expect(1, 122, '\P{^CWT= y}', "");
-Expect(0, 96, '\p{CWT= y}', "");
-Expect(1, 96, '\p{^CWT= y}', "");
-Expect(1, 96, '\P{CWT= y}', "");
-Expect(0, 96, '\P{^CWT= y}', "");
-Error('\p{Is_Changes_When_Titlecased=:=T}');
-Error('\P{Is_Changes_When_Titlecased=:=T}');
-Expect(1, 122, '\p{Is_Changes_When_Titlecased=t}', "");
-Expect(0, 122, '\p{^Is_Changes_When_Titlecased=t}', "");
-Expect(0, 122, '\P{Is_Changes_When_Titlecased=t}', "");
-Expect(1, 122, '\P{^Is_Changes_When_Titlecased=t}', "");
-Expect(0, 96, '\p{Is_Changes_When_Titlecased=t}', "");
-Expect(1, 96, '\p{^Is_Changes_When_Titlecased=t}', "");
-Expect(1, 96, '\P{Is_Changes_When_Titlecased=t}', "");
-Expect(0, 96, '\P{^Is_Changes_When_Titlecased=t}', "");
-Expect(1, 122, '\p{Is_Changes_When_Titlecased= -T}', "");
-Expect(0, 122, '\p{^Is_Changes_When_Titlecased= -T}', "");
-Expect(0, 122, '\P{Is_Changes_When_Titlecased= -T}', "");
-Expect(1, 122, '\P{^Is_Changes_When_Titlecased= -T}', "");
-Expect(0, 96, '\p{Is_Changes_When_Titlecased= -T}', "");
-Expect(1, 96, '\p{^Is_Changes_When_Titlecased= -T}', "");
-Expect(1, 96, '\P{Is_Changes_When_Titlecased= -T}', "");
-Expect(0, 96, '\P{^Is_Changes_When_Titlecased= -T}', "");
-Error('\p{Is_CWT=:= TRUE}');
-Error('\P{Is_CWT=:= TRUE}');
-Expect(1, 122, '\p{Is_CWT=true}', "");
-Expect(0, 122, '\p{^Is_CWT=true}', "");
-Expect(0, 122, '\P{Is_CWT=true}', "");
-Expect(1, 122, '\P{^Is_CWT=true}', "");
-Expect(0, 96, '\p{Is_CWT=true}', "");
-Expect(1, 96, '\p{^Is_CWT=true}', "");
-Expect(1, 96, '\P{Is_CWT=true}', "");
-Expect(0, 96, '\P{^Is_CWT=true}', "");
-Expect(1, 122, '\p{Is_CWT= -true}', "");
-Expect(0, 122, '\p{^Is_CWT= -true}', "");
-Expect(0, 122, '\P{Is_CWT= -true}', "");
-Expect(1, 122, '\P{^Is_CWT= -true}', "");
-Expect(0, 96, '\p{Is_CWT= -true}', "");
-Expect(1, 96, '\p{^Is_CWT= -true}', "");
-Expect(1, 96, '\P{Is_CWT= -true}', "");
-Expect(0, 96, '\P{^Is_CWT= -true}', "");
-Error('\p{Changes_When_Titlecased: :=no}');
-Error('\P{Changes_When_Titlecased: :=no}');
-Expect(1, 96, '\p{Changes_When_Titlecased=no}', "");
-Expect(0, 96, '\p{^Changes_When_Titlecased=no}', "");
-Expect(0, 96, '\P{Changes_When_Titlecased=no}', "");
-Expect(1, 96, '\P{^Changes_When_Titlecased=no}', "");
-Expect(0, 122, '\p{Changes_When_Titlecased=no}', "");
-Expect(1, 122, '\p{^Changes_When_Titlecased=no}', "");
-Expect(1, 122, '\P{Changes_When_Titlecased=no}', "");
-Expect(0, 122, '\P{^Changes_When_Titlecased=no}', "");
-Expect(1, 96, '\p{Changes_When_Titlecased= _NO}', "");
-Expect(0, 96, '\p{^Changes_When_Titlecased= _NO}', "");
-Expect(0, 96, '\P{Changes_When_Titlecased= _NO}', "");
-Expect(1, 96, '\P{^Changes_When_Titlecased= _NO}', "");
-Expect(0, 122, '\p{Changes_When_Titlecased= _NO}', "");
-Expect(1, 122, '\p{^Changes_When_Titlecased= _NO}', "");
-Expect(1, 122, '\P{Changes_When_Titlecased= _NO}', "");
-Expect(0, 122, '\P{^Changes_When_Titlecased= _NO}', "");
-Error('\p{CWT=_ n/a/}');
-Error('\P{CWT=_ n/a/}');
-Expect(1, 96, '\p{CWT=n}', "");
-Expect(0, 96, '\p{^CWT=n}', "");
-Expect(0, 96, '\P{CWT=n}', "");
-Expect(1, 96, '\P{^CWT=n}', "");
-Expect(0, 122, '\p{CWT=n}', "");
-Expect(1, 122, '\p{^CWT=n}', "");
-Expect(1, 122, '\P{CWT=n}', "");
-Expect(0, 122, '\P{^CWT=n}', "");
-Expect(1, 96, '\p{CWT=--N}', "");
-Expect(0, 96, '\p{^CWT=--N}', "");
-Expect(0, 96, '\P{CWT=--N}', "");
-Expect(1, 96, '\P{^CWT=--N}', "");
-Expect(0, 122, '\p{CWT=--N}', "");
-Expect(1, 122, '\p{^CWT=--N}', "");
-Expect(1, 122, '\P{CWT=--N}', "");
-Expect(0, 122, '\P{^CWT=--N}', "");
-Error('\p{Is_Changes_When_Titlecased=/a/F}');
-Error('\P{Is_Changes_When_Titlecased=/a/F}');
-Expect(1, 96, '\p{Is_Changes_When_Titlecased=f}', "");
-Expect(0, 96, '\p{^Is_Changes_When_Titlecased=f}', "");
-Expect(0, 96, '\P{Is_Changes_When_Titlecased=f}', "");
-Expect(1, 96, '\P{^Is_Changes_When_Titlecased=f}', "");
-Expect(0, 122, '\p{Is_Changes_When_Titlecased=f}', "");
-Expect(1, 122, '\p{^Is_Changes_When_Titlecased=f}', "");
-Expect(1, 122, '\P{Is_Changes_When_Titlecased=f}', "");
-Expect(0, 122, '\P{^Is_Changes_When_Titlecased=f}', "");
-Expect(1, 96, '\p{Is_Changes_When_Titlecased= F}', "");
-Expect(0, 96, '\p{^Is_Changes_When_Titlecased= F}', "");
-Expect(0, 96, '\P{Is_Changes_When_Titlecased= F}', "");
-Expect(1, 96, '\P{^Is_Changes_When_Titlecased= F}', "");
-Expect(0, 122, '\p{Is_Changes_When_Titlecased= F}', "");
-Expect(1, 122, '\p{^Is_Changes_When_Titlecased= F}', "");
-Expect(1, 122, '\P{Is_Changes_When_Titlecased= F}', "");
-Expect(0, 122, '\P{^Is_Changes_When_Titlecased= F}', "");
-Error('\p{Is_CWT= :=False}');
-Error('\P{Is_CWT= :=False}');
-Expect(1, 96, '\p{Is_CWT=false}', "");
-Expect(0, 96, '\p{^Is_CWT=false}', "");
-Expect(0, 96, '\P{Is_CWT=false}', "");
-Expect(1, 96, '\P{^Is_CWT=false}', "");
-Expect(0, 122, '\p{Is_CWT=false}', "");
-Expect(1, 122, '\p{^Is_CWT=false}', "");
-Expect(1, 122, '\P{Is_CWT=false}', "");
-Expect(0, 122, '\P{^Is_CWT=false}', "");
-Expect(1, 96, '\p{Is_CWT= -FALSE}', "");
-Expect(0, 96, '\p{^Is_CWT= -FALSE}', "");
-Expect(0, 96, '\P{Is_CWT= -FALSE}', "");
-Expect(1, 96, '\P{^Is_CWT= -FALSE}', "");
-Expect(0, 122, '\p{Is_CWT= -FALSE}', "");
-Expect(1, 122, '\p{^Is_CWT= -FALSE}', "");
-Expect(1, 122, '\P{Is_CWT= -FALSE}', "");
-Expect(0, 122, '\P{^Is_CWT= -FALSE}', "");
-Error('\p{Hangul_Syllable_Type=trailing:=Jamo}');
-Error('\P{Hangul_Syllable_Type=trailing:=Jamo}');
-Expect(1, 4607, '\p{Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4607, '\p{^Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4607, '\P{Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4607, '\P{^Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4519, '\p{Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4519, '\p{^Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4519, '\P{Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4519, '\P{^Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4607, '\p{Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(0, 4607, '\p{^Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(0, 4607, '\P{Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(1, 4607, '\P{^Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(0, 4519, '\p{Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(1, 4519, '\p{^Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(1, 4519, '\P{Hangul_Syllable_Type= -TrailingJamo}', "");
-Expect(0, 4519, '\P{^Hangul_Syllable_Type= -TrailingJamo}', "");
-Error('\p{Hst=/a/T}');
-Error('\P{Hst=/a/T}');
-Expect(1, 4607, '\p{Hst=t}', "");
-Expect(0, 4607, '\p{^Hst=t}', "");
-Expect(0, 4607, '\P{Hst=t}', "");
-Expect(1, 4607, '\P{^Hst=t}', "");
-Expect(0, 4519, '\p{Hst=t}', "");
-Expect(1, 4519, '\p{^Hst=t}', "");
-Expect(1, 4519, '\P{Hst=t}', "");
-Expect(0, 4519, '\P{^Hst=t}', "");
-Expect(1, 4607, '\p{Hst=--T}', "");
-Expect(0, 4607, '\p{^Hst=--T}', "");
-Expect(0, 4607, '\P{Hst=--T}', "");
-Expect(1, 4607, '\P{^Hst=--T}', "");
-Expect(0, 4519, '\p{Hst=--T}', "");
-Expect(1, 4519, '\p{^Hst=--T}', "");
-Expect(1, 4519, '\P{Hst=--T}', "");
-Expect(0, 4519, '\P{^Hst=--T}', "");
-Error('\p{Is_Hangul_Syllable_Type=/a/ _trailing Jamo}');
-Error('\P{Is_Hangul_Syllable_Type=/a/ _trailing Jamo}');
-Expect(1, 4607, '\p{Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4607, '\p{^Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4607, '\P{Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4607, '\P{^Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4519, '\p{Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4519, '\p{^Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4519, '\P{Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(0, 4519, '\P{^Is_Hangul_Syllable_Type=trailingjamo}', "");
-Expect(1, 4607, '\p{Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(0, 4607, '\p{^Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(0, 4607, '\P{Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(1, 4607, '\P{^Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(0, 4519, '\p{Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(1, 4519, '\p{^Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(1, 4519, '\P{Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Expect(0, 4519, '\P{^Is_Hangul_Syllable_Type=- TRAILINGJAMO}', "");
-Error('\p{Is_Hst= :=T}');
-Error('\P{Is_Hst= :=T}');
-Expect(1, 4607, '\p{Is_Hst=t}', "");
-Expect(0, 4607, '\p{^Is_Hst=t}', "");
-Expect(0, 4607, '\P{Is_Hst=t}', "");
-Expect(1, 4607, '\P{^Is_Hst=t}', "");
-Expect(0, 4519, '\p{Is_Hst=t}', "");
-Expect(1, 4519, '\p{^Is_Hst=t}', "");
-Expect(1, 4519, '\P{Is_Hst=t}', "");
-Expect(0, 4519, '\P{^Is_Hst=t}', "");
-Expect(1, 4607, '\p{Is_Hst=-T}', "");
-Expect(0, 4607, '\p{^Is_Hst=-T}', "");
-Expect(0, 4607, '\P{Is_Hst=-T}', "");
-Expect(1, 4607, '\P{^Is_Hst=-T}', "");
-Expect(0, 4519, '\p{Is_Hst=-T}', "");
-Expect(1, 4519, '\p{^Is_Hst=-T}', "");
-Expect(1, 4519, '\P{Is_Hst=-T}', "");
-Expect(0, 4519, '\P{^Is_Hst=-T}', "");
-Error('\p{Hangul_Syllable_Type= :=LVT_Syllable}');
-Error('\P{Hangul_Syllable_Type= :=LVT_Syllable}');
-Expect(1, 44059, '\p{Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(0, 44059, '\p{^Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(0, 44059, '\P{Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(1, 44059, '\P{^Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(0, 44032, '\p{Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(1, 44032, '\p{^Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(1, 44032, '\P{Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(0, 44032, '\P{^Hangul_Syllable_Type=lvtsyllable}', "");
-Expect(1, 44059, '\p{Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(0, 44059, '\p{^Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(0, 44059, '\P{Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(1, 44059, '\P{^Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(0, 44032, '\p{Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(1, 44032, '\p{^Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(1, 44032, '\P{Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Expect(0, 44032, '\P{^Hangul_Syllable_Type=-LVT SYLLABLE}', "");
-Error('\p{Hst=-/a/LVT}');
-Error('\P{Hst=-/a/LVT}');
-Expect(1, 44059, '\p{Hst=lvt}', "");
-Expect(0, 44059, '\p{^Hst=lvt}', "");
-Expect(0, 44059, '\P{Hst=lvt}', "");
-Expect(1, 44059, '\P{^Hst=lvt}', "");
-Expect(0, 44032, '\p{Hst=lvt}', "");
-Expect(1, 44032, '\p{^Hst=lvt}', "");
-Expect(1, 44032, '\P{Hst=lvt}', "");
-Expect(0, 44032, '\P{^Hst=lvt}', "");
-Expect(1, 44059, '\p{Hst=_-LVT}', "");
-Expect(0, 44059, '\p{^Hst=_-LVT}', "");
-Expect(0, 44059, '\P{Hst=_-LVT}', "");
-Expect(1, 44059, '\P{^Hst=_-LVT}', "");
-Expect(0, 44032, '\p{Hst=_-LVT}', "");
-Expect(1, 44032, '\p{^Hst=_-LVT}', "");
-Expect(1, 44032, '\P{Hst=_-LVT}', "");
-Expect(0, 44032, '\P{^Hst=_-LVT}', "");
-Error('\p{Is_Hangul_Syllable_Type=-LVT/a/Syllable}');
-Error('\P{Is_Hangul_Syllable_Type=-LVT/a/Syllable}');
-Expect(1, 44059, '\p{Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(0, 44059, '\p{^Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(0, 44059, '\P{Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(1, 44059, '\P{^Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(0, 44032, '\p{Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(1, 44032, '\p{^Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(1, 44032, '\P{Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(0, 44032, '\P{^Is_Hangul_Syllable_Type: lvtsyllable}', "");
-Expect(1, 44059, '\p{Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(0, 44059, '\p{^Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(0, 44059, '\P{Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(1, 44059, '\P{^Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(0, 44032, '\p{Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(1, 44032, '\p{^Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(1, 44032, '\P{Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Expect(0, 44032, '\P{^Is_Hangul_Syllable_Type= LVTsyllable}', "");
-Error('\p{Is_Hst=-/a/lvt}');
-Error('\P{Is_Hst=-/a/lvt}');
-Expect(1, 44059, '\p{Is_Hst=lvt}', "");
-Expect(0, 44059, '\p{^Is_Hst=lvt}', "");
-Expect(0, 44059, '\P{Is_Hst=lvt}', "");
-Expect(1, 44059, '\P{^Is_Hst=lvt}', "");
-Expect(0, 44032, '\p{Is_Hst=lvt}', "");
-Expect(1, 44032, '\p{^Is_Hst=lvt}', "");
-Expect(1, 44032, '\P{Is_Hst=lvt}', "");
-Expect(0, 44032, '\P{^Is_Hst=lvt}', "");
-Error('\p{Hangul_Syllable_Type= -vowel/a/Jamo}');
-Error('\P{Hangul_Syllable_Type= -vowel/a/Jamo}');
-Expect(1, 4519, '\p{Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4519, '\p{^Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4519, '\P{Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4519, '\P{^Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4447, '\p{Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4447, '\p{^Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4447, '\P{Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4447, '\P{^Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4519, '\p{Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(0, 4519, '\p{^Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(0, 4519, '\P{Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(1, 4519, '\P{^Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(0, 4447, '\p{Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(1, 4447, '\p{^Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(1, 4447, '\P{Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Expect(0, 4447, '\P{^Hangul_Syllable_Type=-Vowel_JAMO}', "");
-Error('\p{Hst=_V:=}');
-Error('\P{Hst=_V:=}');
-Expect(1, 4519, '\p{Hst=v}', "");
-Expect(0, 4519, '\p{^Hst=v}', "");
-Expect(0, 4519, '\P{Hst=v}', "");
-Expect(1, 4519, '\P{^Hst=v}', "");
-Expect(0, 4447, '\p{Hst=v}', "");
-Expect(1, 4447, '\p{^Hst=v}', "");
-Expect(1, 4447, '\P{Hst=v}', "");
-Expect(0, 4447, '\P{^Hst=v}', "");
-Expect(1, 4519, '\p{Hst= _v}', "");
-Expect(0, 4519, '\p{^Hst= _v}', "");
-Expect(0, 4519, '\P{Hst= _v}', "");
-Expect(1, 4519, '\P{^Hst= _v}', "");
-Expect(0, 4447, '\p{Hst= _v}', "");
-Expect(1, 4447, '\p{^Hst= _v}', "");
-Expect(1, 4447, '\P{Hst= _v}', "");
-Expect(0, 4447, '\P{^Hst= _v}', "");
-Error('\p{Is_Hangul_Syllable_Type=--vowel_jamo:=}');
-Error('\P{Is_Hangul_Syllable_Type=--vowel_jamo:=}');
-Expect(1, 4519, '\p{Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4519, '\p{^Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4519, '\P{Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4519, '\P{^Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4447, '\p{Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4447, '\p{^Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4447, '\P{Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(0, 4447, '\P{^Is_Hangul_Syllable_Type=voweljamo}', "");
-Expect(1, 4519, '\p{Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(0, 4519, '\p{^Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(0, 4519, '\P{Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(1, 4519, '\P{^Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(0, 4447, '\p{Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(1, 4447, '\p{^Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(1, 4447, '\P{Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Expect(0, 4447, '\P{^Is_Hangul_Syllable_Type=--vowel Jamo}', "");
-Error('\p{Is_Hst: /a/V}');
-Error('\P{Is_Hst: /a/V}');
-Expect(1, 4519, '\p{Is_Hst:v}', "");
-Expect(0, 4519, '\p{^Is_Hst:v}', "");
-Expect(0, 4519, '\P{Is_Hst:v}', "");
-Expect(1, 4519, '\P{^Is_Hst:v}', "");
-Expect(0, 4447, '\p{Is_Hst:v}', "");
-Expect(1, 4447, '\p{^Is_Hst:v}', "");
-Expect(1, 4447, '\P{Is_Hst:v}', "");
-Expect(0, 4447, '\P{^Is_Hst:v}', "");
-Expect(1, 4519, '\p{Is_Hst: V}', "");
-Expect(0, 4519, '\p{^Is_Hst: V}', "");
-Expect(0, 4519, '\P{Is_Hst: V}', "");
-Expect(1, 4519, '\P{^Is_Hst: V}', "");
-Expect(0, 4447, '\p{Is_Hst: V}', "");
-Expect(1, 4447, '\p{^Is_Hst: V}', "");
-Expect(1, 4447, '\P{Is_Hst: V}', "");
-Expect(0, 4447, '\P{^Is_Hst: V}', "");
-Error('\p{Hangul_Syllable_Type: _ lv Syllable:=}');
-Error('\P{Hangul_Syllable_Type: _ lv Syllable:=}');
-Expect(1, 44032, '\p{Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44032, '\p{^Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44032, '\P{Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44032, '\P{^Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44031, '\p{Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44031, '\p{^Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44031, '\P{Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44031, '\P{^Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44032, '\p{Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(0, 44032, '\p{^Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(0, 44032, '\P{Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(1, 44032, '\P{^Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(0, 44031, '\p{Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(1, 44031, '\p{^Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(1, 44031, '\P{Hangul_Syllable_Type= -lv_Syllable}', "");
-Expect(0, 44031, '\P{^Hangul_Syllable_Type= -lv_Syllable}', "");
-Error('\p{Hst=:= LV}');
-Error('\P{Hst=:= LV}');
-Expect(1, 44032, '\p{Hst=lv}', "");
-Expect(0, 44032, '\p{^Hst=lv}', "");
-Expect(0, 44032, '\P{Hst=lv}', "");
-Expect(1, 44032, '\P{^Hst=lv}', "");
-Expect(0, 44031, '\p{Hst=lv}', "");
-Expect(1, 44031, '\p{^Hst=lv}', "");
-Expect(1, 44031, '\P{Hst=lv}', "");
-Expect(0, 44031, '\P{^Hst=lv}', "");
-Expect(1, 44032, '\p{Hst= _LV}', "");
-Expect(0, 44032, '\p{^Hst= _LV}', "");
-Expect(0, 44032, '\P{Hst= _LV}', "");
-Expect(1, 44032, '\P{^Hst= _LV}', "");
-Expect(0, 44031, '\p{Hst= _LV}', "");
-Expect(1, 44031, '\p{^Hst= _LV}', "");
-Expect(1, 44031, '\P{Hst= _LV}', "");
-Expect(0, 44031, '\P{^Hst= _LV}', "");
-Error('\p{Is_Hangul_Syllable_Type=/a/lvSyllable}');
-Error('\P{Is_Hangul_Syllable_Type=/a/lvSyllable}');
-Expect(1, 44032, '\p{Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44032, '\p{^Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44032, '\P{Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44032, '\P{^Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44031, '\p{Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44031, '\p{^Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44031, '\P{Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(0, 44031, '\P{^Is_Hangul_Syllable_Type=lvsyllable}', "");
-Expect(1, 44032, '\p{Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(0, 44032, '\p{^Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(0, 44032, '\P{Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(1, 44032, '\P{^Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(0, 44031, '\p{Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(1, 44031, '\p{^Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(1, 44031, '\P{Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Expect(0, 44031, '\P{^Is_Hangul_Syllable_Type=__LVSYLLABLE}', "");
-Error('\p{Is_Hst= LV/a/}');
-Error('\P{Is_Hst= LV/a/}');
-Expect(1, 44032, '\p{Is_Hst=lv}', "");
-Expect(0, 44032, '\p{^Is_Hst=lv}', "");
-Expect(0, 44032, '\P{Is_Hst=lv}', "");
-Expect(1, 44032, '\P{^Is_Hst=lv}', "");
-Expect(0, 44031, '\p{Is_Hst=lv}', "");
-Expect(1, 44031, '\p{^Is_Hst=lv}', "");
-Expect(1, 44031, '\P{Is_Hst=lv}', "");
-Expect(0, 44031, '\P{^Is_Hst=lv}', "");
-Expect(1, 44032, '\p{Is_Hst= LV}', "");
-Expect(0, 44032, '\p{^Is_Hst= LV}', "");
-Expect(0, 44032, '\P{Is_Hst= LV}', "");
-Expect(1, 44032, '\P{^Is_Hst= LV}', "");
-Expect(0, 44031, '\p{Is_Hst= LV}', "");
-Expect(1, 44031, '\p{^Is_Hst= LV}', "");
-Expect(1, 44031, '\P{Is_Hst= LV}', "");
-Expect(0, 44031, '\P{^Is_Hst= LV}', "");
-Error('\p{Hangul_Syllable_Type=-not/a/Applicable}');
-Error('\P{Hangul_Syllable_Type=-not/a/Applicable}');
-Expect(1, 4351, '\p{Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4351, '\p{^Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4351, '\P{Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4351, '\P{^Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4607, '\p{Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4607, '\p{^Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4607, '\P{Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4607, '\P{^Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4351, '\p{Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(0, 4351, '\p{^Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(0, 4351, '\P{Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(1, 4351, '\P{^Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(0, 4607, '\p{Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(1, 4607, '\p{^Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(1, 4607, '\P{Hangul_Syllable_Type=--Not_Applicable}', "");
-Expect(0, 4607, '\P{^Hangul_Syllable_Type=--Not_Applicable}', "");
-Error('\p{Hst=-:=NA}');
-Error('\P{Hst=-:=NA}');
-Expect(1, 4351, '\p{Hst=na}', "");
-Expect(0, 4351, '\p{^Hst=na}', "");
-Expect(0, 4351, '\P{Hst=na}', "");
-Expect(1, 4351, '\P{^Hst=na}', "");
-Expect(0, 4607, '\p{Hst=na}', "");
-Expect(1, 4607, '\p{^Hst=na}', "");
-Expect(1, 4607, '\P{Hst=na}', "");
-Expect(0, 4607, '\P{^Hst=na}', "");
-Expect(1, 4351, '\p{Hst= NA}', "");
-Expect(0, 4351, '\p{^Hst= NA}', "");
-Expect(0, 4351, '\P{Hst= NA}', "");
-Expect(1, 4351, '\P{^Hst= NA}', "");
-Expect(0, 4607, '\p{Hst= NA}', "");
-Expect(1, 4607, '\p{^Hst= NA}', "");
-Expect(1, 4607, '\P{Hst= NA}', "");
-Expect(0, 4607, '\P{^Hst= NA}', "");
-Error('\p{Is_Hangul_Syllable_Type=__Not_applicable/a/}');
-Error('\P{Is_Hangul_Syllable_Type=__Not_applicable/a/}');
-Expect(1, 4351, '\p{Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4351, '\p{^Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4351, '\P{Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4351, '\P{^Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4607, '\p{Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4607, '\p{^Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4607, '\P{Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(0, 4607, '\P{^Is_Hangul_Syllable_Type=notapplicable}', "");
-Expect(1, 4351, '\p{Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(0, 4351, '\p{^Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(0, 4351, '\P{Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(1, 4351, '\P{^Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(0, 4607, '\p{Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(1, 4607, '\p{^Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(1, 4607, '\P{Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Expect(0, 4607, '\P{^Is_Hangul_Syllable_Type: Not_Applicable}', "");
-Error('\p{Is_Hst= NA:=}');
-Error('\P{Is_Hst= NA:=}');
-Expect(1, 4351, '\p{Is_Hst: na}', "");
-Expect(0, 4351, '\p{^Is_Hst: na}', "");
-Expect(0, 4351, '\P{Is_Hst: na}', "");
-Expect(1, 4351, '\P{^Is_Hst: na}', "");
-Expect(0, 4607, '\p{Is_Hst: na}', "");
-Expect(1, 4607, '\p{^Is_Hst: na}', "");
-Expect(1, 4607, '\P{Is_Hst: na}', "");
-Expect(0, 4607, '\P{^Is_Hst: na}', "");
-Expect(1, 4351, '\p{Is_Hst= NA}', "");
-Expect(0, 4351, '\p{^Is_Hst= NA}', "");
-Expect(0, 4351, '\P{Is_Hst= NA}', "");
-Expect(1, 4351, '\P{^Is_Hst= NA}', "");
-Expect(0, 4607, '\p{Is_Hst= NA}', "");
-Expect(1, 4607, '\p{^Is_Hst= NA}', "");
-Expect(1, 4607, '\P{Is_Hst= NA}', "");
-Expect(0, 4607, '\P{^Is_Hst= NA}', "");
-Error('\p{Hangul_Syllable_Type=- Leading/a/Jamo}');
-Error('\P{Hangul_Syllable_Type=- Leading/a/Jamo}');
-Expect(1, 4447, '\p{Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4447, '\p{^Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4447, '\P{Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4447, '\P{^Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4351, '\p{Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4351, '\p{^Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4351, '\P{Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4351, '\P{^Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4447, '\p{Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(0, 4447, '\p{^Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(0, 4447, '\P{Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(1, 4447, '\P{^Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(0, 4351, '\p{Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(1, 4351, '\p{^Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(1, 4351, '\P{Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Expect(0, 4351, '\P{^Hangul_Syllable_Type= -LEADING_Jamo}', "");
-Error('\p{Hst=:= L}');
-Error('\P{Hst=:= L}');
-Expect(1, 4447, '\p{Hst=l}', "");
-Expect(0, 4447, '\p{^Hst=l}', "");
-Expect(0, 4447, '\P{Hst=l}', "");
-Expect(1, 4447, '\P{^Hst=l}', "");
-Expect(0, 4351, '\p{Hst=l}', "");
-Expect(1, 4351, '\p{^Hst=l}', "");
-Expect(1, 4351, '\P{Hst=l}', "");
-Expect(0, 4351, '\P{^Hst=l}', "");
-Expect(1, 4447, '\p{Hst: _L}', "");
-Expect(0, 4447, '\p{^Hst: _L}', "");
-Expect(0, 4447, '\P{Hst: _L}', "");
-Expect(1, 4447, '\P{^Hst: _L}', "");
-Expect(0, 4351, '\p{Hst: _L}', "");
-Expect(1, 4351, '\p{^Hst: _L}', "");
-Expect(1, 4351, '\P{Hst: _L}', "");
-Expect(0, 4351, '\P{^Hst: _L}', "");
-Error('\p{Is_Hangul_Syllable_Type=/a/Leading_Jamo}');
-Error('\P{Is_Hangul_Syllable_Type=/a/Leading_Jamo}');
-Expect(1, 4447, '\p{Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4447, '\p{^Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4447, '\P{Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4447, '\P{^Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4351, '\p{Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4351, '\p{^Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4351, '\P{Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(0, 4351, '\P{^Is_Hangul_Syllable_Type=leadingjamo}', "");
-Expect(1, 4447, '\p{Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(0, 4447, '\p{^Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(0, 4447, '\P{Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(1, 4447, '\P{^Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(0, 4351, '\p{Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(1, 4351, '\p{^Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(1, 4351, '\P{Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Expect(0, 4351, '\P{^Is_Hangul_Syllable_Type=- leading Jamo}', "");
-Error('\p{Is_Hst=/a/_-l}');
-Error('\P{Is_Hst=/a/_-l}');
-Expect(1, 4447, '\p{Is_Hst=l}', "");
-Expect(0, 4447, '\p{^Is_Hst=l}', "");
-Expect(0, 4447, '\P{Is_Hst=l}', "");
-Expect(1, 4447, '\P{^Is_Hst=l}', "");
-Expect(0, 4351, '\p{Is_Hst=l}', "");
-Expect(1, 4351, '\p{^Is_Hst=l}', "");
-Expect(1, 4351, '\P{Is_Hst=l}', "");
-Expect(0, 4351, '\P{^Is_Hst=l}', "");
-Expect(1, 4447, '\p{Is_Hst=--L}', "");
-Expect(0, 4447, '\p{^Is_Hst=--L}', "");
-Expect(0, 4447, '\P{Is_Hst=--L}', "");
-Expect(1, 4447, '\P{^Is_Hst=--L}', "");
-Expect(0, 4351, '\p{Is_Hst=--L}', "");
-Expect(1, 4351, '\p{^Is_Hst=--L}', "");
-Expect(1, 4351, '\P{Is_Hst=--L}', "");
-Expect(0, 4351, '\P{^Is_Hst=--L}', "");
-Error('\p{Noncharacter_Code_Point=:= YES}');
-Error('\P{Noncharacter_Code_Point=:= YES}');
-Expect(0, 64975, '\p{Noncharacter_Code_Point=yes}', "");
-Expect(1, 64975, '\p{^Noncharacter_Code_Point=yes}', "");
-Expect(1, 64975, '\P{Noncharacter_Code_Point=yes}', "");
-Expect(0, 64975, '\P{^Noncharacter_Code_Point=yes}', "");
-Expect(0, 64975, '\p{Noncharacter_Code_Point=_ yes}', "");
-Expect(1, 64975, '\p{^Noncharacter_Code_Point=_ yes}', "");
-Expect(1, 64975, '\P{Noncharacter_Code_Point=_ yes}', "");
-Expect(0, 64975, '\P{^Noncharacter_Code_Point=_ yes}', "");
-Error('\p{NChar=-:=y}');
-Error('\P{NChar=-:=y}');
-Expect(0, 64975, '\p{NChar=y}', "");
-Expect(1, 64975, '\p{^NChar=y}', "");
-Expect(1, 64975, '\P{NChar=y}', "");
-Expect(0, 64975, '\P{^NChar=y}', "");
-Expect(0, 64975, '\p{NChar: y}', "");
-Expect(1, 64975, '\p{^NChar: y}', "");
-Expect(1, 64975, '\P{NChar: y}', "");
-Expect(0, 64975, '\P{^NChar: y}', "");
-Error('\p{Is_Noncharacter_Code_Point= t:=}');
-Error('\P{Is_Noncharacter_Code_Point= t:=}');
-Expect(0, 64975, '\p{Is_Noncharacter_Code_Point=t}', "");
-Expect(1, 64975, '\p{^Is_Noncharacter_Code_Point=t}', "");
-Expect(1, 64975, '\P{Is_Noncharacter_Code_Point=t}', "");
-Expect(0, 64975, '\P{^Is_Noncharacter_Code_Point=t}', "");
-Expect(0, 64975, '\p{Is_Noncharacter_Code_Point= t}', "");
-Expect(1, 64975, '\p{^Is_Noncharacter_Code_Point= t}', "");
-Expect(1, 64975, '\P{Is_Noncharacter_Code_Point= t}', "");
-Expect(0, 64975, '\P{^Is_Noncharacter_Code_Point= t}', "");
-Error('\p{Is_NChar=-TRUE/a/}');
-Error('\P{Is_NChar=-TRUE/a/}');
-Expect(0, 64975, '\p{Is_NChar=true}', "");
-Expect(1, 64975, '\p{^Is_NChar=true}', "");
-Expect(1, 64975, '\P{Is_NChar=true}', "");
-Expect(0, 64975, '\P{^Is_NChar=true}', "");
-Expect(0, 64975, '\p{Is_NChar=_True}', "");
-Expect(1, 64975, '\p{^Is_NChar=_True}', "");
-Expect(1, 64975, '\P{Is_NChar=_True}', "");
-Expect(0, 64975, '\P{^Is_NChar=_True}', "");
-Error('\p{Noncharacter_Code_Point= _No:=}');
-Error('\P{Noncharacter_Code_Point= _No:=}');
-Expect(1, 64975, '\p{Noncharacter_Code_Point=no}', "");
-Expect(0, 64975, '\p{^Noncharacter_Code_Point=no}', "");
-Expect(0, 64975, '\P{Noncharacter_Code_Point=no}', "");
-Expect(1, 64975, '\P{^Noncharacter_Code_Point=no}', "");
-Expect(1, 64975, '\p{Noncharacter_Code_Point= -no}', "");
-Expect(0, 64975, '\p{^Noncharacter_Code_Point= -no}', "");
-Expect(0, 64975, '\P{Noncharacter_Code_Point= -no}', "");
-Expect(1, 64975, '\P{^Noncharacter_Code_Point= -no}', "");
-Error('\p{NChar=- N:=}');
-Error('\P{NChar=- N:=}');
-Expect(1, 64975, '\p{NChar=n}', "");
-Expect(0, 64975, '\p{^NChar=n}', "");
-Expect(0, 64975, '\P{NChar=n}', "");
-Expect(1, 64975, '\P{^NChar=n}', "");
-Expect(1, 64975, '\p{NChar= N}', "");
-Expect(0, 64975, '\p{^NChar= N}', "");
-Expect(0, 64975, '\P{NChar= N}', "");
-Expect(1, 64975, '\P{^NChar= N}', "");
-Error('\p{Is_Noncharacter_Code_Point=/a/ _F}');
-Error('\P{Is_Noncharacter_Code_Point=/a/ _F}');
-Expect(1, 64975, '\p{Is_Noncharacter_Code_Point=f}', "");
-Expect(0, 64975, '\p{^Is_Noncharacter_Code_Point=f}', "");
-Expect(0, 64975, '\P{Is_Noncharacter_Code_Point=f}', "");
-Expect(1, 64975, '\P{^Is_Noncharacter_Code_Point=f}', "");
-Expect(1, 64975, '\p{Is_Noncharacter_Code_Point: F}', "");
-Expect(0, 64975, '\p{^Is_Noncharacter_Code_Point: F}', "");
-Expect(0, 64975, '\P{Is_Noncharacter_Code_Point: F}', "");
-Expect(1, 64975, '\P{^Is_Noncharacter_Code_Point: F}', "");
-Error('\p{Is_NChar= False:=}');
-Error('\P{Is_NChar= False:=}');
-Expect(1, 64975, '\p{Is_NChar:false}', "");
-Expect(0, 64975, '\p{^Is_NChar:false}', "");
-Expect(0, 64975, '\P{Is_NChar:false}', "");
-Expect(1, 64975, '\P{^Is_NChar:false}', "");
-Expect(1, 64975, '\p{Is_NChar=-_FALSE}', "");
-Expect(0, 64975, '\p{^Is_NChar=-_FALSE}', "");
-Expect(0, 64975, '\P{Is_NChar=-_FALSE}', "");
-Expect(1, 64975, '\P{^Is_NChar=-_FALSE}', "");
-Error('\p{Unified_Ideograph=:=_-Yes}');
-Error('\P{Unified_Ideograph=:=_-Yes}');
-Expect(1, 19893, '\p{Unified_Ideograph: yes}', "");
-Expect(0, 19893, '\p{^Unified_Ideograph: yes}', "");
-Expect(0, 19893, '\P{Unified_Ideograph: yes}', "");
-Expect(1, 19893, '\P{^Unified_Ideograph: yes}', "");
-Expect(0, 13311, '\p{Unified_Ideograph: yes}', "");
-Expect(1, 13311, '\p{^Unified_Ideograph: yes}', "");
-Expect(1, 13311, '\P{Unified_Ideograph: yes}', "");
-Expect(0, 13311, '\P{^Unified_Ideograph: yes}', "");
-Expect(1, 19893, '\p{Unified_Ideograph=- Yes}', "");
-Expect(0, 19893, '\p{^Unified_Ideograph=- Yes}', "");
-Expect(0, 19893, '\P{Unified_Ideograph=- Yes}', "");
-Expect(1, 19893, '\P{^Unified_Ideograph=- Yes}', "");
-Expect(0, 13311, '\p{Unified_Ideograph=- Yes}', "");
-Expect(1, 13311, '\p{^Unified_Ideograph=- Yes}', "");
-Expect(1, 13311, '\P{Unified_Ideograph=- Yes}', "");
-Expect(0, 13311, '\P{^Unified_Ideograph=- Yes}', "");
-Error('\p{UIdeo= _Y:=}');
-Error('\P{UIdeo= _Y:=}');
-Expect(1, 19893, '\p{UIdeo=y}', "");
-Expect(0, 19893, '\p{^UIdeo=y}', "");
-Expect(0, 19893, '\P{UIdeo=y}', "");
-Expect(1, 19893, '\P{^UIdeo=y}', "");
-Expect(0, 13311, '\p{UIdeo=y}', "");
-Expect(1, 13311, '\p{^UIdeo=y}', "");
-Expect(1, 13311, '\P{UIdeo=y}', "");
-Expect(0, 13311, '\P{^UIdeo=y}', "");
-Expect(1, 19893, '\p{UIdeo= y}', "");
-Expect(0, 19893, '\p{^UIdeo= y}', "");
-Expect(0, 19893, '\P{UIdeo= y}', "");
-Expect(1, 19893, '\P{^UIdeo= y}', "");
-Expect(0, 13311, '\p{UIdeo= y}', "");
-Expect(1, 13311, '\p{^UIdeo= y}', "");
-Expect(1, 13311, '\P{UIdeo= y}', "");
-Expect(0, 13311, '\P{^UIdeo= y}', "");
-Error('\p{Is_Unified_Ideograph=:=_T}');
-Error('\P{Is_Unified_Ideograph=:=_T}');
-Expect(1, 19893, '\p{Is_Unified_Ideograph=t}', "");
-Expect(0, 19893, '\p{^Is_Unified_Ideograph=t}', "");
-Expect(0, 19893, '\P{Is_Unified_Ideograph=t}', "");
-Expect(1, 19893, '\P{^Is_Unified_Ideograph=t}', "");
-Expect(0, 13311, '\p{Is_Unified_Ideograph=t}', "");
-Expect(1, 13311, '\p{^Is_Unified_Ideograph=t}', "");
-Expect(1, 13311, '\P{Is_Unified_Ideograph=t}', "");
-Expect(0, 13311, '\P{^Is_Unified_Ideograph=t}', "");
-Expect(1, 19893, '\p{Is_Unified_Ideograph=- T}', "");
-Expect(0, 19893, '\p{^Is_Unified_Ideograph=- T}', "");
-Expect(0, 19893, '\P{Is_Unified_Ideograph=- T}', "");
-Expect(1, 19893, '\P{^Is_Unified_Ideograph=- T}', "");
-Expect(0, 13311, '\p{Is_Unified_Ideograph=- T}', "");
-Expect(1, 13311, '\p{^Is_Unified_Ideograph=- T}', "");
-Expect(1, 13311, '\P{Is_Unified_Ideograph=- T}', "");
-Expect(0, 13311, '\P{^Is_Unified_Ideograph=- T}', "");
-Error('\p{Is_UIdeo: /a/ True}');
-Error('\P{Is_UIdeo: /a/ True}');
-Expect(1, 19893, '\p{Is_UIdeo=true}', "");
-Expect(0, 19893, '\p{^Is_UIdeo=true}', "");
-Expect(0, 19893, '\P{Is_UIdeo=true}', "");
-Expect(1, 19893, '\P{^Is_UIdeo=true}', "");
-Expect(0, 13311, '\p{Is_UIdeo=true}', "");
-Expect(1, 13311, '\p{^Is_UIdeo=true}', "");
-Expect(1, 13311, '\P{Is_UIdeo=true}', "");
-Expect(0, 13311, '\P{^Is_UIdeo=true}', "");
-Expect(1, 19893, '\p{Is_UIdeo=_TRUE}', "");
-Expect(0, 19893, '\p{^Is_UIdeo=_TRUE}', "");
-Expect(0, 19893, '\P{Is_UIdeo=_TRUE}', "");
-Expect(1, 19893, '\P{^Is_UIdeo=_TRUE}', "");
-Expect(0, 13311, '\p{Is_UIdeo=_TRUE}', "");
-Expect(1, 13311, '\p{^Is_UIdeo=_TRUE}', "");
-Expect(1, 13311, '\P{Is_UIdeo=_TRUE}', "");
-Expect(0, 13311, '\P{^Is_UIdeo=_TRUE}', "");
-Error('\p{Unified_Ideograph= no/a/}');
-Error('\P{Unified_Ideograph= no/a/}');
-Expect(1, 13311, '\p{Unified_Ideograph=no}', "");
-Expect(0, 13311, '\p{^Unified_Ideograph=no}', "");
-Expect(0, 13311, '\P{Unified_Ideograph=no}', "");
-Expect(1, 13311, '\P{^Unified_Ideograph=no}', "");
-Expect(0, 19893, '\p{Unified_Ideograph=no}', "");
-Expect(1, 19893, '\p{^Unified_Ideograph=no}', "");
-Expect(1, 19893, '\P{Unified_Ideograph=no}', "");
-Expect(0, 19893, '\P{^Unified_Ideograph=no}', "");
-Expect(1, 13311, '\p{Unified_Ideograph=_ no}', "");
-Expect(0, 13311, '\p{^Unified_Ideograph=_ no}', "");
-Expect(0, 13311, '\P{Unified_Ideograph=_ no}', "");
-Expect(1, 13311, '\P{^Unified_Ideograph=_ no}', "");
-Expect(0, 19893, '\p{Unified_Ideograph=_ no}', "");
-Expect(1, 19893, '\p{^Unified_Ideograph=_ no}', "");
-Expect(1, 19893, '\P{Unified_Ideograph=_ no}', "");
-Expect(0, 19893, '\P{^Unified_Ideograph=_ no}', "");
-Error('\p{UIdeo=-n/a/}');
-Error('\P{UIdeo=-n/a/}');
-Expect(1, 13311, '\p{UIdeo=n}', "");
-Expect(0, 13311, '\p{^UIdeo=n}', "");
-Expect(0, 13311, '\P{UIdeo=n}', "");
-Expect(1, 13311, '\P{^UIdeo=n}', "");
-Expect(0, 19893, '\p{UIdeo=n}', "");
-Expect(1, 19893, '\p{^UIdeo=n}', "");
-Expect(1, 19893, '\P{UIdeo=n}', "");
-Expect(0, 19893, '\P{^UIdeo=n}', "");
-Expect(1, 13311, '\p{UIdeo=_ n}', "");
-Expect(0, 13311, '\p{^UIdeo=_ n}', "");
-Expect(0, 13311, '\P{UIdeo=_ n}', "");
-Expect(1, 13311, '\P{^UIdeo=_ n}', "");
-Expect(0, 19893, '\p{UIdeo=_ n}', "");
-Expect(1, 19893, '\p{^UIdeo=_ n}', "");
-Expect(1, 19893, '\P{UIdeo=_ n}', "");
-Expect(0, 19893, '\P{^UIdeo=_ n}', "");
-Error('\p{Is_Unified_Ideograph= :=F}');
-Error('\P{Is_Unified_Ideograph= :=F}');
-Expect(1, 13311, '\p{Is_Unified_Ideograph=f}', "");
-Expect(0, 13311, '\p{^Is_Unified_Ideograph=f}', "");
-Expect(0, 13311, '\P{Is_Unified_Ideograph=f}', "");
-Expect(1, 13311, '\P{^Is_Unified_Ideograph=f}', "");
-Expect(0, 19893, '\p{Is_Unified_Ideograph=f}', "");
-Expect(1, 19893, '\p{^Is_Unified_Ideograph=f}', "");
-Expect(1, 19893, '\P{Is_Unified_Ideograph=f}', "");
-Expect(0, 19893, '\P{^Is_Unified_Ideograph=f}', "");
-Expect(1, 13311, '\p{Is_Unified_Ideograph=- F}', "");
-Expect(0, 13311, '\p{^Is_Unified_Ideograph=- F}', "");
-Expect(0, 13311, '\P{Is_Unified_Ideograph=- F}', "");
-Expect(1, 13311, '\P{^Is_Unified_Ideograph=- F}', "");
-Expect(0, 19893, '\p{Is_Unified_Ideograph=- F}', "");
-Expect(1, 19893, '\p{^Is_Unified_Ideograph=- F}', "");
-Expect(1, 19893, '\P{Is_Unified_Ideograph=- F}', "");
-Expect(0, 19893, '\P{^Is_Unified_Ideograph=- F}', "");
-Error('\p{Is_UIdeo: _FALSE:=}');
-Error('\P{Is_UIdeo: _FALSE:=}');
-Expect(1, 13311, '\p{Is_UIdeo=false}', "");
-Expect(0, 13311, '\p{^Is_UIdeo=false}', "");
-Expect(0, 13311, '\P{Is_UIdeo=false}', "");
-Expect(1, 13311, '\P{^Is_UIdeo=false}', "");
-Expect(0, 19893, '\p{Is_UIdeo=false}', "");
-Expect(1, 19893, '\p{^Is_UIdeo=false}', "");
-Expect(1, 19893, '\P{Is_UIdeo=false}', "");
-Expect(0, 19893, '\P{^Is_UIdeo=false}', "");
-Expect(1, 13311, '\p{Is_UIdeo= -false}', "");
-Expect(0, 13311, '\p{^Is_UIdeo= -false}', "");
-Expect(0, 13311, '\P{Is_UIdeo= -false}', "");
-Expect(1, 13311, '\P{^Is_UIdeo= -false}', "");
-Expect(0, 19893, '\p{Is_UIdeo= -false}', "");
-Expect(1, 19893, '\p{^Is_UIdeo= -false}', "");
-Expect(1, 19893, '\P{Is_UIdeo= -false}', "");
-Expect(0, 19893, '\P{^Is_UIdeo= -false}', "");
-Error('\p{Diacritic=:=_ yes}');
-Error('\P{Diacritic=:=_ yes}');
-Expect(1, 94, '\p{Diacritic=yes}', "");
-Expect(0, 94, '\p{^Diacritic=yes}', "");
-Expect(0, 94, '\P{Diacritic=yes}', "");
-Expect(1, 94, '\P{^Diacritic=yes}', "");
-Expect(0, 93, '\p{Diacritic=yes}', "");
-Expect(1, 93, '\p{^Diacritic=yes}', "");
-Expect(1, 93, '\P{Diacritic=yes}', "");
-Expect(0, 93, '\P{^Diacritic=yes}', "");
-Expect(1, 94, '\p{Diacritic=- yes}', "");
-Expect(0, 94, '\p{^Diacritic=- yes}', "");
-Expect(0, 94, '\P{Diacritic=- yes}', "");
-Expect(1, 94, '\P{^Diacritic=- yes}', "");
-Expect(0, 93, '\p{Diacritic=- yes}', "");
-Expect(1, 93, '\p{^Diacritic=- yes}', "");
-Expect(1, 93, '\P{Diacritic=- yes}', "");
-Expect(0, 93, '\P{^Diacritic=- yes}', "");
-Error('\p{Dia=/a/ -Y}');
-Error('\P{Dia=/a/ -Y}');
-Expect(1, 94, '\p{Dia=y}', "");
-Expect(0, 94, '\p{^Dia=y}', "");
-Expect(0, 94, '\P{Dia=y}', "");
-Expect(1, 94, '\P{^Dia=y}', "");
-Expect(0, 93, '\p{Dia=y}', "");
-Expect(1, 93, '\p{^Dia=y}', "");
-Expect(1, 93, '\P{Dia=y}', "");
-Expect(0, 93, '\P{^Dia=y}', "");
-Expect(1, 94, '\p{Dia= -Y}', "");
-Expect(0, 94, '\p{^Dia= -Y}', "");
-Expect(0, 94, '\P{Dia= -Y}', "");
-Expect(1, 94, '\P{^Dia= -Y}', "");
-Expect(0, 93, '\p{Dia= -Y}', "");
-Expect(1, 93, '\p{^Dia= -Y}', "");
-Expect(1, 93, '\P{Dia= -Y}', "");
-Expect(0, 93, '\P{^Dia= -Y}', "");
-Error('\p{Is_Diacritic= :=T}');
-Error('\P{Is_Diacritic= :=T}');
-Expect(1, 94, '\p{Is_Diacritic=t}', "");
-Expect(0, 94, '\p{^Is_Diacritic=t}', "");
-Expect(0, 94, '\P{Is_Diacritic=t}', "");
-Expect(1, 94, '\P{^Is_Diacritic=t}', "");
-Expect(0, 93, '\p{Is_Diacritic=t}', "");
-Expect(1, 93, '\p{^Is_Diacritic=t}', "");
-Expect(1, 93, '\P{Is_Diacritic=t}', "");
-Expect(0, 93, '\P{^Is_Diacritic=t}', "");
-Expect(1, 94, '\p{Is_Diacritic: _-T}', "");
-Expect(0, 94, '\p{^Is_Diacritic: _-T}', "");
-Expect(0, 94, '\P{Is_Diacritic: _-T}', "");
-Expect(1, 94, '\P{^Is_Diacritic: _-T}', "");
-Expect(0, 93, '\p{Is_Diacritic: _-T}', "");
-Expect(1, 93, '\p{^Is_Diacritic: _-T}', "");
-Expect(1, 93, '\P{Is_Diacritic: _-T}', "");
-Expect(0, 93, '\P{^Is_Diacritic: _-T}', "");
-Error('\p{Is_Dia= _true/a/}');
-Error('\P{Is_Dia= _true/a/}');
-Expect(1, 94, '\p{Is_Dia=true}', "");
-Expect(0, 94, '\p{^Is_Dia=true}', "");
-Expect(0, 94, '\P{Is_Dia=true}', "");
-Expect(1, 94, '\P{^Is_Dia=true}', "");
-Expect(0, 93, '\p{Is_Dia=true}', "");
-Expect(1, 93, '\p{^Is_Dia=true}', "");
-Expect(1, 93, '\P{Is_Dia=true}', "");
-Expect(0, 93, '\P{^Is_Dia=true}', "");
-Expect(1, 94, '\p{Is_Dia= TRUE}', "");
-Expect(0, 94, '\p{^Is_Dia= TRUE}', "");
-Expect(0, 94, '\P{Is_Dia= TRUE}', "");
-Expect(1, 94, '\P{^Is_Dia= TRUE}', "");
-Expect(0, 93, '\p{Is_Dia= TRUE}', "");
-Expect(1, 93, '\p{^Is_Dia= TRUE}', "");
-Expect(1, 93, '\P{Is_Dia= TRUE}', "");
-Expect(0, 93, '\P{^Is_Dia= TRUE}', "");
-Error('\p{Diacritic= NO/a/}');
-Error('\P{Diacritic= NO/a/}');
-Expect(1, 93, '\p{Diacritic=no}', "");
-Expect(0, 93, '\p{^Diacritic=no}', "");
-Expect(0, 93, '\P{Diacritic=no}', "");
-Expect(1, 93, '\P{^Diacritic=no}', "");
-Expect(0, 94, '\p{Diacritic=no}', "");
-Expect(1, 94, '\p{^Diacritic=no}', "");
-Expect(1, 94, '\P{Diacritic=no}', "");
-Expect(0, 94, '\P{^Diacritic=no}', "");
-Expect(1, 93, '\p{Diacritic= -No}', "");
-Expect(0, 93, '\p{^Diacritic= -No}', "");
-Expect(0, 93, '\P{Diacritic= -No}', "");
-Expect(1, 93, '\P{^Diacritic= -No}', "");
-Expect(0, 94, '\p{Diacritic= -No}', "");
-Expect(1, 94, '\p{^Diacritic= -No}', "");
-Expect(1, 94, '\P{Diacritic= -No}', "");
-Expect(0, 94, '\P{^Diacritic= -No}', "");
-Error('\p{Dia= _N:=}');
-Error('\P{Dia= _N:=}');
-Expect(1, 93, '\p{Dia=n}', "");
-Expect(0, 93, '\p{^Dia=n}', "");
-Expect(0, 93, '\P{Dia=n}', "");
-Expect(1, 93, '\P{^Dia=n}', "");
-Expect(0, 94, '\p{Dia=n}', "");
-Expect(1, 94, '\p{^Dia=n}', "");
-Expect(1, 94, '\P{Dia=n}', "");
-Expect(0, 94, '\P{^Dia=n}', "");
-Expect(1, 93, '\p{Dia: - N}', "");
-Expect(0, 93, '\p{^Dia: - N}', "");
-Expect(0, 93, '\P{Dia: - N}', "");
-Expect(1, 93, '\P{^Dia: - N}', "");
-Expect(0, 94, '\p{Dia: - N}', "");
-Expect(1, 94, '\p{^Dia: - N}', "");
-Expect(1, 94, '\P{Dia: - N}', "");
-Expect(0, 94, '\P{^Dia: - N}', "");
-Error('\p{Is_Diacritic=/a/ F}');
-Error('\P{Is_Diacritic=/a/ F}');
-Expect(1, 93, '\p{Is_Diacritic=f}', "");
-Expect(0, 93, '\p{^Is_Diacritic=f}', "");
-Expect(0, 93, '\P{Is_Diacritic=f}', "");
-Expect(1, 93, '\P{^Is_Diacritic=f}', "");
-Expect(0, 94, '\p{Is_Diacritic=f}', "");
-Expect(1, 94, '\p{^Is_Diacritic=f}', "");
-Expect(1, 94, '\P{Is_Diacritic=f}', "");
-Expect(0, 94, '\P{^Is_Diacritic=f}', "");
-Expect(1, 93, '\p{Is_Diacritic= -F}', "");
-Expect(0, 93, '\p{^Is_Diacritic= -F}', "");
-Expect(0, 93, '\P{Is_Diacritic= -F}', "");
-Expect(1, 93, '\P{^Is_Diacritic= -F}', "");
-Expect(0, 94, '\p{Is_Diacritic= -F}', "");
-Expect(1, 94, '\p{^Is_Diacritic= -F}', "");
-Expect(1, 94, '\P{Is_Diacritic= -F}', "");
-Expect(0, 94, '\P{^Is_Diacritic= -F}', "");
-Error('\p{Is_Dia=- FALSE:=}');
-Error('\P{Is_Dia=- FALSE:=}');
-Expect(1, 93, '\p{Is_Dia=false}', "");
-Expect(0, 93, '\p{^Is_Dia=false}', "");
-Expect(0, 93, '\P{Is_Dia=false}', "");
-Expect(1, 93, '\P{^Is_Dia=false}', "");
-Expect(0, 94, '\p{Is_Dia=false}', "");
-Expect(1, 94, '\p{^Is_Dia=false}', "");
-Expect(1, 94, '\P{Is_Dia=false}', "");
-Expect(0, 94, '\P{^Is_Dia=false}', "");
-Expect(1, 93, '\p{Is_Dia= FALSE}', "");
-Expect(0, 93, '\p{^Is_Dia= FALSE}', "");
-Expect(0, 93, '\P{Is_Dia= FALSE}', "");
-Expect(1, 93, '\P{^Is_Dia= FALSE}', "");
-Expect(0, 94, '\p{Is_Dia= FALSE}', "");
-Expect(1, 94, '\p{^Is_Dia= FALSE}', "");
-Expect(1, 94, '\P{Is_Dia= FALSE}', "");
-Expect(0, 94, '\P{^Is_Dia= FALSE}', "");
-Error('\p{Perl_Canonical_Combining_Class=0}');
-Error('\P{Perl_Canonical_Combining_Class=0}');
-Error('\p{Perl_ccc=0}');
-Error('\P{Perl_ccc=0}');
-Error('\p{Grapheme_Extend= :=Yes}');
-Error('\P{Grapheme_Extend= :=Yes}');
-Expect(1, 879, '\p{Grapheme_Extend: yes}', "");
-Expect(0, 879, '\p{^Grapheme_Extend: yes}', "");
-Expect(0, 879, '\P{Grapheme_Extend: yes}', "");
-Expect(1, 879, '\P{^Grapheme_Extend: yes}', "");
-Expect(0, 767, '\p{Grapheme_Extend: yes}', "");
-Expect(1, 767, '\p{^Grapheme_Extend: yes}', "");
-Expect(1, 767, '\P{Grapheme_Extend: yes}', "");
-Expect(0, 767, '\P{^Grapheme_Extend: yes}', "");
-Expect(1, 879, '\p{Grapheme_Extend:_-yes}', "");
-Expect(0, 879, '\p{^Grapheme_Extend:_-yes}', "");
-Expect(0, 879, '\P{Grapheme_Extend:_-yes}', "");
-Expect(1, 879, '\P{^Grapheme_Extend:_-yes}', "");
-Expect(0, 767, '\p{Grapheme_Extend:_-yes}', "");
-Expect(1, 767, '\p{^Grapheme_Extend:_-yes}', "");
-Expect(1, 767, '\P{Grapheme_Extend:_-yes}', "");
-Expect(0, 767, '\P{^Grapheme_Extend:_-yes}', "");
-Error('\p{Gr_Ext=_Y:=}');
-Error('\P{Gr_Ext=_Y:=}');
-Expect(1, 879, '\p{Gr_Ext=y}', "");
-Expect(0, 879, '\p{^Gr_Ext=y}', "");
-Expect(0, 879, '\P{Gr_Ext=y}', "");
-Expect(1, 879, '\P{^Gr_Ext=y}', "");
-Expect(0, 767, '\p{Gr_Ext=y}', "");
-Expect(1, 767, '\p{^Gr_Ext=y}', "");
-Expect(1, 767, '\P{Gr_Ext=y}', "");
-Expect(0, 767, '\P{^Gr_Ext=y}', "");
-Expect(1, 879, '\p{Gr_Ext=_y}', "");
-Expect(0, 879, '\p{^Gr_Ext=_y}', "");
-Expect(0, 879, '\P{Gr_Ext=_y}', "");
-Expect(1, 879, '\P{^Gr_Ext=_y}', "");
-Expect(0, 767, '\p{Gr_Ext=_y}', "");
-Expect(1, 767, '\p{^Gr_Ext=_y}', "");
-Expect(1, 767, '\P{Gr_Ext=_y}', "");
-Expect(0, 767, '\P{^Gr_Ext=_y}', "");
-Error('\p{Is_Grapheme_Extend=T/a/}');
-Error('\P{Is_Grapheme_Extend=T/a/}');
-Expect(1, 879, '\p{Is_Grapheme_Extend=t}', "");
-Expect(0, 879, '\p{^Is_Grapheme_Extend=t}', "");
-Expect(0, 879, '\P{Is_Grapheme_Extend=t}', "");
-Expect(1, 879, '\P{^Is_Grapheme_Extend=t}', "");
-Expect(0, 767, '\p{Is_Grapheme_Extend=t}', "");
-Expect(1, 767, '\p{^Is_Grapheme_Extend=t}', "");
-Expect(1, 767, '\P{Is_Grapheme_Extend=t}', "");
-Expect(0, 767, '\P{^Is_Grapheme_Extend=t}', "");
-Expect(1, 879, '\p{Is_Grapheme_Extend=_t}', "");
-Expect(0, 879, '\p{^Is_Grapheme_Extend=_t}', "");
-Expect(0, 879, '\P{Is_Grapheme_Extend=_t}', "");
-Expect(1, 879, '\P{^Is_Grapheme_Extend=_t}', "");
-Expect(0, 767, '\p{Is_Grapheme_Extend=_t}', "");
-Expect(1, 767, '\p{^Is_Grapheme_Extend=_t}', "");
-Expect(1, 767, '\P{Is_Grapheme_Extend=_t}', "");
-Expect(0, 767, '\P{^Is_Grapheme_Extend=_t}', "");
-Error('\p{Is_Gr_Ext=/a/TRUE}');
-Error('\P{Is_Gr_Ext=/a/TRUE}');
-Expect(1, 879, '\p{Is_Gr_Ext:true}', "");
-Expect(0, 879, '\p{^Is_Gr_Ext:true}', "");
-Expect(0, 879, '\P{Is_Gr_Ext:true}', "");
-Expect(1, 879, '\P{^Is_Gr_Ext:true}', "");
-Expect(0, 767, '\p{Is_Gr_Ext:true}', "");
-Expect(1, 767, '\p{^Is_Gr_Ext:true}', "");
-Expect(1, 767, '\P{Is_Gr_Ext:true}', "");
-Expect(0, 767, '\P{^Is_Gr_Ext:true}', "");
-Expect(1, 879, '\p{Is_Gr_Ext= TRUE}', "");
-Expect(0, 879, '\p{^Is_Gr_Ext= TRUE}', "");
-Expect(0, 879, '\P{Is_Gr_Ext= TRUE}', "");
-Expect(1, 879, '\P{^Is_Gr_Ext= TRUE}', "");
-Expect(0, 767, '\p{Is_Gr_Ext= TRUE}', "");
-Expect(1, 767, '\p{^Is_Gr_Ext= TRUE}', "");
-Expect(1, 767, '\P{Is_Gr_Ext= TRUE}', "");
-Expect(0, 767, '\P{^Is_Gr_Ext= TRUE}', "");
-Error('\p{Grapheme_Extend= no:=}');
-Error('\P{Grapheme_Extend= no:=}');
-Expect(1, 767, '\p{Grapheme_Extend=no}', "");
-Expect(0, 767, '\p{^Grapheme_Extend=no}', "");
-Expect(0, 767, '\P{Grapheme_Extend=no}', "");
-Expect(1, 767, '\P{^Grapheme_Extend=no}', "");
-Expect(0, 879, '\p{Grapheme_Extend=no}', "");
-Expect(1, 879, '\p{^Grapheme_Extend=no}', "");
-Expect(1, 879, '\P{Grapheme_Extend=no}', "");
-Expect(0, 879, '\P{^Grapheme_Extend=no}', "");
-Expect(1, 767, '\p{Grapheme_Extend= NO}', "");
-Expect(0, 767, '\p{^Grapheme_Extend= NO}', "");
-Expect(0, 767, '\P{Grapheme_Extend= NO}', "");
-Expect(1, 767, '\P{^Grapheme_Extend= NO}', "");
-Expect(0, 879, '\p{Grapheme_Extend= NO}', "");
-Expect(1, 879, '\p{^Grapheme_Extend= NO}', "");
-Expect(1, 879, '\P{Grapheme_Extend= NO}', "");
-Expect(0, 879, '\P{^Grapheme_Extend= NO}', "");
-Error('\p{Gr_Ext=/a/N}');
-Error('\P{Gr_Ext=/a/N}');
-Expect(1, 767, '\p{Gr_Ext=n}', "");
-Expect(0, 767, '\p{^Gr_Ext=n}', "");
-Expect(0, 767, '\P{Gr_Ext=n}', "");
-Expect(1, 767, '\P{^Gr_Ext=n}', "");
-Expect(0, 879, '\p{Gr_Ext=n}', "");
-Expect(1, 879, '\p{^Gr_Ext=n}', "");
-Expect(1, 879, '\P{Gr_Ext=n}', "");
-Expect(0, 879, '\P{^Gr_Ext=n}', "");
-Expect(1, 767, '\p{Gr_Ext= N}', "");
-Expect(0, 767, '\p{^Gr_Ext= N}', "");
-Expect(0, 767, '\P{Gr_Ext= N}', "");
-Expect(1, 767, '\P{^Gr_Ext= N}', "");
-Expect(0, 879, '\p{Gr_Ext= N}', "");
-Expect(1, 879, '\p{^Gr_Ext= N}', "");
-Expect(1, 879, '\P{Gr_Ext= N}', "");
-Expect(0, 879, '\P{^Gr_Ext= N}', "");
-Error('\p{Is_Grapheme_Extend=_/a/F}');
-Error('\P{Is_Grapheme_Extend=_/a/F}');
-Expect(1, 767, '\p{Is_Grapheme_Extend=f}', "");
-Expect(0, 767, '\p{^Is_Grapheme_Extend=f}', "");
-Expect(0, 767, '\P{Is_Grapheme_Extend=f}', "");
-Expect(1, 767, '\P{^Is_Grapheme_Extend=f}', "");
-Expect(0, 879, '\p{Is_Grapheme_Extend=f}', "");
-Expect(1, 879, '\p{^Is_Grapheme_Extend=f}', "");
-Expect(1, 879, '\P{Is_Grapheme_Extend=f}', "");
-Expect(0, 879, '\P{^Is_Grapheme_Extend=f}', "");
-Expect(1, 767, '\p{Is_Grapheme_Extend= -F}', "");
-Expect(0, 767, '\p{^Is_Grapheme_Extend= -F}', "");
-Expect(0, 767, '\P{Is_Grapheme_Extend= -F}', "");
-Expect(1, 767, '\P{^Is_Grapheme_Extend= -F}', "");
-Expect(0, 879, '\p{Is_Grapheme_Extend= -F}', "");
-Expect(1, 879, '\p{^Is_Grapheme_Extend= -F}', "");
-Expect(1, 879, '\P{Is_Grapheme_Extend= -F}', "");
-Expect(0, 879, '\P{^Is_Grapheme_Extend= -F}', "");
-Error('\p{Is_Gr_Ext=-/a/False}');
-Error('\P{Is_Gr_Ext=-/a/False}');
-Expect(1, 767, '\p{Is_Gr_Ext=false}', "");
-Expect(0, 767, '\p{^Is_Gr_Ext=false}', "");
-Expect(0, 767, '\P{Is_Gr_Ext=false}', "");
-Expect(1, 767, '\P{^Is_Gr_Ext=false}', "");
-Expect(0, 879, '\p{Is_Gr_Ext=false}', "");
-Expect(1, 879, '\p{^Is_Gr_Ext=false}', "");
-Expect(1, 879, '\P{Is_Gr_Ext=false}', "");
-Expect(0, 879, '\P{^Is_Gr_Ext=false}', "");
-Expect(1, 767, '\p{Is_Gr_Ext=_ FALSE}', "");
-Expect(0, 767, '\p{^Is_Gr_Ext=_ FALSE}', "");
-Expect(0, 767, '\P{Is_Gr_Ext=_ FALSE}', "");
-Expect(1, 767, '\P{^Is_Gr_Ext=_ FALSE}', "");
-Expect(0, 879, '\p{Is_Gr_Ext=_ FALSE}', "");
-Expect(1, 879, '\p{^Is_Gr_Ext=_ FALSE}', "");
-Expect(1, 879, '\P{Is_Gr_Ext=_ FALSE}', "");
-Expect(0, 879, '\P{^Is_Gr_Ext=_ FALSE}', "");
-Error('\p{Other_ID_Continue=-Yes:=}');
-Error('\P{Other_ID_Continue=-Yes:=}');
-Expect(1, 183, '\p{Other_ID_Continue: yes}', 'deprecated');
-Expect(0, 183, '\p{^Other_ID_Continue: yes}', 'deprecated');
-Expect(0, 183, '\P{Other_ID_Continue: yes}', 'deprecated');
-Expect(1, 183, '\P{^Other_ID_Continue: yes}', 'deprecated');
-Expect(0, 182, '\p{Other_ID_Continue: yes}', 'deprecated');
-Expect(1, 182, '\p{^Other_ID_Continue: yes}', 'deprecated');
-Expect(1, 182, '\P{Other_ID_Continue: yes}', 'deprecated');
-Expect(0, 182, '\P{^Other_ID_Continue: yes}', 'deprecated');
-Expect(1, 183, '\p{Other_ID_Continue= yes}', 'deprecated');
-Expect(0, 183, '\p{^Other_ID_Continue= yes}', 'deprecated');
-Expect(0, 183, '\P{Other_ID_Continue= yes}', 'deprecated');
-Expect(1, 183, '\P{^Other_ID_Continue= yes}', 'deprecated');
-Expect(0, 182, '\p{Other_ID_Continue= yes}', 'deprecated');
-Expect(1, 182, '\p{^Other_ID_Continue= yes}', 'deprecated');
-Expect(1, 182, '\P{Other_ID_Continue= yes}', 'deprecated');
-Expect(0, 182, '\P{^Other_ID_Continue= yes}', 'deprecated');
-Error('\p{OIDC=/a/ _Y}');
-Error('\P{OIDC=/a/ _Y}');
-Expect(1, 183, '\p{OIDC=y}', 'deprecated');
-Expect(0, 183, '\p{^OIDC=y}', 'deprecated');
-Expect(0, 183, '\P{OIDC=y}', 'deprecated');
-Expect(1, 183, '\P{^OIDC=y}', 'deprecated');
-Expect(0, 182, '\p{OIDC=y}', 'deprecated');
-Expect(1, 182, '\p{^OIDC=y}', 'deprecated');
-Expect(1, 182, '\P{OIDC=y}', 'deprecated');
-Expect(0, 182, '\P{^OIDC=y}', 'deprecated');
-Expect(1, 183, '\p{OIDC: Y}', 'deprecated');
-Expect(0, 183, '\p{^OIDC: Y}', 'deprecated');
-Expect(0, 183, '\P{OIDC: Y}', 'deprecated');
-Expect(1, 183, '\P{^OIDC: Y}', 'deprecated');
-Expect(0, 182, '\p{OIDC: Y}', 'deprecated');
-Expect(1, 182, '\p{^OIDC: Y}', 'deprecated');
-Expect(1, 182, '\P{OIDC: Y}', 'deprecated');
-Expect(0, 182, '\P{^OIDC: Y}', 'deprecated');
-Error('\p{Is_Other_ID_Continue= /a/t}');
-Error('\P{Is_Other_ID_Continue= /a/t}');
-Expect(1, 183, '\p{Is_Other_ID_Continue=t}', 'deprecated');
-Expect(0, 183, '\p{^Is_Other_ID_Continue=t}', 'deprecated');
-Expect(0, 183, '\P{Is_Other_ID_Continue=t}', 'deprecated');
-Expect(1, 183, '\P{^Is_Other_ID_Continue=t}', 'deprecated');
-Expect(0, 182, '\p{Is_Other_ID_Continue=t}', 'deprecated');
-Expect(1, 182, '\p{^Is_Other_ID_Continue=t}', 'deprecated');
-Expect(1, 182, '\P{Is_Other_ID_Continue=t}', 'deprecated');
-Expect(0, 182, '\P{^Is_Other_ID_Continue=t}', 'deprecated');
-Expect(1, 183, '\p{Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(0, 183, '\p{^Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(0, 183, '\P{Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(1, 183, '\P{^Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(0, 182, '\p{Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(1, 182, '\p{^Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(1, 182, '\P{Is_Other_ID_Continue= _T}', 'deprecated');
-Expect(0, 182, '\P{^Is_Other_ID_Continue= _T}', 'deprecated');
-Error('\p{Is_OIDC=:=- TRUE}');
-Error('\P{Is_OIDC=:=- TRUE}');
-Expect(1, 183, '\p{Is_OIDC=true}', 'deprecated');
-Expect(0, 183, '\p{^Is_OIDC=true}', 'deprecated');
-Expect(0, 183, '\P{Is_OIDC=true}', 'deprecated');
-Expect(1, 183, '\P{^Is_OIDC=true}', 'deprecated');
-Expect(0, 182, '\p{Is_OIDC=true}', 'deprecated');
-Expect(1, 182, '\p{^Is_OIDC=true}', 'deprecated');
-Expect(1, 182, '\P{Is_OIDC=true}', 'deprecated');
-Expect(0, 182, '\P{^Is_OIDC=true}', 'deprecated');
-Expect(1, 183, '\p{Is_OIDC= True}', 'deprecated');
-Expect(0, 183, '\p{^Is_OIDC= True}', 'deprecated');
-Expect(0, 183, '\P{Is_OIDC= True}', 'deprecated');
-Expect(1, 183, '\P{^Is_OIDC= True}', 'deprecated');
-Expect(0, 182, '\p{Is_OIDC= True}', 'deprecated');
-Expect(1, 182, '\p{^Is_OIDC= True}', 'deprecated');
-Expect(1, 182, '\P{Is_OIDC= True}', 'deprecated');
-Expect(0, 182, '\P{^Is_OIDC= True}', 'deprecated');
-Error('\p{Other_ID_Continue: := No}');
-Error('\P{Other_ID_Continue: := No}');
-Expect(1, 182, '\p{Other_ID_Continue=no}', 'deprecated');
-Expect(0, 182, '\p{^Other_ID_Continue=no}', 'deprecated');
-Expect(0, 182, '\P{Other_ID_Continue=no}', 'deprecated');
-Expect(1, 182, '\P{^Other_ID_Continue=no}', 'deprecated');
-Expect(0, 183, '\p{Other_ID_Continue=no}', 'deprecated');
-Expect(1, 183, '\p{^Other_ID_Continue=no}', 'deprecated');
-Expect(1, 183, '\P{Other_ID_Continue=no}', 'deprecated');
-Expect(0, 183, '\P{^Other_ID_Continue=no}', 'deprecated');
-Expect(1, 182, '\p{Other_ID_Continue=_No}', 'deprecated');
-Expect(0, 182, '\p{^Other_ID_Continue=_No}', 'deprecated');
-Expect(0, 182, '\P{Other_ID_Continue=_No}', 'deprecated');
-Expect(1, 182, '\P{^Other_ID_Continue=_No}', 'deprecated');
-Expect(0, 183, '\p{Other_ID_Continue=_No}', 'deprecated');
-Expect(1, 183, '\p{^Other_ID_Continue=_No}', 'deprecated');
-Expect(1, 183, '\P{Other_ID_Continue=_No}', 'deprecated');
-Expect(0, 183, '\P{^Other_ID_Continue=_No}', 'deprecated');
-Error('\p{OIDC: /a/_-n}');
-Error('\P{OIDC: /a/_-n}');
-Expect(1, 182, '\p{OIDC=n}', 'deprecated');
-Expect(0, 182, '\p{^OIDC=n}', 'deprecated');
-Expect(0, 182, '\P{OIDC=n}', 'deprecated');
-Expect(1, 182, '\P{^OIDC=n}', 'deprecated');
-Expect(0, 183, '\p{OIDC=n}', 'deprecated');
-Expect(1, 183, '\p{^OIDC=n}', 'deprecated');
-Expect(1, 183, '\P{OIDC=n}', 'deprecated');
-Expect(0, 183, '\P{^OIDC=n}', 'deprecated');
-Expect(1, 182, '\p{OIDC= N}', 'deprecated');
-Expect(0, 182, '\p{^OIDC= N}', 'deprecated');
-Expect(0, 182, '\P{OIDC= N}', 'deprecated');
-Expect(1, 182, '\P{^OIDC= N}', 'deprecated');
-Expect(0, 183, '\p{OIDC= N}', 'deprecated');
-Expect(1, 183, '\p{^OIDC= N}', 'deprecated');
-Expect(1, 183, '\P{OIDC= N}', 'deprecated');
-Expect(0, 183, '\P{^OIDC= N}', 'deprecated');
-Error('\p{Is_Other_ID_Continue= :=F}');
-Error('\P{Is_Other_ID_Continue= :=F}');
-Expect(1, 182, '\p{Is_Other_ID_Continue=f}', 'deprecated');
-Expect(0, 182, '\p{^Is_Other_ID_Continue=f}', 'deprecated');
-Expect(0, 182, '\P{Is_Other_ID_Continue=f}', 'deprecated');
-Expect(1, 182, '\P{^Is_Other_ID_Continue=f}', 'deprecated');
-Expect(0, 183, '\p{Is_Other_ID_Continue=f}', 'deprecated');
-Expect(1, 183, '\p{^Is_Other_ID_Continue=f}', 'deprecated');
-Expect(1, 183, '\P{Is_Other_ID_Continue=f}', 'deprecated');
-Expect(0, 183, '\P{^Is_Other_ID_Continue=f}', 'deprecated');
-Expect(1, 182, '\p{Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(0, 182, '\p{^Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(0, 182, '\P{Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(1, 182, '\P{^Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(0, 183, '\p{Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(1, 183, '\p{^Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(1, 183, '\P{Is_Other_ID_Continue=--F}', 'deprecated');
-Expect(0, 183, '\P{^Is_Other_ID_Continue=--F}', 'deprecated');
-Error('\p{Is_OIDC=:= False}');
-Error('\P{Is_OIDC=:= False}');
-Expect(1, 182, '\p{Is_OIDC=false}', 'deprecated');
-Expect(0, 182, '\p{^Is_OIDC=false}', 'deprecated');
-Expect(0, 182, '\P{Is_OIDC=false}', 'deprecated');
-Expect(1, 182, '\P{^Is_OIDC=false}', 'deprecated');
-Expect(0, 183, '\p{Is_OIDC=false}', 'deprecated');
-Expect(1, 183, '\p{^Is_OIDC=false}', 'deprecated');
-Expect(1, 183, '\P{Is_OIDC=false}', 'deprecated');
-Expect(0, 183, '\P{^Is_OIDC=false}', 'deprecated');
-Expect(1, 182, '\p{Is_OIDC= False}', 'deprecated');
-Expect(0, 182, '\p{^Is_OIDC= False}', 'deprecated');
-Expect(0, 182, '\P{Is_OIDC= False}', 'deprecated');
-Expect(1, 182, '\P{^Is_OIDC= False}', 'deprecated');
-Expect(0, 183, '\p{Is_OIDC= False}', 'deprecated');
-Expect(1, 183, '\p{^Is_OIDC= False}', 'deprecated');
-Expect(1, 183, '\P{Is_OIDC= False}', 'deprecated');
-Expect(0, 183, '\P{^Is_OIDC= False}', 'deprecated');
-Error('\p{Joining_Group= :=SWASH Kaf}');
-Error('\P{Joining_Group= :=SWASH Kaf}');
-Expect(1, 1706, '\p{Joining_Group: swashkaf}', "");
-Expect(0, 1706, '\p{^Joining_Group: swashkaf}', "");
-Expect(0, 1706, '\P{Joining_Group: swashkaf}', "");
-Expect(1, 1706, '\P{^Joining_Group: swashkaf}', "");
-Expect(0, 1705, '\p{Joining_Group: swashkaf}', "");
-Expect(1, 1705, '\p{^Joining_Group: swashkaf}', "");
-Expect(1, 1705, '\P{Joining_Group: swashkaf}', "");
-Expect(0, 1705, '\P{^Joining_Group: swashkaf}', "");
-Expect(1, 1706, '\p{Joining_Group=_ Swash_kaf}', "");
-Expect(0, 1706, '\p{^Joining_Group=_ Swash_kaf}', "");
-Expect(0, 1706, '\P{Joining_Group=_ Swash_kaf}', "");
-Expect(1, 1706, '\P{^Joining_Group=_ Swash_kaf}', "");
-Expect(0, 1705, '\p{Joining_Group=_ Swash_kaf}', "");
-Expect(1, 1705, '\p{^Joining_Group=_ Swash_kaf}', "");
-Expect(1, 1705, '\P{Joining_Group=_ Swash_kaf}', "");
-Expect(0, 1705, '\P{^Joining_Group=_ Swash_kaf}', "");
-Error('\p{Jg=/a/--Swash-Kaf}');
-Error('\P{Jg=/a/--Swash-Kaf}');
-Expect(1, 1706, '\p{Jg=swashkaf}', "");
-Expect(0, 1706, '\p{^Jg=swashkaf}', "");
-Expect(0, 1706, '\P{Jg=swashkaf}', "");
-Expect(1, 1706, '\P{^Jg=swashkaf}', "");
-Expect(0, 1705, '\p{Jg=swashkaf}', "");
-Expect(1, 1705, '\p{^Jg=swashkaf}', "");
-Expect(1, 1705, '\P{Jg=swashkaf}', "");
-Expect(0, 1705, '\P{^Jg=swashkaf}', "");
-Expect(1, 1706, '\p{Jg=- Swash Kaf}', "");
-Expect(0, 1706, '\p{^Jg=- Swash Kaf}', "");
-Expect(0, 1706, '\P{Jg=- Swash Kaf}', "");
-Expect(1, 1706, '\P{^Jg=- Swash Kaf}', "");
-Expect(0, 1705, '\p{Jg=- Swash Kaf}', "");
-Expect(1, 1705, '\p{^Jg=- Swash Kaf}', "");
-Expect(1, 1705, '\P{Jg=- Swash Kaf}', "");
-Expect(0, 1705, '\P{^Jg=- Swash Kaf}', "");
-Error('\p{Is_Joining_Group=:= swash-kaf}');
-Error('\P{Is_Joining_Group=:= swash-kaf}');
-Expect(1, 1706, '\p{Is_Joining_Group=swashkaf}', "");
-Expect(0, 1706, '\p{^Is_Joining_Group=swashkaf}', "");
-Expect(0, 1706, '\P{Is_Joining_Group=swashkaf}', "");
-Expect(1, 1706, '\P{^Is_Joining_Group=swashkaf}', "");
-Expect(0, 1705, '\p{Is_Joining_Group=swashkaf}', "");
-Expect(1, 1705, '\p{^Is_Joining_Group=swashkaf}', "");
-Expect(1, 1705, '\P{Is_Joining_Group=swashkaf}', "");
-Expect(0, 1705, '\P{^Is_Joining_Group=swashkaf}', "");
-Expect(1, 1706, '\p{Is_Joining_Group=Swash Kaf}', "");
-Expect(0, 1706, '\p{^Is_Joining_Group=Swash Kaf}', "");
-Expect(0, 1706, '\P{Is_Joining_Group=Swash Kaf}', "");
-Expect(1, 1706, '\P{^Is_Joining_Group=Swash Kaf}', "");
-Expect(0, 1705, '\p{Is_Joining_Group=Swash Kaf}', "");
-Expect(1, 1705, '\p{^Is_Joining_Group=Swash Kaf}', "");
-Expect(1, 1705, '\P{Is_Joining_Group=Swash Kaf}', "");
-Expect(0, 1705, '\P{^Is_Joining_Group=Swash Kaf}', "");
-Error('\p{Is_Jg=/a/- Swash Kaf}');
-Error('\P{Is_Jg=/a/- Swash Kaf}');
-Expect(1, 1706, '\p{Is_Jg=swashkaf}', "");
-Expect(0, 1706, '\p{^Is_Jg=swashkaf}', "");
-Expect(0, 1706, '\P{Is_Jg=swashkaf}', "");
-Expect(1, 1706, '\P{^Is_Jg=swashkaf}', "");
-Expect(0, 1705, '\p{Is_Jg=swashkaf}', "");
-Expect(1, 1705, '\p{^Is_Jg=swashkaf}', "");
-Expect(1, 1705, '\P{Is_Jg=swashkaf}', "");
-Expect(0, 1705, '\P{^Is_Jg=swashkaf}', "");
-Expect(1, 1706, '\p{Is_Jg=__swash_kaf}', "");
-Expect(0, 1706, '\p{^Is_Jg=__swash_kaf}', "");
-Expect(0, 1706, '\P{Is_Jg=__swash_kaf}', "");
-Expect(1, 1706, '\P{^Is_Jg=__swash_kaf}', "");
-Expect(0, 1705, '\p{Is_Jg=__swash_kaf}', "");
-Expect(1, 1705, '\p{^Is_Jg=__swash_kaf}', "");
-Expect(1, 1705, '\P{Is_Jg=__swash_kaf}', "");
-Expect(0, 1705, '\P{^Is_Jg=__swash_kaf}', "");
-Error('\p{Joining_Group=/a/ Seen}');
-Error('\P{Joining_Group=/a/ Seen}');
-Expect(1, 1588, '\p{Joining_Group: seen}', "");
-Expect(0, 1588, '\p{^Joining_Group: seen}', "");
-Expect(0, 1588, '\P{Joining_Group: seen}', "");
-Expect(1, 1588, '\P{^Joining_Group: seen}', "");
-Expect(0, 1586, '\p{Joining_Group: seen}', "");
-Expect(1, 1586, '\p{^Joining_Group: seen}', "");
-Expect(1, 1586, '\P{Joining_Group: seen}', "");
-Expect(0, 1586, '\P{^Joining_Group: seen}', "");
-Expect(1, 1588, '\p{Joining_Group=__SEEN}', "");
-Expect(0, 1588, '\p{^Joining_Group=__SEEN}', "");
-Expect(0, 1588, '\P{Joining_Group=__SEEN}', "");
-Expect(1, 1588, '\P{^Joining_Group=__SEEN}', "");
-Expect(0, 1586, '\p{Joining_Group=__SEEN}', "");
-Expect(1, 1586, '\p{^Joining_Group=__SEEN}', "");
-Expect(1, 1586, '\P{Joining_Group=__SEEN}', "");
-Expect(0, 1586, '\P{^Joining_Group=__SEEN}', "");
-Error('\p{Jg=_/a/seen}');
-Error('\P{Jg=_/a/seen}');
-Expect(1, 1588, '\p{Jg=seen}', "");
-Expect(0, 1588, '\p{^Jg=seen}', "");
-Expect(0, 1588, '\P{Jg=seen}', "");
-Expect(1, 1588, '\P{^Jg=seen}', "");
-Expect(0, 1586, '\p{Jg=seen}', "");
-Expect(1, 1586, '\p{^Jg=seen}', "");
-Expect(1, 1586, '\P{Jg=seen}', "");
-Expect(0, 1586, '\P{^Jg=seen}', "");
-Expect(1, 1588, '\p{Jg=Seen}', "");
-Expect(0, 1588, '\p{^Jg=Seen}', "");
-Expect(0, 1588, '\P{Jg=Seen}', "");
-Expect(1, 1588, '\P{^Jg=Seen}', "");
-Expect(0, 1586, '\p{Jg=Seen}', "");
-Expect(1, 1586, '\p{^Jg=Seen}', "");
-Expect(1, 1586, '\P{Jg=Seen}', "");
-Expect(0, 1586, '\P{^Jg=Seen}', "");
-Error('\p{Is_Joining_Group= Seen/a/}');
-Error('\P{Is_Joining_Group= Seen/a/}');
-Expect(1, 1588, '\p{Is_Joining_Group: seen}', "");
-Expect(0, 1588, '\p{^Is_Joining_Group: seen}', "");
-Expect(0, 1588, '\P{Is_Joining_Group: seen}', "");
-Expect(1, 1588, '\P{^Is_Joining_Group: seen}', "");
-Expect(0, 1586, '\p{Is_Joining_Group: seen}', "");
-Expect(1, 1586, '\p{^Is_Joining_Group: seen}', "");
-Expect(1, 1586, '\P{Is_Joining_Group: seen}', "");
-Expect(0, 1586, '\P{^Is_Joining_Group: seen}', "");
-Expect(1, 1588, '\p{Is_Joining_Group= Seen}', "");
-Expect(0, 1588, '\p{^Is_Joining_Group= Seen}', "");
-Expect(0, 1588, '\P{Is_Joining_Group= Seen}', "");
-Expect(1, 1588, '\P{^Is_Joining_Group= Seen}', "");
-Expect(0, 1586, '\p{Is_Joining_Group= Seen}', "");
-Expect(1, 1586, '\p{^Is_Joining_Group= Seen}', "");
-Expect(1, 1586, '\P{Is_Joining_Group= Seen}', "");
-Expect(0, 1586, '\P{^Is_Joining_Group= Seen}', "");
-Error('\p{Is_Jg= seen/a/}');
-Error('\P{Is_Jg= seen/a/}');
-Expect(1, 1588, '\p{Is_Jg: seen}', "");
-Expect(0, 1588, '\p{^Is_Jg: seen}', "");
-Expect(0, 1588, '\P{Is_Jg: seen}', "");
-Expect(1, 1588, '\P{^Is_Jg: seen}', "");
-Expect(0, 1586, '\p{Is_Jg: seen}', "");
-Expect(1, 1586, '\p{^Is_Jg: seen}', "");
-Expect(1, 1586, '\P{Is_Jg: seen}', "");
-Expect(0, 1586, '\P{^Is_Jg: seen}', "");
-Expect(1, 1588, '\p{Is_Jg=-_Seen}', "");
-Expect(0, 1588, '\p{^Is_Jg=-_Seen}', "");
-Expect(0, 1588, '\P{Is_Jg=-_Seen}', "");
-Expect(1, 1588, '\P{^Is_Jg=-_Seen}', "");
-Expect(0, 1586, '\p{Is_Jg=-_Seen}', "");
-Expect(1, 1586, '\p{^Is_Jg=-_Seen}', "");
-Expect(1, 1586, '\P{Is_Jg=-_Seen}', "");
-Expect(0, 1586, '\P{^Is_Jg=-_Seen}', "");
-Error('\p{Joining_Group=/a/-Beth}');
-Error('\P{Joining_Group=/a/-Beth}');
-Expect(1, 1810, '\p{Joining_Group=beth}', "");
-Expect(0, 1810, '\p{^Joining_Group=beth}', "");
-Expect(0, 1810, '\P{Joining_Group=beth}', "");
-Expect(1, 1810, '\P{^Joining_Group=beth}', "");
-Expect(0, 1809, '\p{Joining_Group=beth}', "");
-Expect(1, 1809, '\p{^Joining_Group=beth}', "");
-Expect(1, 1809, '\P{Joining_Group=beth}', "");
-Expect(0, 1809, '\P{^Joining_Group=beth}', "");
-Expect(1, 1810, '\p{Joining_Group= _Beth}', "");
-Expect(0, 1810, '\p{^Joining_Group= _Beth}', "");
-Expect(0, 1810, '\P{Joining_Group= _Beth}', "");
-Expect(1, 1810, '\P{^Joining_Group= _Beth}', "");
-Expect(0, 1809, '\p{Joining_Group= _Beth}', "");
-Expect(1, 1809, '\p{^Joining_Group= _Beth}', "");
-Expect(1, 1809, '\P{Joining_Group= _Beth}', "");
-Expect(0, 1809, '\P{^Joining_Group= _Beth}', "");
-Error('\p{Jg= /a/beth}');
-Error('\P{Jg= /a/beth}');
-Expect(1, 1810, '\p{Jg=beth}', "");
-Expect(0, 1810, '\p{^Jg=beth}', "");
-Expect(0, 1810, '\P{Jg=beth}', "");
-Expect(1, 1810, '\P{^Jg=beth}', "");
-Expect(0, 1809, '\p{Jg=beth}', "");
-Expect(1, 1809, '\p{^Jg=beth}', "");
-Expect(1, 1809, '\P{Jg=beth}', "");
-Expect(0, 1809, '\P{^Jg=beth}', "");
-Expect(1, 1810, '\p{Jg= beth}', "");
-Expect(0, 1810, '\p{^Jg= beth}', "");
-Expect(0, 1810, '\P{Jg= beth}', "");
-Expect(1, 1810, '\P{^Jg= beth}', "");
-Expect(0, 1809, '\p{Jg= beth}', "");
-Expect(1, 1809, '\p{^Jg= beth}', "");
-Expect(1, 1809, '\P{Jg= beth}', "");
-Expect(0, 1809, '\P{^Jg= beth}', "");
-Error('\p{Is_Joining_Group=:=- Beth}');
-Error('\P{Is_Joining_Group=:=- Beth}');
-Expect(1, 1810, '\p{Is_Joining_Group=beth}', "");
-Expect(0, 1810, '\p{^Is_Joining_Group=beth}', "");
-Expect(0, 1810, '\P{Is_Joining_Group=beth}', "");
-Expect(1, 1810, '\P{^Is_Joining_Group=beth}', "");
-Expect(0, 1809, '\p{Is_Joining_Group=beth}', "");
-Expect(1, 1809, '\p{^Is_Joining_Group=beth}', "");
-Expect(1, 1809, '\P{Is_Joining_Group=beth}', "");
-Expect(0, 1809, '\P{^Is_Joining_Group=beth}', "");
-Expect(1, 1810, '\p{Is_Joining_Group=_Beth}', "");
-Expect(0, 1810, '\p{^Is_Joining_Group=_Beth}', "");
-Expect(0, 1810, '\P{Is_Joining_Group=_Beth}', "");
-Expect(1, 1810, '\P{^Is_Joining_Group=_Beth}', "");
-Expect(0, 1809, '\p{Is_Joining_Group=_Beth}', "");
-Expect(1, 1809, '\p{^Is_Joining_Group=_Beth}', "");
-Expect(1, 1809, '\P{Is_Joining_Group=_Beth}', "");
-Expect(0, 1809, '\P{^Is_Joining_Group=_Beth}', "");
-Error('\p{Is_Jg= /a/BETH}');
-Error('\P{Is_Jg= /a/BETH}');
-Expect(1, 1810, '\p{Is_Jg=beth}', "");
-Expect(0, 1810, '\p{^Is_Jg=beth}', "");
-Expect(0, 1810, '\P{Is_Jg=beth}', "");
-Expect(1, 1810, '\P{^Is_Jg=beth}', "");
-Expect(0, 1809, '\p{Is_Jg=beth}', "");
-Expect(1, 1809, '\p{^Is_Jg=beth}', "");
-Expect(1, 1809, '\P{Is_Jg=beth}', "");
-Expect(0, 1809, '\P{^Is_Jg=beth}', "");
-Expect(1, 1810, '\p{Is_Jg= beth}', "");
-Expect(0, 1810, '\p{^Is_Jg= beth}', "");
-Expect(0, 1810, '\P{Is_Jg= beth}', "");
-Expect(1, 1810, '\P{^Is_Jg= beth}', "");
-Expect(0, 1809, '\p{Is_Jg= beth}', "");
-Expect(1, 1809, '\p{^Is_Jg= beth}', "");
-Expect(1, 1809, '\P{Is_Jg= beth}', "");
-Expect(0, 1809, '\P{^Is_Jg= beth}', "");
-Error('\p{Joining_Group=_Semkath/a/}');
-Error('\P{Joining_Group=_Semkath/a/}');
-Expect(1, 1827, '\p{Joining_Group: semkath}', "");
-Expect(0, 1827, '\p{^Joining_Group: semkath}', "");
-Expect(0, 1827, '\P{Joining_Group: semkath}', "");
-Expect(1, 1827, '\P{^Joining_Group: semkath}', "");
-Expect(0, 1826, '\p{Joining_Group: semkath}', "");
-Expect(1, 1826, '\p{^Joining_Group: semkath}', "");
-Expect(1, 1826, '\P{Joining_Group: semkath}', "");
-Expect(0, 1826, '\P{^Joining_Group: semkath}', "");
-Expect(1, 1827, '\p{Joining_Group=_Semkath}', "");
-Expect(0, 1827, '\p{^Joining_Group=_Semkath}', "");
-Expect(0, 1827, '\P{Joining_Group=_Semkath}', "");
-Expect(1, 1827, '\P{^Joining_Group=_Semkath}', "");
-Expect(0, 1826, '\p{Joining_Group=_Semkath}', "");
-Expect(1, 1826, '\p{^Joining_Group=_Semkath}', "");
-Expect(1, 1826, '\P{Joining_Group=_Semkath}', "");
-Expect(0, 1826, '\P{^Joining_Group=_Semkath}', "");
-Error('\p{Jg=/a/_semkath}');
-Error('\P{Jg=/a/_semkath}');
-Expect(1, 1827, '\p{Jg=semkath}', "");
-Expect(0, 1827, '\p{^Jg=semkath}', "");
-Expect(0, 1827, '\P{Jg=semkath}', "");
-Expect(1, 1827, '\P{^Jg=semkath}', "");
-Expect(0, 1826, '\p{Jg=semkath}', "");
-Expect(1, 1826, '\p{^Jg=semkath}', "");
-Expect(1, 1826, '\P{Jg=semkath}', "");
-Expect(0, 1826, '\P{^Jg=semkath}', "");
-Expect(1, 1827, '\p{Jg= _semkath}', "");
-Expect(0, 1827, '\p{^Jg= _semkath}', "");
-Expect(0, 1827, '\P{Jg= _semkath}', "");
-Expect(1, 1827, '\P{^Jg= _semkath}', "");
-Expect(0, 1826, '\p{Jg= _semkath}', "");
-Expect(1, 1826, '\p{^Jg= _semkath}', "");
-Expect(1, 1826, '\P{Jg= _semkath}', "");
-Expect(0, 1826, '\P{^Jg= _semkath}', "");
-Error('\p{Is_Joining_Group=/a/_Semkath}');
-Error('\P{Is_Joining_Group=/a/_Semkath}');
-Expect(1, 1827, '\p{Is_Joining_Group=semkath}', "");
-Expect(0, 1827, '\p{^Is_Joining_Group=semkath}', "");
-Expect(0, 1827, '\P{Is_Joining_Group=semkath}', "");
-Expect(1, 1827, '\P{^Is_Joining_Group=semkath}', "");
-Expect(0, 1826, '\p{Is_Joining_Group=semkath}', "");
-Expect(1, 1826, '\p{^Is_Joining_Group=semkath}', "");
-Expect(1, 1826, '\P{Is_Joining_Group=semkath}', "");
-Expect(0, 1826, '\P{^Is_Joining_Group=semkath}', "");
-Expect(1, 1827, '\p{Is_Joining_Group=-Semkath}', "");
-Expect(0, 1827, '\p{^Is_Joining_Group=-Semkath}', "");
-Expect(0, 1827, '\P{Is_Joining_Group=-Semkath}', "");
-Expect(1, 1827, '\P{^Is_Joining_Group=-Semkath}', "");
-Expect(0, 1826, '\p{Is_Joining_Group=-Semkath}', "");
-Expect(1, 1826, '\p{^Is_Joining_Group=-Semkath}', "");
-Expect(1, 1826, '\P{Is_Joining_Group=-Semkath}', "");
-Expect(0, 1826, '\P{^Is_Joining_Group=-Semkath}', "");
-Error('\p{Is_Jg= semkath/a/}');
-Error('\P{Is_Jg= semkath/a/}');
-Expect(1, 1827, '\p{Is_Jg: semkath}', "");
-Expect(0, 1827, '\p{^Is_Jg: semkath}', "");
-Expect(0, 1827, '\P{Is_Jg: semkath}', "");
-Expect(1, 1827, '\P{^Is_Jg: semkath}', "");
-Expect(0, 1826, '\p{Is_Jg: semkath}', "");
-Expect(1, 1826, '\p{^Is_Jg: semkath}', "");
-Expect(1, 1826, '\P{Is_Jg: semkath}', "");
-Expect(0, 1826, '\P{^Is_Jg: semkath}', "");
-Expect(1, 1827, '\p{Is_Jg=-semkath}', "");
-Expect(0, 1827, '\p{^Is_Jg=-semkath}', "");
-Expect(0, 1827, '\P{Is_Jg=-semkath}', "");
-Expect(1, 1827, '\P{^Is_Jg=-semkath}', "");
-Expect(0, 1826, '\p{Is_Jg=-semkath}', "");
-Expect(1, 1826, '\p{^Is_Jg=-semkath}', "");
-Expect(1, 1826, '\P{Is_Jg=-semkath}', "");
-Expect(0, 1826, '\P{^Is_Jg=-semkath}', "");
-Error('\p{Joining_Group=:=Hah}');
-Error('\P{Joining_Group=:=Hah}');
-Expect(1, 1582, '\p{Joining_Group=hah}', "");
-Expect(0, 1582, '\p{^Joining_Group=hah}', "");
-Expect(0, 1582, '\P{Joining_Group=hah}', "");
-Expect(1, 1582, '\P{^Joining_Group=hah}', "");
-Expect(0, 1579, '\p{Joining_Group=hah}', "");
-Expect(1, 1579, '\p{^Joining_Group=hah}', "");
-Expect(1, 1579, '\P{Joining_Group=hah}', "");
-Expect(0, 1579, '\P{^Joining_Group=hah}', "");
-Expect(1, 1582, '\p{Joining_Group= hah}', "");
-Expect(0, 1582, '\p{^Joining_Group= hah}', "");
-Expect(0, 1582, '\P{Joining_Group= hah}', "");
-Expect(1, 1582, '\P{^Joining_Group= hah}', "");
-Expect(0, 1579, '\p{Joining_Group= hah}', "");
-Expect(1, 1579, '\p{^Joining_Group= hah}', "");
-Expect(1, 1579, '\P{Joining_Group= hah}', "");
-Expect(0, 1579, '\P{^Joining_Group= hah}', "");
-Error('\p{Jg=:= Hah}');
-Error('\P{Jg=:= Hah}');
-Expect(1, 1582, '\p{Jg=hah}', "");
-Expect(0, 1582, '\p{^Jg=hah}', "");
-Expect(0, 1582, '\P{Jg=hah}', "");
-Expect(1, 1582, '\P{^Jg=hah}', "");
-Expect(0, 1579, '\p{Jg=hah}', "");
-Expect(1, 1579, '\p{^Jg=hah}', "");
-Expect(1, 1579, '\P{Jg=hah}', "");
-Expect(0, 1579, '\P{^Jg=hah}', "");
-Expect(1, 1582, '\p{Jg=__Hah}', "");
-Expect(0, 1582, '\p{^Jg=__Hah}', "");
-Expect(0, 1582, '\P{Jg=__Hah}', "");
-Expect(1, 1582, '\P{^Jg=__Hah}', "");
-Expect(0, 1579, '\p{Jg=__Hah}', "");
-Expect(1, 1579, '\p{^Jg=__Hah}', "");
-Expect(1, 1579, '\P{Jg=__Hah}', "");
-Expect(0, 1579, '\P{^Jg=__Hah}', "");
-Error('\p{Is_Joining_Group=_/a/HAH}');
-Error('\P{Is_Joining_Group=_/a/HAH}');
-Expect(1, 1582, '\p{Is_Joining_Group=hah}', "");
-Expect(0, 1582, '\p{^Is_Joining_Group=hah}', "");
-Expect(0, 1582, '\P{Is_Joining_Group=hah}', "");
-Expect(1, 1582, '\P{^Is_Joining_Group=hah}', "");
-Expect(0, 1579, '\p{Is_Joining_Group=hah}', "");
-Expect(1, 1579, '\p{^Is_Joining_Group=hah}', "");
-Expect(1, 1579, '\P{Is_Joining_Group=hah}', "");
-Expect(0, 1579, '\P{^Is_Joining_Group=hah}', "");
-Expect(1, 1582, '\p{Is_Joining_Group: _-Hah}', "");
-Expect(0, 1582, '\p{^Is_Joining_Group: _-Hah}', "");
-Expect(0, 1582, '\P{Is_Joining_Group: _-Hah}', "");
-Expect(1, 1582, '\P{^Is_Joining_Group: _-Hah}', "");
-Expect(0, 1579, '\p{Is_Joining_Group: _-Hah}', "");
-Expect(1, 1579, '\p{^Is_Joining_Group: _-Hah}', "");
-Expect(1, 1579, '\P{Is_Joining_Group: _-Hah}', "");
-Expect(0, 1579, '\P{^Is_Joining_Group: _-Hah}', "");
-Error('\p{Is_Jg= HAH/a/}');
-Error('\P{Is_Jg= HAH/a/}');
-Expect(1, 1582, '\p{Is_Jg=hah}', "");
-Expect(0, 1582, '\p{^Is_Jg=hah}', "");
-Expect(0, 1582, '\P{Is_Jg=hah}', "");
-Expect(1, 1582, '\P{^Is_Jg=hah}', "");
-Expect(0, 1579, '\p{Is_Jg=hah}', "");
-Expect(1, 1579, '\p{^Is_Jg=hah}', "");
-Expect(1, 1579, '\P{Is_Jg=hah}', "");
-Expect(0, 1579, '\P{^Is_Jg=hah}', "");
-Expect(1, 1582, '\p{Is_Jg=_HAH}', "");
-Expect(0, 1582, '\p{^Is_Jg=_HAH}', "");
-Expect(0, 1582, '\P{Is_Jg=_HAH}', "");
-Expect(1, 1582, '\P{^Is_Jg=_HAH}', "");
-Expect(0, 1579, '\p{Is_Jg=_HAH}', "");
-Expect(1, 1579, '\p{^Is_Jg=_HAH}', "");
-Expect(1, 1579, '\P{Is_Jg=_HAH}', "");
-Expect(0, 1579, '\P{^Is_Jg=_HAH}', "");
-Error('\p{Joining_Group=:= _syriac waw}');
-Error('\P{Joining_Group=:= _syriac waw}');
-Expect(1, 1816, '\p{Joining_Group=syriacwaw}', "");
-Expect(0, 1816, '\p{^Joining_Group=syriacwaw}', "");
-Expect(0, 1816, '\P{Joining_Group=syriacwaw}', "");
-Expect(1, 1816, '\P{^Joining_Group=syriacwaw}', "");
-Expect(0, 1815, '\p{Joining_Group=syriacwaw}', "");
-Expect(1, 1815, '\p{^Joining_Group=syriacwaw}', "");
-Expect(1, 1815, '\P{Joining_Group=syriacwaw}', "");
-Expect(0, 1815, '\P{^Joining_Group=syriacwaw}', "");
-Expect(1, 1816, '\p{Joining_Group=- Syriac Waw}', "");
-Expect(0, 1816, '\p{^Joining_Group=- Syriac Waw}', "");
-Expect(0, 1816, '\P{Joining_Group=- Syriac Waw}', "");
-Expect(1, 1816, '\P{^Joining_Group=- Syriac Waw}', "");
-Expect(0, 1815, '\p{Joining_Group=- Syriac Waw}', "");
-Expect(1, 1815, '\p{^Joining_Group=- Syriac Waw}', "");
-Expect(1, 1815, '\P{Joining_Group=- Syriac Waw}', "");
-Expect(0, 1815, '\P{^Joining_Group=- Syriac Waw}', "");
-Error('\p{Jg=-/a/Syriac waw}');
-Error('\P{Jg=-/a/Syriac waw}');
-Expect(1, 1816, '\p{Jg=syriacwaw}', "");
-Expect(0, 1816, '\p{^Jg=syriacwaw}', "");
-Expect(0, 1816, '\P{Jg=syriacwaw}', "");
-Expect(1, 1816, '\P{^Jg=syriacwaw}', "");
-Expect(0, 1815, '\p{Jg=syriacwaw}', "");
-Expect(1, 1815, '\p{^Jg=syriacwaw}', "");
-Expect(1, 1815, '\P{Jg=syriacwaw}', "");
-Expect(0, 1815, '\P{^Jg=syriacwaw}', "");
-Expect(1, 1816, '\p{Jg=_ syriac-WAW}', "");
-Expect(0, 1816, '\p{^Jg=_ syriac-WAW}', "");
-Expect(0, 1816, '\P{Jg=_ syriac-WAW}', "");
-Expect(1, 1816, '\P{^Jg=_ syriac-WAW}', "");
-Expect(0, 1815, '\p{Jg=_ syriac-WAW}', "");
-Expect(1, 1815, '\p{^Jg=_ syriac-WAW}', "");
-Expect(1, 1815, '\P{Jg=_ syriac-WAW}', "");
-Expect(0, 1815, '\P{^Jg=_ syriac-WAW}', "");
-Error('\p{Is_Joining_Group=-/a/syriac-WAW}');
-Error('\P{Is_Joining_Group=-/a/syriac-WAW}');
-Expect(1, 1816, '\p{Is_Joining_Group: syriacwaw}', "");
-Expect(0, 1816, '\p{^Is_Joining_Group: syriacwaw}', "");
-Expect(0, 1816, '\P{Is_Joining_Group: syriacwaw}', "");
-Expect(1, 1816, '\P{^Is_Joining_Group: syriacwaw}', "");
-Expect(0, 1815, '\p{Is_Joining_Group: syriacwaw}', "");
-Expect(1, 1815, '\p{^Is_Joining_Group: syriacwaw}', "");
-Expect(1, 1815, '\P{Is_Joining_Group: syriacwaw}', "");
-Expect(0, 1815, '\P{^Is_Joining_Group: syriacwaw}', "");
-Expect(1, 1816, '\p{Is_Joining_Group=--SYRIAC waw}', "");
-Expect(0, 1816, '\p{^Is_Joining_Group=--SYRIAC waw}', "");
-Expect(0, 1816, '\P{Is_Joining_Group=--SYRIAC waw}', "");
-Expect(1, 1816, '\P{^Is_Joining_Group=--SYRIAC waw}', "");
-Expect(0, 1815, '\p{Is_Joining_Group=--SYRIAC waw}', "");
-Expect(1, 1815, '\p{^Is_Joining_Group=--SYRIAC waw}', "");
-Expect(1, 1815, '\P{Is_Joining_Group=--SYRIAC waw}', "");
-Expect(0, 1815, '\P{^Is_Joining_Group=--SYRIAC waw}', "");
-Error('\p{Is_Jg=:=-syriacWaw}');
-Error('\P{Is_Jg=:=-syriacWaw}');
-Expect(1, 1816, '\p{Is_Jg=syriacwaw}', "");
-Expect(0, 1816, '\p{^Is_Jg=syriacwaw}', "");
-Expect(0, 1816, '\P{Is_Jg=syriacwaw}', "");
-Expect(1, 1816, '\P{^Is_Jg=syriacwaw}', "");
-Expect(0, 1815, '\p{Is_Jg=syriacwaw}', "");
-Expect(1, 1815, '\p{^Is_Jg=syriacwaw}', "");
-Expect(1, 1815, '\P{Is_Jg=syriacwaw}', "");
-Expect(0, 1815, '\P{^Is_Jg=syriacwaw}', "");
-Expect(1, 1816, '\p{Is_Jg=-syriac_waw}', "");
-Expect(0, 1816, '\p{^Is_Jg=-syriac_waw}', "");
-Expect(0, 1816, '\P{Is_Jg=-syriac_waw}', "");
-Expect(1, 1816, '\P{^Is_Jg=-syriac_waw}', "");
-Expect(0, 1815, '\p{Is_Jg=-syriac_waw}', "");
-Expect(1, 1815, '\p{^Is_Jg=-syriac_waw}', "");
-Expect(1, 1815, '\P{Is_Jg=-syriac_waw}', "");
-Expect(0, 1815, '\P{^Is_Jg=-syriac_waw}', "");
-Error('\p{Joining_Group= :=Taw}');
-Error('\P{Joining_Group= :=Taw}');
-Expect(1, 1836, '\p{Joining_Group=taw}', "");
-Expect(0, 1836, '\p{^Joining_Group=taw}', "");
-Expect(0, 1836, '\P{Joining_Group=taw}', "");
-Expect(1, 1836, '\P{^Joining_Group=taw}', "");
-Expect(0, 1835, '\p{Joining_Group=taw}', "");
-Expect(1, 1835, '\p{^Joining_Group=taw}', "");
-Expect(1, 1835, '\P{Joining_Group=taw}', "");
-Expect(0, 1835, '\P{^Joining_Group=taw}', "");
-Expect(1, 1836, '\p{Joining_Group= _Taw}', "");
-Expect(0, 1836, '\p{^Joining_Group= _Taw}', "");
-Expect(0, 1836, '\P{Joining_Group= _Taw}', "");
-Expect(1, 1836, '\P{^Joining_Group= _Taw}', "");
-Expect(0, 1835, '\p{Joining_Group= _Taw}', "");
-Expect(1, 1835, '\p{^Joining_Group= _Taw}', "");
-Expect(1, 1835, '\P{Joining_Group= _Taw}', "");
-Expect(0, 1835, '\P{^Joining_Group= _Taw}', "");
-Error('\p{Jg=_:=Taw}');
-Error('\P{Jg=_:=Taw}');
-Expect(1, 1836, '\p{Jg=taw}', "");
-Expect(0, 1836, '\p{^Jg=taw}', "");
-Expect(0, 1836, '\P{Jg=taw}', "");
-Expect(1, 1836, '\P{^Jg=taw}', "");
-Expect(0, 1835, '\p{Jg=taw}', "");
-Expect(1, 1835, '\p{^Jg=taw}', "");
-Expect(1, 1835, '\P{Jg=taw}', "");
-Expect(0, 1835, '\P{^Jg=taw}', "");
-Expect(1, 1836, '\p{Jg= taw}', "");
-Expect(0, 1836, '\p{^Jg= taw}', "");
-Expect(0, 1836, '\P{Jg= taw}', "");
-Expect(1, 1836, '\P{^Jg= taw}', "");
-Expect(0, 1835, '\p{Jg= taw}', "");
-Expect(1, 1835, '\p{^Jg= taw}', "");
-Expect(1, 1835, '\P{Jg= taw}', "");
-Expect(0, 1835, '\P{^Jg= taw}', "");
-Error('\p{Is_Joining_Group= /a/Taw}');
-Error('\P{Is_Joining_Group= /a/Taw}');
-Expect(1, 1836, '\p{Is_Joining_Group=taw}', "");
-Expect(0, 1836, '\p{^Is_Joining_Group=taw}', "");
-Expect(0, 1836, '\P{Is_Joining_Group=taw}', "");
-Expect(1, 1836, '\P{^Is_Joining_Group=taw}', "");
-Expect(0, 1835, '\p{Is_Joining_Group=taw}', "");
-Expect(1, 1835, '\p{^Is_Joining_Group=taw}', "");
-Expect(1, 1835, '\P{Is_Joining_Group=taw}', "");
-Expect(0, 1835, '\P{^Is_Joining_Group=taw}', "");
-Expect(1, 1836, '\p{Is_Joining_Group= Taw}', "");
-Expect(0, 1836, '\p{^Is_Joining_Group= Taw}', "");
-Expect(0, 1836, '\P{Is_Joining_Group= Taw}', "");
-Expect(1, 1836, '\P{^Is_Joining_Group= Taw}', "");
-Expect(0, 1835, '\p{Is_Joining_Group= Taw}', "");
-Expect(1, 1835, '\p{^Is_Joining_Group= Taw}', "");
-Expect(1, 1835, '\P{Is_Joining_Group= Taw}', "");
-Expect(0, 1835, '\P{^Is_Joining_Group= Taw}', "");
-Error('\p{Is_Jg= TAW:=}');
-Error('\P{Is_Jg= TAW:=}');
-Expect(1, 1836, '\p{Is_Jg=taw}', "");
-Expect(0, 1836, '\p{^Is_Jg=taw}', "");
-Expect(0, 1836, '\P{Is_Jg=taw}', "");
-Expect(1, 1836, '\P{^Is_Jg=taw}', "");
-Expect(0, 1835, '\p{Is_Jg=taw}', "");
-Expect(1, 1835, '\p{^Is_Jg=taw}', "");
-Expect(1, 1835, '\P{Is_Jg=taw}', "");
-Expect(0, 1835, '\P{^Is_Jg=taw}', "");
-Expect(1, 1836, '\p{Is_Jg=- taw}', "");
-Expect(0, 1836, '\p{^Is_Jg=- taw}', "");
-Expect(0, 1836, '\P{Is_Jg=- taw}', "");
-Expect(1, 1836, '\P{^Is_Jg=- taw}', "");
-Expect(0, 1835, '\p{Is_Jg=- taw}', "");
-Expect(1, 1835, '\p{^Is_Jg=- taw}', "");
-Expect(1, 1835, '\P{Is_Jg=- taw}', "");
-Expect(0, 1835, '\P{^Is_Jg=- taw}', "");
-Error('\p{Joining_Group=/a/Final-SEMKATH}');
-Error('\P{Joining_Group=/a/Final-SEMKATH}');
-Expect(1, 1828, '\p{Joining_Group=finalsemkath}', "");
-Expect(0, 1828, '\p{^Joining_Group=finalsemkath}', "");
-Expect(0, 1828, '\P{Joining_Group=finalsemkath}', "");
-Expect(1, 1828, '\P{^Joining_Group=finalsemkath}', "");
-Expect(0, 1827, '\p{Joining_Group=finalsemkath}', "");
-Expect(1, 1827, '\p{^Joining_Group=finalsemkath}', "");
-Expect(1, 1827, '\P{Joining_Group=finalsemkath}', "");
-Expect(0, 1827, '\P{^Joining_Group=finalsemkath}', "");
-Expect(1, 1828, '\p{Joining_Group= Final-Semkath}', "");
-Expect(0, 1828, '\p{^Joining_Group= Final-Semkath}', "");
-Expect(0, 1828, '\P{Joining_Group= Final-Semkath}', "");
-Expect(1, 1828, '\P{^Joining_Group= Final-Semkath}', "");
-Expect(0, 1827, '\p{Joining_Group= Final-Semkath}', "");
-Expect(1, 1827, '\p{^Joining_Group= Final-Semkath}', "");
-Expect(1, 1827, '\P{Joining_Group= Final-Semkath}', "");
-Expect(0, 1827, '\P{^Joining_Group= Final-Semkath}', "");
-Error('\p{Jg=-Final Semkath:=}');
-Error('\P{Jg=-Final Semkath:=}');
-Expect(1, 1828, '\p{Jg: finalsemkath}', "");
-Expect(0, 1828, '\p{^Jg: finalsemkath}', "");
-Expect(0, 1828, '\P{Jg: finalsemkath}', "");
-Expect(1, 1828, '\P{^Jg: finalsemkath}', "");
-Expect(0, 1827, '\p{Jg: finalsemkath}', "");
-Expect(1, 1827, '\p{^Jg: finalsemkath}', "");
-Expect(1, 1827, '\P{Jg: finalsemkath}', "");
-Expect(0, 1827, '\P{^Jg: finalsemkath}', "");
-Expect(1, 1828, '\p{Jg= final semkath}', "");
-Expect(0, 1828, '\p{^Jg= final semkath}', "");
-Expect(0, 1828, '\P{Jg= final semkath}', "");
-Expect(1, 1828, '\P{^Jg= final semkath}', "");
-Expect(0, 1827, '\p{Jg= final semkath}', "");
-Expect(1, 1827, '\p{^Jg= final semkath}', "");
-Expect(1, 1827, '\P{Jg= final semkath}', "");
-Expect(0, 1827, '\P{^Jg= final semkath}', "");
-Error('\p{Is_Joining_Group:__FINALsemkath:=}');
-Error('\P{Is_Joining_Group:__FINALsemkath:=}');
-Expect(1, 1828, '\p{Is_Joining_Group=finalsemkath}', "");
-Expect(0, 1828, '\p{^Is_Joining_Group=finalsemkath}', "");
-Expect(0, 1828, '\P{Is_Joining_Group=finalsemkath}', "");
-Expect(1, 1828, '\P{^Is_Joining_Group=finalsemkath}', "");
-Expect(0, 1827, '\p{Is_Joining_Group=finalsemkath}', "");
-Expect(1, 1827, '\p{^Is_Joining_Group=finalsemkath}', "");
-Expect(1, 1827, '\P{Is_Joining_Group=finalsemkath}', "");
-Expect(0, 1827, '\P{^Is_Joining_Group=finalsemkath}', "");
-Expect(1, 1828, '\p{Is_Joining_Group=- FinalSemkath}', "");
-Expect(0, 1828, '\p{^Is_Joining_Group=- FinalSemkath}', "");
-Expect(0, 1828, '\P{Is_Joining_Group=- FinalSemkath}', "");
-Expect(1, 1828, '\P{^Is_Joining_Group=- FinalSemkath}', "");
-Expect(0, 1827, '\p{Is_Joining_Group=- FinalSemkath}', "");
-Expect(1, 1827, '\p{^Is_Joining_Group=- FinalSemkath}', "");
-Expect(1, 1827, '\P{Is_Joining_Group=- FinalSemkath}', "");
-Expect(0, 1827, '\P{^Is_Joining_Group=- FinalSemkath}', "");
-Error('\p{Is_Jg=:= final-SEMKATH}');
-Error('\P{Is_Jg=:= final-SEMKATH}');
-Expect(1, 1828, '\p{Is_Jg=finalsemkath}', "");
-Expect(0, 1828, '\p{^Is_Jg=finalsemkath}', "");
-Expect(0, 1828, '\P{Is_Jg=finalsemkath}', "");
-Expect(1, 1828, '\P{^Is_Jg=finalsemkath}', "");
-Expect(0, 1827, '\p{Is_Jg=finalsemkath}', "");
-Expect(1, 1827, '\p{^Is_Jg=finalsemkath}', "");
-Expect(1, 1827, '\P{Is_Jg=finalsemkath}', "");
-Expect(0, 1827, '\P{^Is_Jg=finalsemkath}', "");
-Expect(1, 1828, '\p{Is_Jg: _-Final-SEMKATH}', "");
-Expect(0, 1828, '\p{^Is_Jg: _-Final-SEMKATH}', "");
-Expect(0, 1828, '\P{Is_Jg: _-Final-SEMKATH}', "");
-Expect(1, 1828, '\P{^Is_Jg: _-Final-SEMKATH}', "");
-Expect(0, 1827, '\p{Is_Jg: _-Final-SEMKATH}', "");
-Expect(1, 1827, '\p{^Is_Jg: _-Final-SEMKATH}', "");
-Expect(1, 1827, '\P{Is_Jg: _-Final-SEMKATH}', "");
-Expect(0, 1827, '\P{^Is_Jg: _-Final-SEMKATH}', "");
-Error('\p{Joining_Group=/a/ Knotted-HEH}');
-Error('\P{Joining_Group=/a/ Knotted-HEH}');
-Expect(1, 1726, '\p{Joining_Group=knottedheh}', "");
-Expect(0, 1726, '\p{^Joining_Group=knottedheh}', "");
-Expect(0, 1726, '\P{Joining_Group=knottedheh}', "");
-Expect(1, 1726, '\P{^Joining_Group=knottedheh}', "");
-Expect(0, 1725, '\p{Joining_Group=knottedheh}', "");
-Expect(1, 1725, '\p{^Joining_Group=knottedheh}', "");
-Expect(1, 1725, '\P{Joining_Group=knottedheh}', "");
-Expect(0, 1725, '\P{^Joining_Group=knottedheh}', "");
-Expect(1, 1726, '\p{Joining_Group= Knotted Heh}', "");
-Expect(0, 1726, '\p{^Joining_Group= Knotted Heh}', "");
-Expect(0, 1726, '\P{Joining_Group= Knotted Heh}', "");
-Expect(1, 1726, '\P{^Joining_Group= Knotted Heh}', "");
-Expect(0, 1725, '\p{Joining_Group= Knotted Heh}', "");
-Expect(1, 1725, '\p{^Joining_Group= Knotted Heh}', "");
-Expect(1, 1725, '\P{Joining_Group= Knotted Heh}', "");
-Expect(0, 1725, '\P{^Joining_Group= Knotted Heh}', "");
-Error('\p{Jg=/a/ knotted-heh}');
-Error('\P{Jg=/a/ knotted-heh}');
-Expect(1, 1726, '\p{Jg=knottedheh}', "");
-Expect(0, 1726, '\p{^Jg=knottedheh}', "");
-Expect(0, 1726, '\P{Jg=knottedheh}', "");
-Expect(1, 1726, '\P{^Jg=knottedheh}', "");
-Expect(0, 1725, '\p{Jg=knottedheh}', "");
-Expect(1, 1725, '\p{^Jg=knottedheh}', "");
-Expect(1, 1725, '\P{Jg=knottedheh}', "");
-Expect(0, 1725, '\P{^Jg=knottedheh}', "");
-Expect(1, 1726, '\p{Jg=-_Knotted-heh}', "");
-Expect(0, 1726, '\p{^Jg=-_Knotted-heh}', "");
-Expect(0, 1726, '\P{Jg=-_Knotted-heh}', "");
-Expect(1, 1726, '\P{^Jg=-_Knotted-heh}', "");
-Expect(0, 1725, '\p{Jg=-_Knotted-heh}', "");
-Expect(1, 1725, '\p{^Jg=-_Knotted-heh}', "");
-Expect(1, 1725, '\P{Jg=-_Knotted-heh}', "");
-Expect(0, 1725, '\P{^Jg=-_Knotted-heh}', "");
-Error('\p{Is_Joining_Group=KNOTTED-Heh/a/}');
-Error('\P{Is_Joining_Group=KNOTTED-Heh/a/}');
-Expect(1, 1726, '\p{Is_Joining_Group=knottedheh}', "");
-Expect(0, 1726, '\p{^Is_Joining_Group=knottedheh}', "");
-Expect(0, 1726, '\P{Is_Joining_Group=knottedheh}', "");
-Expect(1, 1726, '\P{^Is_Joining_Group=knottedheh}', "");
-Expect(0, 1725, '\p{Is_Joining_Group=knottedheh}', "");
-Expect(1, 1725, '\p{^Is_Joining_Group=knottedheh}', "");
-Expect(1, 1725, '\P{Is_Joining_Group=knottedheh}', "");
-Expect(0, 1725, '\P{^Is_Joining_Group=knottedheh}', "");
-Expect(1, 1726, '\p{Is_Joining_Group= Knotted Heh}', "");
-Expect(0, 1726, '\p{^Is_Joining_Group= Knotted Heh}', "");
-Expect(0, 1726, '\P{Is_Joining_Group= Knotted Heh}', "");
-Expect(1, 1726, '\P{^Is_Joining_Group= Knotted Heh}', "");
-Expect(0, 1725, '\p{Is_Joining_Group= Knotted Heh}', "");
-Expect(1, 1725, '\p{^Is_Joining_Group= Knotted Heh}', "");
-Expect(1, 1725, '\P{Is_Joining_Group= Knotted Heh}', "");
-Expect(0, 1725, '\P{^Is_Joining_Group= Knotted Heh}', "");
-Error('\p{Is_Jg: KNOTTED/a/Heh}');
-Error('\P{Is_Jg: KNOTTED/a/Heh}');
-Expect(1, 1726, '\p{Is_Jg=knottedheh}', "");
-Expect(0, 1726, '\p{^Is_Jg=knottedheh}', "");
-Expect(0, 1726, '\P{Is_Jg=knottedheh}', "");
-Expect(1, 1726, '\P{^Is_Jg=knottedheh}', "");
-Expect(0, 1725, '\p{Is_Jg=knottedheh}', "");
-Expect(1, 1725, '\p{^Is_Jg=knottedheh}', "");
-Expect(1, 1725, '\P{Is_Jg=knottedheh}', "");
-Expect(0, 1725, '\P{^Is_Jg=knottedheh}', "");
-Expect(1, 1726, '\p{Is_Jg=-knotted Heh}', "");
-Expect(0, 1726, '\p{^Is_Jg=-knotted Heh}', "");
-Expect(0, 1726, '\P{Is_Jg=-knotted Heh}', "");
-Expect(1, 1726, '\P{^Is_Jg=-knotted Heh}', "");
-Expect(0, 1725, '\p{Is_Jg=-knotted Heh}', "");
-Expect(1, 1725, '\p{^Is_Jg=-knotted Heh}', "");
-Expect(1, 1725, '\P{Is_Jg=-knotted Heh}', "");
-Expect(0, 1725, '\P{^Is_Jg=-knotted Heh}', "");
-Error('\p{Joining_Group= -Kaf/a/}');
-Error('\P{Joining_Group= -Kaf/a/}');
-Expect(1, 1603, '\p{Joining_Group:kaf}', "");
-Expect(0, 1603, '\p{^Joining_Group:kaf}', "");
-Expect(0, 1603, '\P{Joining_Group:kaf}', "");
-Expect(1, 1603, '\P{^Joining_Group:kaf}', "");
-Expect(0, 1602, '\p{Joining_Group:kaf}', "");
-Expect(1, 1602, '\p{^Joining_Group:kaf}', "");
-Expect(1, 1602, '\P{Joining_Group:kaf}', "");
-Expect(0, 1602, '\P{^Joining_Group:kaf}', "");
-Expect(1, 1603, '\p{Joining_Group=-_KAF}', "");
-Expect(0, 1603, '\p{^Joining_Group=-_KAF}', "");
-Expect(0, 1603, '\P{Joining_Group=-_KAF}', "");
-Expect(1, 1603, '\P{^Joining_Group=-_KAF}', "");
-Expect(0, 1602, '\p{Joining_Group=-_KAF}', "");
-Expect(1, 1602, '\p{^Joining_Group=-_KAF}', "");
-Expect(1, 1602, '\P{Joining_Group=-_KAF}', "");
-Expect(0, 1602, '\P{^Joining_Group=-_KAF}', "");
-Error('\p{Jg=/a/-KAF}');
-Error('\P{Jg=/a/-KAF}');
-Expect(1, 1603, '\p{Jg=kaf}', "");
-Expect(0, 1603, '\p{^Jg=kaf}', "");
-Expect(0, 1603, '\P{Jg=kaf}', "");
-Expect(1, 1603, '\P{^Jg=kaf}', "");
-Expect(0, 1602, '\p{Jg=kaf}', "");
-Expect(1, 1602, '\p{^Jg=kaf}', "");
-Expect(1, 1602, '\P{Jg=kaf}', "");
-Expect(0, 1602, '\P{^Jg=kaf}', "");
-Expect(1, 1603, '\p{Jg=_Kaf}', "");
-Expect(0, 1603, '\p{^Jg=_Kaf}', "");
-Expect(0, 1603, '\P{Jg=_Kaf}', "");
-Expect(1, 1603, '\P{^Jg=_Kaf}', "");
-Expect(0, 1602, '\p{Jg=_Kaf}', "");
-Expect(1, 1602, '\p{^Jg=_Kaf}', "");
-Expect(1, 1602, '\P{Jg=_Kaf}', "");
-Expect(0, 1602, '\P{^Jg=_Kaf}', "");
-Error('\p{Is_Joining_Group: --KAF/a/}');
-Error('\P{Is_Joining_Group: --KAF/a/}');
-Expect(1, 1603, '\p{Is_Joining_Group=kaf}', "");
-Expect(0, 1603, '\p{^Is_Joining_Group=kaf}', "");
-Expect(0, 1603, '\P{Is_Joining_Group=kaf}', "");
-Expect(1, 1603, '\P{^Is_Joining_Group=kaf}', "");
-Expect(0, 1602, '\p{Is_Joining_Group=kaf}', "");
-Expect(1, 1602, '\p{^Is_Joining_Group=kaf}', "");
-Expect(1, 1602, '\P{Is_Joining_Group=kaf}', "");
-Expect(0, 1602, '\P{^Is_Joining_Group=kaf}', "");
-Expect(1, 1603, '\p{Is_Joining_Group: _KAF}', "");
-Expect(0, 1603, '\p{^Is_Joining_Group: _KAF}', "");
-Expect(0, 1603, '\P{Is_Joining_Group: _KAF}', "");
-Expect(1, 1603, '\P{^Is_Joining_Group: _KAF}', "");
-Expect(0, 1602, '\p{Is_Joining_Group: _KAF}', "");
-Expect(1, 1602, '\p{^Is_Joining_Group: _KAF}', "");
-Expect(1, 1602, '\P{Is_Joining_Group: _KAF}', "");
-Expect(0, 1602, '\P{^Is_Joining_Group: _KAF}', "");
-Error('\p{Is_Jg=/a/_ Kaf}');
-Error('\P{Is_Jg=/a/_ Kaf}');
-Expect(1, 1603, '\p{Is_Jg=kaf}', "");
-Expect(0, 1603, '\p{^Is_Jg=kaf}', "");
-Expect(0, 1603, '\P{Is_Jg=kaf}', "");
-Expect(1, 1603, '\P{^Is_Jg=kaf}', "");
-Expect(0, 1602, '\p{Is_Jg=kaf}', "");
-Expect(1, 1602, '\p{^Is_Jg=kaf}', "");
-Expect(1, 1602, '\P{Is_Jg=kaf}', "");
-Expect(0, 1602, '\P{^Is_Jg=kaf}', "");
-Expect(1, 1603, '\p{Is_Jg=_kaf}', "");
-Expect(0, 1603, '\p{^Is_Jg=_kaf}', "");
-Expect(0, 1603, '\P{Is_Jg=_kaf}', "");
-Expect(1, 1603, '\P{^Is_Jg=_kaf}', "");
-Expect(0, 1602, '\p{Is_Jg=_kaf}', "");
-Expect(1, 1602, '\p{^Is_Jg=_kaf}', "");
-Expect(1, 1602, '\P{Is_Jg=_kaf}', "");
-Expect(0, 1602, '\P{^Is_Jg=_kaf}', "");
-Error('\p{Joining_Group=/a/ -Fe}');
-Error('\P{Joining_Group=/a/ -Fe}');
-Expect(1, 1871, '\p{Joining_Group=fe}', "");
-Expect(0, 1871, '\p{^Joining_Group=fe}', "");
-Expect(0, 1871, '\P{Joining_Group=fe}', "");
-Expect(1, 1871, '\P{^Joining_Group=fe}', "");
-Expect(0, 1870, '\p{Joining_Group=fe}', "");
-Expect(1, 1870, '\p{^Joining_Group=fe}', "");
-Expect(1, 1870, '\P{Joining_Group=fe}', "");
-Expect(0, 1870, '\P{^Joining_Group=fe}', "");
-Expect(1, 1871, '\p{Joining_Group= fe}', "");
-Expect(0, 1871, '\p{^Joining_Group= fe}', "");
-Expect(0, 1871, '\P{Joining_Group= fe}', "");
-Expect(1, 1871, '\P{^Joining_Group= fe}', "");
-Expect(0, 1870, '\p{Joining_Group= fe}', "");
-Expect(1, 1870, '\p{^Joining_Group= fe}', "");
-Expect(1, 1870, '\P{Joining_Group= fe}', "");
-Expect(0, 1870, '\P{^Joining_Group= fe}', "");
-Error('\p{Jg=-fe:=}');
-Error('\P{Jg=-fe:=}');
-Expect(1, 1871, '\p{Jg=fe}', "");
-Expect(0, 1871, '\p{^Jg=fe}', "");
-Expect(0, 1871, '\P{Jg=fe}', "");
-Expect(1, 1871, '\P{^Jg=fe}', "");
-Expect(0, 1870, '\p{Jg=fe}', "");
-Expect(1, 1870, '\p{^Jg=fe}', "");
-Expect(1, 1870, '\P{Jg=fe}', "");
-Expect(0, 1870, '\P{^Jg=fe}', "");
-Expect(1, 1871, '\p{Jg=_-Fe}', "");
-Expect(0, 1871, '\p{^Jg=_-Fe}', "");
-Expect(0, 1871, '\P{Jg=_-Fe}', "");
-Expect(1, 1871, '\P{^Jg=_-Fe}', "");
-Expect(0, 1870, '\p{Jg=_-Fe}', "");
-Expect(1, 1870, '\p{^Jg=_-Fe}', "");
-Expect(1, 1870, '\P{Jg=_-Fe}', "");
-Expect(0, 1870, '\P{^Jg=_-Fe}', "");
-Error('\p{Is_Joining_Group=/a/-Fe}');
-Error('\P{Is_Joining_Group=/a/-Fe}');
-Expect(1, 1871, '\p{Is_Joining_Group: fe}', "");
-Expect(0, 1871, '\p{^Is_Joining_Group: fe}', "");
-Expect(0, 1871, '\P{Is_Joining_Group: fe}', "");
-Expect(1, 1871, '\P{^Is_Joining_Group: fe}', "");
-Expect(0, 1870, '\p{Is_Joining_Group: fe}', "");
-Expect(1, 1870, '\p{^Is_Joining_Group: fe}', "");
-Expect(1, 1870, '\P{Is_Joining_Group: fe}', "");
-Expect(0, 1870, '\P{^Is_Joining_Group: fe}', "");
-Expect(1, 1871, '\p{Is_Joining_Group=--Fe}', "");
-Expect(0, 1871, '\p{^Is_Joining_Group=--Fe}', "");
-Expect(0, 1871, '\P{Is_Joining_Group=--Fe}', "");
-Expect(1, 1871, '\P{^Is_Joining_Group=--Fe}', "");
-Expect(0, 1870, '\p{Is_Joining_Group=--Fe}', "");
-Expect(1, 1870, '\p{^Is_Joining_Group=--Fe}', "");
-Expect(1, 1870, '\P{Is_Joining_Group=--Fe}', "");
-Expect(0, 1870, '\P{^Is_Joining_Group=--Fe}', "");
-Error('\p{Is_Jg=__Fe/a/}');
-Error('\P{Is_Jg=__Fe/a/}');
-Expect(1, 1871, '\p{Is_Jg=fe}', "");
-Expect(0, 1871, '\p{^Is_Jg=fe}', "");
-Expect(0, 1871, '\P{Is_Jg=fe}', "");
-Expect(1, 1871, '\P{^Is_Jg=fe}', "");
-Expect(0, 1870, '\p{Is_Jg=fe}', "");
-Expect(1, 1870, '\p{^Is_Jg=fe}', "");
-Expect(1, 1870, '\P{Is_Jg=fe}', "");
-Expect(0, 1870, '\P{^Is_Jg=fe}', "");
-Expect(1, 1871, '\p{Is_Jg: Fe}', "");
-Expect(0, 1871, '\p{^Is_Jg: Fe}', "");
-Expect(0, 1871, '\P{Is_Jg: Fe}', "");
-Expect(1, 1871, '\P{^Is_Jg: Fe}', "");
-Expect(0, 1870, '\p{Is_Jg: Fe}', "");
-Expect(1, 1870, '\p{^Is_Jg: Fe}', "");
-Expect(1, 1870, '\P{Is_Jg: Fe}', "");
-Expect(0, 1870, '\P{^Is_Jg: Fe}', "");
-Error('\p{Joining_Group=/a/ Alaph}');
-Error('\P{Joining_Group=/a/ Alaph}');
-Expect(1, 1808, '\p{Joining_Group=alaph}', "");
-Expect(0, 1808, '\p{^Joining_Group=alaph}', "");
-Expect(0, 1808, '\P{Joining_Group=alaph}', "");
-Expect(1, 1808, '\P{^Joining_Group=alaph}', "");
-Expect(0, 1807, '\p{Joining_Group=alaph}', "");
-Expect(1, 1807, '\p{^Joining_Group=alaph}', "");
-Expect(1, 1807, '\P{Joining_Group=alaph}', "");
-Expect(0, 1807, '\P{^Joining_Group=alaph}', "");
-Expect(1, 1808, '\p{Joining_Group= alaph}', "");
-Expect(0, 1808, '\p{^Joining_Group= alaph}', "");
-Expect(0, 1808, '\P{Joining_Group= alaph}', "");
-Expect(1, 1808, '\P{^Joining_Group= alaph}', "");
-Expect(0, 1807, '\p{Joining_Group= alaph}', "");
-Expect(1, 1807, '\p{^Joining_Group= alaph}', "");
-Expect(1, 1807, '\P{Joining_Group= alaph}', "");
-Expect(0, 1807, '\P{^Joining_Group= alaph}', "");
-Error('\p{Jg=/a/Alaph}');
-Error('\P{Jg=/a/Alaph}');
-Expect(1, 1808, '\p{Jg=alaph}', "");
-Expect(0, 1808, '\p{^Jg=alaph}', "");
-Expect(0, 1808, '\P{Jg=alaph}', "");
-Expect(1, 1808, '\P{^Jg=alaph}', "");
-Expect(0, 1807, '\p{Jg=alaph}', "");
-Expect(1, 1807, '\p{^Jg=alaph}', "");
-Expect(1, 1807, '\P{Jg=alaph}', "");
-Expect(0, 1807, '\P{^Jg=alaph}', "");
-Expect(1, 1808, '\p{Jg=- Alaph}', "");
-Expect(0, 1808, '\p{^Jg=- Alaph}', "");
-Expect(0, 1808, '\P{Jg=- Alaph}', "");
-Expect(1, 1808, '\P{^Jg=- Alaph}', "");
-Expect(0, 1807, '\p{Jg=- Alaph}', "");
-Expect(1, 1807, '\p{^Jg=- Alaph}', "");
-Expect(1, 1807, '\P{Jg=- Alaph}', "");
-Expect(0, 1807, '\P{^Jg=- Alaph}', "");
-Error('\p{Is_Joining_Group=--ALAPH/a/}');
-Error('\P{Is_Joining_Group=--ALAPH/a/}');
-Expect(1, 1808, '\p{Is_Joining_Group=alaph}', "");
-Expect(0, 1808, '\p{^Is_Joining_Group=alaph}', "");
-Expect(0, 1808, '\P{Is_Joining_Group=alaph}', "");
-Expect(1, 1808, '\P{^Is_Joining_Group=alaph}', "");
-Expect(0, 1807, '\p{Is_Joining_Group=alaph}', "");
-Expect(1, 1807, '\p{^Is_Joining_Group=alaph}', "");
-Expect(1, 1807, '\P{Is_Joining_Group=alaph}', "");
-Expect(0, 1807, '\P{^Is_Joining_Group=alaph}', "");
-Expect(1, 1808, '\p{Is_Joining_Group=_-alaph}', "");
-Expect(0, 1808, '\p{^Is_Joining_Group=_-alaph}', "");
-Expect(0, 1808, '\P{Is_Joining_Group=_-alaph}', "");
-Expect(1, 1808, '\P{^Is_Joining_Group=_-alaph}', "");
-Expect(0, 1807, '\p{Is_Joining_Group=_-alaph}', "");
-Expect(1, 1807, '\p{^Is_Joining_Group=_-alaph}', "");
-Expect(1, 1807, '\P{Is_Joining_Group=_-alaph}', "");
-Expect(0, 1807, '\P{^Is_Joining_Group=_-alaph}', "");
-Error('\p{Is_Jg= Alaph/a/}');
-Error('\P{Is_Jg= Alaph/a/}');
-Expect(1, 1808, '\p{Is_Jg=alaph}', "");
-Expect(0, 1808, '\p{^Is_Jg=alaph}', "");
-Expect(0, 1808, '\P{Is_Jg=alaph}', "");
-Expect(1, 1808, '\P{^Is_Jg=alaph}', "");
-Expect(0, 1807, '\p{Is_Jg=alaph}', "");
-Expect(1, 1807, '\p{^Is_Jg=alaph}', "");
-Expect(1, 1807, '\P{Is_Jg=alaph}', "");
-Expect(0, 1807, '\P{^Is_Jg=alaph}', "");
-Expect(1, 1808, '\p{Is_Jg: _alaph}', "");
-Expect(0, 1808, '\p{^Is_Jg: _alaph}', "");
-Expect(0, 1808, '\P{Is_Jg: _alaph}', "");
-Expect(1, 1808, '\P{^Is_Jg: _alaph}', "");
-Expect(0, 1807, '\p{Is_Jg: _alaph}', "");
-Expect(1, 1807, '\p{^Is_Jg: _alaph}', "");
-Expect(1, 1807, '\P{Is_Jg: _alaph}', "");
-Expect(0, 1807, '\P{^Is_Jg: _alaph}', "");
-Error('\p{Joining_Group=/a/ Lamadh}');
-Error('\P{Joining_Group=/a/ Lamadh}');
-Expect(1, 1824, '\p{Joining_Group=lamadh}', "");
-Expect(0, 1824, '\p{^Joining_Group=lamadh}', "");
-Expect(0, 1824, '\P{Joining_Group=lamadh}', "");
-Expect(1, 1824, '\P{^Joining_Group=lamadh}', "");
-Expect(0, 1823, '\p{Joining_Group=lamadh}', "");
-Expect(1, 1823, '\p{^Joining_Group=lamadh}', "");
-Expect(1, 1823, '\P{Joining_Group=lamadh}', "");
-Expect(0, 1823, '\P{^Joining_Group=lamadh}', "");
-Expect(1, 1824, '\p{Joining_Group: -LAMADH}', "");
-Expect(0, 1824, '\p{^Joining_Group: -LAMADH}', "");
-Expect(0, 1824, '\P{Joining_Group: -LAMADH}', "");
-Expect(1, 1824, '\P{^Joining_Group: -LAMADH}', "");
-Expect(0, 1823, '\p{Joining_Group: -LAMADH}', "");
-Expect(1, 1823, '\p{^Joining_Group: -LAMADH}', "");
-Expect(1, 1823, '\P{Joining_Group: -LAMADH}', "");
-Expect(0, 1823, '\P{^Joining_Group: -LAMADH}', "");
-Error('\p{Jg=:=_lamadh}');
-Error('\P{Jg=:=_lamadh}');
-Expect(1, 1824, '\p{Jg=lamadh}', "");
-Expect(0, 1824, '\p{^Jg=lamadh}', "");
-Expect(0, 1824, '\P{Jg=lamadh}', "");
-Expect(1, 1824, '\P{^Jg=lamadh}', "");
-Expect(0, 1823, '\p{Jg=lamadh}', "");
-Expect(1, 1823, '\p{^Jg=lamadh}', "");
-Expect(1, 1823, '\P{Jg=lamadh}', "");
-Expect(0, 1823, '\P{^Jg=lamadh}', "");
-Expect(1, 1824, '\p{Jg=- lamadh}', "");
-Expect(0, 1824, '\p{^Jg=- lamadh}', "");
-Expect(0, 1824, '\P{Jg=- lamadh}', "");
-Expect(1, 1824, '\P{^Jg=- lamadh}', "");
-Expect(0, 1823, '\p{Jg=- lamadh}', "");
-Expect(1, 1823, '\p{^Jg=- lamadh}', "");
-Expect(1, 1823, '\P{Jg=- lamadh}', "");
-Expect(0, 1823, '\P{^Jg=- lamadh}', "");
-Error('\p{Is_Joining_Group= _Lamadh/a/}');
-Error('\P{Is_Joining_Group= _Lamadh/a/}');
-Expect(1, 1824, '\p{Is_Joining_Group=lamadh}', "");
-Expect(0, 1824, '\p{^Is_Joining_Group=lamadh}', "");
-Expect(0, 1824, '\P{Is_Joining_Group=lamadh}', "");
-Expect(1, 1824, '\P{^Is_Joining_Group=lamadh}', "");
-Expect(0, 1823, '\p{Is_Joining_Group=lamadh}', "");
-Expect(1, 1823, '\p{^Is_Joining_Group=lamadh}', "");
-Expect(1, 1823, '\P{Is_Joining_Group=lamadh}', "");
-Expect(0, 1823, '\P{^Is_Joining_Group=lamadh}', "");
-Expect(1, 1824, '\p{Is_Joining_Group=-_Lamadh}', "");
-Expect(0, 1824, '\p{^Is_Joining_Group=-_Lamadh}', "");
-Expect(0, 1824, '\P{Is_Joining_Group=-_Lamadh}', "");
-Expect(1, 1824, '\P{^Is_Joining_Group=-_Lamadh}', "");
-Expect(0, 1823, '\p{Is_Joining_Group=-_Lamadh}', "");
-Expect(1, 1823, '\p{^Is_Joining_Group=-_Lamadh}', "");
-Expect(1, 1823, '\P{Is_Joining_Group=-_Lamadh}', "");
-Expect(0, 1823, '\P{^Is_Joining_Group=-_Lamadh}', "");
-Error('\p{Is_Jg= _Lamadh:=}');
-Error('\P{Is_Jg= _Lamadh:=}');
-Expect(1, 1824, '\p{Is_Jg=lamadh}', "");
-Expect(0, 1824, '\p{^Is_Jg=lamadh}', "");
-Expect(0, 1824, '\P{Is_Jg=lamadh}', "");
-Expect(1, 1824, '\P{^Is_Jg=lamadh}', "");
-Expect(0, 1823, '\p{Is_Jg=lamadh}', "");
-Expect(1, 1823, '\p{^Is_Jg=lamadh}', "");
-Expect(1, 1823, '\P{Is_Jg=lamadh}', "");
-Expect(0, 1823, '\P{^Is_Jg=lamadh}', "");
-Expect(1, 1824, '\p{Is_Jg=_lamadh}', "");
-Expect(0, 1824, '\p{^Is_Jg=_lamadh}', "");
-Expect(0, 1824, '\P{Is_Jg=_lamadh}', "");
-Expect(1, 1824, '\P{^Is_Jg=_lamadh}', "");
-Expect(0, 1823, '\p{Is_Jg=_lamadh}', "");
-Expect(1, 1823, '\p{^Is_Jg=_lamadh}', "");
-Expect(1, 1823, '\P{Is_Jg=_lamadh}', "");
-Expect(0, 1823, '\P{^Is_Jg=_lamadh}', "");
-Error('\p{Joining_Group=/a/ E}');
-Error('\P{Joining_Group=/a/ E}');
-Expect(1, 1829, '\p{Joining_Group=e}', "");
-Expect(0, 1829, '\p{^Joining_Group=e}', "");
-Expect(0, 1829, '\P{Joining_Group=e}', "");
-Expect(1, 1829, '\P{^Joining_Group=e}', "");
-Expect(0, 1828, '\p{Joining_Group=e}', "");
-Expect(1, 1828, '\p{^Joining_Group=e}', "");
-Expect(1, 1828, '\P{Joining_Group=e}', "");
-Expect(0, 1828, '\P{^Joining_Group=e}', "");
-Expect(1, 1829, '\p{Joining_Group= E}', "");
-Expect(0, 1829, '\p{^Joining_Group= E}', "");
-Expect(0, 1829, '\P{Joining_Group= E}', "");
-Expect(1, 1829, '\P{^Joining_Group= E}', "");
-Expect(0, 1828, '\p{Joining_Group= E}', "");
-Expect(1, 1828, '\p{^Joining_Group= E}', "");
-Expect(1, 1828, '\P{Joining_Group= E}', "");
-Expect(0, 1828, '\P{^Joining_Group= E}', "");
-Error('\p{Jg=/a/ -E}');
-Error('\P{Jg=/a/ -E}');
-Expect(1, 1829, '\p{Jg=e}', "");
-Expect(0, 1829, '\p{^Jg=e}', "");
-Expect(0, 1829, '\P{Jg=e}', "");
-Expect(1, 1829, '\P{^Jg=e}', "");
-Expect(0, 1828, '\p{Jg=e}', "");
-Expect(1, 1828, '\p{^Jg=e}', "");
-Expect(1, 1828, '\P{Jg=e}', "");
-Expect(0, 1828, '\P{^Jg=e}', "");
-Expect(1, 1829, '\p{Jg= -E}', "");
-Expect(0, 1829, '\p{^Jg= -E}', "");
-Expect(0, 1829, '\P{Jg= -E}', "");
-Expect(1, 1829, '\P{^Jg= -E}', "");
-Expect(0, 1828, '\p{Jg= -E}', "");
-Expect(1, 1828, '\p{^Jg= -E}', "");
-Expect(1, 1828, '\P{Jg= -E}', "");
-Expect(0, 1828, '\P{^Jg= -E}', "");
-Error('\p{Is_Joining_Group: _e:=}');
-Error('\P{Is_Joining_Group: _e:=}');
-Expect(1, 1829, '\p{Is_Joining_Group=e}', "");
-Expect(0, 1829, '\p{^Is_Joining_Group=e}', "");
-Expect(0, 1829, '\P{Is_Joining_Group=e}', "");
-Expect(1, 1829, '\P{^Is_Joining_Group=e}', "");
-Expect(0, 1828, '\p{Is_Joining_Group=e}', "");
-Expect(1, 1828, '\p{^Is_Joining_Group=e}', "");
-Expect(1, 1828, '\P{Is_Joining_Group=e}', "");
-Expect(0, 1828, '\P{^Is_Joining_Group=e}', "");
-Expect(1, 1829, '\p{Is_Joining_Group=_-E}', "");
-Expect(0, 1829, '\p{^Is_Joining_Group=_-E}', "");
-Expect(0, 1829, '\P{Is_Joining_Group=_-E}', "");
-Expect(1, 1829, '\P{^Is_Joining_Group=_-E}', "");
-Expect(0, 1828, '\p{Is_Joining_Group=_-E}', "");
-Expect(1, 1828, '\p{^Is_Joining_Group=_-E}', "");
-Expect(1, 1828, '\P{Is_Joining_Group=_-E}', "");
-Expect(0, 1828, '\P{^Is_Joining_Group=_-E}', "");
-Error('\p{Is_Jg: := e}');
-Error('\P{Is_Jg: := e}');
-Expect(1, 1829, '\p{Is_Jg:e}', "");
-Expect(0, 1829, '\p{^Is_Jg:e}', "");
-Expect(0, 1829, '\P{Is_Jg:e}', "");
-Expect(1, 1829, '\P{^Is_Jg:e}', "");
-Expect(0, 1828, '\p{Is_Jg:e}', "");
-Expect(1, 1828, '\p{^Is_Jg:e}', "");
-Expect(1, 1828, '\P{Is_Jg:e}', "");
-Expect(0, 1828, '\P{^Is_Jg:e}', "");
-Expect(1, 1829, '\p{Is_Jg=-_e}', "");
-Expect(0, 1829, '\p{^Is_Jg=-_e}', "");
-Expect(0, 1829, '\P{Is_Jg=-_e}', "");
-Expect(1, 1829, '\P{^Is_Jg=-_e}', "");
-Expect(0, 1828, '\p{Is_Jg=-_e}', "");
-Expect(1, 1828, '\p{^Is_Jg=-_e}', "");
-Expect(1, 1828, '\P{Is_Jg=-_e}', "");
-Expect(0, 1828, '\P{^Is_Jg=-_e}', "");
-Error('\p{Joining_Group= Yeh BARREE:=}');
-Error('\P{Joining_Group= Yeh BARREE:=}');
-Expect(1, 1747, '\p{Joining_Group=yehbarree}', "");
-Expect(0, 1747, '\p{^Joining_Group=yehbarree}', "");
-Expect(0, 1747, '\P{Joining_Group=yehbarree}', "");
-Expect(1, 1747, '\P{^Joining_Group=yehbarree}', "");
-Expect(0, 1745, '\p{Joining_Group=yehbarree}', "");
-Expect(1, 1745, '\p{^Joining_Group=yehbarree}', "");
-Expect(1, 1745, '\P{Joining_Group=yehbarree}', "");
-Expect(0, 1745, '\P{^Joining_Group=yehbarree}', "");
-Expect(1, 1747, '\p{Joining_Group=_ Yeh barree}', "");
-Expect(0, 1747, '\p{^Joining_Group=_ Yeh barree}', "");
-Expect(0, 1747, '\P{Joining_Group=_ Yeh barree}', "");
-Expect(1, 1747, '\P{^Joining_Group=_ Yeh barree}', "");
-Expect(0, 1745, '\p{Joining_Group=_ Yeh barree}', "");
-Expect(1, 1745, '\p{^Joining_Group=_ Yeh barree}', "");
-Expect(1, 1745, '\P{Joining_Group=_ Yeh barree}', "");
-Expect(0, 1745, '\P{^Joining_Group=_ Yeh barree}', "");
-Error('\p{Jg=_/a/yeh Barree}');
-Error('\P{Jg=_/a/yeh Barree}');
-Expect(1, 1747, '\p{Jg=yehbarree}', "");
-Expect(0, 1747, '\p{^Jg=yehbarree}', "");
-Expect(0, 1747, '\P{Jg=yehbarree}', "");
-Expect(1, 1747, '\P{^Jg=yehbarree}', "");
-Expect(0, 1745, '\p{Jg=yehbarree}', "");
-Expect(1, 1745, '\p{^Jg=yehbarree}', "");
-Expect(1, 1745, '\P{Jg=yehbarree}', "");
-Expect(0, 1745, '\P{^Jg=yehbarree}', "");
-Expect(1, 1747, '\p{Jg= YEH barree}', "");
-Expect(0, 1747, '\p{^Jg= YEH barree}', "");
-Expect(0, 1747, '\P{Jg= YEH barree}', "");
-Expect(1, 1747, '\P{^Jg= YEH barree}', "");
-Expect(0, 1745, '\p{Jg= YEH barree}', "");
-Expect(1, 1745, '\p{^Jg= YEH barree}', "");
-Expect(1, 1745, '\P{Jg= YEH barree}', "");
-Expect(0, 1745, '\P{^Jg= YEH barree}', "");
-Error('\p{Is_Joining_Group=- Yeh_BARREE:=}');
-Error('\P{Is_Joining_Group=- Yeh_BARREE:=}');
-Expect(1, 1747, '\p{Is_Joining_Group=yehbarree}', "");
-Expect(0, 1747, '\p{^Is_Joining_Group=yehbarree}', "");
-Expect(0, 1747, '\P{Is_Joining_Group=yehbarree}', "");
-Expect(1, 1747, '\P{^Is_Joining_Group=yehbarree}', "");
-Expect(0, 1745, '\p{Is_Joining_Group=yehbarree}', "");
-Expect(1, 1745, '\p{^Is_Joining_Group=yehbarree}', "");
-Expect(1, 1745, '\P{Is_Joining_Group=yehbarree}', "");
-Expect(0, 1745, '\P{^Is_Joining_Group=yehbarree}', "");
-Expect(1, 1747, '\p{Is_Joining_Group=YEHBarree}', "");
-Expect(0, 1747, '\p{^Is_Joining_Group=YEHBarree}', "");
-Expect(0, 1747, '\P{Is_Joining_Group=YEHBarree}', "");
-Expect(1, 1747, '\P{^Is_Joining_Group=YEHBarree}', "");
-Expect(0, 1745, '\p{Is_Joining_Group=YEHBarree}', "");
-Expect(1, 1745, '\p{^Is_Joining_Group=YEHBarree}', "");
-Expect(1, 1745, '\P{Is_Joining_Group=YEHBarree}', "");
-Expect(0, 1745, '\P{^Is_Joining_Group=YEHBarree}', "");
-Error('\p{Is_Jg=/a/yeh Barree}');
-Error('\P{Is_Jg=/a/yeh Barree}');
-Expect(1, 1747, '\p{Is_Jg=yehbarree}', "");
-Expect(0, 1747, '\p{^Is_Jg=yehbarree}', "");
-Expect(0, 1747, '\P{Is_Jg=yehbarree}', "");
-Expect(1, 1747, '\P{^Is_Jg=yehbarree}', "");
-Expect(0, 1745, '\p{Is_Jg=yehbarree}', "");
-Expect(1, 1745, '\p{^Is_Jg=yehbarree}', "");
-Expect(1, 1745, '\P{Is_Jg=yehbarree}', "");
-Expect(0, 1745, '\P{^Is_Jg=yehbarree}', "");
-Expect(1, 1747, '\p{Is_Jg= Yeh Barree}', "");
-Expect(0, 1747, '\p{^Is_Jg= Yeh Barree}', "");
-Expect(0, 1747, '\P{Is_Jg= Yeh Barree}', "");
-Expect(1, 1747, '\P{^Is_Jg= Yeh Barree}', "");
-Expect(0, 1745, '\p{Is_Jg= Yeh Barree}', "");
-Expect(1, 1745, '\p{^Is_Jg= Yeh Barree}', "");
-Expect(1, 1745, '\P{Is_Jg= Yeh Barree}', "");
-Expect(0, 1745, '\P{^Is_Jg= Yeh Barree}', "");
-Error('\p{Joining_Group=/a/nya}');
-Error('\P{Joining_Group=/a/nya}');
-Expect(1, 1725, '\p{Joining_Group=nya}', "");
-Expect(0, 1725, '\p{^Joining_Group=nya}', "");
-Expect(0, 1725, '\P{Joining_Group=nya}', "");
-Expect(1, 1725, '\P{^Joining_Group=nya}', "");
-Expect(0, 1724, '\p{Joining_Group=nya}', "");
-Expect(1, 1724, '\p{^Joining_Group=nya}', "");
-Expect(1, 1724, '\P{Joining_Group=nya}', "");
-Expect(0, 1724, '\P{^Joining_Group=nya}', "");
-Expect(1, 1725, '\p{Joining_Group= nya}', "");
-Expect(0, 1725, '\p{^Joining_Group= nya}', "");
-Expect(0, 1725, '\P{Joining_Group= nya}', "");
-Expect(1, 1725, '\P{^Joining_Group= nya}', "");
-Expect(0, 1724, '\p{Joining_Group= nya}', "");
-Expect(1, 1724, '\p{^Joining_Group= nya}', "");
-Expect(1, 1724, '\P{Joining_Group= nya}', "");
-Expect(0, 1724, '\P{^Joining_Group= nya}', "");
-Error('\p{Jg=_-NYA:=}');
-Error('\P{Jg=_-NYA:=}');
-Expect(1, 1725, '\p{Jg=nya}', "");
-Expect(0, 1725, '\p{^Jg=nya}', "");
-Expect(0, 1725, '\P{Jg=nya}', "");
-Expect(1, 1725, '\P{^Jg=nya}', "");
-Expect(0, 1724, '\p{Jg=nya}', "");
-Expect(1, 1724, '\p{^Jg=nya}', "");
-Expect(1, 1724, '\P{Jg=nya}', "");
-Expect(0, 1724, '\P{^Jg=nya}', "");
-Expect(1, 1725, '\p{Jg= Nya}', "");
-Expect(0, 1725, '\p{^Jg= Nya}', "");
-Expect(0, 1725, '\P{Jg= Nya}', "");
-Expect(1, 1725, '\P{^Jg= Nya}', "");
-Expect(0, 1724, '\p{Jg= Nya}', "");
-Expect(1, 1724, '\p{^Jg= Nya}', "");
-Expect(1, 1724, '\P{Jg= Nya}', "");
-Expect(0, 1724, '\P{^Jg= Nya}', "");
-Error('\p{Is_Joining_Group= /a/Nya}');
-Error('\P{Is_Joining_Group= /a/Nya}');
-Expect(1, 1725, '\p{Is_Joining_Group: nya}', "");
-Expect(0, 1725, '\p{^Is_Joining_Group: nya}', "");
-Expect(0, 1725, '\P{Is_Joining_Group: nya}', "");
-Expect(1, 1725, '\P{^Is_Joining_Group: nya}', "");
-Expect(0, 1724, '\p{Is_Joining_Group: nya}', "");
-Expect(1, 1724, '\p{^Is_Joining_Group: nya}', "");
-Expect(1, 1724, '\P{Is_Joining_Group: nya}', "");
-Expect(0, 1724, '\P{^Is_Joining_Group: nya}', "");
-Expect(1, 1725, '\p{Is_Joining_Group= Nya}', "");
-Expect(0, 1725, '\p{^Is_Joining_Group= Nya}', "");
-Expect(0, 1725, '\P{Is_Joining_Group= Nya}', "");
-Expect(1, 1725, '\P{^Is_Joining_Group= Nya}', "");
-Expect(0, 1724, '\p{Is_Joining_Group= Nya}', "");
-Expect(1, 1724, '\p{^Is_Joining_Group= Nya}', "");
-Expect(1, 1724, '\P{Is_Joining_Group= Nya}', "");
-Expect(0, 1724, '\P{^Is_Joining_Group= Nya}', "");
-Error('\p{Is_Jg=/a/ nya}');
-Error('\P{Is_Jg=/a/ nya}');
-Expect(1, 1725, '\p{Is_Jg=nya}', "");
-Expect(0, 1725, '\p{^Is_Jg=nya}', "");
-Expect(0, 1725, '\P{Is_Jg=nya}', "");
-Expect(1, 1725, '\P{^Is_Jg=nya}', "");
-Expect(0, 1724, '\p{Is_Jg=nya}', "");
-Expect(1, 1724, '\p{^Is_Jg=nya}', "");
-Expect(1, 1724, '\P{Is_Jg=nya}', "");
-Expect(0, 1724, '\P{^Is_Jg=nya}', "");
-Expect(1, 1725, '\p{Is_Jg= Nya}', "");
-Expect(0, 1725, '\p{^Is_Jg= Nya}', "");
-Expect(0, 1725, '\P{Is_Jg= Nya}', "");
-Expect(1, 1725, '\P{^Is_Jg= Nya}', "");
-Expect(0, 1724, '\p{Is_Jg= Nya}', "");
-Expect(1, 1724, '\p{^Is_Jg= Nya}', "");
-Expect(1, 1724, '\P{Is_Jg= Nya}', "");
-Expect(0, 1724, '\P{^Is_Jg= Nya}', "");
-Error('\p{Joining_Group=-NUN/a/}');
-Error('\P{Joining_Group=-NUN/a/}');
-Expect(1, 1826, '\p{Joining_Group=nun}', "");
-Expect(0, 1826, '\p{^Joining_Group=nun}', "");
-Expect(0, 1826, '\P{Joining_Group=nun}', "");
-Expect(1, 1826, '\P{^Joining_Group=nun}', "");
-Expect(0, 1825, '\p{Joining_Group=nun}', "");
-Expect(1, 1825, '\p{^Joining_Group=nun}', "");
-Expect(1, 1825, '\P{Joining_Group=nun}', "");
-Expect(0, 1825, '\P{^Joining_Group=nun}', "");
-Expect(1, 1826, '\p{Joining_Group:_ Nun}', "");
-Expect(0, 1826, '\p{^Joining_Group:_ Nun}', "");
-Expect(0, 1826, '\P{Joining_Group:_ Nun}', "");
-Expect(1, 1826, '\P{^Joining_Group:_ Nun}', "");
-Expect(0, 1825, '\p{Joining_Group:_ Nun}', "");
-Expect(1, 1825, '\p{^Joining_Group:_ Nun}', "");
-Expect(1, 1825, '\P{Joining_Group:_ Nun}', "");
-Expect(0, 1825, '\P{^Joining_Group:_ Nun}', "");
-Error('\p{Jg=/a/-NUN}');
-Error('\P{Jg=/a/-NUN}');
-Expect(1, 1826, '\p{Jg=nun}', "");
-Expect(0, 1826, '\p{^Jg=nun}', "");
-Expect(0, 1826, '\P{Jg=nun}', "");
-Expect(1, 1826, '\P{^Jg=nun}', "");
-Expect(0, 1825, '\p{Jg=nun}', "");
-Expect(1, 1825, '\p{^Jg=nun}', "");
-Expect(1, 1825, '\P{Jg=nun}', "");
-Expect(0, 1825, '\P{^Jg=nun}', "");
-Expect(1, 1826, '\p{Jg= _NUN}', "");
-Expect(0, 1826, '\p{^Jg= _NUN}', "");
-Expect(0, 1826, '\P{Jg= _NUN}', "");
-Expect(1, 1826, '\P{^Jg= _NUN}', "");
-Expect(0, 1825, '\p{Jg= _NUN}', "");
-Expect(1, 1825, '\p{^Jg= _NUN}', "");
-Expect(1, 1825, '\P{Jg= _NUN}', "");
-Expect(0, 1825, '\P{^Jg= _NUN}', "");
-Error('\p{Is_Joining_Group=:= nun}');
-Error('\P{Is_Joining_Group=:= nun}');
-Expect(1, 1826, '\p{Is_Joining_Group: nun}', "");
-Expect(0, 1826, '\p{^Is_Joining_Group: nun}', "");
-Expect(0, 1826, '\P{Is_Joining_Group: nun}', "");
-Expect(1, 1826, '\P{^Is_Joining_Group: nun}', "");
-Expect(0, 1825, '\p{Is_Joining_Group: nun}', "");
-Expect(1, 1825, '\p{^Is_Joining_Group: nun}', "");
-Expect(1, 1825, '\P{Is_Joining_Group: nun}', "");
-Expect(0, 1825, '\P{^Is_Joining_Group: nun}', "");
-Expect(1, 1826, '\p{Is_Joining_Group= nun}', "");
-Expect(0, 1826, '\p{^Is_Joining_Group= nun}', "");
-Expect(0, 1826, '\P{Is_Joining_Group= nun}', "");
-Expect(1, 1826, '\P{^Is_Joining_Group= nun}', "");
-Expect(0, 1825, '\p{Is_Joining_Group= nun}', "");
-Expect(1, 1825, '\p{^Is_Joining_Group= nun}', "");
-Expect(1, 1825, '\P{Is_Joining_Group= nun}', "");
-Expect(0, 1825, '\P{^Is_Joining_Group= nun}', "");
-Error('\p{Is_Jg=__Nun/a/}');
-Error('\P{Is_Jg=__Nun/a/}');
-Expect(1, 1826, '\p{Is_Jg=nun}', "");
-Expect(0, 1826, '\p{^Is_Jg=nun}', "");
-Expect(0, 1826, '\P{Is_Jg=nun}', "");
-Expect(1, 1826, '\P{^Is_Jg=nun}', "");
-Expect(0, 1825, '\p{Is_Jg=nun}', "");
-Expect(1, 1825, '\p{^Is_Jg=nun}', "");
-Expect(1, 1825, '\P{Is_Jg=nun}', "");
-Expect(0, 1825, '\P{^Is_Jg=nun}', "");
-Expect(1, 1826, '\p{Is_Jg=-_NUN}', "");
-Expect(0, 1826, '\p{^Is_Jg=-_NUN}', "");
-Expect(0, 1826, '\P{Is_Jg=-_NUN}', "");
-Expect(1, 1826, '\P{^Is_Jg=-_NUN}', "");
-Expect(0, 1825, '\p{Is_Jg=-_NUN}', "");
-Expect(1, 1825, '\p{^Is_Jg=-_NUN}', "");
-Expect(1, 1825, '\P{Is_Jg=-_NUN}', "");
-Expect(0, 1825, '\P{^Is_Jg=-_NUN}', "");
-Error('\p{Joining_Group=-:=LAM}');
-Error('\P{Joining_Group=-:=LAM}');
-Expect(1, 1604, '\p{Joining_Group=lam}', "");
-Expect(0, 1604, '\p{^Joining_Group=lam}', "");
-Expect(0, 1604, '\P{Joining_Group=lam}', "");
-Expect(1, 1604, '\P{^Joining_Group=lam}', "");
-Expect(0, 1603, '\p{Joining_Group=lam}', "");
-Expect(1, 1603, '\p{^Joining_Group=lam}', "");
-Expect(1, 1603, '\P{Joining_Group=lam}', "");
-Expect(0, 1603, '\P{^Joining_Group=lam}', "");
-Expect(1, 1604, '\p{Joining_Group= LAM}', "");
-Expect(0, 1604, '\p{^Joining_Group= LAM}', "");
-Expect(0, 1604, '\P{Joining_Group= LAM}', "");
-Expect(1, 1604, '\P{^Joining_Group= LAM}', "");
-Expect(0, 1603, '\p{Joining_Group= LAM}', "");
-Expect(1, 1603, '\p{^Joining_Group= LAM}', "");
-Expect(1, 1603, '\P{Joining_Group= LAM}', "");
-Expect(0, 1603, '\P{^Joining_Group= LAM}', "");
-Error('\p{Jg=-_LAM:=}');
-Error('\P{Jg=-_LAM:=}');
-Expect(1, 1604, '\p{Jg=lam}', "");
-Expect(0, 1604, '\p{^Jg=lam}', "");
-Expect(0, 1604, '\P{Jg=lam}', "");
-Expect(1, 1604, '\P{^Jg=lam}', "");
-Expect(0, 1603, '\p{Jg=lam}', "");
-Expect(1, 1603, '\p{^Jg=lam}', "");
-Expect(1, 1603, '\P{Jg=lam}', "");
-Expect(0, 1603, '\P{^Jg=lam}', "");
-Expect(1, 1604, '\p{Jg= Lam}', "");
-Expect(0, 1604, '\p{^Jg= Lam}', "");
-Expect(0, 1604, '\P{Jg= Lam}', "");
-Expect(1, 1604, '\P{^Jg= Lam}', "");
-Expect(0, 1603, '\p{Jg= Lam}', "");
-Expect(1, 1603, '\p{^Jg= Lam}', "");
-Expect(1, 1603, '\P{Jg= Lam}', "");
-Expect(0, 1603, '\P{^Jg= Lam}', "");
-Error('\p{Is_Joining_Group=- Lam/a/}');
-Error('\P{Is_Joining_Group=- Lam/a/}');
-Expect(1, 1604, '\p{Is_Joining_Group=lam}', "");
-Expect(0, 1604, '\p{^Is_Joining_Group=lam}', "");
-Expect(0, 1604, '\P{Is_Joining_Group=lam}', "");
-Expect(1, 1604, '\P{^Is_Joining_Group=lam}', "");
-Expect(0, 1603, '\p{Is_Joining_Group=lam}', "");
-Expect(1, 1603, '\p{^Is_Joining_Group=lam}', "");
-Expect(1, 1603, '\P{Is_Joining_Group=lam}', "");
-Expect(0, 1603, '\P{^Is_Joining_Group=lam}', "");
-Expect(1, 1604, '\p{Is_Joining_Group= Lam}', "");
-Expect(0, 1604, '\p{^Is_Joining_Group= Lam}', "");
-Expect(0, 1604, '\P{Is_Joining_Group= Lam}', "");
-Expect(1, 1604, '\P{^Is_Joining_Group= Lam}', "");
-Expect(0, 1603, '\p{Is_Joining_Group= Lam}', "");
-Expect(1, 1603, '\p{^Is_Joining_Group= Lam}', "");
-Expect(1, 1603, '\P{Is_Joining_Group= Lam}', "");
-Expect(0, 1603, '\P{^Is_Joining_Group= Lam}', "");
-Error('\p{Is_Jg=_ lam/a/}');
-Error('\P{Is_Jg=_ lam/a/}');
-Expect(1, 1604, '\p{Is_Jg=lam}', "");
-Expect(0, 1604, '\p{^Is_Jg=lam}', "");
-Expect(0, 1604, '\P{Is_Jg=lam}', "");
-Expect(1, 1604, '\P{^Is_Jg=lam}', "");
-Expect(0, 1603, '\p{Is_Jg=lam}', "");
-Expect(1, 1603, '\p{^Is_Jg=lam}', "");
-Expect(1, 1603, '\P{Is_Jg=lam}', "");
-Expect(0, 1603, '\P{^Is_Jg=lam}', "");
-Expect(1, 1604, '\p{Is_Jg= lam}', "");
-Expect(0, 1604, '\p{^Is_Jg= lam}', "");
-Expect(0, 1604, '\P{Is_Jg= lam}', "");
-Expect(1, 1604, '\P{^Is_Jg= lam}', "");
-Expect(0, 1603, '\p{Is_Jg= lam}', "");
-Expect(1, 1603, '\p{^Is_Jg= lam}', "");
-Expect(1, 1603, '\P{Is_Jg= lam}', "");
-Expect(0, 1603, '\P{^Is_Jg= lam}', "");
-Error('\p{Joining_Group=_Ain:=}');
-Error('\P{Joining_Group=_Ain:=}');
-Expect(1, 1594, '\p{Joining_Group=ain}', "");
-Expect(0, 1594, '\p{^Joining_Group=ain}', "");
-Expect(0, 1594, '\P{Joining_Group=ain}', "");
-Expect(1, 1594, '\P{^Joining_Group=ain}', "");
-Expect(0, 1592, '\p{Joining_Group=ain}', "");
-Expect(1, 1592, '\p{^Joining_Group=ain}', "");
-Expect(1, 1592, '\P{Joining_Group=ain}', "");
-Expect(0, 1592, '\P{^Joining_Group=ain}', "");
-Expect(1, 1594, '\p{Joining_Group=- Ain}', "");
-Expect(0, 1594, '\p{^Joining_Group=- Ain}', "");
-Expect(0, 1594, '\P{Joining_Group=- Ain}', "");
-Expect(1, 1594, '\P{^Joining_Group=- Ain}', "");
-Expect(0, 1592, '\p{Joining_Group=- Ain}', "");
-Expect(1, 1592, '\p{^Joining_Group=- Ain}', "");
-Expect(1, 1592, '\P{Joining_Group=- Ain}', "");
-Expect(0, 1592, '\P{^Joining_Group=- Ain}', "");
-Error('\p{Jg= /a/AIN}');
-Error('\P{Jg= /a/AIN}');
-Expect(1, 1594, '\p{Jg:ain}', "");
-Expect(0, 1594, '\p{^Jg:ain}', "");
-Expect(0, 1594, '\P{Jg:ain}', "");
-Expect(1, 1594, '\P{^Jg:ain}', "");
-Expect(0, 1592, '\p{Jg:ain}', "");
-Expect(1, 1592, '\p{^Jg:ain}', "");
-Expect(1, 1592, '\P{Jg:ain}', "");
-Expect(0, 1592, '\P{^Jg:ain}', "");
-Expect(1, 1594, '\p{Jg= Ain}', "");
-Expect(0, 1594, '\p{^Jg= Ain}', "");
-Expect(0, 1594, '\P{Jg= Ain}', "");
-Expect(1, 1594, '\P{^Jg= Ain}', "");
-Expect(0, 1592, '\p{Jg= Ain}', "");
-Expect(1, 1592, '\p{^Jg= Ain}', "");
-Expect(1, 1592, '\P{Jg= Ain}', "");
-Expect(0, 1592, '\P{^Jg= Ain}', "");
-Error('\p{Is_Joining_Group= Ain/a/}');
-Error('\P{Is_Joining_Group= Ain/a/}');
-Expect(1, 1594, '\p{Is_Joining_Group=ain}', "");
-Expect(0, 1594, '\p{^Is_Joining_Group=ain}', "");
-Expect(0, 1594, '\P{Is_Joining_Group=ain}', "");
-Expect(1, 1594, '\P{^Is_Joining_Group=ain}', "");
-Expect(0, 1592, '\p{Is_Joining_Group=ain}', "");
-Expect(1, 1592, '\p{^Is_Joining_Group=ain}', "");
-Expect(1, 1592, '\P{Is_Joining_Group=ain}', "");
-Expect(0, 1592, '\P{^Is_Joining_Group=ain}', "");
-Expect(1, 1594, '\p{Is_Joining_Group=_Ain}', "");
-Expect(0, 1594, '\p{^Is_Joining_Group=_Ain}', "");
-Expect(0, 1594, '\P{Is_Joining_Group=_Ain}', "");
-Expect(1, 1594, '\P{^Is_Joining_Group=_Ain}', "");
-Expect(0, 1592, '\p{Is_Joining_Group=_Ain}', "");
-Expect(1, 1592, '\p{^Is_Joining_Group=_Ain}', "");
-Expect(1, 1592, '\P{Is_Joining_Group=_Ain}', "");
-Expect(0, 1592, '\P{^Is_Joining_Group=_Ain}', "");
-Error('\p{Is_Jg=_Ain/a/}');
-Error('\P{Is_Jg=_Ain/a/}');
-Expect(1, 1594, '\p{Is_Jg=ain}', "");
-Expect(0, 1594, '\p{^Is_Jg=ain}', "");
-Expect(0, 1594, '\P{Is_Jg=ain}', "");
-Expect(1, 1594, '\P{^Is_Jg=ain}', "");
-Expect(0, 1592, '\p{Is_Jg=ain}', "");
-Expect(1, 1592, '\p{^Is_Jg=ain}', "");
-Expect(1, 1592, '\P{Is_Jg=ain}', "");
-Expect(0, 1592, '\P{^Is_Jg=ain}', "");
-Expect(1, 1594, '\p{Is_Jg= -AIN}', "");
-Expect(0, 1594, '\p{^Is_Jg= -AIN}', "");
-Expect(0, 1594, '\P{Is_Jg= -AIN}', "");
-Expect(1, 1594, '\P{^Is_Jg= -AIN}', "");
-Expect(0, 1592, '\p{Is_Jg= -AIN}', "");
-Expect(1, 1592, '\p{^Is_Jg= -AIN}', "");
-Expect(1, 1592, '\P{Is_Jg= -AIN}', "");
-Expect(0, 1592, '\P{^Is_Jg= -AIN}', "");
-Error('\p{Joining_Group=/a/ -Heh}');
-Error('\P{Joining_Group=/a/ -Heh}');
-Expect(1, 1607, '\p{Joining_Group=heh}', "");
-Expect(0, 1607, '\p{^Joining_Group=heh}', "");
-Expect(0, 1607, '\P{Joining_Group=heh}', "");
-Expect(1, 1607, '\P{^Joining_Group=heh}', "");
-Expect(0, 1606, '\p{Joining_Group=heh}', "");
-Expect(1, 1606, '\p{^Joining_Group=heh}', "");
-Expect(1, 1606, '\P{Joining_Group=heh}', "");
-Expect(0, 1606, '\P{^Joining_Group=heh}', "");
-Expect(1, 1607, '\p{Joining_Group=- HEH}', "");
-Expect(0, 1607, '\p{^Joining_Group=- HEH}', "");
-Expect(0, 1607, '\P{Joining_Group=- HEH}', "");
-Expect(1, 1607, '\P{^Joining_Group=- HEH}', "");
-Expect(0, 1606, '\p{Joining_Group=- HEH}', "");
-Expect(1, 1606, '\p{^Joining_Group=- HEH}', "");
-Expect(1, 1606, '\P{Joining_Group=- HEH}', "");
-Expect(0, 1606, '\P{^Joining_Group=- HEH}', "");
-Error('\p{Jg=/a/_ heh}');
-Error('\P{Jg=/a/_ heh}');
-Expect(1, 1607, '\p{Jg=heh}', "");
-Expect(0, 1607, '\p{^Jg=heh}', "");
-Expect(0, 1607, '\P{Jg=heh}', "");
-Expect(1, 1607, '\P{^Jg=heh}', "");
-Expect(0, 1606, '\p{Jg=heh}', "");
-Expect(1, 1606, '\p{^Jg=heh}', "");
-Expect(1, 1606, '\P{Jg=heh}', "");
-Expect(0, 1606, '\P{^Jg=heh}', "");
-Expect(1, 1607, '\p{Jg=- heh}', "");
-Expect(0, 1607, '\p{^Jg=- heh}', "");
-Expect(0, 1607, '\P{Jg=- heh}', "");
-Expect(1, 1607, '\P{^Jg=- heh}', "");
-Expect(0, 1606, '\p{Jg=- heh}', "");
-Expect(1, 1606, '\p{^Jg=- heh}', "");
-Expect(1, 1606, '\P{Jg=- heh}', "");
-Expect(0, 1606, '\P{^Jg=- heh}', "");
-Error('\p{Is_Joining_Group= /a/Heh}');
-Error('\P{Is_Joining_Group= /a/Heh}');
-Expect(1, 1607, '\p{Is_Joining_Group=heh}', "");
-Expect(0, 1607, '\p{^Is_Joining_Group=heh}', "");
-Expect(0, 1607, '\P{Is_Joining_Group=heh}', "");
-Expect(1, 1607, '\P{^Is_Joining_Group=heh}', "");
-Expect(0, 1606, '\p{Is_Joining_Group=heh}', "");
-Expect(1, 1606, '\p{^Is_Joining_Group=heh}', "");
-Expect(1, 1606, '\P{Is_Joining_Group=heh}', "");
-Expect(0, 1606, '\P{^Is_Joining_Group=heh}', "");
-Expect(1, 1607, '\p{Is_Joining_Group=-Heh}', "");
-Expect(0, 1607, '\p{^Is_Joining_Group=-Heh}', "");
-Expect(0, 1607, '\P{Is_Joining_Group=-Heh}', "");
-Expect(1, 1607, '\P{^Is_Joining_Group=-Heh}', "");
-Expect(0, 1606, '\p{Is_Joining_Group=-Heh}', "");
-Expect(1, 1606, '\p{^Is_Joining_Group=-Heh}', "");
-Expect(1, 1606, '\P{Is_Joining_Group=-Heh}', "");
-Expect(0, 1606, '\P{^Is_Joining_Group=-Heh}', "");
-Error('\p{Is_Jg=:= heh}');
-Error('\P{Is_Jg=:= heh}');
-Expect(1, 1607, '\p{Is_Jg: heh}', "");
-Expect(0, 1607, '\p{^Is_Jg: heh}', "");
-Expect(0, 1607, '\P{Is_Jg: heh}', "");
-Expect(1, 1607, '\P{^Is_Jg: heh}', "");
-Expect(0, 1606, '\p{Is_Jg: heh}', "");
-Expect(1, 1606, '\p{^Is_Jg: heh}', "");
-Expect(1, 1606, '\P{Is_Jg: heh}', "");
-Expect(0, 1606, '\P{^Is_Jg: heh}', "");
-Expect(1, 1607, '\p{Is_Jg= Heh}', "");
-Expect(0, 1607, '\p{^Is_Jg= Heh}', "");
-Expect(0, 1607, '\P{Is_Jg= Heh}', "");
-Expect(1, 1607, '\P{^Is_Jg= Heh}', "");
-Expect(0, 1606, '\p{Is_Jg= Heh}', "");
-Expect(1, 1606, '\p{^Is_Jg= Heh}', "");
-Expect(1, 1606, '\P{Is_Jg= Heh}', "");
-Expect(0, 1606, '\P{^Is_Jg= Heh}', "");
-Error('\p{Joining_Group=_:=Qaph}');
-Error('\P{Joining_Group=_:=Qaph}');
-Expect(1, 1833, '\p{Joining_Group=qaph}', "");
-Expect(0, 1833, '\p{^Joining_Group=qaph}', "");
-Expect(0, 1833, '\P{Joining_Group=qaph}', "");
-Expect(1, 1833, '\P{^Joining_Group=qaph}', "");
-Expect(0, 1832, '\p{Joining_Group=qaph}', "");
-Expect(1, 1832, '\p{^Joining_Group=qaph}', "");
-Expect(1, 1832, '\P{Joining_Group=qaph}', "");
-Expect(0, 1832, '\P{^Joining_Group=qaph}', "");
-Expect(1, 1833, '\p{Joining_Group= Qaph}', "");
-Expect(0, 1833, '\p{^Joining_Group= Qaph}', "");
-Expect(0, 1833, '\P{Joining_Group= Qaph}', "");
-Expect(1, 1833, '\P{^Joining_Group= Qaph}', "");
-Expect(0, 1832, '\p{Joining_Group= Qaph}', "");
-Expect(1, 1832, '\p{^Joining_Group= Qaph}', "");
-Expect(1, 1832, '\P{Joining_Group= Qaph}', "");
-Expect(0, 1832, '\P{^Joining_Group= Qaph}', "");
-Error('\p{Jg= :=QAPH}');
-Error('\P{Jg= :=QAPH}');
-Expect(1, 1833, '\p{Jg=qaph}', "");
-Expect(0, 1833, '\p{^Jg=qaph}', "");
-Expect(0, 1833, '\P{Jg=qaph}', "");
-Expect(1, 1833, '\P{^Jg=qaph}', "");
-Expect(0, 1832, '\p{Jg=qaph}', "");
-Expect(1, 1832, '\p{^Jg=qaph}', "");
-Expect(1, 1832, '\P{Jg=qaph}', "");
-Expect(0, 1832, '\P{^Jg=qaph}', "");
-Expect(1, 1833, '\p{Jg= Qaph}', "");
-Expect(0, 1833, '\p{^Jg= Qaph}', "");
-Expect(0, 1833, '\P{Jg= Qaph}', "");
-Expect(1, 1833, '\P{^Jg= Qaph}', "");
-Expect(0, 1832, '\p{Jg= Qaph}', "");
-Expect(1, 1832, '\p{^Jg= Qaph}', "");
-Expect(1, 1832, '\P{Jg= Qaph}', "");
-Expect(0, 1832, '\P{^Jg= Qaph}', "");
-Error('\p{Is_Joining_Group=_:=Qaph}');
-Error('\P{Is_Joining_Group=_:=Qaph}');
-Expect(1, 1833, '\p{Is_Joining_Group=qaph}', "");
-Expect(0, 1833, '\p{^Is_Joining_Group=qaph}', "");
-Expect(0, 1833, '\P{Is_Joining_Group=qaph}', "");
-Expect(1, 1833, '\P{^Is_Joining_Group=qaph}', "");
-Expect(0, 1832, '\p{Is_Joining_Group=qaph}', "");
-Expect(1, 1832, '\p{^Is_Joining_Group=qaph}', "");
-Expect(1, 1832, '\P{Is_Joining_Group=qaph}', "");
-Expect(0, 1832, '\P{^Is_Joining_Group=qaph}', "");
-Expect(1, 1833, '\p{Is_Joining_Group= -qaph}', "");
-Expect(0, 1833, '\p{^Is_Joining_Group= -qaph}', "");
-Expect(0, 1833, '\P{Is_Joining_Group= -qaph}', "");
-Expect(1, 1833, '\P{^Is_Joining_Group= -qaph}', "");
-Expect(0, 1832, '\p{Is_Joining_Group= -qaph}', "");
-Expect(1, 1832, '\p{^Is_Joining_Group= -qaph}', "");
-Expect(1, 1832, '\P{Is_Joining_Group= -qaph}', "");
-Expect(0, 1832, '\P{^Is_Joining_Group= -qaph}', "");
-Error('\p{Is_Jg: /a/ qaph}');
-Error('\P{Is_Jg: /a/ qaph}');
-Expect(1, 1833, '\p{Is_Jg=qaph}', "");
-Expect(0, 1833, '\p{^Is_Jg=qaph}', "");
-Expect(0, 1833, '\P{Is_Jg=qaph}', "");
-Expect(1, 1833, '\P{^Is_Jg=qaph}', "");
-Expect(0, 1832, '\p{Is_Jg=qaph}', "");
-Expect(1, 1832, '\p{^Is_Jg=qaph}', "");
-Expect(1, 1832, '\P{Is_Jg=qaph}', "");
-Expect(0, 1832, '\P{^Is_Jg=qaph}', "");
-Expect(1, 1833, '\p{Is_Jg= -Qaph}', "");
-Expect(0, 1833, '\p{^Is_Jg= -Qaph}', "");
-Expect(0, 1833, '\P{Is_Jg= -Qaph}', "");
-Expect(1, 1833, '\P{^Is_Jg= -Qaph}', "");
-Expect(0, 1832, '\p{Is_Jg= -Qaph}', "");
-Expect(1, 1832, '\p{^Is_Jg= -Qaph}', "");
-Expect(1, 1832, '\P{Is_Jg= -Qaph}', "");
-Expect(0, 1832, '\P{^Is_Jg= -Qaph}', "");
-Error('\p{Joining_Group=_/a/Heth}');
-Error('\P{Joining_Group=_/a/Heth}');
-Expect(1, 1818, '\p{Joining_Group=heth}', "");
-Expect(0, 1818, '\p{^Joining_Group=heth}', "");
-Expect(0, 1818, '\P{Joining_Group=heth}', "");
-Expect(1, 1818, '\P{^Joining_Group=heth}', "");
-Expect(0, 1817, '\p{Joining_Group=heth}', "");
-Expect(1, 1817, '\p{^Joining_Group=heth}', "");
-Expect(1, 1817, '\P{Joining_Group=heth}', "");
-Expect(0, 1817, '\P{^Joining_Group=heth}', "");
-Expect(1, 1818, '\p{Joining_Group= -heth}', "");
-Expect(0, 1818, '\p{^Joining_Group= -heth}', "");
-Expect(0, 1818, '\P{Joining_Group= -heth}', "");
-Expect(1, 1818, '\P{^Joining_Group= -heth}', "");
-Expect(0, 1817, '\p{Joining_Group= -heth}', "");
-Expect(1, 1817, '\p{^Joining_Group= -heth}', "");
-Expect(1, 1817, '\P{Joining_Group= -heth}', "");
-Expect(0, 1817, '\P{^Joining_Group= -heth}', "");
-Error('\p{Jg=-:=heth}');
-Error('\P{Jg=-:=heth}');
-Expect(1, 1818, '\p{Jg=heth}', "");
-Expect(0, 1818, '\p{^Jg=heth}', "");
-Expect(0, 1818, '\P{Jg=heth}', "");
-Expect(1, 1818, '\P{^Jg=heth}', "");
-Expect(0, 1817, '\p{Jg=heth}', "");
-Expect(1, 1817, '\p{^Jg=heth}', "");
-Expect(1, 1817, '\P{Jg=heth}', "");
-Expect(0, 1817, '\P{^Jg=heth}', "");
-Expect(1, 1818, '\p{Jg=__heth}', "");
-Expect(0, 1818, '\p{^Jg=__heth}', "");
-Expect(0, 1818, '\P{Jg=__heth}', "");
-Expect(1, 1818, '\P{^Jg=__heth}', "");
-Expect(0, 1817, '\p{Jg=__heth}', "");
-Expect(1, 1817, '\p{^Jg=__heth}', "");
-Expect(1, 1817, '\P{Jg=__heth}', "");
-Expect(0, 1817, '\P{^Jg=__heth}', "");
-Error('\p{Is_Joining_Group= Heth/a/}');
-Error('\P{Is_Joining_Group= Heth/a/}');
-Expect(1, 1818, '\p{Is_Joining_Group=heth}', "");
-Expect(0, 1818, '\p{^Is_Joining_Group=heth}', "");
-Expect(0, 1818, '\P{Is_Joining_Group=heth}', "");
-Expect(1, 1818, '\P{^Is_Joining_Group=heth}', "");
-Expect(0, 1817, '\p{Is_Joining_Group=heth}', "");
-Expect(1, 1817, '\p{^Is_Joining_Group=heth}', "");
-Expect(1, 1817, '\P{Is_Joining_Group=heth}', "");
-Expect(0, 1817, '\P{^Is_Joining_Group=heth}', "");
-Expect(1, 1818, '\p{Is_Joining_Group=_Heth}', "");
-Expect(0, 1818, '\p{^Is_Joining_Group=_Heth}', "");
-Expect(0, 1818, '\P{Is_Joining_Group=_Heth}', "");
-Expect(1, 1818, '\P{^Is_Joining_Group=_Heth}', "");
-Expect(0, 1817, '\p{Is_Joining_Group=_Heth}', "");
-Expect(1, 1817, '\p{^Is_Joining_Group=_Heth}', "");
-Expect(1, 1817, '\P{Is_Joining_Group=_Heth}', "");
-Expect(0, 1817, '\P{^Is_Joining_Group=_Heth}', "");
-Error('\p{Is_Jg=- heth:=}');
-Error('\P{Is_Jg=- heth:=}');
-Expect(1, 1818, '\p{Is_Jg=heth}', "");
-Expect(0, 1818, '\p{^Is_Jg=heth}', "");
-Expect(0, 1818, '\P{Is_Jg=heth}', "");
-Expect(1, 1818, '\P{^Is_Jg=heth}', "");
-Expect(0, 1817, '\p{Is_Jg=heth}', "");
-Expect(1, 1817, '\p{^Is_Jg=heth}', "");
-Expect(1, 1817, '\P{Is_Jg=heth}', "");
-Expect(0, 1817, '\P{^Is_Jg=heth}', "");
-Expect(1, 1818, '\p{Is_Jg=__Heth}', "");
-Expect(0, 1818, '\p{^Is_Jg=__Heth}', "");
-Expect(0, 1818, '\P{Is_Jg=__Heth}', "");
-Expect(1, 1818, '\P{^Is_Jg=__Heth}', "");
-Expect(0, 1817, '\p{Is_Jg=__Heth}', "");
-Expect(1, 1817, '\p{^Is_Jg=__Heth}', "");
-Expect(1, 1817, '\P{Is_Jg=__Heth}', "");
-Expect(0, 1817, '\P{^Is_Jg=__Heth}', "");
-Error('\p{Joining_Group=- Teth/a/}');
-Error('\P{Joining_Group=- Teth/a/}');
-Expect(1, 1820, '\p{Joining_Group=teth}', "");
-Expect(0, 1820, '\p{^Joining_Group=teth}', "");
-Expect(0, 1820, '\P{Joining_Group=teth}', "");
-Expect(1, 1820, '\P{^Joining_Group=teth}', "");
-Expect(0, 1818, '\p{Joining_Group=teth}', "");
-Expect(1, 1818, '\p{^Joining_Group=teth}', "");
-Expect(1, 1818, '\P{Joining_Group=teth}', "");
-Expect(0, 1818, '\P{^Joining_Group=teth}', "");
-Expect(1, 1820, '\p{Joining_Group= -Teth}', "");
-Expect(0, 1820, '\p{^Joining_Group= -Teth}', "");
-Expect(0, 1820, '\P{Joining_Group= -Teth}', "");
-Expect(1, 1820, '\P{^Joining_Group= -Teth}', "");
-Expect(0, 1818, '\p{Joining_Group= -Teth}', "");
-Expect(1, 1818, '\p{^Joining_Group= -Teth}', "");
-Expect(1, 1818, '\P{Joining_Group= -Teth}', "");
-Expect(0, 1818, '\P{^Joining_Group= -Teth}', "");
-Error('\p{Jg=-TETH:=}');
-Error('\P{Jg=-TETH:=}');
-Expect(1, 1820, '\p{Jg=teth}', "");
-Expect(0, 1820, '\p{^Jg=teth}', "");
-Expect(0, 1820, '\P{Jg=teth}', "");
-Expect(1, 1820, '\P{^Jg=teth}', "");
-Expect(0, 1818, '\p{Jg=teth}', "");
-Expect(1, 1818, '\p{^Jg=teth}', "");
-Expect(1, 1818, '\P{Jg=teth}', "");
-Expect(0, 1818, '\P{^Jg=teth}', "");
-Expect(1, 1820, '\p{Jg=_-Teth}', "");
-Expect(0, 1820, '\p{^Jg=_-Teth}', "");
-Expect(0, 1820, '\P{Jg=_-Teth}', "");
-Expect(1, 1820, '\P{^Jg=_-Teth}', "");
-Expect(0, 1818, '\p{Jg=_-Teth}', "");
-Expect(1, 1818, '\p{^Jg=_-Teth}', "");
-Expect(1, 1818, '\P{Jg=_-Teth}', "");
-Expect(0, 1818, '\P{^Jg=_-Teth}', "");
-Error('\p{Is_Joining_Group=Teth:=}');
-Error('\P{Is_Joining_Group=Teth:=}');
-Expect(1, 1820, '\p{Is_Joining_Group=teth}', "");
-Expect(0, 1820, '\p{^Is_Joining_Group=teth}', "");
-Expect(0, 1820, '\P{Is_Joining_Group=teth}', "");
-Expect(1, 1820, '\P{^Is_Joining_Group=teth}', "");
-Expect(0, 1818, '\p{Is_Joining_Group=teth}', "");
-Expect(1, 1818, '\p{^Is_Joining_Group=teth}', "");
-Expect(1, 1818, '\P{Is_Joining_Group=teth}', "");
-Expect(0, 1818, '\P{^Is_Joining_Group=teth}', "");
-Expect(1, 1820, '\p{Is_Joining_Group= _Teth}', "");
-Expect(0, 1820, '\p{^Is_Joining_Group= _Teth}', "");
-Expect(0, 1820, '\P{Is_Joining_Group= _Teth}', "");
-Expect(1, 1820, '\P{^Is_Joining_Group= _Teth}', "");
-Expect(0, 1818, '\p{Is_Joining_Group= _Teth}', "");
-Expect(1, 1818, '\p{^Is_Joining_Group= _Teth}', "");
-Expect(1, 1818, '\P{Is_Joining_Group= _Teth}', "");
-Expect(0, 1818, '\P{^Is_Joining_Group= _Teth}', "");
-Error('\p{Is_Jg=/a/ _teth}');
-Error('\P{Is_Jg=/a/ _teth}');
-Expect(1, 1820, '\p{Is_Jg=teth}', "");
-Expect(0, 1820, '\p{^Is_Jg=teth}', "");
-Expect(0, 1820, '\P{Is_Jg=teth}', "");
-Expect(1, 1820, '\P{^Is_Jg=teth}', "");
-Expect(0, 1818, '\p{Is_Jg=teth}', "");
-Expect(1, 1818, '\p{^Is_Jg=teth}', "");
-Expect(1, 1818, '\P{Is_Jg=teth}', "");
-Expect(0, 1818, '\P{^Is_Jg=teth}', "");
-Expect(1, 1820, '\p{Is_Jg=-_TETH}', "");
-Expect(0, 1820, '\p{^Is_Jg=-_TETH}', "");
-Expect(0, 1820, '\P{Is_Jg=-_TETH}', "");
-Expect(1, 1820, '\P{^Is_Jg=-_TETH}', "");
-Expect(0, 1818, '\p{Is_Jg=-_TETH}', "");
-Expect(1, 1818, '\p{^Is_Jg=-_TETH}', "");
-Expect(1, 1818, '\P{Is_Jg=-_TETH}', "");
-Expect(0, 1818, '\P{^Is_Jg=-_TETH}', "");
-Error('\p{Joining_Group= DALATH:=Rish}');
-Error('\P{Joining_Group= DALATH:=Rish}');
-Expect(1, 1814, '\p{Joining_Group=dalathrish}', "");
-Expect(0, 1814, '\p{^Joining_Group=dalathrish}', "");
-Expect(0, 1814, '\P{Joining_Group=dalathrish}', "");
-Expect(1, 1814, '\P{^Joining_Group=dalathrish}', "");
-Expect(0, 1812, '\p{Joining_Group=dalathrish}', "");
-Expect(1, 1812, '\p{^Joining_Group=dalathrish}', "");
-Expect(1, 1812, '\P{Joining_Group=dalathrish}', "");
-Expect(0, 1812, '\P{^Joining_Group=dalathrish}', "");
-Expect(1, 1814, '\p{Joining_Group= DALATH_rish}', "");
-Expect(0, 1814, '\p{^Joining_Group= DALATH_rish}', "");
-Expect(0, 1814, '\P{Joining_Group= DALATH_rish}', "");
-Expect(1, 1814, '\P{^Joining_Group= DALATH_rish}', "");
-Expect(0, 1812, '\p{Joining_Group= DALATH_rish}', "");
-Expect(1, 1812, '\p{^Joining_Group= DALATH_rish}', "");
-Expect(1, 1812, '\P{Joining_Group= DALATH_rish}', "");
-Expect(0, 1812, '\P{^Joining_Group= DALATH_rish}', "");
-Error('\p{Jg= _DALATH/a/rish}');
-Error('\P{Jg= _DALATH/a/rish}');
-Expect(1, 1814, '\p{Jg=dalathrish}', "");
-Expect(0, 1814, '\p{^Jg=dalathrish}', "");
-Expect(0, 1814, '\P{Jg=dalathrish}', "");
-Expect(1, 1814, '\P{^Jg=dalathrish}', "");
-Expect(0, 1812, '\p{Jg=dalathrish}', "");
-Expect(1, 1812, '\p{^Jg=dalathrish}', "");
-Expect(1, 1812, '\P{Jg=dalathrish}', "");
-Expect(0, 1812, '\P{^Jg=dalathrish}', "");
-Expect(1, 1814, '\p{Jg= -DalathRish}', "");
-Expect(0, 1814, '\p{^Jg= -DalathRish}', "");
-Expect(0, 1814, '\P{Jg= -DalathRish}', "");
-Expect(1, 1814, '\P{^Jg= -DalathRish}', "");
-Expect(0, 1812, '\p{Jg= -DalathRish}', "");
-Expect(1, 1812, '\p{^Jg= -DalathRish}', "");
-Expect(1, 1812, '\P{Jg= -DalathRish}', "");
-Expect(0, 1812, '\P{^Jg= -DalathRish}', "");
-Error('\p{Is_Joining_Group=_Dalath/a/RISH}');
-Error('\P{Is_Joining_Group=_Dalath/a/RISH}');
-Expect(1, 1814, '\p{Is_Joining_Group=dalathrish}', "");
-Expect(0, 1814, '\p{^Is_Joining_Group=dalathrish}', "");
-Expect(0, 1814, '\P{Is_Joining_Group=dalathrish}', "");
-Expect(1, 1814, '\P{^Is_Joining_Group=dalathrish}', "");
-Expect(0, 1812, '\p{Is_Joining_Group=dalathrish}', "");
-Expect(1, 1812, '\p{^Is_Joining_Group=dalathrish}', "");
-Expect(1, 1812, '\P{Is_Joining_Group=dalathrish}', "");
-Expect(0, 1812, '\P{^Is_Joining_Group=dalathrish}', "");
-Expect(1, 1814, '\p{Is_Joining_Group= dalath rish}', "");
-Expect(0, 1814, '\p{^Is_Joining_Group= dalath rish}', "");
-Expect(0, 1814, '\P{Is_Joining_Group= dalath rish}', "");
-Expect(1, 1814, '\P{^Is_Joining_Group= dalath rish}', "");
-Expect(0, 1812, '\p{Is_Joining_Group= dalath rish}', "");
-Expect(1, 1812, '\p{^Is_Joining_Group= dalath rish}', "");
-Expect(1, 1812, '\P{Is_Joining_Group= dalath rish}', "");
-Expect(0, 1812, '\P{^Is_Joining_Group= dalath rish}', "");
-Error('\p{Is_Jg=/a/Dalath-Rish}');
-Error('\P{Is_Jg=/a/Dalath-Rish}');
-Expect(1, 1814, '\p{Is_Jg=dalathrish}', "");
-Expect(0, 1814, '\p{^Is_Jg=dalathrish}', "");
-Expect(0, 1814, '\P{Is_Jg=dalathrish}', "");
-Expect(1, 1814, '\P{^Is_Jg=dalathrish}', "");
-Expect(0, 1812, '\p{Is_Jg=dalathrish}', "");
-Expect(1, 1812, '\p{^Is_Jg=dalathrish}', "");
-Expect(1, 1812, '\P{Is_Jg=dalathrish}', "");
-Expect(0, 1812, '\P{^Is_Jg=dalathrish}', "");
-Expect(1, 1814, '\p{Is_Jg: _DALATH RISH}', "");
-Expect(0, 1814, '\p{^Is_Jg: _DALATH RISH}', "");
-Expect(0, 1814, '\P{Is_Jg: _DALATH RISH}', "");
-Expect(1, 1814, '\P{^Is_Jg: _DALATH RISH}', "");
-Expect(0, 1812, '\p{Is_Jg: _DALATH RISH}', "");
-Expect(1, 1812, '\p{^Is_Jg: _DALATH RISH}', "");
-Expect(1, 1812, '\P{Is_Jg: _DALATH RISH}', "");
-Expect(0, 1812, '\P{^Is_Jg: _DALATH RISH}', "");
-Error('\p{Joining_Group=-/a/YUDH He}');
-Error('\P{Joining_Group=-/a/YUDH He}');
-Expect(1, 1822, '\p{Joining_Group: yudhhe}', "");
-Expect(0, 1822, '\p{^Joining_Group: yudhhe}', "");
-Expect(0, 1822, '\P{Joining_Group: yudhhe}', "");
-Expect(1, 1822, '\P{^Joining_Group: yudhhe}', "");
-Expect(0, 1821, '\p{Joining_Group: yudhhe}', "");
-Expect(1, 1821, '\p{^Joining_Group: yudhhe}', "");
-Expect(1, 1821, '\P{Joining_Group: yudhhe}', "");
-Expect(0, 1821, '\P{^Joining_Group: yudhhe}', "");
-Expect(1, 1822, '\p{Joining_Group= _Yudh He}', "");
-Expect(0, 1822, '\p{^Joining_Group= _Yudh He}', "");
-Expect(0, 1822, '\P{Joining_Group= _Yudh He}', "");
-Expect(1, 1822, '\P{^Joining_Group= _Yudh He}', "");
-Expect(0, 1821, '\p{Joining_Group= _Yudh He}', "");
-Expect(1, 1821, '\p{^Joining_Group= _Yudh He}', "");
-Expect(1, 1821, '\P{Joining_Group= _Yudh He}', "");
-Expect(0, 1821, '\P{^Joining_Group= _Yudh He}', "");
-Error('\p{Jg= Yudh_he/a/}');
-Error('\P{Jg= Yudh_he/a/}');
-Expect(1, 1822, '\p{Jg=yudhhe}', "");
-Expect(0, 1822, '\p{^Jg=yudhhe}', "");
-Expect(0, 1822, '\P{Jg=yudhhe}', "");
-Expect(1, 1822, '\P{^Jg=yudhhe}', "");
-Expect(0, 1821, '\p{Jg=yudhhe}', "");
-Expect(1, 1821, '\p{^Jg=yudhhe}', "");
-Expect(1, 1821, '\P{Jg=yudhhe}', "");
-Expect(0, 1821, '\P{^Jg=yudhhe}', "");
-Expect(1, 1822, '\p{Jg= Yudh he}', "");
-Expect(0, 1822, '\p{^Jg= Yudh he}', "");
-Expect(0, 1822, '\P{Jg= Yudh he}', "");
-Expect(1, 1822, '\P{^Jg= Yudh he}', "");
-Expect(0, 1821, '\p{Jg= Yudh he}', "");
-Expect(1, 1821, '\p{^Jg= Yudh he}', "");
-Expect(1, 1821, '\P{Jg= Yudh he}', "");
-Expect(0, 1821, '\P{^Jg= Yudh he}', "");
-Error('\p{Is_Joining_Group=-_YudhHe:=}');
-Error('\P{Is_Joining_Group=-_YudhHe:=}');
-Expect(1, 1822, '\p{Is_Joining_Group=yudhhe}', "");
-Expect(0, 1822, '\p{^Is_Joining_Group=yudhhe}', "");
-Expect(0, 1822, '\P{Is_Joining_Group=yudhhe}', "");
-Expect(1, 1822, '\P{^Is_Joining_Group=yudhhe}', "");
-Expect(0, 1821, '\p{Is_Joining_Group=yudhhe}', "");
-Expect(1, 1821, '\p{^Is_Joining_Group=yudhhe}', "");
-Expect(1, 1821, '\P{Is_Joining_Group=yudhhe}', "");
-Expect(0, 1821, '\P{^Is_Joining_Group=yudhhe}', "");
-Expect(1, 1822, '\p{Is_Joining_Group=_ Yudh he}', "");
-Expect(0, 1822, '\p{^Is_Joining_Group=_ Yudh he}', "");
-Expect(0, 1822, '\P{Is_Joining_Group=_ Yudh he}', "");
-Expect(1, 1822, '\P{^Is_Joining_Group=_ Yudh he}', "");
-Expect(0, 1821, '\p{Is_Joining_Group=_ Yudh he}', "");
-Expect(1, 1821, '\p{^Is_Joining_Group=_ Yudh he}', "");
-Expect(1, 1821, '\P{Is_Joining_Group=_ Yudh he}', "");
-Expect(0, 1821, '\P{^Is_Joining_Group=_ Yudh he}', "");
-Error('\p{Is_Jg=- Yudh_he:=}');
-Error('\P{Is_Jg=- Yudh_he:=}');
-Expect(1, 1822, '\p{Is_Jg=yudhhe}', "");
-Expect(0, 1822, '\p{^Is_Jg=yudhhe}', "");
-Expect(0, 1822, '\P{Is_Jg=yudhhe}', "");
-Expect(1, 1822, '\P{^Is_Jg=yudhhe}', "");
-Expect(0, 1821, '\p{Is_Jg=yudhhe}', "");
-Expect(1, 1821, '\p{^Is_Jg=yudhhe}', "");
-Expect(1, 1821, '\P{Is_Jg=yudhhe}', "");
-Expect(0, 1821, '\P{^Is_Jg=yudhhe}', "");
-Expect(1, 1822, '\p{Is_Jg: Yudh-He}', "");
-Expect(0, 1822, '\p{^Is_Jg: Yudh-He}', "");
-Expect(0, 1822, '\P{Is_Jg: Yudh-He}', "");
-Expect(1, 1822, '\P{^Is_Jg: Yudh-He}', "");
-Expect(0, 1821, '\p{Is_Jg: Yudh-He}', "");
-Expect(1, 1821, '\p{^Is_Jg: Yudh-He}', "");
-Expect(1, 1821, '\P{Is_Jg: Yudh-He}', "");
-Expect(0, 1821, '\P{^Is_Jg: Yudh-He}', "");
-Error('\p{Joining_Group=/a/--Noon}');
-Error('\P{Joining_Group=/a/--Noon}');
-Expect(1, 1606, '\p{Joining_Group=noon}', "");
-Expect(0, 1606, '\p{^Joining_Group=noon}', "");
-Expect(0, 1606, '\P{Joining_Group=noon}', "");
-Expect(1, 1606, '\P{^Joining_Group=noon}', "");
-Expect(0, 1605, '\p{Joining_Group=noon}', "");
-Expect(1, 1605, '\p{^Joining_Group=noon}', "");
-Expect(1, 1605, '\P{Joining_Group=noon}', "");
-Expect(0, 1605, '\P{^Joining_Group=noon}', "");
-Expect(1, 1606, '\p{Joining_Group=-_NOON}', "");
-Expect(0, 1606, '\p{^Joining_Group=-_NOON}', "");
-Expect(0, 1606, '\P{Joining_Group=-_NOON}', "");
-Expect(1, 1606, '\P{^Joining_Group=-_NOON}', "");
-Expect(0, 1605, '\p{Joining_Group=-_NOON}', "");
-Expect(1, 1605, '\p{^Joining_Group=-_NOON}', "");
-Expect(1, 1605, '\P{Joining_Group=-_NOON}', "");
-Expect(0, 1605, '\P{^Joining_Group=-_NOON}', "");
-Error('\p{Jg=- Noon/a/}');
-Error('\P{Jg=- Noon/a/}');
-Expect(1, 1606, '\p{Jg=noon}', "");
-Expect(0, 1606, '\p{^Jg=noon}', "");
-Expect(0, 1606, '\P{Jg=noon}', "");
-Expect(1, 1606, '\P{^Jg=noon}', "");
-Expect(0, 1605, '\p{Jg=noon}', "");
-Expect(1, 1605, '\p{^Jg=noon}', "");
-Expect(1, 1605, '\P{Jg=noon}', "");
-Expect(0, 1605, '\P{^Jg=noon}', "");
-Expect(1, 1606, '\p{Jg= _noon}', "");
-Expect(0, 1606, '\p{^Jg= _noon}', "");
-Expect(0, 1606, '\P{Jg= _noon}', "");
-Expect(1, 1606, '\P{^Jg= _noon}', "");
-Expect(0, 1605, '\p{Jg= _noon}', "");
-Expect(1, 1605, '\p{^Jg= _noon}', "");
-Expect(1, 1605, '\P{Jg= _noon}', "");
-Expect(0, 1605, '\P{^Jg= _noon}', "");
-Error('\p{Is_Joining_Group=/a/ Noon}');
-Error('\P{Is_Joining_Group=/a/ Noon}');
-Expect(1, 1606, '\p{Is_Joining_Group=noon}', "");
-Expect(0, 1606, '\p{^Is_Joining_Group=noon}', "");
-Expect(0, 1606, '\P{Is_Joining_Group=noon}', "");
-Expect(1, 1606, '\P{^Is_Joining_Group=noon}', "");
-Expect(0, 1605, '\p{Is_Joining_Group=noon}', "");
-Expect(1, 1605, '\p{^Is_Joining_Group=noon}', "");
-Expect(1, 1605, '\P{Is_Joining_Group=noon}', "");
-Expect(0, 1605, '\P{^Is_Joining_Group=noon}', "");
-Expect(1, 1606, '\p{Is_Joining_Group=-noon}', "");
-Expect(0, 1606, '\p{^Is_Joining_Group=-noon}', "");
-Expect(0, 1606, '\P{Is_Joining_Group=-noon}', "");
-Expect(1, 1606, '\P{^Is_Joining_Group=-noon}', "");
-Expect(0, 1605, '\p{Is_Joining_Group=-noon}', "");
-Expect(1, 1605, '\p{^Is_Joining_Group=-noon}', "");
-Expect(1, 1605, '\P{Is_Joining_Group=-noon}', "");
-Expect(0, 1605, '\P{^Is_Joining_Group=-noon}', "");
-Error('\p{Is_Jg: /a/--NOON}');
-Error('\P{Is_Jg: /a/--NOON}');
-Expect(1, 1606, '\p{Is_Jg=noon}', "");
-Expect(0, 1606, '\p{^Is_Jg=noon}', "");
-Expect(0, 1606, '\P{Is_Jg=noon}', "");
-Expect(1, 1606, '\P{^Is_Jg=noon}', "");
-Expect(0, 1605, '\p{Is_Jg=noon}', "");
-Expect(1, 1605, '\p{^Is_Jg=noon}', "");
-Expect(1, 1605, '\P{Is_Jg=noon}', "");
-Expect(0, 1605, '\P{^Is_Jg=noon}', "");
-Expect(1, 1606, '\p{Is_Jg= NOON}', "");
-Expect(0, 1606, '\p{^Is_Jg= NOON}', "");
-Expect(0, 1606, '\P{Is_Jg= NOON}', "");
-Expect(1, 1606, '\P{^Is_Jg= NOON}', "");
-Expect(0, 1605, '\p{Is_Jg= NOON}', "");
-Expect(1, 1605, '\p{^Is_Jg= NOON}', "");
-Expect(1, 1605, '\P{Is_Jg= NOON}', "");
-Expect(0, 1605, '\P{^Is_Jg= NOON}', "");
-Error('\p{Joining_Group=- Mim/a/}');
-Error('\P{Joining_Group=- Mim/a/}');
-Expect(1, 1825, '\p{Joining_Group=mim}', "");
-Expect(0, 1825, '\p{^Joining_Group=mim}', "");
-Expect(0, 1825, '\P{Joining_Group=mim}', "");
-Expect(1, 1825, '\P{^Joining_Group=mim}', "");
-Expect(0, 1824, '\p{Joining_Group=mim}', "");
-Expect(1, 1824, '\p{^Joining_Group=mim}', "");
-Expect(1, 1824, '\P{Joining_Group=mim}', "");
-Expect(0, 1824, '\P{^Joining_Group=mim}', "");
-Expect(1, 1825, '\p{Joining_Group=- MIM}', "");
-Expect(0, 1825, '\p{^Joining_Group=- MIM}', "");
-Expect(0, 1825, '\P{Joining_Group=- MIM}', "");
-Expect(1, 1825, '\P{^Joining_Group=- MIM}', "");
-Expect(0, 1824, '\p{Joining_Group=- MIM}', "");
-Expect(1, 1824, '\p{^Joining_Group=- MIM}', "");
-Expect(1, 1824, '\P{Joining_Group=- MIM}', "");
-Expect(0, 1824, '\P{^Joining_Group=- MIM}', "");
-Error('\p{Jg=:= MIM}');
-Error('\P{Jg=:= MIM}');
-Expect(1, 1825, '\p{Jg=mim}', "");
-Expect(0, 1825, '\p{^Jg=mim}', "");
-Expect(0, 1825, '\P{Jg=mim}', "");
-Expect(1, 1825, '\P{^Jg=mim}', "");
-Expect(0, 1824, '\p{Jg=mim}', "");
-Expect(1, 1824, '\p{^Jg=mim}', "");
-Expect(1, 1824, '\P{Jg=mim}', "");
-Expect(0, 1824, '\P{^Jg=mim}', "");
-Expect(1, 1825, '\p{Jg= MIM}', "");
-Expect(0, 1825, '\p{^Jg= MIM}', "");
-Expect(0, 1825, '\P{Jg= MIM}', "");
-Expect(1, 1825, '\P{^Jg= MIM}', "");
-Expect(0, 1824, '\p{Jg= MIM}', "");
-Expect(1, 1824, '\p{^Jg= MIM}', "");
-Expect(1, 1824, '\P{Jg= MIM}', "");
-Expect(0, 1824, '\P{^Jg= MIM}', "");
-Error('\p{Is_Joining_Group= /a/Mim}');
-Error('\P{Is_Joining_Group= /a/Mim}');
-Expect(1, 1825, '\p{Is_Joining_Group=mim}', "");
-Expect(0, 1825, '\p{^Is_Joining_Group=mim}', "");
-Expect(0, 1825, '\P{Is_Joining_Group=mim}', "");
-Expect(1, 1825, '\P{^Is_Joining_Group=mim}', "");
-Expect(0, 1824, '\p{Is_Joining_Group=mim}', "");
-Expect(1, 1824, '\p{^Is_Joining_Group=mim}', "");
-Expect(1, 1824, '\P{Is_Joining_Group=mim}', "");
-Expect(0, 1824, '\P{^Is_Joining_Group=mim}', "");
-Expect(1, 1825, '\p{Is_Joining_Group=_ Mim}', "");
-Expect(0, 1825, '\p{^Is_Joining_Group=_ Mim}', "");
-Expect(0, 1825, '\P{Is_Joining_Group=_ Mim}', "");
-Expect(1, 1825, '\P{^Is_Joining_Group=_ Mim}', "");
-Expect(0, 1824, '\p{Is_Joining_Group=_ Mim}', "");
-Expect(1, 1824, '\p{^Is_Joining_Group=_ Mim}', "");
-Expect(1, 1824, '\P{Is_Joining_Group=_ Mim}', "");
-Expect(0, 1824, '\P{^Is_Joining_Group=_ Mim}', "");
-Error('\p{Is_Jg=/a/ _mim}');
-Error('\P{Is_Jg=/a/ _mim}');
-Expect(1, 1825, '\p{Is_Jg=mim}', "");
-Expect(0, 1825, '\p{^Is_Jg=mim}', "");
-Expect(0, 1825, '\P{Is_Jg=mim}', "");
-Expect(1, 1825, '\P{^Is_Jg=mim}', "");
-Expect(0, 1824, '\p{Is_Jg=mim}', "");
-Expect(1, 1824, '\p{^Is_Jg=mim}', "");
-Expect(1, 1824, '\P{Is_Jg=mim}', "");
-Expect(0, 1824, '\P{^Is_Jg=mim}', "");
-Expect(1, 1825, '\p{Is_Jg=_ Mim}', "");
-Expect(0, 1825, '\p{^Is_Jg=_ Mim}', "");
-Expect(0, 1825, '\P{Is_Jg=_ Mim}', "");
-Expect(1, 1825, '\P{^Is_Jg=_ Mim}', "");
-Expect(0, 1824, '\p{Is_Jg=_ Mim}', "");
-Expect(1, 1824, '\p{^Is_Jg=_ Mim}', "");
-Expect(1, 1824, '\P{Is_Jg=_ Mim}', "");
-Expect(0, 1824, '\P{^Is_Jg=_ Mim}', "");
-Error('\p{Joining_Group=/a/ Heh_goal}');
-Error('\P{Joining_Group=/a/ Heh_goal}');
-Expect(1, 1730, '\p{Joining_Group: hehgoal}', "");
-Expect(0, 1730, '\p{^Joining_Group: hehgoal}', "");
-Expect(0, 1730, '\P{Joining_Group: hehgoal}', "");
-Expect(1, 1730, '\P{^Joining_Group: hehgoal}', "");
-Expect(0, 1728, '\p{Joining_Group: hehgoal}', "");
-Expect(1, 1728, '\p{^Joining_Group: hehgoal}', "");
-Expect(1, 1728, '\P{Joining_Group: hehgoal}', "");
-Expect(0, 1728, '\P{^Joining_Group: hehgoal}', "");
-Expect(1, 1730, '\p{Joining_Group= HEH GOAL}', "");
-Expect(0, 1730, '\p{^Joining_Group= HEH GOAL}', "");
-Expect(0, 1730, '\P{Joining_Group= HEH GOAL}', "");
-Expect(1, 1730, '\P{^Joining_Group= HEH GOAL}', "");
-Expect(0, 1728, '\p{Joining_Group= HEH GOAL}', "");
-Expect(1, 1728, '\p{^Joining_Group= HEH GOAL}', "");
-Expect(1, 1728, '\P{Joining_Group= HEH GOAL}', "");
-Expect(0, 1728, '\P{^Joining_Group= HEH GOAL}', "");
-Error('\p{Jg:-_heh:=Goal}');
-Error('\P{Jg:-_heh:=Goal}');
-Expect(1, 1730, '\p{Jg=hehgoal}', "");
-Expect(0, 1730, '\p{^Jg=hehgoal}', "");
-Expect(0, 1730, '\P{Jg=hehgoal}', "");
-Expect(1, 1730, '\P{^Jg=hehgoal}', "");
-Expect(0, 1728, '\p{Jg=hehgoal}', "");
-Expect(1, 1728, '\p{^Jg=hehgoal}', "");
-Expect(1, 1728, '\P{Jg=hehgoal}', "");
-Expect(0, 1728, '\P{^Jg=hehgoal}', "");
-Expect(1, 1730, '\p{Jg= -HEH_goal}', "");
-Expect(0, 1730, '\p{^Jg= -HEH_goal}', "");
-Expect(0, 1730, '\P{Jg= -HEH_goal}', "");
-Expect(1, 1730, '\P{^Jg= -HEH_goal}', "");
-Expect(0, 1728, '\p{Jg= -HEH_goal}', "");
-Expect(1, 1728, '\p{^Jg= -HEH_goal}', "");
-Expect(1, 1728, '\P{Jg= -HEH_goal}', "");
-Expect(0, 1728, '\P{^Jg= -HEH_goal}', "");
-Error('\p{Is_Joining_Group=- heh Goal/a/}');
-Error('\P{Is_Joining_Group=- heh Goal/a/}');
-Expect(1, 1730, '\p{Is_Joining_Group=hehgoal}', "");
-Expect(0, 1730, '\p{^Is_Joining_Group=hehgoal}', "");
-Expect(0, 1730, '\P{Is_Joining_Group=hehgoal}', "");
-Expect(1, 1730, '\P{^Is_Joining_Group=hehgoal}', "");
-Expect(0, 1728, '\p{Is_Joining_Group=hehgoal}', "");
-Expect(1, 1728, '\p{^Is_Joining_Group=hehgoal}', "");
-Expect(1, 1728, '\P{Is_Joining_Group=hehgoal}', "");
-Expect(0, 1728, '\P{^Is_Joining_Group=hehgoal}', "");
-Expect(1, 1730, '\p{Is_Joining_Group:HehGoal}', "");
-Expect(0, 1730, '\p{^Is_Joining_Group:HehGoal}', "");
-Expect(0, 1730, '\P{Is_Joining_Group:HehGoal}', "");
-Expect(1, 1730, '\P{^Is_Joining_Group:HehGoal}', "");
-Expect(0, 1728, '\p{Is_Joining_Group:HehGoal}', "");
-Expect(1, 1728, '\p{^Is_Joining_Group:HehGoal}', "");
-Expect(1, 1728, '\P{Is_Joining_Group:HehGoal}', "");
-Expect(0, 1728, '\P{^Is_Joining_Group:HehGoal}', "");
-Error('\p{Is_Jg= :=HEHGOAL}');
-Error('\P{Is_Jg= :=HEHGOAL}');
-Expect(1, 1730, '\p{Is_Jg=hehgoal}', "");
-Expect(0, 1730, '\p{^Is_Jg=hehgoal}', "");
-Expect(0, 1730, '\P{Is_Jg=hehgoal}', "");
-Expect(1, 1730, '\P{^Is_Jg=hehgoal}', "");
-Expect(0, 1728, '\p{Is_Jg=hehgoal}', "");
-Expect(1, 1728, '\p{^Is_Jg=hehgoal}', "");
-Expect(1, 1728, '\P{Is_Jg=hehgoal}', "");
-Expect(0, 1728, '\P{^Is_Jg=hehgoal}', "");
-Expect(1, 1730, '\p{Is_Jg= -HEH GOAL}', "");
-Expect(0, 1730, '\p{^Is_Jg= -HEH GOAL}', "");
-Expect(0, 1730, '\P{Is_Jg= -HEH GOAL}', "");
-Expect(1, 1730, '\P{^Is_Jg= -HEH GOAL}', "");
-Expect(0, 1728, '\p{Is_Jg= -HEH GOAL}', "");
-Expect(1, 1728, '\p{^Is_Jg= -HEH GOAL}', "");
-Expect(1, 1728, '\P{Is_Jg= -HEH GOAL}', "");
-Expect(0, 1728, '\P{^Is_Jg= -HEH GOAL}', "");
-Error('\p{Joining_Group= Khaph/a/}');
-Error('\P{Joining_Group= Khaph/a/}');
-Expect(1, 1870, '\p{Joining_Group=khaph}', "");
-Expect(0, 1870, '\p{^Joining_Group=khaph}', "");
-Expect(0, 1870, '\P{Joining_Group=khaph}', "");
-Expect(1, 1870, '\P{^Joining_Group=khaph}', "");
-Expect(0, 1869, '\p{Joining_Group=khaph}', "");
-Expect(1, 1869, '\p{^Joining_Group=khaph}', "");
-Expect(1, 1869, '\P{Joining_Group=khaph}', "");
-Expect(0, 1869, '\P{^Joining_Group=khaph}', "");
-Expect(1, 1870, '\p{Joining_Group= khaph}', "");
-Expect(0, 1870, '\p{^Joining_Group= khaph}', "");
-Expect(0, 1870, '\P{Joining_Group= khaph}', "");
-Expect(1, 1870, '\P{^Joining_Group= khaph}', "");
-Expect(0, 1869, '\p{Joining_Group= khaph}', "");
-Expect(1, 1869, '\p{^Joining_Group= khaph}', "");
-Expect(1, 1869, '\P{Joining_Group= khaph}', "");
-Expect(0, 1869, '\P{^Joining_Group= khaph}', "");
-Error('\p{Jg=:= Khaph}');
-Error('\P{Jg=:= Khaph}');
-Expect(1, 1870, '\p{Jg=khaph}', "");
-Expect(0, 1870, '\p{^Jg=khaph}', "");
-Expect(0, 1870, '\P{Jg=khaph}', "");
-Expect(1, 1870, '\P{^Jg=khaph}', "");
-Expect(0, 1869, '\p{Jg=khaph}', "");
-Expect(1, 1869, '\p{^Jg=khaph}', "");
-Expect(1, 1869, '\P{Jg=khaph}', "");
-Expect(0, 1869, '\P{^Jg=khaph}', "");
-Expect(1, 1870, '\p{Jg=- KHAPH}', "");
-Expect(0, 1870, '\p{^Jg=- KHAPH}', "");
-Expect(0, 1870, '\P{Jg=- KHAPH}', "");
-Expect(1, 1870, '\P{^Jg=- KHAPH}', "");
-Expect(0, 1869, '\p{Jg=- KHAPH}', "");
-Expect(1, 1869, '\p{^Jg=- KHAPH}', "");
-Expect(1, 1869, '\P{Jg=- KHAPH}', "");
-Expect(0, 1869, '\P{^Jg=- KHAPH}', "");
-Error('\p{Is_Joining_Group=_:=Khaph}');
-Error('\P{Is_Joining_Group=_:=Khaph}');
-Expect(1, 1870, '\p{Is_Joining_Group=khaph}', "");
-Expect(0, 1870, '\p{^Is_Joining_Group=khaph}', "");
-Expect(0, 1870, '\P{Is_Joining_Group=khaph}', "");
-Expect(1, 1870, '\P{^Is_Joining_Group=khaph}', "");
-Expect(0, 1869, '\p{Is_Joining_Group=khaph}', "");
-Expect(1, 1869, '\p{^Is_Joining_Group=khaph}', "");
-Expect(1, 1869, '\P{Is_Joining_Group=khaph}', "");
-Expect(0, 1869, '\P{^Is_Joining_Group=khaph}', "");
-Expect(1, 1870, '\p{Is_Joining_Group= _KHAPH}', "");
-Expect(0, 1870, '\p{^Is_Joining_Group= _KHAPH}', "");
-Expect(0, 1870, '\P{Is_Joining_Group= _KHAPH}', "");
-Expect(1, 1870, '\P{^Is_Joining_Group= _KHAPH}', "");
-Expect(0, 1869, '\p{Is_Joining_Group= _KHAPH}', "");
-Expect(1, 1869, '\p{^Is_Joining_Group= _KHAPH}', "");
-Expect(1, 1869, '\P{Is_Joining_Group= _KHAPH}', "");
-Expect(0, 1869, '\P{^Is_Joining_Group= _KHAPH}', "");
-Error('\p{Is_Jg= KHAPH/a/}');
-Error('\P{Is_Jg= KHAPH/a/}');
-Expect(1, 1870, '\p{Is_Jg=khaph}', "");
-Expect(0, 1870, '\p{^Is_Jg=khaph}', "");
-Expect(0, 1870, '\P{Is_Jg=khaph}', "");
-Expect(1, 1870, '\P{^Is_Jg=khaph}', "");
-Expect(0, 1869, '\p{Is_Jg=khaph}', "");
-Expect(1, 1869, '\p{^Is_Jg=khaph}', "");
-Expect(1, 1869, '\P{Is_Jg=khaph}', "");
-Expect(0, 1869, '\P{^Is_Jg=khaph}', "");
-Expect(1, 1870, '\p{Is_Jg: khaph}', "");
-Expect(0, 1870, '\p{^Is_Jg: khaph}', "");
-Expect(0, 1870, '\P{Is_Jg: khaph}', "");
-Expect(1, 1870, '\P{^Is_Jg: khaph}', "");
-Expect(0, 1869, '\p{Is_Jg: khaph}', "");
-Expect(1, 1869, '\p{^Is_Jg: khaph}', "");
-Expect(1, 1869, '\P{Is_Jg: khaph}', "");
-Expect(0, 1869, '\P{^Is_Jg: khaph}', "");
-Error('\p{Joining_Group=/a/- Sad}');
-Error('\P{Joining_Group=/a/- Sad}');
-Expect(1, 1590, '\p{Joining_Group=sad}', "");
-Expect(0, 1590, '\p{^Joining_Group=sad}', "");
-Expect(0, 1590, '\P{Joining_Group=sad}', "");
-Expect(1, 1590, '\P{^Joining_Group=sad}', "");
-Expect(0, 1588, '\p{Joining_Group=sad}', "");
-Expect(1, 1588, '\p{^Joining_Group=sad}', "");
-Expect(1, 1588, '\P{Joining_Group=sad}', "");
-Expect(0, 1588, '\P{^Joining_Group=sad}', "");
-Expect(1, 1590, '\p{Joining_Group=- Sad}', "");
-Expect(0, 1590, '\p{^Joining_Group=- Sad}', "");
-Expect(0, 1590, '\P{Joining_Group=- Sad}', "");
-Expect(1, 1590, '\P{^Joining_Group=- Sad}', "");
-Expect(0, 1588, '\p{Joining_Group=- Sad}', "");
-Expect(1, 1588, '\p{^Joining_Group=- Sad}', "");
-Expect(1, 1588, '\P{Joining_Group=- Sad}', "");
-Expect(0, 1588, '\P{^Joining_Group=- Sad}', "");
-Error('\p{Jg=/a/ Sad}');
-Error('\P{Jg=/a/ Sad}');
-Expect(1, 1590, '\p{Jg=sad}', "");
-Expect(0, 1590, '\p{^Jg=sad}', "");
-Expect(0, 1590, '\P{Jg=sad}', "");
-Expect(1, 1590, '\P{^Jg=sad}', "");
-Expect(0, 1588, '\p{Jg=sad}', "");
-Expect(1, 1588, '\p{^Jg=sad}', "");
-Expect(1, 1588, '\P{Jg=sad}', "");
-Expect(0, 1588, '\P{^Jg=sad}', "");
-Expect(1, 1590, '\p{Jg=-SAD}', "");
-Expect(0, 1590, '\p{^Jg=-SAD}', "");
-Expect(0, 1590, '\P{Jg=-SAD}', "");
-Expect(1, 1590, '\P{^Jg=-SAD}', "");
-Expect(0, 1588, '\p{Jg=-SAD}', "");
-Expect(1, 1588, '\p{^Jg=-SAD}', "");
-Expect(1, 1588, '\P{Jg=-SAD}', "");
-Expect(0, 1588, '\P{^Jg=-SAD}', "");
-Error('\p{Is_Joining_Group= SAD:=}');
-Error('\P{Is_Joining_Group= SAD:=}');
-Expect(1, 1590, '\p{Is_Joining_Group=sad}', "");
-Expect(0, 1590, '\p{^Is_Joining_Group=sad}', "");
-Expect(0, 1590, '\P{Is_Joining_Group=sad}', "");
-Expect(1, 1590, '\P{^Is_Joining_Group=sad}', "");
-Expect(0, 1588, '\p{Is_Joining_Group=sad}', "");
-Expect(1, 1588, '\p{^Is_Joining_Group=sad}', "");
-Expect(1, 1588, '\P{Is_Joining_Group=sad}', "");
-Expect(0, 1588, '\P{^Is_Joining_Group=sad}', "");
-Expect(1, 1590, '\p{Is_Joining_Group= Sad}', "");
-Expect(0, 1590, '\p{^Is_Joining_Group= Sad}', "");
-Expect(0, 1590, '\P{Is_Joining_Group= Sad}', "");
-Expect(1, 1590, '\P{^Is_Joining_Group= Sad}', "");
-Expect(0, 1588, '\p{Is_Joining_Group= Sad}', "");
-Expect(1, 1588, '\p{^Is_Joining_Group= Sad}', "");
-Expect(1, 1588, '\P{Is_Joining_Group= Sad}', "");
-Expect(0, 1588, '\P{^Is_Joining_Group= Sad}', "");
-Error('\p{Is_Jg= SAD:=}');
-Error('\P{Is_Jg= SAD:=}');
-Expect(1, 1590, '\p{Is_Jg=sad}', "");
-Expect(0, 1590, '\p{^Is_Jg=sad}', "");
-Expect(0, 1590, '\P{Is_Jg=sad}', "");
-Expect(1, 1590, '\P{^Is_Jg=sad}', "");
-Expect(0, 1588, '\p{Is_Jg=sad}', "");
-Expect(1, 1588, '\p{^Is_Jg=sad}', "");
-Expect(1, 1588, '\P{Is_Jg=sad}', "");
-Expect(0, 1588, '\P{^Is_Jg=sad}', "");
-Expect(1, 1590, '\p{Is_Jg: SAD}', "");
-Expect(0, 1590, '\p{^Is_Jg: SAD}', "");
-Expect(0, 1590, '\P{Is_Jg: SAD}', "");
-Expect(1, 1590, '\P{^Is_Jg: SAD}', "");
-Expect(0, 1588, '\p{Is_Jg: SAD}', "");
-Expect(1, 1588, '\p{^Is_Jg: SAD}', "");
-Expect(1, 1588, '\P{Is_Jg: SAD}', "");
-Expect(0, 1588, '\P{^Is_Jg: SAD}', "");
-Error('\p{Joining_Group=/a/ qaf}');
-Error('\P{Joining_Group=/a/ qaf}');
-Expect(1, 1602, '\p{Joining_Group=qaf}', "");
-Expect(0, 1602, '\p{^Joining_Group=qaf}', "");
-Expect(0, 1602, '\P{Joining_Group=qaf}', "");
-Expect(1, 1602, '\P{^Joining_Group=qaf}', "");
-Expect(0, 1601, '\p{Joining_Group=qaf}', "");
-Expect(1, 1601, '\p{^Joining_Group=qaf}', "");
-Expect(1, 1601, '\P{Joining_Group=qaf}', "");
-Expect(0, 1601, '\P{^Joining_Group=qaf}', "");
-Expect(1, 1602, '\p{Joining_Group= qaf}', "");
-Expect(0, 1602, '\p{^Joining_Group= qaf}', "");
-Expect(0, 1602, '\P{Joining_Group= qaf}', "");
-Expect(1, 1602, '\P{^Joining_Group= qaf}', "");
-Expect(0, 1601, '\p{Joining_Group= qaf}', "");
-Expect(1, 1601, '\p{^Joining_Group= qaf}', "");
-Expect(1, 1601, '\P{Joining_Group= qaf}', "");
-Expect(0, 1601, '\P{^Joining_Group= qaf}', "");
-Error('\p{Jg=:= _Qaf}');
-Error('\P{Jg=:= _Qaf}');
-Expect(1, 1602, '\p{Jg=qaf}', "");
-Expect(0, 1602, '\p{^Jg=qaf}', "");
-Expect(0, 1602, '\P{Jg=qaf}', "");
-Expect(1, 1602, '\P{^Jg=qaf}', "");
-Expect(0, 1601, '\p{Jg=qaf}', "");
-Expect(1, 1601, '\p{^Jg=qaf}', "");
-Expect(1, 1601, '\P{Jg=qaf}', "");
-Expect(0, 1601, '\P{^Jg=qaf}', "");
-Expect(1, 1602, '\p{Jg= QAF}', "");
-Expect(0, 1602, '\p{^Jg= QAF}', "");
-Expect(0, 1602, '\P{Jg= QAF}', "");
-Expect(1, 1602, '\P{^Jg= QAF}', "");
-Expect(0, 1601, '\p{Jg= QAF}', "");
-Expect(1, 1601, '\p{^Jg= QAF}', "");
-Expect(1, 1601, '\P{Jg= QAF}', "");
-Expect(0, 1601, '\P{^Jg= QAF}', "");
-Error('\p{Is_Joining_Group= :=Qaf}');
-Error('\P{Is_Joining_Group= :=Qaf}');
-Expect(1, 1602, '\p{Is_Joining_Group=qaf}', "");
-Expect(0, 1602, '\p{^Is_Joining_Group=qaf}', "");
-Expect(0, 1602, '\P{Is_Joining_Group=qaf}', "");
-Expect(1, 1602, '\P{^Is_Joining_Group=qaf}', "");
-Expect(0, 1601, '\p{Is_Joining_Group=qaf}', "");
-Expect(1, 1601, '\p{^Is_Joining_Group=qaf}', "");
-Expect(1, 1601, '\P{Is_Joining_Group=qaf}', "");
-Expect(0, 1601, '\P{^Is_Joining_Group=qaf}', "");
-Expect(1, 1602, '\p{Is_Joining_Group=_Qaf}', "");
-Expect(0, 1602, '\p{^Is_Joining_Group=_Qaf}', "");
-Expect(0, 1602, '\P{Is_Joining_Group=_Qaf}', "");
-Expect(1, 1602, '\P{^Is_Joining_Group=_Qaf}', "");
-Expect(0, 1601, '\p{Is_Joining_Group=_Qaf}', "");
-Expect(1, 1601, '\p{^Is_Joining_Group=_Qaf}', "");
-Expect(1, 1601, '\P{Is_Joining_Group=_Qaf}', "");
-Expect(0, 1601, '\P{^Is_Joining_Group=_Qaf}', "");
-Error('\p{Is_Jg: Qaf:=}');
-Error('\P{Is_Jg: Qaf:=}');
-Expect(1, 1602, '\p{Is_Jg=qaf}', "");
-Expect(0, 1602, '\p{^Is_Jg=qaf}', "");
-Expect(0, 1602, '\P{Is_Jg=qaf}', "");
-Expect(1, 1602, '\P{^Is_Jg=qaf}', "");
-Expect(0, 1601, '\p{Is_Jg=qaf}', "");
-Expect(1, 1601, '\p{^Is_Jg=qaf}', "");
-Expect(1, 1601, '\P{Is_Jg=qaf}', "");
-Expect(0, 1601, '\P{^Is_Jg=qaf}', "");
-Expect(1, 1602, '\p{Is_Jg=QAF}', "");
-Expect(0, 1602, '\p{^Is_Jg=QAF}', "");
-Expect(0, 1602, '\P{Is_Jg=QAF}', "");
-Expect(1, 1602, '\P{^Is_Jg=QAF}', "");
-Expect(0, 1601, '\p{Is_Jg=QAF}', "");
-Expect(1, 1601, '\p{^Is_Jg=QAF}', "");
-Expect(1, 1601, '\P{Is_Jg=QAF}', "");
-Expect(0, 1601, '\P{^Is_Jg=QAF}', "");
-Error('\p{Joining_Group=/a/kaph}');
-Error('\P{Joining_Group=/a/kaph}');
-Expect(1, 1823, '\p{Joining_Group=kaph}', "");
-Expect(0, 1823, '\p{^Joining_Group=kaph}', "");
-Expect(0, 1823, '\P{Joining_Group=kaph}', "");
-Expect(1, 1823, '\P{^Joining_Group=kaph}', "");
-Expect(0, 1822, '\p{Joining_Group=kaph}', "");
-Expect(1, 1822, '\p{^Joining_Group=kaph}', "");
-Expect(1, 1822, '\P{Joining_Group=kaph}', "");
-Expect(0, 1822, '\P{^Joining_Group=kaph}', "");
-Expect(1, 1823, '\p{Joining_Group= Kaph}', "");
-Expect(0, 1823, '\p{^Joining_Group= Kaph}', "");
-Expect(0, 1823, '\P{Joining_Group= Kaph}', "");
-Expect(1, 1823, '\P{^Joining_Group= Kaph}', "");
-Expect(0, 1822, '\p{Joining_Group= Kaph}', "");
-Expect(1, 1822, '\p{^Joining_Group= Kaph}', "");
-Expect(1, 1822, '\P{Joining_Group= Kaph}', "");
-Expect(0, 1822, '\P{^Joining_Group= Kaph}', "");
-Error('\p{Jg: -kaph/a/}');
-Error('\P{Jg: -kaph/a/}');
-Expect(1, 1823, '\p{Jg:kaph}', "");
-Expect(0, 1823, '\p{^Jg:kaph}', "");
-Expect(0, 1823, '\P{Jg:kaph}', "");
-Expect(1, 1823, '\P{^Jg:kaph}', "");
-Expect(0, 1822, '\p{Jg:kaph}', "");
-Expect(1, 1822, '\p{^Jg:kaph}', "");
-Expect(1, 1822, '\P{Jg:kaph}', "");
-Expect(0, 1822, '\P{^Jg:kaph}', "");
-Expect(1, 1823, '\p{Jg=KAPH}', "");
-Expect(0, 1823, '\p{^Jg=KAPH}', "");
-Expect(0, 1823, '\P{Jg=KAPH}', "");
-Expect(1, 1823, '\P{^Jg=KAPH}', "");
-Expect(0, 1822, '\p{Jg=KAPH}', "");
-Expect(1, 1822, '\p{^Jg=KAPH}', "");
-Expect(1, 1822, '\P{Jg=KAPH}', "");
-Expect(0, 1822, '\P{^Jg=KAPH}', "");
-Error('\p{Is_Joining_Group= /a/Kaph}');
-Error('\P{Is_Joining_Group= /a/Kaph}');
-Expect(1, 1823, '\p{Is_Joining_Group: kaph}', "");
-Expect(0, 1823, '\p{^Is_Joining_Group: kaph}', "");
-Expect(0, 1823, '\P{Is_Joining_Group: kaph}', "");
-Expect(1, 1823, '\P{^Is_Joining_Group: kaph}', "");
-Expect(0, 1822, '\p{Is_Joining_Group: kaph}', "");
-Expect(1, 1822, '\p{^Is_Joining_Group: kaph}', "");
-Expect(1, 1822, '\P{Is_Joining_Group: kaph}', "");
-Expect(0, 1822, '\P{^Is_Joining_Group: kaph}', "");
-Expect(1, 1823, '\p{Is_Joining_Group: Kaph}', "");
-Expect(0, 1823, '\p{^Is_Joining_Group: Kaph}', "");
-Expect(0, 1823, '\P{Is_Joining_Group: Kaph}', "");
-Expect(1, 1823, '\P{^Is_Joining_Group: Kaph}', "");
-Expect(0, 1822, '\p{Is_Joining_Group: Kaph}', "");
-Expect(1, 1822, '\p{^Is_Joining_Group: Kaph}', "");
-Expect(1, 1822, '\P{Is_Joining_Group: Kaph}', "");
-Expect(0, 1822, '\P{^Is_Joining_Group: Kaph}', "");
-Error('\p{Is_Jg=:=__kaph}');
-Error('\P{Is_Jg=:=__kaph}');
-Expect(1, 1823, '\p{Is_Jg=kaph}', "");
-Expect(0, 1823, '\p{^Is_Jg=kaph}', "");
-Expect(0, 1823, '\P{Is_Jg=kaph}', "");
-Expect(1, 1823, '\P{^Is_Jg=kaph}', "");
-Expect(0, 1822, '\p{Is_Jg=kaph}', "");
-Expect(1, 1822, '\p{^Is_Jg=kaph}', "");
-Expect(1, 1822, '\P{Is_Jg=kaph}', "");
-Expect(0, 1822, '\P{^Is_Jg=kaph}', "");
-Expect(1, 1823, '\p{Is_Jg=_ KAPH}', "");
-Expect(0, 1823, '\p{^Is_Jg=_ KAPH}', "");
-Expect(0, 1823, '\P{Is_Jg=_ KAPH}', "");
-Expect(1, 1823, '\P{^Is_Jg=_ KAPH}', "");
-Expect(0, 1822, '\p{Is_Jg=_ KAPH}', "");
-Expect(1, 1822, '\p{^Is_Jg=_ KAPH}', "");
-Expect(1, 1822, '\P{Is_Jg=_ KAPH}', "");
-Expect(0, 1822, '\P{^Is_Jg=_ KAPH}', "");
-Error('\p{Joining_Group=:=__FEH}');
-Error('\P{Joining_Group=:=__FEH}');
-Expect(1, 1601, '\p{Joining_Group=feh}', "");
-Expect(0, 1601, '\p{^Joining_Group=feh}', "");
-Expect(0, 1601, '\P{Joining_Group=feh}', "");
-Expect(1, 1601, '\P{^Joining_Group=feh}', "");
-Expect(0, 1600, '\p{Joining_Group=feh}', "");
-Expect(1, 1600, '\p{^Joining_Group=feh}', "");
-Expect(1, 1600, '\P{Joining_Group=feh}', "");
-Expect(0, 1600, '\P{^Joining_Group=feh}', "");
-Expect(1, 1601, '\p{Joining_Group=_ FEH}', "");
-Expect(0, 1601, '\p{^Joining_Group=_ FEH}', "");
-Expect(0, 1601, '\P{Joining_Group=_ FEH}', "");
-Expect(1, 1601, '\P{^Joining_Group=_ FEH}', "");
-Expect(0, 1600, '\p{Joining_Group=_ FEH}', "");
-Expect(1, 1600, '\p{^Joining_Group=_ FEH}', "");
-Expect(1, 1600, '\P{Joining_Group=_ FEH}', "");
-Expect(0, 1600, '\P{^Joining_Group=_ FEH}', "");
-Error('\p{Jg= :=Feh}');
-Error('\P{Jg= :=Feh}');
-Expect(1, 1601, '\p{Jg:feh}', "");
-Expect(0, 1601, '\p{^Jg:feh}', "");
-Expect(0, 1601, '\P{Jg:feh}', "");
-Expect(1, 1601, '\P{^Jg:feh}', "");
-Expect(0, 1600, '\p{Jg:feh}', "");
-Expect(1, 1600, '\p{^Jg:feh}', "");
-Expect(1, 1600, '\P{Jg:feh}', "");
-Expect(0, 1600, '\P{^Jg:feh}', "");
-Expect(1, 1601, '\p{Jg=_ Feh}', "");
-Expect(0, 1601, '\p{^Jg=_ Feh}', "");
-Expect(0, 1601, '\P{Jg=_ Feh}', "");
-Expect(1, 1601, '\P{^Jg=_ Feh}', "");
-Expect(0, 1600, '\p{Jg=_ Feh}', "");
-Expect(1, 1600, '\p{^Jg=_ Feh}', "");
-Expect(1, 1600, '\P{Jg=_ Feh}', "");
-Expect(0, 1600, '\P{^Jg=_ Feh}', "");
-Error('\p{Is_Joining_Group=/a/ feh}');
-Error('\P{Is_Joining_Group=/a/ feh}');
-Expect(1, 1601, '\p{Is_Joining_Group=feh}', "");
-Expect(0, 1601, '\p{^Is_Joining_Group=feh}', "");
-Expect(0, 1601, '\P{Is_Joining_Group=feh}', "");
-Expect(1, 1601, '\P{^Is_Joining_Group=feh}', "");
-Expect(0, 1600, '\p{Is_Joining_Group=feh}', "");
-Expect(1, 1600, '\p{^Is_Joining_Group=feh}', "");
-Expect(1, 1600, '\P{Is_Joining_Group=feh}', "");
-Expect(0, 1600, '\P{^Is_Joining_Group=feh}', "");
-Expect(1, 1601, '\p{Is_Joining_Group=_ Feh}', "");
-Expect(0, 1601, '\p{^Is_Joining_Group=_ Feh}', "");
-Expect(0, 1601, '\P{Is_Joining_Group=_ Feh}', "");
-Expect(1, 1601, '\P{^Is_Joining_Group=_ Feh}', "");
-Expect(0, 1600, '\p{Is_Joining_Group=_ Feh}', "");
-Expect(1, 1600, '\p{^Is_Joining_Group=_ Feh}', "");
-Expect(1, 1600, '\P{Is_Joining_Group=_ Feh}', "");
-Expect(0, 1600, '\P{^Is_Joining_Group=_ Feh}', "");
-Error('\p{Is_Jg=:=FEH}');
-Error('\P{Is_Jg=:=FEH}');
-Expect(1, 1601, '\p{Is_Jg: feh}', "");
-Expect(0, 1601, '\p{^Is_Jg: feh}', "");
-Expect(0, 1601, '\P{Is_Jg: feh}', "");
-Expect(1, 1601, '\P{^Is_Jg: feh}', "");
-Expect(0, 1600, '\p{Is_Jg: feh}', "");
-Expect(1, 1600, '\p{^Is_Jg: feh}', "");
-Expect(1, 1600, '\P{Is_Jg: feh}', "");
-Expect(0, 1600, '\P{^Is_Jg: feh}', "");
-Expect(1, 1601, '\p{Is_Jg= -feh}', "");
-Expect(0, 1601, '\p{^Is_Jg= -feh}', "");
-Expect(0, 1601, '\P{Is_Jg= -feh}', "");
-Expect(1, 1601, '\P{^Is_Jg= -feh}', "");
-Expect(0, 1600, '\p{Is_Jg= -feh}', "");
-Expect(1, 1600, '\p{^Is_Jg= -feh}', "");
-Expect(1, 1600, '\P{Is_Jg= -feh}', "");
-Expect(0, 1600, '\P{^Is_Jg= -feh}', "");
-Error('\p{Joining_Group=-:=Farsi_YEH}');
-Error('\P{Joining_Group=-:=Farsi_YEH}');
-Expect(1, 1599, '\p{Joining_Group=farsiyeh}', "");
-Expect(0, 1599, '\p{^Joining_Group=farsiyeh}', "");
-Expect(0, 1599, '\P{Joining_Group=farsiyeh}', "");
-Expect(1, 1599, '\P{^Joining_Group=farsiyeh}', "");
-Expect(0, 1596, '\p{Joining_Group=farsiyeh}', "");
-Expect(1, 1596, '\p{^Joining_Group=farsiyeh}', "");
-Expect(1, 1596, '\P{Joining_Group=farsiyeh}', "");
-Expect(0, 1596, '\P{^Joining_Group=farsiyeh}', "");
-Expect(1, 1599, '\p{Joining_Group= -Farsi Yeh}', "");
-Expect(0, 1599, '\p{^Joining_Group= -Farsi Yeh}', "");
-Expect(0, 1599, '\P{Joining_Group= -Farsi Yeh}', "");
-Expect(1, 1599, '\P{^Joining_Group= -Farsi Yeh}', "");
-Expect(0, 1596, '\p{Joining_Group= -Farsi Yeh}', "");
-Expect(1, 1596, '\p{^Joining_Group= -Farsi Yeh}', "");
-Expect(1, 1596, '\P{Joining_Group= -Farsi Yeh}', "");
-Expect(0, 1596, '\P{^Joining_Group= -Farsi Yeh}', "");
-Error('\p{Jg= Farsi_YEH:=}');
-Error('\P{Jg= Farsi_YEH:=}');
-Expect(1, 1599, '\p{Jg=farsiyeh}', "");
-Expect(0, 1599, '\p{^Jg=farsiyeh}', "");
-Expect(0, 1599, '\P{Jg=farsiyeh}', "");
-Expect(1, 1599, '\P{^Jg=farsiyeh}', "");
-Expect(0, 1596, '\p{Jg=farsiyeh}', "");
-Expect(1, 1596, '\p{^Jg=farsiyeh}', "");
-Expect(1, 1596, '\P{Jg=farsiyeh}', "");
-Expect(0, 1596, '\P{^Jg=farsiyeh}', "");
-Expect(1, 1599, '\p{Jg=Farsi-Yeh}', "");
-Expect(0, 1599, '\p{^Jg=Farsi-Yeh}', "");
-Expect(0, 1599, '\P{Jg=Farsi-Yeh}', "");
-Expect(1, 1599, '\P{^Jg=Farsi-Yeh}', "");
-Expect(0, 1596, '\p{Jg=Farsi-Yeh}', "");
-Expect(1, 1596, '\p{^Jg=Farsi-Yeh}', "");
-Expect(1, 1596, '\P{Jg=Farsi-Yeh}', "");
-Expect(0, 1596, '\P{^Jg=Farsi-Yeh}', "");
-Error('\p{Is_Joining_Group: -Farsi:=YEH}');
-Error('\P{Is_Joining_Group: -Farsi:=YEH}');
-Expect(1, 1599, '\p{Is_Joining_Group=farsiyeh}', "");
-Expect(0, 1599, '\p{^Is_Joining_Group=farsiyeh}', "");
-Expect(0, 1599, '\P{Is_Joining_Group=farsiyeh}', "");
-Expect(1, 1599, '\P{^Is_Joining_Group=farsiyeh}', "");
-Expect(0, 1596, '\p{Is_Joining_Group=farsiyeh}', "");
-Expect(1, 1596, '\p{^Is_Joining_Group=farsiyeh}', "");
-Expect(1, 1596, '\P{Is_Joining_Group=farsiyeh}', "");
-Expect(0, 1596, '\P{^Is_Joining_Group=farsiyeh}', "");
-Expect(1, 1599, '\p{Is_Joining_Group= FARSI_YEH}', "");
-Expect(0, 1599, '\p{^Is_Joining_Group= FARSI_YEH}', "");
-Expect(0, 1599, '\P{Is_Joining_Group= FARSI_YEH}', "");
-Expect(1, 1599, '\P{^Is_Joining_Group= FARSI_YEH}', "");
-Expect(0, 1596, '\p{Is_Joining_Group= FARSI_YEH}', "");
-Expect(1, 1596, '\p{^Is_Joining_Group= FARSI_YEH}', "");
-Expect(1, 1596, '\P{Is_Joining_Group= FARSI_YEH}', "");
-Expect(0, 1596, '\P{^Is_Joining_Group= FARSI_YEH}', "");
-Error('\p{Is_Jg= Farsi:=Yeh}');
-Error('\P{Is_Jg= Farsi:=Yeh}');
-Expect(1, 1599, '\p{Is_Jg=farsiyeh}', "");
-Expect(0, 1599, '\p{^Is_Jg=farsiyeh}', "");
-Expect(0, 1599, '\P{Is_Jg=farsiyeh}', "");
-Expect(1, 1599, '\P{^Is_Jg=farsiyeh}', "");
-Expect(0, 1596, '\p{Is_Jg=farsiyeh}', "");
-Expect(1, 1596, '\p{^Is_Jg=farsiyeh}', "");
-Expect(1, 1596, '\P{Is_Jg=farsiyeh}', "");
-Expect(0, 1596, '\P{^Is_Jg=farsiyeh}', "");
-Expect(1, 1599, '\p{Is_Jg=_ farsi yeh}', "");
-Expect(0, 1599, '\p{^Is_Jg=_ farsi yeh}', "");
-Expect(0, 1599, '\P{Is_Jg=_ farsi yeh}', "");
-Expect(1, 1599, '\P{^Is_Jg=_ farsi yeh}', "");
-Expect(0, 1596, '\p{Is_Jg=_ farsi yeh}', "");
-Expect(1, 1596, '\p{^Is_Jg=_ farsi yeh}', "");
-Expect(1, 1596, '\P{Is_Jg=_ farsi yeh}', "");
-Expect(0, 1596, '\P{^Is_Jg=_ farsi yeh}', "");
-Error('\p{Joining_Group=:= REVERSED_PE}');
-Error('\P{Joining_Group=:= REVERSED_PE}');
-Expect(1, 1831, '\p{Joining_Group=reversedpe}', "");
-Expect(0, 1831, '\p{^Joining_Group=reversedpe}', "");
-Expect(0, 1831, '\P{Joining_Group=reversedpe}', "");
-Expect(1, 1831, '\P{^Joining_Group=reversedpe}', "");
-Expect(0, 1830, '\p{Joining_Group=reversedpe}', "");
-Expect(1, 1830, '\p{^Joining_Group=reversedpe}', "");
-Expect(1, 1830, '\P{Joining_Group=reversedpe}', "");
-Expect(0, 1830, '\P{^Joining_Group=reversedpe}', "");
-Expect(1, 1831, '\p{Joining_Group=- Reversed pe}', "");
-Expect(0, 1831, '\p{^Joining_Group=- Reversed pe}', "");
-Expect(0, 1831, '\P{Joining_Group=- Reversed pe}', "");
-Expect(1, 1831, '\P{^Joining_Group=- Reversed pe}', "");
-Expect(0, 1830, '\p{Joining_Group=- Reversed pe}', "");
-Expect(1, 1830, '\p{^Joining_Group=- Reversed pe}', "");
-Expect(1, 1830, '\P{Joining_Group=- Reversed pe}', "");
-Expect(0, 1830, '\P{^Joining_Group=- Reversed pe}', "");
-Error('\p{Jg= :=Reversed_Pe}');
-Error('\P{Jg= :=Reversed_Pe}');
-Expect(1, 1831, '\p{Jg:reversedpe}', "");
-Expect(0, 1831, '\p{^Jg:reversedpe}', "");
-Expect(0, 1831, '\P{Jg:reversedpe}', "");
-Expect(1, 1831, '\P{^Jg:reversedpe}', "");
-Expect(0, 1830, '\p{Jg:reversedpe}', "");
-Expect(1, 1830, '\p{^Jg:reversedpe}', "");
-Expect(1, 1830, '\P{Jg:reversedpe}', "");
-Expect(0, 1830, '\P{^Jg:reversedpe}', "");
-Expect(1, 1831, '\p{Jg= _Reversed PE}', "");
-Expect(0, 1831, '\p{^Jg= _Reversed PE}', "");
-Expect(0, 1831, '\P{Jg= _Reversed PE}', "");
-Expect(1, 1831, '\P{^Jg= _Reversed PE}', "");
-Expect(0, 1830, '\p{Jg= _Reversed PE}', "");
-Expect(1, 1830, '\p{^Jg= _Reversed PE}', "");
-Expect(1, 1830, '\P{Jg= _Reversed PE}', "");
-Expect(0, 1830, '\P{^Jg= _Reversed PE}', "");
-Error('\p{Is_Joining_Group=--Reversed_Pe/a/}');
-Error('\P{Is_Joining_Group=--Reversed_Pe/a/}');
-Expect(1, 1831, '\p{Is_Joining_Group=reversedpe}', "");
-Expect(0, 1831, '\p{^Is_Joining_Group=reversedpe}', "");
-Expect(0, 1831, '\P{Is_Joining_Group=reversedpe}', "");
-Expect(1, 1831, '\P{^Is_Joining_Group=reversedpe}', "");
-Expect(0, 1830, '\p{Is_Joining_Group=reversedpe}', "");
-Expect(1, 1830, '\p{^Is_Joining_Group=reversedpe}', "");
-Expect(1, 1830, '\P{Is_Joining_Group=reversedpe}', "");
-Expect(0, 1830, '\P{^Is_Joining_Group=reversedpe}', "");
-Expect(1, 1831, '\p{Is_Joining_Group= reversed Pe}', "");
-Expect(0, 1831, '\p{^Is_Joining_Group= reversed Pe}', "");
-Expect(0, 1831, '\P{Is_Joining_Group= reversed Pe}', "");
-Expect(1, 1831, '\P{^Is_Joining_Group= reversed Pe}', "");
-Expect(0, 1830, '\p{Is_Joining_Group= reversed Pe}', "");
-Expect(1, 1830, '\p{^Is_Joining_Group= reversed Pe}', "");
-Expect(1, 1830, '\P{Is_Joining_Group= reversed Pe}', "");
-Expect(0, 1830, '\P{^Is_Joining_Group= reversed Pe}', "");
-Error('\p{Is_Jg=_/a/Reversed PE}');
-Error('\P{Is_Jg=_/a/Reversed PE}');
-Expect(1, 1831, '\p{Is_Jg=reversedpe}', "");
-Expect(0, 1831, '\p{^Is_Jg=reversedpe}', "");
-Expect(0, 1831, '\P{Is_Jg=reversedpe}', "");
-Expect(1, 1831, '\P{^Is_Jg=reversedpe}', "");
-Expect(0, 1830, '\p{Is_Jg=reversedpe}', "");
-Expect(1, 1830, '\p{^Is_Jg=reversedpe}', "");
-Expect(1, 1830, '\P{Is_Jg=reversedpe}', "");
-Expect(0, 1830, '\P{^Is_Jg=reversedpe}', "");
-Expect(1, 1831, '\p{Is_Jg=_ ReversedPE}', "");
-Expect(0, 1831, '\p{^Is_Jg=_ ReversedPE}', "");
-Expect(0, 1831, '\P{Is_Jg=_ ReversedPE}', "");
-Expect(1, 1831, '\P{^Is_Jg=_ ReversedPE}', "");
-Expect(0, 1830, '\p{Is_Jg=_ ReversedPE}', "");
-Expect(1, 1830, '\p{^Is_Jg=_ ReversedPE}', "");
-Expect(1, 1830, '\P{Is_Jg=_ ReversedPE}', "");
-Expect(0, 1830, '\P{^Is_Jg=_ ReversedPE}', "");
-Error('\p{Joining_Group=--SHIN/a/}');
-Error('\P{Joining_Group=--SHIN/a/}');
-Expect(1, 1835, '\p{Joining_Group=shin}', "");
-Expect(0, 1835, '\p{^Joining_Group=shin}', "");
-Expect(0, 1835, '\P{Joining_Group=shin}', "");
-Expect(1, 1835, '\P{^Joining_Group=shin}', "");
-Expect(0, 1834, '\p{Joining_Group=shin}', "");
-Expect(1, 1834, '\p{^Joining_Group=shin}', "");
-Expect(1, 1834, '\P{Joining_Group=shin}', "");
-Expect(0, 1834, '\P{^Joining_Group=shin}', "");
-Expect(1, 1835, '\p{Joining_Group=--shin}', "");
-Expect(0, 1835, '\p{^Joining_Group=--shin}', "");
-Expect(0, 1835, '\P{Joining_Group=--shin}', "");
-Expect(1, 1835, '\P{^Joining_Group=--shin}', "");
-Expect(0, 1834, '\p{Joining_Group=--shin}', "");
-Expect(1, 1834, '\p{^Joining_Group=--shin}', "");
-Expect(1, 1834, '\P{Joining_Group=--shin}', "");
-Expect(0, 1834, '\P{^Joining_Group=--shin}', "");
-Error('\p{Jg= Shin:=}');
-Error('\P{Jg= Shin:=}');
-Expect(1, 1835, '\p{Jg=shin}', "");
-Expect(0, 1835, '\p{^Jg=shin}', "");
-Expect(0, 1835, '\P{Jg=shin}', "");
-Expect(1, 1835, '\P{^Jg=shin}', "");
-Expect(0, 1834, '\p{Jg=shin}', "");
-Expect(1, 1834, '\p{^Jg=shin}', "");
-Expect(1, 1834, '\P{Jg=shin}', "");
-Expect(0, 1834, '\P{^Jg=shin}', "");
-Expect(1, 1835, '\p{Jg= Shin}', "");
-Expect(0, 1835, '\p{^Jg= Shin}', "");
-Expect(0, 1835, '\P{Jg= Shin}', "");
-Expect(1, 1835, '\P{^Jg= Shin}', "");
-Expect(0, 1834, '\p{Jg= Shin}', "");
-Expect(1, 1834, '\p{^Jg= Shin}', "");
-Expect(1, 1834, '\P{Jg= Shin}', "");
-Expect(0, 1834, '\P{^Jg= Shin}', "");
-Error('\p{Is_Joining_Group=:= shin}');
-Error('\P{Is_Joining_Group=:= shin}');
-Expect(1, 1835, '\p{Is_Joining_Group=shin}', "");
-Expect(0, 1835, '\p{^Is_Joining_Group=shin}', "");
-Expect(0, 1835, '\P{Is_Joining_Group=shin}', "");
-Expect(1, 1835, '\P{^Is_Joining_Group=shin}', "");
-Expect(0, 1834, '\p{Is_Joining_Group=shin}', "");
-Expect(1, 1834, '\p{^Is_Joining_Group=shin}', "");
-Expect(1, 1834, '\P{Is_Joining_Group=shin}', "");
-Expect(0, 1834, '\P{^Is_Joining_Group=shin}', "");
-Expect(1, 1835, '\p{Is_Joining_Group=SHIN}', "");
-Expect(0, 1835, '\p{^Is_Joining_Group=SHIN}', "");
-Expect(0, 1835, '\P{Is_Joining_Group=SHIN}', "");
-Expect(1, 1835, '\P{^Is_Joining_Group=SHIN}', "");
-Expect(0, 1834, '\p{Is_Joining_Group=SHIN}', "");
-Expect(1, 1834, '\p{^Is_Joining_Group=SHIN}', "");
-Expect(1, 1834, '\P{Is_Joining_Group=SHIN}', "");
-Expect(0, 1834, '\P{^Is_Joining_Group=SHIN}', "");
-Error('\p{Is_Jg: :=Shin}');
-Error('\P{Is_Jg: :=Shin}');
-Expect(1, 1835, '\p{Is_Jg:shin}', "");
-Expect(0, 1835, '\p{^Is_Jg:shin}', "");
-Expect(0, 1835, '\P{Is_Jg:shin}', "");
-Expect(1, 1835, '\P{^Is_Jg:shin}', "");
-Expect(0, 1834, '\p{Is_Jg:shin}', "");
-Expect(1, 1834, '\p{^Is_Jg:shin}', "");
-Expect(1, 1834, '\P{Is_Jg:shin}', "");
-Expect(0, 1834, '\P{^Is_Jg:shin}', "");
-Expect(1, 1835, '\p{Is_Jg=__shin}', "");
-Expect(0, 1835, '\p{^Is_Jg=__shin}', "");
-Expect(0, 1835, '\P{Is_Jg=__shin}', "");
-Expect(1, 1835, '\P{^Is_Jg=__shin}', "");
-Expect(0, 1834, '\p{Is_Jg=__shin}', "");
-Expect(1, 1834, '\p{^Is_Jg=__shin}', "");
-Expect(1, 1834, '\P{Is_Jg=__shin}', "");
-Expect(0, 1834, '\P{^Is_Jg=__shin}', "");
-Error('\p{Joining_Group=:=Yeh}');
-Error('\P{Joining_Group=:=Yeh}');
-Expect(1, 1574, '\p{Joining_Group=yeh}', "");
-Expect(0, 1574, '\p{^Joining_Group=yeh}', "");
-Expect(0, 1574, '\P{Joining_Group=yeh}', "");
-Expect(1, 1574, '\P{^Joining_Group=yeh}', "");
-Expect(0, 1573, '\p{Joining_Group=yeh}', "");
-Expect(1, 1573, '\p{^Joining_Group=yeh}', "");
-Expect(1, 1573, '\P{Joining_Group=yeh}', "");
-Expect(0, 1573, '\P{^Joining_Group=yeh}', "");
-Expect(1, 1574, '\p{Joining_Group: -Yeh}', "");
-Expect(0, 1574, '\p{^Joining_Group: -Yeh}', "");
-Expect(0, 1574, '\P{Joining_Group: -Yeh}', "");
-Expect(1, 1574, '\P{^Joining_Group: -Yeh}', "");
-Expect(0, 1573, '\p{Joining_Group: -Yeh}', "");
-Expect(1, 1573, '\p{^Joining_Group: -Yeh}', "");
-Expect(1, 1573, '\P{Joining_Group: -Yeh}', "");
-Expect(0, 1573, '\P{^Joining_Group: -Yeh}', "");
-Error('\p{Jg= /a/Yeh}');
-Error('\P{Jg= /a/Yeh}');
-Expect(1, 1574, '\p{Jg=yeh}', "");
-Expect(0, 1574, '\p{^Jg=yeh}', "");
-Expect(0, 1574, '\P{Jg=yeh}', "");
-Expect(1, 1574, '\P{^Jg=yeh}', "");
-Expect(0, 1573, '\p{Jg=yeh}', "");
-Expect(1, 1573, '\p{^Jg=yeh}', "");
-Expect(1, 1573, '\P{Jg=yeh}', "");
-Expect(0, 1573, '\P{^Jg=yeh}', "");
-Expect(1, 1574, '\p{Jg= yeh}', "");
-Expect(0, 1574, '\p{^Jg= yeh}', "");
-Expect(0, 1574, '\P{Jg= yeh}', "");
-Expect(1, 1574, '\P{^Jg= yeh}', "");
-Expect(0, 1573, '\p{Jg= yeh}', "");
-Expect(1, 1573, '\p{^Jg= yeh}', "");
-Expect(1, 1573, '\P{Jg= yeh}', "");
-Expect(0, 1573, '\P{^Jg= yeh}', "");
-Error('\p{Is_Joining_Group= yeh:=}');
-Error('\P{Is_Joining_Group= yeh:=}');
-Expect(1, 1574, '\p{Is_Joining_Group=yeh}', "");
-Expect(0, 1574, '\p{^Is_Joining_Group=yeh}', "");
-Expect(0, 1574, '\P{Is_Joining_Group=yeh}', "");
-Expect(1, 1574, '\P{^Is_Joining_Group=yeh}', "");
-Expect(0, 1573, '\p{Is_Joining_Group=yeh}', "");
-Expect(1, 1573, '\p{^Is_Joining_Group=yeh}', "");
-Expect(1, 1573, '\P{Is_Joining_Group=yeh}', "");
-Expect(0, 1573, '\P{^Is_Joining_Group=yeh}', "");
-Expect(1, 1574, '\p{Is_Joining_Group=__YEH}', "");
-Expect(0, 1574, '\p{^Is_Joining_Group=__YEH}', "");
-Expect(0, 1574, '\P{Is_Joining_Group=__YEH}', "");
-Expect(1, 1574, '\P{^Is_Joining_Group=__YEH}', "");
-Expect(0, 1573, '\p{Is_Joining_Group=__YEH}', "");
-Expect(1, 1573, '\p{^Is_Joining_Group=__YEH}', "");
-Expect(1, 1573, '\P{Is_Joining_Group=__YEH}', "");
-Expect(0, 1573, '\P{^Is_Joining_Group=__YEH}', "");
-Error('\p{Is_Jg=/a/ Yeh}');
-Error('\P{Is_Jg=/a/ Yeh}');
-Expect(1, 1574, '\p{Is_Jg=yeh}', "");
-Expect(0, 1574, '\p{^Is_Jg=yeh}', "");
-Expect(0, 1574, '\P{Is_Jg=yeh}', "");
-Expect(1, 1574, '\P{^Is_Jg=yeh}', "");
-Expect(0, 1573, '\p{Is_Jg=yeh}', "");
-Expect(1, 1573, '\p{^Is_Jg=yeh}', "");
-Expect(1, 1573, '\P{Is_Jg=yeh}', "");
-Expect(0, 1573, '\P{^Is_Jg=yeh}', "");
-Expect(1, 1574, '\p{Is_Jg=Yeh}', "");
-Expect(0, 1574, '\p{^Is_Jg=Yeh}', "");
-Expect(0, 1574, '\P{Is_Jg=Yeh}', "");
-Expect(1, 1574, '\P{^Is_Jg=Yeh}', "");
-Expect(0, 1573, '\p{Is_Jg=Yeh}', "");
-Expect(1, 1573, '\p{^Is_Jg=Yeh}', "");
-Expect(1, 1573, '\P{Is_Jg=Yeh}', "");
-Expect(0, 1573, '\P{^Is_Jg=Yeh}', "");
-Error('\p{Joining_Group= dal/a/}');
-Error('\P{Joining_Group= dal/a/}');
-Expect(1, 1584, '\p{Joining_Group=dal}', "");
-Expect(0, 1584, '\p{^Joining_Group=dal}', "");
-Expect(0, 1584, '\P{Joining_Group=dal}', "");
-Expect(1, 1584, '\P{^Joining_Group=dal}', "");
-Expect(0, 1582, '\p{Joining_Group=dal}', "");
-Expect(1, 1582, '\p{^Joining_Group=dal}', "");
-Expect(1, 1582, '\P{Joining_Group=dal}', "");
-Expect(0, 1582, '\P{^Joining_Group=dal}', "");
-Expect(1, 1584, '\p{Joining_Group= -dal}', "");
-Expect(0, 1584, '\p{^Joining_Group= -dal}', "");
-Expect(0, 1584, '\P{Joining_Group= -dal}', "");
-Expect(1, 1584, '\P{^Joining_Group= -dal}', "");
-Expect(0, 1582, '\p{Joining_Group= -dal}', "");
-Expect(1, 1582, '\p{^Joining_Group= -dal}', "");
-Expect(1, 1582, '\P{Joining_Group= -dal}', "");
-Expect(0, 1582, '\P{^Joining_Group= -dal}', "");
-Error('\p{Jg: -DAL:=}');
-Error('\P{Jg: -DAL:=}');
-Expect(1, 1584, '\p{Jg=dal}', "");
-Expect(0, 1584, '\p{^Jg=dal}', "");
-Expect(0, 1584, '\P{Jg=dal}', "");
-Expect(1, 1584, '\P{^Jg=dal}', "");
-Expect(0, 1582, '\p{Jg=dal}', "");
-Expect(1, 1582, '\p{^Jg=dal}', "");
-Expect(1, 1582, '\P{Jg=dal}', "");
-Expect(0, 1582, '\P{^Jg=dal}', "");
-Expect(1, 1584, '\p{Jg= DAL}', "");
-Expect(0, 1584, '\p{^Jg= DAL}', "");
-Expect(0, 1584, '\P{Jg= DAL}', "");
-Expect(1, 1584, '\P{^Jg= DAL}', "");
-Expect(0, 1582, '\p{Jg= DAL}', "");
-Expect(1, 1582, '\p{^Jg= DAL}', "");
-Expect(1, 1582, '\P{Jg= DAL}', "");
-Expect(0, 1582, '\P{^Jg= DAL}', "");
-Error('\p{Is_Joining_Group=__Dal:=}');
-Error('\P{Is_Joining_Group=__Dal:=}');
-Expect(1, 1584, '\p{Is_Joining_Group=dal}', "");
-Expect(0, 1584, '\p{^Is_Joining_Group=dal}', "");
-Expect(0, 1584, '\P{Is_Joining_Group=dal}', "");
-Expect(1, 1584, '\P{^Is_Joining_Group=dal}', "");
-Expect(0, 1582, '\p{Is_Joining_Group=dal}', "");
-Expect(1, 1582, '\p{^Is_Joining_Group=dal}', "");
-Expect(1, 1582, '\P{Is_Joining_Group=dal}', "");
-Expect(0, 1582, '\P{^Is_Joining_Group=dal}', "");
-Expect(1, 1584, '\p{Is_Joining_Group=-_Dal}', "");
-Expect(0, 1584, '\p{^Is_Joining_Group=-_Dal}', "");
-Expect(0, 1584, '\P{Is_Joining_Group=-_Dal}', "");
-Expect(1, 1584, '\P{^Is_Joining_Group=-_Dal}', "");
-Expect(0, 1582, '\p{Is_Joining_Group=-_Dal}', "");
-Expect(1, 1582, '\p{^Is_Joining_Group=-_Dal}', "");
-Expect(1, 1582, '\P{Is_Joining_Group=-_Dal}', "");
-Expect(0, 1582, '\P{^Is_Joining_Group=-_Dal}', "");
-Error('\p{Is_Jg=_:=dal}');
-Error('\P{Is_Jg=_:=dal}');
-Expect(1, 1584, '\p{Is_Jg=dal}', "");
-Expect(0, 1584, '\p{^Is_Jg=dal}', "");
-Expect(0, 1584, '\P{Is_Jg=dal}', "");
-Expect(1, 1584, '\P{^Is_Jg=dal}', "");
-Expect(0, 1582, '\p{Is_Jg=dal}', "");
-Expect(1, 1582, '\p{^Is_Jg=dal}', "");
-Expect(1, 1582, '\P{Is_Jg=dal}', "");
-Expect(0, 1582, '\P{^Is_Jg=dal}', "");
-Expect(1, 1584, '\p{Is_Jg=_dal}', "");
-Expect(0, 1584, '\p{^Is_Jg=_dal}', "");
-Expect(0, 1584, '\P{Is_Jg=_dal}', "");
-Expect(1, 1584, '\P{^Is_Jg=_dal}', "");
-Expect(0, 1582, '\p{Is_Jg=_dal}', "");
-Expect(1, 1582, '\p{^Is_Jg=_dal}', "");
-Expect(1, 1582, '\P{Is_Jg=_dal}', "");
-Expect(0, 1582, '\P{^Is_Jg=_dal}', "");
-Error('\p{Joining_Group:-/a/Hamza on-heh-Goal}');
-Error('\P{Joining_Group:-/a/Hamza on-heh-Goal}');
-Expect(1, 1731, '\p{Joining_Group=hamzaonhehgoal}', "");
-Expect(0, 1731, '\p{^Joining_Group=hamzaonhehgoal}', "");
-Expect(0, 1731, '\P{Joining_Group=hamzaonhehgoal}', "");
-Expect(1, 1731, '\P{^Joining_Group=hamzaonhehgoal}', "");
-Expect(0, 1730, '\p{Joining_Group=hamzaonhehgoal}', "");
-Expect(1, 1730, '\p{^Joining_Group=hamzaonhehgoal}', "");
-Expect(1, 1730, '\P{Joining_Group=hamzaonhehgoal}', "");
-Expect(0, 1730, '\P{^Joining_Group=hamzaonhehgoal}', "");
-Expect(1, 1731, '\p{Joining_Group= -hamza ON heh_goal}', "");
-Expect(0, 1731, '\p{^Joining_Group= -hamza ON heh_goal}', "");
-Expect(0, 1731, '\P{Joining_Group= -hamza ON heh_goal}', "");
-Expect(1, 1731, '\P{^Joining_Group= -hamza ON heh_goal}', "");
-Expect(0, 1730, '\p{Joining_Group= -hamza ON heh_goal}', "");
-Expect(1, 1730, '\p{^Joining_Group= -hamza ON heh_goal}', "");
-Expect(1, 1730, '\P{Joining_Group= -hamza ON heh_goal}', "");
-Expect(0, 1730, '\P{^Joining_Group= -hamza ON heh_goal}', "");
-Error('\p{Jg= -Hamza-On/a/heh-GOAL}');
-Error('\P{Jg= -Hamza-On/a/heh-GOAL}');
-Expect(1, 1731, '\p{Jg=hamzaonhehgoal}', "");
-Expect(0, 1731, '\p{^Jg=hamzaonhehgoal}', "");
-Expect(0, 1731, '\P{Jg=hamzaonhehgoal}', "");
-Expect(1, 1731, '\P{^Jg=hamzaonhehgoal}', "");
-Expect(0, 1730, '\p{Jg=hamzaonhehgoal}', "");
-Expect(1, 1730, '\p{^Jg=hamzaonhehgoal}', "");
-Expect(1, 1730, '\P{Jg=hamzaonhehgoal}', "");
-Expect(0, 1730, '\P{^Jg=hamzaonhehgoal}', "");
-Expect(1, 1731, '\p{Jg=-_hamza-OnHEH Goal}', "");
-Expect(0, 1731, '\p{^Jg=-_hamza-OnHEH Goal}', "");
-Expect(0, 1731, '\P{Jg=-_hamza-OnHEH Goal}', "");
-Expect(1, 1731, '\P{^Jg=-_hamza-OnHEH Goal}', "");
-Expect(0, 1730, '\p{Jg=-_hamza-OnHEH Goal}', "");
-Expect(1, 1730, '\p{^Jg=-_hamza-OnHEH Goal}', "");
-Expect(1, 1730, '\P{Jg=-_hamza-OnHEH Goal}', "");
-Expect(0, 1730, '\P{^Jg=-_hamza-OnHEH Goal}', "");
-Error('\p{Is_Joining_Group= HAMZA ON-HEH Goal:=}');
-Error('\P{Is_Joining_Group= HAMZA ON-HEH Goal:=}');
-Expect(1, 1731, '\p{Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(0, 1731, '\p{^Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(0, 1731, '\P{Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(1, 1731, '\P{^Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(0, 1730, '\p{Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(1, 1730, '\p{^Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(1, 1730, '\P{Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(0, 1730, '\P{^Is_Joining_Group:hamzaonhehgoal}', "");
-Expect(1, 1731, '\p{Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(0, 1731, '\p{^Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(0, 1731, '\P{Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(1, 1731, '\P{^Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(0, 1730, '\p{Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(1, 1730, '\p{^Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(1, 1730, '\P{Is_Joining_Group= HAMZA OnHehGoal}', "");
-Expect(0, 1730, '\P{^Is_Joining_Group= HAMZA OnHehGoal}', "");
-Error('\p{Is_Jg=_:=Hamza_On-Heh GOAL}');
-Error('\P{Is_Jg=_:=Hamza_On-Heh GOAL}');
-Expect(1, 1731, '\p{Is_Jg=hamzaonhehgoal}', "");
-Expect(0, 1731, '\p{^Is_Jg=hamzaonhehgoal}', "");
-Expect(0, 1731, '\P{Is_Jg=hamzaonhehgoal}', "");
-Expect(1, 1731, '\P{^Is_Jg=hamzaonhehgoal}', "");
-Expect(0, 1730, '\p{Is_Jg=hamzaonhehgoal}', "");
-Expect(1, 1730, '\p{^Is_Jg=hamzaonhehgoal}', "");
-Expect(1, 1730, '\P{Is_Jg=hamzaonhehgoal}', "");
-Expect(0, 1730, '\P{^Is_Jg=hamzaonhehgoal}', "");
-Expect(1, 1731, '\p{Is_Jg= Hamza_On-Heh goal}', "");
-Expect(0, 1731, '\p{^Is_Jg= Hamza_On-Heh goal}', "");
-Expect(0, 1731, '\P{Is_Jg= Hamza_On-Heh goal}', "");
-Expect(1, 1731, '\P{^Is_Jg= Hamza_On-Heh goal}', "");
-Expect(0, 1730, '\p{Is_Jg= Hamza_On-Heh goal}', "");
-Expect(1, 1730, '\p{^Is_Jg= Hamza_On-Heh goal}', "");
-Expect(1, 1730, '\P{Is_Jg= Hamza_On-Heh goal}', "");
-Expect(0, 1730, '\P{^Is_Jg= Hamza_On-Heh goal}', "");
-Error('\p{Joining_Group= He:=}');
-Error('\P{Joining_Group= He:=}');
-Expect(1, 1815, '\p{Joining_Group=he}', "");
-Expect(0, 1815, '\p{^Joining_Group=he}', "");
-Expect(0, 1815, '\P{Joining_Group=he}', "");
-Expect(1, 1815, '\P{^Joining_Group=he}', "");
-Expect(0, 1814, '\p{Joining_Group=he}', "");
-Expect(1, 1814, '\p{^Joining_Group=he}', "");
-Expect(1, 1814, '\P{Joining_Group=he}', "");
-Expect(0, 1814, '\P{^Joining_Group=he}', "");
-Expect(1, 1815, '\p{Joining_Group: He}', "");
-Expect(0, 1815, '\p{^Joining_Group: He}', "");
-Expect(0, 1815, '\P{Joining_Group: He}', "");
-Expect(1, 1815, '\P{^Joining_Group: He}', "");
-Expect(0, 1814, '\p{Joining_Group: He}', "");
-Expect(1, 1814, '\p{^Joining_Group: He}', "");
-Expect(1, 1814, '\P{Joining_Group: He}', "");
-Expect(0, 1814, '\P{^Joining_Group: He}', "");
-Error('\p{Jg=--He:=}');
-Error('\P{Jg=--He:=}');
-Expect(1, 1815, '\p{Jg=he}', "");
-Expect(0, 1815, '\p{^Jg=he}', "");
-Expect(0, 1815, '\P{Jg=he}', "");
-Expect(1, 1815, '\P{^Jg=he}', "");
-Expect(0, 1814, '\p{Jg=he}', "");
-Expect(1, 1814, '\p{^Jg=he}', "");
-Expect(1, 1814, '\P{Jg=he}', "");
-Expect(0, 1814, '\P{^Jg=he}', "");
-Expect(1, 1815, '\p{Jg=- he}', "");
-Expect(0, 1815, '\p{^Jg=- he}', "");
-Expect(0, 1815, '\P{Jg=- he}', "");
-Expect(1, 1815, '\P{^Jg=- he}', "");
-Expect(0, 1814, '\p{Jg=- he}', "");
-Expect(1, 1814, '\p{^Jg=- he}', "");
-Expect(1, 1814, '\P{Jg=- he}', "");
-Expect(0, 1814, '\P{^Jg=- he}', "");
-Error('\p{Is_Joining_Group=-/a/he}');
-Error('\P{Is_Joining_Group=-/a/he}');
-Expect(1, 1815, '\p{Is_Joining_Group=he}', "");
-Expect(0, 1815, '\p{^Is_Joining_Group=he}', "");
-Expect(0, 1815, '\P{Is_Joining_Group=he}', "");
-Expect(1, 1815, '\P{^Is_Joining_Group=he}', "");
-Expect(0, 1814, '\p{Is_Joining_Group=he}', "");
-Expect(1, 1814, '\p{^Is_Joining_Group=he}', "");
-Expect(1, 1814, '\P{Is_Joining_Group=he}', "");
-Expect(0, 1814, '\P{^Is_Joining_Group=he}', "");
-Expect(1, 1815, '\p{Is_Joining_Group=__He}', "");
-Expect(0, 1815, '\p{^Is_Joining_Group=__He}', "");
-Expect(0, 1815, '\P{Is_Joining_Group=__He}', "");
-Expect(1, 1815, '\P{^Is_Joining_Group=__He}', "");
-Expect(0, 1814, '\p{Is_Joining_Group=__He}', "");
-Expect(1, 1814, '\p{^Is_Joining_Group=__He}', "");
-Expect(1, 1814, '\P{Is_Joining_Group=__He}', "");
-Expect(0, 1814, '\P{^Is_Joining_Group=__He}', "");
-Error('\p{Is_Jg::=_HE}');
-Error('\P{Is_Jg::=_HE}');
-Expect(1, 1815, '\p{Is_Jg=he}', "");
-Expect(0, 1815, '\p{^Is_Jg=he}', "");
-Expect(0, 1815, '\P{Is_Jg=he}', "");
-Expect(1, 1815, '\P{^Is_Jg=he}', "");
-Expect(0, 1814, '\p{Is_Jg=he}', "");
-Expect(1, 1814, '\p{^Is_Jg=he}', "");
-Expect(1, 1814, '\P{Is_Jg=he}', "");
-Expect(0, 1814, '\P{^Is_Jg=he}', "");
-Expect(1, 1815, '\p{Is_Jg=-_He}', "");
-Expect(0, 1815, '\p{^Is_Jg=-_He}', "");
-Expect(0, 1815, '\P{Is_Jg=-_He}', "");
-Expect(1, 1815, '\P{^Is_Jg=-_He}', "");
-Expect(0, 1814, '\p{Is_Jg=-_He}', "");
-Expect(1, 1814, '\p{^Is_Jg=-_He}', "");
-Expect(1, 1814, '\P{Is_Jg=-_He}', "");
-Expect(0, 1814, '\P{^Is_Jg=-_He}', "");
-Error('\p{Joining_Group=_ No/a/joining-group}');
-Error('\P{Joining_Group=_ No/a/joining-group}');
-Expect(1, 1569, '\p{Joining_Group=nojoininggroup}', "");
-Expect(0, 1569, '\p{^Joining_Group=nojoininggroup}', "");
-Expect(0, 1569, '\P{Joining_Group=nojoininggroup}', "");
-Expect(1, 1569, '\P{^Joining_Group=nojoininggroup}', "");
-Expect(0, 1599, '\p{Joining_Group=nojoininggroup}', "");
-Expect(1, 1599, '\p{^Joining_Group=nojoininggroup}', "");
-Expect(1, 1599, '\P{Joining_Group=nojoininggroup}', "");
-Expect(0, 1599, '\P{^Joining_Group=nojoininggroup}', "");
-Expect(1, 1569, '\p{Joining_Group= -NoJOINING group}', "");
-Expect(0, 1569, '\p{^Joining_Group= -NoJOINING group}', "");
-Expect(0, 1569, '\P{Joining_Group= -NoJOINING group}', "");
-Expect(1, 1569, '\P{^Joining_Group= -NoJOINING group}', "");
-Expect(0, 1599, '\p{Joining_Group= -NoJOINING group}', "");
-Expect(1, 1599, '\p{^Joining_Group= -NoJOINING group}', "");
-Expect(1, 1599, '\P{Joining_Group= -NoJOINING group}', "");
-Expect(0, 1599, '\P{^Joining_Group= -NoJOINING group}', "");
-Error('\p{Jg= no:=Joining_Group}');
-Error('\P{Jg= no:=Joining_Group}');
-Expect(1, 1569, '\p{Jg=nojoininggroup}', "");
-Expect(0, 1569, '\p{^Jg=nojoininggroup}', "");
-Expect(0, 1569, '\P{Jg=nojoininggroup}', "");
-Expect(1, 1569, '\P{^Jg=nojoininggroup}', "");
-Expect(0, 1599, '\p{Jg=nojoininggroup}', "");
-Expect(1, 1599, '\p{^Jg=nojoininggroup}', "");
-Expect(1, 1599, '\P{Jg=nojoininggroup}', "");
-Expect(0, 1599, '\P{^Jg=nojoininggroup}', "");
-Expect(1, 1569, '\p{Jg= No Joining-Group}', "");
-Expect(0, 1569, '\p{^Jg= No Joining-Group}', "");
-Expect(0, 1569, '\P{Jg= No Joining-Group}', "");
-Expect(1, 1569, '\P{^Jg= No Joining-Group}', "");
-Expect(0, 1599, '\p{Jg= No Joining-Group}', "");
-Expect(1, 1599, '\p{^Jg= No Joining-Group}', "");
-Expect(1, 1599, '\P{Jg= No Joining-Group}', "");
-Expect(0, 1599, '\P{^Jg= No Joining-Group}', "");
-Error('\p{Is_Joining_Group=:= No-Joining_Group}');
-Error('\P{Is_Joining_Group=:= No-Joining_Group}');
-Expect(1, 1569, '\p{Is_Joining_Group=nojoininggroup}', "");
-Expect(0, 1569, '\p{^Is_Joining_Group=nojoininggroup}', "");
-Expect(0, 1569, '\P{Is_Joining_Group=nojoininggroup}', "");
-Expect(1, 1569, '\P{^Is_Joining_Group=nojoininggroup}', "");
-Expect(0, 1599, '\p{Is_Joining_Group=nojoininggroup}', "");
-Expect(1, 1599, '\p{^Is_Joining_Group=nojoininggroup}', "");
-Expect(1, 1599, '\P{Is_Joining_Group=nojoininggroup}', "");
-Expect(0, 1599, '\P{^Is_Joining_Group=nojoininggroup}', "");
-Expect(1, 1569, '\p{Is_Joining_Group= NO joining group}', "");
-Expect(0, 1569, '\p{^Is_Joining_Group= NO joining group}', "");
-Expect(0, 1569, '\P{Is_Joining_Group= NO joining group}', "");
-Expect(1, 1569, '\P{^Is_Joining_Group= NO joining group}', "");
-Expect(0, 1599, '\p{Is_Joining_Group= NO joining group}', "");
-Expect(1, 1599, '\p{^Is_Joining_Group= NO joining group}', "");
-Expect(1, 1599, '\P{Is_Joining_Group= NO joining group}', "");
-Expect(0, 1599, '\P{^Is_Joining_Group= NO joining group}', "");
-Error('\p{Is_Jg= -NO Joining:=GROUP}');
-Error('\P{Is_Jg= -NO Joining:=GROUP}');
-Expect(1, 1569, '\p{Is_Jg=nojoininggroup}', "");
-Expect(0, 1569, '\p{^Is_Jg=nojoininggroup}', "");
-Expect(0, 1569, '\P{Is_Jg=nojoininggroup}', "");
-Expect(1, 1569, '\P{^Is_Jg=nojoininggroup}', "");
-Expect(0, 1599, '\p{Is_Jg=nojoininggroup}', "");
-Expect(1, 1599, '\p{^Is_Jg=nojoininggroup}', "");
-Expect(1, 1599, '\P{Is_Jg=nojoininggroup}', "");
-Expect(0, 1599, '\P{^Is_Jg=nojoininggroup}', "");
-Expect(1, 1569, '\p{Is_Jg=-_No joining Group}', "");
-Expect(0, 1569, '\p{^Is_Jg=-_No joining Group}', "");
-Expect(0, 1569, '\P{Is_Jg=-_No joining Group}', "");
-Expect(1, 1569, '\P{^Is_Jg=-_No joining Group}', "");
-Expect(0, 1599, '\p{Is_Jg=-_No joining Group}', "");
-Expect(1, 1599, '\p{^Is_Jg=-_No joining Group}', "");
-Expect(1, 1599, '\P{Is_Jg=-_No joining Group}', "");
-Expect(0, 1599, '\P{^Is_Jg=-_No joining Group}', "");
-Error('\p{Joining_Group= -Burushaski/a/Yeh Barree}');
-Error('\P{Joining_Group= -Burushaski/a/Yeh Barree}');
-Expect(1, 1915, '\p{Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1915, '\p{^Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1915, '\P{Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1915, '\P{^Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1913, '\p{Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1913, '\p{^Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1913, '\P{Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1913, '\P{^Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1915, '\p{Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(0, 1915, '\p{^Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(0, 1915, '\P{Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(1, 1915, '\P{^Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(0, 1913, '\p{Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(1, 1913, '\p{^Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(1, 1913, '\P{Joining_Group=__burushaski_YEH_Barree}', "");
-Expect(0, 1913, '\P{^Joining_Group=__burushaski_YEH_Barree}', "");
-Error('\p{Jg= BURUSHASKI:=yeh BARREE}');
-Error('\P{Jg= BURUSHASKI:=yeh BARREE}');
-Expect(1, 1915, '\p{Jg=burushaskiyehbarree}', "");
-Expect(0, 1915, '\p{^Jg=burushaskiyehbarree}', "");
-Expect(0, 1915, '\P{Jg=burushaskiyehbarree}', "");
-Expect(1, 1915, '\P{^Jg=burushaskiyehbarree}', "");
-Expect(0, 1913, '\p{Jg=burushaskiyehbarree}', "");
-Expect(1, 1913, '\p{^Jg=burushaskiyehbarree}', "");
-Expect(1, 1913, '\P{Jg=burushaskiyehbarree}', "");
-Expect(0, 1913, '\P{^Jg=burushaskiyehbarree}', "");
-Expect(1, 1915, '\p{Jg=-_Burushaski_YEH barree}', "");
-Expect(0, 1915, '\p{^Jg=-_Burushaski_YEH barree}', "");
-Expect(0, 1915, '\P{Jg=-_Burushaski_YEH barree}', "");
-Expect(1, 1915, '\P{^Jg=-_Burushaski_YEH barree}', "");
-Expect(0, 1913, '\p{Jg=-_Burushaski_YEH barree}', "");
-Expect(1, 1913, '\p{^Jg=-_Burushaski_YEH barree}', "");
-Expect(1, 1913, '\P{Jg=-_Burushaski_YEH barree}', "");
-Expect(0, 1913, '\P{^Jg=-_Burushaski_YEH barree}', "");
-Error('\p{Is_Joining_Group=--BURUSHASKI/a/Yeh BARREE}');
-Error('\P{Is_Joining_Group=--BURUSHASKI/a/Yeh BARREE}');
-Expect(1, 1915, '\p{Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1915, '\p{^Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1915, '\P{Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1915, '\P{^Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1913, '\p{Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1913, '\p{^Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1913, '\P{Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(0, 1913, '\P{^Is_Joining_Group=burushaskiyehbarree}', "");
-Expect(1, 1915, '\p{Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(0, 1915, '\p{^Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(0, 1915, '\P{Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(1, 1915, '\P{^Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(0, 1913, '\p{Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(1, 1913, '\p{^Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(1, 1913, '\P{Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Expect(0, 1913, '\P{^Is_Joining_Group:--burushaski Yeh_BARREE}', "");
-Error('\p{Is_Jg=- Burushaski-yeh/a/Barree}');
-Error('\P{Is_Jg=- Burushaski-yeh/a/Barree}');
-Expect(1, 1915, '\p{Is_Jg=burushaskiyehbarree}', "");
-Expect(0, 1915, '\p{^Is_Jg=burushaskiyehbarree}', "");
-Expect(0, 1915, '\P{Is_Jg=burushaskiyehbarree}', "");
-Expect(1, 1915, '\P{^Is_Jg=burushaskiyehbarree}', "");
-Expect(0, 1913, '\p{Is_Jg=burushaskiyehbarree}', "");
-Expect(1, 1913, '\p{^Is_Jg=burushaskiyehbarree}', "");
-Expect(1, 1913, '\P{Is_Jg=burushaskiyehbarree}', "");
-Expect(0, 1913, '\P{^Is_Jg=burushaskiyehbarree}', "");
-Expect(1, 1915, '\p{Is_Jg= Burushaski_Yeh barree}', "");
-Expect(0, 1915, '\p{^Is_Jg= Burushaski_Yeh barree}', "");
-Expect(0, 1915, '\P{Is_Jg= Burushaski_Yeh barree}', "");
-Expect(1, 1915, '\P{^Is_Jg= Burushaski_Yeh barree}', "");
-Expect(0, 1913, '\p{Is_Jg= Burushaski_Yeh barree}', "");
-Expect(1, 1913, '\p{^Is_Jg= Burushaski_Yeh barree}', "");
-Expect(1, 1913, '\P{Is_Jg= Burushaski_Yeh barree}', "");
-Expect(0, 1913, '\P{^Is_Jg= Burushaski_Yeh barree}', "");
-Error('\p{Joining_Group= :=TEH marbuta}');
-Error('\P{Joining_Group= :=TEH marbuta}');
-Expect(1, 1577, '\p{Joining_Group: tehmarbuta}', "");
-Expect(0, 1577, '\p{^Joining_Group: tehmarbuta}', "");
-Expect(0, 1577, '\P{Joining_Group: tehmarbuta}', "");
-Expect(1, 1577, '\P{^Joining_Group: tehmarbuta}', "");
-Expect(0, 1576, '\p{Joining_Group: tehmarbuta}', "");
-Expect(1, 1576, '\p{^Joining_Group: tehmarbuta}', "");
-Expect(1, 1576, '\P{Joining_Group: tehmarbuta}', "");
-Expect(0, 1576, '\P{^Joining_Group: tehmarbuta}', "");
-Expect(1, 1577, '\p{Joining_Group=- Teh_marbuta}', "");
-Expect(0, 1577, '\p{^Joining_Group=- Teh_marbuta}', "");
-Expect(0, 1577, '\P{Joining_Group=- Teh_marbuta}', "");
-Expect(1, 1577, '\P{^Joining_Group=- Teh_marbuta}', "");
-Expect(0, 1576, '\p{Joining_Group=- Teh_marbuta}', "");
-Expect(1, 1576, '\p{^Joining_Group=- Teh_marbuta}', "");
-Expect(1, 1576, '\P{Joining_Group=- Teh_marbuta}', "");
-Expect(0, 1576, '\P{^Joining_Group=- Teh_marbuta}', "");
-Error('\p{Jg=-Teh/a/marbuta}');
-Error('\P{Jg=-Teh/a/marbuta}');
-Expect(1, 1577, '\p{Jg=tehmarbuta}', "");
-Expect(0, 1577, '\p{^Jg=tehmarbuta}', "");
-Expect(0, 1577, '\P{Jg=tehmarbuta}', "");
-Expect(1, 1577, '\P{^Jg=tehmarbuta}', "");
-Expect(0, 1576, '\p{Jg=tehmarbuta}', "");
-Expect(1, 1576, '\p{^Jg=tehmarbuta}', "");
-Expect(1, 1576, '\P{Jg=tehmarbuta}', "");
-Expect(0, 1576, '\P{^Jg=tehmarbuta}', "");
-Expect(1, 1577, '\p{Jg= TEH Marbuta}', "");
-Expect(0, 1577, '\p{^Jg= TEH Marbuta}', "");
-Expect(0, 1577, '\P{Jg= TEH Marbuta}', "");
-Expect(1, 1577, '\P{^Jg= TEH Marbuta}', "");
-Expect(0, 1576, '\p{Jg= TEH Marbuta}', "");
-Expect(1, 1576, '\p{^Jg= TEH Marbuta}', "");
-Expect(1, 1576, '\P{Jg= TEH Marbuta}', "");
-Expect(0, 1576, '\P{^Jg= TEH Marbuta}', "");
-Error('\p{Is_Joining_Group=-Teh-Marbuta/a/}');
-Error('\P{Is_Joining_Group=-Teh-Marbuta/a/}');
-Expect(1, 1577, '\p{Is_Joining_Group=tehmarbuta}', "");
-Expect(0, 1577, '\p{^Is_Joining_Group=tehmarbuta}', "");
-Expect(0, 1577, '\P{Is_Joining_Group=tehmarbuta}', "");
-Expect(1, 1577, '\P{^Is_Joining_Group=tehmarbuta}', "");
-Expect(0, 1576, '\p{Is_Joining_Group=tehmarbuta}', "");
-Expect(1, 1576, '\p{^Is_Joining_Group=tehmarbuta}', "");
-Expect(1, 1576, '\P{Is_Joining_Group=tehmarbuta}', "");
-Expect(0, 1576, '\P{^Is_Joining_Group=tehmarbuta}', "");
-Expect(1, 1577, '\p{Is_Joining_Group= TEH-Marbuta}', "");
-Expect(0, 1577, '\p{^Is_Joining_Group= TEH-Marbuta}', "");
-Expect(0, 1577, '\P{Is_Joining_Group= TEH-Marbuta}', "");
-Expect(1, 1577, '\P{^Is_Joining_Group= TEH-Marbuta}', "");
-Expect(0, 1576, '\p{Is_Joining_Group= TEH-Marbuta}', "");
-Expect(1, 1576, '\p{^Is_Joining_Group= TEH-Marbuta}', "");
-Expect(1, 1576, '\P{Is_Joining_Group= TEH-Marbuta}', "");
-Expect(0, 1576, '\P{^Is_Joining_Group= TEH-Marbuta}', "");
-Error('\p{Is_Jg=- Teh:=MARBUTA}');
-Error('\P{Is_Jg=- Teh:=MARBUTA}');
-Expect(1, 1577, '\p{Is_Jg=tehmarbuta}', "");
-Expect(0, 1577, '\p{^Is_Jg=tehmarbuta}', "");
-Expect(0, 1577, '\P{Is_Jg=tehmarbuta}', "");
-Expect(1, 1577, '\P{^Is_Jg=tehmarbuta}', "");
-Expect(0, 1576, '\p{Is_Jg=tehmarbuta}', "");
-Expect(1, 1576, '\p{^Is_Jg=tehmarbuta}', "");
-Expect(1, 1576, '\P{Is_Jg=tehmarbuta}', "");
-Expect(0, 1576, '\P{^Is_Jg=tehmarbuta}', "");
-Expect(1, 1577, '\p{Is_Jg= Teh MARBUTA}', "");
-Expect(0, 1577, '\p{^Is_Jg= Teh MARBUTA}', "");
-Expect(0, 1577, '\P{Is_Jg= Teh MARBUTA}', "");
-Expect(1, 1577, '\P{^Is_Jg= Teh MARBUTA}', "");
-Expect(0, 1576, '\p{Is_Jg= Teh MARBUTA}', "");
-Expect(1, 1576, '\p{^Is_Jg= Teh MARBUTA}', "");
-Expect(1, 1576, '\P{Is_Jg= Teh MARBUTA}', "");
-Expect(0, 1576, '\P{^Is_Jg= Teh MARBUTA}', "");
-Error('\p{Joining_Group= /a/Reh}');
-Error('\P{Joining_Group= /a/Reh}');
-Expect(1, 1586, '\p{Joining_Group=reh}', "");
-Expect(0, 1586, '\p{^Joining_Group=reh}', "");
-Expect(0, 1586, '\P{Joining_Group=reh}', "");
-Expect(1, 1586, '\P{^Joining_Group=reh}', "");
-Expect(0, 1584, '\p{Joining_Group=reh}', "");
-Expect(1, 1584, '\p{^Joining_Group=reh}', "");
-Expect(1, 1584, '\P{Joining_Group=reh}', "");
-Expect(0, 1584, '\P{^Joining_Group=reh}', "");
-Expect(1, 1586, '\p{Joining_Group=-_Reh}', "");
-Expect(0, 1586, '\p{^Joining_Group=-_Reh}', "");
-Expect(0, 1586, '\P{Joining_Group=-_Reh}', "");
-Expect(1, 1586, '\P{^Joining_Group=-_Reh}', "");
-Expect(0, 1584, '\p{Joining_Group=-_Reh}', "");
-Expect(1, 1584, '\p{^Joining_Group=-_Reh}', "");
-Expect(1, 1584, '\P{Joining_Group=-_Reh}', "");
-Expect(0, 1584, '\P{^Joining_Group=-_Reh}', "");
-Error('\p{Jg=_/a/REH}');
-Error('\P{Jg=_/a/REH}');
-Expect(1, 1586, '\p{Jg=reh}', "");
-Expect(0, 1586, '\p{^Jg=reh}', "");
-Expect(0, 1586, '\P{Jg=reh}', "");
-Expect(1, 1586, '\P{^Jg=reh}', "");
-Expect(0, 1584, '\p{Jg=reh}', "");
-Expect(1, 1584, '\p{^Jg=reh}', "");
-Expect(1, 1584, '\P{Jg=reh}', "");
-Expect(0, 1584, '\P{^Jg=reh}', "");
-Expect(1, 1586, '\p{Jg= reh}', "");
-Expect(0, 1586, '\p{^Jg= reh}', "");
-Expect(0, 1586, '\P{Jg= reh}', "");
-Expect(1, 1586, '\P{^Jg= reh}', "");
-Expect(0, 1584, '\p{Jg= reh}', "");
-Expect(1, 1584, '\p{^Jg= reh}', "");
-Expect(1, 1584, '\P{Jg= reh}', "");
-Expect(0, 1584, '\P{^Jg= reh}', "");
-Error('\p{Is_Joining_Group=:=Reh}');
-Error('\P{Is_Joining_Group=:=Reh}');
-Expect(1, 1586, '\p{Is_Joining_Group: reh}', "");
-Expect(0, 1586, '\p{^Is_Joining_Group: reh}', "");
-Expect(0, 1586, '\P{Is_Joining_Group: reh}', "");
-Expect(1, 1586, '\P{^Is_Joining_Group: reh}', "");
-Expect(0, 1584, '\p{Is_Joining_Group: reh}', "");
-Expect(1, 1584, '\p{^Is_Joining_Group: reh}', "");
-Expect(1, 1584, '\P{Is_Joining_Group: reh}', "");
-Expect(0, 1584, '\P{^Is_Joining_Group: reh}', "");
-Expect(1, 1586, '\p{Is_Joining_Group=- REH}', "");
-Expect(0, 1586, '\p{^Is_Joining_Group=- REH}', "");
-Expect(0, 1586, '\P{Is_Joining_Group=- REH}', "");
-Expect(1, 1586, '\P{^Is_Joining_Group=- REH}', "");
-Expect(0, 1584, '\p{Is_Joining_Group=- REH}', "");
-Expect(1, 1584, '\p{^Is_Joining_Group=- REH}', "");
-Expect(1, 1584, '\P{Is_Joining_Group=- REH}', "");
-Expect(0, 1584, '\P{^Is_Joining_Group=- REH}', "");
-Error('\p{Is_Jg=:=- Reh}');
-Error('\P{Is_Jg=:=- Reh}');
-Expect(1, 1586, '\p{Is_Jg=reh}', "");
-Expect(0, 1586, '\p{^Is_Jg=reh}', "");
-Expect(0, 1586, '\P{Is_Jg=reh}', "");
-Expect(1, 1586, '\P{^Is_Jg=reh}', "");
-Expect(0, 1584, '\p{Is_Jg=reh}', "");
-Expect(1, 1584, '\p{^Is_Jg=reh}', "");
-Expect(1, 1584, '\P{Is_Jg=reh}', "");
-Expect(0, 1584, '\P{^Is_Jg=reh}', "");
-Expect(1, 1586, '\p{Is_Jg= _reh}', "");
-Expect(0, 1586, '\p{^Is_Jg= _reh}', "");
-Expect(0, 1586, '\P{Is_Jg= _reh}', "");
-Expect(1, 1586, '\P{^Is_Jg= _reh}', "");
-Expect(0, 1584, '\p{Is_Jg= _reh}', "");
-Expect(1, 1584, '\p{^Is_Jg= _reh}', "");
-Expect(1, 1584, '\P{Is_Jg= _reh}', "");
-Expect(0, 1584, '\P{^Is_Jg= _reh}', "");
-Error('\p{Joining_Group= zain:=}');
-Error('\P{Joining_Group= zain:=}');
-Expect(1, 1817, '\p{Joining_Group=zain}', "");
-Expect(0, 1817, '\p{^Joining_Group=zain}', "");
-Expect(0, 1817, '\P{Joining_Group=zain}', "");
-Expect(1, 1817, '\P{^Joining_Group=zain}', "");
-Expect(0, 1816, '\p{Joining_Group=zain}', "");
-Expect(1, 1816, '\p{^Joining_Group=zain}', "");
-Expect(1, 1816, '\P{Joining_Group=zain}', "");
-Expect(0, 1816, '\P{^Joining_Group=zain}', "");
-Expect(1, 1817, '\p{Joining_Group=__Zain}', "");
-Expect(0, 1817, '\p{^Joining_Group=__Zain}', "");
-Expect(0, 1817, '\P{Joining_Group=__Zain}', "");
-Expect(1, 1817, '\P{^Joining_Group=__Zain}', "");
-Expect(0, 1816, '\p{Joining_Group=__Zain}', "");
-Expect(1, 1816, '\p{^Joining_Group=__Zain}', "");
-Expect(1, 1816, '\P{Joining_Group=__Zain}', "");
-Expect(0, 1816, '\P{^Joining_Group=__Zain}', "");
-Error('\p{Jg= _Zain/a/}');
-Error('\P{Jg= _Zain/a/}');
-Expect(1, 1817, '\p{Jg=zain}', "");
-Expect(0, 1817, '\p{^Jg=zain}', "");
-Expect(0, 1817, '\P{Jg=zain}', "");
-Expect(1, 1817, '\P{^Jg=zain}', "");
-Expect(0, 1816, '\p{Jg=zain}', "");
-Expect(1, 1816, '\p{^Jg=zain}', "");
-Expect(1, 1816, '\P{Jg=zain}', "");
-Expect(0, 1816, '\P{^Jg=zain}', "");
-Expect(1, 1817, '\p{Jg= zain}', "");
-Expect(0, 1817, '\p{^Jg= zain}', "");
-Expect(0, 1817, '\P{Jg= zain}', "");
-Expect(1, 1817, '\P{^Jg= zain}', "");
-Expect(0, 1816, '\p{Jg= zain}', "");
-Expect(1, 1816, '\p{^Jg= zain}', "");
-Expect(1, 1816, '\P{Jg= zain}', "");
-Expect(0, 1816, '\P{^Jg= zain}', "");
-Error('\p{Is_Joining_Group= Zain/a/}');
-Error('\P{Is_Joining_Group= Zain/a/}');
-Expect(1, 1817, '\p{Is_Joining_Group=zain}', "");
-Expect(0, 1817, '\p{^Is_Joining_Group=zain}', "");
-Expect(0, 1817, '\P{Is_Joining_Group=zain}', "");
-Expect(1, 1817, '\P{^Is_Joining_Group=zain}', "");
-Expect(0, 1816, '\p{Is_Joining_Group=zain}', "");
-Expect(1, 1816, '\p{^Is_Joining_Group=zain}', "");
-Expect(1, 1816, '\P{Is_Joining_Group=zain}', "");
-Expect(0, 1816, '\P{^Is_Joining_Group=zain}', "");
-Expect(1, 1817, '\p{Is_Joining_Group: Zain}', "");
-Expect(0, 1817, '\p{^Is_Joining_Group: Zain}', "");
-Expect(0, 1817, '\P{Is_Joining_Group: Zain}', "");
-Expect(1, 1817, '\P{^Is_Joining_Group: Zain}', "");
-Expect(0, 1816, '\p{Is_Joining_Group: Zain}', "");
-Expect(1, 1816, '\p{^Is_Joining_Group: Zain}', "");
-Expect(1, 1816, '\P{Is_Joining_Group: Zain}', "");
-Expect(0, 1816, '\P{^Is_Joining_Group: Zain}', "");
-Error('\p{Is_Jg=_ ZAIN/a/}');
-Error('\P{Is_Jg=_ ZAIN/a/}');
-Expect(1, 1817, '\p{Is_Jg: zain}', "");
-Expect(0, 1817, '\p{^Is_Jg: zain}', "");
-Expect(0, 1817, '\P{Is_Jg: zain}', "");
-Expect(1, 1817, '\P{^Is_Jg: zain}', "");
-Expect(0, 1816, '\p{Is_Jg: zain}', "");
-Expect(1, 1816, '\p{^Is_Jg: zain}', "");
-Expect(1, 1816, '\P{Is_Jg: zain}', "");
-Expect(0, 1816, '\P{^Is_Jg: zain}', "");
-Expect(1, 1817, '\p{Is_Jg= -ZAIN}', "");
-Expect(0, 1817, '\p{^Is_Jg= -ZAIN}', "");
-Expect(0, 1817, '\P{Is_Jg= -ZAIN}', "");
-Expect(1, 1817, '\P{^Is_Jg= -ZAIN}', "");
-Expect(0, 1816, '\p{Is_Jg= -ZAIN}', "");
-Expect(1, 1816, '\p{^Is_Jg= -ZAIN}', "");
-Expect(1, 1816, '\P{Is_Jg= -ZAIN}', "");
-Expect(0, 1816, '\P{^Is_Jg= -ZAIN}', "");
-Error('\p{Joining_Group= :=ALEF}');
-Error('\P{Joining_Group= :=ALEF}');
-Expect(1, 1571, '\p{Joining_Group=alef}', "");
-Expect(0, 1571, '\p{^Joining_Group=alef}', "");
-Expect(0, 1571, '\P{Joining_Group=alef}', "");
-Expect(1, 1571, '\P{^Joining_Group=alef}', "");
-Expect(0, 1569, '\p{Joining_Group=alef}', "");
-Expect(1, 1569, '\p{^Joining_Group=alef}', "");
-Expect(1, 1569, '\P{Joining_Group=alef}', "");
-Expect(0, 1569, '\P{^Joining_Group=alef}', "");
-Expect(1, 1571, '\p{Joining_Group=_ alef}', "");
-Expect(0, 1571, '\p{^Joining_Group=_ alef}', "");
-Expect(0, 1571, '\P{Joining_Group=_ alef}', "");
-Expect(1, 1571, '\P{^Joining_Group=_ alef}', "");
-Expect(0, 1569, '\p{Joining_Group=_ alef}', "");
-Expect(1, 1569, '\p{^Joining_Group=_ alef}', "");
-Expect(1, 1569, '\P{Joining_Group=_ alef}', "");
-Expect(0, 1569, '\P{^Joining_Group=_ alef}', "");
-Error('\p{Jg=-:=Alef}');
-Error('\P{Jg=-:=Alef}');
-Expect(1, 1571, '\p{Jg=alef}', "");
-Expect(0, 1571, '\p{^Jg=alef}', "");
-Expect(0, 1571, '\P{Jg=alef}', "");
-Expect(1, 1571, '\P{^Jg=alef}', "");
-Expect(0, 1569, '\p{Jg=alef}', "");
-Expect(1, 1569, '\p{^Jg=alef}', "");
-Expect(1, 1569, '\P{Jg=alef}', "");
-Expect(0, 1569, '\P{^Jg=alef}', "");
-Expect(1, 1571, '\p{Jg=_alef}', "");
-Expect(0, 1571, '\p{^Jg=_alef}', "");
-Expect(0, 1571, '\P{Jg=_alef}', "");
-Expect(1, 1571, '\P{^Jg=_alef}', "");
-Expect(0, 1569, '\p{Jg=_alef}', "");
-Expect(1, 1569, '\p{^Jg=_alef}', "");
-Expect(1, 1569, '\P{Jg=_alef}', "");
-Expect(0, 1569, '\P{^Jg=_alef}', "");
-Error('\p{Is_Joining_Group=_:=alef}');
-Error('\P{Is_Joining_Group=_:=alef}');
-Expect(1, 1571, '\p{Is_Joining_Group:alef}', "");
-Expect(0, 1571, '\p{^Is_Joining_Group:alef}', "");
-Expect(0, 1571, '\P{Is_Joining_Group:alef}', "");
-Expect(1, 1571, '\P{^Is_Joining_Group:alef}', "");
-Expect(0, 1569, '\p{Is_Joining_Group:alef}', "");
-Expect(1, 1569, '\p{^Is_Joining_Group:alef}', "");
-Expect(1, 1569, '\P{Is_Joining_Group:alef}', "");
-Expect(0, 1569, '\P{^Is_Joining_Group:alef}', "");
-Expect(1, 1571, '\p{Is_Joining_Group=_alef}', "");
-Expect(0, 1571, '\p{^Is_Joining_Group=_alef}', "");
-Expect(0, 1571, '\P{Is_Joining_Group=_alef}', "");
-Expect(1, 1571, '\P{^Is_Joining_Group=_alef}', "");
-Expect(0, 1569, '\p{Is_Joining_Group=_alef}', "");
-Expect(1, 1569, '\p{^Is_Joining_Group=_alef}', "");
-Expect(1, 1569, '\P{Is_Joining_Group=_alef}', "");
-Expect(0, 1569, '\P{^Is_Joining_Group=_alef}', "");
-Error('\p{Is_Jg=_/a/Alef}');
-Error('\P{Is_Jg=_/a/Alef}');
-Expect(1, 1571, '\p{Is_Jg=alef}', "");
-Expect(0, 1571, '\p{^Is_Jg=alef}', "");
-Expect(0, 1571, '\P{Is_Jg=alef}', "");
-Expect(1, 1571, '\P{^Is_Jg=alef}', "");
-Expect(0, 1569, '\p{Is_Jg=alef}', "");
-Expect(1, 1569, '\p{^Is_Jg=alef}', "");
-Expect(1, 1569, '\P{Is_Jg=alef}', "");
-Expect(0, 1569, '\P{^Is_Jg=alef}', "");
-Expect(1, 1571, '\p{Is_Jg= Alef}', "");
-Expect(0, 1571, '\p{^Is_Jg= Alef}', "");
-Expect(0, 1571, '\P{Is_Jg= Alef}', "");
-Expect(1, 1571, '\P{^Is_Jg= Alef}', "");
-Expect(0, 1569, '\p{Is_Jg= Alef}', "");
-Expect(1, 1569, '\p{^Is_Jg= Alef}', "");
-Expect(1, 1569, '\P{Is_Jg= Alef}', "");
-Expect(0, 1569, '\P{^Is_Jg= Alef}', "");
-Error('\p{Joining_Group: :=GAMAL}');
-Error('\P{Joining_Group: :=GAMAL}');
-Expect(1, 1812, '\p{Joining_Group=gamal}', "");
-Expect(0, 1812, '\p{^Joining_Group=gamal}', "");
-Expect(0, 1812, '\P{Joining_Group=gamal}', "");
-Expect(1, 1812, '\P{^Joining_Group=gamal}', "");
-Expect(0, 1810, '\p{Joining_Group=gamal}', "");
-Expect(1, 1810, '\p{^Joining_Group=gamal}', "");
-Expect(1, 1810, '\P{Joining_Group=gamal}', "");
-Expect(0, 1810, '\P{^Joining_Group=gamal}', "");
-Expect(1, 1812, '\p{Joining_Group: Gamal}', "");
-Expect(0, 1812, '\p{^Joining_Group: Gamal}', "");
-Expect(0, 1812, '\P{Joining_Group: Gamal}', "");
-Expect(1, 1812, '\P{^Joining_Group: Gamal}', "");
-Expect(0, 1810, '\p{Joining_Group: Gamal}', "");
-Expect(1, 1810, '\p{^Joining_Group: Gamal}', "");
-Expect(1, 1810, '\P{Joining_Group: Gamal}', "");
-Expect(0, 1810, '\P{^Joining_Group: Gamal}', "");
-Error('\p{Jg= /a/gamal}');
-Error('\P{Jg= /a/gamal}');
-Expect(1, 1812, '\p{Jg=gamal}', "");
-Expect(0, 1812, '\p{^Jg=gamal}', "");
-Expect(0, 1812, '\P{Jg=gamal}', "");
-Expect(1, 1812, '\P{^Jg=gamal}', "");
-Expect(0, 1810, '\p{Jg=gamal}', "");
-Expect(1, 1810, '\p{^Jg=gamal}', "");
-Expect(1, 1810, '\P{Jg=gamal}', "");
-Expect(0, 1810, '\P{^Jg=gamal}', "");
-Expect(1, 1812, '\p{Jg=GAMAL}', "");
-Expect(0, 1812, '\p{^Jg=GAMAL}', "");
-Expect(0, 1812, '\P{Jg=GAMAL}', "");
-Expect(1, 1812, '\P{^Jg=GAMAL}', "");
-Expect(0, 1810, '\p{Jg=GAMAL}', "");
-Expect(1, 1810, '\p{^Jg=GAMAL}', "");
-Expect(1, 1810, '\P{Jg=GAMAL}', "");
-Expect(0, 1810, '\P{^Jg=GAMAL}', "");
-Error('\p{Is_Joining_Group=/a/gamal}');
-Error('\P{Is_Joining_Group=/a/gamal}');
-Expect(1, 1812, '\p{Is_Joining_Group=gamal}', "");
-Expect(0, 1812, '\p{^Is_Joining_Group=gamal}', "");
-Expect(0, 1812, '\P{Is_Joining_Group=gamal}', "");
-Expect(1, 1812, '\P{^Is_Joining_Group=gamal}', "");
-Expect(0, 1810, '\p{Is_Joining_Group=gamal}', "");
-Expect(1, 1810, '\p{^Is_Joining_Group=gamal}', "");
-Expect(1, 1810, '\P{Is_Joining_Group=gamal}', "");
-Expect(0, 1810, '\P{^Is_Joining_Group=gamal}', "");
-Expect(1, 1812, '\p{Is_Joining_Group= Gamal}', "");
-Expect(0, 1812, '\p{^Is_Joining_Group= Gamal}', "");
-Expect(0, 1812, '\P{Is_Joining_Group= Gamal}', "");
-Expect(1, 1812, '\P{^Is_Joining_Group= Gamal}', "");
-Expect(0, 1810, '\p{Is_Joining_Group= Gamal}', "");
-Expect(1, 1810, '\p{^Is_Joining_Group= Gamal}', "");
-Expect(1, 1810, '\P{Is_Joining_Group= Gamal}', "");
-Expect(0, 1810, '\P{^Is_Joining_Group= Gamal}', "");
-Error('\p{Is_Jg=:=GAMAL}');
-Error('\P{Is_Jg=:=GAMAL}');
-Expect(1, 1812, '\p{Is_Jg=gamal}', "");
-Expect(0, 1812, '\p{^Is_Jg=gamal}', "");
-Expect(0, 1812, '\P{Is_Jg=gamal}', "");
-Expect(1, 1812, '\P{^Is_Jg=gamal}', "");
-Expect(0, 1810, '\p{Is_Jg=gamal}', "");
-Expect(1, 1810, '\p{^Is_Jg=gamal}', "");
-Expect(1, 1810, '\P{Is_Jg=gamal}', "");
-Expect(0, 1810, '\P{^Is_Jg=gamal}', "");
-Expect(1, 1812, '\p{Is_Jg=__Gamal}', "");
-Expect(0, 1812, '\p{^Is_Jg=__Gamal}', "");
-Expect(0, 1812, '\P{Is_Jg=__Gamal}', "");
-Expect(1, 1812, '\P{^Is_Jg=__Gamal}', "");
-Expect(0, 1810, '\p{Is_Jg=__Gamal}', "");
-Expect(1, 1810, '\p{^Is_Jg=__Gamal}', "");
-Expect(1, 1810, '\P{Is_Jg=__Gamal}', "");
-Expect(0, 1810, '\P{^Is_Jg=__Gamal}', "");
-Error('\p{Joining_Group=Meem/a/}');
-Error('\P{Joining_Group=Meem/a/}');
-Expect(1, 1605, '\p{Joining_Group=meem}', "");
-Expect(0, 1605, '\p{^Joining_Group=meem}', "");
-Expect(0, 1605, '\P{Joining_Group=meem}', "");
-Expect(1, 1605, '\P{^Joining_Group=meem}', "");
-Expect(0, 1604, '\p{Joining_Group=meem}', "");
-Expect(1, 1604, '\p{^Joining_Group=meem}', "");
-Expect(1, 1604, '\P{Joining_Group=meem}', "");
-Expect(0, 1604, '\P{^Joining_Group=meem}', "");
-Expect(1, 1605, '\p{Joining_Group: MEEM}', "");
-Expect(0, 1605, '\p{^Joining_Group: MEEM}', "");
-Expect(0, 1605, '\P{Joining_Group: MEEM}', "");
-Expect(1, 1605, '\P{^Joining_Group: MEEM}', "");
-Expect(0, 1604, '\p{Joining_Group: MEEM}', "");
-Expect(1, 1604, '\p{^Joining_Group: MEEM}', "");
-Expect(1, 1604, '\P{Joining_Group: MEEM}', "");
-Expect(0, 1604, '\P{^Joining_Group: MEEM}', "");
-Error('\p{Jg=:= Meem}');
-Error('\P{Jg=:= Meem}');
-Expect(1, 1605, '\p{Jg=meem}', "");
-Expect(0, 1605, '\p{^Jg=meem}', "");
-Expect(0, 1605, '\P{Jg=meem}', "");
-Expect(1, 1605, '\P{^Jg=meem}', "");
-Expect(0, 1604, '\p{Jg=meem}', "");
-Expect(1, 1604, '\p{^Jg=meem}', "");
-Expect(1, 1604, '\P{Jg=meem}', "");
-Expect(0, 1604, '\P{^Jg=meem}', "");
-Expect(1, 1605, '\p{Jg: -_Meem}', "");
-Expect(0, 1605, '\p{^Jg: -_Meem}', "");
-Expect(0, 1605, '\P{Jg: -_Meem}', "");
-Expect(1, 1605, '\P{^Jg: -_Meem}', "");
-Expect(0, 1604, '\p{Jg: -_Meem}', "");
-Expect(1, 1604, '\p{^Jg: -_Meem}', "");
-Expect(1, 1604, '\P{Jg: -_Meem}', "");
-Expect(0, 1604, '\P{^Jg: -_Meem}', "");
-Error('\p{Is_Joining_Group=:=- Meem}');
-Error('\P{Is_Joining_Group=:=- Meem}');
-Expect(1, 1605, '\p{Is_Joining_Group=meem}', "");
-Expect(0, 1605, '\p{^Is_Joining_Group=meem}', "");
-Expect(0, 1605, '\P{Is_Joining_Group=meem}', "");
-Expect(1, 1605, '\P{^Is_Joining_Group=meem}', "");
-Expect(0, 1604, '\p{Is_Joining_Group=meem}', "");
-Expect(1, 1604, '\p{^Is_Joining_Group=meem}', "");
-Expect(1, 1604, '\P{Is_Joining_Group=meem}', "");
-Expect(0, 1604, '\P{^Is_Joining_Group=meem}', "");
-Expect(1, 1605, '\p{Is_Joining_Group= _Meem}', "");
-Expect(0, 1605, '\p{^Is_Joining_Group= _Meem}', "");
-Expect(0, 1605, '\P{Is_Joining_Group= _Meem}', "");
-Expect(1, 1605, '\P{^Is_Joining_Group= _Meem}', "");
-Expect(0, 1604, '\p{Is_Joining_Group= _Meem}', "");
-Expect(1, 1604, '\p{^Is_Joining_Group= _Meem}', "");
-Expect(1, 1604, '\P{Is_Joining_Group= _Meem}', "");
-Expect(0, 1604, '\P{^Is_Joining_Group= _Meem}', "");
-Error('\p{Is_Jg= :=meem}');
-Error('\P{Is_Jg= :=meem}');
-Expect(1, 1605, '\p{Is_Jg: meem}', "");
-Expect(0, 1605, '\p{^Is_Jg: meem}', "");
-Expect(0, 1605, '\P{Is_Jg: meem}', "");
-Expect(1, 1605, '\P{^Is_Jg: meem}', "");
-Expect(0, 1604, '\p{Is_Jg: meem}', "");
-Expect(1, 1604, '\p{^Is_Jg: meem}', "");
-Expect(1, 1604, '\P{Is_Jg: meem}', "");
-Expect(0, 1604, '\P{^Is_Jg: meem}', "");
-Expect(1, 1605, '\p{Is_Jg=_ Meem}', "");
-Expect(0, 1605, '\p{^Is_Jg=_ Meem}', "");
-Expect(0, 1605, '\P{Is_Jg=_ Meem}', "");
-Expect(1, 1605, '\P{^Is_Jg=_ Meem}', "");
-Expect(0, 1604, '\p{Is_Jg=_ Meem}', "");
-Expect(1, 1604, '\p{^Is_Jg=_ Meem}', "");
-Expect(1, 1604, '\P{Is_Jg=_ Meem}', "");
-Expect(0, 1604, '\P{^Is_Jg=_ Meem}', "");
-Error('\p{Joining_Group=/a/ sadhe}');
-Error('\P{Joining_Group=/a/ sadhe}');
-Expect(1, 1832, '\p{Joining_Group=sadhe}', "");
-Expect(0, 1832, '\p{^Joining_Group=sadhe}', "");
-Expect(0, 1832, '\P{Joining_Group=sadhe}', "");
-Expect(1, 1832, '\P{^Joining_Group=sadhe}', "");
-Expect(0, 1831, '\p{Joining_Group=sadhe}', "");
-Expect(1, 1831, '\p{^Joining_Group=sadhe}', "");
-Expect(1, 1831, '\P{Joining_Group=sadhe}', "");
-Expect(0, 1831, '\P{^Joining_Group=sadhe}', "");
-Expect(1, 1832, '\p{Joining_Group=_SADHE}', "");
-Expect(0, 1832, '\p{^Joining_Group=_SADHE}', "");
-Expect(0, 1832, '\P{Joining_Group=_SADHE}', "");
-Expect(1, 1832, '\P{^Joining_Group=_SADHE}', "");
-Expect(0, 1831, '\p{Joining_Group=_SADHE}', "");
-Expect(1, 1831, '\p{^Joining_Group=_SADHE}', "");
-Expect(1, 1831, '\P{Joining_Group=_SADHE}', "");
-Expect(0, 1831, '\P{^Joining_Group=_SADHE}', "");
-Error('\p{Jg=:=_ Sadhe}');
-Error('\P{Jg=:=_ Sadhe}');
-Expect(1, 1832, '\p{Jg=sadhe}', "");
-Expect(0, 1832, '\p{^Jg=sadhe}', "");
-Expect(0, 1832, '\P{Jg=sadhe}', "");
-Expect(1, 1832, '\P{^Jg=sadhe}', "");
-Expect(0, 1831, '\p{Jg=sadhe}', "");
-Expect(1, 1831, '\p{^Jg=sadhe}', "");
-Expect(1, 1831, '\P{Jg=sadhe}', "");
-Expect(0, 1831, '\P{^Jg=sadhe}', "");
-Expect(1, 1832, '\p{Jg=-Sadhe}', "");
-Expect(0, 1832, '\p{^Jg=-Sadhe}', "");
-Expect(0, 1832, '\P{Jg=-Sadhe}', "");
-Expect(1, 1832, '\P{^Jg=-Sadhe}', "");
-Expect(0, 1831, '\p{Jg=-Sadhe}', "");
-Expect(1, 1831, '\p{^Jg=-Sadhe}', "");
-Expect(1, 1831, '\P{Jg=-Sadhe}', "");
-Expect(0, 1831, '\P{^Jg=-Sadhe}', "");
-Error('\p{Is_Joining_Group=/a/SADHE}');
-Error('\P{Is_Joining_Group=/a/SADHE}');
-Expect(1, 1832, '\p{Is_Joining_Group=sadhe}', "");
-Expect(0, 1832, '\p{^Is_Joining_Group=sadhe}', "");
-Expect(0, 1832, '\P{Is_Joining_Group=sadhe}', "");
-Expect(1, 1832, '\P{^Is_Joining_Group=sadhe}', "");
-Expect(0, 1831, '\p{Is_Joining_Group=sadhe}', "");
-Expect(1, 1831, '\p{^Is_Joining_Group=sadhe}', "");
-Expect(1, 1831, '\P{Is_Joining_Group=sadhe}', "");
-Expect(0, 1831, '\P{^Is_Joining_Group=sadhe}', "");
-Expect(1, 1832, '\p{Is_Joining_Group=- Sadhe}', "");
-Expect(0, 1832, '\p{^Is_Joining_Group=- Sadhe}', "");
-Expect(0, 1832, '\P{Is_Joining_Group=- Sadhe}', "");
-Expect(1, 1832, '\P{^Is_Joining_Group=- Sadhe}', "");
-Expect(0, 1831, '\p{Is_Joining_Group=- Sadhe}', "");
-Expect(1, 1831, '\p{^Is_Joining_Group=- Sadhe}', "");
-Expect(1, 1831, '\P{Is_Joining_Group=- Sadhe}', "");
-Expect(0, 1831, '\P{^Is_Joining_Group=- Sadhe}', "");
-Error('\p{Is_Jg= /a/Sadhe}');
-Error('\P{Is_Jg= /a/Sadhe}');
-Expect(1, 1832, '\p{Is_Jg=sadhe}', "");
-Expect(0, 1832, '\p{^Is_Jg=sadhe}', "");
-Expect(0, 1832, '\P{Is_Jg=sadhe}', "");
-Expect(1, 1832, '\P{^Is_Jg=sadhe}', "");
-Expect(0, 1831, '\p{Is_Jg=sadhe}', "");
-Expect(1, 1831, '\p{^Is_Jg=sadhe}', "");
-Expect(1, 1831, '\P{Is_Jg=sadhe}', "");
-Expect(0, 1831, '\P{^Is_Jg=sadhe}', "");
-Expect(1, 1832, '\p{Is_Jg=--Sadhe}', "");
-Expect(0, 1832, '\p{^Is_Jg=--Sadhe}', "");
-Expect(0, 1832, '\P{Is_Jg=--Sadhe}', "");
-Expect(1, 1832, '\P{^Is_Jg=--Sadhe}', "");
-Expect(0, 1831, '\p{Is_Jg=--Sadhe}', "");
-Expect(1, 1831, '\p{^Is_Jg=--Sadhe}', "");
-Expect(1, 1831, '\P{Is_Jg=--Sadhe}', "");
-Expect(0, 1831, '\P{^Is_Jg=--Sadhe}', "");
-Error('\p{Joining_Group= BEH/a/}');
-Error('\P{Joining_Group= BEH/a/}');
-Expect(1, 1576, '\p{Joining_Group=beh}', "");
-Expect(0, 1576, '\p{^Joining_Group=beh}', "");
-Expect(0, 1576, '\P{Joining_Group=beh}', "");
-Expect(1, 1576, '\P{^Joining_Group=beh}', "");
-Expect(0, 1575, '\p{Joining_Group=beh}', "");
-Expect(1, 1575, '\p{^Joining_Group=beh}', "");
-Expect(1, 1575, '\P{Joining_Group=beh}', "");
-Expect(0, 1575, '\P{^Joining_Group=beh}', "");
-Expect(1, 1576, '\p{Joining_Group=_-beh}', "");
-Expect(0, 1576, '\p{^Joining_Group=_-beh}', "");
-Expect(0, 1576, '\P{Joining_Group=_-beh}', "");
-Expect(1, 1576, '\P{^Joining_Group=_-beh}', "");
-Expect(0, 1575, '\p{Joining_Group=_-beh}', "");
-Expect(1, 1575, '\p{^Joining_Group=_-beh}', "");
-Expect(1, 1575, '\P{Joining_Group=_-beh}', "");
-Expect(0, 1575, '\P{^Joining_Group=_-beh}', "");
-Error('\p{Jg=/a/- Beh}');
-Error('\P{Jg=/a/- Beh}');
-Expect(1, 1576, '\p{Jg=beh}', "");
-Expect(0, 1576, '\p{^Jg=beh}', "");
-Expect(0, 1576, '\P{Jg=beh}', "");
-Expect(1, 1576, '\P{^Jg=beh}', "");
-Expect(0, 1575, '\p{Jg=beh}', "");
-Expect(1, 1575, '\p{^Jg=beh}', "");
-Expect(1, 1575, '\P{Jg=beh}', "");
-Expect(0, 1575, '\P{^Jg=beh}', "");
-Expect(1, 1576, '\p{Jg=- BEH}', "");
-Expect(0, 1576, '\p{^Jg=- BEH}', "");
-Expect(0, 1576, '\P{Jg=- BEH}', "");
-Expect(1, 1576, '\P{^Jg=- BEH}', "");
-Expect(0, 1575, '\p{Jg=- BEH}', "");
-Expect(1, 1575, '\p{^Jg=- BEH}', "");
-Expect(1, 1575, '\P{Jg=- BEH}', "");
-Expect(0, 1575, '\P{^Jg=- BEH}', "");
-Error('\p{Is_Joining_Group=_/a/BEH}');
-Error('\P{Is_Joining_Group=_/a/BEH}');
-Expect(1, 1576, '\p{Is_Joining_Group=beh}', "");
-Expect(0, 1576, '\p{^Is_Joining_Group=beh}', "");
-Expect(0, 1576, '\P{Is_Joining_Group=beh}', "");
-Expect(1, 1576, '\P{^Is_Joining_Group=beh}', "");
-Expect(0, 1575, '\p{Is_Joining_Group=beh}', "");
-Expect(1, 1575, '\p{^Is_Joining_Group=beh}', "");
-Expect(1, 1575, '\P{Is_Joining_Group=beh}', "");
-Expect(0, 1575, '\P{^Is_Joining_Group=beh}', "");
-Expect(1, 1576, '\p{Is_Joining_Group= beh}', "");
-Expect(0, 1576, '\p{^Is_Joining_Group= beh}', "");
-Expect(0, 1576, '\P{Is_Joining_Group= beh}', "");
-Expect(1, 1576, '\P{^Is_Joining_Group= beh}', "");
-Expect(0, 1575, '\p{Is_Joining_Group= beh}', "");
-Expect(1, 1575, '\p{^Is_Joining_Group= beh}', "");
-Expect(1, 1575, '\P{Is_Joining_Group= beh}', "");
-Expect(0, 1575, '\P{^Is_Joining_Group= beh}', "");
-Error('\p{Is_Jg= BEH:=}');
-Error('\P{Is_Jg= BEH:=}');
-Expect(1, 1576, '\p{Is_Jg=beh}', "");
-Expect(0, 1576, '\p{^Is_Jg=beh}', "");
-Expect(0, 1576, '\P{Is_Jg=beh}', "");
-Expect(1, 1576, '\P{^Is_Jg=beh}', "");
-Expect(0, 1575, '\p{Is_Jg=beh}', "");
-Expect(1, 1575, '\p{^Is_Jg=beh}', "");
-Expect(1, 1575, '\P{Is_Jg=beh}', "");
-Expect(0, 1575, '\P{^Is_Jg=beh}', "");
-Expect(1, 1576, '\p{Is_Jg=- Beh}', "");
-Expect(0, 1576, '\p{^Is_Jg=- Beh}', "");
-Expect(0, 1576, '\P{Is_Jg=- Beh}', "");
-Expect(1, 1576, '\P{^Is_Jg=- Beh}', "");
-Expect(0, 1575, '\p{Is_Jg=- Beh}', "");
-Expect(1, 1575, '\p{^Is_Jg=- Beh}', "");
-Expect(1, 1575, '\P{Is_Jg=- Beh}', "");
-Expect(0, 1575, '\P{^Is_Jg=- Beh}', "");
-Error('\p{Joining_Group=/a/- Yeh with_Tail}');
-Error('\P{Joining_Group=/a/- Yeh with_Tail}');
-Expect(1, 1741, '\p{Joining_Group=yehwithtail}', "");
-Expect(0, 1741, '\p{^Joining_Group=yehwithtail}', "");
-Expect(0, 1741, '\P{Joining_Group=yehwithtail}', "");
-Expect(1, 1741, '\P{^Joining_Group=yehwithtail}', "");
-Expect(0, 1740, '\p{Joining_Group=yehwithtail}', "");
-Expect(1, 1740, '\p{^Joining_Group=yehwithtail}', "");
-Expect(1, 1740, '\P{Joining_Group=yehwithtail}', "");
-Expect(0, 1740, '\P{^Joining_Group=yehwithtail}', "");
-Expect(1, 1741, '\p{Joining_Group= Yeh with TAIL}', "");
-Expect(0, 1741, '\p{^Joining_Group= Yeh with TAIL}', "");
-Expect(0, 1741, '\P{Joining_Group= Yeh with TAIL}', "");
-Expect(1, 1741, '\P{^Joining_Group= Yeh with TAIL}', "");
-Expect(0, 1740, '\p{Joining_Group= Yeh with TAIL}', "");
-Expect(1, 1740, '\p{^Joining_Group= Yeh with TAIL}', "");
-Expect(1, 1740, '\P{Joining_Group= Yeh with TAIL}', "");
-Expect(0, 1740, '\P{^Joining_Group= Yeh with TAIL}', "");
-Error('\p{Jg=:=--Yeh_With Tail}');
-Error('\P{Jg=:=--Yeh_With Tail}');
-Expect(1, 1741, '\p{Jg=yehwithtail}', "");
-Expect(0, 1741, '\p{^Jg=yehwithtail}', "");
-Expect(0, 1741, '\P{Jg=yehwithtail}', "");
-Expect(1, 1741, '\P{^Jg=yehwithtail}', "");
-Expect(0, 1740, '\p{Jg=yehwithtail}', "");
-Expect(1, 1740, '\p{^Jg=yehwithtail}', "");
-Expect(1, 1740, '\P{Jg=yehwithtail}', "");
-Expect(0, 1740, '\P{^Jg=yehwithtail}', "");
-Expect(1, 1741, '\p{Jg=- Yeh With tail}', "");
-Expect(0, 1741, '\p{^Jg=- Yeh With tail}', "");
-Expect(0, 1741, '\P{Jg=- Yeh With tail}', "");
-Expect(1, 1741, '\P{^Jg=- Yeh With tail}', "");
-Expect(0, 1740, '\p{Jg=- Yeh With tail}', "");
-Expect(1, 1740, '\p{^Jg=- Yeh With tail}', "");
-Expect(1, 1740, '\P{Jg=- Yeh With tail}', "");
-Expect(0, 1740, '\P{^Jg=- Yeh With tail}', "");
-Error('\p{Is_Joining_Group=/a/Yeh with TAIL}');
-Error('\P{Is_Joining_Group=/a/Yeh with TAIL}');
-Expect(1, 1741, '\p{Is_Joining_Group=yehwithtail}', "");
-Expect(0, 1741, '\p{^Is_Joining_Group=yehwithtail}', "");
-Expect(0, 1741, '\P{Is_Joining_Group=yehwithtail}', "");
-Expect(1, 1741, '\P{^Is_Joining_Group=yehwithtail}', "");
-Expect(0, 1740, '\p{Is_Joining_Group=yehwithtail}', "");
-Expect(1, 1740, '\p{^Is_Joining_Group=yehwithtail}', "");
-Expect(1, 1740, '\P{Is_Joining_Group=yehwithtail}', "");
-Expect(0, 1740, '\P{^Is_Joining_Group=yehwithtail}', "");
-Expect(1, 1741, '\p{Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(0, 1741, '\p{^Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(0, 1741, '\P{Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(1, 1741, '\P{^Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(0, 1740, '\p{Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(1, 1740, '\p{^Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(1, 1740, '\P{Is_Joining_Group=_YEHwith_TAIL}', "");
-Expect(0, 1740, '\P{^Is_Joining_Group=_YEHwith_TAIL}', "");
-Error('\p{Is_Jg=/a/YEHwith Tail}');
-Error('\P{Is_Jg=/a/YEHwith Tail}');
-Expect(1, 1741, '\p{Is_Jg:yehwithtail}', "");
-Expect(0, 1741, '\p{^Is_Jg:yehwithtail}', "");
-Expect(0, 1741, '\P{Is_Jg:yehwithtail}', "");
-Expect(1, 1741, '\P{^Is_Jg:yehwithtail}', "");
-Expect(0, 1740, '\p{Is_Jg:yehwithtail}', "");
-Expect(1, 1740, '\p{^Is_Jg:yehwithtail}', "");
-Expect(1, 1740, '\P{Is_Jg:yehwithtail}', "");
-Expect(0, 1740, '\P{^Is_Jg:yehwithtail}', "");
-Expect(1, 1741, '\p{Is_Jg= -Yeh-With Tail}', "");
-Expect(0, 1741, '\p{^Is_Jg= -Yeh-With Tail}', "");
-Expect(0, 1741, '\P{Is_Jg= -Yeh-With Tail}', "");
-Expect(1, 1741, '\P{^Is_Jg= -Yeh-With Tail}', "");
-Expect(0, 1740, '\p{Is_Jg= -Yeh-With Tail}', "");
-Expect(1, 1740, '\p{^Is_Jg= -Yeh-With Tail}', "");
-Expect(1, 1740, '\P{Is_Jg= -Yeh-With Tail}', "");
-Expect(0, 1740, '\P{^Is_Jg= -Yeh-With Tail}', "");
-Error('\p{Joining_Group=/a/ tah}');
-Error('\P{Joining_Group=/a/ tah}');
-Expect(1, 1592, '\p{Joining_Group: tah}', "");
-Expect(0, 1592, '\p{^Joining_Group: tah}', "");
-Expect(0, 1592, '\P{Joining_Group: tah}', "");
-Expect(1, 1592, '\P{^Joining_Group: tah}', "");
-Expect(0, 1590, '\p{Joining_Group: tah}', "");
-Expect(1, 1590, '\p{^Joining_Group: tah}', "");
-Expect(1, 1590, '\P{Joining_Group: tah}', "");
-Expect(0, 1590, '\P{^Joining_Group: tah}', "");
-Expect(1, 1592, '\p{Joining_Group: Tah}', "");
-Expect(0, 1592, '\p{^Joining_Group: Tah}', "");
-Expect(0, 1592, '\P{Joining_Group: Tah}', "");
-Expect(1, 1592, '\P{^Joining_Group: Tah}', "");
-Expect(0, 1590, '\p{Joining_Group: Tah}', "");
-Expect(1, 1590, '\p{^Joining_Group: Tah}', "");
-Expect(1, 1590, '\P{Joining_Group: Tah}', "");
-Expect(0, 1590, '\P{^Joining_Group: Tah}', "");
-Error('\p{Jg= Tah/a/}');
-Error('\P{Jg= Tah/a/}');
-Expect(1, 1592, '\p{Jg=tah}', "");
-Expect(0, 1592, '\p{^Jg=tah}', "");
-Expect(0, 1592, '\P{Jg=tah}', "");
-Expect(1, 1592, '\P{^Jg=tah}', "");
-Expect(0, 1590, '\p{Jg=tah}', "");
-Expect(1, 1590, '\p{^Jg=tah}', "");
-Expect(1, 1590, '\P{Jg=tah}', "");
-Expect(0, 1590, '\P{^Jg=tah}', "");
-Expect(1, 1592, '\p{Jg= TAH}', "");
-Expect(0, 1592, '\p{^Jg= TAH}', "");
-Expect(0, 1592, '\P{Jg= TAH}', "");
-Expect(1, 1592, '\P{^Jg= TAH}', "");
-Expect(0, 1590, '\p{Jg= TAH}', "");
-Expect(1, 1590, '\p{^Jg= TAH}', "");
-Expect(1, 1590, '\P{Jg= TAH}', "");
-Expect(0, 1590, '\P{^Jg= TAH}', "");
-Error('\p{Is_Joining_Group= :=Tah}');
-Error('\P{Is_Joining_Group= :=Tah}');
-Expect(1, 1592, '\p{Is_Joining_Group=tah}', "");
-Expect(0, 1592, '\p{^Is_Joining_Group=tah}', "");
-Expect(0, 1592, '\P{Is_Joining_Group=tah}', "");
-Expect(1, 1592, '\P{^Is_Joining_Group=tah}', "");
-Expect(0, 1590, '\p{Is_Joining_Group=tah}', "");
-Expect(1, 1590, '\p{^Is_Joining_Group=tah}', "");
-Expect(1, 1590, '\P{Is_Joining_Group=tah}', "");
-Expect(0, 1590, '\P{^Is_Joining_Group=tah}', "");
-Expect(1, 1592, '\p{Is_Joining_Group= Tah}', "");
-Expect(0, 1592, '\p{^Is_Joining_Group= Tah}', "");
-Expect(0, 1592, '\P{Is_Joining_Group= Tah}', "");
-Expect(1, 1592, '\P{^Is_Joining_Group= Tah}', "");
-Expect(0, 1590, '\p{Is_Joining_Group= Tah}', "");
-Expect(1, 1590, '\p{^Is_Joining_Group= Tah}', "");
-Expect(1, 1590, '\P{Is_Joining_Group= Tah}', "");
-Expect(0, 1590, '\P{^Is_Joining_Group= Tah}', "");
-Error('\p{Is_Jg= tah/a/}');
-Error('\P{Is_Jg= tah/a/}');
-Expect(1, 1592, '\p{Is_Jg=tah}', "");
-Expect(0, 1592, '\p{^Is_Jg=tah}', "");
-Expect(0, 1592, '\P{Is_Jg=tah}', "");
-Expect(1, 1592, '\P{^Is_Jg=tah}', "");
-Expect(0, 1590, '\p{Is_Jg=tah}', "");
-Expect(1, 1590, '\p{^Is_Jg=tah}', "");
-Expect(1, 1590, '\P{Is_Jg=tah}', "");
-Expect(0, 1590, '\P{^Is_Jg=tah}', "");
-Expect(1, 1592, '\p{Is_Jg=__Tah}', "");
-Expect(0, 1592, '\p{^Is_Jg=__Tah}', "");
-Expect(0, 1592, '\P{Is_Jg=__Tah}', "");
-Expect(1, 1592, '\P{^Is_Jg=__Tah}', "");
-Expect(0, 1590, '\p{Is_Jg=__Tah}', "");
-Expect(1, 1590, '\p{^Is_Jg=__Tah}', "");
-Expect(1, 1590, '\P{Is_Jg=__Tah}', "");
-Expect(0, 1590, '\P{^Is_Jg=__Tah}', "");
-Error('\p{Joining_Group=:=ZHAIN}');
-Error('\P{Joining_Group=:=ZHAIN}');
-Expect(1, 1869, '\p{Joining_Group=zhain}', "");
-Expect(0, 1869, '\p{^Joining_Group=zhain}', "");
-Expect(0, 1869, '\P{Joining_Group=zhain}', "");
-Expect(1, 1869, '\P{^Joining_Group=zhain}', "");
-Expect(0, 1868, '\p{Joining_Group=zhain}', "");
-Expect(1, 1868, '\p{^Joining_Group=zhain}', "");
-Expect(1, 1868, '\P{Joining_Group=zhain}', "");
-Expect(0, 1868, '\P{^Joining_Group=zhain}', "");
-Expect(1, 1869, '\p{Joining_Group: ZHAIN}', "");
-Expect(0, 1869, '\p{^Joining_Group: ZHAIN}', "");
-Expect(0, 1869, '\P{Joining_Group: ZHAIN}', "");
-Expect(1, 1869, '\P{^Joining_Group: ZHAIN}', "");
-Expect(0, 1868, '\p{Joining_Group: ZHAIN}', "");
-Expect(1, 1868, '\p{^Joining_Group: ZHAIN}', "");
-Expect(1, 1868, '\P{Joining_Group: ZHAIN}', "");
-Expect(0, 1868, '\P{^Joining_Group: ZHAIN}', "");
-Error('\p{Jg=_:=zhain}');
-Error('\P{Jg=_:=zhain}');
-Expect(1, 1869, '\p{Jg=zhain}', "");
-Expect(0, 1869, '\p{^Jg=zhain}', "");
-Expect(0, 1869, '\P{Jg=zhain}', "");
-Expect(1, 1869, '\P{^Jg=zhain}', "");
-Expect(0, 1868, '\p{Jg=zhain}', "");
-Expect(1, 1868, '\p{^Jg=zhain}', "");
-Expect(1, 1868, '\P{Jg=zhain}', "");
-Expect(0, 1868, '\P{^Jg=zhain}', "");
-Expect(1, 1869, '\p{Jg= Zhain}', "");
-Expect(0, 1869, '\p{^Jg= Zhain}', "");
-Expect(0, 1869, '\P{Jg= Zhain}', "");
-Expect(1, 1869, '\P{^Jg= Zhain}', "");
-Expect(0, 1868, '\p{Jg= Zhain}', "");
-Expect(1, 1868, '\p{^Jg= Zhain}', "");
-Expect(1, 1868, '\P{Jg= Zhain}', "");
-Expect(0, 1868, '\P{^Jg= Zhain}', "");
-Error('\p{Is_Joining_Group=_:=zhain}');
-Error('\P{Is_Joining_Group=_:=zhain}');
-Expect(1, 1869, '\p{Is_Joining_Group=zhain}', "");
-Expect(0, 1869, '\p{^Is_Joining_Group=zhain}', "");
-Expect(0, 1869, '\P{Is_Joining_Group=zhain}', "");
-Expect(1, 1869, '\P{^Is_Joining_Group=zhain}', "");
-Expect(0, 1868, '\p{Is_Joining_Group=zhain}', "");
-Expect(1, 1868, '\p{^Is_Joining_Group=zhain}', "");
-Expect(1, 1868, '\P{Is_Joining_Group=zhain}', "");
-Expect(0, 1868, '\P{^Is_Joining_Group=zhain}', "");
-Expect(1, 1869, '\p{Is_Joining_Group= Zhain}', "");
-Expect(0, 1869, '\p{^Is_Joining_Group= Zhain}', "");
-Expect(0, 1869, '\P{Is_Joining_Group= Zhain}', "");
-Expect(1, 1869, '\P{^Is_Joining_Group= Zhain}', "");
-Expect(0, 1868, '\p{Is_Joining_Group= Zhain}', "");
-Expect(1, 1868, '\p{^Is_Joining_Group= Zhain}', "");
-Expect(1, 1868, '\P{Is_Joining_Group= Zhain}', "");
-Expect(0, 1868, '\P{^Is_Joining_Group= Zhain}', "");
-Error('\p{Is_Jg=_ zhain:=}');
-Error('\P{Is_Jg=_ zhain:=}');
-Expect(1, 1869, '\p{Is_Jg=zhain}', "");
-Expect(0, 1869, '\p{^Is_Jg=zhain}', "");
-Expect(0, 1869, '\P{Is_Jg=zhain}', "");
-Expect(1, 1869, '\P{^Is_Jg=zhain}', "");
-Expect(0, 1868, '\p{Is_Jg=zhain}', "");
-Expect(1, 1868, '\p{^Is_Jg=zhain}', "");
-Expect(1, 1868, '\P{Is_Jg=zhain}', "");
-Expect(0, 1868, '\P{^Is_Jg=zhain}', "");
-Expect(1, 1869, '\p{Is_Jg=- ZHAIN}', "");
-Expect(0, 1869, '\p{^Is_Jg=- ZHAIN}', "");
-Expect(0, 1869, '\P{Is_Jg=- ZHAIN}', "");
-Expect(1, 1869, '\P{^Is_Jg=- ZHAIN}', "");
-Expect(0, 1868, '\p{Is_Jg=- ZHAIN}', "");
-Expect(1, 1868, '\p{^Is_Jg=- ZHAIN}', "");
-Expect(1, 1868, '\P{Is_Jg=- ZHAIN}', "");
-Expect(0, 1868, '\P{^Is_Jg=- ZHAIN}', "");
-Error('\p{Joining_Group=/a/-_pe}');
-Error('\P{Joining_Group=/a/-_pe}');
-Expect(1, 1830, '\p{Joining_Group=pe}', "");
-Expect(0, 1830, '\p{^Joining_Group=pe}', "");
-Expect(0, 1830, '\P{Joining_Group=pe}', "");
-Expect(1, 1830, '\P{^Joining_Group=pe}', "");
-Expect(0, 1829, '\p{Joining_Group=pe}', "");
-Expect(1, 1829, '\p{^Joining_Group=pe}', "");
-Expect(1, 1829, '\P{Joining_Group=pe}', "");
-Expect(0, 1829, '\P{^Joining_Group=pe}', "");
-Expect(1, 1830, '\p{Joining_Group= Pe}', "");
-Expect(0, 1830, '\p{^Joining_Group= Pe}', "");
-Expect(0, 1830, '\P{Joining_Group= Pe}', "");
-Expect(1, 1830, '\P{^Joining_Group= Pe}', "");
-Expect(0, 1829, '\p{Joining_Group= Pe}', "");
-Expect(1, 1829, '\p{^Joining_Group= Pe}', "");
-Expect(1, 1829, '\P{Joining_Group= Pe}', "");
-Expect(0, 1829, '\P{^Joining_Group= Pe}', "");
-Error('\p{Jg=/a/ pe}');
-Error('\P{Jg=/a/ pe}');
-Expect(1, 1830, '\p{Jg=pe}', "");
-Expect(0, 1830, '\p{^Jg=pe}', "");
-Expect(0, 1830, '\P{Jg=pe}', "");
-Expect(1, 1830, '\P{^Jg=pe}', "");
-Expect(0, 1829, '\p{Jg=pe}', "");
-Expect(1, 1829, '\p{^Jg=pe}', "");
-Expect(1, 1829, '\P{Jg=pe}', "");
-Expect(0, 1829, '\P{^Jg=pe}', "");
-Error('\p{Is_Joining_Group=/a/ -PE}');
-Error('\P{Is_Joining_Group=/a/ -PE}');
-Expect(1, 1830, '\p{Is_Joining_Group=pe}', "");
-Expect(0, 1830, '\p{^Is_Joining_Group=pe}', "");
-Expect(0, 1830, '\P{Is_Joining_Group=pe}', "");
-Expect(1, 1830, '\P{^Is_Joining_Group=pe}', "");
-Expect(0, 1829, '\p{Is_Joining_Group=pe}', "");
-Expect(1, 1829, '\p{^Is_Joining_Group=pe}', "");
-Expect(1, 1829, '\P{Is_Joining_Group=pe}', "");
-Expect(0, 1829, '\P{^Is_Joining_Group=pe}', "");
-Expect(1, 1830, '\p{Is_Joining_Group=_PE}', "");
-Expect(0, 1830, '\p{^Is_Joining_Group=_PE}', "");
-Expect(0, 1830, '\P{Is_Joining_Group=_PE}', "");
-Expect(1, 1830, '\P{^Is_Joining_Group=_PE}', "");
-Expect(0, 1829, '\p{Is_Joining_Group=_PE}', "");
-Expect(1, 1829, '\p{^Is_Joining_Group=_PE}', "");
-Expect(1, 1829, '\P{Is_Joining_Group=_PE}', "");
-Expect(0, 1829, '\P{^Is_Joining_Group=_PE}', "");
-Error('\p{Is_Jg= :=Pe}');
-Error('\P{Is_Jg= :=Pe}');
-Expect(1, 1830, '\p{Is_Jg=pe}', "");
-Expect(0, 1830, '\p{^Is_Jg=pe}', "");
-Expect(0, 1830, '\P{Is_Jg=pe}', "");
-Expect(1, 1830, '\P{^Is_Jg=pe}', "");
-Expect(0, 1829, '\p{Is_Jg=pe}', "");
-Expect(1, 1829, '\p{^Is_Jg=pe}', "");
-Expect(1, 1829, '\P{Is_Jg=pe}', "");
-Expect(0, 1829, '\P{^Is_Jg=pe}', "");
-Expect(1, 1830, '\p{Is_Jg= PE}', "");
-Expect(0, 1830, '\p{^Is_Jg= PE}', "");
-Expect(0, 1830, '\P{Is_Jg= PE}', "");
-Expect(1, 1830, '\P{^Is_Jg= PE}', "");
-Expect(0, 1829, '\p{Is_Jg= PE}', "");
-Expect(1, 1829, '\p{^Is_Jg= PE}', "");
-Expect(1, 1829, '\P{Is_Jg= PE}', "");
-Expect(0, 1829, '\P{^Is_Jg= PE}', "");
-Error('\p{Joining_Group=/a/- GAF}');
-Error('\P{Joining_Group=/a/- GAF}');
-Expect(1, 1596, '\p{Joining_Group=gaf}', "");
-Expect(0, 1596, '\p{^Joining_Group=gaf}', "");
-Expect(0, 1596, '\P{Joining_Group=gaf}', "");
-Expect(1, 1596, '\P{^Joining_Group=gaf}', "");
-Expect(0, 1594, '\p{Joining_Group=gaf}', "");
-Expect(1, 1594, '\p{^Joining_Group=gaf}', "");
-Expect(1, 1594, '\P{Joining_Group=gaf}', "");
-Expect(0, 1594, '\P{^Joining_Group=gaf}', "");
-Expect(1, 1596, '\p{Joining_Group=-gaf}', "");
-Expect(0, 1596, '\p{^Joining_Group=-gaf}', "");
-Expect(0, 1596, '\P{Joining_Group=-gaf}', "");
-Expect(1, 1596, '\P{^Joining_Group=-gaf}', "");
-Expect(0, 1594, '\p{Joining_Group=-gaf}', "");
-Expect(1, 1594, '\p{^Joining_Group=-gaf}', "");
-Expect(1, 1594, '\P{Joining_Group=-gaf}', "");
-Expect(0, 1594, '\P{^Joining_Group=-gaf}', "");
-Error('\p{Jg=/a/_ GAF}');
-Error('\P{Jg=/a/_ GAF}');
-Expect(1, 1596, '\p{Jg=gaf}', "");
-Expect(0, 1596, '\p{^Jg=gaf}', "");
-Expect(0, 1596, '\P{Jg=gaf}', "");
-Expect(1, 1596, '\P{^Jg=gaf}', "");
-Expect(0, 1594, '\p{Jg=gaf}', "");
-Expect(1, 1594, '\p{^Jg=gaf}', "");
-Expect(1, 1594, '\P{Jg=gaf}', "");
-Expect(0, 1594, '\P{^Jg=gaf}', "");
-Expect(1, 1596, '\p{Jg=-Gaf}', "");
-Expect(0, 1596, '\p{^Jg=-Gaf}', "");
-Expect(0, 1596, '\P{Jg=-Gaf}', "");
-Expect(1, 1596, '\P{^Jg=-Gaf}', "");
-Expect(0, 1594, '\p{Jg=-Gaf}', "");
-Expect(1, 1594, '\p{^Jg=-Gaf}', "");
-Expect(1, 1594, '\P{Jg=-Gaf}', "");
-Expect(0, 1594, '\P{^Jg=-Gaf}', "");
-Error('\p{Is_Joining_Group=-gaf/a/}');
-Error('\P{Is_Joining_Group=-gaf/a/}');
-Expect(1, 1596, '\p{Is_Joining_Group=gaf}', "");
-Expect(0, 1596, '\p{^Is_Joining_Group=gaf}', "");
-Expect(0, 1596, '\P{Is_Joining_Group=gaf}', "");
-Expect(1, 1596, '\P{^Is_Joining_Group=gaf}', "");
-Expect(0, 1594, '\p{Is_Joining_Group=gaf}', "");
-Expect(1, 1594, '\p{^Is_Joining_Group=gaf}', "");
-Expect(1, 1594, '\P{Is_Joining_Group=gaf}', "");
-Expect(0, 1594, '\P{^Is_Joining_Group=gaf}', "");
-Expect(1, 1596, '\p{Is_Joining_Group=-_Gaf}', "");
-Expect(0, 1596, '\p{^Is_Joining_Group=-_Gaf}', "");
-Expect(0, 1596, '\P{Is_Joining_Group=-_Gaf}', "");
-Expect(1, 1596, '\P{^Is_Joining_Group=-_Gaf}', "");
-Expect(0, 1594, '\p{Is_Joining_Group=-_Gaf}', "");
-Expect(1, 1594, '\p{^Is_Joining_Group=-_Gaf}', "");
-Expect(1, 1594, '\P{Is_Joining_Group=-_Gaf}', "");
-Expect(0, 1594, '\P{^Is_Joining_Group=-_Gaf}', "");
-Error('\p{Is_Jg=/a/ gaf}');
-Error('\P{Is_Jg=/a/ gaf}');
-Expect(1, 1596, '\p{Is_Jg=gaf}', "");
-Expect(0, 1596, '\p{^Is_Jg=gaf}', "");
-Expect(0, 1596, '\P{Is_Jg=gaf}', "");
-Expect(1, 1596, '\P{^Is_Jg=gaf}', "");
-Expect(0, 1594, '\p{Is_Jg=gaf}', "");
-Expect(1, 1594, '\p{^Is_Jg=gaf}', "");
-Expect(1, 1594, '\P{Is_Jg=gaf}', "");
-Expect(0, 1594, '\P{^Is_Jg=gaf}', "");
-Expect(1, 1596, '\p{Is_Jg=_-Gaf}', "");
-Expect(0, 1596, '\p{^Is_Jg=_-Gaf}', "");
-Expect(0, 1596, '\P{Is_Jg=_-Gaf}', "");
-Expect(1, 1596, '\P{^Is_Jg=_-Gaf}', "");
-Expect(0, 1594, '\p{Is_Jg=_-Gaf}', "");
-Expect(1, 1594, '\p{^Is_Jg=_-Gaf}', "");
-Expect(1, 1594, '\P{Is_Jg=_-Gaf}', "");
-Expect(0, 1594, '\P{^Is_Jg=_-Gaf}', "");
-Error('\p{Joining_Group=_:=WAW}');
-Error('\P{Joining_Group=_:=WAW}');
-Expect(1, 1572, '\p{Joining_Group: waw}', "");
-Expect(0, 1572, '\p{^Joining_Group: waw}', "");
-Expect(0, 1572, '\P{Joining_Group: waw}', "");
-Expect(1, 1572, '\P{^Joining_Group: waw}', "");
-Expect(0, 1571, '\p{Joining_Group: waw}', "");
-Expect(1, 1571, '\p{^Joining_Group: waw}', "");
-Expect(1, 1571, '\P{Joining_Group: waw}', "");
-Expect(0, 1571, '\P{^Joining_Group: waw}', "");
-Expect(1, 1572, '\p{Joining_Group=--WAW}', "");
-Expect(0, 1572, '\p{^Joining_Group=--WAW}', "");
-Expect(0, 1572, '\P{Joining_Group=--WAW}', "");
-Expect(1, 1572, '\P{^Joining_Group=--WAW}', "");
-Expect(0, 1571, '\p{Joining_Group=--WAW}', "");
-Expect(1, 1571, '\p{^Joining_Group=--WAW}', "");
-Expect(1, 1571, '\P{Joining_Group=--WAW}', "");
-Expect(0, 1571, '\P{^Joining_Group=--WAW}', "");
-Error('\p{Jg=:= _Waw}');
-Error('\P{Jg=:= _Waw}');
-Expect(1, 1572, '\p{Jg=waw}', "");
-Expect(0, 1572, '\p{^Jg=waw}', "");
-Expect(0, 1572, '\P{Jg=waw}', "");
-Expect(1, 1572, '\P{^Jg=waw}', "");
-Expect(0, 1571, '\p{Jg=waw}', "");
-Expect(1, 1571, '\p{^Jg=waw}', "");
-Expect(1, 1571, '\P{Jg=waw}', "");
-Expect(0, 1571, '\P{^Jg=waw}', "");
-Expect(1, 1572, '\p{Jg=- waw}', "");
-Expect(0, 1572, '\p{^Jg=- waw}', "");
-Expect(0, 1572, '\P{Jg=- waw}', "");
-Expect(1, 1572, '\P{^Jg=- waw}', "");
-Expect(0, 1571, '\p{Jg=- waw}', "");
-Expect(1, 1571, '\p{^Jg=- waw}', "");
-Expect(1, 1571, '\P{Jg=- waw}', "");
-Expect(0, 1571, '\P{^Jg=- waw}', "");
-Error('\p{Is_Joining_Group=/a/ WAW}');
-Error('\P{Is_Joining_Group=/a/ WAW}');
-Expect(1, 1572, '\p{Is_Joining_Group=waw}', "");
-Expect(0, 1572, '\p{^Is_Joining_Group=waw}', "");
-Expect(0, 1572, '\P{Is_Joining_Group=waw}', "");
-Expect(1, 1572, '\P{^Is_Joining_Group=waw}', "");
-Expect(0, 1571, '\p{Is_Joining_Group=waw}', "");
-Expect(1, 1571, '\p{^Is_Joining_Group=waw}', "");
-Expect(1, 1571, '\P{Is_Joining_Group=waw}', "");
-Expect(0, 1571, '\P{^Is_Joining_Group=waw}', "");
-Expect(1, 1572, '\p{Is_Joining_Group=- Waw}', "");
-Expect(0, 1572, '\p{^Is_Joining_Group=- Waw}', "");
-Expect(0, 1572, '\P{Is_Joining_Group=- Waw}', "");
-Expect(1, 1572, '\P{^Is_Joining_Group=- Waw}', "");
-Expect(0, 1571, '\p{Is_Joining_Group=- Waw}', "");
-Expect(1, 1571, '\p{^Is_Joining_Group=- Waw}', "");
-Expect(1, 1571, '\P{Is_Joining_Group=- Waw}', "");
-Expect(0, 1571, '\P{^Is_Joining_Group=- Waw}', "");
-Error('\p{Is_Jg:- Waw/a/}');
-Error('\P{Is_Jg:- Waw/a/}');
-Expect(1, 1572, '\p{Is_Jg:waw}', "");
-Expect(0, 1572, '\p{^Is_Jg:waw}', "");
-Expect(0, 1572, '\P{Is_Jg:waw}', "");
-Expect(1, 1572, '\P{^Is_Jg:waw}', "");
-Expect(0, 1571, '\p{Is_Jg:waw}', "");
-Expect(1, 1571, '\p{^Is_Jg:waw}', "");
-Expect(1, 1571, '\P{Is_Jg:waw}', "");
-Expect(0, 1571, '\P{^Is_Jg:waw}', "");
-Expect(1, 1572, '\p{Is_Jg= Waw}', "");
-Expect(0, 1572, '\p{^Is_Jg= Waw}', "");
-Expect(0, 1572, '\P{Is_Jg= Waw}', "");
-Expect(1, 1572, '\P{^Is_Jg= Waw}', "");
-Expect(0, 1571, '\p{Is_Jg= Waw}', "");
-Expect(1, 1571, '\p{^Is_Jg= Waw}', "");
-Expect(1, 1571, '\P{Is_Jg= Waw}', "");
-Expect(0, 1571, '\P{^Is_Jg= Waw}', "");
-Error('\p{Joining_Group= /a/YUDH}');
-Error('\P{Joining_Group= /a/YUDH}');
-Expect(1, 1821, '\p{Joining_Group: yudh}', "");
-Expect(0, 1821, '\p{^Joining_Group: yudh}', "");
-Expect(0, 1821, '\P{Joining_Group: yudh}', "");
-Expect(1, 1821, '\P{^Joining_Group: yudh}', "");
-Expect(0, 1820, '\p{Joining_Group: yudh}', "");
-Expect(1, 1820, '\p{^Joining_Group: yudh}', "");
-Expect(1, 1820, '\P{Joining_Group: yudh}', "");
-Expect(0, 1820, '\P{^Joining_Group: yudh}', "");
-Expect(1, 1821, '\p{Joining_Group= yudh}', "");
-Expect(0, 1821, '\p{^Joining_Group= yudh}', "");
-Expect(0, 1821, '\P{Joining_Group= yudh}', "");
-Expect(1, 1821, '\P{^Joining_Group= yudh}', "");
-Expect(0, 1820, '\p{Joining_Group= yudh}', "");
-Expect(1, 1820, '\p{^Joining_Group= yudh}', "");
-Expect(1, 1820, '\P{Joining_Group= yudh}', "");
-Expect(0, 1820, '\P{^Joining_Group= yudh}', "");
-Error('\p{Jg=/a/-YUDH}');
-Error('\P{Jg=/a/-YUDH}');
-Expect(1, 1821, '\p{Jg=yudh}', "");
-Expect(0, 1821, '\p{^Jg=yudh}', "");
-Expect(0, 1821, '\P{Jg=yudh}', "");
-Expect(1, 1821, '\P{^Jg=yudh}', "");
-Expect(0, 1820, '\p{Jg=yudh}', "");
-Expect(1, 1820, '\p{^Jg=yudh}', "");
-Expect(1, 1820, '\P{Jg=yudh}', "");
-Expect(0, 1820, '\P{^Jg=yudh}', "");
-Expect(1, 1821, '\p{Jg=--Yudh}', "");
-Expect(0, 1821, '\p{^Jg=--Yudh}', "");
-Expect(0, 1821, '\P{Jg=--Yudh}', "");
-Expect(1, 1821, '\P{^Jg=--Yudh}', "");
-Expect(0, 1820, '\p{Jg=--Yudh}', "");
-Expect(1, 1820, '\p{^Jg=--Yudh}', "");
-Expect(1, 1820, '\P{Jg=--Yudh}', "");
-Expect(0, 1820, '\P{^Jg=--Yudh}', "");
-Error('\p{Is_Joining_Group: _/a/Yudh}');
-Error('\P{Is_Joining_Group: _/a/Yudh}');
-Expect(1, 1821, '\p{Is_Joining_Group=yudh}', "");
-Expect(0, 1821, '\p{^Is_Joining_Group=yudh}', "");
-Expect(0, 1821, '\P{Is_Joining_Group=yudh}', "");
-Expect(1, 1821, '\P{^Is_Joining_Group=yudh}', "");
-Expect(0, 1820, '\p{Is_Joining_Group=yudh}', "");
-Expect(1, 1820, '\p{^Is_Joining_Group=yudh}', "");
-Expect(1, 1820, '\P{Is_Joining_Group=yudh}', "");
-Expect(0, 1820, '\P{^Is_Joining_Group=yudh}', "");
-Expect(1, 1821, '\p{Is_Joining_Group= -yudh}', "");
-Expect(0, 1821, '\p{^Is_Joining_Group= -yudh}', "");
-Expect(0, 1821, '\P{Is_Joining_Group= -yudh}', "");
-Expect(1, 1821, '\P{^Is_Joining_Group= -yudh}', "");
-Expect(0, 1820, '\p{Is_Joining_Group= -yudh}', "");
-Expect(1, 1820, '\p{^Is_Joining_Group= -yudh}', "");
-Expect(1, 1820, '\P{Is_Joining_Group= -yudh}', "");
-Expect(0, 1820, '\P{^Is_Joining_Group= -yudh}', "");
-Error('\p{Is_Jg= Yudh:=}');
-Error('\P{Is_Jg= Yudh:=}');
-Expect(1, 1821, '\p{Is_Jg=yudh}', "");
-Expect(0, 1821, '\p{^Is_Jg=yudh}', "");
-Expect(0, 1821, '\P{Is_Jg=yudh}', "");
-Expect(1, 1821, '\P{^Is_Jg=yudh}', "");
-Expect(0, 1820, '\p{Is_Jg=yudh}', "");
-Expect(1, 1820, '\p{^Is_Jg=yudh}', "");
-Expect(1, 1820, '\P{Is_Jg=yudh}', "");
-Expect(0, 1820, '\P{^Is_Jg=yudh}', "");
-Expect(1, 1821, '\p{Is_Jg= Yudh}', "");
-Expect(0, 1821, '\p{^Is_Jg= Yudh}', "");
-Expect(0, 1821, '\P{Is_Jg= Yudh}', "");
-Expect(1, 1821, '\P{^Is_Jg= Yudh}', "");
-Expect(0, 1820, '\p{Is_Jg= Yudh}', "");
-Expect(1, 1820, '\p{^Is_Jg= Yudh}', "");
-Expect(1, 1820, '\P{Is_Jg= Yudh}', "");
-Expect(0, 1820, '\P{^Is_Jg= Yudh}', "");
-Error('\p{Pattern_White_Space= yes:=}');
-Error('\P{Pattern_White_Space= yes:=}');
-Expect(1, 13, '\p{Pattern_White_Space=yes}', "");
-Expect(0, 13, '\p{^Pattern_White_Space=yes}', "");
-Expect(0, 13, '\P{Pattern_White_Space=yes}', "");
-Expect(1, 13, '\P{^Pattern_White_Space=yes}', "");
-Expect(0, 8, '\p{Pattern_White_Space=yes}', "");
-Expect(1, 8, '\p{^Pattern_White_Space=yes}', "");
-Expect(1, 8, '\P{Pattern_White_Space=yes}', "");
-Expect(0, 8, '\P{^Pattern_White_Space=yes}', "");
-Expect(1, 13, '\p{Pattern_White_Space=-yes}', "");
-Expect(0, 13, '\p{^Pattern_White_Space=-yes}', "");
-Expect(0, 13, '\P{Pattern_White_Space=-yes}', "");
-Expect(1, 13, '\P{^Pattern_White_Space=-yes}', "");
-Expect(0, 8, '\p{Pattern_White_Space=-yes}', "");
-Expect(1, 8, '\p{^Pattern_White_Space=-yes}', "");
-Expect(1, 8, '\P{Pattern_White_Space=-yes}', "");
-Expect(0, 8, '\P{^Pattern_White_Space=-yes}', "");
-Error('\p{Pat_WS: := _y}');
-Error('\P{Pat_WS: := _y}');
-Expect(1, 13, '\p{Pat_WS=y}', "");
-Expect(0, 13, '\p{^Pat_WS=y}', "");
-Expect(0, 13, '\P{Pat_WS=y}', "");
-Expect(1, 13, '\P{^Pat_WS=y}', "");
-Expect(0, 8, '\p{Pat_WS=y}', "");
-Expect(1, 8, '\p{^Pat_WS=y}', "");
-Expect(1, 8, '\P{Pat_WS=y}', "");
-Expect(0, 8, '\P{^Pat_WS=y}', "");
-Expect(1, 13, '\p{Pat_WS=-_Y}', "");
-Expect(0, 13, '\p{^Pat_WS=-_Y}', "");
-Expect(0, 13, '\P{Pat_WS=-_Y}', "");
-Expect(1, 13, '\P{^Pat_WS=-_Y}', "");
-Expect(0, 8, '\p{Pat_WS=-_Y}', "");
-Expect(1, 8, '\p{^Pat_WS=-_Y}', "");
-Expect(1, 8, '\P{Pat_WS=-_Y}', "");
-Expect(0, 8, '\P{^Pat_WS=-_Y}', "");
-Error('\p{Is_Pattern_White_Space: --T:=}');
-Error('\P{Is_Pattern_White_Space: --T:=}');
-Expect(1, 13, '\p{Is_Pattern_White_Space=t}', "");
-Expect(0, 13, '\p{^Is_Pattern_White_Space=t}', "");
-Expect(0, 13, '\P{Is_Pattern_White_Space=t}', "");
-Expect(1, 13, '\P{^Is_Pattern_White_Space=t}', "");
-Expect(0, 8, '\p{Is_Pattern_White_Space=t}', "");
-Expect(1, 8, '\p{^Is_Pattern_White_Space=t}', "");
-Expect(1, 8, '\P{Is_Pattern_White_Space=t}', "");
-Expect(0, 8, '\P{^Is_Pattern_White_Space=t}', "");
-Expect(1, 13, '\p{Is_Pattern_White_Space=__T}', "");
-Expect(0, 13, '\p{^Is_Pattern_White_Space=__T}', "");
-Expect(0, 13, '\P{Is_Pattern_White_Space=__T}', "");
-Expect(1, 13, '\P{^Is_Pattern_White_Space=__T}', "");
-Expect(0, 8, '\p{Is_Pattern_White_Space=__T}', "");
-Expect(1, 8, '\p{^Is_Pattern_White_Space=__T}', "");
-Expect(1, 8, '\P{Is_Pattern_White_Space=__T}', "");
-Expect(0, 8, '\P{^Is_Pattern_White_Space=__T}', "");
-Error('\p{Is_Pat_WS: TRUE/a/}');
-Error('\P{Is_Pat_WS: TRUE/a/}');
-Expect(1, 13, '\p{Is_Pat_WS=true}', "");
-Expect(0, 13, '\p{^Is_Pat_WS=true}', "");
-Expect(0, 13, '\P{Is_Pat_WS=true}', "");
-Expect(1, 13, '\P{^Is_Pat_WS=true}', "");
-Expect(0, 8, '\p{Is_Pat_WS=true}', "");
-Expect(1, 8, '\p{^Is_Pat_WS=true}', "");
-Expect(1, 8, '\P{Is_Pat_WS=true}', "");
-Expect(0, 8, '\P{^Is_Pat_WS=true}', "");
-Expect(1, 13, '\p{Is_Pat_WS= _True}', "");
-Expect(0, 13, '\p{^Is_Pat_WS= _True}', "");
-Expect(0, 13, '\P{Is_Pat_WS= _True}', "");
-Expect(1, 13, '\P{^Is_Pat_WS= _True}', "");
-Expect(0, 8, '\p{Is_Pat_WS= _True}', "");
-Expect(1, 8, '\p{^Is_Pat_WS= _True}', "");
-Expect(1, 8, '\P{Is_Pat_WS= _True}', "");
-Expect(0, 8, '\P{^Is_Pat_WS= _True}', "");
-Error('\p{Pattern_White_Space= -No/a/}');
-Error('\P{Pattern_White_Space= -No/a/}');
-Expect(1, 8, '\p{Pattern_White_Space=no}', "");
-Expect(0, 8, '\p{^Pattern_White_Space=no}', "");
-Expect(0, 8, '\P{Pattern_White_Space=no}', "");
-Expect(1, 8, '\P{^Pattern_White_Space=no}', "");
-Expect(0, 13, '\p{Pattern_White_Space=no}', "");
-Expect(1, 13, '\p{^Pattern_White_Space=no}', "");
-Expect(1, 13, '\P{Pattern_White_Space=no}', "");
-Expect(0, 13, '\P{^Pattern_White_Space=no}', "");
-Expect(1, 8, '\p{Pattern_White_Space=No}', "");
-Expect(0, 8, '\p{^Pattern_White_Space=No}', "");
-Expect(0, 8, '\P{Pattern_White_Space=No}', "");
-Expect(1, 8, '\P{^Pattern_White_Space=No}', "");
-Expect(0, 13, '\p{Pattern_White_Space=No}', "");
-Expect(1, 13, '\p{^Pattern_White_Space=No}', "");
-Expect(1, 13, '\P{Pattern_White_Space=No}', "");
-Expect(0, 13, '\P{^Pattern_White_Space=No}', "");
-Error('\p{Pat_WS=_ n/a/}');
-Error('\P{Pat_WS=_ n/a/}');
-Expect(1, 8, '\p{Pat_WS=n}', "");
-Expect(0, 8, '\p{^Pat_WS=n}', "");
-Expect(0, 8, '\P{Pat_WS=n}', "");
-Expect(1, 8, '\P{^Pat_WS=n}', "");
-Expect(0, 13, '\p{Pat_WS=n}', "");
-Expect(1, 13, '\p{^Pat_WS=n}', "");
-Expect(1, 13, '\P{Pat_WS=n}', "");
-Expect(0, 13, '\P{^Pat_WS=n}', "");
-Expect(1, 8, '\p{Pat_WS= _n}', "");
-Expect(0, 8, '\p{^Pat_WS= _n}', "");
-Expect(0, 8, '\P{Pat_WS= _n}', "");
-Expect(1, 8, '\P{^Pat_WS= _n}', "");
-Expect(0, 13, '\p{Pat_WS= _n}', "");
-Expect(1, 13, '\p{^Pat_WS= _n}', "");
-Expect(1, 13, '\P{Pat_WS= _n}', "");
-Expect(0, 13, '\P{^Pat_WS= _n}', "");
-Error('\p{Is_Pattern_White_Space=-_f:=}');
-Error('\P{Is_Pattern_White_Space=-_f:=}');
-Expect(1, 8, '\p{Is_Pattern_White_Space=f}', "");
-Expect(0, 8, '\p{^Is_Pattern_White_Space=f}', "");
-Expect(0, 8, '\P{Is_Pattern_White_Space=f}', "");
-Expect(1, 8, '\P{^Is_Pattern_White_Space=f}', "");
-Expect(0, 13, '\p{Is_Pattern_White_Space=f}', "");
-Expect(1, 13, '\p{^Is_Pattern_White_Space=f}', "");
-Expect(1, 13, '\P{Is_Pattern_White_Space=f}', "");
-Expect(0, 13, '\P{^Is_Pattern_White_Space=f}', "");
-Expect(1, 8, '\p{Is_Pattern_White_Space= -f}', "");
-Expect(0, 8, '\p{^Is_Pattern_White_Space= -f}', "");
-Expect(0, 8, '\P{Is_Pattern_White_Space= -f}', "");
-Expect(1, 8, '\P{^Is_Pattern_White_Space= -f}', "");
-Expect(0, 13, '\p{Is_Pattern_White_Space= -f}', "");
-Expect(1, 13, '\p{^Is_Pattern_White_Space= -f}', "");
-Expect(1, 13, '\P{Is_Pattern_White_Space= -f}', "");
-Expect(0, 13, '\P{^Is_Pattern_White_Space= -f}', "");
-Error('\p{Is_Pat_WS=- False:=}');
-Error('\P{Is_Pat_WS=- False:=}');
-Expect(1, 8, '\p{Is_Pat_WS=false}', "");
-Expect(0, 8, '\p{^Is_Pat_WS=false}', "");
-Expect(0, 8, '\P{Is_Pat_WS=false}', "");
-Expect(1, 8, '\P{^Is_Pat_WS=false}', "");
-Expect(0, 13, '\p{Is_Pat_WS=false}', "");
-Expect(1, 13, '\p{^Is_Pat_WS=false}', "");
-Expect(1, 13, '\P{Is_Pat_WS=false}', "");
-Expect(0, 13, '\P{^Is_Pat_WS=false}', "");
-Expect(1, 8, '\p{Is_Pat_WS=- False}', "");
-Expect(0, 8, '\p{^Is_Pat_WS=- False}', "");
-Expect(0, 8, '\P{Is_Pat_WS=- False}', "");
-Expect(1, 8, '\P{^Is_Pat_WS=- False}', "");
-Expect(0, 13, '\p{Is_Pat_WS=- False}', "");
-Expect(1, 13, '\p{^Is_Pat_WS=- False}', "");
-Expect(1, 13, '\P{Is_Pat_WS=- False}', "");
-Expect(0, 13, '\P{^Is_Pat_WS=- False}', "");
-Error('\p{Join_Control=_yes:=}');
-Error('\P{Join_Control=_yes:=}');
-Expect(1, 8205, '\p{Join_Control=yes}', "");
-Expect(0, 8205, '\p{^Join_Control=yes}', "");
-Expect(0, 8205, '\P{Join_Control=yes}', "");
-Expect(1, 8205, '\P{^Join_Control=yes}', "");
-Expect(0, 8203, '\p{Join_Control=yes}', "");
-Expect(1, 8203, '\p{^Join_Control=yes}', "");
-Expect(1, 8203, '\P{Join_Control=yes}', "");
-Expect(0, 8203, '\P{^Join_Control=yes}', "");
-Expect(1, 8205, '\p{Join_Control: YES}', "");
-Expect(0, 8205, '\p{^Join_Control: YES}', "");
-Expect(0, 8205, '\P{Join_Control: YES}', "");
-Expect(1, 8205, '\P{^Join_Control: YES}', "");
-Expect(0, 8203, '\p{Join_Control: YES}', "");
-Expect(1, 8203, '\p{^Join_Control: YES}', "");
-Expect(1, 8203, '\P{Join_Control: YES}', "");
-Expect(0, 8203, '\P{^Join_Control: YES}', "");
-Error('\p{Join_C= /a/Y}');
-Error('\P{Join_C= /a/Y}');
-Expect(1, 8205, '\p{Join_C=y}', "");
-Expect(0, 8205, '\p{^Join_C=y}', "");
-Expect(0, 8205, '\P{Join_C=y}', "");
-Expect(1, 8205, '\P{^Join_C=y}', "");
-Expect(0, 8203, '\p{Join_C=y}', "");
-Expect(1, 8203, '\p{^Join_C=y}', "");
-Expect(1, 8203, '\P{Join_C=y}', "");
-Expect(0, 8203, '\P{^Join_C=y}', "");
-Expect(1, 8205, '\p{Join_C=- Y}', "");
-Expect(0, 8205, '\p{^Join_C=- Y}', "");
-Expect(0, 8205, '\P{Join_C=- Y}', "");
-Expect(1, 8205, '\P{^Join_C=- Y}', "");
-Expect(0, 8203, '\p{Join_C=- Y}', "");
-Expect(1, 8203, '\p{^Join_C=- Y}', "");
-Expect(1, 8203, '\P{Join_C=- Y}', "");
-Expect(0, 8203, '\P{^Join_C=- Y}', "");
-Error('\p{Is_Join_Control=-:=T}');
-Error('\P{Is_Join_Control=-:=T}');
-Expect(1, 8205, '\p{Is_Join_Control=t}', "");
-Expect(0, 8205, '\p{^Is_Join_Control=t}', "");
-Expect(0, 8205, '\P{Is_Join_Control=t}', "");
-Expect(1, 8205, '\P{^Is_Join_Control=t}', "");
-Expect(0, 8203, '\p{Is_Join_Control=t}', "");
-Expect(1, 8203, '\p{^Is_Join_Control=t}', "");
-Expect(1, 8203, '\P{Is_Join_Control=t}', "");
-Expect(0, 8203, '\P{^Is_Join_Control=t}', "");
-Expect(1, 8205, '\p{Is_Join_Control= T}', "");
-Expect(0, 8205, '\p{^Is_Join_Control= T}', "");
-Expect(0, 8205, '\P{Is_Join_Control= T}', "");
-Expect(1, 8205, '\P{^Is_Join_Control= T}', "");
-Expect(0, 8203, '\p{Is_Join_Control= T}', "");
-Expect(1, 8203, '\p{^Is_Join_Control= T}', "");
-Expect(1, 8203, '\P{Is_Join_Control= T}', "");
-Expect(0, 8203, '\P{^Is_Join_Control= T}', "");
-Error('\p{Is_Join_C= true:=}');
-Error('\P{Is_Join_C= true:=}');
-Expect(1, 8205, '\p{Is_Join_C=true}', "");
-Expect(0, 8205, '\p{^Is_Join_C=true}', "");
-Expect(0, 8205, '\P{Is_Join_C=true}', "");
-Expect(1, 8205, '\P{^Is_Join_C=true}', "");
-Expect(0, 8203, '\p{Is_Join_C=true}', "");
-Expect(1, 8203, '\p{^Is_Join_C=true}', "");
-Expect(1, 8203, '\P{Is_Join_C=true}', "");
-Expect(0, 8203, '\P{^Is_Join_C=true}', "");
-Expect(1, 8205, '\p{Is_Join_C=_True}', "");
-Expect(0, 8205, '\p{^Is_Join_C=_True}', "");
-Expect(0, 8205, '\P{Is_Join_C=_True}', "");
-Expect(1, 8205, '\P{^Is_Join_C=_True}', "");
-Expect(0, 8203, '\p{Is_Join_C=_True}', "");
-Expect(1, 8203, '\p{^Is_Join_C=_True}', "");
-Expect(1, 8203, '\P{Is_Join_C=_True}', "");
-Expect(0, 8203, '\P{^Is_Join_C=_True}', "");
-Error('\p{Join_Control= /a/NO}');
-Error('\P{Join_Control= /a/NO}');
-Expect(1, 8203, '\p{Join_Control=no}', "");
-Expect(0, 8203, '\p{^Join_Control=no}', "");
-Expect(0, 8203, '\P{Join_Control=no}', "");
-Expect(1, 8203, '\P{^Join_Control=no}', "");
-Expect(0, 8205, '\p{Join_Control=no}', "");
-Expect(1, 8205, '\p{^Join_Control=no}', "");
-Expect(1, 8205, '\P{Join_Control=no}', "");
-Expect(0, 8205, '\P{^Join_Control=no}', "");
-Expect(1, 8203, '\p{Join_Control= _No}', "");
-Expect(0, 8203, '\p{^Join_Control= _No}', "");
-Expect(0, 8203, '\P{Join_Control= _No}', "");
-Expect(1, 8203, '\P{^Join_Control= _No}', "");
-Expect(0, 8205, '\p{Join_Control= _No}', "");
-Expect(1, 8205, '\p{^Join_Control= _No}', "");
-Expect(1, 8205, '\P{Join_Control= _No}', "");
-Expect(0, 8205, '\P{^Join_Control= _No}', "");
-Error('\p{Join_C= _n:=}');
-Error('\P{Join_C= _n:=}');
-Expect(1, 8203, '\p{Join_C=n}', "");
-Expect(0, 8203, '\p{^Join_C=n}', "");
-Expect(0, 8203, '\P{Join_C=n}', "");
-Expect(1, 8203, '\P{^Join_C=n}', "");
-Expect(0, 8205, '\p{Join_C=n}', "");
-Expect(1, 8205, '\p{^Join_C=n}', "");
-Expect(1, 8205, '\P{Join_C=n}', "");
-Expect(0, 8205, '\P{^Join_C=n}', "");
-Expect(1, 8203, '\p{Join_C=-_N}', "");
-Expect(0, 8203, '\p{^Join_C=-_N}', "");
-Expect(0, 8203, '\P{Join_C=-_N}', "");
-Expect(1, 8203, '\P{^Join_C=-_N}', "");
-Expect(0, 8205, '\p{Join_C=-_N}', "");
-Expect(1, 8205, '\p{^Join_C=-_N}', "");
-Expect(1, 8205, '\P{Join_C=-_N}', "");
-Expect(0, 8205, '\P{^Join_C=-_N}', "");
-Error('\p{Is_Join_Control: := F}');
-Error('\P{Is_Join_Control: := F}');
-Expect(1, 8203, '\p{Is_Join_Control=f}', "");
-Expect(0, 8203, '\p{^Is_Join_Control=f}', "");
-Expect(0, 8203, '\P{Is_Join_Control=f}', "");
-Expect(1, 8203, '\P{^Is_Join_Control=f}', "");
-Expect(0, 8205, '\p{Is_Join_Control=f}', "");
-Expect(1, 8205, '\p{^Is_Join_Control=f}', "");
-Expect(1, 8205, '\P{Is_Join_Control=f}', "");
-Expect(0, 8205, '\P{^Is_Join_Control=f}', "");
-Expect(1, 8203, '\p{Is_Join_Control=__F}', "");
-Expect(0, 8203, '\p{^Is_Join_Control=__F}', "");
-Expect(0, 8203, '\P{Is_Join_Control=__F}', "");
-Expect(1, 8203, '\P{^Is_Join_Control=__F}', "");
-Expect(0, 8205, '\p{Is_Join_Control=__F}', "");
-Expect(1, 8205, '\p{^Is_Join_Control=__F}', "");
-Expect(1, 8205, '\P{Is_Join_Control=__F}', "");
-Expect(0, 8205, '\P{^Is_Join_Control=__F}', "");
-Error('\p{Is_Join_C: /a/-False}');
-Error('\P{Is_Join_C: /a/-False}');
-Expect(1, 8203, '\p{Is_Join_C=false}', "");
-Expect(0, 8203, '\p{^Is_Join_C=false}', "");
-Expect(0, 8203, '\P{Is_Join_C=false}', "");
-Expect(1, 8203, '\P{^Is_Join_C=false}', "");
-Expect(0, 8205, '\p{Is_Join_C=false}', "");
-Expect(1, 8205, '\p{^Is_Join_C=false}', "");
-Expect(1, 8205, '\P{Is_Join_C=false}', "");
-Expect(0, 8205, '\P{^Is_Join_C=false}', "");
-Expect(1, 8203, '\p{Is_Join_C: False}', "");
-Expect(0, 8203, '\p{^Is_Join_C: False}', "");
-Expect(0, 8203, '\P{Is_Join_C: False}', "");
-Expect(1, 8203, '\P{^Is_Join_C: False}', "");
-Expect(0, 8205, '\p{Is_Join_C: False}', "");
-Expect(1, 8205, '\p{^Is_Join_C: False}', "");
-Expect(1, 8205, '\P{Is_Join_C: False}', "");
-Expect(0, 8205, '\P{^Is_Join_C: False}', "");
-Error('\p{Other_Default_Ignorable_Code_Point: /a/_ Yes}');
-Error('\P{Other_Default_Ignorable_Code_Point: /a/_ Yes}');
-Expect(1, 847, '\p{Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(0, 847, '\p{^Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(0, 847, '\P{Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(1, 847, '\P{^Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(0, 846, '\p{Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(1, 846, '\p{^Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(1, 846, '\P{Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(0, 846, '\P{^Other_Default_Ignorable_Code_Point=yes}', 'deprecated');
-Expect(1, 847, '\p{Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(0, 847, '\p{^Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(0, 847, '\P{Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(1, 847, '\P{^Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(0, 846, '\p{Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(1, 846, '\p{^Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(1, 846, '\P{Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Expect(0, 846, '\P{^Other_Default_Ignorable_Code_Point= -Yes}', 'deprecated');
-Error('\p{ODI= /a/y}');
-Error('\P{ODI= /a/y}');
-Expect(1, 847, '\p{ODI=y}', 'deprecated');
-Expect(0, 847, '\p{^ODI=y}', 'deprecated');
-Expect(0, 847, '\P{ODI=y}', 'deprecated');
-Expect(1, 847, '\P{^ODI=y}', 'deprecated');
-Expect(0, 846, '\p{ODI=y}', 'deprecated');
-Expect(1, 846, '\p{^ODI=y}', 'deprecated');
-Expect(1, 846, '\P{ODI=y}', 'deprecated');
-Expect(0, 846, '\P{^ODI=y}', 'deprecated');
-Expect(1, 847, '\p{ODI= y}', 'deprecated');
-Expect(0, 847, '\p{^ODI= y}', 'deprecated');
-Expect(0, 847, '\P{ODI= y}', 'deprecated');
-Expect(1, 847, '\P{^ODI= y}', 'deprecated');
-Expect(0, 846, '\p{ODI= y}', 'deprecated');
-Expect(1, 846, '\p{^ODI= y}', 'deprecated');
-Expect(1, 846, '\P{ODI= y}', 'deprecated');
-Expect(0, 846, '\P{^ODI= y}', 'deprecated');
-Error('\p{Is_Other_Default_Ignorable_Code_Point=_-T:=}');
-Error('\P{Is_Other_Default_Ignorable_Code_Point=_-T:=}');
-Expect(1, 847, '\p{Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(0, 847, '\p{^Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(0, 847, '\P{Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(1, 847, '\P{^Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(0, 846, '\p{Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(1, 846, '\p{^Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(1, 846, '\P{Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(0, 846, '\P{^Is_Other_Default_Ignorable_Code_Point=t}', 'deprecated');
-Expect(1, 847, '\p{Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(0, 847, '\p{^Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(0, 847, '\P{Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(1, 847, '\P{^Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(0, 846, '\p{Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(1, 846, '\p{^Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(1, 846, '\P{Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Expect(0, 846, '\P{^Is_Other_Default_Ignorable_Code_Point= -T}', 'deprecated');
-Error('\p{Is_ODI= /a/true}');
-Error('\P{Is_ODI= /a/true}');
-Expect(1, 847, '\p{Is_ODI=true}', 'deprecated');
-Expect(0, 847, '\p{^Is_ODI=true}', 'deprecated');
-Expect(0, 847, '\P{Is_ODI=true}', 'deprecated');
-Expect(1, 847, '\P{^Is_ODI=true}', 'deprecated');
-Expect(0, 846, '\p{Is_ODI=true}', 'deprecated');
-Expect(1, 846, '\p{^Is_ODI=true}', 'deprecated');
-Expect(1, 846, '\P{Is_ODI=true}', 'deprecated');
-Expect(0, 846, '\P{^Is_ODI=true}', 'deprecated');
-Expect(1, 847, '\p{Is_ODI=- true}', 'deprecated');
-Expect(0, 847, '\p{^Is_ODI=- true}', 'deprecated');
-Expect(0, 847, '\P{Is_ODI=- true}', 'deprecated');
-Expect(1, 847, '\P{^Is_ODI=- true}', 'deprecated');
-Expect(0, 846, '\p{Is_ODI=- true}', 'deprecated');
-Expect(1, 846, '\p{^Is_ODI=- true}', 'deprecated');
-Expect(1, 846, '\P{Is_ODI=- true}', 'deprecated');
-Expect(0, 846, '\P{^Is_ODI=- true}', 'deprecated');
-Error('\p{Other_Default_Ignorable_Code_Point=-:=no}');
-Error('\P{Other_Default_Ignorable_Code_Point=-:=no}');
-Expect(1, 846, '\p{Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(0, 846, '\p{^Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(0, 846, '\P{Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(1, 846, '\P{^Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(0, 847, '\p{Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(1, 847, '\p{^Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(1, 847, '\P{Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(0, 847, '\P{^Other_Default_Ignorable_Code_Point=no}', 'deprecated');
-Expect(1, 846, '\p{Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(0, 846, '\p{^Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(0, 846, '\P{Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(1, 846, '\P{^Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(0, 847, '\p{Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(1, 847, '\p{^Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(1, 847, '\P{Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Expect(0, 847, '\P{^Other_Default_Ignorable_Code_Point= No}', 'deprecated');
-Error('\p{ODI=_:=N}');
-Error('\P{ODI=_:=N}');
-Expect(1, 846, '\p{ODI: n}', 'deprecated');
-Expect(0, 846, '\p{^ODI: n}', 'deprecated');
-Expect(0, 846, '\P{ODI: n}', 'deprecated');
-Expect(1, 846, '\P{^ODI: n}', 'deprecated');
-Expect(0, 847, '\p{ODI: n}', 'deprecated');
-Expect(1, 847, '\p{^ODI: n}', 'deprecated');
-Expect(1, 847, '\P{ODI: n}', 'deprecated');
-Expect(0, 847, '\P{^ODI: n}', 'deprecated');
-Expect(1, 846, '\p{ODI: -_N}', 'deprecated');
-Expect(0, 846, '\p{^ODI: -_N}', 'deprecated');
-Expect(0, 846, '\P{ODI: -_N}', 'deprecated');
-Expect(1, 846, '\P{^ODI: -_N}', 'deprecated');
-Expect(0, 847, '\p{ODI: -_N}', 'deprecated');
-Expect(1, 847, '\p{^ODI: -_N}', 'deprecated');
-Expect(1, 847, '\P{ODI: -_N}', 'deprecated');
-Expect(0, 847, '\P{^ODI: -_N}', 'deprecated');
-Error('\p{Is_Other_Default_Ignorable_Code_Point=/a/--F}');
-Error('\P{Is_Other_Default_Ignorable_Code_Point=/a/--F}');
-Expect(1, 846, '\p{Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(0, 846, '\p{^Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(0, 846, '\P{Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(1, 846, '\P{^Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(0, 847, '\p{Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(1, 847, '\p{^Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(1, 847, '\P{Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(0, 847, '\P{^Is_Other_Default_Ignorable_Code_Point=f}', 'deprecated');
-Expect(1, 846, '\p{Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(0, 846, '\p{^Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(0, 846, '\P{Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(1, 846, '\P{^Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(0, 847, '\p{Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(1, 847, '\p{^Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(1, 847, '\P{Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Expect(0, 847, '\P{^Is_Other_Default_Ignorable_Code_Point:F}', 'deprecated');
-Error('\p{Is_ODI=:=_FALSE}');
-Error('\P{Is_ODI=:=_FALSE}');
-Expect(1, 846, '\p{Is_ODI=false}', 'deprecated');
-Expect(0, 846, '\p{^Is_ODI=false}', 'deprecated');
-Expect(0, 846, '\P{Is_ODI=false}', 'deprecated');
-Expect(1, 846, '\P{^Is_ODI=false}', 'deprecated');
-Expect(0, 847, '\p{Is_ODI=false}', 'deprecated');
-Expect(1, 847, '\p{^Is_ODI=false}', 'deprecated');
-Expect(1, 847, '\P{Is_ODI=false}', 'deprecated');
-Expect(0, 847, '\P{^Is_ODI=false}', 'deprecated');
-Expect(1, 846, '\p{Is_ODI= _false}', 'deprecated');
-Expect(0, 846, '\p{^Is_ODI= _false}', 'deprecated');
-Expect(0, 846, '\P{Is_ODI= _false}', 'deprecated');
-Expect(1, 846, '\P{^Is_ODI= _false}', 'deprecated');
-Expect(0, 847, '\p{Is_ODI= _false}', 'deprecated');
-Expect(1, 847, '\p{^Is_ODI= _false}', 'deprecated');
-Expect(1, 847, '\P{Is_ODI= _false}', 'deprecated');
-Expect(0, 847, '\P{^Is_ODI= _false}', 'deprecated');
-Error('\p{Cased= :=yes}');
-Error('\P{Cased= :=yes}');
-Expect(1, 90, '\p{Cased=yes}', "");
-Expect(0, 90, '\p{^Cased=yes}', "");
-Expect(0, 90, '\P{Cased=yes}', "");
-Expect(1, 90, '\P{^Cased=yes}', "");
-Expect(0, 64, '\p{Cased=yes}', "");
-Expect(1, 64, '\p{^Cased=yes}', "");
-Expect(1, 64, '\P{Cased=yes}', "");
-Expect(0, 64, '\P{^Cased=yes}', "");
-Expect(1, 90, '\p{Cased= Yes}', "");
-Expect(0, 90, '\p{^Cased= Yes}', "");
-Expect(0, 90, '\P{Cased= Yes}', "");
-Expect(1, 90, '\P{^Cased= Yes}', "");
-Expect(0, 64, '\p{Cased= Yes}', "");
-Expect(1, 64, '\p{^Cased= Yes}', "");
-Expect(1, 64, '\P{Cased= Yes}', "");
-Expect(0, 64, '\P{^Cased= Yes}', "");
-Error('\p{Is_Cased=-Y/a/}');
-Error('\P{Is_Cased=-Y/a/}');
-Expect(1, 90, '\p{Is_Cased=y}', "");
-Expect(0, 90, '\p{^Is_Cased=y}', "");
-Expect(0, 90, '\P{Is_Cased=y}', "");
-Expect(1, 90, '\P{^Is_Cased=y}', "");
-Expect(0, 64, '\p{Is_Cased=y}', "");
-Expect(1, 64, '\p{^Is_Cased=y}', "");
-Expect(1, 64, '\P{Is_Cased=y}', "");
-Expect(0, 64, '\P{^Is_Cased=y}', "");
-Expect(1, 90, '\p{Is_Cased=__Y}', "");
-Expect(0, 90, '\p{^Is_Cased=__Y}', "");
-Expect(0, 90, '\P{Is_Cased=__Y}', "");
-Expect(1, 90, '\P{^Is_Cased=__Y}', "");
-Expect(0, 64, '\p{Is_Cased=__Y}', "");
-Expect(1, 64, '\p{^Is_Cased=__Y}', "");
-Expect(1, 64, '\P{Is_Cased=__Y}', "");
-Expect(0, 64, '\P{^Is_Cased=__Y}', "");
-Error('\p{Cased=/a/ T}');
-Error('\P{Cased=/a/ T}');
-Expect(1, 90, '\p{Cased=t}', "");
-Expect(0, 90, '\p{^Cased=t}', "");
-Expect(0, 90, '\P{Cased=t}', "");
-Expect(1, 90, '\P{^Cased=t}', "");
-Expect(0, 64, '\p{Cased=t}', "");
-Expect(1, 64, '\p{^Cased=t}', "");
-Expect(1, 64, '\P{Cased=t}', "");
-Expect(0, 64, '\P{^Cased=t}', "");
-Expect(1, 90, '\p{Cased=- T}', "");
-Expect(0, 90, '\p{^Cased=- T}', "");
-Expect(0, 90, '\P{Cased=- T}', "");
-Expect(1, 90, '\P{^Cased=- T}', "");
-Expect(0, 64, '\p{Cased=- T}', "");
-Expect(1, 64, '\p{^Cased=- T}', "");
-Expect(1, 64, '\P{Cased=- T}', "");
-Expect(0, 64, '\P{^Cased=- T}', "");
-Error('\p{Is_Cased= true/a/}');
-Error('\P{Is_Cased= true/a/}');
-Expect(1, 90, '\p{Is_Cased: true}', "");
-Expect(0, 90, '\p{^Is_Cased: true}', "");
-Expect(0, 90, '\P{Is_Cased: true}', "");
-Expect(1, 90, '\P{^Is_Cased: true}', "");
-Expect(0, 64, '\p{Is_Cased: true}', "");
-Expect(1, 64, '\p{^Is_Cased: true}', "");
-Expect(1, 64, '\P{Is_Cased: true}', "");
-Expect(0, 64, '\P{^Is_Cased: true}', "");
-Expect(1, 90, '\p{Is_Cased=-TRUE}', "");
-Expect(0, 90, '\p{^Is_Cased=-TRUE}', "");
-Expect(0, 90, '\P{Is_Cased=-TRUE}', "");
-Expect(1, 90, '\P{^Is_Cased=-TRUE}', "");
-Expect(0, 64, '\p{Is_Cased=-TRUE}', "");
-Expect(1, 64, '\p{^Is_Cased=-TRUE}', "");
-Expect(1, 64, '\P{Is_Cased=-TRUE}', "");
-Expect(0, 64, '\P{^Is_Cased=-TRUE}', "");
-Error('\p{Cased=-_No:=}');
-Error('\P{Cased=-_No:=}');
-Expect(1, 64, '\p{Cased=no}', "");
-Expect(0, 64, '\p{^Cased=no}', "");
-Expect(0, 64, '\P{Cased=no}', "");
-Expect(1, 64, '\P{^Cased=no}', "");
-Expect(0, 90, '\p{Cased=no}', "");
-Expect(1, 90, '\p{^Cased=no}', "");
-Expect(1, 90, '\P{Cased=no}', "");
-Expect(0, 90, '\P{^Cased=no}', "");
-Expect(1, 64, '\p{Cased=__NO}', "");
-Expect(0, 64, '\p{^Cased=__NO}', "");
-Expect(0, 64, '\P{Cased=__NO}', "");
-Expect(1, 64, '\P{^Cased=__NO}', "");
-Expect(0, 90, '\p{Cased=__NO}', "");
-Expect(1, 90, '\p{^Cased=__NO}', "");
-Expect(1, 90, '\P{Cased=__NO}', "");
-Expect(0, 90, '\P{^Cased=__NO}', "");
-Error('\p{Is_Cased=-N/a/}');
-Error('\P{Is_Cased=-N/a/}');
-Expect(1, 64, '\p{Is_Cased=n}', "");
-Expect(0, 64, '\p{^Is_Cased=n}', "");
-Expect(0, 64, '\P{Is_Cased=n}', "");
-Expect(1, 64, '\P{^Is_Cased=n}', "");
-Expect(0, 90, '\p{Is_Cased=n}', "");
-Expect(1, 90, '\p{^Is_Cased=n}', "");
-Expect(1, 90, '\P{Is_Cased=n}', "");
-Expect(0, 90, '\P{^Is_Cased=n}', "");
-Expect(1, 64, '\p{Is_Cased=_-N}', "");
-Expect(0, 64, '\p{^Is_Cased=_-N}', "");
-Expect(0, 64, '\P{Is_Cased=_-N}', "");
-Expect(1, 64, '\P{^Is_Cased=_-N}', "");
-Expect(0, 90, '\p{Is_Cased=_-N}', "");
-Expect(1, 90, '\p{^Is_Cased=_-N}', "");
-Expect(1, 90, '\P{Is_Cased=_-N}', "");
-Expect(0, 90, '\P{^Is_Cased=_-N}', "");
-Error('\p{Cased=/a/_-F}');
-Error('\P{Cased=/a/_-F}');
-Expect(1, 64, '\p{Cased: f}', "");
-Expect(0, 64, '\p{^Cased: f}', "");
-Expect(0, 64, '\P{Cased: f}', "");
-Expect(1, 64, '\P{^Cased: f}', "");
-Expect(0, 90, '\p{Cased: f}', "");
-Expect(1, 90, '\p{^Cased: f}', "");
-Expect(1, 90, '\P{Cased: f}', "");
-Expect(0, 90, '\P{^Cased: f}', "");
-Expect(1, 64, '\p{Cased=- F}', "");
-Expect(0, 64, '\p{^Cased=- F}', "");
-Expect(0, 64, '\P{Cased=- F}', "");
-Expect(1, 64, '\P{^Cased=- F}', "");
-Expect(0, 90, '\p{Cased=- F}', "");
-Expect(1, 90, '\p{^Cased=- F}', "");
-Expect(1, 90, '\P{Cased=- F}', "");
-Expect(0, 90, '\P{^Cased=- F}', "");
-Error('\p{Is_Cased=:= FALSE}');
-Error('\P{Is_Cased=:= FALSE}');
-Expect(1, 64, '\p{Is_Cased=false}', "");
-Expect(0, 64, '\p{^Is_Cased=false}', "");
-Expect(0, 64, '\P{Is_Cased=false}', "");
-Expect(1, 64, '\P{^Is_Cased=false}', "");
-Expect(0, 90, '\p{Is_Cased=false}', "");
-Expect(1, 90, '\p{^Is_Cased=false}', "");
-Expect(1, 90, '\P{Is_Cased=false}', "");
-Expect(0, 90, '\P{^Is_Cased=false}', "");
-Expect(1, 64, '\p{Is_Cased=-_False}', "");
-Expect(0, 64, '\p{^Is_Cased=-_False}', "");
-Expect(0, 64, '\P{Is_Cased=-_False}', "");
-Expect(1, 64, '\P{^Is_Cased=-_False}', "");
-Expect(0, 90, '\p{Is_Cased=-_False}', "");
-Expect(1, 90, '\p{^Is_Cased=-_False}', "");
-Expect(1, 90, '\P{Is_Cased=-_False}', "");
-Expect(0, 90, '\P{^Is_Cased=-_False}', "");
-Error('\p{Joining_Type=:=_ TRANSPARENT}');
-Error('\P{Joining_Type=:=_ TRANSPARENT}');
-Expect(1, 173, '\p{Joining_Type=transparent}', "");
-Expect(0, 173, '\p{^Joining_Type=transparent}', "");
-Expect(0, 173, '\P{Joining_Type=transparent}', "");
-Expect(1, 173, '\P{^Joining_Type=transparent}', "");
-Expect(0, 172, '\p{Joining_Type=transparent}', "");
-Expect(1, 172, '\p{^Joining_Type=transparent}', "");
-Expect(1, 172, '\P{Joining_Type=transparent}', "");
-Expect(0, 172, '\P{^Joining_Type=transparent}', "");
-Expect(1, 173, '\p{Joining_Type=Transparent}', "");
-Expect(0, 173, '\p{^Joining_Type=Transparent}', "");
-Expect(0, 173, '\P{Joining_Type=Transparent}', "");
-Expect(1, 173, '\P{^Joining_Type=Transparent}', "");
-Expect(0, 172, '\p{Joining_Type=Transparent}', "");
-Expect(1, 172, '\p{^Joining_Type=Transparent}', "");
-Expect(1, 172, '\P{Joining_Type=Transparent}', "");
-Expect(0, 172, '\P{^Joining_Type=Transparent}', "");
-Error('\p{Jt: /a/ T}');
-Error('\P{Jt: /a/ T}');
-Expect(1, 173, '\p{Jt=t}', "");
-Expect(0, 173, '\p{^Jt=t}', "");
-Expect(0, 173, '\P{Jt=t}', "");
-Expect(1, 173, '\P{^Jt=t}', "");
-Expect(0, 172, '\p{Jt=t}', "");
-Expect(1, 172, '\p{^Jt=t}', "");
-Expect(1, 172, '\P{Jt=t}', "");
-Expect(0, 172, '\P{^Jt=t}', "");
-Expect(1, 173, '\p{Jt=_ t}', "");
-Expect(0, 173, '\p{^Jt=_ t}', "");
-Expect(0, 173, '\P{Jt=_ t}', "");
-Expect(1, 173, '\P{^Jt=_ t}', "");
-Expect(0, 172, '\p{Jt=_ t}', "");
-Expect(1, 172, '\p{^Jt=_ t}', "");
-Expect(1, 172, '\P{Jt=_ t}', "");
-Expect(0, 172, '\P{^Jt=_ t}', "");
-Error('\p{Is_Joining_Type=/a/- TRANSPARENT}');
-Error('\P{Is_Joining_Type=/a/- TRANSPARENT}');
-Expect(1, 173, '\p{Is_Joining_Type=transparent}', "");
-Expect(0, 173, '\p{^Is_Joining_Type=transparent}', "");
-Expect(0, 173, '\P{Is_Joining_Type=transparent}', "");
-Expect(1, 173, '\P{^Is_Joining_Type=transparent}', "");
-Expect(0, 172, '\p{Is_Joining_Type=transparent}', "");
-Expect(1, 172, '\p{^Is_Joining_Type=transparent}', "");
-Expect(1, 172, '\P{Is_Joining_Type=transparent}', "");
-Expect(0, 172, '\P{^Is_Joining_Type=transparent}', "");
-Expect(1, 173, '\p{Is_Joining_Type=_Transparent}', "");
-Expect(0, 173, '\p{^Is_Joining_Type=_Transparent}', "");
-Expect(0, 173, '\P{Is_Joining_Type=_Transparent}', "");
-Expect(1, 173, '\P{^Is_Joining_Type=_Transparent}', "");
-Expect(0, 172, '\p{Is_Joining_Type=_Transparent}', "");
-Expect(1, 172, '\p{^Is_Joining_Type=_Transparent}', "");
-Expect(1, 172, '\P{Is_Joining_Type=_Transparent}', "");
-Expect(0, 172, '\P{^Is_Joining_Type=_Transparent}', "");
-Error('\p{Is_Jt= -T:=}');
-Error('\P{Is_Jt= -T:=}');
-Expect(1, 173, '\p{Is_Jt=t}', "");
-Expect(0, 173, '\p{^Is_Jt=t}', "");
-Expect(0, 173, '\P{Is_Jt=t}', "");
-Expect(1, 173, '\P{^Is_Jt=t}', "");
-Expect(0, 172, '\p{Is_Jt=t}', "");
-Expect(1, 172, '\p{^Is_Jt=t}', "");
-Expect(1, 172, '\P{Is_Jt=t}', "");
-Expect(0, 172, '\P{^Is_Jt=t}', "");
-Expect(1, 173, '\p{Is_Jt= t}', "");
-Expect(0, 173, '\p{^Is_Jt= t}', "");
-Expect(0, 173, '\P{Is_Jt= t}', "");
-Expect(1, 173, '\P{^Is_Jt= t}', "");
-Expect(0, 172, '\p{Is_Jt= t}', "");
-Expect(1, 172, '\p{^Is_Jt= t}', "");
-Expect(1, 172, '\P{Is_Jt= t}', "");
-Expect(0, 172, '\P{^Is_Jt= t}', "");
-Error('\p{Joining_Type=:=_ RightJoining}');
-Error('\P{Joining_Type=:=_ RightJoining}');
-Expect(1, 1573, '\p{Joining_Type=rightjoining}', "");
-Expect(0, 1573, '\p{^Joining_Type=rightjoining}', "");
-Expect(0, 1573, '\P{Joining_Type=rightjoining}', "");
-Expect(1, 1573, '\P{^Joining_Type=rightjoining}', "");
-Expect(0, 1569, '\p{Joining_Type=rightjoining}', "");
-Expect(1, 1569, '\p{^Joining_Type=rightjoining}', "");
-Expect(1, 1569, '\P{Joining_Type=rightjoining}', "");
-Expect(0, 1569, '\P{^Joining_Type=rightjoining}', "");
-Expect(1, 1573, '\p{Joining_Type: -Right_JOINING}', "");
-Expect(0, 1573, '\p{^Joining_Type: -Right_JOINING}', "");
-Expect(0, 1573, '\P{Joining_Type: -Right_JOINING}', "");
-Expect(1, 1573, '\P{^Joining_Type: -Right_JOINING}', "");
-Expect(0, 1569, '\p{Joining_Type: -Right_JOINING}', "");
-Expect(1, 1569, '\p{^Joining_Type: -Right_JOINING}', "");
-Expect(1, 1569, '\P{Joining_Type: -Right_JOINING}', "");
-Expect(0, 1569, '\P{^Joining_Type: -Right_JOINING}', "");
-Error('\p{Jt=:=_ R}');
-Error('\P{Jt=:=_ R}');
-Expect(1, 1573, '\p{Jt=r}', "");
-Expect(0, 1573, '\p{^Jt=r}', "");
-Expect(0, 1573, '\P{Jt=r}', "");
-Expect(1, 1573, '\P{^Jt=r}', "");
-Expect(0, 1569, '\p{Jt=r}', "");
-Expect(1, 1569, '\p{^Jt=r}', "");
-Expect(1, 1569, '\P{Jt=r}', "");
-Expect(0, 1569, '\P{^Jt=r}', "");
-Expect(1, 1573, '\p{Jt= -r}', "");
-Expect(0, 1573, '\p{^Jt= -r}', "");
-Expect(0, 1573, '\P{Jt= -r}', "");
-Expect(1, 1573, '\P{^Jt= -r}', "");
-Expect(0, 1569, '\p{Jt= -r}', "");
-Expect(1, 1569, '\p{^Jt= -r}', "");
-Expect(1, 1569, '\P{Jt= -r}', "");
-Expect(0, 1569, '\P{^Jt= -r}', "");
-Error('\p{Is_Joining_Type=_/a/RIGHT JOINING}');
-Error('\P{Is_Joining_Type=_/a/RIGHT JOINING}');
-Expect(1, 1573, '\p{Is_Joining_Type=rightjoining}', "");
-Expect(0, 1573, '\p{^Is_Joining_Type=rightjoining}', "");
-Expect(0, 1573, '\P{Is_Joining_Type=rightjoining}', "");
-Expect(1, 1573, '\P{^Is_Joining_Type=rightjoining}', "");
-Expect(0, 1569, '\p{Is_Joining_Type=rightjoining}', "");
-Expect(1, 1569, '\p{^Is_Joining_Type=rightjoining}', "");
-Expect(1, 1569, '\P{Is_Joining_Type=rightjoining}', "");
-Expect(0, 1569, '\P{^Is_Joining_Type=rightjoining}', "");
-Expect(1, 1573, '\p{Is_Joining_Type= Right JOINING}', "");
-Expect(0, 1573, '\p{^Is_Joining_Type= Right JOINING}', "");
-Expect(0, 1573, '\P{Is_Joining_Type= Right JOINING}', "");
-Expect(1, 1573, '\P{^Is_Joining_Type= Right JOINING}', "");
-Expect(0, 1569, '\p{Is_Joining_Type= Right JOINING}', "");
-Expect(1, 1569, '\p{^Is_Joining_Type= Right JOINING}', "");
-Expect(1, 1569, '\P{Is_Joining_Type= Right JOINING}', "");
-Expect(0, 1569, '\P{^Is_Joining_Type= Right JOINING}', "");
-Error('\p{Is_Jt=/a/_ R}');
-Error('\P{Is_Jt=/a/_ R}');
-Expect(1, 1573, '\p{Is_Jt=r}', "");
-Expect(0, 1573, '\p{^Is_Jt=r}', "");
-Expect(0, 1573, '\P{Is_Jt=r}', "");
-Expect(1, 1573, '\P{^Is_Jt=r}', "");
-Expect(0, 1569, '\p{Is_Jt=r}', "");
-Expect(1, 1569, '\p{^Is_Jt=r}', "");
-Expect(1, 1569, '\P{Is_Jt=r}', "");
-Expect(0, 1569, '\P{^Is_Jt=r}', "");
-Expect(1, 1573, '\p{Is_Jt=__R}', "");
-Expect(0, 1573, '\p{^Is_Jt=__R}', "");
-Expect(0, 1573, '\P{Is_Jt=__R}', "");
-Expect(1, 1573, '\P{^Is_Jt=__R}', "");
-Expect(0, 1569, '\p{Is_Jt=__R}', "");
-Expect(1, 1569, '\p{^Is_Jt=__R}', "");
-Expect(1, 1569, '\P{Is_Jt=__R}', "");
-Expect(0, 1569, '\P{^Is_Jt=__R}', "");
-Error('\p{Joining_Type=/a/- JOIN_Causing}');
-Error('\P{Joining_Type=/a/- JOIN_Causing}');
-Expect(1, 1600, '\p{Joining_Type=joincausing}', "");
-Expect(0, 1600, '\p{^Joining_Type=joincausing}', "");
-Expect(0, 1600, '\P{Joining_Type=joincausing}', "");
-Expect(1, 1600, '\P{^Joining_Type=joincausing}', "");
-Expect(0, 1599, '\p{Joining_Type=joincausing}', "");
-Expect(1, 1599, '\p{^Joining_Type=joincausing}', "");
-Expect(1, 1599, '\P{Joining_Type=joincausing}', "");
-Expect(0, 1599, '\P{^Joining_Type=joincausing}', "");
-Expect(1, 1600, '\p{Joining_Type=_Join_CAUSING}', "");
-Expect(0, 1600, '\p{^Joining_Type=_Join_CAUSING}', "");
-Expect(0, 1600, '\P{Joining_Type=_Join_CAUSING}', "");
-Expect(1, 1600, '\P{^Joining_Type=_Join_CAUSING}', "");
-Expect(0, 1599, '\p{Joining_Type=_Join_CAUSING}', "");
-Expect(1, 1599, '\p{^Joining_Type=_Join_CAUSING}', "");
-Expect(1, 1599, '\P{Joining_Type=_Join_CAUSING}', "");
-Expect(0, 1599, '\P{^Joining_Type=_Join_CAUSING}', "");
-Error('\p{Jt= C/a/}');
-Error('\P{Jt= C/a/}');
-Expect(1, 1600, '\p{Jt=c}', "");
-Expect(0, 1600, '\p{^Jt=c}', "");
-Expect(0, 1600, '\P{Jt=c}', "");
-Expect(1, 1600, '\P{^Jt=c}', "");
-Expect(0, 1599, '\p{Jt=c}', "");
-Expect(1, 1599, '\p{^Jt=c}', "");
-Expect(1, 1599, '\P{Jt=c}', "");
-Expect(0, 1599, '\P{^Jt=c}', "");
-Expect(1, 1600, '\p{Jt=- C}', "");
-Expect(0, 1600, '\p{^Jt=- C}', "");
-Expect(0, 1600, '\P{Jt=- C}', "");
-Expect(1, 1600, '\P{^Jt=- C}', "");
-Expect(0, 1599, '\p{Jt=- C}', "");
-Expect(1, 1599, '\p{^Jt=- C}', "");
-Expect(1, 1599, '\P{Jt=- C}', "");
-Expect(0, 1599, '\P{^Jt=- C}', "");
-Error('\p{Is_Joining_Type=-_JOIN:=Causing}');
-Error('\P{Is_Joining_Type=-_JOIN:=Causing}');
-Expect(1, 1600, '\p{Is_Joining_Type=joincausing}', "");
-Expect(0, 1600, '\p{^Is_Joining_Type=joincausing}', "");
-Expect(0, 1600, '\P{Is_Joining_Type=joincausing}', "");
-Expect(1, 1600, '\P{^Is_Joining_Type=joincausing}', "");
-Expect(0, 1599, '\p{Is_Joining_Type=joincausing}', "");
-Expect(1, 1599, '\p{^Is_Joining_Type=joincausing}', "");
-Expect(1, 1599, '\P{Is_Joining_Type=joincausing}', "");
-Expect(0, 1599, '\P{^Is_Joining_Type=joincausing}', "");
-Expect(1, 1600, '\p{Is_Joining_Type= JOINcausing}', "");
-Expect(0, 1600, '\p{^Is_Joining_Type= JOINcausing}', "");
-Expect(0, 1600, '\P{Is_Joining_Type= JOINcausing}', "");
-Expect(1, 1600, '\P{^Is_Joining_Type= JOINcausing}', "");
-Expect(0, 1599, '\p{Is_Joining_Type= JOINcausing}', "");
-Expect(1, 1599, '\p{^Is_Joining_Type= JOINcausing}', "");
-Expect(1, 1599, '\P{Is_Joining_Type= JOINcausing}', "");
-Expect(0, 1599, '\P{^Is_Joining_Type= JOINcausing}', "");
-Error('\p{Is_Jt: C:=}');
-Error('\P{Is_Jt: C:=}');
-Expect(1, 1600, '\p{Is_Jt=c}', "");
-Expect(0, 1600, '\p{^Is_Jt=c}', "");
-Expect(0, 1600, '\P{Is_Jt=c}', "");
-Expect(1, 1600, '\P{^Is_Jt=c}', "");
-Expect(0, 1599, '\p{Is_Jt=c}', "");
-Expect(1, 1599, '\p{^Is_Jt=c}', "");
-Expect(1, 1599, '\P{Is_Jt=c}', "");
-Expect(0, 1599, '\P{^Is_Jt=c}', "");
-Error('\p{Joining_Type: := Non JOINING}');
-Error('\P{Joining_Type: := Non JOINING}');
-Expect(1, 172, '\p{Joining_Type=nonjoining}', "");
-Expect(0, 172, '\p{^Joining_Type=nonjoining}', "");
-Expect(0, 172, '\P{Joining_Type=nonjoining}', "");
-Expect(1, 172, '\P{^Joining_Type=nonjoining}', "");
-Expect(0, 173, '\p{Joining_Type=nonjoining}', "");
-Expect(1, 173, '\p{^Joining_Type=nonjoining}', "");
-Expect(1, 173, '\P{Joining_Type=nonjoining}', "");
-Expect(0, 173, '\P{^Joining_Type=nonjoining}', "");
-Expect(1, 172, '\p{Joining_Type=-Non Joining}', "");
-Expect(0, 172, '\p{^Joining_Type=-Non Joining}', "");
-Expect(0, 172, '\P{Joining_Type=-Non Joining}', "");
-Expect(1, 172, '\P{^Joining_Type=-Non Joining}', "");
-Expect(0, 173, '\p{Joining_Type=-Non Joining}', "");
-Expect(1, 173, '\p{^Joining_Type=-Non Joining}', "");
-Expect(1, 173, '\P{Joining_Type=-Non Joining}', "");
-Expect(0, 173, '\P{^Joining_Type=-Non Joining}', "");
-Error('\p{Jt= U/a/}');
-Error('\P{Jt= U/a/}');
-Expect(1, 172, '\p{Jt=u}', "");
-Expect(0, 172, '\p{^Jt=u}', "");
-Expect(0, 172, '\P{Jt=u}', "");
-Expect(1, 172, '\P{^Jt=u}', "");
-Expect(0, 173, '\p{Jt=u}', "");
-Expect(1, 173, '\p{^Jt=u}', "");
-Expect(1, 173, '\P{Jt=u}', "");
-Expect(0, 173, '\P{^Jt=u}', "");
-Expect(1, 172, '\p{Jt=_ U}', "");
-Expect(0, 172, '\p{^Jt=_ U}', "");
-Expect(0, 172, '\P{Jt=_ U}', "");
-Expect(1, 172, '\P{^Jt=_ U}', "");
-Expect(0, 173, '\p{Jt=_ U}', "");
-Expect(1, 173, '\p{^Jt=_ U}', "");
-Expect(1, 173, '\P{Jt=_ U}', "");
-Expect(0, 173, '\P{^Jt=_ U}', "");
-Error('\p{Is_Joining_Type=-NON:=JOINING}');
-Error('\P{Is_Joining_Type=-NON:=JOINING}');
-Expect(1, 172, '\p{Is_Joining_Type=nonjoining}', "");
-Expect(0, 172, '\p{^Is_Joining_Type=nonjoining}', "");
-Expect(0, 172, '\P{Is_Joining_Type=nonjoining}', "");
-Expect(1, 172, '\P{^Is_Joining_Type=nonjoining}', "");
-Expect(0, 173, '\p{Is_Joining_Type=nonjoining}', "");
-Expect(1, 173, '\p{^Is_Joining_Type=nonjoining}', "");
-Expect(1, 173, '\P{Is_Joining_Type=nonjoining}', "");
-Expect(0, 173, '\P{^Is_Joining_Type=nonjoining}', "");
-Expect(1, 172, '\p{Is_Joining_Type= _Non-joining}', "");
-Expect(0, 172, '\p{^Is_Joining_Type= _Non-joining}', "");
-Expect(0, 172, '\P{Is_Joining_Type= _Non-joining}', "");
-Expect(1, 172, '\P{^Is_Joining_Type= _Non-joining}', "");
-Expect(0, 173, '\p{Is_Joining_Type= _Non-joining}', "");
-Expect(1, 173, '\p{^Is_Joining_Type= _Non-joining}', "");
-Expect(1, 173, '\P{Is_Joining_Type= _Non-joining}', "");
-Expect(0, 173, '\P{^Is_Joining_Type= _Non-joining}', "");
-Error('\p{Is_Jt=/a/ u}');
-Error('\P{Is_Jt=/a/ u}');
-Expect(1, 172, '\p{Is_Jt: u}', "");
-Expect(0, 172, '\p{^Is_Jt: u}', "");
-Expect(0, 172, '\P{Is_Jt: u}', "");
-Expect(1, 172, '\P{^Is_Jt: u}', "");
-Expect(0, 173, '\p{Is_Jt: u}', "");
-Expect(1, 173, '\p{^Is_Jt: u}', "");
-Expect(1, 173, '\P{Is_Jt: u}', "");
-Expect(0, 173, '\P{^Is_Jt: u}', "");
-Expect(1, 172, '\p{Is_Jt: _U}', "");
-Expect(0, 172, '\p{^Is_Jt: _U}', "");
-Expect(0, 172, '\P{Is_Jt: _U}', "");
-Expect(1, 172, '\P{^Is_Jt: _U}', "");
-Expect(0, 173, '\p{Is_Jt: _U}', "");
-Expect(1, 173, '\p{^Is_Jt: _U}', "");
-Expect(1, 173, '\P{Is_Jt: _U}', "");
-Expect(0, 173, '\P{^Is_Jt: _U}', "");
-Error('\p{Joining_Type=__DUAL Joining:=}');
-Error('\P{Joining_Type=__DUAL Joining:=}');
-Expect(1, 1574, '\p{Joining_Type: dualjoining}', "");
-Expect(0, 1574, '\p{^Joining_Type: dualjoining}', "");
-Expect(0, 1574, '\P{Joining_Type: dualjoining}', "");
-Expect(1, 1574, '\P{^Joining_Type: dualjoining}', "");
-Expect(0, 1573, '\p{Joining_Type: dualjoining}', "");
-Expect(1, 1573, '\p{^Joining_Type: dualjoining}', "");
-Expect(1, 1573, '\P{Joining_Type: dualjoining}', "");
-Expect(0, 1573, '\P{^Joining_Type: dualjoining}', "");
-Expect(1, 1574, '\p{Joining_Type= DUALjoining}', "");
-Expect(0, 1574, '\p{^Joining_Type= DUALjoining}', "");
-Expect(0, 1574, '\P{Joining_Type= DUALjoining}', "");
-Expect(1, 1574, '\P{^Joining_Type= DUALjoining}', "");
-Expect(0, 1573, '\p{Joining_Type= DUALjoining}', "");
-Expect(1, 1573, '\p{^Joining_Type= DUALjoining}', "");
-Expect(1, 1573, '\P{Joining_Type= DUALjoining}', "");
-Expect(0, 1573, '\P{^Joining_Type= DUALjoining}', "");
-Error('\p{Jt= D:=}');
-Error('\P{Jt= D:=}');
-Expect(1, 1574, '\p{Jt: d}', "");
-Expect(0, 1574, '\p{^Jt: d}', "");
-Expect(0, 1574, '\P{Jt: d}', "");
-Expect(1, 1574, '\P{^Jt: d}', "");
-Expect(0, 1573, '\p{Jt: d}', "");
-Expect(1, 1573, '\p{^Jt: d}', "");
-Expect(1, 1573, '\P{Jt: d}', "");
-Expect(0, 1573, '\P{^Jt: d}', "");
-Expect(1, 1574, '\p{Jt= -D}', "");
-Expect(0, 1574, '\p{^Jt= -D}', "");
-Expect(0, 1574, '\P{Jt= -D}', "");
-Expect(1, 1574, '\P{^Jt= -D}', "");
-Expect(0, 1573, '\p{Jt= -D}', "");
-Expect(1, 1573, '\p{^Jt= -D}', "");
-Expect(1, 1573, '\P{Jt= -D}', "");
-Expect(0, 1573, '\P{^Jt= -D}', "");
-Error('\p{Is_Joining_Type= DualJoining:=}');
-Error('\P{Is_Joining_Type= DualJoining:=}');
-Expect(1, 1574, '\p{Is_Joining_Type=dualjoining}', "");
-Expect(0, 1574, '\p{^Is_Joining_Type=dualjoining}', "");
-Expect(0, 1574, '\P{Is_Joining_Type=dualjoining}', "");
-Expect(1, 1574, '\P{^Is_Joining_Type=dualjoining}', "");
-Expect(0, 1573, '\p{Is_Joining_Type=dualjoining}', "");
-Expect(1, 1573, '\p{^Is_Joining_Type=dualjoining}', "");
-Expect(1, 1573, '\P{Is_Joining_Type=dualjoining}', "");
-Expect(0, 1573, '\P{^Is_Joining_Type=dualjoining}', "");
-Expect(1, 1574, '\p{Is_Joining_Type= dual_JOINING}', "");
-Expect(0, 1574, '\p{^Is_Joining_Type= dual_JOINING}', "");
-Expect(0, 1574, '\P{Is_Joining_Type= dual_JOINING}', "");
-Expect(1, 1574, '\P{^Is_Joining_Type= dual_JOINING}', "");
-Expect(0, 1573, '\p{Is_Joining_Type= dual_JOINING}', "");
-Expect(1, 1573, '\p{^Is_Joining_Type= dual_JOINING}', "");
-Expect(1, 1573, '\P{Is_Joining_Type= dual_JOINING}', "");
-Expect(0, 1573, '\P{^Is_Joining_Type= dual_JOINING}', "");
-Error('\p{Is_Jt: :=d}');
-Error('\P{Is_Jt: :=d}');
-Expect(1, 1574, '\p{Is_Jt=d}', "");
-Expect(0, 1574, '\p{^Is_Jt=d}', "");
-Expect(0, 1574, '\P{Is_Jt=d}', "");
-Expect(1, 1574, '\P{^Is_Jt=d}', "");
-Expect(0, 1573, '\p{Is_Jt=d}', "");
-Expect(1, 1573, '\p{^Is_Jt=d}', "");
-Expect(1, 1573, '\P{Is_Jt=d}', "");
-Expect(0, 1573, '\P{^Is_Jt=d}', "");
-Expect(1, 1574, '\p{Is_Jt=D}', "");
-Expect(0, 1574, '\p{^Is_Jt=D}', "");
-Expect(0, 1574, '\P{Is_Jt=D}', "");
-Expect(1, 1574, '\P{^Is_Jt=D}', "");
-Expect(0, 1573, '\p{Is_Jt=D}', "");
-Expect(1, 1573, '\p{^Is_Jt=D}', "");
-Expect(1, 1573, '\P{Is_Jt=D}', "");
-Expect(0, 1573, '\P{^Is_Jt=D}', "");
-Error('\p{Joining_Type= /a/Leftjoining}');
-Error('\P{Joining_Type= /a/Leftjoining}');
-Expect(0, 1, '\p{Joining_Type: leftjoining}', "");
-Expect(1, 1, '\p{^Joining_Type: leftjoining}', "");
-Expect(1, 1, '\P{Joining_Type: leftjoining}', "");
-Expect(0, 1, '\P{^Joining_Type: leftjoining}', "");
-Expect(0, 1, '\p{Joining_Type=LEFT-Joining}', "");
-Expect(1, 1, '\p{^Joining_Type=LEFT-Joining}', "");
-Expect(1, 1, '\P{Joining_Type=LEFT-Joining}', "");
-Expect(0, 1, '\P{^Joining_Type=LEFT-Joining}', "");
-Error('\p{Jt=_/a/l}');
-Error('\P{Jt=_/a/l}');
-Expect(0, 1, '\p{Jt=l}', "");
-Expect(1, 1, '\p{^Jt=l}', "");
-Expect(1, 1, '\P{Jt=l}', "");
-Expect(0, 1, '\P{^Jt=l}', "");
-Expect(0, 1, '\p{Jt=L}', "");
-Expect(1, 1, '\p{^Jt=L}', "");
-Expect(1, 1, '\P{Jt=L}', "");
-Expect(0, 1, '\P{^Jt=L}', "");
-Error('\p{Is_Joining_Type=_/a/LEFT JOINING}');
-Error('\P{Is_Joining_Type=_/a/LEFT JOINING}');
-Expect(0, 1, '\p{Is_Joining_Type=leftjoining}', "");
-Expect(1, 1, '\p{^Is_Joining_Type=leftjoining}', "");
-Expect(1, 1, '\P{Is_Joining_Type=leftjoining}', "");
-Expect(0, 1, '\P{^Is_Joining_Type=leftjoining}', "");
-Expect(0, 1, '\p{Is_Joining_Type=--Leftjoining}', "");
-Expect(1, 1, '\p{^Is_Joining_Type=--Leftjoining}', "");
-Expect(1, 1, '\P{Is_Joining_Type=--Leftjoining}', "");
-Expect(0, 1, '\P{^Is_Joining_Type=--Leftjoining}', "");
-Error('\p{Is_Jt=/a/-_l}');
-Error('\P{Is_Jt=/a/-_l}');
-Expect(0, 1, '\p{Is_Jt=l}', "");
-Expect(1, 1, '\p{^Is_Jt=l}', "");
-Expect(1, 1, '\P{Is_Jt=l}', "");
-Expect(0, 1, '\P{^Is_Jt=l}', "");
-Expect(0, 1, '\p{Is_Jt=-_l}', "");
-Expect(1, 1, '\p{^Is_Jt=-_l}', "");
-Expect(1, 1, '\P{Is_Jt=-_l}', "");
-Expect(0, 1, '\P{^Is_Jt=-_l}', "");
-Error('\p{ID_Start=/a/ Yes}');
-Error('\P{ID_Start=/a/ Yes}');
-Expect(1, 90, '\p{ID_Start=yes}', "");
-Expect(0, 90, '\p{^ID_Start=yes}', "");
-Expect(0, 90, '\P{ID_Start=yes}', "");
-Expect(1, 90, '\P{^ID_Start=yes}', "");
-Expect(0, 64, '\p{ID_Start=yes}', "");
-Expect(1, 64, '\p{^ID_Start=yes}', "");
-Expect(1, 64, '\P{ID_Start=yes}', "");
-Expect(0, 64, '\P{^ID_Start=yes}', "");
-Expect(1, 90, '\p{ID_Start=_ yes}', "");
-Expect(0, 90, '\p{^ID_Start=_ yes}', "");
-Expect(0, 90, '\P{ID_Start=_ yes}', "");
-Expect(1, 90, '\P{^ID_Start=_ yes}', "");
-Expect(0, 64, '\p{ID_Start=_ yes}', "");
-Expect(1, 64, '\p{^ID_Start=_ yes}', "");
-Expect(1, 64, '\P{ID_Start=_ yes}', "");
-Expect(0, 64, '\P{^ID_Start=_ yes}', "");
-Error('\p{IDS=/a/_y}');
-Error('\P{IDS=/a/_y}');
-Expect(1, 90, '\p{IDS=y}', "");
-Expect(0, 90, '\p{^IDS=y}', "");
-Expect(0, 90, '\P{IDS=y}', "");
-Expect(1, 90, '\P{^IDS=y}', "");
-Expect(0, 64, '\p{IDS=y}', "");
-Expect(1, 64, '\p{^IDS=y}', "");
-Expect(1, 64, '\P{IDS=y}', "");
-Expect(0, 64, '\P{^IDS=y}', "");
-Expect(1, 90, '\p{IDS= _Y}', "");
-Expect(0, 90, '\p{^IDS= _Y}', "");
-Expect(0, 90, '\P{IDS= _Y}', "");
-Expect(1, 90, '\P{^IDS= _Y}', "");
-Expect(0, 64, '\p{IDS= _Y}', "");
-Expect(1, 64, '\p{^IDS= _Y}', "");
-Expect(1, 64, '\P{IDS= _Y}', "");
-Expect(0, 64, '\P{^IDS= _Y}', "");
-Error('\p{Is_ID_Start: _-T/a/}');
-Error('\P{Is_ID_Start: _-T/a/}');
-Expect(1, 90, '\p{Is_ID_Start=t}', "");
-Expect(0, 90, '\p{^Is_ID_Start=t}', "");
-Expect(0, 90, '\P{Is_ID_Start=t}', "");
-Expect(1, 90, '\P{^Is_ID_Start=t}', "");
-Expect(0, 64, '\p{Is_ID_Start=t}', "");
-Expect(1, 64, '\p{^Is_ID_Start=t}', "");
-Expect(1, 64, '\P{Is_ID_Start=t}', "");
-Expect(0, 64, '\P{^Is_ID_Start=t}', "");
-Expect(1, 90, '\p{Is_ID_Start= t}', "");
-Expect(0, 90, '\p{^Is_ID_Start= t}', "");
-Expect(0, 90, '\P{Is_ID_Start= t}', "");
-Expect(1, 90, '\P{^Is_ID_Start= t}', "");
-Expect(0, 64, '\p{Is_ID_Start= t}', "");
-Expect(1, 64, '\p{^Is_ID_Start= t}', "");
-Expect(1, 64, '\P{Is_ID_Start= t}', "");
-Expect(0, 64, '\P{^Is_ID_Start= t}', "");
-Error('\p{Is_IDS=_-True:=}');
-Error('\P{Is_IDS=_-True:=}');
-Expect(1, 90, '\p{Is_IDS=true}', "");
-Expect(0, 90, '\p{^Is_IDS=true}', "");
-Expect(0, 90, '\P{Is_IDS=true}', "");
-Expect(1, 90, '\P{^Is_IDS=true}', "");
-Expect(0, 64, '\p{Is_IDS=true}', "");
-Expect(1, 64, '\p{^Is_IDS=true}', "");
-Expect(1, 64, '\P{Is_IDS=true}', "");
-Expect(0, 64, '\P{^Is_IDS=true}', "");
-Expect(1, 90, '\p{Is_IDS: --TRUE}', "");
-Expect(0, 90, '\p{^Is_IDS: --TRUE}', "");
-Expect(0, 90, '\P{Is_IDS: --TRUE}', "");
-Expect(1, 90, '\P{^Is_IDS: --TRUE}', "");
-Expect(0, 64, '\p{Is_IDS: --TRUE}', "");
-Expect(1, 64, '\p{^Is_IDS: --TRUE}', "");
-Expect(1, 64, '\P{Is_IDS: --TRUE}', "");
-Expect(0, 64, '\P{^Is_IDS: --TRUE}', "");
-Error('\p{ID_Start= NO:=}');
-Error('\P{ID_Start= NO:=}');
-Expect(1, 64, '\p{ID_Start=no}', "");
-Expect(0, 64, '\p{^ID_Start=no}', "");
-Expect(0, 64, '\P{ID_Start=no}', "");
-Expect(1, 64, '\P{^ID_Start=no}', "");
-Expect(0, 90, '\p{ID_Start=no}', "");
-Expect(1, 90, '\p{^ID_Start=no}', "");
-Expect(1, 90, '\P{ID_Start=no}', "");
-Expect(0, 90, '\P{^ID_Start=no}', "");
-Expect(1, 64, '\p{ID_Start= No}', "");
-Expect(0, 64, '\p{^ID_Start= No}', "");
-Expect(0, 64, '\P{ID_Start= No}', "");
-Expect(1, 64, '\P{^ID_Start= No}', "");
-Expect(0, 90, '\p{ID_Start= No}', "");
-Expect(1, 90, '\p{^ID_Start= No}', "");
-Expect(1, 90, '\P{ID_Start= No}', "");
-Expect(0, 90, '\P{^ID_Start= No}', "");
-Error('\p{IDS=/a/_-N}');
-Error('\P{IDS=/a/_-N}');
-Expect(1, 64, '\p{IDS=n}', "");
-Expect(0, 64, '\p{^IDS=n}', "");
-Expect(0, 64, '\P{IDS=n}', "");
-Expect(1, 64, '\P{^IDS=n}', "");
-Expect(0, 90, '\p{IDS=n}', "");
-Expect(1, 90, '\p{^IDS=n}', "");
-Expect(1, 90, '\P{IDS=n}', "");
-Expect(0, 90, '\P{^IDS=n}', "");
-Expect(1, 64, '\p{IDS= n}', "");
-Expect(0, 64, '\p{^IDS= n}', "");
-Expect(0, 64, '\P{IDS= n}', "");
-Expect(1, 64, '\P{^IDS= n}', "");
-Expect(0, 90, '\p{IDS= n}', "");
-Expect(1, 90, '\p{^IDS= n}', "");
-Expect(1, 90, '\P{IDS= n}', "");
-Expect(0, 90, '\P{^IDS= n}', "");
-Error('\p{Is_ID_Start: _/a/f}');
-Error('\P{Is_ID_Start: _/a/f}');
-Expect(1, 64, '\p{Is_ID_Start=f}', "");
-Expect(0, 64, '\p{^Is_ID_Start=f}', "");
-Expect(0, 64, '\P{Is_ID_Start=f}', "");
-Expect(1, 64, '\P{^Is_ID_Start=f}', "");
-Expect(0, 90, '\p{Is_ID_Start=f}', "");
-Expect(1, 90, '\p{^Is_ID_Start=f}', "");
-Expect(1, 90, '\P{Is_ID_Start=f}', "");
-Expect(0, 90, '\P{^Is_ID_Start=f}', "");
-Expect(1, 64, '\p{Is_ID_Start: F}', "");
-Expect(0, 64, '\p{^Is_ID_Start: F}', "");
-Expect(0, 64, '\P{Is_ID_Start: F}', "");
-Expect(1, 64, '\P{^Is_ID_Start: F}', "");
-Expect(0, 90, '\p{Is_ID_Start: F}', "");
-Expect(1, 90, '\p{^Is_ID_Start: F}', "");
-Expect(1, 90, '\P{Is_ID_Start: F}', "");
-Expect(0, 90, '\P{^Is_ID_Start: F}', "");
-Error('\p{Is_IDS= /a/FALSE}');
-Error('\P{Is_IDS= /a/FALSE}');
-Expect(1, 64, '\p{Is_IDS=false}', "");
-Expect(0, 64, '\p{^Is_IDS=false}', "");
-Expect(0, 64, '\P{Is_IDS=false}', "");
-Expect(1, 64, '\P{^Is_IDS=false}', "");
-Expect(0, 90, '\p{Is_IDS=false}', "");
-Expect(1, 90, '\p{^Is_IDS=false}', "");
-Expect(1, 90, '\P{Is_IDS=false}', "");
-Expect(0, 90, '\P{^Is_IDS=false}', "");
-Expect(1, 64, '\p{Is_IDS= -FALSE}', "");
-Expect(0, 64, '\p{^Is_IDS= -FALSE}', "");
-Expect(0, 64, '\P{Is_IDS= -FALSE}', "");
-Expect(1, 64, '\P{^Is_IDS= -FALSE}', "");
-Expect(0, 90, '\p{Is_IDS= -FALSE}', "");
-Expect(1, 90, '\p{^Is_IDS= -FALSE}', "");
-Expect(1, 90, '\P{Is_IDS= -FALSE}', "");
-Expect(0, 90, '\P{^Is_IDS= -FALSE}', "");
-Error('\p{NFC_Quick_Check=/a/ Yes}');
-Error('\P{NFC_Quick_Check=/a/ Yes}');
-Expect(1, 767, '\p{NFC_Quick_Check=yes}', "");
-Expect(0, 767, '\p{^NFC_Quick_Check=yes}', "");
-Expect(0, 767, '\P{NFC_Quick_Check=yes}', "");
-Expect(1, 767, '\P{^NFC_Quick_Check=yes}', "");
-Expect(0, 772, '\p{NFC_Quick_Check=yes}', "");
-Expect(1, 772, '\p{^NFC_Quick_Check=yes}', "");
-Expect(1, 772, '\P{NFC_Quick_Check=yes}', "");
-Expect(0, 772, '\P{^NFC_Quick_Check=yes}', "");
-Expect(1, 767, '\p{NFC_Quick_Check=- YES}', "");
-Expect(0, 767, '\p{^NFC_Quick_Check=- YES}', "");
-Expect(0, 767, '\P{NFC_Quick_Check=- YES}', "");
-Expect(1, 767, '\P{^NFC_Quick_Check=- YES}', "");
-Expect(0, 772, '\p{NFC_Quick_Check=- YES}', "");
-Expect(1, 772, '\p{^NFC_Quick_Check=- YES}', "");
-Expect(1, 772, '\P{NFC_Quick_Check=- YES}', "");
-Expect(0, 772, '\P{^NFC_Quick_Check=- YES}', "");
-Error('\p{NFC_QC=_:=Y}');
-Error('\P{NFC_QC=_:=Y}');
-Expect(1, 767, '\p{NFC_QC=y}', "");
-Expect(0, 767, '\p{^NFC_QC=y}', "");
-Expect(0, 767, '\P{NFC_QC=y}', "");
-Expect(1, 767, '\P{^NFC_QC=y}', "");
-Expect(0, 772, '\p{NFC_QC=y}', "");
-Expect(1, 772, '\p{^NFC_QC=y}', "");
-Expect(1, 772, '\P{NFC_QC=y}', "");
-Expect(0, 772, '\P{^NFC_QC=y}', "");
-Expect(1, 767, '\p{NFC_QC=-y}', "");
-Expect(0, 767, '\p{^NFC_QC=-y}', "");
-Expect(0, 767, '\P{NFC_QC=-y}', "");
-Expect(1, 767, '\P{^NFC_QC=-y}', "");
-Expect(0, 772, '\p{NFC_QC=-y}', "");
-Expect(1, 772, '\p{^NFC_QC=-y}', "");
-Expect(1, 772, '\P{NFC_QC=-y}', "");
-Expect(0, 772, '\P{^NFC_QC=-y}', "");
-Error('\p{Is_NFC_Quick_Check: /a/ Yes}');
-Error('\P{Is_NFC_Quick_Check: /a/ Yes}');
-Expect(1, 767, '\p{Is_NFC_Quick_Check=yes}', "");
-Expect(0, 767, '\p{^Is_NFC_Quick_Check=yes}', "");
-Expect(0, 767, '\P{Is_NFC_Quick_Check=yes}', "");
-Expect(1, 767, '\P{^Is_NFC_Quick_Check=yes}', "");
-Expect(0, 772, '\p{Is_NFC_Quick_Check=yes}', "");
-Expect(1, 772, '\p{^Is_NFC_Quick_Check=yes}', "");
-Expect(1, 772, '\P{Is_NFC_Quick_Check=yes}', "");
-Expect(0, 772, '\P{^Is_NFC_Quick_Check=yes}', "");
-Expect(1, 767, '\p{Is_NFC_Quick_Check=_-Yes}', "");
-Expect(0, 767, '\p{^Is_NFC_Quick_Check=_-Yes}', "");
-Expect(0, 767, '\P{Is_NFC_Quick_Check=_-Yes}', "");
-Expect(1, 767, '\P{^Is_NFC_Quick_Check=_-Yes}', "");
-Expect(0, 772, '\p{Is_NFC_Quick_Check=_-Yes}', "");
-Expect(1, 772, '\p{^Is_NFC_Quick_Check=_-Yes}', "");
-Expect(1, 772, '\P{Is_NFC_Quick_Check=_-Yes}', "");
-Expect(0, 772, '\P{^Is_NFC_Quick_Check=_-Yes}', "");
-Error('\p{Is_NFC_QC=- y/a/}');
-Error('\P{Is_NFC_QC=- y/a/}');
-Expect(1, 767, '\p{Is_NFC_QC=y}', "");
-Expect(0, 767, '\p{^Is_NFC_QC=y}', "");
-Expect(0, 767, '\P{Is_NFC_QC=y}', "");
-Expect(1, 767, '\P{^Is_NFC_QC=y}', "");
-Expect(0, 772, '\p{Is_NFC_QC=y}', "");
-Expect(1, 772, '\p{^Is_NFC_QC=y}', "");
-Expect(1, 772, '\P{Is_NFC_QC=y}', "");
-Expect(0, 772, '\P{^Is_NFC_QC=y}', "");
-Expect(1, 767, '\p{Is_NFC_QC= Y}', "");
-Expect(0, 767, '\p{^Is_NFC_QC= Y}', "");
-Expect(0, 767, '\P{Is_NFC_QC= Y}', "");
-Expect(1, 767, '\P{^Is_NFC_QC= Y}', "");
-Expect(0, 772, '\p{Is_NFC_QC= Y}', "");
-Expect(1, 772, '\p{^Is_NFC_QC= Y}', "");
-Expect(1, 772, '\P{Is_NFC_QC= Y}', "");
-Expect(0, 772, '\P{^Is_NFC_QC= Y}', "");
-Error('\p{NFC_Quick_Check=:= NO}');
-Error('\P{NFC_Quick_Check=:= NO}');
-Expect(1, 833, '\p{NFC_Quick_Check: no}', "");
-Expect(0, 833, '\p{^NFC_Quick_Check: no}', "");
-Expect(0, 833, '\P{NFC_Quick_Check: no}', "");
-Expect(1, 833, '\P{^NFC_Quick_Check: no}', "");
-Expect(0, 831, '\p{NFC_Quick_Check: no}', "");
-Expect(1, 831, '\p{^NFC_Quick_Check: no}', "");
-Expect(1, 831, '\P{NFC_Quick_Check: no}', "");
-Expect(0, 831, '\P{^NFC_Quick_Check: no}', "");
-Expect(1, 833, '\p{NFC_Quick_Check=_-No}', "");
-Expect(0, 833, '\p{^NFC_Quick_Check=_-No}', "");
-Expect(0, 833, '\P{NFC_Quick_Check=_-No}', "");
-Expect(1, 833, '\P{^NFC_Quick_Check=_-No}', "");
-Expect(0, 831, '\p{NFC_Quick_Check=_-No}', "");
-Expect(1, 831, '\p{^NFC_Quick_Check=_-No}', "");
-Expect(1, 831, '\P{NFC_Quick_Check=_-No}', "");
-Expect(0, 831, '\P{^NFC_Quick_Check=_-No}', "");
-Error('\p{NFC_QC=/a/ N}');
-Error('\P{NFC_QC=/a/ N}');
-Expect(1, 833, '\p{NFC_QC=n}', "");
-Expect(0, 833, '\p{^NFC_QC=n}', "");
-Expect(0, 833, '\P{NFC_QC=n}', "");
-Expect(1, 833, '\P{^NFC_QC=n}', "");
-Expect(0, 831, '\p{NFC_QC=n}', "");
-Expect(1, 831, '\p{^NFC_QC=n}', "");
-Expect(1, 831, '\P{NFC_QC=n}', "");
-Expect(0, 831, '\P{^NFC_QC=n}', "");
-Expect(1, 833, '\p{NFC_QC= n}', "");
-Expect(0, 833, '\p{^NFC_QC= n}', "");
-Expect(0, 833, '\P{NFC_QC= n}', "");
-Expect(1, 833, '\P{^NFC_QC= n}', "");
-Expect(0, 831, '\p{NFC_QC= n}', "");
-Expect(1, 831, '\p{^NFC_QC= n}', "");
-Expect(1, 831, '\P{NFC_QC= n}', "");
-Expect(0, 831, '\P{^NFC_QC= n}', "");
-Error('\p{Is_NFC_Quick_Check=/a/ No}');
-Error('\P{Is_NFC_Quick_Check=/a/ No}');
-Expect(1, 833, '\p{Is_NFC_Quick_Check=no}', "");
-Expect(0, 833, '\p{^Is_NFC_Quick_Check=no}', "");
-Expect(0, 833, '\P{Is_NFC_Quick_Check=no}', "");
-Expect(1, 833, '\P{^Is_NFC_Quick_Check=no}', "");
-Expect(0, 831, '\p{Is_NFC_Quick_Check=no}', "");
-Expect(1, 831, '\p{^Is_NFC_Quick_Check=no}', "");
-Expect(1, 831, '\P{Is_NFC_Quick_Check=no}', "");
-Expect(0, 831, '\P{^Is_NFC_Quick_Check=no}', "");
-Expect(1, 833, '\p{Is_NFC_Quick_Check= no}', "");
-Expect(0, 833, '\p{^Is_NFC_Quick_Check= no}', "");
-Expect(0, 833, '\P{Is_NFC_Quick_Check= no}', "");
-Expect(1, 833, '\P{^Is_NFC_Quick_Check= no}', "");
-Expect(0, 831, '\p{Is_NFC_Quick_Check= no}', "");
-Expect(1, 831, '\p{^Is_NFC_Quick_Check= no}', "");
-Expect(1, 831, '\P{Is_NFC_Quick_Check= no}', "");
-Expect(0, 831, '\P{^Is_NFC_Quick_Check= no}', "");
-Error('\p{Is_NFC_QC=-:=N}');
-Error('\P{Is_NFC_QC=-:=N}');
-Expect(1, 833, '\p{Is_NFC_QC=n}', "");
-Expect(0, 833, '\p{^Is_NFC_QC=n}', "");
-Expect(0, 833, '\P{Is_NFC_QC=n}', "");
-Expect(1, 833, '\P{^Is_NFC_QC=n}', "");
-Expect(0, 831, '\p{Is_NFC_QC=n}', "");
-Expect(1, 831, '\p{^Is_NFC_QC=n}', "");
-Expect(1, 831, '\P{Is_NFC_QC=n}', "");
-Expect(0, 831, '\P{^Is_NFC_QC=n}', "");
-Expect(1, 833, '\p{Is_NFC_QC=- n}', "");
-Expect(0, 833, '\p{^Is_NFC_QC=- n}', "");
-Expect(0, 833, '\P{Is_NFC_QC=- n}', "");
-Expect(1, 833, '\P{^Is_NFC_QC=- n}', "");
-Expect(0, 831, '\p{Is_NFC_QC=- n}', "");
-Expect(1, 831, '\p{^Is_NFC_QC=- n}', "");
-Expect(1, 831, '\P{Is_NFC_QC=- n}', "");
-Expect(0, 831, '\P{^Is_NFC_QC=- n}', "");
-Error('\p{NFC_Quick_Check= -MAYBE:=}');
-Error('\P{NFC_Quick_Check= -MAYBE:=}');
-Expect(1, 772, '\p{NFC_Quick_Check=maybe}', "");
-Expect(0, 772, '\p{^NFC_Quick_Check=maybe}', "");
-Expect(0, 772, '\P{NFC_Quick_Check=maybe}', "");
-Expect(1, 772, '\P{^NFC_Quick_Check=maybe}', "");
-Expect(0, 767, '\p{NFC_Quick_Check=maybe}', "");
-Expect(1, 767, '\p{^NFC_Quick_Check=maybe}', "");
-Expect(1, 767, '\P{NFC_Quick_Check=maybe}', "");
-Expect(0, 767, '\P{^NFC_Quick_Check=maybe}', "");
-Expect(1, 772, '\p{NFC_Quick_Check= MAYBE}', "");
-Expect(0, 772, '\p{^NFC_Quick_Check= MAYBE}', "");
-Expect(0, 772, '\P{NFC_Quick_Check= MAYBE}', "");
-Expect(1, 772, '\P{^NFC_Quick_Check= MAYBE}', "");
-Expect(0, 767, '\p{NFC_Quick_Check= MAYBE}', "");
-Expect(1, 767, '\p{^NFC_Quick_Check= MAYBE}', "");
-Expect(1, 767, '\P{NFC_Quick_Check= MAYBE}', "");
-Expect(0, 767, '\P{^NFC_Quick_Check= MAYBE}', "");
-Error('\p{NFC_QC= m:=}');
-Error('\P{NFC_QC= m:=}');
-Expect(1, 772, '\p{NFC_QC=m}', "");
-Expect(0, 772, '\p{^NFC_QC=m}', "");
-Expect(0, 772, '\P{NFC_QC=m}', "");
-Expect(1, 772, '\P{^NFC_QC=m}', "");
-Expect(0, 767, '\p{NFC_QC=m}', "");
-Expect(1, 767, '\p{^NFC_QC=m}', "");
-Expect(1, 767, '\P{NFC_QC=m}', "");
-Expect(0, 767, '\P{^NFC_QC=m}', "");
-Expect(1, 772, '\p{NFC_QC: M}', "");
-Expect(0, 772, '\p{^NFC_QC: M}', "");
-Expect(0, 772, '\P{NFC_QC: M}', "");
-Expect(1, 772, '\P{^NFC_QC: M}', "");
-Expect(0, 767, '\p{NFC_QC: M}', "");
-Expect(1, 767, '\p{^NFC_QC: M}', "");
-Expect(1, 767, '\P{NFC_QC: M}', "");
-Expect(0, 767, '\P{^NFC_QC: M}', "");
-Error('\p{Is_NFC_Quick_Check=_/a/MAYBE}');
-Error('\P{Is_NFC_Quick_Check=_/a/MAYBE}');
-Expect(1, 772, '\p{Is_NFC_Quick_Check=maybe}', "");
-Expect(0, 772, '\p{^Is_NFC_Quick_Check=maybe}', "");
-Expect(0, 772, '\P{Is_NFC_Quick_Check=maybe}', "");
-Expect(1, 772, '\P{^Is_NFC_Quick_Check=maybe}', "");
-Expect(0, 767, '\p{Is_NFC_Quick_Check=maybe}', "");
-Expect(1, 767, '\p{^Is_NFC_Quick_Check=maybe}', "");
-Expect(1, 767, '\P{Is_NFC_Quick_Check=maybe}', "");
-Expect(0, 767, '\P{^Is_NFC_Quick_Check=maybe}', "");
-Expect(1, 772, '\p{Is_NFC_Quick_Check= Maybe}', "");
-Expect(0, 772, '\p{^Is_NFC_Quick_Check= Maybe}', "");
-Expect(0, 772, '\P{Is_NFC_Quick_Check= Maybe}', "");
-Expect(1, 772, '\P{^Is_NFC_Quick_Check= Maybe}', "");
-Expect(0, 767, '\p{Is_NFC_Quick_Check= Maybe}', "");
-Expect(1, 767, '\p{^Is_NFC_Quick_Check= Maybe}', "");
-Expect(1, 767, '\P{Is_NFC_Quick_Check= Maybe}', "");
-Expect(0, 767, '\P{^Is_NFC_Quick_Check= Maybe}', "");
-Error('\p{Is_NFC_QC= -M:=}');
-Error('\P{Is_NFC_QC= -M:=}');
-Expect(1, 772, '\p{Is_NFC_QC=m}', "");
-Expect(0, 772, '\p{^Is_NFC_QC=m}', "");
-Expect(0, 772, '\P{Is_NFC_QC=m}', "");
-Expect(1, 772, '\P{^Is_NFC_QC=m}', "");
-Expect(0, 767, '\p{Is_NFC_QC=m}', "");
-Expect(1, 767, '\p{^Is_NFC_QC=m}', "");
-Expect(1, 767, '\P{Is_NFC_QC=m}', "");
-Expect(0, 767, '\P{^Is_NFC_QC=m}', "");
-Expect(1, 772, '\p{Is_NFC_QC: -m}', "");
-Expect(0, 772, '\p{^Is_NFC_QC: -m}', "");
-Expect(0, 772, '\P{Is_NFC_QC: -m}', "");
-Expect(1, 772, '\P{^Is_NFC_QC: -m}', "");
-Expect(0, 767, '\p{Is_NFC_QC: -m}', "");
-Expect(1, 767, '\p{^Is_NFC_QC: -m}', "");
-Expect(1, 767, '\P{Is_NFC_QC: -m}', "");
-Expect(0, 767, '\P{^Is_NFC_QC: -m}', "");
-Error('\p{Word_Break=_newline/a/}');
-Error('\P{Word_Break=_newline/a/}');
-Expect(1, 12, '\p{Word_Break: newline}', "");
-Expect(0, 12, '\p{^Word_Break: newline}', "");
-Expect(0, 12, '\P{Word_Break: newline}', "");
-Expect(1, 12, '\P{^Word_Break: newline}', "");
-Expect(0, 10, '\p{Word_Break: newline}', "");
-Expect(1, 10, '\p{^Word_Break: newline}', "");
-Expect(1, 10, '\P{Word_Break: newline}', "");
-Expect(0, 10, '\P{^Word_Break: newline}', "");
-Expect(1, 12, '\p{Word_Break=__Newline}', "");
-Expect(0, 12, '\p{^Word_Break=__Newline}', "");
-Expect(0, 12, '\P{Word_Break=__Newline}', "");
-Expect(1, 12, '\P{^Word_Break=__Newline}', "");
-Expect(0, 10, '\p{Word_Break=__Newline}', "");
-Expect(1, 10, '\p{^Word_Break=__Newline}', "");
-Expect(1, 10, '\P{Word_Break=__Newline}', "");
-Expect(0, 10, '\P{^Word_Break=__Newline}', "");
-Error('\p{WB=_NL/a/}');
-Error('\P{WB=_NL/a/}');
-Expect(1, 12, '\p{WB=nl}', "");
-Expect(0, 12, '\p{^WB=nl}', "");
-Expect(0, 12, '\P{WB=nl}', "");
-Expect(1, 12, '\P{^WB=nl}', "");
-Expect(0, 10, '\p{WB=nl}', "");
-Expect(1, 10, '\p{^WB=nl}', "");
-Expect(1, 10, '\P{WB=nl}', "");
-Expect(0, 10, '\P{^WB=nl}', "");
-Expect(1, 12, '\p{WB= NL}', "");
-Expect(0, 12, '\p{^WB= NL}', "");
-Expect(0, 12, '\P{WB= NL}', "");
-Expect(1, 12, '\P{^WB= NL}', "");
-Expect(0, 10, '\p{WB= NL}', "");
-Expect(1, 10, '\p{^WB= NL}', "");
-Expect(1, 10, '\P{WB= NL}', "");
-Expect(0, 10, '\P{^WB= NL}', "");
-Error('\p{Is_Word_Break= _NEWLINE/a/}');
-Error('\P{Is_Word_Break= _NEWLINE/a/}');
-Expect(1, 12, '\p{Is_Word_Break=newline}', "");
-Expect(0, 12, '\p{^Is_Word_Break=newline}', "");
-Expect(0, 12, '\P{Is_Word_Break=newline}', "");
-Expect(1, 12, '\P{^Is_Word_Break=newline}', "");
-Expect(0, 10, '\p{Is_Word_Break=newline}', "");
-Expect(1, 10, '\p{^Is_Word_Break=newline}', "");
-Expect(1, 10, '\P{Is_Word_Break=newline}', "");
-Expect(0, 10, '\P{^Is_Word_Break=newline}', "");
-Expect(1, 12, '\p{Is_Word_Break= newline}', "");
-Expect(0, 12, '\p{^Is_Word_Break= newline}', "");
-Expect(0, 12, '\P{Is_Word_Break= newline}', "");
-Expect(1, 12, '\P{^Is_Word_Break= newline}', "");
-Expect(0, 10, '\p{Is_Word_Break= newline}', "");
-Expect(1, 10, '\p{^Is_Word_Break= newline}', "");
-Expect(1, 10, '\P{Is_Word_Break= newline}', "");
-Expect(0, 10, '\P{^Is_Word_Break= newline}', "");
-Error('\p{Is_WB=-:=NL}');
-Error('\P{Is_WB=-:=NL}');
-Expect(1, 12, '\p{Is_WB=nl}', "");
-Expect(0, 12, '\p{^Is_WB=nl}', "");
-Expect(0, 12, '\P{Is_WB=nl}', "");
-Expect(1, 12, '\P{^Is_WB=nl}', "");
-Expect(0, 10, '\p{Is_WB=nl}', "");
-Expect(1, 10, '\p{^Is_WB=nl}', "");
-Expect(1, 10, '\P{Is_WB=nl}', "");
-Expect(0, 10, '\P{^Is_WB=nl}', "");
-Expect(1, 12, '\p{Is_WB=_nl}', "");
-Expect(0, 12, '\p{^Is_WB=_nl}', "");
-Expect(0, 12, '\P{Is_WB=_nl}', "");
-Expect(1, 12, '\P{^Is_WB=_nl}', "");
-Expect(0, 10, '\p{Is_WB=_nl}', "");
-Expect(1, 10, '\p{^Is_WB=_nl}', "");
-Expect(1, 10, '\P{Is_WB=_nl}', "");
-Expect(0, 10, '\P{^Is_WB=_nl}', "");
-Error('\p{Word_Break=/a/ ALetter}');
-Error('\P{Word_Break=/a/ ALetter}');
-Expect(1, 90, '\p{Word_Break=aletter}', "");
-Expect(0, 90, '\p{^Word_Break=aletter}', "");
-Expect(0, 90, '\P{Word_Break=aletter}', "");
-Expect(1, 90, '\P{^Word_Break=aletter}', "");
-Expect(0, 64, '\p{Word_Break=aletter}', "");
-Expect(1, 64, '\p{^Word_Break=aletter}', "");
-Expect(1, 64, '\P{Word_Break=aletter}', "");
-Expect(0, 64, '\P{^Word_Break=aletter}', "");
-Expect(1, 90, '\p{Word_Break=__ALetter}', "");
-Expect(0, 90, '\p{^Word_Break=__ALetter}', "");
-Expect(0, 90, '\P{Word_Break=__ALetter}', "");
-Expect(1, 90, '\P{^Word_Break=__ALetter}', "");
-Expect(0, 64, '\p{Word_Break=__ALetter}', "");
-Expect(1, 64, '\p{^Word_Break=__ALetter}', "");
-Expect(1, 64, '\P{Word_Break=__ALetter}', "");
-Expect(0, 64, '\P{^Word_Break=__ALetter}', "");
-Error('\p{WB=_-LE:=}');
-Error('\P{WB=_-LE:=}');
-Expect(1, 90, '\p{WB=le}', "");
-Expect(0, 90, '\p{^WB=le}', "");
-Expect(0, 90, '\P{WB=le}', "");
-Expect(1, 90, '\P{^WB=le}', "");
-Expect(0, 64, '\p{WB=le}', "");
-Expect(1, 64, '\p{^WB=le}', "");
-Expect(1, 64, '\P{WB=le}', "");
-Expect(0, 64, '\P{^WB=le}', "");
-Expect(1, 90, '\p{WB= le}', "");
-Expect(0, 90, '\p{^WB= le}', "");
-Expect(0, 90, '\P{WB= le}', "");
-Expect(1, 90, '\P{^WB= le}', "");
-Expect(0, 64, '\p{WB= le}', "");
-Expect(1, 64, '\p{^WB= le}', "");
-Expect(1, 64, '\P{WB= le}', "");
-Expect(0, 64, '\P{^WB= le}', "");
-Error('\p{Is_Word_Break:_ALetter/a/}');
-Error('\P{Is_Word_Break:_ALetter/a/}');
-Expect(1, 90, '\p{Is_Word_Break=aletter}', "");
-Expect(0, 90, '\p{^Is_Word_Break=aletter}', "");
-Expect(0, 90, '\P{Is_Word_Break=aletter}', "");
-Expect(1, 90, '\P{^Is_Word_Break=aletter}', "");
-Expect(0, 64, '\p{Is_Word_Break=aletter}', "");
-Expect(1, 64, '\p{^Is_Word_Break=aletter}', "");
-Expect(1, 64, '\P{Is_Word_Break=aletter}', "");
-Expect(0, 64, '\P{^Is_Word_Break=aletter}', "");
-Expect(1, 90, '\p{Is_Word_Break= ALETTER}', "");
-Expect(0, 90, '\p{^Is_Word_Break= ALETTER}', "");
-Expect(0, 90, '\P{Is_Word_Break= ALETTER}', "");
-Expect(1, 90, '\P{^Is_Word_Break= ALETTER}', "");
-Expect(0, 64, '\p{Is_Word_Break= ALETTER}', "");
-Expect(1, 64, '\p{^Is_Word_Break= ALETTER}', "");
-Expect(1, 64, '\P{Is_Word_Break= ALETTER}', "");
-Expect(0, 64, '\P{^Is_Word_Break= ALETTER}', "");
-Error('\p{Is_WB=_ LE/a/}');
-Error('\P{Is_WB=_ LE/a/}');
-Expect(1, 90, '\p{Is_WB=le}', "");
-Expect(0, 90, '\p{^Is_WB=le}', "");
-Expect(0, 90, '\P{Is_WB=le}', "");
-Expect(1, 90, '\P{^Is_WB=le}', "");
-Expect(0, 64, '\p{Is_WB=le}', "");
-Expect(1, 64, '\p{^Is_WB=le}', "");
-Expect(1, 64, '\P{Is_WB=le}', "");
-Expect(0, 64, '\P{^Is_WB=le}', "");
-Expect(1, 90, '\p{Is_WB=- LE}', "");
-Expect(0, 90, '\p{^Is_WB=- LE}', "");
-Expect(0, 90, '\P{Is_WB=- LE}', "");
-Expect(1, 90, '\P{^Is_WB=- LE}', "");
-Expect(0, 64, '\p{Is_WB=- LE}', "");
-Expect(1, 64, '\p{^Is_WB=- LE}', "");
-Expect(1, 64, '\P{Is_WB=- LE}', "");
-Expect(0, 64, '\P{^Is_WB=- LE}', "");
-Error('\p{Word_Break: :=cr}');
-Error('\P{Word_Break: :=cr}');
-Expect(1, 13, '\p{Word_Break=cr}', "");
-Expect(0, 13, '\p{^Word_Break=cr}', "");
-Expect(0, 13, '\P{Word_Break=cr}', "");
-Expect(1, 13, '\P{^Word_Break=cr}', "");
-Expect(0, 12, '\p{Word_Break=cr}', "");
-Expect(1, 12, '\p{^Word_Break=cr}', "");
-Expect(1, 12, '\P{Word_Break=cr}', "");
-Expect(0, 12, '\P{^Word_Break=cr}', "");
-Expect(1, 13, '\p{Word_Break:- CR}', "");
-Expect(0, 13, '\p{^Word_Break:- CR}', "");
-Expect(0, 13, '\P{Word_Break:- CR}', "");
-Expect(1, 13, '\P{^Word_Break:- CR}', "");
-Expect(0, 12, '\p{Word_Break:- CR}', "");
-Expect(1, 12, '\p{^Word_Break:- CR}', "");
-Expect(1, 12, '\P{Word_Break:- CR}', "");
-Expect(0, 12, '\P{^Word_Break:- CR}', "");
-Error('\p{WB= :=CR}');
-Error('\P{WB= :=CR}');
-Expect(1, 13, '\p{WB=cr}', "");
-Expect(0, 13, '\p{^WB=cr}', "");
-Expect(0, 13, '\P{WB=cr}', "");
-Expect(1, 13, '\P{^WB=cr}', "");
-Expect(0, 12, '\p{WB=cr}', "");
-Expect(1, 12, '\p{^WB=cr}', "");
-Expect(1, 12, '\P{WB=cr}', "");
-Expect(0, 12, '\P{^WB=cr}', "");
-Expect(1, 13, '\p{WB= cr}', "");
-Expect(0, 13, '\p{^WB= cr}', "");
-Expect(0, 13, '\P{WB= cr}', "");
-Expect(1, 13, '\P{^WB= cr}', "");
-Expect(0, 12, '\p{WB= cr}', "");
-Expect(1, 12, '\p{^WB= cr}', "");
-Expect(1, 12, '\P{WB= cr}', "");
-Expect(0, 12, '\P{^WB= cr}', "");
-Error('\p{Is_Word_Break: := _CR}');
-Error('\P{Is_Word_Break: := _CR}');
-Expect(1, 13, '\p{Is_Word_Break=cr}', "");
-Expect(0, 13, '\p{^Is_Word_Break=cr}', "");
-Expect(0, 13, '\P{Is_Word_Break=cr}', "");
-Expect(1, 13, '\P{^Is_Word_Break=cr}', "");
-Expect(0, 12, '\p{Is_Word_Break=cr}', "");
-Expect(1, 12, '\p{^Is_Word_Break=cr}', "");
-Expect(1, 12, '\P{Is_Word_Break=cr}', "");
-Expect(0, 12, '\P{^Is_Word_Break=cr}', "");
-Expect(1, 13, '\p{Is_Word_Break: -CR}', "");
-Expect(0, 13, '\p{^Is_Word_Break: -CR}', "");
-Expect(0, 13, '\P{Is_Word_Break: -CR}', "");
-Expect(1, 13, '\P{^Is_Word_Break: -CR}', "");
-Expect(0, 12, '\p{Is_Word_Break: -CR}', "");
-Expect(1, 12, '\p{^Is_Word_Break: -CR}', "");
-Expect(1, 12, '\P{Is_Word_Break: -CR}', "");
-Expect(0, 12, '\P{^Is_Word_Break: -CR}', "");
-Error('\p{Is_WB= CR/a/}');
-Error('\P{Is_WB= CR/a/}');
-Expect(1, 13, '\p{Is_WB: cr}', "");
-Expect(0, 13, '\p{^Is_WB: cr}', "");
-Expect(0, 13, '\P{Is_WB: cr}', "");
-Expect(1, 13, '\P{^Is_WB: cr}', "");
-Expect(0, 12, '\p{Is_WB: cr}', "");
-Expect(1, 12, '\p{^Is_WB: cr}', "");
-Expect(1, 12, '\P{Is_WB: cr}', "");
-Expect(0, 12, '\P{^Is_WB: cr}', "");
-Expect(1, 13, '\p{Is_WB= CR}', "");
-Expect(0, 13, '\p{^Is_WB= CR}', "");
-Expect(0, 13, '\P{Is_WB= CR}', "");
-Expect(1, 13, '\P{^Is_WB= CR}', "");
-Expect(0, 12, '\p{Is_WB= CR}', "");
-Expect(1, 12, '\p{^Is_WB= CR}', "");
-Expect(1, 12, '\P{Is_WB= CR}', "");
-Expect(0, 12, '\P{^Is_WB= CR}', "");
-Error('\p{Word_Break=:=Other}');
-Error('\P{Word_Break=:=Other}');
-Expect(1, 9, '\p{Word_Break=other}', "");
-Expect(0, 9, '\p{^Word_Break=other}', "");
-Expect(0, 9, '\P{Word_Break=other}', "");
-Expect(1, 9, '\P{^Word_Break=other}', "");
-Expect(0, 13, '\p{Word_Break=other}', "");
-Expect(1, 13, '\p{^Word_Break=other}', "");
-Expect(1, 13, '\P{Word_Break=other}', "");
-Expect(0, 13, '\P{^Word_Break=other}', "");
-Expect(1, 9, '\p{Word_Break= Other}', "");
-Expect(0, 9, '\p{^Word_Break= Other}', "");
-Expect(0, 9, '\P{Word_Break= Other}', "");
-Expect(1, 9, '\P{^Word_Break= Other}', "");
-Expect(0, 13, '\p{Word_Break= Other}', "");
-Expect(1, 13, '\p{^Word_Break= Other}', "");
-Expect(1, 13, '\P{Word_Break= Other}', "");
-Expect(0, 13, '\P{^Word_Break= Other}', "");
-Error('\p{WB= :=xx}');
-Error('\P{WB= :=xx}');
-Expect(1, 9, '\p{WB=xx}', "");
-Expect(0, 9, '\p{^WB=xx}', "");
-Expect(0, 9, '\P{WB=xx}', "");
-Expect(1, 9, '\P{^WB=xx}', "");
-Expect(0, 13, '\p{WB=xx}', "");
-Expect(1, 13, '\p{^WB=xx}', "");
-Expect(1, 13, '\P{WB=xx}', "");
-Expect(0, 13, '\P{^WB=xx}', "");
-Expect(1, 9, '\p{WB= XX}', "");
-Expect(0, 9, '\p{^WB= XX}', "");
-Expect(0, 9, '\P{WB= XX}', "");
-Expect(1, 9, '\P{^WB= XX}', "");
-Expect(0, 13, '\p{WB= XX}', "");
-Expect(1, 13, '\p{^WB= XX}', "");
-Expect(1, 13, '\P{WB= XX}', "");
-Expect(0, 13, '\P{^WB= XX}', "");
-Error('\p{Is_Word_Break=- OTHER/a/}');
-Error('\P{Is_Word_Break=- OTHER/a/}');
-Expect(1, 9, '\p{Is_Word_Break=other}', "");
-Expect(0, 9, '\p{^Is_Word_Break=other}', "");
-Expect(0, 9, '\P{Is_Word_Break=other}', "");
-Expect(1, 9, '\P{^Is_Word_Break=other}', "");
-Expect(0, 13, '\p{Is_Word_Break=other}', "");
-Expect(1, 13, '\p{^Is_Word_Break=other}', "");
-Expect(1, 13, '\P{Is_Word_Break=other}', "");
-Expect(0, 13, '\P{^Is_Word_Break=other}', "");
-Expect(1, 9, '\p{Is_Word_Break= Other}', "");
-Expect(0, 9, '\p{^Is_Word_Break= Other}', "");
-Expect(0, 9, '\P{Is_Word_Break= Other}', "");
-Expect(1, 9, '\P{^Is_Word_Break= Other}', "");
-Expect(0, 13, '\p{Is_Word_Break= Other}', "");
-Expect(1, 13, '\p{^Is_Word_Break= Other}', "");
-Expect(1, 13, '\P{Is_Word_Break= Other}', "");
-Expect(0, 13, '\P{^Is_Word_Break= Other}', "");
-Error('\p{Is_WB= /a/XX}');
-Error('\P{Is_WB= /a/XX}');
-Expect(1, 9, '\p{Is_WB=xx}', "");
-Expect(0, 9, '\p{^Is_WB=xx}', "");
-Expect(0, 9, '\P{Is_WB=xx}', "");
-Expect(1, 9, '\P{^Is_WB=xx}', "");
-Expect(0, 13, '\p{Is_WB=xx}', "");
-Expect(1, 13, '\p{^Is_WB=xx}', "");
-Expect(1, 13, '\P{Is_WB=xx}', "");
-Expect(0, 13, '\P{^Is_WB=xx}', "");
-Expect(1, 9, '\p{Is_WB: XX}', "");
-Expect(0, 9, '\p{^Is_WB: XX}', "");
-Expect(0, 9, '\P{Is_WB: XX}', "");
-Expect(1, 9, '\P{^Is_WB: XX}', "");
-Expect(0, 13, '\p{Is_WB: XX}', "");
-Expect(1, 13, '\p{^Is_WB: XX}', "");
-Expect(1, 13, '\P{Is_WB: XX}', "");
-Expect(0, 13, '\P{^Is_WB: XX}', "");
-Error('\p{Word_Break= _NUMERIC:=}');
-Error('\P{Word_Break= _NUMERIC:=}');
-Expect(1, 57, '\p{Word_Break=numeric}', "");
-Expect(0, 57, '\p{^Word_Break=numeric}', "");
-Expect(0, 57, '\P{Word_Break=numeric}', "");
-Expect(1, 57, '\P{^Word_Break=numeric}', "");
-Expect(0, 47, '\p{Word_Break=numeric}', "");
-Expect(1, 47, '\p{^Word_Break=numeric}', "");
-Expect(1, 47, '\P{Word_Break=numeric}', "");
-Expect(0, 47, '\P{^Word_Break=numeric}', "");
-Expect(1, 57, '\p{Word_Break=Numeric}', "");
-Expect(0, 57, '\p{^Word_Break=Numeric}', "");
-Expect(0, 57, '\P{Word_Break=Numeric}', "");
-Expect(1, 57, '\P{^Word_Break=Numeric}', "");
-Expect(0, 47, '\p{Word_Break=Numeric}', "");
-Expect(1, 47, '\p{^Word_Break=Numeric}', "");
-Expect(1, 47, '\P{Word_Break=Numeric}', "");
-Expect(0, 47, '\P{^Word_Break=Numeric}', "");
-Error('\p{WB=:= _NU}');
-Error('\P{WB=:= _NU}');
-Expect(1, 57, '\p{WB=nu}', "");
-Expect(0, 57, '\p{^WB=nu}', "");
-Expect(0, 57, '\P{WB=nu}', "");
-Expect(1, 57, '\P{^WB=nu}', "");
-Expect(0, 47, '\p{WB=nu}', "");
-Expect(1, 47, '\p{^WB=nu}', "");
-Expect(1, 47, '\P{WB=nu}', "");
-Expect(0, 47, '\P{^WB=nu}', "");
-Expect(1, 57, '\p{WB: - NU}', "");
-Expect(0, 57, '\p{^WB: - NU}', "");
-Expect(0, 57, '\P{WB: - NU}', "");
-Expect(1, 57, '\P{^WB: - NU}', "");
-Expect(0, 47, '\p{WB: - NU}', "");
-Expect(1, 47, '\p{^WB: - NU}', "");
-Expect(1, 47, '\P{WB: - NU}', "");
-Expect(0, 47, '\P{^WB: - NU}', "");
-Error('\p{Is_Word_Break=/a/ -NUMERIC}');
-Error('\P{Is_Word_Break=/a/ -NUMERIC}');
-Expect(1, 57, '\p{Is_Word_Break=numeric}', "");
-Expect(0, 57, '\p{^Is_Word_Break=numeric}', "");
-Expect(0, 57, '\P{Is_Word_Break=numeric}', "");
-Expect(1, 57, '\P{^Is_Word_Break=numeric}', "");
-Expect(0, 47, '\p{Is_Word_Break=numeric}', "");
-Expect(1, 47, '\p{^Is_Word_Break=numeric}', "");
-Expect(1, 47, '\P{Is_Word_Break=numeric}', "");
-Expect(0, 47, '\P{^Is_Word_Break=numeric}', "");
-Expect(1, 57, '\p{Is_Word_Break=-numeric}', "");
-Expect(0, 57, '\p{^Is_Word_Break=-numeric}', "");
-Expect(0, 57, '\P{Is_Word_Break=-numeric}', "");
-Expect(1, 57, '\P{^Is_Word_Break=-numeric}', "");
-Expect(0, 47, '\p{Is_Word_Break=-numeric}', "");
-Expect(1, 47, '\p{^Is_Word_Break=-numeric}', "");
-Expect(1, 47, '\P{Is_Word_Break=-numeric}', "");
-Expect(0, 47, '\P{^Is_Word_Break=-numeric}', "");
-Error('\p{Is_WB= :=nu}');
-Error('\P{Is_WB= :=nu}');
-Expect(1, 57, '\p{Is_WB=nu}', "");
-Expect(0, 57, '\p{^Is_WB=nu}', "");
-Expect(0, 57, '\P{Is_WB=nu}', "");
-Expect(1, 57, '\P{^Is_WB=nu}', "");
-Expect(0, 47, '\p{Is_WB=nu}', "");
-Expect(1, 47, '\p{^Is_WB=nu}', "");
-Expect(1, 47, '\P{Is_WB=nu}', "");
-Expect(0, 47, '\P{^Is_WB=nu}', "");
-Expect(1, 57, '\p{Is_WB= _nu}', "");
-Expect(0, 57, '\p{^Is_WB= _nu}', "");
-Expect(0, 57, '\P{Is_WB= _nu}', "");
-Expect(1, 57, '\P{^Is_WB= _nu}', "");
-Expect(0, 47, '\p{Is_WB= _nu}', "");
-Expect(1, 47, '\p{^Is_WB= _nu}', "");
-Expect(1, 47, '\P{Is_WB= _nu}', "");
-Expect(0, 47, '\P{^Is_WB= _nu}', "");
-Error('\p{Word_Break=/a/ -format}');
-Error('\P{Word_Break=/a/ -format}');
-Expect(1, 173, '\p{Word_Break=format}', "");
-Expect(0, 173, '\p{^Word_Break=format}', "");
-Expect(0, 173, '\P{Word_Break=format}', "");
-Expect(1, 173, '\P{^Word_Break=format}', "");
-Expect(0, 172, '\p{Word_Break=format}', "");
-Expect(1, 172, '\p{^Word_Break=format}', "");
-Expect(1, 172, '\P{Word_Break=format}', "");
-Expect(0, 172, '\P{^Word_Break=format}', "");
-Expect(1, 173, '\p{Word_Break= Format}', "");
-Expect(0, 173, '\p{^Word_Break= Format}', "");
-Expect(0, 173, '\P{Word_Break= Format}', "");
-Expect(1, 173, '\P{^Word_Break= Format}', "");
-Expect(0, 172, '\p{Word_Break= Format}', "");
-Expect(1, 172, '\p{^Word_Break= Format}', "");
-Expect(1, 172, '\P{Word_Break= Format}', "");
-Expect(0, 172, '\P{^Word_Break= Format}', "");
-Error('\p{WB=/a/ _fo}');
-Error('\P{WB=/a/ _fo}');
-Expect(1, 173, '\p{WB=fo}', "");
-Expect(0, 173, '\p{^WB=fo}', "");
-Expect(0, 173, '\P{WB=fo}', "");
-Expect(1, 173, '\P{^WB=fo}', "");
-Expect(0, 172, '\p{WB=fo}', "");
-Expect(1, 172, '\p{^WB=fo}', "");
-Expect(1, 172, '\P{WB=fo}', "");
-Expect(0, 172, '\P{^WB=fo}', "");
-Expect(1, 173, '\p{WB= _FO}', "");
-Expect(0, 173, '\p{^WB= _FO}', "");
-Expect(0, 173, '\P{WB= _FO}', "");
-Expect(1, 173, '\P{^WB= _FO}', "");
-Expect(0, 172, '\p{WB= _FO}', "");
-Expect(1, 172, '\p{^WB= _FO}', "");
-Expect(1, 172, '\P{WB= _FO}', "");
-Expect(0, 172, '\P{^WB= _FO}', "");
-Error('\p{Is_Word_Break: /a/--Format}');
-Error('\P{Is_Word_Break: /a/--Format}');
-Expect(1, 173, '\p{Is_Word_Break=format}', "");
-Expect(0, 173, '\p{^Is_Word_Break=format}', "");
-Expect(0, 173, '\P{Is_Word_Break=format}', "");
-Expect(1, 173, '\P{^Is_Word_Break=format}', "");
-Expect(0, 172, '\p{Is_Word_Break=format}', "");
-Expect(1, 172, '\p{^Is_Word_Break=format}', "");
-Expect(1, 172, '\P{Is_Word_Break=format}', "");
-Expect(0, 172, '\P{^Is_Word_Break=format}', "");
-Expect(1, 173, '\p{Is_Word_Break=_ FORMAT}', "");
-Expect(0, 173, '\p{^Is_Word_Break=_ FORMAT}', "");
-Expect(0, 173, '\P{Is_Word_Break=_ FORMAT}', "");
-Expect(1, 173, '\P{^Is_Word_Break=_ FORMAT}', "");
-Expect(0, 172, '\p{Is_Word_Break=_ FORMAT}', "");
-Expect(1, 172, '\p{^Is_Word_Break=_ FORMAT}', "");
-Expect(1, 172, '\P{Is_Word_Break=_ FORMAT}', "");
-Expect(0, 172, '\P{^Is_Word_Break=_ FORMAT}', "");
-Error('\p{Is_WB=/a/fo}');
-Error('\P{Is_WB=/a/fo}');
-Expect(1, 173, '\p{Is_WB=fo}', "");
-Expect(0, 173, '\p{^Is_WB=fo}', "");
-Expect(0, 173, '\P{Is_WB=fo}', "");
-Expect(1, 173, '\P{^Is_WB=fo}', "");
-Expect(0, 172, '\p{Is_WB=fo}', "");
-Expect(1, 172, '\p{^Is_WB=fo}', "");
-Expect(1, 172, '\P{Is_WB=fo}', "");
-Expect(0, 172, '\P{^Is_WB=fo}', "");
-Expect(1, 173, '\p{Is_WB= fo}', "");
-Expect(0, 173, '\p{^Is_WB= fo}', "");
-Expect(0, 173, '\P{Is_WB= fo}', "");
-Expect(1, 173, '\P{^Is_WB= fo}', "");
-Expect(0, 172, '\p{Is_WB= fo}', "");
-Expect(1, 172, '\p{^Is_WB= fo}', "");
-Expect(1, 172, '\P{Is_WB= fo}', "");
-Expect(0, 172, '\P{^Is_WB= fo}', "");
-Error('\p{Word_Break=/a/EXTENDNUMLET}');
-Error('\P{Word_Break=/a/EXTENDNUMLET}');
-Expect(1, 95, '\p{Word_Break=extendnumlet}', "");
-Expect(0, 95, '\p{^Word_Break=extendnumlet}', "");
-Expect(0, 95, '\P{Word_Break=extendnumlet}', "");
-Expect(1, 95, '\P{^Word_Break=extendnumlet}', "");
-Expect(0, 94, '\p{Word_Break=extendnumlet}', "");
-Expect(1, 94, '\p{^Word_Break=extendnumlet}', "");
-Expect(1, 94, '\P{Word_Break=extendnumlet}', "");
-Expect(0, 94, '\P{^Word_Break=extendnumlet}', "");
-Expect(1, 95, '\p{Word_Break: _ExtendNumLet}', "");
-Expect(0, 95, '\p{^Word_Break: _ExtendNumLet}', "");
-Expect(0, 95, '\P{Word_Break: _ExtendNumLet}', "");
-Expect(1, 95, '\P{^Word_Break: _ExtendNumLet}', "");
-Expect(0, 94, '\p{Word_Break: _ExtendNumLet}', "");
-Expect(1, 94, '\p{^Word_Break: _ExtendNumLet}', "");
-Expect(1, 94, '\P{Word_Break: _ExtendNumLet}', "");
-Expect(0, 94, '\P{^Word_Break: _ExtendNumLet}', "");
-Error('\p{WB= :=EX}');
-Error('\P{WB= :=EX}');
-Expect(1, 95, '\p{WB=ex}', "");
-Expect(0, 95, '\p{^WB=ex}', "");
-Expect(0, 95, '\P{WB=ex}', "");
-Expect(1, 95, '\P{^WB=ex}', "");
-Expect(0, 94, '\p{WB=ex}', "");
-Expect(1, 94, '\p{^WB=ex}', "");
-Expect(1, 94, '\P{WB=ex}', "");
-Expect(0, 94, '\P{^WB=ex}', "");
-Expect(1, 95, '\p{WB= ex}', "");
-Expect(0, 95, '\p{^WB= ex}', "");
-Expect(0, 95, '\P{WB= ex}', "");
-Expect(1, 95, '\P{^WB= ex}', "");
-Expect(0, 94, '\p{WB= ex}', "");
-Expect(1, 94, '\p{^WB= ex}', "");
-Expect(1, 94, '\P{WB= ex}', "");
-Expect(0, 94, '\P{^WB= ex}', "");
-Error('\p{Is_Word_Break: :=EXTENDNUMLET}');
-Error('\P{Is_Word_Break: :=EXTENDNUMLET}');
-Expect(1, 95, '\p{Is_Word_Break=extendnumlet}', "");
-Expect(0, 95, '\p{^Is_Word_Break=extendnumlet}', "");
-Expect(0, 95, '\P{Is_Word_Break=extendnumlet}', "");
-Expect(1, 95, '\P{^Is_Word_Break=extendnumlet}', "");
-Expect(0, 94, '\p{Is_Word_Break=extendnumlet}', "");
-Expect(1, 94, '\p{^Is_Word_Break=extendnumlet}', "");
-Expect(1, 94, '\P{Is_Word_Break=extendnumlet}', "");
-Expect(0, 94, '\P{^Is_Word_Break=extendnumlet}', "");
-Expect(1, 95, '\p{Is_Word_Break= _extendnumlet}', "");
-Expect(0, 95, '\p{^Is_Word_Break= _extendnumlet}', "");
-Expect(0, 95, '\P{Is_Word_Break= _extendnumlet}', "");
-Expect(1, 95, '\P{^Is_Word_Break= _extendnumlet}', "");
-Expect(0, 94, '\p{Is_Word_Break= _extendnumlet}', "");
-Expect(1, 94, '\p{^Is_Word_Break= _extendnumlet}', "");
-Expect(1, 94, '\P{Is_Word_Break= _extendnumlet}', "");
-Expect(0, 94, '\P{^Is_Word_Break= _extendnumlet}', "");
-Error('\p{Is_WB=:=--EX}');
-Error('\P{Is_WB=:=--EX}');
-Expect(1, 95, '\p{Is_WB=ex}', "");
-Expect(0, 95, '\p{^Is_WB=ex}', "");
-Expect(0, 95, '\P{Is_WB=ex}', "");
-Expect(1, 95, '\P{^Is_WB=ex}', "");
-Expect(0, 94, '\p{Is_WB=ex}', "");
-Expect(1, 94, '\p{^Is_WB=ex}', "");
-Expect(1, 94, '\P{Is_WB=ex}', "");
-Expect(0, 94, '\P{^Is_WB=ex}', "");
-Expect(1, 95, '\p{Is_WB=_-ex}', "");
-Expect(0, 95, '\p{^Is_WB=_-ex}', "");
-Expect(0, 95, '\P{Is_WB=_-ex}', "");
-Expect(1, 95, '\P{^Is_WB=_-ex}', "");
-Expect(0, 94, '\p{Is_WB=_-ex}', "");
-Expect(1, 94, '\p{^Is_WB=_-ex}', "");
-Expect(1, 94, '\P{Is_WB=_-ex}', "");
-Expect(0, 94, '\P{^Is_WB=_-ex}', "");
-Error('\p{Word_Break:_extend/a/}');
-Error('\P{Word_Break:_extend/a/}');
-Expect(1, 879, '\p{Word_Break=extend}', "");
-Expect(0, 879, '\p{^Word_Break=extend}', "");
-Expect(0, 879, '\P{Word_Break=extend}', "");
-Expect(1, 879, '\P{^Word_Break=extend}', "");
-Expect(0, 767, '\p{Word_Break=extend}', "");
-Expect(1, 767, '\p{^Word_Break=extend}', "");
-Expect(1, 767, '\P{Word_Break=extend}', "");
-Expect(0, 767, '\P{^Word_Break=extend}', "");
-Expect(1, 879, '\p{Word_Break=-extend}', "");
-Expect(0, 879, '\p{^Word_Break=-extend}', "");
-Expect(0, 879, '\P{Word_Break=-extend}', "");
-Expect(1, 879, '\P{^Word_Break=-extend}', "");
-Expect(0, 767, '\p{Word_Break=-extend}', "");
-Expect(1, 767, '\p{^Word_Break=-extend}', "");
-Expect(1, 767, '\P{Word_Break=-extend}', "");
-Expect(0, 767, '\P{^Word_Break=-extend}', "");
-Error('\p{WB= -Extend/a/}');
-Error('\P{WB= -Extend/a/}');
-Expect(1, 879, '\p{WB=extend}', "");
-Expect(0, 879, '\p{^WB=extend}', "");
-Expect(0, 879, '\P{WB=extend}', "");
-Expect(1, 879, '\P{^WB=extend}', "");
-Expect(0, 767, '\p{WB=extend}', "");
-Expect(1, 767, '\p{^WB=extend}', "");
-Expect(1, 767, '\P{WB=extend}', "");
-Expect(0, 767, '\P{^WB=extend}', "");
-Expect(1, 879, '\p{WB= extend}', "");
-Expect(0, 879, '\p{^WB= extend}', "");
-Expect(0, 879, '\P{WB= extend}', "");
-Expect(1, 879, '\P{^WB= extend}', "");
-Expect(0, 767, '\p{WB= extend}', "");
-Expect(1, 767, '\p{^WB= extend}', "");
-Expect(1, 767, '\P{WB= extend}', "");
-Expect(0, 767, '\P{^WB= extend}', "");
-Error('\p{Is_Word_Break= /a/Extend}');
-Error('\P{Is_Word_Break= /a/Extend}');
-Expect(1, 879, '\p{Is_Word_Break=extend}', "");
-Expect(0, 879, '\p{^Is_Word_Break=extend}', "");
-Expect(0, 879, '\P{Is_Word_Break=extend}', "");
-Expect(1, 879, '\P{^Is_Word_Break=extend}', "");
-Expect(0, 767, '\p{Is_Word_Break=extend}', "");
-Expect(1, 767, '\p{^Is_Word_Break=extend}', "");
-Expect(1, 767, '\P{Is_Word_Break=extend}', "");
-Expect(0, 767, '\P{^Is_Word_Break=extend}', "");
-Expect(1, 879, '\p{Is_Word_Break=- Extend}', "");
-Expect(0, 879, '\p{^Is_Word_Break=- Extend}', "");
-Expect(0, 879, '\P{Is_Word_Break=- Extend}', "");
-Expect(1, 879, '\P{^Is_Word_Break=- Extend}', "");
-Expect(0, 767, '\p{Is_Word_Break=- Extend}', "");
-Expect(1, 767, '\p{^Is_Word_Break=- Extend}', "");
-Expect(1, 767, '\P{Is_Word_Break=- Extend}', "");
-Expect(0, 767, '\P{^Is_Word_Break=- Extend}', "");
-Error('\p{Is_WB=/a/ -EXTEND}');
-Error('\P{Is_WB=/a/ -EXTEND}');
-Expect(1, 879, '\p{Is_WB=extend}', "");
-Expect(0, 879, '\p{^Is_WB=extend}', "");
-Expect(0, 879, '\P{Is_WB=extend}', "");
-Expect(1, 879, '\P{^Is_WB=extend}', "");
-Expect(0, 767, '\p{Is_WB=extend}', "");
-Expect(1, 767, '\p{^Is_WB=extend}', "");
-Expect(1, 767, '\P{Is_WB=extend}', "");
-Expect(0, 767, '\P{^Is_WB=extend}', "");
-Expect(1, 879, '\p{Is_WB=-EXTEND}', "");
-Expect(0, 879, '\p{^Is_WB=-EXTEND}', "");
-Expect(0, 879, '\P{Is_WB=-EXTEND}', "");
-Expect(1, 879, '\P{^Is_WB=-EXTEND}', "");
-Expect(0, 767, '\p{Is_WB=-EXTEND}', "");
-Expect(1, 767, '\p{^Is_WB=-EXTEND}', "");
-Expect(1, 767, '\P{Is_WB=-EXTEND}', "");
-Expect(0, 767, '\P{^Is_WB=-EXTEND}', "");
-Error('\p{Word_Break=:= -MIDLETTER}');
-Error('\P{Word_Break=:= -MIDLETTER}');
-Expect(1, 58, '\p{Word_Break=midletter}', "");
-Expect(0, 58, '\p{^Word_Break=midletter}', "");
-Expect(0, 58, '\P{Word_Break=midletter}', "");
-Expect(1, 58, '\P{^Word_Break=midletter}', "");
-Expect(0, 57, '\p{Word_Break=midletter}', "");
-Expect(1, 57, '\p{^Word_Break=midletter}', "");
-Expect(1, 57, '\P{Word_Break=midletter}', "");
-Expect(0, 57, '\P{^Word_Break=midletter}', "");
-Expect(1, 58, '\p{Word_Break=_MIDLETTER}', "");
-Expect(0, 58, '\p{^Word_Break=_MIDLETTER}', "");
-Expect(0, 58, '\P{Word_Break=_MIDLETTER}', "");
-Expect(1, 58, '\P{^Word_Break=_MIDLETTER}', "");
-Expect(0, 57, '\p{Word_Break=_MIDLETTER}', "");
-Expect(1, 57, '\p{^Word_Break=_MIDLETTER}', "");
-Expect(1, 57, '\P{Word_Break=_MIDLETTER}', "");
-Expect(0, 57, '\P{^Word_Break=_MIDLETTER}', "");
-Error('\p{WB=:=_ml}');
-Error('\P{WB=:=_ml}');
-Expect(1, 58, '\p{WB=ml}', "");
-Expect(0, 58, '\p{^WB=ml}', "");
-Expect(0, 58, '\P{WB=ml}', "");
-Expect(1, 58, '\P{^WB=ml}', "");
-Expect(0, 57, '\p{WB=ml}', "");
-Expect(1, 57, '\p{^WB=ml}', "");
-Expect(1, 57, '\P{WB=ml}', "");
-Expect(0, 57, '\P{^WB=ml}', "");
-Expect(1, 58, '\p{WB=_ML}', "");
-Expect(0, 58, '\p{^WB=_ML}', "");
-Expect(0, 58, '\P{WB=_ML}', "");
-Expect(1, 58, '\P{^WB=_ML}', "");
-Expect(0, 57, '\p{WB=_ML}', "");
-Expect(1, 57, '\p{^WB=_ML}', "");
-Expect(1, 57, '\P{WB=_ML}', "");
-Expect(0, 57, '\P{^WB=_ML}', "");
-Error('\p{Is_Word_Break= -MIDLETTER/a/}');
-Error('\P{Is_Word_Break= -MIDLETTER/a/}');
-Expect(1, 58, '\p{Is_Word_Break: midletter}', "");
-Expect(0, 58, '\p{^Is_Word_Break: midletter}', "");
-Expect(0, 58, '\P{Is_Word_Break: midletter}', "");
-Expect(1, 58, '\P{^Is_Word_Break: midletter}', "");
-Expect(0, 57, '\p{Is_Word_Break: midletter}', "");
-Expect(1, 57, '\p{^Is_Word_Break: midletter}', "");
-Expect(1, 57, '\P{Is_Word_Break: midletter}', "");
-Expect(0, 57, '\P{^Is_Word_Break: midletter}', "");
-Expect(1, 58, '\p{Is_Word_Break= MidLetter}', "");
-Expect(0, 58, '\p{^Is_Word_Break= MidLetter}', "");
-Expect(0, 58, '\P{Is_Word_Break= MidLetter}', "");
-Expect(1, 58, '\P{^Is_Word_Break= MidLetter}', "");
-Expect(0, 57, '\p{Is_Word_Break= MidLetter}', "");
-Expect(1, 57, '\p{^Is_Word_Break= MidLetter}', "");
-Expect(1, 57, '\P{Is_Word_Break= MidLetter}', "");
-Expect(0, 57, '\P{^Is_Word_Break= MidLetter}', "");
-Error('\p{Is_WB=:= _ML}');
-Error('\P{Is_WB=:= _ML}');
-Expect(1, 58, '\p{Is_WB=ml}', "");
-Expect(0, 58, '\p{^Is_WB=ml}', "");
-Expect(0, 58, '\P{Is_WB=ml}', "");
-Expect(1, 58, '\P{^Is_WB=ml}', "");
-Expect(0, 57, '\p{Is_WB=ml}', "");
-Expect(1, 57, '\p{^Is_WB=ml}', "");
-Expect(1, 57, '\P{Is_WB=ml}', "");
-Expect(0, 57, '\P{^Is_WB=ml}', "");
-Expect(1, 58, '\p{Is_WB=_ ml}', "");
-Expect(0, 58, '\p{^Is_WB=_ ml}', "");
-Expect(0, 58, '\P{Is_WB=_ ml}', "");
-Expect(1, 58, '\P{^Is_WB=_ ml}', "");
-Expect(0, 57, '\p{Is_WB=_ ml}', "");
-Expect(1, 57, '\p{^Is_WB=_ ml}', "");
-Expect(1, 57, '\P{Is_WB=_ ml}', "");
-Expect(0, 57, '\P{^Is_WB=_ ml}', "");
-Error('\p{Word_Break=:= MIDNUMLET}');
-Error('\P{Word_Break=:= MIDNUMLET}');
-Expect(1, 39, '\p{Word_Break=midnumlet}', "");
-Expect(0, 39, '\p{^Word_Break=midnumlet}', "");
-Expect(0, 39, '\P{Word_Break=midnumlet}', "");
-Expect(1, 39, '\P{^Word_Break=midnumlet}', "");
-Expect(0, 38, '\p{Word_Break=midnumlet}', "");
-Expect(1, 38, '\p{^Word_Break=midnumlet}', "");
-Expect(1, 38, '\P{Word_Break=midnumlet}', "");
-Expect(0, 38, '\P{^Word_Break=midnumlet}', "");
-Expect(1, 39, '\p{Word_Break= MIDNUMLET}', "");
-Expect(0, 39, '\p{^Word_Break= MIDNUMLET}', "");
-Expect(0, 39, '\P{Word_Break= MIDNUMLET}', "");
-Expect(1, 39, '\P{^Word_Break= MIDNUMLET}', "");
-Expect(0, 38, '\p{Word_Break= MIDNUMLET}', "");
-Expect(1, 38, '\p{^Word_Break= MIDNUMLET}', "");
-Expect(1, 38, '\P{Word_Break= MIDNUMLET}', "");
-Expect(0, 38, '\P{^Word_Break= MIDNUMLET}', "");
-Error('\p{WB=- mb:=}');
-Error('\P{WB=- mb:=}');
-Expect(1, 39, '\p{WB=mb}', "");
-Expect(0, 39, '\p{^WB=mb}', "");
-Expect(0, 39, '\P{WB=mb}', "");
-Expect(1, 39, '\P{^WB=mb}', "");
-Expect(0, 38, '\p{WB=mb}', "");
-Expect(1, 38, '\p{^WB=mb}', "");
-Expect(1, 38, '\P{WB=mb}', "");
-Expect(0, 38, '\P{^WB=mb}', "");
-Expect(1, 39, '\p{WB= MB}', "");
-Expect(0, 39, '\p{^WB= MB}', "");
-Expect(0, 39, '\P{WB= MB}', "");
-Expect(1, 39, '\P{^WB= MB}', "");
-Expect(0, 38, '\p{WB= MB}', "");
-Expect(1, 38, '\p{^WB= MB}', "");
-Expect(1, 38, '\P{WB= MB}', "");
-Expect(0, 38, '\P{^WB= MB}', "");
-Error('\p{Is_Word_Break=:= MidNumLet}');
-Error('\P{Is_Word_Break=:= MidNumLet}');
-Expect(1, 39, '\p{Is_Word_Break=midnumlet}', "");
-Expect(0, 39, '\p{^Is_Word_Break=midnumlet}', "");
-Expect(0, 39, '\P{Is_Word_Break=midnumlet}', "");
-Expect(1, 39, '\P{^Is_Word_Break=midnumlet}', "");
-Expect(0, 38, '\p{Is_Word_Break=midnumlet}', "");
-Expect(1, 38, '\p{^Is_Word_Break=midnumlet}', "");
-Expect(1, 38, '\P{Is_Word_Break=midnumlet}', "");
-Expect(0, 38, '\P{^Is_Word_Break=midnumlet}', "");
-Expect(1, 39, '\p{Is_Word_Break=--midnumlet}', "");
-Expect(0, 39, '\p{^Is_Word_Break=--midnumlet}', "");
-Expect(0, 39, '\P{Is_Word_Break=--midnumlet}', "");
-Expect(1, 39, '\P{^Is_Word_Break=--midnumlet}', "");
-Expect(0, 38, '\p{Is_Word_Break=--midnumlet}', "");
-Expect(1, 38, '\p{^Is_Word_Break=--midnumlet}', "");
-Expect(1, 38, '\P{Is_Word_Break=--midnumlet}', "");
-Expect(0, 38, '\P{^Is_Word_Break=--midnumlet}', "");
-Error('\p{Is_WB=:= MB}');
-Error('\P{Is_WB=:= MB}');
-Expect(1, 39, '\p{Is_WB=mb}', "");
-Expect(0, 39, '\p{^Is_WB=mb}', "");
-Expect(0, 39, '\P{Is_WB=mb}', "");
-Expect(1, 39, '\P{^Is_WB=mb}', "");
-Expect(0, 38, '\p{Is_WB=mb}', "");
-Expect(1, 38, '\p{^Is_WB=mb}', "");
-Expect(1, 38, '\P{Is_WB=mb}', "");
-Expect(0, 38, '\P{^Is_WB=mb}', "");
-Expect(1, 39, '\p{Is_WB=-_mb}', "");
-Expect(0, 39, '\p{^Is_WB=-_mb}', "");
-Expect(0, 39, '\P{Is_WB=-_mb}', "");
-Expect(1, 39, '\P{^Is_WB=-_mb}', "");
-Expect(0, 38, '\p{Is_WB=-_mb}', "");
-Expect(1, 38, '\p{^Is_WB=-_mb}', "");
-Expect(1, 38, '\P{Is_WB=-_mb}', "");
-Expect(0, 38, '\P{^Is_WB=-_mb}', "");
-Error('\p{Word_Break=:=MIDNUM}');
-Error('\P{Word_Break=:=MIDNUM}');
-Expect(1, 44, '\p{Word_Break: midnum}', "");
-Expect(0, 44, '\p{^Word_Break: midnum}', "");
-Expect(0, 44, '\P{Word_Break: midnum}', "");
-Expect(1, 44, '\P{^Word_Break: midnum}', "");
-Expect(0, 43, '\p{Word_Break: midnum}', "");
-Expect(1, 43, '\p{^Word_Break: midnum}', "");
-Expect(1, 43, '\P{Word_Break: midnum}', "");
-Expect(0, 43, '\P{^Word_Break: midnum}', "");
-Expect(1, 44, '\p{Word_Break= _MIDNUM}', "");
-Expect(0, 44, '\p{^Word_Break= _MIDNUM}', "");
-Expect(0, 44, '\P{Word_Break= _MIDNUM}', "");
-Expect(1, 44, '\P{^Word_Break= _MIDNUM}', "");
-Expect(0, 43, '\p{Word_Break= _MIDNUM}', "");
-Expect(1, 43, '\p{^Word_Break= _MIDNUM}', "");
-Expect(1, 43, '\P{Word_Break= _MIDNUM}', "");
-Expect(0, 43, '\P{^Word_Break= _MIDNUM}', "");
-Error('\p{WB=/a/- MN}');
-Error('\P{WB=/a/- MN}');
-Expect(1, 44, '\p{WB=mn}', "");
-Expect(0, 44, '\p{^WB=mn}', "");
-Expect(0, 44, '\P{WB=mn}', "");
-Expect(1, 44, '\P{^WB=mn}', "");
-Expect(0, 43, '\p{WB=mn}', "");
-Expect(1, 43, '\p{^WB=mn}', "");
-Expect(1, 43, '\P{WB=mn}', "");
-Expect(0, 43, '\P{^WB=mn}', "");
-Expect(1, 44, '\p{WB=- MN}', "");
-Expect(0, 44, '\p{^WB=- MN}', "");
-Expect(0, 44, '\P{WB=- MN}', "");
-Expect(1, 44, '\P{^WB=- MN}', "");
-Expect(0, 43, '\p{WB=- MN}', "");
-Expect(1, 43, '\p{^WB=- MN}', "");
-Expect(1, 43, '\P{WB=- MN}', "");
-Expect(0, 43, '\P{^WB=- MN}', "");
-Error('\p{Is_Word_Break= _MIDNUM/a/}');
-Error('\P{Is_Word_Break= _MIDNUM/a/}');
-Expect(1, 44, '\p{Is_Word_Break=midnum}', "");
-Expect(0, 44, '\p{^Is_Word_Break=midnum}', "");
-Expect(0, 44, '\P{Is_Word_Break=midnum}', "");
-Expect(1, 44, '\P{^Is_Word_Break=midnum}', "");
-Expect(0, 43, '\p{Is_Word_Break=midnum}', "");
-Expect(1, 43, '\p{^Is_Word_Break=midnum}', "");
-Expect(1, 43, '\P{Is_Word_Break=midnum}', "");
-Expect(0, 43, '\P{^Is_Word_Break=midnum}', "");
-Expect(1, 44, '\p{Is_Word_Break: _MIDNUM}', "");
-Expect(0, 44, '\p{^Is_Word_Break: _MIDNUM}', "");
-Expect(0, 44, '\P{Is_Word_Break: _MIDNUM}', "");
-Expect(1, 44, '\P{^Is_Word_Break: _MIDNUM}', "");
-Expect(0, 43, '\p{Is_Word_Break: _MIDNUM}', "");
-Expect(1, 43, '\p{^Is_Word_Break: _MIDNUM}', "");
-Expect(1, 43, '\P{Is_Word_Break: _MIDNUM}', "");
-Expect(0, 43, '\P{^Is_Word_Break: _MIDNUM}', "");
-Error('\p{Is_WB: /a/ MN}');
-Error('\P{Is_WB: /a/ MN}');
-Expect(1, 44, '\p{Is_WB=mn}', "");
-Expect(0, 44, '\p{^Is_WB=mn}', "");
-Expect(0, 44, '\P{Is_WB=mn}', "");
-Expect(1, 44, '\P{^Is_WB=mn}', "");
-Expect(0, 43, '\p{Is_WB=mn}', "");
-Expect(1, 43, '\p{^Is_WB=mn}', "");
-Expect(1, 43, '\P{Is_WB=mn}', "");
-Expect(0, 43, '\P{^Is_WB=mn}', "");
-Expect(1, 44, '\p{Is_WB=-MN}', "");
-Expect(0, 44, '\p{^Is_WB=-MN}', "");
-Expect(0, 44, '\P{Is_WB=-MN}', "");
-Expect(1, 44, '\P{^Is_WB=-MN}', "");
-Expect(0, 43, '\p{Is_WB=-MN}', "");
-Expect(1, 43, '\p{^Is_WB=-MN}', "");
-Expect(1, 43, '\P{Is_WB=-MN}', "");
-Expect(0, 43, '\P{^Is_WB=-MN}', "");
-Error('\p{Word_Break= _Katakana/a/}');
-Error('\P{Word_Break= _Katakana/a/}');
-Expect(1, 12341, '\p{Word_Break=katakana}', "");
-Expect(0, 12341, '\p{^Word_Break=katakana}', "");
-Expect(0, 12341, '\P{Word_Break=katakana}', "");
-Expect(1, 12341, '\P{^Word_Break=katakana}', "");
-Expect(0, 12336, '\p{Word_Break=katakana}', "");
-Expect(1, 12336, '\p{^Word_Break=katakana}', "");
-Expect(1, 12336, '\P{Word_Break=katakana}', "");
-Expect(0, 12336, '\P{^Word_Break=katakana}', "");
-Expect(1, 12341, '\p{Word_Break=_Katakana}', "");
-Expect(0, 12341, '\p{^Word_Break=_Katakana}', "");
-Expect(0, 12341, '\P{Word_Break=_Katakana}', "");
-Expect(1, 12341, '\P{^Word_Break=_Katakana}', "");
-Expect(0, 12336, '\p{Word_Break=_Katakana}', "");
-Expect(1, 12336, '\p{^Word_Break=_Katakana}', "");
-Expect(1, 12336, '\P{Word_Break=_Katakana}', "");
-Expect(0, 12336, '\P{^Word_Break=_Katakana}', "");
-Error('\p{WB= _KA:=}');
-Error('\P{WB= _KA:=}');
-Expect(1, 12341, '\p{WB=ka}', "");
-Expect(0, 12341, '\p{^WB=ka}', "");
-Expect(0, 12341, '\P{WB=ka}', "");
-Expect(1, 12341, '\P{^WB=ka}', "");
-Expect(0, 12336, '\p{WB=ka}', "");
-Expect(1, 12336, '\p{^WB=ka}', "");
-Expect(1, 12336, '\P{WB=ka}', "");
-Expect(0, 12336, '\P{^WB=ka}', "");
-Expect(1, 12341, '\p{WB: KA}', "");
-Expect(0, 12341, '\p{^WB: KA}', "");
-Expect(0, 12341, '\P{WB: KA}', "");
-Expect(1, 12341, '\P{^WB: KA}', "");
-Expect(0, 12336, '\p{WB: KA}', "");
-Expect(1, 12336, '\p{^WB: KA}', "");
-Expect(1, 12336, '\P{WB: KA}', "");
-Expect(0, 12336, '\P{^WB: KA}', "");
-Error('\p{Is_Word_Break=:=__katakana}');
-Error('\P{Is_Word_Break=:=__katakana}');
-Expect(1, 12341, '\p{Is_Word_Break=katakana}', "");
-Expect(0, 12341, '\p{^Is_Word_Break=katakana}', "");
-Expect(0, 12341, '\P{Is_Word_Break=katakana}', "");
-Expect(1, 12341, '\P{^Is_Word_Break=katakana}', "");
-Expect(0, 12336, '\p{Is_Word_Break=katakana}', "");
-Expect(1, 12336, '\p{^Is_Word_Break=katakana}', "");
-Expect(1, 12336, '\P{Is_Word_Break=katakana}', "");
-Expect(0, 12336, '\P{^Is_Word_Break=katakana}', "");
-Expect(1, 12341, '\p{Is_Word_Break= KATAKANA}', "");
-Expect(0, 12341, '\p{^Is_Word_Break= KATAKANA}', "");
-Expect(0, 12341, '\P{Is_Word_Break= KATAKANA}', "");
-Expect(1, 12341, '\P{^Is_Word_Break= KATAKANA}', "");
-Expect(0, 12336, '\p{Is_Word_Break= KATAKANA}', "");
-Expect(1, 12336, '\p{^Is_Word_Break= KATAKANA}', "");
-Expect(1, 12336, '\P{Is_Word_Break= KATAKANA}', "");
-Expect(0, 12336, '\P{^Is_Word_Break= KATAKANA}', "");
-Error('\p{Is_WB=/a/KA}');
-Error('\P{Is_WB=/a/KA}');
-Expect(1, 12341, '\p{Is_WB=ka}', "");
-Expect(0, 12341, '\p{^Is_WB=ka}', "");
-Expect(0, 12341, '\P{Is_WB=ka}', "");
-Expect(1, 12341, '\P{^Is_WB=ka}', "");
-Expect(0, 12336, '\p{Is_WB=ka}', "");
-Expect(1, 12336, '\p{^Is_WB=ka}', "");
-Expect(1, 12336, '\P{Is_WB=ka}', "");
-Expect(0, 12336, '\P{^Is_WB=ka}', "");
-Expect(1, 12341, '\p{Is_WB= KA}', "");
-Expect(0, 12341, '\p{^Is_WB= KA}', "");
-Expect(0, 12341, '\P{Is_WB= KA}', "");
-Expect(1, 12341, '\P{^Is_WB= KA}', "");
-Expect(0, 12336, '\p{Is_WB= KA}', "");
-Expect(1, 12336, '\p{^Is_WB= KA}', "");
-Expect(1, 12336, '\P{Is_WB= KA}', "");
-Expect(0, 12336, '\P{^Is_WB= KA}', "");
-Error('\p{Word_Break: := LF}');
-Error('\P{Word_Break: := LF}');
-Expect(1, 10, '\p{Word_Break=lf}', "");
-Expect(0, 10, '\p{^Word_Break=lf}', "");
-Expect(0, 10, '\P{Word_Break=lf}', "");
-Expect(1, 10, '\P{^Word_Break=lf}', "");
-Expect(0, 9, '\p{Word_Break=lf}', "");
-Expect(1, 9, '\p{^Word_Break=lf}', "");
-Expect(1, 9, '\P{Word_Break=lf}', "");
-Expect(0, 9, '\P{^Word_Break=lf}', "");
-Expect(1, 10, '\p{Word_Break=-LF}', "");
-Expect(0, 10, '\p{^Word_Break=-LF}', "");
-Expect(0, 10, '\P{Word_Break=-LF}', "");
-Expect(1, 10, '\P{^Word_Break=-LF}', "");
-Expect(0, 9, '\p{Word_Break=-LF}', "");
-Expect(1, 9, '\p{^Word_Break=-LF}', "");
-Expect(1, 9, '\P{Word_Break=-LF}', "");
-Expect(0, 9, '\P{^Word_Break=-LF}', "");
-Error('\p{WB= :=LF}');
-Error('\P{WB= :=LF}');
-Expect(1, 10, '\p{WB=lf}', "");
-Expect(0, 10, '\p{^WB=lf}', "");
-Expect(0, 10, '\P{WB=lf}', "");
-Expect(1, 10, '\P{^WB=lf}', "");
-Expect(0, 9, '\p{WB=lf}', "");
-Expect(1, 9, '\p{^WB=lf}', "");
-Expect(1, 9, '\P{WB=lf}', "");
-Expect(0, 9, '\P{^WB=lf}', "");
-Expect(1, 10, '\p{WB=-LF}', "");
-Expect(0, 10, '\p{^WB=-LF}', "");
-Expect(0, 10, '\P{WB=-LF}', "");
-Expect(1, 10, '\P{^WB=-LF}', "");
-Expect(0, 9, '\p{WB=-LF}', "");
-Expect(1, 9, '\p{^WB=-LF}', "");
-Expect(1, 9, '\P{WB=-LF}', "");
-Expect(0, 9, '\P{^WB=-LF}', "");
-Error('\p{Is_Word_Break=:=_ LF}');
-Error('\P{Is_Word_Break=:=_ LF}');
-Expect(1, 10, '\p{Is_Word_Break=lf}', "");
-Expect(0, 10, '\p{^Is_Word_Break=lf}', "");
-Expect(0, 10, '\P{Is_Word_Break=lf}', "");
-Expect(1, 10, '\P{^Is_Word_Break=lf}', "");
-Expect(0, 9, '\p{Is_Word_Break=lf}', "");
-Expect(1, 9, '\p{^Is_Word_Break=lf}', "");
-Expect(1, 9, '\P{Is_Word_Break=lf}', "");
-Expect(0, 9, '\P{^Is_Word_Break=lf}', "");
-Expect(1, 10, '\p{Is_Word_Break= lf}', "");
-Expect(0, 10, '\p{^Is_Word_Break= lf}', "");
-Expect(0, 10, '\P{Is_Word_Break= lf}', "");
-Expect(1, 10, '\P{^Is_Word_Break= lf}', "");
-Expect(0, 9, '\p{Is_Word_Break= lf}', "");
-Expect(1, 9, '\p{^Is_Word_Break= lf}', "");
-Expect(1, 9, '\P{Is_Word_Break= lf}', "");
-Expect(0, 9, '\P{^Is_Word_Break= lf}', "");
-Error('\p{Is_WB=/a/-_LF}');
-Error('\P{Is_WB=/a/-_LF}');
-Expect(1, 10, '\p{Is_WB=lf}', "");
-Expect(0, 10, '\p{^Is_WB=lf}', "");
-Expect(0, 10, '\P{Is_WB=lf}', "");
-Expect(1, 10, '\P{^Is_WB=lf}', "");
-Expect(0, 9, '\p{Is_WB=lf}', "");
-Expect(1, 9, '\p{^Is_WB=lf}', "");
-Expect(1, 9, '\P{Is_WB=lf}', "");
-Expect(0, 9, '\P{^Is_WB=lf}', "");
-Expect(1, 10, '\p{Is_WB=-_LF}', "");
-Expect(0, 10, '\p{^Is_WB=-_LF}', "");
-Expect(0, 10, '\P{Is_WB=-_LF}', "");
-Expect(1, 10, '\P{^Is_WB=-_LF}', "");
-Expect(0, 9, '\p{Is_WB=-_LF}', "");
-Expect(1, 9, '\p{^Is_WB=-_LF}', "");
-Expect(1, 9, '\P{Is_WB=-_LF}', "");
-Expect(0, 9, '\P{^Is_WB=-_LF}', "");
-Error('\p{Changes_When_Casefolded: - Yes/a/}');
-Error('\P{Changes_When_Casefolded: - Yes/a/}');
-Expect(1, 90, '\p{Changes_When_Casefolded=yes}', "");
-Expect(0, 90, '\p{^Changes_When_Casefolded=yes}', "");
-Expect(0, 90, '\P{Changes_When_Casefolded=yes}', "");
-Expect(1, 90, '\P{^Changes_When_Casefolded=yes}', "");
-Expect(0, 64, '\p{Changes_When_Casefolded=yes}', "");
-Expect(1, 64, '\p{^Changes_When_Casefolded=yes}', "");
-Expect(1, 64, '\P{Changes_When_Casefolded=yes}', "");
-Expect(0, 64, '\P{^Changes_When_Casefolded=yes}', "");
-Expect(1, 90, '\p{Changes_When_Casefolded= -YES}', "");
-Expect(0, 90, '\p{^Changes_When_Casefolded= -YES}', "");
-Expect(0, 90, '\P{Changes_When_Casefolded= -YES}', "");
-Expect(1, 90, '\P{^Changes_When_Casefolded= -YES}', "");
-Expect(0, 64, '\p{Changes_When_Casefolded= -YES}', "");
-Expect(1, 64, '\p{^Changes_When_Casefolded= -YES}', "");
-Expect(1, 64, '\P{Changes_When_Casefolded= -YES}', "");
-Expect(0, 64, '\P{^Changes_When_Casefolded= -YES}', "");
-Error('\p{CWCF: /a/Y}');
-Error('\P{CWCF: /a/Y}');
-Expect(1, 90, '\p{CWCF=y}', "");
-Expect(0, 90, '\p{^CWCF=y}', "");
-Expect(0, 90, '\P{CWCF=y}', "");
-Expect(1, 90, '\P{^CWCF=y}', "");
-Expect(0, 64, '\p{CWCF=y}', "");
-Expect(1, 64, '\p{^CWCF=y}', "");
-Expect(1, 64, '\P{CWCF=y}', "");
-Expect(0, 64, '\P{^CWCF=y}', "");
-Expect(1, 90, '\p{CWCF=- Y}', "");
-Expect(0, 90, '\p{^CWCF=- Y}', "");
-Expect(0, 90, '\P{CWCF=- Y}', "");
-Expect(1, 90, '\P{^CWCF=- Y}', "");
-Expect(0, 64, '\p{CWCF=- Y}', "");
-Expect(1, 64, '\p{^CWCF=- Y}', "");
-Expect(1, 64, '\P{CWCF=- Y}', "");
-Expect(0, 64, '\P{^CWCF=- Y}', "");
-Error('\p{Is_Changes_When_Casefolded=/a/ t}');
-Error('\P{Is_Changes_When_Casefolded=/a/ t}');
-Expect(1, 90, '\p{Is_Changes_When_Casefolded=t}', "");
-Expect(0, 90, '\p{^Is_Changes_When_Casefolded=t}', "");
-Expect(0, 90, '\P{Is_Changes_When_Casefolded=t}', "");
-Expect(1, 90, '\P{^Is_Changes_When_Casefolded=t}', "");
-Expect(0, 64, '\p{Is_Changes_When_Casefolded=t}', "");
-Expect(1, 64, '\p{^Is_Changes_When_Casefolded=t}', "");
-Expect(1, 64, '\P{Is_Changes_When_Casefolded=t}', "");
-Expect(0, 64, '\P{^Is_Changes_When_Casefolded=t}', "");
-Expect(1, 90, '\p{Is_Changes_When_Casefolded= T}', "");
-Expect(0, 90, '\p{^Is_Changes_When_Casefolded= T}', "");
-Expect(0, 90, '\P{Is_Changes_When_Casefolded= T}', "");
-Expect(1, 90, '\P{^Is_Changes_When_Casefolded= T}', "");
-Expect(0, 64, '\p{Is_Changes_When_Casefolded= T}', "");
-Expect(1, 64, '\p{^Is_Changes_When_Casefolded= T}', "");
-Expect(1, 64, '\P{Is_Changes_When_Casefolded= T}', "");
-Expect(0, 64, '\P{^Is_Changes_When_Casefolded= T}', "");
-Error('\p{Is_CWCF=_true/a/}');
-Error('\P{Is_CWCF=_true/a/}');
-Expect(1, 90, '\p{Is_CWCF=true}', "");
-Expect(0, 90, '\p{^Is_CWCF=true}', "");
-Expect(0, 90, '\P{Is_CWCF=true}', "");
-Expect(1, 90, '\P{^Is_CWCF=true}', "");
-Expect(0, 64, '\p{Is_CWCF=true}', "");
-Expect(1, 64, '\p{^Is_CWCF=true}', "");
-Expect(1, 64, '\P{Is_CWCF=true}', "");
-Expect(0, 64, '\P{^Is_CWCF=true}', "");
-Expect(1, 90, '\p{Is_CWCF= _True}', "");
-Expect(0, 90, '\p{^Is_CWCF= _True}', "");
-Expect(0, 90, '\P{Is_CWCF= _True}', "");
-Expect(1, 90, '\P{^Is_CWCF= _True}', "");
-Expect(0, 64, '\p{Is_CWCF= _True}', "");
-Expect(1, 64, '\p{^Is_CWCF= _True}', "");
-Expect(1, 64, '\P{Is_CWCF= _True}', "");
-Expect(0, 64, '\P{^Is_CWCF= _True}', "");
-Error('\p{Changes_When_Casefolded=_No/a/}');
-Error('\P{Changes_When_Casefolded=_No/a/}');
-Expect(1, 64, '\p{Changes_When_Casefolded=no}', "");
-Expect(0, 64, '\p{^Changes_When_Casefolded=no}', "");
-Expect(0, 64, '\P{Changes_When_Casefolded=no}', "");
-Expect(1, 64, '\P{^Changes_When_Casefolded=no}', "");
-Expect(0, 90, '\p{Changes_When_Casefolded=no}', "");
-Expect(1, 90, '\p{^Changes_When_Casefolded=no}', "");
-Expect(1, 90, '\P{Changes_When_Casefolded=no}', "");
-Expect(0, 90, '\P{^Changes_When_Casefolded=no}', "");
-Expect(1, 64, '\p{Changes_When_Casefolded=_-No}', "");
-Expect(0, 64, '\p{^Changes_When_Casefolded=_-No}', "");
-Expect(0, 64, '\P{Changes_When_Casefolded=_-No}', "");
-Expect(1, 64, '\P{^Changes_When_Casefolded=_-No}', "");
-Expect(0, 90, '\p{Changes_When_Casefolded=_-No}', "");
-Expect(1, 90, '\p{^Changes_When_Casefolded=_-No}', "");
-Expect(1, 90, '\P{Changes_When_Casefolded=_-No}', "");
-Expect(0, 90, '\P{^Changes_When_Casefolded=_-No}', "");
-Error('\p{CWCF: :=N}');
-Error('\P{CWCF: :=N}');
-Expect(1, 64, '\p{CWCF=n}', "");
-Expect(0, 64, '\p{^CWCF=n}', "");
-Expect(0, 64, '\P{CWCF=n}', "");
-Expect(1, 64, '\P{^CWCF=n}', "");
-Expect(0, 90, '\p{CWCF=n}', "");
-Expect(1, 90, '\p{^CWCF=n}', "");
-Expect(1, 90, '\P{CWCF=n}', "");
-Expect(0, 90, '\P{^CWCF=n}', "");
-Expect(1, 64, '\p{CWCF= n}', "");
-Expect(0, 64, '\p{^CWCF= n}', "");
-Expect(0, 64, '\P{CWCF= n}', "");
-Expect(1, 64, '\P{^CWCF= n}', "");
-Expect(0, 90, '\p{CWCF= n}', "");
-Expect(1, 90, '\p{^CWCF= n}', "");
-Expect(1, 90, '\P{CWCF= n}', "");
-Expect(0, 90, '\P{^CWCF= n}', "");
-Error('\p{Is_Changes_When_Casefolded=/a/f}');
-Error('\P{Is_Changes_When_Casefolded=/a/f}');
-Expect(1, 64, '\p{Is_Changes_When_Casefolded=f}', "");
-Expect(0, 64, '\p{^Is_Changes_When_Casefolded=f}', "");
-Expect(0, 64, '\P{Is_Changes_When_Casefolded=f}', "");
-Expect(1, 64, '\P{^Is_Changes_When_Casefolded=f}', "");
-Expect(0, 90, '\p{Is_Changes_When_Casefolded=f}', "");
-Expect(1, 90, '\p{^Is_Changes_When_Casefolded=f}', "");
-Expect(1, 90, '\P{Is_Changes_When_Casefolded=f}', "");
-Expect(0, 90, '\P{^Is_Changes_When_Casefolded=f}', "");
-Expect(1, 64, '\p{Is_Changes_When_Casefolded=_-f}', "");
-Expect(0, 64, '\p{^Is_Changes_When_Casefolded=_-f}', "");
-Expect(0, 64, '\P{Is_Changes_When_Casefolded=_-f}', "");
-Expect(1, 64, '\P{^Is_Changes_When_Casefolded=_-f}', "");
-Expect(0, 90, '\p{Is_Changes_When_Casefolded=_-f}', "");
-Expect(1, 90, '\p{^Is_Changes_When_Casefolded=_-f}', "");
-Expect(1, 90, '\P{Is_Changes_When_Casefolded=_-f}', "");
-Expect(0, 90, '\P{^Is_Changes_When_Casefolded=_-f}', "");
-Error('\p{Is_CWCF=/a/_ False}');
-Error('\P{Is_CWCF=/a/_ False}');
-Expect(1, 64, '\p{Is_CWCF=false}', "");
-Expect(0, 64, '\p{^Is_CWCF=false}', "");
-Expect(0, 64, '\P{Is_CWCF=false}', "");
-Expect(1, 64, '\P{^Is_CWCF=false}', "");
-Expect(0, 90, '\p{Is_CWCF=false}', "");
-Expect(1, 90, '\p{^Is_CWCF=false}', "");
-Expect(1, 90, '\P{Is_CWCF=false}', "");
-Expect(0, 90, '\P{^Is_CWCF=false}', "");
-Expect(1, 64, '\p{Is_CWCF: FALSE}', "");
-Expect(0, 64, '\p{^Is_CWCF: FALSE}', "");
-Expect(0, 64, '\P{Is_CWCF: FALSE}', "");
-Expect(1, 64, '\P{^Is_CWCF: FALSE}', "");
-Expect(0, 90, '\p{Is_CWCF: FALSE}', "");
-Expect(1, 90, '\p{^Is_CWCF: FALSE}', "");
-Expect(1, 90, '\P{Is_CWCF: FALSE}', "");
-Expect(0, 90, '\P{^Is_CWCF: FALSE}', "");
-Error('\p{ :=Gothic}');
-Error('\P{ :=Gothic}');
-Expect(1, 66378, '\p{gothic}', "");
-Expect(0, 66378, '\p{^gothic}', "");
-Expect(0, 66378, '\P{gothic}', "");
-Expect(1, 66378, '\P{^gothic}', "");
-Expect(0, 66351, '\p{gothic}', "");
-Expect(1, 66351, '\p{^gothic}', "");
-Expect(1, 66351, '\P{gothic}', "");
-Expect(0, 66351, '\P{^gothic}', "");
-Expect(1, 66378, '\p{- Gothic}', "");
-Expect(0, 66378, '\p{^- Gothic}', "");
-Expect(0, 66378, '\P{- Gothic}', "");
-Expect(1, 66378, '\P{^- Gothic}', "");
-Expect(0, 66351, '\p{- Gothic}', "");
-Expect(1, 66351, '\p{^- Gothic}', "");
-Expect(1, 66351, '\P{- Gothic}', "");
-Expect(0, 66351, '\P{^- Gothic}', "");
-Error('\p{-:=Is-GOTHIC}');
-Error('\P{-:=Is-GOTHIC}');
-Expect(1, 66378, '\p{isgothic}', "");
-Expect(0, 66378, '\p{^isgothic}', "");
-Expect(0, 66378, '\P{isgothic}', "");
-Expect(1, 66378, '\P{^isgothic}', "");
-Expect(0, 66351, '\p{isgothic}', "");
-Expect(1, 66351, '\p{^isgothic}', "");
-Expect(1, 66351, '\P{isgothic}', "");
-Expect(0, 66351, '\P{^isgothic}', "");
-Expect(1, 66378, '\p{_Is Gothic}', "");
-Expect(0, 66378, '\p{^_Is Gothic}', "");
-Expect(0, 66378, '\P{_Is Gothic}', "");
-Expect(1, 66378, '\P{^_Is Gothic}', "");
-Expect(0, 66351, '\p{_Is Gothic}', "");
-Expect(1, 66351, '\p{^_Is Gothic}', "");
-Expect(1, 66351, '\P{_Is Gothic}', "");
-Expect(0, 66351, '\P{^_Is Gothic}', "");
-Error('\p{ /a/Goth}');
-Error('\P{ /a/Goth}');
-Expect(1, 66378, '\p{goth}', "");
-Expect(0, 66378, '\p{^goth}', "");
-Expect(0, 66378, '\P{goth}', "");
-Expect(1, 66378, '\P{^goth}', "");
-Expect(0, 66351, '\p{goth}', "");
-Expect(1, 66351, '\p{^goth}', "");
-Expect(1, 66351, '\P{goth}', "");
-Expect(0, 66351, '\P{^goth}', "");
-Expect(1, 66378, '\p{_goth}', "");
-Expect(0, 66378, '\p{^_goth}', "");
-Expect(0, 66378, '\P{_goth}', "");
-Expect(1, 66378, '\P{^_goth}', "");
-Expect(0, 66351, '\p{_goth}', "");
-Expect(1, 66351, '\p{^_goth}', "");
-Expect(1, 66351, '\P{_goth}', "");
-Expect(0, 66351, '\P{^_goth}', "");
-Error('\p{ -IS_Goth:=}');
-Error('\P{ -IS_Goth:=}');
-Expect(1, 66378, '\p{isgoth}', "");
-Expect(0, 66378, '\p{^isgoth}', "");
-Expect(0, 66378, '\P{isgoth}', "");
-Expect(1, 66378, '\P{^isgoth}', "");
-Expect(0, 66351, '\p{isgoth}', "");
-Expect(1, 66351, '\p{^isgoth}', "");
-Expect(1, 66351, '\P{isgoth}', "");
-Expect(0, 66351, '\P{^isgoth}', "");
-Expect(1, 66378, '\p{ _IS GOTH}', "");
-Expect(0, 66378, '\p{^ _IS GOTH}', "");
-Expect(0, 66378, '\P{ _IS GOTH}', "");
-Expect(1, 66378, '\P{^ _IS GOTH}', "");
-Expect(0, 66351, '\p{ _IS GOTH}', "");
-Expect(1, 66351, '\p{^ _IS GOTH}', "");
-Expect(1, 66351, '\P{ _IS GOTH}', "");
-Expect(0, 66351, '\P{^ _IS GOTH}', "");
-Error('\p{:= BLANK}');
-Error('\P{:= BLANK}');
-Expect(1, 9, '\p{blank}', "");
-Expect(0, 9, '\p{^blank}', "");
-Expect(0, 9, '\P{blank}', "");
-Expect(1, 9, '\P{^blank}', "");
-Expect(0, 8, '\p{blank}', "");
-Expect(1, 8, '\p{^blank}', "");
-Expect(1, 8, '\P{blank}', "");
-Expect(0, 8, '\P{^blank}', "");
-Expect(1, 9, '\p{ Blank}', "");
-Expect(0, 9, '\p{^ Blank}', "");
-Expect(0, 9, '\P{ Blank}', "");
-Expect(1, 9, '\P{^ Blank}', "");
-Expect(0, 8, '\p{ Blank}', "");
-Expect(1, 8, '\p{^ Blank}', "");
-Expect(1, 8, '\P{ Blank}', "");
-Expect(0, 8, '\P{^ Blank}', "");
-Error('\p{_/a/horizspace}');
-Error('\P{_/a/horizspace}');
-Expect(1, 9, '\p{horizspace}', "");
-Expect(0, 9, '\p{^horizspace}', "");
-Expect(0, 9, '\P{horizspace}', "");
-Expect(1, 9, '\P{^horizspace}', "");
-Expect(0, 8, '\p{horizspace}', "");
-Expect(1, 8, '\p{^horizspace}', "");
-Expect(1, 8, '\P{horizspace}', "");
-Expect(0, 8, '\P{^horizspace}', "");
-Expect(1, 9, '\p{-HorizSpace}', "");
-Expect(0, 9, '\p{^-HorizSpace}', "");
-Expect(0, 9, '\P{-HorizSpace}', "");
-Expect(1, 9, '\P{^-HorizSpace}', "");
-Expect(0, 8, '\p{-HorizSpace}', "");
-Expect(1, 8, '\p{^-HorizSpace}', "");
-Expect(1, 8, '\P{-HorizSpace}', "");
-Expect(0, 8, '\P{^-HorizSpace}', "");
-Error('\p{ /a/Is_blank}');
-Error('\P{ /a/Is_blank}');
-Expect(1, 9, '\p{isblank}', "");
-Expect(0, 9, '\p{^isblank}', "");
-Expect(0, 9, '\P{isblank}', "");
-Expect(1, 9, '\P{^isblank}', "");
-Expect(0, 8, '\p{isblank}', "");
-Expect(1, 8, '\p{^isblank}', "");
-Expect(1, 8, '\P{isblank}', "");
-Expect(0, 8, '\P{^isblank}', "");
-Expect(1, 9, '\p{-Is blank}', "");
-Expect(0, 9, '\p{^-Is blank}', "");
-Expect(0, 9, '\P{-Is blank}', "");
-Expect(1, 9, '\P{^-Is blank}', "");
-Expect(0, 8, '\p{-Is blank}', "");
-Expect(1, 8, '\p{^-Is blank}', "");
-Expect(1, 8, '\P{-Is blank}', "");
-Expect(0, 8, '\P{^-Is blank}', "");
-Error('\p{_IS:=HORIZSPACE}');
-Error('\P{_IS:=HORIZSPACE}');
-Expect(1, 9, '\p{ishorizspace}', "");
-Expect(0, 9, '\p{^ishorizspace}', "");
-Expect(0, 9, '\P{ishorizspace}', "");
-Expect(1, 9, '\P{^ishorizspace}', "");
-Expect(0, 8, '\p{ishorizspace}', "");
-Expect(1, 8, '\p{^ishorizspace}', "");
-Expect(1, 8, '\P{ishorizspace}', "");
-Expect(0, 8, '\P{^ishorizspace}', "");
-Expect(1, 9, '\p{_is HorizSpace}', "");
-Expect(0, 9, '\p{^_is HorizSpace}', "");
-Expect(0, 9, '\P{_is HorizSpace}', "");
-Expect(1, 9, '\P{^_is HorizSpace}', "");
-Expect(0, 8, '\p{_is HorizSpace}', "");
-Expect(1, 8, '\p{^_is HorizSpace}', "");
-Expect(1, 8, '\P{_is HorizSpace}', "");
-Expect(0, 8, '\P{^_is HorizSpace}', "");
-Error('\p{ combining/a/diacritical marks}');
-Error('\P{ combining/a/diacritical marks}');
-Expect(1, 879, '\p{combiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^combiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{combiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^combiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{combiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^combiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{combiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^combiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{ Combining DIACRITICAL_marks}', "");
-Expect(0, 879, '\p{^ Combining DIACRITICAL_marks}', "");
-Expect(0, 879, '\P{ Combining DIACRITICAL_marks}', "");
-Expect(1, 879, '\P{^ Combining DIACRITICAL_marks}', "");
-Expect(0, 767, '\p{ Combining DIACRITICAL_marks}', "");
-Expect(1, 767, '\p{^ Combining DIACRITICAL_marks}', "");
-Expect(1, 767, '\P{ Combining DIACRITICAL_marks}', "");
-Expect(0, 767, '\P{^ Combining DIACRITICAL_marks}', "");
-Error('\p{ IScombining diacritical:=marks}');
-Error('\P{ IScombining diacritical:=marks}');
-Expect(1, 879, '\p{iscombiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^iscombiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{iscombiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^iscombiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{iscombiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^iscombiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{iscombiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^iscombiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{ Is_combining Diacritical Marks}', "");
-Expect(0, 879, '\p{^ Is_combining Diacritical Marks}', "");
-Expect(0, 879, '\P{ Is_combining Diacritical Marks}', "");
-Expect(1, 879, '\P{^ Is_combining Diacritical Marks}', "");
-Expect(0, 767, '\p{ Is_combining Diacritical Marks}', "");
-Expect(1, 767, '\p{^ Is_combining Diacritical Marks}', "");
-Expect(1, 767, '\P{ Is_combining Diacritical Marks}', "");
-Expect(0, 767, '\P{^ Is_combining Diacritical Marks}', "");
-Error('\p{ in-combining diacritical-Marks:=}');
-Error('\P{ in-combining diacritical-Marks:=}');
-Expect(1, 879, '\p{incombiningdiacriticalmarks}', "");
-Expect(0, 879, '\p{^incombiningdiacriticalmarks}', "");
-Expect(0, 879, '\P{incombiningdiacriticalmarks}', "");
-Expect(1, 879, '\P{^incombiningdiacriticalmarks}', "");
-Expect(0, 767, '\p{incombiningdiacriticalmarks}', "");
-Expect(1, 767, '\p{^incombiningdiacriticalmarks}', "");
-Expect(1, 767, '\P{incombiningdiacriticalmarks}', "");
-Expect(0, 767, '\P{^incombiningdiacriticalmarks}', "");
-Expect(1, 879, '\p{-InCombining-DIACRITICAL-Marks}', "");
-Expect(0, 879, '\p{^-InCombining-DIACRITICAL-Marks}', "");
-Expect(0, 879, '\P{-InCombining-DIACRITICAL-Marks}', "");
-Expect(1, 879, '\P{^-InCombining-DIACRITICAL-Marks}', "");
-Expect(0, 767, '\p{-InCombining-DIACRITICAL-Marks}', "");
-Expect(1, 767, '\p{^-InCombining-DIACRITICAL-Marks}', "");
-Expect(1, 767, '\P{-InCombining-DIACRITICAL-Marks}', "");
-Expect(0, 767, '\P{^-InCombining-DIACRITICAL-Marks}', "");
-Error('\p{ /a/InscriptionalParthian}');
-Error('\P{ /a/InscriptionalParthian}');
-Expect(1, 68437, '\p{inscriptionalparthian}', "");
-Expect(0, 68437, '\p{^inscriptionalparthian}', "");
-Expect(0, 68437, '\P{inscriptionalparthian}', "");
-Expect(1, 68437, '\P{^inscriptionalparthian}', "");
-Expect(0, 68415, '\p{inscriptionalparthian}', "");
-Expect(1, 68415, '\p{^inscriptionalparthian}', "");
-Expect(1, 68415, '\P{inscriptionalparthian}', "");
-Expect(0, 68415, '\P{^inscriptionalparthian}', "");
-Expect(1, 68437, '\p{--inscriptional-PARTHIAN}', "");
-Expect(0, 68437, '\p{^--inscriptional-PARTHIAN}', "");
-Expect(0, 68437, '\P{--inscriptional-PARTHIAN}', "");
-Expect(1, 68437, '\P{^--inscriptional-PARTHIAN}', "");
-Expect(0, 68415, '\p{--inscriptional-PARTHIAN}', "");
-Expect(1, 68415, '\p{^--inscriptional-PARTHIAN}', "");
-Expect(1, 68415, '\P{--inscriptional-PARTHIAN}', "");
-Expect(0, 68415, '\P{^--inscriptional-PARTHIAN}', "");
-Error('\p{_-IS Inscriptional:=Parthian}');
-Error('\P{_-IS Inscriptional:=Parthian}');
-Expect(1, 68437, '\p{isinscriptionalparthian}', "");
-Expect(0, 68437, '\p{^isinscriptionalparthian}', "");
-Expect(0, 68437, '\P{isinscriptionalparthian}', "");
-Expect(1, 68437, '\P{^isinscriptionalparthian}', "");
-Expect(0, 68415, '\p{isinscriptionalparthian}', "");
-Expect(1, 68415, '\p{^isinscriptionalparthian}', "");
-Expect(1, 68415, '\P{isinscriptionalparthian}', "");
-Expect(0, 68415, '\P{^isinscriptionalparthian}', "");
-Expect(1, 68437, '\p{__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68437, '\p{^__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68437, '\P{__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(1, 68437, '\P{^__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68415, '\p{__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(1, 68415, '\p{^__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(1, 68415, '\P{__IS-INSCRIPTIONAL-Parthian}', "");
-Expect(0, 68415, '\P{^__IS-INSCRIPTIONAL-Parthian}', "");
-Error('\p{ prti/a/}');
-Error('\P{ prti/a/}');
-Expect(1, 68437, '\p{prti}', "");
-Expect(0, 68437, '\p{^prti}', "");
-Expect(0, 68437, '\P{prti}', "");
-Expect(1, 68437, '\P{^prti}', "");
-Expect(0, 68415, '\p{prti}', "");
-Expect(1, 68415, '\p{^prti}', "");
-Expect(1, 68415, '\P{prti}', "");
-Expect(0, 68415, '\P{^prti}', "");
-Expect(1, 68437, '\p{-Prti}', "");
-Expect(0, 68437, '\p{^-Prti}', "");
-Expect(0, 68437, '\P{-Prti}', "");
-Expect(1, 68437, '\P{^-Prti}', "");
-Expect(0, 68415, '\p{-Prti}', "");
-Expect(1, 68415, '\p{^-Prti}', "");
-Expect(1, 68415, '\P{-Prti}', "");
-Expect(0, 68415, '\P{^-Prti}', "");
-Error('\p{:=_Is Prti}');
-Error('\P{:=_Is Prti}');
-Expect(1, 68437, '\p{isprti}', "");
-Expect(0, 68437, '\p{^isprti}', "");
-Expect(0, 68437, '\P{isprti}', "");
-Expect(1, 68437, '\P{^isprti}', "");
-Expect(0, 68415, '\p{isprti}', "");
-Expect(1, 68415, '\p{^isprti}', "");
-Expect(1, 68415, '\P{isprti}', "");
-Expect(0, 68415, '\P{^isprti}', "");
-Expect(1, 68437, '\p{_Is_Prti}', "");
-Expect(0, 68437, '\p{^_Is_Prti}', "");
-Expect(0, 68437, '\P{_Is_Prti}', "");
-Expect(1, 68437, '\P{^_Is_Prti}', "");
-Expect(0, 68415, '\p{_Is_Prti}', "");
-Expect(1, 68415, '\p{^_Is_Prti}', "");
-Expect(1, 68415, '\P{_Is_Prti}', "");
-Expect(0, 68415, '\P{^_Is_Prti}', "");
-Error('\p{ Devanagari Extended/a/}');
-Error('\P{ Devanagari Extended/a/}');
-Expect(1, 43263, '\p{devanagariextended}', "");
-Expect(0, 43263, '\p{^devanagariextended}', "");
-Expect(0, 43263, '\P{devanagariextended}', "");
-Expect(1, 43263, '\P{^devanagariextended}', "");
-Expect(0, 43231, '\p{devanagariextended}', "");
-Expect(1, 43231, '\p{^devanagariextended}', "");
-Expect(1, 43231, '\P{devanagariextended}', "");
-Expect(0, 43231, '\P{^devanagariextended}', "");
-Expect(1, 43263, '\p{ -Devanagari-Extended}', "");
-Expect(0, 43263, '\p{^ -Devanagari-Extended}', "");
-Expect(0, 43263, '\P{ -Devanagari-Extended}', "");
-Expect(1, 43263, '\P{^ -Devanagari-Extended}', "");
-Expect(0, 43231, '\p{ -Devanagari-Extended}', "");
-Expect(1, 43231, '\p{^ -Devanagari-Extended}', "");
-Expect(1, 43231, '\P{ -Devanagari-Extended}', "");
-Expect(0, 43231, '\P{^ -Devanagari-Extended}', "");
-Error('\p{:=Is devanagari Extended}');
-Error('\P{:=Is devanagari Extended}');
-Expect(1, 43263, '\p{isdevanagariextended}', "");
-Expect(0, 43263, '\p{^isdevanagariextended}', "");
-Expect(0, 43263, '\P{isdevanagariextended}', "");
-Expect(1, 43263, '\P{^isdevanagariextended}', "");
-Expect(0, 43231, '\p{isdevanagariextended}', "");
-Expect(1, 43231, '\p{^isdevanagariextended}', "");
-Expect(1, 43231, '\P{isdevanagariextended}', "");
-Expect(0, 43231, '\P{^isdevanagariextended}', "");
-Expect(1, 43263, '\p{ IS Devanagari EXTENDED}', "");
-Expect(0, 43263, '\p{^ IS Devanagari EXTENDED}', "");
-Expect(0, 43263, '\P{ IS Devanagari EXTENDED}', "");
-Expect(1, 43263, '\P{^ IS Devanagari EXTENDED}', "");
-Expect(0, 43231, '\p{ IS Devanagari EXTENDED}', "");
-Expect(1, 43231, '\p{^ IS Devanagari EXTENDED}', "");
-Expect(1, 43231, '\P{ IS Devanagari EXTENDED}', "");
-Expect(0, 43231, '\P{^ IS Devanagari EXTENDED}', "");
-Error('\p{ IN/a/Devanagari EXTENDED}');
-Error('\P{ IN/a/Devanagari EXTENDED}');
-Expect(1, 43263, '\p{indevanagariextended}', "");
-Expect(0, 43263, '\p{^indevanagariextended}', "");
-Expect(0, 43263, '\P{indevanagariextended}', "");
-Expect(1, 43263, '\P{^indevanagariextended}', "");
-Expect(0, 43231, '\p{indevanagariextended}', "");
-Expect(1, 43231, '\p{^indevanagariextended}', "");
-Expect(1, 43231, '\P{indevanagariextended}', "");
-Expect(0, 43231, '\P{^indevanagariextended}', "");
-Expect(1, 43263, '\p{_In DEVANAGARIextended}', "");
-Expect(0, 43263, '\p{^_In DEVANAGARIextended}', "");
-Expect(0, 43263, '\P{_In DEVANAGARIextended}', "");
-Expect(1, 43263, '\P{^_In DEVANAGARIextended}', "");
-Expect(0, 43231, '\p{_In DEVANAGARIextended}', "");
-Expect(1, 43231, '\p{^_In DEVANAGARIextended}', "");
-Expect(1, 43231, '\P{_In DEVANAGARIextended}', "");
-Expect(0, 43231, '\P{^_In DEVANAGARIextended}', "");
-Error('\p{-ethiopicSupplement:=}');
-Error('\P{-ethiopicSupplement:=}');
-Expect(1, 5023, '\p{ethiopicsupplement}', "");
-Expect(0, 5023, '\p{^ethiopicsupplement}', "");
-Expect(0, 5023, '\P{ethiopicsupplement}', "");
-Expect(1, 5023, '\P{^ethiopicsupplement}', "");
-Expect(0, 4991, '\p{ethiopicsupplement}', "");
-Expect(1, 4991, '\p{^ethiopicsupplement}', "");
-Expect(1, 4991, '\P{ethiopicsupplement}', "");
-Expect(0, 4991, '\P{^ethiopicsupplement}', "");
-Expect(1, 5023, '\p{ETHIOPICSUPPLEMENT}', "");
-Expect(0, 5023, '\p{^ETHIOPICSUPPLEMENT}', "");
-Expect(0, 5023, '\P{ETHIOPICSUPPLEMENT}', "");
-Expect(1, 5023, '\P{^ETHIOPICSUPPLEMENT}', "");
-Expect(0, 4991, '\p{ETHIOPICSUPPLEMENT}', "");
-Expect(1, 4991, '\p{^ETHIOPICSUPPLEMENT}', "");
-Expect(1, 4991, '\P{ETHIOPICSUPPLEMENT}', "");
-Expect(0, 4991, '\P{^ETHIOPICSUPPLEMENT}', "");
-Error('\p{-/a/Is-Ethiopic-SUPPLEMENT}');
-Error('\P{-/a/Is-Ethiopic-SUPPLEMENT}');
-Expect(1, 5023, '\p{isethiopicsupplement}', "");
-Expect(0, 5023, '\p{^isethiopicsupplement}', "");
-Expect(0, 5023, '\P{isethiopicsupplement}', "");
-Expect(1, 5023, '\P{^isethiopicsupplement}', "");
-Expect(0, 4991, '\p{isethiopicsupplement}', "");
-Expect(1, 4991, '\p{^isethiopicsupplement}', "");
-Expect(1, 4991, '\P{isethiopicsupplement}', "");
-Expect(0, 4991, '\P{^isethiopicsupplement}', "");
-Expect(1, 5023, '\p{ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(0, 5023, '\p{^ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(0, 5023, '\P{ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(1, 5023, '\P{^ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(0, 4991, '\p{ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(1, 4991, '\p{^ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(1, 4991, '\P{ is_ETHIOPIC-SUPPLEMENT}', "");
-Expect(0, 4991, '\P{^ is_ETHIOPIC-SUPPLEMENT}', "");
-Error('\p{_in ethiopic:=Supplement}');
-Error('\P{_in ethiopic:=Supplement}');
-Expect(1, 5023, '\p{inethiopicsupplement}', "");
-Expect(0, 5023, '\p{^inethiopicsupplement}', "");
-Expect(0, 5023, '\P{inethiopicsupplement}', "");
-Expect(1, 5023, '\P{^inethiopicsupplement}', "");
-Expect(0, 4991, '\p{inethiopicsupplement}', "");
-Expect(1, 4991, '\p{^inethiopicsupplement}', "");
-Expect(1, 4991, '\P{inethiopicsupplement}', "");
-Expect(0, 4991, '\P{^inethiopicsupplement}', "");
-Expect(1, 5023, '\p{__In ethiopicSupplement}', "");
-Expect(0, 5023, '\p{^__In ethiopicSupplement}', "");
-Expect(0, 5023, '\P{__In ethiopicSupplement}', "");
-Expect(1, 5023, '\P{^__In ethiopicSupplement}', "");
-Expect(0, 4991, '\p{__In ethiopicSupplement}', "");
-Expect(1, 4991, '\p{^__In ethiopicSupplement}', "");
-Expect(1, 4991, '\P{__In ethiopicSupplement}', "");
-Expect(0, 4991, '\P{^__In ethiopicSupplement}', "");
-Error('\p{ -dingbats/a/}');
-Error('\P{ -dingbats/a/}');
-Expect(1, 10175, '\p{dingbats}', "");
-Expect(0, 10175, '\p{^dingbats}', "");
-Expect(0, 10175, '\P{dingbats}', "");
-Expect(1, 10175, '\P{^dingbats}', "");
-Expect(0, 9983, '\p{dingbats}', "");
-Expect(1, 9983, '\p{^dingbats}', "");
-Expect(1, 9983, '\P{dingbats}', "");
-Expect(0, 9983, '\P{^dingbats}', "");
-Expect(1, 10175, '\p{ -Dingbats}', "");
-Expect(0, 10175, '\p{^ -Dingbats}', "");
-Expect(0, 10175, '\P{ -Dingbats}', "");
-Expect(1, 10175, '\P{^ -Dingbats}', "");
-Expect(0, 9983, '\p{ -Dingbats}', "");
-Expect(1, 9983, '\p{^ -Dingbats}', "");
-Expect(1, 9983, '\P{ -Dingbats}', "");
-Expect(0, 9983, '\P{^ -Dingbats}', "");
-Error('\p{/a/is Dingbats}');
-Error('\P{/a/is Dingbats}');
-Expect(1, 10175, '\p{isdingbats}', "");
-Expect(0, 10175, '\p{^isdingbats}', "");
-Expect(0, 10175, '\P{isdingbats}', "");
-Expect(1, 10175, '\P{^isdingbats}', "");
-Expect(0, 9983, '\p{isdingbats}', "");
-Expect(1, 9983, '\p{^isdingbats}', "");
-Expect(1, 9983, '\P{isdingbats}', "");
-Expect(0, 9983, '\P{^isdingbats}', "");
-Expect(1, 10175, '\p{-_is_dingbats}', "");
-Expect(0, 10175, '\p{^-_is_dingbats}', "");
-Expect(0, 10175, '\P{-_is_dingbats}', "");
-Expect(1, 10175, '\P{^-_is_dingbats}', "");
-Expect(0, 9983, '\p{-_is_dingbats}', "");
-Expect(1, 9983, '\p{^-_is_dingbats}', "");
-Expect(1, 9983, '\P{-_is_dingbats}', "");
-Expect(0, 9983, '\P{^-_is_dingbats}', "");
-Error('\p{ :=In-dingbats}');
-Error('\P{ :=In-dingbats}');
-Expect(1, 10175, '\p{indingbats}', "");
-Expect(0, 10175, '\p{^indingbats}', "");
-Expect(0, 10175, '\P{indingbats}', "");
-Expect(1, 10175, '\P{^indingbats}', "");
-Expect(0, 9983, '\p{indingbats}', "");
-Expect(1, 9983, '\p{^indingbats}', "");
-Expect(1, 9983, '\P{indingbats}', "");
-Expect(0, 9983, '\P{^indingbats}', "");
-Expect(1, 10175, '\p{-In_DINGBATS}', "");
-Expect(0, 10175, '\p{^-In_DINGBATS}', "");
-Expect(0, 10175, '\P{-In_DINGBATS}', "");
-Expect(1, 10175, '\P{^-In_DINGBATS}', "");
-Expect(0, 9983, '\p{-In_DINGBATS}', "");
-Expect(1, 9983, '\p{^-In_DINGBATS}', "");
-Expect(1, 9983, '\P{-In_DINGBATS}', "");
-Expect(0, 9983, '\P{^-In_DINGBATS}', "");
-Error('\p{ /a/Logical Order exception}');
-Error('\P{ /a/Logical Order exception}');
-Expect(1, 3652, '\p{logicalorderexception}', "");
-Expect(0, 3652, '\p{^logicalorderexception}', "");
-Expect(0, 3652, '\P{logicalorderexception}', "");
-Expect(1, 3652, '\P{^logicalorderexception}', "");
-Expect(0, 3647, '\p{logicalorderexception}', "");
-Expect(1, 3647, '\p{^logicalorderexception}', "");
-Expect(1, 3647, '\P{logicalorderexception}', "");
-Expect(0, 3647, '\P{^logicalorderexception}', "");
-Expect(1, 3652, '\p{ LOGICAL Order Exception}', "");
-Expect(0, 3652, '\p{^ LOGICAL Order Exception}', "");
-Expect(0, 3652, '\P{ LOGICAL Order Exception}', "");
-Expect(1, 3652, '\P{^ LOGICAL Order Exception}', "");
-Expect(0, 3647, '\p{ LOGICAL Order Exception}', "");
-Expect(1, 3647, '\p{^ LOGICAL Order Exception}', "");
-Expect(1, 3647, '\P{ LOGICAL Order Exception}', "");
-Expect(0, 3647, '\P{^ LOGICAL Order Exception}', "");
-Error('\p{_:=Is_Logical_order Exception}');
-Error('\P{_:=Is_Logical_order Exception}');
-Expect(1, 3652, '\p{islogicalorderexception}', "");
-Expect(0, 3652, '\p{^islogicalorderexception}', "");
-Expect(0, 3652, '\P{islogicalorderexception}', "");
-Expect(1, 3652, '\P{^islogicalorderexception}', "");
-Expect(0, 3647, '\p{islogicalorderexception}', "");
-Expect(1, 3647, '\p{^islogicalorderexception}', "");
-Expect(1, 3647, '\P{islogicalorderexception}', "");
-Expect(0, 3647, '\P{^islogicalorderexception}', "");
-Expect(1, 3652, '\p{_ISlogicalORDER-Exception}', "");
-Expect(0, 3652, '\p{^_ISlogicalORDER-Exception}', "");
-Expect(0, 3652, '\P{_ISlogicalORDER-Exception}', "");
-Expect(1, 3652, '\P{^_ISlogicalORDER-Exception}', "");
-Expect(0, 3647, '\p{_ISlogicalORDER-Exception}', "");
-Expect(1, 3647, '\p{^_ISlogicalORDER-Exception}', "");
-Expect(1, 3647, '\P{_ISlogicalORDER-Exception}', "");
-Expect(0, 3647, '\P{^_ISlogicalORDER-Exception}', "");
-Error('\p{:=__LOE}');
-Error('\P{:=__LOE}');
-Expect(1, 3652, '\p{loe}', "");
-Expect(0, 3652, '\p{^loe}', "");
-Expect(0, 3652, '\P{loe}', "");
-Expect(1, 3652, '\P{^loe}', "");
-Expect(0, 3647, '\p{loe}', "");
-Expect(1, 3647, '\p{^loe}', "");
-Expect(1, 3647, '\P{loe}', "");
-Expect(0, 3647, '\P{^loe}', "");
-Expect(1, 3652, '\p{ LOE}', "");
-Expect(0, 3652, '\p{^ LOE}', "");
-Expect(0, 3652, '\P{ LOE}', "");
-Expect(1, 3652, '\P{^ LOE}', "");
-Expect(0, 3647, '\p{ LOE}', "");
-Expect(1, 3647, '\p{^ LOE}', "");
-Expect(1, 3647, '\P{ LOE}', "");
-Expect(0, 3647, '\P{^ LOE}', "");
-Error('\p{Is LOE/a/}');
-Error('\P{Is LOE/a/}');
-Expect(1, 3652, '\p{isloe}', "");
-Expect(0, 3652, '\p{^isloe}', "");
-Expect(0, 3652, '\P{isloe}', "");
-Expect(1, 3652, '\P{^isloe}', "");
-Expect(0, 3647, '\p{isloe}', "");
-Expect(1, 3647, '\p{^isloe}', "");
-Expect(1, 3647, '\P{isloe}', "");
-Expect(0, 3647, '\P{^isloe}', "");
-Expect(1, 3652, '\p{_-is_loe}', "");
-Expect(0, 3652, '\p{^_-is_loe}', "");
-Expect(0, 3652, '\P{_-is_loe}', "");
-Expect(1, 3652, '\P{^_-is_loe}', "");
-Expect(0, 3647, '\p{_-is_loe}', "");
-Expect(1, 3647, '\p{^_-is_loe}', "");
-Expect(1, 3647, '\P{_-is_loe}', "");
-Expect(0, 3647, '\P{^_-is_loe}', "");
-Error('\p{_-In-LYCIAN:=}');
-Error('\P{_-In-LYCIAN:=}');
-Expect(1, 66207, '\p{inlycian}', "");
-Expect(0, 66207, '\p{^inlycian}', "");
-Expect(0, 66207, '\P{inlycian}', "");
-Expect(1, 66207, '\P{^inlycian}', "");
-Expect(0, 66175, '\p{inlycian}', "");
-Expect(1, 66175, '\p{^inlycian}', "");
-Expect(1, 66175, '\P{inlycian}', "");
-Expect(0, 66175, '\P{^inlycian}', "");
-Expect(1, 66207, '\p{ IN_LYCIAN}', "");
-Expect(0, 66207, '\p{^ IN_LYCIAN}', "");
-Expect(0, 66207, '\P{ IN_LYCIAN}', "");
-Expect(1, 66207, '\P{^ IN_LYCIAN}', "");
-Expect(0, 66175, '\p{ IN_LYCIAN}', "");
-Expect(1, 66175, '\p{^ IN_LYCIAN}', "");
-Expect(1, 66175, '\P{ IN_LYCIAN}', "");
-Expect(0, 66175, '\P{^ IN_LYCIAN}', "");
-Error('\p{ Vai/a/}');
-Error('\P{ Vai/a/}');
-Expect(1, 42539, '\p{vai}', "");
-Expect(0, 42539, '\p{^vai}', "");
-Expect(0, 42539, '\P{vai}', "");
-Expect(1, 42539, '\P{^vai}', "");
-Expect(0, 42239, '\p{vai}', "");
-Expect(1, 42239, '\p{^vai}', "");
-Expect(1, 42239, '\P{vai}', "");
-Expect(0, 42239, '\P{^vai}', "");
-Expect(1, 42539, '\p{ vai}', "");
-Expect(0, 42539, '\p{^ vai}', "");
-Expect(0, 42539, '\P{ vai}', "");
-Expect(1, 42539, '\P{^ vai}', "");
-Expect(0, 42239, '\p{ vai}', "");
-Expect(1, 42239, '\p{^ vai}', "");
-Expect(1, 42239, '\P{ vai}', "");
-Expect(0, 42239, '\P{^ vai}', "");
-Error('\p{-IS:=Vai}');
-Error('\P{-IS:=Vai}');
-Expect(1, 42539, '\p{isvai}', "");
-Expect(0, 42539, '\p{^isvai}', "");
-Expect(0, 42539, '\P{isvai}', "");
-Expect(1, 42539, '\P{^isvai}', "");
-Expect(0, 42239, '\p{isvai}', "");
-Expect(1, 42239, '\p{^isvai}', "");
-Expect(1, 42239, '\P{isvai}', "");
-Expect(0, 42239, '\P{^isvai}', "");
-Expect(1, 42539, '\p{-IS_VAI}', "");
-Expect(0, 42539, '\p{^-IS_VAI}', "");
-Expect(0, 42539, '\P{-IS_VAI}', "");
-Expect(1, 42539, '\P{^-IS_VAI}', "");
-Expect(0, 42239, '\p{-IS_VAI}', "");
-Expect(1, 42239, '\p{^-IS_VAI}', "");
-Expect(1, 42239, '\P{-IS_VAI}', "");
-Expect(0, 42239, '\P{^-IS_VAI}', "");
-Error('\p{ -Vaii/a/}');
-Error('\P{ -Vaii/a/}');
-Expect(1, 42539, '\p{vaii}', "");
-Expect(0, 42539, '\p{^vaii}', "");
-Expect(0, 42539, '\P{vaii}', "");
-Expect(1, 42539, '\P{^vaii}', "");
-Expect(0, 42239, '\p{vaii}', "");
-Expect(1, 42239, '\p{^vaii}', "");
-Expect(1, 42239, '\P{vaii}', "");
-Expect(0, 42239, '\P{^vaii}', "");
-Expect(1, 42539, '\p{__vaii}', "");
-Expect(0, 42539, '\p{^__vaii}', "");
-Expect(0, 42539, '\P{__vaii}', "");
-Expect(1, 42539, '\P{^__vaii}', "");
-Expect(0, 42239, '\p{__vaii}', "");
-Expect(1, 42239, '\p{^__vaii}', "");
-Expect(1, 42239, '\P{__vaii}', "");
-Expect(0, 42239, '\P{^__vaii}', "");
-Error('\p{/a/_-IS Vaii}');
-Error('\P{/a/_-IS Vaii}');
-Expect(1, 42539, '\p{isvaii}', "");
-Expect(0, 42539, '\p{^isvaii}', "");
-Expect(0, 42539, '\P{isvaii}', "");
-Expect(1, 42539, '\P{^isvaii}', "");
-Expect(0, 42239, '\p{isvaii}', "");
-Expect(1, 42239, '\p{^isvaii}', "");
-Expect(1, 42239, '\P{isvaii}', "");
-Expect(0, 42239, '\P{^isvaii}', "");
-Expect(1, 42539, '\p{ Is Vaii}', "");
-Expect(0, 42539, '\p{^ Is Vaii}', "");
-Expect(0, 42539, '\P{ Is Vaii}', "");
-Expect(1, 42539, '\P{^ Is Vaii}', "");
-Expect(0, 42239, '\p{ Is Vaii}', "");
-Expect(1, 42239, '\p{^ Is Vaii}', "");
-Expect(1, 42239, '\P{ Is Vaii}', "");
-Expect(0, 42239, '\P{^ Is Vaii}', "");
-Error('\p{ SPACINGMark:=}');
-Error('\P{ SPACINGMark:=}');
-Expect(1, 2307, '\p{spacingmark}', "");
-Expect(0, 2307, '\p{^spacingmark}', "");
-Expect(0, 2307, '\P{spacingmark}', "");
-Expect(1, 2307, '\P{^spacingmark}', "");
-Expect(0, 2306, '\p{spacingmark}', "");
-Expect(1, 2306, '\p{^spacingmark}', "");
-Expect(1, 2306, '\P{spacingmark}', "");
-Expect(0, 2306, '\P{^spacingmark}', "");
-Expect(1, 2307, '\p{ -SPACING-mark}', "");
-Expect(0, 2307, '\p{^ -SPACING-mark}', "");
-Expect(0, 2307, '\P{ -SPACING-mark}', "");
-Expect(1, 2307, '\P{^ -SPACING-mark}', "");
-Expect(0, 2306, '\p{ -SPACING-mark}', "");
-Expect(1, 2306, '\p{^ -SPACING-mark}', "");
-Expect(1, 2306, '\P{ -SPACING-mark}', "");
-Expect(0, 2306, '\P{^ -SPACING-mark}', "");
-Error('\p{ Is:=Spacing Mark}');
-Error('\P{ Is:=Spacing Mark}');
-Expect(1, 2307, '\p{isspacingmark}', "");
-Expect(0, 2307, '\p{^isspacingmark}', "");
-Expect(0, 2307, '\P{isspacingmark}', "");
-Expect(1, 2307, '\P{^isspacingmark}', "");
-Expect(0, 2306, '\p{isspacingmark}', "");
-Expect(1, 2306, '\p{^isspacingmark}', "");
-Expect(1, 2306, '\P{isspacingmark}', "");
-Expect(0, 2306, '\P{^isspacingmark}', "");
-Expect(1, 2307, '\p{ Is_spacing_mark}', "");
-Expect(0, 2307, '\p{^ Is_spacing_mark}', "");
-Expect(0, 2307, '\P{ Is_spacing_mark}', "");
-Expect(1, 2307, '\P{^ Is_spacing_mark}', "");
-Expect(0, 2306, '\p{ Is_spacing_mark}', "");
-Expect(1, 2306, '\p{^ Is_spacing_mark}', "");
-Expect(1, 2306, '\P{ Is_spacing_mark}', "");
-Expect(0, 2306, '\P{^ Is_spacing_mark}', "");
-Error('\p{:= -MC}');
-Error('\P{:= -MC}');
-Expect(1, 2307, '\p{mc}', "");
-Expect(0, 2307, '\p{^mc}', "");
-Expect(0, 2307, '\P{mc}', "");
-Expect(1, 2307, '\P{^mc}', "");
-Expect(0, 2306, '\p{mc}', "");
-Expect(1, 2306, '\p{^mc}', "");
-Expect(1, 2306, '\P{mc}', "");
-Expect(0, 2306, '\P{^mc}', "");
-Expect(1, 2307, '\p{_Mc}', "");
-Expect(0, 2307, '\p{^_Mc}', "");
-Expect(0, 2307, '\P{_Mc}', "");
-Expect(1, 2307, '\P{^_Mc}', "");
-Expect(0, 2306, '\p{_Mc}', "");
-Expect(1, 2306, '\p{^_Mc}', "");
-Expect(1, 2306, '\P{_Mc}', "");
-Expect(0, 2306, '\P{^_Mc}', "");
-Error('\p{-is:=MC}');
-Error('\P{-is:=MC}');
-Expect(1, 2307, '\p{ismc}', "");
-Expect(0, 2307, '\p{^ismc}', "");
-Expect(0, 2307, '\P{ismc}', "");
-Expect(1, 2307, '\P{^ismc}', "");
-Expect(0, 2306, '\p{ismc}', "");
-Expect(1, 2306, '\p{^ismc}', "");
-Expect(1, 2306, '\P{ismc}', "");
-Expect(0, 2306, '\P{^ismc}', "");
-Expect(1, 2307, '\p{IS_mc}', "");
-Expect(0, 2307, '\p{^IS_mc}', "");
-Expect(0, 2307, '\P{IS_mc}', "");
-Expect(1, 2307, '\P{^IS_mc}', "");
-Expect(0, 2306, '\p{IS_mc}', "");
-Expect(1, 2306, '\p{^IS_mc}', "");
-Expect(1, 2306, '\P{IS_mc}', "");
-Expect(0, 2306, '\P{^IS_mc}', "");
-Error('\p{ Lower/a/}');
-Error('\P{ Lower/a/}');
-Expect(1, 122, '\p{lower}', "");
-Expect(0, 122, '\p{^lower}', "");
-Expect(0, 122, '\P{lower}', "");
-Expect(1, 122, '\P{^lower}', "");
-Expect(0, 96, '\p{lower}', "");
-Expect(1, 96, '\p{^lower}', "");
-Expect(1, 96, '\P{lower}', "");
-Expect(0, 96, '\P{^lower}', "");
-Expect(1, 122, '\p{ -Lower}', "");
-Expect(0, 122, '\p{^ -Lower}', "");
-Expect(0, 122, '\P{ -Lower}', "");
-Expect(1, 122, '\P{^ -Lower}', "");
-Expect(0, 96, '\p{ -Lower}', "");
-Expect(1, 96, '\p{^ -Lower}', "");
-Expect(1, 96, '\P{ -Lower}', "");
-Expect(0, 96, '\P{^ -Lower}', "");
-Error('\p{:=-is Lower}');
-Error('\P{:=-is Lower}');
-Expect(1, 122, '\p{islower}', "");
-Expect(0, 122, '\p{^islower}', "");
-Expect(0, 122, '\P{islower}', "");
-Expect(1, 122, '\P{^islower}', "");
-Expect(0, 96, '\p{islower}', "");
-Expect(1, 96, '\p{^islower}', "");
-Expect(1, 96, '\P{islower}', "");
-Expect(0, 96, '\P{^islower}', "");
-Expect(1, 122, '\p{ is Lower}', "");
-Expect(0, 122, '\p{^ is Lower}', "");
-Expect(0, 122, '\P{ is Lower}', "");
-Expect(1, 122, '\P{^ is Lower}', "");
-Expect(0, 96, '\p{ is Lower}', "");
-Expect(1, 96, '\p{^ is Lower}', "");
-Expect(1, 96, '\P{ is Lower}', "");
-Expect(0, 96, '\P{^ is Lower}', "");
-Error('\p{:=- LOWERCASE}');
-Error('\P{:=- LOWERCASE}');
-Expect(1, 122, '\p{lowercase}', "");
-Expect(0, 122, '\p{^lowercase}', "");
-Expect(0, 122, '\P{lowercase}', "");
-Expect(1, 122, '\P{^lowercase}', "");
-Expect(0, 96, '\p{lowercase}', "");
-Expect(1, 96, '\p{^lowercase}', "");
-Expect(1, 96, '\P{lowercase}', "");
-Expect(0, 96, '\P{^lowercase}', "");
-Expect(1, 122, '\p{ Lowercase}', "");
-Expect(0, 122, '\p{^ Lowercase}', "");
-Expect(0, 122, '\P{ Lowercase}', "");
-Expect(1, 122, '\P{^ Lowercase}', "");
-Expect(0, 96, '\p{ Lowercase}', "");
-Expect(1, 96, '\p{^ Lowercase}', "");
-Expect(1, 96, '\P{ Lowercase}', "");
-Expect(0, 96, '\P{^ Lowercase}', "");
-Error('\p{-/a/IS_Lowercase}');
-Error('\P{-/a/IS_Lowercase}');
-Expect(1, 122, '\p{islowercase}', "");
-Expect(0, 122, '\p{^islowercase}', "");
-Expect(0, 122, '\P{islowercase}', "");
-Expect(1, 122, '\P{^islowercase}', "");
-Expect(0, 96, '\p{islowercase}', "");
-Expect(1, 96, '\p{^islowercase}', "");
-Expect(1, 96, '\P{islowercase}', "");
-Expect(0, 96, '\P{^islowercase}', "");
-Expect(1, 122, '\p{ isLowercase}', "");
-Expect(0, 122, '\p{^ isLowercase}', "");
-Expect(0, 122, '\P{ isLowercase}', "");
-Expect(1, 122, '\P{^ isLowercase}', "");
-Expect(0, 96, '\p{ isLowercase}', "");
-Expect(1, 96, '\p{^ isLowercase}', "");
-Expect(1, 96, '\P{ isLowercase}', "");
-Expect(0, 96, '\P{^ isLowercase}', "");
-Error('\p{Expands_On_NFKD}');
-Error('\P{Expands_On_NFKD}');
-Error('\p{Is_Expands_On_NFKD}');
-Error('\P{Is_Expands_On_NFKD}');
-Error('\p{XO_NFKD}');
-Error('\P{XO_NFKD}');
-Error('\p{Is_XO_NFKD}');
-Error('\P{Is_XO_NFKD}');
-Error('\p{_/a/CLOSE PUNCTUATION}');
-Error('\P{_/a/CLOSE PUNCTUATION}');
-Expect(1, 41, '\p{closepunctuation}', "");
-Expect(0, 41, '\p{^closepunctuation}', "");
-Expect(0, 41, '\P{closepunctuation}', "");
-Expect(1, 41, '\P{^closepunctuation}', "");
-Expect(0, 40, '\p{closepunctuation}', "");
-Expect(1, 40, '\p{^closepunctuation}', "");
-Expect(1, 40, '\P{closepunctuation}', "");
-Expect(0, 40, '\P{^closepunctuation}', "");
-Expect(1, 41, '\p{--close punctuation}', "");
-Expect(0, 41, '\p{^--close punctuation}', "");
-Expect(0, 41, '\P{--close punctuation}', "");
-Expect(1, 41, '\P{^--close punctuation}', "");
-Expect(0, 40, '\p{--close punctuation}', "");
-Expect(1, 40, '\p{^--close punctuation}', "");
-Expect(1, 40, '\P{--close punctuation}', "");
-Expect(0, 40, '\P{^--close punctuation}', "");
-Error('\p{_ Is:=Close punctuation}');
-Error('\P{_ Is:=Close punctuation}');
-Expect(1, 41, '\p{isclosepunctuation}', "");
-Expect(0, 41, '\p{^isclosepunctuation}', "");
-Expect(0, 41, '\P{isclosepunctuation}', "");
-Expect(1, 41, '\P{^isclosepunctuation}', "");
-Expect(0, 40, '\p{isclosepunctuation}', "");
-Expect(1, 40, '\p{^isclosepunctuation}', "");
-Expect(1, 40, '\P{isclosepunctuation}', "");
-Expect(0, 40, '\P{^isclosepunctuation}', "");
-Expect(1, 41, '\p{_ Is-Close punctuation}', "");
-Expect(0, 41, '\p{^_ Is-Close punctuation}', "");
-Expect(0, 41, '\P{_ Is-Close punctuation}', "");
-Expect(1, 41, '\P{^_ Is-Close punctuation}', "");
-Expect(0, 40, '\p{_ Is-Close punctuation}', "");
-Expect(1, 40, '\p{^_ Is-Close punctuation}', "");
-Expect(1, 40, '\P{_ Is-Close punctuation}', "");
-Expect(0, 40, '\P{^_ Is-Close punctuation}', "");
-Error('\p{-Pe:=}');
-Error('\P{-Pe:=}');
-Expect(1, 41, '\p{pe}', "");
-Expect(0, 41, '\p{^pe}', "");
-Expect(0, 41, '\P{pe}', "");
-Expect(1, 41, '\P{^pe}', "");
-Expect(0, 40, '\p{pe}', "");
-Expect(1, 40, '\p{^pe}', "");
-Expect(1, 40, '\P{pe}', "");
-Expect(0, 40, '\P{^pe}', "");
-Expect(1, 41, '\p{ Pe}', "");
-Expect(0, 41, '\p{^ Pe}', "");
-Expect(0, 41, '\P{ Pe}', "");
-Expect(1, 41, '\P{^ Pe}', "");
-Expect(0, 40, '\p{ Pe}', "");
-Expect(1, 40, '\p{^ Pe}', "");
-Expect(1, 40, '\P{ Pe}', "");
-Expect(0, 40, '\P{^ Pe}', "");
-Error('\p{/a/_is Pe}');
-Error('\P{/a/_is Pe}');
-Expect(1, 41, '\p{ispe}', "");
-Expect(0, 41, '\p{^ispe}', "");
-Expect(0, 41, '\P{ispe}', "");
-Expect(1, 41, '\P{^ispe}', "");
-Expect(0, 40, '\p{ispe}', "");
-Expect(1, 40, '\p{^ispe}', "");
-Expect(1, 40, '\P{ispe}', "");
-Expect(0, 40, '\P{^ispe}', "");
-Expect(1, 41, '\p{ isPe}', "");
-Expect(0, 41, '\p{^ isPe}', "");
-Expect(0, 41, '\P{ isPe}', "");
-Expect(1, 41, '\P{^ isPe}', "");
-Expect(0, 40, '\p{ isPe}', "");
-Expect(1, 40, '\p{^ isPe}', "");
-Expect(1, 40, '\P{ isPe}', "");
-Expect(0, 40, '\P{^ isPe}', "");
-Error('\p{Expands_On_NFKC}');
-Error('\P{Expands_On_NFKC}');
-Error('\p{Is_Expands_On_NFKC}');
-Error('\P{Is_Expands_On_NFKC}');
-Error('\p{XO_NFKC}');
-Error('\P{XO_NFKC}');
-Error('\p{Is_XO_NFKC}');
-Error('\P{Is_XO_NFKC}');
-Error('\p{_UNKNOWN/a/}');
-Error('\P{_UNKNOWN/a/}');
-Expect(1, 889, '\p{unknown}', "");
-Expect(0, 889, '\p{^unknown}', "");
-Expect(0, 889, '\P{unknown}', "");
-Expect(1, 889, '\P{^unknown}', "");
-Expect(0, 887, '\p{unknown}', "");
-Expect(1, 887, '\p{^unknown}', "");
-Expect(1, 887, '\P{unknown}', "");
-Expect(0, 887, '\P{^unknown}', "");
-Expect(1, 889, '\p{--Unknown}', "");
-Expect(0, 889, '\p{^--Unknown}', "");
-Expect(0, 889, '\P{--Unknown}', "");
-Expect(1, 889, '\P{^--Unknown}', "");
-Expect(0, 887, '\p{--Unknown}', "");
-Expect(1, 887, '\p{^--Unknown}', "");
-Expect(1, 887, '\P{--Unknown}', "");
-Expect(0, 887, '\P{^--Unknown}', "");
-Error('\p{ /a/is-Unknown}');
-Error('\P{ /a/is-Unknown}');
-Expect(1, 889, '\p{isunknown}', "");
-Expect(0, 889, '\p{^isunknown}', "");
-Expect(0, 889, '\P{isunknown}', "");
-Expect(1, 889, '\P{^isunknown}', "");
-Expect(0, 887, '\p{isunknown}', "");
-Expect(1, 887, '\p{^isunknown}', "");
-Expect(1, 887, '\P{isunknown}', "");
-Expect(0, 887, '\P{^isunknown}', "");
-Expect(1, 889, '\p{ Is Unknown}', "");
-Expect(0, 889, '\p{^ Is Unknown}', "");
-Expect(0, 889, '\P{ Is Unknown}', "");
-Expect(1, 889, '\P{^ Is Unknown}', "");
-Expect(0, 887, '\p{ Is Unknown}', "");
-Expect(1, 887, '\p{^ Is Unknown}', "");
-Expect(1, 887, '\P{ Is Unknown}', "");
-Expect(0, 887, '\P{^ Is Unknown}', "");
-Error('\p{:=-ZZZZ}');
-Error('\P{:=-ZZZZ}');
-Expect(1, 889, '\p{zzzz}', "");
-Expect(0, 889, '\p{^zzzz}', "");
-Expect(0, 889, '\P{zzzz}', "");
-Expect(1, 889, '\P{^zzzz}', "");
-Expect(0, 887, '\p{zzzz}', "");
-Expect(1, 887, '\p{^zzzz}', "");
-Expect(1, 887, '\P{zzzz}', "");
-Expect(0, 887, '\P{^zzzz}', "");
-Expect(1, 889, '\p{-_Zzzz}', "");
-Expect(0, 889, '\p{^-_Zzzz}', "");
-Expect(0, 889, '\P{-_Zzzz}', "");
-Expect(1, 889, '\P{^-_Zzzz}', "");
-Expect(0, 887, '\p{-_Zzzz}', "");
-Expect(1, 887, '\p{^-_Zzzz}', "");
-Expect(1, 887, '\P{-_Zzzz}', "");
-Expect(0, 887, '\P{^-_Zzzz}', "");
-Error('\p{_-IS zzzz:=}');
-Error('\P{_-IS zzzz:=}');
-Expect(1, 889, '\p{iszzzz}', "");
-Expect(0, 889, '\p{^iszzzz}', "");
-Expect(0, 889, '\P{iszzzz}', "");
-Expect(1, 889, '\P{^iszzzz}', "");
-Expect(0, 887, '\p{iszzzz}', "");
-Expect(1, 887, '\p{^iszzzz}', "");
-Expect(1, 887, '\P{iszzzz}', "");
-Expect(0, 887, '\P{^iszzzz}', "");
-Expect(1, 889, '\p{- is zzzz}', "");
-Expect(0, 889, '\p{^- is zzzz}', "");
-Expect(0, 889, '\P{- is zzzz}', "");
-Expect(1, 889, '\P{^- is zzzz}', "");
-Expect(0, 887, '\p{- is zzzz}', "");
-Expect(1, 887, '\p{^- is zzzz}', "");
-Expect(1, 887, '\P{- is zzzz}', "");
-Expect(0, 887, '\P{^- is zzzz}', "");
-Error('\p{/a/- Linear B-Ideograms}');
-Error('\P{/a/- Linear B-Ideograms}');
-Expect(1, 65791, '\p{linearbideograms}', "");
-Expect(0, 65791, '\p{^linearbideograms}', "");
-Expect(0, 65791, '\P{linearbideograms}', "");
-Expect(1, 65791, '\P{^linearbideograms}', "");
-Expect(0, 65663, '\p{linearbideograms}', "");
-Expect(1, 65663, '\p{^linearbideograms}', "");
-Expect(1, 65663, '\P{linearbideograms}', "");
-Expect(0, 65663, '\P{^linearbideograms}', "");
-Expect(1, 65791, '\p{_LINEARB Ideograms}', "");
-Expect(0, 65791, '\p{^_LINEARB Ideograms}', "");
-Expect(0, 65791, '\P{_LINEARB Ideograms}', "");
-Expect(1, 65791, '\P{^_LINEARB Ideograms}', "");
-Expect(0, 65663, '\p{_LINEARB Ideograms}', "");
-Expect(1, 65663, '\p{^_LINEARB Ideograms}', "");
-Expect(1, 65663, '\P{_LINEARB Ideograms}', "");
-Expect(0, 65663, '\P{^_LINEARB Ideograms}', "");
-Error('\p{ islinear b-Ideograms:=}');
-Error('\P{ islinear b-Ideograms:=}');
-Expect(1, 65791, '\p{islinearbideograms}', "");
-Expect(0, 65791, '\p{^islinearbideograms}', "");
-Expect(0, 65791, '\P{islinearbideograms}', "");
-Expect(1, 65791, '\P{^islinearbideograms}', "");
-Expect(0, 65663, '\p{islinearbideograms}', "");
-Expect(1, 65663, '\p{^islinearbideograms}', "");
-Expect(1, 65663, '\P{islinearbideograms}', "");
-Expect(0, 65663, '\P{^islinearbideograms}', "");
-Expect(1, 65791, '\p{--Is linear_B ideograms}', "");
-Expect(0, 65791, '\p{^--Is linear_B ideograms}', "");
-Expect(0, 65791, '\P{--Is linear_B ideograms}', "");
-Expect(1, 65791, '\P{^--Is linear_B ideograms}', "");
-Expect(0, 65663, '\p{--Is linear_B ideograms}', "");
-Expect(1, 65663, '\p{^--Is linear_B ideograms}', "");
-Expect(1, 65663, '\P{--Is linear_B ideograms}', "");
-Expect(0, 65663, '\P{^--Is linear_B ideograms}', "");
-Error('\p{:=in_Linear-b IDEOGRAMS}');
-Error('\P{:=in_Linear-b IDEOGRAMS}');
-Expect(1, 65791, '\p{inlinearbideograms}', "");
-Expect(0, 65791, '\p{^inlinearbideograms}', "");
-Expect(0, 65791, '\P{inlinearbideograms}', "");
-Expect(1, 65791, '\P{^inlinearbideograms}', "");
-Expect(0, 65663, '\p{inlinearbideograms}', "");
-Expect(1, 65663, '\p{^inlinearbideograms}', "");
-Expect(1, 65663, '\P{inlinearbideograms}', "");
-Expect(0, 65663, '\P{^inlinearbideograms}', "");
-Expect(1, 65791, '\p{__IN Linear-B_Ideograms}', "");
-Expect(0, 65791, '\p{^__IN Linear-B_Ideograms}', "");
-Expect(0, 65791, '\P{__IN Linear-B_Ideograms}', "");
-Expect(1, 65791, '\P{^__IN Linear-B_Ideograms}', "");
-Expect(0, 65663, '\p{__IN Linear-B_Ideograms}', "");
-Expect(1, 65663, '\p{^__IN Linear-B_Ideograms}', "");
-Expect(1, 65663, '\P{__IN Linear-B_Ideograms}', "");
-Expect(0, 65663, '\P{^__IN Linear-B_Ideograms}', "");
-Error('\p{/a/ ENCLOSED ALPHANUMERICS}');
-Error('\P{/a/ ENCLOSED ALPHANUMERICS}');
-Expect(1, 9471, '\p{enclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^enclosedalphanumerics}', "");
-Expect(0, 9471, '\P{enclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^enclosedalphanumerics}', "");
-Expect(0, 9311, '\p{enclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^enclosedalphanumerics}', "");
-Expect(1, 9311, '\P{enclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^enclosedalphanumerics}', "");
-Expect(1, 9471, '\p{_ENCLOSED_ALPHANUMERICS}', "");
-Expect(0, 9471, '\p{^_ENCLOSED_ALPHANUMERICS}', "");
-Expect(0, 9471, '\P{_ENCLOSED_ALPHANUMERICS}', "");
-Expect(1, 9471, '\P{^_ENCLOSED_ALPHANUMERICS}', "");
-Expect(0, 9311, '\p{_ENCLOSED_ALPHANUMERICS}', "");
-Expect(1, 9311, '\p{^_ENCLOSED_ALPHANUMERICS}', "");
-Expect(1, 9311, '\P{_ENCLOSED_ALPHANUMERICS}', "");
-Expect(0, 9311, '\P{^_ENCLOSED_ALPHANUMERICS}', "");
-Error('\p{/a/ _ISENCLOSED Alphanumerics}');
-Error('\P{/a/ _ISENCLOSED Alphanumerics}');
-Expect(1, 9471, '\p{isenclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^isenclosedalphanumerics}', "");
-Expect(0, 9471, '\P{isenclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^isenclosedalphanumerics}', "");
-Expect(0, 9311, '\p{isenclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^isenclosedalphanumerics}', "");
-Expect(1, 9311, '\P{isenclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^isenclosedalphanumerics}', "");
-Expect(1, 9471, '\p{ Is ENCLOSED Alphanumerics}', "");
-Expect(0, 9471, '\p{^ Is ENCLOSED Alphanumerics}', "");
-Expect(0, 9471, '\P{ Is ENCLOSED Alphanumerics}', "");
-Expect(1, 9471, '\P{^ Is ENCLOSED Alphanumerics}', "");
-Expect(0, 9311, '\p{ Is ENCLOSED Alphanumerics}', "");
-Expect(1, 9311, '\p{^ Is ENCLOSED Alphanumerics}', "");
-Expect(1, 9311, '\P{ Is ENCLOSED Alphanumerics}', "");
-Expect(0, 9311, '\P{^ Is ENCLOSED Alphanumerics}', "");
-Error('\p{ /a/INEnclosed_Alphanumerics}');
-Error('\P{ /a/INEnclosed_Alphanumerics}');
-Expect(1, 9471, '\p{inenclosedalphanumerics}', "");
-Expect(0, 9471, '\p{^inenclosedalphanumerics}', "");
-Expect(0, 9471, '\P{inenclosedalphanumerics}', "");
-Expect(1, 9471, '\P{^inenclosedalphanumerics}', "");
-Expect(0, 9311, '\p{inenclosedalphanumerics}', "");
-Expect(1, 9311, '\p{^inenclosedalphanumerics}', "");
-Expect(1, 9311, '\P{inenclosedalphanumerics}', "");
-Expect(0, 9311, '\P{^inenclosedalphanumerics}', "");
-Expect(1, 9471, '\p{ in-Enclosed_Alphanumerics}', "");
-Expect(0, 9471, '\p{^ in-Enclosed_Alphanumerics}', "");
-Expect(0, 9471, '\P{ in-Enclosed_Alphanumerics}', "");
-Expect(1, 9471, '\P{^ in-Enclosed_Alphanumerics}', "");
-Expect(0, 9311, '\p{ in-Enclosed_Alphanumerics}', "");
-Expect(1, 9311, '\p{^ in-Enclosed_Alphanumerics}', "");
-Expect(1, 9311, '\P{ in-Enclosed_Alphanumerics}', "");
-Expect(0, 9311, '\P{^ in-Enclosed_Alphanumerics}', "");
-Error('\p{:= -MEETEI mayek}');
-Error('\P{:= -MEETEI mayek}');
-Expect(1, 44013, '\p{meeteimayek}', "");
-Expect(0, 44013, '\p{^meeteimayek}', "");
-Expect(0, 44013, '\P{meeteimayek}', "");
-Expect(1, 44013, '\P{^meeteimayek}', "");
-Expect(0, 43967, '\p{meeteimayek}', "");
-Expect(1, 43967, '\p{^meeteimayek}', "");
-Expect(1, 43967, '\P{meeteimayek}', "");
-Expect(0, 43967, '\P{^meeteimayek}', "");
-Expect(1, 44013, '\p{-Meetei mayek}', "");
-Expect(0, 44013, '\p{^-Meetei mayek}', "");
-Expect(0, 44013, '\P{-Meetei mayek}', "");
-Expect(1, 44013, '\P{^-Meetei mayek}', "");
-Expect(0, 43967, '\p{-Meetei mayek}', "");
-Expect(1, 43967, '\p{^-Meetei mayek}', "");
-Expect(1, 43967, '\P{-Meetei mayek}', "");
-Expect(0, 43967, '\P{^-Meetei mayek}', "");
-Error('\p{ Is MEETEI:=Mayek}');
-Error('\P{ Is MEETEI:=Mayek}');
-Expect(1, 44013, '\p{ismeeteimayek}', "");
-Expect(0, 44013, '\p{^ismeeteimayek}', "");
-Expect(0, 44013, '\P{ismeeteimayek}', "");
-Expect(1, 44013, '\P{^ismeeteimayek}', "");
-Expect(0, 43967, '\p{ismeeteimayek}', "");
-Expect(1, 43967, '\p{^ismeeteimayek}', "");
-Expect(1, 43967, '\P{ismeeteimayek}', "");
-Expect(0, 43967, '\P{^ismeeteimayek}', "");
-Expect(1, 44013, '\p{- IS Meetei-Mayek}', "");
-Expect(0, 44013, '\p{^- IS Meetei-Mayek}', "");
-Expect(0, 44013, '\P{- IS Meetei-Mayek}', "");
-Expect(1, 44013, '\P{^- IS Meetei-Mayek}', "");
-Expect(0, 43967, '\p{- IS Meetei-Mayek}', "");
-Expect(1, 43967, '\p{^- IS Meetei-Mayek}', "");
-Expect(1, 43967, '\P{- IS Meetei-Mayek}', "");
-Expect(0, 43967, '\P{^- IS Meetei-Mayek}', "");
-Error('\p{- MTEI/a/}');
-Error('\P{- MTEI/a/}');
-Expect(1, 44013, '\p{mtei}', "");
-Expect(0, 44013, '\p{^mtei}', "");
-Expect(0, 44013, '\P{mtei}', "");
-Expect(1, 44013, '\P{^mtei}', "");
-Expect(0, 43967, '\p{mtei}', "");
-Expect(1, 43967, '\p{^mtei}', "");
-Expect(1, 43967, '\P{mtei}', "");
-Expect(0, 43967, '\P{^mtei}', "");
-Expect(1, 44013, '\p{Mtei}', "");
-Expect(0, 44013, '\p{^Mtei}', "");
-Expect(0, 44013, '\P{Mtei}', "");
-Expect(1, 44013, '\P{^Mtei}', "");
-Expect(0, 43967, '\p{Mtei}', "");
-Expect(1, 43967, '\p{^Mtei}', "");
-Expect(1, 43967, '\P{Mtei}', "");
-Expect(0, 43967, '\P{^Mtei}', "");
-Error('\p{ Is/a/Mtei}');
-Error('\P{ Is/a/Mtei}');
-Expect(1, 44013, '\p{ismtei}', "");
-Expect(0, 44013, '\p{^ismtei}', "");
-Expect(0, 44013, '\P{ismtei}', "");
-Expect(1, 44013, '\P{^ismtei}', "");
-Expect(0, 43967, '\p{ismtei}', "");
-Expect(1, 43967, '\p{^ismtei}', "");
-Expect(1, 43967, '\P{ismtei}', "");
-Expect(0, 43967, '\P{^ismtei}', "");
-Expect(1, 44013, '\p{-IS_Mtei}', "");
-Expect(0, 44013, '\p{^-IS_Mtei}', "");
-Expect(0, 44013, '\P{-IS_Mtei}', "");
-Expect(1, 44013, '\P{^-IS_Mtei}', "");
-Expect(0, 43967, '\p{-IS_Mtei}', "");
-Expect(1, 43967, '\p{^-IS_Mtei}', "");
-Expect(1, 43967, '\P{-IS_Mtei}', "");
-Expect(0, 43967, '\P{^-IS_Mtei}', "");
-Error('\p{ Extender:=}');
-Error('\P{ Extender:=}');
-Expect(1, 183, '\p{extender}', "");
-Expect(0, 183, '\p{^extender}', "");
-Expect(0, 183, '\P{extender}', "");
-Expect(1, 183, '\P{^extender}', "");
-Expect(0, 182, '\p{extender}', "");
-Expect(1, 182, '\p{^extender}', "");
-Expect(1, 182, '\P{extender}', "");
-Expect(0, 182, '\P{^extender}', "");
-Expect(1, 183, '\p{ Extender}', "");
-Expect(0, 183, '\p{^ Extender}', "");
-Expect(0, 183, '\P{ Extender}', "");
-Expect(1, 183, '\P{^ Extender}', "");
-Expect(0, 182, '\p{ Extender}', "");
-Expect(1, 182, '\p{^ Extender}', "");
-Expect(1, 182, '\P{ Extender}', "");
-Expect(0, 182, '\P{^ Extender}', "");
-Error('\p{/a/__Is_Extender}');
-Error('\P{/a/__Is_Extender}');
-Expect(1, 183, '\p{isextender}', "");
-Expect(0, 183, '\p{^isextender}', "");
-Expect(0, 183, '\P{isextender}', "");
-Expect(1, 183, '\P{^isextender}', "");
-Expect(0, 182, '\p{isextender}', "");
-Expect(1, 182, '\p{^isextender}', "");
-Expect(1, 182, '\P{isextender}', "");
-Expect(0, 182, '\P{^isextender}', "");
-Expect(1, 183, '\p{ -is_Extender}', "");
-Expect(0, 183, '\p{^ -is_Extender}', "");
-Expect(0, 183, '\P{ -is_Extender}', "");
-Expect(1, 183, '\P{^ -is_Extender}', "");
-Expect(0, 182, '\p{ -is_Extender}', "");
-Expect(1, 182, '\p{^ -is_Extender}', "");
-Expect(1, 182, '\P{ -is_Extender}', "");
-Expect(0, 182, '\P{^ -is_Extender}', "");
-Error('\p{_Ext/a/}');
-Error('\P{_Ext/a/}');
-Expect(1, 183, '\p{ext}', "");
-Expect(0, 183, '\p{^ext}', "");
-Expect(0, 183, '\P{ext}', "");
-Expect(1, 183, '\P{^ext}', "");
-Expect(0, 182, '\p{ext}', "");
-Expect(1, 182, '\p{^ext}', "");
-Expect(1, 182, '\P{ext}', "");
-Expect(0, 182, '\P{^ext}', "");
-Expect(1, 183, '\p{_ Ext}', "");
-Expect(0, 183, '\p{^_ Ext}', "");
-Expect(0, 183, '\P{_ Ext}', "");
-Expect(1, 183, '\P{^_ Ext}', "");
-Expect(0, 182, '\p{_ Ext}', "");
-Expect(1, 182, '\p{^_ Ext}', "");
-Expect(1, 182, '\P{_ Ext}', "");
-Expect(0, 182, '\P{^_ Ext}', "");
-Error('\p{ _Is:=ext}');
-Error('\P{ _Is:=ext}');
-Expect(1, 183, '\p{isext}', "");
-Expect(0, 183, '\p{^isext}', "");
-Expect(0, 183, '\P{isext}', "");
-Expect(1, 183, '\P{^isext}', "");
-Expect(0, 182, '\p{isext}', "");
-Expect(1, 182, '\p{^isext}', "");
-Expect(1, 182, '\P{isext}', "");
-Expect(0, 182, '\P{^isext}', "");
-Expect(1, 183, '\p{- Is ext}', "");
-Expect(0, 183, '\p{^- Is ext}', "");
-Expect(0, 183, '\P{- Is ext}', "");
-Expect(1, 183, '\P{^- Is ext}', "");
-Expect(0, 182, '\p{- Is ext}', "");
-Expect(1, 182, '\p{^- Is ext}', "");
-Expect(1, 182, '\P{- Is ext}', "");
-Expect(0, 182, '\P{^- Is ext}', "");
-Error('\p{ -Composition:=Exclusion}');
-Error('\P{ -Composition:=Exclusion}');
-Expect(1, 2399, '\p{compositionexclusion}', "");
-Expect(0, 2399, '\p{^compositionexclusion}', "");
-Expect(0, 2399, '\P{compositionexclusion}', "");
-Expect(1, 2399, '\P{^compositionexclusion}', "");
-Expect(0, 2391, '\p{compositionexclusion}', "");
-Expect(1, 2391, '\p{^compositionexclusion}', "");
-Expect(1, 2391, '\P{compositionexclusion}', "");
-Expect(0, 2391, '\P{^compositionexclusion}', "");
-Expect(1, 2399, '\p{ COMPOSITION-EXCLUSION}', "");
-Expect(0, 2399, '\p{^ COMPOSITION-EXCLUSION}', "");
-Expect(0, 2399, '\P{ COMPOSITION-EXCLUSION}', "");
-Expect(1, 2399, '\P{^ COMPOSITION-EXCLUSION}', "");
-Expect(0, 2391, '\p{ COMPOSITION-EXCLUSION}', "");
-Expect(1, 2391, '\p{^ COMPOSITION-EXCLUSION}', "");
-Expect(1, 2391, '\P{ COMPOSITION-EXCLUSION}', "");
-Expect(0, 2391, '\P{^ COMPOSITION-EXCLUSION}', "");
-Error('\p{-:=IsCOMPOSITION exclusion}');
-Error('\P{-:=IsCOMPOSITION exclusion}');
-Expect(1, 2399, '\p{iscompositionexclusion}', "");
-Expect(0, 2399, '\p{^iscompositionexclusion}', "");
-Expect(0, 2399, '\P{iscompositionexclusion}', "");
-Expect(1, 2399, '\P{^iscompositionexclusion}', "");
-Expect(0, 2391, '\p{iscompositionexclusion}', "");
-Expect(1, 2391, '\p{^iscompositionexclusion}', "");
-Expect(1, 2391, '\P{iscompositionexclusion}', "");
-Expect(0, 2391, '\P{^iscompositionexclusion}', "");
-Expect(1, 2399, '\p{-ISComposition Exclusion}', "");
-Expect(0, 2399, '\p{^-ISComposition Exclusion}', "");
-Expect(0, 2399, '\P{-ISComposition Exclusion}', "");
-Expect(1, 2399, '\P{^-ISComposition Exclusion}', "");
-Expect(0, 2391, '\p{-ISComposition Exclusion}', "");
-Expect(1, 2391, '\p{^-ISComposition Exclusion}', "");
-Expect(1, 2391, '\P{-ISComposition Exclusion}', "");
-Expect(0, 2391, '\P{^-ISComposition Exclusion}', "");
-Error('\p{ ce/a/}');
-Error('\P{ ce/a/}');
-Expect(1, 2399, '\p{ce}', "");
-Expect(0, 2399, '\p{^ce}', "");
-Expect(0, 2399, '\P{ce}', "");
-Expect(1, 2399, '\P{^ce}', "");
-Expect(0, 2391, '\p{ce}', "");
-Expect(1, 2391, '\p{^ce}', "");
-Expect(1, 2391, '\P{ce}', "");
-Expect(0, 2391, '\P{^ce}', "");
-Expect(1, 2399, '\p{ _ce}', "");
-Expect(0, 2399, '\p{^ _ce}', "");
-Expect(0, 2399, '\P{ _ce}', "");
-Expect(1, 2399, '\P{^ _ce}', "");
-Expect(0, 2391, '\p{ _ce}', "");
-Expect(1, 2391, '\p{^ _ce}', "");
-Expect(1, 2391, '\P{ _ce}', "");
-Expect(0, 2391, '\P{^ _ce}', "");
-Error('\p{ is_CE/a/}');
-Error('\P{ is_CE/a/}');
-Expect(1, 2399, '\p{isce}', "");
-Expect(0, 2399, '\p{^isce}', "");
-Expect(0, 2399, '\P{isce}', "");
-Expect(1, 2399, '\P{^isce}', "");
-Expect(0, 2391, '\p{isce}', "");
-Expect(1, 2391, '\p{^isce}', "");
-Expect(1, 2391, '\P{isce}', "");
-Expect(0, 2391, '\P{^isce}', "");
-Expect(1, 2399, '\p{_ is-CE}', "");
-Expect(0, 2399, '\p{^_ is-CE}', "");
-Expect(0, 2399, '\P{_ is-CE}', "");
-Expect(1, 2399, '\P{^_ is-CE}', "");
-Expect(0, 2391, '\p{_ is-CE}', "");
-Expect(1, 2391, '\p{^_ is-CE}', "");
-Expect(1, 2391, '\P{_ is-CE}', "");
-Expect(0, 2391, '\P{^_ is-CE}', "");
-Error('\p{ _Enclosed/a/CJK LettersAND_Months}');
-Error('\P{ _Enclosed/a/CJK LettersAND_Months}');
-Expect(1, 13055, '\p{enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^enclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^enclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{enclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^enclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{ enclosed-cjk_Letters And Months}', "");
-Expect(0, 13055, '\p{^ enclosed-cjk_Letters And Months}', "");
-Expect(0, 13055, '\P{ enclosed-cjk_Letters And Months}', "");
-Expect(1, 13055, '\P{^ enclosed-cjk_Letters And Months}', "");
-Expect(0, 12799, '\p{ enclosed-cjk_Letters And Months}', "");
-Expect(1, 12799, '\p{^ enclosed-cjk_Letters And Months}', "");
-Expect(1, 12799, '\P{ enclosed-cjk_Letters And Months}', "");
-Expect(0, 12799, '\P{^ enclosed-cjk_Letters And Months}', "");
-Error('\p{_is_Enclosed_CJK_LETTERS-And months/a/}');
-Error('\P{_is_Enclosed_CJK_LETTERS-And months/a/}');
-Expect(1, 13055, '\p{isenclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^isenclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{isenclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^isenclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{isenclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^isenclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{isenclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^isenclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(0, 13055, '\p{^ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(0, 13055, '\P{ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(1, 13055, '\P{^ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(0, 12799, '\p{ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(1, 12799, '\p{^ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(1, 12799, '\P{ isENCLOSED-CJK Letters-AND Months}', "");
-Expect(0, 12799, '\P{^ isENCLOSED-CJK Letters-AND Months}', "");
-Error('\p{In_Enclosed/a/cjk letters and MONTHS}');
-Error('\P{In_Enclosed/a/cjk letters and MONTHS}');
-Expect(1, 13055, '\p{inenclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\p{^inenclosedcjklettersandmonths}', "");
-Expect(0, 13055, '\P{inenclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\P{^inenclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\p{inenclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\p{^inenclosedcjklettersandmonths}', "");
-Expect(1, 12799, '\P{inenclosedcjklettersandmonths}', "");
-Expect(0, 12799, '\P{^inenclosedcjklettersandmonths}', "");
-Expect(1, 13055, '\p{_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(0, 13055, '\p{^_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(0, 13055, '\P{_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(1, 13055, '\P{^_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(0, 12799, '\p{_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(1, 12799, '\p{^_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(1, 12799, '\P{_ Inenclosed cjk-LETTERSand_Months}', "");
-Expect(0, 12799, '\P{^_ Inenclosed cjk-LETTERSand_Months}', "");
-Error('\p{-_Space/a/SEPARATOR}');
-Error('\P{-_Space/a/SEPARATOR}');
-Expect(1, 32, '\p{spaceseparator}', "");
-Expect(0, 32, '\p{^spaceseparator}', "");
-Expect(0, 32, '\P{spaceseparator}', "");
-Expect(1, 32, '\P{^spaceseparator}', "");
-Expect(0, 31, '\p{spaceseparator}', "");
-Expect(1, 31, '\p{^spaceseparator}', "");
-Expect(1, 31, '\P{spaceseparator}', "");
-Expect(0, 31, '\P{^spaceseparator}', "");
-Expect(1, 32, '\p{_ space_Separator}', "");
-Expect(0, 32, '\p{^_ space_Separator}', "");
-Expect(0, 32, '\P{_ space_Separator}', "");
-Expect(1, 32, '\P{^_ space_Separator}', "");
-Expect(0, 31, '\p{_ space_Separator}', "");
-Expect(1, 31, '\p{^_ space_Separator}', "");
-Expect(1, 31, '\P{_ space_Separator}', "");
-Expect(0, 31, '\P{^_ space_Separator}', "");
-Error('\p{ IS/a/Space SEPARATOR}');
-Error('\P{ IS/a/Space SEPARATOR}');
-Expect(1, 32, '\p{isspaceseparator}', "");
-Expect(0, 32, '\p{^isspaceseparator}', "");
-Expect(0, 32, '\P{isspaceseparator}', "");
-Expect(1, 32, '\P{^isspaceseparator}', "");
-Expect(0, 31, '\p{isspaceseparator}', "");
-Expect(1, 31, '\p{^isspaceseparator}', "");
-Expect(1, 31, '\P{isspaceseparator}', "");
-Expect(0, 31, '\P{^isspaceseparator}', "");
-Expect(1, 32, '\p{-is space Separator}', "");
-Expect(0, 32, '\p{^-is space Separator}', "");
-Expect(0, 32, '\P{-is space Separator}', "");
-Expect(1, 32, '\P{^-is space Separator}', "");
-Expect(0, 31, '\p{-is space Separator}', "");
-Expect(1, 31, '\p{^-is space Separator}', "");
-Expect(1, 31, '\P{-is space Separator}', "");
-Expect(0, 31, '\P{^-is space Separator}', "");
-Error('\p{:=-_Zs}');
-Error('\P{:=-_Zs}');
-Expect(1, 32, '\p{zs}', "");
-Expect(0, 32, '\p{^zs}', "");
-Expect(0, 32, '\P{zs}', "");
-Expect(1, 32, '\P{^zs}', "");
-Expect(0, 31, '\p{zs}', "");
-Expect(1, 31, '\p{^zs}', "");
-Expect(1, 31, '\P{zs}', "");
-Expect(0, 31, '\P{^zs}', "");
-Expect(1, 32, '\p{ ZS}', "");
-Expect(0, 32, '\p{^ ZS}', "");
-Expect(0, 32, '\P{ ZS}', "");
-Expect(1, 32, '\P{^ ZS}', "");
-Expect(0, 31, '\p{ ZS}', "");
-Expect(1, 31, '\p{^ ZS}', "");
-Expect(1, 31, '\P{ ZS}', "");
-Expect(0, 31, '\P{^ ZS}', "");
-Error('\p{ is/a/Zs}');
-Error('\P{ is/a/Zs}');
-Expect(1, 32, '\p{iszs}', "");
-Expect(0, 32, '\p{^iszs}', "");
-Expect(0, 32, '\P{iszs}', "");
-Expect(1, 32, '\P{^iszs}', "");
-Expect(0, 31, '\p{iszs}', "");
-Expect(1, 31, '\p{^iszs}', "");
-Expect(1, 31, '\P{iszs}', "");
-Expect(0, 31, '\P{^iszs}', "");
-Expect(1, 32, '\p{_is-ZS}', "");
-Expect(0, 32, '\p{^_is-ZS}', "");
-Expect(0, 32, '\P{_is-ZS}', "");
-Expect(1, 32, '\P{^_is-ZS}', "");
-Expect(0, 31, '\p{_is-ZS}', "");
-Expect(1, 31, '\p{^_is-ZS}', "");
-Expect(1, 31, '\P{_is-ZS}', "");
-Expect(0, 31, '\P{^_is-ZS}', "");
-Error('\p{- Supplemental_Punctuation:=}');
-Error('\P{- Supplemental_Punctuation:=}');
-Expect(1, 11903, '\p{supplementalpunctuation}', "");
-Expect(0, 11903, '\p{^supplementalpunctuation}', "");
-Expect(0, 11903, '\P{supplementalpunctuation}', "");
-Expect(1, 11903, '\P{^supplementalpunctuation}', "");
-Expect(0, 11775, '\p{supplementalpunctuation}', "");
-Expect(1, 11775, '\p{^supplementalpunctuation}', "");
-Expect(1, 11775, '\P{supplementalpunctuation}', "");
-Expect(0, 11775, '\P{^supplementalpunctuation}', "");
-Expect(1, 11903, '\p{- Supplemental PUNCTUATION}', "");
-Expect(0, 11903, '\p{^- Supplemental PUNCTUATION}', "");
-Expect(0, 11903, '\P{- Supplemental PUNCTUATION}', "");
-Expect(1, 11903, '\P{^- Supplemental PUNCTUATION}', "");
-Expect(0, 11775, '\p{- Supplemental PUNCTUATION}', "");
-Expect(1, 11775, '\p{^- Supplemental PUNCTUATION}', "");
-Expect(1, 11775, '\P{- Supplemental PUNCTUATION}', "");
-Expect(0, 11775, '\P{^- Supplemental PUNCTUATION}', "");
-Error('\p{- is:=Supplemental_Punctuation}');
-Error('\P{- is:=Supplemental_Punctuation}');
-Expect(1, 11903, '\p{issupplementalpunctuation}', "");
-Expect(0, 11903, '\p{^issupplementalpunctuation}', "");
-Expect(0, 11903, '\P{issupplementalpunctuation}', "");
-Expect(1, 11903, '\P{^issupplementalpunctuation}', "");
-Expect(0, 11775, '\p{issupplementalpunctuation}', "");
-Expect(1, 11775, '\p{^issupplementalpunctuation}', "");
-Expect(1, 11775, '\P{issupplementalpunctuation}', "");
-Expect(0, 11775, '\P{^issupplementalpunctuation}', "");
-Expect(1, 11903, '\p{- IS_Supplemental_punctuation}', "");
-Expect(0, 11903, '\p{^- IS_Supplemental_punctuation}', "");
-Expect(0, 11903, '\P{- IS_Supplemental_punctuation}', "");
-Expect(1, 11903, '\P{^- IS_Supplemental_punctuation}', "");
-Expect(0, 11775, '\p{- IS_Supplemental_punctuation}', "");
-Expect(1, 11775, '\p{^- IS_Supplemental_punctuation}', "");
-Expect(1, 11775, '\P{- IS_Supplemental_punctuation}', "");
-Expect(0, 11775, '\P{^- IS_Supplemental_punctuation}', "");
-Error('\p{:=_ IN SUPPLEMENTALPUNCTUATION}');
-Error('\P{:=_ IN SUPPLEMENTALPUNCTUATION}');
-Expect(1, 11903, '\p{insupplementalpunctuation}', "");
-Expect(0, 11903, '\p{^insupplementalpunctuation}', "");
-Expect(0, 11903, '\P{insupplementalpunctuation}', "");
-Expect(1, 11903, '\P{^insupplementalpunctuation}', "");
-Expect(0, 11775, '\p{insupplementalpunctuation}', "");
-Expect(1, 11775, '\p{^insupplementalpunctuation}', "");
-Expect(1, 11775, '\P{insupplementalpunctuation}', "");
-Expect(0, 11775, '\P{^insupplementalpunctuation}', "");
-Expect(1, 11903, '\p{ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(0, 11903, '\p{^ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(0, 11903, '\P{ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(1, 11903, '\P{^ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(0, 11775, '\p{ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(1, 11775, '\p{^ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(1, 11775, '\P{ InSUPPLEMENTALPUNCTUATION}', "");
-Expect(0, 11775, '\P{^ InSUPPLEMENTALPUNCTUATION}', "");
-Error('\p{ Katakana_Phonetic_extensions:=}');
-Error('\P{ Katakana_Phonetic_extensions:=}');
-Expect(1, 12799, '\p{katakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^katakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{katakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^katakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{katakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^katakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{katakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^katakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{_ KATAKANA Phonetic Extensions}', "");
-Expect(0, 12799, '\p{^_ KATAKANA Phonetic Extensions}', "");
-Expect(0, 12799, '\P{_ KATAKANA Phonetic Extensions}', "");
-Expect(1, 12799, '\P{^_ KATAKANA Phonetic Extensions}', "");
-Expect(0, 12783, '\p{_ KATAKANA Phonetic Extensions}', "");
-Expect(1, 12783, '\p{^_ KATAKANA Phonetic Extensions}', "");
-Expect(1, 12783, '\P{_ KATAKANA Phonetic Extensions}', "");
-Expect(0, 12783, '\P{^_ KATAKANA Phonetic Extensions}', "");
-Error('\p{_/a/IsKATAKANA PHONETICExtensions}');
-Error('\P{_/a/IsKATAKANA PHONETICExtensions}');
-Expect(1, 12799, '\p{iskatakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^iskatakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{iskatakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^iskatakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{iskatakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^iskatakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{iskatakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^iskatakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{ _Is_katakana Phoneticextensions}', "");
-Expect(0, 12799, '\p{^ _Is_katakana Phoneticextensions}', "");
-Expect(0, 12799, '\P{ _Is_katakana Phoneticextensions}', "");
-Expect(1, 12799, '\P{^ _Is_katakana Phoneticextensions}', "");
-Expect(0, 12783, '\p{ _Is_katakana Phoneticextensions}', "");
-Expect(1, 12783, '\p{^ _Is_katakana Phoneticextensions}', "");
-Expect(1, 12783, '\P{ _Is_katakana Phoneticextensions}', "");
-Expect(0, 12783, '\P{^ _Is_katakana Phoneticextensions}', "");
-Error('\p{__in Katakana:=PHONETIC Extensions}');
-Error('\P{__in Katakana:=PHONETIC Extensions}');
-Expect(1, 12799, '\p{inkatakanaphoneticextensions}', "");
-Expect(0, 12799, '\p{^inkatakanaphoneticextensions}', "");
-Expect(0, 12799, '\P{inkatakanaphoneticextensions}', "");
-Expect(1, 12799, '\P{^inkatakanaphoneticextensions}', "");
-Expect(0, 12783, '\p{inkatakanaphoneticextensions}', "");
-Expect(1, 12783, '\p{^inkatakanaphoneticextensions}', "");
-Expect(1, 12783, '\P{inkatakanaphoneticextensions}', "");
-Expect(0, 12783, '\P{^inkatakanaphoneticextensions}', "");
-Expect(1, 12799, '\p{ InKATAKANA-PHONETIC Extensions}', "");
-Expect(0, 12799, '\p{^ InKATAKANA-PHONETIC Extensions}', "");
-Expect(0, 12799, '\P{ InKATAKANA-PHONETIC Extensions}', "");
-Expect(1, 12799, '\P{^ InKATAKANA-PHONETIC Extensions}', "");
-Expect(0, 12783, '\p{ InKATAKANA-PHONETIC Extensions}', "");
-Expect(1, 12783, '\p{^ InKATAKANA-PHONETIC Extensions}', "");
-Expect(1, 12783, '\P{ InKATAKANA-PHONETIC Extensions}', "");
-Expect(0, 12783, '\P{^ InKATAKANA-PHONETIC Extensions}', "");
-Error('\p{ -Modifier:=Symbol}');
-Error('\P{ -Modifier:=Symbol}');
-Expect(1, 94, '\p{modifiersymbol}', "");
-Expect(0, 94, '\p{^modifiersymbol}', "");
-Expect(0, 94, '\P{modifiersymbol}', "");
-Expect(1, 94, '\P{^modifiersymbol}', "");
-Expect(0, 93, '\p{modifiersymbol}', "");
-Expect(1, 93, '\p{^modifiersymbol}', "");
-Expect(1, 93, '\P{modifiersymbol}', "");
-Expect(0, 93, '\P{^modifiersymbol}', "");
-Expect(1, 94, '\p{ -modifier_Symbol}', "");
-Expect(0, 94, '\p{^ -modifier_Symbol}', "");
-Expect(0, 94, '\P{ -modifier_Symbol}', "");
-Expect(1, 94, '\P{^ -modifier_Symbol}', "");
-Expect(0, 93, '\p{ -modifier_Symbol}', "");
-Expect(1, 93, '\p{^ -modifier_Symbol}', "");
-Expect(1, 93, '\P{ -modifier_Symbol}', "");
-Expect(0, 93, '\P{^ -modifier_Symbol}', "");
-Error('\p{ Is modifier:=SYMBOL}');
-Error('\P{ Is modifier:=SYMBOL}');
-Expect(1, 94, '\p{ismodifiersymbol}', "");
-Expect(0, 94, '\p{^ismodifiersymbol}', "");
-Expect(0, 94, '\P{ismodifiersymbol}', "");
-Expect(1, 94, '\P{^ismodifiersymbol}', "");
-Expect(0, 93, '\p{ismodifiersymbol}', "");
-Expect(1, 93, '\p{^ismodifiersymbol}', "");
-Expect(1, 93, '\P{ismodifiersymbol}', "");
-Expect(0, 93, '\P{^ismodifiersymbol}', "");
-Expect(1, 94, '\p{ Is-Modifier Symbol}', "");
-Expect(0, 94, '\p{^ Is-Modifier Symbol}', "");
-Expect(0, 94, '\P{ Is-Modifier Symbol}', "");
-Expect(1, 94, '\P{^ Is-Modifier Symbol}', "");
-Expect(0, 93, '\p{ Is-Modifier Symbol}', "");
-Expect(1, 93, '\p{^ Is-Modifier Symbol}', "");
-Expect(1, 93, '\P{ Is-Modifier Symbol}', "");
-Expect(0, 93, '\P{^ Is-Modifier Symbol}', "");
-Error('\p{_ Sk:=}');
-Error('\P{_ Sk:=}');
-Expect(1, 94, '\p{sk}', "");
-Expect(0, 94, '\p{^sk}', "");
-Expect(0, 94, '\P{sk}', "");
-Expect(1, 94, '\P{^sk}', "");
-Expect(0, 93, '\p{sk}', "");
-Expect(1, 93, '\p{^sk}', "");
-Expect(1, 93, '\P{sk}', "");
-Expect(0, 93, '\P{^sk}', "");
-Expect(1, 94, '\p{ _Sk}', "");
-Expect(0, 94, '\p{^ _Sk}', "");
-Expect(0, 94, '\P{ _Sk}', "");
-Expect(1, 94, '\P{^ _Sk}', "");
-Expect(0, 93, '\p{ _Sk}', "");
-Expect(1, 93, '\p{^ _Sk}', "");
-Expect(1, 93, '\P{ _Sk}', "");
-Expect(0, 93, '\P{^ _Sk}', "");
-Error('\p{:=__is-SK}');
-Error('\P{:=__is-SK}');
-Expect(1, 94, '\p{issk}', "");
-Expect(0, 94, '\p{^issk}', "");
-Expect(0, 94, '\P{issk}', "");
-Expect(1, 94, '\P{^issk}', "");
-Expect(0, 93, '\p{issk}', "");
-Expect(1, 93, '\p{^issk}', "");
-Expect(1, 93, '\P{issk}', "");
-Expect(0, 93, '\P{^issk}', "");
-Expect(1, 94, '\p{ is-Sk}', "");
-Expect(0, 94, '\p{^ is-Sk}', "");
-Expect(0, 94, '\P{ is-Sk}', "");
-Expect(1, 94, '\P{^ is-Sk}', "");
-Expect(0, 93, '\p{ is-Sk}', "");
-Expect(1, 93, '\p{^ is-Sk}', "");
-Expect(1, 93, '\P{ is-Sk}', "");
-Expect(0, 93, '\P{^ is-Sk}', "");
-Error('\p{/a/ Armenian}');
-Error('\P{/a/ Armenian}');
-Expect(1, 1366, '\p{armenian}', "");
-Expect(0, 1366, '\p{^armenian}', "");
-Expect(0, 1366, '\P{armenian}', "");
-Expect(1, 1366, '\P{^armenian}', "");
-Expect(0, 1328, '\p{armenian}', "");
-Expect(1, 1328, '\p{^armenian}', "");
-Expect(1, 1328, '\P{armenian}', "");
-Expect(0, 1328, '\P{^armenian}', "");
-Expect(1, 1366, '\p{ Armenian}', "");
-Expect(0, 1366, '\p{^ Armenian}', "");
-Expect(0, 1366, '\P{ Armenian}', "");
-Expect(1, 1366, '\P{^ Armenian}', "");
-Expect(0, 1328, '\p{ Armenian}', "");
-Expect(1, 1328, '\p{^ Armenian}', "");
-Expect(1, 1328, '\P{ Armenian}', "");
-Expect(0, 1328, '\P{^ Armenian}', "");
-Error('\p{_/a/Is_Armenian}');
-Error('\P{_/a/Is_Armenian}');
-Expect(1, 1366, '\p{isarmenian}', "");
-Expect(0, 1366, '\p{^isarmenian}', "");
-Expect(0, 1366, '\P{isarmenian}', "");
-Expect(1, 1366, '\P{^isarmenian}', "");
-Expect(0, 1328, '\p{isarmenian}', "");
-Expect(1, 1328, '\p{^isarmenian}', "");
-Expect(1, 1328, '\P{isarmenian}', "");
-Expect(0, 1328, '\P{^isarmenian}', "");
-Expect(1, 1366, '\p{ ISARMENIAN}', "");
-Expect(0, 1366, '\p{^ ISARMENIAN}', "");
-Expect(0, 1366, '\P{ ISARMENIAN}', "");
-Expect(1, 1366, '\P{^ ISARMENIAN}', "");
-Expect(0, 1328, '\p{ ISARMENIAN}', "");
-Expect(1, 1328, '\p{^ ISARMENIAN}', "");
-Expect(1, 1328, '\P{ ISARMENIAN}', "");
-Expect(0, 1328, '\P{^ ISARMENIAN}', "");
-Error('\p{_/a/Armn}');
-Error('\P{_/a/Armn}');
-Expect(1, 1366, '\p{armn}', "");
-Expect(0, 1366, '\p{^armn}', "");
-Expect(0, 1366, '\P{armn}', "");
-Expect(1, 1366, '\P{^armn}', "");
-Expect(0, 1328, '\p{armn}', "");
-Expect(1, 1328, '\p{^armn}', "");
-Expect(1, 1328, '\P{armn}', "");
-Expect(0, 1328, '\P{^armn}', "");
-Expect(1, 1366, '\p{--armn}', "");
-Expect(0, 1366, '\p{^--armn}', "");
-Expect(0, 1366, '\P{--armn}', "");
-Expect(1, 1366, '\P{^--armn}', "");
-Expect(0, 1328, '\p{--armn}', "");
-Expect(1, 1328, '\p{^--armn}', "");
-Expect(1, 1328, '\P{--armn}', "");
-Expect(0, 1328, '\P{^--armn}', "");
-Error('\p{ /a/IS_Armn}');
-Error('\P{ /a/IS_Armn}');
-Expect(1, 1366, '\p{isarmn}', "");
-Expect(0, 1366, '\p{^isarmn}', "");
-Expect(0, 1366, '\P{isarmn}', "");
-Expect(1, 1366, '\P{^isarmn}', "");
-Expect(0, 1328, '\p{isarmn}', "");
-Expect(1, 1328, '\p{^isarmn}', "");
-Expect(1, 1328, '\P{isarmn}', "");
-Expect(0, 1328, '\P{^isarmn}', "");
-Expect(1, 1366, '\p{-_Is Armn}', "");
-Expect(0, 1366, '\p{^-_Is Armn}', "");
-Expect(0, 1366, '\P{-_Is Armn}', "");
-Expect(1, 1366, '\P{^-_Is Armn}', "");
-Expect(0, 1328, '\p{-_Is Armn}', "");
-Expect(1, 1328, '\p{^-_Is Armn}', "");
-Expect(1, 1328, '\P{-_Is Armn}', "");
-Expect(0, 1328, '\P{^-_Is Armn}', "");
-Error('\p{ -XID CONTINUE/a/}');
-Error('\P{ -XID CONTINUE/a/}');
-Expect(1, 57, '\p{xidcontinue}', "");
-Expect(0, 57, '\p{^xidcontinue}', "");
-Expect(0, 57, '\P{xidcontinue}', "");
-Expect(1, 57, '\P{^xidcontinue}', "");
-Expect(0, 47, '\p{xidcontinue}', "");
-Expect(1, 47, '\p{^xidcontinue}', "");
-Expect(1, 47, '\P{xidcontinue}', "");
-Expect(0, 47, '\P{^xidcontinue}', "");
-Expect(1, 57, '\p{ xid Continue}', "");
-Expect(0, 57, '\p{^ xid Continue}', "");
-Expect(0, 57, '\P{ xid Continue}', "");
-Expect(1, 57, '\P{^ xid Continue}', "");
-Expect(0, 47, '\p{ xid Continue}', "");
-Expect(1, 47, '\p{^ xid Continue}', "");
-Expect(1, 47, '\P{ xid Continue}', "");
-Expect(0, 47, '\P{^ xid Continue}', "");
-Error('\p{_:=Isxid Continue}');
-Error('\P{_:=Isxid Continue}');
-Expect(1, 57, '\p{isxidcontinue}', "");
-Expect(0, 57, '\p{^isxidcontinue}', "");
-Expect(0, 57, '\P{isxidcontinue}', "");
-Expect(1, 57, '\P{^isxidcontinue}', "");
-Expect(0, 47, '\p{isxidcontinue}', "");
-Expect(1, 47, '\p{^isxidcontinue}', "");
-Expect(1, 47, '\P{isxidcontinue}', "");
-Expect(0, 47, '\P{^isxidcontinue}', "");
-Expect(1, 57, '\p{- Is XIDcontinue}', "");
-Expect(0, 57, '\p{^- Is XIDcontinue}', "");
-Expect(0, 57, '\P{- Is XIDcontinue}', "");
-Expect(1, 57, '\P{^- Is XIDcontinue}', "");
-Expect(0, 47, '\p{- Is XIDcontinue}', "");
-Expect(1, 47, '\p{^- Is XIDcontinue}', "");
-Expect(1, 47, '\P{- Is XIDcontinue}', "");
-Expect(0, 47, '\P{^- Is XIDcontinue}', "");
-Error('\p{ /a/xidc}');
-Error('\P{ /a/xidc}');
-Expect(1, 57, '\p{xidc}', "");
-Expect(0, 57, '\p{^xidc}', "");
-Expect(0, 57, '\P{xidc}', "");
-Expect(1, 57, '\P{^xidc}', "");
-Expect(0, 47, '\p{xidc}', "");
-Expect(1, 47, '\p{^xidc}', "");
-Expect(1, 47, '\P{xidc}', "");
-Expect(0, 47, '\P{^xidc}', "");
-Expect(1, 57, '\p{ _XIDC}', "");
-Expect(0, 57, '\p{^ _XIDC}', "");
-Expect(0, 57, '\P{ _XIDC}', "");
-Expect(1, 57, '\P{^ _XIDC}', "");
-Expect(0, 47, '\p{ _XIDC}', "");
-Expect(1, 47, '\p{^ _XIDC}', "");
-Expect(1, 47, '\P{ _XIDC}', "");
-Expect(0, 47, '\P{^ _XIDC}', "");
-Error('\p{/a/_Is XIDC}');
-Error('\P{/a/_Is XIDC}');
-Expect(1, 57, '\p{isxidc}', "");
-Expect(0, 57, '\p{^isxidc}', "");
-Expect(0, 57, '\P{isxidc}', "");
-Expect(1, 57, '\P{^isxidc}', "");
-Expect(0, 47, '\p{isxidc}', "");
-Expect(1, 47, '\p{^isxidc}', "");
-Expect(1, 47, '\P{isxidc}', "");
-Expect(0, 47, '\P{^isxidc}', "");
-Expect(1, 57, '\p{--Is_XIDC}', "");
-Expect(0, 57, '\p{^--Is_XIDC}', "");
-Expect(0, 57, '\P{--Is_XIDC}', "");
-Expect(1, 57, '\P{^--Is_XIDC}', "");
-Expect(0, 47, '\p{--Is_XIDC}', "");
-Expect(1, 47, '\p{^--Is_XIDC}', "");
-Expect(1, 47, '\P{--Is_XIDC}', "");
-Expect(0, 47, '\P{^--Is_XIDC}', "");
-Error('\p{ :=hyphen}');
-Error('\P{ :=hyphen}');
-Expect(1, 45, '\p{hyphen}', "");
-Expect(0, 45, '\p{^hyphen}', "");
-Expect(0, 45, '\P{hyphen}', "");
-Expect(1, 45, '\P{^hyphen}', "");
-Expect(0, 44, '\p{hyphen}', "");
-Expect(1, 44, '\p{^hyphen}', "");
-Expect(1, 44, '\P{hyphen}', "");
-Expect(0, 44, '\P{^hyphen}', "");
-Expect(1, 45, '\p{--hyphen}', "");
-Expect(0, 45, '\p{^--hyphen}', "");
-Expect(0, 45, '\P{--hyphen}', "");
-Expect(1, 45, '\P{^--hyphen}', "");
-Expect(0, 44, '\p{--hyphen}', "");
-Expect(1, 44, '\p{^--hyphen}', "");
-Expect(1, 44, '\P{--hyphen}', "");
-Expect(0, 44, '\P{^--hyphen}', "");
-Error('\p{ Is_HYPHEN:=}');
-Error('\P{ Is_HYPHEN:=}');
-Expect(1, 45, '\p{ishyphen}', "");
-Expect(0, 45, '\p{^ishyphen}', "");
-Expect(0, 45, '\P{ishyphen}', "");
-Expect(1, 45, '\P{^ishyphen}', "");
-Expect(0, 44, '\p{ishyphen}', "");
-Expect(1, 44, '\p{^ishyphen}', "");
-Expect(1, 44, '\P{ishyphen}', "");
-Expect(0, 44, '\P{^ishyphen}', "");
-Expect(1, 45, '\p{Is_HYPHEN}', "");
-Expect(0, 45, '\p{^Is_HYPHEN}', "");
-Expect(0, 45, '\P{Is_HYPHEN}', "");
-Expect(1, 45, '\P{^Is_HYPHEN}', "");
-Expect(0, 44, '\p{Is_HYPHEN}', "");
-Expect(1, 44, '\p{^Is_HYPHEN}', "");
-Expect(1, 44, '\P{Is_HYPHEN}', "");
-Expect(0, 44, '\P{^Is_HYPHEN}', "");
-Error('\p{ unified/a/canadian_aboriginal_syllabics}');
-Error('\P{ unified/a/canadian_aboriginal_syllabics}');
-Expect(1, 5759, '\p{unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\p{^unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\P{unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\P{^unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\p{unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\p{^unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\P{unifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\P{^unifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\p{Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(0, 5759, '\p{^Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(0, 5759, '\P{Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(1, 5759, '\P{^Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(0, 5119, '\p{Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(1, 5119, '\p{^Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(1, 5119, '\P{Unified CANADIAN-Aboriginal_Syllabics}', "");
-Expect(0, 5119, '\P{^Unified CANADIAN-Aboriginal_Syllabics}', "");
-Error('\p{_:=is UNIFIED_CANADIANaboriginal-SYLLABICS}');
-Error('\P{_:=is UNIFIED_CANADIANaboriginal-SYLLABICS}');
-Expect(1, 5759, '\p{isunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\p{^isunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\P{isunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\P{^isunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\p{isunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\p{^isunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\P{isunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\P{^isunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\p{_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(0, 5759, '\p{^_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(0, 5759, '\P{_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(1, 5759, '\P{^_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(0, 5119, '\p{_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(1, 5119, '\p{^_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(1, 5119, '\P{_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Expect(0, 5119, '\P{^_is Unified CANADIAN ABORIGINAL_syllabics}', "");
-Error('\p{ -IN UNIFIED canadianAboriginal/a/Syllabics}');
-Error('\P{ -IN UNIFIED canadianAboriginal/a/Syllabics}');
-Expect(1, 5759, '\p{inunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\p{^inunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5759, '\P{inunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\P{^inunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\p{inunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\p{^inunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5119, '\P{inunifiedcanadianaboriginalsyllabics}', "");
-Expect(0, 5119, '\P{^inunifiedcanadianaboriginalsyllabics}', "");
-Expect(1, 5759, '\p{_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(0, 5759, '\p{^_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(0, 5759, '\P{_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(1, 5759, '\P{^_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(0, 5119, '\p{_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(1, 5119, '\p{^_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(1, 5119, '\P{_In Unified-Canadian_aboriginalsyllabics}', "");
-Expect(0, 5119, '\P{^_In Unified-Canadian_aboriginalsyllabics}', "");
-Error('\p{_Canadian Syllabics:=}');
-Error('\P{_Canadian Syllabics:=}');
-Expect(1, 5759, '\p{canadiansyllabics}', "");
-Expect(0, 5759, '\p{^canadiansyllabics}', "");
-Expect(0, 5759, '\P{canadiansyllabics}', "");
-Expect(1, 5759, '\P{^canadiansyllabics}', "");
-Expect(0, 5119, '\p{canadiansyllabics}', "");
-Expect(1, 5119, '\p{^canadiansyllabics}', "");
-Expect(1, 5119, '\P{canadiansyllabics}', "");
-Expect(0, 5119, '\P{^canadiansyllabics}', "");
-Expect(1, 5759, '\p{ -Canadian-syllabics}', "");
-Expect(0, 5759, '\p{^ -Canadian-syllabics}', "");
-Expect(0, 5759, '\P{ -Canadian-syllabics}', "");
-Expect(1, 5759, '\P{^ -Canadian-syllabics}', "");
-Expect(0, 5119, '\p{ -Canadian-syllabics}', "");
-Expect(1, 5119, '\p{^ -Canadian-syllabics}', "");
-Expect(1, 5119, '\P{ -Canadian-syllabics}', "");
-Expect(0, 5119, '\P{^ -Canadian-syllabics}', "");
-Error('\p{:= Is Canadian_syllabics}');
-Error('\P{:= Is Canadian_syllabics}');
-Expect(1, 5759, '\p{iscanadiansyllabics}', "");
-Expect(0, 5759, '\p{^iscanadiansyllabics}', "");
-Expect(0, 5759, '\P{iscanadiansyllabics}', "");
-Expect(1, 5759, '\P{^iscanadiansyllabics}', "");
-Expect(0, 5119, '\p{iscanadiansyllabics}', "");
-Expect(1, 5119, '\p{^iscanadiansyllabics}', "");
-Expect(1, 5119, '\P{iscanadiansyllabics}', "");
-Expect(0, 5119, '\P{^iscanadiansyllabics}', "");
-Expect(1, 5759, '\p{ is Canadiansyllabics}', "");
-Expect(0, 5759, '\p{^ is Canadiansyllabics}', "");
-Expect(0, 5759, '\P{ is Canadiansyllabics}', "");
-Expect(1, 5759, '\P{^ is Canadiansyllabics}', "");
-Expect(0, 5119, '\p{ is Canadiansyllabics}', "");
-Expect(1, 5119, '\p{^ is Canadiansyllabics}', "");
-Expect(1, 5119, '\P{ is Canadiansyllabics}', "");
-Expect(0, 5119, '\P{^ is Canadiansyllabics}', "");
-Error('\p{ IN Canadian/a/syllabics}');
-Error('\P{ IN Canadian/a/syllabics}');
-Expect(1, 5759, '\p{incanadiansyllabics}', "");
-Expect(0, 5759, '\p{^incanadiansyllabics}', "");
-Expect(0, 5759, '\P{incanadiansyllabics}', "");
-Expect(1, 5759, '\P{^incanadiansyllabics}', "");
-Expect(0, 5119, '\p{incanadiansyllabics}', "");
-Expect(1, 5119, '\p{^incanadiansyllabics}', "");
-Expect(1, 5119, '\P{incanadiansyllabics}', "");
-Expect(0, 5119, '\P{^incanadiansyllabics}', "");
-Expect(1, 5759, '\p{ _InCANADIAN_SYLLABICS}', "");
-Expect(0, 5759, '\p{^ _InCANADIAN_SYLLABICS}', "");
-Expect(0, 5759, '\P{ _InCANADIAN_SYLLABICS}', "");
-Expect(1, 5759, '\P{^ _InCANADIAN_SYLLABICS}', "");
-Expect(0, 5119, '\p{ _InCANADIAN_SYLLABICS}', "");
-Expect(1, 5119, '\p{^ _InCANADIAN_SYLLABICS}', "");
-Expect(1, 5119, '\P{ _InCANADIAN_SYLLABICS}', "");
-Expect(0, 5119, '\P{^ _InCANADIAN_SYLLABICS}', "");
-Error('\p{ -egyptian_Hieroglyphs/a/}');
-Error('\P{ -egyptian_Hieroglyphs/a/}');
-Expect(1, 78894, '\p{egyptianhieroglyphs}', "");
-Expect(0, 78894, '\p{^egyptianhieroglyphs}', "");
-Expect(0, 78894, '\P{egyptianhieroglyphs}', "");
-Expect(1, 78894, '\P{^egyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{egyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^egyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{egyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^egyptianhieroglyphs}', "");
-Expect(1, 78894, '\p{ EgyptianHIEROGLYPHS}', "");
-Expect(0, 78894, '\p{^ EgyptianHIEROGLYPHS}', "");
-Expect(0, 78894, '\P{ EgyptianHIEROGLYPHS}', "");
-Expect(1, 78894, '\P{^ EgyptianHIEROGLYPHS}', "");
-Expect(0, 77823, '\p{ EgyptianHIEROGLYPHS}', "");
-Expect(1, 77823, '\p{^ EgyptianHIEROGLYPHS}', "");
-Expect(1, 77823, '\P{ EgyptianHIEROGLYPHS}', "");
-Expect(0, 77823, '\P{^ EgyptianHIEROGLYPHS}', "");
-Error('\p{ is/a/EGYPTIANHieroglyphs}');
-Error('\P{ is/a/EGYPTIANHieroglyphs}');
-Expect(1, 78894, '\p{isegyptianhieroglyphs}', "");
-Expect(0, 78894, '\p{^isegyptianhieroglyphs}', "");
-Expect(0, 78894, '\P{isegyptianhieroglyphs}', "");
-Expect(1, 78894, '\P{^isegyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{isegyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^isegyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{isegyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^isegyptianhieroglyphs}', "");
-Expect(1, 78894, '\p{ Is egyptian_Hieroglyphs}', "");
-Expect(0, 78894, '\p{^ Is egyptian_Hieroglyphs}', "");
-Expect(0, 78894, '\P{ Is egyptian_Hieroglyphs}', "");
-Expect(1, 78894, '\P{^ Is egyptian_Hieroglyphs}', "");
-Expect(0, 77823, '\p{ Is egyptian_Hieroglyphs}', "");
-Expect(1, 77823, '\p{^ Is egyptian_Hieroglyphs}', "");
-Expect(1, 77823, '\P{ Is egyptian_Hieroglyphs}', "");
-Expect(0, 77823, '\P{^ Is egyptian_Hieroglyphs}', "");
-Error('\p{/a/ _egyp}');
-Error('\P{/a/ _egyp}');
-Expect(1, 78894, '\p{egyp}', "");
-Expect(0, 78894, '\p{^egyp}', "");
-Expect(0, 78894, '\P{egyp}', "");
-Expect(1, 78894, '\P{^egyp}', "");
-Expect(0, 77823, '\p{egyp}', "");
-Expect(1, 77823, '\p{^egyp}', "");
-Expect(1, 77823, '\P{egyp}', "");
-Expect(0, 77823, '\P{^egyp}', "");
-Expect(1, 78894, '\p{- Egyp}', "");
-Expect(0, 78894, '\p{^- Egyp}', "");
-Expect(0, 78894, '\P{- Egyp}', "");
-Expect(1, 78894, '\P{^- Egyp}', "");
-Expect(0, 77823, '\p{- Egyp}', "");
-Expect(1, 77823, '\p{^- Egyp}', "");
-Expect(1, 77823, '\P{- Egyp}', "");
-Expect(0, 77823, '\P{^- Egyp}', "");
-Error('\p{-Is:=EGYP}');
-Error('\P{-Is:=EGYP}');
-Expect(1, 78894, '\p{isegyp}', "");
-Expect(0, 78894, '\p{^isegyp}', "");
-Expect(0, 78894, '\P{isegyp}', "");
-Expect(1, 78894, '\P{^isegyp}', "");
-Expect(0, 77823, '\p{isegyp}', "");
-Expect(1, 77823, '\p{^isegyp}', "");
-Expect(1, 77823, '\P{isegyp}', "");
-Expect(0, 77823, '\P{^isegyp}', "");
-Expect(1, 78894, '\p{__ISEgyp}', "");
-Expect(0, 78894, '\p{^__ISEgyp}', "");
-Expect(0, 78894, '\P{__ISEgyp}', "");
-Expect(1, 78894, '\P{^__ISEgyp}', "");
-Expect(0, 77823, '\p{__ISEgyp}', "");
-Expect(1, 77823, '\p{^__ISEgyp}', "");
-Expect(1, 77823, '\P{__ISEgyp}', "");
-Expect(0, 77823, '\P{^__ISEgyp}', "");
-Error('\p{-/a/Aegean-Numbers}');
-Error('\P{-/a/Aegean-Numbers}');
-Expect(1, 65855, '\p{aegeannumbers}', "");
-Expect(0, 65855, '\p{^aegeannumbers}', "");
-Expect(0, 65855, '\P{aegeannumbers}', "");
-Expect(1, 65855, '\P{^aegeannumbers}', "");
-Expect(0, 65791, '\p{aegeannumbers}', "");
-Expect(1, 65791, '\p{^aegeannumbers}', "");
-Expect(1, 65791, '\P{aegeannumbers}', "");
-Expect(0, 65791, '\P{^aegeannumbers}', "");
-Expect(1, 65855, '\p{_ AEGEAN-Numbers}', "");
-Expect(0, 65855, '\p{^_ AEGEAN-Numbers}', "");
-Expect(0, 65855, '\P{_ AEGEAN-Numbers}', "");
-Expect(1, 65855, '\P{^_ AEGEAN-Numbers}', "");
-Expect(0, 65791, '\p{_ AEGEAN-Numbers}', "");
-Expect(1, 65791, '\p{^_ AEGEAN-Numbers}', "");
-Expect(1, 65791, '\P{_ AEGEAN-Numbers}', "");
-Expect(0, 65791, '\P{^_ AEGEAN-Numbers}', "");
-Error('\p{ :=Is-aegeannumbers}');
-Error('\P{ :=Is-aegeannumbers}');
-Expect(1, 65855, '\p{isaegeannumbers}', "");
-Expect(0, 65855, '\p{^isaegeannumbers}', "");
-Expect(0, 65855, '\P{isaegeannumbers}', "");
-Expect(1, 65855, '\P{^isaegeannumbers}', "");
-Expect(0, 65791, '\p{isaegeannumbers}', "");
-Expect(1, 65791, '\p{^isaegeannumbers}', "");
-Expect(1, 65791, '\P{isaegeannumbers}', "");
-Expect(0, 65791, '\P{^isaegeannumbers}', "");
-Expect(1, 65855, '\p{ isaegean Numbers}', "");
-Expect(0, 65855, '\p{^ isaegean Numbers}', "");
-Expect(0, 65855, '\P{ isaegean Numbers}', "");
-Expect(1, 65855, '\P{^ isaegean Numbers}', "");
-Expect(0, 65791, '\p{ isaegean Numbers}', "");
-Expect(1, 65791, '\p{^ isaegean Numbers}', "");
-Expect(1, 65791, '\P{ isaegean Numbers}', "");
-Expect(0, 65791, '\P{^ isaegean Numbers}', "");
-Error('\p{_-In_Aegean:=Numbers}');
-Error('\P{_-In_Aegean:=Numbers}');
-Expect(1, 65855, '\p{inaegeannumbers}', "");
-Expect(0, 65855, '\p{^inaegeannumbers}', "");
-Expect(0, 65855, '\P{inaegeannumbers}', "");
-Expect(1, 65855, '\P{^inaegeannumbers}', "");
-Expect(0, 65791, '\p{inaegeannumbers}', "");
-Expect(1, 65791, '\p{^inaegeannumbers}', "");
-Expect(1, 65791, '\P{inaegeannumbers}', "");
-Expect(0, 65791, '\P{^inaegeannumbers}', "");
-Expect(1, 65855, '\p{ in_Aegean numbers}', "");
-Expect(0, 65855, '\p{^ in_Aegean numbers}', "");
-Expect(0, 65855, '\P{ in_Aegean numbers}', "");
-Expect(1, 65855, '\P{^ in_Aegean numbers}', "");
-Expect(0, 65791, '\p{ in_Aegean numbers}', "");
-Expect(1, 65791, '\p{^ in_Aegean numbers}', "");
-Expect(1, 65791, '\P{ in_Aegean numbers}', "");
-Expect(0, 65791, '\P{^ in_Aegean numbers}', "");
-Error('\p{:=--BIDICONTROL}');
-Error('\P{:=--BIDICONTROL}');
-Expect(1, 8207, '\p{bidicontrol}', "");
-Expect(0, 8207, '\p{^bidicontrol}', "");
-Expect(0, 8207, '\P{bidicontrol}', "");
-Expect(1, 8207, '\P{^bidicontrol}', "");
-Expect(0, 8205, '\p{bidicontrol}', "");
-Expect(1, 8205, '\p{^bidicontrol}', "");
-Expect(1, 8205, '\P{bidicontrol}', "");
-Expect(0, 8205, '\P{^bidicontrol}', "");
-Expect(1, 8207, '\p{ _Bidi_control}', "");
-Expect(0, 8207, '\p{^ _Bidi_control}', "");
-Expect(0, 8207, '\P{ _Bidi_control}', "");
-Expect(1, 8207, '\P{^ _Bidi_control}', "");
-Expect(0, 8205, '\p{ _Bidi_control}', "");
-Expect(1, 8205, '\p{^ _Bidi_control}', "");
-Expect(1, 8205, '\P{ _Bidi_control}', "");
-Expect(0, 8205, '\P{^ _Bidi_control}', "");
-Error('\p{_ IS_BIDI-CONTROL:=}');
-Error('\P{_ IS_BIDI-CONTROL:=}');
-Expect(1, 8207, '\p{isbidicontrol}', "");
-Expect(0, 8207, '\p{^isbidicontrol}', "");
-Expect(0, 8207, '\P{isbidicontrol}', "");
-Expect(1, 8207, '\P{^isbidicontrol}', "");
-Expect(0, 8205, '\p{isbidicontrol}', "");
-Expect(1, 8205, '\p{^isbidicontrol}', "");
-Expect(1, 8205, '\P{isbidicontrol}', "");
-Expect(0, 8205, '\P{^isbidicontrol}', "");
-Expect(1, 8207, '\p{_ Is_BIDIControl}', "");
-Expect(0, 8207, '\p{^_ Is_BIDIControl}', "");
-Expect(0, 8207, '\P{_ Is_BIDIControl}', "");
-Expect(1, 8207, '\P{^_ Is_BIDIControl}', "");
-Expect(0, 8205, '\p{_ Is_BIDIControl}', "");
-Expect(1, 8205, '\p{^_ Is_BIDIControl}', "");
-Expect(1, 8205, '\P{_ Is_BIDIControl}', "");
-Expect(0, 8205, '\P{^_ Is_BIDIControl}', "");
-Error('\p{/a/ _Bidi C}');
-Error('\P{/a/ _Bidi C}');
-Expect(1, 8207, '\p{bidic}', "");
-Expect(0, 8207, '\p{^bidic}', "");
-Expect(0, 8207, '\P{bidic}', "");
-Expect(1, 8207, '\P{^bidic}', "");
-Expect(0, 8205, '\p{bidic}', "");
-Expect(1, 8205, '\p{^bidic}', "");
-Expect(1, 8205, '\P{bidic}', "");
-Expect(0, 8205, '\P{^bidic}', "");
-Expect(1, 8207, '\p{-bidi_C}', "");
-Expect(0, 8207, '\p{^-bidi_C}', "");
-Expect(0, 8207, '\P{-bidi_C}', "");
-Expect(1, 8207, '\P{^-bidi_C}', "");
-Expect(0, 8205, '\p{-bidi_C}', "");
-Expect(1, 8205, '\p{^-bidi_C}', "");
-Expect(1, 8205, '\P{-bidi_C}', "");
-Expect(0, 8205, '\P{^-bidi_C}', "");
-Error('\p{ IS/a/Bidi C}');
-Error('\P{ IS/a/Bidi C}');
-Expect(1, 8207, '\p{isbidic}', "");
-Expect(0, 8207, '\p{^isbidic}', "");
-Expect(0, 8207, '\P{isbidic}', "");
-Expect(1, 8207, '\P{^isbidic}', "");
-Expect(0, 8205, '\p{isbidic}', "");
-Expect(1, 8205, '\p{^isbidic}', "");
-Expect(1, 8205, '\P{isbidic}', "");
-Expect(0, 8205, '\P{^isbidic}', "");
-Expect(1, 8207, '\p{_ Is BIDI-c}', "");
-Expect(0, 8207, '\p{^_ Is BIDI-c}', "");
-Expect(0, 8207, '\P{_ Is BIDI-c}', "");
-Expect(1, 8207, '\P{^_ Is BIDI-c}', "");
-Expect(0, 8205, '\p{_ Is BIDI-c}', "");
-Expect(1, 8205, '\p{^_ Is BIDI-c}', "");
-Expect(1, 8205, '\P{_ Is BIDI-c}', "");
-Expect(0, 8205, '\P{^_ Is BIDI-c}', "");
-Error('\p{-/a/COMBINING Diacritical MARKS-for_symbols}');
-Error('\P{-/a/COMBINING Diacritical MARKS-for_symbols}');
-Expect(1, 8447, '\p{combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\p{^combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\P{combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\P{^combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\p{combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\p{^combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\P{combiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\P{^combiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\p{ Combining Diacritical_Marks For-Symbols}', "");
-Expect(0, 8447, '\p{^ Combining Diacritical_Marks For-Symbols}', "");
-Expect(0, 8447, '\P{ Combining Diacritical_Marks For-Symbols}', "");
-Expect(1, 8447, '\P{^ Combining Diacritical_Marks For-Symbols}', "");
-Expect(0, 8399, '\p{ Combining Diacritical_Marks For-Symbols}', "");
-Expect(1, 8399, '\p{^ Combining Diacritical_Marks For-Symbols}', "");
-Expect(1, 8399, '\P{ Combining Diacritical_Marks For-Symbols}', "");
-Expect(0, 8399, '\P{^ Combining Diacritical_Marks For-Symbols}', "");
-Error('\p{ :=Is CombiningDIACRITICAL-Marks_for symbols}');
-Error('\P{ :=Is CombiningDIACRITICAL-Marks_for symbols}');
-Expect(1, 8447, '\p{iscombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\p{^iscombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\P{iscombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\P{^iscombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\p{iscombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\p{^iscombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\P{iscombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\P{^iscombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\p{_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(0, 8447, '\p{^_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(0, 8447, '\P{_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(1, 8447, '\P{^_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(0, 8399, '\p{_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(1, 8399, '\p{^_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(1, 8399, '\P{_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Expect(0, 8399, '\P{^_IS_Combining-DIACRITICAL-MarksForSymbols}', "");
-Error('\p{_:=In COMBININGdiacritical marks For Symbols}');
-Error('\P{_:=In COMBININGdiacritical marks For Symbols}');
-Expect(1, 8447, '\p{incombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\p{^incombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8447, '\P{incombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\P{^incombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\p{incombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\p{^incombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8399, '\P{incombiningdiacriticalmarksforsymbols}', "");
-Expect(0, 8399, '\P{^incombiningdiacriticalmarksforsymbols}', "");
-Expect(1, 8447, '\p{-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(0, 8447, '\p{^-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(0, 8447, '\P{-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(1, 8447, '\P{^-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(0, 8399, '\p{-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(1, 8399, '\p{^-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(1, 8399, '\P{-in combiningDiacritical MARKS-ForSymbols}', "");
-Expect(0, 8399, '\P{^-in combiningDiacritical MARKS-ForSymbols}', "");
-Error('\p{ Combining-MARKS_For_SYMBOLS:=}');
-Error('\P{ Combining-MARKS_For_SYMBOLS:=}');
-Expect(1, 8447, '\p{combiningmarksforsymbols}', "");
-Expect(0, 8447, '\p{^combiningmarksforsymbols}', "");
-Expect(0, 8447, '\P{combiningmarksforsymbols}', "");
-Expect(1, 8447, '\P{^combiningmarksforsymbols}', "");
-Expect(0, 8399, '\p{combiningmarksforsymbols}', "");
-Expect(1, 8399, '\p{^combiningmarksforsymbols}', "");
-Expect(1, 8399, '\P{combiningmarksforsymbols}', "");
-Expect(0, 8399, '\P{^combiningmarksforsymbols}', "");
-Expect(1, 8447, '\p{ COMBINING marksFor-Symbols}', "");
-Expect(0, 8447, '\p{^ COMBINING marksFor-Symbols}', "");
-Expect(0, 8447, '\P{ COMBINING marksFor-Symbols}', "");
-Expect(1, 8447, '\P{^ COMBINING marksFor-Symbols}', "");
-Expect(0, 8399, '\p{ COMBINING marksFor-Symbols}', "");
-Expect(1, 8399, '\p{^ COMBINING marksFor-Symbols}', "");
-Expect(1, 8399, '\P{ COMBINING marksFor-Symbols}', "");
-Expect(0, 8399, '\P{^ COMBINING marksFor-Symbols}', "");
-Error('\p{_:=Is_Combining-Marks for SYMBOLS}');
-Error('\P{_:=Is_Combining-Marks for SYMBOLS}');
-Expect(1, 8447, '\p{iscombiningmarksforsymbols}', "");
-Expect(0, 8447, '\p{^iscombiningmarksforsymbols}', "");
-Expect(0, 8447, '\P{iscombiningmarksforsymbols}', "");
-Expect(1, 8447, '\P{^iscombiningmarksforsymbols}', "");
-Expect(0, 8399, '\p{iscombiningmarksforsymbols}', "");
-Expect(1, 8399, '\p{^iscombiningmarksforsymbols}', "");
-Expect(1, 8399, '\P{iscombiningmarksforsymbols}', "");
-Expect(0, 8399, '\P{^iscombiningmarksforsymbols}', "");
-Expect(1, 8447, '\p{__IS_Combining Marks FORsymbols}', "");
-Expect(0, 8447, '\p{^__IS_Combining Marks FORsymbols}', "");
-Expect(0, 8447, '\P{__IS_Combining Marks FORsymbols}', "");
-Expect(1, 8447, '\P{^__IS_Combining Marks FORsymbols}', "");
-Expect(0, 8399, '\p{__IS_Combining Marks FORsymbols}', "");
-Expect(1, 8399, '\p{^__IS_Combining Marks FORsymbols}', "");
-Expect(1, 8399, '\P{__IS_Combining Marks FORsymbols}', "");
-Expect(0, 8399, '\P{^__IS_Combining Marks FORsymbols}', "");
-Error('\p{--in COMBINING:=marks FOR_symbols}');
-Error('\P{--in COMBINING:=marks FOR_symbols}');
-Expect(1, 8447, '\p{incombiningmarksforsymbols}', "");
-Expect(0, 8447, '\p{^incombiningmarksforsymbols}', "");
-Expect(0, 8447, '\P{incombiningmarksforsymbols}', "");
-Expect(1, 8447, '\P{^incombiningmarksforsymbols}', "");
-Expect(0, 8399, '\p{incombiningmarksforsymbols}', "");
-Expect(1, 8399, '\p{^incombiningmarksforsymbols}', "");
-Expect(1, 8399, '\P{incombiningmarksforsymbols}', "");
-Expect(0, 8399, '\P{^incombiningmarksforsymbols}', "");
-Expect(1, 8447, '\p{_IN-combining Marks_For_Symbols}', "");
-Expect(0, 8447, '\p{^_IN-combining Marks_For_Symbols}', "");
-Expect(0, 8447, '\P{_IN-combining Marks_For_Symbols}', "");
-Expect(1, 8447, '\P{^_IN-combining Marks_For_Symbols}', "");
-Expect(0, 8399, '\p{_IN-combining Marks_For_Symbols}', "");
-Expect(1, 8399, '\p{^_IN-combining Marks_For_Symbols}', "");
-Expect(1, 8399, '\P{_IN-combining Marks_For_Symbols}', "");
-Expect(0, 8399, '\P{^_IN-combining Marks_For_Symbols}', "");
-Error('\p{_ SmallForm Variants:=}');
-Error('\P{_ SmallForm Variants:=}');
-Expect(1, 65135, '\p{smallformvariants}', "");
-Expect(0, 65135, '\p{^smallformvariants}', "");
-Expect(0, 65135, '\P{smallformvariants}', "");
-Expect(1, 65135, '\P{^smallformvariants}', "");
-Expect(0, 65103, '\p{smallformvariants}', "");
-Expect(1, 65103, '\p{^smallformvariants}', "");
-Expect(1, 65103, '\P{smallformvariants}', "");
-Expect(0, 65103, '\P{^smallformvariants}', "");
-Expect(1, 65135, '\p{_ SmallForm variants}', "");
-Expect(0, 65135, '\p{^_ SmallForm variants}', "");
-Expect(0, 65135, '\P{_ SmallForm variants}', "");
-Expect(1, 65135, '\P{^_ SmallForm variants}', "");
-Expect(0, 65103, '\p{_ SmallForm variants}', "");
-Expect(1, 65103, '\p{^_ SmallForm variants}', "");
-Expect(1, 65103, '\P{_ SmallForm variants}', "");
-Expect(0, 65103, '\P{^_ SmallForm variants}', "");
-Error('\p{ :=IS Small_formVariants}');
-Error('\P{ :=IS Small_formVariants}');
-Expect(1, 65135, '\p{issmallformvariants}', "");
-Expect(0, 65135, '\p{^issmallformvariants}', "");
-Expect(0, 65135, '\P{issmallformvariants}', "");
-Expect(1, 65135, '\P{^issmallformvariants}', "");
-Expect(0, 65103, '\p{issmallformvariants}', "");
-Expect(1, 65103, '\p{^issmallformvariants}', "");
-Expect(1, 65103, '\P{issmallformvariants}', "");
-Expect(0, 65103, '\P{^issmallformvariants}', "");
-Expect(1, 65135, '\p{ isSMALL_Form-VARIANTS}', "");
-Expect(0, 65135, '\p{^ isSMALL_Form-VARIANTS}', "");
-Expect(0, 65135, '\P{ isSMALL_Form-VARIANTS}', "");
-Expect(1, 65135, '\P{^ isSMALL_Form-VARIANTS}', "");
-Expect(0, 65103, '\p{ isSMALL_Form-VARIANTS}', "");
-Expect(1, 65103, '\p{^ isSMALL_Form-VARIANTS}', "");
-Expect(1, 65103, '\P{ isSMALL_Form-VARIANTS}', "");
-Expect(0, 65103, '\P{^ isSMALL_Form-VARIANTS}', "");
-Error('\p{--In/a/Small Form Variants}');
-Error('\P{--In/a/Small Form Variants}');
-Expect(1, 65135, '\p{insmallformvariants}', "");
-Expect(0, 65135, '\p{^insmallformvariants}', "");
-Expect(0, 65135, '\P{insmallformvariants}', "");
-Expect(1, 65135, '\P{^insmallformvariants}', "");
-Expect(0, 65103, '\p{insmallformvariants}', "");
-Expect(1, 65103, '\p{^insmallformvariants}', "");
-Expect(1, 65103, '\P{insmallformvariants}', "");
-Expect(0, 65103, '\P{^insmallformvariants}', "");
-Expect(1, 65135, '\p{ -IN small_Form variants}', "");
-Expect(0, 65135, '\p{^ -IN small_Form variants}', "");
-Expect(0, 65135, '\P{ -IN small_Form variants}', "");
-Expect(1, 65135, '\P{^ -IN small_Form variants}', "");
-Expect(0, 65103, '\p{ -IN small_Form variants}', "");
-Expect(1, 65103, '\p{^ -IN small_Form variants}', "");
-Expect(1, 65103, '\P{ -IN small_Form variants}', "");
-Expect(0, 65103, '\P{^ -IN small_Form variants}', "");
-Error('\p{_ TAITham/a/}');
-Error('\P{_ TAITham/a/}');
-Expect(1, 6750, '\p{taitham}', "");
-Expect(0, 6750, '\p{^taitham}', "");
-Expect(0, 6750, '\P{taitham}', "");
-Expect(1, 6750, '\P{^taitham}', "");
-Expect(0, 6687, '\p{taitham}', "");
-Expect(1, 6687, '\p{^taitham}', "");
-Expect(1, 6687, '\P{taitham}', "");
-Expect(0, 6687, '\P{^taitham}', "");
-Expect(1, 6750, '\p{_ Tai Tham}', "");
-Expect(0, 6750, '\p{^_ Tai Tham}', "");
-Expect(0, 6750, '\P{_ Tai Tham}', "");
-Expect(1, 6750, '\P{^_ Tai Tham}', "");
-Expect(0, 6687, '\p{_ Tai Tham}', "");
-Expect(1, 6687, '\p{^_ Tai Tham}', "");
-Expect(1, 6687, '\P{_ Tai Tham}', "");
-Expect(0, 6687, '\P{^_ Tai Tham}', "");
-Error('\p{ Is_tai tham/a/}');
-Error('\P{ Is_tai tham/a/}');
-Expect(1, 6750, '\p{istaitham}', "");
-Expect(0, 6750, '\p{^istaitham}', "");
-Expect(0, 6750, '\P{istaitham}', "");
-Expect(1, 6750, '\P{^istaitham}', "");
-Expect(0, 6687, '\p{istaitham}', "");
-Expect(1, 6687, '\p{^istaitham}', "");
-Expect(1, 6687, '\P{istaitham}', "");
-Expect(0, 6687, '\P{^istaitham}', "");
-Expect(1, 6750, '\p{ -is TAI Tham}', "");
-Expect(0, 6750, '\p{^ -is TAI Tham}', "");
-Expect(0, 6750, '\P{ -is TAI Tham}', "");
-Expect(1, 6750, '\P{^ -is TAI Tham}', "");
-Expect(0, 6687, '\p{ -is TAI Tham}', "");
-Expect(1, 6687, '\p{^ -is TAI Tham}', "");
-Expect(1, 6687, '\P{ -is TAI Tham}', "");
-Expect(0, 6687, '\P{^ -is TAI Tham}', "");
-Error('\p{ :=LANA}');
-Error('\P{ :=LANA}');
-Expect(1, 6750, '\p{lana}', "");
-Expect(0, 6750, '\p{^lana}', "");
-Expect(0, 6750, '\P{lana}', "");
-Expect(1, 6750, '\P{^lana}', "");
-Expect(0, 6687, '\p{lana}', "");
-Expect(1, 6687, '\p{^lana}', "");
-Expect(1, 6687, '\P{lana}', "");
-Expect(0, 6687, '\P{^lana}', "");
-Expect(1, 6750, '\p{ Lana}', "");
-Expect(0, 6750, '\p{^ Lana}', "");
-Expect(0, 6750, '\P{ Lana}', "");
-Expect(1, 6750, '\P{^ Lana}', "");
-Expect(0, 6687, '\p{ Lana}', "");
-Expect(1, 6687, '\p{^ Lana}', "");
-Expect(1, 6687, '\P{ Lana}', "");
-Expect(0, 6687, '\P{^ Lana}', "");
-Error('\p{/a/- is Lana}');
-Error('\P{/a/- is Lana}');
-Expect(1, 6750, '\p{islana}', "");
-Expect(0, 6750, '\p{^islana}', "");
-Expect(0, 6750, '\P{islana}', "");
-Expect(1, 6750, '\P{^islana}', "");
-Expect(0, 6687, '\p{islana}', "");
-Expect(1, 6687, '\p{^islana}', "");
-Expect(1, 6687, '\P{islana}', "");
-Expect(0, 6687, '\P{^islana}', "");
-Expect(1, 6750, '\p{ is Lana}', "");
-Expect(0, 6750, '\p{^ is Lana}', "");
-Expect(0, 6750, '\P{ is Lana}', "");
-Expect(1, 6750, '\P{^ is Lana}', "");
-Expect(0, 6687, '\p{ is Lana}', "");
-Expect(1, 6687, '\p{^ is Lana}', "");
-Expect(1, 6687, '\P{ is Lana}', "");
-Expect(0, 6687, '\P{^ is Lana}', "");
-Error('\p{:=__nko}');
-Error('\P{:=__nko}');
-Expect(1, 2042, '\p{nko}', "");
-Expect(0, 2042, '\p{^nko}', "");
-Expect(0, 2042, '\P{nko}', "");
-Expect(1, 2042, '\P{^nko}', "");
-Expect(0, 1983, '\p{nko}', "");
-Expect(1, 1983, '\p{^nko}', "");
-Expect(1, 1983, '\P{nko}', "");
-Expect(0, 1983, '\P{^nko}', "");
-Expect(1, 2042, '\p{ _Nko}', "");
-Expect(0, 2042, '\p{^ _Nko}', "");
-Expect(0, 2042, '\P{ _Nko}', "");
-Expect(1, 2042, '\P{^ _Nko}', "");
-Expect(0, 1983, '\p{ _Nko}', "");
-Expect(1, 1983, '\p{^ _Nko}', "");
-Expect(1, 1983, '\P{ _Nko}', "");
-Expect(0, 1983, '\P{^ _Nko}', "");
-Error('\p{-/a/Is_nko}');
-Error('\P{-/a/Is_nko}');
-Expect(1, 2042, '\p{isnko}', "");
-Expect(0, 2042, '\p{^isnko}', "");
-Expect(0, 2042, '\P{isnko}', "");
-Expect(1, 2042, '\P{^isnko}', "");
-Expect(0, 1983, '\p{isnko}', "");
-Expect(1, 1983, '\p{^isnko}', "");
-Expect(1, 1983, '\P{isnko}', "");
-Expect(0, 1983, '\P{^isnko}', "");
-Expect(1, 2042, '\p{-is-nko}', "");
-Expect(0, 2042, '\p{^-is-nko}', "");
-Expect(0, 2042, '\P{-is-nko}', "");
-Expect(1, 2042, '\P{^-is-nko}', "");
-Expect(0, 1983, '\p{-is-nko}', "");
-Expect(1, 1983, '\p{^-is-nko}', "");
-Expect(1, 1983, '\P{-is-nko}', "");
-Expect(0, 1983, '\P{^-is-nko}', "");
-Error('\p{/a/_Nkoo}');
-Error('\P{/a/_Nkoo}');
-Expect(1, 2042, '\p{nkoo}', "");
-Expect(0, 2042, '\p{^nkoo}', "");
-Expect(0, 2042, '\P{nkoo}', "");
-Expect(1, 2042, '\P{^nkoo}', "");
-Expect(0, 1983, '\p{nkoo}', "");
-Expect(1, 1983, '\p{^nkoo}', "");
-Expect(1, 1983, '\P{nkoo}', "");
-Expect(0, 1983, '\P{^nkoo}', "");
-Expect(1, 2042, '\p{_-nkoo}', "");
-Expect(0, 2042, '\p{^_-nkoo}', "");
-Expect(0, 2042, '\P{_-nkoo}', "");
-Expect(1, 2042, '\P{^_-nkoo}', "");
-Expect(0, 1983, '\p{_-nkoo}', "");
-Expect(1, 1983, '\p{^_-nkoo}', "");
-Expect(1, 1983, '\P{_-nkoo}', "");
-Expect(0, 1983, '\P{^_-nkoo}', "");
-Error('\p{- IS_nkoo/a/}');
-Error('\P{- IS_nkoo/a/}');
-Expect(1, 2042, '\p{isnkoo}', "");
-Expect(0, 2042, '\p{^isnkoo}', "");
-Expect(0, 2042, '\P{isnkoo}', "");
-Expect(1, 2042, '\P{^isnkoo}', "");
-Expect(0, 1983, '\p{isnkoo}', "");
-Expect(1, 1983, '\p{^isnkoo}', "");
-Expect(1, 1983, '\P{isnkoo}', "");
-Expect(0, 1983, '\P{^isnkoo}', "");
-Expect(1, 2042, '\p{-Is Nkoo}', "");
-Expect(0, 2042, '\p{^-Is Nkoo}', "");
-Expect(0, 2042, '\P{-Is Nkoo}', "");
-Expect(1, 2042, '\P{^-Is Nkoo}', "");
-Expect(0, 1983, '\p{-Is Nkoo}', "");
-Expect(1, 1983, '\p{^-Is Nkoo}', "");
-Expect(1, 1983, '\P{-Is Nkoo}', "");
-Expect(0, 1983, '\P{^-Is Nkoo}', "");
-Error('\p{-:=mathematical Alphanumeric_symbols}');
-Error('\P{-:=mathematical Alphanumeric_symbols}');
-Expect(1, 120831, '\p{mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^mathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^mathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{mathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^mathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(0, 120831, '\p{^_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(0, 120831, '\P{_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(1, 120831, '\P{^_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(0, 119807, '\p{_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(1, 119807, '\p{^_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(1, 119807, '\P{_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Expect(0, 119807, '\P{^_ mathematical ALPHANUMERIC SYMBOLS}', "");
-Error('\p{-Is/a/MATHEMATICAL Alphanumeric-Symbols}');
-Error('\P{-Is/a/MATHEMATICAL Alphanumeric-Symbols}');
-Expect(1, 120831, '\p{ismathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^ismathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{ismathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^ismathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{ismathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^ismathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{ismathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^ismathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(0, 120831, '\p{^Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(0, 120831, '\P{Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(1, 120831, '\P{^Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(0, 119807, '\p{Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(1, 119807, '\p{^Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(1, 119807, '\P{Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Expect(0, 119807, '\P{^Is-MATHEMATICAL ALPHANUMERIC-Symbols}', "");
-Error('\p{:=_ In MATHEMATICAL_Alphanumeric symbols}');
-Error('\P{:=_ In MATHEMATICAL_Alphanumeric symbols}');
-Expect(1, 120831, '\p{inmathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\p{^inmathematicalalphanumericsymbols}', "");
-Expect(0, 120831, '\P{inmathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\P{^inmathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\p{inmathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\p{^inmathematicalalphanumericsymbols}', "");
-Expect(1, 119807, '\P{inmathematicalalphanumericsymbols}', "");
-Expect(0, 119807, '\P{^inmathematicalalphanumericsymbols}', "");
-Expect(1, 120831, '\p{_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(0, 120831, '\p{^_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(0, 120831, '\P{_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(1, 120831, '\P{^_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(0, 119807, '\p{_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(1, 119807, '\p{^_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(1, 119807, '\P{_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Expect(0, 119807, '\P{^_-in-MATHEMATICAL_Alphanumeric Symbols}', "");
-Error('\p{ lydian:=}');
-Error('\P{ lydian:=}');
-Expect(1, 67897, '\p{lydian}', "");
-Expect(0, 67897, '\p{^lydian}', "");
-Expect(0, 67897, '\P{lydian}', "");
-Expect(1, 67897, '\P{^lydian}', "");
-Expect(0, 67871, '\p{lydian}', "");
-Expect(1, 67871, '\p{^lydian}', "");
-Expect(1, 67871, '\P{lydian}', "");
-Expect(0, 67871, '\P{^lydian}', "");
-Expect(1, 67897, '\p{-_LYDIAN}', "");
-Expect(0, 67897, '\p{^-_LYDIAN}', "");
-Expect(0, 67897, '\P{-_LYDIAN}', "");
-Expect(1, 67897, '\P{^-_LYDIAN}', "");
-Expect(0, 67871, '\p{-_LYDIAN}', "");
-Expect(1, 67871, '\p{^-_LYDIAN}', "");
-Expect(1, 67871, '\P{-_LYDIAN}', "");
-Expect(0, 67871, '\P{^-_LYDIAN}', "");
-Error('\p{_:=IS_lydian}');
-Error('\P{_:=IS_lydian}');
-Expect(1, 67897, '\p{islydian}', "");
-Expect(0, 67897, '\p{^islydian}', "");
-Expect(0, 67897, '\P{islydian}', "");
-Expect(1, 67897, '\P{^islydian}', "");
-Expect(0, 67871, '\p{islydian}', "");
-Expect(1, 67871, '\p{^islydian}', "");
-Expect(1, 67871, '\P{islydian}', "");
-Expect(0, 67871, '\P{^islydian}', "");
-Expect(1, 67897, '\p{__IS lydian}', "");
-Expect(0, 67897, '\p{^__IS lydian}', "");
-Expect(0, 67897, '\P{__IS lydian}', "");
-Expect(1, 67897, '\P{^__IS lydian}', "");
-Expect(0, 67871, '\p{__IS lydian}', "");
-Expect(1, 67871, '\p{^__IS lydian}', "");
-Expect(1, 67871, '\P{__IS lydian}', "");
-Expect(0, 67871, '\P{^__IS lydian}', "");
-Error('\p{__LYDI/a/}');
-Error('\P{__LYDI/a/}');
-Expect(1, 67897, '\p{lydi}', "");
-Expect(0, 67897, '\p{^lydi}', "");
-Expect(0, 67897, '\P{lydi}', "");
-Expect(1, 67897, '\P{^lydi}', "");
-Expect(0, 67871, '\p{lydi}', "");
-Expect(1, 67871, '\p{^lydi}', "");
-Expect(1, 67871, '\P{lydi}', "");
-Expect(0, 67871, '\P{^lydi}', "");
-Expect(1, 67897, '\p{ LYDI}', "");
-Expect(0, 67897, '\p{^ LYDI}', "");
-Expect(0, 67897, '\P{ LYDI}', "");
-Expect(1, 67897, '\P{^ LYDI}', "");
-Expect(0, 67871, '\p{ LYDI}', "");
-Expect(1, 67871, '\p{^ LYDI}', "");
-Expect(1, 67871, '\P{ LYDI}', "");
-Expect(0, 67871, '\P{^ LYDI}', "");
-Error('\p{:=_ Is Lydi}');
-Error('\P{:=_ Is Lydi}');
-Expect(1, 67897, '\p{islydi}', "");
-Expect(0, 67897, '\p{^islydi}', "");
-Expect(0, 67897, '\P{islydi}', "");
-Expect(1, 67897, '\P{^islydi}', "");
-Expect(0, 67871, '\p{islydi}', "");
-Expect(1, 67871, '\p{^islydi}', "");
-Expect(1, 67871, '\P{islydi}', "");
-Expect(0, 67871, '\P{^islydi}', "");
-Expect(1, 67897, '\p{is-lydi}', "");
-Expect(0, 67897, '\p{^is-lydi}', "");
-Expect(0, 67897, '\P{is-lydi}', "");
-Expect(1, 67897, '\P{^is-lydi}', "");
-Expect(0, 67871, '\p{is-lydi}', "");
-Expect(1, 67871, '\p{^is-lydi}', "");
-Expect(1, 67871, '\P{is-lydi}', "");
-Expect(0, 67871, '\P{^is-lydi}', "");
-Error('\p{- GeorgianSupplement:=}');
-Error('\P{- GeorgianSupplement:=}');
-Expect(1, 11567, '\p{georgiansupplement}', "");
-Expect(0, 11567, '\p{^georgiansupplement}', "");
-Expect(0, 11567, '\P{georgiansupplement}', "");
-Expect(1, 11567, '\P{^georgiansupplement}', "");
-Expect(0, 11519, '\p{georgiansupplement}', "");
-Expect(1, 11519, '\p{^georgiansupplement}', "");
-Expect(1, 11519, '\P{georgiansupplement}', "");
-Expect(0, 11519, '\P{^georgiansupplement}', "");
-Expect(1, 11567, '\p{- GeorgianSupplement}', "");
-Expect(0, 11567, '\p{^- GeorgianSupplement}', "");
-Expect(0, 11567, '\P{- GeorgianSupplement}', "");
-Expect(1, 11567, '\P{^- GeorgianSupplement}', "");
-Expect(0, 11519, '\p{- GeorgianSupplement}', "");
-Expect(1, 11519, '\p{^- GeorgianSupplement}', "");
-Expect(1, 11519, '\P{- GeorgianSupplement}', "");
-Expect(0, 11519, '\P{^- GeorgianSupplement}', "");
-Error('\p{_:=IS_GEORGIAN Supplement}');
-Error('\P{_:=IS_GEORGIAN Supplement}');
-Expect(1, 11567, '\p{isgeorgiansupplement}', "");
-Expect(0, 11567, '\p{^isgeorgiansupplement}', "");
-Expect(0, 11567, '\P{isgeorgiansupplement}', "");
-Expect(1, 11567, '\P{^isgeorgiansupplement}', "");
-Expect(0, 11519, '\p{isgeorgiansupplement}', "");
-Expect(1, 11519, '\p{^isgeorgiansupplement}', "");
-Expect(1, 11519, '\P{isgeorgiansupplement}', "");
-Expect(0, 11519, '\P{^isgeorgiansupplement}', "");
-Expect(1, 11567, '\p{ IS GeorgianSUPPLEMENT}', "");
-Expect(0, 11567, '\p{^ IS GeorgianSUPPLEMENT}', "");
-Expect(0, 11567, '\P{ IS GeorgianSUPPLEMENT}', "");
-Expect(1, 11567, '\P{^ IS GeorgianSUPPLEMENT}', "");
-Expect(0, 11519, '\p{ IS GeorgianSUPPLEMENT}', "");
-Expect(1, 11519, '\p{^ IS GeorgianSUPPLEMENT}', "");
-Expect(1, 11519, '\P{ IS GeorgianSUPPLEMENT}', "");
-Expect(0, 11519, '\P{^ IS GeorgianSUPPLEMENT}', "");
-Error('\p{- In/a/georgianSupplement}');
-Error('\P{- In/a/georgianSupplement}');
-Expect(1, 11567, '\p{ingeorgiansupplement}', "");
-Expect(0, 11567, '\p{^ingeorgiansupplement}', "");
-Expect(0, 11567, '\P{ingeorgiansupplement}', "");
-Expect(1, 11567, '\P{^ingeorgiansupplement}', "");
-Expect(0, 11519, '\p{ingeorgiansupplement}', "");
-Expect(1, 11519, '\p{^ingeorgiansupplement}', "");
-Expect(1, 11519, '\P{ingeorgiansupplement}', "");
-Expect(0, 11519, '\P{^ingeorgiansupplement}', "");
-Expect(1, 11567, '\p{- IN GEORGIANSupplement}', "");
-Expect(0, 11567, '\p{^- IN GEORGIANSupplement}', "");
-Expect(0, 11567, '\P{- IN GEORGIANSupplement}', "");
-Expect(1, 11567, '\P{^- IN GEORGIANSupplement}', "");
-Expect(0, 11519, '\p{- IN GEORGIANSupplement}', "");
-Expect(1, 11519, '\p{^- IN GEORGIANSupplement}', "");
-Expect(1, 11519, '\P{- IN GEORGIANSupplement}', "");
-Expect(0, 11519, '\P{^- IN GEORGIANSupplement}', "");
-Error('\p{ :=Letter}');
-Error('\P{ :=Letter}');
-Expect(1, 90, '\p{letter}', "");
-Expect(0, 90, '\p{^letter}', "");
-Expect(0, 90, '\P{letter}', "");
-Expect(1, 90, '\P{^letter}', "");
-Expect(0, 64, '\p{letter}', "");
-Expect(1, 64, '\p{^letter}', "");
-Expect(1, 64, '\P{letter}', "");
-Expect(0, 64, '\P{^letter}', "");
-Expect(1, 90, '\p{__Letter}', "");
-Expect(0, 90, '\p{^__Letter}', "");
-Expect(0, 90, '\P{__Letter}', "");
-Expect(1, 90, '\P{^__Letter}', "");
-Expect(0, 64, '\p{__Letter}', "");
-Expect(1, 64, '\p{^__Letter}', "");
-Expect(1, 64, '\P{__Letter}', "");
-Expect(0, 64, '\P{^__Letter}', "");
-Error('\p{_Is Letter:=}');
-Error('\P{_Is Letter:=}');
-Expect(1, 90, '\p{isletter}', "");
-Expect(0, 90, '\p{^isletter}', "");
-Expect(0, 90, '\P{isletter}', "");
-Expect(1, 90, '\P{^isletter}', "");
-Expect(0, 64, '\p{isletter}', "");
-Expect(1, 64, '\p{^isletter}', "");
-Expect(1, 64, '\P{isletter}', "");
-Expect(0, 64, '\P{^isletter}', "");
-Expect(1, 90, '\p{ isLETTER}', "");
-Expect(0, 90, '\p{^ isLETTER}', "");
-Expect(0, 90, '\P{ isLETTER}', "");
-Expect(1, 90, '\P{^ isLETTER}', "");
-Expect(0, 64, '\p{ isLETTER}', "");
-Expect(1, 64, '\p{^ isLETTER}', "");
-Expect(1, 64, '\P{ isLETTER}', "");
-Expect(0, 64, '\P{^ isLETTER}', "");
-Error('\p{_-l/a/}');
-Error('\P{_-l/a/}');
-Expect(1, 90, '\p{l}', "");
-Expect(0, 90, '\p{^l}', "");
-Expect(0, 90, '\P{l}', "");
-Expect(1, 90, '\P{^l}', "");
-Expect(0, 64, '\p{l}', "");
-Expect(1, 64, '\p{^l}', "");
-Expect(1, 64, '\P{l}', "");
-Expect(0, 64, '\P{^l}', "");
-Expect(1, 90, '\p{L}', "");
-Expect(0, 90, '\p{^L}', "");
-Expect(0, 90, '\P{L}', "");
-Expect(1, 90, '\P{^L}', "");
-Expect(0, 64, '\p{L}', "");
-Expect(1, 64, '\p{^L}', "");
-Expect(1, 64, '\P{L}', "");
-Expect(0, 64, '\P{^L}', "");
-Error('\p{-_Is L:=}');
-Error('\P{-_Is L:=}');
-Expect(1, 90, '\p{isl}', "");
-Expect(0, 90, '\p{^isl}', "");
-Expect(0, 90, '\P{isl}', "");
-Expect(1, 90, '\P{^isl}', "");
-Expect(0, 64, '\p{isl}', "");
-Expect(1, 64, '\p{^isl}', "");
-Expect(1, 64, '\P{isl}', "");
-Expect(0, 64, '\P{^isl}', "");
-Expect(1, 90, '\p{_is L}', "");
-Expect(0, 90, '\p{^_is L}', "");
-Expect(0, 90, '\P{_is L}', "");
-Expect(1, 90, '\P{^_is L}', "");
-Expect(0, 64, '\p{_is L}', "");
-Expect(1, 64, '\p{^_is L}', "");
-Expect(1, 64, '\P{_is L}', "");
-Expect(0, 64, '\P{^_is L}', "");
-Error('\p{_ cyrillic-Extended/a/b}');
-Error('\P{_ cyrillic-Extended/a/b}');
-Expect(1, 42655, '\p{cyrillicextendedb}', "");
-Expect(0, 42655, '\p{^cyrillicextendedb}', "");
-Expect(0, 42655, '\P{cyrillicextendedb}', "");
-Expect(1, 42655, '\P{^cyrillicextendedb}', "");
-Expect(0, 42559, '\p{cyrillicextendedb}', "");
-Expect(1, 42559, '\p{^cyrillicextendedb}', "");
-Expect(1, 42559, '\P{cyrillicextendedb}', "");
-Expect(0, 42559, '\P{^cyrillicextendedb}', "");
-Expect(1, 42655, '\p{ _Cyrillic extended B}', "");
-Expect(0, 42655, '\p{^ _Cyrillic extended B}', "");
-Expect(0, 42655, '\P{ _Cyrillic extended B}', "");
-Expect(1, 42655, '\P{^ _Cyrillic extended B}', "");
-Expect(0, 42559, '\p{ _Cyrillic extended B}', "");
-Expect(1, 42559, '\p{^ _Cyrillic extended B}', "");
-Expect(1, 42559, '\P{ _Cyrillic extended B}', "");
-Expect(0, 42559, '\P{^ _Cyrillic extended B}', "");
-Error('\p{_:=Is_CYRILLIC extended_B}');
-Error('\P{_:=Is_CYRILLIC extended_B}');
-Expect(1, 42655, '\p{iscyrillicextendedb}', "");
-Expect(0, 42655, '\p{^iscyrillicextendedb}', "");
-Expect(0, 42655, '\P{iscyrillicextendedb}', "");
-Expect(1, 42655, '\P{^iscyrillicextendedb}', "");
-Expect(0, 42559, '\p{iscyrillicextendedb}', "");
-Expect(1, 42559, '\p{^iscyrillicextendedb}', "");
-Expect(1, 42559, '\P{iscyrillicextendedb}', "");
-Expect(0, 42559, '\P{^iscyrillicextendedb}', "");
-Expect(1, 42655, '\p{ -Is-Cyrillic Extended-B}', "");
-Expect(0, 42655, '\p{^ -Is-Cyrillic Extended-B}', "");
-Expect(0, 42655, '\P{ -Is-Cyrillic Extended-B}', "");
-Expect(1, 42655, '\P{^ -Is-Cyrillic Extended-B}', "");
-Expect(0, 42559, '\p{ -Is-Cyrillic Extended-B}', "");
-Expect(1, 42559, '\p{^ -Is-Cyrillic Extended-B}', "");
-Expect(1, 42559, '\P{ -Is-Cyrillic Extended-B}', "");
-Expect(0, 42559, '\P{^ -Is-Cyrillic Extended-B}', "");
-Error('\p{ :=inCYRILLIC extended-B}');
-Error('\P{ :=inCYRILLIC extended-B}');
-Expect(1, 42655, '\p{incyrillicextendedb}', "");
-Expect(0, 42655, '\p{^incyrillicextendedb}', "");
-Expect(0, 42655, '\P{incyrillicextendedb}', "");
-Expect(1, 42655, '\P{^incyrillicextendedb}', "");
-Expect(0, 42559, '\p{incyrillicextendedb}', "");
-Expect(1, 42559, '\p{^incyrillicextendedb}', "");
-Expect(1, 42559, '\P{incyrillicextendedb}', "");
-Expect(0, 42559, '\P{^incyrillicextendedb}', "");
-Expect(1, 42655, '\p{- InCyrillic_EXTENDED B}', "");
-Expect(0, 42655, '\p{^- InCyrillic_EXTENDED B}', "");
-Expect(0, 42655, '\P{- InCyrillic_EXTENDED B}', "");
-Expect(1, 42655, '\P{^- InCyrillic_EXTENDED B}', "");
-Expect(0, 42559, '\p{- InCyrillic_EXTENDED B}', "");
-Expect(1, 42559, '\p{^- InCyrillic_EXTENDED B}', "");
-Expect(1, 42559, '\P{- InCyrillic_EXTENDED B}', "");
-Expect(0, 42559, '\P{^- InCyrillic_EXTENDED B}', "");
-Error('\p{_:=Hebrew}');
-Error('\P{_:=Hebrew}');
-Expect(1, 1479, '\p{hebrew}', "");
-Expect(0, 1479, '\p{^hebrew}', "");
-Expect(0, 1479, '\P{hebrew}', "");
-Expect(1, 1479, '\P{^hebrew}', "");
-Expect(0, 1424, '\p{hebrew}', "");
-Expect(1, 1424, '\p{^hebrew}', "");
-Expect(1, 1424, '\P{hebrew}', "");
-Expect(0, 1424, '\P{^hebrew}', "");
-Expect(1, 1479, '\p{ -hebrew}', "");
-Expect(0, 1479, '\p{^ -hebrew}', "");
-Expect(0, 1479, '\P{ -hebrew}', "");
-Expect(1, 1479, '\P{^ -hebrew}', "");
-Expect(0, 1424, '\p{ -hebrew}', "");
-Expect(1, 1424, '\p{^ -hebrew}', "");
-Expect(1, 1424, '\P{ -hebrew}', "");
-Expect(0, 1424, '\P{^ -hebrew}', "");
-Error('\p{/a/-IS Hebrew}');
-Error('\P{/a/-IS Hebrew}');
-Expect(1, 1479, '\p{ishebrew}', "");
-Expect(0, 1479, '\p{^ishebrew}', "");
-Expect(0, 1479, '\P{ishebrew}', "");
-Expect(1, 1479, '\P{^ishebrew}', "");
-Expect(0, 1424, '\p{ishebrew}', "");
-Expect(1, 1424, '\p{^ishebrew}', "");
-Expect(1, 1424, '\P{ishebrew}', "");
-Expect(0, 1424, '\P{^ishebrew}', "");
-Expect(1, 1479, '\p{_Is hebrew}', "");
-Expect(0, 1479, '\p{^_Is hebrew}', "");
-Expect(0, 1479, '\P{_Is hebrew}', "");
-Expect(1, 1479, '\P{^_Is hebrew}', "");
-Expect(0, 1424, '\p{_Is hebrew}', "");
-Expect(1, 1424, '\p{^_Is hebrew}', "");
-Expect(1, 1424, '\P{_Is hebrew}', "");
-Expect(0, 1424, '\P{^_Is hebrew}', "");
-Error('\p{ _Hebr/a/}');
-Error('\P{ _Hebr/a/}');
-Expect(1, 1479, '\p{hebr}', "");
-Expect(0, 1479, '\p{^hebr}', "");
-Expect(0, 1479, '\P{hebr}', "");
-Expect(1, 1479, '\P{^hebr}', "");
-Expect(0, 1424, '\p{hebr}', "");
-Expect(1, 1424, '\p{^hebr}', "");
-Expect(1, 1424, '\P{hebr}', "");
-Expect(0, 1424, '\P{^hebr}', "");
-Expect(1, 1479, '\p{ -HEBR}', "");
-Expect(0, 1479, '\p{^ -HEBR}', "");
-Expect(0, 1479, '\P{ -HEBR}', "");
-Expect(1, 1479, '\P{^ -HEBR}', "");
-Expect(0, 1424, '\p{ -HEBR}', "");
-Expect(1, 1424, '\p{^ -HEBR}', "");
-Expect(1, 1424, '\P{ -HEBR}', "");
-Expect(0, 1424, '\P{^ -HEBR}', "");
-Error('\p{:=__IShebr}');
-Error('\P{:=__IShebr}');
-Expect(1, 1479, '\p{ishebr}', "");
-Expect(0, 1479, '\p{^ishebr}', "");
-Expect(0, 1479, '\P{ishebr}', "");
-Expect(1, 1479, '\P{^ishebr}', "");
-Expect(0, 1424, '\p{ishebr}', "");
-Expect(1, 1424, '\p{^ishebr}', "");
-Expect(1, 1424, '\P{ishebr}', "");
-Expect(0, 1424, '\P{^ishebr}', "");
-Expect(1, 1479, '\p{_isHEBR}', "");
-Expect(0, 1479, '\p{^_isHEBR}', "");
-Expect(0, 1479, '\P{_isHEBR}', "");
-Expect(1, 1479, '\P{^_isHEBR}', "");
-Expect(0, 1424, '\p{_isHEBR}', "");
-Expect(1, 1424, '\p{^_isHEBR}', "");
-Expect(1, 1424, '\P{_isHEBR}', "");
-Expect(0, 1424, '\P{^_isHEBR}', "");
-Error('\p{-_In Hiragana:=}');
-Error('\P{-_In Hiragana:=}');
-Expect(1, 12447, '\p{inhiragana}', "");
-Expect(0, 12447, '\p{^inhiragana}', "");
-Expect(0, 12447, '\P{inhiragana}', "");
-Expect(1, 12447, '\P{^inhiragana}', "");
-Expect(0, 12351, '\p{inhiragana}', "");
-Expect(1, 12351, '\p{^inhiragana}', "");
-Expect(1, 12351, '\P{inhiragana}', "");
-Expect(0, 12351, '\P{^inhiragana}', "");
-Expect(1, 12447, '\p{_ In hiragana}', "");
-Expect(0, 12447, '\p{^_ In hiragana}', "");
-Expect(0, 12447, '\P{_ In hiragana}', "");
-Expect(1, 12447, '\P{^_ In hiragana}', "");
-Expect(0, 12351, '\p{_ In hiragana}', "");
-Expect(1, 12351, '\p{^_ In hiragana}', "");
-Expect(1, 12351, '\P{_ In hiragana}', "");
-Expect(0, 12351, '\P{^_ In hiragana}', "");
-Error('\p{_-Latin:=}');
-Error('\P{_-Latin:=}');
-Expect(1, 90, '\p{latin}', "");
-Expect(0, 90, '\p{^latin}', "");
-Expect(0, 90, '\P{latin}', "");
-Expect(1, 90, '\P{^latin}', "");
-Expect(0, 64, '\p{latin}', "");
-Expect(1, 64, '\p{^latin}', "");
-Expect(1, 64, '\P{latin}', "");
-Expect(0, 64, '\P{^latin}', "");
-Expect(1, 90, '\p{_latin}', "");
-Expect(0, 90, '\p{^_latin}', "");
-Expect(0, 90, '\P{_latin}', "");
-Expect(1, 90, '\P{^_latin}', "");
-Expect(0, 64, '\p{_latin}', "");
-Expect(1, 64, '\p{^_latin}', "");
-Expect(1, 64, '\P{_latin}', "");
-Expect(0, 64, '\P{^_latin}', "");
-Error('\p{ -IS:=Latin}');
-Error('\P{ -IS:=Latin}');
-Expect(1, 90, '\p{islatin}', "");
-Expect(0, 90, '\p{^islatin}', "");
-Expect(0, 90, '\P{islatin}', "");
-Expect(1, 90, '\P{^islatin}', "");
-Expect(0, 64, '\p{islatin}', "");
-Expect(1, 64, '\p{^islatin}', "");
-Expect(1, 64, '\P{islatin}', "");
-Expect(0, 64, '\P{^islatin}', "");
-Expect(1, 90, '\p{ Is-latin}', "");
-Expect(0, 90, '\p{^ Is-latin}', "");
-Expect(0, 90, '\P{ Is-latin}', "");
-Expect(1, 90, '\P{^ Is-latin}', "");
-Expect(0, 64, '\p{ Is-latin}', "");
-Expect(1, 64, '\p{^ Is-latin}', "");
-Expect(1, 64, '\P{ Is-latin}', "");
-Expect(0, 64, '\P{^ Is-latin}', "");
-Error('\p{ :=Latn}');
-Error('\P{ :=Latn}');
-Expect(1, 90, '\p{latn}', "");
-Expect(0, 90, '\p{^latn}', "");
-Expect(0, 90, '\P{latn}', "");
-Expect(1, 90, '\P{^latn}', "");
-Expect(0, 64, '\p{latn}', "");
-Expect(1, 64, '\p{^latn}', "");
-Expect(1, 64, '\P{latn}', "");
-Expect(0, 64, '\P{^latn}', "");
-Expect(1, 90, '\p{ -latn}', "");
-Expect(0, 90, '\p{^ -latn}', "");
-Expect(0, 90, '\P{ -latn}', "");
-Expect(1, 90, '\P{^ -latn}', "");
-Expect(0, 64, '\p{ -latn}', "");
-Expect(1, 64, '\p{^ -latn}', "");
-Expect(1, 64, '\P{ -latn}', "");
-Expect(0, 64, '\P{^ -latn}', "");
-Error('\p{ -Is-LATN/a/}');
-Error('\P{ -Is-LATN/a/}');
-Expect(1, 90, '\p{islatn}', "");
-Expect(0, 90, '\p{^islatn}', "");
-Expect(0, 90, '\P{islatn}', "");
-Expect(1, 90, '\P{^islatn}', "");
-Expect(0, 64, '\p{islatn}', "");
-Expect(1, 64, '\p{^islatn}', "");
-Expect(1, 64, '\P{islatn}', "");
-Expect(0, 64, '\P{^islatn}', "");
-Expect(1, 90, '\p{Is LATN}', "");
-Expect(0, 90, '\p{^Is LATN}', "");
-Expect(0, 90, '\P{Is LATN}', "");
-Expect(1, 90, '\P{^Is LATN}', "");
-Expect(0, 64, '\p{Is LATN}', "");
-Expect(1, 64, '\p{^Is LATN}', "");
-Expect(1, 64, '\P{Is LATN}', "");
-Expect(0, 64, '\P{^Is LATN}', "");
-Error('\p{-_enclosing:=MARK}');
-Error('\P{-_enclosing:=MARK}');
-Expect(1, 1161, '\p{enclosingmark}', "");
-Expect(0, 1161, '\p{^enclosingmark}', "");
-Expect(0, 1161, '\P{enclosingmark}', "");
-Expect(1, 1161, '\P{^enclosingmark}', "");
-Expect(0, 1159, '\p{enclosingmark}', "");
-Expect(1, 1159, '\p{^enclosingmark}', "");
-Expect(1, 1159, '\P{enclosingmark}', "");
-Expect(0, 1159, '\P{^enclosingmark}', "");
-Expect(1, 1161, '\p{__ENCLOSINGMark}', "");
-Expect(0, 1161, '\p{^__ENCLOSINGMark}', "");
-Expect(0, 1161, '\P{__ENCLOSINGMark}', "");
-Expect(1, 1161, '\P{^__ENCLOSINGMark}', "");
-Expect(0, 1159, '\p{__ENCLOSINGMark}', "");
-Expect(1, 1159, '\p{^__ENCLOSINGMark}', "");
-Expect(1, 1159, '\P{__ENCLOSINGMark}', "");
-Expect(0, 1159, '\P{^__ENCLOSINGMark}', "");
-Error('\p{__IsEnclosing MARK/a/}');
-Error('\P{__IsEnclosing MARK/a/}');
-Expect(1, 1161, '\p{isenclosingmark}', "");
-Expect(0, 1161, '\p{^isenclosingmark}', "");
-Expect(0, 1161, '\P{isenclosingmark}', "");
-Expect(1, 1161, '\P{^isenclosingmark}', "");
-Expect(0, 1159, '\p{isenclosingmark}', "");
-Expect(1, 1159, '\p{^isenclosingmark}', "");
-Expect(1, 1159, '\P{isenclosingmark}', "");
-Expect(0, 1159, '\P{^isenclosingmark}', "");
-Expect(1, 1161, '\p{ _Isenclosing-Mark}', "");
-Expect(0, 1161, '\p{^ _Isenclosing-Mark}', "");
-Expect(0, 1161, '\P{ _Isenclosing-Mark}', "");
-Expect(1, 1161, '\P{^ _Isenclosing-Mark}', "");
-Expect(0, 1159, '\p{ _Isenclosing-Mark}', "");
-Expect(1, 1159, '\p{^ _Isenclosing-Mark}', "");
-Expect(1, 1159, '\P{ _Isenclosing-Mark}', "");
-Expect(0, 1159, '\P{^ _Isenclosing-Mark}', "");
-Error('\p{:= -me}');
-Error('\P{:= -me}');
-Expect(1, 1161, '\p{me}', "");
-Expect(0, 1161, '\p{^me}', "");
-Expect(0, 1161, '\P{me}', "");
-Expect(1, 1161, '\P{^me}', "");
-Expect(0, 1159, '\p{me}', "");
-Expect(1, 1159, '\p{^me}', "");
-Expect(1, 1159, '\P{me}', "");
-Expect(0, 1159, '\P{^me}', "");
-Expect(1, 1161, '\p{ Me}', "");
-Expect(0, 1161, '\p{^ Me}', "");
-Expect(0, 1161, '\P{ Me}', "");
-Expect(1, 1161, '\P{^ Me}', "");
-Expect(0, 1159, '\p{ Me}', "");
-Expect(1, 1159, '\p{^ Me}', "");
-Expect(1, 1159, '\P{ Me}', "");
-Expect(0, 1159, '\P{^ Me}', "");
-Error('\p{ /a/ISme}');
-Error('\P{ /a/ISme}');
-Expect(1, 1161, '\p{isme}', "");
-Expect(0, 1161, '\p{^isme}', "");
-Expect(0, 1161, '\P{isme}', "");
-Expect(1, 1161, '\P{^isme}', "");
-Expect(0, 1159, '\p{isme}', "");
-Expect(1, 1159, '\p{^isme}', "");
-Expect(1, 1159, '\P{isme}', "");
-Expect(0, 1159, '\P{^isme}', "");
-Expect(1, 1161, '\p{ IsMe}', "");
-Expect(0, 1161, '\p{^ IsMe}', "");
-Expect(0, 1161, '\P{ IsMe}', "");
-Expect(1, 1161, '\P{^ IsMe}', "");
-Expect(0, 1159, '\p{ IsMe}', "");
-Expect(1, 1159, '\p{^ IsMe}', "");
-Expect(1, 1159, '\P{ IsMe}', "");
-Expect(0, 1159, '\P{^ IsMe}', "");
-Error('\p{/a/ _Format}');
-Error('\P{/a/ _Format}');
-Expect(1, 173, '\p{format}', "");
-Expect(0, 173, '\p{^format}', "");
-Expect(0, 173, '\P{format}', "");
-Expect(1, 173, '\P{^format}', "");
-Expect(0, 172, '\p{format}', "");
-Expect(1, 172, '\p{^format}', "");
-Expect(1, 172, '\P{format}', "");
-Expect(0, 172, '\P{^format}', "");
-Expect(1, 173, '\p{ -format}', "");
-Expect(0, 173, '\p{^ -format}', "");
-Expect(0, 173, '\P{ -format}', "");
-Expect(1, 173, '\P{^ -format}', "");
-Expect(0, 172, '\p{ -format}', "");
-Expect(1, 172, '\p{^ -format}', "");
-Expect(1, 172, '\P{ -format}', "");
-Expect(0, 172, '\P{^ -format}', "");
-Error('\p{_/a/Is_FORMAT}');
-Error('\P{_/a/Is_FORMAT}');
-Expect(1, 173, '\p{isformat}', "");
-Expect(0, 173, '\p{^isformat}', "");
-Expect(0, 173, '\P{isformat}', "");
-Expect(1, 173, '\P{^isformat}', "");
-Expect(0, 172, '\p{isformat}', "");
-Expect(1, 172, '\p{^isformat}', "");
-Expect(1, 172, '\P{isformat}', "");
-Expect(0, 172, '\P{^isformat}', "");
-Expect(1, 173, '\p{ _Is_FORMAT}', "");
-Expect(0, 173, '\p{^ _Is_FORMAT}', "");
-Expect(0, 173, '\P{ _Is_FORMAT}', "");
-Expect(1, 173, '\P{^ _Is_FORMAT}', "");
-Expect(0, 172, '\p{ _Is_FORMAT}', "");
-Expect(1, 172, '\p{^ _Is_FORMAT}', "");
-Expect(1, 172, '\P{ _Is_FORMAT}', "");
-Expect(0, 172, '\P{^ _Is_FORMAT}', "");
-Error('\p{:= cf}');
-Error('\P{:= cf}');
-Expect(1, 173, '\p{cf}', "");
-Expect(0, 173, '\p{^cf}', "");
-Expect(0, 173, '\P{cf}', "");
-Expect(1, 173, '\P{^cf}', "");
-Expect(0, 172, '\p{cf}', "");
-Expect(1, 172, '\p{^cf}', "");
-Expect(1, 172, '\P{cf}', "");
-Expect(0, 172, '\P{^cf}', "");
-Expect(1, 173, '\p{_Cf}', "");
-Expect(0, 173, '\p{^_Cf}', "");
-Expect(0, 173, '\P{_Cf}', "");
-Expect(1, 173, '\P{^_Cf}', "");
-Expect(0, 172, '\p{_Cf}', "");
-Expect(1, 172, '\p{^_Cf}', "");
-Expect(1, 172, '\P{_Cf}', "");
-Expect(0, 172, '\P{^_Cf}', "");
-Error('\p{ IS-Cf/a/}');
-Error('\P{ IS-Cf/a/}');
-Expect(1, 173, '\p{iscf}', "");
-Expect(0, 173, '\p{^iscf}', "");
-Expect(0, 173, '\P{iscf}', "");
-Expect(1, 173, '\P{^iscf}', "");
-Expect(0, 172, '\p{iscf}', "");
-Expect(1, 172, '\p{^iscf}', "");
-Expect(1, 172, '\P{iscf}', "");
-Expect(0, 172, '\P{^iscf}', "");
-Expect(1, 173, '\p{_isCf}', "");
-Expect(0, 173, '\p{^_isCf}', "");
-Expect(0, 173, '\P{_isCf}', "");
-Expect(1, 173, '\P{^_isCf}', "");
-Expect(0, 172, '\p{_isCf}', "");
-Expect(1, 172, '\p{^_isCf}', "");
-Expect(1, 172, '\P{_isCf}', "");
-Expect(0, 172, '\P{^_isCf}', "");
-Error('\p{--OTHER/a/Number}');
-Error('\P{--OTHER/a/Number}');
-Expect(1, 179, '\p{othernumber}', "");
-Expect(0, 179, '\p{^othernumber}', "");
-Expect(0, 179, '\P{othernumber}', "");
-Expect(1, 179, '\P{^othernumber}', "");
-Expect(0, 177, '\p{othernumber}', "");
-Expect(1, 177, '\p{^othernumber}', "");
-Expect(1, 177, '\P{othernumber}', "");
-Expect(0, 177, '\P{^othernumber}', "");
-Expect(1, 179, '\p{- other-Number}', "");
-Expect(0, 179, '\p{^- other-Number}', "");
-Expect(0, 179, '\P{- other-Number}', "");
-Expect(1, 179, '\P{^- other-Number}', "");
-Expect(0, 177, '\p{- other-Number}', "");
-Expect(1, 177, '\p{^- other-Number}', "");
-Expect(1, 177, '\P{- other-Number}', "");
-Expect(0, 177, '\P{^- other-Number}', "");
-Error('\p{:=_IS_other NUMBER}');
-Error('\P{:=_IS_other NUMBER}');
-Expect(1, 179, '\p{isothernumber}', "");
-Expect(0, 179, '\p{^isothernumber}', "");
-Expect(0, 179, '\P{isothernumber}', "");
-Expect(1, 179, '\P{^isothernumber}', "");
-Expect(0, 177, '\p{isothernumber}', "");
-Expect(1, 177, '\p{^isothernumber}', "");
-Expect(1, 177, '\P{isothernumber}', "");
-Expect(0, 177, '\P{^isothernumber}', "");
-Expect(1, 179, '\p{ IS_Other-Number}', "");
-Expect(0, 179, '\p{^ IS_Other-Number}', "");
-Expect(0, 179, '\P{ IS_Other-Number}', "");
-Expect(1, 179, '\P{^ IS_Other-Number}', "");
-Expect(0, 177, '\p{ IS_Other-Number}', "");
-Expect(1, 177, '\p{^ IS_Other-Number}', "");
-Expect(1, 177, '\P{ IS_Other-Number}', "");
-Expect(0, 177, '\P{^ IS_Other-Number}', "");
-Error('\p{_ No/a/}');
-Error('\P{_ No/a/}');
-Expect(1, 179, '\p{no}', "");
-Expect(0, 179, '\p{^no}', "");
-Expect(0, 179, '\P{no}', "");
-Expect(1, 179, '\P{^no}', "");
-Expect(0, 177, '\p{no}', "");
-Expect(1, 177, '\p{^no}', "");
-Expect(1, 177, '\P{no}', "");
-Expect(0, 177, '\P{^no}', "");
-Expect(1, 179, '\p{--no}', "");
-Expect(0, 179, '\p{^--no}', "");
-Expect(0, 179, '\P{--no}', "");
-Expect(1, 179, '\P{^--no}', "");
-Expect(0, 177, '\p{--no}', "");
-Expect(1, 177, '\p{^--no}', "");
-Expect(1, 177, '\P{--no}', "");
-Expect(0, 177, '\P{^--no}', "");
-Error('\p{ Is_No/a/}');
-Error('\P{ Is_No/a/}');
-Expect(1, 179, '\p{isno}', "");
-Expect(0, 179, '\p{^isno}', "");
-Expect(0, 179, '\P{isno}', "");
-Expect(1, 179, '\P{^isno}', "");
-Expect(0, 177, '\p{isno}', "");
-Expect(1, 177, '\p{^isno}', "");
-Expect(1, 177, '\P{isno}', "");
-Expect(0, 177, '\P{^isno}', "");
-Expect(1, 179, '\p{- Isno}', "");
-Expect(0, 179, '\p{^- Isno}', "");
-Expect(0, 179, '\P{- Isno}', "");
-Expect(1, 179, '\P{^- Isno}', "");
-Expect(0, 177, '\p{- Isno}', "");
-Expect(1, 177, '\p{^- Isno}', "");
-Expect(1, 177, '\P{- Isno}', "");
-Expect(0, 177, '\P{^- Isno}', "");
-Error('\p{_:=Latin 1_supplement}');
-Error('\P{_:=Latin 1_supplement}');
-Expect(1, 255, '\p{latin1supplement}', "");
-Expect(0, 255, '\p{^latin1supplement}', "");
-Expect(0, 255, '\P{latin1supplement}', "");
-Expect(1, 255, '\P{^latin1supplement}', "");
-Expect(0, 127, '\p{latin1supplement}', "");
-Expect(1, 127, '\p{^latin1supplement}', "");
-Expect(1, 127, '\P{latin1supplement}', "");
-Expect(0, 127, '\P{^latin1supplement}', "");
-Expect(1, 255, '\p{__Latin 1 supplement}', "");
-Expect(0, 255, '\p{^__Latin 1 supplement}', "");
-Expect(0, 255, '\P{__Latin 1 supplement}', "");
-Expect(1, 255, '\P{^__Latin 1 supplement}', "");
-Expect(0, 127, '\p{__Latin 1 supplement}', "");
-Expect(1, 127, '\p{^__Latin 1 supplement}', "");
-Expect(1, 127, '\P{__Latin 1 supplement}', "");
-Expect(0, 127, '\P{^__Latin 1 supplement}', "");
-Error('\p{:=Is latin 1 Supplement}');
-Error('\P{:=Is latin 1 Supplement}');
-Expect(1, 255, '\p{islatin1supplement}', "");
-Expect(0, 255, '\p{^islatin1supplement}', "");
-Expect(0, 255, '\P{islatin1supplement}', "");
-Expect(1, 255, '\P{^islatin1supplement}', "");
-Expect(0, 127, '\p{islatin1supplement}', "");
-Expect(1, 127, '\p{^islatin1supplement}', "");
-Expect(1, 127, '\P{islatin1supplement}', "");
-Expect(0, 127, '\P{^islatin1supplement}', "");
-Expect(1, 255, '\p{ is-LATIN 1_Supplement}', "");
-Expect(0, 255, '\p{^ is-LATIN 1_Supplement}', "");
-Expect(0, 255, '\P{ is-LATIN 1_Supplement}', "");
-Expect(1, 255, '\P{^ is-LATIN 1_Supplement}', "");
-Expect(0, 127, '\p{ is-LATIN 1_Supplement}', "");
-Expect(1, 127, '\p{^ is-LATIN 1_Supplement}', "");
-Expect(1, 127, '\P{ is-LATIN 1_Supplement}', "");
-Expect(0, 127, '\P{^ is-LATIN 1_Supplement}', "");
-Error('\p{_In LATIN/a/1_SUPPLEMENT}');
-Error('\P{_In LATIN/a/1_SUPPLEMENT}');
-Expect(1, 255, '\p{inlatin1supplement}', "");
-Expect(0, 255, '\p{^inlatin1supplement}', "");
-Expect(0, 255, '\P{inlatin1supplement}', "");
-Expect(1, 255, '\P{^inlatin1supplement}', "");
-Expect(0, 127, '\p{inlatin1supplement}', "");
-Expect(1, 127, '\p{^inlatin1supplement}', "");
-Expect(1, 127, '\P{inlatin1supplement}', "");
-Expect(0, 127, '\P{^inlatin1supplement}', "");
-Expect(1, 255, '\p{_ In-latin_1supplement}', "");
-Expect(0, 255, '\p{^_ In-latin_1supplement}', "");
-Expect(0, 255, '\P{_ In-latin_1supplement}', "");
-Expect(1, 255, '\P{^_ In-latin_1supplement}', "");
-Expect(0, 127, '\p{_ In-latin_1supplement}', "");
-Expect(1, 127, '\p{^_ In-latin_1supplement}', "");
-Expect(1, 127, '\P{_ In-latin_1supplement}', "");
-Expect(0, 127, '\P{^_ In-latin_1supplement}', "");
-Error('\p{/a/Latin 1}');
-Error('\P{/a/Latin 1}');
-Expect(1, 255, '\p{latin1}', "");
-Expect(0, 255, '\p{^latin1}', "");
-Expect(0, 255, '\P{latin1}', "");
-Expect(1, 255, '\P{^latin1}', "");
-Expect(0, 127, '\p{latin1}', "");
-Expect(1, 127, '\p{^latin1}', "");
-Expect(1, 127, '\P{latin1}', "");
-Expect(0, 127, '\P{^latin1}', "");
-Expect(1, 255, '\p{ latin-1}', "");
-Expect(0, 255, '\p{^ latin-1}', "");
-Expect(0, 255, '\P{ latin-1}', "");
-Expect(1, 255, '\P{^ latin-1}', "");
-Expect(0, 127, '\p{ latin-1}', "");
-Expect(1, 127, '\p{^ latin-1}', "");
-Expect(1, 127, '\P{ latin-1}', "");
-Expect(0, 127, '\P{^ latin-1}', "");
-Error('\p{ /a/is-Latin1}');
-Error('\P{ /a/is-Latin1}');
-Expect(1, 255, '\p{islatin1}', "");
-Expect(0, 255, '\p{^islatin1}', "");
-Expect(0, 255, '\P{islatin1}', "");
-Expect(1, 255, '\P{^islatin1}', "");
-Expect(0, 127, '\p{islatin1}', "");
-Expect(1, 127, '\p{^islatin1}', "");
-Expect(1, 127, '\P{islatin1}', "");
-Expect(0, 127, '\P{^islatin1}', "");
-Expect(1, 255, '\p{ _is-Latin_1}', "");
-Expect(0, 255, '\p{^ _is-Latin_1}', "");
-Expect(0, 255, '\P{ _is-Latin_1}', "");
-Expect(1, 255, '\P{^ _is-Latin_1}', "");
-Expect(0, 127, '\p{ _is-Latin_1}', "");
-Expect(1, 127, '\p{^ _is-Latin_1}', "");
-Expect(1, 127, '\P{ _is-Latin_1}', "");
-Expect(0, 127, '\P{^ _is-Latin_1}', "");
-Error('\p{/a/ In_latin 1}');
-Error('\P{/a/ In_latin 1}');
-Expect(1, 255, '\p{inlatin1}', "");
-Expect(0, 255, '\p{^inlatin1}', "");
-Expect(0, 255, '\P{inlatin1}', "");
-Expect(1, 255, '\P{^inlatin1}', "");
-Expect(0, 127, '\p{inlatin1}', "");
-Expect(1, 127, '\p{^inlatin1}', "");
-Expect(1, 127, '\P{inlatin1}', "");
-Expect(0, 127, '\P{^inlatin1}', "");
-Expect(1, 255, '\p{_ in_LATIN 1}', "");
-Expect(0, 255, '\p{^_ in_LATIN 1}', "");
-Expect(0, 255, '\P{_ in_LATIN 1}', "");
-Expect(1, 255, '\P{^_ in_LATIN 1}', "");
-Expect(0, 127, '\p{_ in_LATIN 1}', "");
-Expect(1, 127, '\p{^_ in_LATIN 1}', "");
-Expect(1, 127, '\P{_ in_LATIN 1}', "");
-Expect(0, 127, '\P{^_ in_LATIN 1}', "");
-Error('\p{_Tamil/a/}');
-Error('\P{_Tamil/a/}');
-Expect(1, 2947, '\p{tamil}', "");
-Expect(0, 2947, '\p{^tamil}', "");
-Expect(0, 2947, '\P{tamil}', "");
-Expect(1, 2947, '\P{^tamil}', "");
-Expect(0, 2945, '\p{tamil}', "");
-Expect(1, 2945, '\p{^tamil}', "");
-Expect(1, 2945, '\P{tamil}', "");
-Expect(0, 2945, '\P{^tamil}', "");
-Expect(1, 2947, '\p{_ Tamil}', "");
-Expect(0, 2947, '\p{^_ Tamil}', "");
-Expect(0, 2947, '\P{_ Tamil}', "");
-Expect(1, 2947, '\P{^_ Tamil}', "");
-Expect(0, 2945, '\p{_ Tamil}', "");
-Expect(1, 2945, '\p{^_ Tamil}', "");
-Expect(1, 2945, '\P{_ Tamil}', "");
-Expect(0, 2945, '\P{^_ Tamil}', "");
-Error('\p{ is_TAMIL:=}');
-Error('\P{ is_TAMIL:=}');
-Expect(1, 2947, '\p{istamil}', "");
-Expect(0, 2947, '\p{^istamil}', "");
-Expect(0, 2947, '\P{istamil}', "");
-Expect(1, 2947, '\P{^istamil}', "");
-Expect(0, 2945, '\p{istamil}', "");
-Expect(1, 2945, '\p{^istamil}', "");
-Expect(1, 2945, '\P{istamil}', "");
-Expect(0, 2945, '\P{^istamil}', "");
-Expect(1, 2947, '\p{ ISTAMIL}', "");
-Expect(0, 2947, '\p{^ ISTAMIL}', "");
-Expect(0, 2947, '\P{ ISTAMIL}', "");
-Expect(1, 2947, '\P{^ ISTAMIL}', "");
-Expect(0, 2945, '\p{ ISTAMIL}', "");
-Expect(1, 2945, '\p{^ ISTAMIL}', "");
-Expect(1, 2945, '\P{ ISTAMIL}', "");
-Expect(0, 2945, '\P{^ ISTAMIL}', "");
-Error('\p{/a/ taml}');
-Error('\P{/a/ taml}');
-Expect(1, 2947, '\p{taml}', "");
-Expect(0, 2947, '\p{^taml}', "");
-Expect(0, 2947, '\P{taml}', "");
-Expect(1, 2947, '\P{^taml}', "");
-Expect(0, 2945, '\p{taml}', "");
-Expect(1, 2945, '\p{^taml}', "");
-Expect(1, 2945, '\P{taml}', "");
-Expect(0, 2945, '\P{^taml}', "");
-Expect(1, 2947, '\p{ TAML}', "");
-Expect(0, 2947, '\p{^ TAML}', "");
-Expect(0, 2947, '\P{ TAML}', "");
-Expect(1, 2947, '\P{^ TAML}', "");
-Expect(0, 2945, '\p{ TAML}', "");
-Expect(1, 2945, '\p{^ TAML}', "");
-Expect(1, 2945, '\P{ TAML}', "");
-Expect(0, 2945, '\P{^ TAML}', "");
-Error('\p{-IsTAML/a/}');
-Error('\P{-IsTAML/a/}');
-Expect(1, 2947, '\p{istaml}', "");
-Expect(0, 2947, '\p{^istaml}', "");
-Expect(0, 2947, '\P{istaml}', "");
-Expect(1, 2947, '\P{^istaml}', "");
-Expect(0, 2945, '\p{istaml}', "");
-Expect(1, 2945, '\p{^istaml}', "");
-Expect(1, 2945, '\P{istaml}', "");
-Expect(0, 2945, '\P{^istaml}', "");
-Expect(1, 2947, '\p{ IS-Taml}', "");
-Expect(0, 2947, '\p{^ IS-Taml}', "");
-Expect(0, 2947, '\P{ IS-Taml}', "");
-Expect(1, 2947, '\P{^ IS-Taml}', "");
-Expect(0, 2945, '\p{ IS-Taml}', "");
-Expect(1, 2945, '\p{^ IS-Taml}', "");
-Expect(1, 2945, '\P{ IS-Taml}', "");
-Expect(0, 2945, '\P{^ IS-Taml}', "");
-Error('\p{ _SHAVIAN:=}');
-Error('\P{ _SHAVIAN:=}');
-Expect(1, 66687, '\p{shavian}', "");
-Expect(0, 66687, '\p{^shavian}', "");
-Expect(0, 66687, '\P{shavian}', "");
-Expect(1, 66687, '\P{^shavian}', "");
-Expect(0, 66639, '\p{shavian}', "");
-Expect(1, 66639, '\p{^shavian}', "");
-Expect(1, 66639, '\P{shavian}', "");
-Expect(0, 66639, '\P{^shavian}', "");
-Expect(1, 66687, '\p{-Shavian}', "");
-Expect(0, 66687, '\p{^-Shavian}', "");
-Expect(0, 66687, '\P{-Shavian}', "");
-Expect(1, 66687, '\P{^-Shavian}', "");
-Expect(0, 66639, '\p{-Shavian}', "");
-Expect(1, 66639, '\p{^-Shavian}', "");
-Expect(1, 66639, '\P{-Shavian}', "");
-Expect(0, 66639, '\P{^-Shavian}', "");
-Error('\p{_ Isshavian:=}');
-Error('\P{_ Isshavian:=}');
-Expect(1, 66687, '\p{isshavian}', "");
-Expect(0, 66687, '\p{^isshavian}', "");
-Expect(0, 66687, '\P{isshavian}', "");
-Expect(1, 66687, '\P{^isshavian}', "");
-Expect(0, 66639, '\p{isshavian}', "");
-Expect(1, 66639, '\p{^isshavian}', "");
-Expect(1, 66639, '\P{isshavian}', "");
-Expect(0, 66639, '\P{^isshavian}', "");
-Expect(1, 66687, '\p{ _Is Shavian}', "");
-Expect(0, 66687, '\p{^ _Is Shavian}', "");
-Expect(0, 66687, '\P{ _Is Shavian}', "");
-Expect(1, 66687, '\P{^ _Is Shavian}', "");
-Expect(0, 66639, '\p{ _Is Shavian}', "");
-Expect(1, 66639, '\p{^ _Is Shavian}', "");
-Expect(1, 66639, '\P{ _Is Shavian}', "");
-Expect(0, 66639, '\P{^ _Is Shavian}', "");
-Error('\p{ Shaw:=}');
-Error('\P{ Shaw:=}');
-Expect(1, 66687, '\p{shaw}', "");
-Expect(0, 66687, '\p{^shaw}', "");
-Expect(0, 66687, '\P{shaw}', "");
-Expect(1, 66687, '\P{^shaw}', "");
-Expect(0, 66639, '\p{shaw}', "");
-Expect(1, 66639, '\p{^shaw}', "");
-Expect(1, 66639, '\P{shaw}', "");
-Expect(0, 66639, '\P{^shaw}', "");
-Expect(1, 66687, '\p{ shaw}', "");
-Expect(0, 66687, '\p{^ shaw}', "");
-Expect(0, 66687, '\P{ shaw}', "");
-Expect(1, 66687, '\P{^ shaw}', "");
-Expect(0, 66639, '\p{ shaw}', "");
-Expect(1, 66639, '\p{^ shaw}', "");
-Expect(1, 66639, '\P{ shaw}', "");
-Expect(0, 66639, '\P{^ shaw}', "");
-Error('\p{ :=IsSHAW}');
-Error('\P{ :=IsSHAW}');
-Expect(1, 66687, '\p{isshaw}', "");
-Expect(0, 66687, '\p{^isshaw}', "");
-Expect(0, 66687, '\P{isshaw}', "");
-Expect(1, 66687, '\P{^isshaw}', "");
-Expect(0, 66639, '\p{isshaw}', "");
-Expect(1, 66639, '\p{^isshaw}', "");
-Expect(1, 66639, '\P{isshaw}', "");
-Expect(0, 66639, '\P{^isshaw}', "");
-Expect(1, 66687, '\p{--Is Shaw}', "");
-Expect(0, 66687, '\p{^--Is Shaw}', "");
-Expect(0, 66687, '\P{--Is Shaw}', "");
-Expect(1, 66687, '\P{^--Is Shaw}', "");
-Expect(0, 66639, '\p{--Is Shaw}', "");
-Expect(1, 66639, '\p{^--Is Shaw}', "");
-Expect(1, 66639, '\P{--Is Shaw}', "");
-Expect(0, 66639, '\P{^--Is Shaw}', "");
-Error('\p{ ipaExtensions:=}');
-Error('\P{ ipaExtensions:=}');
-Expect(1, 687, '\p{ipaextensions}', "");
-Expect(0, 687, '\p{^ipaextensions}', "");
-Expect(0, 687, '\P{ipaextensions}', "");
-Expect(1, 687, '\P{^ipaextensions}', "");
-Expect(0, 591, '\p{ipaextensions}', "");
-Expect(1, 591, '\p{^ipaextensions}', "");
-Expect(1, 591, '\P{ipaextensions}', "");
-Expect(0, 591, '\P{^ipaextensions}', "");
-Expect(1, 687, '\p{- IPA-Extensions}', "");
-Expect(0, 687, '\p{^- IPA-Extensions}', "");
-Expect(0, 687, '\P{- IPA-Extensions}', "");
-Expect(1, 687, '\P{^- IPA-Extensions}', "");
-Expect(0, 591, '\p{- IPA-Extensions}', "");
-Expect(1, 591, '\p{^- IPA-Extensions}', "");
-Expect(1, 591, '\P{- IPA-Extensions}', "");
-Expect(0, 591, '\P{^- IPA-Extensions}', "");
-Error('\p{ is IPA:=Extensions}');
-Error('\P{ is IPA:=Extensions}');
-Expect(1, 687, '\p{isipaextensions}', "");
-Expect(0, 687, '\p{^isipaextensions}', "");
-Expect(0, 687, '\P{isipaextensions}', "");
-Expect(1, 687, '\P{^isipaextensions}', "");
-Expect(0, 591, '\p{isipaextensions}', "");
-Expect(1, 591, '\p{^isipaextensions}', "");
-Expect(1, 591, '\P{isipaextensions}', "");
-Expect(0, 591, '\P{^isipaextensions}', "");
-Expect(1, 687, '\p{ is_ipa Extensions}', "");
-Expect(0, 687, '\p{^ is_ipa Extensions}', "");
-Expect(0, 687, '\P{ is_ipa Extensions}', "");
-Expect(1, 687, '\P{^ is_ipa Extensions}', "");
-Expect(0, 591, '\p{ is_ipa Extensions}', "");
-Expect(1, 591, '\p{^ is_ipa Extensions}', "");
-Expect(1, 591, '\P{ is_ipa Extensions}', "");
-Expect(0, 591, '\P{^ is_ipa Extensions}', "");
-Error('\p{- inIPA/a/Extensions}');
-Error('\P{- inIPA/a/Extensions}');
-Expect(1, 687, '\p{inipaextensions}', "");
-Expect(0, 687, '\p{^inipaextensions}', "");
-Expect(0, 687, '\P{inipaextensions}', "");
-Expect(1, 687, '\P{^inipaextensions}', "");
-Expect(0, 591, '\p{inipaextensions}', "");
-Expect(1, 591, '\p{^inipaextensions}', "");
-Expect(1, 591, '\P{inipaextensions}', "");
-Expect(0, 591, '\P{^inipaextensions}', "");
-Expect(1, 687, '\p{ In ipa EXTENSIONS}', "");
-Expect(0, 687, '\p{^ In ipa EXTENSIONS}', "");
-Expect(0, 687, '\P{ In ipa EXTENSIONS}', "");
-Expect(1, 687, '\P{^ In ipa EXTENSIONS}', "");
-Expect(0, 591, '\p{ In ipa EXTENSIONS}', "");
-Expect(1, 591, '\p{^ In ipa EXTENSIONS}', "");
-Expect(1, 591, '\P{ In ipa EXTENSIONS}', "");
-Expect(0, 591, '\P{^ In ipa EXTENSIONS}', "");
-Error('\p{/a/HIRAGANA}');
-Error('\P{/a/HIRAGANA}');
-Expect(1, 12438, '\p{hiragana}', "");
-Expect(0, 12438, '\p{^hiragana}', "");
-Expect(0, 12438, '\P{hiragana}', "");
-Expect(1, 12438, '\P{^hiragana}', "");
-Expect(0, 12352, '\p{hiragana}', "");
-Expect(1, 12352, '\p{^hiragana}', "");
-Expect(1, 12352, '\P{hiragana}', "");
-Expect(0, 12352, '\P{^hiragana}', "");
-Expect(1, 12438, '\p{-HIRAGANA}', "");
-Expect(0, 12438, '\p{^-HIRAGANA}', "");
-Expect(0, 12438, '\P{-HIRAGANA}', "");
-Expect(1, 12438, '\P{^-HIRAGANA}', "");
-Expect(0, 12352, '\p{-HIRAGANA}', "");
-Expect(1, 12352, '\p{^-HIRAGANA}', "");
-Expect(1, 12352, '\P{-HIRAGANA}', "");
-Expect(0, 12352, '\P{^-HIRAGANA}', "");
-Error('\p{/a/_-IsHiragana}');
-Error('\P{/a/_-IsHiragana}');
-Expect(1, 12438, '\p{ishiragana}', "");
-Expect(0, 12438, '\p{^ishiragana}', "");
-Expect(0, 12438, '\P{ishiragana}', "");
-Expect(1, 12438, '\P{^ishiragana}', "");
-Expect(0, 12352, '\p{ishiragana}', "");
-Expect(1, 12352, '\p{^ishiragana}', "");
-Expect(1, 12352, '\P{ishiragana}', "");
-Expect(0, 12352, '\P{^ishiragana}', "");
-Expect(1, 12438, '\p{ is_Hiragana}', "");
-Expect(0, 12438, '\p{^ is_Hiragana}', "");
-Expect(0, 12438, '\P{ is_Hiragana}', "");
-Expect(1, 12438, '\P{^ is_Hiragana}', "");
-Expect(0, 12352, '\p{ is_Hiragana}', "");
-Expect(1, 12352, '\p{^ is_Hiragana}', "");
-Expect(1, 12352, '\P{ is_Hiragana}', "");
-Expect(0, 12352, '\P{^ is_Hiragana}', "");
-Error('\p{- Hira/a/}');
-Error('\P{- Hira/a/}');
-Expect(1, 12438, '\p{hira}', "");
-Expect(0, 12438, '\p{^hira}', "");
-Expect(0, 12438, '\P{hira}', "");
-Expect(1, 12438, '\P{^hira}', "");
-Expect(0, 12352, '\p{hira}', "");
-Expect(1, 12352, '\p{^hira}', "");
-Expect(1, 12352, '\P{hira}', "");
-Expect(0, 12352, '\P{^hira}', "");
-Expect(1, 12438, '\p{Hira}', "");
-Expect(0, 12438, '\p{^Hira}', "");
-Expect(0, 12438, '\P{Hira}', "");
-Expect(1, 12438, '\P{^Hira}', "");
-Expect(0, 12352, '\p{Hira}', "");
-Expect(1, 12352, '\p{^Hira}', "");
-Expect(1, 12352, '\P{Hira}', "");
-Expect(0, 12352, '\P{^Hira}', "");
-Error('\p{:=Is Hira}');
-Error('\P{:=Is Hira}');
-Expect(1, 12438, '\p{ishira}', "");
-Expect(0, 12438, '\p{^ishira}', "");
-Expect(0, 12438, '\P{ishira}', "");
-Expect(1, 12438, '\P{^ishira}', "");
-Expect(0, 12352, '\p{ishira}', "");
-Expect(1, 12352, '\p{^ishira}', "");
-Expect(1, 12352, '\P{ishira}', "");
-Expect(0, 12352, '\P{^ishira}', "");
-Expect(1, 12438, '\p{- Is Hira}', "");
-Expect(0, 12438, '\p{^- Is Hira}', "");
-Expect(0, 12438, '\P{- Is Hira}', "");
-Expect(1, 12438, '\P{^- Is Hira}', "");
-Expect(0, 12352, '\p{- Is Hira}', "");
-Expect(1, 12352, '\p{^- Is Hira}', "");
-Expect(1, 12352, '\P{- Is Hira}', "");
-Expect(0, 12352, '\P{^- Is Hira}', "");
-Error('\p{ greek/a/}');
-Error('\P{ greek/a/}');
-Expect(1, 883, '\p{greek}', "");
-Expect(0, 883, '\p{^greek}', "");
-Expect(0, 883, '\P{greek}', "");
-Expect(1, 883, '\P{^greek}', "");
-Expect(0, 879, '\p{greek}', "");
-Expect(1, 879, '\p{^greek}', "");
-Expect(1, 879, '\P{greek}', "");
-Expect(0, 879, '\P{^greek}', "");
-Expect(1, 883, '\p{_GREEK}', "");
-Expect(0, 883, '\p{^_GREEK}', "");
-Expect(0, 883, '\P{_GREEK}', "");
-Expect(1, 883, '\P{^_GREEK}', "");
-Expect(0, 879, '\p{_GREEK}', "");
-Expect(1, 879, '\p{^_GREEK}', "");
-Expect(1, 879, '\P{_GREEK}', "");
-Expect(0, 879, '\P{^_GREEK}', "");
-Error('\p{IS_GREEK:=}');
-Error('\P{IS_GREEK:=}');
-Expect(1, 883, '\p{isgreek}', "");
-Expect(0, 883, '\p{^isgreek}', "");
-Expect(0, 883, '\P{isgreek}', "");
-Expect(1, 883, '\P{^isgreek}', "");
-Expect(0, 879, '\p{isgreek}', "");
-Expect(1, 879, '\p{^isgreek}', "");
-Expect(1, 879, '\P{isgreek}', "");
-Expect(0, 879, '\P{^isgreek}', "");
-Expect(1, 883, '\p{ is-greek}', "");
-Expect(0, 883, '\p{^ is-greek}', "");
-Expect(0, 883, '\P{ is-greek}', "");
-Expect(1, 883, '\P{^ is-greek}', "");
-Expect(0, 879, '\p{ is-greek}', "");
-Expect(1, 879, '\p{^ is-greek}', "");
-Expect(1, 879, '\P{ is-greek}', "");
-Expect(0, 879, '\P{^ is-greek}', "");
-Error('\p{/a/_ grek}');
-Error('\P{/a/_ grek}');
-Expect(1, 883, '\p{grek}', "");
-Expect(0, 883, '\p{^grek}', "");
-Expect(0, 883, '\P{grek}', "");
-Expect(1, 883, '\P{^grek}', "");
-Expect(0, 879, '\p{grek}', "");
-Expect(1, 879, '\p{^grek}', "");
-Expect(1, 879, '\P{grek}', "");
-Expect(0, 879, '\P{^grek}', "");
-Expect(1, 883, '\p{ Grek}', "");
-Expect(0, 883, '\p{^ Grek}', "");
-Expect(0, 883, '\P{ Grek}', "");
-Expect(1, 883, '\P{^ Grek}', "");
-Expect(0, 879, '\p{ Grek}', "");
-Expect(1, 879, '\p{^ Grek}', "");
-Expect(1, 879, '\P{ Grek}', "");
-Expect(0, 879, '\P{^ Grek}', "");
-Error('\p{ Is/a/Grek}');
-Error('\P{ Is/a/Grek}');
-Expect(1, 883, '\p{isgrek}', "");
-Expect(0, 883, '\p{^isgrek}', "");
-Expect(0, 883, '\P{isgrek}', "");
-Expect(1, 883, '\P{^isgrek}', "");
-Expect(0, 879, '\p{isgrek}', "");
-Expect(1, 879, '\p{^isgrek}', "");
-Expect(1, 879, '\P{isgrek}', "");
-Expect(0, 879, '\P{^isgrek}', "");
-Expect(1, 883, '\p{ is_Grek}', "");
-Expect(0, 883, '\p{^ is_Grek}', "");
-Expect(0, 883, '\P{ is_Grek}', "");
-Expect(1, 883, '\P{^ is_Grek}', "");
-Expect(0, 879, '\p{ is_Grek}', "");
-Expect(1, 879, '\p{^ is_Grek}', "");
-Expect(1, 879, '\P{ is_Grek}', "");
-Expect(0, 879, '\P{^ is_Grek}', "");
-Error('\p{- IN_Thai/a/}');
-Error('\P{- IN_Thai/a/}');
-Expect(1, 3711, '\p{inthai}', "");
-Expect(0, 3711, '\p{^inthai}', "");
-Expect(0, 3711, '\P{inthai}', "");
-Expect(1, 3711, '\P{^inthai}', "");
-Expect(0, 3583, '\p{inthai}', "");
-Expect(1, 3583, '\p{^inthai}', "");
-Expect(1, 3583, '\P{inthai}', "");
-Expect(0, 3583, '\P{^inthai}', "");
-Expect(1, 3711, '\p{-In Thai}', "");
-Expect(0, 3711, '\p{^-In Thai}', "");
-Expect(0, 3711, '\P{-In Thai}', "");
-Expect(1, 3711, '\P{^-In Thai}', "");
-Expect(0, 3583, '\p{-In Thai}', "");
-Expect(1, 3583, '\p{^-In Thai}', "");
-Expect(1, 3583, '\P{-In Thai}', "");
-Expect(0, 3583, '\P{^-In Thai}', "");
-Error('\p{ _Line Separator:=}');
-Error('\P{ _Line Separator:=}');
-Expect(1, 8232, '\p{lineseparator}', "");
-Expect(0, 8232, '\p{^lineseparator}', "");
-Expect(0, 8232, '\P{lineseparator}', "");
-Expect(1, 8232, '\P{^lineseparator}', "");
-Expect(0, 8231, '\p{lineseparator}', "");
-Expect(1, 8231, '\p{^lineseparator}', "");
-Expect(1, 8231, '\P{lineseparator}', "");
-Expect(0, 8231, '\P{^lineseparator}', "");
-Expect(1, 8232, '\p{ _line separator}', "");
-Expect(0, 8232, '\p{^ _line separator}', "");
-Expect(0, 8232, '\P{ _line separator}', "");
-Expect(1, 8232, '\P{^ _line separator}', "");
-Expect(0, 8231, '\p{ _line separator}', "");
-Expect(1, 8231, '\p{^ _line separator}', "");
-Expect(1, 8231, '\P{ _line separator}', "");
-Expect(0, 8231, '\P{^ _line separator}', "");
-Error('\p{ IS/a/Line-Separator}');
-Error('\P{ IS/a/Line-Separator}');
-Expect(1, 8232, '\p{islineseparator}', "");
-Expect(0, 8232, '\p{^islineseparator}', "");
-Expect(0, 8232, '\P{islineseparator}', "");
-Expect(1, 8232, '\P{^islineseparator}', "");
-Expect(0, 8231, '\p{islineseparator}', "");
-Expect(1, 8231, '\p{^islineseparator}', "");
-Expect(1, 8231, '\P{islineseparator}', "");
-Expect(0, 8231, '\P{^islineseparator}', "");
-Expect(1, 8232, '\p{__IS-Line-Separator}', "");
-Expect(0, 8232, '\p{^__IS-Line-Separator}', "");
-Expect(0, 8232, '\P{__IS-Line-Separator}', "");
-Expect(1, 8232, '\P{^__IS-Line-Separator}', "");
-Expect(0, 8231, '\p{__IS-Line-Separator}', "");
-Expect(1, 8231, '\p{^__IS-Line-Separator}', "");
-Expect(1, 8231, '\P{__IS-Line-Separator}', "");
-Expect(0, 8231, '\P{^__IS-Line-Separator}', "");
-Error('\p{ Zl/a/}');
-Error('\P{ Zl/a/}');
-Expect(1, 8232, '\p{zl}', "");
-Expect(0, 8232, '\p{^zl}', "");
-Expect(0, 8232, '\P{zl}', "");
-Expect(1, 8232, '\P{^zl}', "");
-Expect(0, 8231, '\p{zl}', "");
-Expect(1, 8231, '\p{^zl}', "");
-Expect(1, 8231, '\P{zl}', "");
-Expect(0, 8231, '\P{^zl}', "");
-Expect(1, 8232, '\p{- Zl}', "");
-Expect(0, 8232, '\p{^- Zl}', "");
-Expect(0, 8232, '\P{- Zl}', "");
-Expect(1, 8232, '\P{^- Zl}', "");
-Expect(0, 8231, '\p{- Zl}', "");
-Expect(1, 8231, '\p{^- Zl}', "");
-Expect(1, 8231, '\P{- Zl}', "");
-Expect(0, 8231, '\P{^- Zl}', "");
-Error('\p{/a/Is ZL}');
-Error('\P{/a/Is ZL}');
-Expect(1, 8232, '\p{iszl}', "");
-Expect(0, 8232, '\p{^iszl}', "");
-Expect(0, 8232, '\P{iszl}', "");
-Expect(1, 8232, '\P{^iszl}', "");
-Expect(0, 8231, '\p{iszl}', "");
-Expect(1, 8231, '\p{^iszl}', "");
-Expect(1, 8231, '\P{iszl}', "");
-Expect(0, 8231, '\P{^iszl}', "");
-Expect(1, 8232, '\p{ ISZl}', "");
-Expect(0, 8232, '\p{^ ISZl}', "");
-Expect(0, 8232, '\P{ ISZl}', "");
-Expect(1, 8232, '\P{^ ISZl}', "");
-Expect(0, 8231, '\p{ ISZl}', "");
-Expect(1, 8231, '\p{^ ISZl}', "");
-Expect(1, 8231, '\P{ ISZl}', "");
-Expect(0, 8231, '\P{^ ISZl}', "");
-Error('\p{ /a/Ol-chiki}');
-Error('\P{ /a/Ol-chiki}');
-Expect(1, 7295, '\p{olchiki}', "");
-Expect(0, 7295, '\p{^olchiki}', "");
-Expect(0, 7295, '\P{olchiki}', "");
-Expect(1, 7295, '\P{^olchiki}', "");
-Expect(0, 7247, '\p{olchiki}', "");
-Expect(1, 7247, '\p{^olchiki}', "");
-Expect(1, 7247, '\P{olchiki}', "");
-Expect(0, 7247, '\P{^olchiki}', "");
-Expect(1, 7295, '\p{_Ol Chiki}', "");
-Expect(0, 7295, '\p{^_Ol Chiki}', "");
-Expect(0, 7295, '\P{_Ol Chiki}', "");
-Expect(1, 7295, '\P{^_Ol Chiki}', "");
-Expect(0, 7247, '\p{_Ol Chiki}', "");
-Expect(1, 7247, '\p{^_Ol Chiki}', "");
-Expect(1, 7247, '\P{_Ol Chiki}', "");
-Expect(0, 7247, '\P{^_Ol Chiki}', "");
-Error('\p{ IS olCHIKI/a/}');
-Error('\P{ IS olCHIKI/a/}');
-Expect(1, 7295, '\p{isolchiki}', "");
-Expect(0, 7295, '\p{^isolchiki}', "");
-Expect(0, 7295, '\P{isolchiki}', "");
-Expect(1, 7295, '\P{^isolchiki}', "");
-Expect(0, 7247, '\p{isolchiki}', "");
-Expect(1, 7247, '\p{^isolchiki}', "");
-Expect(1, 7247, '\P{isolchiki}', "");
-Expect(0, 7247, '\P{^isolchiki}', "");
-Expect(1, 7295, '\p{Is Ol CHIKI}', "");
-Expect(0, 7295, '\p{^Is Ol CHIKI}', "");
-Expect(0, 7295, '\P{Is Ol CHIKI}', "");
-Expect(1, 7295, '\P{^Is Ol CHIKI}', "");
-Expect(0, 7247, '\p{Is Ol CHIKI}', "");
-Expect(1, 7247, '\p{^Is Ol CHIKI}', "");
-Expect(1, 7247, '\P{Is Ol CHIKI}', "");
-Expect(0, 7247, '\P{^Is Ol CHIKI}', "");
-Error('\p{:= olck}');
-Error('\P{:= olck}');
-Expect(1, 7295, '\p{olck}', "");
-Expect(0, 7295, '\p{^olck}', "");
-Expect(0, 7295, '\P{olck}', "");
-Expect(1, 7295, '\P{^olck}', "");
-Expect(0, 7247, '\p{olck}', "");
-Expect(1, 7247, '\p{^olck}', "");
-Expect(1, 7247, '\P{olck}', "");
-Expect(0, 7247, '\P{^olck}', "");
-Expect(1, 7295, '\p{_ olck}', "");
-Expect(0, 7295, '\p{^_ olck}', "");
-Expect(0, 7295, '\P{_ olck}', "");
-Expect(1, 7295, '\P{^_ olck}', "");
-Expect(0, 7247, '\p{_ olck}', "");
-Expect(1, 7247, '\p{^_ olck}', "");
-Expect(1, 7247, '\P{_ olck}', "");
-Expect(0, 7247, '\P{^_ olck}', "");
-Error('\p{ /a/IsOLCK}');
-Error('\P{ /a/IsOLCK}');
-Expect(1, 7295, '\p{isolck}', "");
-Expect(0, 7295, '\p{^isolck}', "");
-Expect(0, 7295, '\P{isolck}', "");
-Expect(1, 7295, '\P{^isolck}', "");
-Expect(0, 7247, '\p{isolck}', "");
-Expect(1, 7247, '\p{^isolck}', "");
-Expect(1, 7247, '\P{isolck}', "");
-Expect(0, 7247, '\P{^isolck}', "");
-Expect(1, 7295, '\p{_Is-olck}', "");
-Expect(0, 7295, '\p{^_Is-olck}', "");
-Expect(0, 7295, '\P{_Is-olck}', "");
-Expect(1, 7295, '\P{^_Is-olck}', "");
-Expect(0, 7247, '\p{_Is-olck}', "");
-Expect(1, 7247, '\p{^_Is-olck}', "");
-Expect(1, 7247, '\P{_Is-olck}', "");
-Expect(0, 7247, '\P{^_Is-olck}', "");
-Error('\p{-/a/tai VIET}');
-Error('\P{-/a/tai VIET}');
-Expect(1, 43714, '\p{taiviet}', "");
-Expect(0, 43714, '\p{^taiviet}', "");
-Expect(0, 43714, '\P{taiviet}', "");
-Expect(1, 43714, '\P{^taiviet}', "");
-Expect(0, 43647, '\p{taiviet}', "");
-Expect(1, 43647, '\p{^taiviet}', "");
-Expect(1, 43647, '\P{taiviet}', "");
-Expect(0, 43647, '\P{^taiviet}', "");
-Expect(1, 43714, '\p{_ Taiviet}', "");
-Expect(0, 43714, '\p{^_ Taiviet}', "");
-Expect(0, 43714, '\P{_ Taiviet}', "");
-Expect(1, 43714, '\P{^_ Taiviet}', "");
-Expect(0, 43647, '\p{_ Taiviet}', "");
-Expect(1, 43647, '\p{^_ Taiviet}', "");
-Expect(1, 43647, '\P{_ Taiviet}', "");
-Expect(0, 43647, '\P{^_ Taiviet}', "");
-Error('\p{ :=is_Tai_VIET}');
-Error('\P{ :=is_Tai_VIET}');
-Expect(1, 43714, '\p{istaiviet}', "");
-Expect(0, 43714, '\p{^istaiviet}', "");
-Expect(0, 43714, '\P{istaiviet}', "");
-Expect(1, 43714, '\P{^istaiviet}', "");
-Expect(0, 43647, '\p{istaiviet}', "");
-Expect(1, 43647, '\p{^istaiviet}', "");
-Expect(1, 43647, '\P{istaiviet}', "");
-Expect(0, 43647, '\P{^istaiviet}', "");
-Expect(1, 43714, '\p{-IS-TAI Viet}', "");
-Expect(0, 43714, '\p{^-IS-TAI Viet}', "");
-Expect(0, 43714, '\P{-IS-TAI Viet}', "");
-Expect(1, 43714, '\P{^-IS-TAI Viet}', "");
-Expect(0, 43647, '\p{-IS-TAI Viet}', "");
-Expect(1, 43647, '\p{^-IS-TAI Viet}', "");
-Expect(1, 43647, '\P{-IS-TAI Viet}', "");
-Expect(0, 43647, '\P{^-IS-TAI Viet}', "");
-Error('\p{_TAVT:=}');
-Error('\P{_TAVT:=}');
-Expect(1, 43714, '\p{tavt}', "");
-Expect(0, 43714, '\p{^tavt}', "");
-Expect(0, 43714, '\P{tavt}', "");
-Expect(1, 43714, '\P{^tavt}', "");
-Expect(0, 43647, '\p{tavt}', "");
-Expect(1, 43647, '\p{^tavt}', "");
-Expect(1, 43647, '\P{tavt}', "");
-Expect(0, 43647, '\P{^tavt}', "");
-Expect(1, 43714, '\p{-Tavt}', "");
-Expect(0, 43714, '\p{^-Tavt}', "");
-Expect(0, 43714, '\P{-Tavt}', "");
-Expect(1, 43714, '\P{^-Tavt}', "");
-Expect(0, 43647, '\p{-Tavt}', "");
-Expect(1, 43647, '\p{^-Tavt}', "");
-Expect(1, 43647, '\P{-Tavt}', "");
-Expect(0, 43647, '\P{^-Tavt}', "");
-Error('\p{ _is:=Tavt}');
-Error('\P{ _is:=Tavt}');
-Expect(1, 43714, '\p{istavt}', "");
-Expect(0, 43714, '\p{^istavt}', "");
-Expect(0, 43714, '\P{istavt}', "");
-Expect(1, 43714, '\P{^istavt}', "");
-Expect(0, 43647, '\p{istavt}', "");
-Expect(1, 43647, '\p{^istavt}', "");
-Expect(1, 43647, '\P{istavt}', "");
-Expect(0, 43647, '\P{^istavt}', "");
-Expect(1, 43714, '\p{ Is TAVT}', "");
-Expect(0, 43714, '\p{^ Is TAVT}', "");
-Expect(0, 43714, '\P{ Is TAVT}', "");
-Expect(1, 43714, '\P{^ Is TAVT}', "");
-Expect(0, 43647, '\p{ Is TAVT}', "");
-Expect(1, 43647, '\p{^ Is TAVT}', "");
-Expect(1, 43647, '\P{ Is TAVT}', "");
-Expect(0, 43647, '\P{^ Is TAVT}', "");
-Error('\p{:= Thai}');
-Error('\P{:= Thai}');
-Expect(1, 3642, '\p{thai}', "");
-Expect(0, 3642, '\p{^thai}', "");
-Expect(0, 3642, '\P{thai}', "");
-Expect(1, 3642, '\P{^thai}', "");
-Expect(0, 3584, '\p{thai}', "");
-Expect(1, 3584, '\p{^thai}', "");
-Expect(1, 3584, '\P{thai}', "");
-Expect(0, 3584, '\P{^thai}', "");
-Expect(1, 3642, '\p{_Thai}', "");
-Expect(0, 3642, '\p{^_Thai}', "");
-Expect(0, 3642, '\P{_Thai}', "");
-Expect(1, 3642, '\P{^_Thai}', "");
-Expect(0, 3584, '\p{_Thai}', "");
-Expect(1, 3584, '\p{^_Thai}', "");
-Expect(1, 3584, '\P{_Thai}', "");
-Expect(0, 3584, '\P{^_Thai}', "");
-Error('\p{ IS/a/THAI}');
-Error('\P{ IS/a/THAI}');
-Expect(1, 3642, '\p{isthai}', "");
-Expect(0, 3642, '\p{^isthai}', "");
-Expect(0, 3642, '\P{isthai}', "");
-Expect(1, 3642, '\P{^isthai}', "");
-Expect(0, 3584, '\p{isthai}', "");
-Expect(1, 3584, '\p{^isthai}', "");
-Expect(1, 3584, '\P{isthai}', "");
-Expect(0, 3584, '\P{^isthai}', "");
-Expect(1, 3642, '\p{__Is Thai}', "");
-Expect(0, 3642, '\p{^__Is Thai}', "");
-Expect(0, 3642, '\P{__Is Thai}', "");
-Expect(1, 3642, '\P{^__Is Thai}', "");
-Expect(0, 3584, '\p{__Is Thai}', "");
-Expect(1, 3584, '\p{^__Is Thai}', "");
-Expect(1, 3584, '\P{__Is Thai}', "");
-Expect(0, 3584, '\P{^__Is Thai}', "");
-Error('\p{:=_ ASCII}');
-Error('\P{:=_ ASCII}');
-Expect(1, 127, '\p{ascii}', "");
-Expect(0, 127, '\p{^ascii}', "");
-Expect(0, 127, '\P{ascii}', "");
-Expect(1, 127, '\P{^ascii}', "");
-Expect(0, 128, '\p{ascii}', "");
-Expect(1, 128, '\p{^ascii}', "");
-Expect(1, 128, '\P{ascii}', "");
-Expect(0, 128, '\P{^ascii}', "");
-Expect(1, 127, '\p{--ascii}', "");
-Expect(0, 127, '\p{^--ascii}', "");
-Expect(0, 127, '\P{--ascii}', "");
-Expect(1, 127, '\P{^--ascii}', "");
-Expect(0, 128, '\p{--ascii}', "");
-Expect(1, 128, '\p{^--ascii}', "");
-Expect(1, 128, '\P{--ascii}', "");
-Expect(0, 128, '\P{^--ascii}', "");
-Error('\p{is:=ASCII}');
-Error('\P{is:=ASCII}');
-Expect(1, 127, '\p{isascii}', "");
-Expect(0, 127, '\p{^isascii}', "");
-Expect(0, 127, '\P{isascii}', "");
-Expect(1, 127, '\P{^isascii}', "");
-Expect(0, 128, '\p{isascii}', "");
-Expect(1, 128, '\p{^isascii}', "");
-Expect(1, 128, '\P{isascii}', "");
-Expect(0, 128, '\P{^isascii}', "");
-Expect(1, 127, '\p{ -IS_ascii}', "");
-Expect(0, 127, '\p{^ -IS_ascii}', "");
-Expect(0, 127, '\P{ -IS_ascii}', "");
-Expect(1, 127, '\P{^ -IS_ascii}', "");
-Expect(0, 128, '\p{ -IS_ascii}', "");
-Expect(1, 128, '\p{^ -IS_ascii}', "");
-Expect(1, 128, '\P{ -IS_ascii}', "");
-Expect(0, 128, '\P{^ -IS_ascii}', "");
-Error('\p{BasicLatin/a/}');
-Error('\P{BasicLatin/a/}');
-Expect(1, 127, '\p{basiclatin}', "");
-Expect(0, 127, '\p{^basiclatin}', "");
-Expect(0, 127, '\P{basiclatin}', "");
-Expect(1, 127, '\P{^basiclatin}', "");
-Expect(0, 128, '\p{basiclatin}', "");
-Expect(1, 128, '\p{^basiclatin}', "");
-Expect(1, 128, '\P{basiclatin}', "");
-Expect(0, 128, '\P{^basiclatin}', "");
-Expect(1, 127, '\p{ BASIC_LATIN}', "");
-Expect(0, 127, '\p{^ BASIC_LATIN}', "");
-Expect(0, 127, '\P{ BASIC_LATIN}', "");
-Expect(1, 127, '\P{^ BASIC_LATIN}', "");
-Expect(0, 128, '\p{ BASIC_LATIN}', "");
-Expect(1, 128, '\p{^ BASIC_LATIN}', "");
-Expect(1, 128, '\P{ BASIC_LATIN}', "");
-Expect(0, 128, '\P{^ BASIC_LATIN}', "");
-Error('\p{ Is Basic/a/Latin}');
-Error('\P{ Is Basic/a/Latin}');
-Expect(1, 127, '\p{isbasiclatin}', "");
-Expect(0, 127, '\p{^isbasiclatin}', "");
-Expect(0, 127, '\P{isbasiclatin}', "");
-Expect(1, 127, '\P{^isbasiclatin}', "");
-Expect(0, 128, '\p{isbasiclatin}', "");
-Expect(1, 128, '\p{^isbasiclatin}', "");
-Expect(1, 128, '\P{isbasiclatin}', "");
-Expect(0, 128, '\P{^isbasiclatin}', "");
-Expect(1, 127, '\p{ is_Basiclatin}', "");
-Expect(0, 127, '\p{^ is_Basiclatin}', "");
-Expect(0, 127, '\P{ is_Basiclatin}', "");
-Expect(1, 127, '\P{^ is_Basiclatin}', "");
-Expect(0, 128, '\p{ is_Basiclatin}', "");
-Expect(1, 128, '\p{^ is_Basiclatin}', "");
-Expect(1, 128, '\P{ is_Basiclatin}', "");
-Expect(0, 128, '\P{^ is_Basiclatin}', "");
-Error('\p{ /a/IN_Basic-Latin}');
-Error('\P{ /a/IN_Basic-Latin}');
-Expect(1, 127, '\p{inbasiclatin}', "");
-Expect(0, 127, '\p{^inbasiclatin}', "");
-Expect(0, 127, '\P{inbasiclatin}', "");
-Expect(1, 127, '\P{^inbasiclatin}', "");
-Expect(0, 128, '\p{inbasiclatin}', "");
-Expect(1, 128, '\p{^inbasiclatin}', "");
-Expect(1, 128, '\P{inbasiclatin}', "");
-Expect(0, 128, '\P{^inbasiclatin}', "");
-Expect(1, 127, '\p{- InBasic_Latin}', "");
-Expect(0, 127, '\p{^- InBasic_Latin}', "");
-Expect(0, 127, '\P{- InBasic_Latin}', "");
-Expect(1, 127, '\P{^- InBasic_Latin}', "");
-Expect(0, 128, '\p{- InBasic_Latin}', "");
-Expect(1, 128, '\p{^- InBasic_Latin}', "");
-Expect(1, 128, '\P{- InBasic_Latin}', "");
-Expect(0, 128, '\P{^- InBasic_Latin}', "");
-Error('\p{_/a/In-ascii}');
-Error('\P{_/a/In-ascii}');
-Expect(1, 127, '\p{inascii}', "");
-Expect(0, 127, '\p{^inascii}', "");
-Expect(0, 127, '\P{inascii}', "");
-Expect(1, 127, '\P{^inascii}', "");
-Expect(0, 128, '\p{inascii}', "");
-Expect(1, 128, '\p{^inascii}', "");
-Expect(1, 128, '\P{inascii}', "");
-Expect(0, 128, '\P{^inascii}', "");
-Expect(1, 127, '\p{ -InASCII}', "");
-Expect(0, 127, '\p{^ -InASCII}', "");
-Expect(0, 127, '\P{ -InASCII}', "");
-Expect(1, 127, '\P{^ -InASCII}', "");
-Expect(0, 128, '\p{ -InASCII}', "");
-Expect(1, 128, '\p{^ -InASCII}', "");
-Expect(1, 128, '\P{ -InASCII}', "");
-Expect(0, 128, '\P{^ -InASCII}', "");
-Error('\p{ YI_SYLLABLES:=}');
-Error('\P{ YI_SYLLABLES:=}');
-Expect(1, 42127, '\p{yisyllables}', "");
-Expect(0, 42127, '\p{^yisyllables}', "");
-Expect(0, 42127, '\P{yisyllables}', "");
-Expect(1, 42127, '\P{^yisyllables}', "");
-Expect(0, 40959, '\p{yisyllables}', "");
-Expect(1, 40959, '\p{^yisyllables}', "");
-Expect(1, 40959, '\P{yisyllables}', "");
-Expect(0, 40959, '\P{^yisyllables}', "");
-Expect(1, 42127, '\p{_Yi SYLLABLES}', "");
-Expect(0, 42127, '\p{^_Yi SYLLABLES}', "");
-Expect(0, 42127, '\P{_Yi SYLLABLES}', "");
-Expect(1, 42127, '\P{^_Yi SYLLABLES}', "");
-Expect(0, 40959, '\p{_Yi SYLLABLES}', "");
-Expect(1, 40959, '\p{^_Yi SYLLABLES}', "");
-Expect(1, 40959, '\P{_Yi SYLLABLES}', "");
-Expect(0, 40959, '\P{^_Yi SYLLABLES}', "");
-Error('\p{ IS:=YiSyllables}');
-Error('\P{ IS:=YiSyllables}');
-Expect(1, 42127, '\p{isyisyllables}', "");
-Expect(0, 42127, '\p{^isyisyllables}', "");
-Expect(0, 42127, '\P{isyisyllables}', "");
-Expect(1, 42127, '\P{^isyisyllables}', "");
-Expect(0, 40959, '\p{isyisyllables}', "");
-Expect(1, 40959, '\p{^isyisyllables}', "");
-Expect(1, 40959, '\P{isyisyllables}', "");
-Expect(0, 40959, '\P{^isyisyllables}', "");
-Expect(1, 42127, '\p{_ Isyi_Syllables}', "");
-Expect(0, 42127, '\p{^_ Isyi_Syllables}', "");
-Expect(0, 42127, '\P{_ Isyi_Syllables}', "");
-Expect(1, 42127, '\P{^_ Isyi_Syllables}', "");
-Expect(0, 40959, '\p{_ Isyi_Syllables}', "");
-Expect(1, 40959, '\p{^_ Isyi_Syllables}', "");
-Expect(1, 40959, '\P{_ Isyi_Syllables}', "");
-Expect(0, 40959, '\P{^_ Isyi_Syllables}', "");
-Error('\p{_:=in-YI Syllables}');
-Error('\P{_:=in-YI Syllables}');
-Expect(1, 42127, '\p{inyisyllables}', "");
-Expect(0, 42127, '\p{^inyisyllables}', "");
-Expect(0, 42127, '\P{inyisyllables}', "");
-Expect(1, 42127, '\P{^inyisyllables}', "");
-Expect(0, 40959, '\p{inyisyllables}', "");
-Expect(1, 40959, '\p{^inyisyllables}', "");
-Expect(1, 40959, '\P{inyisyllables}', "");
-Expect(0, 40959, '\P{^inyisyllables}', "");
-Expect(1, 42127, '\p{- In_Yi Syllables}', "");
-Expect(0, 42127, '\p{^- In_Yi Syllables}', "");
-Expect(0, 42127, '\P{- In_Yi Syllables}', "");
-Expect(1, 42127, '\P{^- In_Yi Syllables}', "");
-Expect(0, 40959, '\p{- In_Yi Syllables}', "");
-Expect(1, 40959, '\p{^- In_Yi Syllables}', "");
-Expect(1, 40959, '\P{- In_Yi Syllables}', "");
-Expect(0, 40959, '\P{^- In_Yi Syllables}', "");
-Error('\p{-:=Punct}');
-Error('\P{-:=Punct}');
-Expect(1, 35, '\p{punct}', "");
-Expect(0, 35, '\p{^punct}', "");
-Expect(0, 35, '\P{punct}', "");
-Expect(1, 35, '\P{^punct}', "");
-Expect(0, 32, '\p{punct}', "");
-Expect(1, 32, '\p{^punct}', "");
-Expect(1, 32, '\P{punct}', "");
-Expect(0, 32, '\P{^punct}', "");
-Expect(1, 35, '\p{_ punct}', "");
-Expect(0, 35, '\p{^_ punct}', "");
-Expect(0, 35, '\P{_ punct}', "");
-Expect(1, 35, '\P{^_ punct}', "");
-Expect(0, 32, '\p{_ punct}', "");
-Expect(1, 32, '\p{^_ punct}', "");
-Expect(1, 32, '\P{_ punct}', "");
-Expect(0, 32, '\P{^_ punct}', "");
-Error('\p{ Is:=Punct}');
-Error('\P{ Is:=Punct}');
-Expect(1, 35, '\p{ispunct}', "");
-Expect(0, 35, '\p{^ispunct}', "");
-Expect(0, 35, '\P{ispunct}', "");
-Expect(1, 35, '\P{^ispunct}', "");
-Expect(0, 32, '\p{ispunct}', "");
-Expect(1, 32, '\p{^ispunct}', "");
-Expect(1, 32, '\P{ispunct}', "");
-Expect(0, 32, '\P{^ispunct}', "");
-Expect(1, 35, '\p{- IsPunct}', "");
-Expect(0, 35, '\p{^- IsPunct}', "");
-Expect(0, 35, '\P{- IsPunct}', "");
-Expect(1, 35, '\P{^- IsPunct}', "");
-Expect(0, 32, '\p{- IsPunct}', "");
-Expect(1, 32, '\p{^- IsPunct}', "");
-Expect(1, 32, '\P{- IsPunct}', "");
-Expect(0, 32, '\P{^- IsPunct}', "");
-Error('\p{ :=Punctuation}');
-Error('\P{ :=Punctuation}');
-Expect(1, 35, '\p{punctuation}', "");
-Expect(0, 35, '\p{^punctuation}', "");
-Expect(0, 35, '\P{punctuation}', "");
-Expect(1, 35, '\P{^punctuation}', "");
-Expect(0, 32, '\p{punctuation}', "");
-Expect(1, 32, '\p{^punctuation}', "");
-Expect(1, 32, '\P{punctuation}', "");
-Expect(0, 32, '\P{^punctuation}', "");
-Expect(1, 35, '\p{-Punctuation}', "");
-Expect(0, 35, '\p{^-Punctuation}', "");
-Expect(0, 35, '\P{-Punctuation}', "");
-Expect(1, 35, '\P{^-Punctuation}', "");
-Expect(0, 32, '\p{-Punctuation}', "");
-Expect(1, 32, '\p{^-Punctuation}', "");
-Expect(1, 32, '\P{-Punctuation}', "");
-Expect(0, 32, '\P{^-Punctuation}', "");
-Error('\p{ _Is:=PUNCTUATION}');
-Error('\P{ _Is:=PUNCTUATION}');
-Expect(1, 35, '\p{ispunctuation}', "");
-Expect(0, 35, '\p{^ispunctuation}', "");
-Expect(0, 35, '\P{ispunctuation}', "");
-Expect(1, 35, '\P{^ispunctuation}', "");
-Expect(0, 32, '\p{ispunctuation}', "");
-Expect(1, 32, '\p{^ispunctuation}', "");
-Expect(1, 32, '\P{ispunctuation}', "");
-Expect(0, 32, '\P{^ispunctuation}', "");
-Expect(1, 35, '\p{- is-punctuation}', "");
-Expect(0, 35, '\p{^- is-punctuation}', "");
-Expect(0, 35, '\P{- is-punctuation}', "");
-Expect(1, 35, '\P{^- is-punctuation}', "");
-Expect(0, 32, '\p{- is-punctuation}', "");
-Expect(1, 32, '\p{^- is-punctuation}', "");
-Expect(1, 32, '\P{- is-punctuation}', "");
-Expect(0, 32, '\P{^- is-punctuation}', "");
-Error('\p{:= _P}');
-Error('\P{:= _P}');
-Expect(1, 35, '\p{p}', "");
-Expect(0, 35, '\p{^p}', "");
-Expect(0, 35, '\P{p}', "");
-Expect(1, 35, '\P{^p}', "");
-Expect(0, 32, '\p{p}', "");
-Expect(1, 32, '\p{^p}', "");
-Expect(1, 32, '\P{p}', "");
-Expect(0, 32, '\P{^p}', "");
-Expect(1, 35, '\p{_-P}', "");
-Expect(0, 35, '\p{^_-P}', "");
-Expect(0, 35, '\P{_-P}', "");
-Expect(1, 35, '\P{^_-P}', "");
-Expect(0, 32, '\p{_-P}', "");
-Expect(1, 32, '\p{^_-P}', "");
-Expect(1, 32, '\P{_-P}', "");
-Expect(0, 32, '\P{^_-P}', "");
-Error('\p{ Is-P/a/}');
-Error('\P{ Is-P/a/}');
-Expect(1, 35, '\p{isp}', "");
-Expect(0, 35, '\p{^isp}', "");
-Expect(0, 35, '\P{isp}', "");
-Expect(1, 35, '\P{^isp}', "");
-Expect(0, 32, '\p{isp}', "");
-Expect(1, 32, '\p{^isp}', "");
-Expect(1, 32, '\P{isp}', "");
-Expect(0, 32, '\P{^isp}', "");
-Expect(1, 35, '\p{_ IS P}', "");
-Expect(0, 35, '\p{^_ IS P}', "");
-Expect(0, 35, '\P{_ IS P}', "");
-Expect(1, 35, '\P{^_ IS P}', "");
-Expect(0, 32, '\p{_ IS P}', "");
-Expect(1, 32, '\p{^_ IS P}', "");
-Expect(1, 32, '\P{_ IS P}', "");
-Expect(0, 32, '\P{^_ IS P}', "");
-Error('\p{Expands_On_NFD}');
-Error('\P{Expands_On_NFD}');
-Error('\p{Is_Expands_On_NFD}');
-Error('\P{Is_Expands_On_NFD}');
-Error('\p{XO_NFD}');
-Error('\P{XO_NFD}');
-Error('\p{Is_XO_NFD}');
-Error('\P{Is_XO_NFD}');
-Error('\p{/a/ Superscripts_And SUBSCRIPTS}');
-Error('\P{/a/ Superscripts_And SUBSCRIPTS}');
-Expect(1, 8351, '\p{superscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^superscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{superscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^superscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{superscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^superscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{superscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^superscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{ superscripts AND_SUBSCRIPTS}', "");
-Expect(0, 8351, '\p{^ superscripts AND_SUBSCRIPTS}', "");
-Expect(0, 8351, '\P{ superscripts AND_SUBSCRIPTS}', "");
-Expect(1, 8351, '\P{^ superscripts AND_SUBSCRIPTS}', "");
-Expect(0, 8303, '\p{ superscripts AND_SUBSCRIPTS}', "");
-Expect(1, 8303, '\p{^ superscripts AND_SUBSCRIPTS}', "");
-Expect(1, 8303, '\P{ superscripts AND_SUBSCRIPTS}', "");
-Expect(0, 8303, '\P{^ superscripts AND_SUBSCRIPTS}', "");
-Error('\p{ _Is-SuperscriptsAND Subscripts/a/}');
-Error('\P{ _Is-SuperscriptsAND Subscripts/a/}');
-Expect(1, 8351, '\p{issuperscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^issuperscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{issuperscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^issuperscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{issuperscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^issuperscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{issuperscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^issuperscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{ -Is Superscripts_And subscripts}', "");
-Expect(0, 8351, '\p{^ -Is Superscripts_And subscripts}', "");
-Expect(0, 8351, '\P{ -Is Superscripts_And subscripts}', "");
-Expect(1, 8351, '\P{^ -Is Superscripts_And subscripts}', "");
-Expect(0, 8303, '\p{ -Is Superscripts_And subscripts}', "");
-Expect(1, 8303, '\p{^ -Is Superscripts_And subscripts}', "");
-Expect(1, 8303, '\P{ -Is Superscripts_And subscripts}', "");
-Expect(0, 8303, '\P{^ -Is Superscripts_And subscripts}', "");
-Error('\p{:=_ in Superscripts_And Subscripts}');
-Error('\P{:=_ in Superscripts_And Subscripts}');
-Expect(1, 8351, '\p{insuperscriptsandsubscripts}', "");
-Expect(0, 8351, '\p{^insuperscriptsandsubscripts}', "");
-Expect(0, 8351, '\P{insuperscriptsandsubscripts}', "");
-Expect(1, 8351, '\P{^insuperscriptsandsubscripts}', "");
-Expect(0, 8303, '\p{insuperscriptsandsubscripts}', "");
-Expect(1, 8303, '\p{^insuperscriptsandsubscripts}', "");
-Expect(1, 8303, '\P{insuperscriptsandsubscripts}', "");
-Expect(0, 8303, '\P{^insuperscriptsandsubscripts}', "");
-Expect(1, 8351, '\p{-insuperscripts Andsubscripts}', "");
-Expect(0, 8351, '\p{^-insuperscripts Andsubscripts}', "");
-Expect(0, 8351, '\P{-insuperscripts Andsubscripts}', "");
-Expect(1, 8351, '\P{^-insuperscripts Andsubscripts}', "");
-Expect(0, 8303, '\p{-insuperscripts Andsubscripts}', "");
-Expect(1, 8303, '\p{^-insuperscripts Andsubscripts}', "");
-Expect(1, 8303, '\P{-insuperscripts Andsubscripts}', "");
-Expect(0, 8303, '\P{^-insuperscripts Andsubscripts}', "");
-Error('\p{_ In/a/balinese}');
-Error('\P{_ In/a/balinese}');
-Expect(1, 7039, '\p{inbalinese}', "");
-Expect(0, 7039, '\p{^inbalinese}', "");
-Expect(0, 7039, '\P{inbalinese}', "");
-Expect(1, 7039, '\P{^inbalinese}', "");
-Expect(0, 6911, '\p{inbalinese}', "");
-Expect(1, 6911, '\p{^inbalinese}', "");
-Expect(1, 6911, '\P{inbalinese}', "");
-Expect(0, 6911, '\P{^inbalinese}', "");
-Expect(1, 7039, '\p{ In balinese}', "");
-Expect(0, 7039, '\p{^ In balinese}', "");
-Expect(0, 7039, '\P{ In balinese}', "");
-Expect(1, 7039, '\P{^ In balinese}', "");
-Expect(0, 6911, '\p{ In balinese}', "");
-Expect(1, 6911, '\p{^ In balinese}', "");
-Expect(1, 6911, '\P{ In balinese}', "");
-Expect(0, 6911, '\P{^ In balinese}', "");
-Error('\p{:= DEPRECATED}');
-Error('\P{:= DEPRECATED}');
-Expect(1, 329, '\p{deprecated}', "");
-Expect(0, 329, '\p{^deprecated}', "");
-Expect(0, 329, '\P{deprecated}', "");
-Expect(1, 329, '\P{^deprecated}', "");
-Expect(0, 328, '\p{deprecated}', "");
-Expect(1, 328, '\p{^deprecated}', "");
-Expect(1, 328, '\P{deprecated}', "");
-Expect(0, 328, '\P{^deprecated}', "");
-Expect(1, 329, '\p{--deprecated}', "");
-Expect(0, 329, '\p{^--deprecated}', "");
-Expect(0, 329, '\P{--deprecated}', "");
-Expect(1, 329, '\P{^--deprecated}', "");
-Expect(0, 328, '\p{--deprecated}', "");
-Expect(1, 328, '\p{^--deprecated}', "");
-Expect(1, 328, '\P{--deprecated}', "");
-Expect(0, 328, '\P{^--deprecated}', "");
-Error('\p{/a/ -Is Deprecated}');
-Error('\P{/a/ -Is Deprecated}');
-Expect(1, 329, '\p{isdeprecated}', "");
-Expect(0, 329, '\p{^isdeprecated}', "");
-Expect(0, 329, '\P{isdeprecated}', "");
-Expect(1, 329, '\P{^isdeprecated}', "");
-Expect(0, 328, '\p{isdeprecated}', "");
-Expect(1, 328, '\p{^isdeprecated}', "");
-Expect(1, 328, '\P{isdeprecated}', "");
-Expect(0, 328, '\P{^isdeprecated}', "");
-Expect(1, 329, '\p{IS deprecated}', "");
-Expect(0, 329, '\p{^IS deprecated}', "");
-Expect(0, 329, '\P{IS deprecated}', "");
-Expect(1, 329, '\P{^IS deprecated}', "");
-Expect(0, 328, '\p{IS deprecated}', "");
-Expect(1, 328, '\p{^IS deprecated}', "");
-Expect(1, 328, '\P{IS deprecated}', "");
-Expect(0, 328, '\P{^IS deprecated}', "");
-Error('\p{/a/ Dep}');
-Error('\P{/a/ Dep}');
-Expect(1, 329, '\p{dep}', "");
-Expect(0, 329, '\p{^dep}', "");
-Expect(0, 329, '\P{dep}', "");
-Expect(1, 329, '\P{^dep}', "");
-Expect(0, 328, '\p{dep}', "");
-Expect(1, 328, '\p{^dep}', "");
-Expect(1, 328, '\P{dep}', "");
-Expect(0, 328, '\P{^dep}', "");
-Expect(1, 329, '\p{_ dep}', "");
-Expect(0, 329, '\p{^_ dep}', "");
-Expect(0, 329, '\P{_ dep}', "");
-Expect(1, 329, '\P{^_ dep}', "");
-Expect(0, 328, '\p{_ dep}', "");
-Expect(1, 328, '\p{^_ dep}', "");
-Expect(1, 328, '\P{_ dep}', "");
-Expect(0, 328, '\P{^_ dep}', "");
-Error('\p{--is Dep/a/}');
-Error('\P{--is Dep/a/}');
-Expect(1, 329, '\p{isdep}', "");
-Expect(0, 329, '\p{^isdep}', "");
-Expect(0, 329, '\P{isdep}', "");
-Expect(1, 329, '\P{^isdep}', "");
-Expect(0, 328, '\p{isdep}', "");
-Expect(1, 328, '\p{^isdep}', "");
-Expect(1, 328, '\P{isdep}', "");
-Expect(0, 328, '\P{^isdep}', "");
-Expect(1, 329, '\p{_is dep}', "");
-Expect(0, 329, '\p{^_is dep}', "");
-Expect(0, 329, '\P{_is dep}', "");
-Expect(1, 329, '\P{^_is dep}', "");
-Expect(0, 328, '\p{_is dep}', "");
-Expect(1, 328, '\p{^_is dep}', "");
-Expect(1, 328, '\P{_is dep}', "");
-Expect(0, 328, '\P{^_is dep}', "");
-Error('\p{ myanmar/a/}');
-Error('\P{ myanmar/a/}');
-Expect(1, 4255, '\p{myanmar}', "");
-Expect(0, 4255, '\p{^myanmar}', "");
-Expect(0, 4255, '\P{myanmar}', "");
-Expect(1, 4255, '\P{^myanmar}', "");
-Expect(0, 4095, '\p{myanmar}', "");
-Expect(1, 4095, '\p{^myanmar}', "");
-Expect(1, 4095, '\P{myanmar}', "");
-Expect(0, 4095, '\P{^myanmar}', "");
-Expect(1, 4255, '\p{ _Myanmar}', "");
-Expect(0, 4255, '\p{^ _Myanmar}', "");
-Expect(0, 4255, '\P{ _Myanmar}', "");
-Expect(1, 4255, '\P{^ _Myanmar}', "");
-Expect(0, 4095, '\p{ _Myanmar}', "");
-Expect(1, 4095, '\p{^ _Myanmar}', "");
-Expect(1, 4095, '\P{ _Myanmar}', "");
-Expect(0, 4095, '\P{^ _Myanmar}', "");
-Error('\p{ Is myanmar/a/}');
-Error('\P{ Is myanmar/a/}');
-Expect(1, 4255, '\p{ismyanmar}', "");
-Expect(0, 4255, '\p{^ismyanmar}', "");
-Expect(0, 4255, '\P{ismyanmar}', "");
-Expect(1, 4255, '\P{^ismyanmar}', "");
-Expect(0, 4095, '\p{ismyanmar}', "");
-Expect(1, 4095, '\p{^ismyanmar}', "");
-Expect(1, 4095, '\P{ismyanmar}', "");
-Expect(0, 4095, '\P{^ismyanmar}', "");
-Expect(1, 4255, '\p{-Is MYANMAR}', "");
-Expect(0, 4255, '\p{^-Is MYANMAR}', "");
-Expect(0, 4255, '\P{-Is MYANMAR}', "");
-Expect(1, 4255, '\P{^-Is MYANMAR}', "");
-Expect(0, 4095, '\p{-Is MYANMAR}', "");
-Expect(1, 4095, '\p{^-Is MYANMAR}', "");
-Expect(1, 4095, '\P{-Is MYANMAR}', "");
-Expect(0, 4095, '\P{^-Is MYANMAR}', "");
-Error('\p{_ mymr:=}');
-Error('\P{_ mymr:=}');
-Expect(1, 4255, '\p{mymr}', "");
-Expect(0, 4255, '\p{^mymr}', "");
-Expect(0, 4255, '\P{mymr}', "");
-Expect(1, 4255, '\P{^mymr}', "");
-Expect(0, 4095, '\p{mymr}', "");
-Expect(1, 4095, '\p{^mymr}', "");
-Expect(1, 4095, '\P{mymr}', "");
-Expect(0, 4095, '\P{^mymr}', "");
-Expect(1, 4255, '\p{Mymr}', "");
-Expect(0, 4255, '\p{^Mymr}', "");
-Expect(0, 4255, '\P{Mymr}', "");
-Expect(1, 4255, '\P{^Mymr}', "");
-Expect(0, 4095, '\p{Mymr}', "");
-Expect(1, 4095, '\p{^Mymr}', "");
-Expect(1, 4095, '\P{Mymr}', "");
-Expect(0, 4095, '\P{^Mymr}', "");
-Error('\p{ is_Mymr:=}');
-Error('\P{ is_Mymr:=}');
-Expect(1, 4255, '\p{ismymr}', "");
-Expect(0, 4255, '\p{^ismymr}', "");
-Expect(0, 4255, '\P{ismymr}', "");
-Expect(1, 4255, '\P{^ismymr}', "");
-Expect(0, 4095, '\p{ismymr}', "");
-Expect(1, 4095, '\p{^ismymr}', "");
-Expect(1, 4095, '\P{ismymr}', "");
-Expect(0, 4095, '\P{^ismymr}', "");
-Expect(1, 4255, '\p{- ISMymr}', "");
-Expect(0, 4255, '\p{^- ISMymr}', "");
-Expect(0, 4255, '\P{- ISMymr}', "");
-Expect(1, 4255, '\P{^- ISMymr}', "");
-Expect(0, 4095, '\p{- ISMymr}', "");
-Expect(1, 4095, '\p{^- ISMymr}', "");
-Expect(1, 4095, '\P{- ISMymr}', "");
-Expect(0, 4095, '\P{^- ISMymr}', "");
-Error('\p{ :=initial_Punctuation}');
-Error('\P{ :=initial_Punctuation}');
-Expect(1, 171, '\p{initialpunctuation}', "");
-Expect(0, 171, '\p{^initialpunctuation}', "");
-Expect(0, 171, '\P{initialpunctuation}', "");
-Expect(1, 171, '\P{^initialpunctuation}', "");
-Expect(0, 170, '\p{initialpunctuation}', "");
-Expect(1, 170, '\p{^initialpunctuation}', "");
-Expect(1, 170, '\P{initialpunctuation}', "");
-Expect(0, 170, '\P{^initialpunctuation}', "");
-Expect(1, 171, '\p{ Initial punctuation}', "");
-Expect(0, 171, '\p{^ Initial punctuation}', "");
-Expect(0, 171, '\P{ Initial punctuation}', "");
-Expect(1, 171, '\P{^ Initial punctuation}', "");
-Expect(0, 170, '\p{ Initial punctuation}', "");
-Expect(1, 170, '\p{^ Initial punctuation}', "");
-Expect(1, 170, '\P{ Initial punctuation}', "");
-Expect(0, 170, '\P{^ Initial punctuation}', "");
-Error('\p{ -is_INITIAL/a/punctuation}');
-Error('\P{ -is_INITIAL/a/punctuation}');
-Expect(1, 171, '\p{isinitialpunctuation}', "");
-Expect(0, 171, '\p{^isinitialpunctuation}', "");
-Expect(0, 171, '\P{isinitialpunctuation}', "");
-Expect(1, 171, '\P{^isinitialpunctuation}', "");
-Expect(0, 170, '\p{isinitialpunctuation}', "");
-Expect(1, 170, '\p{^isinitialpunctuation}', "");
-Expect(1, 170, '\P{isinitialpunctuation}', "");
-Expect(0, 170, '\P{^isinitialpunctuation}', "");
-Expect(1, 171, '\p{ -Is Initial Punctuation}', "");
-Expect(0, 171, '\p{^ -Is Initial Punctuation}', "");
-Expect(0, 171, '\P{ -Is Initial Punctuation}', "");
-Expect(1, 171, '\P{^ -Is Initial Punctuation}', "");
-Expect(0, 170, '\p{ -Is Initial Punctuation}', "");
-Expect(1, 170, '\p{^ -Is Initial Punctuation}', "");
-Expect(1, 170, '\P{ -Is Initial Punctuation}', "");
-Expect(0, 170, '\P{^ -Is Initial Punctuation}', "");
-Error('\p{Pi/a/}');
-Error('\P{Pi/a/}');
-Expect(1, 171, '\p{pi}', "");
-Expect(0, 171, '\p{^pi}', "");
-Expect(0, 171, '\P{pi}', "");
-Expect(1, 171, '\P{^pi}', "");
-Expect(0, 170, '\p{pi}', "");
-Expect(1, 170, '\p{^pi}', "");
-Expect(1, 170, '\P{pi}', "");
-Expect(0, 170, '\P{^pi}', "");
-Expect(1, 171, '\p{ -Pi}', "");
-Expect(0, 171, '\p{^ -Pi}', "");
-Expect(0, 171, '\P{ -Pi}', "");
-Expect(1, 171, '\P{^ -Pi}', "");
-Expect(0, 170, '\p{ -Pi}', "");
-Expect(1, 170, '\p{^ -Pi}', "");
-Expect(1, 170, '\P{ -Pi}', "");
-Expect(0, 170, '\P{^ -Pi}', "");
-Error('\p{:=-IS pi}');
-Error('\P{:=-IS pi}');
-Expect(1, 171, '\p{ispi}', "");
-Expect(0, 171, '\p{^ispi}', "");
-Expect(0, 171, '\P{ispi}', "");
-Expect(1, 171, '\P{^ispi}', "");
-Expect(0, 170, '\p{ispi}', "");
-Expect(1, 170, '\p{^ispi}', "");
-Expect(1, 170, '\P{ispi}', "");
-Expect(0, 170, '\P{^ispi}', "");
-Expect(1, 171, '\p{ Is PI}', "");
-Expect(0, 171, '\p{^ Is PI}', "");
-Expect(0, 171, '\P{ Is PI}', "");
-Expect(1, 171, '\P{^ Is PI}', "");
-Expect(0, 170, '\p{ Is PI}', "");
-Expect(1, 170, '\p{^ Is PI}', "");
-Expect(1, 170, '\P{ Is PI}', "");
-Expect(0, 170, '\P{^ Is PI}', "");
-Error('\p{_:=Common}');
-Error('\P{_:=Common}');
-Expect(1, 64, '\p{common}', "");
-Expect(0, 64, '\p{^common}', "");
-Expect(0, 64, '\P{common}', "");
-Expect(1, 64, '\P{^common}', "");
-Expect(0, 90, '\p{common}', "");
-Expect(1, 90, '\p{^common}', "");
-Expect(1, 90, '\P{common}', "");
-Expect(0, 90, '\P{^common}', "");
-Expect(1, 64, '\p{_common}', "");
-Expect(0, 64, '\p{^_common}', "");
-Expect(0, 64, '\P{_common}', "");
-Expect(1, 64, '\P{^_common}', "");
-Expect(0, 90, '\p{_common}', "");
-Expect(1, 90, '\p{^_common}', "");
-Expect(1, 90, '\P{_common}', "");
-Expect(0, 90, '\P{^_common}', "");
-Error('\p{/a/IsCOMMON}');
-Error('\P{/a/IsCOMMON}');
-Expect(1, 64, '\p{iscommon}', "");
-Expect(0, 64, '\p{^iscommon}', "");
-Expect(0, 64, '\P{iscommon}', "");
-Expect(1, 64, '\P{^iscommon}', "");
-Expect(0, 90, '\p{iscommon}', "");
-Expect(1, 90, '\p{^iscommon}', "");
-Expect(1, 90, '\P{iscommon}', "");
-Expect(0, 90, '\P{^iscommon}', "");
-Expect(1, 64, '\p{ is Common}', "");
-Expect(0, 64, '\p{^ is Common}', "");
-Expect(0, 64, '\P{ is Common}', "");
-Expect(1, 64, '\P{^ is Common}', "");
-Expect(0, 90, '\p{ is Common}', "");
-Expect(1, 90, '\p{^ is Common}', "");
-Expect(1, 90, '\P{ is Common}', "");
-Expect(0, 90, '\P{^ is Common}', "");
-Error('\p{--Zyyy/a/}');
-Error('\P{--Zyyy/a/}');
-Expect(1, 64, '\p{zyyy}', "");
-Expect(0, 64, '\p{^zyyy}', "");
-Expect(0, 64, '\P{zyyy}', "");
-Expect(1, 64, '\P{^zyyy}', "");
-Expect(0, 90, '\p{zyyy}', "");
-Expect(1, 90, '\p{^zyyy}', "");
-Expect(1, 90, '\P{zyyy}', "");
-Expect(0, 90, '\P{^zyyy}', "");
-Expect(1, 64, '\p{ -Zyyy}', "");
-Expect(0, 64, '\p{^ -Zyyy}', "");
-Expect(0, 64, '\P{ -Zyyy}', "");
-Expect(1, 64, '\P{^ -Zyyy}', "");
-Expect(0, 90, '\p{ -Zyyy}', "");
-Expect(1, 90, '\p{^ -Zyyy}', "");
-Expect(1, 90, '\P{ -Zyyy}', "");
-Expect(0, 90, '\P{^ -Zyyy}', "");
-Error('\p{ _is Zyyy:=}');
-Error('\P{ _is Zyyy:=}');
-Expect(1, 64, '\p{iszyyy}', "");
-Expect(0, 64, '\p{^iszyyy}', "");
-Expect(0, 64, '\P{iszyyy}', "");
-Expect(1, 64, '\P{^iszyyy}', "");
-Expect(0, 90, '\p{iszyyy}', "");
-Expect(1, 90, '\p{^iszyyy}', "");
-Expect(1, 90, '\P{iszyyy}', "");
-Expect(0, 90, '\P{^iszyyy}', "");
-Expect(1, 64, '\p{ _Is-ZYYY}', "");
-Expect(0, 64, '\p{^ _Is-ZYYY}', "");
-Expect(0, 64, '\P{ _Is-ZYYY}', "");
-Expect(1, 64, '\P{^ _Is-ZYYY}', "");
-Expect(0, 90, '\p{ _Is-ZYYY}', "");
-Expect(1, 90, '\p{^ _Is-ZYYY}', "");
-Expect(1, 90, '\P{ _Is-ZYYY}', "");
-Expect(0, 90, '\P{^ _Is-ZYYY}', "");
-Error('\p{ hangul/a/Jamo}');
-Error('\P{ hangul/a/Jamo}');
-Expect(1, 4607, '\p{hanguljamo}', "");
-Expect(0, 4607, '\p{^hanguljamo}', "");
-Expect(0, 4607, '\P{hanguljamo}', "");
-Expect(1, 4607, '\P{^hanguljamo}', "");
-Expect(0, 4351, '\p{hanguljamo}', "");
-Expect(1, 4351, '\p{^hanguljamo}', "");
-Expect(1, 4351, '\P{hanguljamo}', "");
-Expect(0, 4351, '\P{^hanguljamo}', "");
-Expect(1, 4607, '\p{ -Hangul-Jamo}', "");
-Expect(0, 4607, '\p{^ -Hangul-Jamo}', "");
-Expect(0, 4607, '\P{ -Hangul-Jamo}', "");
-Expect(1, 4607, '\P{^ -Hangul-Jamo}', "");
-Expect(0, 4351, '\p{ -Hangul-Jamo}', "");
-Expect(1, 4351, '\p{^ -Hangul-Jamo}', "");
-Expect(1, 4351, '\P{ -Hangul-Jamo}', "");
-Expect(0, 4351, '\P{^ -Hangul-Jamo}', "");
-Error('\p{--IsHANGUL:=Jamo}');
-Error('\P{--IsHANGUL:=Jamo}');
-Expect(1, 4607, '\p{ishanguljamo}', "");
-Expect(0, 4607, '\p{^ishanguljamo}', "");
-Expect(0, 4607, '\P{ishanguljamo}', "");
-Expect(1, 4607, '\P{^ishanguljamo}', "");
-Expect(0, 4351, '\p{ishanguljamo}', "");
-Expect(1, 4351, '\p{^ishanguljamo}', "");
-Expect(1, 4351, '\P{ishanguljamo}', "");
-Expect(0, 4351, '\P{^ishanguljamo}', "");
-Expect(1, 4607, '\p{ Is Hangul-Jamo}', "");
-Expect(0, 4607, '\p{^ Is Hangul-Jamo}', "");
-Expect(0, 4607, '\P{ Is Hangul-Jamo}', "");
-Expect(1, 4607, '\P{^ Is Hangul-Jamo}', "");
-Expect(0, 4351, '\p{ Is Hangul-Jamo}', "");
-Expect(1, 4351, '\p{^ Is Hangul-Jamo}', "");
-Expect(1, 4351, '\P{ Is Hangul-Jamo}', "");
-Expect(0, 4351, '\P{^ Is Hangul-Jamo}', "");
-Error('\p{:=__in_Hangul-Jamo}');
-Error('\P{:=__in_Hangul-Jamo}');
-Expect(1, 4607, '\p{inhanguljamo}', "");
-Expect(0, 4607, '\p{^inhanguljamo}', "");
-Expect(0, 4607, '\P{inhanguljamo}', "");
-Expect(1, 4607, '\P{^inhanguljamo}', "");
-Expect(0, 4351, '\p{inhanguljamo}', "");
-Expect(1, 4351, '\p{^inhanguljamo}', "");
-Expect(1, 4351, '\P{inhanguljamo}', "");
-Expect(0, 4351, '\P{^inhanguljamo}', "");
-Expect(1, 4607, '\p{_ INhangul JAMO}', "");
-Expect(0, 4607, '\p{^_ INhangul JAMO}', "");
-Expect(0, 4607, '\P{_ INhangul JAMO}', "");
-Expect(1, 4607, '\P{^_ INhangul JAMO}', "");
-Expect(0, 4351, '\p{_ INhangul JAMO}', "");
-Expect(1, 4351, '\p{^_ INhangul JAMO}', "");
-Expect(1, 4351, '\P{_ INhangul JAMO}', "");
-Expect(0, 4351, '\P{^_ INhangul JAMO}', "");
-Error('\p{ :=changesWhen lowercased}');
-Error('\P{ :=changesWhen lowercased}');
-Expect(1, 90, '\p{changeswhenlowercased}', "");
-Expect(0, 90, '\p{^changeswhenlowercased}', "");
-Expect(0, 90, '\P{changeswhenlowercased}', "");
-Expect(1, 90, '\P{^changeswhenlowercased}', "");
-Expect(0, 64, '\p{changeswhenlowercased}', "");
-Expect(1, 64, '\p{^changeswhenlowercased}', "");
-Expect(1, 64, '\P{changeswhenlowercased}', "");
-Expect(0, 64, '\P{^changeswhenlowercased}', "");
-Expect(1, 90, '\p{_ CHANGES WHENLowercased}', "");
-Expect(0, 90, '\p{^_ CHANGES WHENLowercased}', "");
-Expect(0, 90, '\P{_ CHANGES WHENLowercased}', "");
-Expect(1, 90, '\P{^_ CHANGES WHENLowercased}', "");
-Expect(0, 64, '\p{_ CHANGES WHENLowercased}', "");
-Expect(1, 64, '\p{^_ CHANGES WHENLowercased}', "");
-Expect(1, 64, '\P{_ CHANGES WHENLowercased}', "");
-Expect(0, 64, '\P{^_ CHANGES WHENLowercased}', "");
-Error('\p{_Is/a/CHANGES WHENLowercased}');
-Error('\P{_Is/a/CHANGES WHENLowercased}');
-Expect(1, 90, '\p{ischangeswhenlowercased}', "");
-Expect(0, 90, '\p{^ischangeswhenlowercased}', "");
-Expect(0, 90, '\P{ischangeswhenlowercased}', "");
-Expect(1, 90, '\P{^ischangeswhenlowercased}', "");
-Expect(0, 64, '\p{ischangeswhenlowercased}', "");
-Expect(1, 64, '\p{^ischangeswhenlowercased}', "");
-Expect(1, 64, '\P{ischangeswhenlowercased}', "");
-Expect(0, 64, '\P{^ischangeswhenlowercased}', "");
-Expect(1, 90, '\p{_ ISCHANGES-When Lowercased}', "");
-Expect(0, 90, '\p{^_ ISCHANGES-When Lowercased}', "");
-Expect(0, 90, '\P{_ ISCHANGES-When Lowercased}', "");
-Expect(1, 90, '\P{^_ ISCHANGES-When Lowercased}', "");
-Expect(0, 64, '\p{_ ISCHANGES-When Lowercased}', "");
-Expect(1, 64, '\p{^_ ISCHANGES-When Lowercased}', "");
-Expect(1, 64, '\P{_ ISCHANGES-When Lowercased}', "");
-Expect(0, 64, '\P{^_ ISCHANGES-When Lowercased}', "");
-Error('\p{/a/_cwl}');
-Error('\P{/a/_cwl}');
-Expect(1, 90, '\p{cwl}', "");
-Expect(0, 90, '\p{^cwl}', "");
-Expect(0, 90, '\P{cwl}', "");
-Expect(1, 90, '\P{^cwl}', "");
-Expect(0, 64, '\p{cwl}', "");
-Expect(1, 64, '\p{^cwl}', "");
-Expect(1, 64, '\P{cwl}', "");
-Expect(0, 64, '\P{^cwl}', "");
-Expect(1, 90, '\p{ CWL}', "");
-Expect(0, 90, '\p{^ CWL}', "");
-Expect(0, 90, '\P{ CWL}', "");
-Expect(1, 90, '\P{^ CWL}', "");
-Expect(0, 64, '\p{ CWL}', "");
-Expect(1, 64, '\p{^ CWL}', "");
-Expect(1, 64, '\P{ CWL}', "");
-Expect(0, 64, '\P{^ CWL}', "");
-Error('\p{/a/ Is CWL}');
-Error('\P{/a/ Is CWL}');
-Expect(1, 90, '\p{iscwl}', "");
-Expect(0, 90, '\p{^iscwl}', "");
-Expect(0, 90, '\P{iscwl}', "");
-Expect(1, 90, '\P{^iscwl}', "");
-Expect(0, 64, '\p{iscwl}', "");
-Expect(1, 64, '\p{^iscwl}', "");
-Expect(1, 64, '\P{iscwl}', "");
-Expect(0, 64, '\P{^iscwl}', "");
-Expect(1, 90, '\p{_-IsCWL}', "");
-Expect(0, 90, '\p{^_-IsCWL}', "");
-Expect(0, 90, '\P{_-IsCWL}', "");
-Expect(1, 90, '\P{^_-IsCWL}', "");
-Expect(0, 64, '\p{_-IsCWL}', "");
-Expect(1, 64, '\p{^_-IsCWL}', "");
-Expect(1, 64, '\P{_-IsCWL}', "");
-Expect(0, 64, '\P{^_-IsCWL}', "");
-Error('\p{:= Canadian-ABORIGINAL}');
-Error('\P{:= Canadian-ABORIGINAL}');
-Expect(1, 5759, '\p{canadianaboriginal}', "");
-Expect(0, 5759, '\p{^canadianaboriginal}', "");
-Expect(0, 5759, '\P{canadianaboriginal}', "");
-Expect(1, 5759, '\P{^canadianaboriginal}', "");
-Expect(0, 5119, '\p{canadianaboriginal}', "");
-Expect(1, 5119, '\p{^canadianaboriginal}', "");
-Expect(1, 5119, '\P{canadianaboriginal}', "");
-Expect(0, 5119, '\P{^canadianaboriginal}', "");
-Expect(1, 5759, '\p{-_CANADIAN Aboriginal}', "");
-Expect(0, 5759, '\p{^-_CANADIAN Aboriginal}', "");
-Expect(0, 5759, '\P{-_CANADIAN Aboriginal}', "");
-Expect(1, 5759, '\P{^-_CANADIAN Aboriginal}', "");
-Expect(0, 5119, '\p{-_CANADIAN Aboriginal}', "");
-Expect(1, 5119, '\p{^-_CANADIAN Aboriginal}', "");
-Expect(1, 5119, '\P{-_CANADIAN Aboriginal}', "");
-Expect(0, 5119, '\P{^-_CANADIAN Aboriginal}', "");
-Error('\p{--isCanadian-Aboriginal:=}');
-Error('\P{--isCanadian-Aboriginal:=}');
-Expect(1, 5759, '\p{iscanadianaboriginal}', "");
-Expect(0, 5759, '\p{^iscanadianaboriginal}', "");
-Expect(0, 5759, '\P{iscanadianaboriginal}', "");
-Expect(1, 5759, '\P{^iscanadianaboriginal}', "");
-Expect(0, 5119, '\p{iscanadianaboriginal}', "");
-Expect(1, 5119, '\p{^iscanadianaboriginal}', "");
-Expect(1, 5119, '\P{iscanadianaboriginal}', "");
-Expect(0, 5119, '\P{^iscanadianaboriginal}', "");
-Expect(1, 5759, '\p{ IsCanadian aboriginal}', "");
-Expect(0, 5759, '\p{^ IsCanadian aboriginal}', "");
-Expect(0, 5759, '\P{ IsCanadian aboriginal}', "");
-Expect(1, 5759, '\P{^ IsCanadian aboriginal}', "");
-Expect(0, 5119, '\p{ IsCanadian aboriginal}', "");
-Expect(1, 5119, '\p{^ IsCanadian aboriginal}', "");
-Expect(1, 5119, '\P{ IsCanadian aboriginal}', "");
-Expect(0, 5119, '\P{^ IsCanadian aboriginal}', "");
-Error('\p{/a/CANS}');
-Error('\P{/a/CANS}');
-Expect(1, 5759, '\p{cans}', "");
-Expect(0, 5759, '\p{^cans}', "");
-Expect(0, 5759, '\P{cans}', "");
-Expect(1, 5759, '\P{^cans}', "");
-Expect(0, 5119, '\p{cans}', "");
-Expect(1, 5119, '\p{^cans}', "");
-Expect(1, 5119, '\P{cans}', "");
-Expect(0, 5119, '\P{^cans}', "");
-Expect(1, 5759, '\p{CANS}', "");
-Expect(0, 5759, '\p{^CANS}', "");
-Expect(0, 5759, '\P{CANS}', "");
-Expect(1, 5759, '\P{^CANS}', "");
-Expect(0, 5119, '\p{CANS}', "");
-Expect(1, 5119, '\p{^CANS}', "");
-Expect(1, 5119, '\P{CANS}', "");
-Expect(0, 5119, '\P{^CANS}', "");
-Error('\p{_:=is_CANS}');
-Error('\P{_:=is_CANS}');
-Expect(1, 5759, '\p{iscans}', "");
-Expect(0, 5759, '\p{^iscans}', "");
-Expect(0, 5759, '\P{iscans}', "");
-Expect(1, 5759, '\P{^iscans}', "");
-Expect(0, 5119, '\p{iscans}', "");
-Expect(1, 5119, '\p{^iscans}', "");
-Expect(1, 5119, '\P{iscans}', "");
-Expect(0, 5119, '\P{^iscans}', "");
-Expect(1, 5759, '\p{ _IS Cans}', "");
-Expect(0, 5759, '\p{^ _IS Cans}', "");
-Expect(0, 5759, '\P{ _IS Cans}', "");
-Expect(1, 5759, '\P{^ _IS Cans}', "");
-Expect(0, 5119, '\p{ _IS Cans}', "");
-Expect(1, 5119, '\p{^ _IS Cans}', "");
-Expect(1, 5119, '\P{ _IS Cans}', "");
-Expect(0, 5119, '\P{^ _IS Cans}', "");
-Error('\p{/a/__PATTERN-Syntax}');
-Error('\P{/a/__PATTERN-Syntax}');
-Expect(1, 47, '\p{patternsyntax}', "");
-Expect(0, 47, '\p{^patternsyntax}', "");
-Expect(0, 47, '\P{patternsyntax}', "");
-Expect(1, 47, '\P{^patternsyntax}', "");
-Expect(0, 32, '\p{patternsyntax}', "");
-Expect(1, 32, '\p{^patternsyntax}', "");
-Expect(1, 32, '\P{patternsyntax}', "");
-Expect(0, 32, '\P{^patternsyntax}', "");
-Expect(1, 47, '\p{ Pattern-Syntax}', "");
-Expect(0, 47, '\p{^ Pattern-Syntax}', "");
-Expect(0, 47, '\P{ Pattern-Syntax}', "");
-Expect(1, 47, '\P{^ Pattern-Syntax}', "");
-Expect(0, 32, '\p{ Pattern-Syntax}', "");
-Expect(1, 32, '\p{^ Pattern-Syntax}', "");
-Expect(1, 32, '\P{ Pattern-Syntax}', "");
-Expect(0, 32, '\P{^ Pattern-Syntax}', "");
-Error('\p{:=Is PATTERN-syntax}');
-Error('\P{:=Is PATTERN-syntax}');
-Expect(1, 47, '\p{ispatternsyntax}', "");
-Expect(0, 47, '\p{^ispatternsyntax}', "");
-Expect(0, 47, '\P{ispatternsyntax}', "");
-Expect(1, 47, '\P{^ispatternsyntax}', "");
-Expect(0, 32, '\p{ispatternsyntax}', "");
-Expect(1, 32, '\p{^ispatternsyntax}', "");
-Expect(1, 32, '\P{ispatternsyntax}', "");
-Expect(0, 32, '\P{^ispatternsyntax}', "");
-Expect(1, 47, '\p{--is-Pattern Syntax}', "");
-Expect(0, 47, '\p{^--is-Pattern Syntax}', "");
-Expect(0, 47, '\P{--is-Pattern Syntax}', "");
-Expect(1, 47, '\P{^--is-Pattern Syntax}', "");
-Expect(0, 32, '\p{--is-Pattern Syntax}', "");
-Expect(1, 32, '\p{^--is-Pattern Syntax}', "");
-Expect(1, 32, '\P{--is-Pattern Syntax}', "");
-Expect(0, 32, '\P{^--is-Pattern Syntax}', "");
-Error('\p{:= _Pat Syn}');
-Error('\P{:= _Pat Syn}');
-Expect(1, 47, '\p{patsyn}', "");
-Expect(0, 47, '\p{^patsyn}', "");
-Expect(0, 47, '\P{patsyn}', "");
-Expect(1, 47, '\P{^patsyn}', "");
-Expect(0, 32, '\p{patsyn}', "");
-Expect(1, 32, '\p{^patsyn}', "");
-Expect(1, 32, '\P{patsyn}', "");
-Expect(0, 32, '\P{^patsyn}', "");
-Expect(1, 47, '\p{pat Syn}', "");
-Expect(0, 47, '\p{^pat Syn}', "");
-Expect(0, 47, '\P{pat Syn}', "");
-Expect(1, 47, '\P{^pat Syn}', "");
-Expect(0, 32, '\p{pat Syn}', "");
-Expect(1, 32, '\p{^pat Syn}', "");
-Expect(1, 32, '\P{pat Syn}', "");
-Expect(0, 32, '\P{^pat Syn}', "");
-Error('\p{-_Is/a/pat syn}');
-Error('\P{-_Is/a/pat syn}');
-Expect(1, 47, '\p{ispatsyn}', "");
-Expect(0, 47, '\p{^ispatsyn}', "");
-Expect(0, 47, '\P{ispatsyn}', "");
-Expect(1, 47, '\P{^ispatsyn}', "");
-Expect(0, 32, '\p{ispatsyn}', "");
-Expect(1, 32, '\p{^ispatsyn}', "");
-Expect(1, 32, '\P{ispatsyn}', "");
-Expect(0, 32, '\P{^ispatsyn}', "");
-Expect(1, 47, '\p{-_Is-Pat Syn}', "");
-Expect(0, 47, '\p{^-_Is-Pat Syn}', "");
-Expect(0, 47, '\P{-_Is-Pat Syn}', "");
-Expect(1, 47, '\P{^-_Is-Pat Syn}', "");
-Expect(0, 32, '\p{-_Is-Pat Syn}', "");
-Expect(1, 32, '\p{^-_Is-Pat Syn}', "");
-Expect(1, 32, '\P{-_Is-Pat Syn}', "");
-Expect(0, 32, '\P{^-_Is-Pat Syn}', "");
-Error('\p{_:=OTHER}');
-Error('\P{_:=OTHER}');
-Expect(1, 31, '\p{other}', "");
-Expect(0, 31, '\p{^other}', "");
-Expect(0, 31, '\P{other}', "");
-Expect(1, 31, '\P{^other}', "");
-Expect(0, 126, '\p{other}', "");
-Expect(1, 126, '\p{^other}', "");
-Expect(1, 126, '\P{other}', "");
-Expect(0, 126, '\P{^other}', "");
-Expect(1, 31, '\p{-_Other}', "");
-Expect(0, 31, '\p{^-_Other}', "");
-Expect(0, 31, '\P{-_Other}', "");
-Expect(1, 31, '\P{^-_Other}', "");
-Expect(0, 126, '\p{-_Other}', "");
-Expect(1, 126, '\p{^-_Other}', "");
-Expect(1, 126, '\P{-_Other}', "");
-Expect(0, 126, '\P{^-_Other}', "");
-Error('\p{is OTHER/a/}');
-Error('\P{is OTHER/a/}');
-Expect(1, 31, '\p{isother}', "");
-Expect(0, 31, '\p{^isother}', "");
-Expect(0, 31, '\P{isother}', "");
-Expect(1, 31, '\P{^isother}', "");
-Expect(0, 126, '\p{isother}', "");
-Expect(1, 126, '\p{^isother}', "");
-Expect(1, 126, '\P{isother}', "");
-Expect(0, 126, '\P{^isother}', "");
-Expect(1, 31, '\p{ IS other}', "");
-Expect(0, 31, '\p{^ IS other}', "");
-Expect(0, 31, '\P{ IS other}', "");
-Expect(1, 31, '\P{^ IS other}', "");
-Expect(0, 126, '\p{ IS other}', "");
-Expect(1, 126, '\p{^ IS other}', "");
-Expect(1, 126, '\P{ IS other}', "");
-Expect(0, 126, '\P{^ IS other}', "");
-Error('\p{_-C:=}');
-Error('\P{_-C:=}');
-Expect(1, 31, '\p{c}', "");
-Expect(0, 31, '\p{^c}', "");
-Expect(0, 31, '\P{c}', "");
-Expect(1, 31, '\P{^c}', "");
-Expect(0, 126, '\p{c}', "");
-Expect(1, 126, '\p{^c}', "");
-Expect(1, 126, '\P{c}', "");
-Expect(0, 126, '\P{^c}', "");
-Expect(1, 31, '\p{ -C}', "");
-Expect(0, 31, '\p{^ -C}', "");
-Expect(0, 31, '\P{ -C}', "");
-Expect(1, 31, '\P{^ -C}', "");
-Expect(0, 126, '\p{ -C}', "");
-Expect(1, 126, '\p{^ -C}', "");
-Expect(1, 126, '\P{ -C}', "");
-Expect(0, 126, '\P{^ -C}', "");
-Error('\p{_ Is/a/C}');
-Error('\P{_ Is/a/C}');
-Expect(1, 31, '\p{isc}', "");
-Expect(0, 31, '\p{^isc}', "");
-Expect(0, 31, '\P{isc}', "");
-Expect(1, 31, '\P{^isc}', "");
-Expect(0, 126, '\p{isc}', "");
-Expect(1, 126, '\p{^isc}', "");
-Expect(1, 126, '\P{isc}', "");
-Expect(0, 126, '\P{^isc}', "");
-Expect(1, 31, '\p{ -Isc}', "");
-Expect(0, 31, '\p{^ -Isc}', "");
-Expect(0, 31, '\P{ -Isc}', "");
-Expect(1, 31, '\P{^ -Isc}', "");
-Expect(0, 126, '\p{ -Isc}', "");
-Expect(1, 126, '\p{^ -Isc}', "");
-Expect(1, 126, '\P{ -Isc}', "");
-Expect(0, 126, '\P{^ -Isc}', "");
-Error('\p{/a/_Variationselector}');
-Error('\P{/a/_Variationselector}');
-Expect(1, 6157, '\p{variationselector}', "");
-Expect(0, 6157, '\p{^variationselector}', "");
-Expect(0, 6157, '\P{variationselector}', "");
-Expect(1, 6157, '\P{^variationselector}', "");
-Expect(0, 6154, '\p{variationselector}', "");
-Expect(1, 6154, '\p{^variationselector}', "");
-Expect(1, 6154, '\P{variationselector}', "");
-Expect(0, 6154, '\P{^variationselector}', "");
-Expect(1, 6157, '\p{_ Variation-selector}', "");
-Expect(0, 6157, '\p{^_ Variation-selector}', "");
-Expect(0, 6157, '\P{_ Variation-selector}', "");
-Expect(1, 6157, '\P{^_ Variation-selector}', "");
-Expect(0, 6154, '\p{_ Variation-selector}', "");
-Expect(1, 6154, '\p{^_ Variation-selector}', "");
-Expect(1, 6154, '\P{_ Variation-selector}', "");
-Expect(0, 6154, '\P{^_ Variation-selector}', "");
-Error('\p{- isvariationSelector/a/}');
-Error('\P{- isvariationSelector/a/}');
-Expect(1, 6157, '\p{isvariationselector}', "");
-Expect(0, 6157, '\p{^isvariationselector}', "");
-Expect(0, 6157, '\P{isvariationselector}', "");
-Expect(1, 6157, '\P{^isvariationselector}', "");
-Expect(0, 6154, '\p{isvariationselector}', "");
-Expect(1, 6154, '\p{^isvariationselector}', "");
-Expect(1, 6154, '\P{isvariationselector}', "");
-Expect(0, 6154, '\P{^isvariationselector}', "");
-Expect(1, 6157, '\p{_IS-Variation_Selector}', "");
-Expect(0, 6157, '\p{^_IS-Variation_Selector}', "");
-Expect(0, 6157, '\P{_IS-Variation_Selector}', "");
-Expect(1, 6157, '\P{^_IS-Variation_Selector}', "");
-Expect(0, 6154, '\p{_IS-Variation_Selector}', "");
-Expect(1, 6154, '\p{^_IS-Variation_Selector}', "");
-Expect(1, 6154, '\P{_IS-Variation_Selector}', "");
-Expect(0, 6154, '\P{^_IS-Variation_Selector}', "");
-Error('\p{:= VS}');
-Error('\P{:= VS}');
-Expect(1, 6157, '\p{vs}', "");
-Expect(0, 6157, '\p{^vs}', "");
-Expect(0, 6157, '\P{vs}', "");
-Expect(1, 6157, '\P{^vs}', "");
-Expect(0, 6154, '\p{vs}', "");
-Expect(1, 6154, '\p{^vs}', "");
-Expect(1, 6154, '\P{vs}', "");
-Expect(0, 6154, '\P{^vs}', "");
-Expect(1, 6157, '\p{-vs}', "");
-Expect(0, 6157, '\p{^-vs}', "");
-Expect(0, 6157, '\P{-vs}', "");
-Expect(1, 6157, '\P{^-vs}', "");
-Expect(0, 6154, '\p{-vs}', "");
-Expect(1, 6154, '\p{^-vs}', "");
-Expect(1, 6154, '\P{-vs}', "");
-Expect(0, 6154, '\P{^-vs}', "");
-Error('\p{-:=IS VS}');
-Error('\P{-:=IS VS}');
-Expect(1, 6157, '\p{isvs}', "");
-Expect(0, 6157, '\p{^isvs}', "");
-Expect(0, 6157, '\P{isvs}', "");
-Expect(1, 6157, '\P{^isvs}', "");
-Expect(0, 6154, '\p{isvs}', "");
-Expect(1, 6154, '\p{^isvs}', "");
-Expect(1, 6154, '\P{isvs}', "");
-Expect(0, 6154, '\P{^isvs}', "");
-Expect(1, 6157, '\p{- Is-VS}', "");
-Expect(0, 6157, '\p{^- Is-VS}', "");
-Expect(0, 6157, '\P{- Is-VS}', "");
-Expect(1, 6157, '\P{^- Is-VS}', "");
-Expect(0, 6154, '\p{- Is-VS}', "");
-Expect(1, 6154, '\p{^- Is-VS}', "");
-Expect(1, 6154, '\P{- Is-VS}', "");
-Expect(0, 6154, '\P{^- Is-VS}', "");
-Error('\p{:=- Cypriot SYLLABARY}');
-Error('\P{:=- Cypriot SYLLABARY}');
-Expect(1, 67647, '\p{cypriotsyllabary}', "");
-Expect(0, 67647, '\p{^cypriotsyllabary}', "");
-Expect(0, 67647, '\P{cypriotsyllabary}', "");
-Expect(1, 67647, '\P{^cypriotsyllabary}', "");
-Expect(0, 67583, '\p{cypriotsyllabary}', "");
-Expect(1, 67583, '\p{^cypriotsyllabary}', "");
-Expect(1, 67583, '\P{cypriotsyllabary}', "");
-Expect(0, 67583, '\P{^cypriotsyllabary}', "");
-Expect(1, 67647, '\p{__Cypriot syllabary}', "");
-Expect(0, 67647, '\p{^__Cypriot syllabary}', "");
-Expect(0, 67647, '\P{__Cypriot syllabary}', "");
-Expect(1, 67647, '\P{^__Cypriot syllabary}', "");
-Expect(0, 67583, '\p{__Cypriot syllabary}', "");
-Expect(1, 67583, '\p{^__Cypriot syllabary}', "");
-Expect(1, 67583, '\P{__Cypriot syllabary}', "");
-Expect(0, 67583, '\P{^__Cypriot syllabary}', "");
-Error('\p{ _IS:=CYPRIOT Syllabary}');
-Error('\P{ _IS:=CYPRIOT Syllabary}');
-Expect(1, 67647, '\p{iscypriotsyllabary}', "");
-Expect(0, 67647, '\p{^iscypriotsyllabary}', "");
-Expect(0, 67647, '\P{iscypriotsyllabary}', "");
-Expect(1, 67647, '\P{^iscypriotsyllabary}', "");
-Expect(0, 67583, '\p{iscypriotsyllabary}', "");
-Expect(1, 67583, '\p{^iscypriotsyllabary}', "");
-Expect(1, 67583, '\P{iscypriotsyllabary}', "");
-Expect(0, 67583, '\P{^iscypriotsyllabary}', "");
-Expect(1, 67647, '\p{- isCYPRIOT SYLLABARY}', "");
-Expect(0, 67647, '\p{^- isCYPRIOT SYLLABARY}', "");
-Expect(0, 67647, '\P{- isCYPRIOT SYLLABARY}', "");
-Expect(1, 67647, '\P{^- isCYPRIOT SYLLABARY}', "");
-Expect(0, 67583, '\p{- isCYPRIOT SYLLABARY}', "");
-Expect(1, 67583, '\p{^- isCYPRIOT SYLLABARY}', "");
-Expect(1, 67583, '\P{- isCYPRIOT SYLLABARY}', "");
-Expect(0, 67583, '\P{^- isCYPRIOT SYLLABARY}', "");
-Error('\p{ :=In cypriot Syllabary}');
-Error('\P{ :=In cypriot Syllabary}');
-Expect(1, 67647, '\p{incypriotsyllabary}', "");
-Expect(0, 67647, '\p{^incypriotsyllabary}', "");
-Expect(0, 67647, '\P{incypriotsyllabary}', "");
-Expect(1, 67647, '\P{^incypriotsyllabary}', "");
-Expect(0, 67583, '\p{incypriotsyllabary}', "");
-Expect(1, 67583, '\p{^incypriotsyllabary}', "");
-Expect(1, 67583, '\P{incypriotsyllabary}', "");
-Expect(0, 67583, '\P{^incypriotsyllabary}', "");
-Expect(1, 67647, '\p{ in Cypriot-Syllabary}', "");
-Expect(0, 67647, '\p{^ in Cypriot-Syllabary}', "");
-Expect(0, 67647, '\P{ in Cypriot-Syllabary}', "");
-Expect(1, 67647, '\P{^ in Cypriot-Syllabary}', "");
-Expect(0, 67583, '\p{ in Cypriot-Syllabary}', "");
-Expect(1, 67583, '\p{^ in Cypriot-Syllabary}', "");
-Expect(1, 67583, '\P{ in Cypriot-Syllabary}', "");
-Expect(0, 67583, '\P{^ in Cypriot-Syllabary}', "");
-Error('\p{:= Coptic}');
-Error('\P{:= Coptic}');
-Expect(1, 1007, '\p{coptic}', "");
-Expect(0, 1007, '\p{^coptic}', "");
-Expect(0, 1007, '\P{coptic}', "");
-Expect(1, 1007, '\P{^coptic}', "");
-Expect(0, 993, '\p{coptic}', "");
-Expect(1, 993, '\p{^coptic}', "");
-Expect(1, 993, '\P{coptic}', "");
-Expect(0, 993, '\P{^coptic}', "");
-Expect(1, 1007, '\p{-Coptic}', "");
-Expect(0, 1007, '\p{^-Coptic}', "");
-Expect(0, 1007, '\P{-Coptic}', "");
-Expect(1, 1007, '\P{^-Coptic}', "");
-Expect(0, 993, '\p{-Coptic}', "");
-Expect(1, 993, '\p{^-Coptic}', "");
-Expect(1, 993, '\P{-Coptic}', "");
-Expect(0, 993, '\P{^-Coptic}', "");
-Error('\p{_ IsCoptic/a/}');
-Error('\P{_ IsCoptic/a/}');
-Expect(1, 1007, '\p{iscoptic}', "");
-Expect(0, 1007, '\p{^iscoptic}', "");
-Expect(0, 1007, '\P{iscoptic}', "");
-Expect(1, 1007, '\P{^iscoptic}', "");
-Expect(0, 993, '\p{iscoptic}', "");
-Expect(1, 993, '\p{^iscoptic}', "");
-Expect(1, 993, '\P{iscoptic}', "");
-Expect(0, 993, '\P{^iscoptic}', "");
-Expect(1, 1007, '\p{--IS_coptic}', "");
-Expect(0, 1007, '\p{^--IS_coptic}', "");
-Expect(0, 1007, '\P{--IS_coptic}', "");
-Expect(1, 1007, '\P{^--IS_coptic}', "");
-Expect(0, 993, '\p{--IS_coptic}', "");
-Expect(1, 993, '\p{^--IS_coptic}', "");
-Expect(1, 993, '\P{--IS_coptic}', "");
-Expect(0, 993, '\P{^--IS_coptic}', "");
-Error('\p{_ copt/a/}');
-Error('\P{_ copt/a/}');
-Expect(1, 1007, '\p{copt}', "");
-Expect(0, 1007, '\p{^copt}', "");
-Expect(0, 1007, '\P{copt}', "");
-Expect(1, 1007, '\P{^copt}', "");
-Expect(0, 993, '\p{copt}', "");
-Expect(1, 993, '\p{^copt}', "");
-Expect(1, 993, '\P{copt}', "");
-Expect(0, 993, '\P{^copt}', "");
-Expect(1, 1007, '\p{ _copt}', "");
-Expect(0, 1007, '\p{^ _copt}', "");
-Expect(0, 1007, '\P{ _copt}', "");
-Expect(1, 1007, '\P{^ _copt}', "");
-Expect(0, 993, '\p{ _copt}', "");
-Expect(1, 993, '\p{^ _copt}', "");
-Expect(1, 993, '\P{ _copt}', "");
-Expect(0, 993, '\P{^ _copt}', "");
-Error('\p{-:=IsCopt}');
-Error('\P{-:=IsCopt}');
-Expect(1, 1007, '\p{iscopt}', "");
-Expect(0, 1007, '\p{^iscopt}', "");
-Expect(0, 1007, '\P{iscopt}', "");
-Expect(1, 1007, '\P{^iscopt}', "");
-Expect(0, 993, '\p{iscopt}', "");
-Expect(1, 993, '\p{^iscopt}', "");
-Expect(1, 993, '\P{iscopt}', "");
-Expect(0, 993, '\P{^iscopt}', "");
-Expect(1, 1007, '\p{ is Copt}', "");
-Expect(0, 1007, '\p{^ is Copt}', "");
-Expect(0, 1007, '\P{ is Copt}', "");
-Expect(1, 1007, '\P{^ is Copt}', "");
-Expect(0, 993, '\p{ is Copt}', "");
-Expect(1, 993, '\p{^ is Copt}', "");
-Expect(1, 993, '\P{ is Copt}', "");
-Expect(0, 993, '\P{^ is Copt}', "");
-Error('\p{ QAAC/a/}');
-Error('\P{ QAAC/a/}');
-Expect(1, 1007, '\p{qaac}', "");
-Expect(0, 1007, '\p{^qaac}', "");
-Expect(0, 1007, '\P{qaac}', "");
-Expect(1, 1007, '\P{^qaac}', "");
-Expect(0, 993, '\p{qaac}', "");
-Expect(1, 993, '\p{^qaac}', "");
-Expect(1, 993, '\P{qaac}', "");
-Expect(0, 993, '\P{^qaac}', "");
-Expect(1, 1007, '\p{ qaac}', "");
-Expect(0, 1007, '\p{^ qaac}', "");
-Expect(0, 1007, '\P{ qaac}', "");
-Expect(1, 1007, '\P{^ qaac}', "");
-Expect(0, 993, '\p{ qaac}', "");
-Expect(1, 993, '\p{^ qaac}', "");
-Expect(1, 993, '\P{ qaac}', "");
-Expect(0, 993, '\P{^ qaac}', "");
-Error('\p{:=- Is-Qaac}');
-Error('\P{:=- Is-Qaac}');
-Expect(1, 1007, '\p{isqaac}', "");
-Expect(0, 1007, '\p{^isqaac}', "");
-Expect(0, 1007, '\P{isqaac}', "");
-Expect(1, 1007, '\P{^isqaac}', "");
-Expect(0, 993, '\p{isqaac}', "");
-Expect(1, 993, '\p{^isqaac}', "");
-Expect(1, 993, '\P{isqaac}', "");
-Expect(0, 993, '\P{^isqaac}', "");
-Expect(1, 1007, '\p{-isQaac}', "");
-Expect(0, 1007, '\p{^-isQaac}', "");
-Expect(0, 1007, '\P{-isQaac}', "");
-Expect(1, 1007, '\P{^-isQaac}', "");
-Expect(0, 993, '\p{-isQaac}', "");
-Expect(1, 993, '\p{^-isQaac}', "");
-Expect(1, 993, '\P{-isQaac}', "");
-Expect(0, 993, '\P{^-isQaac}', "");
-Error('\p{:=_SUPPLEMENTALARROWSB}');
-Error('\P{:=_SUPPLEMENTALARROWSB}');
-Expect(1, 10623, '\p{supplementalarrowsb}', "");
-Expect(0, 10623, '\p{^supplementalarrowsb}', "");
-Expect(0, 10623, '\P{supplementalarrowsb}', "");
-Expect(1, 10623, '\P{^supplementalarrowsb}', "");
-Expect(0, 10495, '\p{supplementalarrowsb}', "");
-Expect(1, 10495, '\p{^supplementalarrowsb}', "");
-Expect(1, 10495, '\P{supplementalarrowsb}', "");
-Expect(0, 10495, '\P{^supplementalarrowsb}', "");
-Expect(1, 10623, '\p{SupplementalARROWS b}', "");
-Expect(0, 10623, '\p{^SupplementalARROWS b}', "");
-Expect(0, 10623, '\P{SupplementalARROWS b}', "");
-Expect(1, 10623, '\P{^SupplementalARROWS b}', "");
-Expect(0, 10495, '\p{SupplementalARROWS b}', "");
-Expect(1, 10495, '\p{^SupplementalARROWS b}', "");
-Expect(1, 10495, '\P{SupplementalARROWS b}', "");
-Expect(0, 10495, '\P{^SupplementalARROWS b}', "");
-Error('\p{ Is Supplemental-ARROWS:=B}');
-Error('\P{ Is Supplemental-ARROWS:=B}');
-Expect(1, 10623, '\p{issupplementalarrowsb}', "");
-Expect(0, 10623, '\p{^issupplementalarrowsb}', "");
-Expect(0, 10623, '\P{issupplementalarrowsb}', "");
-Expect(1, 10623, '\P{^issupplementalarrowsb}', "");
-Expect(0, 10495, '\p{issupplementalarrowsb}', "");
-Expect(1, 10495, '\p{^issupplementalarrowsb}', "");
-Expect(1, 10495, '\P{issupplementalarrowsb}', "");
-Expect(0, 10495, '\P{^issupplementalarrowsb}', "");
-Expect(1, 10623, '\p{_ is_supplementalARROWS b}', "");
-Expect(0, 10623, '\p{^_ is_supplementalARROWS b}', "");
-Expect(0, 10623, '\P{_ is_supplementalARROWS b}', "");
-Expect(1, 10623, '\P{^_ is_supplementalARROWS b}', "");
-Expect(0, 10495, '\p{_ is_supplementalARROWS b}', "");
-Expect(1, 10495, '\p{^_ is_supplementalARROWS b}', "");
-Expect(1, 10495, '\P{_ is_supplementalARROWS b}', "");
-Expect(0, 10495, '\P{^_ is_supplementalARROWS b}', "");
-Error('\p{/a/inSupplementalArrows b}');
-Error('\P{/a/inSupplementalArrows b}');
-Expect(1, 10623, '\p{insupplementalarrowsb}', "");
-Expect(0, 10623, '\p{^insupplementalarrowsb}', "");
-Expect(0, 10623, '\P{insupplementalarrowsb}', "");
-Expect(1, 10623, '\P{^insupplementalarrowsb}', "");
-Expect(0, 10495, '\p{insupplementalarrowsb}', "");
-Expect(1, 10495, '\p{^insupplementalarrowsb}', "");
-Expect(1, 10495, '\P{insupplementalarrowsb}', "");
-Expect(0, 10495, '\P{^insupplementalarrowsb}', "");
-Expect(1, 10623, '\p{_ In SUPPLEMENTALARROWS b}', "");
-Expect(0, 10623, '\p{^_ In SUPPLEMENTALARROWS b}', "");
-Expect(0, 10623, '\P{_ In SUPPLEMENTALARROWS b}', "");
-Expect(1, 10623, '\P{^_ In SUPPLEMENTALARROWS b}', "");
-Expect(0, 10495, '\p{_ In SUPPLEMENTALARROWS b}', "");
-Expect(1, 10495, '\p{^_ In SUPPLEMENTALARROWS b}', "");
-Expect(1, 10495, '\P{_ In SUPPLEMENTALARROWS b}', "");
-Expect(0, 10495, '\P{^_ In SUPPLEMENTALARROWS b}', "");
-Error('\p{Expands_On_NFC}');
-Error('\P{Expands_On_NFC}');
-Error('\p{Is_Expands_On_NFC}');
-Error('\P{Is_Expands_On_NFC}');
-Error('\p{XO_NFC}');
-Error('\P{XO_NFC}');
-Error('\p{Is_XO_NFC}');
-Error('\P{Is_XO_NFC}');
-Error('\p{:=inherited}');
-Error('\P{:=inherited}');
-Expect(1, 879, '\p{inherited}', "");
-Expect(0, 879, '\p{^inherited}', "");
-Expect(0, 879, '\P{inherited}', "");
-Expect(1, 879, '\P{^inherited}', "");
-Expect(0, 767, '\p{inherited}', "");
-Expect(1, 767, '\p{^inherited}', "");
-Expect(1, 767, '\P{inherited}', "");
-Expect(0, 767, '\P{^inherited}', "");
-Expect(1, 879, '\p{_ Inherited}', "");
-Expect(0, 879, '\p{^_ Inherited}', "");
-Expect(0, 879, '\P{_ Inherited}', "");
-Expect(1, 879, '\P{^_ Inherited}', "");
-Expect(0, 767, '\p{_ Inherited}', "");
-Expect(1, 767, '\p{^_ Inherited}', "");
-Expect(1, 767, '\P{_ Inherited}', "");
-Expect(0, 767, '\P{^_ Inherited}', "");
-Error('\p{_IS/a/inherited}');
-Error('\P{_IS/a/inherited}');
-Expect(1, 879, '\p{isinherited}', "");
-Expect(0, 879, '\p{^isinherited}', "");
-Expect(0, 879, '\P{isinherited}', "");
-Expect(1, 879, '\P{^isinherited}', "");
-Expect(0, 767, '\p{isinherited}', "");
-Expect(1, 767, '\p{^isinherited}', "");
-Expect(1, 767, '\P{isinherited}', "");
-Expect(0, 767, '\P{^isinherited}', "");
-Expect(1, 879, '\p{ -ISInherited}', "");
-Expect(0, 879, '\p{^ -ISInherited}', "");
-Expect(0, 879, '\P{ -ISInherited}', "");
-Expect(1, 879, '\P{^ -ISInherited}', "");
-Expect(0, 767, '\p{ -ISInherited}', "");
-Expect(1, 767, '\p{^ -ISInherited}', "");
-Expect(1, 767, '\P{ -ISInherited}', "");
-Expect(0, 767, '\P{^ -ISInherited}', "");
-Error('\p{:= Zinh}');
-Error('\P{:= Zinh}');
-Expect(1, 879, '\p{zinh}', "");
-Expect(0, 879, '\p{^zinh}', "");
-Expect(0, 879, '\P{zinh}', "");
-Expect(1, 879, '\P{^zinh}', "");
-Expect(0, 767, '\p{zinh}', "");
-Expect(1, 767, '\p{^zinh}', "");
-Expect(1, 767, '\P{zinh}', "");
-Expect(0, 767, '\P{^zinh}', "");
-Expect(1, 879, '\p{_ ZINH}', "");
-Expect(0, 879, '\p{^_ ZINH}', "");
-Expect(0, 879, '\P{_ ZINH}', "");
-Expect(1, 879, '\P{^_ ZINH}', "");
-Expect(0, 767, '\p{_ ZINH}', "");
-Expect(1, 767, '\p{^_ ZINH}', "");
-Expect(1, 767, '\P{_ ZINH}', "");
-Expect(0, 767, '\P{^_ ZINH}', "");
-Error('\p{:= is Zinh}');
-Error('\P{:= is Zinh}');
-Expect(1, 879, '\p{iszinh}', "");
-Expect(0, 879, '\p{^iszinh}', "");
-Expect(0, 879, '\P{iszinh}', "");
-Expect(1, 879, '\P{^iszinh}', "");
-Expect(0, 767, '\p{iszinh}', "");
-Expect(1, 767, '\p{^iszinh}', "");
-Expect(1, 767, '\P{iszinh}', "");
-Expect(0, 767, '\P{^iszinh}', "");
-Expect(1, 879, '\p{__Iszinh}', "");
-Expect(0, 879, '\p{^__Iszinh}', "");
-Expect(0, 879, '\P{__Iszinh}', "");
-Expect(1, 879, '\P{^__Iszinh}', "");
-Expect(0, 767, '\p{__Iszinh}', "");
-Expect(1, 767, '\p{^__Iszinh}', "");
-Expect(1, 767, '\P{__Iszinh}', "");
-Expect(0, 767, '\P{^__Iszinh}', "");
-Error('\p{_:=Qaai}');
-Error('\P{_:=Qaai}');
-Expect(1, 879, '\p{qaai}', "");
-Expect(0, 879, '\p{^qaai}', "");
-Expect(0, 879, '\P{qaai}', "");
-Expect(1, 879, '\P{^qaai}', "");
-Expect(0, 767, '\p{qaai}', "");
-Expect(1, 767, '\p{^qaai}', "");
-Expect(1, 767, '\P{qaai}', "");
-Expect(0, 767, '\P{^qaai}', "");
-Expect(1, 879, '\p{_Qaai}', "");
-Expect(0, 879, '\p{^_Qaai}', "");
-Expect(0, 879, '\P{_Qaai}', "");
-Expect(1, 879, '\P{^_Qaai}', "");
-Expect(0, 767, '\p{_Qaai}', "");
-Expect(1, 767, '\p{^_Qaai}', "");
-Expect(1, 767, '\P{_Qaai}', "");
-Expect(0, 767, '\P{^_Qaai}', "");
-Error('\p{ IS/a/qaai}');
-Error('\P{ IS/a/qaai}');
-Expect(1, 879, '\p{isqaai}', "");
-Expect(0, 879, '\p{^isqaai}', "");
-Expect(0, 879, '\P{isqaai}', "");
-Expect(1, 879, '\P{^isqaai}', "");
-Expect(0, 767, '\p{isqaai}', "");
-Expect(1, 767, '\p{^isqaai}', "");
-Expect(1, 767, '\P{isqaai}', "");
-Expect(0, 767, '\P{^isqaai}', "");
-Expect(1, 879, '\p{ Is QAAI}', "");
-Expect(0, 879, '\p{^ Is QAAI}', "");
-Expect(0, 879, '\P{ Is QAAI}', "");
-Expect(1, 879, '\P{^ Is QAAI}', "");
-Expect(0, 767, '\p{ Is QAAI}', "");
-Expect(1, 767, '\p{^ Is QAAI}', "");
-Expect(1, 767, '\P{ Is QAAI}', "");
-Expect(0, 767, '\P{^ Is QAAI}', "");
-Error('\p{/a/_Other_math}');
-Error('\P{/a/_Other_math}');
-Expect(1, 94, '\p{othermath}', 'deprecated');
-Expect(0, 94, '\p{^othermath}', 'deprecated');
-Expect(0, 94, '\P{othermath}', 'deprecated');
-Expect(1, 94, '\P{^othermath}', 'deprecated');
-Expect(0, 93, '\p{othermath}', 'deprecated');
-Expect(1, 93, '\p{^othermath}', 'deprecated');
-Expect(1, 93, '\P{othermath}', 'deprecated');
-Expect(0, 93, '\P{^othermath}', 'deprecated');
-Expect(1, 94, '\p{- Other MATH}', 'deprecated');
-Expect(0, 94, '\p{^- Other MATH}', 'deprecated');
-Expect(0, 94, '\P{- Other MATH}', 'deprecated');
-Expect(1, 94, '\P{^- Other MATH}', 'deprecated');
-Expect(0, 93, '\p{- Other MATH}', 'deprecated');
-Expect(1, 93, '\p{^- Other MATH}', 'deprecated');
-Expect(1, 93, '\P{- Other MATH}', 'deprecated');
-Expect(0, 93, '\P{^- Other MATH}', 'deprecated');
-Error('\p{ Is other MATH/a/}');
-Error('\P{ Is other MATH/a/}');
-Expect(1, 94, '\p{isothermath}', 'deprecated');
-Expect(0, 94, '\p{^isothermath}', 'deprecated');
-Expect(0, 94, '\P{isothermath}', 'deprecated');
-Expect(1, 94, '\P{^isothermath}', 'deprecated');
-Expect(0, 93, '\p{isothermath}', 'deprecated');
-Expect(1, 93, '\p{^isothermath}', 'deprecated');
-Expect(1, 93, '\P{isothermath}', 'deprecated');
-Expect(0, 93, '\P{^isothermath}', 'deprecated');
-Expect(1, 94, '\p{ is-Other Math}', 'deprecated');
-Expect(0, 94, '\p{^ is-Other Math}', 'deprecated');
-Expect(0, 94, '\P{ is-Other Math}', 'deprecated');
-Expect(1, 94, '\P{^ is-Other Math}', 'deprecated');
-Expect(0, 93, '\p{ is-Other Math}', 'deprecated');
-Expect(1, 93, '\p{^ is-Other Math}', 'deprecated');
-Expect(1, 93, '\P{ is-Other Math}', 'deprecated');
-Expect(0, 93, '\P{^ is-Other Math}', 'deprecated');
-Error('\p{ /a/OMath}');
-Error('\P{ /a/OMath}');
-Expect(1, 94, '\p{omath}', 'deprecated');
-Expect(0, 94, '\p{^omath}', 'deprecated');
-Expect(0, 94, '\P{omath}', 'deprecated');
-Expect(1, 94, '\P{^omath}', 'deprecated');
-Expect(0, 93, '\p{omath}', 'deprecated');
-Expect(1, 93, '\p{^omath}', 'deprecated');
-Expect(1, 93, '\P{omath}', 'deprecated');
-Expect(0, 93, '\P{^omath}', 'deprecated');
-Expect(1, 94, '\p{-OMath}', 'deprecated');
-Expect(0, 94, '\p{^-OMath}', 'deprecated');
-Expect(0, 94, '\P{-OMath}', 'deprecated');
-Expect(1, 94, '\P{^-OMath}', 'deprecated');
-Expect(0, 93, '\p{-OMath}', 'deprecated');
-Expect(1, 93, '\p{^-OMath}', 'deprecated');
-Expect(1, 93, '\P{-OMath}', 'deprecated');
-Expect(0, 93, '\P{^-OMath}', 'deprecated');
-Error('\p{_:=Is OMath}');
-Error('\P{_:=Is OMath}');
-Expect(1, 94, '\p{isomath}', 'deprecated');
-Expect(0, 94, '\p{^isomath}', 'deprecated');
-Expect(0, 94, '\P{isomath}', 'deprecated');
-Expect(1, 94, '\P{^isomath}', 'deprecated');
-Expect(0, 93, '\p{isomath}', 'deprecated');
-Expect(1, 93, '\p{^isomath}', 'deprecated');
-Expect(1, 93, '\P{isomath}', 'deprecated');
-Expect(0, 93, '\P{^isomath}', 'deprecated');
-Expect(1, 94, '\p{-_IsOMath}', 'deprecated');
-Expect(0, 94, '\p{^-_IsOMath}', 'deprecated');
-Expect(0, 94, '\P{-_IsOMath}', 'deprecated');
-Expect(1, 94, '\P{^-_IsOMath}', 'deprecated');
-Expect(0, 93, '\p{-_IsOMath}', 'deprecated');
-Expect(1, 93, '\p{^-_IsOMath}', 'deprecated');
-Expect(1, 93, '\P{-_IsOMath}', 'deprecated');
-Expect(0, 93, '\P{^-_IsOMath}', 'deprecated');
-Error('\p{-CJK:=UNIFIED_Ideographs extension C}');
-Error('\P{-CJK:=UNIFIED_Ideographs extension C}');
-Expect(1, 177983, '\p{cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^cjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^cjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{cjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^cjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(0, 177983, '\p{^ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(0, 177983, '\P{ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(1, 177983, '\P{^ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(0, 173823, '\p{ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(1, 173823, '\p{^ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(1, 173823, '\P{ CJK UNIFIEDIdeographsExtension-c}', "");
-Expect(0, 173823, '\P{^ CJK UNIFIEDIdeographsExtension-c}', "");
-Error('\p{ Is/a/CJK_Unified Ideographs_Extension C}');
-Error('\P{ Is/a/CJK_Unified Ideographs_Extension C}');
-Expect(1, 177983, '\p{iscjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^iscjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{iscjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^iscjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{iscjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^iscjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{iscjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^iscjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{ _Iscjk unified IdeographsExtension-C}', "");
-Expect(0, 177983, '\p{^ _Iscjk unified IdeographsExtension-C}', "");
-Expect(0, 177983, '\P{ _Iscjk unified IdeographsExtension-C}', "");
-Expect(1, 177983, '\P{^ _Iscjk unified IdeographsExtension-C}', "");
-Expect(0, 173823, '\p{ _Iscjk unified IdeographsExtension-C}', "");
-Expect(1, 173823, '\p{^ _Iscjk unified IdeographsExtension-C}', "");
-Expect(1, 173823, '\P{ _Iscjk unified IdeographsExtension-C}', "");
-Expect(0, 173823, '\P{^ _Iscjk unified IdeographsExtension-C}', "");
-Error('\p{ in_CJKUnified/a/ideographs_EXTENSIONC}');
-Error('\P{ in_CJKUnified/a/ideographs_EXTENSIONC}');
-Expect(1, 177983, '\p{incjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\p{^incjkunifiedideographsextensionc}', "");
-Expect(0, 177983, '\P{incjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\P{^incjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\p{incjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\p{^incjkunifiedideographsextensionc}', "");
-Expect(1, 173823, '\P{incjkunifiedideographsextensionc}', "");
-Expect(0, 173823, '\P{^incjkunifiedideographsextensionc}', "");
-Expect(1, 177983, '\p{ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(0, 177983, '\p{^ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(0, 177983, '\P{ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(1, 177983, '\P{^ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(0, 173823, '\p{ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(1, 173823, '\p{^ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(1, 173823, '\P{ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Expect(0, 173823, '\P{^ In_CJK unified-IDEOGRAPHSExtensionc}', "");
-Error('\p{ Latin:=Extended Additional}');
-Error('\P{ Latin:=Extended Additional}');
-Expect(1, 7935, '\p{latinextendedadditional}', "");
-Expect(0, 7935, '\p{^latinextendedadditional}', "");
-Expect(0, 7935, '\P{latinextendedadditional}', "");
-Expect(1, 7935, '\P{^latinextendedadditional}', "");
-Expect(0, 7679, '\p{latinextendedadditional}', "");
-Expect(1, 7679, '\p{^latinextendedadditional}', "");
-Expect(1, 7679, '\P{latinextendedadditional}', "");
-Expect(0, 7679, '\P{^latinextendedadditional}', "");
-Expect(1, 7935, '\p{- latin_EXTENDED Additional}', "");
-Expect(0, 7935, '\p{^- latin_EXTENDED Additional}', "");
-Expect(0, 7935, '\P{- latin_EXTENDED Additional}', "");
-Expect(1, 7935, '\P{^- latin_EXTENDED Additional}', "");
-Expect(0, 7679, '\p{- latin_EXTENDED Additional}', "");
-Expect(1, 7679, '\p{^- latin_EXTENDED Additional}', "");
-Expect(1, 7679, '\P{- latin_EXTENDED Additional}', "");
-Expect(0, 7679, '\P{^- latin_EXTENDED Additional}', "");
-Error('\p{--IsLatin/a/Extendedadditional}');
-Error('\P{--IsLatin/a/Extendedadditional}');
-Expect(1, 7935, '\p{islatinextendedadditional}', "");
-Expect(0, 7935, '\p{^islatinextendedadditional}', "");
-Expect(0, 7935, '\P{islatinextendedadditional}', "");
-Expect(1, 7935, '\P{^islatinextendedadditional}', "");
-Expect(0, 7679, '\p{islatinextendedadditional}', "");
-Expect(1, 7679, '\p{^islatinextendedadditional}', "");
-Expect(1, 7679, '\P{islatinextendedadditional}', "");
-Expect(0, 7679, '\P{^islatinextendedadditional}', "");
-Expect(1, 7935, '\p{__isLATIN_extended_Additional}', "");
-Expect(0, 7935, '\p{^__isLATIN_extended_Additional}', "");
-Expect(0, 7935, '\P{__isLATIN_extended_Additional}', "");
-Expect(1, 7935, '\P{^__isLATIN_extended_Additional}', "");
-Expect(0, 7679, '\p{__isLATIN_extended_Additional}', "");
-Expect(1, 7679, '\p{^__isLATIN_extended_Additional}', "");
-Expect(1, 7679, '\P{__isLATIN_extended_Additional}', "");
-Expect(0, 7679, '\P{^__isLATIN_extended_Additional}', "");
-Error('\p{ -In/a/Latin Extended_Additional}');
-Error('\P{ -In/a/Latin Extended_Additional}');
-Expect(1, 7935, '\p{inlatinextendedadditional}', "");
-Expect(0, 7935, '\p{^inlatinextendedadditional}', "");
-Expect(0, 7935, '\P{inlatinextendedadditional}', "");
-Expect(1, 7935, '\P{^inlatinextendedadditional}', "");
-Expect(0, 7679, '\p{inlatinextendedadditional}', "");
-Expect(1, 7679, '\p{^inlatinextendedadditional}', "");
-Expect(1, 7679, '\P{inlatinextendedadditional}', "");
-Expect(0, 7679, '\P{^inlatinextendedadditional}', "");
-Expect(1, 7935, '\p{ IN Latinextended additional}', "");
-Expect(0, 7935, '\p{^ IN Latinextended additional}', "");
-Expect(0, 7935, '\P{ IN Latinextended additional}', "");
-Expect(1, 7935, '\P{^ IN Latinextended additional}', "");
-Expect(0, 7679, '\p{ IN Latinextended additional}', "");
-Expect(1, 7679, '\p{^ IN Latinextended additional}', "");
-Expect(1, 7679, '\P{ IN Latinextended additional}', "");
-Expect(0, 7679, '\P{^ IN Latinextended additional}', "");
-Error('\p{--Kannada/a/}');
-Error('\P{--Kannada/a/}');
-Expect(1, 3203, '\p{kannada}', "");
-Expect(0, 3203, '\p{^kannada}', "");
-Expect(0, 3203, '\P{kannada}', "");
-Expect(1, 3203, '\P{^kannada}', "");
-Expect(0, 3201, '\p{kannada}', "");
-Expect(1, 3201, '\p{^kannada}', "");
-Expect(1, 3201, '\P{kannada}', "");
-Expect(0, 3201, '\P{^kannada}', "");
-Expect(1, 3203, '\p{ kannada}', "");
-Expect(0, 3203, '\p{^ kannada}', "");
-Expect(0, 3203, '\P{ kannada}', "");
-Expect(1, 3203, '\P{^ kannada}', "");
-Expect(0, 3201, '\p{ kannada}', "");
-Expect(1, 3201, '\p{^ kannada}', "");
-Expect(1, 3201, '\P{ kannada}', "");
-Expect(0, 3201, '\P{^ kannada}', "");
-Error('\p{-:=Is kannada}');
-Error('\P{-:=Is kannada}');
-Expect(1, 3203, '\p{iskannada}', "");
-Expect(0, 3203, '\p{^iskannada}', "");
-Expect(0, 3203, '\P{iskannada}', "");
-Expect(1, 3203, '\P{^iskannada}', "");
-Expect(0, 3201, '\p{iskannada}', "");
-Expect(1, 3201, '\p{^iskannada}', "");
-Expect(1, 3201, '\P{iskannada}', "");
-Expect(0, 3201, '\P{^iskannada}', "");
-Expect(1, 3203, '\p{ _Is-Kannada}', "");
-Expect(0, 3203, '\p{^ _Is-Kannada}', "");
-Expect(0, 3203, '\P{ _Is-Kannada}', "");
-Expect(1, 3203, '\P{^ _Is-Kannada}', "");
-Expect(0, 3201, '\p{ _Is-Kannada}', "");
-Expect(1, 3201, '\p{^ _Is-Kannada}', "");
-Expect(1, 3201, '\P{ _Is-Kannada}', "");
-Expect(0, 3201, '\P{^ _Is-Kannada}', "");
-Error('\p{:=-_Knda}');
-Error('\P{:=-_Knda}');
-Expect(1, 3203, '\p{knda}', "");
-Expect(0, 3203, '\p{^knda}', "");
-Expect(0, 3203, '\P{knda}', "");
-Expect(1, 3203, '\P{^knda}', "");
-Expect(0, 3201, '\p{knda}', "");
-Expect(1, 3201, '\p{^knda}', "");
-Expect(1, 3201, '\P{knda}', "");
-Expect(0, 3201, '\P{^knda}', "");
-Expect(1, 3203, '\p{ Knda}', "");
-Expect(0, 3203, '\p{^ Knda}', "");
-Expect(0, 3203, '\P{ Knda}', "");
-Expect(1, 3203, '\P{^ Knda}', "");
-Expect(0, 3201, '\p{ Knda}', "");
-Expect(1, 3201, '\p{^ Knda}', "");
-Expect(1, 3201, '\P{ Knda}', "");
-Expect(0, 3201, '\P{^ Knda}', "");
-Error('\p{:= is_KNDA}');
-Error('\P{:= is_KNDA}');
-Expect(1, 3203, '\p{isknda}', "");
-Expect(0, 3203, '\p{^isknda}', "");
-Expect(0, 3203, '\P{isknda}', "");
-Expect(1, 3203, '\P{^isknda}', "");
-Expect(0, 3201, '\p{isknda}', "");
-Expect(1, 3201, '\p{^isknda}', "");
-Expect(1, 3201, '\P{isknda}', "");
-Expect(0, 3201, '\P{^isknda}', "");
-Expect(1, 3203, '\p{ _IsKNDA}', "");
-Expect(0, 3203, '\p{^ _IsKNDA}', "");
-Expect(0, 3203, '\P{ _IsKNDA}', "");
-Expect(1, 3203, '\P{^ _IsKNDA}', "");
-Expect(0, 3201, '\p{ _IsKNDA}', "");
-Expect(1, 3201, '\p{^ _IsKNDA}', "");
-Expect(1, 3201, '\P{ _IsKNDA}', "");
-Expect(0, 3201, '\P{^ _IsKNDA}', "");
-Error('\p{:= Lao}');
-Error('\P{:= Lao}');
-Expect(1, 3714, '\p{lao}', "");
-Expect(0, 3714, '\p{^lao}', "");
-Expect(0, 3714, '\P{lao}', "");
-Expect(1, 3714, '\P{^lao}', "");
-Expect(0, 3712, '\p{lao}', "");
-Expect(1, 3712, '\p{^lao}', "");
-Expect(1, 3712, '\P{lao}', "");
-Expect(0, 3712, '\P{^lao}', "");
-Expect(1, 3714, '\p{- Lao}', "");
-Expect(0, 3714, '\p{^- Lao}', "");
-Expect(0, 3714, '\P{- Lao}', "");
-Expect(1, 3714, '\P{^- Lao}', "");
-Expect(0, 3712, '\p{- Lao}', "");
-Expect(1, 3712, '\p{^- Lao}', "");
-Expect(1, 3712, '\P{- Lao}', "");
-Expect(0, 3712, '\P{^- Lao}', "");
-Error('\p{/a/-is Lao}');
-Error('\P{/a/-is Lao}');
-Expect(1, 3714, '\p{islao}', "");
-Expect(0, 3714, '\p{^islao}', "");
-Expect(0, 3714, '\P{islao}', "");
-Expect(1, 3714, '\P{^islao}', "");
-Expect(0, 3712, '\p{islao}', "");
-Expect(1, 3712, '\p{^islao}', "");
-Expect(1, 3712, '\P{islao}', "");
-Expect(0, 3712, '\P{^islao}', "");
-Expect(1, 3714, '\p{_ IsLAO}', "");
-Expect(0, 3714, '\p{^_ IsLAO}', "");
-Expect(0, 3714, '\P{_ IsLAO}', "");
-Expect(1, 3714, '\P{^_ IsLAO}', "");
-Expect(0, 3712, '\p{_ IsLAO}', "");
-Expect(1, 3712, '\p{^_ IsLAO}', "");
-Expect(1, 3712, '\P{_ IsLAO}', "");
-Expect(0, 3712, '\P{^_ IsLAO}', "");
-Error('\p{/a/--laoo}');
-Error('\P{/a/--laoo}');
-Expect(1, 3714, '\p{laoo}', "");
-Expect(0, 3714, '\p{^laoo}', "");
-Expect(0, 3714, '\P{laoo}', "");
-Expect(1, 3714, '\P{^laoo}', "");
-Expect(0, 3712, '\p{laoo}', "");
-Expect(1, 3712, '\p{^laoo}', "");
-Expect(1, 3712, '\P{laoo}', "");
-Expect(0, 3712, '\P{^laoo}', "");
-Expect(1, 3714, '\p{ laoo}', "");
-Expect(0, 3714, '\p{^ laoo}', "");
-Expect(0, 3714, '\P{ laoo}', "");
-Expect(1, 3714, '\P{^ laoo}', "");
-Expect(0, 3712, '\p{ laoo}', "");
-Expect(1, 3712, '\p{^ laoo}', "");
-Expect(1, 3712, '\P{ laoo}', "");
-Expect(0, 3712, '\P{^ laoo}', "");
-Error('\p{/a/ IS-laoo}');
-Error('\P{/a/ IS-laoo}');
-Expect(1, 3714, '\p{islaoo}', "");
-Expect(0, 3714, '\p{^islaoo}', "");
-Expect(0, 3714, '\P{islaoo}', "");
-Expect(1, 3714, '\P{^islaoo}', "");
-Expect(0, 3712, '\p{islaoo}', "");
-Expect(1, 3712, '\p{^islaoo}', "");
-Expect(1, 3712, '\P{islaoo}', "");
-Expect(0, 3712, '\P{^islaoo}', "");
-Expect(1, 3714, '\p{ Is LAOO}', "");
-Expect(0, 3714, '\p{^ Is LAOO}', "");
-Expect(0, 3714, '\P{ Is LAOO}', "");
-Expect(1, 3714, '\P{^ Is LAOO}', "");
-Expect(0, 3712, '\p{ Is LAOO}', "");
-Expect(1, 3712, '\p{^ Is LAOO}', "");
-Expect(1, 3712, '\P{ Is LAOO}', "");
-Expect(0, 3712, '\P{^ Is LAOO}', "");
-Error('\p{:=--Digit}');
-Error('\P{:=--Digit}');
-Expect(1, 57, '\p{digit}', "");
-Expect(0, 57, '\p{^digit}', "");
-Expect(0, 57, '\P{digit}', "");
-Expect(1, 57, '\P{^digit}', "");
-Expect(0, 47, '\p{digit}', "");
-Expect(1, 47, '\p{^digit}', "");
-Expect(1, 47, '\P{digit}', "");
-Expect(0, 47, '\P{^digit}', "");
-Expect(1, 57, '\p{-DIGIT}', "");
-Expect(0, 57, '\p{^-DIGIT}', "");
-Expect(0, 57, '\P{-DIGIT}', "");
-Expect(1, 57, '\P{^-DIGIT}', "");
-Expect(0, 47, '\p{-DIGIT}', "");
-Expect(1, 47, '\p{^-DIGIT}', "");
-Expect(1, 47, '\P{-DIGIT}', "");
-Expect(0, 47, '\P{^-DIGIT}', "");
-Error('\p{-Is/a/Digit}');
-Error('\P{-Is/a/Digit}');
-Expect(1, 57, '\p{isdigit}', "");
-Expect(0, 57, '\p{^isdigit}', "");
-Expect(0, 57, '\P{isdigit}', "");
-Expect(1, 57, '\P{^isdigit}', "");
-Expect(0, 47, '\p{isdigit}', "");
-Expect(1, 47, '\p{^isdigit}', "");
-Expect(1, 47, '\P{isdigit}', "");
-Expect(0, 47, '\P{^isdigit}', "");
-Expect(1, 57, '\p{ Is_Digit}', "");
-Expect(0, 57, '\p{^ Is_Digit}', "");
-Expect(0, 57, '\P{ Is_Digit}', "");
-Expect(1, 57, '\P{^ Is_Digit}', "");
-Expect(0, 47, '\p{ Is_Digit}', "");
-Expect(1, 47, '\p{^ Is_Digit}', "");
-Expect(1, 47, '\P{ Is_Digit}', "");
-Expect(0, 47, '\P{^ Is_Digit}', "");
-Error('\p{:=-Decimal_Number}');
-Error('\P{:=-Decimal_Number}');
-Expect(1, 57, '\p{decimalnumber}', "");
-Expect(0, 57, '\p{^decimalnumber}', "");
-Expect(0, 57, '\P{decimalnumber}', "");
-Expect(1, 57, '\P{^decimalnumber}', "");
-Expect(0, 47, '\p{decimalnumber}', "");
-Expect(1, 47, '\p{^decimalnumber}', "");
-Expect(1, 47, '\P{decimalnumber}', "");
-Expect(0, 47, '\P{^decimalnumber}', "");
-Expect(1, 57, '\p{ DecimalNumber}', "");
-Expect(0, 57, '\p{^ DecimalNumber}', "");
-Expect(0, 57, '\P{ DecimalNumber}', "");
-Expect(1, 57, '\P{^ DecimalNumber}', "");
-Expect(0, 47, '\p{ DecimalNumber}', "");
-Expect(1, 47, '\p{^ DecimalNumber}', "");
-Expect(1, 47, '\P{ DecimalNumber}', "");
-Expect(0, 47, '\P{^ DecimalNumber}', "");
-Error('\p{ :=Is-decimal Number}');
-Error('\P{ :=Is-decimal Number}');
-Expect(1, 57, '\p{isdecimalnumber}', "");
-Expect(0, 57, '\p{^isdecimalnumber}', "");
-Expect(0, 57, '\P{isdecimalnumber}', "");
-Expect(1, 57, '\P{^isdecimalnumber}', "");
-Expect(0, 47, '\p{isdecimalnumber}', "");
-Expect(1, 47, '\p{^isdecimalnumber}', "");
-Expect(1, 47, '\P{isdecimalnumber}', "");
-Expect(0, 47, '\P{^isdecimalnumber}', "");
-Expect(1, 57, '\p{ isDecimal-Number}', "");
-Expect(0, 57, '\p{^ isDecimal-Number}', "");
-Expect(0, 57, '\P{ isDecimal-Number}', "");
-Expect(1, 57, '\P{^ isDecimal-Number}', "");
-Expect(0, 47, '\p{ isDecimal-Number}', "");
-Expect(1, 47, '\p{^ isDecimal-Number}', "");
-Expect(1, 47, '\P{ isDecimal-Number}', "");
-Expect(0, 47, '\P{^ isDecimal-Number}', "");
-Error('\p{-nd/a/}');
-Error('\P{-nd/a/}');
-Expect(1, 57, '\p{nd}', "");
-Expect(0, 57, '\p{^nd}', "");
-Expect(0, 57, '\P{nd}', "");
-Expect(1, 57, '\P{^nd}', "");
-Expect(0, 47, '\p{nd}', "");
-Expect(1, 47, '\p{^nd}', "");
-Expect(1, 47, '\P{nd}', "");
-Expect(0, 47, '\P{^nd}', "");
-Expect(1, 57, '\p{ ND}', "");
-Expect(0, 57, '\p{^ ND}', "");
-Expect(0, 57, '\P{ ND}', "");
-Expect(1, 57, '\P{^ ND}', "");
-Expect(0, 47, '\p{ ND}', "");
-Expect(1, 47, '\p{^ ND}', "");
-Expect(1, 47, '\P{ ND}', "");
-Expect(0, 47, '\P{^ ND}', "");
-Error('\p{_ Is/a/nd}');
-Error('\P{_ Is/a/nd}');
-Expect(1, 57, '\p{isnd}', "");
-Expect(0, 57, '\p{^isnd}', "");
-Expect(0, 57, '\P{isnd}', "");
-Expect(1, 57, '\P{^isnd}', "");
-Expect(0, 47, '\p{isnd}', "");
-Expect(1, 47, '\p{^isnd}', "");
-Expect(1, 47, '\P{isnd}', "");
-Expect(0, 47, '\P{^isnd}', "");
-Expect(1, 57, '\p{_Is nd}', "");
-Expect(0, 57, '\p{^_Is nd}', "");
-Expect(0, 57, '\P{_Is nd}', "");
-Expect(1, 57, '\P{^_Is nd}', "");
-Expect(0, 47, '\p{_Is nd}', "");
-Expect(1, 47, '\p{^_Is nd}', "");
-Expect(1, 47, '\P{_Is nd}', "");
-Expect(0, 47, '\P{^_Is nd}', "");
-Error('\p{_/a/OSMANYA}');
-Error('\P{_/a/OSMANYA}');
-Expect(1, 66717, '\p{osmanya}', "");
-Expect(0, 66717, '\p{^osmanya}', "");
-Expect(0, 66717, '\P{osmanya}', "");
-Expect(1, 66717, '\P{^osmanya}', "");
-Expect(0, 66687, '\p{osmanya}', "");
-Expect(1, 66687, '\p{^osmanya}', "");
-Expect(1, 66687, '\P{osmanya}', "");
-Expect(0, 66687, '\P{^osmanya}', "");
-Expect(1, 66717, '\p{ OSMANYA}', "");
-Expect(0, 66717, '\p{^ OSMANYA}', "");
-Expect(0, 66717, '\P{ OSMANYA}', "");
-Expect(1, 66717, '\P{^ OSMANYA}', "");
-Expect(0, 66687, '\p{ OSMANYA}', "");
-Expect(1, 66687, '\p{^ OSMANYA}', "");
-Expect(1, 66687, '\P{ OSMANYA}', "");
-Expect(0, 66687, '\P{^ OSMANYA}', "");
-Error('\p{-:=IsOsmanya}');
-Error('\P{-:=IsOsmanya}');
-Expect(1, 66717, '\p{isosmanya}', "");
-Expect(0, 66717, '\p{^isosmanya}', "");
-Expect(0, 66717, '\P{isosmanya}', "");
-Expect(1, 66717, '\P{^isosmanya}', "");
-Expect(0, 66687, '\p{isosmanya}', "");
-Expect(1, 66687, '\p{^isosmanya}', "");
-Expect(1, 66687, '\P{isosmanya}', "");
-Expect(0, 66687, '\P{^isosmanya}', "");
-Expect(1, 66717, '\p{-_IS Osmanya}', "");
-Expect(0, 66717, '\p{^-_IS Osmanya}', "");
-Expect(0, 66717, '\P{-_IS Osmanya}', "");
-Expect(1, 66717, '\P{^-_IS Osmanya}', "");
-Expect(0, 66687, '\p{-_IS Osmanya}', "");
-Expect(1, 66687, '\p{^-_IS Osmanya}', "");
-Expect(1, 66687, '\P{-_IS Osmanya}', "");
-Expect(0, 66687, '\P{^-_IS Osmanya}', "");
-Error('\p{- osma:=}');
-Error('\P{- osma:=}');
-Expect(1, 66717, '\p{osma}', "");
-Expect(0, 66717, '\p{^osma}', "");
-Expect(0, 66717, '\P{osma}', "");
-Expect(1, 66717, '\P{^osma}', "");
-Expect(0, 66687, '\p{osma}', "");
-Expect(1, 66687, '\p{^osma}', "");
-Expect(1, 66687, '\P{osma}', "");
-Expect(0, 66687, '\P{^osma}', "");
-Error('\p{/a/is_OSMA}');
-Error('\P{/a/is_OSMA}');
-Expect(1, 66717, '\p{isosma}', "");
-Expect(0, 66717, '\p{^isosma}', "");
-Expect(0, 66717, '\P{isosma}', "");
-Expect(1, 66717, '\P{^isosma}', "");
-Expect(0, 66687, '\p{isosma}', "");
-Expect(1, 66687, '\p{^isosma}', "");
-Expect(1, 66687, '\P{isosma}', "");
-Expect(0, 66687, '\P{^isosma}', "");
-Expect(1, 66717, '\p{_ is osma}', "");
-Expect(0, 66717, '\p{^_ is osma}', "");
-Expect(0, 66717, '\P{_ is osma}', "");
-Expect(1, 66717, '\P{^_ is osma}', "");
-Expect(0, 66687, '\p{_ is osma}', "");
-Expect(1, 66687, '\p{^_ is osma}', "");
-Expect(1, 66687, '\P{_ is osma}', "");
-Expect(0, 66687, '\P{^_ is osma}', "");
-Error('\p{/a/ UNIFIED Ideograph}');
-Error('\P{/a/ UNIFIED Ideograph}');
-Expect(1, 19893, '\p{unifiedideograph}', "");
-Expect(0, 19893, '\p{^unifiedideograph}', "");
-Expect(0, 19893, '\P{unifiedideograph}', "");
-Expect(1, 19893, '\P{^unifiedideograph}', "");
-Expect(0, 13311, '\p{unifiedideograph}', "");
-Expect(1, 13311, '\p{^unifiedideograph}', "");
-Expect(1, 13311, '\P{unifiedideograph}', "");
-Expect(0, 13311, '\P{^unifiedideograph}', "");
-Expect(1, 19893, '\p{ UNIFIED-Ideograph}', "");
-Expect(0, 19893, '\p{^ UNIFIED-Ideograph}', "");
-Expect(0, 19893, '\P{ UNIFIED-Ideograph}', "");
-Expect(1, 19893, '\P{^ UNIFIED-Ideograph}', "");
-Expect(0, 13311, '\p{ UNIFIED-Ideograph}', "");
-Expect(1, 13311, '\p{^ UNIFIED-Ideograph}', "");
-Expect(1, 13311, '\P{ UNIFIED-Ideograph}', "");
-Expect(0, 13311, '\P{^ UNIFIED-Ideograph}', "");
-Error('\p{:=-Is-unified Ideograph}');
-Error('\P{:=-Is-unified Ideograph}');
-Expect(1, 19893, '\p{isunifiedideograph}', "");
-Expect(0, 19893, '\p{^isunifiedideograph}', "");
-Expect(0, 19893, '\P{isunifiedideograph}', "");
-Expect(1, 19893, '\P{^isunifiedideograph}', "");
-Expect(0, 13311, '\p{isunifiedideograph}', "");
-Expect(1, 13311, '\p{^isunifiedideograph}', "");
-Expect(1, 13311, '\P{isunifiedideograph}', "");
-Expect(0, 13311, '\P{^isunifiedideograph}', "");
-Expect(1, 19893, '\p{ _is Unified Ideograph}', "");
-Expect(0, 19893, '\p{^ _is Unified Ideograph}', "");
-Expect(0, 19893, '\P{ _is Unified Ideograph}', "");
-Expect(1, 19893, '\P{^ _is Unified Ideograph}', "");
-Expect(0, 13311, '\p{ _is Unified Ideograph}', "");
-Expect(1, 13311, '\p{^ _is Unified Ideograph}', "");
-Expect(1, 13311, '\P{ _is Unified Ideograph}', "");
-Expect(0, 13311, '\P{^ _is Unified Ideograph}', "");
-Error('\p{:=__UIDEO}');
-Error('\P{:=__UIDEO}');
-Expect(1, 19893, '\p{uideo}', "");
-Expect(0, 19893, '\p{^uideo}', "");
-Expect(0, 19893, '\P{uideo}', "");
-Expect(1, 19893, '\P{^uideo}', "");
-Expect(0, 13311, '\p{uideo}', "");
-Expect(1, 13311, '\p{^uideo}', "");
-Expect(1, 13311, '\P{uideo}', "");
-Expect(0, 13311, '\P{^uideo}', "");
-Expect(1, 19893, '\p{- uideo}', "");
-Expect(0, 19893, '\p{^- uideo}', "");
-Expect(0, 19893, '\P{- uideo}', "");
-Expect(1, 19893, '\P{^- uideo}', "");
-Expect(0, 13311, '\p{- uideo}', "");
-Expect(1, 13311, '\p{^- uideo}', "");
-Expect(1, 13311, '\P{- uideo}', "");
-Expect(0, 13311, '\P{^- uideo}', "");
-Error('\p{:=IS_UIDEO}');
-Error('\P{:=IS_UIDEO}');
-Expect(1, 19893, '\p{isuideo}', "");
-Expect(0, 19893, '\p{^isuideo}', "");
-Expect(0, 19893, '\P{isuideo}', "");
-Expect(1, 19893, '\P{^isuideo}', "");
-Expect(0, 13311, '\p{isuideo}', "");
-Expect(1, 13311, '\p{^isuideo}', "");
-Expect(1, 13311, '\P{isuideo}', "");
-Expect(0, 13311, '\P{^isuideo}', "");
-Expect(1, 19893, '\p{ _is UIdeo}', "");
-Expect(0, 19893, '\p{^ _is UIdeo}', "");
-Expect(0, 19893, '\P{ _is UIdeo}', "");
-Expect(1, 19893, '\P{^ _is UIdeo}', "");
-Expect(0, 13311, '\p{ _is UIdeo}', "");
-Expect(1, 13311, '\p{^ _is UIdeo}', "");
-Expect(1, 13311, '\P{ _is UIdeo}', "");
-Expect(0, 13311, '\P{^ _is UIdeo}', "");
-Error('\p{-_Bopomofo/a/}');
-Error('\P{-_Bopomofo/a/}');
-Expect(1, 12589, '\p{bopomofo}', "");
-Expect(0, 12589, '\p{^bopomofo}', "");
-Expect(0, 12589, '\P{bopomofo}', "");
-Expect(1, 12589, '\P{^bopomofo}', "");
-Expect(0, 12548, '\p{bopomofo}', "");
-Expect(1, 12548, '\p{^bopomofo}', "");
-Expect(1, 12548, '\P{bopomofo}', "");
-Expect(0, 12548, '\P{^bopomofo}', "");
-Expect(1, 12589, '\p{BOPOMOFO}', "");
-Expect(0, 12589, '\p{^BOPOMOFO}', "");
-Expect(0, 12589, '\P{BOPOMOFO}', "");
-Expect(1, 12589, '\P{^BOPOMOFO}', "");
-Expect(0, 12548, '\p{BOPOMOFO}', "");
-Expect(1, 12548, '\p{^BOPOMOFO}', "");
-Expect(1, 12548, '\P{BOPOMOFO}', "");
-Expect(0, 12548, '\P{^BOPOMOFO}', "");
-Error('\p{_ Is/a/Bopomofo}');
-Error('\P{_ Is/a/Bopomofo}');
-Expect(1, 12589, '\p{isbopomofo}', "");
-Expect(0, 12589, '\p{^isbopomofo}', "");
-Expect(0, 12589, '\P{isbopomofo}', "");
-Expect(1, 12589, '\P{^isbopomofo}', "");
-Expect(0, 12548, '\p{isbopomofo}', "");
-Expect(1, 12548, '\p{^isbopomofo}', "");
-Expect(1, 12548, '\P{isbopomofo}', "");
-Expect(0, 12548, '\P{^isbopomofo}', "");
-Expect(1, 12589, '\p{-Isbopomofo}', "");
-Expect(0, 12589, '\p{^-Isbopomofo}', "");
-Expect(0, 12589, '\P{-Isbopomofo}', "");
-Expect(1, 12589, '\P{^-Isbopomofo}', "");
-Expect(0, 12548, '\p{-Isbopomofo}', "");
-Expect(1, 12548, '\p{^-Isbopomofo}', "");
-Expect(1, 12548, '\P{-Isbopomofo}', "");
-Expect(0, 12548, '\P{^-Isbopomofo}', "");
-Error('\p{-bopo/a/}');
-Error('\P{-bopo/a/}');
-Expect(1, 12589, '\p{bopo}', "");
-Expect(0, 12589, '\p{^bopo}', "");
-Expect(0, 12589, '\P{bopo}', "");
-Expect(1, 12589, '\P{^bopo}', "");
-Expect(0, 12548, '\p{bopo}', "");
-Expect(1, 12548, '\p{^bopo}', "");
-Expect(1, 12548, '\P{bopo}', "");
-Expect(0, 12548, '\P{^bopo}', "");
-Expect(1, 12589, '\p{_bopo}', "");
-Expect(0, 12589, '\p{^_bopo}', "");
-Expect(0, 12589, '\P{_bopo}', "");
-Expect(1, 12589, '\P{^_bopo}', "");
-Expect(0, 12548, '\p{_bopo}', "");
-Expect(1, 12548, '\p{^_bopo}', "");
-Expect(1, 12548, '\P{_bopo}', "");
-Expect(0, 12548, '\P{^_bopo}', "");
-Error('\p{ Is Bopo/a/}');
-Error('\P{ Is Bopo/a/}');
-Expect(1, 12589, '\p{isbopo}', "");
-Expect(0, 12589, '\p{^isbopo}', "");
-Expect(0, 12589, '\P{isbopo}', "");
-Expect(1, 12589, '\P{^isbopo}', "");
-Expect(0, 12548, '\p{isbopo}', "");
-Expect(1, 12548, '\p{^isbopo}', "");
-Expect(1, 12548, '\P{isbopo}', "");
-Expect(0, 12548, '\P{^isbopo}', "");
-Expect(1, 12589, '\p{ ISBopo}', "");
-Expect(0, 12589, '\p{^ ISBopo}', "");
-Expect(0, 12589, '\P{ ISBopo}', "");
-Expect(1, 12589, '\P{^ ISBopo}', "");
-Expect(0, 12548, '\p{ ISBopo}', "");
-Expect(1, 12548, '\p{^ ISBopo}', "");
-Expect(1, 12548, '\P{ ISBopo}', "");
-Expect(0, 12548, '\P{^ ISBopo}', "");
-Error('\p{/a/ _Miscellaneous_Technical}');
-Error('\P{/a/ _Miscellaneous_Technical}');
-Expect(1, 9215, '\p{miscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^miscellaneoustechnical}', "");
-Expect(0, 9215, '\P{miscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^miscellaneoustechnical}', "");
-Expect(0, 8959, '\p{miscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^miscellaneoustechnical}', "");
-Expect(1, 8959, '\P{miscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^miscellaneoustechnical}', "");
-Expect(1, 9215, '\p{_ miscellaneousTechnical}', "");
-Expect(0, 9215, '\p{^_ miscellaneousTechnical}', "");
-Expect(0, 9215, '\P{_ miscellaneousTechnical}', "");
-Expect(1, 9215, '\P{^_ miscellaneousTechnical}', "");
-Expect(0, 8959, '\p{_ miscellaneousTechnical}', "");
-Expect(1, 8959, '\p{^_ miscellaneousTechnical}', "");
-Expect(1, 8959, '\P{_ miscellaneousTechnical}', "");
-Expect(0, 8959, '\P{^_ miscellaneousTechnical}', "");
-Error('\p{ -isMISCELLANEOUSTechnical/a/}');
-Error('\P{ -isMISCELLANEOUSTechnical/a/}');
-Expect(1, 9215, '\p{ismiscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^ismiscellaneoustechnical}', "");
-Expect(0, 9215, '\P{ismiscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^ismiscellaneoustechnical}', "");
-Expect(0, 8959, '\p{ismiscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^ismiscellaneoustechnical}', "");
-Expect(1, 8959, '\P{ismiscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^ismiscellaneoustechnical}', "");
-Expect(1, 9215, '\p{ IS Miscellaneous-Technical}', "");
-Expect(0, 9215, '\p{^ IS Miscellaneous-Technical}', "");
-Expect(0, 9215, '\P{ IS Miscellaneous-Technical}', "");
-Expect(1, 9215, '\P{^ IS Miscellaneous-Technical}', "");
-Expect(0, 8959, '\p{ IS Miscellaneous-Technical}', "");
-Expect(1, 8959, '\p{^ IS Miscellaneous-Technical}', "");
-Expect(1, 8959, '\P{ IS Miscellaneous-Technical}', "");
-Expect(0, 8959, '\P{^ IS Miscellaneous-Technical}', "");
-Error('\p{-:=In-MISCELLANEOUS_Technical}');
-Error('\P{-:=In-MISCELLANEOUS_Technical}');
-Expect(1, 9215, '\p{inmiscellaneoustechnical}', "");
-Expect(0, 9215, '\p{^inmiscellaneoustechnical}', "");
-Expect(0, 9215, '\P{inmiscellaneoustechnical}', "");
-Expect(1, 9215, '\P{^inmiscellaneoustechnical}', "");
-Expect(0, 8959, '\p{inmiscellaneoustechnical}', "");
-Expect(1, 8959, '\p{^inmiscellaneoustechnical}', "");
-Expect(1, 8959, '\P{inmiscellaneoustechnical}', "");
-Expect(0, 8959, '\P{^inmiscellaneoustechnical}', "");
-Expect(1, 9215, '\p{ -In-miscellaneous-TECHNICAL}', "");
-Expect(0, 9215, '\p{^ -In-miscellaneous-TECHNICAL}', "");
-Expect(0, 9215, '\P{ -In-miscellaneous-TECHNICAL}', "");
-Expect(1, 9215, '\P{^ -In-miscellaneous-TECHNICAL}', "");
-Expect(0, 8959, '\p{ -In-miscellaneous-TECHNICAL}', "");
-Expect(1, 8959, '\p{^ -In-miscellaneous-TECHNICAL}', "");
-Expect(1, 8959, '\P{ -In-miscellaneous-TECHNICAL}', "");
-Expect(0, 8959, '\P{^ -In-miscellaneous-TECHNICAL}', "");
-Error('\p{_Mahjong-tiles:=}');
-Error('\P{_Mahjong-tiles:=}');
-Expect(1, 127023, '\p{mahjongtiles}', "");
-Expect(0, 127023, '\p{^mahjongtiles}', "");
-Expect(0, 127023, '\P{mahjongtiles}', "");
-Expect(1, 127023, '\P{^mahjongtiles}', "");
-Expect(0, 126975, '\p{mahjongtiles}', "");
-Expect(1, 126975, '\p{^mahjongtiles}', "");
-Expect(1, 126975, '\P{mahjongtiles}', "");
-Expect(0, 126975, '\P{^mahjongtiles}', "");
-Expect(1, 127023, '\p{ -Mahjong tiles}', "");
-Expect(0, 127023, '\p{^ -Mahjong tiles}', "");
-Expect(0, 127023, '\P{ -Mahjong tiles}', "");
-Expect(1, 127023, '\P{^ -Mahjong tiles}', "");
-Expect(0, 126975, '\p{ -Mahjong tiles}', "");
-Expect(1, 126975, '\p{^ -Mahjong tiles}', "");
-Expect(1, 126975, '\P{ -Mahjong tiles}', "");
-Expect(0, 126975, '\P{^ -Mahjong tiles}', "");
-Error('\p{ :=ISmahjong Tiles}');
-Error('\P{ :=ISmahjong Tiles}');
-Expect(1, 127023, '\p{ismahjongtiles}', "");
-Expect(0, 127023, '\p{^ismahjongtiles}', "");
-Expect(0, 127023, '\P{ismahjongtiles}', "");
-Expect(1, 127023, '\P{^ismahjongtiles}', "");
-Expect(0, 126975, '\p{ismahjongtiles}', "");
-Expect(1, 126975, '\p{^ismahjongtiles}', "");
-Expect(1, 126975, '\P{ismahjongtiles}', "");
-Expect(0, 126975, '\P{^ismahjongtiles}', "");
-Expect(1, 127023, '\p{-Is mahjong_Tiles}', "");
-Expect(0, 127023, '\p{^-Is mahjong_Tiles}', "");
-Expect(0, 127023, '\P{-Is mahjong_Tiles}', "");
-Expect(1, 127023, '\P{^-Is mahjong_Tiles}', "");
-Expect(0, 126975, '\p{-Is mahjong_Tiles}', "");
-Expect(1, 126975, '\p{^-Is mahjong_Tiles}', "");
-Expect(1, 126975, '\P{-Is mahjong_Tiles}', "");
-Expect(0, 126975, '\P{^-Is mahjong_Tiles}', "");
-Error('\p{ InMAHJONG/a/Tiles}');
-Error('\P{ InMAHJONG/a/Tiles}');
-Expect(1, 127023, '\p{inmahjongtiles}', "");
-Expect(0, 127023, '\p{^inmahjongtiles}', "");
-Expect(0, 127023, '\P{inmahjongtiles}', "");
-Expect(1, 127023, '\P{^inmahjongtiles}', "");
-Expect(0, 126975, '\p{inmahjongtiles}', "");
-Expect(1, 126975, '\p{^inmahjongtiles}', "");
-Expect(1, 126975, '\P{inmahjongtiles}', "");
-Expect(0, 126975, '\P{^inmahjongtiles}', "");
-Expect(1, 127023, '\p{-in_MAHJONGTiles}', "");
-Expect(0, 127023, '\p{^-in_MAHJONGTiles}', "");
-Expect(0, 127023, '\P{-in_MAHJONGTiles}', "");
-Expect(1, 127023, '\P{^-in_MAHJONGTiles}', "");
-Expect(0, 126975, '\p{-in_MAHJONGTiles}', "");
-Expect(1, 126975, '\p{^-in_MAHJONGTiles}', "");
-Expect(1, 126975, '\P{-in_MAHJONGTiles}', "");
-Expect(0, 126975, '\P{^-in_MAHJONGTiles}', "");
-Error('\p{/a/ MISCELLANEOUS Mathematical_SYMBOLS-b}');
-Error('\P{/a/ MISCELLANEOUS Mathematical_SYMBOLS-b}');
-Expect(1, 10751, '\p{miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{miscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^miscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(0, 10751, '\p{^ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(0, 10751, '\P{ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(1, 10751, '\P{^ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(0, 10623, '\p{ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(1, 10623, '\p{^ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(1, 10623, '\P{ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Expect(0, 10623, '\P{^ _MISCELLANEOUS-Mathematicalsymbols B}', "");
-Error('\p{ -isMiscellaneous-Mathematical symbols b/a/}');
-Error('\P{ -isMiscellaneous-Mathematical symbols b/a/}');
-Expect(1, 10751, '\p{ismiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^ismiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{ismiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^ismiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{ismiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^ismiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{ismiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^ismiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(0, 10751, '\p{^ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(0, 10751, '\P{ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(1, 10751, '\P{^ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(0, 10623, '\p{ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(1, 10623, '\p{^ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(1, 10623, '\P{ Is_miscellaneous_mathematical Symbols_B}', "");
-Expect(0, 10623, '\P{^ Is_miscellaneous_mathematical Symbols_B}', "");
-Error('\p{ _In_MISCELLANEOUS-mathematical_Symbols/a/B}');
-Error('\P{ _In_MISCELLANEOUS-mathematical_Symbols/a/B}');
-Expect(1, 10751, '\p{inmiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\p{^inmiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10751, '\P{inmiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\P{^inmiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\p{inmiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\p{^inmiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10623, '\P{inmiscellaneousmathematicalsymbolsb}', "");
-Expect(0, 10623, '\P{^inmiscellaneousmathematicalsymbolsb}', "");
-Expect(1, 10751, '\p{ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(0, 10751, '\p{^ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(0, 10751, '\P{ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(1, 10751, '\P{^ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(0, 10623, '\p{ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(1, 10623, '\p{^ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(1, 10623, '\P{ in-MISCELLANEOUS mathematical-symbols B}', "");
-Expect(0, 10623, '\P{^ in-MISCELLANEOUS mathematical-symbols B}', "");
-Error('\p{- Enclosed Ideographic_Supplement:=}');
-Error('\P{- Enclosed Ideographic_Supplement:=}');
-Expect(1, 127743, '\p{enclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^enclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{enclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^enclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{enclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^enclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{enclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^enclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{_-ENCLOSED Ideographic_Supplement}', "");
-Expect(0, 127743, '\p{^_-ENCLOSED Ideographic_Supplement}', "");
-Expect(0, 127743, '\P{_-ENCLOSED Ideographic_Supplement}', "");
-Expect(1, 127743, '\P{^_-ENCLOSED Ideographic_Supplement}', "");
-Expect(0, 127487, '\p{_-ENCLOSED Ideographic_Supplement}', "");
-Expect(1, 127487, '\p{^_-ENCLOSED Ideographic_Supplement}', "");
-Expect(1, 127487, '\P{_-ENCLOSED Ideographic_Supplement}', "");
-Expect(0, 127487, '\P{^_-ENCLOSED Ideographic_Supplement}', "");
-Error('\p{_:=Is-ENCLOSED-ideographicsupplement}');
-Error('\P{_:=Is-ENCLOSED-ideographicsupplement}');
-Expect(1, 127743, '\p{isenclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^isenclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{isenclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^isenclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{isenclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^isenclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{isenclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^isenclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{ IsEnclosed ideographic supplement}', "");
-Expect(0, 127743, '\p{^ IsEnclosed ideographic supplement}', "");
-Expect(0, 127743, '\P{ IsEnclosed ideographic supplement}', "");
-Expect(1, 127743, '\P{^ IsEnclosed ideographic supplement}', "");
-Expect(0, 127487, '\p{ IsEnclosed ideographic supplement}', "");
-Expect(1, 127487, '\p{^ IsEnclosed ideographic supplement}', "");
-Expect(1, 127487, '\P{ IsEnclosed ideographic supplement}', "");
-Expect(0, 127487, '\P{^ IsEnclosed ideographic supplement}', "");
-Error('\p{_/a/In_Enclosed Ideographic-Supplement}');
-Error('\P{_/a/In_Enclosed Ideographic-Supplement}');
-Expect(1, 127743, '\p{inenclosedideographicsupplement}', "");
-Expect(0, 127743, '\p{^inenclosedideographicsupplement}', "");
-Expect(0, 127743, '\P{inenclosedideographicsupplement}', "");
-Expect(1, 127743, '\P{^inenclosedideographicsupplement}', "");
-Expect(0, 127487, '\p{inenclosedideographicsupplement}', "");
-Expect(1, 127487, '\p{^inenclosedideographicsupplement}', "");
-Expect(1, 127487, '\P{inenclosedideographicsupplement}', "");
-Expect(0, 127487, '\P{^inenclosedideographicsupplement}', "");
-Expect(1, 127743, '\p{--In enclosed-Ideographic supplement}', "");
-Expect(0, 127743, '\p{^--In enclosed-Ideographic supplement}', "");
-Expect(0, 127743, '\P{--In enclosed-Ideographic supplement}', "");
-Expect(1, 127743, '\P{^--In enclosed-Ideographic supplement}', "");
-Expect(0, 127487, '\p{--In enclosed-Ideographic supplement}', "");
-Expect(1, 127487, '\p{^--In enclosed-Ideographic supplement}', "");
-Expect(1, 127487, '\P{--In enclosed-Ideographic supplement}', "");
-Expect(0, 127487, '\P{^--In enclosed-Ideographic supplement}', "");
-Error('\p{ MALAYALAM/a/}');
-Error('\P{ MALAYALAM/a/}');
-Expect(1, 3331, '\p{malayalam}', "");
-Expect(0, 3331, '\p{^malayalam}', "");
-Expect(0, 3331, '\P{malayalam}', "");
-Expect(1, 3331, '\P{^malayalam}', "");
-Expect(0, 3329, '\p{malayalam}', "");
-Expect(1, 3329, '\p{^malayalam}', "");
-Expect(1, 3329, '\P{malayalam}', "");
-Expect(0, 3329, '\P{^malayalam}', "");
-Expect(1, 3331, '\p{_ Malayalam}', "");
-Expect(0, 3331, '\p{^_ Malayalam}', "");
-Expect(0, 3331, '\P{_ Malayalam}', "");
-Expect(1, 3331, '\P{^_ Malayalam}', "");
-Expect(0, 3329, '\p{_ Malayalam}', "");
-Expect(1, 3329, '\p{^_ Malayalam}', "");
-Expect(1, 3329, '\P{_ Malayalam}', "");
-Expect(0, 3329, '\P{^_ Malayalam}', "");
-Error('\p{ :=is malayalam}');
-Error('\P{ :=is malayalam}');
-Expect(1, 3331, '\p{ismalayalam}', "");
-Expect(0, 3331, '\p{^ismalayalam}', "");
-Expect(0, 3331, '\P{ismalayalam}', "");
-Expect(1, 3331, '\P{^ismalayalam}', "");
-Expect(0, 3329, '\p{ismalayalam}', "");
-Expect(1, 3329, '\p{^ismalayalam}', "");
-Expect(1, 3329, '\P{ismalayalam}', "");
-Expect(0, 3329, '\P{^ismalayalam}', "");
-Expect(1, 3331, '\p{ _IS Malayalam}', "");
-Expect(0, 3331, '\p{^ _IS Malayalam}', "");
-Expect(0, 3331, '\P{ _IS Malayalam}', "");
-Expect(1, 3331, '\P{^ _IS Malayalam}', "");
-Expect(0, 3329, '\p{ _IS Malayalam}', "");
-Expect(1, 3329, '\p{^ _IS Malayalam}', "");
-Expect(1, 3329, '\P{ _IS Malayalam}', "");
-Expect(0, 3329, '\P{^ _IS Malayalam}', "");
-Error('\p{- mlym/a/}');
-Error('\P{- mlym/a/}');
-Expect(1, 3331, '\p{mlym}', "");
-Expect(0, 3331, '\p{^mlym}', "");
-Expect(0, 3331, '\P{mlym}', "");
-Expect(1, 3331, '\P{^mlym}', "");
-Expect(0, 3329, '\p{mlym}', "");
-Expect(1, 3329, '\p{^mlym}', "");
-Expect(1, 3329, '\P{mlym}', "");
-Expect(0, 3329, '\P{^mlym}', "");
-Expect(1, 3331, '\p{-_MLYM}', "");
-Expect(0, 3331, '\p{^-_MLYM}', "");
-Expect(0, 3331, '\P{-_MLYM}', "");
-Expect(1, 3331, '\P{^-_MLYM}', "");
-Expect(0, 3329, '\p{-_MLYM}', "");
-Expect(1, 3329, '\p{^-_MLYM}', "");
-Expect(1, 3329, '\P{-_MLYM}', "");
-Expect(0, 3329, '\P{^-_MLYM}', "");
-Error('\p{-/a/Is-MLYM}');
-Error('\P{-/a/Is-MLYM}');
-Expect(1, 3331, '\p{ismlym}', "");
-Expect(0, 3331, '\p{^ismlym}', "");
-Expect(0, 3331, '\P{ismlym}', "");
-Expect(1, 3331, '\P{^ismlym}', "");
-Expect(0, 3329, '\p{ismlym}', "");
-Expect(1, 3329, '\p{^ismlym}', "");
-Expect(1, 3329, '\P{ismlym}', "");
-Expect(0, 3329, '\P{^ismlym}', "");
-Expect(1, 3331, '\p{-Is_Mlym}', "");
-Expect(0, 3331, '\p{^-Is_Mlym}', "");
-Expect(0, 3331, '\P{-Is_Mlym}', "");
-Expect(1, 3331, '\P{^-Is_Mlym}', "");
-Expect(0, 3329, '\p{-Is_Mlym}', "");
-Expect(1, 3329, '\p{^-Is_Mlym}', "");
-Expect(1, 3329, '\P{-Is_Mlym}', "");
-Expect(0, 3329, '\P{^-Is_Mlym}', "");
-Error('\p{-/a/VEDIC Extensions}');
-Error('\P{-/a/VEDIC Extensions}');
-Expect(1, 7423, '\p{vedicextensions}', "");
-Expect(0, 7423, '\p{^vedicextensions}', "");
-Expect(0, 7423, '\P{vedicextensions}', "");
-Expect(1, 7423, '\P{^vedicextensions}', "");
-Expect(0, 7375, '\p{vedicextensions}', "");
-Expect(1, 7375, '\p{^vedicextensions}', "");
-Expect(1, 7375, '\P{vedicextensions}', "");
-Expect(0, 7375, '\P{^vedicextensions}', "");
-Expect(1, 7423, '\p{ VEDIC Extensions}', "");
-Expect(0, 7423, '\p{^ VEDIC Extensions}', "");
-Expect(0, 7423, '\P{ VEDIC Extensions}', "");
-Expect(1, 7423, '\P{^ VEDIC Extensions}', "");
-Expect(0, 7375, '\p{ VEDIC Extensions}', "");
-Expect(1, 7375, '\p{^ VEDIC Extensions}', "");
-Expect(1, 7375, '\P{ VEDIC Extensions}', "");
-Expect(0, 7375, '\P{^ VEDIC Extensions}', "");
-Error('\p{_/a/Is VedicExtensions}');
-Error('\P{_/a/Is VedicExtensions}');
-Expect(1, 7423, '\p{isvedicextensions}', "");
-Expect(0, 7423, '\p{^isvedicextensions}', "");
-Expect(0, 7423, '\P{isvedicextensions}', "");
-Expect(1, 7423, '\P{^isvedicextensions}', "");
-Expect(0, 7375, '\p{isvedicextensions}', "");
-Expect(1, 7375, '\p{^isvedicextensions}', "");
-Expect(1, 7375, '\P{isvedicextensions}', "");
-Expect(0, 7375, '\P{^isvedicextensions}', "");
-Expect(1, 7423, '\p{- IS vedic_Extensions}', "");
-Expect(0, 7423, '\p{^- IS vedic_Extensions}', "");
-Expect(0, 7423, '\P{- IS vedic_Extensions}', "");
-Expect(1, 7423, '\P{^- IS vedic_Extensions}', "");
-Expect(0, 7375, '\p{- IS vedic_Extensions}', "");
-Expect(1, 7375, '\p{^- IS vedic_Extensions}', "");
-Expect(1, 7375, '\P{- IS vedic_Extensions}', "");
-Expect(0, 7375, '\P{^- IS vedic_Extensions}', "");
-Error('\p{:=_-Invedic-extensions}');
-Error('\P{:=_-Invedic-extensions}');
-Expect(1, 7423, '\p{invedicextensions}', "");
-Expect(0, 7423, '\p{^invedicextensions}', "");
-Expect(0, 7423, '\P{invedicextensions}', "");
-Expect(1, 7423, '\P{^invedicextensions}', "");
-Expect(0, 7375, '\p{invedicextensions}', "");
-Expect(1, 7375, '\p{^invedicextensions}', "");
-Expect(1, 7375, '\P{invedicextensions}', "");
-Expect(0, 7375, '\P{^invedicextensions}', "");
-Expect(1, 7423, '\p{ In_VEDIC_Extensions}', "");
-Expect(0, 7423, '\p{^ In_VEDIC_Extensions}', "");
-Expect(0, 7423, '\P{ In_VEDIC_Extensions}', "");
-Expect(1, 7423, '\P{^ In_VEDIC_Extensions}', "");
-Expect(0, 7375, '\p{ In_VEDIC_Extensions}', "");
-Expect(1, 7375, '\p{^ In_VEDIC_Extensions}', "");
-Expect(1, 7375, '\P{ In_VEDIC_Extensions}', "");
-Expect(0, 7375, '\P{^ In_VEDIC_Extensions}', "");
-Error('\p{ oldturkic:=}');
-Error('\P{ oldturkic:=}');
-Expect(1, 68680, '\p{oldturkic}', "");
-Expect(0, 68680, '\p{^oldturkic}', "");
-Expect(0, 68680, '\P{oldturkic}', "");
-Expect(1, 68680, '\P{^oldturkic}', "");
-Expect(0, 68607, '\p{oldturkic}', "");
-Expect(1, 68607, '\p{^oldturkic}', "");
-Expect(1, 68607, '\P{oldturkic}', "");
-Expect(0, 68607, '\P{^oldturkic}', "");
-Expect(1, 68680, '\p{__Oldturkic}', "");
-Expect(0, 68680, '\p{^__Oldturkic}', "");
-Expect(0, 68680, '\P{__Oldturkic}', "");
-Expect(1, 68680, '\P{^__Oldturkic}', "");
-Expect(0, 68607, '\p{__Oldturkic}', "");
-Expect(1, 68607, '\p{^__Oldturkic}', "");
-Expect(1, 68607, '\P{__Oldturkic}', "");
-Expect(0, 68607, '\P{^__Oldturkic}', "");
-Error('\p{ -Is/a/Old-TURKIC}');
-Error('\P{ -Is/a/Old-TURKIC}');
-Expect(1, 68680, '\p{isoldturkic}', "");
-Expect(0, 68680, '\p{^isoldturkic}', "");
-Expect(0, 68680, '\P{isoldturkic}', "");
-Expect(1, 68680, '\P{^isoldturkic}', "");
-Expect(0, 68607, '\p{isoldturkic}', "");
-Expect(1, 68607, '\p{^isoldturkic}', "");
-Expect(1, 68607, '\P{isoldturkic}', "");
-Expect(0, 68607, '\P{^isoldturkic}', "");
-Expect(1, 68680, '\p{ IS Old TURKIC}', "");
-Expect(0, 68680, '\p{^ IS Old TURKIC}', "");
-Expect(0, 68680, '\P{ IS Old TURKIC}', "");
-Expect(1, 68680, '\P{^ IS Old TURKIC}', "");
-Expect(0, 68607, '\p{ IS Old TURKIC}', "");
-Expect(1, 68607, '\p{^ IS Old TURKIC}', "");
-Expect(1, 68607, '\P{ IS Old TURKIC}', "");
-Expect(0, 68607, '\P{^ IS Old TURKIC}', "");
-Error('\p{Orkh/a/}');
-Error('\P{Orkh/a/}');
-Expect(1, 68680, '\p{orkh}', "");
-Expect(0, 68680, '\p{^orkh}', "");
-Expect(0, 68680, '\P{orkh}', "");
-Expect(1, 68680, '\P{^orkh}', "");
-Expect(0, 68607, '\p{orkh}', "");
-Expect(1, 68607, '\p{^orkh}', "");
-Expect(1, 68607, '\P{orkh}', "");
-Expect(0, 68607, '\P{^orkh}', "");
-Expect(1, 68680, '\p{ Orkh}', "");
-Expect(0, 68680, '\p{^ Orkh}', "");
-Expect(0, 68680, '\P{ Orkh}', "");
-Expect(1, 68680, '\P{^ Orkh}', "");
-Expect(0, 68607, '\p{ Orkh}', "");
-Expect(1, 68607, '\p{^ Orkh}', "");
-Expect(1, 68607, '\P{ Orkh}', "");
-Expect(0, 68607, '\P{^ Orkh}', "");
-Error('\p{__Is:=ORKH}');
-Error('\P{__Is:=ORKH}');
-Expect(1, 68680, '\p{isorkh}', "");
-Expect(0, 68680, '\p{^isorkh}', "");
-Expect(0, 68680, '\P{isorkh}', "");
-Expect(1, 68680, '\P{^isorkh}', "");
-Expect(0, 68607, '\p{isorkh}', "");
-Expect(1, 68607, '\p{^isorkh}', "");
-Expect(1, 68607, '\P{isorkh}', "");
-Expect(0, 68607, '\P{^isorkh}', "");
-Expect(1, 68680, '\p{ _Is Orkh}', "");
-Expect(0, 68680, '\p{^ _Is Orkh}', "");
-Expect(0, 68680, '\P{ _Is Orkh}', "");
-Expect(1, 68680, '\P{^ _Is Orkh}', "");
-Expect(0, 68607, '\p{ _Is Orkh}', "");
-Expect(1, 68607, '\p{^ _Is Orkh}', "");
-Expect(1, 68607, '\P{ _Is Orkh}', "");
-Expect(0, 68607, '\P{^ _Is Orkh}', "");
-Error('\p{:=-nonspacing Mark}');
-Error('\P{:=-nonspacing Mark}');
-Expect(1, 879, '\p{nonspacingmark}', "");
-Expect(0, 879, '\p{^nonspacingmark}', "");
-Expect(0, 879, '\P{nonspacingmark}', "");
-Expect(1, 879, '\P{^nonspacingmark}', "");
-Expect(0, 767, '\p{nonspacingmark}', "");
-Expect(1, 767, '\p{^nonspacingmark}', "");
-Expect(1, 767, '\P{nonspacingmark}', "");
-Expect(0, 767, '\P{^nonspacingmark}', "");
-Expect(1, 879, '\p{- Nonspacing Mark}', "");
-Expect(0, 879, '\p{^- Nonspacing Mark}', "");
-Expect(0, 879, '\P{- Nonspacing Mark}', "");
-Expect(1, 879, '\P{^- Nonspacing Mark}', "");
-Expect(0, 767, '\p{- Nonspacing Mark}', "");
-Expect(1, 767, '\p{^- Nonspacing Mark}', "");
-Expect(1, 767, '\P{- Nonspacing Mark}', "");
-Expect(0, 767, '\P{^- Nonspacing Mark}', "");
-Error('\p{ Is/a/NONSPACING-mark}');
-Error('\P{ Is/a/NONSPACING-mark}');
-Expect(1, 879, '\p{isnonspacingmark}', "");
-Expect(0, 879, '\p{^isnonspacingmark}', "");
-Expect(0, 879, '\P{isnonspacingmark}', "");
-Expect(1, 879, '\P{^isnonspacingmark}', "");
-Expect(0, 767, '\p{isnonspacingmark}', "");
-Expect(1, 767, '\p{^isnonspacingmark}', "");
-Expect(1, 767, '\P{isnonspacingmark}', "");
-Expect(0, 767, '\P{^isnonspacingmark}', "");
-Expect(1, 879, '\p{ IS-NONSPACING-Mark}', "");
-Expect(0, 879, '\p{^ IS-NONSPACING-Mark}', "");
-Expect(0, 879, '\P{ IS-NONSPACING-Mark}', "");
-Expect(1, 879, '\P{^ IS-NONSPACING-Mark}', "");
-Expect(0, 767, '\p{ IS-NONSPACING-Mark}', "");
-Expect(1, 767, '\p{^ IS-NONSPACING-Mark}', "");
-Expect(1, 767, '\P{ IS-NONSPACING-Mark}', "");
-Expect(0, 767, '\P{^ IS-NONSPACING-Mark}', "");
-Error('\p{-:=Mn}');
-Error('\P{-:=Mn}');
-Expect(1, 879, '\p{mn}', "");
-Expect(0, 879, '\p{^mn}', "");
-Expect(0, 879, '\P{mn}', "");
-Expect(1, 879, '\P{^mn}', "");
-Expect(0, 767, '\p{mn}', "");
-Expect(1, 767, '\p{^mn}', "");
-Expect(1, 767, '\P{mn}', "");
-Expect(0, 767, '\P{^mn}', "");
-Expect(1, 879, '\p{ -Mn}', "");
-Expect(0, 879, '\p{^ -Mn}', "");
-Expect(0, 879, '\P{ -Mn}', "");
-Expect(1, 879, '\P{^ -Mn}', "");
-Expect(0, 767, '\p{ -Mn}', "");
-Expect(1, 767, '\p{^ -Mn}', "");
-Expect(1, 767, '\P{ -Mn}', "");
-Expect(0, 767, '\P{^ -Mn}', "");
-Error('\p{ Is/a/MN}');
-Error('\P{ Is/a/MN}');
-Expect(1, 879, '\p{ismn}', "");
-Expect(0, 879, '\p{^ismn}', "");
-Expect(0, 879, '\P{ismn}', "");
-Expect(1, 879, '\P{^ismn}', "");
-Expect(0, 767, '\p{ismn}', "");
-Expect(1, 767, '\p{^ismn}', "");
-Expect(1, 767, '\P{ismn}', "");
-Expect(0, 767, '\P{^ismn}', "");
-Expect(1, 879, '\p{__IsMn}', "");
-Expect(0, 879, '\p{^__IsMn}', "");
-Expect(0, 879, '\P{__IsMn}', "");
-Expect(1, 879, '\P{^__IsMn}', "");
-Expect(0, 767, '\p{__IsMn}', "");
-Expect(1, 767, '\p{^__IsMn}', "");
-Expect(1, 767, '\P{__IsMn}', "");
-Expect(0, 767, '\P{^__IsMn}', "");
-Error('\p{ /a/lisu}');
-Error('\P{ /a/lisu}');
-Expect(1, 42239, '\p{lisu}', "");
-Expect(0, 42239, '\p{^lisu}', "");
-Expect(0, 42239, '\P{lisu}', "");
-Expect(1, 42239, '\P{^lisu}', "");
-Expect(0, 42191, '\p{lisu}', "");
-Expect(1, 42191, '\p{^lisu}', "");
-Expect(1, 42191, '\P{lisu}', "");
-Expect(0, 42191, '\P{^lisu}', "");
-Expect(1, 42239, '\p{ lisu}', "");
-Expect(0, 42239, '\p{^ lisu}', "");
-Expect(0, 42239, '\P{ lisu}', "");
-Expect(1, 42239, '\P{^ lisu}', "");
-Expect(0, 42191, '\p{ lisu}', "");
-Expect(1, 42191, '\p{^ lisu}', "");
-Expect(1, 42191, '\P{ lisu}', "");
-Expect(0, 42191, '\P{^ lisu}', "");
-Error('\p{ -isLISU/a/}');
-Error('\P{ -isLISU/a/}');
-Expect(1, 42239, '\p{islisu}', "");
-Expect(0, 42239, '\p{^islisu}', "");
-Expect(0, 42239, '\P{islisu}', "");
-Expect(1, 42239, '\P{^islisu}', "");
-Expect(0, 42191, '\p{islisu}', "");
-Expect(1, 42191, '\p{^islisu}', "");
-Expect(1, 42191, '\P{islisu}', "");
-Expect(0, 42191, '\P{^islisu}', "");
-Expect(1, 42239, '\p{_IS LISU}', "");
-Expect(0, 42239, '\p{^_IS LISU}', "");
-Expect(0, 42239, '\P{_IS LISU}', "");
-Expect(1, 42239, '\P{^_IS LISU}', "");
-Expect(0, 42191, '\p{_IS LISU}', "");
-Expect(1, 42191, '\p{^_IS LISU}', "");
-Expect(1, 42191, '\P{_IS LISU}', "");
-Expect(0, 42191, '\P{^_IS LISU}', "");
-Error('\p{-FULL/a/Composition exclusion}');
-Error('\P{-FULL/a/Composition exclusion}');
-Expect(1, 833, '\p{fullcompositionexclusion}', "");
-Expect(0, 833, '\p{^fullcompositionexclusion}', "");
-Expect(0, 833, '\P{fullcompositionexclusion}', "");
-Expect(1, 833, '\P{^fullcompositionexclusion}', "");
-Expect(0, 831, '\p{fullcompositionexclusion}', "");
-Expect(1, 831, '\p{^fullcompositionexclusion}', "");
-Expect(1, 831, '\P{fullcompositionexclusion}', "");
-Expect(0, 831, '\P{^fullcompositionexclusion}', "");
-Expect(1, 833, '\p{ Full Composition_EXCLUSION}', "");
-Expect(0, 833, '\p{^ Full Composition_EXCLUSION}', "");
-Expect(0, 833, '\P{ Full Composition_EXCLUSION}', "");
-Expect(1, 833, '\P{^ Full Composition_EXCLUSION}', "");
-Expect(0, 831, '\p{ Full Composition_EXCLUSION}', "");
-Expect(1, 831, '\p{^ Full Composition_EXCLUSION}', "");
-Expect(1, 831, '\P{ Full Composition_EXCLUSION}', "");
-Expect(0, 831, '\P{^ Full Composition_EXCLUSION}', "");
-Error('\p{:= IS Full composition-Exclusion}');
-Error('\P{:= IS Full composition-Exclusion}');
-Expect(1, 833, '\p{isfullcompositionexclusion}', "");
-Expect(0, 833, '\p{^isfullcompositionexclusion}', "");
-Expect(0, 833, '\P{isfullcompositionexclusion}', "");
-Expect(1, 833, '\P{^isfullcompositionexclusion}', "");
-Expect(0, 831, '\p{isfullcompositionexclusion}', "");
-Expect(1, 831, '\p{^isfullcompositionexclusion}', "");
-Expect(1, 831, '\P{isfullcompositionexclusion}', "");
-Expect(0, 831, '\P{^isfullcompositionexclusion}', "");
-Expect(1, 833, '\p{ IsfullComposition EXCLUSION}', "");
-Expect(0, 833, '\p{^ IsfullComposition EXCLUSION}', "");
-Expect(0, 833, '\P{ IsfullComposition EXCLUSION}', "");
-Expect(1, 833, '\P{^ IsfullComposition EXCLUSION}', "");
-Expect(0, 831, '\p{ IsfullComposition EXCLUSION}', "");
-Expect(1, 831, '\p{^ IsfullComposition EXCLUSION}', "");
-Expect(1, 831, '\P{ IsfullComposition EXCLUSION}', "");
-Expect(0, 831, '\P{^ IsfullComposition EXCLUSION}', "");
-Error('\p{-:=comp ex}');
-Error('\P{-:=comp ex}');
-Expect(1, 833, '\p{compex}', "");
-Expect(0, 833, '\p{^compex}', "");
-Expect(0, 833, '\P{compex}', "");
-Expect(1, 833, '\P{^compex}', "");
-Expect(0, 831, '\p{compex}', "");
-Expect(1, 831, '\p{^compex}', "");
-Expect(1, 831, '\P{compex}', "");
-Expect(0, 831, '\P{^compex}', "");
-Expect(1, 833, '\p{ _Comp EX}', "");
-Expect(0, 833, '\p{^ _Comp EX}', "");
-Expect(0, 833, '\P{ _Comp EX}', "");
-Expect(1, 833, '\P{^ _Comp EX}', "");
-Expect(0, 831, '\p{ _Comp EX}', "");
-Expect(1, 831, '\p{^ _Comp EX}', "");
-Expect(1, 831, '\P{ _Comp EX}', "");
-Expect(0, 831, '\P{^ _Comp EX}', "");
-Error('\p{ is:=Comp ex}');
-Error('\P{ is:=Comp ex}');
-Expect(1, 833, '\p{iscompex}', "");
-Expect(0, 833, '\p{^iscompex}', "");
-Expect(0, 833, '\P{iscompex}', "");
-Expect(1, 833, '\P{^iscompex}', "");
-Expect(0, 831, '\p{iscompex}', "");
-Expect(1, 831, '\p{^iscompex}', "");
-Expect(1, 831, '\P{iscompex}', "");
-Expect(0, 831, '\P{^iscompex}', "");
-Expect(1, 833, '\p{ Is Compex}', "");
-Expect(0, 833, '\p{^ Is Compex}', "");
-Expect(0, 833, '\P{ Is Compex}', "");
-Expect(1, 833, '\P{^ Is Compex}', "");
-Expect(0, 831, '\p{ Is Compex}', "");
-Expect(1, 831, '\p{^ Is Compex}', "");
-Expect(1, 831, '\P{ Is Compex}', "");
-Expect(0, 831, '\P{^ Is Compex}', "");
-Error('\p{__JOIN/a/Control}');
-Error('\P{__JOIN/a/Control}');
-Expect(1, 8205, '\p{joincontrol}', "");
-Expect(0, 8205, '\p{^joincontrol}', "");
-Expect(0, 8205, '\P{joincontrol}', "");
-Expect(1, 8205, '\P{^joincontrol}', "");
-Expect(0, 8203, '\p{joincontrol}', "");
-Expect(1, 8203, '\p{^joincontrol}', "");
-Expect(1, 8203, '\P{joincontrol}', "");
-Expect(0, 8203, '\P{^joincontrol}', "");
-Expect(1, 8205, '\p{ -Join control}', "");
-Expect(0, 8205, '\p{^ -Join control}', "");
-Expect(0, 8205, '\P{ -Join control}', "");
-Expect(1, 8205, '\P{^ -Join control}', "");
-Expect(0, 8203, '\p{ -Join control}', "");
-Expect(1, 8203, '\p{^ -Join control}', "");
-Expect(1, 8203, '\P{ -Join control}', "");
-Expect(0, 8203, '\P{^ -Join control}', "");
-Error('\p{- Is/a/JOIN_control}');
-Error('\P{- Is/a/JOIN_control}');
-Expect(1, 8205, '\p{isjoincontrol}', "");
-Expect(0, 8205, '\p{^isjoincontrol}', "");
-Expect(0, 8205, '\P{isjoincontrol}', "");
-Expect(1, 8205, '\P{^isjoincontrol}', "");
-Expect(0, 8203, '\p{isjoincontrol}', "");
-Expect(1, 8203, '\p{^isjoincontrol}', "");
-Expect(1, 8203, '\P{isjoincontrol}', "");
-Expect(0, 8203, '\P{^isjoincontrol}', "");
-Expect(1, 8205, '\p{ isjoin_CONTROL}', "");
-Expect(0, 8205, '\p{^ isjoin_CONTROL}', "");
-Expect(0, 8205, '\P{ isjoin_CONTROL}', "");
-Expect(1, 8205, '\P{^ isjoin_CONTROL}', "");
-Expect(0, 8203, '\p{ isjoin_CONTROL}', "");
-Expect(1, 8203, '\p{^ isjoin_CONTROL}', "");
-Expect(1, 8203, '\P{ isjoin_CONTROL}', "");
-Expect(0, 8203, '\P{^ isjoin_CONTROL}', "");
-Error('\p{_/a/Join C}');
-Error('\P{_/a/Join C}');
-Expect(1, 8205, '\p{joinc}', "");
-Expect(0, 8205, '\p{^joinc}', "");
-Expect(0, 8205, '\P{joinc}', "");
-Expect(1, 8205, '\P{^joinc}', "");
-Expect(0, 8203, '\p{joinc}', "");
-Expect(1, 8203, '\p{^joinc}', "");
-Expect(1, 8203, '\P{joinc}', "");
-Expect(0, 8203, '\P{^joinc}', "");
-Expect(1, 8205, '\p{ JOINC}', "");
-Expect(0, 8205, '\p{^ JOINC}', "");
-Expect(0, 8205, '\P{ JOINC}', "");
-Expect(1, 8205, '\P{^ JOINC}', "");
-Expect(0, 8203, '\p{ JOINC}', "");
-Expect(1, 8203, '\p{^ JOINC}', "");
-Expect(1, 8203, '\P{ JOINC}', "");
-Expect(0, 8203, '\P{^ JOINC}', "");
-Error('\p{ /a/IsJoin_C}');
-Error('\P{ /a/IsJoin_C}');
-Expect(1, 8205, '\p{isjoinc}', "");
-Expect(0, 8205, '\p{^isjoinc}', "");
-Expect(0, 8205, '\P{isjoinc}', "");
-Expect(1, 8205, '\P{^isjoinc}', "");
-Expect(0, 8203, '\p{isjoinc}', "");
-Expect(1, 8203, '\p{^isjoinc}', "");
-Expect(1, 8203, '\P{isjoinc}', "");
-Expect(0, 8203, '\P{^isjoinc}', "");
-Expect(1, 8205, '\p{-_IsJoin C}', "");
-Expect(0, 8205, '\p{^-_IsJoin C}', "");
-Expect(0, 8205, '\P{-_IsJoin C}', "");
-Expect(1, 8205, '\P{^-_IsJoin C}', "");
-Expect(0, 8203, '\p{-_IsJoin C}', "");
-Expect(1, 8203, '\p{^-_IsJoin C}', "");
-Expect(1, 8203, '\P{-_IsJoin C}', "");
-Expect(0, 8203, '\P{^-_IsJoin C}', "");
-Error('\p{:= UPPER}');
-Error('\P{:= UPPER}');
-Expect(1, 90, '\p{upper}', "");
-Expect(0, 90, '\p{^upper}', "");
-Expect(0, 90, '\P{upper}', "");
-Expect(1, 90, '\P{^upper}', "");
-Expect(0, 64, '\p{upper}', "");
-Expect(1, 64, '\p{^upper}', "");
-Expect(1, 64, '\P{upper}', "");
-Expect(0, 64, '\P{^upper}', "");
-Expect(1, 90, '\p{-_UPPER}', "");
-Expect(0, 90, '\p{^-_UPPER}', "");
-Expect(0, 90, '\P{-_UPPER}', "");
-Expect(1, 90, '\P{^-_UPPER}', "");
-Expect(0, 64, '\p{-_UPPER}', "");
-Expect(1, 64, '\p{^-_UPPER}', "");
-Expect(1, 64, '\P{-_UPPER}', "");
-Expect(0, 64, '\P{^-_UPPER}', "");
-Error('\p{:=IsUpper}');
-Error('\P{:=IsUpper}');
-Expect(1, 90, '\p{isupper}', "");
-Expect(0, 90, '\p{^isupper}', "");
-Expect(0, 90, '\P{isupper}', "");
-Expect(1, 90, '\P{^isupper}', "");
-Expect(0, 64, '\p{isupper}', "");
-Expect(1, 64, '\p{^isupper}', "");
-Expect(1, 64, '\P{isupper}', "");
-Expect(0, 64, '\P{^isupper}', "");
-Expect(1, 90, '\p{ -ISUpper}', "");
-Expect(0, 90, '\p{^ -ISUpper}', "");
-Expect(0, 90, '\P{ -ISUpper}', "");
-Expect(1, 90, '\P{^ -ISUpper}', "");
-Expect(0, 64, '\p{ -ISUpper}', "");
-Expect(1, 64, '\p{^ -ISUpper}', "");
-Expect(1, 64, '\P{ -ISUpper}', "");
-Expect(0, 64, '\P{^ -ISUpper}', "");
-Error('\p{/a/Uppercase}');
-Error('\P{/a/Uppercase}');
-Expect(1, 90, '\p{uppercase}', "");
-Expect(0, 90, '\p{^uppercase}', "");
-Expect(0, 90, '\P{uppercase}', "");
-Expect(1, 90, '\P{^uppercase}', "");
-Expect(0, 64, '\p{uppercase}', "");
-Expect(1, 64, '\p{^uppercase}', "");
-Expect(1, 64, '\P{uppercase}', "");
-Expect(0, 64, '\P{^uppercase}', "");
-Expect(1, 90, '\p{ -Uppercase}', "");
-Expect(0, 90, '\p{^ -Uppercase}', "");
-Expect(0, 90, '\P{ -Uppercase}', "");
-Expect(1, 90, '\P{^ -Uppercase}', "");
-Expect(0, 64, '\p{ -Uppercase}', "");
-Expect(1, 64, '\p{^ -Uppercase}', "");
-Expect(1, 64, '\P{ -Uppercase}', "");
-Expect(0, 64, '\P{^ -Uppercase}', "");
-Error('\p{_ IS/a/UPPERCASE}');
-Error('\P{_ IS/a/UPPERCASE}');
-Expect(1, 90, '\p{isuppercase}', "");
-Expect(0, 90, '\p{^isuppercase}', "");
-Expect(0, 90, '\P{isuppercase}', "");
-Expect(1, 90, '\P{^isuppercase}', "");
-Expect(0, 64, '\p{isuppercase}', "");
-Expect(1, 64, '\p{^isuppercase}', "");
-Expect(1, 64, '\P{isuppercase}', "");
-Expect(0, 64, '\P{^isuppercase}', "");
-Expect(1, 90, '\p{ IS_UPPERCASE}', "");
-Expect(0, 90, '\p{^ IS_UPPERCASE}', "");
-Expect(0, 90, '\P{ IS_UPPERCASE}', "");
-Expect(1, 90, '\P{^ IS_UPPERCASE}', "");
-Expect(0, 64, '\p{ IS_UPPERCASE}', "");
-Expect(1, 64, '\p{^ IS_UPPERCASE}', "");
-Expect(1, 64, '\P{ IS_UPPERCASE}', "");
-Expect(0, 64, '\P{^ IS_UPPERCASE}', "");
-Error('\p{ BRAILLE-Patterns:=}');
-Error('\P{ BRAILLE-Patterns:=}');
-Expect(1, 10495, '\p{braillepatterns}', "");
-Expect(0, 10495, '\p{^braillepatterns}', "");
-Expect(0, 10495, '\P{braillepatterns}', "");
-Expect(1, 10495, '\P{^braillepatterns}', "");
-Expect(0, 10239, '\p{braillepatterns}', "");
-Expect(1, 10239, '\p{^braillepatterns}', "");
-Expect(1, 10239, '\P{braillepatterns}', "");
-Expect(0, 10239, '\P{^braillepatterns}', "");
-Expect(1, 10495, '\p{_BRAILLE-Patterns}', "");
-Expect(0, 10495, '\p{^_BRAILLE-Patterns}', "");
-Expect(0, 10495, '\P{_BRAILLE-Patterns}', "");
-Expect(1, 10495, '\P{^_BRAILLE-Patterns}', "");
-Expect(0, 10239, '\p{_BRAILLE-Patterns}', "");
-Expect(1, 10239, '\p{^_BRAILLE-Patterns}', "");
-Expect(1, 10239, '\P{_BRAILLE-Patterns}', "");
-Expect(0, 10239, '\P{^_BRAILLE-Patterns}', "");
-Error('\p{- isBRAILLE patterns/a/}');
-Error('\P{- isBRAILLE patterns/a/}');
-Expect(1, 10495, '\p{isbraillepatterns}', "");
-Expect(0, 10495, '\p{^isbraillepatterns}', "");
-Expect(0, 10495, '\P{isbraillepatterns}', "");
-Expect(1, 10495, '\P{^isbraillepatterns}', "");
-Expect(0, 10239, '\p{isbraillepatterns}', "");
-Expect(1, 10239, '\p{^isbraillepatterns}', "");
-Expect(1, 10239, '\P{isbraillepatterns}', "");
-Expect(0, 10239, '\P{^isbraillepatterns}', "");
-Expect(1, 10495, '\p{ IS braille_Patterns}', "");
-Expect(0, 10495, '\p{^ IS braille_Patterns}', "");
-Expect(0, 10495, '\P{ IS braille_Patterns}', "");
-Expect(1, 10495, '\P{^ IS braille_Patterns}', "");
-Expect(0, 10239, '\p{ IS braille_Patterns}', "");
-Expect(1, 10239, '\p{^ IS braille_Patterns}', "");
-Expect(1, 10239, '\P{ IS braille_Patterns}', "");
-Expect(0, 10239, '\P{^ IS braille_Patterns}', "");
-Error('\p{:= INBraille-Patterns}');
-Error('\P{:= INBraille-Patterns}');
-Expect(1, 10495, '\p{inbraillepatterns}', "");
-Expect(0, 10495, '\p{^inbraillepatterns}', "");
-Expect(0, 10495, '\P{inbraillepatterns}', "");
-Expect(1, 10495, '\P{^inbraillepatterns}', "");
-Expect(0, 10239, '\p{inbraillepatterns}', "");
-Expect(1, 10239, '\p{^inbraillepatterns}', "");
-Expect(1, 10239, '\P{inbraillepatterns}', "");
-Expect(0, 10239, '\P{^inbraillepatterns}', "");
-Expect(1, 10495, '\p{-In BRAILLEPatterns}', "");
-Expect(0, 10495, '\p{^-In BRAILLEPatterns}', "");
-Expect(0, 10495, '\P{-In BRAILLEPatterns}', "");
-Expect(1, 10495, '\P{^-In BRAILLEPatterns}', "");
-Expect(0, 10239, '\p{-In BRAILLEPatterns}', "");
-Expect(1, 10239, '\p{^-In BRAILLEPatterns}', "");
-Expect(1, 10239, '\P{-In BRAILLEPatterns}', "");
-Expect(0, 10239, '\P{^-In BRAILLEPatterns}', "");
-Error('\p{- Katakana/a/}');
-Error('\P{- Katakana/a/}');
-Expect(1, 12538, '\p{katakana}', "");
-Expect(0, 12538, '\p{^katakana}', "");
-Expect(0, 12538, '\P{katakana}', "");
-Expect(1, 12538, '\P{^katakana}', "");
-Expect(0, 12448, '\p{katakana}', "");
-Expect(1, 12448, '\p{^katakana}', "");
-Expect(1, 12448, '\P{katakana}', "");
-Expect(0, 12448, '\P{^katakana}', "");
-Expect(1, 12538, '\p{ katakana}', "");
-Expect(0, 12538, '\p{^ katakana}', "");
-Expect(0, 12538, '\P{ katakana}', "");
-Expect(1, 12538, '\P{^ katakana}', "");
-Expect(0, 12448, '\p{ katakana}', "");
-Expect(1, 12448, '\p{^ katakana}', "");
-Expect(1, 12448, '\P{ katakana}', "");
-Expect(0, 12448, '\P{^ katakana}', "");
-Error('\p{ is/a/KATAKANA}');
-Error('\P{ is/a/KATAKANA}');
-Expect(1, 12538, '\p{iskatakana}', "");
-Expect(0, 12538, '\p{^iskatakana}', "");
-Expect(0, 12538, '\P{iskatakana}', "");
-Expect(1, 12538, '\P{^iskatakana}', "");
-Expect(0, 12448, '\p{iskatakana}', "");
-Expect(1, 12448, '\p{^iskatakana}', "");
-Expect(1, 12448, '\P{iskatakana}', "");
-Expect(0, 12448, '\P{^iskatakana}', "");
-Expect(1, 12538, '\p{ -Is_katakana}', "");
-Expect(0, 12538, '\p{^ -Is_katakana}', "");
-Expect(0, 12538, '\P{ -Is_katakana}', "");
-Expect(1, 12538, '\P{^ -Is_katakana}', "");
-Expect(0, 12448, '\p{ -Is_katakana}', "");
-Expect(1, 12448, '\p{^ -Is_katakana}', "");
-Expect(1, 12448, '\P{ -Is_katakana}', "");
-Expect(0, 12448, '\P{^ -Is_katakana}', "");
-Error('\p{:=__KANA}');
-Error('\P{:=__KANA}');
-Expect(1, 12538, '\p{kana}', "");
-Expect(0, 12538, '\p{^kana}', "");
-Expect(0, 12538, '\P{kana}', "");
-Expect(1, 12538, '\P{^kana}', "");
-Expect(0, 12448, '\p{kana}', "");
-Expect(1, 12448, '\p{^kana}', "");
-Expect(1, 12448, '\P{kana}', "");
-Expect(0, 12448, '\P{^kana}', "");
-Expect(1, 12538, '\p{_Kana}', "");
-Expect(0, 12538, '\p{^_Kana}', "");
-Expect(0, 12538, '\P{_Kana}', "");
-Expect(1, 12538, '\P{^_Kana}', "");
-Expect(0, 12448, '\p{_Kana}', "");
-Expect(1, 12448, '\p{^_Kana}', "");
-Expect(1, 12448, '\P{_Kana}', "");
-Expect(0, 12448, '\P{^_Kana}', "");
-Error('\p{ _Is kana/a/}');
-Error('\P{ _Is kana/a/}');
-Expect(1, 12538, '\p{iskana}', "");
-Expect(0, 12538, '\p{^iskana}', "");
-Expect(0, 12538, '\P{iskana}', "");
-Expect(1, 12538, '\P{^iskana}', "");
-Expect(0, 12448, '\p{iskana}', "");
-Expect(1, 12448, '\p{^iskana}', "");
-Expect(1, 12448, '\P{iskana}', "");
-Expect(0, 12448, '\P{^iskana}', "");
-Expect(1, 12538, '\p{-_iskana}', "");
-Expect(0, 12538, '\p{^-_iskana}', "");
-Expect(0, 12538, '\P{-_iskana}', "");
-Expect(1, 12538, '\P{^-_iskana}', "");
-Expect(0, 12448, '\p{-_iskana}', "");
-Expect(1, 12448, '\p{^-_iskana}', "");
-Expect(1, 12448, '\P{-_iskana}', "");
-Expect(0, 12448, '\P{^-_iskana}', "");
-Error('\p{/a/ _pattern_white_space}');
-Error('\P{/a/ _pattern_white_space}');
-Expect(1, 13, '\p{patternwhitespace}', "");
-Expect(0, 13, '\p{^patternwhitespace}', "");
-Expect(0, 13, '\P{patternwhitespace}', "");
-Expect(1, 13, '\P{^patternwhitespace}', "");
-Expect(0, 8, '\p{patternwhitespace}', "");
-Expect(1, 8, '\p{^patternwhitespace}', "");
-Expect(1, 8, '\P{patternwhitespace}', "");
-Expect(0, 8, '\P{^patternwhitespace}', "");
-Expect(1, 13, '\p{ Pattern WHITESPACE}', "");
-Expect(0, 13, '\p{^ Pattern WHITESPACE}', "");
-Expect(0, 13, '\P{ Pattern WHITESPACE}', "");
-Expect(1, 13, '\P{^ Pattern WHITESPACE}', "");
-Expect(0, 8, '\p{ Pattern WHITESPACE}', "");
-Expect(1, 8, '\p{^ Pattern WHITESPACE}', "");
-Expect(1, 8, '\P{ Pattern WHITESPACE}', "");
-Expect(0, 8, '\P{^ Pattern WHITESPACE}', "");
-Error('\p{ :=Is-Pattern White space}');
-Error('\P{ :=Is-Pattern White space}');
-Expect(1, 13, '\p{ispatternwhitespace}', "");
-Expect(0, 13, '\p{^ispatternwhitespace}', "");
-Expect(0, 13, '\P{ispatternwhitespace}', "");
-Expect(1, 13, '\P{^ispatternwhitespace}', "");
-Expect(0, 8, '\p{ispatternwhitespace}', "");
-Expect(1, 8, '\p{^ispatternwhitespace}', "");
-Expect(1, 8, '\P{ispatternwhitespace}', "");
-Expect(0, 8, '\P{^ispatternwhitespace}', "");
-Expect(1, 13, '\p{ ISPATTERN WHITE_Space}', "");
-Expect(0, 13, '\p{^ ISPATTERN WHITE_Space}', "");
-Expect(0, 13, '\P{ ISPATTERN WHITE_Space}', "");
-Expect(1, 13, '\P{^ ISPATTERN WHITE_Space}', "");
-Expect(0, 8, '\p{ ISPATTERN WHITE_Space}', "");
-Expect(1, 8, '\p{^ ISPATTERN WHITE_Space}', "");
-Expect(1, 8, '\P{ ISPATTERN WHITE_Space}', "");
-Expect(0, 8, '\P{^ ISPATTERN WHITE_Space}', "");
-Error('\p{-_PAT/a/WS}');
-Error('\P{-_PAT/a/WS}');
-Expect(1, 13, '\p{patws}', "");
-Expect(0, 13, '\p{^patws}', "");
-Expect(0, 13, '\P{patws}', "");
-Expect(1, 13, '\P{^patws}', "");
-Expect(0, 8, '\p{patws}', "");
-Expect(1, 8, '\p{^patws}', "");
-Expect(1, 8, '\P{patws}', "");
-Expect(0, 8, '\P{^patws}', "");
-Expect(1, 13, '\p{_Pat WS}', "");
-Expect(0, 13, '\p{^_Pat WS}', "");
-Expect(0, 13, '\P{_Pat WS}', "");
-Expect(1, 13, '\P{^_Pat WS}', "");
-Expect(0, 8, '\p{_Pat WS}', "");
-Expect(1, 8, '\p{^_Pat WS}', "");
-Expect(1, 8, '\P{_Pat WS}', "");
-Expect(0, 8, '\P{^_Pat WS}', "");
-Error('\p{ _is/a/Pat ws}');
-Error('\P{ _is/a/Pat ws}');
-Expect(1, 13, '\p{ispatws}', "");
-Expect(0, 13, '\p{^ispatws}', "");
-Expect(0, 13, '\P{ispatws}', "");
-Expect(1, 13, '\P{^ispatws}', "");
-Expect(0, 8, '\p{ispatws}', "");
-Expect(1, 8, '\p{^ispatws}', "");
-Expect(1, 8, '\P{ispatws}', "");
-Expect(0, 8, '\P{^ispatws}', "");
-Expect(1, 13, '\p{-Is_Pat-ws}', "");
-Expect(0, 13, '\p{^-Is_Pat-ws}', "");
-Expect(0, 13, '\P{-Is_Pat-ws}', "");
-Expect(1, 13, '\P{^-Is_Pat-ws}', "");
-Expect(0, 8, '\p{-Is_Pat-ws}', "");
-Expect(1, 8, '\p{^-Is_Pat-ws}', "");
-Expect(1, 8, '\P{-Is_Pat-ws}', "");
-Expect(0, 8, '\P{^-Is_Pat-ws}', "");
-Error('\p{/a/Noncharacter_CODE-Point}');
-Error('\P{/a/Noncharacter_CODE-Point}');
-Expect(0, 64975, '\p{noncharactercodepoint}', "");
-Expect(1, 64975, '\p{^noncharactercodepoint}', "");
-Expect(1, 64975, '\P{noncharactercodepoint}', "");
-Expect(0, 64975, '\P{^noncharactercodepoint}', "");
-Expect(0, 64975, '\p{ Noncharacter Code_POINT}', "");
-Expect(1, 64975, '\p{^ Noncharacter Code_POINT}', "");
-Expect(1, 64975, '\P{ Noncharacter Code_POINT}', "");
-Expect(0, 64975, '\P{^ Noncharacter Code_POINT}', "");
-Error('\p{-:=is Noncharacter_Code Point}');
-Error('\P{-:=is Noncharacter_Code Point}');
-Expect(0, 64975, '\p{isnoncharactercodepoint}', "");
-Expect(1, 64975, '\p{^isnoncharactercodepoint}', "");
-Expect(1, 64975, '\P{isnoncharactercodepoint}', "");
-Expect(0, 64975, '\P{^isnoncharactercodepoint}', "");
-Expect(0, 64975, '\p{_ Is-Noncharacter_Code Point}', "");
-Expect(1, 64975, '\p{^_ Is-Noncharacter_Code Point}', "");
-Expect(1, 64975, '\P{_ Is-Noncharacter_Code Point}', "");
-Expect(0, 64975, '\P{^_ Is-Noncharacter_Code Point}', "");
-Error('\p{ NChar:=}');
-Error('\P{ NChar:=}');
-Expect(0, 64975, '\p{nchar}', "");
-Expect(1, 64975, '\p{^nchar}', "");
-Expect(1, 64975, '\P{nchar}', "");
-Expect(0, 64975, '\P{^nchar}', "");
-Expect(0, 64975, '\p{-nchar}', "");
-Expect(1, 64975, '\p{^-nchar}', "");
-Expect(1, 64975, '\P{-nchar}', "");
-Expect(0, 64975, '\P{^-nchar}', "");
-Error('\p{ -Is nchar/a/}');
-Error('\P{ -Is nchar/a/}');
-Expect(0, 64975, '\p{isnchar}', "");
-Expect(1, 64975, '\p{^isnchar}', "");
-Expect(1, 64975, '\P{isnchar}', "");
-Expect(0, 64975, '\P{^isnchar}', "");
-Expect(0, 64975, '\p{- IS-NChar}', "");
-Expect(1, 64975, '\p{^- IS-NChar}', "");
-Expect(1, 64975, '\P{- IS-NChar}', "");
-Expect(0, 64975, '\P{^- IS-NChar}', "");
-Error('\p{ In:=Ogham}');
-Error('\P{ In:=Ogham}');
-Expect(1, 5791, '\p{inogham}', "");
-Expect(0, 5791, '\p{^inogham}', "");
-Expect(0, 5791, '\P{inogham}', "");
-Expect(1, 5791, '\P{^inogham}', "");
-Expect(0, 5759, '\p{inogham}', "");
-Expect(1, 5759, '\p{^inogham}', "");
-Expect(1, 5759, '\P{inogham}', "");
-Expect(0, 5759, '\P{^inogham}', "");
-Expect(1, 5791, '\p{-_in ogham}', "");
-Expect(0, 5791, '\p{^-_in ogham}', "");
-Expect(0, 5791, '\P{-_in ogham}', "");
-Expect(1, 5791, '\P{^-_in ogham}', "");
-Expect(0, 5759, '\p{-_in ogham}', "");
-Expect(1, 5759, '\p{^-_in ogham}', "");
-Expect(1, 5759, '\P{-_in ogham}', "");
-Expect(0, 5759, '\P{^-_in ogham}', "");
-Error('\p{-_Old-SOUTH/a/ARABIAN}');
-Error('\P{-_Old-SOUTH/a/ARABIAN}');
-Expect(1, 68223, '\p{oldsoutharabian}', "");
-Expect(0, 68223, '\p{^oldsoutharabian}', "");
-Expect(0, 68223, '\P{oldsoutharabian}', "");
-Expect(1, 68223, '\P{^oldsoutharabian}', "");
-Expect(0, 68191, '\p{oldsoutharabian}', "");
-Expect(1, 68191, '\p{^oldsoutharabian}', "");
-Expect(1, 68191, '\P{oldsoutharabian}', "");
-Expect(0, 68191, '\P{^oldsoutharabian}', "");
-Expect(1, 68223, '\p{ old_SouthArabian}', "");
-Expect(0, 68223, '\p{^ old_SouthArabian}', "");
-Expect(0, 68223, '\P{ old_SouthArabian}', "");
-Expect(1, 68223, '\P{^ old_SouthArabian}', "");
-Expect(0, 68191, '\p{ old_SouthArabian}', "");
-Expect(1, 68191, '\p{^ old_SouthArabian}', "");
-Expect(1, 68191, '\P{ old_SouthArabian}', "");
-Expect(0, 68191, '\P{^ old_SouthArabian}', "");
-Error('\p{ is Old-South/a/ARABIAN}');
-Error('\P{ is Old-South/a/ARABIAN}');
-Expect(1, 68223, '\p{isoldsoutharabian}', "");
-Expect(0, 68223, '\p{^isoldsoutharabian}', "");
-Expect(0, 68223, '\P{isoldsoutharabian}', "");
-Expect(1, 68223, '\P{^isoldsoutharabian}', "");
-Expect(0, 68191, '\p{isoldsoutharabian}', "");
-Expect(1, 68191, '\p{^isoldsoutharabian}', "");
-Expect(1, 68191, '\P{isoldsoutharabian}', "");
-Expect(0, 68191, '\P{^isoldsoutharabian}', "");
-Expect(1, 68223, '\p{_ Is old-South arabian}', "");
-Expect(0, 68223, '\p{^_ Is old-South arabian}', "");
-Expect(0, 68223, '\P{_ Is old-South arabian}', "");
-Expect(1, 68223, '\P{^_ Is old-South arabian}', "");
-Expect(0, 68191, '\p{_ Is old-South arabian}', "");
-Expect(1, 68191, '\p{^_ Is old-South arabian}', "");
-Expect(1, 68191, '\P{_ Is old-South arabian}', "");
-Expect(0, 68191, '\P{^_ Is old-South arabian}', "");
-Error('\p{/a/ Sarb}');
-Error('\P{/a/ Sarb}');
-Expect(1, 68223, '\p{sarb}', "");
-Expect(0, 68223, '\p{^sarb}', "");
-Expect(0, 68223, '\P{sarb}', "");
-Expect(1, 68223, '\P{^sarb}', "");
-Expect(0, 68191, '\p{sarb}', "");
-Expect(1, 68191, '\p{^sarb}', "");
-Expect(1, 68191, '\P{sarb}', "");
-Expect(0, 68191, '\P{^sarb}', "");
-Expect(1, 68223, '\p{-Sarb}', "");
-Expect(0, 68223, '\p{^-Sarb}', "");
-Expect(0, 68223, '\P{-Sarb}', "");
-Expect(1, 68223, '\P{^-Sarb}', "");
-Expect(0, 68191, '\p{-Sarb}', "");
-Expect(1, 68191, '\p{^-Sarb}', "");
-Expect(1, 68191, '\P{-Sarb}', "");
-Expect(0, 68191, '\P{^-Sarb}', "");
-Error('\p{ IsSarb/a/}');
-Error('\P{ IsSarb/a/}');
-Expect(1, 68223, '\p{issarb}', "");
-Expect(0, 68223, '\p{^issarb}', "");
-Expect(0, 68223, '\P{issarb}', "");
-Expect(1, 68223, '\P{^issarb}', "");
-Expect(0, 68191, '\p{issarb}', "");
-Expect(1, 68191, '\p{^issarb}', "");
-Expect(1, 68191, '\P{issarb}', "");
-Expect(0, 68191, '\P{^issarb}', "");
-Expect(1, 68223, '\p{ IS_sarb}', "");
-Expect(0, 68223, '\p{^ IS_sarb}', "");
-Expect(0, 68223, '\P{ IS_sarb}', "");
-Expect(1, 68223, '\P{^ IS_sarb}', "");
-Expect(0, 68191, '\p{ IS_sarb}', "");
-Expect(1, 68191, '\p{^ IS_sarb}', "");
-Expect(1, 68191, '\P{ IS_sarb}', "");
-Expect(0, 68191, '\P{^ IS_sarb}', "");
-Error('\p{_-Alphabetic:=Presentation-FORMS}');
-Error('\P{_-Alphabetic:=Presentation-FORMS}');
-Expect(1, 64335, '\p{alphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^alphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{alphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^alphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{alphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^alphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{alphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^alphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{ Alphabetic Presentation Forms}', "");
-Expect(0, 64335, '\p{^ Alphabetic Presentation Forms}', "");
-Expect(0, 64335, '\P{ Alphabetic Presentation Forms}', "");
-Expect(1, 64335, '\P{^ Alphabetic Presentation Forms}', "");
-Expect(0, 64255, '\p{ Alphabetic Presentation Forms}', "");
-Expect(1, 64255, '\p{^ Alphabetic Presentation Forms}', "");
-Expect(1, 64255, '\P{ Alphabetic Presentation Forms}', "");
-Expect(0, 64255, '\P{^ Alphabetic Presentation Forms}', "");
-Error('\p{ is:=Alphabetic-PresentationFORMS}');
-Error('\P{ is:=Alphabetic-PresentationFORMS}');
-Expect(1, 64335, '\p{isalphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^isalphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{isalphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^isalphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{isalphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^isalphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{isalphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^isalphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{ IS-Alphabetic_presentation forms}', "");
-Expect(0, 64335, '\p{^ IS-Alphabetic_presentation forms}', "");
-Expect(0, 64335, '\P{ IS-Alphabetic_presentation forms}', "");
-Expect(1, 64335, '\P{^ IS-Alphabetic_presentation forms}', "");
-Expect(0, 64255, '\p{ IS-Alphabetic_presentation forms}', "");
-Expect(1, 64255, '\p{^ IS-Alphabetic_presentation forms}', "");
-Expect(1, 64255, '\P{ IS-Alphabetic_presentation forms}', "");
-Expect(0, 64255, '\P{^ IS-Alphabetic_presentation forms}', "");
-Error('\p{ In-alphabetic PRESENTATION Forms:=}');
-Error('\P{ In-alphabetic PRESENTATION Forms:=}');
-Expect(1, 64335, '\p{inalphabeticpresentationforms}', "");
-Expect(0, 64335, '\p{^inalphabeticpresentationforms}', "");
-Expect(0, 64335, '\P{inalphabeticpresentationforms}', "");
-Expect(1, 64335, '\P{^inalphabeticpresentationforms}', "");
-Expect(0, 64255, '\p{inalphabeticpresentationforms}', "");
-Expect(1, 64255, '\p{^inalphabeticpresentationforms}', "");
-Expect(1, 64255, '\P{inalphabeticpresentationforms}', "");
-Expect(0, 64255, '\P{^inalphabeticpresentationforms}', "");
-Expect(1, 64335, '\p{ In_ALPHABETIC presentation Forms}', "");
-Expect(0, 64335, '\p{^ In_ALPHABETIC presentation Forms}', "");
-Expect(0, 64335, '\P{ In_ALPHABETIC presentation Forms}', "");
-Expect(1, 64335, '\P{^ In_ALPHABETIC presentation Forms}', "");
-Expect(0, 64255, '\p{ In_ALPHABETIC presentation Forms}', "");
-Expect(1, 64255, '\p{^ In_ALPHABETIC presentation Forms}', "");
-Expect(1, 64255, '\P{ In_ALPHABETIC presentation Forms}', "");
-Expect(0, 64255, '\P{^ In_ALPHABETIC presentation Forms}', "");
-Error('\p{ DOMINO_TILES:=}');
-Error('\P{ DOMINO_TILES:=}');
-Expect(1, 127135, '\p{dominotiles}', "");
-Expect(0, 127135, '\p{^dominotiles}', "");
-Expect(0, 127135, '\P{dominotiles}', "");
-Expect(1, 127135, '\P{^dominotiles}', "");
-Expect(0, 127023, '\p{dominotiles}', "");
-Expect(1, 127023, '\p{^dominotiles}', "");
-Expect(1, 127023, '\P{dominotiles}', "");
-Expect(0, 127023, '\P{^dominotiles}', "");
-Expect(1, 127135, '\p{-_domino-Tiles}', "");
-Expect(0, 127135, '\p{^-_domino-Tiles}', "");
-Expect(0, 127135, '\P{-_domino-Tiles}', "");
-Expect(1, 127135, '\P{^-_domino-Tiles}', "");
-Expect(0, 127023, '\p{-_domino-Tiles}', "");
-Expect(1, 127023, '\p{^-_domino-Tiles}', "");
-Expect(1, 127023, '\P{-_domino-Tiles}', "");
-Expect(0, 127023, '\P{^-_domino-Tiles}', "");
-Error('\p{__is Domino_Tiles/a/}');
-Error('\P{__is Domino_Tiles/a/}');
-Expect(1, 127135, '\p{isdominotiles}', "");
-Expect(0, 127135, '\p{^isdominotiles}', "");
-Expect(0, 127135, '\P{isdominotiles}', "");
-Expect(1, 127135, '\P{^isdominotiles}', "");
-Expect(0, 127023, '\p{isdominotiles}', "");
-Expect(1, 127023, '\p{^isdominotiles}', "");
-Expect(1, 127023, '\P{isdominotiles}', "");
-Expect(0, 127023, '\P{^isdominotiles}', "");
-Expect(1, 127135, '\p{-_Is-Domino Tiles}', "");
-Expect(0, 127135, '\p{^-_Is-Domino Tiles}', "");
-Expect(0, 127135, '\P{-_Is-Domino Tiles}', "");
-Expect(1, 127135, '\P{^-_Is-Domino Tiles}', "");
-Expect(0, 127023, '\p{-_Is-Domino Tiles}', "");
-Expect(1, 127023, '\p{^-_Is-Domino Tiles}', "");
-Expect(1, 127023, '\P{-_Is-Domino Tiles}', "");
-Expect(0, 127023, '\P{^-_Is-Domino Tiles}', "");
-Error('\p{_in Domino TILES/a/}');
-Error('\P{_in Domino TILES/a/}');
-Expect(1, 127135, '\p{indominotiles}', "");
-Expect(0, 127135, '\p{^indominotiles}', "");
-Expect(0, 127135, '\P{indominotiles}', "");
-Expect(1, 127135, '\P{^indominotiles}', "");
-Expect(0, 127023, '\p{indominotiles}', "");
-Expect(1, 127023, '\p{^indominotiles}', "");
-Expect(1, 127023, '\P{indominotiles}', "");
-Expect(0, 127023, '\P{^indominotiles}', "");
-Expect(1, 127135, '\p{_ in-Domino_tiles}', "");
-Expect(0, 127135, '\p{^_ in-Domino_tiles}', "");
-Expect(0, 127135, '\P{_ in-Domino_tiles}', "");
-Expect(1, 127135, '\P{^_ in-Domino_tiles}', "");
-Expect(0, 127023, '\p{_ in-Domino_tiles}', "");
-Expect(1, 127023, '\p{^_ in-Domino_tiles}', "");
-Expect(1, 127023, '\P{_ in-Domino_tiles}', "");
-Expect(0, 127023, '\P{^_ in-Domino_tiles}', "");
-Error('\p{in-kayah:=Li}');
-Error('\P{in-kayah:=Li}');
-Expect(1, 43311, '\p{inkayahli}', "");
-Expect(0, 43311, '\p{^inkayahli}', "");
-Expect(0, 43311, '\P{inkayahli}', "");
-Expect(1, 43311, '\P{^inkayahli}', "");
-Expect(0, 43263, '\p{inkayahli}', "");
-Expect(1, 43263, '\p{^inkayahli}', "");
-Expect(1, 43263, '\P{inkayahli}', "");
-Expect(0, 43263, '\P{^inkayahli}', "");
-Expect(1, 43311, '\p{_in KayahLI}', "");
-Expect(0, 43311, '\p{^_in KayahLI}', "");
-Expect(0, 43311, '\P{_in KayahLI}', "");
-Expect(1, 43311, '\P{^_in KayahLI}', "");
-Expect(0, 43263, '\p{_in KayahLI}', "");
-Expect(1, 43263, '\p{^_in KayahLI}', "");
-Expect(1, 43263, '\P{_in KayahLI}', "");
-Expect(0, 43263, '\P{^_in KayahLI}', "");
-Error('\p{_uppercase letter:=}');
-Error('\P{_uppercase letter:=}');
-Expect(1, 90, '\p{uppercaseletter}', "");
-Expect(0, 90, '\p{^uppercaseletter}', "");
-Expect(0, 90, '\P{uppercaseletter}', "");
-Expect(1, 90, '\P{^uppercaseletter}', "");
-Expect(0, 64, '\p{uppercaseletter}', "");
-Expect(1, 64, '\p{^uppercaseletter}', "");
-Expect(1, 64, '\P{uppercaseletter}', "");
-Expect(0, 64, '\P{^uppercaseletter}', "");
-Expect(1, 90, '\p{--Uppercase-Letter}', "");
-Expect(0, 90, '\p{^--Uppercase-Letter}', "");
-Expect(0, 90, '\P{--Uppercase-Letter}', "");
-Expect(1, 90, '\P{^--Uppercase-Letter}', "");
-Expect(0, 64, '\p{--Uppercase-Letter}', "");
-Expect(1, 64, '\p{^--Uppercase-Letter}', "");
-Expect(1, 64, '\P{--Uppercase-Letter}', "");
-Expect(0, 64, '\P{^--Uppercase-Letter}', "");
-Error('\p{_/a/IsUppercase_LETTER}');
-Error('\P{_/a/IsUppercase_LETTER}');
-Expect(1, 90, '\p{isuppercaseletter}', "");
-Expect(0, 90, '\p{^isuppercaseletter}', "");
-Expect(0, 90, '\P{isuppercaseletter}', "");
-Expect(1, 90, '\P{^isuppercaseletter}', "");
-Expect(0, 64, '\p{isuppercaseletter}', "");
-Expect(1, 64, '\p{^isuppercaseletter}', "");
-Expect(1, 64, '\P{isuppercaseletter}', "");
-Expect(0, 64, '\P{^isuppercaseletter}', "");
-Expect(1, 90, '\p{-is_UppercaseLetter}', "");
-Expect(0, 90, '\p{^-is_UppercaseLetter}', "");
-Expect(0, 90, '\P{-is_UppercaseLetter}', "");
-Expect(1, 90, '\P{^-is_UppercaseLetter}', "");
-Expect(0, 64, '\p{-is_UppercaseLetter}', "");
-Expect(1, 64, '\p{^-is_UppercaseLetter}', "");
-Expect(1, 64, '\P{-is_UppercaseLetter}', "");
-Expect(0, 64, '\P{^-is_UppercaseLetter}', "");
-Error('\p{_LU/a/}');
-Error('\P{_LU/a/}');
-Expect(1, 90, '\p{lu}', "");
-Expect(0, 90, '\p{^lu}', "");
-Expect(0, 90, '\P{lu}', "");
-Expect(1, 90, '\P{^lu}', "");
-Expect(0, 64, '\p{lu}', "");
-Expect(1, 64, '\p{^lu}', "");
-Expect(1, 64, '\P{lu}', "");
-Expect(0, 64, '\P{^lu}', "");
-Expect(1, 90, '\p{- Lu}', "");
-Expect(0, 90, '\p{^- Lu}', "");
-Expect(0, 90, '\P{- Lu}', "");
-Expect(1, 90, '\P{^- Lu}', "");
-Expect(0, 64, '\p{- Lu}', "");
-Expect(1, 64, '\p{^- Lu}', "");
-Expect(1, 64, '\P{- Lu}', "");
-Expect(0, 64, '\P{^- Lu}', "");
-Error('\p{-Is/a/Lu}');
-Error('\P{-Is/a/Lu}');
-Expect(1, 90, '\p{islu}', "");
-Expect(0, 90, '\p{^islu}', "");
-Expect(0, 90, '\P{islu}', "");
-Expect(1, 90, '\P{^islu}', "");
-Expect(0, 64, '\p{islu}', "");
-Expect(1, 64, '\p{^islu}', "");
-Expect(1, 64, '\P{islu}', "");
-Expect(0, 64, '\P{^islu}', "");
-Expect(1, 90, '\p{ Is lu}', "");
-Expect(0, 90, '\p{^ Is lu}', "");
-Expect(0, 90, '\P{ Is lu}', "");
-Expect(1, 90, '\P{^ Is lu}', "");
-Expect(0, 64, '\p{ Is lu}', "");
-Expect(1, 64, '\p{^ Is lu}', "");
-Expect(1, 64, '\P{ Is lu}', "");
-Expect(0, 64, '\P{^ Is lu}', "");
-Error('\p{/a/- tai le}');
-Error('\P{/a/- tai le}');
-Expect(1, 6509, '\p{taile}', "");
-Expect(0, 6509, '\p{^taile}', "");
-Expect(0, 6509, '\P{taile}', "");
-Expect(1, 6509, '\P{^taile}', "");
-Expect(0, 6479, '\p{taile}', "");
-Expect(1, 6479, '\p{^taile}', "");
-Expect(1, 6479, '\P{taile}', "");
-Expect(0, 6479, '\P{^taile}', "");
-Expect(1, 6509, '\p{_tai_le}', "");
-Expect(0, 6509, '\p{^_tai_le}', "");
-Expect(0, 6509, '\P{_tai_le}', "");
-Expect(1, 6509, '\P{^_tai_le}', "");
-Expect(0, 6479, '\p{_tai_le}', "");
-Expect(1, 6479, '\p{^_tai_le}', "");
-Expect(1, 6479, '\P{_tai_le}', "");
-Expect(0, 6479, '\P{^_tai_le}', "");
-Error('\p{ -is/a/Tai_Le}');
-Error('\P{ -is/a/Tai_Le}');
-Expect(1, 6509, '\p{istaile}', "");
-Expect(0, 6509, '\p{^istaile}', "");
-Expect(0, 6509, '\P{istaile}', "");
-Expect(1, 6509, '\P{^istaile}', "");
-Expect(0, 6479, '\p{istaile}', "");
-Expect(1, 6479, '\p{^istaile}', "");
-Expect(1, 6479, '\P{istaile}', "");
-Expect(0, 6479, '\P{^istaile}', "");
-Expect(1, 6509, '\p{_ is tai LE}', "");
-Expect(0, 6509, '\p{^_ is tai LE}', "");
-Expect(0, 6509, '\P{_ is tai LE}', "");
-Expect(1, 6509, '\P{^_ is tai LE}', "");
-Expect(0, 6479, '\p{_ is tai LE}', "");
-Expect(1, 6479, '\p{^_ is tai LE}', "");
-Expect(1, 6479, '\P{_ is tai LE}', "");
-Expect(0, 6479, '\P{^_ is tai LE}', "");
-Error('\p{:=-_Tale}');
-Error('\P{:=-_Tale}');
-Expect(1, 6509, '\p{tale}', "");
-Expect(0, 6509, '\p{^tale}', "");
-Expect(0, 6509, '\P{tale}', "");
-Expect(1, 6509, '\P{^tale}', "");
-Expect(0, 6479, '\p{tale}', "");
-Expect(1, 6479, '\p{^tale}', "");
-Expect(1, 6479, '\P{tale}', "");
-Expect(0, 6479, '\P{^tale}', "");
-Expect(1, 6509, '\p{ _Tale}', "");
-Expect(0, 6509, '\p{^ _Tale}', "");
-Expect(0, 6509, '\P{ _Tale}', "");
-Expect(1, 6509, '\P{^ _Tale}', "");
-Expect(0, 6479, '\p{ _Tale}', "");
-Expect(1, 6479, '\p{^ _Tale}', "");
-Expect(1, 6479, '\P{ _Tale}', "");
-Expect(0, 6479, '\P{^ _Tale}', "");
-Error('\p{/a/ IS-Tale}');
-Error('\P{/a/ IS-Tale}');
-Expect(1, 6509, '\p{istale}', "");
-Expect(0, 6509, '\p{^istale}', "");
-Expect(0, 6509, '\P{istale}', "");
-Expect(1, 6509, '\P{^istale}', "");
-Expect(0, 6479, '\p{istale}', "");
-Expect(1, 6479, '\p{^istale}', "");
-Expect(1, 6479, '\P{istale}', "");
-Expect(0, 6479, '\P{^istale}', "");
-Expect(1, 6509, '\p{_-is-TALE}', "");
-Expect(0, 6509, '\p{^_-is-TALE}', "");
-Expect(0, 6509, '\P{_-is-TALE}', "");
-Expect(1, 6509, '\P{^_-is-TALE}', "");
-Expect(0, 6479, '\p{_-is-TALE}', "");
-Expect(1, 6479, '\p{^_-is-TALE}', "");
-Expect(1, 6479, '\P{_-is-TALE}', "");
-Expect(0, 6479, '\P{^_-is-TALE}', "");
-Error('\p{ ASCII_Hex:=digit}');
-Error('\P{ ASCII_Hex:=digit}');
-Expect(1, 57, '\p{asciihexdigit}', "");
-Expect(0, 57, '\p{^asciihexdigit}', "");
-Expect(0, 57, '\P{asciihexdigit}', "");
-Expect(1, 57, '\P{^asciihexdigit}', "");
-Expect(0, 47, '\p{asciihexdigit}', "");
-Expect(1, 47, '\p{^asciihexdigit}', "");
-Expect(1, 47, '\P{asciihexdigit}', "");
-Expect(0, 47, '\P{^asciihexdigit}', "");
-Expect(1, 57, '\p{ ASCII_HexDigit}', "");
-Expect(0, 57, '\p{^ ASCII_HexDigit}', "");
-Expect(0, 57, '\P{ ASCII_HexDigit}', "");
-Expect(1, 57, '\P{^ ASCII_HexDigit}', "");
-Expect(0, 47, '\p{ ASCII_HexDigit}', "");
-Expect(1, 47, '\p{^ ASCII_HexDigit}', "");
-Expect(1, 47, '\P{ ASCII_HexDigit}', "");
-Expect(0, 47, '\P{^ ASCII_HexDigit}', "");
-Error('\p{:=IS-ASCII Hex_digit}');
-Error('\P{:=IS-ASCII Hex_digit}');
-Expect(1, 57, '\p{isasciihexdigit}', "");
-Expect(0, 57, '\p{^isasciihexdigit}', "");
-Expect(0, 57, '\P{isasciihexdigit}', "");
-Expect(1, 57, '\P{^isasciihexdigit}', "");
-Expect(0, 47, '\p{isasciihexdigit}', "");
-Expect(1, 47, '\p{^isasciihexdigit}', "");
-Expect(1, 47, '\P{isasciihexdigit}', "");
-Expect(0, 47, '\P{^isasciihexdigit}', "");
-Expect(1, 57, '\p{_Is ASCII hexDigit}', "");
-Expect(0, 57, '\p{^_Is ASCII hexDigit}', "");
-Expect(0, 57, '\P{_Is ASCII hexDigit}', "");
-Expect(1, 57, '\P{^_Is ASCII hexDigit}', "");
-Expect(0, 47, '\p{_Is ASCII hexDigit}', "");
-Expect(1, 47, '\p{^_Is ASCII hexDigit}', "");
-Expect(1, 47, '\P{_Is ASCII hexDigit}', "");
-Expect(0, 47, '\P{^_Is ASCII hexDigit}', "");
-Error('\p{:= AHEX}');
-Error('\P{:= AHEX}');
-Expect(1, 57, '\p{ahex}', "");
-Expect(0, 57, '\p{^ahex}', "");
-Expect(0, 57, '\P{ahex}', "");
-Expect(1, 57, '\P{^ahex}', "");
-Expect(0, 47, '\p{ahex}', "");
-Expect(1, 47, '\p{^ahex}', "");
-Expect(1, 47, '\P{ahex}', "");
-Expect(0, 47, '\P{^ahex}', "");
-Expect(1, 57, '\p{ ahex}', "");
-Expect(0, 57, '\p{^ ahex}', "");
-Expect(0, 57, '\P{ ahex}', "");
-Expect(1, 57, '\P{^ ahex}', "");
-Expect(0, 47, '\p{ ahex}', "");
-Expect(1, 47, '\p{^ ahex}', "");
-Expect(1, 47, '\P{ ahex}', "");
-Expect(0, 47, '\P{^ ahex}', "");
-Error('\p{ _Is:=AHex}');
-Error('\P{ _Is:=AHex}');
-Expect(1, 57, '\p{isahex}', "");
-Expect(0, 57, '\p{^isahex}', "");
-Expect(0, 57, '\P{isahex}', "");
-Expect(1, 57, '\P{^isahex}', "");
-Expect(0, 47, '\p{isahex}', "");
-Expect(1, 47, '\p{^isahex}', "");
-Expect(1, 47, '\P{isahex}', "");
-Expect(0, 47, '\P{^isahex}', "");
-Expect(1, 57, '\p{_IS AHEX}', "");
-Expect(0, 57, '\p{^_IS AHEX}', "");
-Expect(0, 57, '\P{_IS AHEX}', "");
-Expect(1, 57, '\P{^_IS AHEX}', "");
-Expect(0, 47, '\p{_IS AHEX}', "");
-Expect(1, 47, '\p{^_IS AHEX}', "");
-Expect(1, 47, '\P{_IS AHEX}', "");
-Expect(0, 47, '\P{^_IS AHEX}', "");
-Error('\p{/a/--rejang}');
-Error('\P{/a/--rejang}');
-Expect(1, 43347, '\p{rejang}', "");
-Expect(0, 43347, '\p{^rejang}', "");
-Expect(0, 43347, '\P{rejang}', "");
-Expect(1, 43347, '\P{^rejang}', "");
-Expect(0, 43311, '\p{rejang}', "");
-Expect(1, 43311, '\p{^rejang}', "");
-Expect(1, 43311, '\P{rejang}', "");
-Expect(0, 43311, '\P{^rejang}', "");
-Expect(1, 43347, '\p{ Rejang}', "");
-Expect(0, 43347, '\p{^ Rejang}', "");
-Expect(0, 43347, '\P{ Rejang}', "");
-Expect(1, 43347, '\P{^ Rejang}', "");
-Expect(0, 43311, '\p{ Rejang}', "");
-Expect(1, 43311, '\p{^ Rejang}', "");
-Expect(1, 43311, '\P{ Rejang}', "");
-Expect(0, 43311, '\P{^ Rejang}', "");
-Error('\p{ Is rejang:=}');
-Error('\P{ Is rejang:=}');
-Expect(1, 43347, '\p{isrejang}', "");
-Expect(0, 43347, '\p{^isrejang}', "");
-Expect(0, 43347, '\P{isrejang}', "");
-Expect(1, 43347, '\P{^isrejang}', "");
-Expect(0, 43311, '\p{isrejang}', "");
-Expect(1, 43311, '\p{^isrejang}', "");
-Expect(1, 43311, '\P{isrejang}', "");
-Expect(0, 43311, '\P{^isrejang}', "");
-Expect(1, 43347, '\p{ is_rejang}', "");
-Expect(0, 43347, '\p{^ is_rejang}', "");
-Expect(0, 43347, '\P{ is_rejang}', "");
-Expect(1, 43347, '\P{^ is_rejang}', "");
-Expect(0, 43311, '\p{ is_rejang}', "");
-Expect(1, 43311, '\p{^ is_rejang}', "");
-Expect(1, 43311, '\P{ is_rejang}', "");
-Expect(0, 43311, '\P{^ is_rejang}', "");
-Error('\p{/a/ Rjng}');
-Error('\P{/a/ Rjng}');
-Expect(1, 43347, '\p{rjng}', "");
-Expect(0, 43347, '\p{^rjng}', "");
-Expect(0, 43347, '\P{rjng}', "");
-Expect(1, 43347, '\P{^rjng}', "");
-Expect(0, 43311, '\p{rjng}', "");
-Expect(1, 43311, '\p{^rjng}', "");
-Expect(1, 43311, '\P{rjng}', "");
-Expect(0, 43311, '\P{^rjng}', "");
-Expect(1, 43347, '\p{ -RJNG}', "");
-Expect(0, 43347, '\p{^ -RJNG}', "");
-Expect(0, 43347, '\P{ -RJNG}', "");
-Expect(1, 43347, '\P{^ -RJNG}', "");
-Expect(0, 43311, '\p{ -RJNG}', "");
-Expect(1, 43311, '\p{^ -RJNG}', "");
-Expect(1, 43311, '\P{ -RJNG}', "");
-Expect(0, 43311, '\P{^ -RJNG}', "");
-Error('\p{ -IsRjng:=}');
-Error('\P{ -IsRjng:=}');
-Expect(1, 43347, '\p{isrjng}', "");
-Expect(0, 43347, '\p{^isrjng}', "");
-Expect(0, 43347, '\P{isrjng}', "");
-Expect(1, 43347, '\P{^isrjng}', "");
-Expect(0, 43311, '\p{isrjng}', "");
-Expect(1, 43311, '\p{^isrjng}', "");
-Expect(1, 43311, '\P{isrjng}', "");
-Expect(0, 43311, '\P{^isrjng}', "");
-Expect(1, 43347, '\p{__is Rjng}', "");
-Expect(0, 43347, '\p{^__is Rjng}', "");
-Expect(0, 43347, '\P{__is Rjng}', "");
-Expect(1, 43347, '\P{^__is Rjng}', "");
-Expect(0, 43311, '\p{__is Rjng}', "");
-Expect(1, 43311, '\p{^__is Rjng}', "");
-Expect(1, 43311, '\P{__is Rjng}', "");
-Expect(0, 43311, '\P{^__is Rjng}', "");
-Error('\p{ UNIFIED Canadian/a/ABORIGINALSyllabics extended}');
-Error('\P{ UNIFIED Canadian/a/ABORIGINALSyllabics extended}');
-Expect(1, 6399, '\p{unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^unifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(0, 6399, '\p{^_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(0, 6399, '\P{_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(1, 6399, '\P{^_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(0, 6319, '\p{_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(1, 6319, '\p{^_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(1, 6319, '\P{_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Expect(0, 6319, '\P{^_-unifiedCanadian-Aboriginalsyllabics_Extended}', "");
-Error('\p{ is:=UNIFIED canadian-ABORIGINAL Syllabics Extended}');
-Error('\P{ is:=UNIFIED canadian-ABORIGINAL Syllabics Extended}');
-Expect(1, 6399, '\p{isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^isunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(0, 6399, '\p{^_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(0, 6399, '\P{_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(1, 6399, '\P{^_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(0, 6319, '\p{_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(1, 6319, '\p{^_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(1, 6319, '\P{_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Expect(0, 6319, '\P{^_is Unified-Canadian Aboriginal SyllabicsExtended}', "");
-Error('\p{_-in:=Unified-Canadian aboriginal_Syllabics Extended}');
-Error('\P{_-in:=Unified-Canadian aboriginal_Syllabics Extended}');
-Expect(1, 6399, '\p{inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\p{^inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6399, '\P{inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\P{^inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\p{inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\p{^inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6319, '\P{inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(0, 6319, '\P{^inunifiedcanadianaboriginalsyllabicsextended}', "");
-Expect(1, 6399, '\p{- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(0, 6399, '\p{^- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(0, 6399, '\P{- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(1, 6399, '\P{^- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(0, 6319, '\p{- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(1, 6319, '\p{^- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(1, 6319, '\P{- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Expect(0, 6319, '\P{^- INUnifiedCanadian_Aboriginal Syllabics Extended}', "");
-Error('\p{-Glagolitic/a/}');
-Error('\P{-Glagolitic/a/}');
-Expect(1, 11310, '\p{glagolitic}', "");
-Expect(0, 11310, '\p{^glagolitic}', "");
-Expect(0, 11310, '\P{glagolitic}', "");
-Expect(1, 11310, '\P{^glagolitic}', "");
-Expect(0, 11263, '\p{glagolitic}', "");
-Expect(1, 11263, '\p{^glagolitic}', "");
-Expect(1, 11263, '\P{glagolitic}', "");
-Expect(0, 11263, '\P{^glagolitic}', "");
-Expect(1, 11310, '\p{_glagolitic}', "");
-Expect(0, 11310, '\p{^_glagolitic}', "");
-Expect(0, 11310, '\P{_glagolitic}', "");
-Expect(1, 11310, '\P{^_glagolitic}', "");
-Expect(0, 11263, '\p{_glagolitic}', "");
-Expect(1, 11263, '\p{^_glagolitic}', "");
-Expect(1, 11263, '\P{_glagolitic}', "");
-Expect(0, 11263, '\P{^_glagolitic}', "");
-Error('\p{ isGlagolitic/a/}');
-Error('\P{ isGlagolitic/a/}');
-Expect(1, 11310, '\p{isglagolitic}', "");
-Expect(0, 11310, '\p{^isglagolitic}', "");
-Expect(0, 11310, '\P{isglagolitic}', "");
-Expect(1, 11310, '\P{^isglagolitic}', "");
-Expect(0, 11263, '\p{isglagolitic}', "");
-Expect(1, 11263, '\p{^isglagolitic}', "");
-Expect(1, 11263, '\P{isglagolitic}', "");
-Expect(0, 11263, '\P{^isglagolitic}', "");
-Expect(1, 11310, '\p{ _is GLAGOLITIC}', "");
-Expect(0, 11310, '\p{^ _is GLAGOLITIC}', "");
-Expect(0, 11310, '\P{ _is GLAGOLITIC}', "");
-Expect(1, 11310, '\P{^ _is GLAGOLITIC}', "");
-Expect(0, 11263, '\p{ _is GLAGOLITIC}', "");
-Expect(1, 11263, '\p{^ _is GLAGOLITIC}', "");
-Expect(1, 11263, '\P{ _is GLAGOLITIC}', "");
-Expect(0, 11263, '\P{^ _is GLAGOLITIC}', "");
-Error('\p{ :=Glag}');
-Error('\P{ :=Glag}');
-Expect(1, 11310, '\p{glag}', "");
-Expect(0, 11310, '\p{^glag}', "");
-Expect(0, 11310, '\P{glag}', "");
-Expect(1, 11310, '\P{^glag}', "");
-Expect(0, 11263, '\p{glag}', "");
-Expect(1, 11263, '\p{^glag}', "");
-Expect(1, 11263, '\P{glag}', "");
-Expect(0, 11263, '\P{^glag}', "");
-Expect(1, 11310, '\p{ _Glag}', "");
-Expect(0, 11310, '\p{^ _Glag}', "");
-Expect(0, 11310, '\P{ _Glag}', "");
-Expect(1, 11310, '\P{^ _Glag}', "");
-Expect(0, 11263, '\p{ _Glag}', "");
-Expect(1, 11263, '\p{^ _Glag}', "");
-Expect(1, 11263, '\P{ _Glag}', "");
-Expect(0, 11263, '\P{^ _Glag}', "");
-Error('\p{ ISGlag:=}');
-Error('\P{ ISGlag:=}');
-Expect(1, 11310, '\p{isglag}', "");
-Expect(0, 11310, '\p{^isglag}', "");
-Expect(0, 11310, '\P{isglag}', "");
-Expect(1, 11310, '\P{^isglag}', "");
-Expect(0, 11263, '\p{isglag}', "");
-Expect(1, 11263, '\p{^isglag}', "");
-Expect(1, 11263, '\P{isglag}', "");
-Expect(0, 11263, '\P{^isglag}', "");
-Expect(1, 11310, '\p{ Is GLAG}', "");
-Expect(0, 11310, '\p{^ Is GLAG}', "");
-Expect(0, 11310, '\P{ Is GLAG}', "");
-Expect(1, 11310, '\P{^ Is GLAG}', "");
-Expect(0, 11263, '\p{ Is GLAG}', "");
-Expect(1, 11263, '\p{^ Is GLAG}', "");
-Expect(1, 11263, '\P{ Is GLAG}', "");
-Expect(0, 11263, '\P{^ Is GLAG}', "");
-Error('\p{ In OL/a/Chiki}');
-Error('\P{ In OL/a/Chiki}');
-Expect(1, 7295, '\p{inolchiki}', "");
-Expect(0, 7295, '\p{^inolchiki}', "");
-Expect(0, 7295, '\P{inolchiki}', "");
-Expect(1, 7295, '\P{^inolchiki}', "");
-Expect(0, 7247, '\p{inolchiki}', "");
-Expect(1, 7247, '\p{^inolchiki}', "");
-Expect(1, 7247, '\P{inolchiki}', "");
-Expect(0, 7247, '\P{^inolchiki}', "");
-Expect(1, 7295, '\p{- in-ol-CHIKI}', "");
-Expect(0, 7295, '\p{^- in-ol-CHIKI}', "");
-Expect(0, 7295, '\P{- in-ol-CHIKI}', "");
-Expect(1, 7295, '\P{^- in-ol-CHIKI}', "");
-Expect(0, 7247, '\p{- in-ol-CHIKI}', "");
-Expect(1, 7247, '\p{^- in-ol-CHIKI}', "");
-Expect(1, 7247, '\P{- in-ol-CHIKI}', "");
-Expect(0, 7247, '\P{^- in-ol-CHIKI}', "");
-Error('\p{:=CJK_Strokes}');
-Error('\P{:=CJK_Strokes}');
-Expect(1, 12783, '\p{cjkstrokes}', "");
-Expect(0, 12783, '\p{^cjkstrokes}', "");
-Expect(0, 12783, '\P{cjkstrokes}', "");
-Expect(1, 12783, '\P{^cjkstrokes}', "");
-Expect(0, 12735, '\p{cjkstrokes}', "");
-Expect(1, 12735, '\p{^cjkstrokes}', "");
-Expect(1, 12735, '\P{cjkstrokes}', "");
-Expect(0, 12735, '\P{^cjkstrokes}', "");
-Expect(1, 12783, '\p{ CJK-Strokes}', "");
-Expect(0, 12783, '\p{^ CJK-Strokes}', "");
-Expect(0, 12783, '\P{ CJK-Strokes}', "");
-Expect(1, 12783, '\P{^ CJK-Strokes}', "");
-Expect(0, 12735, '\p{ CJK-Strokes}', "");
-Expect(1, 12735, '\p{^ CJK-Strokes}', "");
-Expect(1, 12735, '\P{ CJK-Strokes}', "");
-Expect(0, 12735, '\P{^ CJK-Strokes}', "");
-Error('\p{ IsCJKstrokes:=}');
-Error('\P{ IsCJKstrokes:=}');
-Expect(1, 12783, '\p{iscjkstrokes}', "");
-Expect(0, 12783, '\p{^iscjkstrokes}', "");
-Expect(0, 12783, '\P{iscjkstrokes}', "");
-Expect(1, 12783, '\P{^iscjkstrokes}', "");
-Expect(0, 12735, '\p{iscjkstrokes}', "");
-Expect(1, 12735, '\p{^iscjkstrokes}', "");
-Expect(1, 12735, '\P{iscjkstrokes}', "");
-Expect(0, 12735, '\P{^iscjkstrokes}', "");
-Expect(1, 12783, '\p{ Is_cjk_STROKES}', "");
-Expect(0, 12783, '\p{^ Is_cjk_STROKES}', "");
-Expect(0, 12783, '\P{ Is_cjk_STROKES}', "");
-Expect(1, 12783, '\P{^ Is_cjk_STROKES}', "");
-Expect(0, 12735, '\p{ Is_cjk_STROKES}', "");
-Expect(1, 12735, '\p{^ Is_cjk_STROKES}', "");
-Expect(1, 12735, '\P{ Is_cjk_STROKES}', "");
-Expect(0, 12735, '\P{^ Is_cjk_STROKES}', "");
-Error('\p{ in_CJK/a/Strokes}');
-Error('\P{ in_CJK/a/Strokes}');
-Expect(1, 12783, '\p{incjkstrokes}', "");
-Expect(0, 12783, '\p{^incjkstrokes}', "");
-Expect(0, 12783, '\P{incjkstrokes}', "");
-Expect(1, 12783, '\P{^incjkstrokes}', "");
-Expect(0, 12735, '\p{incjkstrokes}', "");
-Expect(1, 12735, '\p{^incjkstrokes}', "");
-Expect(1, 12735, '\P{incjkstrokes}', "");
-Expect(0, 12735, '\P{^incjkstrokes}', "");
-Expect(1, 12783, '\p{ In cjk_Strokes}', "");
-Expect(0, 12783, '\p{^ In cjk_Strokes}', "");
-Expect(0, 12783, '\P{ In cjk_Strokes}', "");
-Expect(1, 12783, '\P{^ In cjk_Strokes}', "");
-Expect(0, 12735, '\p{ In cjk_Strokes}', "");
-Expect(1, 12735, '\p{^ In cjk_Strokes}', "");
-Expect(1, 12735, '\P{ In cjk_Strokes}', "");
-Expect(0, 12735, '\P{^ In cjk_Strokes}', "");
-Error('\p{_ SINHALA:=}');
-Error('\P{_ SINHALA:=}');
-Expect(1, 3459, '\p{sinhala}', "");
-Expect(0, 3459, '\p{^sinhala}', "");
-Expect(0, 3459, '\P{sinhala}', "");
-Expect(1, 3459, '\P{^sinhala}', "");
-Expect(0, 3457, '\p{sinhala}', "");
-Expect(1, 3457, '\p{^sinhala}', "");
-Expect(1, 3457, '\P{sinhala}', "");
-Expect(0, 3457, '\P{^sinhala}', "");
-Expect(1, 3459, '\p{-_Sinhala}', "");
-Expect(0, 3459, '\p{^-_Sinhala}', "");
-Expect(0, 3459, '\P{-_Sinhala}', "");
-Expect(1, 3459, '\P{^-_Sinhala}', "");
-Expect(0, 3457, '\p{-_Sinhala}', "");
-Expect(1, 3457, '\p{^-_Sinhala}', "");
-Expect(1, 3457, '\P{-_Sinhala}', "");
-Expect(0, 3457, '\P{^-_Sinhala}', "");
-Error('\p{/a/_ IsSinhala}');
-Error('\P{/a/_ IsSinhala}');
-Expect(1, 3459, '\p{issinhala}', "");
-Expect(0, 3459, '\p{^issinhala}', "");
-Expect(0, 3459, '\P{issinhala}', "");
-Expect(1, 3459, '\P{^issinhala}', "");
-Expect(0, 3457, '\p{issinhala}', "");
-Expect(1, 3457, '\p{^issinhala}', "");
-Expect(1, 3457, '\P{issinhala}', "");
-Expect(0, 3457, '\P{^issinhala}', "");
-Expect(1, 3459, '\p{ _IS sinhala}', "");
-Expect(0, 3459, '\p{^ _IS sinhala}', "");
-Expect(0, 3459, '\P{ _IS sinhala}', "");
-Expect(1, 3459, '\P{^ _IS sinhala}', "");
-Expect(0, 3457, '\p{ _IS sinhala}', "");
-Expect(1, 3457, '\p{^ _IS sinhala}', "");
-Expect(1, 3457, '\P{ _IS sinhala}', "");
-Expect(0, 3457, '\P{^ _IS sinhala}', "");
-Error('\p{:= _Sinh}');
-Error('\P{:= _Sinh}');
-Expect(1, 3459, '\p{sinh}', "");
-Expect(0, 3459, '\p{^sinh}', "");
-Expect(0, 3459, '\P{sinh}', "");
-Expect(1, 3459, '\P{^sinh}', "");
-Expect(0, 3457, '\p{sinh}', "");
-Expect(1, 3457, '\p{^sinh}', "");
-Expect(1, 3457, '\P{sinh}', "");
-Expect(0, 3457, '\P{^sinh}', "");
-Expect(1, 3459, '\p{- Sinh}', "");
-Expect(0, 3459, '\p{^- Sinh}', "");
-Expect(0, 3459, '\P{- Sinh}', "");
-Expect(1, 3459, '\P{^- Sinh}', "");
-Expect(0, 3457, '\p{- Sinh}', "");
-Expect(1, 3457, '\p{^- Sinh}', "");
-Expect(1, 3457, '\P{- Sinh}', "");
-Expect(0, 3457, '\P{^- Sinh}', "");
-Error('\p{-_Is:=SINH}');
-Error('\P{-_Is:=SINH}');
-Expect(1, 3459, '\p{issinh}', "");
-Expect(0, 3459, '\p{^issinh}', "");
-Expect(0, 3459, '\P{issinh}', "");
-Expect(1, 3459, '\P{^issinh}', "");
-Expect(0, 3457, '\p{issinh}', "");
-Expect(1, 3457, '\p{^issinh}', "");
-Expect(1, 3457, '\P{issinh}', "");
-Expect(0, 3457, '\P{^issinh}', "");
-Expect(1, 3459, '\p{ _IS-Sinh}', "");
-Expect(0, 3459, '\p{^ _IS-Sinh}', "");
-Expect(0, 3459, '\P{ _IS-Sinh}', "");
-Expect(1, 3459, '\P{^ _IS-Sinh}', "");
-Expect(0, 3457, '\p{ _IS-Sinh}', "");
-Expect(1, 3457, '\p{^ _IS-Sinh}', "");
-Expect(1, 3457, '\P{ _IS-Sinh}', "");
-Expect(0, 3457, '\P{^ _IS-Sinh}', "");
-Error('\p{ /a/ugaritic}');
-Error('\P{ /a/ugaritic}');
-Expect(1, 66461, '\p{ugaritic}', "");
-Expect(0, 66461, '\p{^ugaritic}', "");
-Expect(0, 66461, '\P{ugaritic}', "");
-Expect(1, 66461, '\P{^ugaritic}', "");
-Expect(0, 66431, '\p{ugaritic}', "");
-Expect(1, 66431, '\p{^ugaritic}', "");
-Expect(1, 66431, '\P{ugaritic}', "");
-Expect(0, 66431, '\P{^ugaritic}', "");
-Expect(1, 66461, '\p{__Ugaritic}', "");
-Expect(0, 66461, '\p{^__Ugaritic}', "");
-Expect(0, 66461, '\P{__Ugaritic}', "");
-Expect(1, 66461, '\P{^__Ugaritic}', "");
-Expect(0, 66431, '\p{__Ugaritic}', "");
-Expect(1, 66431, '\p{^__Ugaritic}', "");
-Expect(1, 66431, '\P{__Ugaritic}', "");
-Expect(0, 66431, '\P{^__Ugaritic}', "");
-Error('\p{/a/Is-ugaritic}');
-Error('\P{/a/Is-ugaritic}');
-Expect(1, 66461, '\p{isugaritic}', "");
-Expect(0, 66461, '\p{^isugaritic}', "");
-Expect(0, 66461, '\P{isugaritic}', "");
-Expect(1, 66461, '\P{^isugaritic}', "");
-Expect(0, 66431, '\p{isugaritic}', "");
-Expect(1, 66431, '\p{^isugaritic}', "");
-Expect(1, 66431, '\P{isugaritic}', "");
-Expect(0, 66431, '\P{^isugaritic}', "");
-Expect(1, 66461, '\p{Is ugaritic}', "");
-Expect(0, 66461, '\p{^Is ugaritic}', "");
-Expect(0, 66461, '\P{Is ugaritic}', "");
-Expect(1, 66461, '\P{^Is ugaritic}', "");
-Expect(0, 66431, '\p{Is ugaritic}', "");
-Expect(1, 66431, '\p{^Is ugaritic}', "");
-Expect(1, 66431, '\P{Is ugaritic}', "");
-Expect(0, 66431, '\P{^Is ugaritic}', "");
-Error('\p{_:=ugar}');
-Error('\P{_:=ugar}');
-Expect(1, 66461, '\p{ugar}', "");
-Expect(0, 66461, '\p{^ugar}', "");
-Expect(0, 66461, '\P{ugar}', "");
-Expect(1, 66461, '\P{^ugar}', "");
-Expect(0, 66431, '\p{ugar}', "");
-Expect(1, 66431, '\p{^ugar}', "");
-Expect(1, 66431, '\P{ugar}', "");
-Expect(0, 66431, '\P{^ugar}', "");
-Expect(1, 66461, '\p{_ UGAR}', "");
-Expect(0, 66461, '\p{^_ UGAR}', "");
-Expect(0, 66461, '\P{_ UGAR}', "");
-Expect(1, 66461, '\P{^_ UGAR}', "");
-Expect(0, 66431, '\p{_ UGAR}', "");
-Expect(1, 66431, '\p{^_ UGAR}', "");
-Expect(1, 66431, '\P{_ UGAR}', "");
-Expect(0, 66431, '\P{^_ UGAR}', "");
-Error('\p{ :=Is UGAR}');
-Error('\P{ :=Is UGAR}');
-Expect(1, 66461, '\p{isugar}', "");
-Expect(0, 66461, '\p{^isugar}', "");
-Expect(0, 66461, '\P{isugar}', "");
-Expect(1, 66461, '\P{^isugar}', "");
-Expect(0, 66431, '\p{isugar}', "");
-Expect(1, 66431, '\p{^isugar}', "");
-Expect(1, 66431, '\P{isugar}', "");
-Expect(0, 66431, '\P{^isugar}', "");
-Expect(1, 66461, '\p{ _is UGAR}', "");
-Expect(0, 66461, '\p{^ _is UGAR}', "");
-Expect(0, 66461, '\P{ _is UGAR}', "");
-Expect(1, 66461, '\P{^ _is UGAR}', "");
-Expect(0, 66431, '\p{ _is UGAR}', "");
-Expect(1, 66431, '\p{^ _is UGAR}', "");
-Expect(1, 66431, '\P{ _is UGAR}', "");
-Expect(0, 66431, '\P{^ _is UGAR}', "");
-Error('\p{ -ogham:=}');
-Error('\P{ -ogham:=}');
-Expect(1, 5788, '\p{ogham}', "");
-Expect(0, 5788, '\p{^ogham}', "");
-Expect(0, 5788, '\P{ogham}', "");
-Expect(1, 5788, '\P{^ogham}', "");
-Expect(0, 5759, '\p{ogham}', "");
-Expect(1, 5759, '\p{^ogham}', "");
-Expect(1, 5759, '\P{ogham}', "");
-Expect(0, 5759, '\P{^ogham}', "");
-Expect(1, 5788, '\p{ Ogham}', "");
-Expect(0, 5788, '\p{^ Ogham}', "");
-Expect(0, 5788, '\P{ Ogham}', "");
-Expect(1, 5788, '\P{^ Ogham}', "");
-Expect(0, 5759, '\p{ Ogham}', "");
-Expect(1, 5759, '\p{^ Ogham}', "");
-Expect(1, 5759, '\P{ Ogham}', "");
-Expect(0, 5759, '\P{^ Ogham}', "");
-Error('\p{/a/ _IsOgham}');
-Error('\P{/a/ _IsOgham}');
-Expect(1, 5788, '\p{isogham}', "");
-Expect(0, 5788, '\p{^isogham}', "");
-Expect(0, 5788, '\P{isogham}', "");
-Expect(1, 5788, '\P{^isogham}', "");
-Expect(0, 5759, '\p{isogham}', "");
-Expect(1, 5759, '\p{^isogham}', "");
-Expect(1, 5759, '\P{isogham}', "");
-Expect(0, 5759, '\P{^isogham}', "");
-Expect(1, 5788, '\p{-_isOgham}', "");
-Expect(0, 5788, '\p{^-_isOgham}', "");
-Expect(0, 5788, '\P{-_isOgham}', "");
-Expect(1, 5788, '\P{^-_isOgham}', "");
-Expect(0, 5759, '\p{-_isOgham}', "");
-Expect(1, 5759, '\p{^-_isOgham}', "");
-Expect(1, 5759, '\P{-_isOgham}', "");
-Expect(0, 5759, '\P{^-_isOgham}', "");
-Error('\p{/a/ ogam}');
-Error('\P{/a/ ogam}');
-Expect(1, 5788, '\p{ogam}', "");
-Expect(0, 5788, '\p{^ogam}', "");
-Expect(0, 5788, '\P{ogam}', "");
-Expect(1, 5788, '\P{^ogam}', "");
-Expect(0, 5759, '\p{ogam}', "");
-Expect(1, 5759, '\p{^ogam}', "");
-Expect(1, 5759, '\P{ogam}', "");
-Expect(0, 5759, '\P{^ogam}', "");
-Expect(1, 5788, '\p{- Ogam}', "");
-Expect(0, 5788, '\p{^- Ogam}', "");
-Expect(0, 5788, '\P{- Ogam}', "");
-Expect(1, 5788, '\P{^- Ogam}', "");
-Expect(0, 5759, '\p{- Ogam}', "");
-Expect(1, 5759, '\p{^- Ogam}', "");
-Expect(1, 5759, '\P{- Ogam}', "");
-Expect(0, 5759, '\P{^- Ogam}', "");
-Error('\p{ /a/Is_Ogam}');
-Error('\P{ /a/Is_Ogam}');
-Expect(1, 5788, '\p{isogam}', "");
-Expect(0, 5788, '\p{^isogam}', "");
-Expect(0, 5788, '\P{isogam}', "");
-Expect(1, 5788, '\P{^isogam}', "");
-Expect(0, 5759, '\p{isogam}', "");
-Expect(1, 5759, '\p{^isogam}', "");
-Expect(1, 5759, '\P{isogam}', "");
-Expect(0, 5759, '\P{^isogam}', "");
-Expect(1, 5788, '\p{ Is OGAM}', "");
-Expect(0, 5788, '\p{^ Is OGAM}', "");
-Expect(0, 5788, '\P{ Is OGAM}', "");
-Expect(1, 5788, '\P{^ Is OGAM}', "");
-Expect(0, 5759, '\p{ Is OGAM}', "");
-Expect(1, 5759, '\p{^ Is OGAM}', "");
-Expect(1, 5759, '\P{ Is OGAM}', "");
-Expect(0, 5759, '\P{^ Is OGAM}', "");
-Error('\p{ -bengali/a/}');
-Error('\P{ -bengali/a/}');
-Expect(1, 2435, '\p{bengali}', "");
-Expect(0, 2435, '\p{^bengali}', "");
-Expect(0, 2435, '\P{bengali}', "");
-Expect(1, 2435, '\P{^bengali}', "");
-Expect(0, 2432, '\p{bengali}', "");
-Expect(1, 2432, '\p{^bengali}', "");
-Expect(1, 2432, '\P{bengali}', "");
-Expect(0, 2432, '\P{^bengali}', "");
-Expect(1, 2435, '\p{Bengali}', "");
-Expect(0, 2435, '\p{^Bengali}', "");
-Expect(0, 2435, '\P{Bengali}', "");
-Expect(1, 2435, '\P{^Bengali}', "");
-Expect(0, 2432, '\p{Bengali}', "");
-Expect(1, 2432, '\p{^Bengali}', "");
-Expect(1, 2432, '\P{Bengali}', "");
-Expect(0, 2432, '\P{^Bengali}', "");
-Error('\p{ _Is:=Bengali}');
-Error('\P{ _Is:=Bengali}');
-Expect(1, 2435, '\p{isbengali}', "");
-Expect(0, 2435, '\p{^isbengali}', "");
-Expect(0, 2435, '\P{isbengali}', "");
-Expect(1, 2435, '\P{^isbengali}', "");
-Expect(0, 2432, '\p{isbengali}', "");
-Expect(1, 2432, '\p{^isbengali}', "");
-Expect(1, 2432, '\P{isbengali}', "");
-Expect(0, 2432, '\P{^isbengali}', "");
-Expect(1, 2435, '\p{ -Is BENGALI}', "");
-Expect(0, 2435, '\p{^ -Is BENGALI}', "");
-Expect(0, 2435, '\P{ -Is BENGALI}', "");
-Expect(1, 2435, '\P{^ -Is BENGALI}', "");
-Expect(0, 2432, '\p{ -Is BENGALI}', "");
-Expect(1, 2432, '\p{^ -Is BENGALI}', "");
-Expect(1, 2432, '\P{ -Is BENGALI}', "");
-Expect(0, 2432, '\P{^ -Is BENGALI}', "");
-Error('\p{- BENG:=}');
-Error('\P{- BENG:=}');
-Expect(1, 2435, '\p{beng}', "");
-Expect(0, 2435, '\p{^beng}', "");
-Expect(0, 2435, '\P{beng}', "");
-Expect(1, 2435, '\P{^beng}', "");
-Expect(0, 2432, '\p{beng}', "");
-Expect(1, 2432, '\p{^beng}', "");
-Expect(1, 2432, '\P{beng}', "");
-Expect(0, 2432, '\P{^beng}', "");
-Expect(1, 2435, '\p{ BENG}', "");
-Expect(0, 2435, '\p{^ BENG}', "");
-Expect(0, 2435, '\P{ BENG}', "");
-Expect(1, 2435, '\P{^ BENG}', "");
-Expect(0, 2432, '\p{ BENG}', "");
-Expect(1, 2432, '\p{^ BENG}', "");
-Expect(1, 2432, '\P{ BENG}', "");
-Expect(0, 2432, '\P{^ BENG}', "");
-Error('\p{:=IS BENG}');
-Error('\P{:=IS BENG}');
-Expect(1, 2435, '\p{isbeng}', "");
-Expect(0, 2435, '\p{^isbeng}', "");
-Expect(0, 2435, '\P{isbeng}', "");
-Expect(1, 2435, '\P{^isbeng}', "");
-Expect(0, 2432, '\p{isbeng}', "");
-Expect(1, 2432, '\p{^isbeng}', "");
-Expect(1, 2432, '\P{isbeng}', "");
-Expect(0, 2432, '\P{^isbeng}', "");
-Expect(1, 2435, '\p{ is_BENG}', "");
-Expect(0, 2435, '\p{^ is_BENG}', "");
-Expect(0, 2435, '\P{ is_BENG}', "");
-Expect(1, 2435, '\P{^ is_BENG}', "");
-Expect(0, 2432, '\p{ is_BENG}', "");
-Expect(1, 2432, '\p{^ is_BENG}', "");
-Expect(1, 2432, '\P{ is_BENG}', "");
-Expect(0, 2432, '\P{^ is_BENG}', "");
-Error('\p{/a/_-DIACRITIC}');
-Error('\P{/a/_-DIACRITIC}');
-Expect(1, 94, '\p{diacritic}', "");
-Expect(0, 94, '\p{^diacritic}', "");
-Expect(0, 94, '\P{diacritic}', "");
-Expect(1, 94, '\P{^diacritic}', "");
-Expect(0, 93, '\p{diacritic}', "");
-Expect(1, 93, '\p{^diacritic}', "");
-Expect(1, 93, '\P{diacritic}', "");
-Expect(0, 93, '\P{^diacritic}', "");
-Expect(1, 94, '\p{_ diacritic}', "");
-Expect(0, 94, '\p{^_ diacritic}', "");
-Expect(0, 94, '\P{_ diacritic}', "");
-Expect(1, 94, '\P{^_ diacritic}', "");
-Expect(0, 93, '\p{_ diacritic}', "");
-Expect(1, 93, '\p{^_ diacritic}', "");
-Expect(1, 93, '\P{_ diacritic}', "");
-Expect(0, 93, '\P{^_ diacritic}', "");
-Error('\p{/a/is Diacritic}');
-Error('\P{/a/is Diacritic}');
-Expect(1, 94, '\p{isdiacritic}', "");
-Expect(0, 94, '\p{^isdiacritic}', "");
-Expect(0, 94, '\P{isdiacritic}', "");
-Expect(1, 94, '\P{^isdiacritic}', "");
-Expect(0, 93, '\p{isdiacritic}', "");
-Expect(1, 93, '\p{^isdiacritic}', "");
-Expect(1, 93, '\P{isdiacritic}', "");
-Expect(0, 93, '\P{^isdiacritic}', "");
-Expect(1, 94, '\p{-_is_Diacritic}', "");
-Expect(0, 94, '\p{^-_is_Diacritic}', "");
-Expect(0, 94, '\P{-_is_Diacritic}', "");
-Expect(1, 94, '\P{^-_is_Diacritic}', "");
-Expect(0, 93, '\p{-_is_Diacritic}', "");
-Expect(1, 93, '\p{^-_is_Diacritic}', "");
-Expect(1, 93, '\P{-_is_Diacritic}', "");
-Expect(0, 93, '\P{^-_is_Diacritic}', "");
-Error('\p{ :=Dia}');
-Error('\P{ :=Dia}');
-Expect(1, 94, '\p{dia}', "");
-Expect(0, 94, '\p{^dia}', "");
-Expect(0, 94, '\P{dia}', "");
-Expect(1, 94, '\P{^dia}', "");
-Expect(0, 93, '\p{dia}', "");
-Expect(1, 93, '\p{^dia}', "");
-Expect(1, 93, '\P{dia}', "");
-Expect(0, 93, '\P{^dia}', "");
-Expect(1, 94, '\p{- Dia}', "");
-Expect(0, 94, '\p{^- Dia}', "");
-Expect(0, 94, '\P{- Dia}', "");
-Expect(1, 94, '\P{^- Dia}', "");
-Expect(0, 93, '\p{- Dia}', "");
-Expect(1, 93, '\p{^- Dia}', "");
-Expect(1, 93, '\P{- Dia}', "");
-Expect(0, 93, '\P{^- Dia}', "");
-Error('\p{_/a/IS DIA}');
-Error('\P{_/a/IS DIA}');
-Expect(1, 94, '\p{isdia}', "");
-Expect(0, 94, '\p{^isdia}', "");
-Expect(0, 94, '\P{isdia}', "");
-Expect(1, 94, '\P{^isdia}', "");
-Expect(0, 93, '\p{isdia}', "");
-Expect(1, 93, '\p{^isdia}', "");
-Expect(1, 93, '\P{isdia}', "");
-Expect(0, 93, '\P{^isdia}', "");
-Expect(1, 94, '\p{__is Dia}', "");
-Expect(0, 94, '\p{^__is Dia}', "");
-Expect(0, 94, '\P{__is Dia}', "");
-Expect(1, 94, '\P{^__is Dia}', "");
-Expect(0, 93, '\p{__is Dia}', "");
-Expect(1, 93, '\p{^__is Dia}', "");
-Expect(1, 93, '\P{__is Dia}', "");
-Expect(0, 93, '\P{^__is Dia}', "");
-Error('\p{ _lowercase letter:=}');
-Error('\P{ _lowercase letter:=}');
-Expect(1, 122, '\p{lowercaseletter}', "");
-Expect(0, 122, '\p{^lowercaseletter}', "");
-Expect(0, 122, '\P{lowercaseletter}', "");
-Expect(1, 122, '\P{^lowercaseletter}', "");
-Expect(0, 96, '\p{lowercaseletter}', "");
-Expect(1, 96, '\p{^lowercaseletter}', "");
-Expect(1, 96, '\P{lowercaseletter}', "");
-Expect(0, 96, '\P{^lowercaseletter}', "");
-Expect(1, 122, '\p{ -LOWERCASE LETTER}', "");
-Expect(0, 122, '\p{^ -LOWERCASE LETTER}', "");
-Expect(0, 122, '\P{ -LOWERCASE LETTER}', "");
-Expect(1, 122, '\P{^ -LOWERCASE LETTER}', "");
-Expect(0, 96, '\p{ -LOWERCASE LETTER}', "");
-Expect(1, 96, '\p{^ -LOWERCASE LETTER}', "");
-Expect(1, 96, '\P{ -LOWERCASE LETTER}', "");
-Expect(0, 96, '\P{^ -LOWERCASE LETTER}', "");
-Error('\p{ -Is LowercaseLETTER:=}');
-Error('\P{ -Is LowercaseLETTER:=}');
-Expect(1, 122, '\p{islowercaseletter}', "");
-Expect(0, 122, '\p{^islowercaseletter}', "");
-Expect(0, 122, '\P{islowercaseletter}', "");
-Expect(1, 122, '\P{^islowercaseletter}', "");
-Expect(0, 96, '\p{islowercaseletter}', "");
-Expect(1, 96, '\p{^islowercaseletter}', "");
-Expect(1, 96, '\P{islowercaseletter}', "");
-Expect(0, 96, '\P{^islowercaseletter}', "");
-Expect(1, 122, '\p{-_isLowercase-letter}', "");
-Expect(0, 122, '\p{^-_isLowercase-letter}', "");
-Expect(0, 122, '\P{-_isLowercase-letter}', "");
-Expect(1, 122, '\P{^-_isLowercase-letter}', "");
-Expect(0, 96, '\p{-_isLowercase-letter}', "");
-Expect(1, 96, '\p{^-_isLowercase-letter}', "");
-Expect(1, 96, '\P{-_isLowercase-letter}', "");
-Expect(0, 96, '\P{^-_isLowercase-letter}', "");
-Error('\p{/a/--LL}');
-Error('\P{/a/--LL}');
-Expect(1, 122, '\p{ll}', "");
-Expect(0, 122, '\p{^ll}', "");
-Expect(0, 122, '\P{ll}', "");
-Expect(1, 122, '\P{^ll}', "");
-Expect(0, 96, '\p{ll}', "");
-Expect(1, 96, '\p{^ll}', "");
-Expect(1, 96, '\P{ll}', "");
-Expect(0, 96, '\P{^ll}', "");
-Expect(1, 122, '\p{ Ll}', "");
-Expect(0, 122, '\p{^ Ll}', "");
-Expect(0, 122, '\P{ Ll}', "");
-Expect(1, 122, '\P{^ Ll}', "");
-Expect(0, 96, '\p{ Ll}', "");
-Expect(1, 96, '\p{^ Ll}', "");
-Expect(1, 96, '\P{ Ll}', "");
-Expect(0, 96, '\P{^ Ll}', "");
-Error('\p{ is/a/Ll}');
-Error('\P{ is/a/Ll}');
-Expect(1, 122, '\p{isll}', "");
-Expect(0, 122, '\p{^isll}', "");
-Expect(0, 122, '\P{isll}', "");
-Expect(1, 122, '\P{^isll}', "");
-Expect(0, 96, '\p{isll}', "");
-Expect(1, 96, '\p{^isll}', "");
-Expect(1, 96, '\P{isll}', "");
-Expect(0, 96, '\P{^isll}', "");
-Expect(1, 122, '\p{ IS_LL}', "");
-Expect(0, 122, '\p{^ IS_LL}', "");
-Expect(0, 122, '\P{ IS_LL}', "");
-Expect(1, 122, '\P{^ IS_LL}', "");
-Expect(0, 96, '\p{ IS_LL}', "");
-Expect(1, 96, '\p{^ IS_LL}', "");
-Expect(1, 96, '\P{ IS_LL}', "");
-Expect(0, 96, '\P{^ IS_LL}', "");
-Error('\p{_ hangul_Compatibility-jamo/a/}');
-Error('\P{_ hangul_Compatibility-jamo/a/}');
-Expect(1, 12687, '\p{hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^hangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^hangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{hangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^hangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{ hangul Compatibility JAMO}', "");
-Expect(0, 12687, '\p{^ hangul Compatibility JAMO}', "");
-Expect(0, 12687, '\P{ hangul Compatibility JAMO}', "");
-Expect(1, 12687, '\P{^ hangul Compatibility JAMO}', "");
-Expect(0, 12591, '\p{ hangul Compatibility JAMO}', "");
-Expect(1, 12591, '\p{^ hangul Compatibility JAMO}', "");
-Expect(1, 12591, '\P{ hangul Compatibility JAMO}', "");
-Expect(0, 12591, '\P{^ hangul Compatibility JAMO}', "");
-Error('\p{- IS:=hangul-COMPATIBILITY-Jamo}');
-Error('\P{- IS:=hangul-COMPATIBILITY-Jamo}');
-Expect(1, 12687, '\p{ishangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^ishangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{ishangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^ishangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{ishangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^ishangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{ishangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^ishangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{__is-HangulCompatibility-jamo}', "");
-Expect(0, 12687, '\p{^__is-HangulCompatibility-jamo}', "");
-Expect(0, 12687, '\P{__is-HangulCompatibility-jamo}', "");
-Expect(1, 12687, '\P{^__is-HangulCompatibility-jamo}', "");
-Expect(0, 12591, '\p{__is-HangulCompatibility-jamo}', "");
-Expect(1, 12591, '\p{^__is-HangulCompatibility-jamo}', "");
-Expect(1, 12591, '\P{__is-HangulCompatibility-jamo}', "");
-Expect(0, 12591, '\P{^__is-HangulCompatibility-jamo}', "");
-Error('\p{ /a/In-HANGUL_Compatibility-jamo}');
-Error('\P{ /a/In-HANGUL_Compatibility-jamo}');
-Expect(1, 12687, '\p{inhangulcompatibilityjamo}', "");
-Expect(0, 12687, '\p{^inhangulcompatibilityjamo}', "");
-Expect(0, 12687, '\P{inhangulcompatibilityjamo}', "");
-Expect(1, 12687, '\P{^inhangulcompatibilityjamo}', "");
-Expect(0, 12591, '\p{inhangulcompatibilityjamo}', "");
-Expect(1, 12591, '\p{^inhangulcompatibilityjamo}', "");
-Expect(1, 12591, '\P{inhangulcompatibilityjamo}', "");
-Expect(0, 12591, '\P{^inhangulcompatibilityjamo}', "");
-Expect(1, 12687, '\p{_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(0, 12687, '\p{^_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(0, 12687, '\P{_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(1, 12687, '\P{^_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(0, 12591, '\p{_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(1, 12591, '\p{^_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(1, 12591, '\P{_ In_Hangul COMPATIBILITY Jamo}', "");
-Expect(0, 12591, '\P{^_ In_Hangul COMPATIBILITY Jamo}', "");
-Error('\p{-Musical/a/Symbols}');
-Error('\P{-Musical/a/Symbols}');
-Expect(1, 119295, '\p{musicalsymbols}', "");
-Expect(0, 119295, '\p{^musicalsymbols}', "");
-Expect(0, 119295, '\P{musicalsymbols}', "");
-Expect(1, 119295, '\P{^musicalsymbols}', "");
-Expect(0, 119039, '\p{musicalsymbols}', "");
-Expect(1, 119039, '\p{^musicalsymbols}', "");
-Expect(1, 119039, '\P{musicalsymbols}', "");
-Expect(0, 119039, '\P{^musicalsymbols}', "");
-Expect(1, 119295, '\p{ Musical_SYMBOLS}', "");
-Expect(0, 119295, '\p{^ Musical_SYMBOLS}', "");
-Expect(0, 119295, '\P{ Musical_SYMBOLS}', "");
-Expect(1, 119295, '\P{^ Musical_SYMBOLS}', "");
-Expect(0, 119039, '\p{ Musical_SYMBOLS}', "");
-Expect(1, 119039, '\p{^ Musical_SYMBOLS}', "");
-Expect(1, 119039, '\P{ Musical_SYMBOLS}', "");
-Expect(0, 119039, '\P{^ Musical_SYMBOLS}', "");
-Error('\p{_/a/IS musical-Symbols}');
-Error('\P{_/a/IS musical-Symbols}');
-Expect(1, 119295, '\p{ismusicalsymbols}', "");
-Expect(0, 119295, '\p{^ismusicalsymbols}', "");
-Expect(0, 119295, '\P{ismusicalsymbols}', "");
-Expect(1, 119295, '\P{^ismusicalsymbols}', "");
-Expect(0, 119039, '\p{ismusicalsymbols}', "");
-Expect(1, 119039, '\p{^ismusicalsymbols}', "");
-Expect(1, 119039, '\P{ismusicalsymbols}', "");
-Expect(0, 119039, '\P{^ismusicalsymbols}', "");
-Expect(1, 119295, '\p{-_IS-Musical Symbols}', "");
-Expect(0, 119295, '\p{^-_IS-Musical Symbols}', "");
-Expect(0, 119295, '\P{-_IS-Musical Symbols}', "");
-Expect(1, 119295, '\P{^-_IS-Musical Symbols}', "");
-Expect(0, 119039, '\p{-_IS-Musical Symbols}', "");
-Expect(1, 119039, '\p{^-_IS-Musical Symbols}', "");
-Expect(1, 119039, '\P{-_IS-Musical Symbols}', "");
-Expect(0, 119039, '\P{^-_IS-Musical Symbols}', "");
-Error('\p{:=In-musical Symbols}');
-Error('\P{:=In-musical Symbols}');
-Expect(1, 119295, '\p{inmusicalsymbols}', "");
-Expect(0, 119295, '\p{^inmusicalsymbols}', "");
-Expect(0, 119295, '\P{inmusicalsymbols}', "");
-Expect(1, 119295, '\P{^inmusicalsymbols}', "");
-Expect(0, 119039, '\p{inmusicalsymbols}', "");
-Expect(1, 119039, '\p{^inmusicalsymbols}', "");
-Expect(1, 119039, '\P{inmusicalsymbols}', "");
-Expect(0, 119039, '\P{^inmusicalsymbols}', "");
-Expect(1, 119295, '\p{-In musical SYMBOLS}', "");
-Expect(0, 119295, '\p{^-In musical SYMBOLS}', "");
-Expect(0, 119295, '\P{-In musical SYMBOLS}', "");
-Expect(1, 119295, '\P{^-In musical SYMBOLS}', "");
-Expect(0, 119039, '\p{-In musical SYMBOLS}', "");
-Expect(1, 119039, '\p{^-In musical SYMBOLS}', "");
-Expect(1, 119039, '\P{-In musical SYMBOLS}', "");
-Expect(0, 119039, '\P{^-In musical SYMBOLS}', "");
-Error('\p{_Tags:=}');
-Error('\P{_Tags:=}');
-Expect(1, 917631, '\p{tags}', "");
-Expect(0, 917631, '\p{^tags}', "");
-Expect(0, 917631, '\P{tags}', "");
-Expect(1, 917631, '\P{^tags}', "");
-Expect(0, 1, '\p{tags}', "");
-Expect(1, 1, '\p{^tags}', "");
-Expect(1, 1, '\P{tags}', "");
-Expect(0, 1, '\P{^tags}', "");
-Expect(1, 917631, '\p{-tags}', "");
-Expect(0, 917631, '\p{^-tags}', "");
-Expect(0, 917631, '\P{-tags}', "");
-Expect(1, 917631, '\P{^-tags}', "");
-Expect(0, 1, '\p{-tags}', "");
-Expect(1, 1, '\p{^-tags}', "");
-Expect(1, 1, '\P{-tags}', "");
-Expect(0, 1, '\P{^-tags}', "");
-Error('\p{_Is-tags/a/}');
-Error('\P{_Is-tags/a/}');
-Expect(1, 917631, '\p{istags}', "");
-Expect(0, 917631, '\p{^istags}', "");
-Expect(0, 917631, '\P{istags}', "");
-Expect(1, 917631, '\P{^istags}', "");
-Expect(0, 1, '\p{istags}', "");
-Expect(1, 1, '\p{^istags}', "");
-Expect(1, 1, '\P{istags}', "");
-Expect(0, 1, '\P{^istags}', "");
-Expect(1, 917631, '\p{ _istags}', "");
-Expect(0, 917631, '\p{^ _istags}', "");
-Expect(0, 917631, '\P{ _istags}', "");
-Expect(1, 917631, '\P{^ _istags}', "");
-Expect(0, 1, '\p{ _istags}', "");
-Expect(1, 1, '\p{^ _istags}', "");
-Expect(1, 1, '\P{ _istags}', "");
-Expect(0, 1, '\P{^ _istags}', "");
-Error('\p{/a/ INTAGS}');
-Error('\P{/a/ INTAGS}');
-Expect(1, 917631, '\p{intags}', "");
-Expect(0, 917631, '\p{^intags}', "");
-Expect(0, 917631, '\P{intags}', "");
-Expect(1, 917631, '\P{^intags}', "");
-Expect(0, 1, '\p{intags}', "");
-Expect(1, 1, '\p{^intags}', "");
-Expect(1, 1, '\P{intags}', "");
-Expect(0, 1, '\P{^intags}', "");
-Expect(1, 917631, '\p{ -In TAGS}', "");
-Expect(0, 917631, '\p{^ -In TAGS}', "");
-Expect(0, 917631, '\P{ -In TAGS}', "");
-Expect(1, 917631, '\P{^ -In TAGS}', "");
-Expect(0, 1, '\p{ -In TAGS}', "");
-Expect(1, 1, '\p{^ -In TAGS}', "");
-Expect(1, 1, '\P{ -In TAGS}', "");
-Expect(0, 1, '\P{^ -In TAGS}', "");
-Error('\p{/a/ separator}');
-Error('\P{/a/ separator}');
-Expect(1, 32, '\p{separator}', "");
-Expect(0, 32, '\p{^separator}', "");
-Expect(0, 32, '\P{separator}', "");
-Expect(1, 32, '\P{^separator}', "");
-Expect(0, 31, '\p{separator}', "");
-Expect(1, 31, '\p{^separator}', "");
-Expect(1, 31, '\P{separator}', "");
-Expect(0, 31, '\P{^separator}', "");
-Expect(1, 32, '\p{--Separator}', "");
-Expect(0, 32, '\p{^--Separator}', "");
-Expect(0, 32, '\P{--Separator}', "");
-Expect(1, 32, '\P{^--Separator}', "");
-Expect(0, 31, '\p{--Separator}', "");
-Expect(1, 31, '\p{^--Separator}', "");
-Expect(1, 31, '\P{--Separator}', "");
-Expect(0, 31, '\P{^--Separator}', "");
-Error('\p{ /a/is SEPARATOR}');
-Error('\P{ /a/is SEPARATOR}');
-Expect(1, 32, '\p{isseparator}', "");
-Expect(0, 32, '\p{^isseparator}', "");
-Expect(0, 32, '\P{isseparator}', "");
-Expect(1, 32, '\P{^isseparator}', "");
-Expect(0, 31, '\p{isseparator}', "");
-Expect(1, 31, '\p{^isseparator}', "");
-Expect(1, 31, '\P{isseparator}', "");
-Expect(0, 31, '\P{^isseparator}', "");
-Expect(1, 32, '\p{_ Is SEPARATOR}', "");
-Expect(0, 32, '\p{^_ Is SEPARATOR}', "");
-Expect(0, 32, '\P{_ Is SEPARATOR}', "");
-Expect(1, 32, '\P{^_ Is SEPARATOR}', "");
-Expect(0, 31, '\p{_ Is SEPARATOR}', "");
-Expect(1, 31, '\p{^_ Is SEPARATOR}', "");
-Expect(1, 31, '\P{_ Is SEPARATOR}', "");
-Expect(0, 31, '\P{^_ Is SEPARATOR}', "");
-Error('\p{z:=}');
-Error('\P{z:=}');
-Expect(1, 32, '\p{z}', "");
-Expect(0, 32, '\p{^z}', "");
-Expect(0, 32, '\P{z}', "");
-Expect(1, 32, '\P{^z}', "");
-Expect(0, 31, '\p{z}', "");
-Expect(1, 31, '\p{^z}', "");
-Expect(1, 31, '\P{z}', "");
-Expect(0, 31, '\P{^z}', "");
-Expect(1, 32, '\p{_-Z}', "");
-Expect(0, 32, '\p{^_-Z}', "");
-Expect(0, 32, '\P{_-Z}', "");
-Expect(1, 32, '\P{^_-Z}', "");
-Expect(0, 31, '\p{_-Z}', "");
-Expect(1, 31, '\p{^_-Z}', "");
-Expect(1, 31, '\P{_-Z}', "");
-Expect(0, 31, '\P{^_-Z}', "");
-Error('\p{_Is/a/Z}');
-Error('\P{_Is/a/Z}');
-Expect(1, 32, '\p{isz}', "");
-Expect(0, 32, '\p{^isz}', "");
-Expect(0, 32, '\P{isz}', "");
-Expect(1, 32, '\P{^isz}', "");
-Expect(0, 31, '\p{isz}', "");
-Expect(1, 31, '\p{^isz}', "");
-Expect(1, 31, '\P{isz}', "");
-Expect(0, 31, '\P{^isz}', "");
-Expect(1, 32, '\p{_ is Z}', "");
-Expect(0, 32, '\p{^_ is Z}', "");
-Expect(0, 32, '\P{_ is Z}', "");
-Expect(1, 32, '\P{^_ is Z}', "");
-Expect(0, 31, '\p{_ is Z}', "");
-Expect(1, 31, '\p{^_ is Z}', "");
-Expect(1, 31, '\P{_ is Z}', "");
-Expect(0, 31, '\P{^_ is Z}', "");
-Error('\p{- Ancient:=GREEKmusical_Notation}');
-Error('\P{- Ancient:=GREEKmusical_Notation}');
-Expect(1, 119375, '\p{ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^ancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^ancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{ancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^ancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{_ANCIENT Greek musical Notation}', "");
-Expect(0, 119375, '\p{^_ANCIENT Greek musical Notation}', "");
-Expect(0, 119375, '\P{_ANCIENT Greek musical Notation}', "");
-Expect(1, 119375, '\P{^_ANCIENT Greek musical Notation}', "");
-Expect(0, 119295, '\p{_ANCIENT Greek musical Notation}', "");
-Expect(1, 119295, '\p{^_ANCIENT Greek musical Notation}', "");
-Expect(1, 119295, '\P{_ANCIENT Greek musical Notation}', "");
-Expect(0, 119295, '\P{^_ANCIENT Greek musical Notation}', "");
-Error('\p{:=is_ancient Greek Musical-NOTATION}');
-Error('\P{:=is_ancient Greek Musical-NOTATION}');
-Expect(1, 119375, '\p{isancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^isancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{isancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^isancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{isancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^isancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{isancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^isancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{ISANCIENTGreekmusical Notation}', "");
-Expect(0, 119375, '\p{^ISANCIENTGreekmusical Notation}', "");
-Expect(0, 119375, '\P{ISANCIENTGreekmusical Notation}', "");
-Expect(1, 119375, '\P{^ISANCIENTGreekmusical Notation}', "");
-Expect(0, 119295, '\p{ISANCIENTGreekmusical Notation}', "");
-Expect(1, 119295, '\p{^ISANCIENTGreekmusical Notation}', "");
-Expect(1, 119295, '\P{ISANCIENTGreekmusical Notation}', "");
-Expect(0, 119295, '\P{^ISANCIENTGreekmusical Notation}', "");
-Error('\p{-/a/In Ancient_Greek Musical_Notation}');
-Error('\P{-/a/In Ancient_Greek Musical_Notation}');
-Expect(1, 119375, '\p{inancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\p{^inancientgreekmusicalnotation}', "");
-Expect(0, 119375, '\P{inancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\P{^inancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\p{inancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\p{^inancientgreekmusicalnotation}', "");
-Expect(1, 119295, '\P{inancientgreekmusicalnotation}', "");
-Expect(0, 119295, '\P{^inancientgreekmusicalnotation}', "");
-Expect(1, 119375, '\p{ IN-Ancient greek Musical NOTATION}', "");
-Expect(0, 119375, '\p{^ IN-Ancient greek Musical NOTATION}', "");
-Expect(0, 119375, '\P{ IN-Ancient greek Musical NOTATION}', "");
-Expect(1, 119375, '\P{^ IN-Ancient greek Musical NOTATION}', "");
-Expect(0, 119295, '\p{ IN-Ancient greek Musical NOTATION}', "");
-Expect(1, 119295, '\p{^ IN-Ancient greek Musical NOTATION}', "");
-Expect(1, 119295, '\P{ IN-Ancient greek Musical NOTATION}', "");
-Expect(0, 119295, '\P{^ IN-Ancient greek Musical NOTATION}', "");
-Error('\p{ :=PosixBlank}');
-Error('\P{ :=PosixBlank}');
-Expect(1, 9, '\p{posixblank}', "");
-Expect(0, 9, '\p{^posixblank}', "");
-Expect(0, 9, '\P{posixblank}', "");
-Expect(1, 9, '\P{^posixblank}', "");
-Expect(0, 8, '\p{posixblank}', "");
-Expect(1, 8, '\p{^posixblank}', "");
-Expect(1, 8, '\P{posixblank}', "");
-Expect(0, 8, '\P{^posixblank}', "");
-Expect(1, 9, '\p{ PosixBlank}', "");
-Expect(0, 9, '\p{^ PosixBlank}', "");
-Expect(0, 9, '\P{ PosixBlank}', "");
-Expect(1, 9, '\P{^ PosixBlank}', "");
-Expect(0, 8, '\p{ PosixBlank}', "");
-Expect(1, 8, '\p{^ PosixBlank}', "");
-Expect(1, 8, '\P{ PosixBlank}', "");
-Expect(0, 8, '\P{^ PosixBlank}', "");
-Error('\p{ :=Is-PosixBlank}');
-Error('\P{ :=Is-PosixBlank}');
-Expect(1, 9, '\p{isposixblank}', "");
-Expect(0, 9, '\p{^isposixblank}', "");
-Expect(0, 9, '\P{isposixblank}', "");
-Expect(1, 9, '\P{^isposixblank}', "");
-Expect(0, 8, '\p{isposixblank}', "");
-Expect(1, 8, '\p{^isposixblank}', "");
-Expect(1, 8, '\P{isposixblank}', "");
-Expect(0, 8, '\P{^isposixblank}', "");
-Expect(1, 9, '\p{ _IS PosixBlank}', "");
-Expect(0, 9, '\p{^ _IS PosixBlank}', "");
-Expect(0, 9, '\P{ _IS PosixBlank}', "");
-Expect(1, 9, '\P{^ _IS PosixBlank}', "");
-Expect(0, 8, '\p{ _IS PosixBlank}', "");
-Expect(1, 8, '\p{^ _IS PosixBlank}', "");
-Expect(1, 8, '\P{ _IS PosixBlank}', "");
-Expect(0, 8, '\P{^ _IS PosixBlank}', "");
-Error('\p{-In:=Sinhala}');
-Error('\P{-In:=Sinhala}');
-Expect(1, 3583, '\p{insinhala}', "");
-Expect(0, 3583, '\p{^insinhala}', "");
-Expect(0, 3583, '\P{insinhala}', "");
-Expect(1, 3583, '\P{^insinhala}', "");
-Expect(0, 3455, '\p{insinhala}', "");
-Expect(1, 3455, '\p{^insinhala}', "");
-Expect(1, 3455, '\P{insinhala}', "");
-Expect(0, 3455, '\P{^insinhala}', "");
-Expect(1, 3583, '\p{ In Sinhala}', "");
-Expect(0, 3583, '\p{^ In Sinhala}', "");
-Expect(0, 3583, '\P{ In Sinhala}', "");
-Expect(1, 3583, '\P{^ In Sinhala}', "");
-Expect(0, 3455, '\p{ In Sinhala}', "");
-Expect(1, 3455, '\p{^ In Sinhala}', "");
-Expect(1, 3455, '\P{ In Sinhala}', "");
-Expect(0, 3455, '\P{^ In Sinhala}', "");
-Error('\p{-:=Mongolian}');
-Error('\P{-:=Mongolian}');
-Expect(1, 6145, '\p{mongolian}', "");
-Expect(0, 6145, '\p{^mongolian}', "");
-Expect(0, 6145, '\P{mongolian}', "");
-Expect(1, 6145, '\P{^mongolian}', "");
-Expect(0, 6143, '\p{mongolian}', "");
-Expect(1, 6143, '\p{^mongolian}', "");
-Expect(1, 6143, '\P{mongolian}', "");
-Expect(0, 6143, '\P{^mongolian}', "");
-Expect(1, 6145, '\p{ -mongolian}', "");
-Expect(0, 6145, '\p{^ -mongolian}', "");
-Expect(0, 6145, '\P{ -mongolian}', "");
-Expect(1, 6145, '\P{^ -mongolian}', "");
-Expect(0, 6143, '\p{ -mongolian}', "");
-Expect(1, 6143, '\p{^ -mongolian}', "");
-Expect(1, 6143, '\P{ -mongolian}', "");
-Expect(0, 6143, '\P{^ -mongolian}', "");
-Error('\p{:=__IS-Mongolian}');
-Error('\P{:=__IS-Mongolian}');
-Expect(1, 6145, '\p{ismongolian}', "");
-Expect(0, 6145, '\p{^ismongolian}', "");
-Expect(0, 6145, '\P{ismongolian}', "");
-Expect(1, 6145, '\P{^ismongolian}', "");
-Expect(0, 6143, '\p{ismongolian}', "");
-Expect(1, 6143, '\p{^ismongolian}', "");
-Expect(1, 6143, '\P{ismongolian}', "");
-Expect(0, 6143, '\P{^ismongolian}', "");
-Expect(1, 6145, '\p{__Is-MONGOLIAN}', "");
-Expect(0, 6145, '\p{^__Is-MONGOLIAN}', "");
-Expect(0, 6145, '\P{__Is-MONGOLIAN}', "");
-Expect(1, 6145, '\P{^__Is-MONGOLIAN}', "");
-Expect(0, 6143, '\p{__Is-MONGOLIAN}', "");
-Expect(1, 6143, '\p{^__Is-MONGOLIAN}', "");
-Expect(1, 6143, '\P{__Is-MONGOLIAN}', "");
-Expect(0, 6143, '\P{^__Is-MONGOLIAN}', "");
-Error('\p{ -MONG/a/}');
-Error('\P{ -MONG/a/}');
-Expect(1, 6145, '\p{mong}', "");
-Expect(0, 6145, '\p{^mong}', "");
-Expect(0, 6145, '\P{mong}', "");
-Expect(1, 6145, '\P{^mong}', "");
-Expect(0, 6143, '\p{mong}', "");
-Expect(1, 6143, '\p{^mong}', "");
-Expect(1, 6143, '\P{mong}', "");
-Expect(0, 6143, '\P{^mong}', "");
-Expect(1, 6145, '\p{__Mong}', "");
-Expect(0, 6145, '\p{^__Mong}', "");
-Expect(0, 6145, '\P{__Mong}', "");
-Expect(1, 6145, '\P{^__Mong}', "");
-Expect(0, 6143, '\p{__Mong}', "");
-Expect(1, 6143, '\p{^__Mong}', "");
-Expect(1, 6143, '\P{__Mong}', "");
-Expect(0, 6143, '\P{^__Mong}', "");
-Error('\p{ -is/a/MONG}');
-Error('\P{ -is/a/MONG}');
-Expect(1, 6145, '\p{ismong}', "");
-Expect(0, 6145, '\p{^ismong}', "");
-Expect(0, 6145, '\P{ismong}', "");
-Expect(1, 6145, '\P{^ismong}', "");
-Expect(0, 6143, '\p{ismong}', "");
-Expect(1, 6143, '\p{^ismong}', "");
-Expect(1, 6143, '\P{ismong}', "");
-Expect(0, 6143, '\P{^ismong}', "");
-Expect(1, 6145, '\p{- Is MONG}', "");
-Expect(0, 6145, '\p{^- Is MONG}', "");
-Expect(0, 6145, '\P{- Is MONG}', "");
-Expect(1, 6145, '\P{^- Is MONG}', "");
-Expect(0, 6143, '\p{- Is MONG}', "");
-Expect(1, 6143, '\p{^- Is MONG}', "");
-Expect(1, 6143, '\P{- Is MONG}', "");
-Expect(0, 6143, '\P{^- Is MONG}', "");
-Error('\p{ :=cherokee}');
-Error('\P{ :=cherokee}');
-Expect(1, 5108, '\p{cherokee}', "");
-Expect(0, 5108, '\p{^cherokee}', "");
-Expect(0, 5108, '\P{cherokee}', "");
-Expect(1, 5108, '\P{^cherokee}', "");
-Expect(0, 5023, '\p{cherokee}', "");
-Expect(1, 5023, '\p{^cherokee}', "");
-Expect(1, 5023, '\P{cherokee}', "");
-Expect(0, 5023, '\P{^cherokee}', "");
-Expect(1, 5108, '\p{ CHEROKEE}', "");
-Expect(0, 5108, '\p{^ CHEROKEE}', "");
-Expect(0, 5108, '\P{ CHEROKEE}', "");
-Expect(1, 5108, '\P{^ CHEROKEE}', "");
-Expect(0, 5023, '\p{ CHEROKEE}', "");
-Expect(1, 5023, '\p{^ CHEROKEE}', "");
-Expect(1, 5023, '\P{ CHEROKEE}', "");
-Expect(0, 5023, '\P{^ CHEROKEE}', "");
-Error('\p{ is_Cherokee/a/}');
-Error('\P{ is_Cherokee/a/}');
-Expect(1, 5108, '\p{ischerokee}', "");
-Expect(0, 5108, '\p{^ischerokee}', "");
-Expect(0, 5108, '\P{ischerokee}', "");
-Expect(1, 5108, '\P{^ischerokee}', "");
-Expect(0, 5023, '\p{ischerokee}', "");
-Expect(1, 5023, '\p{^ischerokee}', "");
-Expect(1, 5023, '\P{ischerokee}', "");
-Expect(0, 5023, '\P{^ischerokee}', "");
-Expect(1, 5108, '\p{ is-Cherokee}', "");
-Expect(0, 5108, '\p{^ is-Cherokee}', "");
-Expect(0, 5108, '\P{ is-Cherokee}', "");
-Expect(1, 5108, '\P{^ is-Cherokee}', "");
-Expect(0, 5023, '\p{ is-Cherokee}', "");
-Expect(1, 5023, '\p{^ is-Cherokee}', "");
-Expect(1, 5023, '\P{ is-Cherokee}', "");
-Expect(0, 5023, '\P{^ is-Cherokee}', "");
-Error('\p{- Cher:=}');
-Error('\P{- Cher:=}');
-Expect(1, 5108, '\p{cher}', "");
-Expect(0, 5108, '\p{^cher}', "");
-Expect(0, 5108, '\P{cher}', "");
-Expect(1, 5108, '\P{^cher}', "");
-Expect(0, 5023, '\p{cher}', "");
-Expect(1, 5023, '\p{^cher}', "");
-Expect(1, 5023, '\P{cher}', "");
-Expect(0, 5023, '\P{^cher}', "");
-Expect(1, 5108, '\p{ Cher}', "");
-Expect(0, 5108, '\p{^ Cher}', "");
-Expect(0, 5108, '\P{ Cher}', "");
-Expect(1, 5108, '\P{^ Cher}', "");
-Expect(0, 5023, '\p{ Cher}', "");
-Expect(1, 5023, '\p{^ Cher}', "");
-Expect(1, 5023, '\P{ Cher}', "");
-Expect(0, 5023, '\P{^ Cher}', "");
-Error('\p{/a/--isCher}');
-Error('\P{/a/--isCher}');
-Expect(1, 5108, '\p{ischer}', "");
-Expect(0, 5108, '\p{^ischer}', "");
-Expect(0, 5108, '\P{ischer}', "");
-Expect(1, 5108, '\P{^ischer}', "");
-Expect(0, 5023, '\p{ischer}', "");
-Expect(1, 5023, '\p{^ischer}', "");
-Expect(1, 5023, '\P{ischer}', "");
-Expect(0, 5023, '\P{^ischer}', "");
-Expect(1, 5108, '\p{-IS Cher}', "");
-Expect(0, 5108, '\p{^-IS Cher}', "");
-Expect(0, 5108, '\P{-IS Cher}', "");
-Expect(1, 5108, '\P{^-IS Cher}', "");
-Expect(0, 5023, '\p{-IS Cher}', "");
-Expect(1, 5023, '\p{^-IS Cher}', "");
-Expect(1, 5023, '\P{-IS Cher}', "");
-Expect(0, 5023, '\P{^-IS Cher}', "");
-Error('\p{ /a/Samaritan}');
-Error('\P{ /a/Samaritan}');
-Expect(1, 2093, '\p{samaritan}', "");
-Expect(0, 2093, '\p{^samaritan}', "");
-Expect(0, 2093, '\P{samaritan}', "");
-Expect(1, 2093, '\P{^samaritan}', "");
-Expect(0, 2047, '\p{samaritan}', "");
-Expect(1, 2047, '\p{^samaritan}', "");
-Expect(1, 2047, '\P{samaritan}', "");
-Expect(0, 2047, '\P{^samaritan}', "");
-Expect(1, 2093, '\p{ Samaritan}', "");
-Expect(0, 2093, '\p{^ Samaritan}', "");
-Expect(0, 2093, '\P{ Samaritan}', "");
-Expect(1, 2093, '\P{^ Samaritan}', "");
-Expect(0, 2047, '\p{ Samaritan}', "");
-Expect(1, 2047, '\p{^ Samaritan}', "");
-Expect(1, 2047, '\P{ Samaritan}', "");
-Expect(0, 2047, '\P{^ Samaritan}', "");
-Error('\p{- is/a/Samaritan}');
-Error('\P{- is/a/Samaritan}');
-Expect(1, 2093, '\p{issamaritan}', "");
-Expect(0, 2093, '\p{^issamaritan}', "");
-Expect(0, 2093, '\P{issamaritan}', "");
-Expect(1, 2093, '\P{^issamaritan}', "");
-Expect(0, 2047, '\p{issamaritan}', "");
-Expect(1, 2047, '\p{^issamaritan}', "");
-Expect(1, 2047, '\P{issamaritan}', "");
-Expect(0, 2047, '\P{^issamaritan}', "");
-Expect(1, 2093, '\p{-IS samaritan}', "");
-Expect(0, 2093, '\p{^-IS samaritan}', "");
-Expect(0, 2093, '\P{-IS samaritan}', "");
-Expect(1, 2093, '\P{^-IS samaritan}', "");
-Expect(0, 2047, '\p{-IS samaritan}', "");
-Expect(1, 2047, '\p{^-IS samaritan}', "");
-Expect(1, 2047, '\P{-IS samaritan}', "");
-Expect(0, 2047, '\P{^-IS samaritan}', "");
-Error('\p{/a/ samr}');
-Error('\P{/a/ samr}');
-Expect(1, 2093, '\p{samr}', "");
-Expect(0, 2093, '\p{^samr}', "");
-Expect(0, 2093, '\P{samr}', "");
-Expect(1, 2093, '\P{^samr}', "");
-Expect(0, 2047, '\p{samr}', "");
-Expect(1, 2047, '\p{^samr}', "");
-Expect(1, 2047, '\P{samr}', "");
-Expect(0, 2047, '\P{^samr}', "");
-Expect(1, 2093, '\p{ SAMR}', "");
-Expect(0, 2093, '\p{^ SAMR}', "");
-Expect(0, 2093, '\P{ SAMR}', "");
-Expect(1, 2093, '\P{^ SAMR}', "");
-Expect(0, 2047, '\p{ SAMR}', "");
-Expect(1, 2047, '\p{^ SAMR}', "");
-Expect(1, 2047, '\P{ SAMR}', "");
-Expect(0, 2047, '\P{^ SAMR}', "");
-Error('\p{:= Is Samr}');
-Error('\P{:= Is Samr}');
-Expect(1, 2093, '\p{issamr}', "");
-Expect(0, 2093, '\p{^issamr}', "");
-Expect(0, 2093, '\P{issamr}', "");
-Expect(1, 2093, '\P{^issamr}', "");
-Expect(0, 2047, '\p{issamr}', "");
-Expect(1, 2047, '\p{^issamr}', "");
-Expect(1, 2047, '\P{issamr}', "");
-Expect(0, 2047, '\P{^issamr}', "");
-Expect(1, 2093, '\p{ _Is SAMR}', "");
-Expect(0, 2093, '\p{^ _Is SAMR}', "");
-Expect(0, 2093, '\P{ _Is SAMR}', "");
-Expect(1, 2093, '\P{^ _Is SAMR}', "");
-Expect(0, 2047, '\p{ _Is SAMR}', "");
-Expect(1, 2047, '\p{^ _Is SAMR}', "");
-Expect(1, 2047, '\P{ _Is SAMR}', "");
-Expect(0, 2047, '\P{^ _Is SAMR}', "");
-Error('\p{ :=Other-punctuation}');
-Error('\P{ :=Other-punctuation}');
-Expect(1, 35, '\p{otherpunctuation}', "");
-Expect(0, 35, '\p{^otherpunctuation}', "");
-Expect(0, 35, '\P{otherpunctuation}', "");
-Expect(1, 35, '\P{^otherpunctuation}', "");
-Expect(0, 32, '\p{otherpunctuation}', "");
-Expect(1, 32, '\p{^otherpunctuation}', "");
-Expect(1, 32, '\P{otherpunctuation}', "");
-Expect(0, 32, '\P{^otherpunctuation}', "");
-Expect(1, 35, '\p{_Other Punctuation}', "");
-Expect(0, 35, '\p{^_Other Punctuation}', "");
-Expect(0, 35, '\P{_Other Punctuation}', "");
-Expect(1, 35, '\P{^_Other Punctuation}', "");
-Expect(0, 32, '\p{_Other Punctuation}', "");
-Expect(1, 32, '\p{^_Other Punctuation}', "");
-Expect(1, 32, '\P{_Other Punctuation}', "");
-Expect(0, 32, '\P{^_Other Punctuation}', "");
-Error('\p{_:=Is-Other_Punctuation}');
-Error('\P{_:=Is-Other_Punctuation}');
-Expect(1, 35, '\p{isotherpunctuation}', "");
-Expect(0, 35, '\p{^isotherpunctuation}', "");
-Expect(0, 35, '\P{isotherpunctuation}', "");
-Expect(1, 35, '\P{^isotherpunctuation}', "");
-Expect(0, 32, '\p{isotherpunctuation}', "");
-Expect(1, 32, '\p{^isotherpunctuation}', "");
-Expect(1, 32, '\P{isotherpunctuation}', "");
-Expect(0, 32, '\P{^isotherpunctuation}', "");
-Expect(1, 35, '\p{ IS Other Punctuation}', "");
-Expect(0, 35, '\p{^ IS Other Punctuation}', "");
-Expect(0, 35, '\P{ IS Other Punctuation}', "");
-Expect(1, 35, '\P{^ IS Other Punctuation}', "");
-Expect(0, 32, '\p{ IS Other Punctuation}', "");
-Expect(1, 32, '\p{^ IS Other Punctuation}', "");
-Expect(1, 32, '\P{ IS Other Punctuation}', "");
-Expect(0, 32, '\P{^ IS Other Punctuation}', "");
-Error('\p{ PO:=}');
-Error('\P{ PO:=}');
-Expect(1, 35, '\p{po}', "");
-Expect(0, 35, '\p{^po}', "");
-Expect(0, 35, '\P{po}', "");
-Expect(1, 35, '\P{^po}', "");
-Expect(0, 32, '\p{po}', "");
-Expect(1, 32, '\p{^po}', "");
-Expect(1, 32, '\P{po}', "");
-Expect(0, 32, '\P{^po}', "");
-Expect(1, 35, '\p{ Po}', "");
-Expect(0, 35, '\p{^ Po}', "");
-Expect(0, 35, '\P{ Po}', "");
-Expect(1, 35, '\P{^ Po}', "");
-Expect(0, 32, '\p{ Po}', "");
-Expect(1, 32, '\p{^ Po}', "");
-Expect(1, 32, '\P{ Po}', "");
-Expect(0, 32, '\P{^ Po}', "");
-Error('\p{:= Is PO}');
-Error('\P{:= Is PO}');
-Expect(1, 35, '\p{ispo}', "");
-Expect(0, 35, '\p{^ispo}', "");
-Expect(0, 35, '\P{ispo}', "");
-Expect(1, 35, '\P{^ispo}', "");
-Expect(0, 32, '\p{ispo}', "");
-Expect(1, 32, '\p{^ispo}', "");
-Expect(1, 32, '\P{ispo}', "");
-Expect(0, 32, '\P{^ispo}', "");
-Expect(1, 35, '\p{-is_Po}', "");
-Expect(0, 35, '\p{^-is_Po}', "");
-Expect(0, 35, '\P{-is_Po}', "");
-Expect(1, 35, '\P{^-is_Po}', "");
-Expect(0, 32, '\p{-is_Po}', "");
-Expect(1, 32, '\p{^-is_Po}', "");
-Expect(1, 32, '\P{-is_Po}', "");
-Expect(0, 32, '\P{^-is_Po}', "");
-Error('\p{-:=Case Ignorable}');
-Error('\P{-:=Case Ignorable}');
-Expect(1, 39, '\p{caseignorable}', "");
-Expect(0, 39, '\p{^caseignorable}', "");
-Expect(0, 39, '\P{caseignorable}', "");
-Expect(1, 39, '\P{^caseignorable}', "");
-Expect(0, 38, '\p{caseignorable}', "");
-Expect(1, 38, '\p{^caseignorable}', "");
-Expect(1, 38, '\P{caseignorable}', "");
-Expect(0, 38, '\P{^caseignorable}', "");
-Expect(1, 39, '\p{ case ignorable}', "");
-Expect(0, 39, '\p{^ case ignorable}', "");
-Expect(0, 39, '\P{ case ignorable}', "");
-Expect(1, 39, '\P{^ case ignorable}', "");
-Expect(0, 38, '\p{ case ignorable}', "");
-Expect(1, 38, '\p{^ case ignorable}', "");
-Expect(1, 38, '\P{ case ignorable}', "");
-Expect(0, 38, '\P{^ case ignorable}', "");
-Error('\p{ _IS/a/Caseignorable}');
-Error('\P{ _IS/a/Caseignorable}');
-Expect(1, 39, '\p{iscaseignorable}', "");
-Expect(0, 39, '\p{^iscaseignorable}', "");
-Expect(0, 39, '\P{iscaseignorable}', "");
-Expect(1, 39, '\P{^iscaseignorable}', "");
-Expect(0, 38, '\p{iscaseignorable}', "");
-Expect(1, 38, '\p{^iscaseignorable}', "");
-Expect(1, 38, '\P{iscaseignorable}', "");
-Expect(0, 38, '\P{^iscaseignorable}', "");
-Expect(1, 39, '\p{_IS-CaseIgnorable}', "");
-Expect(0, 39, '\p{^_IS-CaseIgnorable}', "");
-Expect(0, 39, '\P{_IS-CaseIgnorable}', "");
-Expect(1, 39, '\P{^_IS-CaseIgnorable}', "");
-Expect(0, 38, '\p{_IS-CaseIgnorable}', "");
-Expect(1, 38, '\p{^_IS-CaseIgnorable}', "");
-Expect(1, 38, '\P{_IS-CaseIgnorable}', "");
-Expect(0, 38, '\P{^_IS-CaseIgnorable}', "");
-Error('\p{ /a/ci}');
-Error('\P{ /a/ci}');
-Expect(1, 39, '\p{ci}', "");
-Expect(0, 39, '\p{^ci}', "");
-Expect(0, 39, '\P{ci}', "");
-Expect(1, 39, '\P{^ci}', "");
-Expect(0, 38, '\p{ci}', "");
-Expect(1, 38, '\p{^ci}', "");
-Expect(1, 38, '\P{ci}', "");
-Expect(0, 38, '\P{^ci}', "");
-Expect(1, 39, '\p{ CI}', "");
-Expect(0, 39, '\p{^ CI}', "");
-Expect(0, 39, '\P{ CI}', "");
-Expect(1, 39, '\P{^ CI}', "");
-Expect(0, 38, '\p{ CI}', "");
-Expect(1, 38, '\p{^ CI}', "");
-Expect(1, 38, '\P{ CI}', "");
-Expect(0, 38, '\P{^ CI}', "");
-Error('\p{__Is_CI:=}');
-Error('\P{__Is_CI:=}');
-Expect(1, 39, '\p{isci}', "");
-Expect(0, 39, '\p{^isci}', "");
-Expect(0, 39, '\P{isci}', "");
-Expect(1, 39, '\P{^isci}', "");
-Expect(0, 38, '\p{isci}', "");
-Expect(1, 38, '\p{^isci}', "");
-Expect(1, 38, '\P{isci}', "");
-Expect(0, 38, '\P{^isci}', "");
-Expect(1, 39, '\p{-_IsCI}', "");
-Expect(0, 39, '\p{^-_IsCI}', "");
-Expect(0, 39, '\P{-_IsCI}', "");
-Expect(1, 39, '\P{^-_IsCI}', "");
-Expect(0, 38, '\p{-_IsCI}', "");
-Expect(1, 38, '\p{^-_IsCI}', "");
-Expect(1, 38, '\P{-_IsCI}', "");
-Expect(0, 38, '\P{^-_IsCI}', "");
-Error('\p{/a/_ caseIgnorable}');
-Error('\P{/a/_ caseIgnorable}');
-Expect(1, 39, '\p{_case_ignorable}', "");
-Expect(0, 39, '\p{^_case_ignorable}', "");
-Expect(0, 39, '\P{_case_ignorable}', "");
-Expect(1, 39, '\P{^_case_ignorable}', "");
-Expect(0, 38, '\p{_case_ignorable}', "");
-Expect(1, 38, '\p{^_case_ignorable}', "");
-Expect(1, 38, '\P{_case_ignorable}', "");
-Expect(0, 38, '\P{^_case_ignorable}', "");
-Error('\p{ :=CHANGESWhennfkcCasefolded}');
-Error('\P{ :=CHANGESWhennfkcCasefolded}');
-Expect(1, 90, '\p{changeswhennfkccasefolded}', "");
-Expect(0, 90, '\p{^changeswhennfkccasefolded}', "");
-Expect(0, 90, '\P{changeswhennfkccasefolded}', "");
-Expect(1, 90, '\P{^changeswhennfkccasefolded}', "");
-Expect(0, 64, '\p{changeswhennfkccasefolded}', "");
-Expect(1, 64, '\p{^changeswhennfkccasefolded}', "");
-Expect(1, 64, '\P{changeswhennfkccasefolded}', "");
-Expect(0, 64, '\P{^changeswhennfkccasefolded}', "");
-Expect(1, 90, '\p{ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(0, 90, '\p{^ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(0, 90, '\P{ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(1, 90, '\P{^ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(0, 64, '\p{ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(1, 64, '\p{^ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(1, 64, '\P{ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Expect(0, 64, '\P{^ -CHANGES-WHEN NFKC_CASEFOLDED}', "");
-Error('\p{--Is:=changes whennfkc-Casefolded}');
-Error('\P{--Is:=changes whennfkc-Casefolded}');
-Expect(1, 90, '\p{ischangeswhennfkccasefolded}', "");
-Expect(0, 90, '\p{^ischangeswhennfkccasefolded}', "");
-Expect(0, 90, '\P{ischangeswhennfkccasefolded}', "");
-Expect(1, 90, '\P{^ischangeswhennfkccasefolded}', "");
-Expect(0, 64, '\p{ischangeswhennfkccasefolded}', "");
-Expect(1, 64, '\p{^ischangeswhennfkccasefolded}', "");
-Expect(1, 64, '\P{ischangeswhennfkccasefolded}', "");
-Expect(0, 64, '\P{^ischangeswhennfkccasefolded}', "");
-Expect(1, 90, '\p{_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(0, 90, '\p{^_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(0, 90, '\P{_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(1, 90, '\P{^_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(0, 64, '\p{_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(1, 64, '\p{^_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(1, 64, '\P{_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Expect(0, 64, '\P{^_ Is_CHANGES WhenNFKC_CASEFOLDED}', "");
-Error('\p{/a/ cwkcf}');
-Error('\P{/a/ cwkcf}');
-Expect(1, 90, '\p{cwkcf}', "");
-Expect(0, 90, '\p{^cwkcf}', "");
-Expect(0, 90, '\P{cwkcf}', "");
-Expect(1, 90, '\P{^cwkcf}', "");
-Expect(0, 64, '\p{cwkcf}', "");
-Expect(1, 64, '\p{^cwkcf}', "");
-Expect(1, 64, '\P{cwkcf}', "");
-Expect(0, 64, '\P{^cwkcf}', "");
-Expect(1, 90, '\p{- CWKCF}', "");
-Expect(0, 90, '\p{^- CWKCF}', "");
-Expect(0, 90, '\P{- CWKCF}', "");
-Expect(1, 90, '\P{^- CWKCF}', "");
-Expect(0, 64, '\p{- CWKCF}', "");
-Expect(1, 64, '\p{^- CWKCF}', "");
-Expect(1, 64, '\P{- CWKCF}', "");
-Expect(0, 64, '\P{^- CWKCF}', "");
-Error('\p{/a/- IsCWKCF}');
-Error('\P{/a/- IsCWKCF}');
-Expect(1, 90, '\p{iscwkcf}', "");
-Expect(0, 90, '\p{^iscwkcf}', "");
-Expect(0, 90, '\P{iscwkcf}', "");
-Expect(1, 90, '\P{^iscwkcf}', "");
-Expect(0, 64, '\p{iscwkcf}', "");
-Expect(1, 64, '\p{^iscwkcf}', "");
-Expect(1, 64, '\P{iscwkcf}', "");
-Expect(0, 64, '\P{^iscwkcf}', "");
-Expect(1, 90, '\p{ -Is CWKCF}', "");
-Expect(0, 90, '\p{^ -Is CWKCF}', "");
-Expect(0, 90, '\P{ -Is CWKCF}', "");
-Expect(1, 90, '\P{^ -Is CWKCF}', "");
-Expect(0, 64, '\p{ -Is CWKCF}', "");
-Expect(1, 64, '\p{^ -Is CWKCF}', "");
-Expect(1, 64, '\P{ -Is CWKCF}', "");
-Expect(0, 64, '\P{^ -Is CWKCF}', "");
-Error('\p{_in_CHEROKEE:=}');
-Error('\P{_in_CHEROKEE:=}');
-Expect(1, 5119, '\p{incherokee}', "");
-Expect(0, 5119, '\p{^incherokee}', "");
-Expect(0, 5119, '\P{incherokee}', "");
-Expect(1, 5119, '\P{^incherokee}', "");
-Expect(0, 5023, '\p{incherokee}', "");
-Expect(1, 5023, '\p{^incherokee}', "");
-Expect(1, 5023, '\P{incherokee}', "");
-Expect(0, 5023, '\P{^incherokee}', "");
-Expect(1, 5119, '\p{ _In cherokee}', "");
-Expect(0, 5119, '\p{^ _In cherokee}', "");
-Expect(0, 5119, '\P{ _In cherokee}', "");
-Expect(1, 5119, '\P{^ _In cherokee}', "");
-Expect(0, 5023, '\p{ _In cherokee}', "");
-Expect(1, 5023, '\p{^ _In cherokee}', "");
-Expect(1, 5023, '\P{ _In cherokee}', "");
-Expect(0, 5023, '\P{^ _In cherokee}', "");
-Error('\p{_/a/ethiopic}');
-Error('\P{_/a/ethiopic}');
-Expect(1, 4680, '\p{ethiopic}', "");
-Expect(0, 4680, '\p{^ethiopic}', "");
-Expect(0, 4680, '\P{ethiopic}', "");
-Expect(1, 4680, '\P{^ethiopic}', "");
-Expect(0, 4607, '\p{ethiopic}', "");
-Expect(1, 4607, '\p{^ethiopic}', "");
-Expect(1, 4607, '\P{ethiopic}', "");
-Expect(0, 4607, '\P{^ethiopic}', "");
-Expect(1, 4680, '\p{ Ethiopic}', "");
-Expect(0, 4680, '\p{^ Ethiopic}', "");
-Expect(0, 4680, '\P{ Ethiopic}', "");
-Expect(1, 4680, '\P{^ Ethiopic}', "");
-Expect(0, 4607, '\p{ Ethiopic}', "");
-Expect(1, 4607, '\p{^ Ethiopic}', "");
-Expect(1, 4607, '\P{ Ethiopic}', "");
-Expect(0, 4607, '\P{^ Ethiopic}', "");
-Error('\p{/a/isETHIOPIC}');
-Error('\P{/a/isETHIOPIC}');
-Expect(1, 4680, '\p{isethiopic}', "");
-Expect(0, 4680, '\p{^isethiopic}', "");
-Expect(0, 4680, '\P{isethiopic}', "");
-Expect(1, 4680, '\P{^isethiopic}', "");
-Expect(0, 4607, '\p{isethiopic}', "");
-Expect(1, 4607, '\p{^isethiopic}', "");
-Expect(1, 4607, '\P{isethiopic}', "");
-Expect(0, 4607, '\P{^isethiopic}', "");
-Expect(1, 4680, '\p{- Is Ethiopic}', "");
-Expect(0, 4680, '\p{^- Is Ethiopic}', "");
-Expect(0, 4680, '\P{- Is Ethiopic}', "");
-Expect(1, 4680, '\P{^- Is Ethiopic}', "");
-Expect(0, 4607, '\p{- Is Ethiopic}', "");
-Expect(1, 4607, '\p{^- Is Ethiopic}', "");
-Expect(1, 4607, '\P{- Is Ethiopic}', "");
-Expect(0, 4607, '\P{^- Is Ethiopic}', "");
-Error('\p{ -Ethi/a/}');
-Error('\P{ -Ethi/a/}');
-Expect(1, 4680, '\p{ethi}', "");
-Expect(0, 4680, '\p{^ethi}', "");
-Expect(0, 4680, '\P{ethi}', "");
-Expect(1, 4680, '\P{^ethi}', "");
-Expect(0, 4607, '\p{ethi}', "");
-Expect(1, 4607, '\p{^ethi}', "");
-Expect(1, 4607, '\P{ethi}', "");
-Expect(0, 4607, '\P{^ethi}', "");
-Expect(1, 4680, '\p{__Ethi}', "");
-Expect(0, 4680, '\p{^__Ethi}', "");
-Expect(0, 4680, '\P{__Ethi}', "");
-Expect(1, 4680, '\P{^__Ethi}', "");
-Expect(0, 4607, '\p{__Ethi}', "");
-Expect(1, 4607, '\p{^__Ethi}', "");
-Expect(1, 4607, '\P{__Ethi}', "");
-Expect(0, 4607, '\P{^__Ethi}', "");
-Error('\p{_Is:=Ethi}');
-Error('\P{_Is:=Ethi}');
-Expect(1, 4680, '\p{isethi}', "");
-Expect(0, 4680, '\p{^isethi}', "");
-Expect(0, 4680, '\P{isethi}', "");
-Expect(1, 4680, '\P{^isethi}', "");
-Expect(0, 4607, '\p{isethi}', "");
-Expect(1, 4607, '\p{^isethi}', "");
-Expect(1, 4607, '\P{isethi}', "");
-Expect(0, 4607, '\P{^isethi}', "");
-Expect(1, 4680, '\p{_-IS ethi}', "");
-Expect(0, 4680, '\p{^_-IS ethi}', "");
-Expect(0, 4680, '\P{_-IS ethi}', "");
-Expect(1, 4680, '\P{^_-IS ethi}', "");
-Expect(0, 4607, '\p{_-IS ethi}', "");
-Expect(1, 4607, '\p{^_-IS ethi}', "");
-Expect(1, 4607, '\P{_-IS ethi}', "");
-Expect(0, 4607, '\P{^_-IS ethi}', "");
-Error('\p{_-_x/a/BEGIN}');
-Error('\P{_-_x/a/BEGIN}');
-Expect(1, 126, '\p{_X_begin}', "");
-Expect(0, 126, '\p{^_X_begin}', "");
-Expect(0, 126, '\P{_X_begin}', "");
-Expect(1, 126, '\P{^_X_begin}', "");
-Expect(0, 31, '\p{_X_begin}', "");
-Expect(1, 31, '\p{^_X_begin}', "");
-Expect(1, 31, '\P{_X_begin}', "");
-Expect(0, 31, '\P{^_X_begin}', "");
-Error('\p{ Yi:=}');
-Error('\P{ Yi:=}');
-Expect(1, 42124, '\p{yi}', "");
-Expect(0, 42124, '\p{^yi}', "");
-Expect(0, 42124, '\P{yi}', "");
-Expect(1, 42124, '\P{^yi}', "");
-Expect(0, 40959, '\p{yi}', "");
-Expect(1, 40959, '\p{^yi}', "");
-Expect(1, 40959, '\P{yi}', "");
-Expect(0, 40959, '\P{^yi}', "");
-Expect(1, 42124, '\p{-yi}', "");
-Expect(0, 42124, '\p{^-yi}', "");
-Expect(0, 42124, '\P{-yi}', "");
-Expect(1, 42124, '\P{^-yi}', "");
-Expect(0, 40959, '\p{-yi}', "");
-Expect(1, 40959, '\p{^-yi}', "");
-Expect(1, 40959, '\P{-yi}', "");
-Expect(0, 40959, '\P{^-yi}', "");
-Error('\p{_Is yi:=}');
-Error('\P{_Is yi:=}');
-Expect(1, 42124, '\p{isyi}', "");
-Expect(0, 42124, '\p{^isyi}', "");
-Expect(0, 42124, '\P{isyi}', "");
-Expect(1, 42124, '\P{^isyi}', "");
-Expect(0, 40959, '\p{isyi}', "");
-Expect(1, 40959, '\p{^isyi}', "");
-Expect(1, 40959, '\P{isyi}', "");
-Expect(0, 40959, '\P{^isyi}', "");
-Expect(1, 42124, '\p{ is-yi}', "");
-Expect(0, 42124, '\p{^ is-yi}', "");
-Expect(0, 42124, '\P{ is-yi}', "");
-Expect(1, 42124, '\P{^ is-yi}', "");
-Expect(0, 40959, '\p{ is-yi}', "");
-Expect(1, 40959, '\p{^ is-yi}', "");
-Expect(1, 40959, '\P{ is-yi}', "");
-Expect(0, 40959, '\P{^ is-yi}', "");
-Error('\p{/a/_ yiii}');
-Error('\P{/a/_ yiii}');
-Expect(1, 42124, '\p{yiii}', "");
-Expect(0, 42124, '\p{^yiii}', "");
-Expect(0, 42124, '\P{yiii}', "");
-Expect(1, 42124, '\P{^yiii}', "");
-Expect(0, 40959, '\p{yiii}', "");
-Expect(1, 40959, '\p{^yiii}', "");
-Expect(1, 40959, '\P{yiii}', "");
-Expect(0, 40959, '\P{^yiii}', "");
-Expect(1, 42124, '\p{_ Yiii}', "");
-Expect(0, 42124, '\p{^_ Yiii}', "");
-Expect(0, 42124, '\P{_ Yiii}', "");
-Expect(1, 42124, '\P{^_ Yiii}', "");
-Expect(0, 40959, '\p{_ Yiii}', "");
-Expect(1, 40959, '\p{^_ Yiii}', "");
-Expect(1, 40959, '\P{_ Yiii}', "");
-Expect(0, 40959, '\P{^_ Yiii}', "");
-Error('\p{:=_ is-Yiii}');
-Error('\P{:=_ is-Yiii}');
-Expect(1, 42124, '\p{isyiii}', "");
-Expect(0, 42124, '\p{^isyiii}', "");
-Expect(0, 42124, '\P{isyiii}', "");
-Expect(1, 42124, '\P{^isyiii}', "");
-Expect(0, 40959, '\p{isyiii}', "");
-Expect(1, 40959, '\p{^isyiii}', "");
-Expect(1, 40959, '\P{isyiii}', "");
-Expect(0, 40959, '\P{^isyiii}', "");
-Expect(1, 42124, '\p{ _IS Yiii}', "");
-Expect(0, 42124, '\p{^ _IS Yiii}', "");
-Expect(0, 42124, '\P{ _IS Yiii}', "");
-Expect(1, 42124, '\P{^ _IS Yiii}', "");
-Expect(0, 40959, '\p{ _IS Yiii}', "");
-Expect(1, 40959, '\p{^ _IS Yiii}', "");
-Expect(1, 40959, '\P{ _IS Yiii}', "");
-Expect(0, 40959, '\P{^ _IS Yiii}', "");
-Error('\p{_/a/Gurmukhi}');
-Error('\P{_/a/Gurmukhi}');
-Expect(1, 2563, '\p{gurmukhi}', "");
-Expect(0, 2563, '\p{^gurmukhi}', "");
-Expect(0, 2563, '\P{gurmukhi}', "");
-Expect(1, 2563, '\P{^gurmukhi}', "");
-Expect(0, 2560, '\p{gurmukhi}', "");
-Expect(1, 2560, '\p{^gurmukhi}', "");
-Expect(1, 2560, '\P{gurmukhi}', "");
-Expect(0, 2560, '\P{^gurmukhi}', "");
-Expect(1, 2563, '\p{_-gurmukhi}', "");
-Expect(0, 2563, '\p{^_-gurmukhi}', "");
-Expect(0, 2563, '\P{_-gurmukhi}', "");
-Expect(1, 2563, '\P{^_-gurmukhi}', "");
-Expect(0, 2560, '\p{_-gurmukhi}', "");
-Expect(1, 2560, '\p{^_-gurmukhi}', "");
-Expect(1, 2560, '\P{_-gurmukhi}', "");
-Expect(0, 2560, '\P{^_-gurmukhi}', "");
-Error('\p{ :=Is GURMUKHI}');
-Error('\P{ :=Is GURMUKHI}');
-Expect(1, 2563, '\p{isgurmukhi}', "");
-Expect(0, 2563, '\p{^isgurmukhi}', "");
-Expect(0, 2563, '\P{isgurmukhi}', "");
-Expect(1, 2563, '\P{^isgurmukhi}', "");
-Expect(0, 2560, '\p{isgurmukhi}', "");
-Expect(1, 2560, '\p{^isgurmukhi}', "");
-Expect(1, 2560, '\P{isgurmukhi}', "");
-Expect(0, 2560, '\P{^isgurmukhi}', "");
-Expect(1, 2563, '\p{ IS gurmukhi}', "");
-Expect(0, 2563, '\p{^ IS gurmukhi}', "");
-Expect(0, 2563, '\P{ IS gurmukhi}', "");
-Expect(1, 2563, '\P{^ IS gurmukhi}', "");
-Expect(0, 2560, '\p{ IS gurmukhi}', "");
-Expect(1, 2560, '\p{^ IS gurmukhi}', "");
-Expect(1, 2560, '\P{ IS gurmukhi}', "");
-Expect(0, 2560, '\P{^ IS gurmukhi}', "");
-Error('\p{ _Guru/a/}');
-Error('\P{ _Guru/a/}');
-Expect(1, 2563, '\p{guru}', "");
-Expect(0, 2563, '\p{^guru}', "");
-Expect(0, 2563, '\P{guru}', "");
-Expect(1, 2563, '\P{^guru}', "");
-Expect(0, 2560, '\p{guru}', "");
-Expect(1, 2560, '\p{^guru}', "");
-Expect(1, 2560, '\P{guru}', "");
-Expect(0, 2560, '\P{^guru}', "");
-Expect(1, 2563, '\p{-Guru}', "");
-Expect(0, 2563, '\p{^-Guru}', "");
-Expect(0, 2563, '\P{-Guru}', "");
-Expect(1, 2563, '\P{^-Guru}', "");
-Expect(0, 2560, '\p{-Guru}', "");
-Expect(1, 2560, '\p{^-Guru}', "");
-Expect(1, 2560, '\P{-Guru}', "");
-Expect(0, 2560, '\P{^-Guru}', "");
-Error('\p{:= -ISGuru}');
-Error('\P{:= -ISGuru}');
-Expect(1, 2563, '\p{isguru}', "");
-Expect(0, 2563, '\p{^isguru}', "");
-Expect(0, 2563, '\P{isguru}', "");
-Expect(1, 2563, '\P{^isguru}', "");
-Expect(0, 2560, '\p{isguru}', "");
-Expect(1, 2560, '\p{^isguru}', "");
-Expect(1, 2560, '\P{isguru}', "");
-Expect(0, 2560, '\P{^isguru}', "");
-Expect(1, 2563, '\p{ Is GURU}', "");
-Expect(0, 2563, '\p{^ Is GURU}', "");
-Expect(0, 2563, '\P{ Is GURU}', "");
-Expect(1, 2563, '\P{^ Is GURU}', "");
-Expect(0, 2560, '\p{ Is GURU}', "");
-Expect(1, 2560, '\p{^ Is GURU}', "");
-Expect(1, 2560, '\P{ Is GURU}', "");
-Expect(0, 2560, '\P{^ Is GURU}', "");
-Error('\p{/a/_latinextended_B}');
-Error('\P{/a/_latinextended_B}');
-Expect(1, 591, '\p{latinextendedb}', "");
-Expect(0, 591, '\p{^latinextendedb}', "");
-Expect(0, 591, '\P{latinextendedb}', "");
-Expect(1, 591, '\P{^latinextendedb}', "");
-Expect(0, 383, '\p{latinextendedb}', "");
-Expect(1, 383, '\p{^latinextendedb}', "");
-Expect(1, 383, '\P{latinextendedb}', "");
-Expect(0, 383, '\P{^latinextendedb}', "");
-Expect(1, 591, '\p{ _LATIN extended b}', "");
-Expect(0, 591, '\p{^ _LATIN extended b}', "");
-Expect(0, 591, '\P{ _LATIN extended b}', "");
-Expect(1, 591, '\P{^ _LATIN extended b}', "");
-Expect(0, 383, '\p{ _LATIN extended b}', "");
-Expect(1, 383, '\p{^ _LATIN extended b}', "");
-Expect(1, 383, '\P{ _LATIN extended b}', "");
-Expect(0, 383, '\P{^ _LATIN extended b}', "");
-Error('\p{ IS latin Extended_B:=}');
-Error('\P{ IS latin Extended_B:=}');
-Expect(1, 591, '\p{islatinextendedb}', "");
-Expect(0, 591, '\p{^islatinextendedb}', "");
-Expect(0, 591, '\P{islatinextendedb}', "");
-Expect(1, 591, '\P{^islatinextendedb}', "");
-Expect(0, 383, '\p{islatinextendedb}', "");
-Expect(1, 383, '\p{^islatinextendedb}', "");
-Expect(1, 383, '\P{islatinextendedb}', "");
-Expect(0, 383, '\P{^islatinextendedb}', "");
-Expect(1, 591, '\p{-_is Latin_Extended B}', "");
-Expect(0, 591, '\p{^-_is Latin_Extended B}', "");
-Expect(0, 591, '\P{-_is Latin_Extended B}', "");
-Expect(1, 591, '\P{^-_is Latin_Extended B}', "");
-Expect(0, 383, '\p{-_is Latin_Extended B}', "");
-Expect(1, 383, '\p{^-_is Latin_Extended B}', "");
-Expect(1, 383, '\P{-_is Latin_Extended B}', "");
-Expect(0, 383, '\P{^-_is Latin_Extended B}', "");
-Error('\p{_/a/in latin-extended-B}');
-Error('\P{_/a/in latin-extended-B}');
-Expect(1, 591, '\p{inlatinextendedb}', "");
-Expect(0, 591, '\p{^inlatinextendedb}', "");
-Expect(0, 591, '\P{inlatinextendedb}', "");
-Expect(1, 591, '\P{^inlatinextendedb}', "");
-Expect(0, 383, '\p{inlatinextendedb}', "");
-Expect(1, 383, '\p{^inlatinextendedb}', "");
-Expect(1, 383, '\P{inlatinextendedb}', "");
-Expect(0, 383, '\P{^inlatinextendedb}', "");
-Expect(1, 591, '\p{ -IN LATIN_extended B}', "");
-Expect(0, 591, '\p{^ -IN LATIN_extended B}', "");
-Expect(0, 591, '\P{ -IN LATIN_extended B}', "");
-Expect(1, 591, '\P{^ -IN LATIN_extended B}', "");
-Expect(0, 383, '\p{ -IN LATIN_extended B}', "");
-Expect(1, 383, '\p{^ -IN LATIN_extended B}', "");
-Expect(1, 383, '\P{ -IN LATIN_extended B}', "");
-Expect(0, 383, '\P{^ -IN LATIN_extended B}', "");
-Error('\p{/a/_ Cyrillic}');
-Error('\P{/a/_ Cyrillic}');
-Expect(1, 1156, '\p{cyrillic}', "");
-Expect(0, 1156, '\p{^cyrillic}', "");
-Expect(0, 1156, '\P{cyrillic}', "");
-Expect(1, 1156, '\P{^cyrillic}', "");
-Expect(0, 1023, '\p{cyrillic}', "");
-Expect(1, 1023, '\p{^cyrillic}', "");
-Expect(1, 1023, '\P{cyrillic}', "");
-Expect(0, 1023, '\P{^cyrillic}', "");
-Expect(1, 1156, '\p{ _cyrillic}', "");
-Expect(0, 1156, '\p{^ _cyrillic}', "");
-Expect(0, 1156, '\P{ _cyrillic}', "");
-Expect(1, 1156, '\P{^ _cyrillic}', "");
-Expect(0, 1023, '\p{ _cyrillic}', "");
-Expect(1, 1023, '\p{^ _cyrillic}', "");
-Expect(1, 1023, '\P{ _cyrillic}', "");
-Expect(0, 1023, '\P{^ _cyrillic}', "");
-Error('\p{-:=Is cyrillic}');
-Error('\P{-:=Is cyrillic}');
-Expect(1, 1156, '\p{iscyrillic}', "");
-Expect(0, 1156, '\p{^iscyrillic}', "");
-Expect(0, 1156, '\P{iscyrillic}', "");
-Expect(1, 1156, '\P{^iscyrillic}', "");
-Expect(0, 1023, '\p{iscyrillic}', "");
-Expect(1, 1023, '\p{^iscyrillic}', "");
-Expect(1, 1023, '\P{iscyrillic}', "");
-Expect(0, 1023, '\P{^iscyrillic}', "");
-Expect(1, 1156, '\p{ Is cyrillic}', "");
-Expect(0, 1156, '\p{^ Is cyrillic}', "");
-Expect(0, 1156, '\P{ Is cyrillic}', "");
-Expect(1, 1156, '\P{^ Is cyrillic}', "");
-Expect(0, 1023, '\p{ Is cyrillic}', "");
-Expect(1, 1023, '\p{^ Is cyrillic}', "");
-Expect(1, 1023, '\P{ Is cyrillic}', "");
-Expect(0, 1023, '\P{^ Is cyrillic}', "");
-Error('\p{/a/ cyrl}');
-Error('\P{/a/ cyrl}');
-Expect(1, 1156, '\p{cyrl}', "");
-Expect(0, 1156, '\p{^cyrl}', "");
-Expect(0, 1156, '\P{cyrl}', "");
-Expect(1, 1156, '\P{^cyrl}', "");
-Expect(0, 1023, '\p{cyrl}', "");
-Expect(1, 1023, '\p{^cyrl}', "");
-Expect(1, 1023, '\P{cyrl}', "");
-Expect(0, 1023, '\P{^cyrl}', "");
-Expect(1, 1156, '\p{-_cyrl}', "");
-Expect(0, 1156, '\p{^-_cyrl}', "");
-Expect(0, 1156, '\P{-_cyrl}', "");
-Expect(1, 1156, '\P{^-_cyrl}', "");
-Expect(0, 1023, '\p{-_cyrl}', "");
-Expect(1, 1023, '\p{^-_cyrl}', "");
-Expect(1, 1023, '\P{-_cyrl}', "");
-Expect(0, 1023, '\P{^-_cyrl}', "");
-Error('\p{ IsCyrl/a/}');
-Error('\P{ IsCyrl/a/}');
-Expect(1, 1156, '\p{iscyrl}', "");
-Expect(0, 1156, '\p{^iscyrl}', "");
-Expect(0, 1156, '\P{iscyrl}', "");
-Expect(1, 1156, '\P{^iscyrl}', "");
-Expect(0, 1023, '\p{iscyrl}', "");
-Expect(1, 1023, '\p{^iscyrl}', "");
-Expect(1, 1023, '\P{iscyrl}', "");
-Expect(0, 1023, '\P{^iscyrl}', "");
-Expect(1, 1156, '\p{_ IS CYRL}', "");
-Expect(0, 1156, '\p{^_ IS CYRL}', "");
-Expect(0, 1156, '\P{_ IS CYRL}', "");
-Expect(1, 1156, '\P{^_ IS CYRL}', "");
-Expect(0, 1023, '\p{_ IS CYRL}', "");
-Expect(1, 1023, '\p{^_ IS CYRL}', "");
-Expect(1, 1023, '\P{_ IS CYRL}', "");
-Expect(0, 1023, '\P{^_ IS CYRL}', "");
-Error('\p{ latin-Extended:=c}');
-Error('\P{ latin-Extended:=c}');
-Expect(1, 11391, '\p{latinextendedc}', "");
-Expect(0, 11391, '\p{^latinextendedc}', "");
-Expect(0, 11391, '\P{latinextendedc}', "");
-Expect(1, 11391, '\P{^latinextendedc}', "");
-Expect(0, 11359, '\p{latinextendedc}', "");
-Expect(1, 11359, '\p{^latinextendedc}', "");
-Expect(1, 11359, '\P{latinextendedc}', "");
-Expect(0, 11359, '\P{^latinextendedc}', "");
-Expect(1, 11391, '\p{_-LATIN-Extendedc}', "");
-Expect(0, 11391, '\p{^_-LATIN-Extendedc}', "");
-Expect(0, 11391, '\P{_-LATIN-Extendedc}', "");
-Expect(1, 11391, '\P{^_-LATIN-Extendedc}', "");
-Expect(0, 11359, '\p{_-LATIN-Extendedc}', "");
-Expect(1, 11359, '\p{^_-LATIN-Extendedc}', "");
-Expect(1, 11359, '\P{_-LATIN-Extendedc}', "");
-Expect(0, 11359, '\P{^_-LATIN-Extendedc}', "");
-Error('\p{-IS-LATIN:=Extended c}');
-Error('\P{-IS-LATIN:=Extended c}');
-Expect(1, 11391, '\p{islatinextendedc}', "");
-Expect(0, 11391, '\p{^islatinextendedc}', "");
-Expect(0, 11391, '\P{islatinextendedc}', "");
-Expect(1, 11391, '\P{^islatinextendedc}', "");
-Expect(0, 11359, '\p{islatinextendedc}', "");
-Expect(1, 11359, '\p{^islatinextendedc}', "");
-Expect(1, 11359, '\P{islatinextendedc}', "");
-Expect(0, 11359, '\P{^islatinextendedc}', "");
-Expect(1, 11391, '\p{- is Latin Extended c}', "");
-Expect(0, 11391, '\p{^- is Latin Extended c}', "");
-Expect(0, 11391, '\P{- is Latin Extended c}', "");
-Expect(1, 11391, '\P{^- is Latin Extended c}', "");
-Expect(0, 11359, '\p{- is Latin Extended c}', "");
-Expect(1, 11359, '\p{^- is Latin Extended c}', "");
-Expect(1, 11359, '\P{- is Latin Extended c}', "");
-Expect(0, 11359, '\P{^- is Latin Extended c}', "");
-Error('\p{ In-latin Extended:=C}');
-Error('\P{ In-latin Extended:=C}');
-Expect(1, 11391, '\p{inlatinextendedc}', "");
-Expect(0, 11391, '\p{^inlatinextendedc}', "");
-Expect(0, 11391, '\P{inlatinextendedc}', "");
-Expect(1, 11391, '\P{^inlatinextendedc}', "");
-Expect(0, 11359, '\p{inlatinextendedc}', "");
-Expect(1, 11359, '\p{^inlatinextendedc}', "");
-Expect(1, 11359, '\P{inlatinextendedc}', "");
-Expect(0, 11359, '\P{^inlatinextendedc}', "");
-Expect(1, 11391, '\p{-inlatin-Extended C}', "");
-Expect(0, 11391, '\p{^-inlatin-Extended C}', "");
-Expect(0, 11391, '\P{-inlatin-Extended C}', "");
-Expect(1, 11391, '\P{^-inlatin-Extended C}', "");
-Expect(0, 11359, '\p{-inlatin-Extended C}', "");
-Expect(1, 11359, '\p{^-inlatin-Extended C}', "");
-Expect(1, 11359, '\P{-inlatin-Extended C}', "");
-Expect(0, 11359, '\P{^-inlatin-Extended C}', "");
-Error('\p{_IN:=Rejang}');
-Error('\P{_IN:=Rejang}');
-Expect(1, 43359, '\p{inrejang}', "");
-Expect(0, 43359, '\p{^inrejang}', "");
-Expect(0, 43359, '\P{inrejang}', "");
-Expect(1, 43359, '\P{^inrejang}', "");
-Expect(0, 43311, '\p{inrejang}', "");
-Expect(1, 43311, '\p{^inrejang}', "");
-Expect(1, 43311, '\P{inrejang}', "");
-Expect(0, 43311, '\P{^inrejang}', "");
-Expect(1, 43359, '\p{_INREJANG}', "");
-Expect(0, 43359, '\p{^_INREJANG}', "");
-Expect(0, 43359, '\P{_INREJANG}', "");
-Expect(1, 43359, '\P{^_INREJANG}', "");
-Expect(0, 43311, '\p{_INREJANG}', "");
-Expect(1, 43311, '\p{^_INREJANG}', "");
-Expect(1, 43311, '\P{_INREJANG}', "");
-Expect(0, 43311, '\P{^_INREJANG}', "");
-Error('\p{ :=combining DIACRITICAL_MARKS SUPPLEMENT}');
-Error('\P{ :=combining DIACRITICAL_MARKS SUPPLEMENT}');
-Expect(1, 7679, '\p{combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{combiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^combiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(0, 7679, '\p{^_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(0, 7679, '\P{_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(1, 7679, '\P{^_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(0, 7615, '\p{_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(1, 7615, '\p{^_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(1, 7615, '\P{_ Combining DIACRITICAL Marks-Supplement}', "");
-Expect(0, 7615, '\P{^_ Combining DIACRITICAL Marks-Supplement}', "");
-Error('\p{- is_Combining_DiacriticalMARKSSUPPLEMENT:=}');
-Error('\P{- is_Combining_DiacriticalMARKSSUPPLEMENT:=}');
-Expect(1, 7679, '\p{iscombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^iscombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{iscombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^iscombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{iscombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^iscombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{iscombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^iscombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(0, 7679, '\p{^- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(0, 7679, '\P{- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(1, 7679, '\P{^- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(0, 7615, '\p{- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(1, 7615, '\p{^- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(1, 7615, '\P{- IS-combining_DIACRITICAL marks-Supplement}', "");
-Expect(0, 7615, '\P{^- IS-combining_DIACRITICAL marks-Supplement}', "");
-Error('\p{:=In combining DiacriticalMARKSSupplement}');
-Error('\P{:=In combining DiacriticalMARKSSupplement}');
-Expect(1, 7679, '\p{incombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\p{^incombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7679, '\P{incombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\P{^incombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\p{incombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\p{^incombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7615, '\P{incombiningdiacriticalmarkssupplement}', "");
-Expect(0, 7615, '\P{^incombiningdiacriticalmarkssupplement}', "");
-Expect(1, 7679, '\p{ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(0, 7679, '\p{^ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(0, 7679, '\P{ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(1, 7679, '\P{^ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(0, 7615, '\p{ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(1, 7615, '\p{^ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(1, 7615, '\P{ _IN CombiningDiacritical-MARKS supplement}', "");
-Expect(0, 7615, '\P{^ _IN CombiningDiacritical-MARKS supplement}', "");
-Error('\p{:=_ STERM}');
-Error('\P{:=_ STERM}');
-Expect(1, 33, '\p{sterm}', "");
-Expect(0, 33, '\p{^sterm}', "");
-Expect(0, 33, '\P{sterm}', "");
-Expect(1, 33, '\P{^sterm}', "");
-Expect(0, 32, '\p{sterm}', "");
-Expect(1, 32, '\p{^sterm}', "");
-Expect(1, 32, '\P{sterm}', "");
-Expect(0, 32, '\P{^sterm}', "");
-Expect(1, 33, '\p{ -STerm}', "");
-Expect(0, 33, '\p{^ -STerm}', "");
-Expect(0, 33, '\P{ -STerm}', "");
-Expect(1, 33, '\P{^ -STerm}', "");
-Expect(0, 32, '\p{ -STerm}', "");
-Expect(1, 32, '\p{^ -STerm}', "");
-Expect(1, 32, '\P{ -STerm}', "");
-Expect(0, 32, '\P{^ -STerm}', "");
-Error('\p{_ isSTerm/a/}');
-Error('\P{_ isSTerm/a/}');
-Expect(1, 33, '\p{issterm}', "");
-Expect(0, 33, '\p{^issterm}', "");
-Expect(0, 33, '\P{issterm}', "");
-Expect(1, 33, '\P{^issterm}', "");
-Expect(0, 32, '\p{issterm}', "");
-Expect(1, 32, '\p{^issterm}', "");
-Expect(1, 32, '\P{issterm}', "");
-Expect(0, 32, '\P{^issterm}', "");
-Expect(1, 33, '\p{-IS STERM}', "");
-Expect(0, 33, '\p{^-IS STERM}', "");
-Expect(0, 33, '\P{-IS STERM}', "");
-Expect(1, 33, '\P{^-IS STERM}', "");
-Expect(0, 32, '\p{-IS STERM}', "");
-Expect(1, 32, '\p{^-IS STERM}', "");
-Expect(1, 32, '\P{-IS STERM}', "");
-Expect(0, 32, '\P{^-IS STERM}', "");
-Error('\p{:= inkannada}');
-Error('\P{:= inkannada}');
-Expect(1, 3327, '\p{inkannada}', "");
-Expect(0, 3327, '\p{^inkannada}', "");
-Expect(0, 3327, '\P{inkannada}', "");
-Expect(1, 3327, '\P{^inkannada}', "");
-Expect(0, 3199, '\p{inkannada}', "");
-Expect(1, 3199, '\p{^inkannada}', "");
-Expect(1, 3199, '\P{inkannada}', "");
-Expect(0, 3199, '\P{^inkannada}', "");
-Expect(1, 3327, '\p{ _IN_Kannada}', "");
-Expect(0, 3327, '\p{^ _IN_Kannada}', "");
-Expect(0, 3327, '\P{ _IN_Kannada}', "");
-Expect(1, 3327, '\P{^ _IN_Kannada}', "");
-Expect(0, 3199, '\p{ _IN_Kannada}', "");
-Expect(1, 3199, '\p{^ _IN_Kannada}', "");
-Expect(1, 3199, '\P{ _IN_Kannada}', "");
-Expect(0, 3199, '\P{^ _IN_Kannada}', "");
-Error('\p{/a/ -Word}');
-Error('\P{/a/ -Word}');
-Expect(1, 57, '\p{word}', "");
-Expect(0, 57, '\p{^word}', "");
-Expect(0, 57, '\P{word}', "");
-Expect(1, 57, '\P{^word}', "");
-Expect(0, 47, '\p{word}', "");
-Expect(1, 47, '\p{^word}', "");
-Expect(1, 47, '\P{word}', "");
-Expect(0, 47, '\P{^word}', "");
-Expect(1, 57, '\p{ _word}', "");
-Expect(0, 57, '\p{^ _word}', "");
-Expect(0, 57, '\P{ _word}', "");
-Expect(1, 57, '\P{^ _word}', "");
-Expect(0, 47, '\p{ _word}', "");
-Expect(1, 47, '\p{^ _word}', "");
-Expect(1, 47, '\P{ _word}', "");
-Expect(0, 47, '\P{^ _word}', "");
-Error('\p{-:=ISWORD}');
-Error('\P{-:=ISWORD}');
-Expect(1, 57, '\p{isword}', "");
-Expect(0, 57, '\p{^isword}', "");
-Expect(0, 57, '\P{isword}', "");
-Expect(1, 57, '\P{^isword}', "");
-Expect(0, 47, '\p{isword}', "");
-Expect(1, 47, '\p{^isword}', "");
-Expect(1, 47, '\P{isword}', "");
-Expect(0, 47, '\P{^isword}', "");
-Expect(1, 57, '\p{ -IS Word}', "");
-Expect(0, 57, '\p{^ -IS Word}', "");
-Expect(0, 57, '\P{ -IS Word}', "");
-Expect(1, 57, '\P{^ -IS Word}', "");
-Expect(0, 47, '\p{ -IS Word}', "");
-Expect(1, 47, '\p{^ -IS Word}', "");
-Expect(1, 47, '\P{ -IS Word}', "");
-Expect(0, 47, '\P{^ -IS Word}', "");
-Error('\p{ /a/softdotted}');
-Error('\P{ /a/softdotted}');
-Expect(1, 106, '\p{softdotted}', "");
-Expect(0, 106, '\p{^softdotted}', "");
-Expect(0, 106, '\P{softdotted}', "");
-Expect(1, 106, '\P{^softdotted}', "");
-Expect(0, 104, '\p{softdotted}', "");
-Expect(1, 104, '\p{^softdotted}', "");
-Expect(1, 104, '\P{softdotted}', "");
-Expect(0, 104, '\P{^softdotted}', "");
-Expect(1, 106, '\p{__soft dotted}', "");
-Expect(0, 106, '\p{^__soft dotted}', "");
-Expect(0, 106, '\P{__soft dotted}', "");
-Expect(1, 106, '\P{^__soft dotted}', "");
-Expect(0, 104, '\p{__soft dotted}', "");
-Expect(1, 104, '\p{^__soft dotted}', "");
-Expect(1, 104, '\P{__soft dotted}', "");
-Expect(0, 104, '\P{^__soft dotted}', "");
-Error('\p{ IsSoft dotted:=}');
-Error('\P{ IsSoft dotted:=}');
-Expect(1, 106, '\p{issoftdotted}', "");
-Expect(0, 106, '\p{^issoftdotted}', "");
-Expect(0, 106, '\P{issoftdotted}', "");
-Expect(1, 106, '\P{^issoftdotted}', "");
-Expect(0, 104, '\p{issoftdotted}', "");
-Expect(1, 104, '\p{^issoftdotted}', "");
-Expect(1, 104, '\P{issoftdotted}', "");
-Expect(0, 104, '\P{^issoftdotted}', "");
-Expect(1, 106, '\p{ Is-soft Dotted}', "");
-Expect(0, 106, '\p{^ Is-soft Dotted}', "");
-Expect(0, 106, '\P{ Is-soft Dotted}', "");
-Expect(1, 106, '\P{^ Is-soft Dotted}', "");
-Expect(0, 104, '\p{ Is-soft Dotted}', "");
-Expect(1, 104, '\p{^ Is-soft Dotted}', "");
-Expect(1, 104, '\P{ Is-soft Dotted}', "");
-Expect(0, 104, '\P{^ Is-soft Dotted}', "");
-Error('\p{__SD/a/}');
-Error('\P{__SD/a/}');
-Expect(1, 106, '\p{sd}', "");
-Expect(0, 106, '\p{^sd}', "");
-Expect(0, 106, '\P{sd}', "");
-Expect(1, 106, '\P{^sd}', "");
-Expect(0, 104, '\p{sd}', "");
-Expect(1, 104, '\p{^sd}', "");
-Expect(1, 104, '\P{sd}', "");
-Expect(0, 104, '\P{^sd}', "");
-Expect(1, 106, '\p{ SD}', "");
-Expect(0, 106, '\p{^ SD}', "");
-Expect(0, 106, '\P{ SD}', "");
-Expect(1, 106, '\P{^ SD}', "");
-Expect(0, 104, '\p{ SD}', "");
-Expect(1, 104, '\p{^ SD}', "");
-Expect(1, 104, '\P{ SD}', "");
-Expect(0, 104, '\P{^ SD}', "");
-Error('\p{:=Is SD}');
-Error('\P{:=Is SD}');
-Expect(1, 106, '\p{issd}', "");
-Expect(0, 106, '\p{^issd}', "");
-Expect(0, 106, '\P{issd}', "");
-Expect(1, 106, '\P{^issd}', "");
-Expect(0, 104, '\p{issd}', "");
-Expect(1, 104, '\p{^issd}', "");
-Expect(1, 104, '\P{issd}', "");
-Expect(0, 104, '\P{^issd}', "");
-Expect(1, 106, '\p{- IS-SD}', "");
-Expect(0, 106, '\p{^- IS-SD}', "");
-Expect(0, 106, '\P{- IS-SD}', "");
-Expect(1, 106, '\P{^- IS-SD}', "");
-Expect(0, 104, '\p{- IS-SD}', "");
-Expect(1, 104, '\p{^- IS-SD}', "");
-Expect(1, 104, '\P{- IS-SD}', "");
-Expect(0, 104, '\P{^- IS-SD}', "");
-Error('\p{:=- _CanonDCIJ}');
-Error('\P{:=- _CanonDCIJ}');
-Expect(1, 106, '\p{_CanonDCIJ}', "");
-Expect(0, 106, '\p{^_CanonDCIJ}', "");
-Expect(0, 106, '\P{_CanonDCIJ}', "");
-Expect(1, 106, '\P{^_CanonDCIJ}', "");
-Expect(0, 104, '\p{_CanonDCIJ}', "");
-Expect(1, 104, '\p{^_CanonDCIJ}', "");
-Expect(1, 104, '\P{_CanonDCIJ}', "");
-Expect(0, 104, '\P{^_CanonDCIJ}', "");
-Error('\p{ Avestan:=}');
-Error('\P{ Avestan:=}');
-Expect(1, 68405, '\p{avestan}', "");
-Expect(0, 68405, '\p{^avestan}', "");
-Expect(0, 68405, '\P{avestan}', "");
-Expect(1, 68405, '\P{^avestan}', "");
-Expect(0, 68351, '\p{avestan}', "");
-Expect(1, 68351, '\p{^avestan}', "");
-Expect(1, 68351, '\P{avestan}', "");
-Expect(0, 68351, '\P{^avestan}', "");
-Expect(1, 68405, '\p{-_Avestan}', "");
-Expect(0, 68405, '\p{^-_Avestan}', "");
-Expect(0, 68405, '\P{-_Avestan}', "");
-Expect(1, 68405, '\P{^-_Avestan}', "");
-Expect(0, 68351, '\p{-_Avestan}', "");
-Expect(1, 68351, '\p{^-_Avestan}', "");
-Expect(1, 68351, '\P{-_Avestan}', "");
-Expect(0, 68351, '\P{^-_Avestan}', "");
-Error('\p{- ISAvestan:=}');
-Error('\P{- ISAvestan:=}');
-Expect(1, 68405, '\p{isavestan}', "");
-Expect(0, 68405, '\p{^isavestan}', "");
-Expect(0, 68405, '\P{isavestan}', "");
-Expect(1, 68405, '\P{^isavestan}', "");
-Expect(0, 68351, '\p{isavestan}', "");
-Expect(1, 68351, '\p{^isavestan}', "");
-Expect(1, 68351, '\P{isavestan}', "");
-Expect(0, 68351, '\P{^isavestan}', "");
-Expect(1, 68405, '\p{ -IsAvestan}', "");
-Expect(0, 68405, '\p{^ -IsAvestan}', "");
-Expect(0, 68405, '\P{ -IsAvestan}', "");
-Expect(1, 68405, '\P{^ -IsAvestan}', "");
-Expect(0, 68351, '\p{ -IsAvestan}', "");
-Expect(1, 68351, '\p{^ -IsAvestan}', "");
-Expect(1, 68351, '\P{ -IsAvestan}', "");
-Expect(0, 68351, '\P{^ -IsAvestan}', "");
-Error('\p{:= avst}');
-Error('\P{:= avst}');
-Expect(1, 68405, '\p{avst}', "");
-Expect(0, 68405, '\p{^avst}', "");
-Expect(0, 68405, '\P{avst}', "");
-Expect(1, 68405, '\P{^avst}', "");
-Expect(0, 68351, '\p{avst}', "");
-Expect(1, 68351, '\p{^avst}', "");
-Expect(1, 68351, '\P{avst}', "");
-Expect(0, 68351, '\P{^avst}', "");
-Expect(1, 68405, '\p{ Avst}', "");
-Expect(0, 68405, '\p{^ Avst}', "");
-Expect(0, 68405, '\P{ Avst}', "");
-Expect(1, 68405, '\P{^ Avst}', "");
-Expect(0, 68351, '\p{ Avst}', "");
-Expect(1, 68351, '\p{^ Avst}', "");
-Expect(1, 68351, '\P{ Avst}', "");
-Expect(0, 68351, '\P{^ Avst}', "");
-Error('\p{-:=Is Avst}');
-Error('\P{-:=Is Avst}');
-Expect(1, 68405, '\p{isavst}', "");
-Expect(0, 68405, '\p{^isavst}', "");
-Expect(0, 68405, '\P{isavst}', "");
-Expect(1, 68405, '\P{^isavst}', "");
-Expect(0, 68351, '\p{isavst}', "");
-Expect(1, 68351, '\p{^isavst}', "");
-Expect(1, 68351, '\P{isavst}', "");
-Expect(0, 68351, '\P{^isavst}', "");
-Expect(1, 68405, '\p{_ is avst}', "");
-Expect(0, 68405, '\p{^_ is avst}', "");
-Expect(0, 68405, '\P{_ is avst}', "");
-Expect(1, 68405, '\P{^_ is avst}', "");
-Expect(0, 68351, '\p{_ is avst}', "");
-Expect(1, 68351, '\p{^_ is avst}', "");
-Expect(1, 68351, '\P{_ is avst}', "");
-Expect(0, 68351, '\P{^_ is avst}', "");
-Error('\p{ -Control:=Pictures}');
-Error('\P{ -Control:=Pictures}');
-Expect(1, 9279, '\p{controlpictures}', "");
-Expect(0, 9279, '\p{^controlpictures}', "");
-Expect(0, 9279, '\P{controlpictures}', "");
-Expect(1, 9279, '\P{^controlpictures}', "");
-Expect(0, 9215, '\p{controlpictures}', "");
-Expect(1, 9215, '\p{^controlpictures}', "");
-Expect(1, 9215, '\P{controlpictures}', "");
-Expect(0, 9215, '\P{^controlpictures}', "");
-Expect(1, 9279, '\p{- ControlPictures}', "");
-Expect(0, 9279, '\p{^- ControlPictures}', "");
-Expect(0, 9279, '\P{- ControlPictures}', "");
-Expect(1, 9279, '\P{^- ControlPictures}', "");
-Expect(0, 9215, '\p{- ControlPictures}', "");
-Expect(1, 9215, '\p{^- ControlPictures}', "");
-Expect(1, 9215, '\P{- ControlPictures}', "");
-Expect(0, 9215, '\P{^- ControlPictures}', "");
-Error('\p{ Is:=CONTROL_Pictures}');
-Error('\P{ Is:=CONTROL_Pictures}');
-Expect(1, 9279, '\p{iscontrolpictures}', "");
-Expect(0, 9279, '\p{^iscontrolpictures}', "");
-Expect(0, 9279, '\P{iscontrolpictures}', "");
-Expect(1, 9279, '\P{^iscontrolpictures}', "");
-Expect(0, 9215, '\p{iscontrolpictures}', "");
-Expect(1, 9215, '\p{^iscontrolpictures}', "");
-Expect(1, 9215, '\P{iscontrolpictures}', "");
-Expect(0, 9215, '\P{^iscontrolpictures}', "");
-Expect(1, 9279, '\p{Is control Pictures}', "");
-Expect(0, 9279, '\p{^Is control Pictures}', "");
-Expect(0, 9279, '\P{Is control Pictures}', "");
-Expect(1, 9279, '\P{^Is control Pictures}', "");
-Expect(0, 9215, '\p{Is control Pictures}', "");
-Expect(1, 9215, '\p{^Is control Pictures}', "");
-Expect(1, 9215, '\P{Is control Pictures}', "");
-Expect(0, 9215, '\P{^Is control Pictures}', "");
-Error('\p{ In Control/a/Pictures}');
-Error('\P{ In Control/a/Pictures}');
-Expect(1, 9279, '\p{incontrolpictures}', "");
-Expect(0, 9279, '\p{^incontrolpictures}', "");
-Expect(0, 9279, '\P{incontrolpictures}', "");
-Expect(1, 9279, '\P{^incontrolpictures}', "");
-Expect(0, 9215, '\p{incontrolpictures}', "");
-Expect(1, 9215, '\p{^incontrolpictures}', "");
-Expect(1, 9215, '\P{incontrolpictures}', "");
-Expect(0, 9215, '\P{^incontrolpictures}', "");
-Expect(1, 9279, '\p{_In-CONTROL_Pictures}', "");
-Expect(0, 9279, '\p{^_In-CONTROL_Pictures}', "");
-Expect(0, 9279, '\P{_In-CONTROL_Pictures}', "");
-Expect(1, 9279, '\P{^_In-CONTROL_Pictures}', "");
-Expect(0, 9215, '\p{_In-CONTROL_Pictures}', "");
-Expect(1, 9215, '\p{^_In-CONTROL_Pictures}', "");
-Expect(1, 9215, '\P{_In-CONTROL_Pictures}', "");
-Expect(0, 9215, '\P{^_In-CONTROL_Pictures}', "");
-Error('\p{_/a/LatinEXTENDED A}');
-Error('\P{_/a/LatinEXTENDED A}');
-Expect(1, 383, '\p{latinextendeda}', "");
-Expect(0, 383, '\p{^latinextendeda}', "");
-Expect(0, 383, '\P{latinextendeda}', "");
-Expect(1, 383, '\P{^latinextendeda}', "");
-Expect(0, 255, '\p{latinextendeda}', "");
-Expect(1, 255, '\p{^latinextendeda}', "");
-Expect(1, 255, '\P{latinextendeda}', "");
-Expect(0, 255, '\P{^latinextendeda}', "");
-Expect(1, 383, '\p{_ Latin extended_a}', "");
-Expect(0, 383, '\p{^_ Latin extended_a}', "");
-Expect(0, 383, '\P{_ Latin extended_a}', "");
-Expect(1, 383, '\P{^_ Latin extended_a}', "");
-Expect(0, 255, '\p{_ Latin extended_a}', "");
-Expect(1, 255, '\p{^_ Latin extended_a}', "");
-Expect(1, 255, '\P{_ Latin extended_a}', "");
-Expect(0, 255, '\P{^_ Latin extended_a}', "");
-Error('\p{ IsLatinextendedA:=}');
-Error('\P{ IsLatinextendedA:=}');
-Expect(1, 383, '\p{islatinextendeda}', "");
-Expect(0, 383, '\p{^islatinextendeda}', "");
-Expect(0, 383, '\P{islatinextendeda}', "");
-Expect(1, 383, '\P{^islatinextendeda}', "");
-Expect(0, 255, '\p{islatinextendeda}', "");
-Expect(1, 255, '\p{^islatinextendeda}', "");
-Expect(1, 255, '\P{islatinextendeda}', "");
-Expect(0, 255, '\P{^islatinextendeda}', "");
-Expect(1, 383, '\p{-_Is LATIN extended_A}', "");
-Expect(0, 383, '\p{^-_Is LATIN extended_A}', "");
-Expect(0, 383, '\P{-_Is LATIN extended_A}', "");
-Expect(1, 383, '\P{^-_Is LATIN extended_A}', "");
-Expect(0, 255, '\p{-_Is LATIN extended_A}', "");
-Expect(1, 255, '\p{^-_Is LATIN extended_A}', "");
-Expect(1, 255, '\P{-_Is LATIN extended_A}', "");
-Expect(0, 255, '\P{^-_Is LATIN extended_A}', "");
-Error('\p{ IN-Latin:=extended_A}');
-Error('\P{ IN-Latin:=extended_A}');
-Expect(1, 383, '\p{inlatinextendeda}', "");
-Expect(0, 383, '\p{^inlatinextendeda}', "");
-Expect(0, 383, '\P{inlatinextendeda}', "");
-Expect(1, 383, '\P{^inlatinextendeda}', "");
-Expect(0, 255, '\p{inlatinextendeda}', "");
-Expect(1, 255, '\p{^inlatinextendeda}', "");
-Expect(1, 255, '\P{inlatinextendeda}', "");
-Expect(0, 255, '\P{^inlatinextendeda}', "");
-Expect(1, 383, '\p{ in Latin EXTENDED A}', "");
-Expect(0, 383, '\p{^ in Latin EXTENDED A}', "");
-Expect(0, 383, '\P{ in Latin EXTENDED A}', "");
-Expect(1, 383, '\P{^ in Latin EXTENDED A}', "");
-Expect(0, 255, '\p{ in Latin EXTENDED A}', "");
-Expect(1, 255, '\p{^ in Latin EXTENDED A}', "");
-Expect(1, 255, '\P{ in Latin EXTENDED A}', "");
-Expect(0, 255, '\P{^ in Latin EXTENDED A}', "");
-Error('\p{ /a/Gujarati}');
-Error('\P{ /a/Gujarati}');
-Expect(1, 2691, '\p{gujarati}', "");
-Expect(0, 2691, '\p{^gujarati}', "");
-Expect(0, 2691, '\P{gujarati}', "");
-Expect(1, 2691, '\P{^gujarati}', "");
-Expect(0, 2688, '\p{gujarati}', "");
-Expect(1, 2688, '\p{^gujarati}', "");
-Expect(1, 2688, '\P{gujarati}', "");
-Expect(0, 2688, '\P{^gujarati}', "");
-Expect(1, 2691, '\p{_-GUJARATI}', "");
-Expect(0, 2691, '\p{^_-GUJARATI}', "");
-Expect(0, 2691, '\P{_-GUJARATI}', "");
-Expect(1, 2691, '\P{^_-GUJARATI}', "");
-Expect(0, 2688, '\p{_-GUJARATI}', "");
-Expect(1, 2688, '\p{^_-GUJARATI}', "");
-Expect(1, 2688, '\P{_-GUJARATI}', "");
-Expect(0, 2688, '\P{^_-GUJARATI}', "");
-Error('\p{:=- IS-Gujarati}');
-Error('\P{:=- IS-Gujarati}');
-Expect(1, 2691, '\p{isgujarati}', "");
-Expect(0, 2691, '\p{^isgujarati}', "");
-Expect(0, 2691, '\P{isgujarati}', "");
-Expect(1, 2691, '\P{^isgujarati}', "");
-Expect(0, 2688, '\p{isgujarati}', "");
-Expect(1, 2688, '\p{^isgujarati}', "");
-Expect(1, 2688, '\P{isgujarati}', "");
-Expect(0, 2688, '\P{^isgujarati}', "");
-Expect(1, 2691, '\p{-Is-Gujarati}', "");
-Expect(0, 2691, '\p{^-Is-Gujarati}', "");
-Expect(0, 2691, '\P{-Is-Gujarati}', "");
-Expect(1, 2691, '\P{^-Is-Gujarati}', "");
-Expect(0, 2688, '\p{-Is-Gujarati}', "");
-Expect(1, 2688, '\p{^-Is-Gujarati}', "");
-Expect(1, 2688, '\P{-Is-Gujarati}', "");
-Expect(0, 2688, '\P{^-Is-Gujarati}', "");
-Error('\p{ _Gujr/a/}');
-Error('\P{ _Gujr/a/}');
-Expect(1, 2691, '\p{gujr}', "");
-Expect(0, 2691, '\p{^gujr}', "");
-Expect(0, 2691, '\P{gujr}', "");
-Expect(1, 2691, '\P{^gujr}', "");
-Expect(0, 2688, '\p{gujr}', "");
-Expect(1, 2688, '\p{^gujr}', "");
-Expect(1, 2688, '\P{gujr}', "");
-Expect(0, 2688, '\P{^gujr}', "");
-Expect(1, 2691, '\p{_-Gujr}', "");
-Expect(0, 2691, '\p{^_-Gujr}', "");
-Expect(0, 2691, '\P{_-Gujr}', "");
-Expect(1, 2691, '\P{^_-Gujr}', "");
-Expect(0, 2688, '\p{_-Gujr}', "");
-Expect(1, 2688, '\p{^_-Gujr}', "");
-Expect(1, 2688, '\P{_-Gujr}', "");
-Expect(0, 2688, '\P{^_-Gujr}', "");
-Error('\p{/a/ Is Gujr}');
-Error('\P{/a/ Is Gujr}');
-Expect(1, 2691, '\p{isgujr}', "");
-Expect(0, 2691, '\p{^isgujr}', "");
-Expect(0, 2691, '\P{isgujr}', "");
-Expect(1, 2691, '\P{^isgujr}', "");
-Expect(0, 2688, '\p{isgujr}', "");
-Expect(1, 2688, '\p{^isgujr}', "");
-Expect(1, 2688, '\P{isgujr}', "");
-Expect(0, 2688, '\P{^isgujr}', "");
-Expect(1, 2691, '\p{ -Is Gujr}', "");
-Expect(0, 2691, '\p{^ -Is Gujr}', "");
-Expect(0, 2691, '\P{ -Is Gujr}', "");
-Expect(1, 2691, '\P{^ -Is Gujr}', "");
-Expect(0, 2688, '\p{ -Is Gujr}', "");
-Expect(1, 2688, '\p{^ -Is Gujr}', "");
-Expect(1, 2688, '\P{ -Is Gujr}', "");
-Expect(0, 2688, '\P{^ -Is Gujr}', "");
-Error('\p{ SpacePerl/a/}');
-Error('\P{ SpacePerl/a/}');
-Expect(1, 10, '\p{spaceperl}', "");
-Expect(0, 10, '\p{^spaceperl}', "");
-Expect(0, 10, '\P{spaceperl}', "");
-Expect(1, 10, '\P{^spaceperl}', "");
-Expect(0, 8, '\p{spaceperl}', "");
-Expect(1, 8, '\p{^spaceperl}', "");
-Expect(1, 8, '\P{spaceperl}', "");
-Expect(0, 8, '\P{^spaceperl}', "");
-Expect(1, 10, '\p{ _SPACEPERL}', "");
-Expect(0, 10, '\p{^ _SPACEPERL}', "");
-Expect(0, 10, '\P{ _SPACEPERL}', "");
-Expect(1, 10, '\P{^ _SPACEPERL}', "");
-Expect(0, 8, '\p{ _SPACEPERL}', "");
-Expect(1, 8, '\p{^ _SPACEPERL}', "");
-Expect(1, 8, '\P{ _SPACEPERL}', "");
-Expect(0, 8, '\P{^ _SPACEPERL}', "");
-Error('\p{ IS_SpacePerl/a/}');
-Error('\P{ IS_SpacePerl/a/}');
-Expect(1, 10, '\p{isspaceperl}', "");
-Expect(0, 10, '\p{^isspaceperl}', "");
-Expect(0, 10, '\P{isspaceperl}', "");
-Expect(1, 10, '\P{^isspaceperl}', "");
-Expect(0, 8, '\p{isspaceperl}', "");
-Expect(1, 8, '\p{^isspaceperl}', "");
-Expect(1, 8, '\P{isspaceperl}', "");
-Expect(0, 8, '\P{^isspaceperl}', "");
-Expect(1, 10, '\p{ -Is_SPACEPERL}', "");
-Expect(0, 10, '\p{^ -Is_SPACEPERL}', "");
-Expect(0, 10, '\P{ -Is_SPACEPERL}', "");
-Expect(1, 10, '\P{^ -Is_SPACEPERL}', "");
-Expect(0, 8, '\p{ -Is_SPACEPERL}', "");
-Expect(1, 8, '\p{^ -Is_SPACEPERL}', "");
-Expect(1, 8, '\P{ -Is_SPACEPERL}', "");
-Expect(0, 8, '\P{^ -Is_SPACEPERL}', "");
-Error('\p{ In oriya/a/}');
-Error('\P{ In oriya/a/}');
-Expect(1, 2943, '\p{inoriya}', "");
-Expect(0, 2943, '\p{^inoriya}', "");
-Expect(0, 2943, '\P{inoriya}', "");
-Expect(1, 2943, '\P{^inoriya}', "");
-Expect(0, 2815, '\p{inoriya}', "");
-Expect(1, 2815, '\p{^inoriya}', "");
-Expect(1, 2815, '\P{inoriya}', "");
-Expect(0, 2815, '\P{^inoriya}', "");
-Expect(1, 2943, '\p{ _IN-Oriya}', "");
-Expect(0, 2943, '\p{^ _IN-Oriya}', "");
-Expect(0, 2943, '\P{ _IN-Oriya}', "");
-Expect(1, 2943, '\P{^ _IN-Oriya}', "");
-Expect(0, 2815, '\p{ _IN-Oriya}', "");
-Expect(1, 2815, '\p{^ _IN-Oriya}', "");
-Expect(1, 2815, '\P{ _IN-Oriya}', "");
-Expect(0, 2815, '\P{^ _IN-Oriya}', "");
-Error('\p{ _CJKUNIFIED/a/Ideographs}');
-Error('\P{ _CJKUNIFIED/a/Ideographs}');
-Expect(1, 40959, '\p{cjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^cjkunifiedideographs}', "");
-Expect(0, 40959, '\P{cjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^cjkunifiedideographs}', "");
-Expect(0, 19967, '\p{cjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^cjkunifiedideographs}', "");
-Expect(1, 19967, '\P{cjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^cjkunifiedideographs}', "");
-Expect(1, 40959, '\p{ CJK UNIFIED-Ideographs}', "");
-Expect(0, 40959, '\p{^ CJK UNIFIED-Ideographs}', "");
-Expect(0, 40959, '\P{ CJK UNIFIED-Ideographs}', "");
-Expect(1, 40959, '\P{^ CJK UNIFIED-Ideographs}', "");
-Expect(0, 19967, '\p{ CJK UNIFIED-Ideographs}', "");
-Expect(1, 19967, '\p{^ CJK UNIFIED-Ideographs}', "");
-Expect(1, 19967, '\P{ CJK UNIFIED-Ideographs}', "");
-Expect(0, 19967, '\P{^ CJK UNIFIED-Ideographs}', "");
-Error('\p{ -Is_CJK-Unified Ideographs/a/}');
-Error('\P{ -Is_CJK-Unified Ideographs/a/}');
-Expect(1, 40959, '\p{iscjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^iscjkunifiedideographs}', "");
-Expect(0, 40959, '\P{iscjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^iscjkunifiedideographs}', "");
-Expect(0, 19967, '\p{iscjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^iscjkunifiedideographs}', "");
-Expect(1, 19967, '\P{iscjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^iscjkunifiedideographs}', "");
-Expect(1, 40959, '\p{ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(0, 40959, '\p{^ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(0, 40959, '\P{ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(1, 40959, '\P{^ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(0, 19967, '\p{ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(1, 19967, '\p{^ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(1, 19967, '\P{ _Is CJK-unified-IDEOGRAPHS}', "");
-Expect(0, 19967, '\P{^ _Is CJK-unified-IDEOGRAPHS}', "");
-Error('\p{__INcjk UNIFIEDIdeographs/a/}');
-Error('\P{__INcjk UNIFIEDIdeographs/a/}');
-Expect(1, 40959, '\p{incjkunifiedideographs}', "");
-Expect(0, 40959, '\p{^incjkunifiedideographs}', "");
-Expect(0, 40959, '\P{incjkunifiedideographs}', "");
-Expect(1, 40959, '\P{^incjkunifiedideographs}', "");
-Expect(0, 19967, '\p{incjkunifiedideographs}', "");
-Expect(1, 19967, '\p{^incjkunifiedideographs}', "");
-Expect(1, 19967, '\P{incjkunifiedideographs}', "");
-Expect(0, 19967, '\P{^incjkunifiedideographs}', "");
-Expect(1, 40959, '\p{ IN_CJK UnifiedIdeographs}', "");
-Expect(0, 40959, '\p{^ IN_CJK UnifiedIdeographs}', "");
-Expect(0, 40959, '\P{ IN_CJK UnifiedIdeographs}', "");
-Expect(1, 40959, '\P{^ IN_CJK UnifiedIdeographs}', "");
-Expect(0, 19967, '\p{ IN_CJK UnifiedIdeographs}', "");
-Expect(1, 19967, '\p{^ IN_CJK UnifiedIdeographs}', "");
-Expect(1, 19967, '\P{ IN_CJK UnifiedIdeographs}', "");
-Expect(0, 19967, '\P{^ IN_CJK UnifiedIdeographs}', "");
-Error('\p{ /a/ID Continue}');
-Error('\P{ /a/ID Continue}');
-Expect(1, 57, '\p{idcontinue}', "");
-Expect(0, 57, '\p{^idcontinue}', "");
-Expect(0, 57, '\P{idcontinue}', "");
-Expect(1, 57, '\P{^idcontinue}', "");
-Expect(0, 47, '\p{idcontinue}', "");
-Expect(1, 47, '\p{^idcontinue}', "");
-Expect(1, 47, '\P{idcontinue}', "");
-Expect(0, 47, '\P{^idcontinue}', "");
-Expect(1, 57, '\p{_id_CONTINUE}', "");
-Expect(0, 57, '\p{^_id_CONTINUE}', "");
-Expect(0, 57, '\P{_id_CONTINUE}', "");
-Expect(1, 57, '\P{^_id_CONTINUE}', "");
-Expect(0, 47, '\p{_id_CONTINUE}', "");
-Expect(1, 47, '\p{^_id_CONTINUE}', "");
-Expect(1, 47, '\P{_id_CONTINUE}', "");
-Expect(0, 47, '\P{^_id_CONTINUE}', "");
-Error('\p{_/a/Is_ID_Continue}');
-Error('\P{_/a/Is_ID_Continue}');
-Expect(1, 57, '\p{isidcontinue}', "");
-Expect(0, 57, '\p{^isidcontinue}', "");
-Expect(0, 57, '\P{isidcontinue}', "");
-Expect(1, 57, '\P{^isidcontinue}', "");
-Expect(0, 47, '\p{isidcontinue}', "");
-Expect(1, 47, '\p{^isidcontinue}', "");
-Expect(1, 47, '\P{isidcontinue}', "");
-Expect(0, 47, '\P{^isidcontinue}', "");
-Expect(1, 57, '\p{ _Isid-CONTINUE}', "");
-Expect(0, 57, '\p{^ _Isid-CONTINUE}', "");
-Expect(0, 57, '\P{ _Isid-CONTINUE}', "");
-Expect(1, 57, '\P{^ _Isid-CONTINUE}', "");
-Expect(0, 47, '\p{ _Isid-CONTINUE}', "");
-Expect(1, 47, '\p{^ _Isid-CONTINUE}', "");
-Expect(1, 47, '\P{ _Isid-CONTINUE}', "");
-Expect(0, 47, '\P{^ _Isid-CONTINUE}', "");
-Error('\p{ IDC:=}');
-Error('\P{ IDC:=}');
-Expect(1, 57, '\p{idc}', "");
-Expect(0, 57, '\p{^idc}', "");
-Expect(0, 57, '\P{idc}', "");
-Expect(1, 57, '\P{^idc}', "");
-Expect(0, 47, '\p{idc}', "");
-Expect(1, 47, '\p{^idc}', "");
-Expect(1, 47, '\P{idc}', "");
-Expect(0, 47, '\P{^idc}', "");
-Expect(1, 57, '\p{ -IDC}', "");
-Expect(0, 57, '\p{^ -IDC}', "");
-Expect(0, 57, '\P{ -IDC}', "");
-Expect(1, 57, '\P{^ -IDC}', "");
-Expect(0, 47, '\p{ -IDC}', "");
-Expect(1, 47, '\p{^ -IDC}', "");
-Expect(1, 47, '\P{ -IDC}', "");
-Expect(0, 47, '\P{^ -IDC}', "");
-Error('\p{:=_ IsIDC}');
-Error('\P{:=_ IsIDC}');
-Expect(1, 57, '\p{isidc}', "");
-Expect(0, 57, '\p{^isidc}', "");
-Expect(0, 57, '\P{isidc}', "");
-Expect(1, 57, '\P{^isidc}', "");
-Expect(0, 47, '\p{isidc}', "");
-Expect(1, 47, '\p{^isidc}', "");
-Expect(1, 47, '\P{isidc}', "");
-Expect(0, 47, '\P{^isidc}', "");
-Expect(1, 57, '\p{ Is_IDC}', "");
-Expect(0, 57, '\p{^ Is_IDC}', "");
-Expect(0, 57, '\P{ Is_IDC}', "");
-Expect(1, 57, '\P{^ Is_IDC}', "");
-Expect(0, 47, '\p{ Is_IDC}', "");
-Expect(1, 47, '\p{^ Is_IDC}', "");
-Expect(1, 47, '\P{ Is_IDC}', "");
-Expect(0, 47, '\P{^ Is_IDC}', "");
-Error('\p{:=In GLAGOLITIC}');
-Error('\P{:=In GLAGOLITIC}');
-Expect(1, 11359, '\p{inglagolitic}', "");
-Expect(0, 11359, '\p{^inglagolitic}', "");
-Expect(0, 11359, '\P{inglagolitic}', "");
-Expect(1, 11359, '\P{^inglagolitic}', "");
-Expect(0, 11263, '\p{inglagolitic}', "");
-Expect(1, 11263, '\p{^inglagolitic}', "");
-Expect(1, 11263, '\P{inglagolitic}', "");
-Expect(0, 11263, '\P{^inglagolitic}', "");
-Expect(1, 11359, '\p{ In Glagolitic}', "");
-Expect(0, 11359, '\p{^ In Glagolitic}', "");
-Expect(0, 11359, '\P{ In Glagolitic}', "");
-Expect(1, 11359, '\P{^ In Glagolitic}', "");
-Expect(0, 11263, '\p{ In Glagolitic}', "");
-Expect(1, 11263, '\p{^ In Glagolitic}', "");
-Expect(1, 11263, '\P{ In Glagolitic}', "");
-Expect(0, 11263, '\P{^ In Glagolitic}', "");
-Error('\p{/a/ open PUNCTUATION}');
-Error('\P{/a/ open PUNCTUATION}');
-Expect(1, 40, '\p{openpunctuation}', "");
-Expect(0, 40, '\p{^openpunctuation}', "");
-Expect(0, 40, '\P{openpunctuation}', "");
-Expect(1, 40, '\P{^openpunctuation}', "");
-Expect(0, 39, '\p{openpunctuation}', "");
-Expect(1, 39, '\p{^openpunctuation}', "");
-Expect(1, 39, '\P{openpunctuation}', "");
-Expect(0, 39, '\P{^openpunctuation}', "");
-Expect(1, 40, '\p{ OPEN Punctuation}', "");
-Expect(0, 40, '\p{^ OPEN Punctuation}', "");
-Expect(0, 40, '\P{ OPEN Punctuation}', "");
-Expect(1, 40, '\P{^ OPEN Punctuation}', "");
-Expect(0, 39, '\p{ OPEN Punctuation}', "");
-Expect(1, 39, '\p{^ OPEN Punctuation}', "");
-Expect(1, 39, '\P{ OPEN Punctuation}', "");
-Expect(0, 39, '\P{^ OPEN Punctuation}', "");
-Error('\p{-:=IS Open_PUNCTUATION}');
-Error('\P{-:=IS Open_PUNCTUATION}');
-Expect(1, 40, '\p{isopenpunctuation}', "");
-Expect(0, 40, '\p{^isopenpunctuation}', "");
-Expect(0, 40, '\P{isopenpunctuation}', "");
-Expect(1, 40, '\P{^isopenpunctuation}', "");
-Expect(0, 39, '\p{isopenpunctuation}', "");
-Expect(1, 39, '\p{^isopenpunctuation}', "");
-Expect(1, 39, '\P{isopenpunctuation}', "");
-Expect(0, 39, '\P{^isopenpunctuation}', "");
-Expect(1, 40, '\p{-Is_openPunctuation}', "");
-Expect(0, 40, '\p{^-Is_openPunctuation}', "");
-Expect(0, 40, '\P{-Is_openPunctuation}', "");
-Expect(1, 40, '\P{^-Is_openPunctuation}', "");
-Expect(0, 39, '\p{-Is_openPunctuation}', "");
-Expect(1, 39, '\p{^-Is_openPunctuation}', "");
-Expect(1, 39, '\P{-Is_openPunctuation}', "");
-Expect(0, 39, '\P{^-Is_openPunctuation}', "");
-Error('\p{ /a/ps}');
-Error('\P{ /a/ps}');
-Expect(1, 40, '\p{ps}', "");
-Expect(0, 40, '\p{^ps}', "");
-Expect(0, 40, '\P{ps}', "");
-Expect(1, 40, '\P{^ps}', "");
-Expect(0, 39, '\p{ps}', "");
-Expect(1, 39, '\p{^ps}', "");
-Expect(1, 39, '\P{ps}', "");
-Expect(0, 39, '\P{^ps}', "");
-Expect(1, 40, '\p{ -PS}', "");
-Expect(0, 40, '\p{^ -PS}', "");
-Expect(0, 40, '\P{ -PS}', "");
-Expect(1, 40, '\P{^ -PS}', "");
-Expect(0, 39, '\p{ -PS}', "");
-Expect(1, 39, '\p{^ -PS}', "");
-Expect(1, 39, '\P{ -PS}', "");
-Expect(0, 39, '\P{^ -PS}', "");
-Error('\p{ Is ps/a/}');
-Error('\P{ Is ps/a/}');
-Expect(1, 40, '\p{isps}', "");
-Expect(0, 40, '\p{^isps}', "");
-Expect(0, 40, '\P{isps}', "");
-Expect(1, 40, '\P{^isps}', "");
-Expect(0, 39, '\p{isps}', "");
-Expect(1, 39, '\p{^isps}', "");
-Expect(1, 39, '\P{isps}', "");
-Expect(0, 39, '\P{^isps}', "");
-Expect(1, 40, '\p{Is_Ps}', "");
-Expect(0, 40, '\p{^Is_Ps}', "");
-Expect(0, 40, '\P{Is_Ps}', "");
-Expect(1, 40, '\P{^Is_Ps}', "");
-Expect(0, 39, '\p{Is_Ps}', "");
-Expect(1, 39, '\p{^Is_Ps}', "");
-Expect(1, 39, '\P{Is_Ps}', "");
-Expect(0, 39, '\P{^Is_Ps}', "");
-Error('\p{ _HANGUL/a/}');
-Error('\P{ _HANGUL/a/}');
-Expect(1, 4607, '\p{hangul}', "");
-Expect(0, 4607, '\p{^hangul}', "");
-Expect(0, 4607, '\P{hangul}', "");
-Expect(1, 4607, '\P{^hangul}', "");
-Expect(0, 4351, '\p{hangul}', "");
-Expect(1, 4351, '\p{^hangul}', "");
-Expect(1, 4351, '\P{hangul}', "");
-Expect(0, 4351, '\P{^hangul}', "");
-Expect(1, 4607, '\p{-_hangul}', "");
-Expect(0, 4607, '\p{^-_hangul}', "");
-Expect(0, 4607, '\P{-_hangul}', "");
-Expect(1, 4607, '\P{^-_hangul}', "");
-Expect(0, 4351, '\p{-_hangul}', "");
-Expect(1, 4351, '\p{^-_hangul}', "");
-Expect(1, 4351, '\P{-_hangul}', "");
-Expect(0, 4351, '\P{^-_hangul}', "");
-Error('\p{:= _is-Hangul}');
-Error('\P{:= _is-Hangul}');
-Expect(1, 4607, '\p{ishangul}', "");
-Expect(0, 4607, '\p{^ishangul}', "");
-Expect(0, 4607, '\P{ishangul}', "");
-Expect(1, 4607, '\P{^ishangul}', "");
-Expect(0, 4351, '\p{ishangul}', "");
-Expect(1, 4351, '\p{^ishangul}', "");
-Expect(1, 4351, '\P{ishangul}', "");
-Expect(0, 4351, '\P{^ishangul}', "");
-Expect(1, 4607, '\p{ -Ishangul}', "");
-Expect(0, 4607, '\p{^ -Ishangul}', "");
-Expect(0, 4607, '\P{ -Ishangul}', "");
-Expect(1, 4607, '\P{^ -Ishangul}', "");
-Expect(0, 4351, '\p{ -Ishangul}', "");
-Expect(1, 4351, '\p{^ -Ishangul}', "");
-Expect(1, 4351, '\P{ -Ishangul}', "");
-Expect(0, 4351, '\P{^ -Ishangul}', "");
-Error('\p{ HANG/a/}');
-Error('\P{ HANG/a/}');
-Expect(1, 4607, '\p{hang}', "");
-Expect(0, 4607, '\p{^hang}', "");
-Expect(0, 4607, '\P{hang}', "");
-Expect(1, 4607, '\P{^hang}', "");
-Expect(0, 4351, '\p{hang}', "");
-Expect(1, 4351, '\p{^hang}', "");
-Expect(1, 4351, '\P{hang}', "");
-Expect(0, 4351, '\P{^hang}', "");
-Expect(1, 4607, '\p{ Hang}', "");
-Expect(0, 4607, '\p{^ Hang}', "");
-Expect(0, 4607, '\P{ Hang}', "");
-Expect(1, 4607, '\P{^ Hang}', "");
-Expect(0, 4351, '\p{ Hang}', "");
-Expect(1, 4351, '\p{^ Hang}', "");
-Expect(1, 4351, '\P{ Hang}', "");
-Expect(0, 4351, '\P{^ Hang}', "");
-Error('\p{/a/__IS_HANG}');
-Error('\P{/a/__IS_HANG}');
-Expect(1, 4607, '\p{ishang}', "");
-Expect(0, 4607, '\p{^ishang}', "");
-Expect(0, 4607, '\P{ishang}', "");
-Expect(1, 4607, '\P{^ishang}', "");
-Expect(0, 4351, '\p{ishang}', "");
-Expect(1, 4351, '\p{^ishang}', "");
-Expect(1, 4351, '\P{ishang}', "");
-Expect(0, 4351, '\P{^ishang}', "");
-Expect(1, 4607, '\p{_-Is HANG}', "");
-Expect(0, 4607, '\p{^_-Is HANG}', "");
-Expect(0, 4607, '\P{_-Is HANG}', "");
-Expect(1, 4607, '\P{^_-Is HANG}', "");
-Expect(0, 4351, '\p{_-Is HANG}', "");
-Expect(1, 4351, '\p{^_-Is HANG}', "");
-Expect(1, 4351, '\P{_-Is HANG}', "");
-Expect(0, 4351, '\P{^_-Is HANG}', "");
-Error('\p{:= -Cypriot}');
-Error('\P{:= -Cypriot}');
-Expect(1, 67589, '\p{cypriot}', "");
-Expect(0, 67589, '\p{^cypriot}', "");
-Expect(0, 67589, '\P{cypriot}', "");
-Expect(1, 67589, '\P{^cypriot}', "");
-Expect(0, 67583, '\p{cypriot}', "");
-Expect(1, 67583, '\p{^cypriot}', "");
-Expect(1, 67583, '\P{cypriot}', "");
-Expect(0, 67583, '\P{^cypriot}', "");
-Expect(1, 67589, '\p{ _CYPRIOT}', "");
-Expect(0, 67589, '\p{^ _CYPRIOT}', "");
-Expect(0, 67589, '\P{ _CYPRIOT}', "");
-Expect(1, 67589, '\P{^ _CYPRIOT}', "");
-Expect(0, 67583, '\p{ _CYPRIOT}', "");
-Expect(1, 67583, '\p{^ _CYPRIOT}', "");
-Expect(1, 67583, '\P{ _CYPRIOT}', "");
-Expect(0, 67583, '\P{^ _CYPRIOT}', "");
-Error('\p{ /a/IS Cypriot}');
-Error('\P{ /a/IS Cypriot}');
-Expect(1, 67589, '\p{iscypriot}', "");
-Expect(0, 67589, '\p{^iscypriot}', "");
-Expect(0, 67589, '\P{iscypriot}', "");
-Expect(1, 67589, '\P{^iscypriot}', "");
-Expect(0, 67583, '\p{iscypriot}', "");
-Expect(1, 67583, '\p{^iscypriot}', "");
-Expect(1, 67583, '\P{iscypriot}', "");
-Expect(0, 67583, '\P{^iscypriot}', "");
-Expect(1, 67589, '\p{ IS Cypriot}', "");
-Expect(0, 67589, '\p{^ IS Cypriot}', "");
-Expect(0, 67589, '\P{ IS Cypriot}', "");
-Expect(1, 67589, '\P{^ IS Cypriot}', "");
-Expect(0, 67583, '\p{ IS Cypriot}', "");
-Expect(1, 67583, '\p{^ IS Cypriot}', "");
-Expect(1, 67583, '\P{ IS Cypriot}', "");
-Expect(0, 67583, '\P{^ IS Cypriot}', "");
-Error('\p{ /a/Cprt}');
-Error('\P{ /a/Cprt}');
-Expect(1, 67589, '\p{cprt}', "");
-Expect(0, 67589, '\p{^cprt}', "");
-Expect(0, 67589, '\P{cprt}', "");
-Expect(1, 67589, '\P{^cprt}', "");
-Expect(0, 67583, '\p{cprt}', "");
-Expect(1, 67583, '\p{^cprt}', "");
-Expect(1, 67583, '\P{cprt}', "");
-Expect(0, 67583, '\P{^cprt}', "");
-Expect(1, 67589, '\p{_cprt}', "");
-Expect(0, 67589, '\p{^_cprt}', "");
-Expect(0, 67589, '\P{_cprt}', "");
-Expect(1, 67589, '\P{^_cprt}', "");
-Expect(0, 67583, '\p{_cprt}', "");
-Expect(1, 67583, '\p{^_cprt}', "");
-Expect(1, 67583, '\P{_cprt}', "");
-Expect(0, 67583, '\P{^_cprt}', "");
-Error('\p{ Is:=cprt}');
-Error('\P{ Is:=cprt}');
-Expect(1, 67589, '\p{iscprt}', "");
-Expect(0, 67589, '\p{^iscprt}', "");
-Expect(0, 67589, '\P{iscprt}', "");
-Expect(1, 67589, '\P{^iscprt}', "");
-Expect(0, 67583, '\p{iscprt}', "");
-Expect(1, 67583, '\p{^iscprt}', "");
-Expect(1, 67583, '\P{iscprt}', "");
-Expect(0, 67583, '\P{^iscprt}', "");
-Expect(1, 67589, '\p{- is CPRT}', "");
-Expect(0, 67589, '\p{^- is CPRT}', "");
-Expect(0, 67589, '\P{- is CPRT}', "");
-Expect(1, 67589, '\P{^- is CPRT}', "");
-Expect(0, 67583, '\p{- is CPRT}', "");
-Expect(1, 67583, '\p{^- is CPRT}', "");
-Expect(1, 67583, '\P{- is CPRT}', "");
-Expect(0, 67583, '\P{^- is CPRT}', "");
-Error('\p{_ BYZANTINEMUSICALSYMBOLS:=}');
-Error('\P{_ BYZANTINEMUSICALSYMBOLS:=}');
-Expect(1, 119039, '\p{byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^byzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^byzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{byzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^byzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{ byzantine_MUSICAL Symbols}', "");
-Expect(0, 119039, '\p{^ byzantine_MUSICAL Symbols}', "");
-Expect(0, 119039, '\P{ byzantine_MUSICAL Symbols}', "");
-Expect(1, 119039, '\P{^ byzantine_MUSICAL Symbols}', "");
-Expect(0, 118783, '\p{ byzantine_MUSICAL Symbols}', "");
-Expect(1, 118783, '\p{^ byzantine_MUSICAL Symbols}', "");
-Expect(1, 118783, '\P{ byzantine_MUSICAL Symbols}', "");
-Expect(0, 118783, '\P{^ byzantine_MUSICAL Symbols}', "");
-Error('\p{ /a/is Byzantine_MUSICAL symbols}');
-Error('\P{ /a/is Byzantine_MUSICAL symbols}');
-Expect(1, 119039, '\p{isbyzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^isbyzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{isbyzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^isbyzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{isbyzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^isbyzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{isbyzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^isbyzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{_ is-ByzantineMusical-Symbols}', "");
-Expect(0, 119039, '\p{^_ is-ByzantineMusical-Symbols}', "");
-Expect(0, 119039, '\P{_ is-ByzantineMusical-Symbols}', "");
-Expect(1, 119039, '\P{^_ is-ByzantineMusical-Symbols}', "");
-Expect(0, 118783, '\p{_ is-ByzantineMusical-Symbols}', "");
-Expect(1, 118783, '\p{^_ is-ByzantineMusical-Symbols}', "");
-Expect(1, 118783, '\P{_ is-ByzantineMusical-Symbols}', "");
-Expect(0, 118783, '\P{^_ is-ByzantineMusical-Symbols}', "");
-Error('\p{-In/a/Byzantine_musicalsymbols}');
-Error('\P{-In/a/Byzantine_musicalsymbols}');
-Expect(1, 119039, '\p{inbyzantinemusicalsymbols}', "");
-Expect(0, 119039, '\p{^inbyzantinemusicalsymbols}', "");
-Expect(0, 119039, '\P{inbyzantinemusicalsymbols}', "");
-Expect(1, 119039, '\P{^inbyzantinemusicalsymbols}', "");
-Expect(0, 118783, '\p{inbyzantinemusicalsymbols}', "");
-Expect(1, 118783, '\p{^inbyzantinemusicalsymbols}', "");
-Expect(1, 118783, '\P{inbyzantinemusicalsymbols}', "");
-Expect(0, 118783, '\P{^inbyzantinemusicalsymbols}', "");
-Expect(1, 119039, '\p{_In_BYZANTINEmusical-Symbols}', "");
-Expect(0, 119039, '\p{^_In_BYZANTINEmusical-Symbols}', "");
-Expect(0, 119039, '\P{_In_BYZANTINEmusical-Symbols}', "");
-Expect(1, 119039, '\P{^_In_BYZANTINEmusical-Symbols}', "");
-Expect(0, 118783, '\p{_In_BYZANTINEmusical-Symbols}', "");
-Expect(1, 118783, '\p{^_In_BYZANTINEmusical-Symbols}', "");
-Expect(1, 118783, '\P{_In_BYZANTINEmusical-Symbols}', "");
-Expect(0, 118783, '\P{^_In_BYZANTINEmusical-Symbols}', "");
-Error('\p{/a/_PosixUpper}');
-Error('\P{/a/_PosixUpper}');
-Expect(1, 90, '\p{posixupper}', "");
-Expect(0, 90, '\p{^posixupper}', "");
-Expect(0, 90, '\P{posixupper}', "");
-Expect(1, 90, '\P{^posixupper}', "");
-Expect(0, 64, '\p{posixupper}', "");
-Expect(1, 64, '\p{^posixupper}', "");
-Expect(1, 64, '\P{posixupper}', "");
-Expect(0, 64, '\P{^posixupper}', "");
-Expect(1, 90, '\p{-_POSIXUPPER}', "");
-Expect(0, 90, '\p{^-_POSIXUPPER}', "");
-Expect(0, 90, '\P{-_POSIXUPPER}', "");
-Expect(1, 90, '\P{^-_POSIXUPPER}', "");
-Expect(0, 64, '\p{-_POSIXUPPER}', "");
-Expect(1, 64, '\p{^-_POSIXUPPER}', "");
-Expect(1, 64, '\P{-_POSIXUPPER}', "");
-Expect(0, 64, '\P{^-_POSIXUPPER}', "");
-Error('\p{-:=Is PosixUpper}');
-Error('\P{-:=Is PosixUpper}');
-Expect(1, 90, '\p{isposixupper}', "");
-Expect(0, 90, '\p{^isposixupper}', "");
-Expect(0, 90, '\P{isposixupper}', "");
-Expect(1, 90, '\P{^isposixupper}', "");
-Expect(0, 64, '\p{isposixupper}', "");
-Expect(1, 64, '\p{^isposixupper}', "");
-Expect(1, 64, '\P{isposixupper}', "");
-Expect(0, 64, '\P{^isposixupper}', "");
-Expect(1, 90, '\p{ _Isposixupper}', "");
-Expect(0, 90, '\p{^ _Isposixupper}', "");
-Expect(0, 90, '\P{ _Isposixupper}', "");
-Expect(1, 90, '\P{^ _Isposixupper}', "");
-Expect(0, 64, '\p{ _Isposixupper}', "");
-Expect(1, 64, '\p{^ _Isposixupper}', "");
-Expect(1, 64, '\P{ _Isposixupper}', "");
-Expect(0, 64, '\P{^ _Isposixupper}', "");
-Error('\p{ in Armenian/a/}');
-Error('\P{ in Armenian/a/}');
-Expect(1, 1423, '\p{inarmenian}', "");
-Expect(0, 1423, '\p{^inarmenian}', "");
-Expect(0, 1423, '\P{inarmenian}', "");
-Expect(1, 1423, '\P{^inarmenian}', "");
-Expect(0, 1327, '\p{inarmenian}', "");
-Expect(1, 1327, '\p{^inarmenian}', "");
-Expect(1, 1327, '\P{inarmenian}', "");
-Expect(0, 1327, '\P{^inarmenian}', "");
-Expect(1, 1423, '\p{_IN Armenian}', "");
-Expect(0, 1423, '\p{^_IN Armenian}', "");
-Expect(0, 1423, '\P{_IN Armenian}', "");
-Expect(1, 1423, '\P{^_IN Armenian}', "");
-Expect(0, 1327, '\p{_IN Armenian}', "");
-Expect(1, 1327, '\p{^_IN Armenian}', "");
-Expect(1, 1327, '\P{_IN Armenian}', "");
-Expect(0, 1327, '\P{^_IN Armenian}', "");
-Error('\p{/a/__PosixAlpha}');
-Error('\P{/a/__PosixAlpha}');
-Expect(1, 90, '\p{posixalpha}', "");
-Expect(0, 90, '\p{^posixalpha}', "");
-Expect(0, 90, '\P{posixalpha}', "");
-Expect(1, 90, '\P{^posixalpha}', "");
-Expect(0, 64, '\p{posixalpha}', "");
-Expect(1, 64, '\p{^posixalpha}', "");
-Expect(1, 64, '\P{posixalpha}', "");
-Expect(0, 64, '\P{^posixalpha}', "");
-Expect(1, 90, '\p{ POSIXALPHA}', "");
-Expect(0, 90, '\p{^ POSIXALPHA}', "");
-Expect(0, 90, '\P{ POSIXALPHA}', "");
-Expect(1, 90, '\P{^ POSIXALPHA}', "");
-Expect(0, 64, '\p{ POSIXALPHA}', "");
-Expect(1, 64, '\p{^ POSIXALPHA}', "");
-Expect(1, 64, '\P{ POSIXALPHA}', "");
-Expect(0, 64, '\P{^ POSIXALPHA}', "");
-Error('\p{ :=IS POSIXALPHA}');
-Error('\P{ :=IS POSIXALPHA}');
-Expect(1, 90, '\p{isposixalpha}', "");
-Expect(0, 90, '\p{^isposixalpha}', "");
-Expect(0, 90, '\P{isposixalpha}', "");
-Expect(1, 90, '\P{^isposixalpha}', "");
-Expect(0, 64, '\p{isposixalpha}', "");
-Expect(1, 64, '\p{^isposixalpha}', "");
-Expect(1, 64, '\P{isposixalpha}', "");
-Expect(0, 64, '\P{^isposixalpha}', "");
-Expect(1, 90, '\p{ _Is-POSIXALPHA}', "");
-Expect(0, 90, '\p{^ _Is-POSIXALPHA}', "");
-Expect(0, 90, '\P{ _Is-POSIXALPHA}', "");
-Expect(1, 90, '\P{^ _Is-POSIXALPHA}', "");
-Expect(0, 64, '\p{ _Is-POSIXALPHA}', "");
-Expect(1, 64, '\p{^ _Is-POSIXALPHA}', "");
-Expect(1, 64, '\P{ _Is-POSIXALPHA}', "");
-Expect(0, 64, '\P{^ _Is-POSIXALPHA}', "");
-Error('\p{/a/ PARAGRAPH_Separator}');
-Error('\P{/a/ PARAGRAPH_Separator}');
-Expect(1, 8233, '\p{paragraphseparator}', "");
-Expect(0, 8233, '\p{^paragraphseparator}', "");
-Expect(0, 8233, '\P{paragraphseparator}', "");
-Expect(1, 8233, '\P{^paragraphseparator}', "");
-Expect(0, 8232, '\p{paragraphseparator}', "");
-Expect(1, 8232, '\p{^paragraphseparator}', "");
-Expect(1, 8232, '\P{paragraphseparator}', "");
-Expect(0, 8232, '\P{^paragraphseparator}', "");
-Expect(1, 8233, '\p{- Paragraph-Separator}', "");
-Expect(0, 8233, '\p{^- Paragraph-Separator}', "");
-Expect(0, 8233, '\P{- Paragraph-Separator}', "");
-Expect(1, 8233, '\P{^- Paragraph-Separator}', "");
-Expect(0, 8232, '\p{- Paragraph-Separator}', "");
-Expect(1, 8232, '\p{^- Paragraph-Separator}', "");
-Expect(1, 8232, '\P{- Paragraph-Separator}', "");
-Expect(0, 8232, '\P{^- Paragraph-Separator}', "");
-Error('\p{- IS:=paragraph_Separator}');
-Error('\P{- IS:=paragraph_Separator}');
-Expect(1, 8233, '\p{isparagraphseparator}', "");
-Expect(0, 8233, '\p{^isparagraphseparator}', "");
-Expect(0, 8233, '\P{isparagraphseparator}', "");
-Expect(1, 8233, '\P{^isparagraphseparator}', "");
-Expect(0, 8232, '\p{isparagraphseparator}', "");
-Expect(1, 8232, '\p{^isparagraphseparator}', "");
-Expect(1, 8232, '\P{isparagraphseparator}', "");
-Expect(0, 8232, '\P{^isparagraphseparator}', "");
-Expect(1, 8233, '\p{- Is_Paragraph Separator}', "");
-Expect(0, 8233, '\p{^- Is_Paragraph Separator}', "");
-Expect(0, 8233, '\P{- Is_Paragraph Separator}', "");
-Expect(1, 8233, '\P{^- Is_Paragraph Separator}', "");
-Expect(0, 8232, '\p{- Is_Paragraph Separator}', "");
-Expect(1, 8232, '\p{^- Is_Paragraph Separator}', "");
-Expect(1, 8232, '\P{- Is_Paragraph Separator}', "");
-Expect(0, 8232, '\P{^- Is_Paragraph Separator}', "");
-Error('\p{_ZP/a/}');
-Error('\P{_ZP/a/}');
-Expect(1, 8233, '\p{zp}', "");
-Expect(0, 8233, '\p{^zp}', "");
-Expect(0, 8233, '\P{zp}', "");
-Expect(1, 8233, '\P{^zp}', "");
-Expect(0, 8232, '\p{zp}', "");
-Expect(1, 8232, '\p{^zp}', "");
-Expect(1, 8232, '\P{zp}', "");
-Expect(0, 8232, '\P{^zp}', "");
-Expect(1, 8233, '\p{ -Zp}', "");
-Expect(0, 8233, '\p{^ -Zp}', "");
-Expect(0, 8233, '\P{ -Zp}', "");
-Expect(1, 8233, '\P{^ -Zp}', "");
-Expect(0, 8232, '\p{ -Zp}', "");
-Expect(1, 8232, '\p{^ -Zp}', "");
-Expect(1, 8232, '\P{ -Zp}', "");
-Expect(0, 8232, '\P{^ -Zp}', "");
-Error('\p{_Is:=zp}');
-Error('\P{_Is:=zp}');
-Expect(1, 8233, '\p{iszp}', "");
-Expect(0, 8233, '\p{^iszp}', "");
-Expect(0, 8233, '\P{iszp}', "");
-Expect(1, 8233, '\P{^iszp}', "");
-Expect(0, 8232, '\p{iszp}', "");
-Expect(1, 8232, '\p{^iszp}', "");
-Expect(1, 8232, '\P{iszp}', "");
-Expect(0, 8232, '\P{^iszp}', "");
-Expect(1, 8233, '\p{is_Zp}', "");
-Expect(0, 8233, '\p{^is_Zp}', "");
-Expect(0, 8233, '\P{is_Zp}', "");
-Expect(1, 8233, '\P{^is_Zp}', "");
-Expect(0, 8232, '\p{is_Zp}', "");
-Expect(1, 8232, '\p{^is_Zp}', "");
-Expect(1, 8232, '\P{is_Zp}', "");
-Expect(0, 8232, '\P{^is_Zp}', "");
-Error('\p{__PHAGS:=Pa}');
-Error('\P{__PHAGS:=Pa}');
-Expect(1, 43127, '\p{phagspa}', "");
-Expect(0, 43127, '\p{^phagspa}', "");
-Expect(0, 43127, '\P{phagspa}', "");
-Expect(1, 43127, '\P{^phagspa}', "");
-Expect(0, 43071, '\p{phagspa}', "");
-Expect(1, 43071, '\p{^phagspa}', "");
-Expect(1, 43071, '\P{phagspa}', "");
-Expect(0, 43071, '\P{^phagspa}', "");
-Expect(1, 43127, '\p{-Phags Pa}', "");
-Expect(0, 43127, '\p{^-Phags Pa}', "");
-Expect(0, 43127, '\P{-Phags Pa}', "");
-Expect(1, 43127, '\P{^-Phags Pa}', "");
-Expect(0, 43071, '\p{-Phags Pa}', "");
-Expect(1, 43071, '\p{^-Phags Pa}', "");
-Expect(1, 43071, '\P{-Phags Pa}', "");
-Expect(0, 43071, '\P{^-Phags Pa}', "");
-Error('\p{_:=IsPHAGS Pa}');
-Error('\P{_:=IsPHAGS Pa}');
-Expect(1, 43127, '\p{isphagspa}', "");
-Expect(0, 43127, '\p{^isphagspa}', "");
-Expect(0, 43127, '\P{isphagspa}', "");
-Expect(1, 43127, '\P{^isphagspa}', "");
-Expect(0, 43071, '\p{isphagspa}', "");
-Expect(1, 43071, '\p{^isphagspa}', "");
-Expect(1, 43071, '\P{isphagspa}', "");
-Expect(0, 43071, '\P{^isphagspa}', "");
-Expect(1, 43127, '\p{ Is PHAGS_Pa}', "");
-Expect(0, 43127, '\p{^ Is PHAGS_Pa}', "");
-Expect(0, 43127, '\P{ Is PHAGS_Pa}', "");
-Expect(1, 43127, '\P{^ Is PHAGS_Pa}', "");
-Expect(0, 43071, '\p{ Is PHAGS_Pa}', "");
-Expect(1, 43071, '\p{^ Is PHAGS_Pa}', "");
-Expect(1, 43071, '\P{ Is PHAGS_Pa}', "");
-Expect(0, 43071, '\P{^ Is PHAGS_Pa}', "");
-Error('\p{:=-Phag}');
-Error('\P{:=-Phag}');
-Expect(1, 43127, '\p{phag}', "");
-Expect(0, 43127, '\p{^phag}', "");
-Expect(0, 43127, '\P{phag}', "");
-Expect(1, 43127, '\P{^phag}', "");
-Expect(0, 43071, '\p{phag}', "");
-Expect(1, 43071, '\p{^phag}', "");
-Expect(1, 43071, '\P{phag}', "");
-Expect(0, 43071, '\P{^phag}', "");
-Expect(1, 43127, '\p{_Phag}', "");
-Expect(0, 43127, '\p{^_Phag}', "");
-Expect(0, 43127, '\P{_Phag}', "");
-Expect(1, 43127, '\P{^_Phag}', "");
-Expect(0, 43071, '\p{_Phag}', "");
-Expect(1, 43071, '\p{^_Phag}', "");
-Expect(1, 43071, '\P{_Phag}', "");
-Expect(0, 43071, '\P{^_Phag}', "");
-Error('\p{ isphag:=}');
-Error('\P{ isphag:=}');
-Expect(1, 43127, '\p{isphag}', "");
-Expect(0, 43127, '\p{^isphag}', "");
-Expect(0, 43127, '\P{isphag}', "");
-Expect(1, 43127, '\P{^isphag}', "");
-Expect(0, 43071, '\p{isphag}', "");
-Expect(1, 43071, '\p{^isphag}', "");
-Expect(1, 43071, '\P{isphag}', "");
-Expect(0, 43071, '\P{^isphag}', "");
-Expect(1, 43127, '\p{_ Is Phag}', "");
-Expect(0, 43127, '\p{^_ Is Phag}', "");
-Expect(0, 43127, '\P{_ Is Phag}', "");
-Expect(1, 43127, '\P{^_ Is Phag}', "");
-Expect(0, 43071, '\p{_ Is Phag}', "");
-Expect(1, 43071, '\p{^_ Is Phag}', "");
-Expect(1, 43071, '\P{_ Is Phag}', "");
-Expect(0, 43071, '\P{^_ Is Phag}', "");
-Error('\p{:= LETTER NUMBER}');
-Error('\P{:= LETTER NUMBER}');
-Expect(1, 5872, '\p{letternumber}', "");
-Expect(0, 5872, '\p{^letternumber}', "");
-Expect(0, 5872, '\P{letternumber}', "");
-Expect(1, 5872, '\P{^letternumber}', "");
-Expect(0, 5869, '\p{letternumber}', "");
-Expect(1, 5869, '\p{^letternumber}', "");
-Expect(1, 5869, '\P{letternumber}', "");
-Expect(0, 5869, '\P{^letternumber}', "");
-Expect(1, 5872, '\p{ -Letter-Number}', "");
-Expect(0, 5872, '\p{^ -Letter-Number}', "");
-Expect(0, 5872, '\P{ -Letter-Number}', "");
-Expect(1, 5872, '\P{^ -Letter-Number}', "");
-Expect(0, 5869, '\p{ -Letter-Number}', "");
-Expect(1, 5869, '\p{^ -Letter-Number}', "");
-Expect(1, 5869, '\P{ -Letter-Number}', "");
-Expect(0, 5869, '\P{^ -Letter-Number}', "");
-Error('\p{-:=IS-LetterNumber}');
-Error('\P{-:=IS-LetterNumber}');
-Expect(1, 5872, '\p{isletternumber}', "");
-Expect(0, 5872, '\p{^isletternumber}', "");
-Expect(0, 5872, '\P{isletternumber}', "");
-Expect(1, 5872, '\P{^isletternumber}', "");
-Expect(0, 5869, '\p{isletternumber}', "");
-Expect(1, 5869, '\p{^isletternumber}', "");
-Expect(1, 5869, '\P{isletternumber}', "");
-Expect(0, 5869, '\P{^isletternumber}', "");
-Expect(1, 5872, '\p{- is-Letter Number}', "");
-Expect(0, 5872, '\p{^- is-Letter Number}', "");
-Expect(0, 5872, '\P{- is-Letter Number}', "");
-Expect(1, 5872, '\P{^- is-Letter Number}', "");
-Expect(0, 5869, '\p{- is-Letter Number}', "");
-Expect(1, 5869, '\p{^- is-Letter Number}', "");
-Expect(1, 5869, '\P{- is-Letter Number}', "");
-Expect(0, 5869, '\P{^- is-Letter Number}', "");
-Error('\p{ /a/Nl}');
-Error('\P{ /a/Nl}');
-Expect(1, 5872, '\p{nl}', "");
-Expect(0, 5872, '\p{^nl}', "");
-Expect(0, 5872, '\P{nl}', "");
-Expect(1, 5872, '\P{^nl}', "");
-Expect(0, 5869, '\p{nl}', "");
-Expect(1, 5869, '\p{^nl}', "");
-Expect(1, 5869, '\P{nl}', "");
-Expect(0, 5869, '\P{^nl}', "");
-Expect(1, 5872, '\p{-Nl}', "");
-Expect(0, 5872, '\p{^-Nl}', "");
-Expect(0, 5872, '\P{-Nl}', "");
-Expect(1, 5872, '\P{^-Nl}', "");
-Expect(0, 5869, '\p{-Nl}', "");
-Expect(1, 5869, '\p{^-Nl}', "");
-Expect(1, 5869, '\P{-Nl}', "");
-Expect(0, 5869, '\P{^-Nl}', "");
-Error('\p{-/a/is NL}');
-Error('\P{-/a/is NL}');
-Expect(1, 5872, '\p{isnl}', "");
-Expect(0, 5872, '\p{^isnl}', "");
-Expect(0, 5872, '\P{isnl}', "");
-Expect(1, 5872, '\P{^isnl}', "");
-Expect(0, 5869, '\p{isnl}', "");
-Expect(1, 5869, '\p{^isnl}', "");
-Expect(1, 5869, '\P{isnl}', "");
-Expect(0, 5869, '\P{^isnl}', "");
-Expect(1, 5872, '\p{ -Is nl}', "");
-Expect(0, 5872, '\p{^ -Is nl}', "");
-Expect(0, 5872, '\P{ -Is nl}', "");
-Expect(1, 5872, '\P{^ -Is nl}', "");
-Expect(0, 5869, '\p{ -Is nl}', "");
-Expect(1, 5869, '\p{^ -Is nl}', "");
-Expect(1, 5869, '\P{ -Is nl}', "");
-Expect(0, 5869, '\P{^ -Is nl}', "");
-Error('\p{ NUMBERFORMS:=}');
-Error('\P{ NUMBERFORMS:=}');
-Expect(1, 8591, '\p{numberforms}', "");
-Expect(0, 8591, '\p{^numberforms}', "");
-Expect(0, 8591, '\P{numberforms}', "");
-Expect(1, 8591, '\P{^numberforms}', "");
-Expect(0, 8527, '\p{numberforms}', "");
-Expect(1, 8527, '\p{^numberforms}', "");
-Expect(1, 8527, '\P{numberforms}', "");
-Expect(0, 8527, '\P{^numberforms}', "");
-Expect(1, 8591, '\p{--NUMBER_Forms}', "");
-Expect(0, 8591, '\p{^--NUMBER_Forms}', "");
-Expect(0, 8591, '\P{--NUMBER_Forms}', "");
-Expect(1, 8591, '\P{^--NUMBER_Forms}', "");
-Expect(0, 8527, '\p{--NUMBER_Forms}', "");
-Expect(1, 8527, '\p{^--NUMBER_Forms}', "");
-Expect(1, 8527, '\P{--NUMBER_Forms}', "");
-Expect(0, 8527, '\P{^--NUMBER_Forms}', "");
-Error('\p{-is/a/NUMBER-Forms}');
-Error('\P{-is/a/NUMBER-Forms}');
-Expect(1, 8591, '\p{isnumberforms}', "");
-Expect(0, 8591, '\p{^isnumberforms}', "");
-Expect(0, 8591, '\P{isnumberforms}', "");
-Expect(1, 8591, '\P{^isnumberforms}', "");
-Expect(0, 8527, '\p{isnumberforms}', "");
-Expect(1, 8527, '\p{^isnumberforms}', "");
-Expect(1, 8527, '\P{isnumberforms}', "");
-Expect(0, 8527, '\P{^isnumberforms}', "");
-Expect(1, 8591, '\p{-_IS numberForms}', "");
-Expect(0, 8591, '\p{^-_IS numberForms}', "");
-Expect(0, 8591, '\P{-_IS numberForms}', "");
-Expect(1, 8591, '\P{^-_IS numberForms}', "");
-Expect(0, 8527, '\p{-_IS numberForms}', "");
-Expect(1, 8527, '\p{^-_IS numberForms}', "");
-Expect(1, 8527, '\P{-_IS numberForms}', "");
-Expect(0, 8527, '\P{^-_IS numberForms}', "");
-Error('\p{ IN/a/number_forms}');
-Error('\P{ IN/a/number_forms}');
-Expect(1, 8591, '\p{innumberforms}', "");
-Expect(0, 8591, '\p{^innumberforms}', "");
-Expect(0, 8591, '\P{innumberforms}', "");
-Expect(1, 8591, '\P{^innumberforms}', "");
-Expect(0, 8527, '\p{innumberforms}', "");
-Expect(1, 8527, '\p{^innumberforms}', "");
-Expect(1, 8527, '\P{innumberforms}', "");
-Expect(0, 8527, '\P{^innumberforms}', "");
-Expect(1, 8591, '\p{- InnumberForms}', "");
-Expect(0, 8591, '\p{^- InnumberForms}', "");
-Expect(0, 8591, '\P{- InnumberForms}', "");
-Expect(1, 8591, '\P{^- InnumberForms}', "");
-Expect(0, 8527, '\p{- InnumberForms}', "");
-Expect(1, 8527, '\p{^- InnumberForms}', "");
-Expect(1, 8527, '\P{- InnumberForms}', "");
-Expect(0, 8527, '\P{^- InnumberForms}', "");
-Error('\p{ :=alnum}');
-Error('\P{ :=alnum}');
-Expect(1, 57, '\p{alnum}', "");
-Expect(0, 57, '\p{^alnum}', "");
-Expect(0, 57, '\P{alnum}', "");
-Expect(1, 57, '\P{^alnum}', "");
-Expect(0, 47, '\p{alnum}', "");
-Expect(1, 47, '\p{^alnum}', "");
-Expect(1, 47, '\P{alnum}', "");
-Expect(0, 47, '\P{^alnum}', "");
-Expect(1, 57, '\p{-_Alnum}', "");
-Expect(0, 57, '\p{^-_Alnum}', "");
-Expect(0, 57, '\P{-_Alnum}', "");
-Expect(1, 57, '\P{^-_Alnum}', "");
-Expect(0, 47, '\p{-_Alnum}', "");
-Expect(1, 47, '\p{^-_Alnum}', "");
-Expect(1, 47, '\P{-_Alnum}', "");
-Expect(0, 47, '\P{^-_Alnum}', "");
-Error('\p{ :=is ALNUM}');
-Error('\P{ :=is ALNUM}');
-Expect(1, 57, '\p{isalnum}', "");
-Expect(0, 57, '\p{^isalnum}', "");
-Expect(0, 57, '\P{isalnum}', "");
-Expect(1, 57, '\P{^isalnum}', "");
-Expect(0, 47, '\p{isalnum}', "");
-Expect(1, 47, '\p{^isalnum}', "");
-Expect(1, 47, '\P{isalnum}', "");
-Expect(0, 47, '\P{^isalnum}', "");
-Expect(1, 57, '\p{ _Is ALNUM}', "");
-Expect(0, 57, '\p{^ _Is ALNUM}', "");
-Expect(0, 57, '\P{ _Is ALNUM}', "");
-Expect(1, 57, '\P{^ _Is ALNUM}', "");
-Expect(0, 47, '\p{ _Is ALNUM}', "");
-Expect(1, 47, '\p{^ _Is ALNUM}', "");
-Expect(1, 47, '\P{ _Is ALNUM}', "");
-Expect(0, 47, '\P{^ _Is ALNUM}', "");
-Error('\p{/a/_-IN_Sundanese}');
-Error('\P{/a/_-IN_Sundanese}');
-Expect(1, 7103, '\p{insundanese}', "");
-Expect(0, 7103, '\p{^insundanese}', "");
-Expect(0, 7103, '\P{insundanese}', "");
-Expect(1, 7103, '\P{^insundanese}', "");
-Expect(0, 7039, '\p{insundanese}', "");
-Expect(1, 7039, '\p{^insundanese}', "");
-Expect(1, 7039, '\P{insundanese}', "");
-Expect(0, 7039, '\P{^insundanese}', "");
-Expect(1, 7103, '\p{--IN SUNDANESE}', "");
-Expect(0, 7103, '\p{^--IN SUNDANESE}', "");
-Expect(0, 7103, '\P{--IN SUNDANESE}', "");
-Expect(1, 7103, '\P{^--IN SUNDANESE}', "");
-Expect(0, 7039, '\p{--IN SUNDANESE}', "");
-Expect(1, 7039, '\p{^--IN SUNDANESE}', "");
-Expect(1, 7039, '\P{--IN SUNDANESE}', "");
-Expect(0, 7039, '\P{^--IN SUNDANESE}', "");
-Error('\p{_/a/ArabicpresentationFORMS_B}');
-Error('\P{_/a/ArabicpresentationFORMS_B}');
-Expect(1, 65279, '\p{arabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^arabicpresentationformsb}', "");
-Expect(0, 65279, '\P{arabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^arabicpresentationformsb}', "");
-Expect(0, 65135, '\p{arabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^arabicpresentationformsb}', "");
-Expect(1, 65135, '\P{arabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^arabicpresentationformsb}', "");
-Expect(1, 65279, '\p{ Arabic-Presentation_formsB}', "");
-Expect(0, 65279, '\p{^ Arabic-Presentation_formsB}', "");
-Expect(0, 65279, '\P{ Arabic-Presentation_formsB}', "");
-Expect(1, 65279, '\P{^ Arabic-Presentation_formsB}', "");
-Expect(0, 65135, '\p{ Arabic-Presentation_formsB}', "");
-Expect(1, 65135, '\p{^ Arabic-Presentation_formsB}', "");
-Expect(1, 65135, '\P{ Arabic-Presentation_formsB}', "");
-Expect(0, 65135, '\P{^ Arabic-Presentation_formsB}', "");
-Error('\p{--is:=ARABIC PRESENTATION-Forms B}');
-Error('\P{--is:=ARABIC PRESENTATION-Forms B}');
-Expect(1, 65279, '\p{isarabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^isarabicpresentationformsb}', "");
-Expect(0, 65279, '\P{isarabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^isarabicpresentationformsb}', "");
-Expect(0, 65135, '\p{isarabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^isarabicpresentationformsb}', "");
-Expect(1, 65135, '\P{isarabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^isarabicpresentationformsb}', "");
-Expect(1, 65279, '\p{ -Is Arabic-presentation_forms-b}', "");
-Expect(0, 65279, '\p{^ -Is Arabic-presentation_forms-b}', "");
-Expect(0, 65279, '\P{ -Is Arabic-presentation_forms-b}', "");
-Expect(1, 65279, '\P{^ -Is Arabic-presentation_forms-b}', "");
-Expect(0, 65135, '\p{ -Is Arabic-presentation_forms-b}', "");
-Expect(1, 65135, '\p{^ -Is Arabic-presentation_forms-b}', "");
-Expect(1, 65135, '\P{ -Is Arabic-presentation_forms-b}', "");
-Expect(0, 65135, '\P{^ -Is Arabic-presentation_forms-b}', "");
-Error('\p{ -In ARABIC presentation FormsB:=}');
-Error('\P{ -In ARABIC presentation FormsB:=}');
-Expect(1, 65279, '\p{inarabicpresentationformsb}', "");
-Expect(0, 65279, '\p{^inarabicpresentationformsb}', "");
-Expect(0, 65279, '\P{inarabicpresentationformsb}', "");
-Expect(1, 65279, '\P{^inarabicpresentationformsb}', "");
-Expect(0, 65135, '\p{inarabicpresentationformsb}', "");
-Expect(1, 65135, '\p{^inarabicpresentationformsb}', "");
-Expect(1, 65135, '\P{inarabicpresentationformsb}', "");
-Expect(0, 65135, '\P{^inarabicpresentationformsb}', "");
-Expect(1, 65279, '\p{__IN ARABIC presentation Forms B}', "");
-Expect(0, 65279, '\p{^__IN ARABIC presentation Forms B}', "");
-Expect(0, 65279, '\P{__IN ARABIC presentation Forms B}', "");
-Expect(1, 65279, '\P{^__IN ARABIC presentation Forms B}', "");
-Expect(0, 65135, '\p{__IN ARABIC presentation Forms B}', "");
-Expect(1, 65135, '\p{^__IN ARABIC presentation Forms B}', "");
-Expect(1, 65135, '\P{__IN ARABIC presentation Forms B}', "");
-Expect(0, 65135, '\P{^__IN ARABIC presentation Forms B}', "");
-Error('\p{-:=rumi Numeralsymbols}');
-Error('\P{-:=rumi Numeralsymbols}');
-Expect(1, 69247, '\p{ruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^ruminumeralsymbols}', "");
-Expect(0, 69247, '\P{ruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^ruminumeralsymbols}', "");
-Expect(0, 69215, '\p{ruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^ruminumeralsymbols}', "");
-Expect(1, 69215, '\P{ruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^ruminumeralsymbols}', "");
-Expect(1, 69247, '\p{ -Rumi Numeral SYMBOLS}', "");
-Expect(0, 69247, '\p{^ -Rumi Numeral SYMBOLS}', "");
-Expect(0, 69247, '\P{ -Rumi Numeral SYMBOLS}', "");
-Expect(1, 69247, '\P{^ -Rumi Numeral SYMBOLS}', "");
-Expect(0, 69215, '\p{ -Rumi Numeral SYMBOLS}', "");
-Expect(1, 69215, '\p{^ -Rumi Numeral SYMBOLS}', "");
-Expect(1, 69215, '\P{ -Rumi Numeral SYMBOLS}', "");
-Expect(0, 69215, '\P{^ -Rumi Numeral SYMBOLS}', "");
-Error('\p{-Is ruminumeral:=Symbols}');
-Error('\P{-Is ruminumeral:=Symbols}');
-Expect(1, 69247, '\p{isruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^isruminumeralsymbols}', "");
-Expect(0, 69247, '\P{isruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^isruminumeralsymbols}', "");
-Expect(0, 69215, '\p{isruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^isruminumeralsymbols}', "");
-Expect(1, 69215, '\P{isruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^isruminumeralsymbols}', "");
-Expect(1, 69247, '\p{_ Is_rumi numeralsymbols}', "");
-Expect(0, 69247, '\p{^_ Is_rumi numeralsymbols}', "");
-Expect(0, 69247, '\P{_ Is_rumi numeralsymbols}', "");
-Expect(1, 69247, '\P{^_ Is_rumi numeralsymbols}', "");
-Expect(0, 69215, '\p{_ Is_rumi numeralsymbols}', "");
-Expect(1, 69215, '\p{^_ Is_rumi numeralsymbols}', "");
-Expect(1, 69215, '\P{_ Is_rumi numeralsymbols}', "");
-Expect(0, 69215, '\P{^_ Is_rumi numeralsymbols}', "");
-Error('\p{ in-Rumi_NUMERAL/a/Symbols}');
-Error('\P{ in-Rumi_NUMERAL/a/Symbols}');
-Expect(1, 69247, '\p{inruminumeralsymbols}', "");
-Expect(0, 69247, '\p{^inruminumeralsymbols}', "");
-Expect(0, 69247, '\P{inruminumeralsymbols}', "");
-Expect(1, 69247, '\P{^inruminumeralsymbols}', "");
-Expect(0, 69215, '\p{inruminumeralsymbols}', "");
-Expect(1, 69215, '\p{^inruminumeralsymbols}', "");
-Expect(1, 69215, '\P{inruminumeralsymbols}', "");
-Expect(0, 69215, '\P{^inruminumeralsymbols}', "");
-Expect(1, 69247, '\p{ _IN Rumi numeralSymbols}', "");
-Expect(0, 69247, '\p{^ _IN Rumi numeralSymbols}', "");
-Expect(0, 69247, '\P{ _IN Rumi numeralSymbols}', "");
-Expect(1, 69247, '\P{^ _IN Rumi numeralSymbols}', "");
-Expect(0, 69215, '\p{ _IN Rumi numeralSymbols}', "");
-Expect(1, 69215, '\p{^ _IN Rumi numeralSymbols}', "");
-Expect(1, 69215, '\P{ _IN Rumi numeralSymbols}', "");
-Expect(0, 69215, '\P{^ _IN Rumi numeralSymbols}', "");
-Error('\p{-_common_IndicNumber/a/Forms}');
-Error('\P{-_common_IndicNumber/a/Forms}');
-Expect(1, 43071, '\p{commonindicnumberforms}', "");
-Expect(0, 43071, '\p{^commonindicnumberforms}', "");
-Expect(0, 43071, '\P{commonindicnumberforms}', "");
-Expect(1, 43071, '\P{^commonindicnumberforms}', "");
-Expect(0, 43055, '\p{commonindicnumberforms}', "");
-Expect(1, 43055, '\p{^commonindicnumberforms}', "");
-Expect(1, 43055, '\P{commonindicnumberforms}', "");
-Expect(0, 43055, '\P{^commonindicnumberforms}', "");
-Expect(1, 43071, '\p{- CommonIndic-Numberforms}', "");
-Expect(0, 43071, '\p{^- CommonIndic-Numberforms}', "");
-Expect(0, 43071, '\P{- CommonIndic-Numberforms}', "");
-Expect(1, 43071, '\P{^- CommonIndic-Numberforms}', "");
-Expect(0, 43055, '\p{- CommonIndic-Numberforms}', "");
-Expect(1, 43055, '\p{^- CommonIndic-Numberforms}', "");
-Expect(1, 43055, '\P{- CommonIndic-Numberforms}', "");
-Expect(0, 43055, '\P{^- CommonIndic-Numberforms}', "");
-Error('\p{ -Is:=common_Indic-NUMBER Forms}');
-Error('\P{ -Is:=common_Indic-NUMBER Forms}');
-Expect(1, 43071, '\p{iscommonindicnumberforms}', "");
-Expect(0, 43071, '\p{^iscommonindicnumberforms}', "");
-Expect(0, 43071, '\P{iscommonindicnumberforms}', "");
-Expect(1, 43071, '\P{^iscommonindicnumberforms}', "");
-Expect(0, 43055, '\p{iscommonindicnumberforms}', "");
-Expect(1, 43055, '\p{^iscommonindicnumberforms}', "");
-Expect(1, 43055, '\P{iscommonindicnumberforms}', "");
-Expect(0, 43055, '\P{^iscommonindicnumberforms}', "");
-Expect(1, 43071, '\p{_ Is Common-INDIC Number FORMS}', "");
-Expect(0, 43071, '\p{^_ Is Common-INDIC Number FORMS}', "");
-Expect(0, 43071, '\P{_ Is Common-INDIC Number FORMS}', "");
-Expect(1, 43071, '\P{^_ Is Common-INDIC Number FORMS}', "");
-Expect(0, 43055, '\p{_ Is Common-INDIC Number FORMS}', "");
-Expect(1, 43055, '\p{^_ Is Common-INDIC Number FORMS}', "");
-Expect(1, 43055, '\P{_ Is Common-INDIC Number FORMS}', "");
-Expect(0, 43055, '\P{^_ Is Common-INDIC Number FORMS}', "");
-Error('\p{ in Common INDIC:=number Forms}');
-Error('\P{ in Common INDIC:=number Forms}');
-Expect(1, 43071, '\p{incommonindicnumberforms}', "");
-Expect(0, 43071, '\p{^incommonindicnumberforms}', "");
-Expect(0, 43071, '\P{incommonindicnumberforms}', "");
-Expect(1, 43071, '\P{^incommonindicnumberforms}', "");
-Expect(0, 43055, '\p{incommonindicnumberforms}', "");
-Expect(1, 43055, '\p{^incommonindicnumberforms}', "");
-Expect(1, 43055, '\P{incommonindicnumberforms}', "");
-Expect(0, 43055, '\P{^incommonindicnumberforms}', "");
-Expect(1, 43071, '\p{--In-common-Indic_NUMBERForms}', "");
-Expect(0, 43071, '\p{^--In-common-Indic_NUMBERForms}', "");
-Expect(0, 43071, '\P{--In-common-Indic_NUMBERForms}', "");
-Expect(1, 43071, '\P{^--In-common-Indic_NUMBERForms}', "");
-Expect(0, 43055, '\p{--In-common-Indic_NUMBERForms}', "");
-Expect(1, 43055, '\p{^--In-common-Indic_NUMBERForms}', "");
-Expect(1, 43055, '\P{--In-common-Indic_NUMBERForms}', "");
-Expect(0, 43055, '\P{^--In-common-Indic_NUMBERForms}', "");
-Error('\p{:=Alpha}');
-Error('\P{:=Alpha}');
-Expect(1, 90, '\p{alpha}', "");
-Expect(0, 90, '\p{^alpha}', "");
-Expect(0, 90, '\P{alpha}', "");
-Expect(1, 90, '\P{^alpha}', "");
-Expect(0, 64, '\p{alpha}', "");
-Expect(1, 64, '\p{^alpha}', "");
-Expect(1, 64, '\P{alpha}', "");
-Expect(0, 64, '\P{^alpha}', "");
-Expect(1, 90, '\p{-alpha}', "");
-Expect(0, 90, '\p{^-alpha}', "");
-Expect(0, 90, '\P{-alpha}', "");
-Expect(1, 90, '\P{^-alpha}', "");
-Expect(0, 64, '\p{-alpha}', "");
-Expect(1, 64, '\p{^-alpha}', "");
-Expect(1, 64, '\P{-alpha}', "");
-Expect(0, 64, '\P{^-alpha}', "");
-Error('\p{_/a/IsAlpha}');
-Error('\P{_/a/IsAlpha}');
-Expect(1, 90, '\p{isalpha}', "");
-Expect(0, 90, '\p{^isalpha}', "");
-Expect(0, 90, '\P{isalpha}', "");
-Expect(1, 90, '\P{^isalpha}', "");
-Expect(0, 64, '\p{isalpha}', "");
-Expect(1, 64, '\p{^isalpha}', "");
-Expect(1, 64, '\P{isalpha}', "");
-Expect(0, 64, '\P{^isalpha}', "");
-Expect(1, 90, '\p{- Is Alpha}', "");
-Expect(0, 90, '\p{^- Is Alpha}', "");
-Expect(0, 90, '\P{- Is Alpha}', "");
-Expect(1, 90, '\P{^- Is Alpha}', "");
-Expect(0, 64, '\p{- Is Alpha}', "");
-Expect(1, 64, '\p{^- Is Alpha}', "");
-Expect(1, 64, '\P{- Is Alpha}', "");
-Expect(0, 64, '\P{^- Is Alpha}', "");
-Error('\p{:= -Alphabetic}');
-Error('\P{:= -Alphabetic}');
-Expect(1, 90, '\p{alphabetic}', "");
-Expect(0, 90, '\p{^alphabetic}', "");
-Expect(0, 90, '\P{alphabetic}', "");
-Expect(1, 90, '\P{^alphabetic}', "");
-Expect(0, 64, '\p{alphabetic}', "");
-Expect(1, 64, '\p{^alphabetic}', "");
-Expect(1, 64, '\P{alphabetic}', "");
-Expect(0, 64, '\P{^alphabetic}', "");
-Expect(1, 90, '\p{ -alphabetic}', "");
-Expect(0, 90, '\p{^ -alphabetic}', "");
-Expect(0, 90, '\P{ -alphabetic}', "");
-Expect(1, 90, '\P{^ -alphabetic}', "");
-Expect(0, 64, '\p{ -alphabetic}', "");
-Expect(1, 64, '\p{^ -alphabetic}', "");
-Expect(1, 64, '\P{ -alphabetic}', "");
-Expect(0, 64, '\P{^ -alphabetic}', "");
-Error('\p{ :=isalphabetic}');
-Error('\P{ :=isalphabetic}');
-Expect(1, 90, '\p{isalphabetic}', "");
-Expect(0, 90, '\p{^isalphabetic}', "");
-Expect(0, 90, '\P{isalphabetic}', "");
-Expect(1, 90, '\P{^isalphabetic}', "");
-Expect(0, 64, '\p{isalphabetic}', "");
-Expect(1, 64, '\p{^isalphabetic}', "");
-Expect(1, 64, '\P{isalphabetic}', "");
-Expect(0, 64, '\P{^isalphabetic}', "");
-Expect(1, 90, '\p{is alphabetic}', "");
-Expect(0, 90, '\p{^is alphabetic}', "");
-Expect(0, 90, '\P{is alphabetic}', "");
-Expect(1, 90, '\P{^is alphabetic}', "");
-Expect(0, 64, '\p{is alphabetic}', "");
-Expect(1, 64, '\p{^is alphabetic}', "");
-Expect(1, 64, '\P{is alphabetic}', "");
-Expect(0, 64, '\P{^is alphabetic}', "");
-Error('\p{__InEgyptian hieroglyphs/a/}');
-Error('\P{__InEgyptian hieroglyphs/a/}');
-Expect(1, 78895, '\p{inegyptianhieroglyphs}', "");
-Expect(0, 78895, '\p{^inegyptianhieroglyphs}', "");
-Expect(0, 78895, '\P{inegyptianhieroglyphs}', "");
-Expect(1, 78895, '\P{^inegyptianhieroglyphs}', "");
-Expect(0, 77823, '\p{inegyptianhieroglyphs}', "");
-Expect(1, 77823, '\p{^inegyptianhieroglyphs}', "");
-Expect(1, 77823, '\P{inegyptianhieroglyphs}', "");
-Expect(0, 77823, '\P{^inegyptianhieroglyphs}', "");
-Expect(1, 78895, '\p{ -INEgyptianHieroglyphs}', "");
-Expect(0, 78895, '\p{^ -INEgyptianHieroglyphs}', "");
-Expect(0, 78895, '\P{ -INEgyptianHieroglyphs}', "");
-Expect(1, 78895, '\P{^ -INEgyptianHieroglyphs}', "");
-Expect(0, 77823, '\p{ -INEgyptianHieroglyphs}', "");
-Expect(1, 77823, '\p{^ -INEgyptianHieroglyphs}', "");
-Expect(1, 77823, '\P{ -INEgyptianHieroglyphs}', "");
-Expect(0, 77823, '\P{^ -INEgyptianHieroglyphs}', "");
-Error('\p{/a/In Myanmar}');
-Error('\P{/a/In Myanmar}');
-Expect(1, 4255, '\p{inmyanmar}', "");
-Expect(0, 4255, '\p{^inmyanmar}', "");
-Expect(0, 4255, '\P{inmyanmar}', "");
-Expect(1, 4255, '\P{^inmyanmar}', "");
-Expect(0, 4095, '\p{inmyanmar}', "");
-Expect(1, 4095, '\p{^inmyanmar}', "");
-Expect(1, 4095, '\P{inmyanmar}', "");
-Expect(0, 4095, '\P{^inmyanmar}', "");
-Expect(1, 4255, '\p{ IN MYANMAR}', "");
-Expect(0, 4255, '\p{^ IN MYANMAR}', "");
-Expect(0, 4255, '\P{ IN MYANMAR}', "");
-Expect(1, 4255, '\P{^ IN MYANMAR}', "");
-Expect(0, 4095, '\p{ IN MYANMAR}', "");
-Expect(1, 4095, '\p{^ IN MYANMAR}', "");
-Expect(1, 4095, '\P{ IN MYANMAR}', "");
-Expect(0, 4095, '\P{^ IN MYANMAR}', "");
-Error('\p{- Greek/a/Extended}');
-Error('\P{- Greek/a/Extended}');
-Expect(1, 8191, '\p{greekextended}', "");
-Expect(0, 8191, '\p{^greekextended}', "");
-Expect(0, 8191, '\P{greekextended}', "");
-Expect(1, 8191, '\P{^greekextended}', "");
-Expect(0, 7935, '\p{greekextended}', "");
-Expect(1, 7935, '\p{^greekextended}', "");
-Expect(1, 7935, '\P{greekextended}', "");
-Expect(0, 7935, '\P{^greekextended}', "");
-Expect(1, 8191, '\p{- GREEK_EXTENDED}', "");
-Expect(0, 8191, '\p{^- GREEK_EXTENDED}', "");
-Expect(0, 8191, '\P{- GREEK_EXTENDED}', "");
-Expect(1, 8191, '\P{^- GREEK_EXTENDED}', "");
-Expect(0, 7935, '\p{- GREEK_EXTENDED}', "");
-Expect(1, 7935, '\p{^- GREEK_EXTENDED}', "");
-Expect(1, 7935, '\P{- GREEK_EXTENDED}', "");
-Expect(0, 7935, '\P{^- GREEK_EXTENDED}', "");
-Error('\p{ Is greek/a/EXTENDED}');
-Error('\P{ Is greek/a/EXTENDED}');
-Expect(1, 8191, '\p{isgreekextended}', "");
-Expect(0, 8191, '\p{^isgreekextended}', "");
-Expect(0, 8191, '\P{isgreekextended}', "");
-Expect(1, 8191, '\P{^isgreekextended}', "");
-Expect(0, 7935, '\p{isgreekextended}', "");
-Expect(1, 7935, '\p{^isgreekextended}', "");
-Expect(1, 7935, '\P{isgreekextended}', "");
-Expect(0, 7935, '\P{^isgreekextended}', "");
-Expect(1, 8191, '\p{ -is GREEK_EXTENDED}', "");
-Expect(0, 8191, '\p{^ -is GREEK_EXTENDED}', "");
-Expect(0, 8191, '\P{ -is GREEK_EXTENDED}', "");
-Expect(1, 8191, '\P{^ -is GREEK_EXTENDED}', "");
-Expect(0, 7935, '\p{ -is GREEK_EXTENDED}', "");
-Expect(1, 7935, '\p{^ -is GREEK_EXTENDED}', "");
-Expect(1, 7935, '\P{ -is GREEK_EXTENDED}', "");
-Expect(0, 7935, '\P{^ -is GREEK_EXTENDED}', "");
-Error('\p{-/a/In greek_extended}');
-Error('\P{-/a/In greek_extended}');
-Expect(1, 8191, '\p{ingreekextended}', "");
-Expect(0, 8191, '\p{^ingreekextended}', "");
-Expect(0, 8191, '\P{ingreekextended}', "");
-Expect(1, 8191, '\P{^ingreekextended}', "");
-Expect(0, 7935, '\p{ingreekextended}', "");
-Expect(1, 7935, '\p{^ingreekextended}', "");
-Expect(1, 7935, '\P{ingreekextended}', "");
-Expect(0, 7935, '\P{^ingreekextended}', "");
-Expect(1, 8191, '\p{ in GreekEXTENDED}', "");
-Expect(0, 8191, '\p{^ in GreekEXTENDED}', "");
-Expect(0, 8191, '\P{ in GreekEXTENDED}', "");
-Expect(1, 8191, '\P{^ in GreekEXTENDED}', "");
-Expect(0, 7935, '\p{ in GreekEXTENDED}', "");
-Expect(1, 7935, '\p{^ in GreekEXTENDED}', "");
-Expect(1, 7935, '\P{ in GreekEXTENDED}', "");
-Expect(0, 7935, '\P{^ in GreekEXTENDED}', "");
-Error('\p{ :=radical}');
-Error('\P{ :=radical}');
-Expect(1, 11929, '\p{radical}', "");
-Expect(0, 11929, '\p{^radical}', "");
-Expect(0, 11929, '\P{radical}', "");
-Expect(1, 11929, '\P{^radical}', "");
-Expect(0, 11903, '\p{radical}', "");
-Expect(1, 11903, '\p{^radical}', "");
-Expect(1, 11903, '\P{radical}', "");
-Expect(0, 11903, '\P{^radical}', "");
-Expect(1, 11929, '\p{ -RADICAL}', "");
-Expect(0, 11929, '\p{^ -RADICAL}', "");
-Expect(0, 11929, '\P{ -RADICAL}', "");
-Expect(1, 11929, '\P{^ -RADICAL}', "");
-Expect(0, 11903, '\p{ -RADICAL}', "");
-Expect(1, 11903, '\p{^ -RADICAL}', "");
-Expect(1, 11903, '\P{ -RADICAL}', "");
-Expect(0, 11903, '\P{^ -RADICAL}', "");
-Error('\p{ /a/Isradical}');
-Error('\P{ /a/Isradical}');
-Expect(1, 11929, '\p{isradical}', "");
-Expect(0, 11929, '\p{^isradical}', "");
-Expect(0, 11929, '\P{isradical}', "");
-Expect(1, 11929, '\P{^isradical}', "");
-Expect(0, 11903, '\p{isradical}', "");
-Expect(1, 11903, '\p{^isradical}', "");
-Expect(1, 11903, '\P{isradical}', "");
-Expect(0, 11903, '\P{^isradical}', "");
-Expect(1, 11929, '\p{ is-radical}', "");
-Expect(0, 11929, '\p{^ is-radical}', "");
-Expect(0, 11929, '\P{ is-radical}', "");
-Expect(1, 11929, '\P{^ is-radical}', "");
-Expect(0, 11903, '\p{ is-radical}', "");
-Expect(1, 11903, '\p{^ is-radical}', "");
-Expect(1, 11903, '\P{ is-radical}', "");
-Expect(0, 11903, '\P{^ is-radical}', "");
-Error('\p{ _Low/a/Surrogates}');
-Error('\P{ _Low/a/Surrogates}');
-Expect(0, 1, '\p{lowsurrogates}', "");
-Expect(1, 1, '\p{^lowsurrogates}', "");
-Expect(1, 1, '\P{lowsurrogates}', "");
-Expect(0, 1, '\P{^lowsurrogates}', "");
-Expect(0, 1, '\p{ low_Surrogates}', "");
-Expect(1, 1, '\p{^ low_Surrogates}', "");
-Expect(1, 1, '\P{ low_Surrogates}', "");
-Expect(0, 1, '\P{^ low_Surrogates}', "");
-Error('\p{_:=Is_Low Surrogates}');
-Error('\P{_:=Is_Low Surrogates}');
-Expect(0, 1, '\p{islowsurrogates}', "");
-Expect(1, 1, '\p{^islowsurrogates}', "");
-Expect(1, 1, '\P{islowsurrogates}', "");
-Expect(0, 1, '\P{^islowsurrogates}', "");
-Expect(0, 1, '\p{_-IS Low Surrogates}', "");
-Expect(1, 1, '\p{^_-IS Low Surrogates}', "");
-Expect(1, 1, '\P{_-IS Low Surrogates}', "");
-Expect(0, 1, '\P{^_-IS Low Surrogates}', "");
-Error('\p{-in-low SURROGATES/a/}');
-Error('\P{-in-low SURROGATES/a/}');
-Expect(0, 1, '\p{inlowsurrogates}', "");
-Expect(1, 1, '\p{^inlowsurrogates}', "");
-Expect(1, 1, '\P{inlowsurrogates}', "");
-Expect(0, 1, '\P{^inlowsurrogates}', "");
-Expect(0, 1, '\p{ in Low Surrogates}', "");
-Expect(1, 1, '\p{^ in Low Surrogates}', "");
-Expect(1, 1, '\P{ in Low Surrogates}', "");
-Expect(0, 1, '\P{^ in Low Surrogates}', "");
-Error('\p{__in_Phags-pa:=}');
-Error('\P{__in_Phags-pa:=}');
-Expect(1, 43135, '\p{inphagspa}', "");
-Expect(0, 43135, '\p{^inphagspa}', "");
-Expect(0, 43135, '\P{inphagspa}', "");
-Expect(1, 43135, '\P{^inphagspa}', "");
-Expect(0, 43071, '\p{inphagspa}', "");
-Expect(1, 43071, '\p{^inphagspa}', "");
-Expect(1, 43071, '\P{inphagspa}', "");
-Expect(0, 43071, '\P{^inphagspa}', "");
-Expect(1, 43135, '\p{- in Phags Pa}', "");
-Expect(0, 43135, '\p{^- in Phags Pa}', "");
-Expect(0, 43135, '\P{- in Phags Pa}', "");
-Expect(1, 43135, '\P{^- in Phags Pa}', "");
-Expect(0, 43071, '\p{- in Phags Pa}', "");
-Expect(1, 43071, '\p{^- in Phags Pa}', "");
-Expect(1, 43071, '\P{- in Phags Pa}', "");
-Expect(0, 43071, '\P{^- in Phags Pa}', "");
-Error('\p{_ IMPERIAL/a/Aramaic}');
-Error('\P{_ IMPERIAL/a/Aramaic}');
-Expect(1, 67669, '\p{imperialaramaic}', "");
-Expect(0, 67669, '\p{^imperialaramaic}', "");
-Expect(0, 67669, '\P{imperialaramaic}', "");
-Expect(1, 67669, '\P{^imperialaramaic}', "");
-Expect(0, 67647, '\p{imperialaramaic}', "");
-Expect(1, 67647, '\p{^imperialaramaic}', "");
-Expect(1, 67647, '\P{imperialaramaic}', "");
-Expect(0, 67647, '\P{^imperialaramaic}', "");
-Expect(1, 67669, '\p{_Imperial Aramaic}', "");
-Expect(0, 67669, '\p{^_Imperial Aramaic}', "");
-Expect(0, 67669, '\P{_Imperial Aramaic}', "");
-Expect(1, 67669, '\P{^_Imperial Aramaic}', "");
-Expect(0, 67647, '\p{_Imperial Aramaic}', "");
-Expect(1, 67647, '\p{^_Imperial Aramaic}', "");
-Expect(1, 67647, '\P{_Imperial Aramaic}', "");
-Expect(0, 67647, '\P{^_Imperial Aramaic}', "");
-Error('\p{:= _IS IMPERIAL_aramaic}');
-Error('\P{:= _IS IMPERIAL_aramaic}');
-Expect(1, 67669, '\p{isimperialaramaic}', "");
-Expect(0, 67669, '\p{^isimperialaramaic}', "");
-Expect(0, 67669, '\P{isimperialaramaic}', "");
-Expect(1, 67669, '\P{^isimperialaramaic}', "");
-Expect(0, 67647, '\p{isimperialaramaic}', "");
-Expect(1, 67647, '\p{^isimperialaramaic}', "");
-Expect(1, 67647, '\P{isimperialaramaic}', "");
-Expect(0, 67647, '\P{^isimperialaramaic}', "");
-Expect(1, 67669, '\p{- Is-Imperial ARAMAIC}', "");
-Expect(0, 67669, '\p{^- Is-Imperial ARAMAIC}', "");
-Expect(0, 67669, '\P{- Is-Imperial ARAMAIC}', "");
-Expect(1, 67669, '\P{^- Is-Imperial ARAMAIC}', "");
-Expect(0, 67647, '\p{- Is-Imperial ARAMAIC}', "");
-Expect(1, 67647, '\p{^- Is-Imperial ARAMAIC}', "");
-Expect(1, 67647, '\P{- Is-Imperial ARAMAIC}', "");
-Expect(0, 67647, '\P{^- Is-Imperial ARAMAIC}', "");
-Error('\p{:=_-ARMI}');
-Error('\P{:=_-ARMI}');
-Expect(1, 67669, '\p{armi}', "");
-Expect(0, 67669, '\p{^armi}', "");
-Expect(0, 67669, '\P{armi}', "");
-Expect(1, 67669, '\P{^armi}', "");
-Expect(0, 67647, '\p{armi}', "");
-Expect(1, 67647, '\p{^armi}', "");
-Expect(1, 67647, '\P{armi}', "");
-Expect(0, 67647, '\P{^armi}', "");
-Expect(1, 67669, '\p{_ ARMI}', "");
-Expect(0, 67669, '\p{^_ ARMI}', "");
-Expect(0, 67669, '\P{_ ARMI}', "");
-Expect(1, 67669, '\P{^_ ARMI}', "");
-Expect(0, 67647, '\p{_ ARMI}', "");
-Expect(1, 67647, '\p{^_ ARMI}', "");
-Expect(1, 67647, '\P{_ ARMI}', "");
-Expect(0, 67647, '\P{^_ ARMI}', "");
-Error('\p{_Is:=Armi}');
-Error('\P{_Is:=Armi}');
-Expect(1, 67669, '\p{isarmi}', "");
-Expect(0, 67669, '\p{^isarmi}', "");
-Expect(0, 67669, '\P{isarmi}', "");
-Expect(1, 67669, '\P{^isarmi}', "");
-Expect(0, 67647, '\p{isarmi}', "");
-Expect(1, 67647, '\p{^isarmi}', "");
-Expect(1, 67647, '\P{isarmi}', "");
-Expect(0, 67647, '\P{^isarmi}', "");
-Expect(1, 67669, '\p{_ Is-Armi}', "");
-Expect(0, 67669, '\p{^_ Is-Armi}', "");
-Expect(0, 67669, '\P{_ Is-Armi}', "");
-Expect(1, 67669, '\P{^_ Is-Armi}', "");
-Expect(0, 67647, '\p{_ Is-Armi}', "");
-Expect(1, 67647, '\p{^_ Is-Armi}', "");
-Expect(1, 67647, '\P{_ Is-Armi}', "");
-Expect(0, 67647, '\P{^_ Is-Armi}', "");
-Error('\p{:=-PERLSPACE}');
-Error('\P{:=-PERLSPACE}');
-Expect(1, 10, '\p{perlspace}', "");
-Expect(0, 10, '\p{^perlspace}', "");
-Expect(0, 10, '\P{perlspace}', "");
-Expect(1, 10, '\P{^perlspace}', "");
-Expect(0, 8, '\p{perlspace}', "");
-Expect(1, 8, '\p{^perlspace}', "");
-Expect(1, 8, '\P{perlspace}', "");
-Expect(0, 8, '\P{^perlspace}', "");
-Expect(1, 10, '\p{ -PerlSpace}', "");
-Expect(0, 10, '\p{^ -PerlSpace}', "");
-Expect(0, 10, '\P{ -PerlSpace}', "");
-Expect(1, 10, '\P{^ -PerlSpace}', "");
-Expect(0, 8, '\p{ -PerlSpace}', "");
-Expect(1, 8, '\p{^ -PerlSpace}', "");
-Expect(1, 8, '\P{ -PerlSpace}', "");
-Expect(0, 8, '\P{^ -PerlSpace}', "");
-Error('\p{-/a/Is_perlspace}');
-Error('\P{-/a/Is_perlspace}');
-Expect(1, 10, '\p{isperlspace}', "");
-Expect(0, 10, '\p{^isperlspace}', "");
-Expect(0, 10, '\P{isperlspace}', "");
-Expect(1, 10, '\P{^isperlspace}', "");
-Expect(0, 8, '\p{isperlspace}', "");
-Expect(1, 8, '\p{^isperlspace}', "");
-Expect(1, 8, '\P{isperlspace}', "");
-Expect(0, 8, '\P{^isperlspace}', "");
-Expect(1, 10, '\p{IS PerlSpace}', "");
-Expect(0, 10, '\p{^IS PerlSpace}', "");
-Expect(0, 10, '\P{IS PerlSpace}', "");
-Expect(1, 10, '\P{^IS PerlSpace}', "");
-Expect(0, 8, '\p{IS PerlSpace}', "");
-Expect(1, 8, '\p{^IS PerlSpace}', "");
-Expect(1, 8, '\P{IS PerlSpace}', "");
-Expect(0, 8, '\P{^IS PerlSpace}', "");
-Error('\p{ -IDS:=BINARYOPERATOR}');
-Error('\P{ -IDS:=BINARYOPERATOR}');
-Expect(1, 12273, '\p{idsbinaryoperator}', "");
-Expect(0, 12273, '\p{^idsbinaryoperator}', "");
-Expect(0, 12273, '\P{idsbinaryoperator}', "");
-Expect(1, 12273, '\P{^idsbinaryoperator}', "");
-Expect(0, 12271, '\p{idsbinaryoperator}', "");
-Expect(1, 12271, '\p{^idsbinaryoperator}', "");
-Expect(1, 12271, '\P{idsbinaryoperator}', "");
-Expect(0, 12271, '\P{^idsbinaryoperator}', "");
-Expect(1, 12273, '\p{ ids Binary-OPERATOR}', "");
-Expect(0, 12273, '\p{^ ids Binary-OPERATOR}', "");
-Expect(0, 12273, '\P{ ids Binary-OPERATOR}', "");
-Expect(1, 12273, '\P{^ ids Binary-OPERATOR}', "");
-Expect(0, 12271, '\p{ ids Binary-OPERATOR}', "");
-Expect(1, 12271, '\p{^ ids Binary-OPERATOR}', "");
-Expect(1, 12271, '\P{ ids Binary-OPERATOR}', "");
-Expect(0, 12271, '\P{^ ids Binary-OPERATOR}', "");
-Error('\p{_/a/Is_ids-Binaryoperator}');
-Error('\P{_/a/Is_ids-Binaryoperator}');
-Expect(1, 12273, '\p{isidsbinaryoperator}', "");
-Expect(0, 12273, '\p{^isidsbinaryoperator}', "");
-Expect(0, 12273, '\P{isidsbinaryoperator}', "");
-Expect(1, 12273, '\P{^isidsbinaryoperator}', "");
-Expect(0, 12271, '\p{isidsbinaryoperator}', "");
-Expect(1, 12271, '\p{^isidsbinaryoperator}', "");
-Expect(1, 12271, '\P{isidsbinaryoperator}', "");
-Expect(0, 12271, '\P{^isidsbinaryoperator}', "");
-Expect(1, 12273, '\p{ Isids_Binary-Operator}', "");
-Expect(0, 12273, '\p{^ Isids_Binary-Operator}', "");
-Expect(0, 12273, '\P{ Isids_Binary-Operator}', "");
-Expect(1, 12273, '\P{^ Isids_Binary-Operator}', "");
-Expect(0, 12271, '\p{ Isids_Binary-Operator}', "");
-Expect(1, 12271, '\p{^ Isids_Binary-Operator}', "");
-Expect(1, 12271, '\P{ Isids_Binary-Operator}', "");
-Expect(0, 12271, '\P{^ Isids_Binary-Operator}', "");
-Error('\p{_/a/IDSB}');
-Error('\P{_/a/IDSB}');
-Expect(1, 12273, '\p{idsb}', "");
-Expect(0, 12273, '\p{^idsb}', "");
-Expect(0, 12273, '\P{idsb}', "");
-Expect(1, 12273, '\P{^idsb}', "");
-Expect(0, 12271, '\p{idsb}', "");
-Expect(1, 12271, '\p{^idsb}', "");
-Expect(1, 12271, '\P{idsb}', "");
-Expect(0, 12271, '\P{^idsb}', "");
-Expect(1, 12273, '\p{_ IDSB}', "");
-Expect(0, 12273, '\p{^_ IDSB}', "");
-Expect(0, 12273, '\P{_ IDSB}', "");
-Expect(1, 12273, '\P{^_ IDSB}', "");
-Expect(0, 12271, '\p{_ IDSB}', "");
-Expect(1, 12271, '\p{^_ IDSB}', "");
-Expect(1, 12271, '\P{_ IDSB}', "");
-Expect(0, 12271, '\P{^_ IDSB}', "");
-Error('\p{-/a/IS IDSB}');
-Error('\P{-/a/IS IDSB}');
-Expect(1, 12273, '\p{isidsb}', "");
-Expect(0, 12273, '\p{^isidsb}', "");
-Expect(0, 12273, '\P{isidsb}', "");
-Expect(1, 12273, '\P{^isidsb}', "");
-Expect(0, 12271, '\p{isidsb}', "");
-Expect(1, 12271, '\p{^isidsb}', "");
-Expect(1, 12271, '\P{isidsb}', "");
-Expect(0, 12271, '\P{^isidsb}', "");
-Expect(1, 12273, '\p{ is IDSB}', "");
-Expect(0, 12273, '\p{^ is IDSB}', "");
-Expect(0, 12273, '\P{ is IDSB}', "");
-Expect(1, 12273, '\P{^ is IDSB}', "");
-Expect(0, 12271, '\p{ is IDSB}', "");
-Expect(1, 12271, '\p{^ is IDSB}', "");
-Expect(1, 12271, '\P{ is IDSB}', "");
-Expect(0, 12271, '\P{^ is IDSB}', "");
-Error('\p{_/a/Cntrl}');
-Error('\P{_/a/Cntrl}');
-Expect(1, 31, '\p{cntrl}', "");
-Expect(0, 31, '\p{^cntrl}', "");
-Expect(0, 31, '\P{cntrl}', "");
-Expect(1, 31, '\P{^cntrl}', "");
-Expect(0, 126, '\p{cntrl}', "");
-Expect(1, 126, '\p{^cntrl}', "");
-Expect(1, 126, '\P{cntrl}', "");
-Expect(0, 126, '\P{^cntrl}', "");
-Expect(1, 31, '\p{__Cntrl}', "");
-Expect(0, 31, '\p{^__Cntrl}', "");
-Expect(0, 31, '\P{__Cntrl}', "");
-Expect(1, 31, '\P{^__Cntrl}', "");
-Expect(0, 126, '\p{__Cntrl}', "");
-Expect(1, 126, '\p{^__Cntrl}', "");
-Expect(1, 126, '\P{__Cntrl}', "");
-Expect(0, 126, '\P{^__Cntrl}', "");
-Error('\p{-:=Is Cntrl}');
-Error('\P{-:=Is Cntrl}');
-Expect(1, 31, '\p{iscntrl}', "");
-Expect(0, 31, '\p{^iscntrl}', "");
-Expect(0, 31, '\P{iscntrl}', "");
-Expect(1, 31, '\P{^iscntrl}', "");
-Expect(0, 126, '\p{iscntrl}', "");
-Expect(1, 126, '\p{^iscntrl}', "");
-Expect(1, 126, '\P{iscntrl}', "");
-Expect(0, 126, '\P{^iscntrl}', "");
-Expect(1, 31, '\p{_is Cntrl}', "");
-Expect(0, 31, '\p{^_is Cntrl}', "");
-Expect(0, 31, '\P{_is Cntrl}', "");
-Expect(1, 31, '\P{^_is Cntrl}', "");
-Expect(0, 126, '\p{_is Cntrl}', "");
-Expect(1, 126, '\p{^_is Cntrl}', "");
-Expect(1, 126, '\P{_is Cntrl}', "");
-Expect(0, 126, '\P{^_is Cntrl}', "");
-Error('\p{/a/-_control}');
-Error('\P{/a/-_control}');
-Expect(1, 31, '\p{control}', "");
-Expect(0, 31, '\p{^control}', "");
-Expect(0, 31, '\P{control}', "");
-Expect(1, 31, '\P{^control}', "");
-Expect(0, 126, '\p{control}', "");
-Expect(1, 126, '\p{^control}', "");
-Expect(1, 126, '\P{control}', "");
-Expect(0, 126, '\P{^control}', "");
-Expect(1, 31, '\p{--Control}', "");
-Expect(0, 31, '\p{^--Control}', "");
-Expect(0, 31, '\P{--Control}', "");
-Expect(1, 31, '\P{^--Control}', "");
-Expect(0, 126, '\p{--Control}', "");
-Expect(1, 126, '\p{^--Control}', "");
-Expect(1, 126, '\P{--Control}', "");
-Expect(0, 126, '\P{^--Control}', "");
-Error('\p{_/a/ISControl}');
-Error('\P{_/a/ISControl}');
-Expect(1, 31, '\p{iscontrol}', "");
-Expect(0, 31, '\p{^iscontrol}', "");
-Expect(0, 31, '\P{iscontrol}', "");
-Expect(1, 31, '\P{^iscontrol}', "");
-Expect(0, 126, '\p{iscontrol}', "");
-Expect(1, 126, '\p{^iscontrol}', "");
-Expect(1, 126, '\P{iscontrol}', "");
-Expect(0, 126, '\P{^iscontrol}', "");
-Expect(1, 31, '\p{-Iscontrol}', "");
-Expect(0, 31, '\p{^-Iscontrol}', "");
-Expect(0, 31, '\P{-Iscontrol}', "");
-Expect(1, 31, '\P{^-Iscontrol}', "");
-Expect(0, 126, '\p{-Iscontrol}', "");
-Expect(1, 126, '\p{^-Iscontrol}', "");
-Expect(1, 126, '\P{-Iscontrol}', "");
-Expect(0, 126, '\P{^-Iscontrol}', "");
-Error('\p{/a/-_Cc}');
-Error('\P{/a/-_Cc}');
-Expect(1, 31, '\p{cc}', "");
-Expect(0, 31, '\p{^cc}', "");
-Expect(0, 31, '\P{cc}', "");
-Expect(1, 31, '\P{^cc}', "");
-Expect(0, 126, '\p{cc}', "");
-Expect(1, 126, '\p{^cc}', "");
-Expect(1, 126, '\P{cc}', "");
-Expect(0, 126, '\P{^cc}', "");
-Expect(1, 31, '\p{- Cc}', "");
-Expect(0, 31, '\p{^- Cc}', "");
-Expect(0, 31, '\P{- Cc}', "");
-Expect(1, 31, '\P{^- Cc}', "");
-Expect(0, 126, '\p{- Cc}', "");
-Expect(1, 126, '\p{^- Cc}', "");
-Expect(1, 126, '\P{- Cc}', "");
-Expect(0, 126, '\P{^- Cc}', "");
-Error('\p{ -Is CC/a/}');
-Error('\P{ -Is CC/a/}');
-Expect(1, 31, '\p{iscc}', "");
-Expect(0, 31, '\p{^iscc}', "");
-Expect(0, 31, '\P{iscc}', "");
-Expect(1, 31, '\P{^iscc}', "");
-Expect(0, 126, '\p{iscc}', "");
-Expect(1, 126, '\p{^iscc}', "");
-Expect(1, 126, '\P{iscc}', "");
-Expect(0, 126, '\P{^iscc}', "");
-Expect(1, 31, '\p{_-Is-Cc}', "");
-Expect(0, 31, '\p{^_-Is-Cc}', "");
-Expect(0, 31, '\P{_-Is-Cc}', "");
-Expect(1, 31, '\P{^_-Is-Cc}', "");
-Expect(0, 126, '\p{_-Is-Cc}', "");
-Expect(1, 126, '\p{^_-Is-Cc}', "");
-Expect(1, 126, '\P{_-Is-Cc}', "");
-Expect(0, 126, '\P{^_-Is-Cc}', "");
-Error('\p{_CHANGES/a/When Titlecased}');
-Error('\P{_CHANGES/a/When Titlecased}');
-Expect(1, 122, '\p{changeswhentitlecased}', "");
-Expect(0, 122, '\p{^changeswhentitlecased}', "");
-Expect(0, 122, '\P{changeswhentitlecased}', "");
-Expect(1, 122, '\P{^changeswhentitlecased}', "");
-Expect(0, 96, '\p{changeswhentitlecased}', "");
-Expect(1, 96, '\p{^changeswhentitlecased}', "");
-Expect(1, 96, '\P{changeswhentitlecased}', "");
-Expect(0, 96, '\P{^changeswhentitlecased}', "");
-Expect(1, 122, '\p{_ Changes When Titlecased}', "");
-Expect(0, 122, '\p{^_ Changes When Titlecased}', "");
-Expect(0, 122, '\P{_ Changes When Titlecased}', "");
-Expect(1, 122, '\P{^_ Changes When Titlecased}', "");
-Expect(0, 96, '\p{_ Changes When Titlecased}', "");
-Expect(1, 96, '\p{^_ Changes When Titlecased}', "");
-Expect(1, 96, '\P{_ Changes When Titlecased}', "");
-Expect(0, 96, '\P{^_ Changes When Titlecased}', "");
-Error('\p{_:=is-Changes When Titlecased}');
-Error('\P{_:=is-Changes When Titlecased}');
-Expect(1, 122, '\p{ischangeswhentitlecased}', "");
-Expect(0, 122, '\p{^ischangeswhentitlecased}', "");
-Expect(0, 122, '\P{ischangeswhentitlecased}', "");
-Expect(1, 122, '\P{^ischangeswhentitlecased}', "");
-Expect(0, 96, '\p{ischangeswhentitlecased}', "");
-Expect(1, 96, '\p{^ischangeswhentitlecased}', "");
-Expect(1, 96, '\P{ischangeswhentitlecased}', "");
-Expect(0, 96, '\P{^ischangeswhentitlecased}', "");
-Expect(1, 122, '\p{ Is-changes_WHENTitlecased}', "");
-Expect(0, 122, '\p{^ Is-changes_WHENTitlecased}', "");
-Expect(0, 122, '\P{ Is-changes_WHENTitlecased}', "");
-Expect(1, 122, '\P{^ Is-changes_WHENTitlecased}', "");
-Expect(0, 96, '\p{ Is-changes_WHENTitlecased}', "");
-Expect(1, 96, '\p{^ Is-changes_WHENTitlecased}', "");
-Expect(1, 96, '\P{ Is-changes_WHENTitlecased}', "");
-Expect(0, 96, '\P{^ Is-changes_WHENTitlecased}', "");
-Error('\p{_ CWT:=}');
-Error('\P{_ CWT:=}');
-Expect(1, 122, '\p{cwt}', "");
-Expect(0, 122, '\p{^cwt}', "");
-Expect(0, 122, '\P{cwt}', "");
-Expect(1, 122, '\P{^cwt}', "");
-Expect(0, 96, '\p{cwt}', "");
-Expect(1, 96, '\p{^cwt}', "");
-Expect(1, 96, '\P{cwt}', "");
-Expect(0, 96, '\P{^cwt}', "");
-Expect(1, 122, '\p{- cwt}', "");
-Expect(0, 122, '\p{^- cwt}', "");
-Expect(0, 122, '\P{- cwt}', "");
-Expect(1, 122, '\P{^- cwt}', "");
-Expect(0, 96, '\p{- cwt}', "");
-Expect(1, 96, '\p{^- cwt}', "");
-Expect(1, 96, '\P{- cwt}', "");
-Expect(0, 96, '\P{^- cwt}', "");
-Error('\p{ _is_cwt/a/}');
-Error('\P{ _is_cwt/a/}');
-Expect(1, 122, '\p{iscwt}', "");
-Expect(0, 122, '\p{^iscwt}', "");
-Expect(0, 122, '\P{iscwt}', "");
-Expect(1, 122, '\P{^iscwt}', "");
-Expect(0, 96, '\p{iscwt}', "");
-Expect(1, 96, '\p{^iscwt}', "");
-Expect(1, 96, '\P{iscwt}', "");
-Expect(0, 96, '\P{^iscwt}', "");
-Expect(1, 122, '\p{ -IsCWT}', "");
-Expect(0, 122, '\p{^ -IsCWT}', "");
-Expect(0, 122, '\P{ -IsCWT}', "");
-Expect(1, 122, '\P{^ -IsCWT}', "");
-Expect(0, 96, '\p{ -IsCWT}', "");
-Expect(1, 96, '\p{^ -IsCWT}', "");
-Expect(1, 96, '\P{ -IsCWT}', "");
-Expect(0, 96, '\P{^ -IsCWT}', "");
-Error('\p{ _cyrillic Extended A/a/}');
-Error('\P{ _cyrillic Extended A/a/}');
-Expect(1, 11775, '\p{cyrillicextendeda}', "");
-Expect(0, 11775, '\p{^cyrillicextendeda}', "");
-Expect(0, 11775, '\P{cyrillicextendeda}', "");
-Expect(1, 11775, '\P{^cyrillicextendeda}', "");
-Expect(0, 11743, '\p{cyrillicextendeda}', "");
-Expect(1, 11743, '\p{^cyrillicextendeda}', "");
-Expect(1, 11743, '\P{cyrillicextendeda}', "");
-Expect(0, 11743, '\P{^cyrillicextendeda}', "");
-Expect(1, 11775, '\p{- Cyrillic_Extended A}', "");
-Expect(0, 11775, '\p{^- Cyrillic_Extended A}', "");
-Expect(0, 11775, '\P{- Cyrillic_Extended A}', "");
-Expect(1, 11775, '\P{^- Cyrillic_Extended A}', "");
-Expect(0, 11743, '\p{- Cyrillic_Extended A}', "");
-Expect(1, 11743, '\p{^- Cyrillic_Extended A}', "");
-Expect(1, 11743, '\P{- Cyrillic_Extended A}', "");
-Expect(0, 11743, '\P{^- Cyrillic_Extended A}', "");
-Error('\p{ -is Cyrillic EXTENDEDA/a/}');
-Error('\P{ -is Cyrillic EXTENDEDA/a/}');
-Expect(1, 11775, '\p{iscyrillicextendeda}', "");
-Expect(0, 11775, '\p{^iscyrillicextendeda}', "");
-Expect(0, 11775, '\P{iscyrillicextendeda}', "");
-Expect(1, 11775, '\P{^iscyrillicextendeda}', "");
-Expect(0, 11743, '\p{iscyrillicextendeda}', "");
-Expect(1, 11743, '\p{^iscyrillicextendeda}', "");
-Expect(1, 11743, '\P{iscyrillicextendeda}', "");
-Expect(0, 11743, '\P{^iscyrillicextendeda}', "");
-Expect(1, 11775, '\p{ is Cyrillic-Extended_a}', "");
-Expect(0, 11775, '\p{^ is Cyrillic-Extended_a}', "");
-Expect(0, 11775, '\P{ is Cyrillic-Extended_a}', "");
-Expect(1, 11775, '\P{^ is Cyrillic-Extended_a}', "");
-Expect(0, 11743, '\p{ is Cyrillic-Extended_a}', "");
-Expect(1, 11743, '\p{^ is Cyrillic-Extended_a}', "");
-Expect(1, 11743, '\P{ is Cyrillic-Extended_a}', "");
-Expect(0, 11743, '\P{^ is Cyrillic-Extended_a}', "");
-Error('\p{_/a/in_Cyrillicextended a}');
-Error('\P{_/a/in_Cyrillicextended a}');
-Expect(1, 11775, '\p{incyrillicextendeda}', "");
-Expect(0, 11775, '\p{^incyrillicextendeda}', "");
-Expect(0, 11775, '\P{incyrillicextendeda}', "");
-Expect(1, 11775, '\P{^incyrillicextendeda}', "");
-Expect(0, 11743, '\p{incyrillicextendeda}', "");
-Expect(1, 11743, '\p{^incyrillicextendeda}', "");
-Expect(1, 11743, '\P{incyrillicextendeda}', "");
-Expect(0, 11743, '\P{^incyrillicextendeda}', "");
-Expect(1, 11775, '\p{-_IN_CYRILLIC_Extended A}', "");
-Expect(0, 11775, '\p{^-_IN_CYRILLIC_Extended A}', "");
-Expect(0, 11775, '\P{-_IN_CYRILLIC_Extended A}', "");
-Expect(1, 11775, '\P{^-_IN_CYRILLIC_Extended A}', "");
-Expect(0, 11743, '\p{-_IN_CYRILLIC_Extended A}', "");
-Expect(1, 11743, '\p{^-_IN_CYRILLIC_Extended A}', "");
-Expect(1, 11743, '\P{-_IN_CYRILLIC_Extended A}', "");
-Expect(0, 11743, '\P{^-_IN_CYRILLIC_Extended A}', "");
-Error('\p{__posixlower/a/}');
-Error('\P{__posixlower/a/}');
-Expect(1, 122, '\p{posixlower}', "");
-Expect(0, 122, '\p{^posixlower}', "");
-Expect(0, 122, '\P{posixlower}', "");
-Expect(1, 122, '\P{^posixlower}', "");
-Expect(0, 96, '\p{posixlower}', "");
-Expect(1, 96, '\p{^posixlower}', "");
-Expect(1, 96, '\P{posixlower}', "");
-Expect(0, 96, '\P{^posixlower}', "");
-Expect(1, 122, '\p{ -posixlower}', "");
-Expect(0, 122, '\p{^ -posixlower}', "");
-Expect(0, 122, '\P{ -posixlower}', "");
-Expect(1, 122, '\P{^ -posixlower}', "");
-Expect(0, 96, '\p{ -posixlower}', "");
-Expect(1, 96, '\p{^ -posixlower}', "");
-Expect(1, 96, '\P{ -posixlower}', "");
-Expect(0, 96, '\P{^ -posixlower}', "");
-Error('\p{:=_IS PosixLower}');
-Error('\P{:=_IS PosixLower}');
-Expect(1, 122, '\p{isposixlower}', "");
-Expect(0, 122, '\p{^isposixlower}', "");
-Expect(0, 122, '\P{isposixlower}', "");
-Expect(1, 122, '\P{^isposixlower}', "");
-Expect(0, 96, '\p{isposixlower}', "");
-Expect(1, 96, '\p{^isposixlower}', "");
-Expect(1, 96, '\P{isposixlower}', "");
-Expect(0, 96, '\P{^isposixlower}', "");
-Expect(1, 122, '\p{_ Is_PosixLower}', "");
-Expect(0, 122, '\p{^_ Is_PosixLower}', "");
-Expect(0, 122, '\P{_ Is_PosixLower}', "");
-Expect(1, 122, '\P{^_ Is_PosixLower}', "");
-Expect(0, 96, '\p{_ Is_PosixLower}', "");
-Expect(1, 96, '\p{^_ Is_PosixLower}', "");
-Expect(1, 96, '\P{_ Is_PosixLower}', "");
-Expect(0, 96, '\P{^_ Is_PosixLower}', "");
-Error('\p{-/a/Othergrapheme-Extend}');
-Error('\P{-/a/Othergrapheme-Extend}');
-Expect(1, 2494, '\p{othergraphemeextend}', 'deprecated');
-Expect(0, 2494, '\p{^othergraphemeextend}', 'deprecated');
-Expect(0, 2494, '\P{othergraphemeextend}', 'deprecated');
-Expect(1, 2494, '\P{^othergraphemeextend}', 'deprecated');
-Expect(0, 2493, '\p{othergraphemeextend}', 'deprecated');
-Expect(1, 2493, '\p{^othergraphemeextend}', 'deprecated');
-Expect(1, 2493, '\P{othergraphemeextend}', 'deprecated');
-Expect(0, 2493, '\P{^othergraphemeextend}', 'deprecated');
-Expect(1, 2494, '\p{ -othergrapheme Extend}', 'deprecated');
-Expect(0, 2494, '\p{^ -othergrapheme Extend}', 'deprecated');
-Expect(0, 2494, '\P{ -othergrapheme Extend}', 'deprecated');
-Expect(1, 2494, '\P{^ -othergrapheme Extend}', 'deprecated');
-Expect(0, 2493, '\p{ -othergrapheme Extend}', 'deprecated');
-Expect(1, 2493, '\p{^ -othergrapheme Extend}', 'deprecated');
-Expect(1, 2493, '\P{ -othergrapheme Extend}', 'deprecated');
-Expect(0, 2493, '\P{^ -othergrapheme Extend}', 'deprecated');
-Error('\p{ Is:=Other-grapheme_extend}');
-Error('\P{ Is:=Other-grapheme_extend}');
-Expect(1, 2494, '\p{isothergraphemeextend}', 'deprecated');
-Expect(0, 2494, '\p{^isothergraphemeextend}', 'deprecated');
-Expect(0, 2494, '\P{isothergraphemeextend}', 'deprecated');
-Expect(1, 2494, '\P{^isothergraphemeextend}', 'deprecated');
-Expect(0, 2493, '\p{isothergraphemeextend}', 'deprecated');
-Expect(1, 2493, '\p{^isothergraphemeextend}', 'deprecated');
-Expect(1, 2493, '\P{isothergraphemeextend}', 'deprecated');
-Expect(0, 2493, '\P{^isothergraphemeextend}', 'deprecated');
-Expect(1, 2494, '\p{ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(0, 2494, '\p{^ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(0, 2494, '\P{ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(1, 2494, '\P{^ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(0, 2493, '\p{ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(1, 2493, '\p{^ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(1, 2493, '\P{ isother_GRAPHEME_Extend}', 'deprecated');
-Expect(0, 2493, '\P{^ isother_GRAPHEME_Extend}', 'deprecated');
-Error('\p{/a/ ogr_Ext}');
-Error('\P{/a/ ogr_Ext}');
-Expect(1, 2494, '\p{ogrext}', 'deprecated');
-Expect(0, 2494, '\p{^ogrext}', 'deprecated');
-Expect(0, 2494, '\P{ogrext}', 'deprecated');
-Expect(1, 2494, '\P{^ogrext}', 'deprecated');
-Expect(0, 2493, '\p{ogrext}', 'deprecated');
-Expect(1, 2493, '\p{^ogrext}', 'deprecated');
-Expect(1, 2493, '\P{ogrext}', 'deprecated');
-Expect(0, 2493, '\P{^ogrext}', 'deprecated');
-Expect(1, 2494, '\p{- OGR-Ext}', 'deprecated');
-Expect(0, 2494, '\p{^- OGR-Ext}', 'deprecated');
-Expect(0, 2494, '\P{- OGR-Ext}', 'deprecated');
-Expect(1, 2494, '\P{^- OGR-Ext}', 'deprecated');
-Expect(0, 2493, '\p{- OGR-Ext}', 'deprecated');
-Expect(1, 2493, '\p{^- OGR-Ext}', 'deprecated');
-Expect(1, 2493, '\P{- OGR-Ext}', 'deprecated');
-Expect(0, 2493, '\P{^- OGR-Ext}', 'deprecated');
-Error('\p{_/a/IS_OGR ext}');
-Error('\P{_/a/IS_OGR ext}');
-Expect(1, 2494, '\p{isogrext}', 'deprecated');
-Expect(0, 2494, '\p{^isogrext}', 'deprecated');
-Expect(0, 2494, '\P{isogrext}', 'deprecated');
-Expect(1, 2494, '\P{^isogrext}', 'deprecated');
-Expect(0, 2493, '\p{isogrext}', 'deprecated');
-Expect(1, 2493, '\p{^isogrext}', 'deprecated');
-Expect(1, 2493, '\P{isogrext}', 'deprecated');
-Expect(0, 2493, '\P{^isogrext}', 'deprecated');
-Expect(1, 2494, '\p{ -Is ogr Ext}', 'deprecated');
-Expect(0, 2494, '\p{^ -Is ogr Ext}', 'deprecated');
-Expect(0, 2494, '\P{ -Is ogr Ext}', 'deprecated');
-Expect(1, 2494, '\P{^ -Is ogr Ext}', 'deprecated');
-Expect(0, 2493, '\p{ -Is ogr Ext}', 'deprecated');
-Expect(1, 2493, '\p{^ -Is ogr Ext}', 'deprecated');
-Expect(1, 2493, '\P{ -Is ogr Ext}', 'deprecated');
-Expect(0, 2493, '\P{^ -Is ogr Ext}', 'deprecated');
-Error('\p{ OLD:=Persian}');
-Error('\P{ OLD:=Persian}');
-Expect(1, 66499, '\p{oldpersian}', "");
-Expect(0, 66499, '\p{^oldpersian}', "");
-Expect(0, 66499, '\P{oldpersian}', "");
-Expect(1, 66499, '\P{^oldpersian}', "");
-Expect(0, 66463, '\p{oldpersian}', "");
-Expect(1, 66463, '\p{^oldpersian}', "");
-Expect(1, 66463, '\P{oldpersian}', "");
-Expect(0, 66463, '\P{^oldpersian}', "");
-Expect(1, 66499, '\p{ -OLD Persian}', "");
-Expect(0, 66499, '\p{^ -OLD Persian}', "");
-Expect(0, 66499, '\P{ -OLD Persian}', "");
-Expect(1, 66499, '\P{^ -OLD Persian}', "");
-Expect(0, 66463, '\p{ -OLD Persian}', "");
-Expect(1, 66463, '\p{^ -OLD Persian}', "");
-Expect(1, 66463, '\P{ -OLD Persian}', "");
-Expect(0, 66463, '\P{^ -OLD Persian}', "");
-Error('\p{_IS Old/a/PERSIAN}');
-Error('\P{_IS Old/a/PERSIAN}');
-Expect(1, 66499, '\p{isoldpersian}', "");
-Expect(0, 66499, '\p{^isoldpersian}', "");
-Expect(0, 66499, '\P{isoldpersian}', "");
-Expect(1, 66499, '\P{^isoldpersian}', "");
-Expect(0, 66463, '\p{isoldpersian}', "");
-Expect(1, 66463, '\p{^isoldpersian}', "");
-Expect(1, 66463, '\P{isoldpersian}', "");
-Expect(0, 66463, '\P{^isoldpersian}', "");
-Expect(1, 66499, '\p{is-OLD PERSIAN}', "");
-Expect(0, 66499, '\p{^is-OLD PERSIAN}', "");
-Expect(0, 66499, '\P{is-OLD PERSIAN}', "");
-Expect(1, 66499, '\P{^is-OLD PERSIAN}', "");
-Expect(0, 66463, '\p{is-OLD PERSIAN}', "");
-Expect(1, 66463, '\p{^is-OLD PERSIAN}', "");
-Expect(1, 66463, '\P{is-OLD PERSIAN}', "");
-Expect(0, 66463, '\P{^is-OLD PERSIAN}', "");
-Error('\p{_:=Xpeo}');
-Error('\P{_:=Xpeo}');
-Expect(1, 66499, '\p{xpeo}', "");
-Expect(0, 66499, '\p{^xpeo}', "");
-Expect(0, 66499, '\P{xpeo}', "");
-Expect(1, 66499, '\P{^xpeo}', "");
-Expect(0, 66463, '\p{xpeo}', "");
-Expect(1, 66463, '\p{^xpeo}', "");
-Expect(1, 66463, '\P{xpeo}', "");
-Expect(0, 66463, '\P{^xpeo}', "");
-Expect(1, 66499, '\p{ -Xpeo}', "");
-Expect(0, 66499, '\p{^ -Xpeo}', "");
-Expect(0, 66499, '\P{ -Xpeo}', "");
-Expect(1, 66499, '\P{^ -Xpeo}', "");
-Expect(0, 66463, '\p{ -Xpeo}', "");
-Expect(1, 66463, '\p{^ -Xpeo}', "");
-Expect(1, 66463, '\P{ -Xpeo}', "");
-Expect(0, 66463, '\P{^ -Xpeo}', "");
-Error('\p{ :=is Xpeo}');
-Error('\P{ :=is Xpeo}');
-Expect(1, 66499, '\p{isxpeo}', "");
-Expect(0, 66499, '\p{^isxpeo}', "");
-Expect(0, 66499, '\P{isxpeo}', "");
-Expect(1, 66499, '\P{^isxpeo}', "");
-Expect(0, 66463, '\p{isxpeo}', "");
-Expect(1, 66463, '\p{^isxpeo}', "");
-Expect(1, 66463, '\P{isxpeo}', "");
-Expect(0, 66463, '\P{^isxpeo}', "");
-Expect(1, 66499, '\p{-is xpeo}', "");
-Expect(0, 66499, '\p{^-is xpeo}', "");
-Expect(0, 66499, '\P{-is xpeo}', "");
-Expect(1, 66499, '\P{^-is xpeo}', "");
-Expect(0, 66463, '\p{-is xpeo}', "");
-Expect(1, 66463, '\p{^-is xpeo}', "");
-Expect(1, 66463, '\P{-is xpeo}', "");
-Expect(0, 66463, '\P{^-is xpeo}', "");
-Error('\p{__New:=tai_LUE}');
-Error('\P{__New:=tai_LUE}');
-Expect(1, 6571, '\p{newtailue}', "");
-Expect(0, 6571, '\p{^newtailue}', "");
-Expect(0, 6571, '\P{newtailue}', "");
-Expect(1, 6571, '\P{^newtailue}', "");
-Expect(0, 6527, '\p{newtailue}', "");
-Expect(1, 6527, '\p{^newtailue}', "");
-Expect(1, 6527, '\P{newtailue}', "");
-Expect(0, 6527, '\P{^newtailue}', "");
-Expect(1, 6571, '\p{_ NEW Tai LUE}', "");
-Expect(0, 6571, '\p{^_ NEW Tai LUE}', "");
-Expect(0, 6571, '\P{_ NEW Tai LUE}', "");
-Expect(1, 6571, '\P{^_ NEW Tai LUE}', "");
-Expect(0, 6527, '\p{_ NEW Tai LUE}', "");
-Expect(1, 6527, '\p{^_ NEW Tai LUE}', "");
-Expect(1, 6527, '\P{_ NEW Tai LUE}', "");
-Expect(0, 6527, '\P{^_ NEW Tai LUE}', "");
-Error('\p{ Is:=New-TAI LUE}');
-Error('\P{ Is:=New-TAI LUE}');
-Expect(1, 6571, '\p{isnewtailue}', "");
-Expect(0, 6571, '\p{^isnewtailue}', "");
-Expect(0, 6571, '\P{isnewtailue}', "");
-Expect(1, 6571, '\P{^isnewtailue}', "");
-Expect(0, 6527, '\p{isnewtailue}', "");
-Expect(1, 6527, '\p{^isnewtailue}', "");
-Expect(1, 6527, '\P{isnewtailue}', "");
-Expect(0, 6527, '\P{^isnewtailue}', "");
-Expect(1, 6571, '\p{ IS New-TAI lue}', "");
-Expect(0, 6571, '\p{^ IS New-TAI lue}', "");
-Expect(0, 6571, '\P{ IS New-TAI lue}', "");
-Expect(1, 6571, '\P{^ IS New-TAI lue}', "");
-Expect(0, 6527, '\p{ IS New-TAI lue}', "");
-Expect(1, 6527, '\p{^ IS New-TAI lue}', "");
-Expect(1, 6527, '\P{ IS New-TAI lue}', "");
-Expect(0, 6527, '\P{^ IS New-TAI lue}', "");
-Error('\p{/a/ Talu}');
-Error('\P{/a/ Talu}');
-Expect(1, 6571, '\p{talu}', "");
-Expect(0, 6571, '\p{^talu}', "");
-Expect(0, 6571, '\P{talu}', "");
-Expect(1, 6571, '\P{^talu}', "");
-Expect(0, 6527, '\p{talu}', "");
-Expect(1, 6527, '\p{^talu}', "");
-Expect(1, 6527, '\P{talu}', "");
-Expect(0, 6527, '\P{^talu}', "");
-Expect(1, 6571, '\p{- TALU}', "");
-Expect(0, 6571, '\p{^- TALU}', "");
-Expect(0, 6571, '\P{- TALU}', "");
-Expect(1, 6571, '\P{^- TALU}', "");
-Expect(0, 6527, '\p{- TALU}', "");
-Expect(1, 6527, '\p{^- TALU}', "");
-Expect(1, 6527, '\P{- TALU}', "");
-Expect(0, 6527, '\P{^- TALU}', "");
-Error('\p{ /a/Is_Talu}');
-Error('\P{ /a/Is_Talu}');
-Expect(1, 6571, '\p{istalu}', "");
-Expect(0, 6571, '\p{^istalu}', "");
-Expect(0, 6571, '\P{istalu}', "");
-Expect(1, 6571, '\P{^istalu}', "");
-Expect(0, 6527, '\p{istalu}', "");
-Expect(1, 6527, '\p{^istalu}', "");
-Expect(1, 6527, '\P{istalu}', "");
-Expect(0, 6527, '\P{^istalu}', "");
-Expect(1, 6571, '\p{ is-Talu}', "");
-Expect(0, 6571, '\p{^ is-Talu}', "");
-Expect(0, 6571, '\P{ is-Talu}', "");
-Expect(1, 6571, '\P{^ is-Talu}', "");
-Expect(0, 6527, '\p{ is-Talu}', "");
-Expect(1, 6527, '\p{^ is-Talu}', "");
-Expect(1, 6527, '\P{ is-Talu}', "");
-Expect(0, 6527, '\P{^ is-Talu}', "");
-Error('\p{:= -Unassigned}');
-Error('\P{:= -Unassigned}');
-Expect(1, 889, '\p{unassigned}', "");
-Expect(0, 889, '\p{^unassigned}', "");
-Expect(0, 889, '\P{unassigned}', "");
-Expect(1, 889, '\P{^unassigned}', "");
-Expect(0, 887, '\p{unassigned}', "");
-Expect(1, 887, '\p{^unassigned}', "");
-Expect(1, 887, '\P{unassigned}', "");
-Expect(0, 887, '\P{^unassigned}', "");
-Expect(1, 889, '\p{UNASSIGNED}', "");
-Expect(0, 889, '\p{^UNASSIGNED}', "");
-Expect(0, 889, '\P{UNASSIGNED}', "");
-Expect(1, 889, '\P{^UNASSIGNED}', "");
-Expect(0, 887, '\p{UNASSIGNED}', "");
-Expect(1, 887, '\p{^UNASSIGNED}', "");
-Expect(1, 887, '\P{UNASSIGNED}', "");
-Expect(0, 887, '\P{^UNASSIGNED}', "");
-Error('\p{Is:=Unassigned}');
-Error('\P{Is:=Unassigned}');
-Expect(1, 889, '\p{isunassigned}', "");
-Expect(0, 889, '\p{^isunassigned}', "");
-Expect(0, 889, '\P{isunassigned}', "");
-Expect(1, 889, '\P{^isunassigned}', "");
-Expect(0, 887, '\p{isunassigned}', "");
-Expect(1, 887, '\p{^isunassigned}', "");
-Expect(1, 887, '\P{isunassigned}', "");
-Expect(0, 887, '\P{^isunassigned}', "");
-Expect(1, 889, '\p{_IsUnassigned}', "");
-Expect(0, 889, '\p{^_IsUnassigned}', "");
-Expect(0, 889, '\P{_IsUnassigned}', "");
-Expect(1, 889, '\P{^_IsUnassigned}', "");
-Expect(0, 887, '\p{_IsUnassigned}', "");
-Expect(1, 887, '\p{^_IsUnassigned}', "");
-Expect(1, 887, '\P{_IsUnassigned}', "");
-Expect(0, 887, '\P{^_IsUnassigned}', "");
-Error('\p{ /a/Cn}');
-Error('\P{ /a/Cn}');
-Expect(1, 889, '\p{cn}', "");
-Expect(0, 889, '\p{^cn}', "");
-Expect(0, 889, '\P{cn}', "");
-Expect(1, 889, '\P{^cn}', "");
-Expect(0, 887, '\p{cn}', "");
-Expect(1, 887, '\p{^cn}', "");
-Expect(1, 887, '\P{cn}', "");
-Expect(0, 887, '\P{^cn}', "");
-Expect(1, 889, '\p{-_cn}', "");
-Expect(0, 889, '\p{^-_cn}', "");
-Expect(0, 889, '\P{-_cn}', "");
-Expect(1, 889, '\P{^-_cn}', "");
-Expect(0, 887, '\p{-_cn}', "");
-Expect(1, 887, '\p{^-_cn}', "");
-Expect(1, 887, '\P{-_cn}', "");
-Expect(0, 887, '\P{^-_cn}', "");
-Error('\p{/a/- IS Cn}');
-Error('\P{/a/- IS Cn}');
-Expect(1, 889, '\p{iscn}', "");
-Expect(0, 889, '\p{^iscn}', "");
-Expect(0, 889, '\P{iscn}', "");
-Expect(1, 889, '\P{^iscn}', "");
-Expect(0, 887, '\p{iscn}', "");
-Expect(1, 887, '\p{^iscn}', "");
-Expect(1, 887, '\P{iscn}', "");
-Expect(0, 887, '\P{^iscn}', "");
-Expect(1, 889, '\p{-IS CN}', "");
-Expect(0, 889, '\p{^-IS CN}', "");
-Expect(0, 889, '\P{-IS CN}', "");
-Expect(1, 889, '\P{^-IS CN}', "");
-Expect(0, 887, '\p{-IS CN}', "");
-Expect(1, 887, '\p{^-IS CN}', "");
-Expect(1, 887, '\P{-IS CN}', "");
-Expect(0, 887, '\P{^-IS CN}', "");
-Error('\p{ lepcha:=}');
-Error('\P{ lepcha:=}');
-Expect(1, 7223, '\p{lepcha}', "");
-Expect(0, 7223, '\p{^lepcha}', "");
-Expect(0, 7223, '\P{lepcha}', "");
-Expect(1, 7223, '\P{^lepcha}', "");
-Expect(0, 7167, '\p{lepcha}', "");
-Expect(1, 7167, '\p{^lepcha}', "");
-Expect(1, 7167, '\P{lepcha}', "");
-Expect(0, 7167, '\P{^lepcha}', "");
-Expect(1, 7223, '\p{-LEPCHA}', "");
-Expect(0, 7223, '\p{^-LEPCHA}', "");
-Expect(0, 7223, '\P{-LEPCHA}', "");
-Expect(1, 7223, '\P{^-LEPCHA}', "");
-Expect(0, 7167, '\p{-LEPCHA}', "");
-Expect(1, 7167, '\p{^-LEPCHA}', "");
-Expect(1, 7167, '\P{-LEPCHA}', "");
-Expect(0, 7167, '\P{^-LEPCHA}', "");
-Error('\p{ Is/a/Lepcha}');
-Error('\P{ Is/a/Lepcha}');
-Expect(1, 7223, '\p{islepcha}', "");
-Expect(0, 7223, '\p{^islepcha}', "");
-Expect(0, 7223, '\P{islepcha}', "");
-Expect(1, 7223, '\P{^islepcha}', "");
-Expect(0, 7167, '\p{islepcha}', "");
-Expect(1, 7167, '\p{^islepcha}', "");
-Expect(1, 7167, '\P{islepcha}', "");
-Expect(0, 7167, '\P{^islepcha}', "");
-Expect(1, 7223, '\p{ IS-lepcha}', "");
-Expect(0, 7223, '\p{^ IS-lepcha}', "");
-Expect(0, 7223, '\P{ IS-lepcha}', "");
-Expect(1, 7223, '\P{^ IS-lepcha}', "");
-Expect(0, 7167, '\p{ IS-lepcha}', "");
-Expect(1, 7167, '\p{^ IS-lepcha}', "");
-Expect(1, 7167, '\P{ IS-lepcha}', "");
-Expect(0, 7167, '\P{^ IS-lepcha}', "");
-Error('\p{ lepc:=}');
-Error('\P{ lepc:=}');
-Expect(1, 7223, '\p{lepc}', "");
-Expect(0, 7223, '\p{^lepc}', "");
-Expect(0, 7223, '\P{lepc}', "");
-Expect(1, 7223, '\P{^lepc}', "");
-Expect(0, 7167, '\p{lepc}', "");
-Expect(1, 7167, '\p{^lepc}', "");
-Expect(1, 7167, '\P{lepc}', "");
-Expect(0, 7167, '\P{^lepc}', "");
-Expect(1, 7223, '\p{ lepc}', "");
-Expect(0, 7223, '\p{^ lepc}', "");
-Expect(0, 7223, '\P{ lepc}', "");
-Expect(1, 7223, '\P{^ lepc}', "");
-Expect(0, 7167, '\p{ lepc}', "");
-Expect(1, 7167, '\p{^ lepc}', "");
-Expect(1, 7167, '\P{ lepc}', "");
-Expect(0, 7167, '\P{^ lepc}', "");
-Error('\p{ /a/Islepc}');
-Error('\P{ /a/Islepc}');
-Expect(1, 7223, '\p{islepc}', "");
-Expect(0, 7223, '\p{^islepc}', "");
-Expect(0, 7223, '\P{islepc}', "");
-Expect(1, 7223, '\P{^islepc}', "");
-Expect(0, 7167, '\p{islepc}', "");
-Expect(1, 7167, '\p{^islepc}', "");
-Expect(1, 7167, '\P{islepc}', "");
-Expect(0, 7167, '\P{^islepc}', "");
-Expect(1, 7223, '\p{ is_Lepc}', "");
-Expect(0, 7223, '\p{^ is_Lepc}', "");
-Expect(0, 7223, '\P{ is_Lepc}', "");
-Expect(1, 7223, '\P{^ is_Lepc}', "");
-Expect(0, 7167, '\p{ is_Lepc}', "");
-Expect(1, 7167, '\p{^ is_Lepc}', "");
-Expect(1, 7167, '\P{ is_Lepc}', "");
-Expect(0, 7167, '\P{^ is_Lepc}', "");
-Error('\p{:= ideographic_Description Characters}');
-Error('\P{:= ideographic_Description Characters}');
-Expect(1, 12287, '\p{ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^ideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^ideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{ideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^ideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{-ideographic-description-characters}', "");
-Expect(0, 12287, '\p{^-ideographic-description-characters}', "");
-Expect(0, 12287, '\P{-ideographic-description-characters}', "");
-Expect(1, 12287, '\P{^-ideographic-description-characters}', "");
-Expect(0, 12271, '\p{-ideographic-description-characters}', "");
-Expect(1, 12271, '\p{^-ideographic-description-characters}', "");
-Expect(1, 12271, '\P{-ideographic-description-characters}', "");
-Expect(0, 12271, '\P{^-ideographic-description-characters}', "");
-Error('\p{__is/a/IDEOGRAPHIC DESCRIPTION-Characters}');
-Error('\P{__is/a/IDEOGRAPHIC DESCRIPTION-Characters}');
-Expect(1, 12287, '\p{isideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^isideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{isideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^isideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{isideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^isideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{isideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^isideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(0, 12287, '\p{^-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(0, 12287, '\P{-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(1, 12287, '\P{^-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(0, 12271, '\p{-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(1, 12271, '\p{^-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(1, 12271, '\P{-is-Ideographic_DESCRIPTION-Characters}', "");
-Expect(0, 12271, '\P{^-is-Ideographic_DESCRIPTION-Characters}', "");
-Error('\p{-In-ideographic:=DESCRIPTION-characters}');
-Error('\P{-In-ideographic:=DESCRIPTION-characters}');
-Expect(1, 12287, '\p{inideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\p{^inideographicdescriptioncharacters}', "");
-Expect(0, 12287, '\P{inideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\P{^inideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\p{inideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\p{^inideographicdescriptioncharacters}', "");
-Expect(1, 12271, '\P{inideographicdescriptioncharacters}', "");
-Expect(0, 12271, '\P{^inideographicdescriptioncharacters}', "");
-Expect(1, 12287, '\p{ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(0, 12287, '\p{^ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(0, 12287, '\P{ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(1, 12287, '\P{^ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(0, 12271, '\p{ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(1, 12271, '\p{^ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(1, 12271, '\P{ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Expect(0, 12271, '\P{^ -IN_Ideographic-DESCRIPTIONcharacters}', "");
-Error('\p{_CombiningHALF_marks:=}');
-Error('\P{_CombiningHALF_marks:=}');
-Expect(1, 65071, '\p{combininghalfmarks}', "");
-Expect(0, 65071, '\p{^combininghalfmarks}', "");
-Expect(0, 65071, '\P{combininghalfmarks}', "");
-Expect(1, 65071, '\P{^combininghalfmarks}', "");
-Expect(0, 65055, '\p{combininghalfmarks}', "");
-Expect(1, 65055, '\p{^combininghalfmarks}', "");
-Expect(1, 65055, '\P{combininghalfmarks}', "");
-Expect(0, 65055, '\P{^combininghalfmarks}', "");
-Expect(1, 65071, '\p{-_combiningHalf Marks}', "");
-Expect(0, 65071, '\p{^-_combiningHalf Marks}', "");
-Expect(0, 65071, '\P{-_combiningHalf Marks}', "");
-Expect(1, 65071, '\P{^-_combiningHalf Marks}', "");
-Expect(0, 65055, '\p{-_combiningHalf Marks}', "");
-Expect(1, 65055, '\p{^-_combiningHalf Marks}', "");
-Expect(1, 65055, '\P{-_combiningHalf Marks}', "");
-Expect(0, 65055, '\P{^-_combiningHalf Marks}', "");
-Error('\p{ Is:=COMBINING HalfMarks}');
-Error('\P{ Is:=COMBINING HalfMarks}');
-Expect(1, 65071, '\p{iscombininghalfmarks}', "");
-Expect(0, 65071, '\p{^iscombininghalfmarks}', "");
-Expect(0, 65071, '\P{iscombininghalfmarks}', "");
-Expect(1, 65071, '\P{^iscombininghalfmarks}', "");
-Expect(0, 65055, '\p{iscombininghalfmarks}', "");
-Expect(1, 65055, '\p{^iscombininghalfmarks}', "");
-Expect(1, 65055, '\P{iscombininghalfmarks}', "");
-Expect(0, 65055, '\P{^iscombininghalfmarks}', "");
-Expect(1, 65071, '\p{ _IS combining HALF_Marks}', "");
-Expect(0, 65071, '\p{^ _IS combining HALF_Marks}', "");
-Expect(0, 65071, '\P{ _IS combining HALF_Marks}', "");
-Expect(1, 65071, '\P{^ _IS combining HALF_Marks}', "");
-Expect(0, 65055, '\p{ _IS combining HALF_Marks}', "");
-Expect(1, 65055, '\p{^ _IS combining HALF_Marks}', "");
-Expect(1, 65055, '\P{ _IS combining HALF_Marks}', "");
-Expect(0, 65055, '\P{^ _IS combining HALF_Marks}', "");
-Error('\p{_:=incombiningHalf-Marks}');
-Error('\P{_:=incombiningHalf-Marks}');
-Expect(1, 65071, '\p{incombininghalfmarks}', "");
-Expect(0, 65071, '\p{^incombininghalfmarks}', "");
-Expect(0, 65071, '\P{incombininghalfmarks}', "");
-Expect(1, 65071, '\P{^incombininghalfmarks}', "");
-Expect(0, 65055, '\p{incombininghalfmarks}', "");
-Expect(1, 65055, '\p{^incombininghalfmarks}', "");
-Expect(1, 65055, '\P{incombininghalfmarks}', "");
-Expect(0, 65055, '\P{^incombininghalfmarks}', "");
-Expect(1, 65071, '\p{ -inCombining-Half-Marks}', "");
-Expect(0, 65071, '\p{^ -inCombining-Half-Marks}', "");
-Expect(0, 65071, '\P{ -inCombining-Half-Marks}', "");
-Expect(1, 65071, '\P{^ -inCombining-Half-Marks}', "");
-Expect(0, 65055, '\p{ -inCombining-Half-Marks}', "");
-Expect(1, 65055, '\p{^ -inCombining-Half-Marks}', "");
-Expect(1, 65055, '\P{ -inCombining-Half-Marks}', "");
-Expect(0, 65055, '\P{^ -inCombining-Half-Marks}', "");
-Error('\p{/a/ oriya}');
-Error('\P{/a/ oriya}');
-Expect(1, 2819, '\p{oriya}', "");
-Expect(0, 2819, '\p{^oriya}', "");
-Expect(0, 2819, '\P{oriya}', "");
-Expect(1, 2819, '\P{^oriya}', "");
-Expect(0, 2816, '\p{oriya}', "");
-Expect(1, 2816, '\p{^oriya}', "");
-Expect(1, 2816, '\P{oriya}', "");
-Expect(0, 2816, '\P{^oriya}', "");
-Expect(1, 2819, '\p{ Oriya}', "");
-Expect(0, 2819, '\p{^ Oriya}', "");
-Expect(0, 2819, '\P{ Oriya}', "");
-Expect(1, 2819, '\P{^ Oriya}', "");
-Expect(0, 2816, '\p{ Oriya}', "");
-Expect(1, 2816, '\p{^ Oriya}', "");
-Expect(1, 2816, '\P{ Oriya}', "");
-Expect(0, 2816, '\P{^ Oriya}', "");
-Error('\p{__is_Oriya/a/}');
-Error('\P{__is_Oriya/a/}');
-Expect(1, 2819, '\p{isoriya}', "");
-Expect(0, 2819, '\p{^isoriya}', "");
-Expect(0, 2819, '\P{isoriya}', "");
-Expect(1, 2819, '\P{^isoriya}', "");
-Expect(0, 2816, '\p{isoriya}', "");
-Expect(1, 2816, '\p{^isoriya}', "");
-Expect(1, 2816, '\P{isoriya}', "");
-Expect(0, 2816, '\P{^isoriya}', "");
-Expect(1, 2819, '\p{ -is Oriya}', "");
-Expect(0, 2819, '\p{^ -is Oriya}', "");
-Expect(0, 2819, '\P{ -is Oriya}', "");
-Expect(1, 2819, '\P{^ -is Oriya}', "");
-Expect(0, 2816, '\p{ -is Oriya}', "");
-Expect(1, 2816, '\p{^ -is Oriya}', "");
-Expect(1, 2816, '\P{ -is Oriya}', "");
-Expect(0, 2816, '\P{^ -is Oriya}', "");
-Error('\p{-/a/Orya}');
-Error('\P{-/a/Orya}');
-Expect(1, 2819, '\p{orya}', "");
-Expect(0, 2819, '\p{^orya}', "");
-Expect(0, 2819, '\P{orya}', "");
-Expect(1, 2819, '\P{^orya}', "");
-Expect(0, 2816, '\p{orya}', "");
-Expect(1, 2816, '\p{^orya}', "");
-Expect(1, 2816, '\P{orya}', "");
-Expect(0, 2816, '\P{^orya}', "");
-Expect(1, 2819, '\p{ -Orya}', "");
-Expect(0, 2819, '\p{^ -Orya}', "");
-Expect(0, 2819, '\P{ -Orya}', "");
-Expect(1, 2819, '\P{^ -Orya}', "");
-Expect(0, 2816, '\p{ -Orya}', "");
-Expect(1, 2816, '\p{^ -Orya}', "");
-Expect(1, 2816, '\P{ -Orya}', "");
-Expect(0, 2816, '\P{^ -Orya}', "");
-Error('\p{ :=Is ORYA}');
-Error('\P{ :=Is ORYA}');
-Expect(1, 2819, '\p{isorya}', "");
-Expect(0, 2819, '\p{^isorya}', "");
-Expect(0, 2819, '\P{isorya}', "");
-Expect(1, 2819, '\P{^isorya}', "");
-Expect(0, 2816, '\p{isorya}', "");
-Expect(1, 2816, '\p{^isorya}', "");
-Expect(1, 2816, '\P{isorya}', "");
-Expect(0, 2816, '\P{^isorya}', "");
-Expect(1, 2819, '\p{is ORYA}', "");
-Expect(0, 2819, '\p{^is ORYA}', "");
-Expect(0, 2819, '\P{is ORYA}', "");
-Expect(1, 2819, '\P{^is ORYA}', "");
-Expect(0, 2816, '\p{is ORYA}', "");
-Expect(1, 2816, '\p{^is ORYA}', "");
-Expect(1, 2816, '\P{is ORYA}', "");
-Expect(0, 2816, '\P{^is ORYA}', "");
-Error('\p{ :=Phonetic extensions}');
-Error('\P{ :=Phonetic extensions}');
-Expect(1, 7551, '\p{phoneticextensions}', "");
-Expect(0, 7551, '\p{^phoneticextensions}', "");
-Expect(0, 7551, '\P{phoneticextensions}', "");
-Expect(1, 7551, '\P{^phoneticextensions}', "");
-Expect(0, 7423, '\p{phoneticextensions}', "");
-Expect(1, 7423, '\p{^phoneticextensions}', "");
-Expect(1, 7423, '\P{phoneticextensions}', "");
-Expect(0, 7423, '\P{^phoneticextensions}', "");
-Expect(1, 7551, '\p{Phonetic extensions}', "");
-Expect(0, 7551, '\p{^Phonetic extensions}', "");
-Expect(0, 7551, '\P{Phonetic extensions}', "");
-Expect(1, 7551, '\P{^Phonetic extensions}', "");
-Expect(0, 7423, '\p{Phonetic extensions}', "");
-Expect(1, 7423, '\p{^Phonetic extensions}', "");
-Expect(1, 7423, '\P{Phonetic extensions}', "");
-Expect(0, 7423, '\P{^Phonetic extensions}', "");
-Error('\p{ Is/a/PhoneticExtensions}');
-Error('\P{ Is/a/PhoneticExtensions}');
-Expect(1, 7551, '\p{isphoneticextensions}', "");
-Expect(0, 7551, '\p{^isphoneticextensions}', "");
-Expect(0, 7551, '\P{isphoneticextensions}', "");
-Expect(1, 7551, '\P{^isphoneticextensions}', "");
-Expect(0, 7423, '\p{isphoneticextensions}', "");
-Expect(1, 7423, '\p{^isphoneticextensions}', "");
-Expect(1, 7423, '\P{isphoneticextensions}', "");
-Expect(0, 7423, '\P{^isphoneticextensions}', "");
-Expect(1, 7551, '\p{-isphonetic_Extensions}', "");
-Expect(0, 7551, '\p{^-isphonetic_Extensions}', "");
-Expect(0, 7551, '\P{-isphonetic_Extensions}', "");
-Expect(1, 7551, '\P{^-isphonetic_Extensions}', "");
-Expect(0, 7423, '\p{-isphonetic_Extensions}', "");
-Expect(1, 7423, '\p{^-isphonetic_Extensions}', "");
-Expect(1, 7423, '\P{-isphonetic_Extensions}', "");
-Expect(0, 7423, '\P{^-isphonetic_Extensions}', "");
-Error('\p{ /a/in-PHONETIC_Extensions}');
-Error('\P{ /a/in-PHONETIC_Extensions}');
-Expect(1, 7551, '\p{inphoneticextensions}', "");
-Expect(0, 7551, '\p{^inphoneticextensions}', "");
-Expect(0, 7551, '\P{inphoneticextensions}', "");
-Expect(1, 7551, '\P{^inphoneticextensions}', "");
-Expect(0, 7423, '\p{inphoneticextensions}', "");
-Expect(1, 7423, '\p{^inphoneticextensions}', "");
-Expect(1, 7423, '\P{inphoneticextensions}', "");
-Expect(0, 7423, '\P{^inphoneticextensions}', "");
-Expect(1, 7551, '\p{ -in Phonetic Extensions}', "");
-Expect(0, 7551, '\p{^ -in Phonetic Extensions}', "");
-Expect(0, 7551, '\P{ -in Phonetic Extensions}', "");
-Expect(1, 7551, '\P{^ -in Phonetic Extensions}', "");
-Expect(0, 7423, '\p{ -in Phonetic Extensions}', "");
-Expect(1, 7423, '\p{^ -in Phonetic Extensions}', "");
-Expect(1, 7423, '\P{ -in Phonetic Extensions}', "");
-Expect(0, 7423, '\P{^ -in Phonetic Extensions}', "");
-Error('\p{ /a/Grapheme Extend}');
-Error('\P{ /a/Grapheme Extend}');
-Expect(1, 879, '\p{graphemeextend}', "");
-Expect(0, 879, '\p{^graphemeextend}', "");
-Expect(0, 879, '\P{graphemeextend}', "");
-Expect(1, 879, '\P{^graphemeextend}', "");
-Expect(0, 767, '\p{graphemeextend}', "");
-Expect(1, 767, '\p{^graphemeextend}', "");
-Expect(1, 767, '\P{graphemeextend}', "");
-Expect(0, 767, '\P{^graphemeextend}', "");
-Expect(1, 879, '\p{ grapheme_extend}', "");
-Expect(0, 879, '\p{^ grapheme_extend}', "");
-Expect(0, 879, '\P{ grapheme_extend}', "");
-Expect(1, 879, '\P{^ grapheme_extend}', "");
-Expect(0, 767, '\p{ grapheme_extend}', "");
-Expect(1, 767, '\p{^ grapheme_extend}', "");
-Expect(1, 767, '\P{ grapheme_extend}', "");
-Expect(0, 767, '\P{^ grapheme_extend}', "");
-Error('\p{--IS_Grapheme Extend/a/}');
-Error('\P{--IS_Grapheme Extend/a/}');
-Expect(1, 879, '\p{isgraphemeextend}', "");
-Expect(0, 879, '\p{^isgraphemeextend}', "");
-Expect(0, 879, '\P{isgraphemeextend}', "");
-Expect(1, 879, '\P{^isgraphemeextend}', "");
-Expect(0, 767, '\p{isgraphemeextend}', "");
-Expect(1, 767, '\p{^isgraphemeextend}', "");
-Expect(1, 767, '\P{isgraphemeextend}', "");
-Expect(0, 767, '\P{^isgraphemeextend}', "");
-Expect(1, 879, '\p{ -Is-Grapheme_Extend}', "");
-Expect(0, 879, '\p{^ -Is-Grapheme_Extend}', "");
-Expect(0, 879, '\P{ -Is-Grapheme_Extend}', "");
-Expect(1, 879, '\P{^ -Is-Grapheme_Extend}', "");
-Expect(0, 767, '\p{ -Is-Grapheme_Extend}', "");
-Expect(1, 767, '\p{^ -Is-Grapheme_Extend}', "");
-Expect(1, 767, '\P{ -Is-Grapheme_Extend}', "");
-Expect(0, 767, '\P{^ -Is-Grapheme_Extend}', "");
-Error('\p{-/a/Gr_Ext}');
-Error('\P{-/a/Gr_Ext}');
-Expect(1, 879, '\p{grext}', "");
-Expect(0, 879, '\p{^grext}', "");
-Expect(0, 879, '\P{grext}', "");
-Expect(1, 879, '\P{^grext}', "");
-Expect(0, 767, '\p{grext}', "");
-Expect(1, 767, '\p{^grext}', "");
-Expect(1, 767, '\P{grext}', "");
-Expect(0, 767, '\P{^grext}', "");
-Expect(1, 879, '\p{GR EXT}', "");
-Expect(0, 879, '\p{^GR EXT}', "");
-Expect(0, 879, '\P{GR EXT}', "");
-Expect(1, 879, '\P{^GR EXT}', "");
-Expect(0, 767, '\p{GR EXT}', "");
-Expect(1, 767, '\p{^GR EXT}', "");
-Expect(1, 767, '\P{GR EXT}', "");
-Expect(0, 767, '\P{^GR EXT}', "");
-Error('\p{-is:=GR Ext}');
-Error('\P{-is:=GR Ext}');
-Expect(1, 879, '\p{isgrext}', "");
-Expect(0, 879, '\p{^isgrext}', "");
-Expect(0, 879, '\P{isgrext}', "");
-Expect(1, 879, '\P{^isgrext}', "");
-Expect(0, 767, '\p{isgrext}', "");
-Expect(1, 767, '\p{^isgrext}', "");
-Expect(1, 767, '\P{isgrext}', "");
-Expect(0, 767, '\P{^isgrext}', "");
-Expect(1, 879, '\p{_Is-GrEXT}', "");
-Expect(0, 879, '\p{^_Is-GrEXT}', "");
-Expect(0, 879, '\P{_Is-GrEXT}', "");
-Expect(1, 879, '\P{^_Is-GrEXT}', "");
-Expect(0, 767, '\p{_Is-GrEXT}', "");
-Expect(1, 767, '\p{^_Is-GrEXT}', "");
-Expect(1, 767, '\P{_Is-GrEXT}', "");
-Expect(0, 767, '\P{^_Is-GrEXT}', "");
-Error('\p{-default IgnorableCode-Point/a/}');
-Error('\P{-default IgnorableCode-Point/a/}');
-Expect(1, 173, '\p{defaultignorablecodepoint}', "");
-Expect(0, 173, '\p{^defaultignorablecodepoint}', "");
-Expect(0, 173, '\P{defaultignorablecodepoint}', "");
-Expect(1, 173, '\P{^defaultignorablecodepoint}', "");
-Expect(0, 172, '\p{defaultignorablecodepoint}', "");
-Expect(1, 172, '\p{^defaultignorablecodepoint}', "");
-Expect(1, 172, '\P{defaultignorablecodepoint}', "");
-Expect(0, 172, '\P{^defaultignorablecodepoint}', "");
-Expect(1, 173, '\p{DEFAULT ignorableCode Point}', "");
-Expect(0, 173, '\p{^DEFAULT ignorableCode Point}', "");
-Expect(0, 173, '\P{DEFAULT ignorableCode Point}', "");
-Expect(1, 173, '\P{^DEFAULT ignorableCode Point}', "");
-Expect(0, 172, '\p{DEFAULT ignorableCode Point}', "");
-Expect(1, 172, '\p{^DEFAULT ignorableCode Point}', "");
-Expect(1, 172, '\P{DEFAULT ignorableCode Point}', "");
-Expect(0, 172, '\P{^DEFAULT ignorableCode Point}', "");
-Error('\p{ Is-Default:=Ignorable-code POINT}');
-Error('\P{ Is-Default:=Ignorable-code POINT}');
-Expect(1, 173, '\p{isdefaultignorablecodepoint}', "");
-Expect(0, 173, '\p{^isdefaultignorablecodepoint}', "");
-Expect(0, 173, '\P{isdefaultignorablecodepoint}', "");
-Expect(1, 173, '\P{^isdefaultignorablecodepoint}', "");
-Expect(0, 172, '\p{isdefaultignorablecodepoint}', "");
-Expect(1, 172, '\p{^isdefaultignorablecodepoint}', "");
-Expect(1, 172, '\P{isdefaultignorablecodepoint}', "");
-Expect(0, 172, '\P{^isdefaultignorablecodepoint}', "");
-Expect(1, 173, '\p{- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(0, 173, '\p{^- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(0, 173, '\P{- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(1, 173, '\P{^- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(0, 172, '\p{- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(1, 172, '\p{^- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(1, 172, '\P{- IS DEFAULT-ignorable CODE_POINT}', "");
-Expect(0, 172, '\P{^- IS DEFAULT-ignorable CODE_POINT}', "");
-Error('\p{_:=DI}');
-Error('\P{_:=DI}');
-Expect(1, 173, '\p{di}', "");
-Expect(0, 173, '\p{^di}', "");
-Expect(0, 173, '\P{di}', "");
-Expect(1, 173, '\P{^di}', "");
-Expect(0, 172, '\p{di}', "");
-Expect(1, 172, '\p{^di}', "");
-Expect(1, 172, '\P{di}', "");
-Expect(0, 172, '\P{^di}', "");
-Expect(1, 173, '\p{ di}', "");
-Expect(0, 173, '\p{^ di}', "");
-Expect(0, 173, '\P{ di}', "");
-Expect(1, 173, '\P{^ di}', "");
-Expect(0, 172, '\p{ di}', "");
-Expect(1, 172, '\p{^ di}', "");
-Expect(1, 172, '\P{ di}', "");
-Expect(0, 172, '\P{^ di}', "");
-Error('\p{/a/ Is DI}');
-Error('\P{/a/ Is DI}');
-Expect(1, 173, '\p{isdi}', "");
-Expect(0, 173, '\p{^isdi}', "");
-Expect(0, 173, '\P{isdi}', "");
-Expect(1, 173, '\P{^isdi}', "");
-Expect(0, 172, '\p{isdi}', "");
-Expect(1, 172, '\p{^isdi}', "");
-Expect(1, 172, '\P{isdi}', "");
-Expect(0, 172, '\P{^isdi}', "");
-Expect(1, 173, '\p{_IS-DI}', "");
-Expect(0, 173, '\p{^_IS-DI}', "");
-Expect(0, 173, '\P{_IS-DI}', "");
-Expect(1, 173, '\P{^_IS-DI}', "");
-Expect(0, 172, '\p{_IS-DI}', "");
-Expect(1, 172, '\p{^_IS-DI}', "");
-Expect(1, 172, '\P{_IS-DI}', "");
-Expect(0, 172, '\P{^_IS-DI}', "");
-Error('\p{ IDstart/a/}');
-Error('\P{ IDstart/a/}');
-Expect(1, 90, '\p{idstart}', "");
-Expect(0, 90, '\p{^idstart}', "");
-Expect(0, 90, '\P{idstart}', "");
-Expect(1, 90, '\P{^idstart}', "");
-Expect(0, 64, '\p{idstart}', "");
-Expect(1, 64, '\p{^idstart}', "");
-Expect(1, 64, '\P{idstart}', "");
-Expect(0, 64, '\P{^idstart}', "");
-Expect(1, 90, '\p{--ID Start}', "");
-Expect(0, 90, '\p{^--ID Start}', "");
-Expect(0, 90, '\P{--ID Start}', "");
-Expect(1, 90, '\P{^--ID Start}', "");
-Expect(0, 64, '\p{--ID Start}', "");
-Expect(1, 64, '\p{^--ID Start}', "");
-Expect(1, 64, '\P{--ID Start}', "");
-Expect(0, 64, '\P{^--ID Start}', "");
-Error('\p{:=IS ID_START}');
-Error('\P{:=IS ID_START}');
-Expect(1, 90, '\p{isidstart}', "");
-Expect(0, 90, '\p{^isidstart}', "");
-Expect(0, 90, '\P{isidstart}', "");
-Expect(1, 90, '\P{^isidstart}', "");
-Expect(0, 64, '\p{isidstart}', "");
-Expect(1, 64, '\p{^isidstart}', "");
-Expect(1, 64, '\P{isidstart}', "");
-Expect(0, 64, '\P{^isidstart}', "");
-Expect(1, 90, '\p{-Is ID_Start}', "");
-Expect(0, 90, '\p{^-Is ID_Start}', "");
-Expect(0, 90, '\P{-Is ID_Start}', "");
-Expect(1, 90, '\P{^-Is ID_Start}', "");
-Expect(0, 64, '\p{-Is ID_Start}', "");
-Expect(1, 64, '\p{^-Is ID_Start}', "");
-Expect(1, 64, '\P{-Is ID_Start}', "");
-Expect(0, 64, '\P{^-Is ID_Start}', "");
-Error('\p{:=- IDS}');
-Error('\P{:=- IDS}');
-Expect(1, 90, '\p{ids}', "");
-Expect(0, 90, '\p{^ids}', "");
-Expect(0, 90, '\P{ids}', "");
-Expect(1, 90, '\P{^ids}', "");
-Expect(0, 64, '\p{ids}', "");
-Expect(1, 64, '\p{^ids}', "");
-Expect(1, 64, '\P{ids}', "");
-Expect(0, 64, '\P{^ids}', "");
-Expect(1, 90, '\p{ -IDS}', "");
-Expect(0, 90, '\p{^ -IDS}', "");
-Expect(0, 90, '\P{ -IDS}', "");
-Expect(1, 90, '\P{^ -IDS}', "");
-Expect(0, 64, '\p{ -IDS}', "");
-Expect(1, 64, '\p{^ -IDS}', "");
-Expect(1, 64, '\P{ -IDS}', "");
-Expect(0, 64, '\P{^ -IDS}', "");
-Error('\p{:=IS IDS}');
-Error('\P{:=IS IDS}');
-Expect(1, 90, '\p{isids}', "");
-Expect(0, 90, '\p{^isids}', "");
-Expect(0, 90, '\P{isids}', "");
-Expect(1, 90, '\P{^isids}', "");
-Expect(0, 64, '\p{isids}', "");
-Expect(1, 64, '\p{^isids}', "");
-Expect(1, 64, '\P{isids}', "");
-Expect(0, 64, '\P{^isids}', "");
-Expect(1, 90, '\p{ is IDS}', "");
-Expect(0, 90, '\p{^ is IDS}', "");
-Expect(0, 90, '\P{ is IDS}', "");
-Expect(1, 90, '\P{^ is IDS}', "");
-Expect(0, 64, '\p{ is IDS}', "");
-Expect(1, 64, '\p{^ is IDS}', "");
-Expect(1, 64, '\P{ is IDS}', "");
-Expect(0, 64, '\P{^ is IDS}', "");
-Error('\p{ Cyrillic/a/Supplement}');
-Error('\P{ Cyrillic/a/Supplement}');
-Expect(1, 1327, '\p{cyrillicsupplement}', "");
-Expect(0, 1327, '\p{^cyrillicsupplement}', "");
-Expect(0, 1327, '\P{cyrillicsupplement}', "");
-Expect(1, 1327, '\P{^cyrillicsupplement}', "");
-Expect(0, 1279, '\p{cyrillicsupplement}', "");
-Expect(1, 1279, '\p{^cyrillicsupplement}', "");
-Expect(1, 1279, '\P{cyrillicsupplement}', "");
-Expect(0, 1279, '\P{^cyrillicsupplement}', "");
-Expect(1, 1327, '\p{ -cyrillic SUPPLEMENT}', "");
-Expect(0, 1327, '\p{^ -cyrillic SUPPLEMENT}', "");
-Expect(0, 1327, '\P{ -cyrillic SUPPLEMENT}', "");
-Expect(1, 1327, '\P{^ -cyrillic SUPPLEMENT}', "");
-Expect(0, 1279, '\p{ -cyrillic SUPPLEMENT}', "");
-Expect(1, 1279, '\p{^ -cyrillic SUPPLEMENT}', "");
-Expect(1, 1279, '\P{ -cyrillic SUPPLEMENT}', "");
-Expect(0, 1279, '\P{^ -cyrillic SUPPLEMENT}', "");
-Error('\p{_:=IS_Cyrillic Supplement}');
-Error('\P{_:=IS_Cyrillic Supplement}');
-Expect(1, 1327, '\p{iscyrillicsupplement}', "");
-Expect(0, 1327, '\p{^iscyrillicsupplement}', "");
-Expect(0, 1327, '\P{iscyrillicsupplement}', "");
-Expect(1, 1327, '\P{^iscyrillicsupplement}', "");
-Expect(0, 1279, '\p{iscyrillicsupplement}', "");
-Expect(1, 1279, '\p{^iscyrillicsupplement}', "");
-Expect(1, 1279, '\P{iscyrillicsupplement}', "");
-Expect(0, 1279, '\P{^iscyrillicsupplement}', "");
-Expect(1, 1327, '\p{ Is_CYRILLIC-Supplement}', "");
-Expect(0, 1327, '\p{^ Is_CYRILLIC-Supplement}', "");
-Expect(0, 1327, '\P{ Is_CYRILLIC-Supplement}', "");
-Expect(1, 1327, '\P{^ Is_CYRILLIC-Supplement}', "");
-Expect(0, 1279, '\p{ Is_CYRILLIC-Supplement}', "");
-Expect(1, 1279, '\p{^ Is_CYRILLIC-Supplement}', "");
-Expect(1, 1279, '\P{ Is_CYRILLIC-Supplement}', "");
-Expect(0, 1279, '\P{^ Is_CYRILLIC-Supplement}', "");
-Error('\p{/a/Incyrillic Supplement}');
-Error('\P{/a/Incyrillic Supplement}');
-Expect(1, 1327, '\p{incyrillicsupplement}', "");
-Expect(0, 1327, '\p{^incyrillicsupplement}', "");
-Expect(0, 1327, '\P{incyrillicsupplement}', "");
-Expect(1, 1327, '\P{^incyrillicsupplement}', "");
-Expect(0, 1279, '\p{incyrillicsupplement}', "");
-Expect(1, 1279, '\p{^incyrillicsupplement}', "");
-Expect(1, 1279, '\P{incyrillicsupplement}', "");
-Expect(0, 1279, '\P{^incyrillicsupplement}', "");
-Expect(1, 1327, '\p{--In CYRILLICSupplement}', "");
-Expect(0, 1327, '\p{^--In CYRILLICSupplement}', "");
-Expect(0, 1327, '\P{--In CYRILLICSupplement}', "");
-Expect(1, 1327, '\P{^--In CYRILLICSupplement}', "");
-Expect(0, 1279, '\p{--In CYRILLICSupplement}', "");
-Expect(1, 1279, '\p{^--In CYRILLICSupplement}', "");
-Expect(1, 1279, '\P{--In CYRILLICSupplement}', "");
-Expect(0, 1279, '\P{^--In CYRILLICSupplement}', "");
-Error('\p{ -Cyrillic/a/Supplementary}');
-Error('\P{ -Cyrillic/a/Supplementary}');
-Expect(1, 1327, '\p{cyrillicsupplementary}', "");
-Expect(0, 1327, '\p{^cyrillicsupplementary}', "");
-Expect(0, 1327, '\P{cyrillicsupplementary}', "");
-Expect(1, 1327, '\P{^cyrillicsupplementary}', "");
-Expect(0, 1279, '\p{cyrillicsupplementary}', "");
-Expect(1, 1279, '\p{^cyrillicsupplementary}', "");
-Expect(1, 1279, '\P{cyrillicsupplementary}', "");
-Expect(0, 1279, '\P{^cyrillicsupplementary}', "");
-Expect(1, 1327, '\p{ CYRILLIC_Supplementary}', "");
-Expect(0, 1327, '\p{^ CYRILLIC_Supplementary}', "");
-Expect(0, 1327, '\P{ CYRILLIC_Supplementary}', "");
-Expect(1, 1327, '\P{^ CYRILLIC_Supplementary}', "");
-Expect(0, 1279, '\p{ CYRILLIC_Supplementary}', "");
-Expect(1, 1279, '\p{^ CYRILLIC_Supplementary}', "");
-Expect(1, 1279, '\P{ CYRILLIC_Supplementary}', "");
-Expect(0, 1279, '\P{^ CYRILLIC_Supplementary}', "");
-Error('\p{ :=Is CYRILLIC_supplementary}');
-Error('\P{ :=Is CYRILLIC_supplementary}');
-Expect(1, 1327, '\p{iscyrillicsupplementary}', "");
-Expect(0, 1327, '\p{^iscyrillicsupplementary}', "");
-Expect(0, 1327, '\P{iscyrillicsupplementary}', "");
-Expect(1, 1327, '\P{^iscyrillicsupplementary}', "");
-Expect(0, 1279, '\p{iscyrillicsupplementary}', "");
-Expect(1, 1279, '\p{^iscyrillicsupplementary}', "");
-Expect(1, 1279, '\P{iscyrillicsupplementary}', "");
-Expect(0, 1279, '\P{^iscyrillicsupplementary}', "");
-Expect(1, 1327, '\p{ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(0, 1327, '\p{^ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(0, 1327, '\P{ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(1, 1327, '\P{^ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(0, 1279, '\p{ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(1, 1279, '\p{^ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(1, 1279, '\P{ Is_CyrillicSUPPLEMENTARY}', "");
-Expect(0, 1279, '\P{^ Is_CyrillicSUPPLEMENTARY}', "");
-Error('\p{_:=inCYRILLIC-Supplementary}');
-Error('\P{_:=inCYRILLIC-Supplementary}');
-Expect(1, 1327, '\p{incyrillicsupplementary}', "");
-Expect(0, 1327, '\p{^incyrillicsupplementary}', "");
-Expect(0, 1327, '\P{incyrillicsupplementary}', "");
-Expect(1, 1327, '\P{^incyrillicsupplementary}', "");
-Expect(0, 1279, '\p{incyrillicsupplementary}', "");
-Expect(1, 1279, '\p{^incyrillicsupplementary}', "");
-Expect(1, 1279, '\P{incyrillicsupplementary}', "");
-Expect(0, 1279, '\P{^incyrillicsupplementary}', "");
-Expect(1, 1327, '\p{-_IN CyrillicSupplementary}', "");
-Expect(0, 1327, '\p{^-_IN CyrillicSupplementary}', "");
-Expect(0, 1327, '\P{-_IN CyrillicSupplementary}', "");
-Expect(1, 1327, '\P{^-_IN CyrillicSupplementary}', "");
-Expect(0, 1279, '\p{-_IN CyrillicSupplementary}', "");
-Expect(1, 1279, '\p{^-_IN CyrillicSupplementary}', "");
-Expect(1, 1279, '\P{-_IN CyrillicSupplementary}', "");
-Expect(0, 1279, '\P{^-_IN CyrillicSupplementary}', "");
-Error('\p{ -geometric:=Shapes}');
-Error('\P{ -geometric:=Shapes}');
-Expect(1, 9727, '\p{geometricshapes}', "");
-Expect(0, 9727, '\p{^geometricshapes}', "");
-Expect(0, 9727, '\P{geometricshapes}', "");
-Expect(1, 9727, '\P{^geometricshapes}', "");
-Expect(0, 9631, '\p{geometricshapes}', "");
-Expect(1, 9631, '\p{^geometricshapes}', "");
-Expect(1, 9631, '\P{geometricshapes}', "");
-Expect(0, 9631, '\P{^geometricshapes}', "");
-Expect(1, 9727, '\p{ GeometricShapes}', "");
-Expect(0, 9727, '\p{^ GeometricShapes}', "");
-Expect(0, 9727, '\P{ GeometricShapes}', "");
-Expect(1, 9727, '\P{^ GeometricShapes}', "");
-Expect(0, 9631, '\p{ GeometricShapes}', "");
-Expect(1, 9631, '\p{^ GeometricShapes}', "");
-Expect(1, 9631, '\P{ GeometricShapes}', "");
-Expect(0, 9631, '\P{^ GeometricShapes}', "");
-Error('\p{ Is:=Geometric shapes}');
-Error('\P{ Is:=Geometric shapes}');
-Expect(1, 9727, '\p{isgeometricshapes}', "");
-Expect(0, 9727, '\p{^isgeometricshapes}', "");
-Expect(0, 9727, '\P{isgeometricshapes}', "");
-Expect(1, 9727, '\P{^isgeometricshapes}', "");
-Expect(0, 9631, '\p{isgeometricshapes}', "");
-Expect(1, 9631, '\p{^isgeometricshapes}', "");
-Expect(1, 9631, '\P{isgeometricshapes}', "");
-Expect(0, 9631, '\P{^isgeometricshapes}', "");
-Expect(1, 9727, '\p{ Is Geometric_Shapes}', "");
-Expect(0, 9727, '\p{^ Is Geometric_Shapes}', "");
-Expect(0, 9727, '\P{ Is Geometric_Shapes}', "");
-Expect(1, 9727, '\P{^ Is Geometric_Shapes}', "");
-Expect(0, 9631, '\p{ Is Geometric_Shapes}', "");
-Expect(1, 9631, '\p{^ Is Geometric_Shapes}', "");
-Expect(1, 9631, '\P{ Is Geometric_Shapes}', "");
-Expect(0, 9631, '\P{^ Is Geometric_Shapes}', "");
-Error('\p{_in_GeometricSHAPES:=}');
-Error('\P{_in_GeometricSHAPES:=}');
-Expect(1, 9727, '\p{ingeometricshapes}', "");
-Expect(0, 9727, '\p{^ingeometricshapes}', "");
-Expect(0, 9727, '\P{ingeometricshapes}', "");
-Expect(1, 9727, '\P{^ingeometricshapes}', "");
-Expect(0, 9631, '\p{ingeometricshapes}', "");
-Expect(1, 9631, '\p{^ingeometricshapes}', "");
-Expect(1, 9631, '\P{ingeometricshapes}', "");
-Expect(0, 9631, '\P{^ingeometricshapes}', "");
-Expect(1, 9727, '\p{_inGeometric SHAPES}', "");
-Expect(0, 9727, '\p{^_inGeometric SHAPES}', "");
-Expect(0, 9727, '\P{_inGeometric SHAPES}', "");
-Expect(1, 9727, '\P{^_inGeometric SHAPES}', "");
-Expect(0, 9631, '\p{_inGeometric SHAPES}', "");
-Expect(1, 9631, '\p{^_inGeometric SHAPES}', "");
-Expect(1, 9631, '\P{_inGeometric SHAPES}', "");
-Expect(0, 9631, '\P{^_inGeometric SHAPES}', "");
-Error('\p{/a/latin Extended D}');
-Error('\P{/a/latin Extended D}');
-Expect(1, 43007, '\p{latinextendedd}', "");
-Expect(0, 43007, '\p{^latinextendedd}', "");
-Expect(0, 43007, '\P{latinextendedd}', "");
-Expect(1, 43007, '\P{^latinextendedd}', "");
-Expect(0, 42783, '\p{latinextendedd}', "");
-Expect(1, 42783, '\p{^latinextendedd}', "");
-Expect(1, 42783, '\P{latinextendedd}', "");
-Expect(0, 42783, '\P{^latinextendedd}', "");
-Expect(1, 43007, '\p{ Latin-Extended D}', "");
-Expect(0, 43007, '\p{^ Latin-Extended D}', "");
-Expect(0, 43007, '\P{ Latin-Extended D}', "");
-Expect(1, 43007, '\P{^ Latin-Extended D}', "");
-Expect(0, 42783, '\p{ Latin-Extended D}', "");
-Expect(1, 42783, '\p{^ Latin-Extended D}', "");
-Expect(1, 42783, '\P{ Latin-Extended D}', "");
-Expect(0, 42783, '\P{^ Latin-Extended D}', "");
-Error('\p{ Is/a/Latinextended-D}');
-Error('\P{ Is/a/Latinextended-D}');
-Expect(1, 43007, '\p{islatinextendedd}', "");
-Expect(0, 43007, '\p{^islatinextendedd}', "");
-Expect(0, 43007, '\P{islatinextendedd}', "");
-Expect(1, 43007, '\P{^islatinextendedd}', "");
-Expect(0, 42783, '\p{islatinextendedd}', "");
-Expect(1, 42783, '\p{^islatinextendedd}', "");
-Expect(1, 42783, '\P{islatinextendedd}', "");
-Expect(0, 42783, '\P{^islatinextendedd}', "");
-Expect(1, 43007, '\p{ Is-Latin-EXTENDED_D}', "");
-Expect(0, 43007, '\p{^ Is-Latin-EXTENDED_D}', "");
-Expect(0, 43007, '\P{ Is-Latin-EXTENDED_D}', "");
-Expect(1, 43007, '\P{^ Is-Latin-EXTENDED_D}', "");
-Expect(0, 42783, '\p{ Is-Latin-EXTENDED_D}', "");
-Expect(1, 42783, '\p{^ Is-Latin-EXTENDED_D}', "");
-Expect(1, 42783, '\P{ Is-Latin-EXTENDED_D}', "");
-Expect(0, 42783, '\P{^ Is-Latin-EXTENDED_D}', "");
-Error('\p{In LATIN/a/extended-D}');
-Error('\P{In LATIN/a/extended-D}');
-Expect(1, 43007, '\p{inlatinextendedd}', "");
-Expect(0, 43007, '\p{^inlatinextendedd}', "");
-Expect(0, 43007, '\P{inlatinextendedd}', "");
-Expect(1, 43007, '\P{^inlatinextendedd}', "");
-Expect(0, 42783, '\p{inlatinextendedd}', "");
-Expect(1, 42783, '\p{^inlatinextendedd}', "");
-Expect(1, 42783, '\P{inlatinextendedd}', "");
-Expect(0, 42783, '\P{^inlatinextendedd}', "");
-Expect(1, 43007, '\p{_INlatin_Extended D}', "");
-Expect(0, 43007, '\p{^_INlatin_Extended D}', "");
-Expect(0, 43007, '\P{_INlatin_Extended D}', "");
-Expect(1, 43007, '\P{^_INlatin_Extended D}', "");
-Expect(0, 42783, '\p{_INlatin_Extended D}', "");
-Expect(1, 42783, '\p{^_INlatin_Extended D}', "");
-Expect(1, 42783, '\P{_INlatin_Extended D}', "");
-Expect(0, 42783, '\P{^_INlatin_Extended D}', "");
-Error('\p{:= -Buginese}');
-Error('\P{:= -Buginese}');
-Expect(1, 6683, '\p{buginese}', "");
-Expect(0, 6683, '\p{^buginese}', "");
-Expect(0, 6683, '\P{buginese}', "");
-Expect(1, 6683, '\P{^buginese}', "");
-Expect(0, 6655, '\p{buginese}', "");
-Expect(1, 6655, '\p{^buginese}', "");
-Expect(1, 6655, '\P{buginese}', "");
-Expect(0, 6655, '\P{^buginese}', "");
-Expect(1, 6683, '\p{ -Buginese}', "");
-Expect(0, 6683, '\p{^ -Buginese}', "");
-Expect(0, 6683, '\P{ -Buginese}', "");
-Expect(1, 6683, '\P{^ -Buginese}', "");
-Expect(0, 6655, '\p{ -Buginese}', "");
-Expect(1, 6655, '\p{^ -Buginese}', "");
-Expect(1, 6655, '\P{ -Buginese}', "");
-Expect(0, 6655, '\P{^ -Buginese}', "");
-Error('\p{ Is/a/BUGINESE}');
-Error('\P{ Is/a/BUGINESE}');
-Expect(1, 6683, '\p{isbuginese}', "");
-Expect(0, 6683, '\p{^isbuginese}', "");
-Expect(0, 6683, '\P{isbuginese}', "");
-Expect(1, 6683, '\P{^isbuginese}', "");
-Expect(0, 6655, '\p{isbuginese}', "");
-Expect(1, 6655, '\p{^isbuginese}', "");
-Expect(1, 6655, '\P{isbuginese}', "");
-Expect(0, 6655, '\P{^isbuginese}', "");
-Expect(1, 6683, '\p{ _IsBUGINESE}', "");
-Expect(0, 6683, '\p{^ _IsBUGINESE}', "");
-Expect(0, 6683, '\P{ _IsBUGINESE}', "");
-Expect(1, 6683, '\P{^ _IsBUGINESE}', "");
-Expect(0, 6655, '\p{ _IsBUGINESE}', "");
-Expect(1, 6655, '\p{^ _IsBUGINESE}', "");
-Expect(1, 6655, '\P{ _IsBUGINESE}', "");
-Expect(0, 6655, '\P{^ _IsBUGINESE}', "");
-Error('\p{:= BUGI}');
-Error('\P{:= BUGI}');
-Expect(1, 6683, '\p{bugi}', "");
-Expect(0, 6683, '\p{^bugi}', "");
-Expect(0, 6683, '\P{bugi}', "");
-Expect(1, 6683, '\P{^bugi}', "");
-Expect(0, 6655, '\p{bugi}', "");
-Expect(1, 6655, '\p{^bugi}', "");
-Expect(1, 6655, '\P{bugi}', "");
-Expect(0, 6655, '\P{^bugi}', "");
-Expect(1, 6683, '\p{ _BUGI}', "");
-Expect(0, 6683, '\p{^ _BUGI}', "");
-Expect(0, 6683, '\P{ _BUGI}', "");
-Expect(1, 6683, '\P{^ _BUGI}', "");
-Expect(0, 6655, '\p{ _BUGI}', "");
-Expect(1, 6655, '\p{^ _BUGI}', "");
-Expect(1, 6655, '\P{ _BUGI}', "");
-Expect(0, 6655, '\P{^ _BUGI}', "");
-Error('\p{ is-bugi/a/}');
-Error('\P{ is-bugi/a/}');
-Expect(1, 6683, '\p{isbugi}', "");
-Expect(0, 6683, '\p{^isbugi}', "");
-Expect(0, 6683, '\P{isbugi}', "");
-Expect(1, 6683, '\P{^isbugi}', "");
-Expect(0, 6655, '\p{isbugi}', "");
-Expect(1, 6655, '\p{^isbugi}', "");
-Expect(1, 6655, '\P{isbugi}', "");
-Expect(0, 6655, '\P{^isbugi}', "");
-Expect(1, 6683, '\p{_Is BUGI}', "");
-Expect(0, 6683, '\p{^_Is BUGI}', "");
-Expect(0, 6683, '\P{_Is BUGI}', "");
-Expect(1, 6683, '\P{^_Is BUGI}', "");
-Expect(0, 6655, '\p{_Is BUGI}', "");
-Expect(1, 6655, '\p{^_Is BUGI}', "");
-Expect(1, 6655, '\P{_Is BUGI}', "");
-Expect(0, 6655, '\P{^_Is BUGI}', "");
-Error('\p{ :=IN-malayalam}');
-Error('\P{ :=IN-malayalam}');
-Expect(1, 3455, '\p{inmalayalam}', "");
-Expect(0, 3455, '\p{^inmalayalam}', "");
-Expect(0, 3455, '\P{inmalayalam}', "");
-Expect(1, 3455, '\P{^inmalayalam}', "");
-Expect(0, 3327, '\p{inmalayalam}', "");
-Expect(1, 3327, '\p{^inmalayalam}', "");
-Expect(1, 3327, '\P{inmalayalam}', "");
-Expect(0, 3327, '\P{^inmalayalam}', "");
-Expect(1, 3455, '\p{ in Malayalam}', "");
-Expect(0, 3455, '\p{^ in Malayalam}', "");
-Expect(0, 3455, '\P{ in Malayalam}', "");
-Expect(1, 3455, '\P{^ in Malayalam}', "");
-Expect(0, 3327, '\p{ in Malayalam}', "");
-Expect(1, 3327, '\p{^ in Malayalam}', "");
-Expect(1, 3327, '\P{ in Malayalam}', "");
-Expect(0, 3327, '\P{^ in Malayalam}', "");
-Error('\p{ INSCRIPTIONAL/a/PAHLAVI}');
-Error('\P{ INSCRIPTIONAL/a/PAHLAVI}');
-Expect(1, 68466, '\p{inscriptionalpahlavi}', "");
-Expect(0, 68466, '\p{^inscriptionalpahlavi}', "");
-Expect(0, 68466, '\P{inscriptionalpahlavi}', "");
-Expect(1, 68466, '\P{^inscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{inscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^inscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{inscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^inscriptionalpahlavi}', "");
-Expect(1, 68466, '\p{ Inscriptional Pahlavi}', "");
-Expect(0, 68466, '\p{^ Inscriptional Pahlavi}', "");
-Expect(0, 68466, '\P{ Inscriptional Pahlavi}', "");
-Expect(1, 68466, '\P{^ Inscriptional Pahlavi}', "");
-Expect(0, 68447, '\p{ Inscriptional Pahlavi}', "");
-Expect(1, 68447, '\p{^ Inscriptional Pahlavi}', "");
-Expect(1, 68447, '\P{ Inscriptional Pahlavi}', "");
-Expect(0, 68447, '\P{^ Inscriptional Pahlavi}', "");
-Error('\p{ -is:=INSCRIPTIONAL_Pahlavi}');
-Error('\P{ -is:=INSCRIPTIONAL_Pahlavi}');
-Expect(1, 68466, '\p{isinscriptionalpahlavi}', "");
-Expect(0, 68466, '\p{^isinscriptionalpahlavi}', "");
-Expect(0, 68466, '\P{isinscriptionalpahlavi}', "");
-Expect(1, 68466, '\P{^isinscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{isinscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^isinscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{isinscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^isinscriptionalpahlavi}', "");
-Expect(1, 68466, '\p{_IsInscriptional-Pahlavi}', "");
-Expect(0, 68466, '\p{^_IsInscriptional-Pahlavi}', "");
-Expect(0, 68466, '\P{_IsInscriptional-Pahlavi}', "");
-Expect(1, 68466, '\P{^_IsInscriptional-Pahlavi}', "");
-Expect(0, 68447, '\p{_IsInscriptional-Pahlavi}', "");
-Expect(1, 68447, '\p{^_IsInscriptional-Pahlavi}', "");
-Expect(1, 68447, '\P{_IsInscriptional-Pahlavi}', "");
-Expect(0, 68447, '\P{^_IsInscriptional-Pahlavi}', "");
-Error('\p{:= _PHLI}');
-Error('\P{:= _PHLI}');
-Expect(1, 68466, '\p{phli}', "");
-Expect(0, 68466, '\p{^phli}', "");
-Expect(0, 68466, '\P{phli}', "");
-Expect(1, 68466, '\P{^phli}', "");
-Expect(0, 68447, '\p{phli}', "");
-Expect(1, 68447, '\p{^phli}', "");
-Expect(1, 68447, '\P{phli}', "");
-Expect(0, 68447, '\P{^phli}', "");
-Expect(1, 68466, '\p{-PHLI}', "");
-Expect(0, 68466, '\p{^-PHLI}', "");
-Expect(0, 68466, '\P{-PHLI}', "");
-Expect(1, 68466, '\P{^-PHLI}', "");
-Expect(0, 68447, '\p{-PHLI}', "");
-Expect(1, 68447, '\p{^-PHLI}', "");
-Expect(1, 68447, '\P{-PHLI}', "");
-Expect(0, 68447, '\P{^-PHLI}', "");
-Error('\p{:=_IsPhli}');
-Error('\P{:=_IsPhli}');
-Expect(1, 68466, '\p{isphli}', "");
-Expect(0, 68466, '\p{^isphli}', "");
-Expect(0, 68466, '\P{isphli}', "");
-Expect(1, 68466, '\P{^isphli}', "");
-Expect(0, 68447, '\p{isphli}', "");
-Expect(1, 68447, '\p{^isphli}', "");
-Expect(1, 68447, '\P{isphli}', "");
-Expect(0, 68447, '\P{^isphli}', "");
-Expect(1, 68466, '\p{- isPhli}', "");
-Expect(0, 68466, '\p{^- isPhli}', "");
-Expect(0, 68466, '\P{- isPhli}', "");
-Expect(1, 68466, '\P{^- isPhli}', "");
-Expect(0, 68447, '\p{- isPhli}', "");
-Expect(1, 68447, '\p{^- isPhli}', "");
-Expect(1, 68447, '\P{- isPhli}', "");
-Expect(0, 68447, '\P{^- isPhli}', "");
-Error('\p{_ cham/a/}');
-Error('\P{_ cham/a/}');
-Expect(1, 43574, '\p{cham}', "");
-Expect(0, 43574, '\p{^cham}', "");
-Expect(0, 43574, '\P{cham}', "");
-Expect(1, 43574, '\P{^cham}', "");
-Expect(0, 43519, '\p{cham}', "");
-Expect(1, 43519, '\p{^cham}', "");
-Expect(1, 43519, '\P{cham}', "");
-Expect(0, 43519, '\P{^cham}', "");
-Expect(1, 43574, '\p{-_Cham}', "");
-Expect(0, 43574, '\p{^-_Cham}', "");
-Expect(0, 43574, '\P{-_Cham}', "");
-Expect(1, 43574, '\P{^-_Cham}', "");
-Expect(0, 43519, '\p{-_Cham}', "");
-Expect(1, 43519, '\p{^-_Cham}', "");
-Expect(1, 43519, '\P{-_Cham}', "");
-Expect(0, 43519, '\P{^-_Cham}', "");
-Error('\p{ Is-CHAM/a/}');
-Error('\P{ Is-CHAM/a/}');
-Expect(1, 43574, '\p{ischam}', "");
-Expect(0, 43574, '\p{^ischam}', "");
-Expect(0, 43574, '\P{ischam}', "");
-Expect(1, 43574, '\P{^ischam}', "");
-Expect(0, 43519, '\p{ischam}', "");
-Expect(1, 43519, '\p{^ischam}', "");
-Expect(1, 43519, '\P{ischam}', "");
-Expect(0, 43519, '\P{^ischam}', "");
-Expect(1, 43574, '\p{ is CHAM}', "");
-Expect(0, 43574, '\p{^ is CHAM}', "");
-Expect(0, 43574, '\P{ is CHAM}', "");
-Expect(1, 43574, '\P{^ is CHAM}', "");
-Expect(0, 43519, '\p{ is CHAM}', "");
-Expect(1, 43519, '\p{^ is CHAM}', "");
-Expect(1, 43519, '\P{ is CHAM}', "");
-Expect(0, 43519, '\P{^ is CHAM}', "");
-Error('\p{_ BRAILLE:=}');
-Error('\P{_ BRAILLE:=}');
-Expect(1, 10495, '\p{braille}', "");
-Expect(0, 10495, '\p{^braille}', "");
-Expect(0, 10495, '\P{braille}', "");
-Expect(1, 10495, '\P{^braille}', "");
-Expect(0, 10239, '\p{braille}', "");
-Expect(1, 10239, '\p{^braille}', "");
-Expect(1, 10239, '\P{braille}', "");
-Expect(0, 10239, '\P{^braille}', "");
-Expect(1, 10495, '\p{-braille}', "");
-Expect(0, 10495, '\p{^-braille}', "");
-Expect(0, 10495, '\P{-braille}', "");
-Expect(1, 10495, '\P{^-braille}', "");
-Expect(0, 10239, '\p{-braille}', "");
-Expect(1, 10239, '\p{^-braille}', "");
-Expect(1, 10239, '\P{-braille}', "");
-Expect(0, 10239, '\P{^-braille}', "");
-Error('\p{/a/_-IS Braille}');
-Error('\P{/a/_-IS Braille}');
-Expect(1, 10495, '\p{isbraille}', "");
-Expect(0, 10495, '\p{^isbraille}', "");
-Expect(0, 10495, '\P{isbraille}', "");
-Expect(1, 10495, '\P{^isbraille}', "");
-Expect(0, 10239, '\p{isbraille}', "");
-Expect(1, 10239, '\p{^isbraille}', "");
-Expect(1, 10239, '\P{isbraille}', "");
-Expect(0, 10239, '\P{^isbraille}', "");
-Expect(1, 10495, '\p{- ISBraille}', "");
-Expect(0, 10495, '\p{^- ISBraille}', "");
-Expect(0, 10495, '\P{- ISBraille}', "");
-Expect(1, 10495, '\P{^- ISBraille}', "");
-Expect(0, 10239, '\p{- ISBraille}', "");
-Expect(1, 10239, '\p{^- ISBraille}', "");
-Expect(1, 10239, '\P{- ISBraille}', "");
-Expect(0, 10239, '\P{^- ISBraille}', "");
-Error('\p{/a/ Brai}');
-Error('\P{/a/ Brai}');
-Expect(1, 10495, '\p{brai}', "");
-Expect(0, 10495, '\p{^brai}', "");
-Expect(0, 10495, '\P{brai}', "");
-Expect(1, 10495, '\P{^brai}', "");
-Expect(0, 10239, '\p{brai}', "");
-Expect(1, 10239, '\p{^brai}', "");
-Expect(1, 10239, '\P{brai}', "");
-Expect(0, 10239, '\P{^brai}', "");
-Expect(1, 10495, '\p{-BRAI}', "");
-Expect(0, 10495, '\p{^-BRAI}', "");
-Expect(0, 10495, '\P{-BRAI}', "");
-Expect(1, 10495, '\P{^-BRAI}', "");
-Expect(0, 10239, '\p{-BRAI}', "");
-Expect(1, 10239, '\p{^-BRAI}', "");
-Expect(1, 10239, '\P{-BRAI}', "");
-Expect(0, 10239, '\P{^-BRAI}', "");
-Error('\p{_Is/a/BRAI}');
-Error('\P{_Is/a/BRAI}');
-Expect(1, 10495, '\p{isbrai}', "");
-Expect(0, 10495, '\p{^isbrai}', "");
-Expect(0, 10495, '\P{isbrai}', "");
-Expect(1, 10495, '\P{^isbrai}', "");
-Expect(0, 10239, '\p{isbrai}', "");
-Expect(1, 10239, '\p{^isbrai}', "");
-Expect(1, 10239, '\P{isbrai}', "");
-Expect(0, 10239, '\P{^isbrai}', "");
-Expect(1, 10495, '\p{ IS-brai}', "");
-Expect(0, 10495, '\p{^ IS-brai}', "");
-Expect(0, 10495, '\P{ IS-brai}', "");
-Expect(1, 10495, '\P{^ IS-brai}', "");
-Expect(0, 10239, '\p{ IS-brai}', "");
-Expect(1, 10239, '\p{^ IS-brai}', "");
-Expect(1, 10239, '\P{ IS-brai}', "");
-Expect(0, 10239, '\P{^ IS-brai}', "");
-Error('\p{_:=IN old-Persian}');
-Error('\P{_:=IN old-Persian}');
-Expect(1, 66527, '\p{inoldpersian}', "");
-Expect(0, 66527, '\p{^inoldpersian}', "");
-Expect(0, 66527, '\P{inoldpersian}', "");
-Expect(1, 66527, '\P{^inoldpersian}', "");
-Expect(0, 66463, '\p{inoldpersian}', "");
-Expect(1, 66463, '\p{^inoldpersian}', "");
-Expect(1, 66463, '\P{inoldpersian}', "");
-Expect(0, 66463, '\P{^inoldpersian}', "");
-Expect(1, 66527, '\p{ -inOldPERSIAN}', "");
-Expect(0, 66527, '\p{^ -inOldPERSIAN}', "");
-Expect(0, 66527, '\P{ -inOldPERSIAN}', "");
-Expect(1, 66527, '\P{^ -inOldPERSIAN}', "");
-Expect(0, 66463, '\p{ -inOldPERSIAN}', "");
-Expect(1, 66463, '\p{^ -inOldPERSIAN}', "");
-Expect(1, 66463, '\P{ -inOldPERSIAN}', "");
-Expect(0, 66463, '\P{^ -inOldPERSIAN}', "");
-Error('\p{ :=box DRAWING}');
-Error('\P{ :=box DRAWING}');
-Expect(1, 9599, '\p{boxdrawing}', "");
-Expect(0, 9599, '\p{^boxdrawing}', "");
-Expect(0, 9599, '\P{boxdrawing}', "");
-Expect(1, 9599, '\P{^boxdrawing}', "");
-Expect(0, 9471, '\p{boxdrawing}', "");
-Expect(1, 9471, '\p{^boxdrawing}', "");
-Expect(1, 9471, '\P{boxdrawing}', "");
-Expect(0, 9471, '\P{^boxdrawing}', "");
-Expect(1, 9599, '\p{ _boxdrawing}', "");
-Expect(0, 9599, '\p{^ _boxdrawing}', "");
-Expect(0, 9599, '\P{ _boxdrawing}', "");
-Expect(1, 9599, '\P{^ _boxdrawing}', "");
-Expect(0, 9471, '\p{ _boxdrawing}', "");
-Expect(1, 9471, '\p{^ _boxdrawing}', "");
-Expect(1, 9471, '\P{ _boxdrawing}', "");
-Expect(0, 9471, '\P{^ _boxdrawing}', "");
-Error('\p{ is:=BoxDrawing}');
-Error('\P{ is:=BoxDrawing}');
-Expect(1, 9599, '\p{isboxdrawing}', "");
-Expect(0, 9599, '\p{^isboxdrawing}', "");
-Expect(0, 9599, '\P{isboxdrawing}', "");
-Expect(1, 9599, '\P{^isboxdrawing}', "");
-Expect(0, 9471, '\p{isboxdrawing}', "");
-Expect(1, 9471, '\p{^isboxdrawing}', "");
-Expect(1, 9471, '\P{isboxdrawing}', "");
-Expect(0, 9471, '\P{^isboxdrawing}', "");
-Expect(1, 9599, '\p{ Is_Box Drawing}', "");
-Expect(0, 9599, '\p{^ Is_Box Drawing}', "");
-Expect(0, 9599, '\P{ Is_Box Drawing}', "");
-Expect(1, 9599, '\P{^ Is_Box Drawing}', "");
-Expect(0, 9471, '\p{ Is_Box Drawing}', "");
-Expect(1, 9471, '\p{^ Is_Box Drawing}', "");
-Expect(1, 9471, '\P{ Is_Box Drawing}', "");
-Expect(0, 9471, '\P{^ Is_Box Drawing}', "");
-Error('\p{ _in:=box Drawing}');
-Error('\P{ _in:=box Drawing}');
-Expect(1, 9599, '\p{inboxdrawing}', "");
-Expect(0, 9599, '\p{^inboxdrawing}', "");
-Expect(0, 9599, '\P{inboxdrawing}', "");
-Expect(1, 9599, '\P{^inboxdrawing}', "");
-Expect(0, 9471, '\p{inboxdrawing}', "");
-Expect(1, 9471, '\p{^inboxdrawing}', "");
-Expect(1, 9471, '\P{inboxdrawing}', "");
-Expect(0, 9471, '\P{^inboxdrawing}', "");
-Expect(1, 9599, '\p{__In BOXdrawing}', "");
-Expect(0, 9599, '\p{^__In BOXdrawing}', "");
-Expect(0, 9599, '\P{__In BOXdrawing}', "");
-Expect(1, 9599, '\P{^__In BOXdrawing}', "");
-Expect(0, 9471, '\p{__In BOXdrawing}', "");
-Expect(1, 9471, '\p{^__In BOXdrawing}', "");
-Expect(1, 9471, '\P{__In BOXdrawing}', "");
-Expect(0, 9471, '\P{^__In BOXdrawing}', "");
-Error('\p{ /a/Linear b}');
-Error('\P{ /a/Linear b}');
-Expect(1, 65547, '\p{linearb}', "");
-Expect(0, 65547, '\p{^linearb}', "");
-Expect(0, 65547, '\P{linearb}', "");
-Expect(1, 65547, '\P{^linearb}', "");
-Expect(0, 1, '\p{linearb}', "");
-Expect(1, 1, '\p{^linearb}', "");
-Expect(1, 1, '\P{linearb}', "");
-Expect(0, 1, '\P{^linearb}', "");
-Expect(1, 65547, '\p{_ Linear b}', "");
-Expect(0, 65547, '\p{^_ Linear b}', "");
-Expect(0, 65547, '\P{_ Linear b}', "");
-Expect(1, 65547, '\P{^_ Linear b}', "");
-Expect(0, 1, '\p{_ Linear b}', "");
-Expect(1, 1, '\p{^_ Linear b}', "");
-Expect(1, 1, '\P{_ Linear b}', "");
-Expect(0, 1, '\P{^_ Linear b}', "");
-Error('\p{ _IS:=LinearB}');
-Error('\P{ _IS:=LinearB}');
-Expect(1, 65547, '\p{islinearb}', "");
-Expect(0, 65547, '\p{^islinearb}', "");
-Expect(0, 65547, '\P{islinearb}', "");
-Expect(1, 65547, '\P{^islinearb}', "");
-Expect(0, 1, '\p{islinearb}', "");
-Expect(1, 1, '\p{^islinearb}', "");
-Expect(1, 1, '\P{islinearb}', "");
-Expect(0, 1, '\P{^islinearb}', "");
-Expect(1, 65547, '\p{ -Is-LinearB}', "");
-Expect(0, 65547, '\p{^ -Is-LinearB}', "");
-Expect(0, 65547, '\P{ -Is-LinearB}', "");
-Expect(1, 65547, '\P{^ -Is-LinearB}', "");
-Expect(0, 1, '\p{ -Is-LinearB}', "");
-Expect(1, 1, '\p{^ -Is-LinearB}', "");
-Expect(1, 1, '\P{ -Is-LinearB}', "");
-Expect(0, 1, '\P{^ -Is-LinearB}', "");
-Error('\p{-/a/Linb}');
-Error('\P{-/a/Linb}');
-Expect(1, 65547, '\p{linb}', "");
-Expect(0, 65547, '\p{^linb}', "");
-Expect(0, 65547, '\P{linb}', "");
-Expect(1, 65547, '\P{^linb}', "");
-Expect(0, 1, '\p{linb}', "");
-Expect(1, 1, '\p{^linb}', "");
-Expect(1, 1, '\P{linb}', "");
-Expect(0, 1, '\P{^linb}', "");
-Error('\p{-IS:=linb}');
-Error('\P{-IS:=linb}');
-Expect(1, 65547, '\p{islinb}', "");
-Expect(0, 65547, '\p{^islinb}', "");
-Expect(0, 65547, '\P{islinb}', "");
-Expect(1, 65547, '\P{^islinb}', "");
-Expect(0, 1, '\p{islinb}', "");
-Expect(1, 1, '\p{^islinb}', "");
-Expect(1, 1, '\P{islinb}', "");
-Expect(0, 1, '\P{^islinb}', "");
-Expect(1, 65547, '\p{_ Is_LINB}', "");
-Expect(0, 65547, '\p{^_ Is_LINB}', "");
-Expect(0, 65547, '\P{_ Is_LINB}', "");
-Expect(1, 65547, '\P{^_ Is_LINB}', "");
-Expect(0, 1, '\p{_ Is_LINB}', "");
-Expect(1, 1, '\p{^_ Is_LINB}', "");
-Expect(1, 1, '\P{_ Is_LINB}', "");
-Expect(0, 1, '\P{^_ Is_LINB}', "");
-Error('\p{/a/_ tifinagh}');
-Error('\P{/a/_ tifinagh}');
-Expect(1, 11621, '\p{tifinagh}', "");
-Expect(0, 11621, '\p{^tifinagh}', "");
-Expect(0, 11621, '\P{tifinagh}', "");
-Expect(1, 11621, '\P{^tifinagh}', "");
-Expect(0, 11567, '\p{tifinagh}', "");
-Expect(1, 11567, '\p{^tifinagh}', "");
-Expect(1, 11567, '\P{tifinagh}', "");
-Expect(0, 11567, '\P{^tifinagh}', "");
-Expect(1, 11621, '\p{_ Tifinagh}', "");
-Expect(0, 11621, '\p{^_ Tifinagh}', "");
-Expect(0, 11621, '\P{_ Tifinagh}', "");
-Expect(1, 11621, '\P{^_ Tifinagh}', "");
-Expect(0, 11567, '\p{_ Tifinagh}', "");
-Expect(1, 11567, '\p{^_ Tifinagh}', "");
-Expect(1, 11567, '\P{_ Tifinagh}', "");
-Expect(0, 11567, '\P{^_ Tifinagh}', "");
-Error('\p{:=-_IsTifinagh}');
-Error('\P{:=-_IsTifinagh}');
-Expect(1, 11621, '\p{istifinagh}', "");
-Expect(0, 11621, '\p{^istifinagh}', "");
-Expect(0, 11621, '\P{istifinagh}', "");
-Expect(1, 11621, '\P{^istifinagh}', "");
-Expect(0, 11567, '\p{istifinagh}', "");
-Expect(1, 11567, '\p{^istifinagh}', "");
-Expect(1, 11567, '\P{istifinagh}', "");
-Expect(0, 11567, '\P{^istifinagh}', "");
-Expect(1, 11621, '\p{--isTifinagh}', "");
-Expect(0, 11621, '\p{^--isTifinagh}', "");
-Expect(0, 11621, '\P{--isTifinagh}', "");
-Expect(1, 11621, '\P{^--isTifinagh}', "");
-Expect(0, 11567, '\p{--isTifinagh}', "");
-Expect(1, 11567, '\p{^--isTifinagh}', "");
-Expect(1, 11567, '\P{--isTifinagh}', "");
-Expect(0, 11567, '\P{^--isTifinagh}', "");
-Error('\p{/a/ Tfng}');
-Error('\P{/a/ Tfng}');
-Expect(1, 11621, '\p{tfng}', "");
-Expect(0, 11621, '\p{^tfng}', "");
-Expect(0, 11621, '\P{tfng}', "");
-Expect(1, 11621, '\P{^tfng}', "");
-Expect(0, 11567, '\p{tfng}', "");
-Expect(1, 11567, '\p{^tfng}', "");
-Expect(1, 11567, '\P{tfng}', "");
-Expect(0, 11567, '\P{^tfng}', "");
-Expect(1, 11621, '\p{ tfng}', "");
-Expect(0, 11621, '\p{^ tfng}', "");
-Expect(0, 11621, '\P{ tfng}', "");
-Expect(1, 11621, '\P{^ tfng}', "");
-Expect(0, 11567, '\p{ tfng}', "");
-Expect(1, 11567, '\p{^ tfng}', "");
-Expect(1, 11567, '\P{ tfng}', "");
-Expect(0, 11567, '\P{^ tfng}', "");
-Error('\p{is TFNG:=}');
-Error('\P{is TFNG:=}');
-Expect(1, 11621, '\p{istfng}', "");
-Expect(0, 11621, '\p{^istfng}', "");
-Expect(0, 11621, '\P{istfng}', "");
-Expect(1, 11621, '\P{^istfng}', "");
-Expect(0, 11567, '\p{istfng}', "");
-Expect(1, 11567, '\p{^istfng}', "");
-Expect(1, 11567, '\P{istfng}', "");
-Expect(0, 11567, '\P{^istfng}', "");
-Expect(1, 11621, '\p{- is-TFNG}', "");
-Expect(0, 11621, '\p{^- is-TFNG}', "");
-Expect(0, 11621, '\P{- is-TFNG}', "");
-Expect(1, 11621, '\P{^- is-TFNG}', "");
-Expect(0, 11567, '\p{- is-TFNG}', "");
-Expect(1, 11567, '\p{^- is-TFNG}', "");
-Expect(1, 11567, '\P{- is-TFNG}', "");
-Expect(0, 11567, '\P{^- is-TFNG}', "");
-Error('\p{__Syloti_Nagri:=}');
-Error('\P{__Syloti_Nagri:=}');
-Expect(1, 43051, '\p{sylotinagri}', "");
-Expect(0, 43051, '\p{^sylotinagri}', "");
-Expect(0, 43051, '\P{sylotinagri}', "");
-Expect(1, 43051, '\P{^sylotinagri}', "");
-Expect(0, 43007, '\p{sylotinagri}', "");
-Expect(1, 43007, '\p{^sylotinagri}', "");
-Expect(1, 43007, '\P{sylotinagri}', "");
-Expect(0, 43007, '\P{^sylotinagri}', "");
-Expect(1, 43051, '\p{ Syloti Nagri}', "");
-Expect(0, 43051, '\p{^ Syloti Nagri}', "");
-Expect(0, 43051, '\P{ Syloti Nagri}', "");
-Expect(1, 43051, '\P{^ Syloti Nagri}', "");
-Expect(0, 43007, '\p{ Syloti Nagri}', "");
-Expect(1, 43007, '\p{^ Syloti Nagri}', "");
-Expect(1, 43007, '\P{ Syloti Nagri}', "");
-Expect(0, 43007, '\P{^ Syloti Nagri}', "");
-Error('\p{_IsSyloti:=Nagri}');
-Error('\P{_IsSyloti:=Nagri}');
-Expect(1, 43051, '\p{issylotinagri}', "");
-Expect(0, 43051, '\p{^issylotinagri}', "");
-Expect(0, 43051, '\P{issylotinagri}', "");
-Expect(1, 43051, '\P{^issylotinagri}', "");
-Expect(0, 43007, '\p{issylotinagri}', "");
-Expect(1, 43007, '\p{^issylotinagri}', "");
-Expect(1, 43007, '\P{issylotinagri}', "");
-Expect(0, 43007, '\P{^issylotinagri}', "");
-Expect(1, 43051, '\p{ is_Syloti NAGRI}', "");
-Expect(0, 43051, '\p{^ is_Syloti NAGRI}', "");
-Expect(0, 43051, '\P{ is_Syloti NAGRI}', "");
-Expect(1, 43051, '\P{^ is_Syloti NAGRI}', "");
-Expect(0, 43007, '\p{ is_Syloti NAGRI}', "");
-Expect(1, 43007, '\p{^ is_Syloti NAGRI}', "");
-Expect(1, 43007, '\P{ is_Syloti NAGRI}', "");
-Expect(0, 43007, '\P{^ is_Syloti NAGRI}', "");
-Error('\p{:=_-Sylo}');
-Error('\P{:=_-Sylo}');
-Expect(1, 43051, '\p{sylo}', "");
-Expect(0, 43051, '\p{^sylo}', "");
-Expect(0, 43051, '\P{sylo}', "");
-Expect(1, 43051, '\P{^sylo}', "");
-Expect(0, 43007, '\p{sylo}', "");
-Expect(1, 43007, '\p{^sylo}', "");
-Expect(1, 43007, '\P{sylo}', "");
-Expect(0, 43007, '\P{^sylo}', "");
-Expect(1, 43051, '\p{-_sylo}', "");
-Expect(0, 43051, '\p{^-_sylo}', "");
-Expect(0, 43051, '\P{-_sylo}', "");
-Expect(1, 43051, '\P{^-_sylo}', "");
-Expect(0, 43007, '\p{-_sylo}', "");
-Expect(1, 43007, '\p{^-_sylo}', "");
-Expect(1, 43007, '\P{-_sylo}', "");
-Expect(0, 43007, '\P{^-_sylo}', "");
-Error('\p{/a/-IS-Sylo}');
-Error('\P{/a/-IS-Sylo}');
-Expect(1, 43051, '\p{issylo}', "");
-Expect(0, 43051, '\p{^issylo}', "");
-Expect(0, 43051, '\P{issylo}', "");
-Expect(1, 43051, '\P{^issylo}', "");
-Expect(0, 43007, '\p{issylo}', "");
-Expect(1, 43007, '\p{^issylo}', "");
-Expect(1, 43007, '\P{issylo}', "");
-Expect(0, 43007, '\P{^issylo}', "");
-Expect(1, 43051, '\p{ is sylo}', "");
-Expect(0, 43051, '\p{^ is sylo}', "");
-Expect(0, 43051, '\P{ is sylo}', "");
-Expect(1, 43051, '\P{^ is sylo}', "");
-Expect(0, 43007, '\p{ is sylo}', "");
-Expect(1, 43007, '\p{^ is sylo}', "");
-Expect(1, 43007, '\P{ is sylo}', "");
-Expect(0, 43007, '\P{^ is sylo}', "");
-Error('\p{/a/Balinese}');
-Error('\P{/a/Balinese}');
-Expect(1, 6987, '\p{balinese}', "");
-Expect(0, 6987, '\p{^balinese}', "");
-Expect(0, 6987, '\P{balinese}', "");
-Expect(1, 6987, '\P{^balinese}', "");
-Expect(0, 6911, '\p{balinese}', "");
-Expect(1, 6911, '\p{^balinese}', "");
-Expect(1, 6911, '\P{balinese}', "");
-Expect(0, 6911, '\P{^balinese}', "");
-Expect(1, 6987, '\p{_balinese}', "");
-Expect(0, 6987, '\p{^_balinese}', "");
-Expect(0, 6987, '\P{_balinese}', "");
-Expect(1, 6987, '\P{^_balinese}', "");
-Expect(0, 6911, '\p{_balinese}', "");
-Expect(1, 6911, '\p{^_balinese}', "");
-Expect(1, 6911, '\P{_balinese}', "");
-Expect(0, 6911, '\P{^_balinese}', "");
-Error('\p{:= _IsBalinese}');
-Error('\P{:= _IsBalinese}');
-Expect(1, 6987, '\p{isbalinese}', "");
-Expect(0, 6987, '\p{^isbalinese}', "");
-Expect(0, 6987, '\P{isbalinese}', "");
-Expect(1, 6987, '\P{^isbalinese}', "");
-Expect(0, 6911, '\p{isbalinese}', "");
-Expect(1, 6911, '\p{^isbalinese}', "");
-Expect(1, 6911, '\P{isbalinese}', "");
-Expect(0, 6911, '\P{^isbalinese}', "");
-Expect(1, 6987, '\p{ Isbalinese}', "");
-Expect(0, 6987, '\p{^ Isbalinese}', "");
-Expect(0, 6987, '\P{ Isbalinese}', "");
-Expect(1, 6987, '\P{^ Isbalinese}', "");
-Expect(0, 6911, '\p{ Isbalinese}', "");
-Expect(1, 6911, '\p{^ Isbalinese}', "");
-Expect(1, 6911, '\P{ Isbalinese}', "");
-Expect(0, 6911, '\P{^ Isbalinese}', "");
-Error('\p{/a/bali}');
-Error('\P{/a/bali}');
-Expect(1, 6987, '\p{bali}', "");
-Expect(0, 6987, '\p{^bali}', "");
-Expect(0, 6987, '\P{bali}', "");
-Expect(1, 6987, '\P{^bali}', "");
-Expect(0, 6911, '\p{bali}', "");
-Expect(1, 6911, '\p{^bali}', "");
-Expect(1, 6911, '\P{bali}', "");
-Expect(0, 6911, '\P{^bali}', "");
-Expect(1, 6987, '\p{ Bali}', "");
-Expect(0, 6987, '\p{^ Bali}', "");
-Expect(0, 6987, '\P{ Bali}', "");
-Expect(1, 6987, '\P{^ Bali}', "");
-Expect(0, 6911, '\p{ Bali}', "");
-Expect(1, 6911, '\p{^ Bali}', "");
-Expect(1, 6911, '\P{ Bali}', "");
-Expect(0, 6911, '\P{^ Bali}', "");
-Error('\p{ IS Bali:=}');
-Error('\P{ IS Bali:=}');
-Expect(1, 6987, '\p{isbali}', "");
-Expect(0, 6987, '\p{^isbali}', "");
-Expect(0, 6987, '\P{isbali}', "");
-Expect(1, 6987, '\P{^isbali}', "");
-Expect(0, 6911, '\p{isbali}', "");
-Expect(1, 6911, '\p{^isbali}', "");
-Expect(1, 6911, '\P{isbali}', "");
-Expect(0, 6911, '\P{^isbali}', "");
-Expect(1, 6987, '\p{ _is BALI}', "");
-Expect(0, 6987, '\p{^ _is BALI}', "");
-Expect(0, 6987, '\P{ _is BALI}', "");
-Expect(1, 6987, '\P{^ _is BALI}', "");
-Expect(0, 6911, '\p{ _is BALI}', "");
-Expect(1, 6911, '\p{^ _is BALI}', "");
-Expect(1, 6911, '\P{ _is BALI}', "");
-Expect(0, 6911, '\P{^ _is BALI}', "");
-Error('\p{ :=MISCELLANEOUS_SYMBOLS-and Arrows}');
-Error('\P{ :=MISCELLANEOUS_SYMBOLS-and Arrows}');
-Expect(1, 11263, '\p{miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^miscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^miscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{miscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^miscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{ Miscellaneous-Symbols AND Arrows}', "");
-Expect(0, 11263, '\p{^ Miscellaneous-Symbols AND Arrows}', "");
-Expect(0, 11263, '\P{ Miscellaneous-Symbols AND Arrows}', "");
-Expect(1, 11263, '\P{^ Miscellaneous-Symbols AND Arrows}', "");
-Expect(0, 11007, '\p{ Miscellaneous-Symbols AND Arrows}', "");
-Expect(1, 11007, '\p{^ Miscellaneous-Symbols AND Arrows}', "");
-Expect(1, 11007, '\P{ Miscellaneous-Symbols AND Arrows}', "");
-Expect(0, 11007, '\P{^ Miscellaneous-Symbols AND Arrows}', "");
-Error('\p{:=_ is-MISCELLANEOUSsymbols And_ARROWS}');
-Error('\P{:=_ is-MISCELLANEOUSsymbols And_ARROWS}');
-Expect(1, 11263, '\p{ismiscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^ismiscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{ismiscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^ismiscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{ismiscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^ismiscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{ismiscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^ismiscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(0, 11263, '\p{^ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(0, 11263, '\P{ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(1, 11263, '\P{^ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(0, 11007, '\p{ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(1, 11007, '\p{^ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(1, 11007, '\P{ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Expect(0, 11007, '\P{^ IS miscellaneous_SYMBOLS AND_Arrows}', "");
-Error('\p{-_inmiscellaneous Symbolsand-Arrows/a/}');
-Error('\P{-_inmiscellaneous Symbolsand-Arrows/a/}');
-Expect(1, 11263, '\p{inmiscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\p{^inmiscellaneoussymbolsandarrows}', "");
-Expect(0, 11263, '\P{inmiscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\P{^inmiscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\p{inmiscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\p{^inmiscellaneoussymbolsandarrows}', "");
-Expect(1, 11007, '\P{inmiscellaneoussymbolsandarrows}', "");
-Expect(0, 11007, '\P{^inmiscellaneoussymbolsandarrows}', "");
-Expect(1, 11263, '\p{ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(0, 11263, '\p{^ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(0, 11263, '\P{ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(1, 11263, '\P{^ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(0, 11007, '\p{ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(1, 11007, '\p{^ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(1, 11007, '\P{ in_Miscellaneous_Symbols_And_Arrows}', "");
-Expect(0, 11007, '\P{^ in_Miscellaneous_Symbols_And_Arrows}', "");
-Error('\p{:= PRINT}');
-Error('\P{:= PRINT}');
-Expect(1, 126, '\p{print}', "");
-Expect(0, 126, '\p{^print}', "");
-Expect(0, 126, '\P{print}', "");
-Expect(1, 126, '\P{^print}', "");
-Expect(0, 31, '\p{print}', "");
-Expect(1, 31, '\p{^print}', "");
-Expect(1, 31, '\P{print}', "");
-Expect(0, 31, '\P{^print}', "");
-Expect(1, 126, '\p{ PRINT}', "");
-Expect(0, 126, '\p{^ PRINT}', "");
-Expect(0, 126, '\P{ PRINT}', "");
-Expect(1, 126, '\P{^ PRINT}', "");
-Expect(0, 31, '\p{ PRINT}', "");
-Expect(1, 31, '\p{^ PRINT}', "");
-Expect(1, 31, '\P{ PRINT}', "");
-Expect(0, 31, '\P{^ PRINT}', "");
-Error('\p{_Is/a/PRINT}');
-Error('\P{_Is/a/PRINT}');
-Expect(1, 126, '\p{isprint}', "");
-Expect(0, 126, '\p{^isprint}', "");
-Expect(0, 126, '\P{isprint}', "");
-Expect(1, 126, '\P{^isprint}', "");
-Expect(0, 31, '\p{isprint}', "");
-Expect(1, 31, '\p{^isprint}', "");
-Expect(1, 31, '\P{isprint}', "");
-Expect(0, 31, '\P{^isprint}', "");
-Expect(1, 126, '\p{- Is_Print}', "");
-Expect(0, 126, '\p{^- Is_Print}', "");
-Expect(0, 126, '\P{- Is_Print}', "");
-Expect(1, 126, '\P{^- Is_Print}', "");
-Expect(0, 31, '\p{- Is_Print}', "");
-Expect(1, 31, '\p{^- Is_Print}', "");
-Expect(1, 31, '\P{- Is_Print}', "");
-Expect(0, 31, '\P{^- Is_Print}', "");
-Error('\p{_:=IDS Trinary-operator}');
-Error('\P{_:=IDS Trinary-operator}');
-Expect(1, 12275, '\p{idstrinaryoperator}', "");
-Expect(0, 12275, '\p{^idstrinaryoperator}', "");
-Expect(0, 12275, '\P{idstrinaryoperator}', "");
-Expect(1, 12275, '\P{^idstrinaryoperator}', "");
-Expect(0, 12273, '\p{idstrinaryoperator}', "");
-Expect(1, 12273, '\p{^idstrinaryoperator}', "");
-Expect(1, 12273, '\P{idstrinaryoperator}', "");
-Expect(0, 12273, '\P{^idstrinaryoperator}', "");
-Expect(1, 12275, '\p{ -IDS_trinary_OPERATOR}', "");
-Expect(0, 12275, '\p{^ -IDS_trinary_OPERATOR}', "");
-Expect(0, 12275, '\P{ -IDS_trinary_OPERATOR}', "");
-Expect(1, 12275, '\P{^ -IDS_trinary_OPERATOR}', "");
-Expect(0, 12273, '\p{ -IDS_trinary_OPERATOR}', "");
-Expect(1, 12273, '\p{^ -IDS_trinary_OPERATOR}', "");
-Expect(1, 12273, '\P{ -IDS_trinary_OPERATOR}', "");
-Expect(0, 12273, '\P{^ -IDS_trinary_OPERATOR}', "");
-Error('\p{_Is/a/ids_TRINARYOPERATOR}');
-Error('\P{_Is/a/ids_TRINARYOPERATOR}');
-Expect(1, 12275, '\p{isidstrinaryoperator}', "");
-Expect(0, 12275, '\p{^isidstrinaryoperator}', "");
-Expect(0, 12275, '\P{isidstrinaryoperator}', "");
-Expect(1, 12275, '\P{^isidstrinaryoperator}', "");
-Expect(0, 12273, '\p{isidstrinaryoperator}', "");
-Expect(1, 12273, '\p{^isidstrinaryoperator}', "");
-Expect(1, 12273, '\P{isidstrinaryoperator}', "");
-Expect(0, 12273, '\P{^isidstrinaryoperator}', "");
-Expect(1, 12275, '\p{-IS-IDSTrinary OPERATOR}', "");
-Expect(0, 12275, '\p{^-IS-IDSTrinary OPERATOR}', "");
-Expect(0, 12275, '\P{-IS-IDSTrinary OPERATOR}', "");
-Expect(1, 12275, '\P{^-IS-IDSTrinary OPERATOR}', "");
-Expect(0, 12273, '\p{-IS-IDSTrinary OPERATOR}', "");
-Expect(1, 12273, '\p{^-IS-IDSTrinary OPERATOR}', "");
-Expect(1, 12273, '\P{-IS-IDSTrinary OPERATOR}', "");
-Expect(0, 12273, '\P{^-IS-IDSTrinary OPERATOR}', "");
-Error('\p{-/a/IDST}');
-Error('\P{-/a/IDST}');
-Expect(1, 12275, '\p{idst}', "");
-Expect(0, 12275, '\p{^idst}', "");
-Expect(0, 12275, '\P{idst}', "");
-Expect(1, 12275, '\P{^idst}', "");
-Expect(0, 12273, '\p{idst}', "");
-Expect(1, 12273, '\p{^idst}', "");
-Expect(1, 12273, '\P{idst}', "");
-Expect(0, 12273, '\P{^idst}', "");
-Expect(1, 12275, '\p{IDST}', "");
-Expect(0, 12275, '\p{^IDST}', "");
-Expect(0, 12275, '\P{IDST}', "");
-Expect(1, 12275, '\P{^IDST}', "");
-Expect(0, 12273, '\p{IDST}', "");
-Expect(1, 12273, '\p{^IDST}', "");
-Expect(1, 12273, '\P{IDST}', "");
-Expect(0, 12273, '\P{^IDST}', "");
-Error('\p{/a/Is_IDST}');
-Error('\P{/a/Is_IDST}');
-Expect(1, 12275, '\p{isidst}', "");
-Expect(0, 12275, '\p{^isidst}', "");
-Expect(0, 12275, '\P{isidst}', "");
-Expect(1, 12275, '\P{^isidst}', "");
-Expect(0, 12273, '\p{isidst}', "");
-Expect(1, 12273, '\p{^isidst}', "");
-Expect(1, 12273, '\P{isidst}', "");
-Expect(0, 12273, '\P{^isidst}', "");
-Expect(1, 12275, '\p{-_Is-idst}', "");
-Expect(0, 12275, '\p{^-_Is-idst}', "");
-Expect(0, 12275, '\P{-_Is-idst}', "");
-Expect(1, 12275, '\P{^-_Is-idst}', "");
-Expect(0, 12273, '\p{-_Is-idst}', "");
-Expect(1, 12273, '\p{^-_Is-idst}', "");
-Expect(1, 12273, '\P{-_Is-idst}', "");
-Expect(0, 12273, '\P{^-_Is-idst}', "");
-Error('\p{:=CJK RADICALSSupplement}');
-Error('\P{:=CJK RADICALSSupplement}');
-Expect(1, 12031, '\p{cjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^cjkradicalssupplement}', "");
-Expect(0, 12031, '\P{cjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^cjkradicalssupplement}', "");
-Expect(0, 11903, '\p{cjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^cjkradicalssupplement}', "");
-Expect(1, 11903, '\P{cjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^cjkradicalssupplement}', "");
-Expect(1, 12031, '\p{CJKRadicals-supplement}', "");
-Expect(0, 12031, '\p{^CJKRadicals-supplement}', "");
-Expect(0, 12031, '\P{CJKRadicals-supplement}', "");
-Expect(1, 12031, '\P{^CJKRadicals-supplement}', "");
-Expect(0, 11903, '\p{CJKRadicals-supplement}', "");
-Expect(1, 11903, '\p{^CJKRadicals-supplement}', "");
-Expect(1, 11903, '\P{CJKRadicals-supplement}', "");
-Expect(0, 11903, '\P{^CJKRadicals-supplement}', "");
-Error('\p{-Is CJK Radicals-SUPPLEMENT:=}');
-Error('\P{-Is CJK Radicals-SUPPLEMENT:=}');
-Expect(1, 12031, '\p{iscjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^iscjkradicalssupplement}', "");
-Expect(0, 12031, '\P{iscjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^iscjkradicalssupplement}', "");
-Expect(0, 11903, '\p{iscjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^iscjkradicalssupplement}', "");
-Expect(1, 11903, '\P{iscjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^iscjkradicalssupplement}', "");
-Expect(1, 12031, '\p{-IsCJK Radicals-Supplement}', "");
-Expect(0, 12031, '\p{^-IsCJK Radicals-Supplement}', "");
-Expect(0, 12031, '\P{-IsCJK Radicals-Supplement}', "");
-Expect(1, 12031, '\P{^-IsCJK Radicals-Supplement}', "");
-Expect(0, 11903, '\p{-IsCJK Radicals-Supplement}', "");
-Expect(1, 11903, '\p{^-IsCJK Radicals-Supplement}', "");
-Expect(1, 11903, '\P{-IsCJK Radicals-Supplement}', "");
-Expect(0, 11903, '\P{^-IsCJK Radicals-Supplement}', "");
-Error('\p{ _In-CJK Radicals:=supplement}');
-Error('\P{ _In-CJK Radicals:=supplement}');
-Expect(1, 12031, '\p{incjkradicalssupplement}', "");
-Expect(0, 12031, '\p{^incjkradicalssupplement}', "");
-Expect(0, 12031, '\P{incjkradicalssupplement}', "");
-Expect(1, 12031, '\P{^incjkradicalssupplement}', "");
-Expect(0, 11903, '\p{incjkradicalssupplement}', "");
-Expect(1, 11903, '\p{^incjkradicalssupplement}', "");
-Expect(1, 11903, '\P{incjkradicalssupplement}', "");
-Expect(0, 11903, '\P{^incjkradicalssupplement}', "");
-Expect(1, 12031, '\p{ inCJK Radicals-Supplement}', "");
-Expect(0, 12031, '\p{^ inCJK Radicals-Supplement}', "");
-Expect(0, 12031, '\P{ inCJK Radicals-Supplement}', "");
-Expect(1, 12031, '\P{^ inCJK Radicals-Supplement}', "");
-Expect(0, 11903, '\p{ inCJK Radicals-Supplement}', "");
-Expect(1, 11903, '\p{^ inCJK Radicals-Supplement}', "");
-Expect(1, 11903, '\P{ inCJK Radicals-Supplement}', "");
-Expect(0, 11903, '\P{^ inCJK Radicals-Supplement}', "");
-Error('\p{_invai/a/}');
-Error('\P{_invai/a/}');
-Expect(1, 42559, '\p{invai}', "");
-Expect(0, 42559, '\p{^invai}', "");
-Expect(0, 42559, '\P{invai}', "");
-Expect(1, 42559, '\P{^invai}', "");
-Expect(0, 42239, '\p{invai}', "");
-Expect(1, 42239, '\p{^invai}', "");
-Expect(1, 42239, '\P{invai}', "");
-Expect(0, 42239, '\P{^invai}', "");
-Expect(1, 42559, '\p{ In VAI}', "");
-Expect(0, 42559, '\p{^ In VAI}', "");
-Expect(0, 42559, '\P{ In VAI}', "");
-Expect(1, 42559, '\P{^ In VAI}', "");
-Expect(0, 42239, '\p{ In VAI}', "");
-Expect(1, 42239, '\p{^ In VAI}', "");
-Expect(1, 42239, '\P{ In VAI}', "");
-Expect(0, 42239, '\P{^ In VAI}', "");
-Error('\p{/a/- thaana}');
-Error('\P{/a/- thaana}');
-Expect(1, 1969, '\p{thaana}', "");
-Expect(0, 1969, '\p{^thaana}', "");
-Expect(0, 1969, '\P{thaana}', "");
-Expect(1, 1969, '\P{^thaana}', "");
-Expect(0, 1919, '\p{thaana}', "");
-Expect(1, 1919, '\p{^thaana}', "");
-Expect(1, 1919, '\P{thaana}', "");
-Expect(0, 1919, '\P{^thaana}', "");
-Expect(1, 1969, '\p{Thaana}', "");
-Expect(0, 1969, '\p{^Thaana}', "");
-Expect(0, 1969, '\P{Thaana}', "");
-Expect(1, 1969, '\P{^Thaana}', "");
-Expect(0, 1919, '\p{Thaana}', "");
-Expect(1, 1919, '\p{^Thaana}', "");
-Expect(1, 1919, '\P{Thaana}', "");
-Expect(0, 1919, '\P{^Thaana}', "");
-Error('\p{/a/ Is THAANA}');
-Error('\P{/a/ Is THAANA}');
-Expect(1, 1969, '\p{isthaana}', "");
-Expect(0, 1969, '\p{^isthaana}', "");
-Expect(0, 1969, '\P{isthaana}', "");
-Expect(1, 1969, '\P{^isthaana}', "");
-Expect(0, 1919, '\p{isthaana}', "");
-Expect(1, 1919, '\p{^isthaana}', "");
-Expect(1, 1919, '\P{isthaana}', "");
-Expect(0, 1919, '\P{^isthaana}', "");
-Expect(1, 1969, '\p{ IS Thaana}', "");
-Expect(0, 1969, '\p{^ IS Thaana}', "");
-Expect(0, 1969, '\P{ IS Thaana}', "");
-Expect(1, 1969, '\P{^ IS Thaana}', "");
-Expect(0, 1919, '\p{ IS Thaana}', "");
-Expect(1, 1919, '\p{^ IS Thaana}', "");
-Expect(1, 1919, '\P{ IS Thaana}', "");
-Expect(0, 1919, '\P{^ IS Thaana}', "");
-Error('\p{-/a/THAA}');
-Error('\P{-/a/THAA}');
-Expect(1, 1969, '\p{thaa}', "");
-Expect(0, 1969, '\p{^thaa}', "");
-Expect(0, 1969, '\P{thaa}', "");
-Expect(1, 1969, '\P{^thaa}', "");
-Expect(0, 1919, '\p{thaa}', "");
-Expect(1, 1919, '\p{^thaa}', "");
-Expect(1, 1919, '\P{thaa}', "");
-Expect(0, 1919, '\P{^thaa}', "");
-Expect(1, 1969, '\p{-_THAA}', "");
-Expect(0, 1969, '\p{^-_THAA}', "");
-Expect(0, 1969, '\P{-_THAA}', "");
-Expect(1, 1969, '\P{^-_THAA}', "");
-Expect(0, 1919, '\p{-_THAA}', "");
-Expect(1, 1919, '\p{^-_THAA}', "");
-Expect(1, 1919, '\P{-_THAA}', "");
-Expect(0, 1919, '\P{^-_THAA}', "");
-Error('\p{ -Is/a/THAA}');
-Error('\P{ -Is/a/THAA}');
-Expect(1, 1969, '\p{isthaa}', "");
-Expect(0, 1969, '\p{^isthaa}', "");
-Expect(0, 1969, '\P{isthaa}', "");
-Expect(1, 1969, '\P{^isthaa}', "");
-Expect(0, 1919, '\p{isthaa}', "");
-Expect(1, 1919, '\p{^isthaa}', "");
-Expect(1, 1919, '\P{isthaa}', "");
-Expect(0, 1919, '\P{^isthaa}', "");
-Expect(1, 1969, '\p{-is Thaa}', "");
-Expect(0, 1969, '\p{^-is Thaa}', "");
-Expect(0, 1969, '\P{-is Thaa}', "");
-Expect(1, 1969, '\P{^-is Thaa}', "");
-Expect(0, 1919, '\p{-is Thaa}', "");
-Expect(1, 1919, '\p{^-is Thaa}', "");
-Expect(1, 1919, '\P{-is Thaa}', "");
-Expect(0, 1919, '\P{^-is Thaa}', "");
-Error('\p{ :=OTHER IDStart}');
-Error('\P{ :=OTHER IDStart}');
-Expect(1, 8472, '\p{otheridstart}', 'deprecated');
-Expect(0, 8472, '\p{^otheridstart}', 'deprecated');
-Expect(0, 8472, '\P{otheridstart}', 'deprecated');
-Expect(1, 8472, '\P{^otheridstart}', 'deprecated');
-Expect(0, 8471, '\p{otheridstart}', 'deprecated');
-Expect(1, 8471, '\p{^otheridstart}', 'deprecated');
-Expect(1, 8471, '\P{otheridstart}', 'deprecated');
-Expect(0, 8471, '\P{^otheridstart}', 'deprecated');
-Expect(1, 8472, '\p{_ Other ID Start}', 'deprecated');
-Expect(0, 8472, '\p{^_ Other ID Start}', 'deprecated');
-Expect(0, 8472, '\P{_ Other ID Start}', 'deprecated');
-Expect(1, 8472, '\P{^_ Other ID Start}', 'deprecated');
-Expect(0, 8471, '\p{_ Other ID Start}', 'deprecated');
-Expect(1, 8471, '\p{^_ Other ID Start}', 'deprecated');
-Expect(1, 8471, '\P{_ Other ID Start}', 'deprecated');
-Expect(0, 8471, '\P{^_ Other ID Start}', 'deprecated');
-Error('\p{- IS:=other ID Start}');
-Error('\P{- IS:=other ID Start}');
-Expect(1, 8472, '\p{isotheridstart}', 'deprecated');
-Expect(0, 8472, '\p{^isotheridstart}', 'deprecated');
-Expect(0, 8472, '\P{isotheridstart}', 'deprecated');
-Expect(1, 8472, '\P{^isotheridstart}', 'deprecated');
-Expect(0, 8471, '\p{isotheridstart}', 'deprecated');
-Expect(1, 8471, '\p{^isotheridstart}', 'deprecated');
-Expect(1, 8471, '\P{isotheridstart}', 'deprecated');
-Expect(0, 8471, '\P{^isotheridstart}', 'deprecated');
-Expect(1, 8472, '\p{_-IsOther-ID-Start}', 'deprecated');
-Expect(0, 8472, '\p{^_-IsOther-ID-Start}', 'deprecated');
-Expect(0, 8472, '\P{_-IsOther-ID-Start}', 'deprecated');
-Expect(1, 8472, '\P{^_-IsOther-ID-Start}', 'deprecated');
-Expect(0, 8471, '\p{_-IsOther-ID-Start}', 'deprecated');
-Expect(1, 8471, '\p{^_-IsOther-ID-Start}', 'deprecated');
-Expect(1, 8471, '\P{_-IsOther-ID-Start}', 'deprecated');
-Expect(0, 8471, '\P{^_-IsOther-ID-Start}', 'deprecated');
-Error('\p{/a/ OIDS}');
-Error('\P{/a/ OIDS}');
-Expect(1, 8472, '\p{oids}', 'deprecated');
-Expect(0, 8472, '\p{^oids}', 'deprecated');
-Expect(0, 8472, '\P{oids}', 'deprecated');
-Expect(1, 8472, '\P{^oids}', 'deprecated');
-Expect(0, 8471, '\p{oids}', 'deprecated');
-Expect(1, 8471, '\p{^oids}', 'deprecated');
-Expect(1, 8471, '\P{oids}', 'deprecated');
-Expect(0, 8471, '\P{^oids}', 'deprecated');
-Expect(1, 8472, '\p{--OIDS}', 'deprecated');
-Expect(0, 8472, '\p{^--OIDS}', 'deprecated');
-Expect(0, 8472, '\P{--OIDS}', 'deprecated');
-Expect(1, 8472, '\P{^--OIDS}', 'deprecated');
-Expect(0, 8471, '\p{--OIDS}', 'deprecated');
-Expect(1, 8471, '\p{^--OIDS}', 'deprecated');
-Expect(1, 8471, '\P{--OIDS}', 'deprecated');
-Expect(0, 8471, '\P{^--OIDS}', 'deprecated');
-Error('\p{ Is:=OIDS}');
-Error('\P{ Is:=OIDS}');
-Expect(1, 8472, '\p{isoids}', 'deprecated');
-Expect(0, 8472, '\p{^isoids}', 'deprecated');
-Expect(0, 8472, '\P{isoids}', 'deprecated');
-Expect(1, 8472, '\P{^isoids}', 'deprecated');
-Expect(0, 8471, '\p{isoids}', 'deprecated');
-Expect(1, 8471, '\p{^isoids}', 'deprecated');
-Expect(1, 8471, '\P{isoids}', 'deprecated');
-Expect(0, 8471, '\P{^isoids}', 'deprecated');
-Expect(1, 8472, '\p{_ Is OIDS}', 'deprecated');
-Expect(0, 8472, '\p{^_ Is OIDS}', 'deprecated');
-Expect(0, 8472, '\P{_ Is OIDS}', 'deprecated');
-Expect(1, 8472, '\P{^_ Is OIDS}', 'deprecated');
-Expect(0, 8471, '\p{_ Is OIDS}', 'deprecated');
-Expect(1, 8471, '\p{^_ Is OIDS}', 'deprecated');
-Expect(1, 8471, '\P{_ Is OIDS}', 'deprecated');
-Expect(0, 8471, '\P{^_ Is OIDS}', 'deprecated');
-Error('\p{/a/Specials}');
-Error('\P{/a/Specials}');
-Expect(1, 65520, '\p{specials}', "");
-Expect(0, 65520, '\p{^specials}', "");
-Expect(0, 65520, '\P{specials}', "");
-Expect(1, 65520, '\P{^specials}', "");
-Expect(0, 65519, '\p{specials}', "");
-Expect(1, 65519, '\p{^specials}', "");
-Expect(1, 65519, '\P{specials}', "");
-Expect(0, 65519, '\P{^specials}', "");
-Expect(1, 65520, '\p{ specials}', "");
-Expect(0, 65520, '\p{^ specials}', "");
-Expect(0, 65520, '\P{ specials}', "");
-Expect(1, 65520, '\P{^ specials}', "");
-Expect(0, 65519, '\p{ specials}', "");
-Expect(1, 65519, '\p{^ specials}', "");
-Expect(1, 65519, '\P{ specials}', "");
-Expect(0, 65519, '\P{^ specials}', "");
-Error('\p{ is/a/Specials}');
-Error('\P{ is/a/Specials}');
-Expect(1, 65520, '\p{isspecials}', "");
-Expect(0, 65520, '\p{^isspecials}', "");
-Expect(0, 65520, '\P{isspecials}', "");
-Expect(1, 65520, '\P{^isspecials}', "");
-Expect(0, 65519, '\p{isspecials}', "");
-Expect(1, 65519, '\p{^isspecials}', "");
-Expect(1, 65519, '\P{isspecials}', "");
-Expect(0, 65519, '\P{^isspecials}', "");
-Expect(1, 65520, '\p{- is SPECIALS}', "");
-Expect(0, 65520, '\p{^- is SPECIALS}', "");
-Expect(0, 65520, '\P{- is SPECIALS}', "");
-Expect(1, 65520, '\P{^- is SPECIALS}', "");
-Expect(0, 65519, '\p{- is SPECIALS}', "");
-Expect(1, 65519, '\p{^- is SPECIALS}', "");
-Expect(1, 65519, '\P{- is SPECIALS}', "");
-Expect(0, 65519, '\P{^- is SPECIALS}', "");
-Error('\p{ In-Specials:=}');
-Error('\P{ In-Specials:=}');
-Expect(1, 65520, '\p{inspecials}', "");
-Expect(0, 65520, '\p{^inspecials}', "");
-Expect(0, 65520, '\P{inspecials}', "");
-Expect(1, 65520, '\P{^inspecials}', "");
-Expect(0, 65519, '\p{inspecials}', "");
-Expect(1, 65519, '\p{^inspecials}', "");
-Expect(1, 65519, '\P{inspecials}', "");
-Expect(0, 65519, '\P{^inspecials}', "");
-Expect(1, 65520, '\p{--In specials}', "");
-Expect(0, 65520, '\p{^--In specials}', "");
-Expect(0, 65520, '\P{--In specials}', "");
-Expect(1, 65520, '\P{^--In specials}', "");
-Expect(0, 65519, '\p{--In specials}', "");
-Expect(1, 65519, '\p{^--In specials}', "");
-Expect(1, 65519, '\P{--In specials}', "");
-Expect(0, 65519, '\P{^--In specials}', "");
-Error('\p{Mathematical/a/Operators}');
-Error('\P{Mathematical/a/Operators}');
-Expect(1, 8959, '\p{mathematicaloperators}', "");
-Expect(0, 8959, '\p{^mathematicaloperators}', "");
-Expect(0, 8959, '\P{mathematicaloperators}', "");
-Expect(1, 8959, '\P{^mathematicaloperators}', "");
-Expect(0, 8703, '\p{mathematicaloperators}', "");
-Expect(1, 8703, '\p{^mathematicaloperators}', "");
-Expect(1, 8703, '\P{mathematicaloperators}', "");
-Expect(0, 8703, '\P{^mathematicaloperators}', "");
-Expect(1, 8959, '\p{ Mathematical-Operators}', "");
-Expect(0, 8959, '\p{^ Mathematical-Operators}', "");
-Expect(0, 8959, '\P{ Mathematical-Operators}', "");
-Expect(1, 8959, '\P{^ Mathematical-Operators}', "");
-Expect(0, 8703, '\p{ Mathematical-Operators}', "");
-Expect(1, 8703, '\p{^ Mathematical-Operators}', "");
-Expect(1, 8703, '\P{ Mathematical-Operators}', "");
-Expect(0, 8703, '\P{^ Mathematical-Operators}', "");
-Error('\p{ :=is-MATHEMATICALOperators}');
-Error('\P{ :=is-MATHEMATICALOperators}');
-Expect(1, 8959, '\p{ismathematicaloperators}', "");
-Expect(0, 8959, '\p{^ismathematicaloperators}', "");
-Expect(0, 8959, '\P{ismathematicaloperators}', "");
-Expect(1, 8959, '\P{^ismathematicaloperators}', "");
-Expect(0, 8703, '\p{ismathematicaloperators}', "");
-Expect(1, 8703, '\p{^ismathematicaloperators}', "");
-Expect(1, 8703, '\P{ismathematicaloperators}', "");
-Expect(0, 8703, '\P{^ismathematicaloperators}', "");
-Expect(1, 8959, '\p{ _ISMathematicalOperators}', "");
-Expect(0, 8959, '\p{^ _ISMathematicalOperators}', "");
-Expect(0, 8959, '\P{ _ISMathematicalOperators}', "");
-Expect(1, 8959, '\P{^ _ISMathematicalOperators}', "");
-Expect(0, 8703, '\p{ _ISMathematicalOperators}', "");
-Expect(1, 8703, '\p{^ _ISMathematicalOperators}', "");
-Expect(1, 8703, '\P{ _ISMathematicalOperators}', "");
-Expect(0, 8703, '\P{^ _ISMathematicalOperators}', "");
-Error('\p{_ IN_Mathematical/a/operators}');
-Error('\P{_ IN_Mathematical/a/operators}');
-Expect(1, 8959, '\p{inmathematicaloperators}', "");
-Expect(0, 8959, '\p{^inmathematicaloperators}', "");
-Expect(0, 8959, '\P{inmathematicaloperators}', "");
-Expect(1, 8959, '\P{^inmathematicaloperators}', "");
-Expect(0, 8703, '\p{inmathematicaloperators}', "");
-Expect(1, 8703, '\p{^inmathematicaloperators}', "");
-Expect(1, 8703, '\P{inmathematicaloperators}', "");
-Expect(0, 8703, '\P{^inmathematicaloperators}', "");
-Expect(1, 8959, '\p{-in MATHEMATICAL-OPERATORS}', "");
-Expect(0, 8959, '\p{^-in MATHEMATICAL-OPERATORS}', "");
-Expect(0, 8959, '\P{-in MATHEMATICAL-OPERATORS}', "");
-Expect(1, 8959, '\P{^-in MATHEMATICAL-OPERATORS}', "");
-Expect(0, 8703, '\p{-in MATHEMATICAL-OPERATORS}', "");
-Expect(1, 8703, '\p{^-in MATHEMATICAL-OPERATORS}', "");
-Expect(1, 8703, '\P{-in MATHEMATICAL-OPERATORS}', "");
-Expect(0, 8703, '\P{^-in MATHEMATICAL-OPERATORS}', "");
-Error('\p{_:=Bidi_Mirrored}');
-Error('\P{_:=Bidi_Mirrored}');
-Expect(1, 41, '\p{bidimirrored}', "");
-Expect(0, 41, '\p{^bidimirrored}', "");
-Expect(0, 41, '\P{bidimirrored}', "");
-Expect(1, 41, '\P{^bidimirrored}', "");
-Expect(0, 39, '\p{bidimirrored}', "");
-Expect(1, 39, '\p{^bidimirrored}', "");
-Expect(1, 39, '\P{bidimirrored}', "");
-Expect(0, 39, '\P{^bidimirrored}', "");
-Expect(1, 41, '\p{ _Bidi Mirrored}', "");
-Expect(0, 41, '\p{^ _Bidi Mirrored}', "");
-Expect(0, 41, '\P{ _Bidi Mirrored}', "");
-Expect(1, 41, '\P{^ _Bidi Mirrored}', "");
-Expect(0, 39, '\p{ _Bidi Mirrored}', "");
-Expect(1, 39, '\p{^ _Bidi Mirrored}', "");
-Expect(1, 39, '\P{ _Bidi Mirrored}', "");
-Expect(0, 39, '\P{^ _Bidi Mirrored}', "");
-Error('\p{-IsBidi:=MIRRORED}');
-Error('\P{-IsBidi:=MIRRORED}');
-Expect(1, 41, '\p{isbidimirrored}', "");
-Expect(0, 41, '\p{^isbidimirrored}', "");
-Expect(0, 41, '\P{isbidimirrored}', "");
-Expect(1, 41, '\P{^isbidimirrored}', "");
-Expect(0, 39, '\p{isbidimirrored}', "");
-Expect(1, 39, '\p{^isbidimirrored}', "");
-Expect(1, 39, '\P{isbidimirrored}', "");
-Expect(0, 39, '\P{^isbidimirrored}', "");
-Expect(1, 41, '\p{ is Bidi MIRRORED}', "");
-Expect(0, 41, '\p{^ is Bidi MIRRORED}', "");
-Expect(0, 41, '\P{ is Bidi MIRRORED}', "");
-Expect(1, 41, '\P{^ is Bidi MIRRORED}', "");
-Expect(0, 39, '\p{ is Bidi MIRRORED}', "");
-Expect(1, 39, '\p{^ is Bidi MIRRORED}', "");
-Expect(1, 39, '\P{ is Bidi MIRRORED}', "");
-Expect(0, 39, '\P{^ is Bidi MIRRORED}', "");
-Error('\p{/a/Bidi_M}');
-Error('\P{/a/Bidi_M}');
-Expect(1, 41, '\p{bidim}', "");
-Expect(0, 41, '\p{^bidim}', "");
-Expect(0, 41, '\P{bidim}', "");
-Expect(1, 41, '\P{^bidim}', "");
-Expect(0, 39, '\p{bidim}', "");
-Expect(1, 39, '\p{^bidim}', "");
-Expect(1, 39, '\P{bidim}', "");
-Expect(0, 39, '\P{^bidim}', "");
-Expect(1, 41, '\p{ _Bidi-M}', "");
-Expect(0, 41, '\p{^ _Bidi-M}', "");
-Expect(0, 41, '\P{ _Bidi-M}', "");
-Expect(1, 41, '\P{^ _Bidi-M}', "");
-Expect(0, 39, '\p{ _Bidi-M}', "");
-Expect(1, 39, '\p{^ _Bidi-M}', "");
-Expect(1, 39, '\P{ _Bidi-M}', "");
-Expect(0, 39, '\P{^ _Bidi-M}', "");
-Error('\p{_ Is Bidi_M:=}');
-Error('\P{_ Is Bidi_M:=}');
-Expect(1, 41, '\p{isbidim}', "");
-Expect(0, 41, '\p{^isbidim}', "");
-Expect(0, 41, '\P{isbidim}', "");
-Expect(1, 41, '\P{^isbidim}', "");
-Expect(0, 39, '\p{isbidim}', "");
-Expect(1, 39, '\p{^isbidim}', "");
-Expect(1, 39, '\P{isbidim}', "");
-Expect(0, 39, '\P{^isbidim}', "");
-Expect(1, 41, '\p{ -Is_Bidi_M}', "");
-Expect(0, 41, '\p{^ -Is_Bidi_M}', "");
-Expect(0, 41, '\P{ -Is_Bidi_M}', "");
-Expect(1, 41, '\P{^ -Is_Bidi_M}', "");
-Expect(0, 39, '\p{ -Is_Bidi_M}', "");
-Expect(1, 39, '\p{^ -Is_Bidi_M}', "");
-Expect(1, 39, '\P{ -Is_Bidi_M}', "");
-Expect(0, 39, '\P{^ -Is_Bidi_M}', "");
-Error('\p{Katakana_Or_Hiragana}');
-Error('\P{Katakana_Or_Hiragana}');
-Error('\p{Is_Katakana_Or_Hiragana}');
-Error('\P{Is_Katakana_Or_Hiragana}');
-Error('\p{Hrkt}');
-Error('\P{Hrkt}');
-Error('\p{Is_Hrkt}');
-Error('\P{Is_Hrkt}');
-Error('\p{ OTHER/a/Symbol}');
-Error('\P{ OTHER/a/Symbol}');
-Expect(1, 167, '\p{othersymbol}', "");
-Expect(0, 167, '\p{^othersymbol}', "");
-Expect(0, 167, '\P{othersymbol}', "");
-Expect(1, 167, '\P{^othersymbol}', "");
-Expect(0, 165, '\p{othersymbol}', "");
-Expect(1, 165, '\p{^othersymbol}', "");
-Expect(1, 165, '\P{othersymbol}', "");
-Expect(0, 165, '\P{^othersymbol}', "");
-Expect(1, 167, '\p{-_otherSYMBOL}', "");
-Expect(0, 167, '\p{^-_otherSYMBOL}', "");
-Expect(0, 167, '\P{-_otherSYMBOL}', "");
-Expect(1, 167, '\P{^-_otherSYMBOL}', "");
-Expect(0, 165, '\p{-_otherSYMBOL}', "");
-Expect(1, 165, '\p{^-_otherSYMBOL}', "");
-Expect(1, 165, '\P{-_otherSYMBOL}', "");
-Expect(0, 165, '\P{^-_otherSYMBOL}', "");
-Error('\p{_is Other:=Symbol}');
-Error('\P{_is Other:=Symbol}');
-Expect(1, 167, '\p{isothersymbol}', "");
-Expect(0, 167, '\p{^isothersymbol}', "");
-Expect(0, 167, '\P{isothersymbol}', "");
-Expect(1, 167, '\P{^isothersymbol}', "");
-Expect(0, 165, '\p{isothersymbol}', "");
-Expect(1, 165, '\p{^isothersymbol}', "");
-Expect(1, 165, '\P{isothersymbol}', "");
-Expect(0, 165, '\P{^isothersymbol}', "");
-Expect(1, 167, '\p{-is_OTHERSymbol}', "");
-Expect(0, 167, '\p{^-is_OTHERSymbol}', "");
-Expect(0, 167, '\P{-is_OTHERSymbol}', "");
-Expect(1, 167, '\P{^-is_OTHERSymbol}', "");
-Expect(0, 165, '\p{-is_OTHERSymbol}', "");
-Expect(1, 165, '\p{^-is_OTHERSymbol}', "");
-Expect(1, 165, '\P{-is_OTHERSymbol}', "");
-Expect(0, 165, '\P{^-is_OTHERSymbol}', "");
-Error('\p{:=_So}');
-Error('\P{:=_So}');
-Expect(1, 167, '\p{so}', "");
-Expect(0, 167, '\p{^so}', "");
-Expect(0, 167, '\P{so}', "");
-Expect(1, 167, '\P{^so}', "");
-Expect(0, 165, '\p{so}', "");
-Expect(1, 165, '\p{^so}', "");
-Expect(1, 165, '\P{so}', "");
-Expect(0, 165, '\P{^so}', "");
-Expect(1, 167, '\p{ So}', "");
-Expect(0, 167, '\p{^ So}', "");
-Expect(0, 167, '\P{ So}', "");
-Expect(1, 167, '\P{^ So}', "");
-Expect(0, 165, '\p{ So}', "");
-Expect(1, 165, '\p{^ So}', "");
-Expect(1, 165, '\P{ So}', "");
-Expect(0, 165, '\P{^ So}', "");
-Error('\p{ IS SO/a/}');
-Error('\P{ IS SO/a/}');
-Expect(1, 167, '\p{isso}', "");
-Expect(0, 167, '\p{^isso}', "");
-Expect(0, 167, '\P{isso}', "");
-Expect(1, 167, '\P{^isso}', "");
-Expect(0, 165, '\p{isso}', "");
-Expect(1, 165, '\p{^isso}', "");
-Expect(1, 165, '\P{isso}', "");
-Expect(0, 165, '\P{^isso}', "");
-Expect(1, 167, '\p{_Is-SO}', "");
-Expect(0, 167, '\p{^_Is-SO}', "");
-Expect(0, 167, '\P{_Is-SO}', "");
-Expect(1, 167, '\P{^_Is-SO}', "");
-Expect(0, 165, '\p{_Is-SO}', "");
-Expect(1, 165, '\p{^_Is-SO}', "");
-Expect(1, 165, '\P{_Is-SO}', "");
-Expect(0, 165, '\P{^_Is-SO}', "");
-Error('\p{/a/ANY}');
-Error('\P{/a/ANY}');
-Expect(1, 1, '\p{any}', "");
-Expect(0, 1, '\p{^any}', "");
-Expect(0, 1, '\P{any}', "");
-Expect(1, 1, '\P{^any}', "");
-Expect(1, 1, '\p{ -any}', "");
-Expect(0, 1, '\p{^ -any}', "");
-Expect(0, 1, '\P{ -any}', "");
-Expect(1, 1, '\P{^ -any}', "");
-Error('\p{-All:=}');
-Error('\P{-All:=}');
-Expect(1, 1, '\p{all}', "");
-Expect(0, 1, '\p{^all}', "");
-Expect(0, 1, '\P{all}', "");
-Expect(1, 1, '\P{^all}', "");
-Expect(1, 1, '\p{_all}', "");
-Expect(0, 1, '\p{^_all}', "");
-Expect(0, 1, '\P{_all}', "");
-Expect(1, 1, '\P{^_all}', "");
-Error('\p{:= _Is ANY}');
-Error('\P{:= _Is ANY}');
-Expect(1, 1, '\p{isany}', "");
-Expect(0, 1, '\p{^isany}', "");
-Expect(0, 1, '\P{isany}', "");
-Expect(1, 1, '\P{^isany}', "");
-Expect(1, 1, '\p{ IS ANY}', "");
-Expect(0, 1, '\p{^ IS ANY}', "");
-Expect(0, 1, '\P{ IS ANY}', "");
-Expect(1, 1, '\P{^ IS ANY}', "");
-Error('\p{- IS/a/ALL}');
-Error('\P{- IS/a/ALL}');
-Expect(1, 1, '\p{isall}', "");
-Expect(0, 1, '\p{^isall}', "");
-Expect(0, 1, '\P{isall}', "");
-Expect(1, 1, '\P{^isall}', "");
-Expect(1, 1, '\p{_ is-ALL}', "");
-Expect(0, 1, '\p{^_ is-ALL}', "");
-Expect(0, 1, '\P{_ is-ALL}', "");
-Expect(1, 1, '\P{^_ is-ALL}', "");
-Error('\p{ :=OTHER Letter}');
-Error('\P{ :=OTHER Letter}');
-Expect(1, 443, '\p{otherletter}', "");
-Expect(0, 443, '\p{^otherletter}', "");
-Expect(0, 443, '\P{otherletter}', "");
-Expect(1, 443, '\P{^otherletter}', "");
-Expect(0, 442, '\p{otherletter}', "");
-Expect(1, 442, '\p{^otherletter}', "");
-Expect(1, 442, '\P{otherletter}', "");
-Expect(0, 442, '\P{^otherletter}', "");
-Expect(1, 443, '\p{-_Other Letter}', "");
-Expect(0, 443, '\p{^-_Other Letter}', "");
-Expect(0, 443, '\P{-_Other Letter}', "");
-Expect(1, 443, '\P{^-_Other Letter}', "");
-Expect(0, 442, '\p{-_Other Letter}', "");
-Expect(1, 442, '\p{^-_Other Letter}', "");
-Expect(1, 442, '\P{-_Other Letter}', "");
-Expect(0, 442, '\P{^-_Other Letter}', "");
-Error('\p{/a/ is-OTHERLetter}');
-Error('\P{/a/ is-OTHERLetter}');
-Expect(1, 443, '\p{isotherletter}', "");
-Expect(0, 443, '\p{^isotherletter}', "");
-Expect(0, 443, '\P{isotherletter}', "");
-Expect(1, 443, '\P{^isotherletter}', "");
-Expect(0, 442, '\p{isotherletter}', "");
-Expect(1, 442, '\p{^isotherletter}', "");
-Expect(1, 442, '\P{isotherletter}', "");
-Expect(0, 442, '\P{^isotherletter}', "");
-Expect(1, 443, '\p{-IS_OTHER-Letter}', "");
-Expect(0, 443, '\p{^-IS_OTHER-Letter}', "");
-Expect(0, 443, '\P{-IS_OTHER-Letter}', "");
-Expect(1, 443, '\P{^-IS_OTHER-Letter}', "");
-Expect(0, 442, '\p{-IS_OTHER-Letter}', "");
-Expect(1, 442, '\p{^-IS_OTHER-Letter}', "");
-Expect(1, 442, '\P{-IS_OTHER-Letter}', "");
-Expect(0, 442, '\P{^-IS_OTHER-Letter}', "");
-Error('\p{/a/_Lo}');
-Error('\P{/a/_Lo}');
-Expect(1, 443, '\p{lo}', "");
-Expect(0, 443, '\p{^lo}', "");
-Expect(0, 443, '\P{lo}', "");
-Expect(1, 443, '\P{^lo}', "");
-Expect(0, 442, '\p{lo}', "");
-Expect(1, 442, '\p{^lo}', "");
-Expect(1, 442, '\P{lo}', "");
-Expect(0, 442, '\P{^lo}', "");
-Expect(1, 443, '\p{_Lo}', "");
-Expect(0, 443, '\p{^_Lo}', "");
-Expect(0, 443, '\P{_Lo}', "");
-Expect(1, 443, '\P{^_Lo}', "");
-Expect(0, 442, '\p{_Lo}', "");
-Expect(1, 442, '\p{^_Lo}', "");
-Expect(1, 442, '\P{_Lo}', "");
-Expect(0, 442, '\P{^_Lo}', "");
-Error('\p{_ Is-Lo/a/}');
-Error('\P{_ Is-Lo/a/}');
-Expect(1, 443, '\p{islo}', "");
-Expect(0, 443, '\p{^islo}', "");
-Expect(0, 443, '\P{islo}', "");
-Expect(1, 443, '\P{^islo}', "");
-Expect(0, 442, '\p{islo}', "");
-Expect(1, 442, '\p{^islo}', "");
-Expect(1, 442, '\P{islo}', "");
-Expect(0, 442, '\P{^islo}', "");
-Expect(1, 443, '\p{ ISlo}', "");
-Expect(0, 443, '\p{^ ISlo}', "");
-Expect(0, 443, '\P{ ISlo}', "");
-Expect(1, 443, '\P{^ ISlo}', "");
-Expect(0, 442, '\p{ ISlo}', "");
-Expect(1, 442, '\p{^ ISlo}', "");
-Expect(1, 442, '\P{ ISlo}', "");
-Expect(0, 442, '\P{^ ISlo}', "");
-Error('\p{__other DEFAULT:=Ignorable CODEPoint}');
-Error('\P{__other DEFAULT:=Ignorable CODEPoint}');
-Expect(1, 847, '\p{otherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 847, '\p{^otherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 847, '\P{otherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 847, '\P{^otherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 846, '\p{otherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 846, '\p{^otherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 846, '\P{otherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 846, '\P{^otherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 847, '\p{-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(0, 847, '\p{^-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(0, 847, '\P{-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(1, 847, '\P{^-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(0, 846, '\p{-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(1, 846, '\p{^-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(1, 846, '\P{-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Expect(0, 846, '\P{^-_Other_DefaultIGNORABLE-CODE Point}', 'deprecated');
-Error('\p{:=Is OTHER_DEFAULT-ignorableCODE_POINT}');
-Error('\P{:=Is OTHER_DEFAULT-ignorableCODE_POINT}');
-Expect(1, 847, '\p{isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 847, '\p{^isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 847, '\P{isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 847, '\P{^isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 846, '\p{isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 846, '\p{^isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 846, '\P{isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(0, 846, '\P{^isotherdefaultignorablecodepoint}', 'deprecated');
-Expect(1, 847, '\p{-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(0, 847, '\p{^-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(0, 847, '\P{-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(1, 847, '\P{^-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(0, 846, '\p{-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(1, 846, '\p{^-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(1, 846, '\P{-Is-other default Ignorable Codepoint}', 'deprecated');
-Expect(0, 846, '\P{^-Is-other default Ignorable Codepoint}', 'deprecated');
-Error('\p{_:=ODI}');
-Error('\P{_:=ODI}');
-Expect(1, 847, '\p{odi}', 'deprecated');
-Expect(0, 847, '\p{^odi}', 'deprecated');
-Expect(0, 847, '\P{odi}', 'deprecated');
-Expect(1, 847, '\P{^odi}', 'deprecated');
-Expect(0, 846, '\p{odi}', 'deprecated');
-Expect(1, 846, '\p{^odi}', 'deprecated');
-Expect(1, 846, '\P{odi}', 'deprecated');
-Expect(0, 846, '\P{^odi}', 'deprecated');
-Expect(1, 847, '\p{_ODI}', 'deprecated');
-Expect(0, 847, '\p{^_ODI}', 'deprecated');
-Expect(0, 847, '\P{_ODI}', 'deprecated');
-Expect(1, 847, '\P{^_ODI}', 'deprecated');
-Expect(0, 846, '\p{_ODI}', 'deprecated');
-Expect(1, 846, '\p{^_ODI}', 'deprecated');
-Expect(1, 846, '\P{_ODI}', 'deprecated');
-Expect(0, 846, '\P{^_ODI}', 'deprecated');
-Error('\p{:= _is ODI}');
-Error('\P{:= _is ODI}');
-Expect(1, 847, '\p{isodi}', 'deprecated');
-Expect(0, 847, '\p{^isodi}', 'deprecated');
-Expect(0, 847, '\P{isodi}', 'deprecated');
-Expect(1, 847, '\P{^isodi}', 'deprecated');
-Expect(0, 846, '\p{isodi}', 'deprecated');
-Expect(1, 846, '\p{^isodi}', 'deprecated');
-Expect(1, 846, '\P{isodi}', 'deprecated');
-Expect(0, 846, '\P{^isodi}', 'deprecated');
-Expect(1, 847, '\p{ is-ODI}', 'deprecated');
-Expect(0, 847, '\p{^ is-ODI}', 'deprecated');
-Expect(0, 847, '\P{ is-ODI}', 'deprecated');
-Expect(1, 847, '\P{^ is-ODI}', 'deprecated');
-Expect(0, 846, '\p{ is-ODI}', 'deprecated');
-Expect(1, 846, '\p{^ is-ODI}', 'deprecated');
-Expect(1, 846, '\P{ is-ODI}', 'deprecated');
-Expect(0, 846, '\P{^ is-ODI}', 'deprecated');
-Error('\p{ SUNDANESE:=}');
-Error('\P{ SUNDANESE:=}');
-Expect(1, 7082, '\p{sundanese}', "");
-Expect(0, 7082, '\p{^sundanese}', "");
-Expect(0, 7082, '\P{sundanese}', "");
-Expect(1, 7082, '\P{^sundanese}', "");
-Expect(0, 7039, '\p{sundanese}', "");
-Expect(1, 7039, '\p{^sundanese}', "");
-Expect(1, 7039, '\P{sundanese}', "");
-Expect(0, 7039, '\P{^sundanese}', "");
-Expect(1, 7082, '\p{ Sundanese}', "");
-Expect(0, 7082, '\p{^ Sundanese}', "");
-Expect(0, 7082, '\P{ Sundanese}', "");
-Expect(1, 7082, '\P{^ Sundanese}', "");
-Expect(0, 7039, '\p{ Sundanese}', "");
-Expect(1, 7039, '\p{^ Sundanese}', "");
-Expect(1, 7039, '\P{ Sundanese}', "");
-Expect(0, 7039, '\P{^ Sundanese}', "");
-Error('\p{ Is_sundanese:=}');
-Error('\P{ Is_sundanese:=}');
-Expect(1, 7082, '\p{issundanese}', "");
-Expect(0, 7082, '\p{^issundanese}', "");
-Expect(0, 7082, '\P{issundanese}', "");
-Expect(1, 7082, '\P{^issundanese}', "");
-Expect(0, 7039, '\p{issundanese}', "");
-Expect(1, 7039, '\p{^issundanese}', "");
-Expect(1, 7039, '\P{issundanese}', "");
-Expect(0, 7039, '\P{^issundanese}', "");
-Expect(1, 7082, '\p{--IsSUNDANESE}', "");
-Expect(0, 7082, '\p{^--IsSUNDANESE}', "");
-Expect(0, 7082, '\P{--IsSUNDANESE}', "");
-Expect(1, 7082, '\P{^--IsSUNDANESE}', "");
-Expect(0, 7039, '\p{--IsSUNDANESE}', "");
-Expect(1, 7039, '\p{^--IsSUNDANESE}', "");
-Expect(1, 7039, '\P{--IsSUNDANESE}', "");
-Expect(0, 7039, '\P{^--IsSUNDANESE}', "");
-Error('\p{ Sund/a/}');
-Error('\P{ Sund/a/}');
-Expect(1, 7082, '\p{sund}', "");
-Expect(0, 7082, '\p{^sund}', "");
-Expect(0, 7082, '\P{sund}', "");
-Expect(1, 7082, '\P{^sund}', "");
-Expect(0, 7039, '\p{sund}', "");
-Expect(1, 7039, '\p{^sund}', "");
-Expect(1, 7039, '\P{sund}', "");
-Expect(0, 7039, '\P{^sund}', "");
-Expect(1, 7082, '\p{- SUND}', "");
-Expect(0, 7082, '\p{^- SUND}', "");
-Expect(0, 7082, '\P{- SUND}', "");
-Expect(1, 7082, '\P{^- SUND}', "");
-Expect(0, 7039, '\p{- SUND}', "");
-Expect(1, 7039, '\p{^- SUND}', "");
-Expect(1, 7039, '\P{- SUND}', "");
-Expect(0, 7039, '\P{^- SUND}', "");
-Error('\p{_Is Sund/a/}');
-Error('\P{_Is Sund/a/}');
-Expect(1, 7082, '\p{issund}', "");
-Expect(0, 7082, '\p{^issund}', "");
-Expect(0, 7082, '\P{issund}', "");
-Expect(1, 7082, '\P{^issund}', "");
-Expect(0, 7039, '\p{issund}', "");
-Expect(1, 7039, '\p{^issund}', "");
-Expect(1, 7039, '\P{issund}', "");
-Expect(0, 7039, '\P{^issund}', "");
-Expect(1, 7082, '\p{- Is-SUND}', "");
-Expect(0, 7082, '\p{^- Is-SUND}', "");
-Expect(0, 7082, '\P{- Is-SUND}', "");
-Expect(1, 7082, '\P{^- Is-SUND}', "");
-Expect(0, 7039, '\p{- Is-SUND}', "");
-Expect(1, 7039, '\p{^- Is-SUND}', "");
-Expect(1, 7039, '\P{- Is-SUND}', "");
-Expect(0, 7039, '\P{^- Is-SUND}', "");
-Error('\p{--Carian:=}');
-Error('\P{--Carian:=}');
-Expect(1, 66256, '\p{carian}', "");
-Expect(0, 66256, '\p{^carian}', "");
-Expect(0, 66256, '\P{carian}', "");
-Expect(1, 66256, '\P{^carian}', "");
-Expect(0, 66207, '\p{carian}', "");
-Expect(1, 66207, '\p{^carian}', "");
-Expect(1, 66207, '\P{carian}', "");
-Expect(0, 66207, '\P{^carian}', "");
-Expect(1, 66256, '\p{_carian}', "");
-Expect(0, 66256, '\p{^_carian}', "");
-Expect(0, 66256, '\P{_carian}', "");
-Expect(1, 66256, '\P{^_carian}', "");
-Expect(0, 66207, '\p{_carian}', "");
-Expect(1, 66207, '\p{^_carian}', "");
-Expect(1, 66207, '\P{_carian}', "");
-Expect(0, 66207, '\P{^_carian}', "");
-Error('\p{:=-IS CARIAN}');
-Error('\P{:=-IS CARIAN}');
-Expect(1, 66256, '\p{iscarian}', "");
-Expect(0, 66256, '\p{^iscarian}', "");
-Expect(0, 66256, '\P{iscarian}', "");
-Expect(1, 66256, '\P{^iscarian}', "");
-Expect(0, 66207, '\p{iscarian}', "");
-Expect(1, 66207, '\p{^iscarian}', "");
-Expect(1, 66207, '\P{iscarian}', "");
-Expect(0, 66207, '\P{^iscarian}', "");
-Expect(1, 66256, '\p{_-IS-Carian}', "");
-Expect(0, 66256, '\p{^_-IS-Carian}', "");
-Expect(0, 66256, '\P{_-IS-Carian}', "");
-Expect(1, 66256, '\P{^_-IS-Carian}', "");
-Expect(0, 66207, '\p{_-IS-Carian}', "");
-Expect(1, 66207, '\p{^_-IS-Carian}', "");
-Expect(1, 66207, '\P{_-IS-Carian}', "");
-Expect(0, 66207, '\P{^_-IS-Carian}', "");
-Error('\p{/a/ cari}');
-Error('\P{/a/ cari}');
-Expect(1, 66256, '\p{cari}', "");
-Expect(0, 66256, '\p{^cari}', "");
-Expect(0, 66256, '\P{cari}', "");
-Expect(1, 66256, '\P{^cari}', "");
-Expect(0, 66207, '\p{cari}', "");
-Expect(1, 66207, '\p{^cari}', "");
-Expect(1, 66207, '\P{cari}', "");
-Expect(0, 66207, '\P{^cari}', "");
-Expect(1, 66256, '\p{-_Cari}', "");
-Expect(0, 66256, '\p{^-_Cari}', "");
-Expect(0, 66256, '\P{-_Cari}', "");
-Expect(1, 66256, '\P{^-_Cari}', "");
-Expect(0, 66207, '\p{-_Cari}', "");
-Expect(1, 66207, '\p{^-_Cari}', "");
-Expect(1, 66207, '\P{-_Cari}', "");
-Expect(0, 66207, '\P{^-_Cari}', "");
-Error('\p{_/a/is cari}');
-Error('\P{_/a/is cari}');
-Expect(1, 66256, '\p{iscari}', "");
-Expect(0, 66256, '\p{^iscari}', "");
-Expect(0, 66256, '\P{iscari}', "");
-Expect(1, 66256, '\P{^iscari}', "");
-Expect(0, 66207, '\p{iscari}', "");
-Expect(1, 66207, '\p{^iscari}', "");
-Expect(1, 66207, '\P{iscari}', "");
-Expect(0, 66207, '\P{^iscari}', "");
-Expect(1, 66256, '\p{ Is Cari}', "");
-Expect(0, 66256, '\p{^ Is Cari}', "");
-Expect(0, 66256, '\P{ Is Cari}', "");
-Expect(1, 66256, '\P{^ Is Cari}', "");
-Expect(0, 66207, '\p{ Is Cari}', "");
-Expect(1, 66207, '\p{^ Is Cari}', "");
-Expect(1, 66207, '\P{ Is Cari}', "");
-Expect(0, 66207, '\P{^ Is Cari}', "");
-Error('\p{ /a/olditalic}');
-Error('\P{ /a/olditalic}');
-Expect(1, 66334, '\p{olditalic}', "");
-Expect(0, 66334, '\p{^olditalic}', "");
-Expect(0, 66334, '\P{olditalic}', "");
-Expect(1, 66334, '\P{^olditalic}', "");
-Expect(0, 66303, '\p{olditalic}', "");
-Expect(1, 66303, '\p{^olditalic}', "");
-Expect(1, 66303, '\P{olditalic}', "");
-Expect(0, 66303, '\P{^olditalic}', "");
-Expect(1, 66334, '\p{ OldITALIC}', "");
-Expect(0, 66334, '\p{^ OldITALIC}', "");
-Expect(0, 66334, '\P{ OldITALIC}', "");
-Expect(1, 66334, '\P{^ OldITALIC}', "");
-Expect(0, 66303, '\p{ OldITALIC}', "");
-Expect(1, 66303, '\p{^ OldITALIC}', "");
-Expect(1, 66303, '\P{ OldITALIC}', "");
-Expect(0, 66303, '\P{^ OldITALIC}', "");
-Error('\p{- Is:=OldItalic}');
-Error('\P{- Is:=OldItalic}');
-Expect(1, 66334, '\p{isolditalic}', "");
-Expect(0, 66334, '\p{^isolditalic}', "");
-Expect(0, 66334, '\P{isolditalic}', "");
-Expect(1, 66334, '\P{^isolditalic}', "");
-Expect(0, 66303, '\p{isolditalic}', "");
-Expect(1, 66303, '\p{^isolditalic}', "");
-Expect(1, 66303, '\P{isolditalic}', "");
-Expect(0, 66303, '\P{^isolditalic}', "");
-Expect(1, 66334, '\p{__is-OldItalic}', "");
-Expect(0, 66334, '\p{^__is-OldItalic}', "");
-Expect(0, 66334, '\P{__is-OldItalic}', "");
-Expect(1, 66334, '\P{^__is-OldItalic}', "");
-Expect(0, 66303, '\p{__is-OldItalic}', "");
-Expect(1, 66303, '\p{^__is-OldItalic}', "");
-Expect(1, 66303, '\P{__is-OldItalic}', "");
-Expect(0, 66303, '\P{^__is-OldItalic}', "");
-Error('\p{-:=ital}');
-Error('\P{-:=ital}');
-Expect(1, 66334, '\p{ital}', "");
-Expect(0, 66334, '\p{^ital}', "");
-Expect(0, 66334, '\P{ital}', "");
-Expect(1, 66334, '\P{^ital}', "");
-Expect(0, 66303, '\p{ital}', "");
-Expect(1, 66303, '\p{^ital}', "");
-Expect(1, 66303, '\P{ital}', "");
-Expect(0, 66303, '\P{^ital}', "");
-Expect(1, 66334, '\p{ ital}', "");
-Expect(0, 66334, '\p{^ ital}', "");
-Expect(0, 66334, '\P{ ital}', "");
-Expect(1, 66334, '\P{^ ital}', "");
-Expect(0, 66303, '\p{ ital}', "");
-Expect(1, 66303, '\p{^ ital}', "");
-Expect(1, 66303, '\P{ ital}', "");
-Expect(0, 66303, '\P{^ ital}', "");
-Error('\p{ is:=ital}');
-Error('\P{ is:=ital}');
-Expect(1, 66334, '\p{isital}', "");
-Expect(0, 66334, '\p{^isital}', "");
-Expect(0, 66334, '\P{isital}', "");
-Expect(1, 66334, '\P{^isital}', "");
-Expect(0, 66303, '\p{isital}', "");
-Expect(1, 66303, '\p{^isital}', "");
-Expect(1, 66303, '\P{isital}', "");
-Expect(0, 66303, '\P{^isital}', "");
-Expect(1, 66334, '\p{-_IS Ital}', "");
-Expect(0, 66334, '\p{^-_IS Ital}', "");
-Expect(0, 66334, '\P{-_IS Ital}', "");
-Expect(1, 66334, '\P{^-_IS Ital}', "");
-Expect(0, 66303, '\p{-_IS Ital}', "");
-Expect(1, 66303, '\p{^-_IS Ital}', "");
-Expect(1, 66303, '\P{-_IS Ital}', "");
-Expect(0, 66303, '\P{^-_IS Ital}', "");
-Error('\p{ XDIGIT:=}');
-Error('\P{ XDIGIT:=}');
-Expect(1, 57, '\p{xdigit}', "");
-Expect(0, 57, '\p{^xdigit}', "");
-Expect(0, 57, '\P{xdigit}', "");
-Expect(1, 57, '\P{^xdigit}', "");
-Expect(0, 47, '\p{xdigit}', "");
-Expect(1, 47, '\p{^xdigit}', "");
-Expect(1, 47, '\P{xdigit}', "");
-Expect(0, 47, '\P{^xdigit}', "");
-Expect(1, 57, '\p{ xdigit}', "");
-Expect(0, 57, '\p{^ xdigit}', "");
-Expect(0, 57, '\P{ xdigit}', "");
-Expect(1, 57, '\P{^ xdigit}', "");
-Expect(0, 47, '\p{ xdigit}', "");
-Expect(1, 47, '\p{^ xdigit}', "");
-Expect(1, 47, '\P{ xdigit}', "");
-Expect(0, 47, '\P{^ xdigit}', "");
-Error('\p{/a/__ISXDigit}');
-Error('\P{/a/__ISXDigit}');
-Expect(1, 57, '\p{isxdigit}', "");
-Expect(0, 57, '\p{^isxdigit}', "");
-Expect(0, 57, '\P{isxdigit}', "");
-Expect(1, 57, '\P{^isxdigit}', "");
-Expect(0, 47, '\p{isxdigit}', "");
-Expect(1, 47, '\p{^isxdigit}', "");
-Expect(1, 47, '\P{isxdigit}', "");
-Expect(0, 47, '\P{^isxdigit}', "");
-Expect(1, 57, '\p{ isXDIGIT}', "");
-Expect(0, 57, '\p{^ isXDIGIT}', "");
-Expect(0, 57, '\P{ isXDIGIT}', "");
-Expect(1, 57, '\P{^ isXDIGIT}', "");
-Expect(0, 47, '\p{ isXDIGIT}', "");
-Expect(1, 47, '\p{^ isXDIGIT}', "");
-Expect(1, 47, '\P{ isXDIGIT}', "");
-Expect(0, 47, '\P{^ isXDIGIT}', "");
-Error('\p{ HexDigit/a/}');
-Error('\P{ HexDigit/a/}');
-Expect(1, 57, '\p{hexdigit}', "");
-Expect(0, 57, '\p{^hexdigit}', "");
-Expect(0, 57, '\P{hexdigit}', "");
-Expect(1, 57, '\P{^hexdigit}', "");
-Expect(0, 47, '\p{hexdigit}', "");
-Expect(1, 47, '\p{^hexdigit}', "");
-Expect(1, 47, '\P{hexdigit}', "");
-Expect(0, 47, '\P{^hexdigit}', "");
-Expect(1, 57, '\p{ _Hexdigit}', "");
-Expect(0, 57, '\p{^ _Hexdigit}', "");
-Expect(0, 57, '\P{ _Hexdigit}', "");
-Expect(1, 57, '\P{^ _Hexdigit}', "");
-Expect(0, 47, '\p{ _Hexdigit}', "");
-Expect(1, 47, '\p{^ _Hexdigit}', "");
-Expect(1, 47, '\P{ _Hexdigit}', "");
-Expect(0, 47, '\P{^ _Hexdigit}', "");
-Error('\p{-/a/Is-HEX_Digit}');
-Error('\P{-/a/Is-HEX_Digit}');
-Expect(1, 57, '\p{ishexdigit}', "");
-Expect(0, 57, '\p{^ishexdigit}', "");
-Expect(0, 57, '\P{ishexdigit}', "");
-Expect(1, 57, '\P{^ishexdigit}', "");
-Expect(0, 47, '\p{ishexdigit}', "");
-Expect(1, 47, '\p{^ishexdigit}', "");
-Expect(1, 47, '\P{ishexdigit}', "");
-Expect(0, 47, '\P{^ishexdigit}', "");
-Expect(1, 57, '\p{ IS Hexdigit}', "");
-Expect(0, 57, '\p{^ IS Hexdigit}', "");
-Expect(0, 57, '\P{ IS Hexdigit}', "");
-Expect(1, 57, '\P{^ IS Hexdigit}', "");
-Expect(0, 47, '\p{ IS Hexdigit}', "");
-Expect(1, 47, '\p{^ IS Hexdigit}', "");
-Expect(1, 47, '\P{ IS Hexdigit}', "");
-Expect(0, 47, '\P{^ IS Hexdigit}', "");
-Error('\p{/a/__hex}');
-Error('\P{/a/__hex}');
-Expect(1, 57, '\p{hex}', "");
-Expect(0, 57, '\p{^hex}', "");
-Expect(0, 57, '\P{hex}', "");
-Expect(1, 57, '\P{^hex}', "");
-Expect(0, 47, '\p{hex}', "");
-Expect(1, 47, '\p{^hex}', "");
-Expect(1, 47, '\P{hex}', "");
-Expect(0, 47, '\P{^hex}', "");
-Expect(1, 57, '\p{_-hex}', "");
-Expect(0, 57, '\p{^_-hex}', "");
-Expect(0, 57, '\P{_-hex}', "");
-Expect(1, 57, '\P{^_-hex}', "");
-Expect(0, 47, '\p{_-hex}', "");
-Expect(1, 47, '\p{^_-hex}', "");
-Expect(1, 47, '\P{_-hex}', "");
-Expect(0, 47, '\P{^_-hex}', "");
-Error('\p{ IS HEX:=}');
-Error('\P{ IS HEX:=}');
-Expect(1, 57, '\p{ishex}', "");
-Expect(0, 57, '\p{^ishex}', "");
-Expect(0, 57, '\P{ishex}', "");
-Expect(1, 57, '\P{^ishex}', "");
-Expect(0, 47, '\p{ishex}', "");
-Expect(1, 47, '\p{^ishex}', "");
-Expect(1, 47, '\P{ishex}', "");
-Expect(0, 47, '\P{^ishex}', "");
-Expect(1, 57, '\p{ Is-hex}', "");
-Expect(0, 57, '\p{^ Is-hex}', "");
-Expect(0, 57, '\P{ Is-hex}', "");
-Expect(1, 57, '\P{^ Is-hex}', "");
-Expect(0, 47, '\p{ Is-hex}', "");
-Expect(1, 47, '\p{^ Is-hex}', "");
-Expect(1, 47, '\P{ Is-hex}', "");
-Expect(0, 47, '\P{^ Is-hex}', "");
-Error('\p{/a/_-TITLE}');
-Error('\P{/a/_-TITLE}');
-Expect(1, 453, '\p{title}', "");
-Expect(0, 453, '\p{^title}', "");
-Expect(0, 453, '\P{title}', "");
-Expect(1, 453, '\P{^title}', "");
-Expect(0, 452, '\p{title}', "");
-Expect(1, 452, '\p{^title}', "");
-Expect(1, 452, '\P{title}', "");
-Expect(0, 452, '\P{^title}', "");
-Expect(1, 453, '\p{ Title}', "");
-Expect(0, 453, '\p{^ Title}', "");
-Expect(0, 453, '\P{ Title}', "");
-Expect(1, 453, '\P{^ Title}', "");
-Expect(0, 452, '\p{ Title}', "");
-Expect(1, 452, '\p{^ Title}', "");
-Expect(1, 452, '\P{ Title}', "");
-Expect(0, 452, '\P{^ Title}', "");
-Error('\p{/a/Is-Title}');
-Error('\P{/a/Is-Title}');
-Expect(1, 453, '\p{istitle}', "");
-Expect(0, 453, '\p{^istitle}', "");
-Expect(0, 453, '\P{istitle}', "");
-Expect(1, 453, '\P{^istitle}', "");
-Expect(0, 452, '\p{istitle}', "");
-Expect(1, 452, '\p{^istitle}', "");
-Expect(1, 452, '\P{istitle}', "");
-Expect(0, 452, '\P{^istitle}', "");
-Expect(1, 453, '\p{__Is Title}', "");
-Expect(0, 453, '\p{^__Is Title}', "");
-Expect(0, 453, '\P{__Is Title}', "");
-Expect(1, 453, '\P{^__Is Title}', "");
-Expect(0, 452, '\p{__Is Title}', "");
-Expect(1, 452, '\p{^__Is Title}', "");
-Expect(1, 452, '\P{__Is Title}', "");
-Expect(0, 452, '\P{^__Is Title}', "");
-Error('\p{/a/ Titlecase letter}');
-Error('\P{/a/ Titlecase letter}');
-Expect(1, 453, '\p{titlecaseletter}', "");
-Expect(0, 453, '\p{^titlecaseletter}', "");
-Expect(0, 453, '\P{titlecaseletter}', "");
-Expect(1, 453, '\P{^titlecaseletter}', "");
-Expect(0, 452, '\p{titlecaseletter}', "");
-Expect(1, 452, '\p{^titlecaseletter}', "");
-Expect(1, 452, '\P{titlecaseletter}', "");
-Expect(0, 452, '\P{^titlecaseletter}', "");
-Expect(1, 453, '\p{ Titlecase_Letter}', "");
-Expect(0, 453, '\p{^ Titlecase_Letter}', "");
-Expect(0, 453, '\P{ Titlecase_Letter}', "");
-Expect(1, 453, '\P{^ Titlecase_Letter}', "");
-Expect(0, 452, '\p{ Titlecase_Letter}', "");
-Expect(1, 452, '\p{^ Titlecase_Letter}', "");
-Expect(1, 452, '\P{ Titlecase_Letter}', "");
-Expect(0, 452, '\P{^ Titlecase_Letter}', "");
-Error('\p{__Is/a/Titlecase Letter}');
-Error('\P{__Is/a/Titlecase Letter}');
-Expect(1, 453, '\p{istitlecaseletter}', "");
-Expect(0, 453, '\p{^istitlecaseletter}', "");
-Expect(0, 453, '\P{istitlecaseletter}', "");
-Expect(1, 453, '\P{^istitlecaseletter}', "");
-Expect(0, 452, '\p{istitlecaseletter}', "");
-Expect(1, 452, '\p{^istitlecaseletter}', "");
-Expect(1, 452, '\P{istitlecaseletter}', "");
-Expect(0, 452, '\P{^istitlecaseletter}', "");
-Expect(1, 453, '\p{_ Is Titlecase letter}', "");
-Expect(0, 453, '\p{^_ Is Titlecase letter}', "");
-Expect(0, 453, '\P{_ Is Titlecase letter}', "");
-Expect(1, 453, '\P{^_ Is Titlecase letter}', "");
-Expect(0, 452, '\p{_ Is Titlecase letter}', "");
-Expect(1, 452, '\p{^_ Is Titlecase letter}', "");
-Expect(1, 452, '\P{_ Is Titlecase letter}', "");
-Expect(0, 452, '\P{^_ Is Titlecase letter}', "");
-Error('\p{_:=Lt}');
-Error('\P{_:=Lt}');
-Expect(1, 453, '\p{lt}', "");
-Expect(0, 453, '\p{^lt}', "");
-Expect(0, 453, '\P{lt}', "");
-Expect(1, 453, '\P{^lt}', "");
-Expect(0, 452, '\p{lt}', "");
-Expect(1, 452, '\p{^lt}', "");
-Expect(1, 452, '\P{lt}', "");
-Expect(0, 452, '\P{^lt}', "");
-Expect(1, 453, '\p{- lt}', "");
-Expect(0, 453, '\p{^- lt}', "");
-Expect(0, 453, '\P{- lt}', "");
-Expect(1, 453, '\P{^- lt}', "");
-Expect(0, 452, '\p{- lt}', "");
-Expect(1, 452, '\p{^- lt}', "");
-Expect(1, 452, '\P{- lt}', "");
-Expect(0, 452, '\P{^- lt}', "");
-Error('\p{ IS:=lt}');
-Error('\P{ IS:=lt}');
-Expect(1, 453, '\p{islt}', "");
-Expect(0, 453, '\p{^islt}', "");
-Expect(0, 453, '\P{islt}', "");
-Expect(1, 453, '\P{^islt}', "");
-Expect(0, 452, '\p{islt}', "");
-Expect(1, 452, '\p{^islt}', "");
-Expect(1, 452, '\P{islt}', "");
-Expect(0, 452, '\P{^islt}', "");
-Expect(1, 453, '\p{_ IsLt}', "");
-Expect(0, 453, '\p{^_ IsLt}', "");
-Expect(0, 453, '\P{_ IsLt}', "");
-Expect(1, 453, '\P{^_ IsLt}', "");
-Expect(0, 452, '\p{_ IsLt}', "");
-Expect(1, 452, '\p{^_ IsLt}', "");
-Expect(1, 452, '\P{_ IsLt}', "");
-Expect(0, 452, '\P{^_ IsLt}', "");
-Error('\p{-_SPACING/a/Modifier-LETTERS}');
-Error('\P{-_SPACING/a/Modifier-LETTERS}');
-Expect(1, 767, '\p{spacingmodifierletters}', "");
-Expect(0, 767, '\p{^spacingmodifierletters}', "");
-Expect(0, 767, '\P{spacingmodifierletters}', "");
-Expect(1, 767, '\P{^spacingmodifierletters}', "");
-Expect(0, 687, '\p{spacingmodifierletters}', "");
-Expect(1, 687, '\p{^spacingmodifierletters}', "");
-Expect(1, 687, '\P{spacingmodifierletters}', "");
-Expect(0, 687, '\P{^spacingmodifierletters}', "");
-Expect(1, 767, '\p{ spacingModifier Letters}', "");
-Expect(0, 767, '\p{^ spacingModifier Letters}', "");
-Expect(0, 767, '\P{ spacingModifier Letters}', "");
-Expect(1, 767, '\P{^ spacingModifier Letters}', "");
-Expect(0, 687, '\p{ spacingModifier Letters}', "");
-Expect(1, 687, '\p{^ spacingModifier Letters}', "");
-Expect(1, 687, '\P{ spacingModifier Letters}', "");
-Expect(0, 687, '\P{^ spacingModifier Letters}', "");
-Error('\p{- Is/a/SPACING-Modifier-LETTERS}');
-Error('\P{- Is/a/SPACING-Modifier-LETTERS}');
-Expect(1, 767, '\p{isspacingmodifierletters}', "");
-Expect(0, 767, '\p{^isspacingmodifierletters}', "");
-Expect(0, 767, '\P{isspacingmodifierletters}', "");
-Expect(1, 767, '\P{^isspacingmodifierletters}', "");
-Expect(0, 687, '\p{isspacingmodifierletters}', "");
-Expect(1, 687, '\p{^isspacingmodifierletters}', "");
-Expect(1, 687, '\P{isspacingmodifierletters}', "");
-Expect(0, 687, '\P{^isspacingmodifierletters}', "");
-Expect(1, 767, '\p{ _IS Spacing_modifier_Letters}', "");
-Expect(0, 767, '\p{^ _IS Spacing_modifier_Letters}', "");
-Expect(0, 767, '\P{ _IS Spacing_modifier_Letters}', "");
-Expect(1, 767, '\P{^ _IS Spacing_modifier_Letters}', "");
-Expect(0, 687, '\p{ _IS Spacing_modifier_Letters}', "");
-Expect(1, 687, '\p{^ _IS Spacing_modifier_Letters}', "");
-Expect(1, 687, '\P{ _IS Spacing_modifier_Letters}', "");
-Expect(0, 687, '\P{^ _IS Spacing_modifier_Letters}', "");
-Error('\p{--IN_spacing Modifier:=letters}');
-Error('\P{--IN_spacing Modifier:=letters}');
-Expect(1, 767, '\p{inspacingmodifierletters}', "");
-Expect(0, 767, '\p{^inspacingmodifierletters}', "");
-Expect(0, 767, '\P{inspacingmodifierletters}', "");
-Expect(1, 767, '\P{^inspacingmodifierletters}', "");
-Expect(0, 687, '\p{inspacingmodifierletters}', "");
-Expect(1, 687, '\p{^inspacingmodifierletters}', "");
-Expect(1, 687, '\P{inspacingmodifierletters}', "");
-Expect(0, 687, '\P{^inspacingmodifierletters}', "");
-Expect(1, 767, '\p{ IN SPACING_Modifier Letters}', "");
-Expect(0, 767, '\p{^ IN SPACING_Modifier Letters}', "");
-Expect(0, 767, '\P{ IN SPACING_Modifier Letters}', "");
-Expect(1, 767, '\P{^ IN SPACING_Modifier Letters}', "");
-Expect(0, 687, '\p{ IN SPACING_Modifier Letters}', "");
-Expect(1, 687, '\p{^ IN SPACING_Modifier Letters}', "");
-Expect(1, 687, '\P{ IN SPACING_Modifier Letters}', "");
-Expect(0, 687, '\P{^ IN SPACING_Modifier Letters}', "");
-Error('\p{Grapheme_Link}');
-Error('\P{Grapheme_Link}');
-Error('\p{Is_Grapheme_Link}');
-Error('\P{Is_Grapheme_Link}');
-Error('\p{Gr_Link}');
-Error('\P{Gr_Link}');
-Error('\p{Is_Gr_Link}');
-Error('\P{Is_Gr_Link}');
-Error('\p{-:=Other-lowercase}');
-Error('\P{-:=Other-lowercase}');
-Expect(1, 696, '\p{otherlowercase}', 'deprecated');
-Expect(0, 696, '\p{^otherlowercase}', 'deprecated');
-Expect(0, 696, '\P{otherlowercase}', 'deprecated');
-Expect(1, 696, '\P{^otherlowercase}', 'deprecated');
-Expect(0, 687, '\p{otherlowercase}', 'deprecated');
-Expect(1, 687, '\p{^otherlowercase}', 'deprecated');
-Expect(1, 687, '\P{otherlowercase}', 'deprecated');
-Expect(0, 687, '\P{^otherlowercase}', 'deprecated');
-Expect(1, 696, '\p{ Other_Lowercase}', 'deprecated');
-Expect(0, 696, '\p{^ Other_Lowercase}', 'deprecated');
-Expect(0, 696, '\P{ Other_Lowercase}', 'deprecated');
-Expect(1, 696, '\P{^ Other_Lowercase}', 'deprecated');
-Expect(0, 687, '\p{ Other_Lowercase}', 'deprecated');
-Expect(1, 687, '\p{^ Other_Lowercase}', 'deprecated');
-Expect(1, 687, '\P{ Other_Lowercase}', 'deprecated');
-Expect(0, 687, '\P{^ Other_Lowercase}', 'deprecated');
-Error('\p{ _is-OTHER-lowercase/a/}');
-Error('\P{ _is-OTHER-lowercase/a/}');
-Expect(1, 696, '\p{isotherlowercase}', 'deprecated');
-Expect(0, 696, '\p{^isotherlowercase}', 'deprecated');
-Expect(0, 696, '\P{isotherlowercase}', 'deprecated');
-Expect(1, 696, '\P{^isotherlowercase}', 'deprecated');
-Expect(0, 687, '\p{isotherlowercase}', 'deprecated');
-Expect(1, 687, '\p{^isotherlowercase}', 'deprecated');
-Expect(1, 687, '\P{isotherlowercase}', 'deprecated');
-Expect(0, 687, '\P{^isotherlowercase}', 'deprecated');
-Expect(1, 696, '\p{ Is Other-LOWERCASE}', 'deprecated');
-Expect(0, 696, '\p{^ Is Other-LOWERCASE}', 'deprecated');
-Expect(0, 696, '\P{ Is Other-LOWERCASE}', 'deprecated');
-Expect(1, 696, '\P{^ Is Other-LOWERCASE}', 'deprecated');
-Expect(0, 687, '\p{ Is Other-LOWERCASE}', 'deprecated');
-Expect(1, 687, '\p{^ Is Other-LOWERCASE}', 'deprecated');
-Expect(1, 687, '\P{ Is Other-LOWERCASE}', 'deprecated');
-Expect(0, 687, '\P{^ Is Other-LOWERCASE}', 'deprecated');
-Error('\p{ /a/olower}');
-Error('\P{ /a/olower}');
-Expect(1, 696, '\p{olower}', 'deprecated');
-Expect(0, 696, '\p{^olower}', 'deprecated');
-Expect(0, 696, '\P{olower}', 'deprecated');
-Expect(1, 696, '\P{^olower}', 'deprecated');
-Expect(0, 687, '\p{olower}', 'deprecated');
-Expect(1, 687, '\p{^olower}', 'deprecated');
-Expect(1, 687, '\P{olower}', 'deprecated');
-Expect(0, 687, '\P{^olower}', 'deprecated');
-Expect(1, 696, '\p{--OLOWER}', 'deprecated');
-Expect(0, 696, '\p{^--OLOWER}', 'deprecated');
-Expect(0, 696, '\P{--OLOWER}', 'deprecated');
-Expect(1, 696, '\P{^--OLOWER}', 'deprecated');
-Expect(0, 687, '\p{--OLOWER}', 'deprecated');
-Expect(1, 687, '\p{^--OLOWER}', 'deprecated');
-Expect(1, 687, '\P{--OLOWER}', 'deprecated');
-Expect(0, 687, '\P{^--OLOWER}', 'deprecated');
-Error('\p{ /a/IsOLower}');
-Error('\P{ /a/IsOLower}');
-Expect(1, 696, '\p{isolower}', 'deprecated');
-Expect(0, 696, '\p{^isolower}', 'deprecated');
-Expect(0, 696, '\P{isolower}', 'deprecated');
-Expect(1, 696, '\P{^isolower}', 'deprecated');
-Expect(0, 687, '\p{isolower}', 'deprecated');
-Expect(1, 687, '\p{^isolower}', 'deprecated');
-Expect(1, 687, '\P{isolower}', 'deprecated');
-Expect(0, 687, '\P{^isolower}', 'deprecated');
-Expect(1, 696, '\p{_ is olower}', 'deprecated');
-Expect(0, 696, '\p{^_ is olower}', 'deprecated');
-Expect(0, 696, '\P{_ is olower}', 'deprecated');
-Expect(1, 696, '\P{^_ is olower}', 'deprecated');
-Expect(0, 687, '\p{_ is olower}', 'deprecated');
-Expect(1, 687, '\p{^_ is olower}', 'deprecated');
-Expect(1, 687, '\P{_ is olower}', 'deprecated');
-Expect(0, 687, '\P{^_ is olower}', 'deprecated');
-Error('\p{/a/ arabic}');
-Error('\P{/a/ arabic}');
-Expect(1, 1547, '\p{arabic}', "");
-Expect(0, 1547, '\p{^arabic}', "");
-Expect(0, 1547, '\P{arabic}', "");
-Expect(1, 1547, '\P{^arabic}', "");
-Expect(0, 1541, '\p{arabic}', "");
-Expect(1, 1541, '\p{^arabic}', "");
-Expect(1, 1541, '\P{arabic}', "");
-Expect(0, 1541, '\P{^arabic}', "");
-Expect(1, 1547, '\p{-Arabic}', "");
-Expect(0, 1547, '\p{^-Arabic}', "");
-Expect(0, 1547, '\P{-Arabic}', "");
-Expect(1, 1547, '\P{^-Arabic}', "");
-Expect(0, 1541, '\p{-Arabic}', "");
-Expect(1, 1541, '\p{^-Arabic}', "");
-Expect(1, 1541, '\P{-Arabic}', "");
-Expect(0, 1541, '\P{^-Arabic}', "");
-Error('\p{/a/ is_arabic}');
-Error('\P{/a/ is_arabic}');
-Expect(1, 1547, '\p{isarabic}', "");
-Expect(0, 1547, '\p{^isarabic}', "");
-Expect(0, 1547, '\P{isarabic}', "");
-Expect(1, 1547, '\P{^isarabic}', "");
-Expect(0, 1541, '\p{isarabic}', "");
-Expect(1, 1541, '\p{^isarabic}', "");
-Expect(1, 1541, '\P{isarabic}', "");
-Expect(0, 1541, '\P{^isarabic}', "");
-Expect(1, 1547, '\p{ -Is Arabic}', "");
-Expect(0, 1547, '\p{^ -Is Arabic}', "");
-Expect(0, 1547, '\P{ -Is Arabic}', "");
-Expect(1, 1547, '\P{^ -Is Arabic}', "");
-Expect(0, 1541, '\p{ -Is Arabic}', "");
-Expect(1, 1541, '\p{^ -Is Arabic}', "");
-Expect(1, 1541, '\P{ -Is Arabic}', "");
-Expect(0, 1541, '\P{^ -Is Arabic}', "");
-Error('\p{:=- arab}');
-Error('\P{:=- arab}');
-Expect(1, 1547, '\p{arab}', "");
-Expect(0, 1547, '\p{^arab}', "");
-Expect(0, 1547, '\P{arab}', "");
-Expect(1, 1547, '\P{^arab}', "");
-Expect(0, 1541, '\p{arab}', "");
-Expect(1, 1541, '\p{^arab}', "");
-Expect(1, 1541, '\P{arab}', "");
-Expect(0, 1541, '\P{^arab}', "");
-Expect(1, 1547, '\p{ arab}', "");
-Expect(0, 1547, '\p{^ arab}', "");
-Expect(0, 1547, '\P{ arab}', "");
-Expect(1, 1547, '\P{^ arab}', "");
-Expect(0, 1541, '\p{ arab}', "");
-Expect(1, 1541, '\p{^ arab}', "");
-Expect(1, 1541, '\P{ arab}', "");
-Expect(0, 1541, '\P{^ arab}', "");
-Error('\p{:= Is_arab}');
-Error('\P{:= Is_arab}');
-Expect(1, 1547, '\p{isarab}', "");
-Expect(0, 1547, '\p{^isarab}', "");
-Expect(0, 1547, '\P{isarab}', "");
-Expect(1, 1547, '\P{^isarab}', "");
-Expect(0, 1541, '\p{isarab}', "");
-Expect(1, 1541, '\p{^isarab}', "");
-Expect(1, 1541, '\P{isarab}', "");
-Expect(0, 1541, '\P{^isarab}', "");
-Expect(1, 1547, '\p{_Is Arab}', "");
-Expect(0, 1547, '\p{^_Is Arab}', "");
-Expect(0, 1547, '\P{_Is Arab}', "");
-Expect(1, 1547, '\P{^_Is Arab}', "");
-Expect(0, 1541, '\p{_Is Arab}', "");
-Expect(1, 1541, '\p{^_Is Arab}', "");
-Expect(1, 1541, '\P{_Is Arab}', "");
-Expect(0, 1541, '\P{^_Is Arab}', "");
-Error('\p{-:=Deseret}');
-Error('\P{-:=Deseret}');
-Expect(1, 66639, '\p{deseret}', "");
-Expect(0, 66639, '\p{^deseret}', "");
-Expect(0, 66639, '\P{deseret}', "");
-Expect(1, 66639, '\P{^deseret}', "");
-Expect(0, 66559, '\p{deseret}', "");
-Expect(1, 66559, '\p{^deseret}', "");
-Expect(1, 66559, '\P{deseret}', "");
-Expect(0, 66559, '\P{^deseret}', "");
-Expect(1, 66639, '\p{--Deseret}', "");
-Expect(0, 66639, '\p{^--Deseret}', "");
-Expect(0, 66639, '\P{--Deseret}', "");
-Expect(1, 66639, '\P{^--Deseret}', "");
-Expect(0, 66559, '\p{--Deseret}', "");
-Expect(1, 66559, '\p{^--Deseret}', "");
-Expect(1, 66559, '\P{--Deseret}', "");
-Expect(0, 66559, '\P{^--Deseret}', "");
-Error('\p{ Is/a/DESERET}');
-Error('\P{ Is/a/DESERET}');
-Expect(1, 66639, '\p{isdeseret}', "");
-Expect(0, 66639, '\p{^isdeseret}', "");
-Expect(0, 66639, '\P{isdeseret}', "");
-Expect(1, 66639, '\P{^isdeseret}', "");
-Expect(0, 66559, '\p{isdeseret}', "");
-Expect(1, 66559, '\p{^isdeseret}', "");
-Expect(1, 66559, '\P{isdeseret}', "");
-Expect(0, 66559, '\P{^isdeseret}', "");
-Expect(1, 66639, '\p{__is-Deseret}', "");
-Expect(0, 66639, '\p{^__is-Deseret}', "");
-Expect(0, 66639, '\P{__is-Deseret}', "");
-Expect(1, 66639, '\P{^__is-Deseret}', "");
-Expect(0, 66559, '\p{__is-Deseret}', "");
-Expect(1, 66559, '\p{^__is-Deseret}', "");
-Expect(1, 66559, '\P{__is-Deseret}', "");
-Expect(0, 66559, '\P{^__is-Deseret}', "");
-Error('\p{_:=Dsrt}');
-Error('\P{_:=Dsrt}');
-Expect(1, 66639, '\p{dsrt}', "");
-Expect(0, 66639, '\p{^dsrt}', "");
-Expect(0, 66639, '\P{dsrt}', "");
-Expect(1, 66639, '\P{^dsrt}', "");
-Expect(0, 66559, '\p{dsrt}', "");
-Expect(1, 66559, '\p{^dsrt}', "");
-Expect(1, 66559, '\P{dsrt}', "");
-Expect(0, 66559, '\P{^dsrt}', "");
-Expect(1, 66639, '\p{ DSRT}', "");
-Expect(0, 66639, '\p{^ DSRT}', "");
-Expect(0, 66639, '\P{ DSRT}', "");
-Expect(1, 66639, '\P{^ DSRT}', "");
-Expect(0, 66559, '\p{ DSRT}', "");
-Expect(1, 66559, '\p{^ DSRT}', "");
-Expect(1, 66559, '\P{ DSRT}', "");
-Expect(0, 66559, '\P{^ DSRT}', "");
-Error('\p{Isdsrt/a/}');
-Error('\P{Isdsrt/a/}');
-Expect(1, 66639, '\p{isdsrt}', "");
-Expect(0, 66639, '\p{^isdsrt}', "");
-Expect(0, 66639, '\P{isdsrt}', "");
-Expect(1, 66639, '\P{^isdsrt}', "");
-Expect(0, 66559, '\p{isdsrt}', "");
-Expect(1, 66559, '\p{^isdsrt}', "");
-Expect(1, 66559, '\P{isdsrt}', "");
-Expect(0, 66559, '\P{^isdsrt}', "");
-Expect(1, 66639, '\p{ -ISDsrt}', "");
-Expect(0, 66639, '\p{^ -ISDsrt}', "");
-Expect(0, 66639, '\P{ -ISDsrt}', "");
-Expect(1, 66639, '\P{^ -ISDsrt}', "");
-Expect(0, 66559, '\p{ -ISDsrt}', "");
-Expect(1, 66559, '\p{^ -ISDsrt}', "");
-Expect(1, 66559, '\P{ -ISDsrt}', "");
-Expect(0, 66559, '\P{^ -ISDsrt}', "");
-Error('\p{ Cased_letter:=}');
-Error('\P{ Cased_letter:=}');
-Expect(1, 90, '\p{casedletter}', "");
-Expect(0, 90, '\p{^casedletter}', "");
-Expect(0, 90, '\P{casedletter}', "");
-Expect(1, 90, '\P{^casedletter}', "");
-Expect(0, 64, '\p{casedletter}', "");
-Expect(1, 64, '\p{^casedletter}', "");
-Expect(1, 64, '\P{casedletter}', "");
-Expect(0, 64, '\P{^casedletter}', "");
-Expect(1, 90, '\p{-Cased LETTER}', "");
-Expect(0, 90, '\p{^-Cased LETTER}', "");
-Expect(0, 90, '\P{-Cased LETTER}', "");
-Expect(1, 90, '\P{^-Cased LETTER}', "");
-Expect(0, 64, '\p{-Cased LETTER}', "");
-Expect(1, 64, '\p{^-Cased LETTER}', "");
-Expect(1, 64, '\P{-Cased LETTER}', "");
-Expect(0, 64, '\P{^-Cased LETTER}', "");
-Error('\p{--Is CASED/a/letter}');
-Error('\P{--Is CASED/a/letter}');
-Expect(1, 90, '\p{iscasedletter}', "");
-Expect(0, 90, '\p{^iscasedletter}', "");
-Expect(0, 90, '\P{iscasedletter}', "");
-Expect(1, 90, '\P{^iscasedletter}', "");
-Expect(0, 64, '\p{iscasedletter}', "");
-Expect(1, 64, '\p{^iscasedletter}', "");
-Expect(1, 64, '\P{iscasedletter}', "");
-Expect(0, 64, '\P{^iscasedletter}', "");
-Expect(1, 90, '\p{_ Is casedletter}', "");
-Expect(0, 90, '\p{^_ Is casedletter}', "");
-Expect(0, 90, '\P{_ Is casedletter}', "");
-Expect(1, 90, '\P{^_ Is casedletter}', "");
-Expect(0, 64, '\p{_ Is casedletter}', "");
-Expect(1, 64, '\p{^_ Is casedletter}', "");
-Expect(1, 64, '\P{_ Is casedletter}', "");
-Expect(0, 64, '\P{^_ Is casedletter}', "");
-Error('\p{:= LC}');
-Error('\P{:= LC}');
-Expect(1, 90, '\p{lc}', "");
-Expect(0, 90, '\p{^lc}', "");
-Expect(0, 90, '\P{lc}', "");
-Expect(1, 90, '\P{^lc}', "");
-Expect(0, 64, '\p{lc}', "");
-Expect(1, 64, '\p{^lc}', "");
-Expect(1, 64, '\P{lc}', "");
-Expect(0, 64, '\P{^lc}', "");
-Expect(1, 90, '\p{-_LC}', "");
-Expect(0, 90, '\p{^-_LC}', "");
-Expect(0, 90, '\P{-_LC}', "");
-Expect(1, 90, '\P{^-_LC}', "");
-Expect(0, 64, '\p{-_LC}', "");
-Expect(1, 64, '\p{^-_LC}', "");
-Expect(1, 64, '\P{-_LC}', "");
-Expect(0, 64, '\P{^-_LC}', "");
-Error('\p{/a/ Is lc}');
-Error('\P{/a/ Is lc}');
-Expect(1, 90, '\p{islc}', "");
-Expect(0, 90, '\p{^islc}', "");
-Expect(0, 90, '\P{islc}', "");
-Expect(1, 90, '\P{^islc}', "");
-Expect(0, 64, '\p{islc}', "");
-Expect(1, 64, '\p{^islc}', "");
-Expect(1, 64, '\P{islc}', "");
-Expect(0, 64, '\P{^islc}', "");
-Expect(1, 90, '\p{ islc}', "");
-Expect(0, 90, '\p{^ islc}', "");
-Expect(0, 90, '\P{ islc}', "");
-Expect(1, 90, '\P{^ islc}', "");
-Expect(0, 64, '\p{ islc}', "");
-Expect(1, 64, '\p{^ islc}', "");
-Expect(1, 64, '\P{ islc}', "");
-Expect(0, 64, '\P{^ islc}', "");
-Error('\p{/a/ L}');
-Error('\P{/a/ L}');
-Expect(1, 90, '\p{l_}', "");
-Expect(0, 90, '\p{^l_}', "");
-Expect(0, 90, '\P{l_}', "");
-Expect(1, 90, '\P{^l_}', "");
-Expect(0, 64, '\p{l_}', "");
-Expect(1, 64, '\p{^l_}', "");
-Expect(1, 64, '\P{l_}', "");
-Expect(0, 64, '\P{^l_}', "");
-Expect(1, 90, '\p{ l}', "");
-Expect(0, 90, '\p{^ l}', "");
-Expect(0, 90, '\P{ l}', "");
-Expect(1, 90, '\P{^ l}', "");
-Expect(0, 64, '\p{ l}', "");
-Expect(1, 64, '\p{^ l}', "");
-Expect(1, 64, '\P{ l}', "");
-Expect(0, 64, '\P{^ l}', "");
-Error('\p{-IS:=L}');
-Error('\P{-IS:=L}');
-Expect(1, 90, '\p{isl_}', "");
-Expect(0, 90, '\p{^isl_}', "");
-Expect(0, 90, '\P{isl_}', "");
-Expect(1, 90, '\P{^isl_}', "");
-Expect(0, 64, '\p{isl_}', "");
-Expect(1, 64, '\p{^isl_}', "");
-Expect(1, 64, '\P{isl_}', "");
-Expect(0, 64, '\P{^isl_}', "");
-Expect(1, 90, '\p{-is_L}', "");
-Expect(0, 90, '\p{^-is_L}', "");
-Expect(0, 90, '\P{-is_L}', "");
-Expect(1, 90, '\P{^-is_L}', "");
-Expect(0, 64, '\p{-is_L}', "");
-Expect(1, 64, '\p{^-is_L}', "");
-Expect(1, 64, '\P{-is_L}', "");
-Expect(0, 64, '\P{^-is_L}', "");
-Error('\p{ :=l&}');
-Error('\P{ :=l&}');
-Expect(1, 90, '\p{l&}', "");
-Expect(0, 90, '\p{^l&}', "");
-Expect(0, 90, '\P{l&}', "");
-Expect(1, 90, '\P{^l&}', "");
-Expect(0, 64, '\p{l&}', "");
-Expect(1, 64, '\p{^l&}', "");
-Expect(1, 64, '\P{l&}', "");
-Expect(0, 64, '\P{^l&}', "");
-Expect(1, 90, '\p{ -L&}', "");
-Expect(0, 90, '\p{^ -L&}', "");
-Expect(0, 90, '\P{ -L&}', "");
-Expect(1, 90, '\P{^ -L&}', "");
-Expect(0, 64, '\p{ -L&}', "");
-Expect(1, 64, '\p{^ -L&}', "");
-Expect(1, 64, '\P{ -L&}', "");
-Expect(0, 64, '\P{^ -L&}', "");
-Error('\p{/a/Is l&}');
-Error('\P{/a/Is l&}');
-Expect(1, 90, '\p{isl&}', "");
-Expect(0, 90, '\p{^isl&}', "");
-Expect(0, 90, '\P{isl&}', "");
-Expect(1, 90, '\P{^isl&}', "");
-Expect(0, 64, '\p{isl&}', "");
-Expect(1, 64, '\p{^isl&}', "");
-Expect(1, 64, '\P{isl&}', "");
-Expect(0, 64, '\P{^isl&}', "");
-Expect(1, 90, '\p{--Is L&}', "");
-Expect(0, 90, '\p{^--Is L&}', "");
-Expect(0, 90, '\P{--Is L&}', "");
-Expect(1, 90, '\P{^--Is L&}', "");
-Expect(0, 64, '\p{--Is L&}', "");
-Expect(1, 64, '\p{^--Is L&}', "");
-Expect(1, 64, '\P{--Is L&}', "");
-Expect(0, 64, '\P{^--Is L&}', "");
-Error('\p{ Symbol/a/}');
-Error('\P{ Symbol/a/}');
-Expect(1, 36, '\p{symbol}', "");
-Expect(0, 36, '\p{^symbol}', "");
-Expect(0, 36, '\P{symbol}', "");
-Expect(1, 36, '\P{^symbol}', "");
-Expect(0, 35, '\p{symbol}', "");
-Expect(1, 35, '\p{^symbol}', "");
-Expect(1, 35, '\P{symbol}', "");
-Expect(0, 35, '\P{^symbol}', "");
-Expect(1, 36, '\p{ SYMBOL}', "");
-Expect(0, 36, '\p{^ SYMBOL}', "");
-Expect(0, 36, '\P{ SYMBOL}', "");
-Expect(1, 36, '\P{^ SYMBOL}', "");
-Expect(0, 35, '\p{ SYMBOL}', "");
-Expect(1, 35, '\p{^ SYMBOL}', "");
-Expect(1, 35, '\P{ SYMBOL}', "");
-Expect(0, 35, '\P{^ SYMBOL}', "");
-Error('\p{ :=IsSYMBOL}');
-Error('\P{ :=IsSYMBOL}');
-Expect(1, 36, '\p{issymbol}', "");
-Expect(0, 36, '\p{^issymbol}', "");
-Expect(0, 36, '\P{issymbol}', "");
-Expect(1, 36, '\P{^issymbol}', "");
-Expect(0, 35, '\p{issymbol}', "");
-Expect(1, 35, '\p{^issymbol}', "");
-Expect(1, 35, '\P{issymbol}', "");
-Expect(0, 35, '\P{^issymbol}', "");
-Expect(1, 36, '\p{ is symbol}', "");
-Expect(0, 36, '\p{^ is symbol}', "");
-Expect(0, 36, '\P{ is symbol}', "");
-Expect(1, 36, '\P{^ is symbol}', "");
-Expect(0, 35, '\p{ is symbol}', "");
-Expect(1, 35, '\p{^ is symbol}', "");
-Expect(1, 35, '\P{ is symbol}', "");
-Expect(0, 35, '\P{^ is symbol}', "");
-Error('\p{/a/ _S}');
-Error('\P{/a/ _S}');
-Expect(1, 36, '\p{s}', "");
-Expect(0, 36, '\p{^s}', "");
-Expect(0, 36, '\P{s}', "");
-Expect(1, 36, '\P{^s}', "");
-Expect(0, 35, '\p{s}', "");
-Expect(1, 35, '\p{^s}', "");
-Expect(1, 35, '\P{s}', "");
-Expect(0, 35, '\P{^s}', "");
-Expect(1, 36, '\p{__S}', "");
-Expect(0, 36, '\p{^__S}', "");
-Expect(0, 36, '\P{__S}', "");
-Expect(1, 36, '\P{^__S}', "");
-Expect(0, 35, '\p{__S}', "");
-Expect(1, 35, '\p{^__S}', "");
-Expect(1, 35, '\P{__S}', "");
-Expect(0, 35, '\P{^__S}', "");
-Error('\p{-:=Is_s}');
-Error('\P{-:=Is_s}');
-Expect(1, 36, '\p{iss}', "");
-Expect(0, 36, '\p{^iss}', "");
-Expect(0, 36, '\P{iss}', "");
-Expect(1, 36, '\P{^iss}', "");
-Expect(0, 35, '\p{iss}', "");
-Expect(1, 35, '\p{^iss}', "");
-Expect(1, 35, '\P{iss}', "");
-Expect(0, 35, '\P{^iss}', "");
-Expect(1, 36, '\p{- Is S}', "");
-Expect(0, 36, '\p{^- Is S}', "");
-Expect(0, 36, '\P{- Is S}', "");
-Expect(1, 36, '\P{^- Is S}', "");
-Expect(0, 35, '\p{- Is S}', "");
-Expect(1, 35, '\p{^- Is S}', "");
-Expect(1, 35, '\P{- Is S}', "");
-Expect(0, 35, '\P{^- Is S}', "");
-Error('\p{_:=Yijing_HEXAGRAM-Symbols}');
-Error('\P{_:=Yijing_HEXAGRAM-Symbols}');
-Expect(1, 19967, '\p{yijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^yijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{yijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^yijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{yijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^yijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{yijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^yijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{ -Yijing hexagram Symbols}', "");
-Expect(0, 19967, '\p{^ -Yijing hexagram Symbols}', "");
-Expect(0, 19967, '\P{ -Yijing hexagram Symbols}', "");
-Expect(1, 19967, '\P{^ -Yijing hexagram Symbols}', "");
-Expect(0, 19903, '\p{ -Yijing hexagram Symbols}', "");
-Expect(1, 19903, '\p{^ -Yijing hexagram Symbols}', "");
-Expect(1, 19903, '\P{ -Yijing hexagram Symbols}', "");
-Expect(0, 19903, '\P{^ -Yijing hexagram Symbols}', "");
-Error('\p{ is YIJING/a/Hexagram Symbols}');
-Error('\P{ is YIJING/a/Hexagram Symbols}');
-Expect(1, 19967, '\p{isyijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^isyijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{isyijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^isyijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{isyijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^isyijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{isyijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^isyijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{ IS YijingHEXAGRAM symbols}', "");
-Expect(0, 19967, '\p{^ IS YijingHEXAGRAM symbols}', "");
-Expect(0, 19967, '\P{ IS YijingHEXAGRAM symbols}', "");
-Expect(1, 19967, '\P{^ IS YijingHEXAGRAM symbols}', "");
-Expect(0, 19903, '\p{ IS YijingHEXAGRAM symbols}', "");
-Expect(1, 19903, '\p{^ IS YijingHEXAGRAM symbols}', "");
-Expect(1, 19903, '\P{ IS YijingHEXAGRAM symbols}', "");
-Expect(0, 19903, '\P{^ IS YijingHEXAGRAM symbols}', "");
-Error('\p{/a/in-Yijing-HEXAGRAMSymbols}');
-Error('\P{/a/in-Yijing-HEXAGRAMSymbols}');
-Expect(1, 19967, '\p{inyijinghexagramsymbols}', "");
-Expect(0, 19967, '\p{^inyijinghexagramsymbols}', "");
-Expect(0, 19967, '\P{inyijinghexagramsymbols}', "");
-Expect(1, 19967, '\P{^inyijinghexagramsymbols}', "");
-Expect(0, 19903, '\p{inyijinghexagramsymbols}', "");
-Expect(1, 19903, '\p{^inyijinghexagramsymbols}', "");
-Expect(1, 19903, '\P{inyijinghexagramsymbols}', "");
-Expect(0, 19903, '\P{^inyijinghexagramsymbols}', "");
-Expect(1, 19967, '\p{ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(0, 19967, '\p{^ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(0, 19967, '\P{ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(1, 19967, '\P{^ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(0, 19903, '\p{ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(1, 19903, '\p{^ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(1, 19903, '\P{ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Expect(0, 19903, '\P{^ -IN yijingHEXAGRAM_SYMBOLS}', "");
-Error('\p{:= POSIXSPACE}');
-Error('\P{:= POSIXSPACE}');
-Expect(1, 13, '\p{posixspace}', "");
-Expect(0, 13, '\p{^posixspace}', "");
-Expect(0, 13, '\P{posixspace}', "");
-Expect(1, 13, '\P{^posixspace}', "");
-Expect(0, 8, '\p{posixspace}', "");
-Expect(1, 8, '\p{^posixspace}', "");
-Expect(1, 8, '\P{posixspace}', "");
-Expect(0, 8, '\P{^posixspace}', "");
-Expect(1, 13, '\p{-PosixSpace}', "");
-Expect(0, 13, '\p{^-PosixSpace}', "");
-Expect(0, 13, '\P{-PosixSpace}', "");
-Expect(1, 13, '\P{^-PosixSpace}', "");
-Expect(0, 8, '\p{-PosixSpace}', "");
-Expect(1, 8, '\p{^-PosixSpace}', "");
-Expect(1, 8, '\P{-PosixSpace}', "");
-Expect(0, 8, '\P{^-PosixSpace}', "");
-Error('\p{- Is/a/posixspace}');
-Error('\P{- Is/a/posixspace}');
-Expect(1, 13, '\p{isposixspace}', "");
-Expect(0, 13, '\p{^isposixspace}', "");
-Expect(0, 13, '\P{isposixspace}', "");
-Expect(1, 13, '\P{^isposixspace}', "");
-Expect(0, 8, '\p{isposixspace}', "");
-Expect(1, 8, '\p{^isposixspace}', "");
-Expect(1, 8, '\P{isposixspace}', "");
-Expect(0, 8, '\P{^isposixspace}', "");
-Expect(1, 13, '\p{_-Is-PosixSpace}', "");
-Expect(0, 13, '\p{^_-Is-PosixSpace}', "");
-Expect(0, 13, '\P{_-Is-PosixSpace}', "");
-Expect(1, 13, '\P{^_-Is-PosixSpace}', "");
-Expect(0, 8, '\p{_-Is-PosixSpace}', "");
-Expect(1, 8, '\p{^_-Is-PosixSpace}', "");
-Expect(1, 8, '\P{_-Is-PosixSpace}', "");
-Expect(0, 8, '\P{^_-Is-PosixSpace}', "");
-Error('\p{:=_Currency-symbols}');
-Error('\P{:=_Currency-symbols}');
-Expect(1, 8399, '\p{currencysymbols}', "");
-Expect(0, 8399, '\p{^currencysymbols}', "");
-Expect(0, 8399, '\P{currencysymbols}', "");
-Expect(1, 8399, '\P{^currencysymbols}', "");
-Expect(0, 8351, '\p{currencysymbols}', "");
-Expect(1, 8351, '\p{^currencysymbols}', "");
-Expect(1, 8351, '\P{currencysymbols}', "");
-Expect(0, 8351, '\P{^currencysymbols}', "");
-Expect(1, 8399, '\p{ Currencysymbols}', "");
-Expect(0, 8399, '\p{^ Currencysymbols}', "");
-Expect(0, 8399, '\P{ Currencysymbols}', "");
-Expect(1, 8399, '\P{^ Currencysymbols}', "");
-Expect(0, 8351, '\p{ Currencysymbols}', "");
-Expect(1, 8351, '\p{^ Currencysymbols}', "");
-Expect(1, 8351, '\P{ Currencysymbols}', "");
-Expect(0, 8351, '\P{^ Currencysymbols}', "");
-Error('\p{ Is Currency symbols:=}');
-Error('\P{ Is Currency symbols:=}');
-Expect(1, 8399, '\p{iscurrencysymbols}', "");
-Expect(0, 8399, '\p{^iscurrencysymbols}', "");
-Expect(0, 8399, '\P{iscurrencysymbols}', "");
-Expect(1, 8399, '\P{^iscurrencysymbols}', "");
-Expect(0, 8351, '\p{iscurrencysymbols}', "");
-Expect(1, 8351, '\p{^iscurrencysymbols}', "");
-Expect(1, 8351, '\P{iscurrencysymbols}', "");
-Expect(0, 8351, '\P{^iscurrencysymbols}', "");
-Expect(1, 8399, '\p{ _isCurrency SYMBOLS}', "");
-Expect(0, 8399, '\p{^ _isCurrency SYMBOLS}', "");
-Expect(0, 8399, '\P{ _isCurrency SYMBOLS}', "");
-Expect(1, 8399, '\P{^ _isCurrency SYMBOLS}', "");
-Expect(0, 8351, '\p{ _isCurrency SYMBOLS}', "");
-Expect(1, 8351, '\p{^ _isCurrency SYMBOLS}', "");
-Expect(1, 8351, '\P{ _isCurrency SYMBOLS}', "");
-Expect(0, 8351, '\P{^ _isCurrency SYMBOLS}', "");
-Error('\p{/a/ In CURRENCY-symbols}');
-Error('\P{/a/ In CURRENCY-symbols}');
-Expect(1, 8399, '\p{incurrencysymbols}', "");
-Expect(0, 8399, '\p{^incurrencysymbols}', "");
-Expect(0, 8399, '\P{incurrencysymbols}', "");
-Expect(1, 8399, '\P{^incurrencysymbols}', "");
-Expect(0, 8351, '\p{incurrencysymbols}', "");
-Expect(1, 8351, '\p{^incurrencysymbols}', "");
-Expect(1, 8351, '\P{incurrencysymbols}', "");
-Expect(0, 8351, '\P{^incurrencysymbols}', "");
-Expect(1, 8399, '\p{- IN CurrencySymbols}', "");
-Expect(0, 8399, '\p{^- IN CurrencySymbols}', "");
-Expect(0, 8399, '\P{- IN CurrencySymbols}', "");
-Expect(1, 8399, '\P{^- IN CurrencySymbols}', "");
-Expect(0, 8351, '\p{- IN CurrencySymbols}', "");
-Expect(1, 8351, '\p{^- IN CurrencySymbols}', "");
-Expect(1, 8351, '\P{- IN CurrencySymbols}', "");
-Expect(0, 8351, '\P{^- IN CurrencySymbols}', "");
-Error('\p{ /a/currency-symbol}');
-Error('\P{ /a/currency-symbol}');
-Expect(1, 36, '\p{currencysymbol}', "");
-Expect(0, 36, '\p{^currencysymbol}', "");
-Expect(0, 36, '\P{currencysymbol}', "");
-Expect(1, 36, '\P{^currencysymbol}', "");
-Expect(0, 35, '\p{currencysymbol}', "");
-Expect(1, 35, '\p{^currencysymbol}', "");
-Expect(1, 35, '\P{currencysymbol}', "");
-Expect(0, 35, '\P{^currencysymbol}', "");
-Expect(1, 36, '\p{_ CurrencySymbol}', "");
-Expect(0, 36, '\p{^_ CurrencySymbol}', "");
-Expect(0, 36, '\P{_ CurrencySymbol}', "");
-Expect(1, 36, '\P{^_ CurrencySymbol}', "");
-Expect(0, 35, '\p{_ CurrencySymbol}', "");
-Expect(1, 35, '\p{^_ CurrencySymbol}', "");
-Expect(1, 35, '\P{_ CurrencySymbol}', "");
-Expect(0, 35, '\P{^_ CurrencySymbol}', "");
-Error('\p{_Is Currency Symbol:=}');
-Error('\P{_Is Currency Symbol:=}');
-Expect(1, 36, '\p{iscurrencysymbol}', "");
-Expect(0, 36, '\p{^iscurrencysymbol}', "");
-Expect(0, 36, '\P{iscurrencysymbol}', "");
-Expect(1, 36, '\P{^iscurrencysymbol}', "");
-Expect(0, 35, '\p{iscurrencysymbol}', "");
-Expect(1, 35, '\p{^iscurrencysymbol}', "");
-Expect(1, 35, '\P{iscurrencysymbol}', "");
-Expect(0, 35, '\P{^iscurrencysymbol}', "");
-Expect(1, 36, '\p{ -Is-CURRENCY symbol}', "");
-Expect(0, 36, '\p{^ -Is-CURRENCY symbol}', "");
-Expect(0, 36, '\P{ -Is-CURRENCY symbol}', "");
-Expect(1, 36, '\P{^ -Is-CURRENCY symbol}', "");
-Expect(0, 35, '\p{ -Is-CURRENCY symbol}', "");
-Expect(1, 35, '\p{^ -Is-CURRENCY symbol}', "");
-Expect(1, 35, '\P{ -Is-CURRENCY symbol}', "");
-Expect(0, 35, '\P{^ -Is-CURRENCY symbol}', "");
-Error('\p{/a/ Sc}');
-Error('\P{/a/ Sc}');
-Expect(1, 36, '\p{sc}', "");
-Expect(0, 36, '\p{^sc}', "");
-Expect(0, 36, '\P{sc}', "");
-Expect(1, 36, '\P{^sc}', "");
-Expect(0, 35, '\p{sc}', "");
-Expect(1, 35, '\p{^sc}', "");
-Expect(1, 35, '\P{sc}', "");
-Expect(0, 35, '\P{^sc}', "");
-Expect(1, 36, '\p{-sc}', "");
-Expect(0, 36, '\p{^-sc}', "");
-Expect(0, 36, '\P{-sc}', "");
-Expect(1, 36, '\P{^-sc}', "");
-Expect(0, 35, '\p{-sc}', "");
-Expect(1, 35, '\p{^-sc}', "");
-Expect(1, 35, '\P{-sc}', "");
-Expect(0, 35, '\P{^-sc}', "");
-Error('\p{_Is:=SC}');
-Error('\P{_Is:=SC}');
-Expect(1, 36, '\p{issc}', "");
-Expect(0, 36, '\p{^issc}', "");
-Expect(0, 36, '\P{issc}', "");
-Expect(1, 36, '\P{^issc}', "");
-Expect(0, 35, '\p{issc}', "");
-Expect(1, 35, '\p{^issc}', "");
-Expect(1, 35, '\P{issc}', "");
-Expect(0, 35, '\P{^issc}', "");
-Expect(1, 36, '\p{ Is_sc}', "");
-Expect(0, 36, '\p{^ Is_sc}', "");
-Expect(0, 36, '\P{ Is_sc}', "");
-Expect(1, 36, '\P{^ Is_sc}', "");
-Expect(0, 35, '\p{ Is_sc}', "");
-Expect(1, 35, '\p{^ Is_sc}', "");
-Expect(1, 35, '\P{ Is_sc}', "");
-Expect(0, 35, '\P{^ Is_sc}', "");
-Error('\p{ :=High-Surrogates}');
-Error('\P{ :=High-Surrogates}');
-Expect(0, 55295, '\p{highsurrogates}', "");
-Expect(1, 55295, '\p{^highsurrogates}', "");
-Expect(1, 55295, '\P{highsurrogates}', "");
-Expect(0, 55295, '\P{^highsurrogates}', "");
-Expect(0, 55295, '\p{ High Surrogates}', "");
-Expect(1, 55295, '\p{^ High Surrogates}', "");
-Expect(1, 55295, '\P{ High Surrogates}', "");
-Expect(0, 55295, '\P{^ High Surrogates}', "");
-Error('\p{ -IS HIGH:=surrogates}');
-Error('\P{ -IS HIGH:=surrogates}');
-Expect(0, 55295, '\p{ishighsurrogates}', "");
-Expect(1, 55295, '\p{^ishighsurrogates}', "");
-Expect(1, 55295, '\P{ishighsurrogates}', "");
-Expect(0, 55295, '\P{^ishighsurrogates}', "");
-Expect(0, 55295, '\p{_IS High surrogates}', "");
-Expect(1, 55295, '\p{^_IS High surrogates}', "");
-Expect(1, 55295, '\P{_IS High surrogates}', "");
-Expect(0, 55295, '\P{^_IS High surrogates}', "");
-Error('\p{/a/ In_High surrogates}');
-Error('\P{/a/ In_High surrogates}');
-Expect(0, 55295, '\p{inhighsurrogates}', "");
-Expect(1, 55295, '\p{^inhighsurrogates}', "");
-Expect(1, 55295, '\P{inhighsurrogates}', "");
-Expect(0, 55295, '\P{^inhighsurrogates}', "");
-Expect(0, 55295, '\p{ -IN High-Surrogates}', "");
-Expect(1, 55295, '\p{^ -IN High-Surrogates}', "");
-Expect(1, 55295, '\P{ -IN High-Surrogates}', "");
-Expect(0, 55295, '\P{^ -IN High-Surrogates}', "");
-Error('\p{_-IN:=DESERET}');
-Error('\P{_-IN:=DESERET}');
-Expect(1, 66639, '\p{indeseret}', "");
-Expect(0, 66639, '\p{^indeseret}', "");
-Expect(0, 66639, '\P{indeseret}', "");
-Expect(1, 66639, '\P{^indeseret}', "");
-Expect(0, 66559, '\p{indeseret}', "");
-Expect(1, 66559, '\p{^indeseret}', "");
-Expect(1, 66559, '\P{indeseret}', "");
-Expect(0, 66559, '\P{^indeseret}', "");
-Expect(1, 66639, '\p{INDESERET}', "");
-Expect(0, 66639, '\p{^INDESERET}', "");
-Expect(0, 66639, '\P{INDESERET}', "");
-Expect(1, 66639, '\P{^INDESERET}', "");
-Expect(0, 66559, '\p{INDESERET}', "");
-Expect(1, 66559, '\p{^INDESERET}', "");
-Expect(1, 66559, '\P{INDESERET}', "");
-Expect(0, 66559, '\P{^INDESERET}', "");
-Error('\p{ Other:=alphabetic}');
-Error('\P{ Other:=alphabetic}');
-Expect(1, 837, '\p{otheralphabetic}', 'deprecated');
-Expect(0, 837, '\p{^otheralphabetic}', 'deprecated');
-Expect(0, 837, '\P{otheralphabetic}', 'deprecated');
-Expect(1, 837, '\P{^otheralphabetic}', 'deprecated');
-Expect(0, 836, '\p{otheralphabetic}', 'deprecated');
-Expect(1, 836, '\p{^otheralphabetic}', 'deprecated');
-Expect(1, 836, '\P{otheralphabetic}', 'deprecated');
-Expect(0, 836, '\P{^otheralphabetic}', 'deprecated');
-Expect(1, 837, '\p{ Other_Alphabetic}', 'deprecated');
-Expect(0, 837, '\p{^ Other_Alphabetic}', 'deprecated');
-Expect(0, 837, '\P{ Other_Alphabetic}', 'deprecated');
-Expect(1, 837, '\P{^ Other_Alphabetic}', 'deprecated');
-Expect(0, 836, '\p{ Other_Alphabetic}', 'deprecated');
-Expect(1, 836, '\p{^ Other_Alphabetic}', 'deprecated');
-Expect(1, 836, '\P{ Other_Alphabetic}', 'deprecated');
-Expect(0, 836, '\P{^ Other_Alphabetic}', 'deprecated');
-Error('\p{/a/ Is-Other-Alphabetic}');
-Error('\P{/a/ Is-Other-Alphabetic}');
-Expect(1, 837, '\p{isotheralphabetic}', 'deprecated');
-Expect(0, 837, '\p{^isotheralphabetic}', 'deprecated');
-Expect(0, 837, '\P{isotheralphabetic}', 'deprecated');
-Expect(1, 837, '\P{^isotheralphabetic}', 'deprecated');
-Expect(0, 836, '\p{isotheralphabetic}', 'deprecated');
-Expect(1, 836, '\p{^isotheralphabetic}', 'deprecated');
-Expect(1, 836, '\P{isotheralphabetic}', 'deprecated');
-Expect(0, 836, '\P{^isotheralphabetic}', 'deprecated');
-Expect(1, 837, '\p{ Is other_ALPHABETIC}', 'deprecated');
-Expect(0, 837, '\p{^ Is other_ALPHABETIC}', 'deprecated');
-Expect(0, 837, '\P{ Is other_ALPHABETIC}', 'deprecated');
-Expect(1, 837, '\P{^ Is other_ALPHABETIC}', 'deprecated');
-Expect(0, 836, '\p{ Is other_ALPHABETIC}', 'deprecated');
-Expect(1, 836, '\p{^ Is other_ALPHABETIC}', 'deprecated');
-Expect(1, 836, '\P{ Is other_ALPHABETIC}', 'deprecated');
-Expect(0, 836, '\P{^ Is other_ALPHABETIC}', 'deprecated');
-Error('\p{/a/ _OAlpha}');
-Error('\P{/a/ _OAlpha}');
-Expect(1, 837, '\p{oalpha}', 'deprecated');
-Expect(0, 837, '\p{^oalpha}', 'deprecated');
-Expect(0, 837, '\P{oalpha}', 'deprecated');
-Expect(1, 837, '\P{^oalpha}', 'deprecated');
-Expect(0, 836, '\p{oalpha}', 'deprecated');
-Expect(1, 836, '\p{^oalpha}', 'deprecated');
-Expect(1, 836, '\P{oalpha}', 'deprecated');
-Expect(0, 836, '\P{^oalpha}', 'deprecated');
-Expect(1, 837, '\p{ OAlpha}', 'deprecated');
-Expect(0, 837, '\p{^ OAlpha}', 'deprecated');
-Expect(0, 837, '\P{ OAlpha}', 'deprecated');
-Expect(1, 837, '\P{^ OAlpha}', 'deprecated');
-Expect(0, 836, '\p{ OAlpha}', 'deprecated');
-Expect(1, 836, '\p{^ OAlpha}', 'deprecated');
-Expect(1, 836, '\P{ OAlpha}', 'deprecated');
-Expect(0, 836, '\P{^ OAlpha}', 'deprecated');
-Error('\p{ is/a/OAlpha}');
-Error('\P{ is/a/OAlpha}');
-Expect(1, 837, '\p{isoalpha}', 'deprecated');
-Expect(0, 837, '\p{^isoalpha}', 'deprecated');
-Expect(0, 837, '\P{isoalpha}', 'deprecated');
-Expect(1, 837, '\P{^isoalpha}', 'deprecated');
-Expect(0, 836, '\p{isoalpha}', 'deprecated');
-Expect(1, 836, '\p{^isoalpha}', 'deprecated');
-Expect(1, 836, '\P{isoalpha}', 'deprecated');
-Expect(0, 836, '\P{^isoalpha}', 'deprecated');
-Expect(1, 837, '\p{--is OAlpha}', 'deprecated');
-Expect(0, 837, '\p{^--is OAlpha}', 'deprecated');
-Expect(0, 837, '\P{--is OAlpha}', 'deprecated');
-Expect(1, 837, '\P{^--is OAlpha}', 'deprecated');
-Expect(0, 836, '\p{--is OAlpha}', 'deprecated');
-Expect(1, 836, '\p{^--is OAlpha}', 'deprecated');
-Expect(1, 836, '\P{--is OAlpha}', 'deprecated');
-Expect(0, 836, '\P{^--is OAlpha}', 'deprecated');
-Error('\p{-_Supplementary/a/PrivateUSEArea-A}');
-Error('\P{-_Supplementary/a/PrivateUSEArea-A}');
-Expect(1, 983040, '\p{supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^supplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^supplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{supplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^supplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(0, 983040, '\p{^ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(0, 983040, '\P{ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(1, 983040, '\P{^ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(0, 1, '\p{ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(1, 1, '\p{^ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(1, 1, '\P{ SUPPLEMENTARY_Private_Use_area-A}', "");
-Expect(0, 1, '\P{^ SUPPLEMENTARY_Private_Use_area-A}', "");
-Error('\p{ /a/Is SUPPLEMENTARYPRIVATE use_AreaA}');
-Error('\P{ /a/Is SUPPLEMENTARYPRIVATE use_AreaA}');
-Expect(1, 983040, '\p{issupplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^issupplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{issupplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^issupplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{issupplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^issupplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{issupplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^issupplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{-Is supplementary_private_USE_area A}', "");
-Expect(0, 983040, '\p{^-Is supplementary_private_USE_area A}', "");
-Expect(0, 983040, '\P{-Is supplementary_private_USE_area A}', "");
-Expect(1, 983040, '\P{^-Is supplementary_private_USE_area A}', "");
-Expect(0, 1, '\p{-Is supplementary_private_USE_area A}', "");
-Expect(1, 1, '\p{^-Is supplementary_private_USE_area A}', "");
-Expect(1, 1, '\P{-Is supplementary_private_USE_area A}', "");
-Expect(0, 1, '\P{^-Is supplementary_private_USE_area A}', "");
-Error('\p{ -InSupplementary:=PRIVATE_Use area A}');
-Error('\P{ -InSupplementary:=PRIVATE_Use area A}');
-Expect(1, 983040, '\p{insupplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\p{^insupplementaryprivateuseareaa}', "");
-Expect(0, 983040, '\P{insupplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\P{^insupplementaryprivateuseareaa}', "");
-Expect(0, 1, '\p{insupplementaryprivateuseareaa}', "");
-Expect(1, 1, '\p{^insupplementaryprivateuseareaa}', "");
-Expect(1, 1, '\P{insupplementaryprivateuseareaa}', "");
-Expect(0, 1, '\P{^insupplementaryprivateuseareaa}', "");
-Expect(1, 983040, '\p{-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(0, 983040, '\p{^-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(0, 983040, '\P{-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(1, 983040, '\P{^-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(0, 1, '\p{-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(1, 1, '\p{^-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(1, 1, '\P{-In-SUPPLEMENTARY private Use_area A}', "");
-Expect(0, 1, '\P{^-In-SUPPLEMENTARY private Use_area A}', "");
-Error('\p{-_SAURASHTRA/a/}');
-Error('\P{-_SAURASHTRA/a/}');
-Expect(1, 43204, '\p{saurashtra}', "");
-Expect(0, 43204, '\p{^saurashtra}', "");
-Expect(0, 43204, '\P{saurashtra}', "");
-Expect(1, 43204, '\P{^saurashtra}', "");
-Expect(0, 43135, '\p{saurashtra}', "");
-Expect(1, 43135, '\p{^saurashtra}', "");
-Expect(1, 43135, '\P{saurashtra}', "");
-Expect(0, 43135, '\P{^saurashtra}', "");
-Expect(1, 43204, '\p{_Saurashtra}', "");
-Expect(0, 43204, '\p{^_Saurashtra}', "");
-Expect(0, 43204, '\P{_Saurashtra}', "");
-Expect(1, 43204, '\P{^_Saurashtra}', "");
-Expect(0, 43135, '\p{_Saurashtra}', "");
-Expect(1, 43135, '\p{^_Saurashtra}', "");
-Expect(1, 43135, '\P{_Saurashtra}', "");
-Expect(0, 43135, '\P{^_Saurashtra}', "");
-Error('\p{ _Is saurashtra:=}');
-Error('\P{ _Is saurashtra:=}');
-Expect(1, 43204, '\p{issaurashtra}', "");
-Expect(0, 43204, '\p{^issaurashtra}', "");
-Expect(0, 43204, '\P{issaurashtra}', "");
-Expect(1, 43204, '\P{^issaurashtra}', "");
-Expect(0, 43135, '\p{issaurashtra}', "");
-Expect(1, 43135, '\p{^issaurashtra}', "");
-Expect(1, 43135, '\P{issaurashtra}', "");
-Expect(0, 43135, '\P{^issaurashtra}', "");
-Expect(1, 43204, '\p{ _ISSaurashtra}', "");
-Expect(0, 43204, '\p{^ _ISSaurashtra}', "");
-Expect(0, 43204, '\P{ _ISSaurashtra}', "");
-Expect(1, 43204, '\P{^ _ISSaurashtra}', "");
-Expect(0, 43135, '\p{ _ISSaurashtra}', "");
-Expect(1, 43135, '\p{^ _ISSaurashtra}', "");
-Expect(1, 43135, '\P{ _ISSaurashtra}', "");
-Expect(0, 43135, '\P{^ _ISSaurashtra}', "");
-Error('\p{:=_Saur}');
-Error('\P{:=_Saur}');
-Expect(1, 43204, '\p{saur}', "");
-Expect(0, 43204, '\p{^saur}', "");
-Expect(0, 43204, '\P{saur}', "");
-Expect(1, 43204, '\P{^saur}', "");
-Expect(0, 43135, '\p{saur}', "");
-Expect(1, 43135, '\p{^saur}', "");
-Expect(1, 43135, '\P{saur}', "");
-Expect(0, 43135, '\P{^saur}', "");
-Expect(1, 43204, '\p{- Saur}', "");
-Expect(0, 43204, '\p{^- Saur}', "");
-Expect(0, 43204, '\P{- Saur}', "");
-Expect(1, 43204, '\P{^- Saur}', "");
-Expect(0, 43135, '\p{- Saur}', "");
-Expect(1, 43135, '\p{^- Saur}', "");
-Expect(1, 43135, '\P{- Saur}', "");
-Expect(0, 43135, '\P{^- Saur}', "");
-Error('\p{:=- is Saur}');
-Error('\P{:=- is Saur}');
-Expect(1, 43204, '\p{issaur}', "");
-Expect(0, 43204, '\p{^issaur}', "");
-Expect(0, 43204, '\P{issaur}', "");
-Expect(1, 43204, '\P{^issaur}', "");
-Expect(0, 43135, '\p{issaur}', "");
-Expect(1, 43135, '\p{^issaur}', "");
-Expect(1, 43135, '\P{issaur}', "");
-Expect(0, 43135, '\P{^issaur}', "");
-Expect(1, 43204, '\p{ Is-Saur}', "");
-Expect(0, 43204, '\p{^ Is-Saur}', "");
-Expect(0, 43204, '\P{ Is-Saur}', "");
-Expect(1, 43204, '\P{^ Is-Saur}', "");
-Expect(0, 43135, '\p{ Is-Saur}', "");
-Expect(1, 43135, '\p{^ Is-Saur}', "");
-Expect(1, 43135, '\P{ Is-Saur}', "");
-Expect(0, 43135, '\P{^ Is-Saur}', "");
-Error('\p{ /a/X-EXTEND}');
-Error('\P{ /a/X-EXTEND}');
-Expect(1, 879, '\p{_x_extend}', "");
-Expect(0, 879, '\p{^_x_extend}', "");
-Expect(0, 879, '\P{_x_extend}', "");
-Expect(1, 879, '\P{^_x_extend}', "");
-Expect(0, 767, '\p{_x_extend}', "");
-Expect(1, 767, '\p{^_x_extend}', "");
-Expect(1, 767, '\P{_x_extend}', "");
-Expect(0, 767, '\P{^_x_extend}', "");
-Error('\p{:= TAGBANWA}');
-Error('\P{:= TAGBANWA}');
-Expect(1, 5996, '\p{tagbanwa}', "");
-Expect(0, 5996, '\p{^tagbanwa}', "");
-Expect(0, 5996, '\P{tagbanwa}', "");
-Expect(1, 5996, '\P{^tagbanwa}', "");
-Expect(0, 5983, '\p{tagbanwa}', "");
-Expect(1, 5983, '\p{^tagbanwa}', "");
-Expect(1, 5983, '\P{tagbanwa}', "");
-Expect(0, 5983, '\P{^tagbanwa}', "");
-Expect(1, 5996, '\p{ tagbanwa}', "");
-Expect(0, 5996, '\p{^ tagbanwa}', "");
-Expect(0, 5996, '\P{ tagbanwa}', "");
-Expect(1, 5996, '\P{^ tagbanwa}', "");
-Expect(0, 5983, '\p{ tagbanwa}', "");
-Expect(1, 5983, '\p{^ tagbanwa}', "");
-Expect(1, 5983, '\P{ tagbanwa}', "");
-Expect(0, 5983, '\P{^ tagbanwa}', "");
-Error('\p{:= is Tagbanwa}');
-Error('\P{:= is Tagbanwa}');
-Expect(1, 5996, '\p{istagbanwa}', "");
-Expect(0, 5996, '\p{^istagbanwa}', "");
-Expect(0, 5996, '\P{istagbanwa}', "");
-Expect(1, 5996, '\P{^istagbanwa}', "");
-Expect(0, 5983, '\p{istagbanwa}', "");
-Expect(1, 5983, '\p{^istagbanwa}', "");
-Expect(1, 5983, '\P{istagbanwa}', "");
-Expect(0, 5983, '\P{^istagbanwa}', "");
-Expect(1, 5996, '\p{--Is-tagbanwa}', "");
-Expect(0, 5996, '\p{^--Is-tagbanwa}', "");
-Expect(0, 5996, '\P{--Is-tagbanwa}', "");
-Expect(1, 5996, '\P{^--Is-tagbanwa}', "");
-Expect(0, 5983, '\p{--Is-tagbanwa}', "");
-Expect(1, 5983, '\p{^--Is-tagbanwa}', "");
-Expect(1, 5983, '\P{--Is-tagbanwa}', "");
-Expect(0, 5983, '\P{^--Is-tagbanwa}', "");
-Error('\p{/a/__TAGB}');
-Error('\P{/a/__TAGB}');
-Expect(1, 5996, '\p{tagb}', "");
-Expect(0, 5996, '\p{^tagb}', "");
-Expect(0, 5996, '\P{tagb}', "");
-Expect(1, 5996, '\P{^tagb}', "");
-Expect(0, 5983, '\p{tagb}', "");
-Expect(1, 5983, '\p{^tagb}', "");
-Expect(1, 5983, '\P{tagb}', "");
-Expect(0, 5983, '\P{^tagb}', "");
-Expect(1, 5996, '\p{ _Tagb}', "");
-Expect(0, 5996, '\p{^ _Tagb}', "");
-Expect(0, 5996, '\P{ _Tagb}', "");
-Expect(1, 5996, '\P{^ _Tagb}', "");
-Expect(0, 5983, '\p{ _Tagb}', "");
-Expect(1, 5983, '\p{^ _Tagb}', "");
-Expect(1, 5983, '\P{ _Tagb}', "");
-Expect(0, 5983, '\P{^ _Tagb}', "");
-Error('\p{:= _Is-tagb}');
-Error('\P{:= _Is-tagb}');
-Expect(1, 5996, '\p{istagb}', "");
-Expect(0, 5996, '\p{^istagb}', "");
-Expect(0, 5996, '\P{istagb}', "");
-Expect(1, 5996, '\P{^istagb}', "");
-Expect(0, 5983, '\p{istagb}', "");
-Expect(1, 5983, '\p{^istagb}', "");
-Expect(1, 5983, '\P{istagb}', "");
-Expect(0, 5983, '\P{^istagb}', "");
-Expect(1, 5996, '\p{is Tagb}', "");
-Expect(0, 5996, '\p{^is Tagb}', "");
-Expect(0, 5996, '\P{is Tagb}', "");
-Expect(1, 5996, '\P{^is Tagb}', "");
-Expect(0, 5983, '\p{is Tagb}', "");
-Expect(1, 5983, '\p{^is Tagb}', "");
-Expect(1, 5983, '\P{is Tagb}', "");
-Expect(0, 5983, '\P{^is Tagb}', "");
-Error('\p{khmer-symbols:=}');
-Error('\P{khmer-symbols:=}');
-Expect(1, 6655, '\p{khmersymbols}', "");
-Expect(0, 6655, '\p{^khmersymbols}', "");
-Expect(0, 6655, '\P{khmersymbols}', "");
-Expect(1, 6655, '\P{^khmersymbols}', "");
-Expect(0, 6623, '\p{khmersymbols}', "");
-Expect(1, 6623, '\p{^khmersymbols}', "");
-Expect(1, 6623, '\P{khmersymbols}', "");
-Expect(0, 6623, '\P{^khmersymbols}', "");
-Expect(1, 6655, '\p{KHMERSYMBOLS}', "");
-Expect(0, 6655, '\p{^KHMERSYMBOLS}', "");
-Expect(0, 6655, '\P{KHMERSYMBOLS}', "");
-Expect(1, 6655, '\P{^KHMERSYMBOLS}', "");
-Expect(0, 6623, '\p{KHMERSYMBOLS}', "");
-Expect(1, 6623, '\p{^KHMERSYMBOLS}', "");
-Expect(1, 6623, '\P{KHMERSYMBOLS}', "");
-Expect(0, 6623, '\P{^KHMERSYMBOLS}', "");
-Error('\p{/a/Is-KHMER-Symbols}');
-Error('\P{/a/Is-KHMER-Symbols}');
-Expect(1, 6655, '\p{iskhmersymbols}', "");
-Expect(0, 6655, '\p{^iskhmersymbols}', "");
-Expect(0, 6655, '\P{iskhmersymbols}', "");
-Expect(1, 6655, '\P{^iskhmersymbols}', "");
-Expect(0, 6623, '\p{iskhmersymbols}', "");
-Expect(1, 6623, '\p{^iskhmersymbols}', "");
-Expect(1, 6623, '\P{iskhmersymbols}', "");
-Expect(0, 6623, '\P{^iskhmersymbols}', "");
-Expect(1, 6655, '\p{ -Iskhmer Symbols}', "");
-Expect(0, 6655, '\p{^ -Iskhmer Symbols}', "");
-Expect(0, 6655, '\P{ -Iskhmer Symbols}', "");
-Expect(1, 6655, '\P{^ -Iskhmer Symbols}', "");
-Expect(0, 6623, '\p{ -Iskhmer Symbols}', "");
-Expect(1, 6623, '\p{^ -Iskhmer Symbols}', "");
-Expect(1, 6623, '\P{ -Iskhmer Symbols}', "");
-Expect(0, 6623, '\P{^ -Iskhmer Symbols}', "");
-Error('\p{-In Khmer_Symbols/a/}');
-Error('\P{-In Khmer_Symbols/a/}');
-Expect(1, 6655, '\p{inkhmersymbols}', "");
-Expect(0, 6655, '\p{^inkhmersymbols}', "");
-Expect(0, 6655, '\P{inkhmersymbols}', "");
-Expect(1, 6655, '\P{^inkhmersymbols}', "");
-Expect(0, 6623, '\p{inkhmersymbols}', "");
-Expect(1, 6623, '\p{^inkhmersymbols}', "");
-Expect(1, 6623, '\P{inkhmersymbols}', "");
-Expect(0, 6623, '\P{^inkhmersymbols}', "");
-Expect(1, 6655, '\p{-INKhmer symbols}', "");
-Expect(0, 6655, '\p{^-INKhmer symbols}', "");
-Expect(0, 6655, '\P{-INKhmer symbols}', "");
-Expect(1, 6655, '\P{^-INKhmer symbols}', "");
-Expect(0, 6623, '\p{-INKhmer symbols}', "");
-Expect(1, 6623, '\p{^-INKhmer symbols}', "");
-Expect(1, 6623, '\P{-INKhmer symbols}', "");
-Expect(0, 6623, '\P{^-INKhmer symbols}', "");
-Error('\p{/a/-MATH}');
-Error('\P{/a/-MATH}');
-Expect(1, 43, '\p{math}', "");
-Expect(0, 43, '\p{^math}', "");
-Expect(0, 43, '\P{math}', "");
-Expect(1, 43, '\P{^math}', "");
-Expect(0, 42, '\p{math}', "");
-Expect(1, 42, '\p{^math}', "");
-Expect(1, 42, '\P{math}', "");
-Expect(0, 42, '\P{^math}', "");
-Expect(1, 43, '\p{- Math}', "");
-Expect(0, 43, '\p{^- Math}', "");
-Expect(0, 43, '\P{- Math}', "");
-Expect(1, 43, '\P{^- Math}', "");
-Expect(0, 42, '\p{- Math}', "");
-Expect(1, 42, '\p{^- Math}', "");
-Expect(1, 42, '\P{- Math}', "");
-Expect(0, 42, '\P{^- Math}', "");
-Error('\p{/a/- ISmath}');
-Error('\P{/a/- ISmath}');
-Expect(1, 43, '\p{ismath}', "");
-Expect(0, 43, '\p{^ismath}', "");
-Expect(0, 43, '\P{ismath}', "");
-Expect(1, 43, '\P{^ismath}', "");
-Expect(0, 42, '\p{ismath}', "");
-Expect(1, 42, '\p{^ismath}', "");
-Expect(1, 42, '\P{ismath}', "");
-Expect(0, 42, '\P{^ismath}', "");
-Expect(1, 43, '\p{ IsMath}', "");
-Expect(0, 43, '\p{^ IsMath}', "");
-Expect(0, 43, '\P{ IsMath}', "");
-Expect(1, 43, '\P{^ IsMath}', "");
-Expect(0, 42, '\p{ IsMath}', "");
-Expect(1, 42, '\p{^ IsMath}', "");
-Expect(1, 42, '\P{ IsMath}', "");
-Expect(0, 42, '\P{^ IsMath}', "");
-Error('\p{ /a/Buhid}');
-Error('\P{ /a/Buhid}');
-Expect(1, 5971, '\p{buhid}', "");
-Expect(0, 5971, '\p{^buhid}', "");
-Expect(0, 5971, '\P{buhid}', "");
-Expect(1, 5971, '\P{^buhid}', "");
-Expect(0, 5951, '\p{buhid}', "");
-Expect(1, 5951, '\p{^buhid}', "");
-Expect(1, 5951, '\P{buhid}', "");
-Expect(0, 5951, '\P{^buhid}', "");
-Expect(1, 5971, '\p{- buhid}', "");
-Expect(0, 5971, '\p{^- buhid}', "");
-Expect(0, 5971, '\P{- buhid}', "");
-Expect(1, 5971, '\P{^- buhid}', "");
-Expect(0, 5951, '\p{- buhid}', "");
-Expect(1, 5951, '\p{^- buhid}', "");
-Expect(1, 5951, '\P{- buhid}', "");
-Expect(0, 5951, '\P{^- buhid}', "");
-Error('\p{ /a/Is_Buhid}');
-Error('\P{ /a/Is_Buhid}');
-Expect(1, 5971, '\p{isbuhid}', "");
-Expect(0, 5971, '\p{^isbuhid}', "");
-Expect(0, 5971, '\P{isbuhid}', "");
-Expect(1, 5971, '\P{^isbuhid}', "");
-Expect(0, 5951, '\p{isbuhid}', "");
-Expect(1, 5951, '\p{^isbuhid}', "");
-Expect(1, 5951, '\P{isbuhid}', "");
-Expect(0, 5951, '\P{^isbuhid}', "");
-Expect(1, 5971, '\p{ Is-buhid}', "");
-Expect(0, 5971, '\p{^ Is-buhid}', "");
-Expect(0, 5971, '\P{ Is-buhid}', "");
-Expect(1, 5971, '\P{^ Is-buhid}', "");
-Expect(0, 5951, '\p{ Is-buhid}', "");
-Expect(1, 5951, '\p{^ Is-buhid}', "");
-Expect(1, 5951, '\P{ Is-buhid}', "");
-Expect(0, 5951, '\P{^ Is-buhid}', "");
-Error('\p{/a/ BUHD}');
-Error('\P{/a/ BUHD}');
-Expect(1, 5971, '\p{buhd}', "");
-Expect(0, 5971, '\p{^buhd}', "");
-Expect(0, 5971, '\P{buhd}', "");
-Expect(1, 5971, '\P{^buhd}', "");
-Expect(0, 5951, '\p{buhd}', "");
-Expect(1, 5951, '\p{^buhd}', "");
-Expect(1, 5951, '\P{buhd}', "");
-Expect(0, 5951, '\P{^buhd}', "");
-Expect(1, 5971, '\p{ BUHD}', "");
-Expect(0, 5971, '\p{^ BUHD}', "");
-Expect(0, 5971, '\P{ BUHD}', "");
-Expect(1, 5971, '\P{^ BUHD}', "");
-Expect(0, 5951, '\p{ BUHD}', "");
-Expect(1, 5951, '\p{^ BUHD}', "");
-Expect(1, 5951, '\P{ BUHD}', "");
-Expect(0, 5951, '\P{^ BUHD}', "");
-Error('\p{/a/- ISBuhd}');
-Error('\P{/a/- ISBuhd}');
-Expect(1, 5971, '\p{isbuhd}', "");
-Expect(0, 5971, '\p{^isbuhd}', "");
-Expect(0, 5971, '\P{isbuhd}', "");
-Expect(1, 5971, '\P{^isbuhd}', "");
-Expect(0, 5951, '\p{isbuhd}', "");
-Expect(1, 5951, '\p{^isbuhd}', "");
-Expect(1, 5951, '\P{isbuhd}', "");
-Expect(0, 5951, '\P{^isbuhd}', "");
-Expect(1, 5971, '\p{ _Is Buhd}', "");
-Expect(0, 5971, '\p{^ _Is Buhd}', "");
-Expect(0, 5971, '\P{ _Is Buhd}', "");
-Expect(1, 5971, '\P{^ _Is Buhd}', "");
-Expect(0, 5951, '\p{ _Is Buhd}', "");
-Expect(1, 5951, '\p{^ _Is Buhd}', "");
-Expect(1, 5951, '\P{ _Is Buhd}', "");
-Expect(0, 5951, '\P{^ _Is Buhd}', "");
-Error('\p{ Greek And coptic/a/}');
-Error('\P{ Greek And coptic/a/}');
-Expect(1, 1023, '\p{greekandcoptic}', "");
-Expect(0, 1023, '\p{^greekandcoptic}', "");
-Expect(0, 1023, '\P{greekandcoptic}', "");
-Expect(1, 1023, '\P{^greekandcoptic}', "");
-Expect(0, 879, '\p{greekandcoptic}', "");
-Expect(1, 879, '\p{^greekandcoptic}', "");
-Expect(1, 879, '\P{greekandcoptic}', "");
-Expect(0, 879, '\P{^greekandcoptic}', "");
-Expect(1, 1023, '\p{ -greek And-Coptic}', "");
-Expect(0, 1023, '\p{^ -greek And-Coptic}', "");
-Expect(0, 1023, '\P{ -greek And-Coptic}', "");
-Expect(1, 1023, '\P{^ -greek And-Coptic}', "");
-Expect(0, 879, '\p{ -greek And-Coptic}', "");
-Expect(1, 879, '\p{^ -greek And-Coptic}', "");
-Expect(1, 879, '\P{ -greek And-Coptic}', "");
-Expect(0, 879, '\P{^ -greek And-Coptic}', "");
-Error('\p{ IS:=greekAnd Coptic}');
-Error('\P{ IS:=greekAnd Coptic}');
-Expect(1, 1023, '\p{isgreekandcoptic}', "");
-Expect(0, 1023, '\p{^isgreekandcoptic}', "");
-Expect(0, 1023, '\P{isgreekandcoptic}', "");
-Expect(1, 1023, '\P{^isgreekandcoptic}', "");
-Expect(0, 879, '\p{isgreekandcoptic}', "");
-Expect(1, 879, '\p{^isgreekandcoptic}', "");
-Expect(1, 879, '\P{isgreekandcoptic}', "");
-Expect(0, 879, '\P{^isgreekandcoptic}', "");
-Expect(1, 1023, '\p{_is_GREEKand-Coptic}', "");
-Expect(0, 1023, '\p{^_is_GREEKand-Coptic}', "");
-Expect(0, 1023, '\P{_is_GREEKand-Coptic}', "");
-Expect(1, 1023, '\P{^_is_GREEKand-Coptic}', "");
-Expect(0, 879, '\p{_is_GREEKand-Coptic}', "");
-Expect(1, 879, '\p{^_is_GREEKand-Coptic}', "");
-Expect(1, 879, '\P{_is_GREEKand-Coptic}', "");
-Expect(0, 879, '\P{^_is_GREEKand-Coptic}', "");
-Error('\p{--IN Greek_AND_COPTIC:=}');
-Error('\P{--IN Greek_AND_COPTIC:=}');
-Expect(1, 1023, '\p{ingreekandcoptic}', "");
-Expect(0, 1023, '\p{^ingreekandcoptic}', "");
-Expect(0, 1023, '\P{ingreekandcoptic}', "");
-Expect(1, 1023, '\P{^ingreekandcoptic}', "");
-Expect(0, 879, '\p{ingreekandcoptic}', "");
-Expect(1, 879, '\p{^ingreekandcoptic}', "");
-Expect(1, 879, '\P{ingreekandcoptic}', "");
-Expect(0, 879, '\P{^ingreekandcoptic}', "");
-Expect(1, 1023, '\p{ in-GreekAND Coptic}', "");
-Expect(0, 1023, '\p{^ in-GreekAND Coptic}', "");
-Expect(0, 1023, '\P{ in-GreekAND Coptic}', "");
-Expect(1, 1023, '\P{^ in-GreekAND Coptic}', "");
-Expect(0, 879, '\p{ in-GreekAND Coptic}', "");
-Expect(1, 879, '\p{^ in-GreekAND Coptic}', "");
-Expect(1, 879, '\P{ in-GreekAND Coptic}', "");
-Expect(0, 879, '\P{^ in-GreekAND Coptic}', "");
-Error('\p{ IN:=GREEK}');
-Error('\P{ IN:=GREEK}');
-Expect(1, 1023, '\p{ingreek}', "");
-Expect(0, 1023, '\p{^ingreek}', "");
-Expect(0, 1023, '\P{ingreek}', "");
-Expect(1, 1023, '\P{^ingreek}', "");
-Expect(0, 879, '\p{ingreek}', "");
-Expect(1, 879, '\p{^ingreek}', "");
-Expect(1, 879, '\P{ingreek}', "");
-Expect(0, 879, '\P{^ingreek}', "");
-Expect(1, 1023, '\p{ In Greek}', "");
-Expect(0, 1023, '\p{^ In Greek}', "");
-Expect(0, 1023, '\P{ In Greek}', "");
-Expect(1, 1023, '\P{^ In Greek}', "");
-Expect(0, 879, '\p{ In Greek}', "");
-Expect(1, 879, '\p{^ In Greek}', "");
-Expect(1, 879, '\P{ In Greek}', "");
-Expect(0, 879, '\P{^ In Greek}', "");
-Error('\p{ WHITESPACE:=}');
-Error('\P{ WHITESPACE:=}');
-Expect(1, 13, '\p{whitespace}', "");
-Expect(0, 13, '\p{^whitespace}', "");
-Expect(0, 13, '\P{whitespace}', "");
-Expect(1, 13, '\P{^whitespace}', "");
-Expect(0, 8, '\p{whitespace}', "");
-Expect(1, 8, '\p{^whitespace}', "");
-Expect(1, 8, '\P{whitespace}', "");
-Expect(0, 8, '\P{^whitespace}', "");
-Expect(1, 13, '\p{ White Space}', "");
-Expect(0, 13, '\p{^ White Space}', "");
-Expect(0, 13, '\P{ White Space}', "");
-Expect(1, 13, '\P{^ White Space}', "");
-Expect(0, 8, '\p{ White Space}', "");
-Expect(1, 8, '\p{^ White Space}', "");
-Expect(1, 8, '\P{ White Space}', "");
-Expect(0, 8, '\P{^ White Space}', "");
-Error('\p{Is:=white_SPACE}');
-Error('\P{Is:=white_SPACE}');
-Expect(1, 13, '\p{iswhitespace}', "");
-Expect(0, 13, '\p{^iswhitespace}', "");
-Expect(0, 13, '\P{iswhitespace}', "");
-Expect(1, 13, '\P{^iswhitespace}', "");
-Expect(0, 8, '\p{iswhitespace}', "");
-Expect(1, 8, '\p{^iswhitespace}', "");
-Expect(1, 8, '\P{iswhitespace}', "");
-Expect(0, 8, '\P{^iswhitespace}', "");
-Expect(1, 13, '\p{is White-Space}', "");
-Expect(0, 13, '\p{^is White-Space}', "");
-Expect(0, 13, '\P{is White-Space}', "");
-Expect(1, 13, '\P{^is White-Space}', "");
-Expect(0, 8, '\p{is White-Space}', "");
-Expect(1, 8, '\p{^is White-Space}', "");
-Expect(1, 8, '\P{is White-Space}', "");
-Expect(0, 8, '\P{^is White-Space}', "");
-Error('\p{:=-_WSpace}');
-Error('\P{:=-_WSpace}');
-Expect(1, 13, '\p{wspace}', "");
-Expect(0, 13, '\p{^wspace}', "");
-Expect(0, 13, '\P{wspace}', "");
-Expect(1, 13, '\P{^wspace}', "");
-Expect(0, 8, '\p{wspace}', "");
-Expect(1, 8, '\p{^wspace}', "");
-Expect(1, 8, '\P{wspace}', "");
-Expect(0, 8, '\P{^wspace}', "");
-Expect(1, 13, '\p{ WSpace}', "");
-Expect(0, 13, '\p{^ WSpace}', "");
-Expect(0, 13, '\P{ WSpace}', "");
-Expect(1, 13, '\P{^ WSpace}', "");
-Expect(0, 8, '\p{ WSpace}', "");
-Expect(1, 8, '\p{^ WSpace}', "");
-Expect(1, 8, '\P{ WSpace}', "");
-Expect(0, 8, '\P{^ WSpace}', "");
-Error('\p{/a/ _is wspace}');
-Error('\P{/a/ _is wspace}');
-Expect(1, 13, '\p{iswspace}', "");
-Expect(0, 13, '\p{^iswspace}', "");
-Expect(0, 13, '\P{iswspace}', "");
-Expect(1, 13, '\P{^iswspace}', "");
-Expect(0, 8, '\p{iswspace}', "");
-Expect(1, 8, '\p{^iswspace}', "");
-Expect(1, 8, '\P{iswspace}', "");
-Expect(0, 8, '\P{^iswspace}', "");
-Expect(1, 13, '\p{ IsWSpace}', "");
-Expect(0, 13, '\p{^ IsWSpace}', "");
-Expect(0, 13, '\P{ IsWSpace}', "");
-Expect(1, 13, '\P{^ IsWSpace}', "");
-Expect(0, 8, '\p{ IsWSpace}', "");
-Expect(1, 8, '\p{^ IsWSpace}', "");
-Expect(1, 8, '\P{ IsWSpace}', "");
-Expect(0, 8, '\P{^ IsWSpace}', "");
-Error('\p{_Supplementary Private:=Use-AREAB}');
-Error('\P{_Supplementary Private:=Use-AREAB}');
-Expect(1, 1048576, '\p{supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^supplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^supplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{supplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^supplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{supplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^supplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{_Supplementary PRIVATE-use Area B}', "");
-Expect(0, 1048576, '\p{^_Supplementary PRIVATE-use Area B}', "");
-Expect(0, 1048576, '\P{_Supplementary PRIVATE-use Area B}', "");
-Expect(1, 1048576, '\P{^_Supplementary PRIVATE-use Area B}', "");
-Expect(0, 1, '\p{_Supplementary PRIVATE-use Area B}', "");
-Expect(1, 1, '\p{^_Supplementary PRIVATE-use Area B}', "");
-Expect(1, 1, '\P{_Supplementary PRIVATE-use Area B}', "");
-Expect(0, 1, '\P{^_Supplementary PRIVATE-use Area B}', "");
-Error('\p{ IS/a/supplementary Private USE Area_B}');
-Error('\P{ IS/a/supplementary Private USE Area_B}');
-Expect(1, 1048576, '\p{issupplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^issupplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{issupplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^issupplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{issupplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^issupplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{issupplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^issupplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{ -ISSupplementary PrivateUSEArea b}', "");
-Expect(0, 1048576, '\p{^ -ISSupplementary PrivateUSEArea b}', "");
-Expect(0, 1048576, '\P{ -ISSupplementary PrivateUSEArea b}', "");
-Expect(1, 1048576, '\P{^ -ISSupplementary PrivateUSEArea b}', "");
-Expect(0, 1, '\p{ -ISSupplementary PrivateUSEArea b}', "");
-Expect(1, 1, '\p{^ -ISSupplementary PrivateUSEArea b}', "");
-Expect(1, 1, '\P{ -ISSupplementary PrivateUSEArea b}', "");
-Expect(0, 1, '\P{^ -ISSupplementary PrivateUSEArea b}', "");
-Error('\p{/a/In_SUPPLEMENTARY_private-use_AREA B}');
-Error('\P{/a/In_SUPPLEMENTARY_private-use_AREA B}');
-Expect(1, 1048576, '\p{insupplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\p{^insupplementaryprivateuseareab}', "");
-Expect(0, 1048576, '\P{insupplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\P{^insupplementaryprivateuseareab}', "");
-Expect(0, 1, '\p{insupplementaryprivateuseareab}', "");
-Expect(1, 1, '\p{^insupplementaryprivateuseareab}', "");
-Expect(1, 1, '\P{insupplementaryprivateuseareab}', "");
-Expect(0, 1, '\P{^insupplementaryprivateuseareab}', "");
-Expect(1, 1048576, '\p{ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(0, 1048576, '\p{^ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(0, 1048576, '\P{ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(1, 1048576, '\P{^ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(0, 1, '\p{ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(1, 1, '\p{^ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(1, 1, '\P{ in Supplementary_PRIVATE-use AREA-B}', "");
-Expect(0, 1, '\P{^ in Supplementary_PRIVATE-use AREA-B}', "");
-Error('\p{--in Cuneiform/a/}');
-Error('\P{--in Cuneiform/a/}');
-Expect(1, 74751, '\p{incuneiform}', "");
-Expect(0, 74751, '\p{^incuneiform}', "");
-Expect(0, 74751, '\P{incuneiform}', "");
-Expect(1, 74751, '\P{^incuneiform}', "");
-Expect(0, 73727, '\p{incuneiform}', "");
-Expect(1, 73727, '\p{^incuneiform}', "");
-Expect(1, 73727, '\P{incuneiform}', "");
-Expect(0, 73727, '\P{^incuneiform}', "");
-Expect(1, 74751, '\p{_ IN cuneiform}', "");
-Expect(0, 74751, '\p{^_ IN cuneiform}', "");
-Expect(0, 74751, '\P{_ IN cuneiform}', "");
-Expect(1, 74751, '\P{^_ IN cuneiform}', "");
-Expect(0, 73727, '\p{_ IN cuneiform}', "");
-Expect(1, 73727, '\p{^_ IN cuneiform}', "");
-Expect(1, 73727, '\P{_ IN cuneiform}', "");
-Expect(0, 73727, '\P{^_ IN cuneiform}', "");
-Error('\p{_/a/CJK_Symbols_AND-Punctuation}');
-Error('\P{_/a/CJK_Symbols_AND-Punctuation}');
-Expect(1, 12351, '\p{cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^cjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^cjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{cjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^cjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{ CJK_SymbolsAnd Punctuation}', "");
-Expect(0, 12351, '\p{^ CJK_SymbolsAnd Punctuation}', "");
-Expect(0, 12351, '\P{ CJK_SymbolsAnd Punctuation}', "");
-Expect(1, 12351, '\P{^ CJK_SymbolsAnd Punctuation}', "");
-Expect(0, 12287, '\p{ CJK_SymbolsAnd Punctuation}', "");
-Expect(1, 12287, '\p{^ CJK_SymbolsAnd Punctuation}', "");
-Expect(1, 12287, '\P{ CJK_SymbolsAnd Punctuation}', "");
-Expect(0, 12287, '\P{^ CJK_SymbolsAnd Punctuation}', "");
-Error('\p{/a/_Is cjk-SymbolsAnd punctuation}');
-Error('\P{/a/_Is cjk-SymbolsAnd punctuation}');
-Expect(1, 12351, '\p{iscjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^iscjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{iscjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^iscjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{iscjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^iscjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{iscjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^iscjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(0, 12351, '\p{^ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(0, 12351, '\P{ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(1, 12351, '\P{^ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(0, 12287, '\p{ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(1, 12287, '\p{^ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(1, 12287, '\P{ -is-CJKSymbols-And_PUNCTUATION}', "");
-Expect(0, 12287, '\P{^ -is-CJKSymbols-And_PUNCTUATION}', "");
-Error('\p{_ In:=CJK SYMBOLSAnd-Punctuation}');
-Error('\P{_ In:=CJK SYMBOLSAnd-Punctuation}');
-Expect(1, 12351, '\p{incjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\p{^incjksymbolsandpunctuation}', "");
-Expect(0, 12351, '\P{incjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\P{^incjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\p{incjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\p{^incjksymbolsandpunctuation}', "");
-Expect(1, 12287, '\P{incjksymbolsandpunctuation}', "");
-Expect(0, 12287, '\P{^incjksymbolsandpunctuation}', "");
-Expect(1, 12351, '\p{in-CJK symbolsAndPUNCTUATION}', "");
-Expect(0, 12351, '\p{^in-CJK symbolsAndPUNCTUATION}', "");
-Expect(0, 12351, '\P{in-CJK symbolsAndPUNCTUATION}', "");
-Expect(1, 12351, '\P{^in-CJK symbolsAndPUNCTUATION}', "");
-Expect(0, 12287, '\p{in-CJK symbolsAndPUNCTUATION}', "");
-Expect(1, 12287, '\p{^in-CJK symbolsAndPUNCTUATION}', "");
-Expect(1, 12287, '\P{in-CJK symbolsAndPUNCTUATION}', "");
-Expect(0, 12287, '\P{^in-CJK symbolsAndPUNCTUATION}', "");
-Error('\p{ -Surrogate:=}');
-Error('\P{ -Surrogate:=}');
-Expect(0, 55295, '\p{surrogate}', "");
-Expect(1, 55295, '\p{^surrogate}', "");
-Expect(1, 55295, '\P{surrogate}', "");
-Expect(0, 55295, '\P{^surrogate}', "");
-Expect(0, 55295, '\p{-Surrogate}', "");
-Expect(1, 55295, '\p{^-Surrogate}', "");
-Expect(1, 55295, '\P{-Surrogate}', "");
-Expect(0, 55295, '\P{^-Surrogate}', "");
-Error('\p{_ IS SURROGATE:=}');
-Error('\P{_ IS SURROGATE:=}');
-Expect(0, 55295, '\p{issurrogate}', "");
-Expect(1, 55295, '\p{^issurrogate}', "");
-Expect(1, 55295, '\P{issurrogate}', "");
-Expect(0, 55295, '\P{^issurrogate}', "");
-Expect(0, 55295, '\p{ Is Surrogate}', "");
-Expect(1, 55295, '\p{^ Is Surrogate}', "");
-Expect(1, 55295, '\P{ Is Surrogate}', "");
-Expect(0, 55295, '\P{^ Is Surrogate}', "");
-Error('\p{:=-_cs}');
-Error('\P{:=-_cs}');
-Expect(0, 55295, '\p{cs}', "");
-Expect(1, 55295, '\p{^cs}', "");
-Expect(1, 55295, '\P{cs}', "");
-Expect(0, 55295, '\P{^cs}', "");
-Expect(0, 55295, '\p{ -CS}', "");
-Expect(1, 55295, '\p{^ -CS}', "");
-Expect(1, 55295, '\P{ -CS}', "");
-Expect(0, 55295, '\P{^ -CS}', "");
-Error('\p{:=- IS_Cs}');
-Error('\P{:=- IS_Cs}');
-Expect(0, 55295, '\p{iscs}', "");
-Expect(1, 55295, '\p{^iscs}', "");
-Expect(1, 55295, '\P{iscs}', "");
-Expect(0, 55295, '\P{^iscs}', "");
-Expect(0, 55295, '\p{ Is-cs}', "");
-Expect(1, 55295, '\p{^ Is-cs}', "");
-Expect(1, 55295, '\P{ Is-cs}', "");
-Expect(0, 55295, '\P{^ Is-cs}', "");
-Error('\p{_In/a/COPTIC}');
-Error('\P{_In/a/COPTIC}');
-Expect(1, 11519, '\p{incoptic}', "");
-Expect(0, 11519, '\p{^incoptic}', "");
-Expect(0, 11519, '\P{incoptic}', "");
-Expect(1, 11519, '\P{^incoptic}', "");
-Expect(0, 11391, '\p{incoptic}', "");
-Expect(1, 11391, '\p{^incoptic}', "");
-Expect(1, 11391, '\P{incoptic}', "");
-Expect(0, 11391, '\P{^incoptic}', "");
-Expect(1, 11519, '\p{--In Coptic}', "");
-Expect(0, 11519, '\p{^--In Coptic}', "");
-Expect(0, 11519, '\P{--In Coptic}', "");
-Expect(1, 11519, '\P{^--In Coptic}', "");
-Expect(0, 11391, '\p{--In Coptic}', "");
-Expect(1, 11391, '\p{^--In Coptic}', "");
-Expect(1, 11391, '\P{--In Coptic}', "");
-Expect(0, 11391, '\P{^--In Coptic}', "");
-Error('\p{--Khmer/a/}');
-Error('\P{--Khmer/a/}');
-Expect(1, 6109, '\p{khmer}', "");
-Expect(0, 6109, '\p{^khmer}', "");
-Expect(0, 6109, '\P{khmer}', "");
-Expect(1, 6109, '\P{^khmer}', "");
-Expect(0, 6015, '\p{khmer}', "");
-Expect(1, 6015, '\p{^khmer}', "");
-Expect(1, 6015, '\P{khmer}', "");
-Expect(0, 6015, '\P{^khmer}', "");
-Expect(1, 6109, '\p{-khmer}', "");
-Expect(0, 6109, '\p{^-khmer}', "");
-Expect(0, 6109, '\P{-khmer}', "");
-Expect(1, 6109, '\P{^-khmer}', "");
-Expect(0, 6015, '\p{-khmer}', "");
-Expect(1, 6015, '\p{^-khmer}', "");
-Expect(1, 6015, '\P{-khmer}', "");
-Expect(0, 6015, '\P{^-khmer}', "");
-Error('\p{-/a/is KHMER}');
-Error('\P{-/a/is KHMER}');
-Expect(1, 6109, '\p{iskhmer}', "");
-Expect(0, 6109, '\p{^iskhmer}', "");
-Expect(0, 6109, '\P{iskhmer}', "");
-Expect(1, 6109, '\P{^iskhmer}', "");
-Expect(0, 6015, '\p{iskhmer}', "");
-Expect(1, 6015, '\p{^iskhmer}', "");
-Expect(1, 6015, '\P{iskhmer}', "");
-Expect(0, 6015, '\P{^iskhmer}', "");
-Expect(1, 6109, '\p{ IS_khmer}', "");
-Expect(0, 6109, '\p{^ IS_khmer}', "");
-Expect(0, 6109, '\P{ IS_khmer}', "");
-Expect(1, 6109, '\P{^ IS_khmer}', "");
-Expect(0, 6015, '\p{ IS_khmer}', "");
-Expect(1, 6015, '\p{^ IS_khmer}', "");
-Expect(1, 6015, '\P{ IS_khmer}', "");
-Expect(0, 6015, '\P{^ IS_khmer}', "");
-Error('\p{:= Khmr}');
-Error('\P{:= Khmr}');
-Expect(1, 6109, '\p{khmr}', "");
-Expect(0, 6109, '\p{^khmr}', "");
-Expect(0, 6109, '\P{khmr}', "");
-Expect(1, 6109, '\P{^khmr}', "");
-Expect(0, 6015, '\p{khmr}', "");
-Expect(1, 6015, '\p{^khmr}', "");
-Expect(1, 6015, '\P{khmr}', "");
-Expect(0, 6015, '\P{^khmr}', "");
-Expect(1, 6109, '\p{ Khmr}', "");
-Expect(0, 6109, '\p{^ Khmr}', "");
-Expect(0, 6109, '\P{ Khmr}', "");
-Expect(1, 6109, '\P{^ Khmr}', "");
-Expect(0, 6015, '\p{ Khmr}', "");
-Expect(1, 6015, '\p{^ Khmr}', "");
-Expect(1, 6015, '\P{ Khmr}', "");
-Expect(0, 6015, '\P{^ Khmr}', "");
-Error('\p{ :=is-khmr}');
-Error('\P{ :=is-khmr}');
-Expect(1, 6109, '\p{iskhmr}', "");
-Expect(0, 6109, '\p{^iskhmr}', "");
-Expect(0, 6109, '\P{iskhmr}', "");
-Expect(1, 6109, '\P{^iskhmr}', "");
-Expect(0, 6015, '\p{iskhmr}', "");
-Expect(1, 6015, '\p{^iskhmr}', "");
-Expect(1, 6015, '\P{iskhmr}', "");
-Expect(0, 6015, '\P{^iskhmr}', "");
-Expect(1, 6109, '\p{ IS-KHMR}', "");
-Expect(0, 6109, '\p{^ IS-KHMR}', "");
-Expect(0, 6109, '\P{ IS-KHMR}', "");
-Expect(1, 6109, '\P{^ IS-KHMR}', "");
-Expect(0, 6015, '\p{ IS-KHMR}', "");
-Expect(1, 6015, '\p{^ IS-KHMR}', "");
-Expect(1, 6015, '\P{ IS-KHMR}', "");
-Expect(0, 6015, '\P{^ IS-KHMR}', "");
-Error('\p{ In:=NKo}');
-Error('\P{ In:=NKo}');
-Expect(1, 2047, '\p{innko}', "");
-Expect(0, 2047, '\p{^innko}', "");
-Expect(0, 2047, '\P{innko}', "");
-Expect(1, 2047, '\P{^innko}', "");
-Expect(0, 1983, '\p{innko}', "");
-Expect(1, 1983, '\p{^innko}', "");
-Expect(1, 1983, '\P{innko}', "");
-Expect(0, 1983, '\P{^innko}', "");
-Expect(1, 2047, '\p{_in NKo}', "");
-Expect(0, 2047, '\p{^_in NKo}', "");
-Expect(0, 2047, '\P{_in NKo}', "");
-Expect(1, 2047, '\P{^_in NKo}', "");
-Expect(0, 1983, '\p{_in NKo}', "");
-Expect(1, 1983, '\p{^_in NKo}', "");
-Expect(1, 1983, '\P{_in NKo}', "");
-Expect(0, 1983, '\P{^_in NKo}', "");
-Error('\p{-/a/linear_B Syllabary}');
-Error('\P{-/a/linear_B Syllabary}');
-Expect(1, 65663, '\p{linearbsyllabary}', "");
-Expect(0, 65663, '\p{^linearbsyllabary}', "");
-Expect(0, 65663, '\P{linearbsyllabary}', "");
-Expect(1, 65663, '\P{^linearbsyllabary}', "");
-Expect(0, 1, '\p{linearbsyllabary}', "");
-Expect(1, 1, '\p{^linearbsyllabary}', "");
-Expect(1, 1, '\P{linearbsyllabary}', "");
-Expect(0, 1, '\P{^linearbsyllabary}', "");
-Expect(1, 65663, '\p{_Linear b SYLLABARY}', "");
-Expect(0, 65663, '\p{^_Linear b SYLLABARY}', "");
-Expect(0, 65663, '\P{_Linear b SYLLABARY}', "");
-Expect(1, 65663, '\P{^_Linear b SYLLABARY}', "");
-Expect(0, 1, '\p{_Linear b SYLLABARY}', "");
-Expect(1, 1, '\p{^_Linear b SYLLABARY}', "");
-Expect(1, 1, '\P{_Linear b SYLLABARY}', "");
-Expect(0, 1, '\P{^_Linear b SYLLABARY}', "");
-Error('\p{-Is-LINEAR-B:=syllabary}');
-Error('\P{-Is-LINEAR-B:=syllabary}');
-Expect(1, 65663, '\p{islinearbsyllabary}', "");
-Expect(0, 65663, '\p{^islinearbsyllabary}', "");
-Expect(0, 65663, '\P{islinearbsyllabary}', "");
-Expect(1, 65663, '\P{^islinearbsyllabary}', "");
-Expect(0, 1, '\p{islinearbsyllabary}', "");
-Expect(1, 1, '\p{^islinearbsyllabary}', "");
-Expect(1, 1, '\P{islinearbsyllabary}', "");
-Expect(0, 1, '\P{^islinearbsyllabary}', "");
-Expect(1, 65663, '\p{ _IS_Linear B-SYLLABARY}', "");
-Expect(0, 65663, '\p{^ _IS_Linear B-SYLLABARY}', "");
-Expect(0, 65663, '\P{ _IS_Linear B-SYLLABARY}', "");
-Expect(1, 65663, '\P{^ _IS_Linear B-SYLLABARY}', "");
-Expect(0, 1, '\p{ _IS_Linear B-SYLLABARY}', "");
-Expect(1, 1, '\p{^ _IS_Linear B-SYLLABARY}', "");
-Expect(1, 1, '\P{ _IS_Linear B-SYLLABARY}', "");
-Expect(0, 1, '\P{^ _IS_Linear B-SYLLABARY}', "");
-Error('\p{/a/ In Linear_b-Syllabary}');
-Error('\P{/a/ In Linear_b-Syllabary}');
-Expect(1, 65663, '\p{inlinearbsyllabary}', "");
-Expect(0, 65663, '\p{^inlinearbsyllabary}', "");
-Expect(0, 65663, '\P{inlinearbsyllabary}', "");
-Expect(1, 65663, '\P{^inlinearbsyllabary}', "");
-Expect(0, 1, '\p{inlinearbsyllabary}', "");
-Expect(1, 1, '\p{^inlinearbsyllabary}', "");
-Expect(1, 1, '\P{inlinearbsyllabary}', "");
-Expect(0, 1, '\P{^inlinearbsyllabary}', "");
-Expect(1, 65663, '\p{ In Linear B-SYLLABARY}', "");
-Expect(0, 65663, '\p{^ In Linear B-SYLLABARY}', "");
-Expect(0, 65663, '\P{ In Linear B-SYLLABARY}', "");
-Expect(1, 65663, '\P{^ In Linear B-SYLLABARY}', "");
-Expect(0, 1, '\p{ In Linear B-SYLLABARY}', "");
-Expect(1, 1, '\p{^ In Linear B-SYLLABARY}', "");
-Expect(1, 1, '\P{ In Linear B-SYLLABARY}', "");
-Expect(0, 1, '\P{^ In Linear B-SYLLABARY}', "");
-Error('\p{ Hangul jamo/a/EXTENDED B}');
-Error('\P{ Hangul jamo/a/EXTENDED B}');
-Expect(1, 55295, '\p{hanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^hanguljamoextendedb}', "");
-Expect(0, 55295, '\P{hanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^hanguljamoextendedb}', "");
-Expect(0, 55215, '\p{hanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^hanguljamoextendedb}', "");
-Expect(1, 55215, '\P{hanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^hanguljamoextendedb}', "");
-Expect(1, 55295, '\p{_HANGUL-Jamo_Extended-B}', "");
-Expect(0, 55295, '\p{^_HANGUL-Jamo_Extended-B}', "");
-Expect(0, 55295, '\P{_HANGUL-Jamo_Extended-B}', "");
-Expect(1, 55295, '\P{^_HANGUL-Jamo_Extended-B}', "");
-Expect(0, 55215, '\p{_HANGUL-Jamo_Extended-B}', "");
-Expect(1, 55215, '\p{^_HANGUL-Jamo_Extended-B}', "");
-Expect(1, 55215, '\P{_HANGUL-Jamo_Extended-B}', "");
-Expect(0, 55215, '\P{^_HANGUL-Jamo_Extended-B}', "");
-Error('\p{- IS:=Hangul Jamo_Extended_B}');
-Error('\P{- IS:=Hangul Jamo_Extended_B}');
-Expect(1, 55295, '\p{ishanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^ishanguljamoextendedb}', "");
-Expect(0, 55295, '\P{ishanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^ishanguljamoextendedb}', "");
-Expect(0, 55215, '\p{ishanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^ishanguljamoextendedb}', "");
-Expect(1, 55215, '\P{ishanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^ishanguljamoextendedb}', "");
-Expect(1, 55295, '\p{- Ishangul JAMO-Extended_B}', "");
-Expect(0, 55295, '\p{^- Ishangul JAMO-Extended_B}', "");
-Expect(0, 55295, '\P{- Ishangul JAMO-Extended_B}', "");
-Expect(1, 55295, '\P{^- Ishangul JAMO-Extended_B}', "");
-Expect(0, 55215, '\p{- Ishangul JAMO-Extended_B}', "");
-Expect(1, 55215, '\p{^- Ishangul JAMO-Extended_B}', "");
-Expect(1, 55215, '\P{- Ishangul JAMO-Extended_B}', "");
-Expect(0, 55215, '\P{^- Ishangul JAMO-Extended_B}', "");
-Error('\p{ _INHangul_JAMO/a/Extended B}');
-Error('\P{ _INHangul_JAMO/a/Extended B}');
-Expect(1, 55295, '\p{inhanguljamoextendedb}', "");
-Expect(0, 55295, '\p{^inhanguljamoextendedb}', "");
-Expect(0, 55295, '\P{inhanguljamoextendedb}', "");
-Expect(1, 55295, '\P{^inhanguljamoextendedb}', "");
-Expect(0, 55215, '\p{inhanguljamoextendedb}', "");
-Expect(1, 55215, '\p{^inhanguljamoextendedb}', "");
-Expect(1, 55215, '\P{inhanguljamoextendedb}', "");
-Expect(0, 55215, '\P{^inhanguljamoextendedb}', "");
-Expect(1, 55295, '\p{-inhangul jamo EXTENDED B}', "");
-Expect(0, 55295, '\p{^-inhangul jamo EXTENDED B}', "");
-Expect(0, 55295, '\P{-inhangul jamo EXTENDED B}', "");
-Expect(1, 55295, '\P{^-inhangul jamo EXTENDED B}', "");
-Expect(0, 55215, '\p{-inhangul jamo EXTENDED B}', "");
-Expect(1, 55215, '\p{^-inhangul jamo EXTENDED B}', "");
-Expect(1, 55215, '\P{-inhangul jamo EXTENDED B}', "");
-Expect(0, 55215, '\P{^-inhangul jamo EXTENDED B}', "");
-Error('\p{:=_-IN_Buginese}');
-Error('\P{:=_-IN_Buginese}');
-Expect(1, 6687, '\p{inbuginese}', "");
-Expect(0, 6687, '\p{^inbuginese}', "");
-Expect(0, 6687, '\P{inbuginese}', "");
-Expect(1, 6687, '\P{^inbuginese}', "");
-Expect(0, 6655, '\p{inbuginese}', "");
-Expect(1, 6655, '\p{^inbuginese}', "");
-Expect(1, 6655, '\P{inbuginese}', "");
-Expect(0, 6655, '\P{^inbuginese}', "");
-Expect(1, 6687, '\p{_In Buginese}', "");
-Expect(0, 6687, '\p{^_In Buginese}', "");
-Expect(0, 6687, '\P{_In Buginese}', "");
-Expect(1, 6687, '\P{^_In Buginese}', "");
-Expect(0, 6655, '\p{_In Buginese}', "");
-Expect(1, 6655, '\p{^_In Buginese}', "");
-Expect(1, 6655, '\P{_In Buginese}', "");
-Expect(0, 6655, '\P{^_In Buginese}', "");
-Error('\p{ /a/In Tagbanwa}');
-Error('\P{ /a/In Tagbanwa}');
-Expect(1, 6015, '\p{intagbanwa}', "");
-Expect(0, 6015, '\p{^intagbanwa}', "");
-Expect(0, 6015, '\P{intagbanwa}', "");
-Expect(1, 6015, '\P{^intagbanwa}', "");
-Expect(0, 5983, '\p{intagbanwa}', "");
-Expect(1, 5983, '\p{^intagbanwa}', "");
-Expect(1, 5983, '\P{intagbanwa}', "");
-Expect(0, 5983, '\P{^intagbanwa}', "");
-Expect(1, 6015, '\p{_ In_TAGBANWA}', "");
-Expect(0, 6015, '\p{^_ In_TAGBANWA}', "");
-Expect(0, 6015, '\P{_ In_TAGBANWA}', "");
-Expect(1, 6015, '\P{^_ In_TAGBANWA}', "");
-Expect(0, 5983, '\p{_ In_TAGBANWA}', "");
-Expect(1, 5983, '\p{^_ In_TAGBANWA}', "");
-Expect(1, 5983, '\P{_ In_TAGBANWA}', "");
-Expect(0, 5983, '\P{^_ In_TAGBANWA}', "");
-Error('\p{/a/__XID_start}');
-Error('\P{/a/__XID_start}');
-Expect(1, 90, '\p{xidstart}', "");
-Expect(0, 90, '\p{^xidstart}', "");
-Expect(0, 90, '\P{xidstart}', "");
-Expect(1, 90, '\P{^xidstart}', "");
-Expect(0, 64, '\p{xidstart}', "");
-Expect(1, 64, '\p{^xidstart}', "");
-Expect(1, 64, '\P{xidstart}', "");
-Expect(0, 64, '\P{^xidstart}', "");
-Expect(1, 90, '\p{_ XID Start}', "");
-Expect(0, 90, '\p{^_ XID Start}', "");
-Expect(0, 90, '\P{_ XID Start}', "");
-Expect(1, 90, '\P{^_ XID Start}', "");
-Expect(0, 64, '\p{_ XID Start}', "");
-Expect(1, 64, '\p{^_ XID Start}', "");
-Expect(1, 64, '\P{_ XID Start}', "");
-Expect(0, 64, '\P{^_ XID Start}', "");
-Error('\p{-/a/Is xid Start}');
-Error('\P{-/a/Is xid Start}');
-Expect(1, 90, '\p{isxidstart}', "");
-Expect(0, 90, '\p{^isxidstart}', "");
-Expect(0, 90, '\P{isxidstart}', "");
-Expect(1, 90, '\P{^isxidstart}', "");
-Expect(0, 64, '\p{isxidstart}', "");
-Expect(1, 64, '\p{^isxidstart}', "");
-Expect(1, 64, '\P{isxidstart}', "");
-Expect(0, 64, '\P{^isxidstart}', "");
-Expect(1, 90, '\p{-Is XID Start}', "");
-Expect(0, 90, '\p{^-Is XID Start}', "");
-Expect(0, 90, '\P{-Is XID Start}', "");
-Expect(1, 90, '\P{^-Is XID Start}', "");
-Expect(0, 64, '\p{-Is XID Start}', "");
-Expect(1, 64, '\p{^-Is XID Start}', "");
-Expect(1, 64, '\P{-Is XID Start}', "");
-Expect(0, 64, '\P{^-Is XID Start}', "");
-Error('\p{ XIDS/a/}');
-Error('\P{ XIDS/a/}');
-Expect(1, 90, '\p{xids}', "");
-Expect(0, 90, '\p{^xids}', "");
-Expect(0, 90, '\P{xids}', "");
-Expect(1, 90, '\P{^xids}', "");
-Expect(0, 64, '\p{xids}', "");
-Expect(1, 64, '\p{^xids}', "");
-Expect(1, 64, '\P{xids}', "");
-Expect(0, 64, '\P{^xids}', "");
-Expect(1, 90, '\p{_ XIDS}', "");
-Expect(0, 90, '\p{^_ XIDS}', "");
-Expect(0, 90, '\P{_ XIDS}', "");
-Expect(1, 90, '\P{^_ XIDS}', "");
-Expect(0, 64, '\p{_ XIDS}', "");
-Expect(1, 64, '\p{^_ XIDS}', "");
-Expect(1, 64, '\P{_ XIDS}', "");
-Expect(0, 64, '\P{^_ XIDS}', "");
-Error('\p{:=-_Is-XIDS}');
-Error('\P{:=-_Is-XIDS}');
-Expect(1, 90, '\p{isxids}', "");
-Expect(0, 90, '\p{^isxids}', "");
-Expect(0, 90, '\P{isxids}', "");
-Expect(1, 90, '\P{^isxids}', "");
-Expect(0, 64, '\p{isxids}', "");
-Expect(1, 64, '\p{^isxids}', "");
-Expect(1, 64, '\P{isxids}', "");
-Expect(0, 64, '\P{^isxids}', "");
-Expect(1, 90, '\p{_IS XIDS}', "");
-Expect(0, 90, '\p{^_IS XIDS}', "");
-Expect(0, 90, '\P{_IS XIDS}', "");
-Expect(1, 90, '\P{^_IS XIDS}', "");
-Expect(0, 64, '\p{_IS XIDS}', "");
-Expect(1, 64, '\p{^_IS XIDS}', "");
-Expect(1, 64, '\P{_IS XIDS}', "");
-Expect(0, 64, '\P{^_IS XIDS}', "");
-Error('\p{ /a/GRAPH}');
-Error('\P{ /a/GRAPH}');
-Expect(1, 126, '\p{graph}', "");
-Expect(0, 126, '\p{^graph}', "");
-Expect(0, 126, '\P{graph}', "");
-Expect(1, 126, '\P{^graph}', "");
-Expect(0, 32, '\p{graph}', "");
-Expect(1, 32, '\p{^graph}', "");
-Expect(1, 32, '\P{graph}', "");
-Expect(0, 32, '\P{^graph}', "");
-Expect(1, 126, '\p{ _Graph}', "");
-Expect(0, 126, '\p{^ _Graph}', "");
-Expect(0, 126, '\P{ _Graph}', "");
-Expect(1, 126, '\P{^ _Graph}', "");
-Expect(0, 32, '\p{ _Graph}', "");
-Expect(1, 32, '\p{^ _Graph}', "");
-Expect(1, 32, '\P{ _Graph}', "");
-Expect(0, 32, '\P{^ _Graph}', "");
-Error('\p{-:=Is Graph}');
-Error('\P{-:=Is Graph}');
-Expect(1, 126, '\p{isgraph}', "");
-Expect(0, 126, '\p{^isgraph}', "");
-Expect(0, 126, '\P{isgraph}', "");
-Expect(1, 126, '\P{^isgraph}', "");
-Expect(0, 32, '\p{isgraph}', "");
-Expect(1, 32, '\p{^isgraph}', "");
-Expect(1, 32, '\P{isgraph}', "");
-Expect(0, 32, '\P{^isgraph}', "");
-Expect(1, 126, '\p{__IS Graph}', "");
-Expect(0, 126, '\p{^__IS Graph}', "");
-Expect(0, 126, '\P{__IS Graph}', "");
-Expect(1, 126, '\P{^__IS Graph}', "");
-Expect(0, 32, '\p{__IS Graph}', "");
-Expect(1, 32, '\p{^__IS Graph}', "");
-Expect(1, 32, '\P{__IS Graph}', "");
-Expect(0, 32, '\P{^__IS Graph}', "");
-Error('\p{-Phonetic:=EXTENSIONS_Supplement}');
-Error('\P{-Phonetic:=EXTENSIONS_Supplement}');
-Expect(1, 7615, '\p{phoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^phoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{phoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^phoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{phoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^phoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{phoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^phoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{ Phonetic Extensions Supplement}', "");
-Expect(0, 7615, '\p{^ Phonetic Extensions Supplement}', "");
-Expect(0, 7615, '\P{ Phonetic Extensions Supplement}', "");
-Expect(1, 7615, '\P{^ Phonetic Extensions Supplement}', "");
-Expect(0, 7551, '\p{ Phonetic Extensions Supplement}', "");
-Expect(1, 7551, '\p{^ Phonetic Extensions Supplement}', "");
-Expect(1, 7551, '\P{ Phonetic Extensions Supplement}', "");
-Expect(0, 7551, '\P{^ Phonetic Extensions Supplement}', "");
-Error('\p{/a/_ISPhoneticExtensions supplement}');
-Error('\P{/a/_ISPhoneticExtensions supplement}');
-Expect(1, 7615, '\p{isphoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^isphoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{isphoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^isphoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{isphoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^isphoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{isphoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^isphoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{_IS phonetic_extensionssupplement}', "");
-Expect(0, 7615, '\p{^_IS phonetic_extensionssupplement}', "");
-Expect(0, 7615, '\P{_IS phonetic_extensionssupplement}', "");
-Expect(1, 7615, '\P{^_IS phonetic_extensionssupplement}', "");
-Expect(0, 7551, '\p{_IS phonetic_extensionssupplement}', "");
-Expect(1, 7551, '\p{^_IS phonetic_extensionssupplement}', "");
-Expect(1, 7551, '\P{_IS phonetic_extensionssupplement}', "");
-Expect(0, 7551, '\P{^_IS phonetic_extensionssupplement}', "");
-Error('\p{/a/- InPhonetic_Extensions_SUPPLEMENT}');
-Error('\P{/a/- InPhonetic_Extensions_SUPPLEMENT}');
-Expect(1, 7615, '\p{inphoneticextensionssupplement}', "");
-Expect(0, 7615, '\p{^inphoneticextensionssupplement}', "");
-Expect(0, 7615, '\P{inphoneticextensionssupplement}', "");
-Expect(1, 7615, '\P{^inphoneticextensionssupplement}', "");
-Expect(0, 7551, '\p{inphoneticextensionssupplement}', "");
-Expect(1, 7551, '\p{^inphoneticextensionssupplement}', "");
-Expect(1, 7551, '\P{inphoneticextensionssupplement}', "");
-Expect(0, 7551, '\P{^inphoneticextensionssupplement}', "");
-Expect(1, 7615, '\p{_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(0, 7615, '\p{^_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(0, 7615, '\P{_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(1, 7615, '\P{^_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(0, 7551, '\p{_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(1, 7551, '\p{^_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(1, 7551, '\P{_-IN PHONETIC EXTENSIONSSupplement}', "");
-Expect(0, 7551, '\P{^_-IN PHONETIC EXTENSIONSSupplement}', "");
-Error('\p{:=-_modifier-tone LETTERS}');
-Error('\P{:=-_modifier-tone LETTERS}');
-Expect(1, 42783, '\p{modifiertoneletters}', "");
-Expect(0, 42783, '\p{^modifiertoneletters}', "");
-Expect(0, 42783, '\P{modifiertoneletters}', "");
-Expect(1, 42783, '\P{^modifiertoneletters}', "");
-Expect(0, 42751, '\p{modifiertoneletters}', "");
-Expect(1, 42751, '\p{^modifiertoneletters}', "");
-Expect(1, 42751, '\P{modifiertoneletters}', "");
-Expect(0, 42751, '\P{^modifiertoneletters}', "");
-Expect(1, 42783, '\p{-Modifier TONE-LETTERS}', "");
-Expect(0, 42783, '\p{^-Modifier TONE-LETTERS}', "");
-Expect(0, 42783, '\P{-Modifier TONE-LETTERS}', "");
-Expect(1, 42783, '\P{^-Modifier TONE-LETTERS}', "");
-Expect(0, 42751, '\p{-Modifier TONE-LETTERS}', "");
-Expect(1, 42751, '\p{^-Modifier TONE-LETTERS}', "");
-Expect(1, 42751, '\P{-Modifier TONE-LETTERS}', "");
-Expect(0, 42751, '\P{^-Modifier TONE-LETTERS}', "");
-Error('\p{ -Is_Modifier TONELetters/a/}');
-Error('\P{ -Is_Modifier TONELetters/a/}');
-Expect(1, 42783, '\p{ismodifiertoneletters}', "");
-Expect(0, 42783, '\p{^ismodifiertoneletters}', "");
-Expect(0, 42783, '\P{ismodifiertoneletters}', "");
-Expect(1, 42783, '\P{^ismodifiertoneletters}', "");
-Expect(0, 42751, '\p{ismodifiertoneletters}', "");
-Expect(1, 42751, '\p{^ismodifiertoneletters}', "");
-Expect(1, 42751, '\P{ismodifiertoneletters}', "");
-Expect(0, 42751, '\P{^ismodifiertoneletters}', "");
-Expect(1, 42783, '\p{ _is-MODIFIER-Tone Letters}', "");
-Expect(0, 42783, '\p{^ _is-MODIFIER-Tone Letters}', "");
-Expect(0, 42783, '\P{ _is-MODIFIER-Tone Letters}', "");
-Expect(1, 42783, '\P{^ _is-MODIFIER-Tone Letters}', "");
-Expect(0, 42751, '\p{ _is-MODIFIER-Tone Letters}', "");
-Expect(1, 42751, '\p{^ _is-MODIFIER-Tone Letters}', "");
-Expect(1, 42751, '\P{ _is-MODIFIER-Tone Letters}', "");
-Expect(0, 42751, '\P{^ _is-MODIFIER-Tone Letters}', "");
-Error('\p{-:=in MODIFIERTONE Letters}');
-Error('\P{-:=in MODIFIERTONE Letters}');
-Expect(1, 42783, '\p{inmodifiertoneletters}', "");
-Expect(0, 42783, '\p{^inmodifiertoneletters}', "");
-Expect(0, 42783, '\P{inmodifiertoneletters}', "");
-Expect(1, 42783, '\P{^inmodifiertoneletters}', "");
-Expect(0, 42751, '\p{inmodifiertoneletters}', "");
-Expect(1, 42751, '\p{^inmodifiertoneletters}', "");
-Expect(1, 42751, '\P{inmodifiertoneletters}', "");
-Expect(0, 42751, '\P{^inmodifiertoneletters}', "");
-Expect(1, 42783, '\p{ In-MODIFIERTONE_Letters}', "");
-Expect(0, 42783, '\p{^ In-MODIFIERTONE_Letters}', "");
-Expect(0, 42783, '\P{ In-MODIFIERTONE_Letters}', "");
-Expect(1, 42783, '\P{^ In-MODIFIERTONE_Letters}', "");
-Expect(0, 42751, '\p{ In-MODIFIERTONE_Letters}', "");
-Expect(1, 42751, '\p{^ In-MODIFIERTONE_Letters}', "");
-Expect(1, 42751, '\P{ In-MODIFIERTONE_Letters}', "");
-Expect(0, 42751, '\P{^ In-MODIFIERTONE_Letters}', "");
-Error('\p{:=_ CHANGES when CASEFOLDED}');
-Error('\P{:=_ CHANGES when CASEFOLDED}');
-Expect(1, 90, '\p{changeswhencasefolded}', "");
-Expect(0, 90, '\p{^changeswhencasefolded}', "");
-Expect(0, 90, '\P{changeswhencasefolded}', "");
-Expect(1, 90, '\P{^changeswhencasefolded}', "");
-Expect(0, 64, '\p{changeswhencasefolded}', "");
-Expect(1, 64, '\p{^changeswhencasefolded}', "");
-Expect(1, 64, '\P{changeswhencasefolded}', "");
-Expect(0, 64, '\P{^changeswhencasefolded}', "");
-Expect(1, 90, '\p{- changesWhen_Casefolded}', "");
-Expect(0, 90, '\p{^- changesWhen_Casefolded}', "");
-Expect(0, 90, '\P{- changesWhen_Casefolded}', "");
-Expect(1, 90, '\P{^- changesWhen_Casefolded}', "");
-Expect(0, 64, '\p{- changesWhen_Casefolded}', "");
-Expect(1, 64, '\p{^- changesWhen_Casefolded}', "");
-Expect(1, 64, '\P{- changesWhen_Casefolded}', "");
-Expect(0, 64, '\P{^- changesWhen_Casefolded}', "");
-Error('\p{_ IS:=Changes_When CASEFOLDED}');
-Error('\P{_ IS:=Changes_When CASEFOLDED}');
-Expect(1, 90, '\p{ischangeswhencasefolded}', "");
-Expect(0, 90, '\p{^ischangeswhencasefolded}', "");
-Expect(0, 90, '\P{ischangeswhencasefolded}', "");
-Expect(1, 90, '\P{^ischangeswhencasefolded}', "");
-Expect(0, 64, '\p{ischangeswhencasefolded}', "");
-Expect(1, 64, '\p{^ischangeswhencasefolded}', "");
-Expect(1, 64, '\P{ischangeswhencasefolded}', "");
-Expect(0, 64, '\P{^ischangeswhencasefolded}', "");
-Expect(1, 90, '\p{ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(0, 90, '\p{^ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(0, 90, '\P{ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(1, 90, '\P{^ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(0, 64, '\p{ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(1, 64, '\p{^ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(1, 64, '\P{ _Is CHANGESWHEN_CASEFOLDED}', "");
-Expect(0, 64, '\P{^ _Is CHANGESWHEN_CASEFOLDED}', "");
-Error('\p{ /a/CWCF}');
-Error('\P{ /a/CWCF}');
-Expect(1, 90, '\p{cwcf}', "");
-Expect(0, 90, '\p{^cwcf}', "");
-Expect(0, 90, '\P{cwcf}', "");
-Expect(1, 90, '\P{^cwcf}', "");
-Expect(0, 64, '\p{cwcf}', "");
-Expect(1, 64, '\p{^cwcf}', "");
-Expect(1, 64, '\P{cwcf}', "");
-Expect(0, 64, '\P{^cwcf}', "");
-Expect(1, 90, '\p{-CWCF}', "");
-Expect(0, 90, '\p{^-CWCF}', "");
-Expect(0, 90, '\P{-CWCF}', "");
-Expect(1, 90, '\P{^-CWCF}', "");
-Expect(0, 64, '\p{-CWCF}', "");
-Expect(1, 64, '\p{^-CWCF}', "");
-Expect(1, 64, '\P{-CWCF}', "");
-Expect(0, 64, '\P{^-CWCF}', "");
-Error('\p{ :=iscwcf}');
-Error('\P{ :=iscwcf}');
-Expect(1, 90, '\p{iscwcf}', "");
-Expect(0, 90, '\p{^iscwcf}', "");
-Expect(0, 90, '\P{iscwcf}', "");
-Expect(1, 90, '\P{^iscwcf}', "");
-Expect(0, 64, '\p{iscwcf}', "");
-Expect(1, 64, '\p{^iscwcf}', "");
-Expect(1, 64, '\P{iscwcf}', "");
-Expect(0, 64, '\P{^iscwcf}', "");
-Expect(1, 90, '\p{ IS_CWCF}', "");
-Expect(0, 90, '\p{^ IS_CWCF}', "");
-Expect(0, 90, '\P{ IS_CWCF}', "");
-Expect(1, 90, '\P{^ IS_CWCF}', "");
-Expect(0, 64, '\p{ IS_CWCF}', "");
-Expect(1, 64, '\p{^ IS_CWCF}', "");
-Expect(1, 64, '\P{ IS_CWCF}', "");
-Expect(0, 64, '\P{^ IS_CWCF}', "");
-Error('\p{ Private:=USEArea}');
-Error('\P{ Private:=USEArea}');
-Expect(1, 63743, '\p{privateusearea}', "");
-Expect(0, 63743, '\p{^privateusearea}', "");
-Expect(0, 63743, '\P{privateusearea}', "");
-Expect(1, 63743, '\P{^privateusearea}', "");
-Expect(0, 1, '\p{privateusearea}', "");
-Expect(1, 1, '\p{^privateusearea}', "");
-Expect(1, 1, '\P{privateusearea}', "");
-Expect(0, 1, '\P{^privateusearea}', "");
-Expect(1, 63743, '\p{-PRIVATE USE Area}', "");
-Expect(0, 63743, '\p{^-PRIVATE USE Area}', "");
-Expect(0, 63743, '\P{-PRIVATE USE Area}', "");
-Expect(1, 63743, '\P{^-PRIVATE USE Area}', "");
-Expect(0, 1, '\p{-PRIVATE USE Area}', "");
-Expect(1, 1, '\p{^-PRIVATE USE Area}', "");
-Expect(1, 1, '\P{-PRIVATE USE Area}', "");
-Expect(0, 1, '\P{^-PRIVATE USE Area}', "");
-Error('\p{:=--IS-Private-USE-Area}');
-Error('\P{:=--IS-Private-USE-Area}');
-Expect(1, 63743, '\p{isprivateusearea}', "");
-Expect(0, 63743, '\p{^isprivateusearea}', "");
-Expect(0, 63743, '\P{isprivateusearea}', "");
-Expect(1, 63743, '\P{^isprivateusearea}', "");
-Expect(0, 1, '\p{isprivateusearea}', "");
-Expect(1, 1, '\p{^isprivateusearea}', "");
-Expect(1, 1, '\P{isprivateusearea}', "");
-Expect(0, 1, '\P{^isprivateusearea}', "");
-Expect(1, 63743, '\p{ isprivateuse AREA}', "");
-Expect(0, 63743, '\p{^ isprivateuse AREA}', "");
-Expect(0, 63743, '\P{ isprivateuse AREA}', "");
-Expect(1, 63743, '\P{^ isprivateuse AREA}', "");
-Expect(0, 1, '\p{ isprivateuse AREA}', "");
-Expect(1, 1, '\p{^ isprivateuse AREA}', "");
-Expect(1, 1, '\P{ isprivateuse AREA}', "");
-Expect(0, 1, '\P{^ isprivateuse AREA}', "");
-Error('\p{_:=IN-PRIVATE USEArea}');
-Error('\P{_:=IN-PRIVATE USEArea}');
-Expect(1, 63743, '\p{inprivateusearea}', "");
-Expect(0, 63743, '\p{^inprivateusearea}', "");
-Expect(0, 63743, '\P{inprivateusearea}', "");
-Expect(1, 63743, '\P{^inprivateusearea}', "");
-Expect(0, 1, '\p{inprivateusearea}', "");
-Expect(1, 1, '\p{^inprivateusearea}', "");
-Expect(1, 1, '\P{inprivateusearea}', "");
-Expect(0, 1, '\P{^inprivateusearea}', "");
-Expect(1, 63743, '\p{__In_Private Use_area}', "");
-Expect(0, 63743, '\p{^__In_Private Use_area}', "");
-Expect(0, 63743, '\P{__In_Private Use_area}', "");
-Expect(1, 63743, '\P{^__In_Private Use_area}', "");
-Expect(0, 1, '\p{__In_Private Use_area}', "");
-Expect(1, 1, '\p{^__In_Private Use_area}', "");
-Expect(1, 1, '\P{__In_Private Use_area}', "");
-Expect(0, 1, '\P{^__In_Private Use_area}', "");
-Error('\p{_:=In_private Use}');
-Error('\P{_:=In_private Use}');
-Expect(1, 63743, '\p{inprivateuse}', "");
-Expect(0, 63743, '\p{^inprivateuse}', "");
-Expect(0, 63743, '\P{inprivateuse}', "");
-Expect(1, 63743, '\P{^inprivateuse}', "");
-Expect(0, 1, '\p{inprivateuse}', "");
-Expect(1, 1, '\p{^inprivateuse}', "");
-Expect(1, 1, '\P{inprivateuse}', "");
-Expect(0, 1, '\P{^inprivateuse}', "");
-Expect(1, 63743, '\p{ _INprivateuse}', "");
-Expect(0, 63743, '\p{^ _INprivateuse}', "");
-Expect(0, 63743, '\P{ _INprivateuse}', "");
-Expect(1, 63743, '\P{^ _INprivateuse}', "");
-Expect(0, 1, '\p{ _INprivateuse}', "");
-Expect(1, 1, '\p{^ _INprivateuse}', "");
-Expect(1, 1, '\P{ _INprivateuse}', "");
-Expect(0, 1, '\P{^ _INprivateuse}', "");
-Error('\p{ :=LYCIAN}');
-Error('\P{ :=LYCIAN}');
-Expect(1, 66204, '\p{lycian}', "");
-Expect(0, 66204, '\p{^lycian}', "");
-Expect(0, 66204, '\P{lycian}', "");
-Expect(1, 66204, '\P{^lycian}', "");
-Expect(0, 66175, '\p{lycian}', "");
-Expect(1, 66175, '\p{^lycian}', "");
-Expect(1, 66175, '\P{lycian}', "");
-Expect(0, 66175, '\P{^lycian}', "");
-Expect(1, 66204, '\p{- Lycian}', "");
-Expect(0, 66204, '\p{^- Lycian}', "");
-Expect(0, 66204, '\P{- Lycian}', "");
-Expect(1, 66204, '\P{^- Lycian}', "");
-Expect(0, 66175, '\p{- Lycian}', "");
-Expect(1, 66175, '\p{^- Lycian}', "");
-Expect(1, 66175, '\P{- Lycian}', "");
-Expect(0, 66175, '\P{^- Lycian}', "");
-Error('\p{ Is:=Lycian}');
-Error('\P{ Is:=Lycian}');
-Expect(1, 66204, '\p{islycian}', "");
-Expect(0, 66204, '\p{^islycian}', "");
-Expect(0, 66204, '\P{islycian}', "");
-Expect(1, 66204, '\P{^islycian}', "");
-Expect(0, 66175, '\p{islycian}', "");
-Expect(1, 66175, '\p{^islycian}', "");
-Expect(1, 66175, '\P{islycian}', "");
-Expect(0, 66175, '\P{^islycian}', "");
-Expect(1, 66204, '\p{ Is_LYCIAN}', "");
-Expect(0, 66204, '\p{^ Is_LYCIAN}', "");
-Expect(0, 66204, '\P{ Is_LYCIAN}', "");
-Expect(1, 66204, '\P{^ Is_LYCIAN}', "");
-Expect(0, 66175, '\p{ Is_LYCIAN}', "");
-Expect(1, 66175, '\p{^ Is_LYCIAN}', "");
-Expect(1, 66175, '\P{ Is_LYCIAN}', "");
-Expect(0, 66175, '\P{^ Is_LYCIAN}', "");
-Error('\p{_/a/lyci}');
-Error('\P{_/a/lyci}');
-Expect(1, 66204, '\p{lyci}', "");
-Expect(0, 66204, '\p{^lyci}', "");
-Expect(0, 66204, '\P{lyci}', "");
-Expect(1, 66204, '\P{^lyci}', "");
-Expect(0, 66175, '\p{lyci}', "");
-Expect(1, 66175, '\p{^lyci}', "");
-Expect(1, 66175, '\P{lyci}', "");
-Expect(0, 66175, '\P{^lyci}', "");
-Expect(1, 66204, '\p{ Lyci}', "");
-Expect(0, 66204, '\p{^ Lyci}', "");
-Expect(0, 66204, '\P{ Lyci}', "");
-Expect(1, 66204, '\P{^ Lyci}', "");
-Expect(0, 66175, '\p{ Lyci}', "");
-Expect(1, 66175, '\p{^ Lyci}', "");
-Expect(1, 66175, '\P{ Lyci}', "");
-Expect(0, 66175, '\P{^ Lyci}', "");
-Error('\p{:=__IS_Lyci}');
-Error('\P{:=__IS_Lyci}');
-Expect(1, 66204, '\p{islyci}', "");
-Expect(0, 66204, '\p{^islyci}', "");
-Expect(0, 66204, '\P{islyci}', "");
-Expect(1, 66204, '\P{^islyci}', "");
-Expect(0, 66175, '\p{islyci}', "");
-Expect(1, 66175, '\p{^islyci}', "");
-Expect(1, 66175, '\P{islyci}', "");
-Expect(0, 66175, '\P{^islyci}', "");
-Expect(1, 66204, '\p{_Is_Lyci}', "");
-Expect(0, 66204, '\p{^_Is_Lyci}', "");
-Expect(0, 66204, '\P{_Is_Lyci}', "");
-Expect(1, 66204, '\P{^_Is_Lyci}', "");
-Expect(0, 66175, '\p{_Is_Lyci}', "");
-Expect(1, 66175, '\p{^_Is_Lyci}', "");
-Expect(1, 66175, '\P{_Is_Lyci}', "");
-Expect(0, 66175, '\P{^_Is_Lyci}', "");
-Error('\p{/a/Number}');
-Error('\P{/a/Number}');
-Expect(1, 57, '\p{number}', "");
-Expect(0, 57, '\p{^number}', "");
-Expect(0, 57, '\P{number}', "");
-Expect(1, 57, '\P{^number}', "");
-Expect(0, 47, '\p{number}', "");
-Expect(1, 47, '\p{^number}', "");
-Expect(1, 47, '\P{number}', "");
-Expect(0, 47, '\P{^number}', "");
-Expect(1, 57, '\p{ _Number}', "");
-Expect(0, 57, '\p{^ _Number}', "");
-Expect(0, 57, '\P{ _Number}', "");
-Expect(1, 57, '\P{^ _Number}', "");
-Expect(0, 47, '\p{ _Number}', "");
-Expect(1, 47, '\p{^ _Number}', "");
-Expect(1, 47, '\P{ _Number}', "");
-Expect(0, 47, '\P{^ _Number}', "");
-Error('\p{:= Is Number}');
-Error('\P{:= Is Number}');
-Expect(1, 57, '\p{isnumber}', "");
-Expect(0, 57, '\p{^isnumber}', "");
-Expect(0, 57, '\P{isnumber}', "");
-Expect(1, 57, '\P{^isnumber}', "");
-Expect(0, 47, '\p{isnumber}', "");
-Expect(1, 47, '\p{^isnumber}', "");
-Expect(1, 47, '\P{isnumber}', "");
-Expect(0, 47, '\P{^isnumber}', "");
-Expect(1, 57, '\p{_IS-number}', "");
-Expect(0, 57, '\p{^_IS-number}', "");
-Expect(0, 57, '\P{_IS-number}', "");
-Expect(1, 57, '\P{^_IS-number}', "");
-Expect(0, 47, '\p{_IS-number}', "");
-Expect(1, 47, '\p{^_IS-number}', "");
-Expect(1, 47, '\P{_IS-number}', "");
-Expect(0, 47, '\P{^_IS-number}', "");
-Error('\p{/a/-_N}');
-Error('\P{/a/-_N}');
-Expect(1, 57, '\p{n}', "");
-Expect(0, 57, '\p{^n}', "");
-Expect(0, 57, '\P{n}', "");
-Expect(1, 57, '\P{^n}', "");
-Expect(0, 47, '\p{n}', "");
-Expect(1, 47, '\p{^n}', "");
-Expect(1, 47, '\P{n}', "");
-Expect(0, 47, '\P{^n}', "");
-Expect(1, 57, '\p{_-N}', "");
-Expect(0, 57, '\p{^_-N}', "");
-Expect(0, 57, '\P{_-N}', "");
-Expect(1, 57, '\P{^_-N}', "");
-Expect(0, 47, '\p{_-N}', "");
-Expect(1, 47, '\p{^_-N}', "");
-Expect(1, 47, '\P{_-N}', "");
-Expect(0, 47, '\P{^_-N}', "");
-Error('\p{ Is:=N}');
-Error('\P{ Is:=N}');
-Expect(1, 57, '\p{isn}', "");
-Expect(0, 57, '\p{^isn}', "");
-Expect(0, 57, '\P{isn}', "");
-Expect(1, 57, '\P{^isn}', "");
-Expect(0, 47, '\p{isn}', "");
-Expect(1, 47, '\p{^isn}', "");
-Expect(1, 47, '\P{isn}', "");
-Expect(0, 47, '\P{^isn}', "");
-Expect(1, 57, '\p{- Is n}', "");
-Expect(0, 57, '\p{^- Is n}', "");
-Expect(0, 57, '\P{- Is n}', "");
-Expect(1, 57, '\P{^- Is n}', "");
-Expect(0, 47, '\p{- Is n}', "");
-Expect(1, 47, '\p{^- Is n}', "");
-Expect(1, 47, '\P{- Is n}', "");
-Expect(0, 47, '\P{^- Is n}', "");
-Error('\p{_/a/POSIXDIGIT}');
-Error('\P{_/a/POSIXDIGIT}');
-Expect(1, 57, '\p{posixdigit}', "");
-Expect(0, 57, '\p{^posixdigit}', "");
-Expect(0, 57, '\P{posixdigit}', "");
-Expect(1, 57, '\P{^posixdigit}', "");
-Expect(0, 47, '\p{posixdigit}', "");
-Expect(1, 47, '\p{^posixdigit}', "");
-Expect(1, 47, '\P{posixdigit}', "");
-Expect(0, 47, '\P{^posixdigit}', "");
-Expect(1, 57, '\p{ PosixDigit}', "");
-Expect(0, 57, '\p{^ PosixDigit}', "");
-Expect(0, 57, '\P{ PosixDigit}', "");
-Expect(1, 57, '\P{^ PosixDigit}', "");
-Expect(0, 47, '\p{ PosixDigit}', "");
-Expect(1, 47, '\p{^ PosixDigit}', "");
-Expect(1, 47, '\P{ PosixDigit}', "");
-Expect(0, 47, '\P{^ PosixDigit}', "");
-Error('\p{_IS:=PosixDigit}');
-Error('\P{_IS:=PosixDigit}');
-Expect(1, 57, '\p{isposixdigit}', "");
-Expect(0, 57, '\p{^isposixdigit}', "");
-Expect(0, 57, '\P{isposixdigit}', "");
-Expect(1, 57, '\P{^isposixdigit}', "");
-Expect(0, 47, '\p{isposixdigit}', "");
-Expect(1, 47, '\p{^isposixdigit}', "");
-Expect(1, 47, '\P{isposixdigit}', "");
-Expect(0, 47, '\P{^isposixdigit}', "");
-Expect(1, 57, '\p{ Is_PosixDigit}', "");
-Expect(0, 57, '\p{^ Is_PosixDigit}', "");
-Expect(0, 57, '\P{ Is_PosixDigit}', "");
-Expect(1, 57, '\P{^ Is_PosixDigit}', "");
-Expect(0, 47, '\p{ Is_PosixDigit}', "");
-Expect(1, 47, '\p{^ Is_PosixDigit}', "");
-Expect(1, 47, '\P{ Is_PosixDigit}', "");
-Expect(0, 47, '\P{^ Is_PosixDigit}', "");
-Error('\p{:=- Georgian}');
-Error('\P{:=- Georgian}');
-Expect(1, 4293, '\p{georgian}', "");
-Expect(0, 4293, '\p{^georgian}', "");
-Expect(0, 4293, '\P{georgian}', "");
-Expect(1, 4293, '\P{^georgian}', "");
-Expect(0, 4255, '\p{georgian}', "");
-Expect(1, 4255, '\p{^georgian}', "");
-Expect(1, 4255, '\P{georgian}', "");
-Expect(0, 4255, '\P{^georgian}', "");
-Expect(1, 4293, '\p{ Georgian}', "");
-Expect(0, 4293, '\p{^ Georgian}', "");
-Expect(0, 4293, '\P{ Georgian}', "");
-Expect(1, 4293, '\P{^ Georgian}', "");
-Expect(0, 4255, '\p{ Georgian}', "");
-Expect(1, 4255, '\p{^ Georgian}', "");
-Expect(1, 4255, '\P{ Georgian}', "");
-Expect(0, 4255, '\P{^ Georgian}', "");
-Error('\p{ :=is_Georgian}');
-Error('\P{ :=is_Georgian}');
-Expect(1, 4293, '\p{isgeorgian}', "");
-Expect(0, 4293, '\p{^isgeorgian}', "");
-Expect(0, 4293, '\P{isgeorgian}', "");
-Expect(1, 4293, '\P{^isgeorgian}', "");
-Expect(0, 4255, '\p{isgeorgian}', "");
-Expect(1, 4255, '\p{^isgeorgian}', "");
-Expect(1, 4255, '\P{isgeorgian}', "");
-Expect(0, 4255, '\P{^isgeorgian}', "");
-Expect(1, 4293, '\p{- Is Georgian}', "");
-Expect(0, 4293, '\p{^- Is Georgian}', "");
-Expect(0, 4293, '\P{- Is Georgian}', "");
-Expect(1, 4293, '\P{^- Is Georgian}', "");
-Expect(0, 4255, '\p{- Is Georgian}', "");
-Expect(1, 4255, '\p{^- Is Georgian}', "");
-Expect(1, 4255, '\P{- Is Georgian}', "");
-Expect(0, 4255, '\P{^- Is Georgian}', "");
-Error('\p{ GEOR:=}');
-Error('\P{ GEOR:=}');
-Expect(1, 4293, '\p{geor}', "");
-Expect(0, 4293, '\p{^geor}', "");
-Expect(0, 4293, '\P{geor}', "");
-Expect(1, 4293, '\P{^geor}', "");
-Expect(0, 4255, '\p{geor}', "");
-Expect(1, 4255, '\p{^geor}', "");
-Expect(1, 4255, '\P{geor}', "");
-Expect(0, 4255, '\P{^geor}', "");
-Expect(1, 4293, '\p{ Geor}', "");
-Expect(0, 4293, '\p{^ Geor}', "");
-Expect(0, 4293, '\P{ Geor}', "");
-Expect(1, 4293, '\P{^ Geor}', "");
-Expect(0, 4255, '\p{ Geor}', "");
-Expect(1, 4255, '\p{^ Geor}', "");
-Expect(1, 4255, '\P{ Geor}', "");
-Expect(0, 4255, '\P{^ Geor}', "");
-Error('\p{- IS-Geor:=}');
-Error('\P{- IS-Geor:=}');
-Expect(1, 4293, '\p{isgeor}', "");
-Expect(0, 4293, '\p{^isgeor}', "");
-Expect(0, 4293, '\P{isgeor}', "");
-Expect(1, 4293, '\P{^isgeor}', "");
-Expect(0, 4255, '\p{isgeor}', "");
-Expect(1, 4255, '\p{^isgeor}', "");
-Expect(1, 4255, '\P{isgeor}', "");
-Expect(0, 4255, '\P{^isgeor}', "");
-Expect(1, 4293, '\p{_-isGeor}', "");
-Expect(0, 4293, '\p{^_-isGeor}', "");
-Expect(0, 4293, '\P{_-isGeor}', "");
-Expect(1, 4293, '\P{^_-isGeor}', "");
-Expect(0, 4255, '\p{_-isGeor}', "");
-Expect(1, 4255, '\p{^_-isGeor}', "");
-Expect(1, 4255, '\P{_-isGeor}', "");
-Expect(0, 4255, '\P{^_-isGeor}', "");
-Error('\p{:= _no_Block}');
-Error('\P{:= _no_Block}');
-Expect(1, 2303, '\p{noblock}', "");
-Expect(0, 2303, '\p{^noblock}', "");
-Expect(0, 2303, '\P{noblock}', "");
-Expect(1, 2303, '\P{^noblock}', "");
-Expect(0, 2111, '\p{noblock}', "");
-Expect(1, 2111, '\p{^noblock}', "");
-Expect(1, 2111, '\P{noblock}', "");
-Expect(0, 2111, '\P{^noblock}', "");
-Expect(1, 2303, '\p{ NO Block}', "");
-Expect(0, 2303, '\p{^ NO Block}', "");
-Expect(0, 2303, '\P{ NO Block}', "");
-Expect(1, 2303, '\P{^ NO Block}', "");
-Expect(0, 2111, '\p{ NO Block}', "");
-Expect(1, 2111, '\p{^ NO Block}', "");
-Expect(1, 2111, '\P{ NO Block}', "");
-Expect(0, 2111, '\P{^ NO Block}', "");
-Error('\p{:=_Is-NOBlock}');
-Error('\P{:=_Is-NOBlock}');
-Expect(1, 2303, '\p{isnoblock}', "");
-Expect(0, 2303, '\p{^isnoblock}', "");
-Expect(0, 2303, '\P{isnoblock}', "");
-Expect(1, 2303, '\P{^isnoblock}', "");
-Expect(0, 2111, '\p{isnoblock}', "");
-Expect(1, 2111, '\p{^isnoblock}', "");
-Expect(1, 2111, '\P{isnoblock}', "");
-Expect(0, 2111, '\P{^isnoblock}', "");
-Expect(1, 2303, '\p{ -Is-NO Block}', "");
-Expect(0, 2303, '\p{^ -Is-NO Block}', "");
-Expect(0, 2303, '\P{ -Is-NO Block}', "");
-Expect(1, 2303, '\P{^ -Is-NO Block}', "");
-Expect(0, 2111, '\p{ -Is-NO Block}', "");
-Expect(1, 2111, '\p{^ -Is-NO Block}', "");
-Expect(1, 2111, '\P{ -Is-NO Block}', "");
-Expect(0, 2111, '\P{^ -Is-NO Block}', "");
-Error('\p{_/a/in No_Block}');
-Error('\P{_/a/in No_Block}');
-Expect(1, 2303, '\p{innoblock}', "");
-Expect(0, 2303, '\p{^innoblock}', "");
-Expect(0, 2303, '\P{innoblock}', "");
-Expect(1, 2303, '\P{^innoblock}', "");
-Expect(0, 2111, '\p{innoblock}', "");
-Expect(1, 2111, '\p{^innoblock}', "");
-Expect(1, 2111, '\P{innoblock}', "");
-Expect(0, 2111, '\P{^innoblock}', "");
-Expect(1, 2303, '\p{ _InNo BLOCK}', "");
-Expect(0, 2303, '\p{^ _InNo BLOCK}', "");
-Expect(0, 2303, '\P{ _InNo BLOCK}', "");
-Expect(1, 2303, '\P{^ _InNo BLOCK}', "");
-Expect(0, 2111, '\p{ _InNo BLOCK}', "");
-Expect(1, 2111, '\p{^ _InNo BLOCK}', "");
-Expect(1, 2111, '\P{ _InNo BLOCK}', "");
-Expect(0, 2111, '\P{^ _InNo BLOCK}', "");
-Error('\p{/a/_ Assigned}');
-Error('\P{/a/_ Assigned}');
-Expect(1, 887, '\p{assigned}', "");
-Expect(0, 887, '\p{^assigned}', "");
-Expect(0, 887, '\P{assigned}', "");
-Expect(1, 887, '\P{^assigned}', "");
-Expect(0, 889, '\p{assigned}', "");
-Expect(1, 889, '\p{^assigned}', "");
-Expect(1, 889, '\P{assigned}', "");
-Expect(0, 889, '\P{^assigned}', "");
-Expect(1, 887, '\p{- assigned}', "");
-Expect(0, 887, '\p{^- assigned}', "");
-Expect(0, 887, '\P{- assigned}', "");
-Expect(1, 887, '\P{^- assigned}', "");
-Expect(0, 889, '\p{- assigned}', "");
-Expect(1, 889, '\p{^- assigned}', "");
-Expect(1, 889, '\P{- assigned}', "");
-Expect(0, 889, '\P{^- assigned}', "");
-Error('\p{:= Is Assigned}');
-Error('\P{:= Is Assigned}');
-Expect(1, 887, '\p{isassigned}', "");
-Expect(0, 887, '\p{^isassigned}', "");
-Expect(0, 887, '\P{isassigned}', "");
-Expect(1, 887, '\P{^isassigned}', "");
-Expect(0, 889, '\p{isassigned}', "");
-Expect(1, 889, '\p{^isassigned}', "");
-Expect(1, 889, '\P{isassigned}', "");
-Expect(0, 889, '\P{^isassigned}', "");
-Expect(1, 887, '\p{- Is_Assigned}', "");
-Expect(0, 887, '\p{^- Is_Assigned}', "");
-Expect(0, 887, '\P{- Is_Assigned}', "");
-Expect(1, 887, '\P{^- Is_Assigned}', "");
-Expect(0, 889, '\p{- Is_Assigned}', "");
-Expect(1, 889, '\p{^- Is_Assigned}', "");
-Expect(1, 889, '\P{- Is_Assigned}', "");
-Expect(0, 889, '\P{^- Is_Assigned}', "");
-Error('\p{:=_vertical_forms}');
-Error('\P{:=_vertical_forms}');
-Expect(1, 65055, '\p{verticalforms}', "");
-Expect(0, 65055, '\p{^verticalforms}', "");
-Expect(0, 65055, '\P{verticalforms}', "");
-Expect(1, 65055, '\P{^verticalforms}', "");
-Expect(0, 65039, '\p{verticalforms}', "");
-Expect(1, 65039, '\p{^verticalforms}', "");
-Expect(1, 65039, '\P{verticalforms}', "");
-Expect(0, 65039, '\P{^verticalforms}', "");
-Expect(1, 65055, '\p{_ Vertical-Forms}', "");
-Expect(0, 65055, '\p{^_ Vertical-Forms}', "");
-Expect(0, 65055, '\P{_ Vertical-Forms}', "");
-Expect(1, 65055, '\P{^_ Vertical-Forms}', "");
-Expect(0, 65039, '\p{_ Vertical-Forms}', "");
-Expect(1, 65039, '\p{^_ Vertical-Forms}', "");
-Expect(1, 65039, '\P{_ Vertical-Forms}', "");
-Expect(0, 65039, '\P{^_ Vertical-Forms}', "");
-Error('\p{-/a/Is-VERTICAL Forms}');
-Error('\P{-/a/Is-VERTICAL Forms}');
-Expect(1, 65055, '\p{isverticalforms}', "");
-Expect(0, 65055, '\p{^isverticalforms}', "");
-Expect(0, 65055, '\P{isverticalforms}', "");
-Expect(1, 65055, '\P{^isverticalforms}', "");
-Expect(0, 65039, '\p{isverticalforms}', "");
-Expect(1, 65039, '\p{^isverticalforms}', "");
-Expect(1, 65039, '\P{isverticalforms}', "");
-Expect(0, 65039, '\P{^isverticalforms}', "");
-Expect(1, 65055, '\p{_-IS VERTICAL FORMS}', "");
-Expect(0, 65055, '\p{^_-IS VERTICAL FORMS}', "");
-Expect(0, 65055, '\P{_-IS VERTICAL FORMS}', "");
-Expect(1, 65055, '\P{^_-IS VERTICAL FORMS}', "");
-Expect(0, 65039, '\p{_-IS VERTICAL FORMS}', "");
-Expect(1, 65039, '\p{^_-IS VERTICAL FORMS}', "");
-Expect(1, 65039, '\P{_-IS VERTICAL FORMS}', "");
-Expect(0, 65039, '\P{^_-IS VERTICAL FORMS}', "");
-Error('\p{/a/__In Verticalforms}');
-Error('\P{/a/__In Verticalforms}');
-Expect(1, 65055, '\p{inverticalforms}', "");
-Expect(0, 65055, '\p{^inverticalforms}', "");
-Expect(0, 65055, '\P{inverticalforms}', "");
-Expect(1, 65055, '\P{^inverticalforms}', "");
-Expect(0, 65039, '\p{inverticalforms}', "");
-Expect(1, 65039, '\p{^inverticalforms}', "");
-Expect(1, 65039, '\P{inverticalforms}', "");
-Expect(0, 65039, '\P{^inverticalforms}', "");
-Expect(1, 65055, '\p{_In VERTICAL_Forms}', "");
-Expect(0, 65055, '\p{^_In VERTICAL_Forms}', "");
-Expect(0, 65055, '\P{_In VERTICAL_Forms}', "");
-Expect(1, 65055, '\P{^_In VERTICAL_Forms}', "");
-Expect(0, 65039, '\p{_In VERTICAL_Forms}', "");
-Expect(1, 65039, '\p{^_In VERTICAL_Forms}', "");
-Expect(1, 65039, '\P{_In VERTICAL_Forms}', "");
-Expect(0, 65039, '\P{^_In VERTICAL_Forms}', "");
-Error('\p{:= CJKCompatibility}');
-Error('\P{:= CJKCompatibility}');
-Expect(1, 13311, '\p{cjkcompatibility}', "");
-Expect(0, 13311, '\p{^cjkcompatibility}', "");
-Expect(0, 13311, '\P{cjkcompatibility}', "");
-Expect(1, 13311, '\P{^cjkcompatibility}', "");
-Expect(0, 13055, '\p{cjkcompatibility}', "");
-Expect(1, 13055, '\p{^cjkcompatibility}', "");
-Expect(1, 13055, '\P{cjkcompatibility}', "");
-Expect(0, 13055, '\P{^cjkcompatibility}', "");
-Expect(1, 13311, '\p{ CJK compatibility}', "");
-Expect(0, 13311, '\p{^ CJK compatibility}', "");
-Expect(0, 13311, '\P{ CJK compatibility}', "");
-Expect(1, 13311, '\P{^ CJK compatibility}', "");
-Expect(0, 13055, '\p{ CJK compatibility}', "");
-Expect(1, 13055, '\p{^ CJK compatibility}', "");
-Expect(1, 13055, '\P{ CJK compatibility}', "");
-Expect(0, 13055, '\P{^ CJK compatibility}', "");
-Error('\p{_IS-CJK_compatibility:=}');
-Error('\P{_IS-CJK_compatibility:=}');
-Expect(1, 13311, '\p{iscjkcompatibility}', "");
-Expect(0, 13311, '\p{^iscjkcompatibility}', "");
-Expect(0, 13311, '\P{iscjkcompatibility}', "");
-Expect(1, 13311, '\P{^iscjkcompatibility}', "");
-Expect(0, 13055, '\p{iscjkcompatibility}', "");
-Expect(1, 13055, '\p{^iscjkcompatibility}', "");
-Expect(1, 13055, '\P{iscjkcompatibility}', "");
-Expect(0, 13055, '\P{^iscjkcompatibility}', "");
-Expect(1, 13311, '\p{Is_CJKCompatibility}', "");
-Expect(0, 13311, '\p{^Is_CJKCompatibility}', "");
-Expect(0, 13311, '\P{Is_CJKCompatibility}', "");
-Expect(1, 13311, '\P{^Is_CJKCompatibility}', "");
-Expect(0, 13055, '\p{Is_CJKCompatibility}', "");
-Expect(1, 13055, '\p{^Is_CJKCompatibility}', "");
-Expect(1, 13055, '\P{Is_CJKCompatibility}', "");
-Expect(0, 13055, '\P{^Is_CJKCompatibility}', "");
-Error('\p{ /a/in CJK compatibility}');
-Error('\P{ /a/in CJK compatibility}');
-Expect(1, 13311, '\p{incjkcompatibility}', "");
-Expect(0, 13311, '\p{^incjkcompatibility}', "");
-Expect(0, 13311, '\P{incjkcompatibility}', "");
-Expect(1, 13311, '\P{^incjkcompatibility}', "");
-Expect(0, 13055, '\p{incjkcompatibility}', "");
-Expect(1, 13055, '\p{^incjkcompatibility}', "");
-Expect(1, 13055, '\P{incjkcompatibility}', "");
-Expect(0, 13055, '\P{^incjkcompatibility}', "");
-Expect(1, 13311, '\p{ -In CJKCOMPATIBILITY}', "");
-Expect(0, 13311, '\p{^ -In CJKCOMPATIBILITY}', "");
-Expect(0, 13311, '\P{ -In CJKCOMPATIBILITY}', "");
-Expect(1, 13311, '\P{^ -In CJKCOMPATIBILITY}', "");
-Expect(0, 13055, '\p{ -In CJKCOMPATIBILITY}', "");
-Expect(1, 13055, '\p{^ -In CJKCOMPATIBILITY}', "");
-Expect(1, 13055, '\P{ -In CJKCOMPATIBILITY}', "");
-Expect(0, 13055, '\P{^ -In CJKCOMPATIBILITY}', "");
-Error('\p{ :=CJK_Unified ideographs_Extension-A}');
-Error('\P{ :=CJK_Unified ideographs_Extension-A}');
-Expect(1, 19903, '\p{cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^cjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^cjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{cjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^cjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{ CJK Unified-Ideographs_extensionA}', "");
-Expect(0, 19903, '\p{^ CJK Unified-Ideographs_extensionA}', "");
-Expect(0, 19903, '\P{ CJK Unified-Ideographs_extensionA}', "");
-Expect(1, 19903, '\P{^ CJK Unified-Ideographs_extensionA}', "");
-Expect(0, 13311, '\p{ CJK Unified-Ideographs_extensionA}', "");
-Expect(1, 13311, '\p{^ CJK Unified-Ideographs_extensionA}', "");
-Expect(1, 13311, '\P{ CJK Unified-Ideographs_extensionA}', "");
-Expect(0, 13311, '\P{^ CJK Unified-Ideographs_extensionA}', "");
-Error('\p{ Is/a/CJK Unified IDEOGRAPHSextension A}');
-Error('\P{ Is/a/CJK Unified IDEOGRAPHSextension A}');
-Expect(1, 19903, '\p{iscjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^iscjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{iscjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^iscjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{iscjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^iscjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{iscjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^iscjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(0, 19903, '\p{^ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(0, 19903, '\P{ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(1, 19903, '\P{^ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(0, 13311, '\p{ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(1, 13311, '\p{^ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(1, 13311, '\P{ Is CJK-unified Ideographs-ExtensionA}', "");
-Expect(0, 13311, '\P{^ Is CJK-unified Ideographs-ExtensionA}', "");
-Error('\p{ _In/a/CJK-UNIFIED-Ideographs-Extension-A}');
-Error('\P{ _In/a/CJK-UNIFIED-Ideographs-Extension-A}');
-Expect(1, 19903, '\p{incjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\p{^incjkunifiedideographsextensiona}', "");
-Expect(0, 19903, '\P{incjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\P{^incjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\p{incjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\p{^incjkunifiedideographsextensiona}', "");
-Expect(1, 13311, '\P{incjkunifiedideographsextensiona}', "");
-Expect(0, 13311, '\P{^incjkunifiedideographsextensiona}', "");
-Expect(1, 19903, '\p{-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(0, 19903, '\p{^-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(0, 19903, '\P{-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(1, 19903, '\P{^-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(0, 13311, '\p{-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(1, 13311, '\p{^-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(1, 13311, '\P{-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Expect(0, 13311, '\P{^-inCJK-Unified IDEOGRAPHS EXTENSION A}', "");
-Error('\p{ /a/Kharoshthi}');
-Error('\P{ /a/Kharoshthi}');
-Expect(1, 68099, '\p{kharoshthi}', "");
-Expect(0, 68099, '\p{^kharoshthi}', "");
-Expect(0, 68099, '\P{kharoshthi}', "");
-Expect(1, 68099, '\P{^kharoshthi}', "");
-Expect(0, 68095, '\p{kharoshthi}', "");
-Expect(1, 68095, '\p{^kharoshthi}', "");
-Expect(1, 68095, '\P{kharoshthi}', "");
-Expect(0, 68095, '\P{^kharoshthi}', "");
-Expect(1, 68099, '\p{_-KHAROSHTHI}', "");
-Expect(0, 68099, '\p{^_-KHAROSHTHI}', "");
-Expect(0, 68099, '\P{_-KHAROSHTHI}', "");
-Expect(1, 68099, '\P{^_-KHAROSHTHI}', "");
-Expect(0, 68095, '\p{_-KHAROSHTHI}', "");
-Expect(1, 68095, '\p{^_-KHAROSHTHI}', "");
-Expect(1, 68095, '\P{_-KHAROSHTHI}', "");
-Expect(0, 68095, '\P{^_-KHAROSHTHI}', "");
-Error('\p{ Is_Kharoshthi:=}');
-Error('\P{ Is_Kharoshthi:=}');
-Expect(1, 68099, '\p{iskharoshthi}', "");
-Expect(0, 68099, '\p{^iskharoshthi}', "");
-Expect(0, 68099, '\P{iskharoshthi}', "");
-Expect(1, 68099, '\P{^iskharoshthi}', "");
-Expect(0, 68095, '\p{iskharoshthi}', "");
-Expect(1, 68095, '\p{^iskharoshthi}', "");
-Expect(1, 68095, '\P{iskharoshthi}', "");
-Expect(0, 68095, '\P{^iskharoshthi}', "");
-Expect(1, 68099, '\p{-_IS Kharoshthi}', "");
-Expect(0, 68099, '\p{^-_IS Kharoshthi}', "");
-Expect(0, 68099, '\P{-_IS Kharoshthi}', "");
-Expect(1, 68099, '\P{^-_IS Kharoshthi}', "");
-Expect(0, 68095, '\p{-_IS Kharoshthi}', "");
-Expect(1, 68095, '\p{^-_IS Kharoshthi}', "");
-Expect(1, 68095, '\P{-_IS Kharoshthi}', "");
-Expect(0, 68095, '\P{^-_IS Kharoshthi}', "");
-Error('\p{:=_-Khar}');
-Error('\P{:=_-Khar}');
-Expect(1, 68099, '\p{khar}', "");
-Expect(0, 68099, '\p{^khar}', "");
-Expect(0, 68099, '\P{khar}', "");
-Expect(1, 68099, '\P{^khar}', "");
-Expect(0, 68095, '\p{khar}', "");
-Expect(1, 68095, '\p{^khar}', "");
-Expect(1, 68095, '\P{khar}', "");
-Expect(0, 68095, '\P{^khar}', "");
-Expect(1, 68099, '\p{-_khar}', "");
-Expect(0, 68099, '\p{^-_khar}', "");
-Expect(0, 68099, '\P{-_khar}', "");
-Expect(1, 68099, '\P{^-_khar}', "");
-Expect(0, 68095, '\p{-_khar}', "");
-Expect(1, 68095, '\p{^-_khar}', "");
-Expect(1, 68095, '\P{-_khar}', "");
-Expect(0, 68095, '\P{^-_khar}', "");
-Error('\p{/a/ IS Khar}');
-Error('\P{/a/ IS Khar}');
-Expect(1, 68099, '\p{iskhar}', "");
-Expect(0, 68099, '\p{^iskhar}', "");
-Expect(0, 68099, '\P{iskhar}', "");
-Expect(1, 68099, '\P{^iskhar}', "");
-Expect(0, 68095, '\p{iskhar}', "");
-Expect(1, 68095, '\p{^iskhar}', "");
-Expect(1, 68095, '\P{iskhar}', "");
-Expect(0, 68095, '\P{^iskhar}', "");
-Expect(1, 68099, '\p{ _IS_Khar}', "");
-Expect(0, 68099, '\p{^ _IS_Khar}', "");
-Expect(0, 68099, '\P{ _IS_Khar}', "");
-Expect(1, 68099, '\P{^ _IS_Khar}', "");
-Expect(0, 68095, '\p{ _IS_Khar}', "");
-Expect(1, 68095, '\p{^ _IS_Khar}', "");
-Expect(1, 68095, '\P{ _IS_Khar}', "");
-Expect(0, 68095, '\P{^ _IS_Khar}', "");
-Error('\p{ -MATH_SYMBOL:=}');
-Error('\P{ -MATH_SYMBOL:=}');
-Expect(1, 43, '\p{mathsymbol}', "");
-Expect(0, 43, '\p{^mathsymbol}', "");
-Expect(0, 43, '\P{mathsymbol}', "");
-Expect(1, 43, '\P{^mathsymbol}', "");
-Expect(0, 42, '\p{mathsymbol}', "");
-Expect(1, 42, '\p{^mathsymbol}', "");
-Expect(1, 42, '\P{mathsymbol}', "");
-Expect(0, 42, '\P{^mathsymbol}', "");
-Expect(1, 43, '\p{-_Math SYMBOL}', "");
-Expect(0, 43, '\p{^-_Math SYMBOL}', "");
-Expect(0, 43, '\P{-_Math SYMBOL}', "");
-Expect(1, 43, '\P{^-_Math SYMBOL}', "");
-Expect(0, 42, '\p{-_Math SYMBOL}', "");
-Expect(1, 42, '\p{^-_Math SYMBOL}', "");
-Expect(1, 42, '\P{-_Math SYMBOL}', "");
-Expect(0, 42, '\P{^-_Math SYMBOL}', "");
-Error('\p{ Is_MATH_symbol:=}');
-Error('\P{ Is_MATH_symbol:=}');
-Expect(1, 43, '\p{ismathsymbol}', "");
-Expect(0, 43, '\p{^ismathsymbol}', "");
-Expect(0, 43, '\P{ismathsymbol}', "");
-Expect(1, 43, '\P{^ismathsymbol}', "");
-Expect(0, 42, '\p{ismathsymbol}', "");
-Expect(1, 42, '\p{^ismathsymbol}', "");
-Expect(1, 42, '\P{ismathsymbol}', "");
-Expect(0, 42, '\P{^ismathsymbol}', "");
-Expect(1, 43, '\p{- Is_Math Symbol}', "");
-Expect(0, 43, '\p{^- Is_Math Symbol}', "");
-Expect(0, 43, '\P{- Is_Math Symbol}', "");
-Expect(1, 43, '\P{^- Is_Math Symbol}', "");
-Expect(0, 42, '\p{- Is_Math Symbol}', "");
-Expect(1, 42, '\p{^- Is_Math Symbol}', "");
-Expect(1, 42, '\P{- Is_Math Symbol}', "");
-Expect(0, 42, '\P{^- Is_Math Symbol}', "");
-Error('\p{ Sm:=}');
-Error('\P{ Sm:=}');
-Expect(1, 43, '\p{sm}', "");
-Expect(0, 43, '\p{^sm}', "");
-Expect(0, 43, '\P{sm}', "");
-Expect(1, 43, '\P{^sm}', "");
-Expect(0, 42, '\p{sm}', "");
-Expect(1, 42, '\p{^sm}', "");
-Expect(1, 42, '\P{sm}', "");
-Expect(0, 42, '\P{^sm}', "");
-Expect(1, 43, '\p{_ Sm}', "");
-Expect(0, 43, '\p{^_ Sm}', "");
-Expect(0, 43, '\P{_ Sm}', "");
-Expect(1, 43, '\P{^_ Sm}', "");
-Expect(0, 42, '\p{_ Sm}', "");
-Expect(1, 42, '\p{^_ Sm}', "");
-Expect(1, 42, '\P{_ Sm}', "");
-Expect(0, 42, '\P{^_ Sm}', "");
-Error('\p{ Is-Sm:=}');
-Error('\P{ Is-Sm:=}');
-Expect(1, 43, '\p{issm}', "");
-Expect(0, 43, '\p{^issm}', "");
-Expect(0, 43, '\P{issm}', "");
-Expect(1, 43, '\P{^issm}', "");
-Expect(0, 42, '\p{issm}', "");
-Expect(1, 42, '\p{^issm}', "");
-Expect(1, 42, '\P{issm}', "");
-Expect(0, 42, '\P{^issm}', "");
-Expect(1, 43, '\p{ IS Sm}', "");
-Expect(0, 43, '\p{^ IS Sm}', "");
-Expect(0, 43, '\P{ IS Sm}', "");
-Expect(1, 43, '\P{^ IS Sm}', "");
-Expect(0, 42, '\p{ IS Sm}', "");
-Expect(1, 42, '\p{^ IS Sm}', "");
-Expect(1, 42, '\P{ IS Sm}', "");
-Expect(0, 42, '\P{^ IS Sm}', "");
-Error('\p{/a/ Tagalog}');
-Error('\P{/a/ Tagalog}');
-Expect(1, 5900, '\p{tagalog}', "");
-Expect(0, 5900, '\p{^tagalog}', "");
-Expect(0, 5900, '\P{tagalog}', "");
-Expect(1, 5900, '\P{^tagalog}', "");
-Expect(0, 5887, '\p{tagalog}', "");
-Expect(1, 5887, '\p{^tagalog}', "");
-Expect(1, 5887, '\P{tagalog}', "");
-Expect(0, 5887, '\P{^tagalog}', "");
-Expect(1, 5900, '\p{ tagalog}', "");
-Expect(0, 5900, '\p{^ tagalog}', "");
-Expect(0, 5900, '\P{ tagalog}', "");
-Expect(1, 5900, '\P{^ tagalog}', "");
-Expect(0, 5887, '\p{ tagalog}', "");
-Expect(1, 5887, '\p{^ tagalog}', "");
-Expect(1, 5887, '\P{ tagalog}', "");
-Expect(0, 5887, '\P{^ tagalog}', "");
-Error('\p{ -is Tagalog/a/}');
-Error('\P{ -is Tagalog/a/}');
-Expect(1, 5900, '\p{istagalog}', "");
-Expect(0, 5900, '\p{^istagalog}', "");
-Expect(0, 5900, '\P{istagalog}', "");
-Expect(1, 5900, '\P{^istagalog}', "");
-Expect(0, 5887, '\p{istagalog}', "");
-Expect(1, 5887, '\p{^istagalog}', "");
-Expect(1, 5887, '\P{istagalog}', "");
-Expect(0, 5887, '\P{^istagalog}', "");
-Expect(1, 5900, '\p{- IS Tagalog}', "");
-Expect(0, 5900, '\p{^- IS Tagalog}', "");
-Expect(0, 5900, '\P{- IS Tagalog}', "");
-Expect(1, 5900, '\P{^- IS Tagalog}', "");
-Expect(0, 5887, '\p{- IS Tagalog}', "");
-Expect(1, 5887, '\p{^- IS Tagalog}', "");
-Expect(1, 5887, '\P{- IS Tagalog}', "");
-Expect(0, 5887, '\P{^- IS Tagalog}', "");
-Error('\p{/a/ _TGLG}');
-Error('\P{/a/ _TGLG}');
-Expect(1, 5900, '\p{tglg}', "");
-Expect(0, 5900, '\p{^tglg}', "");
-Expect(0, 5900, '\P{tglg}', "");
-Expect(1, 5900, '\P{^tglg}', "");
-Expect(0, 5887, '\p{tglg}', "");
-Expect(1, 5887, '\p{^tglg}', "");
-Expect(1, 5887, '\P{tglg}', "");
-Expect(0, 5887, '\P{^tglg}', "");
-Expect(1, 5900, '\p{-_tglg}', "");
-Expect(0, 5900, '\p{^-_tglg}', "");
-Expect(0, 5900, '\P{-_tglg}', "");
-Expect(1, 5900, '\P{^-_tglg}', "");
-Expect(0, 5887, '\p{-_tglg}', "");
-Expect(1, 5887, '\p{^-_tglg}', "");
-Expect(1, 5887, '\P{-_tglg}', "");
-Expect(0, 5887, '\P{^-_tglg}', "");
-Error('\p{- Is_TGLG/a/}');
-Error('\P{- Is_TGLG/a/}');
-Expect(1, 5900, '\p{istglg}', "");
-Expect(0, 5900, '\p{^istglg}', "");
-Expect(0, 5900, '\P{istglg}', "");
-Expect(1, 5900, '\P{^istglg}', "");
-Expect(0, 5887, '\p{istglg}', "");
-Expect(1, 5887, '\p{^istglg}', "");
-Expect(1, 5887, '\P{istglg}', "");
-Expect(0, 5887, '\P{^istglg}', "");
-Expect(1, 5900, '\p{-_Is_TGLG}', "");
-Expect(0, 5900, '\p{^-_Is_TGLG}', "");
-Expect(0, 5900, '\P{-_Is_TGLG}', "");
-Expect(1, 5900, '\P{^-_Is_TGLG}', "");
-Expect(0, 5887, '\p{-_Is_TGLG}', "");
-Expect(1, 5887, '\p{^-_Is_TGLG}', "");
-Expect(1, 5887, '\P{-_Is_TGLG}', "");
-Expect(0, 5887, '\P{^-_Is_TGLG}', "");
-Error('\p{ /a/Syriac}');
-Error('\P{ /a/Syriac}');
-Expect(1, 1805, '\p{syriac}', "");
-Expect(0, 1805, '\p{^syriac}', "");
-Expect(0, 1805, '\P{syriac}', "");
-Expect(1, 1805, '\P{^syriac}', "");
-Expect(0, 1791, '\p{syriac}', "");
-Expect(1, 1791, '\p{^syriac}', "");
-Expect(1, 1791, '\P{syriac}', "");
-Expect(0, 1791, '\P{^syriac}', "");
-Expect(1, 1805, '\p{_Syriac}', "");
-Expect(0, 1805, '\p{^_Syriac}', "");
-Expect(0, 1805, '\P{_Syriac}', "");
-Expect(1, 1805, '\P{^_Syriac}', "");
-Expect(0, 1791, '\p{_Syriac}', "");
-Expect(1, 1791, '\p{^_Syriac}', "");
-Expect(1, 1791, '\P{_Syriac}', "");
-Expect(0, 1791, '\P{^_Syriac}', "");
-Error('\p{:= Is syriac}');
-Error('\P{:= Is syriac}');
-Expect(1, 1805, '\p{issyriac}', "");
-Expect(0, 1805, '\p{^issyriac}', "");
-Expect(0, 1805, '\P{issyriac}', "");
-Expect(1, 1805, '\P{^issyriac}', "");
-Expect(0, 1791, '\p{issyriac}', "");
-Expect(1, 1791, '\p{^issyriac}', "");
-Expect(1, 1791, '\P{issyriac}', "");
-Expect(0, 1791, '\P{^issyriac}', "");
-Expect(1, 1805, '\p{-Is Syriac}', "");
-Expect(0, 1805, '\p{^-Is Syriac}', "");
-Expect(0, 1805, '\P{-Is Syriac}', "");
-Expect(1, 1805, '\P{^-Is Syriac}', "");
-Expect(0, 1791, '\p{-Is Syriac}', "");
-Expect(1, 1791, '\p{^-Is Syriac}', "");
-Expect(1, 1791, '\P{-Is Syriac}', "");
-Expect(0, 1791, '\P{^-Is Syriac}', "");
-Error('\p{ Syrc/a/}');
-Error('\P{ Syrc/a/}');
-Expect(1, 1805, '\p{syrc}', "");
-Expect(0, 1805, '\p{^syrc}', "");
-Expect(0, 1805, '\P{syrc}', "");
-Expect(1, 1805, '\P{^syrc}', "");
-Expect(0, 1791, '\p{syrc}', "");
-Expect(1, 1791, '\p{^syrc}', "");
-Expect(1, 1791, '\P{syrc}', "");
-Expect(0, 1791, '\P{^syrc}', "");
-Expect(1, 1805, '\p{ Syrc}', "");
-Expect(0, 1805, '\p{^ Syrc}', "");
-Expect(0, 1805, '\P{ Syrc}', "");
-Expect(1, 1805, '\P{^ Syrc}', "");
-Expect(0, 1791, '\p{ Syrc}', "");
-Expect(1, 1791, '\p{^ Syrc}', "");
-Expect(1, 1791, '\P{ Syrc}', "");
-Expect(0, 1791, '\P{^ Syrc}', "");
-Error('\p{ IS SYRC:=}');
-Error('\P{ IS SYRC:=}');
-Expect(1, 1805, '\p{issyrc}', "");
-Expect(0, 1805, '\p{^issyrc}', "");
-Expect(0, 1805, '\P{issyrc}', "");
-Expect(1, 1805, '\P{^issyrc}', "");
-Expect(0, 1791, '\p{issyrc}', "");
-Expect(1, 1791, '\p{^issyrc}', "");
-Expect(1, 1791, '\P{issyrc}', "");
-Expect(0, 1791, '\P{^issyrc}', "");
-Expect(1, 1805, '\p{__Is syrc}', "");
-Expect(0, 1805, '\p{^__Is syrc}', "");
-Expect(0, 1805, '\P{__Is syrc}', "");
-Expect(1, 1805, '\P{^__Is syrc}', "");
-Expect(0, 1791, '\p{__Is syrc}', "");
-Expect(1, 1791, '\p{^__Is syrc}', "");
-Expect(1, 1791, '\P{__Is syrc}', "");
-Expect(0, 1791, '\P{^__Is syrc}', "");
-Error('\p{-_In-Phoenician:=}');
-Error('\P{-_In-Phoenician:=}');
-Expect(1, 67871, '\p{inphoenician}', "");
-Expect(0, 67871, '\p{^inphoenician}', "");
-Expect(0, 67871, '\P{inphoenician}', "");
-Expect(1, 67871, '\P{^inphoenician}', "");
-Expect(0, 67839, '\p{inphoenician}', "");
-Expect(1, 67839, '\p{^inphoenician}', "");
-Expect(1, 67839, '\P{inphoenician}', "");
-Expect(0, 67839, '\P{^inphoenician}', "");
-Expect(1, 67871, '\p{ In-Phoenician}', "");
-Expect(0, 67871, '\p{^ In-Phoenician}', "");
-Expect(0, 67871, '\P{ In-Phoenician}', "");
-Expect(1, 67871, '\P{^ In-Phoenician}', "");
-Expect(0, 67839, '\p{ In-Phoenician}', "");
-Expect(1, 67839, '\p{^ In-Phoenician}', "");
-Expect(1, 67839, '\P{ In-Phoenician}', "");
-Expect(0, 67839, '\P{^ In-Phoenician}', "");
-Error('\p{_ PerlWord/a/}');
-Error('\P{_ PerlWord/a/}');
-Expect(1, 57, '\p{perlword}', "");
-Expect(0, 57, '\p{^perlword}', "");
-Expect(0, 57, '\P{perlword}', "");
-Expect(1, 57, '\P{^perlword}', "");
-Expect(0, 47, '\p{perlword}', "");
-Expect(1, 47, '\p{^perlword}', "");
-Expect(1, 47, '\P{perlword}', "");
-Expect(0, 47, '\P{^perlword}', "");
-Expect(1, 57, '\p{-_PERLWORD}', "");
-Expect(0, 57, '\p{^-_PERLWORD}', "");
-Expect(0, 57, '\P{-_PERLWORD}', "");
-Expect(1, 57, '\P{^-_PERLWORD}', "");
-Expect(0, 47, '\p{-_PERLWORD}', "");
-Expect(1, 47, '\p{^-_PERLWORD}', "");
-Expect(1, 47, '\P{-_PERLWORD}', "");
-Expect(0, 47, '\P{^-_PERLWORD}', "");
-Error('\p{-/a/is PERLWORD}');
-Error('\P{-/a/is PERLWORD}');
-Expect(1, 57, '\p{isperlword}', "");
-Expect(0, 57, '\p{^isperlword}', "");
-Expect(0, 57, '\P{isperlword}', "");
-Expect(1, 57, '\P{^isperlword}', "");
-Expect(0, 47, '\p{isperlword}', "");
-Expect(1, 47, '\p{^isperlword}', "");
-Expect(1, 47, '\P{isperlword}', "");
-Expect(0, 47, '\P{^isperlword}', "");
-Expect(1, 57, '\p{__Is_PerlWord}', "");
-Expect(0, 57, '\p{^__Is_PerlWord}', "");
-Expect(0, 57, '\P{__Is_PerlWord}', "");
-Expect(1, 57, '\P{^__Is_PerlWord}', "");
-Expect(0, 47, '\p{__Is_PerlWord}', "");
-Expect(1, 47, '\p{^__Is_PerlWord}', "");
-Expect(1, 47, '\P{__Is_PerlWord}', "");
-Expect(0, 47, '\P{^__Is_PerlWord}', "");
-Error('\p{Halfwidth AndFullwidthFORMS/a/}');
-Error('\P{Halfwidth AndFullwidthFORMS/a/}');
-Expect(1, 65519, '\p{halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^halfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^halfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{halfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^halfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{- HALFWIDTHAND fullwidthforms}', "");
-Expect(0, 65519, '\p{^- HALFWIDTHAND fullwidthforms}', "");
-Expect(0, 65519, '\P{- HALFWIDTHAND fullwidthforms}', "");
-Expect(1, 65519, '\P{^- HALFWIDTHAND fullwidthforms}', "");
-Expect(0, 65279, '\p{- HALFWIDTHAND fullwidthforms}', "");
-Expect(1, 65279, '\p{^- HALFWIDTHAND fullwidthforms}', "");
-Expect(1, 65279, '\P{- HALFWIDTHAND fullwidthforms}', "");
-Expect(0, 65279, '\P{^- HALFWIDTHAND fullwidthforms}', "");
-Error('\p{:= Is Halfwidth-And fullwidth forms}');
-Error('\P{:= Is Halfwidth-And fullwidth forms}');
-Expect(1, 65519, '\p{ishalfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^ishalfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{ishalfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^ishalfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{ishalfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^ishalfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{ishalfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^ishalfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(0, 65519, '\p{^ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(0, 65519, '\P{ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(1, 65519, '\P{^ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(0, 65279, '\p{ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(1, 65279, '\p{^ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(1, 65279, '\P{ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Expect(0, 65279, '\P{^ -Ishalfwidth ANDFULLWIDTHForms}', "");
-Error('\p{In Halfwidth And:=Fullwidth_FORMS}');
-Error('\P{In Halfwidth And:=Fullwidth_FORMS}');
-Expect(1, 65519, '\p{inhalfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\p{^inhalfwidthandfullwidthforms}', "");
-Expect(0, 65519, '\P{inhalfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\P{^inhalfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\p{inhalfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\p{^inhalfwidthandfullwidthforms}', "");
-Expect(1, 65279, '\P{inhalfwidthandfullwidthforms}', "");
-Expect(0, 65279, '\P{^inhalfwidthandfullwidthforms}', "");
-Expect(1, 65519, '\p{- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(0, 65519, '\p{^- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(0, 65519, '\P{- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(1, 65519, '\P{^- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(0, 65279, '\p{- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(1, 65279, '\p{^- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(1, 65279, '\P{- inHALFWIDTHAnd Fullwidthforms}', "");
-Expect(0, 65279, '\P{^- inHALFWIDTHAnd Fullwidthforms}', "");
-Error('\p{ -Ancient/a/Greek-NUMBERS}');
-Error('\P{ -Ancient/a/Greek-NUMBERS}');
-Expect(1, 65935, '\p{ancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^ancientgreeknumbers}', "");
-Expect(0, 65935, '\P{ancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^ancientgreeknumbers}', "");
-Expect(0, 65855, '\p{ancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^ancientgreeknumbers}', "");
-Expect(1, 65855, '\P{ancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^ancientgreeknumbers}', "");
-Expect(1, 65935, '\p{-_ancient greek NUMBERS}', "");
-Expect(0, 65935, '\p{^-_ancient greek NUMBERS}', "");
-Expect(0, 65935, '\P{-_ancient greek NUMBERS}', "");
-Expect(1, 65935, '\P{^-_ancient greek NUMBERS}', "");
-Expect(0, 65855, '\p{-_ancient greek NUMBERS}', "");
-Expect(1, 65855, '\p{^-_ancient greek NUMBERS}', "");
-Expect(1, 65855, '\P{-_ancient greek NUMBERS}', "");
-Expect(0, 65855, '\P{^-_ancient greek NUMBERS}', "");
-Error('\p{_IS ANCIENT Greek:=Numbers}');
-Error('\P{_IS ANCIENT Greek:=Numbers}');
-Expect(1, 65935, '\p{isancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^isancientgreeknumbers}', "");
-Expect(0, 65935, '\P{isancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^isancientgreeknumbers}', "");
-Expect(0, 65855, '\p{isancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^isancientgreeknumbers}', "");
-Expect(1, 65855, '\P{isancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^isancientgreeknumbers}', "");
-Expect(1, 65935, '\p{ _Is ANCIENT-greek NUMBERS}', "");
-Expect(0, 65935, '\p{^ _Is ANCIENT-greek NUMBERS}', "");
-Expect(0, 65935, '\P{ _Is ANCIENT-greek NUMBERS}', "");
-Expect(1, 65935, '\P{^ _Is ANCIENT-greek NUMBERS}', "");
-Expect(0, 65855, '\p{ _Is ANCIENT-greek NUMBERS}', "");
-Expect(1, 65855, '\p{^ _Is ANCIENT-greek NUMBERS}', "");
-Expect(1, 65855, '\P{ _Is ANCIENT-greek NUMBERS}', "");
-Expect(0, 65855, '\P{^ _Is ANCIENT-greek NUMBERS}', "");
-Error('\p{_-in-Ancient/a/Greek Numbers}');
-Error('\P{_-in-Ancient/a/Greek Numbers}');
-Expect(1, 65935, '\p{inancientgreeknumbers}', "");
-Expect(0, 65935, '\p{^inancientgreeknumbers}', "");
-Expect(0, 65935, '\P{inancientgreeknumbers}', "");
-Expect(1, 65935, '\P{^inancientgreeknumbers}', "");
-Expect(0, 65855, '\p{inancientgreeknumbers}', "");
-Expect(1, 65855, '\p{^inancientgreeknumbers}', "");
-Expect(1, 65855, '\P{inancientgreeknumbers}', "");
-Expect(0, 65855, '\P{^inancientgreeknumbers}', "");
-Expect(1, 65935, '\p{ in_ancient Greeknumbers}', "");
-Expect(0, 65935, '\p{^ in_ancient Greeknumbers}', "");
-Expect(0, 65935, '\P{ in_ancient Greeknumbers}', "");
-Expect(1, 65935, '\P{^ in_ancient Greeknumbers}', "");
-Expect(0, 65855, '\p{ in_ancient Greeknumbers}', "");
-Expect(1, 65855, '\p{^ in_ancient Greeknumbers}', "");
-Expect(1, 65855, '\P{ in_ancient Greeknumbers}', "");
-Expect(0, 65855, '\P{^ in_ancient Greeknumbers}', "");
-Error('\p{-_Optical/a/Character Recognition}');
-Error('\P{-_Optical/a/Character Recognition}');
-Expect(1, 9311, '\p{opticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^opticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{opticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^opticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{opticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^opticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{opticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^opticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{- OpticalCharacterRecognition}', "");
-Expect(0, 9311, '\p{^- OpticalCharacterRecognition}', "");
-Expect(0, 9311, '\P{- OpticalCharacterRecognition}', "");
-Expect(1, 9311, '\P{^- OpticalCharacterRecognition}', "");
-Expect(0, 9279, '\p{- OpticalCharacterRecognition}', "");
-Expect(1, 9279, '\p{^- OpticalCharacterRecognition}', "");
-Expect(1, 9279, '\P{- OpticalCharacterRecognition}', "");
-Expect(0, 9279, '\P{^- OpticalCharacterRecognition}', "");
-Error('\p{- Is Optical Character/a/recognition}');
-Error('\P{- Is Optical Character/a/recognition}');
-Expect(1, 9311, '\p{isopticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^isopticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{isopticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^isopticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{isopticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^isopticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{isopticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^isopticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{ ISoptical Character_recognition}', "");
-Expect(0, 9311, '\p{^ ISoptical Character_recognition}', "");
-Expect(0, 9311, '\P{ ISoptical Character_recognition}', "");
-Expect(1, 9311, '\P{^ ISoptical Character_recognition}', "");
-Expect(0, 9279, '\p{ ISoptical Character_recognition}', "");
-Expect(1, 9279, '\p{^ ISoptical Character_recognition}', "");
-Expect(1, 9279, '\P{ ISoptical Character_recognition}', "");
-Expect(0, 9279, '\P{^ ISoptical Character_recognition}', "");
-Error('\p{ In OPTICALCharacter Recognition:=}');
-Error('\P{ In OPTICALCharacter Recognition:=}');
-Expect(1, 9311, '\p{inopticalcharacterrecognition}', "");
-Expect(0, 9311, '\p{^inopticalcharacterrecognition}', "");
-Expect(0, 9311, '\P{inopticalcharacterrecognition}', "");
-Expect(1, 9311, '\P{^inopticalcharacterrecognition}', "");
-Expect(0, 9279, '\p{inopticalcharacterrecognition}', "");
-Expect(1, 9279, '\p{^inopticalcharacterrecognition}', "");
-Expect(1, 9279, '\P{inopticalcharacterrecognition}', "");
-Expect(0, 9279, '\P{^inopticalcharacterrecognition}', "");
-Expect(1, 9311, '\p{ IN-Optical CHARACTER Recognition}', "");
-Expect(0, 9311, '\p{^ IN-Optical CHARACTER Recognition}', "");
-Expect(0, 9311, '\P{ IN-Optical CHARACTER Recognition}', "");
-Expect(1, 9311, '\P{^ IN-Optical CHARACTER Recognition}', "");
-Expect(0, 9279, '\p{ IN-Optical CHARACTER Recognition}', "");
-Expect(1, 9279, '\p{^ IN-Optical CHARACTER Recognition}', "");
-Expect(1, 9279, '\P{ IN-Optical CHARACTER Recognition}', "");
-Expect(0, 9279, '\P{^ IN-Optical CHARACTER Recognition}', "");
-Error('\p{ limbu:=}');
-Error('\P{ limbu:=}');
-Expect(1, 6428, '\p{limbu}', "");
-Expect(0, 6428, '\p{^limbu}', "");
-Expect(0, 6428, '\P{limbu}', "");
-Expect(1, 6428, '\P{^limbu}', "");
-Expect(0, 6399, '\p{limbu}', "");
-Expect(1, 6399, '\p{^limbu}', "");
-Expect(1, 6399, '\P{limbu}', "");
-Expect(0, 6399, '\P{^limbu}', "");
-Expect(1, 6428, '\p{_LIMBU}', "");
-Expect(0, 6428, '\p{^_LIMBU}', "");
-Expect(0, 6428, '\P{_LIMBU}', "");
-Expect(1, 6428, '\P{^_LIMBU}', "");
-Expect(0, 6399, '\p{_LIMBU}', "");
-Expect(1, 6399, '\p{^_LIMBU}', "");
-Expect(1, 6399, '\P{_LIMBU}', "");
-Expect(0, 6399, '\P{^_LIMBU}', "");
-Error('\p{ :=is-limbu}');
-Error('\P{ :=is-limbu}');
-Expect(1, 6428, '\p{islimbu}', "");
-Expect(0, 6428, '\p{^islimbu}', "");
-Expect(0, 6428, '\P{islimbu}', "");
-Expect(1, 6428, '\P{^islimbu}', "");
-Expect(0, 6399, '\p{islimbu}', "");
-Expect(1, 6399, '\p{^islimbu}', "");
-Expect(1, 6399, '\P{islimbu}', "");
-Expect(0, 6399, '\P{^islimbu}', "");
-Expect(1, 6428, '\p{--isLimbu}', "");
-Expect(0, 6428, '\p{^--isLimbu}', "");
-Expect(0, 6428, '\P{--isLimbu}', "");
-Expect(1, 6428, '\P{^--isLimbu}', "");
-Expect(0, 6399, '\p{--isLimbu}', "");
-Expect(1, 6399, '\p{^--isLimbu}', "");
-Expect(1, 6399, '\P{--isLimbu}', "");
-Expect(0, 6399, '\P{^--isLimbu}', "");
-Error('\p{ _Limb/a/}');
-Error('\P{ _Limb/a/}');
-Expect(1, 6428, '\p{limb}', "");
-Expect(0, 6428, '\p{^limb}', "");
-Expect(0, 6428, '\P{limb}', "");
-Expect(1, 6428, '\P{^limb}', "");
-Expect(0, 6399, '\p{limb}', "");
-Expect(1, 6399, '\p{^limb}', "");
-Expect(1, 6399, '\P{limb}', "");
-Expect(0, 6399, '\P{^limb}', "");
-Expect(1, 6428, '\p{ Limb}', "");
-Expect(0, 6428, '\p{^ Limb}', "");
-Expect(0, 6428, '\P{ Limb}', "");
-Expect(1, 6428, '\P{^ Limb}', "");
-Expect(0, 6399, '\p{ Limb}', "");
-Expect(1, 6399, '\p{^ Limb}', "");
-Expect(1, 6399, '\P{ Limb}', "");
-Expect(0, 6399, '\P{^ Limb}', "");
-Error('\p{ Is:=limb}');
-Error('\P{ Is:=limb}');
-Expect(1, 6428, '\p{islimb}', "");
-Expect(0, 6428, '\p{^islimb}', "");
-Expect(0, 6428, '\P{islimb}', "");
-Expect(1, 6428, '\P{^islimb}', "");
-Expect(0, 6399, '\p{islimb}', "");
-Expect(1, 6399, '\p{^islimb}', "");
-Expect(1, 6399, '\P{islimb}', "");
-Expect(0, 6399, '\P{^islimb}', "");
-Expect(1, 6428, '\p{ IsLIMB}', "");
-Expect(0, 6428, '\p{^ IsLIMB}', "");
-Expect(0, 6428, '\P{ IsLIMB}', "");
-Expect(1, 6428, '\P{^ IsLIMB}', "");
-Expect(0, 6399, '\p{ IsLIMB}', "");
-Expect(1, 6399, '\p{^ IsLIMB}', "");
-Expect(1, 6399, '\P{ IsLIMB}', "");
-Expect(0, 6399, '\P{^ IsLIMB}', "");
-Error('\p{:= TerminalPunctuation}');
-Error('\P{:= TerminalPunctuation}');
-Expect(1, 33, '\p{terminalpunctuation}', "");
-Expect(0, 33, '\p{^terminalpunctuation}', "");
-Expect(0, 33, '\P{terminalpunctuation}', "");
-Expect(1, 33, '\P{^terminalpunctuation}', "");
-Expect(0, 32, '\p{terminalpunctuation}', "");
-Expect(1, 32, '\p{^terminalpunctuation}', "");
-Expect(1, 32, '\P{terminalpunctuation}', "");
-Expect(0, 32, '\P{^terminalpunctuation}', "");
-Expect(1, 33, '\p{ TerminalPunctuation}', "");
-Expect(0, 33, '\p{^ TerminalPunctuation}', "");
-Expect(0, 33, '\P{ TerminalPunctuation}', "");
-Expect(1, 33, '\P{^ TerminalPunctuation}', "");
-Expect(0, 32, '\p{ TerminalPunctuation}', "");
-Expect(1, 32, '\p{^ TerminalPunctuation}', "");
-Expect(1, 32, '\P{ TerminalPunctuation}', "");
-Expect(0, 32, '\P{^ TerminalPunctuation}', "");
-Error('\p{:= Is-TERMINALPunctuation}');
-Error('\P{:= Is-TERMINALPunctuation}');
-Expect(1, 33, '\p{isterminalpunctuation}', "");
-Expect(0, 33, '\p{^isterminalpunctuation}', "");
-Expect(0, 33, '\P{isterminalpunctuation}', "");
-Expect(1, 33, '\P{^isterminalpunctuation}', "");
-Expect(0, 32, '\p{isterminalpunctuation}', "");
-Expect(1, 32, '\p{^isterminalpunctuation}', "");
-Expect(1, 32, '\P{isterminalpunctuation}', "");
-Expect(0, 32, '\P{^isterminalpunctuation}', "");
-Expect(1, 33, '\p{Is terminal PUNCTUATION}', "");
-Expect(0, 33, '\p{^Is terminal PUNCTUATION}', "");
-Expect(0, 33, '\P{Is terminal PUNCTUATION}', "");
-Expect(1, 33, '\P{^Is terminal PUNCTUATION}', "");
-Expect(0, 32, '\p{Is terminal PUNCTUATION}', "");
-Expect(1, 32, '\p{^Is terminal PUNCTUATION}', "");
-Expect(1, 32, '\P{Is terminal PUNCTUATION}', "");
-Expect(0, 32, '\P{^Is terminal PUNCTUATION}', "");
-Error('\p{:= term}');
-Error('\P{:= term}');
-Expect(1, 33, '\p{term}', "");
-Expect(0, 33, '\p{^term}', "");
-Expect(0, 33, '\P{term}', "");
-Expect(1, 33, '\P{^term}', "");
-Expect(0, 32, '\p{term}', "");
-Expect(1, 32, '\p{^term}', "");
-Expect(1, 32, '\P{term}', "");
-Expect(0, 32, '\P{^term}', "");
-Expect(1, 33, '\p{_Term}', "");
-Expect(0, 33, '\p{^_Term}', "");
-Expect(0, 33, '\P{_Term}', "");
-Expect(1, 33, '\P{^_Term}', "");
-Expect(0, 32, '\p{_Term}', "");
-Expect(1, 32, '\p{^_Term}', "");
-Expect(1, 32, '\P{_Term}', "");
-Expect(0, 32, '\P{^_Term}', "");
-Error('\p{ _Isterm/a/}');
-Error('\P{ _Isterm/a/}');
-Expect(1, 33, '\p{isterm}', "");
-Expect(0, 33, '\p{^isterm}', "");
-Expect(0, 33, '\P{isterm}', "");
-Expect(1, 33, '\P{^isterm}', "");
-Expect(0, 32, '\p{isterm}', "");
-Expect(1, 32, '\p{^isterm}', "");
-Expect(1, 32, '\P{isterm}', "");
-Expect(0, 32, '\P{^isterm}', "");
-Expect(1, 33, '\p{ Is Term}', "");
-Expect(0, 33, '\p{^ Is Term}', "");
-Expect(0, 33, '\P{ Is Term}', "");
-Expect(1, 33, '\P{^ Is Term}', "");
-Expect(0, 32, '\p{ Is Term}', "");
-Expect(1, 32, '\p{^ Is Term}', "");
-Expect(1, 32, '\P{ Is Term}', "");
-Expect(0, 32, '\P{^ Is Term}', "");
-Error('\p{/a/Other-Uppercase}');
-Error('\P{/a/Other-Uppercase}');
-Expect(1, 8559, '\p{otheruppercase}', 'deprecated');
-Expect(0, 8559, '\p{^otheruppercase}', 'deprecated');
-Expect(0, 8559, '\P{otheruppercase}', 'deprecated');
-Expect(1, 8559, '\P{^otheruppercase}', 'deprecated');
-Expect(0, 8543, '\p{otheruppercase}', 'deprecated');
-Expect(1, 8543, '\p{^otheruppercase}', 'deprecated');
-Expect(1, 8543, '\P{otheruppercase}', 'deprecated');
-Expect(0, 8543, '\P{^otheruppercase}', 'deprecated');
-Expect(1, 8559, '\p{_-other Uppercase}', 'deprecated');
-Expect(0, 8559, '\p{^_-other Uppercase}', 'deprecated');
-Expect(0, 8559, '\P{_-other Uppercase}', 'deprecated');
-Expect(1, 8559, '\P{^_-other Uppercase}', 'deprecated');
-Expect(0, 8543, '\p{_-other Uppercase}', 'deprecated');
-Expect(1, 8543, '\p{^_-other Uppercase}', 'deprecated');
-Expect(1, 8543, '\P{_-other Uppercase}', 'deprecated');
-Expect(0, 8543, '\P{^_-other Uppercase}', 'deprecated');
-Error('\p{ -ISOTHER_uppercase:=}');
-Error('\P{ -ISOTHER_uppercase:=}');
-Expect(1, 8559, '\p{isotheruppercase}', 'deprecated');
-Expect(0, 8559, '\p{^isotheruppercase}', 'deprecated');
-Expect(0, 8559, '\P{isotheruppercase}', 'deprecated');
-Expect(1, 8559, '\P{^isotheruppercase}', 'deprecated');
-Expect(0, 8543, '\p{isotheruppercase}', 'deprecated');
-Expect(1, 8543, '\p{^isotheruppercase}', 'deprecated');
-Expect(1, 8543, '\P{isotheruppercase}', 'deprecated');
-Expect(0, 8543, '\P{^isotheruppercase}', 'deprecated');
-Expect(1, 8559, '\p{_isOther uppercase}', 'deprecated');
-Expect(0, 8559, '\p{^_isOther uppercase}', 'deprecated');
-Expect(0, 8559, '\P{_isOther uppercase}', 'deprecated');
-Expect(1, 8559, '\P{^_isOther uppercase}', 'deprecated');
-Expect(0, 8543, '\p{_isOther uppercase}', 'deprecated');
-Expect(1, 8543, '\p{^_isOther uppercase}', 'deprecated');
-Expect(1, 8543, '\P{_isOther uppercase}', 'deprecated');
-Expect(0, 8543, '\P{^_isOther uppercase}', 'deprecated');
-Error('\p{ OUPPER/a/}');
-Error('\P{ OUPPER/a/}');
-Expect(1, 8559, '\p{oupper}', 'deprecated');
-Expect(0, 8559, '\p{^oupper}', 'deprecated');
-Expect(0, 8559, '\P{oupper}', 'deprecated');
-Expect(1, 8559, '\P{^oupper}', 'deprecated');
-Expect(0, 8543, '\p{oupper}', 'deprecated');
-Expect(1, 8543, '\p{^oupper}', 'deprecated');
-Expect(1, 8543, '\P{oupper}', 'deprecated');
-Expect(0, 8543, '\P{^oupper}', 'deprecated');
-Expect(1, 8559, '\p{ oupper}', 'deprecated');
-Expect(0, 8559, '\p{^ oupper}', 'deprecated');
-Expect(0, 8559, '\P{ oupper}', 'deprecated');
-Expect(1, 8559, '\P{^ oupper}', 'deprecated');
-Expect(0, 8543, '\p{ oupper}', 'deprecated');
-Expect(1, 8543, '\p{^ oupper}', 'deprecated');
-Expect(1, 8543, '\P{ oupper}', 'deprecated');
-Expect(0, 8543, '\P{^ oupper}', 'deprecated');
-Error('\p{ /a/is_OUPPER}');
-Error('\P{ /a/is_OUPPER}');
-Expect(1, 8559, '\p{isoupper}', 'deprecated');
-Expect(0, 8559, '\p{^isoupper}', 'deprecated');
-Expect(0, 8559, '\P{isoupper}', 'deprecated');
-Expect(1, 8559, '\P{^isoupper}', 'deprecated');
-Expect(0, 8543, '\p{isoupper}', 'deprecated');
-Expect(1, 8543, '\p{^isoupper}', 'deprecated');
-Expect(1, 8543, '\P{isoupper}', 'deprecated');
-Expect(0, 8543, '\P{^isoupper}', 'deprecated');
-Expect(1, 8559, '\p{-IsOUPPER}', 'deprecated');
-Expect(0, 8559, '\p{^-IsOUPPER}', 'deprecated');
-Expect(0, 8559, '\P{-IsOUPPER}', 'deprecated');
-Expect(1, 8559, '\P{^-IsOUPPER}', 'deprecated');
-Expect(0, 8543, '\p{-IsOUPPER}', 'deprecated');
-Expect(1, 8543, '\p{^-IsOUPPER}', 'deprecated');
-Expect(1, 8543, '\P{-IsOUPPER}', 'deprecated');
-Expect(0, 8543, '\P{^-IsOUPPER}', 'deprecated');
-Error('\p{ posixpunct/a/}');
-Error('\P{ posixpunct/a/}');
-Expect(1, 47, '\p{posixpunct}', "");
-Expect(0, 47, '\p{^posixpunct}', "");
-Expect(0, 47, '\P{posixpunct}', "");
-Expect(1, 47, '\P{^posixpunct}', "");
-Expect(0, 32, '\p{posixpunct}', "");
-Expect(1, 32, '\p{^posixpunct}', "");
-Expect(1, 32, '\P{posixpunct}', "");
-Expect(0, 32, '\P{^posixpunct}', "");
-Expect(1, 47, '\p{ posixpunct}', "");
-Expect(0, 47, '\p{^ posixpunct}', "");
-Expect(0, 47, '\P{ posixpunct}', "");
-Expect(1, 47, '\P{^ posixpunct}', "");
-Expect(0, 32, '\p{ posixpunct}', "");
-Expect(1, 32, '\p{^ posixpunct}', "");
-Expect(1, 32, '\P{ posixpunct}', "");
-Expect(0, 32, '\P{^ posixpunct}', "");
-Error('\p{:= _Is_PosixPunct}');
-Error('\P{:= _Is_PosixPunct}');
-Expect(1, 47, '\p{isposixpunct}', "");
-Expect(0, 47, '\p{^isposixpunct}', "");
-Expect(0, 47, '\P{isposixpunct}', "");
-Expect(1, 47, '\P{^isposixpunct}', "");
-Expect(0, 32, '\p{isposixpunct}', "");
-Expect(1, 32, '\p{^isposixpunct}', "");
-Expect(1, 32, '\P{isposixpunct}', "");
-Expect(0, 32, '\P{^isposixpunct}', "");
-Expect(1, 47, '\p{ is posixpunct}', "");
-Expect(0, 47, '\p{^ is posixpunct}', "");
-Expect(0, 47, '\P{ is posixpunct}', "");
-Expect(1, 47, '\P{^ is posixpunct}', "");
-Expect(0, 32, '\p{ is posixpunct}', "");
-Expect(1, 32, '\p{^ is posixpunct}', "");
-Expect(1, 32, '\P{ is posixpunct}', "");
-Expect(0, 32, '\P{^ is posixpunct}', "");
-Error('\p{-/a/Block Elements}');
-Error('\P{-/a/Block Elements}');
-Expect(1, 9631, '\p{blockelements}', "");
-Expect(0, 9631, '\p{^blockelements}', "");
-Expect(0, 9631, '\P{blockelements}', "");
-Expect(1, 9631, '\P{^blockelements}', "");
-Expect(0, 9599, '\p{blockelements}', "");
-Expect(1, 9599, '\p{^blockelements}', "");
-Expect(1, 9599, '\P{blockelements}', "");
-Expect(0, 9599, '\P{^blockelements}', "");
-Expect(1, 9631, '\p{ blockelements}', "");
-Expect(0, 9631, '\p{^ blockelements}', "");
-Expect(0, 9631, '\P{ blockelements}', "");
-Expect(1, 9631, '\P{^ blockelements}', "");
-Expect(0, 9599, '\p{ blockelements}', "");
-Expect(1, 9599, '\p{^ blockelements}', "");
-Expect(1, 9599, '\P{ blockelements}', "");
-Expect(0, 9599, '\P{^ blockelements}', "");
-Error('\p{ Is/a/block_Elements}');
-Error('\P{ Is/a/block_Elements}');
-Expect(1, 9631, '\p{isblockelements}', "");
-Expect(0, 9631, '\p{^isblockelements}', "");
-Expect(0, 9631, '\P{isblockelements}', "");
-Expect(1, 9631, '\P{^isblockelements}', "");
-Expect(0, 9599, '\p{isblockelements}', "");
-Expect(1, 9599, '\p{^isblockelements}', "");
-Expect(1, 9599, '\P{isblockelements}', "");
-Expect(0, 9599, '\P{^isblockelements}', "");
-Expect(1, 9631, '\p{_ Isblock elements}', "");
-Expect(0, 9631, '\p{^_ Isblock elements}', "");
-Expect(0, 9631, '\P{_ Isblock elements}', "");
-Expect(1, 9631, '\P{^_ Isblock elements}', "");
-Expect(0, 9599, '\p{_ Isblock elements}', "");
-Expect(1, 9599, '\p{^_ Isblock elements}', "");
-Expect(1, 9599, '\P{_ Isblock elements}', "");
-Expect(0, 9599, '\P{^_ Isblock elements}', "");
-Error('\p{-/a/IN-Block-Elements}');
-Error('\P{-/a/IN-Block-Elements}');
-Expect(1, 9631, '\p{inblockelements}', "");
-Expect(0, 9631, '\p{^inblockelements}', "");
-Expect(0, 9631, '\P{inblockelements}', "");
-Expect(1, 9631, '\P{^inblockelements}', "");
-Expect(0, 9599, '\p{inblockelements}', "");
-Expect(1, 9599, '\p{^inblockelements}', "");
-Expect(1, 9599, '\P{inblockelements}', "");
-Expect(0, 9599, '\P{^inblockelements}', "");
-Expect(1, 9631, '\p{ in_Block ELEMENTS}', "");
-Expect(0, 9631, '\p{^ in_Block ELEMENTS}', "");
-Expect(0, 9631, '\P{ in_Block ELEMENTS}', "");
-Expect(1, 9631, '\P{^ in_Block ELEMENTS}', "");
-Expect(0, 9599, '\p{ in_Block ELEMENTS}', "");
-Expect(1, 9599, '\p{^ in_Block ELEMENTS}', "");
-Expect(1, 9599, '\P{ in_Block ELEMENTS}', "");
-Expect(0, 9599, '\P{^ in_Block ELEMENTS}', "");
-Error('\p{:=_ In-Kaithi}');
-Error('\P{:=_ In-Kaithi}');
-Expect(1, 69839, '\p{inkaithi}', "");
-Expect(0, 69839, '\p{^inkaithi}', "");
-Expect(0, 69839, '\P{inkaithi}', "");
-Expect(1, 69839, '\P{^inkaithi}', "");
-Expect(0, 69759, '\p{inkaithi}', "");
-Expect(1, 69759, '\p{^inkaithi}', "");
-Expect(1, 69759, '\P{inkaithi}', "");
-Expect(0, 69759, '\P{^inkaithi}', "");
-Expect(1, 69839, '\p{ inKaithi}', "");
-Expect(0, 69839, '\p{^ inKaithi}', "");
-Expect(0, 69839, '\P{ inKaithi}', "");
-Expect(1, 69839, '\P{^ inKaithi}', "");
-Expect(0, 69759, '\p{ inKaithi}', "");
-Expect(1, 69759, '\p{^ inKaithi}', "");
-Expect(1, 69759, '\P{ inKaithi}', "");
-Expect(0, 69759, '\P{^ inKaithi}', "");
-Error('\p{__Han/a/}');
-Error('\P{__Han/a/}');
-Expect(1, 11929, '\p{han}', "");
-Expect(0, 11929, '\p{^han}', "");
-Expect(0, 11929, '\P{han}', "");
-Expect(1, 11929, '\P{^han}', "");
-Expect(0, 11903, '\p{han}', "");
-Expect(1, 11903, '\p{^han}', "");
-Expect(1, 11903, '\P{han}', "");
-Expect(0, 11903, '\P{^han}', "");
-Expect(1, 11929, '\p{--Han}', "");
-Expect(0, 11929, '\p{^--Han}', "");
-Expect(0, 11929, '\P{--Han}', "");
-Expect(1, 11929, '\P{^--Han}', "");
-Expect(0, 11903, '\p{--Han}', "");
-Expect(1, 11903, '\p{^--Han}', "");
-Expect(1, 11903, '\P{--Han}', "");
-Expect(0, 11903, '\P{^--Han}', "");
-Error('\p{ -is:=HAN}');
-Error('\P{ -is:=HAN}');
-Expect(1, 11929, '\p{ishan}', "");
-Expect(0, 11929, '\p{^ishan}', "");
-Expect(0, 11929, '\P{ishan}', "");
-Expect(1, 11929, '\P{^ishan}', "");
-Expect(0, 11903, '\p{ishan}', "");
-Expect(1, 11903, '\p{^ishan}', "");
-Expect(1, 11903, '\P{ishan}', "");
-Expect(0, 11903, '\P{^ishan}', "");
-Expect(1, 11929, '\p{- Is HAN}', "");
-Expect(0, 11929, '\p{^- Is HAN}', "");
-Expect(0, 11929, '\P{- Is HAN}', "");
-Expect(1, 11929, '\P{^- Is HAN}', "");
-Expect(0, 11903, '\p{- Is HAN}', "");
-Expect(1, 11903, '\p{^- Is HAN}', "");
-Expect(1, 11903, '\P{- Is HAN}', "");
-Expect(0, 11903, '\P{^- Is HAN}', "");
-Error('\p{_:=hani}');
-Error('\P{_:=hani}');
-Expect(1, 11929, '\p{hani}', "");
-Expect(0, 11929, '\p{^hani}', "");
-Expect(0, 11929, '\P{hani}', "");
-Expect(1, 11929, '\P{^hani}', "");
-Expect(0, 11903, '\p{hani}', "");
-Expect(1, 11903, '\p{^hani}', "");
-Expect(1, 11903, '\P{hani}', "");
-Expect(0, 11903, '\P{^hani}', "");
-Expect(1, 11929, '\p{- hani}', "");
-Expect(0, 11929, '\p{^- hani}', "");
-Expect(0, 11929, '\P{- hani}', "");
-Expect(1, 11929, '\P{^- hani}', "");
-Expect(0, 11903, '\p{- hani}', "");
-Expect(1, 11903, '\p{^- hani}', "");
-Expect(1, 11903, '\P{- hani}', "");
-Expect(0, 11903, '\P{^- hani}', "");
-Error('\p{ IS Hani:=}');
-Error('\P{ IS Hani:=}');
-Expect(1, 11929, '\p{ishani}', "");
-Expect(0, 11929, '\p{^ishani}', "");
-Expect(0, 11929, '\P{ishani}', "");
-Expect(1, 11929, '\P{^ishani}', "");
-Expect(0, 11903, '\p{ishani}', "");
-Expect(1, 11903, '\p{^ishani}', "");
-Expect(1, 11903, '\P{ishani}', "");
-Expect(0, 11903, '\P{^ishani}', "");
-Expect(1, 11929, '\p{ Is-hani}', "");
-Expect(0, 11929, '\p{^ Is-hani}', "");
-Expect(0, 11929, '\P{ Is-hani}', "");
-Expect(1, 11929, '\P{^ Is-hani}', "");
-Expect(0, 11903, '\p{ Is-hani}', "");
-Expect(1, 11903, '\p{^ Is-hani}', "");
-Expect(1, 11903, '\P{ Is-hani}', "");
-Expect(0, 11903, '\P{^ Is-hani}', "");
-Error('\p{ /a/Hanunoo}');
-Error('\P{ /a/Hanunoo}');
-Expect(1, 5940, '\p{hanunoo}', "");
-Expect(0, 5940, '\p{^hanunoo}', "");
-Expect(0, 5940, '\P{hanunoo}', "");
-Expect(1, 5940, '\P{^hanunoo}', "");
-Expect(0, 5919, '\p{hanunoo}', "");
-Expect(1, 5919, '\p{^hanunoo}', "");
-Expect(1, 5919, '\P{hanunoo}', "");
-Expect(0, 5919, '\P{^hanunoo}', "");
-Expect(1, 5940, '\p{ hanunoo}', "");
-Expect(0, 5940, '\p{^ hanunoo}', "");
-Expect(0, 5940, '\P{ hanunoo}', "");
-Expect(1, 5940, '\P{^ hanunoo}', "");
-Expect(0, 5919, '\p{ hanunoo}', "");
-Expect(1, 5919, '\p{^ hanunoo}', "");
-Expect(1, 5919, '\P{ hanunoo}', "");
-Expect(0, 5919, '\P{^ hanunoo}', "");
-Error('\p{ /a/Is_HANUNOO}');
-Error('\P{ /a/Is_HANUNOO}');
-Expect(1, 5940, '\p{ishanunoo}', "");
-Expect(0, 5940, '\p{^ishanunoo}', "");
-Expect(0, 5940, '\P{ishanunoo}', "");
-Expect(1, 5940, '\P{^ishanunoo}', "");
-Expect(0, 5919, '\p{ishanunoo}', "");
-Expect(1, 5919, '\p{^ishanunoo}', "");
-Expect(1, 5919, '\P{ishanunoo}', "");
-Expect(0, 5919, '\P{^ishanunoo}', "");
-Expect(1, 5940, '\p{Is hanunoo}', "");
-Expect(0, 5940, '\p{^Is hanunoo}', "");
-Expect(0, 5940, '\P{Is hanunoo}', "");
-Expect(1, 5940, '\P{^Is hanunoo}', "");
-Expect(0, 5919, '\p{Is hanunoo}', "");
-Expect(1, 5919, '\p{^Is hanunoo}', "");
-Expect(1, 5919, '\P{Is hanunoo}', "");
-Expect(0, 5919, '\P{^Is hanunoo}', "");
-Error('\p{- HANO:=}');
-Error('\P{- HANO:=}');
-Expect(1, 5940, '\p{hano}', "");
-Expect(0, 5940, '\p{^hano}', "");
-Expect(0, 5940, '\P{hano}', "");
-Expect(1, 5940, '\P{^hano}', "");
-Expect(0, 5919, '\p{hano}', "");
-Expect(1, 5919, '\p{^hano}', "");
-Expect(1, 5919, '\P{hano}', "");
-Expect(0, 5919, '\P{^hano}', "");
-Expect(1, 5940, '\p{- Hano}', "");
-Expect(0, 5940, '\p{^- Hano}', "");
-Expect(0, 5940, '\P{- Hano}', "");
-Expect(1, 5940, '\P{^- Hano}', "");
-Expect(0, 5919, '\p{- Hano}', "");
-Expect(1, 5919, '\p{^- Hano}', "");
-Expect(1, 5919, '\P{- Hano}', "");
-Expect(0, 5919, '\P{^- Hano}', "");
-Error('\p{/a/_Is Hano}');
-Error('\P{/a/_Is Hano}');
-Expect(1, 5940, '\p{ishano}', "");
-Expect(0, 5940, '\p{^ishano}', "");
-Expect(0, 5940, '\P{ishano}', "");
-Expect(1, 5940, '\P{^ishano}', "");
-Expect(0, 5919, '\p{ishano}', "");
-Expect(1, 5919, '\p{^ishano}', "");
-Expect(1, 5919, '\P{ishano}', "");
-Expect(0, 5919, '\P{^ishano}', "");
-Expect(1, 5940, '\p{_IsHano}', "");
-Expect(0, 5940, '\p{^_IsHano}', "");
-Expect(0, 5940, '\P{_IsHano}', "");
-Expect(1, 5940, '\P{^_IsHano}', "");
-Expect(0, 5919, '\p{_IsHano}', "");
-Expect(1, 5919, '\p{^_IsHano}', "");
-Expect(1, 5919, '\P{_IsHano}', "");
-Expect(0, 5919, '\P{^_IsHano}', "");
-Error('\p{ IN/a/meetei-mayek}');
-Error('\P{ IN/a/meetei-mayek}');
-Expect(1, 44031, '\p{inmeeteimayek}', "");
-Expect(0, 44031, '\p{^inmeeteimayek}', "");
-Expect(0, 44031, '\P{inmeeteimayek}', "");
-Expect(1, 44031, '\P{^inmeeteimayek}', "");
-Expect(0, 43967, '\p{inmeeteimayek}', "");
-Expect(1, 43967, '\p{^inmeeteimayek}', "");
-Expect(1, 43967, '\P{inmeeteimayek}', "");
-Expect(0, 43967, '\P{^inmeeteimayek}', "");
-Expect(1, 44031, '\p{_ Inmeetei-MAYEK}', "");
-Expect(0, 44031, '\p{^_ Inmeetei-MAYEK}', "");
-Expect(0, 44031, '\P{_ Inmeetei-MAYEK}', "");
-Expect(1, 44031, '\P{^_ Inmeetei-MAYEK}', "");
-Expect(0, 43967, '\p{_ Inmeetei-MAYEK}', "");
-Expect(1, 43967, '\p{^_ Inmeetei-MAYEK}', "");
-Expect(1, 43967, '\P{_ Inmeetei-MAYEK}', "");
-Expect(0, 43967, '\P{^_ Inmeetei-MAYEK}', "");
-Error('\p{/a/--vertspace}');
-Error('\P{/a/--vertspace}');
-Expect(1, 13, '\p{vertspace}', "");
-Expect(0, 13, '\p{^vertspace}', "");
-Expect(0, 13, '\P{vertspace}', "");
-Expect(1, 13, '\P{^vertspace}', "");
-Expect(0, 9, '\p{vertspace}', "");
-Expect(1, 9, '\p{^vertspace}', "");
-Expect(1, 9, '\P{vertspace}', "");
-Expect(0, 9, '\P{^vertspace}', "");
-Expect(1, 13, '\p{_-vertspace}', "");
-Expect(0, 13, '\p{^_-vertspace}', "");
-Expect(0, 13, '\P{_-vertspace}', "");
-Expect(1, 13, '\P{^_-vertspace}', "");
-Expect(0, 9, '\p{_-vertspace}', "");
-Expect(1, 9, '\p{^_-vertspace}', "");
-Expect(1, 9, '\P{_-vertspace}', "");
-Expect(0, 9, '\P{^_-vertspace}', "");
-Error('\p{_/a/IsVertSpace}');
-Error('\P{_/a/IsVertSpace}');
-Expect(1, 13, '\p{isvertspace}', "");
-Expect(0, 13, '\p{^isvertspace}', "");
-Expect(0, 13, '\P{isvertspace}', "");
-Expect(1, 13, '\P{^isvertspace}', "");
-Expect(0, 9, '\p{isvertspace}', "");
-Expect(1, 9, '\p{^isvertspace}', "");
-Expect(1, 9, '\P{isvertspace}', "");
-Expect(0, 9, '\P{^isvertspace}', "");
-Expect(1, 13, '\p{_IsVERTSPACE}', "");
-Expect(0, 13, '\p{^_IsVERTSPACE}', "");
-Expect(0, 13, '\P{_IsVERTSPACE}', "");
-Expect(1, 13, '\P{^_IsVERTSPACE}', "");
-Expect(0, 9, '\p{_IsVERTSPACE}', "");
-Expect(1, 9, '\p{^_IsVERTSPACE}', "");
-Expect(1, 9, '\P{_IsVERTSPACE}', "");
-Expect(0, 9, '\P{^_IsVERTSPACE}', "");
-Error('\p{:=__Letterlike Symbols}');
-Error('\P{:=__Letterlike Symbols}');
-Expect(1, 8527, '\p{letterlikesymbols}', "");
-Expect(0, 8527, '\p{^letterlikesymbols}', "");
-Expect(0, 8527, '\P{letterlikesymbols}', "");
-Expect(1, 8527, '\P{^letterlikesymbols}', "");
-Expect(0, 8447, '\p{letterlikesymbols}', "");
-Expect(1, 8447, '\p{^letterlikesymbols}', "");
-Expect(1, 8447, '\P{letterlikesymbols}', "");
-Expect(0, 8447, '\P{^letterlikesymbols}', "");
-Expect(1, 8527, '\p{ -letterlike-SYMBOLS}', "");
-Expect(0, 8527, '\p{^ -letterlike-SYMBOLS}', "");
-Expect(0, 8527, '\P{ -letterlike-SYMBOLS}', "");
-Expect(1, 8527, '\P{^ -letterlike-SYMBOLS}', "");
-Expect(0, 8447, '\p{ -letterlike-SYMBOLS}', "");
-Expect(1, 8447, '\p{^ -letterlike-SYMBOLS}', "");
-Expect(1, 8447, '\P{ -letterlike-SYMBOLS}', "");
-Expect(0, 8447, '\P{^ -letterlike-SYMBOLS}', "");
-Error('\p{ :=IsLetterlike_SYMBOLS}');
-Error('\P{ :=IsLetterlike_SYMBOLS}');
-Expect(1, 8527, '\p{isletterlikesymbols}', "");
-Expect(0, 8527, '\p{^isletterlikesymbols}', "");
-Expect(0, 8527, '\P{isletterlikesymbols}', "");
-Expect(1, 8527, '\P{^isletterlikesymbols}', "");
-Expect(0, 8447, '\p{isletterlikesymbols}', "");
-Expect(1, 8447, '\p{^isletterlikesymbols}', "");
-Expect(1, 8447, '\P{isletterlikesymbols}', "");
-Expect(0, 8447, '\P{^isletterlikesymbols}', "");
-Expect(1, 8527, '\p{_is-letterlikesymbols}', "");
-Expect(0, 8527, '\p{^_is-letterlikesymbols}', "");
-Expect(0, 8527, '\P{_is-letterlikesymbols}', "");
-Expect(1, 8527, '\P{^_is-letterlikesymbols}', "");
-Expect(0, 8447, '\p{_is-letterlikesymbols}', "");
-Expect(1, 8447, '\p{^_is-letterlikesymbols}', "");
-Expect(1, 8447, '\P{_is-letterlikesymbols}', "");
-Expect(0, 8447, '\P{^_is-letterlikesymbols}', "");
-Error('\p{-/a/in Letterlike_Symbols}');
-Error('\P{-/a/in Letterlike_Symbols}');
-Expect(1, 8527, '\p{inletterlikesymbols}', "");
-Expect(0, 8527, '\p{^inletterlikesymbols}', "");
-Expect(0, 8527, '\P{inletterlikesymbols}', "");
-Expect(1, 8527, '\P{^inletterlikesymbols}', "");
-Expect(0, 8447, '\p{inletterlikesymbols}', "");
-Expect(1, 8447, '\p{^inletterlikesymbols}', "");
-Expect(1, 8447, '\P{inletterlikesymbols}', "");
-Expect(0, 8447, '\P{^inletterlikesymbols}', "");
-Expect(1, 8527, '\p{- In_Letterlike-symbols}', "");
-Expect(0, 8527, '\p{^- In_Letterlike-symbols}', "");
-Expect(0, 8527, '\P{- In_Letterlike-symbols}', "");
-Expect(1, 8527, '\P{^- In_Letterlike-symbols}', "");
-Expect(0, 8447, '\p{- In_Letterlike-symbols}', "");
-Expect(1, 8447, '\p{^- In_Letterlike-symbols}', "");
-Expect(1, 8447, '\P{- In_Letterlike-symbols}', "");
-Expect(0, 8447, '\P{^- In_Letterlike-symbols}', "");
-Error('\p{_:=INMONGOLIAN}');
-Error('\P{_:=INMONGOLIAN}');
-Expect(1, 6319, '\p{inmongolian}', "");
-Expect(0, 6319, '\p{^inmongolian}', "");
-Expect(0, 6319, '\P{inmongolian}', "");
-Expect(1, 6319, '\P{^inmongolian}', "");
-Expect(0, 6143, '\p{inmongolian}', "");
-Expect(1, 6143, '\p{^inmongolian}', "");
-Expect(1, 6143, '\P{inmongolian}', "");
-Expect(0, 6143, '\P{^inmongolian}', "");
-Expect(1, 6319, '\p{_ In_Mongolian}', "");
-Expect(0, 6319, '\p{^_ In_Mongolian}', "");
-Expect(0, 6319, '\P{_ In_Mongolian}', "");
-Expect(1, 6319, '\P{^_ In_Mongolian}', "");
-Expect(0, 6143, '\p{_ In_Mongolian}', "");
-Expect(1, 6143, '\p{^_ In_Mongolian}', "");
-Expect(1, 6143, '\P{_ In_Mongolian}', "");
-Expect(0, 6143, '\P{^_ In_Mongolian}', "");
-Error('\p{ -Ideographic/a/}');
-Error('\P{ -Ideographic/a/}');
-Expect(1, 12295, '\p{ideographic}', "");
-Expect(0, 12295, '\p{^ideographic}', "");
-Expect(0, 12295, '\P{ideographic}', "");
-Expect(1, 12295, '\P{^ideographic}', "");
-Expect(0, 12293, '\p{ideographic}', "");
-Expect(1, 12293, '\p{^ideographic}', "");
-Expect(1, 12293, '\P{ideographic}', "");
-Expect(0, 12293, '\P{^ideographic}', "");
-Expect(1, 12295, '\p{ -Ideographic}', "");
-Expect(0, 12295, '\p{^ -Ideographic}', "");
-Expect(0, 12295, '\P{ -Ideographic}', "");
-Expect(1, 12295, '\P{^ -Ideographic}', "");
-Expect(0, 12293, '\p{ -Ideographic}', "");
-Expect(1, 12293, '\p{^ -Ideographic}', "");
-Expect(1, 12293, '\P{ -Ideographic}', "");
-Expect(0, 12293, '\P{^ -Ideographic}', "");
-Error('\p{:=_-Is Ideographic}');
-Error('\P{:=_-Is Ideographic}');
-Expect(1, 12295, '\p{isideographic}', "");
-Expect(0, 12295, '\p{^isideographic}', "");
-Expect(0, 12295, '\P{isideographic}', "");
-Expect(1, 12295, '\P{^isideographic}', "");
-Expect(0, 12293, '\p{isideographic}', "");
-Expect(1, 12293, '\p{^isideographic}', "");
-Expect(1, 12293, '\P{isideographic}', "");
-Expect(0, 12293, '\P{^isideographic}', "");
-Expect(1, 12295, '\p{ _is-Ideographic}', "");
-Expect(0, 12295, '\p{^ _is-Ideographic}', "");
-Expect(0, 12295, '\P{ _is-Ideographic}', "");
-Expect(1, 12295, '\P{^ _is-Ideographic}', "");
-Expect(0, 12293, '\p{ _is-Ideographic}', "");
-Expect(1, 12293, '\p{^ _is-Ideographic}', "");
-Expect(1, 12293, '\P{ _is-Ideographic}', "");
-Expect(0, 12293, '\P{^ _is-Ideographic}', "");
-Error('\p{_/a/Ideo}');
-Error('\P{_/a/Ideo}');
-Expect(1, 12295, '\p{ideo}', "");
-Expect(0, 12295, '\p{^ideo}', "");
-Expect(0, 12295, '\P{ideo}', "");
-Expect(1, 12295, '\P{^ideo}', "");
-Expect(0, 12293, '\p{ideo}', "");
-Expect(1, 12293, '\p{^ideo}', "");
-Expect(1, 12293, '\P{ideo}', "");
-Expect(0, 12293, '\P{^ideo}', "");
-Expect(1, 12295, '\p{ Ideo}', "");
-Expect(0, 12295, '\p{^ Ideo}', "");
-Expect(0, 12295, '\P{ Ideo}', "");
-Expect(1, 12295, '\P{^ Ideo}', "");
-Expect(0, 12293, '\p{ Ideo}', "");
-Expect(1, 12293, '\p{^ Ideo}', "");
-Expect(1, 12293, '\P{ Ideo}', "");
-Expect(0, 12293, '\P{^ Ideo}', "");
-Error('\p{:=ISideo}');
-Error('\P{:=ISideo}');
-Expect(1, 12295, '\p{isideo}', "");
-Expect(0, 12295, '\p{^isideo}', "");
-Expect(0, 12295, '\P{isideo}', "");
-Expect(1, 12295, '\P{^isideo}', "");
-Expect(0, 12293, '\p{isideo}', "");
-Expect(1, 12293, '\p{^isideo}', "");
-Expect(1, 12293, '\P{isideo}', "");
-Expect(0, 12293, '\P{^isideo}', "");
-Expect(1, 12295, '\p{ Is Ideo}', "");
-Expect(0, 12295, '\p{^ Is Ideo}', "");
-Expect(0, 12295, '\P{ Is Ideo}', "");
-Expect(1, 12295, '\P{^ Is Ideo}', "");
-Expect(0, 12293, '\p{ Is Ideo}', "");
-Expect(1, 12293, '\p{^ Is Ideo}', "");
-Expect(1, 12293, '\P{ Is Ideo}', "");
-Expect(0, 12293, '\P{^ Is Ideo}', "");
-Error('\p{_/a/VARIATION_selectors_Supplement}');
-Error('\P{_/a/VARIATION_selectors_Supplement}');
-Expect(1, 917999, '\p{variationselectorssupplement}', "");
-Expect(0, 917999, '\p{^variationselectorssupplement}', "");
-Expect(0, 917999, '\P{variationselectorssupplement}', "");
-Expect(1, 917999, '\P{^variationselectorssupplement}', "");
-Expect(0, 917759, '\p{variationselectorssupplement}', "");
-Expect(1, 917759, '\p{^variationselectorssupplement}', "");
-Expect(1, 917759, '\P{variationselectorssupplement}', "");
-Expect(0, 917759, '\P{^variationselectorssupplement}', "");
-Expect(1, 917999, '\p{- VARIATION selectors_Supplement}', "");
-Expect(0, 917999, '\p{^- VARIATION selectors_Supplement}', "");
-Expect(0, 917999, '\P{- VARIATION selectors_Supplement}', "");
-Expect(1, 917999, '\P{^- VARIATION selectors_Supplement}', "");
-Expect(0, 917759, '\p{- VARIATION selectors_Supplement}', "");
-Expect(1, 917759, '\p{^- VARIATION selectors_Supplement}', "");
-Expect(1, 917759, '\P{- VARIATION selectors_Supplement}', "");
-Expect(0, 917759, '\P{^- VARIATION selectors_Supplement}', "");
-Error('\p{ -Is_variation/a/selectors Supplement}');
-Error('\P{ -Is_variation/a/selectors Supplement}');
-Expect(1, 917999, '\p{isvariationselectorssupplement}', "");
-Expect(0, 917999, '\p{^isvariationselectorssupplement}', "");
-Expect(0, 917999, '\P{isvariationselectorssupplement}', "");
-Expect(1, 917999, '\P{^isvariationselectorssupplement}', "");
-Expect(0, 917759, '\p{isvariationselectorssupplement}', "");
-Expect(1, 917759, '\p{^isvariationselectorssupplement}', "");
-Expect(1, 917759, '\P{isvariationselectorssupplement}', "");
-Expect(0, 917759, '\P{^isvariationselectorssupplement}', "");
-Expect(1, 917999, '\p{ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(0, 917999, '\p{^ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(0, 917999, '\P{ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(1, 917999, '\P{^ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(0, 917759, '\p{ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(1, 917759, '\p{^ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(1, 917759, '\P{ _IS_Variation_selectors_SUPPLEMENT}', "");
-Expect(0, 917759, '\P{^ _IS_Variation_selectors_SUPPLEMENT}', "");
-Error('\p{_ In:=VariationSELECTORSSupplement}');
-Error('\P{_ In:=VariationSELECTORSSupplement}');
-Expect(1, 917999, '\p{invariationselectorssupplement}', "");
-Expect(0, 917999, '\p{^invariationselectorssupplement}', "");
-Expect(0, 917999, '\P{invariationselectorssupplement}', "");
-Expect(1, 917999, '\P{^invariationselectorssupplement}', "");
-Expect(0, 917759, '\p{invariationselectorssupplement}', "");
-Expect(1, 917759, '\p{^invariationselectorssupplement}', "");
-Expect(1, 917759, '\P{invariationselectorssupplement}', "");
-Expect(0, 917759, '\P{^invariationselectorssupplement}', "");
-Expect(1, 917999, '\p{- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(0, 917999, '\p{^- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(0, 917999, '\P{- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(1, 917999, '\P{^- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(0, 917759, '\p{- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(1, 917759, '\p{^- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(1, 917759, '\P{- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Expect(0, 917759, '\P{^- IN-VARIATION_SELECTORS_SUPPLEMENT}', "");
-Error('\p{_-in:=Thaana}');
-Error('\P{_-in:=Thaana}');
-Expect(1, 1983, '\p{inthaana}', "");
-Expect(0, 1983, '\p{^inthaana}', "");
-Expect(0, 1983, '\P{inthaana}', "");
-Expect(1, 1983, '\P{^inthaana}', "");
-Expect(0, 1919, '\p{inthaana}', "");
-Expect(1, 1919, '\p{^inthaana}', "");
-Expect(1, 1919, '\P{inthaana}', "");
-Expect(0, 1919, '\P{^inthaana}', "");
-Expect(1, 1983, '\p{ IN thaana}', "");
-Expect(0, 1983, '\p{^ IN thaana}', "");
-Expect(0, 1983, '\P{ IN thaana}', "");
-Expect(1, 1983, '\P{^ IN thaana}', "");
-Expect(0, 1919, '\p{ IN thaana}', "");
-Expect(1, 1919, '\p{^ IN thaana}', "");
-Expect(1, 1919, '\P{ IN thaana}', "");
-Expect(0, 1919, '\P{^ IN thaana}', "");
-Error('\p{/a/ SUPPLEMENTAL Arrowsa}');
-Error('\P{/a/ SUPPLEMENTAL Arrowsa}');
-Expect(1, 10239, '\p{supplementalarrowsa}', "");
-Expect(0, 10239, '\p{^supplementalarrowsa}', "");
-Expect(0, 10239, '\P{supplementalarrowsa}', "");
-Expect(1, 10239, '\P{^supplementalarrowsa}', "");
-Expect(0, 10223, '\p{supplementalarrowsa}', "");
-Expect(1, 10223, '\p{^supplementalarrowsa}', "");
-Expect(1, 10223, '\P{supplementalarrowsa}', "");
-Expect(0, 10223, '\P{^supplementalarrowsa}', "");
-Expect(1, 10239, '\p{-Supplemental_ArrowsA}', "");
-Expect(0, 10239, '\p{^-Supplemental_ArrowsA}', "");
-Expect(0, 10239, '\P{-Supplemental_ArrowsA}', "");
-Expect(1, 10239, '\P{^-Supplemental_ArrowsA}', "");
-Expect(0, 10223, '\p{-Supplemental_ArrowsA}', "");
-Expect(1, 10223, '\p{^-Supplemental_ArrowsA}', "");
-Expect(1, 10223, '\P{-Supplemental_ArrowsA}', "");
-Expect(0, 10223, '\P{^-Supplemental_ArrowsA}', "");
-Error('\p{ Is Supplemental/a/Arrows A}');
-Error('\P{ Is Supplemental/a/Arrows A}');
-Expect(1, 10239, '\p{issupplementalarrowsa}', "");
-Expect(0, 10239, '\p{^issupplementalarrowsa}', "");
-Expect(0, 10239, '\P{issupplementalarrowsa}', "");
-Expect(1, 10239, '\P{^issupplementalarrowsa}', "");
-Expect(0, 10223, '\p{issupplementalarrowsa}', "");
-Expect(1, 10223, '\p{^issupplementalarrowsa}', "");
-Expect(1, 10223, '\P{issupplementalarrowsa}', "");
-Expect(0, 10223, '\P{^issupplementalarrowsa}', "");
-Expect(1, 10239, '\p{ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(0, 10239, '\p{^ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(0, 10239, '\P{ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(1, 10239, '\P{^ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(0, 10223, '\p{ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(1, 10223, '\p{^ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(1, 10223, '\P{ Is_SUPPLEMENTAL arrows-A}', "");
-Expect(0, 10223, '\P{^ Is_SUPPLEMENTAL arrows-A}', "");
-Error('\p{ In Supplemental-Arrows:=A}');
-Error('\P{ In Supplemental-Arrows:=A}');
-Expect(1, 10239, '\p{insupplementalarrowsa}', "");
-Expect(0, 10239, '\p{^insupplementalarrowsa}', "");
-Expect(0, 10239, '\P{insupplementalarrowsa}', "");
-Expect(1, 10239, '\P{^insupplementalarrowsa}', "");
-Expect(0, 10223, '\p{insupplementalarrowsa}', "");
-Expect(1, 10223, '\p{^insupplementalarrowsa}', "");
-Expect(1, 10223, '\P{insupplementalarrowsa}', "");
-Expect(0, 10223, '\P{^insupplementalarrowsa}', "");
-Expect(1, 10239, '\p{_ INsupplemental_Arrows A}', "");
-Expect(0, 10239, '\p{^_ INsupplemental_Arrows A}', "");
-Expect(0, 10239, '\P{_ INsupplemental_Arrows A}', "");
-Expect(1, 10239, '\P{^_ INsupplemental_Arrows A}', "");
-Expect(0, 10223, '\p{_ INsupplemental_Arrows A}', "");
-Expect(1, 10223, '\p{^_ INsupplemental_Arrows A}', "");
-Expect(1, 10223, '\P{_ INsupplemental_Arrows A}', "");
-Expect(0, 10223, '\P{^_ INsupplemental_Arrows A}', "");
-Error('\p{_:=Changes-When_Uppercased}');
-Error('\P{_:=Changes-When_Uppercased}');
-Expect(1, 122, '\p{changeswhenuppercased}', "");
-Expect(0, 122, '\p{^changeswhenuppercased}', "");
-Expect(0, 122, '\P{changeswhenuppercased}', "");
-Expect(1, 122, '\P{^changeswhenuppercased}', "");
-Expect(0, 96, '\p{changeswhenuppercased}', "");
-Expect(1, 96, '\p{^changeswhenuppercased}', "");
-Expect(1, 96, '\P{changeswhenuppercased}', "");
-Expect(0, 96, '\P{^changeswhenuppercased}', "");
-Expect(1, 122, '\p{- CHANGES When_uppercased}', "");
-Expect(0, 122, '\p{^- CHANGES When_uppercased}', "");
-Expect(0, 122, '\P{- CHANGES When_uppercased}', "");
-Expect(1, 122, '\P{^- CHANGES When_uppercased}', "");
-Expect(0, 96, '\p{- CHANGES When_uppercased}', "");
-Expect(1, 96, '\p{^- CHANGES When_uppercased}', "");
-Expect(1, 96, '\P{- CHANGES When_uppercased}', "");
-Expect(0, 96, '\P{^- CHANGES When_uppercased}', "");
-Error('\p{/a/ IsCHANGES-When-UPPERCASED}');
-Error('\P{/a/ IsCHANGES-When-UPPERCASED}');
-Expect(1, 122, '\p{ischangeswhenuppercased}', "");
-Expect(0, 122, '\p{^ischangeswhenuppercased}', "");
-Expect(0, 122, '\P{ischangeswhenuppercased}', "");
-Expect(1, 122, '\P{^ischangeswhenuppercased}', "");
-Expect(0, 96, '\p{ischangeswhenuppercased}', "");
-Expect(1, 96, '\p{^ischangeswhenuppercased}', "");
-Expect(1, 96, '\P{ischangeswhenuppercased}', "");
-Expect(0, 96, '\P{^ischangeswhenuppercased}', "");
-Expect(1, 122, '\p{- isCHANGES WHENUppercased}', "");
-Expect(0, 122, '\p{^- isCHANGES WHENUppercased}', "");
-Expect(0, 122, '\P{- isCHANGES WHENUppercased}', "");
-Expect(1, 122, '\P{^- isCHANGES WHENUppercased}', "");
-Expect(0, 96, '\p{- isCHANGES WHENUppercased}', "");
-Expect(1, 96, '\p{^- isCHANGES WHENUppercased}', "");
-Expect(1, 96, '\P{- isCHANGES WHENUppercased}', "");
-Expect(0, 96, '\P{^- isCHANGES WHENUppercased}', "");
-Error('\p{:=_-CWU}');
-Error('\P{:=_-CWU}');
-Expect(1, 122, '\p{cwu}', "");
-Expect(0, 122, '\p{^cwu}', "");
-Expect(0, 122, '\P{cwu}', "");
-Expect(1, 122, '\P{^cwu}', "");
-Expect(0, 96, '\p{cwu}', "");
-Expect(1, 96, '\p{^cwu}', "");
-Expect(1, 96, '\P{cwu}', "");
-Expect(0, 96, '\P{^cwu}', "");
-Expect(1, 122, '\p{_-CWU}', "");
-Expect(0, 122, '\p{^_-CWU}', "");
-Expect(0, 122, '\P{_-CWU}', "");
-Expect(1, 122, '\P{^_-CWU}', "");
-Expect(0, 96, '\p{_-CWU}', "");
-Expect(1, 96, '\p{^_-CWU}', "");
-Expect(1, 96, '\P{_-CWU}', "");
-Expect(0, 96, '\P{^_-CWU}', "");
-Error('\p{/a/ Is_cwu}');
-Error('\P{/a/ Is_cwu}');
-Expect(1, 122, '\p{iscwu}', "");
-Expect(0, 122, '\p{^iscwu}', "");
-Expect(0, 122, '\P{iscwu}', "");
-Expect(1, 122, '\P{^iscwu}', "");
-Expect(0, 96, '\p{iscwu}', "");
-Expect(1, 96, '\p{^iscwu}', "");
-Expect(1, 96, '\P{iscwu}', "");
-Expect(0, 96, '\P{^iscwu}', "");
-Expect(1, 122, '\p{ _iscwu}', "");
-Expect(0, 122, '\p{^ _iscwu}', "");
-Expect(0, 122, '\P{ _iscwu}', "");
-Expect(1, 122, '\P{^ _iscwu}', "");
-Expect(0, 96, '\p{ _iscwu}', "");
-Expect(1, 96, '\p{^ _iscwu}', "");
-Expect(1, 96, '\P{ _iscwu}', "");
-Expect(0, 96, '\P{^ _iscwu}', "");
-Error('\p{-:=In syriac}');
-Error('\P{-:=In syriac}');
-Expect(1, 1871, '\p{insyriac}', "");
-Expect(0, 1871, '\p{^insyriac}', "");
-Expect(0, 1871, '\P{insyriac}', "");
-Expect(1, 1871, '\P{^insyriac}', "");
-Expect(0, 1791, '\p{insyriac}', "");
-Expect(1, 1791, '\p{^insyriac}', "");
-Expect(1, 1791, '\P{insyriac}', "");
-Expect(0, 1791, '\P{^insyriac}', "");
-Expect(1, 1871, '\p{ in Syriac}', "");
-Expect(0, 1871, '\p{^ in Syriac}', "");
-Expect(0, 1871, '\P{ in Syriac}', "");
-Expect(1, 1871, '\P{^ in Syriac}', "");
-Expect(0, 1791, '\p{ in Syriac}', "");
-Expect(1, 1791, '\p{^ in Syriac}', "");
-Expect(1, 1791, '\P{ in Syriac}', "");
-Expect(0, 1791, '\P{^ in Syriac}', "");
-Error('\p{--Ethiopic:=Extended}');
-Error('\P{--Ethiopic:=Extended}');
-Expect(1, 11743, '\p{ethiopicextended}', "");
-Expect(0, 11743, '\p{^ethiopicextended}', "");
-Expect(0, 11743, '\P{ethiopicextended}', "");
-Expect(1, 11743, '\P{^ethiopicextended}', "");
-Expect(0, 11647, '\p{ethiopicextended}', "");
-Expect(1, 11647, '\p{^ethiopicextended}', "");
-Expect(1, 11647, '\P{ethiopicextended}', "");
-Expect(0, 11647, '\P{^ethiopicextended}', "");
-Expect(1, 11743, '\p{-Ethiopic_Extended}', "");
-Expect(0, 11743, '\p{^-Ethiopic_Extended}', "");
-Expect(0, 11743, '\P{-Ethiopic_Extended}', "");
-Expect(1, 11743, '\P{^-Ethiopic_Extended}', "");
-Expect(0, 11647, '\p{-Ethiopic_Extended}', "");
-Expect(1, 11647, '\p{^-Ethiopic_Extended}', "");
-Expect(1, 11647, '\P{-Ethiopic_Extended}', "");
-Expect(0, 11647, '\P{^-Ethiopic_Extended}', "");
-Error('\p{__IsEthiopic:=EXTENDED}');
-Error('\P{__IsEthiopic:=EXTENDED}');
-Expect(1, 11743, '\p{isethiopicextended}', "");
-Expect(0, 11743, '\p{^isethiopicextended}', "");
-Expect(0, 11743, '\P{isethiopicextended}', "");
-Expect(1, 11743, '\P{^isethiopicextended}', "");
-Expect(0, 11647, '\p{isethiopicextended}', "");
-Expect(1, 11647, '\p{^isethiopicextended}', "");
-Expect(1, 11647, '\P{isethiopicextended}', "");
-Expect(0, 11647, '\P{^isethiopicextended}', "");
-Expect(1, 11743, '\p{ Is_EthiopicEXTENDED}', "");
-Expect(0, 11743, '\p{^ Is_EthiopicEXTENDED}', "");
-Expect(0, 11743, '\P{ Is_EthiopicEXTENDED}', "");
-Expect(1, 11743, '\P{^ Is_EthiopicEXTENDED}', "");
-Expect(0, 11647, '\p{ Is_EthiopicEXTENDED}', "");
-Expect(1, 11647, '\p{^ Is_EthiopicEXTENDED}', "");
-Expect(1, 11647, '\P{ Is_EthiopicEXTENDED}', "");
-Expect(0, 11647, '\P{^ Is_EthiopicEXTENDED}', "");
-Error('\p{:=-_IN_ethiopicExtended}');
-Error('\P{:=-_IN_ethiopicExtended}');
-Expect(1, 11743, '\p{inethiopicextended}', "");
-Expect(0, 11743, '\p{^inethiopicextended}', "");
-Expect(0, 11743, '\P{inethiopicextended}', "");
-Expect(1, 11743, '\P{^inethiopicextended}', "");
-Expect(0, 11647, '\p{inethiopicextended}', "");
-Expect(1, 11647, '\p{^inethiopicextended}', "");
-Expect(1, 11647, '\P{inethiopicextended}', "");
-Expect(0, 11647, '\P{^inethiopicextended}', "");
-Expect(1, 11743, '\p{ _in ethiopic_extended}', "");
-Expect(0, 11743, '\p{^ _in ethiopic_extended}', "");
-Expect(0, 11743, '\P{ _in ethiopic_extended}', "");
-Expect(1, 11743, '\P{^ _in ethiopic_extended}', "");
-Expect(0, 11647, '\p{ _in ethiopic_extended}', "");
-Expect(1, 11647, '\p{^ _in ethiopic_extended}', "");
-Expect(1, 11647, '\P{ _in ethiopic_extended}', "");
-Expect(0, 11647, '\P{^ _in ethiopic_extended}', "");
-Error('\p{-/a/Phoenician}');
-Error('\P{-/a/Phoenician}');
-Expect(1, 67867, '\p{phoenician}', "");
-Expect(0, 67867, '\p{^phoenician}', "");
-Expect(0, 67867, '\P{phoenician}', "");
-Expect(1, 67867, '\P{^phoenician}', "");
-Expect(0, 67839, '\p{phoenician}', "");
-Expect(1, 67839, '\p{^phoenician}', "");
-Expect(1, 67839, '\P{phoenician}', "");
-Expect(0, 67839, '\P{^phoenician}', "");
-Expect(1, 67867, '\p{ _Phoenician}', "");
-Expect(0, 67867, '\p{^ _Phoenician}', "");
-Expect(0, 67867, '\P{ _Phoenician}', "");
-Expect(1, 67867, '\P{^ _Phoenician}', "");
-Expect(0, 67839, '\p{ _Phoenician}', "");
-Expect(1, 67839, '\p{^ _Phoenician}', "");
-Expect(1, 67839, '\P{ _Phoenician}', "");
-Expect(0, 67839, '\P{^ _Phoenician}', "");
-Error('\p{ :=Isphoenician}');
-Error('\P{ :=Isphoenician}');
-Expect(1, 67867, '\p{isphoenician}', "");
-Expect(0, 67867, '\p{^isphoenician}', "");
-Expect(0, 67867, '\P{isphoenician}', "");
-Expect(1, 67867, '\P{^isphoenician}', "");
-Expect(0, 67839, '\p{isphoenician}', "");
-Expect(1, 67839, '\p{^isphoenician}', "");
-Expect(1, 67839, '\P{isphoenician}', "");
-Expect(0, 67839, '\P{^isphoenician}', "");
-Expect(1, 67867, '\p{_ is Phoenician}', "");
-Expect(0, 67867, '\p{^_ is Phoenician}', "");
-Expect(0, 67867, '\P{_ is Phoenician}', "");
-Expect(1, 67867, '\P{^_ is Phoenician}', "");
-Expect(0, 67839, '\p{_ is Phoenician}', "");
-Expect(1, 67839, '\p{^_ is Phoenician}', "");
-Expect(1, 67839, '\P{_ is Phoenician}', "");
-Expect(0, 67839, '\P{^_ is Phoenician}', "");
-Error('\p{/a/__Phnx}');
-Error('\P{/a/__Phnx}');
-Expect(1, 67867, '\p{phnx}', "");
-Expect(0, 67867, '\p{^phnx}', "");
-Expect(0, 67867, '\P{phnx}', "");
-Expect(1, 67867, '\P{^phnx}', "");
-Expect(0, 67839, '\p{phnx}', "");
-Expect(1, 67839, '\p{^phnx}', "");
-Expect(1, 67839, '\P{phnx}', "");
-Expect(0, 67839, '\P{^phnx}', "");
-Expect(1, 67867, '\p{ Phnx}', "");
-Expect(0, 67867, '\p{^ Phnx}', "");
-Expect(0, 67867, '\P{ Phnx}', "");
-Expect(1, 67867, '\P{^ Phnx}', "");
-Expect(0, 67839, '\p{ Phnx}', "");
-Expect(1, 67839, '\p{^ Phnx}', "");
-Expect(1, 67839, '\P{ Phnx}', "");
-Expect(0, 67839, '\P{^ Phnx}', "");
-Error('\p{-IS Phnx/a/}');
-Error('\P{-IS Phnx/a/}');
-Expect(1, 67867, '\p{isphnx}', "");
-Expect(0, 67867, '\p{^isphnx}', "");
-Expect(0, 67867, '\P{isphnx}', "");
-Expect(1, 67867, '\P{^isphnx}', "");
-Expect(0, 67839, '\p{isphnx}', "");
-Expect(1, 67839, '\p{^isphnx}', "");
-Expect(1, 67839, '\P{isphnx}', "");
-Expect(0, 67839, '\P{^isphnx}', "");
-Expect(1, 67867, '\p{_Is_PHNX}', "");
-Expect(0, 67867, '\p{^_Is_PHNX}', "");
-Expect(0, 67867, '\P{_Is_PHNX}', "");
-Expect(1, 67867, '\P{^_Is_PHNX}', "");
-Expect(0, 67839, '\p{_Is_PHNX}', "");
-Expect(1, 67839, '\p{^_Is_PHNX}', "");
-Expect(1, 67839, '\P{_Is_PHNX}', "");
-Expect(0, 67839, '\P{^_Is_PHNX}', "");
-Error('\p{- Myanmar/a/extended A}');
-Error('\P{- Myanmar/a/extended A}');
-Expect(1, 43647, '\p{myanmarextendeda}', "");
-Expect(0, 43647, '\p{^myanmarextendeda}', "");
-Expect(0, 43647, '\P{myanmarextendeda}', "");
-Expect(1, 43647, '\P{^myanmarextendeda}', "");
-Expect(0, 43615, '\p{myanmarextendeda}', "");
-Expect(1, 43615, '\p{^myanmarextendeda}', "");
-Expect(1, 43615, '\P{myanmarextendeda}', "");
-Expect(0, 43615, '\P{^myanmarextendeda}', "");
-Expect(1, 43647, '\p{-_MYANMAR Extended_A}', "");
-Expect(0, 43647, '\p{^-_MYANMAR Extended_A}', "");
-Expect(0, 43647, '\P{-_MYANMAR Extended_A}', "");
-Expect(1, 43647, '\P{^-_MYANMAR Extended_A}', "");
-Expect(0, 43615, '\p{-_MYANMAR Extended_A}', "");
-Expect(1, 43615, '\p{^-_MYANMAR Extended_A}', "");
-Expect(1, 43615, '\P{-_MYANMAR Extended_A}', "");
-Expect(0, 43615, '\P{^-_MYANMAR Extended_A}', "");
-Error('\p{ -is:=Myanmar Extended-A}');
-Error('\P{ -is:=Myanmar Extended-A}');
-Expect(1, 43647, '\p{ismyanmarextendeda}', "");
-Expect(0, 43647, '\p{^ismyanmarextendeda}', "");
-Expect(0, 43647, '\P{ismyanmarextendeda}', "");
-Expect(1, 43647, '\P{^ismyanmarextendeda}', "");
-Expect(0, 43615, '\p{ismyanmarextendeda}', "");
-Expect(1, 43615, '\p{^ismyanmarextendeda}', "");
-Expect(1, 43615, '\P{ismyanmarextendeda}', "");
-Expect(0, 43615, '\P{^ismyanmarextendeda}', "");
-Expect(1, 43647, '\p{ is-MYANMARExtended_A}', "");
-Expect(0, 43647, '\p{^ is-MYANMARExtended_A}', "");
-Expect(0, 43647, '\P{ is-MYANMARExtended_A}', "");
-Expect(1, 43647, '\P{^ is-MYANMARExtended_A}', "");
-Expect(0, 43615, '\p{ is-MYANMARExtended_A}', "");
-Expect(1, 43615, '\p{^ is-MYANMARExtended_A}', "");
-Expect(1, 43615, '\P{ is-MYANMARExtended_A}', "");
-Expect(0, 43615, '\P{^ is-MYANMARExtended_A}', "");
-Error('\p{ in/a/Myanmar-EXTENDED_a}');
-Error('\P{ in/a/Myanmar-EXTENDED_a}');
-Expect(1, 43647, '\p{inmyanmarextendeda}', "");
-Expect(0, 43647, '\p{^inmyanmarextendeda}', "");
-Expect(0, 43647, '\P{inmyanmarextendeda}', "");
-Expect(1, 43647, '\P{^inmyanmarextendeda}', "");
-Expect(0, 43615, '\p{inmyanmarextendeda}', "");
-Expect(1, 43615, '\p{^inmyanmarextendeda}', "");
-Expect(1, 43615, '\P{inmyanmarextendeda}', "");
-Expect(0, 43615, '\P{^inmyanmarextendeda}', "");
-Expect(1, 43647, '\p{ In myanmar_extended A}', "");
-Expect(0, 43647, '\p{^ In myanmar_extended A}', "");
-Expect(0, 43647, '\P{ In myanmar_extended A}', "");
-Expect(1, 43647, '\P{^ In myanmar_extended A}', "");
-Expect(0, 43615, '\p{ In myanmar_extended A}', "");
-Expect(1, 43615, '\p{^ In myanmar_extended A}', "");
-Expect(1, 43615, '\P{ In myanmar_extended A}', "");
-Expect(0, 43615, '\P{^ In myanmar_extended A}', "");
-Error('\p{:= Runic}');
-Error('\P{:= Runic}');
-Expect(1, 5866, '\p{runic}', "");
-Expect(0, 5866, '\p{^runic}', "");
-Expect(0, 5866, '\P{runic}', "");
-Expect(1, 5866, '\P{^runic}', "");
-Expect(0, 5791, '\p{runic}', "");
-Expect(1, 5791, '\p{^runic}', "");
-Expect(1, 5791, '\P{runic}', "");
-Expect(0, 5791, '\P{^runic}', "");
-Expect(1, 5866, '\p{- runic}', "");
-Expect(0, 5866, '\p{^- runic}', "");
-Expect(0, 5866, '\P{- runic}', "");
-Expect(1, 5866, '\P{^- runic}', "");
-Expect(0, 5791, '\p{- runic}', "");
-Expect(1, 5791, '\p{^- runic}', "");
-Expect(1, 5791, '\P{- runic}', "");
-Expect(0, 5791, '\P{^- runic}', "");
-Error('\p{ Is:=runic}');
-Error('\P{ Is:=runic}');
-Expect(1, 5866, '\p{isrunic}', "");
-Expect(0, 5866, '\p{^isrunic}', "");
-Expect(0, 5866, '\P{isrunic}', "");
-Expect(1, 5866, '\P{^isrunic}', "");
-Expect(0, 5791, '\p{isrunic}', "");
-Expect(1, 5791, '\p{^isrunic}', "");
-Expect(1, 5791, '\P{isrunic}', "");
-Expect(0, 5791, '\P{^isrunic}', "");
-Expect(1, 5866, '\p{ IS RUNIC}', "");
-Expect(0, 5866, '\p{^ IS RUNIC}', "");
-Expect(0, 5866, '\P{ IS RUNIC}', "");
-Expect(1, 5866, '\P{^ IS RUNIC}', "");
-Expect(0, 5791, '\p{ IS RUNIC}', "");
-Expect(1, 5791, '\p{^ IS RUNIC}', "");
-Expect(1, 5791, '\P{ IS RUNIC}', "");
-Expect(0, 5791, '\P{^ IS RUNIC}', "");
-Error('\p{ :=RUNR}');
-Error('\P{ :=RUNR}');
-Expect(1, 5866, '\p{runr}', "");
-Expect(0, 5866, '\p{^runr}', "");
-Expect(0, 5866, '\P{runr}', "");
-Expect(1, 5866, '\P{^runr}', "");
-Expect(0, 5791, '\p{runr}', "");
-Expect(1, 5791, '\p{^runr}', "");
-Expect(1, 5791, '\P{runr}', "");
-Expect(0, 5791, '\P{^runr}', "");
-Expect(1, 5866, '\p{ _runr}', "");
-Expect(0, 5866, '\p{^ _runr}', "");
-Expect(0, 5866, '\P{ _runr}', "");
-Expect(1, 5866, '\P{^ _runr}', "");
-Expect(0, 5791, '\p{ _runr}', "");
-Expect(1, 5791, '\p{^ _runr}', "");
-Expect(1, 5791, '\P{ _runr}', "");
-Expect(0, 5791, '\P{^ _runr}', "");
-Error('\p{ :=Is runr}');
-Error('\P{ :=Is runr}');
-Expect(1, 5866, '\p{isrunr}', "");
-Expect(0, 5866, '\p{^isrunr}', "");
-Expect(0, 5866, '\P{isrunr}', "");
-Expect(1, 5866, '\P{^isrunr}', "");
-Expect(0, 5791, '\p{isrunr}', "");
-Expect(1, 5791, '\p{^isrunr}', "");
-Expect(1, 5791, '\P{isrunr}', "");
-Expect(0, 5791, '\P{^isrunr}', "");
-Expect(1, 5866, '\p{ is Runr}', "");
-Expect(0, 5866, '\p{^ is Runr}', "");
-Expect(0, 5866, '\P{ is Runr}', "");
-Expect(1, 5866, '\P{^ is Runr}', "");
-Expect(0, 5791, '\p{ is Runr}', "");
-Expect(1, 5791, '\p{^ is Runr}', "");
-Expect(1, 5791, '\P{ is Runr}', "");
-Expect(0, 5791, '\P{^ is Runr}', "");
-Error('\p{-HIGH/a/Private_Use SURROGATES}');
-Error('\P{-HIGH/a/Private_Use SURROGATES}');
-Expect(0, 1, '\p{highprivateusesurrogates}', "");
-Expect(1, 1, '\p{^highprivateusesurrogates}', "");
-Expect(1, 1, '\P{highprivateusesurrogates}', "");
-Expect(0, 1, '\P{^highprivateusesurrogates}', "");
-Expect(0, 1, '\p{ high Private-Use surrogates}', "");
-Expect(1, 1, '\p{^ high Private-Use surrogates}', "");
-Expect(1, 1, '\P{ high Private-Use surrogates}', "");
-Expect(0, 1, '\P{^ high Private-Use surrogates}', "");
-Error('\p{ _is High/a/Private-use Surrogates}');
-Error('\P{ _is High/a/Private-use Surrogates}');
-Expect(0, 1, '\p{ishighprivateusesurrogates}', "");
-Expect(1, 1, '\p{^ishighprivateusesurrogates}', "");
-Expect(1, 1, '\P{ishighprivateusesurrogates}', "");
-Expect(0, 1, '\P{^ishighprivateusesurrogates}', "");
-Expect(0, 1, '\p{ -Is High Private_USE_Surrogates}', "");
-Expect(1, 1, '\p{^ -Is High Private_USE_Surrogates}', "");
-Expect(1, 1, '\P{ -Is High Private_USE_Surrogates}', "");
-Expect(0, 1, '\P{^ -Is High Private_USE_Surrogates}', "");
-Error('\p{ -in High-private:=use Surrogates}');
-Error('\P{ -in High-private:=use Surrogates}');
-Expect(0, 1, '\p{inhighprivateusesurrogates}', "");
-Expect(1, 1, '\p{^inhighprivateusesurrogates}', "");
-Expect(1, 1, '\P{inhighprivateusesurrogates}', "");
-Expect(0, 1, '\P{^inhighprivateusesurrogates}', "");
-Expect(0, 1, '\p{--In HIGHprivate Use Surrogates}', "");
-Expect(1, 1, '\p{^--In HIGHprivate Use Surrogates}', "");
-Expect(1, 1, '\P{--In HIGHprivate Use Surrogates}', "");
-Expect(0, 1, '\P{^--In HIGHprivate Use Surrogates}', "");
-Error('\p{:=kayah-li}');
-Error('\P{:=kayah-li}');
-Expect(1, 43311, '\p{kayahli}', "");
-Expect(0, 43311, '\p{^kayahli}', "");
-Expect(0, 43311, '\P{kayahli}', "");
-Expect(1, 43311, '\P{^kayahli}', "");
-Expect(0, 43263, '\p{kayahli}', "");
-Expect(1, 43263, '\p{^kayahli}', "");
-Expect(1, 43263, '\P{kayahli}', "");
-Expect(0, 43263, '\P{^kayahli}', "");
-Expect(1, 43311, '\p{-_KAYAH li}', "");
-Expect(0, 43311, '\p{^-_KAYAH li}', "");
-Expect(0, 43311, '\P{-_KAYAH li}', "");
-Expect(1, 43311, '\P{^-_KAYAH li}', "");
-Expect(0, 43263, '\p{-_KAYAH li}', "");
-Expect(1, 43263, '\p{^-_KAYAH li}', "");
-Expect(1, 43263, '\P{-_KAYAH li}', "");
-Expect(0, 43263, '\P{^-_KAYAH li}', "");
-Error('\p{-Is:=Kayah_li}');
-Error('\P{-Is:=Kayah_li}');
-Expect(1, 43311, '\p{iskayahli}', "");
-Expect(0, 43311, '\p{^iskayahli}', "");
-Expect(0, 43311, '\P{iskayahli}', "");
-Expect(1, 43311, '\P{^iskayahli}', "");
-Expect(0, 43263, '\p{iskayahli}', "");
-Expect(1, 43263, '\p{^iskayahli}', "");
-Expect(1, 43263, '\P{iskayahli}', "");
-Expect(0, 43263, '\P{^iskayahli}', "");
-Expect(1, 43311, '\p{_-is KayahLi}', "");
-Expect(0, 43311, '\p{^_-is KayahLi}', "");
-Expect(0, 43311, '\P{_-is KayahLi}', "");
-Expect(1, 43311, '\P{^_-is KayahLi}', "");
-Expect(0, 43263, '\p{_-is KayahLi}', "");
-Expect(1, 43263, '\p{^_-is KayahLi}', "");
-Expect(1, 43263, '\P{_-is KayahLi}', "");
-Expect(0, 43263, '\P{^_-is KayahLi}', "");
-Error('\p{Kali/a/}');
-Error('\P{Kali/a/}');
-Expect(1, 43311, '\p{kali}', "");
-Expect(0, 43311, '\p{^kali}', "");
-Expect(0, 43311, '\P{kali}', "");
-Expect(1, 43311, '\P{^kali}', "");
-Expect(0, 43263, '\p{kali}', "");
-Expect(1, 43263, '\p{^kali}', "");
-Expect(1, 43263, '\P{kali}', "");
-Expect(0, 43263, '\P{^kali}', "");
-Expect(1, 43311, '\p{ _kali}', "");
-Expect(0, 43311, '\p{^ _kali}', "");
-Expect(0, 43311, '\P{ _kali}', "");
-Expect(1, 43311, '\P{^ _kali}', "");
-Expect(0, 43263, '\p{ _kali}', "");
-Expect(1, 43263, '\p{^ _kali}', "");
-Expect(1, 43263, '\P{ _kali}', "");
-Expect(0, 43263, '\P{^ _kali}', "");
-Error('\p{_ Is kali:=}');
-Error('\P{_ Is kali:=}');
-Expect(1, 43311, '\p{iskali}', "");
-Expect(0, 43311, '\p{^iskali}', "");
-Expect(0, 43311, '\P{iskali}', "");
-Expect(1, 43311, '\P{^iskali}', "");
-Expect(0, 43263, '\p{iskali}', "");
-Expect(1, 43263, '\p{^iskali}', "");
-Expect(1, 43263, '\P{iskali}', "");
-Expect(0, 43263, '\P{^iskali}', "");
-Expect(1, 43311, '\p{- IS KALI}', "");
-Expect(0, 43311, '\p{^- IS KALI}', "");
-Expect(0, 43311, '\P{- IS KALI}', "");
-Expect(1, 43311, '\P{^- IS KALI}', "");
-Expect(0, 43263, '\p{- IS KALI}', "");
-Expect(1, 43263, '\p{^- IS KALI}', "");
-Expect(1, 43263, '\P{- IS KALI}', "");
-Expect(0, 43263, '\P{^- IS KALI}', "");
-Error('\p{ -PosixGraph:=}');
-Error('\P{ -PosixGraph:=}');
-Expect(1, 126, '\p{posixgraph}', "");
-Expect(0, 126, '\p{^posixgraph}', "");
-Expect(0, 126, '\P{posixgraph}', "");
-Expect(1, 126, '\P{^posixgraph}', "");
-Expect(0, 32, '\p{posixgraph}', "");
-Expect(1, 32, '\p{^posixgraph}', "");
-Expect(1, 32, '\P{posixgraph}', "");
-Expect(0, 32, '\P{^posixgraph}', "");
-Expect(1, 126, '\p{-_POSIXGRAPH}', "");
-Expect(0, 126, '\p{^-_POSIXGRAPH}', "");
-Expect(0, 126, '\P{-_POSIXGRAPH}', "");
-Expect(1, 126, '\P{^-_POSIXGRAPH}', "");
-Expect(0, 32, '\p{-_POSIXGRAPH}', "");
-Expect(1, 32, '\p{^-_POSIXGRAPH}', "");
-Expect(1, 32, '\P{-_POSIXGRAPH}', "");
-Expect(0, 32, '\P{^-_POSIXGRAPH}', "");
-Error('\p{ :=is_posixgraph}');
-Error('\P{ :=is_posixgraph}');
-Expect(1, 126, '\p{isposixgraph}', "");
-Expect(0, 126, '\p{^isposixgraph}', "");
-Expect(0, 126, '\P{isposixgraph}', "");
-Expect(1, 126, '\P{^isposixgraph}', "");
-Expect(0, 32, '\p{isposixgraph}', "");
-Expect(1, 32, '\p{^isposixgraph}', "");
-Expect(1, 32, '\P{isposixgraph}', "");
-Expect(0, 32, '\P{^isposixgraph}', "");
-Expect(1, 126, '\p{ Is PosixGraph}', "");
-Expect(0, 126, '\p{^ Is PosixGraph}', "");
-Expect(0, 126, '\P{ Is PosixGraph}', "");
-Expect(1, 126, '\P{^ Is PosixGraph}', "");
-Expect(0, 32, '\p{ Is PosixGraph}', "");
-Expect(1, 32, '\p{^ Is PosixGraph}', "");
-Expect(1, 32, '\P{ Is PosixGraph}', "");
-Expect(0, 32, '\P{^ Is PosixGraph}', "");
-Error('\p{_IN old TURKIC/a/}');
-Error('\P{_IN old TURKIC/a/}');
-Expect(1, 68687, '\p{inoldturkic}', "");
-Expect(0, 68687, '\p{^inoldturkic}', "");
-Expect(0, 68687, '\P{inoldturkic}', "");
-Expect(1, 68687, '\P{^inoldturkic}', "");
-Expect(0, 68607, '\p{inoldturkic}', "");
-Expect(1, 68607, '\p{^inoldturkic}', "");
-Expect(1, 68607, '\P{inoldturkic}', "");
-Expect(0, 68607, '\P{^inoldturkic}', "");
-Expect(1, 68687, '\p{ -IN-old-Turkic}', "");
-Expect(0, 68687, '\p{^ -IN-old-Turkic}', "");
-Expect(0, 68687, '\P{ -IN-old-Turkic}', "");
-Expect(1, 68687, '\P{^ -IN-old-Turkic}', "");
-Expect(0, 68607, '\p{ -IN-old-Turkic}', "");
-Expect(1, 68607, '\p{^ -IN-old-Turkic}', "");
-Expect(1, 68607, '\P{ -IN-old-Turkic}', "");
-Expect(0, 68607, '\P{^ -IN-old-Turkic}', "");
-Error('\p{ :=GRAPHEME Base}');
-Error('\P{ :=GRAPHEME Base}');
-Expect(1, 126, '\p{graphemebase}', "");
-Expect(0, 126, '\p{^graphemebase}', "");
-Expect(0, 126, '\P{graphemebase}', "");
-Expect(1, 126, '\P{^graphemebase}', "");
-Expect(0, 31, '\p{graphemebase}', "");
-Expect(1, 31, '\p{^graphemebase}', "");
-Expect(1, 31, '\P{graphemebase}', "");
-Expect(0, 31, '\P{^graphemebase}', "");
-Expect(1, 126, '\p{_ GRAPHEME-Base}', "");
-Expect(0, 126, '\p{^_ GRAPHEME-Base}', "");
-Expect(0, 126, '\P{_ GRAPHEME-Base}', "");
-Expect(1, 126, '\P{^_ GRAPHEME-Base}', "");
-Expect(0, 31, '\p{_ GRAPHEME-Base}', "");
-Expect(1, 31, '\p{^_ GRAPHEME-Base}', "");
-Expect(1, 31, '\P{_ GRAPHEME-Base}', "");
-Expect(0, 31, '\P{^_ GRAPHEME-Base}', "");
-Error('\p{-/a/Is_Grapheme-Base}');
-Error('\P{-/a/Is_Grapheme-Base}');
-Expect(1, 126, '\p{isgraphemebase}', "");
-Expect(0, 126, '\p{^isgraphemebase}', "");
-Expect(0, 126, '\P{isgraphemebase}', "");
-Expect(1, 126, '\P{^isgraphemebase}', "");
-Expect(0, 31, '\p{isgraphemebase}', "");
-Expect(1, 31, '\p{^isgraphemebase}', "");
-Expect(1, 31, '\P{isgraphemebase}', "");
-Expect(0, 31, '\P{^isgraphemebase}', "");
-Expect(1, 126, '\p{- Is-Grapheme_BASE}', "");
-Expect(0, 126, '\p{^- Is-Grapheme_BASE}', "");
-Expect(0, 126, '\P{- Is-Grapheme_BASE}', "");
-Expect(1, 126, '\P{^- Is-Grapheme_BASE}', "");
-Expect(0, 31, '\p{- Is-Grapheme_BASE}', "");
-Expect(1, 31, '\p{^- Is-Grapheme_BASE}', "");
-Expect(1, 31, '\P{- Is-Grapheme_BASE}', "");
-Expect(0, 31, '\P{^- Is-Grapheme_BASE}', "");
-Error('\p{:=Gr BASE}');
-Error('\P{:=Gr BASE}');
-Expect(1, 126, '\p{grbase}', "");
-Expect(0, 126, '\p{^grbase}', "");
-Expect(0, 126, '\P{grbase}', "");
-Expect(1, 126, '\P{^grbase}', "");
-Expect(0, 31, '\p{grbase}', "");
-Expect(1, 31, '\p{^grbase}', "");
-Expect(1, 31, '\P{grbase}', "");
-Expect(0, 31, '\P{^grbase}', "");
-Expect(1, 126, '\p{_-grBase}', "");
-Expect(0, 126, '\p{^_-grBase}', "");
-Expect(0, 126, '\P{_-grBase}', "");
-Expect(1, 126, '\P{^_-grBase}', "");
-Expect(0, 31, '\p{_-grBase}', "");
-Expect(1, 31, '\p{^_-grBase}', "");
-Expect(1, 31, '\P{_-grBase}', "");
-Expect(0, 31, '\P{^_-grBase}', "");
-Error('\p{ /a/isGr_Base}');
-Error('\P{ /a/isGr_Base}');
-Expect(1, 126, '\p{isgrbase}', "");
-Expect(0, 126, '\p{^isgrbase}', "");
-Expect(0, 126, '\P{isgrbase}', "");
-Expect(1, 126, '\P{^isgrbase}', "");
-Expect(0, 31, '\p{isgrbase}', "");
-Expect(1, 31, '\p{^isgrbase}', "");
-Expect(1, 31, '\P{isgrbase}', "");
-Expect(0, 31, '\P{^isgrbase}', "");
-Expect(1, 126, '\p{ IsGr BASE}', "");
-Expect(0, 126, '\p{^ IsGr BASE}', "");
-Expect(0, 126, '\P{ IsGr BASE}', "");
-Expect(1, 126, '\P{^ IsGr BASE}', "");
-Expect(0, 31, '\p{ IsGr BASE}', "");
-Expect(1, 31, '\p{^ IsGr BASE}', "");
-Expect(1, 31, '\P{ IsGr BASE}', "");
-Expect(0, 31, '\P{^ IsGr BASE}', "");
-Error('\p{/a/ -In Ugaritic}');
-Error('\P{/a/ -In Ugaritic}');
-Expect(1, 66463, '\p{inugaritic}', "");
-Expect(0, 66463, '\p{^inugaritic}', "");
-Expect(0, 66463, '\P{inugaritic}', "");
-Expect(1, 66463, '\P{^inugaritic}', "");
-Expect(0, 66431, '\p{inugaritic}', "");
-Expect(1, 66431, '\p{^inugaritic}', "");
-Expect(1, 66431, '\P{inugaritic}', "");
-Expect(0, 66431, '\P{^inugaritic}', "");
-Expect(1, 66463, '\p{ -In-UGARITIC}', "");
-Expect(0, 66463, '\p{^ -In-UGARITIC}', "");
-Expect(0, 66463, '\P{ -In-UGARITIC}', "");
-Expect(1, 66463, '\P{^ -In-UGARITIC}', "");
-Expect(0, 66431, '\p{ -In-UGARITIC}', "");
-Expect(1, 66431, '\p{^ -In-UGARITIC}', "");
-Expect(1, 66431, '\P{ -In-UGARITIC}', "");
-Expect(0, 66431, '\P{^ -In-UGARITIC}', "");
-Error('\p{ Devanagari/a/}');
-Error('\P{ Devanagari/a/}');
-Expect(1, 2361, '\p{devanagari}', "");
-Expect(0, 2361, '\p{^devanagari}', "");
-Expect(0, 2361, '\P{devanagari}', "");
-Expect(1, 2361, '\P{^devanagari}', "");
-Expect(0, 2303, '\p{devanagari}', "");
-Expect(1, 2303, '\p{^devanagari}', "");
-Expect(1, 2303, '\P{devanagari}', "");
-Expect(0, 2303, '\P{^devanagari}', "");
-Expect(1, 2361, '\p{-_devanagari}', "");
-Expect(0, 2361, '\p{^-_devanagari}', "");
-Expect(0, 2361, '\P{-_devanagari}', "");
-Expect(1, 2361, '\P{^-_devanagari}', "");
-Expect(0, 2303, '\p{-_devanagari}', "");
-Expect(1, 2303, '\p{^-_devanagari}', "");
-Expect(1, 2303, '\P{-_devanagari}', "");
-Expect(0, 2303, '\P{^-_devanagari}', "");
-Error('\p{-:=Is DEVANAGARI}');
-Error('\P{-:=Is DEVANAGARI}');
-Expect(1, 2361, '\p{isdevanagari}', "");
-Expect(0, 2361, '\p{^isdevanagari}', "");
-Expect(0, 2361, '\P{isdevanagari}', "");
-Expect(1, 2361, '\P{^isdevanagari}', "");
-Expect(0, 2303, '\p{isdevanagari}', "");
-Expect(1, 2303, '\p{^isdevanagari}', "");
-Expect(1, 2303, '\P{isdevanagari}', "");
-Expect(0, 2303, '\P{^isdevanagari}', "");
-Expect(1, 2361, '\p{ _Is devanagari}', "");
-Expect(0, 2361, '\p{^ _Is devanagari}', "");
-Expect(0, 2361, '\P{ _Is devanagari}', "");
-Expect(1, 2361, '\P{^ _Is devanagari}', "");
-Expect(0, 2303, '\p{ _Is devanagari}', "");
-Expect(1, 2303, '\p{^ _Is devanagari}', "");
-Expect(1, 2303, '\P{ _Is devanagari}', "");
-Expect(0, 2303, '\P{^ _Is devanagari}', "");
-Error('\p{ :=deva}');
-Error('\P{ :=deva}');
-Expect(1, 2361, '\p{deva}', "");
-Expect(0, 2361, '\p{^deva}', "");
-Expect(0, 2361, '\P{deva}', "");
-Expect(1, 2361, '\P{^deva}', "");
-Expect(0, 2303, '\p{deva}', "");
-Expect(1, 2303, '\p{^deva}', "");
-Expect(1, 2303, '\P{deva}', "");
-Expect(0, 2303, '\P{^deva}', "");
-Expect(1, 2361, '\p{_ Deva}', "");
-Expect(0, 2361, '\p{^_ Deva}', "");
-Expect(0, 2361, '\P{_ Deva}', "");
-Expect(1, 2361, '\P{^_ Deva}', "");
-Expect(0, 2303, '\p{_ Deva}', "");
-Expect(1, 2303, '\p{^_ Deva}', "");
-Expect(1, 2303, '\P{_ Deva}', "");
-Expect(0, 2303, '\P{^_ Deva}', "");
-Error('\p{ IsDeva/a/}');
-Error('\P{ IsDeva/a/}');
-Expect(1, 2361, '\p{isdeva}', "");
-Expect(0, 2361, '\p{^isdeva}', "");
-Expect(0, 2361, '\P{isdeva}', "");
-Expect(1, 2361, '\P{^isdeva}', "");
-Expect(0, 2303, '\p{isdeva}', "");
-Expect(1, 2303, '\p{^isdeva}', "");
-Expect(1, 2303, '\P{isdeva}', "");
-Expect(0, 2303, '\P{^isdeva}', "");
-Expect(1, 2361, '\p{__ISDeva}', "");
-Expect(0, 2361, '\p{^__ISDeva}', "");
-Expect(0, 2361, '\P{__ISDeva}', "");
-Expect(1, 2361, '\P{^__ISDeva}', "");
-Expect(0, 2303, '\p{__ISDeva}', "");
-Expect(1, 2303, '\p{^__ISDeva}', "");
-Expect(1, 2303, '\P{__ISDeva}', "");
-Expect(0, 2303, '\P{^__ISDeva}', "");
-Error('\p{ :=Final-Punctuation}');
-Error('\P{ :=Final-Punctuation}');
-Expect(1, 187, '\p{finalpunctuation}', "");
-Expect(0, 187, '\p{^finalpunctuation}', "");
-Expect(0, 187, '\P{finalpunctuation}', "");
-Expect(1, 187, '\P{^finalpunctuation}', "");
-Expect(0, 186, '\p{finalpunctuation}', "");
-Expect(1, 186, '\p{^finalpunctuation}', "");
-Expect(1, 186, '\P{finalpunctuation}', "");
-Expect(0, 186, '\P{^finalpunctuation}', "");
-Expect(1, 187, '\p{- Final-Punctuation}', "");
-Expect(0, 187, '\p{^- Final-Punctuation}', "");
-Expect(0, 187, '\P{- Final-Punctuation}', "");
-Expect(1, 187, '\P{^- Final-Punctuation}', "");
-Expect(0, 186, '\p{- Final-Punctuation}', "");
-Expect(1, 186, '\p{^- Final-Punctuation}', "");
-Expect(1, 186, '\P{- Final-Punctuation}', "");
-Expect(0, 186, '\P{^- Final-Punctuation}', "");
-Error('\p{:=- Is_finalPunctuation}');
-Error('\P{:=- Is_finalPunctuation}');
-Expect(1, 187, '\p{isfinalpunctuation}', "");
-Expect(0, 187, '\p{^isfinalpunctuation}', "");
-Expect(0, 187, '\P{isfinalpunctuation}', "");
-Expect(1, 187, '\P{^isfinalpunctuation}', "");
-Expect(0, 186, '\p{isfinalpunctuation}', "");
-Expect(1, 186, '\p{^isfinalpunctuation}', "");
-Expect(1, 186, '\P{isfinalpunctuation}', "");
-Expect(0, 186, '\P{^isfinalpunctuation}', "");
-Expect(1, 187, '\p{ Is_Finalpunctuation}', "");
-Expect(0, 187, '\p{^ Is_Finalpunctuation}', "");
-Expect(0, 187, '\P{ Is_Finalpunctuation}', "");
-Expect(1, 187, '\P{^ Is_Finalpunctuation}', "");
-Expect(0, 186, '\p{ Is_Finalpunctuation}', "");
-Expect(1, 186, '\p{^ Is_Finalpunctuation}', "");
-Expect(1, 186, '\P{ Is_Finalpunctuation}', "");
-Expect(0, 186, '\P{^ Is_Finalpunctuation}', "");
-Error('\p{/a/pf}');
-Error('\P{/a/pf}');
-Expect(1, 187, '\p{pf}', "");
-Expect(0, 187, '\p{^pf}', "");
-Expect(0, 187, '\P{pf}', "");
-Expect(1, 187, '\P{^pf}', "");
-Expect(0, 186, '\p{pf}', "");
-Expect(1, 186, '\p{^pf}', "");
-Expect(1, 186, '\P{pf}', "");
-Expect(0, 186, '\P{^pf}', "");
-Expect(1, 187, '\p{-_PF}', "");
-Expect(0, 187, '\p{^-_PF}', "");
-Expect(0, 187, '\P{-_PF}', "");
-Expect(1, 187, '\P{^-_PF}', "");
-Expect(0, 186, '\p{-_PF}', "");
-Expect(1, 186, '\p{^-_PF}', "");
-Expect(1, 186, '\P{-_PF}', "");
-Expect(0, 186, '\P{^-_PF}', "");
-Error('\p{ Is:=pf}');
-Error('\P{ Is:=pf}');
-Expect(1, 187, '\p{ispf}', "");
-Expect(0, 187, '\p{^ispf}', "");
-Expect(0, 187, '\P{ispf}', "");
-Expect(1, 187, '\P{^ispf}', "");
-Expect(0, 186, '\p{ispf}', "");
-Expect(1, 186, '\p{^ispf}', "");
-Expect(1, 186, '\P{ispf}', "");
-Expect(0, 186, '\P{^ispf}', "");
-Expect(1, 187, '\p{ is_PF}', "");
-Expect(0, 187, '\p{^ is_PF}', "");
-Expect(0, 187, '\P{ is_PF}', "");
-Expect(1, 187, '\P{^ is_PF}', "");
-Expect(0, 186, '\p{ is_PF}', "");
-Expect(1, 186, '\p{^ is_PF}', "");
-Expect(1, 186, '\P{ is_PF}', "");
-Expect(0, 186, '\P{^ is_PF}', "");
-Error('\p{ MODIFIER:=LETTER}');
-Error('\P{ MODIFIER:=LETTER}');
-Expect(1, 705, '\p{modifierletter}', "");
-Expect(0, 705, '\p{^modifierletter}', "");
-Expect(0, 705, '\P{modifierletter}', "");
-Expect(1, 705, '\P{^modifierletter}', "");
-Expect(0, 687, '\p{modifierletter}', "");
-Expect(1, 687, '\p{^modifierletter}', "");
-Expect(1, 687, '\P{modifierletter}', "");
-Expect(0, 687, '\P{^modifierletter}', "");
-Expect(1, 705, '\p{ _ModifierLetter}', "");
-Expect(0, 705, '\p{^ _ModifierLetter}', "");
-Expect(0, 705, '\P{ _ModifierLetter}', "");
-Expect(1, 705, '\P{^ _ModifierLetter}', "");
-Expect(0, 687, '\p{ _ModifierLetter}', "");
-Expect(1, 687, '\p{^ _ModifierLetter}', "");
-Expect(1, 687, '\P{ _ModifierLetter}', "");
-Expect(0, 687, '\P{^ _ModifierLetter}', "");
-Error('\p{_Is MODIFIER-Letter/a/}');
-Error('\P{_Is MODIFIER-Letter/a/}');
-Expect(1, 705, '\p{ismodifierletter}', "");
-Expect(0, 705, '\p{^ismodifierletter}', "");
-Expect(0, 705, '\P{ismodifierletter}', "");
-Expect(1, 705, '\P{^ismodifierletter}', "");
-Expect(0, 687, '\p{ismodifierletter}', "");
-Expect(1, 687, '\p{^ismodifierletter}', "");
-Expect(1, 687, '\P{ismodifierletter}', "");
-Expect(0, 687, '\P{^ismodifierletter}', "");
-Expect(1, 705, '\p{_-Ismodifier Letter}', "");
-Expect(0, 705, '\p{^_-Ismodifier Letter}', "");
-Expect(0, 705, '\P{_-Ismodifier Letter}', "");
-Expect(1, 705, '\P{^_-Ismodifier Letter}', "");
-Expect(0, 687, '\p{_-Ismodifier Letter}', "");
-Expect(1, 687, '\p{^_-Ismodifier Letter}', "");
-Expect(1, 687, '\P{_-Ismodifier Letter}', "");
-Expect(0, 687, '\P{^_-Ismodifier Letter}', "");
-Error('\p{ Lm/a/}');
-Error('\P{ Lm/a/}');
-Expect(1, 705, '\p{lm}', "");
-Expect(0, 705, '\p{^lm}', "");
-Expect(0, 705, '\P{lm}', "");
-Expect(1, 705, '\P{^lm}', "");
-Expect(0, 687, '\p{lm}', "");
-Expect(1, 687, '\p{^lm}', "");
-Expect(1, 687, '\P{lm}', "");
-Expect(0, 687, '\P{^lm}', "");
-Expect(1, 705, '\p{--Lm}', "");
-Expect(0, 705, '\p{^--Lm}', "");
-Expect(0, 705, '\P{--Lm}', "");
-Expect(1, 705, '\P{^--Lm}', "");
-Expect(0, 687, '\p{--Lm}', "");
-Expect(1, 687, '\p{^--Lm}', "");
-Expect(1, 687, '\P{--Lm}', "");
-Expect(0, 687, '\P{^--Lm}', "");
-Error('\p{ Is lm/a/}');
-Error('\P{ Is lm/a/}');
-Expect(1, 705, '\p{islm}', "");
-Expect(0, 705, '\p{^islm}', "");
-Expect(0, 705, '\P{islm}', "");
-Expect(1, 705, '\P{^islm}', "");
-Expect(0, 687, '\p{islm}', "");
-Expect(1, 687, '\p{^islm}', "");
-Expect(1, 687, '\P{islm}', "");
-Expect(0, 687, '\P{^islm}', "");
-Expect(1, 705, '\p{ -is lm}', "");
-Expect(0, 705, '\p{^ -is lm}', "");
-Expect(0, 705, '\P{ -is lm}', "");
-Expect(1, 705, '\P{^ -is lm}', "");
-Expect(0, 687, '\p{ -is lm}', "");
-Expect(1, 687, '\p{^ -is lm}', "");
-Expect(1, 687, '\P{ -is lm}', "");
-Expect(0, 687, '\P{^ -is lm}', "");
-Error('\p{ KANBUN:=}');
-Error('\P{ KANBUN:=}');
-Expect(1, 12703, '\p{kanbun}', "");
-Expect(0, 12703, '\p{^kanbun}', "");
-Expect(0, 12703, '\P{kanbun}', "");
-Expect(1, 12703, '\P{^kanbun}', "");
-Expect(0, 12687, '\p{kanbun}', "");
-Expect(1, 12687, '\p{^kanbun}', "");
-Expect(1, 12687, '\P{kanbun}', "");
-Expect(0, 12687, '\P{^kanbun}', "");
-Expect(1, 12703, '\p{ KANBUN}', "");
-Expect(0, 12703, '\p{^ KANBUN}', "");
-Expect(0, 12703, '\P{ KANBUN}', "");
-Expect(1, 12703, '\P{^ KANBUN}', "");
-Expect(0, 12687, '\p{ KANBUN}', "");
-Expect(1, 12687, '\p{^ KANBUN}', "");
-Expect(1, 12687, '\P{ KANBUN}', "");
-Expect(0, 12687, '\P{^ KANBUN}', "");
-Error('\p{-:=is-Kanbun}');
-Error('\P{-:=is-Kanbun}');
-Expect(1, 12703, '\p{iskanbun}', "");
-Expect(0, 12703, '\p{^iskanbun}', "");
-Expect(0, 12703, '\P{iskanbun}', "");
-Expect(1, 12703, '\P{^iskanbun}', "");
-Expect(0, 12687, '\p{iskanbun}', "");
-Expect(1, 12687, '\p{^iskanbun}', "");
-Expect(1, 12687, '\P{iskanbun}', "");
-Expect(0, 12687, '\P{^iskanbun}', "");
-Expect(1, 12703, '\p{__IS KANBUN}', "");
-Expect(0, 12703, '\p{^__IS KANBUN}', "");
-Expect(0, 12703, '\P{__IS KANBUN}', "");
-Expect(1, 12703, '\P{^__IS KANBUN}', "");
-Expect(0, 12687, '\p{__IS KANBUN}', "");
-Expect(1, 12687, '\p{^__IS KANBUN}', "");
-Expect(1, 12687, '\P{__IS KANBUN}', "");
-Expect(0, 12687, '\P{^__IS KANBUN}', "");
-Error('\p{_-In Kanbun/a/}');
-Error('\P{_-In Kanbun/a/}');
-Expect(1, 12703, '\p{inkanbun}', "");
-Expect(0, 12703, '\p{^inkanbun}', "");
-Expect(0, 12703, '\P{inkanbun}', "");
-Expect(1, 12703, '\P{^inkanbun}', "");
-Expect(0, 12687, '\p{inkanbun}', "");
-Expect(1, 12687, '\p{^inkanbun}', "");
-Expect(1, 12687, '\P{inkanbun}', "");
-Expect(0, 12687, '\P{^inkanbun}', "");
-Expect(1, 12703, '\p{_In_Kanbun}', "");
-Expect(0, 12703, '\p{^_In_Kanbun}', "");
-Expect(0, 12703, '\P{_In_Kanbun}', "");
-Expect(1, 12703, '\P{^_In_Kanbun}', "");
-Expect(0, 12687, '\p{_In_Kanbun}', "");
-Expect(1, 12687, '\p{^_In_Kanbun}', "");
-Expect(1, 12687, '\P{_In_Kanbun}', "");
-Expect(0, 12687, '\P{^_In_Kanbun}', "");
-Error('\p{-MiscellaneousMathematical:=Symbols-A}');
-Error('\P{-MiscellaneousMathematical:=Symbols-A}');
-Expect(1, 10223, '\p{miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{miscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^miscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{-Miscellaneous mathematical-symbols-A}', "");
-Expect(0, 10223, '\p{^-Miscellaneous mathematical-symbols-A}', "");
-Expect(0, 10223, '\P{-Miscellaneous mathematical-symbols-A}', "");
-Expect(1, 10223, '\P{^-Miscellaneous mathematical-symbols-A}', "");
-Expect(0, 10175, '\p{-Miscellaneous mathematical-symbols-A}', "");
-Expect(1, 10175, '\p{^-Miscellaneous mathematical-symbols-A}', "");
-Expect(1, 10175, '\P{-Miscellaneous mathematical-symbols-A}', "");
-Expect(0, 10175, '\P{^-Miscellaneous mathematical-symbols-A}', "");
-Error('\p{ Is:=miscellaneous MATHEMATICAL_symbols-A}');
-Error('\P{ Is:=miscellaneous MATHEMATICAL_symbols-A}');
-Expect(1, 10223, '\p{ismiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^ismiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{ismiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^ismiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{ismiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^ismiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{ismiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^ismiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(0, 10223, '\p{^_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(0, 10223, '\P{_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(1, 10223, '\P{^_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(0, 10175, '\p{_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(1, 10175, '\p{^_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(1, 10175, '\P{_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Expect(0, 10175, '\P{^_ Is MISCELLANEOUS MATHEMATICAL-SYMBOLSa}', "");
-Error('\p{ :=In-Miscellaneous Mathematical Symbols A}');
-Error('\P{ :=In-Miscellaneous Mathematical Symbols A}');
-Expect(1, 10223, '\p{inmiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\p{^inmiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10223, '\P{inmiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\P{^inmiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\p{inmiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\p{^inmiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10175, '\P{inmiscellaneousmathematicalsymbolsa}', "");
-Expect(0, 10175, '\P{^inmiscellaneousmathematicalsymbolsa}', "");
-Expect(1, 10223, '\p{--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(0, 10223, '\p{^--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(0, 10223, '\P{--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(1, 10223, '\P{^--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(0, 10175, '\p{--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(1, 10175, '\p{^--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(1, 10175, '\P{--in-Miscellaneous_Mathematical SymbolsA}', "");
-Expect(0, 10175, '\P{^--in-Miscellaneous_Mathematical SymbolsA}', "");
-Error('\p{-IN devanagari:=}');
-Error('\P{-IN devanagari:=}');
-Expect(1, 2431, '\p{indevanagari}', "");
-Expect(0, 2431, '\p{^indevanagari}', "");
-Expect(0, 2431, '\P{indevanagari}', "");
-Expect(1, 2431, '\P{^indevanagari}', "");
-Expect(0, 2303, '\p{indevanagari}', "");
-Expect(1, 2303, '\p{^indevanagari}', "");
-Expect(1, 2303, '\P{indevanagari}', "");
-Expect(0, 2303, '\P{^indevanagari}', "");
-Expect(1, 2431, '\p{ -IN-DEVANAGARI}', "");
-Expect(0, 2431, '\p{^ -IN-DEVANAGARI}', "");
-Expect(0, 2431, '\P{ -IN-DEVANAGARI}', "");
-Expect(1, 2431, '\P{^ -IN-DEVANAGARI}', "");
-Expect(0, 2303, '\p{ -IN-DEVANAGARI}', "");
-Expect(1, 2303, '\p{^ -IN-DEVANAGARI}', "");
-Expect(1, 2303, '\P{ -IN-DEVANAGARI}', "");
-Expect(0, 2303, '\P{^ -IN-DEVANAGARI}', "");
-Error('\p{ /a/TIBETAN}');
-Error('\P{ /a/TIBETAN}');
-Expect(1, 3911, '\p{tibetan}', "");
-Expect(0, 3911, '\p{^tibetan}', "");
-Expect(0, 3911, '\P{tibetan}', "");
-Expect(1, 3911, '\P{^tibetan}', "");
-Expect(0, 3839, '\p{tibetan}', "");
-Expect(1, 3839, '\p{^tibetan}', "");
-Expect(1, 3839, '\P{tibetan}', "");
-Expect(0, 3839, '\P{^tibetan}', "");
-Expect(1, 3911, '\p{ TIBETAN}', "");
-Expect(0, 3911, '\p{^ TIBETAN}', "");
-Expect(0, 3911, '\P{ TIBETAN}', "");
-Expect(1, 3911, '\P{^ TIBETAN}', "");
-Expect(0, 3839, '\p{ TIBETAN}', "");
-Expect(1, 3839, '\p{^ TIBETAN}', "");
-Expect(1, 3839, '\P{ TIBETAN}', "");
-Expect(0, 3839, '\P{^ TIBETAN}', "");
-Error('\p{/a/-_IS_tibetan}');
-Error('\P{/a/-_IS_tibetan}');
-Expect(1, 3911, '\p{istibetan}', "");
-Expect(0, 3911, '\p{^istibetan}', "");
-Expect(0, 3911, '\P{istibetan}', "");
-Expect(1, 3911, '\P{^istibetan}', "");
-Expect(0, 3839, '\p{istibetan}', "");
-Expect(1, 3839, '\p{^istibetan}', "");
-Expect(1, 3839, '\P{istibetan}', "");
-Expect(0, 3839, '\P{^istibetan}', "");
-Expect(1, 3911, '\p{- Is-tibetan}', "");
-Expect(0, 3911, '\p{^- Is-tibetan}', "");
-Expect(0, 3911, '\P{- Is-tibetan}', "");
-Expect(1, 3911, '\P{^- Is-tibetan}', "");
-Expect(0, 3839, '\p{- Is-tibetan}', "");
-Expect(1, 3839, '\p{^- Is-tibetan}', "");
-Expect(1, 3839, '\P{- Is-tibetan}', "");
-Expect(0, 3839, '\P{^- Is-tibetan}', "");
-Error('\p{:=- Tibt}');
-Error('\P{:=- Tibt}');
-Expect(1, 3911, '\p{tibt}', "");
-Expect(0, 3911, '\p{^tibt}', "");
-Expect(0, 3911, '\P{tibt}', "");
-Expect(1, 3911, '\P{^tibt}', "");
-Expect(0, 3839, '\p{tibt}', "");
-Expect(1, 3839, '\p{^tibt}', "");
-Expect(1, 3839, '\P{tibt}', "");
-Expect(0, 3839, '\P{^tibt}', "");
-Expect(1, 3911, '\p{ Tibt}', "");
-Expect(0, 3911, '\p{^ Tibt}', "");
-Expect(0, 3911, '\P{ Tibt}', "");
-Expect(1, 3911, '\P{^ Tibt}', "");
-Expect(0, 3839, '\p{ Tibt}', "");
-Expect(1, 3839, '\p{^ Tibt}', "");
-Expect(1, 3839, '\P{ Tibt}', "");
-Expect(0, 3839, '\P{^ Tibt}', "");
-Error('\p{ /a/IS tibt}');
-Error('\P{ /a/IS tibt}');
-Expect(1, 3911, '\p{istibt}', "");
-Expect(0, 3911, '\p{^istibt}', "");
-Expect(0, 3911, '\P{istibt}', "");
-Expect(1, 3911, '\P{^istibt}', "");
-Expect(0, 3839, '\p{istibt}', "");
-Expect(1, 3839, '\p{^istibt}', "");
-Expect(1, 3839, '\P{istibt}', "");
-Expect(0, 3839, '\P{^istibt}', "");
-Expect(1, 3911, '\p{- is-TIBT}', "");
-Expect(0, 3911, '\p{^- is-TIBT}', "");
-Expect(0, 3911, '\P{- is-TIBT}', "");
-Expect(1, 3911, '\P{^- is-TIBT}', "");
-Expect(0, 3839, '\p{- is-TIBT}', "");
-Expect(1, 3839, '\p{^- is-TIBT}', "");
-Expect(1, 3839, '\P{- is-TIBT}', "");
-Expect(0, 3839, '\P{^- is-TIBT}', "");
-Error('\p{:= _JAVANESE}');
-Error('\P{:= _JAVANESE}');
-Expect(1, 43469, '\p{javanese}', "");
-Expect(0, 43469, '\p{^javanese}', "");
-Expect(0, 43469, '\P{javanese}', "");
-Expect(1, 43469, '\P{^javanese}', "");
-Expect(0, 43391, '\p{javanese}', "");
-Expect(1, 43391, '\p{^javanese}', "");
-Expect(1, 43391, '\P{javanese}', "");
-Expect(0, 43391, '\P{^javanese}', "");
-Expect(1, 43469, '\p{ -Javanese}', "");
-Expect(0, 43469, '\p{^ -Javanese}', "");
-Expect(0, 43469, '\P{ -Javanese}', "");
-Expect(1, 43469, '\P{^ -Javanese}', "");
-Expect(0, 43391, '\p{ -Javanese}', "");
-Expect(1, 43391, '\p{^ -Javanese}', "");
-Expect(1, 43391, '\P{ -Javanese}', "");
-Expect(0, 43391, '\P{^ -Javanese}', "");
-Error('\p{-Is Javanese/a/}');
-Error('\P{-Is Javanese/a/}');
-Expect(1, 43469, '\p{isjavanese}', "");
-Expect(0, 43469, '\p{^isjavanese}', "");
-Expect(0, 43469, '\P{isjavanese}', "");
-Expect(1, 43469, '\P{^isjavanese}', "");
-Expect(0, 43391, '\p{isjavanese}', "");
-Expect(1, 43391, '\p{^isjavanese}', "");
-Expect(1, 43391, '\P{isjavanese}', "");
-Expect(0, 43391, '\P{^isjavanese}', "");
-Expect(1, 43469, '\p{ -IS_Javanese}', "");
-Expect(0, 43469, '\p{^ -IS_Javanese}', "");
-Expect(0, 43469, '\P{ -IS_Javanese}', "");
-Expect(1, 43469, '\P{^ -IS_Javanese}', "");
-Expect(0, 43391, '\p{ -IS_Javanese}', "");
-Expect(1, 43391, '\p{^ -IS_Javanese}', "");
-Expect(1, 43391, '\P{ -IS_Javanese}', "");
-Expect(0, 43391, '\P{^ -IS_Javanese}', "");
-Error('\p{:=_JAVA}');
-Error('\P{:=_JAVA}');
-Expect(1, 43469, '\p{java}', "");
-Expect(0, 43469, '\p{^java}', "");
-Expect(0, 43469, '\P{java}', "");
-Expect(1, 43469, '\P{^java}', "");
-Expect(0, 43391, '\p{java}', "");
-Expect(1, 43391, '\p{^java}', "");
-Expect(1, 43391, '\P{java}', "");
-Expect(0, 43391, '\P{^java}', "");
-Expect(1, 43469, '\p{ JAVA}', "");
-Expect(0, 43469, '\p{^ JAVA}', "");
-Expect(0, 43469, '\P{ JAVA}', "");
-Expect(1, 43469, '\P{^ JAVA}', "");
-Expect(0, 43391, '\p{ JAVA}', "");
-Expect(1, 43391, '\p{^ JAVA}', "");
-Expect(1, 43391, '\P{ JAVA}', "");
-Expect(0, 43391, '\P{^ JAVA}', "");
-Error('\p{:= Isjava}');
-Error('\P{:= Isjava}');
-Expect(1, 43469, '\p{isjava}', "");
-Expect(0, 43469, '\p{^isjava}', "");
-Expect(0, 43469, '\P{isjava}', "");
-Expect(1, 43469, '\P{^isjava}', "");
-Expect(0, 43391, '\p{isjava}', "");
-Expect(1, 43391, '\p{^isjava}', "");
-Expect(1, 43391, '\P{isjava}', "");
-Expect(0, 43391, '\P{^isjava}', "");
-Expect(1, 43469, '\p{ _IS_Java}', "");
-Expect(0, 43469, '\p{^ _IS_Java}', "");
-Expect(0, 43469, '\P{ _IS_Java}', "");
-Expect(1, 43469, '\P{^ _IS_Java}', "");
-Expect(0, 43391, '\p{ _IS_Java}', "");
-Expect(1, 43391, '\p{^ _IS_Java}', "");
-Expect(1, 43391, '\P{ _IS_Java}', "");
-Expect(0, 43391, '\P{^ _IS_Java}', "");
-Error('\p{:=__Telugu}');
-Error('\P{:=__Telugu}');
-Expect(1, 3075, '\p{telugu}', "");
-Expect(0, 3075, '\p{^telugu}', "");
-Expect(0, 3075, '\P{telugu}', "");
-Expect(1, 3075, '\P{^telugu}', "");
-Expect(0, 3072, '\p{telugu}', "");
-Expect(1, 3072, '\p{^telugu}', "");
-Expect(1, 3072, '\P{telugu}', "");
-Expect(0, 3072, '\P{^telugu}', "");
-Expect(1, 3075, '\p{ -telugu}', "");
-Expect(0, 3075, '\p{^ -telugu}', "");
-Expect(0, 3075, '\P{ -telugu}', "");
-Expect(1, 3075, '\P{^ -telugu}', "");
-Expect(0, 3072, '\p{ -telugu}', "");
-Expect(1, 3072, '\p{^ -telugu}', "");
-Expect(1, 3072, '\P{ -telugu}', "");
-Expect(0, 3072, '\P{^ -telugu}', "");
-Error('\p{_IS:=Telugu}');
-Error('\P{_IS:=Telugu}');
-Expect(1, 3075, '\p{istelugu}', "");
-Expect(0, 3075, '\p{^istelugu}', "");
-Expect(0, 3075, '\P{istelugu}', "");
-Expect(1, 3075, '\P{^istelugu}', "");
-Expect(0, 3072, '\p{istelugu}', "");
-Expect(1, 3072, '\p{^istelugu}', "");
-Expect(1, 3072, '\P{istelugu}', "");
-Expect(0, 3072, '\P{^istelugu}', "");
-Expect(1, 3075, '\p{ Is-Telugu}', "");
-Expect(0, 3075, '\p{^ Is-Telugu}', "");
-Expect(0, 3075, '\P{ Is-Telugu}', "");
-Expect(1, 3075, '\P{^ Is-Telugu}', "");
-Expect(0, 3072, '\p{ Is-Telugu}', "");
-Expect(1, 3072, '\p{^ Is-Telugu}', "");
-Expect(1, 3072, '\P{ Is-Telugu}', "");
-Expect(0, 3072, '\P{^ Is-Telugu}', "");
-Error('\p{ :=Telu}');
-Error('\P{ :=Telu}');
-Expect(1, 3075, '\p{telu}', "");
-Expect(0, 3075, '\p{^telu}', "");
-Expect(0, 3075, '\P{telu}', "");
-Expect(1, 3075, '\P{^telu}', "");
-Expect(0, 3072, '\p{telu}', "");
-Expect(1, 3072, '\p{^telu}', "");
-Expect(1, 3072, '\P{telu}', "");
-Expect(0, 3072, '\P{^telu}', "");
-Expect(1, 3075, '\p{-Telu}', "");
-Expect(0, 3075, '\p{^-Telu}', "");
-Expect(0, 3075, '\P{-Telu}', "");
-Expect(1, 3075, '\P{^-Telu}', "");
-Expect(0, 3072, '\p{-Telu}', "");
-Expect(1, 3072, '\p{^-Telu}', "");
-Expect(1, 3072, '\P{-Telu}', "");
-Expect(0, 3072, '\P{^-Telu}', "");
-Error('\p{:=IsTelu}');
-Error('\P{:=IsTelu}');
-Expect(1, 3075, '\p{istelu}', "");
-Expect(0, 3075, '\p{^istelu}', "");
-Expect(0, 3075, '\P{istelu}', "");
-Expect(1, 3075, '\P{^istelu}', "");
-Expect(0, 3072, '\p{istelu}', "");
-Expect(1, 3072, '\p{^istelu}', "");
-Expect(1, 3072, '\P{istelu}', "");
-Expect(0, 3072, '\P{^istelu}', "");
-Expect(1, 3075, '\p{_Is Telu}', "");
-Expect(0, 3075, '\p{^_Is Telu}', "");
-Expect(0, 3075, '\P{_Is Telu}', "");
-Expect(1, 3075, '\P{^_Is Telu}', "");
-Expect(0, 3072, '\p{_Is Telu}', "");
-Expect(1, 3072, '\p{^_Is Telu}', "");
-Expect(1, 3072, '\P{_Is Telu}', "");
-Expect(0, 3072, '\P{^_Is Telu}', "");
-Error('\p{:= -YiRADICALS}');
-Error('\P{:= -YiRADICALS}');
-Expect(1, 42191, '\p{yiradicals}', "");
-Expect(0, 42191, '\p{^yiradicals}', "");
-Expect(0, 42191, '\P{yiradicals}', "");
-Expect(1, 42191, '\P{^yiradicals}', "");
-Expect(0, 42127, '\p{yiradicals}', "");
-Expect(1, 42127, '\p{^yiradicals}', "");
-Expect(1, 42127, '\P{yiradicals}', "");
-Expect(0, 42127, '\P{^yiradicals}', "");
-Expect(1, 42191, '\p{- YIRadicals}', "");
-Expect(0, 42191, '\p{^- YIRadicals}', "");
-Expect(0, 42191, '\P{- YIRadicals}', "");
-Expect(1, 42191, '\P{^- YIRadicals}', "");
-Expect(0, 42127, '\p{- YIRadicals}', "");
-Expect(1, 42127, '\p{^- YIRadicals}', "");
-Expect(1, 42127, '\P{- YIRadicals}', "");
-Expect(0, 42127, '\P{^- YIRadicals}', "");
-Error('\p{ /a/IS Yi radicals}');
-Error('\P{ /a/IS Yi radicals}');
-Expect(1, 42191, '\p{isyiradicals}', "");
-Expect(0, 42191, '\p{^isyiradicals}', "");
-Expect(0, 42191, '\P{isyiradicals}', "");
-Expect(1, 42191, '\P{^isyiradicals}', "");
-Expect(0, 42127, '\p{isyiradicals}', "");
-Expect(1, 42127, '\p{^isyiradicals}', "");
-Expect(1, 42127, '\P{isyiradicals}', "");
-Expect(0, 42127, '\P{^isyiradicals}', "");
-Expect(1, 42191, '\p{-is-YiRadicals}', "");
-Expect(0, 42191, '\p{^-is-YiRadicals}', "");
-Expect(0, 42191, '\P{-is-YiRadicals}', "");
-Expect(1, 42191, '\P{^-is-YiRadicals}', "");
-Expect(0, 42127, '\p{-is-YiRadicals}', "");
-Expect(1, 42127, '\p{^-is-YiRadicals}', "");
-Expect(1, 42127, '\P{-is-YiRadicals}', "");
-Expect(0, 42127, '\P{^-is-YiRadicals}', "");
-Error('\p{:=In-yi_radicals}');
-Error('\P{:=In-yi_radicals}');
-Expect(1, 42191, '\p{inyiradicals}', "");
-Expect(0, 42191, '\p{^inyiradicals}', "");
-Expect(0, 42191, '\P{inyiradicals}', "");
-Expect(1, 42191, '\P{^inyiradicals}', "");
-Expect(0, 42127, '\p{inyiradicals}', "");
-Expect(1, 42127, '\p{^inyiradicals}', "");
-Expect(1, 42127, '\P{inyiradicals}', "");
-Expect(0, 42127, '\P{^inyiradicals}', "");
-Expect(1, 42191, '\p{- In_YI RADICALS}', "");
-Expect(0, 42191, '\p{^- In_YI RADICALS}', "");
-Expect(0, 42191, '\P{- In_YI RADICALS}', "");
-Expect(1, 42191, '\P{^- In_YI RADICALS}', "");
-Expect(0, 42127, '\p{- In_YI RADICALS}', "");
-Expect(1, 42127, '\p{^- In_YI RADICALS}', "");
-Expect(1, 42127, '\P{- In_YI RADICALS}', "");
-Expect(0, 42127, '\P{^- In_YI RADICALS}', "");
-Error('\p{:=In Shavian}');
-Error('\P{:=In Shavian}');
-Expect(1, 66687, '\p{inshavian}', "");
-Expect(0, 66687, '\p{^inshavian}', "");
-Expect(0, 66687, '\P{inshavian}', "");
-Expect(1, 66687, '\P{^inshavian}', "");
-Expect(0, 66639, '\p{inshavian}', "");
-Expect(1, 66639, '\p{^inshavian}', "");
-Expect(1, 66639, '\P{inshavian}', "");
-Expect(0, 66639, '\P{^inshavian}', "");
-Expect(1, 66687, '\p{_in_shavian}', "");
-Expect(0, 66687, '\p{^_in_shavian}', "");
-Expect(0, 66687, '\P{_in_shavian}', "");
-Expect(1, 66687, '\P{^_in_shavian}', "");
-Expect(0, 66639, '\p{_in_shavian}', "");
-Expect(1, 66639, '\p{^_in_shavian}', "");
-Expect(1, 66639, '\P{_in_shavian}', "");
-Expect(0, 66639, '\P{^_in_shavian}', "");
-Error('\p{ AncientSymbols/a/}');
-Error('\P{ AncientSymbols/a/}');
-Expect(1, 65999, '\p{ancientsymbols}', "");
-Expect(0, 65999, '\p{^ancientsymbols}', "");
-Expect(0, 65999, '\P{ancientsymbols}', "");
-Expect(1, 65999, '\P{^ancientsymbols}', "");
-Expect(0, 65935, '\p{ancientsymbols}', "");
-Expect(1, 65935, '\p{^ancientsymbols}', "");
-Expect(1, 65935, '\P{ancientsymbols}', "");
-Expect(0, 65935, '\P{^ancientsymbols}', "");
-Expect(1, 65999, '\p{ Ancient-SYMBOLS}', "");
-Expect(0, 65999, '\p{^ Ancient-SYMBOLS}', "");
-Expect(0, 65999, '\P{ Ancient-SYMBOLS}', "");
-Expect(1, 65999, '\P{^ Ancient-SYMBOLS}', "");
-Expect(0, 65935, '\p{ Ancient-SYMBOLS}', "");
-Expect(1, 65935, '\p{^ Ancient-SYMBOLS}', "");
-Expect(1, 65935, '\P{ Ancient-SYMBOLS}', "");
-Expect(0, 65935, '\P{^ Ancient-SYMBOLS}', "");
-Error('\p{-_Is-Ancientsymbols/a/}');
-Error('\P{-_Is-Ancientsymbols/a/}');
-Expect(1, 65999, '\p{isancientsymbols}', "");
-Expect(0, 65999, '\p{^isancientsymbols}', "");
-Expect(0, 65999, '\P{isancientsymbols}', "");
-Expect(1, 65999, '\P{^isancientsymbols}', "");
-Expect(0, 65935, '\p{isancientsymbols}', "");
-Expect(1, 65935, '\p{^isancientsymbols}', "");
-Expect(1, 65935, '\P{isancientsymbols}', "");
-Expect(0, 65935, '\P{^isancientsymbols}', "");
-Expect(1, 65999, '\p{ -Is_Ancient Symbols}', "");
-Expect(0, 65999, '\p{^ -Is_Ancient Symbols}', "");
-Expect(0, 65999, '\P{ -Is_Ancient Symbols}', "");
-Expect(1, 65999, '\P{^ -Is_Ancient Symbols}', "");
-Expect(0, 65935, '\p{ -Is_Ancient Symbols}', "");
-Expect(1, 65935, '\p{^ -Is_Ancient Symbols}', "");
-Expect(1, 65935, '\P{ -Is_Ancient Symbols}', "");
-Expect(0, 65935, '\P{^ -Is_Ancient Symbols}', "");
-Error('\p{ -In ANCIENT SYMBOLS:=}');
-Error('\P{ -In ANCIENT SYMBOLS:=}');
-Expect(1, 65999, '\p{inancientsymbols}', "");
-Expect(0, 65999, '\p{^inancientsymbols}', "");
-Expect(0, 65999, '\P{inancientsymbols}', "");
-Expect(1, 65999, '\P{^inancientsymbols}', "");
-Expect(0, 65935, '\p{inancientsymbols}', "");
-Expect(1, 65935, '\p{^inancientsymbols}', "");
-Expect(1, 65935, '\P{inancientsymbols}', "");
-Expect(0, 65935, '\P{^inancientsymbols}', "");
-Expect(1, 65999, '\p{ -InAncient Symbols}', "");
-Expect(0, 65999, '\p{^ -InAncient Symbols}', "");
-Expect(0, 65999, '\P{ -InAncient Symbols}', "");
-Expect(1, 65999, '\P{^ -InAncient Symbols}', "");
-Expect(0, 65935, '\p{ -InAncient Symbols}', "");
-Expect(1, 65935, '\p{^ -InAncient Symbols}', "");
-Expect(1, 65935, '\P{ -InAncient Symbols}', "");
-Expect(0, 65935, '\P{^ -InAncient Symbols}', "");
-Error('\p{ /a/quotation Mark}');
-Error('\P{ /a/quotation Mark}');
-Expect(1, 34, '\p{quotationmark}', "");
-Expect(0, 34, '\p{^quotationmark}', "");
-Expect(0, 34, '\P{quotationmark}', "");
-Expect(1, 34, '\P{^quotationmark}', "");
-Expect(0, 33, '\p{quotationmark}', "");
-Expect(1, 33, '\p{^quotationmark}', "");
-Expect(1, 33, '\P{quotationmark}', "");
-Expect(0, 33, '\P{^quotationmark}', "");
-Expect(1, 34, '\p{_-Quotation Mark}', "");
-Expect(0, 34, '\p{^_-Quotation Mark}', "");
-Expect(0, 34, '\P{_-Quotation Mark}', "");
-Expect(1, 34, '\P{^_-Quotation Mark}', "");
-Expect(0, 33, '\p{_-Quotation Mark}', "");
-Expect(1, 33, '\p{^_-Quotation Mark}', "");
-Expect(1, 33, '\P{_-Quotation Mark}', "");
-Expect(0, 33, '\P{^_-Quotation Mark}', "");
-Error('\p{ IS-Quotation:=MARK}');
-Error('\P{ IS-Quotation:=MARK}');
-Expect(1, 34, '\p{isquotationmark}', "");
-Expect(0, 34, '\p{^isquotationmark}', "");
-Expect(0, 34, '\P{isquotationmark}', "");
-Expect(1, 34, '\P{^isquotationmark}', "");
-Expect(0, 33, '\p{isquotationmark}', "");
-Expect(1, 33, '\p{^isquotationmark}', "");
-Expect(1, 33, '\P{isquotationmark}', "");
-Expect(0, 33, '\P{^isquotationmark}', "");
-Expect(1, 34, '\p{IsQUOTATION_Mark}', "");
-Expect(0, 34, '\p{^IsQUOTATION_Mark}', "");
-Expect(0, 34, '\P{IsQUOTATION_Mark}', "");
-Expect(1, 34, '\P{^IsQUOTATION_Mark}', "");
-Expect(0, 33, '\p{IsQUOTATION_Mark}', "");
-Expect(1, 33, '\p{^IsQUOTATION_Mark}', "");
-Expect(1, 33, '\P{IsQUOTATION_Mark}', "");
-Expect(0, 33, '\P{^IsQUOTATION_Mark}', "");
-Error('\p{-_QMark/a/}');
-Error('\P{-_QMark/a/}');
-Expect(1, 34, '\p{qmark}', "");
-Expect(0, 34, '\p{^qmark}', "");
-Expect(0, 34, '\P{qmark}', "");
-Expect(1, 34, '\P{^qmark}', "");
-Expect(0, 33, '\p{qmark}', "");
-Expect(1, 33, '\p{^qmark}', "");
-Expect(1, 33, '\P{qmark}', "");
-Expect(0, 33, '\P{^qmark}', "");
-Expect(1, 34, '\p{QMark}', "");
-Expect(0, 34, '\p{^QMark}', "");
-Expect(0, 34, '\P{QMark}', "");
-Expect(1, 34, '\P{^QMark}', "");
-Expect(0, 33, '\p{QMark}', "");
-Expect(1, 33, '\p{^QMark}', "");
-Expect(1, 33, '\P{QMark}', "");
-Expect(0, 33, '\P{^QMark}', "");
-Error('\p{_IS_qmark:=}');
-Error('\P{_IS_qmark:=}');
-Expect(1, 34, '\p{isqmark}', "");
-Expect(0, 34, '\p{^isqmark}', "");
-Expect(0, 34, '\P{isqmark}', "");
-Expect(1, 34, '\P{^isqmark}', "");
-Expect(0, 33, '\p{isqmark}', "");
-Expect(1, 33, '\p{^isqmark}', "");
-Expect(1, 33, '\P{isqmark}', "");
-Expect(0, 33, '\P{^isqmark}', "");
-Expect(1, 34, '\p{- IsQMark}', "");
-Expect(0, 34, '\p{^- IsQMark}', "");
-Expect(0, 34, '\P{- IsQMark}', "");
-Expect(1, 34, '\P{^- IsQMark}', "");
-Expect(0, 33, '\p{- IsQMark}', "");
-Expect(1, 33, '\p{^- IsQMark}', "");
-Expect(1, 33, '\P{- IsQMark}', "");
-Expect(0, 33, '\P{^- IsQMark}', "");
-Error('\p{ IN/a/Tibetan}');
-Error('\P{ IN/a/Tibetan}');
-Expect(1, 4095, '\p{intibetan}', "");
-Expect(0, 4095, '\p{^intibetan}', "");
-Expect(0, 4095, '\P{intibetan}', "");
-Expect(1, 4095, '\P{^intibetan}', "");
-Expect(0, 3839, '\p{intibetan}', "");
-Expect(1, 3839, '\p{^intibetan}', "");
-Expect(1, 3839, '\P{intibetan}', "");
-Expect(0, 3839, '\P{^intibetan}', "");
-Expect(1, 4095, '\p{In tibetan}', "");
-Expect(0, 4095, '\p{^In tibetan}', "");
-Expect(0, 4095, '\P{In tibetan}', "");
-Expect(1, 4095, '\P{^In tibetan}', "");
-Expect(0, 3839, '\p{In tibetan}', "");
-Expect(1, 3839, '\p{^In tibetan}', "");
-Expect(1, 3839, '\P{In tibetan}', "");
-Expect(0, 3839, '\P{^In tibetan}', "");
-Error('\p{ /a/Supplemental-Mathematical_OPERATORS}');
-Error('\P{ /a/Supplemental-Mathematical_OPERATORS}');
-Expect(1, 11007, '\p{supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^supplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^supplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{supplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^supplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{-_supplemental MathematicalOperators}', "");
-Expect(0, 11007, '\p{^-_supplemental MathematicalOperators}', "");
-Expect(0, 11007, '\P{-_supplemental MathematicalOperators}', "");
-Expect(1, 11007, '\P{^-_supplemental MathematicalOperators}', "");
-Expect(0, 10751, '\p{-_supplemental MathematicalOperators}', "");
-Expect(1, 10751, '\p{^-_supplemental MathematicalOperators}', "");
-Expect(1, 10751, '\P{-_supplemental MathematicalOperators}', "");
-Expect(0, 10751, '\P{^-_supplemental MathematicalOperators}', "");
-Error('\p{ :=Is Supplemental mathematical_OPERATORS}');
-Error('\P{ :=Is Supplemental mathematical_OPERATORS}');
-Expect(1, 11007, '\p{issupplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^issupplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{issupplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^issupplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{issupplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^issupplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{issupplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^issupplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(0, 11007, '\p{^ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(0, 11007, '\P{ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(1, 11007, '\P{^ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(0, 10751, '\p{ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(1, 10751, '\p{^ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(1, 10751, '\P{ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Expect(0, 10751, '\P{^ _Is_SUPPLEMENTAL Mathematical_Operators}', "");
-Error('\p{_Insupplemental MATHEMATICAL OPERATORS/a/}');
-Error('\P{_Insupplemental MATHEMATICAL OPERATORS/a/}');
-Expect(1, 11007, '\p{insupplementalmathematicaloperators}', "");
-Expect(0, 11007, '\p{^insupplementalmathematicaloperators}', "");
-Expect(0, 11007, '\P{insupplementalmathematicaloperators}', "");
-Expect(1, 11007, '\P{^insupplementalmathematicaloperators}', "");
-Expect(0, 10751, '\p{insupplementalmathematicaloperators}', "");
-Expect(1, 10751, '\p{^insupplementalmathematicaloperators}', "");
-Expect(1, 10751, '\P{insupplementalmathematicaloperators}', "");
-Expect(0, 10751, '\P{^insupplementalmathematicaloperators}', "");
-Expect(1, 11007, '\p{ _In Supplemental mathematical operators}', "");
-Expect(0, 11007, '\p{^ _In Supplemental mathematical operators}', "");
-Expect(0, 11007, '\P{ _In Supplemental mathematical operators}', "");
-Expect(1, 11007, '\P{^ _In Supplemental mathematical operators}', "");
-Expect(0, 10751, '\p{ _In Supplemental mathematical operators}', "");
-Expect(1, 10751, '\p{^ _In Supplemental mathematical operators}', "");
-Expect(1, 10751, '\P{ _In Supplemental mathematical operators}', "");
-Expect(0, 10751, '\P{^ _In Supplemental mathematical operators}', "");
-Error('\p{-In CARIAN/a/}');
-Error('\P{-In CARIAN/a/}');
-Expect(1, 66271, '\p{incarian}', "");
-Expect(0, 66271, '\p{^incarian}', "");
-Expect(0, 66271, '\P{incarian}', "");
-Expect(1, 66271, '\P{^incarian}', "");
-Expect(0, 66207, '\p{incarian}', "");
-Expect(1, 66207, '\p{^incarian}', "");
-Expect(1, 66207, '\P{incarian}', "");
-Expect(0, 66207, '\P{^incarian}', "");
-Expect(1, 66271, '\p{ In-Carian}', "");
-Expect(0, 66271, '\p{^ In-Carian}', "");
-Expect(0, 66271, '\P{ In-Carian}', "");
-Expect(1, 66271, '\P{^ In-Carian}', "");
-Expect(0, 66207, '\p{ In-Carian}', "");
-Expect(1, 66207, '\p{^ In-Carian}', "");
-Expect(1, 66207, '\P{ In-Carian}', "");
-Expect(0, 66207, '\P{^ In-Carian}', "");
-Error('\p{_/a/in Arabic}');
-Error('\P{_/a/in Arabic}');
-Expect(1, 1791, '\p{inarabic}', "");
-Expect(0, 1791, '\p{^inarabic}', "");
-Expect(0, 1791, '\P{inarabic}', "");
-Expect(1, 1791, '\P{^inarabic}', "");
-Expect(0, 1535, '\p{inarabic}', "");
-Expect(1, 1535, '\p{^inarabic}', "");
-Expect(1, 1535, '\P{inarabic}', "");
-Expect(0, 1535, '\P{^inarabic}', "");
-Expect(1, 1791, '\p{ in Arabic}', "");
-Expect(0, 1791, '\p{^ in Arabic}', "");
-Expect(0, 1791, '\P{ in Arabic}', "");
-Expect(1, 1791, '\P{^ in Arabic}', "");
-Expect(0, 1535, '\p{ in Arabic}', "");
-Expect(1, 1535, '\p{^ in Arabic}', "");
-Expect(1, 1535, '\P{ in Arabic}', "");
-Expect(0, 1535, '\P{^ in Arabic}', "");
-Error('\p{:=-PosixCntrl}');
-Error('\P{:=-PosixCntrl}');
-Expect(1, 31, '\p{posixcntrl}', "");
-Expect(0, 31, '\p{^posixcntrl}', "");
-Expect(0, 31, '\P{posixcntrl}', "");
-Expect(1, 31, '\P{^posixcntrl}', "");
-Expect(0, 126, '\p{posixcntrl}', "");
-Expect(1, 126, '\p{^posixcntrl}', "");
-Expect(1, 126, '\P{posixcntrl}', "");
-Expect(0, 126, '\P{^posixcntrl}', "");
-Expect(1, 31, '\p{ -POSIXCNTRL}', "");
-Expect(0, 31, '\p{^ -POSIXCNTRL}', "");
-Expect(0, 31, '\P{ -POSIXCNTRL}', "");
-Expect(1, 31, '\P{^ -POSIXCNTRL}', "");
-Expect(0, 126, '\p{ -POSIXCNTRL}', "");
-Expect(1, 126, '\p{^ -POSIXCNTRL}', "");
-Expect(1, 126, '\P{ -POSIXCNTRL}', "");
-Expect(0, 126, '\P{^ -POSIXCNTRL}', "");
-Error('\p{ IS/a/PosixCntrl}');
-Error('\P{ IS/a/PosixCntrl}');
-Expect(1, 31, '\p{isposixcntrl}', "");
-Expect(0, 31, '\p{^isposixcntrl}', "");
-Expect(0, 31, '\P{isposixcntrl}', "");
-Expect(1, 31, '\P{^isposixcntrl}', "");
-Expect(0, 126, '\p{isposixcntrl}', "");
-Expect(1, 126, '\p{^isposixcntrl}', "");
-Expect(1, 126, '\P{isposixcntrl}', "");
-Expect(0, 126, '\P{^isposixcntrl}', "");
-Expect(1, 31, '\p{ Is POSIXCNTRL}', "");
-Expect(0, 31, '\p{^ Is POSIXCNTRL}', "");
-Expect(0, 31, '\P{ Is POSIXCNTRL}', "");
-Expect(1, 31, '\P{^ Is POSIXCNTRL}', "");
-Expect(0, 126, '\p{ Is POSIXCNTRL}', "");
-Expect(1, 126, '\p{^ Is POSIXCNTRL}', "");
-Expect(1, 126, '\P{ Is POSIXCNTRL}', "");
-Expect(0, 126, '\P{^ Is POSIXCNTRL}', "");
-Error('\p{:=_ InGothic}');
-Error('\P{:=_ InGothic}');
-Expect(1, 66383, '\p{ingothic}', "");
-Expect(0, 66383, '\p{^ingothic}', "");
-Expect(0, 66383, '\P{ingothic}', "");
-Expect(1, 66383, '\P{^ingothic}', "");
-Expect(0, 66351, '\p{ingothic}', "");
-Expect(1, 66351, '\p{^ingothic}', "");
-Expect(1, 66351, '\P{ingothic}', "");
-Expect(0, 66351, '\P{^ingothic}', "");
-Expect(1, 66383, '\p{_In-Gothic}', "");
-Expect(0, 66383, '\p{^_In-Gothic}', "");
-Expect(0, 66383, '\P{_In-Gothic}', "");
-Expect(1, 66383, '\P{^_In-Gothic}', "");
-Expect(0, 66351, '\p{_In-Gothic}', "");
-Expect(1, 66351, '\p{^_In-Gothic}', "");
-Expect(1, 66351, '\P{_In-Gothic}', "");
-Expect(0, 66351, '\P{^_In-Gothic}', "");
-Error('\p{:= mark}');
-Error('\P{:= mark}');
-Expect(1, 879, '\p{mark}', "");
-Expect(0, 879, '\p{^mark}', "");
-Expect(0, 879, '\P{mark}', "");
-Expect(1, 879, '\P{^mark}', "");
-Expect(0, 767, '\p{mark}', "");
-Expect(1, 767, '\p{^mark}', "");
-Expect(1, 767, '\P{mark}', "");
-Expect(0, 767, '\P{^mark}', "");
-Expect(1, 879, '\p{ Mark}', "");
-Expect(0, 879, '\p{^ Mark}', "");
-Expect(0, 879, '\P{ Mark}', "");
-Expect(1, 879, '\P{^ Mark}', "");
-Expect(0, 767, '\p{ Mark}', "");
-Expect(1, 767, '\p{^ Mark}', "");
-Expect(1, 767, '\P{ Mark}', "");
-Expect(0, 767, '\P{^ Mark}', "");
-Error('\p{:= _is Mark}');
-Error('\P{:= _is Mark}');
-Expect(1, 879, '\p{ismark}', "");
-Expect(0, 879, '\p{^ismark}', "");
-Expect(0, 879, '\P{ismark}', "");
-Expect(1, 879, '\P{^ismark}', "");
-Expect(0, 767, '\p{ismark}', "");
-Expect(1, 767, '\p{^ismark}', "");
-Expect(1, 767, '\P{ismark}', "");
-Expect(0, 767, '\P{^ismark}', "");
-Expect(1, 879, '\p{__IS MARK}', "");
-Expect(0, 879, '\p{^__IS MARK}', "");
-Expect(0, 879, '\P{__IS MARK}', "");
-Expect(1, 879, '\P{^__IS MARK}', "");
-Expect(0, 767, '\p{__IS MARK}', "");
-Expect(1, 767, '\p{^__IS MARK}', "");
-Expect(1, 767, '\P{__IS MARK}', "");
-Expect(0, 767, '\P{^__IS MARK}', "");
-Error('\p{ /a/m}');
-Error('\P{ /a/m}');
-Expect(1, 879, '\p{m}', "");
-Expect(0, 879, '\p{^m}', "");
-Expect(0, 879, '\P{m}', "");
-Expect(1, 879, '\P{^m}', "");
-Expect(0, 767, '\p{m}', "");
-Expect(1, 767, '\p{^m}', "");
-Expect(1, 767, '\P{m}', "");
-Expect(0, 767, '\P{^m}', "");
-Expect(1, 879, '\p{__M}', "");
-Expect(0, 879, '\p{^__M}', "");
-Expect(0, 879, '\P{__M}', "");
-Expect(1, 879, '\P{^__M}', "");
-Expect(0, 767, '\p{__M}', "");
-Expect(1, 767, '\p{^__M}', "");
-Expect(1, 767, '\P{__M}', "");
-Expect(0, 767, '\P{^__M}', "");
-Error('\p{_/a/Is M}');
-Error('\P{_/a/Is M}');
-Expect(1, 879, '\p{ism}', "");
-Expect(0, 879, '\p{^ism}', "");
-Expect(0, 879, '\P{ism}', "");
-Expect(1, 879, '\P{^ism}', "");
-Expect(0, 767, '\p{ism}', "");
-Expect(1, 767, '\p{^ism}', "");
-Expect(1, 767, '\P{ism}', "");
-Expect(0, 767, '\P{^ism}', "");
-Expect(1, 879, '\p{Is M}', "");
-Expect(0, 879, '\p{^Is M}', "");
-Expect(0, 879, '\P{Is M}', "");
-Expect(1, 879, '\P{^Is M}', "");
-Expect(0, 767, '\p{Is M}', "");
-Expect(1, 767, '\p{^Is M}', "");
-Expect(1, 767, '\P{Is M}', "");
-Expect(0, 767, '\P{^Is M}', "");
-Error('\p{-Hangul_SYLLABLES:=}');
-Error('\P{-Hangul_SYLLABLES:=}');
-Expect(1, 55215, '\p{hangulsyllables}', "");
-Expect(0, 55215, '\p{^hangulsyllables}', "");
-Expect(0, 55215, '\P{hangulsyllables}', "");
-Expect(1, 55215, '\P{^hangulsyllables}', "");
-Expect(0, 44031, '\p{hangulsyllables}', "");
-Expect(1, 44031, '\p{^hangulsyllables}', "");
-Expect(1, 44031, '\P{hangulsyllables}', "");
-Expect(0, 44031, '\P{^hangulsyllables}', "");
-Expect(1, 55215, '\p{-Hangul SYLLABLES}', "");
-Expect(0, 55215, '\p{^-Hangul SYLLABLES}', "");
-Expect(0, 55215, '\P{-Hangul SYLLABLES}', "");
-Expect(1, 55215, '\P{^-Hangul SYLLABLES}', "");
-Expect(0, 44031, '\p{-Hangul SYLLABLES}', "");
-Expect(1, 44031, '\p{^-Hangul SYLLABLES}', "");
-Expect(1, 44031, '\P{-Hangul SYLLABLES}', "");
-Expect(0, 44031, '\P{^-Hangul SYLLABLES}', "");
-Error('\p{_IsHANGUL Syllables/a/}');
-Error('\P{_IsHANGUL Syllables/a/}');
-Expect(1, 55215, '\p{ishangulsyllables}', "");
-Expect(0, 55215, '\p{^ishangulsyllables}', "");
-Expect(0, 55215, '\P{ishangulsyllables}', "");
-Expect(1, 55215, '\P{^ishangulsyllables}', "");
-Expect(0, 44031, '\p{ishangulsyllables}', "");
-Expect(1, 44031, '\p{^ishangulsyllables}', "");
-Expect(1, 44031, '\P{ishangulsyllables}', "");
-Expect(0, 44031, '\P{^ishangulsyllables}', "");
-Expect(1, 55215, '\p{ Is HANGUL-Syllables}', "");
-Expect(0, 55215, '\p{^ Is HANGUL-Syllables}', "");
-Expect(0, 55215, '\P{ Is HANGUL-Syllables}', "");
-Expect(1, 55215, '\P{^ Is HANGUL-Syllables}', "");
-Expect(0, 44031, '\p{ Is HANGUL-Syllables}', "");
-Expect(1, 44031, '\p{^ Is HANGUL-Syllables}', "");
-Expect(1, 44031, '\P{ Is HANGUL-Syllables}', "");
-Expect(0, 44031, '\P{^ Is HANGUL-Syllables}', "");
-Error('\p{__In/a/HangulSyllables}');
-Error('\P{__In/a/HangulSyllables}');
-Expect(1, 55215, '\p{inhangulsyllables}', "");
-Expect(0, 55215, '\p{^inhangulsyllables}', "");
-Expect(0, 55215, '\P{inhangulsyllables}', "");
-Expect(1, 55215, '\P{^inhangulsyllables}', "");
-Expect(0, 44031, '\p{inhangulsyllables}', "");
-Expect(1, 44031, '\p{^inhangulsyllables}', "");
-Expect(1, 44031, '\P{inhangulsyllables}', "");
-Expect(0, 44031, '\P{^inhangulsyllables}', "");
-Expect(1, 55215, '\p{ In Hangul syllables}', "");
-Expect(0, 55215, '\p{^ In Hangul syllables}', "");
-Expect(0, 55215, '\P{ In Hangul syllables}', "");
-Expect(1, 55215, '\P{^ In Hangul syllables}', "");
-Expect(0, 44031, '\p{ In Hangul syllables}', "");
-Expect(1, 44031, '\p{^ In Hangul syllables}', "");
-Expect(1, 44031, '\P{ In Hangul syllables}', "");
-Expect(0, 44031, '\P{^ In Hangul syllables}', "");
-Error('\p{_:=Space}');
-Error('\P{_:=Space}');
-Expect(1, 13, '\p{space}', "");
-Expect(0, 13, '\p{^space}', "");
-Expect(0, 13, '\P{space}', "");
-Expect(1, 13, '\P{^space}', "");
-Expect(0, 8, '\p{space}', "");
-Expect(1, 8, '\p{^space}', "");
-Expect(1, 8, '\P{space}', "");
-Expect(0, 8, '\P{^space}', "");
-Expect(1, 13, '\p{- SPACE}', "");
-Expect(0, 13, '\p{^- SPACE}', "");
-Expect(0, 13, '\P{- SPACE}', "");
-Expect(1, 13, '\P{^- SPACE}', "");
-Expect(0, 8, '\p{- SPACE}', "");
-Expect(1, 8, '\p{^- SPACE}', "");
-Expect(1, 8, '\P{- SPACE}', "");
-Expect(0, 8, '\P{^- SPACE}', "");
-Error('\p{ isspace/a/}');
-Error('\P{ isspace/a/}');
-Expect(1, 13, '\p{isspace}', "");
-Expect(0, 13, '\p{^isspace}', "");
-Expect(0, 13, '\P{isspace}', "");
-Expect(1, 13, '\P{^isspace}', "");
-Expect(0, 8, '\p{isspace}', "");
-Expect(1, 8, '\p{^isspace}', "");
-Expect(1, 8, '\P{isspace}', "");
-Expect(0, 8, '\P{^isspace}', "");
-Expect(1, 13, '\p{ _Is space}', "");
-Expect(0, 13, '\p{^ _Is space}', "");
-Expect(0, 13, '\P{ _Is space}', "");
-Expect(1, 13, '\P{^ _Is space}', "");
-Expect(0, 8, '\p{ _Is space}', "");
-Expect(1, 8, '\p{^ _Is space}', "");
-Expect(1, 8, '\P{ _Is space}', "");
-Expect(0, 8, '\P{^ _Is space}', "");
-Error('\p{ :=In_telugu}');
-Error('\P{ :=In_telugu}');
-Expect(1, 3199, '\p{intelugu}', "");
-Expect(0, 3199, '\p{^intelugu}', "");
-Expect(0, 3199, '\P{intelugu}', "");
-Expect(1, 3199, '\P{^intelugu}', "");
-Expect(0, 3071, '\p{intelugu}', "");
-Expect(1, 3071, '\p{^intelugu}', "");
-Expect(1, 3071, '\P{intelugu}', "");
-Expect(0, 3071, '\P{^intelugu}', "");
-Expect(1, 3199, '\p{ In Telugu}', "");
-Expect(0, 3199, '\p{^ In Telugu}', "");
-Expect(0, 3199, '\P{ In Telugu}', "");
-Expect(1, 3199, '\P{^ In Telugu}', "");
-Expect(0, 3071, '\p{ In Telugu}', "");
-Expect(1, 3071, '\p{^ In Telugu}', "");
-Expect(1, 3071, '\P{ In Telugu}', "");
-Expect(0, 3071, '\P{^ In Telugu}', "");
-Error('\p{ :=cjk_Unified-IdeographsExtension B}');
-Error('\P{ :=cjk_Unified-IdeographsExtension B}');
-Expect(1, 173791, '\p{cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^cjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^cjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{cjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^cjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(0, 173791, '\p{^- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(0, 173791, '\P{- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(1, 173791, '\P{^- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(0, 1, '\p{- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(1, 1, '\p{^- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(1, 1, '\P{- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Expect(0, 1, '\P{^- CJKunifiedIDEOGRAPHS_extension-B}', "");
-Error('\p{_ Is-CJK/a/UnifiedIdeographsExtension_B}');
-Error('\P{_ Is-CJK/a/UnifiedIdeographsExtension_B}');
-Expect(1, 173791, '\p{iscjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^iscjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{iscjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^iscjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{iscjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^iscjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{iscjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^iscjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(0, 173791, '\p{^ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(0, 173791, '\P{ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(1, 173791, '\P{^ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(0, 1, '\p{ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(1, 1, '\p{^ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(1, 1, '\P{ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Expect(0, 1, '\P{^ -IsCJK UnifiedIdeographs EXTENSION_B}', "");
-Error('\p{--In:=CJK unified ideographs-EXTENSION_B}');
-Error('\P{--In:=CJK unified ideographs-EXTENSION_B}');
-Expect(1, 173791, '\p{incjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\p{^incjkunifiedideographsextensionb}', "");
-Expect(0, 173791, '\P{incjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\P{^incjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\p{incjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\p{^incjkunifiedideographsextensionb}', "");
-Expect(1, 1, '\P{incjkunifiedideographsextensionb}', "");
-Expect(0, 1, '\P{^incjkunifiedideographsextensionb}', "");
-Expect(1, 173791, '\p{_ InCJK-Unified_ideographs extension B}', "");
-Expect(0, 173791, '\p{^_ InCJK-Unified_ideographs extension B}', "");
-Expect(0, 173791, '\P{_ InCJK-Unified_ideographs extension B}', "");
-Expect(1, 173791, '\P{^_ InCJK-Unified_ideographs extension B}', "");
-Expect(0, 1, '\p{_ InCJK-Unified_ideographs extension B}', "");
-Expect(1, 1, '\p{^_ InCJK-Unified_ideographs extension B}', "");
-Expect(1, 1, '\P{_ InCJK-Unified_ideographs extension B}', "");
-Expect(0, 1, '\P{^_ InCJK-Unified_ideographs extension B}', "");
-Error('\p{_ In/a/Taiviet}');
-Error('\P{_ In/a/Taiviet}');
-Expect(1, 43743, '\p{intaiviet}', "");
-Expect(0, 43743, '\p{^intaiviet}', "");
-Expect(0, 43743, '\P{intaiviet}', "");
-Expect(1, 43743, '\P{^intaiviet}', "");
-Expect(0, 43647, '\p{intaiviet}', "");
-Expect(1, 43647, '\p{^intaiviet}', "");
-Expect(1, 43647, '\P{intaiviet}', "");
-Expect(0, 43647, '\P{^intaiviet}', "");
-Expect(1, 43743, '\p{ -InTaiViet}', "");
-Expect(0, 43743, '\p{^ -InTaiViet}', "");
-Expect(0, 43743, '\P{ -InTaiViet}', "");
-Expect(1, 43743, '\P{^ -InTaiViet}', "");
-Expect(0, 43647, '\p{ -InTaiViet}', "");
-Expect(1, 43647, '\p{^ -InTaiViet}', "");
-Expect(1, 43647, '\P{ -InTaiViet}', "");
-Expect(0, 43647, '\P{^ -InTaiViet}', "");
-Error('\p{In:=syloti-Nagri}');
-Error('\P{In:=syloti-Nagri}');
-Expect(1, 43055, '\p{insylotinagri}', "");
-Expect(0, 43055, '\p{^insylotinagri}', "");
-Expect(0, 43055, '\P{insylotinagri}', "");
-Expect(1, 43055, '\P{^insylotinagri}', "");
-Expect(0, 43007, '\p{insylotinagri}', "");
-Expect(1, 43007, '\p{^insylotinagri}', "");
-Expect(1, 43007, '\P{insylotinagri}', "");
-Expect(0, 43007, '\P{^insylotinagri}', "");
-Expect(1, 43055, '\p{ IN-SYLOTI_NAGRI}', "");
-Expect(0, 43055, '\p{^ IN-SYLOTI_NAGRI}', "");
-Expect(0, 43055, '\P{ IN-SYLOTI_NAGRI}', "");
-Expect(1, 43055, '\P{^ IN-SYLOTI_NAGRI}', "");
-Expect(0, 43007, '\p{ IN-SYLOTI_NAGRI}', "");
-Expect(1, 43007, '\p{^ IN-SYLOTI_NAGRI}', "");
-Expect(1, 43007, '\P{ IN-SYLOTI_NAGRI}', "");
-Expect(0, 43007, '\P{^ IN-SYLOTI_NAGRI}', "");
-Error('\p{ cuneiform NumbersAND/a/punctuation}');
-Error('\P{ cuneiform NumbersAND/a/punctuation}');
-Expect(1, 74879, '\p{cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^cuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^cuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{cuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^cuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(0, 74879, '\p{^_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(0, 74879, '\P{_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(1, 74879, '\P{^_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(0, 74751, '\p{_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(1, 74751, '\p{^_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(1, 74751, '\P{_-CUNEIFORM_Numbers-And_punctuation}', "");
-Expect(0, 74751, '\P{^_-CUNEIFORM_Numbers-And_punctuation}', "");
-Error('\p{:= IS-CuneiformNumbers_And punctuation}');
-Error('\P{:= IS-CuneiformNumbers_And punctuation}');
-Expect(1, 74879, '\p{iscuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^iscuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{iscuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^iscuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{iscuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^iscuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{iscuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^iscuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(0, 74879, '\p{^ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(0, 74879, '\P{ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(1, 74879, '\P{^ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(0, 74751, '\p{ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(1, 74751, '\p{^ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(1, 74751, '\P{ _ISCUNEIFORM numbersAnd punctuation}', "");
-Expect(0, 74751, '\P{^ _ISCUNEIFORM numbersAnd punctuation}', "");
-Error('\p{ _In_Cuneiform:=Numbers_ANDPunctuation}');
-Error('\P{ _In_Cuneiform:=Numbers_ANDPunctuation}');
-Expect(1, 74879, '\p{incuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\p{^incuneiformnumbersandpunctuation}', "");
-Expect(0, 74879, '\P{incuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\P{^incuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\p{incuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\p{^incuneiformnumbersandpunctuation}', "");
-Expect(1, 74751, '\P{incuneiformnumbersandpunctuation}', "");
-Expect(0, 74751, '\P{^incuneiformnumbersandpunctuation}', "");
-Expect(1, 74879, '\p{__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(0, 74879, '\p{^__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(0, 74879, '\P{__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(1, 74879, '\P{^__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(0, 74751, '\p{__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(1, 74751, '\p{^__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(1, 74751, '\P{__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Expect(0, 74751, '\P{^__in CUNEIFORM_NUMBERSAnd Punctuation}', "");
-Error('\p{/a/_KAITHI}');
-Error('\P{/a/_KAITHI}');
-Expect(1, 69825, '\p{kaithi}', "");
-Expect(0, 69825, '\p{^kaithi}', "");
-Expect(0, 69825, '\P{kaithi}', "");
-Expect(1, 69825, '\P{^kaithi}', "");
-Expect(0, 69759, '\p{kaithi}', "");
-Expect(1, 69759, '\p{^kaithi}', "");
-Expect(1, 69759, '\P{kaithi}', "");
-Expect(0, 69759, '\P{^kaithi}', "");
-Expect(1, 69825, '\p{_ kaithi}', "");
-Expect(0, 69825, '\p{^_ kaithi}', "");
-Expect(0, 69825, '\P{_ kaithi}', "");
-Expect(1, 69825, '\P{^_ kaithi}', "");
-Expect(0, 69759, '\p{_ kaithi}', "");
-Expect(1, 69759, '\p{^_ kaithi}', "");
-Expect(1, 69759, '\P{_ kaithi}', "");
-Expect(0, 69759, '\P{^_ kaithi}', "");
-Error('\p{ _Is/a/Kaithi}');
-Error('\P{ _Is/a/Kaithi}');
-Expect(1, 69825, '\p{iskaithi}', "");
-Expect(0, 69825, '\p{^iskaithi}', "");
-Expect(0, 69825, '\P{iskaithi}', "");
-Expect(1, 69825, '\P{^iskaithi}', "");
-Expect(0, 69759, '\p{iskaithi}', "");
-Expect(1, 69759, '\p{^iskaithi}', "");
-Expect(1, 69759, '\P{iskaithi}', "");
-Expect(0, 69759, '\P{^iskaithi}', "");
-Expect(1, 69825, '\p{-_IsKaithi}', "");
-Expect(0, 69825, '\p{^-_IsKaithi}', "");
-Expect(0, 69825, '\P{-_IsKaithi}', "");
-Expect(1, 69825, '\P{^-_IsKaithi}', "");
-Expect(0, 69759, '\p{-_IsKaithi}', "");
-Expect(1, 69759, '\p{^-_IsKaithi}', "");
-Expect(1, 69759, '\P{-_IsKaithi}', "");
-Expect(0, 69759, '\P{^-_IsKaithi}', "");
-Error('\p{:=-Kthi}');
-Error('\P{:=-Kthi}');
-Expect(1, 69825, '\p{kthi}', "");
-Expect(0, 69825, '\p{^kthi}', "");
-Expect(0, 69825, '\P{kthi}', "");
-Expect(1, 69825, '\P{^kthi}', "");
-Expect(0, 69759, '\p{kthi}', "");
-Expect(1, 69759, '\p{^kthi}', "");
-Expect(1, 69759, '\P{kthi}', "");
-Expect(0, 69759, '\P{^kthi}', "");
-Expect(1, 69825, '\p{--kthi}', "");
-Expect(0, 69825, '\p{^--kthi}', "");
-Expect(0, 69825, '\P{--kthi}', "");
-Expect(1, 69825, '\P{^--kthi}', "");
-Expect(0, 69759, '\p{--kthi}', "");
-Expect(1, 69759, '\p{^--kthi}', "");
-Expect(1, 69759, '\P{--kthi}', "");
-Expect(0, 69759, '\P{^--kthi}', "");
-Error('\p{_-is-Kthi/a/}');
-Error('\P{_-is-Kthi/a/}');
-Expect(1, 69825, '\p{iskthi}', "");
-Expect(0, 69825, '\p{^iskthi}', "");
-Expect(0, 69825, '\P{iskthi}', "");
-Expect(1, 69825, '\P{^iskthi}', "");
-Expect(0, 69759, '\p{iskthi}', "");
-Expect(1, 69759, '\p{^iskthi}', "");
-Expect(1, 69759, '\P{iskthi}', "");
-Expect(0, 69759, '\P{^iskthi}', "");
-Expect(1, 69825, '\p{_-Is_KTHI}', "");
-Expect(0, 69825, '\p{^_-Is_KTHI}', "");
-Expect(0, 69825, '\P{_-Is_KTHI}', "");
-Expect(1, 69825, '\P{^_-Is_KTHI}', "");
-Expect(0, 69759, '\p{_-Is_KTHI}', "");
-Expect(1, 69759, '\p{^_-Is_KTHI}', "");
-Expect(1, 69759, '\P{_-Is_KTHI}', "");
-Expect(0, 69759, '\P{^_-Is_KTHI}', "");
-Error('\p{_-In olditalic:=}');
-Error('\P{_-In olditalic:=}');
-Expect(1, 66351, '\p{inolditalic}', "");
-Expect(0, 66351, '\p{^inolditalic}', "");
-Expect(0, 66351, '\P{inolditalic}', "");
-Expect(1, 66351, '\P{^inolditalic}', "");
-Expect(0, 66303, '\p{inolditalic}', "");
-Expect(1, 66303, '\p{^inolditalic}', "");
-Expect(1, 66303, '\P{inolditalic}', "");
-Expect(0, 66303, '\P{^inolditalic}', "");
-Expect(1, 66351, '\p{_inOLDItalic}', "");
-Expect(0, 66351, '\p{^_inOLDItalic}', "");
-Expect(0, 66351, '\P{_inOLDItalic}', "");
-Expect(1, 66351, '\P{^_inOLDItalic}', "");
-Expect(0, 66303, '\p{_inOLDItalic}', "");
-Expect(1, 66303, '\p{^_inOLDItalic}', "");
-Expect(1, 66303, '\P{_inOLDItalic}', "");
-Expect(0, 66303, '\P{^_inOLDItalic}', "");
-Error('\p{ :=in AVESTAN}');
-Error('\P{ :=in AVESTAN}');
-Expect(1, 68415, '\p{inavestan}', "");
-Expect(0, 68415, '\p{^inavestan}', "");
-Expect(0, 68415, '\P{inavestan}', "");
-Expect(1, 68415, '\P{^inavestan}', "");
-Expect(0, 68351, '\p{inavestan}', "");
-Expect(1, 68351, '\p{^inavestan}', "");
-Expect(1, 68351, '\P{inavestan}', "");
-Expect(0, 68351, '\P{^inavestan}', "");
-Expect(1, 68415, '\p{_INavestan}', "");
-Expect(0, 68415, '\p{^_INavestan}', "");
-Expect(0, 68415, '\P{_INavestan}', "");
-Expect(1, 68415, '\P{^_INavestan}', "");
-Expect(0, 68351, '\p{_INavestan}', "");
-Expect(1, 68351, '\p{^_INavestan}', "");
-Expect(1, 68351, '\P{_INavestan}', "");
-Expect(0, 68351, '\P{^_INavestan}', "");
-Error('\p{:=- MISCELLANEOUS-Symbols}');
-Error('\P{:=- MISCELLANEOUS-Symbols}');
-Expect(1, 9983, '\p{miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^miscellaneoussymbols}', "");
-Expect(1, 9983, '\p{-Miscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^-Miscellaneoussymbols}', "");
-Expect(0, 9983, '\P{-Miscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^-Miscellaneoussymbols}', "");
-Expect(0, 9727, '\p{-Miscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^-Miscellaneoussymbols}', "");
-Expect(1, 9727, '\P{-Miscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^-Miscellaneoussymbols}', "");
-Error('\p{ Is Miscellaneous/a/SYMBOLS}');
-Error('\P{ Is Miscellaneous/a/SYMBOLS}');
-Expect(1, 9983, '\p{ismiscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^ismiscellaneoussymbols}', "");
-Expect(0, 9983, '\P{ismiscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^ismiscellaneoussymbols}', "");
-Expect(0, 9727, '\p{ismiscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^ismiscellaneoussymbols}', "");
-Expect(1, 9727, '\P{ismiscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^ismiscellaneoussymbols}', "");
-Expect(1, 9983, '\p{ is-MISCELLANEOUS_symbols}', "");
-Expect(0, 9983, '\p{^ is-MISCELLANEOUS_symbols}', "");
-Expect(0, 9983, '\P{ is-MISCELLANEOUS_symbols}', "");
-Expect(1, 9983, '\P{^ is-MISCELLANEOUS_symbols}', "");
-Expect(0, 9727, '\p{ is-MISCELLANEOUS_symbols}', "");
-Expect(1, 9727, '\p{^ is-MISCELLANEOUS_symbols}', "");
-Expect(1, 9727, '\P{ is-MISCELLANEOUS_symbols}', "");
-Expect(0, 9727, '\P{^ is-MISCELLANEOUS_symbols}', "");
-Error('\p{-/a/in_Miscellaneous-SYMBOLS}');
-Error('\P{-/a/in_Miscellaneous-SYMBOLS}');
-Expect(1, 9983, '\p{inmiscellaneoussymbols}', "");
-Expect(0, 9983, '\p{^inmiscellaneoussymbols}', "");
-Expect(0, 9983, '\P{inmiscellaneoussymbols}', "");
-Expect(1, 9983, '\P{^inmiscellaneoussymbols}', "");
-Expect(0, 9727, '\p{inmiscellaneoussymbols}', "");
-Expect(1, 9727, '\p{^inmiscellaneoussymbols}', "");
-Expect(1, 9727, '\P{inmiscellaneoussymbols}', "");
-Expect(0, 9727, '\P{^inmiscellaneoussymbols}', "");
-Expect(1, 9983, '\p{_In-MiscellaneousSymbols}', "");
-Expect(0, 9983, '\p{^_In-MiscellaneousSymbols}', "");
-Expect(0, 9983, '\P{_In-MiscellaneousSymbols}', "");
-Expect(1, 9983, '\P{^_In-MiscellaneousSymbols}', "");
-Expect(0, 9727, '\p{_In-MiscellaneousSymbols}', "");
-Expect(1, 9727, '\p{^_In-MiscellaneousSymbols}', "");
-Expect(1, 9727, '\P{_In-MiscellaneousSymbols}', "");
-Expect(0, 9727, '\P{^_In-MiscellaneousSymbols}', "");
-Error('\p{-/a/In javanese}');
-Error('\P{-/a/In javanese}');
-Expect(1, 43487, '\p{injavanese}', "");
-Expect(0, 43487, '\p{^injavanese}', "");
-Expect(0, 43487, '\P{injavanese}', "");
-Expect(1, 43487, '\P{^injavanese}', "");
-Expect(0, 43391, '\p{injavanese}', "");
-Expect(1, 43391, '\p{^injavanese}', "");
-Expect(1, 43391, '\P{injavanese}', "");
-Expect(0, 43391, '\P{^injavanese}', "");
-Expect(1, 43487, '\p{ IN-javanese}', "");
-Expect(0, 43487, '\p{^ IN-javanese}', "");
-Expect(0, 43487, '\P{ IN-javanese}', "");
-Expect(1, 43487, '\P{^ IN-javanese}', "");
-Expect(0, 43391, '\p{ IN-javanese}', "");
-Expect(1, 43391, '\p{^ IN-javanese}', "");
-Expect(1, 43391, '\P{ IN-javanese}', "");
-Expect(0, 43391, '\P{^ IN-javanese}', "");
-Error('\p{ /a/PosixAlnum}');
-Error('\P{ /a/PosixAlnum}');
-Expect(1, 57, '\p{posixalnum}', "");
-Expect(0, 57, '\p{^posixalnum}', "");
-Expect(0, 57, '\P{posixalnum}', "");
-Expect(1, 57, '\P{^posixalnum}', "");
-Expect(0, 47, '\p{posixalnum}', "");
-Expect(1, 47, '\p{^posixalnum}', "");
-Expect(1, 47, '\P{posixalnum}', "");
-Expect(0, 47, '\P{^posixalnum}', "");
-Expect(1, 57, '\p{ posixalnum}', "");
-Expect(0, 57, '\p{^ posixalnum}', "");
-Expect(0, 57, '\P{ posixalnum}', "");
-Expect(1, 57, '\P{^ posixalnum}', "");
-Expect(0, 47, '\p{ posixalnum}', "");
-Expect(1, 47, '\p{^ posixalnum}', "");
-Expect(1, 47, '\P{ posixalnum}', "");
-Expect(0, 47, '\P{^ posixalnum}', "");
-Error('\p{-/a/is PosixAlnum}');
-Error('\P{-/a/is PosixAlnum}');
-Expect(1, 57, '\p{isposixalnum}', "");
-Expect(0, 57, '\p{^isposixalnum}', "");
-Expect(0, 57, '\P{isposixalnum}', "");
-Expect(1, 57, '\P{^isposixalnum}', "");
-Expect(0, 47, '\p{isposixalnum}', "");
-Expect(1, 47, '\p{^isposixalnum}', "");
-Expect(1, 47, '\P{isposixalnum}', "");
-Expect(0, 47, '\P{^isposixalnum}', "");
-Expect(1, 57, '\p{ _IsPOSIXALNUM}', "");
-Expect(0, 57, '\p{^ _IsPOSIXALNUM}', "");
-Expect(0, 57, '\P{ _IsPOSIXALNUM}', "");
-Expect(1, 57, '\P{^ _IsPOSIXALNUM}', "");
-Expect(0, 47, '\p{ _IsPOSIXALNUM}', "");
-Expect(1, 47, '\p{^ _IsPOSIXALNUM}', "");
-Expect(1, 47, '\P{ _IsPOSIXALNUM}', "");
-Expect(0, 47, '\P{^ _IsPOSIXALNUM}', "");
-Error('\p{_ arabic:=SUPPLEMENT}');
-Error('\P{_ arabic:=SUPPLEMENT}');
-Expect(1, 1919, '\p{arabicsupplement}', "");
-Expect(0, 1919, '\p{^arabicsupplement}', "");
-Expect(0, 1919, '\P{arabicsupplement}', "");
-Expect(1, 1919, '\P{^arabicsupplement}', "");
-Expect(0, 1871, '\p{arabicsupplement}', "");
-Expect(1, 1871, '\p{^arabicsupplement}', "");
-Expect(1, 1871, '\P{arabicsupplement}', "");
-Expect(0, 1871, '\P{^arabicsupplement}', "");
-Expect(1, 1919, '\p{_ Arabic-Supplement}', "");
-Expect(0, 1919, '\p{^_ Arabic-Supplement}', "");
-Expect(0, 1919, '\P{_ Arabic-Supplement}', "");
-Expect(1, 1919, '\P{^_ Arabic-Supplement}', "");
-Expect(0, 1871, '\p{_ Arabic-Supplement}', "");
-Expect(1, 1871, '\p{^_ Arabic-Supplement}', "");
-Expect(1, 1871, '\P{_ Arabic-Supplement}', "");
-Expect(0, 1871, '\P{^_ Arabic-Supplement}', "");
-Error('\p{- Is_Arabic:=supplement}');
-Error('\P{- Is_Arabic:=supplement}');
-Expect(1, 1919, '\p{isarabicsupplement}', "");
-Expect(0, 1919, '\p{^isarabicsupplement}', "");
-Expect(0, 1919, '\P{isarabicsupplement}', "");
-Expect(1, 1919, '\P{^isarabicsupplement}', "");
-Expect(0, 1871, '\p{isarabicsupplement}', "");
-Expect(1, 1871, '\p{^isarabicsupplement}', "");
-Expect(1, 1871, '\P{isarabicsupplement}', "");
-Expect(0, 1871, '\P{^isarabicsupplement}', "");
-Expect(1, 1919, '\p{ Is_ArabicSUPPLEMENT}', "");
-Expect(0, 1919, '\p{^ Is_ArabicSUPPLEMENT}', "");
-Expect(0, 1919, '\P{ Is_ArabicSUPPLEMENT}', "");
-Expect(1, 1919, '\P{^ Is_ArabicSUPPLEMENT}', "");
-Expect(0, 1871, '\p{ Is_ArabicSUPPLEMENT}', "");
-Expect(1, 1871, '\p{^ Is_ArabicSUPPLEMENT}', "");
-Expect(1, 1871, '\P{ Is_ArabicSUPPLEMENT}', "");
-Expect(0, 1871, '\P{^ Is_ArabicSUPPLEMENT}', "");
-Error('\p{ _in-ARABIC/a/SUPPLEMENT}');
-Error('\P{ _in-ARABIC/a/SUPPLEMENT}');
-Expect(1, 1919, '\p{inarabicsupplement}', "");
-Expect(0, 1919, '\p{^inarabicsupplement}', "");
-Expect(0, 1919, '\P{inarabicsupplement}', "");
-Expect(1, 1919, '\P{^inarabicsupplement}', "");
-Expect(0, 1871, '\p{inarabicsupplement}', "");
-Expect(1, 1871, '\p{^inarabicsupplement}', "");
-Expect(1, 1871, '\P{inarabicsupplement}', "");
-Expect(0, 1871, '\P{^inarabicsupplement}', "");
-Expect(1, 1919, '\p{InARABICSUPPLEMENT}', "");
-Expect(0, 1919, '\p{^InARABICSUPPLEMENT}', "");
-Expect(0, 1919, '\P{InARABICSUPPLEMENT}', "");
-Expect(1, 1919, '\P{^InARABICSUPPLEMENT}', "");
-Expect(0, 1871, '\p{InARABICSUPPLEMENT}', "");
-Expect(1, 1871, '\p{^InARABICSUPPLEMENT}', "");
-Expect(1, 1871, '\P{InARABICSUPPLEMENT}', "");
-Expect(0, 1871, '\P{^InARABICSUPPLEMENT}', "");
-Error('\p{_ cjk Compatibility/a/Ideographs Supplement}');
-Error('\P{_ cjk Compatibility/a/Ideographs Supplement}');
-Expect(1, 195103, '\p{cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^cjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^cjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{cjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^cjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{ -CJKcompatibilityideographs supplement}', "");
-Expect(0, 195103, '\p{^ -CJKcompatibilityideographs supplement}', "");
-Expect(0, 195103, '\P{ -CJKcompatibilityideographs supplement}', "");
-Expect(1, 195103, '\P{^ -CJKcompatibilityideographs supplement}', "");
-Expect(0, 194559, '\p{ -CJKcompatibilityideographs supplement}', "");
-Expect(1, 194559, '\p{^ -CJKcompatibilityideographs supplement}', "");
-Expect(1, 194559, '\P{ -CJKcompatibilityideographs supplement}', "");
-Expect(0, 194559, '\P{^ -CJKcompatibilityideographs supplement}', "");
-Error('\p{- is_cjkcompatibility-ideographs Supplement:=}');
-Error('\P{- is_cjkcompatibility-ideographs Supplement:=}');
-Expect(1, 195103, '\p{iscjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^iscjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{iscjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^iscjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{iscjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^iscjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{iscjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^iscjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(0, 195103, '\p{^_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(0, 195103, '\P{_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(1, 195103, '\P{^_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(0, 194559, '\p{_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(1, 194559, '\p{^_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(1, 194559, '\P{_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Expect(0, 194559, '\P{^_ IS_cjkCOMPATIBILITY_Ideographs Supplement}', "");
-Error('\p{ _In/a/CJK COMPATIBILITYideographs Supplement}');
-Error('\P{ _In/a/CJK COMPATIBILITYideographs Supplement}');
-Expect(1, 195103, '\p{incjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\p{^incjkcompatibilityideographssupplement}', "");
-Expect(0, 195103, '\P{incjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\P{^incjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\p{incjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\p{^incjkcompatibilityideographssupplement}', "");
-Expect(1, 194559, '\P{incjkcompatibilityideographssupplement}', "");
-Expect(0, 194559, '\P{^incjkcompatibilityideographssupplement}', "");
-Expect(1, 195103, '\p{-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(0, 195103, '\p{^-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(0, 195103, '\P{-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(1, 195103, '\P{^-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(0, 194559, '\p{-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(1, 194559, '\p{^-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(1, 194559, '\P{-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Expect(0, 194559, '\P{^-inCJK COMPATIBILITYIDEOGRAPHSSupplement}', "");
-Error('\p{__IN/a/gurmukhi}');
-Error('\P{__IN/a/gurmukhi}');
-Expect(1, 2687, '\p{ingurmukhi}', "");
-Expect(0, 2687, '\p{^ingurmukhi}', "");
-Expect(0, 2687, '\P{ingurmukhi}', "");
-Expect(1, 2687, '\P{^ingurmukhi}', "");
-Expect(0, 2559, '\p{ingurmukhi}', "");
-Expect(1, 2559, '\p{^ingurmukhi}', "");
-Expect(1, 2559, '\P{ingurmukhi}', "");
-Expect(0, 2559, '\P{^ingurmukhi}', "");
-Expect(1, 2687, '\p{- in gurmukhi}', "");
-Expect(0, 2687, '\p{^- in gurmukhi}', "");
-Expect(0, 2687, '\P{- in gurmukhi}', "");
-Expect(1, 2687, '\P{^- in gurmukhi}', "");
-Expect(0, 2559, '\p{- in gurmukhi}', "");
-Expect(1, 2559, '\p{^- in gurmukhi}', "");
-Expect(1, 2559, '\P{- in gurmukhi}', "");
-Expect(0, 2559, '\P{^- in gurmukhi}', "");
-Error('\p{-_Phaistos-disc/a/}');
-Error('\P{-_Phaistos-disc/a/}');
-Expect(1, 66047, '\p{phaistosdisc}', "");
-Expect(0, 66047, '\p{^phaistosdisc}', "");
-Expect(0, 66047, '\P{phaistosdisc}', "");
-Expect(1, 66047, '\P{^phaistosdisc}', "");
-Expect(0, 65999, '\p{phaistosdisc}', "");
-Expect(1, 65999, '\p{^phaistosdisc}', "");
-Expect(1, 65999, '\P{phaistosdisc}', "");
-Expect(0, 65999, '\P{^phaistosdisc}', "");
-Expect(1, 66047, '\p{ -Phaistos Disc}', "");
-Expect(0, 66047, '\p{^ -Phaistos Disc}', "");
-Expect(0, 66047, '\P{ -Phaistos Disc}', "");
-Expect(1, 66047, '\P{^ -Phaistos Disc}', "");
-Expect(0, 65999, '\p{ -Phaistos Disc}', "");
-Expect(1, 65999, '\p{^ -Phaistos Disc}', "");
-Expect(1, 65999, '\P{ -Phaistos Disc}', "");
-Expect(0, 65999, '\P{^ -Phaistos Disc}', "");
-Error('\p{_-IS:=PhaistosDisc}');
-Error('\P{_-IS:=PhaistosDisc}');
-Expect(1, 66047, '\p{isphaistosdisc}', "");
-Expect(0, 66047, '\p{^isphaistosdisc}', "");
-Expect(0, 66047, '\P{isphaistosdisc}', "");
-Expect(1, 66047, '\P{^isphaistosdisc}', "");
-Expect(0, 65999, '\p{isphaistosdisc}', "");
-Expect(1, 65999, '\p{^isphaistosdisc}', "");
-Expect(1, 65999, '\P{isphaistosdisc}', "");
-Expect(0, 65999, '\P{^isphaistosdisc}', "");
-Expect(1, 66047, '\p{_ Is PHAISTOSDisc}', "");
-Expect(0, 66047, '\p{^_ Is PHAISTOSDisc}', "");
-Expect(0, 66047, '\P{_ Is PHAISTOSDisc}', "");
-Expect(1, 66047, '\P{^_ Is PHAISTOSDisc}', "");
-Expect(0, 65999, '\p{_ Is PHAISTOSDisc}', "");
-Expect(1, 65999, '\p{^_ Is PHAISTOSDisc}', "");
-Expect(1, 65999, '\P{_ Is PHAISTOSDisc}', "");
-Expect(0, 65999, '\P{^_ Is PHAISTOSDisc}', "");
-Error('\p{_/a/In Phaistos-disc}');
-Error('\P{_/a/In Phaistos-disc}');
-Expect(1, 66047, '\p{inphaistosdisc}', "");
-Expect(0, 66047, '\p{^inphaistosdisc}', "");
-Expect(0, 66047, '\P{inphaistosdisc}', "");
-Expect(1, 66047, '\P{^inphaistosdisc}', "");
-Expect(0, 65999, '\p{inphaistosdisc}', "");
-Expect(1, 65999, '\p{^inphaistosdisc}', "");
-Expect(1, 65999, '\P{inphaistosdisc}', "");
-Expect(0, 65999, '\P{^inphaistosdisc}', "");
-Expect(1, 66047, '\p{in-Phaistos disc}', "");
-Expect(0, 66047, '\p{^in-Phaistos disc}', "");
-Expect(0, 66047, '\P{in-Phaistos disc}', "");
-Expect(1, 66047, '\P{^in-Phaistos disc}', "");
-Expect(0, 65999, '\p{in-Phaistos disc}', "");
-Expect(1, 65999, '\p{^in-Phaistos disc}', "");
-Expect(1, 65999, '\P{in-Phaistos disc}', "");
-Expect(0, 65999, '\P{^in-Phaistos disc}', "");
-Error('\p{/a/-CombAbove}');
-Error('\P{/a/-CombAbove}');
-Expect(1, 788, '\p{_CombAbove}', "");
-Expect(0, 788, '\p{^_CombAbove}', "");
-Expect(0, 788, '\P{_CombAbove}', "");
-Expect(1, 788, '\P{^_CombAbove}', "");
-Expect(0, 767, '\p{_CombAbove}', "");
-Expect(1, 767, '\p{^_CombAbove}', "");
-Expect(1, 767, '\P{_CombAbove}', "");
-Expect(0, 767, '\P{^_CombAbove}', "");
-Error('\p{-Other_IDcontinue:=}');
-Error('\P{-Other_IDcontinue:=}');
-Expect(1, 183, '\p{otheridcontinue}', 'deprecated');
-Expect(0, 183, '\p{^otheridcontinue}', 'deprecated');
-Expect(0, 183, '\P{otheridcontinue}', 'deprecated');
-Expect(1, 183, '\P{^otheridcontinue}', 'deprecated');
-Expect(0, 182, '\p{otheridcontinue}', 'deprecated');
-Expect(1, 182, '\p{^otheridcontinue}', 'deprecated');
-Expect(1, 182, '\P{otheridcontinue}', 'deprecated');
-Expect(0, 182, '\P{^otheridcontinue}', 'deprecated');
-Expect(1, 183, '\p{ Other ID_continue}', 'deprecated');
-Expect(0, 183, '\p{^ Other ID_continue}', 'deprecated');
-Expect(0, 183, '\P{ Other ID_continue}', 'deprecated');
-Expect(1, 183, '\P{^ Other ID_continue}', 'deprecated');
-Expect(0, 182, '\p{ Other ID_continue}', 'deprecated');
-Expect(1, 182, '\p{^ Other ID_continue}', 'deprecated');
-Expect(1, 182, '\P{ Other ID_continue}', 'deprecated');
-Expect(0, 182, '\P{^ Other ID_continue}', 'deprecated');
-Error('\p{_:=Is OtherID-Continue}');
-Error('\P{_:=Is OtherID-Continue}');
-Expect(1, 183, '\p{isotheridcontinue}', 'deprecated');
-Expect(0, 183, '\p{^isotheridcontinue}', 'deprecated');
-Expect(0, 183, '\P{isotheridcontinue}', 'deprecated');
-Expect(1, 183, '\P{^isotheridcontinue}', 'deprecated');
-Expect(0, 182, '\p{isotheridcontinue}', 'deprecated');
-Expect(1, 182, '\p{^isotheridcontinue}', 'deprecated');
-Expect(1, 182, '\P{isotheridcontinue}', 'deprecated');
-Expect(0, 182, '\P{^isotheridcontinue}', 'deprecated');
-Expect(1, 183, '\p{-IsOther ID_CONTINUE}', 'deprecated');
-Expect(0, 183, '\p{^-IsOther ID_CONTINUE}', 'deprecated');
-Expect(0, 183, '\P{-IsOther ID_CONTINUE}', 'deprecated');
-Expect(1, 183, '\P{^-IsOther ID_CONTINUE}', 'deprecated');
-Expect(0, 182, '\p{-IsOther ID_CONTINUE}', 'deprecated');
-Expect(1, 182, '\p{^-IsOther ID_CONTINUE}', 'deprecated');
-Expect(1, 182, '\P{-IsOther ID_CONTINUE}', 'deprecated');
-Expect(0, 182, '\P{^-IsOther ID_CONTINUE}', 'deprecated');
-Error('\p{-oidc:=}');
-Error('\P{-oidc:=}');
-Expect(1, 183, '\p{oidc}', 'deprecated');
-Expect(0, 183, '\p{^oidc}', 'deprecated');
-Expect(0, 183, '\P{oidc}', 'deprecated');
-Expect(1, 183, '\P{^oidc}', 'deprecated');
-Expect(0, 182, '\p{oidc}', 'deprecated');
-Expect(1, 182, '\p{^oidc}', 'deprecated');
-Expect(1, 182, '\P{oidc}', 'deprecated');
-Expect(0, 182, '\P{^oidc}', 'deprecated');
-Expect(1, 183, '\p{ oidc}', 'deprecated');
-Expect(0, 183, '\p{^ oidc}', 'deprecated');
-Expect(0, 183, '\P{ oidc}', 'deprecated');
-Expect(1, 183, '\P{^ oidc}', 'deprecated');
-Expect(0, 182, '\p{ oidc}', 'deprecated');
-Expect(1, 182, '\p{^ oidc}', 'deprecated');
-Expect(1, 182, '\P{ oidc}', 'deprecated');
-Expect(0, 182, '\P{^ oidc}', 'deprecated');
-Error('\p{ /a/Is oidc}');
-Error('\P{ /a/Is oidc}');
-Expect(1, 183, '\p{isoidc}', 'deprecated');
-Expect(0, 183, '\p{^isoidc}', 'deprecated');
-Expect(0, 183, '\P{isoidc}', 'deprecated');
-Expect(1, 183, '\P{^isoidc}', 'deprecated');
-Expect(0, 182, '\p{isoidc}', 'deprecated');
-Expect(1, 182, '\p{^isoidc}', 'deprecated');
-Expect(1, 182, '\P{isoidc}', 'deprecated');
-Expect(0, 182, '\P{^isoidc}', 'deprecated');
-Expect(1, 183, '\p{- IsOIDC}', 'deprecated');
-Expect(0, 183, '\p{^- IsOIDC}', 'deprecated');
-Expect(0, 183, '\P{- IsOIDC}', 'deprecated');
-Expect(1, 183, '\P{^- IsOIDC}', 'deprecated');
-Expect(0, 182, '\p{- IsOIDC}', 'deprecated');
-Expect(1, 182, '\p{^- IsOIDC}', 'deprecated');
-Expect(1, 182, '\P{- IsOIDC}', 'deprecated');
-Expect(0, 182, '\P{^- IsOIDC}', 'deprecated');
-Error('\p{ /a/Bamum}');
-Error('\P{ /a/Bamum}');
-Expect(1, 42743, '\p{bamum}', "");
-Expect(0, 42743, '\p{^bamum}', "");
-Expect(0, 42743, '\P{bamum}', "");
-Expect(1, 42743, '\P{^bamum}', "");
-Expect(0, 42655, '\p{bamum}', "");
-Expect(1, 42655, '\p{^bamum}', "");
-Expect(1, 42655, '\P{bamum}', "");
-Expect(0, 42655, '\P{^bamum}', "");
-Expect(1, 42743, '\p{ Bamum}', "");
-Expect(0, 42743, '\p{^ Bamum}', "");
-Expect(0, 42743, '\P{ Bamum}', "");
-Expect(1, 42743, '\P{^ Bamum}', "");
-Expect(0, 42655, '\p{ Bamum}', "");
-Expect(1, 42655, '\p{^ Bamum}', "");
-Expect(1, 42655, '\P{ Bamum}', "");
-Expect(0, 42655, '\P{^ Bamum}', "");
-Error('\p{- Is:=bamum}');
-Error('\P{- Is:=bamum}');
-Expect(1, 42743, '\p{isbamum}', "");
-Expect(0, 42743, '\p{^isbamum}', "");
-Expect(0, 42743, '\P{isbamum}', "");
-Expect(1, 42743, '\P{^isbamum}', "");
-Expect(0, 42655, '\p{isbamum}', "");
-Expect(1, 42655, '\p{^isbamum}', "");
-Expect(1, 42655, '\P{isbamum}', "");
-Expect(0, 42655, '\P{^isbamum}', "");
-Expect(1, 42743, '\p{ is BAMUM}', "");
-Expect(0, 42743, '\p{^ is BAMUM}', "");
-Expect(0, 42743, '\P{ is BAMUM}', "");
-Expect(1, 42743, '\P{^ is BAMUM}', "");
-Expect(0, 42655, '\p{ is BAMUM}', "");
-Expect(1, 42655, '\p{^ is BAMUM}', "");
-Expect(1, 42655, '\P{ is BAMUM}', "");
-Expect(0, 42655, '\P{^ is BAMUM}', "");
-Error('\p{ _bamu:=}');
-Error('\P{ _bamu:=}');
-Expect(1, 42743, '\p{bamu}', "");
-Expect(0, 42743, '\p{^bamu}', "");
-Expect(0, 42743, '\P{bamu}', "");
-Expect(1, 42743, '\P{^bamu}', "");
-Expect(0, 42655, '\p{bamu}', "");
-Expect(1, 42655, '\p{^bamu}', "");
-Expect(1, 42655, '\P{bamu}', "");
-Expect(0, 42655, '\P{^bamu}', "");
-Expect(1, 42743, '\p{_ Bamu}', "");
-Expect(0, 42743, '\p{^_ Bamu}', "");
-Expect(0, 42743, '\P{_ Bamu}', "");
-Expect(1, 42743, '\P{^_ Bamu}', "");
-Expect(0, 42655, '\p{_ Bamu}', "");
-Expect(1, 42655, '\p{^_ Bamu}', "");
-Expect(1, 42655, '\P{_ Bamu}', "");
-Expect(0, 42655, '\P{^_ Bamu}', "");
-Error('\p{ IS-BAMU/a/}');
-Error('\P{ IS-BAMU/a/}');
-Expect(1, 42743, '\p{isbamu}', "");
-Expect(0, 42743, '\p{^isbamu}', "");
-Expect(0, 42743, '\P{isbamu}', "");
-Expect(1, 42743, '\P{^isbamu}', "");
-Expect(0, 42655, '\p{isbamu}', "");
-Expect(1, 42655, '\p{^isbamu}', "");
-Expect(1, 42655, '\P{isbamu}', "");
-Expect(0, 42655, '\P{^isbamu}', "");
-Expect(1, 42743, '\p{_ Is-Bamu}', "");
-Expect(0, 42743, '\p{^_ Is-Bamu}', "");
-Expect(0, 42743, '\P{_ Is-Bamu}', "");
-Expect(1, 42743, '\P{^_ Is-Bamu}', "");
-Expect(0, 42655, '\p{_ Is-Bamu}', "");
-Expect(1, 42655, '\p{^_ Is-Bamu}', "");
-Expect(1, 42655, '\P{_ Is-Bamu}', "");
-Expect(0, 42655, '\P{^_ Is-Bamu}', "");
-Error('\p{ -In/a/BENGALI}');
-Error('\P{ -In/a/BENGALI}');
-Expect(1, 2559, '\p{inbengali}', "");
-Expect(0, 2559, '\p{^inbengali}', "");
-Expect(0, 2559, '\P{inbengali}', "");
-Expect(1, 2559, '\P{^inbengali}', "");
-Expect(0, 2431, '\p{inbengali}', "");
-Expect(1, 2431, '\p{^inbengali}', "");
-Expect(1, 2431, '\P{inbengali}', "");
-Expect(0, 2431, '\P{^inbengali}', "");
-Expect(1, 2559, '\p{-IN Bengali}', "");
-Expect(0, 2559, '\p{^-IN Bengali}', "");
-Expect(0, 2559, '\P{-IN Bengali}', "");
-Expect(1, 2559, '\P{^-IN Bengali}', "");
-Expect(0, 2431, '\p{-IN Bengali}', "");
-Expect(1, 2431, '\p{^-IN Bengali}', "");
-Expect(1, 2431, '\P{-IN Bengali}', "");
-Expect(0, 2431, '\P{^-IN Bengali}', "");
-Error('\p{-Cuneiform/a/}');
-Error('\P{-Cuneiform/a/}');
-Expect(1, 74606, '\p{cuneiform}', "");
-Expect(0, 74606, '\p{^cuneiform}', "");
-Expect(0, 74606, '\P{cuneiform}', "");
-Expect(1, 74606, '\P{^cuneiform}', "");
-Expect(0, 73727, '\p{cuneiform}', "");
-Expect(1, 73727, '\p{^cuneiform}', "");
-Expect(1, 73727, '\P{cuneiform}', "");
-Expect(0, 73727, '\P{^cuneiform}', "");
-Expect(1, 74606, '\p{_ CUNEIFORM}', "");
-Expect(0, 74606, '\p{^_ CUNEIFORM}', "");
-Expect(0, 74606, '\P{_ CUNEIFORM}', "");
-Expect(1, 74606, '\P{^_ CUNEIFORM}', "");
-Expect(0, 73727, '\p{_ CUNEIFORM}', "");
-Expect(1, 73727, '\p{^_ CUNEIFORM}', "");
-Expect(1, 73727, '\P{_ CUNEIFORM}', "");
-Expect(0, 73727, '\P{^_ CUNEIFORM}', "");
-Error('\p{ -ISCuneiform/a/}');
-Error('\P{ -ISCuneiform/a/}');
-Expect(1, 74606, '\p{iscuneiform}', "");
-Expect(0, 74606, '\p{^iscuneiform}', "");
-Expect(0, 74606, '\P{iscuneiform}', "");
-Expect(1, 74606, '\P{^iscuneiform}', "");
-Expect(0, 73727, '\p{iscuneiform}', "");
-Expect(1, 73727, '\p{^iscuneiform}', "");
-Expect(1, 73727, '\P{iscuneiform}', "");
-Expect(0, 73727, '\P{^iscuneiform}', "");
-Expect(1, 74606, '\p{_-IsCuneiform}', "");
-Expect(0, 74606, '\p{^_-IsCuneiform}', "");
-Expect(0, 74606, '\P{_-IsCuneiform}', "");
-Expect(1, 74606, '\P{^_-IsCuneiform}', "");
-Expect(0, 73727, '\p{_-IsCuneiform}', "");
-Expect(1, 73727, '\p{^_-IsCuneiform}', "");
-Expect(1, 73727, '\P{_-IsCuneiform}', "");
-Expect(0, 73727, '\P{^_-IsCuneiform}', "");
-Error('\p{ :=Xsux}');
-Error('\P{ :=Xsux}');
-Expect(1, 74606, '\p{xsux}', "");
-Expect(0, 74606, '\p{^xsux}', "");
-Expect(0, 74606, '\P{xsux}', "");
-Expect(1, 74606, '\P{^xsux}', "");
-Expect(0, 73727, '\p{xsux}', "");
-Expect(1, 73727, '\p{^xsux}', "");
-Expect(1, 73727, '\P{xsux}', "");
-Expect(0, 73727, '\P{^xsux}', "");
-Expect(1, 74606, '\p{- Xsux}', "");
-Expect(0, 74606, '\p{^- Xsux}', "");
-Expect(0, 74606, '\P{- Xsux}', "");
-Expect(1, 74606, '\P{^- Xsux}', "");
-Expect(0, 73727, '\p{- Xsux}', "");
-Expect(1, 73727, '\p{^- Xsux}', "");
-Expect(1, 73727, '\P{- Xsux}', "");
-Expect(0, 73727, '\P{^- Xsux}', "");
-Error('\p{ isXSUX/a/}');
-Error('\P{ isXSUX/a/}');
-Expect(1, 74606, '\p{isxsux}', "");
-Expect(0, 74606, '\p{^isxsux}', "");
-Expect(0, 74606, '\P{isxsux}', "");
-Expect(1, 74606, '\P{^isxsux}', "");
-Expect(0, 73727, '\p{isxsux}', "");
-Expect(1, 73727, '\p{^isxsux}', "");
-Expect(1, 73727, '\P{isxsux}', "");
-Expect(0, 73727, '\P{^isxsux}', "");
-Expect(1, 74606, '\p{ IsXsux}', "");
-Expect(0, 74606, '\p{^ IsXsux}', "");
-Expect(0, 74606, '\P{ IsXsux}', "");
-Expect(1, 74606, '\P{^ IsXsux}', "");
-Expect(0, 73727, '\p{ IsXsux}', "");
-Expect(1, 73727, '\p{^ IsXsux}', "");
-Expect(1, 73727, '\P{ IsXsux}', "");
-Expect(0, 73727, '\P{^ IsXsux}', "");
-Error('\p{_-Hangul:=Jamo_Extended_A}');
-Error('\P{_-Hangul:=Jamo_Extended_A}');
-Expect(1, 43391, '\p{hanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^hanguljamoextendeda}', "");
-Expect(0, 43391, '\P{hanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^hanguljamoextendeda}', "");
-Expect(0, 43359, '\p{hanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^hanguljamoextendeda}', "");
-Expect(1, 43359, '\P{hanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^hanguljamoextendeda}', "");
-Expect(1, 43391, '\p{ HANGUL-jamo_EXTENDED a}', "");
-Expect(0, 43391, '\p{^ HANGUL-jamo_EXTENDED a}', "");
-Expect(0, 43391, '\P{ HANGUL-jamo_EXTENDED a}', "");
-Expect(1, 43391, '\P{^ HANGUL-jamo_EXTENDED a}', "");
-Expect(0, 43359, '\p{ HANGUL-jamo_EXTENDED a}', "");
-Expect(1, 43359, '\p{^ HANGUL-jamo_EXTENDED a}', "");
-Expect(1, 43359, '\P{ HANGUL-jamo_EXTENDED a}', "");
-Expect(0, 43359, '\P{^ HANGUL-jamo_EXTENDED a}', "");
-Error('\p{ /a/is Hangul Jamo-Extended a}');
-Error('\P{ /a/is Hangul Jamo-Extended a}');
-Expect(1, 43391, '\p{ishanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^ishanguljamoextendeda}', "");
-Expect(0, 43391, '\P{ishanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^ishanguljamoextendeda}', "");
-Expect(0, 43359, '\p{ishanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^ishanguljamoextendeda}', "");
-Expect(1, 43359, '\P{ishanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^ishanguljamoextendeda}', "");
-Expect(1, 43391, '\p{-_Is_HangulJamo_Extended_A}', "");
-Expect(0, 43391, '\p{^-_Is_HangulJamo_Extended_A}', "");
-Expect(0, 43391, '\P{-_Is_HangulJamo_Extended_A}', "");
-Expect(1, 43391, '\P{^-_Is_HangulJamo_Extended_A}', "");
-Expect(0, 43359, '\p{-_Is_HangulJamo_Extended_A}', "");
-Expect(1, 43359, '\p{^-_Is_HangulJamo_Extended_A}', "");
-Expect(1, 43359, '\P{-_Is_HangulJamo_Extended_A}', "");
-Expect(0, 43359, '\P{^-_Is_HangulJamo_Extended_A}', "");
-Error('\p{ InHangul Jamo_Extended:=A}');
-Error('\P{ InHangul Jamo_Extended:=A}');
-Expect(1, 43391, '\p{inhanguljamoextendeda}', "");
-Expect(0, 43391, '\p{^inhanguljamoextendeda}', "");
-Expect(0, 43391, '\P{inhanguljamoextendeda}', "");
-Expect(1, 43391, '\P{^inhanguljamoextendeda}', "");
-Expect(0, 43359, '\p{inhanguljamoextendeda}', "");
-Expect(1, 43359, '\p{^inhanguljamoextendeda}', "");
-Expect(1, 43359, '\P{inhanguljamoextendeda}', "");
-Expect(0, 43359, '\P{^inhanguljamoextendeda}', "");
-Expect(1, 43391, '\p{--in-HangulJAMO-EXTENDED_A}', "");
-Expect(0, 43391, '\p{^--in-HangulJAMO-EXTENDED_A}', "");
-Expect(0, 43391, '\P{--in-HangulJAMO-EXTENDED_A}', "");
-Expect(1, 43391, '\P{^--in-HangulJAMO-EXTENDED_A}', "");
-Expect(0, 43359, '\p{--in-HangulJAMO-EXTENDED_A}', "");
-Expect(1, 43359, '\p{^--in-HangulJAMO-EXTENDED_A}', "");
-Expect(1, 43359, '\P{--in-HangulJAMO-EXTENDED_A}', "");
-Expect(0, 43359, '\P{^--in-HangulJAMO-EXTENDED_A}', "");
-Error('\p{ cased/a/}');
-Error('\P{ cased/a/}');
-Expect(1, 90, '\p{cased}', "");
-Expect(0, 90, '\p{^cased}', "");
-Expect(0, 90, '\P{cased}', "");
-Expect(1, 90, '\P{^cased}', "");
-Expect(0, 64, '\p{cased}', "");
-Expect(1, 64, '\p{^cased}', "");
-Expect(1, 64, '\P{cased}', "");
-Expect(0, 64, '\P{^cased}', "");
-Expect(1, 90, '\p{ cased}', "");
-Expect(0, 90, '\p{^ cased}', "");
-Expect(0, 90, '\P{ cased}', "");
-Expect(1, 90, '\P{^ cased}', "");
-Expect(0, 64, '\p{ cased}', "");
-Expect(1, 64, '\p{^ cased}', "");
-Expect(1, 64, '\P{ cased}', "");
-Expect(0, 64, '\P{^ cased}', "");
-Error('\p{ :=IS_CASED}');
-Error('\P{ :=IS_CASED}');
-Expect(1, 90, '\p{iscased}', "");
-Expect(0, 90, '\p{^iscased}', "");
-Expect(0, 90, '\P{iscased}', "");
-Expect(1, 90, '\P{^iscased}', "");
-Expect(0, 64, '\p{iscased}', "");
-Expect(1, 64, '\p{^iscased}', "");
-Expect(1, 64, '\P{iscased}', "");
-Expect(0, 64, '\P{^iscased}', "");
-Expect(1, 90, '\p{ Is-Cased}', "");
-Expect(0, 90, '\p{^ Is-Cased}', "");
-Expect(0, 90, '\P{ Is-Cased}', "");
-Expect(1, 90, '\P{^ Is-Cased}', "");
-Expect(0, 64, '\p{ Is-Cased}', "");
-Expect(1, 64, '\p{^ Is-Cased}', "");
-Expect(1, 64, '\P{ Is-Cased}', "");
-Expect(0, 64, '\P{^ Is-Cased}', "");
-Error('\p{ In:=Katakana}');
-Error('\P{ In:=Katakana}');
-Expect(1, 12543, '\p{inkatakana}', "");
-Expect(0, 12543, '\p{^inkatakana}', "");
-Expect(0, 12543, '\P{inkatakana}', "");
-Expect(1, 12543, '\P{^inkatakana}', "");
-Expect(0, 12447, '\p{inkatakana}', "");
-Expect(1, 12447, '\p{^inkatakana}', "");
-Expect(1, 12447, '\P{inkatakana}', "");
-Expect(0, 12447, '\P{^inkatakana}', "");
-Expect(1, 12543, '\p{-InKatakana}', "");
-Expect(0, 12543, '\p{^-InKatakana}', "");
-Expect(0, 12543, '\P{-InKatakana}', "");
-Expect(1, 12543, '\P{^-InKatakana}', "");
-Expect(0, 12447, '\p{-InKatakana}', "");
-Expect(1, 12447, '\p{^-InKatakana}', "");
-Expect(1, 12447, '\P{-InKatakana}', "");
-Expect(0, 12447, '\P{^-InKatakana}', "");
-Error('\p{ ARABICPRESENTATION/a/FORMS A}');
-Error('\P{ ARABICPRESENTATION/a/FORMS A}');
-Expect(1, 65023, '\p{arabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^arabicpresentationformsa}', "");
-Expect(0, 65023, '\P{arabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^arabicpresentationformsa}', "");
-Expect(0, 64335, '\p{arabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^arabicpresentationformsa}', "");
-Expect(1, 64335, '\P{arabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^arabicpresentationformsa}', "");
-Expect(1, 65023, '\p{ ARABIC Presentation-forms-a}', "");
-Expect(0, 65023, '\p{^ ARABIC Presentation-forms-a}', "");
-Expect(0, 65023, '\P{ ARABIC Presentation-forms-a}', "");
-Expect(1, 65023, '\P{^ ARABIC Presentation-forms-a}', "");
-Expect(0, 64335, '\p{ ARABIC Presentation-forms-a}', "");
-Expect(1, 64335, '\p{^ ARABIC Presentation-forms-a}', "");
-Expect(1, 64335, '\P{ ARABIC Presentation-forms-a}', "");
-Expect(0, 64335, '\P{^ ARABIC Presentation-forms-a}', "");
-Error('\p{ :=IS-Arabic-PRESENTATION Forms a}');
-Error('\P{ :=IS-Arabic-PRESENTATION Forms a}');
-Expect(1, 65023, '\p{isarabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^isarabicpresentationformsa}', "");
-Expect(0, 65023, '\P{isarabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^isarabicpresentationformsa}', "");
-Expect(0, 64335, '\p{isarabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^isarabicpresentationformsa}', "");
-Expect(1, 64335, '\P{isarabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^isarabicpresentationformsa}', "");
-Expect(1, 65023, '\p{ IsArabic-presentation_FORMS_A}', "");
-Expect(0, 65023, '\p{^ IsArabic-presentation_FORMS_A}', "");
-Expect(0, 65023, '\P{ IsArabic-presentation_FORMS_A}', "");
-Expect(1, 65023, '\P{^ IsArabic-presentation_FORMS_A}', "");
-Expect(0, 64335, '\p{ IsArabic-presentation_FORMS_A}', "");
-Expect(1, 64335, '\p{^ IsArabic-presentation_FORMS_A}', "");
-Expect(1, 64335, '\P{ IsArabic-presentation_FORMS_A}', "");
-Expect(0, 64335, '\P{^ IsArabic-presentation_FORMS_A}', "");
-Error('\p{-In Arabicpresentation/a/FormsA}');
-Error('\P{-In Arabicpresentation/a/FormsA}');
-Expect(1, 65023, '\p{inarabicpresentationformsa}', "");
-Expect(0, 65023, '\p{^inarabicpresentationformsa}', "");
-Expect(0, 65023, '\P{inarabicpresentationformsa}', "");
-Expect(1, 65023, '\P{^inarabicpresentationformsa}', "");
-Expect(0, 64335, '\p{inarabicpresentationformsa}', "");
-Expect(1, 64335, '\p{^inarabicpresentationformsa}', "");
-Expect(1, 64335, '\P{inarabicpresentationformsa}', "");
-Expect(0, 64335, '\P{^inarabicpresentationformsa}', "");
-Expect(1, 65023, '\p{ _INArabic presentation_FORMS-a}', "");
-Expect(0, 65023, '\p{^ _INArabic presentation_FORMS-a}', "");
-Expect(0, 65023, '\P{ _INArabic presentation_FORMS-a}', "");
-Expect(1, 65023, '\P{^ _INArabic presentation_FORMS-a}', "");
-Expect(0, 64335, '\p{ _INArabic presentation_FORMS-a}', "");
-Expect(1, 64335, '\p{^ _INArabic presentation_FORMS-a}', "");
-Expect(1, 64335, '\P{ _INArabic presentation_FORMS-a}', "");
-Expect(0, 64335, '\P{^ _INArabic presentation_FORMS-a}', "");
-Error('\p{ In/a/TAI-Tham}');
-Error('\P{ In/a/TAI-Tham}');
-Expect(1, 6831, '\p{intaitham}', "");
-Expect(0, 6831, '\p{^intaitham}', "");
-Expect(0, 6831, '\P{intaitham}', "");
-Expect(1, 6831, '\P{^intaitham}', "");
-Expect(0, 6687, '\p{intaitham}', "");
-Expect(1, 6687, '\p{^intaitham}', "");
-Expect(1, 6687, '\P{intaitham}', "");
-Expect(0, 6687, '\P{^intaitham}', "");
-Expect(1, 6831, '\p{ In tai tham}', "");
-Expect(0, 6831, '\p{^ In tai tham}', "");
-Expect(0, 6831, '\P{ In tai tham}', "");
-Expect(1, 6831, '\P{^ In tai tham}', "");
-Expect(0, 6687, '\p{ In tai tham}', "");
-Expect(1, 6687, '\p{^ In tai tham}', "");
-Expect(1, 6687, '\P{ In tai tham}', "");
-Expect(0, 6687, '\P{^ In tai tham}', "");
-Error('\p{ In:=Tagalog}');
-Error('\P{ In:=Tagalog}');
-Expect(1, 5919, '\p{intagalog}', "");
-Expect(0, 5919, '\p{^intagalog}', "");
-Expect(0, 5919, '\P{intagalog}', "");
-Expect(1, 5919, '\P{^intagalog}', "");
-Expect(0, 5887, '\p{intagalog}', "");
-Expect(1, 5887, '\p{^intagalog}', "");
-Expect(1, 5887, '\P{intagalog}', "");
-Expect(0, 5887, '\P{^intagalog}', "");
-Expect(1, 5919, '\p{_InTagalog}', "");
-Expect(0, 5919, '\p{^_InTagalog}', "");
-Expect(0, 5919, '\P{_InTagalog}', "");
-Expect(1, 5919, '\P{^_InTagalog}', "");
-Expect(0, 5887, '\p{_InTagalog}', "");
-Expect(1, 5887, '\p{^_InTagalog}', "");
-Expect(1, 5887, '\P{_InTagalog}', "");
-Expect(0, 5887, '\P{^_InTagalog}', "");
-Error('\p{ _tai-XUAN JING Symbols:=}');
-Error('\P{ _tai-XUAN JING Symbols:=}');
-Expect(1, 119647, '\p{taixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^taixuanjingsymbols}', "");
-Expect(0, 119647, '\P{taixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^taixuanjingsymbols}', "");
-Expect(0, 119551, '\p{taixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^taixuanjingsymbols}', "");
-Expect(1, 119551, '\P{taixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^taixuanjingsymbols}', "");
-Expect(1, 119647, '\p{ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(0, 119647, '\p{^ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(0, 119647, '\P{ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(1, 119647, '\P{^ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(0, 119551, '\p{ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(1, 119551, '\p{^ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(1, 119551, '\P{ Tai_Xuan-Jing SYMBOLS}', "");
-Expect(0, 119551, '\P{^ Tai_Xuan-Jing SYMBOLS}', "");
-Error('\p{-/a/is Tai XUAN JingSYMBOLS}');
-Error('\P{-/a/is Tai XUAN JingSYMBOLS}');
-Expect(1, 119647, '\p{istaixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^istaixuanjingsymbols}', "");
-Expect(0, 119647, '\P{istaixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^istaixuanjingsymbols}', "");
-Expect(0, 119551, '\p{istaixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^istaixuanjingsymbols}', "");
-Expect(1, 119551, '\P{istaixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^istaixuanjingsymbols}', "");
-Expect(1, 119647, '\p{ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(0, 119647, '\p{^ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(0, 119647, '\P{ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(1, 119647, '\P{^ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(0, 119551, '\p{ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(1, 119551, '\p{^ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(1, 119551, '\P{ Is_TaiXuan JING_SYMBOLS}', "");
-Expect(0, 119551, '\P{^ Is_TaiXuan JING_SYMBOLS}', "");
-Error('\p{-/a/In TAI XUAN-Jing Symbols}');
-Error('\P{-/a/In TAI XUAN-Jing Symbols}');
-Expect(1, 119647, '\p{intaixuanjingsymbols}', "");
-Expect(0, 119647, '\p{^intaixuanjingsymbols}', "");
-Expect(0, 119647, '\P{intaixuanjingsymbols}', "");
-Expect(1, 119647, '\P{^intaixuanjingsymbols}', "");
-Expect(0, 119551, '\p{intaixuanjingsymbols}', "");
-Expect(1, 119551, '\p{^intaixuanjingsymbols}', "");
-Expect(1, 119551, '\P{intaixuanjingsymbols}', "");
-Expect(0, 119551, '\P{^intaixuanjingsymbols}', "");
-Expect(1, 119647, '\p{- INTai Xuan_Jingsymbols}', "");
-Expect(0, 119647, '\p{^- INTai Xuan_Jingsymbols}', "");
-Expect(0, 119647, '\P{- INTai Xuan_Jingsymbols}', "");
-Expect(1, 119647, '\P{^- INTai Xuan_Jingsymbols}', "");
-Expect(0, 119551, '\p{- INTai Xuan_Jingsymbols}', "");
-Expect(1, 119551, '\p{^- INTai Xuan_Jingsymbols}', "");
-Expect(1, 119551, '\P{- INTai Xuan_Jingsymbols}', "");
-Expect(0, 119551, '\P{^- INTai Xuan_Jingsymbols}', "");
-Error('\p{ :=In-lepcha}');
-Error('\P{ :=In-lepcha}');
-Expect(1, 7247, '\p{inlepcha}', "");
-Expect(0, 7247, '\p{^inlepcha}', "");
-Expect(0, 7247, '\P{inlepcha}', "");
-Expect(1, 7247, '\P{^inlepcha}', "");
-Expect(0, 7167, '\p{inlepcha}', "");
-Expect(1, 7167, '\p{^inlepcha}', "");
-Expect(1, 7167, '\P{inlepcha}', "");
-Expect(0, 7167, '\P{^inlepcha}', "");
-Expect(1, 7247, '\p{ -IN Lepcha}', "");
-Expect(0, 7247, '\p{^ -IN Lepcha}', "");
-Expect(0, 7247, '\P{ -IN Lepcha}', "");
-Expect(1, 7247, '\P{^ -IN Lepcha}', "");
-Expect(0, 7167, '\p{ -IN Lepcha}', "");
-Expect(1, 7167, '\p{^ -IN Lepcha}', "");
-Expect(1, 7167, '\P{ -IN Lepcha}', "");
-Expect(0, 7167, '\P{^ -IN Lepcha}', "");
-Error('\p{- in/a/CHAM}');
-Error('\P{- in/a/CHAM}');
-Expect(1, 43615, '\p{incham}', "");
-Expect(0, 43615, '\p{^incham}', "");
-Expect(0, 43615, '\P{incham}', "");
-Expect(1, 43615, '\P{^incham}', "");
-Expect(0, 43519, '\p{incham}', "");
-Expect(1, 43519, '\p{^incham}', "");
-Expect(1, 43519, '\P{incham}', "");
-Expect(0, 43519, '\P{^incham}', "");
-Expect(1, 43615, '\p{_ InCHAM}', "");
-Expect(0, 43615, '\p{^_ InCHAM}', "");
-Expect(0, 43615, '\P{_ InCHAM}', "");
-Expect(1, 43615, '\P{^_ InCHAM}', "");
-Expect(0, 43519, '\p{_ InCHAM}', "");
-Expect(1, 43519, '\p{^_ InCHAM}', "");
-Expect(1, 43519, '\P{_ InCHAM}', "");
-Expect(0, 43519, '\P{^_ InCHAM}', "");
-Error('\p{--in/a/bopomofo}');
-Error('\P{--in/a/bopomofo}');
-Expect(1, 12591, '\p{inbopomofo}', "");
-Expect(0, 12591, '\p{^inbopomofo}', "");
-Expect(0, 12591, '\P{inbopomofo}', "");
-Expect(1, 12591, '\P{^inbopomofo}', "");
-Expect(0, 12543, '\p{inbopomofo}', "");
-Expect(1, 12543, '\p{^inbopomofo}', "");
-Expect(1, 12543, '\P{inbopomofo}', "");
-Expect(0, 12543, '\P{^inbopomofo}', "");
-Expect(1, 12591, '\p{__in-BOPOMOFO}', "");
-Expect(0, 12591, '\p{^__in-BOPOMOFO}', "");
-Expect(0, 12591, '\P{__in-BOPOMOFO}', "");
-Expect(1, 12591, '\P{^__in-BOPOMOFO}', "");
-Expect(0, 12543, '\p{__in-BOPOMOFO}', "");
-Expect(1, 12543, '\p{^__in-BOPOMOFO}', "");
-Expect(1, 12543, '\P{__in-BOPOMOFO}', "");
-Expect(0, 12543, '\P{^__in-BOPOMOFO}', "");
-Error('\p{/a/-CJK CompatibilityIdeographs}');
-Error('\P{/a/-CJK CompatibilityIdeographs}');
-Expect(1, 64255, '\p{cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^cjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^cjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{cjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^cjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(0, 64255, '\p{^_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(0, 64255, '\P{_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(1, 64255, '\P{^_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(0, 63743, '\p{_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(1, 63743, '\p{^_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(1, 63743, '\P{_-CJK-Compatibility IDEOGRAPHS}', "");
-Expect(0, 63743, '\P{^_-CJK-Compatibility IDEOGRAPHS}', "");
-Error('\p{ -is/a/CJK Compatibility Ideographs}');
-Error('\P{ -is/a/CJK Compatibility Ideographs}');
-Expect(1, 64255, '\p{iscjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^iscjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{iscjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^iscjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{iscjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^iscjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{iscjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^iscjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(0, 64255, '\p{^ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(0, 64255, '\P{ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(1, 64255, '\P{^ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(0, 63743, '\p{ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(1, 63743, '\p{^ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(1, 63743, '\P{ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Expect(0, 63743, '\P{^ -Is CJK_compatibility_IDEOGRAPHS}', "");
-Error('\p{_:=In CJKcompatibility_IDEOGRAPHS}');
-Error('\P{_:=In CJKcompatibility_IDEOGRAPHS}');
-Expect(1, 64255, '\p{incjkcompatibilityideographs}', "");
-Expect(0, 64255, '\p{^incjkcompatibilityideographs}', "");
-Expect(0, 64255, '\P{incjkcompatibilityideographs}', "");
-Expect(1, 64255, '\P{^incjkcompatibilityideographs}', "");
-Expect(0, 63743, '\p{incjkcompatibilityideographs}', "");
-Expect(1, 63743, '\p{^incjkcompatibilityideographs}', "");
-Expect(1, 63743, '\P{incjkcompatibilityideographs}', "");
-Expect(0, 63743, '\P{^incjkcompatibilityideographs}', "");
-Expect(1, 64255, '\p{_InCJK COMPATIBILITY ideographs}', "");
-Expect(0, 64255, '\p{^_InCJK COMPATIBILITY ideographs}', "");
-Expect(0, 64255, '\P{_InCJK COMPATIBILITY ideographs}', "");
-Expect(1, 64255, '\P{^_InCJK COMPATIBILITY ideographs}', "");
-Expect(0, 63743, '\p{_InCJK COMPATIBILITY ideographs}', "");
-Expect(1, 63743, '\p{^_InCJK COMPATIBILITY ideographs}', "");
-Expect(1, 63743, '\P{_InCJK COMPATIBILITY ideographs}', "");
-Expect(0, 63743, '\P{^_InCJK COMPATIBILITY ideographs}', "");
-Error('\p{:=Arrows}');
-Error('\P{:=Arrows}');
-Expect(1, 8703, '\p{arrows}', "");
-Expect(0, 8703, '\p{^arrows}', "");
-Expect(0, 8703, '\P{arrows}', "");
-Expect(1, 8703, '\P{^arrows}', "");
-Expect(0, 8591, '\p{arrows}', "");
-Expect(1, 8591, '\p{^arrows}', "");
-Expect(1, 8591, '\P{arrows}', "");
-Expect(0, 8591, '\P{^arrows}', "");
-Expect(1, 8703, '\p{_Arrows}', "");
-Expect(0, 8703, '\p{^_Arrows}', "");
-Expect(0, 8703, '\P{_Arrows}', "");
-Expect(1, 8703, '\P{^_Arrows}', "");
-Expect(0, 8591, '\p{_Arrows}', "");
-Expect(1, 8591, '\p{^_Arrows}', "");
-Expect(1, 8591, '\P{_Arrows}', "");
-Expect(0, 8591, '\P{^_Arrows}', "");
-Error('\p{Is/a/arrows}');
-Error('\P{Is/a/arrows}');
-Expect(1, 8703, '\p{isarrows}', "");
-Expect(0, 8703, '\p{^isarrows}', "");
-Expect(0, 8703, '\P{isarrows}', "");
-Expect(1, 8703, '\P{^isarrows}', "");
-Expect(0, 8591, '\p{isarrows}', "");
-Expect(1, 8591, '\p{^isarrows}', "");
-Expect(1, 8591, '\P{isarrows}', "");
-Expect(0, 8591, '\P{^isarrows}', "");
-Expect(1, 8703, '\p{-is Arrows}', "");
-Expect(0, 8703, '\p{^-is Arrows}', "");
-Expect(0, 8703, '\P{-is Arrows}', "");
-Expect(1, 8703, '\P{^-is Arrows}', "");
-Expect(0, 8591, '\p{-is Arrows}', "");
-Expect(1, 8591, '\p{^-is Arrows}', "");
-Expect(1, 8591, '\P{-is Arrows}', "");
-Expect(0, 8591, '\P{^-is Arrows}', "");
-Error('\p{:=--InArrows}');
-Error('\P{:=--InArrows}');
-Expect(1, 8703, '\p{inarrows}', "");
-Expect(0, 8703, '\p{^inarrows}', "");
-Expect(0, 8703, '\P{inarrows}', "");
-Expect(1, 8703, '\P{^inarrows}', "");
-Expect(0, 8591, '\p{inarrows}', "");
-Expect(1, 8591, '\p{^inarrows}', "");
-Expect(1, 8591, '\P{inarrows}', "");
-Expect(0, 8591, '\P{^inarrows}', "");
-Expect(1, 8703, '\p{ inArrows}', "");
-Expect(0, 8703, '\p{^ inArrows}', "");
-Expect(0, 8703, '\P{ inArrows}', "");
-Expect(1, 8703, '\P{^ inArrows}', "");
-Expect(0, 8591, '\p{ inArrows}', "");
-Expect(1, 8591, '\p{^ inArrows}', "");
-Expect(1, 8591, '\P{ inArrows}', "");
-Expect(0, 8591, '\P{^ inArrows}', "");
-Error('\p{_In:=LAO}');
-Error('\P{_In:=LAO}');
-Expect(1, 3839, '\p{inlao}', "");
-Expect(0, 3839, '\p{^inlao}', "");
-Expect(0, 3839, '\P{inlao}', "");
-Expect(1, 3839, '\P{^inlao}', "");
-Expect(0, 3711, '\p{inlao}', "");
-Expect(1, 3711, '\p{^inlao}', "");
-Expect(1, 3711, '\P{inlao}', "");
-Expect(0, 3711, '\P{^inlao}', "");
-Expect(1, 3839, '\p{_-INLao}', "");
-Expect(0, 3839, '\p{^_-INLao}', "");
-Expect(0, 3839, '\P{_-INLao}', "");
-Expect(1, 3839, '\P{^_-INLao}', "");
-Expect(0, 3711, '\p{_-INLao}', "");
-Expect(1, 3711, '\p{^_-INLao}', "");
-Expect(1, 3711, '\P{_-INLao}', "");
-Expect(0, 3711, '\P{^_-INLao}', "");
-Error('\p{/a/ CONNECTOR PUNCTUATION}');
-Error('\P{/a/ CONNECTOR PUNCTUATION}');
-Expect(1, 95, '\p{connectorpunctuation}', "");
-Expect(0, 95, '\p{^connectorpunctuation}', "");
-Expect(0, 95, '\P{connectorpunctuation}', "");
-Expect(1, 95, '\P{^connectorpunctuation}', "");
-Expect(0, 94, '\p{connectorpunctuation}', "");
-Expect(1, 94, '\p{^connectorpunctuation}', "");
-Expect(1, 94, '\P{connectorpunctuation}', "");
-Expect(0, 94, '\P{^connectorpunctuation}', "");
-Expect(1, 95, '\p{ connector-punctuation}', "");
-Expect(0, 95, '\p{^ connector-punctuation}', "");
-Expect(0, 95, '\P{ connector-punctuation}', "");
-Expect(1, 95, '\P{^ connector-punctuation}', "");
-Expect(0, 94, '\p{ connector-punctuation}', "");
-Expect(1, 94, '\p{^ connector-punctuation}', "");
-Expect(1, 94, '\P{ connector-punctuation}', "");
-Expect(0, 94, '\P{^ connector-punctuation}', "");
-Error('\p{-is:=CONNECTORPunctuation}');
-Error('\P{-is:=CONNECTORPunctuation}');
-Expect(1, 95, '\p{isconnectorpunctuation}', "");
-Expect(0, 95, '\p{^isconnectorpunctuation}', "");
-Expect(0, 95, '\P{isconnectorpunctuation}', "");
-Expect(1, 95, '\P{^isconnectorpunctuation}', "");
-Expect(0, 94, '\p{isconnectorpunctuation}', "");
-Expect(1, 94, '\p{^isconnectorpunctuation}', "");
-Expect(1, 94, '\P{isconnectorpunctuation}', "");
-Expect(0, 94, '\P{^isconnectorpunctuation}', "");
-Expect(1, 95, '\p{Is Connector Punctuation}', "");
-Expect(0, 95, '\p{^Is Connector Punctuation}', "");
-Expect(0, 95, '\P{Is Connector Punctuation}', "");
-Expect(1, 95, '\P{^Is Connector Punctuation}', "");
-Expect(0, 94, '\p{Is Connector Punctuation}', "");
-Expect(1, 94, '\p{^Is Connector Punctuation}', "");
-Expect(1, 94, '\P{Is Connector Punctuation}', "");
-Expect(0, 94, '\P{^Is Connector Punctuation}', "");
-Error('\p{/a/-Pc}');
-Error('\P{/a/-Pc}');
-Expect(1, 95, '\p{pc}', "");
-Expect(0, 95, '\p{^pc}', "");
-Expect(0, 95, '\P{pc}', "");
-Expect(1, 95, '\P{^pc}', "");
-Expect(0, 94, '\p{pc}', "");
-Expect(1, 94, '\p{^pc}', "");
-Expect(1, 94, '\P{pc}', "");
-Expect(0, 94, '\P{^pc}', "");
-Expect(1, 95, '\p{Pc}', "");
-Expect(0, 95, '\p{^Pc}', "");
-Expect(0, 95, '\P{Pc}', "");
-Expect(1, 95, '\P{^Pc}', "");
-Expect(0, 94, '\p{Pc}', "");
-Expect(1, 94, '\p{^Pc}', "");
-Expect(1, 94, '\P{Pc}', "");
-Expect(0, 94, '\P{^Pc}', "");
-Error('\p{ _IS-PC/a/}');
-Error('\P{ _IS-PC/a/}');
-Expect(1, 95, '\p{ispc}', "");
-Expect(0, 95, '\p{^ispc}', "");
-Expect(0, 95, '\P{ispc}', "");
-Expect(1, 95, '\P{^ispc}', "");
-Expect(0, 94, '\p{ispc}', "");
-Expect(1, 94, '\p{^ispc}', "");
-Expect(1, 94, '\P{ispc}', "");
-Expect(0, 94, '\P{^ispc}', "");
-Expect(1, 95, '\p{__ISPC}', "");
-Expect(0, 95, '\p{^__ISPC}', "");
-Expect(0, 95, '\P{__ISPC}', "");
-Expect(1, 95, '\P{^__ISPC}', "");
-Expect(0, 94, '\p{__ISPC}', "");
-Expect(1, 94, '\p{^__ISPC}', "");
-Expect(1, 94, '\P{__ISPC}', "");
-Expect(0, 94, '\P{^__ISPC}', "");
-Error('\p{:=-_INInscriptionalPahlavi}');
-Error('\P{:=-_INInscriptionalPahlavi}');
-Expect(1, 68479, '\p{ininscriptionalpahlavi}', "");
-Expect(0, 68479, '\p{^ininscriptionalpahlavi}', "");
-Expect(0, 68479, '\P{ininscriptionalpahlavi}', "");
-Expect(1, 68479, '\P{^ininscriptionalpahlavi}', "");
-Expect(0, 68447, '\p{ininscriptionalpahlavi}', "");
-Expect(1, 68447, '\p{^ininscriptionalpahlavi}', "");
-Expect(1, 68447, '\P{ininscriptionalpahlavi}', "");
-Expect(0, 68447, '\P{^ininscriptionalpahlavi}', "");
-Expect(1, 68479, '\p{ InInscriptional_Pahlavi}', "");
-Expect(0, 68479, '\p{^ InInscriptional_Pahlavi}', "");
-Expect(0, 68479, '\P{ InInscriptional_Pahlavi}', "");
-Expect(1, 68479, '\P{^ InInscriptional_Pahlavi}', "");
-Expect(0, 68447, '\p{ InInscriptional_Pahlavi}', "");
-Expect(1, 68447, '\p{^ InInscriptional_Pahlavi}', "");
-Expect(1, 68447, '\P{ InInscriptional_Pahlavi}', "");
-Expect(0, 68447, '\P{^ InInscriptional_Pahlavi}', "");
-Error('\p{:=_Variation Selectors}');
-Error('\P{:=_Variation Selectors}');
-Expect(1, 65039, '\p{variationselectors}', "");
-Expect(0, 65039, '\p{^variationselectors}', "");
-Expect(0, 65039, '\P{variationselectors}', "");
-Expect(1, 65039, '\P{^variationselectors}', "");
-Expect(0, 65023, '\p{variationselectors}', "");
-Expect(1, 65023, '\p{^variationselectors}', "");
-Expect(1, 65023, '\P{variationselectors}', "");
-Expect(0, 65023, '\P{^variationselectors}', "");
-Expect(1, 65039, '\p{Variation-SELECTORS}', "");
-Expect(0, 65039, '\p{^Variation-SELECTORS}', "");
-Expect(0, 65039, '\P{Variation-SELECTORS}', "");
-Expect(1, 65039, '\P{^Variation-SELECTORS}', "");
-Expect(0, 65023, '\p{Variation-SELECTORS}', "");
-Expect(1, 65023, '\p{^Variation-SELECTORS}', "");
-Expect(1, 65023, '\P{Variation-SELECTORS}', "");
-Expect(0, 65023, '\P{^Variation-SELECTORS}', "");
-Error('\p{:= IsVariationSelectors}');
-Error('\P{:= IsVariationSelectors}');
-Expect(1, 65039, '\p{isvariationselectors}', "");
-Expect(0, 65039, '\p{^isvariationselectors}', "");
-Expect(0, 65039, '\P{isvariationselectors}', "");
-Expect(1, 65039, '\P{^isvariationselectors}', "");
-Expect(0, 65023, '\p{isvariationselectors}', "");
-Expect(1, 65023, '\p{^isvariationselectors}', "");
-Expect(1, 65023, '\P{isvariationselectors}', "");
-Expect(0, 65023, '\P{^isvariationselectors}', "");
-Expect(1, 65039, '\p{ -IsVariation selectors}', "");
-Expect(0, 65039, '\p{^ -IsVariation selectors}', "");
-Expect(0, 65039, '\P{ -IsVariation selectors}', "");
-Expect(1, 65039, '\P{^ -IsVariation selectors}', "");
-Expect(0, 65023, '\p{ -IsVariation selectors}', "");
-Expect(1, 65023, '\p{^ -IsVariation selectors}', "");
-Expect(1, 65023, '\P{ -IsVariation selectors}', "");
-Expect(0, 65023, '\P{^ -IsVariation selectors}', "");
-Error('\p{/a/ -In_Variation_Selectors}');
-Error('\P{/a/ -In_Variation_Selectors}');
-Expect(1, 65039, '\p{invariationselectors}', "");
-Expect(0, 65039, '\p{^invariationselectors}', "");
-Expect(0, 65039, '\P{invariationselectors}', "");
-Expect(1, 65039, '\P{^invariationselectors}', "");
-Expect(0, 65023, '\p{invariationselectors}', "");
-Expect(1, 65023, '\p{^invariationselectors}', "");
-Expect(1, 65023, '\P{invariationselectors}', "");
-Expect(0, 65023, '\P{^invariationselectors}', "");
-Expect(1, 65039, '\p{_in Variation Selectors}', "");
-Expect(0, 65039, '\p{^_in Variation Selectors}', "");
-Expect(0, 65039, '\P{_in Variation Selectors}', "");
-Expect(1, 65039, '\P{^_in Variation Selectors}', "");
-Expect(0, 65023, '\p{_in Variation Selectors}', "");
-Expect(1, 65023, '\p{^_in Variation Selectors}', "");
-Expect(1, 65023, '\P{_in Variation Selectors}', "");
-Expect(0, 65023, '\P{^_in Variation Selectors}', "");
-Error('\p{ __X LVlvt/a/V}');
-Error('\P{ __X LVlvt/a/V}');
-Expect(1, 4519, '\p{_X_lv_LVT_v}', "");
-Expect(0, 4519, '\p{^_X_lv_LVT_v}', "");
-Expect(0, 4519, '\P{_X_lv_LVT_v}', "");
-Expect(1, 4519, '\P{^_X_lv_LVT_v}', "");
-Expect(0, 4447, '\p{_X_lv_LVT_v}', "");
-Expect(1, 4447, '\p{^_X_lv_LVT_v}', "");
-Expect(1, 4447, '\P{_X_lv_LVT_v}', "");
-Expect(0, 4447, '\P{^_X_lv_LVT_v}', "");
-Error('\p{-/a/Private_Use}');
-Error('\P{-/a/Private_Use}');
-Expect(1, 63743, '\p{privateuse}', "");
-Expect(0, 63743, '\p{^privateuse}', "");
-Expect(0, 63743, '\P{privateuse}', "");
-Expect(1, 63743, '\P{^privateuse}', "");
-Expect(0, 1, '\p{privateuse}', "");
-Expect(1, 1, '\p{^privateuse}', "");
-Expect(1, 1, '\P{privateuse}', "");
-Expect(0, 1, '\P{^privateuse}', "");
-Expect(1, 63743, '\p{- PRIVATEUse}', "");
-Expect(0, 63743, '\p{^- PRIVATEUse}', "");
-Expect(0, 63743, '\P{- PRIVATEUse}', "");
-Expect(1, 63743, '\P{^- PRIVATEUse}', "");
-Expect(0, 1, '\p{- PRIVATEUse}', "");
-Expect(1, 1, '\p{^- PRIVATEUse}', "");
-Expect(1, 1, '\P{- PRIVATEUse}', "");
-Expect(0, 1, '\P{^- PRIVATEUse}', "");
-Error('\p{/a/Isprivate_Use}');
-Error('\P{/a/Isprivate_Use}');
-Expect(1, 63743, '\p{isprivateuse}', "");
-Expect(0, 63743, '\p{^isprivateuse}', "");
-Expect(0, 63743, '\P{isprivateuse}', "");
-Expect(1, 63743, '\P{^isprivateuse}', "");
-Expect(0, 1, '\p{isprivateuse}', "");
-Expect(1, 1, '\p{^isprivateuse}', "");
-Expect(1, 1, '\P{isprivateuse}', "");
-Expect(0, 1, '\P{^isprivateuse}', "");
-Expect(1, 63743, '\p{ _IS-PrivateUSE}', "");
-Expect(0, 63743, '\p{^ _IS-PrivateUSE}', "");
-Expect(0, 63743, '\P{ _IS-PrivateUSE}', "");
-Expect(1, 63743, '\P{^ _IS-PrivateUSE}', "");
-Expect(0, 1, '\p{ _IS-PrivateUSE}', "");
-Expect(1, 1, '\p{^ _IS-PrivateUSE}', "");
-Expect(1, 1, '\P{ _IS-PrivateUSE}', "");
-Expect(0, 1, '\P{^ _IS-PrivateUSE}', "");
-Error('\p{:=_co}');
-Error('\P{:=_co}');
-Expect(1, 63743, '\p{co}', "");
-Expect(0, 63743, '\p{^co}', "");
-Expect(0, 63743, '\P{co}', "");
-Expect(1, 63743, '\P{^co}', "");
-Expect(0, 1, '\p{co}', "");
-Expect(1, 1, '\p{^co}', "");
-Expect(1, 1, '\P{co}', "");
-Expect(0, 1, '\P{^co}', "");
-Expect(1, 63743, '\p{ co}', "");
-Expect(0, 63743, '\p{^ co}', "");
-Expect(0, 63743, '\P{ co}', "");
-Expect(1, 63743, '\P{^ co}', "");
-Expect(0, 1, '\p{ co}', "");
-Expect(1, 1, '\p{^ co}', "");
-Expect(1, 1, '\P{ co}', "");
-Expect(0, 1, '\P{^ co}', "");
-Error('\p{ Is Co:=}');
-Error('\P{ Is Co:=}');
-Expect(1, 63743, '\p{isco}', "");
-Expect(0, 63743, '\p{^isco}', "");
-Expect(0, 63743, '\P{isco}', "");
-Expect(1, 63743, '\P{^isco}', "");
-Expect(0, 1, '\p{isco}', "");
-Expect(1, 1, '\p{^isco}', "");
-Expect(1, 1, '\P{isco}', "");
-Expect(0, 1, '\P{^isco}', "");
-Expect(1, 63743, '\p{ -IS co}', "");
-Expect(0, 63743, '\p{^ -IS co}', "");
-Expect(0, 63743, '\P{ -IS co}', "");
-Expect(1, 63743, '\P{^ -IS co}', "");
-Expect(0, 1, '\p{ -IS co}', "");
-Expect(1, 1, '\p{^ -IS co}', "");
-Expect(1, 1, '\P{ -IS co}', "");
-Expect(0, 1, '\P{^ -IS co}', "");
-Error('\p{ In:=lisu}');
-Error('\P{ In:=lisu}');
-Expect(1, 42239, '\p{inlisu}', "");
-Expect(0, 42239, '\p{^inlisu}', "");
-Expect(0, 42239, '\P{inlisu}', "");
-Expect(1, 42239, '\P{^inlisu}', "");
-Expect(0, 42191, '\p{inlisu}', "");
-Expect(1, 42191, '\p{^inlisu}', "");
-Expect(1, 42191, '\P{inlisu}', "");
-Expect(0, 42191, '\P{^inlisu}', "");
-Expect(1, 42239, '\p{ _in Lisu}', "");
-Expect(0, 42239, '\p{^ _in Lisu}', "");
-Expect(0, 42239, '\P{ _in Lisu}', "");
-Expect(1, 42239, '\P{^ _in Lisu}', "");
-Expect(0, 42191, '\p{ _in Lisu}', "");
-Expect(1, 42191, '\p{^ _in Lisu}', "");
-Expect(1, 42191, '\P{ _in Lisu}', "");
-Expect(0, 42191, '\P{^ _in Lisu}', "");
-Error('\p{ dash:=PUNCTUATION}');
-Error('\P{ dash:=PUNCTUATION}');
-Expect(1, 45, '\p{dashpunctuation}', "");
-Expect(0, 45, '\p{^dashpunctuation}', "");
-Expect(0, 45, '\P{dashpunctuation}', "");
-Expect(1, 45, '\P{^dashpunctuation}', "");
-Expect(0, 44, '\p{dashpunctuation}', "");
-Expect(1, 44, '\p{^dashpunctuation}', "");
-Expect(1, 44, '\P{dashpunctuation}', "");
-Expect(0, 44, '\P{^dashpunctuation}', "");
-Expect(1, 45, '\p{_-Dash-PUNCTUATION}', "");
-Expect(0, 45, '\p{^_-Dash-PUNCTUATION}', "");
-Expect(0, 45, '\P{_-Dash-PUNCTUATION}', "");
-Expect(1, 45, '\P{^_-Dash-PUNCTUATION}', "");
-Expect(0, 44, '\p{_-Dash-PUNCTUATION}', "");
-Expect(1, 44, '\p{^_-Dash-PUNCTUATION}', "");
-Expect(1, 44, '\P{_-Dash-PUNCTUATION}', "");
-Expect(0, 44, '\P{^_-Dash-PUNCTUATION}', "");
-Error('\p{-is DASH Punctuation/a/}');
-Error('\P{-is DASH Punctuation/a/}');
-Expect(1, 45, '\p{isdashpunctuation}', "");
-Expect(0, 45, '\p{^isdashpunctuation}', "");
-Expect(0, 45, '\P{isdashpunctuation}', "");
-Expect(1, 45, '\P{^isdashpunctuation}', "");
-Expect(0, 44, '\p{isdashpunctuation}', "");
-Expect(1, 44, '\p{^isdashpunctuation}', "");
-Expect(1, 44, '\P{isdashpunctuation}', "");
-Expect(0, 44, '\P{^isdashpunctuation}', "");
-Expect(1, 45, '\p{- Is_DASH Punctuation}', "");
-Expect(0, 45, '\p{^- Is_DASH Punctuation}', "");
-Expect(0, 45, '\P{- Is_DASH Punctuation}', "");
-Expect(1, 45, '\P{^- Is_DASH Punctuation}', "");
-Expect(0, 44, '\p{- Is_DASH Punctuation}', "");
-Expect(1, 44, '\p{^- Is_DASH Punctuation}', "");
-Expect(1, 44, '\P{- Is_DASH Punctuation}', "");
-Expect(0, 44, '\P{^- Is_DASH Punctuation}', "");
-Error('\p{ pd:=}');
-Error('\P{ pd:=}');
-Expect(1, 45, '\p{pd}', "");
-Expect(0, 45, '\p{^pd}', "");
-Expect(0, 45, '\P{pd}', "");
-Expect(1, 45, '\P{^pd}', "");
-Expect(0, 44, '\p{pd}', "");
-Expect(1, 44, '\p{^pd}', "");
-Expect(1, 44, '\P{pd}', "");
-Expect(0, 44, '\P{^pd}', "");
-Expect(1, 45, '\p{-_pd}', "");
-Expect(0, 45, '\p{^-_pd}', "");
-Expect(0, 45, '\P{-_pd}', "");
-Expect(1, 45, '\P{^-_pd}', "");
-Expect(0, 44, '\p{-_pd}', "");
-Expect(1, 44, '\p{^-_pd}', "");
-Expect(1, 44, '\P{-_pd}', "");
-Expect(0, 44, '\P{^-_pd}', "");
-Error('\p{:=IS PD}');
-Error('\P{:=IS PD}');
-Expect(1, 45, '\p{ispd}', "");
-Expect(0, 45, '\p{^ispd}', "");
-Expect(0, 45, '\P{ispd}', "");
-Expect(1, 45, '\P{^ispd}', "");
-Expect(0, 44, '\p{ispd}', "");
-Expect(1, 44, '\p{^ispd}', "");
-Expect(1, 44, '\P{ispd}', "");
-Expect(0, 44, '\P{^ispd}', "");
-Expect(1, 45, '\p{- is-pd}', "");
-Expect(0, 45, '\p{^- is-pd}', "");
-Expect(0, 45, '\P{- is-pd}', "");
-Expect(1, 45, '\P{^- is-pd}', "");
-Expect(0, 44, '\p{- is-pd}', "");
-Expect(1, 44, '\p{^- is-pd}', "");
-Expect(1, 44, '\P{- is-pd}', "");
-Expect(0, 44, '\P{^- is-pd}', "");
-Error('\p{:=BOPOMOFO extended}');
-Error('\P{:=BOPOMOFO extended}');
-Expect(1, 12735, '\p{bopomofoextended}', "");
-Expect(0, 12735, '\p{^bopomofoextended}', "");
-Expect(0, 12735, '\P{bopomofoextended}', "");
-Expect(1, 12735, '\P{^bopomofoextended}', "");
-Expect(0, 12703, '\p{bopomofoextended}', "");
-Expect(1, 12703, '\p{^bopomofoextended}', "");
-Expect(1, 12703, '\P{bopomofoextended}', "");
-Expect(0, 12703, '\P{^bopomofoextended}', "");
-Expect(1, 12735, '\p{- bopomofo Extended}', "");
-Expect(0, 12735, '\p{^- bopomofo Extended}', "");
-Expect(0, 12735, '\P{- bopomofo Extended}', "");
-Expect(1, 12735, '\P{^- bopomofo Extended}', "");
-Expect(0, 12703, '\p{- bopomofo Extended}', "");
-Expect(1, 12703, '\p{^- bopomofo Extended}', "");
-Expect(1, 12703, '\P{- bopomofo Extended}', "");
-Expect(0, 12703, '\P{^- bopomofo Extended}', "");
-Error('\p{/a/Is bopomofo-Extended}');
-Error('\P{/a/Is bopomofo-Extended}');
-Expect(1, 12735, '\p{isbopomofoextended}', "");
-Expect(0, 12735, '\p{^isbopomofoextended}', "");
-Expect(0, 12735, '\P{isbopomofoextended}', "");
-Expect(1, 12735, '\P{^isbopomofoextended}', "");
-Expect(0, 12703, '\p{isbopomofoextended}', "");
-Expect(1, 12703, '\p{^isbopomofoextended}', "");
-Expect(1, 12703, '\P{isbopomofoextended}', "");
-Expect(0, 12703, '\P{^isbopomofoextended}', "");
-Expect(1, 12735, '\p{ _IS bopomofo Extended}', "");
-Expect(0, 12735, '\p{^ _IS bopomofo Extended}', "");
-Expect(0, 12735, '\P{ _IS bopomofo Extended}', "");
-Expect(1, 12735, '\P{^ _IS bopomofo Extended}', "");
-Expect(0, 12703, '\p{ _IS bopomofo Extended}', "");
-Expect(1, 12703, '\p{^ _IS bopomofo Extended}', "");
-Expect(1, 12703, '\P{ _IS bopomofo Extended}', "");
-Expect(0, 12703, '\P{^ _IS bopomofo Extended}', "");
-Error('\p{/a/ in-BOPOMOFO-EXTENDED}');
-Error('\P{/a/ in-BOPOMOFO-EXTENDED}');
-Expect(1, 12735, '\p{inbopomofoextended}', "");
-Expect(0, 12735, '\p{^inbopomofoextended}', "");
-Expect(0, 12735, '\P{inbopomofoextended}', "");
-Expect(1, 12735, '\P{^inbopomofoextended}', "");
-Expect(0, 12703, '\p{inbopomofoextended}', "");
-Expect(1, 12703, '\p{^inbopomofoextended}', "");
-Expect(1, 12703, '\P{inbopomofoextended}', "");
-Expect(0, 12703, '\P{^inbopomofoextended}', "");
-Expect(1, 12735, '\p{- in_bopomofo-extended}', "");
-Expect(0, 12735, '\p{^- in_bopomofo-extended}', "");
-Expect(0, 12735, '\P{- in_bopomofo-extended}', "");
-Expect(1, 12735, '\P{^- in_bopomofo-extended}', "");
-Expect(0, 12703, '\p{- in_bopomofo-extended}', "");
-Expect(1, 12703, '\p{^- in_bopomofo-extended}', "");
-Expect(1, 12703, '\P{- in_bopomofo-extended}', "");
-Expect(0, 12703, '\P{^- in_bopomofo-extended}', "");
-Error('\p{:=In-KHMER}');
-Error('\P{:=In-KHMER}');
-Expect(1, 6143, '\p{inkhmer}', "");
-Expect(0, 6143, '\p{^inkhmer}', "");
-Expect(0, 6143, '\P{inkhmer}', "");
-Expect(1, 6143, '\P{^inkhmer}', "");
-Expect(0, 6015, '\p{inkhmer}', "");
-Expect(1, 6015, '\p{^inkhmer}', "");
-Expect(1, 6015, '\P{inkhmer}', "");
-Expect(0, 6015, '\P{^inkhmer}', "");
-Expect(1, 6143, '\p{-_IN KHMER}', "");
-Expect(0, 6143, '\p{^-_IN KHMER}', "");
-Expect(0, 6143, '\P{-_IN KHMER}', "");
-Expect(1, 6143, '\P{^-_IN KHMER}', "");
-Expect(0, 6015, '\p{-_IN KHMER}', "");
-Expect(1, 6015, '\p{^-_IN KHMER}', "");
-Expect(1, 6015, '\P{-_IN KHMER}', "");
-Expect(0, 6015, '\P{^-_IN KHMER}', "");
-Error('\p{:=-INSamaritan}');
-Error('\P{:=-INSamaritan}');
-Expect(1, 2111, '\p{insamaritan}', "");
-Expect(0, 2111, '\p{^insamaritan}', "");
-Expect(0, 2111, '\P{insamaritan}', "");
-Expect(1, 2111, '\P{^insamaritan}', "");
-Expect(0, 2047, '\p{insamaritan}', "");
-Expect(1, 2047, '\p{^insamaritan}', "");
-Expect(1, 2047, '\P{insamaritan}', "");
-Expect(0, 2047, '\P{^insamaritan}', "");
-Expect(1, 2111, '\p{-_IN SAMARITAN}', "");
-Expect(0, 2111, '\p{^-_IN SAMARITAN}', "");
-Expect(0, 2111, '\P{-_IN SAMARITAN}', "");
-Expect(1, 2111, '\P{^-_IN SAMARITAN}', "");
-Expect(0, 2047, '\p{-_IN SAMARITAN}', "");
-Expect(1, 2047, '\p{^-_IN SAMARITAN}', "");
-Expect(1, 2047, '\P{-_IN SAMARITAN}', "");
-Expect(0, 2047, '\P{^-_IN SAMARITAN}', "");
-Error('\p{:=_ GENERAL punctuation}');
-Error('\P{:=_ GENERAL punctuation}');
-Expect(1, 8303, '\p{generalpunctuation}', "");
-Expect(0, 8303, '\p{^generalpunctuation}', "");
-Expect(0, 8303, '\P{generalpunctuation}', "");
-Expect(1, 8303, '\P{^generalpunctuation}', "");
-Expect(0, 8191, '\p{generalpunctuation}', "");
-Expect(1, 8191, '\p{^generalpunctuation}', "");
-Expect(1, 8191, '\P{generalpunctuation}', "");
-Expect(0, 8191, '\P{^generalpunctuation}', "");
-Expect(1, 8303, '\p{ GENERAL PUNCTUATION}', "");
-Expect(0, 8303, '\p{^ GENERAL PUNCTUATION}', "");
-Expect(0, 8303, '\P{ GENERAL PUNCTUATION}', "");
-Expect(1, 8303, '\P{^ GENERAL PUNCTUATION}', "");
-Expect(0, 8191, '\p{ GENERAL PUNCTUATION}', "");
-Expect(1, 8191, '\p{^ GENERAL PUNCTUATION}', "");
-Expect(1, 8191, '\P{ GENERAL PUNCTUATION}', "");
-Expect(0, 8191, '\P{^ GENERAL PUNCTUATION}', "");
-Error('\p{__is GENERAL:=PUNCTUATION}');
-Error('\P{__is GENERAL:=PUNCTUATION}');
-Expect(1, 8303, '\p{isgeneralpunctuation}', "");
-Expect(0, 8303, '\p{^isgeneralpunctuation}', "");
-Expect(0, 8303, '\P{isgeneralpunctuation}', "");
-Expect(1, 8303, '\P{^isgeneralpunctuation}', "");
-Expect(0, 8191, '\p{isgeneralpunctuation}', "");
-Expect(1, 8191, '\p{^isgeneralpunctuation}', "");
-Expect(1, 8191, '\P{isgeneralpunctuation}', "");
-Expect(0, 8191, '\P{^isgeneralpunctuation}', "");
-Expect(1, 8303, '\p{- IS-General Punctuation}', "");
-Expect(0, 8303, '\p{^- IS-General Punctuation}', "");
-Expect(0, 8303, '\P{- IS-General Punctuation}', "");
-Expect(1, 8303, '\P{^- IS-General Punctuation}', "");
-Expect(0, 8191, '\p{- IS-General Punctuation}', "");
-Expect(1, 8191, '\p{^- IS-General Punctuation}', "");
-Expect(1, 8191, '\P{- IS-General Punctuation}', "");
-Expect(0, 8191, '\P{^- IS-General Punctuation}', "");
-Error('\p{:= _IN_GENERAL Punctuation}');
-Error('\P{:= _IN_GENERAL Punctuation}');
-Expect(1, 8303, '\p{ingeneralpunctuation}', "");
-Expect(0, 8303, '\p{^ingeneralpunctuation}', "");
-Expect(0, 8303, '\P{ingeneralpunctuation}', "");
-Expect(1, 8303, '\P{^ingeneralpunctuation}', "");
-Expect(0, 8191, '\p{ingeneralpunctuation}', "");
-Expect(1, 8191, '\p{^ingeneralpunctuation}', "");
-Expect(1, 8191, '\P{ingeneralpunctuation}', "");
-Expect(0, 8191, '\P{^ingeneralpunctuation}', "");
-Expect(1, 8303, '\p{ In_General Punctuation}', "");
-Expect(0, 8303, '\p{^ In_General Punctuation}', "");
-Expect(0, 8303, '\P{ In_General Punctuation}', "");
-Expect(1, 8303, '\P{^ In_General Punctuation}', "");
-Expect(0, 8191, '\p{ In_General Punctuation}', "");
-Expect(1, 8191, '\p{^ In_General Punctuation}', "");
-Expect(1, 8191, '\P{ In_General Punctuation}', "");
-Expect(0, 8191, '\P{^ In_General Punctuation}', "");
-Error('\p{ /a/In_Georgian}');
-Error('\P{ /a/In_Georgian}');
-Expect(1, 4351, '\p{ingeorgian}', "");
-Expect(0, 4351, '\p{^ingeorgian}', "");
-Expect(0, 4351, '\P{ingeorgian}', "");
-Expect(1, 4351, '\P{^ingeorgian}', "");
-Expect(0, 4255, '\p{ingeorgian}', "");
-Expect(1, 4255, '\p{^ingeorgian}', "");
-Expect(1, 4255, '\P{ingeorgian}', "");
-Expect(0, 4255, '\P{^ingeorgian}', "");
-Expect(1, 4351, '\p{- In_georgian}', "");
-Expect(0, 4351, '\p{^- In_georgian}', "");
-Expect(0, 4351, '\P{- In_georgian}', "");
-Expect(1, 4351, '\P{^- In_georgian}', "");
-Expect(0, 4255, '\p{- In_georgian}', "");
-Expect(1, 4255, '\p{^- In_georgian}', "");
-Expect(1, 4255, '\P{- In_georgian}', "");
-Expect(0, 4255, '\P{^- In_georgian}', "");
-Error('\p{ -In/a/Limbu}');
-Error('\P{ -In/a/Limbu}');
-Expect(1, 6479, '\p{inlimbu}', "");
-Expect(0, 6479, '\p{^inlimbu}', "");
-Expect(0, 6479, '\P{inlimbu}', "");
-Expect(1, 6479, '\P{^inlimbu}', "");
-Expect(0, 6399, '\p{inlimbu}', "");
-Expect(1, 6399, '\p{^inlimbu}', "");
-Expect(1, 6399, '\P{inlimbu}', "");
-Expect(0, 6399, '\P{^inlimbu}', "");
-Expect(1, 6479, '\p{--in Limbu}', "");
-Expect(0, 6479, '\p{^--in Limbu}', "");
-Expect(0, 6479, '\P{--in Limbu}', "");
-Expect(1, 6479, '\P{^--in Limbu}', "");
-Expect(0, 6399, '\p{--in Limbu}', "");
-Expect(1, 6399, '\p{^--in Limbu}', "");
-Expect(1, 6399, '\P{--in Limbu}', "");
-Expect(0, 6399, '\P{^--in Limbu}', "");
-Error('\p{:=In-Lydian}');
-Error('\P{:=In-Lydian}');
-Expect(1, 67903, '\p{inlydian}', "");
-Expect(0, 67903, '\p{^inlydian}', "");
-Expect(0, 67903, '\P{inlydian}', "");
-Expect(1, 67903, '\P{^inlydian}', "");
-Expect(0, 67871, '\p{inlydian}', "");
-Expect(1, 67871, '\p{^inlydian}', "");
-Expect(1, 67871, '\P{inlydian}', "");
-Expect(0, 67871, '\P{^inlydian}', "");
-Expect(1, 67903, '\p{_IN-Lydian}', "");
-Expect(0, 67903, '\p{^_IN-Lydian}', "");
-Expect(0, 67903, '\P{_IN-Lydian}', "");
-Expect(1, 67903, '\P{^_IN-Lydian}', "");
-Expect(0, 67871, '\p{_IN-Lydian}', "");
-Expect(1, 67871, '\p{^_IN-Lydian}', "");
-Expect(1, 67871, '\P{_IN-Lydian}', "");
-Expect(0, 67871, '\P{^_IN-Lydian}', "");
-Error('\p{ IN/a/Old-South arabian}');
-Error('\P{ IN/a/Old-South arabian}');
-Expect(1, 68223, '\p{inoldsoutharabian}', "");
-Expect(0, 68223, '\p{^inoldsoutharabian}', "");
-Expect(0, 68223, '\P{inoldsoutharabian}', "");
-Expect(1, 68223, '\P{^inoldsoutharabian}', "");
-Expect(0, 68191, '\p{inoldsoutharabian}', "");
-Expect(1, 68191, '\p{^inoldsoutharabian}', "");
-Expect(1, 68191, '\P{inoldsoutharabian}', "");
-Expect(0, 68191, '\P{^inoldsoutharabian}', "");
-Expect(1, 68223, '\p{in-oldSouth Arabian}', "");
-Expect(0, 68223, '\p{^in-oldSouth Arabian}', "");
-Expect(0, 68223, '\P{in-oldSouth Arabian}', "");
-Expect(1, 68223, '\P{^in-oldSouth Arabian}', "");
-Expect(0, 68191, '\p{in-oldSouth Arabian}', "");
-Expect(1, 68191, '\p{^in-oldSouth Arabian}', "");
-Expect(1, 68191, '\P{in-oldSouth Arabian}', "");
-Expect(0, 68191, '\P{^in-oldSouth Arabian}', "");
-Error('\p{- IN kharoshthi:=}');
-Error('\P{- IN kharoshthi:=}');
-Expect(1, 68191, '\p{inkharoshthi}', "");
-Expect(0, 68191, '\p{^inkharoshthi}', "");
-Expect(0, 68191, '\P{inkharoshthi}', "");
-Expect(1, 68191, '\P{^inkharoshthi}', "");
-Expect(0, 68095, '\p{inkharoshthi}', "");
-Expect(1, 68095, '\p{^inkharoshthi}', "");
-Expect(1, 68095, '\P{inkharoshthi}', "");
-Expect(0, 68095, '\P{^inkharoshthi}', "");
-Expect(1, 68191, '\p{_in_kharoshthi}', "");
-Expect(0, 68191, '\p{^_in_kharoshthi}', "");
-Expect(0, 68191, '\P{_in_kharoshthi}', "");
-Expect(1, 68191, '\P{^_in_kharoshthi}', "");
-Expect(0, 68095, '\p{_in_kharoshthi}', "");
-Expect(1, 68095, '\p{^_in_kharoshthi}', "");
-Expect(1, 68095, '\P{_in_kharoshthi}', "");
-Expect(0, 68095, '\P{^_in_kharoshthi}', "");
-Error('\p{-/a/In BAMUM}');
-Error('\P{-/a/In BAMUM}');
-Expect(1, 42751, '\p{inbamum}', "");
-Expect(0, 42751, '\p{^inbamum}', "");
-Expect(0, 42751, '\P{inbamum}', "");
-Expect(1, 42751, '\P{^inbamum}', "");
-Expect(0, 42655, '\p{inbamum}', "");
-Expect(1, 42655, '\p{^inbamum}', "");
-Expect(1, 42655, '\P{inbamum}', "");
-Expect(0, 42655, '\P{^inbamum}', "");
-Expect(1, 42751, '\p{ _In-Bamum}', "");
-Expect(0, 42751, '\p{^ _In-Bamum}', "");
-Expect(0, 42751, '\P{ _In-Bamum}', "");
-Expect(1, 42751, '\P{^ _In-Bamum}', "");
-Expect(0, 42655, '\p{ _In-Bamum}', "");
-Expect(1, 42655, '\p{^ _In-Bamum}', "");
-Expect(1, 42655, '\P{ _In-Bamum}', "");
-Expect(0, 42655, '\P{^ _In-Bamum}', "");
-Error('\p{_ Changes WhenCASEMAPPED/a/}');
-Error('\P{_ Changes WhenCASEMAPPED/a/}');
-Expect(1, 90, '\p{changeswhencasemapped}', "");
-Expect(0, 90, '\p{^changeswhencasemapped}', "");
-Expect(0, 90, '\P{changeswhencasemapped}', "");
-Expect(1, 90, '\P{^changeswhencasemapped}', "");
-Expect(0, 64, '\p{changeswhencasemapped}', "");
-Expect(1, 64, '\p{^changeswhencasemapped}', "");
-Expect(1, 64, '\P{changeswhencasemapped}', "");
-Expect(0, 64, '\P{^changeswhencasemapped}', "");
-Expect(1, 90, '\p{_-Changes-When_casemapped}', "");
-Expect(0, 90, '\p{^_-Changes-When_casemapped}', "");
-Expect(0, 90, '\P{_-Changes-When_casemapped}', "");
-Expect(1, 90, '\P{^_-Changes-When_casemapped}', "");
-Expect(0, 64, '\p{_-Changes-When_casemapped}', "");
-Expect(1, 64, '\p{^_-Changes-When_casemapped}', "");
-Expect(1, 64, '\P{_-Changes-When_casemapped}', "");
-Expect(0, 64, '\P{^_-Changes-When_casemapped}', "");
-Error('\p{ /a/ISChanges WHEN_Casemapped}');
-Error('\P{ /a/ISChanges WHEN_Casemapped}');
-Expect(1, 90, '\p{ischangeswhencasemapped}', "");
-Expect(0, 90, '\p{^ischangeswhencasemapped}', "");
-Expect(0, 90, '\P{ischangeswhencasemapped}', "");
-Expect(1, 90, '\P{^ischangeswhencasemapped}', "");
-Expect(0, 64, '\p{ischangeswhencasemapped}', "");
-Expect(1, 64, '\p{^ischangeswhencasemapped}', "");
-Expect(1, 64, '\P{ischangeswhencasemapped}', "");
-Expect(0, 64, '\P{^ischangeswhencasemapped}', "");
-Expect(1, 90, '\p{ Is-Changes When casemapped}', "");
-Expect(0, 90, '\p{^ Is-Changes When casemapped}', "");
-Expect(0, 90, '\P{ Is-Changes When casemapped}', "");
-Expect(1, 90, '\P{^ Is-Changes When casemapped}', "");
-Expect(0, 64, '\p{ Is-Changes When casemapped}', "");
-Expect(1, 64, '\p{^ Is-Changes When casemapped}', "");
-Expect(1, 64, '\P{ Is-Changes When casemapped}', "");
-Expect(0, 64, '\P{^ Is-Changes When casemapped}', "");
-Error('\p{--CWCM:=}');
-Error('\P{--CWCM:=}');
-Expect(1, 90, '\p{cwcm}', "");
-Expect(0, 90, '\p{^cwcm}', "");
-Expect(0, 90, '\P{cwcm}', "");
-Expect(1, 90, '\P{^cwcm}', "");
-Expect(0, 64, '\p{cwcm}', "");
-Expect(1, 64, '\p{^cwcm}', "");
-Expect(1, 64, '\P{cwcm}', "");
-Expect(0, 64, '\P{^cwcm}', "");
-Expect(1, 90, '\p{ -CWCM}', "");
-Expect(0, 90, '\p{^ -CWCM}', "");
-Expect(0, 90, '\P{ -CWCM}', "");
-Expect(1, 90, '\P{^ -CWCM}', "");
-Expect(0, 64, '\p{ -CWCM}', "");
-Expect(1, 64, '\p{^ -CWCM}', "");
-Expect(1, 64, '\P{ -CWCM}', "");
-Expect(0, 64, '\P{^ -CWCM}', "");
-Error('\p{/a/_is cwcm}');
-Error('\P{/a/_is cwcm}');
-Expect(1, 90, '\p{iscwcm}', "");
-Expect(0, 90, '\p{^iscwcm}', "");
-Expect(0, 90, '\P{iscwcm}', "");
-Expect(1, 90, '\P{^iscwcm}', "");
-Expect(0, 64, '\p{iscwcm}', "");
-Expect(1, 64, '\p{^iscwcm}', "");
-Expect(1, 64, '\P{iscwcm}', "");
-Expect(0, 64, '\P{^iscwcm}', "");
-Expect(1, 90, '\p{_ IS_CWCM}', "");
-Expect(0, 90, '\p{^_ IS_CWCM}', "");
-Expect(0, 90, '\P{_ IS_CWCM}', "");
-Expect(1, 90, '\P{^_ IS_CWCM}', "");
-Expect(0, 64, '\p{_ IS_CWCM}', "");
-Expect(1, 64, '\p{^_ IS_CWCM}', "");
-Expect(1, 64, '\P{_ IS_CWCM}', "");
-Expect(0, 64, '\P{^_ IS_CWCM}', "");
-Error('\p{/a/-Dash}');
-Error('\P{/a/-Dash}');
-Expect(1, 45, '\p{dash}', "");
-Expect(0, 45, '\p{^dash}', "");
-Expect(0, 45, '\P{dash}', "");
-Expect(1, 45, '\P{^dash}', "");
-Expect(0, 44, '\p{dash}', "");
-Expect(1, 44, '\p{^dash}', "");
-Expect(1, 44, '\P{dash}', "");
-Expect(0, 44, '\P{^dash}', "");
-Expect(1, 45, '\p{ -Dash}', "");
-Expect(0, 45, '\p{^ -Dash}', "");
-Expect(0, 45, '\P{ -Dash}', "");
-Expect(1, 45, '\P{^ -Dash}', "");
-Expect(0, 44, '\p{ -Dash}', "");
-Expect(1, 44, '\p{^ -Dash}', "");
-Expect(1, 44, '\P{ -Dash}', "");
-Expect(0, 44, '\P{^ -Dash}', "");
-Error('\p{_is/a/Dash}');
-Error('\P{_is/a/Dash}');
-Expect(1, 45, '\p{isdash}', "");
-Expect(0, 45, '\p{^isdash}', "");
-Expect(0, 45, '\P{isdash}', "");
-Expect(1, 45, '\P{^isdash}', "");
-Expect(0, 44, '\p{isdash}', "");
-Expect(1, 44, '\p{^isdash}', "");
-Expect(1, 44, '\P{isdash}', "");
-Expect(0, 44, '\P{^isdash}', "");
-Expect(1, 45, '\p{ Is_DASH}', "");
-Expect(0, 45, '\p{^ Is_DASH}', "");
-Expect(0, 45, '\P{ Is_DASH}', "");
-Expect(1, 45, '\P{^ Is_DASH}', "");
-Expect(0, 44, '\p{ Is_DASH}', "");
-Expect(1, 44, '\p{^ Is_DASH}', "");
-Expect(1, 44, '\P{ Is_DASH}', "");
-Expect(0, 44, '\P{^ Is_DASH}', "");
-Error('\p{ COUNTING/a/rod numerals}');
-Error('\P{ COUNTING/a/rod numerals}');
-Expect(1, 119679, '\p{countingrodnumerals}', "");
-Expect(0, 119679, '\p{^countingrodnumerals}', "");
-Expect(0, 119679, '\P{countingrodnumerals}', "");
-Expect(1, 119679, '\P{^countingrodnumerals}', "");
-Expect(0, 119647, '\p{countingrodnumerals}', "");
-Expect(1, 119647, '\p{^countingrodnumerals}', "");
-Expect(1, 119647, '\P{countingrodnumerals}', "");
-Expect(0, 119647, '\P{^countingrodnumerals}', "");
-Expect(1, 119679, '\p{ Counting_ROD Numerals}', "");
-Expect(0, 119679, '\p{^ Counting_ROD Numerals}', "");
-Expect(0, 119679, '\P{ Counting_ROD Numerals}', "");
-Expect(1, 119679, '\P{^ Counting_ROD Numerals}', "");
-Expect(0, 119647, '\p{ Counting_ROD Numerals}', "");
-Expect(1, 119647, '\p{^ Counting_ROD Numerals}', "");
-Expect(1, 119647, '\P{ Counting_ROD Numerals}', "");
-Expect(0, 119647, '\P{^ Counting_ROD Numerals}', "");
-Error('\p{/a/ Is_counting Rod_Numerals}');
-Error('\P{/a/ Is_counting Rod_Numerals}');
-Expect(1, 119679, '\p{iscountingrodnumerals}', "");
-Expect(0, 119679, '\p{^iscountingrodnumerals}', "");
-Expect(0, 119679, '\P{iscountingrodnumerals}', "");
-Expect(1, 119679, '\P{^iscountingrodnumerals}', "");
-Expect(0, 119647, '\p{iscountingrodnumerals}', "");
-Expect(1, 119647, '\p{^iscountingrodnumerals}', "");
-Expect(1, 119647, '\P{iscountingrodnumerals}', "");
-Expect(0, 119647, '\P{^iscountingrodnumerals}', "");
-Expect(1, 119679, '\p{ _is_countingRodNUMERALS}', "");
-Expect(0, 119679, '\p{^ _is_countingRodNUMERALS}', "");
-Expect(0, 119679, '\P{ _is_countingRodNUMERALS}', "");
-Expect(1, 119679, '\P{^ _is_countingRodNUMERALS}', "");
-Expect(0, 119647, '\p{ _is_countingRodNUMERALS}', "");
-Expect(1, 119647, '\p{^ _is_countingRodNUMERALS}', "");
-Expect(1, 119647, '\P{ _is_countingRodNUMERALS}', "");
-Expect(0, 119647, '\P{^ _is_countingRodNUMERALS}', "");
-Error('\p{ _In-counting/a/rod-Numerals}');
-Error('\P{ _In-counting/a/rod-Numerals}');
-Expect(1, 119679, '\p{incountingrodnumerals}', "");
-Expect(0, 119679, '\p{^incountingrodnumerals}', "");
-Expect(0, 119679, '\P{incountingrodnumerals}', "");
-Expect(1, 119679, '\P{^incountingrodnumerals}', "");
-Expect(0, 119647, '\p{incountingrodnumerals}', "");
-Expect(1, 119647, '\p{^incountingrodnumerals}', "");
-Expect(1, 119647, '\P{incountingrodnumerals}', "");
-Expect(0, 119647, '\P{^incountingrodnumerals}', "");
-Expect(1, 119679, '\p{ _In_Counting-rod-Numerals}', "");
-Expect(0, 119679, '\p{^ _In_Counting-rod-Numerals}', "");
-Expect(0, 119679, '\P{ _In_Counting-rod-Numerals}', "");
-Expect(1, 119679, '\P{^ _In_Counting-rod-Numerals}', "");
-Expect(0, 119647, '\p{ _In_Counting-rod-Numerals}', "");
-Expect(1, 119647, '\p{^ _In_Counting-rod-Numerals}', "");
-Expect(1, 119647, '\P{ _In_Counting-rod-Numerals}', "");
-Expect(0, 119647, '\P{^ _In_Counting-rod-Numerals}', "");
-Error('\p{ Enclosed AlphanumericSUPPLEMENT:=}');
-Error('\P{ Enclosed AlphanumericSUPPLEMENT:=}');
-Expect(1, 127487, '\p{enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{ -enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^ -enclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{ -enclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^ -enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{ -enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^ -enclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{ -enclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^ -enclosedalphanumericsupplement}', "");
-Error('\p{:=IS-Enclosed_alphanumeric supplement}');
-Error('\P{:=IS-Enclosed_alphanumeric supplement}');
-Expect(1, 127487, '\p{isenclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^isenclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{isenclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^isenclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{isenclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^isenclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{isenclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^isenclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(0, 127487, '\p{^is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(0, 127487, '\P{is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(1, 127487, '\P{^is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(0, 127231, '\p{is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(1, 127231, '\p{^is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(1, 127231, '\P{is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Expect(0, 127231, '\P{^is ENCLOSED-AlphanumericSUPPLEMENT}', "");
-Error('\p{ :=In_ENCLOSED Alphanumeric Supplement}');
-Error('\P{ :=In_ENCLOSED Alphanumeric Supplement}');
-Expect(1, 127487, '\p{inenclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\p{^inenclosedalphanumericsupplement}', "");
-Expect(0, 127487, '\P{inenclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\P{^inenclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\p{inenclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\p{^inenclosedalphanumericsupplement}', "");
-Expect(1, 127231, '\P{inenclosedalphanumericsupplement}', "");
-Expect(0, 127231, '\P{^inenclosedalphanumericsupplement}', "");
-Expect(1, 127487, '\p{_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(0, 127487, '\p{^_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(0, 127487, '\P{_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(1, 127487, '\P{^_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(0, 127231, '\p{_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(1, 127231, '\p{^_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(1, 127231, '\P{_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Expect(0, 127231, '\P{^_-IN-ENCLOSEDAlphanumericSupplement}', "");
-Error('\p{-IN tamil/a/}');
-Error('\P{-IN tamil/a/}');
-Expect(1, 3071, '\p{intamil}', "");
-Expect(0, 3071, '\p{^intamil}', "");
-Expect(0, 3071, '\P{intamil}', "");
-Expect(1, 3071, '\P{^intamil}', "");
-Expect(0, 2943, '\p{intamil}', "");
-Expect(1, 2943, '\p{^intamil}', "");
-Expect(1, 2943, '\P{intamil}', "");
-Expect(0, 2943, '\P{^intamil}', "");
-Expect(1, 3071, '\p{_ InTAMIL}', "");
-Expect(0, 3071, '\p{^_ InTAMIL}', "");
-Expect(0, 3071, '\P{_ InTAMIL}', "");
-Expect(1, 3071, '\P{^_ InTAMIL}', "");
-Expect(0, 2943, '\p{_ InTAMIL}', "");
-Expect(1, 2943, '\p{^_ InTAMIL}', "");
-Expect(1, 2943, '\P{_ InTAMIL}', "");
-Expect(0, 2943, '\P{^_ InTAMIL}', "");
-Error('\p{ :=In ETHIOPIC}');
-Error('\P{ :=In ETHIOPIC}');
-Expect(1, 4991, '\p{inethiopic}', "");
-Expect(0, 4991, '\p{^inethiopic}', "");
-Expect(0, 4991, '\P{inethiopic}', "");
-Expect(1, 4991, '\P{^inethiopic}', "");
-Expect(0, 4607, '\p{inethiopic}', "");
-Expect(1, 4607, '\p{^inethiopic}', "");
-Expect(1, 4607, '\P{inethiopic}', "");
-Expect(0, 4607, '\P{^inethiopic}', "");
-Expect(1, 4991, '\p{__inETHIOPIC}', "");
-Expect(0, 4991, '\p{^__inETHIOPIC}', "");
-Expect(0, 4991, '\P{__inETHIOPIC}', "");
-Expect(1, 4991, '\P{^__inETHIOPIC}', "");
-Expect(0, 4607, '\p{__inETHIOPIC}', "");
-Expect(1, 4607, '\p{^__inETHIOPIC}', "");
-Expect(1, 4607, '\P{__inETHIOPIC}', "");
-Expect(0, 4607, '\P{^__inETHIOPIC}', "");
-Error('\p{-inTai:=Le}');
-Error('\P{-inTai:=Le}');
-Expect(1, 6527, '\p{intaile}', "");
-Expect(0, 6527, '\p{^intaile}', "");
-Expect(0, 6527, '\P{intaile}', "");
-Expect(1, 6527, '\P{^intaile}', "");
-Expect(0, 6479, '\p{intaile}', "");
-Expect(1, 6479, '\p{^intaile}', "");
-Expect(1, 6479, '\P{intaile}', "");
-Expect(0, 6479, '\P{^intaile}', "");
-Expect(1, 6527, '\p{__IN TAILE}', "");
-Expect(0, 6527, '\p{^__IN TAILE}', "");
-Expect(0, 6527, '\P{__IN TAILE}', "");
-Expect(1, 6527, '\P{^__IN TAILE}', "");
-Expect(0, 6479, '\p{__IN TAILE}', "");
-Expect(1, 6479, '\p{^__IN TAILE}', "");
-Expect(1, 6479, '\P{__IN TAILE}', "");
-Expect(0, 6479, '\P{^__IN TAILE}', "");
-Error('\p{:= _kangxi radicals}');
-Error('\P{:= _kangxi radicals}');
-Expect(1, 12255, '\p{kangxiradicals}', "");
-Expect(0, 12255, '\p{^kangxiradicals}', "");
-Expect(0, 12255, '\P{kangxiradicals}', "");
-Expect(1, 12255, '\P{^kangxiradicals}', "");
-Expect(0, 12031, '\p{kangxiradicals}', "");
-Expect(1, 12031, '\p{^kangxiradicals}', "");
-Expect(1, 12031, '\P{kangxiradicals}', "");
-Expect(0, 12031, '\P{^kangxiradicals}', "");
-Expect(1, 12255, '\p{_KANGXIRadicals}', "");
-Expect(0, 12255, '\p{^_KANGXIRadicals}', "");
-Expect(0, 12255, '\P{_KANGXIRadicals}', "");
-Expect(1, 12255, '\P{^_KANGXIRadicals}', "");
-Expect(0, 12031, '\p{_KANGXIRadicals}', "");
-Expect(1, 12031, '\p{^_KANGXIRadicals}', "");
-Expect(1, 12031, '\P{_KANGXIRadicals}', "");
-Expect(0, 12031, '\P{^_KANGXIRadicals}', "");
-Error('\p{_:=IS_kangxi-radicals}');
-Error('\P{_:=IS_kangxi-radicals}');
-Expect(1, 12255, '\p{iskangxiradicals}', "");
-Expect(0, 12255, '\p{^iskangxiradicals}', "");
-Expect(0, 12255, '\P{iskangxiradicals}', "");
-Expect(1, 12255, '\P{^iskangxiradicals}', "");
-Expect(0, 12031, '\p{iskangxiradicals}', "");
-Expect(1, 12031, '\p{^iskangxiradicals}', "");
-Expect(1, 12031, '\P{iskangxiradicals}', "");
-Expect(0, 12031, '\P{^iskangxiradicals}', "");
-Expect(1, 12255, '\p{ Is KANGXI Radicals}', "");
-Expect(0, 12255, '\p{^ Is KANGXI Radicals}', "");
-Expect(0, 12255, '\P{ Is KANGXI Radicals}', "");
-Expect(1, 12255, '\P{^ Is KANGXI Radicals}', "");
-Expect(0, 12031, '\p{ Is KANGXI Radicals}', "");
-Expect(1, 12031, '\p{^ Is KANGXI Radicals}', "");
-Expect(1, 12031, '\P{ Is KANGXI Radicals}', "");
-Expect(0, 12031, '\P{^ Is KANGXI Radicals}', "");
-Error('\p{_ In-Kangxi_RADICALS/a/}');
-Error('\P{_ In-Kangxi_RADICALS/a/}');
-Expect(1, 12255, '\p{inkangxiradicals}', "");
-Expect(0, 12255, '\p{^inkangxiradicals}', "");
-Expect(0, 12255, '\P{inkangxiradicals}', "");
-Expect(1, 12255, '\P{^inkangxiradicals}', "");
-Expect(0, 12031, '\p{inkangxiradicals}', "");
-Expect(1, 12031, '\p{^inkangxiradicals}', "");
-Expect(1, 12031, '\P{inkangxiradicals}', "");
-Expect(0, 12031, '\P{^inkangxiradicals}', "");
-Expect(1, 12255, '\p{_In KANGXI Radicals}', "");
-Expect(0, 12255, '\p{^_In KANGXI Radicals}', "");
-Expect(0, 12255, '\P{_In KANGXI Radicals}', "");
-Expect(1, 12255, '\P{^_In KANGXI Radicals}', "");
-Expect(0, 12031, '\p{_In KANGXI Radicals}', "");
-Expect(1, 12031, '\p{^_In KANGXI Radicals}', "");
-Expect(1, 12031, '\P{_In KANGXI Radicals}', "");
-Expect(0, 12031, '\P{^_In KANGXI Radicals}', "");
-Error('\p{ IN Hebrew:=}');
-Error('\P{ IN Hebrew:=}');
-Expect(1, 1535, '\p{inhebrew}', "");
-Expect(0, 1535, '\p{^inhebrew}', "");
-Expect(0, 1535, '\P{inhebrew}', "");
-Expect(1, 1535, '\P{^inhebrew}', "");
-Expect(0, 1423, '\p{inhebrew}', "");
-Expect(1, 1423, '\p{^inhebrew}', "");
-Expect(1, 1423, '\P{inhebrew}', "");
-Expect(0, 1423, '\P{^inhebrew}', "");
-Expect(1, 1535, '\p{ In_Hebrew}', "");
-Expect(0, 1535, '\p{^ In_Hebrew}', "");
-Expect(0, 1535, '\P{ In_Hebrew}', "");
-Expect(1, 1535, '\P{^ In_Hebrew}', "");
-Expect(0, 1423, '\p{ In_Hebrew}', "");
-Expect(1, 1423, '\p{^ In_Hebrew}', "");
-Expect(1, 1423, '\P{ In_Hebrew}', "");
-Expect(0, 1423, '\P{^ In_Hebrew}', "");
-Error('\p{ In/a/INSCRIPTIONAL parthian}');
-Error('\P{ In/a/INSCRIPTIONAL parthian}');
-Expect(1, 68447, '\p{ininscriptionalparthian}', "");
-Expect(0, 68447, '\p{^ininscriptionalparthian}', "");
-Expect(0, 68447, '\P{ininscriptionalparthian}', "");
-Expect(1, 68447, '\P{^ininscriptionalparthian}', "");
-Expect(0, 68415, '\p{ininscriptionalparthian}', "");
-Expect(1, 68415, '\p{^ininscriptionalparthian}', "");
-Expect(1, 68415, '\P{ininscriptionalparthian}', "");
-Expect(0, 68415, '\P{^ininscriptionalparthian}', "");
-Expect(1, 68447, '\p{ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68447, '\p{^ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68447, '\P{ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(1, 68447, '\P{^ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68415, '\p{ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(1, 68415, '\p{^ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(1, 68415, '\P{ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Expect(0, 68415, '\P{^ IN-INSCRIPTIONAL-PARTHIAN}', "");
-Error('\p{ In NEW:=tai lue}');
-Error('\P{ In NEW:=tai lue}');
-Expect(1, 6623, '\p{innewtailue}', "");
-Expect(0, 6623, '\p{^innewtailue}', "");
-Expect(0, 6623, '\P{innewtailue}', "");
-Expect(1, 6623, '\P{^innewtailue}', "");
-Expect(0, 6527, '\p{innewtailue}', "");
-Expect(1, 6527, '\p{^innewtailue}', "");
-Expect(1, 6527, '\P{innewtailue}', "");
-Expect(0, 6527, '\P{^innewtailue}', "");
-Expect(1, 6623, '\p{ _In-New-TAI lue}', "");
-Expect(0, 6623, '\p{^ _In-New-TAI lue}', "");
-Expect(0, 6623, '\P{ _In-New-TAI lue}', "");
-Expect(1, 6623, '\P{^ _In-New-TAI lue}', "");
-Expect(0, 6527, '\p{ _In-New-TAI lue}', "");
-Expect(1, 6527, '\p{^ _In-New-TAI lue}', "");
-Expect(1, 6527, '\P{ _In-New-TAI lue}', "");
-Expect(0, 6527, '\P{^ _In-New-TAI lue}', "");
-Error('\p{__In-IMPERIAL:=aramaic}');
-Error('\P{__In-IMPERIAL:=aramaic}');
-Expect(1, 67679, '\p{inimperialaramaic}', "");
-Expect(0, 67679, '\p{^inimperialaramaic}', "");
-Expect(0, 67679, '\P{inimperialaramaic}', "");
-Expect(1, 67679, '\P{^inimperialaramaic}', "");
-Expect(0, 67647, '\p{inimperialaramaic}', "");
-Expect(1, 67647, '\p{^inimperialaramaic}', "");
-Expect(1, 67647, '\P{inimperialaramaic}', "");
-Expect(0, 67647, '\P{^inimperialaramaic}', "");
-Expect(1, 67679, '\p{ in-Imperial Aramaic}', "");
-Expect(0, 67679, '\p{^ in-Imperial Aramaic}', "");
-Expect(0, 67679, '\P{ in-Imperial Aramaic}', "");
-Expect(1, 67679, '\P{^ in-Imperial Aramaic}', "");
-Expect(0, 67647, '\p{ in-Imperial Aramaic}', "");
-Expect(1, 67647, '\p{^ in-Imperial Aramaic}', "");
-Expect(1, 67647, '\P{ in-Imperial Aramaic}', "");
-Expect(0, 67647, '\P{^ in-Imperial Aramaic}', "");
-Error('\p{_ cjk:=Compatibility forms}');
-Error('\P{_ cjk:=Compatibility forms}');
-Expect(1, 65103, '\p{cjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^cjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{cjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^cjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{cjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^cjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{cjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^cjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{- CJK Compatibility FORMS}', "");
-Expect(0, 65103, '\p{^- CJK Compatibility FORMS}', "");
-Expect(0, 65103, '\P{- CJK Compatibility FORMS}', "");
-Expect(1, 65103, '\P{^- CJK Compatibility FORMS}', "");
-Expect(0, 65071, '\p{- CJK Compatibility FORMS}', "");
-Expect(1, 65071, '\p{^- CJK Compatibility FORMS}', "");
-Expect(1, 65071, '\P{- CJK Compatibility FORMS}', "");
-Expect(0, 65071, '\P{^- CJK Compatibility FORMS}', "");
-Error('\p{ is cjk/a/COMPATIBILITY Forms}');
-Error('\P{ is cjk/a/COMPATIBILITY Forms}');
-Expect(1, 65103, '\p{iscjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^iscjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{iscjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^iscjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{iscjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^iscjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{iscjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^iscjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{-_IS-CJK_Compatibility-FORMS}', "");
-Expect(0, 65103, '\p{^-_IS-CJK_Compatibility-FORMS}', "");
-Expect(0, 65103, '\P{-_IS-CJK_Compatibility-FORMS}', "");
-Expect(1, 65103, '\P{^-_IS-CJK_Compatibility-FORMS}', "");
-Expect(0, 65071, '\p{-_IS-CJK_Compatibility-FORMS}', "");
-Expect(1, 65071, '\p{^-_IS-CJK_Compatibility-FORMS}', "");
-Expect(1, 65071, '\P{-_IS-CJK_Compatibility-FORMS}', "");
-Expect(0, 65071, '\P{^-_IS-CJK_Compatibility-FORMS}', "");
-Error('\p{_In/a/CJK Compatibility_FORMS}');
-Error('\P{_In/a/CJK Compatibility_FORMS}');
-Expect(1, 65103, '\p{incjkcompatibilityforms}', "");
-Expect(0, 65103, '\p{^incjkcompatibilityforms}', "");
-Expect(0, 65103, '\P{incjkcompatibilityforms}', "");
-Expect(1, 65103, '\P{^incjkcompatibilityforms}', "");
-Expect(0, 65071, '\p{incjkcompatibilityforms}', "");
-Expect(1, 65071, '\p{^incjkcompatibilityforms}', "");
-Expect(1, 65071, '\P{incjkcompatibilityforms}', "");
-Expect(0, 65071, '\P{^incjkcompatibilityforms}', "");
-Expect(1, 65103, '\p{ InCJK compatibility forms}', "");
-Expect(0, 65103, '\p{^ InCJK compatibility forms}', "");
-Expect(0, 65103, '\P{ InCJK compatibility forms}', "");
-Expect(1, 65103, '\P{^ InCJK compatibility forms}', "");
-Expect(0, 65071, '\p{ InCJK compatibility forms}', "");
-Expect(1, 65071, '\p{^ InCJK compatibility forms}', "");
-Expect(1, 65071, '\P{ InCJK compatibility forms}', "");
-Expect(0, 65071, '\P{^ InCJK compatibility forms}', "");
-Error('\p{__In:=Saurashtra}');
-Error('\P{__In:=Saurashtra}');
-Expect(1, 43231, '\p{insaurashtra}', "");
-Expect(0, 43231, '\p{^insaurashtra}', "");
-Expect(0, 43231, '\P{insaurashtra}', "");
-Expect(1, 43231, '\P{^insaurashtra}', "");
-Expect(0, 43135, '\p{insaurashtra}', "");
-Expect(1, 43135, '\p{^insaurashtra}', "");
-Expect(1, 43135, '\P{insaurashtra}', "");
-Expect(0, 43135, '\P{^insaurashtra}', "");
-Expect(1, 43231, '\p{_-Insaurashtra}', "");
-Expect(0, 43231, '\p{^_-Insaurashtra}', "");
-Expect(0, 43231, '\P{_-Insaurashtra}', "");
-Expect(1, 43231, '\P{^_-Insaurashtra}', "");
-Expect(0, 43135, '\p{_-Insaurashtra}', "");
-Expect(1, 43135, '\p{^_-Insaurashtra}', "");
-Expect(1, 43135, '\P{_-Insaurashtra}', "");
-Expect(0, 43135, '\P{^_-Insaurashtra}', "");
-Error('\p{- In/a/Gujarati}');
-Error('\P{- In/a/Gujarati}');
-Expect(1, 2815, '\p{ingujarati}', "");
-Expect(0, 2815, '\p{^ingujarati}', "");
-Expect(0, 2815, '\P{ingujarati}', "");
-Expect(1, 2815, '\P{^ingujarati}', "");
-Expect(0, 2687, '\p{ingujarati}', "");
-Expect(1, 2687, '\p{^ingujarati}', "");
-Expect(1, 2687, '\P{ingujarati}', "");
-Expect(0, 2687, '\P{^ingujarati}', "");
-Expect(1, 2815, '\p{_ in GUJARATI}', "");
-Expect(0, 2815, '\p{^_ in GUJARATI}', "");
-Expect(0, 2815, '\P{_ in GUJARATI}', "");
-Expect(1, 2815, '\P{^_ in GUJARATI}', "");
-Expect(0, 2687, '\p{_ in GUJARATI}', "");
-Expect(1, 2687, '\p{^_ in GUJARATI}', "");
-Expect(1, 2687, '\P{_ in GUJARATI}', "");
-Expect(0, 2687, '\P{^_ in GUJARATI}', "");
-Error('\p{-_In/a/Osmanya}');
-Error('\P{-_In/a/Osmanya}');
-Expect(1, 66735, '\p{inosmanya}', "");
-Expect(0, 66735, '\p{^inosmanya}', "");
-Expect(0, 66735, '\P{inosmanya}', "");
-Expect(1, 66735, '\P{^inosmanya}', "");
-Expect(0, 66687, '\p{inosmanya}', "");
-Expect(1, 66687, '\p{^inosmanya}', "");
-Expect(1, 66687, '\P{inosmanya}', "");
-Expect(0, 66687, '\P{^inosmanya}', "");
-Expect(1, 66735, '\p{-_In Osmanya}', "");
-Expect(0, 66735, '\p{^-_In Osmanya}', "");
-Expect(0, 66735, '\P{-_In Osmanya}', "");
-Expect(1, 66735, '\P{^-_In Osmanya}', "");
-Expect(0, 66687, '\p{-_In Osmanya}', "");
-Expect(1, 66687, '\p{^-_In Osmanya}', "");
-Expect(1, 66687, '\P{-_In Osmanya}', "");
-Expect(0, 66687, '\P{^-_In Osmanya}', "");
-Error('\p{/a/-In-Tifinagh}');
-Error('\P{/a/-In-Tifinagh}');
-Expect(1, 11647, '\p{intifinagh}', "");
-Expect(0, 11647, '\p{^intifinagh}', "");
-Expect(0, 11647, '\P{intifinagh}', "");
-Expect(1, 11647, '\P{^intifinagh}', "");
-Expect(0, 11567, '\p{intifinagh}', "");
-Expect(1, 11567, '\p{^intifinagh}', "");
-Expect(1, 11567, '\P{intifinagh}', "");
-Expect(0, 11567, '\P{^intifinagh}', "");
-Expect(1, 11647, '\p{ -In-tifinagh}', "");
-Expect(0, 11647, '\p{^ -In-tifinagh}', "");
-Expect(0, 11647, '\P{ -In-tifinagh}', "");
-Expect(1, 11647, '\P{^ -In-tifinagh}', "");
-Expect(0, 11567, '\p{ -In-tifinagh}', "");
-Expect(1, 11567, '\p{^ -In-tifinagh}', "");
-Expect(1, 11567, '\P{ -In-tifinagh}', "");
-Expect(0, 11567, '\P{^ -In-tifinagh}', "");
-Error('\p{ POSIXPRINT/a/}');
-Error('\P{ POSIXPRINT/a/}');
-Expect(1, 126, '\p{posixprint}', "");
-Expect(0, 126, '\p{^posixprint}', "");
-Expect(0, 126, '\P{posixprint}', "");
-Expect(1, 126, '\P{^posixprint}', "");
-Expect(0, 31, '\p{posixprint}', "");
-Expect(1, 31, '\p{^posixprint}', "");
-Expect(1, 31, '\P{posixprint}', "");
-Expect(0, 31, '\P{^posixprint}', "");
-Expect(1, 126, '\p{ PosixPrint}', "");
-Expect(0, 126, '\p{^ PosixPrint}', "");
-Expect(0, 126, '\P{ PosixPrint}', "");
-Expect(1, 126, '\P{^ PosixPrint}', "");
-Expect(0, 31, '\p{ PosixPrint}', "");
-Expect(1, 31, '\p{^ PosixPrint}', "");
-Expect(1, 31, '\P{ PosixPrint}', "");
-Expect(0, 31, '\P{^ PosixPrint}', "");
-Error('\p{ _Is:=posixprint}');
-Error('\P{ _Is:=posixprint}');
-Expect(1, 126, '\p{isposixprint}', "");
-Expect(0, 126, '\p{^isposixprint}', "");
-Expect(0, 126, '\P{isposixprint}', "");
-Expect(1, 126, '\P{^isposixprint}', "");
-Expect(0, 31, '\p{isposixprint}', "");
-Expect(1, 31, '\p{^isposixprint}', "");
-Expect(1, 31, '\P{isposixprint}', "");
-Expect(0, 31, '\P{^isposixprint}', "");
-Expect(1, 126, '\p{ is PosixPrint}', "");
-Expect(0, 126, '\p{^ is PosixPrint}', "");
-Expect(0, 126, '\P{ is PosixPrint}', "");
-Expect(1, 126, '\P{^ is PosixPrint}', "");
-Expect(0, 31, '\p{ is PosixPrint}', "");
-Expect(1, 31, '\p{^ is PosixPrint}', "");
-Expect(1, 31, '\P{ is PosixPrint}', "");
-Expect(0, 31, '\P{^ is PosixPrint}', "");
-Error('\p{ In-hanunoo/a/}');
-Error('\P{ In-hanunoo/a/}');
-Expect(1, 5951, '\p{inhanunoo}', "");
-Expect(0, 5951, '\p{^inhanunoo}', "");
-Expect(0, 5951, '\P{inhanunoo}', "");
-Expect(1, 5951, '\P{^inhanunoo}', "");
-Expect(0, 5919, '\p{inhanunoo}', "");
-Expect(1, 5919, '\p{^inhanunoo}', "");
-Expect(1, 5919, '\P{inhanunoo}', "");
-Expect(0, 5919, '\P{^inhanunoo}', "");
-Expect(1, 5951, '\p{- In Hanunoo}', "");
-Expect(0, 5951, '\p{^- In Hanunoo}', "");
-Expect(0, 5951, '\P{- In Hanunoo}', "");
-Expect(1, 5951, '\P{^- In Hanunoo}', "");
-Expect(0, 5919, '\p{- In Hanunoo}', "");
-Expect(1, 5919, '\p{^- In Hanunoo}', "");
-Expect(1, 5919, '\P{- In Hanunoo}', "");
-Expect(0, 5919, '\P{^- In Hanunoo}', "");
-Error('\p{- in_Cyrillic:=}');
-Error('\P{- in_Cyrillic:=}');
-Expect(1, 1279, '\p{incyrillic}', "");
-Expect(0, 1279, '\p{^incyrillic}', "");
-Expect(0, 1279, '\P{incyrillic}', "");
-Expect(1, 1279, '\P{^incyrillic}', "");
-Expect(0, 1023, '\p{incyrillic}', "");
-Expect(1, 1023, '\p{^incyrillic}', "");
-Expect(1, 1023, '\P{incyrillic}', "");
-Expect(0, 1023, '\P{^incyrillic}', "");
-Expect(1, 1279, '\p{ IN CYRILLIC}', "");
-Expect(0, 1279, '\p{^ IN CYRILLIC}', "");
-Expect(0, 1279, '\P{ IN CYRILLIC}', "");
-Expect(1, 1279, '\P{^ IN CYRILLIC}', "");
-Expect(0, 1023, '\p{ IN CYRILLIC}', "");
-Expect(1, 1023, '\p{^ IN CYRILLIC}', "");
-Expect(1, 1023, '\P{ IN CYRILLIC}', "");
-Expect(0, 1023, '\P{^ IN CYRILLIC}', "");
-Error('\p{-In BUHID/a/}');
-Error('\P{-In BUHID/a/}');
-Expect(1, 5983, '\p{inbuhid}', "");
-Expect(0, 5983, '\p{^inbuhid}', "");
-Expect(0, 5983, '\P{inbuhid}', "");
-Expect(1, 5983, '\P{^inbuhid}', "");
-Expect(0, 5951, '\p{inbuhid}', "");
-Expect(1, 5951, '\p{^inbuhid}', "");
-Expect(1, 5951, '\P{inbuhid}', "");
-Expect(0, 5951, '\P{^inbuhid}', "");
-Expect(1, 5983, '\p{ _InBUHID}', "");
-Expect(0, 5983, '\p{^ _InBUHID}', "");
-Expect(0, 5983, '\P{ _InBUHID}', "");
-Expect(1, 5983, '\P{^ _InBUHID}', "");
-Expect(0, 5951, '\p{ _InBUHID}', "");
-Expect(1, 5951, '\p{^ _InBUHID}', "");
-Expect(1, 5951, '\P{ _InBUHID}', "");
-Expect(0, 5951, '\P{^ _InBUHID}', "");
-Error('\p{-_in Runic:=}');
-Error('\P{-_in Runic:=}');
-Expect(1, 5887, '\p{inrunic}', "");
-Expect(0, 5887, '\p{^inrunic}', "");
-Expect(0, 5887, '\P{inrunic}', "");
-Expect(1, 5887, '\P{^inrunic}', "");
-Expect(0, 5791, '\p{inrunic}', "");
-Expect(1, 5791, '\p{^inrunic}', "");
-Expect(1, 5791, '\P{inrunic}', "");
-Expect(0, 5791, '\P{^inrunic}', "");
-Expect(1, 5887, '\p{ InRunic}', "");
-Expect(0, 5887, '\p{^ InRunic}', "");
-Expect(0, 5887, '\P{ InRunic}', "");
-Expect(1, 5887, '\P{^ InRunic}', "");
-Expect(0, 5791, '\p{ InRunic}', "");
-Expect(1, 5791, '\p{^ InRunic}', "");
-Expect(1, 5791, '\P{ InRunic}', "");
-Expect(0, 5791, '\P{^ InRunic}', "");
-Error('\p{IDS_Binary_Operator=/a/ -Yes}');
-Error('\P{IDS_Binary_Operator=/a/ -Yes}');
-Expect(1, 12273, '\p{IDS_Binary_Operator=yes}', "");
-Expect(0, 12273, '\p{^IDS_Binary_Operator=yes}', "");
-Expect(0, 12273, '\P{IDS_Binary_Operator=yes}', "");
-Expect(1, 12273, '\P{^IDS_Binary_Operator=yes}', "");
-Expect(0, 12271, '\p{IDS_Binary_Operator=yes}', "");
-Expect(1, 12271, '\p{^IDS_Binary_Operator=yes}', "");
-Expect(1, 12271, '\P{IDS_Binary_Operator=yes}', "");
-Expect(0, 12271, '\P{^IDS_Binary_Operator=yes}', "");
-Expect(1, 12273, '\p{IDS_Binary_Operator=_yes}', "");
-Expect(0, 12273, '\p{^IDS_Binary_Operator=_yes}', "");
-Expect(0, 12273, '\P{IDS_Binary_Operator=_yes}', "");
-Expect(1, 12273, '\P{^IDS_Binary_Operator=_yes}', "");
-Expect(0, 12271, '\p{IDS_Binary_Operator=_yes}', "");
-Expect(1, 12271, '\p{^IDS_Binary_Operator=_yes}', "");
-Expect(1, 12271, '\P{IDS_Binary_Operator=_yes}', "");
-Expect(0, 12271, '\P{^IDS_Binary_Operator=_yes}', "");
-Error('\p{IDSB=/a/y}');
-Error('\P{IDSB=/a/y}');
-Expect(1, 12273, '\p{IDSB=y}', "");
-Expect(0, 12273, '\p{^IDSB=y}', "");
-Expect(0, 12273, '\P{IDSB=y}', "");
-Expect(1, 12273, '\P{^IDSB=y}', "");
-Expect(0, 12271, '\p{IDSB=y}', "");
-Expect(1, 12271, '\p{^IDSB=y}', "");
-Expect(1, 12271, '\P{IDSB=y}', "");
-Expect(0, 12271, '\P{^IDSB=y}', "");
-Expect(1, 12273, '\p{IDSB=_Y}', "");
-Expect(0, 12273, '\p{^IDSB=_Y}', "");
-Expect(0, 12273, '\P{IDSB=_Y}', "");
-Expect(1, 12273, '\P{^IDSB=_Y}', "");
-Expect(0, 12271, '\p{IDSB=_Y}', "");
-Expect(1, 12271, '\p{^IDSB=_Y}', "");
-Expect(1, 12271, '\P{IDSB=_Y}', "");
-Expect(0, 12271, '\P{^IDSB=_Y}', "");
-Error('\p{Is_IDS_Binary_Operator=/a/--T}');
-Error('\P{Is_IDS_Binary_Operator=/a/--T}');
-Expect(1, 12273, '\p{Is_IDS_Binary_Operator=t}', "");
-Expect(0, 12273, '\p{^Is_IDS_Binary_Operator=t}', "");
-Expect(0, 12273, '\P{Is_IDS_Binary_Operator=t}', "");
-Expect(1, 12273, '\P{^Is_IDS_Binary_Operator=t}', "");
-Expect(0, 12271, '\p{Is_IDS_Binary_Operator=t}', "");
-Expect(1, 12271, '\p{^Is_IDS_Binary_Operator=t}', "");
-Expect(1, 12271, '\P{Is_IDS_Binary_Operator=t}', "");
-Expect(0, 12271, '\P{^Is_IDS_Binary_Operator=t}', "");
-Expect(1, 12273, '\p{Is_IDS_Binary_Operator= _T}', "");
-Expect(0, 12273, '\p{^Is_IDS_Binary_Operator= _T}', "");
-Expect(0, 12273, '\P{Is_IDS_Binary_Operator= _T}', "");
-Expect(1, 12273, '\P{^Is_IDS_Binary_Operator= _T}', "");
-Expect(0, 12271, '\p{Is_IDS_Binary_Operator= _T}', "");
-Expect(1, 12271, '\p{^Is_IDS_Binary_Operator= _T}', "");
-Expect(1, 12271, '\P{Is_IDS_Binary_Operator= _T}', "");
-Expect(0, 12271, '\P{^Is_IDS_Binary_Operator= _T}', "");
-Error('\p{Is_IDSB=- TRUE:=}');
-Error('\P{Is_IDSB=- TRUE:=}');
-Expect(1, 12273, '\p{Is_IDSB=true}', "");
-Expect(0, 12273, '\p{^Is_IDSB=true}', "");
-Expect(0, 12273, '\P{Is_IDSB=true}', "");
-Expect(1, 12273, '\P{^Is_IDSB=true}', "");
-Expect(0, 12271, '\p{Is_IDSB=true}', "");
-Expect(1, 12271, '\p{^Is_IDSB=true}', "");
-Expect(1, 12271, '\P{Is_IDSB=true}', "");
-Expect(0, 12271, '\P{^Is_IDSB=true}', "");
-Expect(1, 12273, '\p{Is_IDSB: TRUE}', "");
-Expect(0, 12273, '\p{^Is_IDSB: TRUE}', "");
-Expect(0, 12273, '\P{Is_IDSB: TRUE}', "");
-Expect(1, 12273, '\P{^Is_IDSB: TRUE}', "");
-Expect(0, 12271, '\p{Is_IDSB: TRUE}', "");
-Expect(1, 12271, '\p{^Is_IDSB: TRUE}', "");
-Expect(1, 12271, '\P{Is_IDSB: TRUE}', "");
-Expect(0, 12271, '\P{^Is_IDSB: TRUE}', "");
-Error('\p{IDS_Binary_Operator=/a/_no}');
-Error('\P{IDS_Binary_Operator=/a/_no}');
-Expect(1, 12271, '\p{IDS_Binary_Operator=no}', "");
-Expect(0, 12271, '\p{^IDS_Binary_Operator=no}', "");
-Expect(0, 12271, '\P{IDS_Binary_Operator=no}', "");
-Expect(1, 12271, '\P{^IDS_Binary_Operator=no}', "");
-Expect(0, 12273, '\p{IDS_Binary_Operator=no}', "");
-Expect(1, 12273, '\p{^IDS_Binary_Operator=no}', "");
-Expect(1, 12273, '\P{IDS_Binary_Operator=no}', "");
-Expect(0, 12273, '\P{^IDS_Binary_Operator=no}', "");
-Expect(1, 12271, '\p{IDS_Binary_Operator= NO}', "");
-Expect(0, 12271, '\p{^IDS_Binary_Operator= NO}', "");
-Expect(0, 12271, '\P{IDS_Binary_Operator= NO}', "");
-Expect(1, 12271, '\P{^IDS_Binary_Operator= NO}', "");
-Expect(0, 12273, '\p{IDS_Binary_Operator= NO}', "");
-Expect(1, 12273, '\p{^IDS_Binary_Operator= NO}', "");
-Expect(1, 12273, '\P{IDS_Binary_Operator= NO}', "");
-Expect(0, 12273, '\P{^IDS_Binary_Operator= NO}', "");
-Error('\p{IDSB=/a/ -N}');
-Error('\P{IDSB=/a/ -N}');
-Expect(1, 12271, '\p{IDSB=n}', "");
-Expect(0, 12271, '\p{^IDSB=n}', "");
-Expect(0, 12271, '\P{IDSB=n}', "");
-Expect(1, 12271, '\P{^IDSB=n}', "");
-Expect(0, 12273, '\p{IDSB=n}', "");
-Expect(1, 12273, '\p{^IDSB=n}', "");
-Expect(1, 12273, '\P{IDSB=n}', "");
-Expect(0, 12273, '\P{^IDSB=n}', "");
-Expect(1, 12271, '\p{IDSB= _N}', "");
-Expect(0, 12271, '\p{^IDSB= _N}', "");
-Expect(0, 12271, '\P{IDSB= _N}', "");
-Expect(1, 12271, '\P{^IDSB= _N}', "");
-Expect(0, 12273, '\p{IDSB= _N}', "");
-Expect(1, 12273, '\p{^IDSB= _N}', "");
-Expect(1, 12273, '\P{IDSB= _N}', "");
-Expect(0, 12273, '\P{^IDSB= _N}', "");
-Error('\p{Is_IDS_Binary_Operator=/a/ _F}');
-Error('\P{Is_IDS_Binary_Operator=/a/ _F}');
-Expect(1, 12271, '\p{Is_IDS_Binary_Operator=f}', "");
-Expect(0, 12271, '\p{^Is_IDS_Binary_Operator=f}', "");
-Expect(0, 12271, '\P{Is_IDS_Binary_Operator=f}', "");
-Expect(1, 12271, '\P{^Is_IDS_Binary_Operator=f}', "");
-Expect(0, 12273, '\p{Is_IDS_Binary_Operator=f}', "");
-Expect(1, 12273, '\p{^Is_IDS_Binary_Operator=f}', "");
-Expect(1, 12273, '\P{Is_IDS_Binary_Operator=f}', "");
-Expect(0, 12273, '\P{^Is_IDS_Binary_Operator=f}', "");
-Expect(1, 12271, '\p{Is_IDS_Binary_Operator=_-F}', "");
-Expect(0, 12271, '\p{^Is_IDS_Binary_Operator=_-F}', "");
-Expect(0, 12271, '\P{Is_IDS_Binary_Operator=_-F}', "");
-Expect(1, 12271, '\P{^Is_IDS_Binary_Operator=_-F}', "");
-Expect(0, 12273, '\p{Is_IDS_Binary_Operator=_-F}', "");
-Expect(1, 12273, '\p{^Is_IDS_Binary_Operator=_-F}', "");
-Expect(1, 12273, '\P{Is_IDS_Binary_Operator=_-F}', "");
-Expect(0, 12273, '\P{^Is_IDS_Binary_Operator=_-F}', "");
-Error('\p{Is_IDSB= False:=}');
-Error('\P{Is_IDSB= False:=}');
-Expect(1, 12271, '\p{Is_IDSB=false}', "");
-Expect(0, 12271, '\p{^Is_IDSB=false}', "");
-Expect(0, 12271, '\P{Is_IDSB=false}', "");
-Expect(1, 12271, '\P{^Is_IDSB=false}', "");
-Expect(0, 12273, '\p{Is_IDSB=false}', "");
-Expect(1, 12273, '\p{^Is_IDSB=false}', "");
-Expect(1, 12273, '\P{Is_IDSB=false}', "");
-Expect(0, 12273, '\P{^Is_IDSB=false}', "");
-Expect(1, 12271, '\p{Is_IDSB=__False}', "");
-Expect(0, 12271, '\p{^Is_IDSB=__False}', "");
-Expect(0, 12271, '\P{Is_IDSB=__False}', "");
-Expect(1, 12271, '\P{^Is_IDSB=__False}', "");
-Expect(0, 12273, '\p{Is_IDSB=__False}', "");
-Expect(1, 12273, '\p{^Is_IDSB=__False}', "");
-Expect(1, 12273, '\P{Is_IDSB=__False}', "");
-Expect(0, 12273, '\P{^Is_IDSB=__False}', "");
-Error('\p{General_Category=- symbol/a/}');
-Error('\P{General_Category=- symbol/a/}');
-Expect(1, 36, '\p{General_Category: symbol}', "");
-Expect(0, 36, '\p{^General_Category: symbol}', "");
-Expect(0, 36, '\P{General_Category: symbol}', "");
-Expect(1, 36, '\P{^General_Category: symbol}', "");
-Expect(0, 35, '\p{General_Category: symbol}', "");
-Expect(1, 35, '\p{^General_Category: symbol}', "");
-Expect(1, 35, '\P{General_Category: symbol}', "");
-Expect(0, 35, '\P{^General_Category: symbol}', "");
-Expect(1, 36, '\p{General_Category: Symbol}', "");
-Expect(0, 36, '\p{^General_Category: Symbol}', "");
-Expect(0, 36, '\P{General_Category: Symbol}', "");
-Expect(1, 36, '\P{^General_Category: Symbol}', "");
-Expect(0, 35, '\p{General_Category: Symbol}', "");
-Expect(1, 35, '\p{^General_Category: Symbol}', "");
-Expect(1, 35, '\P{General_Category: Symbol}', "");
-Expect(0, 35, '\P{^General_Category: Symbol}', "");
-Error('\p{Gc= /a/S}');
-Error('\P{Gc= /a/S}');
-Expect(1, 36, '\p{Gc: s}', "");
-Expect(0, 36, '\p{^Gc: s}', "");
-Expect(0, 36, '\P{Gc: s}', "");
-Expect(1, 36, '\P{^Gc: s}', "");
-Expect(0, 35, '\p{Gc: s}', "");
-Expect(1, 35, '\p{^Gc: s}', "");
-Expect(1, 35, '\P{Gc: s}', "");
-Expect(0, 35, '\P{^Gc: s}', "");
-Expect(1, 36, '\p{Gc=_S}', "");
-Expect(0, 36, '\p{^Gc=_S}', "");
-Expect(0, 36, '\P{Gc=_S}', "");
-Expect(1, 36, '\P{^Gc=_S}', "");
-Expect(0, 35, '\p{Gc=_S}', "");
-Expect(1, 35, '\p{^Gc=_S}', "");
-Expect(1, 35, '\P{Gc=_S}', "");
-Expect(0, 35, '\P{^Gc=_S}', "");
-Error('\p{Category= Symbol:=}');
-Error('\P{Category= Symbol:=}');
-Expect(1, 36, '\p{Category=symbol}', "");
-Expect(0, 36, '\p{^Category=symbol}', "");
-Expect(0, 36, '\P{Category=symbol}', "");
-Expect(1, 36, '\P{^Category=symbol}', "");
-Expect(0, 35, '\p{Category=symbol}', "");
-Expect(1, 35, '\p{^Category=symbol}', "");
-Expect(1, 35, '\P{Category=symbol}', "");
-Expect(0, 35, '\P{^Category=symbol}', "");
-Expect(1, 36, '\p{Category=Symbol}', "");
-Expect(0, 36, '\p{^Category=Symbol}', "");
-Expect(0, 36, '\P{Category=Symbol}', "");
-Expect(1, 36, '\P{^Category=Symbol}', "");
-Expect(0, 35, '\p{Category=Symbol}', "");
-Expect(1, 35, '\p{^Category=Symbol}', "");
-Expect(1, 35, '\P{Category=Symbol}', "");
-Expect(0, 35, '\P{^Category=Symbol}', "");
-Error('\p{Is_General_Category=-S:=}');
-Error('\P{Is_General_Category=-S:=}');
-Expect(1, 36, '\p{Is_General_Category:s}', "");
-Expect(0, 36, '\p{^Is_General_Category:s}', "");
-Expect(0, 36, '\P{Is_General_Category:s}', "");
-Expect(1, 36, '\P{^Is_General_Category:s}', "");
-Expect(0, 35, '\p{Is_General_Category:s}', "");
-Expect(1, 35, '\p{^Is_General_Category:s}', "");
-Expect(1, 35, '\P{Is_General_Category:s}', "");
-Expect(0, 35, '\P{^Is_General_Category:s}', "");
-Expect(1, 36, '\p{Is_General_Category=_ S}', "");
-Expect(0, 36, '\p{^Is_General_Category=_ S}', "");
-Expect(0, 36, '\P{Is_General_Category=_ S}', "");
-Expect(1, 36, '\P{^Is_General_Category=_ S}', "");
-Expect(0, 35, '\p{Is_General_Category=_ S}', "");
-Expect(1, 35, '\p{^Is_General_Category=_ S}', "");
-Expect(1, 35, '\P{Is_General_Category=_ S}', "");
-Expect(0, 35, '\P{^Is_General_Category=_ S}', "");
-Error('\p{Is_Gc:Symbol/a/}');
-Error('\P{Is_Gc:Symbol/a/}');
-Expect(1, 36, '\p{Is_Gc=symbol}', "");
-Expect(0, 36, '\p{^Is_Gc=symbol}', "");
-Expect(0, 36, '\P{Is_Gc=symbol}', "");
-Expect(1, 36, '\P{^Is_Gc=symbol}', "");
-Expect(0, 35, '\p{Is_Gc=symbol}', "");
-Expect(1, 35, '\p{^Is_Gc=symbol}', "");
-Expect(1, 35, '\P{Is_Gc=symbol}', "");
-Expect(0, 35, '\P{^Is_Gc=symbol}', "");
-Expect(1, 36, '\p{Is_Gc=--SYMBOL}', "");
-Expect(0, 36, '\p{^Is_Gc=--SYMBOL}', "");
-Expect(0, 36, '\P{Is_Gc=--SYMBOL}', "");
-Expect(1, 36, '\P{^Is_Gc=--SYMBOL}', "");
-Expect(0, 35, '\p{Is_Gc=--SYMBOL}', "");
-Expect(1, 35, '\p{^Is_Gc=--SYMBOL}', "");
-Expect(1, 35, '\P{Is_Gc=--SYMBOL}', "");
-Expect(0, 35, '\P{^Is_Gc=--SYMBOL}', "");
-Error('\p{Is_Category=_:=s}');
-Error('\P{Is_Category=_:=s}');
-Expect(1, 36, '\p{Is_Category=s}', "");
-Expect(0, 36, '\p{^Is_Category=s}', "");
-Expect(0, 36, '\P{Is_Category=s}', "");
-Expect(1, 36, '\P{^Is_Category=s}', "");
-Expect(0, 35, '\p{Is_Category=s}', "");
-Expect(1, 35, '\p{^Is_Category=s}', "");
-Expect(1, 35, '\P{Is_Category=s}', "");
-Expect(0, 35, '\P{^Is_Category=s}', "");
-Expect(1, 36, '\p{Is_Category= s}', "");
-Expect(0, 36, '\p{^Is_Category= s}', "");
-Expect(0, 36, '\P{Is_Category= s}', "");
-Expect(1, 36, '\P{^Is_Category= s}', "");
-Expect(0, 35, '\p{Is_Category= s}', "");
-Expect(1, 35, '\p{^Is_Category= s}', "");
-Expect(1, 35, '\P{Is_Category= s}', "");
-Expect(0, 35, '\P{^Is_Category= s}', "");
-Error('\p{General_Category=:=Spacing MARK}');
-Error('\P{General_Category=:=Spacing MARK}');
-Expect(1, 2307, '\p{General_Category=spacingmark}', "");
-Expect(0, 2307, '\p{^General_Category=spacingmark}', "");
-Expect(0, 2307, '\P{General_Category=spacingmark}', "");
-Expect(1, 2307, '\P{^General_Category=spacingmark}', "");
-Expect(0, 2306, '\p{General_Category=spacingmark}', "");
-Expect(1, 2306, '\p{^General_Category=spacingmark}', "");
-Expect(1, 2306, '\P{General_Category=spacingmark}', "");
-Expect(0, 2306, '\P{^General_Category=spacingmark}', "");
-Expect(1, 2307, '\p{General_Category= Spacing Mark}', "");
-Expect(0, 2307, '\p{^General_Category= Spacing Mark}', "");
-Expect(0, 2307, '\P{General_Category= Spacing Mark}', "");
-Expect(1, 2307, '\P{^General_Category= Spacing Mark}', "");
-Expect(0, 2306, '\p{General_Category= Spacing Mark}', "");
-Expect(1, 2306, '\p{^General_Category= Spacing Mark}', "");
-Expect(1, 2306, '\P{General_Category= Spacing Mark}', "");
-Expect(0, 2306, '\P{^General_Category= Spacing Mark}', "");
-Error('\p{Gc= -mc/a/}');
-Error('\P{Gc= -mc/a/}');
-Expect(1, 2307, '\p{Gc=mc}', "");
-Expect(0, 2307, '\p{^Gc=mc}', "");
-Expect(0, 2307, '\P{Gc=mc}', "");
-Expect(1, 2307, '\P{^Gc=mc}', "");
-Expect(0, 2306, '\p{Gc=mc}', "");
-Expect(1, 2306, '\p{^Gc=mc}', "");
-Expect(1, 2306, '\P{Gc=mc}', "");
-Expect(0, 2306, '\P{^Gc=mc}', "");
-Expect(1, 2307, '\p{Gc=_mc}', "");
-Expect(0, 2307, '\p{^Gc=_mc}', "");
-Expect(0, 2307, '\P{Gc=_mc}', "");
-Expect(1, 2307, '\P{^Gc=_mc}', "");
-Expect(0, 2306, '\p{Gc=_mc}', "");
-Expect(1, 2306, '\p{^Gc=_mc}', "");
-Expect(1, 2306, '\P{Gc=_mc}', "");
-Expect(0, 2306, '\P{^Gc=_mc}', "");
-Error('\p{Category=- spacing/a/MARK}');
-Error('\P{Category=- spacing/a/MARK}');
-Expect(1, 2307, '\p{Category=spacingmark}', "");
-Expect(0, 2307, '\p{^Category=spacingmark}', "");
-Expect(0, 2307, '\P{Category=spacingmark}', "");
-Expect(1, 2307, '\P{^Category=spacingmark}', "");
-Expect(0, 2306, '\p{Category=spacingmark}', "");
-Expect(1, 2306, '\p{^Category=spacingmark}', "");
-Expect(1, 2306, '\P{Category=spacingmark}', "");
-Expect(0, 2306, '\P{^Category=spacingmark}', "");
-Expect(1, 2307, '\p{Category= -Spacing Mark}', "");
-Expect(0, 2307, '\p{^Category= -Spacing Mark}', "");
-Expect(0, 2307, '\P{Category= -Spacing Mark}', "");
-Expect(1, 2307, '\P{^Category= -Spacing Mark}', "");
-Expect(0, 2306, '\p{Category= -Spacing Mark}', "");
-Expect(1, 2306, '\p{^Category= -Spacing Mark}', "");
-Expect(1, 2306, '\P{Category= -Spacing Mark}', "");
-Expect(0, 2306, '\P{^Category= -Spacing Mark}', "");
-Error('\p{Is_General_Category=-/a/Mc}');
-Error('\P{Is_General_Category=-/a/Mc}');
-Expect(1, 2307, '\p{Is_General_Category=mc}', "");
-Expect(0, 2307, '\p{^Is_General_Category=mc}', "");
-Expect(0, 2307, '\P{Is_General_Category=mc}', "");
-Expect(1, 2307, '\P{^Is_General_Category=mc}', "");
-Expect(0, 2306, '\p{Is_General_Category=mc}', "");
-Expect(1, 2306, '\p{^Is_General_Category=mc}', "");
-Expect(1, 2306, '\P{Is_General_Category=mc}', "");
-Expect(0, 2306, '\P{^Is_General_Category=mc}', "");
-Expect(1, 2307, '\p{Is_General_Category=_ mc}', "");
-Expect(0, 2307, '\p{^Is_General_Category=_ mc}', "");
-Expect(0, 2307, '\P{Is_General_Category=_ mc}', "");
-Expect(1, 2307, '\P{^Is_General_Category=_ mc}', "");
-Expect(0, 2306, '\p{Is_General_Category=_ mc}', "");
-Expect(1, 2306, '\p{^Is_General_Category=_ mc}', "");
-Expect(1, 2306, '\P{Is_General_Category=_ mc}', "");
-Expect(0, 2306, '\P{^Is_General_Category=_ mc}', "");
-Error('\p{Is_Gc= -SPACING/a/Mark}');
-Error('\P{Is_Gc= -SPACING/a/Mark}');
-Expect(1, 2307, '\p{Is_Gc=spacingmark}', "");
-Expect(0, 2307, '\p{^Is_Gc=spacingmark}', "");
-Expect(0, 2307, '\P{Is_Gc=spacingmark}', "");
-Expect(1, 2307, '\P{^Is_Gc=spacingmark}', "");
-Expect(0, 2306, '\p{Is_Gc=spacingmark}', "");
-Expect(1, 2306, '\p{^Is_Gc=spacingmark}', "");
-Expect(1, 2306, '\P{Is_Gc=spacingmark}', "");
-Expect(0, 2306, '\P{^Is_Gc=spacingmark}', "");
-Expect(1, 2307, '\p{Is_Gc= spacing Mark}', "");
-Expect(0, 2307, '\p{^Is_Gc= spacing Mark}', "");
-Expect(0, 2307, '\P{Is_Gc= spacing Mark}', "");
-Expect(1, 2307, '\P{^Is_Gc= spacing Mark}', "");
-Expect(0, 2306, '\p{Is_Gc= spacing Mark}', "");
-Expect(1, 2306, '\p{^Is_Gc= spacing Mark}', "");
-Expect(1, 2306, '\P{Is_Gc= spacing Mark}', "");
-Expect(0, 2306, '\P{^Is_Gc= spacing Mark}', "");
-Error('\p{Is_Category= :=mc}');
-Error('\P{Is_Category= :=mc}');
-Expect(1, 2307, '\p{Is_Category: mc}', "");
-Expect(0, 2307, '\p{^Is_Category: mc}', "");
-Expect(0, 2307, '\P{Is_Category: mc}', "");
-Expect(1, 2307, '\P{^Is_Category: mc}', "");
-Expect(0, 2306, '\p{Is_Category: mc}', "");
-Expect(1, 2306, '\p{^Is_Category: mc}', "");
-Expect(1, 2306, '\P{Is_Category: mc}', "");
-Expect(0, 2306, '\P{^Is_Category: mc}', "");
-Expect(1, 2307, '\p{Is_Category=- Mc}', "");
-Expect(0, 2307, '\p{^Is_Category=- Mc}', "");
-Expect(0, 2307, '\P{Is_Category=- Mc}', "");
-Expect(1, 2307, '\P{^Is_Category=- Mc}', "");
-Expect(0, 2306, '\p{Is_Category=- Mc}', "");
-Expect(1, 2306, '\p{^Is_Category=- Mc}', "");
-Expect(1, 2306, '\P{Is_Category=- Mc}', "");
-Expect(0, 2306, '\P{^Is_Category=- Mc}', "");
-Error('\p{General_Category=-Cased_letter/a/}');
-Error('\P{General_Category=-Cased_letter/a/}');
-Expect(1, 90, '\p{General_Category=casedletter}', "");
-Expect(0, 90, '\p{^General_Category=casedletter}', "");
-Expect(0, 90, '\P{General_Category=casedletter}', "");
-Expect(1, 90, '\P{^General_Category=casedletter}', "");
-Expect(0, 64, '\p{General_Category=casedletter}', "");
-Expect(1, 64, '\p{^General_Category=casedletter}', "");
-Expect(1, 64, '\P{General_Category=casedletter}', "");
-Expect(0, 64, '\P{^General_Category=casedletter}', "");
-Expect(1, 90, '\p{General_Category= CASED Letter}', "");
-Expect(0, 90, '\p{^General_Category= CASED Letter}', "");
-Expect(0, 90, '\P{General_Category= CASED Letter}', "");
-Expect(1, 90, '\P{^General_Category= CASED Letter}', "");
-Expect(0, 64, '\p{General_Category= CASED Letter}', "");
-Expect(1, 64, '\p{^General_Category= CASED Letter}', "");
-Expect(1, 64, '\P{General_Category= CASED Letter}', "");
-Expect(0, 64, '\P{^General_Category= CASED Letter}', "");
-Error('\p{Gc=/a/- LC}');
-Error('\P{Gc=/a/- LC}');
-Expect(1, 90, '\p{Gc=lc}', "");
-Expect(0, 90, '\p{^Gc=lc}', "");
-Expect(0, 90, '\P{Gc=lc}', "");
-Expect(1, 90, '\P{^Gc=lc}', "");
-Expect(0, 64, '\p{Gc=lc}', "");
-Expect(1, 64, '\p{^Gc=lc}', "");
-Expect(1, 64, '\P{Gc=lc}', "");
-Expect(0, 64, '\P{^Gc=lc}', "");
-Expect(1, 90, '\p{Gc= LC}', "");
-Expect(0, 90, '\p{^Gc= LC}', "");
-Expect(0, 90, '\P{Gc= LC}', "");
-Expect(1, 90, '\P{^Gc= LC}', "");
-Expect(0, 64, '\p{Gc= LC}', "");
-Expect(1, 64, '\p{^Gc= LC}', "");
-Expect(1, 64, '\P{Gc= LC}', "");
-Expect(0, 64, '\P{^Gc= LC}', "");
-Error('\p{Category= l/a/}');
-Error('\P{Category= l/a/}');
-Expect(1, 90, '\p{Category=l_}', "");
-Expect(0, 90, '\p{^Category=l_}', "");
-Expect(0, 90, '\P{Category=l_}', "");
-Expect(1, 90, '\P{^Category=l_}', "");
-Expect(0, 64, '\p{Category=l_}', "");
-Expect(1, 64, '\p{^Category=l_}', "");
-Expect(1, 64, '\P{Category=l_}', "");
-Expect(0, 64, '\P{^Category=l_}', "");
-Expect(1, 90, '\p{Category= L}', "");
-Expect(0, 90, '\p{^Category= L}', "");
-Expect(0, 90, '\P{Category= L}', "");
-Expect(1, 90, '\P{^Category= L}', "");
-Expect(0, 64, '\p{Category= L}', "");
-Expect(1, 64, '\p{^Category= L}', "");
-Expect(1, 64, '\P{Category= L}', "");
-Expect(0, 64, '\P{^Category= L}', "");
-Error('\p{Is_General_Category=/a/ -L&}');
-Error('\P{Is_General_Category=/a/ -L&}');
-Expect(1, 90, '\p{Is_General_Category=l&}', "");
-Expect(0, 90, '\p{^Is_General_Category=l&}', "");
-Expect(0, 90, '\P{Is_General_Category=l&}', "");
-Expect(1, 90, '\P{^Is_General_Category=l&}', "");
-Expect(0, 64, '\p{Is_General_Category=l&}', "");
-Expect(1, 64, '\p{^Is_General_Category=l&}', "");
-Expect(1, 64, '\P{Is_General_Category=l&}', "");
-Expect(0, 64, '\P{^Is_General_Category=l&}', "");
-Expect(1, 90, '\p{Is_General_Category= _L&}', "");
-Expect(0, 90, '\p{^Is_General_Category= _L&}', "");
-Expect(0, 90, '\P{Is_General_Category= _L&}', "");
-Expect(1, 90, '\P{^Is_General_Category= _L&}', "");
-Expect(0, 64, '\p{Is_General_Category= _L&}', "");
-Expect(1, 64, '\p{^Is_General_Category= _L&}', "");
-Expect(1, 64, '\P{Is_General_Category= _L&}', "");
-Expect(0, 64, '\P{^Is_General_Category= _L&}', "");
-Error('\p{Is_Gc: /a/ _CASED_Letter}');
-Error('\P{Is_Gc: /a/ _CASED_Letter}');
-Expect(1, 90, '\p{Is_Gc: casedletter}', "");
-Expect(0, 90, '\p{^Is_Gc: casedletter}', "");
-Expect(0, 90, '\P{Is_Gc: casedletter}', "");
-Expect(1, 90, '\P{^Is_Gc: casedletter}', "");
-Expect(0, 64, '\p{Is_Gc: casedletter}', "");
-Expect(1, 64, '\p{^Is_Gc: casedletter}', "");
-Expect(1, 64, '\P{Is_Gc: casedletter}', "");
-Expect(0, 64, '\P{^Is_Gc: casedletter}', "");
-Expect(1, 90, '\p{Is_Gc=- CASED_letter}', "");
-Expect(0, 90, '\p{^Is_Gc=- CASED_letter}', "");
-Expect(0, 90, '\P{Is_Gc=- CASED_letter}', "");
-Expect(1, 90, '\P{^Is_Gc=- CASED_letter}', "");
-Expect(0, 64, '\p{Is_Gc=- CASED_letter}', "");
-Expect(1, 64, '\p{^Is_Gc=- CASED_letter}', "");
-Expect(1, 64, '\P{Is_Gc=- CASED_letter}', "");
-Expect(0, 64, '\P{^Is_Gc=- CASED_letter}', "");
-Error('\p{Is_Category: /a/LC}');
-Error('\P{Is_Category: /a/LC}');
-Expect(1, 90, '\p{Is_Category=lc}', "");
-Expect(0, 90, '\p{^Is_Category=lc}', "");
-Expect(0, 90, '\P{Is_Category=lc}', "");
-Expect(1, 90, '\P{^Is_Category=lc}', "");
-Expect(0, 64, '\p{Is_Category=lc}', "");
-Expect(1, 64, '\p{^Is_Category=lc}', "");
-Expect(1, 64, '\P{Is_Category=lc}', "");
-Expect(0, 64, '\P{^Is_Category=lc}', "");
-Expect(1, 90, '\p{Is_Category=_ LC}', "");
-Expect(0, 90, '\p{^Is_Category=_ LC}', "");
-Expect(0, 90, '\P{Is_Category=_ LC}', "");
-Expect(1, 90, '\P{^Is_Category=_ LC}', "");
-Expect(0, 64, '\p{Is_Category=_ LC}', "");
-Expect(1, 64, '\p{^Is_Category=_ LC}', "");
-Expect(1, 64, '\P{Is_Category=_ LC}', "");
-Expect(0, 64, '\P{^Is_Category=_ LC}', "");
-Error('\p{General_Category=-/a/connectorpunctuation}');
-Error('\P{General_Category=-/a/connectorpunctuation}');
-Expect(1, 95, '\p{General_Category: connectorpunctuation}', "");
-Expect(0, 95, '\p{^General_Category: connectorpunctuation}', "");
-Expect(0, 95, '\P{General_Category: connectorpunctuation}', "");
-Expect(1, 95, '\P{^General_Category: connectorpunctuation}', "");
-Expect(0, 94, '\p{General_Category: connectorpunctuation}', "");
-Expect(1, 94, '\p{^General_Category: connectorpunctuation}', "");
-Expect(1, 94, '\P{General_Category: connectorpunctuation}', "");
-Expect(0, 94, '\P{^General_Category: connectorpunctuation}', "");
-Expect(1, 95, '\p{General_Category= Connector-PUNCTUATION}', "");
-Expect(0, 95, '\p{^General_Category= Connector-PUNCTUATION}', "");
-Expect(0, 95, '\P{General_Category= Connector-PUNCTUATION}', "");
-Expect(1, 95, '\P{^General_Category= Connector-PUNCTUATION}', "");
-Expect(0, 94, '\p{General_Category= Connector-PUNCTUATION}', "");
-Expect(1, 94, '\p{^General_Category= Connector-PUNCTUATION}', "");
-Expect(1, 94, '\P{General_Category= Connector-PUNCTUATION}', "");
-Expect(0, 94, '\P{^General_Category= Connector-PUNCTUATION}', "");
-Error('\p{Gc=:=-PC}');
-Error('\P{Gc=:=-PC}');
-Expect(1, 95, '\p{Gc:pc}', "");
-Expect(0, 95, '\p{^Gc:pc}', "");
-Expect(0, 95, '\P{Gc:pc}', "");
-Expect(1, 95, '\P{^Gc:pc}', "");
-Expect(0, 94, '\p{Gc:pc}', "");
-Expect(1, 94, '\p{^Gc:pc}', "");
-Expect(1, 94, '\P{Gc:pc}', "");
-Expect(0, 94, '\P{^Gc:pc}', "");
-Expect(1, 95, '\p{Gc: Pc}', "");
-Expect(0, 95, '\p{^Gc: Pc}', "");
-Expect(0, 95, '\P{Gc: Pc}', "");
-Expect(1, 95, '\P{^Gc: Pc}', "");
-Expect(0, 94, '\p{Gc: Pc}', "");
-Expect(1, 94, '\p{^Gc: Pc}', "");
-Expect(1, 94, '\P{Gc: Pc}', "");
-Expect(0, 94, '\P{^Gc: Pc}', "");
-Error('\p{Category=-/a/connector PUNCTUATION}');
-Error('\P{Category=-/a/connector PUNCTUATION}');
-Expect(1, 95, '\p{Category=connectorpunctuation}', "");
-Expect(0, 95, '\p{^Category=connectorpunctuation}', "");
-Expect(0, 95, '\P{Category=connectorpunctuation}', "");
-Expect(1, 95, '\P{^Category=connectorpunctuation}', "");
-Expect(0, 94, '\p{Category=connectorpunctuation}', "");
-Expect(1, 94, '\p{^Category=connectorpunctuation}', "");
-Expect(1, 94, '\P{Category=connectorpunctuation}', "");
-Expect(0, 94, '\P{^Category=connectorpunctuation}', "");
-Expect(1, 95, '\p{Category=--connector Punctuation}', "");
-Expect(0, 95, '\p{^Category=--connector Punctuation}', "");
-Expect(0, 95, '\P{Category=--connector Punctuation}', "");
-Expect(1, 95, '\P{^Category=--connector Punctuation}', "");
-Expect(0, 94, '\p{Category=--connector Punctuation}', "");
-Expect(1, 94, '\p{^Category=--connector Punctuation}', "");
-Expect(1, 94, '\P{Category=--connector Punctuation}', "");
-Expect(0, 94, '\P{^Category=--connector Punctuation}', "");
-Error('\p{Is_General_Category=_:=Pc}');
-Error('\P{Is_General_Category=_:=Pc}');
-Expect(1, 95, '\p{Is_General_Category:pc}', "");
-Expect(0, 95, '\p{^Is_General_Category:pc}', "");
-Expect(0, 95, '\P{Is_General_Category:pc}', "");
-Expect(1, 95, '\P{^Is_General_Category:pc}', "");
-Expect(0, 94, '\p{Is_General_Category:pc}', "");
-Expect(1, 94, '\p{^Is_General_Category:pc}', "");
-Expect(1, 94, '\P{Is_General_Category:pc}', "");
-Expect(0, 94, '\P{^Is_General_Category:pc}', "");
-Expect(1, 95, '\p{Is_General_Category= Pc}', "");
-Expect(0, 95, '\p{^Is_General_Category= Pc}', "");
-Expect(0, 95, '\P{Is_General_Category= Pc}', "");
-Expect(1, 95, '\P{^Is_General_Category= Pc}', "");
-Expect(0, 94, '\p{Is_General_Category= Pc}', "");
-Expect(1, 94, '\p{^Is_General_Category= Pc}', "");
-Expect(1, 94, '\P{Is_General_Category= Pc}', "");
-Expect(0, 94, '\P{^Is_General_Category= Pc}', "");
-Error('\p{Is_Gc=_/a/CONNECTOR punctuation}');
-Error('\P{Is_Gc=_/a/CONNECTOR punctuation}');
-Expect(1, 95, '\p{Is_Gc=connectorpunctuation}', "");
-Expect(0, 95, '\p{^Is_Gc=connectorpunctuation}', "");
-Expect(0, 95, '\P{Is_Gc=connectorpunctuation}', "");
-Expect(1, 95, '\P{^Is_Gc=connectorpunctuation}', "");
-Expect(0, 94, '\p{Is_Gc=connectorpunctuation}', "");
-Expect(1, 94, '\p{^Is_Gc=connectorpunctuation}', "");
-Expect(1, 94, '\P{Is_Gc=connectorpunctuation}', "");
-Expect(0, 94, '\P{^Is_Gc=connectorpunctuation}', "");
-Expect(1, 95, '\p{Is_Gc= _connectorpunctuation}', "");
-Expect(0, 95, '\p{^Is_Gc= _connectorpunctuation}', "");
-Expect(0, 95, '\P{Is_Gc= _connectorpunctuation}', "");
-Expect(1, 95, '\P{^Is_Gc= _connectorpunctuation}', "");
-Expect(0, 94, '\p{Is_Gc= _connectorpunctuation}', "");
-Expect(1, 94, '\p{^Is_Gc= _connectorpunctuation}', "");
-Expect(1, 94, '\P{Is_Gc= _connectorpunctuation}', "");
-Expect(0, 94, '\P{^Is_Gc= _connectorpunctuation}', "");
-Error('\p{Is_Category= Pc/a/}');
-Error('\P{Is_Category= Pc/a/}');
-Expect(1, 95, '\p{Is_Category=pc}', "");
-Expect(0, 95, '\p{^Is_Category=pc}', "");
-Expect(0, 95, '\P{Is_Category=pc}', "");
-Expect(1, 95, '\P{^Is_Category=pc}', "");
-Expect(0, 94, '\p{Is_Category=pc}', "");
-Expect(1, 94, '\p{^Is_Category=pc}', "");
-Expect(1, 94, '\P{Is_Category=pc}', "");
-Expect(0, 94, '\P{^Is_Category=pc}', "");
-Expect(1, 95, '\p{Is_Category= PC}', "");
-Expect(0, 95, '\p{^Is_Category= PC}', "");
-Expect(0, 95, '\P{Is_Category= PC}', "");
-Expect(1, 95, '\P{^Is_Category= PC}', "");
-Expect(0, 94, '\p{Is_Category= PC}', "");
-Expect(1, 94, '\p{^Is_Category= PC}', "");
-Expect(1, 94, '\P{Is_Category= PC}', "");
-Expect(0, 94, '\P{^Is_Category= PC}', "");
-Error('\p{General_Category=- Surrogate/a/}');
-Error('\P{General_Category=- Surrogate/a/}');
-Expect(0, 55295, '\p{General_Category=surrogate}', "");
-Expect(1, 55295, '\p{^General_Category=surrogate}', "");
-Expect(1, 55295, '\P{General_Category=surrogate}', "");
-Expect(0, 55295, '\P{^General_Category=surrogate}', "");
-Expect(0, 55295, '\p{General_Category=__surrogate}', "");
-Expect(1, 55295, '\p{^General_Category=__surrogate}', "");
-Expect(1, 55295, '\P{General_Category=__surrogate}', "");
-Expect(0, 55295, '\P{^General_Category=__surrogate}', "");
-Error('\p{Gc=:=- Cs}');
-Error('\P{Gc=:=- Cs}');
-Expect(0, 55295, '\p{Gc: cs}', "");
-Expect(1, 55295, '\p{^Gc: cs}', "");
-Expect(1, 55295, '\P{Gc: cs}', "");
-Expect(0, 55295, '\P{^Gc: cs}', "");
-Expect(0, 55295, '\p{Gc=-CS}', "");
-Expect(1, 55295, '\p{^Gc=-CS}', "");
-Expect(1, 55295, '\P{Gc=-CS}', "");
-Expect(0, 55295, '\P{^Gc=-CS}', "");
-Error('\p{Category: := _Surrogate}');
-Error('\P{Category: := _Surrogate}');
-Expect(0, 55295, '\p{Category=surrogate}', "");
-Expect(1, 55295, '\p{^Category=surrogate}', "");
-Expect(1, 55295, '\P{Category=surrogate}', "");
-Expect(0, 55295, '\P{^Category=surrogate}', "");
-Expect(0, 55295, '\p{Category= -Surrogate}', "");
-Expect(1, 55295, '\p{^Category= -Surrogate}', "");
-Expect(1, 55295, '\P{Category= -Surrogate}', "");
-Expect(0, 55295, '\P{^Category= -Surrogate}', "");
-Error('\p{Is_General_Category=/a/-CS}');
-Error('\P{Is_General_Category=/a/-CS}');
-Expect(0, 55295, '\p{Is_General_Category:cs}', "");
-Expect(1, 55295, '\p{^Is_General_Category:cs}', "");
-Expect(1, 55295, '\P{Is_General_Category:cs}', "");
-Expect(0, 55295, '\P{^Is_General_Category:cs}', "");
-Expect(0, 55295, '\p{Is_General_Category= Cs}', "");
-Expect(1, 55295, '\p{^Is_General_Category= Cs}', "");
-Expect(1, 55295, '\P{Is_General_Category= Cs}', "");
-Expect(0, 55295, '\P{^Is_General_Category= Cs}', "");
-Error('\p{Is_Gc=surrogate:=}');
-Error('\P{Is_Gc=surrogate:=}');
-Expect(0, 55295, '\p{Is_Gc=surrogate}', "");
-Expect(1, 55295, '\p{^Is_Gc=surrogate}', "");
-Expect(1, 55295, '\P{Is_Gc=surrogate}', "");
-Expect(0, 55295, '\P{^Is_Gc=surrogate}', "");
-Expect(0, 55295, '\p{Is_Gc= surrogate}', "");
-Expect(1, 55295, '\p{^Is_Gc= surrogate}', "");
-Expect(1, 55295, '\P{Is_Gc= surrogate}', "");
-Expect(0, 55295, '\P{^Is_Gc= surrogate}', "");
-Error('\p{Is_Category=:=-_Cs}');
-Error('\P{Is_Category=:=-_Cs}');
-Expect(0, 55295, '\p{Is_Category: cs}', "");
-Expect(1, 55295, '\p{^Is_Category: cs}', "");
-Expect(1, 55295, '\P{Is_Category: cs}', "");
-Expect(0, 55295, '\P{^Is_Category: cs}', "");
-Expect(0, 55295, '\p{Is_Category= Cs}', "");
-Expect(1, 55295, '\p{^Is_Category= Cs}', "");
-Expect(1, 55295, '\P{Is_Category= Cs}', "");
-Expect(0, 55295, '\P{^Is_Category= Cs}', "");
-Error('\p{General_Category= :=private use}');
-Error('\P{General_Category= :=private use}');
-Expect(1, 63743, '\p{General_Category=privateuse}', "");
-Expect(0, 63743, '\p{^General_Category=privateuse}', "");
-Expect(0, 63743, '\P{General_Category=privateuse}', "");
-Expect(1, 63743, '\P{^General_Category=privateuse}', "");
-Expect(0, 1, '\p{General_Category=privateuse}', "");
-Expect(1, 1, '\p{^General_Category=privateuse}', "");
-Expect(1, 1, '\P{General_Category=privateuse}', "");
-Expect(0, 1, '\P{^General_Category=privateuse}', "");
-Expect(1, 63743, '\p{General_Category=_ private_Use}', "");
-Expect(0, 63743, '\p{^General_Category=_ private_Use}', "");
-Expect(0, 63743, '\P{General_Category=_ private_Use}', "");
-Expect(1, 63743, '\P{^General_Category=_ private_Use}', "");
-Expect(0, 1, '\p{General_Category=_ private_Use}', "");
-Expect(1, 1, '\p{^General_Category=_ private_Use}', "");
-Expect(1, 1, '\P{General_Category=_ private_Use}', "");
-Expect(0, 1, '\P{^General_Category=_ private_Use}', "");
-Error('\p{Gc=:= CO}');
-Error('\P{Gc=:= CO}');
-Expect(1, 63743, '\p{Gc=co}', "");
-Expect(0, 63743, '\p{^Gc=co}', "");
-Expect(0, 63743, '\P{Gc=co}', "");
-Expect(1, 63743, '\P{^Gc=co}', "");
-Expect(0, 1, '\p{Gc=co}', "");
-Expect(1, 1, '\p{^Gc=co}', "");
-Expect(1, 1, '\P{Gc=co}', "");
-Expect(0, 1, '\P{^Gc=co}', "");
-Expect(1, 63743, '\p{Gc: Co}', "");
-Expect(0, 63743, '\p{^Gc: Co}', "");
-Expect(0, 63743, '\P{Gc: Co}', "");
-Expect(1, 63743, '\P{^Gc: Co}', "");
-Expect(0, 1, '\p{Gc: Co}', "");
-Expect(1, 1, '\p{^Gc: Co}', "");
-Expect(1, 1, '\P{Gc: Co}', "");
-Expect(0, 1, '\P{^Gc: Co}', "");
-Error('\p{Category: :=-private USE}');
-Error('\P{Category: :=-private USE}');
-Expect(1, 63743, '\p{Category=privateuse}', "");
-Expect(0, 63743, '\p{^Category=privateuse}', "");
-Expect(0, 63743, '\P{Category=privateuse}', "");
-Expect(1, 63743, '\P{^Category=privateuse}', "");
-Expect(0, 1, '\p{Category=privateuse}', "");
-Expect(1, 1, '\p{^Category=privateuse}', "");
-Expect(1, 1, '\P{Category=privateuse}', "");
-Expect(0, 1, '\P{^Category=privateuse}', "");
-Expect(1, 63743, '\p{Category: PrivateUse}', "");
-Expect(0, 63743, '\p{^Category: PrivateUse}', "");
-Expect(0, 63743, '\P{Category: PrivateUse}', "");
-Expect(1, 63743, '\P{^Category: PrivateUse}', "");
-Expect(0, 1, '\p{Category: PrivateUse}', "");
-Expect(1, 1, '\p{^Category: PrivateUse}', "");
-Expect(1, 1, '\P{Category: PrivateUse}', "");
-Expect(0, 1, '\P{^Category: PrivateUse}', "");
-Error('\p{Is_General_Category= -co/a/}');
-Error('\P{Is_General_Category= -co/a/}');
-Expect(1, 63743, '\p{Is_General_Category=co}', "");
-Expect(0, 63743, '\p{^Is_General_Category=co}', "");
-Expect(0, 63743, '\P{Is_General_Category=co}', "");
-Expect(1, 63743, '\P{^Is_General_Category=co}', "");
-Expect(0, 1, '\p{Is_General_Category=co}', "");
-Expect(1, 1, '\p{^Is_General_Category=co}', "");
-Expect(1, 1, '\P{Is_General_Category=co}', "");
-Expect(0, 1, '\P{^Is_General_Category=co}', "");
-Expect(1, 63743, '\p{Is_General_Category= _Co}', "");
-Expect(0, 63743, '\p{^Is_General_Category= _Co}', "");
-Expect(0, 63743, '\P{Is_General_Category= _Co}', "");
-Expect(1, 63743, '\P{^Is_General_Category= _Co}', "");
-Expect(0, 1, '\p{Is_General_Category= _Co}', "");
-Expect(1, 1, '\p{^Is_General_Category= _Co}', "");
-Expect(1, 1, '\P{Is_General_Category= _Co}', "");
-Expect(0, 1, '\P{^Is_General_Category= _Co}', "");
-Error('\p{Is_Gc=:= _Private Use}');
-Error('\P{Is_Gc=:= _Private Use}');
-Expect(1, 63743, '\p{Is_Gc=privateuse}', "");
-Expect(0, 63743, '\p{^Is_Gc=privateuse}', "");
-Expect(0, 63743, '\P{Is_Gc=privateuse}', "");
-Expect(1, 63743, '\P{^Is_Gc=privateuse}', "");
-Expect(0, 1, '\p{Is_Gc=privateuse}', "");
-Expect(1, 1, '\p{^Is_Gc=privateuse}', "");
-Expect(1, 1, '\P{Is_Gc=privateuse}', "");
-Expect(0, 1, '\P{^Is_Gc=privateuse}', "");
-Expect(1, 63743, '\p{Is_Gc=_-PRIVATE Use}', "");
-Expect(0, 63743, '\p{^Is_Gc=_-PRIVATE Use}', "");
-Expect(0, 63743, '\P{Is_Gc=_-PRIVATE Use}', "");
-Expect(1, 63743, '\P{^Is_Gc=_-PRIVATE Use}', "");
-Expect(0, 1, '\p{Is_Gc=_-PRIVATE Use}', "");
-Expect(1, 1, '\p{^Is_Gc=_-PRIVATE Use}', "");
-Expect(1, 1, '\P{Is_Gc=_-PRIVATE Use}', "");
-Expect(0, 1, '\P{^Is_Gc=_-PRIVATE Use}', "");
-Error('\p{Is_Category=-/a/Co}');
-Error('\P{Is_Category=-/a/Co}');
-Expect(1, 63743, '\p{Is_Category=co}', "");
-Expect(0, 63743, '\p{^Is_Category=co}', "");
-Expect(0, 63743, '\P{Is_Category=co}', "");
-Expect(1, 63743, '\P{^Is_Category=co}', "");
-Expect(0, 1, '\p{Is_Category=co}', "");
-Expect(1, 1, '\p{^Is_Category=co}', "");
-Expect(1, 1, '\P{Is_Category=co}', "");
-Expect(0, 1, '\P{^Is_Category=co}', "");
-Expect(1, 63743, '\p{Is_Category= -CO}', "");
-Expect(0, 63743, '\p{^Is_Category= -CO}', "");
-Expect(0, 63743, '\P{Is_Category= -CO}', "");
-Expect(1, 63743, '\P{^Is_Category= -CO}', "");
-Expect(0, 1, '\p{Is_Category= -CO}', "");
-Expect(1, 1, '\p{^Is_Category= -CO}', "");
-Expect(1, 1, '\P{Is_Category= -CO}', "");
-Expect(0, 1, '\P{^Is_Category= -CO}', "");
-Error('\p{General_Category=-_lowercaseLetter:=}');
-Error('\P{General_Category=-_lowercaseLetter:=}');
-Expect(1, 122, '\p{General_Category=lowercaseletter}', "");
-Expect(0, 122, '\p{^General_Category=lowercaseletter}', "");
-Expect(0, 122, '\P{General_Category=lowercaseletter}', "");
-Expect(1, 122, '\P{^General_Category=lowercaseletter}', "");
-Expect(0, 96, '\p{General_Category=lowercaseletter}', "");
-Expect(1, 96, '\p{^General_Category=lowercaseletter}', "");
-Expect(1, 96, '\P{General_Category=lowercaseletter}', "");
-Expect(0, 96, '\P{^General_Category=lowercaseletter}', "");
-Expect(1, 122, '\p{General_Category=LOWERCASE_Letter}', "");
-Expect(0, 122, '\p{^General_Category=LOWERCASE_Letter}', "");
-Expect(0, 122, '\P{General_Category=LOWERCASE_Letter}', "");
-Expect(1, 122, '\P{^General_Category=LOWERCASE_Letter}', "");
-Expect(0, 96, '\p{General_Category=LOWERCASE_Letter}', "");
-Expect(1, 96, '\p{^General_Category=LOWERCASE_Letter}', "");
-Expect(1, 96, '\P{General_Category=LOWERCASE_Letter}', "");
-Expect(0, 96, '\P{^General_Category=LOWERCASE_Letter}', "");
-Error('\p{Gc=:= Ll}');
-Error('\P{Gc=:= Ll}');
-Expect(1, 122, '\p{Gc=ll}', "");
-Expect(0, 122, '\p{^Gc=ll}', "");
-Expect(0, 122, '\P{Gc=ll}', "");
-Expect(1, 122, '\P{^Gc=ll}', "");
-Expect(0, 96, '\p{Gc=ll}', "");
-Expect(1, 96, '\p{^Gc=ll}', "");
-Expect(1, 96, '\P{Gc=ll}', "");
-Expect(0, 96, '\P{^Gc=ll}', "");
-Expect(1, 122, '\p{Gc=- ll}', "");
-Expect(0, 122, '\p{^Gc=- ll}', "");
-Expect(0, 122, '\P{Gc=- ll}', "");
-Expect(1, 122, '\P{^Gc=- ll}', "");
-Expect(0, 96, '\p{Gc=- ll}', "");
-Expect(1, 96, '\p{^Gc=- ll}', "");
-Expect(1, 96, '\P{Gc=- ll}', "");
-Expect(0, 96, '\P{^Gc=- ll}', "");
-Error('\p{Category=__Lowercase:=Letter}');
-Error('\P{Category=__Lowercase:=Letter}');
-Expect(1, 122, '\p{Category=lowercaseletter}', "");
-Expect(0, 122, '\p{^Category=lowercaseletter}', "");
-Expect(0, 122, '\P{Category=lowercaseletter}', "");
-Expect(1, 122, '\P{^Category=lowercaseletter}', "");
-Expect(0, 96, '\p{Category=lowercaseletter}', "");
-Expect(1, 96, '\p{^Category=lowercaseletter}', "");
-Expect(1, 96, '\P{Category=lowercaseletter}', "");
-Expect(0, 96, '\P{^Category=lowercaseletter}', "");
-Expect(1, 122, '\p{Category=-Lowercase_Letter}', "");
-Expect(0, 122, '\p{^Category=-Lowercase_Letter}', "");
-Expect(0, 122, '\P{Category=-Lowercase_Letter}', "");
-Expect(1, 122, '\P{^Category=-Lowercase_Letter}', "");
-Expect(0, 96, '\p{Category=-Lowercase_Letter}', "");
-Expect(1, 96, '\p{^Category=-Lowercase_Letter}', "");
-Expect(1, 96, '\P{Category=-Lowercase_Letter}', "");
-Expect(0, 96, '\P{^Category=-Lowercase_Letter}', "");
-Error('\p{Is_General_Category= _Ll:=}');
-Error('\P{Is_General_Category= _Ll:=}');
-Expect(1, 122, '\p{Is_General_Category=ll}', "");
-Expect(0, 122, '\p{^Is_General_Category=ll}', "");
-Expect(0, 122, '\P{Is_General_Category=ll}', "");
-Expect(1, 122, '\P{^Is_General_Category=ll}', "");
-Expect(0, 96, '\p{Is_General_Category=ll}', "");
-Expect(1, 96, '\p{^Is_General_Category=ll}', "");
-Expect(1, 96, '\P{Is_General_Category=ll}', "");
-Expect(0, 96, '\P{^Is_General_Category=ll}', "");
-Expect(1, 122, '\p{Is_General_Category: Ll}', "");
-Expect(0, 122, '\p{^Is_General_Category: Ll}', "");
-Expect(0, 122, '\P{Is_General_Category: Ll}', "");
-Expect(1, 122, '\P{^Is_General_Category: Ll}', "");
-Expect(0, 96, '\p{Is_General_Category: Ll}', "");
-Expect(1, 96, '\p{^Is_General_Category: Ll}', "");
-Expect(1, 96, '\P{Is_General_Category: Ll}', "");
-Expect(0, 96, '\P{^Is_General_Category: Ll}', "");
-Error('\p{Is_Gc= :=Lowercase LETTER}');
-Error('\P{Is_Gc= :=Lowercase LETTER}');
-Expect(1, 122, '\p{Is_Gc=lowercaseletter}', "");
-Expect(0, 122, '\p{^Is_Gc=lowercaseletter}', "");
-Expect(0, 122, '\P{Is_Gc=lowercaseletter}', "");
-Expect(1, 122, '\P{^Is_Gc=lowercaseletter}', "");
-Expect(0, 96, '\p{Is_Gc=lowercaseletter}', "");
-Expect(1, 96, '\p{^Is_Gc=lowercaseletter}', "");
-Expect(1, 96, '\P{Is_Gc=lowercaseletter}', "");
-Expect(0, 96, '\P{^Is_Gc=lowercaseletter}', "");
-Expect(1, 122, '\p{Is_Gc=_LOWERCASE LETTER}', "");
-Expect(0, 122, '\p{^Is_Gc=_LOWERCASE LETTER}', "");
-Expect(0, 122, '\P{Is_Gc=_LOWERCASE LETTER}', "");
-Expect(1, 122, '\P{^Is_Gc=_LOWERCASE LETTER}', "");
-Expect(0, 96, '\p{Is_Gc=_LOWERCASE LETTER}', "");
-Expect(1, 96, '\p{^Is_Gc=_LOWERCASE LETTER}', "");
-Expect(1, 96, '\P{Is_Gc=_LOWERCASE LETTER}', "");
-Expect(0, 96, '\P{^Is_Gc=_LOWERCASE LETTER}', "");
-Error('\p{Is_Category= LL/a/}');
-Error('\P{Is_Category= LL/a/}');
-Expect(1, 122, '\p{Is_Category=ll}', "");
-Expect(0, 122, '\p{^Is_Category=ll}', "");
-Expect(0, 122, '\P{Is_Category=ll}', "");
-Expect(1, 122, '\P{^Is_Category=ll}', "");
-Expect(0, 96, '\p{Is_Category=ll}', "");
-Expect(1, 96, '\p{^Is_Category=ll}', "");
-Expect(1, 96, '\P{Is_Category=ll}', "");
-Expect(0, 96, '\P{^Is_Category=ll}', "");
-Expect(1, 122, '\p{Is_Category=_ Ll}', "");
-Expect(0, 122, '\p{^Is_Category=_ Ll}', "");
-Expect(0, 122, '\P{Is_Category=_ Ll}', "");
-Expect(1, 122, '\P{^Is_Category=_ Ll}', "");
-Expect(0, 96, '\p{Is_Category=_ Ll}', "");
-Expect(1, 96, '\p{^Is_Category=_ Ll}', "");
-Expect(1, 96, '\P{Is_Category=_ Ll}', "");
-Expect(0, 96, '\P{^Is_Category=_ Ll}', "");
-Error('\p{General_Category: -:=ClosePunctuation}');
-Error('\P{General_Category: -:=ClosePunctuation}');
-Expect(1, 41, '\p{General_Category=closepunctuation}', "");
-Expect(0, 41, '\p{^General_Category=closepunctuation}', "");
-Expect(0, 41, '\P{General_Category=closepunctuation}', "");
-Expect(1, 41, '\P{^General_Category=closepunctuation}', "");
-Expect(0, 40, '\p{General_Category=closepunctuation}', "");
-Expect(1, 40, '\p{^General_Category=closepunctuation}', "");
-Expect(1, 40, '\P{General_Category=closepunctuation}', "");
-Expect(0, 40, '\P{^General_Category=closepunctuation}', "");
-Expect(1, 41, '\p{General_Category= -CLOSE Punctuation}', "");
-Expect(0, 41, '\p{^General_Category= -CLOSE Punctuation}', "");
-Expect(0, 41, '\P{General_Category= -CLOSE Punctuation}', "");
-Expect(1, 41, '\P{^General_Category= -CLOSE Punctuation}', "");
-Expect(0, 40, '\p{General_Category= -CLOSE Punctuation}', "");
-Expect(1, 40, '\p{^General_Category= -CLOSE Punctuation}', "");
-Expect(1, 40, '\P{General_Category= -CLOSE Punctuation}', "");
-Expect(0, 40, '\P{^General_Category= -CLOSE Punctuation}', "");
-Error('\p{Gc=__pe:=}');
-Error('\P{Gc=__pe:=}');
-Expect(1, 41, '\p{Gc=pe}', "");
-Expect(0, 41, '\p{^Gc=pe}', "");
-Expect(0, 41, '\P{Gc=pe}', "");
-Expect(1, 41, '\P{^Gc=pe}', "");
-Expect(0, 40, '\p{Gc=pe}', "");
-Expect(1, 40, '\p{^Gc=pe}', "");
-Expect(1, 40, '\P{Gc=pe}', "");
-Expect(0, 40, '\P{^Gc=pe}', "");
-Expect(1, 41, '\p{Gc= PE}', "");
-Expect(0, 41, '\p{^Gc= PE}', "");
-Expect(0, 41, '\P{Gc= PE}', "");
-Expect(1, 41, '\P{^Gc= PE}', "");
-Expect(0, 40, '\p{Gc= PE}', "");
-Expect(1, 40, '\p{^Gc= PE}', "");
-Expect(1, 40, '\P{Gc= PE}', "");
-Expect(0, 40, '\P{^Gc= PE}', "");
-Error('\p{Category=-CLOSE:=Punctuation}');
-Error('\P{Category=-CLOSE:=Punctuation}');
-Expect(1, 41, '\p{Category: closepunctuation}', "");
-Expect(0, 41, '\p{^Category: closepunctuation}', "");
-Expect(0, 41, '\P{Category: closepunctuation}', "");
-Expect(1, 41, '\P{^Category: closepunctuation}', "");
-Expect(0, 40, '\p{Category: closepunctuation}', "");
-Expect(1, 40, '\p{^Category: closepunctuation}', "");
-Expect(1, 40, '\P{Category: closepunctuation}', "");
-Expect(0, 40, '\P{^Category: closepunctuation}', "");
-Expect(1, 41, '\p{Category=_-ClosePunctuation}', "");
-Expect(0, 41, '\p{^Category=_-ClosePunctuation}', "");
-Expect(0, 41, '\P{Category=_-ClosePunctuation}', "");
-Expect(1, 41, '\P{^Category=_-ClosePunctuation}', "");
-Expect(0, 40, '\p{Category=_-ClosePunctuation}', "");
-Expect(1, 40, '\p{^Category=_-ClosePunctuation}', "");
-Expect(1, 40, '\P{Category=_-ClosePunctuation}', "");
-Expect(0, 40, '\P{^Category=_-ClosePunctuation}', "");
-Error('\p{Is_General_Category=__PE/a/}');
-Error('\P{Is_General_Category=__PE/a/}');
-Expect(1, 41, '\p{Is_General_Category=pe}', "");
-Expect(0, 41, '\p{^Is_General_Category=pe}', "");
-Expect(0, 41, '\P{Is_General_Category=pe}', "");
-Expect(1, 41, '\P{^Is_General_Category=pe}', "");
-Expect(0, 40, '\p{Is_General_Category=pe}', "");
-Expect(1, 40, '\p{^Is_General_Category=pe}', "");
-Expect(1, 40, '\P{Is_General_Category=pe}', "");
-Expect(0, 40, '\P{^Is_General_Category=pe}', "");
-Expect(1, 41, '\p{Is_General_Category= Pe}', "");
-Expect(0, 41, '\p{^Is_General_Category= Pe}', "");
-Expect(0, 41, '\P{Is_General_Category= Pe}', "");
-Expect(1, 41, '\P{^Is_General_Category= Pe}', "");
-Expect(0, 40, '\p{Is_General_Category= Pe}', "");
-Expect(1, 40, '\p{^Is_General_Category= Pe}', "");
-Expect(1, 40, '\P{Is_General_Category= Pe}', "");
-Expect(0, 40, '\P{^Is_General_Category= Pe}', "");
-Error('\p{Is_Gc= :=close Punctuation}');
-Error('\P{Is_Gc= :=close Punctuation}');
-Expect(1, 41, '\p{Is_Gc=closepunctuation}', "");
-Expect(0, 41, '\p{^Is_Gc=closepunctuation}', "");
-Expect(0, 41, '\P{Is_Gc=closepunctuation}', "");
-Expect(1, 41, '\P{^Is_Gc=closepunctuation}', "");
-Expect(0, 40, '\p{Is_Gc=closepunctuation}', "");
-Expect(1, 40, '\p{^Is_Gc=closepunctuation}', "");
-Expect(1, 40, '\P{Is_Gc=closepunctuation}', "");
-Expect(0, 40, '\P{^Is_Gc=closepunctuation}', "");
-Expect(1, 41, '\p{Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(0, 41, '\p{^Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(0, 41, '\P{Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(1, 41, '\P{^Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(0, 40, '\p{Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(1, 40, '\p{^Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(1, 40, '\P{Is_Gc= CLOSE PUNCTUATION}', "");
-Expect(0, 40, '\P{^Is_Gc= CLOSE PUNCTUATION}', "");
-Error('\p{Is_Category: /a/PE}');
-Error('\P{Is_Category: /a/PE}');
-Expect(1, 41, '\p{Is_Category=pe}', "");
-Expect(0, 41, '\p{^Is_Category=pe}', "");
-Expect(0, 41, '\P{Is_Category=pe}', "");
-Expect(1, 41, '\P{^Is_Category=pe}', "");
-Expect(0, 40, '\p{Is_Category=pe}', "");
-Expect(1, 40, '\p{^Is_Category=pe}', "");
-Expect(1, 40, '\P{Is_Category=pe}', "");
-Expect(0, 40, '\P{^Is_Category=pe}', "");
-Expect(1, 41, '\p{Is_Category=_ Pe}', "");
-Expect(0, 41, '\p{^Is_Category=_ Pe}', "");
-Expect(0, 41, '\P{Is_Category=_ Pe}', "");
-Expect(1, 41, '\P{^Is_Category=_ Pe}', "");
-Expect(0, 40, '\p{Is_Category=_ Pe}', "");
-Expect(1, 40, '\p{^Is_Category=_ Pe}', "");
-Expect(1, 40, '\P{Is_Category=_ Pe}', "");
-Expect(0, 40, '\P{^Is_Category=_ Pe}', "");
-Error('\p{General_Category= /a/Letter}');
-Error('\P{General_Category= /a/Letter}');
-Expect(1, 90, '\p{General_Category=letter}', "");
-Expect(0, 90, '\p{^General_Category=letter}', "");
-Expect(0, 90, '\P{General_Category=letter}', "");
-Expect(1, 90, '\P{^General_Category=letter}', "");
-Expect(0, 64, '\p{General_Category=letter}', "");
-Expect(1, 64, '\p{^General_Category=letter}', "");
-Expect(1, 64, '\P{General_Category=letter}', "");
-Expect(0, 64, '\P{^General_Category=letter}', "");
-Expect(1, 90, '\p{General_Category=- Letter}', "");
-Expect(0, 90, '\p{^General_Category=- Letter}', "");
-Expect(0, 90, '\P{General_Category=- Letter}', "");
-Expect(1, 90, '\P{^General_Category=- Letter}', "");
-Expect(0, 64, '\p{General_Category=- Letter}', "");
-Expect(1, 64, '\p{^General_Category=- Letter}', "");
-Expect(1, 64, '\P{General_Category=- Letter}', "");
-Expect(0, 64, '\P{^General_Category=- Letter}', "");
-Error('\p{Gc=L/a/}');
-Error('\P{Gc=L/a/}');
-Expect(1, 90, '\p{Gc=l}', "");
-Expect(0, 90, '\p{^Gc=l}', "");
-Expect(0, 90, '\P{Gc=l}', "");
-Expect(1, 90, '\P{^Gc=l}', "");
-Expect(0, 64, '\p{Gc=l}', "");
-Expect(1, 64, '\p{^Gc=l}', "");
-Expect(1, 64, '\P{Gc=l}', "");
-Expect(0, 64, '\P{^Gc=l}', "");
-Expect(1, 90, '\p{Gc=- L}', "");
-Expect(0, 90, '\p{^Gc=- L}', "");
-Expect(0, 90, '\P{Gc=- L}', "");
-Expect(1, 90, '\P{^Gc=- L}', "");
-Expect(0, 64, '\p{Gc=- L}', "");
-Expect(1, 64, '\p{^Gc=- L}', "");
-Expect(1, 64, '\P{Gc=- L}', "");
-Expect(0, 64, '\P{^Gc=- L}', "");
-Error('\p{Category: /a/Letter}');
-Error('\P{Category: /a/Letter}');
-Expect(1, 90, '\p{Category: letter}', "");
-Expect(0, 90, '\p{^Category: letter}', "");
-Expect(0, 90, '\P{Category: letter}', "");
-Expect(1, 90, '\P{^Category: letter}', "");
-Expect(0, 64, '\p{Category: letter}', "");
-Expect(1, 64, '\p{^Category: letter}', "");
-Expect(1, 64, '\P{Category: letter}', "");
-Expect(0, 64, '\P{^Category: letter}', "");
-Expect(1, 90, '\p{Category= LETTER}', "");
-Expect(0, 90, '\p{^Category= LETTER}', "");
-Expect(0, 90, '\P{Category= LETTER}', "");
-Expect(1, 90, '\P{^Category= LETTER}', "");
-Expect(0, 64, '\p{Category= LETTER}', "");
-Expect(1, 64, '\p{^Category= LETTER}', "");
-Expect(1, 64, '\P{Category= LETTER}', "");
-Expect(0, 64, '\P{^Category= LETTER}', "");
-Error('\p{Is_General_Category=/a/_ L}');
-Error('\P{Is_General_Category=/a/_ L}');
-Expect(1, 90, '\p{Is_General_Category=l}', "");
-Expect(0, 90, '\p{^Is_General_Category=l}', "");
-Expect(0, 90, '\P{Is_General_Category=l}', "");
-Expect(1, 90, '\P{^Is_General_Category=l}', "");
-Expect(0, 64, '\p{Is_General_Category=l}', "");
-Expect(1, 64, '\p{^Is_General_Category=l}', "");
-Expect(1, 64, '\P{Is_General_Category=l}', "");
-Expect(0, 64, '\P{^Is_General_Category=l}', "");
-Expect(1, 90, '\p{Is_General_Category= _L}', "");
-Expect(0, 90, '\p{^Is_General_Category= _L}', "");
-Expect(0, 90, '\P{Is_General_Category= _L}', "");
-Expect(1, 90, '\P{^Is_General_Category= _L}', "");
-Expect(0, 64, '\p{Is_General_Category= _L}', "");
-Expect(1, 64, '\p{^Is_General_Category= _L}', "");
-Expect(1, 64, '\P{Is_General_Category= _L}', "");
-Expect(0, 64, '\P{^Is_General_Category= _L}', "");
-Error('\p{Is_Gc= /a/LETTER}');
-Error('\P{Is_Gc= /a/LETTER}');
-Expect(1, 90, '\p{Is_Gc=letter}', "");
-Expect(0, 90, '\p{^Is_Gc=letter}', "");
-Expect(0, 90, '\P{Is_Gc=letter}', "");
-Expect(1, 90, '\P{^Is_Gc=letter}', "");
-Expect(0, 64, '\p{Is_Gc=letter}', "");
-Expect(1, 64, '\p{^Is_Gc=letter}', "");
-Expect(1, 64, '\P{Is_Gc=letter}', "");
-Expect(0, 64, '\P{^Is_Gc=letter}', "");
-Expect(1, 90, '\p{Is_Gc=_Letter}', "");
-Expect(0, 90, '\p{^Is_Gc=_Letter}', "");
-Expect(0, 90, '\P{Is_Gc=_Letter}', "");
-Expect(1, 90, '\P{^Is_Gc=_Letter}', "");
-Expect(0, 64, '\p{Is_Gc=_Letter}', "");
-Expect(1, 64, '\p{^Is_Gc=_Letter}', "");
-Expect(1, 64, '\P{Is_Gc=_Letter}', "");
-Expect(0, 64, '\P{^Is_Gc=_Letter}', "");
-Error('\p{Is_Category=:= L}');
-Error('\P{Is_Category=:= L}');
-Expect(1, 90, '\p{Is_Category=l}', "");
-Expect(0, 90, '\p{^Is_Category=l}', "");
-Expect(0, 90, '\P{Is_Category=l}', "");
-Expect(1, 90, '\P{^Is_Category=l}', "");
-Expect(0, 64, '\p{Is_Category=l}', "");
-Expect(1, 64, '\p{^Is_Category=l}', "");
-Expect(1, 64, '\P{Is_Category=l}', "");
-Expect(0, 64, '\P{^Is_Category=l}', "");
-Expect(1, 90, '\p{Is_Category= L}', "");
-Expect(0, 90, '\p{^Is_Category= L}', "");
-Expect(0, 90, '\P{Is_Category= L}', "");
-Expect(1, 90, '\P{^Is_Category= L}', "");
-Expect(0, 64, '\p{Is_Category= L}', "");
-Expect(1, 64, '\p{^Is_Category= L}', "");
-Expect(1, 64, '\P{Is_Category= L}', "");
-Expect(0, 64, '\P{^Is_Category= L}', "");
-Error('\p{General_Category:_ Modifier Symbol:=}');
-Error('\P{General_Category:_ Modifier Symbol:=}');
-Expect(1, 94, '\p{General_Category: modifiersymbol}', "");
-Expect(0, 94, '\p{^General_Category: modifiersymbol}', "");
-Expect(0, 94, '\P{General_Category: modifiersymbol}', "");
-Expect(1, 94, '\P{^General_Category: modifiersymbol}', "");
-Expect(0, 93, '\p{General_Category: modifiersymbol}', "");
-Expect(1, 93, '\p{^General_Category: modifiersymbol}', "");
-Expect(1, 93, '\P{General_Category: modifiersymbol}', "");
-Expect(0, 93, '\P{^General_Category: modifiersymbol}', "");
-Expect(1, 94, '\p{General_Category= MODIFIERsymbol}', "");
-Expect(0, 94, '\p{^General_Category= MODIFIERsymbol}', "");
-Expect(0, 94, '\P{General_Category= MODIFIERsymbol}', "");
-Expect(1, 94, '\P{^General_Category= MODIFIERsymbol}', "");
-Expect(0, 93, '\p{General_Category= MODIFIERsymbol}', "");
-Expect(1, 93, '\p{^General_Category= MODIFIERsymbol}', "");
-Expect(1, 93, '\P{General_Category= MODIFIERsymbol}', "");
-Expect(0, 93, '\P{^General_Category= MODIFIERsymbol}', "");
-Error('\p{Gc=/a/_sk}');
-Error('\P{Gc=/a/_sk}');
-Expect(1, 94, '\p{Gc:sk}', "");
-Expect(0, 94, '\p{^Gc:sk}', "");
-Expect(0, 94, '\P{Gc:sk}', "");
-Expect(1, 94, '\P{^Gc:sk}', "");
-Expect(0, 93, '\p{Gc:sk}', "");
-Expect(1, 93, '\p{^Gc:sk}', "");
-Expect(1, 93, '\P{Gc:sk}', "");
-Expect(0, 93, '\P{^Gc:sk}', "");
-Expect(1, 94, '\p{Gc= _SK}', "");
-Expect(0, 94, '\p{^Gc= _SK}', "");
-Expect(0, 94, '\P{Gc= _SK}', "");
-Expect(1, 94, '\P{^Gc= _SK}', "");
-Expect(0, 93, '\p{Gc= _SK}', "");
-Expect(1, 93, '\p{^Gc= _SK}', "");
-Expect(1, 93, '\P{Gc= _SK}', "");
-Expect(0, 93, '\P{^Gc= _SK}', "");
-Error('\p{Category=_/a/ModifierSymbol}');
-Error('\P{Category=_/a/ModifierSymbol}');
-Expect(1, 94, '\p{Category=modifiersymbol}', "");
-Expect(0, 94, '\p{^Category=modifiersymbol}', "");
-Expect(0, 94, '\P{Category=modifiersymbol}', "");
-Expect(1, 94, '\P{^Category=modifiersymbol}', "");
-Expect(0, 93, '\p{Category=modifiersymbol}', "");
-Expect(1, 93, '\p{^Category=modifiersymbol}', "");
-Expect(1, 93, '\P{Category=modifiersymbol}', "");
-Expect(0, 93, '\P{^Category=modifiersymbol}', "");
-Expect(1, 94, '\p{Category= _ModifierSYMBOL}', "");
-Expect(0, 94, '\p{^Category= _ModifierSYMBOL}', "");
-Expect(0, 94, '\P{Category= _ModifierSYMBOL}', "");
-Expect(1, 94, '\P{^Category= _ModifierSYMBOL}', "");
-Expect(0, 93, '\p{Category= _ModifierSYMBOL}', "");
-Expect(1, 93, '\p{^Category= _ModifierSYMBOL}', "");
-Expect(1, 93, '\P{Category= _ModifierSYMBOL}', "");
-Expect(0, 93, '\P{^Category= _ModifierSYMBOL}', "");
-Error('\p{Is_General_Category= /a/Sk}');
-Error('\P{Is_General_Category= /a/Sk}');
-Expect(1, 94, '\p{Is_General_Category=sk}', "");
-Expect(0, 94, '\p{^Is_General_Category=sk}', "");
-Expect(0, 94, '\P{Is_General_Category=sk}', "");
-Expect(1, 94, '\P{^Is_General_Category=sk}', "");
-Expect(0, 93, '\p{Is_General_Category=sk}', "");
-Expect(1, 93, '\p{^Is_General_Category=sk}', "");
-Expect(1, 93, '\P{Is_General_Category=sk}', "");
-Expect(0, 93, '\P{^Is_General_Category=sk}', "");
-Expect(1, 94, '\p{Is_General_Category=--SK}', "");
-Expect(0, 94, '\p{^Is_General_Category=--SK}', "");
-Expect(0, 94, '\P{Is_General_Category=--SK}', "");
-Expect(1, 94, '\P{^Is_General_Category=--SK}', "");
-Expect(0, 93, '\p{Is_General_Category=--SK}', "");
-Expect(1, 93, '\p{^Is_General_Category=--SK}', "");
-Expect(1, 93, '\P{Is_General_Category=--SK}', "");
-Expect(0, 93, '\P{^Is_General_Category=--SK}', "");
-Error('\p{Is_Gc=_:=Modifier Symbol}');
-Error('\P{Is_Gc=_:=Modifier Symbol}');
-Expect(1, 94, '\p{Is_Gc: modifiersymbol}', "");
-Expect(0, 94, '\p{^Is_Gc: modifiersymbol}', "");
-Expect(0, 94, '\P{Is_Gc: modifiersymbol}', "");
-Expect(1, 94, '\P{^Is_Gc: modifiersymbol}', "");
-Expect(0, 93, '\p{Is_Gc: modifiersymbol}', "");
-Expect(1, 93, '\p{^Is_Gc: modifiersymbol}', "");
-Expect(1, 93, '\P{Is_Gc: modifiersymbol}', "");
-Expect(0, 93, '\P{^Is_Gc: modifiersymbol}', "");
-Expect(1, 94, '\p{Is_Gc= MODIFIER_symbol}', "");
-Expect(0, 94, '\p{^Is_Gc= MODIFIER_symbol}', "");
-Expect(0, 94, '\P{Is_Gc= MODIFIER_symbol}', "");
-Expect(1, 94, '\P{^Is_Gc= MODIFIER_symbol}', "");
-Expect(0, 93, '\p{Is_Gc= MODIFIER_symbol}', "");
-Expect(1, 93, '\p{^Is_Gc= MODIFIER_symbol}', "");
-Expect(1, 93, '\P{Is_Gc= MODIFIER_symbol}', "");
-Expect(0, 93, '\P{^Is_Gc= MODIFIER_symbol}', "");
-Error('\p{Is_Category=_Sk/a/}');
-Error('\P{Is_Category=_Sk/a/}');
-Expect(1, 94, '\p{Is_Category:sk}', "");
-Expect(0, 94, '\p{^Is_Category:sk}', "");
-Expect(0, 94, '\P{Is_Category:sk}', "");
-Expect(1, 94, '\P{^Is_Category:sk}', "");
-Expect(0, 93, '\p{Is_Category:sk}', "");
-Expect(1, 93, '\p{^Is_Category:sk}', "");
-Expect(1, 93, '\P{Is_Category:sk}', "");
-Expect(0, 93, '\P{^Is_Category:sk}', "");
-Expect(1, 94, '\p{Is_Category= Sk}', "");
-Expect(0, 94, '\p{^Is_Category= Sk}', "");
-Expect(0, 94, '\P{Is_Category= Sk}', "");
-Expect(1, 94, '\P{^Is_Category= Sk}', "");
-Expect(0, 93, '\p{Is_Category= Sk}', "");
-Expect(1, 93, '\p{^Is_Category= Sk}', "");
-Expect(1, 93, '\P{Is_Category= Sk}', "");
-Expect(0, 93, '\P{^Is_Category= Sk}', "");
-Error('\p{General_Category=-:=CONTROL}');
-Error('\P{General_Category=-:=CONTROL}');
-Expect(1, 31, '\p{General_Category=control}', "");
-Expect(0, 31, '\p{^General_Category=control}', "");
-Expect(0, 31, '\P{General_Category=control}', "");
-Expect(1, 31, '\P{^General_Category=control}', "");
-Expect(0, 126, '\p{General_Category=control}', "");
-Expect(1, 126, '\p{^General_Category=control}', "");
-Expect(1, 126, '\P{General_Category=control}', "");
-Expect(0, 126, '\P{^General_Category=control}', "");
-Expect(1, 31, '\p{General_Category= _Control}', "");
-Expect(0, 31, '\p{^General_Category= _Control}', "");
-Expect(0, 31, '\P{General_Category= _Control}', "");
-Expect(1, 31, '\P{^General_Category= _Control}', "");
-Expect(0, 126, '\p{General_Category= _Control}', "");
-Expect(1, 126, '\p{^General_Category= _Control}', "");
-Expect(1, 126, '\P{General_Category= _Control}', "");
-Expect(0, 126, '\P{^General_Category= _Control}', "");
-Error('\p{Gc=:=- Cc}');
-Error('\P{Gc=:=- Cc}');
-Expect(1, 31, '\p{Gc=cc}', "");
-Expect(0, 31, '\p{^Gc=cc}', "");
-Expect(0, 31, '\P{Gc=cc}', "");
-Expect(1, 31, '\P{^Gc=cc}', "");
-Expect(0, 126, '\p{Gc=cc}', "");
-Expect(1, 126, '\p{^Gc=cc}', "");
-Expect(1, 126, '\P{Gc=cc}', "");
-Expect(0, 126, '\P{^Gc=cc}', "");
-Expect(1, 31, '\p{Gc= cc}', "");
-Expect(0, 31, '\p{^Gc= cc}', "");
-Expect(0, 31, '\P{Gc= cc}', "");
-Expect(1, 31, '\P{^Gc= cc}', "");
-Expect(0, 126, '\p{Gc= cc}', "");
-Expect(1, 126, '\p{^Gc= cc}', "");
-Expect(1, 126, '\P{Gc= cc}', "");
-Expect(0, 126, '\P{^Gc= cc}', "");
-Error('\p{Category= cntrl:=}');
-Error('\P{Category= cntrl:=}');
-Expect(1, 31, '\p{Category=cntrl}', "");
-Expect(0, 31, '\p{^Category=cntrl}', "");
-Expect(0, 31, '\P{Category=cntrl}', "");
-Expect(1, 31, '\P{^Category=cntrl}', "");
-Expect(0, 126, '\p{Category=cntrl}', "");
-Expect(1, 126, '\p{^Category=cntrl}', "");
-Expect(1, 126, '\P{Category=cntrl}', "");
-Expect(0, 126, '\P{^Category=cntrl}', "");
-Expect(1, 31, '\p{Category=_Cntrl}', "");
-Expect(0, 31, '\p{^Category=_Cntrl}', "");
-Expect(0, 31, '\P{Category=_Cntrl}', "");
-Expect(1, 31, '\P{^Category=_Cntrl}', "");
-Expect(0, 126, '\p{Category=_Cntrl}', "");
-Expect(1, 126, '\p{^Category=_Cntrl}', "");
-Expect(1, 126, '\P{Category=_Cntrl}', "");
-Expect(0, 126, '\P{^Category=_Cntrl}', "");
-Error('\p{Is_General_Category=/a/ _control}');
-Error('\P{Is_General_Category=/a/ _control}');
-Expect(1, 31, '\p{Is_General_Category=control}', "");
-Expect(0, 31, '\p{^Is_General_Category=control}', "");
-Expect(0, 31, '\P{Is_General_Category=control}', "");
-Expect(1, 31, '\P{^Is_General_Category=control}', "");
-Expect(0, 126, '\p{Is_General_Category=control}', "");
-Expect(1, 126, '\p{^Is_General_Category=control}', "");
-Expect(1, 126, '\P{Is_General_Category=control}', "");
-Expect(0, 126, '\P{^Is_General_Category=control}', "");
-Expect(1, 31, '\p{Is_General_Category= control}', "");
-Expect(0, 31, '\p{^Is_General_Category= control}', "");
-Expect(0, 31, '\P{Is_General_Category= control}', "");
-Expect(1, 31, '\P{^Is_General_Category= control}', "");
-Expect(0, 126, '\p{Is_General_Category= control}', "");
-Expect(1, 126, '\p{^Is_General_Category= control}', "");
-Expect(1, 126, '\P{Is_General_Category= control}', "");
-Expect(0, 126, '\P{^Is_General_Category= control}', "");
-Error('\p{Is_Gc= /a/CC}');
-Error('\P{Is_Gc= /a/CC}');
-Expect(1, 31, '\p{Is_Gc=cc}', "");
-Expect(0, 31, '\p{^Is_Gc=cc}', "");
-Expect(0, 31, '\P{Is_Gc=cc}', "");
-Expect(1, 31, '\P{^Is_Gc=cc}', "");
-Expect(0, 126, '\p{Is_Gc=cc}', "");
-Expect(1, 126, '\p{^Is_Gc=cc}', "");
-Expect(1, 126, '\P{Is_Gc=cc}', "");
-Expect(0, 126, '\P{^Is_Gc=cc}', "");
-Expect(1, 31, '\p{Is_Gc: CC}', "");
-Expect(0, 31, '\p{^Is_Gc: CC}', "");
-Expect(0, 31, '\P{Is_Gc: CC}', "");
-Expect(1, 31, '\P{^Is_Gc: CC}', "");
-Expect(0, 126, '\p{Is_Gc: CC}', "");
-Expect(1, 126, '\p{^Is_Gc: CC}', "");
-Expect(1, 126, '\P{Is_Gc: CC}', "");
-Expect(0, 126, '\P{^Is_Gc: CC}', "");
-Error('\p{Is_Category=/a/-Cntrl}');
-Error('\P{Is_Category=/a/-Cntrl}');
-Expect(1, 31, '\p{Is_Category=cntrl}', "");
-Expect(0, 31, '\p{^Is_Category=cntrl}', "");
-Expect(0, 31, '\P{Is_Category=cntrl}', "");
-Expect(1, 31, '\P{^Is_Category=cntrl}', "");
-Expect(0, 126, '\p{Is_Category=cntrl}', "");
-Expect(1, 126, '\p{^Is_Category=cntrl}', "");
-Expect(1, 126, '\P{Is_Category=cntrl}', "");
-Expect(0, 126, '\P{^Is_Category=cntrl}', "");
-Expect(1, 31, '\p{Is_Category= -Cntrl}', "");
-Expect(0, 31, '\p{^Is_Category= -Cntrl}', "");
-Expect(0, 31, '\P{Is_Category= -Cntrl}', "");
-Expect(1, 31, '\P{^Is_Category= -Cntrl}', "");
-Expect(0, 126, '\p{Is_Category= -Cntrl}', "");
-Expect(1, 126, '\p{^Is_Category= -Cntrl}', "");
-Expect(1, 126, '\P{Is_Category= -Cntrl}', "");
-Expect(0, 126, '\P{^Is_Category= -Cntrl}', "");
-Error('\p{General_Category=:=- Line SEPARATOR}');
-Error('\P{General_Category=:=- Line SEPARATOR}');
-Expect(1, 8232, '\p{General_Category=lineseparator}', "");
-Expect(0, 8232, '\p{^General_Category=lineseparator}', "");
-Expect(0, 8232, '\P{General_Category=lineseparator}', "");
-Expect(1, 8232, '\P{^General_Category=lineseparator}', "");
-Expect(0, 8231, '\p{General_Category=lineseparator}', "");
-Expect(1, 8231, '\p{^General_Category=lineseparator}', "");
-Expect(1, 8231, '\P{General_Category=lineseparator}', "");
-Expect(0, 8231, '\P{^General_Category=lineseparator}', "");
-Expect(1, 8232, '\p{General_Category=- line Separator}', "");
-Expect(0, 8232, '\p{^General_Category=- line Separator}', "");
-Expect(0, 8232, '\P{General_Category=- line Separator}', "");
-Expect(1, 8232, '\P{^General_Category=- line Separator}', "");
-Expect(0, 8231, '\p{General_Category=- line Separator}', "");
-Expect(1, 8231, '\p{^General_Category=- line Separator}', "");
-Expect(1, 8231, '\P{General_Category=- line Separator}', "");
-Expect(0, 8231, '\P{^General_Category=- line Separator}', "");
-Error('\p{Gc= :=Zl}');
-Error('\P{Gc= :=Zl}');
-Expect(1, 8232, '\p{Gc=zl}', "");
-Expect(0, 8232, '\p{^Gc=zl}', "");
-Expect(0, 8232, '\P{Gc=zl}', "");
-Expect(1, 8232, '\P{^Gc=zl}', "");
-Expect(0, 8231, '\p{Gc=zl}', "");
-Expect(1, 8231, '\p{^Gc=zl}', "");
-Expect(1, 8231, '\P{Gc=zl}', "");
-Expect(0, 8231, '\P{^Gc=zl}', "");
-Expect(1, 8232, '\p{Gc: -ZL}', "");
-Expect(0, 8232, '\p{^Gc: -ZL}', "");
-Expect(0, 8232, '\P{Gc: -ZL}', "");
-Expect(1, 8232, '\P{^Gc: -ZL}', "");
-Expect(0, 8231, '\p{Gc: -ZL}', "");
-Expect(1, 8231, '\p{^Gc: -ZL}', "");
-Expect(1, 8231, '\P{Gc: -ZL}', "");
-Expect(0, 8231, '\P{^Gc: -ZL}', "");
-Error('\p{Category=/a/ _Line_Separator}');
-Error('\P{Category=/a/ _Line_Separator}');
-Expect(1, 8232, '\p{Category: lineseparator}', "");
-Expect(0, 8232, '\p{^Category: lineseparator}', "");
-Expect(0, 8232, '\P{Category: lineseparator}', "");
-Expect(1, 8232, '\P{^Category: lineseparator}', "");
-Expect(0, 8231, '\p{Category: lineseparator}', "");
-Expect(1, 8231, '\p{^Category: lineseparator}', "");
-Expect(1, 8231, '\P{Category: lineseparator}', "");
-Expect(0, 8231, '\P{^Category: lineseparator}', "");
-Expect(1, 8232, '\p{Category=-_LINE separator}', "");
-Expect(0, 8232, '\p{^Category=-_LINE separator}', "");
-Expect(0, 8232, '\P{Category=-_LINE separator}', "");
-Expect(1, 8232, '\P{^Category=-_LINE separator}', "");
-Expect(0, 8231, '\p{Category=-_LINE separator}', "");
-Expect(1, 8231, '\p{^Category=-_LINE separator}', "");
-Expect(1, 8231, '\P{Category=-_LINE separator}', "");
-Expect(0, 8231, '\P{^Category=-_LINE separator}', "");
-Error('\p{Is_General_Category=_zl/a/}');
-Error('\P{Is_General_Category=_zl/a/}');
-Expect(1, 8232, '\p{Is_General_Category=zl}', "");
-Expect(0, 8232, '\p{^Is_General_Category=zl}', "");
-Expect(0, 8232, '\P{Is_General_Category=zl}', "");
-Expect(1, 8232, '\P{^Is_General_Category=zl}', "");
-Expect(0, 8231, '\p{Is_General_Category=zl}', "");
-Expect(1, 8231, '\p{^Is_General_Category=zl}', "");
-Expect(1, 8231, '\P{Is_General_Category=zl}', "");
-Expect(0, 8231, '\P{^Is_General_Category=zl}', "");
-Expect(1, 8232, '\p{Is_General_Category= zl}', "");
-Expect(0, 8232, '\p{^Is_General_Category= zl}', "");
-Expect(0, 8232, '\P{Is_General_Category= zl}', "");
-Expect(1, 8232, '\P{^Is_General_Category= zl}', "");
-Expect(0, 8231, '\p{Is_General_Category= zl}', "");
-Expect(1, 8231, '\p{^Is_General_Category= zl}', "");
-Expect(1, 8231, '\P{Is_General_Category= zl}', "");
-Expect(0, 8231, '\P{^Is_General_Category= zl}', "");
-Error('\p{Is_Gc=_/a/line SEPARATOR}');
-Error('\P{Is_Gc=_/a/line SEPARATOR}');
-Expect(1, 8232, '\p{Is_Gc=lineseparator}', "");
-Expect(0, 8232, '\p{^Is_Gc=lineseparator}', "");
-Expect(0, 8232, '\P{Is_Gc=lineseparator}', "");
-Expect(1, 8232, '\P{^Is_Gc=lineseparator}', "");
-Expect(0, 8231, '\p{Is_Gc=lineseparator}', "");
-Expect(1, 8231, '\p{^Is_Gc=lineseparator}', "");
-Expect(1, 8231, '\P{Is_Gc=lineseparator}', "");
-Expect(0, 8231, '\P{^Is_Gc=lineseparator}', "");
-Expect(1, 8232, '\p{Is_Gc=_Line_Separator}', "");
-Expect(0, 8232, '\p{^Is_Gc=_Line_Separator}', "");
-Expect(0, 8232, '\P{Is_Gc=_Line_Separator}', "");
-Expect(1, 8232, '\P{^Is_Gc=_Line_Separator}', "");
-Expect(0, 8231, '\p{Is_Gc=_Line_Separator}', "");
-Expect(1, 8231, '\p{^Is_Gc=_Line_Separator}', "");
-Expect(1, 8231, '\P{Is_Gc=_Line_Separator}', "");
-Expect(0, 8231, '\P{^Is_Gc=_Line_Separator}', "");
-Error('\p{Is_Category=/a/zl}');
-Error('\P{Is_Category=/a/zl}');
-Expect(1, 8232, '\p{Is_Category=zl}', "");
-Expect(0, 8232, '\p{^Is_Category=zl}', "");
-Expect(0, 8232, '\P{Is_Category=zl}', "");
-Expect(1, 8232, '\P{^Is_Category=zl}', "");
-Expect(0, 8231, '\p{Is_Category=zl}', "");
-Expect(1, 8231, '\p{^Is_Category=zl}', "");
-Expect(1, 8231, '\P{Is_Category=zl}', "");
-Expect(0, 8231, '\P{^Is_Category=zl}', "");
-Expect(1, 8232, '\p{Is_Category= ZL}', "");
-Expect(0, 8232, '\p{^Is_Category= ZL}', "");
-Expect(0, 8232, '\P{Is_Category= ZL}', "");
-Expect(1, 8232, '\P{^Is_Category= ZL}', "");
-Expect(0, 8231, '\p{Is_Category= ZL}', "");
-Expect(1, 8231, '\p{^Is_Category= ZL}', "");
-Expect(1, 8231, '\P{Is_Category= ZL}', "");
-Expect(0, 8231, '\P{^Is_Category= ZL}', "");
-Error('\p{General_Category: open:=Punctuation}');
-Error('\P{General_Category: open:=Punctuation}');
-Expect(1, 40, '\p{General_Category=openpunctuation}', "");
-Expect(0, 40, '\p{^General_Category=openpunctuation}', "");
-Expect(0, 40, '\P{General_Category=openpunctuation}', "");
-Expect(1, 40, '\P{^General_Category=openpunctuation}', "");
-Expect(0, 39, '\p{General_Category=openpunctuation}', "");
-Expect(1, 39, '\p{^General_Category=openpunctuation}', "");
-Expect(1, 39, '\P{General_Category=openpunctuation}', "");
-Expect(0, 39, '\P{^General_Category=openpunctuation}', "");
-Expect(1, 40, '\p{General_Category=_OPEN-Punctuation}', "");
-Expect(0, 40, '\p{^General_Category=_OPEN-Punctuation}', "");
-Expect(0, 40, '\P{General_Category=_OPEN-Punctuation}', "");
-Expect(1, 40, '\P{^General_Category=_OPEN-Punctuation}', "");
-Expect(0, 39, '\p{General_Category=_OPEN-Punctuation}', "");
-Expect(1, 39, '\p{^General_Category=_OPEN-Punctuation}', "");
-Expect(1, 39, '\P{General_Category=_OPEN-Punctuation}', "");
-Expect(0, 39, '\P{^General_Category=_OPEN-Punctuation}', "");
-Error('\p{Gc=:=_ Ps}');
-Error('\P{Gc=:=_ Ps}');
-Expect(1, 40, '\p{Gc=ps}', "");
-Expect(0, 40, '\p{^Gc=ps}', "");
-Expect(0, 40, '\P{Gc=ps}', "");
-Expect(1, 40, '\P{^Gc=ps}', "");
-Expect(0, 39, '\p{Gc=ps}', "");
-Expect(1, 39, '\p{^Gc=ps}', "");
-Expect(1, 39, '\P{Gc=ps}', "");
-Expect(0, 39, '\P{^Gc=ps}', "");
-Expect(1, 40, '\p{Gc= Ps}', "");
-Expect(0, 40, '\p{^Gc= Ps}', "");
-Expect(0, 40, '\P{Gc= Ps}', "");
-Expect(1, 40, '\P{^Gc= Ps}', "");
-Expect(0, 39, '\p{Gc= Ps}', "");
-Expect(1, 39, '\p{^Gc= Ps}', "");
-Expect(1, 39, '\P{Gc= Ps}', "");
-Expect(0, 39, '\P{^Gc= Ps}', "");
-Error('\p{Category=/a/-_OpenPunctuation}');
-Error('\P{Category=/a/-_OpenPunctuation}');
-Expect(1, 40, '\p{Category:openpunctuation}', "");
-Expect(0, 40, '\p{^Category:openpunctuation}', "");
-Expect(0, 40, '\P{Category:openpunctuation}', "");
-Expect(1, 40, '\P{^Category:openpunctuation}', "");
-Expect(0, 39, '\p{Category:openpunctuation}', "");
-Expect(1, 39, '\p{^Category:openpunctuation}', "");
-Expect(1, 39, '\P{Category:openpunctuation}', "");
-Expect(0, 39, '\P{^Category:openpunctuation}', "");
-Expect(1, 40, '\p{Category=_OPENPunctuation}', "");
-Expect(0, 40, '\p{^Category=_OPENPunctuation}', "");
-Expect(0, 40, '\P{Category=_OPENPunctuation}', "");
-Expect(1, 40, '\P{^Category=_OPENPunctuation}', "");
-Expect(0, 39, '\p{Category=_OPENPunctuation}', "");
-Expect(1, 39, '\p{^Category=_OPENPunctuation}', "");
-Expect(1, 39, '\P{Category=_OPENPunctuation}', "");
-Expect(0, 39, '\P{^Category=_OPENPunctuation}', "");
-Error('\p{Is_General_Category=ps/a/}');
-Error('\P{Is_General_Category=ps/a/}');
-Expect(1, 40, '\p{Is_General_Category=ps}', "");
-Expect(0, 40, '\p{^Is_General_Category=ps}', "");
-Expect(0, 40, '\P{Is_General_Category=ps}', "");
-Expect(1, 40, '\P{^Is_General_Category=ps}', "");
-Expect(0, 39, '\p{Is_General_Category=ps}', "");
-Expect(1, 39, '\p{^Is_General_Category=ps}', "");
-Expect(1, 39, '\P{Is_General_Category=ps}', "");
-Expect(0, 39, '\P{^Is_General_Category=ps}', "");
-Expect(1, 40, '\p{Is_General_Category= -Ps}', "");
-Expect(0, 40, '\p{^Is_General_Category= -Ps}', "");
-Expect(0, 40, '\P{Is_General_Category= -Ps}', "");
-Expect(1, 40, '\P{^Is_General_Category= -Ps}', "");
-Expect(0, 39, '\p{Is_General_Category= -Ps}', "");
-Expect(1, 39, '\p{^Is_General_Category= -Ps}', "");
-Expect(1, 39, '\P{Is_General_Category= -Ps}', "");
-Expect(0, 39, '\P{^Is_General_Category= -Ps}', "");
-Error('\p{Is_Gc=- open:=Punctuation}');
-Error('\P{Is_Gc=- open:=Punctuation}');
-Expect(1, 40, '\p{Is_Gc=openpunctuation}', "");
-Expect(0, 40, '\p{^Is_Gc=openpunctuation}', "");
-Expect(0, 40, '\P{Is_Gc=openpunctuation}', "");
-Expect(1, 40, '\P{^Is_Gc=openpunctuation}', "");
-Expect(0, 39, '\p{Is_Gc=openpunctuation}', "");
-Expect(1, 39, '\p{^Is_Gc=openpunctuation}', "");
-Expect(1, 39, '\P{Is_Gc=openpunctuation}', "");
-Expect(0, 39, '\P{^Is_Gc=openpunctuation}', "");
-Expect(1, 40, '\p{Is_Gc=Open_Punctuation}', "");
-Expect(0, 40, '\p{^Is_Gc=Open_Punctuation}', "");
-Expect(0, 40, '\P{Is_Gc=Open_Punctuation}', "");
-Expect(1, 40, '\P{^Is_Gc=Open_Punctuation}', "");
-Expect(0, 39, '\p{Is_Gc=Open_Punctuation}', "");
-Expect(1, 39, '\p{^Is_Gc=Open_Punctuation}', "");
-Expect(1, 39, '\P{Is_Gc=Open_Punctuation}', "");
-Expect(0, 39, '\P{^Is_Gc=Open_Punctuation}', "");
-Error('\p{Is_Category=/a/PS}');
-Error('\P{Is_Category=/a/PS}');
-Expect(1, 40, '\p{Is_Category=ps}', "");
-Expect(0, 40, '\p{^Is_Category=ps}', "");
-Expect(0, 40, '\P{Is_Category=ps}', "");
-Expect(1, 40, '\P{^Is_Category=ps}', "");
-Expect(0, 39, '\p{Is_Category=ps}', "");
-Expect(1, 39, '\p{^Is_Category=ps}', "");
-Expect(1, 39, '\P{Is_Category=ps}', "");
-Expect(0, 39, '\P{^Is_Category=ps}', "");
-Expect(1, 40, '\p{Is_Category=_Ps}', "");
-Expect(0, 40, '\p{^Is_Category=_Ps}', "");
-Expect(0, 40, '\P{Is_Category=_Ps}', "");
-Expect(1, 40, '\P{^Is_Category=_Ps}', "");
-Expect(0, 39, '\p{Is_Category=_Ps}', "");
-Expect(1, 39, '\p{^Is_Category=_Ps}', "");
-Expect(1, 39, '\P{Is_Category=_Ps}', "");
-Expect(0, 39, '\P{^Is_Category=_Ps}', "");
-Error('\p{General_Category=:=-_math Symbol}');
-Error('\P{General_Category=:=-_math Symbol}');
-Expect(1, 43, '\p{General_Category=mathsymbol}', "");
-Expect(0, 43, '\p{^General_Category=mathsymbol}', "");
-Expect(0, 43, '\P{General_Category=mathsymbol}', "");
-Expect(1, 43, '\P{^General_Category=mathsymbol}', "");
-Expect(0, 42, '\p{General_Category=mathsymbol}', "");
-Expect(1, 42, '\p{^General_Category=mathsymbol}', "");
-Expect(1, 42, '\P{General_Category=mathsymbol}', "");
-Expect(0, 42, '\P{^General_Category=mathsymbol}', "");
-Expect(1, 43, '\p{General_Category: Math symbol}', "");
-Expect(0, 43, '\p{^General_Category: Math symbol}', "");
-Expect(0, 43, '\P{General_Category: Math symbol}', "");
-Expect(1, 43, '\P{^General_Category: Math symbol}', "");
-Expect(0, 42, '\p{General_Category: Math symbol}', "");
-Expect(1, 42, '\p{^General_Category: Math symbol}', "");
-Expect(1, 42, '\P{General_Category: Math symbol}', "");
-Expect(0, 42, '\P{^General_Category: Math symbol}', "");
-Error('\p{Gc=-_Sm:=}');
-Error('\P{Gc=-_Sm:=}');
-Expect(1, 43, '\p{Gc=sm}', "");
-Expect(0, 43, '\p{^Gc=sm}', "");
-Expect(0, 43, '\P{Gc=sm}', "");
-Expect(1, 43, '\P{^Gc=sm}', "");
-Expect(0, 42, '\p{Gc=sm}', "");
-Expect(1, 42, '\p{^Gc=sm}', "");
-Expect(1, 42, '\P{Gc=sm}', "");
-Expect(0, 42, '\P{^Gc=sm}', "");
-Expect(1, 43, '\p{Gc=-Sm}', "");
-Expect(0, 43, '\p{^Gc=-Sm}', "");
-Expect(0, 43, '\P{Gc=-Sm}', "");
-Expect(1, 43, '\P{^Gc=-Sm}', "");
-Expect(0, 42, '\p{Gc=-Sm}', "");
-Expect(1, 42, '\p{^Gc=-Sm}', "");
-Expect(1, 42, '\P{Gc=-Sm}', "");
-Expect(0, 42, '\P{^Gc=-Sm}', "");
-Error('\p{Category: math:=SYMBOL}');
-Error('\P{Category: math:=SYMBOL}');
-Expect(1, 43, '\p{Category=mathsymbol}', "");
-Expect(0, 43, '\p{^Category=mathsymbol}', "");
-Expect(0, 43, '\P{Category=mathsymbol}', "");
-Expect(1, 43, '\P{^Category=mathsymbol}', "");
-Expect(0, 42, '\p{Category=mathsymbol}', "");
-Expect(1, 42, '\p{^Category=mathsymbol}', "");
-Expect(1, 42, '\P{Category=mathsymbol}', "");
-Expect(0, 42, '\P{^Category=mathsymbol}', "");
-Expect(1, 43, '\p{Category= math_Symbol}', "");
-Expect(0, 43, '\p{^Category= math_Symbol}', "");
-Expect(0, 43, '\P{Category= math_Symbol}', "");
-Expect(1, 43, '\P{^Category= math_Symbol}', "");
-Expect(0, 42, '\p{Category= math_Symbol}', "");
-Expect(1, 42, '\p{^Category= math_Symbol}', "");
-Expect(1, 42, '\P{Category= math_Symbol}', "");
-Expect(0, 42, '\P{^Category= math_Symbol}', "");
-Error('\p{Is_General_Category:-/a/sm}');
-Error('\P{Is_General_Category:-/a/sm}');
-Expect(1, 43, '\p{Is_General_Category=sm}', "");
-Expect(0, 43, '\p{^Is_General_Category=sm}', "");
-Expect(0, 43, '\P{Is_General_Category=sm}', "");
-Expect(1, 43, '\P{^Is_General_Category=sm}', "");
-Expect(0, 42, '\p{Is_General_Category=sm}', "");
-Expect(1, 42, '\p{^Is_General_Category=sm}', "");
-Expect(1, 42, '\P{Is_General_Category=sm}', "");
-Expect(0, 42, '\P{^Is_General_Category=sm}', "");
-Expect(1, 43, '\p{Is_General_Category=_SM}', "");
-Expect(0, 43, '\p{^Is_General_Category=_SM}', "");
-Expect(0, 43, '\P{Is_General_Category=_SM}', "");
-Expect(1, 43, '\P{^Is_General_Category=_SM}', "");
-Expect(0, 42, '\p{Is_General_Category=_SM}', "");
-Expect(1, 42, '\p{^Is_General_Category=_SM}', "");
-Expect(1, 42, '\P{Is_General_Category=_SM}', "");
-Expect(0, 42, '\P{^Is_General_Category=_SM}', "");
-Error('\p{Is_Gc=:=Math-symbol}');
-Error('\P{Is_Gc=:=Math-symbol}');
-Expect(1, 43, '\p{Is_Gc=mathsymbol}', "");
-Expect(0, 43, '\p{^Is_Gc=mathsymbol}', "");
-Expect(0, 43, '\P{Is_Gc=mathsymbol}', "");
-Expect(1, 43, '\P{^Is_Gc=mathsymbol}', "");
-Expect(0, 42, '\p{Is_Gc=mathsymbol}', "");
-Expect(1, 42, '\p{^Is_Gc=mathsymbol}', "");
-Expect(1, 42, '\P{Is_Gc=mathsymbol}', "");
-Expect(0, 42, '\P{^Is_Gc=mathsymbol}', "");
-Expect(1, 43, '\p{Is_Gc= MathSymbol}', "");
-Expect(0, 43, '\p{^Is_Gc= MathSymbol}', "");
-Expect(0, 43, '\P{Is_Gc= MathSymbol}', "");
-Expect(1, 43, '\P{^Is_Gc= MathSymbol}', "");
-Expect(0, 42, '\p{Is_Gc= MathSymbol}', "");
-Expect(1, 42, '\p{^Is_Gc= MathSymbol}', "");
-Expect(1, 42, '\P{Is_Gc= MathSymbol}', "");
-Expect(0, 42, '\P{^Is_Gc= MathSymbol}', "");
-Error('\p{Is_Category=Sm/a/}');
-Error('\P{Is_Category=Sm/a/}');
-Expect(1, 43, '\p{Is_Category=sm}', "");
-Expect(0, 43, '\p{^Is_Category=sm}', "");
-Expect(0, 43, '\P{Is_Category=sm}', "");
-Expect(1, 43, '\P{^Is_Category=sm}', "");
-Expect(0, 42, '\p{Is_Category=sm}', "");
-Expect(1, 42, '\p{^Is_Category=sm}', "");
-Expect(1, 42, '\P{Is_Category=sm}', "");
-Expect(0, 42, '\P{^Is_Category=sm}', "");
-Expect(1, 43, '\p{Is_Category= Sm}', "");
-Expect(0, 43, '\p{^Is_Category= Sm}', "");
-Expect(0, 43, '\P{Is_Category= Sm}', "");
-Expect(1, 43, '\P{^Is_Category= Sm}', "");
-Expect(0, 42, '\p{Is_Category= Sm}', "");
-Expect(1, 42, '\p{^Is_Category= Sm}', "");
-Expect(1, 42, '\P{Is_Category= Sm}', "");
-Expect(0, 42, '\P{^Is_Category= Sm}', "");
-Error('\p{General_Category=_:=other Letter}');
-Error('\P{General_Category=_:=other Letter}');
-Expect(1, 443, '\p{General_Category=otherletter}', "");
-Expect(0, 443, '\p{^General_Category=otherletter}', "");
-Expect(0, 443, '\P{General_Category=otherletter}', "");
-Expect(1, 443, '\P{^General_Category=otherletter}', "");
-Expect(0, 442, '\p{General_Category=otherletter}', "");
-Expect(1, 442, '\p{^General_Category=otherletter}', "");
-Expect(1, 442, '\P{General_Category=otherletter}', "");
-Expect(0, 442, '\P{^General_Category=otherletter}', "");
-Expect(1, 443, '\p{General_Category:_Other_letter}', "");
-Expect(0, 443, '\p{^General_Category:_Other_letter}', "");
-Expect(0, 443, '\P{General_Category:_Other_letter}', "");
-Expect(1, 443, '\P{^General_Category:_Other_letter}', "");
-Expect(0, 442, '\p{General_Category:_Other_letter}', "");
-Expect(1, 442, '\p{^General_Category:_Other_letter}', "");
-Expect(1, 442, '\P{General_Category:_Other_letter}', "");
-Expect(0, 442, '\P{^General_Category:_Other_letter}', "");
-Error('\p{Gc=_LO/a/}');
-Error('\P{Gc=_LO/a/}');
-Expect(1, 443, '\p{Gc=lo}', "");
-Expect(0, 443, '\p{^Gc=lo}', "");
-Expect(0, 443, '\P{Gc=lo}', "");
-Expect(1, 443, '\P{^Gc=lo}', "");
-Expect(0, 442, '\p{Gc=lo}', "");
-Expect(1, 442, '\p{^Gc=lo}', "");
-Expect(1, 442, '\P{Gc=lo}', "");
-Expect(0, 442, '\P{^Gc=lo}', "");
-Expect(1, 443, '\p{Gc: --Lo}', "");
-Expect(0, 443, '\p{^Gc: --Lo}', "");
-Expect(0, 443, '\P{Gc: --Lo}', "");
-Expect(1, 443, '\P{^Gc: --Lo}', "");
-Expect(0, 442, '\p{Gc: --Lo}', "");
-Expect(1, 442, '\p{^Gc: --Lo}', "");
-Expect(1, 442, '\P{Gc: --Lo}', "");
-Expect(0, 442, '\P{^Gc: --Lo}', "");
-Error('\p{Category=_:=Other-Letter}');
-Error('\P{Category=_:=Other-Letter}');
-Expect(1, 443, '\p{Category=otherletter}', "");
-Expect(0, 443, '\p{^Category=otherletter}', "");
-Expect(0, 443, '\P{Category=otherletter}', "");
-Expect(1, 443, '\P{^Category=otherletter}', "");
-Expect(0, 442, '\p{Category=otherletter}', "");
-Expect(1, 442, '\p{^Category=otherletter}', "");
-Expect(1, 442, '\P{Category=otherletter}', "");
-Expect(0, 442, '\P{^Category=otherletter}', "");
-Expect(1, 443, '\p{Category=__Other letter}', "");
-Expect(0, 443, '\p{^Category=__Other letter}', "");
-Expect(0, 443, '\P{Category=__Other letter}', "");
-Expect(1, 443, '\P{^Category=__Other letter}', "");
-Expect(0, 442, '\p{Category=__Other letter}', "");
-Expect(1, 442, '\p{^Category=__Other letter}', "");
-Expect(1, 442, '\P{Category=__Other letter}', "");
-Expect(0, 442, '\P{^Category=__Other letter}', "");
-Error('\p{Is_General_Category= :=Lo}');
-Error('\P{Is_General_Category= :=Lo}');
-Expect(1, 443, '\p{Is_General_Category: lo}', "");
-Expect(0, 443, '\p{^Is_General_Category: lo}', "");
-Expect(0, 443, '\P{Is_General_Category: lo}', "");
-Expect(1, 443, '\P{^Is_General_Category: lo}', "");
-Expect(0, 442, '\p{Is_General_Category: lo}', "");
-Expect(1, 442, '\p{^Is_General_Category: lo}', "");
-Expect(1, 442, '\P{Is_General_Category: lo}', "");
-Expect(0, 442, '\P{^Is_General_Category: lo}', "");
-Expect(1, 443, '\p{Is_General_Category: Lo}', "");
-Expect(0, 443, '\p{^Is_General_Category: Lo}', "");
-Expect(0, 443, '\P{Is_General_Category: Lo}', "");
-Expect(1, 443, '\P{^Is_General_Category: Lo}', "");
-Expect(0, 442, '\p{Is_General_Category: Lo}', "");
-Expect(1, 442, '\p{^Is_General_Category: Lo}', "");
-Expect(1, 442, '\P{Is_General_Category: Lo}', "");
-Expect(0, 442, '\P{^Is_General_Category: Lo}', "");
-Error('\p{Is_Gc= :=other-LETTER}');
-Error('\P{Is_Gc= :=other-LETTER}');
-Expect(1, 443, '\p{Is_Gc=otherletter}', "");
-Expect(0, 443, '\p{^Is_Gc=otherletter}', "");
-Expect(0, 443, '\P{Is_Gc=otherletter}', "");
-Expect(1, 443, '\P{^Is_Gc=otherletter}', "");
-Expect(0, 442, '\p{Is_Gc=otherletter}', "");
-Expect(1, 442, '\p{^Is_Gc=otherletter}', "");
-Expect(1, 442, '\P{Is_Gc=otherletter}', "");
-Expect(0, 442, '\P{^Is_Gc=otherletter}', "");
-Expect(1, 443, '\p{Is_Gc=- Other-letter}', "");
-Expect(0, 443, '\p{^Is_Gc=- Other-letter}', "");
-Expect(0, 443, '\P{Is_Gc=- Other-letter}', "");
-Expect(1, 443, '\P{^Is_Gc=- Other-letter}', "");
-Expect(0, 442, '\p{Is_Gc=- Other-letter}', "");
-Expect(1, 442, '\p{^Is_Gc=- Other-letter}', "");
-Expect(1, 442, '\P{Is_Gc=- Other-letter}', "");
-Expect(0, 442, '\P{^Is_Gc=- Other-letter}', "");
-Error('\p{Is_Category=:=- LO}');
-Error('\P{Is_Category=:=- LO}');
-Expect(1, 443, '\p{Is_Category=lo}', "");
-Expect(0, 443, '\p{^Is_Category=lo}', "");
-Expect(0, 443, '\P{Is_Category=lo}', "");
-Expect(1, 443, '\P{^Is_Category=lo}', "");
-Expect(0, 442, '\p{Is_Category=lo}', "");
-Expect(1, 442, '\p{^Is_Category=lo}', "");
-Expect(1, 442, '\P{Is_Category=lo}', "");
-Expect(0, 442, '\P{^Is_Category=lo}', "");
-Expect(1, 443, '\p{Is_Category= _Lo}', "");
-Expect(0, 443, '\p{^Is_Category= _Lo}', "");
-Expect(0, 443, '\P{Is_Category= _Lo}', "");
-Expect(1, 443, '\P{^Is_Category= _Lo}', "");
-Expect(0, 442, '\p{Is_Category= _Lo}', "");
-Expect(1, 442, '\p{^Is_Category= _Lo}', "");
-Expect(1, 442, '\P{Is_Category= _Lo}', "");
-Expect(0, 442, '\P{^Is_Category= _Lo}', "");
-Error('\p{General_Category= Separator:=}');
-Error('\P{General_Category= Separator:=}');
-Expect(1, 32, '\p{General_Category=separator}', "");
-Expect(0, 32, '\p{^General_Category=separator}', "");
-Expect(0, 32, '\P{General_Category=separator}', "");
-Expect(1, 32, '\P{^General_Category=separator}', "");
-Expect(0, 31, '\p{General_Category=separator}', "");
-Expect(1, 31, '\p{^General_Category=separator}', "");
-Expect(1, 31, '\P{General_Category=separator}', "");
-Expect(0, 31, '\P{^General_Category=separator}', "");
-Expect(1, 32, '\p{General_Category:SEPARATOR}', "");
-Expect(0, 32, '\p{^General_Category:SEPARATOR}', "");
-Expect(0, 32, '\P{General_Category:SEPARATOR}', "");
-Expect(1, 32, '\P{^General_Category:SEPARATOR}', "");
-Expect(0, 31, '\p{General_Category:SEPARATOR}', "");
-Expect(1, 31, '\p{^General_Category:SEPARATOR}', "");
-Expect(1, 31, '\P{General_Category:SEPARATOR}', "");
-Expect(0, 31, '\P{^General_Category:SEPARATOR}', "");
-Error('\p{Gc=:=Z}');
-Error('\P{Gc=:=Z}');
-Expect(1, 32, '\p{Gc=z}', "");
-Expect(0, 32, '\p{^Gc=z}', "");
-Expect(0, 32, '\P{Gc=z}', "");
-Expect(1, 32, '\P{^Gc=z}', "");
-Expect(0, 31, '\p{Gc=z}', "");
-Expect(1, 31, '\p{^Gc=z}', "");
-Expect(1, 31, '\P{Gc=z}', "");
-Expect(0, 31, '\P{^Gc=z}', "");
-Expect(1, 32, '\p{Gc=Z}', "");
-Expect(0, 32, '\p{^Gc=Z}', "");
-Expect(0, 32, '\P{Gc=Z}', "");
-Expect(1, 32, '\P{^Gc=Z}', "");
-Expect(0, 31, '\p{Gc=Z}', "");
-Expect(1, 31, '\p{^Gc=Z}', "");
-Expect(1, 31, '\P{Gc=Z}', "");
-Expect(0, 31, '\P{^Gc=Z}', "");
-Error('\p{Category: separator:=}');
-Error('\P{Category: separator:=}');
-Expect(1, 32, '\p{Category: separator}', "");
-Expect(0, 32, '\p{^Category: separator}', "");
-Expect(0, 32, '\P{Category: separator}', "");
-Expect(1, 32, '\P{^Category: separator}', "");
-Expect(0, 31, '\p{Category: separator}', "");
-Expect(1, 31, '\p{^Category: separator}', "");
-Expect(1, 31, '\P{Category: separator}', "");
-Expect(0, 31, '\P{^Category: separator}', "");
-Expect(1, 32, '\p{Category: _Separator}', "");
-Expect(0, 32, '\p{^Category: _Separator}', "");
-Expect(0, 32, '\P{Category: _Separator}', "");
-Expect(1, 32, '\P{^Category: _Separator}', "");
-Expect(0, 31, '\p{Category: _Separator}', "");
-Expect(1, 31, '\p{^Category: _Separator}', "");
-Expect(1, 31, '\P{Category: _Separator}', "");
-Expect(0, 31, '\P{^Category: _Separator}', "");
-Error('\p{Is_General_Category=/a/ z}');
-Error('\P{Is_General_Category=/a/ z}');
-Expect(1, 32, '\p{Is_General_Category=z}', "");
-Expect(0, 32, '\p{^Is_General_Category=z}', "");
-Expect(0, 32, '\P{Is_General_Category=z}', "");
-Expect(1, 32, '\P{^Is_General_Category=z}', "");
-Expect(0, 31, '\p{Is_General_Category=z}', "");
-Expect(1, 31, '\p{^Is_General_Category=z}', "");
-Expect(1, 31, '\P{Is_General_Category=z}', "");
-Expect(0, 31, '\P{^Is_General_Category=z}', "");
-Expect(1, 32, '\p{Is_General_Category= Z}', "");
-Expect(0, 32, '\p{^Is_General_Category= Z}', "");
-Expect(0, 32, '\P{Is_General_Category= Z}', "");
-Expect(1, 32, '\P{^Is_General_Category= Z}', "");
-Expect(0, 31, '\p{Is_General_Category= Z}', "");
-Expect(1, 31, '\p{^Is_General_Category= Z}', "");
-Expect(1, 31, '\P{Is_General_Category= Z}', "");
-Expect(0, 31, '\P{^Is_General_Category= Z}', "");
-Error('\p{Is_Gc=:= separator}');
-Error('\P{Is_Gc=:= separator}');
-Expect(1, 32, '\p{Is_Gc=separator}', "");
-Expect(0, 32, '\p{^Is_Gc=separator}', "");
-Expect(0, 32, '\P{Is_Gc=separator}', "");
-Expect(1, 32, '\P{^Is_Gc=separator}', "");
-Expect(0, 31, '\p{Is_Gc=separator}', "");
-Expect(1, 31, '\p{^Is_Gc=separator}', "");
-Expect(1, 31, '\P{Is_Gc=separator}', "");
-Expect(0, 31, '\P{^Is_Gc=separator}', "");
-Expect(1, 32, '\p{Is_Gc:_ SEPARATOR}', "");
-Expect(0, 32, '\p{^Is_Gc:_ SEPARATOR}', "");
-Expect(0, 32, '\P{Is_Gc:_ SEPARATOR}', "");
-Expect(1, 32, '\P{^Is_Gc:_ SEPARATOR}', "");
-Expect(0, 31, '\p{Is_Gc:_ SEPARATOR}', "");
-Expect(1, 31, '\p{^Is_Gc:_ SEPARATOR}', "");
-Expect(1, 31, '\P{Is_Gc:_ SEPARATOR}', "");
-Expect(0, 31, '\P{^Is_Gc:_ SEPARATOR}', "");
-Error('\p{Is_Category=-Z:=}');
-Error('\P{Is_Category=-Z:=}');
-Expect(1, 32, '\p{Is_Category=z}', "");
-Expect(0, 32, '\p{^Is_Category=z}', "");
-Expect(0, 32, '\P{Is_Category=z}', "");
-Expect(1, 32, '\P{^Is_Category=z}', "");
-Expect(0, 31, '\p{Is_Category=z}', "");
-Expect(1, 31, '\p{^Is_Category=z}', "");
-Expect(1, 31, '\P{Is_Category=z}', "");
-Expect(0, 31, '\P{^Is_Category=z}', "");
-Expect(1, 32, '\p{Is_Category= z}', "");
-Expect(0, 32, '\p{^Is_Category= z}', "");
-Expect(0, 32, '\P{Is_Category= z}', "");
-Expect(1, 32, '\P{^Is_Category= z}', "");
-Expect(0, 31, '\p{Is_Category= z}', "");
-Expect(1, 31, '\p{^Is_Category= z}', "");
-Expect(1, 31, '\P{Is_Category= z}', "");
-Expect(0, 31, '\P{^Is_Category= z}', "");
-Error('\p{General_Category=:=-_other-Punctuation}');
-Error('\P{General_Category=:=-_other-Punctuation}');
-Expect(1, 35, '\p{General_Category=otherpunctuation}', "");
-Expect(0, 35, '\p{^General_Category=otherpunctuation}', "");
-Expect(0, 35, '\P{General_Category=otherpunctuation}', "");
-Expect(1, 35, '\P{^General_Category=otherpunctuation}', "");
-Expect(0, 32, '\p{General_Category=otherpunctuation}', "");
-Expect(1, 32, '\p{^General_Category=otherpunctuation}', "");
-Expect(1, 32, '\P{General_Category=otherpunctuation}', "");
-Expect(0, 32, '\P{^General_Category=otherpunctuation}', "");
-Expect(1, 35, '\p{General_Category= other_punctuation}', "");
-Expect(0, 35, '\p{^General_Category= other_punctuation}', "");
-Expect(0, 35, '\P{General_Category= other_punctuation}', "");
-Expect(1, 35, '\P{^General_Category= other_punctuation}', "");
-Expect(0, 32, '\p{General_Category= other_punctuation}', "");
-Expect(1, 32, '\p{^General_Category= other_punctuation}', "");
-Expect(1, 32, '\P{General_Category= other_punctuation}', "");
-Expect(0, 32, '\P{^General_Category= other_punctuation}', "");
-Error('\p{Gc=_ PO:=}');
-Error('\P{Gc=_ PO:=}');
-Expect(1, 35, '\p{Gc=po}', "");
-Expect(0, 35, '\p{^Gc=po}', "");
-Expect(0, 35, '\P{Gc=po}', "");
-Expect(1, 35, '\P{^Gc=po}', "");
-Expect(0, 32, '\p{Gc=po}', "");
-Expect(1, 32, '\p{^Gc=po}', "");
-Expect(1, 32, '\P{Gc=po}', "");
-Expect(0, 32, '\P{^Gc=po}', "");
-Expect(1, 35, '\p{Gc=_ po}', "");
-Expect(0, 35, '\p{^Gc=_ po}', "");
-Expect(0, 35, '\P{Gc=_ po}', "");
-Expect(1, 35, '\P{^Gc=_ po}', "");
-Expect(0, 32, '\p{Gc=_ po}', "");
-Expect(1, 32, '\p{^Gc=_ po}', "");
-Expect(1, 32, '\P{Gc=_ po}', "");
-Expect(0, 32, '\P{^Gc=_ po}', "");
-Error('\p{Category=-:=OTHER punctuation}');
-Error('\P{Category=-:=OTHER punctuation}');
-Expect(1, 35, '\p{Category=otherpunctuation}', "");
-Expect(0, 35, '\p{^Category=otherpunctuation}', "");
-Expect(0, 35, '\P{Category=otherpunctuation}', "");
-Expect(1, 35, '\P{^Category=otherpunctuation}', "");
-Expect(0, 32, '\p{Category=otherpunctuation}', "");
-Expect(1, 32, '\p{^Category=otherpunctuation}', "");
-Expect(1, 32, '\P{Category=otherpunctuation}', "");
-Expect(0, 32, '\P{^Category=otherpunctuation}', "");
-Expect(1, 35, '\p{Category= -Other-Punctuation}', "");
-Expect(0, 35, '\p{^Category= -Other-Punctuation}', "");
-Expect(0, 35, '\P{Category= -Other-Punctuation}', "");
-Expect(1, 35, '\P{^Category= -Other-Punctuation}', "");
-Expect(0, 32, '\p{Category= -Other-Punctuation}', "");
-Expect(1, 32, '\p{^Category= -Other-Punctuation}', "");
-Expect(1, 32, '\P{Category= -Other-Punctuation}', "");
-Expect(0, 32, '\P{^Category= -Other-Punctuation}', "");
-Error('\p{Is_General_Category= :=po}');
-Error('\P{Is_General_Category= :=po}');
-Expect(1, 35, '\p{Is_General_Category=po}', "");
-Expect(0, 35, '\p{^Is_General_Category=po}', "");
-Expect(0, 35, '\P{Is_General_Category=po}', "");
-Expect(1, 35, '\P{^Is_General_Category=po}', "");
-Expect(0, 32, '\p{Is_General_Category=po}', "");
-Expect(1, 32, '\p{^Is_General_Category=po}', "");
-Expect(1, 32, '\P{Is_General_Category=po}', "");
-Expect(0, 32, '\P{^Is_General_Category=po}', "");
-Expect(1, 35, '\p{Is_General_Category: po}', "");
-Expect(0, 35, '\p{^Is_General_Category: po}', "");
-Expect(0, 35, '\P{Is_General_Category: po}', "");
-Expect(1, 35, '\P{^Is_General_Category: po}', "");
-Expect(0, 32, '\p{Is_General_Category: po}', "");
-Expect(1, 32, '\p{^Is_General_Category: po}', "");
-Expect(1, 32, '\P{Is_General_Category: po}', "");
-Expect(0, 32, '\P{^Is_General_Category: po}', "");
-Error('\p{Is_Gc=other_PUNCTUATION:=}');
-Error('\P{Is_Gc=other_PUNCTUATION:=}');
-Expect(1, 35, '\p{Is_Gc=otherpunctuation}', "");
-Expect(0, 35, '\p{^Is_Gc=otherpunctuation}', "");
-Expect(0, 35, '\P{Is_Gc=otherpunctuation}', "");
-Expect(1, 35, '\P{^Is_Gc=otherpunctuation}', "");
-Expect(0, 32, '\p{Is_Gc=otherpunctuation}', "");
-Expect(1, 32, '\p{^Is_Gc=otherpunctuation}', "");
-Expect(1, 32, '\P{Is_Gc=otherpunctuation}', "");
-Expect(0, 32, '\P{^Is_Gc=otherpunctuation}', "");
-Expect(1, 35, '\p{Is_Gc: OTHER_punctuation}', "");
-Expect(0, 35, '\p{^Is_Gc: OTHER_punctuation}', "");
-Expect(0, 35, '\P{Is_Gc: OTHER_punctuation}', "");
-Expect(1, 35, '\P{^Is_Gc: OTHER_punctuation}', "");
-Expect(0, 32, '\p{Is_Gc: OTHER_punctuation}', "");
-Expect(1, 32, '\p{^Is_Gc: OTHER_punctuation}', "");
-Expect(1, 32, '\P{Is_Gc: OTHER_punctuation}', "");
-Expect(0, 32, '\P{^Is_Gc: OTHER_punctuation}', "");
-Error('\p{Is_Category= PO:=}');
-Error('\P{Is_Category= PO:=}');
-Expect(1, 35, '\p{Is_Category: po}', "");
-Expect(0, 35, '\p{^Is_Category: po}', "");
-Expect(0, 35, '\P{Is_Category: po}', "");
-Expect(1, 35, '\P{^Is_Category: po}', "");
-Expect(0, 32, '\p{Is_Category: po}', "");
-Expect(1, 32, '\p{^Is_Category: po}', "");
-Expect(1, 32, '\P{Is_Category: po}', "");
-Expect(0, 32, '\P{^Is_Category: po}', "");
-Expect(1, 35, '\p{Is_Category= Po}', "");
-Expect(0, 35, '\p{^Is_Category= Po}', "");
-Expect(0, 35, '\P{Is_Category= Po}', "");
-Expect(1, 35, '\P{^Is_Category= Po}', "");
-Expect(0, 32, '\p{Is_Category= Po}', "");
-Expect(1, 32, '\p{^Is_Category= Po}', "");
-Expect(1, 32, '\P{Is_Category= Po}', "");
-Expect(0, 32, '\P{^Is_Category= Po}', "");
-Error('\p{General_Category= SPACE Separator:=}');
-Error('\P{General_Category= SPACE Separator:=}');
-Expect(1, 32, '\p{General_Category=spaceseparator}', "");
-Expect(0, 32, '\p{^General_Category=spaceseparator}', "");
-Expect(0, 32, '\P{General_Category=spaceseparator}', "");
-Expect(1, 32, '\P{^General_Category=spaceseparator}', "");
-Expect(0, 31, '\p{General_Category=spaceseparator}', "");
-Expect(1, 31, '\p{^General_Category=spaceseparator}', "");
-Expect(1, 31, '\P{General_Category=spaceseparator}', "");
-Expect(0, 31, '\P{^General_Category=spaceseparator}', "");
-Expect(1, 32, '\p{General_Category: - SPACE separator}', "");
-Expect(0, 32, '\p{^General_Category: - SPACE separator}', "");
-Expect(0, 32, '\P{General_Category: - SPACE separator}', "");
-Expect(1, 32, '\P{^General_Category: - SPACE separator}', "");
-Expect(0, 31, '\p{General_Category: - SPACE separator}', "");
-Expect(1, 31, '\p{^General_Category: - SPACE separator}', "");
-Expect(1, 31, '\P{General_Category: - SPACE separator}', "");
-Expect(0, 31, '\P{^General_Category: - SPACE separator}', "");
-Error('\p{Gc= Zs/a/}');
-Error('\P{Gc= Zs/a/}');
-Expect(1, 32, '\p{Gc=zs}', "");
-Expect(0, 32, '\p{^Gc=zs}', "");
-Expect(0, 32, '\P{Gc=zs}', "");
-Expect(1, 32, '\P{^Gc=zs}', "");
-Expect(0, 31, '\p{Gc=zs}', "");
-Expect(1, 31, '\p{^Gc=zs}', "");
-Expect(1, 31, '\P{Gc=zs}', "");
-Expect(0, 31, '\P{^Gc=zs}', "");
-Expect(1, 32, '\p{Gc= -Zs}', "");
-Expect(0, 32, '\p{^Gc= -Zs}', "");
-Expect(0, 32, '\P{Gc= -Zs}', "");
-Expect(1, 32, '\P{^Gc= -Zs}', "");
-Expect(0, 31, '\p{Gc= -Zs}', "");
-Expect(1, 31, '\p{^Gc= -Zs}', "");
-Expect(1, 31, '\P{Gc= -Zs}', "");
-Expect(0, 31, '\P{^Gc= -Zs}', "");
-Error('\p{Category: /a/ _space_Separator}');
-Error('\P{Category: /a/ _space_Separator}');
-Expect(1, 32, '\p{Category=spaceseparator}', "");
-Expect(0, 32, '\p{^Category=spaceseparator}', "");
-Expect(0, 32, '\P{Category=spaceseparator}', "");
-Expect(1, 32, '\P{^Category=spaceseparator}', "");
-Expect(0, 31, '\p{Category=spaceseparator}', "");
-Expect(1, 31, '\p{^Category=spaceseparator}', "");
-Expect(1, 31, '\P{Category=spaceseparator}', "");
-Expect(0, 31, '\P{^Category=spaceseparator}', "");
-Expect(1, 32, '\p{Category= Space_Separator}', "");
-Expect(0, 32, '\p{^Category= Space_Separator}', "");
-Expect(0, 32, '\P{Category= Space_Separator}', "");
-Expect(1, 32, '\P{^Category= Space_Separator}', "");
-Expect(0, 31, '\p{Category= Space_Separator}', "");
-Expect(1, 31, '\p{^Category= Space_Separator}', "");
-Expect(1, 31, '\P{Category= Space_Separator}', "");
-Expect(0, 31, '\P{^Category= Space_Separator}', "");
-Error('\p{Is_General_Category=/a/ZS}');
-Error('\P{Is_General_Category=/a/ZS}');
-Expect(1, 32, '\p{Is_General_Category=zs}', "");
-Expect(0, 32, '\p{^Is_General_Category=zs}', "");
-Expect(0, 32, '\P{Is_General_Category=zs}', "");
-Expect(1, 32, '\P{^Is_General_Category=zs}', "");
-Expect(0, 31, '\p{Is_General_Category=zs}', "");
-Expect(1, 31, '\p{^Is_General_Category=zs}', "");
-Expect(1, 31, '\P{Is_General_Category=zs}', "");
-Expect(0, 31, '\P{^Is_General_Category=zs}', "");
-Expect(1, 32, '\p{Is_General_Category= Zs}', "");
-Expect(0, 32, '\p{^Is_General_Category= Zs}', "");
-Expect(0, 32, '\P{Is_General_Category= Zs}', "");
-Expect(1, 32, '\P{^Is_General_Category= Zs}', "");
-Expect(0, 31, '\p{Is_General_Category= Zs}', "");
-Expect(1, 31, '\p{^Is_General_Category= Zs}', "");
-Expect(1, 31, '\P{Is_General_Category= Zs}', "");
-Expect(0, 31, '\P{^Is_General_Category= Zs}', "");
-Error('\p{Is_Gc=/a/ Space Separator}');
-Error('\P{Is_Gc=/a/ Space Separator}');
-Expect(1, 32, '\p{Is_Gc=spaceseparator}', "");
-Expect(0, 32, '\p{^Is_Gc=spaceseparator}', "");
-Expect(0, 32, '\P{Is_Gc=spaceseparator}', "");
-Expect(1, 32, '\P{^Is_Gc=spaceseparator}', "");
-Expect(0, 31, '\p{Is_Gc=spaceseparator}', "");
-Expect(1, 31, '\p{^Is_Gc=spaceseparator}', "");
-Expect(1, 31, '\P{Is_Gc=spaceseparator}', "");
-Expect(0, 31, '\P{^Is_Gc=spaceseparator}', "");
-Expect(1, 32, '\p{Is_Gc: SpaceSeparator}', "");
-Expect(0, 32, '\p{^Is_Gc: SpaceSeparator}', "");
-Expect(0, 32, '\P{Is_Gc: SpaceSeparator}', "");
-Expect(1, 32, '\P{^Is_Gc: SpaceSeparator}', "");
-Expect(0, 31, '\p{Is_Gc: SpaceSeparator}', "");
-Expect(1, 31, '\p{^Is_Gc: SpaceSeparator}', "");
-Expect(1, 31, '\P{Is_Gc: SpaceSeparator}', "");
-Expect(0, 31, '\P{^Is_Gc: SpaceSeparator}', "");
-Error('\p{Is_Category= /a/ZS}');
-Error('\P{Is_Category= /a/ZS}');
-Expect(1, 32, '\p{Is_Category=zs}', "");
-Expect(0, 32, '\p{^Is_Category=zs}', "");
-Expect(0, 32, '\P{Is_Category=zs}', "");
-Expect(1, 32, '\P{^Is_Category=zs}', "");
-Expect(0, 31, '\p{Is_Category=zs}', "");
-Expect(1, 31, '\p{^Is_Category=zs}', "");
-Expect(1, 31, '\P{Is_Category=zs}', "");
-Expect(0, 31, '\P{^Is_Category=zs}', "");
-Expect(1, 32, '\p{Is_Category: -ZS}', "");
-Expect(0, 32, '\p{^Is_Category: -ZS}', "");
-Expect(0, 32, '\P{Is_Category: -ZS}', "");
-Expect(1, 32, '\P{^Is_Category: -ZS}', "");
-Expect(0, 31, '\p{Is_Category: -ZS}', "");
-Expect(1, 31, '\p{^Is_Category: -ZS}', "");
-Expect(1, 31, '\P{Is_Category: -ZS}', "");
-Expect(0, 31, '\P{^Is_Category: -ZS}', "");
-Error('\p{General_Category: Other/a/NUMBER}');
-Error('\P{General_Category: Other/a/NUMBER}');
-Expect(1, 179, '\p{General_Category=othernumber}', "");
-Expect(0, 179, '\p{^General_Category=othernumber}', "");
-Expect(0, 179, '\P{General_Category=othernumber}', "");
-Expect(1, 179, '\P{^General_Category=othernumber}', "");
-Expect(0, 177, '\p{General_Category=othernumber}', "");
-Expect(1, 177, '\p{^General_Category=othernumber}', "");
-Expect(1, 177, '\P{General_Category=othernumber}', "");
-Expect(0, 177, '\P{^General_Category=othernumber}', "");
-Expect(1, 179, '\p{General_Category= Other_Number}', "");
-Expect(0, 179, '\p{^General_Category= Other_Number}', "");
-Expect(0, 179, '\P{General_Category= Other_Number}', "");
-Expect(1, 179, '\P{^General_Category= Other_Number}', "");
-Expect(0, 177, '\p{General_Category= Other_Number}', "");
-Expect(1, 177, '\p{^General_Category= Other_Number}', "");
-Expect(1, 177, '\P{General_Category= Other_Number}', "");
-Expect(0, 177, '\P{^General_Category= Other_Number}', "");
-Error('\p{Gc=_:=NO}');
-Error('\P{Gc=_:=NO}');
-Expect(1, 179, '\p{Gc: no}', "");
-Expect(0, 179, '\p{^Gc: no}', "");
-Expect(0, 179, '\P{Gc: no}', "");
-Expect(1, 179, '\P{^Gc: no}', "");
-Expect(0, 177, '\p{Gc: no}', "");
-Expect(1, 177, '\p{^Gc: no}', "");
-Expect(1, 177, '\P{Gc: no}', "");
-Expect(0, 177, '\P{^Gc: no}', "");
-Expect(1, 179, '\p{Gc= NO}', "");
-Expect(0, 179, '\p{^Gc= NO}', "");
-Expect(0, 179, '\P{Gc= NO}', "");
-Expect(1, 179, '\P{^Gc= NO}', "");
-Expect(0, 177, '\p{Gc= NO}', "");
-Expect(1, 177, '\p{^Gc= NO}', "");
-Expect(1, 177, '\P{Gc= NO}', "");
-Expect(0, 177, '\P{^Gc= NO}', "");
-Error('\p{Category=_-OTHER Number:=}');
-Error('\P{Category=_-OTHER Number:=}');
-Expect(1, 179, '\p{Category=othernumber}', "");
-Expect(0, 179, '\p{^Category=othernumber}', "");
-Expect(0, 179, '\P{Category=othernumber}', "");
-Expect(1, 179, '\P{^Category=othernumber}', "");
-Expect(0, 177, '\p{Category=othernumber}', "");
-Expect(1, 177, '\p{^Category=othernumber}', "");
-Expect(1, 177, '\P{Category=othernumber}', "");
-Expect(0, 177, '\P{^Category=othernumber}', "");
-Expect(1, 179, '\p{Category= OTHER NUMBER}', "");
-Expect(0, 179, '\p{^Category= OTHER NUMBER}', "");
-Expect(0, 179, '\P{Category= OTHER NUMBER}', "");
-Expect(1, 179, '\P{^Category= OTHER NUMBER}', "");
-Expect(0, 177, '\p{Category= OTHER NUMBER}', "");
-Expect(1, 177, '\p{^Category= OTHER NUMBER}', "");
-Expect(1, 177, '\P{Category= OTHER NUMBER}', "");
-Expect(0, 177, '\P{^Category= OTHER NUMBER}', "");
-Error('\p{Is_General_Category=__No:=}');
-Error('\P{Is_General_Category=__No:=}');
-Expect(1, 179, '\p{Is_General_Category=no}', "");
-Expect(0, 179, '\p{^Is_General_Category=no}', "");
-Expect(0, 179, '\P{Is_General_Category=no}', "");
-Expect(1, 179, '\P{^Is_General_Category=no}', "");
-Expect(0, 177, '\p{Is_General_Category=no}', "");
-Expect(1, 177, '\p{^Is_General_Category=no}', "");
-Expect(1, 177, '\P{Is_General_Category=no}', "");
-Expect(0, 177, '\P{^Is_General_Category=no}', "");
-Expect(1, 179, '\p{Is_General_Category= No}', "");
-Expect(0, 179, '\p{^Is_General_Category= No}', "");
-Expect(0, 179, '\P{Is_General_Category= No}', "");
-Expect(1, 179, '\P{^Is_General_Category= No}', "");
-Expect(0, 177, '\p{Is_General_Category= No}', "");
-Expect(1, 177, '\p{^Is_General_Category= No}', "");
-Expect(1, 177, '\P{Is_General_Category= No}', "");
-Expect(0, 177, '\P{^Is_General_Category= No}', "");
-Error('\p{Is_Gc=- Other/a/Number}');
-Error('\P{Is_Gc=- Other/a/Number}');
-Expect(1, 179, '\p{Is_Gc=othernumber}', "");
-Expect(0, 179, '\p{^Is_Gc=othernumber}', "");
-Expect(0, 179, '\P{Is_Gc=othernumber}', "");
-Expect(1, 179, '\P{^Is_Gc=othernumber}', "");
-Expect(0, 177, '\p{Is_Gc=othernumber}', "");
-Expect(1, 177, '\p{^Is_Gc=othernumber}', "");
-Expect(1, 177, '\P{Is_Gc=othernumber}', "");
-Expect(0, 177, '\P{^Is_Gc=othernumber}', "");
-Expect(1, 179, '\p{Is_Gc: Other_number}', "");
-Expect(0, 179, '\p{^Is_Gc: Other_number}', "");
-Expect(0, 179, '\P{Is_Gc: Other_number}', "");
-Expect(1, 179, '\P{^Is_Gc: Other_number}', "");
-Expect(0, 177, '\p{Is_Gc: Other_number}', "");
-Expect(1, 177, '\p{^Is_Gc: Other_number}', "");
-Expect(1, 177, '\P{Is_Gc: Other_number}', "");
-Expect(0, 177, '\P{^Is_Gc: Other_number}', "");
-Error('\p{Is_Category=:= -No}');
-Error('\P{Is_Category=:= -No}');
-Expect(1, 179, '\p{Is_Category=no}', "");
-Expect(0, 179, '\p{^Is_Category=no}', "");
-Expect(0, 179, '\P{Is_Category=no}', "");
-Expect(1, 179, '\P{^Is_Category=no}', "");
-Expect(0, 177, '\p{Is_Category=no}', "");
-Expect(1, 177, '\p{^Is_Category=no}', "");
-Expect(1, 177, '\P{Is_Category=no}', "");
-Expect(0, 177, '\P{^Is_Category=no}', "");
-Expect(1, 179, '\p{Is_Category=- No}', "");
-Expect(0, 179, '\p{^Is_Category=- No}', "");
-Expect(0, 179, '\P{Is_Category=- No}', "");
-Expect(1, 179, '\P{^Is_Category=- No}', "");
-Expect(0, 177, '\p{Is_Category=- No}', "");
-Expect(1, 177, '\p{^Is_Category=- No}', "");
-Expect(1, 177, '\P{Is_Category=- No}', "");
-Expect(0, 177, '\P{^Is_Category=- No}', "");
-Error('\p{General_Category= -mark/a/}');
-Error('\P{General_Category= -mark/a/}');
-Expect(1, 879, '\p{General_Category=mark}', "");
-Expect(0, 879, '\p{^General_Category=mark}', "");
-Expect(0, 879, '\P{General_Category=mark}', "");
-Expect(1, 879, '\P{^General_Category=mark}', "");
-Expect(0, 767, '\p{General_Category=mark}', "");
-Expect(1, 767, '\p{^General_Category=mark}', "");
-Expect(1, 767, '\P{General_Category=mark}', "");
-Expect(0, 767, '\P{^General_Category=mark}', "");
-Expect(1, 879, '\p{General_Category=_Mark}', "");
-Expect(0, 879, '\p{^General_Category=_Mark}', "");
-Expect(0, 879, '\P{General_Category=_Mark}', "");
-Expect(1, 879, '\P{^General_Category=_Mark}', "");
-Expect(0, 767, '\p{General_Category=_Mark}', "");
-Expect(1, 767, '\p{^General_Category=_Mark}', "");
-Expect(1, 767, '\P{General_Category=_Mark}', "");
-Expect(0, 767, '\P{^General_Category=_Mark}', "");
-Error('\p{Gc=--M/a/}');
-Error('\P{Gc=--M/a/}');
-Expect(1, 879, '\p{Gc=m}', "");
-Expect(0, 879, '\p{^Gc=m}', "");
-Expect(0, 879, '\P{Gc=m}', "");
-Expect(1, 879, '\P{^Gc=m}', "");
-Expect(0, 767, '\p{Gc=m}', "");
-Expect(1, 767, '\p{^Gc=m}', "");
-Expect(1, 767, '\P{Gc=m}', "");
-Expect(0, 767, '\P{^Gc=m}', "");
-Expect(1, 879, '\p{Gc= M}', "");
-Expect(0, 879, '\p{^Gc= M}', "");
-Expect(0, 879, '\P{Gc= M}', "");
-Expect(1, 879, '\P{^Gc= M}', "");
-Expect(0, 767, '\p{Gc= M}', "");
-Expect(1, 767, '\p{^Gc= M}', "");
-Expect(1, 767, '\P{Gc= M}', "");
-Expect(0, 767, '\P{^Gc= M}', "");
-Error('\p{Category=/a/Mark}');
-Error('\P{Category=/a/Mark}');
-Expect(1, 879, '\p{Category=mark}', "");
-Expect(0, 879, '\p{^Category=mark}', "");
-Expect(0, 879, '\P{Category=mark}', "");
-Expect(1, 879, '\P{^Category=mark}', "");
-Expect(0, 767, '\p{Category=mark}', "");
-Expect(1, 767, '\p{^Category=mark}', "");
-Expect(1, 767, '\P{Category=mark}', "");
-Expect(0, 767, '\P{^Category=mark}', "");
-Expect(1, 879, '\p{Category: Mark}', "");
-Expect(0, 879, '\p{^Category: Mark}', "");
-Expect(0, 879, '\P{Category: Mark}', "");
-Expect(1, 879, '\P{^Category: Mark}', "");
-Expect(0, 767, '\p{Category: Mark}', "");
-Expect(1, 767, '\p{^Category: Mark}', "");
-Expect(1, 767, '\P{Category: Mark}', "");
-Expect(0, 767, '\P{^Category: Mark}', "");
-Error('\p{Is_General_Category: /a/ _M}');
-Error('\P{Is_General_Category: /a/ _M}');
-Expect(1, 879, '\p{Is_General_Category=m}', "");
-Expect(0, 879, '\p{^Is_General_Category=m}', "");
-Expect(0, 879, '\P{Is_General_Category=m}', "");
-Expect(1, 879, '\P{^Is_General_Category=m}', "");
-Expect(0, 767, '\p{Is_General_Category=m}', "");
-Expect(1, 767, '\p{^Is_General_Category=m}', "");
-Expect(1, 767, '\P{Is_General_Category=m}', "");
-Expect(0, 767, '\P{^Is_General_Category=m}', "");
-Expect(1, 879, '\p{Is_General_Category= _M}', "");
-Expect(0, 879, '\p{^Is_General_Category= _M}', "");
-Expect(0, 879, '\P{Is_General_Category= _M}', "");
-Expect(1, 879, '\P{^Is_General_Category= _M}', "");
-Expect(0, 767, '\p{Is_General_Category= _M}', "");
-Expect(1, 767, '\p{^Is_General_Category= _M}', "");
-Expect(1, 767, '\P{Is_General_Category= _M}', "");
-Expect(0, 767, '\P{^Is_General_Category= _M}', "");
-Error('\p{Is_Gc=_/a/Mark}');
-Error('\P{Is_Gc=_/a/Mark}');
-Expect(1, 879, '\p{Is_Gc=mark}', "");
-Expect(0, 879, '\p{^Is_Gc=mark}', "");
-Expect(0, 879, '\P{Is_Gc=mark}', "");
-Expect(1, 879, '\P{^Is_Gc=mark}', "");
-Expect(0, 767, '\p{Is_Gc=mark}', "");
-Expect(1, 767, '\p{^Is_Gc=mark}', "");
-Expect(1, 767, '\P{Is_Gc=mark}', "");
-Expect(0, 767, '\P{^Is_Gc=mark}', "");
-Expect(1, 879, '\p{Is_Gc=_-Mark}', "");
-Expect(0, 879, '\p{^Is_Gc=_-Mark}', "");
-Expect(0, 879, '\P{Is_Gc=_-Mark}', "");
-Expect(1, 879, '\P{^Is_Gc=_-Mark}', "");
-Expect(0, 767, '\p{Is_Gc=_-Mark}', "");
-Expect(1, 767, '\p{^Is_Gc=_-Mark}', "");
-Expect(1, 767, '\P{Is_Gc=_-Mark}', "");
-Expect(0, 767, '\P{^Is_Gc=_-Mark}', "");
-Error('\p{Is_Category= :=m}');
-Error('\P{Is_Category= :=m}');
-Expect(1, 879, '\p{Is_Category=m}', "");
-Expect(0, 879, '\p{^Is_Category=m}', "");
-Expect(0, 879, '\P{Is_Category=m}', "");
-Expect(1, 879, '\P{^Is_Category=m}', "");
-Expect(0, 767, '\p{Is_Category=m}', "");
-Expect(1, 767, '\p{^Is_Category=m}', "");
-Expect(1, 767, '\P{Is_Category=m}', "");
-Expect(0, 767, '\P{^Is_Category=m}', "");
-Expect(1, 879, '\p{Is_Category= M}', "");
-Expect(0, 879, '\p{^Is_Category= M}', "");
-Expect(0, 879, '\P{Is_Category= M}', "");
-Expect(1, 879, '\P{^Is_Category= M}', "");
-Expect(0, 767, '\p{Is_Category= M}', "");
-Expect(1, 767, '\p{^Is_Category= M}', "");
-Expect(1, 767, '\P{Is_Category= M}', "");
-Expect(0, 767, '\P{^Is_Category= M}', "");
-Error('\p{General_Category=_ Other/a/}');
-Error('\P{General_Category=_ Other/a/}');
-Expect(1, 31, '\p{General_Category=other}', "");
-Expect(0, 31, '\p{^General_Category=other}', "");
-Expect(0, 31, '\P{General_Category=other}', "");
-Expect(1, 31, '\P{^General_Category=other}', "");
-Expect(0, 126, '\p{General_Category=other}', "");
-Expect(1, 126, '\p{^General_Category=other}', "");
-Expect(1, 126, '\P{General_Category=other}', "");
-Expect(0, 126, '\P{^General_Category=other}', "");
-Expect(1, 31, '\p{General_Category=- other}', "");
-Expect(0, 31, '\p{^General_Category=- other}', "");
-Expect(0, 31, '\P{General_Category=- other}', "");
-Expect(1, 31, '\P{^General_Category=- other}', "");
-Expect(0, 126, '\p{General_Category=- other}', "");
-Expect(1, 126, '\p{^General_Category=- other}', "");
-Expect(1, 126, '\P{General_Category=- other}', "");
-Expect(0, 126, '\P{^General_Category=- other}', "");
-Error('\p{Gc=__C/a/}');
-Error('\P{Gc=__C/a/}');
-Expect(1, 31, '\p{Gc=c}', "");
-Expect(0, 31, '\p{^Gc=c}', "");
-Expect(0, 31, '\P{Gc=c}', "");
-Expect(1, 31, '\P{^Gc=c}', "");
-Expect(0, 126, '\p{Gc=c}', "");
-Expect(1, 126, '\p{^Gc=c}', "");
-Expect(1, 126, '\P{Gc=c}', "");
-Expect(0, 126, '\P{^Gc=c}', "");
-Expect(1, 31, '\p{Gc:_C}', "");
-Expect(0, 31, '\p{^Gc:_C}', "");
-Expect(0, 31, '\P{Gc:_C}', "");
-Expect(1, 31, '\P{^Gc:_C}', "");
-Expect(0, 126, '\p{Gc:_C}', "");
-Expect(1, 126, '\p{^Gc:_C}', "");
-Expect(1, 126, '\P{Gc:_C}', "");
-Expect(0, 126, '\P{^Gc:_C}', "");
-Error('\p{Category=- other:=}');
-Error('\P{Category=- other:=}');
-Expect(1, 31, '\p{Category: other}', "");
-Expect(0, 31, '\p{^Category: other}', "");
-Expect(0, 31, '\P{Category: other}', "");
-Expect(1, 31, '\P{^Category: other}', "");
-Expect(0, 126, '\p{Category: other}', "");
-Expect(1, 126, '\p{^Category: other}', "");
-Expect(1, 126, '\P{Category: other}', "");
-Expect(0, 126, '\P{^Category: other}', "");
-Expect(1, 31, '\p{Category=--OTHER}', "");
-Expect(0, 31, '\p{^Category=--OTHER}', "");
-Expect(0, 31, '\P{Category=--OTHER}', "");
-Expect(1, 31, '\P{^Category=--OTHER}', "");
-Expect(0, 126, '\p{Category=--OTHER}', "");
-Expect(1, 126, '\p{^Category=--OTHER}', "");
-Expect(1, 126, '\P{Category=--OTHER}', "");
-Expect(0, 126, '\P{^Category=--OTHER}', "");
-Error('\p{Is_General_Category=/a/ -c}');
-Error('\P{Is_General_Category=/a/ -c}');
-Expect(1, 31, '\p{Is_General_Category=c}', "");
-Expect(0, 31, '\p{^Is_General_Category=c}', "");
-Expect(0, 31, '\P{Is_General_Category=c}', "");
-Expect(1, 31, '\P{^Is_General_Category=c}', "");
-Expect(0, 126, '\p{Is_General_Category=c}', "");
-Expect(1, 126, '\p{^Is_General_Category=c}', "");
-Expect(1, 126, '\P{Is_General_Category=c}', "");
-Expect(0, 126, '\P{^Is_General_Category=c}', "");
-Expect(1, 31, '\p{Is_General_Category= _C}', "");
-Expect(0, 31, '\p{^Is_General_Category= _C}', "");
-Expect(0, 31, '\P{Is_General_Category= _C}', "");
-Expect(1, 31, '\P{^Is_General_Category= _C}', "");
-Expect(0, 126, '\p{Is_General_Category= _C}', "");
-Expect(1, 126, '\p{^Is_General_Category= _C}', "");
-Expect(1, 126, '\P{Is_General_Category= _C}', "");
-Expect(0, 126, '\P{^Is_General_Category= _C}', "");
-Error('\p{Is_Gc: /a/ OTHER}');
-Error('\P{Is_Gc: /a/ OTHER}');
-Expect(1, 31, '\p{Is_Gc=other}', "");
-Expect(0, 31, '\p{^Is_Gc=other}', "");
-Expect(0, 31, '\P{Is_Gc=other}', "");
-Expect(1, 31, '\P{^Is_Gc=other}', "");
-Expect(0, 126, '\p{Is_Gc=other}', "");
-Expect(1, 126, '\p{^Is_Gc=other}', "");
-Expect(1, 126, '\P{Is_Gc=other}', "");
-Expect(0, 126, '\P{^Is_Gc=other}', "");
-Expect(1, 31, '\p{Is_Gc= Other}', "");
-Expect(0, 31, '\p{^Is_Gc= Other}', "");
-Expect(0, 31, '\P{Is_Gc= Other}', "");
-Expect(1, 31, '\P{^Is_Gc= Other}', "");
-Expect(0, 126, '\p{Is_Gc= Other}', "");
-Expect(1, 126, '\p{^Is_Gc= Other}', "");
-Expect(1, 126, '\P{Is_Gc= Other}', "");
-Expect(0, 126, '\P{^Is_Gc= Other}', "");
-Error('\p{Is_Category: C/a/}');
-Error('\P{Is_Category: C/a/}');
-Expect(1, 31, '\p{Is_Category=c}', "");
-Expect(0, 31, '\p{^Is_Category=c}', "");
-Expect(0, 31, '\P{Is_Category=c}', "");
-Expect(1, 31, '\P{^Is_Category=c}', "");
-Expect(0, 126, '\p{Is_Category=c}', "");
-Expect(1, 126, '\p{^Is_Category=c}', "");
-Expect(1, 126, '\P{Is_Category=c}', "");
-Expect(0, 126, '\P{^Is_Category=c}', "");
-Expect(1, 31, '\p{Is_Category=--c}', "");
-Expect(0, 31, '\p{^Is_Category=--c}', "");
-Expect(0, 31, '\P{Is_Category=--c}', "");
-Expect(1, 31, '\P{^Is_Category=--c}', "");
-Expect(0, 126, '\p{Is_Category=--c}', "");
-Expect(1, 126, '\p{^Is_Category=--c}', "");
-Expect(1, 126, '\P{Is_Category=--c}', "");
-Expect(0, 126, '\P{^Is_Category=--c}', "");
-Error('\p{General_Category= /a/ENCLOSING_mark}');
-Error('\P{General_Category= /a/ENCLOSING_mark}');
-Expect(1, 1161, '\p{General_Category=enclosingmark}', "");
-Expect(0, 1161, '\p{^General_Category=enclosingmark}', "");
-Expect(0, 1161, '\P{General_Category=enclosingmark}', "");
-Expect(1, 1161, '\P{^General_Category=enclosingmark}', "");
-Expect(0, 1159, '\p{General_Category=enclosingmark}', "");
-Expect(1, 1159, '\p{^General_Category=enclosingmark}', "");
-Expect(1, 1159, '\P{General_Category=enclosingmark}', "");
-Expect(0, 1159, '\P{^General_Category=enclosingmark}', "");
-Expect(1, 1161, '\p{General_Category= -Enclosing Mark}', "");
-Expect(0, 1161, '\p{^General_Category= -Enclosing Mark}', "");
-Expect(0, 1161, '\P{General_Category= -Enclosing Mark}', "");
-Expect(1, 1161, '\P{^General_Category= -Enclosing Mark}', "");
-Expect(0, 1159, '\p{General_Category= -Enclosing Mark}', "");
-Expect(1, 1159, '\p{^General_Category= -Enclosing Mark}', "");
-Expect(1, 1159, '\P{General_Category= -Enclosing Mark}', "");
-Expect(0, 1159, '\P{^General_Category= -Enclosing Mark}', "");
-Error('\p{Gc= Me:=}');
-Error('\P{Gc= Me:=}');
-Expect(1, 1161, '\p{Gc=me}', "");
-Expect(0, 1161, '\p{^Gc=me}', "");
-Expect(0, 1161, '\P{Gc=me}', "");
-Expect(1, 1161, '\P{^Gc=me}', "");
-Expect(0, 1159, '\p{Gc=me}', "");
-Expect(1, 1159, '\p{^Gc=me}', "");
-Expect(1, 1159, '\P{Gc=me}', "");
-Expect(0, 1159, '\P{^Gc=me}', "");
-Expect(1, 1161, '\p{Gc=-_Me}', "");
-Expect(0, 1161, '\p{^Gc=-_Me}', "");
-Expect(0, 1161, '\P{Gc=-_Me}', "");
-Expect(1, 1161, '\P{^Gc=-_Me}', "");
-Expect(0, 1159, '\p{Gc=-_Me}', "");
-Expect(1, 1159, '\p{^Gc=-_Me}', "");
-Expect(1, 1159, '\P{Gc=-_Me}', "");
-Expect(0, 1159, '\P{^Gc=-_Me}', "");
-Error('\p{Category=/a/Enclosing_Mark}');
-Error('\P{Category=/a/Enclosing_Mark}');
-Expect(1, 1161, '\p{Category=enclosingmark}', "");
-Expect(0, 1161, '\p{^Category=enclosingmark}', "");
-Expect(0, 1161, '\P{Category=enclosingmark}', "");
-Expect(1, 1161, '\P{^Category=enclosingmark}', "");
-Expect(0, 1159, '\p{Category=enclosingmark}', "");
-Expect(1, 1159, '\p{^Category=enclosingmark}', "");
-Expect(1, 1159, '\P{Category=enclosingmark}', "");
-Expect(0, 1159, '\P{^Category=enclosingmark}', "");
-Expect(1, 1161, '\p{Category= ENCLOSING-MARK}', "");
-Expect(0, 1161, '\p{^Category= ENCLOSING-MARK}', "");
-Expect(0, 1161, '\P{Category= ENCLOSING-MARK}', "");
-Expect(1, 1161, '\P{^Category= ENCLOSING-MARK}', "");
-Expect(0, 1159, '\p{Category= ENCLOSING-MARK}', "");
-Expect(1, 1159, '\p{^Category= ENCLOSING-MARK}', "");
-Expect(1, 1159, '\P{Category= ENCLOSING-MARK}', "");
-Expect(0, 1159, '\P{^Category= ENCLOSING-MARK}', "");
-Error('\p{Is_General_Category=-/a/Me}');
-Error('\P{Is_General_Category=-/a/Me}');
-Expect(1, 1161, '\p{Is_General_Category=me}', "");
-Expect(0, 1161, '\p{^Is_General_Category=me}', "");
-Expect(0, 1161, '\P{Is_General_Category=me}', "");
-Expect(1, 1161, '\P{^Is_General_Category=me}', "");
-Expect(0, 1159, '\p{Is_General_Category=me}', "");
-Expect(1, 1159, '\p{^Is_General_Category=me}', "");
-Expect(1, 1159, '\P{Is_General_Category=me}', "");
-Expect(0, 1159, '\P{^Is_General_Category=me}', "");
-Expect(1, 1161, '\p{Is_General_Category= me}', "");
-Expect(0, 1161, '\p{^Is_General_Category= me}', "");
-Expect(0, 1161, '\P{Is_General_Category= me}', "");
-Expect(1, 1161, '\P{^Is_General_Category= me}', "");
-Expect(0, 1159, '\p{Is_General_Category= me}', "");
-Expect(1, 1159, '\p{^Is_General_Category= me}', "");
-Expect(1, 1159, '\P{Is_General_Category= me}', "");
-Expect(0, 1159, '\P{^Is_General_Category= me}', "");
-Error('\p{Is_Gc= /a/Enclosingmark}');
-Error('\P{Is_Gc= /a/Enclosingmark}');
-Expect(1, 1161, '\p{Is_Gc=enclosingmark}', "");
-Expect(0, 1161, '\p{^Is_Gc=enclosingmark}', "");
-Expect(0, 1161, '\P{Is_Gc=enclosingmark}', "");
-Expect(1, 1161, '\P{^Is_Gc=enclosingmark}', "");
-Expect(0, 1159, '\p{Is_Gc=enclosingmark}', "");
-Expect(1, 1159, '\p{^Is_Gc=enclosingmark}', "");
-Expect(1, 1159, '\P{Is_Gc=enclosingmark}', "");
-Expect(0, 1159, '\P{^Is_Gc=enclosingmark}', "");
-Expect(1, 1161, '\p{Is_Gc=- enclosingMark}', "");
-Expect(0, 1161, '\p{^Is_Gc=- enclosingMark}', "");
-Expect(0, 1161, '\P{Is_Gc=- enclosingMark}', "");
-Expect(1, 1161, '\P{^Is_Gc=- enclosingMark}', "");
-Expect(0, 1159, '\p{Is_Gc=- enclosingMark}', "");
-Expect(1, 1159, '\p{^Is_Gc=- enclosingMark}', "");
-Expect(1, 1159, '\P{Is_Gc=- enclosingMark}', "");
-Expect(0, 1159, '\P{^Is_Gc=- enclosingMark}', "");
-Error('\p{Is_Category: Me:=}');
-Error('\P{Is_Category: Me:=}');
-Expect(1, 1161, '\p{Is_Category=me}', "");
-Expect(0, 1161, '\p{^Is_Category=me}', "");
-Expect(0, 1161, '\P{Is_Category=me}', "");
-Expect(1, 1161, '\P{^Is_Category=me}', "");
-Expect(0, 1159, '\p{Is_Category=me}', "");
-Expect(1, 1159, '\p{^Is_Category=me}', "");
-Expect(1, 1159, '\P{Is_Category=me}', "");
-Expect(0, 1159, '\P{^Is_Category=me}', "");
-Expect(1, 1161, '\p{Is_Category=-ME}', "");
-Expect(0, 1161, '\p{^Is_Category=-ME}', "");
-Expect(0, 1161, '\P{Is_Category=-ME}', "");
-Expect(1, 1161, '\P{^Is_Category=-ME}', "");
-Expect(0, 1159, '\p{Is_Category=-ME}', "");
-Expect(1, 1159, '\p{^Is_Category=-ME}', "");
-Expect(1, 1159, '\P{Is_Category=-ME}', "");
-Expect(0, 1159, '\P{^Is_Category=-ME}', "");
-Error('\p{General_Category= -Titlecase/a/letter}');
-Error('\P{General_Category= -Titlecase/a/letter}');
-Expect(1, 453, '\p{General_Category:titlecaseletter}', "");
-Expect(0, 453, '\p{^General_Category:titlecaseletter}', "");
-Expect(0, 453, '\P{General_Category:titlecaseletter}', "");
-Expect(1, 453, '\P{^General_Category:titlecaseletter}', "");
-Expect(0, 452, '\p{General_Category:titlecaseletter}', "");
-Expect(1, 452, '\p{^General_Category:titlecaseletter}', "");
-Expect(1, 452, '\P{General_Category:titlecaseletter}', "");
-Expect(0, 452, '\P{^General_Category:titlecaseletter}', "");
-Expect(1, 453, '\p{General_Category=--titlecase Letter}', "");
-Expect(0, 453, '\p{^General_Category=--titlecase Letter}', "");
-Expect(0, 453, '\P{General_Category=--titlecase Letter}', "");
-Expect(1, 453, '\P{^General_Category=--titlecase Letter}', "");
-Expect(0, 452, '\p{General_Category=--titlecase Letter}', "");
-Expect(1, 452, '\p{^General_Category=--titlecase Letter}', "");
-Expect(1, 452, '\P{General_Category=--titlecase Letter}', "");
-Expect(0, 452, '\P{^General_Category=--titlecase Letter}', "");
-Error('\p{Gc= /a/lt}');
-Error('\P{Gc= /a/lt}');
-Expect(1, 453, '\p{Gc=lt}', "");
-Expect(0, 453, '\p{^Gc=lt}', "");
-Expect(0, 453, '\P{Gc=lt}', "");
-Expect(1, 453, '\P{^Gc=lt}', "");
-Expect(0, 452, '\p{Gc=lt}', "");
-Expect(1, 452, '\p{^Gc=lt}', "");
-Expect(1, 452, '\P{Gc=lt}', "");
-Expect(0, 452, '\P{^Gc=lt}', "");
-Expect(1, 453, '\p{Gc:__lt}', "");
-Expect(0, 453, '\p{^Gc:__lt}', "");
-Expect(0, 453, '\P{Gc:__lt}', "");
-Expect(1, 453, '\P{^Gc:__lt}', "");
-Expect(0, 452, '\p{Gc:__lt}', "");
-Expect(1, 452, '\p{^Gc:__lt}', "");
-Expect(1, 452, '\P{Gc:__lt}', "");
-Expect(0, 452, '\P{^Gc:__lt}', "");
-Error('\p{Category=/a/ TITLECASE-Letter}');
-Error('\P{Category=/a/ TITLECASE-Letter}');
-Expect(1, 453, '\p{Category=titlecaseletter}', "");
-Expect(0, 453, '\p{^Category=titlecaseletter}', "");
-Expect(0, 453, '\P{Category=titlecaseletter}', "");
-Expect(1, 453, '\P{^Category=titlecaseletter}', "");
-Expect(0, 452, '\p{Category=titlecaseletter}', "");
-Expect(1, 452, '\p{^Category=titlecaseletter}', "");
-Expect(1, 452, '\P{Category=titlecaseletter}', "");
-Expect(0, 452, '\P{^Category=titlecaseletter}', "");
-Expect(1, 453, '\p{Category=_ TITLECASE-Letter}', "");
-Expect(0, 453, '\p{^Category=_ TITLECASE-Letter}', "");
-Expect(0, 453, '\P{Category=_ TITLECASE-Letter}', "");
-Expect(1, 453, '\P{^Category=_ TITLECASE-Letter}', "");
-Expect(0, 452, '\p{Category=_ TITLECASE-Letter}', "");
-Expect(1, 452, '\p{^Category=_ TITLECASE-Letter}', "");
-Expect(1, 452, '\P{Category=_ TITLECASE-Letter}', "");
-Expect(0, 452, '\P{^Category=_ TITLECASE-Letter}', "");
-Error('\p{Is_General_Category=Lt:=}');
-Error('\P{Is_General_Category=Lt:=}');
-Expect(1, 453, '\p{Is_General_Category=lt}', "");
-Expect(0, 453, '\p{^Is_General_Category=lt}', "");
-Expect(0, 453, '\P{Is_General_Category=lt}', "");
-Expect(1, 453, '\P{^Is_General_Category=lt}', "");
-Expect(0, 452, '\p{Is_General_Category=lt}', "");
-Expect(1, 452, '\p{^Is_General_Category=lt}', "");
-Expect(1, 452, '\P{Is_General_Category=lt}', "");
-Expect(0, 452, '\P{^Is_General_Category=lt}', "");
-Expect(1, 453, '\p{Is_General_Category= _Lt}', "");
-Expect(0, 453, '\p{^Is_General_Category= _Lt}', "");
-Expect(0, 453, '\P{Is_General_Category= _Lt}', "");
-Expect(1, 453, '\P{^Is_General_Category= _Lt}', "");
-Expect(0, 452, '\p{Is_General_Category= _Lt}', "");
-Expect(1, 452, '\p{^Is_General_Category= _Lt}', "");
-Expect(1, 452, '\P{Is_General_Category= _Lt}', "");
-Expect(0, 452, '\P{^Is_General_Category= _Lt}', "");
-Error('\p{Is_Gc=:= _Titlecase-Letter}');
-Error('\P{Is_Gc=:= _Titlecase-Letter}');
-Expect(1, 453, '\p{Is_Gc=titlecaseletter}', "");
-Expect(0, 453, '\p{^Is_Gc=titlecaseletter}', "");
-Expect(0, 453, '\P{Is_Gc=titlecaseletter}', "");
-Expect(1, 453, '\P{^Is_Gc=titlecaseletter}', "");
-Expect(0, 452, '\p{Is_Gc=titlecaseletter}', "");
-Expect(1, 452, '\p{^Is_Gc=titlecaseletter}', "");
-Expect(1, 452, '\P{Is_Gc=titlecaseletter}', "");
-Expect(0, 452, '\P{^Is_Gc=titlecaseletter}', "");
-Expect(1, 453, '\p{Is_Gc=- TITLECASE-letter}', "");
-Expect(0, 453, '\p{^Is_Gc=- TITLECASE-letter}', "");
-Expect(0, 453, '\P{Is_Gc=- TITLECASE-letter}', "");
-Expect(1, 453, '\P{^Is_Gc=- TITLECASE-letter}', "");
-Expect(0, 452, '\p{Is_Gc=- TITLECASE-letter}', "");
-Expect(1, 452, '\p{^Is_Gc=- TITLECASE-letter}', "");
-Expect(1, 452, '\P{Is_Gc=- TITLECASE-letter}', "");
-Expect(0, 452, '\P{^Is_Gc=- TITLECASE-letter}', "");
-Error('\p{Is_Category= _Lt:=}');
-Error('\P{Is_Category= _Lt:=}');
-Expect(1, 453, '\p{Is_Category=lt}', "");
-Expect(0, 453, '\p{^Is_Category=lt}', "");
-Expect(0, 453, '\P{Is_Category=lt}', "");
-Expect(1, 453, '\P{^Is_Category=lt}', "");
-Expect(0, 452, '\p{Is_Category=lt}', "");
-Expect(1, 452, '\p{^Is_Category=lt}', "");
-Expect(1, 452, '\P{Is_Category=lt}', "");
-Expect(0, 452, '\P{^Is_Category=lt}', "");
-Expect(1, 453, '\p{Is_Category=_ LT}', "");
-Expect(0, 453, '\p{^Is_Category=_ LT}', "");
-Expect(0, 453, '\P{Is_Category=_ LT}', "");
-Expect(1, 453, '\P{^Is_Category=_ LT}', "");
-Expect(0, 452, '\p{Is_Category=_ LT}', "");
-Expect(1, 452, '\p{^Is_Category=_ LT}', "");
-Expect(1, 452, '\P{Is_Category=_ LT}', "");
-Expect(0, 452, '\P{^Is_Category=_ LT}', "");
-Error('\p{General_Category=-:=Punctuation}');
-Error('\P{General_Category=-:=Punctuation}');
-Expect(1, 35, '\p{General_Category=punctuation}', "");
-Expect(0, 35, '\p{^General_Category=punctuation}', "");
-Expect(0, 35, '\P{General_Category=punctuation}', "");
-Expect(1, 35, '\P{^General_Category=punctuation}', "");
-Expect(0, 32, '\p{General_Category=punctuation}', "");
-Expect(1, 32, '\p{^General_Category=punctuation}', "");
-Expect(1, 32, '\P{General_Category=punctuation}', "");
-Expect(0, 32, '\P{^General_Category=punctuation}', "");
-Expect(1, 35, '\p{General_Category= Punctuation}', "");
-Expect(0, 35, '\p{^General_Category= Punctuation}', "");
-Expect(0, 35, '\P{General_Category= Punctuation}', "");
-Expect(1, 35, '\P{^General_Category= Punctuation}', "");
-Expect(0, 32, '\p{General_Category= Punctuation}', "");
-Expect(1, 32, '\p{^General_Category= Punctuation}', "");
-Expect(1, 32, '\P{General_Category= Punctuation}', "");
-Expect(0, 32, '\P{^General_Category= Punctuation}', "");
-Error('\p{Gc: -_P:=}');
-Error('\P{Gc: -_P:=}');
-Expect(1, 35, '\p{Gc=p}', "");
-Expect(0, 35, '\p{^Gc=p}', "");
-Expect(0, 35, '\P{Gc=p}', "");
-Expect(1, 35, '\P{^Gc=p}', "");
-Expect(0, 32, '\p{Gc=p}', "");
-Expect(1, 32, '\p{^Gc=p}', "");
-Expect(1, 32, '\P{Gc=p}', "");
-Expect(0, 32, '\P{^Gc=p}', "");
-Expect(1, 35, '\p{Gc=-P}', "");
-Expect(0, 35, '\p{^Gc=-P}', "");
-Expect(0, 35, '\P{Gc=-P}', "");
-Expect(1, 35, '\P{^Gc=-P}', "");
-Expect(0, 32, '\p{Gc=-P}', "");
-Expect(1, 32, '\p{^Gc=-P}', "");
-Expect(1, 32, '\P{Gc=-P}', "");
-Expect(0, 32, '\P{^Gc=-P}', "");
-Error('\p{Category=-PUNCT/a/}');
-Error('\P{Category=-PUNCT/a/}');
-Expect(1, 35, '\p{Category=punct}', "");
-Expect(0, 35, '\p{^Category=punct}', "");
-Expect(0, 35, '\P{Category=punct}', "");
-Expect(1, 35, '\P{^Category=punct}', "");
-Expect(0, 32, '\p{Category=punct}', "");
-Expect(1, 32, '\p{^Category=punct}', "");
-Expect(1, 32, '\P{Category=punct}', "");
-Expect(0, 32, '\P{^Category=punct}', "");
-Expect(1, 35, '\p{Category: _Punct}', "");
-Expect(0, 35, '\p{^Category: _Punct}', "");
-Expect(0, 35, '\P{Category: _Punct}', "");
-Expect(1, 35, '\P{^Category: _Punct}', "");
-Expect(0, 32, '\p{Category: _Punct}', "");
-Expect(1, 32, '\p{^Category: _Punct}', "");
-Expect(1, 32, '\P{Category: _Punct}', "");
-Expect(0, 32, '\P{^Category: _Punct}', "");
-Error('\p{Is_General_Category=_/a/punctuation}');
-Error('\P{Is_General_Category=_/a/punctuation}');
-Expect(1, 35, '\p{Is_General_Category=punctuation}', "");
-Expect(0, 35, '\p{^Is_General_Category=punctuation}', "");
-Expect(0, 35, '\P{Is_General_Category=punctuation}', "");
-Expect(1, 35, '\P{^Is_General_Category=punctuation}', "");
-Expect(0, 32, '\p{Is_General_Category=punctuation}', "");
-Expect(1, 32, '\p{^Is_General_Category=punctuation}', "");
-Expect(1, 32, '\P{Is_General_Category=punctuation}', "");
-Expect(0, 32, '\P{^Is_General_Category=punctuation}', "");
-Expect(1, 35, '\p{Is_General_Category=- Punctuation}', "");
-Expect(0, 35, '\p{^Is_General_Category=- Punctuation}', "");
-Expect(0, 35, '\P{Is_General_Category=- Punctuation}', "");
-Expect(1, 35, '\P{^Is_General_Category=- Punctuation}', "");
-Expect(0, 32, '\p{Is_General_Category=- Punctuation}', "");
-Expect(1, 32, '\p{^Is_General_Category=- Punctuation}', "");
-Expect(1, 32, '\P{Is_General_Category=- Punctuation}', "");
-Expect(0, 32, '\P{^Is_General_Category=- Punctuation}', "");
-Error('\p{Is_Gc: /a/p}');
-Error('\P{Is_Gc: /a/p}');
-Expect(1, 35, '\p{Is_Gc=p}', "");
-Expect(0, 35, '\p{^Is_Gc=p}', "");
-Expect(0, 35, '\P{Is_Gc=p}', "");
-Expect(1, 35, '\P{^Is_Gc=p}', "");
-Expect(0, 32, '\p{Is_Gc=p}', "");
-Expect(1, 32, '\p{^Is_Gc=p}', "");
-Expect(1, 32, '\P{Is_Gc=p}', "");
-Expect(0, 32, '\P{^Is_Gc=p}', "");
-Expect(1, 35, '\p{Is_Gc:_ P}', "");
-Expect(0, 35, '\p{^Is_Gc:_ P}', "");
-Expect(0, 35, '\P{Is_Gc:_ P}', "");
-Expect(1, 35, '\P{^Is_Gc:_ P}', "");
-Expect(0, 32, '\p{Is_Gc:_ P}', "");
-Expect(1, 32, '\p{^Is_Gc:_ P}', "");
-Expect(1, 32, '\P{Is_Gc:_ P}', "");
-Expect(0, 32, '\P{^Is_Gc:_ P}', "");
-Error('\p{Is_Category= Punct:=}');
-Error('\P{Is_Category= Punct:=}');
-Expect(1, 35, '\p{Is_Category=punct}', "");
-Expect(0, 35, '\p{^Is_Category=punct}', "");
-Expect(0, 35, '\P{Is_Category=punct}', "");
-Expect(1, 35, '\P{^Is_Category=punct}', "");
-Expect(0, 32, '\p{Is_Category=punct}', "");
-Expect(1, 32, '\p{^Is_Category=punct}', "");
-Expect(1, 32, '\P{Is_Category=punct}', "");
-Expect(0, 32, '\P{^Is_Category=punct}', "");
-Expect(1, 35, '\p{Is_Category=- Punct}', "");
-Expect(0, 35, '\p{^Is_Category=- Punct}', "");
-Expect(0, 35, '\P{Is_Category=- Punct}', "");
-Expect(1, 35, '\P{^Is_Category=- Punct}', "");
-Expect(0, 32, '\p{Is_Category=- Punct}', "");
-Expect(1, 32, '\p{^Is_Category=- Punct}', "");
-Expect(1, 32, '\P{Is_Category=- Punct}', "");
-Expect(0, 32, '\P{^Is_Category=- Punct}', "");
-Error('\p{General_Category= UPPERCASE/a/LETTER}');
-Error('\P{General_Category= UPPERCASE/a/LETTER}');
-Expect(1, 90, '\p{General_Category=uppercaseletter}', "");
-Expect(0, 90, '\p{^General_Category=uppercaseletter}', "");
-Expect(0, 90, '\P{General_Category=uppercaseletter}', "");
-Expect(1, 90, '\P{^General_Category=uppercaseletter}', "");
-Expect(0, 64, '\p{General_Category=uppercaseletter}', "");
-Expect(1, 64, '\p{^General_Category=uppercaseletter}', "");
-Expect(1, 64, '\P{General_Category=uppercaseletter}', "");
-Expect(0, 64, '\P{^General_Category=uppercaseletter}', "");
-Expect(1, 90, '\p{General_Category: _uppercase_Letter}', "");
-Expect(0, 90, '\p{^General_Category: _uppercase_Letter}', "");
-Expect(0, 90, '\P{General_Category: _uppercase_Letter}', "");
-Expect(1, 90, '\P{^General_Category: _uppercase_Letter}', "");
-Expect(0, 64, '\p{General_Category: _uppercase_Letter}', "");
-Expect(1, 64, '\p{^General_Category: _uppercase_Letter}', "");
-Expect(1, 64, '\P{General_Category: _uppercase_Letter}', "");
-Expect(0, 64, '\P{^General_Category: _uppercase_Letter}', "");
-Error('\p{Gc=/a/-Lu}');
-Error('\P{Gc=/a/-Lu}');
-Expect(1, 90, '\p{Gc=lu}', "");
-Expect(0, 90, '\p{^Gc=lu}', "");
-Expect(0, 90, '\P{Gc=lu}', "");
-Expect(1, 90, '\P{^Gc=lu}', "");
-Expect(0, 64, '\p{Gc=lu}', "");
-Expect(1, 64, '\p{^Gc=lu}', "");
-Expect(1, 64, '\P{Gc=lu}', "");
-Expect(0, 64, '\P{^Gc=lu}', "");
-Expect(1, 90, '\p{Gc=_ Lu}', "");
-Expect(0, 90, '\p{^Gc=_ Lu}', "");
-Expect(0, 90, '\P{Gc=_ Lu}', "");
-Expect(1, 90, '\P{^Gc=_ Lu}', "");
-Expect(0, 64, '\p{Gc=_ Lu}', "");
-Expect(1, 64, '\p{^Gc=_ Lu}', "");
-Expect(1, 64, '\P{Gc=_ Lu}', "");
-Expect(0, 64, '\P{^Gc=_ Lu}', "");
-Error('\p{Category=:= -Uppercaseletter}');
-Error('\P{Category=:= -Uppercaseletter}');
-Expect(1, 90, '\p{Category=uppercaseletter}', "");
-Expect(0, 90, '\p{^Category=uppercaseletter}', "");
-Expect(0, 90, '\P{Category=uppercaseletter}', "");
-Expect(1, 90, '\P{^Category=uppercaseletter}', "");
-Expect(0, 64, '\p{Category=uppercaseletter}', "");
-Expect(1, 64, '\p{^Category=uppercaseletter}', "");
-Expect(1, 64, '\P{Category=uppercaseletter}', "");
-Expect(0, 64, '\P{^Category=uppercaseletter}', "");
-Expect(1, 90, '\p{Category= UppercaseLetter}', "");
-Expect(0, 90, '\p{^Category= UppercaseLetter}', "");
-Expect(0, 90, '\P{Category= UppercaseLetter}', "");
-Expect(1, 90, '\P{^Category= UppercaseLetter}', "");
-Expect(0, 64, '\p{Category= UppercaseLetter}', "");
-Expect(1, 64, '\p{^Category= UppercaseLetter}', "");
-Expect(1, 64, '\P{Category= UppercaseLetter}', "");
-Expect(0, 64, '\P{^Category= UppercaseLetter}', "");
-Error('\p{Is_General_Category= /a/Lu}');
-Error('\P{Is_General_Category= /a/Lu}');
-Expect(1, 90, '\p{Is_General_Category=lu}', "");
-Expect(0, 90, '\p{^Is_General_Category=lu}', "");
-Expect(0, 90, '\P{Is_General_Category=lu}', "");
-Expect(1, 90, '\P{^Is_General_Category=lu}', "");
-Expect(0, 64, '\p{Is_General_Category=lu}', "");
-Expect(1, 64, '\p{^Is_General_Category=lu}', "");
-Expect(1, 64, '\P{Is_General_Category=lu}', "");
-Expect(0, 64, '\P{^Is_General_Category=lu}', "");
-Expect(1, 90, '\p{Is_General_Category=- lu}', "");
-Expect(0, 90, '\p{^Is_General_Category=- lu}', "");
-Expect(0, 90, '\P{Is_General_Category=- lu}', "");
-Expect(1, 90, '\P{^Is_General_Category=- lu}', "");
-Expect(0, 64, '\p{Is_General_Category=- lu}', "");
-Expect(1, 64, '\p{^Is_General_Category=- lu}', "");
-Expect(1, 64, '\P{Is_General_Category=- lu}', "");
-Expect(0, 64, '\P{^Is_General_Category=- lu}', "");
-Error('\p{Is_Gc=/a/ UPPERCASE_letter}');
-Error('\P{Is_Gc=/a/ UPPERCASE_letter}');
-Expect(1, 90, '\p{Is_Gc=uppercaseletter}', "");
-Expect(0, 90, '\p{^Is_Gc=uppercaseletter}', "");
-Expect(0, 90, '\P{Is_Gc=uppercaseletter}', "");
-Expect(1, 90, '\P{^Is_Gc=uppercaseletter}', "");
-Expect(0, 64, '\p{Is_Gc=uppercaseletter}', "");
-Expect(1, 64, '\p{^Is_Gc=uppercaseletter}', "");
-Expect(1, 64, '\P{Is_Gc=uppercaseletter}', "");
-Expect(0, 64, '\P{^Is_Gc=uppercaseletter}', "");
-Expect(1, 90, '\p{Is_Gc=-Uppercase-Letter}', "");
-Expect(0, 90, '\p{^Is_Gc=-Uppercase-Letter}', "");
-Expect(0, 90, '\P{Is_Gc=-Uppercase-Letter}', "");
-Expect(1, 90, '\P{^Is_Gc=-Uppercase-Letter}', "");
-Expect(0, 64, '\p{Is_Gc=-Uppercase-Letter}', "");
-Expect(1, 64, '\p{^Is_Gc=-Uppercase-Letter}', "");
-Expect(1, 64, '\P{Is_Gc=-Uppercase-Letter}', "");
-Expect(0, 64, '\P{^Is_Gc=-Uppercase-Letter}', "");
-Error('\p{Is_Category: :=lu}');
-Error('\P{Is_Category: :=lu}');
-Expect(1, 90, '\p{Is_Category=lu}', "");
-Expect(0, 90, '\p{^Is_Category=lu}', "");
-Expect(0, 90, '\P{Is_Category=lu}', "");
-Expect(1, 90, '\P{^Is_Category=lu}', "");
-Expect(0, 64, '\p{Is_Category=lu}', "");
-Expect(1, 64, '\p{^Is_Category=lu}', "");
-Expect(1, 64, '\P{Is_Category=lu}', "");
-Expect(0, 64, '\P{^Is_Category=lu}', "");
-Expect(1, 90, '\p{Is_Category: LU}', "");
-Expect(0, 90, '\p{^Is_Category: LU}', "");
-Expect(0, 90, '\P{Is_Category: LU}', "");
-Expect(1, 90, '\P{^Is_Category: LU}', "");
-Expect(0, 64, '\p{Is_Category: LU}', "");
-Expect(1, 64, '\p{^Is_Category: LU}', "");
-Expect(1, 64, '\P{Is_Category: LU}', "");
-Expect(0, 64, '\P{^Is_Category: LU}', "");
-Error('\p{General_Category: -/a/Number}');
-Error('\P{General_Category: -/a/Number}');
-Expect(1, 57, '\p{General_Category=number}', "");
-Expect(0, 57, '\p{^General_Category=number}', "");
-Expect(0, 57, '\P{General_Category=number}', "");
-Expect(1, 57, '\P{^General_Category=number}', "");
-Expect(0, 47, '\p{General_Category=number}', "");
-Expect(1, 47, '\p{^General_Category=number}', "");
-Expect(1, 47, '\P{General_Category=number}', "");
-Expect(0, 47, '\P{^General_Category=number}', "");
-Expect(1, 57, '\p{General_Category= NUMBER}', "");
-Expect(0, 57, '\p{^General_Category= NUMBER}', "");
-Expect(0, 57, '\P{General_Category= NUMBER}', "");
-Expect(1, 57, '\P{^General_Category= NUMBER}', "");
-Expect(0, 47, '\p{General_Category= NUMBER}', "");
-Expect(1, 47, '\p{^General_Category= NUMBER}', "");
-Expect(1, 47, '\P{General_Category= NUMBER}', "");
-Expect(0, 47, '\P{^General_Category= NUMBER}', "");
-Error('\p{Gc:/a/ N}');
-Error('\P{Gc:/a/ N}');
-Expect(1, 57, '\p{Gc=n}', "");
-Expect(0, 57, '\p{^Gc=n}', "");
-Expect(0, 57, '\P{Gc=n}', "");
-Expect(1, 57, '\P{^Gc=n}', "");
-Expect(0, 47, '\p{Gc=n}', "");
-Expect(1, 47, '\p{^Gc=n}', "");
-Expect(1, 47, '\P{Gc=n}', "");
-Expect(0, 47, '\P{^Gc=n}', "");
-Expect(1, 57, '\p{Gc=-N}', "");
-Expect(0, 57, '\p{^Gc=-N}', "");
-Expect(0, 57, '\P{Gc=-N}', "");
-Expect(1, 57, '\P{^Gc=-N}', "");
-Expect(0, 47, '\p{Gc=-N}', "");
-Expect(1, 47, '\p{^Gc=-N}', "");
-Expect(1, 47, '\P{Gc=-N}', "");
-Expect(0, 47, '\P{^Gc=-N}', "");
-Error('\p{Category= _Number:=}');
-Error('\P{Category= _Number:=}');
-Expect(1, 57, '\p{Category=number}', "");
-Expect(0, 57, '\p{^Category=number}', "");
-Expect(0, 57, '\P{Category=number}', "");
-Expect(1, 57, '\P{^Category=number}', "");
-Expect(0, 47, '\p{Category=number}', "");
-Expect(1, 47, '\p{^Category=number}', "");
-Expect(1, 47, '\P{Category=number}', "");
-Expect(0, 47, '\P{^Category=number}', "");
-Expect(1, 57, '\p{Category= number}', "");
-Expect(0, 57, '\p{^Category= number}', "");
-Expect(0, 57, '\P{Category= number}', "");
-Expect(1, 57, '\P{^Category= number}', "");
-Expect(0, 47, '\p{Category= number}', "");
-Expect(1, 47, '\p{^Category= number}', "");
-Expect(1, 47, '\P{Category= number}', "");
-Expect(0, 47, '\P{^Category= number}', "");
-Error('\p{Is_General_Category=:=N}');
-Error('\P{Is_General_Category=:=N}');
-Expect(1, 57, '\p{Is_General_Category=n}', "");
-Expect(0, 57, '\p{^Is_General_Category=n}', "");
-Expect(0, 57, '\P{Is_General_Category=n}', "");
-Expect(1, 57, '\P{^Is_General_Category=n}', "");
-Expect(0, 47, '\p{Is_General_Category=n}', "");
-Expect(1, 47, '\p{^Is_General_Category=n}', "");
-Expect(1, 47, '\P{Is_General_Category=n}', "");
-Expect(0, 47, '\P{^Is_General_Category=n}', "");
-Expect(1, 57, '\p{Is_General_Category=- N}', "");
-Expect(0, 57, '\p{^Is_General_Category=- N}', "");
-Expect(0, 57, '\P{Is_General_Category=- N}', "");
-Expect(1, 57, '\P{^Is_General_Category=- N}', "");
-Expect(0, 47, '\p{Is_General_Category=- N}', "");
-Expect(1, 47, '\p{^Is_General_Category=- N}', "");
-Expect(1, 47, '\P{Is_General_Category=- N}', "");
-Expect(0, 47, '\P{^Is_General_Category=- N}', "");
-Error('\p{Is_Gc= /a/Number}');
-Error('\P{Is_Gc= /a/Number}');
-Expect(1, 57, '\p{Is_Gc=number}', "");
-Expect(0, 57, '\p{^Is_Gc=number}', "");
-Expect(0, 57, '\P{Is_Gc=number}', "");
-Expect(1, 57, '\P{^Is_Gc=number}', "");
-Expect(0, 47, '\p{Is_Gc=number}', "");
-Expect(1, 47, '\p{^Is_Gc=number}', "");
-Expect(1, 47, '\P{Is_Gc=number}', "");
-Expect(0, 47, '\P{^Is_Gc=number}', "");
-Expect(1, 57, '\p{Is_Gc=_ NUMBER}', "");
-Expect(0, 57, '\p{^Is_Gc=_ NUMBER}', "");
-Expect(0, 57, '\P{Is_Gc=_ NUMBER}', "");
-Expect(1, 57, '\P{^Is_Gc=_ NUMBER}', "");
-Expect(0, 47, '\p{Is_Gc=_ NUMBER}', "");
-Expect(1, 47, '\p{^Is_Gc=_ NUMBER}', "");
-Expect(1, 47, '\P{Is_Gc=_ NUMBER}', "");
-Expect(0, 47, '\P{^Is_Gc=_ NUMBER}', "");
-Error('\p{Is_Category=/a/N}');
-Error('\P{Is_Category=/a/N}');
-Expect(1, 57, '\p{Is_Category=n}', "");
-Expect(0, 57, '\p{^Is_Category=n}', "");
-Expect(0, 57, '\P{Is_Category=n}', "");
-Expect(1, 57, '\P{^Is_Category=n}', "");
-Expect(0, 47, '\p{Is_Category=n}', "");
-Expect(1, 47, '\p{^Is_Category=n}', "");
-Expect(1, 47, '\P{Is_Category=n}', "");
-Expect(0, 47, '\P{^Is_Category=n}', "");
-Expect(1, 57, '\p{Is_Category=__N}', "");
-Expect(0, 57, '\p{^Is_Category=__N}', "");
-Expect(0, 57, '\P{Is_Category=__N}', "");
-Expect(1, 57, '\P{^Is_Category=__N}', "");
-Expect(0, 47, '\p{Is_Category=__N}', "");
-Expect(1, 47, '\p{^Is_Category=__N}', "");
-Expect(1, 47, '\P{Is_Category=__N}', "");
-Expect(0, 47, '\P{^Is_Category=__N}', "");
-Error('\p{General_Category=__Final/a/Punctuation}');
-Error('\P{General_Category=__Final/a/Punctuation}');
-Expect(1, 187, '\p{General_Category=finalpunctuation}', "");
-Expect(0, 187, '\p{^General_Category=finalpunctuation}', "");
-Expect(0, 187, '\P{General_Category=finalpunctuation}', "");
-Expect(1, 187, '\P{^General_Category=finalpunctuation}', "");
-Expect(0, 186, '\p{General_Category=finalpunctuation}', "");
-Expect(1, 186, '\p{^General_Category=finalpunctuation}', "");
-Expect(1, 186, '\P{General_Category=finalpunctuation}', "");
-Expect(0, 186, '\P{^General_Category=finalpunctuation}', "");
-Expect(1, 187, '\p{General_Category= FINAL Punctuation}', "");
-Expect(0, 187, '\p{^General_Category= FINAL Punctuation}', "");
-Expect(0, 187, '\P{General_Category= FINAL Punctuation}', "");
-Expect(1, 187, '\P{^General_Category= FINAL Punctuation}', "");
-Expect(0, 186, '\p{General_Category= FINAL Punctuation}', "");
-Expect(1, 186, '\p{^General_Category= FINAL Punctuation}', "");
-Expect(1, 186, '\P{General_Category= FINAL Punctuation}', "");
-Expect(0, 186, '\P{^General_Category= FINAL Punctuation}', "");
-Error('\p{Gc=:=- pf}');
-Error('\P{Gc=:=- pf}');
-Expect(1, 187, '\p{Gc=pf}', "");
-Expect(0, 187, '\p{^Gc=pf}', "");
-Expect(0, 187, '\P{Gc=pf}', "");
-Expect(1, 187, '\P{^Gc=pf}', "");
-Expect(0, 186, '\p{Gc=pf}', "");
-Expect(1, 186, '\p{^Gc=pf}', "");
-Expect(1, 186, '\P{Gc=pf}', "");
-Expect(0, 186, '\P{^Gc=pf}', "");
-Expect(1, 187, '\p{Gc=-pf}', "");
-Expect(0, 187, '\p{^Gc=-pf}', "");
-Expect(0, 187, '\P{Gc=-pf}', "");
-Expect(1, 187, '\P{^Gc=-pf}', "");
-Expect(0, 186, '\p{Gc=-pf}', "");
-Expect(1, 186, '\p{^Gc=-pf}', "");
-Expect(1, 186, '\P{Gc=-pf}', "");
-Expect(0, 186, '\P{^Gc=-pf}', "");
-Error('\p{Category: - FINAL Punctuation/a/}');
-Error('\P{Category: - FINAL Punctuation/a/}');
-Expect(1, 187, '\p{Category=finalpunctuation}', "");
-Expect(0, 187, '\p{^Category=finalpunctuation}', "");
-Expect(0, 187, '\P{Category=finalpunctuation}', "");
-Expect(1, 187, '\P{^Category=finalpunctuation}', "");
-Expect(0, 186, '\p{Category=finalpunctuation}', "");
-Expect(1, 186, '\p{^Category=finalpunctuation}', "");
-Expect(1, 186, '\P{Category=finalpunctuation}', "");
-Expect(0, 186, '\P{^Category=finalpunctuation}', "");
-Expect(1, 187, '\p{Category= FINALPunctuation}', "");
-Expect(0, 187, '\p{^Category= FINALPunctuation}', "");
-Expect(0, 187, '\P{Category= FINALPunctuation}', "");
-Expect(1, 187, '\P{^Category= FINALPunctuation}', "");
-Expect(0, 186, '\p{Category= FINALPunctuation}', "");
-Expect(1, 186, '\p{^Category= FINALPunctuation}', "");
-Expect(1, 186, '\P{Category= FINALPunctuation}', "");
-Expect(0, 186, '\P{^Category= FINALPunctuation}', "");
-Error('\p{Is_General_Category=/a/ -pf}');
-Error('\P{Is_General_Category=/a/ -pf}');
-Expect(1, 187, '\p{Is_General_Category=pf}', "");
-Expect(0, 187, '\p{^Is_General_Category=pf}', "");
-Expect(0, 187, '\P{Is_General_Category=pf}', "");
-Expect(1, 187, '\P{^Is_General_Category=pf}', "");
-Expect(0, 186, '\p{Is_General_Category=pf}', "");
-Expect(1, 186, '\p{^Is_General_Category=pf}', "");
-Expect(1, 186, '\P{Is_General_Category=pf}', "");
-Expect(0, 186, '\P{^Is_General_Category=pf}', "");
-Expect(1, 187, '\p{Is_General_Category: - PF}', "");
-Expect(0, 187, '\p{^Is_General_Category: - PF}', "");
-Expect(0, 187, '\P{Is_General_Category: - PF}', "");
-Expect(1, 187, '\P{^Is_General_Category: - PF}', "");
-Expect(0, 186, '\p{Is_General_Category: - PF}', "");
-Expect(1, 186, '\p{^Is_General_Category: - PF}', "");
-Expect(1, 186, '\P{Is_General_Category: - PF}', "");
-Expect(0, 186, '\P{^Is_General_Category: - PF}', "");
-Error('\p{Is_Gc=:= -FinalPunctuation}');
-Error('\P{Is_Gc=:= -FinalPunctuation}');
-Expect(1, 187, '\p{Is_Gc=finalpunctuation}', "");
-Expect(0, 187, '\p{^Is_Gc=finalpunctuation}', "");
-Expect(0, 187, '\P{Is_Gc=finalpunctuation}', "");
-Expect(1, 187, '\P{^Is_Gc=finalpunctuation}', "");
-Expect(0, 186, '\p{Is_Gc=finalpunctuation}', "");
-Expect(1, 186, '\p{^Is_Gc=finalpunctuation}', "");
-Expect(1, 186, '\P{Is_Gc=finalpunctuation}', "");
-Expect(0, 186, '\P{^Is_Gc=finalpunctuation}', "");
-Expect(1, 187, '\p{Is_Gc= FINAL PUNCTUATION}', "");
-Expect(0, 187, '\p{^Is_Gc= FINAL PUNCTUATION}', "");
-Expect(0, 187, '\P{Is_Gc= FINAL PUNCTUATION}', "");
-Expect(1, 187, '\P{^Is_Gc= FINAL PUNCTUATION}', "");
-Expect(0, 186, '\p{Is_Gc= FINAL PUNCTUATION}', "");
-Expect(1, 186, '\p{^Is_Gc= FINAL PUNCTUATION}', "");
-Expect(1, 186, '\P{Is_Gc= FINAL PUNCTUATION}', "");
-Expect(0, 186, '\P{^Is_Gc= FINAL PUNCTUATION}', "");
-Error('\p{Is_Category=-PF:=}');
-Error('\P{Is_Category=-PF:=}');
-Expect(1, 187, '\p{Is_Category=pf}', "");
-Expect(0, 187, '\p{^Is_Category=pf}', "");
-Expect(0, 187, '\P{Is_Category=pf}', "");
-Expect(1, 187, '\P{^Is_Category=pf}', "");
-Expect(0, 186, '\p{Is_Category=pf}', "");
-Expect(1, 186, '\p{^Is_Category=pf}', "");
-Expect(1, 186, '\P{Is_Category=pf}', "");
-Expect(0, 186, '\P{^Is_Category=pf}', "");
-Expect(1, 187, '\p{Is_Category=__Pf}', "");
-Expect(0, 187, '\p{^Is_Category=__Pf}', "");
-Expect(0, 187, '\P{Is_Category=__Pf}', "");
-Expect(1, 187, '\P{^Is_Category=__Pf}', "");
-Expect(0, 186, '\p{Is_Category=__Pf}', "");
-Expect(1, 186, '\p{^Is_Category=__Pf}', "");
-Expect(1, 186, '\P{Is_Category=__Pf}', "");
-Expect(0, 186, '\P{^Is_Category=__Pf}', "");
-Error('\p{General_Category=/a/- Unassigned}');
-Error('\P{General_Category=/a/- Unassigned}');
-Expect(1, 889, '\p{General_Category=unassigned}', "");
-Expect(0, 889, '\p{^General_Category=unassigned}', "");
-Expect(0, 889, '\P{General_Category=unassigned}', "");
-Expect(1, 889, '\P{^General_Category=unassigned}', "");
-Expect(0, 887, '\p{General_Category=unassigned}', "");
-Expect(1, 887, '\p{^General_Category=unassigned}', "");
-Expect(1, 887, '\P{General_Category=unassigned}', "");
-Expect(0, 887, '\P{^General_Category=unassigned}', "");
-Expect(1, 889, '\p{General_Category= Unassigned}', "");
-Expect(0, 889, '\p{^General_Category= Unassigned}', "");
-Expect(0, 889, '\P{General_Category= Unassigned}', "");
-Expect(1, 889, '\P{^General_Category= Unassigned}', "");
-Expect(0, 887, '\p{General_Category= Unassigned}', "");
-Expect(1, 887, '\p{^General_Category= Unassigned}', "");
-Expect(1, 887, '\P{General_Category= Unassigned}', "");
-Expect(0, 887, '\P{^General_Category= Unassigned}', "");
-Error('\p{Gc=/a/ _cn}');
-Error('\P{Gc=/a/ _cn}');
-Expect(1, 889, '\p{Gc=cn}', "");
-Expect(0, 889, '\p{^Gc=cn}', "");
-Expect(0, 889, '\P{Gc=cn}', "");
-Expect(1, 889, '\P{^Gc=cn}', "");
-Expect(0, 887, '\p{Gc=cn}', "");
-Expect(1, 887, '\p{^Gc=cn}', "");
-Expect(1, 887, '\P{Gc=cn}', "");
-Expect(0, 887, '\P{^Gc=cn}', "");
-Expect(1, 889, '\p{Gc= -Cn}', "");
-Expect(0, 889, '\p{^Gc= -Cn}', "");
-Expect(0, 889, '\P{Gc= -Cn}', "");
-Expect(1, 889, '\P{^Gc= -Cn}', "");
-Expect(0, 887, '\p{Gc= -Cn}', "");
-Expect(1, 887, '\p{^Gc= -Cn}', "");
-Expect(1, 887, '\P{Gc= -Cn}', "");
-Expect(0, 887, '\P{^Gc= -Cn}', "");
-Error('\p{Category=_/a/UNASSIGNED}');
-Error('\P{Category=_/a/UNASSIGNED}');
-Expect(1, 889, '\p{Category=unassigned}', "");
-Expect(0, 889, '\p{^Category=unassigned}', "");
-Expect(0, 889, '\P{Category=unassigned}', "");
-Expect(1, 889, '\P{^Category=unassigned}', "");
-Expect(0, 887, '\p{Category=unassigned}', "");
-Expect(1, 887, '\p{^Category=unassigned}', "");
-Expect(1, 887, '\P{Category=unassigned}', "");
-Expect(0, 887, '\P{^Category=unassigned}', "");
-Expect(1, 889, '\p{Category= -unassigned}', "");
-Expect(0, 889, '\p{^Category= -unassigned}', "");
-Expect(0, 889, '\P{Category= -unassigned}', "");
-Expect(1, 889, '\P{^Category= -unassigned}', "");
-Expect(0, 887, '\p{Category= -unassigned}', "");
-Expect(1, 887, '\p{^Category= -unassigned}', "");
-Expect(1, 887, '\P{Category= -unassigned}', "");
-Expect(0, 887, '\P{^Category= -unassigned}', "");
-Error('\p{Is_General_Category= :=Cn}');
-Error('\P{Is_General_Category= :=Cn}');
-Expect(1, 889, '\p{Is_General_Category=cn}', "");
-Expect(0, 889, '\p{^Is_General_Category=cn}', "");
-Expect(0, 889, '\P{Is_General_Category=cn}', "");
-Expect(1, 889, '\P{^Is_General_Category=cn}', "");
-Expect(0, 887, '\p{Is_General_Category=cn}', "");
-Expect(1, 887, '\p{^Is_General_Category=cn}', "");
-Expect(1, 887, '\P{Is_General_Category=cn}', "");
-Expect(0, 887, '\P{^Is_General_Category=cn}', "");
-Expect(1, 889, '\p{Is_General_Category= cn}', "");
-Expect(0, 889, '\p{^Is_General_Category= cn}', "");
-Expect(0, 889, '\P{Is_General_Category= cn}', "");
-Expect(1, 889, '\P{^Is_General_Category= cn}', "");
-Expect(0, 887, '\p{Is_General_Category= cn}', "");
-Expect(1, 887, '\p{^Is_General_Category= cn}', "");
-Expect(1, 887, '\P{Is_General_Category= cn}', "");
-Expect(0, 887, '\P{^Is_General_Category= cn}', "");
-Error('\p{Is_Gc=-:=unassigned}');
-Error('\P{Is_Gc=-:=unassigned}');
-Expect(1, 889, '\p{Is_Gc=unassigned}', "");
-Expect(0, 889, '\p{^Is_Gc=unassigned}', "");
-Expect(0, 889, '\P{Is_Gc=unassigned}', "");
-Expect(1, 889, '\P{^Is_Gc=unassigned}', "");
-Expect(0, 887, '\p{Is_Gc=unassigned}', "");
-Expect(1, 887, '\p{^Is_Gc=unassigned}', "");
-Expect(1, 887, '\P{Is_Gc=unassigned}', "");
-Expect(0, 887, '\P{^Is_Gc=unassigned}', "");
-Expect(1, 889, '\p{Is_Gc= Unassigned}', "");
-Expect(0, 889, '\p{^Is_Gc= Unassigned}', "");
-Expect(0, 889, '\P{Is_Gc= Unassigned}', "");
-Expect(1, 889, '\P{^Is_Gc= Unassigned}', "");
-Expect(0, 887, '\p{Is_Gc= Unassigned}', "");
-Expect(1, 887, '\p{^Is_Gc= Unassigned}', "");
-Expect(1, 887, '\P{Is_Gc= Unassigned}', "");
-Expect(0, 887, '\P{^Is_Gc= Unassigned}', "");
-Error('\p{Is_Category=-CN/a/}');
-Error('\P{Is_Category=-CN/a/}');
-Expect(1, 889, '\p{Is_Category=cn}', "");
-Expect(0, 889, '\p{^Is_Category=cn}', "");
-Expect(0, 889, '\P{Is_Category=cn}', "");
-Expect(1, 889, '\P{^Is_Category=cn}', "");
-Expect(0, 887, '\p{Is_Category=cn}', "");
-Expect(1, 887, '\p{^Is_Category=cn}', "");
-Expect(1, 887, '\P{Is_Category=cn}', "");
-Expect(0, 887, '\P{^Is_Category=cn}', "");
-Expect(1, 889, '\p{Is_Category= cn}', "");
-Expect(0, 889, '\p{^Is_Category= cn}', "");
-Expect(0, 889, '\P{Is_Category= cn}', "");
-Expect(1, 889, '\P{^Is_Category= cn}', "");
-Expect(0, 887, '\p{Is_Category= cn}', "");
-Expect(1, 887, '\p{^Is_Category= cn}', "");
-Expect(1, 887, '\P{Is_Category= cn}', "");
-Expect(0, 887, '\P{^Is_Category= cn}', "");
-Error('\p{General_Category=_:=Decimal Number}');
-Error('\P{General_Category=_:=Decimal Number}');
-Expect(1, 57, '\p{General_Category=decimalnumber}', "");
-Expect(0, 57, '\p{^General_Category=decimalnumber}', "");
-Expect(0, 57, '\P{General_Category=decimalnumber}', "");
-Expect(1, 57, '\P{^General_Category=decimalnumber}', "");
-Expect(0, 47, '\p{General_Category=decimalnumber}', "");
-Expect(1, 47, '\p{^General_Category=decimalnumber}', "");
-Expect(1, 47, '\P{General_Category=decimalnumber}', "");
-Expect(0, 47, '\P{^General_Category=decimalnumber}', "");
-Expect(1, 57, '\p{General_Category=-_DecimalNumber}', "");
-Expect(0, 57, '\p{^General_Category=-_DecimalNumber}', "");
-Expect(0, 57, '\P{General_Category=-_DecimalNumber}', "");
-Expect(1, 57, '\P{^General_Category=-_DecimalNumber}', "");
-Expect(0, 47, '\p{General_Category=-_DecimalNumber}', "");
-Expect(1, 47, '\p{^General_Category=-_DecimalNumber}', "");
-Expect(1, 47, '\P{General_Category=-_DecimalNumber}', "");
-Expect(0, 47, '\P{^General_Category=-_DecimalNumber}', "");
-Error('\p{Gc=:= Nd}');
-Error('\P{Gc=:= Nd}');
-Expect(1, 57, '\p{Gc=nd}', "");
-Expect(0, 57, '\p{^Gc=nd}', "");
-Expect(0, 57, '\P{Gc=nd}', "");
-Expect(1, 57, '\P{^Gc=nd}', "");
-Expect(0, 47, '\p{Gc=nd}', "");
-Expect(1, 47, '\p{^Gc=nd}', "");
-Expect(1, 47, '\P{Gc=nd}', "");
-Expect(0, 47, '\P{^Gc=nd}', "");
-Expect(1, 57, '\p{Gc=-nd}', "");
-Expect(0, 57, '\p{^Gc=-nd}', "");
-Expect(0, 57, '\P{Gc=-nd}', "");
-Expect(1, 57, '\P{^Gc=-nd}', "");
-Expect(0, 47, '\p{Gc=-nd}', "");
-Expect(1, 47, '\p{^Gc=-nd}', "");
-Expect(1, 47, '\P{Gc=-nd}', "");
-Expect(0, 47, '\P{^Gc=-nd}', "");
-Error('\p{Category: -DIGIT:=}');
-Error('\P{Category: -DIGIT:=}');
-Expect(1, 57, '\p{Category=digit}', "");
-Expect(0, 57, '\p{^Category=digit}', "");
-Expect(0, 57, '\P{Category=digit}', "");
-Expect(1, 57, '\P{^Category=digit}', "");
-Expect(0, 47, '\p{Category=digit}', "");
-Expect(1, 47, '\p{^Category=digit}', "");
-Expect(1, 47, '\P{Category=digit}', "");
-Expect(0, 47, '\P{^Category=digit}', "");
-Expect(1, 57, '\p{Category=_digit}', "");
-Expect(0, 57, '\p{^Category=_digit}', "");
-Expect(0, 57, '\P{Category=_digit}', "");
-Expect(1, 57, '\P{^Category=_digit}', "");
-Expect(0, 47, '\p{Category=_digit}', "");
-Expect(1, 47, '\p{^Category=_digit}', "");
-Expect(1, 47, '\P{Category=_digit}', "");
-Expect(0, 47, '\P{^Category=_digit}', "");
-Error('\p{Is_General_Category=/a/DecimalNUMBER}');
-Error('\P{Is_General_Category=/a/DecimalNUMBER}');
-Expect(1, 57, '\p{Is_General_Category=decimalnumber}', "");
-Expect(0, 57, '\p{^Is_General_Category=decimalnumber}', "");
-Expect(0, 57, '\P{Is_General_Category=decimalnumber}', "");
-Expect(1, 57, '\P{^Is_General_Category=decimalnumber}', "");
-Expect(0, 47, '\p{Is_General_Category=decimalnumber}', "");
-Expect(1, 47, '\p{^Is_General_Category=decimalnumber}', "");
-Expect(1, 47, '\P{Is_General_Category=decimalnumber}', "");
-Expect(0, 47, '\P{^Is_General_Category=decimalnumber}', "");
-Expect(1, 57, '\p{Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(0, 57, '\p{^Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(0, 57, '\P{Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(1, 57, '\P{^Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(0, 47, '\p{Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(1, 47, '\p{^Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(1, 47, '\P{Is_General_Category: -_Decimal_NUMBER}', "");
-Expect(0, 47, '\P{^Is_General_Category: -_Decimal_NUMBER}', "");
-Error('\p{Is_Gc:/a/_ND}');
-Error('\P{Is_Gc:/a/_ND}');
-Expect(1, 57, '\p{Is_Gc=nd}', "");
-Expect(0, 57, '\p{^Is_Gc=nd}', "");
-Expect(0, 57, '\P{Is_Gc=nd}', "");
-Expect(1, 57, '\P{^Is_Gc=nd}', "");
-Expect(0, 47, '\p{Is_Gc=nd}', "");
-Expect(1, 47, '\p{^Is_Gc=nd}', "");
-Expect(1, 47, '\P{Is_Gc=nd}', "");
-Expect(0, 47, '\P{^Is_Gc=nd}', "");
-Expect(1, 57, '\p{Is_Gc: Nd}', "");
-Expect(0, 57, '\p{^Is_Gc: Nd}', "");
-Expect(0, 57, '\P{Is_Gc: Nd}', "");
-Expect(1, 57, '\P{^Is_Gc: Nd}', "");
-Expect(0, 47, '\p{Is_Gc: Nd}', "");
-Expect(1, 47, '\p{^Is_Gc: Nd}', "");
-Expect(1, 47, '\P{Is_Gc: Nd}', "");
-Expect(0, 47, '\P{^Is_Gc: Nd}', "");
-Error('\p{Is_Category: :=Digit}');
-Error('\P{Is_Category: :=Digit}');
-Expect(1, 57, '\p{Is_Category=digit}', "");
-Expect(0, 57, '\p{^Is_Category=digit}', "");
-Expect(0, 57, '\P{Is_Category=digit}', "");
-Expect(1, 57, '\P{^Is_Category=digit}', "");
-Expect(0, 47, '\p{Is_Category=digit}', "");
-Expect(1, 47, '\p{^Is_Category=digit}', "");
-Expect(1, 47, '\P{Is_Category=digit}', "");
-Expect(0, 47, '\P{^Is_Category=digit}', "");
-Expect(1, 57, '\p{Is_Category= Digit}', "");
-Expect(0, 57, '\p{^Is_Category= Digit}', "");
-Expect(0, 57, '\P{Is_Category= Digit}', "");
-Expect(1, 57, '\P{^Is_Category= Digit}', "");
-Expect(0, 47, '\p{Is_Category= Digit}', "");
-Expect(1, 47, '\p{^Is_Category= Digit}', "");
-Expect(1, 47, '\P{Is_Category= Digit}', "");
-Expect(0, 47, '\P{^Is_Category= Digit}', "");
-Error('\p{General_Category= :=PARAGRAPH_Separator}');
-Error('\P{General_Category= :=PARAGRAPH_Separator}');
-Expect(1, 8233, '\p{General_Category=paragraphseparator}', "");
-Expect(0, 8233, '\p{^General_Category=paragraphseparator}', "");
-Expect(0, 8233, '\P{General_Category=paragraphseparator}', "");
-Expect(1, 8233, '\P{^General_Category=paragraphseparator}', "");
-Expect(0, 8232, '\p{General_Category=paragraphseparator}', "");
-Expect(1, 8232, '\p{^General_Category=paragraphseparator}', "");
-Expect(1, 8232, '\P{General_Category=paragraphseparator}', "");
-Expect(0, 8232, '\P{^General_Category=paragraphseparator}', "");
-Expect(1, 8233, '\p{General_Category= _ParagraphSeparator}', "");
-Expect(0, 8233, '\p{^General_Category= _ParagraphSeparator}', "");
-Expect(0, 8233, '\P{General_Category= _ParagraphSeparator}', "");
-Expect(1, 8233, '\P{^General_Category= _ParagraphSeparator}', "");
-Expect(0, 8232, '\p{General_Category= _ParagraphSeparator}', "");
-Expect(1, 8232, '\p{^General_Category= _ParagraphSeparator}', "");
-Expect(1, 8232, '\P{General_Category= _ParagraphSeparator}', "");
-Expect(0, 8232, '\P{^General_Category= _ParagraphSeparator}', "");
-Error('\p{Gc=_-Zp:=}');
-Error('\P{Gc=_-Zp:=}');
-Expect(1, 8233, '\p{Gc: zp}', "");
-Expect(0, 8233, '\p{^Gc: zp}', "");
-Expect(0, 8233, '\P{Gc: zp}', "");
-Expect(1, 8233, '\P{^Gc: zp}', "");
-Expect(0, 8232, '\p{Gc: zp}', "");
-Expect(1, 8232, '\p{^Gc: zp}', "");
-Expect(1, 8232, '\P{Gc: zp}', "");
-Expect(0, 8232, '\P{^Gc: zp}', "");
-Expect(1, 8233, '\p{Gc= -ZP}', "");
-Expect(0, 8233, '\p{^Gc= -ZP}', "");
-Expect(0, 8233, '\P{Gc= -ZP}', "");
-Expect(1, 8233, '\P{^Gc= -ZP}', "");
-Expect(0, 8232, '\p{Gc= -ZP}', "");
-Expect(1, 8232, '\p{^Gc= -ZP}', "");
-Expect(1, 8232, '\P{Gc= -ZP}', "");
-Expect(0, 8232, '\P{^Gc= -ZP}', "");
-Error('\p{Category=-_Paragraph/a/SEPARATOR}');
-Error('\P{Category=-_Paragraph/a/SEPARATOR}');
-Expect(1, 8233, '\p{Category=paragraphseparator}', "");
-Expect(0, 8233, '\p{^Category=paragraphseparator}', "");
-Expect(0, 8233, '\P{Category=paragraphseparator}', "");
-Expect(1, 8233, '\P{^Category=paragraphseparator}', "");
-Expect(0, 8232, '\p{Category=paragraphseparator}', "");
-Expect(1, 8232, '\p{^Category=paragraphseparator}', "");
-Expect(1, 8232, '\P{Category=paragraphseparator}', "");
-Expect(0, 8232, '\P{^Category=paragraphseparator}', "");
-Expect(1, 8233, '\p{Category=_ paragraphSeparator}', "");
-Expect(0, 8233, '\p{^Category=_ paragraphSeparator}', "");
-Expect(0, 8233, '\P{Category=_ paragraphSeparator}', "");
-Expect(1, 8233, '\P{^Category=_ paragraphSeparator}', "");
-Expect(0, 8232, '\p{Category=_ paragraphSeparator}', "");
-Expect(1, 8232, '\p{^Category=_ paragraphSeparator}', "");
-Expect(1, 8232, '\P{Category=_ paragraphSeparator}', "");
-Expect(0, 8232, '\P{^Category=_ paragraphSeparator}', "");
-Error('\p{Is_General_Category: /a/ Zp}');
-Error('\P{Is_General_Category: /a/ Zp}');
-Expect(1, 8233, '\p{Is_General_Category=zp}', "");
-Expect(0, 8233, '\p{^Is_General_Category=zp}', "");
-Expect(0, 8233, '\P{Is_General_Category=zp}', "");
-Expect(1, 8233, '\P{^Is_General_Category=zp}', "");
-Expect(0, 8232, '\p{Is_General_Category=zp}', "");
-Expect(1, 8232, '\p{^Is_General_Category=zp}', "");
-Expect(1, 8232, '\P{Is_General_Category=zp}', "");
-Expect(0, 8232, '\P{^Is_General_Category=zp}', "");
-Expect(1, 8233, '\p{Is_General_Category= zp}', "");
-Expect(0, 8233, '\p{^Is_General_Category= zp}', "");
-Expect(0, 8233, '\P{Is_General_Category= zp}', "");
-Expect(1, 8233, '\P{^Is_General_Category= zp}', "");
-Expect(0, 8232, '\p{Is_General_Category= zp}', "");
-Expect(1, 8232, '\p{^Is_General_Category= zp}', "");
-Expect(1, 8232, '\P{Is_General_Category= zp}', "");
-Expect(0, 8232, '\P{^Is_General_Category= zp}', "");
-Error('\p{Is_Gc=__paragraphseparator/a/}');
-Error('\P{Is_Gc=__paragraphseparator/a/}');
-Expect(1, 8233, '\p{Is_Gc=paragraphseparator}', "");
-Expect(0, 8233, '\p{^Is_Gc=paragraphseparator}', "");
-Expect(0, 8233, '\P{Is_Gc=paragraphseparator}', "");
-Expect(1, 8233, '\P{^Is_Gc=paragraphseparator}', "");
-Expect(0, 8232, '\p{Is_Gc=paragraphseparator}', "");
-Expect(1, 8232, '\p{^Is_Gc=paragraphseparator}', "");
-Expect(1, 8232, '\P{Is_Gc=paragraphseparator}', "");
-Expect(0, 8232, '\P{^Is_Gc=paragraphseparator}', "");
-Expect(1, 8233, '\p{Is_Gc= PARAGRAPHseparator}', "");
-Expect(0, 8233, '\p{^Is_Gc= PARAGRAPHseparator}', "");
-Expect(0, 8233, '\P{Is_Gc= PARAGRAPHseparator}', "");
-Expect(1, 8233, '\P{^Is_Gc= PARAGRAPHseparator}', "");
-Expect(0, 8232, '\p{Is_Gc= PARAGRAPHseparator}', "");
-Expect(1, 8232, '\p{^Is_Gc= PARAGRAPHseparator}', "");
-Expect(1, 8232, '\P{Is_Gc= PARAGRAPHseparator}', "");
-Expect(0, 8232, '\P{^Is_Gc= PARAGRAPHseparator}', "");
-Error('\p{Is_Category=_ Zp/a/}');
-Error('\P{Is_Category=_ Zp/a/}');
-Expect(1, 8233, '\p{Is_Category: zp}', "");
-Expect(0, 8233, '\p{^Is_Category: zp}', "");
-Expect(0, 8233, '\P{Is_Category: zp}', "");
-Expect(1, 8233, '\P{^Is_Category: zp}', "");
-Expect(0, 8232, '\p{Is_Category: zp}', "");
-Expect(1, 8232, '\p{^Is_Category: zp}', "");
-Expect(1, 8232, '\P{Is_Category: zp}', "");
-Expect(0, 8232, '\P{^Is_Category: zp}', "");
-Expect(1, 8233, '\p{Is_Category= -Zp}', "");
-Expect(0, 8233, '\p{^Is_Category= -Zp}', "");
-Expect(0, 8233, '\P{Is_Category= -Zp}', "");
-Expect(1, 8233, '\P{^Is_Category= -Zp}', "");
-Expect(0, 8232, '\p{Is_Category= -Zp}', "");
-Expect(1, 8232, '\p{^Is_Category= -Zp}', "");
-Expect(1, 8232, '\P{Is_Category= -Zp}', "");
-Expect(0, 8232, '\P{^Is_Category= -Zp}', "");
-Error('\p{General_Category=/a/Modifier-LETTER}');
-Error('\P{General_Category=/a/Modifier-LETTER}');
-Expect(1, 705, '\p{General_Category=modifierletter}', "");
-Expect(0, 705, '\p{^General_Category=modifierletter}', "");
-Expect(0, 705, '\P{General_Category=modifierletter}', "");
-Expect(1, 705, '\P{^General_Category=modifierletter}', "");
-Expect(0, 687, '\p{General_Category=modifierletter}', "");
-Expect(1, 687, '\p{^General_Category=modifierletter}', "");
-Expect(1, 687, '\P{General_Category=modifierletter}', "");
-Expect(0, 687, '\P{^General_Category=modifierletter}', "");
-Expect(1, 705, '\p{General_Category=_ MODIFIER-Letter}', "");
-Expect(0, 705, '\p{^General_Category=_ MODIFIER-Letter}', "");
-Expect(0, 705, '\P{General_Category=_ MODIFIER-Letter}', "");
-Expect(1, 705, '\P{^General_Category=_ MODIFIER-Letter}', "");
-Expect(0, 687, '\p{General_Category=_ MODIFIER-Letter}', "");
-Expect(1, 687, '\p{^General_Category=_ MODIFIER-Letter}', "");
-Expect(1, 687, '\P{General_Category=_ MODIFIER-Letter}', "");
-Expect(0, 687, '\P{^General_Category=_ MODIFIER-Letter}', "");
-Error('\p{Gc::=lm}');
-Error('\P{Gc::=lm}');
-Expect(1, 705, '\p{Gc=lm}', "");
-Expect(0, 705, '\p{^Gc=lm}', "");
-Expect(0, 705, '\P{Gc=lm}', "");
-Expect(1, 705, '\P{^Gc=lm}', "");
-Expect(0, 687, '\p{Gc=lm}', "");
-Expect(1, 687, '\p{^Gc=lm}', "");
-Expect(1, 687, '\P{Gc=lm}', "");
-Expect(0, 687, '\P{^Gc=lm}', "");
-Expect(1, 705, '\p{Gc= lm}', "");
-Expect(0, 705, '\p{^Gc= lm}', "");
-Expect(0, 705, '\P{Gc= lm}', "");
-Expect(1, 705, '\P{^Gc= lm}', "");
-Expect(0, 687, '\p{Gc= lm}', "");
-Expect(1, 687, '\p{^Gc= lm}', "");
-Expect(1, 687, '\P{Gc= lm}', "");
-Expect(0, 687, '\P{^Gc= lm}', "");
-Error('\p{Category=_modifier:=LETTER}');
-Error('\P{Category=_modifier:=LETTER}');
-Expect(1, 705, '\p{Category=modifierletter}', "");
-Expect(0, 705, '\p{^Category=modifierletter}', "");
-Expect(0, 705, '\P{Category=modifierletter}', "");
-Expect(1, 705, '\P{^Category=modifierletter}', "");
-Expect(0, 687, '\p{Category=modifierletter}', "");
-Expect(1, 687, '\p{^Category=modifierletter}', "");
-Expect(1, 687, '\P{Category=modifierletter}', "");
-Expect(0, 687, '\P{^Category=modifierletter}', "");
-Expect(1, 705, '\p{Category:_Modifier letter}', "");
-Expect(0, 705, '\p{^Category:_Modifier letter}', "");
-Expect(0, 705, '\P{Category:_Modifier letter}', "");
-Expect(1, 705, '\P{^Category:_Modifier letter}', "");
-Expect(0, 687, '\p{Category:_Modifier letter}', "");
-Expect(1, 687, '\p{^Category:_Modifier letter}', "");
-Expect(1, 687, '\P{Category:_Modifier letter}', "");
-Expect(0, 687, '\P{^Category:_Modifier letter}', "");
-Error('\p{Is_General_Category= -lm/a/}');
-Error('\P{Is_General_Category= -lm/a/}');
-Expect(1, 705, '\p{Is_General_Category=lm}', "");
-Expect(0, 705, '\p{^Is_General_Category=lm}', "");
-Expect(0, 705, '\P{Is_General_Category=lm}', "");
-Expect(1, 705, '\P{^Is_General_Category=lm}', "");
-Expect(0, 687, '\p{Is_General_Category=lm}', "");
-Expect(1, 687, '\p{^Is_General_Category=lm}', "");
-Expect(1, 687, '\P{Is_General_Category=lm}', "");
-Expect(0, 687, '\P{^Is_General_Category=lm}', "");
-Expect(1, 705, '\p{Is_General_Category= _Lm}', "");
-Expect(0, 705, '\p{^Is_General_Category= _Lm}', "");
-Expect(0, 705, '\P{Is_General_Category= _Lm}', "");
-Expect(1, 705, '\P{^Is_General_Category= _Lm}', "");
-Expect(0, 687, '\p{Is_General_Category= _Lm}', "");
-Expect(1, 687, '\p{^Is_General_Category= _Lm}', "");
-Expect(1, 687, '\P{Is_General_Category= _Lm}', "");
-Expect(0, 687, '\P{^Is_General_Category= _Lm}', "");
-Error('\p{Is_Gc= :=modifier LETTER}');
-Error('\P{Is_Gc= :=modifier LETTER}');
-Expect(1, 705, '\p{Is_Gc=modifierletter}', "");
-Expect(0, 705, '\p{^Is_Gc=modifierletter}', "");
-Expect(0, 705, '\P{Is_Gc=modifierletter}', "");
-Expect(1, 705, '\P{^Is_Gc=modifierletter}', "");
-Expect(0, 687, '\p{Is_Gc=modifierletter}', "");
-Expect(1, 687, '\p{^Is_Gc=modifierletter}', "");
-Expect(1, 687, '\P{Is_Gc=modifierletter}', "");
-Expect(0, 687, '\P{^Is_Gc=modifierletter}', "");
-Expect(1, 705, '\p{Is_Gc=--Modifierletter}', "");
-Expect(0, 705, '\p{^Is_Gc=--Modifierletter}', "");
-Expect(0, 705, '\P{Is_Gc=--Modifierletter}', "");
-Expect(1, 705, '\P{^Is_Gc=--Modifierletter}', "");
-Expect(0, 687, '\p{Is_Gc=--Modifierletter}', "");
-Expect(1, 687, '\p{^Is_Gc=--Modifierletter}', "");
-Expect(1, 687, '\P{Is_Gc=--Modifierletter}', "");
-Expect(0, 687, '\P{^Is_Gc=--Modifierletter}', "");
-Error('\p{Is_Category=/a/--lm}');
-Error('\P{Is_Category=/a/--lm}');
-Expect(1, 705, '\p{Is_Category=lm}', "");
-Expect(0, 705, '\p{^Is_Category=lm}', "");
-Expect(0, 705, '\P{Is_Category=lm}', "");
-Expect(1, 705, '\P{^Is_Category=lm}', "");
-Expect(0, 687, '\p{Is_Category=lm}', "");
-Expect(1, 687, '\p{^Is_Category=lm}', "");
-Expect(1, 687, '\P{Is_Category=lm}', "");
-Expect(0, 687, '\P{^Is_Category=lm}', "");
-Expect(1, 705, '\p{Is_Category= -Lm}', "");
-Expect(0, 705, '\p{^Is_Category= -Lm}', "");
-Expect(0, 705, '\P{Is_Category= -Lm}', "");
-Expect(1, 705, '\P{^Is_Category= -Lm}', "");
-Expect(0, 687, '\p{Is_Category= -Lm}', "");
-Expect(1, 687, '\p{^Is_Category= -Lm}', "");
-Expect(1, 687, '\P{Is_Category= -Lm}', "");
-Expect(0, 687, '\P{^Is_Category= -Lm}', "");
-Error('\p{General_Category= OTHER:=SYMBOL}');
-Error('\P{General_Category= OTHER:=SYMBOL}');
-Expect(1, 167, '\p{General_Category=othersymbol}', "");
-Expect(0, 167, '\p{^General_Category=othersymbol}', "");
-Expect(0, 167, '\P{General_Category=othersymbol}', "");
-Expect(1, 167, '\P{^General_Category=othersymbol}', "");
-Expect(0, 165, '\p{General_Category=othersymbol}', "");
-Expect(1, 165, '\p{^General_Category=othersymbol}', "");
-Expect(1, 165, '\P{General_Category=othersymbol}', "");
-Expect(0, 165, '\P{^General_Category=othersymbol}', "");
-Expect(1, 167, '\p{General_Category=_ Other-symbol}', "");
-Expect(0, 167, '\p{^General_Category=_ Other-symbol}', "");
-Expect(0, 167, '\P{General_Category=_ Other-symbol}', "");
-Expect(1, 167, '\P{^General_Category=_ Other-symbol}', "");
-Expect(0, 165, '\p{General_Category=_ Other-symbol}', "");
-Expect(1, 165, '\p{^General_Category=_ Other-symbol}', "");
-Expect(1, 165, '\P{General_Category=_ Other-symbol}', "");
-Expect(0, 165, '\P{^General_Category=_ Other-symbol}', "");
-Error('\p{Gc=-:=so}');
-Error('\P{Gc=-:=so}');
-Expect(1, 167, '\p{Gc=so}', "");
-Expect(0, 167, '\p{^Gc=so}', "");
-Expect(0, 167, '\P{Gc=so}', "");
-Expect(1, 167, '\P{^Gc=so}', "");
-Expect(0, 165, '\p{Gc=so}', "");
-Expect(1, 165, '\p{^Gc=so}', "");
-Expect(1, 165, '\P{Gc=so}', "");
-Expect(0, 165, '\P{^Gc=so}', "");
-Expect(1, 167, '\p{Gc= SO}', "");
-Expect(0, 167, '\p{^Gc= SO}', "");
-Expect(0, 167, '\P{Gc= SO}', "");
-Expect(1, 167, '\P{^Gc= SO}', "");
-Expect(0, 165, '\p{Gc= SO}', "");
-Expect(1, 165, '\p{^Gc= SO}', "");
-Expect(1, 165, '\P{Gc= SO}', "");
-Expect(0, 165, '\P{^Gc= SO}', "");
-Error('\p{Category: :=-_OtherSymbol}');
-Error('\P{Category: :=-_OtherSymbol}');
-Expect(1, 167, '\p{Category=othersymbol}', "");
-Expect(0, 167, '\p{^Category=othersymbol}', "");
-Expect(0, 167, '\P{Category=othersymbol}', "");
-Expect(1, 167, '\P{^Category=othersymbol}', "");
-Expect(0, 165, '\p{Category=othersymbol}', "");
-Expect(1, 165, '\p{^Category=othersymbol}', "");
-Expect(1, 165, '\P{Category=othersymbol}', "");
-Expect(0, 165, '\P{^Category=othersymbol}', "");
-Expect(1, 167, '\p{Category: _Other_Symbol}', "");
-Expect(0, 167, '\p{^Category: _Other_Symbol}', "");
-Expect(0, 167, '\P{Category: _Other_Symbol}', "");
-Expect(1, 167, '\P{^Category: _Other_Symbol}', "");
-Expect(0, 165, '\p{Category: _Other_Symbol}', "");
-Expect(1, 165, '\p{^Category: _Other_Symbol}', "");
-Expect(1, 165, '\P{Category: _Other_Symbol}', "");
-Expect(0, 165, '\P{^Category: _Other_Symbol}', "");
-Error('\p{Is_General_Category= So/a/}');
-Error('\P{Is_General_Category= So/a/}');
-Expect(1, 167, '\p{Is_General_Category=so}', "");
-Expect(0, 167, '\p{^Is_General_Category=so}', "");
-Expect(0, 167, '\P{Is_General_Category=so}', "");
-Expect(1, 167, '\P{^Is_General_Category=so}', "");
-Expect(0, 165, '\p{Is_General_Category=so}', "");
-Expect(1, 165, '\p{^Is_General_Category=so}', "");
-Expect(1, 165, '\P{Is_General_Category=so}', "");
-Expect(0, 165, '\P{^Is_General_Category=so}', "");
-Expect(1, 167, '\p{Is_General_Category=- so}', "");
-Expect(0, 167, '\p{^Is_General_Category=- so}', "");
-Expect(0, 167, '\P{Is_General_Category=- so}', "");
-Expect(1, 167, '\P{^Is_General_Category=- so}', "");
-Expect(0, 165, '\p{Is_General_Category=- so}', "");
-Expect(1, 165, '\p{^Is_General_Category=- so}', "");
-Expect(1, 165, '\P{Is_General_Category=- so}', "");
-Expect(0, 165, '\P{^Is_General_Category=- so}', "");
-Error('\p{Is_Gc= /a/OTHER-symbol}');
-Error('\P{Is_Gc= /a/OTHER-symbol}');
-Expect(1, 167, '\p{Is_Gc: othersymbol}', "");
-Expect(0, 167, '\p{^Is_Gc: othersymbol}', "");
-Expect(0, 167, '\P{Is_Gc: othersymbol}', "");
-Expect(1, 167, '\P{^Is_Gc: othersymbol}', "");
-Expect(0, 165, '\p{Is_Gc: othersymbol}', "");
-Expect(1, 165, '\p{^Is_Gc: othersymbol}', "");
-Expect(1, 165, '\P{Is_Gc: othersymbol}', "");
-Expect(0, 165, '\P{^Is_Gc: othersymbol}', "");
-Expect(1, 167, '\p{Is_Gc=-_OTHERsymbol}', "");
-Expect(0, 167, '\p{^Is_Gc=-_OTHERsymbol}', "");
-Expect(0, 167, '\P{Is_Gc=-_OTHERsymbol}', "");
-Expect(1, 167, '\P{^Is_Gc=-_OTHERsymbol}', "");
-Expect(0, 165, '\p{Is_Gc=-_OTHERsymbol}', "");
-Expect(1, 165, '\p{^Is_Gc=-_OTHERsymbol}', "");
-Expect(1, 165, '\P{Is_Gc=-_OTHERsymbol}', "");
-Expect(0, 165, '\P{^Is_Gc=-_OTHERsymbol}', "");
-Error('\p{Is_Category= _So:=}');
-Error('\P{Is_Category= _So:=}');
-Expect(1, 167, '\p{Is_Category=so}', "");
-Expect(0, 167, '\p{^Is_Category=so}', "");
-Expect(0, 167, '\P{Is_Category=so}', "");
-Expect(1, 167, '\P{^Is_Category=so}', "");
-Expect(0, 165, '\p{Is_Category=so}', "");
-Expect(1, 165, '\p{^Is_Category=so}', "");
-Expect(1, 165, '\P{Is_Category=so}', "");
-Expect(0, 165, '\P{^Is_Category=so}', "");
-Expect(1, 167, '\p{Is_Category: _SO}', "");
-Expect(0, 167, '\p{^Is_Category: _SO}', "");
-Expect(0, 167, '\P{Is_Category: _SO}', "");
-Expect(1, 167, '\P{^Is_Category: _SO}', "");
-Expect(0, 165, '\p{Is_Category: _SO}', "");
-Expect(1, 165, '\p{^Is_Category: _SO}', "");
-Expect(1, 165, '\P{Is_Category: _SO}', "");
-Expect(0, 165, '\P{^Is_Category: _SO}', "");
-Error('\p{General_Category= _nonspacing:=Mark}');
-Error('\P{General_Category= _nonspacing:=Mark}');
-Expect(1, 879, '\p{General_Category=nonspacingmark}', "");
-Expect(0, 879, '\p{^General_Category=nonspacingmark}', "");
-Expect(0, 879, '\P{General_Category=nonspacingmark}', "");
-Expect(1, 879, '\P{^General_Category=nonspacingmark}', "");
-Expect(0, 767, '\p{General_Category=nonspacingmark}', "");
-Expect(1, 767, '\p{^General_Category=nonspacingmark}', "");
-Expect(1, 767, '\P{General_Category=nonspacingmark}', "");
-Expect(0, 767, '\P{^General_Category=nonspacingmark}', "");
-Expect(1, 879, '\p{General_Category= Nonspacing MARK}', "");
-Expect(0, 879, '\p{^General_Category= Nonspacing MARK}', "");
-Expect(0, 879, '\P{General_Category= Nonspacing MARK}', "");
-Expect(1, 879, '\P{^General_Category= Nonspacing MARK}', "");
-Expect(0, 767, '\p{General_Category= Nonspacing MARK}', "");
-Expect(1, 767, '\p{^General_Category= Nonspacing MARK}', "");
-Expect(1, 767, '\P{General_Category= Nonspacing MARK}', "");
-Expect(0, 767, '\P{^General_Category= Nonspacing MARK}', "");
-Error('\p{Gc=/a/ _MN}');
-Error('\P{Gc=/a/ _MN}');
-Expect(1, 879, '\p{Gc=mn}', "");
-Expect(0, 879, '\p{^Gc=mn}', "");
-Expect(0, 879, '\P{Gc=mn}', "");
-Expect(1, 879, '\P{^Gc=mn}', "");
-Expect(0, 767, '\p{Gc=mn}', "");
-Expect(1, 767, '\p{^Gc=mn}', "");
-Expect(1, 767, '\P{Gc=mn}', "");
-Expect(0, 767, '\P{^Gc=mn}', "");
-Expect(1, 879, '\p{Gc= -mn}', "");
-Expect(0, 879, '\p{^Gc= -mn}', "");
-Expect(0, 879, '\P{Gc= -mn}', "");
-Expect(1, 879, '\P{^Gc= -mn}', "");
-Expect(0, 767, '\p{Gc= -mn}', "");
-Expect(1, 767, '\p{^Gc= -mn}', "");
-Expect(1, 767, '\P{Gc= -mn}', "");
-Expect(0, 767, '\P{^Gc= -mn}', "");
-Error('\p{Category= -NONSPACING mark/a/}');
-Error('\P{Category= -NONSPACING mark/a/}');
-Expect(1, 879, '\p{Category=nonspacingmark}', "");
-Expect(0, 879, '\p{^Category=nonspacingmark}', "");
-Expect(0, 879, '\P{Category=nonspacingmark}', "");
-Expect(1, 879, '\P{^Category=nonspacingmark}', "");
-Expect(0, 767, '\p{Category=nonspacingmark}', "");
-Expect(1, 767, '\p{^Category=nonspacingmark}', "");
-Expect(1, 767, '\P{Category=nonspacingmark}', "");
-Expect(0, 767, '\P{^Category=nonspacingmark}', "");
-Expect(1, 879, '\p{Category: -Nonspacing mark}', "");
-Expect(0, 879, '\p{^Category: -Nonspacing mark}', "");
-Expect(0, 879, '\P{Category: -Nonspacing mark}', "");
-Expect(1, 879, '\P{^Category: -Nonspacing mark}', "");
-Expect(0, 767, '\p{Category: -Nonspacing mark}', "");
-Expect(1, 767, '\p{^Category: -Nonspacing mark}', "");
-Expect(1, 767, '\P{Category: -Nonspacing mark}', "");
-Expect(0, 767, '\P{^Category: -Nonspacing mark}', "");
-Error('\p{Is_General_Category=mn:=}');
-Error('\P{Is_General_Category=mn:=}');
-Expect(1, 879, '\p{Is_General_Category=mn}', "");
-Expect(0, 879, '\p{^Is_General_Category=mn}', "");
-Expect(0, 879, '\P{Is_General_Category=mn}', "");
-Expect(1, 879, '\P{^Is_General_Category=mn}', "");
-Expect(0, 767, '\p{Is_General_Category=mn}', "");
-Expect(1, 767, '\p{^Is_General_Category=mn}', "");
-Expect(1, 767, '\P{Is_General_Category=mn}', "");
-Expect(0, 767, '\P{^Is_General_Category=mn}', "");
-Expect(1, 879, '\p{Is_General_Category: _-Mn}', "");
-Expect(0, 879, '\p{^Is_General_Category: _-Mn}', "");
-Expect(0, 879, '\P{Is_General_Category: _-Mn}', "");
-Expect(1, 879, '\P{^Is_General_Category: _-Mn}', "");
-Expect(0, 767, '\p{Is_General_Category: _-Mn}', "");
-Expect(1, 767, '\p{^Is_General_Category: _-Mn}', "");
-Expect(1, 767, '\P{Is_General_Category: _-Mn}', "");
-Expect(0, 767, '\P{^Is_General_Category: _-Mn}', "");
-Error('\p{Is_Gc= Nonspacing-Mark/a/}');
-Error('\P{Is_Gc= Nonspacing-Mark/a/}');
-Expect(1, 879, '\p{Is_Gc=nonspacingmark}', "");
-Expect(0, 879, '\p{^Is_Gc=nonspacingmark}', "");
-Expect(0, 879, '\P{Is_Gc=nonspacingmark}', "");
-Expect(1, 879, '\P{^Is_Gc=nonspacingmark}', "");
-Expect(0, 767, '\p{Is_Gc=nonspacingmark}', "");
-Expect(1, 767, '\p{^Is_Gc=nonspacingmark}', "");
-Expect(1, 767, '\P{Is_Gc=nonspacingmark}', "");
-Expect(0, 767, '\P{^Is_Gc=nonspacingmark}', "");
-Expect(1, 879, '\p{Is_Gc=_NONSPACINGMARK}', "");
-Expect(0, 879, '\p{^Is_Gc=_NONSPACINGMARK}', "");
-Expect(0, 879, '\P{Is_Gc=_NONSPACINGMARK}', "");
-Expect(1, 879, '\P{^Is_Gc=_NONSPACINGMARK}', "");
-Expect(0, 767, '\p{Is_Gc=_NONSPACINGMARK}', "");
-Expect(1, 767, '\p{^Is_Gc=_NONSPACINGMARK}', "");
-Expect(1, 767, '\P{Is_Gc=_NONSPACINGMARK}', "");
-Expect(0, 767, '\P{^Is_Gc=_NONSPACINGMARK}', "");
-Error('\p{Is_Category: /a/MN}');
-Error('\P{Is_Category: /a/MN}');
-Expect(1, 879, '\p{Is_Category=mn}', "");
-Expect(0, 879, '\p{^Is_Category=mn}', "");
-Expect(0, 879, '\P{Is_Category=mn}', "");
-Expect(1, 879, '\P{^Is_Category=mn}', "");
-Expect(0, 767, '\p{Is_Category=mn}', "");
-Expect(1, 767, '\p{^Is_Category=mn}', "");
-Expect(1, 767, '\P{Is_Category=mn}', "");
-Expect(0, 767, '\P{^Is_Category=mn}', "");
-Expect(1, 879, '\p{Is_Category= MN}', "");
-Expect(0, 879, '\p{^Is_Category= MN}', "");
-Expect(0, 879, '\P{Is_Category= MN}', "");
-Expect(1, 879, '\P{^Is_Category= MN}', "");
-Expect(0, 767, '\p{Is_Category= MN}', "");
-Expect(1, 767, '\p{^Is_Category= MN}', "");
-Expect(1, 767, '\P{Is_Category= MN}', "");
-Expect(0, 767, '\P{^Is_Category= MN}', "");
-Error('\p{General_Category=:= DASH PUNCTUATION}');
-Error('\P{General_Category=:= DASH PUNCTUATION}');
-Expect(1, 45, '\p{General_Category=dashpunctuation}', "");
-Expect(0, 45, '\p{^General_Category=dashpunctuation}', "");
-Expect(0, 45, '\P{General_Category=dashpunctuation}', "");
-Expect(1, 45, '\P{^General_Category=dashpunctuation}', "");
-Expect(0, 44, '\p{General_Category=dashpunctuation}', "");
-Expect(1, 44, '\p{^General_Category=dashpunctuation}', "");
-Expect(1, 44, '\P{General_Category=dashpunctuation}', "");
-Expect(0, 44, '\P{^General_Category=dashpunctuation}', "");
-Expect(1, 45, '\p{General_Category=- Dash punctuation}', "");
-Expect(0, 45, '\p{^General_Category=- Dash punctuation}', "");
-Expect(0, 45, '\P{General_Category=- Dash punctuation}', "");
-Expect(1, 45, '\P{^General_Category=- Dash punctuation}', "");
-Expect(0, 44, '\p{General_Category=- Dash punctuation}', "");
-Expect(1, 44, '\p{^General_Category=- Dash punctuation}', "");
-Expect(1, 44, '\P{General_Category=- Dash punctuation}', "");
-Expect(0, 44, '\P{^General_Category=- Dash punctuation}', "");
-Error('\p{Gc=-:=pd}');
-Error('\P{Gc=-:=pd}');
-Expect(1, 45, '\p{Gc=pd}', "");
-Expect(0, 45, '\p{^Gc=pd}', "");
-Expect(0, 45, '\P{Gc=pd}', "");
-Expect(1, 45, '\P{^Gc=pd}', "");
-Expect(0, 44, '\p{Gc=pd}', "");
-Expect(1, 44, '\p{^Gc=pd}', "");
-Expect(1, 44, '\P{Gc=pd}', "");
-Expect(0, 44, '\P{^Gc=pd}', "");
-Expect(1, 45, '\p{Gc= Pd}', "");
-Expect(0, 45, '\p{^Gc= Pd}', "");
-Expect(0, 45, '\P{Gc= Pd}', "");
-Expect(1, 45, '\P{^Gc= Pd}', "");
-Expect(0, 44, '\p{Gc= Pd}', "");
-Expect(1, 44, '\p{^Gc= Pd}', "");
-Expect(1, 44, '\P{Gc= Pd}', "");
-Expect(0, 44, '\P{^Gc= Pd}', "");
-Error('\p{Category=:=_-DashPUNCTUATION}');
-Error('\P{Category=:=_-DashPUNCTUATION}');
-Expect(1, 45, '\p{Category=dashpunctuation}', "");
-Expect(0, 45, '\p{^Category=dashpunctuation}', "");
-Expect(0, 45, '\P{Category=dashpunctuation}', "");
-Expect(1, 45, '\P{^Category=dashpunctuation}', "");
-Expect(0, 44, '\p{Category=dashpunctuation}', "");
-Expect(1, 44, '\p{^Category=dashpunctuation}', "");
-Expect(1, 44, '\P{Category=dashpunctuation}', "");
-Expect(0, 44, '\P{^Category=dashpunctuation}', "");
-Expect(1, 45, '\p{Category= dashPunctuation}', "");
-Expect(0, 45, '\p{^Category= dashPunctuation}', "");
-Expect(0, 45, '\P{Category= dashPunctuation}', "");
-Expect(1, 45, '\P{^Category= dashPunctuation}', "");
-Expect(0, 44, '\p{Category= dashPunctuation}', "");
-Expect(1, 44, '\p{^Category= dashPunctuation}', "");
-Expect(1, 44, '\P{Category= dashPunctuation}', "");
-Expect(0, 44, '\P{^Category= dashPunctuation}', "");
-Error('\p{Is_General_Category=/a/ Pd}');
-Error('\P{Is_General_Category=/a/ Pd}');
-Expect(1, 45, '\p{Is_General_Category=pd}', "");
-Expect(0, 45, '\p{^Is_General_Category=pd}', "");
-Expect(0, 45, '\P{Is_General_Category=pd}', "");
-Expect(1, 45, '\P{^Is_General_Category=pd}', "");
-Expect(0, 44, '\p{Is_General_Category=pd}', "");
-Expect(1, 44, '\p{^Is_General_Category=pd}', "");
-Expect(1, 44, '\P{Is_General_Category=pd}', "");
-Expect(0, 44, '\P{^Is_General_Category=pd}', "");
-Expect(1, 45, '\p{Is_General_Category: Pd}', "");
-Expect(0, 45, '\p{^Is_General_Category: Pd}', "");
-Expect(0, 45, '\P{Is_General_Category: Pd}', "");
-Expect(1, 45, '\P{^Is_General_Category: Pd}', "");
-Expect(0, 44, '\p{Is_General_Category: Pd}', "");
-Expect(1, 44, '\p{^Is_General_Category: Pd}', "");
-Expect(1, 44, '\P{Is_General_Category: Pd}', "");
-Expect(0, 44, '\P{^Is_General_Category: Pd}', "");
-Error('\p{Is_Gc=-_Dash/a/Punctuation}');
-Error('\P{Is_Gc=-_Dash/a/Punctuation}');
-Expect(1, 45, '\p{Is_Gc=dashpunctuation}', "");
-Expect(0, 45, '\p{^Is_Gc=dashpunctuation}', "");
-Expect(0, 45, '\P{Is_Gc=dashpunctuation}', "");
-Expect(1, 45, '\P{^Is_Gc=dashpunctuation}', "");
-Expect(0, 44, '\p{Is_Gc=dashpunctuation}', "");
-Expect(1, 44, '\p{^Is_Gc=dashpunctuation}', "");
-Expect(1, 44, '\P{Is_Gc=dashpunctuation}', "");
-Expect(0, 44, '\P{^Is_Gc=dashpunctuation}', "");
-Expect(1, 45, '\p{Is_Gc= _Dash_Punctuation}', "");
-Expect(0, 45, '\p{^Is_Gc= _Dash_Punctuation}', "");
-Expect(0, 45, '\P{Is_Gc= _Dash_Punctuation}', "");
-Expect(1, 45, '\P{^Is_Gc= _Dash_Punctuation}', "");
-Expect(0, 44, '\p{Is_Gc= _Dash_Punctuation}', "");
-Expect(1, 44, '\p{^Is_Gc= _Dash_Punctuation}', "");
-Expect(1, 44, '\P{Is_Gc= _Dash_Punctuation}', "");
-Expect(0, 44, '\P{^Is_Gc= _Dash_Punctuation}', "");
-Error('\p{Is_Category=:=PD}');
-Error('\P{Is_Category=:=PD}');
-Expect(1, 45, '\p{Is_Category=pd}', "");
-Expect(0, 45, '\p{^Is_Category=pd}', "");
-Expect(0, 45, '\P{Is_Category=pd}', "");
-Expect(1, 45, '\P{^Is_Category=pd}', "");
-Expect(0, 44, '\p{Is_Category=pd}', "");
-Expect(1, 44, '\p{^Is_Category=pd}', "");
-Expect(1, 44, '\P{Is_Category=pd}', "");
-Expect(0, 44, '\P{^Is_Category=pd}', "");
-Expect(1, 45, '\p{Is_Category= PD}', "");
-Expect(0, 45, '\p{^Is_Category= PD}', "");
-Expect(0, 45, '\P{Is_Category= PD}', "");
-Expect(1, 45, '\P{^Is_Category= PD}', "");
-Expect(0, 44, '\p{Is_Category= PD}', "");
-Expect(1, 44, '\p{^Is_Category= PD}', "");
-Expect(1, 44, '\P{Is_Category= PD}', "");
-Expect(0, 44, '\P{^Is_Category= PD}', "");
-Error('\p{General_Category=--letter Number:=}');
-Error('\P{General_Category=--letter Number:=}');
-Expect(1, 5872, '\p{General_Category=letternumber}', "");
-Expect(0, 5872, '\p{^General_Category=letternumber}', "");
-Expect(0, 5872, '\P{General_Category=letternumber}', "");
-Expect(1, 5872, '\P{^General_Category=letternumber}', "");
-Expect(0, 5869, '\p{General_Category=letternumber}', "");
-Expect(1, 5869, '\p{^General_Category=letternumber}', "");
-Expect(1, 5869, '\P{General_Category=letternumber}', "");
-Expect(0, 5869, '\P{^General_Category=letternumber}', "");
-Expect(1, 5872, '\p{General_Category= Letter-Number}', "");
-Expect(0, 5872, '\p{^General_Category= Letter-Number}', "");
-Expect(0, 5872, '\P{General_Category= Letter-Number}', "");
-Expect(1, 5872, '\P{^General_Category= Letter-Number}', "");
-Expect(0, 5869, '\p{General_Category= Letter-Number}', "");
-Expect(1, 5869, '\p{^General_Category= Letter-Number}', "");
-Expect(1, 5869, '\P{General_Category= Letter-Number}', "");
-Expect(0, 5869, '\P{^General_Category= Letter-Number}', "");
-Error('\p{Gc= :=nl}');
-Error('\P{Gc= :=nl}');
-Expect(1, 5872, '\p{Gc=nl}', "");
-Expect(0, 5872, '\p{^Gc=nl}', "");
-Expect(0, 5872, '\P{Gc=nl}', "");
-Expect(1, 5872, '\P{^Gc=nl}', "");
-Expect(0, 5869, '\p{Gc=nl}', "");
-Expect(1, 5869, '\p{^Gc=nl}', "");
-Expect(1, 5869, '\P{Gc=nl}', "");
-Expect(0, 5869, '\P{^Gc=nl}', "");
-Expect(1, 5872, '\p{Gc= Nl}', "");
-Expect(0, 5872, '\p{^Gc= Nl}', "");
-Expect(0, 5872, '\P{Gc= Nl}', "");
-Expect(1, 5872, '\P{^Gc= Nl}', "");
-Expect(0, 5869, '\p{Gc= Nl}', "");
-Expect(1, 5869, '\p{^Gc= Nl}', "");
-Expect(1, 5869, '\P{Gc= Nl}', "");
-Expect(0, 5869, '\P{^Gc= Nl}', "");
-Error('\p{Category: /a/ LETTER Number}');
-Error('\P{Category: /a/ LETTER Number}');
-Expect(1, 5872, '\p{Category=letternumber}', "");
-Expect(0, 5872, '\p{^Category=letternumber}', "");
-Expect(0, 5872, '\P{Category=letternumber}', "");
-Expect(1, 5872, '\P{^Category=letternumber}', "");
-Expect(0, 5869, '\p{Category=letternumber}', "");
-Expect(1, 5869, '\p{^Category=letternumber}', "");
-Expect(1, 5869, '\P{Category=letternumber}', "");
-Expect(0, 5869, '\P{^Category=letternumber}', "");
-Expect(1, 5872, '\p{Category=- letter-NUMBER}', "");
-Expect(0, 5872, '\p{^Category=- letter-NUMBER}', "");
-Expect(0, 5872, '\P{Category=- letter-NUMBER}', "");
-Expect(1, 5872, '\P{^Category=- letter-NUMBER}', "");
-Expect(0, 5869, '\p{Category=- letter-NUMBER}', "");
-Expect(1, 5869, '\p{^Category=- letter-NUMBER}', "");
-Expect(1, 5869, '\P{Category=- letter-NUMBER}', "");
-Expect(0, 5869, '\P{^Category=- letter-NUMBER}', "");
-Error('\p{Is_General_Category=:= _NL}');
-Error('\P{Is_General_Category=:= _NL}');
-Expect(1, 5872, '\p{Is_General_Category=nl}', "");
-Expect(0, 5872, '\p{^Is_General_Category=nl}', "");
-Expect(0, 5872, '\P{Is_General_Category=nl}', "");
-Expect(1, 5872, '\P{^Is_General_Category=nl}', "");
-Expect(0, 5869, '\p{Is_General_Category=nl}', "");
-Expect(1, 5869, '\p{^Is_General_Category=nl}', "");
-Expect(1, 5869, '\P{Is_General_Category=nl}', "");
-Expect(0, 5869, '\P{^Is_General_Category=nl}', "");
-Expect(1, 5872, '\p{Is_General_Category: -_Nl}', "");
-Expect(0, 5872, '\p{^Is_General_Category: -_Nl}', "");
-Expect(0, 5872, '\P{Is_General_Category: -_Nl}', "");
-Expect(1, 5872, '\P{^Is_General_Category: -_Nl}', "");
-Expect(0, 5869, '\p{Is_General_Category: -_Nl}', "");
-Expect(1, 5869, '\p{^Is_General_Category: -_Nl}', "");
-Expect(1, 5869, '\P{Is_General_Category: -_Nl}', "");
-Expect(0, 5869, '\P{^Is_General_Category: -_Nl}', "");
-Error('\p{Is_Gc= Letter:=Number}');
-Error('\P{Is_Gc= Letter:=Number}');
-Expect(1, 5872, '\p{Is_Gc=letternumber}', "");
-Expect(0, 5872, '\p{^Is_Gc=letternumber}', "");
-Expect(0, 5872, '\P{Is_Gc=letternumber}', "");
-Expect(1, 5872, '\P{^Is_Gc=letternumber}', "");
-Expect(0, 5869, '\p{Is_Gc=letternumber}', "");
-Expect(1, 5869, '\p{^Is_Gc=letternumber}', "");
-Expect(1, 5869, '\P{Is_Gc=letternumber}', "");
-Expect(0, 5869, '\P{^Is_Gc=letternumber}', "");
-Expect(1, 5872, '\p{Is_Gc= letterNumber}', "");
-Expect(0, 5872, '\p{^Is_Gc= letterNumber}', "");
-Expect(0, 5872, '\P{Is_Gc= letterNumber}', "");
-Expect(1, 5872, '\P{^Is_Gc= letterNumber}', "");
-Expect(0, 5869, '\p{Is_Gc= letterNumber}', "");
-Expect(1, 5869, '\p{^Is_Gc= letterNumber}', "");
-Expect(1, 5869, '\P{Is_Gc= letterNumber}', "");
-Expect(0, 5869, '\P{^Is_Gc= letterNumber}', "");
-Error('\p{Is_Category: := _Nl}');
-Error('\P{Is_Category: := _Nl}');
-Expect(1, 5872, '\p{Is_Category=nl}', "");
-Expect(0, 5872, '\p{^Is_Category=nl}', "");
-Expect(0, 5872, '\P{Is_Category=nl}', "");
-Expect(1, 5872, '\P{^Is_Category=nl}', "");
-Expect(0, 5869, '\p{Is_Category=nl}', "");
-Expect(1, 5869, '\p{^Is_Category=nl}', "");
-Expect(1, 5869, '\P{Is_Category=nl}', "");
-Expect(0, 5869, '\P{^Is_Category=nl}', "");
-Expect(1, 5872, '\p{Is_Category=__Nl}', "");
-Expect(0, 5872, '\p{^Is_Category=__Nl}', "");
-Expect(0, 5872, '\P{Is_Category=__Nl}', "");
-Expect(1, 5872, '\P{^Is_Category=__Nl}', "");
-Expect(0, 5869, '\p{Is_Category=__Nl}', "");
-Expect(1, 5869, '\p{^Is_Category=__Nl}', "");
-Expect(1, 5869, '\P{Is_Category=__Nl}', "");
-Expect(0, 5869, '\P{^Is_Category=__Nl}', "");
-Error('\p{General_Category= :=INITIAL_Punctuation}');
-Error('\P{General_Category= :=INITIAL_Punctuation}');
-Expect(1, 171, '\p{General_Category=initialpunctuation}', "");
-Expect(0, 171, '\p{^General_Category=initialpunctuation}', "");
-Expect(0, 171, '\P{General_Category=initialpunctuation}', "");
-Expect(1, 171, '\P{^General_Category=initialpunctuation}', "");
-Expect(0, 170, '\p{General_Category=initialpunctuation}', "");
-Expect(1, 170, '\p{^General_Category=initialpunctuation}', "");
-Expect(1, 170, '\P{General_Category=initialpunctuation}', "");
-Expect(0, 170, '\P{^General_Category=initialpunctuation}', "");
-Expect(1, 171, '\p{General_Category= InitialPUNCTUATION}', "");
-Expect(0, 171, '\p{^General_Category= InitialPUNCTUATION}', "");
-Expect(0, 171, '\P{General_Category= InitialPUNCTUATION}', "");
-Expect(1, 171, '\P{^General_Category= InitialPUNCTUATION}', "");
-Expect(0, 170, '\p{General_Category= InitialPUNCTUATION}', "");
-Expect(1, 170, '\p{^General_Category= InitialPUNCTUATION}', "");
-Expect(1, 170, '\P{General_Category= InitialPUNCTUATION}', "");
-Expect(0, 170, '\P{^General_Category= InitialPUNCTUATION}', "");
-Error('\p{Gc= Pi:=}');
-Error('\P{Gc= Pi:=}');
-Expect(1, 171, '\p{Gc=pi}', "");
-Expect(0, 171, '\p{^Gc=pi}', "");
-Expect(0, 171, '\P{Gc=pi}', "");
-Expect(1, 171, '\P{^Gc=pi}', "");
-Expect(0, 170, '\p{Gc=pi}', "");
-Expect(1, 170, '\p{^Gc=pi}', "");
-Expect(1, 170, '\P{Gc=pi}', "");
-Expect(0, 170, '\P{^Gc=pi}', "");
-Expect(1, 171, '\p{Gc= pi}', "");
-Expect(0, 171, '\p{^Gc= pi}', "");
-Expect(0, 171, '\P{Gc= pi}', "");
-Expect(1, 171, '\P{^Gc= pi}', "");
-Expect(0, 170, '\p{Gc= pi}', "");
-Expect(1, 170, '\p{^Gc= pi}', "");
-Expect(1, 170, '\P{Gc= pi}', "");
-Expect(0, 170, '\P{^Gc= pi}', "");
-Error('\p{Category= :=Initial Punctuation}');
-Error('\P{Category= :=Initial Punctuation}');
-Expect(1, 171, '\p{Category:initialpunctuation}', "");
-Expect(0, 171, '\p{^Category:initialpunctuation}', "");
-Expect(0, 171, '\P{Category:initialpunctuation}', "");
-Expect(1, 171, '\P{^Category:initialpunctuation}', "");
-Expect(0, 170, '\p{Category:initialpunctuation}', "");
-Expect(1, 170, '\p{^Category:initialpunctuation}', "");
-Expect(1, 170, '\P{Category:initialpunctuation}', "");
-Expect(0, 170, '\P{^Category:initialpunctuation}', "");
-Expect(1, 171, '\p{Category= -Initial_Punctuation}', "");
-Expect(0, 171, '\p{^Category= -Initial_Punctuation}', "");
-Expect(0, 171, '\P{Category= -Initial_Punctuation}', "");
-Expect(1, 171, '\P{^Category= -Initial_Punctuation}', "");
-Expect(0, 170, '\p{Category= -Initial_Punctuation}', "");
-Expect(1, 170, '\p{^Category= -Initial_Punctuation}', "");
-Expect(1, 170, '\P{Category= -Initial_Punctuation}', "");
-Expect(0, 170, '\P{^Category= -Initial_Punctuation}', "");
-Error('\p{Is_General_Category=__pi:=}');
-Error('\P{Is_General_Category=__pi:=}');
-Expect(1, 171, '\p{Is_General_Category: pi}', "");
-Expect(0, 171, '\p{^Is_General_Category: pi}', "");
-Expect(0, 171, '\P{Is_General_Category: pi}', "");
-Expect(1, 171, '\P{^Is_General_Category: pi}', "");
-Expect(0, 170, '\p{Is_General_Category: pi}', "");
-Expect(1, 170, '\p{^Is_General_Category: pi}', "");
-Expect(1, 170, '\P{Is_General_Category: pi}', "");
-Expect(0, 170, '\P{^Is_General_Category: pi}', "");
-Expect(1, 171, '\p{Is_General_Category= -pi}', "");
-Expect(0, 171, '\p{^Is_General_Category= -pi}', "");
-Expect(0, 171, '\P{Is_General_Category= -pi}', "");
-Expect(1, 171, '\P{^Is_General_Category= -pi}', "");
-Expect(0, 170, '\p{Is_General_Category= -pi}', "");
-Expect(1, 170, '\p{^Is_General_Category= -pi}', "");
-Expect(1, 170, '\P{Is_General_Category= -pi}', "");
-Expect(0, 170, '\P{^Is_General_Category= -pi}', "");
-Error('\p{Is_Gc=- Initial PUNCTUATION/a/}');
-Error('\P{Is_Gc=- Initial PUNCTUATION/a/}');
-Expect(1, 171, '\p{Is_Gc=initialpunctuation}', "");
-Expect(0, 171, '\p{^Is_Gc=initialpunctuation}', "");
-Expect(0, 171, '\P{Is_Gc=initialpunctuation}', "");
-Expect(1, 171, '\P{^Is_Gc=initialpunctuation}', "");
-Expect(0, 170, '\p{Is_Gc=initialpunctuation}', "");
-Expect(1, 170, '\p{^Is_Gc=initialpunctuation}', "");
-Expect(1, 170, '\P{Is_Gc=initialpunctuation}', "");
-Expect(0, 170, '\P{^Is_Gc=initialpunctuation}', "");
-Expect(1, 171, '\p{Is_Gc= Initial-Punctuation}', "");
-Expect(0, 171, '\p{^Is_Gc= Initial-Punctuation}', "");
-Expect(0, 171, '\P{Is_Gc= Initial-Punctuation}', "");
-Expect(1, 171, '\P{^Is_Gc= Initial-Punctuation}', "");
-Expect(0, 170, '\p{Is_Gc= Initial-Punctuation}', "");
-Expect(1, 170, '\p{^Is_Gc= Initial-Punctuation}', "");
-Expect(1, 170, '\P{Is_Gc= Initial-Punctuation}', "");
-Expect(0, 170, '\P{^Is_Gc= Initial-Punctuation}', "");
-Error('\p{Is_Category: /a/- Pi}');
-Error('\P{Is_Category: /a/- Pi}');
-Expect(1, 171, '\p{Is_Category=pi}', "");
-Expect(0, 171, '\p{^Is_Category=pi}', "");
-Expect(0, 171, '\P{Is_Category=pi}', "");
-Expect(1, 171, '\P{^Is_Category=pi}', "");
-Expect(0, 170, '\p{Is_Category=pi}', "");
-Expect(1, 170, '\p{^Is_Category=pi}', "");
-Expect(1, 170, '\P{Is_Category=pi}', "");
-Expect(0, 170, '\P{^Is_Category=pi}', "");
-Expect(1, 171, '\p{Is_Category= PI}', "");
-Expect(0, 171, '\p{^Is_Category= PI}', "");
-Expect(0, 171, '\P{Is_Category= PI}', "");
-Expect(1, 171, '\P{^Is_Category= PI}', "");
-Expect(0, 170, '\p{Is_Category= PI}', "");
-Expect(1, 170, '\p{^Is_Category= PI}', "");
-Expect(1, 170, '\P{Is_Category= PI}', "");
-Expect(0, 170, '\P{^Is_Category= PI}', "");
-Error('\p{General_Category: /a/CurrencySymbol}');
-Error('\P{General_Category: /a/CurrencySymbol}');
-Expect(1, 36, '\p{General_Category=currencysymbol}', "");
-Expect(0, 36, '\p{^General_Category=currencysymbol}', "");
-Expect(0, 36, '\P{General_Category=currencysymbol}', "");
-Expect(1, 36, '\P{^General_Category=currencysymbol}', "");
-Expect(0, 35, '\p{General_Category=currencysymbol}', "");
-Expect(1, 35, '\p{^General_Category=currencysymbol}', "");
-Expect(1, 35, '\P{General_Category=currencysymbol}', "");
-Expect(0, 35, '\P{^General_Category=currencysymbol}', "");
-Expect(1, 36, '\p{General_Category= currency_Symbol}', "");
-Expect(0, 36, '\p{^General_Category= currency_Symbol}', "");
-Expect(0, 36, '\P{General_Category= currency_Symbol}', "");
-Expect(1, 36, '\P{^General_Category= currency_Symbol}', "");
-Expect(0, 35, '\p{General_Category= currency_Symbol}', "");
-Expect(1, 35, '\p{^General_Category= currency_Symbol}', "");
-Expect(1, 35, '\P{General_Category= currency_Symbol}', "");
-Expect(0, 35, '\P{^General_Category= currency_Symbol}', "");
-Error('\p{Gc=:= _Sc}');
-Error('\P{Gc=:= _Sc}');
-Expect(1, 36, '\p{Gc=sc}', "");
-Expect(0, 36, '\p{^Gc=sc}', "");
-Expect(0, 36, '\P{Gc=sc}', "");
-Expect(1, 36, '\P{^Gc=sc}', "");
-Expect(0, 35, '\p{Gc=sc}', "");
-Expect(1, 35, '\p{^Gc=sc}', "");
-Expect(1, 35, '\P{Gc=sc}', "");
-Expect(0, 35, '\P{^Gc=sc}', "");
-Expect(1, 36, '\p{Gc= Sc}', "");
-Expect(0, 36, '\p{^Gc= Sc}', "");
-Expect(0, 36, '\P{Gc= Sc}', "");
-Expect(1, 36, '\P{^Gc= Sc}', "");
-Expect(0, 35, '\p{Gc= Sc}', "");
-Expect(1, 35, '\p{^Gc= Sc}', "");
-Expect(1, 35, '\P{Gc= Sc}', "");
-Expect(0, 35, '\P{^Gc= Sc}', "");
-Error('\p{Category= currency_symbol/a/}');
-Error('\P{Category= currency_symbol/a/}');
-Expect(1, 36, '\p{Category: currencysymbol}', "");
-Expect(0, 36, '\p{^Category: currencysymbol}', "");
-Expect(0, 36, '\P{Category: currencysymbol}', "");
-Expect(1, 36, '\P{^Category: currencysymbol}', "");
-Expect(0, 35, '\p{Category: currencysymbol}', "");
-Expect(1, 35, '\p{^Category: currencysymbol}', "");
-Expect(1, 35, '\P{Category: currencysymbol}', "");
-Expect(0, 35, '\P{^Category: currencysymbol}', "");
-Expect(1, 36, '\p{Category=_ CurrencySymbol}', "");
-Expect(0, 36, '\p{^Category=_ CurrencySymbol}', "");
-Expect(0, 36, '\P{Category=_ CurrencySymbol}', "");
-Expect(1, 36, '\P{^Category=_ CurrencySymbol}', "");
-Expect(0, 35, '\p{Category=_ CurrencySymbol}', "");
-Expect(1, 35, '\p{^Category=_ CurrencySymbol}', "");
-Expect(1, 35, '\P{Category=_ CurrencySymbol}', "");
-Expect(0, 35, '\P{^Category=_ CurrencySymbol}', "");
-Error('\p{Is_General_Category= Sc/a/}');
-Error('\P{Is_General_Category= Sc/a/}');
-Expect(1, 36, '\p{Is_General_Category: sc}', "");
-Expect(0, 36, '\p{^Is_General_Category: sc}', "");
-Expect(0, 36, '\P{Is_General_Category: sc}', "");
-Expect(1, 36, '\P{^Is_General_Category: sc}', "");
-Expect(0, 35, '\p{Is_General_Category: sc}', "");
-Expect(1, 35, '\p{^Is_General_Category: sc}', "");
-Expect(1, 35, '\P{Is_General_Category: sc}', "");
-Expect(0, 35, '\P{^Is_General_Category: sc}', "");
-Expect(1, 36, '\p{Is_General_Category= Sc}', "");
-Expect(0, 36, '\p{^Is_General_Category= Sc}', "");
-Expect(0, 36, '\P{Is_General_Category= Sc}', "");
-Expect(1, 36, '\P{^Is_General_Category= Sc}', "");
-Expect(0, 35, '\p{Is_General_Category= Sc}', "");
-Expect(1, 35, '\p{^Is_General_Category= Sc}', "");
-Expect(1, 35, '\P{Is_General_Category= Sc}', "");
-Expect(0, 35, '\P{^Is_General_Category= Sc}', "");
-Error('\p{Is_Gc=:=currency symbol}');
-Error('\P{Is_Gc=:=currency symbol}');
-Expect(1, 36, '\p{Is_Gc: currencysymbol}', "");
-Expect(0, 36, '\p{^Is_Gc: currencysymbol}', "");
-Expect(0, 36, '\P{Is_Gc: currencysymbol}', "");
-Expect(1, 36, '\P{^Is_Gc: currencysymbol}', "");
-Expect(0, 35, '\p{Is_Gc: currencysymbol}', "");
-Expect(1, 35, '\p{^Is_Gc: currencysymbol}', "");
-Expect(1, 35, '\P{Is_Gc: currencysymbol}', "");
-Expect(0, 35, '\P{^Is_Gc: currencysymbol}', "");
-Expect(1, 36, '\p{Is_Gc=- Currency_SYMBOL}', "");
-Expect(0, 36, '\p{^Is_Gc=- Currency_SYMBOL}', "");
-Expect(0, 36, '\P{Is_Gc=- Currency_SYMBOL}', "");
-Expect(1, 36, '\P{^Is_Gc=- Currency_SYMBOL}', "");
-Expect(0, 35, '\p{Is_Gc=- Currency_SYMBOL}', "");
-Expect(1, 35, '\p{^Is_Gc=- Currency_SYMBOL}', "");
-Expect(1, 35, '\P{Is_Gc=- Currency_SYMBOL}', "");
-Expect(0, 35, '\P{^Is_Gc=- Currency_SYMBOL}', "");
-Error('\p{Is_Category: /a/- Sc}');
-Error('\P{Is_Category: /a/- Sc}');
-Expect(1, 36, '\p{Is_Category=sc}', "");
-Expect(0, 36, '\p{^Is_Category=sc}', "");
-Expect(0, 36, '\P{Is_Category=sc}', "");
-Expect(1, 36, '\P{^Is_Category=sc}', "");
-Expect(0, 35, '\p{Is_Category=sc}', "");
-Expect(1, 35, '\p{^Is_Category=sc}', "");
-Expect(1, 35, '\P{Is_Category=sc}', "");
-Expect(0, 35, '\P{^Is_Category=sc}', "");
-Expect(1, 36, '\p{Is_Category= _Sc}', "");
-Expect(0, 36, '\p{^Is_Category= _Sc}', "");
-Expect(0, 36, '\P{Is_Category= _Sc}', "");
-Expect(1, 36, '\P{^Is_Category= _Sc}', "");
-Expect(0, 35, '\p{Is_Category= _Sc}', "");
-Expect(1, 35, '\p{^Is_Category= _Sc}', "");
-Expect(1, 35, '\P{Is_Category= _Sc}', "");
-Expect(0, 35, '\P{^Is_Category= _Sc}', "");
-Error('\p{General_Category=/a/-Format}');
-Error('\P{General_Category=/a/-Format}');
-Expect(1, 173, '\p{General_Category=format}', "");
-Expect(0, 173, '\p{^General_Category=format}', "");
-Expect(0, 173, '\P{General_Category=format}', "");
-Expect(1, 173, '\P{^General_Category=format}', "");
-Expect(0, 172, '\p{General_Category=format}', "");
-Expect(1, 172, '\p{^General_Category=format}', "");
-Expect(1, 172, '\P{General_Category=format}', "");
-Expect(0, 172, '\P{^General_Category=format}', "");
-Expect(1, 173, '\p{General_Category= _Format}', "");
-Expect(0, 173, '\p{^General_Category= _Format}', "");
-Expect(0, 173, '\P{General_Category= _Format}', "");
-Expect(1, 173, '\P{^General_Category= _Format}', "");
-Expect(0, 172, '\p{General_Category= _Format}', "");
-Expect(1, 172, '\p{^General_Category= _Format}', "");
-Expect(1, 172, '\P{General_Category= _Format}', "");
-Expect(0, 172, '\P{^General_Category= _Format}', "");
-Error('\p{Gc=:=_CF}');
-Error('\P{Gc=:=_CF}');
-Expect(1, 173, '\p{Gc=cf}', "");
-Expect(0, 173, '\p{^Gc=cf}', "");
-Expect(0, 173, '\P{Gc=cf}', "");
-Expect(1, 173, '\P{^Gc=cf}', "");
-Expect(0, 172, '\p{Gc=cf}', "");
-Expect(1, 172, '\p{^Gc=cf}', "");
-Expect(1, 172, '\P{Gc=cf}', "");
-Expect(0, 172, '\P{^Gc=cf}', "");
-Expect(1, 173, '\p{Gc=__CF}', "");
-Expect(0, 173, '\p{^Gc=__CF}', "");
-Expect(0, 173, '\P{Gc=__CF}', "");
-Expect(1, 173, '\P{^Gc=__CF}', "");
-Expect(0, 172, '\p{Gc=__CF}', "");
-Expect(1, 172, '\p{^Gc=__CF}', "");
-Expect(1, 172, '\P{Gc=__CF}', "");
-Expect(0, 172, '\P{^Gc=__CF}', "");
-Error('\p{Category= FORMAT:=}');
-Error('\P{Category= FORMAT:=}');
-Expect(1, 173, '\p{Category: format}', "");
-Expect(0, 173, '\p{^Category: format}', "");
-Expect(0, 173, '\P{Category: format}', "");
-Expect(1, 173, '\P{^Category: format}', "");
-Expect(0, 172, '\p{Category: format}', "");
-Expect(1, 172, '\p{^Category: format}', "");
-Expect(1, 172, '\P{Category: format}', "");
-Expect(0, 172, '\P{^Category: format}', "");
-Expect(1, 173, '\p{Category=Format}', "");
-Expect(0, 173, '\p{^Category=Format}', "");
-Expect(0, 173, '\P{Category=Format}', "");
-Expect(1, 173, '\P{^Category=Format}', "");
-Expect(0, 172, '\p{Category=Format}', "");
-Expect(1, 172, '\p{^Category=Format}', "");
-Expect(1, 172, '\P{Category=Format}', "");
-Expect(0, 172, '\P{^Category=Format}', "");
-Error('\p{Is_General_Category= cf/a/}');
-Error('\P{Is_General_Category= cf/a/}');
-Expect(1, 173, '\p{Is_General_Category=cf}', "");
-Expect(0, 173, '\p{^Is_General_Category=cf}', "");
-Expect(0, 173, '\P{Is_General_Category=cf}', "");
-Expect(1, 173, '\P{^Is_General_Category=cf}', "");
-Expect(0, 172, '\p{Is_General_Category=cf}', "");
-Expect(1, 172, '\p{^Is_General_Category=cf}', "");
-Expect(1, 172, '\P{Is_General_Category=cf}', "");
-Expect(0, 172, '\P{^Is_General_Category=cf}', "");
-Expect(1, 173, '\p{Is_General_Category=_CF}', "");
-Expect(0, 173, '\p{^Is_General_Category=_CF}', "");
-Expect(0, 173, '\P{Is_General_Category=_CF}', "");
-Expect(1, 173, '\P{^Is_General_Category=_CF}', "");
-Expect(0, 172, '\p{Is_General_Category=_CF}', "");
-Expect(1, 172, '\p{^Is_General_Category=_CF}', "");
-Expect(1, 172, '\P{Is_General_Category=_CF}', "");
-Expect(0, 172, '\P{^Is_General_Category=_CF}', "");
-Error('\p{Is_Gc=- FORMAT:=}');
-Error('\P{Is_Gc=- FORMAT:=}');
-Expect(1, 173, '\p{Is_Gc=format}', "");
-Expect(0, 173, '\p{^Is_Gc=format}', "");
-Expect(0, 173, '\P{Is_Gc=format}', "");
-Expect(1, 173, '\P{^Is_Gc=format}', "");
-Expect(0, 172, '\p{Is_Gc=format}', "");
-Expect(1, 172, '\p{^Is_Gc=format}', "");
-Expect(1, 172, '\P{Is_Gc=format}', "");
-Expect(0, 172, '\P{^Is_Gc=format}', "");
-Expect(1, 173, '\p{Is_Gc= Format}', "");
-Expect(0, 173, '\p{^Is_Gc= Format}', "");
-Expect(0, 173, '\P{Is_Gc= Format}', "");
-Expect(1, 173, '\P{^Is_Gc= Format}', "");
-Expect(0, 172, '\p{Is_Gc= Format}', "");
-Expect(1, 172, '\p{^Is_Gc= Format}', "");
-Expect(1, 172, '\P{Is_Gc= Format}', "");
-Expect(0, 172, '\P{^Is_Gc= Format}', "");
-Error('\p{Is_Category=- Cf/a/}');
-Error('\P{Is_Category=- Cf/a/}');
-Expect(1, 173, '\p{Is_Category=cf}', "");
-Expect(0, 173, '\p{^Is_Category=cf}', "");
-Expect(0, 173, '\P{Is_Category=cf}', "");
-Expect(1, 173, '\P{^Is_Category=cf}', "");
-Expect(0, 172, '\p{Is_Category=cf}', "");
-Expect(1, 172, '\p{^Is_Category=cf}', "");
-Expect(1, 172, '\P{Is_Category=cf}', "");
-Expect(0, 172, '\P{^Is_Category=cf}', "");
-Expect(1, 173, '\p{Is_Category=_-cf}', "");
-Expect(0, 173, '\p{^Is_Category=_-cf}', "");
-Expect(0, 173, '\P{Is_Category=_-cf}', "");
-Expect(1, 173, '\P{^Is_Category=_-cf}', "");
-Expect(0, 172, '\p{Is_Category=_-cf}', "");
-Expect(1, 172, '\p{^Is_Category=_-cf}', "");
-Expect(1, 172, '\P{Is_Category=_-cf}', "");
-Expect(0, 172, '\P{^Is_Category=_-cf}', "");
-Error('\p{Default_Ignorable_Code_Point: -Yes:=}');
-Error('\P{Default_Ignorable_Code_Point: -Yes:=}');
-Expect(1, 173, '\p{Default_Ignorable_Code_Point: yes}', "");
-Expect(0, 173, '\p{^Default_Ignorable_Code_Point: yes}', "");
-Expect(0, 173, '\P{Default_Ignorable_Code_Point: yes}', "");
-Expect(1, 173, '\P{^Default_Ignorable_Code_Point: yes}', "");
-Expect(0, 172, '\p{Default_Ignorable_Code_Point: yes}', "");
-Expect(1, 172, '\p{^Default_Ignorable_Code_Point: yes}', "");
-Expect(1, 172, '\P{Default_Ignorable_Code_Point: yes}', "");
-Expect(0, 172, '\P{^Default_Ignorable_Code_Point: yes}', "");
-Expect(1, 173, '\p{Default_Ignorable_Code_Point= _Yes}', "");
-Expect(0, 173, '\p{^Default_Ignorable_Code_Point= _Yes}', "");
-Expect(0, 173, '\P{Default_Ignorable_Code_Point= _Yes}', "");
-Expect(1, 173, '\P{^Default_Ignorable_Code_Point= _Yes}', "");
-Expect(0, 172, '\p{Default_Ignorable_Code_Point= _Yes}', "");
-Expect(1, 172, '\p{^Default_Ignorable_Code_Point= _Yes}', "");
-Expect(1, 172, '\P{Default_Ignorable_Code_Point= _Yes}', "");
-Expect(0, 172, '\P{^Default_Ignorable_Code_Point= _Yes}', "");
-Error('\p{DI: /a/ _Y}');
-Error('\P{DI: /a/ _Y}');
-Expect(1, 173, '\p{DI=y}', "");
-Expect(0, 173, '\p{^DI=y}', "");
-Expect(0, 173, '\P{DI=y}', "");
-Expect(1, 173, '\P{^DI=y}', "");
-Expect(0, 172, '\p{DI=y}', "");
-Expect(1, 172, '\p{^DI=y}', "");
-Expect(1, 172, '\P{DI=y}', "");
-Expect(0, 172, '\P{^DI=y}', "");
-Expect(1, 173, '\p{DI= Y}', "");
-Expect(0, 173, '\p{^DI= Y}', "");
-Expect(0, 173, '\P{DI= Y}', "");
-Expect(1, 173, '\P{^DI= Y}', "");
-Expect(0, 172, '\p{DI= Y}', "");
-Expect(1, 172, '\p{^DI= Y}', "");
-Expect(1, 172, '\P{DI= Y}', "");
-Expect(0, 172, '\P{^DI= Y}', "");
-Error('\p{Is_Default_Ignorable_Code_Point= t/a/}');
-Error('\P{Is_Default_Ignorable_Code_Point= t/a/}');
-Expect(1, 173, '\p{Is_Default_Ignorable_Code_Point=t}', "");
-Expect(0, 173, '\p{^Is_Default_Ignorable_Code_Point=t}', "");
-Expect(0, 173, '\P{Is_Default_Ignorable_Code_Point=t}', "");
-Expect(1, 173, '\P{^Is_Default_Ignorable_Code_Point=t}', "");
-Expect(0, 172, '\p{Is_Default_Ignorable_Code_Point=t}', "");
-Expect(1, 172, '\p{^Is_Default_Ignorable_Code_Point=t}', "");
-Expect(1, 172, '\P{Is_Default_Ignorable_Code_Point=t}', "");
-Expect(0, 172, '\P{^Is_Default_Ignorable_Code_Point=t}', "");
-Expect(1, 173, '\p{Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(0, 173, '\p{^Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(0, 173, '\P{Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(1, 173, '\P{^Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(0, 172, '\p{Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(1, 172, '\p{^Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(1, 172, '\P{Is_Default_Ignorable_Code_Point=-T}', "");
-Expect(0, 172, '\P{^Is_Default_Ignorable_Code_Point=-T}', "");
-Error('\p{Is_DI=/a/ TRUE}');
-Error('\P{Is_DI=/a/ TRUE}');
-Expect(1, 173, '\p{Is_DI=true}', "");
-Expect(0, 173, '\p{^Is_DI=true}', "");
-Expect(0, 173, '\P{Is_DI=true}', "");
-Expect(1, 173, '\P{^Is_DI=true}', "");
-Expect(0, 172, '\p{Is_DI=true}', "");
-Expect(1, 172, '\p{^Is_DI=true}', "");
-Expect(1, 172, '\P{Is_DI=true}', "");
-Expect(0, 172, '\P{^Is_DI=true}', "");
-Expect(1, 173, '\p{Is_DI=__True}', "");
-Expect(0, 173, '\p{^Is_DI=__True}', "");
-Expect(0, 173, '\P{Is_DI=__True}', "");
-Expect(1, 173, '\P{^Is_DI=__True}', "");
-Expect(0, 172, '\p{Is_DI=__True}', "");
-Expect(1, 172, '\p{^Is_DI=__True}', "");
-Expect(1, 172, '\P{Is_DI=__True}', "");
-Expect(0, 172, '\P{^Is_DI=__True}', "");
-Error('\p{Default_Ignorable_Code_Point=_ no:=}');
-Error('\P{Default_Ignorable_Code_Point=_ no:=}');
-Expect(1, 172, '\p{Default_Ignorable_Code_Point=no}', "");
-Expect(0, 172, '\p{^Default_Ignorable_Code_Point=no}', "");
-Expect(0, 172, '\P{Default_Ignorable_Code_Point=no}', "");
-Expect(1, 172, '\P{^Default_Ignorable_Code_Point=no}', "");
-Expect(0, 173, '\p{Default_Ignorable_Code_Point=no}', "");
-Expect(1, 173, '\p{^Default_Ignorable_Code_Point=no}', "");
-Expect(1, 173, '\P{Default_Ignorable_Code_Point=no}', "");
-Expect(0, 173, '\P{^Default_Ignorable_Code_Point=no}', "");
-Expect(1, 172, '\p{Default_Ignorable_Code_Point=-No}', "");
-Expect(0, 172, '\p{^Default_Ignorable_Code_Point=-No}', "");
-Expect(0, 172, '\P{Default_Ignorable_Code_Point=-No}', "");
-Expect(1, 172, '\P{^Default_Ignorable_Code_Point=-No}', "");
-Expect(0, 173, '\p{Default_Ignorable_Code_Point=-No}', "");
-Expect(1, 173, '\p{^Default_Ignorable_Code_Point=-No}', "");
-Expect(1, 173, '\P{Default_Ignorable_Code_Point=-No}', "");
-Expect(0, 173, '\P{^Default_Ignorable_Code_Point=-No}', "");
-Error('\p{DI=_/a/N}');
-Error('\P{DI=_/a/N}');
-Expect(1, 172, '\p{DI: n}', "");
-Expect(0, 172, '\p{^DI: n}', "");
-Expect(0, 172, '\P{DI: n}', "");
-Expect(1, 172, '\P{^DI: n}', "");
-Expect(0, 173, '\p{DI: n}', "");
-Expect(1, 173, '\p{^DI: n}', "");
-Expect(1, 173, '\P{DI: n}', "");
-Expect(0, 173, '\P{^DI: n}', "");
-Expect(1, 172, '\p{DI= _N}', "");
-Expect(0, 172, '\p{^DI= _N}', "");
-Expect(0, 172, '\P{DI= _N}', "");
-Expect(1, 172, '\P{^DI= _N}', "");
-Expect(0, 173, '\p{DI= _N}', "");
-Expect(1, 173, '\p{^DI= _N}', "");
-Expect(1, 173, '\P{DI= _N}', "");
-Expect(0, 173, '\P{^DI= _N}', "");
-Error('\p{Is_Default_Ignorable_Code_Point=:= -F}');
-Error('\P{Is_Default_Ignorable_Code_Point=:= -F}');
-Expect(1, 172, '\p{Is_Default_Ignorable_Code_Point: f}', "");
-Expect(0, 172, '\p{^Is_Default_Ignorable_Code_Point: f}', "");
-Expect(0, 172, '\P{Is_Default_Ignorable_Code_Point: f}', "");
-Expect(1, 172, '\P{^Is_Default_Ignorable_Code_Point: f}', "");
-Expect(0, 173, '\p{Is_Default_Ignorable_Code_Point: f}', "");
-Expect(1, 173, '\p{^Is_Default_Ignorable_Code_Point: f}', "");
-Expect(1, 173, '\P{Is_Default_Ignorable_Code_Point: f}', "");
-Expect(0, 173, '\P{^Is_Default_Ignorable_Code_Point: f}', "");
-Expect(1, 172, '\p{Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(0, 172, '\p{^Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(0, 172, '\P{Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(1, 172, '\P{^Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(0, 173, '\p{Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(1, 173, '\p{^Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(1, 173, '\P{Is_Default_Ignorable_Code_Point=- F}', "");
-Expect(0, 173, '\P{^Is_Default_Ignorable_Code_Point=- F}', "");
-Error('\p{Is_DI=_false/a/}');
-Error('\P{Is_DI=_false/a/}');
-Expect(1, 172, '\p{Is_DI: false}', "");
-Expect(0, 172, '\p{^Is_DI: false}', "");
-Expect(0, 172, '\P{Is_DI: false}', "");
-Expect(1, 172, '\P{^Is_DI: false}', "");
-Expect(0, 173, '\p{Is_DI: false}', "");
-Expect(1, 173, '\p{^Is_DI: false}', "");
-Expect(1, 173, '\P{Is_DI: false}', "");
-Expect(0, 173, '\P{^Is_DI: false}', "");
-Expect(1, 172, '\p{Is_DI= False}', "");
-Expect(0, 172, '\p{^Is_DI= False}', "");
-Expect(0, 172, '\P{Is_DI= False}', "");
-Expect(1, 172, '\P{^Is_DI= False}', "");
-Expect(0, 173, '\p{Is_DI= False}', "");
-Expect(1, 173, '\p{^Is_DI= False}', "");
-Expect(1, 173, '\P{Is_DI= False}', "");
-Expect(0, 173, '\P{^Is_DI= False}', "");
-Error('\p{Terminal_Punctuation= /a/yes}');
-Error('\P{Terminal_Punctuation= /a/yes}');
-Expect(1, 33, '\p{Terminal_Punctuation=yes}', "");
-Expect(0, 33, '\p{^Terminal_Punctuation=yes}', "");
-Expect(0, 33, '\P{Terminal_Punctuation=yes}', "");
-Expect(1, 33, '\P{^Terminal_Punctuation=yes}', "");
-Expect(0, 32, '\p{Terminal_Punctuation=yes}', "");
-Expect(1, 32, '\p{^Terminal_Punctuation=yes}', "");
-Expect(1, 32, '\P{Terminal_Punctuation=yes}', "");
-Expect(0, 32, '\P{^Terminal_Punctuation=yes}', "");
-Expect(1, 33, '\p{Terminal_Punctuation= YES}', "");
-Expect(0, 33, '\p{^Terminal_Punctuation= YES}', "");
-Expect(0, 33, '\P{Terminal_Punctuation= YES}', "");
-Expect(1, 33, '\P{^Terminal_Punctuation= YES}', "");
-Expect(0, 32, '\p{Terminal_Punctuation= YES}', "");
-Expect(1, 32, '\p{^Terminal_Punctuation= YES}', "");
-Expect(1, 32, '\P{Terminal_Punctuation= YES}', "");
-Expect(0, 32, '\P{^Terminal_Punctuation= YES}', "");
-Error('\p{Term: :=Y}');
-Error('\P{Term: :=Y}');
-Expect(1, 33, '\p{Term=y}', "");
-Expect(0, 33, '\p{^Term=y}', "");
-Expect(0, 33, '\P{Term=y}', "");
-Expect(1, 33, '\P{^Term=y}', "");
-Expect(0, 32, '\p{Term=y}', "");
-Expect(1, 32, '\p{^Term=y}', "");
-Expect(1, 32, '\P{Term=y}', "");
-Expect(0, 32, '\P{^Term=y}', "");
-Expect(1, 33, '\p{Term=Y}', "");
-Expect(0, 33, '\p{^Term=Y}', "");
-Expect(0, 33, '\P{Term=Y}', "");
-Expect(1, 33, '\P{^Term=Y}', "");
-Expect(0, 32, '\p{Term=Y}', "");
-Expect(1, 32, '\p{^Term=Y}', "");
-Expect(1, 32, '\P{Term=Y}', "");
-Expect(0, 32, '\P{^Term=Y}', "");
-Error('\p{Is_Terminal_Punctuation= :=T}');
-Error('\P{Is_Terminal_Punctuation= :=T}');
-Expect(1, 33, '\p{Is_Terminal_Punctuation=t}', "");
-Expect(0, 33, '\p{^Is_Terminal_Punctuation=t}', "");
-Expect(0, 33, '\P{Is_Terminal_Punctuation=t}', "");
-Expect(1, 33, '\P{^Is_Terminal_Punctuation=t}', "");
-Expect(0, 32, '\p{Is_Terminal_Punctuation=t}', "");
-Expect(1, 32, '\p{^Is_Terminal_Punctuation=t}', "");
-Expect(1, 32, '\P{Is_Terminal_Punctuation=t}', "");
-Expect(0, 32, '\P{^Is_Terminal_Punctuation=t}', "");
-Expect(1, 33, '\p{Is_Terminal_Punctuation=_ t}', "");
-Expect(0, 33, '\p{^Is_Terminal_Punctuation=_ t}', "");
-Expect(0, 33, '\P{Is_Terminal_Punctuation=_ t}', "");
-Expect(1, 33, '\P{^Is_Terminal_Punctuation=_ t}', "");
-Expect(0, 32, '\p{Is_Terminal_Punctuation=_ t}', "");
-Expect(1, 32, '\p{^Is_Terminal_Punctuation=_ t}', "");
-Expect(1, 32, '\P{Is_Terminal_Punctuation=_ t}', "");
-Expect(0, 32, '\P{^Is_Terminal_Punctuation=_ t}', "");
-Error('\p{Is_Term=-/a/true}');
-Error('\P{Is_Term=-/a/true}');
-Expect(1, 33, '\p{Is_Term: true}', "");
-Expect(0, 33, '\p{^Is_Term: true}', "");
-Expect(0, 33, '\P{Is_Term: true}', "");
-Expect(1, 33, '\P{^Is_Term: true}', "");
-Expect(0, 32, '\p{Is_Term: true}', "");
-Expect(1, 32, '\p{^Is_Term: true}', "");
-Expect(1, 32, '\P{Is_Term: true}', "");
-Expect(0, 32, '\P{^Is_Term: true}', "");
-Expect(1, 33, '\p{Is_Term: -TRUE}', "");
-Expect(0, 33, '\p{^Is_Term: -TRUE}', "");
-Expect(0, 33, '\P{Is_Term: -TRUE}', "");
-Expect(1, 33, '\P{^Is_Term: -TRUE}', "");
-Expect(0, 32, '\p{Is_Term: -TRUE}', "");
-Expect(1, 32, '\p{^Is_Term: -TRUE}', "");
-Expect(1, 32, '\P{Is_Term: -TRUE}', "");
-Expect(0, 32, '\P{^Is_Term: -TRUE}', "");
-Error('\p{Terminal_Punctuation=/a/ No}');
-Error('\P{Terminal_Punctuation=/a/ No}');
-Expect(1, 32, '\p{Terminal_Punctuation=no}', "");
-Expect(0, 32, '\p{^Terminal_Punctuation=no}', "");
-Expect(0, 32, '\P{Terminal_Punctuation=no}', "");
-Expect(1, 32, '\P{^Terminal_Punctuation=no}', "");
-Expect(0, 33, '\p{Terminal_Punctuation=no}', "");
-Expect(1, 33, '\p{^Terminal_Punctuation=no}', "");
-Expect(1, 33, '\P{Terminal_Punctuation=no}', "");
-Expect(0, 33, '\P{^Terminal_Punctuation=no}', "");
-Expect(1, 32, '\p{Terminal_Punctuation:- NO}', "");
-Expect(0, 32, '\p{^Terminal_Punctuation:- NO}', "");
-Expect(0, 32, '\P{Terminal_Punctuation:- NO}', "");
-Expect(1, 32, '\P{^Terminal_Punctuation:- NO}', "");
-Expect(0, 33, '\p{Terminal_Punctuation:- NO}', "");
-Expect(1, 33, '\p{^Terminal_Punctuation:- NO}', "");
-Expect(1, 33, '\P{Terminal_Punctuation:- NO}', "");
-Expect(0, 33, '\P{^Terminal_Punctuation:- NO}', "");
-Error('\p{Term= :=N}');
-Error('\P{Term= :=N}');
-Expect(1, 32, '\p{Term=n}', "");
-Expect(0, 32, '\p{^Term=n}', "");
-Expect(0, 32, '\P{Term=n}', "");
-Expect(1, 32, '\P{^Term=n}', "");
-Expect(0, 33, '\p{Term=n}', "");
-Expect(1, 33, '\p{^Term=n}', "");
-Expect(1, 33, '\P{Term=n}', "");
-Expect(0, 33, '\P{^Term=n}', "");
-Expect(1, 32, '\p{Term= -n}', "");
-Expect(0, 32, '\p{^Term= -n}', "");
-Expect(0, 32, '\P{Term= -n}', "");
-Expect(1, 32, '\P{^Term= -n}', "");
-Expect(0, 33, '\p{Term= -n}', "");
-Expect(1, 33, '\p{^Term= -n}', "");
-Expect(1, 33, '\P{Term= -n}', "");
-Expect(0, 33, '\P{^Term= -n}', "");
-Error('\p{Is_Terminal_Punctuation=/a/F}');
-Error('\P{Is_Terminal_Punctuation=/a/F}');
-Expect(1, 32, '\p{Is_Terminal_Punctuation=f}', "");
-Expect(0, 32, '\p{^Is_Terminal_Punctuation=f}', "");
-Expect(0, 32, '\P{Is_Terminal_Punctuation=f}', "");
-Expect(1, 32, '\P{^Is_Terminal_Punctuation=f}', "");
-Expect(0, 33, '\p{Is_Terminal_Punctuation=f}', "");
-Expect(1, 33, '\p{^Is_Terminal_Punctuation=f}', "");
-Expect(1, 33, '\P{Is_Terminal_Punctuation=f}', "");
-Expect(0, 33, '\P{^Is_Terminal_Punctuation=f}', "");
-Expect(1, 32, '\p{Is_Terminal_Punctuation= -F}', "");
-Expect(0, 32, '\p{^Is_Terminal_Punctuation= -F}', "");
-Expect(0, 32, '\P{Is_Terminal_Punctuation= -F}', "");
-Expect(1, 32, '\P{^Is_Terminal_Punctuation= -F}', "");
-Expect(0, 33, '\p{Is_Terminal_Punctuation= -F}', "");
-Expect(1, 33, '\p{^Is_Terminal_Punctuation= -F}', "");
-Expect(1, 33, '\P{Is_Terminal_Punctuation= -F}', "");
-Expect(0, 33, '\P{^Is_Terminal_Punctuation= -F}', "");
-Error('\p{Is_Term=- false/a/}');
-Error('\P{Is_Term=- false/a/}');
-Expect(1, 32, '\p{Is_Term=false}', "");
-Expect(0, 32, '\p{^Is_Term=false}', "");
-Expect(0, 32, '\P{Is_Term=false}', "");
-Expect(1, 32, '\P{^Is_Term=false}', "");
-Expect(0, 33, '\p{Is_Term=false}', "");
-Expect(1, 33, '\p{^Is_Term=false}', "");
-Expect(1, 33, '\P{Is_Term=false}', "");
-Expect(0, 33, '\P{^Is_Term=false}', "");
-Expect(1, 32, '\p{Is_Term=- False}', "");
-Expect(0, 32, '\p{^Is_Term=- False}', "");
-Expect(0, 32, '\P{Is_Term=- False}', "");
-Expect(1, 32, '\P{^Is_Term=- False}', "");
-Expect(0, 33, '\p{Is_Term=- False}', "");
-Expect(1, 33, '\p{^Is_Term=- False}', "");
-Expect(1, 33, '\P{Is_Term=- False}', "");
-Expect(0, 33, '\P{^Is_Term=- False}', "");
-Test_X('÷ 0020 ÷ 0020 ÷');
-Test_X('÷ 0020 × 0308 ÷ 0020 ÷');
-Test_X('÷ 0020 ÷ 000D ÷');
-Test_X('÷ 0020 × 0308 ÷ 000D ÷');
-Test_X('÷ 0020 ÷ 000A ÷');
-Test_X('÷ 0020 × 0308 ÷ 000A ÷');
-Test_X('÷ 0020 ÷ 0001 ÷');
-Test_X('÷ 0020 × 0308 ÷ 0001 ÷');
-Test_X('÷ 0020 × 0300 ÷');
-Test_X('÷ 0020 × 0308 × 0300 ÷');
-Test_X('÷ 0020 ÷ 0E40 ÷');
-Test_X('÷ 0020 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 0020 × 0903 ÷');
-Test_X('÷ 0020 × 0308 × 0903 ÷');
-Test_X('÷ 0020 ÷ 1100 ÷');
-Test_X('÷ 0020 × 0308 ÷ 1100 ÷');
-Test_X('÷ 0020 ÷ 1160 ÷');
-Test_X('÷ 0020 × 0308 ÷ 1160 ÷');
-Test_X('÷ 0020 ÷ 11A8 ÷');
-Test_X('÷ 0020 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 0020 ÷ AC00 ÷');
-Test_X('÷ 0020 × 0308 ÷ AC00 ÷');
-Test_X('÷ 0020 ÷ AC01 ÷');
-Test_X('÷ 0020 × 0308 ÷ AC01 ÷');
-Test_X('÷ 000D ÷ 0020 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 0020 ÷');
-Test_X('÷ 000D ÷ 000D ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 000D ÷');
-Test_X('÷ 000D × 000A ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 000A ÷');
-Test_X('÷ 000D ÷ 0001 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 0001 ÷');
-Test_X('÷ 000D ÷ 0300 ÷');
-Test_X('÷ 000D ÷ 0308 × 0300 ÷');
-Test_X('÷ 000D ÷ 0E40 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 0E40 ÷');
-Test_X('÷ 000D ÷ 0903 ÷');
-Test_X('÷ 000D ÷ 0308 × 0903 ÷');
-Test_X('÷ 000D ÷ 1100 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 1100 ÷');
-Test_X('÷ 000D ÷ 1160 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 1160 ÷');
-Test_X('÷ 000D ÷ 11A8 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ 11A8 ÷');
-Test_X('÷ 000D ÷ AC00 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ AC00 ÷');
-Test_X('÷ 000D ÷ AC01 ÷');
-Test_X('÷ 000D ÷ 0308 ÷ AC01 ÷');
-Test_X('÷ 000A ÷ 0020 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 0020 ÷');
-Test_X('÷ 000A ÷ 000D ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 000D ÷');
-Test_X('÷ 000A ÷ 000A ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 000A ÷');
-Test_X('÷ 000A ÷ 0001 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 0001 ÷');
-Test_X('÷ 000A ÷ 0300 ÷');
-Test_X('÷ 000A ÷ 0308 × 0300 ÷');
-Test_X('÷ 000A ÷ 0E40 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 0E40 ÷');
-Test_X('÷ 000A ÷ 0903 ÷');
-Test_X('÷ 000A ÷ 0308 × 0903 ÷');
-Test_X('÷ 000A ÷ 1100 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 1100 ÷');
-Test_X('÷ 000A ÷ 1160 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 1160 ÷');
-Test_X('÷ 000A ÷ 11A8 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ 11A8 ÷');
-Test_X('÷ 000A ÷ AC00 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ AC00 ÷');
-Test_X('÷ 000A ÷ AC01 ÷');
-Test_X('÷ 000A ÷ 0308 ÷ AC01 ÷');
-Test_X('÷ 0001 ÷ 0020 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 0020 ÷');
-Test_X('÷ 0001 ÷ 000D ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 000D ÷');
-Test_X('÷ 0001 ÷ 000A ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 000A ÷');
-Test_X('÷ 0001 ÷ 0001 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 0001 ÷');
-Test_X('÷ 0001 ÷ 0300 ÷');
-Test_X('÷ 0001 ÷ 0308 × 0300 ÷');
-Test_X('÷ 0001 ÷ 0E40 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 0E40 ÷');
-Test_X('÷ 0001 ÷ 0903 ÷');
-Test_X('÷ 0001 ÷ 0308 × 0903 ÷');
-Test_X('÷ 0001 ÷ 1100 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 1100 ÷');
-Test_X('÷ 0001 ÷ 1160 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 1160 ÷');
-Test_X('÷ 0001 ÷ 11A8 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ 11A8 ÷');
-Test_X('÷ 0001 ÷ AC00 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ AC00 ÷');
-Test_X('÷ 0001 ÷ AC01 ÷');
-Test_X('÷ 0001 ÷ 0308 ÷ AC01 ÷');
-Test_X('÷ 0300 ÷ 0020 ÷');
-Test_X('÷ 0300 × 0308 ÷ 0020 ÷');
-Test_X('÷ 0300 ÷ 000D ÷');
-Test_X('÷ 0300 × 0308 ÷ 000D ÷');
-Test_X('÷ 0300 ÷ 000A ÷');
-Test_X('÷ 0300 × 0308 ÷ 000A ÷');
-Test_X('÷ 0300 ÷ 0001 ÷');
-Test_X('÷ 0300 × 0308 ÷ 0001 ÷');
-Test_X('÷ 0300 × 0300 ÷');
-Test_X('÷ 0300 × 0308 × 0300 ÷');
-Test_X('÷ 0300 ÷ 0E40 ÷');
-Test_X('÷ 0300 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 0300 × 0903 ÷');
-Test_X('÷ 0300 × 0308 × 0903 ÷');
-Test_X('÷ 0300 ÷ 1100 ÷');
-Test_X('÷ 0300 × 0308 ÷ 1100 ÷');
-Test_X('÷ 0300 ÷ 1160 ÷');
-Test_X('÷ 0300 × 0308 ÷ 1160 ÷');
-Test_X('÷ 0300 ÷ 11A8 ÷');
-Test_X('÷ 0300 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 0300 ÷ AC00 ÷');
-Test_X('÷ 0300 × 0308 ÷ AC00 ÷');
-Test_X('÷ 0300 ÷ AC01 ÷');
-Test_X('÷ 0300 × 0308 ÷ AC01 ÷');
-Test_X('÷ 0E40 × 0020 ÷');
-Test_X('÷ 0E40 × 0308 ÷ 0020 ÷');
-Test_X('÷ 0E40 ÷ 000D ÷');
-Test_X('÷ 0E40 × 0308 ÷ 000D ÷');
-Test_X('÷ 0E40 ÷ 000A ÷');
-Test_X('÷ 0E40 × 0308 ÷ 000A ÷');
-Test_X('÷ 0E40 ÷ 0001 ÷');
-Test_X('÷ 0E40 × 0308 ÷ 0001 ÷');
-Test_X('÷ 0E40 × 0300 ÷');
-Test_X('÷ 0E40 × 0308 × 0300 ÷');
-Test_X('÷ 0E40 × 0E40 ÷');
-Test_X('÷ 0E40 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 0E40 × 0903 ÷');
-Test_X('÷ 0E40 × 0308 × 0903 ÷');
-Test_X('÷ 0E40 × 1100 ÷');
-Test_X('÷ 0E40 × 0308 ÷ 1100 ÷');
-Test_X('÷ 0E40 × 1160 ÷');
-Test_X('÷ 0E40 × 0308 ÷ 1160 ÷');
-Test_X('÷ 0E40 × 11A8 ÷');
-Test_X('÷ 0E40 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 0E40 × AC00 ÷');
-Test_X('÷ 0E40 × 0308 ÷ AC00 ÷');
-Test_X('÷ 0E40 × AC01 ÷');
-Test_X('÷ 0E40 × 0308 ÷ AC01 ÷');
-Test_X('÷ 0903 ÷ 0020 ÷');
-Test_X('÷ 0903 × 0308 ÷ 0020 ÷');
-Test_X('÷ 0903 ÷ 000D ÷');
-Test_X('÷ 0903 × 0308 ÷ 000D ÷');
-Test_X('÷ 0903 ÷ 000A ÷');
-Test_X('÷ 0903 × 0308 ÷ 000A ÷');
-Test_X('÷ 0903 ÷ 0001 ÷');
-Test_X('÷ 0903 × 0308 ÷ 0001 ÷');
-Test_X('÷ 0903 × 0300 ÷');
-Test_X('÷ 0903 × 0308 × 0300 ÷');
-Test_X('÷ 0903 ÷ 0E40 ÷');
-Test_X('÷ 0903 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 0903 × 0903 ÷');
-Test_X('÷ 0903 × 0308 × 0903 ÷');
-Test_X('÷ 0903 ÷ 1100 ÷');
-Test_X('÷ 0903 × 0308 ÷ 1100 ÷');
-Test_X('÷ 0903 ÷ 1160 ÷');
-Test_X('÷ 0903 × 0308 ÷ 1160 ÷');
-Test_X('÷ 0903 ÷ 11A8 ÷');
-Test_X('÷ 0903 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 0903 ÷ AC00 ÷');
-Test_X('÷ 0903 × 0308 ÷ AC00 ÷');
-Test_X('÷ 0903 ÷ AC01 ÷');
-Test_X('÷ 0903 × 0308 ÷ AC01 ÷');
-Test_X('÷ 1100 ÷ 0020 ÷');
-Test_X('÷ 1100 × 0308 ÷ 0020 ÷');
-Test_X('÷ 1100 ÷ 000D ÷');
-Test_X('÷ 1100 × 0308 ÷ 000D ÷');
-Test_X('÷ 1100 ÷ 000A ÷');
-Test_X('÷ 1100 × 0308 ÷ 000A ÷');
-Test_X('÷ 1100 ÷ 0001 ÷');
-Test_X('÷ 1100 × 0308 ÷ 0001 ÷');
-Test_X('÷ 1100 × 0300 ÷');
-Test_X('÷ 1100 × 0308 × 0300 ÷');
-Test_X('÷ 1100 ÷ 0E40 ÷');
-Test_X('÷ 1100 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 1100 × 0903 ÷');
-Test_X('÷ 1100 × 0308 × 0903 ÷');
-Test_X('÷ 1100 × 1100 ÷');
-Test_X('÷ 1100 × 0308 ÷ 1100 ÷');
-Test_X('÷ 1100 × 1160 ÷');
-Test_X('÷ 1100 × 0308 ÷ 1160 ÷');
-Test_X('÷ 1100 ÷ 11A8 ÷');
-Test_X('÷ 1100 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 1100 × AC00 ÷');
-Test_X('÷ 1100 × 0308 ÷ AC00 ÷');
-Test_X('÷ 1100 × AC01 ÷');
-Test_X('÷ 1100 × 0308 ÷ AC01 ÷');
-Test_X('÷ 1160 ÷ 0020 ÷');
-Test_X('÷ 1160 × 0308 ÷ 0020 ÷');
-Test_X('÷ 1160 ÷ 000D ÷');
-Test_X('÷ 1160 × 0308 ÷ 000D ÷');
-Test_X('÷ 1160 ÷ 000A ÷');
-Test_X('÷ 1160 × 0308 ÷ 000A ÷');
-Test_X('÷ 1160 ÷ 0001 ÷');
-Test_X('÷ 1160 × 0308 ÷ 0001 ÷');
-Test_X('÷ 1160 × 0300 ÷');
-Test_X('÷ 1160 × 0308 × 0300 ÷');
-Test_X('÷ 1160 ÷ 0E40 ÷');
-Test_X('÷ 1160 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 1160 × 0903 ÷');
-Test_X('÷ 1160 × 0308 × 0903 ÷');
-Test_X('÷ 1160 ÷ 1100 ÷');
-Test_X('÷ 1160 × 0308 ÷ 1100 ÷');
-Test_X('÷ 1160 × 1160 ÷');
-Test_X('÷ 1160 × 0308 ÷ 1160 ÷');
-Test_X('÷ 1160 × 11A8 ÷');
-Test_X('÷ 1160 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 1160 ÷ AC00 ÷');
-Test_X('÷ 1160 × 0308 ÷ AC00 ÷');
-Test_X('÷ 1160 ÷ AC01 ÷');
-Test_X('÷ 1160 × 0308 ÷ AC01 ÷');
-Test_X('÷ 11A8 ÷ 0020 ÷');
-Test_X('÷ 11A8 × 0308 ÷ 0020 ÷');
-Test_X('÷ 11A8 ÷ 000D ÷');
-Test_X('÷ 11A8 × 0308 ÷ 000D ÷');
-Test_X('÷ 11A8 ÷ 000A ÷');
-Test_X('÷ 11A8 × 0308 ÷ 000A ÷');
-Test_X('÷ 11A8 ÷ 0001 ÷');
-Test_X('÷ 11A8 × 0308 ÷ 0001 ÷');
-Test_X('÷ 11A8 × 0300 ÷');
-Test_X('÷ 11A8 × 0308 × 0300 ÷');
-Test_X('÷ 11A8 ÷ 0E40 ÷');
-Test_X('÷ 11A8 × 0308 ÷ 0E40 ÷');
-Test_X('÷ 11A8 × 0903 ÷');
-Test_X('÷ 11A8 × 0308 × 0903 ÷');
-Test_X('÷ 11A8 ÷ 1100 ÷');
-Test_X('÷ 11A8 × 0308 ÷ 1100 ÷');
-Test_X('÷ 11A8 ÷ 1160 ÷');
-Test_X('÷ 11A8 × 0308 ÷ 1160 ÷');
-Test_X('÷ 11A8 × 11A8 ÷');
-Test_X('÷ 11A8 × 0308 ÷ 11A8 ÷');
-Test_X('÷ 11A8 ÷ AC00 ÷');
-Test_X('÷ 11A8 × 0308 ÷ AC00 ÷');
-Test_X('÷ 11A8 ÷ AC01 ÷');
-Test_X('÷ 11A8 × 0308 ÷ AC01 ÷');
-Test_X('÷ AC00 ÷ 0020 ÷');
-Test_X('÷ AC00 × 0308 ÷ 0020 ÷');
-Test_X('÷ AC00 ÷ 000D ÷');
-Test_X('÷ AC00 × 0308 ÷ 000D ÷');
-Test_X('÷ AC00 ÷ 000A ÷');
-Test_X('÷ AC00 × 0308 ÷ 000A ÷');
-Test_X('÷ AC00 ÷ 0001 ÷');
-Test_X('÷ AC00 × 0308 ÷ 0001 ÷');
-Test_X('÷ AC00 × 0300 ÷');
-Test_X('÷ AC00 × 0308 × 0300 ÷');
-Test_X('÷ AC00 ÷ 0E40 ÷');
-Test_X('÷ AC00 × 0308 ÷ 0E40 ÷');
-Test_X('÷ AC00 × 0903 ÷');
-Test_X('÷ AC00 × 0308 × 0903 ÷');
-Test_X('÷ AC00 ÷ 1100 ÷');
-Test_X('÷ AC00 × 0308 ÷ 1100 ÷');
-Test_X('÷ AC00 × 1160 ÷');
-Test_X('÷ AC00 × 0308 ÷ 1160 ÷');
-Test_X('÷ AC00 × 11A8 ÷');
-Test_X('÷ AC00 × 0308 ÷ 11A8 ÷');
-Test_X('÷ AC00 ÷ AC00 ÷');
-Test_X('÷ AC00 × 0308 ÷ AC00 ÷');
-Test_X('÷ AC00 ÷ AC01 ÷');
-Test_X('÷ AC00 × 0308 ÷ AC01 ÷');
-Test_X('÷ AC01 ÷ 0020 ÷');
-Test_X('÷ AC01 × 0308 ÷ 0020 ÷');
-Test_X('÷ AC01 ÷ 000D ÷');
-Test_X('÷ AC01 × 0308 ÷ 000D ÷');
-Test_X('÷ AC01 ÷ 000A ÷');
-Test_X('÷ AC01 × 0308 ÷ 000A ÷');
-Test_X('÷ AC01 ÷ 0001 ÷');
-Test_X('÷ AC01 × 0308 ÷ 0001 ÷');
-Test_X('÷ AC01 × 0300 ÷');
-Test_X('÷ AC01 × 0308 × 0300 ÷');
-Test_X('÷ AC01 ÷ 0E40 ÷');
-Test_X('÷ AC01 × 0308 ÷ 0E40 ÷');
-Test_X('÷ AC01 × 0903 ÷');
-Test_X('÷ AC01 × 0308 × 0903 ÷');
-Test_X('÷ AC01 ÷ 1100 ÷');
-Test_X('÷ AC01 × 0308 ÷ 1100 ÷');
-Test_X('÷ AC01 ÷ 1160 ÷');
-Test_X('÷ AC01 × 0308 ÷ 1160 ÷');
-Test_X('÷ AC01 × 11A8 ÷');
-Test_X('÷ AC01 × 0308 ÷ 11A8 ÷');
-Test_X('÷ AC01 ÷ AC00 ÷');
-Test_X('÷ AC01 × 0308 ÷ AC00 ÷');
-Test_X('÷ AC01 ÷ AC01 ÷');
-Test_X('÷ AC01 × 0308 ÷ AC01 ÷');
-Finished();
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Age.pl b/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
new file mode 100644
index 00000000000..543b93c1d15
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
@@ -0,0 +1,1036 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToAge'}{'format'} = 'f'; # floating point number
+$utf8::SwashInfo{'ToAge'}{'missing'} = 'Unassigned';
+
+return <<'END';
+0000 01F5 1.1
+01F6 01F9 3.0
+01FA 0217 1.1
+0218 021F 3.0
+0220 3.2
+0221 4.0
+0222 0233 3.0
+0234 0236 4.0
+0237 0241 4.1
+0242 024F 5.0
+0250 02A8 1.1
+02A9 02AD 3.0
+02AE 02AF 4.0
+02B0 02DE 1.1
+02DF 3.0
+02E0 02E9 1.1
+02EA 02EE 3.0
+02EF 02FF 4.0
+0300 0345 1.1
+0346 034E 3.0
+034F 3.2
+0350 0357 4.0
+0358 035C 4.1
+035D 035F 4.0
+0360 0361 1.1
+0362 3.0
+0363 036F 3.2
+0370 0373 5.1
+0374 0375 1.1
+0376 0377 5.1
+037A 1.1
+037B 037D 5.0
+037E 1.1
+0384 038A 1.1
+038C 1.1
+038E 03A1 1.1
+03A3 03CE 1.1
+03CF 5.1
+03D0 03D6 1.1
+03D7 3.0
+03D8 03D9 3.2
+03DA 1.1
+03DB 3.0
+03DC 1.1
+03DD 3.0
+03DE 1.1
+03DF 3.0
+03E0 1.1
+03E1 3.0
+03E2 03F3 1.1
+03F4 03F5 3.1
+03F6 3.2
+03F7 03FB 4.0
+03FC 03FF 4.1
+0400 3.0
+0401 040C 1.1
+040D 3.0
+040E 044F 1.1
+0450 3.0
+0451 045C 1.1
+045D 3.0
+045E 0486 1.1
+0487 5.1
+0488 0489 3.0
+048A 048B 3.2
+048C 048F 3.0
+0490 04C4 1.1
+04C5 04C6 3.2
+04C7 04C8 1.1
+04C9 04CA 3.2
+04CB 04CC 1.1
+04CD 04CE 3.2
+04CF 5.0
+04D0 04EB 1.1
+04EC 04ED 3.0
+04EE 04F5 1.1
+04F6 04F7 4.1
+04F8 04F9 1.1
+04FA 04FF 5.0
+0500 050F 3.2
+0510 0513 5.0
+0514 0523 5.1
+0524 0525 5.2
+0526 0527 6.0
+0531 0556 1.1
+0559 055F 1.1
+0561 0587 1.1
+0589 1.1
+058A 3.0
+0591 05A1 2.0
+05A2 4.1
+05A3 05AF 2.0
+05B0 05B9 1.1
+05BA 5.0
+05BB 05C3 1.1
+05C4 2.0
+05C5 05C7 4.1
+05D0 05EA 1.1
+05F0 05F4 1.1
+0600 0603 4.0
+0606 060A 5.1
+060B 4.1
+060C 1.1
+060D 0615 4.0
+0616 061A 5.1
+061B 1.1
+061E 4.1
+061F 1.1
+0620 6.0
+0621 063A 1.1
+063B 063F 5.1
+0640 0652 1.1
+0653 0655 3.0
+0656 0658 4.0
+0659 065E 4.1
+065F 6.0
+0660 066D 1.1
+066E 066F 3.2
+0670 06B7 1.1
+06B8 06B9 3.0
+06BA 06BE 1.1
+06BF 3.0
+06C0 06CE 1.1
+06CF 3.0
+06D0 06ED 1.1
+06EE 06EF 4.0
+06F0 06F9 1.1
+06FA 06FE 3.0
+06FF 4.0
+0700 070D 3.0
+070F 072C 3.0
+072D 072F 4.0
+0730 074A 3.0
+074D 074F 4.0
+0750 076D 4.1
+076E 077F 5.1
+0780 07B0 3.0
+07B1 3.2
+07C0 07FA 5.0
+0800 082D 5.2
+0830 083E 5.2
+0840 085B 6.0
+085E 6.0
+0900 5.2
+0901 0903 1.1
+0904 4.0
+0905 0939 1.1
+093A 093B 6.0
+093C 094D 1.1
+094E 5.2
+094F 6.0
+0950 0954 1.1
+0955 5.2
+0956 0957 6.0
+0958 0970 1.1
+0971 0972 5.1
+0973 0977 6.0
+0979 097A 5.2
+097B 097C 5.0
+097D 4.1
+097E 097F 5.0
+0981 0983 1.1
+0985 098C 1.1
+098F 0990 1.1
+0993 09A8 1.1
+09AA 09B0 1.1
+09B2 1.1
+09B6 09B9 1.1
+09BC 1.1
+09BD 4.0
+09BE 09C4 1.1
+09C7 09C8 1.1
+09CB 09CD 1.1
+09CE 4.1
+09D7 1.1
+09DC 09DD 1.1
+09DF 09E3 1.1
+09E6 09FA 1.1
+09FB 5.2
+0A01 4.0
+0A02 1.1
+0A03 4.0
+0A05 0A0A 1.1
+0A0F 0A10 1.1
+0A13 0A28 1.1
+0A2A 0A30 1.1
+0A32 0A33 1.1
+0A35 0A36 1.1
+0A38 0A39 1.1
+0A3C 1.1
+0A3E 0A42 1.1
+0A47 0A48 1.1
+0A4B 0A4D 1.1
+0A51 5.1
+0A59 0A5C 1.1
+0A5E 1.1
+0A66 0A74 1.1
+0A75 5.1
+0A81 0A83 1.1
+0A85 0A8B 1.1
+0A8C 4.0
+0A8D 1.1
+0A8F 0A91 1.1
+0A93 0AA8 1.1
+0AAA 0AB0 1.1
+0AB2 0AB3 1.1
+0AB5 0AB9 1.1
+0ABC 0AC5 1.1
+0AC7 0AC9 1.1
+0ACB 0ACD 1.1
+0AD0 1.1
+0AE0 1.1
+0AE1 0AE3 4.0
+0AE6 0AEF 1.1
+0AF1 4.0
+0B01 0B03 1.1
+0B05 0B0C 1.1
+0B0F 0B10 1.1
+0B13 0B28 1.1
+0B2A 0B30 1.1
+0B32 0B33 1.1
+0B35 4.0
+0B36 0B39 1.1
+0B3C 0B43 1.1
+0B44 5.1
+0B47 0B48 1.1
+0B4B 0B4D 1.1
+0B56 0B57 1.1
+0B5C 0B5D 1.1
+0B5F 0B61 1.1
+0B62 0B63 5.1
+0B66 0B70 1.1
+0B71 4.0
+0B72 0B77 6.0
+0B82 0B83 1.1
+0B85 0B8A 1.1
+0B8E 0B90 1.1
+0B92 0B95 1.1
+0B99 0B9A 1.1
+0B9C 1.1
+0B9E 0B9F 1.1
+0BA3 0BA4 1.1
+0BA8 0BAA 1.1
+0BAE 0BB5 1.1
+0BB6 4.1
+0BB7 0BB9 1.1
+0BBE 0BC2 1.1
+0BC6 0BC8 1.1
+0BCA 0BCD 1.1
+0BD0 5.1
+0BD7 1.1
+0BE6 4.1
+0BE7 0BF2 1.1
+0BF3 0BFA 4.0
+0C01 0C03 1.1
+0C05 0C0C 1.1
+0C0E 0C10 1.1
+0C12 0C28 1.1
+0C2A 0C33 1.1
+0C35 0C39 1.1
+0C3D 5.1
+0C3E 0C44 1.1
+0C46 0C48 1.1
+0C4A 0C4D 1.1
+0C55 0C56 1.1
+0C58 0C59 5.1
+0C60 0C61 1.1
+0C62 0C63 5.1
+0C66 0C6F 1.1
+0C78 0C7F 5.1
+0C82 0C83 1.1
+0C85 0C8C 1.1
+0C8E 0C90 1.1
+0C92 0CA8 1.1
+0CAA 0CB3 1.1
+0CB5 0CB9 1.1
+0CBC 0CBD 4.0
+0CBE 0CC4 1.1
+0CC6 0CC8 1.1
+0CCA 0CCD 1.1
+0CD5 0CD6 1.1
+0CDE 1.1
+0CE0 0CE1 1.1
+0CE2 0CE3 5.0
+0CE6 0CEF 1.1
+0CF1 0CF2 5.0
+0D02 0D03 1.1
+0D05 0D0C 1.1
+0D0E 0D10 1.1
+0D12 0D28 1.1
+0D29 6.0
+0D2A 0D39 1.1
+0D3A 6.0
+0D3D 5.1
+0D3E 0D43 1.1
+0D44 5.1
+0D46 0D48 1.1
+0D4A 0D4D 1.1
+0D4E 6.0
+0D57 1.1
+0D60 0D61 1.1
+0D62 0D63 5.1
+0D66 0D6F 1.1
+0D70 0D75 5.1
+0D79 0D7F 5.1
+0D82 0D83 3.0
+0D85 0D96 3.0
+0D9A 0DB1 3.0
+0DB3 0DBB 3.0
+0DBD 3.0
+0DC0 0DC6 3.0
+0DCA 3.0
+0DCF 0DD4 3.0
+0DD6 3.0
+0DD8 0DDF 3.0
+0DF2 0DF4 3.0
+0E01 0E3A 1.1
+0E3F 0E5B 1.1
+0E81 0E82 1.1
+0E84 1.1
+0E87 0E88 1.1
+0E8A 1.1
+0E8D 1.1
+0E94 0E97 1.1
+0E99 0E9F 1.1
+0EA1 0EA3 1.1
+0EA5 1.1
+0EA7 1.1
+0EAA 0EAB 1.1
+0EAD 0EB9 1.1
+0EBB 0EBD 1.1
+0EC0 0EC4 1.1
+0EC6 1.1
+0EC8 0ECD 1.1
+0ED0 0ED9 1.1
+0EDC 0EDD 1.1
+0F00 0F47 2.0
+0F49 0F69 2.0
+0F6A 3.0
+0F6B 0F6C 5.1
+0F71 0F8B 2.0
+0F8C 0F8F 6.0
+0F90 0F95 2.0
+0F96 3.0
+0F97 2.0
+0F99 0FAD 2.0
+0FAE 0FB0 3.0
+0FB1 0FB7 2.0
+0FB8 3.0
+0FB9 2.0
+0FBA 0FBC 3.0
+0FBE 0FCC 3.0
+0FCE 5.1
+0FCF 3.0
+0FD0 0FD1 4.1
+0FD2 0FD4 5.1
+0FD5 0FD8 5.2
+0FD9 0FDA 6.0
+1000 1021 3.0
+1022 5.1
+1023 1027 3.0
+1028 5.1
+1029 102A 3.0
+102B 5.1
+102C 1032 3.0
+1033 1035 5.1
+1036 1039 3.0
+103A 103F 5.1
+1040 1059 3.0
+105A 1099 5.1
+109A 109D 5.2
+109E 109F 5.1
+10A0 10C5 1.1
+10D0 10F6 1.1
+10F7 10F8 3.2
+10F9 10FA 4.1
+10FB 1.1
+10FC 4.1
+1100 1159 1.1
+115A 115E 5.2
+115F 11A2 1.1
+11A3 11A7 5.2
+11A8 11F9 1.1
+11FA 11FF 5.2
+1200 1206 3.0
+1207 4.1
+1208 1246 3.0
+1247 4.1
+1248 3.0
+124A 124D 3.0
+1250 1256 3.0
+1258 3.0
+125A 125D 3.0
+1260 1286 3.0
+1287 4.1
+1288 3.0
+128A 128D 3.0
+1290 12AE 3.0
+12AF 4.1
+12B0 3.0
+12B2 12B5 3.0
+12B8 12BE 3.0
+12C0 3.0
+12C2 12C5 3.0
+12C8 12CE 3.0
+12CF 4.1
+12D0 12D6 3.0
+12D8 12EE 3.0
+12EF 4.1
+12F0 130E 3.0
+130F 4.1
+1310 3.0
+1312 1315 3.0
+1318 131E 3.0
+131F 4.1
+1320 1346 3.0
+1347 4.1
+1348 135A 3.0
+135D 135E 6.0
+135F 1360 4.1
+1361 137C 3.0
+1380 1399 4.1
+13A0 13F4 3.0
+1400 5.2
+1401 1676 3.0
+1677 167F 5.2
+1680 169C 3.0
+16A0 16F0 3.0
+1700 170C 3.2
+170E 1714 3.2
+1720 1736 3.2
+1740 1753 3.2
+1760 176C 3.2
+176E 1770 3.2
+1772 1773 3.2
+1780 17DC 3.0
+17DD 4.0
+17E0 17E9 3.0
+17F0 17F9 4.0
+1800 180E 3.0
+1810 1819 3.0
+1820 1877 3.0
+1880 18A9 3.0
+18AA 5.1
+18B0 18F5 5.2
+1900 191C 4.0
+1920 192B 4.0
+1930 193B 4.0
+1940 4.0
+1944 196D 4.0
+1970 1974 4.0
+1980 19A9 4.1
+19AA 19AB 5.2
+19B0 19C9 4.1
+19D0 19D9 4.1
+19DA 5.2
+19DE 19DF 4.1
+19E0 19FF 4.0
+1A00 1A1B 4.1
+1A1E 1A1F 4.1
+1A20 1A5E 5.2
+1A60 1A7C 5.2
+1A7F 1A89 5.2
+1A90 1A99 5.2
+1AA0 1AAD 5.2
+1B00 1B4B 5.0
+1B50 1B7C 5.0
+1B80 1BAA 5.1
+1BAE 1BB9 5.1
+1BC0 1BF3 6.0
+1BFC 1BFF 6.0
+1C00 1C37 5.1
+1C3B 1C49 5.1
+1C4D 1C7F 5.1
+1CD0 1CF2 5.2
+1D00 1D6B 4.0
+1D6C 1DC3 4.1
+1DC4 1DCA 5.0
+1DCB 1DE6 5.1
+1DFC 6.0
+1DFD 5.2
+1DFE 1DFF 5.0
+1E00 1E9A 1.1
+1E9B 2.0
+1E9C 1E9F 5.1
+1EA0 1EF9 1.1
+1EFA 1EFF 5.1
+1F00 1F15 1.1
+1F18 1F1D 1.1
+1F20 1F45 1.1
+1F48 1F4D 1.1
+1F50 1F57 1.1
+1F59 1.1
+1F5B 1.1
+1F5D 1.1
+1F5F 1F7D 1.1
+1F80 1FB4 1.1
+1FB6 1FC4 1.1
+1FC6 1FD3 1.1
+1FD6 1FDB 1.1
+1FDD 1FEF 1.1
+1FF2 1FF4 1.1
+1FF6 1FFE 1.1
+2000 202E 1.1
+202F 3.0
+2030 2046 1.1
+2047 3.2
+2048 204D 3.0
+204E 2052 3.2
+2053 2054 4.0
+2055 2056 4.1
+2057 3.2
+2058 205E 4.1
+205F 2063 3.2
+2064 5.1
+206A 2070 1.1
+2071 3.2
+2074 208E 1.1
+2090 2094 4.1
+2095 209C 6.0
+20A0 20AA 1.1
+20AB 2.0
+20AC 2.1
+20AD 20AF 3.0
+20B0 20B1 3.2
+20B2 20B5 4.1
+20B6 20B8 5.2
+20B9 6.0
+20D0 20E1 1.1
+20E2 20E3 3.0
+20E4 20EA 3.2
+20EB 4.1
+20EC 20EF 5.0
+20F0 5.1
+2100 2138 1.1
+2139 213A 3.0
+213B 4.0
+213C 4.1
+213D 214B 3.2
+214C 4.1
+214D 214E 5.0
+214F 5.1
+2150 2152 5.2
+2153 2182 1.1
+2183 3.0
+2184 5.0
+2185 2188 5.1
+2189 5.2
+2190 21EA 1.1
+21EB 21F3 3.0
+21F4 21FF 3.2
+2200 22F1 1.1
+22F2 22FF 3.2
+2300 1.1
+2301 3.0
+2302 237A 1.1
+237B 3.0
+237C 3.2
+237D 239A 3.0
+239B 23CE 3.2
+23CF 23D0 4.0
+23D1 23DB 4.1
+23DC 23E7 5.0
+23E8 5.2
+23E9 23F3 6.0
+2400 2424 1.1
+2425 2426 3.0
+2440 244A 1.1
+2460 24EA 1.1
+24EB 24FE 3.2
+24FF 4.0
+2500 2595 1.1
+2596 259F 3.2
+25A0 25EF 1.1
+25F0 25F7 3.0
+25F8 25FF 3.2
+2600 2613 1.1
+2614 2615 4.0
+2616 2617 3.2
+2618 4.1
+2619 3.0
+261A 266F 1.1
+2670 2671 3.0
+2672 267D 3.2
+267E 267F 4.1
+2680 2689 3.2
+268A 2691 4.0
+2692 269C 4.1
+269D 5.1
+269E 269F 5.2
+26A0 26A1 4.0
+26A2 26B1 4.1
+26B2 5.0
+26B3 26BC 5.1
+26BD 26BF 5.2
+26C0 26C3 5.1
+26C4 26CD 5.2
+26CE 6.0
+26CF 26E1 5.2
+26E2 6.0
+26E3 5.2
+26E4 26E7 6.0
+26E8 26FF 5.2
+2701 2704 1.1
+2705 6.0
+2706 2709 1.1
+270A 270B 6.0
+270C 2727 1.1
+2728 6.0
+2729 274B 1.1
+274C 6.0
+274D 1.1
+274E 6.0
+274F 2752 1.1
+2753 2755 6.0
+2756 1.1
+2757 5.2
+2758 275E 1.1
+275F 2760 6.0
+2761 2767 1.1
+2768 2775 3.2
+2776 2794 1.1
+2795 2797 6.0
+2798 27AF 1.1
+27B0 6.0
+27B1 27BE 1.1
+27BF 6.0
+27C0 27C6 4.1
+27C7 27CA 5.0
+27CC 5.1
+27CE 27CF 6.0
+27D0 27EB 3.2
+27EC 27EF 5.1
+27F0 27FF 3.2
+2800 28FF 3.0
+2900 2AFF 3.2
+2B00 2B0D 4.0
+2B0E 2B13 4.1
+2B14 2B1A 5.0
+2B1B 2B1F 5.1
+2B20 2B23 5.0
+2B24 2B4C 5.1
+2B50 2B54 5.1
+2B55 2B59 5.2
+2C00 2C2E 4.1
+2C30 2C5E 4.1
+2C60 2C6C 5.0
+2C6D 2C6F 5.1
+2C70 5.2
+2C71 2C73 5.1
+2C74 2C77 5.0
+2C78 2C7D 5.1
+2C7E 2C7F 5.2
+2C80 2CEA 4.1
+2CEB 2CF1 5.2
+2CF9 2D25 4.1
+2D30 2D65 4.1
+2D6F 4.1
+2D70 6.0
+2D7F 6.0
+2D80 2D96 4.1
+2DA0 2DA6 4.1
+2DA8 2DAE 4.1
+2DB0 2DB6 4.1
+2DB8 2DBE 4.1
+2DC0 2DC6 4.1
+2DC8 2DCE 4.1
+2DD0 2DD6 4.1
+2DD8 2DDE 4.1
+2DE0 2DFF 5.1
+2E00 2E17 4.1
+2E18 2E1B 5.1
+2E1C 2E1D 4.1
+2E1E 2E30 5.1
+2E31 5.2
+2E80 2E99 3.0
+2E9B 2EF3 3.0
+2F00 2FD5 3.0
+2FF0 2FFB 3.0
+3000 3037 1.1
+3038 303A 3.0
+303B 303D 3.2
+303E 3.0
+303F 1.1
+3041 3094 1.1
+3095 3096 3.2
+3099 309E 1.1
+309F 30A0 3.2
+30A1 30FE 1.1
+30FF 3.2
+3105 312C 1.1
+312D 5.1
+3131 318E 1.1
+3190 319F 1.1
+31A0 31B7 3.0
+31B8 31BA 6.0
+31C0 31CF 4.1
+31D0 31E3 5.1
+31F0 31FF 3.2
+3200 321C 1.1
+321D 321E 4.0
+3220 3243 1.1
+3244 324F 5.2
+3250 4.0
+3251 325F 3.2
+3260 327B 1.1
+327C 327D 4.0
+327E 4.1
+327F 32B0 1.1
+32B1 32BF 3.2
+32C0 32CB 1.1
+32CC 32CF 4.0
+32D0 32FE 1.1
+3300 3376 1.1
+3377 337A 4.0
+337B 33DD 1.1
+33DE 33DF 4.0
+33E0 33FE 1.1
+33FF 4.0
+3400 4DB5 3.0
+4DC0 4DFF 4.0
+4E00 9FA5 1.1
+9FA6 9FBB 4.1
+9FBC 9FC3 5.1
+9FC4 9FCB 5.2
+A000 A48C 3.0
+A490 A4A1 3.0
+A4A2 A4A3 3.2
+A4A4 A4B3 3.0
+A4B4 3.2
+A4B5 A4C0 3.0
+A4C1 3.2
+A4C2 A4C4 3.0
+A4C5 3.2
+A4C6 3.0
+A4D0 A4FF 5.2
+A500 A62B 5.1
+A640 A65F 5.1
+A660 A661 6.0
+A662 A673 5.1
+A67C A697 5.1
+A6A0 A6F7 5.2
+A700 A716 4.1
+A717 A71A 5.0
+A71B A71F 5.1
+A720 A721 5.0
+A722 A78C 5.1
+A78D A78E 6.0
+A790 A791 6.0
+A7A0 A7A9 6.0
+A7FA 6.0
+A7FB A7FF 5.1
+A800 A82B 4.1
+A830 A839 5.2
+A840 A877 5.0
+A880 A8C4 5.1
+A8CE A8D9 5.1
+A8E0 A8FB 5.2
+A900 A953 5.1
+A95F 5.1
+A960 A97C 5.2
+A980 A9CD 5.2
+A9CF A9D9 5.2
+A9DE A9DF 5.2
+AA00 AA36 5.1
+AA40 AA4D 5.1
+AA50 AA59 5.1
+AA5C AA5F 5.1
+AA60 AA7B 5.2
+AA80 AAC2 5.2
+AADB AADF 5.2
+AB01 AB06 6.0
+AB09 AB0E 6.0
+AB11 AB16 6.0
+AB20 AB26 6.0
+AB28 AB2E 6.0
+ABC0 ABED 5.2
+ABF0 ABF9 5.2
+AC00 D7A3 2.0
+D7B0 D7C6 5.2
+D7CB D7FB 5.2
+D800 DFFF 2.0
+E000 FA2D 1.1
+FA30 FA6A 3.2
+FA6B FA6D 5.2
+FA70 FAD9 4.1
+FB00 FB06 1.1
+FB13 FB17 1.1
+FB1D 3.0
+FB1E FB36 1.1
+FB38 FB3C 1.1
+FB3E 1.1
+FB40 FB41 1.1
+FB43 FB44 1.1
+FB46 FBB1 1.1
+FBB2 FBC1 6.0
+FBD3 FD3F 1.1
+FD50 FD8F 1.1
+FD92 FDC7 1.1
+FDD0 FDEF 3.1
+FDF0 FDFB 1.1
+FDFC 3.2
+FDFD 4.0
+FE00 FE0F 3.2
+FE10 FE19 4.1
+FE20 FE23 1.1
+FE24 FE26 5.1
+FE30 FE44 1.1
+FE45 FE46 3.2
+FE47 FE48 4.0
+FE49 FE52 1.1
+FE54 FE66 1.1
+FE68 FE6B 1.1
+FE70 FE72 1.1
+FE73 3.2
+FE74 1.1
+FE76 FEFC 1.1
+FEFF 1.1
+FF01 FF5E 1.1
+FF5F FF60 3.2
+FF61 FFBE 1.1
+FFC2 FFC7 1.1
+FFCA FFCF 1.1
+FFD2 FFD7 1.1
+FFDA FFDC 1.1
+FFE0 FFE6 1.1
+FFE8 FFEE 1.1
+FFF9 FFFB 3.0
+FFFC 2.1
+FFFD FFFF 1.1
+10000 1000B 4.0
+1000D 10026 4.0
+10028 1003A 4.0
+1003C 1003D 4.0
+1003F 1004D 4.0
+10050 1005D 4.0
+10080 100FA 4.0
+10100 10102 4.0
+10107 10133 4.0
+10137 1013F 4.0
+10140 1018A 4.1
+10190 1019B 5.1
+101D0 101FD 5.1
+10280 1029C 5.1
+102A0 102D0 5.1
+10300 1031E 3.1
+10320 10323 3.1
+10330 1034A 3.1
+10380 1039D 4.0
+1039F 4.0
+103A0 103C3 4.1
+103C8 103D5 4.1
+10400 10425 3.1
+10426 10427 4.0
+10428 1044D 3.1
+1044E 1049D 4.0
+104A0 104A9 4.0
+10800 10805 4.0
+10808 4.0
+1080A 10835 4.0
+10837 10838 4.0
+1083C 4.0
+1083F 4.0
+10840 10855 5.2
+10857 1085F 5.2
+10900 10919 5.0
+1091A 1091B 5.2
+1091F 5.0
+10920 10939 5.1
+1093F 5.1
+10A00 10A03 4.1
+10A05 10A06 4.1
+10A0C 10A13 4.1
+10A15 10A17 4.1
+10A19 10A33 4.1
+10A38 10A3A 4.1
+10A3F 10A47 4.1
+10A50 10A58 4.1
+10A60 10A7F 5.2
+10B00 10B35 5.2
+10B39 10B55 5.2
+10B58 10B72 5.2
+10B78 10B7F 5.2
+10C00 10C48 5.2
+10E60 10E7E 5.2
+11000 1104D 6.0
+11052 1106F 6.0
+11080 110C1 5.2
+12000 1236E 5.0
+12400 12462 5.0
+12470 12473 5.0
+13000 1342E 5.2
+16800 16A38 6.0
+1B000 1B001 6.0
+1D000 1D0F5 3.1
+1D100 1D126 3.1
+1D129 5.1
+1D12A 1D1DD 3.1
+1D200 1D245 4.1
+1D300 1D356 4.0
+1D360 1D371 5.0
+1D400 1D454 3.1
+1D456 1D49C 3.1
+1D49E 1D49F 3.1
+1D4A2 3.1
+1D4A5 1D4A6 3.1
+1D4A9 1D4AC 3.1
+1D4AE 1D4B9 3.1
+1D4BB 3.1
+1D4BD 1D4C0 3.1
+1D4C1 4.0
+1D4C2 1D4C3 3.1
+1D4C5 1D505 3.1
+1D507 1D50A 3.1
+1D50D 1D514 3.1
+1D516 1D51C 3.1
+1D51E 1D539 3.1
+1D53B 1D53E 3.1
+1D540 1D544 3.1
+1D546 3.1
+1D54A 1D550 3.1
+1D552 1D6A3 3.1
+1D6A4 1D6A5 4.1
+1D6A8 1D7C9 3.1
+1D7CA 1D7CB 5.0
+1D7CE 1D7FF 3.1
+1F000 1F02B 5.1
+1F030 1F093 5.1
+1F0A0 1F0AE 6.0
+1F0B1 1F0BE 6.0
+1F0C1 1F0CF 6.0
+1F0D1 1F0DF 6.0
+1F100 1F10A 5.2
+1F110 1F12E 5.2
+1F130 6.0
+1F131 5.2
+1F132 1F13C 6.0
+1F13D 5.2
+1F13E 6.0
+1F13F 5.2
+1F140 1F141 6.0
+1F142 5.2
+1F143 1F145 6.0
+1F146 5.2
+1F147 1F149 6.0
+1F14A 1F14E 5.2
+1F14F 1F156 6.0
+1F157 5.2
+1F158 1F15E 6.0
+1F15F 5.2
+1F160 1F169 6.0
+1F170 1F178 6.0
+1F179 5.2
+1F17A 6.0
+1F17B 1F17C 5.2
+1F17D 1F17E 6.0
+1F17F 5.2
+1F180 1F189 6.0
+1F18A 1F18D 5.2
+1F18E 1F18F 6.0
+1F190 5.2
+1F191 1F19A 6.0
+1F1E6 1F1FF 6.0
+1F200 5.2
+1F201 1F202 6.0
+1F210 1F231 5.2
+1F232 1F23A 6.0
+1F240 1F248 5.2
+1F250 1F251 6.0
+1F300 1F320 6.0
+1F330 1F335 6.0
+1F337 1F37C 6.0
+1F380 1F393 6.0
+1F3A0 1F3C4 6.0
+1F3C6 1F3CA 6.0
+1F3E0 1F3F0 6.0
+1F400 1F43E 6.0
+1F440 6.0
+1F442 1F4F7 6.0
+1F4F9 1F4FC 6.0
+1F500 1F53D 6.0
+1F550 1F567 6.0
+1F5FB 1F5FF 6.0
+1F601 1F610 6.0
+1F612 1F614 6.0
+1F616 6.0
+1F618 6.0
+1F61A 6.0
+1F61C 1F61E 6.0
+1F620 1F625 6.0
+1F628 1F62B 6.0
+1F62D 6.0
+1F630 1F633 6.0
+1F635 1F640 6.0
+1F645 1F64F 6.0
+1F680 1F6C5 6.0
+1F700 1F773 6.0
+1FFFE 1FFFF 2.0
+20000 2A6D6 3.1
+2A700 2B734 5.2
+2B740 2B81D 6.0
+2F800 2FA1D 3.1
+2FFFE 2FFFF 2.0
+3FFFE 3FFFF 2.0
+4FFFE 4FFFF 2.0
+5FFFE 5FFFF 2.0
+6FFFE 6FFFF 2.0
+7FFFE 7FFFF 2.0
+8FFFE 8FFFF 2.0
+9FFFE 9FFFF 2.0
+AFFFE AFFFF 2.0
+BFFFE BFFFF 2.0
+CFFFE CFFFF 2.0
+DFFFE DFFFF 2.0
+E0001 3.1
+E0020 E007F 3.1
+E0100 E01EF 4.0
+EFFFE 10FFFF 2.0
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
new file mode 100644
index 00000000000..dbd1a2f0abf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
@@ -0,0 +1,555 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToBc'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToBc'}{'missing'} = 'L';
+
+return <<'END';
+0000 0008 BN
+0009 S
+000A B
+000B S
+000C WS
+000D B
+000E 001B BN
+001C 001E B
+001F S
+0020 WS
+0021 0022 ON
+0023 0025 ET
+0026 002A ON
+002B ES
+002C CS
+002D ES
+002E 002F CS
+0030 0039 EN
+003A CS
+003B 0040 ON
+005B 0060 ON
+007B 007E ON
+007F 0084 BN
+0085 B
+0086 009F BN
+00A0 CS
+00A1 ON
+00A2 00A5 ET
+00A6 00A9 ON
+00AB 00AC ON
+00AD BN
+00AE 00AF ON
+00B0 00B1 ET
+00B2 00B3 EN
+00B4 ON
+00B6 00B8 ON
+00B9 EN
+00BB 00BF ON
+00D7 ON
+00F7 ON
+02B9 02BA ON
+02C2 02CF ON
+02D2 02DF ON
+02E5 02ED ON
+02EF 02FF ON
+0300 036F NSM
+0374 0375 ON
+037E ON
+0384 0385 ON
+0387 ON
+03F6 ON
+0483 0489 NSM
+058A ON
+0590 R
+0591 05BD NSM
+05BE R
+05BF NSM
+05C0 R
+05C1 05C2 NSM
+05C3 R
+05C4 05C5 NSM
+05C6 R
+05C7 NSM
+05C8 05FF R
+0600 0603 AN
+0604 0605 AL
+0606 0607 ON
+0608 AL
+0609 060A ET
+060B AL
+060C CS
+060D AL
+060E 060F ON
+0610 061A NSM
+061B 064A AL
+064B 065F NSM
+0660 0669 AN
+066A ET
+066B 066C AN
+066D 066F AL
+0670 NSM
+0671 06D5 AL
+06D6 06DC NSM
+06DD AN
+06DE ON
+06DF 06E4 NSM
+06E5 06E6 AL
+06E7 06E8 NSM
+06E9 ON
+06EA 06ED NSM
+06EE 06EF AL
+06F0 06F9 EN
+06FA 0710 AL
+0711 NSM
+0712 072F AL
+0730 074A NSM
+074B 07A5 AL
+07A6 07B0 NSM
+07B1 07BF AL
+07C0 07EA R
+07EB 07F3 NSM
+07F4 07F5 R
+07F6 07F9 ON
+07FA 0815 R
+0816 0819 NSM
+081A R
+081B 0823 NSM
+0824 R
+0825 0827 NSM
+0828 R
+0829 082D NSM
+082E 0858 R
+0859 085B NSM
+085C 08FF R
+0900 0902 NSM
+093A NSM
+093C NSM
+0941 0948 NSM
+094D NSM
+0951 0957 NSM
+0962 0963 NSM
+0981 NSM
+09BC NSM
+09C1 09C4 NSM
+09CD NSM
+09E2 09E3 NSM
+09F2 09F3 ET
+09FB ET
+0A01 0A02 NSM
+0A3C NSM
+0A41 0A42 NSM
+0A47 0A48 NSM
+0A4B 0A4D NSM
+0A51 NSM
+0A70 0A71 NSM
+0A75 NSM
+0A81 0A82 NSM
+0ABC NSM
+0AC1 0AC5 NSM
+0AC7 0AC8 NSM
+0ACD NSM
+0AE2 0AE3 NSM
+0AF1 ET
+0B01 NSM
+0B3C NSM
+0B3F NSM
+0B41 0B44 NSM
+0B4D NSM
+0B56 NSM
+0B62 0B63 NSM
+0B82 NSM
+0BC0 NSM
+0BCD NSM
+0BF3 0BF8 ON
+0BF9 ET
+0BFA ON
+0C3E 0C40 NSM
+0C46 0C48 NSM
+0C4A 0C4D NSM
+0C55 0C56 NSM
+0C62 0C63 NSM
+0C78 0C7E ON
+0CBC NSM
+0CCC 0CCD NSM
+0CE2 0CE3 NSM
+0D41 0D44 NSM
+0D4D NSM
+0D62 0D63 NSM
+0DCA NSM
+0DD2 0DD4 NSM
+0DD6 NSM
+0E31 NSM
+0E34 0E3A NSM
+0E3F ET
+0E47 0E4E NSM
+0EB1 NSM
+0EB4 0EB9 NSM
+0EBB 0EBC NSM
+0EC8 0ECD NSM
+0F18 0F19 NSM
+0F35 NSM
+0F37 NSM
+0F39 NSM
+0F3A 0F3D ON
+0F71 0F7E NSM
+0F80 0F84 NSM
+0F86 0F87 NSM
+0F8D 0F97 NSM
+0F99 0FBC NSM
+0FC6 NSM
+102D 1030 NSM
+1032 1037 NSM
+1039 103A NSM
+103D 103E NSM
+1058 1059 NSM
+105E 1060 NSM
+1071 1074 NSM
+1082 NSM
+1085 1086 NSM
+108D NSM
+109D NSM
+135D 135F NSM
+1390 1399 ON
+1400 ON
+1680 WS
+169B 169C ON
+1712 1714 NSM
+1732 1734 NSM
+1752 1753 NSM
+1772 1773 NSM
+17B7 17BD NSM
+17C6 NSM
+17C9 17D3 NSM
+17DB ET
+17DD NSM
+17F0 17F9 ON
+1800 180A ON
+180B 180D NSM
+180E WS
+18A9 NSM
+1920 1922 NSM
+1927 1928 NSM
+1932 NSM
+1939 193B NSM
+1940 ON
+1944 1945 ON
+19DE 19FF ON
+1A17 1A18 NSM
+1A56 NSM
+1A58 1A5E NSM
+1A60 NSM
+1A62 NSM
+1A65 1A6C NSM
+1A73 1A7C NSM
+1A7F NSM
+1B00 1B03 NSM
+1B34 NSM
+1B36 1B3A NSM
+1B3C NSM
+1B42 NSM
+1B6B 1B73 NSM
+1B80 1B81 NSM
+1BA2 1BA5 NSM
+1BA8 1BA9 NSM
+1BE6 NSM
+1BE8 1BE9 NSM
+1BED NSM
+1BEF 1BF1 NSM
+1C2C 1C33 NSM
+1C36 1C37 NSM
+1CD0 1CD2 NSM
+1CD4 1CE0 NSM
+1CE2 1CE8 NSM
+1CED NSM
+1DC0 1DE6 NSM
+1DFC 1DFF NSM
+1FBD ON
+1FBF 1FC1 ON
+1FCD 1FCF ON
+1FDD 1FDF ON
+1FED 1FEF ON
+1FFD 1FFE ON
+2000 200A WS
+200B 200D BN
+200F R
+2010 2027 ON
+2028 WS
+2029 B
+202A LRE
+202B RLE
+202C PDF
+202D LRO
+202E RLO
+202F CS
+2030 2034 ET
+2035 2043 ON
+2044 CS
+2045 205E ON
+205F WS
+2060 206F BN
+2070 EN
+2074 2079 EN
+207A 207B ES
+207C 207E ON
+2080 2089 EN
+208A 208B ES
+208C 208E ON
+20A0 20B9 ET
+20D0 20F0 NSM
+2100 2101 ON
+2103 2106 ON
+2108 2109 ON
+2114 ON
+2116 2118 ON
+211E 2123 ON
+2125 ON
+2127 ON
+2129 ON
+212E ET
+213A 213B ON
+2140 2144 ON
+214A 214D ON
+2150 215F ON
+2189 ON
+2190 2211 ON
+2212 ES
+2213 ET
+2214 2335 ON
+237B 2394 ON
+2396 23F3 ON
+2400 2426 ON
+2440 244A ON
+2460 2487 ON
+2488 249B EN
+24EA 26AB ON
+26AD 26FF ON
+2701 27CA ON
+27CC ON
+27CE 27FF ON
+2900 2B4C ON
+2B50 2B59 ON
+2CE5 2CEA ON
+2CEF 2CF1 NSM
+2CF9 2CFF ON
+2D7F NSM
+2DE0 2DFF NSM
+2E00 2E31 ON
+2E80 2E99 ON
+2E9B 2EF3 ON
+2F00 2FD5 ON
+2FF0 2FFB ON
+3000 WS
+3001 3004 ON
+3008 3020 ON
+302A 302F NSM
+3030 ON
+3036 3037 ON
+303D 303F ON
+3099 309A NSM
+309B 309C ON
+30A0 ON
+30FB ON
+31C0 31E3 ON
+321D 321E ON
+3250 325F ON
+327C 327E ON
+32B1 32BF ON
+32CC 32CF ON
+3377 337A ON
+33DE 33DF ON
+33FF ON
+4DC0 4DFF ON
+A490 A4C6 ON
+A60D A60F ON
+A66F A672 NSM
+A673 ON
+A67C A67D NSM
+A67E A67F ON
+A6F0 A6F1 NSM
+A700 A721 ON
+A788 ON
+A802 NSM
+A806 NSM
+A80B NSM
+A825 A826 NSM
+A828 A82B ON
+A838 A839 ET
+A874 A877 ON
+A8C4 NSM
+A8E0 A8F1 NSM
+A926 A92D NSM
+A947 A951 NSM
+A980 A982 NSM
+A9B3 NSM
+A9B6 A9B9 NSM
+A9BC NSM
+AA29 AA2E NSM
+AA31 AA32 NSM
+AA35 AA36 NSM
+AA43 NSM
+AA4C NSM
+AAB0 NSM
+AAB2 AAB4 NSM
+AAB7 AAB8 NSM
+AABE AABF NSM
+AAC1 NSM
+ABE5 NSM
+ABE8 NSM
+ABED NSM
+FB1D R
+FB1E NSM
+FB1F FB28 R
+FB29 ES
+FB2A FB4F R
+FB50 FD3D AL
+FD3E FD3F ON
+FD40 FDCF AL
+FDD0 FDEF BN
+FDF0 FDFC AL
+FDFD ON
+FDFE FDFF AL
+FE00 FE0F NSM
+FE10 FE19 ON
+FE20 FE26 NSM
+FE30 FE4F ON
+FE50 CS
+FE51 ON
+FE52 CS
+FE54 ON
+FE55 CS
+FE56 FE5E ON
+FE5F ET
+FE60 FE61 ON
+FE62 FE63 ES
+FE64 FE66 ON
+FE68 ON
+FE69 FE6A ET
+FE6B ON
+FE70 FEFE AL
+FEFF BN
+FF01 FF02 ON
+FF03 FF05 ET
+FF06 FF0A ON
+FF0B ES
+FF0C CS
+FF0D ES
+FF0E FF0F CS
+FF10 FF19 EN
+FF1A CS
+FF1B FF20 ON
+FF3B FF40 ON
+FF5B FF65 ON
+FFE0 FFE1 ET
+FFE2 FFE4 ON
+FFE5 FFE6 ET
+FFE8 FFEE ON
+FFF0 FFF8 BN
+FFF9 FFFD ON
+FFFE FFFF BN
+10101 ON
+10140 1018A ON
+10190 1019B ON
+101FD NSM
+10800 1091E R
+1091F ON
+10920 10A00 R
+10A01 10A03 NSM
+10A04 R
+10A05 10A06 NSM
+10A07 10A0B R
+10A0C 10A0F NSM
+10A10 10A37 R
+10A38 10A3A NSM
+10A3B 10A3E R
+10A3F NSM
+10A40 10B38 R
+10B39 10B3F ON
+10B40 10E5F R
+10E60 10E7E AN
+10E7F 10FFF R
+11001 NSM
+11038 11046 NSM
+11052 11065 ON
+11080 11081 NSM
+110B3 110B6 NSM
+110B9 110BA NSM
+1D167 1D169 NSM
+1D173 1D17A BN
+1D17B 1D182 NSM
+1D185 1D18B NSM
+1D1AA 1D1AD NSM
+1D200 1D241 ON
+1D242 1D244 NSM
+1D245 ON
+1D300 1D356 ON
+1D6DB ON
+1D715 ON
+1D74F ON
+1D789 ON
+1D7C3 ON
+1D7CE 1D7FF EN
+1E800 1EFFF R
+1F000 1F02B ON
+1F030 1F093 ON
+1F0A0 1F0AE ON
+1F0B1 1F0BE ON
+1F0C1 1F0CF ON
+1F0D1 1F0DF ON
+1F100 1F10A EN
+1F300 1F320 ON
+1F330 1F335 ON
+1F337 1F37C ON
+1F380 1F393 ON
+1F3A0 1F3C4 ON
+1F3C6 1F3CA ON
+1F3E0 1F3F0 ON
+1F400 1F43E ON
+1F440 ON
+1F442 1F48B ON
+1F48D 1F4F7 ON
+1F4F9 1F4FC ON
+1F500 1F523 ON
+1F525 1F53D ON
+1F550 1F567 ON
+1F5FB 1F5FF ON
+1F601 1F610 ON
+1F612 1F614 ON
+1F616 ON
+1F618 ON
+1F61A ON
+1F61C 1F61E ON
+1F620 1F625 ON
+1F628 1F62B ON
+1F62D ON
+1F630 1F633 ON
+1F635 1F640 ON
+1F645 1F64F ON
+1F680 1F6C5 ON
+1F700 1F773 ON
+1FFFE 1FFFF BN
+2FFFE 2FFFF BN
+3FFFE 3FFFF BN
+4FFFE 4FFFF BN
+5FFFE 5FFFF BN
+6FFFE 6FFFF BN
+7FFFE 7FFFF BN
+8FFFE 8FFFF BN
+9FFFE 9FFFF BN
+AFFFE AFFFF BN
+BFFFE BFFFF BN
+CFFFE CFFFF BN
+DFFFE E00FF BN
+E0100 E01EF NSM
+E01F0 E0FFF BN
+EFFFE EFFFF BN
+FFFFE FFFFF BN
+10FFFE 10FFFF BN
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
index ed725d3f3b9..efe0c8c6cfd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
@@ -1,25 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the synonymous mappings:
-# Bidi_Mirroring_Glyph(cp)
-# Bmg(cp)
-#
-# where 'cp' is one of the 362 code points in Unicode Version 5.2.0 for which
-# the mapping is not to the null string. Note that these mappings are not
-# accessible through the Perl core directly.
-#
-# For information about what this property really means, see:
-# http://www.unicode.org/reports/tr44/
-#
-# The format of the non-comment portions of the main body of lines of this
-# file is: START\tSTOP\tMAPPING where START is the starting code point of the
-# range, in hex; STOP is the ending point, or if omitted, the range has just
-# one code point; MAPPING is what each code point between START and STOP maps
-# to. Numbers in comments in [brackets] indicate how many code points are in
-# the range (omitted when the range is a single code point or if the mapping
-# is to the null string).
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl b/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
index 7cfab866dba..b7ab8c363a9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
@@ -1,22 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the mapping:
-# Perl_Decimal_Digit(cp)
-#
-# where 'cp' is one of the 411 code points in Unicode Version 5.2.0 for which
-# the mapping is not to the null string. Note that this mapping is not
-# accessible through the Perl core directly.
-#
-# This file gives the mapping of all code points which represent a single
-# decimal digit [0-9] to their respective digits. For example, the code
-# point U+0031 (an ASCII '1') is mapped to a numeric 1. These code points
-# are those that have Numeric_Type=Decimal; not special things, like
-# subscripts nor Roman numerals.
-#
-# The format of the main body of lines of this file is: CODE_POINT\t\tMAPPING
-# where CODE_POINT is in hex; MAPPING is what CODE_POINT maps to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -245,7 +230,6 @@ return <<'END';
19D7 7
19D8 8
19D9 9
-19DA 1
1A80 0
1A81 1
1A82 2
@@ -386,6 +370,16 @@ FF19 9
104A7 7
104A8 8
104A9 9
+11066 0
+11067 1
+11068 2
+11069 3
+1106A 4
+1106B 5
+1106C 6
+1106D 7
+1106E 8
+1106F 9
1D7CE 0
1D7CF 1
1D7D0 2
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Dt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Dt.pl
new file mode 100644
index 00000000000..3e985c589fd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Dt.pl
@@ -0,0 +1,759 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToDt'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToDt'}{'missing'} = 'None';
+
+return <<'END';
+00A0 Nobreak
+00A8 Compat
+00AA Super
+00AF Compat
+00B2 00B3 Super
+00B4 00B5 Compat
+00B8 Compat
+00B9 00BA Super
+00BC 00BE Fraction
+00C0 00C5 Canonical
+00C7 00CF Canonical
+00D1 00D6 Canonical
+00D9 00DD Canonical
+00E0 00E5 Canonical
+00E7 00EF Canonical
+00F1 00F6 Canonical
+00F9 00FD Canonical
+00FF 010F Canonical
+0112 0125 Canonical
+0128 0130 Canonical
+0132 0133 Compat
+0134 0137 Canonical
+0139 013E Canonical
+013F 0140 Compat
+0143 0148 Canonical
+0149 Compat
+014C 0151 Canonical
+0154 0165 Canonical
+0168 017E Canonical
+017F Compat
+01A0 01A1 Canonical
+01AF 01B0 Canonical
+01C4 01CC Compat
+01CD 01DC Canonical
+01DE 01E3 Canonical
+01E6 01F0 Canonical
+01F1 01F3 Compat
+01F4 01F5 Canonical
+01F8 021B Canonical
+021E 021F Canonical
+0226 0233 Canonical
+02B0 02B8 Super
+02D8 02DD Compat
+02E0 02E4 Super
+0340 0341 Canonical
+0343 0344 Canonical
+0374 Canonical
+037A Compat
+037E Canonical
+0384 Compat
+0385 038A Canonical
+038C Canonical
+038E 0390 Canonical
+03AA 03B0 Canonical
+03CA 03CE Canonical
+03D0 03D2 Compat
+03D3 03D4 Canonical
+03D5 03D6 Compat
+03F0 03F2 Compat
+03F4 03F5 Compat
+03F9 Compat
+0400 0401 Canonical
+0403 Canonical
+0407 Canonical
+040C 040E Canonical
+0419 Canonical
+0439 Canonical
+0450 0451 Canonical
+0453 Canonical
+0457 Canonical
+045C 045E Canonical
+0476 0477 Canonical
+04C1 04C2 Canonical
+04D0 04D3 Canonical
+04D6 04D7 Canonical
+04DA 04DF Canonical
+04E2 04E7 Canonical
+04EA 04F5 Canonical
+04F8 04F9 Canonical
+0587 Compat
+0622 0626 Canonical
+0675 0678 Compat
+06C0 Canonical
+06C2 Canonical
+06D3 Canonical
+0929 Canonical
+0931 Canonical
+0934 Canonical
+0958 095F Canonical
+09CB 09CC Canonical
+09DC 09DD Canonical
+09DF Canonical
+0A33 Canonical
+0A36 Canonical
+0A59 0A5B Canonical
+0A5E Canonical
+0B48 Canonical
+0B4B 0B4C Canonical
+0B5C 0B5D Canonical
+0B94 Canonical
+0BCA 0BCC Canonical
+0C48 Canonical
+0CC0 Canonical
+0CC7 0CC8 Canonical
+0CCA 0CCB Canonical
+0D4A 0D4C Canonical
+0DDA Canonical
+0DDC 0DDE Canonical
+0E33 Compat
+0EB3 Compat
+0EDC 0EDD Compat
+0F0C Nobreak
+0F43 Canonical
+0F4D Canonical
+0F52 Canonical
+0F57 Canonical
+0F5C Canonical
+0F69 Canonical
+0F73 Canonical
+0F75 0F76 Canonical
+0F77 Compat
+0F78 Canonical
+0F79 Compat
+0F81 Canonical
+0F93 Canonical
+0F9D Canonical
+0FA2 Canonical
+0FA7 Canonical
+0FAC Canonical
+0FB9 Canonical
+1026 Canonical
+10FC Super
+1B06 Canonical
+1B08 Canonical
+1B0A Canonical
+1B0C Canonical
+1B0E Canonical
+1B12 Canonical
+1B3B Canonical
+1B3D Canonical
+1B40 1B41 Canonical
+1B43 Canonical
+1D2C 1D2E Super
+1D30 1D3A Super
+1D3C 1D4D Super
+1D4F 1D61 Super
+1D62 1D6A Sub
+1D78 Super
+1D9B 1DBF Super
+1E00 1E99 Canonical
+1E9A Compat
+1E9B Canonical
+1EA0 1EF9 Canonical
+1F00 1F15 Canonical
+1F18 1F1D Canonical
+1F20 1F45 Canonical
+1F48 1F4D Canonical
+1F50 1F57 Canonical
+1F59 Canonical
+1F5B Canonical
+1F5D Canonical
+1F5F 1F7D Canonical
+1F80 1FB4 Canonical
+1FB6 1FBC Canonical
+1FBD Compat
+1FBE Canonical
+1FBF 1FC0 Compat
+1FC1 1FC4 Canonical
+1FC6 1FD3 Canonical
+1FD6 1FDB Canonical
+1FDD 1FEF Canonical
+1FF2 1FF4 Canonical
+1FF6 1FFD Canonical
+1FFE Compat
+2000 2001 Canonical
+2002 2006 Compat
+2007 Nobreak
+2008 200A Compat
+2011 Nobreak
+2017 Compat
+2024 2026 Compat
+202F Nobreak
+2033 2034 Compat
+2036 2037 Compat
+203C Compat
+203E Compat
+2047 2049 Compat
+2057 Compat
+205F Compat
+2070 2071 Super
+2074 207F Super
+2080 208E Sub
+2090 209C Sub
+20A8 Compat
+2100 2101 Compat
+2102 Font
+2103 Compat
+2105 2107 Compat
+2109 Compat
+210A 2113 Font
+2115 Font
+2116 Compat
+2119 211D Font
+2120 Super
+2121 Compat
+2122 Super
+2124 Font
+2126 Canonical
+2128 Font
+212A 212B Canonical
+212C 212D Font
+212F 2131 Font
+2133 2134 Font
+2135 2138 Compat
+2139 Font
+213B Compat
+213C 2140 Font
+2145 2149 Font
+2150 215F Fraction
+2160 217F Compat
+2189 Fraction
+219A 219B Canonical
+21AE Canonical
+21CD 21CF Canonical
+2204 Canonical
+2209 Canonical
+220C Canonical
+2224 Canonical
+2226 Canonical
+222C 222D Compat
+222F 2230 Compat
+2241 Canonical
+2244 Canonical
+2247 Canonical
+2249 Canonical
+2260 Canonical
+2262 Canonical
+226D 2271 Canonical
+2274 2275 Canonical
+2278 2279 Canonical
+2280 2281 Canonical
+2284 2285 Canonical
+2288 2289 Canonical
+22AC 22AF Canonical
+22E0 22E3 Canonical
+22EA 22ED Canonical
+2329 232A Canonical
+2460 2473 Circle
+2474 24B5 Compat
+24B6 24EA Circle
+2A0C Compat
+2A74 2A76 Compat
+2ADC Canonical
+2C7C Sub
+2C7D Super
+2D6F Super
+2E9F Compat
+2EF3 Compat
+2F00 2FD5 Compat
+3000 Wide
+3036 Compat
+3038 303A Compat
+304C Canonical
+304E Canonical
+3050 Canonical
+3052 Canonical
+3054 Canonical
+3056 Canonical
+3058 Canonical
+305A Canonical
+305C Canonical
+305E Canonical
+3060 Canonical
+3062 Canonical
+3065 Canonical
+3067 Canonical
+3069 Canonical
+3070 3071 Canonical
+3073 3074 Canonical
+3076 3077 Canonical
+3079 307A Canonical
+307C 307D Canonical
+3094 Canonical
+309B 309C Compat
+309E Canonical
+309F Vertical
+30AC Canonical
+30AE Canonical
+30B0 Canonical
+30B2 Canonical
+30B4 Canonical
+30B6 Canonical
+30B8 Canonical
+30BA Canonical
+30BC Canonical
+30BE Canonical
+30C0 Canonical
+30C2 Canonical
+30C5 Canonical
+30C7 Canonical
+30C9 Canonical
+30D0 30D1 Canonical
+30D3 30D4 Canonical
+30D6 30D7 Canonical
+30D9 30DA Canonical
+30DC 30DD Canonical
+30F4 Canonical
+30F7 30FA Canonical
+30FE Canonical
+30FF Vertical
+3131 318E Compat
+3192 319F Super
+3200 321E Compat
+3220 3243 Compat
+3244 3247 Circle
+3250 Square
+3251 327E Circle
+3280 32BF Circle
+32C0 32CB Compat
+32CC 32CF Square
+32D0 32FE Circle
+3300 3357 Square
+3358 3370 Compat
+3371 33DF Square
+33E0 33FE Compat
+33FF Square
+A770 Super
+AC00 D7A3 Canonical
+F900 FA0D Canonical
+FA10 Canonical
+FA12 Canonical
+FA15 FA1E Canonical
+FA20 Canonical
+FA22 Canonical
+FA25 FA26 Canonical
+FA2A FA2D Canonical
+FA30 FA6D Canonical
+FA70 FAD9 Canonical
+FB00 FB06 Compat
+FB13 FB17 Compat
+FB1D Canonical
+FB1F Canonical
+FB20 FB29 Font
+FB2A FB36 Canonical
+FB38 FB3C Canonical
+FB3E Canonical
+FB40 FB41 Canonical
+FB43 FB44 Canonical
+FB46 FB4E Canonical
+FB4F Compat
+FB50 Isolated
+FB51 Final
+FB52 Isolated
+FB53 Final
+FB54 Initial
+FB55 Medial
+FB56 Isolated
+FB57 Final
+FB58 Initial
+FB59 Medial
+FB5A Isolated
+FB5B Final
+FB5C Initial
+FB5D Medial
+FB5E Isolated
+FB5F Final
+FB60 Initial
+FB61 Medial
+FB62 Isolated
+FB63 Final
+FB64 Initial
+FB65 Medial
+FB66 Isolated
+FB67 Final
+FB68 Initial
+FB69 Medial
+FB6A Isolated
+FB6B Final
+FB6C Initial
+FB6D Medial
+FB6E Isolated
+FB6F Final
+FB70 Initial
+FB71 Medial
+FB72 Isolated
+FB73 Final
+FB74 Initial
+FB75 Medial
+FB76 Isolated
+FB77 Final
+FB78 Initial
+FB79 Medial
+FB7A Isolated
+FB7B Final
+FB7C Initial
+FB7D Medial
+FB7E Isolated
+FB7F Final
+FB80 Initial
+FB81 Medial
+FB82 Isolated
+FB83 Final
+FB84 Isolated
+FB85 Final
+FB86 Isolated
+FB87 Final
+FB88 Isolated
+FB89 Final
+FB8A Isolated
+FB8B Final
+FB8C Isolated
+FB8D Final
+FB8E Isolated
+FB8F Final
+FB90 Initial
+FB91 Medial
+FB92 Isolated
+FB93 Final
+FB94 Initial
+FB95 Medial
+FB96 Isolated
+FB97 Final
+FB98 Initial
+FB99 Medial
+FB9A Isolated
+FB9B Final
+FB9C Initial
+FB9D Medial
+FB9E Isolated
+FB9F Final
+FBA0 Isolated
+FBA1 Final
+FBA2 Initial
+FBA3 Medial
+FBA4 Isolated
+FBA5 Final
+FBA6 Isolated
+FBA7 Final
+FBA8 Initial
+FBA9 Medial
+FBAA Isolated
+FBAB Final
+FBAC Initial
+FBAD Medial
+FBAE Isolated
+FBAF Final
+FBB0 Isolated
+FBB1 Final
+FBD3 Isolated
+FBD4 Final
+FBD5 Initial
+FBD6 Medial
+FBD7 Isolated
+FBD8 Final
+FBD9 Isolated
+FBDA Final
+FBDB Isolated
+FBDC Final
+FBDD FBDE Isolated
+FBDF Final
+FBE0 Isolated
+FBE1 Final
+FBE2 Isolated
+FBE3 Final
+FBE4 Isolated
+FBE5 Final
+FBE6 Initial
+FBE7 Medial
+FBE8 Initial
+FBE9 Medial
+FBEA Isolated
+FBEB Final
+FBEC Isolated
+FBED Final
+FBEE Isolated
+FBEF Final
+FBF0 Isolated
+FBF1 Final
+FBF2 Isolated
+FBF3 Final
+FBF4 Isolated
+FBF5 Final
+FBF6 Isolated
+FBF7 Final
+FBF8 Initial
+FBF9 Isolated
+FBFA Final
+FBFB Initial
+FBFC Isolated
+FBFD Final
+FBFE Initial
+FBFF Medial
+FC00 FC63 Isolated
+FC64 FC96 Final
+FC97 FCDE Initial
+FCDF FCF4 Medial
+FCF5 FD10 Isolated
+FD11 FD2C Final
+FD2D FD33 Initial
+FD34 FD3B Medial
+FD3C Final
+FD3D Isolated
+FD50 Initial
+FD51 Final
+FD52 FD57 Initial
+FD58 Final
+FD59 Initial
+FD5A FD5B Final
+FD5C FD5D Initial
+FD5E FD5F Final
+FD60 FD61 Initial
+FD62 Final
+FD63 Initial
+FD64 Final
+FD65 Initial
+FD66 FD67 Final
+FD68 Initial
+FD69 FD6A Final
+FD6B Initial
+FD6C Final
+FD6D Initial
+FD6E FD6F Final
+FD70 Initial
+FD71 Final
+FD72 FD73 Initial
+FD74 FD76 Final
+FD77 Initial
+FD78 FD7C Final
+FD7D Initial
+FD7E FD82 Final
+FD83 Initial
+FD84 FD85 Final
+FD86 Initial
+FD87 Final
+FD88 FD8A Initial
+FD8B Final
+FD8C FD8F Initial
+FD92 FD95 Initial
+FD96 FD97 Final
+FD98 Initial
+FD99 FD9C Final
+FD9D Initial
+FD9E FDB3 Final
+FDB4 FDB5 Initial
+FDB6 FDB7 Final
+FDB8 Initial
+FDB9 Final
+FDBA Initial
+FDBB FDC2 Final
+FDC3 FDC5 Initial
+FDC6 FDC7 Final
+FDF0 FDFC Isolated
+FE10 FE19 Vertical
+FE30 FE44 Vertical
+FE47 FE48 Vertical
+FE49 FE4F Compat
+FE50 FE52 Small
+FE54 FE66 Small
+FE68 FE6B Small
+FE70 Isolated
+FE71 Medial
+FE72 Isolated
+FE74 Isolated
+FE76 Isolated
+FE77 Medial
+FE78 Isolated
+FE79 Medial
+FE7A Isolated
+FE7B Medial
+FE7C Isolated
+FE7D Medial
+FE7E Isolated
+FE7F Medial
+FE80 FE81 Isolated
+FE82 Final
+FE83 Isolated
+FE84 Final
+FE85 Isolated
+FE86 Final
+FE87 Isolated
+FE88 Final
+FE89 Isolated
+FE8A Final
+FE8B Initial
+FE8C Medial
+FE8D Isolated
+FE8E Final
+FE8F Isolated
+FE90 Final
+FE91 Initial
+FE92 Medial
+FE93 Isolated
+FE94 Final
+FE95 Isolated
+FE96 Final
+FE97 Initial
+FE98 Medial
+FE99 Isolated
+FE9A Final
+FE9B Initial
+FE9C Medial
+FE9D Isolated
+FE9E Final
+FE9F Initial
+FEA0 Medial
+FEA1 Isolated
+FEA2 Final
+FEA3 Initial
+FEA4 Medial
+FEA5 Isolated
+FEA6 Final
+FEA7 Initial
+FEA8 Medial
+FEA9 Isolated
+FEAA Final
+FEAB Isolated
+FEAC Final
+FEAD Isolated
+FEAE Final
+FEAF Isolated
+FEB0 Final
+FEB1 Isolated
+FEB2 Final
+FEB3 Initial
+FEB4 Medial
+FEB5 Isolated
+FEB6 Final
+FEB7 Initial
+FEB8 Medial
+FEB9 Isolated
+FEBA Final
+FEBB Initial
+FEBC Medial
+FEBD Isolated
+FEBE Final
+FEBF Initial
+FEC0 Medial
+FEC1 Isolated
+FEC2 Final
+FEC3 Initial
+FEC4 Medial
+FEC5 Isolated
+FEC6 Final
+FEC7 Initial
+FEC8 Medial
+FEC9 Isolated
+FECA Final
+FECB Initial
+FECC Medial
+FECD Isolated
+FECE Final
+FECF Initial
+FED0 Medial
+FED1 Isolated
+FED2 Final
+FED3 Initial
+FED4 Medial
+FED5 Isolated
+FED6 Final
+FED7 Initial
+FED8 Medial
+FED9 Isolated
+FEDA Final
+FEDB Initial
+FEDC Medial
+FEDD Isolated
+FEDE Final
+FEDF Initial
+FEE0 Medial
+FEE1 Isolated
+FEE2 Final
+FEE3 Initial
+FEE4 Medial
+FEE5 Isolated
+FEE6 Final
+FEE7 Initial
+FEE8 Medial
+FEE9 Isolated
+FEEA Final
+FEEB Initial
+FEEC Medial
+FEED Isolated
+FEEE Final
+FEEF Isolated
+FEF0 Final
+FEF1 Isolated
+FEF2 Final
+FEF3 Initial
+FEF4 Medial
+FEF5 Isolated
+FEF6 Final
+FEF7 Isolated
+FEF8 Final
+FEF9 Isolated
+FEFA Final
+FEFB Isolated
+FEFC Final
+FF01 FF60 Wide
+FF61 FFBE Narrow
+FFC2 FFC7 Narrow
+FFCA FFCF Narrow
+FFD2 FFD7 Narrow
+FFDA FFDC Narrow
+FFE0 FFE6 Wide
+FFE8 FFEE Narrow
+1109A Canonical
+1109C Canonical
+110AB Canonical
+1D15E 1D164 Canonical
+1D1BB 1D1C0 Canonical
+1D400 1D454 Font
+1D456 1D49C Font
+1D49E 1D49F Font
+1D4A2 Font
+1D4A5 1D4A6 Font
+1D4A9 1D4AC Font
+1D4AE 1D4B9 Font
+1D4BB Font
+1D4BD 1D4C3 Font
+1D4C5 1D505 Font
+1D507 1D50A Font
+1D50D 1D514 Font
+1D516 1D51C Font
+1D51E 1D539 Font
+1D53B 1D53E Font
+1D540 1D544 Font
+1D546 Font
+1D54A 1D550 Font
+1D552 1D6A5 Font
+1D6A8 1D7CB Font
+1D7CE 1D7FF Font
+1F100 1F10A Compat
+1F110 1F12A Compat
+1F12B 1F12E Circle
+1F130 1F14F Square
+1F190 Square
+1F200 1F202 Square
+1F210 1F23A Square
+1F240 1F248 Compat
+1F250 1F251 Circle
+2F800 2FA1D Canonical
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl b/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
new file mode 100644
index 00000000000..9d1cf1a811e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
@@ -0,0 +1,245 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToEa'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToEa'}{'missing'} = 'Neutral';
+
+return <<'END';
+0020 007E Na
+00A1 A
+00A2 00A3 Na
+00A4 A
+00A5 00A6 Na
+00A7 00A8 A
+00AA A
+00AC Na
+00AD 00AE A
+00AF Na
+00B0 00B4 A
+00B6 00BA A
+00BC 00BF A
+00C6 A
+00D0 A
+00D7 00D8 A
+00DE 00E1 A
+00E6 A
+00E8 00EA A
+00EC 00ED A
+00F0 A
+00F2 00F3 A
+00F7 00FA A
+00FC A
+00FE A
+0101 A
+0111 A
+0113 A
+011B A
+0126 0127 A
+012B A
+0131 0133 A
+0138 A
+013F 0142 A
+0144 A
+0148 014B A
+014D A
+0152 0153 A
+0166 0167 A
+016B A
+01CE A
+01D0 A
+01D2 A
+01D4 A
+01D6 A
+01D8 A
+01DA A
+01DC A
+0251 A
+0261 A
+02C4 A
+02C7 A
+02C9 02CB A
+02CD A
+02D0 A
+02D8 02DB A
+02DD A
+02DF A
+0300 036F A
+0391 03A1 A
+03A3 03A9 A
+03B1 03C1 A
+03C3 03C9 A
+0401 A
+0410 044F A
+0451 A
+1100 115F W
+11A3 11A7 W
+11FA 11FF W
+2010 A
+2013 2016 A
+2018 2019 A
+201C 201D A
+2020 2022 A
+2024 2027 A
+2030 A
+2032 2033 A
+2035 A
+203B A
+203E A
+2074 A
+207F A
+2081 2084 A
+20A9 H
+20AC A
+2103 A
+2105 A
+2109 A
+2113 A
+2116 A
+2121 2122 A
+2126 A
+212B A
+2153 2154 A
+215B 215E A
+2160 216B A
+2170 2179 A
+2189 A
+2190 2199 A
+21B8 21B9 A
+21D2 A
+21D4 A
+21E7 A
+2200 A
+2202 2203 A
+2207 2208 A
+220B A
+220F A
+2211 A
+2215 A
+221A A
+221D 2220 A
+2223 A
+2225 A
+2227 222C A
+222E A
+2234 2237 A
+223C 223D A
+2248 A
+224C A
+2252 A
+2260 2261 A
+2264 2267 A
+226A 226B A
+226E 226F A
+2282 2283 A
+2286 2287 A
+2295 A
+2299 A
+22A5 A
+22BF A
+2312 A
+2329 232A W
+2460 24E9 A
+24EB 254B A
+2550 2573 A
+2580 258F A
+2592 2595 A
+25A0 25A1 A
+25A3 25A9 A
+25B2 25B3 A
+25B6 25B7 A
+25BC 25BD A
+25C0 25C1 A
+25C6 25C8 A
+25CB A
+25CE 25D1 A
+25E2 25E5 A
+25EF A
+2605 2606 A
+2609 A
+260E 260F A
+2614 2615 A
+261C A
+261E A
+2640 A
+2642 A
+2660 2661 A
+2663 2665 A
+2667 266A A
+266C 266D A
+266F A
+269E 269F A
+26BE 26BF A
+26C4 26CD A
+26CF 26E1 A
+26E3 A
+26E8 26FF A
+273D A
+2757 A
+2776 277F A
+27E6 27ED Na
+2985 2986 Na
+2B55 2B59 A
+2E80 2E99 W
+2E9B 2EF3 W
+2F00 2FD5 W
+2FF0 2FFB W
+3000 F
+3001 303E W
+3041 3096 W
+3099 30FF W
+3105 312D W
+3131 318E W
+3190 31BA W
+31C0 31E3 W
+31F0 321E W
+3220 3247 W
+3248 324F A
+3250 32FE W
+3300 4DBF W
+4E00 A48C W
+A490 A4C6 W
+A960 A97C W
+AC00 D7A3 W
+D7B0 D7C6 W
+D7CB D7FB W
+E000 F8FF A
+F900 FAFF W
+FE00 FE0F A
+FE10 FE19 W
+FE30 FE52 W
+FE54 FE66 W
+FE68 FE6B W
+FF01 FF60 F
+FF61 FFBE H
+FFC2 FFC7 H
+FFCA FFCF H
+FFD2 FFD7 H
+FFDA FFDC H
+FFE0 FFE6 F
+FFE8 FFEE H
+FFFD A
+1B000 1B001 W
+1F100 1F10A A
+1F110 1F12D A
+1F130 1F169 A
+1F170 1F19A A
+1F200 1F202 W
+1F210 1F23A W
+1F240 1F248 W
+1F250 1F251 W
+20000 2FFFD W
+30000 3FFFD W
+E0100 E01EF A
+F0000 FFFFD A
+100000 10FFFD A
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl b/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
index 5b71c3cf96f..e426be788ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
@@ -1,20 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the synonymous mappings:
-# Case_Folding(cp)
-# Cf(cp)
-#
-# where 'cp' is one of the 1117 code points in Unicode Version 5.2.0 for
-# which the mapping is not to itself. Note that these mappings are not
-# accessible through the Perl core directly.
-#
-# For information about what this property really means, see:
-# http://www.unicode.org/reports/tr44/
-#
-# The format of the main body of lines of this file is: CODE_POINT\t\tMAPPING
-# where CODE_POINT is in hex; MAPPING is what CODE_POINT maps to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -26,7 +13,9 @@ $utf8::SwashInfo{'ToFold'}{'missing'} = '<code point>'; # code point maps to its
# multiple code points. These do not appear in the main body, but are defined
# in the hash below.
-# The key: UTF-8 _bytes_, the value: UTF-8 (speed hack)
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
%utf8::ToSpecFold = (
"\xC3\x9F" => "\x{0073}\x{0073}", # U+00DF => 0073 0073
"\xC4\xB0" => "\x{0069}\x{0307}", # U+0130 => 0069 0307
@@ -570,6 +559,7 @@ return <<'END';
0520 0521
0522 0523
0524 0525
+0526 0527
0531 0561
0532 0562
0533 0563
@@ -722,6 +712,7 @@ return <<'END';
1E92 1E93
1E94 1E95
1E9B 1E61
+1E9E 00DF
1EA0 1EA1
1EA2 1EA3
1EA4 1EA5
@@ -818,15 +809,41 @@ return <<'END';
1F6D 1F65
1F6E 1F66
1F6F 1F67
+1F88 1F80
+1F89 1F81
+1F8A 1F82
+1F8B 1F83
+1F8C 1F84
+1F8D 1F85
+1F8E 1F86
+1F8F 1F87
+1F98 1F90
+1F99 1F91
+1F9A 1F92
+1F9B 1F93
+1F9C 1F94
+1F9D 1F95
+1F9E 1F96
+1F9F 1F97
+1FA8 1FA0
+1FA9 1FA1
+1FAA 1FA2
+1FAB 1FA3
+1FAC 1FA4
+1FAD 1FA5
+1FAE 1FA6
+1FAF 1FA7
1FB8 1FB0
1FB9 1FB1
1FBA 1F70
1FBB 1F71
+1FBC 1FB3
1FBE 03B9
1FC8 1F72
1FC9 1F73
1FCA 1F74
1FCB 1F75
+1FCC 1FC3
1FD8 1FD0
1FD9 1FD1
1FDA 1F76
@@ -840,6 +857,7 @@ return <<'END';
1FF9 1F79
1FFA 1F7C
1FFB 1F7D
+1FFC 1FF3
2126 03C9
212A 006B
212B 00E5
@@ -1017,6 +1035,7 @@ A658 A659
A65A A65B
A65C A65D
A65E A65F
+A660 A661
A662 A663
A664 A665
A666 A667
@@ -1082,6 +1101,13 @@ A782 A783
A784 A785
A786 A787
A78B A78C
+A78D 0265
+A790 A791
+A7A0 A7A1
+A7A2 A7A3
+A7A4 A7A5
+A7A6 A7A7
+A7A8 A7A9
FF21 FF41
FF22 FF42
FF23 FF43
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl b/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
new file mode 100644
index 00000000000..ce0fbbdfd00
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
@@ -0,0 +1,1177 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToGCB'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToGCB'}{'missing'} = 'Other';
+
+return <<'END';
+0000 0009 Control
+000A LF
+000B 000C Control
+000D CR
+000E 001F Control
+007F 009F Control
+00AD Control
+0300 036F Extend
+0483 0489 Extend
+0591 05BD Extend
+05BF Extend
+05C1 05C2 Extend
+05C4 05C5 Extend
+05C7 Extend
+0600 0603 Control
+0610 061A Extend
+064B 065F Extend
+0670 Extend
+06D6 06DC Extend
+06DD Control
+06DF 06E4 Extend
+06E7 06E8 Extend
+06EA 06ED Extend
+070F Control
+0711 Extend
+0730 074A Extend
+07A6 07B0 Extend
+07EB 07F3 Extend
+0816 0819 Extend
+081B 0823 Extend
+0825 0827 Extend
+0829 082D Extend
+0859 085B Extend
+0900 0902 Extend
+0903 SpacingMark
+093A Extend
+093B SpacingMark
+093C Extend
+093E 0940 SpacingMark
+0941 0948 Extend
+0949 094C SpacingMark
+094D Extend
+094E 094F SpacingMark
+0951 0957 Extend
+0962 0963 Extend
+0981 Extend
+0982 0983 SpacingMark
+09BC Extend
+09BE Extend
+09BF 09C0 SpacingMark
+09C1 09C4 Extend
+09C7 09C8 SpacingMark
+09CB 09CC SpacingMark
+09CD Extend
+09D7 Extend
+09E2 09E3 Extend
+0A01 0A02 Extend
+0A03 SpacingMark
+0A3C Extend
+0A3E 0A40 SpacingMark
+0A41 0A42 Extend
+0A47 0A48 Extend
+0A4B 0A4D Extend
+0A51 Extend
+0A70 0A71 Extend
+0A75 Extend
+0A81 0A82 Extend
+0A83 SpacingMark
+0ABC Extend
+0ABE 0AC0 SpacingMark
+0AC1 0AC5 Extend
+0AC7 0AC8 Extend
+0AC9 SpacingMark
+0ACB 0ACC SpacingMark
+0ACD Extend
+0AE2 0AE3 Extend
+0B01 Extend
+0B02 0B03 SpacingMark
+0B3C Extend
+0B3E 0B3F Extend
+0B40 SpacingMark
+0B41 0B44 Extend
+0B47 0B48 SpacingMark
+0B4B 0B4C SpacingMark
+0B4D Extend
+0B56 0B57 Extend
+0B62 0B63 Extend
+0B82 Extend
+0BBE Extend
+0BBF SpacingMark
+0BC0 Extend
+0BC1 0BC2 SpacingMark
+0BC6 0BC8 SpacingMark
+0BCA 0BCC SpacingMark
+0BCD Extend
+0BD7 Extend
+0C01 0C03 SpacingMark
+0C3E 0C40 Extend
+0C41 0C44 SpacingMark
+0C46 0C48 Extend
+0C4A 0C4D Extend
+0C55 0C56 Extend
+0C62 0C63 Extend
+0C82 0C83 SpacingMark
+0CBC Extend
+0CBE SpacingMark
+0CBF Extend
+0CC0 0CC1 SpacingMark
+0CC2 Extend
+0CC3 0CC4 SpacingMark
+0CC6 Extend
+0CC7 0CC8 SpacingMark
+0CCA 0CCB SpacingMark
+0CCC 0CCD Extend
+0CD5 0CD6 Extend
+0CE2 0CE3 Extend
+0D02 0D03 SpacingMark
+0D3E Extend
+0D3F 0D40 SpacingMark
+0D41 0D44 Extend
+0D46 0D48 SpacingMark
+0D4A 0D4C SpacingMark
+0D4D Extend
+0D57 Extend
+0D62 0D63 Extend
+0D82 0D83 SpacingMark
+0DCA Extend
+0DCF Extend
+0DD0 0DD1 SpacingMark
+0DD2 0DD4 Extend
+0DD6 Extend
+0DD8 0DDE SpacingMark
+0DDF Extend
+0DF2 0DF3 SpacingMark
+0E30 SpacingMark
+0E31 Extend
+0E32 0E33 SpacingMark
+0E34 0E3A Extend
+0E40 0E44 Prepend
+0E45 SpacingMark
+0E47 0E4E Extend
+0EB0 SpacingMark
+0EB1 Extend
+0EB2 0EB3 SpacingMark
+0EB4 0EB9 Extend
+0EBB 0EBC Extend
+0EC0 0EC4 Prepend
+0EC8 0ECD Extend
+0F18 0F19 Extend
+0F35 Extend
+0F37 Extend
+0F39 Extend
+0F3E 0F3F SpacingMark
+0F71 0F7E Extend
+0F7F SpacingMark
+0F80 0F84 Extend
+0F86 0F87 Extend
+0F8D 0F97 Extend
+0F99 0FBC Extend
+0FC6 Extend
+102B 102C SpacingMark
+102D 1030 Extend
+1031 SpacingMark
+1032 1037 Extend
+1038 SpacingMark
+1039 103A Extend
+103B 103C SpacingMark
+103D 103E Extend
+1056 1057 SpacingMark
+1058 1059 Extend
+105E 1060 Extend
+1062 1064 SpacingMark
+1067 106D SpacingMark
+1071 1074 Extend
+1082 Extend
+1083 1084 SpacingMark
+1085 1086 Extend
+1087 108C SpacingMark
+108D Extend
+108F SpacingMark
+109A 109C SpacingMark
+109D Extend
+1100 115F L
+1160 11A7 V
+11A8 11FF T
+135D 135F Extend
+1712 1714 Extend
+1732 1734 Extend
+1752 1753 Extend
+1772 1773 Extend
+17B4 17B5 Control
+17B6 SpacingMark
+17B7 17BD Extend
+17BE 17C5 SpacingMark
+17C6 Extend
+17C7 17C8 SpacingMark
+17C9 17D3 Extend
+17DD Extend
+180B 180D Extend
+18A9 Extend
+1920 1922 Extend
+1923 1926 SpacingMark
+1927 1928 Extend
+1929 192B SpacingMark
+1930 1931 SpacingMark
+1932 Extend
+1933 1938 SpacingMark
+1939 193B Extend
+19B0 19C0 SpacingMark
+19C8 19C9 SpacingMark
+1A17 1A18 Extend
+1A19 1A1B SpacingMark
+1A55 SpacingMark
+1A56 Extend
+1A57 SpacingMark
+1A58 1A5E Extend
+1A60 Extend
+1A61 SpacingMark
+1A62 Extend
+1A63 1A64 SpacingMark
+1A65 1A6C Extend
+1A6D 1A72 SpacingMark
+1A73 1A7C Extend
+1A7F Extend
+1B00 1B03 Extend
+1B04 SpacingMark
+1B34 Extend
+1B35 SpacingMark
+1B36 1B3A Extend
+1B3B SpacingMark
+1B3C Extend
+1B3D 1B41 SpacingMark
+1B42 Extend
+1B43 1B44 SpacingMark
+1B6B 1B73 Extend
+1B80 1B81 Extend
+1B82 SpacingMark
+1BA1 SpacingMark
+1BA2 1BA5 Extend
+1BA6 1BA7 SpacingMark
+1BA8 1BA9 Extend
+1BAA SpacingMark
+1BE6 Extend
+1BE7 SpacingMark
+1BE8 1BE9 Extend
+1BEA 1BEC SpacingMark
+1BED Extend
+1BEE SpacingMark
+1BEF 1BF1 Extend
+1BF2 1BF3 SpacingMark
+1C24 1C2B SpacingMark
+1C2C 1C33 Extend
+1C34 1C35 SpacingMark
+1C36 1C37 Extend
+1CD0 1CD2 Extend
+1CD4 1CE0 Extend
+1CE1 SpacingMark
+1CE2 1CE8 Extend
+1CED Extend
+1CF2 SpacingMark
+1DC0 1DE6 Extend
+1DFC 1DFF Extend
+200B Control
+200C 200D Extend
+200E 200F Control
+2028 202E Control
+2060 2064 Control
+206A 206F Control
+20D0 20F0 Extend
+2CEF 2CF1 Extend
+2D7F Extend
+2DE0 2DFF Extend
+302A 302F Extend
+3099 309A Extend
+A66F A672 Extend
+A67C A67D Extend
+A6F0 A6F1 Extend
+A802 Extend
+A806 Extend
+A80B Extend
+A823 A824 SpacingMark
+A825 A826 Extend
+A827 SpacingMark
+A880 A881 SpacingMark
+A8B4 A8C3 SpacingMark
+A8C4 Extend
+A8E0 A8F1 Extend
+A926 A92D Extend
+A947 A951 Extend
+A952 A953 SpacingMark
+A960 A97C L
+A980 A982 Extend
+A983 SpacingMark
+A9B3 Extend
+A9B4 A9B5 SpacingMark
+A9B6 A9B9 Extend
+A9BA A9BB SpacingMark
+A9BC Extend
+A9BD A9C0 SpacingMark
+AA29 AA2E Extend
+AA2F AA30 SpacingMark
+AA31 AA32 Extend
+AA33 AA34 SpacingMark
+AA35 AA36 Extend
+AA43 Extend
+AA4C Extend
+AA4D SpacingMark
+AA7B SpacingMark
+AAB0 Extend
+AAB2 AAB4 Extend
+AAB5 AAB6 Prepend
+AAB7 AAB8 Extend
+AAB9 Prepend
+AABB AABC Prepend
+AABE AABF Extend
+AAC1 Extend
+ABE3 ABE4 SpacingMark
+ABE5 Extend
+ABE6 ABE7 SpacingMark
+ABE8 Extend
+ABE9 ABEA SpacingMark
+ABEC SpacingMark
+ABED Extend
+AC00 LV
+AC01 AC1B LVT
+AC1C LV
+AC1D AC37 LVT
+AC38 LV
+AC39 AC53 LVT
+AC54 LV
+AC55 AC6F LVT
+AC70 LV
+AC71 AC8B LVT
+AC8C LV
+AC8D ACA7 LVT
+ACA8 LV
+ACA9 ACC3 LVT
+ACC4 LV
+ACC5 ACDF LVT
+ACE0 LV
+ACE1 ACFB LVT
+ACFC LV
+ACFD AD17 LVT
+AD18 LV
+AD19 AD33 LVT
+AD34 LV
+AD35 AD4F LVT
+AD50 LV
+AD51 AD6B LVT
+AD6C LV
+AD6D AD87 LVT
+AD88 LV
+AD89 ADA3 LVT
+ADA4 LV
+ADA5 ADBF LVT
+ADC0 LV
+ADC1 ADDB LVT
+ADDC LV
+ADDD ADF7 LVT
+ADF8 LV
+ADF9 AE13 LVT
+AE14 LV
+AE15 AE2F LVT
+AE30 LV
+AE31 AE4B LVT
+AE4C LV
+AE4D AE67 LVT
+AE68 LV
+AE69 AE83 LVT
+AE84 LV
+AE85 AE9F LVT
+AEA0 LV
+AEA1 AEBB LVT
+AEBC LV
+AEBD AED7 LVT
+AED8 LV
+AED9 AEF3 LVT
+AEF4 LV
+AEF5 AF0F LVT
+AF10 LV
+AF11 AF2B LVT
+AF2C LV
+AF2D AF47 LVT
+AF48 LV
+AF49 AF63 LVT
+AF64 LV
+AF65 AF7F LVT
+AF80 LV
+AF81 AF9B LVT
+AF9C LV
+AF9D AFB7 LVT
+AFB8 LV
+AFB9 AFD3 LVT
+AFD4 LV
+AFD5 AFEF LVT
+AFF0 LV
+AFF1 B00B LVT
+B00C LV
+B00D B027 LVT
+B028 LV
+B029 B043 LVT
+B044 LV
+B045 B05F LVT
+B060 LV
+B061 B07B LVT
+B07C LV
+B07D B097 LVT
+B098 LV
+B099 B0B3 LVT
+B0B4 LV
+B0B5 B0CF LVT
+B0D0 LV
+B0D1 B0EB LVT
+B0EC LV
+B0ED B107 LVT
+B108 LV
+B109 B123 LVT
+B124 LV
+B125 B13F LVT
+B140 LV
+B141 B15B LVT
+B15C LV
+B15D B177 LVT
+B178 LV
+B179 B193 LVT
+B194 LV
+B195 B1AF LVT
+B1B0 LV
+B1B1 B1CB LVT
+B1CC LV
+B1CD B1E7 LVT
+B1E8 LV
+B1E9 B203 LVT
+B204 LV
+B205 B21F LVT
+B220 LV
+B221 B23B LVT
+B23C LV
+B23D B257 LVT
+B258 LV
+B259 B273 LVT
+B274 LV
+B275 B28F LVT
+B290 LV
+B291 B2AB LVT
+B2AC LV
+B2AD B2C7 LVT
+B2C8 LV
+B2C9 B2E3 LVT
+B2E4 LV
+B2E5 B2FF LVT
+B300 LV
+B301 B31B LVT
+B31C LV
+B31D B337 LVT
+B338 LV
+B339 B353 LVT
+B354 LV
+B355 B36F LVT
+B370 LV
+B371 B38B LVT
+B38C LV
+B38D B3A7 LVT
+B3A8 LV
+B3A9 B3C3 LVT
+B3C4 LV
+B3C5 B3DF LVT
+B3E0 LV
+B3E1 B3FB LVT
+B3FC LV
+B3FD B417 LVT
+B418 LV
+B419 B433 LVT
+B434 LV
+B435 B44F LVT
+B450 LV
+B451 B46B LVT
+B46C LV
+B46D B487 LVT
+B488 LV
+B489 B4A3 LVT
+B4A4 LV
+B4A5 B4BF LVT
+B4C0 LV
+B4C1 B4DB LVT
+B4DC LV
+B4DD B4F7 LVT
+B4F8 LV
+B4F9 B513 LVT
+B514 LV
+B515 B52F LVT
+B530 LV
+B531 B54B LVT
+B54C LV
+B54D B567 LVT
+B568 LV
+B569 B583 LVT
+B584 LV
+B585 B59F LVT
+B5A0 LV
+B5A1 B5BB LVT
+B5BC LV
+B5BD B5D7 LVT
+B5D8 LV
+B5D9 B5F3 LVT
+B5F4 LV
+B5F5 B60F LVT
+B610 LV
+B611 B62B LVT
+B62C LV
+B62D B647 LVT
+B648 LV
+B649 B663 LVT
+B664 LV
+B665 B67F LVT
+B680 LV
+B681 B69B LVT
+B69C LV
+B69D B6B7 LVT
+B6B8 LV
+B6B9 B6D3 LVT
+B6D4 LV
+B6D5 B6EF LVT
+B6F0 LV
+B6F1 B70B LVT
+B70C LV
+B70D B727 LVT
+B728 LV
+B729 B743 LVT
+B744 LV
+B745 B75F LVT
+B760 LV
+B761 B77B LVT
+B77C LV
+B77D B797 LVT
+B798 LV
+B799 B7B3 LVT
+B7B4 LV
+B7B5 B7CF LVT
+B7D0 LV
+B7D1 B7EB LVT
+B7EC LV
+B7ED B807 LVT
+B808 LV
+B809 B823 LVT
+B824 LV
+B825 B83F LVT
+B840 LV
+B841 B85B LVT
+B85C LV
+B85D B877 LVT
+B878 LV
+B879 B893 LVT
+B894 LV
+B895 B8AF LVT
+B8B0 LV
+B8B1 B8CB LVT
+B8CC LV
+B8CD B8E7 LVT
+B8E8 LV
+B8E9 B903 LVT
+B904 LV
+B905 B91F LVT
+B920 LV
+B921 B93B LVT
+B93C LV
+B93D B957 LVT
+B958 LV
+B959 B973 LVT
+B974 LV
+B975 B98F LVT
+B990 LV
+B991 B9AB LVT
+B9AC LV
+B9AD B9C7 LVT
+B9C8 LV
+B9C9 B9E3 LVT
+B9E4 LV
+B9E5 B9FF LVT
+BA00 LV
+BA01 BA1B LVT
+BA1C LV
+BA1D BA37 LVT
+BA38 LV
+BA39 BA53 LVT
+BA54 LV
+BA55 BA6F LVT
+BA70 LV
+BA71 BA8B LVT
+BA8C LV
+BA8D BAA7 LVT
+BAA8 LV
+BAA9 BAC3 LVT
+BAC4 LV
+BAC5 BADF LVT
+BAE0 LV
+BAE1 BAFB LVT
+BAFC LV
+BAFD BB17 LVT
+BB18 LV
+BB19 BB33 LVT
+BB34 LV
+BB35 BB4F LVT
+BB50 LV
+BB51 BB6B LVT
+BB6C LV
+BB6D BB87 LVT
+BB88 LV
+BB89 BBA3 LVT
+BBA4 LV
+BBA5 BBBF LVT
+BBC0 LV
+BBC1 BBDB LVT
+BBDC LV
+BBDD BBF7 LVT
+BBF8 LV
+BBF9 BC13 LVT
+BC14 LV
+BC15 BC2F LVT
+BC30 LV
+BC31 BC4B LVT
+BC4C LV
+BC4D BC67 LVT
+BC68 LV
+BC69 BC83 LVT
+BC84 LV
+BC85 BC9F LVT
+BCA0 LV
+BCA1 BCBB LVT
+BCBC LV
+BCBD BCD7 LVT
+BCD8 LV
+BCD9 BCF3 LVT
+BCF4 LV
+BCF5 BD0F LVT
+BD10 LV
+BD11 BD2B LVT
+BD2C LV
+BD2D BD47 LVT
+BD48 LV
+BD49 BD63 LVT
+BD64 LV
+BD65 BD7F LVT
+BD80 LV
+BD81 BD9B LVT
+BD9C LV
+BD9D BDB7 LVT
+BDB8 LV
+BDB9 BDD3 LVT
+BDD4 LV
+BDD5 BDEF LVT
+BDF0 LV
+BDF1 BE0B LVT
+BE0C LV
+BE0D BE27 LVT
+BE28 LV
+BE29 BE43 LVT
+BE44 LV
+BE45 BE5F LVT
+BE60 LV
+BE61 BE7B LVT
+BE7C LV
+BE7D BE97 LVT
+BE98 LV
+BE99 BEB3 LVT
+BEB4 LV
+BEB5 BECF LVT
+BED0 LV
+BED1 BEEB LVT
+BEEC LV
+BEED BF07 LVT
+BF08 LV
+BF09 BF23 LVT
+BF24 LV
+BF25 BF3F LVT
+BF40 LV
+BF41 BF5B LVT
+BF5C LV
+BF5D BF77 LVT
+BF78 LV
+BF79 BF93 LVT
+BF94 LV
+BF95 BFAF LVT
+BFB0 LV
+BFB1 BFCB LVT
+BFCC LV
+BFCD BFE7 LVT
+BFE8 LV
+BFE9 C003 LVT
+C004 LV
+C005 C01F LVT
+C020 LV
+C021 C03B LVT
+C03C LV
+C03D C057 LVT
+C058 LV
+C059 C073 LVT
+C074 LV
+C075 C08F LVT
+C090 LV
+C091 C0AB LVT
+C0AC LV
+C0AD C0C7 LVT
+C0C8 LV
+C0C9 C0E3 LVT
+C0E4 LV
+C0E5 C0FF LVT
+C100 LV
+C101 C11B LVT
+C11C LV
+C11D C137 LVT
+C138 LV
+C139 C153 LVT
+C154 LV
+C155 C16F LVT
+C170 LV
+C171 C18B LVT
+C18C LV
+C18D C1A7 LVT
+C1A8 LV
+C1A9 C1C3 LVT
+C1C4 LV
+C1C5 C1DF LVT
+C1E0 LV
+C1E1 C1FB LVT
+C1FC LV
+C1FD C217 LVT
+C218 LV
+C219 C233 LVT
+C234 LV
+C235 C24F LVT
+C250 LV
+C251 C26B LVT
+C26C LV
+C26D C287 LVT
+C288 LV
+C289 C2A3 LVT
+C2A4 LV
+C2A5 C2BF LVT
+C2C0 LV
+C2C1 C2DB LVT
+C2DC LV
+C2DD C2F7 LVT
+C2F8 LV
+C2F9 C313 LVT
+C314 LV
+C315 C32F LVT
+C330 LV
+C331 C34B LVT
+C34C LV
+C34D C367 LVT
+C368 LV
+C369 C383 LVT
+C384 LV
+C385 C39F LVT
+C3A0 LV
+C3A1 C3BB LVT
+C3BC LV
+C3BD C3D7 LVT
+C3D8 LV
+C3D9 C3F3 LVT
+C3F4 LV
+C3F5 C40F LVT
+C410 LV
+C411 C42B LVT
+C42C LV
+C42D C447 LVT
+C448 LV
+C449 C463 LVT
+C464 LV
+C465 C47F LVT
+C480 LV
+C481 C49B LVT
+C49C LV
+C49D C4B7 LVT
+C4B8 LV
+C4B9 C4D3 LVT
+C4D4 LV
+C4D5 C4EF LVT
+C4F0 LV
+C4F1 C50B LVT
+C50C LV
+C50D C527 LVT
+C528 LV
+C529 C543 LVT
+C544 LV
+C545 C55F LVT
+C560 LV
+C561 C57B LVT
+C57C LV
+C57D C597 LVT
+C598 LV
+C599 C5B3 LVT
+C5B4 LV
+C5B5 C5CF LVT
+C5D0 LV
+C5D1 C5EB LVT
+C5EC LV
+C5ED C607 LVT
+C608 LV
+C609 C623 LVT
+C624 LV
+C625 C63F LVT
+C640 LV
+C641 C65B LVT
+C65C LV
+C65D C677 LVT
+C678 LV
+C679 C693 LVT
+C694 LV
+C695 C6AF LVT
+C6B0 LV
+C6B1 C6CB LVT
+C6CC LV
+C6CD C6E7 LVT
+C6E8 LV
+C6E9 C703 LVT
+C704 LV
+C705 C71F LVT
+C720 LV
+C721 C73B LVT
+C73C LV
+C73D C757 LVT
+C758 LV
+C759 C773 LVT
+C774 LV
+C775 C78F LVT
+C790 LV
+C791 C7AB LVT
+C7AC LV
+C7AD C7C7 LVT
+C7C8 LV
+C7C9 C7E3 LVT
+C7E4 LV
+C7E5 C7FF LVT
+C800 LV
+C801 C81B LVT
+C81C LV
+C81D C837 LVT
+C838 LV
+C839 C853 LVT
+C854 LV
+C855 C86F LVT
+C870 LV
+C871 C88B LVT
+C88C LV
+C88D C8A7 LVT
+C8A8 LV
+C8A9 C8C3 LVT
+C8C4 LV
+C8C5 C8DF LVT
+C8E0 LV
+C8E1 C8FB LVT
+C8FC LV
+C8FD C917 LVT
+C918 LV
+C919 C933 LVT
+C934 LV
+C935 C94F LVT
+C950 LV
+C951 C96B LVT
+C96C LV
+C96D C987 LVT
+C988 LV
+C989 C9A3 LVT
+C9A4 LV
+C9A5 C9BF LVT
+C9C0 LV
+C9C1 C9DB LVT
+C9DC LV
+C9DD C9F7 LVT
+C9F8 LV
+C9F9 CA13 LVT
+CA14 LV
+CA15 CA2F LVT
+CA30 LV
+CA31 CA4B LVT
+CA4C LV
+CA4D CA67 LVT
+CA68 LV
+CA69 CA83 LVT
+CA84 LV
+CA85 CA9F LVT
+CAA0 LV
+CAA1 CABB LVT
+CABC LV
+CABD CAD7 LVT
+CAD8 LV
+CAD9 CAF3 LVT
+CAF4 LV
+CAF5 CB0F LVT
+CB10 LV
+CB11 CB2B LVT
+CB2C LV
+CB2D CB47 LVT
+CB48 LV
+CB49 CB63 LVT
+CB64 LV
+CB65 CB7F LVT
+CB80 LV
+CB81 CB9B LVT
+CB9C LV
+CB9D CBB7 LVT
+CBB8 LV
+CBB9 CBD3 LVT
+CBD4 LV
+CBD5 CBEF LVT
+CBF0 LV
+CBF1 CC0B LVT
+CC0C LV
+CC0D CC27 LVT
+CC28 LV
+CC29 CC43 LVT
+CC44 LV
+CC45 CC5F LVT
+CC60 LV
+CC61 CC7B LVT
+CC7C LV
+CC7D CC97 LVT
+CC98 LV
+CC99 CCB3 LVT
+CCB4 LV
+CCB5 CCCF LVT
+CCD0 LV
+CCD1 CCEB LVT
+CCEC LV
+CCED CD07 LVT
+CD08 LV
+CD09 CD23 LVT
+CD24 LV
+CD25 CD3F LVT
+CD40 LV
+CD41 CD5B LVT
+CD5C LV
+CD5D CD77 LVT
+CD78 LV
+CD79 CD93 LVT
+CD94 LV
+CD95 CDAF LVT
+CDB0 LV
+CDB1 CDCB LVT
+CDCC LV
+CDCD CDE7 LVT
+CDE8 LV
+CDE9 CE03 LVT
+CE04 LV
+CE05 CE1F LVT
+CE20 LV
+CE21 CE3B LVT
+CE3C LV
+CE3D CE57 LVT
+CE58 LV
+CE59 CE73 LVT
+CE74 LV
+CE75 CE8F LVT
+CE90 LV
+CE91 CEAB LVT
+CEAC LV
+CEAD CEC7 LVT
+CEC8 LV
+CEC9 CEE3 LVT
+CEE4 LV
+CEE5 CEFF LVT
+CF00 LV
+CF01 CF1B LVT
+CF1C LV
+CF1D CF37 LVT
+CF38 LV
+CF39 CF53 LVT
+CF54 LV
+CF55 CF6F LVT
+CF70 LV
+CF71 CF8B LVT
+CF8C LV
+CF8D CFA7 LVT
+CFA8 LV
+CFA9 CFC3 LVT
+CFC4 LV
+CFC5 CFDF LVT
+CFE0 LV
+CFE1 CFFB LVT
+CFFC LV
+CFFD D017 LVT
+D018 LV
+D019 D033 LVT
+D034 LV
+D035 D04F LVT
+D050 LV
+D051 D06B LVT
+D06C LV
+D06D D087 LVT
+D088 LV
+D089 D0A3 LVT
+D0A4 LV
+D0A5 D0BF LVT
+D0C0 LV
+D0C1 D0DB LVT
+D0DC LV
+D0DD D0F7 LVT
+D0F8 LV
+D0F9 D113 LVT
+D114 LV
+D115 D12F LVT
+D130 LV
+D131 D14B LVT
+D14C LV
+D14D D167 LVT
+D168 LV
+D169 D183 LVT
+D184 LV
+D185 D19F LVT
+D1A0 LV
+D1A1 D1BB LVT
+D1BC LV
+D1BD D1D7 LVT
+D1D8 LV
+D1D9 D1F3 LVT
+D1F4 LV
+D1F5 D20F LVT
+D210 LV
+D211 D22B LVT
+D22C LV
+D22D D247 LVT
+D248 LV
+D249 D263 LVT
+D264 LV
+D265 D27F LVT
+D280 LV
+D281 D29B LVT
+D29C LV
+D29D D2B7 LVT
+D2B8 LV
+D2B9 D2D3 LVT
+D2D4 LV
+D2D5 D2EF LVT
+D2F0 LV
+D2F1 D30B LVT
+D30C LV
+D30D D327 LVT
+D328 LV
+D329 D343 LVT
+D344 LV
+D345 D35F LVT
+D360 LV
+D361 D37B LVT
+D37C LV
+D37D D397 LVT
+D398 LV
+D399 D3B3 LVT
+D3B4 LV
+D3B5 D3CF LVT
+D3D0 LV
+D3D1 D3EB LVT
+D3EC LV
+D3ED D407 LVT
+D408 LV
+D409 D423 LVT
+D424 LV
+D425 D43F LVT
+D440 LV
+D441 D45B LVT
+D45C LV
+D45D D477 LVT
+D478 LV
+D479 D493 LVT
+D494 LV
+D495 D4AF LVT
+D4B0 LV
+D4B1 D4CB LVT
+D4CC LV
+D4CD D4E7 LVT
+D4E8 LV
+D4E9 D503 LVT
+D504 LV
+D505 D51F LVT
+D520 LV
+D521 D53B LVT
+D53C LV
+D53D D557 LVT
+D558 LV
+D559 D573 LVT
+D574 LV
+D575 D58F LVT
+D590 LV
+D591 D5AB LVT
+D5AC LV
+D5AD D5C7 LVT
+D5C8 LV
+D5C9 D5E3 LVT
+D5E4 LV
+D5E5 D5FF LVT
+D600 LV
+D601 D61B LVT
+D61C LV
+D61D D637 LVT
+D638 LV
+D639 D653 LVT
+D654 LV
+D655 D66F LVT
+D670 LV
+D671 D68B LVT
+D68C LV
+D68D D6A7 LVT
+D6A8 LV
+D6A9 D6C3 LVT
+D6C4 LV
+D6C5 D6DF LVT
+D6E0 LV
+D6E1 D6FB LVT
+D6FC LV
+D6FD D717 LVT
+D718 LV
+D719 D733 LVT
+D734 LV
+D735 D74F LVT
+D750 LV
+D751 D76B LVT
+D76C LV
+D76D D787 LVT
+D788 LV
+D789 D7A3 LVT
+D7B0 D7C6 V
+D7CB D7FB T
+FB1E Extend
+FE00 FE0F Extend
+FE20 FE26 Extend
+FEFF Control
+FF9E FF9F Extend
+FFF9 FFFB Control
+101FD Extend
+10A01 10A03 Extend
+10A05 10A06 Extend
+10A0C 10A0F Extend
+10A38 10A3A Extend
+10A3F Extend
+11000 SpacingMark
+11001 Extend
+11002 SpacingMark
+11038 11046 Extend
+11080 11081 Extend
+11082 SpacingMark
+110B0 110B2 SpacingMark
+110B3 110B6 Extend
+110B7 110B8 SpacingMark
+110B9 110BA Extend
+110BD Control
+1D165 Extend
+1D166 SpacingMark
+1D167 1D169 Extend
+1D16D SpacingMark
+1D16E 1D172 Extend
+1D173 1D17A Control
+1D17B 1D182 Extend
+1D185 1D18B Extend
+1D1AA 1D1AD Extend
+1D242 1D244 Extend
+E0001 Control
+E0020 E007F Control
+E0100 E01EF Extend
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
new file mode 100644
index 00000000000..c4561955ca8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
@@ -0,0 +1,2639 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToGc'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToGc'}{'missing'} = 'Cn';
+
+return <<'END';
+0000 001F Cc
+0020 Zs
+0021 0023 Po
+0024 Sc
+0025 0027 Po
+0028 Ps
+0029 Pe
+002A Po
+002B Sm
+002C Po
+002D Pd
+002E 002F Po
+0030 0039 Nd
+003A 003B Po
+003C 003E Sm
+003F 0040 Po
+0041 005A Lu
+005B Ps
+005C Po
+005D Pe
+005E Sk
+005F Pc
+0060 Sk
+0061 007A Ll
+007B Ps
+007C Sm
+007D Pe
+007E Sm
+007F 009F Cc
+00A0 Zs
+00A1 Po
+00A2 00A5 Sc
+00A6 00A7 So
+00A8 Sk
+00A9 So
+00AA Ll
+00AB Pi
+00AC Sm
+00AD Cf
+00AE So
+00AF Sk
+00B0 So
+00B1 Sm
+00B2 00B3 No
+00B4 Sk
+00B5 Ll
+00B6 So
+00B7 Po
+00B8 Sk
+00B9 No
+00BA Ll
+00BB Pf
+00BC 00BE No
+00BF Po
+00C0 00D6 Lu
+00D7 Sm
+00D8 00DE Lu
+00DF 00F6 Ll
+00F7 Sm
+00F8 00FF Ll
+0100 Lu
+0101 Ll
+0102 Lu
+0103 Ll
+0104 Lu
+0105 Ll
+0106 Lu
+0107 Ll
+0108 Lu
+0109 Ll
+010A Lu
+010B Ll
+010C Lu
+010D Ll
+010E Lu
+010F Ll
+0110 Lu
+0111 Ll
+0112 Lu
+0113 Ll
+0114 Lu
+0115 Ll
+0116 Lu
+0117 Ll
+0118 Lu
+0119 Ll
+011A Lu
+011B Ll
+011C Lu
+011D Ll
+011E Lu
+011F Ll
+0120 Lu
+0121 Ll
+0122 Lu
+0123 Ll
+0124 Lu
+0125 Ll
+0126 Lu
+0127 Ll
+0128 Lu
+0129 Ll
+012A Lu
+012B Ll
+012C Lu
+012D Ll
+012E Lu
+012F Ll
+0130 Lu
+0131 Ll
+0132 Lu
+0133 Ll
+0134 Lu
+0135 Ll
+0136 Lu
+0137 0138 Ll
+0139 Lu
+013A Ll
+013B Lu
+013C Ll
+013D Lu
+013E Ll
+013F Lu
+0140 Ll
+0141 Lu
+0142 Ll
+0143 Lu
+0144 Ll
+0145 Lu
+0146 Ll
+0147 Lu
+0148 0149 Ll
+014A Lu
+014B Ll
+014C Lu
+014D Ll
+014E Lu
+014F Ll
+0150 Lu
+0151 Ll
+0152 Lu
+0153 Ll
+0154 Lu
+0155 Ll
+0156 Lu
+0157 Ll
+0158 Lu
+0159 Ll
+015A Lu
+015B Ll
+015C Lu
+015D Ll
+015E Lu
+015F Ll
+0160 Lu
+0161 Ll
+0162 Lu
+0163 Ll
+0164 Lu
+0165 Ll
+0166 Lu
+0167 Ll
+0168 Lu
+0169 Ll
+016A Lu
+016B Ll
+016C Lu
+016D Ll
+016E Lu
+016F Ll
+0170 Lu
+0171 Ll
+0172 Lu
+0173 Ll
+0174 Lu
+0175 Ll
+0176 Lu
+0177 Ll
+0178 0179 Lu
+017A Ll
+017B Lu
+017C Ll
+017D Lu
+017E 0180 Ll
+0181 0182 Lu
+0183 Ll
+0184 Lu
+0185 Ll
+0186 0187 Lu
+0188 Ll
+0189 018B Lu
+018C 018D Ll
+018E 0191 Lu
+0192 Ll
+0193 0194 Lu
+0195 Ll
+0196 0198 Lu
+0199 019B Ll
+019C 019D Lu
+019E Ll
+019F 01A0 Lu
+01A1 Ll
+01A2 Lu
+01A3 Ll
+01A4 Lu
+01A5 Ll
+01A6 01A7 Lu
+01A8 Ll
+01A9 Lu
+01AA 01AB Ll
+01AC Lu
+01AD Ll
+01AE 01AF Lu
+01B0 Ll
+01B1 01B3 Lu
+01B4 Ll
+01B5 Lu
+01B6 Ll
+01B7 01B8 Lu
+01B9 01BA Ll
+01BB Lo
+01BC Lu
+01BD 01BF Ll
+01C0 01C3 Lo
+01C4 Lu
+01C5 Lt
+01C6 Ll
+01C7 Lu
+01C8 Lt
+01C9 Ll
+01CA Lu
+01CB Lt
+01CC Ll
+01CD Lu
+01CE Ll
+01CF Lu
+01D0 Ll
+01D1 Lu
+01D2 Ll
+01D3 Lu
+01D4 Ll
+01D5 Lu
+01D6 Ll
+01D7 Lu
+01D8 Ll
+01D9 Lu
+01DA Ll
+01DB Lu
+01DC 01DD Ll
+01DE Lu
+01DF Ll
+01E0 Lu
+01E1 Ll
+01E2 Lu
+01E3 Ll
+01E4 Lu
+01E5 Ll
+01E6 Lu
+01E7 Ll
+01E8 Lu
+01E9 Ll
+01EA Lu
+01EB Ll
+01EC Lu
+01ED Ll
+01EE Lu
+01EF 01F0 Ll
+01F1 Lu
+01F2 Lt
+01F3 Ll
+01F4 Lu
+01F5 Ll
+01F6 01F8 Lu
+01F9 Ll
+01FA Lu
+01FB Ll
+01FC Lu
+01FD Ll
+01FE Lu
+01FF Ll
+0200 Lu
+0201 Ll
+0202 Lu
+0203 Ll
+0204 Lu
+0205 Ll
+0206 Lu
+0207 Ll
+0208 Lu
+0209 Ll
+020A Lu
+020B Ll
+020C Lu
+020D Ll
+020E Lu
+020F Ll
+0210 Lu
+0211 Ll
+0212 Lu
+0213 Ll
+0214 Lu
+0215 Ll
+0216 Lu
+0217 Ll
+0218 Lu
+0219 Ll
+021A Lu
+021B Ll
+021C Lu
+021D Ll
+021E Lu
+021F Ll
+0220 Lu
+0221 Ll
+0222 Lu
+0223 Ll
+0224 Lu
+0225 Ll
+0226 Lu
+0227 Ll
+0228 Lu
+0229 Ll
+022A Lu
+022B Ll
+022C Lu
+022D Ll
+022E Lu
+022F Ll
+0230 Lu
+0231 Ll
+0232 Lu
+0233 0239 Ll
+023A 023B Lu
+023C Ll
+023D 023E Lu
+023F 0240 Ll
+0241 Lu
+0242 Ll
+0243 0246 Lu
+0247 Ll
+0248 Lu
+0249 Ll
+024A Lu
+024B Ll
+024C Lu
+024D Ll
+024E Lu
+024F 0293 Ll
+0294 Lo
+0295 02AF Ll
+02B0 02C1 Lm
+02C2 02C5 Sk
+02C6 02D1 Lm
+02D2 02DF Sk
+02E0 02E4 Lm
+02E5 02EB Sk
+02EC Lm
+02ED Sk
+02EE Lm
+02EF 02FF Sk
+0300 036F Mn
+0370 Lu
+0371 Ll
+0372 Lu
+0373 Ll
+0374 Lm
+0375 Sk
+0376 Lu
+0377 Ll
+037A Lm
+037B 037D Ll
+037E Po
+0384 0385 Sk
+0386 Lu
+0387 Po
+0388 038A Lu
+038C Lu
+038E 038F Lu
+0390 Ll
+0391 03A1 Lu
+03A3 03AB Lu
+03AC 03CE Ll
+03CF Lu
+03D0 03D1 Ll
+03D2 03D4 Lu
+03D5 03D7 Ll
+03D8 Lu
+03D9 Ll
+03DA Lu
+03DB Ll
+03DC Lu
+03DD Ll
+03DE Lu
+03DF Ll
+03E0 Lu
+03E1 Ll
+03E2 Lu
+03E3 Ll
+03E4 Lu
+03E5 Ll
+03E6 Lu
+03E7 Ll
+03E8 Lu
+03E9 Ll
+03EA Lu
+03EB Ll
+03EC Lu
+03ED Ll
+03EE Lu
+03EF 03F3 Ll
+03F4 Lu
+03F5 Ll
+03F6 Sm
+03F7 Lu
+03F8 Ll
+03F9 03FA Lu
+03FB 03FC Ll
+03FD 042F Lu
+0430 045F Ll
+0460 Lu
+0461 Ll
+0462 Lu
+0463 Ll
+0464 Lu
+0465 Ll
+0466 Lu
+0467 Ll
+0468 Lu
+0469 Ll
+046A Lu
+046B Ll
+046C Lu
+046D Ll
+046E Lu
+046F Ll
+0470 Lu
+0471 Ll
+0472 Lu
+0473 Ll
+0474 Lu
+0475 Ll
+0476 Lu
+0477 Ll
+0478 Lu
+0479 Ll
+047A Lu
+047B Ll
+047C Lu
+047D Ll
+047E Lu
+047F Ll
+0480 Lu
+0481 Ll
+0482 So
+0483 0487 Mn
+0488 0489 Me
+048A Lu
+048B Ll
+048C Lu
+048D Ll
+048E Lu
+048F Ll
+0490 Lu
+0491 Ll
+0492 Lu
+0493 Ll
+0494 Lu
+0495 Ll
+0496 Lu
+0497 Ll
+0498 Lu
+0499 Ll
+049A Lu
+049B Ll
+049C Lu
+049D Ll
+049E Lu
+049F Ll
+04A0 Lu
+04A1 Ll
+04A2 Lu
+04A3 Ll
+04A4 Lu
+04A5 Ll
+04A6 Lu
+04A7 Ll
+04A8 Lu
+04A9 Ll
+04AA Lu
+04AB Ll
+04AC Lu
+04AD Ll
+04AE Lu
+04AF Ll
+04B0 Lu
+04B1 Ll
+04B2 Lu
+04B3 Ll
+04B4 Lu
+04B5 Ll
+04B6 Lu
+04B7 Ll
+04B8 Lu
+04B9 Ll
+04BA Lu
+04BB Ll
+04BC Lu
+04BD Ll
+04BE Lu
+04BF Ll
+04C0 04C1 Lu
+04C2 Ll
+04C3 Lu
+04C4 Ll
+04C5 Lu
+04C6 Ll
+04C7 Lu
+04C8 Ll
+04C9 Lu
+04CA Ll
+04CB Lu
+04CC Ll
+04CD Lu
+04CE 04CF Ll
+04D0 Lu
+04D1 Ll
+04D2 Lu
+04D3 Ll
+04D4 Lu
+04D5 Ll
+04D6 Lu
+04D7 Ll
+04D8 Lu
+04D9 Ll
+04DA Lu
+04DB Ll
+04DC Lu
+04DD Ll
+04DE Lu
+04DF Ll
+04E0 Lu
+04E1 Ll
+04E2 Lu
+04E3 Ll
+04E4 Lu
+04E5 Ll
+04E6 Lu
+04E7 Ll
+04E8 Lu
+04E9 Ll
+04EA Lu
+04EB Ll
+04EC Lu
+04ED Ll
+04EE Lu
+04EF Ll
+04F0 Lu
+04F1 Ll
+04F2 Lu
+04F3 Ll
+04F4 Lu
+04F5 Ll
+04F6 Lu
+04F7 Ll
+04F8 Lu
+04F9 Ll
+04FA Lu
+04FB Ll
+04FC Lu
+04FD Ll
+04FE Lu
+04FF Ll
+0500 Lu
+0501 Ll
+0502 Lu
+0503 Ll
+0504 Lu
+0505 Ll
+0506 Lu
+0507 Ll
+0508 Lu
+0509 Ll
+050A Lu
+050B Ll
+050C Lu
+050D Ll
+050E Lu
+050F Ll
+0510 Lu
+0511 Ll
+0512 Lu
+0513 Ll
+0514 Lu
+0515 Ll
+0516 Lu
+0517 Ll
+0518 Lu
+0519 Ll
+051A Lu
+051B Ll
+051C Lu
+051D Ll
+051E Lu
+051F Ll
+0520 Lu
+0521 Ll
+0522 Lu
+0523 Ll
+0524 Lu
+0525 Ll
+0526 Lu
+0527 Ll
+0531 0556 Lu
+0559 Lm
+055A 055F Po
+0561 0587 Ll
+0589 Po
+058A Pd
+0591 05BD Mn
+05BE Pd
+05BF Mn
+05C0 Po
+05C1 05C2 Mn
+05C3 Po
+05C4 05C5 Mn
+05C6 Po
+05C7 Mn
+05D0 05EA Lo
+05F0 05F2 Lo
+05F3 05F4 Po
+0600 0603 Cf
+0606 0608 Sm
+0609 060A Po
+060B Sc
+060C 060D Po
+060E 060F So
+0610 061A Mn
+061B Po
+061E 061F Po
+0620 063F Lo
+0640 Lm
+0641 064A Lo
+064B 065F Mn
+0660 0669 Nd
+066A 066D Po
+066E 066F Lo
+0670 Mn
+0671 06D3 Lo
+06D4 Po
+06D5 Lo
+06D6 06DC Mn
+06DD Cf
+06DE So
+06DF 06E4 Mn
+06E5 06E6 Lm
+06E7 06E8 Mn
+06E9 So
+06EA 06ED Mn
+06EE 06EF Lo
+06F0 06F9 Nd
+06FA 06FC Lo
+06FD 06FE So
+06FF Lo
+0700 070D Po
+070F Cf
+0710 Lo
+0711 Mn
+0712 072F Lo
+0730 074A Mn
+074D 07A5 Lo
+07A6 07B0 Mn
+07B1 Lo
+07C0 07C9 Nd
+07CA 07EA Lo
+07EB 07F3 Mn
+07F4 07F5 Lm
+07F6 So
+07F7 07F9 Po
+07FA Lm
+0800 0815 Lo
+0816 0819 Mn
+081A Lm
+081B 0823 Mn
+0824 Lm
+0825 0827 Mn
+0828 Lm
+0829 082D Mn
+0830 083E Po
+0840 0858 Lo
+0859 085B Mn
+085E Po
+0900 0902 Mn
+0903 Mc
+0904 0939 Lo
+093A Mn
+093B Mc
+093C Mn
+093D Lo
+093E 0940 Mc
+0941 0948 Mn
+0949 094C Mc
+094D Mn
+094E 094F Mc
+0950 Lo
+0951 0957 Mn
+0958 0961 Lo
+0962 0963 Mn
+0964 0965 Po
+0966 096F Nd
+0970 Po
+0971 Lm
+0972 0977 Lo
+0979 097F Lo
+0981 Mn
+0982 0983 Mc
+0985 098C Lo
+098F 0990 Lo
+0993 09A8 Lo
+09AA 09B0 Lo
+09B2 Lo
+09B6 09B9 Lo
+09BC Mn
+09BD Lo
+09BE 09C0 Mc
+09C1 09C4 Mn
+09C7 09C8 Mc
+09CB 09CC Mc
+09CD Mn
+09CE Lo
+09D7 Mc
+09DC 09DD Lo
+09DF 09E1 Lo
+09E2 09E3 Mn
+09E6 09EF Nd
+09F0 09F1 Lo
+09F2 09F3 Sc
+09F4 09F9 No
+09FA So
+09FB Sc
+0A01 0A02 Mn
+0A03 Mc
+0A05 0A0A Lo
+0A0F 0A10 Lo
+0A13 0A28 Lo
+0A2A 0A30 Lo
+0A32 0A33 Lo
+0A35 0A36 Lo
+0A38 0A39 Lo
+0A3C Mn
+0A3E 0A40 Mc
+0A41 0A42 Mn
+0A47 0A48 Mn
+0A4B 0A4D Mn
+0A51 Mn
+0A59 0A5C Lo
+0A5E Lo
+0A66 0A6F Nd
+0A70 0A71 Mn
+0A72 0A74 Lo
+0A75 Mn
+0A81 0A82 Mn
+0A83 Mc
+0A85 0A8D Lo
+0A8F 0A91 Lo
+0A93 0AA8 Lo
+0AAA 0AB0 Lo
+0AB2 0AB3 Lo
+0AB5 0AB9 Lo
+0ABC Mn
+0ABD Lo
+0ABE 0AC0 Mc
+0AC1 0AC5 Mn
+0AC7 0AC8 Mn
+0AC9 Mc
+0ACB 0ACC Mc
+0ACD Mn
+0AD0 Lo
+0AE0 0AE1 Lo
+0AE2 0AE3 Mn
+0AE6 0AEF Nd
+0AF1 Sc
+0B01 Mn
+0B02 0B03 Mc
+0B05 0B0C Lo
+0B0F 0B10 Lo
+0B13 0B28 Lo
+0B2A 0B30 Lo
+0B32 0B33 Lo
+0B35 0B39 Lo
+0B3C Mn
+0B3D Lo
+0B3E Mc
+0B3F Mn
+0B40 Mc
+0B41 0B44 Mn
+0B47 0B48 Mc
+0B4B 0B4C Mc
+0B4D Mn
+0B56 Mn
+0B57 Mc
+0B5C 0B5D Lo
+0B5F 0B61 Lo
+0B62 0B63 Mn
+0B66 0B6F Nd
+0B70 So
+0B71 Lo
+0B72 0B77 No
+0B82 Mn
+0B83 Lo
+0B85 0B8A Lo
+0B8E 0B90 Lo
+0B92 0B95 Lo
+0B99 0B9A Lo
+0B9C Lo
+0B9E 0B9F Lo
+0BA3 0BA4 Lo
+0BA8 0BAA Lo
+0BAE 0BB9 Lo
+0BBE 0BBF Mc
+0BC0 Mn
+0BC1 0BC2 Mc
+0BC6 0BC8 Mc
+0BCA 0BCC Mc
+0BCD Mn
+0BD0 Lo
+0BD7 Mc
+0BE6 0BEF Nd
+0BF0 0BF2 No
+0BF3 0BF8 So
+0BF9 Sc
+0BFA So
+0C01 0C03 Mc
+0C05 0C0C Lo
+0C0E 0C10 Lo
+0C12 0C28 Lo
+0C2A 0C33 Lo
+0C35 0C39 Lo
+0C3D Lo
+0C3E 0C40 Mn
+0C41 0C44 Mc
+0C46 0C48 Mn
+0C4A 0C4D Mn
+0C55 0C56 Mn
+0C58 0C59 Lo
+0C60 0C61 Lo
+0C62 0C63 Mn
+0C66 0C6F Nd
+0C78 0C7E No
+0C7F So
+0C82 0C83 Mc
+0C85 0C8C Lo
+0C8E 0C90 Lo
+0C92 0CA8 Lo
+0CAA 0CB3 Lo
+0CB5 0CB9 Lo
+0CBC Mn
+0CBD Lo
+0CBE Mc
+0CBF Mn
+0CC0 0CC4 Mc
+0CC6 Mn
+0CC7 0CC8 Mc
+0CCA 0CCB Mc
+0CCC 0CCD Mn
+0CD5 0CD6 Mc
+0CDE Lo
+0CE0 0CE1 Lo
+0CE2 0CE3 Mn
+0CE6 0CEF Nd
+0CF1 0CF2 Lo
+0D02 0D03 Mc
+0D05 0D0C Lo
+0D0E 0D10 Lo
+0D12 0D3A Lo
+0D3D Lo
+0D3E 0D40 Mc
+0D41 0D44 Mn
+0D46 0D48 Mc
+0D4A 0D4C Mc
+0D4D Mn
+0D4E Lo
+0D57 Mc
+0D60 0D61 Lo
+0D62 0D63 Mn
+0D66 0D6F Nd
+0D70 0D75 No
+0D79 So
+0D7A 0D7F Lo
+0D82 0D83 Mc
+0D85 0D96 Lo
+0D9A 0DB1 Lo
+0DB3 0DBB Lo
+0DBD Lo
+0DC0 0DC6 Lo
+0DCA Mn
+0DCF 0DD1 Mc
+0DD2 0DD4 Mn
+0DD6 Mn
+0DD8 0DDF Mc
+0DF2 0DF3 Mc
+0DF4 Po
+0E01 0E30 Lo
+0E31 Mn
+0E32 0E33 Lo
+0E34 0E3A Mn
+0E3F Sc
+0E40 0E45 Lo
+0E46 Lm
+0E47 0E4E Mn
+0E4F Po
+0E50 0E59 Nd
+0E5A 0E5B Po
+0E81 0E82 Lo
+0E84 Lo
+0E87 0E88 Lo
+0E8A Lo
+0E8D Lo
+0E94 0E97 Lo
+0E99 0E9F Lo
+0EA1 0EA3 Lo
+0EA5 Lo
+0EA7 Lo
+0EAA 0EAB Lo
+0EAD 0EB0 Lo
+0EB1 Mn
+0EB2 0EB3 Lo
+0EB4 0EB9 Mn
+0EBB 0EBC Mn
+0EBD Lo
+0EC0 0EC4 Lo
+0EC6 Lm
+0EC8 0ECD Mn
+0ED0 0ED9 Nd
+0EDC 0EDD Lo
+0F00 Lo
+0F01 0F03 So
+0F04 0F12 Po
+0F13 0F17 So
+0F18 0F19 Mn
+0F1A 0F1F So
+0F20 0F29 Nd
+0F2A 0F33 No
+0F34 So
+0F35 Mn
+0F36 So
+0F37 Mn
+0F38 So
+0F39 Mn
+0F3A Ps
+0F3B Pe
+0F3C Ps
+0F3D Pe
+0F3E 0F3F Mc
+0F40 0F47 Lo
+0F49 0F6C Lo
+0F71 0F7E Mn
+0F7F Mc
+0F80 0F84 Mn
+0F85 Po
+0F86 0F87 Mn
+0F88 0F8C Lo
+0F8D 0F97 Mn
+0F99 0FBC Mn
+0FBE 0FC5 So
+0FC6 Mn
+0FC7 0FCC So
+0FCE 0FCF So
+0FD0 0FD4 Po
+0FD5 0FD8 So
+0FD9 0FDA Po
+1000 102A Lo
+102B 102C Mc
+102D 1030 Mn
+1031 Mc
+1032 1037 Mn
+1038 Mc
+1039 103A Mn
+103B 103C Mc
+103D 103E Mn
+103F Lo
+1040 1049 Nd
+104A 104F Po
+1050 1055 Lo
+1056 1057 Mc
+1058 1059 Mn
+105A 105D Lo
+105E 1060 Mn
+1061 Lo
+1062 1064 Mc
+1065 1066 Lo
+1067 106D Mc
+106E 1070 Lo
+1071 1074 Mn
+1075 1081 Lo
+1082 Mn
+1083 1084 Mc
+1085 1086 Mn
+1087 108C Mc
+108D Mn
+108E Lo
+108F Mc
+1090 1099 Nd
+109A 109C Mc
+109D Mn
+109E 109F So
+10A0 10C5 Lu
+10D0 10FA Lo
+10FB Po
+10FC Lm
+1100 1248 Lo
+124A 124D Lo
+1250 1256 Lo
+1258 Lo
+125A 125D Lo
+1260 1288 Lo
+128A 128D Lo
+1290 12B0 Lo
+12B2 12B5 Lo
+12B8 12BE Lo
+12C0 Lo
+12C2 12C5 Lo
+12C8 12D6 Lo
+12D8 1310 Lo
+1312 1315 Lo
+1318 135A Lo
+135D 135F Mn
+1360 So
+1361 1368 Po
+1369 137C No
+1380 138F Lo
+1390 1399 So
+13A0 13F4 Lo
+1400 Pd
+1401 166C Lo
+166D 166E Po
+166F 167F Lo
+1680 Zs
+1681 169A Lo
+169B Ps
+169C Pe
+16A0 16EA Lo
+16EB 16ED Po
+16EE 16F0 Nl
+1700 170C Lo
+170E 1711 Lo
+1712 1714 Mn
+1720 1731 Lo
+1732 1734 Mn
+1735 1736 Po
+1740 1751 Lo
+1752 1753 Mn
+1760 176C Lo
+176E 1770 Lo
+1772 1773 Mn
+1780 17B3 Lo
+17B4 17B5 Cf
+17B6 Mc
+17B7 17BD Mn
+17BE 17C5 Mc
+17C6 Mn
+17C7 17C8 Mc
+17C9 17D3 Mn
+17D4 17D6 Po
+17D7 Lm
+17D8 17DA Po
+17DB Sc
+17DC Lo
+17DD Mn
+17E0 17E9 Nd
+17F0 17F9 No
+1800 1805 Po
+1806 Pd
+1807 180A Po
+180B 180D Mn
+180E Zs
+1810 1819 Nd
+1820 1842 Lo
+1843 Lm
+1844 1877 Lo
+1880 18A8 Lo
+18A9 Mn
+18AA Lo
+18B0 18F5 Lo
+1900 191C Lo
+1920 1922 Mn
+1923 1926 Mc
+1927 1928 Mn
+1929 192B Mc
+1930 1931 Mc
+1932 Mn
+1933 1938 Mc
+1939 193B Mn
+1940 So
+1944 1945 Po
+1946 194F Nd
+1950 196D Lo
+1970 1974 Lo
+1980 19AB Lo
+19B0 19C0 Mc
+19C1 19C7 Lo
+19C8 19C9 Mc
+19D0 19D9 Nd
+19DA No
+19DE 19FF So
+1A00 1A16 Lo
+1A17 1A18 Mn
+1A19 1A1B Mc
+1A1E 1A1F Po
+1A20 1A54 Lo
+1A55 Mc
+1A56 Mn
+1A57 Mc
+1A58 1A5E Mn
+1A60 Mn
+1A61 Mc
+1A62 Mn
+1A63 1A64 Mc
+1A65 1A6C Mn
+1A6D 1A72 Mc
+1A73 1A7C Mn
+1A7F Mn
+1A80 1A89 Nd
+1A90 1A99 Nd
+1AA0 1AA6 Po
+1AA7 Lm
+1AA8 1AAD Po
+1B00 1B03 Mn
+1B04 Mc
+1B05 1B33 Lo
+1B34 Mn
+1B35 Mc
+1B36 1B3A Mn
+1B3B Mc
+1B3C Mn
+1B3D 1B41 Mc
+1B42 Mn
+1B43 1B44 Mc
+1B45 1B4B Lo
+1B50 1B59 Nd
+1B5A 1B60 Po
+1B61 1B6A So
+1B6B 1B73 Mn
+1B74 1B7C So
+1B80 1B81 Mn
+1B82 Mc
+1B83 1BA0 Lo
+1BA1 Mc
+1BA2 1BA5 Mn
+1BA6 1BA7 Mc
+1BA8 1BA9 Mn
+1BAA Mc
+1BAE 1BAF Lo
+1BB0 1BB9 Nd
+1BC0 1BE5 Lo
+1BE6 Mn
+1BE7 Mc
+1BE8 1BE9 Mn
+1BEA 1BEC Mc
+1BED Mn
+1BEE Mc
+1BEF 1BF1 Mn
+1BF2 1BF3 Mc
+1BFC 1BFF Po
+1C00 1C23 Lo
+1C24 1C2B Mc
+1C2C 1C33 Mn
+1C34 1C35 Mc
+1C36 1C37 Mn
+1C3B 1C3F Po
+1C40 1C49 Nd
+1C4D 1C4F Lo
+1C50 1C59 Nd
+1C5A 1C77 Lo
+1C78 1C7D Lm
+1C7E 1C7F Po
+1CD0 1CD2 Mn
+1CD3 Po
+1CD4 1CE0 Mn
+1CE1 Mc
+1CE2 1CE8 Mn
+1CE9 1CEC Lo
+1CED Mn
+1CEE 1CF1 Lo
+1CF2 Mc
+1D00 1D2B Ll
+1D2C 1D61 Lm
+1D62 1D77 Ll
+1D78 Lm
+1D79 1D9A Ll
+1D9B 1DBF Lm
+1DC0 1DE6 Mn
+1DFC 1DFF Mn
+1E00 Lu
+1E01 Ll
+1E02 Lu
+1E03 Ll
+1E04 Lu
+1E05 Ll
+1E06 Lu
+1E07 Ll
+1E08 Lu
+1E09 Ll
+1E0A Lu
+1E0B Ll
+1E0C Lu
+1E0D Ll
+1E0E Lu
+1E0F Ll
+1E10 Lu
+1E11 Ll
+1E12 Lu
+1E13 Ll
+1E14 Lu
+1E15 Ll
+1E16 Lu
+1E17 Ll
+1E18 Lu
+1E19 Ll
+1E1A Lu
+1E1B Ll
+1E1C Lu
+1E1D Ll
+1E1E Lu
+1E1F Ll
+1E20 Lu
+1E21 Ll
+1E22 Lu
+1E23 Ll
+1E24 Lu
+1E25 Ll
+1E26 Lu
+1E27 Ll
+1E28 Lu
+1E29 Ll
+1E2A Lu
+1E2B Ll
+1E2C Lu
+1E2D Ll
+1E2E Lu
+1E2F Ll
+1E30 Lu
+1E31 Ll
+1E32 Lu
+1E33 Ll
+1E34 Lu
+1E35 Ll
+1E36 Lu
+1E37 Ll
+1E38 Lu
+1E39 Ll
+1E3A Lu
+1E3B Ll
+1E3C Lu
+1E3D Ll
+1E3E Lu
+1E3F Ll
+1E40 Lu
+1E41 Ll
+1E42 Lu
+1E43 Ll
+1E44 Lu
+1E45 Ll
+1E46 Lu
+1E47 Ll
+1E48 Lu
+1E49 Ll
+1E4A Lu
+1E4B Ll
+1E4C Lu
+1E4D Ll
+1E4E Lu
+1E4F Ll
+1E50 Lu
+1E51 Ll
+1E52 Lu
+1E53 Ll
+1E54 Lu
+1E55 Ll
+1E56 Lu
+1E57 Ll
+1E58 Lu
+1E59 Ll
+1E5A Lu
+1E5B Ll
+1E5C Lu
+1E5D Ll
+1E5E Lu
+1E5F Ll
+1E60 Lu
+1E61 Ll
+1E62 Lu
+1E63 Ll
+1E64 Lu
+1E65 Ll
+1E66 Lu
+1E67 Ll
+1E68 Lu
+1E69 Ll
+1E6A Lu
+1E6B Ll
+1E6C Lu
+1E6D Ll
+1E6E Lu
+1E6F Ll
+1E70 Lu
+1E71 Ll
+1E72 Lu
+1E73 Ll
+1E74 Lu
+1E75 Ll
+1E76 Lu
+1E77 Ll
+1E78 Lu
+1E79 Ll
+1E7A Lu
+1E7B Ll
+1E7C Lu
+1E7D Ll
+1E7E Lu
+1E7F Ll
+1E80 Lu
+1E81 Ll
+1E82 Lu
+1E83 Ll
+1E84 Lu
+1E85 Ll
+1E86 Lu
+1E87 Ll
+1E88 Lu
+1E89 Ll
+1E8A Lu
+1E8B Ll
+1E8C Lu
+1E8D Ll
+1E8E Lu
+1E8F Ll
+1E90 Lu
+1E91 Ll
+1E92 Lu
+1E93 Ll
+1E94 Lu
+1E95 1E9D Ll
+1E9E Lu
+1E9F Ll
+1EA0 Lu
+1EA1 Ll
+1EA2 Lu
+1EA3 Ll
+1EA4 Lu
+1EA5 Ll
+1EA6 Lu
+1EA7 Ll
+1EA8 Lu
+1EA9 Ll
+1EAA Lu
+1EAB Ll
+1EAC Lu
+1EAD Ll
+1EAE Lu
+1EAF Ll
+1EB0 Lu
+1EB1 Ll
+1EB2 Lu
+1EB3 Ll
+1EB4 Lu
+1EB5 Ll
+1EB6 Lu
+1EB7 Ll
+1EB8 Lu
+1EB9 Ll
+1EBA Lu
+1EBB Ll
+1EBC Lu
+1EBD Ll
+1EBE Lu
+1EBF Ll
+1EC0 Lu
+1EC1 Ll
+1EC2 Lu
+1EC3 Ll
+1EC4 Lu
+1EC5 Ll
+1EC6 Lu
+1EC7 Ll
+1EC8 Lu
+1EC9 Ll
+1ECA Lu
+1ECB Ll
+1ECC Lu
+1ECD Ll
+1ECE Lu
+1ECF Ll
+1ED0 Lu
+1ED1 Ll
+1ED2 Lu
+1ED3 Ll
+1ED4 Lu
+1ED5 Ll
+1ED6 Lu
+1ED7 Ll
+1ED8 Lu
+1ED9 Ll
+1EDA Lu
+1EDB Ll
+1EDC Lu
+1EDD Ll
+1EDE Lu
+1EDF Ll
+1EE0 Lu
+1EE1 Ll
+1EE2 Lu
+1EE3 Ll
+1EE4 Lu
+1EE5 Ll
+1EE6 Lu
+1EE7 Ll
+1EE8 Lu
+1EE9 Ll
+1EEA Lu
+1EEB Ll
+1EEC Lu
+1EED Ll
+1EEE Lu
+1EEF Ll
+1EF0 Lu
+1EF1 Ll
+1EF2 Lu
+1EF3 Ll
+1EF4 Lu
+1EF5 Ll
+1EF6 Lu
+1EF7 Ll
+1EF8 Lu
+1EF9 Ll
+1EFA Lu
+1EFB Ll
+1EFC Lu
+1EFD Ll
+1EFE Lu
+1EFF 1F07 Ll
+1F08 1F0F Lu
+1F10 1F15 Ll
+1F18 1F1D Lu
+1F20 1F27 Ll
+1F28 1F2F Lu
+1F30 1F37 Ll
+1F38 1F3F Lu
+1F40 1F45 Ll
+1F48 1F4D Lu
+1F50 1F57 Ll
+1F59 Lu
+1F5B Lu
+1F5D Lu
+1F5F Lu
+1F60 1F67 Ll
+1F68 1F6F Lu
+1F70 1F7D Ll
+1F80 1F87 Ll
+1F88 1F8F Lt
+1F90 1F97 Ll
+1F98 1F9F Lt
+1FA0 1FA7 Ll
+1FA8 1FAF Lt
+1FB0 1FB4 Ll
+1FB6 1FB7 Ll
+1FB8 1FBB Lu
+1FBC Lt
+1FBD Sk
+1FBE Ll
+1FBF 1FC1 Sk
+1FC2 1FC4 Ll
+1FC6 1FC7 Ll
+1FC8 1FCB Lu
+1FCC Lt
+1FCD 1FCF Sk
+1FD0 1FD3 Ll
+1FD6 1FD7 Ll
+1FD8 1FDB Lu
+1FDD 1FDF Sk
+1FE0 1FE7 Ll
+1FE8 1FEC Lu
+1FED 1FEF Sk
+1FF2 1FF4 Ll
+1FF6 1FF7 Ll
+1FF8 1FFB Lu
+1FFC Lt
+1FFD 1FFE Sk
+2000 200A Zs
+200B 200F Cf
+2010 2015 Pd
+2016 2017 Po
+2018 Pi
+2019 Pf
+201A Ps
+201B 201C Pi
+201D Pf
+201E Ps
+201F Pi
+2020 2027 Po
+2028 Zl
+2029 Zp
+202A 202E Cf
+202F Zs
+2030 2038 Po
+2039 Pi
+203A Pf
+203B 203E Po
+203F 2040 Pc
+2041 2043 Po
+2044 Sm
+2045 Ps
+2046 Pe
+2047 2051 Po
+2052 Sm
+2053 Po
+2054 Pc
+2055 205E Po
+205F Zs
+2060 2064 Cf
+206A 206F Cf
+2070 No
+2071 Lm
+2074 2079 No
+207A 207C Sm
+207D Ps
+207E Pe
+207F Lm
+2080 2089 No
+208A 208C Sm
+208D Ps
+208E Pe
+2090 209C Lm
+20A0 20B9 Sc
+20D0 20DC Mn
+20DD 20E0 Me
+20E1 Mn
+20E2 20E4 Me
+20E5 20F0 Mn
+2100 2101 So
+2102 Lu
+2103 2106 So
+2107 Lu
+2108 2109 So
+210A Ll
+210B 210D Lu
+210E 210F Ll
+2110 2112 Lu
+2113 Ll
+2114 So
+2115 Lu
+2116 2117 So
+2118 Sm
+2119 211D Lu
+211E 2123 So
+2124 Lu
+2125 So
+2126 Lu
+2127 So
+2128 Lu
+2129 So
+212A 212D Lu
+212E So
+212F Ll
+2130 2133 Lu
+2134 Ll
+2135 2138 Lo
+2139 Ll
+213A 213B So
+213C 213D Ll
+213E 213F Lu
+2140 2144 Sm
+2145 Lu
+2146 2149 Ll
+214A So
+214B Sm
+214C 214D So
+214E Ll
+214F So
+2150 215F No
+2160 2182 Nl
+2183 Lu
+2184 Ll
+2185 2188 Nl
+2189 No
+2190 2194 Sm
+2195 2199 So
+219A 219B Sm
+219C 219F So
+21A0 Sm
+21A1 21A2 So
+21A3 Sm
+21A4 21A5 So
+21A6 Sm
+21A7 21AD So
+21AE Sm
+21AF 21CD So
+21CE 21CF Sm
+21D0 21D1 So
+21D2 Sm
+21D3 So
+21D4 Sm
+21D5 21F3 So
+21F4 22FF Sm
+2300 2307 So
+2308 230B Sm
+230C 231F So
+2320 2321 Sm
+2322 2328 So
+2329 Ps
+232A Pe
+232B 237B So
+237C Sm
+237D 239A So
+239B 23B3 Sm
+23B4 23DB So
+23DC 23E1 Sm
+23E2 23F3 So
+2400 2426 So
+2440 244A So
+2460 249B No
+249C 24E9 So
+24EA 24FF No
+2500 25B6 So
+25B7 Sm
+25B8 25C0 So
+25C1 Sm
+25C2 25F7 So
+25F8 25FF Sm
+2600 266E So
+266F Sm
+2670 26FF So
+2701 2767 So
+2768 Ps
+2769 Pe
+276A Ps
+276B Pe
+276C Ps
+276D Pe
+276E Ps
+276F Pe
+2770 Ps
+2771 Pe
+2772 Ps
+2773 Pe
+2774 Ps
+2775 Pe
+2776 2793 No
+2794 27BF So
+27C0 27C4 Sm
+27C5 Ps
+27C6 Pe
+27C7 27CA Sm
+27CC Sm
+27CE 27E5 Sm
+27E6 Ps
+27E7 Pe
+27E8 Ps
+27E9 Pe
+27EA Ps
+27EB Pe
+27EC Ps
+27ED Pe
+27EE Ps
+27EF Pe
+27F0 27FF Sm
+2800 28FF So
+2900 2982 Sm
+2983 Ps
+2984 Pe
+2985 Ps
+2986 Pe
+2987 Ps
+2988 Pe
+2989 Ps
+298A Pe
+298B Ps
+298C Pe
+298D Ps
+298E Pe
+298F Ps
+2990 Pe
+2991 Ps
+2992 Pe
+2993 Ps
+2994 Pe
+2995 Ps
+2996 Pe
+2997 Ps
+2998 Pe
+2999 29D7 Sm
+29D8 Ps
+29D9 Pe
+29DA Ps
+29DB Pe
+29DC 29FB Sm
+29FC Ps
+29FD Pe
+29FE 2AFF Sm
+2B00 2B2F So
+2B30 2B44 Sm
+2B45 2B46 So
+2B47 2B4C Sm
+2B50 2B59 So
+2C00 2C2E Lu
+2C30 2C5E Ll
+2C60 Lu
+2C61 Ll
+2C62 2C64 Lu
+2C65 2C66 Ll
+2C67 Lu
+2C68 Ll
+2C69 Lu
+2C6A Ll
+2C6B Lu
+2C6C Ll
+2C6D 2C70 Lu
+2C71 Ll
+2C72 Lu
+2C73 2C74 Ll
+2C75 Lu
+2C76 2C7C Ll
+2C7D Lm
+2C7E 2C80 Lu
+2C81 Ll
+2C82 Lu
+2C83 Ll
+2C84 Lu
+2C85 Ll
+2C86 Lu
+2C87 Ll
+2C88 Lu
+2C89 Ll
+2C8A Lu
+2C8B Ll
+2C8C Lu
+2C8D Ll
+2C8E Lu
+2C8F Ll
+2C90 Lu
+2C91 Ll
+2C92 Lu
+2C93 Ll
+2C94 Lu
+2C95 Ll
+2C96 Lu
+2C97 Ll
+2C98 Lu
+2C99 Ll
+2C9A Lu
+2C9B Ll
+2C9C Lu
+2C9D Ll
+2C9E Lu
+2C9F Ll
+2CA0 Lu
+2CA1 Ll
+2CA2 Lu
+2CA3 Ll
+2CA4 Lu
+2CA5 Ll
+2CA6 Lu
+2CA7 Ll
+2CA8 Lu
+2CA9 Ll
+2CAA Lu
+2CAB Ll
+2CAC Lu
+2CAD Ll
+2CAE Lu
+2CAF Ll
+2CB0 Lu
+2CB1 Ll
+2CB2 Lu
+2CB3 Ll
+2CB4 Lu
+2CB5 Ll
+2CB6 Lu
+2CB7 Ll
+2CB8 Lu
+2CB9 Ll
+2CBA Lu
+2CBB Ll
+2CBC Lu
+2CBD Ll
+2CBE Lu
+2CBF Ll
+2CC0 Lu
+2CC1 Ll
+2CC2 Lu
+2CC3 Ll
+2CC4 Lu
+2CC5 Ll
+2CC6 Lu
+2CC7 Ll
+2CC8 Lu
+2CC9 Ll
+2CCA Lu
+2CCB Ll
+2CCC Lu
+2CCD Ll
+2CCE Lu
+2CCF Ll
+2CD0 Lu
+2CD1 Ll
+2CD2 Lu
+2CD3 Ll
+2CD4 Lu
+2CD5 Ll
+2CD6 Lu
+2CD7 Ll
+2CD8 Lu
+2CD9 Ll
+2CDA Lu
+2CDB Ll
+2CDC Lu
+2CDD Ll
+2CDE Lu
+2CDF Ll
+2CE0 Lu
+2CE1 Ll
+2CE2 Lu
+2CE3 2CE4 Ll
+2CE5 2CEA So
+2CEB Lu
+2CEC Ll
+2CED Lu
+2CEE Ll
+2CEF 2CF1 Mn
+2CF9 2CFC Po
+2CFD No
+2CFE 2CFF Po
+2D00 2D25 Ll
+2D30 2D65 Lo
+2D6F Lm
+2D70 Po
+2D7F Mn
+2D80 2D96 Lo
+2DA0 2DA6 Lo
+2DA8 2DAE Lo
+2DB0 2DB6 Lo
+2DB8 2DBE Lo
+2DC0 2DC6 Lo
+2DC8 2DCE Lo
+2DD0 2DD6 Lo
+2DD8 2DDE Lo
+2DE0 2DFF Mn
+2E00 2E01 Po
+2E02 Pi
+2E03 Pf
+2E04 Pi
+2E05 Pf
+2E06 2E08 Po
+2E09 Pi
+2E0A Pf
+2E0B Po
+2E0C Pi
+2E0D Pf
+2E0E 2E16 Po
+2E17 Pd
+2E18 2E19 Po
+2E1A Pd
+2E1B Po
+2E1C Pi
+2E1D Pf
+2E1E 2E1F Po
+2E20 Pi
+2E21 Pf
+2E22 Ps
+2E23 Pe
+2E24 Ps
+2E25 Pe
+2E26 Ps
+2E27 Pe
+2E28 Ps
+2E29 Pe
+2E2A 2E2E Po
+2E2F Lm
+2E30 2E31 Po
+2E80 2E99 So
+2E9B 2EF3 So
+2F00 2FD5 So
+2FF0 2FFB So
+3000 Zs
+3001 3003 Po
+3004 So
+3005 Lm
+3006 Lo
+3007 Nl
+3008 Ps
+3009 Pe
+300A Ps
+300B Pe
+300C Ps
+300D Pe
+300E Ps
+300F Pe
+3010 Ps
+3011 Pe
+3012 3013 So
+3014 Ps
+3015 Pe
+3016 Ps
+3017 Pe
+3018 Ps
+3019 Pe
+301A Ps
+301B Pe
+301C Pd
+301D Ps
+301E 301F Pe
+3020 So
+3021 3029 Nl
+302A 302F Mn
+3030 Pd
+3031 3035 Lm
+3036 3037 So
+3038 303A Nl
+303B Lm
+303C Lo
+303D Po
+303E 303F So
+3041 3096 Lo
+3099 309A Mn
+309B 309C Sk
+309D 309E Lm
+309F Lo
+30A0 Pd
+30A1 30FA Lo
+30FB Po
+30FC 30FE Lm
+30FF Lo
+3105 312D Lo
+3131 318E Lo
+3190 3191 So
+3192 3195 No
+3196 319F So
+31A0 31BA Lo
+31C0 31E3 So
+31F0 31FF Lo
+3200 321E So
+3220 3229 No
+322A 3250 So
+3251 325F No
+3260 327F So
+3280 3289 No
+328A 32B0 So
+32B1 32BF No
+32C0 32FE So
+3300 33FF So
+3400 4DB5 Lo
+4DC0 4DFF So
+4E00 9FCB Lo
+A000 A014 Lo
+A015 Lm
+A016 A48C Lo
+A490 A4C6 So
+A4D0 A4F7 Lo
+A4F8 A4FD Lm
+A4FE A4FF Po
+A500 A60B Lo
+A60C Lm
+A60D A60F Po
+A610 A61F Lo
+A620 A629 Nd
+A62A A62B Lo
+A640 Lu
+A641 Ll
+A642 Lu
+A643 Ll
+A644 Lu
+A645 Ll
+A646 Lu
+A647 Ll
+A648 Lu
+A649 Ll
+A64A Lu
+A64B Ll
+A64C Lu
+A64D Ll
+A64E Lu
+A64F Ll
+A650 Lu
+A651 Ll
+A652 Lu
+A653 Ll
+A654 Lu
+A655 Ll
+A656 Lu
+A657 Ll
+A658 Lu
+A659 Ll
+A65A Lu
+A65B Ll
+A65C Lu
+A65D Ll
+A65E Lu
+A65F Ll
+A660 Lu
+A661 Ll
+A662 Lu
+A663 Ll
+A664 Lu
+A665 Ll
+A666 Lu
+A667 Ll
+A668 Lu
+A669 Ll
+A66A Lu
+A66B Ll
+A66C Lu
+A66D Ll
+A66E Lo
+A66F Mn
+A670 A672 Me
+A673 Po
+A67C A67D Mn
+A67E Po
+A67F Lm
+A680 Lu
+A681 Ll
+A682 Lu
+A683 Ll
+A684 Lu
+A685 Ll
+A686 Lu
+A687 Ll
+A688 Lu
+A689 Ll
+A68A Lu
+A68B Ll
+A68C Lu
+A68D Ll
+A68E Lu
+A68F Ll
+A690 Lu
+A691 Ll
+A692 Lu
+A693 Ll
+A694 Lu
+A695 Ll
+A696 Lu
+A697 Ll
+A6A0 A6E5 Lo
+A6E6 A6EF Nl
+A6F0 A6F1 Mn
+A6F2 A6F7 Po
+A700 A716 Sk
+A717 A71F Lm
+A720 A721 Sk
+A722 Lu
+A723 Ll
+A724 Lu
+A725 Ll
+A726 Lu
+A727 Ll
+A728 Lu
+A729 Ll
+A72A Lu
+A72B Ll
+A72C Lu
+A72D Ll
+A72E Lu
+A72F A731 Ll
+A732 Lu
+A733 Ll
+A734 Lu
+A735 Ll
+A736 Lu
+A737 Ll
+A738 Lu
+A739 Ll
+A73A Lu
+A73B Ll
+A73C Lu
+A73D Ll
+A73E Lu
+A73F Ll
+A740 Lu
+A741 Ll
+A742 Lu
+A743 Ll
+A744 Lu
+A745 Ll
+A746 Lu
+A747 Ll
+A748 Lu
+A749 Ll
+A74A Lu
+A74B Ll
+A74C Lu
+A74D Ll
+A74E Lu
+A74F Ll
+A750 Lu
+A751 Ll
+A752 Lu
+A753 Ll
+A754 Lu
+A755 Ll
+A756 Lu
+A757 Ll
+A758 Lu
+A759 Ll
+A75A Lu
+A75B Ll
+A75C Lu
+A75D Ll
+A75E Lu
+A75F Ll
+A760 Lu
+A761 Ll
+A762 Lu
+A763 Ll
+A764 Lu
+A765 Ll
+A766 Lu
+A767 Ll
+A768 Lu
+A769 Ll
+A76A Lu
+A76B Ll
+A76C Lu
+A76D Ll
+A76E Lu
+A76F Ll
+A770 Lm
+A771 A778 Ll
+A779 Lu
+A77A Ll
+A77B Lu
+A77C Ll
+A77D A77E Lu
+A77F Ll
+A780 Lu
+A781 Ll
+A782 Lu
+A783 Ll
+A784 Lu
+A785 Ll
+A786 Lu
+A787 Ll
+A788 Lm
+A789 A78A Sk
+A78B Lu
+A78C Ll
+A78D Lu
+A78E Ll
+A790 Lu
+A791 Ll
+A7A0 Lu
+A7A1 Ll
+A7A2 Lu
+A7A3 Ll
+A7A4 Lu
+A7A5 Ll
+A7A6 Lu
+A7A7 Ll
+A7A8 Lu
+A7A9 Ll
+A7FA Ll
+A7FB A801 Lo
+A802 Mn
+A803 A805 Lo
+A806 Mn
+A807 A80A Lo
+A80B Mn
+A80C A822 Lo
+A823 A824 Mc
+A825 A826 Mn
+A827 Mc
+A828 A82B So
+A830 A835 No
+A836 A837 So
+A838 Sc
+A839 So
+A840 A873 Lo
+A874 A877 Po
+A880 A881 Mc
+A882 A8B3 Lo
+A8B4 A8C3 Mc
+A8C4 Mn
+A8CE A8CF Po
+A8D0 A8D9 Nd
+A8E0 A8F1 Mn
+A8F2 A8F7 Lo
+A8F8 A8FA Po
+A8FB Lo
+A900 A909 Nd
+A90A A925 Lo
+A926 A92D Mn
+A92E A92F Po
+A930 A946 Lo
+A947 A951 Mn
+A952 A953 Mc
+A95F Po
+A960 A97C Lo
+A980 A982 Mn
+A983 Mc
+A984 A9B2 Lo
+A9B3 Mn
+A9B4 A9B5 Mc
+A9B6 A9B9 Mn
+A9BA A9BB Mc
+A9BC Mn
+A9BD A9C0 Mc
+A9C1 A9CD Po
+A9CF Lm
+A9D0 A9D9 Nd
+A9DE A9DF Po
+AA00 AA28 Lo
+AA29 AA2E Mn
+AA2F AA30 Mc
+AA31 AA32 Mn
+AA33 AA34 Mc
+AA35 AA36 Mn
+AA40 AA42 Lo
+AA43 Mn
+AA44 AA4B Lo
+AA4C Mn
+AA4D Mc
+AA50 AA59 Nd
+AA5C AA5F Po
+AA60 AA6F Lo
+AA70 Lm
+AA71 AA76 Lo
+AA77 AA79 So
+AA7A Lo
+AA7B Mc
+AA80 AAAF Lo
+AAB0 Mn
+AAB1 Lo
+AAB2 AAB4 Mn
+AAB5 AAB6 Lo
+AAB7 AAB8 Mn
+AAB9 AABD Lo
+AABE AABF Mn
+AAC0 Lo
+AAC1 Mn
+AAC2 Lo
+AADB AADC Lo
+AADD Lm
+AADE AADF Po
+AB01 AB06 Lo
+AB09 AB0E Lo
+AB11 AB16 Lo
+AB20 AB26 Lo
+AB28 AB2E Lo
+ABC0 ABE2 Lo
+ABE3 ABE4 Mc
+ABE5 Mn
+ABE6 ABE7 Mc
+ABE8 Mn
+ABE9 ABEA Mc
+ABEB Po
+ABEC Mc
+ABED Mn
+ABF0 ABF9 Nd
+AC00 D7A3 Lo
+D7B0 D7C6 Lo
+D7CB D7FB Lo
+D800 DFFF Cs
+E000 F8FF Co
+F900 FA2D Lo
+FA30 FA6D Lo
+FA70 FAD9 Lo
+FB00 FB06 Ll
+FB13 FB17 Ll
+FB1D Lo
+FB1E Mn
+FB1F FB28 Lo
+FB29 Sm
+FB2A FB36 Lo
+FB38 FB3C Lo
+FB3E Lo
+FB40 FB41 Lo
+FB43 FB44 Lo
+FB46 FBB1 Lo
+FBB2 FBC1 Sk
+FBD3 FD3D Lo
+FD3E Ps
+FD3F Pe
+FD50 FD8F Lo
+FD92 FDC7 Lo
+FDF0 FDFB Lo
+FDFC Sc
+FDFD So
+FE00 FE0F Mn
+FE10 FE16 Po
+FE17 Ps
+FE18 Pe
+FE19 Po
+FE20 FE26 Mn
+FE30 Po
+FE31 FE32 Pd
+FE33 FE34 Pc
+FE35 Ps
+FE36 Pe
+FE37 Ps
+FE38 Pe
+FE39 Ps
+FE3A Pe
+FE3B Ps
+FE3C Pe
+FE3D Ps
+FE3E Pe
+FE3F Ps
+FE40 Pe
+FE41 Ps
+FE42 Pe
+FE43 Ps
+FE44 Pe
+FE45 FE46 Po
+FE47 Ps
+FE48 Pe
+FE49 FE4C Po
+FE4D FE4F Pc
+FE50 FE52 Po
+FE54 FE57 Po
+FE58 Pd
+FE59 Ps
+FE5A Pe
+FE5B Ps
+FE5C Pe
+FE5D Ps
+FE5E Pe
+FE5F FE61 Po
+FE62 Sm
+FE63 Pd
+FE64 FE66 Sm
+FE68 Po
+FE69 Sc
+FE6A FE6B Po
+FE70 FE74 Lo
+FE76 FEFC Lo
+FEFF Cf
+FF01 FF03 Po
+FF04 Sc
+FF05 FF07 Po
+FF08 Ps
+FF09 Pe
+FF0A Po
+FF0B Sm
+FF0C Po
+FF0D Pd
+FF0E FF0F Po
+FF10 FF19 Nd
+FF1A FF1B Po
+FF1C FF1E Sm
+FF1F FF20 Po
+FF21 FF3A Lu
+FF3B Ps
+FF3C Po
+FF3D Pe
+FF3E Sk
+FF3F Pc
+FF40 Sk
+FF41 FF5A Ll
+FF5B Ps
+FF5C Sm
+FF5D Pe
+FF5E Sm
+FF5F Ps
+FF60 Pe
+FF61 Po
+FF62 Ps
+FF63 Pe
+FF64 FF65 Po
+FF66 FF6F Lo
+FF70 Lm
+FF71 FF9D Lo
+FF9E FF9F Lm
+FFA0 FFBE Lo
+FFC2 FFC7 Lo
+FFCA FFCF Lo
+FFD2 FFD7 Lo
+FFDA FFDC Lo
+FFE0 FFE1 Sc
+FFE2 Sm
+FFE3 Sk
+FFE4 So
+FFE5 FFE6 Sc
+FFE8 So
+FFE9 FFEC Sm
+FFED FFEE So
+FFF9 FFFB Cf
+FFFC FFFD So
+10000 1000B Lo
+1000D 10026 Lo
+10028 1003A Lo
+1003C 1003D Lo
+1003F 1004D Lo
+10050 1005D Lo
+10080 100FA Lo
+10100 10101 Po
+10102 So
+10107 10133 No
+10137 1013F So
+10140 10174 Nl
+10175 10178 No
+10179 10189 So
+1018A No
+10190 1019B So
+101D0 101FC So
+101FD Mn
+10280 1029C Lo
+102A0 102D0 Lo
+10300 1031E Lo
+10320 10323 No
+10330 10340 Lo
+10341 Nl
+10342 10349 Lo
+1034A Nl
+10380 1039D Lo
+1039F Po
+103A0 103C3 Lo
+103C8 103CF Lo
+103D0 Po
+103D1 103D5 Nl
+10400 10427 Lu
+10428 1044F Ll
+10450 1049D Lo
+104A0 104A9 Nd
+10800 10805 Lo
+10808 Lo
+1080A 10835 Lo
+10837 10838 Lo
+1083C Lo
+1083F 10855 Lo
+10857 Po
+10858 1085F No
+10900 10915 Lo
+10916 1091B No
+1091F Po
+10920 10939 Lo
+1093F Po
+10A00 Lo
+10A01 10A03 Mn
+10A05 10A06 Mn
+10A0C 10A0F Mn
+10A10 10A13 Lo
+10A15 10A17 Lo
+10A19 10A33 Lo
+10A38 10A3A Mn
+10A3F Mn
+10A40 10A47 No
+10A50 10A58 Po
+10A60 10A7C Lo
+10A7D 10A7E No
+10A7F Po
+10B00 10B35 Lo
+10B39 10B3F Po
+10B40 10B55 Lo
+10B58 10B5F No
+10B60 10B72 Lo
+10B78 10B7F No
+10C00 10C48 Lo
+10E60 10E7E No
+11000 Mc
+11001 Mn
+11002 Mc
+11003 11037 Lo
+11038 11046 Mn
+11047 1104D Po
+11052 11065 No
+11066 1106F Nd
+11080 11081 Mn
+11082 Mc
+11083 110AF Lo
+110B0 110B2 Mc
+110B3 110B6 Mn
+110B7 110B8 Mc
+110B9 110BA Mn
+110BB 110BC Po
+110BD Cf
+110BE 110C1 Po
+12000 1236E Lo
+12400 12462 Nl
+12470 12473 Po
+13000 1342E Lo
+16800 16A38 Lo
+1B000 1B001 Lo
+1D000 1D0F5 So
+1D100 1D126 So
+1D129 1D164 So
+1D165 1D166 Mc
+1D167 1D169 Mn
+1D16A 1D16C So
+1D16D 1D172 Mc
+1D173 1D17A Cf
+1D17B 1D182 Mn
+1D183 1D184 So
+1D185 1D18B Mn
+1D18C 1D1A9 So
+1D1AA 1D1AD Mn
+1D1AE 1D1DD So
+1D200 1D241 So
+1D242 1D244 Mn
+1D245 So
+1D300 1D356 So
+1D360 1D371 No
+1D400 1D419 Lu
+1D41A 1D433 Ll
+1D434 1D44D Lu
+1D44E 1D454 Ll
+1D456 1D467 Ll
+1D468 1D481 Lu
+1D482 1D49B Ll
+1D49C Lu
+1D49E 1D49F Lu
+1D4A2 Lu
+1D4A5 1D4A6 Lu
+1D4A9 1D4AC Lu
+1D4AE 1D4B5 Lu
+1D4B6 1D4B9 Ll
+1D4BB Ll
+1D4BD 1D4C3 Ll
+1D4C5 1D4CF Ll
+1D4D0 1D4E9 Lu
+1D4EA 1D503 Ll
+1D504 1D505 Lu
+1D507 1D50A Lu
+1D50D 1D514 Lu
+1D516 1D51C Lu
+1D51E 1D537 Ll
+1D538 1D539 Lu
+1D53B 1D53E Lu
+1D540 1D544 Lu
+1D546 Lu
+1D54A 1D550 Lu
+1D552 1D56B Ll
+1D56C 1D585 Lu
+1D586 1D59F Ll
+1D5A0 1D5B9 Lu
+1D5BA 1D5D3 Ll
+1D5D4 1D5ED Lu
+1D5EE 1D607 Ll
+1D608 1D621 Lu
+1D622 1D63B Ll
+1D63C 1D655 Lu
+1D656 1D66F Ll
+1D670 1D689 Lu
+1D68A 1D6A5 Ll
+1D6A8 1D6C0 Lu
+1D6C1 Sm
+1D6C2 1D6DA Ll
+1D6DB Sm
+1D6DC 1D6E1 Ll
+1D6E2 1D6FA Lu
+1D6FB Sm
+1D6FC 1D714 Ll
+1D715 Sm
+1D716 1D71B Ll
+1D71C 1D734 Lu
+1D735 Sm
+1D736 1D74E Ll
+1D74F Sm
+1D750 1D755 Ll
+1D756 1D76E Lu
+1D76F Sm
+1D770 1D788 Ll
+1D789 Sm
+1D78A 1D78F Ll
+1D790 1D7A8 Lu
+1D7A9 Sm
+1D7AA 1D7C2 Ll
+1D7C3 Sm
+1D7C4 1D7C9 Ll
+1D7CA Lu
+1D7CB Ll
+1D7CE 1D7FF Nd
+1F000 1F02B So
+1F030 1F093 So
+1F0A0 1F0AE So
+1F0B1 1F0BE So
+1F0C1 1F0CF So
+1F0D1 1F0DF So
+1F100 1F10A No
+1F110 1F12E So
+1F130 1F169 So
+1F170 1F19A So
+1F1E6 1F202 So
+1F210 1F23A So
+1F240 1F248 So
+1F250 1F251 So
+1F300 1F320 So
+1F330 1F335 So
+1F337 1F37C So
+1F380 1F393 So
+1F3A0 1F3C4 So
+1F3C6 1F3CA So
+1F3E0 1F3F0 So
+1F400 1F43E So
+1F440 So
+1F442 1F4F7 So
+1F4F9 1F4FC So
+1F500 1F53D So
+1F550 1F567 So
+1F5FB 1F5FF So
+1F601 1F610 So
+1F612 1F614 So
+1F616 So
+1F618 So
+1F61A So
+1F61C 1F61E So
+1F620 1F625 So
+1F628 1F62B So
+1F62D So
+1F630 1F633 So
+1F635 1F640 So
+1F645 1F64F So
+1F680 1F6C5 So
+1F700 1F773 So
+20000 2A6D6 Lo
+2A700 2B734 Lo
+2B740 2B81D Lo
+2F800 2FA1D Lo
+E0001 Cf
+E0020 E007F Cf
+E0100 E01EF Mn
+F0000 FFFFD Co
+100000 10FFFD Co
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl b/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
new file mode 100644
index 00000000000..9d4d07b705f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
@@ -0,0 +1,822 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToHst'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToHst'}{'missing'} = 'NA';
+
+return <<'END';
+1100 115F L
+1160 11A7 V
+11A8 11FF T
+A960 A97C L
+AC00 LV
+AC01 AC1B LVT
+AC1C LV
+AC1D AC37 LVT
+AC38 LV
+AC39 AC53 LVT
+AC54 LV
+AC55 AC6F LVT
+AC70 LV
+AC71 AC8B LVT
+AC8C LV
+AC8D ACA7 LVT
+ACA8 LV
+ACA9 ACC3 LVT
+ACC4 LV
+ACC5 ACDF LVT
+ACE0 LV
+ACE1 ACFB LVT
+ACFC LV
+ACFD AD17 LVT
+AD18 LV
+AD19 AD33 LVT
+AD34 LV
+AD35 AD4F LVT
+AD50 LV
+AD51 AD6B LVT
+AD6C LV
+AD6D AD87 LVT
+AD88 LV
+AD89 ADA3 LVT
+ADA4 LV
+ADA5 ADBF LVT
+ADC0 LV
+ADC1 ADDB LVT
+ADDC LV
+ADDD ADF7 LVT
+ADF8 LV
+ADF9 AE13 LVT
+AE14 LV
+AE15 AE2F LVT
+AE30 LV
+AE31 AE4B LVT
+AE4C LV
+AE4D AE67 LVT
+AE68 LV
+AE69 AE83 LVT
+AE84 LV
+AE85 AE9F LVT
+AEA0 LV
+AEA1 AEBB LVT
+AEBC LV
+AEBD AED7 LVT
+AED8 LV
+AED9 AEF3 LVT
+AEF4 LV
+AEF5 AF0F LVT
+AF10 LV
+AF11 AF2B LVT
+AF2C LV
+AF2D AF47 LVT
+AF48 LV
+AF49 AF63 LVT
+AF64 LV
+AF65 AF7F LVT
+AF80 LV
+AF81 AF9B LVT
+AF9C LV
+AF9D AFB7 LVT
+AFB8 LV
+AFB9 AFD3 LVT
+AFD4 LV
+AFD5 AFEF LVT
+AFF0 LV
+AFF1 B00B LVT
+B00C LV
+B00D B027 LVT
+B028 LV
+B029 B043 LVT
+B044 LV
+B045 B05F LVT
+B060 LV
+B061 B07B LVT
+B07C LV
+B07D B097 LVT
+B098 LV
+B099 B0B3 LVT
+B0B4 LV
+B0B5 B0CF LVT
+B0D0 LV
+B0D1 B0EB LVT
+B0EC LV
+B0ED B107 LVT
+B108 LV
+B109 B123 LVT
+B124 LV
+B125 B13F LVT
+B140 LV
+B141 B15B LVT
+B15C LV
+B15D B177 LVT
+B178 LV
+B179 B193 LVT
+B194 LV
+B195 B1AF LVT
+B1B0 LV
+B1B1 B1CB LVT
+B1CC LV
+B1CD B1E7 LVT
+B1E8 LV
+B1E9 B203 LVT
+B204 LV
+B205 B21F LVT
+B220 LV
+B221 B23B LVT
+B23C LV
+B23D B257 LVT
+B258 LV
+B259 B273 LVT
+B274 LV
+B275 B28F LVT
+B290 LV
+B291 B2AB LVT
+B2AC LV
+B2AD B2C7 LVT
+B2C8 LV
+B2C9 B2E3 LVT
+B2E4 LV
+B2E5 B2FF LVT
+B300 LV
+B301 B31B LVT
+B31C LV
+B31D B337 LVT
+B338 LV
+B339 B353 LVT
+B354 LV
+B355 B36F LVT
+B370 LV
+B371 B38B LVT
+B38C LV
+B38D B3A7 LVT
+B3A8 LV
+B3A9 B3C3 LVT
+B3C4 LV
+B3C5 B3DF LVT
+B3E0 LV
+B3E1 B3FB LVT
+B3FC LV
+B3FD B417 LVT
+B418 LV
+B419 B433 LVT
+B434 LV
+B435 B44F LVT
+B450 LV
+B451 B46B LVT
+B46C LV
+B46D B487 LVT
+B488 LV
+B489 B4A3 LVT
+B4A4 LV
+B4A5 B4BF LVT
+B4C0 LV
+B4C1 B4DB LVT
+B4DC LV
+B4DD B4F7 LVT
+B4F8 LV
+B4F9 B513 LVT
+B514 LV
+B515 B52F LVT
+B530 LV
+B531 B54B LVT
+B54C LV
+B54D B567 LVT
+B568 LV
+B569 B583 LVT
+B584 LV
+B585 B59F LVT
+B5A0 LV
+B5A1 B5BB LVT
+B5BC LV
+B5BD B5D7 LVT
+B5D8 LV
+B5D9 B5F3 LVT
+B5F4 LV
+B5F5 B60F LVT
+B610 LV
+B611 B62B LVT
+B62C LV
+B62D B647 LVT
+B648 LV
+B649 B663 LVT
+B664 LV
+B665 B67F LVT
+B680 LV
+B681 B69B LVT
+B69C LV
+B69D B6B7 LVT
+B6B8 LV
+B6B9 B6D3 LVT
+B6D4 LV
+B6D5 B6EF LVT
+B6F0 LV
+B6F1 B70B LVT
+B70C LV
+B70D B727 LVT
+B728 LV
+B729 B743 LVT
+B744 LV
+B745 B75F LVT
+B760 LV
+B761 B77B LVT
+B77C LV
+B77D B797 LVT
+B798 LV
+B799 B7B3 LVT
+B7B4 LV
+B7B5 B7CF LVT
+B7D0 LV
+B7D1 B7EB LVT
+B7EC LV
+B7ED B807 LVT
+B808 LV
+B809 B823 LVT
+B824 LV
+B825 B83F LVT
+B840 LV
+B841 B85B LVT
+B85C LV
+B85D B877 LVT
+B878 LV
+B879 B893 LVT
+B894 LV
+B895 B8AF LVT
+B8B0 LV
+B8B1 B8CB LVT
+B8CC LV
+B8CD B8E7 LVT
+B8E8 LV
+B8E9 B903 LVT
+B904 LV
+B905 B91F LVT
+B920 LV
+B921 B93B LVT
+B93C LV
+B93D B957 LVT
+B958 LV
+B959 B973 LVT
+B974 LV
+B975 B98F LVT
+B990 LV
+B991 B9AB LVT
+B9AC LV
+B9AD B9C7 LVT
+B9C8 LV
+B9C9 B9E3 LVT
+B9E4 LV
+B9E5 B9FF LVT
+BA00 LV
+BA01 BA1B LVT
+BA1C LV
+BA1D BA37 LVT
+BA38 LV
+BA39 BA53 LVT
+BA54 LV
+BA55 BA6F LVT
+BA70 LV
+BA71 BA8B LVT
+BA8C LV
+BA8D BAA7 LVT
+BAA8 LV
+BAA9 BAC3 LVT
+BAC4 LV
+BAC5 BADF LVT
+BAE0 LV
+BAE1 BAFB LVT
+BAFC LV
+BAFD BB17 LVT
+BB18 LV
+BB19 BB33 LVT
+BB34 LV
+BB35 BB4F LVT
+BB50 LV
+BB51 BB6B LVT
+BB6C LV
+BB6D BB87 LVT
+BB88 LV
+BB89 BBA3 LVT
+BBA4 LV
+BBA5 BBBF LVT
+BBC0 LV
+BBC1 BBDB LVT
+BBDC LV
+BBDD BBF7 LVT
+BBF8 LV
+BBF9 BC13 LVT
+BC14 LV
+BC15 BC2F LVT
+BC30 LV
+BC31 BC4B LVT
+BC4C LV
+BC4D BC67 LVT
+BC68 LV
+BC69 BC83 LVT
+BC84 LV
+BC85 BC9F LVT
+BCA0 LV
+BCA1 BCBB LVT
+BCBC LV
+BCBD BCD7 LVT
+BCD8 LV
+BCD9 BCF3 LVT
+BCF4 LV
+BCF5 BD0F LVT
+BD10 LV
+BD11 BD2B LVT
+BD2C LV
+BD2D BD47 LVT
+BD48 LV
+BD49 BD63 LVT
+BD64 LV
+BD65 BD7F LVT
+BD80 LV
+BD81 BD9B LVT
+BD9C LV
+BD9D BDB7 LVT
+BDB8 LV
+BDB9 BDD3 LVT
+BDD4 LV
+BDD5 BDEF LVT
+BDF0 LV
+BDF1 BE0B LVT
+BE0C LV
+BE0D BE27 LVT
+BE28 LV
+BE29 BE43 LVT
+BE44 LV
+BE45 BE5F LVT
+BE60 LV
+BE61 BE7B LVT
+BE7C LV
+BE7D BE97 LVT
+BE98 LV
+BE99 BEB3 LVT
+BEB4 LV
+BEB5 BECF LVT
+BED0 LV
+BED1 BEEB LVT
+BEEC LV
+BEED BF07 LVT
+BF08 LV
+BF09 BF23 LVT
+BF24 LV
+BF25 BF3F LVT
+BF40 LV
+BF41 BF5B LVT
+BF5C LV
+BF5D BF77 LVT
+BF78 LV
+BF79 BF93 LVT
+BF94 LV
+BF95 BFAF LVT
+BFB0 LV
+BFB1 BFCB LVT
+BFCC LV
+BFCD BFE7 LVT
+BFE8 LV
+BFE9 C003 LVT
+C004 LV
+C005 C01F LVT
+C020 LV
+C021 C03B LVT
+C03C LV
+C03D C057 LVT
+C058 LV
+C059 C073 LVT
+C074 LV
+C075 C08F LVT
+C090 LV
+C091 C0AB LVT
+C0AC LV
+C0AD C0C7 LVT
+C0C8 LV
+C0C9 C0E3 LVT
+C0E4 LV
+C0E5 C0FF LVT
+C100 LV
+C101 C11B LVT
+C11C LV
+C11D C137 LVT
+C138 LV
+C139 C153 LVT
+C154 LV
+C155 C16F LVT
+C170 LV
+C171 C18B LVT
+C18C LV
+C18D C1A7 LVT
+C1A8 LV
+C1A9 C1C3 LVT
+C1C4 LV
+C1C5 C1DF LVT
+C1E0 LV
+C1E1 C1FB LVT
+C1FC LV
+C1FD C217 LVT
+C218 LV
+C219 C233 LVT
+C234 LV
+C235 C24F LVT
+C250 LV
+C251 C26B LVT
+C26C LV
+C26D C287 LVT
+C288 LV
+C289 C2A3 LVT
+C2A4 LV
+C2A5 C2BF LVT
+C2C0 LV
+C2C1 C2DB LVT
+C2DC LV
+C2DD C2F7 LVT
+C2F8 LV
+C2F9 C313 LVT
+C314 LV
+C315 C32F LVT
+C330 LV
+C331 C34B LVT
+C34C LV
+C34D C367 LVT
+C368 LV
+C369 C383 LVT
+C384 LV
+C385 C39F LVT
+C3A0 LV
+C3A1 C3BB LVT
+C3BC LV
+C3BD C3D7 LVT
+C3D8 LV
+C3D9 C3F3 LVT
+C3F4 LV
+C3F5 C40F LVT
+C410 LV
+C411 C42B LVT
+C42C LV
+C42D C447 LVT
+C448 LV
+C449 C463 LVT
+C464 LV
+C465 C47F LVT
+C480 LV
+C481 C49B LVT
+C49C LV
+C49D C4B7 LVT
+C4B8 LV
+C4B9 C4D3 LVT
+C4D4 LV
+C4D5 C4EF LVT
+C4F0 LV
+C4F1 C50B LVT
+C50C LV
+C50D C527 LVT
+C528 LV
+C529 C543 LVT
+C544 LV
+C545 C55F LVT
+C560 LV
+C561 C57B LVT
+C57C LV
+C57D C597 LVT
+C598 LV
+C599 C5B3 LVT
+C5B4 LV
+C5B5 C5CF LVT
+C5D0 LV
+C5D1 C5EB LVT
+C5EC LV
+C5ED C607 LVT
+C608 LV
+C609 C623 LVT
+C624 LV
+C625 C63F LVT
+C640 LV
+C641 C65B LVT
+C65C LV
+C65D C677 LVT
+C678 LV
+C679 C693 LVT
+C694 LV
+C695 C6AF LVT
+C6B0 LV
+C6B1 C6CB LVT
+C6CC LV
+C6CD C6E7 LVT
+C6E8 LV
+C6E9 C703 LVT
+C704 LV
+C705 C71F LVT
+C720 LV
+C721 C73B LVT
+C73C LV
+C73D C757 LVT
+C758 LV
+C759 C773 LVT
+C774 LV
+C775 C78F LVT
+C790 LV
+C791 C7AB LVT
+C7AC LV
+C7AD C7C7 LVT
+C7C8 LV
+C7C9 C7E3 LVT
+C7E4 LV
+C7E5 C7FF LVT
+C800 LV
+C801 C81B LVT
+C81C LV
+C81D C837 LVT
+C838 LV
+C839 C853 LVT
+C854 LV
+C855 C86F LVT
+C870 LV
+C871 C88B LVT
+C88C LV
+C88D C8A7 LVT
+C8A8 LV
+C8A9 C8C3 LVT
+C8C4 LV
+C8C5 C8DF LVT
+C8E0 LV
+C8E1 C8FB LVT
+C8FC LV
+C8FD C917 LVT
+C918 LV
+C919 C933 LVT
+C934 LV
+C935 C94F LVT
+C950 LV
+C951 C96B LVT
+C96C LV
+C96D C987 LVT
+C988 LV
+C989 C9A3 LVT
+C9A4 LV
+C9A5 C9BF LVT
+C9C0 LV
+C9C1 C9DB LVT
+C9DC LV
+C9DD C9F7 LVT
+C9F8 LV
+C9F9 CA13 LVT
+CA14 LV
+CA15 CA2F LVT
+CA30 LV
+CA31 CA4B LVT
+CA4C LV
+CA4D CA67 LVT
+CA68 LV
+CA69 CA83 LVT
+CA84 LV
+CA85 CA9F LVT
+CAA0 LV
+CAA1 CABB LVT
+CABC LV
+CABD CAD7 LVT
+CAD8 LV
+CAD9 CAF3 LVT
+CAF4 LV
+CAF5 CB0F LVT
+CB10 LV
+CB11 CB2B LVT
+CB2C LV
+CB2D CB47 LVT
+CB48 LV
+CB49 CB63 LVT
+CB64 LV
+CB65 CB7F LVT
+CB80 LV
+CB81 CB9B LVT
+CB9C LV
+CB9D CBB7 LVT
+CBB8 LV
+CBB9 CBD3 LVT
+CBD4 LV
+CBD5 CBEF LVT
+CBF0 LV
+CBF1 CC0B LVT
+CC0C LV
+CC0D CC27 LVT
+CC28 LV
+CC29 CC43 LVT
+CC44 LV
+CC45 CC5F LVT
+CC60 LV
+CC61 CC7B LVT
+CC7C LV
+CC7D CC97 LVT
+CC98 LV
+CC99 CCB3 LVT
+CCB4 LV
+CCB5 CCCF LVT
+CCD0 LV
+CCD1 CCEB LVT
+CCEC LV
+CCED CD07 LVT
+CD08 LV
+CD09 CD23 LVT
+CD24 LV
+CD25 CD3F LVT
+CD40 LV
+CD41 CD5B LVT
+CD5C LV
+CD5D CD77 LVT
+CD78 LV
+CD79 CD93 LVT
+CD94 LV
+CD95 CDAF LVT
+CDB0 LV
+CDB1 CDCB LVT
+CDCC LV
+CDCD CDE7 LVT
+CDE8 LV
+CDE9 CE03 LVT
+CE04 LV
+CE05 CE1F LVT
+CE20 LV
+CE21 CE3B LVT
+CE3C LV
+CE3D CE57 LVT
+CE58 LV
+CE59 CE73 LVT
+CE74 LV
+CE75 CE8F LVT
+CE90 LV
+CE91 CEAB LVT
+CEAC LV
+CEAD CEC7 LVT
+CEC8 LV
+CEC9 CEE3 LVT
+CEE4 LV
+CEE5 CEFF LVT
+CF00 LV
+CF01 CF1B LVT
+CF1C LV
+CF1D CF37 LVT
+CF38 LV
+CF39 CF53 LVT
+CF54 LV
+CF55 CF6F LVT
+CF70 LV
+CF71 CF8B LVT
+CF8C LV
+CF8D CFA7 LVT
+CFA8 LV
+CFA9 CFC3 LVT
+CFC4 LV
+CFC5 CFDF LVT
+CFE0 LV
+CFE1 CFFB LVT
+CFFC LV
+CFFD D017 LVT
+D018 LV
+D019 D033 LVT
+D034 LV
+D035 D04F LVT
+D050 LV
+D051 D06B LVT
+D06C LV
+D06D D087 LVT
+D088 LV
+D089 D0A3 LVT
+D0A4 LV
+D0A5 D0BF LVT
+D0C0 LV
+D0C1 D0DB LVT
+D0DC LV
+D0DD D0F7 LVT
+D0F8 LV
+D0F9 D113 LVT
+D114 LV
+D115 D12F LVT
+D130 LV
+D131 D14B LVT
+D14C LV
+D14D D167 LVT
+D168 LV
+D169 D183 LVT
+D184 LV
+D185 D19F LVT
+D1A0 LV
+D1A1 D1BB LVT
+D1BC LV
+D1BD D1D7 LVT
+D1D8 LV
+D1D9 D1F3 LVT
+D1F4 LV
+D1F5 D20F LVT
+D210 LV
+D211 D22B LVT
+D22C LV
+D22D D247 LVT
+D248 LV
+D249 D263 LVT
+D264 LV
+D265 D27F LVT
+D280 LV
+D281 D29B LVT
+D29C LV
+D29D D2B7 LVT
+D2B8 LV
+D2B9 D2D3 LVT
+D2D4 LV
+D2D5 D2EF LVT
+D2F0 LV
+D2F1 D30B LVT
+D30C LV
+D30D D327 LVT
+D328 LV
+D329 D343 LVT
+D344 LV
+D345 D35F LVT
+D360 LV
+D361 D37B LVT
+D37C LV
+D37D D397 LVT
+D398 LV
+D399 D3B3 LVT
+D3B4 LV
+D3B5 D3CF LVT
+D3D0 LV
+D3D1 D3EB LVT
+D3EC LV
+D3ED D407 LVT
+D408 LV
+D409 D423 LVT
+D424 LV
+D425 D43F LVT
+D440 LV
+D441 D45B LVT
+D45C LV
+D45D D477 LVT
+D478 LV
+D479 D493 LVT
+D494 LV
+D495 D4AF LVT
+D4B0 LV
+D4B1 D4CB LVT
+D4CC LV
+D4CD D4E7 LVT
+D4E8 LV
+D4E9 D503 LVT
+D504 LV
+D505 D51F LVT
+D520 LV
+D521 D53B LVT
+D53C LV
+D53D D557 LVT
+D558 LV
+D559 D573 LVT
+D574 LV
+D575 D58F LVT
+D590 LV
+D591 D5AB LVT
+D5AC LV
+D5AD D5C7 LVT
+D5C8 LV
+D5C9 D5E3 LVT
+D5E4 LV
+D5E5 D5FF LVT
+D600 LV
+D601 D61B LVT
+D61C LV
+D61D D637 LVT
+D638 LV
+D639 D653 LVT
+D654 LV
+D655 D66F LVT
+D670 LV
+D671 D68B LVT
+D68C LV
+D68D D6A7 LVT
+D6A8 LV
+D6A9 D6C3 LVT
+D6C4 LV
+D6C5 D6DF LVT
+D6E0 LV
+D6E1 D6FB LVT
+D6FC LV
+D6FD D717 LVT
+D718 LV
+D719 D733 LVT
+D734 LV
+D735 D74F LVT
+D750 LV
+D751 D76B LVT
+D76C LV
+D76D D787 LVT
+D788 LV
+D789 D7A3 LVT
+D7B0 D7C6 V
+D7CB D7FB T
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl b/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
new file mode 100644
index 00000000000..6ece48801c7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
@@ -0,0 +1,144 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToJg'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToJg'}{'missing'} = 'No_Joining_Group';
+
+return <<'END';
+0620 Yeh
+0622 0623 Alef
+0624 Waw
+0625 Alef
+0626 Yeh
+0627 Alef
+0628 Beh
+0629 Teh_Marbuta
+062A 062B Beh
+062C 062E Hah
+062F 0630 Dal
+0631 0632 Reh
+0633 0634 Seen
+0635 0636 Sad
+0637 0638 Tah
+0639 063A Ain
+063B 063C Gaf
+063D 063F Farsi_Yeh
+0641 Feh
+0642 Qaf
+0643 Kaf
+0644 Lam
+0645 Meem
+0646 Noon
+0647 Heh
+0648 Waw
+0649 064A Yeh
+066E Beh
+066F Qaf
+0671 0673 Alef
+0675 Alef
+0676 0677 Waw
+0678 Yeh
+0679 0680 Beh
+0681 0687 Hah
+0688 0690 Dal
+0691 0699 Reh
+069A 069C Seen
+069D 069E Sad
+069F Tah
+06A0 Ain
+06A1 06A6 Feh
+06A7 06A8 Qaf
+06A9 Gaf
+06AA Swash_Kaf
+06AB Gaf
+06AC 06AE Kaf
+06AF 06B4 Gaf
+06B5 06B8 Lam
+06B9 06BC Noon
+06BD Nya
+06BE Knotted_Heh
+06BF Hah
+06C0 Teh_Marbuta
+06C1 06C2 Heh_Goal
+06C3 Teh_Marbuta_Goal
+06C4 06CB Waw
+06CC Farsi_Yeh
+06CD Yeh_With_Tail
+06CE Farsi_Yeh
+06CF Waw
+06D0 06D1 Yeh
+06D2 06D3 Yeh_Barree
+06D5 Teh_Marbuta
+06EE Dal
+06EF Reh
+06FA Seen
+06FB Sad
+06FC Ain
+06FF Knotted_Heh
+0710 Alaph
+0712 Beth
+0713 0714 Gamal
+0715 0716 Dalath_Rish
+0717 He
+0718 Syriac_Waw
+0719 Zain
+071A Heth
+071B 071C Teth
+071D Yudh
+071E Yudh_He
+071F Kaph
+0720 Lamadh
+0721 Mim
+0722 Nun
+0723 Semkath
+0724 Final_Semkath
+0725 E
+0726 Pe
+0727 Reversed_Pe
+0728 Sadhe
+0729 Qaph
+072A Dalath_Rish
+072B Shin
+072C Taw
+072D Beth
+072E Gamal
+072F Dalath_Rish
+074D Zhain
+074E Khaph
+074F Fe
+0750 0756 Beh
+0757 0758 Hah
+0759 075A Dal
+075B Reh
+075C Seen
+075D 075F Ain
+0760 0761 Feh
+0762 0764 Gaf
+0765 0766 Meem
+0767 0769 Noon
+076A Lam
+076B 076C Reh
+076D Seen
+076E 076F Hah
+0770 Seen
+0771 Reh
+0772 Hah
+0773 0774 Alef
+0775 0776 Farsi_Yeh
+0777 Yeh
+0778 0779 Waw
+077A 077B Burushaski_Yeh_Barree
+077C Hah
+077D 077E Seen
+077F Kaf
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
new file mode 100644
index 00000000000..06a4606a6d6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
@@ -0,0 +1,292 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToJt'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToJt'}{'missing'} = 'Non_Joining';
+
+return <<'END';
+00AD T
+0300 036F T
+0483 0489 T
+0591 05BD T
+05BF T
+05C1 05C2 T
+05C4 05C5 T
+05C7 T
+0610 061A T
+0620 D
+0622 0625 R
+0626 D
+0627 R
+0628 D
+0629 R
+062A 062E D
+062F 0632 R
+0633 063F D
+0640 C
+0641 0647 D
+0648 R
+0649 064A D
+064B 065F T
+066E 066F D
+0670 T
+0671 0673 R
+0675 0677 R
+0678 0687 D
+0688 0699 R
+069A 06BF D
+06C0 R
+06C1 06C2 D
+06C3 06CB R
+06CC D
+06CD R
+06CE D
+06CF R
+06D0 06D1 D
+06D2 06D3 R
+06D5 R
+06D6 06DC T
+06DF 06E4 T
+06E7 06E8 T
+06EA 06ED T
+06EE 06EF R
+06FA 06FC D
+06FF D
+070F T
+0710 R
+0711 T
+0712 0714 D
+0715 0719 R
+071A 071D D
+071E R
+071F 0727 D
+0728 R
+0729 D
+072A R
+072B D
+072C R
+072D 072E D
+072F R
+0730 074A T
+074D R
+074E 0758 D
+0759 075B R
+075C 076A D
+076B 076C R
+076D 0770 D
+0771 R
+0772 D
+0773 0774 R
+0775 0777 D
+0778 0779 R
+077A 077F D
+07A6 07B0 T
+07CA 07EA D
+07EB 07F3 T
+07FA C
+0816 0819 T
+081B 0823 T
+0825 0827 T
+0829 082D T
+0859 085B T
+0900 0902 T
+093A T
+093C T
+0941 0948 T
+094D T
+0951 0957 T
+0962 0963 T
+0981 T
+09BC T
+09C1 09C4 T
+09CD T
+09E2 09E3 T
+0A01 0A02 T
+0A3C T
+0A41 0A42 T
+0A47 0A48 T
+0A4B 0A4D T
+0A51 T
+0A70 0A71 T
+0A75 T
+0A81 0A82 T
+0ABC T
+0AC1 0AC5 T
+0AC7 0AC8 T
+0ACD T
+0AE2 0AE3 T
+0B01 T
+0B3C T
+0B3F T
+0B41 0B44 T
+0B4D T
+0B56 T
+0B62 0B63 T
+0B82 T
+0BC0 T
+0BCD T
+0C3E 0C40 T
+0C46 0C48 T
+0C4A 0C4D T
+0C55 0C56 T
+0C62 0C63 T
+0CBC T
+0CBF T
+0CC6 T
+0CCC 0CCD T
+0CE2 0CE3 T
+0D41 0D44 T
+0D4D T
+0D62 0D63 T
+0DCA T
+0DD2 0DD4 T
+0DD6 T
+0E31 T
+0E34 0E3A T
+0E47 0E4E T
+0EB1 T
+0EB4 0EB9 T
+0EBB 0EBC T
+0EC8 0ECD T
+0F18 0F19 T
+0F35 T
+0F37 T
+0F39 T
+0F71 0F7E T
+0F80 0F84 T
+0F86 0F87 T
+0F8D 0F97 T
+0F99 0FBC T
+0FC6 T
+102D 1030 T
+1032 1037 T
+1039 103A T
+103D 103E T
+1058 1059 T
+105E 1060 T
+1071 1074 T
+1082 T
+1085 1086 T
+108D T
+109D T
+135D 135F T
+1712 1714 T
+1732 1734 T
+1752 1753 T
+1772 1773 T
+17B4 17B5 T
+17B7 17BD T
+17C6 T
+17C9 17D3 T
+17DD T
+180B 180D T
+18A9 T
+1920 1922 T
+1927 1928 T
+1932 T
+1939 193B T
+1A17 1A18 T
+1A56 T
+1A58 1A5E T
+1A60 T
+1A62 T
+1A65 1A6C T
+1A73 1A7C T
+1A7F T
+1B00 1B03 T
+1B34 T
+1B36 1B3A T
+1B3C T
+1B42 T
+1B6B 1B73 T
+1B80 1B81 T
+1BA2 1BA5 T
+1BA8 1BA9 T
+1BE6 T
+1BE8 1BE9 T
+1BED T
+1BEF 1BF1 T
+1C2C 1C33 T
+1C36 1C37 T
+1CD0 1CD2 T
+1CD4 1CE0 T
+1CE2 1CE8 T
+1CED T
+1DC0 1DE6 T
+1DFC 1DFF T
+200B T
+200D C
+200E 200F T
+202A 202E T
+2060 2064 T
+206A 206F T
+20D0 20F0 T
+2CEF 2CF1 T
+2D7F T
+2DE0 2DFF T
+302A 302F T
+3099 309A T
+A66F A672 T
+A67C A67D T
+A6F0 A6F1 T
+A802 T
+A806 T
+A80B T
+A825 A826 T
+A8C4 T
+A8E0 A8F1 T
+A926 A92D T
+A947 A951 T
+A980 A982 T
+A9B3 T
+A9B6 A9B9 T
+A9BC T
+AA29 AA2E T
+AA31 AA32 T
+AA35 AA36 T
+AA43 T
+AA4C T
+AAB0 T
+AAB2 AAB4 T
+AAB7 AAB8 T
+AABE AABF T
+AAC1 T
+ABE5 T
+ABE8 T
+ABED T
+FB1E T
+FE00 FE0F T
+FE20 FE26 T
+FEFF T
+FFF9 FFFB T
+101FD T
+10A01 10A03 T
+10A05 10A06 T
+10A0C 10A0F T
+10A38 10A3A T
+10A3F T
+11001 T
+11038 11046 T
+11080 11081 T
+110B3 110B6 T
+110B9 110BA T
+110BD T
+1D167 1D169 T
+1D173 1D182 T
+1D185 1D18B T
+1D1AA 1D1AD T
+1D242 1D244 T
+E0001 T
+E0020 E007F T
+E0100 E01EF T
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
new file mode 100644
index 00000000000..a095bffa4f1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
@@ -0,0 +1,2195 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToLb'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToLb'}{'missing'} = 'Unknown';
+
+return <<'END';
+0000 0008 CM
+0009 BA
+000A LF
+000B 000C BK
+000D CR
+000E 001F CM
+0020 SP
+0021 EX
+0022 QU
+0023 AL
+0024 PR
+0025 PO
+0026 AL
+0027 QU
+0028 OP
+0029 CP
+002A AL
+002B PR
+002C IS
+002D HY
+002E IS
+002F SY
+0030 0039 NU
+003A 003B IS
+003C 003E AL
+003F EX
+0040 005A AL
+005B OP
+005C PR
+005D CP
+005E 007A AL
+007B OP
+007C BA
+007D CL
+007E AL
+007F 0084 CM
+0085 NL
+0086 009F CM
+00A0 GL
+00A1 OP
+00A2 PO
+00A3 00A5 PR
+00A6 AL
+00A7 00A8 AI
+00A9 AL
+00AA AI
+00AB QU
+00AC AL
+00AD BA
+00AE 00AF AL
+00B0 PO
+00B1 PR
+00B2 00B3 AI
+00B4 BB
+00B5 AL
+00B6 00BA AI
+00BB QU
+00BC 00BE AI
+00BF OP
+00C0 00D6 AL
+00D7 AI
+00D8 00F6 AL
+00F7 AI
+00F8 02C6 AL
+02C7 AI
+02C8 BB
+02C9 02CB AI
+02CC BB
+02CD AI
+02CE 02CF AL
+02D0 AI
+02D1 02D7 AL
+02D8 02DB AI
+02DC AL
+02DD AI
+02DE AL
+02DF BB
+02E0 02FF AL
+0300 034E CM
+034F GL
+0350 035B CM
+035C 0362 GL
+0363 036F CM
+0370 0377 AL
+037A 037D AL
+037E IS
+0384 038A AL
+038C AL
+038E 03A1 AL
+03A3 0482 AL
+0483 0489 CM
+048A 0527 AL
+0531 0556 AL
+0559 055F AL
+0561 0587 AL
+0589 IS
+058A BA
+0591 05BD CM
+05BE BA
+05BF CM
+05C0 AL
+05C1 05C2 CM
+05C3 AL
+05C4 05C5 CM
+05C6 EX
+05C7 CM
+05D0 05EA AL
+05F0 05F4 AL
+0600 0603 AL
+0606 0608 AL
+0609 060B PO
+060C 060D IS
+060E 060F AL
+0610 061A CM
+061B EX
+061E 061F EX
+0620 064A AL
+064B 065F CM
+0660 0669 NU
+066A PO
+066B 066C NU
+066D 066F AL
+0670 CM
+0671 06D3 AL
+06D4 EX
+06D5 AL
+06D6 06DC CM
+06DD 06DE AL
+06DF 06E4 CM
+06E5 06E6 AL
+06E7 06E8 CM
+06E9 AL
+06EA 06ED CM
+06EE 06EF AL
+06F0 06F9 NU
+06FA 070D AL
+070F 0710 AL
+0711 CM
+0712 072F AL
+0730 074A CM
+074D 07A5 AL
+07A6 07B0 CM
+07B1 AL
+07C0 07C9 NU
+07CA 07EA AL
+07EB 07F3 CM
+07F4 07F7 AL
+07F8 IS
+07F9 EX
+07FA AL
+0800 0815 AL
+0816 0819 CM
+081A AL
+081B 0823 CM
+0824 AL
+0825 0827 CM
+0828 AL
+0829 082D CM
+0830 083E AL
+0840 0858 AL
+0859 085B CM
+085E AL
+0900 0903 CM
+0904 0939 AL
+093A 093C CM
+093D AL
+093E 094F CM
+0950 AL
+0951 0957 CM
+0958 0961 AL
+0962 0963 CM
+0964 0965 BA
+0966 096F NU
+0970 0977 AL
+0979 097F AL
+0981 0983 CM
+0985 098C AL
+098F 0990 AL
+0993 09A8 AL
+09AA 09B0 AL
+09B2 AL
+09B6 09B9 AL
+09BC CM
+09BD AL
+09BE 09C4 CM
+09C7 09C8 CM
+09CB 09CD CM
+09CE AL
+09D7 CM
+09DC 09DD AL
+09DF 09E1 AL
+09E2 09E3 CM
+09E6 09EF NU
+09F0 09F1 AL
+09F2 09F3 PO
+09F4 09F8 AL
+09F9 PO
+09FA AL
+09FB PR
+0A01 0A03 CM
+0A05 0A0A AL
+0A0F 0A10 AL
+0A13 0A28 AL
+0A2A 0A30 AL
+0A32 0A33 AL
+0A35 0A36 AL
+0A38 0A39 AL
+0A3C CM
+0A3E 0A42 CM
+0A47 0A48 CM
+0A4B 0A4D CM
+0A51 CM
+0A59 0A5C AL
+0A5E AL
+0A66 0A6F NU
+0A70 0A71 CM
+0A72 0A74 AL
+0A75 CM
+0A81 0A83 CM
+0A85 0A8D AL
+0A8F 0A91 AL
+0A93 0AA8 AL
+0AAA 0AB0 AL
+0AB2 0AB3 AL
+0AB5 0AB9 AL
+0ABC CM
+0ABD AL
+0ABE 0AC5 CM
+0AC7 0AC9 CM
+0ACB 0ACD CM
+0AD0 AL
+0AE0 0AE1 AL
+0AE2 0AE3 CM
+0AE6 0AEF NU
+0AF1 PR
+0B01 0B03 CM
+0B05 0B0C AL
+0B0F 0B10 AL
+0B13 0B28 AL
+0B2A 0B30 AL
+0B32 0B33 AL
+0B35 0B39 AL
+0B3C CM
+0B3D AL
+0B3E 0B44 CM
+0B47 0B48 CM
+0B4B 0B4D CM
+0B56 0B57 CM
+0B5C 0B5D AL
+0B5F 0B61 AL
+0B62 0B63 CM
+0B66 0B6F NU
+0B70 0B77 AL
+0B82 CM
+0B83 AL
+0B85 0B8A AL
+0B8E 0B90 AL
+0B92 0B95 AL
+0B99 0B9A AL
+0B9C AL
+0B9E 0B9F AL
+0BA3 0BA4 AL
+0BA8 0BAA AL
+0BAE 0BB9 AL
+0BBE 0BC2 CM
+0BC6 0BC8 CM
+0BCA 0BCD CM
+0BD0 AL
+0BD7 CM
+0BE6 0BEF NU
+0BF0 0BF8 AL
+0BF9 PR
+0BFA AL
+0C01 0C03 CM
+0C05 0C0C AL
+0C0E 0C10 AL
+0C12 0C28 AL
+0C2A 0C33 AL
+0C35 0C39 AL
+0C3D AL
+0C3E 0C44 CM
+0C46 0C48 CM
+0C4A 0C4D CM
+0C55 0C56 CM
+0C58 0C59 AL
+0C60 0C61 AL
+0C62 0C63 CM
+0C66 0C6F NU
+0C78 0C7F AL
+0C82 0C83 CM
+0C85 0C8C AL
+0C8E 0C90 AL
+0C92 0CA8 AL
+0CAA 0CB3 AL
+0CB5 0CB9 AL
+0CBC CM
+0CBD AL
+0CBE 0CC4 CM
+0CC6 0CC8 CM
+0CCA 0CCD CM
+0CD5 0CD6 CM
+0CDE AL
+0CE0 0CE1 AL
+0CE2 0CE3 CM
+0CE6 0CEF NU
+0CF1 0CF2 AL
+0D02 0D03 CM
+0D05 0D0C AL
+0D0E 0D10 AL
+0D12 0D3A AL
+0D3D AL
+0D3E 0D44 CM
+0D46 0D48 CM
+0D4A 0D4D CM
+0D4E AL
+0D57 CM
+0D60 0D61 AL
+0D62 0D63 CM
+0D66 0D6F NU
+0D70 0D75 AL
+0D79 PO
+0D7A 0D7F AL
+0D82 0D83 CM
+0D85 0D96 AL
+0D9A 0DB1 AL
+0DB3 0DBB AL
+0DBD AL
+0DC0 0DC6 AL
+0DCA CM
+0DCF 0DD4 CM
+0DD6 CM
+0DD8 0DDF CM
+0DF2 0DF3 CM
+0DF4 AL
+0E01 0E3A SA
+0E3F PR
+0E40 0E4E SA
+0E4F AL
+0E50 0E59 NU
+0E5A 0E5B BA
+0E81 0E82 SA
+0E84 SA
+0E87 0E88 SA
+0E8A SA
+0E8D SA
+0E94 0E97 SA
+0E99 0E9F SA
+0EA1 0EA3 SA
+0EA5 SA
+0EA7 SA
+0EAA 0EAB SA
+0EAD 0EB9 SA
+0EBB 0EBD SA
+0EC0 0EC4 SA
+0EC6 SA
+0EC8 0ECD SA
+0ED0 0ED9 NU
+0EDC 0EDD SA
+0F00 AL
+0F01 0F04 BB
+0F05 AL
+0F06 0F07 BB
+0F08 GL
+0F09 0F0A BB
+0F0B BA
+0F0C GL
+0F0D 0F11 EX
+0F12 GL
+0F13 AL
+0F14 EX
+0F15 0F17 AL
+0F18 0F19 CM
+0F1A 0F1F AL
+0F20 0F29 NU
+0F2A 0F33 AL
+0F34 BA
+0F35 CM
+0F36 AL
+0F37 CM
+0F38 AL
+0F39 CM
+0F3A OP
+0F3B CL
+0F3C OP
+0F3D CL
+0F3E 0F3F CM
+0F40 0F47 AL
+0F49 0F6C AL
+0F71 0F7E CM
+0F7F BA
+0F80 0F84 CM
+0F85 BA
+0F86 0F87 CM
+0F88 0F8C AL
+0F8D 0F97 CM
+0F99 0FBC CM
+0FBE 0FBF BA
+0FC0 0FC5 AL
+0FC6 CM
+0FC7 0FCC AL
+0FCE 0FCF AL
+0FD0 0FD1 BB
+0FD2 BA
+0FD3 BB
+0FD4 0FD8 AL
+0FD9 0FDA GL
+1000 103F SA
+1040 1049 NU
+104A 104B BA
+104C 104F AL
+1050 108F SA
+1090 1099 NU
+109A 109F SA
+10A0 10C5 AL
+10D0 10FC AL
+1100 115F JL
+1160 11A7 JV
+11A8 11FF JT
+1200 1248 AL
+124A 124D AL
+1250 1256 AL
+1258 AL
+125A 125D AL
+1260 1288 AL
+128A 128D AL
+1290 12B0 AL
+12B2 12B5 AL
+12B8 12BE AL
+12C0 AL
+12C2 12C5 AL
+12C8 12D6 AL
+12D8 1310 AL
+1312 1315 AL
+1318 135A AL
+135D 135F CM
+1360 AL
+1361 BA
+1362 137C AL
+1380 1399 AL
+13A0 13F4 AL
+1400 BA
+1401 167F AL
+1680 BA
+1681 169A AL
+169B OP
+169C CL
+16A0 16EA AL
+16EB 16ED BA
+16EE 16F0 AL
+1700 170C AL
+170E 1711 AL
+1712 1714 CM
+1720 1731 AL
+1732 1734 CM
+1735 1736 BA
+1740 1751 AL
+1752 1753 CM
+1760 176C AL
+176E 1770 AL
+1772 1773 CM
+1780 17D3 SA
+17D4 17D5 BA
+17D6 NS
+17D7 SA
+17D8 BA
+17D9 AL
+17DA BA
+17DB PR
+17DC 17DD SA
+17E0 17E9 NU
+17F0 17F9 AL
+1800 1801 AL
+1802 1803 EX
+1804 1805 BA
+1806 BB
+1807 AL
+1808 1809 EX
+180A AL
+180B 180D CM
+180E GL
+1810 1819 NU
+1820 1877 AL
+1880 18A8 AL
+18A9 CM
+18AA AL
+18B0 18F5 AL
+1900 191C AL
+1920 192B CM
+1930 193B CM
+1940 AL
+1944 1945 EX
+1946 194F NU
+1950 196D SA
+1970 1974 SA
+1980 19AB SA
+19B0 19C9 SA
+19D0 19D9 NU
+19DA SA
+19DE 19DF SA
+19E0 1A16 AL
+1A17 1A1B CM
+1A1E 1A1F AL
+1A20 1A5E SA
+1A60 1A7C SA
+1A7F CM
+1A80 1A89 NU
+1A90 1A99 NU
+1AA0 1AAD SA
+1B00 1B04 CM
+1B05 1B33 AL
+1B34 1B44 CM
+1B45 1B4B AL
+1B50 1B59 NU
+1B5A 1B5B BA
+1B5C AL
+1B5D 1B60 BA
+1B61 1B6A AL
+1B6B 1B73 CM
+1B74 1B7C AL
+1B80 1B82 CM
+1B83 1BA0 AL
+1BA1 1BAA CM
+1BAE 1BAF AL
+1BB0 1BB9 NU
+1BC0 1BE5 AL
+1BE6 1BF3 CM
+1BFC 1C23 AL
+1C24 1C37 CM
+1C3B 1C3F BA
+1C40 1C49 NU
+1C4D 1C4F AL
+1C50 1C59 NU
+1C5A 1C7D AL
+1C7E 1C7F BA
+1CD0 1CD2 CM
+1CD3 AL
+1CD4 1CE8 CM
+1CE9 1CEC AL
+1CED CM
+1CEE 1CF1 AL
+1CF2 CM
+1D00 1DBF AL
+1DC0 1DE6 CM
+1DFC 1DFF CM
+1E00 1F15 AL
+1F18 1F1D AL
+1F20 1F45 AL
+1F48 1F4D AL
+1F50 1F57 AL
+1F59 AL
+1F5B AL
+1F5D AL
+1F5F 1F7D AL
+1F80 1FB4 AL
+1FB6 1FC4 AL
+1FC6 1FD3 AL
+1FD6 1FDB AL
+1FDD 1FEF AL
+1FF2 1FF4 AL
+1FF6 1FFC AL
+1FFD BB
+1FFE AL
+2000 2006 BA
+2007 GL
+2008 200A BA
+200B ZW
+200C 200F CM
+2010 BA
+2011 GL
+2012 2013 BA
+2014 B2
+2015 2016 AI
+2017 AL
+2018 2019 QU
+201A OP
+201B 201D QU
+201E OP
+201F QU
+2020 2021 AI
+2022 2023 AL
+2024 2026 IN
+2027 BA
+2028 2029 BK
+202A 202E CM
+202F GL
+2030 2037 PO
+2038 AL
+2039 203A QU
+203B AI
+203C 203D NS
+203E 2043 AL
+2044 IS
+2045 OP
+2046 CL
+2047 2049 NS
+204A 2055 AL
+2056 BA
+2057 AL
+2058 205B BA
+205C AL
+205D 205F BA
+2060 WJ
+2061 2064 AL
+206A 206F CM
+2070 2071 AL
+2074 AI
+2075 207C AL
+207D OP
+207E CL
+207F AI
+2080 AL
+2081 2084 AI
+2085 208C AL
+208D OP
+208E CL
+2090 209C AL
+20A0 20A6 PR
+20A7 PO
+20A8 20B5 PR
+20B6 PO
+20B7 20B9 PR
+20D0 20F0 CM
+2100 2102 AL
+2103 PO
+2104 AL
+2105 AI
+2106 2108 AL
+2109 PO
+210A 2112 AL
+2113 AI
+2114 2115 AL
+2116 PR
+2117 2120 AL
+2121 2122 AI
+2123 212A AL
+212B AI
+212C 2153 AL
+2154 2155 AI
+2156 215A AL
+215B AI
+215C 215D AL
+215E AI
+215F AL
+2160 216B AI
+216C 216F AL
+2170 2179 AI
+217A 2188 AL
+2189 AI
+2190 2199 AI
+219A 21D1 AL
+21D2 AI
+21D3 AL
+21D4 AI
+21D5 21FF AL
+2200 AI
+2201 AL
+2202 2203 AI
+2204 2206 AL
+2207 2208 AI
+2209 220A AL
+220B AI
+220C 220E AL
+220F AI
+2210 AL
+2211 AI
+2212 2213 PR
+2214 AL
+2215 AI
+2216 2219 AL
+221A AI
+221B 221C AL
+221D 2220 AI
+2221 2222 AL
+2223 AI
+2224 AL
+2225 AI
+2226 AL
+2227 222C AI
+222D AL
+222E AI
+222F 2233 AL
+2234 2237 AI
+2238 223B AL
+223C 223D AI
+223E 2247 AL
+2248 AI
+2249 224B AL
+224C AI
+224D 2251 AL
+2252 AI
+2253 225F AL
+2260 2261 AI
+2262 2263 AL
+2264 2267 AI
+2268 2269 AL
+226A 226B AI
+226C 226D AL
+226E 226F AI
+2270 2281 AL
+2282 2283 AI
+2284 2285 AL
+2286 2287 AI
+2288 2294 AL
+2295 AI
+2296 2298 AL
+2299 AI
+229A 22A4 AL
+22A5 AI
+22A6 22BE AL
+22BF AI
+22C0 2311 AL
+2312 AI
+2313 2328 AL
+2329 OP
+232A CL
+232B 23F3 AL
+2400 2426 AL
+2440 244A AL
+2460 24FE AI
+24FF AL
+2500 254B AI
+254C 254F AL
+2550 2574 AI
+2575 257F AL
+2580 258F AI
+2590 2591 AL
+2592 2595 AI
+2596 259F AL
+25A0 25A1 AI
+25A2 AL
+25A3 25A9 AI
+25AA 25B1 AL
+25B2 25B3 AI
+25B4 25B5 AL
+25B6 25B7 AI
+25B8 25BB AL
+25BC 25BD AI
+25BE 25BF AL
+25C0 25C1 AI
+25C2 25C5 AL
+25C6 25C8 AI
+25C9 25CA AL
+25CB AI
+25CC 25CD AL
+25CE 25D1 AI
+25D2 25E1 AL
+25E2 25E5 AI
+25E6 25EE AL
+25EF AI
+25F0 2604 AL
+2605 2606 AI
+2607 2608 AL
+2609 AI
+260A 260D AL
+260E 260F AI
+2610 2613 AL
+2614 2617 AI
+2618 261B AL
+261C AI
+261D AL
+261E AI
+261F 263F AL
+2640 AI
+2641 AL
+2642 AI
+2643 265F AL
+2660 2661 AI
+2662 AL
+2663 2665 AI
+2666 AL
+2667 266A AI
+266B AL
+266C 266D AI
+266E AL
+266F AI
+2670 269D AL
+269E 269F AI
+26A0 26BD AL
+26BE 26BF AI
+26C0 26C3 AL
+26C4 26CD AI
+26CE AL
+26CF 26E1 AI
+26E2 AL
+26E3 AI
+26E4 26E7 AL
+26E8 26FF AI
+2701 2756 AL
+2757 AI
+2758 275A AL
+275B 275E QU
+275F 2761 AL
+2762 2763 EX
+2764 2767 AL
+2768 OP
+2769 CL
+276A OP
+276B CL
+276C OP
+276D CL
+276E OP
+276F CL
+2770 OP
+2771 CL
+2772 OP
+2773 CL
+2774 OP
+2775 CL
+2776 2793 AI
+2794 27C4 AL
+27C5 OP
+27C6 CL
+27C7 27CA AL
+27CC AL
+27CE 27E5 AL
+27E6 OP
+27E7 CL
+27E8 OP
+27E9 CL
+27EA OP
+27EB CL
+27EC OP
+27ED CL
+27EE OP
+27EF CL
+27F0 2982 AL
+2983 OP
+2984 CL
+2985 OP
+2986 CL
+2987 OP
+2988 CL
+2989 OP
+298A CL
+298B OP
+298C CL
+298D OP
+298E CL
+298F OP
+2990 CL
+2991 OP
+2992 CL
+2993 OP
+2994 CL
+2995 OP
+2996 CL
+2997 OP
+2998 CL
+2999 29D7 AL
+29D8 OP
+29D9 CL
+29DA OP
+29DB CL
+29DC 29FB AL
+29FC OP
+29FD CL
+29FE 2B4C AL
+2B50 2B54 AL
+2B55 2B59 AI
+2C00 2C2E AL
+2C30 2C5E AL
+2C60 2CEE AL
+2CEF 2CF1 CM
+2CF9 EX
+2CFA 2CFC BA
+2CFD AL
+2CFE EX
+2CFF BA
+2D00 2D25 AL
+2D30 2D65 AL
+2D6F AL
+2D70 BA
+2D7F CM
+2D80 2D96 AL
+2DA0 2DA6 AL
+2DA8 2DAE AL
+2DB0 2DB6 AL
+2DB8 2DBE AL
+2DC0 2DC6 AL
+2DC8 2DCE AL
+2DD0 2DD6 AL
+2DD8 2DDE AL
+2DE0 2DFF CM
+2E00 2E0D QU
+2E0E 2E15 BA
+2E16 AL
+2E17 BA
+2E18 OP
+2E19 BA
+2E1A 2E1B AL
+2E1C 2E1D QU
+2E1E 2E1F AL
+2E20 2E21 QU
+2E22 OP
+2E23 CL
+2E24 OP
+2E25 CL
+2E26 OP
+2E27 CL
+2E28 OP
+2E29 CL
+2E2A 2E2D BA
+2E2E EX
+2E2F AL
+2E30 2E31 BA
+2E80 2E99 ID
+2E9B 2EF3 ID
+2F00 2FD5 ID
+2FF0 2FFB ID
+3000 ID
+3001 3002 CL
+3003 3004 ID
+3005 NS
+3006 3007 ID
+3008 OP
+3009 CL
+300A OP
+300B CL
+300C OP
+300D CL
+300E OP
+300F CL
+3010 OP
+3011 CL
+3012 3013 ID
+3014 OP
+3015 CL
+3016 OP
+3017 CL
+3018 OP
+3019 CL
+301A OP
+301B CL
+301C NS
+301D OP
+301E 301F CL
+3020 3029 ID
+302A 302F CM
+3030 303A ID
+303B 303C NS
+303D 303F ID
+3041 NS
+3042 ID
+3043 NS
+3044 ID
+3045 NS
+3046 ID
+3047 NS
+3048 ID
+3049 NS
+304A 3062 ID
+3063 NS
+3064 3082 ID
+3083 NS
+3084 ID
+3085 NS
+3086 ID
+3087 NS
+3088 308D ID
+308E NS
+308F 3094 ID
+3095 3096 NS
+3099 309A CM
+309B 309E NS
+309F ID
+30A0 30A1 NS
+30A2 ID
+30A3 NS
+30A4 ID
+30A5 NS
+30A6 ID
+30A7 NS
+30A8 ID
+30A9 NS
+30AA 30C2 ID
+30C3 NS
+30C4 30E2 ID
+30E3 NS
+30E4 ID
+30E5 NS
+30E6 ID
+30E7 NS
+30E8 30ED ID
+30EE NS
+30EF 30F4 ID
+30F5 30F6 NS
+30F7 30FA ID
+30FB 30FE NS
+30FF ID
+3105 312D ID
+3131 318E ID
+3190 31BA ID
+31C0 31E3 ID
+31F0 31FF NS
+3200 321E ID
+3220 3247 ID
+3248 324F AI
+3250 32FE ID
+3300 4DBF ID
+4DC0 4DFF AL
+4E00 A014 ID
+A015 NS
+A016 A48C ID
+A490 A4C6 ID
+A4D0 A4FD AL
+A4FE A4FF BA
+A500 A60C AL
+A60D BA
+A60E EX
+A60F BA
+A610 A61F AL
+A620 A629 NU
+A62A A62B AL
+A640 A66E AL
+A66F A672 CM
+A673 AL
+A67C A67D CM
+A67E A697 AL
+A6A0 A6EF AL
+A6F0 A6F1 CM
+A6F2 AL
+A6F3 A6F7 BA
+A700 A78E AL
+A790 A791 AL
+A7A0 A7A9 AL
+A7FA A801 AL
+A802 CM
+A803 A805 AL
+A806 CM
+A807 A80A AL
+A80B CM
+A80C A822 AL
+A823 A827 CM
+A828 A82B AL
+A830 A837 AL
+A838 PO
+A839 AL
+A840 A873 AL
+A874 A875 BB
+A876 A877 EX
+A880 A881 CM
+A882 A8B3 AL
+A8B4 A8C4 CM
+A8CE A8CF BA
+A8D0 A8D9 NU
+A8E0 A8F1 CM
+A8F2 A8FB AL
+A900 A909 NU
+A90A A925 AL
+A926 A92D CM
+A92E A92F BA
+A930 A946 AL
+A947 A953 CM
+A95F AL
+A960 A97C JL
+A980 A983 CM
+A984 A9B2 AL
+A9B3 A9C0 CM
+A9C1 A9C6 AL
+A9C7 A9C9 BA
+A9CA A9CD AL
+A9CF AL
+A9D0 A9D9 NU
+A9DE A9DF AL
+AA00 AA28 AL
+AA29 AA36 CM
+AA40 AA42 AL
+AA43 CM
+AA44 AA4B AL
+AA4C AA4D CM
+AA50 AA59 NU
+AA5C AL
+AA5D AA5F BA
+AA60 AA7B SA
+AA80 AAC2 SA
+AADB AADF SA
+AB01 AB06 AL
+AB09 AB0E AL
+AB11 AB16 AL
+AB20 AB26 AL
+AB28 AB2E AL
+ABC0 ABE2 AL
+ABE3 ABEA CM
+ABEB BA
+ABEC ABED CM
+ABF0 ABF9 NU
+AC00 H2
+AC01 AC1B H3
+AC1C H2
+AC1D AC37 H3
+AC38 H2
+AC39 AC53 H3
+AC54 H2
+AC55 AC6F H3
+AC70 H2
+AC71 AC8B H3
+AC8C H2
+AC8D ACA7 H3
+ACA8 H2
+ACA9 ACC3 H3
+ACC4 H2
+ACC5 ACDF H3
+ACE0 H2
+ACE1 ACFB H3
+ACFC H2
+ACFD AD17 H3
+AD18 H2
+AD19 AD33 H3
+AD34 H2
+AD35 AD4F H3
+AD50 H2
+AD51 AD6B H3
+AD6C H2
+AD6D AD87 H3
+AD88 H2
+AD89 ADA3 H3
+ADA4 H2
+ADA5 ADBF H3
+ADC0 H2
+ADC1 ADDB H3
+ADDC H2
+ADDD ADF7 H3
+ADF8 H2
+ADF9 AE13 H3
+AE14 H2
+AE15 AE2F H3
+AE30 H2
+AE31 AE4B H3
+AE4C H2
+AE4D AE67 H3
+AE68 H2
+AE69 AE83 H3
+AE84 H2
+AE85 AE9F H3
+AEA0 H2
+AEA1 AEBB H3
+AEBC H2
+AEBD AED7 H3
+AED8 H2
+AED9 AEF3 H3
+AEF4 H2
+AEF5 AF0F H3
+AF10 H2
+AF11 AF2B H3
+AF2C H2
+AF2D AF47 H3
+AF48 H2
+AF49 AF63 H3
+AF64 H2
+AF65 AF7F H3
+AF80 H2
+AF81 AF9B H3
+AF9C H2
+AF9D AFB7 H3
+AFB8 H2
+AFB9 AFD3 H3
+AFD4 H2
+AFD5 AFEF H3
+AFF0 H2
+AFF1 B00B H3
+B00C H2
+B00D B027 H3
+B028 H2
+B029 B043 H3
+B044 H2
+B045 B05F H3
+B060 H2
+B061 B07B H3
+B07C H2
+B07D B097 H3
+B098 H2
+B099 B0B3 H3
+B0B4 H2
+B0B5 B0CF H3
+B0D0 H2
+B0D1 B0EB H3
+B0EC H2
+B0ED B107 H3
+B108 H2
+B109 B123 H3
+B124 H2
+B125 B13F H3
+B140 H2
+B141 B15B H3
+B15C H2
+B15D B177 H3
+B178 H2
+B179 B193 H3
+B194 H2
+B195 B1AF H3
+B1B0 H2
+B1B1 B1CB H3
+B1CC H2
+B1CD B1E7 H3
+B1E8 H2
+B1E9 B203 H3
+B204 H2
+B205 B21F H3
+B220 H2
+B221 B23B H3
+B23C H2
+B23D B257 H3
+B258 H2
+B259 B273 H3
+B274 H2
+B275 B28F H3
+B290 H2
+B291 B2AB H3
+B2AC H2
+B2AD B2C7 H3
+B2C8 H2
+B2C9 B2E3 H3
+B2E4 H2
+B2E5 B2FF H3
+B300 H2
+B301 B31B H3
+B31C H2
+B31D B337 H3
+B338 H2
+B339 B353 H3
+B354 H2
+B355 B36F H3
+B370 H2
+B371 B38B H3
+B38C H2
+B38D B3A7 H3
+B3A8 H2
+B3A9 B3C3 H3
+B3C4 H2
+B3C5 B3DF H3
+B3E0 H2
+B3E1 B3FB H3
+B3FC H2
+B3FD B417 H3
+B418 H2
+B419 B433 H3
+B434 H2
+B435 B44F H3
+B450 H2
+B451 B46B H3
+B46C H2
+B46D B487 H3
+B488 H2
+B489 B4A3 H3
+B4A4 H2
+B4A5 B4BF H3
+B4C0 H2
+B4C1 B4DB H3
+B4DC H2
+B4DD B4F7 H3
+B4F8 H2
+B4F9 B513 H3
+B514 H2
+B515 B52F H3
+B530 H2
+B531 B54B H3
+B54C H2
+B54D B567 H3
+B568 H2
+B569 B583 H3
+B584 H2
+B585 B59F H3
+B5A0 H2
+B5A1 B5BB H3
+B5BC H2
+B5BD B5D7 H3
+B5D8 H2
+B5D9 B5F3 H3
+B5F4 H2
+B5F5 B60F H3
+B610 H2
+B611 B62B H3
+B62C H2
+B62D B647 H3
+B648 H2
+B649 B663 H3
+B664 H2
+B665 B67F H3
+B680 H2
+B681 B69B H3
+B69C H2
+B69D B6B7 H3
+B6B8 H2
+B6B9 B6D3 H3
+B6D4 H2
+B6D5 B6EF H3
+B6F0 H2
+B6F1 B70B H3
+B70C H2
+B70D B727 H3
+B728 H2
+B729 B743 H3
+B744 H2
+B745 B75F H3
+B760 H2
+B761 B77B H3
+B77C H2
+B77D B797 H3
+B798 H2
+B799 B7B3 H3
+B7B4 H2
+B7B5 B7CF H3
+B7D0 H2
+B7D1 B7EB H3
+B7EC H2
+B7ED B807 H3
+B808 H2
+B809 B823 H3
+B824 H2
+B825 B83F H3
+B840 H2
+B841 B85B H3
+B85C H2
+B85D B877 H3
+B878 H2
+B879 B893 H3
+B894 H2
+B895 B8AF H3
+B8B0 H2
+B8B1 B8CB H3
+B8CC H2
+B8CD B8E7 H3
+B8E8 H2
+B8E9 B903 H3
+B904 H2
+B905 B91F H3
+B920 H2
+B921 B93B H3
+B93C H2
+B93D B957 H3
+B958 H2
+B959 B973 H3
+B974 H2
+B975 B98F H3
+B990 H2
+B991 B9AB H3
+B9AC H2
+B9AD B9C7 H3
+B9C8 H2
+B9C9 B9E3 H3
+B9E4 H2
+B9E5 B9FF H3
+BA00 H2
+BA01 BA1B H3
+BA1C H2
+BA1D BA37 H3
+BA38 H2
+BA39 BA53 H3
+BA54 H2
+BA55 BA6F H3
+BA70 H2
+BA71 BA8B H3
+BA8C H2
+BA8D BAA7 H3
+BAA8 H2
+BAA9 BAC3 H3
+BAC4 H2
+BAC5 BADF H3
+BAE0 H2
+BAE1 BAFB H3
+BAFC H2
+BAFD BB17 H3
+BB18 H2
+BB19 BB33 H3
+BB34 H2
+BB35 BB4F H3
+BB50 H2
+BB51 BB6B H3
+BB6C H2
+BB6D BB87 H3
+BB88 H2
+BB89 BBA3 H3
+BBA4 H2
+BBA5 BBBF H3
+BBC0 H2
+BBC1 BBDB H3
+BBDC H2
+BBDD BBF7 H3
+BBF8 H2
+BBF9 BC13 H3
+BC14 H2
+BC15 BC2F H3
+BC30 H2
+BC31 BC4B H3
+BC4C H2
+BC4D BC67 H3
+BC68 H2
+BC69 BC83 H3
+BC84 H2
+BC85 BC9F H3
+BCA0 H2
+BCA1 BCBB H3
+BCBC H2
+BCBD BCD7 H3
+BCD8 H2
+BCD9 BCF3 H3
+BCF4 H2
+BCF5 BD0F H3
+BD10 H2
+BD11 BD2B H3
+BD2C H2
+BD2D BD47 H3
+BD48 H2
+BD49 BD63 H3
+BD64 H2
+BD65 BD7F H3
+BD80 H2
+BD81 BD9B H3
+BD9C H2
+BD9D BDB7 H3
+BDB8 H2
+BDB9 BDD3 H3
+BDD4 H2
+BDD5 BDEF H3
+BDF0 H2
+BDF1 BE0B H3
+BE0C H2
+BE0D BE27 H3
+BE28 H2
+BE29 BE43 H3
+BE44 H2
+BE45 BE5F H3
+BE60 H2
+BE61 BE7B H3
+BE7C H2
+BE7D BE97 H3
+BE98 H2
+BE99 BEB3 H3
+BEB4 H2
+BEB5 BECF H3
+BED0 H2
+BED1 BEEB H3
+BEEC H2
+BEED BF07 H3
+BF08 H2
+BF09 BF23 H3
+BF24 H2
+BF25 BF3F H3
+BF40 H2
+BF41 BF5B H3
+BF5C H2
+BF5D BF77 H3
+BF78 H2
+BF79 BF93 H3
+BF94 H2
+BF95 BFAF H3
+BFB0 H2
+BFB1 BFCB H3
+BFCC H2
+BFCD BFE7 H3
+BFE8 H2
+BFE9 C003 H3
+C004 H2
+C005 C01F H3
+C020 H2
+C021 C03B H3
+C03C H2
+C03D C057 H3
+C058 H2
+C059 C073 H3
+C074 H2
+C075 C08F H3
+C090 H2
+C091 C0AB H3
+C0AC H2
+C0AD C0C7 H3
+C0C8 H2
+C0C9 C0E3 H3
+C0E4 H2
+C0E5 C0FF H3
+C100 H2
+C101 C11B H3
+C11C H2
+C11D C137 H3
+C138 H2
+C139 C153 H3
+C154 H2
+C155 C16F H3
+C170 H2
+C171 C18B H3
+C18C H2
+C18D C1A7 H3
+C1A8 H2
+C1A9 C1C3 H3
+C1C4 H2
+C1C5 C1DF H3
+C1E0 H2
+C1E1 C1FB H3
+C1FC H2
+C1FD C217 H3
+C218 H2
+C219 C233 H3
+C234 H2
+C235 C24F H3
+C250 H2
+C251 C26B H3
+C26C H2
+C26D C287 H3
+C288 H2
+C289 C2A3 H3
+C2A4 H2
+C2A5 C2BF H3
+C2C0 H2
+C2C1 C2DB H3
+C2DC H2
+C2DD C2F7 H3
+C2F8 H2
+C2F9 C313 H3
+C314 H2
+C315 C32F H3
+C330 H2
+C331 C34B H3
+C34C H2
+C34D C367 H3
+C368 H2
+C369 C383 H3
+C384 H2
+C385 C39F H3
+C3A0 H2
+C3A1 C3BB H3
+C3BC H2
+C3BD C3D7 H3
+C3D8 H2
+C3D9 C3F3 H3
+C3F4 H2
+C3F5 C40F H3
+C410 H2
+C411 C42B H3
+C42C H2
+C42D C447 H3
+C448 H2
+C449 C463 H3
+C464 H2
+C465 C47F H3
+C480 H2
+C481 C49B H3
+C49C H2
+C49D C4B7 H3
+C4B8 H2
+C4B9 C4D3 H3
+C4D4 H2
+C4D5 C4EF H3
+C4F0 H2
+C4F1 C50B H3
+C50C H2
+C50D C527 H3
+C528 H2
+C529 C543 H3
+C544 H2
+C545 C55F H3
+C560 H2
+C561 C57B H3
+C57C H2
+C57D C597 H3
+C598 H2
+C599 C5B3 H3
+C5B4 H2
+C5B5 C5CF H3
+C5D0 H2
+C5D1 C5EB H3
+C5EC H2
+C5ED C607 H3
+C608 H2
+C609 C623 H3
+C624 H2
+C625 C63F H3
+C640 H2
+C641 C65B H3
+C65C H2
+C65D C677 H3
+C678 H2
+C679 C693 H3
+C694 H2
+C695 C6AF H3
+C6B0 H2
+C6B1 C6CB H3
+C6CC H2
+C6CD C6E7 H3
+C6E8 H2
+C6E9 C703 H3
+C704 H2
+C705 C71F H3
+C720 H2
+C721 C73B H3
+C73C H2
+C73D C757 H3
+C758 H2
+C759 C773 H3
+C774 H2
+C775 C78F H3
+C790 H2
+C791 C7AB H3
+C7AC H2
+C7AD C7C7 H3
+C7C8 H2
+C7C9 C7E3 H3
+C7E4 H2
+C7E5 C7FF H3
+C800 H2
+C801 C81B H3
+C81C H2
+C81D C837 H3
+C838 H2
+C839 C853 H3
+C854 H2
+C855 C86F H3
+C870 H2
+C871 C88B H3
+C88C H2
+C88D C8A7 H3
+C8A8 H2
+C8A9 C8C3 H3
+C8C4 H2
+C8C5 C8DF H3
+C8E0 H2
+C8E1 C8FB H3
+C8FC H2
+C8FD C917 H3
+C918 H2
+C919 C933 H3
+C934 H2
+C935 C94F H3
+C950 H2
+C951 C96B H3
+C96C H2
+C96D C987 H3
+C988 H2
+C989 C9A3 H3
+C9A4 H2
+C9A5 C9BF H3
+C9C0 H2
+C9C1 C9DB H3
+C9DC H2
+C9DD C9F7 H3
+C9F8 H2
+C9F9 CA13 H3
+CA14 H2
+CA15 CA2F H3
+CA30 H2
+CA31 CA4B H3
+CA4C H2
+CA4D CA67 H3
+CA68 H2
+CA69 CA83 H3
+CA84 H2
+CA85 CA9F H3
+CAA0 H2
+CAA1 CABB H3
+CABC H2
+CABD CAD7 H3
+CAD8 H2
+CAD9 CAF3 H3
+CAF4 H2
+CAF5 CB0F H3
+CB10 H2
+CB11 CB2B H3
+CB2C H2
+CB2D CB47 H3
+CB48 H2
+CB49 CB63 H3
+CB64 H2
+CB65 CB7F H3
+CB80 H2
+CB81 CB9B H3
+CB9C H2
+CB9D CBB7 H3
+CBB8 H2
+CBB9 CBD3 H3
+CBD4 H2
+CBD5 CBEF H3
+CBF0 H2
+CBF1 CC0B H3
+CC0C H2
+CC0D CC27 H3
+CC28 H2
+CC29 CC43 H3
+CC44 H2
+CC45 CC5F H3
+CC60 H2
+CC61 CC7B H3
+CC7C H2
+CC7D CC97 H3
+CC98 H2
+CC99 CCB3 H3
+CCB4 H2
+CCB5 CCCF H3
+CCD0 H2
+CCD1 CCEB H3
+CCEC H2
+CCED CD07 H3
+CD08 H2
+CD09 CD23 H3
+CD24 H2
+CD25 CD3F H3
+CD40 H2
+CD41 CD5B H3
+CD5C H2
+CD5D CD77 H3
+CD78 H2
+CD79 CD93 H3
+CD94 H2
+CD95 CDAF H3
+CDB0 H2
+CDB1 CDCB H3
+CDCC H2
+CDCD CDE7 H3
+CDE8 H2
+CDE9 CE03 H3
+CE04 H2
+CE05 CE1F H3
+CE20 H2
+CE21 CE3B H3
+CE3C H2
+CE3D CE57 H3
+CE58 H2
+CE59 CE73 H3
+CE74 H2
+CE75 CE8F H3
+CE90 H2
+CE91 CEAB H3
+CEAC H2
+CEAD CEC7 H3
+CEC8 H2
+CEC9 CEE3 H3
+CEE4 H2
+CEE5 CEFF H3
+CF00 H2
+CF01 CF1B H3
+CF1C H2
+CF1D CF37 H3
+CF38 H2
+CF39 CF53 H3
+CF54 H2
+CF55 CF6F H3
+CF70 H2
+CF71 CF8B H3
+CF8C H2
+CF8D CFA7 H3
+CFA8 H2
+CFA9 CFC3 H3
+CFC4 H2
+CFC5 CFDF H3
+CFE0 H2
+CFE1 CFFB H3
+CFFC H2
+CFFD D017 H3
+D018 H2
+D019 D033 H3
+D034 H2
+D035 D04F H3
+D050 H2
+D051 D06B H3
+D06C H2
+D06D D087 H3
+D088 H2
+D089 D0A3 H3
+D0A4 H2
+D0A5 D0BF H3
+D0C0 H2
+D0C1 D0DB H3
+D0DC H2
+D0DD D0F7 H3
+D0F8 H2
+D0F9 D113 H3
+D114 H2
+D115 D12F H3
+D130 H2
+D131 D14B H3
+D14C H2
+D14D D167 H3
+D168 H2
+D169 D183 H3
+D184 H2
+D185 D19F H3
+D1A0 H2
+D1A1 D1BB H3
+D1BC H2
+D1BD D1D7 H3
+D1D8 H2
+D1D9 D1F3 H3
+D1F4 H2
+D1F5 D20F H3
+D210 H2
+D211 D22B H3
+D22C H2
+D22D D247 H3
+D248 H2
+D249 D263 H3
+D264 H2
+D265 D27F H3
+D280 H2
+D281 D29B H3
+D29C H2
+D29D D2B7 H3
+D2B8 H2
+D2B9 D2D3 H3
+D2D4 H2
+D2D5 D2EF H3
+D2F0 H2
+D2F1 D30B H3
+D30C H2
+D30D D327 H3
+D328 H2
+D329 D343 H3
+D344 H2
+D345 D35F H3
+D360 H2
+D361 D37B H3
+D37C H2
+D37D D397 H3
+D398 H2
+D399 D3B3 H3
+D3B4 H2
+D3B5 D3CF H3
+D3D0 H2
+D3D1 D3EB H3
+D3EC H2
+D3ED D407 H3
+D408 H2
+D409 D423 H3
+D424 H2
+D425 D43F H3
+D440 H2
+D441 D45B H3
+D45C H2
+D45D D477 H3
+D478 H2
+D479 D493 H3
+D494 H2
+D495 D4AF H3
+D4B0 H2
+D4B1 D4CB H3
+D4CC H2
+D4CD D4E7 H3
+D4E8 H2
+D4E9 D503 H3
+D504 H2
+D505 D51F H3
+D520 H2
+D521 D53B H3
+D53C H2
+D53D D557 H3
+D558 H2
+D559 D573 H3
+D574 H2
+D575 D58F H3
+D590 H2
+D591 D5AB H3
+D5AC H2
+D5AD D5C7 H3
+D5C8 H2
+D5C9 D5E3 H3
+D5E4 H2
+D5E5 D5FF H3
+D600 H2
+D601 D61B H3
+D61C H2
+D61D D637 H3
+D638 H2
+D639 D653 H3
+D654 H2
+D655 D66F H3
+D670 H2
+D671 D68B H3
+D68C H2
+D68D D6A7 H3
+D6A8 H2
+D6A9 D6C3 H3
+D6C4 H2
+D6C5 D6DF H3
+D6E0 H2
+D6E1 D6FB H3
+D6FC H2
+D6FD D717 H3
+D718 H2
+D719 D733 H3
+D734 H2
+D735 D74F H3
+D750 H2
+D751 D76B H3
+D76C H2
+D76D D787 H3
+D788 H2
+D789 D7A3 H3
+D7B0 D7C6 JV
+D7CB D7FB JT
+D800 DFFF SG
+F900 FAFF ID
+FB00 FB06 AL
+FB13 FB17 AL
+FB1D AL
+FB1E CM
+FB1F FB36 AL
+FB38 FB3C AL
+FB3E AL
+FB40 FB41 AL
+FB43 FB44 AL
+FB46 FBC1 AL
+FBD3 FD3D AL
+FD3E OP
+FD3F CL
+FD50 FD8F AL
+FD92 FDC7 AL
+FDF0 FDFB AL
+FDFC PO
+FDFD AL
+FE00 FE0F CM
+FE10 IS
+FE11 FE12 CL
+FE13 FE14 IS
+FE15 FE16 EX
+FE17 OP
+FE18 CL
+FE19 IN
+FE20 FE26 CM
+FE30 FE34 ID
+FE35 OP
+FE36 CL
+FE37 OP
+FE38 CL
+FE39 OP
+FE3A CL
+FE3B OP
+FE3C CL
+FE3D OP
+FE3E CL
+FE3F OP
+FE40 CL
+FE41 OP
+FE42 CL
+FE43 OP
+FE44 CL
+FE45 FE46 ID
+FE47 OP
+FE48 CL
+FE49 FE4F ID
+FE50 CL
+FE51 ID
+FE52 CL
+FE54 FE55 NS
+FE56 FE57 EX
+FE58 ID
+FE59 OP
+FE5A CL
+FE5B OP
+FE5C CL
+FE5D OP
+FE5E CL
+FE5F FE66 ID
+FE68 ID
+FE69 PR
+FE6A PO
+FE6B ID
+FE70 FE74 AL
+FE76 FEFC AL
+FEFF WJ
+FF01 EX
+FF02 FF03 ID
+FF04 PR
+FF05 PO
+FF06 FF07 ID
+FF08 OP
+FF09 CL
+FF0A FF0B ID
+FF0C CL
+FF0D ID
+FF0E CL
+FF0F FF19 ID
+FF1A FF1B NS
+FF1C FF1E ID
+FF1F EX
+FF20 FF3A ID
+FF3B OP
+FF3C ID
+FF3D CL
+FF3E FF5A ID
+FF5B OP
+FF5C ID
+FF5D CL
+FF5E ID
+FF5F OP
+FF60 FF61 CL
+FF62 OP
+FF63 FF64 CL
+FF65 NS
+FF66 AL
+FF67 FF70 NS
+FF71 FF9D AL
+FF9E FF9F NS
+FFA0 FFBE AL
+FFC2 FFC7 AL
+FFCA FFCF AL
+FFD2 FFD7 AL
+FFDA FFDC AL
+FFE0 PO
+FFE1 PR
+FFE2 FFE4 ID
+FFE5 FFE6 PR
+FFE8 FFEE AL
+FFF9 FFFB CM
+FFFC CB
+FFFD AI
+10000 1000B AL
+1000D 10026 AL
+10028 1003A AL
+1003C 1003D AL
+1003F 1004D AL
+10050 1005D AL
+10080 100FA AL
+10100 10102 BA
+10107 10133 AL
+10137 1018A AL
+10190 1019B AL
+101D0 101FC AL
+101FD CM
+10280 1029C AL
+102A0 102D0 AL
+10300 1031E AL
+10320 10323 AL
+10330 1034A AL
+10380 1039D AL
+1039F BA
+103A0 103C3 AL
+103C8 103CF AL
+103D0 BA
+103D1 103D5 AL
+10400 1049D AL
+104A0 104A9 NU
+10800 10805 AL
+10808 AL
+1080A 10835 AL
+10837 10838 AL
+1083C AL
+1083F 10855 AL
+10857 BA
+10858 1085F AL
+10900 1091B AL
+1091F BA
+10920 10939 AL
+1093F AL
+10A00 AL
+10A01 10A03 CM
+10A05 10A06 CM
+10A0C 10A0F CM
+10A10 10A13 AL
+10A15 10A17 AL
+10A19 10A33 AL
+10A38 10A3A CM
+10A3F CM
+10A40 10A47 AL
+10A50 10A57 BA
+10A58 AL
+10A60 10A7F AL
+10B00 10B35 AL
+10B39 10B3F BA
+10B40 10B55 AL
+10B58 10B72 AL
+10B78 10B7F AL
+10C00 10C48 AL
+10E60 10E7E AL
+11000 11002 CM
+11003 11037 AL
+11038 11046 CM
+11047 11048 BA
+11049 1104D AL
+11052 11065 AL
+11066 1106F NU
+11080 11082 CM
+11083 110AF AL
+110B0 110BA CM
+110BB 110BD AL
+110BE 110C1 BA
+12000 1236E AL
+12400 12462 AL
+12470 12473 BA
+13000 13257 AL
+13258 1325A OP
+1325B 1325D CL
+1325E 13281 AL
+13282 CL
+13283 13285 AL
+13286 OP
+13287 CL
+13288 OP
+13289 CL
+1328A 13378 AL
+13379 OP
+1337A 1337B CL
+1337C 1342E AL
+16800 16A38 AL
+1B000 1B001 ID
+1D000 1D0F5 AL
+1D100 1D126 AL
+1D129 1D164 AL
+1D165 1D169 CM
+1D16A 1D16C AL
+1D16D 1D182 CM
+1D183 1D184 AL
+1D185 1D18B CM
+1D18C 1D1A9 AL
+1D1AA 1D1AD CM
+1D1AE 1D1DD AL
+1D200 1D241 AL
+1D242 1D244 CM
+1D245 AL
+1D300 1D356 AL
+1D360 1D371 AL
+1D400 1D454 AL
+1D456 1D49C AL
+1D49E 1D49F AL
+1D4A2 AL
+1D4A5 1D4A6 AL
+1D4A9 1D4AC AL
+1D4AE 1D4B9 AL
+1D4BB AL
+1D4BD 1D4C3 AL
+1D4C5 1D505 AL
+1D507 1D50A AL
+1D50D 1D514 AL
+1D516 1D51C AL
+1D51E 1D539 AL
+1D53B 1D53E AL
+1D540 1D544 AL
+1D546 AL
+1D54A 1D550 AL
+1D552 1D6A5 AL
+1D6A8 1D7CB AL
+1D7CE 1D7FF NU
+1F000 1F02B AL
+1F030 1F093 AL
+1F0A0 1F0AE AL
+1F0B1 1F0BE AL
+1F0C1 1F0CF AL
+1F0D1 1F0DF AL
+1F100 1F10A AI
+1F110 1F12D AI
+1F12E AL
+1F130 1F169 AI
+1F170 1F19A AI
+1F1E6 1F1FF AL
+1F200 1F202 ID
+1F210 1F23A ID
+1F240 1F248 ID
+1F250 1F251 ID
+1F300 1F320 AL
+1F330 1F335 AL
+1F337 1F37C AL
+1F380 1F393 AL
+1F3A0 1F3C4 AL
+1F3C6 1F3CA AL
+1F3E0 1F3F0 AL
+1F400 1F43E AL
+1F440 AL
+1F442 1F4F7 AL
+1F4F9 1F4FC AL
+1F500 1F53D AL
+1F550 1F567 AL
+1F5FB 1F5FF AL
+1F601 1F610 AL
+1F612 1F614 AL
+1F616 AL
+1F618 AL
+1F61A AL
+1F61C 1F61E AL
+1F620 1F625 AL
+1F628 1F62B AL
+1F62D AL
+1F630 1F633 AL
+1F635 1F640 AL
+1F645 1F64F AL
+1F680 1F6C5 AL
+1F700 1F773 AL
+20000 2FFFD ID
+30000 3FFFD ID
+E0001 CM
+E0020 E007F CM
+E0100 E01EF CM
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
index 38c966d218b..37d92b1aa30 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
@@ -1,20 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the synonymous mappings:
-# Lowercase_Mapping(cp)
-# Lc(cp)
-#
-# where 'cp' is one of the 1029 code points in Unicode Version 5.2.0 for
-# which the mapping is not to itself. Note that these mappings are
-# accessible through the Perl core via lc().
-#
-# For information about what this property really means, see:
-# http://www.unicode.org/reports/tr44/
-#
-# The format of the main body of lines of this file is: CODE_POINT\t\tMAPPING
-# where CODE_POINT is in hex; MAPPING is what CODE_POINT maps to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -26,7 +13,9 @@ $utf8::SwashInfo{'ToLower'}{'missing'} = '<code point>'; # code point maps to it
# multiple code points. These do not appear in the main body, but are defined
# in the hash below.
-# The key: UTF-8 _bytes_, the value: UTF-8 (speed hack)
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
%utf8::ToSpecLower = (
"\xC4\xB0" => "\x{0069}\x{0307}", # U+0130 => 0069 0307
);
@@ -456,6 +445,7 @@ return <<'END';
0520 0521
0522 0523
0524 0525
+0526 0527
0531 0561
0532 0562
0533 0563
@@ -929,6 +919,7 @@ A658 A659
A65A A65B
A65C A65D
A65E A65F
+A660 A661
A662 A663
A664 A665
A666 A667
@@ -994,6 +985,13 @@ A782 A783
A784 A785
A786 A787
A78B A78C
+A78D 0265
+A790 A791
+A7A0 A7A1
+A7A2 A7A3
+A7A4 A7A5
+A7A6 A7A7
+A7A8 A7A9
FF21 FF41
FF22 FF42
FF23 FF43
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
new file mode 100644
index 00000000000..0e5076be026
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
@@ -0,0 +1,126 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNFCQC'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNFCQC'}{'missing'} = 'Yes';
+
+return <<'END';
+0300 0304 M
+0306 030C M
+030F M
+0311 M
+0313 0314 M
+031B M
+0323 0328 M
+032D 032E M
+0330 0331 M
+0338 M
+0340 0341 N
+0342 M
+0343 0344 N
+0345 M
+0374 N
+037E N
+0387 N
+0653 0655 M
+093C M
+0958 095F N
+09BE M
+09D7 M
+09DC 09DD N
+09DF N
+0A33 N
+0A36 N
+0A59 0A5B N
+0A5E N
+0B3E M
+0B56 0B57 M
+0B5C 0B5D N
+0BBE M
+0BD7 M
+0C56 M
+0CC2 M
+0CD5 0CD6 M
+0D3E M
+0D57 M
+0DCA M
+0DCF M
+0DDF M
+0F43 N
+0F4D N
+0F52 N
+0F57 N
+0F5C N
+0F69 N
+0F73 N
+0F75 0F76 N
+0F78 N
+0F81 N
+0F93 N
+0F9D N
+0FA2 N
+0FA7 N
+0FAC N
+0FB9 N
+102E M
+1161 1175 M
+11A8 11C2 M
+1B35 M
+1F71 N
+1F73 N
+1F75 N
+1F77 N
+1F79 N
+1F7B N
+1F7D N
+1FBB N
+1FBE N
+1FC9 N
+1FCB N
+1FD3 N
+1FDB N
+1FE3 N
+1FEB N
+1FEE 1FEF N
+1FF9 N
+1FFB N
+1FFD N
+2000 2001 N
+2126 N
+212A 212B N
+2329 232A N
+2ADC N
+3099 309A M
+F900 FA0D N
+FA10 N
+FA12 N
+FA15 FA1E N
+FA20 N
+FA22 N
+FA25 FA26 N
+FA2A FA2D N
+FA30 FA6D N
+FA70 FAD9 N
+FB1D N
+FB1F N
+FB2A FB36 N
+FB38 FB3C N
+FB3E N
+FB40 FB41 N
+FB43 FB44 N
+FB46 FB4E N
+110BA M
+1D15E 1D164 N
+1D1BB 1D1C0 N
+2F800 2FA1D N
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
new file mode 100644
index 00000000000..c55dcb813f0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
@@ -0,0 +1,245 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNFDQC'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNFDQC'}{'missing'} = 'Yes';
+
+return <<'END';
+00C0 00C5 N
+00C7 00CF N
+00D1 00D6 N
+00D9 00DD N
+00E0 00E5 N
+00E7 00EF N
+00F1 00F6 N
+00F9 00FD N
+00FF 010F N
+0112 0125 N
+0128 0130 N
+0134 0137 N
+0139 013E N
+0143 0148 N
+014C 0151 N
+0154 0165 N
+0168 017E N
+01A0 01A1 N
+01AF 01B0 N
+01CD 01DC N
+01DE 01E3 N
+01E6 01F0 N
+01F4 01F5 N
+01F8 021B N
+021E 021F N
+0226 0233 N
+0340 0341 N
+0343 0344 N
+0374 N
+037E N
+0385 038A N
+038C N
+038E 0390 N
+03AA 03B0 N
+03CA 03CE N
+03D3 03D4 N
+0400 0401 N
+0403 N
+0407 N
+040C 040E N
+0419 N
+0439 N
+0450 0451 N
+0453 N
+0457 N
+045C 045E N
+0476 0477 N
+04C1 04C2 N
+04D0 04D3 N
+04D6 04D7 N
+04DA 04DF N
+04E2 04E7 N
+04EA 04F5 N
+04F8 04F9 N
+0622 0626 N
+06C0 N
+06C2 N
+06D3 N
+0929 N
+0931 N
+0934 N
+0958 095F N
+09CB 09CC N
+09DC 09DD N
+09DF N
+0A33 N
+0A36 N
+0A59 0A5B N
+0A5E N
+0B48 N
+0B4B 0B4C N
+0B5C 0B5D N
+0B94 N
+0BCA 0BCC N
+0C48 N
+0CC0 N
+0CC7 0CC8 N
+0CCA 0CCB N
+0D4A 0D4C N
+0DDA N
+0DDC 0DDE N
+0F43 N
+0F4D N
+0F52 N
+0F57 N
+0F5C N
+0F69 N
+0F73 N
+0F75 0F76 N
+0F78 N
+0F81 N
+0F93 N
+0F9D N
+0FA2 N
+0FA7 N
+0FAC N
+0FB9 N
+1026 N
+1B06 N
+1B08 N
+1B0A N
+1B0C N
+1B0E N
+1B12 N
+1B3B N
+1B3D N
+1B40 1B41 N
+1B43 N
+1E00 1E99 N
+1E9B N
+1EA0 1EF9 N
+1F00 1F15 N
+1F18 1F1D N
+1F20 1F45 N
+1F48 1F4D N
+1F50 1F57 N
+1F59 N
+1F5B N
+1F5D N
+1F5F 1F7D N
+1F80 1FB4 N
+1FB6 1FBC N
+1FBE N
+1FC1 1FC4 N
+1FC6 1FD3 N
+1FD6 1FDB N
+1FDD 1FEF N
+1FF2 1FF4 N
+1FF6 1FFD N
+2000 2001 N
+2126 N
+212A 212B N
+219A 219B N
+21AE N
+21CD 21CF N
+2204 N
+2209 N
+220C N
+2224 N
+2226 N
+2241 N
+2244 N
+2247 N
+2249 N
+2260 N
+2262 N
+226D 2271 N
+2274 2275 N
+2278 2279 N
+2280 2281 N
+2284 2285 N
+2288 2289 N
+22AC 22AF N
+22E0 22E3 N
+22EA 22ED N
+2329 232A N
+2ADC N
+304C N
+304E N
+3050 N
+3052 N
+3054 N
+3056 N
+3058 N
+305A N
+305C N
+305E N
+3060 N
+3062 N
+3065 N
+3067 N
+3069 N
+3070 3071 N
+3073 3074 N
+3076 3077 N
+3079 307A N
+307C 307D N
+3094 N
+309E N
+30AC N
+30AE N
+30B0 N
+30B2 N
+30B4 N
+30B6 N
+30B8 N
+30BA N
+30BC N
+30BE N
+30C0 N
+30C2 N
+30C5 N
+30C7 N
+30C9 N
+30D0 30D1 N
+30D3 30D4 N
+30D6 30D7 N
+30D9 30DA N
+30DC 30DD N
+30F4 N
+30F7 30FA N
+30FE N
+AC00 D7A3 N
+F900 FA0D N
+FA10 N
+FA12 N
+FA15 FA1E N
+FA20 N
+FA22 N
+FA25 FA26 N
+FA2A FA2D N
+FA30 FA6D N
+FA70 FAD9 N
+FB1D N
+FB1F N
+FB2A FB36 N
+FB38 FB3C N
+FB3E N
+FB40 FB41 N
+FB43 FB44 N
+FB46 FB4E N
+1109A N
+1109C N
+110AB N
+1D15E 1D164 N
+1D1BB 1D1C0 N
+2F800 2FA1D N
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
index dedc9fbd036..6105b29f6dd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
@@ -1,25 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the synonymous mappings:
-# NFKC_Casefold(cp)
-# NFKC_CF(cp)
-#
-# where 'cp' is one of the 9740 code points in Unicode Version 5.2.0 for
-# which the mapping is not to itself. Note that these mappings are not
-# accessible through the Perl core directly.
-#
-# For information about what this property really means, see:
-# http://www.unicode.org/reports/tr44/
-#
-# The format of the non-comment portions of the main body of lines of this
-# file is: START\tSTOP\tMAPPING where START is the starting code point of the
-# range, in hex; STOP is the ending point, or if omitted, the range has just
-# one code point; MAPPING is what each code point between START and STOP maps
-# to. Numbers in comments in [brackets] indicate how many code points are in
-# the range (omitted when the range is a single code point or if the mapping
-# is to the null string).
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -31,7 +13,9 @@ $utf8::SwashInfo{'ToNFKCCF'}{'missing'} = '<code point>'; # code point maps to i
# multiple code points. These do not appear in the main body, but are defined
# in the hash below.
-# The key: UTF-8 _bytes_, the value: UTF-8 (speed hack)
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
%utf8::ToSpecNFKCCF = (
"\xC2\xA8" => "\x{0020}\x{0308}", # U+00A8 => 0020 0308
"\xC2\xAD" => "", # U+00AD =>
@@ -1390,8 +1374,10 @@ $utf8::SwashInfo{'ToNFKCCF'}{'missing'} = '<code point>'; # code point maps to i
"\xF0\x9F\x85\x8C" => "\x{0073}\x{0064}", # U+1F14C => 0073 0064
"\xF0\x9F\x85\x8D" => "\x{0073}\x{0073}", # U+1F14D => 0073 0073
"\xF0\x9F\x85\x8E" => "\x{0070}\x{0070}\x{0076}", # U+1F14E => 0070 0070 0076
+"\xF0\x9F\x85\x8F" => "\x{0077}\x{0063}", # U+1F14F => 0077 0063
"\xF0\x9F\x86\x90" => "\x{0064}\x{006A}", # U+1F190 => 0064 006A
"\xF0\x9F\x88\x80" => "\x{307B}\x{304B}", # U+1F200 => 307B 304B
+"\xF0\x9F\x88\x81" => "\x{30B3}\x{30B3}", # U+1F201 => 30B3 30B3
"\xF0\x9F\x89\x80" => "\x{3014}\x{672C}\x{3015}", # U+1F240 => 3014 672C 3015
"\xF0\x9F\x89\x81" => "\x{3014}\x{4E09}\x{3015}", # U+1F241 => 3014 4E09 3015
"\xF0\x9F\x89\x82" => "\x{3014}\x{4E8C}\x{3015}", # U+1F242 => 3014 4E8C 3015
@@ -5955,6 +5941,7 @@ return <<'END';
0520 0521
0522 0523
0524 0525
+0526 0527
0531 0561
0532 0562
0533 0563
@@ -6335,7 +6322,17 @@ return <<'END';
1FF9 03CC
1FFA 1F7C
1FFB 03CE
-2000 200A 0020 # [11]
+2000 0020
+2001 0020
+2002 0020
+2003 0020
+2004 0020
+2005 0020
+2006 0020
+2007 0020
+2008 0020
+2009 0020
+200A 0020
2011 2010
2024 002E
202F 0020
@@ -6374,17 +6371,32 @@ return <<'END';
2092 006F
2093 0078
2094 0259
+2095 0068
+2096 006B
+2097 006C
+2098 006D
+2099 006E
+209A 0070
+209B 0073
+209C 0074
2102 0063
2107 025B
210A 0067
-210B 210E 0068 # [4]
+210B 0068
+210C 0068
+210D 0068
+210E 0068
210F 0127
-2110 2111 0069 # [2]
-2112 2113 006C # [2]
+2110 0069
+2111 0069
+2112 006C
+2113 006C
2115 006E
2119 0070
211A 0071
-211B 211D 0072 # [3]
+211B 0072
+211C 0072
+211D 0072
2124 007A
2126 03C9
2128 007A
@@ -6392,7 +6404,8 @@ return <<'END';
212B 00E5
212C 0062
212D 0063
-212F 2130 0065 # [2]
+212F 0065
+2130 0065
2131 0066
2132 214E
2133 006D
@@ -6403,10 +6416,12 @@ return <<'END';
2138 05D3
2139 0069
213C 03C0
-213D 213E 03B3 # [2]
+213D 03B3
+213E 03B3
213F 03C0
2140 2211
-2145 2146 0064 # [2]
+2145 0064
+2146 0064
2147 0065
2148 0069
2149 006A
@@ -7079,6 +7094,7 @@ A658 A659
A65A A65B
A65C A65D
A65E A65F
+A660 A661
A662 A663
A664 A665
A666 A667
@@ -7145,6 +7161,13 @@ A782 A783
A784 A785
A786 A787
A78B A78C
+A78D 0265
+A790 A791
+A7A0 A7A1
+A7A2 A7A3
+A7A4 A7A5
+A7A6 A7A7
+A7A8 A7A9
F900 8C48
F901 66F4
F902 8ECA
@@ -7152,7 +7175,8 @@ F903 8CC8
F904 6ED1
F905 4E32
F906 53E5
-F907 F908 9F9C # [2]
+F907 9F9C
+F908 9F9C
F909 5951
F90A 91D1
F90B 5587
@@ -7479,7 +7503,8 @@ FA59 7E41
FA5A 7F72
FA5B 8005
FA5C 81ED
-FA5D FA5E 8279 # [2]
+FA5D 8279
+FA5E 8279
FA5F 8457
FA60 8910
FA61 8996
@@ -7611,46 +7636,130 @@ FB26 05DD
FB27 05E8
FB28 05EA
FB29 002B
-FB50 FB51 0671 # [2]
-FB52 FB55 067B # [4]
-FB56 FB59 067E # [4]
-FB5A FB5D 0680 # [4]
-FB5E FB61 067A # [4]
-FB62 FB65 067F # [4]
-FB66 FB69 0679 # [4]
-FB6A FB6D 06A4 # [4]
-FB6E FB71 06A6 # [4]
-FB72 FB75 0684 # [4]
-FB76 FB79 0683 # [4]
-FB7A FB7D 0686 # [4]
-FB7E FB81 0687 # [4]
-FB82 FB83 068D # [2]
-FB84 FB85 068C # [2]
-FB86 FB87 068E # [2]
-FB88 FB89 0688 # [2]
-FB8A FB8B 0698 # [2]
-FB8C FB8D 0691 # [2]
-FB8E FB91 06A9 # [4]
-FB92 FB95 06AF # [4]
-FB96 FB99 06B3 # [4]
-FB9A FB9D 06B1 # [4]
-FB9E FB9F 06BA # [2]
-FBA0 FBA3 06BB # [4]
-FBA4 FBA5 06C0 # [2]
-FBA6 FBA9 06C1 # [4]
-FBAA FBAD 06BE # [4]
-FBAE FBAF 06D2 # [2]
-FBB0 FBB1 06D3 # [2]
-FBD3 FBD6 06AD # [4]
-FBD7 FBD8 06C7 # [2]
-FBD9 FBDA 06C6 # [2]
-FBDB FBDC 06C8 # [2]
-FBDE FBDF 06CB # [2]
-FBE0 FBE1 06C5 # [2]
-FBE2 FBE3 06C9 # [2]
-FBE4 FBE7 06D0 # [4]
-FBE8 FBE9 0649 # [2]
-FBFC FBFF 06CC # [4]
+FB50 0671
+FB51 0671
+FB52 067B
+FB53 067B
+FB54 067B
+FB55 067B
+FB56 067E
+FB57 067E
+FB58 067E
+FB59 067E
+FB5A 0680
+FB5B 0680
+FB5C 0680
+FB5D 0680
+FB5E 067A
+FB5F 067A
+FB60 067A
+FB61 067A
+FB62 067F
+FB63 067F
+FB64 067F
+FB65 067F
+FB66 0679
+FB67 0679
+FB68 0679
+FB69 0679
+FB6A 06A4
+FB6B 06A4
+FB6C 06A4
+FB6D 06A4
+FB6E 06A6
+FB6F 06A6
+FB70 06A6
+FB71 06A6
+FB72 0684
+FB73 0684
+FB74 0684
+FB75 0684
+FB76 0683
+FB77 0683
+FB78 0683
+FB79 0683
+FB7A 0686
+FB7B 0686
+FB7C 0686
+FB7D 0686
+FB7E 0687
+FB7F 0687
+FB80 0687
+FB81 0687
+FB82 068D
+FB83 068D
+FB84 068C
+FB85 068C
+FB86 068E
+FB87 068E
+FB88 0688
+FB89 0688
+FB8A 0698
+FB8B 0698
+FB8C 0691
+FB8D 0691
+FB8E 06A9
+FB8F 06A9
+FB90 06A9
+FB91 06A9
+FB92 06AF
+FB93 06AF
+FB94 06AF
+FB95 06AF
+FB96 06B3
+FB97 06B3
+FB98 06B3
+FB99 06B3
+FB9A 06B1
+FB9B 06B1
+FB9C 06B1
+FB9D 06B1
+FB9E 06BA
+FB9F 06BA
+FBA0 06BB
+FBA1 06BB
+FBA2 06BB
+FBA3 06BB
+FBA4 06C0
+FBA5 06C0
+FBA6 06C1
+FBA7 06C1
+FBA8 06C1
+FBA9 06C1
+FBAA 06BE
+FBAB 06BE
+FBAC 06BE
+FBAD 06BE
+FBAE 06D2
+FBAF 06D2
+FBB0 06D3
+FBB1 06D3
+FBD3 06AD
+FBD4 06AD
+FBD5 06AD
+FBD6 06AD
+FBD7 06C7
+FBD8 06C7
+FBD9 06C6
+FBDA 06C6
+FBDB 06C8
+FBDC 06C8
+FBDE 06CB
+FBDF 06CB
+FBE0 06C5
+FBE1 06C5
+FBE2 06C9
+FBE3 06C9
+FBE4 06D0
+FBE5 06D0
+FBE6 06D0
+FBE7 06D0
+FBE8 0649
+FBE9 0649
+FBFC 06CC
+FBFD 06CC
+FBFE 06CC
+FBFF 06CC
FE10 002C
FE11 3001
FE12 3002
@@ -7662,7 +7771,8 @@ FE17 3016
FE18 3017
FE31 2014
FE32 2013
-FE33 FE34 005F # [2]
+FE33 005F
+FE34 005F
FE35 0028
FE36 0029
FE37 007B
@@ -7681,7 +7791,9 @@ FE43 300E
FE44 300F
FE47 005B
FE48 005D
-FE4D FE4F 005F # [3]
+FE4D 005F
+FE4E 005F
+FE4F 005F
FE50 002C
FE51 3001
FE52 002E
@@ -7709,41 +7821,122 @@ FE69 0024
FE6A 0025
FE6B 0040
FE80 0621
-FE81 FE82 0622 # [2]
-FE83 FE84 0623 # [2]
-FE85 FE86 0624 # [2]
-FE87 FE88 0625 # [2]
-FE89 FE8C 0626 # [4]
-FE8D FE8E 0627 # [2]
-FE8F FE92 0628 # [4]
-FE93 FE94 0629 # [2]
-FE95 FE98 062A # [4]
-FE99 FE9C 062B # [4]
-FE9D FEA0 062C # [4]
-FEA1 FEA4 062D # [4]
-FEA5 FEA8 062E # [4]
-FEA9 FEAA 062F # [2]
-FEAB FEAC 0630 # [2]
-FEAD FEAE 0631 # [2]
-FEAF FEB0 0632 # [2]
-FEB1 FEB4 0633 # [4]
-FEB5 FEB8 0634 # [4]
-FEB9 FEBC 0635 # [4]
-FEBD FEC0 0636 # [4]
-FEC1 FEC4 0637 # [4]
-FEC5 FEC8 0638 # [4]
-FEC9 FECC 0639 # [4]
-FECD FED0 063A # [4]
-FED1 FED4 0641 # [4]
-FED5 FED8 0642 # [4]
-FED9 FEDC 0643 # [4]
-FEDD FEE0 0644 # [4]
-FEE1 FEE4 0645 # [4]
-FEE5 FEE8 0646 # [4]
-FEE9 FEEC 0647 # [4]
-FEED FEEE 0648 # [2]
-FEEF FEF0 0649 # [2]
-FEF1 FEF4 064A # [4]
+FE81 0622
+FE82 0622
+FE83 0623
+FE84 0623
+FE85 0624
+FE86 0624
+FE87 0625
+FE88 0625
+FE89 0626
+FE8A 0626
+FE8B 0626
+FE8C 0626
+FE8D 0627
+FE8E 0627
+FE8F 0628
+FE90 0628
+FE91 0628
+FE92 0628
+FE93 0629
+FE94 0629
+FE95 062A
+FE96 062A
+FE97 062A
+FE98 062A
+FE99 062B
+FE9A 062B
+FE9B 062B
+FE9C 062B
+FE9D 062C
+FE9E 062C
+FE9F 062C
+FEA0 062C
+FEA1 062D
+FEA2 062D
+FEA3 062D
+FEA4 062D
+FEA5 062E
+FEA6 062E
+FEA7 062E
+FEA8 062E
+FEA9 062F
+FEAA 062F
+FEAB 0630
+FEAC 0630
+FEAD 0631
+FEAE 0631
+FEAF 0632
+FEB0 0632
+FEB1 0633
+FEB2 0633
+FEB3 0633
+FEB4 0633
+FEB5 0634
+FEB6 0634
+FEB7 0634
+FEB8 0634
+FEB9 0635
+FEBA 0635
+FEBB 0635
+FEBC 0635
+FEBD 0636
+FEBE 0636
+FEBF 0636
+FEC0 0636
+FEC1 0637
+FEC2 0637
+FEC3 0637
+FEC4 0637
+FEC5 0638
+FEC6 0638
+FEC7 0638
+FEC8 0638
+FEC9 0639
+FECA 0639
+FECB 0639
+FECC 0639
+FECD 063A
+FECE 063A
+FECF 063A
+FED0 063A
+FED1 0641
+FED2 0641
+FED3 0641
+FED4 0641
+FED5 0642
+FED6 0642
+FED7 0642
+FED8 0642
+FED9 0643
+FEDA 0643
+FEDB 0643
+FEDC 0643
+FEDD 0644
+FEDE 0644
+FEDF 0644
+FEE0 0644
+FEE1 0645
+FEE2 0645
+FEE3 0645
+FEE4 0645
+FEE5 0646
+FEE6 0646
+FEE7 0646
+FEE8 0646
+FEE9 0647
+FEEA 0647
+FEEB 0647
+FEEC 0647
+FEED 0648
+FEEE 0648
+FEEF 0649
+FEF0 0649
+FEF1 064A
+FEF2 064A
+FEF3 064A
+FEF4 064A
FF01 0021
FF02 0022
FF03 0023
@@ -8704,7 +8897,8 @@ FFEE 25CB
1D6D0 03BF
1D6D1 03C0
1D6D2 03C1
-1D6D3 1D6D4 03C3 # [2]
+1D6D3 03C3
+1D6D4 03C3
1D6D5 03C4
1D6D6 03C5
1D6D7 03C6
@@ -8761,7 +8955,8 @@ FFEE 25CB
1D70A 03BF
1D70B 03C0
1D70C 03C1
-1D70D 1D70E 03C3 # [2]
+1D70D 03C3
+1D70E 03C3
1D70F 03C4
1D710 03C5
1D711 03C6
@@ -8818,7 +9013,8 @@ FFEE 25CB
1D744 03BF
1D745 03C0
1D746 03C1
-1D747 1D748 03C3 # [2]
+1D747 03C3
+1D748 03C3
1D749 03C4
1D74A 03C5
1D74B 03C6
@@ -8875,7 +9071,8 @@ FFEE 25CB
1D77E 03BF
1D77F 03C0
1D780 03C1
-1D781 1D782 03C3 # [2]
+1D781 03C3
+1D782 03C3
1D783 03C4
1D784 03C5
1D785 03C6
@@ -8932,7 +9129,8 @@ FFEE 25CB
1D7B8 03BF
1D7B9 03C0
1D7BA 03C1
-1D7BB 1D7BC 03C3 # [2]
+1D7BB 03C3
+1D7BC 03C3
1D7BD 03C4
1D7BE 03C5
1D7BF 03C6
@@ -8946,7 +9144,8 @@ FFEE 25CB
1D7C7 03C6
1D7C8 03C1
1D7C9 03C0
-1D7CA 1D7CB 03DD # [2]
+1D7CA 03DD
+1D7CB 03DD
1D7CE 0030
1D7CF 0031
1D7D0 0032
@@ -8999,11 +9198,33 @@ FFEE 25CB
1D7FF 0039
1F12B 0063
1F12C 0072
+1F130 0061
1F131 0062
+1F132 0063
+1F133 0064
+1F134 0065
+1F135 0066
+1F136 0067
+1F137 0068
+1F138 0069
+1F139 006A
+1F13A 006B
+1F13B 006C
+1F13C 006D
1F13D 006E
+1F13E 006F
1F13F 0070
+1F140 0071
+1F141 0072
1F142 0073
+1F143 0074
+1F144 0075
+1F145 0076
1F146 0077
+1F147 0078
+1F148 0079
+1F149 007A
+1F202 30B5
1F210 624B
1F211 5B57
1F212 53CC
@@ -9038,6 +9259,17 @@ FFEE 25CB
1F22F 6307
1F230 8D70
1F231 6253
+1F232 7981
+1F233 7A7A
+1F234 5408
+1F235 6E80
+1F236 6709
+1F237 6708
+1F238 7533
+1F239 5272
+1F23A 55B6
+1F250 5F97
+1F251 53EF
2F800 4E3D
2F801 4E38
2F802 4E41
@@ -9087,7 +9319,9 @@ FFEE 25CB
2F82E 535A
2F82F 5373
2F830 537D
-2F831 2F833 537F # [3]
+2F831 537F
+2F832 537F
+2F833 537F
2F834 20A2C
2F835 7070
2F836 53CA
@@ -9105,7 +9339,8 @@ FFEE 25CB
2F842 5510
2F843 5553
2F844 5563
-2F845 2F846 5584 # [2]
+2F845 5584
+2F846 5584
2F847 5599
2F848 55AB
2F849 55B3
@@ -9141,7 +9376,8 @@ FFEE 25CB
2F867 36EE
2F868 36FC
2F869 5B08
-2F86A 2F86B 5B3E # [2]
+2F86A 5B3E
+2F86B 5B3E
2F86C 219C8
2F86D 5BC3
2F86E 5BD8
@@ -9179,9 +9415,11 @@ FFEE 25CB
2F88E 5ECA
2F88F 2A392
2F890 5EFE
-2F891 2F892 22331 # [2]
+2F891 22331
+2F892 22331
2F893 8201
-2F894 2F895 5F22 # [2]
+2F894 5F22
+2F895 5F22
2F896 38C7
2F897 232B8
2F898 261DA
@@ -9332,7 +9570,8 @@ FFEE 25CB
2F929 738B
2F92A 3EAC
2F92B 73A5
-2F92C 2F92D 3EB8 # [2]
+2F92C 3EB8
+2F92D 3EB8
2F92E 7447
2F92F 745C
2F930 7471
@@ -9357,7 +9596,8 @@ FFEE 25CB
2F943 25119
2F944 25133
2F945 771E
-2F946 2F947 771F # [2]
+2F946 771F
+2F947 771F
2F948 774A
2F949 4039
2F94A 778B
@@ -9379,7 +9619,8 @@ FFEE 25CB
2F95A 7A4A
2F95B 7A4F
2F95C 2597C
-2F95D 2F95E 25AA7 # [2]
+2F95D 25AA7
+2F95E 25AA7
2F95F 7AEE
2F960 4202
2F961 25BAB
@@ -9539,7 +9780,8 @@ FFEE 25CB
2F9FB 2940A
2F9FC 4AB2
2F9FD 29496
-2F9FE 2F9FF 980B # [2]
+2F9FE 980B
+2F9FF 980B
2FA00 9829
2FA01 295B6
2FA02 98E2
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
new file mode 100644
index 00000000000..edb770cf54c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
@@ -0,0 +1,265 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNFKCQC'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNFKCQC'}{'missing'} = 'Yes';
+
+return <<'END';
+00A0 N
+00A8 N
+00AA N
+00AF N
+00B2 00B5 N
+00B8 00BA N
+00BC 00BE N
+0132 0133 N
+013F 0140 N
+0149 N
+017F N
+01C4 01CC N
+01F1 01F3 N
+02B0 02B8 N
+02D8 02DD N
+02E0 02E4 N
+0300 0304 M
+0306 030C M
+030F M
+0311 M
+0313 0314 M
+031B M
+0323 0328 M
+032D 032E M
+0330 0331 M
+0338 M
+0340 0341 N
+0342 M
+0343 0344 N
+0345 M
+0374 N
+037A N
+037E N
+0384 0385 N
+0387 N
+03D0 03D6 N
+03F0 03F2 N
+03F4 03F5 N
+03F9 N
+0587 N
+0653 0655 M
+0675 0678 N
+093C M
+0958 095F N
+09BE M
+09D7 M
+09DC 09DD N
+09DF N
+0A33 N
+0A36 N
+0A59 0A5B N
+0A5E N
+0B3E M
+0B56 0B57 M
+0B5C 0B5D N
+0BBE M
+0BD7 M
+0C56 M
+0CC2 M
+0CD5 0CD6 M
+0D3E M
+0D57 M
+0DCA M
+0DCF M
+0DDF M
+0E33 N
+0EB3 N
+0EDC 0EDD N
+0F0C N
+0F43 N
+0F4D N
+0F52 N
+0F57 N
+0F5C N
+0F69 N
+0F73 N
+0F75 0F79 N
+0F81 N
+0F93 N
+0F9D N
+0FA2 N
+0FA7 N
+0FAC N
+0FB9 N
+102E M
+10FC N
+1161 1175 M
+11A8 11C2 M
+1B35 M
+1D2C 1D2E N
+1D30 1D3A N
+1D3C 1D4D N
+1D4F 1D6A N
+1D78 N
+1D9B 1DBF N
+1E9A 1E9B N
+1F71 N
+1F73 N
+1F75 N
+1F77 N
+1F79 N
+1F7B N
+1F7D N
+1FBB N
+1FBD 1FC1 N
+1FC9 N
+1FCB N
+1FCD 1FCF N
+1FD3 N
+1FDB N
+1FDD 1FDF N
+1FE3 N
+1FEB N
+1FED 1FEF N
+1FF9 N
+1FFB N
+1FFD 1FFE N
+2000 200A N
+2011 N
+2017 N
+2024 2026 N
+202F N
+2033 2034 N
+2036 2037 N
+203C N
+203E N
+2047 2049 N
+2057 N
+205F N
+2070 2071 N
+2074 208E N
+2090 209C N
+20A8 N
+2100 2103 N
+2105 2107 N
+2109 2113 N
+2115 2116 N
+2119 211D N
+2120 2122 N
+2124 N
+2126 N
+2128 N
+212A 212D N
+212F 2131 N
+2133 2139 N
+213B 2140 N
+2145 2149 N
+2150 217F N
+2189 N
+222C 222D N
+222F 2230 N
+2329 232A N
+2460 24EA N
+2A0C N
+2A74 2A76 N
+2ADC N
+2C7C 2C7D N
+2D6F N
+2E9F N
+2EF3 N
+2F00 2FD5 N
+3000 N
+3036 N
+3038 303A N
+3099 309A M
+309B 309C N
+309F N
+30FF N
+3131 318E N
+3192 319F N
+3200 321E N
+3220 3247 N
+3250 327E N
+3280 32FE N
+3300 33FF N
+A770 N
+F900 FA0D N
+FA10 N
+FA12 N
+FA15 FA1E N
+FA20 N
+FA22 N
+FA25 FA26 N
+FA2A FA2D N
+FA30 FA6D N
+FA70 FAD9 N
+FB00 FB06 N
+FB13 FB17 N
+FB1D N
+FB1F FB36 N
+FB38 FB3C N
+FB3E N
+FB40 FB41 N
+FB43 FB44 N
+FB46 FBB1 N
+FBD3 FD3D N
+FD50 FD8F N
+FD92 FDC7 N
+FDF0 FDFC N
+FE10 FE19 N
+FE30 FE44 N
+FE47 FE52 N
+FE54 FE66 N
+FE68 FE6B N
+FE70 FE72 N
+FE74 N
+FE76 FEFC N
+FF01 FFBE N
+FFC2 FFC7 N
+FFCA FFCF N
+FFD2 FFD7 N
+FFDA FFDC N
+FFE0 FFE6 N
+FFE8 FFEE N
+110BA M
+1D15E 1D164 N
+1D1BB 1D1C0 N
+1D400 1D454 N
+1D456 1D49C N
+1D49E 1D49F N
+1D4A2 N
+1D4A5 1D4A6 N
+1D4A9 1D4AC N
+1D4AE 1D4B9 N
+1D4BB N
+1D4BD 1D4C3 N
+1D4C5 1D505 N
+1D507 1D50A N
+1D50D 1D514 N
+1D516 1D51C N
+1D51E 1D539 N
+1D53B 1D53E N
+1D540 1D544 N
+1D546 N
+1D54A 1D550 N
+1D552 1D6A5 N
+1D6A8 1D7CB N
+1D7CE 1D7FF N
+1F100 1F10A N
+1F110 1F12E N
+1F130 1F14F N
+1F190 N
+1F200 1F202 N
+1F210 1F23A N
+1F240 1F248 N
+1F250 1F251 N
+2F800 2FA1D N
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
new file mode 100644
index 00000000000..9d78c1ffeee
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
@@ -0,0 +1,367 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNFKDQC'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNFKDQC'}{'missing'} = 'Yes';
+
+return <<'END';
+00A0 N
+00A8 N
+00AA N
+00AF N
+00B2 00B5 N
+00B8 00BA N
+00BC 00BE N
+00C0 00C5 N
+00C7 00CF N
+00D1 00D6 N
+00D9 00DD N
+00E0 00E5 N
+00E7 00EF N
+00F1 00F6 N
+00F9 00FD N
+00FF 010F N
+0112 0125 N
+0128 0130 N
+0132 0137 N
+0139 0140 N
+0143 0149 N
+014C 0151 N
+0154 0165 N
+0168 017F N
+01A0 01A1 N
+01AF 01B0 N
+01C4 01DC N
+01DE 01E3 N
+01E6 01F5 N
+01F8 021B N
+021E 021F N
+0226 0233 N
+02B0 02B8 N
+02D8 02DD N
+02E0 02E4 N
+0340 0341 N
+0343 0344 N
+0374 N
+037A N
+037E N
+0384 038A N
+038C N
+038E 0390 N
+03AA 03B0 N
+03CA 03CE N
+03D0 03D6 N
+03F0 03F2 N
+03F4 03F5 N
+03F9 N
+0400 0401 N
+0403 N
+0407 N
+040C 040E N
+0419 N
+0439 N
+0450 0451 N
+0453 N
+0457 N
+045C 045E N
+0476 0477 N
+04C1 04C2 N
+04D0 04D3 N
+04D6 04D7 N
+04DA 04DF N
+04E2 04E7 N
+04EA 04F5 N
+04F8 04F9 N
+0587 N
+0622 0626 N
+0675 0678 N
+06C0 N
+06C2 N
+06D3 N
+0929 N
+0931 N
+0934 N
+0958 095F N
+09CB 09CC N
+09DC 09DD N
+09DF N
+0A33 N
+0A36 N
+0A59 0A5B N
+0A5E N
+0B48 N
+0B4B 0B4C N
+0B5C 0B5D N
+0B94 N
+0BCA 0BCC N
+0C48 N
+0CC0 N
+0CC7 0CC8 N
+0CCA 0CCB N
+0D4A 0D4C N
+0DDA N
+0DDC 0DDE N
+0E33 N
+0EB3 N
+0EDC 0EDD N
+0F0C N
+0F43 N
+0F4D N
+0F52 N
+0F57 N
+0F5C N
+0F69 N
+0F73 N
+0F75 0F79 N
+0F81 N
+0F93 N
+0F9D N
+0FA2 N
+0FA7 N
+0FAC N
+0FB9 N
+1026 N
+10FC N
+1B06 N
+1B08 N
+1B0A N
+1B0C N
+1B0E N
+1B12 N
+1B3B N
+1B3D N
+1B40 1B41 N
+1B43 N
+1D2C 1D2E N
+1D30 1D3A N
+1D3C 1D4D N
+1D4F 1D6A N
+1D78 N
+1D9B 1DBF N
+1E00 1E9B N
+1EA0 1EF9 N
+1F00 1F15 N
+1F18 1F1D N
+1F20 1F45 N
+1F48 1F4D N
+1F50 1F57 N
+1F59 N
+1F5B N
+1F5D N
+1F5F 1F7D N
+1F80 1FB4 N
+1FB6 1FC4 N
+1FC6 1FD3 N
+1FD6 1FDB N
+1FDD 1FEF N
+1FF2 1FF4 N
+1FF6 1FFE N
+2000 200A N
+2011 N
+2017 N
+2024 2026 N
+202F N
+2033 2034 N
+2036 2037 N
+203C N
+203E N
+2047 2049 N
+2057 N
+205F N
+2070 2071 N
+2074 208E N
+2090 209C N
+20A8 N
+2100 2103 N
+2105 2107 N
+2109 2113 N
+2115 2116 N
+2119 211D N
+2120 2122 N
+2124 N
+2126 N
+2128 N
+212A 212D N
+212F 2131 N
+2133 2139 N
+213B 2140 N
+2145 2149 N
+2150 217F N
+2189 N
+219A 219B N
+21AE N
+21CD 21CF N
+2204 N
+2209 N
+220C N
+2224 N
+2226 N
+222C 222D N
+222F 2230 N
+2241 N
+2244 N
+2247 N
+2249 N
+2260 N
+2262 N
+226D 2271 N
+2274 2275 N
+2278 2279 N
+2280 2281 N
+2284 2285 N
+2288 2289 N
+22AC 22AF N
+22E0 22E3 N
+22EA 22ED N
+2329 232A N
+2460 24EA N
+2A0C N
+2A74 2A76 N
+2ADC N
+2C7C 2C7D N
+2D6F N
+2E9F N
+2EF3 N
+2F00 2FD5 N
+3000 N
+3036 N
+3038 303A N
+304C N
+304E N
+3050 N
+3052 N
+3054 N
+3056 N
+3058 N
+305A N
+305C N
+305E N
+3060 N
+3062 N
+3065 N
+3067 N
+3069 N
+3070 3071 N
+3073 3074 N
+3076 3077 N
+3079 307A N
+307C 307D N
+3094 N
+309B 309C N
+309E 309F N
+30AC N
+30AE N
+30B0 N
+30B2 N
+30B4 N
+30B6 N
+30B8 N
+30BA N
+30BC N
+30BE N
+30C0 N
+30C2 N
+30C5 N
+30C7 N
+30C9 N
+30D0 30D1 N
+30D3 30D4 N
+30D6 30D7 N
+30D9 30DA N
+30DC 30DD N
+30F4 N
+30F7 30FA N
+30FE 30FF N
+3131 318E N
+3192 319F N
+3200 321E N
+3220 3247 N
+3250 327E N
+3280 32FE N
+3300 33FF N
+A770 N
+AC00 D7A3 N
+F900 FA0D N
+FA10 N
+FA12 N
+FA15 FA1E N
+FA20 N
+FA22 N
+FA25 FA26 N
+FA2A FA2D N
+FA30 FA6D N
+FA70 FAD9 N
+FB00 FB06 N
+FB13 FB17 N
+FB1D N
+FB1F FB36 N
+FB38 FB3C N
+FB3E N
+FB40 FB41 N
+FB43 FB44 N
+FB46 FBB1 N
+FBD3 FD3D N
+FD50 FD8F N
+FD92 FDC7 N
+FDF0 FDFC N
+FE10 FE19 N
+FE30 FE44 N
+FE47 FE52 N
+FE54 FE66 N
+FE68 FE6B N
+FE70 FE72 N
+FE74 N
+FE76 FEFC N
+FF01 FFBE N
+FFC2 FFC7 N
+FFCA FFCF N
+FFD2 FFD7 N
+FFDA FFDC N
+FFE0 FFE6 N
+FFE8 FFEE N
+1109A N
+1109C N
+110AB N
+1D15E 1D164 N
+1D1BB 1D1C0 N
+1D400 1D454 N
+1D456 1D49C N
+1D49E 1D49F N
+1D4A2 N
+1D4A5 1D4A6 N
+1D4A9 1D4AC N
+1D4AE 1D4B9 N
+1D4BB N
+1D4BD 1D4C3 N
+1D4C5 1D505 N
+1D507 1D50A N
+1D50D 1D514 N
+1D516 1D51C N
+1D51E 1D539 N
+1D53B 1D53E N
+1D540 1D544 N
+1D546 N
+1D54A 1D550 N
+1D552 1D6A5 N
+1D6A8 1D7CB N
+1D7CE 1D7FF N
+1F100 1F10A N
+1F110 1F12E N
+1F130 1F14F N
+1F190 N
+1F200 1F202 N
+1F210 1F23A N
+1F240 1F248 N
+1F250 1F251 N
+2F800 2FA1D N
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl b/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
new file mode 100644
index 00000000000..f61fa7e654c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
@@ -0,0 +1,1996 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNa1'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNa1'}{'missing'} = ''; # code point maps to the null string
+
+return <<'END';
+0000 NULL
+0001 START OF HEADING
+0002 START OF TEXT
+0003 END OF TEXT
+0004 END OF TRANSMISSION
+0005 ENQUIRY
+0006 ACKNOWLEDGE
+0007 BELL
+0008 BACKSPACE
+0009 CHARACTER TABULATION
+000A LINE FEED (LF)
+000B LINE TABULATION
+000C FORM FEED (FF)
+000D CARRIAGE RETURN (CR)
+000E SHIFT OUT
+000F SHIFT IN
+0010 DATA LINK ESCAPE
+0011 DEVICE CONTROL ONE
+0012 DEVICE CONTROL TWO
+0013 DEVICE CONTROL THREE
+0014 DEVICE CONTROL FOUR
+0015 NEGATIVE ACKNOWLEDGE
+0016 SYNCHRONOUS IDLE
+0017 END OF TRANSMISSION BLOCK
+0018 CANCEL
+0019 END OF MEDIUM
+001A SUBSTITUTE
+001B ESCAPE
+001C INFORMATION SEPARATOR FOUR
+001D INFORMATION SEPARATOR THREE
+001E INFORMATION SEPARATOR TWO
+001F INFORMATION SEPARATOR ONE
+0027 APOSTROPHE-QUOTE
+0028 OPENING PARENTHESIS
+0029 CLOSING PARENTHESIS
+002E PERIOD
+002F SLASH
+005B OPENING SQUARE BRACKET
+005C BACKSLASH
+005D CLOSING SQUARE BRACKET
+005E SPACING CIRCUMFLEX
+005F SPACING UNDERSCORE
+0060 SPACING GRAVE
+007B OPENING CURLY BRACKET
+007C VERTICAL BAR
+007D CLOSING CURLY BRACKET
+007F DELETE
+0082 BREAK PERMITTED HERE
+0083 NO BREAK HERE
+0085 NEXT LINE (NEL)
+0086 START OF SELECTED AREA
+0087 END OF SELECTED AREA
+0088 CHARACTER TABULATION SET
+0089 CHARACTER TABULATION WITH JUSTIFICATION
+008A LINE TABULATION SET
+008B PARTIAL LINE FORWARD
+008C PARTIAL LINE BACKWARD
+008D REVERSE LINE FEED
+008E SINGLE SHIFT TWO
+008F SINGLE SHIFT THREE
+0090 DEVICE CONTROL STRING
+0091 PRIVATE USE ONE
+0092 PRIVATE USE TWO
+0093 SET TRANSMIT STATE
+0094 CANCEL CHARACTER
+0095 MESSAGE WAITING
+0096 START OF GUARDED AREA
+0097 END OF GUARDED AREA
+0098 START OF STRING
+009A SINGLE CHARACTER INTRODUCER
+009B CONTROL SEQUENCE INTRODUCER
+009C STRING TERMINATOR
+009D OPERATING SYSTEM COMMAND
+009E PRIVACY MESSAGE
+009F APPLICATION PROGRAM COMMAND
+00A0 NON-BREAKING SPACE
+00A6 BROKEN VERTICAL BAR
+00A8 SPACING DIAERESIS
+00AB LEFT POINTING GUILLEMET
+00AE REGISTERED TRADE MARK SIGN
+00AF SPACING MACRON
+00B1 PLUS-OR-MINUS SIGN
+00B2 SUPERSCRIPT DIGIT TWO
+00B3 SUPERSCRIPT DIGIT THREE
+00B4 SPACING ACUTE
+00B6 PARAGRAPH SIGN
+00B8 SPACING CEDILLA
+00B9 SUPERSCRIPT DIGIT ONE
+00BB RIGHT POINTING GUILLEMET
+00BC FRACTION ONE QUARTER
+00BD FRACTION ONE HALF
+00BE FRACTION THREE QUARTERS
+00C0 LATIN CAPITAL LETTER A GRAVE
+00C1 LATIN CAPITAL LETTER A ACUTE
+00C2 LATIN CAPITAL LETTER A CIRCUMFLEX
+00C3 LATIN CAPITAL LETTER A TILDE
+00C4 LATIN CAPITAL LETTER A DIAERESIS
+00C5 LATIN CAPITAL LETTER A RING
+00C6 LATIN CAPITAL LETTER A E
+00C7 LATIN CAPITAL LETTER C CEDILLA
+00C8 LATIN CAPITAL LETTER E GRAVE
+00C9 LATIN CAPITAL LETTER E ACUTE
+00CA LATIN CAPITAL LETTER E CIRCUMFLEX
+00CB LATIN CAPITAL LETTER E DIAERESIS
+00CC LATIN CAPITAL LETTER I GRAVE
+00CD LATIN CAPITAL LETTER I ACUTE
+00CE LATIN CAPITAL LETTER I CIRCUMFLEX
+00CF LATIN CAPITAL LETTER I DIAERESIS
+00D1 LATIN CAPITAL LETTER N TILDE
+00D2 LATIN CAPITAL LETTER O GRAVE
+00D3 LATIN CAPITAL LETTER O ACUTE
+00D4 LATIN CAPITAL LETTER O CIRCUMFLEX
+00D5 LATIN CAPITAL LETTER O TILDE
+00D6 LATIN CAPITAL LETTER O DIAERESIS
+00D8 LATIN CAPITAL LETTER O SLASH
+00D9 LATIN CAPITAL LETTER U GRAVE
+00DA LATIN CAPITAL LETTER U ACUTE
+00DB LATIN CAPITAL LETTER U CIRCUMFLEX
+00DC LATIN CAPITAL LETTER U DIAERESIS
+00DD LATIN CAPITAL LETTER Y ACUTE
+00E0 LATIN SMALL LETTER A GRAVE
+00E1 LATIN SMALL LETTER A ACUTE
+00E2 LATIN SMALL LETTER A CIRCUMFLEX
+00E3 LATIN SMALL LETTER A TILDE
+00E4 LATIN SMALL LETTER A DIAERESIS
+00E5 LATIN SMALL LETTER A RING
+00E6 LATIN SMALL LETTER A E
+00E7 LATIN SMALL LETTER C CEDILLA
+00E8 LATIN SMALL LETTER E GRAVE
+00E9 LATIN SMALL LETTER E ACUTE
+00EA LATIN SMALL LETTER E CIRCUMFLEX
+00EB LATIN SMALL LETTER E DIAERESIS
+00EC LATIN SMALL LETTER I GRAVE
+00ED LATIN SMALL LETTER I ACUTE
+00EE LATIN SMALL LETTER I CIRCUMFLEX
+00EF LATIN SMALL LETTER I DIAERESIS
+00F1 LATIN SMALL LETTER N TILDE
+00F2 LATIN SMALL LETTER O GRAVE
+00F3 LATIN SMALL LETTER O ACUTE
+00F4 LATIN SMALL LETTER O CIRCUMFLEX
+00F5 LATIN SMALL LETTER O TILDE
+00F6 LATIN SMALL LETTER O DIAERESIS
+00F8 LATIN SMALL LETTER O SLASH
+00F9 LATIN SMALL LETTER U GRAVE
+00FA LATIN SMALL LETTER U ACUTE
+00FB LATIN SMALL LETTER U CIRCUMFLEX
+00FC LATIN SMALL LETTER U DIAERESIS
+00FD LATIN SMALL LETTER Y ACUTE
+00FF LATIN SMALL LETTER Y DIAERESIS
+0100 LATIN CAPITAL LETTER A MACRON
+0101 LATIN SMALL LETTER A MACRON
+0102 LATIN CAPITAL LETTER A BREVE
+0103 LATIN SMALL LETTER A BREVE
+0104 LATIN CAPITAL LETTER A OGONEK
+0105 LATIN SMALL LETTER A OGONEK
+0106 LATIN CAPITAL LETTER C ACUTE
+0107 LATIN SMALL LETTER C ACUTE
+0108 LATIN CAPITAL LETTER C CIRCUMFLEX
+0109 LATIN SMALL LETTER C CIRCUMFLEX
+010A LATIN CAPITAL LETTER C DOT
+010B LATIN SMALL LETTER C DOT
+010C LATIN CAPITAL LETTER C HACEK
+010D LATIN SMALL LETTER C HACEK
+010E LATIN CAPITAL LETTER D HACEK
+010F LATIN SMALL LETTER D HACEK
+0110 LATIN CAPITAL LETTER D BAR
+0111 LATIN SMALL LETTER D BAR
+0112 LATIN CAPITAL LETTER E MACRON
+0113 LATIN SMALL LETTER E MACRON
+0114 LATIN CAPITAL LETTER E BREVE
+0115 LATIN SMALL LETTER E BREVE
+0116 LATIN CAPITAL LETTER E DOT
+0117 LATIN SMALL LETTER E DOT
+0118 LATIN CAPITAL LETTER E OGONEK
+0119 LATIN SMALL LETTER E OGONEK
+011A LATIN CAPITAL LETTER E HACEK
+011B LATIN SMALL LETTER E HACEK
+011C LATIN CAPITAL LETTER G CIRCUMFLEX
+011D LATIN SMALL LETTER G CIRCUMFLEX
+011E LATIN CAPITAL LETTER G BREVE
+011F LATIN SMALL LETTER G BREVE
+0120 LATIN CAPITAL LETTER G DOT
+0121 LATIN SMALL LETTER G DOT
+0122 LATIN CAPITAL LETTER G CEDILLA
+0123 LATIN SMALL LETTER G CEDILLA
+0124 LATIN CAPITAL LETTER H CIRCUMFLEX
+0125 LATIN SMALL LETTER H CIRCUMFLEX
+0126 LATIN CAPITAL LETTER H BAR
+0127 LATIN SMALL LETTER H BAR
+0128 LATIN CAPITAL LETTER I TILDE
+0129 LATIN SMALL LETTER I TILDE
+012A LATIN CAPITAL LETTER I MACRON
+012B LATIN SMALL LETTER I MACRON
+012C LATIN CAPITAL LETTER I BREVE
+012D LATIN SMALL LETTER I BREVE
+012E LATIN CAPITAL LETTER I OGONEK
+012F LATIN SMALL LETTER I OGONEK
+0130 LATIN CAPITAL LETTER I DOT
+0132 LATIN CAPITAL LETTER I J
+0133 LATIN SMALL LETTER I J
+0134 LATIN CAPITAL LETTER J CIRCUMFLEX
+0135 LATIN SMALL LETTER J CIRCUMFLEX
+0136 LATIN CAPITAL LETTER K CEDILLA
+0137 LATIN SMALL LETTER K CEDILLA
+0139 LATIN CAPITAL LETTER L ACUTE
+013A LATIN SMALL LETTER L ACUTE
+013B LATIN CAPITAL LETTER L CEDILLA
+013C LATIN SMALL LETTER L CEDILLA
+013D LATIN CAPITAL LETTER L HACEK
+013E LATIN SMALL LETTER L HACEK
+0141 LATIN CAPITAL LETTER L SLASH
+0142 LATIN SMALL LETTER L SLASH
+0143 LATIN CAPITAL LETTER N ACUTE
+0144 LATIN SMALL LETTER N ACUTE
+0145 LATIN CAPITAL LETTER N CEDILLA
+0146 LATIN SMALL LETTER N CEDILLA
+0147 LATIN CAPITAL LETTER N HACEK
+0148 LATIN SMALL LETTER N HACEK
+0149 LATIN SMALL LETTER APOSTROPHE N
+014C LATIN CAPITAL LETTER O MACRON
+014D LATIN SMALL LETTER O MACRON
+014E LATIN CAPITAL LETTER O BREVE
+014F LATIN SMALL LETTER O BREVE
+0150 LATIN CAPITAL LETTER O DOUBLE ACUTE
+0151 LATIN SMALL LETTER O DOUBLE ACUTE
+0152 LATIN CAPITAL LETTER O E
+0153 LATIN SMALL LETTER O E
+0154 LATIN CAPITAL LETTER R ACUTE
+0155 LATIN SMALL LETTER R ACUTE
+0156 LATIN CAPITAL LETTER R CEDILLA
+0157 LATIN SMALL LETTER R CEDILLA
+0158 LATIN CAPITAL LETTER R HACEK
+0159 LATIN SMALL LETTER R HACEK
+015A LATIN CAPITAL LETTER S ACUTE
+015B LATIN SMALL LETTER S ACUTE
+015C LATIN CAPITAL LETTER S CIRCUMFLEX
+015D LATIN SMALL LETTER S CIRCUMFLEX
+015E LATIN CAPITAL LETTER S CEDILLA
+015F LATIN SMALL LETTER S CEDILLA
+0160 LATIN CAPITAL LETTER S HACEK
+0161 LATIN SMALL LETTER S HACEK
+0162 LATIN CAPITAL LETTER T CEDILLA
+0163 LATIN SMALL LETTER T CEDILLA
+0164 LATIN CAPITAL LETTER T HACEK
+0165 LATIN SMALL LETTER T HACEK
+0166 LATIN CAPITAL LETTER T BAR
+0167 LATIN SMALL LETTER T BAR
+0168 LATIN CAPITAL LETTER U TILDE
+0169 LATIN SMALL LETTER U TILDE
+016A LATIN CAPITAL LETTER U MACRON
+016B LATIN SMALL LETTER U MACRON
+016C LATIN CAPITAL LETTER U BREVE
+016D LATIN SMALL LETTER U BREVE
+016E LATIN CAPITAL LETTER U RING
+016F LATIN SMALL LETTER U RING
+0170 LATIN CAPITAL LETTER U DOUBLE ACUTE
+0171 LATIN SMALL LETTER U DOUBLE ACUTE
+0172 LATIN CAPITAL LETTER U OGONEK
+0173 LATIN SMALL LETTER U OGONEK
+0174 LATIN CAPITAL LETTER W CIRCUMFLEX
+0175 LATIN SMALL LETTER W CIRCUMFLEX
+0176 LATIN CAPITAL LETTER Y CIRCUMFLEX
+0177 LATIN SMALL LETTER Y CIRCUMFLEX
+0178 LATIN CAPITAL LETTER Y DIAERESIS
+0179 LATIN CAPITAL LETTER Z ACUTE
+017A LATIN SMALL LETTER Z ACUTE
+017B LATIN CAPITAL LETTER Z DOT
+017C LATIN SMALL LETTER Z DOT
+017D LATIN CAPITAL LETTER Z HACEK
+017E LATIN SMALL LETTER Z HACEK
+0180 LATIN SMALL LETTER B BAR
+0181 LATIN CAPITAL LETTER B HOOK
+0182 LATIN CAPITAL LETTER B TOPBAR
+0183 LATIN SMALL LETTER B TOPBAR
+0187 LATIN CAPITAL LETTER C HOOK
+0188 LATIN SMALL LETTER C HOOK
+018A LATIN CAPITAL LETTER D HOOK
+018B LATIN CAPITAL LETTER D TOPBAR
+018C LATIN SMALL LETTER D TOPBAR
+018E LATIN CAPITAL LETTER TURNED E
+0190 LATIN CAPITAL LETTER EPSILON
+0191 LATIN CAPITAL LETTER F HOOK
+0192 LATIN SMALL LETTER SCRIPT F
+0193 LATIN CAPITAL LETTER G HOOK
+0195 LATIN SMALL LETTER H V
+0197 LATIN CAPITAL LETTER BARRED I
+0198 LATIN CAPITAL LETTER K HOOK
+0199 LATIN SMALL LETTER K HOOK
+019A LATIN SMALL LETTER BARRED L
+019B LATIN SMALL LETTER BARRED LAMBDA
+019D LATIN CAPITAL LETTER N HOOK
+019F LATIN CAPITAL LETTER BARRED O
+01A0 LATIN CAPITAL LETTER O HORN
+01A1 LATIN SMALL LETTER O HORN
+01A2 LATIN CAPITAL LETTER O I
+01A3 LATIN SMALL LETTER O I
+01A4 LATIN CAPITAL LETTER P HOOK
+01A5 LATIN SMALL LETTER P HOOK
+01A6 LATIN LETTER Y R
+01AB LATIN SMALL LETTER T PALATAL HOOK
+01AC LATIN CAPITAL LETTER T HOOK
+01AD LATIN SMALL LETTER T HOOK
+01AE LATIN CAPITAL LETTER T RETROFLEX HOOK
+01AF LATIN CAPITAL LETTER U HORN
+01B0 LATIN SMALL LETTER U HORN
+01B2 LATIN CAPITAL LETTER SCRIPT V
+01B3 LATIN CAPITAL LETTER Y HOOK
+01B4 LATIN SMALL LETTER Y HOOK
+01B5 LATIN CAPITAL LETTER Z BAR
+01B6 LATIN SMALL LETTER Z BAR
+01B7 LATIN CAPITAL LETTER YOGH
+01B8 LATIN CAPITAL LETTER REVERSED YOGH
+01B9 LATIN SMALL LETTER REVERSED YOGH
+01BA LATIN SMALL LETTER YOGH WITH TAIL
+01BB LATIN LETTER TWO BAR
+01BE LATIN LETTER INVERTED GLOTTAL STOP BAR
+01C0 LATIN LETTER PIPE
+01C1 LATIN LETTER DOUBLE PIPE
+01C2 LATIN LETTER PIPE DOUBLE BAR
+01C3 LATIN LETTER EXCLAMATION MARK
+01C4 LATIN CAPITAL LETTER D Z HACEK
+01C5 LATIN LETTER CAPITAL D SMALL Z HACEK
+01C6 LATIN SMALL LETTER D Z HACEK
+01C7 LATIN CAPITAL LETTER L J
+01C8 LATIN LETTER CAPITAL L SMALL J
+01C9 LATIN SMALL LETTER L J
+01CA LATIN CAPITAL LETTER N J
+01CB LATIN LETTER CAPITAL N SMALL J
+01CC LATIN SMALL LETTER N J
+01CD LATIN CAPITAL LETTER A HACEK
+01CE LATIN SMALL LETTER A HACEK
+01CF LATIN CAPITAL LETTER I HACEK
+01D0 LATIN SMALL LETTER I HACEK
+01D1 LATIN CAPITAL LETTER O HACEK
+01D2 LATIN SMALL LETTER O HACEK
+01D3 LATIN CAPITAL LETTER U HACEK
+01D4 LATIN SMALL LETTER U HACEK
+01D5 LATIN CAPITAL LETTER U DIAERESIS MACRON
+01D6 LATIN SMALL LETTER U DIAERESIS MACRON
+01D7 LATIN CAPITAL LETTER U DIAERESIS ACUTE
+01D8 LATIN SMALL LETTER U DIAERESIS ACUTE
+01D9 LATIN CAPITAL LETTER U DIAERESIS HACEK
+01DA LATIN SMALL LETTER U DIAERESIS HACEK
+01DB LATIN CAPITAL LETTER U DIAERESIS GRAVE
+01DC LATIN SMALL LETTER U DIAERESIS GRAVE
+01DE LATIN CAPITAL LETTER A DIAERESIS MACRON
+01DF LATIN SMALL LETTER A DIAERESIS MACRON
+01E0 LATIN CAPITAL LETTER A DOT MACRON
+01E1 LATIN SMALL LETTER A DOT MACRON
+01E2 LATIN CAPITAL LETTER A E MACRON
+01E3 LATIN SMALL LETTER A E MACRON
+01E4 LATIN CAPITAL LETTER G BAR
+01E5 LATIN SMALL LETTER G BAR
+01E6 LATIN CAPITAL LETTER G HACEK
+01E7 LATIN SMALL LETTER G HACEK
+01E8 LATIN CAPITAL LETTER K HACEK
+01E9 LATIN SMALL LETTER K HACEK
+01EA LATIN CAPITAL LETTER O OGONEK
+01EB LATIN SMALL LETTER O OGONEK
+01EC LATIN CAPITAL LETTER O OGONEK MACRON
+01ED LATIN SMALL LETTER O OGONEK MACRON
+01EE LATIN CAPITAL LETTER YOGH HACEK
+01EF LATIN SMALL LETTER YOGH HACEK
+01F0 LATIN SMALL LETTER J HACEK
+0251 LATIN SMALL LETTER SCRIPT A
+0252 LATIN SMALL LETTER TURNED SCRIPT A
+0253 LATIN SMALL LETTER B HOOK
+0255 LATIN SMALL LETTER C CURL
+0256 LATIN SMALL LETTER D RETROFLEX HOOK
+0257 LATIN SMALL LETTER D HOOK
+025A LATIN SMALL LETTER SCHWA HOOK
+025B LATIN SMALL LETTER EPSILON
+025C LATIN SMALL LETTER REVERSED EPSILON
+025D LATIN SMALL LETTER REVERSED EPSILON HOOK
+025E LATIN SMALL LETTER CLOSED REVERSED EPSILON
+025F LATIN SMALL LETTER DOTLESS J BAR
+0260 LATIN SMALL LETTER G HOOK
+0264 LATIN SMALL LETTER BABY GAMMA
+0266 LATIN SMALL LETTER H HOOK
+0267 LATIN SMALL LETTER HENG HOOK
+0268 LATIN SMALL LETTER BARRED I
+026C LATIN SMALL LETTER L BELT
+026D LATIN SMALL LETTER L RETROFLEX HOOK
+026E LATIN SMALL LETTER L YOGH
+0271 LATIN SMALL LETTER M HOOK
+0272 LATIN SMALL LETTER N HOOK
+0273 LATIN SMALL LETTER N RETROFLEX HOOK
+0276 LATIN LETTER SMALL CAPITAL O E
+027B LATIN SMALL LETTER TURNED R HOOK
+027D LATIN SMALL LETTER R HOOK
+027E LATIN SMALL LETTER FISHHOOK R
+027F LATIN SMALL LETTER REVERSED FISHHOOK R
+0282 LATIN SMALL LETTER S HOOK
+0284 LATIN SMALL LETTER DOTLESS J BAR HOOK
+0286 LATIN SMALL LETTER ESH CURL
+0288 LATIN SMALL LETTER T RETROFLEX HOOK
+028B LATIN SMALL LETTER SCRIPT V
+0290 LATIN SMALL LETTER Z RETROFLEX HOOK
+0291 LATIN SMALL LETTER Z CURL
+0292 LATIN SMALL LETTER YOGH
+0293 LATIN SMALL LETTER YOGH CURL
+0295 LATIN LETTER REVERSED GLOTTAL STOP
+0298 LATIN LETTER BULLSEYE
+029A LATIN SMALL LETTER CLOSED EPSILON
+029B LATIN LETTER SMALL CAPITAL G HOOK
+029D LATIN SMALL LETTER CROSSED-TAIL J
+02A0 LATIN SMALL LETTER Q HOOK
+02A1 LATIN LETTER GLOTTAL STOP BAR
+02A2 LATIN LETTER REVERSED GLOTTAL STOP BAR
+02A3 LATIN SMALL LETTER D Z
+02A4 LATIN SMALL LETTER D YOGH
+02A5 LATIN SMALL LETTER D Z CURL
+02A6 LATIN SMALL LETTER T S
+02A7 LATIN SMALL LETTER T ESH
+02A8 LATIN SMALL LETTER T C CURL
+02B1 MODIFIER LETTER SMALL H HOOK
+02B5 MODIFIER LETTER SMALL TURNED R HOOK
+02C6 MODIFIER LETTER CIRCUMFLEX
+02C7 MODIFIER LETTER HACEK
+02CA MODIFIER LETTER ACUTE
+02CB MODIFIER LETTER GRAVE
+02CE MODIFIER LETTER LOW GRAVE
+02CF MODIFIER LETTER LOW ACUTE
+02D2 MODIFIER LETTER CENTERED RIGHT HALF RING
+02D3 MODIFIER LETTER CENTERED LEFT HALF RING
+02D8 SPACING BREVE
+02D9 SPACING DOT ABOVE
+02DA SPACING RING ABOVE
+02DB SPACING OGONEK
+02DC SPACING TILDE
+02DD SPACING DOUBLE ACUTE
+0300 NON-SPACING GRAVE
+0301 NON-SPACING ACUTE
+0302 NON-SPACING CIRCUMFLEX
+0303 NON-SPACING TILDE
+0304 NON-SPACING MACRON
+0305 NON-SPACING OVERSCORE
+0306 NON-SPACING BREVE
+0307 NON-SPACING DOT ABOVE
+0308 NON-SPACING DIAERESIS
+0309 NON-SPACING HOOK ABOVE
+030A NON-SPACING RING ABOVE
+030B NON-SPACING DOUBLE ACUTE
+030C NON-SPACING HACEK
+030D NON-SPACING VERTICAL LINE ABOVE
+030E NON-SPACING DOUBLE VERTICAL LINE ABOVE
+030F NON-SPACING DOUBLE GRAVE
+0310 NON-SPACING CANDRABINDU
+0311 NON-SPACING INVERTED BREVE
+0312 NON-SPACING TURNED COMMA ABOVE
+0313 NON-SPACING COMMA ABOVE
+0314 NON-SPACING REVERSED COMMA ABOVE
+0315 NON-SPACING COMMA ABOVE RIGHT
+0316 NON-SPACING GRAVE BELOW
+0317 NON-SPACING ACUTE BELOW
+0318 NON-SPACING LEFT TACK BELOW
+0319 NON-SPACING RIGHT TACK BELOW
+031A NON-SPACING LEFT ANGLE ABOVE
+031B NON-SPACING HORN
+031C NON-SPACING LEFT HALF RING BELOW
+031D NON-SPACING UP TACK BELOW
+031E NON-SPACING DOWN TACK BELOW
+031F NON-SPACING PLUS SIGN BELOW
+0320 NON-SPACING MINUS SIGN BELOW
+0321 NON-SPACING PALATALIZED HOOK BELOW
+0322 NON-SPACING RETROFLEX HOOK BELOW
+0323 NON-SPACING DOT BELOW
+0324 NON-SPACING DOUBLE DOT BELOW
+0325 NON-SPACING RING BELOW
+0326 NON-SPACING COMMA BELOW
+0327 NON-SPACING CEDILLA
+0328 NON-SPACING OGONEK
+0329 NON-SPACING VERTICAL LINE BELOW
+032A NON-SPACING BRIDGE BELOW
+032B NON-SPACING INVERTED DOUBLE ARCH BELOW
+032C NON-SPACING HACEK BELOW
+032D NON-SPACING CIRCUMFLEX BELOW
+032E NON-SPACING BREVE BELOW
+032F NON-SPACING INVERTED BREVE BELOW
+0330 NON-SPACING TILDE BELOW
+0331 NON-SPACING MACRON BELOW
+0332 NON-SPACING UNDERSCORE
+0333 NON-SPACING DOUBLE UNDERSCORE
+0334 NON-SPACING TILDE OVERLAY
+0335 NON-SPACING SHORT BAR OVERLAY
+0336 NON-SPACING LONG BAR OVERLAY
+0337 NON-SPACING SHORT SLASH OVERLAY
+0338 NON-SPACING LONG SLASH OVERLAY
+0339 NON-SPACING RIGHT HALF RING BELOW
+033A NON-SPACING INVERTED BRIDGE BELOW
+033B NON-SPACING SQUARE BELOW
+033C NON-SPACING SEAGULL BELOW
+033D NON-SPACING X ABOVE
+033E NON-SPACING VERTICAL TILDE
+033F NON-SPACING DOUBLE OVERSCORE
+0340 NON-SPACING GRAVE TONE MARK
+0341 NON-SPACING ACUTE TONE MARK
+0344 GREEK NON-SPACING DIAERESIS TONOS
+0345 GREEK NON-SPACING IOTA BELOW
+0374 GREEK UPPER NUMERAL SIGN
+037A GREEK SPACING IOTA BELOW
+0384 GREEK SPACING TONOS
+0385 GREEK SPACING DIAERESIS TONOS
+0386 GREEK CAPITAL LETTER ALPHA TONOS
+0388 GREEK CAPITAL LETTER EPSILON TONOS
+0389 GREEK CAPITAL LETTER ETA TONOS
+038A GREEK CAPITAL LETTER IOTA TONOS
+038C GREEK CAPITAL LETTER OMICRON TONOS
+038E GREEK CAPITAL LETTER UPSILON TONOS
+038F GREEK CAPITAL LETTER OMEGA TONOS
+0390 GREEK SMALL LETTER IOTA DIAERESIS TONOS
+039B GREEK CAPITAL LETTER LAMBDA
+03AA GREEK CAPITAL LETTER IOTA DIAERESIS
+03AB GREEK CAPITAL LETTER UPSILON DIAERESIS
+03AC GREEK SMALL LETTER ALPHA TONOS
+03AD GREEK SMALL LETTER EPSILON TONOS
+03AE GREEK SMALL LETTER ETA TONOS
+03AF GREEK SMALL LETTER IOTA TONOS
+03B0 GREEK SMALL LETTER UPSILON DIAERESIS TONOS
+03BB GREEK SMALL LETTER LAMBDA
+03CA GREEK SMALL LETTER IOTA DIAERESIS
+03CB GREEK SMALL LETTER UPSILON DIAERESIS
+03CC GREEK SMALL LETTER OMICRON TONOS
+03CD GREEK SMALL LETTER UPSILON TONOS
+03CE GREEK SMALL LETTER OMEGA TONOS
+03D0 GREEK SMALL LETTER CURLED BETA
+03D1 GREEK SMALL LETTER SCRIPT THETA
+03D2 GREEK CAPITAL LETTER UPSILON HOOK
+03D3 GREEK CAPITAL LETTER UPSILON HOOK TONOS
+03D4 GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS
+03D5 GREEK SMALL LETTER SCRIPT PHI
+03D6 GREEK SMALL LETTER OMEGA PI
+03DA GREEK CAPITAL LETTER STIGMA
+03DC GREEK CAPITAL LETTER DIGAMMA
+03DE GREEK CAPITAL LETTER KOPPA
+03E0 GREEK CAPITAL LETTER SAMPI
+03E2 GREEK CAPITAL LETTER SHEI
+03E3 GREEK SMALL LETTER SHEI
+03E4 GREEK CAPITAL LETTER FEI
+03E5 GREEK SMALL LETTER FEI
+03E6 GREEK CAPITAL LETTER KHEI
+03E7 GREEK SMALL LETTER KHEI
+03E8 GREEK CAPITAL LETTER HORI
+03E9 GREEK SMALL LETTER HORI
+03EA GREEK CAPITAL LETTER GANGIA
+03EB GREEK SMALL LETTER GANGIA
+03EC GREEK CAPITAL LETTER SHIMA
+03ED GREEK SMALL LETTER SHIMA
+03EE GREEK CAPITAL LETTER DEI
+03EF GREEK SMALL LETTER DEI
+03F0 GREEK SMALL LETTER SCRIPT KAPPA
+03F1 GREEK SMALL LETTER TAILED RHO
+03F2 GREEK SMALL LETTER LUNATE SIGMA
+0404 CYRILLIC CAPITAL LETTER E
+0406 CYRILLIC CAPITAL LETTER I
+0413 CYRILLIC CAPITAL LETTER GE
+0418 CYRILLIC CAPITAL LETTER II
+0419 CYRILLIC CAPITAL LETTER SHORT II
+0425 CYRILLIC CAPITAL LETTER KHA
+042B CYRILLIC CAPITAL LETTER YERI
+042D CYRILLIC CAPITAL LETTER REVERSED E
+042E CYRILLIC CAPITAL LETTER IU
+042F CYRILLIC CAPITAL LETTER IA
+0433 CYRILLIC SMALL LETTER GE
+0438 CYRILLIC SMALL LETTER II
+0439 CYRILLIC SMALL LETTER SHORT II
+0445 CYRILLIC SMALL LETTER KHA
+044B CYRILLIC SMALL LETTER YERI
+044D CYRILLIC SMALL LETTER REVERSED E
+044E CYRILLIC SMALL LETTER IU
+044F CYRILLIC SMALL LETTER IA
+0454 CYRILLIC SMALL LETTER E
+0456 CYRILLIC SMALL LETTER I
+0476 CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE
+0477 CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE
+0478 CYRILLIC CAPITAL LETTER UK DIGRAPH
+0479 CYRILLIC SMALL LETTER UK DIGRAPH
+047C CYRILLIC CAPITAL LETTER OMEGA TITLO
+047D CYRILLIC SMALL LETTER OMEGA TITLO
+0483 CYRILLIC NON-SPACING TITLO
+0484 CYRILLIC NON-SPACING PALATALIZATION
+0485 CYRILLIC NON-SPACING DASIA PNEUMATA
+0486 CYRILLIC NON-SPACING PSILI PNEUMATA
+0490 CYRILLIC CAPITAL LETTER GE WITH UPTURN
+0491 CYRILLIC SMALL LETTER GE WITH UPTURN
+0492 CYRILLIC CAPITAL LETTER GE BAR
+0493 CYRILLIC SMALL LETTER GE BAR
+0494 CYRILLIC CAPITAL LETTER GE HOOK
+0495 CYRILLIC SMALL LETTER GE HOOK
+0496 CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER
+0497 CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER
+0498 CYRILLIC CAPITAL LETTER ZE CEDILLA
+0499 CYRILLIC SMALL LETTER ZE CEDILLA
+049A CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER
+049B CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER
+049C CYRILLIC CAPITAL LETTER KA VERTICAL BAR
+049D CYRILLIC SMALL LETTER KA VERTICAL BAR
+049E CYRILLIC CAPITAL LETTER KA BAR
+049F CYRILLIC SMALL LETTER KA BAR
+04A0 CYRILLIC CAPITAL LETTER REVERSED GE KA
+04A1 CYRILLIC SMALL LETTER REVERSED GE KA
+04A2 CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER
+04A3 CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER
+04A4 CYRILLIC CAPITAL LETTER EN GE
+04A5 CYRILLIC SMALL LETTER EN GE
+04A6 CYRILLIC CAPITAL LETTER PE HOOK
+04A7 CYRILLIC SMALL LETTER PE HOOK
+04A8 CYRILLIC CAPITAL LETTER O HOOK
+04A9 CYRILLIC SMALL LETTER O HOOK
+04AA CYRILLIC CAPITAL LETTER ES CEDILLA
+04AB CYRILLIC SMALL LETTER ES CEDILLA
+04AC CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER
+04AD CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER
+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U BAR
+04B1 CYRILLIC SMALL LETTER STRAIGHT U BAR
+04B2 CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER
+04B3 CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER
+04B4 CYRILLIC CAPITAL LETTER TE TSE
+04B5 CYRILLIC SMALL LETTER TE TSE
+04B6 CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER
+04B7 CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER
+04B8 CYRILLIC CAPITAL LETTER CHE VERTICAL BAR
+04B9 CYRILLIC SMALL LETTER CHE VERTICAL BAR
+04BA CYRILLIC CAPITAL LETTER H
+04BB CYRILLIC SMALL LETTER H
+04BC CYRILLIC CAPITAL LETTER IE HOOK
+04BD CYRILLIC SMALL LETTER IE HOOK
+04BE CYRILLIC CAPITAL LETTER IE HOOK OGONEK
+04BF CYRILLIC SMALL LETTER IE HOOK OGONEK
+04C0 CYRILLIC LETTER I
+04C1 CYRILLIC CAPITAL LETTER SHORT ZHE
+04C2 CYRILLIC SMALL LETTER SHORT ZHE
+04C3 CYRILLIC CAPITAL LETTER KA HOOK
+04C4 CYRILLIC SMALL LETTER KA HOOK
+04C7 CYRILLIC CAPITAL LETTER EN HOOK
+04C8 CYRILLIC SMALL LETTER EN HOOK
+04CB CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER
+04CC CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER
+0542 ARMENIAN CAPITAL LETTER LAD
+055A ARMENIAN MODIFIER LETTER RIGHT HALF RING
+0572 ARMENIAN SMALL LETTER LAD
+0589 ARMENIAN PERIOD
+05BC HEBREW POINT DAGESH
+05C0 HEBREW POINT PASEQ
+05F0 HEBREW LETTER DOUBLE VAV
+05F1 HEBREW LETTER VAV YOD
+05F2 HEBREW LETTER DOUBLE YOD
+0621 ARABIC LETTER HAMZAH
+0622 ARABIC LETTER MADDAH ON ALEF
+0623 ARABIC LETTER HAMZAH ON ALEF
+0624 ARABIC LETTER HAMZAH ON WAW
+0625 ARABIC LETTER HAMZAH UNDER ALEF
+0626 ARABIC LETTER HAMZAH ON YA
+0628 ARABIC LETTER BAA
+0629 ARABIC LETTER TAA MARBUTAH
+062A ARABIC LETTER TAA
+062B ARABIC LETTER THAA
+062D ARABIC LETTER HAA
+062E ARABIC LETTER KHAA
+0631 ARABIC LETTER RA
+0638 ARABIC LETTER DHAH
+0641 ARABIC LETTER FA
+0643 ARABIC LETTER CAF
+0647 ARABIC LETTER HA
+0649 ARABIC LETTER ALEF MAQSURAH
+064A ARABIC LETTER YA
+064E ARABIC FATHAH
+064F ARABIC DAMMAH
+0650 ARABIC KASRAH
+0651 ARABIC SHADDAH
+0670 ARABIC ALEF ABOVE
+0671 ARABIC LETTER HAMZAT WASL ON ALEF
+0672 ARABIC LETTER WAVY HAMZAH ON ALEF
+0673 ARABIC LETTER WAVY HAMZAH UNDER ALEF
+0674 ARABIC LETTER HIGH HAMZAH
+0675 ARABIC LETTER HIGH HAMZAH ALEF
+0676 ARABIC LETTER HIGH HAMZAH WAW
+0677 ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH
+0678 ARABIC LETTER HIGH HAMZAH YA
+0679 ARABIC LETTER TAA WITH SMALL TAH
+067A ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE
+067B ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW
+067C ARABIC LETTER TAA WITH RING
+067D ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD
+067E ARABIC LETTER TAA WITH THREE DOTS BELOW
+067F ARABIC LETTER TAA WITH FOUR DOTS ABOVE
+0680 ARABIC LETTER BAA WITH FOUR DOTS BELOW
+0681 ARABIC LETTER HAMZAH ON HAA
+0682 ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE
+0683 ARABIC LETTER HAA WITH MIDDLE TWO DOTS
+0684 ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL
+0685 ARABIC LETTER HAA WITH THREE DOTS ABOVE
+0686 ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD
+0687 ARABIC LETTER HAA WITH MIDDLE FOUR DOTS
+0688 ARABIC LETTER DAL WITH SMALL TAH
+068C ARABIC LETTER DAL WITH TWO DOTS ABOVE
+068D ARABIC LETTER DAL WITH TWO DOTS BELOW
+068E ARABIC LETTER DAL WITH THREE DOTS ABOVE
+068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD
+0691 ARABIC LETTER RA WITH SMALL TAH
+0692 ARABIC LETTER RA WITH SMALL V
+0693 ARABIC LETTER RA WITH RING
+0694 ARABIC LETTER RA WITH DOT BELOW
+0695 ARABIC LETTER RA WITH SMALL V BELOW
+0696 ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE
+0697 ARABIC LETTER RA WITH TWO DOTS ABOVE
+0698 ARABIC LETTER RA WITH THREE DOTS ABOVE
+0699 ARABIC LETTER RA WITH FOUR DOTS ABOVE
+06A1 ARABIC LETTER DOTLESS FA
+06A2 ARABIC LETTER FA WITH DOT MOVED BELOW
+06A3 ARABIC LETTER FA WITH DOT BELOW
+06A4 ARABIC LETTER FA WITH THREE DOTS ABOVE
+06A5 ARABIC LETTER FA WITH THREE DOTS BELOW
+06A6 ARABIC LETTER FA WITH FOUR DOTS ABOVE
+06A9 ARABIC LETTER OPEN CAF
+06AA ARABIC LETTER SWASH CAF
+06AB ARABIC LETTER CAF WITH RING
+06AC ARABIC LETTER CAF WITH DOT ABOVE
+06AD ARABIC LETTER CAF WITH THREE DOTS ABOVE
+06AE ARABIC LETTER CAF WITH THREE DOTS BELOW
+06B1 ARABIC LETTER GAF WITH TWO DOTS ABOVE
+06B3 ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW
+06BA ARABIC LETTER DOTLESS NOON
+06BB ARABIC LETTER DOTLESS NOON WITH SMALL TAH
+06BE ARABIC LETTER KNOTTED HA
+06C0 ARABIC LETTER HAMZAH ON HA
+06C1 ARABIC LETTER HA GOAL
+06C2 ARABIC LETTER HAMZAH ON HA GOAL
+06C3 ARABIC LETTER TAA MARBUTAH GOAL
+06C5 ARABIC LETTER WAW WITH BAR
+06C6 ARABIC LETTER WAW WITH SMALL V
+06C7 ARABIC LETTER WAW WITH DAMMAH
+06C8 ARABIC LETTER WAW WITH ALEF ABOVE
+06C9 ARABIC LETTER WAW WITH INVERTED SMALL V
+06CB ARABIC LETTER WAW WITH THREE DOTS ABOVE
+06CC ARABIC LETTER DOTLESS YA
+06CD ARABIC LETTER YA WITH TAIL
+06CE ARABIC LETTER YA WITH SMALL V
+06D0 ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW
+06D1 ARABIC LETTER YA WITH THREE DOTS BELOW
+06D2 ARABIC LETTER YA BARREE
+06D3 ARABIC LETTER HAMZAH ON YA BARREE
+06D4 ARABIC PERIOD
+06F0 EASTERN ARABIC-INDIC DIGIT ZERO
+06F1 EASTERN ARABIC-INDIC DIGIT ONE
+06F2 EASTERN ARABIC-INDIC DIGIT TWO
+06F3 EASTERN ARABIC-INDIC DIGIT THREE
+06F4 EASTERN ARABIC-INDIC DIGIT FOUR
+06F5 EASTERN ARABIC-INDIC DIGIT FIVE
+06F6 EASTERN ARABIC-INDIC DIGIT SIX
+06F7 EASTERN ARABIC-INDIC DIGIT SEVEN
+06F8 EASTERN ARABIC-INDIC DIGIT EIGHT
+06F9 EASTERN ARABIC-INDIC DIGIT NINE
+09F1 BENGALI LETTER VA WITH LOWER DIAGONAL
+0E01 THAI LETTER KO KAI
+0E02 THAI LETTER KHO KHAI
+0E03 THAI LETTER KHO KHUAT
+0E04 THAI LETTER KHO KHWAI
+0E05 THAI LETTER KHO KHON
+0E06 THAI LETTER KHO RAKHANG
+0E07 THAI LETTER NGO NGU
+0E08 THAI LETTER CHO CHAN
+0E09 THAI LETTER CHO CHING
+0E0A THAI LETTER CHO CHANG
+0E0B THAI LETTER SO SO
+0E0C THAI LETTER CHO CHOE
+0E0D THAI LETTER YO YING
+0E0E THAI LETTER DO CHADA
+0E0F THAI LETTER TO PATAK
+0E10 THAI LETTER THO THAN
+0E11 THAI LETTER THO NANGMONTHO
+0E12 THAI LETTER THO PHUTHAO
+0E13 THAI LETTER NO NEN
+0E14 THAI LETTER DO DEK
+0E15 THAI LETTER TO TAO
+0E16 THAI LETTER THO THUNG
+0E17 THAI LETTER THO THAHAN
+0E18 THAI LETTER THO THONG
+0E19 THAI LETTER NO NU
+0E1A THAI LETTER BO BAIMAI
+0E1B THAI LETTER PO PLA
+0E1C THAI LETTER PHO PHUNG
+0E1D THAI LETTER FO FA
+0E1E THAI LETTER PHO PHAN
+0E1F THAI LETTER FO FAN
+0E20 THAI LETTER PHO SAMPHAO
+0E21 THAI LETTER MO MA
+0E22 THAI LETTER YO YAK
+0E23 THAI LETTER RO RUA
+0E24 THAI LETTER RU
+0E25 THAI LETTER LO LING
+0E26 THAI LETTER LU
+0E27 THAI LETTER WO WAEN
+0E28 THAI LETTER SO SALA
+0E29 THAI LETTER SO RUSI
+0E2A THAI LETTER SO SUA
+0E2B THAI LETTER HO HIP
+0E2C THAI LETTER LO CHULA
+0E2D THAI LETTER O ANG
+0E2E THAI LETTER HO NOK HUK
+0E2F THAI PAI YAN NOI
+0E30 THAI VOWEL SIGN SARA A
+0E31 THAI VOWEL SIGN MAI HAN-AKAT
+0E32 THAI VOWEL SIGN SARA AA
+0E33 THAI VOWEL SIGN SARA AM
+0E34 THAI VOWEL SIGN SARA I
+0E35 THAI VOWEL SIGN SARA II
+0E36 THAI VOWEL SIGN SARA UE
+0E37 THAI VOWEL SIGN SARA UEE
+0E38 THAI VOWEL SIGN SARA U
+0E39 THAI VOWEL SIGN SARA UU
+0E3A THAI VOWEL SIGN PHINTHU
+0E3F THAI BAHT SIGN
+0E40 THAI VOWEL SIGN SARA E
+0E41 THAI VOWEL SIGN SARA AE
+0E42 THAI VOWEL SIGN SARA O
+0E43 THAI VOWEL SIGN SARA MAI MUAN
+0E44 THAI VOWEL SIGN SARA MAI MALAI
+0E45 THAI LAK KHANG YAO
+0E46 THAI MAI YAMOK
+0E47 THAI VOWEL SIGN MAI TAI KHU
+0E48 THAI TONE MAI EK
+0E49 THAI TONE MAI THO
+0E4A THAI TONE MAI TRI
+0E4B THAI TONE MAI CHATTAWA
+0E4C THAI THANTHAKHAT
+0E4D THAI NIKKHAHIT
+0E4E THAI YAMAKKAN
+0E4F THAI FONGMAN
+0E5A THAI ANGKHANKHU
+0E5B THAI KHOMUT
+0F04 TIBETAN SINGLE ORNAMENT
+0F08 TIBETAN RGYANSHAD
+0F0B TIBETAN TSEG
+0F0D TIBETAN SHAD
+0F0E TIBETAN DOUBLE SHAD
+0F11 TIBETAN RINCHANPHUNGSHAD
+0F14 TIBETAN COMMA
+0F35 TIBETAN HONORIFIC UNDER RING
+0F37 TIBETAN UNDER RING
+0F39 TIBETAN LENITION MARK
+0F3C TIBETAN LEFT BRACE
+0F3D TIBETAN RIGHT BRACE
+0F4A TIBETAN LETTER REVERSED TA
+0F4B TIBETAN LETTER REVERSED THA
+0F4C TIBETAN LETTER REVERSED DA
+0F4E TIBETAN LETTER REVERSED NA
+0F60 TIBETAN LETTER AA
+0F65 TIBETAN LETTER REVERSED SHA
+0F7B TIBETAN VOWEL SIGN AI
+0F7D TIBETAN VOWEL SIGN AU
+0F7E TIBETAN ANUSVARA
+0F7F TIBETAN VISARGA
+0F80 TIBETAN VOWEL SIGN SHORT I
+0F82 TIBETAN CANDRABINDU WITH ORNAMENT
+0F83 TIBETAN CANDRABINDU
+0F84 TIBETAN VIRAMA
+0F85 TIBETAN CHUCHENYIGE
+10D0 GEORGIAN SMALL LETTER AN
+10D1 GEORGIAN SMALL LETTER BAN
+10D2 GEORGIAN SMALL LETTER GAN
+10D3 GEORGIAN SMALL LETTER DON
+10D4 GEORGIAN SMALL LETTER EN
+10D5 GEORGIAN SMALL LETTER VIN
+10D6 GEORGIAN SMALL LETTER ZEN
+10D7 GEORGIAN SMALL LETTER TAN
+10D8 GEORGIAN SMALL LETTER IN
+10D9 GEORGIAN SMALL LETTER KAN
+10DA GEORGIAN SMALL LETTER LAS
+10DB GEORGIAN SMALL LETTER MAN
+10DC GEORGIAN SMALL LETTER NAR
+10DD GEORGIAN SMALL LETTER ON
+10DE GEORGIAN SMALL LETTER PAR
+10DF GEORGIAN SMALL LETTER ZHAR
+10E0 GEORGIAN SMALL LETTER RAE
+10E1 GEORGIAN SMALL LETTER SAN
+10E2 GEORGIAN SMALL LETTER TAR
+10E3 GEORGIAN SMALL LETTER UN
+10E4 GEORGIAN SMALL LETTER PHAR
+10E5 GEORGIAN SMALL LETTER KHAR
+10E6 GEORGIAN SMALL LETTER GHAN
+10E7 GEORGIAN SMALL LETTER QAR
+10E8 GEORGIAN SMALL LETTER SHIN
+10E9 GEORGIAN SMALL LETTER CHIN
+10EA GEORGIAN SMALL LETTER CAN
+10EB GEORGIAN SMALL LETTER JIL
+10EC GEORGIAN SMALL LETTER CIL
+10ED GEORGIAN SMALL LETTER CHAR
+10EE GEORGIAN SMALL LETTER XAN
+10EF GEORGIAN SMALL LETTER JHAN
+10F0 GEORGIAN SMALL LETTER HAE
+10F1 GEORGIAN SMALL LETTER HE
+10F2 GEORGIAN SMALL LETTER HIE
+10F3 GEORGIAN SMALL LETTER WE
+10F4 GEORGIAN SMALL LETTER HAR
+10F5 GEORGIAN SMALL LETTER HOE
+10F6 GEORGIAN SMALL LETTER FI
+2015 QUOTATION DASH
+2016 DOUBLE VERTICAL BAR
+2017 SPACING DOUBLE UNDERSCORE
+2018 SINGLE TURNED COMMA QUOTATION MARK
+2019 SINGLE COMMA QUOTATION MARK
+201A LOW SINGLE COMMA QUOTATION MARK
+201B SINGLE REVERSED COMMA QUOTATION MARK
+201C DOUBLE TURNED COMMA QUOTATION MARK
+201D DOUBLE COMMA QUOTATION MARK
+201E LOW DOUBLE COMMA QUOTATION MARK
+201F DOUBLE REVERSED COMMA QUOTATION MARK
+2039 LEFT POINTING SINGLE GUILLEMET
+203A RIGHT POINTING SINGLE GUILLEMET
+203E SPACING OVERSCORE
+2070 SUPERSCRIPT DIGIT ZERO
+2074 SUPERSCRIPT DIGIT FOUR
+2075 SUPERSCRIPT DIGIT FIVE
+2076 SUPERSCRIPT DIGIT SIX
+2077 SUPERSCRIPT DIGIT SEVEN
+2078 SUPERSCRIPT DIGIT EIGHT
+2079 SUPERSCRIPT DIGIT NINE
+207B SUPERSCRIPT HYPHEN-MINUS
+207D SUPERSCRIPT OPENING PARENTHESIS
+207E SUPERSCRIPT CLOSING PARENTHESIS
+2080 SUBSCRIPT DIGIT ZERO
+2081 SUBSCRIPT DIGIT ONE
+2082 SUBSCRIPT DIGIT TWO
+2083 SUBSCRIPT DIGIT THREE
+2084 SUBSCRIPT DIGIT FOUR
+2085 SUBSCRIPT DIGIT FIVE
+2086 SUBSCRIPT DIGIT SIX
+2087 SUBSCRIPT DIGIT SEVEN
+2088 SUBSCRIPT DIGIT EIGHT
+2089 SUBSCRIPT DIGIT NINE
+208B SUBSCRIPT HYPHEN-MINUS
+208D SUBSCRIPT OPENING PARENTHESIS
+208E SUBSCRIPT CLOSING PARENTHESIS
+20D0 NON-SPACING LEFT HARPOON ABOVE
+20D1 NON-SPACING RIGHT HARPOON ABOVE
+20D2 NON-SPACING LONG VERTICAL BAR OVERLAY
+20D3 NON-SPACING SHORT VERTICAL BAR OVERLAY
+20D4 NON-SPACING ANTICLOCKWISE ARROW ABOVE
+20D5 NON-SPACING CLOCKWISE ARROW ABOVE
+20D6 NON-SPACING LEFT ARROW ABOVE
+20D7 NON-SPACING RIGHT ARROW ABOVE
+20D8 NON-SPACING RING OVERLAY
+20D9 NON-SPACING CLOCKWISE RING OVERLAY
+20DA NON-SPACING ANTICLOCKWISE RING OVERLAY
+20DB NON-SPACING THREE DOTS ABOVE
+20DC NON-SPACING FOUR DOTS ABOVE
+20DD ENCLOSING CIRCLE
+20DE ENCLOSING SQUARE
+20DF ENCLOSING DIAMOND
+20E0 ENCLOSING CIRCLE SLASH
+20E1 NON-SPACING LEFT RIGHT ARROW ABOVE
+2102 DOUBLE-STRUCK C
+2103 DEGREES CENTIGRADE
+2104 C L SYMBOL
+2107 EULERS
+2109 DEGREES FAHRENHEIT
+210B SCRIPT H
+210C BLACK-LETTER H
+210D DOUBLE-STRUCK H
+210F PLANCK CONSTANT OVER 2 PI
+2110 SCRIPT I
+2111 BLACK-LETTER I
+2112 SCRIPT L
+2115 DOUBLE-STRUCK N
+2116 NUMERO
+2118 SCRIPT P
+2119 DOUBLE-STRUCK P
+211A DOUBLE-STRUCK Q
+211B SCRIPT R
+211C BLACK-LETTER R
+211D DOUBLE-STRUCK R
+2121 T E L SYMBOL
+2122 TRADEMARK
+2124 DOUBLE-STRUCK Z
+2125 OUNCE
+2126 OHM
+2127 MHO
+2128 BLACK-LETTER Z
+212A DEGREES KELVIN
+212B ANGSTROM UNIT
+212C SCRIPT B
+212D BLACK-LETTER C
+2130 SCRIPT E
+2131 SCRIPT F
+2132 TURNED F
+2133 SCRIPT M
+2135 FIRST TRANSFINITE CARDINAL
+2136 SECOND TRANSFINITE CARDINAL
+2137 THIRD TRANSFINITE CARDINAL
+2138 FOURTH TRANSFINITE CARDINAL
+2153 FRACTION ONE THIRD
+2154 FRACTION TWO THIRDS
+2155 FRACTION ONE FIFTH
+2156 FRACTION TWO FIFTHS
+2157 FRACTION THREE FIFTHS
+2158 FRACTION FOUR FIFTHS
+2159 FRACTION ONE SIXTH
+215A FRACTION FIVE SIXTHS
+215B FRACTION ONE EIGHTH
+215C FRACTION THREE EIGHTHS
+215D FRACTION FIVE EIGHTHS
+215E FRACTION SEVEN EIGHTHS
+2190 LEFT ARROW
+2191 UP ARROW
+2192 RIGHT ARROW
+2193 DOWN ARROW
+2196 UPPER LEFT ARROW
+2197 UPPER RIGHT ARROW
+2198 LOWER RIGHT ARROW
+2199 LOWER LEFT ARROW
+219A LEFT ARROW WITH STROKE
+219B RIGHT ARROW WITH STROKE
+219C LEFT WAVE ARROW
+219D RIGHT WAVE ARROW
+219E LEFT TWO HEADED ARROW
+219F UP TWO HEADED ARROW
+21A0 RIGHT TWO HEADED ARROW
+21A1 DOWN TWO HEADED ARROW
+21A2 LEFT ARROW WITH TAIL
+21A3 RIGHT ARROW WITH TAIL
+21A4 LEFT ARROW FROM BAR
+21A5 UP ARROW FROM BAR
+21A6 RIGHT ARROW FROM BAR
+21A7 DOWN ARROW FROM BAR
+21A9 LEFT ARROW WITH HOOK
+21AA RIGHT ARROW WITH HOOK
+21AB LEFT ARROW WITH LOOP
+21AC RIGHT ARROW WITH LOOP
+21AF DOWN ZIGZAG ARROW
+21B0 UP ARROW WITH TIP LEFT
+21B1 UP ARROW WITH TIP RIGHT
+21B2 DOWN ARROW WITH TIP LEFT
+21B3 DOWN ARROW WITH TIP RIGHT
+21B4 RIGHT ARROW WITH CORNER DOWN
+21B5 DOWN ARROW WITH CORNER LEFT
+21B8 UPPER LEFT ARROW TO LONG BAR
+21B9 LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR
+21BC LEFT HARPOON WITH BARB UP
+21BD LEFT HARPOON WITH BARB DOWN
+21BE UP HARPOON WITH BARB RIGHT
+21BF UP HARPOON WITH BARB LEFT
+21C0 RIGHT HARPOON WITH BARB UP
+21C1 RIGHT HARPOON WITH BARB DOWN
+21C2 DOWN HARPOON WITH BARB RIGHT
+21C3 DOWN HARPOON WITH BARB LEFT
+21C4 RIGHT ARROW OVER LEFT ARROW
+21C5 UP ARROW LEFT OF DOWN ARROW
+21C6 LEFT ARROW OVER RIGHT ARROW
+21C7 LEFT PAIRED ARROWS
+21C8 UP PAIRED ARROWS
+21C9 RIGHT PAIRED ARROWS
+21CA DOWN PAIRED ARROWS
+21CB LEFT HARPOON OVER RIGHT HARPOON
+21CC RIGHT HARPOON OVER LEFT HARPOON
+21CD LEFT DOUBLE ARROW WITH STROKE
+21CF RIGHT DOUBLE ARROW WITH STROKE
+21D0 LEFT DOUBLE ARROW
+21D1 UP DOUBLE ARROW
+21D2 RIGHT DOUBLE ARROW
+21D3 DOWN DOUBLE ARROW
+21D6 UPPER LEFT DOUBLE ARROW
+21D7 UPPER RIGHT DOUBLE ARROW
+21D8 LOWER RIGHT DOUBLE ARROW
+21D9 LOWER LEFT DOUBLE ARROW
+21DA LEFT TRIPLE ARROW
+21DB RIGHT TRIPLE ARROW
+21DC LEFT SQUIGGLE ARROW
+21DD RIGHT SQUIGGLE ARROW
+21DE UP ARROW WITH DOUBLE STROKE
+21DF DOWN ARROW WITH DOUBLE STROKE
+21E0 LEFT DASHED ARROW
+21E1 UP DASHED ARROW
+21E2 RIGHT DASHED ARROW
+21E3 DOWN DASHED ARROW
+21E4 LEFT ARROW TO BAR
+21E5 RIGHT ARROW TO BAR
+21E6 WHITE LEFT ARROW
+21E7 WHITE UP ARROW
+21E8 WHITE RIGHT ARROW
+21E9 WHITE DOWN ARROW
+21EA WHITE UP ARROW FROM BAR
+2254 COLON EQUAL
+2255 EQUAL COLON
+2264 LESS THAN OR EQUAL TO
+2265 GREATER THAN OR EQUAL TO
+2266 LESS THAN OVER EQUAL TO
+2267 GREATER THAN OVER EQUAL TO
+2268 LESS THAN BUT NOT EQUAL TO
+2269 GREATER THAN BUT NOT EQUAL TO
+226A MUCH LESS THAN
+226B MUCH GREATER THAN
+226E NOT LESS THAN
+226F NOT GREATER THAN
+2270 NEITHER LESS THAN NOR EQUAL TO
+2271 NEITHER GREATER THAN NOR EQUAL TO
+2272 LESS THAN OR EQUIVALENT TO
+2273 GREATER THAN OR EQUIVALENT TO
+2274 NEITHER LESS THAN NOR EQUIVALENT TO
+2275 NEITHER GREATER THAN NOR EQUIVALENT TO
+2276 LESS THAN OR GREATER THAN
+2277 GREATER THAN OR LESS THAN
+2278 NEITHER LESS THAN NOR GREATER THAN
+2279 NEITHER GREATER THAN NOR LESS THAN
+228A SUBSET OF OR NOT EQUAL TO
+228B SUPERSET OF OR NOT EQUAL TO
+22D6 LESS THAN WITH DOT
+22D7 GREATER THAN WITH DOT
+22D8 VERY MUCH LESS THAN
+22D9 VERY MUCH GREATER THAN
+22DA LESS THAN EQUAL TO OR GREATER THAN
+22DB GREATER THAN EQUAL TO OR LESS THAN
+22DC EQUAL TO OR LESS THAN
+22DD EQUAL TO OR GREATER THAN
+22E6 LESS THAN BUT NOT EQUIVALENT TO
+22E7 GREATER THAN BUT NOT EQUIVALENT TO
+2318 COMMAND KEY
+2324 ENTER KEY
+2326 DELETE TO THE RIGHT KEY
+2327 CLEAR KEY
+2329 BRA
+232A KET
+232B DELETE TO THE LEFT KEY
+2400 GRAPHIC FOR NULL
+2401 GRAPHIC FOR START OF HEADING
+2402 GRAPHIC FOR START OF TEXT
+2403 GRAPHIC FOR END OF TEXT
+2404 GRAPHIC FOR END OF TRANSMISSION
+2405 GRAPHIC FOR ENQUIRY
+2406 GRAPHIC FOR ACKNOWLEDGE
+2407 GRAPHIC FOR BELL
+2408 GRAPHIC FOR BACKSPACE
+2409 GRAPHIC FOR HORIZONTAL TABULATION
+240A GRAPHIC FOR LINE FEED
+240B GRAPHIC FOR VERTICAL TABULATION
+240C GRAPHIC FOR FORM FEED
+240D GRAPHIC FOR CARRIAGE RETURN
+240E GRAPHIC FOR SHIFT OUT
+240F GRAPHIC FOR SHIFT IN
+2410 GRAPHIC FOR DATA LINK ESCAPE
+2411 GRAPHIC FOR DEVICE CONTROL ONE
+2412 GRAPHIC FOR DEVICE CONTROL TWO
+2413 GRAPHIC FOR DEVICE CONTROL THREE
+2414 GRAPHIC FOR DEVICE CONTROL FOUR
+2415 GRAPHIC FOR NEGATIVE ACKNOWLEDGE
+2416 GRAPHIC FOR SYNCHRONOUS IDLE
+2417 GRAPHIC FOR END OF TRANSMISSION BLOCK
+2418 GRAPHIC FOR CANCEL
+2419 GRAPHIC FOR END OF MEDIUM
+241A GRAPHIC FOR SUBSTITUTE
+241B GRAPHIC FOR ESCAPE
+241C GRAPHIC FOR FILE SEPARATOR
+241D GRAPHIC FOR GROUP SEPARATOR
+241E GRAPHIC FOR RECORD SEPARATOR
+241F GRAPHIC FOR UNIT SEPARATOR
+2420 GRAPHIC FOR SPACE
+2421 GRAPHIC FOR DELETE
+2422 BLANK
+2424 GRAPHIC FOR NEWLINE
+2488 DIGIT ONE PERIOD
+2489 DIGIT TWO PERIOD
+248A DIGIT THREE PERIOD
+248B DIGIT FOUR PERIOD
+248C DIGIT FIVE PERIOD
+248D DIGIT SIX PERIOD
+248E DIGIT SEVEN PERIOD
+248F DIGIT EIGHT PERIOD
+2490 DIGIT NINE PERIOD
+2491 NUMBER TEN PERIOD
+2492 NUMBER ELEVEN PERIOD
+2493 NUMBER TWELVE PERIOD
+2494 NUMBER THIRTEEN PERIOD
+2495 NUMBER FOURTEEN PERIOD
+2496 NUMBER FIFTEEN PERIOD
+2497 NUMBER SIXTEEN PERIOD
+2498 NUMBER SEVENTEEN PERIOD
+2499 NUMBER EIGHTEEN PERIOD
+249A NUMBER NINETEEN PERIOD
+249B NUMBER TWENTY PERIOD
+2500 FORMS LIGHT HORIZONTAL
+2501 FORMS HEAVY HORIZONTAL
+2502 FORMS LIGHT VERTICAL
+2503 FORMS HEAVY VERTICAL
+2504 FORMS LIGHT TRIPLE DASH HORIZONTAL
+2505 FORMS HEAVY TRIPLE DASH HORIZONTAL
+2506 FORMS LIGHT TRIPLE DASH VERTICAL
+2507 FORMS HEAVY TRIPLE DASH VERTICAL
+2508 FORMS LIGHT QUADRUPLE DASH HORIZONTAL
+2509 FORMS HEAVY QUADRUPLE DASH HORIZONTAL
+250A FORMS LIGHT QUADRUPLE DASH VERTICAL
+250B FORMS HEAVY QUADRUPLE DASH VERTICAL
+250C FORMS LIGHT DOWN AND RIGHT
+250D FORMS DOWN LIGHT AND RIGHT HEAVY
+250E FORMS DOWN HEAVY AND RIGHT LIGHT
+250F FORMS HEAVY DOWN AND RIGHT
+2510 FORMS LIGHT DOWN AND LEFT
+2511 FORMS DOWN LIGHT AND LEFT HEAVY
+2512 FORMS DOWN HEAVY AND LEFT LIGHT
+2513 FORMS HEAVY DOWN AND LEFT
+2514 FORMS LIGHT UP AND RIGHT
+2515 FORMS UP LIGHT AND RIGHT HEAVY
+2516 FORMS UP HEAVY AND RIGHT LIGHT
+2517 FORMS HEAVY UP AND RIGHT
+2518 FORMS LIGHT UP AND LEFT
+2519 FORMS UP LIGHT AND LEFT HEAVY
+251A FORMS UP HEAVY AND LEFT LIGHT
+251B FORMS HEAVY UP AND LEFT
+251C FORMS LIGHT VERTICAL AND RIGHT
+251D FORMS VERTICAL LIGHT AND RIGHT HEAVY
+251E FORMS UP HEAVY AND RIGHT DOWN LIGHT
+251F FORMS DOWN HEAVY AND RIGHT UP LIGHT
+2520 FORMS VERTICAL HEAVY AND RIGHT LIGHT
+2521 FORMS DOWN LIGHT AND RIGHT UP HEAVY
+2522 FORMS UP LIGHT AND RIGHT DOWN HEAVY
+2523 FORMS HEAVY VERTICAL AND RIGHT
+2524 FORMS LIGHT VERTICAL AND LEFT
+2525 FORMS VERTICAL LIGHT AND LEFT HEAVY
+2526 FORMS UP HEAVY AND LEFT DOWN LIGHT
+2527 FORMS DOWN HEAVY AND LEFT UP LIGHT
+2528 FORMS VERTICAL HEAVY AND LEFT LIGHT
+2529 FORMS DOWN LIGHT AND LEFT UP HEAVY
+252A FORMS UP LIGHT AND LEFT DOWN HEAVY
+252B FORMS HEAVY VERTICAL AND LEFT
+252C FORMS LIGHT DOWN AND HORIZONTAL
+252D FORMS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E FORMS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F FORMS DOWN LIGHT AND HORIZONTAL HEAVY
+2530 FORMS DOWN HEAVY AND HORIZONTAL LIGHT
+2531 FORMS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532 FORMS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533 FORMS HEAVY DOWN AND HORIZONTAL
+2534 FORMS LIGHT UP AND HORIZONTAL
+2535 FORMS LEFT HEAVY AND RIGHT UP LIGHT
+2536 FORMS RIGHT HEAVY AND LEFT UP LIGHT
+2537 FORMS UP LIGHT AND HORIZONTAL HEAVY
+2538 FORMS UP HEAVY AND HORIZONTAL LIGHT
+2539 FORMS RIGHT LIGHT AND LEFT UP HEAVY
+253A FORMS LEFT LIGHT AND RIGHT UP HEAVY
+253B FORMS HEAVY UP AND HORIZONTAL
+253C FORMS LIGHT VERTICAL AND HORIZONTAL
+253D FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540 FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541 FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542 FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543 FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544 FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545 FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546 FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547 FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548 FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549 FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B FORMS HEAVY VERTICAL AND HORIZONTAL
+254C FORMS LIGHT DOUBLE DASH HORIZONTAL
+254D FORMS HEAVY DOUBLE DASH HORIZONTAL
+254E FORMS LIGHT DOUBLE DASH VERTICAL
+254F FORMS HEAVY DOUBLE DASH VERTICAL
+2550 FORMS DOUBLE HORIZONTAL
+2551 FORMS DOUBLE VERTICAL
+2552 FORMS DOWN SINGLE AND RIGHT DOUBLE
+2553 FORMS DOWN DOUBLE AND RIGHT SINGLE
+2554 FORMS DOUBLE DOWN AND RIGHT
+2555 FORMS DOWN SINGLE AND LEFT DOUBLE
+2556 FORMS DOWN DOUBLE AND LEFT SINGLE
+2557 FORMS DOUBLE DOWN AND LEFT
+2558 FORMS UP SINGLE AND RIGHT DOUBLE
+2559 FORMS UP DOUBLE AND RIGHT SINGLE
+255A FORMS DOUBLE UP AND RIGHT
+255B FORMS UP SINGLE AND LEFT DOUBLE
+255C FORMS UP DOUBLE AND LEFT SINGLE
+255D FORMS DOUBLE UP AND LEFT
+255E FORMS VERTICAL SINGLE AND RIGHT DOUBLE
+255F FORMS VERTICAL DOUBLE AND RIGHT SINGLE
+2560 FORMS DOUBLE VERTICAL AND RIGHT
+2561 FORMS VERTICAL SINGLE AND LEFT DOUBLE
+2562 FORMS VERTICAL DOUBLE AND LEFT SINGLE
+2563 FORMS DOUBLE VERTICAL AND LEFT
+2564 FORMS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565 FORMS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566 FORMS DOUBLE DOWN AND HORIZONTAL
+2567 FORMS UP SINGLE AND HORIZONTAL DOUBLE
+2568 FORMS UP DOUBLE AND HORIZONTAL SINGLE
+2569 FORMS DOUBLE UP AND HORIZONTAL
+256A FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C FORMS DOUBLE VERTICAL AND HORIZONTAL
+256D FORMS LIGHT ARC DOWN AND RIGHT
+256E FORMS LIGHT ARC DOWN AND LEFT
+256F FORMS LIGHT ARC UP AND LEFT
+2570 FORMS LIGHT ARC UP AND RIGHT
+2571 FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572 FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573 FORMS LIGHT DIAGONAL CROSS
+2574 FORMS LIGHT LEFT
+2575 FORMS LIGHT UP
+2576 FORMS LIGHT RIGHT
+2577 FORMS LIGHT DOWN
+2578 FORMS HEAVY LEFT
+2579 FORMS HEAVY UP
+257A FORMS HEAVY RIGHT
+257B FORMS HEAVY DOWN
+257C FORMS LIGHT LEFT AND HEAVY RIGHT
+257D FORMS LIGHT UP AND HEAVY DOWN
+257E FORMS HEAVY LEFT AND LIGHT RIGHT
+257F FORMS HEAVY UP AND LIGHT DOWN
+2586 LOWER THREE QUARTER BLOCK
+258A LEFT THREE QUARTER BLOCK
+25B2 BLACK UP POINTING TRIANGLE
+25B3 WHITE UP POINTING TRIANGLE
+25B4 BLACK UP POINTING SMALL TRIANGLE
+25B5 WHITE UP POINTING SMALL TRIANGLE
+25B6 BLACK RIGHT POINTING TRIANGLE
+25B7 WHITE RIGHT POINTING TRIANGLE
+25B8 BLACK RIGHT POINTING SMALL TRIANGLE
+25B9 WHITE RIGHT POINTING SMALL TRIANGLE
+25BA BLACK RIGHT POINTING POINTER
+25BB WHITE RIGHT POINTING POINTER
+25BC BLACK DOWN POINTING TRIANGLE
+25BD WHITE DOWN POINTING TRIANGLE
+25BE BLACK DOWN POINTING SMALL TRIANGLE
+25BF WHITE DOWN POINTING SMALL TRIANGLE
+25C0 BLACK LEFT POINTING TRIANGLE
+25C1 WHITE LEFT POINTING TRIANGLE
+25C2 BLACK LEFT POINTING SMALL TRIANGLE
+25C3 WHITE LEFT POINTING SMALL TRIANGLE
+25C4 BLACK LEFT POINTING POINTER
+25C5 WHITE LEFT POINTING POINTER
+25EC WHITE UP POINTING TRIANGLE WITH DOT
+25ED UP POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE UP POINTING TRIANGLE WITH RIGHT HALF BLACK
+262B SYMBOL OF IRAN
+266B BARRED EIGHTH NOTES
+266C BARRED SIXTEENTH NOTES
+266D FLAT
+266E NATURAL
+266F SHARP
+271B OPEN CENTER CROSS
+271C HEAVY OPEN CENTER CROSS
+272B OPEN CENTER BLACK STAR
+272C BLACK CENTER WHITE STAR
+2732 OPEN CENTER ASTERISK
+273C OPEN CENTER TEARDROP-SPOKED ASTERISK
+2742 CIRCLED OPEN CENTER EIGHT POINTED STAR
+2776 INVERSE CIRCLED DIGIT ONE
+2777 INVERSE CIRCLED DIGIT TWO
+2778 INVERSE CIRCLED DIGIT THREE
+2779 INVERSE CIRCLED DIGIT FOUR
+277A INVERSE CIRCLED DIGIT FIVE
+277B INVERSE CIRCLED DIGIT SIX
+277C INVERSE CIRCLED DIGIT SEVEN
+277D INVERSE CIRCLED DIGIT EIGHT
+277E INVERSE CIRCLED DIGIT NINE
+277F INVERSE CIRCLED NUMBER TEN
+2780 CIRCLED SANS-SERIF DIGIT ONE
+2781 CIRCLED SANS-SERIF DIGIT TWO
+2782 CIRCLED SANS-SERIF DIGIT THREE
+2783 CIRCLED SANS-SERIF DIGIT FOUR
+2784 CIRCLED SANS-SERIF DIGIT FIVE
+2785 CIRCLED SANS-SERIF DIGIT SIX
+2786 CIRCLED SANS-SERIF DIGIT SEVEN
+2787 CIRCLED SANS-SERIF DIGIT EIGHT
+2788 CIRCLED SANS-SERIF DIGIT NINE
+2789 CIRCLED SANS-SERIF NUMBER TEN
+278A INVERSE CIRCLED SANS-SERIF DIGIT ONE
+278B INVERSE CIRCLED SANS-SERIF DIGIT TWO
+278C INVERSE CIRCLED SANS-SERIF DIGIT THREE
+278D INVERSE CIRCLED SANS-SERIF DIGIT FOUR
+278E INVERSE CIRCLED SANS-SERIF DIGIT FIVE
+278F INVERSE CIRCLED SANS-SERIF DIGIT SIX
+2790 INVERSE CIRCLED SANS-SERIF DIGIT SEVEN
+2791 INVERSE CIRCLED SANS-SERIF DIGIT EIGHT
+2792 INVERSE CIRCLED SANS-SERIF DIGIT NINE
+2793 INVERSE CIRCLED SANS-SERIF NUMBER TEN
+2794 HEAVY WIDE-HEADED RIGHT ARROW
+2798 HEAVY LOWER RIGHT ARROW
+2799 HEAVY RIGHT ARROW
+279A HEAVY UPPER RIGHT ARROW
+279B DRAFTING POINT RIGHT ARROW
+279C HEAVY ROUND-TIPPED RIGHT ARROW
+279D TRIANGLE-HEADED RIGHT ARROW
+279E HEAVY TRIANGLE-HEADED RIGHT ARROW
+279F DASHED TRIANGLE-HEADED RIGHT ARROW
+27A0 HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW
+27A1 BLACK RIGHT ARROW
+27A2 THREE-D TOP-LIGHTED RIGHT ARROWHEAD
+27A3 THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD
+27A4 BLACK RIGHT ARROWHEAD
+27A5 HEAVY BLACK CURVED DOWN AND RIGHT ARROW
+27A6 HEAVY BLACK CURVED UP AND RIGHT ARROW
+27A7 SQUAT BLACK RIGHT ARROW
+27A8 HEAVY CONCAVE-POINTED BLACK RIGHT ARROW
+27A9 RIGHT-SHADED WHITE RIGHT ARROW
+27AA LEFT-SHADED WHITE RIGHT ARROW
+27AB BACK-TILTED SHADOWED WHITE RIGHT ARROW
+27AC FRONT-TILTED SHADOWED WHITE RIGHT ARROW
+27AD HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW
+27AE HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW
+27AF NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW
+27B1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW
+27B2 CIRCLED HEAVY WHITE RIGHT ARROW
+27B3 WHITE-FEATHERED RIGHT ARROW
+27B4 BLACK-FEATHERED LOWER RIGHT ARROW
+27B5 BLACK-FEATHERED RIGHT ARROW
+27B6 BLACK-FEATHERED UPPER RIGHT ARROW
+27B7 HEAVY BLACK-FEATHERED LOWER RIGHT ARROW
+27B8 HEAVY BLACK-FEATHERED RIGHT ARROW
+27B9 HEAVY BLACK-FEATHERED UPPER RIGHT ARROW
+27BA TEARDROP-BARBED RIGHT ARROW
+27BB HEAVY TEARDROP-SHANKED RIGHT ARROW
+27BC WEDGE-TAILED RIGHT ARROW
+27BD HEAVY WEDGE-TAILED RIGHT ARROW
+27BE OPEN-OUTLINED RIGHT ARROW
+3002 IDEOGRAPHIC PERIOD
+3008 OPENING ANGLE BRACKET
+3009 CLOSING ANGLE BRACKET
+300A OPENING DOUBLE ANGLE BRACKET
+300B CLOSING DOUBLE ANGLE BRACKET
+300C OPENING CORNER BRACKET
+300D CLOSING CORNER BRACKET
+300E OPENING WHITE CORNER BRACKET
+300F CLOSING WHITE CORNER BRACKET
+3010 OPENING BLACK LENTICULAR BRACKET
+3011 CLOSING BLACK LENTICULAR BRACKET
+3014 OPENING TORTOISE SHELL BRACKET
+3015 CLOSING TORTOISE SHELL BRACKET
+3016 OPENING WHITE LENTICULAR BRACKET
+3017 CLOSING WHITE LENTICULAR BRACKET
+3018 OPENING WHITE TORTOISE SHELL BRACKET
+3019 CLOSING WHITE TORTOISE SHELL BRACKET
+301A OPENING WHITE SQUARE BRACKET
+301B CLOSING WHITE SQUARE BRACKET
+3099 NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK
+309A NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+3131 HANGUL LETTER GIYEOG
+3132 HANGUL LETTER SSANG GIYEOG
+3133 HANGUL LETTER GIYEOG SIOS
+3135 HANGUL LETTER NIEUN JIEUJ
+3136 HANGUL LETTER NIEUN HIEUH
+3137 HANGUL LETTER DIGEUD
+3138 HANGUL LETTER SSANG DIGEUD
+3139 HANGUL LETTER LIEUL
+313A HANGUL LETTER LIEUL GIYEOG
+313B HANGUL LETTER LIEUL MIEUM
+313C HANGUL LETTER LIEUL BIEUB
+313D HANGUL LETTER LIEUL SIOS
+313E HANGUL LETTER LIEUL TIEUT
+313F HANGUL LETTER LIEUL PIEUP
+3140 HANGUL LETTER LIEUL HIEUH
+3142 HANGUL LETTER BIEUB
+3143 HANGUL LETTER SSANG BIEUB
+3144 HANGUL LETTER BIEUB SIOS
+3146 HANGUL LETTER SSANG SIOS
+3148 HANGUL LETTER JIEUJ
+3149 HANGUL LETTER SSANG JIEUJ
+314A HANGUL LETTER CIEUC
+314B HANGUL LETTER KIYEOK
+314C HANGUL LETTER TIEUT
+314D HANGUL LETTER PIEUP
+3164 HANGUL CAE OM
+3165 HANGUL LETTER SSANG NIEUN
+3166 HANGUL LETTER NIEUN DIGEUD
+3167 HANGUL LETTER NIEUN SIOS
+3168 HANGUL LETTER NIEUN BAN CHI EUM
+3169 HANGUL LETTER LIEUL GIYEOG SIOS
+316A HANGUL LETTER LIEUL DIGEUD
+316B HANGUL LETTER LIEUL BIEUB SIOS
+316C HANGUL LETTER LIEUL BAN CHI EUM
+316D HANGUL LETTER LIEUL YEOLIN HIEUH
+316E HANGUL LETTER MIEUM BIEUB
+316F HANGUL LETTER MIEUM SIOS
+3170 HANGUL LETTER BIEUB BAN CHI EUM
+3171 HANGUL LETTER MIEUM SUN GYEONG EUM
+3172 HANGUL LETTER BIEUB GIYEOG
+3173 HANGUL LETTER BIEUB DIGEUD
+3174 HANGUL LETTER BIEUB SIOS GIYEOG
+3175 HANGUL LETTER BIEUB SIOS DIGEUD
+3176 HANGUL LETTER BIEUB JIEUJ
+3177 HANGUL LETTER BIEUB TIEUT
+3178 HANGUL LETTER BIEUB SUN GYEONG EUM
+3179 HANGUL LETTER SSANG BIEUB SUN GYEONG EUM
+317A HANGUL LETTER SIOS GIYEOG
+317B HANGUL LETTER SIOS NIEUN
+317C HANGUL LETTER SIOS DIGEUD
+317D HANGUL LETTER SIOS BIEUB
+317E HANGUL LETTER SIOS JIEUJ
+317F HANGUL LETTER BAN CHI EUM
+3180 HANGUL LETTER SSANG IEUNG
+3181 HANGUL LETTER NGIEUNG
+3182 HANGUL LETTER NGIEUNG SIOS
+3183 HANGUL LETTER NGIEUNG BAN CHI EUM
+3184 HANGUL LETTER PIEUP SUN GYEONG EUM
+3185 HANGUL LETTER SSANG HIEUH
+3186 HANGUL LETTER YEOLIN HIEUH
+3187 HANGUL LETTER YOYA
+3188 HANGUL LETTER YOYAE
+3189 HANGUL LETTER YOI
+318A HANGUL LETTER YUYEO
+318B HANGUL LETTER YUYE
+318C HANGUL LETTER YUI
+318D HANGUL LETTER ALAE A
+318E HANGUL LETTER ALAE AE
+3190 KANBUN TATETEN
+3191 KAERITEN RE
+3192 KAERITEN ITI
+3193 KAERITEN NI
+3194 KAERITEN SAN
+3195 KAERITEN SI
+3196 KAERITEN ZYOU
+3197 KAERITEN TYUU
+3198 KAERITEN GE
+3199 KAERITEN KOU
+319A KAERITEN OTU
+319B KAERITEN HEI
+319C KAERITEN TEI
+319D KAERITEN TEN
+319E KAERITEN TI
+319F KAERITEN ZIN
+3200 PARENTHESIZED HANGUL GIYEOG
+3202 PARENTHESIZED HANGUL DIGEUD
+3203 PARENTHESIZED HANGUL LIEUL
+3205 PARENTHESIZED HANGUL BIEUB
+3208 PARENTHESIZED HANGUL JIEUJ
+3209 PARENTHESIZED HANGUL CIEUC
+320A PARENTHESIZED HANGUL KIYEOK
+320B PARENTHESIZED HANGUL TIEUT
+320C PARENTHESIZED HANGUL PIEUP
+320E PARENTHESIZED HANGUL GA
+320F PARENTHESIZED HANGUL NA
+3210 PARENTHESIZED HANGUL DA
+3211 PARENTHESIZED HANGUL LA
+3212 PARENTHESIZED HANGUL MA
+3213 PARENTHESIZED HANGUL BA
+3214 PARENTHESIZED HANGUL SA
+3215 PARENTHESIZED HANGUL A
+3216 PARENTHESIZED HANGUL JA
+3217 PARENTHESIZED HANGUL CA
+3218 PARENTHESIZED HANGUL KA
+3219 PARENTHESIZED HANGUL TA
+321A PARENTHESIZED HANGUL PA
+321B PARENTHESIZED HANGUL HA
+321C PARENTHESIZED HANGUL JU
+3260 CIRCLED HANGUL GIYEOG
+3262 CIRCLED HANGUL DIGEUD
+3263 CIRCLED HANGUL LIEUL
+3265 CIRCLED HANGUL BIEUB
+3268 CIRCLED HANGUL JIEUJ
+3269 CIRCLED HANGUL CIEUC
+326A CIRCLED HANGUL KIYEOK
+326B CIRCLED HANGUL TIEUT
+326C CIRCLED HANGUL PIEUP
+326E CIRCLED HANGUL GA
+326F CIRCLED HANGUL NA
+3270 CIRCLED HANGUL DA
+3271 CIRCLED HANGUL LA
+3272 CIRCLED HANGUL MA
+3273 CIRCLED HANGUL BA
+3274 CIRCLED HANGUL SA
+3275 CIRCLED HANGUL A
+3276 CIRCLED HANGUL JA
+3277 CIRCLED HANGUL CA
+3278 CIRCLED HANGUL KA
+3279 CIRCLED HANGUL TA
+327A CIRCLED HANGUL PA
+327B CIRCLED HANGUL HA
+32A5 CIRCLED IDEOGRAPH CENTER
+3300 SQUARED APAATO
+3301 SQUARED ARUHUA
+3302 SQUARED ANPEA
+3303 SQUARED AARU
+3304 SQUARED ININGU
+3305 SQUARED INTI
+3306 SQUARED UON
+3307 SQUARED ESUKUUDO
+3308 SQUARED EEKAA
+3309 SQUARED ONSU
+330A SQUARED OOMU
+330B SQUARED KAIRI
+330C SQUARED KARATTO
+330D SQUARED KARORII
+330E SQUARED GARON
+330F SQUARED GANMA
+3310 SQUARED GIGA
+3311 SQUARED GINII
+3312 SQUARED KYURII
+3313 SQUARED GIRUDAA
+3314 SQUARED KIRO
+3315 SQUARED KIROGURAMU
+3316 SQUARED KIROMEETORU
+3317 SQUARED KIROWATTO
+3318 SQUARED GURAMU
+3319 SQUARED GURAMUTON
+331A SQUARED KURUZEIRO
+331B SQUARED KUROONE
+331C SQUARED KEESU
+331D SQUARED KORUNA
+331E SQUARED KOOPO
+331F SQUARED SAIKURU
+3320 SQUARED SANTIIMU
+3321 SQUARED SIRINGU
+3322 SQUARED SENTI
+3323 SQUARED SENTO
+3324 SQUARED DAASU
+3325 SQUARED DESI
+3326 SQUARED DORU
+3327 SQUARED TON
+3328 SQUARED NANO
+3329 SQUARED NOTTO
+332A SQUARED HAITU
+332B SQUARED PAASENTO
+332C SQUARED PAATU
+332D SQUARED BAARERU
+332E SQUARED PIASUTORU
+332F SQUARED PIKURU
+3330 SQUARED PIKO
+3331 SQUARED BIRU
+3332 SQUARED HUARADDO
+3333 SQUARED HUIITO
+3334 SQUARED BUSSYERU
+3335 SQUARED HURAN
+3336 SQUARED HEKUTAARU
+3337 SQUARED PESO
+3338 SQUARED PENIHI
+3339 SQUARED HERUTU
+333A SQUARED PENSU
+333B SQUARED PEEZI
+333C SQUARED BEETA
+333D SQUARED POINTO
+333E SQUARED BORUTO
+333F SQUARED HON
+3340 SQUARED PONDO
+3341 SQUARED HOORU
+3342 SQUARED HOON
+3343 SQUARED MAIKURO
+3344 SQUARED MAIRU
+3345 SQUARED MAHHA
+3346 SQUARED MARUKU
+3347 SQUARED MANSYON
+3348 SQUARED MIKURON
+3349 SQUARED MIRI
+334A SQUARED MIRIBAARU
+334B SQUARED MEGA
+334C SQUARED MEGATON
+334D SQUARED MEETORU
+334E SQUARED YAADO
+334F SQUARED YAARU
+3350 SQUARED YUAN
+3351 SQUARED RITTORU
+3352 SQUARED RIRA
+3353 SQUARED RUPII
+3354 SQUARED RUUBURU
+3355 SQUARED REMU
+3356 SQUARED RENTOGEN
+3357 SQUARED WATTO
+337B SQUARED TWO IDEOGRAPHS ERA NAME HEISEI
+337C SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA
+337D SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU
+337E SQUARED TWO IDEOGRAPHS ERA NAME MEIZI
+337F SQUARED FOUR IDEOGRAPHS CORPORATION
+3380 SQUARED PA AMPS
+3381 SQUARED NA
+3382 SQUARED MU A
+3383 SQUARED MA
+3384 SQUARED KA
+3385 SQUARED KB
+3386 SQUARED MB
+3387 SQUARED GB
+3388 SQUARED CAL
+3389 SQUARED KCAL
+338A SQUARED PF
+338B SQUARED NF
+338C SQUARED MU F
+338D SQUARED MU G
+338E SQUARED MG
+338F SQUARED KG
+3390 SQUARED HZ
+3391 SQUARED KHZ
+3392 SQUARED MHZ
+3393 SQUARED GHZ
+3394 SQUARED THZ
+3395 SQUARED MU L
+3396 SQUARED ML
+3397 SQUARED DL
+3398 SQUARED KL
+3399 SQUARED FM
+339A SQUARED NM
+339B SQUARED MU M
+339C SQUARED MM
+339D SQUARED CM
+339E SQUARED KM
+339F SQUARED MM SQUARED
+33A0 SQUARED CM SQUARED
+33A1 SQUARED M SQUARED
+33A2 SQUARED KM SQUARED
+33A3 SQUARED MM CUBED
+33A4 SQUARED CM CUBED
+33A5 SQUARED M CUBED
+33A6 SQUARED KM CUBED
+33A7 SQUARED M OVER S
+33A8 SQUARED M OVER S SQUARED
+33A9 SQUARED PA
+33AA SQUARED KPA
+33AB SQUARED MPA
+33AC SQUARED GPA
+33AD SQUARED RAD
+33AE SQUARED RAD OVER S
+33AF SQUARED RAD OVER S SQUARED
+33B0 SQUARED PS
+33B1 SQUARED NS
+33B2 SQUARED MU S
+33B3 SQUARED MS
+33B4 SQUARED PV
+33B5 SQUARED NV
+33B6 SQUARED MU V
+33B7 SQUARED MV
+33B8 SQUARED KV
+33B9 SQUARED MV MEGA
+33BA SQUARED PW
+33BB SQUARED NW
+33BC SQUARED MU W
+33BD SQUARED MW
+33BE SQUARED KW
+33BF SQUARED MW MEGA
+33C0 SQUARED K OHM
+33C1 SQUARED M OHM
+33C2 SQUARED AM
+33C3 SQUARED BQ
+33C4 SQUARED CC
+33C5 SQUARED CD
+33C6 SQUARED C OVER KG
+33C7 SQUARED CO
+33C8 SQUARED DB
+33C9 SQUARED GY
+33CA SQUARED HA
+33CB SQUARED HP
+33CC SQUARED IN
+33CD SQUARED KK
+33CE SQUARED KM CAPITAL
+33CF SQUARED KT
+33D0 SQUARED LM
+33D1 SQUARED LN
+33D2 SQUARED LOG
+33D3 SQUARED LX
+33D4 SQUARED MB SMALL
+33D5 SQUARED MIL
+33D6 SQUARED MOL
+33D7 SQUARED PH
+33D8 SQUARED PM
+33D9 SQUARED PPM
+33DA SQUARED PR
+33DB SQUARED SR
+33DC SQUARED SV
+33DD SQUARED WB
+FB1E HEBREW POINT VARIKA
+FDFA ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM
+FDFB ARABIC LETTER JALLAJALALOUHOU
+FE30 GLYPH FOR VERTICAL TWO DOT LEADER
+FE31 GLYPH FOR VERTICAL EM DASH
+FE32 GLYPH FOR VERTICAL EN DASH
+FE33 GLYPH FOR VERTICAL SPACING UNDERSCORE
+FE34 GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE
+FE35 GLYPH FOR VERTICAL OPENING PARENTHESIS
+FE36 GLYPH FOR VERTICAL CLOSING PARENTHESIS
+FE37 GLYPH FOR VERTICAL OPENING CURLY BRACKET
+FE38 GLYPH FOR VERTICAL CLOSING CURLY BRACKET
+FE39 GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET
+FE3A GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET
+FE3B GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET
+FE3C GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET
+FE3D GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET
+FE3E GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET
+FE3F GLYPH FOR VERTICAL OPENING ANGLE BRACKET
+FE40 GLYPH FOR VERTICAL CLOSING ANGLE BRACKET
+FE41 GLYPH FOR VERTICAL OPENING CORNER BRACKET
+FE42 GLYPH FOR VERTICAL CLOSING CORNER BRACKET
+FE43 GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET
+FE44 GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET
+FE49 SPACING DASHED OVERSCORE
+FE4A SPACING CENTERLINE OVERSCORE
+FE4B SPACING WAVY OVERSCORE
+FE4C SPACING DOUBLE WAVY OVERSCORE
+FE4D SPACING DASHED UNDERSCORE
+FE4E SPACING CENTERLINE UNDERSCORE
+FE4F SPACING WAVY UNDERSCORE
+FE52 SMALL PERIOD
+FE59 SMALL OPENING PARENTHESIS
+FE5A SMALL CLOSING PARENTHESIS
+FE5B SMALL OPENING CURLY BRACKET
+FE5C SMALL CLOSING CURLY BRACKET
+FE5D SMALL OPENING TORTOISE SHELL BRACKET
+FE5E SMALL CLOSING TORTOISE SHELL BRACKET
+FE68 SMALL BACKSLASH
+FE70 ARABIC SPACING FATHATAN
+FE71 ARABIC FATHATAN ON TATWEEL
+FE72 ARABIC SPACING DAMMATAN
+FE74 ARABIC SPACING KASRATAN
+FE76 ARABIC SPACING FATHAH
+FE77 ARABIC FATHAH ON TATWEEL
+FE78 ARABIC SPACING DAMMAH
+FE79 ARABIC DAMMAH ON TATWEEL
+FE7A ARABIC SPACING KASRAH
+FE7B ARABIC KASRAH ON TATWEEL
+FE7C ARABIC SPACING SHADDAH
+FE7D ARABIC SHADDAH ON TATWEEL
+FE7E ARABIC SPACING SUKUN
+FE7F ARABIC SUKUN ON TATWEEL
+FE80 GLYPH FOR ISOLATE ARABIC HAMZAH
+FE81 GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF
+FE82 GLYPH FOR FINAL ARABIC MADDAH ON ALEF
+FE83 GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF
+FE84 GLYPH FOR FINAL ARABIC HAMZAH ON ALEF
+FE85 GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW
+FE86 GLYPH FOR FINAL ARABIC HAMZAH ON WAW
+FE87 GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF
+FE88 GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF
+FE89 GLYPH FOR ISOLATE ARABIC HAMZAH ON YA
+FE8A GLYPH FOR FINAL ARABIC HAMZAH ON YA
+FE8B GLYPH FOR INITIAL ARABIC HAMZAH ON YA
+FE8C GLYPH FOR MEDIAL ARABIC HAMZAH ON YA
+FE8D GLYPH FOR ISOLATE ARABIC ALEF
+FE8E GLYPH FOR FINAL ARABIC ALEF
+FE8F GLYPH FOR ISOLATE ARABIC BAA
+FE90 GLYPH FOR FINAL ARABIC BAA
+FE91 GLYPH FOR INITIAL ARABIC BAA
+FE92 GLYPH FOR MEDIAL ARABIC BAA
+FE93 GLYPH FOR ISOLATE ARABIC TAA MARBUTAH
+FE94 GLYPH FOR FINAL ARABIC TAA MARBUTAH
+FE95 GLYPH FOR ISOLATE ARABIC TAA
+FE96 GLYPH FOR FINAL ARABIC TAA
+FE97 GLYPH FOR INITIAL ARABIC TAA
+FE98 GLYPH FOR MEDIAL ARABIC TAA
+FE99 GLYPH FOR ISOLATE ARABIC THAA
+FE9A GLYPH FOR FINAL ARABIC THAA
+FE9B GLYPH FOR INITIAL ARABIC THAA
+FE9C GLYPH FOR MEDIAL ARABIC THAA
+FE9D GLYPH FOR ISOLATE ARABIC JEEM
+FE9E GLYPH FOR FINAL ARABIC JEEM
+FE9F GLYPH FOR INITIAL ARABIC JEEM
+FEA0 GLYPH FOR MEDIAL ARABIC JEEM
+FEA1 GLYPH FOR ISOLATE ARABIC HAA
+FEA2 GLYPH FOR FINAL ARABIC HAA
+FEA3 GLYPH FOR INITIAL ARABIC HAA
+FEA4 GLYPH FOR MEDIAL ARABIC HAA
+FEA5 GLYPH FOR ISOLATE ARABIC KHAA
+FEA6 GLYPH FOR FINAL ARABIC KHAA
+FEA7 GLYPH FOR INITIAL ARABIC KHAA
+FEA8 GLYPH FOR MEDIAL ARABIC KHAA
+FEA9 GLYPH FOR ISOLATE ARABIC DAL
+FEAA GLYPH FOR FINAL ARABIC DAL
+FEAB GLYPH FOR ISOLATE ARABIC THAL
+FEAC GLYPH FOR FINAL ARABIC THAL
+FEAD GLYPH FOR ISOLATE ARABIC RA
+FEAE GLYPH FOR FINAL ARABIC RA
+FEAF GLYPH FOR ISOLATE ARABIC ZAIN
+FEB0 GLYPH FOR FINAL ARABIC ZAIN
+FEB1 GLYPH FOR ISOLATE ARABIC SEEN
+FEB2 GLYPH FOR FINAL ARABIC SEEN
+FEB3 GLYPH FOR INITIAL ARABIC SEEN
+FEB4 GLYPH FOR MEDIAL ARABIC SEEN
+FEB5 GLYPH FOR ISOLATE ARABIC SHEEN
+FEB6 GLYPH FOR FINAL ARABIC SHEEN
+FEB7 GLYPH FOR INITIAL ARABIC SHEEN
+FEB8 GLYPH FOR MEDIAL ARABIC SHEEN
+FEB9 GLYPH FOR ISOLATE ARABIC SAD
+FEBA GLYPH FOR FINAL ARABIC SAD
+FEBB GLYPH FOR INITIAL ARABIC SAD
+FEBC GLYPH FOR MEDIAL ARABIC SAD
+FEBD GLYPH FOR ISOLATE ARABIC DAD
+FEBE GLYPH FOR FINAL ARABIC DAD
+FEBF GLYPH FOR INITIAL ARABIC DAD
+FEC0 GLYPH FOR MEDIAL ARABIC DAD
+FEC1 GLYPH FOR ISOLATE ARABIC TAH
+FEC2 GLYPH FOR FINAL ARABIC TAH
+FEC3 GLYPH FOR INITIAL ARABIC TAH
+FEC4 GLYPH FOR MEDIAL ARABIC TAH
+FEC5 GLYPH FOR ISOLATE ARABIC DHAH
+FEC6 GLYPH FOR FINAL ARABIC DHAH
+FEC7 GLYPH FOR INITIAL ARABIC DHAH
+FEC8 GLYPH FOR MEDIAL ARABIC DHAH
+FEC9 GLYPH FOR ISOLATE ARABIC AIN
+FECA GLYPH FOR FINAL ARABIC AIN
+FECB GLYPH FOR INITIAL ARABIC AIN
+FECC GLYPH FOR MEDIAL ARABIC AIN
+FECD GLYPH FOR ISOLATE ARABIC GHAIN
+FECE GLYPH FOR FINAL ARABIC GHAIN
+FECF GLYPH FOR INITIAL ARABIC GHAIN
+FED0 GLYPH FOR MEDIAL ARABIC GHAIN
+FED1 GLYPH FOR ISOLATE ARABIC FA
+FED2 GLYPH FOR FINAL ARABIC FA
+FED3 GLYPH FOR INITIAL ARABIC FA
+FED4 GLYPH FOR MEDIAL ARABIC FA
+FED5 GLYPH FOR ISOLATE ARABIC QAF
+FED6 GLYPH FOR FINAL ARABIC QAF
+FED7 GLYPH FOR INITIAL ARABIC QAF
+FED8 GLYPH FOR MEDIAL ARABIC QAF
+FED9 GLYPH FOR ISOLATE ARABIC CAF
+FEDA GLYPH FOR FINAL ARABIC CAF
+FEDB GLYPH FOR INITIAL ARABIC CAF
+FEDC GLYPH FOR MEDIAL ARABIC CAF
+FEDD GLYPH FOR ISOLATE ARABIC LAM
+FEDE GLYPH FOR FINAL ARABIC LAM
+FEDF GLYPH FOR INITIAL ARABIC LAM
+FEE0 GLYPH FOR MEDIAL ARABIC LAM
+FEE1 GLYPH FOR ISOLATE ARABIC MEEM
+FEE2 GLYPH FOR FINAL ARABIC MEEM
+FEE3 GLYPH FOR INITIAL ARABIC MEEM
+FEE4 GLYPH FOR MEDIAL ARABIC MEEM
+FEE5 GLYPH FOR ISOLATE ARABIC NOON
+FEE6 GLYPH FOR FINAL ARABIC NOON
+FEE7 GLYPH FOR INITIAL ARABIC NOON
+FEE8 GLYPH FOR MEDIAL ARABIC NOON
+FEE9 GLYPH FOR ISOLATE ARABIC HA
+FEEA GLYPH FOR FINAL ARABIC HA
+FEEB GLYPH FOR INITIAL ARABIC HA
+FEEC GLYPH FOR MEDIAL ARABIC HA
+FEED GLYPH FOR ISOLATE ARABIC WAW
+FEEE GLYPH FOR FINAL ARABIC WAW
+FEEF GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH
+FEF0 GLYPH FOR FINAL ARABIC ALEF MAQSURAH
+FEF1 GLYPH FOR ISOLATE ARABIC YA
+FEF2 GLYPH FOR FINAL ARABIC YA
+FEF3 GLYPH FOR INITIAL ARABIC YA
+FEF4 GLYPH FOR MEDIAL ARABIC YA
+FEF5 GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF
+FEF6 GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF
+FEF7 GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF
+FEF8 GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF
+FEF9 GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF
+FEFA GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF
+FEFB GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF
+FEFC GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF
+FEFF BYTE ORDER MARK
+FF08 FULLWIDTH OPENING PARENTHESIS
+FF09 FULLWIDTH CLOSING PARENTHESIS
+FF0E FULLWIDTH PERIOD
+FF0F FULLWIDTH SLASH
+FF3B FULLWIDTH OPENING SQUARE BRACKET
+FF3C FULLWIDTH BACKSLASH
+FF3D FULLWIDTH CLOSING SQUARE BRACKET
+FF3E FULLWIDTH SPACING CIRCUMFLEX
+FF3F FULLWIDTH SPACING UNDERSCORE
+FF40 FULLWIDTH SPACING GRAVE
+FF5B FULLWIDTH OPENING CURLY BRACKET
+FF5C FULLWIDTH VERTICAL BAR
+FF5D FULLWIDTH CLOSING CURLY BRACKET
+FF5E FULLWIDTH SPACING TILDE
+FF61 HALFWIDTH IDEOGRAPHIC PERIOD
+FF62 HALFWIDTH OPENING CORNER BRACKET
+FF63 HALFWIDTH CLOSING CORNER BRACKET
+FFA0 HALFWIDTH HANGUL CAE OM
+FFA1 HALFWIDTH HANGUL LETTER GIYEOG
+FFA2 HALFWIDTH HANGUL LETTER SSANG GIYEOG
+FFA3 HALFWIDTH HANGUL LETTER GIYEOG SIOS
+FFA5 HALFWIDTH HANGUL LETTER NIEUN JIEUJ
+FFA6 HALFWIDTH HANGUL LETTER NIEUN HIEUH
+FFA7 HALFWIDTH HANGUL LETTER DIGEUD
+FFA8 HALFWIDTH HANGUL LETTER SSANG DIGEUD
+FFA9 HALFWIDTH HANGUL LETTER LIEUL
+FFAA HALFWIDTH HANGUL LETTER LIEUL GIYEOG
+FFAB HALFWIDTH HANGUL LETTER LIEUL MIEUM
+FFAC HALFWIDTH HANGUL LETTER LIEUL BIEUB
+FFAD HALFWIDTH HANGUL LETTER LIEUL SIOS
+FFAE HALFWIDTH HANGUL LETTER LIEUL TIEUT
+FFAF HALFWIDTH HANGUL LETTER LIEUL PIEUP
+FFB0 HALFWIDTH HANGUL LETTER LIEUL HIEUH
+FFB2 HALFWIDTH HANGUL LETTER BIEUB
+FFB3 HALFWIDTH HANGUL LETTER SSANG BIEUB
+FFB4 HALFWIDTH HANGUL LETTER BIEUB SIOS
+FFB6 HALFWIDTH HANGUL LETTER SSANG SIOS
+FFB8 HALFWIDTH HANGUL LETTER JIEUJ
+FFB9 HALFWIDTH HANGUL LETTER SSANG JIEUJ
+FFBA HALFWIDTH HANGUL LETTER CIEUC
+FFBB HALFWIDTH HANGUL LETTER KIYEOK
+FFBC HALFWIDTH HANGUL LETTER TIEUT
+FFBD HALFWIDTH HANGUL LETTER PIEUP
+FFE3 FULLWIDTH SPACING MACRON
+FFE4 FULLWIDTH BROKEN VERTICAL BAR
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
new file mode 100644
index 00000000000..99d4674fc29
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
@@ -0,0 +1,198 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNt'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNt'}{'missing'} = 'None';
+
+return <<'END';
+0030 0039 Decimal
+00B2 00B3 Digit
+00B9 Digit
+00BC 00BE Numeric
+0660 0669 Decimal
+06F0 06F9 Decimal
+07C0 07C9 Decimal
+0966 096F Decimal
+09E6 09EF Decimal
+09F4 09F9 Numeric
+0A66 0A6F Decimal
+0AE6 0AEF Decimal
+0B66 0B6F Decimal
+0B72 0B77 Numeric
+0BE6 0BEF Decimal
+0BF0 0BF2 Numeric
+0C66 0C6F Decimal
+0C78 0C7E Numeric
+0CE6 0CEF Decimal
+0D66 0D6F Decimal
+0D70 0D75 Numeric
+0E50 0E59 Decimal
+0ED0 0ED9 Decimal
+0F20 0F29 Decimal
+0F2A 0F33 Numeric
+1040 1049 Decimal
+1090 1099 Decimal
+1369 1371 Digit
+1372 137C Numeric
+16EE 16F0 Numeric
+17E0 17E9 Decimal
+17F0 17F9 Numeric
+1810 1819 Decimal
+1946 194F Decimal
+19D0 19D9 Decimal
+19DA Digit
+1A80 1A89 Decimal
+1A90 1A99 Decimal
+1B50 1B59 Decimal
+1BB0 1BB9 Decimal
+1C40 1C49 Decimal
+1C50 1C59 Decimal
+2070 Digit
+2074 2079 Digit
+2080 2089 Digit
+2150 2182 Numeric
+2185 2189 Numeric
+2460 2468 Digit
+2469 2473 Numeric
+2474 247C Digit
+247D 2487 Numeric
+2488 2490 Digit
+2491 249B Numeric
+24EA Digit
+24EB 24F4 Numeric
+24F5 24FD Digit
+24FE Numeric
+24FF Digit
+2776 277E Digit
+277F Numeric
+2780 2788 Digit
+2789 Numeric
+278A 2792 Digit
+2793 Numeric
+2CFD Numeric
+3007 Numeric
+3021 3029 Numeric
+3038 303A Numeric
+3192 3195 Numeric
+3220 3229 Numeric
+3251 325F Numeric
+3280 3289 Numeric
+32B1 32BF Numeric
+3405 Numeric
+3483 Numeric
+382A Numeric
+3B4D Numeric
+4E00 Numeric
+4E03 Numeric
+4E07 Numeric
+4E09 Numeric
+4E5D Numeric
+4E8C Numeric
+4E94 Numeric
+4E96 Numeric
+4EBF 4EC0 Numeric
+4EDF Numeric
+4EE8 Numeric
+4F0D Numeric
+4F70 Numeric
+5104 Numeric
+5146 Numeric
+5169 Numeric
+516B Numeric
+516D Numeric
+5341 Numeric
+5343 5345 Numeric
+534C Numeric
+53C1 53C4 Numeric
+56DB Numeric
+58F1 Numeric
+58F9 Numeric
+5E7A Numeric
+5EFE 5EFF Numeric
+5F0C 5F0E Numeric
+5F10 Numeric
+62FE Numeric
+634C Numeric
+67D2 Numeric
+6F06 Numeric
+7396 Numeric
+767E Numeric
+8086 Numeric
+842C Numeric
+8CAE Numeric
+8CB3 Numeric
+8D30 Numeric
+9621 Numeric
+9646 Numeric
+964C Numeric
+9678 Numeric
+96F6 Numeric
+A620 A629 Decimal
+A6E6 A6EF Numeric
+A830 A835 Numeric
+A8D0 A8D9 Decimal
+A900 A909 Decimal
+A9D0 A9D9 Decimal
+AA50 AA59 Decimal
+ABF0 ABF9 Decimal
+F96B Numeric
+F973 Numeric
+F978 Numeric
+F9B2 Numeric
+F9D1 Numeric
+F9D3 Numeric
+F9FD Numeric
+FF10 FF19 Decimal
+10107 10133 Numeric
+10140 10178 Numeric
+1018A Numeric
+10320 10323 Numeric
+10341 Numeric
+1034A Numeric
+103D1 103D5 Numeric
+104A0 104A9 Decimal
+10858 1085F Numeric
+10916 1091B Numeric
+10A40 10A43 Digit
+10A44 10A47 Numeric
+10A7D 10A7E Numeric
+10B58 10B5F Numeric
+10B78 10B7F Numeric
+10E60 10E68 Digit
+10E69 10E7E Numeric
+11052 1105A Digit
+1105B 11065 Numeric
+11066 1106F Decimal
+12400 12431 Numeric
+12434 12455 Numeric
+12458 12462 Numeric
+1D360 1D371 Numeric
+1D7CE 1D7FF Decimal
+1F100 1F10A Digit
+20001 Numeric
+20064 Numeric
+200E2 Numeric
+20121 Numeric
+2092A Numeric
+20983 Numeric
+2098C Numeric
+2099C Numeric
+20AEA Numeric
+20AFD Numeric
+20B19 Numeric
+22390 Numeric
+22998 Numeric
+23B1B Numeric
+2626D Numeric
+2F890 Numeric
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl b/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
new file mode 100644
index 00000000000..d12d30f5cdc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
@@ -0,0 +1,1157 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNv'}{'format'} = 'r'; # rational: an integer or a fraction
+$utf8::SwashInfo{'ToNv'}{'missing'} = 'NaN';
+
+return <<'END';
+0030 0
+0031 1
+0032 2
+0033 3
+0034 4
+0035 5
+0036 6
+0037 7
+0038 8
+0039 9
+00B2 2
+00B3 3
+00B9 1
+00BC 1/4
+00BD 1/2
+00BE 3/4
+0660 0
+0661 1
+0662 2
+0663 3
+0664 4
+0665 5
+0666 6
+0667 7
+0668 8
+0669 9
+06F0 0
+06F1 1
+06F2 2
+06F3 3
+06F4 4
+06F5 5
+06F6 6
+06F7 7
+06F8 8
+06F9 9
+07C0 0
+07C1 1
+07C2 2
+07C3 3
+07C4 4
+07C5 5
+07C6 6
+07C7 7
+07C8 8
+07C9 9
+0966 0
+0967 1
+0968 2
+0969 3
+096A 4
+096B 5
+096C 6
+096D 7
+096E 8
+096F 9
+09E6 0
+09E7 1
+09E8 2
+09E9 3
+09EA 4
+09EB 5
+09EC 6
+09ED 7
+09EE 8
+09EF 9
+09F4 1/16
+09F5 1/8
+09F6 3/16
+09F7 1/4
+09F8 3/4
+09F9 16
+0A66 0
+0A67 1
+0A68 2
+0A69 3
+0A6A 4
+0A6B 5
+0A6C 6
+0A6D 7
+0A6E 8
+0A6F 9
+0AE6 0
+0AE7 1
+0AE8 2
+0AE9 3
+0AEA 4
+0AEB 5
+0AEC 6
+0AED 7
+0AEE 8
+0AEF 9
+0B66 0
+0B67 1
+0B68 2
+0B69 3
+0B6A 4
+0B6B 5
+0B6C 6
+0B6D 7
+0B6E 8
+0B6F 9
+0B72 1/4
+0B73 1/2
+0B74 3/4
+0B75 1/16
+0B76 1/8
+0B77 3/16
+0BE6 0
+0BE7 1
+0BE8 2
+0BE9 3
+0BEA 4
+0BEB 5
+0BEC 6
+0BED 7
+0BEE 8
+0BEF 9
+0BF0 10
+0BF1 100
+0BF2 1000
+0C66 0
+0C67 1
+0C68 2
+0C69 3
+0C6A 4
+0C6B 5
+0C6C 6
+0C6D 7
+0C6E 8
+0C6F 9
+0C78 0
+0C79 1
+0C7A 2
+0C7B 3
+0C7C 1
+0C7D 2
+0C7E 3
+0CE6 0
+0CE7 1
+0CE8 2
+0CE9 3
+0CEA 4
+0CEB 5
+0CEC 6
+0CED 7
+0CEE 8
+0CEF 9
+0D66 0
+0D67 1
+0D68 2
+0D69 3
+0D6A 4
+0D6B 5
+0D6C 6
+0D6D 7
+0D6E 8
+0D6F 9
+0D70 10
+0D71 100
+0D72 1000
+0D73 1/4
+0D74 1/2
+0D75 3/4
+0E50 0
+0E51 1
+0E52 2
+0E53 3
+0E54 4
+0E55 5
+0E56 6
+0E57 7
+0E58 8
+0E59 9
+0ED0 0
+0ED1 1
+0ED2 2
+0ED3 3
+0ED4 4
+0ED5 5
+0ED6 6
+0ED7 7
+0ED8 8
+0ED9 9
+0F20 0
+0F21 1
+0F22 2
+0F23 3
+0F24 4
+0F25 5
+0F26 6
+0F27 7
+0F28 8
+0F29 9
+0F2A 1/2
+0F2B 3/2
+0F2C 5/2
+0F2D 7/2
+0F2E 9/2
+0F2F 11/2
+0F30 13/2
+0F31 15/2
+0F32 17/2
+0F33 -1/2
+1040 0
+1041 1
+1042 2
+1043 3
+1044 4
+1045 5
+1046 6
+1047 7
+1048 8
+1049 9
+1090 0
+1091 1
+1092 2
+1093 3
+1094 4
+1095 5
+1096 6
+1097 7
+1098 8
+1099 9
+1369 1
+136A 2
+136B 3
+136C 4
+136D 5
+136E 6
+136F 7
+1370 8
+1371 9
+1372 10
+1373 20
+1374 30
+1375 40
+1376 50
+1377 60
+1378 70
+1379 80
+137A 90
+137B 100
+137C 10000
+16EE 17
+16EF 18
+16F0 19
+17E0 0
+17E1 1
+17E2 2
+17E3 3
+17E4 4
+17E5 5
+17E6 6
+17E7 7
+17E8 8
+17E9 9
+17F0 0
+17F1 1
+17F2 2
+17F3 3
+17F4 4
+17F5 5
+17F6 6
+17F7 7
+17F8 8
+17F9 9
+1810 0
+1811 1
+1812 2
+1813 3
+1814 4
+1815 5
+1816 6
+1817 7
+1818 8
+1819 9
+1946 0
+1947 1
+1948 2
+1949 3
+194A 4
+194B 5
+194C 6
+194D 7
+194E 8
+194F 9
+19D0 0
+19D1 1
+19D2 2
+19D3 3
+19D4 4
+19D5 5
+19D6 6
+19D7 7
+19D8 8
+19D9 9
+19DA 1
+1A80 0
+1A81 1
+1A82 2
+1A83 3
+1A84 4
+1A85 5
+1A86 6
+1A87 7
+1A88 8
+1A89 9
+1A90 0
+1A91 1
+1A92 2
+1A93 3
+1A94 4
+1A95 5
+1A96 6
+1A97 7
+1A98 8
+1A99 9
+1B50 0
+1B51 1
+1B52 2
+1B53 3
+1B54 4
+1B55 5
+1B56 6
+1B57 7
+1B58 8
+1B59 9
+1BB0 0
+1BB1 1
+1BB2 2
+1BB3 3
+1BB4 4
+1BB5 5
+1BB6 6
+1BB7 7
+1BB8 8
+1BB9 9
+1C40 0
+1C41 1
+1C42 2
+1C43 3
+1C44 4
+1C45 5
+1C46 6
+1C47 7
+1C48 8
+1C49 9
+1C50 0
+1C51 1
+1C52 2
+1C53 3
+1C54 4
+1C55 5
+1C56 6
+1C57 7
+1C58 8
+1C59 9
+2070 0
+2074 4
+2075 5
+2076 6
+2077 7
+2078 8
+2079 9
+2080 0
+2081 1
+2082 2
+2083 3
+2084 4
+2085 5
+2086 6
+2087 7
+2088 8
+2089 9
+2150 1/7
+2151 1/9
+2152 1/10
+2153 1/3
+2154 2/3
+2155 1/5
+2156 2/5
+2157 3/5
+2158 4/5
+2159 1/6
+215A 5/6
+215B 1/8
+215C 3/8
+215D 5/8
+215E 7/8
+215F 2160 1
+2161 2
+2162 3
+2163 4
+2164 5
+2165 6
+2166 7
+2167 8
+2168 9
+2169 10
+216A 11
+216B 12
+216C 50
+216D 100
+216E 500
+216F 1000
+2170 1
+2171 2
+2172 3
+2173 4
+2174 5
+2175 6
+2176 7
+2177 8
+2178 9
+2179 10
+217A 11
+217B 12
+217C 50
+217D 100
+217E 500
+217F 2180 1000
+2181 5000
+2182 10000
+2185 6
+2186 50
+2187 50000
+2188 100000
+2189 0
+2460 1
+2461 2
+2462 3
+2463 4
+2464 5
+2465 6
+2466 7
+2467 8
+2468 9
+2469 10
+246A 11
+246B 12
+246C 13
+246D 14
+246E 15
+246F 16
+2470 17
+2471 18
+2472 19
+2473 20
+2474 1
+2475 2
+2476 3
+2477 4
+2478 5
+2479 6
+247A 7
+247B 8
+247C 9
+247D 10
+247E 11
+247F 12
+2480 13
+2481 14
+2482 15
+2483 16
+2484 17
+2485 18
+2486 19
+2487 20
+2488 1
+2489 2
+248A 3
+248B 4
+248C 5
+248D 6
+248E 7
+248F 8
+2490 9
+2491 10
+2492 11
+2493 12
+2494 13
+2495 14
+2496 15
+2497 16
+2498 17
+2499 18
+249A 19
+249B 20
+24EA 0
+24EB 11
+24EC 12
+24ED 13
+24EE 14
+24EF 15
+24F0 16
+24F1 17
+24F2 18
+24F3 19
+24F4 20
+24F5 1
+24F6 2
+24F7 3
+24F8 4
+24F9 5
+24FA 6
+24FB 7
+24FC 8
+24FD 9
+24FE 10
+24FF 0
+2776 1
+2777 2
+2778 3
+2779 4
+277A 5
+277B 6
+277C 7
+277D 8
+277E 9
+277F 10
+2780 1
+2781 2
+2782 3
+2783 4
+2784 5
+2785 6
+2786 7
+2787 8
+2788 9
+2789 10
+278A 1
+278B 2
+278C 3
+278D 4
+278E 5
+278F 6
+2790 7
+2791 8
+2792 9
+2793 10
+2CFD 1/2
+3007 0
+3021 1
+3022 2
+3023 3
+3024 4
+3025 5
+3026 6
+3027 7
+3028 8
+3029 9
+3038 10
+3039 20
+303A 30
+3192 1
+3193 2
+3194 3
+3195 4
+3220 1
+3221 2
+3222 3
+3223 4
+3224 5
+3225 6
+3226 7
+3227 8
+3228 9
+3229 10
+3251 21
+3252 22
+3253 23
+3254 24
+3255 25
+3256 26
+3257 27
+3258 28
+3259 29
+325A 30
+325B 31
+325C 32
+325D 33
+325E 34
+325F 35
+3280 1
+3281 2
+3282 3
+3283 4
+3284 5
+3285 6
+3286 7
+3287 8
+3288 9
+3289 10
+32B1 36
+32B2 37
+32B3 38
+32B4 39
+32B5 40
+32B6 41
+32B7 42
+32B8 43
+32B9 44
+32BA 45
+32BB 46
+32BC 47
+32BD 48
+32BE 49
+32BF 50
+3405 5
+3483 2
+382A 5
+3B4D 7
+4E00 1
+4E03 7
+4E07 10000
+4E09 3
+4E5D 9
+4E8C 2
+4E94 5
+4E96 4
+4EBF 100000000
+4EC0 10
+4EDF 1000
+4EE8 3
+4F0D 5
+4F70 100
+5104 100000000
+5146 1000000000000
+5169 2
+516B 8
+516D 6
+5341 10
+5343 1000
+5344 20
+5345 30
+534C 40
+53C1 53C4 3
+56DB 4
+58F1 1
+58F9 1
+5E7A 1
+5EFE 9
+5EFF 20
+5F0C 1
+5F0D 2
+5F0E 3
+5F10 2
+62FE 10
+634C 8
+67D2 7
+6F06 7
+7396 9
+767E 100
+8086 4
+842C 10000
+8CAE 2
+8CB3 2
+8D30 2
+9621 1000
+9646 6
+964C 100
+9678 6
+96F6 0
+A620 0
+A621 1
+A622 2
+A623 3
+A624 4
+A625 5
+A626 6
+A627 7
+A628 8
+A629 9
+A6E6 1
+A6E7 2
+A6E8 3
+A6E9 4
+A6EA 5
+A6EB 6
+A6EC 7
+A6ED 8
+A6EE 9
+A6EF 0
+A830 1/4
+A831 1/2
+A832 3/4
+A833 1/16
+A834 1/8
+A835 3/16
+A8D0 0
+A8D1 1
+A8D2 2
+A8D3 3
+A8D4 4
+A8D5 5
+A8D6 6
+A8D7 7
+A8D8 8
+A8D9 9
+A900 0
+A901 1
+A902 2
+A903 3
+A904 4
+A905 5
+A906 6
+A907 7
+A908 8
+A909 9
+A9D0 0
+A9D1 1
+A9D2 2
+A9D3 3
+A9D4 4
+A9D5 5
+A9D6 6
+A9D7 7
+A9D8 8
+A9D9 9
+AA50 0
+AA51 1
+AA52 2
+AA53 3
+AA54 4
+AA55 5
+AA56 6
+AA57 7
+AA58 8
+AA59 9
+ABF0 0
+ABF1 1
+ABF2 2
+ABF3 3
+ABF4 4
+ABF5 5
+ABF6 6
+ABF7 7
+ABF8 8
+ABF9 9
+F96B 3
+F973 10
+F978 2
+F9B2 0
+F9D1 6
+F9D3 6
+F9FD 10
+FF10 0
+FF11 1
+FF12 2
+FF13 3
+FF14 4
+FF15 5
+FF16 6
+FF17 7
+FF18 8
+FF19 9
+10107 1
+10108 2
+10109 3
+1010A 4
+1010B 5
+1010C 6
+1010D 7
+1010E 8
+1010F 9
+10110 10
+10111 20
+10112 30
+10113 40
+10114 50
+10115 60
+10116 70
+10117 80
+10118 90
+10119 100
+1011A 200
+1011B 300
+1011C 400
+1011D 500
+1011E 600
+1011F 700
+10120 800
+10121 900
+10122 1000
+10123 2000
+10124 3000
+10125 4000
+10126 5000
+10127 6000
+10128 7000
+10129 8000
+1012A 9000
+1012B 10000
+1012C 20000
+1012D 30000
+1012E 40000
+1012F 50000
+10130 60000
+10131 70000
+10132 80000
+10133 90000
+10140 1/4
+10141 1/2
+10142 1
+10143 5
+10144 50
+10145 500
+10146 5000
+10147 50000
+10148 5
+10149 10
+1014A 50
+1014B 100
+1014C 500
+1014D 1000
+1014E 5000
+1014F 5
+10150 10
+10151 50
+10152 100
+10153 500
+10154 1000
+10155 10000
+10156 50000
+10157 10
+10158 1015A 1
+1015B 1015E 2
+1015F 5
+10160 10164 10
+10165 30
+10166 10169 50
+1016A 100
+1016B 300
+1016C 10170 500
+10171 1000
+10172 5000
+10173 5
+10174 50
+10175 10176 1/2
+10177 2/3
+10178 3/4
+1018A 0
+10320 1
+10321 5
+10322 10
+10323 50
+10341 90
+1034A 900
+103D1 1
+103D2 2
+103D3 10
+103D4 20
+103D5 100
+104A0 0
+104A1 1
+104A2 2
+104A3 3
+104A4 4
+104A5 5
+104A6 6
+104A7 7
+104A8 8
+104A9 9
+10858 1
+10859 2
+1085A 3
+1085B 10
+1085C 20
+1085D 100
+1085E 1000
+1085F 10000
+10916 1
+10917 10
+10918 20
+10919 100
+1091A 2
+1091B 3
+10A40 1
+10A41 2
+10A42 3
+10A43 4
+10A44 10
+10A45 20
+10A46 100
+10A47 1000
+10A7D 1
+10A7E 50
+10B58 1
+10B59 2
+10B5A 3
+10B5B 4
+10B5C 10
+10B5D 20
+10B5E 100
+10B5F 1000
+10B78 1
+10B79 2
+10B7A 3
+10B7B 4
+10B7C 10
+10B7D 20
+10B7E 100
+10B7F 1000
+10E60 1
+10E61 2
+10E62 3
+10E63 4
+10E64 5
+10E65 6
+10E66 7
+10E67 8
+10E68 9
+10E69 10
+10E6A 20
+10E6B 30
+10E6C 40
+10E6D 50
+10E6E 60
+10E6F 70
+10E70 80
+10E71 90
+10E72 100
+10E73 200
+10E74 300
+10E75 400
+10E76 500
+10E77 600
+10E78 700
+10E79 800
+10E7A 900
+10E7B 1/2
+10E7C 1/4
+10E7D 1/3
+10E7E 2/3
+11052 1
+11053 2
+11054 3
+11055 4
+11056 5
+11057 6
+11058 7
+11059 8
+1105A 9
+1105B 10
+1105C 20
+1105D 30
+1105E 40
+1105F 50
+11060 60
+11061 70
+11062 80
+11063 90
+11064 100
+11065 1000
+11066 0
+11067 1
+11068 2
+11069 3
+1106A 4
+1106B 5
+1106C 6
+1106D 7
+1106E 8
+1106F 9
+12400 2
+12401 3
+12402 4
+12403 5
+12404 6
+12405 7
+12406 8
+12407 9
+12408 3
+12409 4
+1240A 5
+1240B 6
+1240C 7
+1240D 8
+1240E 9
+1240F 4
+12410 5
+12411 6
+12412 7
+12413 8
+12414 9
+12415 1
+12416 2
+12417 3
+12418 4
+12419 5
+1241A 6
+1241B 7
+1241C 8
+1241D 9
+1241E 1
+1241F 2
+12420 3
+12421 4
+12422 5
+12423 2
+12424 12425 3
+12426 4
+12427 5
+12428 6
+12429 7
+1242A 8
+1242B 9
+1242C 1
+1242D 2
+1242E 1242F 3
+12430 4
+12431 5
+12434 1
+12435 2
+12436 12437 3
+12438 4
+12439 5
+1243A 1243B 3
+1243C 1243F 4
+12440 6
+12441 12443 7
+12444 12445 8
+12446 12449 9
+1244A 2
+1244B 3
+1244C 4
+1244D 5
+1244E 6
+1244F 1
+12450 2
+12451 3
+12452 12453 4
+12454 12455 5
+12458 1
+12459 2
+1245A 1/3
+1245B 2/3
+1245C 5/6
+1245D 1/3
+1245E 2/3
+1245F 1/8
+12460 1/4
+12461 1/6
+12462 1/4
+1D360 1
+1D361 2
+1D362 3
+1D363 4
+1D364 5
+1D365 6
+1D366 7
+1D367 8
+1D368 9
+1D369 10
+1D36A 20
+1D36B 30
+1D36C 40
+1D36D 50
+1D36E 60
+1D36F 70
+1D370 80
+1D371 90
+1D7CE 0
+1D7CF 1
+1D7D0 2
+1D7D1 3
+1D7D2 4
+1D7D3 5
+1D7D4 6
+1D7D5 7
+1D7D6 8
+1D7D7 9
+1D7D8 0
+1D7D9 1
+1D7DA 2
+1D7DB 3
+1D7DC 4
+1D7DD 5
+1D7DE 6
+1D7DF 7
+1D7E0 8
+1D7E1 9
+1D7E2 0
+1D7E3 1
+1D7E4 2
+1D7E5 3
+1D7E6 4
+1D7E7 5
+1D7E8 6
+1D7E9 7
+1D7EA 8
+1D7EB 9
+1D7EC 0
+1D7ED 1
+1D7EE 2
+1D7EF 3
+1D7F0 4
+1D7F1 5
+1D7F2 6
+1D7F3 7
+1D7F4 8
+1D7F5 9
+1D7F6 0
+1D7F7 1
+1D7F8 2
+1D7F9 3
+1D7FA 4
+1D7FB 5
+1D7FC 6
+1D7FD 7
+1D7FE 8
+1D7FF 9
+1F100 1F101 0
+1F102 1
+1F103 2
+1F104 3
+1F105 4
+1F106 5
+1F107 6
+1F108 7
+1F109 8
+1F10A 9
+20001 7
+20064 4
+200E2 4
+20121 5
+2092A 1
+20983 30
+2098C 40
+2099C 40
+20AEA 6
+20AFD 3
+20B19 3
+22390 2
+22998 3
+23B1B 3
+2626D 4
+2F890 9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/SB.pl b/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
new file mode 100644
index 00000000000..39cc75de81a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
@@ -0,0 +1,1958 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToSB'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToSB'}{'missing'} = 'Other';
+
+return <<'END';
+0009 Sp
+000A LF
+000B 000C Sp
+000D CR
+0020 Sp
+0021 STerm
+0022 Close
+0027 0029 Close
+002C 002D SContinue
+002E ATerm
+0030 0039 Numeric
+003A SContinue
+003F STerm
+0041 005A Upper
+005B Close
+005D Close
+0061 007A Lower
+007B Close
+007D Close
+0085 Sep
+00A0 Sp
+00AA Lower
+00AB Close
+00AD Format
+00B5 Lower
+00BA Lower
+00BB Close
+00C0 00D6 Upper
+00D8 00DE Upper
+00DF 00F6 Lower
+00F8 00FF Lower
+0100 Upper
+0101 Lower
+0102 Upper
+0103 Lower
+0104 Upper
+0105 Lower
+0106 Upper
+0107 Lower
+0108 Upper
+0109 Lower
+010A Upper
+010B Lower
+010C Upper
+010D Lower
+010E Upper
+010F Lower
+0110 Upper
+0111 Lower
+0112 Upper
+0113 Lower
+0114 Upper
+0115 Lower
+0116 Upper
+0117 Lower
+0118 Upper
+0119 Lower
+011A Upper
+011B Lower
+011C Upper
+011D Lower
+011E Upper
+011F Lower
+0120 Upper
+0121 Lower
+0122 Upper
+0123 Lower
+0124 Upper
+0125 Lower
+0126 Upper
+0127 Lower
+0128 Upper
+0129 Lower
+012A Upper
+012B Lower
+012C Upper
+012D Lower
+012E Upper
+012F Lower
+0130 Upper
+0131 Lower
+0132 Upper
+0133 Lower
+0134 Upper
+0135 Lower
+0136 Upper
+0137 0138 Lower
+0139 Upper
+013A Lower
+013B Upper
+013C Lower
+013D Upper
+013E Lower
+013F Upper
+0140 Lower
+0141 Upper
+0142 Lower
+0143 Upper
+0144 Lower
+0145 Upper
+0146 Lower
+0147 Upper
+0148 0149 Lower
+014A Upper
+014B Lower
+014C Upper
+014D Lower
+014E Upper
+014F Lower
+0150 Upper
+0151 Lower
+0152 Upper
+0153 Lower
+0154 Upper
+0155 Lower
+0156 Upper
+0157 Lower
+0158 Upper
+0159 Lower
+015A Upper
+015B Lower
+015C Upper
+015D Lower
+015E Upper
+015F Lower
+0160 Upper
+0161 Lower
+0162 Upper
+0163 Lower
+0164 Upper
+0165 Lower
+0166 Upper
+0167 Lower
+0168 Upper
+0169 Lower
+016A Upper
+016B Lower
+016C Upper
+016D Lower
+016E Upper
+016F Lower
+0170 Upper
+0171 Lower
+0172 Upper
+0173 Lower
+0174 Upper
+0175 Lower
+0176 Upper
+0177 Lower
+0178 0179 Upper
+017A Lower
+017B Upper
+017C Lower
+017D Upper
+017E 0180 Lower
+0181 0182 Upper
+0183 Lower
+0184 Upper
+0185 Lower
+0186 0187 Upper
+0188 Lower
+0189 018B Upper
+018C 018D Lower
+018E 0191 Upper
+0192 Lower
+0193 0194 Upper
+0195 Lower
+0196 0198 Upper
+0199 019B Lower
+019C 019D Upper
+019E Lower
+019F 01A0 Upper
+01A1 Lower
+01A2 Upper
+01A3 Lower
+01A4 Upper
+01A5 Lower
+01A6 01A7 Upper
+01A8 Lower
+01A9 Upper
+01AA 01AB Lower
+01AC Upper
+01AD Lower
+01AE 01AF Upper
+01B0 Lower
+01B1 01B3 Upper
+01B4 Lower
+01B5 Upper
+01B6 Lower
+01B7 01B8 Upper
+01B9 01BA Lower
+01BB OLetter
+01BC Upper
+01BD 01BF Lower
+01C0 01C3 OLetter
+01C4 01C5 Upper
+01C6 Lower
+01C7 01C8 Upper
+01C9 Lower
+01CA 01CB Upper
+01CC Lower
+01CD Upper
+01CE Lower
+01CF Upper
+01D0 Lower
+01D1 Upper
+01D2 Lower
+01D3 Upper
+01D4 Lower
+01D5 Upper
+01D6 Lower
+01D7 Upper
+01D8 Lower
+01D9 Upper
+01DA Lower
+01DB Upper
+01DC 01DD Lower
+01DE Upper
+01DF Lower
+01E0 Upper
+01E1 Lower
+01E2 Upper
+01E3 Lower
+01E4 Upper
+01E5 Lower
+01E6 Upper
+01E7 Lower
+01E8 Upper
+01E9 Lower
+01EA Upper
+01EB Lower
+01EC Upper
+01ED Lower
+01EE Upper
+01EF 01F0 Lower
+01F1 01F2 Upper
+01F3 Lower
+01F4 Upper
+01F5 Lower
+01F6 01F8 Upper
+01F9 Lower
+01FA Upper
+01FB Lower
+01FC Upper
+01FD Lower
+01FE Upper
+01FF Lower
+0200 Upper
+0201 Lower
+0202 Upper
+0203 Lower
+0204 Upper
+0205 Lower
+0206 Upper
+0207 Lower
+0208 Upper
+0209 Lower
+020A Upper
+020B Lower
+020C Upper
+020D Lower
+020E Upper
+020F Lower
+0210 Upper
+0211 Lower
+0212 Upper
+0213 Lower
+0214 Upper
+0215 Lower
+0216 Upper
+0217 Lower
+0218 Upper
+0219 Lower
+021A Upper
+021B Lower
+021C Upper
+021D Lower
+021E Upper
+021F Lower
+0220 Upper
+0221 Lower
+0222 Upper
+0223 Lower
+0224 Upper
+0225 Lower
+0226 Upper
+0227 Lower
+0228 Upper
+0229 Lower
+022A Upper
+022B Lower
+022C Upper
+022D Lower
+022E Upper
+022F Lower
+0230 Upper
+0231 Lower
+0232 Upper
+0233 0239 Lower
+023A 023B Upper
+023C Lower
+023D 023E Upper
+023F 0240 Lower
+0241 Upper
+0242 Lower
+0243 0246 Upper
+0247 Lower
+0248 Upper
+0249 Lower
+024A Upper
+024B Lower
+024C Upper
+024D Lower
+024E Upper
+024F 0293 Lower
+0294 OLetter
+0295 02B8 Lower
+02B9 02BF OLetter
+02C0 02C1 Lower
+02C6 02D1 OLetter
+02E0 02E4 Lower
+02EC OLetter
+02EE OLetter
+0300 036F Extend
+0370 Upper
+0371 Lower
+0372 Upper
+0373 Lower
+0374 OLetter
+0376 Upper
+0377 Lower
+037A 037D Lower
+0386 Upper
+0388 038A Upper
+038C Upper
+038E 038F Upper
+0390 Lower
+0391 03A1 Upper
+03A3 03AB Upper
+03AC 03CE Lower
+03CF Upper
+03D0 03D1 Lower
+03D2 03D4 Upper
+03D5 03D7 Lower
+03D8 Upper
+03D9 Lower
+03DA Upper
+03DB Lower
+03DC Upper
+03DD Lower
+03DE Upper
+03DF Lower
+03E0 Upper
+03E1 Lower
+03E2 Upper
+03E3 Lower
+03E4 Upper
+03E5 Lower
+03E6 Upper
+03E7 Lower
+03E8 Upper
+03E9 Lower
+03EA Upper
+03EB Lower
+03EC Upper
+03ED Lower
+03EE Upper
+03EF 03F3 Lower
+03F4 Upper
+03F5 Lower
+03F7 Upper
+03F8 Lower
+03F9 03FA Upper
+03FB 03FC Lower
+03FD 042F Upper
+0430 045F Lower
+0460 Upper
+0461 Lower
+0462 Upper
+0463 Lower
+0464 Upper
+0465 Lower
+0466 Upper
+0467 Lower
+0468 Upper
+0469 Lower
+046A Upper
+046B Lower
+046C Upper
+046D Lower
+046E Upper
+046F Lower
+0470 Upper
+0471 Lower
+0472 Upper
+0473 Lower
+0474 Upper
+0475 Lower
+0476 Upper
+0477 Lower
+0478 Upper
+0479 Lower
+047A Upper
+047B Lower
+047C Upper
+047D Lower
+047E Upper
+047F Lower
+0480 Upper
+0481 Lower
+0483 0489 Extend
+048A Upper
+048B Lower
+048C Upper
+048D Lower
+048E Upper
+048F Lower
+0490 Upper
+0491 Lower
+0492 Upper
+0493 Lower
+0494 Upper
+0495 Lower
+0496 Upper
+0497 Lower
+0498 Upper
+0499 Lower
+049A Upper
+049B Lower
+049C Upper
+049D Lower
+049E Upper
+049F Lower
+04A0 Upper
+04A1 Lower
+04A2 Upper
+04A3 Lower
+04A4 Upper
+04A5 Lower
+04A6 Upper
+04A7 Lower
+04A8 Upper
+04A9 Lower
+04AA Upper
+04AB Lower
+04AC Upper
+04AD Lower
+04AE Upper
+04AF Lower
+04B0 Upper
+04B1 Lower
+04B2 Upper
+04B3 Lower
+04B4 Upper
+04B5 Lower
+04B6 Upper
+04B7 Lower
+04B8 Upper
+04B9 Lower
+04BA Upper
+04BB Lower
+04BC Upper
+04BD Lower
+04BE Upper
+04BF Lower
+04C0 04C1 Upper
+04C2 Lower
+04C3 Upper
+04C4 Lower
+04C5 Upper
+04C6 Lower
+04C7 Upper
+04C8 Lower
+04C9 Upper
+04CA Lower
+04CB Upper
+04CC Lower
+04CD Upper
+04CE 04CF Lower
+04D0 Upper
+04D1 Lower
+04D2 Upper
+04D3 Lower
+04D4 Upper
+04D5 Lower
+04D6 Upper
+04D7 Lower
+04D8 Upper
+04D9 Lower
+04DA Upper
+04DB Lower
+04DC Upper
+04DD Lower
+04DE Upper
+04DF Lower
+04E0 Upper
+04E1 Lower
+04E2 Upper
+04E3 Lower
+04E4 Upper
+04E5 Lower
+04E6 Upper
+04E7 Lower
+04E8 Upper
+04E9 Lower
+04EA Upper
+04EB Lower
+04EC Upper
+04ED Lower
+04EE Upper
+04EF Lower
+04F0 Upper
+04F1 Lower
+04F2 Upper
+04F3 Lower
+04F4 Upper
+04F5 Lower
+04F6 Upper
+04F7 Lower
+04F8 Upper
+04F9 Lower
+04FA Upper
+04FB Lower
+04FC Upper
+04FD Lower
+04FE Upper
+04FF Lower
+0500 Upper
+0501 Lower
+0502 Upper
+0503 Lower
+0504 Upper
+0505 Lower
+0506 Upper
+0507 Lower
+0508 Upper
+0509 Lower
+050A Upper
+050B Lower
+050C Upper
+050D Lower
+050E Upper
+050F Lower
+0510 Upper
+0511 Lower
+0512 Upper
+0513 Lower
+0514 Upper
+0515 Lower
+0516 Upper
+0517 Lower
+0518 Upper
+0519 Lower
+051A Upper
+051B Lower
+051C Upper
+051D Lower
+051E Upper
+051F Lower
+0520 Upper
+0521 Lower
+0522 Upper
+0523 Lower
+0524 Upper
+0525 Lower
+0526 Upper
+0527 Lower
+0531 0556 Upper
+0559 OLetter
+055C STerm
+055D SContinue
+055E STerm
+0561 0587 Lower
+0589 STerm
+0591 05BD Extend
+05BF Extend
+05C1 05C2 Extend
+05C4 05C5 Extend
+05C7 Extend
+05D0 05EA OLetter
+05F0 05F3 OLetter
+0600 0603 Format
+060C 060D SContinue
+0610 061A Extend
+061F STerm
+0620 064A OLetter
+064B 065F Extend
+0660 0669 Numeric
+066B 066C Numeric
+066E 066F OLetter
+0670 Extend
+0671 06D3 OLetter
+06D4 STerm
+06D5 OLetter
+06D6 06DC Extend
+06DD Format
+06DF 06E4 Extend
+06E5 06E6 OLetter
+06E7 06E8 Extend
+06EA 06ED Extend
+06EE 06EF OLetter
+06F0 06F9 Numeric
+06FA 06FC OLetter
+06FF OLetter
+0700 0702 STerm
+070F Format
+0710 OLetter
+0711 Extend
+0712 072F OLetter
+0730 074A Extend
+074D 07A5 OLetter
+07A6 07B0 Extend
+07B1 OLetter
+07C0 07C9 Numeric
+07CA 07EA OLetter
+07EB 07F3 Extend
+07F4 07F5 OLetter
+07F8 SContinue
+07F9 STerm
+07FA OLetter
+0800 0815 OLetter
+0816 0819 Extend
+081A OLetter
+081B 0823 Extend
+0824 OLetter
+0825 0827 Extend
+0828 OLetter
+0829 082D Extend
+0840 0858 OLetter
+0859 085B Extend
+0900 0903 Extend
+0904 0939 OLetter
+093A 093C Extend
+093D OLetter
+093E 094F Extend
+0950 OLetter
+0951 0957 Extend
+0958 0961 OLetter
+0962 0963 Extend
+0964 0965 STerm
+0966 096F Numeric
+0971 0977 OLetter
+0979 097F OLetter
+0981 0983 Extend
+0985 098C OLetter
+098F 0990 OLetter
+0993 09A8 OLetter
+09AA 09B0 OLetter
+09B2 OLetter
+09B6 09B9 OLetter
+09BC Extend
+09BD OLetter
+09BE 09C4 Extend
+09C7 09C8 Extend
+09CB 09CD Extend
+09CE OLetter
+09D7 Extend
+09DC 09DD OLetter
+09DF 09E1 OLetter
+09E2 09E3 Extend
+09E6 09EF Numeric
+09F0 09F1 OLetter
+0A01 0A03 Extend
+0A05 0A0A OLetter
+0A0F 0A10 OLetter
+0A13 0A28 OLetter
+0A2A 0A30 OLetter
+0A32 0A33 OLetter
+0A35 0A36 OLetter
+0A38 0A39 OLetter
+0A3C Extend
+0A3E 0A42 Extend
+0A47 0A48 Extend
+0A4B 0A4D Extend
+0A51 Extend
+0A59 0A5C OLetter
+0A5E OLetter
+0A66 0A6F Numeric
+0A70 0A71 Extend
+0A72 0A74 OLetter
+0A75 Extend
+0A81 0A83 Extend
+0A85 0A8D OLetter
+0A8F 0A91 OLetter
+0A93 0AA8 OLetter
+0AAA 0AB0 OLetter
+0AB2 0AB3 OLetter
+0AB5 0AB9 OLetter
+0ABC Extend
+0ABD OLetter
+0ABE 0AC5 Extend
+0AC7 0AC9 Extend
+0ACB 0ACD Extend
+0AD0 OLetter
+0AE0 0AE1 OLetter
+0AE2 0AE3 Extend
+0AE6 0AEF Numeric
+0B01 0B03 Extend
+0B05 0B0C OLetter
+0B0F 0B10 OLetter
+0B13 0B28 OLetter
+0B2A 0B30 OLetter
+0B32 0B33 OLetter
+0B35 0B39 OLetter
+0B3C Extend
+0B3D OLetter
+0B3E 0B44 Extend
+0B47 0B48 Extend
+0B4B 0B4D Extend
+0B56 0B57 Extend
+0B5C 0B5D OLetter
+0B5F 0B61 OLetter
+0B62 0B63 Extend
+0B66 0B6F Numeric
+0B71 OLetter
+0B82 Extend
+0B83 OLetter
+0B85 0B8A OLetter
+0B8E 0B90 OLetter
+0B92 0B95 OLetter
+0B99 0B9A OLetter
+0B9C OLetter
+0B9E 0B9F OLetter
+0BA3 0BA4 OLetter
+0BA8 0BAA OLetter
+0BAE 0BB9 OLetter
+0BBE 0BC2 Extend
+0BC6 0BC8 Extend
+0BCA 0BCD Extend
+0BD0 OLetter
+0BD7 Extend
+0BE6 0BEF Numeric
+0C01 0C03 Extend
+0C05 0C0C OLetter
+0C0E 0C10 OLetter
+0C12 0C28 OLetter
+0C2A 0C33 OLetter
+0C35 0C39 OLetter
+0C3D OLetter
+0C3E 0C44 Extend
+0C46 0C48 Extend
+0C4A 0C4D Extend
+0C55 0C56 Extend
+0C58 0C59 OLetter
+0C60 0C61 OLetter
+0C62 0C63 Extend
+0C66 0C6F Numeric
+0C82 0C83 Extend
+0C85 0C8C OLetter
+0C8E 0C90 OLetter
+0C92 0CA8 OLetter
+0CAA 0CB3 OLetter
+0CB5 0CB9 OLetter
+0CBC Extend
+0CBD OLetter
+0CBE 0CC4 Extend
+0CC6 0CC8 Extend
+0CCA 0CCD Extend
+0CD5 0CD6 Extend
+0CDE OLetter
+0CE0 0CE1 OLetter
+0CE2 0CE3 Extend
+0CE6 0CEF Numeric
+0CF1 0CF2 OLetter
+0D02 0D03 Extend
+0D05 0D0C OLetter
+0D0E 0D10 OLetter
+0D12 0D3A OLetter
+0D3D OLetter
+0D3E 0D44 Extend
+0D46 0D48 Extend
+0D4A 0D4D Extend
+0D4E OLetter
+0D57 Extend
+0D60 0D61 OLetter
+0D62 0D63 Extend
+0D66 0D6F Numeric
+0D7A 0D7F OLetter
+0D82 0D83 Extend
+0D85 0D96 OLetter
+0D9A 0DB1 OLetter
+0DB3 0DBB OLetter
+0DBD OLetter
+0DC0 0DC6 OLetter
+0DCA Extend
+0DCF 0DD4 Extend
+0DD6 Extend
+0DD8 0DDF Extend
+0DF2 0DF3 Extend
+0E01 0E30 OLetter
+0E31 Extend
+0E32 0E33 OLetter
+0E34 0E3A Extend
+0E40 0E46 OLetter
+0E47 0E4E Extend
+0E50 0E59 Numeric
+0E81 0E82 OLetter
+0E84 OLetter
+0E87 0E88 OLetter
+0E8A OLetter
+0E8D OLetter
+0E94 0E97 OLetter
+0E99 0E9F OLetter
+0EA1 0EA3 OLetter
+0EA5 OLetter
+0EA7 OLetter
+0EAA 0EAB OLetter
+0EAD 0EB0 OLetter
+0EB1 Extend
+0EB2 0EB3 OLetter
+0EB4 0EB9 Extend
+0EBB 0EBC Extend
+0EBD OLetter
+0EC0 0EC4 OLetter
+0EC6 OLetter
+0EC8 0ECD Extend
+0ED0 0ED9 Numeric
+0EDC 0EDD OLetter
+0F00 OLetter
+0F18 0F19 Extend
+0F20 0F29 Numeric
+0F35 Extend
+0F37 Extend
+0F39 Extend
+0F3A 0F3D Close
+0F3E 0F3F Extend
+0F40 0F47 OLetter
+0F49 0F6C OLetter
+0F71 0F84 Extend
+0F86 0F87 Extend
+0F88 0F8C OLetter
+0F8D 0F97 Extend
+0F99 0FBC Extend
+0FC6 Extend
+1000 102A OLetter
+102B 103E Extend
+103F OLetter
+1040 1049 Numeric
+104A 104B STerm
+1050 1055 OLetter
+1056 1059 Extend
+105A 105D OLetter
+105E 1060 Extend
+1061 OLetter
+1062 1064 Extend
+1065 1066 OLetter
+1067 106D Extend
+106E 1070 OLetter
+1071 1074 Extend
+1075 1081 OLetter
+1082 108D Extend
+108E OLetter
+108F Extend
+1090 1099 Numeric
+109A 109D Extend
+10A0 10C5 Upper
+10D0 10FA OLetter
+10FC OLetter
+1100 1248 OLetter
+124A 124D OLetter
+1250 1256 OLetter
+1258 OLetter
+125A 125D OLetter
+1260 1288 OLetter
+128A 128D OLetter
+1290 12B0 OLetter
+12B2 12B5 OLetter
+12B8 12BE OLetter
+12C0 OLetter
+12C2 12C5 OLetter
+12C8 12D6 OLetter
+12D8 1310 OLetter
+1312 1315 OLetter
+1318 135A OLetter
+135D 135F Extend
+1362 STerm
+1367 1368 STerm
+1380 138F OLetter
+13A0 13F4 OLetter
+1401 166C OLetter
+166E STerm
+166F 167F OLetter
+1680 Sp
+1681 169A OLetter
+169B 169C Close
+16A0 16EA OLetter
+16EE 16F0 OLetter
+1700 170C OLetter
+170E 1711 OLetter
+1712 1714 Extend
+1720 1731 OLetter
+1732 1734 Extend
+1735 1736 STerm
+1740 1751 OLetter
+1752 1753 Extend
+1760 176C OLetter
+176E 1770 OLetter
+1772 1773 Extend
+1780 17B3 OLetter
+17B4 17B5 Format
+17B6 17D3 Extend
+17D7 OLetter
+17DC OLetter
+17DD Extend
+17E0 17E9 Numeric
+1802 SContinue
+1803 STerm
+1808 SContinue
+1809 STerm
+180B 180D Extend
+180E Sp
+1810 1819 Numeric
+1820 1877 OLetter
+1880 18A8 OLetter
+18A9 Extend
+18AA OLetter
+18B0 18F5 OLetter
+1900 191C OLetter
+1920 192B Extend
+1930 193B Extend
+1944 1945 STerm
+1946 194F Numeric
+1950 196D OLetter
+1970 1974 OLetter
+1980 19AB OLetter
+19B0 19C0 Extend
+19C1 19C7 OLetter
+19C8 19C9 Extend
+19D0 19D9 Numeric
+1A00 1A16 OLetter
+1A17 1A1B Extend
+1A20 1A54 OLetter
+1A55 1A5E Extend
+1A60 1A7C Extend
+1A7F Extend
+1A80 1A89 Numeric
+1A90 1A99 Numeric
+1AA7 OLetter
+1AA8 1AAB STerm
+1B00 1B04 Extend
+1B05 1B33 OLetter
+1B34 1B44 Extend
+1B45 1B4B OLetter
+1B50 1B59 Numeric
+1B5A 1B5B STerm
+1B5E 1B5F STerm
+1B6B 1B73 Extend
+1B80 1B82 Extend
+1B83 1BA0 OLetter
+1BA1 1BAA Extend
+1BAE 1BAF OLetter
+1BB0 1BB9 Numeric
+1BC0 1BE5 OLetter
+1BE6 1BF3 Extend
+1C00 1C23 OLetter
+1C24 1C37 Extend
+1C3B 1C3C STerm
+1C40 1C49 Numeric
+1C4D 1C4F OLetter
+1C50 1C59 Numeric
+1C5A 1C7D OLetter
+1C7E 1C7F STerm
+1CD0 1CD2 Extend
+1CD4 1CE8 Extend
+1CE9 1CEC OLetter
+1CED Extend
+1CEE 1CF1 OLetter
+1CF2 Extend
+1D00 1DBF Lower
+1DC0 1DE6 Extend
+1DFC 1DFF Extend
+1E00 Upper
+1E01 Lower
+1E02 Upper
+1E03 Lower
+1E04 Upper
+1E05 Lower
+1E06 Upper
+1E07 Lower
+1E08 Upper
+1E09 Lower
+1E0A Upper
+1E0B Lower
+1E0C Upper
+1E0D Lower
+1E0E Upper
+1E0F Lower
+1E10 Upper
+1E11 Lower
+1E12 Upper
+1E13 Lower
+1E14 Upper
+1E15 Lower
+1E16 Upper
+1E17 Lower
+1E18 Upper
+1E19 Lower
+1E1A Upper
+1E1B Lower
+1E1C Upper
+1E1D Lower
+1E1E Upper
+1E1F Lower
+1E20 Upper
+1E21 Lower
+1E22 Upper
+1E23 Lower
+1E24 Upper
+1E25 Lower
+1E26 Upper
+1E27 Lower
+1E28 Upper
+1E29 Lower
+1E2A Upper
+1E2B Lower
+1E2C Upper
+1E2D Lower
+1E2E Upper
+1E2F Lower
+1E30 Upper
+1E31 Lower
+1E32 Upper
+1E33 Lower
+1E34 Upper
+1E35 Lower
+1E36 Upper
+1E37 Lower
+1E38 Upper
+1E39 Lower
+1E3A Upper
+1E3B Lower
+1E3C Upper
+1E3D Lower
+1E3E Upper
+1E3F Lower
+1E40 Upper
+1E41 Lower
+1E42 Upper
+1E43 Lower
+1E44 Upper
+1E45 Lower
+1E46 Upper
+1E47 Lower
+1E48 Upper
+1E49 Lower
+1E4A Upper
+1E4B Lower
+1E4C Upper
+1E4D Lower
+1E4E Upper
+1E4F Lower
+1E50 Upper
+1E51 Lower
+1E52 Upper
+1E53 Lower
+1E54 Upper
+1E55 Lower
+1E56 Upper
+1E57 Lower
+1E58 Upper
+1E59 Lower
+1E5A Upper
+1E5B Lower
+1E5C Upper
+1E5D Lower
+1E5E Upper
+1E5F Lower
+1E60 Upper
+1E61 Lower
+1E62 Upper
+1E63 Lower
+1E64 Upper
+1E65 Lower
+1E66 Upper
+1E67 Lower
+1E68 Upper
+1E69 Lower
+1E6A Upper
+1E6B Lower
+1E6C Upper
+1E6D Lower
+1E6E Upper
+1E6F Lower
+1E70 Upper
+1E71 Lower
+1E72 Upper
+1E73 Lower
+1E74 Upper
+1E75 Lower
+1E76 Upper
+1E77 Lower
+1E78 Upper
+1E79 Lower
+1E7A Upper
+1E7B Lower
+1E7C Upper
+1E7D Lower
+1E7E Upper
+1E7F Lower
+1E80 Upper
+1E81 Lower
+1E82 Upper
+1E83 Lower
+1E84 Upper
+1E85 Lower
+1E86 Upper
+1E87 Lower
+1E88 Upper
+1E89 Lower
+1E8A Upper
+1E8B Lower
+1E8C Upper
+1E8D Lower
+1E8E Upper
+1E8F Lower
+1E90 Upper
+1E91 Lower
+1E92 Upper
+1E93 Lower
+1E94 Upper
+1E95 1E9D Lower
+1E9E Upper
+1E9F Lower
+1EA0 Upper
+1EA1 Lower
+1EA2 Upper
+1EA3 Lower
+1EA4 Upper
+1EA5 Lower
+1EA6 Upper
+1EA7 Lower
+1EA8 Upper
+1EA9 Lower
+1EAA Upper
+1EAB Lower
+1EAC Upper
+1EAD Lower
+1EAE Upper
+1EAF Lower
+1EB0 Upper
+1EB1 Lower
+1EB2 Upper
+1EB3 Lower
+1EB4 Upper
+1EB5 Lower
+1EB6 Upper
+1EB7 Lower
+1EB8 Upper
+1EB9 Lower
+1EBA Upper
+1EBB Lower
+1EBC Upper
+1EBD Lower
+1EBE Upper
+1EBF Lower
+1EC0 Upper
+1EC1 Lower
+1EC2 Upper
+1EC3 Lower
+1EC4 Upper
+1EC5 Lower
+1EC6 Upper
+1EC7 Lower
+1EC8 Upper
+1EC9 Lower
+1ECA Upper
+1ECB Lower
+1ECC Upper
+1ECD Lower
+1ECE Upper
+1ECF Lower
+1ED0 Upper
+1ED1 Lower
+1ED2 Upper
+1ED3 Lower
+1ED4 Upper
+1ED5 Lower
+1ED6 Upper
+1ED7 Lower
+1ED8 Upper
+1ED9 Lower
+1EDA Upper
+1EDB Lower
+1EDC Upper
+1EDD Lower
+1EDE Upper
+1EDF Lower
+1EE0 Upper
+1EE1 Lower
+1EE2 Upper
+1EE3 Lower
+1EE4 Upper
+1EE5 Lower
+1EE6 Upper
+1EE7 Lower
+1EE8 Upper
+1EE9 Lower
+1EEA Upper
+1EEB Lower
+1EEC Upper
+1EED Lower
+1EEE Upper
+1EEF Lower
+1EF0 Upper
+1EF1 Lower
+1EF2 Upper
+1EF3 Lower
+1EF4 Upper
+1EF5 Lower
+1EF6 Upper
+1EF7 Lower
+1EF8 Upper
+1EF9 Lower
+1EFA Upper
+1EFB Lower
+1EFC Upper
+1EFD Lower
+1EFE Upper
+1EFF 1F07 Lower
+1F08 1F0F Upper
+1F10 1F15 Lower
+1F18 1F1D Upper
+1F20 1F27 Lower
+1F28 1F2F Upper
+1F30 1F37 Lower
+1F38 1F3F Upper
+1F40 1F45 Lower
+1F48 1F4D Upper
+1F50 1F57 Lower
+1F59 Upper
+1F5B Upper
+1F5D Upper
+1F5F Upper
+1F60 1F67 Lower
+1F68 1F6F Upper
+1F70 1F7D Lower
+1F80 1F87 Lower
+1F88 1F8F Upper
+1F90 1F97 Lower
+1F98 1F9F Upper
+1FA0 1FA7 Lower
+1FA8 1FAF Upper
+1FB0 1FB4 Lower
+1FB6 1FB7 Lower
+1FB8 1FBC Upper
+1FBE Lower
+1FC2 1FC4 Lower
+1FC6 1FC7 Lower
+1FC8 1FCC Upper
+1FD0 1FD3 Lower
+1FD6 1FD7 Lower
+1FD8 1FDB Upper
+1FE0 1FE7 Lower
+1FE8 1FEC Upper
+1FF2 1FF4 Lower
+1FF6 1FF7 Lower
+1FF8 1FFC Upper
+2000 200A Sp
+200B Format
+200C 200D Extend
+200E 200F Format
+2013 2014 SContinue
+2018 201F Close
+2024 ATerm
+2028 2029 Sep
+202A 202E Format
+202F Sp
+2039 203A Close
+203C 203D STerm
+2045 2046 Close
+2047 2049 STerm
+205F Sp
+2060 2064 Format
+206A 206F Format
+2071 OLetter
+207D 207E Close
+207F OLetter
+208D 208E Close
+2090 2094 Lower
+2095 209C OLetter
+20D0 20F0 Extend
+2102 Upper
+2107 Upper
+210A Lower
+210B 210D Upper
+210E 210F Lower
+2110 2112 Upper
+2113 Lower
+2115 Upper
+2119 211D Upper
+2124 Upper
+2126 Upper
+2128 Upper
+212A 212D Upper
+212F Lower
+2130 2133 Upper
+2134 Lower
+2135 2138 OLetter
+2139 Lower
+213C 213D Lower
+213E 213F Upper
+2145 Upper
+2146 2149 Lower
+214E Lower
+2160 216F Upper
+2170 217F Lower
+2180 2182 OLetter
+2183 Upper
+2184 Lower
+2185 2188 OLetter
+2329 232A Close
+24B6 24CF Upper
+24D0 24E9 Lower
+275B 275E Close
+2768 2775 Close
+27C5 27C6 Close
+27E6 27EF Close
+2983 2998 Close
+29D8 29DB Close
+29FC 29FD Close
+2C00 2C2E Upper
+2C30 2C5E Lower
+2C60 Upper
+2C61 Lower
+2C62 2C64 Upper
+2C65 2C66 Lower
+2C67 Upper
+2C68 Lower
+2C69 Upper
+2C6A Lower
+2C6B Upper
+2C6C Lower
+2C6D 2C70 Upper
+2C71 Lower
+2C72 Upper
+2C73 2C74 Lower
+2C75 Upper
+2C76 2C7D Lower
+2C7E 2C80 Upper
+2C81 Lower
+2C82 Upper
+2C83 Lower
+2C84 Upper
+2C85 Lower
+2C86 Upper
+2C87 Lower
+2C88 Upper
+2C89 Lower
+2C8A Upper
+2C8B Lower
+2C8C Upper
+2C8D Lower
+2C8E Upper
+2C8F Lower
+2C90 Upper
+2C91 Lower
+2C92 Upper
+2C93 Lower
+2C94 Upper
+2C95 Lower
+2C96 Upper
+2C97 Lower
+2C98 Upper
+2C99 Lower
+2C9A Upper
+2C9B Lower
+2C9C Upper
+2C9D Lower
+2C9E Upper
+2C9F Lower
+2CA0 Upper
+2CA1 Lower
+2CA2 Upper
+2CA3 Lower
+2CA4 Upper
+2CA5 Lower
+2CA6 Upper
+2CA7 Lower
+2CA8 Upper
+2CA9 Lower
+2CAA Upper
+2CAB Lower
+2CAC Upper
+2CAD Lower
+2CAE Upper
+2CAF Lower
+2CB0 Upper
+2CB1 Lower
+2CB2 Upper
+2CB3 Lower
+2CB4 Upper
+2CB5 Lower
+2CB6 Upper
+2CB7 Lower
+2CB8 Upper
+2CB9 Lower
+2CBA Upper
+2CBB Lower
+2CBC Upper
+2CBD Lower
+2CBE Upper
+2CBF Lower
+2CC0 Upper
+2CC1 Lower
+2CC2 Upper
+2CC3 Lower
+2CC4 Upper
+2CC5 Lower
+2CC6 Upper
+2CC7 Lower
+2CC8 Upper
+2CC9 Lower
+2CCA Upper
+2CCB Lower
+2CCC Upper
+2CCD Lower
+2CCE Upper
+2CCF Lower
+2CD0 Upper
+2CD1 Lower
+2CD2 Upper
+2CD3 Lower
+2CD4 Upper
+2CD5 Lower
+2CD6 Upper
+2CD7 Lower
+2CD8 Upper
+2CD9 Lower
+2CDA Upper
+2CDB Lower
+2CDC Upper
+2CDD Lower
+2CDE Upper
+2CDF Lower
+2CE0 Upper
+2CE1 Lower
+2CE2 Upper
+2CE3 2CE4 Lower
+2CEB Upper
+2CEC Lower
+2CED Upper
+2CEE Lower
+2CEF 2CF1 Extend
+2D00 2D25 Lower
+2D30 2D65 OLetter
+2D6F OLetter
+2D7F Extend
+2D80 2D96 OLetter
+2DA0 2DA6 OLetter
+2DA8 2DAE OLetter
+2DB0 2DB6 OLetter
+2DB8 2DBE OLetter
+2DC0 2DC6 OLetter
+2DC8 2DCE OLetter
+2DD0 2DD6 OLetter
+2DD8 2DDE OLetter
+2DE0 2DFF Extend
+2E00 2E0D Close
+2E1C 2E1D Close
+2E20 2E29 Close
+2E2E STerm
+2E2F OLetter
+3000 Sp
+3001 SContinue
+3002 STerm
+3005 3007 OLetter
+3008 3011 Close
+3014 301B Close
+301D 301F Close
+3021 3029 OLetter
+302A 302F Extend
+3031 3035 OLetter
+3038 303C OLetter
+3041 3096 OLetter
+3099 309A Extend
+309D 309F OLetter
+30A1 30FA OLetter
+30FC 30FF OLetter
+3105 312D OLetter
+3131 318E OLetter
+31A0 31BA OLetter
+31F0 31FF OLetter
+3400 4DB5 OLetter
+4E00 9FCB OLetter
+A000 A48C OLetter
+A4D0 A4FD OLetter
+A4FF STerm
+A500 A60C OLetter
+A60E A60F STerm
+A610 A61F OLetter
+A620 A629 Numeric
+A62A A62B OLetter
+A640 Upper
+A641 Lower
+A642 Upper
+A643 Lower
+A644 Upper
+A645 Lower
+A646 Upper
+A647 Lower
+A648 Upper
+A649 Lower
+A64A Upper
+A64B Lower
+A64C Upper
+A64D Lower
+A64E Upper
+A64F Lower
+A650 Upper
+A651 Lower
+A652 Upper
+A653 Lower
+A654 Upper
+A655 Lower
+A656 Upper
+A657 Lower
+A658 Upper
+A659 Lower
+A65A Upper
+A65B Lower
+A65C Upper
+A65D Lower
+A65E Upper
+A65F Lower
+A660 Upper
+A661 Lower
+A662 Upper
+A663 Lower
+A664 Upper
+A665 Lower
+A666 Upper
+A667 Lower
+A668 Upper
+A669 Lower
+A66A Upper
+A66B Lower
+A66C Upper
+A66D Lower
+A66E OLetter
+A66F A672 Extend
+A67C A67D Extend
+A67F OLetter
+A680 Upper
+A681 Lower
+A682 Upper
+A683 Lower
+A684 Upper
+A685 Lower
+A686 Upper
+A687 Lower
+A688 Upper
+A689 Lower
+A68A Upper
+A68B Lower
+A68C Upper
+A68D Lower
+A68E Upper
+A68F Lower
+A690 Upper
+A691 Lower
+A692 Upper
+A693 Lower
+A694 Upper
+A695 Lower
+A696 Upper
+A697 Lower
+A6A0 A6EF OLetter
+A6F0 A6F1 Extend
+A6F3 STerm
+A6F7 STerm
+A717 A71F OLetter
+A722 Upper
+A723 Lower
+A724 Upper
+A725 Lower
+A726 Upper
+A727 Lower
+A728 Upper
+A729 Lower
+A72A Upper
+A72B Lower
+A72C Upper
+A72D Lower
+A72E Upper
+A72F A731 Lower
+A732 Upper
+A733 Lower
+A734 Upper
+A735 Lower
+A736 Upper
+A737 Lower
+A738 Upper
+A739 Lower
+A73A Upper
+A73B Lower
+A73C Upper
+A73D Lower
+A73E Upper
+A73F Lower
+A740 Upper
+A741 Lower
+A742 Upper
+A743 Lower
+A744 Upper
+A745 Lower
+A746 Upper
+A747 Lower
+A748 Upper
+A749 Lower
+A74A Upper
+A74B Lower
+A74C Upper
+A74D Lower
+A74E Upper
+A74F Lower
+A750 Upper
+A751 Lower
+A752 Upper
+A753 Lower
+A754 Upper
+A755 Lower
+A756 Upper
+A757 Lower
+A758 Upper
+A759 Lower
+A75A Upper
+A75B Lower
+A75C Upper
+A75D Lower
+A75E Upper
+A75F Lower
+A760 Upper
+A761 Lower
+A762 Upper
+A763 Lower
+A764 Upper
+A765 Lower
+A766 Upper
+A767 Lower
+A768 Upper
+A769 Lower
+A76A Upper
+A76B Lower
+A76C Upper
+A76D Lower
+A76E Upper
+A76F A778 Lower
+A779 Upper
+A77A Lower
+A77B Upper
+A77C Lower
+A77D A77E Upper
+A77F Lower
+A780 Upper
+A781 Lower
+A782 Upper
+A783 Lower
+A784 Upper
+A785 Lower
+A786 Upper
+A787 Lower
+A788 OLetter
+A78B Upper
+A78C Lower
+A78D Upper
+A78E Lower
+A790 Upper
+A791 Lower
+A7A0 Upper
+A7A1 Lower
+A7A2 Upper
+A7A3 Lower
+A7A4 Upper
+A7A5 Lower
+A7A6 Upper
+A7A7 Lower
+A7A8 Upper
+A7A9 Lower
+A7FA Lower
+A7FB A801 OLetter
+A802 Extend
+A803 A805 OLetter
+A806 Extend
+A807 A80A OLetter
+A80B Extend
+A80C A822 OLetter
+A823 A827 Extend
+A840 A873 OLetter
+A876 A877 STerm
+A880 A881 Extend
+A882 A8B3 OLetter
+A8B4 A8C4 Extend
+A8CE A8CF STerm
+A8D0 A8D9 Numeric
+A8E0 A8F1 Extend
+A8F2 A8F7 OLetter
+A8FB OLetter
+A900 A909 Numeric
+A90A A925 OLetter
+A926 A92D Extend
+A92F STerm
+A930 A946 OLetter
+A947 A953 Extend
+A960 A97C OLetter
+A980 A983 Extend
+A984 A9B2 OLetter
+A9B3 A9C0 Extend
+A9C8 A9C9 STerm
+A9CF OLetter
+A9D0 A9D9 Numeric
+AA00 AA28 OLetter
+AA29 AA36 Extend
+AA40 AA42 OLetter
+AA43 Extend
+AA44 AA4B OLetter
+AA4C AA4D Extend
+AA50 AA59 Numeric
+AA5D AA5F STerm
+AA60 AA76 OLetter
+AA7A OLetter
+AA7B Extend
+AA80 AAAF OLetter
+AAB0 Extend
+AAB1 OLetter
+AAB2 AAB4 Extend
+AAB5 AAB6 OLetter
+AAB7 AAB8 Extend
+AAB9 AABD OLetter
+AABE AABF Extend
+AAC0 OLetter
+AAC1 Extend
+AAC2 OLetter
+AADB AADD OLetter
+AB01 AB06 OLetter
+AB09 AB0E OLetter
+AB11 AB16 OLetter
+AB20 AB26 OLetter
+AB28 AB2E OLetter
+ABC0 ABE2 OLetter
+ABE3 ABEA Extend
+ABEB STerm
+ABEC ABED Extend
+ABF0 ABF9 Numeric
+AC00 D7A3 OLetter
+D7B0 D7C6 OLetter
+D7CB D7FB OLetter
+F900 FA2D OLetter
+FA30 FA6D OLetter
+FA70 FAD9 OLetter
+FB00 FB06 Lower
+FB13 FB17 Lower
+FB1D OLetter
+FB1E Extend
+FB1F FB28 OLetter
+FB2A FB36 OLetter
+FB38 FB3C OLetter
+FB3E OLetter
+FB40 FB41 OLetter
+FB43 FB44 OLetter
+FB46 FBB1 OLetter
+FBD3 FD3D OLetter
+FD3E FD3F Close
+FD50 FD8F OLetter
+FD92 FDC7 OLetter
+FDF0 FDFB OLetter
+FE00 FE0F Extend
+FE10 FE11 SContinue
+FE13 SContinue
+FE17 FE18 Close
+FE20 FE26 Extend
+FE31 FE32 SContinue
+FE35 FE44 Close
+FE47 FE48 Close
+FE50 FE51 SContinue
+FE52 ATerm
+FE55 SContinue
+FE56 FE57 STerm
+FE58 SContinue
+FE59 FE5E Close
+FE63 SContinue
+FE70 FE74 OLetter
+FE76 FEFC OLetter
+FEFF Format
+FF01 STerm
+FF08 FF09 Close
+FF0C FF0D SContinue
+FF0E ATerm
+FF1A SContinue
+FF1F STerm
+FF21 FF3A Upper
+FF3B Close
+FF3D Close
+FF41 FF5A Lower
+FF5B Close
+FF5D Close
+FF5F FF60 Close
+FF61 STerm
+FF62 FF63 Close
+FF64 SContinue
+FF66 FF9D OLetter
+FF9E FF9F Extend
+FFA0 FFBE OLetter
+FFC2 FFC7 OLetter
+FFCA FFCF OLetter
+FFD2 FFD7 OLetter
+FFDA FFDC OLetter
+FFF9 FFFB Format
+10000 1000B OLetter
+1000D 10026 OLetter
+10028 1003A OLetter
+1003C 1003D OLetter
+1003F 1004D OLetter
+10050 1005D OLetter
+10080 100FA OLetter
+10140 10174 OLetter
+101FD Extend
+10280 1029C OLetter
+102A0 102D0 OLetter
+10300 1031E OLetter
+10330 1034A OLetter
+10380 1039D OLetter
+103A0 103C3 OLetter
+103C8 103CF OLetter
+103D1 103D5 OLetter
+10400 10427 Upper
+10428 1044F Lower
+10450 1049D OLetter
+104A0 104A9 Numeric
+10800 10805 OLetter
+10808 OLetter
+1080A 10835 OLetter
+10837 10838 OLetter
+1083C OLetter
+1083F 10855 OLetter
+10900 10915 OLetter
+10920 10939 OLetter
+10A00 OLetter
+10A01 10A03 Extend
+10A05 10A06 Extend
+10A0C 10A0F Extend
+10A10 10A13 OLetter
+10A15 10A17 OLetter
+10A19 10A33 OLetter
+10A38 10A3A Extend
+10A3F Extend
+10A56 10A57 STerm
+10A60 10A7C OLetter
+10B00 10B35 OLetter
+10B40 10B55 OLetter
+10B60 10B72 OLetter
+10C00 10C48 OLetter
+11000 11002 Extend
+11003 11037 OLetter
+11038 11046 Extend
+11047 11048 STerm
+11066 1106F Numeric
+11080 11082 Extend
+11083 110AF OLetter
+110B0 110BA Extend
+110BD Format
+110BE 110C1 STerm
+12000 1236E OLetter
+12400 12462 OLetter
+13000 1342E OLetter
+16800 16A38 OLetter
+1B000 1B001 OLetter
+1D165 1D169 Extend
+1D16D 1D172 Extend
+1D173 1D17A Format
+1D17B 1D182 Extend
+1D185 1D18B Extend
+1D1AA 1D1AD Extend
+1D242 1D244 Extend
+1D400 1D419 Upper
+1D41A 1D433 Lower
+1D434 1D44D Upper
+1D44E 1D454 Lower
+1D456 1D467 Lower
+1D468 1D481 Upper
+1D482 1D49B Lower
+1D49C Upper
+1D49E 1D49F Upper
+1D4A2 Upper
+1D4A5 1D4A6 Upper
+1D4A9 1D4AC Upper
+1D4AE 1D4B5 Upper
+1D4B6 1D4B9 Lower
+1D4BB Lower
+1D4BD 1D4C3 Lower
+1D4C5 1D4CF Lower
+1D4D0 1D4E9 Upper
+1D4EA 1D503 Lower
+1D504 1D505 Upper
+1D507 1D50A Upper
+1D50D 1D514 Upper
+1D516 1D51C Upper
+1D51E 1D537 Lower
+1D538 1D539 Upper
+1D53B 1D53E Upper
+1D540 1D544 Upper
+1D546 Upper
+1D54A 1D550 Upper
+1D552 1D56B Lower
+1D56C 1D585 Upper
+1D586 1D59F Lower
+1D5A0 1D5B9 Upper
+1D5BA 1D5D3 Lower
+1D5D4 1D5ED Upper
+1D5EE 1D607 Lower
+1D608 1D621 Upper
+1D622 1D63B Lower
+1D63C 1D655 Upper
+1D656 1D66F Lower
+1D670 1D689 Upper
+1D68A 1D6A5 Lower
+1D6A8 1D6C0 Upper
+1D6C2 1D6DA Lower
+1D6DC 1D6E1 Lower
+1D6E2 1D6FA Upper
+1D6FC 1D714 Lower
+1D716 1D71B Lower
+1D71C 1D734 Upper
+1D736 1D74E Lower
+1D750 1D755 Lower
+1D756 1D76E Upper
+1D770 1D788 Lower
+1D78A 1D78F Lower
+1D790 1D7A8 Upper
+1D7AA 1D7C2 Lower
+1D7C4 1D7C9 Lower
+1D7CA Upper
+1D7CB Lower
+1D7CE 1D7FF Numeric
+20000 2A6D6 OLetter
+2A700 2B734 OLetter
+2B740 2B81D OLetter
+2F800 2FA1D OLetter
+E0001 Format
+E0020 E007F Format
+E0100 E01EF Extend
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
new file mode 100644
index 00000000000..c81c1594c01
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
@@ -0,0 +1,702 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToSc'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToSc'}{'missing'} = 'Unknown';
+
+return <<'END';
+0000 0040 Common
+0041 005A Latin
+005B 0060 Common
+0061 007A Latin
+007B 00A9 Common
+00AA Latin
+00AB 00B9 Common
+00BA Latin
+00BB 00BF Common
+00C0 00D6 Latin
+00D7 Common
+00D8 00F6 Latin
+00F7 Common
+00F8 02B8 Latin
+02B9 02DF Common
+02E0 02E4 Latin
+02E5 02E9 Common
+02EA 02EB Bopomofo
+02EC 02FF Common
+0300 036F Inherited
+0370 0373 Greek
+0374 Common
+0375 0377 Greek
+037A 037D Greek
+037E Common
+0384 Greek
+0385 Common
+0386 Greek
+0387 Common
+0388 038A Greek
+038C Greek
+038E 03A1 Greek
+03A3 03E1 Greek
+03E2 03EF Coptic
+03F0 03FF Greek
+0400 0484 Cyrillic
+0485 0486 Inherited
+0487 0527 Cyrillic
+0531 0556 Armenian
+0559 055F Armenian
+0561 0587 Armenian
+0589 Common
+058A Armenian
+0591 05C7 Hebrew
+05D0 05EA Hebrew
+05F0 05F4 Hebrew
+0600 0603 Arabic
+0606 060B Arabic
+060C Common
+060D 061A Arabic
+061B Common
+061E Arabic
+061F Common
+0620 063F Arabic
+0640 Common
+0641 064A Arabic
+064B 0655 Inherited
+0656 065E Arabic
+065F Inherited
+0660 0669 Common
+066A 066F Arabic
+0670 Inherited
+0671 06DC Arabic
+06DD Common
+06DE 06FF Arabic
+0700 070D Syriac
+070F 074A Syriac
+074D 074F Syriac
+0750 077F Arabic
+0780 07B1 Thaana
+07C0 07FA Nko
+0800 082D Samaritan
+0830 083E Samaritan
+0840 085B Mandaic
+085E Mandaic
+0900 0950 Devanagari
+0951 0952 Inherited
+0953 0963 Devanagari
+0964 0965 Common
+0966 096F Devanagari
+0970 Common
+0971 0977 Devanagari
+0979 097F Devanagari
+0981 0983 Bengali
+0985 098C Bengali
+098F 0990 Bengali
+0993 09A8 Bengali
+09AA 09B0 Bengali
+09B2 Bengali
+09B6 09B9 Bengali
+09BC 09C4 Bengali
+09C7 09C8 Bengali
+09CB 09CE Bengali
+09D7 Bengali
+09DC 09DD Bengali
+09DF 09E3 Bengali
+09E6 09FB Bengali
+0A01 0A03 Gurmukhi
+0A05 0A0A Gurmukhi
+0A0F 0A10 Gurmukhi
+0A13 0A28 Gurmukhi
+0A2A 0A30 Gurmukhi
+0A32 0A33 Gurmukhi
+0A35 0A36 Gurmukhi
+0A38 0A39 Gurmukhi
+0A3C Gurmukhi
+0A3E 0A42 Gurmukhi
+0A47 0A48 Gurmukhi
+0A4B 0A4D Gurmukhi
+0A51 Gurmukhi
+0A59 0A5C Gurmukhi
+0A5E Gurmukhi
+0A66 0A75 Gurmukhi
+0A81 0A83 Gujarati
+0A85 0A8D Gujarati
+0A8F 0A91 Gujarati
+0A93 0AA8 Gujarati
+0AAA 0AB0 Gujarati
+0AB2 0AB3 Gujarati
+0AB5 0AB9 Gujarati
+0ABC 0AC5 Gujarati
+0AC7 0AC9 Gujarati
+0ACB 0ACD Gujarati
+0AD0 Gujarati
+0AE0 0AE3 Gujarati
+0AE6 0AEF Gujarati
+0AF1 Gujarati
+0B01 0B03 Oriya
+0B05 0B0C Oriya
+0B0F 0B10 Oriya
+0B13 0B28 Oriya
+0B2A 0B30 Oriya
+0B32 0B33 Oriya
+0B35 0B39 Oriya
+0B3C 0B44 Oriya
+0B47 0B48 Oriya
+0B4B 0B4D Oriya
+0B56 0B57 Oriya
+0B5C 0B5D Oriya
+0B5F 0B63 Oriya
+0B66 0B77 Oriya
+0B82 0B83 Tamil
+0B85 0B8A Tamil
+0B8E 0B90 Tamil
+0B92 0B95 Tamil
+0B99 0B9A Tamil
+0B9C Tamil
+0B9E 0B9F Tamil
+0BA3 0BA4 Tamil
+0BA8 0BAA Tamil
+0BAE 0BB9 Tamil
+0BBE 0BC2 Tamil
+0BC6 0BC8 Tamil
+0BCA 0BCD Tamil
+0BD0 Tamil
+0BD7 Tamil
+0BE6 0BFA Tamil
+0C01 0C03 Telugu
+0C05 0C0C Telugu
+0C0E 0C10 Telugu
+0C12 0C28 Telugu
+0C2A 0C33 Telugu
+0C35 0C39 Telugu
+0C3D 0C44 Telugu
+0C46 0C48 Telugu
+0C4A 0C4D Telugu
+0C55 0C56 Telugu
+0C58 0C59 Telugu
+0C60 0C63 Telugu
+0C66 0C6F Telugu
+0C78 0C7F Telugu
+0C82 0C83 Kannada
+0C85 0C8C Kannada
+0C8E 0C90 Kannada
+0C92 0CA8 Kannada
+0CAA 0CB3 Kannada
+0CB5 0CB9 Kannada
+0CBC 0CC4 Kannada
+0CC6 0CC8 Kannada
+0CCA 0CCD Kannada
+0CD5 0CD6 Kannada
+0CDE Kannada
+0CE0 0CE3 Kannada
+0CE6 0CEF Kannada
+0CF1 0CF2 Kannada
+0D02 0D03 Malayalam
+0D05 0D0C Malayalam
+0D0E 0D10 Malayalam
+0D12 0D3A Malayalam
+0D3D 0D44 Malayalam
+0D46 0D48 Malayalam
+0D4A 0D4E Malayalam
+0D57 Malayalam
+0D60 0D63 Malayalam
+0D66 0D75 Malayalam
+0D79 0D7F Malayalam
+0D82 0D83 Sinhala
+0D85 0D96 Sinhala
+0D9A 0DB1 Sinhala
+0DB3 0DBB Sinhala
+0DBD Sinhala
+0DC0 0DC6 Sinhala
+0DCA Sinhala
+0DCF 0DD4 Sinhala
+0DD6 Sinhala
+0DD8 0DDF Sinhala
+0DF2 0DF4 Sinhala
+0E01 0E3A Thai
+0E3F Common
+0E40 0E5B Thai
+0E81 0E82 Lao
+0E84 Lao
+0E87 0E88 Lao
+0E8A Lao
+0E8D Lao
+0E94 0E97 Lao
+0E99 0E9F Lao
+0EA1 0EA3 Lao
+0EA5 Lao
+0EA7 Lao
+0EAA 0EAB Lao
+0EAD 0EB9 Lao
+0EBB 0EBD Lao
+0EC0 0EC4 Lao
+0EC6 Lao
+0EC8 0ECD Lao
+0ED0 0ED9 Lao
+0EDC 0EDD Lao
+0F00 0F47 Tibetan
+0F49 0F6C Tibetan
+0F71 0F97 Tibetan
+0F99 0FBC Tibetan
+0FBE 0FCC Tibetan
+0FCE 0FD4 Tibetan
+0FD5 0FD8 Common
+0FD9 0FDA Tibetan
+1000 109F Myanmar
+10A0 10C5 Georgian
+10D0 10FA Georgian
+10FB Common
+10FC Georgian
+1100 11FF Hangul
+1200 1248 Ethiopic
+124A 124D Ethiopic
+1250 1256 Ethiopic
+1258 Ethiopic
+125A 125D Ethiopic
+1260 1288 Ethiopic
+128A 128D Ethiopic
+1290 12B0 Ethiopic
+12B2 12B5 Ethiopic
+12B8 12BE Ethiopic
+12C0 Ethiopic
+12C2 12C5 Ethiopic
+12C8 12D6 Ethiopic
+12D8 1310 Ethiopic
+1312 1315 Ethiopic
+1318 135A Ethiopic
+135D 137C Ethiopic
+1380 1399 Ethiopic
+13A0 13F4 Cherokee
+1400 167F Canadian_Aboriginal
+1680 169C Ogham
+16A0 16EA Runic
+16EB 16ED Common
+16EE 16F0 Runic
+1700 170C Tagalog
+170E 1714 Tagalog
+1720 1734 Hanunoo
+1735 1736 Common
+1740 1753 Buhid
+1760 176C Tagbanwa
+176E 1770 Tagbanwa
+1772 1773 Tagbanwa
+1780 17DD Khmer
+17E0 17E9 Khmer
+17F0 17F9 Khmer
+1800 1801 Mongolian
+1802 1803 Common
+1804 Mongolian
+1805 Common
+1806 180E Mongolian
+1810 1819 Mongolian
+1820 1877 Mongolian
+1880 18AA Mongolian
+18B0 18F5 Canadian_Aboriginal
+1900 191C Limbu
+1920 192B Limbu
+1930 193B Limbu
+1940 Limbu
+1944 194F Limbu
+1950 196D Tai_Le
+1970 1974 Tai_Le
+1980 19AB New_Tai_Lue
+19B0 19C9 New_Tai_Lue
+19D0 19DA New_Tai_Lue
+19DE 19DF New_Tai_Lue
+19E0 19FF Khmer
+1A00 1A1B Buginese
+1A1E 1A1F Buginese
+1A20 1A5E Tai_Tham
+1A60 1A7C Tai_Tham
+1A7F 1A89 Tai_Tham
+1A90 1A99 Tai_Tham
+1AA0 1AAD Tai_Tham
+1B00 1B4B Balinese
+1B50 1B7C Balinese
+1B80 1BAA Sundanese
+1BAE 1BB9 Sundanese
+1BC0 1BF3 Batak
+1BFC 1BFF Batak
+1C00 1C37 Lepcha
+1C3B 1C49 Lepcha
+1C4D 1C4F Lepcha
+1C50 1C7F Ol_Chiki
+1CD0 1CD2 Inherited
+1CD3 Common
+1CD4 1CE0 Inherited
+1CE1 Common
+1CE2 1CE8 Inherited
+1CE9 1CEC Common
+1CED Inherited
+1CEE 1CF2 Common
+1D00 1D25 Latin
+1D26 1D2A Greek
+1D2B Cyrillic
+1D2C 1D5C Latin
+1D5D 1D61 Greek
+1D62 1D65 Latin
+1D66 1D6A Greek
+1D6B 1D77 Latin
+1D78 Cyrillic
+1D79 1DBE Latin
+1DBF Greek
+1DC0 1DE6 Inherited
+1DFC 1DFF Inherited
+1E00 1EFF Latin
+1F00 1F15 Greek
+1F18 1F1D Greek
+1F20 1F45 Greek
+1F48 1F4D Greek
+1F50 1F57 Greek
+1F59 Greek
+1F5B Greek
+1F5D Greek
+1F5F 1F7D Greek
+1F80 1FB4 Greek
+1FB6 1FC4 Greek
+1FC6 1FD3 Greek
+1FD6 1FDB Greek
+1FDD 1FEF Greek
+1FF2 1FF4 Greek
+1FF6 1FFE Greek
+2000 200B Common
+200C 200D Inherited
+200E 2064 Common
+206A 2070 Common
+2071 Latin
+2074 207E Common
+207F Latin
+2080 208E Common
+2090 209C Latin
+20A0 20B9 Common
+20D0 20F0 Inherited
+2100 2125 Common
+2126 Greek
+2127 2129 Common
+212A 212B Latin
+212C 2131 Common
+2132 Latin
+2133 214D Common
+214E Latin
+214F 215F Common
+2160 2188 Latin
+2189 Common
+2190 23F3 Common
+2400 2426 Common
+2440 244A Common
+2460 26FF Common
+2701 27CA Common
+27CC Common
+27CE 27FF Common
+2800 28FF Braille
+2900 2B4C Common
+2B50 2B59 Common
+2C00 2C2E Glagolitic
+2C30 2C5E Glagolitic
+2C60 2C7F Latin
+2C80 2CF1 Coptic
+2CF9 2CFF Coptic
+2D00 2D25 Georgian
+2D30 2D65 Tifinagh
+2D6F 2D70 Tifinagh
+2D7F Tifinagh
+2D80 2D96 Ethiopic
+2DA0 2DA6 Ethiopic
+2DA8 2DAE Ethiopic
+2DB0 2DB6 Ethiopic
+2DB8 2DBE Ethiopic
+2DC0 2DC6 Ethiopic
+2DC8 2DCE Ethiopic
+2DD0 2DD6 Ethiopic
+2DD8 2DDE Ethiopic
+2DE0 2DFF Cyrillic
+2E00 2E31 Common
+2E80 2E99 Han
+2E9B 2EF3 Han
+2F00 2FD5 Han
+2FF0 2FFB Common
+3000 3004 Common
+3005 Han
+3006 Common
+3007 Han
+3008 3020 Common
+3021 3029 Han
+302A 302D Inherited
+302E 302F Hangul
+3030 3037 Common
+3038 303B Han
+303C 303F Common
+3041 3096 Hiragana
+3099 309A Inherited
+309B 309C Common
+309D 309F Hiragana
+30A0 Common
+30A1 30FA Katakana
+30FB 30FC Common
+30FD 30FF Katakana
+3105 312D Bopomofo
+3131 318E Hangul
+3190 319F Common
+31A0 31BA Bopomofo
+31C0 31E3 Common
+31F0 31FF Katakana
+3200 321E Hangul
+3220 325F Common
+3260 327E Hangul
+327F 32CF Common
+32D0 32FE Katakana
+3300 3357 Katakana
+3358 33FF Common
+3400 4DB5 Han
+4DC0 4DFF Common
+4E00 9FCB Han
+A000 A48C Yi
+A490 A4C6 Yi
+A4D0 A4FF Lisu
+A500 A62B Vai
+A640 A673 Cyrillic
+A67C A697 Cyrillic
+A6A0 A6F7 Bamum
+A700 A721 Common
+A722 A787 Latin
+A788 A78A Common
+A78B A78E Latin
+A790 A791 Latin
+A7A0 A7A9 Latin
+A7FA A7FF Latin
+A800 A82B Syloti_Nagri
+A830 A839 Common
+A840 A877 Phags_Pa
+A880 A8C4 Saurashtra
+A8CE A8D9 Saurashtra
+A8E0 A8FB Devanagari
+A900 A92F Kayah_Li
+A930 A953 Rejang
+A95F Rejang
+A960 A97C Hangul
+A980 A9CD Javanese
+A9CF A9D9 Javanese
+A9DE A9DF Javanese
+AA00 AA36 Cham
+AA40 AA4D Cham
+AA50 AA59 Cham
+AA5C AA5F Cham
+AA60 AA7B Myanmar
+AA80 AAC2 Tai_Viet
+AADB AADF Tai_Viet
+AB01 AB06 Ethiopic
+AB09 AB0E Ethiopic
+AB11 AB16 Ethiopic
+AB20 AB26 Ethiopic
+AB28 AB2E Ethiopic
+ABC0 ABED Meetei_Mayek
+ABF0 ABF9 Meetei_Mayek
+AC00 D7A3 Hangul
+D7B0 D7C6 Hangul
+D7CB D7FB Hangul
+F900 FA2D Han
+FA30 FA6D Han
+FA70 FAD9 Han
+FB00 FB06 Latin
+FB13 FB17 Armenian
+FB1D FB36 Hebrew
+FB38 FB3C Hebrew
+FB3E Hebrew
+FB40 FB41 Hebrew
+FB43 FB44 Hebrew
+FB46 FB4F Hebrew
+FB50 FBC1 Arabic
+FBD3 FD3D Arabic
+FD3E FD3F Common
+FD50 FD8F Arabic
+FD92 FDC7 Arabic
+FDF0 FDFC Arabic
+FDFD Common
+FE00 FE0F Inherited
+FE10 FE19 Common
+FE20 FE26 Inherited
+FE30 FE52 Common
+FE54 FE66 Common
+FE68 FE6B Common
+FE70 FE74 Arabic
+FE76 FEFC Arabic
+FEFF Common
+FF01 FF20 Common
+FF21 FF3A Latin
+FF3B FF40 Common
+FF41 FF5A Latin
+FF5B FF65 Common
+FF66 FF6F Katakana
+FF70 Common
+FF71 FF9D Katakana
+FF9E FF9F Common
+FFA0 FFBE Hangul
+FFC2 FFC7 Hangul
+FFCA FFCF Hangul
+FFD2 FFD7 Hangul
+FFDA FFDC Hangul
+FFE0 FFE6 Common
+FFE8 FFEE Common
+FFF9 FFFD Common
+10000 1000B Linear_B
+1000D 10026 Linear_B
+10028 1003A Linear_B
+1003C 1003D Linear_B
+1003F 1004D Linear_B
+10050 1005D Linear_B
+10080 100FA Linear_B
+10100 10102 Common
+10107 10133 Common
+10137 1013F Common
+10140 1018A Greek
+10190 1019B Common
+101D0 101FC Common
+101FD Inherited
+10280 1029C Lycian
+102A0 102D0 Carian
+10300 1031E Old_Italic
+10320 10323 Old_Italic
+10330 1034A Gothic
+10380 1039D Ugaritic
+1039F Ugaritic
+103A0 103C3 Old_Persian
+103C8 103D5 Old_Persian
+10400 1044F Deseret
+10450 1047F Shavian
+10480 1049D Osmanya
+104A0 104A9 Osmanya
+10800 10805 Cypriot
+10808 Cypriot
+1080A 10835 Cypriot
+10837 10838 Cypriot
+1083C Cypriot
+1083F Cypriot
+10840 10855 Imperial_Aramaic
+10857 1085F Imperial_Aramaic
+10900 1091B Phoenician
+1091F Phoenician
+10920 10939 Lydian
+1093F Lydian
+10A00 10A03 Kharoshthi
+10A05 10A06 Kharoshthi
+10A0C 10A13 Kharoshthi
+10A15 10A17 Kharoshthi
+10A19 10A33 Kharoshthi
+10A38 10A3A Kharoshthi
+10A3F 10A47 Kharoshthi
+10A50 10A58 Kharoshthi
+10A60 10A7F Old_South_Arabian
+10B00 10B35 Avestan
+10B39 10B3F Avestan
+10B40 10B55 Inscriptional_Parthian
+10B58 10B5F Inscriptional_Parthian
+10B60 10B72 Inscriptional_Pahlavi
+10B78 10B7F Inscriptional_Pahlavi
+10C00 10C48 Old_Turkic
+10E60 10E7E Arabic
+11000 1104D Brahmi
+11052 1106F Brahmi
+11080 110C1 Kaithi
+12000 1236E Cuneiform
+12400 12462 Cuneiform
+12470 12473 Cuneiform
+13000 1342E Egyptian_Hieroglyphs
+16800 16A38 Bamum
+1B000 Katakana
+1B001 Hiragana
+1D000 1D0F5 Common
+1D100 1D126 Common
+1D129 1D166 Common
+1D167 1D169 Inherited
+1D16A 1D17A Common
+1D17B 1D182 Inherited
+1D183 1D184 Common
+1D185 1D18B Inherited
+1D18C 1D1A9 Common
+1D1AA 1D1AD Inherited
+1D1AE 1D1DD Common
+1D200 1D245 Greek
+1D300 1D356 Common
+1D360 1D371 Common
+1D400 1D454 Common
+1D456 1D49C Common
+1D49E 1D49F Common
+1D4A2 Common
+1D4A5 1D4A6 Common
+1D4A9 1D4AC Common
+1D4AE 1D4B9 Common
+1D4BB Common
+1D4BD 1D4C3 Common
+1D4C5 1D505 Common
+1D507 1D50A Common
+1D50D 1D514 Common
+1D516 1D51C Common
+1D51E 1D539 Common
+1D53B 1D53E Common
+1D540 1D544 Common
+1D546 Common
+1D54A 1D550 Common
+1D552 1D6A5 Common
+1D6A8 1D7CB Common
+1D7CE 1D7FF Common
+1F000 1F02B Common
+1F030 1F093 Common
+1F0A0 1F0AE Common
+1F0B1 1F0BE Common
+1F0C1 1F0CF Common
+1F0D1 1F0DF Common
+1F100 1F10A Common
+1F110 1F12E Common
+1F130 1F169 Common
+1F170 1F19A Common
+1F1E6 1F1FF Common
+1F200 Hiragana
+1F201 1F202 Common
+1F210 1F23A Common
+1F240 1F248 Common
+1F250 1F251 Common
+1F300 1F320 Common
+1F330 1F335 Common
+1F337 1F37C Common
+1F380 1F393 Common
+1F3A0 1F3C4 Common
+1F3C6 1F3CA Common
+1F3E0 1F3F0 Common
+1F400 1F43E Common
+1F440 Common
+1F442 1F4F7 Common
+1F4F9 1F4FC Common
+1F500 1F53D Common
+1F550 1F567 Common
+1F5FB 1F5FF Common
+1F601 1F610 Common
+1F612 1F614 Common
+1F616 Common
+1F618 Common
+1F61A Common
+1F61C 1F61E Common
+1F620 1F625 Common
+1F628 1F62B Common
+1F62D Common
+1F630 1F633 Common
+1F635 1F640 Common
+1F645 1F64F Common
+1F680 1F6C5 Common
+1F700 1F773 Common
+20000 2A6D6 Han
+2A700 2B734 Han
+2B740 2B81D Han
+2F800 2FA1D Han
+E0001 Common
+E0020 E007F Common
+E0100 E01EF Inherited
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Title.pl b/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
index eff569708b3..25e44ec83b2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
@@ -1,20 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the synonymous mappings:
-# Titlecase_Mapping(cp)
-# Tc(cp)
-#
-# where 'cp' is one of the 1085 code points in Unicode Version 5.2.0 for
-# which the mapping is not to itself. Note that these mappings are
-# accessible through the Perl core via ucfirst().
-#
-# For information about what this property really means, see:
-# http://www.unicode.org/reports/tr44/
-#
-# The format of the main body of lines of this file is: CODE_POINT\t\tMAPPING
-# where CODE_POINT is in hex; MAPPING is what CODE_POINT maps to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -26,7 +13,9 @@ $utf8::SwashInfo{'ToTitle'}{'missing'} = '<code point>'; # code point maps to it
# multiple code points. These do not appear in the main body, but are defined
# in the hash below.
-# The key: UTF-8 _bytes_, the value: UTF-8 (speed hack)
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
%utf8::ToSpecTitle = (
"\xC3\x9F" => "\x{0053}\x{0073}", # U+00DF => 0053 0073
"\xC5\x89" => "\x{02BC}\x{004E}", # U+0149 => 02BC 004E
@@ -297,6 +286,7 @@ return <<'END';
025B 0190
0260 0193
0263 0194
+0265 A78D
0268 0197
0269 0196
026B 2C62
@@ -520,6 +510,7 @@ return <<'END';
0521 0520
0523 0522
0525 0524
+0527 0526
0561 0531
0562 0532
0563 0533
@@ -986,6 +977,7 @@ A659 A658
A65B A65A
A65D A65C
A65F A65E
+A661 A660
A663 A662
A665 A664
A667 A666
@@ -1050,6 +1042,12 @@ A783 A782
A785 A784
A787 A786
A78C A78B
+A791 A790
+A7A1 A7A0
+A7A3 A7A2
+A7A5 A7A4
+A7A7 A7A6
+A7A9 A7A8
FF41 FF21
FF42 FF22
FF43 FF23
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl b/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
index 9289cf08cee..8813aa293ab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
@@ -1,20 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
-# This file returns the synonymous mappings:
-# Uppercase_Mapping(cp)
-# Uc(cp)
-#
-# where 'cp' is one of the 1112 code points in Unicode Version 5.2.0 for
-# which the mapping is not to itself. Note that these mappings are
-# accessible through the Perl core via uc().
-#
-# For information about what this property really means, see:
-# http://www.unicode.org/reports/tr44/
-#
-# The format of the main body of lines of this file is: CODE_POINT\t\tMAPPING
-# where CODE_POINT is in hex; MAPPING is what CODE_POINT maps to.
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
@@ -26,7 +13,9 @@ $utf8::SwashInfo{'ToUpper'}{'missing'} = '<code point>'; # code point maps to it
# multiple code points. These do not appear in the main body, but are defined
# in the hash below.
-# The key: UTF-8 _bytes_, the value: UTF-8 (speed hack)
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
%utf8::ToSpecUpper = (
"\xC3\x9F" => "\x{0053}\x{0053}", # U+00DF => 0053 0053
"\xC5\x89" => "\x{02BC}\x{004E}", # U+0149 => 02BC 004E
@@ -351,6 +340,7 @@ return <<'END';
025B 0190
0260 0193
0263 0194
+0265 A78D
0268 0197
0269 0196
026B 2C62
@@ -574,6 +564,7 @@ return <<'END';
0521 0520
0523 0522
0525 0524
+0527 0526
0561 0531
0562 0532
0563 0533
@@ -1013,6 +1004,7 @@ A659 A658
A65B A65A
A65D A65C
A65F A65E
+A661 A660
A663 A662
A665 A664
A667 A666
@@ -1077,6 +1069,12 @@ A783 A782
A785 A784
A787 A786
A78C A78B
+A791 A790
+A7A1 A7A0
+A7A3 A7A2
+A7A5 A7A4
+A7A7 A7A6
+A7A9 A7A8
FF41 FF21
FF42 FF22
FF43 FF23
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/WB.pl b/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
new file mode 100644
index 00000000000..2d9b9e8608c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
@@ -0,0 +1,691 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToWB'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToWB'}{'missing'} = 'Other';
+
+return <<'END';
+000A LF
+000B 000C Newline
+000D CR
+0027 MidNumLet
+002C MidNum
+002E MidNumLet
+0030 0039 Numeric
+003A MidLetter
+003B MidNum
+0041 005A ALetter
+005F ExtendNumLet
+0061 007A ALetter
+0085 Newline
+00AA ALetter
+00AD Format
+00B5 ALetter
+00B7 MidLetter
+00BA ALetter
+00C0 00D6 ALetter
+00D8 00F6 ALetter
+00F8 02C1 ALetter
+02C6 02D1 ALetter
+02E0 02E4 ALetter
+02EC ALetter
+02EE ALetter
+0300 036F Extend
+0370 0374 ALetter
+0376 0377 ALetter
+037A 037D ALetter
+037E MidNum
+0386 ALetter
+0387 MidLetter
+0388 038A ALetter
+038C ALetter
+038E 03A1 ALetter
+03A3 03F5 ALetter
+03F7 0481 ALetter
+0483 0489 Extend
+048A 0527 ALetter
+0531 0556 ALetter
+0559 ALetter
+0561 0587 ALetter
+0589 MidNum
+0591 05BD Extend
+05BF Extend
+05C1 05C2 Extend
+05C4 05C5 Extend
+05C7 Extend
+05D0 05EA ALetter
+05F0 05F3 ALetter
+05F4 MidLetter
+0600 0603 Format
+060C 060D MidNum
+0610 061A Extend
+0620 064A ALetter
+064B 065F Extend
+0660 0669 Numeric
+066B Numeric
+066C MidNum
+066E 066F ALetter
+0670 Extend
+0671 06D3 ALetter
+06D5 ALetter
+06D6 06DC Extend
+06DD Format
+06DF 06E4 Extend
+06E5 06E6 ALetter
+06E7 06E8 Extend
+06EA 06ED Extend
+06EE 06EF ALetter
+06F0 06F9 Numeric
+06FA 06FC ALetter
+06FF ALetter
+070F Format
+0710 ALetter
+0711 Extend
+0712 072F ALetter
+0730 074A Extend
+074D 07A5 ALetter
+07A6 07B0 Extend
+07B1 ALetter
+07C0 07C9 Numeric
+07CA 07EA ALetter
+07EB 07F3 Extend
+07F4 07F5 ALetter
+07F8 MidNum
+07FA ALetter
+0800 0815 ALetter
+0816 0819 Extend
+081A ALetter
+081B 0823 Extend
+0824 ALetter
+0825 0827 Extend
+0828 ALetter
+0829 082D Extend
+0840 0858 ALetter
+0859 085B Extend
+0900 0903 Extend
+0904 0939 ALetter
+093A 093C Extend
+093D ALetter
+093E 094F Extend
+0950 ALetter
+0951 0957 Extend
+0958 0961 ALetter
+0962 0963 Extend
+0966 096F Numeric
+0971 0977 ALetter
+0979 097F ALetter
+0981 0983 Extend
+0985 098C ALetter
+098F 0990 ALetter
+0993 09A8 ALetter
+09AA 09B0 ALetter
+09B2 ALetter
+09B6 09B9 ALetter
+09BC Extend
+09BD ALetter
+09BE 09C4 Extend
+09C7 09C8 Extend
+09CB 09CD Extend
+09CE ALetter
+09D7 Extend
+09DC 09DD ALetter
+09DF 09E1 ALetter
+09E2 09E3 Extend
+09E6 09EF Numeric
+09F0 09F1 ALetter
+0A01 0A03 Extend
+0A05 0A0A ALetter
+0A0F 0A10 ALetter
+0A13 0A28 ALetter
+0A2A 0A30 ALetter
+0A32 0A33 ALetter
+0A35 0A36 ALetter
+0A38 0A39 ALetter
+0A3C Extend
+0A3E 0A42 Extend
+0A47 0A48 Extend
+0A4B 0A4D Extend
+0A51 Extend
+0A59 0A5C ALetter
+0A5E ALetter
+0A66 0A6F Numeric
+0A70 0A71 Extend
+0A72 0A74 ALetter
+0A75 Extend
+0A81 0A83 Extend
+0A85 0A8D ALetter
+0A8F 0A91 ALetter
+0A93 0AA8 ALetter
+0AAA 0AB0 ALetter
+0AB2 0AB3 ALetter
+0AB5 0AB9 ALetter
+0ABC Extend
+0ABD ALetter
+0ABE 0AC5 Extend
+0AC7 0AC9 Extend
+0ACB 0ACD Extend
+0AD0 ALetter
+0AE0 0AE1 ALetter
+0AE2 0AE3 Extend
+0AE6 0AEF Numeric
+0B01 0B03 Extend
+0B05 0B0C ALetter
+0B0F 0B10 ALetter
+0B13 0B28 ALetter
+0B2A 0B30 ALetter
+0B32 0B33 ALetter
+0B35 0B39 ALetter
+0B3C Extend
+0B3D ALetter
+0B3E 0B44 Extend
+0B47 0B48 Extend
+0B4B 0B4D Extend
+0B56 0B57 Extend
+0B5C 0B5D ALetter
+0B5F 0B61 ALetter
+0B62 0B63 Extend
+0B66 0B6F Numeric
+0B71 ALetter
+0B82 Extend
+0B83 ALetter
+0B85 0B8A ALetter
+0B8E 0B90 ALetter
+0B92 0B95 ALetter
+0B99 0B9A ALetter
+0B9C ALetter
+0B9E 0B9F ALetter
+0BA3 0BA4 ALetter
+0BA8 0BAA ALetter
+0BAE 0BB9 ALetter
+0BBE 0BC2 Extend
+0BC6 0BC8 Extend
+0BCA 0BCD Extend
+0BD0 ALetter
+0BD7 Extend
+0BE6 0BEF Numeric
+0C01 0C03 Extend
+0C05 0C0C ALetter
+0C0E 0C10 ALetter
+0C12 0C28 ALetter
+0C2A 0C33 ALetter
+0C35 0C39 ALetter
+0C3D ALetter
+0C3E 0C44 Extend
+0C46 0C48 Extend
+0C4A 0C4D Extend
+0C55 0C56 Extend
+0C58 0C59 ALetter
+0C60 0C61 ALetter
+0C62 0C63 Extend
+0C66 0C6F Numeric
+0C82 0C83 Extend
+0C85 0C8C ALetter
+0C8E 0C90 ALetter
+0C92 0CA8 ALetter
+0CAA 0CB3 ALetter
+0CB5 0CB9 ALetter
+0CBC Extend
+0CBD ALetter
+0CBE 0CC4 Extend
+0CC6 0CC8 Extend
+0CCA 0CCD Extend
+0CD5 0CD6 Extend
+0CDE ALetter
+0CE0 0CE1 ALetter
+0CE2 0CE3 Extend
+0CE6 0CEF Numeric
+0CF1 0CF2 ALetter
+0D02 0D03 Extend
+0D05 0D0C ALetter
+0D0E 0D10 ALetter
+0D12 0D3A ALetter
+0D3D ALetter
+0D3E 0D44 Extend
+0D46 0D48 Extend
+0D4A 0D4D Extend
+0D4E ALetter
+0D57 Extend
+0D60 0D61 ALetter
+0D62 0D63 Extend
+0D66 0D6F Numeric
+0D7A 0D7F ALetter
+0D82 0D83 Extend
+0D85 0D96 ALetter
+0D9A 0DB1 ALetter
+0DB3 0DBB ALetter
+0DBD ALetter
+0DC0 0DC6 ALetter
+0DCA Extend
+0DCF 0DD4 Extend
+0DD6 Extend
+0DD8 0DDF Extend
+0DF2 0DF3 Extend
+0E31 Extend
+0E34 0E3A Extend
+0E47 0E4E Extend
+0E50 0E59 Numeric
+0EB1 Extend
+0EB4 0EB9 Extend
+0EBB 0EBC Extend
+0EC8 0ECD Extend
+0ED0 0ED9 Numeric
+0F00 ALetter
+0F18 0F19 Extend
+0F20 0F29 Numeric
+0F35 Extend
+0F37 Extend
+0F39 Extend
+0F3E 0F3F Extend
+0F40 0F47 ALetter
+0F49 0F6C ALetter
+0F71 0F84 Extend
+0F86 0F87 Extend
+0F88 0F8C ALetter
+0F8D 0F97 Extend
+0F99 0FBC Extend
+0FC6 Extend
+102B 103E Extend
+1040 1049 Numeric
+1056 1059 Extend
+105E 1060 Extend
+1062 1064 Extend
+1067 106D Extend
+1071 1074 Extend
+1082 108D Extend
+108F Extend
+1090 1099 Numeric
+109A 109D Extend
+10A0 10C5 ALetter
+10D0 10FA ALetter
+10FC ALetter
+1100 1248 ALetter
+124A 124D ALetter
+1250 1256 ALetter
+1258 ALetter
+125A 125D ALetter
+1260 1288 ALetter
+128A 128D ALetter
+1290 12B0 ALetter
+12B2 12B5 ALetter
+12B8 12BE ALetter
+12C0 ALetter
+12C2 12C5 ALetter
+12C8 12D6 ALetter
+12D8 1310 ALetter
+1312 1315 ALetter
+1318 135A ALetter
+135D 135F Extend
+1380 138F ALetter
+13A0 13F4 ALetter
+1401 166C ALetter
+166F 167F ALetter
+1681 169A ALetter
+16A0 16EA ALetter
+16EE 16F0 ALetter
+1700 170C ALetter
+170E 1711 ALetter
+1712 1714 Extend
+1720 1731 ALetter
+1732 1734 Extend
+1740 1751 ALetter
+1752 1753 Extend
+1760 176C ALetter
+176E 1770 ALetter
+1772 1773 Extend
+17B4 17B5 Format
+17B6 17D3 Extend
+17DD Extend
+17E0 17E9 Numeric
+180B 180D Extend
+1810 1819 Numeric
+1820 1877 ALetter
+1880 18A8 ALetter
+18A9 Extend
+18AA ALetter
+18B0 18F5 ALetter
+1900 191C ALetter
+1920 192B Extend
+1930 193B Extend
+1946 194F Numeric
+19B0 19C0 Extend
+19C8 19C9 Extend
+19D0 19D9 Numeric
+1A00 1A16 ALetter
+1A17 1A1B Extend
+1A55 1A5E Extend
+1A60 1A7C Extend
+1A7F Extend
+1A80 1A89 Numeric
+1A90 1A99 Numeric
+1B00 1B04 Extend
+1B05 1B33 ALetter
+1B34 1B44 Extend
+1B45 1B4B ALetter
+1B50 1B59 Numeric
+1B6B 1B73 Extend
+1B80 1B82 Extend
+1B83 1BA0 ALetter
+1BA1 1BAA Extend
+1BAE 1BAF ALetter
+1BB0 1BB9 Numeric
+1BC0 1BE5 ALetter
+1BE6 1BF3 Extend
+1C00 1C23 ALetter
+1C24 1C37 Extend
+1C40 1C49 Numeric
+1C4D 1C4F ALetter
+1C50 1C59 Numeric
+1C5A 1C7D ALetter
+1CD0 1CD2 Extend
+1CD4 1CE8 Extend
+1CE9 1CEC ALetter
+1CED Extend
+1CEE 1CF1 ALetter
+1CF2 Extend
+1D00 1DBF ALetter
+1DC0 1DE6 Extend
+1DFC 1DFF Extend
+1E00 1F15 ALetter
+1F18 1F1D ALetter
+1F20 1F45 ALetter
+1F48 1F4D ALetter
+1F50 1F57 ALetter
+1F59 ALetter
+1F5B ALetter
+1F5D ALetter
+1F5F 1F7D ALetter
+1F80 1FB4 ALetter
+1FB6 1FBC ALetter
+1FBE ALetter
+1FC2 1FC4 ALetter
+1FC6 1FCC ALetter
+1FD0 1FD3 ALetter
+1FD6 1FDB ALetter
+1FE0 1FEC ALetter
+1FF2 1FF4 ALetter
+1FF6 1FFC ALetter
+200C 200D Extend
+200E 200F Format
+2018 2019 MidNumLet
+2024 MidNumLet
+2027 MidLetter
+2028 2029 Newline
+202A 202E Format
+203F 2040 ExtendNumLet
+2044 MidNum
+2054 ExtendNumLet
+2060 2064 Format
+206A 206F Format
+2071 ALetter
+207F ALetter
+2090 209C ALetter
+20D0 20F0 Extend
+2102 ALetter
+2107 ALetter
+210A 2113 ALetter
+2115 ALetter
+2119 211D ALetter
+2124 ALetter
+2126 ALetter
+2128 ALetter
+212A 212D ALetter
+212F 2139 ALetter
+213C 213F ALetter
+2145 2149 ALetter
+214E ALetter
+2160 2188 ALetter
+24B6 24E9 ALetter
+2C00 2C2E ALetter
+2C30 2C5E ALetter
+2C60 2CE4 ALetter
+2CEB 2CEE ALetter
+2CEF 2CF1 Extend
+2D00 2D25 ALetter
+2D30 2D65 ALetter
+2D6F ALetter
+2D7F Extend
+2D80 2D96 ALetter
+2DA0 2DA6 ALetter
+2DA8 2DAE ALetter
+2DB0 2DB6 ALetter
+2DB8 2DBE ALetter
+2DC0 2DC6 ALetter
+2DC8 2DCE ALetter
+2DD0 2DD6 ALetter
+2DD8 2DDE ALetter
+2DE0 2DFF Extend
+2E2F ALetter
+3005 ALetter
+302A 302F Extend
+3031 3035 Katakana
+303B 303C ALetter
+3099 309A Extend
+309B 309C Katakana
+30A0 30FA Katakana
+30FC 30FF Katakana
+3105 312D ALetter
+3131 318E ALetter
+31A0 31BA ALetter
+31F0 31FF Katakana
+32D0 32FE Katakana
+3300 3357 Katakana
+A000 A48C ALetter
+A4D0 A4FD ALetter
+A500 A60C ALetter
+A610 A61F ALetter
+A620 A629 Numeric
+A62A A62B ALetter
+A640 A66E ALetter
+A66F A672 Extend
+A67C A67D Extend
+A67F A697 ALetter
+A6A0 A6EF ALetter
+A6F0 A6F1 Extend
+A717 A71F ALetter
+A722 A788 ALetter
+A78B A78E ALetter
+A790 A791 ALetter
+A7A0 A7A9 ALetter
+A7FA A801 ALetter
+A802 Extend
+A803 A805 ALetter
+A806 Extend
+A807 A80A ALetter
+A80B Extend
+A80C A822 ALetter
+A823 A827 Extend
+A840 A873 ALetter
+A880 A881 Extend
+A882 A8B3 ALetter
+A8B4 A8C4 Extend
+A8D0 A8D9 Numeric
+A8E0 A8F1 Extend
+A8F2 A8F7 ALetter
+A8FB ALetter
+A900 A909 Numeric
+A90A A925 ALetter
+A926 A92D Extend
+A930 A946 ALetter
+A947 A953 Extend
+A960 A97C ALetter
+A980 A983 Extend
+A984 A9B2 ALetter
+A9B3 A9C0 Extend
+A9CF ALetter
+A9D0 A9D9 Numeric
+AA00 AA28 ALetter
+AA29 AA36 Extend
+AA40 AA42 ALetter
+AA43 Extend
+AA44 AA4B ALetter
+AA4C AA4D Extend
+AA50 AA59 Numeric
+AA7B Extend
+AAB0 Extend
+AAB2 AAB4 Extend
+AAB7 AAB8 Extend
+AABE AABF Extend
+AAC1 Extend
+AB01 AB06 ALetter
+AB09 AB0E ALetter
+AB11 AB16 ALetter
+AB20 AB26 ALetter
+AB28 AB2E ALetter
+ABC0 ABE2 ALetter
+ABE3 ABEA Extend
+ABEC ABED Extend
+ABF0 ABF9 Numeric
+AC00 D7A3 ALetter
+D7B0 D7C6 ALetter
+D7CB D7FB ALetter
+FB00 FB06 ALetter
+FB13 FB17 ALetter
+FB1D ALetter
+FB1E Extend
+FB1F FB28 ALetter
+FB2A FB36 ALetter
+FB38 FB3C ALetter
+FB3E ALetter
+FB40 FB41 ALetter
+FB43 FB44 ALetter
+FB46 FBB1 ALetter
+FBD3 FD3D ALetter
+FD50 FD8F ALetter
+FD92 FDC7 ALetter
+FDF0 FDFB ALetter
+FE00 FE0F Extend
+FE10 MidNum
+FE13 MidLetter
+FE14 MidNum
+FE20 FE26 Extend
+FE33 FE34 ExtendNumLet
+FE4D FE4F ExtendNumLet
+FE50 MidNum
+FE52 MidNumLet
+FE54 MidNum
+FE55 MidLetter
+FE70 FE74 ALetter
+FE76 FEFC ALetter
+FEFF Format
+FF07 MidNumLet
+FF0C MidNum
+FF0E MidNumLet
+FF1A MidLetter
+FF1B MidNum
+FF21 FF3A ALetter
+FF3F ExtendNumLet
+FF41 FF5A ALetter
+FF66 FF9D Katakana
+FF9E FF9F Extend
+FFA0 FFBE ALetter
+FFC2 FFC7 ALetter
+FFCA FFCF ALetter
+FFD2 FFD7 ALetter
+FFDA FFDC ALetter
+FFF9 FFFB Format
+10000 1000B ALetter
+1000D 10026 ALetter
+10028 1003A ALetter
+1003C 1003D ALetter
+1003F 1004D ALetter
+10050 1005D ALetter
+10080 100FA ALetter
+10140 10174 ALetter
+101FD Extend
+10280 1029C ALetter
+102A0 102D0 ALetter
+10300 1031E ALetter
+10330 1034A ALetter
+10380 1039D ALetter
+103A0 103C3 ALetter
+103C8 103CF ALetter
+103D1 103D5 ALetter
+10400 1049D ALetter
+104A0 104A9 Numeric
+10800 10805 ALetter
+10808 ALetter
+1080A 10835 ALetter
+10837 10838 ALetter
+1083C ALetter
+1083F 10855 ALetter
+10900 10915 ALetter
+10920 10939 ALetter
+10A00 ALetter
+10A01 10A03 Extend
+10A05 10A06 Extend
+10A0C 10A0F Extend
+10A10 10A13 ALetter
+10A15 10A17 ALetter
+10A19 10A33 ALetter
+10A38 10A3A Extend
+10A3F Extend
+10A60 10A7C ALetter
+10B00 10B35 ALetter
+10B40 10B55 ALetter
+10B60 10B72 ALetter
+10C00 10C48 ALetter
+11000 11002 Extend
+11003 11037 ALetter
+11038 11046 Extend
+11066 1106F Numeric
+11080 11082 Extend
+11083 110AF ALetter
+110B0 110BA Extend
+110BD Format
+12000 1236E ALetter
+12400 12462 ALetter
+13000 1342E ALetter
+16800 16A38 ALetter
+1B000 Katakana
+1D165 1D169 Extend
+1D16D 1D172 Extend
+1D173 1D17A Format
+1D17B 1D182 Extend
+1D185 1D18B Extend
+1D1AA 1D1AD Extend
+1D242 1D244 Extend
+1D400 1D454 ALetter
+1D456 1D49C ALetter
+1D49E 1D49F ALetter
+1D4A2 ALetter
+1D4A5 1D4A6 ALetter
+1D4A9 1D4AC ALetter
+1D4AE 1D4B9 ALetter
+1D4BB ALetter
+1D4BD 1D4C3 ALetter
+1D4C5 1D505 ALetter
+1D507 1D50A ALetter
+1D50D 1D514 ALetter
+1D516 1D51C ALetter
+1D51E 1D539 ALetter
+1D53B 1D53E ALetter
+1D540 1D544 ALetter
+1D546 ALetter
+1D54A 1D550 ALetter
+1D552 1D6A5 ALetter
+1D6A8 1D6C0 ALetter
+1D6C2 1D6DA ALetter
+1D6DC 1D6FA ALetter
+1D6FC 1D714 ALetter
+1D716 1D734 ALetter
+1D736 1D74E ALetter
+1D750 1D76E ALetter
+1D770 1D788 ALetter
+1D78A 1D7A8 ALetter
+1D7AA 1D7C2 ALetter
+1D7C4 1D7CB ALetter
+1D7CE 1D7FF Numeric
+E0001 Format
+E0020 E007F Format
+E0100 E01EF Extend
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/_slc.pl b/Master/tlpkg/tlperl/lib/unicore/To/_slc.pl
new file mode 100644
index 00000000000..9bb8af0b0ec
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/_slc.pl
@@ -0,0 +1,46 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'To_slc'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'To_slc'}{'missing'} = '<code point>'; # code point maps to itself
+
+return <<'END';
+0130 0069
+1F88 1F80
+1F89 1F81
+1F8A 1F82
+1F8B 1F83
+1F8C 1F84
+1F8D 1F85
+1F8E 1F86
+1F8F 1F87
+1F98 1F90
+1F99 1F91
+1F9A 1F92
+1F9B 1F93
+1F9C 1F94
+1F9D 1F95
+1F9E 1F96
+1F9F 1F97
+1FA8 1FA0
+1FA9 1FA1
+1FAA 1FA2
+1FAB 1FA3
+1FAC 1FA4
+1FAD 1FA5
+1FAE 1FA6
+1FAF 1FA7
+1FBC 1FB3
+1FCC 1FC3
+1FFC 1FF3
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/_stc.pl b/Master/tlpkg/tlperl/lib/unicore/To/_stc.pl
new file mode 100644
index 00000000000..2dd7c6fa235
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/_stc.pl
@@ -0,0 +1,45 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'To_stc'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'To_stc'}{'missing'} = '<code point>'; # code point maps to itself
+
+return <<'END';
+1F80 1F88
+1F81 1F89
+1F82 1F8A
+1F83 1F8B
+1F84 1F8C
+1F85 1F8D
+1F86 1F8E
+1F87 1F8F
+1F90 1F98
+1F91 1F99
+1F92 1F9A
+1F93 1F9B
+1F94 1F9C
+1F95 1F9D
+1F96 1F9E
+1F97 1F9F
+1FA0 1FA8
+1FA1 1FA9
+1FA2 1FAA
+1FA3 1FAB
+1FA4 1FAC
+1FA5 1FAD
+1FA6 1FAE
+1FA7 1FAF
+1FB3 1FBC
+1FC3 1FCC
+1FF3 1FFC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/_suc.pl b/Master/tlpkg/tlperl/lib/unicore/To/_suc.pl
new file mode 100644
index 00000000000..2a69602357c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/_suc.pl
@@ -0,0 +1,45 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'To_suc'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'To_suc'}{'missing'} = '<code point>'; # code point maps to itself
+
+return <<'END';
+1F80 1F88
+1F81 1F89
+1F82 1F8A
+1F83 1F8B
+1F84 1F8C
+1F85 1F8D
+1F86 1F8E
+1F87 1F8F
+1F90 1F98
+1F91 1F99
+1F92 1F9A
+1F93 1F9B
+1F94 1F9C
+1F95 1F9D
+1F96 1F9E
+1F97 1F9F
+1FA0 1FA8
+1FA1 1FA9
+1FA2 1FAA
+1FA3 1FAB
+1FA4 1FAC
+1FA5 1FAD
+1FA6 1FAE
+1FA7 1FAF
+1FB3 1FBC
+1FC3 1FCC
+1FF3 1FFC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/UnicodeData.txt b/Master/tlpkg/tlperl/lib/unicore/UnicodeData.txt
deleted file mode 100644
index 6b01d90a771..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/UnicodeData.txt
+++ /dev/null
@@ -1,21829 +0,0 @@
-0000;<control>;Cc;0;BN;;;;;N;NULL;;;;
-0001;<control>;Cc;0;BN;;;;;N;START OF HEADING;;;;
-0002;<control>;Cc;0;BN;;;;;N;START OF TEXT;;;;
-0003;<control>;Cc;0;BN;;;;;N;END OF TEXT;;;;
-0004;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;;
-0005;<control>;Cc;0;BN;;;;;N;ENQUIRY;;;;
-0006;<control>;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;;
-0007;<control>;Cc;0;BN;;;;;N;BELL;;;;
-0008;<control>;Cc;0;BN;;;;;N;BACKSPACE;;;;
-0009;<control>;Cc;0;S;;;;;N;CHARACTER TABULATION;;;;
-000A;<control>;Cc;0;B;;;;;N;LINE FEED (LF);;;;
-000B;<control>;Cc;0;S;;;;;N;LINE TABULATION;;;;
-000C;<control>;Cc;0;WS;;;;;N;FORM FEED (FF);;;;
-000D;<control>;Cc;0;B;;;;;N;CARRIAGE RETURN (CR);;;;
-000E;<control>;Cc;0;BN;;;;;N;SHIFT OUT;;;;
-000F;<control>;Cc;0;BN;;;;;N;SHIFT IN;;;;
-0010;<control>;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;;
-0011;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;;
-0012;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;;
-0013;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;;
-0014;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;;
-0015;<control>;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;;
-0016;<control>;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;;
-0017;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;;
-0018;<control>;Cc;0;BN;;;;;N;CANCEL;;;;
-0019;<control>;Cc;0;BN;;;;;N;END OF MEDIUM;;;;
-001A;<control>;Cc;0;BN;;;;;N;SUBSTITUTE;;;;
-001B;<control>;Cc;0;BN;;;;;N;ESCAPE;;;;
-001C;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR FOUR;;;;
-001D;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR THREE;;;;
-001E;<control>;Cc;0;B;;;;;N;INFORMATION SEPARATOR TWO;;;;
-001F;<control>;Cc;0;S;;;;;N;INFORMATION SEPARATOR ONE;;;;
-0020;SPACE;Zs;0;WS;;;;;N;;;;;
-0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
-0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;;
-0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;;
-0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;;
-0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;;
-0026;AMPERSAND;Po;0;ON;;;;;N;;;;;
-0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;;
-0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;;
-0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;;
-002A;ASTERISK;Po;0;ON;;;;;N;;;;;
-002B;PLUS SIGN;Sm;0;ES;;;;;N;;;;;
-002C;COMMA;Po;0;CS;;;;;N;;;;;
-002D;HYPHEN-MINUS;Pd;0;ES;;;;;N;;;;;
-002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;;
-002F;SOLIDUS;Po;0;CS;;;;;N;SLASH;;;;
-0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;;
-0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;;
-0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;;
-0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;;
-0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;;
-0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;;
-0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;;
-0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
-0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;;
-0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;;
-003A;COLON;Po;0;CS;;;;;N;;;;;
-003B;SEMICOLON;Po;0;ON;;;;;N;;;;;
-003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;;
-003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;;
-003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;;
-003F;QUESTION MARK;Po;0;ON;;;;;N;;;;;
-0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;;
-0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061;
-0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062;
-0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063;
-0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064;
-0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065;
-0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066;
-0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067;
-0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068;
-0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069;
-004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A;
-004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B;
-004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C;
-004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D;
-004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E;
-004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F;
-0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070;
-0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071;
-0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072;
-0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073;
-0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074;
-0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075;
-0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076;
-0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077;
-0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078;
-0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079;
-005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A;
-005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;;
-005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;;
-005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;;
-005E;CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;SPACING CIRCUMFLEX;;;;
-005F;LOW LINE;Pc;0;ON;;;;;N;SPACING UNDERSCORE;;;;
-0060;GRAVE ACCENT;Sk;0;ON;;;;;N;SPACING GRAVE;;;;
-0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041
-0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042
-0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043
-0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044
-0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045
-0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046
-0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047
-0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048
-0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049
-006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A
-006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B
-006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C
-006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D
-006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E
-006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F
-0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050
-0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051
-0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052
-0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053
-0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054
-0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055
-0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056
-0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057
-0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058
-0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059
-007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A
-007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;;
-007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;;
-007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;;
-007E;TILDE;Sm;0;ON;;;;;N;;;;;
-007F;<control>;Cc;0;BN;;;;;N;DELETE;;;;
-0080;<control>;Cc;0;BN;;;;;N;;;;;
-0081;<control>;Cc;0;BN;;;;;N;;;;;
-0082;<control>;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;;
-0083;<control>;Cc;0;BN;;;;;N;NO BREAK HERE;;;;
-0084;<control>;Cc;0;BN;;;;;N;;;;;
-0085;<control>;Cc;0;B;;;;;N;NEXT LINE (NEL);;;;
-0086;<control>;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;;
-0087;<control>;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;;
-0088;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;;
-0089;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;;
-008A;<control>;Cc;0;BN;;;;;N;LINE TABULATION SET;;;;
-008B;<control>;Cc;0;BN;;;;;N;PARTIAL LINE FORWARD;;;;
-008C;<control>;Cc;0;BN;;;;;N;PARTIAL LINE BACKWARD;;;;
-008D;<control>;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;;
-008E;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;;
-008F;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;;
-0090;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;;
-0091;<control>;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;;
-0092;<control>;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;;
-0093;<control>;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;;
-0094;<control>;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;;
-0095;<control>;Cc;0;BN;;;;;N;MESSAGE WAITING;;;;
-0096;<control>;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;;
-0097;<control>;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;;
-0098;<control>;Cc;0;BN;;;;;N;START OF STRING;;;;
-0099;<control>;Cc;0;BN;;;;;N;;;;;
-009A;<control>;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;;
-009B;<control>;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;;
-009C;<control>;Cc;0;BN;;;;;N;STRING TERMINATOR;;;;
-009D;<control>;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;;
-009E;<control>;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;;
-009F;<control>;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;;
-00A0;NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;;
-00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
-00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;;
-00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;;
-00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
-00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;;
-00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;;
-00A7;SECTION SIGN;So;0;ON;;;;;N;;;;;
-00A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;;
-00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;;
-00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;;
-00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;;
-00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;;
-00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
-00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;;
-00AF;MACRON;Sk;0;ON;<compat> 0020 0304;;;;N;SPACING MACRON;;;;
-00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;;
-00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;;
-00B2;SUPERSCRIPT TWO;No;0;EN;<super> 0032;;2;2;N;SUPERSCRIPT DIGIT TWO;;;;
-00B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
-00B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;;
-00B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C
-00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;;
-00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;;
-00B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;;
-00B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
-00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L;<super> 006F;;;;N;;;;;
-00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;;
-00BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;;
-00BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;;
-00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON;<fraction> 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;;
-00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;;
-00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0;
-00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1;
-00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2;
-00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3;
-00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4;
-00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5;
-00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;;;00E6;
-00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7;
-00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8;
-00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9;
-00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA;
-00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB;
-00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC;
-00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED;
-00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE;
-00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF;
-00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;00F0;
-00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1;
-00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2;
-00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3;
-00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4;
-00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5;
-00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6;
-00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;;
-00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8;
-00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9;
-00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA;
-00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB;
-00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC;
-00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD;
-00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;;;00FE;
-00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;;;;
-00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0
-00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1
-00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2
-00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3
-00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4
-00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5
-00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;;00C6;;00C6
-00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7
-00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8
-00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9
-00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA
-00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB
-00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC
-00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD
-00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE
-00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF
-00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;;00D0;;00D0
-00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1
-00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2
-00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3
-00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4
-00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5
-00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6
-00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
-00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8
-00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9
-00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA
-00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB
-00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC
-00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD
-00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;;00DE;;00DE
-00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178
-0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101;
-0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100
-0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103;
-0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102
-0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105;
-0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104
-0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107;
-0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106
-0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109;
-0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108
-010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B;
-010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A
-010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D;
-010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C
-010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F;
-010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E
-0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111;
-0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110
-0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113;
-0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112
-0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115;
-0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114
-0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117;
-0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116
-0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119;
-0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118
-011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B;
-011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A
-011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D;
-011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C
-011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F;
-011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E
-0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121;
-0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120
-0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123;
-0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122
-0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125;
-0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124
-0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127;
-0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126
-0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129;
-0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128
-012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B;
-012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A
-012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D;
-012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C
-012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F;
-012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E
-0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069;
-0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049
-0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L;<compat> 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133;
-0133;LATIN SMALL LIGATURE IJ;Ll;0;L;<compat> 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132
-0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135;
-0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134
-0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137;
-0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136
-0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;;;;
-0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A;
-013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139
-013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C;
-013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B
-013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E;
-013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D
-013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L;<compat> 004C 00B7;;;;N;;;;0140;
-0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L;<compat> 006C 00B7;;;;N;;;013F;;013F
-0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142;
-0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141
-0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144;
-0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143
-0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146;
-0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145
-0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148;
-0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147
-0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L;<compat> 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;;
-014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;014B;
-014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;;014A;;014A
-014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D;
-014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C
-014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F;
-014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E
-0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151;
-0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150
-0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153;
-0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152
-0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155;
-0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154
-0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157;
-0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156
-0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159;
-0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158
-015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B;
-015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A
-015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D;
-015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C
-015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;;;015F;
-015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;;015E;;015E
-0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161;
-0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160
-0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;;;0163;
-0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;;0162;;0162
-0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165;
-0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164
-0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167;
-0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166
-0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169;
-0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168
-016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B;
-016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A
-016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D;
-016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C
-016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F;
-016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E
-0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171;
-0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170
-0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173;
-0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172
-0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175;
-0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174
-0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177;
-0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176
-0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF;
-0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A;
-017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179
-017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C;
-017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B
-017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E;
-017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D
-017F;LATIN SMALL LETTER LONG S;Ll;0;L;<compat> 0073;;;;N;;;0053;;0053
-0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;0243;;0243
-0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253;
-0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183;
-0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182
-0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185;
-0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184
-0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254;
-0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188;
-0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187
-0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;;;0256;
-018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257;
-018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C;
-018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B
-018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;;
-018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD;
-018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259;
-0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B;
-0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192;
-0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191
-0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260;
-0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263;
-0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;;01F6;;01F6
-0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269;
-0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268;
-0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199;
-0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198
-019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;023D;;023D
-019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;;
-019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F;
-019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272;
-019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;0220;;0220
-019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;;;0275;
-01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1;
-01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0
-01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;;;01A3;
-01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;;01A2;;01A2
-01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5;
-01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4
-01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;0280;
-01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8;
-01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7
-01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283;
-01AA;LATIN LETTER REVERSED ESH LOOP;Ll;0;L;;;;;N;;;;;
-01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;;
-01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD;
-01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC
-01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288;
-01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0;
-01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF
-01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A;
-01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B;
-01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4;
-01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3
-01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6;
-01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5
-01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292;
-01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9;
-01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8
-01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;;
-01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;;
-01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD;
-01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC
-01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;;
-01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7
-01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;;
-01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;;
-01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;;
-01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;;
-01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L;<compat> 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5
-01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L;<compat> 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6;01C5
-01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L;<compat> 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5
-01C7;LATIN CAPITAL LETTER LJ;Lu;0;L;<compat> 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8
-01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L;<compat> 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9;01C8
-01C9;LATIN SMALL LETTER LJ;Ll;0;L;<compat> 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8
-01CA;LATIN CAPITAL LETTER NJ;Lu;0;L;<compat> 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB
-01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L;<compat> 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC;01CB
-01CC;LATIN SMALL LETTER NJ;Ll;0;L;<compat> 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB
-01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE;
-01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD
-01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0;
-01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF
-01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2;
-01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1
-01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4;
-01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3
-01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6;
-01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5
-01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8;
-01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7
-01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA;
-01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9
-01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC;
-01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB
-01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E
-01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF;
-01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE
-01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1;
-01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0
-01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;;;01E3;
-01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;;01E2;;01E2
-01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5;
-01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4
-01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7;
-01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6
-01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9;
-01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8
-01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB;
-01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA
-01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED;
-01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC
-01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF;
-01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE
-01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;;
-01F1;LATIN CAPITAL LETTER DZ;Lu;0;L;<compat> 0044 005A;;;;N;;;;01F3;01F2
-01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L;<compat> 0044 007A;;;;N;;;01F1;01F3;01F2
-01F3;LATIN SMALL LETTER DZ;Ll;0;L;<compat> 0064 007A;;;;N;;;01F1;;01F2
-01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5;
-01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4
-01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195;
-01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF;
-01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9;
-01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8
-01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB;
-01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA
-01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;;;01FD;
-01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;;01FC;;01FC
-01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF;
-01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE
-0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201;
-0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200
-0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203;
-0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202
-0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205;
-0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204
-0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207;
-0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206
-0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209;
-0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208
-020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B;
-020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A
-020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D;
-020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C
-020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F;
-020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E
-0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211;
-0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210
-0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213;
-0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212
-0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215;
-0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214
-0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217;
-0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216
-0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;;;0219;
-0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;;0218;;0218
-021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;;;021B;
-021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;;021A;;021A
-021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D;
-021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C
-021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F;
-021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E
-0220;LATIN CAPITAL LETTER N WITH LONG RIGHT LEG;Lu;0;L;;;;;N;;;;019E;
-0221;LATIN SMALL LETTER D WITH CURL;Ll;0;L;;;;;N;;;;;
-0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223;
-0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222
-0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225;
-0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224
-0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227;
-0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226
-0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229;
-0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228
-022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B;
-022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A
-022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D;
-022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C
-022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F;
-022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E
-0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231;
-0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230
-0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233;
-0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232
-0234;LATIN SMALL LETTER L WITH CURL;Ll;0;L;;;;;N;;;;;
-0235;LATIN SMALL LETTER N WITH CURL;Ll;0;L;;;;;N;;;;;
-0236;LATIN SMALL LETTER T WITH CURL;Ll;0;L;;;;;N;;;;;
-0237;LATIN SMALL LETTER DOTLESS J;Ll;0;L;;;;;N;;;;;
-0238;LATIN SMALL LETTER DB DIGRAPH;Ll;0;L;;;;;N;;;;;
-0239;LATIN SMALL LETTER QP DIGRAPH;Ll;0;L;;;;;N;;;;;
-023A;LATIN CAPITAL LETTER A WITH STROKE;Lu;0;L;;;;;N;;;;2C65;
-023B;LATIN CAPITAL LETTER C WITH STROKE;Lu;0;L;;;;;N;;;;023C;
-023C;LATIN SMALL LETTER C WITH STROKE;Ll;0;L;;;;;N;;;023B;;023B
-023D;LATIN CAPITAL LETTER L WITH BAR;Lu;0;L;;;;;N;;;;019A;
-023E;LATIN CAPITAL LETTER T WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;2C66;
-023F;LATIN SMALL LETTER S WITH SWASH TAIL;Ll;0;L;;;;;N;;;2C7E;;2C7E
-0240;LATIN SMALL LETTER Z WITH SWASH TAIL;Ll;0;L;;;;;N;;;2C7F;;2C7F
-0241;LATIN CAPITAL LETTER GLOTTAL STOP;Lu;0;L;;;;;N;;;;0242;
-0242;LATIN SMALL LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;0241;;0241
-0243;LATIN CAPITAL LETTER B WITH STROKE;Lu;0;L;;;;;N;;;;0180;
-0244;LATIN CAPITAL LETTER U BAR;Lu;0;L;;;;;N;;;;0289;
-0245;LATIN CAPITAL LETTER TURNED V;Lu;0;L;;;;;N;;;;028C;
-0246;LATIN CAPITAL LETTER E WITH STROKE;Lu;0;L;;;;;N;;;;0247;
-0247;LATIN SMALL LETTER E WITH STROKE;Ll;0;L;;;;;N;;;0246;;0246
-0248;LATIN CAPITAL LETTER J WITH STROKE;Lu;0;L;;;;;N;;;;0249;
-0249;LATIN SMALL LETTER J WITH STROKE;Ll;0;L;;;;;N;;;0248;;0248
-024A;LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL;Lu;0;L;;;;;N;;;;024B;
-024B;LATIN SMALL LETTER Q WITH HOOK TAIL;Ll;0;L;;;;;N;;;024A;;024A
-024C;LATIN CAPITAL LETTER R WITH STROKE;Lu;0;L;;;;;N;;;;024D;
-024D;LATIN SMALL LETTER R WITH STROKE;Ll;0;L;;;;;N;;;024C;;024C
-024E;LATIN CAPITAL LETTER Y WITH STROKE;Lu;0;L;;;;;N;;;;024F;
-024F;LATIN SMALL LETTER Y WITH STROKE;Ll;0;L;;;;;N;;;024E;;024E
-0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;2C6F;;2C6F
-0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;2C6D;;2C6D
-0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;2C70;;2C70
-0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181
-0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186
-0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;;
-0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189
-0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A
-0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;;
-0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F
-025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;;
-025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190
-025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;;
-025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;;
-025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;;
-025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;;
-0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193
-0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;;
-0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;;
-0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
-0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
-0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;;
-0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;;
-0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
-0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
-0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
-026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;;
-026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;2C62;;2C62
-026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;;
-026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;;
-026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;;
-026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C
-0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;;
-0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;2C6E;;2C6E
-0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D
-0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;;
-0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;;
-0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F
-0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;;
-0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;;
-0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;;
-0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;;
-027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;;
-027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;;
-027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;;
-027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;2C64;;2C64
-027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;;
-027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;;
-0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6
-0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;;
-0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;;
-0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9
-0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;;
-0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;;
-0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;;
-0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;;
-0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE
-0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;0244;;0244
-028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1
-028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2
-028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;0245;;0245
-028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;;
-028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;;
-028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;;
-0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;;
-0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;;
-0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7
-0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;;
-0294;LATIN LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
-0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;;
-0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;;
-0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;;
-0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;;
-0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;;
-029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;;
-029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;;
-029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;;
-029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;;
-029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;;
-029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;;
-02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;;
-02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;;
-02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;;
-02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;;
-02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;;
-02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;;
-02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;;
-02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;;
-02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;;
-02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;;
-02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;;
-02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;;
-02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;;
-02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;;
-02AE;LATIN SMALL LETTER TURNED H WITH FISHHOOK;Ll;0;L;;;;;N;;;;;
-02AF;LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL;Ll;0;L;;;;;N;;;;;
-02B0;MODIFIER LETTER SMALL H;Lm;0;L;<super> 0068;;;;N;;;;;
-02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L;<super> 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;;
-02B2;MODIFIER LETTER SMALL J;Lm;0;L;<super> 006A;;;;N;;;;;
-02B3;MODIFIER LETTER SMALL R;Lm;0;L;<super> 0072;;;;N;;;;;
-02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L;<super> 0279;;;;N;;;;;
-02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L;<super> 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;;
-02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L;<super> 0281;;;;N;;;;;
-02B7;MODIFIER LETTER SMALL W;Lm;0;L;<super> 0077;;;;N;;;;;
-02B8;MODIFIER LETTER SMALL Y;Lm;0;L;<super> 0079;;;;N;;;;;
-02B9;MODIFIER LETTER PRIME;Lm;0;ON;;;;;N;;;;;
-02BA;MODIFIER LETTER DOUBLE PRIME;Lm;0;ON;;;;;N;;;;;
-02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;;
-02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;;
-02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;;
-02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;;
-02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;;
-02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;;
-02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;;
-02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;;
-02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;;;;
-02C8;MODIFIER LETTER VERTICAL LINE;Lm;0;ON;;;;;N;;;;;
-02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;;;;
-02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;;;;
-02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;;;;
-02CC;MODIFIER LETTER LOW VERTICAL LINE;Lm;0;ON;;;;;N;;;;;
-02CD;MODIFIER LETTER LOW MACRON;Lm;0;ON;;;;;N;;;;;
-02CE;MODIFIER LETTER LOW GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;;
-02CF;MODIFIER LETTER LOW ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;;
-02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;;
-02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;;
-02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;;
-02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;;
-02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;;
-02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;;
-02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;;
-02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;;
-02D8;BREVE;Sk;0;ON;<compat> 0020 0306;;;;N;SPACING BREVE;;;;
-02D9;DOT ABOVE;Sk;0;ON;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;;;;
-02DA;RING ABOVE;Sk;0;ON;<compat> 0020 030A;;;;N;SPACING RING ABOVE;;;;
-02DB;OGONEK;Sk;0;ON;<compat> 0020 0328;;;;N;SPACING OGONEK;;;;
-02DC;SMALL TILDE;Sk;0;ON;<compat> 0020 0303;;;;N;SPACING TILDE;;;;
-02DD;DOUBLE ACUTE ACCENT;Sk;0;ON;<compat> 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;;
-02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;;
-02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;N;;;;;
-02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L;<super> 0263;;;;N;;;;;
-02E1;MODIFIER LETTER SMALL L;Lm;0;L;<super> 006C;;;;N;;;;;
-02E2;MODIFIER LETTER SMALL S;Lm;0;L;<super> 0073;;;;N;;;;;
-02E3;MODIFIER LETTER SMALL X;Lm;0;L;<super> 0078;;;;N;;;;;
-02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L;<super> 0295;;;;N;;;;;
-02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;;
-02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;;
-02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;;
-02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;;
-02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;;
-02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;;
-02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;;
-02EC;MODIFIER LETTER VOICING;Lm;0;ON;;;;;N;;;;;
-02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;;
-02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;;
-02EF;MODIFIER LETTER LOW DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02F0;MODIFIER LETTER LOW UP ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02F1;MODIFIER LETTER LOW LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02F2;MODIFIER LETTER LOW RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
-02F3;MODIFIER LETTER LOW RING;Sk;0;ON;;;;;N;;;;;
-02F4;MODIFIER LETTER MIDDLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;;
-02F5;MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;;
-02F6;MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT;Sk;0;ON;;;;;N;;;;;
-02F7;MODIFIER LETTER LOW TILDE;Sk;0;ON;;;;;N;;;;;
-02F8;MODIFIER LETTER RAISED COLON;Sk;0;ON;;;;;N;;;;;
-02F9;MODIFIER LETTER BEGIN HIGH TONE;Sk;0;ON;;;;;N;;;;;
-02FA;MODIFIER LETTER END HIGH TONE;Sk;0;ON;;;;;N;;;;;
-02FB;MODIFIER LETTER BEGIN LOW TONE;Sk;0;ON;;;;;N;;;;;
-02FC;MODIFIER LETTER END LOW TONE;Sk;0;ON;;;;;N;;;;;
-02FD;MODIFIER LETTER SHELF;Sk;0;ON;;;;;N;;;;;
-02FE;MODIFIER LETTER OPEN SHELF;Sk;0;ON;;;;;N;;;;;
-02FF;MODIFIER LETTER LOW LEFT ARROW;Sk;0;ON;;;;;N;;;;;
-0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;;;;
-0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;;;;
-0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;;
-0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;;
-0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;;
-0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;;
-0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;;;;
-0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;;
-0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;;;;
-0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;;
-030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;;
-030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;;
-030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;;
-030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;;;;
-030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;;
-030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;;
-0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;;
-0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;;
-0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;;
-0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;;;;
-0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;;;;
-0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;;
-0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;;
-0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;;
-0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;;
-0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;;
-031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;;
-031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;;
-031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;;
-031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;;
-031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;;
-031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;;
-0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;;
-0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;;
-0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;;
-0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;;
-0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;;
-0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;;
-0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;;
-0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;;
-0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;;
-0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;;
-032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;;
-032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;;
-032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;;
-032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;;
-032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;;
-032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;;
-0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;;
-0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;;
-0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;;
-0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;;
-0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;;
-0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;;
-0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;;
-0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;;
-0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;;
-0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;;
-033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;;
-033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;;
-033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;;
-033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;;
-033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;;
-033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;;
-0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;;;;
-0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;;;;
-0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;;
-0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;;
-0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;;
-0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399
-0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;;
-0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;;
-0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;;
-0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;;
-034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;;
-034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;;
-034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;;
-034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
-034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
-034F;COMBINING GRAPHEME JOINER;Mn;0;NSM;;;;;N;;;;;
-0350;COMBINING RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
-0351;COMBINING LEFT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;;
-0352;COMBINING FERMATA;Mn;230;NSM;;;;;N;;;;;
-0353;COMBINING X BELOW;Mn;220;NSM;;;;;N;;;;;
-0354;COMBINING LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
-0355;COMBINING RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
-0356;COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
-0357;COMBINING RIGHT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;;
-0358;COMBINING DOT ABOVE RIGHT;Mn;232;NSM;;;;;N;;;;;
-0359;COMBINING ASTERISK BELOW;Mn;220;NSM;;;;;N;;;;;
-035A;COMBINING DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;;
-035B;COMBINING ZIGZAG ABOVE;Mn;230;NSM;;;;;N;;;;;
-035C;COMBINING DOUBLE BREVE BELOW;Mn;233;NSM;;;;;N;;;;;
-035D;COMBINING DOUBLE BREVE;Mn;234;NSM;;;;;N;;;;;
-035E;COMBINING DOUBLE MACRON;Mn;234;NSM;;;;;N;;;;;
-035F;COMBINING DOUBLE MACRON BELOW;Mn;233;NSM;;;;;N;;;;;
-0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;;
-0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;;
-0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;;
-0363;COMBINING LATIN SMALL LETTER A;Mn;230;NSM;;;;;N;;;;;
-0364;COMBINING LATIN SMALL LETTER E;Mn;230;NSM;;;;;N;;;;;
-0365;COMBINING LATIN SMALL LETTER I;Mn;230;NSM;;;;;N;;;;;
-0366;COMBINING LATIN SMALL LETTER O;Mn;230;NSM;;;;;N;;;;;
-0367;COMBINING LATIN SMALL LETTER U;Mn;230;NSM;;;;;N;;;;;
-0368;COMBINING LATIN SMALL LETTER C;Mn;230;NSM;;;;;N;;;;;
-0369;COMBINING LATIN SMALL LETTER D;Mn;230;NSM;;;;;N;;;;;
-036A;COMBINING LATIN SMALL LETTER H;Mn;230;NSM;;;;;N;;;;;
-036B;COMBINING LATIN SMALL LETTER M;Mn;230;NSM;;;;;N;;;;;
-036C;COMBINING LATIN SMALL LETTER R;Mn;230;NSM;;;;;N;;;;;
-036D;COMBINING LATIN SMALL LETTER T;Mn;230;NSM;;;;;N;;;;;
-036E;COMBINING LATIN SMALL LETTER V;Mn;230;NSM;;;;;N;;;;;
-036F;COMBINING LATIN SMALL LETTER X;Mn;230;NSM;;;;;N;;;;;
-0370;GREEK CAPITAL LETTER HETA;Lu;0;L;;;;;N;;;;0371;
-0371;GREEK SMALL LETTER HETA;Ll;0;L;;;;;N;;;0370;;0370
-0372;GREEK CAPITAL LETTER ARCHAIC SAMPI;Lu;0;L;;;;;N;;;;0373;
-0373;GREEK SMALL LETTER ARCHAIC SAMPI;Ll;0;L;;;;;N;;;0372;;0372
-0374;GREEK NUMERAL SIGN;Lm;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;;;;
-0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;;;;
-0376;GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA;Lu;0;L;;;;;N;;;;0377;
-0377;GREEK SMALL LETTER PAMPHYLIAN DIGAMMA;Ll;0;L;;;;;N;;;0376;;0376
-037A;GREEK YPOGEGRAMMENI;Lm;0;L;<compat> 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;;
-037B;GREEK SMALL REVERSED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FD;;03FD
-037C;GREEK SMALL DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FE;;03FE
-037D;GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FF;;03FF
-037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;;;;
-0384;GREEK TONOS;Sk;0;ON;<compat> 0020 0301;;;;N;GREEK SPACING TONOS;;;;
-0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
-0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
-0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;;
-0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD;
-0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE;
-038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF;
-038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC;
-038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD;
-038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE;
-0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;;
-0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1;
-0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2;
-0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3;
-0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4;
-0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5;
-0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6;
-0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7;
-0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;
-0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9;
-039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA;
-039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB;
-039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC;
-039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD;
-039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE;
-039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF;
-03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0;
-03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1;
-03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3;
-03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4;
-03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5;
-03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6;
-03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7;
-03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8;
-03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9;
-03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA;
-03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB;
-03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386
-03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388
-03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389
-03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A
-03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;;
-03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391
-03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392
-03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393
-03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394
-03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395
-03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396
-03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397
-03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398
-03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399
-03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A
-03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B
-03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C
-03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D
-03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E
-03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F
-03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0
-03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1
-03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
-03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
-03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4
-03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5
-03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6
-03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7
-03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8
-03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9
-03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA
-03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB
-03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C
-03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E
-03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F
-03CF;GREEK CAPITAL KAI SYMBOL;Lu;0;L;;;;;N;;;;03D7;
-03D0;GREEK BETA SYMBOL;Ll;0;L;<compat> 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392
-03D1;GREEK THETA SYMBOL;Ll;0;L;<compat> 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398
-03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L;<compat> 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;;
-03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;;
-03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;;
-03D5;GREEK PHI SYMBOL;Ll;0;L;<compat> 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6
-03D6;GREEK PI SYMBOL;Ll;0;L;<compat> 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0
-03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;03CF;;03CF
-03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;;;03D9;
-03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;;03D8;;03D8
-03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB;
-03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA
-03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD;
-03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC
-03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF;
-03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE
-03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1;
-03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0
-03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3;
-03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2
-03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5;
-03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4
-03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7;
-03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6
-03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9;
-03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8
-03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB;
-03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA
-03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED;
-03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC
-03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF;
-03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE
-03F0;GREEK KAPPA SYMBOL;Ll;0;L;<compat> 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A
-03F1;GREEK RHO SYMBOL;Ll;0;L;<compat> 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1
-03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;<compat> 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9
-03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;;
-03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;
-03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L;<compat> 03B5;;;;N;;;0395;;0395
-03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;;
-03F7;GREEK CAPITAL LETTER SHO;Lu;0;L;;;;;N;;;;03F8;
-03F8;GREEK SMALL LETTER SHO;Ll;0;L;;;;;N;;;03F7;;03F7
-03F9;GREEK CAPITAL LUNATE SIGMA SYMBOL;Lu;0;L;<compat> 03A3;;;;N;;;;03F2;
-03FA;GREEK CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;03FB;
-03FB;GREEK SMALL LETTER SAN;Ll;0;L;;;;;N;;;03FA;;03FA
-03FC;GREEK RHO WITH STROKE SYMBOL;Ll;0;L;;;;;N;;;;;
-03FD;GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037B;
-03FE;GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037C;
-03FF;GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037D;
-0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450;
-0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451;
-0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;;;0452;
-0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453;
-0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454;
-0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455;
-0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456;
-0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;;;0457;
-0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458;
-0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459;
-040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A;
-040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;;;045B;
-040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C;
-040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D;
-040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;;;045E;
-040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F;
-0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430;
-0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431;
-0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432;
-0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433;
-0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434;
-0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435;
-0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436;
-0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437;
-0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438;
-0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439;
-041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A;
-041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B;
-041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C;
-041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D;
-041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E;
-041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F;
-0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440;
-0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441;
-0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442;
-0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443;
-0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444;
-0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445;
-0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446;
-0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447;
-0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448;
-0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449;
-042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A;
-042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B;
-042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C;
-042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D;
-042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E;
-042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F;
-0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410
-0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411
-0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412
-0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413
-0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414
-0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415
-0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416
-0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417
-0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418
-0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419
-043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A
-043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B
-043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C
-043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D
-043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E
-043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F
-0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420
-0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421
-0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422
-0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423
-0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424
-0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425
-0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426
-0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427
-0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428
-0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429
-044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A
-044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B
-044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C
-044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D
-044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E
-044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F
-0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400
-0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401
-0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;;0402;;0402
-0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403
-0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404
-0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405
-0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406
-0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;;0407;;0407
-0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408
-0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409
-045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A
-045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;;040B;;040B
-045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C
-045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D
-045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;;040E;;040E
-045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F
-0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461;
-0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460
-0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463;
-0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462
-0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465;
-0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464
-0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467;
-0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466
-0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469;
-0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468
-046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B;
-046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A
-046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D;
-046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C
-046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F;
-046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E
-0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471;
-0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470
-0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473;
-0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472
-0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475;
-0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474
-0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477;
-0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476
-0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479;
-0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478
-047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B;
-047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A
-047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D;
-047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C
-047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F;
-047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E
-0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481;
-0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480
-0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;;
-0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;;
-0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;;
-0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;;
-0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;;
-0487;COMBINING CYRILLIC POKRYTIE;Mn;230;NSM;;;;;N;;;;;
-0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;;
-0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
-048A;CYRILLIC CAPITAL LETTER SHORT I WITH TAIL;Lu;0;L;;;;;N;;;;048B;
-048B;CYRILLIC SMALL LETTER SHORT I WITH TAIL;Ll;0;L;;;;;N;;;048A;;048A
-048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D;
-048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C
-048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F;
-048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E
-0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491;
-0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490
-0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493;
-0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492
-0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495;
-0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494
-0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497;
-0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496
-0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499;
-0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498
-049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B;
-049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A
-049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D;
-049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C
-049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F;
-049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E
-04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1;
-04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0
-04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3;
-04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2
-04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5;
-04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4
-04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;;;04A7;
-04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;;04A6;;04A6
-04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9;
-04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8
-04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB;
-04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA
-04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD;
-04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC
-04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF;
-04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE
-04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1;
-04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0
-04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3;
-04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2
-04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;;;04B5;
-04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;;04B4;;04B4
-04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7;
-04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6
-04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9;
-04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8
-04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB;
-04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA
-04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD;
-04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC
-04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF;
-04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE
-04C0;CYRILLIC LETTER PALOCHKA;Lu;0;L;;;;;N;CYRILLIC LETTER I;;;04CF;
-04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2;
-04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1
-04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4;
-04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3
-04C5;CYRILLIC CAPITAL LETTER EL WITH TAIL;Lu;0;L;;;;;N;;;;04C6;
-04C6;CYRILLIC SMALL LETTER EL WITH TAIL;Ll;0;L;;;;;N;;;04C5;;04C5
-04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8;
-04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7
-04C9;CYRILLIC CAPITAL LETTER EN WITH TAIL;Lu;0;L;;;;;N;;;;04CA;
-04CA;CYRILLIC SMALL LETTER EN WITH TAIL;Ll;0;L;;;;;N;;;04C9;;04C9
-04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC;
-04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB
-04CD;CYRILLIC CAPITAL LETTER EM WITH TAIL;Lu;0;L;;;;;N;;;;04CE;
-04CE;CYRILLIC SMALL LETTER EM WITH TAIL;Ll;0;L;;;;;N;;;04CD;;04CD
-04CF;CYRILLIC SMALL LETTER PALOCHKA;Ll;0;L;;;;;N;;;04C0;;04C0
-04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1;
-04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0
-04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3;
-04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2
-04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5;
-04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4
-04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7;
-04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6
-04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9;
-04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8
-04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB;
-04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA
-04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD;
-04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC
-04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF;
-04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE
-04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1;
-04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0
-04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3;
-04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2
-04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5;
-04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4
-04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7;
-04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6
-04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9;
-04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8
-04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB;
-04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA
-04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED;
-04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC
-04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF;
-04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE
-04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1;
-04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0
-04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3;
-04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2
-04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5;
-04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4
-04F6;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER;Lu;0;L;;;;;N;;;;04F7;
-04F7;CYRILLIC SMALL LETTER GHE WITH DESCENDER;Ll;0;L;;;;;N;;;04F6;;04F6
-04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9;
-04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8
-04FA;CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK;Lu;0;L;;;;;N;;;;04FB;
-04FB;CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK;Ll;0;L;;;;;N;;;04FA;;04FA
-04FC;CYRILLIC CAPITAL LETTER HA WITH HOOK;Lu;0;L;;;;;N;;;;04FD;
-04FD;CYRILLIC SMALL LETTER HA WITH HOOK;Ll;0;L;;;;;N;;;04FC;;04FC
-04FE;CYRILLIC CAPITAL LETTER HA WITH STROKE;Lu;0;L;;;;;N;;;;04FF;
-04FF;CYRILLIC SMALL LETTER HA WITH STROKE;Ll;0;L;;;;;N;;;04FE;;04FE
-0500;CYRILLIC CAPITAL LETTER KOMI DE;Lu;0;L;;;;;N;;;;0501;
-0501;CYRILLIC SMALL LETTER KOMI DE;Ll;0;L;;;;;N;;;0500;;0500
-0502;CYRILLIC CAPITAL LETTER KOMI DJE;Lu;0;L;;;;;N;;;;0503;
-0503;CYRILLIC SMALL LETTER KOMI DJE;Ll;0;L;;;;;N;;;0502;;0502
-0504;CYRILLIC CAPITAL LETTER KOMI ZJE;Lu;0;L;;;;;N;;;;0505;
-0505;CYRILLIC SMALL LETTER KOMI ZJE;Ll;0;L;;;;;N;;;0504;;0504
-0506;CYRILLIC CAPITAL LETTER KOMI DZJE;Lu;0;L;;;;;N;;;;0507;
-0507;CYRILLIC SMALL LETTER KOMI DZJE;Ll;0;L;;;;;N;;;0506;;0506
-0508;CYRILLIC CAPITAL LETTER KOMI LJE;Lu;0;L;;;;;N;;;;0509;
-0509;CYRILLIC SMALL LETTER KOMI LJE;Ll;0;L;;;;;N;;;0508;;0508
-050A;CYRILLIC CAPITAL LETTER KOMI NJE;Lu;0;L;;;;;N;;;;050B;
-050B;CYRILLIC SMALL LETTER KOMI NJE;Ll;0;L;;;;;N;;;050A;;050A
-050C;CYRILLIC CAPITAL LETTER KOMI SJE;Lu;0;L;;;;;N;;;;050D;
-050D;CYRILLIC SMALL LETTER KOMI SJE;Ll;0;L;;;;;N;;;050C;;050C
-050E;CYRILLIC CAPITAL LETTER KOMI TJE;Lu;0;L;;;;;N;;;;050F;
-050F;CYRILLIC SMALL LETTER KOMI TJE;Ll;0;L;;;;;N;;;050E;;050E
-0510;CYRILLIC CAPITAL LETTER REVERSED ZE;Lu;0;L;;;;;N;;;;0511;
-0511;CYRILLIC SMALL LETTER REVERSED ZE;Ll;0;L;;;;;N;;;0510;;0510
-0512;CYRILLIC CAPITAL LETTER EL WITH HOOK;Lu;0;L;;;;;N;;;;0513;
-0513;CYRILLIC SMALL LETTER EL WITH HOOK;Ll;0;L;;;;;N;;;0512;;0512
-0514;CYRILLIC CAPITAL LETTER LHA;Lu;0;L;;;;;N;;;;0515;
-0515;CYRILLIC SMALL LETTER LHA;Ll;0;L;;;;;N;;;0514;;0514
-0516;CYRILLIC CAPITAL LETTER RHA;Lu;0;L;;;;;N;;;;0517;
-0517;CYRILLIC SMALL LETTER RHA;Ll;0;L;;;;;N;;;0516;;0516
-0518;CYRILLIC CAPITAL LETTER YAE;Lu;0;L;;;;;N;;;;0519;
-0519;CYRILLIC SMALL LETTER YAE;Ll;0;L;;;;;N;;;0518;;0518
-051A;CYRILLIC CAPITAL LETTER QA;Lu;0;L;;;;;N;;;;051B;
-051B;CYRILLIC SMALL LETTER QA;Ll;0;L;;;;;N;;;051A;;051A
-051C;CYRILLIC CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;051D;
-051D;CYRILLIC SMALL LETTER WE;Ll;0;L;;;;;N;;;051C;;051C
-051E;CYRILLIC CAPITAL LETTER ALEUT KA;Lu;0;L;;;;;N;;;;051F;
-051F;CYRILLIC SMALL LETTER ALEUT KA;Ll;0;L;;;;;N;;;051E;;051E
-0520;CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0521;
-0521;CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0520;;0520
-0522;CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0523;
-0523;CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0522;;0522
-0524;CYRILLIC CAPITAL LETTER PE WITH DESCENDER;Lu;0;L;;;;;N;;;;0525;
-0525;CYRILLIC SMALL LETTER PE WITH DESCENDER;Ll;0;L;;;;;N;;;0524;;0524
-0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561;
-0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562;
-0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563;
-0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564;
-0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565;
-0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566;
-0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567;
-0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568;
-0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569;
-053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A;
-053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B;
-053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C;
-053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D;
-053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E;
-053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F;
-0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570;
-0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571;
-0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572;
-0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573;
-0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574;
-0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575;
-0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576;
-0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577;
-0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578;
-0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579;
-054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A;
-054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B;
-054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C;
-054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D;
-054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E;
-054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F;
-0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580;
-0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581;
-0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582;
-0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583;
-0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584;
-0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585;
-0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586;
-0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;;
-055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;;
-055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;;
-055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;;
-055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;;
-055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;;
-055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;;
-0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531
-0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532
-0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533
-0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534
-0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535
-0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536
-0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537
-0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538
-0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539
-056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A
-056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B
-056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C
-056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D
-056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E
-056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F
-0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540
-0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541
-0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542
-0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543
-0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544
-0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545
-0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546
-0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547
-0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548
-0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549
-057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A
-057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B
-057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C
-057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D
-057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E
-057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F
-0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550
-0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551
-0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552
-0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553
-0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554
-0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555
-0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556
-0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
-0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
-058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
-0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
-0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
-0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
-0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;;
-0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;;
-0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;;;;
-0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;;
-0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;;;;
-0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;;
-059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;;
-059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;;
-059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;;
-059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;;
-059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;;
-059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;;
-05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;;
-05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;;
-05A2;HEBREW ACCENT ATNAH HAFUKH;Mn;220;NSM;;;;;N;;;;;
-05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;;
-05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;;
-05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;;;;
-05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;;
-05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;;
-05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;;;;
-05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;;
-05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;;;;
-05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;;
-05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;;
-05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;;
-05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;;
-05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;;
-05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;;
-05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;;
-05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;;
-05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;;
-05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;;
-05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;;
-05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;;
-05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;;
-05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;;
-05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;;
-05BA;HEBREW POINT HOLAM HASER FOR VAV;Mn;19;NSM;;;;;N;;;;;
-05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;;
-05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;;;;
-05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;;;;
-05BE;HEBREW PUNCTUATION MAQAF;Pd;0;R;;;;;N;;;;;
-05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;;
-05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;;
-05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;;
-05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;;
-05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;;
-05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;;
-05C5;HEBREW MARK LOWER DOT;Mn;220;NSM;;;;;N;;;;;
-05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;;
-05C7;HEBREW POINT QAMATS QATAN;Mn;18;NSM;;;;;N;;;;;
-05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;;
-05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;;
-05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;;
-05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;;
-05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;;
-05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;;
-05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
-05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;;
-05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;;
-05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;;
-05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;;
-05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;;
-05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;;
-05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;;
-05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;;
-05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
-05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;;
-05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
-05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;;
-05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;;
-05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;;
-05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;;
-05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;;
-05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;;
-05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;;
-05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;;
-05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;;
-05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;;
-05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;;
-05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;;
-05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;;
-05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;;
-0600;ARABIC NUMBER SIGN;Cf;0;AN;;;;;N;;;;;
-0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;;
-0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;;
-0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;;
-0606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;;
-0607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;;
-0608;ARABIC RAY;Sm;0;AL;;;;;N;;;;;
-0609;ARABIC-INDIC PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
-060A;ARABIC-INDIC PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;;
-060B;AFGHANI SIGN;Sc;0;AL;;;;;N;;;;;
-060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;;
-060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;;
-060E;ARABIC POETIC VERSE SIGN;So;0;ON;;;;;N;;;;;
-060F;ARABIC SIGN MISRA;So;0;ON;;;;;N;;;;;
-0610;ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM;Mn;230;NSM;;;;;N;;;;;
-0611;ARABIC SIGN ALAYHE ASSALLAM;Mn;230;NSM;;;;;N;;;;;
-0612;ARABIC SIGN RAHMATULLAH ALAYHE;Mn;230;NSM;;;;;N;;;;;
-0613;ARABIC SIGN RADI ALLAHOU ANHU;Mn;230;NSM;;;;;N;;;;;
-0614;ARABIC SIGN TAKHALLUS;Mn;230;NSM;;;;;N;;;;;
-0615;ARABIC SMALL HIGH TAH;Mn;230;NSM;;;;;N;;;;;
-0616;ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH;Mn;230;NSM;;;;;N;;;;;
-0617;ARABIC SMALL HIGH ZAIN;Mn;230;NSM;;;;;N;;;;;
-0618;ARABIC SMALL FATHA;Mn;30;NSM;;;;;N;;;;;
-0619;ARABIC SMALL DAMMA;Mn;31;NSM;;;;;N;;;;;
-061A;ARABIC SMALL KASRA;Mn;32;NSM;;;;;N;;;;;
-061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;;
-061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;;
-061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;;
-0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;;
-0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
-0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
-0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;;
-0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;;
-0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;;
-0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;;
-0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;;
-0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;;
-062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;;
-062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;;
-062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;;
-062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;;
-062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;;
-062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;;
-0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;;
-0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;;
-0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
-0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;;
-0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;;
-0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;;
-0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;;
-0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;;
-0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;;
-0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;;
-063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;;
-063B;ARABIC LETTER KEHEH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-063C;ARABIC LETTER KEHEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-063D;ARABIC LETTER FARSI YEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
-063E;ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-063F;ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;;
-0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;;
-0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;;
-0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;;
-0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;;
-0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;;
-0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;;
-0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;;
-0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;;
-0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;;
-064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;;
-064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;;
-064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;;
-064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;;
-064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;;
-064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;;
-0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;;
-0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;;
-0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;;
-0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;;
-0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;;
-0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;N;;;;;
-0656;ARABIC SUBSCRIPT ALEF;Mn;220;NSM;;;;;N;;;;;
-0657;ARABIC INVERTED DAMMA;Mn;230;NSM;;;;;N;;;;;
-0658;ARABIC MARK NOON GHUNNA;Mn;230;NSM;;;;;N;;;;;
-0659;ARABIC ZWARAKAY;Mn;230;NSM;;;;;N;;;;;
-065A;ARABIC VOWEL SIGN SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;;
-065B;ARABIC VOWEL SIGN INVERTED SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;;
-065C;ARABIC VOWEL SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;;
-065D;ARABIC REVERSED DAMMA;Mn;230;NSM;;;;;N;;;;;
-065E;ARABIC FATHA WITH TWO DOTS;Mn;230;NSM;;;;;N;;;;;
-0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
-0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
-0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
-0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
-0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
-0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
-0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
-0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
-0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
-0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
-066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;;
-066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;;
-066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;;
-066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;;
-066E;ARABIC LETTER DOTLESS BEH;Lo;0;AL;;;;;N;;;;;
-066F;ARABIC LETTER DOTLESS QAF;Lo;0;AL;;;;;N;;;;;
-0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;;
-0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;;
-0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;;
-0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;;
-0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;;
-0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL;<compat> 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;;
-0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL;<compat> 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;;
-0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL;<compat> 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;;
-0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL;<compat> 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;;
-0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;;
-067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;;
-067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;;
-067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;;
-067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;;
-067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;;
-067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;;
-0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;;
-0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;;
-0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;;
-0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;;
-0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;;
-0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;;
-0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;;
-0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;;
-0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;;
-0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;;
-068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
-068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;;
-068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;;
-068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;;
-068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;;
-068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;;
-0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;;
-0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;;
-0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;;
-0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;;
-0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;;
-0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;;
-0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;;
-0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;;
-0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;;
-069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;;
-06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;;
-06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;;
-06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;;
-06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;;
-06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;;
-06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;;
-06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;;
-06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;;
-06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;;
-06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;;
-06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;;
-06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;;;;
-06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;;
-06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;;
-06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;;
-06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;;
-06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
-06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;;
-06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;;
-06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;;
-06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;;
-06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;;
-06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;;
-06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;;
-06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;;
-06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;;
-06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;;
-06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;;
-06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;;
-06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;;
-06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;;
-06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;;
-06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;;
-06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;;
-06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;;
-06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;;;;
-06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;;
-06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;;
-06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;;
-06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;;
-06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;;
-06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;;
-06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;;
-06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;;
-06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;;
-06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;;
-06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;;
-06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;;
-06DD;ARABIC END OF AYAH;Cf;0;AN;;;;;N;;;;;
-06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;;
-06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;;
-06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;;
-06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;;
-06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;;
-06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;;
-06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;;
-06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;;
-06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;;
-06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;;
-06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;;
-06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;;
-06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;;
-06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;;
-06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;;
-06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;N;;;;;
-06EE;ARABIC LETTER DAL WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
-06EF;ARABIC LETTER REH WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
-06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;;
-06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;;
-06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;;
-06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;;
-06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;;
-06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;;
-06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;;
-06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;;
-06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;;
-06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;;
-06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
-06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
-06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
-06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;;
-06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;;
-06FF;ARABIC LETTER HEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
-0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;;
-0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;;
-0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;;
-0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;;
-0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;;
-0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;;
-0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;;
-0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;;
-0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;;
-0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;;
-070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;;
-070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;;
-070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;;
-070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;;
-070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;;
-0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;;
-0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
-0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;;
-0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;;
-0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;;
-0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;;
-0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;;
-0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;;
-0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;;
-0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
-071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;;
-071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;;
-071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;;
-071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;;
-071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;;
-071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;;
-0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;;
-0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;;
-0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;;
-0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;;
-0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;;
-0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;;
-0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;;
-0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;;
-0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;;
-0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;;
-072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;;
-072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;;
-072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;;
-072D;SYRIAC LETTER PERSIAN BHETH;Lo;0;AL;;;;;N;;;;;
-072E;SYRIAC LETTER PERSIAN GHAMAL;Lo;0;AL;;;;;N;;;;;
-072F;SYRIAC LETTER PERSIAN DHALATH;Lo;0;AL;;;;;N;;;;;
-0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;;
-0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;;
-0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;;
-0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;;
-0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;;
-0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;;
-0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;;
-0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;;
-0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;;
-0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;;
-073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;;
-073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;;
-073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;;
-073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;;
-073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;;
-073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;;
-0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;;
-0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;;
-0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;;
-0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
-0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
-0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
-0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
-0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;;
-0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;;
-0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;;
-074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;;
-074D;SYRIAC LETTER SOGDIAN ZHAIN;Lo;0;AL;;;;;N;;;;;
-074E;SYRIAC LETTER SOGDIAN KHAPH;Lo;0;AL;;;;;N;;;;;
-074F;SYRIAC LETTER SOGDIAN FE;Lo;0;AL;;;;;N;;;;;
-0750;ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW;Lo;0;AL;;;;;N;;;;;
-0751;ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0752;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
-0753;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0754;ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-0755;ARABIC LETTER BEH WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
-0756;ARABIC LETTER BEH WITH SMALL V;Lo;0;AL;;;;;N;;;;;
-0757;ARABIC LETTER HAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0758;ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
-0759;ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;;
-075A;ARABIC LETTER DAL WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
-075B;ARABIC LETTER REH WITH STROKE;Lo;0;AL;;;;;N;;;;;
-075C;ARABIC LETTER SEEN WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-075D;ARABIC LETTER AIN WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-075E;ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE;Lo;0;AL;;;;;N;;;;;
-075F;ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;;
-0760;ARABIC LETTER FEH WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-0761;ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
-0762;ARABIC LETTER KEHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-0763;ARABIC LETTER KEHEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0764;ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;;
-0765;ARABIC LETTER MEEM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
-0766;ARABIC LETTER MEEM WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
-0767;ARABIC LETTER NOON WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
-0768;ARABIC LETTER NOON WITH SMALL TAH;Lo;0;AL;;;;;N;;;;;
-0769;ARABIC LETTER NOON WITH SMALL V;Lo;0;AL;;;;;N;;;;;
-076A;ARABIC LETTER LAM WITH BAR;Lo;0;AL;;;;;N;;;;;
-076B;ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;;
-076C;ARABIC LETTER REH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
-076D;ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;;
-076E;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW;Lo;0;AL;;;;;N;;;;;
-076F;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;;
-0770;ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;;
-0771;ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;;
-0772;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE;Lo;0;AL;;;;;N;;;;;
-0773;ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;;
-0774;ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;;
-0775;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;;
-0776;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;;
-0777;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW;Lo;0;AL;;;;;N;;;;;
-0778;ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;;
-0779;ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;;
-077A;ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;;
-077B;ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;;
-077C;ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW;Lo;0;AL;;;;;N;;;;;
-077D;ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE;Lo;0;AL;;;;;N;;;;;
-077E;ARABIC LETTER SEEN WITH INVERTED V;Lo;0;AL;;;;;N;;;;;
-077F;ARABIC LETTER KAF WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
-0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;;
-0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;;
-0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;;
-0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;;
-0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;;
-0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;;
-0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;;
-0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;;
-0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;;
-0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;;
-078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;;
-078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;;
-078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;;
-078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;;
-078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;;
-078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;;
-0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;;
-0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;;
-0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;;
-0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;;
-0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;;
-0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;;
-0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;;
-0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;;
-0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;;
-0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;;
-079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;;
-079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;;
-079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;;
-079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;;
-079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;;
-079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;;
-07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;;
-07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;;
-07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;;
-07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;;
-07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;;
-07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;;
-07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;;
-07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;;
-07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;;
-07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;;
-07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;;
-07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;;
-07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;;
-07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;;
-07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;;
-07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;;
-07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;;
-07B1;THAANA LETTER NAA;Lo;0;AL;;;;;N;;;;;
-07C0;NKO DIGIT ZERO;Nd;0;R;;0;0;0;N;;;;;
-07C1;NKO DIGIT ONE;Nd;0;R;;1;1;1;N;;;;;
-07C2;NKO DIGIT TWO;Nd;0;R;;2;2;2;N;;;;;
-07C3;NKO DIGIT THREE;Nd;0;R;;3;3;3;N;;;;;
-07C4;NKO DIGIT FOUR;Nd;0;R;;4;4;4;N;;;;;
-07C5;NKO DIGIT FIVE;Nd;0;R;;5;5;5;N;;;;;
-07C6;NKO DIGIT SIX;Nd;0;R;;6;6;6;N;;;;;
-07C7;NKO DIGIT SEVEN;Nd;0;R;;7;7;7;N;;;;;
-07C8;NKO DIGIT EIGHT;Nd;0;R;;8;8;8;N;;;;;
-07C9;NKO DIGIT NINE;Nd;0;R;;9;9;9;N;;;;;
-07CA;NKO LETTER A;Lo;0;R;;;;;N;;;;;
-07CB;NKO LETTER EE;Lo;0;R;;;;;N;;;;;
-07CC;NKO LETTER I;Lo;0;R;;;;;N;;;;;
-07CD;NKO LETTER E;Lo;0;R;;;;;N;;;;;
-07CE;NKO LETTER U;Lo;0;R;;;;;N;;;;;
-07CF;NKO LETTER OO;Lo;0;R;;;;;N;;;;;
-07D0;NKO LETTER O;Lo;0;R;;;;;N;;;;;
-07D1;NKO LETTER DAGBASINNA;Lo;0;R;;;;;N;;;;;
-07D2;NKO LETTER N;Lo;0;R;;;;;N;;;;;
-07D3;NKO LETTER BA;Lo;0;R;;;;;N;;;;;
-07D4;NKO LETTER PA;Lo;0;R;;;;;N;;;;;
-07D5;NKO LETTER TA;Lo;0;R;;;;;N;;;;;
-07D6;NKO LETTER JA;Lo;0;R;;;;;N;;;;;
-07D7;NKO LETTER CHA;Lo;0;R;;;;;N;;;;;
-07D8;NKO LETTER DA;Lo;0;R;;;;;N;;;;;
-07D9;NKO LETTER RA;Lo;0;R;;;;;N;;;;;
-07DA;NKO LETTER RRA;Lo;0;R;;;;;N;;;;;
-07DB;NKO LETTER SA;Lo;0;R;;;;;N;;;;;
-07DC;NKO LETTER GBA;Lo;0;R;;;;;N;;;;;
-07DD;NKO LETTER FA;Lo;0;R;;;;;N;;;;;
-07DE;NKO LETTER KA;Lo;0;R;;;;;N;;;;;
-07DF;NKO LETTER LA;Lo;0;R;;;;;N;;;;;
-07E0;NKO LETTER NA WOLOSO;Lo;0;R;;;;;N;;;;;
-07E1;NKO LETTER MA;Lo;0;R;;;;;N;;;;;
-07E2;NKO LETTER NYA;Lo;0;R;;;;;N;;;;;
-07E3;NKO LETTER NA;Lo;0;R;;;;;N;;;;;
-07E4;NKO LETTER HA;Lo;0;R;;;;;N;;;;;
-07E5;NKO LETTER WA;Lo;0;R;;;;;N;;;;;
-07E6;NKO LETTER YA;Lo;0;R;;;;;N;;;;;
-07E7;NKO LETTER NYA WOLOSO;Lo;0;R;;;;;N;;;;;
-07E8;NKO LETTER JONA JA;Lo;0;R;;;;;N;;;;;
-07E9;NKO LETTER JONA CHA;Lo;0;R;;;;;N;;;;;
-07EA;NKO LETTER JONA RA;Lo;0;R;;;;;N;;;;;
-07EB;NKO COMBINING SHORT HIGH TONE;Mn;230;NSM;;;;;N;;;;;
-07EC;NKO COMBINING SHORT LOW TONE;Mn;230;NSM;;;;;N;;;;;
-07ED;NKO COMBINING SHORT RISING TONE;Mn;230;NSM;;;;;N;;;;;
-07EE;NKO COMBINING LONG DESCENDING TONE;Mn;230;NSM;;;;;N;;;;;
-07EF;NKO COMBINING LONG HIGH TONE;Mn;230;NSM;;;;;N;;;;;
-07F0;NKO COMBINING LONG LOW TONE;Mn;230;NSM;;;;;N;;;;;
-07F1;NKO COMBINING LONG RISING TONE;Mn;230;NSM;;;;;N;;;;;
-07F2;NKO COMBINING NASALIZATION MARK;Mn;220;NSM;;;;;N;;;;;
-07F3;NKO COMBINING DOUBLE DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
-07F4;NKO HIGH TONE APOSTROPHE;Lm;0;R;;;;;N;;;;;
-07F5;NKO LOW TONE APOSTROPHE;Lm;0;R;;;;;N;;;;;
-07F6;NKO SYMBOL OO DENNEN;So;0;ON;;;;;N;;;;;
-07F7;NKO SYMBOL GBAKURUNEN;Po;0;ON;;;;;N;;;;;
-07F8;NKO COMMA;Po;0;ON;;;;;N;;;;;
-07F9;NKO EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
-07FA;NKO LAJANYALAN;Lm;0;R;;;;;N;;;;;
-0800;SAMARITAN LETTER ALAF;Lo;0;R;;;;;N;;;;;
-0801;SAMARITAN LETTER BIT;Lo;0;R;;;;;N;;;;;
-0802;SAMARITAN LETTER GAMAN;Lo;0;R;;;;;N;;;;;
-0803;SAMARITAN LETTER DALAT;Lo;0;R;;;;;N;;;;;
-0804;SAMARITAN LETTER IY;Lo;0;R;;;;;N;;;;;
-0805;SAMARITAN LETTER BAA;Lo;0;R;;;;;N;;;;;
-0806;SAMARITAN LETTER ZEN;Lo;0;R;;;;;N;;;;;
-0807;SAMARITAN LETTER IT;Lo;0;R;;;;;N;;;;;
-0808;SAMARITAN LETTER TIT;Lo;0;R;;;;;N;;;;;
-0809;SAMARITAN LETTER YUT;Lo;0;R;;;;;N;;;;;
-080A;SAMARITAN LETTER KAAF;Lo;0;R;;;;;N;;;;;
-080B;SAMARITAN LETTER LABAT;Lo;0;R;;;;;N;;;;;
-080C;SAMARITAN LETTER MIM;Lo;0;R;;;;;N;;;;;
-080D;SAMARITAN LETTER NUN;Lo;0;R;;;;;N;;;;;
-080E;SAMARITAN LETTER SINGAAT;Lo;0;R;;;;;N;;;;;
-080F;SAMARITAN LETTER IN;Lo;0;R;;;;;N;;;;;
-0810;SAMARITAN LETTER FI;Lo;0;R;;;;;N;;;;;
-0811;SAMARITAN LETTER TSAADIY;Lo;0;R;;;;;N;;;;;
-0812;SAMARITAN LETTER QUF;Lo;0;R;;;;;N;;;;;
-0813;SAMARITAN LETTER RISH;Lo;0;R;;;;;N;;;;;
-0814;SAMARITAN LETTER SHAN;Lo;0;R;;;;;N;;;;;
-0815;SAMARITAN LETTER TAAF;Lo;0;R;;;;;N;;;;;
-0816;SAMARITAN MARK IN;Mn;230;NSM;;;;;N;;;;;
-0817;SAMARITAN MARK IN-ALAF;Mn;230;NSM;;;;;N;;;;;
-0818;SAMARITAN MARK OCCLUSION;Mn;230;NSM;;;;;N;;;;;
-0819;SAMARITAN MARK DAGESH;Mn;230;NSM;;;;;N;;;;;
-081A;SAMARITAN MODIFIER LETTER EPENTHETIC YUT;Lm;0;R;;;;;N;;;;;
-081B;SAMARITAN MARK EPENTHETIC YUT;Mn;230;NSM;;;;;N;;;;;
-081C;SAMARITAN VOWEL SIGN LONG E;Mn;230;NSM;;;;;N;;;;;
-081D;SAMARITAN VOWEL SIGN E;Mn;230;NSM;;;;;N;;;;;
-081E;SAMARITAN VOWEL SIGN OVERLONG AA;Mn;230;NSM;;;;;N;;;;;
-081F;SAMARITAN VOWEL SIGN LONG AA;Mn;230;NSM;;;;;N;;;;;
-0820;SAMARITAN VOWEL SIGN AA;Mn;230;NSM;;;;;N;;;;;
-0821;SAMARITAN VOWEL SIGN OVERLONG A;Mn;230;NSM;;;;;N;;;;;
-0822;SAMARITAN VOWEL SIGN LONG A;Mn;230;NSM;;;;;N;;;;;
-0823;SAMARITAN VOWEL SIGN A;Mn;230;NSM;;;;;N;;;;;
-0824;SAMARITAN MODIFIER LETTER SHORT A;Lm;0;R;;;;;N;;;;;
-0825;SAMARITAN VOWEL SIGN SHORT A;Mn;230;NSM;;;;;N;;;;;
-0826;SAMARITAN VOWEL SIGN LONG U;Mn;230;NSM;;;;;N;;;;;
-0827;SAMARITAN VOWEL SIGN U;Mn;230;NSM;;;;;N;;;;;
-0828;SAMARITAN MODIFIER LETTER I;Lm;0;R;;;;;N;;;;;
-0829;SAMARITAN VOWEL SIGN LONG I;Mn;230;NSM;;;;;N;;;;;
-082A;SAMARITAN VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;;
-082B;SAMARITAN VOWEL SIGN O;Mn;230;NSM;;;;;N;;;;;
-082C;SAMARITAN VOWEL SIGN SUKUN;Mn;230;NSM;;;;;N;;;;;
-082D;SAMARITAN MARK NEQUDAA;Mn;230;NSM;;;;;N;;;;;
-0830;SAMARITAN PUNCTUATION NEQUDAA;Po;0;R;;;;;N;;;;;
-0831;SAMARITAN PUNCTUATION AFSAAQ;Po;0;R;;;;;N;;;;;
-0832;SAMARITAN PUNCTUATION ANGED;Po;0;R;;;;;N;;;;;
-0833;SAMARITAN PUNCTUATION BAU;Po;0;R;;;;;N;;;;;
-0834;SAMARITAN PUNCTUATION ATMAAU;Po;0;R;;;;;N;;;;;
-0835;SAMARITAN PUNCTUATION SHIYYAALAA;Po;0;R;;;;;N;;;;;
-0836;SAMARITAN ABBREVIATION MARK;Po;0;R;;;;;N;;;;;
-0837;SAMARITAN PUNCTUATION MELODIC QITSA;Po;0;R;;;;;N;;;;;
-0838;SAMARITAN PUNCTUATION ZIQAA;Po;0;R;;;;;N;;;;;
-0839;SAMARITAN PUNCTUATION QITSA;Po;0;R;;;;;N;;;;;
-083A;SAMARITAN PUNCTUATION ZAEF;Po;0;R;;;;;N;;;;;
-083B;SAMARITAN PUNCTUATION TURU;Po;0;R;;;;;N;;;;;
-083C;SAMARITAN PUNCTUATION ARKAANU;Po;0;R;;;;;N;;;;;
-083D;SAMARITAN PUNCTUATION SOF MASHFAAT;Po;0;R;;;;;N;;;;;
-083E;SAMARITAN PUNCTUATION ANNAAU;Po;0;R;;;;;N;;;;;
-0900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
-0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
-0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0904;DEVANAGARI LETTER SHORT A;Lo;0;L;;;;;N;;;;;
-0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;;
-0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;;
-0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;;
-0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;;
-0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;;
-090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;;
-090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;;
-090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;;
-090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;;
-0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;;
-0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;;
-0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;;
-0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;;
-0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;;
-0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;;
-0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;;
-0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;;
-0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;;
-0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;;
-091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;;
-091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;;
-091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;;
-091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;;
-091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;;
-091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;;
-0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;;
-0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;;
-0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;;
-0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;;
-0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;;
-0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;;
-0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;;
-0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;;
-092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;;
-092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;;
-092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;;
-092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;;
-092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;;
-092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;;
-0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;;
-0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;;
-0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;;
-0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;;
-0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;;
-0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;;
-0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;;
-0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;;
-0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;;
-0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;;
-093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
-0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
-0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
-0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;;
-0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
-0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
-094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;;
-094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
-094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-094E;DEVANAGARI VOWEL SIGN PRISHTHAMATRA E;Mc;0;L;;;;;N;;;;;
-0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;;
-0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;;
-0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;;
-0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;;
-0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;;
-0955;DEVANAGARI VOWEL SIGN CANDRA LONG E;Mn;0;NSM;;;;;N;;;;;
-0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;;
-0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;;
-095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;;
-095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;;
-095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;;
-095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;;
-095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;;
-095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;;
-0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;;
-0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
-0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
-0971;DEVANAGARI SIGN HIGH SPACING DOT;Lm;0;L;;;;;N;;;;;
-0972;DEVANAGARI LETTER CANDRA A;Lo;0;L;;;;;N;;;;;
-0979;DEVANAGARI LETTER ZHA;Lo;0;L;;;;;N;;;;;
-097A;DEVANAGARI LETTER HEAVY YA;Lo;0;L;;;;;N;;;;;
-097B;DEVANAGARI LETTER GGA;Lo;0;L;;;;;N;;;;;
-097C;DEVANAGARI LETTER JJA;Lo;0;L;;;;;N;;;;;
-097D;DEVANAGARI LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
-097E;DEVANAGARI LETTER DDDA;Lo;0;L;;;;;N;;;;;
-097F;DEVANAGARI LETTER BBA;Lo;0;L;;;;;N;;;;;
-0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
-0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
-0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;;
-0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;;
-0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;;
-0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;;
-0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;;
-098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;;
-098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;;
-0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;;
-0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;;
-0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;;
-0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;;
-0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;;
-0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;;
-0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;;
-0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;;
-099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;;
-099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;;
-099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;;
-099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;;
-099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;;
-099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;;
-09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;;
-09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;;
-09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;;
-09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;;
-09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;;
-09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;;
-09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;;
-09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;;
-09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;;
-09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;;
-09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;;
-09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;;
-09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;;
-09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;;
-09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;;
-09B0;BENGALI LETTER RA;Lo;0;L;;;;;N;;;;;
-09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;;
-09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;;
-09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;;
-09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;;
-09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;;
-09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-09BD;BENGALI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
-09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
-09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;;
-09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;;
-09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-09CE;BENGALI LETTER KHANDA TA;Lo;0;L;;;;;N;;;;;
-09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
-09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;;
-09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;;
-09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;;
-09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;;;;
-09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;;;;
-09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;;
-09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
-09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1/16;N;;;;;
-09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;1/8;N;;;;;
-09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3/16;N;;;;;
-09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;1/4;N;;;;;
-09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;3/4;N;;;;;
-09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;;
-09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;;
-09FB;BENGALI GANDA MARK;Sc;0;ET;;;;;N;;;;;
-0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;;
-0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;;
-0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;;
-0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;;
-0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;;
-0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;;
-0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;;
-0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;;
-0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;;
-0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;;
-0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;;
-0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;;
-0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;;
-0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;;
-0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;;
-0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;;
-0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;;
-0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;;
-0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;;
-0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;;
-0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;;
-0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;;
-0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;;
-0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;;
-0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;;
-0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;;
-0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;;
-0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;;
-0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;;
-0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;;
-0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;;
-0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;;
-0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;;
-0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;;
-0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;;
-0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;;
-0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;;
-0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;;
-0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;;
-0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;;
-0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;N;;;;;
-0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;;
-0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;;
-0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
-0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
-0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
-0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
-0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0A51;GURMUKHI SIGN UDAAT;Mn;0;NSM;;;;;N;;;;;
-0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;;
-0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;;
-0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;;
-0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;N;;;;;
-0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;;
-0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;;
-0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;N;;;;;
-0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;;
-0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;;
-0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;;
-0A75;GURMUKHI SIGN YAKASH;Mn;0;NSM;;;;;N;;;;;
-0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
-0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;;
-0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;;
-0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;;
-0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;;
-0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;;
-0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;;
-0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-0A8C;GUJARATI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;;
-0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;;
-0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;;
-0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;;
-0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;;
-0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;;
-0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;;
-0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;;
-0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;;
-0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;;
-0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;;
-0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;;
-0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;;
-0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;;
-0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;;
-0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;;
-0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;;
-0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;;
-0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;;
-0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;;
-0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;;
-0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;;
-0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;;
-0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;;
-0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;;
-0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;;
-0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;;
-0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;;
-0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;;
-0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;;
-0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;;
-0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;;
-0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;;
-0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;;
-0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;;
-0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;;
-0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;;
-0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;;
-0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
-0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
-0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
-0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
-0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
-0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
-0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;;
-0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-0AE1;GUJARATI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-0AE2;GUJARATI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-0AE3;GUJARATI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
-0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
-0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
-0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;;
-0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;;
-0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;;
-0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;;
-0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;;
-0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;;
-0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;;
-0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;;
-0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;;
-0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;;
-0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;;
-0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;;
-0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;;
-0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;;
-0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;;
-0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;;
-0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;;
-0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;;
-0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;;
-0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;;
-0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;;
-0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;;
-0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;;
-0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;;
-0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;;
-0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;;
-0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;;
-0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;;
-0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;;
-0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;;
-0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;;
-0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;;
-0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;;
-0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;;
-0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;;
-0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;;
-0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;;
-0B35;ORIYA LETTER VA;Lo;0;L;;;;;N;;;;;
-0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;;
-0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;;
-0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;;
-0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;;
-0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
-0B44;ORIYA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
-0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;;
-0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;;
-0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;;
-0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
-0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
-0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;;
-0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;;
-0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;N;;;;;
-0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-0B62;ORIYA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-0B63;ORIYA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;;
-0B71;ORIYA LETTER WA;Lo;0;L;;;;;N;;;;;
-0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-0B83;TAMIL SIGN VISARGA;Lo;0;L;;;;;N;;;;;
-0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;;
-0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;;
-0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;;
-0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;;
-0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;;
-0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;;
-0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;;
-0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;;
-0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;;
-0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;;
-0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;;
-0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;;
-0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;;
-0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;;
-0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;;
-0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;;
-0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;;
-0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;;
-0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;;
-0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;;
-0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;;
-0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;;
-0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;;
-0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;;
-0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;;
-0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;;
-0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;;
-0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;;
-0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;;
-0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;;
-0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;;
-0BB6;TAMIL LETTER SHA;Lo;0;L;;;;;N;;;;;
-0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;;
-0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;;
-0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;;
-0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
-0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;;
-0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;;
-0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;;
-0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0BD0;TAMIL OM;Lo;0;L;;;;;N;;;;;
-0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
-0BE6;TAMIL DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;;
-0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
-0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
-0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;;;;
-0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;;;;
-0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;;;;
-0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;;;;
-0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;;;;
-0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;;;;
-0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
-0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;;;;
-0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
-0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
-0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;;
-0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;;
-0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;;
-0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;;
-0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;;
-0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;;
-0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;;
-0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;;
-0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;;
-0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;;
-0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;;
-0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;;
-0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;;
-0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;;
-0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;;
-0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;;
-0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;;
-0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;;
-0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;;
-0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;;
-0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;;
-0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;;
-0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;;
-0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;;
-0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;;
-0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;;
-0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;;
-0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;;
-0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;;
-0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;;
-0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;;
-0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;;
-0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;;
-0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;;
-0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;;
-0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;;
-0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;;
-0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;;
-0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;;
-0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;;
-0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;;
-0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;;
-0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;;
-0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;;
-0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;;
-0C3D;TELUGU SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
-0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
-0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
-0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
-0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;;
-0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
-0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
-0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
-0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;;
-0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;;
-0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;;
-0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;;
-0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-0C63;TELUGU VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0C78;TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR;No;0;ON;;;;0;N;;;;;
-0C79;TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR;No;0;ON;;;;1;N;;;;;
-0C7A;TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR;No;0;ON;;;;2;N;;;;;
-0C7B;TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR;No;0;ON;;;;3;N;;;;;
-0C7C;TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR;No;0;ON;;;;1;N;;;;;
-0C7D;TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR;No;0;ON;;;;2;N;;;;;
-0C7E;TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR;No;0;ON;;;;3;N;;;;;
-0C7F;TELUGU SIGN TUUMU;So;0;L;;;;;N;;;;;
-0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
-0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;;
-0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;;
-0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;;
-0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;;
-0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;;
-0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;;
-0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;;
-0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;;
-0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;;
-0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;;
-0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;;
-0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;;
-0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;;
-0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;;
-0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;;
-0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;;
-0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;;
-0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;;
-0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;;
-0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;;
-0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;;
-0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;;
-0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;;
-0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;;
-0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;;
-0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;;
-0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;;
-0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;;
-0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;;
-0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;;
-0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;;
-0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;;
-0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;;
-0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;;
-0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;;
-0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;;
-0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;;
-0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;;
-0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;;
-0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;;
-0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;;
-0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;;
-0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;;
-0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;;
-0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;;
-0CBC;KANNADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-0CBD;KANNADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-0CBF;KANNADA VOWEL SIGN I;Mn;0;L;;;;;N;;;;;
-0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;;
-0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
-0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
-0CC6;KANNADA VOWEL SIGN E;Mn;0;L;;;;;N;;;;;
-0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;;
-0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;;
-0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;;
-0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;;
-0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
-0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;;
-0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;;
-0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;;
-0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-0CE2;KANNADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-0CE3;KANNADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0CF1;KANNADA SIGN JIHVAMULIYA;So;0;ON;;;;;N;;;;;
-0CF2;KANNADA SIGN UPADHMANIYA;So;0;ON;;;;;N;;;;;
-0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
-0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;;
-0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;;
-0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;;
-0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;;
-0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;;
-0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;;
-0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;;
-0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;;
-0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;;
-0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;;
-0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;;
-0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;;
-0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;;
-0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;;
-0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;;
-0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;;
-0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;;
-0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;;
-0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;;
-0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;;
-0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;;
-0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;;
-0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;;
-0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;;
-0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;;
-0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;;
-0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;;
-0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;;
-0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;;
-0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;;
-0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;;
-0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;;
-0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;;
-0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;;
-0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;;
-0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;;
-0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;;
-0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;;
-0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;;
-0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;;
-0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;;
-0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;;
-0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;;
-0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;;
-0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;;
-0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;;
-0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;;
-0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;;
-0D3D;MALAYALAM SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
-0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
-0D44;MALAYALAM VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
-0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
-0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;;
-0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;;
-0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;;
-0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
-0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-0D63;MALAYALAM VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0D70;MALAYALAM NUMBER TEN;No;0;L;;;;10;N;;;;;
-0D71;MALAYALAM NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
-0D72;MALAYALAM NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
-0D73;MALAYALAM FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;;
-0D74;MALAYALAM FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;;
-0D75;MALAYALAM FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;;
-0D79;MALAYALAM DATE MARK;So;0;L;;;;;N;;;;;
-0D7A;MALAYALAM LETTER CHILLU NN;Lo;0;L;;;;;N;;;;;
-0D7B;MALAYALAM LETTER CHILLU N;Lo;0;L;;;;;N;;;;;
-0D7C;MALAYALAM LETTER CHILLU RR;Lo;0;L;;;;;N;;;;;
-0D7D;MALAYALAM LETTER CHILLU L;Lo;0;L;;;;;N;;;;;
-0D7E;MALAYALAM LETTER CHILLU LL;Lo;0;L;;;;;N;;;;;
-0D7F;MALAYALAM LETTER CHILLU K;Lo;0;L;;;;;N;;;;;
-0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;;
-0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;;
-0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;;
-0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;;
-0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;;
-0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;;
-0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;;
-0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;;
-0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;;
-0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;;
-0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;;
-0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;;
-0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;;
-0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;;
-0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;;
-0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;;
-0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;;
-0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;;
-0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;;
-0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;;
-0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;;
-0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;;
-0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;;
-0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;;
-0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;;
-0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;;
-0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;;
-0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;;
-0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;;
-0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;;
-0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;;
-0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;;
-0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;;
-0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;;
-0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;;
-0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;;
-0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;;
-0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;;
-0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;;
-0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;;
-0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;;
-0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;;
-0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;;
-0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;;
-0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;;
-0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;;
-0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;;
-0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;;
-0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;;
-0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;;
-0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;;
-0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;;
-0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;;
-0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;;
-0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;;
-0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;;
-0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;;
-0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;;
-0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;;
-0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;;
-0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;;
-0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;;
-0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;;
-0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;;
-0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;;
-0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;;
-0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;;
-0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;;
-0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;;
-0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
-0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;;
-0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;;
-0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;;
-0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;;
-0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;;
-0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;;
-0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;;
-0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
-0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;;
-0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;;
-0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;;
-0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;;
-0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;;
-0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;;
-0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;;
-0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;;
-0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;;
-0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;;
-0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;;
-0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;;
-0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;;
-0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;;
-0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;;
-0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;;
-0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;;
-0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;;
-0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;;
-0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;;
-0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;;
-0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;;
-0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;;
-0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;;
-0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;;
-0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;;
-0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;;
-0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;;
-0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;;
-0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;;
-0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;;
-0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;;
-0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;;
-0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;;
-0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;;
-0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;;
-0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;;
-0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;;
-0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;;
-0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;;
-0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;;
-0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;;
-0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;;
-0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;;
-0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;;
-0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;;
-0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;;
-0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;;
-0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;;;;
-0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;;
-0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;;
-0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;;
-0E33;THAI CHARACTER SARA AM;Lo;0;L;<compat> 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;;
-0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;;
-0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;;
-0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;;
-0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;;;;
-0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;;
-0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;;
-0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
-0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;;
-0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;;
-0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;;
-0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;;
-0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;;;;
-0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;;;;
-0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;;;;
-0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;;;;
-0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;;;;
-0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;;
-0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;;
-0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;;
-0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;;
-0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;;
-0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;;;;
-0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;;
-0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;;
-0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;;
-0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;;
-0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;;
-0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;;
-0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;;
-0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;;
-0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;;
-0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;;
-0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;;
-0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;;
-0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;;
-0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;;
-0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;;
-0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;;
-0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;;
-0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;;
-0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;;
-0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;;
-0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;;
-0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;;
-0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;;
-0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;;
-0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;;
-0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;;
-0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;;
-0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;;
-0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;;
-0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;;
-0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;;
-0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;;
-0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;;
-0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;N;;;;;
-0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;;
-0EB3;LAO VOWEL SIGN AM;Lo;0;L;<compat> 0ECD 0EB2;;;;N;;;;;
-0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;;
-0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
-0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;;
-0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;;
-0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;;
-0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;;
-0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;;
-0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;;
-0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;;
-0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;;
-0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;;
-0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;;
-0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;;
-0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;;
-0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;;
-0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;;
-0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;;
-0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;;
-0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;;
-0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;;
-0EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;;
-0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;;
-0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;;;;
-0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;;;;
-0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;;;;
-0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;;;;
-0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;;;;
-0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;;;;
-0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;;;;
-0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;;;;
-0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;;;;
-0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;;;;
-0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;;;;
-0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;<noBreak> 0F0B;;;;N;;;;;
-0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;;;;
-0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;;;;
-0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;;;;
-0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;;;;
-0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;;;;
-0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;;;;
-0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;;;;
-0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;;;;
-0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;;;;
-0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;;;;
-0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;;;;
-0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;;;;
-0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;;;;
-0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;;;;
-0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;;;;
-0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;;;;
-0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;;;;
-0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;;;;
-0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;;;;
-0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;1/2;N;;;;;
-0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;3/2;N;;;;;
-0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;5/2;N;;;;;
-0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;7/2;N;;;;;
-0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;9/2;N;;;;;
-0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;11/2;N;;;;;
-0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;13/2;N;;;;;
-0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;15/2;N;;;;;
-0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;17/2;N;;;;;
-0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;-1/2;N;;;;;
-0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;;;;
-0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;;;;
-0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;;;;
-0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;;;;
-0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;;;;
-0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;;;;
-0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;Y;;;;;
-0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;Y;;;;;
-0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;Y;TIBETAN LEFT BRACE;;;;
-0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;Y;TIBETAN RIGHT BRACE;;;;
-0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;;;;
-0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;;;;
-0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;;
-0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;;
-0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;;
-0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;;
-0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;;
-0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;;
-0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;;
-0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;;
-0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;;
-0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;;
-0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;;
-0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;;
-0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;;
-0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;;
-0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;;
-0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;;
-0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;;
-0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;;
-0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;;
-0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;;
-0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;;
-0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;;
-0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;;
-0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;;
-0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;;
-0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;;
-0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;;
-0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;;
-0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;;
-0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;;
-0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;;
-0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;;
-0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;;
-0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;;;;
-0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;;
-0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;;
-0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;;
-0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;;
-0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;;
-0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;;
-0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;;
-0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;;;;
-0F6B;TIBETAN LETTER KKA;Lo;0;L;;;;;N;;;;;
-0F6C;TIBETAN LETTER RRA;Lo;0;L;;;;;N;;;;;
-0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;;
-0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;;
-0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;;
-0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;;
-0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;;
-0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;;
-0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM;<compat> 0FB2 0F81;;;;N;;;;;
-0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;;
-0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM;<compat> 0FB3 0F81;;;;N;;;;;
-0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;;
-0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;;
-0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;;
-0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;;
-0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;;;;
-0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;;;;
-0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;;
-0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;;
-0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;;;;
-0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;;;;
-0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;;
-0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;;
-0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;;;;
-0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;;;;
-0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;;;;
-0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;;;;
-0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;;;;
-0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;;;;
-0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;;
-0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;;
-0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;;
-0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;;
-0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;;
-0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;;
-0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;;
-0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;;
-0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;;
-0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;;
-0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;;
-0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;;
-0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;;
-0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;;
-0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;;
-0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;;
-0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;;
-0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;;
-0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;;
-0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;;
-0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;;
-0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;;
-0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;;
-0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;;
-0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;;
-0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;;
-0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;;
-0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;;
-0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;;;;
-0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;;
-0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;;
-0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;;
-0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;;;;
-0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;;;;
-0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;;
-0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;;
-0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;;
-0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;;
-0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;;
-0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;;
-0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;;
-0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;;;;
-0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;;;;
-0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;;;;
-0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;;;;
-0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;;;;
-0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;;
-0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;;
-0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;;;;
-0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;;;;
-0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;;;;
-0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;;;;
-0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;;;;
-0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;;;;
-0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;;;;
-0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;;;;
-0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;;;;
-0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;;;;
-0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;;;;
-0FCE;TIBETAN SIGN RDEL NAG RDEL DKAR;So;0;L;;;;;N;;;;;
-0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;;;;
-0FD0;TIBETAN MARK BSKA- SHOG GI MGO RGYAN;Po;0;L;;;;;N;;;;;
-0FD1;TIBETAN MARK MNYAM YIG GI MGO RGYAN;Po;0;L;;;;;N;;;;;
-0FD2;TIBETAN MARK NYIS TSHEG;Po;0;L;;;;;N;;;;;
-0FD3;TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA;Po;0;L;;;;;N;;;;;
-0FD4;TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA;Po;0;L;;;;;N;;;;;
-0FD5;RIGHT-FACING SVASTI SIGN;So;0;L;;;;;N;;;;;
-0FD6;LEFT-FACING SVASTI SIGN;So;0;L;;;;;N;;;;;
-0FD7;RIGHT-FACING SVASTI SIGN WITH DOTS;So;0;L;;;;;N;;;;;
-0FD8;LEFT-FACING SVASTI SIGN WITH DOTS;So;0;L;;;;;N;;;;;
-1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;;
-1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;;
-1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;;
-1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;;
-1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;;
-1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;;
-1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;;
-1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;;
-1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;;
-1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;;
-100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;;
-100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;;
-100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;;
-100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;;
-100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;;
-100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;;
-1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;;
-1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;;
-1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;;
-1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;;
-1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;;
-1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;;
-1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;;
-1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;;
-1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;;
-1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;;
-101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;;
-101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;;
-101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;;
-101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;;
-101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;;
-101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;;
-1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;;
-1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;;
-1022;MYANMAR LETTER SHAN A;Lo;0;L;;;;;N;;;;;
-1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;;
-1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;;
-1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;;
-1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;;
-1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;;
-1028;MYANMAR LETTER MON E;Lo;0;L;;;;;N;;;;;
-1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;;
-102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;;
-102B;MYANMAR VOWEL SIGN TALL AA;Mc;0;L;;;;;N;;;;;
-102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
-1033;MYANMAR VOWEL SIGN MON II;Mn;0;NSM;;;;;N;;;;;
-1034;MYANMAR VOWEL SIGN MON O;Mn;0;NSM;;;;;N;;;;;
-1035;MYANMAR VOWEL SIGN E ABOVE;Mn;0;NSM;;;;;N;;;;;
-1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;;
-1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-103A;MYANMAR SIGN ASAT;Mn;9;NSM;;;;;N;;;;;
-103B;MYANMAR CONSONANT SIGN MEDIAL YA;Mc;0;L;;;;;N;;;;;
-103C;MYANMAR CONSONANT SIGN MEDIAL RA;Mc;0;L;;;;;N;;;;;
-103D;MYANMAR CONSONANT SIGN MEDIAL WA;Mn;0;NSM;;;;;N;;;;;
-103E;MYANMAR CONSONANT SIGN MEDIAL HA;Mn;0;NSM;;;;;N;;;;;
-103F;MYANMAR LETTER GREAT SA;Lo;0;L;;;;;N;;;;;
-1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;;
-104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;;
-104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;;
-104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;;
-104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;;
-104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;;
-1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;;
-1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;;
-1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
-1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
-1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
-1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
-105A;MYANMAR LETTER MON NGA;Lo;0;L;;;;;N;;;;;
-105B;MYANMAR LETTER MON JHA;Lo;0;L;;;;;N;;;;;
-105C;MYANMAR LETTER MON BBA;Lo;0;L;;;;;N;;;;;
-105D;MYANMAR LETTER MON BBE;Lo;0;L;;;;;N;;;;;
-105E;MYANMAR CONSONANT SIGN MON MEDIAL NA;Mn;0;NSM;;;;;N;;;;;
-105F;MYANMAR CONSONANT SIGN MON MEDIAL MA;Mn;0;NSM;;;;;N;;;;;
-1060;MYANMAR CONSONANT SIGN MON MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
-1061;MYANMAR LETTER SGAW KAREN SHA;Lo;0;L;;;;;N;;;;;
-1062;MYANMAR VOWEL SIGN SGAW KAREN EU;Mc;0;L;;;;;N;;;;;
-1063;MYANMAR TONE MARK SGAW KAREN HATHI;Mc;0;L;;;;;N;;;;;
-1064;MYANMAR TONE MARK SGAW KAREN KE PHO;Mc;0;L;;;;;N;;;;;
-1065;MYANMAR LETTER WESTERN PWO KAREN THA;Lo;0;L;;;;;N;;;;;
-1066;MYANMAR LETTER WESTERN PWO KAREN PWA;Lo;0;L;;;;;N;;;;;
-1067;MYANMAR VOWEL SIGN WESTERN PWO KAREN EU;Mc;0;L;;;;;N;;;;;
-1068;MYANMAR VOWEL SIGN WESTERN PWO KAREN UE;Mc;0;L;;;;;N;;;;;
-1069;MYANMAR SIGN WESTERN PWO KAREN TONE-1;Mc;0;L;;;;;N;;;;;
-106A;MYANMAR SIGN WESTERN PWO KAREN TONE-2;Mc;0;L;;;;;N;;;;;
-106B;MYANMAR SIGN WESTERN PWO KAREN TONE-3;Mc;0;L;;;;;N;;;;;
-106C;MYANMAR SIGN WESTERN PWO KAREN TONE-4;Mc;0;L;;;;;N;;;;;
-106D;MYANMAR SIGN WESTERN PWO KAREN TONE-5;Mc;0;L;;;;;N;;;;;
-106E;MYANMAR LETTER EASTERN PWO KAREN NNA;Lo;0;L;;;;;N;;;;;
-106F;MYANMAR LETTER EASTERN PWO KAREN YWA;Lo;0;L;;;;;N;;;;;
-1070;MYANMAR LETTER EASTERN PWO KAREN GHWA;Lo;0;L;;;;;N;;;;;
-1071;MYANMAR VOWEL SIGN GEBA KAREN I;Mn;0;NSM;;;;;N;;;;;
-1072;MYANMAR VOWEL SIGN KAYAH OE;Mn;0;NSM;;;;;N;;;;;
-1073;MYANMAR VOWEL SIGN KAYAH U;Mn;0;NSM;;;;;N;;;;;
-1074;MYANMAR VOWEL SIGN KAYAH EE;Mn;0;NSM;;;;;N;;;;;
-1075;MYANMAR LETTER SHAN KA;Lo;0;L;;;;;N;;;;;
-1076;MYANMAR LETTER SHAN KHA;Lo;0;L;;;;;N;;;;;
-1077;MYANMAR LETTER SHAN GA;Lo;0;L;;;;;N;;;;;
-1078;MYANMAR LETTER SHAN CA;Lo;0;L;;;;;N;;;;;
-1079;MYANMAR LETTER SHAN ZA;Lo;0;L;;;;;N;;;;;
-107A;MYANMAR LETTER SHAN NYA;Lo;0;L;;;;;N;;;;;
-107B;MYANMAR LETTER SHAN DA;Lo;0;L;;;;;N;;;;;
-107C;MYANMAR LETTER SHAN NA;Lo;0;L;;;;;N;;;;;
-107D;MYANMAR LETTER SHAN PHA;Lo;0;L;;;;;N;;;;;
-107E;MYANMAR LETTER SHAN FA;Lo;0;L;;;;;N;;;;;
-107F;MYANMAR LETTER SHAN BA;Lo;0;L;;;;;N;;;;;
-1080;MYANMAR LETTER SHAN THA;Lo;0;L;;;;;N;;;;;
-1081;MYANMAR LETTER SHAN HA;Lo;0;L;;;;;N;;;;;
-1082;MYANMAR CONSONANT SIGN SHAN MEDIAL WA;Mn;0;NSM;;;;;N;;;;;
-1083;MYANMAR VOWEL SIGN SHAN AA;Mc;0;L;;;;;N;;;;;
-1084;MYANMAR VOWEL SIGN SHAN E;Mc;0;L;;;;;N;;;;;
-1085;MYANMAR VOWEL SIGN SHAN E ABOVE;Mn;0;NSM;;;;;N;;;;;
-1086;MYANMAR VOWEL SIGN SHAN FINAL Y;Mn;0;NSM;;;;;N;;;;;
-1087;MYANMAR SIGN SHAN TONE-2;Mc;0;L;;;;;N;;;;;
-1088;MYANMAR SIGN SHAN TONE-3;Mc;0;L;;;;;N;;;;;
-1089;MYANMAR SIGN SHAN TONE-5;Mc;0;L;;;;;N;;;;;
-108A;MYANMAR SIGN SHAN TONE-6;Mc;0;L;;;;;N;;;;;
-108B;MYANMAR SIGN SHAN COUNCIL TONE-2;Mc;0;L;;;;;N;;;;;
-108C;MYANMAR SIGN SHAN COUNCIL TONE-3;Mc;0;L;;;;;N;;;;;
-108D;MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE;Mn;220;NSM;;;;;N;;;;;
-108E;MYANMAR LETTER RUMAI PALAUNG FA;Lo;0;L;;;;;N;;;;;
-108F;MYANMAR SIGN RUMAI PALAUNG TONE-5;Mc;0;L;;;;;N;;;;;
-1090;MYANMAR SHAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1091;MYANMAR SHAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1092;MYANMAR SHAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1093;MYANMAR SHAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1094;MYANMAR SHAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1095;MYANMAR SHAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1096;MYANMAR SHAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1097;MYANMAR SHAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1098;MYANMAR SHAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1099;MYANMAR SHAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-109A;MYANMAR SIGN KHAMTI TONE-1;Mc;0;L;;;;;N;;;;;
-109B;MYANMAR SIGN KHAMTI TONE-3;Mc;0;L;;;;;N;;;;;
-109C;MYANMAR VOWEL SIGN AITON A;Mc;0;L;;;;;N;;;;;
-109D;MYANMAR VOWEL SIGN AITON AI;Mn;0;NSM;;;;;N;;;;;
-109E;MYANMAR SYMBOL SHAN ONE;So;0;L;;;;;N;;;;;
-109F;MYANMAR SYMBOL SHAN EXCLAMATION;So;0;L;;;;;N;;;;;
-10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;;;2D00;
-10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;;;2D01;
-10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;;;2D02;
-10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;;;2D03;
-10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;2D04;
-10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;;;2D05;
-10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;;;2D06;
-10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;;;2D07;
-10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;;;2D08;
-10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;;;2D09;
-10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;;;2D0A;
-10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;;;2D0B;
-10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;;;2D0C;
-10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;;;2D0D;
-10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;;;2D0E;
-10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;;;2D0F;
-10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;;;2D10;
-10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;2D11;
-10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;;;2D12;
-10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;;;2D13;
-10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;;;2D14;
-10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;;;2D15;
-10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;;;2D16;
-10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;;;2D17;
-10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;;;2D18;
-10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;;;2D19;
-10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;;;2D1A;
-10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;;;2D1B;
-10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;;;2D1C;
-10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;;;2D1D;
-10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;;;2D1E;
-10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;;;2D1F;
-10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;;;2D20;
-10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;;;2D21;
-10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;;;2D22;
-10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;2D23;
-10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;2D24;
-10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25;
-10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
-10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
-10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
-10D3;GEORGIAN LETTER DON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;;
-10D4;GEORGIAN LETTER EN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;;
-10D5;GEORGIAN LETTER VIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;;
-10D6;GEORGIAN LETTER ZEN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;;
-10D7;GEORGIAN LETTER TAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;;
-10D8;GEORGIAN LETTER IN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;;
-10D9;GEORGIAN LETTER KAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;;
-10DA;GEORGIAN LETTER LAS;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;;
-10DB;GEORGIAN LETTER MAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;;
-10DC;GEORGIAN LETTER NAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;;
-10DD;GEORGIAN LETTER ON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;;
-10DE;GEORGIAN LETTER PAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;;
-10DF;GEORGIAN LETTER ZHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;;
-10E0;GEORGIAN LETTER RAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;;
-10E1;GEORGIAN LETTER SAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;;
-10E2;GEORGIAN LETTER TAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;;
-10E3;GEORGIAN LETTER UN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;;
-10E4;GEORGIAN LETTER PHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;;
-10E5;GEORGIAN LETTER KHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;;
-10E6;GEORGIAN LETTER GHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;;
-10E7;GEORGIAN LETTER QAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;;
-10E8;GEORGIAN LETTER SHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;;
-10E9;GEORGIAN LETTER CHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;;
-10EA;GEORGIAN LETTER CAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;;
-10EB;GEORGIAN LETTER JIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;;
-10EC;GEORGIAN LETTER CIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;;
-10ED;GEORGIAN LETTER CHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;;
-10EE;GEORGIAN LETTER XAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;;
-10EF;GEORGIAN LETTER JHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;;
-10F0;GEORGIAN LETTER HAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;;
-10F1;GEORGIAN LETTER HE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;;
-10F2;GEORGIAN LETTER HIE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;;
-10F3;GEORGIAN LETTER WE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;;
-10F4;GEORGIAN LETTER HAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;;
-10F5;GEORGIAN LETTER HOE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;;
-10F6;GEORGIAN LETTER FI;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;;
-10F7;GEORGIAN LETTER YN;Lo;0;L;;;;;N;;;;;
-10F8;GEORGIAN LETTER ELIFI;Lo;0;L;;;;;N;;;;;
-10F9;GEORGIAN LETTER TURNED GAN;Lo;0;L;;;;;N;;;;;
-10FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;;
-10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
-10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;;
-1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
-1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
-1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;;
-1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;;;;
-1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;;;;
-1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;;;;
-1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;;;;
-1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;;;;
-1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;;;;
-1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;;;;
-110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;;;;
-110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;;
-110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;;;;
-110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;;;;
-110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;;;;
-110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;;;;
-1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;;;;
-1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;;;;
-1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;;;;
-1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
-1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;;
-1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
-1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;;
-1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;;
-1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;;
-1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;;
-111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;;
-111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;;
-111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;;
-111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;;
-111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;;
-111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;;
-1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
-1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
-1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
-1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
-1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
-1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;;
-1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
-1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;;
-1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;;
-1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;;
-112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
-112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
-112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;;
-112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
-112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;;
-112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
-1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;;
-1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;;
-1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
-1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;;
-1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;;
-1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;;
-1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
-1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;;
-1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;;
-1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
-113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;;
-113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;;
-113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;;
-113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;;
-113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;;
-113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;N;;;;;
-1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;;
-1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;;
-1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;;
-1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;;
-1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;;
-1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;;
-1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;;
-1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;;
-1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;;
-1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;;
-114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;;
-114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;;
-114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
-114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;;
-114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;;
-114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;;
-1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;;
-1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;;
-1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;;
-1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;N;;;;;
-1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;;
-1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;;
-1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;;
-1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
-1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;;
-1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
-115A;HANGUL CHOSEONG KIYEOK-TIKEUT;Lo;0;L;;;;;N;;;;;
-115B;HANGUL CHOSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;;
-115C;HANGUL CHOSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;;;;
-115D;HANGUL CHOSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;;;;
-115E;HANGUL CHOSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;;
-115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;;
-1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;;
-1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;;
-1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;;
-1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;;
-1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;;
-1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;;
-1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;;
-1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;;
-1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;N;;;;;
-1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;;
-116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;;
-116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;;
-116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;N;;;;;
-116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;;
-116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;;
-116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;;
-1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;;
-1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;N;;;;;
-1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;;
-1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;;
-1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;N;;;;;
-1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;;
-1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;;
-1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;;
-1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;;
-1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;;
-117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;;
-117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;;
-117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;;
-117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;;
-117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;;
-117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;;
-1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;;
-1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;;
-1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;;
-1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;;
-1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;;
-1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;;
-1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;;
-1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;;
-1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;;
-1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;;
-118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;;
-118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;;
-118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;;
-118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;;
-118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;;
-118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;;
-1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;;
-1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;;
-1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;;
-1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;;
-1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;;
-1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;;
-1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;;
-1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;;
-1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;;
-1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;;
-119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;;
-119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;;
-119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;;
-119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;N;;;;;
-119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;;
-119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;;
-11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;;
-11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;;
-11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;;
-11A3;HANGUL JUNGSEONG A-EU;Lo;0;L;;;;;N;;;;;
-11A4;HANGUL JUNGSEONG YA-U;Lo;0;L;;;;;N;;;;;
-11A5;HANGUL JUNGSEONG YEO-YA;Lo;0;L;;;;;N;;;;;
-11A6;HANGUL JUNGSEONG O-YA;Lo;0;L;;;;;N;;;;;
-11A7;HANGUL JUNGSEONG O-YAE;Lo;0;L;;;;;N;;;;;
-11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
-11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
-11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;;;;
-11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;;;;
-11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;;;;
-11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;;;;
-11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;;;;
-11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;;;;
-11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;;;;
-11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;;;;
-11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;;;;
-11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;;;;
-11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;;;;
-11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;;;;
-11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;;
-11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;;;;
-11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;;;;
-11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
-11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;;;;
-11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;;;;
-11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;;;;
-11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;;;;
-11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;;;;
-11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;;;;
-11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;;;;
-11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;;;;
-11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;;;;
-11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;;
-11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
-11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
-11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
-11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;;
-11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;;
-11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;;
-11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;;
-11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;;
-11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;;
-11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;;
-11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;;
-11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;;
-11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;;
-11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
-11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
-11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
-11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
-11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
-11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;;
-11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;;
-11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
-11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;;
-11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
-11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;;
-11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;;
-11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
-11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;;
-11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;;
-11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;;
-11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;;
-11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;;
-11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;;
-11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
-11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
-11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
-11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
-11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
-11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;;
-11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
-11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;;
-11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;;
-11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
-11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;;
-11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;N;;;;;
-11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
-11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;;
-11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;;
-11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;;
-11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
-11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;;
-11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;;
-11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;;
-11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;;
-11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
-11FA;HANGUL JONGSEONG KIYEOK-NIEUN;Lo;0;L;;;;;N;;;;;
-11FB;HANGUL JONGSEONG KIYEOK-PIEUP;Lo;0;L;;;;;N;;;;;
-11FC;HANGUL JONGSEONG KIYEOK-CHIEUCH;Lo;0;L;;;;;N;;;;;
-11FD;HANGUL JONGSEONG KIYEOK-KHIEUKH;Lo;0;L;;;;;N;;;;;
-11FE;HANGUL JONGSEONG KIYEOK-HIEUH;Lo;0;L;;;;;N;;;;;
-11FF;HANGUL JONGSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;;
-1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;;
-1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;;
-1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;;
-1203;ETHIOPIC SYLLABLE HAA;Lo;0;L;;;;;N;;;;;
-1204;ETHIOPIC SYLLABLE HEE;Lo;0;L;;;;;N;;;;;
-1205;ETHIOPIC SYLLABLE HE;Lo;0;L;;;;;N;;;;;
-1206;ETHIOPIC SYLLABLE HO;Lo;0;L;;;;;N;;;;;
-1207;ETHIOPIC SYLLABLE HOA;Lo;0;L;;;;;N;;;;;
-1208;ETHIOPIC SYLLABLE LA;Lo;0;L;;;;;N;;;;;
-1209;ETHIOPIC SYLLABLE LU;Lo;0;L;;;;;N;;;;;
-120A;ETHIOPIC SYLLABLE LI;Lo;0;L;;;;;N;;;;;
-120B;ETHIOPIC SYLLABLE LAA;Lo;0;L;;;;;N;;;;;
-120C;ETHIOPIC SYLLABLE LEE;Lo;0;L;;;;;N;;;;;
-120D;ETHIOPIC SYLLABLE LE;Lo;0;L;;;;;N;;;;;
-120E;ETHIOPIC SYLLABLE LO;Lo;0;L;;;;;N;;;;;
-120F;ETHIOPIC SYLLABLE LWA;Lo;0;L;;;;;N;;;;;
-1210;ETHIOPIC SYLLABLE HHA;Lo;0;L;;;;;N;;;;;
-1211;ETHIOPIC SYLLABLE HHU;Lo;0;L;;;;;N;;;;;
-1212;ETHIOPIC SYLLABLE HHI;Lo;0;L;;;;;N;;;;;
-1213;ETHIOPIC SYLLABLE HHAA;Lo;0;L;;;;;N;;;;;
-1214;ETHIOPIC SYLLABLE HHEE;Lo;0;L;;;;;N;;;;;
-1215;ETHIOPIC SYLLABLE HHE;Lo;0;L;;;;;N;;;;;
-1216;ETHIOPIC SYLLABLE HHO;Lo;0;L;;;;;N;;;;;
-1217;ETHIOPIC SYLLABLE HHWA;Lo;0;L;;;;;N;;;;;
-1218;ETHIOPIC SYLLABLE MA;Lo;0;L;;;;;N;;;;;
-1219;ETHIOPIC SYLLABLE MU;Lo;0;L;;;;;N;;;;;
-121A;ETHIOPIC SYLLABLE MI;Lo;0;L;;;;;N;;;;;
-121B;ETHIOPIC SYLLABLE MAA;Lo;0;L;;;;;N;;;;;
-121C;ETHIOPIC SYLLABLE MEE;Lo;0;L;;;;;N;;;;;
-121D;ETHIOPIC SYLLABLE ME;Lo;0;L;;;;;N;;;;;
-121E;ETHIOPIC SYLLABLE MO;Lo;0;L;;;;;N;;;;;
-121F;ETHIOPIC SYLLABLE MWA;Lo;0;L;;;;;N;;;;;
-1220;ETHIOPIC SYLLABLE SZA;Lo;0;L;;;;;N;;;;;
-1221;ETHIOPIC SYLLABLE SZU;Lo;0;L;;;;;N;;;;;
-1222;ETHIOPIC SYLLABLE SZI;Lo;0;L;;;;;N;;;;;
-1223;ETHIOPIC SYLLABLE SZAA;Lo;0;L;;;;;N;;;;;
-1224;ETHIOPIC SYLLABLE SZEE;Lo;0;L;;;;;N;;;;;
-1225;ETHIOPIC SYLLABLE SZE;Lo;0;L;;;;;N;;;;;
-1226;ETHIOPIC SYLLABLE SZO;Lo;0;L;;;;;N;;;;;
-1227;ETHIOPIC SYLLABLE SZWA;Lo;0;L;;;;;N;;;;;
-1228;ETHIOPIC SYLLABLE RA;Lo;0;L;;;;;N;;;;;
-1229;ETHIOPIC SYLLABLE RU;Lo;0;L;;;;;N;;;;;
-122A;ETHIOPIC SYLLABLE RI;Lo;0;L;;;;;N;;;;;
-122B;ETHIOPIC SYLLABLE RAA;Lo;0;L;;;;;N;;;;;
-122C;ETHIOPIC SYLLABLE REE;Lo;0;L;;;;;N;;;;;
-122D;ETHIOPIC SYLLABLE RE;Lo;0;L;;;;;N;;;;;
-122E;ETHIOPIC SYLLABLE RO;Lo;0;L;;;;;N;;;;;
-122F;ETHIOPIC SYLLABLE RWA;Lo;0;L;;;;;N;;;;;
-1230;ETHIOPIC SYLLABLE SA;Lo;0;L;;;;;N;;;;;
-1231;ETHIOPIC SYLLABLE SU;Lo;0;L;;;;;N;;;;;
-1232;ETHIOPIC SYLLABLE SI;Lo;0;L;;;;;N;;;;;
-1233;ETHIOPIC SYLLABLE SAA;Lo;0;L;;;;;N;;;;;
-1234;ETHIOPIC SYLLABLE SEE;Lo;0;L;;;;;N;;;;;
-1235;ETHIOPIC SYLLABLE SE;Lo;0;L;;;;;N;;;;;
-1236;ETHIOPIC SYLLABLE SO;Lo;0;L;;;;;N;;;;;
-1237;ETHIOPIC SYLLABLE SWA;Lo;0;L;;;;;N;;;;;
-1238;ETHIOPIC SYLLABLE SHA;Lo;0;L;;;;;N;;;;;
-1239;ETHIOPIC SYLLABLE SHU;Lo;0;L;;;;;N;;;;;
-123A;ETHIOPIC SYLLABLE SHI;Lo;0;L;;;;;N;;;;;
-123B;ETHIOPIC SYLLABLE SHAA;Lo;0;L;;;;;N;;;;;
-123C;ETHIOPIC SYLLABLE SHEE;Lo;0;L;;;;;N;;;;;
-123D;ETHIOPIC SYLLABLE SHE;Lo;0;L;;;;;N;;;;;
-123E;ETHIOPIC SYLLABLE SHO;Lo;0;L;;;;;N;;;;;
-123F;ETHIOPIC SYLLABLE SHWA;Lo;0;L;;;;;N;;;;;
-1240;ETHIOPIC SYLLABLE QA;Lo;0;L;;;;;N;;;;;
-1241;ETHIOPIC SYLLABLE QU;Lo;0;L;;;;;N;;;;;
-1242;ETHIOPIC SYLLABLE QI;Lo;0;L;;;;;N;;;;;
-1243;ETHIOPIC SYLLABLE QAA;Lo;0;L;;;;;N;;;;;
-1244;ETHIOPIC SYLLABLE QEE;Lo;0;L;;;;;N;;;;;
-1245;ETHIOPIC SYLLABLE QE;Lo;0;L;;;;;N;;;;;
-1246;ETHIOPIC SYLLABLE QO;Lo;0;L;;;;;N;;;;;
-1247;ETHIOPIC SYLLABLE QOA;Lo;0;L;;;;;N;;;;;
-1248;ETHIOPIC SYLLABLE QWA;Lo;0;L;;;;;N;;;;;
-124A;ETHIOPIC SYLLABLE QWI;Lo;0;L;;;;;N;;;;;
-124B;ETHIOPIC SYLLABLE QWAA;Lo;0;L;;;;;N;;;;;
-124C;ETHIOPIC SYLLABLE QWEE;Lo;0;L;;;;;N;;;;;
-124D;ETHIOPIC SYLLABLE QWE;Lo;0;L;;;;;N;;;;;
-1250;ETHIOPIC SYLLABLE QHA;Lo;0;L;;;;;N;;;;;
-1251;ETHIOPIC SYLLABLE QHU;Lo;0;L;;;;;N;;;;;
-1252;ETHIOPIC SYLLABLE QHI;Lo;0;L;;;;;N;;;;;
-1253;ETHIOPIC SYLLABLE QHAA;Lo;0;L;;;;;N;;;;;
-1254;ETHIOPIC SYLLABLE QHEE;Lo;0;L;;;;;N;;;;;
-1255;ETHIOPIC SYLLABLE QHE;Lo;0;L;;;;;N;;;;;
-1256;ETHIOPIC SYLLABLE QHO;Lo;0;L;;;;;N;;;;;
-1258;ETHIOPIC SYLLABLE QHWA;Lo;0;L;;;;;N;;;;;
-125A;ETHIOPIC SYLLABLE QHWI;Lo;0;L;;;;;N;;;;;
-125B;ETHIOPIC SYLLABLE QHWAA;Lo;0;L;;;;;N;;;;;
-125C;ETHIOPIC SYLLABLE QHWEE;Lo;0;L;;;;;N;;;;;
-125D;ETHIOPIC SYLLABLE QHWE;Lo;0;L;;;;;N;;;;;
-1260;ETHIOPIC SYLLABLE BA;Lo;0;L;;;;;N;;;;;
-1261;ETHIOPIC SYLLABLE BU;Lo;0;L;;;;;N;;;;;
-1262;ETHIOPIC SYLLABLE BI;Lo;0;L;;;;;N;;;;;
-1263;ETHIOPIC SYLLABLE BAA;Lo;0;L;;;;;N;;;;;
-1264;ETHIOPIC SYLLABLE BEE;Lo;0;L;;;;;N;;;;;
-1265;ETHIOPIC SYLLABLE BE;Lo;0;L;;;;;N;;;;;
-1266;ETHIOPIC SYLLABLE BO;Lo;0;L;;;;;N;;;;;
-1267;ETHIOPIC SYLLABLE BWA;Lo;0;L;;;;;N;;;;;
-1268;ETHIOPIC SYLLABLE VA;Lo;0;L;;;;;N;;;;;
-1269;ETHIOPIC SYLLABLE VU;Lo;0;L;;;;;N;;;;;
-126A;ETHIOPIC SYLLABLE VI;Lo;0;L;;;;;N;;;;;
-126B;ETHIOPIC SYLLABLE VAA;Lo;0;L;;;;;N;;;;;
-126C;ETHIOPIC SYLLABLE VEE;Lo;0;L;;;;;N;;;;;
-126D;ETHIOPIC SYLLABLE VE;Lo;0;L;;;;;N;;;;;
-126E;ETHIOPIC SYLLABLE VO;Lo;0;L;;;;;N;;;;;
-126F;ETHIOPIC SYLLABLE VWA;Lo;0;L;;;;;N;;;;;
-1270;ETHIOPIC SYLLABLE TA;Lo;0;L;;;;;N;;;;;
-1271;ETHIOPIC SYLLABLE TU;Lo;0;L;;;;;N;;;;;
-1272;ETHIOPIC SYLLABLE TI;Lo;0;L;;;;;N;;;;;
-1273;ETHIOPIC SYLLABLE TAA;Lo;0;L;;;;;N;;;;;
-1274;ETHIOPIC SYLLABLE TEE;Lo;0;L;;;;;N;;;;;
-1275;ETHIOPIC SYLLABLE TE;Lo;0;L;;;;;N;;;;;
-1276;ETHIOPIC SYLLABLE TO;Lo;0;L;;;;;N;;;;;
-1277;ETHIOPIC SYLLABLE TWA;Lo;0;L;;;;;N;;;;;
-1278;ETHIOPIC SYLLABLE CA;Lo;0;L;;;;;N;;;;;
-1279;ETHIOPIC SYLLABLE CU;Lo;0;L;;;;;N;;;;;
-127A;ETHIOPIC SYLLABLE CI;Lo;0;L;;;;;N;;;;;
-127B;ETHIOPIC SYLLABLE CAA;Lo;0;L;;;;;N;;;;;
-127C;ETHIOPIC SYLLABLE CEE;Lo;0;L;;;;;N;;;;;
-127D;ETHIOPIC SYLLABLE CE;Lo;0;L;;;;;N;;;;;
-127E;ETHIOPIC SYLLABLE CO;Lo;0;L;;;;;N;;;;;
-127F;ETHIOPIC SYLLABLE CWA;Lo;0;L;;;;;N;;;;;
-1280;ETHIOPIC SYLLABLE XA;Lo;0;L;;;;;N;;;;;
-1281;ETHIOPIC SYLLABLE XU;Lo;0;L;;;;;N;;;;;
-1282;ETHIOPIC SYLLABLE XI;Lo;0;L;;;;;N;;;;;
-1283;ETHIOPIC SYLLABLE XAA;Lo;0;L;;;;;N;;;;;
-1284;ETHIOPIC SYLLABLE XEE;Lo;0;L;;;;;N;;;;;
-1285;ETHIOPIC SYLLABLE XE;Lo;0;L;;;;;N;;;;;
-1286;ETHIOPIC SYLLABLE XO;Lo;0;L;;;;;N;;;;;
-1287;ETHIOPIC SYLLABLE XOA;Lo;0;L;;;;;N;;;;;
-1288;ETHIOPIC SYLLABLE XWA;Lo;0;L;;;;;N;;;;;
-128A;ETHIOPIC SYLLABLE XWI;Lo;0;L;;;;;N;;;;;
-128B;ETHIOPIC SYLLABLE XWAA;Lo;0;L;;;;;N;;;;;
-128C;ETHIOPIC SYLLABLE XWEE;Lo;0;L;;;;;N;;;;;
-128D;ETHIOPIC SYLLABLE XWE;Lo;0;L;;;;;N;;;;;
-1290;ETHIOPIC SYLLABLE NA;Lo;0;L;;;;;N;;;;;
-1291;ETHIOPIC SYLLABLE NU;Lo;0;L;;;;;N;;;;;
-1292;ETHIOPIC SYLLABLE NI;Lo;0;L;;;;;N;;;;;
-1293;ETHIOPIC SYLLABLE NAA;Lo;0;L;;;;;N;;;;;
-1294;ETHIOPIC SYLLABLE NEE;Lo;0;L;;;;;N;;;;;
-1295;ETHIOPIC SYLLABLE NE;Lo;0;L;;;;;N;;;;;
-1296;ETHIOPIC SYLLABLE NO;Lo;0;L;;;;;N;;;;;
-1297;ETHIOPIC SYLLABLE NWA;Lo;0;L;;;;;N;;;;;
-1298;ETHIOPIC SYLLABLE NYA;Lo;0;L;;;;;N;;;;;
-1299;ETHIOPIC SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
-129A;ETHIOPIC SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
-129B;ETHIOPIC SYLLABLE NYAA;Lo;0;L;;;;;N;;;;;
-129C;ETHIOPIC SYLLABLE NYEE;Lo;0;L;;;;;N;;;;;
-129D;ETHIOPIC SYLLABLE NYE;Lo;0;L;;;;;N;;;;;
-129E;ETHIOPIC SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
-129F;ETHIOPIC SYLLABLE NYWA;Lo;0;L;;;;;N;;;;;
-12A0;ETHIOPIC SYLLABLE GLOTTAL A;Lo;0;L;;;;;N;;;;;
-12A1;ETHIOPIC SYLLABLE GLOTTAL U;Lo;0;L;;;;;N;;;;;
-12A2;ETHIOPIC SYLLABLE GLOTTAL I;Lo;0;L;;;;;N;;;;;
-12A3;ETHIOPIC SYLLABLE GLOTTAL AA;Lo;0;L;;;;;N;;;;;
-12A4;ETHIOPIC SYLLABLE GLOTTAL EE;Lo;0;L;;;;;N;;;;;
-12A5;ETHIOPIC SYLLABLE GLOTTAL E;Lo;0;L;;;;;N;;;;;
-12A6;ETHIOPIC SYLLABLE GLOTTAL O;Lo;0;L;;;;;N;;;;;
-12A7;ETHIOPIC SYLLABLE GLOTTAL WA;Lo;0;L;;;;;N;;;;;
-12A8;ETHIOPIC SYLLABLE KA;Lo;0;L;;;;;N;;;;;
-12A9;ETHIOPIC SYLLABLE KU;Lo;0;L;;;;;N;;;;;
-12AA;ETHIOPIC SYLLABLE KI;Lo;0;L;;;;;N;;;;;
-12AB;ETHIOPIC SYLLABLE KAA;Lo;0;L;;;;;N;;;;;
-12AC;ETHIOPIC SYLLABLE KEE;Lo;0;L;;;;;N;;;;;
-12AD;ETHIOPIC SYLLABLE KE;Lo;0;L;;;;;N;;;;;
-12AE;ETHIOPIC SYLLABLE KO;Lo;0;L;;;;;N;;;;;
-12AF;ETHIOPIC SYLLABLE KOA;Lo;0;L;;;;;N;;;;;
-12B0;ETHIOPIC SYLLABLE KWA;Lo;0;L;;;;;N;;;;;
-12B2;ETHIOPIC SYLLABLE KWI;Lo;0;L;;;;;N;;;;;
-12B3;ETHIOPIC SYLLABLE KWAA;Lo;0;L;;;;;N;;;;;
-12B4;ETHIOPIC SYLLABLE KWEE;Lo;0;L;;;;;N;;;;;
-12B5;ETHIOPIC SYLLABLE KWE;Lo;0;L;;;;;N;;;;;
-12B8;ETHIOPIC SYLLABLE KXA;Lo;0;L;;;;;N;;;;;
-12B9;ETHIOPIC SYLLABLE KXU;Lo;0;L;;;;;N;;;;;
-12BA;ETHIOPIC SYLLABLE KXI;Lo;0;L;;;;;N;;;;;
-12BB;ETHIOPIC SYLLABLE KXAA;Lo;0;L;;;;;N;;;;;
-12BC;ETHIOPIC SYLLABLE KXEE;Lo;0;L;;;;;N;;;;;
-12BD;ETHIOPIC SYLLABLE KXE;Lo;0;L;;;;;N;;;;;
-12BE;ETHIOPIC SYLLABLE KXO;Lo;0;L;;;;;N;;;;;
-12C0;ETHIOPIC SYLLABLE KXWA;Lo;0;L;;;;;N;;;;;
-12C2;ETHIOPIC SYLLABLE KXWI;Lo;0;L;;;;;N;;;;;
-12C3;ETHIOPIC SYLLABLE KXWAA;Lo;0;L;;;;;N;;;;;
-12C4;ETHIOPIC SYLLABLE KXWEE;Lo;0;L;;;;;N;;;;;
-12C5;ETHIOPIC SYLLABLE KXWE;Lo;0;L;;;;;N;;;;;
-12C8;ETHIOPIC SYLLABLE WA;Lo;0;L;;;;;N;;;;;
-12C9;ETHIOPIC SYLLABLE WU;Lo;0;L;;;;;N;;;;;
-12CA;ETHIOPIC SYLLABLE WI;Lo;0;L;;;;;N;;;;;
-12CB;ETHIOPIC SYLLABLE WAA;Lo;0;L;;;;;N;;;;;
-12CC;ETHIOPIC SYLLABLE WEE;Lo;0;L;;;;;N;;;;;
-12CD;ETHIOPIC SYLLABLE WE;Lo;0;L;;;;;N;;;;;
-12CE;ETHIOPIC SYLLABLE WO;Lo;0;L;;;;;N;;;;;
-12CF;ETHIOPIC SYLLABLE WOA;Lo;0;L;;;;;N;;;;;
-12D0;ETHIOPIC SYLLABLE PHARYNGEAL A;Lo;0;L;;;;;N;;;;;
-12D1;ETHIOPIC SYLLABLE PHARYNGEAL U;Lo;0;L;;;;;N;;;;;
-12D2;ETHIOPIC SYLLABLE PHARYNGEAL I;Lo;0;L;;;;;N;;;;;
-12D3;ETHIOPIC SYLLABLE PHARYNGEAL AA;Lo;0;L;;;;;N;;;;;
-12D4;ETHIOPIC SYLLABLE PHARYNGEAL EE;Lo;0;L;;;;;N;;;;;
-12D5;ETHIOPIC SYLLABLE PHARYNGEAL E;Lo;0;L;;;;;N;;;;;
-12D6;ETHIOPIC SYLLABLE PHARYNGEAL O;Lo;0;L;;;;;N;;;;;
-12D8;ETHIOPIC SYLLABLE ZA;Lo;0;L;;;;;N;;;;;
-12D9;ETHIOPIC SYLLABLE ZU;Lo;0;L;;;;;N;;;;;
-12DA;ETHIOPIC SYLLABLE ZI;Lo;0;L;;;;;N;;;;;
-12DB;ETHIOPIC SYLLABLE ZAA;Lo;0;L;;;;;N;;;;;
-12DC;ETHIOPIC SYLLABLE ZEE;Lo;0;L;;;;;N;;;;;
-12DD;ETHIOPIC SYLLABLE ZE;Lo;0;L;;;;;N;;;;;
-12DE;ETHIOPIC SYLLABLE ZO;Lo;0;L;;;;;N;;;;;
-12DF;ETHIOPIC SYLLABLE ZWA;Lo;0;L;;;;;N;;;;;
-12E0;ETHIOPIC SYLLABLE ZHA;Lo;0;L;;;;;N;;;;;
-12E1;ETHIOPIC SYLLABLE ZHU;Lo;0;L;;;;;N;;;;;
-12E2;ETHIOPIC SYLLABLE ZHI;Lo;0;L;;;;;N;;;;;
-12E3;ETHIOPIC SYLLABLE ZHAA;Lo;0;L;;;;;N;;;;;
-12E4;ETHIOPIC SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;;
-12E5;ETHIOPIC SYLLABLE ZHE;Lo;0;L;;;;;N;;;;;
-12E6;ETHIOPIC SYLLABLE ZHO;Lo;0;L;;;;;N;;;;;
-12E7;ETHIOPIC SYLLABLE ZHWA;Lo;0;L;;;;;N;;;;;
-12E8;ETHIOPIC SYLLABLE YA;Lo;0;L;;;;;N;;;;;
-12E9;ETHIOPIC SYLLABLE YU;Lo;0;L;;;;;N;;;;;
-12EA;ETHIOPIC SYLLABLE YI;Lo;0;L;;;;;N;;;;;
-12EB;ETHIOPIC SYLLABLE YAA;Lo;0;L;;;;;N;;;;;
-12EC;ETHIOPIC SYLLABLE YEE;Lo;0;L;;;;;N;;;;;
-12ED;ETHIOPIC SYLLABLE YE;Lo;0;L;;;;;N;;;;;
-12EE;ETHIOPIC SYLLABLE YO;Lo;0;L;;;;;N;;;;;
-12EF;ETHIOPIC SYLLABLE YOA;Lo;0;L;;;;;N;;;;;
-12F0;ETHIOPIC SYLLABLE DA;Lo;0;L;;;;;N;;;;;
-12F1;ETHIOPIC SYLLABLE DU;Lo;0;L;;;;;N;;;;;
-12F2;ETHIOPIC SYLLABLE DI;Lo;0;L;;;;;N;;;;;
-12F3;ETHIOPIC SYLLABLE DAA;Lo;0;L;;;;;N;;;;;
-12F4;ETHIOPIC SYLLABLE DEE;Lo;0;L;;;;;N;;;;;
-12F5;ETHIOPIC SYLLABLE DE;Lo;0;L;;;;;N;;;;;
-12F6;ETHIOPIC SYLLABLE DO;Lo;0;L;;;;;N;;;;;
-12F7;ETHIOPIC SYLLABLE DWA;Lo;0;L;;;;;N;;;;;
-12F8;ETHIOPIC SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
-12F9;ETHIOPIC SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
-12FA;ETHIOPIC SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
-12FB;ETHIOPIC SYLLABLE DDAA;Lo;0;L;;;;;N;;;;;
-12FC;ETHIOPIC SYLLABLE DDEE;Lo;0;L;;;;;N;;;;;
-12FD;ETHIOPIC SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
-12FE;ETHIOPIC SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
-12FF;ETHIOPIC SYLLABLE DDWA;Lo;0;L;;;;;N;;;;;
-1300;ETHIOPIC SYLLABLE JA;Lo;0;L;;;;;N;;;;;
-1301;ETHIOPIC SYLLABLE JU;Lo;0;L;;;;;N;;;;;
-1302;ETHIOPIC SYLLABLE JI;Lo;0;L;;;;;N;;;;;
-1303;ETHIOPIC SYLLABLE JAA;Lo;0;L;;;;;N;;;;;
-1304;ETHIOPIC SYLLABLE JEE;Lo;0;L;;;;;N;;;;;
-1305;ETHIOPIC SYLLABLE JE;Lo;0;L;;;;;N;;;;;
-1306;ETHIOPIC SYLLABLE JO;Lo;0;L;;;;;N;;;;;
-1307;ETHIOPIC SYLLABLE JWA;Lo;0;L;;;;;N;;;;;
-1308;ETHIOPIC SYLLABLE GA;Lo;0;L;;;;;N;;;;;
-1309;ETHIOPIC SYLLABLE GU;Lo;0;L;;;;;N;;;;;
-130A;ETHIOPIC SYLLABLE GI;Lo;0;L;;;;;N;;;;;
-130B;ETHIOPIC SYLLABLE GAA;Lo;0;L;;;;;N;;;;;
-130C;ETHIOPIC SYLLABLE GEE;Lo;0;L;;;;;N;;;;;
-130D;ETHIOPIC SYLLABLE GE;Lo;0;L;;;;;N;;;;;
-130E;ETHIOPIC SYLLABLE GO;Lo;0;L;;;;;N;;;;;
-130F;ETHIOPIC SYLLABLE GOA;Lo;0;L;;;;;N;;;;;
-1310;ETHIOPIC SYLLABLE GWA;Lo;0;L;;;;;N;;;;;
-1312;ETHIOPIC SYLLABLE GWI;Lo;0;L;;;;;N;;;;;
-1313;ETHIOPIC SYLLABLE GWAA;Lo;0;L;;;;;N;;;;;
-1314;ETHIOPIC SYLLABLE GWEE;Lo;0;L;;;;;N;;;;;
-1315;ETHIOPIC SYLLABLE GWE;Lo;0;L;;;;;N;;;;;
-1318;ETHIOPIC SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
-1319;ETHIOPIC SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
-131A;ETHIOPIC SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
-131B;ETHIOPIC SYLLABLE GGAA;Lo;0;L;;;;;N;;;;;
-131C;ETHIOPIC SYLLABLE GGEE;Lo;0;L;;;;;N;;;;;
-131D;ETHIOPIC SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
-131E;ETHIOPIC SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
-131F;ETHIOPIC SYLLABLE GGWAA;Lo;0;L;;;;;N;;;;;
-1320;ETHIOPIC SYLLABLE THA;Lo;0;L;;;;;N;;;;;
-1321;ETHIOPIC SYLLABLE THU;Lo;0;L;;;;;N;;;;;
-1322;ETHIOPIC SYLLABLE THI;Lo;0;L;;;;;N;;;;;
-1323;ETHIOPIC SYLLABLE THAA;Lo;0;L;;;;;N;;;;;
-1324;ETHIOPIC SYLLABLE THEE;Lo;0;L;;;;;N;;;;;
-1325;ETHIOPIC SYLLABLE THE;Lo;0;L;;;;;N;;;;;
-1326;ETHIOPIC SYLLABLE THO;Lo;0;L;;;;;N;;;;;
-1327;ETHIOPIC SYLLABLE THWA;Lo;0;L;;;;;N;;;;;
-1328;ETHIOPIC SYLLABLE CHA;Lo;0;L;;;;;N;;;;;
-1329;ETHIOPIC SYLLABLE CHU;Lo;0;L;;;;;N;;;;;
-132A;ETHIOPIC SYLLABLE CHI;Lo;0;L;;;;;N;;;;;
-132B;ETHIOPIC SYLLABLE CHAA;Lo;0;L;;;;;N;;;;;
-132C;ETHIOPIC SYLLABLE CHEE;Lo;0;L;;;;;N;;;;;
-132D;ETHIOPIC SYLLABLE CHE;Lo;0;L;;;;;N;;;;;
-132E;ETHIOPIC SYLLABLE CHO;Lo;0;L;;;;;N;;;;;
-132F;ETHIOPIC SYLLABLE CHWA;Lo;0;L;;;;;N;;;;;
-1330;ETHIOPIC SYLLABLE PHA;Lo;0;L;;;;;N;;;;;
-1331;ETHIOPIC SYLLABLE PHU;Lo;0;L;;;;;N;;;;;
-1332;ETHIOPIC SYLLABLE PHI;Lo;0;L;;;;;N;;;;;
-1333;ETHIOPIC SYLLABLE PHAA;Lo;0;L;;;;;N;;;;;
-1334;ETHIOPIC SYLLABLE PHEE;Lo;0;L;;;;;N;;;;;
-1335;ETHIOPIC SYLLABLE PHE;Lo;0;L;;;;;N;;;;;
-1336;ETHIOPIC SYLLABLE PHO;Lo;0;L;;;;;N;;;;;
-1337;ETHIOPIC SYLLABLE PHWA;Lo;0;L;;;;;N;;;;;
-1338;ETHIOPIC SYLLABLE TSA;Lo;0;L;;;;;N;;;;;
-1339;ETHIOPIC SYLLABLE TSU;Lo;0;L;;;;;N;;;;;
-133A;ETHIOPIC SYLLABLE TSI;Lo;0;L;;;;;N;;;;;
-133B;ETHIOPIC SYLLABLE TSAA;Lo;0;L;;;;;N;;;;;
-133C;ETHIOPIC SYLLABLE TSEE;Lo;0;L;;;;;N;;;;;
-133D;ETHIOPIC SYLLABLE TSE;Lo;0;L;;;;;N;;;;;
-133E;ETHIOPIC SYLLABLE TSO;Lo;0;L;;;;;N;;;;;
-133F;ETHIOPIC SYLLABLE TSWA;Lo;0;L;;;;;N;;;;;
-1340;ETHIOPIC SYLLABLE TZA;Lo;0;L;;;;;N;;;;;
-1341;ETHIOPIC SYLLABLE TZU;Lo;0;L;;;;;N;;;;;
-1342;ETHIOPIC SYLLABLE TZI;Lo;0;L;;;;;N;;;;;
-1343;ETHIOPIC SYLLABLE TZAA;Lo;0;L;;;;;N;;;;;
-1344;ETHIOPIC SYLLABLE TZEE;Lo;0;L;;;;;N;;;;;
-1345;ETHIOPIC SYLLABLE TZE;Lo;0;L;;;;;N;;;;;
-1346;ETHIOPIC SYLLABLE TZO;Lo;0;L;;;;;N;;;;;
-1347;ETHIOPIC SYLLABLE TZOA;Lo;0;L;;;;;N;;;;;
-1348;ETHIOPIC SYLLABLE FA;Lo;0;L;;;;;N;;;;;
-1349;ETHIOPIC SYLLABLE FU;Lo;0;L;;;;;N;;;;;
-134A;ETHIOPIC SYLLABLE FI;Lo;0;L;;;;;N;;;;;
-134B;ETHIOPIC SYLLABLE FAA;Lo;0;L;;;;;N;;;;;
-134C;ETHIOPIC SYLLABLE FEE;Lo;0;L;;;;;N;;;;;
-134D;ETHIOPIC SYLLABLE FE;Lo;0;L;;;;;N;;;;;
-134E;ETHIOPIC SYLLABLE FO;Lo;0;L;;;;;N;;;;;
-134F;ETHIOPIC SYLLABLE FWA;Lo;0;L;;;;;N;;;;;
-1350;ETHIOPIC SYLLABLE PA;Lo;0;L;;;;;N;;;;;
-1351;ETHIOPIC SYLLABLE PU;Lo;0;L;;;;;N;;;;;
-1352;ETHIOPIC SYLLABLE PI;Lo;0;L;;;;;N;;;;;
-1353;ETHIOPIC SYLLABLE PAA;Lo;0;L;;;;;N;;;;;
-1354;ETHIOPIC SYLLABLE PEE;Lo;0;L;;;;;N;;;;;
-1355;ETHIOPIC SYLLABLE PE;Lo;0;L;;;;;N;;;;;
-1356;ETHIOPIC SYLLABLE PO;Lo;0;L;;;;;N;;;;;
-1357;ETHIOPIC SYLLABLE PWA;Lo;0;L;;;;;N;;;;;
-1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;;
-1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;;
-135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;;
-135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;;
-1360;ETHIOPIC SECTION MARK;So;0;L;;;;;N;;;;;
-1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;;
-1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;;
-1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;;
-1364;ETHIOPIC SEMICOLON;Po;0;L;;;;;N;;;;;
-1365;ETHIOPIC COLON;Po;0;L;;;;;N;;;;;
-1366;ETHIOPIC PREFACE COLON;Po;0;L;;;;;N;;;;;
-1367;ETHIOPIC QUESTION MARK;Po;0;L;;;;;N;;;;;
-1368;ETHIOPIC PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
-1369;ETHIOPIC DIGIT ONE;No;0;L;;;1;1;N;;;;;
-136A;ETHIOPIC DIGIT TWO;No;0;L;;;2;2;N;;;;;
-136B;ETHIOPIC DIGIT THREE;No;0;L;;;3;3;N;;;;;
-136C;ETHIOPIC DIGIT FOUR;No;0;L;;;4;4;N;;;;;
-136D;ETHIOPIC DIGIT FIVE;No;0;L;;;5;5;N;;;;;
-136E;ETHIOPIC DIGIT SIX;No;0;L;;;6;6;N;;;;;
-136F;ETHIOPIC DIGIT SEVEN;No;0;L;;;7;7;N;;;;;
-1370;ETHIOPIC DIGIT EIGHT;No;0;L;;;8;8;N;;;;;
-1371;ETHIOPIC DIGIT NINE;No;0;L;;;9;9;N;;;;;
-1372;ETHIOPIC NUMBER TEN;No;0;L;;;;10;N;;;;;
-1373;ETHIOPIC NUMBER TWENTY;No;0;L;;;;20;N;;;;;
-1374;ETHIOPIC NUMBER THIRTY;No;0;L;;;;30;N;;;;;
-1375;ETHIOPIC NUMBER FORTY;No;0;L;;;;40;N;;;;;
-1376;ETHIOPIC NUMBER FIFTY;No;0;L;;;;50;N;;;;;
-1377;ETHIOPIC NUMBER SIXTY;No;0;L;;;;60;N;;;;;
-1378;ETHIOPIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
-1379;ETHIOPIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
-137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;;
-137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;;
-137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;;
-1380;ETHIOPIC SYLLABLE SEBATBEIT MWA;Lo;0;L;;;;;N;;;;;
-1381;ETHIOPIC SYLLABLE MWI;Lo;0;L;;;;;N;;;;;
-1382;ETHIOPIC SYLLABLE MWEE;Lo;0;L;;;;;N;;;;;
-1383;ETHIOPIC SYLLABLE MWE;Lo;0;L;;;;;N;;;;;
-1384;ETHIOPIC SYLLABLE SEBATBEIT BWA;Lo;0;L;;;;;N;;;;;
-1385;ETHIOPIC SYLLABLE BWI;Lo;0;L;;;;;N;;;;;
-1386;ETHIOPIC SYLLABLE BWEE;Lo;0;L;;;;;N;;;;;
-1387;ETHIOPIC SYLLABLE BWE;Lo;0;L;;;;;N;;;;;
-1388;ETHIOPIC SYLLABLE SEBATBEIT FWA;Lo;0;L;;;;;N;;;;;
-1389;ETHIOPIC SYLLABLE FWI;Lo;0;L;;;;;N;;;;;
-138A;ETHIOPIC SYLLABLE FWEE;Lo;0;L;;;;;N;;;;;
-138B;ETHIOPIC SYLLABLE FWE;Lo;0;L;;;;;N;;;;;
-138C;ETHIOPIC SYLLABLE SEBATBEIT PWA;Lo;0;L;;;;;N;;;;;
-138D;ETHIOPIC SYLLABLE PWI;Lo;0;L;;;;;N;;;;;
-138E;ETHIOPIC SYLLABLE PWEE;Lo;0;L;;;;;N;;;;;
-138F;ETHIOPIC SYLLABLE PWE;Lo;0;L;;;;;N;;;;;
-1390;ETHIOPIC TONAL MARK YIZET;So;0;ON;;;;;N;;;;;
-1391;ETHIOPIC TONAL MARK DERET;So;0;ON;;;;;N;;;;;
-1392;ETHIOPIC TONAL MARK RIKRIK;So;0;ON;;;;;N;;;;;
-1393;ETHIOPIC TONAL MARK SHORT RIKRIK;So;0;ON;;;;;N;;;;;
-1394;ETHIOPIC TONAL MARK DIFAT;So;0;ON;;;;;N;;;;;
-1395;ETHIOPIC TONAL MARK KENAT;So;0;ON;;;;;N;;;;;
-1396;ETHIOPIC TONAL MARK CHIRET;So;0;ON;;;;;N;;;;;
-1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;;
-1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;;
-1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;;
-13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;;
-13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;;
-13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;;
-13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;;
-13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;;
-13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;;
-13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;;
-13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;;
-13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;;
-13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;;
-13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;;
-13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;;
-13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;;
-13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;;
-13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;;
-13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;;
-13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;;
-13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;;
-13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;;
-13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;;
-13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;;
-13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;;
-13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;;
-13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;;
-13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;;
-13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;;
-13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;;
-13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;;
-13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;;
-13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;;
-13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;;
-13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;;
-13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;;
-13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;;
-13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;;
-13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;;
-13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;;
-13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;;
-13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;;
-13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;;
-13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;;
-13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;;
-13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;;
-13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;;
-13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;;
-13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;;
-13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;;
-13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;;
-13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;;
-13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;;
-13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;;
-13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;;
-13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;;
-13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;;
-13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;;
-13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;;
-13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;;
-13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;;
-13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;;
-13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;;
-13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;;
-13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;;
-13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;;
-13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;;
-13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;;
-13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;;
-13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;;
-13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;;
-13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;;
-13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;;
-13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;;
-13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;;
-13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;;
-13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;;
-13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;;
-13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;;
-13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;;
-13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;;
-13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;;
-13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;;
-13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;;
-13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;;
-13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;;
-13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;;
-13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;;
-1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;;
-1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;;
-1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;;
-1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;;
-1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;;
-1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;;
-1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;;
-1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;;
-1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;;
-1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;;
-140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;;
-140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;;
-140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;;
-140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;;
-140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;;
-140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;;
-1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;;
-1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;;
-1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;;
-1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;;
-1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;;
-1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;;
-1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;;
-1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;;
-1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;;
-1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;;
-141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;;
-141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;;
-141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;;
-141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;;
-141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
-141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;;
-1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;;
-1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;;
-1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;;
-1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;;
-1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;;
-1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;;
-1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;;
-1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;;
-1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;;
-1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;;
-142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;;
-142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;;
-142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;;
-142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;;
-142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;;
-142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;;
-1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;;
-1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;;
-1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;;
-1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;;
-1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;;
-1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;;
-1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;;
-1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;;
-1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;;
-1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;;
-143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;;
-143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;;
-143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;;
-143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;;
-143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;;
-143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;;
-1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;;
-1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;;
-1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;;
-1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;;
-1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;;
-1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;;
-1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;;
-1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;;
-1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;;
-1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;;
-144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;;
-144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;;
-144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;;
-144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;;
-144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;;
-144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;;
-1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;;
-1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;;
-1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;;
-1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;;
-1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;;
-1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;;
-1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;;
-1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;;
-1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;;
-1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;;
-145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;;
-145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;;
-145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;;
-145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;;
-145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;;
-145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;;
-1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;;
-1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;;
-1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;;
-1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;;
-1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;;
-1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;;
-1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;;
-1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;;
-1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;;
-1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;;
-146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;;
-146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;;
-146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;;
-146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;;
-146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;;
-146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;;
-1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;;
-1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;;
-1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;;
-1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;;
-1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;;
-1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;;
-1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;;
-1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;;
-1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;;
-1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;;
-147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;;
-147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;;
-147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;;
-147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;;
-147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;;
-147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;;
-1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;;
-1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;;
-1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;;
-1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;;
-1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;;
-1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;;
-1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;;
-1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;;
-1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;;
-1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;;
-148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;;
-148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;;
-148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;;
-148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;;
-148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;;
-148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;;
-1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;;
-1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;;
-1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;;
-1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;;
-1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;;
-1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;;
-1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;;
-1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;;
-1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;;
-1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;;
-149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;;
-149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;;
-149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;;
-149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;;
-149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;;
-149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;;
-14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;;
-14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;;
-14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;;
-14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;;
-14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;;
-14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;;
-14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;;
-14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;;
-14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;;
-14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;;
-14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;;
-14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;;
-14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;;
-14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;;
-14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;;
-14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;;
-14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;;
-14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;;
-14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;;
-14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;;
-14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;;
-14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;;
-14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;;
-14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;;
-14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;;
-14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;;
-14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;;
-14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;;
-14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;;
-14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;;
-14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;;
-14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;;
-14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;;
-14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;;
-14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;;
-14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;;
-14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;;
-14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;;
-14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;;
-14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;;
-14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;;
-14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;;
-14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;;
-14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;;
-14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;;
-14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;;
-14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;;
-14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;;
-14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;;
-14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;;
-14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;;
-14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;;
-14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;;
-14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;;
-14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;;
-14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;;
-14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;;
-14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;;
-14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;;
-14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;;
-14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;;
-14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;;
-14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;;
-14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;;
-14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;;
-14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;;
-14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;;
-14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;;
-14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;;
-14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;;
-14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;;
-14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;;
-14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;;
-14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;;
-14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;;
-14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;;
-14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;;
-14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;;
-14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;;
-14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;;
-14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;;
-14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;;
-14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;;
-14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;;
-14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;;
-14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;;
-14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;;
-14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;;
-14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;;
-14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;;
-14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;;
-14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;;
-14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;;
-14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;;
-14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;;
-14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;;
-1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;;
-1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;;
-1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;;
-1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;;
-1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;;
-1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;;
-1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;;
-1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;;
-1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;;
-1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;;
-150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;;
-150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;;
-150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;;
-150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;;
-150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;;
-150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;;
-1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;;
-1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;;
-1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;;
-1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;;
-1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;;
-1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;;
-1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;;
-1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;;
-1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;;
-1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;;
-151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;;
-151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;;
-151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;;
-151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;;
-151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;;
-151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;;
-1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;;
-1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;;
-1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;;
-1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;;
-1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;;
-1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;;
-1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;;
-1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;;
-1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;;
-1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;;
-152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;;
-152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;;
-152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;;
-152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;;
-152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;;
-152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;;
-1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;;
-1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;;
-1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;;
-1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;;
-1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;;
-1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;;
-1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;;
-1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;;
-1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;;
-1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;;
-153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;;
-153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;;
-153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;;
-153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;;
-153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;;
-153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;;
-1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;;
-1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;;
-1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;;
-1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;;
-1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;;
-1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;;
-1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;;
-1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;;
-1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;;
-1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;;
-154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;;
-154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;;
-154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;;
-154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;;
-154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;;
-154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;;
-1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;;
-1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;;
-1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;;
-1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;;
-1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;;
-1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;;
-1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;;
-1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;;
-1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;;
-1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;;
-155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;;
-155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;;
-155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;;
-155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;;
-155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;;
-155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;;
-1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;;
-1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;;
-1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;;
-1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;;
-1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;;
-1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;;
-1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;;
-1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;;
-1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;;
-1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;;
-156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;;
-156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;;
-156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;;
-156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;;
-156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;;
-156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;;
-1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;;
-1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;;
-1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;;
-1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;;
-1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;;
-1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;;
-1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;;
-1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;;
-1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;;
-1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;;
-157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;;
-157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;;
-157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;;
-157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;;
-157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;;
-157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;;
-1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;;
-1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;;
-1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;;
-1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;;
-1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;;
-1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;;
-1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;;
-1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;;
-1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;;
-1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;;
-158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;;
-158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;;
-158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;;
-158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;;
-158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;;
-158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;;
-1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;;
-1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;;
-1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;;
-1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;;
-1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;;
-1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;;
-1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;;
-1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;;
-1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;;
-1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;;
-159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;;
-159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;;
-159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;;
-159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;;
-159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;;
-159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;;
-15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;;
-15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;;
-15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;;
-15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;;
-15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;;
-15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;;
-15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;;
-15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;;
-15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;;
-15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;;
-15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;;
-15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;;
-15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;;
-15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;;
-15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;;
-15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;;
-15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;;
-15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;;
-15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;;
-15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;;
-15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;;
-15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;;
-15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;;
-15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;;
-15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;;
-15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;;
-15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;;
-15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;;
-15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;;
-15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;;
-15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;;
-15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;;
-15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;;
-15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;;
-15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;;
-15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;;
-15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;;
-15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;;
-15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;;
-15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;;
-15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;;
-15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;;
-15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;;
-15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;;
-15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;;
-15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;;
-15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;;
-15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;;
-15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;;
-15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;;
-15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;;
-15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;;
-15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;;
-15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;;
-15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;;
-15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;;
-15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;;
-15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;;
-15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;;
-15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;;
-15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;;
-15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;;
-15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;;
-15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;;
-15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;;
-15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;;
-15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;;
-15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;;
-15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;;
-15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;;
-15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;;
-15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;;
-15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;;
-15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;;
-15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;;
-15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;;
-15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;;
-15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;;
-15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;;
-15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;;
-15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;;
-15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;;
-15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;;
-15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;;
-15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;;
-15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;;
-15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;;
-15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;;
-15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;;
-15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;;
-15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;;
-15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;;
-15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;;
-15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;;
-15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;;
-15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;;
-1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;;
-1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;;
-1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;;
-1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;;
-1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;;
-1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;;
-1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;;
-1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;;
-1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;;
-1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;;
-160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;;
-160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;;
-160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;;
-160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;;
-160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;;
-160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;;
-1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;;
-1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;;
-1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;;
-1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;;
-1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;;
-1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;;
-1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;;
-1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;;
-1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;;
-1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;;
-161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;;
-161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;;
-161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;;
-161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;;
-161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;;
-161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;;
-1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;;
-1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;;
-1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;;
-1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;;
-1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;;
-1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;;
-1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;;
-1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;;
-1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;;
-1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;;
-162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;;
-162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;;
-162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;;
-162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;;
-162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;;
-162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;;
-1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;;
-1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;;
-1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;;
-1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;;
-1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;;
-1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;;
-1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;;
-1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;;
-1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;;
-1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;;
-163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;;
-163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;;
-163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;;
-163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;;
-163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;;
-163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;;
-1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;;
-1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;;
-1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;;
-1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;;
-1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;;
-1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;;
-1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;;
-1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;;
-1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;;
-1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;;
-164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;;
-164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;;
-164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;;
-164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;;
-164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;;
-164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;;
-1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;;
-1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;;
-1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;;
-1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;;
-1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;;
-1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;;
-1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;;
-1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;;
-1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;;
-1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;;
-165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;;
-165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;;
-165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;;
-165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;;
-165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;;
-165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;;
-1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;;
-1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;;
-1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;;
-1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;;
-1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;;
-1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;;
-1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;;
-1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;;
-1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;;
-1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;;
-166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;;
-166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;;
-166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;;
-166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;;
-166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;;
-166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;;
-1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;;
-1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;;
-1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;;
-1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;;
-1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;;
-1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;;
-1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;;
-1677;CANADIAN SYLLABICS WOODS-CREE THWEE;Lo;0;L;;;;;N;;;;;
-1678;CANADIAN SYLLABICS WOODS-CREE THWI;Lo;0;L;;;;;N;;;;;
-1679;CANADIAN SYLLABICS WOODS-CREE THWII;Lo;0;L;;;;;N;;;;;
-167A;CANADIAN SYLLABICS WOODS-CREE THWO;Lo;0;L;;;;;N;;;;;
-167B;CANADIAN SYLLABICS WOODS-CREE THWOO;Lo;0;L;;;;;N;;;;;
-167C;CANADIAN SYLLABICS WOODS-CREE THWA;Lo;0;L;;;;;N;;;;;
-167D;CANADIAN SYLLABICS WOODS-CREE THWAA;Lo;0;L;;;;;N;;;;;
-167E;CANADIAN SYLLABICS WOODS-CREE FINAL TH;Lo;0;L;;;;;N;;;;;
-167F;CANADIAN SYLLABICS BLACKFOOT W;Lo;0;L;;;;;N;;;;;
-1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;;
-1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;;
-1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;;
-1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;;
-1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;;
-1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;;
-1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;;
-1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;;
-1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;;
-1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;;
-168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;;
-168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;;
-168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;;
-168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;;
-168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;;
-168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;;
-1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;;
-1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;;
-1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;;
-1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;;
-1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;;
-1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;;
-1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;;
-1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;;
-1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;;
-1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;;
-169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;;
-169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;Y;;;;;
-169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;Y;;;;;
-16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;;
-16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;;
-16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;;
-16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;;
-16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;;
-16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;;
-16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;;
-16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;;
-16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;;
-16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;;
-16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;;
-16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;;
-16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;;
-16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;;
-16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;;
-16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;;
-16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;;
-16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;;
-16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;;
-16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;;
-16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;;
-16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;;
-16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;;
-16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;;
-16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;;
-16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;;
-16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;;
-16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;;
-16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;;
-16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;;
-16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;;
-16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;;
-16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;;
-16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;;
-16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;;
-16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;;
-16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;;
-16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;;
-16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;;
-16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;;
-16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;;
-16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;;
-16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;;
-16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;;
-16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;;
-16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;;
-16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;;
-16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;;
-16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;;
-16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;;
-16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;;
-16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;;
-16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;;
-16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;;
-16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;;
-16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;;
-16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;;
-16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;;
-16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;;
-16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;;
-16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;;
-16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;;
-16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;;
-16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;;
-16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;;
-16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;;
-16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;;
-16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;;
-16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;;
-16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;;
-16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;;
-16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;;
-16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;;
-16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;;
-16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;;
-16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
-16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;;
-16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;;
-16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;;;;
-16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;;;;
-16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;;;;
-1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;;
-1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;;
-1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;;
-1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;;
-1704;TAGALOG LETTER GA;Lo;0;L;;;;;N;;;;;
-1705;TAGALOG LETTER NGA;Lo;0;L;;;;;N;;;;;
-1706;TAGALOG LETTER TA;Lo;0;L;;;;;N;;;;;
-1707;TAGALOG LETTER DA;Lo;0;L;;;;;N;;;;;
-1708;TAGALOG LETTER NA;Lo;0;L;;;;;N;;;;;
-1709;TAGALOG LETTER PA;Lo;0;L;;;;;N;;;;;
-170A;TAGALOG LETTER BA;Lo;0;L;;;;;N;;;;;
-170B;TAGALOG LETTER MA;Lo;0;L;;;;;N;;;;;
-170C;TAGALOG LETTER YA;Lo;0;L;;;;;N;;;;;
-170E;TAGALOG LETTER LA;Lo;0;L;;;;;N;;;;;
-170F;TAGALOG LETTER WA;Lo;0;L;;;;;N;;;;;
-1710;TAGALOG LETTER SA;Lo;0;L;;;;;N;;;;;
-1711;TAGALOG LETTER HA;Lo;0;L;;;;;N;;;;;
-1712;TAGALOG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-1713;TAGALOG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1714;TAGALOG SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-1720;HANUNOO LETTER A;Lo;0;L;;;;;N;;;;;
-1721;HANUNOO LETTER I;Lo;0;L;;;;;N;;;;;
-1722;HANUNOO LETTER U;Lo;0;L;;;;;N;;;;;
-1723;HANUNOO LETTER KA;Lo;0;L;;;;;N;;;;;
-1724;HANUNOO LETTER GA;Lo;0;L;;;;;N;;;;;
-1725;HANUNOO LETTER NGA;Lo;0;L;;;;;N;;;;;
-1726;HANUNOO LETTER TA;Lo;0;L;;;;;N;;;;;
-1727;HANUNOO LETTER DA;Lo;0;L;;;;;N;;;;;
-1728;HANUNOO LETTER NA;Lo;0;L;;;;;N;;;;;
-1729;HANUNOO LETTER PA;Lo;0;L;;;;;N;;;;;
-172A;HANUNOO LETTER BA;Lo;0;L;;;;;N;;;;;
-172B;HANUNOO LETTER MA;Lo;0;L;;;;;N;;;;;
-172C;HANUNOO LETTER YA;Lo;0;L;;;;;N;;;;;
-172D;HANUNOO LETTER RA;Lo;0;L;;;;;N;;;;;
-172E;HANUNOO LETTER LA;Lo;0;L;;;;;N;;;;;
-172F;HANUNOO LETTER WA;Lo;0;L;;;;;N;;;;;
-1730;HANUNOO LETTER SA;Lo;0;L;;;;;N;;;;;
-1731;HANUNOO LETTER HA;Lo;0;L;;;;;N;;;;;
-1732;HANUNOO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-1733;HANUNOO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1734;HANUNOO SIGN PAMUDPOD;Mn;9;NSM;;;;;N;;;;;
-1735;PHILIPPINE SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
-1736;PHILIPPINE DOUBLE PUNCTUATION;Po;0;L;;;;;N;;;;;
-1740;BUHID LETTER A;Lo;0;L;;;;;N;;;;;
-1741;BUHID LETTER I;Lo;0;L;;;;;N;;;;;
-1742;BUHID LETTER U;Lo;0;L;;;;;N;;;;;
-1743;BUHID LETTER KA;Lo;0;L;;;;;N;;;;;
-1744;BUHID LETTER GA;Lo;0;L;;;;;N;;;;;
-1745;BUHID LETTER NGA;Lo;0;L;;;;;N;;;;;
-1746;BUHID LETTER TA;Lo;0;L;;;;;N;;;;;
-1747;BUHID LETTER DA;Lo;0;L;;;;;N;;;;;
-1748;BUHID LETTER NA;Lo;0;L;;;;;N;;;;;
-1749;BUHID LETTER PA;Lo;0;L;;;;;N;;;;;
-174A;BUHID LETTER BA;Lo;0;L;;;;;N;;;;;
-174B;BUHID LETTER MA;Lo;0;L;;;;;N;;;;;
-174C;BUHID LETTER YA;Lo;0;L;;;;;N;;;;;
-174D;BUHID LETTER RA;Lo;0;L;;;;;N;;;;;
-174E;BUHID LETTER LA;Lo;0;L;;;;;N;;;;;
-174F;BUHID LETTER WA;Lo;0;L;;;;;N;;;;;
-1750;BUHID LETTER SA;Lo;0;L;;;;;N;;;;;
-1751;BUHID LETTER HA;Lo;0;L;;;;;N;;;;;
-1752;BUHID VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-1753;BUHID VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1760;TAGBANWA LETTER A;Lo;0;L;;;;;N;;;;;
-1761;TAGBANWA LETTER I;Lo;0;L;;;;;N;;;;;
-1762;TAGBANWA LETTER U;Lo;0;L;;;;;N;;;;;
-1763;TAGBANWA LETTER KA;Lo;0;L;;;;;N;;;;;
-1764;TAGBANWA LETTER GA;Lo;0;L;;;;;N;;;;;
-1765;TAGBANWA LETTER NGA;Lo;0;L;;;;;N;;;;;
-1766;TAGBANWA LETTER TA;Lo;0;L;;;;;N;;;;;
-1767;TAGBANWA LETTER DA;Lo;0;L;;;;;N;;;;;
-1768;TAGBANWA LETTER NA;Lo;0;L;;;;;N;;;;;
-1769;TAGBANWA LETTER PA;Lo;0;L;;;;;N;;;;;
-176A;TAGBANWA LETTER BA;Lo;0;L;;;;;N;;;;;
-176B;TAGBANWA LETTER MA;Lo;0;L;;;;;N;;;;;
-176C;TAGBANWA LETTER YA;Lo;0;L;;;;;N;;;;;
-176E;TAGBANWA LETTER LA;Lo;0;L;;;;;N;;;;;
-176F;TAGBANWA LETTER WA;Lo;0;L;;;;;N;;;;;
-1770;TAGBANWA LETTER SA;Lo;0;L;;;;;N;;;;;
-1772;TAGBANWA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-1773;TAGBANWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;;
-1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;;
-1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;;
-1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;;
-1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;;
-1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;;
-1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;;
-1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;;
-1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;;
-1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;;
-178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;;
-178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;;
-178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;;
-178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;;
-178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;;
-178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;;
-1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;;
-1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;;
-1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;;
-1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;;
-1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;;
-1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;;
-1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;;
-1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;;
-1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;;
-1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;;
-179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;;
-179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;;
-179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;;
-179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;;
-179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;;
-179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;;
-17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;;
-17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;;
-17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;;
-17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;;;;
-17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;;;;
-17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;;
-17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;;
-17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;;
-17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;;
-17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;;
-17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;;
-17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;;
-17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;;
-17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;;
-17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;;
-17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;;
-17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;;
-17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;;
-17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;;
-17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;;
-17B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;;;;
-17B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;;;;
-17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;;
-17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
-17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;;
-17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;;
-17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;;
-17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;;
-17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
-17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
-17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;;
-17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;;
-17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;;
-17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;;
-17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;;
-17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;;
-17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;;
-17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;;
-17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;;
-17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;;
-17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;;
-17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;;
-17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;;
-17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;;;;
-17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;;
-17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;;
-17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;;
-17D7;KHMER SIGN LEK TOO;Lm;0;L;;;;;N;;;;;
-17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;;;;
-17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;;
-17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;;
-17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;;
-17DC;KHMER SIGN AVAKRAHASANYA;Lo;0;L;;;;;N;;;;;
-17DD;KHMER SIGN ATTHACAN;Mn;230;NSM;;;;;N;;;;;
-17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-17F0;KHMER SYMBOL LEK ATTAK SON;No;0;ON;;;;0;N;;;;;
-17F1;KHMER SYMBOL LEK ATTAK MUOY;No;0;ON;;;;1;N;;;;;
-17F2;KHMER SYMBOL LEK ATTAK PII;No;0;ON;;;;2;N;;;;;
-17F3;KHMER SYMBOL LEK ATTAK BEI;No;0;ON;;;;3;N;;;;;
-17F4;KHMER SYMBOL LEK ATTAK BUON;No;0;ON;;;;4;N;;;;;
-17F5;KHMER SYMBOL LEK ATTAK PRAM;No;0;ON;;;;5;N;;;;;
-17F6;KHMER SYMBOL LEK ATTAK PRAM-MUOY;No;0;ON;;;;6;N;;;;;
-17F7;KHMER SYMBOL LEK ATTAK PRAM-PII;No;0;ON;;;;7;N;;;;;
-17F8;KHMER SYMBOL LEK ATTAK PRAM-BEI;No;0;ON;;;;8;N;;;;;
-17F9;KHMER SYMBOL LEK ATTAK PRAM-BUON;No;0;ON;;;;9;N;;;;;
-1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;;
-1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;;
-1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;;
-1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;;
-1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;;
-1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;;
-1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;;
-1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;;
-1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;;
-1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;;
-180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;;
-180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;;
-180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;;
-180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;;
-180E;MONGOLIAN VOWEL SEPARATOR;Zs;0;WS;;;;;N;;;;;
-1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;;
-1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;;
-1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;;
-1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;;
-1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;;
-1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;;
-1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;;
-1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;;
-1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;;
-1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;;
-182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;;
-182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;;
-182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;;
-182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;;
-182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;;
-182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;;
-1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;;
-1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;;
-1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;;
-1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;;
-1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;;
-1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;;
-1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;;
-1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;;
-1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;;
-1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;;
-183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;;
-183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;;
-183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;;
-183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;;
-183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;;
-183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;;
-1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;;
-1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;;
-1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;;
-1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;;
-1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;;
-1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;;
-1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;;
-1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;;
-1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;;
-1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;;
-184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;;
-184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;;
-184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;;
-184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;;
-184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;;
-184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;;
-1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;;
-1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;;
-1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;;
-1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;;
-1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;;
-1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;;
-1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;;
-1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;;
-1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;;
-1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;;
-185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;;
-185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;;
-185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;;
-185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;;
-185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;;
-185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;;
-1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;;
-1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;;
-1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;;
-1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;;
-1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;;
-1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;;
-1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;;
-1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;;
-1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;;
-1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;;
-186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;;
-186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;;
-186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;;
-186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;;
-186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;;
-186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;;
-1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;;
-1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;;
-1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;;
-1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;;
-1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;;
-1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;;
-1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;;
-1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;;
-1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;;
-1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;;
-1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;;
-1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;;
-1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;;
-1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;;
-1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;;
-1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;;
-1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;;
-1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;;
-188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;;
-188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;;
-188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;;
-188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;;
-188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;;
-188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;;
-1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;;
-1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;;
-1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;;
-1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;;
-1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;;
-1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
-1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;;
-1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;;
-1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;;
-1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
-189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;;
-189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;;
-189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;;
-189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;;
-189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;;
-189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;;
-18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;;
-18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;;
-18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;;
-18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;;
-18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
-18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;;
-18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;;
-18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;;
-18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;;
-18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;;
-18AA;MONGOLIAN LETTER MANCHU ALI GALI LHA;Lo;0;L;;;;;N;;;;;
-18B0;CANADIAN SYLLABICS OY;Lo;0;L;;;;;N;;;;;
-18B1;CANADIAN SYLLABICS AY;Lo;0;L;;;;;N;;;;;
-18B2;CANADIAN SYLLABICS AAY;Lo;0;L;;;;;N;;;;;
-18B3;CANADIAN SYLLABICS WAY;Lo;0;L;;;;;N;;;;;
-18B4;CANADIAN SYLLABICS POY;Lo;0;L;;;;;N;;;;;
-18B5;CANADIAN SYLLABICS PAY;Lo;0;L;;;;;N;;;;;
-18B6;CANADIAN SYLLABICS PWOY;Lo;0;L;;;;;N;;;;;
-18B7;CANADIAN SYLLABICS TAY;Lo;0;L;;;;;N;;;;;
-18B8;CANADIAN SYLLABICS KAY;Lo;0;L;;;;;N;;;;;
-18B9;CANADIAN SYLLABICS KWAY;Lo;0;L;;;;;N;;;;;
-18BA;CANADIAN SYLLABICS MAY;Lo;0;L;;;;;N;;;;;
-18BB;CANADIAN SYLLABICS NOY;Lo;0;L;;;;;N;;;;;
-18BC;CANADIAN SYLLABICS NAY;Lo;0;L;;;;;N;;;;;
-18BD;CANADIAN SYLLABICS LAY;Lo;0;L;;;;;N;;;;;
-18BE;CANADIAN SYLLABICS SOY;Lo;0;L;;;;;N;;;;;
-18BF;CANADIAN SYLLABICS SAY;Lo;0;L;;;;;N;;;;;
-18C0;CANADIAN SYLLABICS SHOY;Lo;0;L;;;;;N;;;;;
-18C1;CANADIAN SYLLABICS SHAY;Lo;0;L;;;;;N;;;;;
-18C2;CANADIAN SYLLABICS SHWOY;Lo;0;L;;;;;N;;;;;
-18C3;CANADIAN SYLLABICS YOY;Lo;0;L;;;;;N;;;;;
-18C4;CANADIAN SYLLABICS YAY;Lo;0;L;;;;;N;;;;;
-18C5;CANADIAN SYLLABICS RAY;Lo;0;L;;;;;N;;;;;
-18C6;CANADIAN SYLLABICS NWI;Lo;0;L;;;;;N;;;;;
-18C7;CANADIAN SYLLABICS OJIBWAY NWI;Lo;0;L;;;;;N;;;;;
-18C8;CANADIAN SYLLABICS NWII;Lo;0;L;;;;;N;;;;;
-18C9;CANADIAN SYLLABICS OJIBWAY NWII;Lo;0;L;;;;;N;;;;;
-18CA;CANADIAN SYLLABICS NWO;Lo;0;L;;;;;N;;;;;
-18CB;CANADIAN SYLLABICS OJIBWAY NWO;Lo;0;L;;;;;N;;;;;
-18CC;CANADIAN SYLLABICS NWOO;Lo;0;L;;;;;N;;;;;
-18CD;CANADIAN SYLLABICS OJIBWAY NWOO;Lo;0;L;;;;;N;;;;;
-18CE;CANADIAN SYLLABICS RWEE;Lo;0;L;;;;;N;;;;;
-18CF;CANADIAN SYLLABICS RWI;Lo;0;L;;;;;N;;;;;
-18D0;CANADIAN SYLLABICS RWII;Lo;0;L;;;;;N;;;;;
-18D1;CANADIAN SYLLABICS RWO;Lo;0;L;;;;;N;;;;;
-18D2;CANADIAN SYLLABICS RWOO;Lo;0;L;;;;;N;;;;;
-18D3;CANADIAN SYLLABICS RWA;Lo;0;L;;;;;N;;;;;
-18D4;CANADIAN SYLLABICS OJIBWAY P;Lo;0;L;;;;;N;;;;;
-18D5;CANADIAN SYLLABICS OJIBWAY T;Lo;0;L;;;;;N;;;;;
-18D6;CANADIAN SYLLABICS OJIBWAY K;Lo;0;L;;;;;N;;;;;
-18D7;CANADIAN SYLLABICS OJIBWAY C;Lo;0;L;;;;;N;;;;;
-18D8;CANADIAN SYLLABICS OJIBWAY M;Lo;0;L;;;;;N;;;;;
-18D9;CANADIAN SYLLABICS OJIBWAY N;Lo;0;L;;;;;N;;;;;
-18DA;CANADIAN SYLLABICS OJIBWAY S;Lo;0;L;;;;;N;;;;;
-18DB;CANADIAN SYLLABICS OJIBWAY SH;Lo;0;L;;;;;N;;;;;
-18DC;CANADIAN SYLLABICS EASTERN W;Lo;0;L;;;;;N;;;;;
-18DD;CANADIAN SYLLABICS WESTERN W;Lo;0;L;;;;;N;;;;;
-18DE;CANADIAN SYLLABICS FINAL SMALL RING;Lo;0;L;;;;;N;;;;;
-18DF;CANADIAN SYLLABICS FINAL RAISED DOT;Lo;0;L;;;;;N;;;;;
-18E0;CANADIAN SYLLABICS R-CREE RWE;Lo;0;L;;;;;N;;;;;
-18E1;CANADIAN SYLLABICS WEST-CREE LOO;Lo;0;L;;;;;N;;;;;
-18E2;CANADIAN SYLLABICS WEST-CREE LAA;Lo;0;L;;;;;N;;;;;
-18E3;CANADIAN SYLLABICS THWE;Lo;0;L;;;;;N;;;;;
-18E4;CANADIAN SYLLABICS THWA;Lo;0;L;;;;;N;;;;;
-18E5;CANADIAN SYLLABICS TTHWE;Lo;0;L;;;;;N;;;;;
-18E6;CANADIAN SYLLABICS TTHOO;Lo;0;L;;;;;N;;;;;
-18E7;CANADIAN SYLLABICS TTHAA;Lo;0;L;;;;;N;;;;;
-18E8;CANADIAN SYLLABICS TLHWE;Lo;0;L;;;;;N;;;;;
-18E9;CANADIAN SYLLABICS TLHOO;Lo;0;L;;;;;N;;;;;
-18EA;CANADIAN SYLLABICS SAYISI SHWE;Lo;0;L;;;;;N;;;;;
-18EB;CANADIAN SYLLABICS SAYISI SHOO;Lo;0;L;;;;;N;;;;;
-18EC;CANADIAN SYLLABICS SAYISI HOO;Lo;0;L;;;;;N;;;;;
-18ED;CANADIAN SYLLABICS CARRIER GWU;Lo;0;L;;;;;N;;;;;
-18EE;CANADIAN SYLLABICS CARRIER DENE GEE;Lo;0;L;;;;;N;;;;;
-18EF;CANADIAN SYLLABICS CARRIER GAA;Lo;0;L;;;;;N;;;;;
-18F0;CANADIAN SYLLABICS CARRIER GWA;Lo;0;L;;;;;N;;;;;
-18F1;CANADIAN SYLLABICS SAYISI JUU;Lo;0;L;;;;;N;;;;;
-18F2;CANADIAN SYLLABICS CARRIER JWA;Lo;0;L;;;;;N;;;;;
-18F3;CANADIAN SYLLABICS BEAVER DENE L;Lo;0;L;;;;;N;;;;;
-18F4;CANADIAN SYLLABICS BEAVER DENE R;Lo;0;L;;;;;N;;;;;
-18F5;CANADIAN SYLLABICS CARRIER DENTAL S;Lo;0;L;;;;;N;;;;;
-1900;LIMBU VOWEL-CARRIER LETTER;Lo;0;L;;;;;N;;;;;
-1901;LIMBU LETTER KA;Lo;0;L;;;;;N;;;;;
-1902;LIMBU LETTER KHA;Lo;0;L;;;;;N;;;;;
-1903;LIMBU LETTER GA;Lo;0;L;;;;;N;;;;;
-1904;LIMBU LETTER GHA;Lo;0;L;;;;;N;;;;;
-1905;LIMBU LETTER NGA;Lo;0;L;;;;;N;;;;;
-1906;LIMBU LETTER CA;Lo;0;L;;;;;N;;;;;
-1907;LIMBU LETTER CHA;Lo;0;L;;;;;N;;;;;
-1908;LIMBU LETTER JA;Lo;0;L;;;;;N;;;;;
-1909;LIMBU LETTER JHA;Lo;0;L;;;;;N;;;;;
-190A;LIMBU LETTER YAN;Lo;0;L;;;;;N;;;;;
-190B;LIMBU LETTER TA;Lo;0;L;;;;;N;;;;;
-190C;LIMBU LETTER THA;Lo;0;L;;;;;N;;;;;
-190D;LIMBU LETTER DA;Lo;0;L;;;;;N;;;;;
-190E;LIMBU LETTER DHA;Lo;0;L;;;;;N;;;;;
-190F;LIMBU LETTER NA;Lo;0;L;;;;;N;;;;;
-1910;LIMBU LETTER PA;Lo;0;L;;;;;N;;;;;
-1911;LIMBU LETTER PHA;Lo;0;L;;;;;N;;;;;
-1912;LIMBU LETTER BA;Lo;0;L;;;;;N;;;;;
-1913;LIMBU LETTER BHA;Lo;0;L;;;;;N;;;;;
-1914;LIMBU LETTER MA;Lo;0;L;;;;;N;;;;;
-1915;LIMBU LETTER YA;Lo;0;L;;;;;N;;;;;
-1916;LIMBU LETTER RA;Lo;0;L;;;;;N;;;;;
-1917;LIMBU LETTER LA;Lo;0;L;;;;;N;;;;;
-1918;LIMBU LETTER WA;Lo;0;L;;;;;N;;;;;
-1919;LIMBU LETTER SHA;Lo;0;L;;;;;N;;;;;
-191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;;
-191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;;
-191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;;
-1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
-1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1923;LIMBU VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
-1924;LIMBU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-1925;LIMBU VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
-1926;LIMBU VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
-1927;LIMBU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-1928;LIMBU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
-1929;LIMBU SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;;
-192A;LIMBU SUBJOINED LETTER RA;Mc;0;L;;;;;N;;;;;
-192B;LIMBU SUBJOINED LETTER WA;Mc;0;L;;;;;N;;;;;
-1930;LIMBU SMALL LETTER KA;Mc;0;L;;;;;N;;;;;
-1931;LIMBU SMALL LETTER NGA;Mc;0;L;;;;;N;;;;;
-1932;LIMBU SMALL LETTER ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-1933;LIMBU SMALL LETTER TA;Mc;0;L;;;;;N;;;;;
-1934;LIMBU SMALL LETTER NA;Mc;0;L;;;;;N;;;;;
-1935;LIMBU SMALL LETTER PA;Mc;0;L;;;;;N;;;;;
-1936;LIMBU SMALL LETTER MA;Mc;0;L;;;;;N;;;;;
-1937;LIMBU SMALL LETTER RA;Mc;0;L;;;;;N;;;;;
-1938;LIMBU SMALL LETTER LA;Mc;0;L;;;;;N;;;;;
-1939;LIMBU SIGN MUKPHRENG;Mn;222;NSM;;;;;N;;;;;
-193A;LIMBU SIGN KEMPHRENG;Mn;230;NSM;;;;;N;;;;;
-193B;LIMBU SIGN SA-I;Mn;220;NSM;;;;;N;;;;;
-1940;LIMBU SIGN LOO;So;0;ON;;;;;N;;;;;
-1944;LIMBU EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
-1945;LIMBU QUESTION MARK;Po;0;ON;;;;;N;;;;;
-1946;LIMBU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1947;LIMBU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1948;LIMBU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1949;LIMBU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-194A;LIMBU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-194B;LIMBU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-194C;LIMBU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-194D;LIMBU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-194E;LIMBU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-194F;LIMBU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1950;TAI LE LETTER KA;Lo;0;L;;;;;N;;;;;
-1951;TAI LE LETTER XA;Lo;0;L;;;;;N;;;;;
-1952;TAI LE LETTER NGA;Lo;0;L;;;;;N;;;;;
-1953;TAI LE LETTER TSA;Lo;0;L;;;;;N;;;;;
-1954;TAI LE LETTER SA;Lo;0;L;;;;;N;;;;;
-1955;TAI LE LETTER YA;Lo;0;L;;;;;N;;;;;
-1956;TAI LE LETTER TA;Lo;0;L;;;;;N;;;;;
-1957;TAI LE LETTER THA;Lo;0;L;;;;;N;;;;;
-1958;TAI LE LETTER LA;Lo;0;L;;;;;N;;;;;
-1959;TAI LE LETTER PA;Lo;0;L;;;;;N;;;;;
-195A;TAI LE LETTER PHA;Lo;0;L;;;;;N;;;;;
-195B;TAI LE LETTER MA;Lo;0;L;;;;;N;;;;;
-195C;TAI LE LETTER FA;Lo;0;L;;;;;N;;;;;
-195D;TAI LE LETTER VA;Lo;0;L;;;;;N;;;;;
-195E;TAI LE LETTER HA;Lo;0;L;;;;;N;;;;;
-195F;TAI LE LETTER QA;Lo;0;L;;;;;N;;;;;
-1960;TAI LE LETTER KHA;Lo;0;L;;;;;N;;;;;
-1961;TAI LE LETTER TSHA;Lo;0;L;;;;;N;;;;;
-1962;TAI LE LETTER NA;Lo;0;L;;;;;N;;;;;
-1963;TAI LE LETTER A;Lo;0;L;;;;;N;;;;;
-1964;TAI LE LETTER I;Lo;0;L;;;;;N;;;;;
-1965;TAI LE LETTER EE;Lo;0;L;;;;;N;;;;;
-1966;TAI LE LETTER EH;Lo;0;L;;;;;N;;;;;
-1967;TAI LE LETTER U;Lo;0;L;;;;;N;;;;;
-1968;TAI LE LETTER OO;Lo;0;L;;;;;N;;;;;
-1969;TAI LE LETTER O;Lo;0;L;;;;;N;;;;;
-196A;TAI LE LETTER UE;Lo;0;L;;;;;N;;;;;
-196B;TAI LE LETTER E;Lo;0;L;;;;;N;;;;;
-196C;TAI LE LETTER AUE;Lo;0;L;;;;;N;;;;;
-196D;TAI LE LETTER AI;Lo;0;L;;;;;N;;;;;
-1970;TAI LE LETTER TONE-2;Lo;0;L;;;;;N;;;;;
-1971;TAI LE LETTER TONE-3;Lo;0;L;;;;;N;;;;;
-1972;TAI LE LETTER TONE-4;Lo;0;L;;;;;N;;;;;
-1973;TAI LE LETTER TONE-5;Lo;0;L;;;;;N;;;;;
-1974;TAI LE LETTER TONE-6;Lo;0;L;;;;;N;;;;;
-1980;NEW TAI LUE LETTER HIGH QA;Lo;0;L;;;;;N;;;;;
-1981;NEW TAI LUE LETTER LOW QA;Lo;0;L;;;;;N;;;;;
-1982;NEW TAI LUE LETTER HIGH KA;Lo;0;L;;;;;N;;;;;
-1983;NEW TAI LUE LETTER HIGH XA;Lo;0;L;;;;;N;;;;;
-1984;NEW TAI LUE LETTER HIGH NGA;Lo;0;L;;;;;N;;;;;
-1985;NEW TAI LUE LETTER LOW KA;Lo;0;L;;;;;N;;;;;
-1986;NEW TAI LUE LETTER LOW XA;Lo;0;L;;;;;N;;;;;
-1987;NEW TAI LUE LETTER LOW NGA;Lo;0;L;;;;;N;;;;;
-1988;NEW TAI LUE LETTER HIGH TSA;Lo;0;L;;;;;N;;;;;
-1989;NEW TAI LUE LETTER HIGH SA;Lo;0;L;;;;;N;;;;;
-198A;NEW TAI LUE LETTER HIGH YA;Lo;0;L;;;;;N;;;;;
-198B;NEW TAI LUE LETTER LOW TSA;Lo;0;L;;;;;N;;;;;
-198C;NEW TAI LUE LETTER LOW SA;Lo;0;L;;;;;N;;;;;
-198D;NEW TAI LUE LETTER LOW YA;Lo;0;L;;;;;N;;;;;
-198E;NEW TAI LUE LETTER HIGH TA;Lo;0;L;;;;;N;;;;;
-198F;NEW TAI LUE LETTER HIGH THA;Lo;0;L;;;;;N;;;;;
-1990;NEW TAI LUE LETTER HIGH NA;Lo;0;L;;;;;N;;;;;
-1991;NEW TAI LUE LETTER LOW TA;Lo;0;L;;;;;N;;;;;
-1992;NEW TAI LUE LETTER LOW THA;Lo;0;L;;;;;N;;;;;
-1993;NEW TAI LUE LETTER LOW NA;Lo;0;L;;;;;N;;;;;
-1994;NEW TAI LUE LETTER HIGH PA;Lo;0;L;;;;;N;;;;;
-1995;NEW TAI LUE LETTER HIGH PHA;Lo;0;L;;;;;N;;;;;
-1996;NEW TAI LUE LETTER HIGH MA;Lo;0;L;;;;;N;;;;;
-1997;NEW TAI LUE LETTER LOW PA;Lo;0;L;;;;;N;;;;;
-1998;NEW TAI LUE LETTER LOW PHA;Lo;0;L;;;;;N;;;;;
-1999;NEW TAI LUE LETTER LOW MA;Lo;0;L;;;;;N;;;;;
-199A;NEW TAI LUE LETTER HIGH FA;Lo;0;L;;;;;N;;;;;
-199B;NEW TAI LUE LETTER HIGH VA;Lo;0;L;;;;;N;;;;;
-199C;NEW TAI LUE LETTER HIGH LA;Lo;0;L;;;;;N;;;;;
-199D;NEW TAI LUE LETTER LOW FA;Lo;0;L;;;;;N;;;;;
-199E;NEW TAI LUE LETTER LOW VA;Lo;0;L;;;;;N;;;;;
-199F;NEW TAI LUE LETTER LOW LA;Lo;0;L;;;;;N;;;;;
-19A0;NEW TAI LUE LETTER HIGH HA;Lo;0;L;;;;;N;;;;;
-19A1;NEW TAI LUE LETTER HIGH DA;Lo;0;L;;;;;N;;;;;
-19A2;NEW TAI LUE LETTER HIGH BA;Lo;0;L;;;;;N;;;;;
-19A3;NEW TAI LUE LETTER LOW HA;Lo;0;L;;;;;N;;;;;
-19A4;NEW TAI LUE LETTER LOW DA;Lo;0;L;;;;;N;;;;;
-19A5;NEW TAI LUE LETTER LOW BA;Lo;0;L;;;;;N;;;;;
-19A6;NEW TAI LUE LETTER HIGH KVA;Lo;0;L;;;;;N;;;;;
-19A7;NEW TAI LUE LETTER HIGH XVA;Lo;0;L;;;;;N;;;;;
-19A8;NEW TAI LUE LETTER LOW KVA;Lo;0;L;;;;;N;;;;;
-19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;;
-19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;;
-19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;;
-19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;;
-19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;;
-19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;;
-19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;;
-19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;;
-19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;;
-19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
-19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;;
-19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;;
-19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;;
-19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;;
-19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
-19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;;
-19C4;NEW TAI LUE LETTER FINAL M;Lo;0;L;;;;;N;;;;;
-19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
-19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;;
-19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;;
-19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;;
-19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;;
-19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-19D3;NEW TAI LUE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-19D4;NEW TAI LUE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-19D5;NEW TAI LUE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-19D6;NEW TAI LUE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-19D7;NEW TAI LUE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-19D8;NEW TAI LUE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-19D9;NEW TAI LUE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-19DA;NEW TAI LUE THAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-19DE;NEW TAI LUE SIGN LAE;Po;0;ON;;;;;N;;;;;
-19DF;NEW TAI LUE SIGN LAEV;Po;0;ON;;;;;N;;;;;
-19E0;KHMER SYMBOL PATHAMASAT;So;0;ON;;;;;N;;;;;
-19E1;KHMER SYMBOL MUOY KOET;So;0;ON;;;;;N;;;;;
-19E2;KHMER SYMBOL PII KOET;So;0;ON;;;;;N;;;;;
-19E3;KHMER SYMBOL BEI KOET;So;0;ON;;;;;N;;;;;
-19E4;KHMER SYMBOL BUON KOET;So;0;ON;;;;;N;;;;;
-19E5;KHMER SYMBOL PRAM KOET;So;0;ON;;;;;N;;;;;
-19E6;KHMER SYMBOL PRAM-MUOY KOET;So;0;ON;;;;;N;;;;;
-19E7;KHMER SYMBOL PRAM-PII KOET;So;0;ON;;;;;N;;;;;
-19E8;KHMER SYMBOL PRAM-BEI KOET;So;0;ON;;;;;N;;;;;
-19E9;KHMER SYMBOL PRAM-BUON KOET;So;0;ON;;;;;N;;;;;
-19EA;KHMER SYMBOL DAP KOET;So;0;ON;;;;;N;;;;;
-19EB;KHMER SYMBOL DAP-MUOY KOET;So;0;ON;;;;;N;;;;;
-19EC;KHMER SYMBOL DAP-PII KOET;So;0;ON;;;;;N;;;;;
-19ED;KHMER SYMBOL DAP-BEI KOET;So;0;ON;;;;;N;;;;;
-19EE;KHMER SYMBOL DAP-BUON KOET;So;0;ON;;;;;N;;;;;
-19EF;KHMER SYMBOL DAP-PRAM KOET;So;0;ON;;;;;N;;;;;
-19F0;KHMER SYMBOL TUTEYASAT;So;0;ON;;;;;N;;;;;
-19F1;KHMER SYMBOL MUOY ROC;So;0;ON;;;;;N;;;;;
-19F2;KHMER SYMBOL PII ROC;So;0;ON;;;;;N;;;;;
-19F3;KHMER SYMBOL BEI ROC;So;0;ON;;;;;N;;;;;
-19F4;KHMER SYMBOL BUON ROC;So;0;ON;;;;;N;;;;;
-19F5;KHMER SYMBOL PRAM ROC;So;0;ON;;;;;N;;;;;
-19F6;KHMER SYMBOL PRAM-MUOY ROC;So;0;ON;;;;;N;;;;;
-19F7;KHMER SYMBOL PRAM-PII ROC;So;0;ON;;;;;N;;;;;
-19F8;KHMER SYMBOL PRAM-BEI ROC;So;0;ON;;;;;N;;;;;
-19F9;KHMER SYMBOL PRAM-BUON ROC;So;0;ON;;;;;N;;;;;
-19FA;KHMER SYMBOL DAP ROC;So;0;ON;;;;;N;;;;;
-19FB;KHMER SYMBOL DAP-MUOY ROC;So;0;ON;;;;;N;;;;;
-19FC;KHMER SYMBOL DAP-PII ROC;So;0;ON;;;;;N;;;;;
-19FD;KHMER SYMBOL DAP-BEI ROC;So;0;ON;;;;;N;;;;;
-19FE;KHMER SYMBOL DAP-BUON ROC;So;0;ON;;;;;N;;;;;
-19FF;KHMER SYMBOL DAP-PRAM ROC;So;0;ON;;;;;N;;;;;
-1A00;BUGINESE LETTER KA;Lo;0;L;;;;;N;;;;;
-1A01;BUGINESE LETTER GA;Lo;0;L;;;;;N;;;;;
-1A02;BUGINESE LETTER NGA;Lo;0;L;;;;;N;;;;;
-1A03;BUGINESE LETTER NGKA;Lo;0;L;;;;;N;;;;;
-1A04;BUGINESE LETTER PA;Lo;0;L;;;;;N;;;;;
-1A05;BUGINESE LETTER BA;Lo;0;L;;;;;N;;;;;
-1A06;BUGINESE LETTER MA;Lo;0;L;;;;;N;;;;;
-1A07;BUGINESE LETTER MPA;Lo;0;L;;;;;N;;;;;
-1A08;BUGINESE LETTER TA;Lo;0;L;;;;;N;;;;;
-1A09;BUGINESE LETTER DA;Lo;0;L;;;;;N;;;;;
-1A0A;BUGINESE LETTER NA;Lo;0;L;;;;;N;;;;;
-1A0B;BUGINESE LETTER NRA;Lo;0;L;;;;;N;;;;;
-1A0C;BUGINESE LETTER CA;Lo;0;L;;;;;N;;;;;
-1A0D;BUGINESE LETTER JA;Lo;0;L;;;;;N;;;;;
-1A0E;BUGINESE LETTER NYA;Lo;0;L;;;;;N;;;;;
-1A0F;BUGINESE LETTER NYCA;Lo;0;L;;;;;N;;;;;
-1A10;BUGINESE LETTER YA;Lo;0;L;;;;;N;;;;;
-1A11;BUGINESE LETTER RA;Lo;0;L;;;;;N;;;;;
-1A12;BUGINESE LETTER LA;Lo;0;L;;;;;N;;;;;
-1A13;BUGINESE LETTER VA;Lo;0;L;;;;;N;;;;;
-1A14;BUGINESE LETTER SA;Lo;0;L;;;;;N;;;;;
-1A15;BUGINESE LETTER A;Lo;0;L;;;;;N;;;;;
-1A16;BUGINESE LETTER HA;Lo;0;L;;;;;N;;;;;
-1A17;BUGINESE VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;;
-1A18;BUGINESE VOWEL SIGN U;Mn;220;NSM;;;;;N;;;;;
-1A19;BUGINESE VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-1A1A;BUGINESE VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-1A1B;BUGINESE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-1A1E;BUGINESE PALLAWA;Po;0;L;;;;;N;;;;;
-1A1F;BUGINESE END OF SECTION;Po;0;L;;;;;N;;;;;
-1A20;TAI THAM LETTER HIGH KA;Lo;0;L;;;;;N;;;;;
-1A21;TAI THAM LETTER HIGH KHA;Lo;0;L;;;;;N;;;;;
-1A22;TAI THAM LETTER HIGH KXA;Lo;0;L;;;;;N;;;;;
-1A23;TAI THAM LETTER LOW KA;Lo;0;L;;;;;N;;;;;
-1A24;TAI THAM LETTER LOW KXA;Lo;0;L;;;;;N;;;;;
-1A25;TAI THAM LETTER LOW KHA;Lo;0;L;;;;;N;;;;;
-1A26;TAI THAM LETTER NGA;Lo;0;L;;;;;N;;;;;
-1A27;TAI THAM LETTER HIGH CA;Lo;0;L;;;;;N;;;;;
-1A28;TAI THAM LETTER HIGH CHA;Lo;0;L;;;;;N;;;;;
-1A29;TAI THAM LETTER LOW CA;Lo;0;L;;;;;N;;;;;
-1A2A;TAI THAM LETTER LOW SA;Lo;0;L;;;;;N;;;;;
-1A2B;TAI THAM LETTER LOW CHA;Lo;0;L;;;;;N;;;;;
-1A2C;TAI THAM LETTER NYA;Lo;0;L;;;;;N;;;;;
-1A2D;TAI THAM LETTER RATA;Lo;0;L;;;;;N;;;;;
-1A2E;TAI THAM LETTER HIGH RATHA;Lo;0;L;;;;;N;;;;;
-1A2F;TAI THAM LETTER DA;Lo;0;L;;;;;N;;;;;
-1A30;TAI THAM LETTER LOW RATHA;Lo;0;L;;;;;N;;;;;
-1A31;TAI THAM LETTER RANA;Lo;0;L;;;;;N;;;;;
-1A32;TAI THAM LETTER HIGH TA;Lo;0;L;;;;;N;;;;;
-1A33;TAI THAM LETTER HIGH THA;Lo;0;L;;;;;N;;;;;
-1A34;TAI THAM LETTER LOW TA;Lo;0;L;;;;;N;;;;;
-1A35;TAI THAM LETTER LOW THA;Lo;0;L;;;;;N;;;;;
-1A36;TAI THAM LETTER NA;Lo;0;L;;;;;N;;;;;
-1A37;TAI THAM LETTER BA;Lo;0;L;;;;;N;;;;;
-1A38;TAI THAM LETTER HIGH PA;Lo;0;L;;;;;N;;;;;
-1A39;TAI THAM LETTER HIGH PHA;Lo;0;L;;;;;N;;;;;
-1A3A;TAI THAM LETTER HIGH FA;Lo;0;L;;;;;N;;;;;
-1A3B;TAI THAM LETTER LOW PA;Lo;0;L;;;;;N;;;;;
-1A3C;TAI THAM LETTER LOW FA;Lo;0;L;;;;;N;;;;;
-1A3D;TAI THAM LETTER LOW PHA;Lo;0;L;;;;;N;;;;;
-1A3E;TAI THAM LETTER MA;Lo;0;L;;;;;N;;;;;
-1A3F;TAI THAM LETTER LOW YA;Lo;0;L;;;;;N;;;;;
-1A40;TAI THAM LETTER HIGH YA;Lo;0;L;;;;;N;;;;;
-1A41;TAI THAM LETTER RA;Lo;0;L;;;;;N;;;;;
-1A42;TAI THAM LETTER RUE;Lo;0;L;;;;;N;;;;;
-1A43;TAI THAM LETTER LA;Lo;0;L;;;;;N;;;;;
-1A44;TAI THAM LETTER LUE;Lo;0;L;;;;;N;;;;;
-1A45;TAI THAM LETTER WA;Lo;0;L;;;;;N;;;;;
-1A46;TAI THAM LETTER HIGH SHA;Lo;0;L;;;;;N;;;;;
-1A47;TAI THAM LETTER HIGH SSA;Lo;0;L;;;;;N;;;;;
-1A48;TAI THAM LETTER HIGH SA;Lo;0;L;;;;;N;;;;;
-1A49;TAI THAM LETTER HIGH HA;Lo;0;L;;;;;N;;;;;
-1A4A;TAI THAM LETTER LLA;Lo;0;L;;;;;N;;;;;
-1A4B;TAI THAM LETTER A;Lo;0;L;;;;;N;;;;;
-1A4C;TAI THAM LETTER LOW HA;Lo;0;L;;;;;N;;;;;
-1A4D;TAI THAM LETTER I;Lo;0;L;;;;;N;;;;;
-1A4E;TAI THAM LETTER II;Lo;0;L;;;;;N;;;;;
-1A4F;TAI THAM LETTER U;Lo;0;L;;;;;N;;;;;
-1A50;TAI THAM LETTER UU;Lo;0;L;;;;;N;;;;;
-1A51;TAI THAM LETTER EE;Lo;0;L;;;;;N;;;;;
-1A52;TAI THAM LETTER OO;Lo;0;L;;;;;N;;;;;
-1A53;TAI THAM LETTER LAE;Lo;0;L;;;;;N;;;;;
-1A54;TAI THAM LETTER GREAT SA;Lo;0;L;;;;;N;;;;;
-1A55;TAI THAM CONSONANT SIGN MEDIAL RA;Mc;0;L;;;;;N;;;;;
-1A56;TAI THAM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
-1A57;TAI THAM CONSONANT SIGN LA TANG LAI;Mc;0;L;;;;;N;;;;;
-1A58;TAI THAM SIGN MAI KANG LAI;Mn;0;NSM;;;;;N;;;;;
-1A59;TAI THAM CONSONANT SIGN FINAL NGA;Mn;0;NSM;;;;;N;;;;;
-1A5A;TAI THAM CONSONANT SIGN LOW PA;Mn;0;NSM;;;;;N;;;;;
-1A5B;TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA;Mn;0;NSM;;;;;N;;;;;
-1A5C;TAI THAM CONSONANT SIGN MA;Mn;0;NSM;;;;;N;;;;;
-1A5D;TAI THAM CONSONANT SIGN BA;Mn;0;NSM;;;;;N;;;;;
-1A5E;TAI THAM CONSONANT SIGN SA;Mn;0;NSM;;;;;N;;;;;
-1A60;TAI THAM SIGN SAKOT;Mn;9;NSM;;;;;N;;;;;
-1A61;TAI THAM VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
-1A62;TAI THAM VOWEL SIGN MAI SAT;Mn;0;NSM;;;;;N;;;;;
-1A63;TAI THAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-1A64;TAI THAM VOWEL SIGN TALL AA;Mc;0;L;;;;;N;;;;;
-1A65;TAI THAM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-1A66;TAI THAM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-1A67;TAI THAM VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
-1A68;TAI THAM VOWEL SIGN UUE;Mn;0;NSM;;;;;N;;;;;
-1A69;TAI THAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-1A6A;TAI THAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-1A6B;TAI THAM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
-1A6C;TAI THAM VOWEL SIGN OA BELOW;Mn;0;NSM;;;;;N;;;;;
-1A6D;TAI THAM VOWEL SIGN OY;Mc;0;L;;;;;N;;;;;
-1A6E;TAI THAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-1A6F;TAI THAM VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
-1A70;TAI THAM VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
-1A71;TAI THAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-1A72;TAI THAM VOWEL SIGN THAM AI;Mc;0;L;;;;;N;;;;;
-1A73;TAI THAM VOWEL SIGN OA ABOVE;Mn;0;NSM;;;;;N;;;;;
-1A74;TAI THAM SIGN MAI KANG;Mn;0;NSM;;;;;N;;;;;
-1A75;TAI THAM SIGN TONE-1;Mn;230;NSM;;;;;N;;;;;
-1A76;TAI THAM SIGN TONE-2;Mn;230;NSM;;;;;N;;;;;
-1A77;TAI THAM SIGN KHUEN TONE-3;Mn;230;NSM;;;;;N;;;;;
-1A78;TAI THAM SIGN KHUEN TONE-4;Mn;230;NSM;;;;;N;;;;;
-1A79;TAI THAM SIGN KHUEN TONE-5;Mn;230;NSM;;;;;N;;;;;
-1A7A;TAI THAM SIGN RA HAAM;Mn;230;NSM;;;;;N;;;;;
-1A7B;TAI THAM SIGN MAI SAM;Mn;230;NSM;;;;;N;;;;;
-1A7C;TAI THAM SIGN KHUEN-LUE KARAN;Mn;230;NSM;;;;;N;;;;;
-1A7F;TAI THAM COMBINING CRYPTOGRAMMIC DOT;Mn;220;NSM;;;;;N;;;;;
-1A80;TAI THAM HORA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1A81;TAI THAM HORA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1A82;TAI THAM HORA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1A83;TAI THAM HORA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1A84;TAI THAM HORA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1A85;TAI THAM HORA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1A86;TAI THAM HORA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1A87;TAI THAM HORA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1A88;TAI THAM HORA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1A89;TAI THAM HORA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1A90;TAI THAM THAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1A91;TAI THAM THAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1A92;TAI THAM THAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1A93;TAI THAM THAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1A94;TAI THAM THAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1A95;TAI THAM THAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1A96;TAI THAM THAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1A97;TAI THAM THAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1A98;TAI THAM THAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1A99;TAI THAM THAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1AA0;TAI THAM SIGN WIANG;Po;0;L;;;;;N;;;;;
-1AA1;TAI THAM SIGN WIANGWAAK;Po;0;L;;;;;N;;;;;
-1AA2;TAI THAM SIGN SAWAN;Po;0;L;;;;;N;;;;;
-1AA3;TAI THAM SIGN KEOW;Po;0;L;;;;;N;;;;;
-1AA4;TAI THAM SIGN HOY;Po;0;L;;;;;N;;;;;
-1AA5;TAI THAM SIGN DOKMAI;Po;0;L;;;;;N;;;;;
-1AA6;TAI THAM SIGN REVERSED ROTATED RANA;Po;0;L;;;;;N;;;;;
-1AA7;TAI THAM SIGN MAI YAMOK;Lm;0;L;;;;;N;;;;;
-1AA8;TAI THAM SIGN KAAN;Po;0;L;;;;;N;;;;;
-1AA9;TAI THAM SIGN KAANKUU;Po;0;L;;;;;N;;;;;
-1AAA;TAI THAM SIGN SATKAAN;Po;0;L;;;;;N;;;;;
-1AAB;TAI THAM SIGN SATKAANKUU;Po;0;L;;;;;N;;;;;
-1AAC;TAI THAM SIGN HANG;Po;0;L;;;;;N;;;;;
-1AAD;TAI THAM SIGN CAANG;Po;0;L;;;;;N;;;;;
-1B00;BALINESE SIGN ULU RICEM;Mn;0;NSM;;;;;N;;;;;
-1B01;BALINESE SIGN ULU CANDRA;Mn;0;NSM;;;;;N;;;;;
-1B02;BALINESE SIGN CECEK;Mn;0;NSM;;;;;N;;;;;
-1B03;BALINESE SIGN SURANG;Mn;0;NSM;;;;;N;;;;;
-1B04;BALINESE SIGN BISAH;Mc;0;L;;;;;N;;;;;
-1B05;BALINESE LETTER AKARA;Lo;0;L;;;;;N;;;;;
-1B06;BALINESE LETTER AKARA TEDUNG;Lo;0;L;1B05 1B35;;;;N;;;;;
-1B07;BALINESE LETTER IKARA;Lo;0;L;;;;;N;;;;;
-1B08;BALINESE LETTER IKARA TEDUNG;Lo;0;L;1B07 1B35;;;;N;;;;;
-1B09;BALINESE LETTER UKARA;Lo;0;L;;;;;N;;;;;
-1B0A;BALINESE LETTER UKARA TEDUNG;Lo;0;L;1B09 1B35;;;;N;;;;;
-1B0B;BALINESE LETTER RA REPA;Lo;0;L;;;;;N;;;;;
-1B0C;BALINESE LETTER RA REPA TEDUNG;Lo;0;L;1B0B 1B35;;;;N;;;;;
-1B0D;BALINESE LETTER LA LENGA;Lo;0;L;;;;;N;;;;;
-1B0E;BALINESE LETTER LA LENGA TEDUNG;Lo;0;L;1B0D 1B35;;;;N;;;;;
-1B0F;BALINESE LETTER EKARA;Lo;0;L;;;;;N;;;;;
-1B10;BALINESE LETTER AIKARA;Lo;0;L;;;;;N;;;;;
-1B11;BALINESE LETTER OKARA;Lo;0;L;;;;;N;;;;;
-1B12;BALINESE LETTER OKARA TEDUNG;Lo;0;L;1B11 1B35;;;;N;;;;;
-1B13;BALINESE LETTER KA;Lo;0;L;;;;;N;;;;;
-1B14;BALINESE LETTER KA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-1B15;BALINESE LETTER GA;Lo;0;L;;;;;N;;;;;
-1B16;BALINESE LETTER GA GORA;Lo;0;L;;;;;N;;;;;
-1B17;BALINESE LETTER NGA;Lo;0;L;;;;;N;;;;;
-1B18;BALINESE LETTER CA;Lo;0;L;;;;;N;;;;;
-1B19;BALINESE LETTER CA LACA;Lo;0;L;;;;;N;;;;;
-1B1A;BALINESE LETTER JA;Lo;0;L;;;;;N;;;;;
-1B1B;BALINESE LETTER JA JERA;Lo;0;L;;;;;N;;;;;
-1B1C;BALINESE LETTER NYA;Lo;0;L;;;;;N;;;;;
-1B1D;BALINESE LETTER TA LATIK;Lo;0;L;;;;;N;;;;;
-1B1E;BALINESE LETTER TA MURDA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-1B1F;BALINESE LETTER DA MURDA ALPAPRANA;Lo;0;L;;;;;N;;;;;
-1B20;BALINESE LETTER DA MURDA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-1B21;BALINESE LETTER NA RAMBAT;Lo;0;L;;;;;N;;;;;
-1B22;BALINESE LETTER TA;Lo;0;L;;;;;N;;;;;
-1B23;BALINESE LETTER TA TAWA;Lo;0;L;;;;;N;;;;;
-1B24;BALINESE LETTER DA;Lo;0;L;;;;;N;;;;;
-1B25;BALINESE LETTER DA MADU;Lo;0;L;;;;;N;;;;;
-1B26;BALINESE LETTER NA;Lo;0;L;;;;;N;;;;;
-1B27;BALINESE LETTER PA;Lo;0;L;;;;;N;;;;;
-1B28;BALINESE LETTER PA KAPAL;Lo;0;L;;;;;N;;;;;
-1B29;BALINESE LETTER BA;Lo;0;L;;;;;N;;;;;
-1B2A;BALINESE LETTER BA KEMBANG;Lo;0;L;;;;;N;;;;;
-1B2B;BALINESE LETTER MA;Lo;0;L;;;;;N;;;;;
-1B2C;BALINESE LETTER YA;Lo;0;L;;;;;N;;;;;
-1B2D;BALINESE LETTER RA;Lo;0;L;;;;;N;;;;;
-1B2E;BALINESE LETTER LA;Lo;0;L;;;;;N;;;;;
-1B2F;BALINESE LETTER WA;Lo;0;L;;;;;N;;;;;
-1B30;BALINESE LETTER SA SAGA;Lo;0;L;;;;;N;;;;;
-1B31;BALINESE LETTER SA SAPA;Lo;0;L;;;;;N;;;;;
-1B32;BALINESE LETTER SA;Lo;0;L;;;;;N;;;;;
-1B33;BALINESE LETTER HA;Lo;0;L;;;;;N;;;;;
-1B34;BALINESE SIGN REREKAN;Mn;7;NSM;;;;;N;;;;;
-1B35;BALINESE VOWEL SIGN TEDUNG;Mc;0;L;;;;;N;;;;;
-1B36;BALINESE VOWEL SIGN ULU;Mn;0;NSM;;;;;N;;;;;
-1B37;BALINESE VOWEL SIGN ULU SARI;Mn;0;NSM;;;;;N;;;;;
-1B38;BALINESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;;;;
-1B39;BALINESE VOWEL SIGN SUKU ILUT;Mn;0;NSM;;;;;N;;;;;
-1B3A;BALINESE VOWEL SIGN RA REPA;Mn;0;NSM;;;;;N;;;;;
-1B3B;BALINESE VOWEL SIGN RA REPA TEDUNG;Mc;0;L;1B3A 1B35;;;;N;;;;;
-1B3C;BALINESE VOWEL SIGN LA LENGA;Mn;0;NSM;;;;;N;;;;;
-1B3D;BALINESE VOWEL SIGN LA LENGA TEDUNG;Mc;0;L;1B3C 1B35;;;;N;;;;;
-1B3E;BALINESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;;
-1B3F;BALINESE VOWEL SIGN TALING REPA;Mc;0;L;;;;;N;;;;;
-1B40;BALINESE VOWEL SIGN TALING TEDUNG;Mc;0;L;1B3E 1B35;;;;N;;;;;
-1B41;BALINESE VOWEL SIGN TALING REPA TEDUNG;Mc;0;L;1B3F 1B35;;;;N;;;;;
-1B42;BALINESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;;
-1B43;BALINESE VOWEL SIGN PEPET TEDUNG;Mc;0;L;1B42 1B35;;;;N;;;;;
-1B44;BALINESE ADEG ADEG;Mc;9;L;;;;;N;;;;;
-1B45;BALINESE LETTER KAF SASAK;Lo;0;L;;;;;N;;;;;
-1B46;BALINESE LETTER KHOT SASAK;Lo;0;L;;;;;N;;;;;
-1B47;BALINESE LETTER TZIR SASAK;Lo;0;L;;;;;N;;;;;
-1B48;BALINESE LETTER EF SASAK;Lo;0;L;;;;;N;;;;;
-1B49;BALINESE LETTER VE SASAK;Lo;0;L;;;;;N;;;;;
-1B4A;BALINESE LETTER ZAL SASAK;Lo;0;L;;;;;N;;;;;
-1B4B;BALINESE LETTER ASYURA SASAK;Lo;0;L;;;;;N;;;;;
-1B50;BALINESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1B51;BALINESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1B52;BALINESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1B53;BALINESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1B54;BALINESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1B55;BALINESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1B56;BALINESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1B57;BALINESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1B58;BALINESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1B59;BALINESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1B5A;BALINESE PANTI;Po;0;L;;;;;N;;;;;
-1B5B;BALINESE PAMADA;Po;0;L;;;;;N;;;;;
-1B5C;BALINESE WINDU;Po;0;L;;;;;N;;;;;
-1B5D;BALINESE CARIK PAMUNGKAH;Po;0;L;;;;;N;;;;;
-1B5E;BALINESE CARIK SIKI;Po;0;L;;;;;N;;;;;
-1B5F;BALINESE CARIK PAREREN;Po;0;L;;;;;N;;;;;
-1B60;BALINESE PAMENENG;Po;0;L;;;;;N;;;;;
-1B61;BALINESE MUSICAL SYMBOL DONG;So;0;L;;;;;N;;;;;
-1B62;BALINESE MUSICAL SYMBOL DENG;So;0;L;;;;;N;;;;;
-1B63;BALINESE MUSICAL SYMBOL DUNG;So;0;L;;;;;N;;;;;
-1B64;BALINESE MUSICAL SYMBOL DANG;So;0;L;;;;;N;;;;;
-1B65;BALINESE MUSICAL SYMBOL DANG SURANG;So;0;L;;;;;N;;;;;
-1B66;BALINESE MUSICAL SYMBOL DING;So;0;L;;;;;N;;;;;
-1B67;BALINESE MUSICAL SYMBOL DAENG;So;0;L;;;;;N;;;;;
-1B68;BALINESE MUSICAL SYMBOL DEUNG;So;0;L;;;;;N;;;;;
-1B69;BALINESE MUSICAL SYMBOL DAING;So;0;L;;;;;N;;;;;
-1B6A;BALINESE MUSICAL SYMBOL DANG GEDE;So;0;L;;;;;N;;;;;
-1B6B;BALINESE MUSICAL SYMBOL COMBINING TEGEH;Mn;230;NSM;;;;;N;;;;;
-1B6C;BALINESE MUSICAL SYMBOL COMBINING ENDEP;Mn;220;NSM;;;;;N;;;;;
-1B6D;BALINESE MUSICAL SYMBOL COMBINING KEMPUL;Mn;230;NSM;;;;;N;;;;;
-1B6E;BALINESE MUSICAL SYMBOL COMBINING KEMPLI;Mn;230;NSM;;;;;N;;;;;
-1B6F;BALINESE MUSICAL SYMBOL COMBINING JEGOGAN;Mn;230;NSM;;;;;N;;;;;
-1B70;BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN;Mn;230;NSM;;;;;N;;;;;
-1B71;BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN;Mn;230;NSM;;;;;N;;;;;
-1B72;BALINESE MUSICAL SYMBOL COMBINING BENDE;Mn;230;NSM;;;;;N;;;;;
-1B73;BALINESE MUSICAL SYMBOL COMBINING GONG;Mn;230;NSM;;;;;N;;;;;
-1B74;BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG;So;0;L;;;;;N;;;;;
-1B75;BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG;So;0;L;;;;;N;;;;;
-1B76;BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK;So;0;L;;;;;N;;;;;
-1B77;BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK;So;0;L;;;;;N;;;;;
-1B78;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG;So;0;L;;;;;N;;;;;
-1B79;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG;So;0;L;;;;;N;;;;;
-1B7A;BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK;So;0;L;;;;;N;;;;;
-1B7B;BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK;So;0;L;;;;;N;;;;;
-1B7C;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING;So;0;L;;;;;N;;;;;
-1B80;SUNDANESE SIGN PANYECEK;Mn;0;NSM;;;;;N;;;;;
-1B81;SUNDANESE SIGN PANGLAYAR;Mn;0;NSM;;;;;N;;;;;
-1B82;SUNDANESE SIGN PANGWISAD;Mc;0;L;;;;;N;;;;;
-1B83;SUNDANESE LETTER A;Lo;0;L;;;;;N;;;;;
-1B84;SUNDANESE LETTER I;Lo;0;L;;;;;N;;;;;
-1B85;SUNDANESE LETTER U;Lo;0;L;;;;;N;;;;;
-1B86;SUNDANESE LETTER AE;Lo;0;L;;;;;N;;;;;
-1B87;SUNDANESE LETTER O;Lo;0;L;;;;;N;;;;;
-1B88;SUNDANESE LETTER E;Lo;0;L;;;;;N;;;;;
-1B89;SUNDANESE LETTER EU;Lo;0;L;;;;;N;;;;;
-1B8A;SUNDANESE LETTER KA;Lo;0;L;;;;;N;;;;;
-1B8B;SUNDANESE LETTER QA;Lo;0;L;;;;;N;;;;;
-1B8C;SUNDANESE LETTER GA;Lo;0;L;;;;;N;;;;;
-1B8D;SUNDANESE LETTER NGA;Lo;0;L;;;;;N;;;;;
-1B8E;SUNDANESE LETTER CA;Lo;0;L;;;;;N;;;;;
-1B8F;SUNDANESE LETTER JA;Lo;0;L;;;;;N;;;;;
-1B90;SUNDANESE LETTER ZA;Lo;0;L;;;;;N;;;;;
-1B91;SUNDANESE LETTER NYA;Lo;0;L;;;;;N;;;;;
-1B92;SUNDANESE LETTER TA;Lo;0;L;;;;;N;;;;;
-1B93;SUNDANESE LETTER DA;Lo;0;L;;;;;N;;;;;
-1B94;SUNDANESE LETTER NA;Lo;0;L;;;;;N;;;;;
-1B95;SUNDANESE LETTER PA;Lo;0;L;;;;;N;;;;;
-1B96;SUNDANESE LETTER FA;Lo;0;L;;;;;N;;;;;
-1B97;SUNDANESE LETTER VA;Lo;0;L;;;;;N;;;;;
-1B98;SUNDANESE LETTER BA;Lo;0;L;;;;;N;;;;;
-1B99;SUNDANESE LETTER MA;Lo;0;L;;;;;N;;;;;
-1B9A;SUNDANESE LETTER YA;Lo;0;L;;;;;N;;;;;
-1B9B;SUNDANESE LETTER RA;Lo;0;L;;;;;N;;;;;
-1B9C;SUNDANESE LETTER LA;Lo;0;L;;;;;N;;;;;
-1B9D;SUNDANESE LETTER WA;Lo;0;L;;;;;N;;;;;
-1B9E;SUNDANESE LETTER SA;Lo;0;L;;;;;N;;;;;
-1B9F;SUNDANESE LETTER XA;Lo;0;L;;;;;N;;;;;
-1BA0;SUNDANESE LETTER HA;Lo;0;L;;;;;N;;;;;
-1BA1;SUNDANESE CONSONANT SIGN PAMINGKAL;Mc;0;L;;;;;N;;;;;
-1BA2;SUNDANESE CONSONANT SIGN PANYAKRA;Mn;0;NSM;;;;;N;;;;;
-1BA3;SUNDANESE CONSONANT SIGN PANYIKU;Mn;0;NSM;;;;;N;;;;;
-1BA4;SUNDANESE VOWEL SIGN PANGHULU;Mn;0;NSM;;;;;N;;;;;
-1BA5;SUNDANESE VOWEL SIGN PANYUKU;Mn;0;NSM;;;;;N;;;;;
-1BA6;SUNDANESE VOWEL SIGN PANAELAENG;Mc;0;L;;;;;N;;;;;
-1BA7;SUNDANESE VOWEL SIGN PANOLONG;Mc;0;L;;;;;N;;;;;
-1BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;;
-1BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;;
-1BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;;
-1BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;;
-1BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;;
-1BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1BB1;SUNDANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1BB2;SUNDANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1BB3;SUNDANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1BB4;SUNDANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1BB5;SUNDANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1BB6;SUNDANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1C00;LEPCHA LETTER KA;Lo;0;L;;;;;N;;;;;
-1C01;LEPCHA LETTER KLA;Lo;0;L;;;;;N;;;;;
-1C02;LEPCHA LETTER KHA;Lo;0;L;;;;;N;;;;;
-1C03;LEPCHA LETTER GA;Lo;0;L;;;;;N;;;;;
-1C04;LEPCHA LETTER GLA;Lo;0;L;;;;;N;;;;;
-1C05;LEPCHA LETTER NGA;Lo;0;L;;;;;N;;;;;
-1C06;LEPCHA LETTER CA;Lo;0;L;;;;;N;;;;;
-1C07;LEPCHA LETTER CHA;Lo;0;L;;;;;N;;;;;
-1C08;LEPCHA LETTER JA;Lo;0;L;;;;;N;;;;;
-1C09;LEPCHA LETTER NYA;Lo;0;L;;;;;N;;;;;
-1C0A;LEPCHA LETTER TA;Lo;0;L;;;;;N;;;;;
-1C0B;LEPCHA LETTER THA;Lo;0;L;;;;;N;;;;;
-1C0C;LEPCHA LETTER DA;Lo;0;L;;;;;N;;;;;
-1C0D;LEPCHA LETTER NA;Lo;0;L;;;;;N;;;;;
-1C0E;LEPCHA LETTER PA;Lo;0;L;;;;;N;;;;;
-1C0F;LEPCHA LETTER PLA;Lo;0;L;;;;;N;;;;;
-1C10;LEPCHA LETTER PHA;Lo;0;L;;;;;N;;;;;
-1C11;LEPCHA LETTER FA;Lo;0;L;;;;;N;;;;;
-1C12;LEPCHA LETTER FLA;Lo;0;L;;;;;N;;;;;
-1C13;LEPCHA LETTER BA;Lo;0;L;;;;;N;;;;;
-1C14;LEPCHA LETTER BLA;Lo;0;L;;;;;N;;;;;
-1C15;LEPCHA LETTER MA;Lo;0;L;;;;;N;;;;;
-1C16;LEPCHA LETTER MLA;Lo;0;L;;;;;N;;;;;
-1C17;LEPCHA LETTER TSA;Lo;0;L;;;;;N;;;;;
-1C18;LEPCHA LETTER TSHA;Lo;0;L;;;;;N;;;;;
-1C19;LEPCHA LETTER DZA;Lo;0;L;;;;;N;;;;;
-1C1A;LEPCHA LETTER YA;Lo;0;L;;;;;N;;;;;
-1C1B;LEPCHA LETTER RA;Lo;0;L;;;;;N;;;;;
-1C1C;LEPCHA LETTER LA;Lo;0;L;;;;;N;;;;;
-1C1D;LEPCHA LETTER HA;Lo;0;L;;;;;N;;;;;
-1C1E;LEPCHA LETTER HLA;Lo;0;L;;;;;N;;;;;
-1C1F;LEPCHA LETTER VA;Lo;0;L;;;;;N;;;;;
-1C20;LEPCHA LETTER SA;Lo;0;L;;;;;N;;;;;
-1C21;LEPCHA LETTER SHA;Lo;0;L;;;;;N;;;;;
-1C22;LEPCHA LETTER WA;Lo;0;L;;;;;N;;;;;
-1C23;LEPCHA LETTER A;Lo;0;L;;;;;N;;;;;
-1C24;LEPCHA SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;;
-1C25;LEPCHA SUBJOINED LETTER RA;Mc;0;L;;;;;N;;;;;
-1C26;LEPCHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-1C27;LEPCHA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-1C28;LEPCHA VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-1C29;LEPCHA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
-1C2A;LEPCHA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-1C2B;LEPCHA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-1C2C;LEPCHA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-1C2D;LEPCHA CONSONANT SIGN K;Mn;0;NSM;;;;;N;;;;;
-1C2E;LEPCHA CONSONANT SIGN M;Mn;0;NSM;;;;;N;;;;;
-1C2F;LEPCHA CONSONANT SIGN L;Mn;0;NSM;;;;;N;;;;;
-1C30;LEPCHA CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;;
-1C31;LEPCHA CONSONANT SIGN P;Mn;0;NSM;;;;;N;;;;;
-1C32;LEPCHA CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;;
-1C33;LEPCHA CONSONANT SIGN T;Mn;0;NSM;;;;;N;;;;;
-1C34;LEPCHA CONSONANT SIGN NYIN-DO;Mc;0;L;;;;;N;;;;;
-1C35;LEPCHA CONSONANT SIGN KANG;Mc;0;L;;;;;N;;;;;
-1C36;LEPCHA SIGN RAN;Mn;0;NSM;;;;;N;;;;;
-1C37;LEPCHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-1C3B;LEPCHA PUNCTUATION TA-ROL;Po;0;L;;;;;N;;;;;
-1C3C;LEPCHA PUNCTUATION NYET THYOOM TA-ROL;Po;0;L;;;;;N;;;;;
-1C3D;LEPCHA PUNCTUATION CER-WA;Po;0;L;;;;;N;;;;;
-1C3E;LEPCHA PUNCTUATION TSHOOK CER-WA;Po;0;L;;;;;N;;;;;
-1C3F;LEPCHA PUNCTUATION TSHOOK;Po;0;L;;;;;N;;;;;
-1C40;LEPCHA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1C41;LEPCHA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1C42;LEPCHA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1C43;LEPCHA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1C44;LEPCHA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1C45;LEPCHA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1C46;LEPCHA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1C47;LEPCHA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1C48;LEPCHA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1C49;LEPCHA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1C4D;LEPCHA LETTER TTA;Lo;0;L;;;;;N;;;;;
-1C4E;LEPCHA LETTER TTHA;Lo;0;L;;;;;N;;;;;
-1C4F;LEPCHA LETTER DDA;Lo;0;L;;;;;N;;;;;
-1C50;OL CHIKI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-1C51;OL CHIKI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-1C52;OL CHIKI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-1C53;OL CHIKI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-1C54;OL CHIKI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-1C55;OL CHIKI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-1C56;OL CHIKI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-1C57;OL CHIKI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-1C58;OL CHIKI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-1C59;OL CHIKI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-1C5A;OL CHIKI LETTER LA;Lo;0;L;;;;;N;;;;;
-1C5B;OL CHIKI LETTER AT;Lo;0;L;;;;;N;;;;;
-1C5C;OL CHIKI LETTER AG;Lo;0;L;;;;;N;;;;;
-1C5D;OL CHIKI LETTER ANG;Lo;0;L;;;;;N;;;;;
-1C5E;OL CHIKI LETTER AL;Lo;0;L;;;;;N;;;;;
-1C5F;OL CHIKI LETTER LAA;Lo;0;L;;;;;N;;;;;
-1C60;OL CHIKI LETTER AAK;Lo;0;L;;;;;N;;;;;
-1C61;OL CHIKI LETTER AAJ;Lo;0;L;;;;;N;;;;;
-1C62;OL CHIKI LETTER AAM;Lo;0;L;;;;;N;;;;;
-1C63;OL CHIKI LETTER AAW;Lo;0;L;;;;;N;;;;;
-1C64;OL CHIKI LETTER LI;Lo;0;L;;;;;N;;;;;
-1C65;OL CHIKI LETTER IS;Lo;0;L;;;;;N;;;;;
-1C66;OL CHIKI LETTER IH;Lo;0;L;;;;;N;;;;;
-1C67;OL CHIKI LETTER INY;Lo;0;L;;;;;N;;;;;
-1C68;OL CHIKI LETTER IR;Lo;0;L;;;;;N;;;;;
-1C69;OL CHIKI LETTER LU;Lo;0;L;;;;;N;;;;;
-1C6A;OL CHIKI LETTER UC;Lo;0;L;;;;;N;;;;;
-1C6B;OL CHIKI LETTER UD;Lo;0;L;;;;;N;;;;;
-1C6C;OL CHIKI LETTER UNN;Lo;0;L;;;;;N;;;;;
-1C6D;OL CHIKI LETTER UY;Lo;0;L;;;;;N;;;;;
-1C6E;OL CHIKI LETTER LE;Lo;0;L;;;;;N;;;;;
-1C6F;OL CHIKI LETTER EP;Lo;0;L;;;;;N;;;;;
-1C70;OL CHIKI LETTER EDD;Lo;0;L;;;;;N;;;;;
-1C71;OL CHIKI LETTER EN;Lo;0;L;;;;;N;;;;;
-1C72;OL CHIKI LETTER ERR;Lo;0;L;;;;;N;;;;;
-1C73;OL CHIKI LETTER LO;Lo;0;L;;;;;N;;;;;
-1C74;OL CHIKI LETTER OTT;Lo;0;L;;;;;N;;;;;
-1C75;OL CHIKI LETTER OB;Lo;0;L;;;;;N;;;;;
-1C76;OL CHIKI LETTER OV;Lo;0;L;;;;;N;;;;;
-1C77;OL CHIKI LETTER OH;Lo;0;L;;;;;N;;;;;
-1C78;OL CHIKI MU TTUDDAG;Lm;0;L;;;;;N;;;;;
-1C79;OL CHIKI GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;;
-1C7A;OL CHIKI MU-GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;;
-1C7B;OL CHIKI RELAA;Lm;0;L;;;;;N;;;;;
-1C7C;OL CHIKI PHAARKAA;Lm;0;L;;;;;N;;;;;
-1C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;;
-1C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;;
-1C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;;
-1CD0;VEDIC TONE KARSHANA;Mn;230;NSM;;;;;N;;;;;
-1CD1;VEDIC TONE SHARA;Mn;230;NSM;;;;;N;;;;;
-1CD2;VEDIC TONE PRENKHA;Mn;230;NSM;;;;;N;;;;;
-1CD3;VEDIC SIGN NIHSHVASA;Po;0;L;;;;;N;;;;;
-1CD4;VEDIC SIGN YAJURVEDIC MIDLINE SVARITA;Mn;1;NSM;;;;;N;;;;;
-1CD5;VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;;
-1CD6;VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;;
-1CD7;VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;;
-1CD8;VEDIC TONE CANDRA BELOW;Mn;220;NSM;;;;;N;;;;;
-1CD9;VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER;Mn;220;NSM;;;;;N;;;;;
-1CDA;VEDIC TONE DOUBLE SVARITA;Mn;230;NSM;;;;;N;;;;;
-1CDB;VEDIC TONE TRIPLE SVARITA;Mn;230;NSM;;;;;N;;;;;
-1CDC;VEDIC TONE KATHAKA ANUDATTA;Mn;220;NSM;;;;;N;;;;;
-1CDD;VEDIC TONE DOT BELOW;Mn;220;NSM;;;;;N;;;;;
-1CDE;VEDIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
-1CDF;VEDIC TONE THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
-1CE0;VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA;Mn;230;NSM;;;;;N;;;;;
-1CE1;VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA;Mc;0;L;;;;;N;;;;;
-1CE2;VEDIC SIGN VISARGA SVARITA;Mn;1;NSM;;;;;N;;;;;
-1CE3;VEDIC SIGN VISARGA UDATTA;Mn;1;NSM;;;;;N;;;;;
-1CE4;VEDIC SIGN REVERSED VISARGA UDATTA;Mn;1;NSM;;;;;N;;;;;
-1CE5;VEDIC SIGN VISARGA ANUDATTA;Mn;1;NSM;;;;;N;;;;;
-1CE6;VEDIC SIGN REVERSED VISARGA ANUDATTA;Mn;1;NSM;;;;;N;;;;;
-1CE7;VEDIC SIGN VISARGA UDATTA WITH TAIL;Mn;1;NSM;;;;;N;;;;;
-1CE8;VEDIC SIGN VISARGA ANUDATTA WITH TAIL;Mn;1;NSM;;;;;N;;;;;
-1CE9;VEDIC SIGN ANUSVARA ANTARGOMUKHA;Lo;0;L;;;;;N;;;;;
-1CEA;VEDIC SIGN ANUSVARA BAHIRGOMUKHA;Lo;0;L;;;;;N;;;;;
-1CEB;VEDIC SIGN ANUSVARA VAMAGOMUKHA;Lo;0;L;;;;;N;;;;;
-1CEC;VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL;Lo;0;L;;;;;N;;;;;
-1CED;VEDIC SIGN TIRYAK;Mn;220;NSM;;;;;N;;;;;
-1CEE;VEDIC SIGN HEXIFORM LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
-1CEF;VEDIC SIGN LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
-1CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
-1CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;;
-1CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
-1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
-1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
-1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
-1D03;LATIN LETTER SMALL CAPITAL BARRED B;Ll;0;L;;;;;N;;;;;
-1D04;LATIN LETTER SMALL CAPITAL C;Ll;0;L;;;;;N;;;;;
-1D05;LATIN LETTER SMALL CAPITAL D;Ll;0;L;;;;;N;;;;;
-1D06;LATIN LETTER SMALL CAPITAL ETH;Ll;0;L;;;;;N;;;;;
-1D07;LATIN LETTER SMALL CAPITAL E;Ll;0;L;;;;;N;;;;;
-1D08;LATIN SMALL LETTER TURNED OPEN E;Ll;0;L;;;;;N;;;;;
-1D09;LATIN SMALL LETTER TURNED I;Ll;0;L;;;;;N;;;;;
-1D0A;LATIN LETTER SMALL CAPITAL J;Ll;0;L;;;;;N;;;;;
-1D0B;LATIN LETTER SMALL CAPITAL K;Ll;0;L;;;;;N;;;;;
-1D0C;LATIN LETTER SMALL CAPITAL L WITH STROKE;Ll;0;L;;;;;N;;;;;
-1D0D;LATIN LETTER SMALL CAPITAL M;Ll;0;L;;;;;N;;;;;
-1D0E;LATIN LETTER SMALL CAPITAL REVERSED N;Ll;0;L;;;;;N;;;;;
-1D0F;LATIN LETTER SMALL CAPITAL O;Ll;0;L;;;;;N;;;;;
-1D10;LATIN LETTER SMALL CAPITAL OPEN O;Ll;0;L;;;;;N;;;;;
-1D11;LATIN SMALL LETTER SIDEWAYS O;Ll;0;L;;;;;N;;;;;
-1D12;LATIN SMALL LETTER SIDEWAYS OPEN O;Ll;0;L;;;;;N;;;;;
-1D13;LATIN SMALL LETTER SIDEWAYS O WITH STROKE;Ll;0;L;;;;;N;;;;;
-1D14;LATIN SMALL LETTER TURNED OE;Ll;0;L;;;;;N;;;;;
-1D15;LATIN LETTER SMALL CAPITAL OU;Ll;0;L;;;;;N;;;;;
-1D16;LATIN SMALL LETTER TOP HALF O;Ll;0;L;;;;;N;;;;;
-1D17;LATIN SMALL LETTER BOTTOM HALF O;Ll;0;L;;;;;N;;;;;
-1D18;LATIN LETTER SMALL CAPITAL P;Ll;0;L;;;;;N;;;;;
-1D19;LATIN LETTER SMALL CAPITAL REVERSED R;Ll;0;L;;;;;N;;;;;
-1D1A;LATIN LETTER SMALL CAPITAL TURNED R;Ll;0;L;;;;;N;;;;;
-1D1B;LATIN LETTER SMALL CAPITAL T;Ll;0;L;;;;;N;;;;;
-1D1C;LATIN LETTER SMALL CAPITAL U;Ll;0;L;;;;;N;;;;;
-1D1D;LATIN SMALL LETTER SIDEWAYS U;Ll;0;L;;;;;N;;;;;
-1D1E;LATIN SMALL LETTER SIDEWAYS DIAERESIZED U;Ll;0;L;;;;;N;;;;;
-1D1F;LATIN SMALL LETTER SIDEWAYS TURNED M;Ll;0;L;;;;;N;;;;;
-1D20;LATIN LETTER SMALL CAPITAL V;Ll;0;L;;;;;N;;;;;
-1D21;LATIN LETTER SMALL CAPITAL W;Ll;0;L;;;;;N;;;;;
-1D22;LATIN LETTER SMALL CAPITAL Z;Ll;0;L;;;;;N;;;;;
-1D23;LATIN LETTER SMALL CAPITAL EZH;Ll;0;L;;;;;N;;;;;
-1D24;LATIN LETTER VOICED LARYNGEAL SPIRANT;Ll;0;L;;;;;N;;;;;
-1D25;LATIN LETTER AIN;Ll;0;L;;;;;N;;;;;
-1D26;GREEK LETTER SMALL CAPITAL GAMMA;Ll;0;L;;;;;N;;;;;
-1D27;GREEK LETTER SMALL CAPITAL LAMDA;Ll;0;L;;;;;N;;;;;
-1D28;GREEK LETTER SMALL CAPITAL PI;Ll;0;L;;;;;N;;;;;
-1D29;GREEK LETTER SMALL CAPITAL RHO;Ll;0;L;;;;;N;;;;;
-1D2A;GREEK LETTER SMALL CAPITAL PSI;Ll;0;L;;;;;N;;;;;
-1D2B;CYRILLIC LETTER SMALL CAPITAL EL;Ll;0;L;;;;;N;;;;;
-1D2C;MODIFIER LETTER CAPITAL A;Lm;0;L;<super> 0041;;;;N;;;;;
-1D2D;MODIFIER LETTER CAPITAL AE;Lm;0;L;<super> 00C6;;;;N;;;;;
-1D2E;MODIFIER LETTER CAPITAL B;Lm;0;L;<super> 0042;;;;N;;;;;
-1D2F;MODIFIER LETTER CAPITAL BARRED B;Lm;0;L;;;;;N;;;;;
-1D30;MODIFIER LETTER CAPITAL D;Lm;0;L;<super> 0044;;;;N;;;;;
-1D31;MODIFIER LETTER CAPITAL E;Lm;0;L;<super> 0045;;;;N;;;;;
-1D32;MODIFIER LETTER CAPITAL REVERSED E;Lm;0;L;<super> 018E;;;;N;;;;;
-1D33;MODIFIER LETTER CAPITAL G;Lm;0;L;<super> 0047;;;;N;;;;;
-1D34;MODIFIER LETTER CAPITAL H;Lm;0;L;<super> 0048;;;;N;;;;;
-1D35;MODIFIER LETTER CAPITAL I;Lm;0;L;<super> 0049;;;;N;;;;;
-1D36;MODIFIER LETTER CAPITAL J;Lm;0;L;<super> 004A;;;;N;;;;;
-1D37;MODIFIER LETTER CAPITAL K;Lm;0;L;<super> 004B;;;;N;;;;;
-1D38;MODIFIER LETTER CAPITAL L;Lm;0;L;<super> 004C;;;;N;;;;;
-1D39;MODIFIER LETTER CAPITAL M;Lm;0;L;<super> 004D;;;;N;;;;;
-1D3A;MODIFIER LETTER CAPITAL N;Lm;0;L;<super> 004E;;;;N;;;;;
-1D3B;MODIFIER LETTER CAPITAL REVERSED N;Lm;0;L;;;;;N;;;;;
-1D3C;MODIFIER LETTER CAPITAL O;Lm;0;L;<super> 004F;;;;N;;;;;
-1D3D;MODIFIER LETTER CAPITAL OU;Lm;0;L;<super> 0222;;;;N;;;;;
-1D3E;MODIFIER LETTER CAPITAL P;Lm;0;L;<super> 0050;;;;N;;;;;
-1D3F;MODIFIER LETTER CAPITAL R;Lm;0;L;<super> 0052;;;;N;;;;;
-1D40;MODIFIER LETTER CAPITAL T;Lm;0;L;<super> 0054;;;;N;;;;;
-1D41;MODIFIER LETTER CAPITAL U;Lm;0;L;<super> 0055;;;;N;;;;;
-1D42;MODIFIER LETTER CAPITAL W;Lm;0;L;<super> 0057;;;;N;;;;;
-1D43;MODIFIER LETTER SMALL A;Lm;0;L;<super> 0061;;;;N;;;;;
-1D44;MODIFIER LETTER SMALL TURNED A;Lm;0;L;<super> 0250;;;;N;;;;;
-1D45;MODIFIER LETTER SMALL ALPHA;Lm;0;L;<super> 0251;;;;N;;;;;
-1D46;MODIFIER LETTER SMALL TURNED AE;Lm;0;L;<super> 1D02;;;;N;;;;;
-1D47;MODIFIER LETTER SMALL B;Lm;0;L;<super> 0062;;;;N;;;;;
-1D48;MODIFIER LETTER SMALL D;Lm;0;L;<super> 0064;;;;N;;;;;
-1D49;MODIFIER LETTER SMALL E;Lm;0;L;<super> 0065;;;;N;;;;;
-1D4A;MODIFIER LETTER SMALL SCHWA;Lm;0;L;<super> 0259;;;;N;;;;;
-1D4B;MODIFIER LETTER SMALL OPEN E;Lm;0;L;<super> 025B;;;;N;;;;;
-1D4C;MODIFIER LETTER SMALL TURNED OPEN E;Lm;0;L;<super> 025C;;;;N;;;;;
-1D4D;MODIFIER LETTER SMALL G;Lm;0;L;<super> 0067;;;;N;;;;;
-1D4E;MODIFIER LETTER SMALL TURNED I;Lm;0;L;;;;;N;;;;;
-1D4F;MODIFIER LETTER SMALL K;Lm;0;L;<super> 006B;;;;N;;;;;
-1D50;MODIFIER LETTER SMALL M;Lm;0;L;<super> 006D;;;;N;;;;;
-1D51;MODIFIER LETTER SMALL ENG;Lm;0;L;<super> 014B;;;;N;;;;;
-1D52;MODIFIER LETTER SMALL O;Lm;0;L;<super> 006F;;;;N;;;;;
-1D53;MODIFIER LETTER SMALL OPEN O;Lm;0;L;<super> 0254;;;;N;;;;;
-1D54;MODIFIER LETTER SMALL TOP HALF O;Lm;0;L;<super> 1D16;;;;N;;;;;
-1D55;MODIFIER LETTER SMALL BOTTOM HALF O;Lm;0;L;<super> 1D17;;;;N;;;;;
-1D56;MODIFIER LETTER SMALL P;Lm;0;L;<super> 0070;;;;N;;;;;
-1D57;MODIFIER LETTER SMALL T;Lm;0;L;<super> 0074;;;;N;;;;;
-1D58;MODIFIER LETTER SMALL U;Lm;0;L;<super> 0075;;;;N;;;;;
-1D59;MODIFIER LETTER SMALL SIDEWAYS U;Lm;0;L;<super> 1D1D;;;;N;;;;;
-1D5A;MODIFIER LETTER SMALL TURNED M;Lm;0;L;<super> 026F;;;;N;;;;;
-1D5B;MODIFIER LETTER SMALL V;Lm;0;L;<super> 0076;;;;N;;;;;
-1D5C;MODIFIER LETTER SMALL AIN;Lm;0;L;<super> 1D25;;;;N;;;;;
-1D5D;MODIFIER LETTER SMALL BETA;Lm;0;L;<super> 03B2;;;;N;;;;;
-1D5E;MODIFIER LETTER SMALL GREEK GAMMA;Lm;0;L;<super> 03B3;;;;N;;;;;
-1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L;<super> 03B4;;;;N;;;;;
-1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L;<super> 03C6;;;;N;;;;;
-1D61;MODIFIER LETTER SMALL CHI;Lm;0;L;<super> 03C7;;;;N;;;;;
-1D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L;<sub> 0069;;;;N;;;;;
-1D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L;<sub> 0072;;;;N;;;;;
-1D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L;<sub> 0075;;;;N;;;;;
-1D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L;<sub> 0076;;;;N;;;;;
-1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L;<sub> 03B2;;;;N;;;;;
-1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L;<sub> 03B3;;;;N;;;;;
-1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L;<sub> 03C1;;;;N;;;;;
-1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L;<sub> 03C6;;;;N;;;;;
-1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L;<sub> 03C7;;;;N;;;;;
-1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;;
-1D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D6E;LATIN SMALL LETTER F WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D6F;LATIN SMALL LETTER M WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D70;LATIN SMALL LETTER N WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D71;LATIN SMALL LETTER P WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D72;LATIN SMALL LETTER R WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D73;LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D74;LATIN SMALL LETTER S WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D75;LATIN SMALL LETTER T WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D76;LATIN SMALL LETTER Z WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
-1D77;LATIN SMALL LETTER TURNED G;Ll;0;L;;;;;N;;;;;
-1D78;MODIFIER LETTER CYRILLIC EN;Lm;0;L;<super> 043D;;;;N;;;;;
-1D79;LATIN SMALL LETTER INSULAR G;Ll;0;L;;;;;N;;;A77D;;A77D
-1D7A;LATIN SMALL LETTER TH WITH STRIKETHROUGH;Ll;0;L;;;;;N;;;;;
-1D7B;LATIN SMALL CAPITAL LETTER I WITH STROKE;Ll;0;L;;;;;N;;;;;
-1D7C;LATIN SMALL LETTER IOTA WITH STROKE;Ll;0;L;;;;;N;;;;;
-1D7D;LATIN SMALL LETTER P WITH STROKE;Ll;0;L;;;;;N;;;2C63;;2C63
-1D7E;LATIN SMALL CAPITAL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;;;
-1D7F;LATIN SMALL LETTER UPSILON WITH STROKE;Ll;0;L;;;;;N;;;;;
-1D80;LATIN SMALL LETTER B WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D81;LATIN SMALL LETTER D WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D82;LATIN SMALL LETTER F WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D83;LATIN SMALL LETTER G WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D84;LATIN SMALL LETTER K WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D85;LATIN SMALL LETTER L WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D86;LATIN SMALL LETTER M WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D87;LATIN SMALL LETTER N WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D88;LATIN SMALL LETTER P WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D89;LATIN SMALL LETTER R WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8A;LATIN SMALL LETTER S WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8B;LATIN SMALL LETTER ESH WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8C;LATIN SMALL LETTER V WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8D;LATIN SMALL LETTER X WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8E;LATIN SMALL LETTER Z WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8F;LATIN SMALL LETTER A WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D90;LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D91;LATIN SMALL LETTER D WITH HOOK AND TAIL;Ll;0;L;;;;;N;;;;;
-1D92;LATIN SMALL LETTER E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D93;LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D94;LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D95;LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D96;LATIN SMALL LETTER I WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D97;LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D98;LATIN SMALL LETTER ESH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D99;LATIN SMALL LETTER U WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D9A;LATIN SMALL LETTER EZH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
-1D9B;MODIFIER LETTER SMALL TURNED ALPHA;Lm;0;L;<super> 0252;;;;N;;;;;
-1D9C;MODIFIER LETTER SMALL C;Lm;0;L;<super> 0063;;;;N;;;;;
-1D9D;MODIFIER LETTER SMALL C WITH CURL;Lm;0;L;<super> 0255;;;;N;;;;;
-1D9E;MODIFIER LETTER SMALL ETH;Lm;0;L;<super> 00F0;;;;N;;;;;
-1D9F;MODIFIER LETTER SMALL REVERSED OPEN E;Lm;0;L;<super> 025C;;;;N;;;;;
-1DA0;MODIFIER LETTER SMALL F;Lm;0;L;<super> 0066;;;;N;;;;;
-1DA1;MODIFIER LETTER SMALL DOTLESS J WITH STROKE;Lm;0;L;<super> 025F;;;;N;;;;;
-1DA2;MODIFIER LETTER SMALL SCRIPT G;Lm;0;L;<super> 0261;;;;N;;;;;
-1DA3;MODIFIER LETTER SMALL TURNED H;Lm;0;L;<super> 0265;;;;N;;;;;
-1DA4;MODIFIER LETTER SMALL I WITH STROKE;Lm;0;L;<super> 0268;;;;N;;;;;
-1DA5;MODIFIER LETTER SMALL IOTA;Lm;0;L;<super> 0269;;;;N;;;;;
-1DA6;MODIFIER LETTER SMALL CAPITAL I;Lm;0;L;<super> 026A;;;;N;;;;;
-1DA7;MODIFIER LETTER SMALL CAPITAL I WITH STROKE;Lm;0;L;<super> 1D7B;;;;N;;;;;
-1DA8;MODIFIER LETTER SMALL J WITH CROSSED-TAIL;Lm;0;L;<super> 029D;;;;N;;;;;
-1DA9;MODIFIER LETTER SMALL L WITH RETROFLEX HOOK;Lm;0;L;<super> 026D;;;;N;;;;;
-1DAA;MODIFIER LETTER SMALL L WITH PALATAL HOOK;Lm;0;L;<super> 1D85;;;;N;;;;;
-1DAB;MODIFIER LETTER SMALL CAPITAL L;Lm;0;L;<super> 029F;;;;N;;;;;
-1DAC;MODIFIER LETTER SMALL M WITH HOOK;Lm;0;L;<super> 0271;;;;N;;;;;
-1DAD;MODIFIER LETTER SMALL TURNED M WITH LONG LEG;Lm;0;L;<super> 0270;;;;N;;;;;
-1DAE;MODIFIER LETTER SMALL N WITH LEFT HOOK;Lm;0;L;<super> 0272;;;;N;;;;;
-1DAF;MODIFIER LETTER SMALL N WITH RETROFLEX HOOK;Lm;0;L;<super> 0273;;;;N;;;;;
-1DB0;MODIFIER LETTER SMALL CAPITAL N;Lm;0;L;<super> 0274;;;;N;;;;;
-1DB1;MODIFIER LETTER SMALL BARRED O;Lm;0;L;<super> 0275;;;;N;;;;;
-1DB2;MODIFIER LETTER SMALL PHI;Lm;0;L;<super> 0278;;;;N;;;;;
-1DB3;MODIFIER LETTER SMALL S WITH HOOK;Lm;0;L;<super> 0282;;;;N;;;;;
-1DB4;MODIFIER LETTER SMALL ESH;Lm;0;L;<super> 0283;;;;N;;;;;
-1DB5;MODIFIER LETTER SMALL T WITH PALATAL HOOK;Lm;0;L;<super> 01AB;;;;N;;;;;
-1DB6;MODIFIER LETTER SMALL U BAR;Lm;0;L;<super> 0289;;;;N;;;;;
-1DB7;MODIFIER LETTER SMALL UPSILON;Lm;0;L;<super> 028A;;;;N;;;;;
-1DB8;MODIFIER LETTER SMALL CAPITAL U;Lm;0;L;<super> 1D1C;;;;N;;;;;
-1DB9;MODIFIER LETTER SMALL V WITH HOOK;Lm;0;L;<super> 028B;;;;N;;;;;
-1DBA;MODIFIER LETTER SMALL TURNED V;Lm;0;L;<super> 028C;;;;N;;;;;
-1DBB;MODIFIER LETTER SMALL Z;Lm;0;L;<super> 007A;;;;N;;;;;
-1DBC;MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK;Lm;0;L;<super> 0290;;;;N;;;;;
-1DBD;MODIFIER LETTER SMALL Z WITH CURL;Lm;0;L;<super> 0291;;;;N;;;;;
-1DBE;MODIFIER LETTER SMALL EZH;Lm;0;L;<super> 0292;;;;N;;;;;
-1DBF;MODIFIER LETTER SMALL THETA;Lm;0;L;<super> 03B8;;;;N;;;;;
-1DC0;COMBINING DOTTED GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;;
-1DC1;COMBINING DOTTED ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;;
-1DC2;COMBINING SNAKE BELOW;Mn;220;NSM;;;;;N;;;;;
-1DC3;COMBINING SUSPENSION MARK;Mn;230;NSM;;;;;N;;;;;
-1DC4;COMBINING MACRON-ACUTE;Mn;230;NSM;;;;;N;;;;;
-1DC5;COMBINING GRAVE-MACRON;Mn;230;NSM;;;;;N;;;;;
-1DC6;COMBINING MACRON-GRAVE;Mn;230;NSM;;;;;N;;;;;
-1DC7;COMBINING ACUTE-MACRON;Mn;230;NSM;;;;;N;;;;;
-1DC8;COMBINING GRAVE-ACUTE-GRAVE;Mn;230;NSM;;;;;N;;;;;
-1DC9;COMBINING ACUTE-GRAVE-ACUTE;Mn;230;NSM;;;;;N;;;;;
-1DCA;COMBINING LATIN SMALL LETTER R BELOW;Mn;220;NSM;;;;;N;;;;;
-1DCB;COMBINING BREVE-MACRON;Mn;230;NSM;;;;;N;;;;;
-1DCC;COMBINING MACRON-BREVE;Mn;230;NSM;;;;;N;;;;;
-1DCD;COMBINING DOUBLE CIRCUMFLEX ABOVE;Mn;234;NSM;;;;;N;;;;;
-1DCE;COMBINING OGONEK ABOVE;Mn;214;NSM;;;;;N;;;;;
-1DCF;COMBINING ZIGZAG BELOW;Mn;220;NSM;;;;;N;;;;;
-1DD0;COMBINING IS BELOW;Mn;202;NSM;;;;;N;;;;;
-1DD1;COMBINING UR ABOVE;Mn;230;NSM;;;;;N;;;;;
-1DD2;COMBINING US ABOVE;Mn;230;NSM;;;;;N;;;;;
-1DD3;COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE;Mn;230;NSM;;;;;N;;;;;
-1DD4;COMBINING LATIN SMALL LETTER AE;Mn;230;NSM;;;;;N;;;;;
-1DD5;COMBINING LATIN SMALL LETTER AO;Mn;230;NSM;;;;;N;;;;;
-1DD6;COMBINING LATIN SMALL LETTER AV;Mn;230;NSM;;;;;N;;;;;
-1DD7;COMBINING LATIN SMALL LETTER C CEDILLA;Mn;230;NSM;;;;;N;;;;;
-1DD8;COMBINING LATIN SMALL LETTER INSULAR D;Mn;230;NSM;;;;;N;;;;;
-1DD9;COMBINING LATIN SMALL LETTER ETH;Mn;230;NSM;;;;;N;;;;;
-1DDA;COMBINING LATIN SMALL LETTER G;Mn;230;NSM;;;;;N;;;;;
-1DDB;COMBINING LATIN LETTER SMALL CAPITAL G;Mn;230;NSM;;;;;N;;;;;
-1DDC;COMBINING LATIN SMALL LETTER K;Mn;230;NSM;;;;;N;;;;;
-1DDD;COMBINING LATIN SMALL LETTER L;Mn;230;NSM;;;;;N;;;;;
-1DDE;COMBINING LATIN LETTER SMALL CAPITAL L;Mn;230;NSM;;;;;N;;;;;
-1DDF;COMBINING LATIN LETTER SMALL CAPITAL M;Mn;230;NSM;;;;;N;;;;;
-1DE0;COMBINING LATIN SMALL LETTER N;Mn;230;NSM;;;;;N;;;;;
-1DE1;COMBINING LATIN LETTER SMALL CAPITAL N;Mn;230;NSM;;;;;N;;;;;
-1DE2;COMBINING LATIN LETTER SMALL CAPITAL R;Mn;230;NSM;;;;;N;;;;;
-1DE3;COMBINING LATIN SMALL LETTER R ROTUNDA;Mn;230;NSM;;;;;N;;;;;
-1DE4;COMBINING LATIN SMALL LETTER S;Mn;230;NSM;;;;;N;;;;;
-1DE5;COMBINING LATIN SMALL LETTER LONG S;Mn;230;NSM;;;;;N;;;;;
-1DE6;COMBINING LATIN SMALL LETTER Z;Mn;230;NSM;;;;;N;;;;;
-1DFD;COMBINING ALMOST EQUAL TO BELOW;Mn;220;NSM;;;;;N;;;;;
-1DFE;COMBINING LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
-1DFF;COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
-1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01;
-1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00
-1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03;
-1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02
-1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05;
-1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04
-1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07;
-1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06
-1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09;
-1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08
-1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B;
-1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A
-1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D;
-1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C
-1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F;
-1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E
-1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11;
-1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10
-1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13;
-1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12
-1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15;
-1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14
-1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17;
-1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16
-1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19;
-1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18
-1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B;
-1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A
-1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D;
-1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;N;;;1E1C;;1E1C
-1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F;
-1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E
-1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21;
-1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20
-1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23;
-1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22
-1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25;
-1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24
-1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27;
-1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26
-1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29;
-1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28
-1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B;
-1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A
-1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D;
-1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C
-1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F;
-1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E
-1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31;
-1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30
-1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33;
-1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32
-1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35;
-1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34
-1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37;
-1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36
-1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39;
-1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38
-1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B;
-1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A
-1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D;
-1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C
-1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F;
-1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E
-1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41;
-1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40
-1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43;
-1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42
-1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45;
-1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44
-1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47;
-1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46
-1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49;
-1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48
-1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B;
-1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A
-1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D;
-1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C
-1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F;
-1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E
-1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51;
-1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50
-1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53;
-1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52
-1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55;
-1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54
-1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57;
-1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56
-1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59;
-1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58
-1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B;
-1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A
-1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D;
-1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C
-1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F;
-1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E
-1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61;
-1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60
-1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63;
-1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62
-1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65;
-1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64
-1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67;
-1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66
-1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69;
-1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68
-1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B;
-1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A
-1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D;
-1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C
-1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F;
-1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E
-1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71;
-1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70
-1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73;
-1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72
-1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75;
-1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74
-1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77;
-1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76
-1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79;
-1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78
-1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B;
-1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A
-1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D;
-1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C
-1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F;
-1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E
-1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81;
-1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80
-1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83;
-1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82
-1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85;
-1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84
-1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87;
-1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86
-1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89;
-1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88
-1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B;
-1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A
-1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D;
-1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C
-1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F;
-1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E
-1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91;
-1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90
-1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93;
-1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92
-1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95;
-1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94
-1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;;
-1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;;
-1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;;
-1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;;
-1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L;<compat> 0061 02BE;;;;N;;;;;
-1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60
-1E9C;LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;;;
-1E9D;LATIN SMALL LETTER LONG S WITH HIGH STROKE;Ll;0;L;;;;;N;;;;;
-1E9E;LATIN CAPITAL LETTER SHARP S;Lu;0;L;;;;;N;;;;00DF;
-1E9F;LATIN SMALL LETTER DELTA;Ll;0;L;;;;;N;;;;;
-1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1;
-1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0
-1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3;
-1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2
-1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5;
-1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4
-1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7;
-1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6
-1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9;
-1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8
-1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB;
-1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA
-1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD;
-1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;N;;;1EAC;;1EAC
-1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF;
-1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE
-1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1;
-1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0
-1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3;
-1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2
-1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5;
-1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4
-1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7;
-1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;N;;;1EB6;;1EB6
-1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9;
-1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8
-1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB;
-1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA
-1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD;
-1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC
-1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF;
-1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE
-1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1;
-1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0
-1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3;
-1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2
-1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5;
-1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4
-1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7;
-1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;N;;;1EC6;;1EC6
-1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9;
-1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8
-1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB;
-1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA
-1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD;
-1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC
-1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF;
-1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE
-1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1;
-1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0
-1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3;
-1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2
-1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5;
-1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4
-1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7;
-1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6
-1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9;
-1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;N;;;1ED8;;1ED8
-1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB;
-1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA
-1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD;
-1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC
-1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF;
-1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE
-1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1;
-1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0
-1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3;
-1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2
-1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5;
-1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4
-1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7;
-1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6
-1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9;
-1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8
-1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB;
-1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA
-1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED;
-1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC
-1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF;
-1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE
-1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1;
-1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0
-1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3;
-1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2
-1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5;
-1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4
-1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7;
-1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6
-1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9;
-1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8
-1EFA;LATIN CAPITAL LETTER MIDDLE-WELSH LL;Lu;0;L;;;;;N;;;;1EFB;
-1EFB;LATIN SMALL LETTER MIDDLE-WELSH LL;Ll;0;L;;;;;N;;;1EFA;;1EFA
-1EFC;LATIN CAPITAL LETTER MIDDLE-WELSH V;Lu;0;L;;;;;N;;;;1EFD;
-1EFD;LATIN SMALL LETTER MIDDLE-WELSH V;Ll;0;L;;;;;N;;;1EFC;;1EFC
-1EFE;LATIN CAPITAL LETTER Y WITH LOOP;Lu;0;L;;;;;N;;;;1EFF;
-1EFF;LATIN SMALL LETTER Y WITH LOOP;Ll;0;L;;;;;N;;;1EFE;;1EFE
-1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08
-1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09
-1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A
-1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B
-1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C
-1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D
-1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E
-1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F
-1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00;
-1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01;
-1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02;
-1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03;
-1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04;
-1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05;
-1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06;
-1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07;
-1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18
-1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19
-1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A
-1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B
-1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C
-1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D
-1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10;
-1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11;
-1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12;
-1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13;
-1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14;
-1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15;
-1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28
-1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29
-1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A
-1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B
-1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C
-1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D
-1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E
-1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F
-1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20;
-1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21;
-1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22;
-1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23;
-1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24;
-1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25;
-1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26;
-1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27;
-1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38
-1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39
-1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A
-1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B
-1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C
-1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D
-1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E
-1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F
-1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30;
-1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31;
-1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32;
-1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33;
-1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34;
-1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35;
-1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36;
-1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37;
-1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48
-1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49
-1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A
-1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B
-1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C
-1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D
-1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40;
-1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41;
-1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42;
-1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43;
-1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44;
-1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45;
-1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;;
-1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59
-1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;;
-1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B
-1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;;
-1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D
-1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;;
-1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F
-1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51;
-1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53;
-1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55;
-1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57;
-1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68
-1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69
-1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A
-1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B
-1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C
-1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D
-1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E
-1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F
-1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60;
-1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61;
-1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62;
-1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63;
-1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64;
-1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65;
-1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66;
-1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67;
-1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA
-1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB
-1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8
-1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9
-1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA
-1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB
-1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA
-1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB
-1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8
-1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9
-1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA
-1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB
-1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA
-1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB
-1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88
-1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89
-1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A
-1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B
-1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C
-1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D
-1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E
-1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F
-1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80;
-1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81;
-1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82;
-1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83;
-1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84;
-1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85;
-1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86;
-1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0F 0345;;;;N;;;;1F87;
-1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98
-1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99
-1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A
-1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B
-1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C
-1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D
-1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E
-1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F
-1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90;
-1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91;
-1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92;
-1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93;
-1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94;
-1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95;
-1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96;
-1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2F 0345;;;;N;;;;1F97;
-1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8
-1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9
-1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA
-1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB
-1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC
-1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD
-1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE
-1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF
-1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0;
-1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1;
-1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2;
-1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3;
-1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4;
-1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5;
-1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6;
-1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6F 0345;;;;N;;;;1FA7;
-1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8
-1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9
-1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;;
-1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC
-1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;;
-1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;;
-1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;;
-1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0;
-1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1;
-1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70;
-1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71;
-1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3;
-1FBD;GREEK KORONIS;Sk;0;ON;<compat> 0020 0313;;;;N;;;;;
-1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399
-1FBF;GREEK PSILI;Sk;0;ON;<compat> 0020 0313;;;;N;;;;;
-1FC0;GREEK PERISPOMENI;Sk;0;ON;<compat> 0020 0342;;;;N;;;;;
-1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;;
-1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;;
-1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC
-1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;;
-1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;;
-1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;;
-1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72;
-1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73;
-1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74;
-1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75;
-1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3;
-1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;;
-1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;;
-1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;;
-1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8
-1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9
-1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;;
-1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;;
-1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;;
-1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;;
-1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0;
-1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1;
-1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76;
-1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77;
-1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;;
-1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;;
-1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;;
-1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8
-1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9
-1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;;
-1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;;
-1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;;
-1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC
-1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;;
-1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;;
-1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0;
-1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1;
-1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A;
-1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B;
-1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5;
-1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;;
-1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;;
-1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;;
-1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;;
-1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC
-1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;;
-1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;;
-1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;;
-1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78;
-1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79;
-1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C;
-1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D;
-1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3;
-1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;;
-1FFE;GREEK DASIA;Sk;0;ON;<compat> 0020 0314;;;;N;;;;;
-2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;;
-2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;;
-2002;EN SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2003;EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2004;THREE-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2005;FOUR-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2006;SIX-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2007;FIGURE SPACE;Zs;0;WS;<noBreak> 0020;;;;N;;;;;
-2008;PUNCTUATION SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2009;THIN SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-200A;HAIR SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-200B;ZERO WIDTH SPACE;Cf;0;BN;;;;;N;;;;;
-200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;;
-200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;;
-200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
-200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;;
-2010;HYPHEN;Pd;0;ON;;;;;N;;;;;
-2011;NON-BREAKING HYPHEN;Pd;0;ON;<noBreak> 2010;;;;N;;;;;
-2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;;
-2013;EN DASH;Pd;0;ON;;;;;N;;;;;
-2014;EM DASH;Pd;0;ON;;;;;N;;;;;
-2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;;
-2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;;
-2017;DOUBLE LOW LINE;Po;0;ON;<compat> 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;;
-2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;;
-2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;;
-201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;;
-201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;;
-201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;;
-201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;;
-201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;;
-201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;;
-2020;DAGGER;Po;0;ON;;;;;N;;;;;
-2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;;
-2022;BULLET;Po;0;ON;;;;;N;;;;;
-2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;;
-2024;ONE DOT LEADER;Po;0;ON;<compat> 002E;;;;N;;;;;
-2025;TWO DOT LEADER;Po;0;ON;<compat> 002E 002E;;;;N;;;;;
-2026;HORIZONTAL ELLIPSIS;Po;0;ON;<compat> 002E 002E 002E;;;;N;;;;;
-2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;;
-2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;;
-2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;;
-202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;;
-202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;;
-202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;;
-202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;;
-202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;;
-202F;NARROW NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;;;;;
-2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
-2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;;
-2032;PRIME;Po;0;ET;;;;;N;;;;;
-2033;DOUBLE PRIME;Po;0;ET;<compat> 2032 2032;;;;N;;;;;
-2034;TRIPLE PRIME;Po;0;ET;<compat> 2032 2032 2032;;;;N;;;;;
-2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;;
-2036;REVERSED DOUBLE PRIME;Po;0;ON;<compat> 2035 2035;;;;N;;;;;
-2037;REVERSED TRIPLE PRIME;Po;0;ON;<compat> 2035 2035 2035;;;;N;;;;;
-2038;CARET;Po;0;ON;;;;;N;;;;;
-2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;;
-203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;;
-203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;;
-203C;DOUBLE EXCLAMATION MARK;Po;0;ON;<compat> 0021 0021;;;;N;;;;;
-203D;INTERROBANG;Po;0;ON;;;;;N;;;;;
-203E;OVERLINE;Po;0;ON;<compat> 0020 0305;;;;N;SPACING OVERSCORE;;;;
-203F;UNDERTIE;Pc;0;ON;;;;;N;;;;;
-2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;;
-2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;;
-2042;ASTERISM;Po;0;ON;;;;;N;;;;;
-2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;;
-2044;FRACTION SLASH;Sm;0;CS;;;;;N;;;;;
-2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;;
-2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;;
-2047;DOUBLE QUESTION MARK;Po;0;ON;<compat> 003F 003F;;;;N;;;;;
-2048;QUESTION EXCLAMATION MARK;Po;0;ON;<compat> 003F 0021;;;;N;;;;;
-2049;EXCLAMATION QUESTION MARK;Po;0;ON;<compat> 0021 003F;;;;N;;;;;
-204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;;
-204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;;
-204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;;
-204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;;
-204E;LOW ASTERISK;Po;0;ON;;;;;N;;;;;
-204F;REVERSED SEMICOLON;Po;0;ON;;;;;N;;;;;
-2050;CLOSE UP;Po;0;ON;;;;;N;;;;;
-2051;TWO ASTERISKS ALIGNED VERTICALLY;Po;0;ON;;;;;N;;;;;
-2052;COMMERCIAL MINUS SIGN;Sm;0;ON;;;;;N;;;;;
-2053;SWUNG DASH;Po;0;ON;;;;;N;;;;;
-2054;INVERTED UNDERTIE;Pc;0;ON;;;;;N;;;;;
-2055;FLOWER PUNCTUATION MARK;Po;0;ON;;;;;N;;;;;
-2056;THREE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-2057;QUADRUPLE PRIME;Po;0;ON;<compat> 2032 2032 2032 2032;;;;N;;;;;
-2058;FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-2059;FIVE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-205A;TWO DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-205B;FOUR DOT MARK;Po;0;ON;;;;;N;;;;;
-205C;DOTTED CROSS;Po;0;ON;;;;;N;;;;;
-205D;TRICOLON;Po;0;ON;;;;;N;;;;;
-205E;VERTICAL FOUR DOTS;Po;0;ON;;;;;N;;;;;
-205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
-2060;WORD JOINER;Cf;0;BN;;;;;N;;;;;
-2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;;
-2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;;
-2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;;
-2064;INVISIBLE PLUS;Cf;0;BN;;;;;N;;;;;
-206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
-206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
-206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
-206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
-206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
-206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
-2070;SUPERSCRIPT ZERO;No;0;EN;<super> 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;;
-2071;SUPERSCRIPT LATIN SMALL LETTER I;Lm;0;L;<super> 0069;;;;N;;;;;
-2074;SUPERSCRIPT FOUR;No;0;EN;<super> 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;;
-2075;SUPERSCRIPT FIVE;No;0;EN;<super> 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;;
-2076;SUPERSCRIPT SIX;No;0;EN;<super> 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;;
-2077;SUPERSCRIPT SEVEN;No;0;EN;<super> 0037;;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;;
-2078;SUPERSCRIPT EIGHT;No;0;EN;<super> 0038;;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;;
-2079;SUPERSCRIPT NINE;No;0;EN;<super> 0039;;9;9;N;SUPERSCRIPT DIGIT NINE;;;;
-207A;SUPERSCRIPT PLUS SIGN;Sm;0;ES;<super> 002B;;;;N;;;;;
-207B;SUPERSCRIPT MINUS;Sm;0;ES;<super> 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;;
-207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON;<super> 003D;;;;N;;;;;
-207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON;<super> 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;;
-207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<super> 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;;
-207F;SUPERSCRIPT LATIN SMALL LETTER N;Lm;0;L;<super> 006E;;;;N;;;;;
-2080;SUBSCRIPT ZERO;No;0;EN;<sub> 0030;;0;0;N;SUBSCRIPT DIGIT ZERO;;;;
-2081;SUBSCRIPT ONE;No;0;EN;<sub> 0031;;1;1;N;SUBSCRIPT DIGIT ONE;;;;
-2082;SUBSCRIPT TWO;No;0;EN;<sub> 0032;;2;2;N;SUBSCRIPT DIGIT TWO;;;;
-2083;SUBSCRIPT THREE;No;0;EN;<sub> 0033;;3;3;N;SUBSCRIPT DIGIT THREE;;;;
-2084;SUBSCRIPT FOUR;No;0;EN;<sub> 0034;;4;4;N;SUBSCRIPT DIGIT FOUR;;;;
-2085;SUBSCRIPT FIVE;No;0;EN;<sub> 0035;;5;5;N;SUBSCRIPT DIGIT FIVE;;;;
-2086;SUBSCRIPT SIX;No;0;EN;<sub> 0036;;6;6;N;SUBSCRIPT DIGIT SIX;;;;
-2087;SUBSCRIPT SEVEN;No;0;EN;<sub> 0037;;7;7;N;SUBSCRIPT DIGIT SEVEN;;;;
-2088;SUBSCRIPT EIGHT;No;0;EN;<sub> 0038;;8;8;N;SUBSCRIPT DIGIT EIGHT;;;;
-2089;SUBSCRIPT NINE;No;0;EN;<sub> 0039;;9;9;N;SUBSCRIPT DIGIT NINE;;;;
-208A;SUBSCRIPT PLUS SIGN;Sm;0;ES;<sub> 002B;;;;N;;;;;
-208B;SUBSCRIPT MINUS;Sm;0;ES;<sub> 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;;
-208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON;<sub> 003D;;;;N;;;;;
-208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON;<sub> 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;;
-208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<sub> 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;;
-2090;LATIN SUBSCRIPT SMALL LETTER A;Lm;0;L;<sub> 0061;;;;N;;;;;
-2091;LATIN SUBSCRIPT SMALL LETTER E;Lm;0;L;<sub> 0065;;;;N;;;;;
-2092;LATIN SUBSCRIPT SMALL LETTER O;Lm;0;L;<sub> 006F;;;;N;;;;;
-2093;LATIN SUBSCRIPT SMALL LETTER X;Lm;0;L;<sub> 0078;;;;N;;;;;
-2094;LATIN SUBSCRIPT SMALL LETTER SCHWA;Lm;0;L;<sub> 0259;;;;N;;;;;
-20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
-20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;;
-20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;;
-20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;;
-20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;;
-20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;;
-20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;;
-20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;;
-20A8;RUPEE SIGN;Sc;0;ET;<compat> 0052 0073;;;;N;;;;;
-20A9;WON SIGN;Sc;0;ET;;;;;N;;;;;
-20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;;
-20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;;
-20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;;
-20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;;
-20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;;
-20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;;
-20B0;GERMAN PENNY SIGN;Sc;0;ET;;;;;N;;;;;
-20B1;PESO SIGN;Sc;0;ET;;;;;N;;;;;
-20B2;GUARANI SIGN;Sc;0;ET;;;;;N;;;;;
-20B3;AUSTRAL SIGN;Sc;0;ET;;;;;N;;;;;
-20B4;HRYVNIA SIGN;Sc;0;ET;;;;;N;;;;;
-20B5;CEDI SIGN;Sc;0;ET;;;;;N;;;;;
-20B6;LIVRE TOURNOIS SIGN;Sc;0;ET;;;;;N;;;;;
-20B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;;
-20B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;;
-20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
-20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
-20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
-20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;;
-20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;;
-20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;;
-20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;;
-20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;;
-20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;;
-20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;;
-20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;;
-20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;;
-20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;;
-20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;;
-20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;;
-20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;;
-20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;;
-20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;;
-20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;;
-20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;;
-20E4;COMBINING ENCLOSING UPWARD POINTING TRIANGLE;Me;0;NSM;;;;;N;;;;;
-20E5;COMBINING REVERSE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;;
-20E6;COMBINING DOUBLE VERTICAL STROKE OVERLAY;Mn;1;NSM;;;;;N;;;;;
-20E7;COMBINING ANNUITY SYMBOL;Mn;230;NSM;;;;;N;;;;;
-20E8;COMBINING TRIPLE UNDERDOT;Mn;220;NSM;;;;;N;;;;;
-20E9;COMBINING WIDE BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;;
-20EA;COMBINING LEFTWARDS ARROW OVERLAY;Mn;1;NSM;;;;;N;;;;;
-20EB;COMBINING LONG DOUBLE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;;
-20EC;COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS;Mn;220;NSM;;;;;N;;;;;
-20ED;COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS;Mn;220;NSM;;;;;N;;;;;
-20EE;COMBINING LEFT ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
-20EF;COMBINING RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
-20F0;COMBINING ASTERISK ABOVE;Mn;230;NSM;;;;;N;;;;;
-2100;ACCOUNT OF;So;0;ON;<compat> 0061 002F 0063;;;;N;;;;;
-2101;ADDRESSED TO THE SUBJECT;So;0;ON;<compat> 0061 002F 0073;;;;N;;;;;
-2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L;<font> 0043;;;;N;DOUBLE-STRUCK C;;;;
-2103;DEGREE CELSIUS;So;0;ON;<compat> 00B0 0043;;;;N;DEGREES CENTIGRADE;;;;
-2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;;
-2105;CARE OF;So;0;ON;<compat> 0063 002F 006F;;;;N;;;;;
-2106;CADA UNA;So;0;ON;<compat> 0063 002F 0075;;;;N;;;;;
-2107;EULER CONSTANT;Lu;0;L;<compat> 0190;;;;N;EULERS;;;;
-2108;SCRUPLE;So;0;ON;;;;;N;;;;;
-2109;DEGREE FAHRENHEIT;So;0;ON;<compat> 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;;
-210A;SCRIPT SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-210B;SCRIPT CAPITAL H;Lu;0;L;<font> 0048;;;;N;SCRIPT H;;;;
-210C;BLACK-LETTER CAPITAL H;Lu;0;L;<font> 0048;;;;N;BLACK-LETTER H;;;;
-210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L;<font> 0048;;;;N;DOUBLE-STRUCK H;;;;
-210E;PLANCK CONSTANT;Ll;0;L;<font> 0068;;;;N;;;;;
-210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L;<font> 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;;
-2110;SCRIPT CAPITAL I;Lu;0;L;<font> 0049;;;;N;SCRIPT I;;;;
-2111;BLACK-LETTER CAPITAL I;Lu;0;L;<font> 0049;;;;N;BLACK-LETTER I;;;;
-2112;SCRIPT CAPITAL L;Lu;0;L;<font> 004C;;;;N;SCRIPT L;;;;
-2113;SCRIPT SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;;
-2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L;<font> 004E;;;;N;DOUBLE-STRUCK N;;;;
-2116;NUMERO SIGN;So;0;ON;<compat> 004E 006F;;;;N;NUMERO;;;;
-2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;;
-2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;;
-2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L;<font> 0050;;;;N;DOUBLE-STRUCK P;;;;
-211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L;<font> 0051;;;;N;DOUBLE-STRUCK Q;;;;
-211B;SCRIPT CAPITAL R;Lu;0;L;<font> 0052;;;;N;SCRIPT R;;;;
-211C;BLACK-LETTER CAPITAL R;Lu;0;L;<font> 0052;;;;N;BLACK-LETTER R;;;;
-211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L;<font> 0052;;;;N;DOUBLE-STRUCK R;;;;
-211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;;
-211F;RESPONSE;So;0;ON;;;;;N;;;;;
-2120;SERVICE MARK;So;0;ON;<super> 0053 004D;;;;N;;;;;
-2121;TELEPHONE SIGN;So;0;ON;<compat> 0054 0045 004C;;;;N;T E L SYMBOL;;;;
-2122;TRADE MARK SIGN;So;0;ON;<super> 0054 004D;;;;N;TRADEMARK;;;;
-2123;VERSICLE;So;0;ON;;;;;N;;;;;
-2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L;<font> 005A;;;;N;DOUBLE-STRUCK Z;;;;
-2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;;
-2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9;
-2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;;
-2128;BLACK-LETTER CAPITAL Z;Lu;0;L;<font> 005A;;;;N;BLACK-LETTER Z;;;;
-2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;;
-212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B;
-212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5;
-212C;SCRIPT CAPITAL B;Lu;0;L;<font> 0042;;;;N;SCRIPT B;;;;
-212D;BLACK-LETTER CAPITAL C;Lu;0;L;<font> 0043;;;;N;BLACK-LETTER C;;;;
-212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;;
-212F;SCRIPT SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-2130;SCRIPT CAPITAL E;Lu;0;L;<font> 0045;;;;N;SCRIPT E;;;;
-2131;SCRIPT CAPITAL F;Lu;0;L;<font> 0046;;;;N;SCRIPT F;;;;
-2132;TURNED CAPITAL F;Lu;0;L;;;;;N;TURNED F;;;214E;
-2133;SCRIPT CAPITAL M;Lu;0;L;<font> 004D;;;;N;SCRIPT M;;;;
-2134;SCRIPT SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-2135;ALEF SYMBOL;Lo;0;L;<compat> 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;;
-2136;BET SYMBOL;Lo;0;L;<compat> 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;;
-2137;GIMEL SYMBOL;Lo;0;L;<compat> 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;;
-2138;DALET SYMBOL;Lo;0;L;<compat> 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;;
-2139;INFORMATION SOURCE;Ll;0;L;<font> 0069;;;;N;;;;;
-213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;;
-213B;FACSIMILE SIGN;So;0;ON;<compat> 0046 0041 0058;;;;N;;;;;
-213C;DOUBLE-STRUCK SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
-213D;DOUBLE-STRUCK SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
-213E;DOUBLE-STRUCK CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
-213F;DOUBLE-STRUCK CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
-2140;DOUBLE-STRUCK N-ARY SUMMATION;Sm;0;ON;<font> 2211;;;;Y;;;;;
-2141;TURNED SANS-SERIF CAPITAL G;Sm;0;ON;;;;;N;;;;;
-2142;TURNED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;;
-2143;REVERSED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;;
-2144;TURNED SANS-SERIF CAPITAL Y;Sm;0;ON;;;;;N;;;;;
-2145;DOUBLE-STRUCK ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-2146;DOUBLE-STRUCK ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-2147;DOUBLE-STRUCK ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-2148;DOUBLE-STRUCK ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-2149;DOUBLE-STRUCK ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-214A;PROPERTY LINE;So;0;ON;;;;;N;;;;;
-214B;TURNED AMPERSAND;Sm;0;ON;;;;;N;;;;;
-214C;PER SIGN;So;0;ON;;;;;N;;;;;
-214D;AKTIESELSKAB;So;0;ON;;;;;N;;;;;
-214E;TURNED SMALL F;Ll;0;L;;;;;N;;;2132;;2132
-214F;SYMBOL FOR SAMARITAN SOURCE;So;0;L;;;;;N;;;;;
-2150;VULGAR FRACTION ONE SEVENTH;No;0;ON;<fraction> 0031 2044 0037;;;1/7;N;;;;;
-2151;VULGAR FRACTION ONE NINTH;No;0;ON;<fraction> 0031 2044 0039;;;1/9;N;;;;;
-2152;VULGAR FRACTION ONE TENTH;No;0;ON;<fraction> 0031 2044 0031 0030;;;1/10;N;;;;;
-2153;VULGAR FRACTION ONE THIRD;No;0;ON;<fraction> 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;;
-2154;VULGAR FRACTION TWO THIRDS;No;0;ON;<fraction> 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;;
-2155;VULGAR FRACTION ONE FIFTH;No;0;ON;<fraction> 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;;
-2156;VULGAR FRACTION TWO FIFTHS;No;0;ON;<fraction> 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;;
-2157;VULGAR FRACTION THREE FIFTHS;No;0;ON;<fraction> 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;;
-2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON;<fraction> 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;;
-2159;VULGAR FRACTION ONE SIXTH;No;0;ON;<fraction> 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;;
-215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON;<fraction> 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;;
-215B;VULGAR FRACTION ONE EIGHTH;No;0;ON;<fraction> 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;;
-215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON;<fraction> 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;;
-215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON;<fraction> 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;;
-215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON;<fraction> 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;;
-215F;FRACTION NUMERATOR ONE;No;0;ON;<fraction> 0031 2044;;;1;N;;;;;
-2160;ROMAN NUMERAL ONE;Nl;0;L;<compat> 0049;;;1;N;;;;2170;
-2161;ROMAN NUMERAL TWO;Nl;0;L;<compat> 0049 0049;;;2;N;;;;2171;
-2162;ROMAN NUMERAL THREE;Nl;0;L;<compat> 0049 0049 0049;;;3;N;;;;2172;
-2163;ROMAN NUMERAL FOUR;Nl;0;L;<compat> 0049 0056;;;4;N;;;;2173;
-2164;ROMAN NUMERAL FIVE;Nl;0;L;<compat> 0056;;;5;N;;;;2174;
-2165;ROMAN NUMERAL SIX;Nl;0;L;<compat> 0056 0049;;;6;N;;;;2175;
-2166;ROMAN NUMERAL SEVEN;Nl;0;L;<compat> 0056 0049 0049;;;7;N;;;;2176;
-2167;ROMAN NUMERAL EIGHT;Nl;0;L;<compat> 0056 0049 0049 0049;;;8;N;;;;2177;
-2168;ROMAN NUMERAL NINE;Nl;0;L;<compat> 0049 0058;;;9;N;;;;2178;
-2169;ROMAN NUMERAL TEN;Nl;0;L;<compat> 0058;;;10;N;;;;2179;
-216A;ROMAN NUMERAL ELEVEN;Nl;0;L;<compat> 0058 0049;;;11;N;;;;217A;
-216B;ROMAN NUMERAL TWELVE;Nl;0;L;<compat> 0058 0049 0049;;;12;N;;;;217B;
-216C;ROMAN NUMERAL FIFTY;Nl;0;L;<compat> 004C;;;50;N;;;;217C;
-216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L;<compat> 0043;;;100;N;;;;217D;
-216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L;<compat> 0044;;;500;N;;;;217E;
-216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L;<compat> 004D;;;1000;N;;;;217F;
-2170;SMALL ROMAN NUMERAL ONE;Nl;0;L;<compat> 0069;;;1;N;;;2160;;2160
-2171;SMALL ROMAN NUMERAL TWO;Nl;0;L;<compat> 0069 0069;;;2;N;;;2161;;2161
-2172;SMALL ROMAN NUMERAL THREE;Nl;0;L;<compat> 0069 0069 0069;;;3;N;;;2162;;2162
-2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L;<compat> 0069 0076;;;4;N;;;2163;;2163
-2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L;<compat> 0076;;;5;N;;;2164;;2164
-2175;SMALL ROMAN NUMERAL SIX;Nl;0;L;<compat> 0076 0069;;;6;N;;;2165;;2165
-2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L;<compat> 0076 0069 0069;;;7;N;;;2166;;2166
-2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L;<compat> 0076 0069 0069 0069;;;8;N;;;2167;;2167
-2178;SMALL ROMAN NUMERAL NINE;Nl;0;L;<compat> 0069 0078;;;9;N;;;2168;;2168
-2179;SMALL ROMAN NUMERAL TEN;Nl;0;L;<compat> 0078;;;10;N;;;2169;;2169
-217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L;<compat> 0078 0069;;;11;N;;;216A;;216A
-217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L;<compat> 0078 0069 0069;;;12;N;;;216B;;216B
-217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L;<compat> 006C;;;50;N;;;216C;;216C
-217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L;<compat> 0063;;;100;N;;;216D;;216D
-217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L;<compat> 0064;;;500;N;;;216E;;216E
-217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L;<compat> 006D;;;1000;N;;;216F;;216F
-2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;;
-2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;;
-2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;;
-2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Lu;0;L;;;;;N;;;;2184;
-2184;LATIN SMALL LETTER REVERSED C;Ll;0;L;;;;;N;;;2183;;2183
-2185;ROMAN NUMERAL SIX LATE FORM;Nl;0;L;;;;6;N;;;;;
-2186;ROMAN NUMERAL FIFTY EARLY FORM;Nl;0;L;;;;50;N;;;;;
-2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;;
-2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;;
-2189;VULGAR FRACTION ZERO THIRDS;No;0;ON;<fraction> 0030 2044 0033;;;0;N;;;;;
-2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;;
-2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;;
-2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;;
-2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;;
-2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;;
-2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;;
-2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;;
-2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;;
-2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;;
-2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;;
-219A;LEFTWARDS ARROW WITH STROKE;Sm;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;;
-219B;RIGHTWARDS ARROW WITH STROKE;Sm;0;ON;2192 0338;;;;N;RIGHT ARROW WITH STROKE;;;;
-219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;;
-219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;;
-219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;;
-219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;;
-21A0;RIGHTWARDS TWO HEADED ARROW;Sm;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;;
-21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;;
-21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;;
-21A3;RIGHTWARDS ARROW WITH TAIL;Sm;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;;
-21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;;
-21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;;
-21A6;RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;;
-21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;;
-21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;;
-21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;;
-21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;;
-21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;;
-21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;;
-21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;;
-21AE;LEFT RIGHT ARROW WITH STROKE;Sm;0;ON;2194 0338;;;;N;;;;;
-21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;;
-21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;;
-21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;;
-21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;;
-21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;;
-21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;;
-21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;;
-21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;;
-21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;;
-21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;;
-21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;;
-21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
-21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
-21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;;
-21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;;
-21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;;
-21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;;
-21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;;
-21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;;
-21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;;
-21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;;
-21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;;
-21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;;
-21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;;
-21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;;
-21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;;
-21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;;
-21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;;
-21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;;
-21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;;
-21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;;
-21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;Sm;0;ON;21D4 0338;;;;N;;;;;
-21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;Sm;0;ON;21D2 0338;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;;
-21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;;
-21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;;
-21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;;
-21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;;
-21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
-21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;;
-21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;;
-21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;;
-21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;;
-21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;;
-21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;;
-21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;;
-21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;;
-21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;;
-21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;;
-21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;;
-21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;;
-21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;;
-21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;;
-21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;;
-21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;;
-21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;;
-21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;;
-21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;;
-21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;;
-21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;;
-21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;;
-21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;;
-21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
-21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
-21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;;
-21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;;
-21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;;
-21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;;
-21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;;
-21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;;
-21F4;RIGHT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
-21F5;DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-21F6;THREE RIGHTWARDS ARROWS;Sm;0;ON;;;;;N;;;;;
-21F7;LEFTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-21F8;RIGHTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-21F9;LEFT RIGHT ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-21FA;LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-21FB;RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-21FC;LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-21FD;LEFTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;;
-21FE;RIGHTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;;
-21FF;LEFT RIGHT OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;;
-2200;FOR ALL;Sm;0;ON;;;;;N;;;;;
-2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;;
-2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;;
-2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;;
-2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;;
-2205;EMPTY SET;Sm;0;ON;;;;;N;;;;;
-2206;INCREMENT;Sm;0;ON;;;;;N;;;;;
-2207;NABLA;Sm;0;ON;;;;;N;;;;;
-2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;;
-2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;;
-220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;;
-220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;;
-220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;;
-220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;;
-220E;END OF PROOF;Sm;0;ON;;;;;N;;;;;
-220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;;
-2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;;
-2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;;
-2212;MINUS SIGN;Sm;0;ES;;;;;N;;;;;
-2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;;
-2214;DOT PLUS;Sm;0;ON;;;;;N;;;;;
-2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;;
-2216;SET MINUS;Sm;0;ON;;;;;Y;;;;;
-2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;;
-2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;;
-2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;;
-221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;;
-221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;;
-221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;;
-221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;;
-221E;INFINITY;Sm;0;ON;;;;;N;;;;;
-221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;;
-2220;ANGLE;Sm;0;ON;;;;;Y;;;;;
-2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;;
-2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;;
-2223;DIVIDES;Sm;0;ON;;;;;N;;;;;
-2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;;
-2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;;
-2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;;
-2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;;
-2229;INTERSECTION;Sm;0;ON;;;;;N;;;;;
-222A;UNION;Sm;0;ON;;;;;N;;;;;
-222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-222C;DOUBLE INTEGRAL;Sm;0;ON;<compat> 222B 222B;;;;Y;;;;;
-222D;TRIPLE INTEGRAL;Sm;0;ON;<compat> 222B 222B 222B;;;;Y;;;;;
-222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-222F;SURFACE INTEGRAL;Sm;0;ON;<compat> 222E 222E;;;;Y;;;;;
-2230;VOLUME INTEGRAL;Sm;0;ON;<compat> 222E 222E 222E;;;;Y;;;;;
-2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2234;THEREFORE;Sm;0;ON;;;;;N;;;;;
-2235;BECAUSE;Sm;0;ON;;;;;N;;;;;
-2236;RATIO;Sm;0;ON;;;;;N;;;;;
-2237;PROPORTION;Sm;0;ON;;;;;N;;;;;
-2238;DOT MINUS;Sm;0;ON;;;;;N;;;;;
-2239;EXCESS;Sm;0;ON;;;;;Y;;;;;
-223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;;
-223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;;
-223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;;;;
-223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;;
-223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;;
-2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;;
-2241;NOT TILDE;Sm;0;ON;223C 0338;;;;Y;;;;;
-2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;;
-2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;;
-2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;;
-2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;;
-224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;;
-224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
-224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
-224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;;
-2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;;
-2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;;
-2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;;
-2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;;
-2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;;
-2259;ESTIMATES;Sm;0;ON;;;;;N;;;;;
-225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;;
-225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;;
-225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;;
-225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;;
-225E;MEASURED BY;Sm;0;ON;;;;;N;;;;;
-225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;;
-2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;;
-2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;;
-2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
-2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;;
-2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;;
-2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;;
-2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;;
-2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;;
-2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;;
-226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;;
-226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;;
-226C;BETWEEN;Sm;0;ON;;;;;N;;;;;
-226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;;
-226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;;
-226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;;
-2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;;
-2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;;
-2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;;
-2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;;
-2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;;
-2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;;
-2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;;
-2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;;
-2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;;
-2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;;
-227A;PRECEDES;Sm;0;ON;;;;;Y;;;;;
-227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
-227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
-227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
-2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;;
-2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;;
-2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;;
-2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;;
-2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;;
-2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;;
-2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;;
-2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;;
-228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;;
-228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;;
-228C;MULTISET;Sm;0;ON;;;;;Y;;;;;
-228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;;
-228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;;
-228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;;
-2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;;
-2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;;
-2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;;
-2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;;
-2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;;
-2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;;
-2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;;
-2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
-229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;;
-229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;;
-229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;;
-229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;;
-229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;;
-229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;;
-22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;;
-22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
-22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;;
-22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;;
-22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;;
-22A5;UP TACK;Sm;0;ON;;;;;N;;;;;
-22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;;
-22A7;MODELS;Sm;0;ON;;;;;Y;;;;;
-22A8;TRUE;Sm;0;ON;;;;;Y;;;;;
-22A9;FORCES;Sm;0;ON;;;;;Y;;;;;
-22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
-22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
-22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;;
-22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;;
-22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;;
-22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;;
-22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;;
-22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;;
-22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;;
-22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;;
-22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;;
-22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;;
-22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;;
-22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;;
-22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;;
-22BB;XOR;Sm;0;ON;;;;;N;;;;;
-22BC;NAND;Sm;0;ON;;;;;N;;;;;
-22BD;NOR;Sm;0;ON;;;;;N;;;;;
-22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;;
-22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
-22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;;
-22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;;
-22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;;
-22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;;
-22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
-22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;;
-22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;;
-22C8;BOWTIE;Sm;0;ON;;;;;N;;;;;
-22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
-22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
-22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
-22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
-22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;;
-22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;;
-22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;;
-22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;;
-22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;;
-22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;;
-22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;;
-22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;;
-22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;;
-22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;;
-22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;;
-22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;;
-22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;;
-22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;;
-22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;;
-22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;;
-22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;;
-22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
-22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;;
-22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;;
-22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;;
-22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;;
-22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;;
-22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;;
-22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
-22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
-22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;;
-22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;;
-22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;;
-22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;;
-22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;;
-22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;;
-22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;;
-22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;;
-22F2;ELEMENT OF WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-22F3;ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-22F4;SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-22F5;ELEMENT OF WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-22F6;ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
-22F7;SMALL ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
-22F8;ELEMENT OF WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
-22F9;ELEMENT OF WITH TWO HORIZONTAL STROKES;Sm;0;ON;;;;;Y;;;;;
-22FA;CONTAINS WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-22FB;CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-22FC;SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-22FD;CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
-22FE;SMALL CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
-22FF;Z NOTATION BAG MEMBERSHIP;Sm;0;ON;;;;;Y;;;;;
-2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;;
-2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;;
-2302;HOUSE;So;0;ON;;;;;N;;;;;
-2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;;
-2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;;
-2305;PROJECTIVE;So;0;ON;;;;;N;;;;;
-2306;PERSPECTIVE;So;0;ON;;;;;N;;;;;
-2307;WAVY LINE;So;0;ON;;;;;N;;;;;
-2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;;
-2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;;
-230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;;
-230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;;
-230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;;
-230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;;
-230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;;
-230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;;
-2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;;
-2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;;
-2312;ARC;So;0;ON;;;;;N;;;;;
-2313;SEGMENT;So;0;ON;;;;;N;;;;;
-2314;SECTOR;So;0;ON;;;;;N;;;;;
-2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;;
-2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;;
-2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;;
-2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;;
-2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;;
-231A;WATCH;So;0;ON;;;;;N;;;;;
-231B;HOURGLASS;So;0;ON;;;;;N;;;;;
-231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;;
-231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;;
-231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;;
-231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;;
-2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2322;FROWN;So;0;ON;;;;;N;;;;;
-2323;SMILE;So;0;ON;;;;;N;;;;;
-2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;;
-2325;OPTION KEY;So;0;ON;;;;;N;;;;;
-2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;;
-2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;;
-2328;KEYBOARD;So;0;ON;;;;;N;;;;;
-2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;;
-232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;;
-232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;;
-232C;BENZENE RING;So;0;ON;;;;;N;;;;;
-232D;CYLINDRICITY;So;0;ON;;;;;N;;;;;
-232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;;
-232F;SYMMETRY;So;0;ON;;;;;N;;;;;
-2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;;
-2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;;
-2332;CONICAL TAPER;So;0;ON;;;;;N;;;;;
-2333;SLOPE;So;0;ON;;;;;N;;;;;
-2334;COUNTERBORE;So;0;ON;;;;;N;;;;;
-2335;COUNTERSINK;So;0;ON;;;;;N;;;;;
-2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;;
-2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;;
-2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;;
-2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;;
-233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;;
-233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;;
-233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;;
-233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;;
-233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;;
-233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;;
-2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;;
-2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;;
-2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;;
-2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;;
-2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;;
-2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;;
-2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;;
-2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;;
-2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;;
-2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;;
-234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;;;;
-234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;;
-234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;;
-234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;;
-234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;;;;
-234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;;
-2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;;
-2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;;;;
-2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;;
-2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;;
-2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;;
-2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;;;;
-2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;;
-2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;;
-2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;;
-2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;;
-235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;;
-235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;;
-235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;;
-235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;;
-235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;;
-235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;;
-2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;;
-2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;;;;
-2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;;
-2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;;
-2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;;
-2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;;
-2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;;
-2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;;
-2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;;
-2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;;
-236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;;
-236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;;
-236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;;
-236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;;
-236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;;
-236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;;
-2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;;
-2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;;
-2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;;
-2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;;
-2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;;
-2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;;
-2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;;
-2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;;
-2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;;
-2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;;
-237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;;
-237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;;
-237C;RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW;Sm;0;ON;;;;;N;;;;;
-237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;;
-237E;BELL SYMBOL;So;0;ON;;;;;N;;;;;
-237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;;
-2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;;
-2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;;
-2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;;
-2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;;
-2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;;
-2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;;
-2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;;
-2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;;
-2388;HELM SYMBOL;So;0;ON;;;;;N;;;;;
-2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;;;;
-238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;;;;
-238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;;;;
-238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;;
-238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;;
-238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;;
-238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;;
-2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;;
-2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;;
-2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;;
-2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;;
-2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;;
-2395;APL FUNCTIONAL SYMBOL QUAD;So;0;L;;;;;N;;;;;
-2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;;
-2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;;
-2398;NEXT PAGE;So;0;ON;;;;;N;;;;;
-2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;;
-239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;N;;;;;
-239B;LEFT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;;
-239C;LEFT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;;
-239D;LEFT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;;
-239E;RIGHT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;;
-239F;RIGHT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;;
-23A0;RIGHT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;;
-23A1;LEFT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;;
-23A2;LEFT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;;
-23A3;LEFT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;;
-23A4;RIGHT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;;
-23A5;RIGHT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;;
-23A6;RIGHT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;;
-23A7;LEFT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;;
-23A8;LEFT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;;
-23A9;LEFT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;;
-23AA;CURLY BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;;
-23AB;RIGHT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;;
-23AC;RIGHT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;;
-23AD;RIGHT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;;
-23AE;INTEGRAL EXTENSION;Sm;0;ON;;;;;N;;;;;
-23AF;HORIZONTAL LINE EXTENSION;Sm;0;ON;;;;;N;;;;;
-23B0;UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;;
-23B1;UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;;
-23B2;SUMMATION TOP;Sm;0;ON;;;;;N;;;;;
-23B3;SUMMATION BOTTOM;Sm;0;ON;;;;;N;;;;;
-23B4;TOP SQUARE BRACKET;So;0;ON;;;;;N;;;;;
-23B5;BOTTOM SQUARE BRACKET;So;0;ON;;;;;N;;;;;
-23B6;BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET;So;0;ON;;;;;N;;;;;
-23B7;RADICAL SYMBOL BOTTOM;So;0;ON;;;;;N;;;;;
-23B8;LEFT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;;
-23B9;RIGHT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;;
-23BA;HORIZONTAL SCAN LINE-1;So;0;ON;;;;;N;;;;;
-23BB;HORIZONTAL SCAN LINE-3;So;0;ON;;;;;N;;;;;
-23BC;HORIZONTAL SCAN LINE-7;So;0;ON;;;;;N;;;;;
-23BD;HORIZONTAL SCAN LINE-9;So;0;ON;;;;;N;;;;;
-23BE;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT;So;0;ON;;;;;N;;;;;
-23BF;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT;So;0;ON;;;;;N;;;;;
-23C0;DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE;So;0;ON;;;;;N;;;;;
-23C1;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;;
-23C2;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;;
-23C3;DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE;So;0;ON;;;;;N;;;;;
-23C4;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;;
-23C5;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;;
-23C6;DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE;So;0;ON;;;;;N;;;;;
-23C7;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;;
-23C8;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;;
-23C9;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;;;;;
-23CA;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;;;;;
-23CB;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT;So;0;ON;;;;;N;;;;;
-23CC;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT;So;0;ON;;;;;N;;;;;
-23CD;SQUARE FOOT;So;0;ON;;;;;N;;;;;
-23CE;RETURN SYMBOL;So;0;ON;;;;;N;;;;;
-23CF;EJECT SYMBOL;So;0;ON;;;;;N;;;;;
-23D0;VERTICAL LINE EXTENSION;So;0;ON;;;;;N;;;;;
-23D1;METRICAL BREVE;So;0;ON;;;;;N;;;;;
-23D2;METRICAL LONG OVER SHORT;So;0;ON;;;;;N;;;;;
-23D3;METRICAL SHORT OVER LONG;So;0;ON;;;;;N;;;;;
-23D4;METRICAL LONG OVER TWO SHORTS;So;0;ON;;;;;N;;;;;
-23D5;METRICAL TWO SHORTS OVER LONG;So;0;ON;;;;;N;;;;;
-23D6;METRICAL TWO SHORTS JOINED;So;0;ON;;;;;N;;;;;
-23D7;METRICAL TRISEME;So;0;ON;;;;;N;;;;;
-23D8;METRICAL TETRASEME;So;0;ON;;;;;N;;;;;
-23D9;METRICAL PENTASEME;So;0;ON;;;;;N;;;;;
-23DA;EARTH GROUND;So;0;ON;;;;;N;;;;;
-23DB;FUSE;So;0;ON;;;;;N;;;;;
-23DC;TOP PARENTHESIS;Sm;0;ON;;;;;N;;;;;
-23DD;BOTTOM PARENTHESIS;Sm;0;ON;;;;;N;;;;;
-23DE;TOP CURLY BRACKET;Sm;0;ON;;;;;N;;;;;
-23DF;BOTTOM CURLY BRACKET;Sm;0;ON;;;;;N;;;;;
-23E0;TOP TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;;;;
-23E1;BOTTOM TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;;;;
-23E2;WHITE TRAPEZIUM;So;0;ON;;;;;N;;;;;
-23E3;BENZENE RING WITH CIRCLE;So;0;ON;;;;;N;;;;;
-23E4;STRAIGHTNESS;So;0;ON;;;;;N;;;;;
-23E5;FLATNESS;So;0;ON;;;;;N;;;;;
-23E6;AC CURRENT;So;0;ON;;;;;N;;;;;
-23E7;ELECTRICAL INTERSECTION;So;0;ON;;;;;N;;;;;
-23E8;DECIMAL EXPONENT SYMBOL;So;0;ON;;;;;N;;;;;
-2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;;
-2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;;
-2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;;
-2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;;
-2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;;
-2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;;
-2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;;
-2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;;
-2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;;
-2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;;
-240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;;
-240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;;
-240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;;
-240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;;
-240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;;
-240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;;
-2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;;
-2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;;
-2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;;
-2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;;
-2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;;
-2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;;
-2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;;
-2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;;
-2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;;
-2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;;
-241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;;
-241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;;
-241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;;
-241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;;
-241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;;
-241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;;
-2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;;
-2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;;
-2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;;
-2423;OPEN BOX;So;0;ON;;;;;N;;;;;
-2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;;
-2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;;
-2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;;
-2440;OCR HOOK;So;0;ON;;;;;N;;;;;
-2441;OCR CHAIR;So;0;ON;;;;;N;;;;;
-2442;OCR FORK;So;0;ON;;;;;N;;;;;
-2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;;
-2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;;
-2445;OCR BOW TIE;So;0;ON;;;;;N;;;;;
-2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;;
-2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;;
-2448;OCR DASH;So;0;ON;;;;;N;;;;;
-2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;;
-244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;;
-2460;CIRCLED DIGIT ONE;No;0;ON;<circle> 0031;;1;1;N;;;;;
-2461;CIRCLED DIGIT TWO;No;0;ON;<circle> 0032;;2;2;N;;;;;
-2462;CIRCLED DIGIT THREE;No;0;ON;<circle> 0033;;3;3;N;;;;;
-2463;CIRCLED DIGIT FOUR;No;0;ON;<circle> 0034;;4;4;N;;;;;
-2464;CIRCLED DIGIT FIVE;No;0;ON;<circle> 0035;;5;5;N;;;;;
-2465;CIRCLED DIGIT SIX;No;0;ON;<circle> 0036;;6;6;N;;;;;
-2466;CIRCLED DIGIT SEVEN;No;0;ON;<circle> 0037;;7;7;N;;;;;
-2467;CIRCLED DIGIT EIGHT;No;0;ON;<circle> 0038;;8;8;N;;;;;
-2468;CIRCLED DIGIT NINE;No;0;ON;<circle> 0039;;9;9;N;;;;;
-2469;CIRCLED NUMBER TEN;No;0;ON;<circle> 0031 0030;;;10;N;;;;;
-246A;CIRCLED NUMBER ELEVEN;No;0;ON;<circle> 0031 0031;;;11;N;;;;;
-246B;CIRCLED NUMBER TWELVE;No;0;ON;<circle> 0031 0032;;;12;N;;;;;
-246C;CIRCLED NUMBER THIRTEEN;No;0;ON;<circle> 0031 0033;;;13;N;;;;;
-246D;CIRCLED NUMBER FOURTEEN;No;0;ON;<circle> 0031 0034;;;14;N;;;;;
-246E;CIRCLED NUMBER FIFTEEN;No;0;ON;<circle> 0031 0035;;;15;N;;;;;
-246F;CIRCLED NUMBER SIXTEEN;No;0;ON;<circle> 0031 0036;;;16;N;;;;;
-2470;CIRCLED NUMBER SEVENTEEN;No;0;ON;<circle> 0031 0037;;;17;N;;;;;
-2471;CIRCLED NUMBER EIGHTEEN;No;0;ON;<circle> 0031 0038;;;18;N;;;;;
-2472;CIRCLED NUMBER NINETEEN;No;0;ON;<circle> 0031 0039;;;19;N;;;;;
-2473;CIRCLED NUMBER TWENTY;No;0;ON;<circle> 0032 0030;;;20;N;;;;;
-2474;PARENTHESIZED DIGIT ONE;No;0;ON;<compat> 0028 0031 0029;;1;1;N;;;;;
-2475;PARENTHESIZED DIGIT TWO;No;0;ON;<compat> 0028 0032 0029;;2;2;N;;;;;
-2476;PARENTHESIZED DIGIT THREE;No;0;ON;<compat> 0028 0033 0029;;3;3;N;;;;;
-2477;PARENTHESIZED DIGIT FOUR;No;0;ON;<compat> 0028 0034 0029;;4;4;N;;;;;
-2478;PARENTHESIZED DIGIT FIVE;No;0;ON;<compat> 0028 0035 0029;;5;5;N;;;;;
-2479;PARENTHESIZED DIGIT SIX;No;0;ON;<compat> 0028 0036 0029;;6;6;N;;;;;
-247A;PARENTHESIZED DIGIT SEVEN;No;0;ON;<compat> 0028 0037 0029;;7;7;N;;;;;
-247B;PARENTHESIZED DIGIT EIGHT;No;0;ON;<compat> 0028 0038 0029;;8;8;N;;;;;
-247C;PARENTHESIZED DIGIT NINE;No;0;ON;<compat> 0028 0039 0029;;9;9;N;;;;;
-247D;PARENTHESIZED NUMBER TEN;No;0;ON;<compat> 0028 0031 0030 0029;;;10;N;;;;;
-247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON;<compat> 0028 0031 0031 0029;;;11;N;;;;;
-247F;PARENTHESIZED NUMBER TWELVE;No;0;ON;<compat> 0028 0031 0032 0029;;;12;N;;;;;
-2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON;<compat> 0028 0031 0033 0029;;;13;N;;;;;
-2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON;<compat> 0028 0031 0034 0029;;;14;N;;;;;
-2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON;<compat> 0028 0031 0035 0029;;;15;N;;;;;
-2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON;<compat> 0028 0031 0036 0029;;;16;N;;;;;
-2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON;<compat> 0028 0031 0037 0029;;;17;N;;;;;
-2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON;<compat> 0028 0031 0038 0029;;;18;N;;;;;
-2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON;<compat> 0028 0031 0039 0029;;;19;N;;;;;
-2487;PARENTHESIZED NUMBER TWENTY;No;0;ON;<compat> 0028 0032 0030 0029;;;20;N;;;;;
-2488;DIGIT ONE FULL STOP;No;0;EN;<compat> 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;;
-2489;DIGIT TWO FULL STOP;No;0;EN;<compat> 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;;
-248A;DIGIT THREE FULL STOP;No;0;EN;<compat> 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;;
-248B;DIGIT FOUR FULL STOP;No;0;EN;<compat> 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;;
-248C;DIGIT FIVE FULL STOP;No;0;EN;<compat> 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;;
-248D;DIGIT SIX FULL STOP;No;0;EN;<compat> 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;;
-248E;DIGIT SEVEN FULL STOP;No;0;EN;<compat> 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;;
-248F;DIGIT EIGHT FULL STOP;No;0;EN;<compat> 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;;
-2490;DIGIT NINE FULL STOP;No;0;EN;<compat> 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;;
-2491;NUMBER TEN FULL STOP;No;0;EN;<compat> 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;;
-2492;NUMBER ELEVEN FULL STOP;No;0;EN;<compat> 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;;
-2493;NUMBER TWELVE FULL STOP;No;0;EN;<compat> 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;;
-2494;NUMBER THIRTEEN FULL STOP;No;0;EN;<compat> 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;;
-2495;NUMBER FOURTEEN FULL STOP;No;0;EN;<compat> 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;;
-2496;NUMBER FIFTEEN FULL STOP;No;0;EN;<compat> 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;;
-2497;NUMBER SIXTEEN FULL STOP;No;0;EN;<compat> 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;;
-2498;NUMBER SEVENTEEN FULL STOP;No;0;EN;<compat> 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;;
-2499;NUMBER EIGHTEEN FULL STOP;No;0;EN;<compat> 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;;
-249A;NUMBER NINETEEN FULL STOP;No;0;EN;<compat> 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;;
-249B;NUMBER TWENTY FULL STOP;No;0;EN;<compat> 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;;
-249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L;<compat> 0028 0061 0029;;;;N;;;;;
-249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L;<compat> 0028 0062 0029;;;;N;;;;;
-249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L;<compat> 0028 0063 0029;;;;N;;;;;
-249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L;<compat> 0028 0064 0029;;;;N;;;;;
-24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L;<compat> 0028 0065 0029;;;;N;;;;;
-24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L;<compat> 0028 0066 0029;;;;N;;;;;
-24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L;<compat> 0028 0067 0029;;;;N;;;;;
-24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L;<compat> 0028 0068 0029;;;;N;;;;;
-24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L;<compat> 0028 0069 0029;;;;N;;;;;
-24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L;<compat> 0028 006A 0029;;;;N;;;;;
-24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L;<compat> 0028 006B 0029;;;;N;;;;;
-24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L;<compat> 0028 006C 0029;;;;N;;;;;
-24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L;<compat> 0028 006D 0029;;;;N;;;;;
-24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L;<compat> 0028 006E 0029;;;;N;;;;;
-24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L;<compat> 0028 006F 0029;;;;N;;;;;
-24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L;<compat> 0028 0070 0029;;;;N;;;;;
-24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L;<compat> 0028 0071 0029;;;;N;;;;;
-24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L;<compat> 0028 0072 0029;;;;N;;;;;
-24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L;<compat> 0028 0073 0029;;;;N;;;;;
-24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L;<compat> 0028 0074 0029;;;;N;;;;;
-24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L;<compat> 0028 0075 0029;;;;N;;;;;
-24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L;<compat> 0028 0076 0029;;;;N;;;;;
-24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L;<compat> 0028 0077 0029;;;;N;;;;;
-24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L;<compat> 0028 0078 0029;;;;N;;;;;
-24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L;<compat> 0028 0079 0029;;;;N;;;;;
-24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L;<compat> 0028 007A 0029;;;;N;;;;;
-24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L;<circle> 0041;;;;N;;;;24D0;
-24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L;<circle> 0042;;;;N;;;;24D1;
-24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L;<circle> 0043;;;;N;;;;24D2;
-24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L;<circle> 0044;;;;N;;;;24D3;
-24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L;<circle> 0045;;;;N;;;;24D4;
-24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L;<circle> 0046;;;;N;;;;24D5;
-24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L;<circle> 0047;;;;N;;;;24D6;
-24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L;<circle> 0048;;;;N;;;;24D7;
-24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L;<circle> 0049;;;;N;;;;24D8;
-24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L;<circle> 004A;;;;N;;;;24D9;
-24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L;<circle> 004B;;;;N;;;;24DA;
-24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L;<circle> 004C;;;;N;;;;24DB;
-24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L;<circle> 004D;;;;N;;;;24DC;
-24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L;<circle> 004E;;;;N;;;;24DD;
-24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L;<circle> 004F;;;;N;;;;24DE;
-24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L;<circle> 0050;;;;N;;;;24DF;
-24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L;<circle> 0051;;;;N;;;;24E0;
-24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L;<circle> 0052;;;;N;;;;24E1;
-24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L;<circle> 0053;;;;N;;;;24E2;
-24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L;<circle> 0054;;;;N;;;;24E3;
-24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L;<circle> 0055;;;;N;;;;24E4;
-24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L;<circle> 0056;;;;N;;;;24E5;
-24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L;<circle> 0057;;;;N;;;;24E6;
-24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L;<circle> 0058;;;;N;;;;24E7;
-24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L;<circle> 0059;;;;N;;;;24E8;
-24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L;<circle> 005A;;;;N;;;;24E9;
-24D0;CIRCLED LATIN SMALL LETTER A;So;0;L;<circle> 0061;;;;N;;;24B6;;24B6
-24D1;CIRCLED LATIN SMALL LETTER B;So;0;L;<circle> 0062;;;;N;;;24B7;;24B7
-24D2;CIRCLED LATIN SMALL LETTER C;So;0;L;<circle> 0063;;;;N;;;24B8;;24B8
-24D3;CIRCLED LATIN SMALL LETTER D;So;0;L;<circle> 0064;;;;N;;;24B9;;24B9
-24D4;CIRCLED LATIN SMALL LETTER E;So;0;L;<circle> 0065;;;;N;;;24BA;;24BA
-24D5;CIRCLED LATIN SMALL LETTER F;So;0;L;<circle> 0066;;;;N;;;24BB;;24BB
-24D6;CIRCLED LATIN SMALL LETTER G;So;0;L;<circle> 0067;;;;N;;;24BC;;24BC
-24D7;CIRCLED LATIN SMALL LETTER H;So;0;L;<circle> 0068;;;;N;;;24BD;;24BD
-24D8;CIRCLED LATIN SMALL LETTER I;So;0;L;<circle> 0069;;;;N;;;24BE;;24BE
-24D9;CIRCLED LATIN SMALL LETTER J;So;0;L;<circle> 006A;;;;N;;;24BF;;24BF
-24DA;CIRCLED LATIN SMALL LETTER K;So;0;L;<circle> 006B;;;;N;;;24C0;;24C0
-24DB;CIRCLED LATIN SMALL LETTER L;So;0;L;<circle> 006C;;;;N;;;24C1;;24C1
-24DC;CIRCLED LATIN SMALL LETTER M;So;0;L;<circle> 006D;;;;N;;;24C2;;24C2
-24DD;CIRCLED LATIN SMALL LETTER N;So;0;L;<circle> 006E;;;;N;;;24C3;;24C3
-24DE;CIRCLED LATIN SMALL LETTER O;So;0;L;<circle> 006F;;;;N;;;24C4;;24C4
-24DF;CIRCLED LATIN SMALL LETTER P;So;0;L;<circle> 0070;;;;N;;;24C5;;24C5
-24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L;<circle> 0071;;;;N;;;24C6;;24C6
-24E1;CIRCLED LATIN SMALL LETTER R;So;0;L;<circle> 0072;;;;N;;;24C7;;24C7
-24E2;CIRCLED LATIN SMALL LETTER S;So;0;L;<circle> 0073;;;;N;;;24C8;;24C8
-24E3;CIRCLED LATIN SMALL LETTER T;So;0;L;<circle> 0074;;;;N;;;24C9;;24C9
-24E4;CIRCLED LATIN SMALL LETTER U;So;0;L;<circle> 0075;;;;N;;;24CA;;24CA
-24E5;CIRCLED LATIN SMALL LETTER V;So;0;L;<circle> 0076;;;;N;;;24CB;;24CB
-24E6;CIRCLED LATIN SMALL LETTER W;So;0;L;<circle> 0077;;;;N;;;24CC;;24CC
-24E7;CIRCLED LATIN SMALL LETTER X;So;0;L;<circle> 0078;;;;N;;;24CD;;24CD
-24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L;<circle> 0079;;;;N;;;24CE;;24CE
-24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L;<circle> 007A;;;;N;;;24CF;;24CF
-24EA;CIRCLED DIGIT ZERO;No;0;ON;<circle> 0030;;0;0;N;;;;;
-24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;;
-24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;;
-24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;;
-24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;;
-24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;;
-24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;;
-24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;;
-24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;;
-24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;;
-24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;;
-24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;;
-24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;;
-24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;;
-24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;;
-24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;;
-24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;;
-24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;;
-24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;;
-24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;;
-24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;;
-24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;;
-2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;;
-2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;;
-2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;;
-2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;;
-2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;;
-2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;;
-2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;;
-2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;;
-2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;;
-2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;;
-250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;;
-250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;;
-250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;;
-250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;;
-250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;;
-250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;;
-2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;;
-2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;;
-2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;;
-2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;;
-2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;;
-2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;;
-2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;;
-2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;;
-2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;;
-2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;;
-251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;;
-251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;;
-251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;;
-251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;;
-251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;;
-251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;;
-2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;;
-2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;;
-2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;;
-2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;;
-2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;;
-2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;;
-2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;;
-2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;;
-2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;;
-2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;;
-252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;;
-252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;;
-252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;;
-252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;;
-252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;;
-252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;;
-2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;;
-2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;;
-2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;;
-2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;;
-2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;;
-2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;;
-2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;;
-2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;;
-2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;;
-2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;;
-253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;;
-253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;;
-253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;;
-253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;;
-253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;;
-253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;;
-2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;;
-2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;;
-2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;;
-2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;;
-2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;;
-2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;;
-2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;;
-2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;;
-2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;;
-2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;;
-254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;;
-254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;;
-254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;;
-254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;;
-254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;;
-254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;;
-2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;;
-2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;;
-2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;;
-2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;;
-2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;;
-2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;;
-2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;;
-2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;;
-2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;;
-2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;;
-255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;;
-255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;;
-255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;;
-255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;;
-255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;;
-255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;;
-2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;;
-2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;;
-2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;;
-2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;;
-2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;;
-2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;;
-2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;;
-2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;;
-2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;;
-2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;;
-256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;;
-256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;;
-256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;;
-256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;;
-256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;;
-256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;;
-2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;;
-2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;;
-2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;;
-2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;;
-2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;;
-2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;;
-2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;;
-2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;;
-2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;;
-2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;;
-257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;;
-257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;;
-257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;;
-257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;;
-257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;;
-257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;;
-2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;;
-2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
-2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
-2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
-2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;;
-2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
-2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;;
-2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
-2588;FULL BLOCK;So;0;ON;;;;;N;;;;;
-2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
-258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;;
-258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
-258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;;
-258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
-258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
-258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
-2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;;
-2591;LIGHT SHADE;So;0;ON;;;;;N;;;;;
-2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;;
-2593;DARK SHADE;So;0;ON;;;;;N;;;;;
-2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
-2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
-2596;QUADRANT LOWER LEFT;So;0;ON;;;;;N;;;;;
-2597;QUADRANT LOWER RIGHT;So;0;ON;;;;;N;;;;;
-2598;QUADRANT UPPER LEFT;So;0;ON;;;;;N;;;;;
-2599;QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
-259A;QUADRANT UPPER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
-259B;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;;
-259C;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
-259D;QUADRANT UPPER RIGHT;So;0;ON;;;;;N;;;;;
-259E;QUADRANT UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;;
-259F;QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;;
-25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;;
-25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;;
-25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;;
-25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
-25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;;
-25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;;
-25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
-25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;;
-25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;;
-25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
-25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
-25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;;
-25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;;
-25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;;
-25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;;
-25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;;
-25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;;
-25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;;
-25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;;
-25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;;
-25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;;
-25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;;
-25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;;
-25B7;WHITE RIGHT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;;
-25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;;
-25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;;
-25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;;
-25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;;
-25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;;
-25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;;
-25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;;
-25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;;
-25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;;
-25C1;WHITE LEFT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;;
-25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;;
-25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;;
-25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;;
-25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;;
-25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;;
-25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;;
-25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;;
-25C9;FISHEYE;So;0;ON;;;;;N;;;;;
-25CA;LOZENGE;So;0;ON;;;;;N;;;;;
-25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;;
-25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;;
-25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;;
-25CE;BULLSEYE;So;0;ON;;;;;N;;;;;
-25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;;
-25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
-25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
-25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;;
-25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;;
-25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;;
-25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;;
-25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
-25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
-25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;;
-25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
-25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
-25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
-25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
-25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
-25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
-25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
-25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;;
-25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;;
-25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
-25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;;
-25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;;
-25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
-25E6;WHITE BULLET;So;0;ON;;;;;N;;;;;
-25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
-25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
-25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
-25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
-25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;;
-25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;;
-25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;;
-25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;;
-25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;;
-25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
-25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
-25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
-25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
-25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
-25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
-25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
-25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
-25F8;UPPER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;;
-25F9;UPPER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;;
-25FA;LOWER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;;
-25FB;WHITE MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;;
-25FC;BLACK MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;;
-25FD;WHITE MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;;
-25FE;BLACK MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;;
-25FF;LOWER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;;
-2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;;
-2601;CLOUD;So;0;ON;;;;;N;;;;;
-2602;UMBRELLA;So;0;ON;;;;;N;;;;;
-2603;SNOWMAN;So;0;ON;;;;;N;;;;;
-2604;COMET;So;0;ON;;;;;N;;;;;
-2605;BLACK STAR;So;0;ON;;;;;N;;;;;
-2606;WHITE STAR;So;0;ON;;;;;N;;;;;
-2607;LIGHTNING;So;0;ON;;;;;N;;;;;
-2608;THUNDERSTORM;So;0;ON;;;;;N;;;;;
-2609;SUN;So;0;ON;;;;;N;;;;;
-260A;ASCENDING NODE;So;0;ON;;;;;N;;;;;
-260B;DESCENDING NODE;So;0;ON;;;;;N;;;;;
-260C;CONJUNCTION;So;0;ON;;;;;N;;;;;
-260D;OPPOSITION;So;0;ON;;;;;N;;;;;
-260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;;
-260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;;
-2610;BALLOT BOX;So;0;ON;;;;;N;;;;;
-2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;;
-2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;;
-2613;SALTIRE;So;0;ON;;;;;N;;;;;
-2614;UMBRELLA WITH RAIN DROPS;So;0;ON;;;;;N;;;;;
-2615;HOT BEVERAGE;So;0;ON;;;;;N;;;;;
-2616;WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;;
-2617;BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;;
-2618;SHAMROCK;So;0;ON;;;;;N;;;;;
-2619;REVERSED ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;;
-261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
-261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
-261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
-261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;;
-261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
-261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;;
-2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;;
-2621;CAUTION SIGN;So;0;ON;;;;;N;;;;;
-2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;;
-2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;;
-2624;CADUCEUS;So;0;ON;;;;;N;;;;;
-2625;ANKH;So;0;ON;;;;;N;;;;;
-2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;;
-2627;CHI RHO;So;0;ON;;;;;N;;;;;
-2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;;
-2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;;
-262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;;
-262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;;
-262C;ADI SHAKTI;So;0;ON;;;;;N;;;;;
-262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;;
-262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;;
-262F;YIN YANG;So;0;ON;;;;;N;;;;;
-2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;;
-2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;;
-2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;;
-2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;;
-2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;;
-2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;;
-2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;;
-2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
-2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;;
-2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;;
-263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;;
-263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;;
-263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;;
-263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;;
-263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;;
-263F;MERCURY;So;0;ON;;;;;N;;;;;
-2640;FEMALE SIGN;So;0;ON;;;;;N;;;;;
-2641;EARTH;So;0;ON;;;;;N;;;;;
-2642;MALE SIGN;So;0;ON;;;;;N;;;;;
-2643;JUPITER;So;0;ON;;;;;N;;;;;
-2644;SATURN;So;0;ON;;;;;N;;;;;
-2645;URANUS;So;0;ON;;;;;N;;;;;
-2646;NEPTUNE;So;0;ON;;;;;N;;;;;
-2647;PLUTO;So;0;ON;;;;;N;;;;;
-2648;ARIES;So;0;ON;;;;;N;;;;;
-2649;TAURUS;So;0;ON;;;;;N;;;;;
-264A;GEMINI;So;0;ON;;;;;N;;;;;
-264B;CANCER;So;0;ON;;;;;N;;;;;
-264C;LEO;So;0;ON;;;;;N;;;;;
-264D;VIRGO;So;0;ON;;;;;N;;;;;
-264E;LIBRA;So;0;ON;;;;;N;;;;;
-264F;SCORPIUS;So;0;ON;;;;;N;;;;;
-2650;SAGITTARIUS;So;0;ON;;;;;N;;;;;
-2651;CAPRICORN;So;0;ON;;;;;N;;;;;
-2652;AQUARIUS;So;0;ON;;;;;N;;;;;
-2653;PISCES;So;0;ON;;;;;N;;;;;
-2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;;
-2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;;
-2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;;
-2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;;
-2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;;
-2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;;
-265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;;
-265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;;
-265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;;
-265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;;
-265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;;
-265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;;
-2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;;
-2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;;
-2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;;
-2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;;
-2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;;
-2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;;
-2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;;
-2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;;
-2668;HOT SPRINGS;So;0;ON;;;;;N;;;;;
-2669;QUARTER NOTE;So;0;ON;;;;;N;;;;;
-266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;;
-266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;;
-266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;;
-266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;;
-266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;;
-266F;MUSIC SHARP SIGN;Sm;0;ON;;;;;N;SHARP;;;;
-2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
-2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
-2672;UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;;
-2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;;;;
-2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;;;;
-2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;;;;
-2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;;;;
-2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;;;;
-2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;;;;
-2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;;;;
-267A;RECYCLING SYMBOL FOR GENERIC MATERIALS;So;0;ON;;;;;N;;;;;
-267B;BLACK UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;;
-267C;RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;;
-267D;PARTIALLY-RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;;
-267E;PERMANENT PAPER SIGN;So;0;ON;;;;;N;;;;;
-267F;WHEELCHAIR SYMBOL;So;0;ON;;;;;N;;;;;
-2680;DIE FACE-1;So;0;ON;;;;;N;;;;;
-2681;DIE FACE-2;So;0;ON;;;;;N;;;;;
-2682;DIE FACE-3;So;0;ON;;;;;N;;;;;
-2683;DIE FACE-4;So;0;ON;;;;;N;;;;;
-2684;DIE FACE-5;So;0;ON;;;;;N;;;;;
-2685;DIE FACE-6;So;0;ON;;;;;N;;;;;
-2686;WHITE CIRCLE WITH DOT RIGHT;So;0;ON;;;;;N;;;;;
-2687;WHITE CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;;
-2688;BLACK CIRCLE WITH WHITE DOT RIGHT;So;0;ON;;;;;N;;;;;
-2689;BLACK CIRCLE WITH TWO WHITE DOTS;So;0;ON;;;;;N;;;;;
-268A;MONOGRAM FOR YANG;So;0;ON;;;;;N;;;;;
-268B;MONOGRAM FOR YIN;So;0;ON;;;;;N;;;;;
-268C;DIGRAM FOR GREATER YANG;So;0;ON;;;;;N;;;;;
-268D;DIGRAM FOR LESSER YIN;So;0;ON;;;;;N;;;;;
-268E;DIGRAM FOR LESSER YANG;So;0;ON;;;;;N;;;;;
-268F;DIGRAM FOR GREATER YIN;So;0;ON;;;;;N;;;;;
-2690;WHITE FLAG;So;0;ON;;;;;N;;;;;
-2691;BLACK FLAG;So;0;ON;;;;;N;;;;;
-2692;HAMMER AND PICK;So;0;ON;;;;;N;;;;;
-2693;ANCHOR;So;0;ON;;;;;N;;;;;
-2694;CROSSED SWORDS;So;0;ON;;;;;N;;;;;
-2695;STAFF OF AESCULAPIUS;So;0;ON;;;;;N;;;;;
-2696;SCALES;So;0;ON;;;;;N;;;;;
-2697;ALEMBIC;So;0;ON;;;;;N;;;;;
-2698;FLOWER;So;0;ON;;;;;N;;;;;
-2699;GEAR;So;0;ON;;;;;N;;;;;
-269A;STAFF OF HERMES;So;0;ON;;;;;N;;;;;
-269B;ATOM SYMBOL;So;0;ON;;;;;N;;;;;
-269C;FLEUR-DE-LIS;So;0;ON;;;;;N;;;;;
-269D;OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;;
-269E;THREE LINES CONVERGING RIGHT;So;0;ON;;;;;N;;;;;
-269F;THREE LINES CONVERGING LEFT;So;0;ON;;;;;N;;;;;
-26A0;WARNING SIGN;So;0;ON;;;;;N;;;;;
-26A1;HIGH VOLTAGE SIGN;So;0;ON;;;;;N;;;;;
-26A2;DOUBLED FEMALE SIGN;So;0;ON;;;;;N;;;;;
-26A3;DOUBLED MALE SIGN;So;0;ON;;;;;N;;;;;
-26A4;INTERLOCKED FEMALE AND MALE SIGN;So;0;ON;;;;;N;;;;;
-26A5;MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;;
-26A6;MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;;
-26A7;MALE WITH STROKE AND MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;;
-26A8;VERTICAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;;
-26A9;HORIZONTAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;;
-26AA;MEDIUM WHITE CIRCLE;So;0;ON;;;;;N;;;;;
-26AB;MEDIUM BLACK CIRCLE;So;0;ON;;;;;N;;;;;
-26AC;MEDIUM SMALL WHITE CIRCLE;So;0;L;;;;;N;;;;;
-26AD;MARRIAGE SYMBOL;So;0;ON;;;;;N;;;;;
-26AE;DIVORCE SYMBOL;So;0;ON;;;;;N;;;;;
-26AF;UNMARRIED PARTNERSHIP SYMBOL;So;0;ON;;;;;N;;;;;
-26B0;COFFIN;So;0;ON;;;;;N;;;;;
-26B1;FUNERAL URN;So;0;ON;;;;;N;;;;;
-26B2;NEUTER;So;0;ON;;;;;N;;;;;
-26B3;CERES;So;0;ON;;;;;N;;;;;
-26B4;PALLAS;So;0;ON;;;;;N;;;;;
-26B5;JUNO;So;0;ON;;;;;N;;;;;
-26B6;VESTA;So;0;ON;;;;;N;;;;;
-26B7;CHIRON;So;0;ON;;;;;N;;;;;
-26B8;BLACK MOON LILITH;So;0;ON;;;;;N;;;;;
-26B9;SEXTILE;So;0;ON;;;;;N;;;;;
-26BA;SEMISEXTILE;So;0;ON;;;;;N;;;;;
-26BB;QUINCUNX;So;0;ON;;;;;N;;;;;
-26BC;SESQUIQUADRATE;So;0;ON;;;;;N;;;;;
-26BD;SOCCER BALL;So;0;ON;;;;;N;;;;;
-26BE;BASEBALL;So;0;ON;;;;;N;;;;;
-26BF;SQUARED KEY;So;0;ON;;;;;N;;;;;
-26C0;WHITE DRAUGHTS MAN;So;0;ON;;;;;N;;;;;
-26C1;WHITE DRAUGHTS KING;So;0;ON;;;;;N;;;;;
-26C2;BLACK DRAUGHTS MAN;So;0;ON;;;;;N;;;;;
-26C3;BLACK DRAUGHTS KING;So;0;ON;;;;;N;;;;;
-26C4;SNOWMAN WITHOUT SNOW;So;0;ON;;;;;N;;;;;
-26C5;SUN BEHIND CLOUD;So;0;ON;;;;;N;;;;;
-26C6;RAIN;So;0;ON;;;;;N;;;;;
-26C7;BLACK SNOWMAN;So;0;ON;;;;;N;;;;;
-26C8;THUNDER CLOUD AND RAIN;So;0;ON;;;;;N;;;;;
-26C9;TURNED WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;;
-26CA;TURNED BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;;
-26CB;WHITE DIAMOND IN SQUARE;So;0;ON;;;;;N;;;;;
-26CC;CROSSING LANES;So;0;ON;;;;;N;;;;;
-26CD;DISABLED CAR;So;0;ON;;;;;N;;;;;
-26CF;PICK;So;0;ON;;;;;N;;;;;
-26D0;CAR SLIDING;So;0;ON;;;;;N;;;;;
-26D1;HELMET WITH WHITE CROSS;So;0;ON;;;;;N;;;;;
-26D2;CIRCLED CROSSING LANES;So;0;ON;;;;;N;;;;;
-26D3;CHAINS;So;0;ON;;;;;N;;;;;
-26D4;NO ENTRY;So;0;ON;;;;;N;;;;;
-26D5;ALTERNATE ONE-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;;
-26D6;BLACK TWO-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;;
-26D7;WHITE TWO-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;;
-26D8;BLACK LEFT LANE MERGE;So;0;ON;;;;;N;;;;;
-26D9;WHITE LEFT LANE MERGE;So;0;ON;;;;;N;;;;;
-26DA;DRIVE SLOW SIGN;So;0;ON;;;;;N;;;;;
-26DB;HEAVY WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;;
-26DC;LEFT CLOSED ENTRY;So;0;ON;;;;;N;;;;;
-26DD;SQUARED SALTIRE;So;0;ON;;;;;N;;;;;
-26DE;FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE;So;0;ON;;;;;N;;;;;
-26DF;BLACK TRUCK;So;0;ON;;;;;N;;;;;
-26E0;RESTRICTED LEFT ENTRY-1;So;0;ON;;;;;N;;;;;
-26E1;RESTRICTED LEFT ENTRY-2;So;0;ON;;;;;N;;;;;
-26E3;HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE;So;0;ON;;;;;N;;;;;
-26E8;BLACK CROSS ON SHIELD;So;0;ON;;;;;N;;;;;
-26E9;SHINTO SHRINE;So;0;ON;;;;;N;;;;;
-26EA;CHURCH;So;0;ON;;;;;N;;;;;
-26EB;CASTLE;So;0;ON;;;;;N;;;;;
-26EC;HISTORIC SITE;So;0;ON;;;;;N;;;;;
-26ED;GEAR WITHOUT HUB;So;0;ON;;;;;N;;;;;
-26EE;GEAR WITH HANDLES;So;0;ON;;;;;N;;;;;
-26EF;MAP SYMBOL FOR LIGHTHOUSE;So;0;ON;;;;;N;;;;;
-26F0;MOUNTAIN;So;0;ON;;;;;N;;;;;
-26F1;UMBRELLA ON GROUND;So;0;ON;;;;;N;;;;;
-26F2;FOUNTAIN;So;0;ON;;;;;N;;;;;
-26F3;FLAG IN HOLE;So;0;ON;;;;;N;;;;;
-26F4;FERRY;So;0;ON;;;;;N;;;;;
-26F5;SAILBOAT;So;0;ON;;;;;N;;;;;
-26F6;SQUARE FOUR CORNERS;So;0;ON;;;;;N;;;;;
-26F7;SKIER;So;0;ON;;;;;N;;;;;
-26F8;ICE SKATE;So;0;ON;;;;;N;;;;;
-26F9;PERSON WITH BALL;So;0;ON;;;;;N;;;;;
-26FA;TENT;So;0;ON;;;;;N;;;;;
-26FB;JAPANESE BANK SYMBOL;So;0;ON;;;;;N;;;;;
-26FC;HEADSTONE GRAVEYARD SYMBOL;So;0;ON;;;;;N;;;;;
-26FD;FUEL PUMP;So;0;ON;;;;;N;;;;;
-26FE;CUP ON BLACK SQUARE;So;0;ON;;;;;N;;;;;
-26FF;WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE;So;0;ON;;;;;N;;;;;
-2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
-2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
-2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
-2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;;
-2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;;
-2707;TAPE DRIVE;So;0;ON;;;;;N;;;;;
-2708;AIRPLANE;So;0;ON;;;;;N;;;;;
-2709;ENVELOPE;So;0;ON;;;;;N;;;;;
-270C;VICTORY HAND;So;0;ON;;;;;N;;;;;
-270D;WRITING HAND;So;0;ON;;;;;N;;;;;
-270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
-270F;PENCIL;So;0;ON;;;;;N;;;;;
-2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
-2711;WHITE NIB;So;0;ON;;;;;N;;;;;
-2712;BLACK NIB;So;0;ON;;;;;N;;;;;
-2713;CHECK MARK;So;0;ON;;;;;N;;;;;
-2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
-2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;;
-2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;;
-2717;BALLOT X;So;0;ON;;;;;N;;;;;
-2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;;
-2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;;
-271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;;
-271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;;
-271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;;
-271D;LATIN CROSS;So;0;ON;;;;;N;;;;;
-271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;;
-271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;;
-2720;MALTESE CROSS;So;0;ON;;;;;N;;;;;
-2721;STAR OF DAVID;So;0;ON;;;;;N;;;;;
-2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
-2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
-2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;;
-272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;;
-272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;;
-272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;;
-272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;;
-272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;;
-272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;;
-2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;;
-2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;;
-2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;;
-2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
-2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
-2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
-2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;;
-2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;;
-2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
-273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;;
-273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;;
-273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;;
-273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;;
-2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;;
-2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;;
-2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;;
-2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;;
-2744;SNOWFLAKE;So;0;ON;;;;;N;;;;;
-2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;;
-2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;;
-2747;SPARKLE;So;0;ON;;;;;N;;;;;
-2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;;
-2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
-274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
-274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
-274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
-274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
-2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
-2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
-2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
-2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;;
-2757;HEAVY EXCLAMATION MARK SYMBOL;So;0;ON;;;;;N;;;;;
-2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;;
-2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;;
-275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;;
-275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;;
-2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;;
-2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;;
-2766;FLORAL HEART;So;0;ON;;;;;N;;;;;
-2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;;
-2768;MEDIUM LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-2769;MEDIUM RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-276A;MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-276B;MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-276C;MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-276D;MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-276E;HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-276F;HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-2770;HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-2771;HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-2772;LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-2773;LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-2774;MEDIUM LEFT CURLY BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;;
-2775;MEDIUM RIGHT CURLY BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;;
-2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;;
-2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;;
-2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;;
-2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;;
-277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;;
-277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;;
-277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;;
-277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;;
-277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;;
-277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;;
-2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;;
-2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;;
-2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;;
-2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;;
-2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;;
-2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;;
-2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;;
-2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;;
-2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;;
-2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;;
-278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;;
-278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;;
-278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;;
-278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;;
-278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;;
-278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;;
-2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;;
-2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;;
-2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;;
-2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;;
-2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;;
-2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;;
-2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;;
-279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;;
-279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;;
-279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;;
-279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;;
-279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;;
-279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;;
-27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;;
-27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;;
-27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;;
-27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;;
-27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;;
-27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;;
-27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;;
-27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;;
-27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;;
-27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;;
-27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;;
-27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;;
-27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;;
-27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
-27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
-27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
-27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
-27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;;
-27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;;
-27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;;
-27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;;
-27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;;
-27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;;
-27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;;
-27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;;
-27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;;
-27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;;
-27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;;
-27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;;
-27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;;
-27C0;THREE DIMENSIONAL ANGLE;Sm;0;ON;;;;;Y;;;;;
-27C1;WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE;Sm;0;ON;;;;;N;;;;;
-27C2;PERPENDICULAR;Sm;0;ON;;;;;N;;;;;
-27C3;OPEN SUBSET;Sm;0;ON;;;;;Y;;;;;
-27C4;OPEN SUPERSET;Sm;0;ON;;;;;Y;;;;;
-27C5;LEFT S-SHAPED BAG DELIMITER;Ps;0;ON;;;;;Y;;;;;
-27C6;RIGHT S-SHAPED BAG DELIMITER;Pe;0;ON;;;;;Y;;;;;
-27C7;OR WITH DOT INSIDE;Sm;0;ON;;;;;N;;;;;
-27C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;;
-27C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;;
-27CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
-27CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;;
-27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;;
-27D1;AND WITH DOT;Sm;0;ON;;;;;N;;;;;
-27D2;ELEMENT OF OPENING UPWARDS;Sm;0;ON;;;;;N;;;;;
-27D3;LOWER RIGHT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;;
-27D4;UPPER LEFT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;;
-27D5;LEFT OUTER JOIN;Sm;0;ON;;;;;Y;;;;;
-27D6;RIGHT OUTER JOIN;Sm;0;ON;;;;;Y;;;;;
-27D7;FULL OUTER JOIN;Sm;0;ON;;;;;N;;;;;
-27D8;LARGE UP TACK;Sm;0;ON;;;;;N;;;;;
-27D9;LARGE DOWN TACK;Sm;0;ON;;;;;N;;;;;
-27DA;LEFT AND RIGHT DOUBLE TURNSTILE;Sm;0;ON;;;;;N;;;;;
-27DB;LEFT AND RIGHT TACK;Sm;0;ON;;;;;N;;;;;
-27DC;LEFT MULTIMAP;Sm;0;ON;;;;;Y;;;;;
-27DD;LONG RIGHT TACK;Sm;0;ON;;;;;Y;;;;;
-27DE;LONG LEFT TACK;Sm;0;ON;;;;;Y;;;;;
-27DF;UP TACK WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
-27E0;LOZENGE DIVIDED BY HORIZONTAL RULE;Sm;0;ON;;;;;N;;;;;
-27E1;WHITE CONCAVE-SIDED DIAMOND;Sm;0;ON;;;;;N;;;;;
-27E2;WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
-27E3;WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
-27E4;WHITE SQUARE WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
-27E5;WHITE SQUARE WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;;
-27E6;MATHEMATICAL LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;;;;;
-27E7;MATHEMATICAL RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;;;;;
-27E8;MATHEMATICAL LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;;
-27E9;MATHEMATICAL RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;;
-27EA;MATHEMATICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;;
-27EB;MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;;
-27EC;MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;;
-27ED;MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;;
-27EE;MATHEMATICAL LEFT FLATTENED PARENTHESIS;Ps;0;ON;;;;;Y;;;;;
-27EF;MATHEMATICAL RIGHT FLATTENED PARENTHESIS;Pe;0;ON;;;;;Y;;;;;
-27F0;UPWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;;
-27F1;DOWNWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;;
-27F2;ANTICLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
-27F3;CLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
-27F4;RIGHT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;;
-27F5;LONG LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-27F6;LONG RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-27F7;LONG LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;;
-27F8;LONG LEFTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
-27F9;LONG RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
-27FA;LONG LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
-27FB;LONG LEFTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-27FC;LONG RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-27FD;LONG LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-27FE;LONG RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-27FF;LONG RIGHTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;;
-2800;BRAILLE PATTERN BLANK;So;0;L;;;;;N;;;;;
-2801;BRAILLE PATTERN DOTS-1;So;0;L;;;;;N;;;;;
-2802;BRAILLE PATTERN DOTS-2;So;0;L;;;;;N;;;;;
-2803;BRAILLE PATTERN DOTS-12;So;0;L;;;;;N;;;;;
-2804;BRAILLE PATTERN DOTS-3;So;0;L;;;;;N;;;;;
-2805;BRAILLE PATTERN DOTS-13;So;0;L;;;;;N;;;;;
-2806;BRAILLE PATTERN DOTS-23;So;0;L;;;;;N;;;;;
-2807;BRAILLE PATTERN DOTS-123;So;0;L;;;;;N;;;;;
-2808;BRAILLE PATTERN DOTS-4;So;0;L;;;;;N;;;;;
-2809;BRAILLE PATTERN DOTS-14;So;0;L;;;;;N;;;;;
-280A;BRAILLE PATTERN DOTS-24;So;0;L;;;;;N;;;;;
-280B;BRAILLE PATTERN DOTS-124;So;0;L;;;;;N;;;;;
-280C;BRAILLE PATTERN DOTS-34;So;0;L;;;;;N;;;;;
-280D;BRAILLE PATTERN DOTS-134;So;0;L;;;;;N;;;;;
-280E;BRAILLE PATTERN DOTS-234;So;0;L;;;;;N;;;;;
-280F;BRAILLE PATTERN DOTS-1234;So;0;L;;;;;N;;;;;
-2810;BRAILLE PATTERN DOTS-5;So;0;L;;;;;N;;;;;
-2811;BRAILLE PATTERN DOTS-15;So;0;L;;;;;N;;;;;
-2812;BRAILLE PATTERN DOTS-25;So;0;L;;;;;N;;;;;
-2813;BRAILLE PATTERN DOTS-125;So;0;L;;;;;N;;;;;
-2814;BRAILLE PATTERN DOTS-35;So;0;L;;;;;N;;;;;
-2815;BRAILLE PATTERN DOTS-135;So;0;L;;;;;N;;;;;
-2816;BRAILLE PATTERN DOTS-235;So;0;L;;;;;N;;;;;
-2817;BRAILLE PATTERN DOTS-1235;So;0;L;;;;;N;;;;;
-2818;BRAILLE PATTERN DOTS-45;So;0;L;;;;;N;;;;;
-2819;BRAILLE PATTERN DOTS-145;So;0;L;;;;;N;;;;;
-281A;BRAILLE PATTERN DOTS-245;So;0;L;;;;;N;;;;;
-281B;BRAILLE PATTERN DOTS-1245;So;0;L;;;;;N;;;;;
-281C;BRAILLE PATTERN DOTS-345;So;0;L;;;;;N;;;;;
-281D;BRAILLE PATTERN DOTS-1345;So;0;L;;;;;N;;;;;
-281E;BRAILLE PATTERN DOTS-2345;So;0;L;;;;;N;;;;;
-281F;BRAILLE PATTERN DOTS-12345;So;0;L;;;;;N;;;;;
-2820;BRAILLE PATTERN DOTS-6;So;0;L;;;;;N;;;;;
-2821;BRAILLE PATTERN DOTS-16;So;0;L;;;;;N;;;;;
-2822;BRAILLE PATTERN DOTS-26;So;0;L;;;;;N;;;;;
-2823;BRAILLE PATTERN DOTS-126;So;0;L;;;;;N;;;;;
-2824;BRAILLE PATTERN DOTS-36;So;0;L;;;;;N;;;;;
-2825;BRAILLE PATTERN DOTS-136;So;0;L;;;;;N;;;;;
-2826;BRAILLE PATTERN DOTS-236;So;0;L;;;;;N;;;;;
-2827;BRAILLE PATTERN DOTS-1236;So;0;L;;;;;N;;;;;
-2828;BRAILLE PATTERN DOTS-46;So;0;L;;;;;N;;;;;
-2829;BRAILLE PATTERN DOTS-146;So;0;L;;;;;N;;;;;
-282A;BRAILLE PATTERN DOTS-246;So;0;L;;;;;N;;;;;
-282B;BRAILLE PATTERN DOTS-1246;So;0;L;;;;;N;;;;;
-282C;BRAILLE PATTERN DOTS-346;So;0;L;;;;;N;;;;;
-282D;BRAILLE PATTERN DOTS-1346;So;0;L;;;;;N;;;;;
-282E;BRAILLE PATTERN DOTS-2346;So;0;L;;;;;N;;;;;
-282F;BRAILLE PATTERN DOTS-12346;So;0;L;;;;;N;;;;;
-2830;BRAILLE PATTERN DOTS-56;So;0;L;;;;;N;;;;;
-2831;BRAILLE PATTERN DOTS-156;So;0;L;;;;;N;;;;;
-2832;BRAILLE PATTERN DOTS-256;So;0;L;;;;;N;;;;;
-2833;BRAILLE PATTERN DOTS-1256;So;0;L;;;;;N;;;;;
-2834;BRAILLE PATTERN DOTS-356;So;0;L;;;;;N;;;;;
-2835;BRAILLE PATTERN DOTS-1356;So;0;L;;;;;N;;;;;
-2836;BRAILLE PATTERN DOTS-2356;So;0;L;;;;;N;;;;;
-2837;BRAILLE PATTERN DOTS-12356;So;0;L;;;;;N;;;;;
-2838;BRAILLE PATTERN DOTS-456;So;0;L;;;;;N;;;;;
-2839;BRAILLE PATTERN DOTS-1456;So;0;L;;;;;N;;;;;
-283A;BRAILLE PATTERN DOTS-2456;So;0;L;;;;;N;;;;;
-283B;BRAILLE PATTERN DOTS-12456;So;0;L;;;;;N;;;;;
-283C;BRAILLE PATTERN DOTS-3456;So;0;L;;;;;N;;;;;
-283D;BRAILLE PATTERN DOTS-13456;So;0;L;;;;;N;;;;;
-283E;BRAILLE PATTERN DOTS-23456;So;0;L;;;;;N;;;;;
-283F;BRAILLE PATTERN DOTS-123456;So;0;L;;;;;N;;;;;
-2840;BRAILLE PATTERN DOTS-7;So;0;L;;;;;N;;;;;
-2841;BRAILLE PATTERN DOTS-17;So;0;L;;;;;N;;;;;
-2842;BRAILLE PATTERN DOTS-27;So;0;L;;;;;N;;;;;
-2843;BRAILLE PATTERN DOTS-127;So;0;L;;;;;N;;;;;
-2844;BRAILLE PATTERN DOTS-37;So;0;L;;;;;N;;;;;
-2845;BRAILLE PATTERN DOTS-137;So;0;L;;;;;N;;;;;
-2846;BRAILLE PATTERN DOTS-237;So;0;L;;;;;N;;;;;
-2847;BRAILLE PATTERN DOTS-1237;So;0;L;;;;;N;;;;;
-2848;BRAILLE PATTERN DOTS-47;So;0;L;;;;;N;;;;;
-2849;BRAILLE PATTERN DOTS-147;So;0;L;;;;;N;;;;;
-284A;BRAILLE PATTERN DOTS-247;So;0;L;;;;;N;;;;;
-284B;BRAILLE PATTERN DOTS-1247;So;0;L;;;;;N;;;;;
-284C;BRAILLE PATTERN DOTS-347;So;0;L;;;;;N;;;;;
-284D;BRAILLE PATTERN DOTS-1347;So;0;L;;;;;N;;;;;
-284E;BRAILLE PATTERN DOTS-2347;So;0;L;;;;;N;;;;;
-284F;BRAILLE PATTERN DOTS-12347;So;0;L;;;;;N;;;;;
-2850;BRAILLE PATTERN DOTS-57;So;0;L;;;;;N;;;;;
-2851;BRAILLE PATTERN DOTS-157;So;0;L;;;;;N;;;;;
-2852;BRAILLE PATTERN DOTS-257;So;0;L;;;;;N;;;;;
-2853;BRAILLE PATTERN DOTS-1257;So;0;L;;;;;N;;;;;
-2854;BRAILLE PATTERN DOTS-357;So;0;L;;;;;N;;;;;
-2855;BRAILLE PATTERN DOTS-1357;So;0;L;;;;;N;;;;;
-2856;BRAILLE PATTERN DOTS-2357;So;0;L;;;;;N;;;;;
-2857;BRAILLE PATTERN DOTS-12357;So;0;L;;;;;N;;;;;
-2858;BRAILLE PATTERN DOTS-457;So;0;L;;;;;N;;;;;
-2859;BRAILLE PATTERN DOTS-1457;So;0;L;;;;;N;;;;;
-285A;BRAILLE PATTERN DOTS-2457;So;0;L;;;;;N;;;;;
-285B;BRAILLE PATTERN DOTS-12457;So;0;L;;;;;N;;;;;
-285C;BRAILLE PATTERN DOTS-3457;So;0;L;;;;;N;;;;;
-285D;BRAILLE PATTERN DOTS-13457;So;0;L;;;;;N;;;;;
-285E;BRAILLE PATTERN DOTS-23457;So;0;L;;;;;N;;;;;
-285F;BRAILLE PATTERN DOTS-123457;So;0;L;;;;;N;;;;;
-2860;BRAILLE PATTERN DOTS-67;So;0;L;;;;;N;;;;;
-2861;BRAILLE PATTERN DOTS-167;So;0;L;;;;;N;;;;;
-2862;BRAILLE PATTERN DOTS-267;So;0;L;;;;;N;;;;;
-2863;BRAILLE PATTERN DOTS-1267;So;0;L;;;;;N;;;;;
-2864;BRAILLE PATTERN DOTS-367;So;0;L;;;;;N;;;;;
-2865;BRAILLE PATTERN DOTS-1367;So;0;L;;;;;N;;;;;
-2866;BRAILLE PATTERN DOTS-2367;So;0;L;;;;;N;;;;;
-2867;BRAILLE PATTERN DOTS-12367;So;0;L;;;;;N;;;;;
-2868;BRAILLE PATTERN DOTS-467;So;0;L;;;;;N;;;;;
-2869;BRAILLE PATTERN DOTS-1467;So;0;L;;;;;N;;;;;
-286A;BRAILLE PATTERN DOTS-2467;So;0;L;;;;;N;;;;;
-286B;BRAILLE PATTERN DOTS-12467;So;0;L;;;;;N;;;;;
-286C;BRAILLE PATTERN DOTS-3467;So;0;L;;;;;N;;;;;
-286D;BRAILLE PATTERN DOTS-13467;So;0;L;;;;;N;;;;;
-286E;BRAILLE PATTERN DOTS-23467;So;0;L;;;;;N;;;;;
-286F;BRAILLE PATTERN DOTS-123467;So;0;L;;;;;N;;;;;
-2870;BRAILLE PATTERN DOTS-567;So;0;L;;;;;N;;;;;
-2871;BRAILLE PATTERN DOTS-1567;So;0;L;;;;;N;;;;;
-2872;BRAILLE PATTERN DOTS-2567;So;0;L;;;;;N;;;;;
-2873;BRAILLE PATTERN DOTS-12567;So;0;L;;;;;N;;;;;
-2874;BRAILLE PATTERN DOTS-3567;So;0;L;;;;;N;;;;;
-2875;BRAILLE PATTERN DOTS-13567;So;0;L;;;;;N;;;;;
-2876;BRAILLE PATTERN DOTS-23567;So;0;L;;;;;N;;;;;
-2877;BRAILLE PATTERN DOTS-123567;So;0;L;;;;;N;;;;;
-2878;BRAILLE PATTERN DOTS-4567;So;0;L;;;;;N;;;;;
-2879;BRAILLE PATTERN DOTS-14567;So;0;L;;;;;N;;;;;
-287A;BRAILLE PATTERN DOTS-24567;So;0;L;;;;;N;;;;;
-287B;BRAILLE PATTERN DOTS-124567;So;0;L;;;;;N;;;;;
-287C;BRAILLE PATTERN DOTS-34567;So;0;L;;;;;N;;;;;
-287D;BRAILLE PATTERN DOTS-134567;So;0;L;;;;;N;;;;;
-287E;BRAILLE PATTERN DOTS-234567;So;0;L;;;;;N;;;;;
-287F;BRAILLE PATTERN DOTS-1234567;So;0;L;;;;;N;;;;;
-2880;BRAILLE PATTERN DOTS-8;So;0;L;;;;;N;;;;;
-2881;BRAILLE PATTERN DOTS-18;So;0;L;;;;;N;;;;;
-2882;BRAILLE PATTERN DOTS-28;So;0;L;;;;;N;;;;;
-2883;BRAILLE PATTERN DOTS-128;So;0;L;;;;;N;;;;;
-2884;BRAILLE PATTERN DOTS-38;So;0;L;;;;;N;;;;;
-2885;BRAILLE PATTERN DOTS-138;So;0;L;;;;;N;;;;;
-2886;BRAILLE PATTERN DOTS-238;So;0;L;;;;;N;;;;;
-2887;BRAILLE PATTERN DOTS-1238;So;0;L;;;;;N;;;;;
-2888;BRAILLE PATTERN DOTS-48;So;0;L;;;;;N;;;;;
-2889;BRAILLE PATTERN DOTS-148;So;0;L;;;;;N;;;;;
-288A;BRAILLE PATTERN DOTS-248;So;0;L;;;;;N;;;;;
-288B;BRAILLE PATTERN DOTS-1248;So;0;L;;;;;N;;;;;
-288C;BRAILLE PATTERN DOTS-348;So;0;L;;;;;N;;;;;
-288D;BRAILLE PATTERN DOTS-1348;So;0;L;;;;;N;;;;;
-288E;BRAILLE PATTERN DOTS-2348;So;0;L;;;;;N;;;;;
-288F;BRAILLE PATTERN DOTS-12348;So;0;L;;;;;N;;;;;
-2890;BRAILLE PATTERN DOTS-58;So;0;L;;;;;N;;;;;
-2891;BRAILLE PATTERN DOTS-158;So;0;L;;;;;N;;;;;
-2892;BRAILLE PATTERN DOTS-258;So;0;L;;;;;N;;;;;
-2893;BRAILLE PATTERN DOTS-1258;So;0;L;;;;;N;;;;;
-2894;BRAILLE PATTERN DOTS-358;So;0;L;;;;;N;;;;;
-2895;BRAILLE PATTERN DOTS-1358;So;0;L;;;;;N;;;;;
-2896;BRAILLE PATTERN DOTS-2358;So;0;L;;;;;N;;;;;
-2897;BRAILLE PATTERN DOTS-12358;So;0;L;;;;;N;;;;;
-2898;BRAILLE PATTERN DOTS-458;So;0;L;;;;;N;;;;;
-2899;BRAILLE PATTERN DOTS-1458;So;0;L;;;;;N;;;;;
-289A;BRAILLE PATTERN DOTS-2458;So;0;L;;;;;N;;;;;
-289B;BRAILLE PATTERN DOTS-12458;So;0;L;;;;;N;;;;;
-289C;BRAILLE PATTERN DOTS-3458;So;0;L;;;;;N;;;;;
-289D;BRAILLE PATTERN DOTS-13458;So;0;L;;;;;N;;;;;
-289E;BRAILLE PATTERN DOTS-23458;So;0;L;;;;;N;;;;;
-289F;BRAILLE PATTERN DOTS-123458;So;0;L;;;;;N;;;;;
-28A0;BRAILLE PATTERN DOTS-68;So;0;L;;;;;N;;;;;
-28A1;BRAILLE PATTERN DOTS-168;So;0;L;;;;;N;;;;;
-28A2;BRAILLE PATTERN DOTS-268;So;0;L;;;;;N;;;;;
-28A3;BRAILLE PATTERN DOTS-1268;So;0;L;;;;;N;;;;;
-28A4;BRAILLE PATTERN DOTS-368;So;0;L;;;;;N;;;;;
-28A5;BRAILLE PATTERN DOTS-1368;So;0;L;;;;;N;;;;;
-28A6;BRAILLE PATTERN DOTS-2368;So;0;L;;;;;N;;;;;
-28A7;BRAILLE PATTERN DOTS-12368;So;0;L;;;;;N;;;;;
-28A8;BRAILLE PATTERN DOTS-468;So;0;L;;;;;N;;;;;
-28A9;BRAILLE PATTERN DOTS-1468;So;0;L;;;;;N;;;;;
-28AA;BRAILLE PATTERN DOTS-2468;So;0;L;;;;;N;;;;;
-28AB;BRAILLE PATTERN DOTS-12468;So;0;L;;;;;N;;;;;
-28AC;BRAILLE PATTERN DOTS-3468;So;0;L;;;;;N;;;;;
-28AD;BRAILLE PATTERN DOTS-13468;So;0;L;;;;;N;;;;;
-28AE;BRAILLE PATTERN DOTS-23468;So;0;L;;;;;N;;;;;
-28AF;BRAILLE PATTERN DOTS-123468;So;0;L;;;;;N;;;;;
-28B0;BRAILLE PATTERN DOTS-568;So;0;L;;;;;N;;;;;
-28B1;BRAILLE PATTERN DOTS-1568;So;0;L;;;;;N;;;;;
-28B2;BRAILLE PATTERN DOTS-2568;So;0;L;;;;;N;;;;;
-28B3;BRAILLE PATTERN DOTS-12568;So;0;L;;;;;N;;;;;
-28B4;BRAILLE PATTERN DOTS-3568;So;0;L;;;;;N;;;;;
-28B5;BRAILLE PATTERN DOTS-13568;So;0;L;;;;;N;;;;;
-28B6;BRAILLE PATTERN DOTS-23568;So;0;L;;;;;N;;;;;
-28B7;BRAILLE PATTERN DOTS-123568;So;0;L;;;;;N;;;;;
-28B8;BRAILLE PATTERN DOTS-4568;So;0;L;;;;;N;;;;;
-28B9;BRAILLE PATTERN DOTS-14568;So;0;L;;;;;N;;;;;
-28BA;BRAILLE PATTERN DOTS-24568;So;0;L;;;;;N;;;;;
-28BB;BRAILLE PATTERN DOTS-124568;So;0;L;;;;;N;;;;;
-28BC;BRAILLE PATTERN DOTS-34568;So;0;L;;;;;N;;;;;
-28BD;BRAILLE PATTERN DOTS-134568;So;0;L;;;;;N;;;;;
-28BE;BRAILLE PATTERN DOTS-234568;So;0;L;;;;;N;;;;;
-28BF;BRAILLE PATTERN DOTS-1234568;So;0;L;;;;;N;;;;;
-28C0;BRAILLE PATTERN DOTS-78;So;0;L;;;;;N;;;;;
-28C1;BRAILLE PATTERN DOTS-178;So;0;L;;;;;N;;;;;
-28C2;BRAILLE PATTERN DOTS-278;So;0;L;;;;;N;;;;;
-28C3;BRAILLE PATTERN DOTS-1278;So;0;L;;;;;N;;;;;
-28C4;BRAILLE PATTERN DOTS-378;So;0;L;;;;;N;;;;;
-28C5;BRAILLE PATTERN DOTS-1378;So;0;L;;;;;N;;;;;
-28C6;BRAILLE PATTERN DOTS-2378;So;0;L;;;;;N;;;;;
-28C7;BRAILLE PATTERN DOTS-12378;So;0;L;;;;;N;;;;;
-28C8;BRAILLE PATTERN DOTS-478;So;0;L;;;;;N;;;;;
-28C9;BRAILLE PATTERN DOTS-1478;So;0;L;;;;;N;;;;;
-28CA;BRAILLE PATTERN DOTS-2478;So;0;L;;;;;N;;;;;
-28CB;BRAILLE PATTERN DOTS-12478;So;0;L;;;;;N;;;;;
-28CC;BRAILLE PATTERN DOTS-3478;So;0;L;;;;;N;;;;;
-28CD;BRAILLE PATTERN DOTS-13478;So;0;L;;;;;N;;;;;
-28CE;BRAILLE PATTERN DOTS-23478;So;0;L;;;;;N;;;;;
-28CF;BRAILLE PATTERN DOTS-123478;So;0;L;;;;;N;;;;;
-28D0;BRAILLE PATTERN DOTS-578;So;0;L;;;;;N;;;;;
-28D1;BRAILLE PATTERN DOTS-1578;So;0;L;;;;;N;;;;;
-28D2;BRAILLE PATTERN DOTS-2578;So;0;L;;;;;N;;;;;
-28D3;BRAILLE PATTERN DOTS-12578;So;0;L;;;;;N;;;;;
-28D4;BRAILLE PATTERN DOTS-3578;So;0;L;;;;;N;;;;;
-28D5;BRAILLE PATTERN DOTS-13578;So;0;L;;;;;N;;;;;
-28D6;BRAILLE PATTERN DOTS-23578;So;0;L;;;;;N;;;;;
-28D7;BRAILLE PATTERN DOTS-123578;So;0;L;;;;;N;;;;;
-28D8;BRAILLE PATTERN DOTS-4578;So;0;L;;;;;N;;;;;
-28D9;BRAILLE PATTERN DOTS-14578;So;0;L;;;;;N;;;;;
-28DA;BRAILLE PATTERN DOTS-24578;So;0;L;;;;;N;;;;;
-28DB;BRAILLE PATTERN DOTS-124578;So;0;L;;;;;N;;;;;
-28DC;BRAILLE PATTERN DOTS-34578;So;0;L;;;;;N;;;;;
-28DD;BRAILLE PATTERN DOTS-134578;So;0;L;;;;;N;;;;;
-28DE;BRAILLE PATTERN DOTS-234578;So;0;L;;;;;N;;;;;
-28DF;BRAILLE PATTERN DOTS-1234578;So;0;L;;;;;N;;;;;
-28E0;BRAILLE PATTERN DOTS-678;So;0;L;;;;;N;;;;;
-28E1;BRAILLE PATTERN DOTS-1678;So;0;L;;;;;N;;;;;
-28E2;BRAILLE PATTERN DOTS-2678;So;0;L;;;;;N;;;;;
-28E3;BRAILLE PATTERN DOTS-12678;So;0;L;;;;;N;;;;;
-28E4;BRAILLE PATTERN DOTS-3678;So;0;L;;;;;N;;;;;
-28E5;BRAILLE PATTERN DOTS-13678;So;0;L;;;;;N;;;;;
-28E6;BRAILLE PATTERN DOTS-23678;So;0;L;;;;;N;;;;;
-28E7;BRAILLE PATTERN DOTS-123678;So;0;L;;;;;N;;;;;
-28E8;BRAILLE PATTERN DOTS-4678;So;0;L;;;;;N;;;;;
-28E9;BRAILLE PATTERN DOTS-14678;So;0;L;;;;;N;;;;;
-28EA;BRAILLE PATTERN DOTS-24678;So;0;L;;;;;N;;;;;
-28EB;BRAILLE PATTERN DOTS-124678;So;0;L;;;;;N;;;;;
-28EC;BRAILLE PATTERN DOTS-34678;So;0;L;;;;;N;;;;;
-28ED;BRAILLE PATTERN DOTS-134678;So;0;L;;;;;N;;;;;
-28EE;BRAILLE PATTERN DOTS-234678;So;0;L;;;;;N;;;;;
-28EF;BRAILLE PATTERN DOTS-1234678;So;0;L;;;;;N;;;;;
-28F0;BRAILLE PATTERN DOTS-5678;So;0;L;;;;;N;;;;;
-28F1;BRAILLE PATTERN DOTS-15678;So;0;L;;;;;N;;;;;
-28F2;BRAILLE PATTERN DOTS-25678;So;0;L;;;;;N;;;;;
-28F3;BRAILLE PATTERN DOTS-125678;So;0;L;;;;;N;;;;;
-28F4;BRAILLE PATTERN DOTS-35678;So;0;L;;;;;N;;;;;
-28F5;BRAILLE PATTERN DOTS-135678;So;0;L;;;;;N;;;;;
-28F6;BRAILLE PATTERN DOTS-235678;So;0;L;;;;;N;;;;;
-28F7;BRAILLE PATTERN DOTS-1235678;So;0;L;;;;;N;;;;;
-28F8;BRAILLE PATTERN DOTS-45678;So;0;L;;;;;N;;;;;
-28F9;BRAILLE PATTERN DOTS-145678;So;0;L;;;;;N;;;;;
-28FA;BRAILLE PATTERN DOTS-245678;So;0;L;;;;;N;;;;;
-28FB;BRAILLE PATTERN DOTS-1245678;So;0;L;;;;;N;;;;;
-28FC;BRAILLE PATTERN DOTS-345678;So;0;L;;;;;N;;;;;
-28FD;BRAILLE PATTERN DOTS-1345678;So;0;L;;;;;N;;;;;
-28FE;BRAILLE PATTERN DOTS-2345678;So;0;L;;;;;N;;;;;
-28FF;BRAILLE PATTERN DOTS-12345678;So;0;L;;;;;N;;;;;
-2900;RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2901;RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2902;LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2903;RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2904;LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2905;RIGHTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-2906;LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-2907;RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-2908;DOWNWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
-2909;UPWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
-290A;UPWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;;
-290B;DOWNWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;;
-290C;LEFTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
-290D;RIGHTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
-290E;LEFTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
-290F;RIGHTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
-2910;RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
-2911;RIGHTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;;
-2912;UPWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;;
-2913;DOWNWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;;
-2914;RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2915;RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2916;RIGHTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;;
-2917;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2918;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2919;LEFTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
-291A;RIGHTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
-291B;LEFTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
-291C;RIGHTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;;
-291D;LEFTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
-291E;RIGHTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
-291F;LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
-2920;RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
-2921;NORTH WEST AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-2922;NORTH EAST AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
-2923;NORTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
-2924;NORTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
-2925;SOUTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
-2926;SOUTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;;
-2927;NORTH WEST ARROW AND NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-2928;NORTH EAST ARROW AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-2929;SOUTH EAST ARROW AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
-292A;SOUTH WEST ARROW AND NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
-292B;RISING DIAGONAL CROSSING FALLING DIAGONAL;Sm;0;ON;;;;;N;;;;;
-292C;FALLING DIAGONAL CROSSING RISING DIAGONAL;Sm;0;ON;;;;;N;;;;;
-292D;SOUTH EAST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-292E;NORTH EAST ARROW CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-292F;FALLING DIAGONAL CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-2930;RISING DIAGONAL CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-2931;NORTH EAST ARROW CROSSING NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;;
-2932;NORTH WEST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;;
-2933;WAVE ARROW POINTING DIRECTLY RIGHT;Sm;0;ON;;;;;N;;;;;
-2934;ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS;Sm;0;ON;;;;;N;;;;;
-2935;ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS;Sm;0;ON;;;;;N;;;;;
-2936;ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS;Sm;0;ON;;;;;N;;;;;
-2937;ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS;Sm;0;ON;;;;;N;;;;;
-2938;RIGHT-SIDE ARC CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
-2939;LEFT-SIDE ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
-293A;TOP ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
-293B;BOTTOM ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
-293C;TOP ARC CLOCKWISE ARROW WITH MINUS;Sm;0;ON;;;;;N;;;;;
-293D;TOP ARC ANTICLOCKWISE ARROW WITH PLUS;Sm;0;ON;;;;;N;;;;;
-293E;LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
-293F;LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;;
-2940;ANTICLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
-2941;CLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;;
-2942;RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2943;LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2944;SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2945;RIGHTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;;
-2946;LEFTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;;
-2947;RIGHTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;;
-2948;LEFT RIGHT ARROW THROUGH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
-2949;UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
-294A;LEFT BARB UP RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;;
-294B;LEFT BARB DOWN RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;;
-294C;UP BARB RIGHT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;;
-294D;UP BARB LEFT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;;
-294E;LEFT BARB UP RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;;
-294F;UP BARB RIGHT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;;
-2950;LEFT BARB DOWN RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;;
-2951;UP BARB LEFT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;;
-2952;LEFTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;;
-2953;RIGHTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;;
-2954;UPWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;;
-2955;DOWNWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;;
-2956;LEFTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;;
-2957;RIGHTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;;
-2958;UPWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;;
-2959;DOWNWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;;
-295A;LEFTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;;
-295B;RIGHTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;;
-295C;UPWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;;
-295D;DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;;
-295E;LEFTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;;
-295F;RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;;
-2960;UPWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;;
-2961;DOWNWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;;
-2962;LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
-2963;UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
-2964;RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
-2965;DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
-2966;LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;;
-2967;LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
-2968;RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;;
-2969;RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;;
-296A;LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;;
-296B;LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;;
-296C;RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;;
-296D;RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;;
-296E;UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
-296F;DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;;
-2970;RIGHT DOUBLE ARROW WITH ROUNDED HEAD;Sm;0;ON;;;;;N;;;;;
-2971;EQUALS SIGN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2972;TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2973;LEFTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
-2974;RIGHTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
-2975;RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2976;LESS-THAN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2977;LEFTWARDS ARROW THROUGH LESS-THAN;Sm;0;ON;;;;;N;;;;;
-2978;GREATER-THAN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2979;SUBSET ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-297A;LEFTWARDS ARROW THROUGH SUBSET;Sm;0;ON;;;;;N;;;;;
-297B;SUPERSET ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-297C;LEFT FISH TAIL;Sm;0;ON;;;;;N;;;;;
-297D;RIGHT FISH TAIL;Sm;0;ON;;;;;N;;;;;
-297E;UP FISH TAIL;Sm;0;ON;;;;;N;;;;;
-297F;DOWN FISH TAIL;Sm;0;ON;;;;;N;;;;;
-2980;TRIPLE VERTICAL BAR DELIMITER;Sm;0;ON;;;;;N;;;;;
-2981;Z NOTATION SPOT;Sm;0;ON;;;;;N;;;;;
-2982;Z NOTATION TYPE COLON;Sm;0;ON;;;;;N;;;;;
-2983;LEFT WHITE CURLY BRACKET;Ps;0;ON;;;;;Y;;;;;
-2984;RIGHT WHITE CURLY BRACKET;Pe;0;ON;;;;;Y;;;;;
-2985;LEFT WHITE PARENTHESIS;Ps;0;ON;;;;;Y;;;;;
-2986;RIGHT WHITE PARENTHESIS;Pe;0;ON;;;;;Y;;;;;
-2987;Z NOTATION LEFT IMAGE BRACKET;Ps;0;ON;;;;;Y;;;;;
-2988;Z NOTATION RIGHT IMAGE BRACKET;Pe;0;ON;;;;;Y;;;;;
-2989;Z NOTATION LEFT BINDING BRACKET;Ps;0;ON;;;;;Y;;;;;
-298A;Z NOTATION RIGHT BINDING BRACKET;Pe;0;ON;;;;;Y;;;;;
-298B;LEFT SQUARE BRACKET WITH UNDERBAR;Ps;0;ON;;;;;Y;;;;;
-298C;RIGHT SQUARE BRACKET WITH UNDERBAR;Pe;0;ON;;;;;Y;;;;;
-298D;LEFT SQUARE BRACKET WITH TICK IN TOP CORNER;Ps;0;ON;;;;;Y;;;;;
-298E;RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Pe;0;ON;;;;;Y;;;;;
-298F;LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Ps;0;ON;;;;;Y;;;;;
-2990;RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER;Pe;0;ON;;;;;Y;;;;;
-2991;LEFT ANGLE BRACKET WITH DOT;Ps;0;ON;;;;;Y;;;;;
-2992;RIGHT ANGLE BRACKET WITH DOT;Pe;0;ON;;;;;Y;;;;;
-2993;LEFT ARC LESS-THAN BRACKET;Ps;0;ON;;;;;Y;;;;;
-2994;RIGHT ARC GREATER-THAN BRACKET;Pe;0;ON;;;;;Y;;;;;
-2995;DOUBLE LEFT ARC GREATER-THAN BRACKET;Ps;0;ON;;;;;Y;;;;;
-2996;DOUBLE RIGHT ARC LESS-THAN BRACKET;Pe;0;ON;;;;;Y;;;;;
-2997;LEFT BLACK TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;;
-2998;RIGHT BLACK TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;;
-2999;DOTTED FENCE;Sm;0;ON;;;;;N;;;;;
-299A;VERTICAL ZIGZAG LINE;Sm;0;ON;;;;;N;;;;;
-299B;MEASURED ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;;
-299C;RIGHT ANGLE VARIANT WITH SQUARE;Sm;0;ON;;;;;Y;;;;;
-299D;MEASURED RIGHT ANGLE WITH DOT;Sm;0;ON;;;;;Y;;;;;
-299E;ANGLE WITH S INSIDE;Sm;0;ON;;;;;Y;;;;;
-299F;ACUTE ANGLE;Sm;0;ON;;;;;Y;;;;;
-29A0;SPHERICAL ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;;
-29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;;
-29A2;TURNED ANGLE;Sm;0;ON;;;;;Y;;;;;
-29A3;REVERSED ANGLE;Sm;0;ON;;;;;Y;;;;;
-29A4;ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
-29A5;REVERSED ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
-29A6;OBLIQUE ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;;
-29A7;OBLIQUE ANGLE OPENING DOWN;Sm;0;ON;;;;;Y;;;;;
-29A8;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT;Sm;0;ON;;;;;Y;;;;;
-29A9;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT;Sm;0;ON;;;;;Y;;;;;
-29AA;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT;Sm;0;ON;;;;;Y;;;;;
-29AB;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT;Sm;0;ON;;;;;Y;;;;;
-29AC;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP;Sm;0;ON;;;;;Y;;;;;
-29AD;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP;Sm;0;ON;;;;;Y;;;;;
-29AE;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN;Sm;0;ON;;;;;Y;;;;;
-29AF;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN;Sm;0;ON;;;;;Y;;;;;
-29B0;REVERSED EMPTY SET;Sm;0;ON;;;;;N;;;;;
-29B1;EMPTY SET WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
-29B2;EMPTY SET WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
-29B3;EMPTY SET WITH RIGHT ARROW ABOVE;Sm;0;ON;;;;;N;;;;;
-29B4;EMPTY SET WITH LEFT ARROW ABOVE;Sm;0;ON;;;;;N;;;;;
-29B5;CIRCLE WITH HORIZONTAL BAR;Sm;0;ON;;;;;N;;;;;
-29B6;CIRCLED VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
-29B7;CIRCLED PARALLEL;Sm;0;ON;;;;;N;;;;;
-29B8;CIRCLED REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;;
-29B9;CIRCLED PERPENDICULAR;Sm;0;ON;;;;;N;;;;;
-29BA;CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
-29BB;CIRCLE WITH SUPERIMPOSED X;Sm;0;ON;;;;;N;;;;;
-29BC;CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
-29BD;UP ARROW THROUGH CIRCLE;Sm;0;ON;;;;;N;;;;;
-29BE;CIRCLED WHITE BULLET;Sm;0;ON;;;;;N;;;;;
-29BF;CIRCLED BULLET;Sm;0;ON;;;;;N;;;;;
-29C0;CIRCLED LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-29C1;CIRCLED GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-29C2;CIRCLE WITH SMALL CIRCLE TO THE RIGHT;Sm;0;ON;;;;;Y;;;;;
-29C3;CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT;Sm;0;ON;;;;;Y;;;;;
-29C4;SQUARED RISING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;;
-29C5;SQUARED FALLING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;;
-29C6;SQUARED ASTERISK;Sm;0;ON;;;;;N;;;;;
-29C7;SQUARED SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
-29C8;SQUARED SQUARE;Sm;0;ON;;;;;N;;;;;
-29C9;TWO JOINED SQUARES;Sm;0;ON;;;;;Y;;;;;
-29CA;TRIANGLE WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
-29CB;TRIANGLE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
-29CC;S IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
-29CD;TRIANGLE WITH SERIFS AT BOTTOM;Sm;0;ON;;;;;N;;;;;
-29CE;RIGHT TRIANGLE ABOVE LEFT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
-29CF;LEFT TRIANGLE BESIDE VERTICAL BAR;Sm;0;ON;;;;;Y;;;;;
-29D0;VERTICAL BAR BESIDE RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
-29D1;BOWTIE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
-29D2;BOWTIE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
-29D3;BLACK BOWTIE;Sm;0;ON;;;;;N;;;;;
-29D4;TIMES WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
-29D5;TIMES WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
-29D6;WHITE HOURGLASS;Sm;0;ON;;;;;N;;;;;
-29D7;BLACK HOURGLASS;Sm;0;ON;;;;;N;;;;;
-29D8;LEFT WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;;
-29D9;RIGHT WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;;
-29DA;LEFT DOUBLE WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;;
-29DB;RIGHT DOUBLE WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;;
-29DC;INCOMPLETE INFINITY;Sm;0;ON;;;;;Y;;;;;
-29DD;TIE OVER INFINITY;Sm;0;ON;;;;;N;;;;;
-29DE;INFINITY NEGATED WITH VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
-29DF;DOUBLE-ENDED MULTIMAP;Sm;0;ON;;;;;N;;;;;
-29E0;SQUARE WITH CONTOURED OUTLINE;Sm;0;ON;;;;;N;;;;;
-29E1;INCREASES AS;Sm;0;ON;;;;;Y;;;;;
-29E2;SHUFFLE PRODUCT;Sm;0;ON;;;;;N;;;;;
-29E3;EQUALS SIGN AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;;
-29E4;EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;;
-29E5;IDENTICAL TO AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;;
-29E6;GLEICH STARK;Sm;0;ON;;;;;N;;;;;
-29E7;THERMODYNAMIC;Sm;0;ON;;;;;N;;;;;
-29E8;DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
-29E9;DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;;
-29EA;BLACK DIAMOND WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;;
-29EB;BLACK LOZENGE;Sm;0;ON;;;;;N;;;;;
-29EC;WHITE CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;;
-29ED;BLACK CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;;
-29EE;ERROR-BARRED WHITE SQUARE;Sm;0;ON;;;;;N;;;;;
-29EF;ERROR-BARRED BLACK SQUARE;Sm;0;ON;;;;;N;;;;;
-29F0;ERROR-BARRED WHITE DIAMOND;Sm;0;ON;;;;;N;;;;;
-29F1;ERROR-BARRED BLACK DIAMOND;Sm;0;ON;;;;;N;;;;;
-29F2;ERROR-BARRED WHITE CIRCLE;Sm;0;ON;;;;;N;;;;;
-29F3;ERROR-BARRED BLACK CIRCLE;Sm;0;ON;;;;;N;;;;;
-29F4;RULE-DELAYED;Sm;0;ON;;;;;Y;;;;;
-29F5;REVERSE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;;
-29F6;SOLIDUS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
-29F7;REVERSE SOLIDUS WITH HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;;
-29F8;BIG SOLIDUS;Sm;0;ON;;;;;Y;;;;;
-29F9;BIG REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;;
-29FA;DOUBLE PLUS;Sm;0;ON;;;;;N;;;;;
-29FB;TRIPLE PLUS;Sm;0;ON;;;;;N;;;;;
-29FC;LEFT-POINTING CURVED ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;;
-29FD;RIGHT-POINTING CURVED ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;;
-29FE;TINY;Sm;0;ON;;;;;N;;;;;
-29FF;MINY;Sm;0;ON;;;;;N;;;;;
-2A00;N-ARY CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A01;N-ARY CIRCLED PLUS OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A02;N-ARY CIRCLED TIMES OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A03;N-ARY UNION OPERATOR WITH DOT;Sm;0;ON;;;;;N;;;;;
-2A04;N-ARY UNION OPERATOR WITH PLUS;Sm;0;ON;;;;;N;;;;;
-2A05;N-ARY SQUARE INTERSECTION OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A06;N-ARY SQUARE UNION OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A07;TWO LOGICAL AND OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A08;TWO LOGICAL OR OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A09;N-ARY TIMES OPERATOR;Sm;0;ON;;;;;N;;;;;
-2A0A;MODULO TWO SUM;Sm;0;ON;;;;;Y;;;;;
-2A0B;SUMMATION WITH INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2A0C;QUADRUPLE INTEGRAL OPERATOR;Sm;0;ON;<compat> 222B 222B 222B 222B;;;;Y;;;;;
-2A0D;FINITE PART INTEGRAL;Sm;0;ON;;;;;Y;;;;;
-2A0E;INTEGRAL WITH DOUBLE STROKE;Sm;0;ON;;;;;Y;;;;;
-2A0F;INTEGRAL AVERAGE WITH SLASH;Sm;0;ON;;;;;Y;;;;;
-2A10;CIRCULATION FUNCTION;Sm;0;ON;;;;;Y;;;;;
-2A11;ANTICLOCKWISE INTEGRATION;Sm;0;ON;;;;;Y;;;;;
-2A12;LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;;
-2A13;LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;;
-2A14;LINE INTEGRATION NOT INCLUDING THE POLE;Sm;0;ON;;;;;Y;;;;;
-2A15;INTEGRAL AROUND A POINT OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2A16;QUATERNION INTEGRAL OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2A17;INTEGRAL WITH LEFTWARDS ARROW WITH HOOK;Sm;0;ON;;;;;Y;;;;;
-2A18;INTEGRAL WITH TIMES SIGN;Sm;0;ON;;;;;Y;;;;;
-2A19;INTEGRAL WITH INTERSECTION;Sm;0;ON;;;;;Y;;;;;
-2A1A;INTEGRAL WITH UNION;Sm;0;ON;;;;;Y;;;;;
-2A1B;INTEGRAL WITH OVERBAR;Sm;0;ON;;;;;Y;;;;;
-2A1C;INTEGRAL WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
-2A1D;JOIN;Sm;0;ON;;;;;N;;;;;
-2A1E;LARGE LEFT TRIANGLE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2A1F;Z NOTATION SCHEMA COMPOSITION;Sm;0;ON;;;;;Y;;;;;
-2A20;Z NOTATION SCHEMA PIPING;Sm;0;ON;;;;;Y;;;;;
-2A21;Z NOTATION SCHEMA PROJECTION;Sm;0;ON;;;;;Y;;;;;
-2A22;PLUS SIGN WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
-2A23;PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE;Sm;0;ON;;;;;N;;;;;
-2A24;PLUS SIGN WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A25;PLUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;;
-2A26;PLUS SIGN WITH TILDE BELOW;Sm;0;ON;;;;;Y;;;;;
-2A27;PLUS SIGN WITH SUBSCRIPT TWO;Sm;0;ON;;;;;N;;;;;
-2A28;PLUS SIGN WITH BLACK TRIANGLE;Sm;0;ON;;;;;N;;;;;
-2A29;MINUS SIGN WITH COMMA ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A2A;MINUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;;
-2A2B;MINUS SIGN WITH FALLING DOTS;Sm;0;ON;;;;;Y;;;;;
-2A2C;MINUS SIGN WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;;
-2A2D;PLUS SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
-2A2E;PLUS SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
-2A2F;VECTOR OR CROSS PRODUCT;Sm;0;ON;;;;;N;;;;;
-2A30;MULTIPLICATION SIGN WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
-2A31;MULTIPLICATION SIGN WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
-2A32;SEMIDIRECT PRODUCT WITH BOTTOM CLOSED;Sm;0;ON;;;;;N;;;;;
-2A33;SMASH PRODUCT;Sm;0;ON;;;;;N;;;;;
-2A34;MULTIPLICATION SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
-2A35;MULTIPLICATION SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;;
-2A36;CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;N;;;;;
-2A37;MULTIPLICATION SIGN IN DOUBLE CIRCLE;Sm;0;ON;;;;;N;;;;;
-2A38;CIRCLED DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
-2A39;PLUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
-2A3A;MINUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
-2A3B;MULTIPLICATION SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;;
-2A3C;INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;;
-2A3D;RIGHTHAND INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;;
-2A3E;Z NOTATION RELATIONAL COMPOSITION;Sm;0;ON;;;;;Y;;;;;
-2A3F;AMALGAMATION OR COPRODUCT;Sm;0;ON;;;;;N;;;;;
-2A40;INTERSECTION WITH DOT;Sm;0;ON;;;;;N;;;;;
-2A41;UNION WITH MINUS SIGN;Sm;0;ON;;;;;N;;;;;
-2A42;UNION WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
-2A43;INTERSECTION WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
-2A44;INTERSECTION WITH LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-2A45;UNION WITH LOGICAL OR;Sm;0;ON;;;;;N;;;;;
-2A46;UNION ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;;
-2A47;INTERSECTION ABOVE UNION;Sm;0;ON;;;;;N;;;;;
-2A48;UNION ABOVE BAR ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;;
-2A49;INTERSECTION ABOVE BAR ABOVE UNION;Sm;0;ON;;;;;N;;;;;
-2A4A;UNION BESIDE AND JOINED WITH UNION;Sm;0;ON;;;;;N;;;;;
-2A4B;INTERSECTION BESIDE AND JOINED WITH INTERSECTION;Sm;0;ON;;;;;N;;;;;
-2A4C;CLOSED UNION WITH SERIFS;Sm;0;ON;;;;;N;;;;;
-2A4D;CLOSED INTERSECTION WITH SERIFS;Sm;0;ON;;;;;N;;;;;
-2A4E;DOUBLE SQUARE INTERSECTION;Sm;0;ON;;;;;N;;;;;
-2A4F;DOUBLE SQUARE UNION;Sm;0;ON;;;;;N;;;;;
-2A50;CLOSED UNION WITH SERIFS AND SMASH PRODUCT;Sm;0;ON;;;;;N;;;;;
-2A51;LOGICAL AND WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
-2A52;LOGICAL OR WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
-2A53;DOUBLE LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-2A54;DOUBLE LOGICAL OR;Sm;0;ON;;;;;N;;;;;
-2A55;TWO INTERSECTING LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-2A56;TWO INTERSECTING LOGICAL OR;Sm;0;ON;;;;;N;;;;;
-2A57;SLOPING LARGE OR;Sm;0;ON;;;;;Y;;;;;
-2A58;SLOPING LARGE AND;Sm;0;ON;;;;;Y;;;;;
-2A59;LOGICAL OR OVERLAPPING LOGICAL AND;Sm;0;ON;;;;;N;;;;;
-2A5A;LOGICAL AND WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;;
-2A5B;LOGICAL OR WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;;
-2A5C;LOGICAL AND WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;;
-2A5D;LOGICAL OR WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;;
-2A5E;LOGICAL AND WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;;
-2A5F;LOGICAL AND WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
-2A60;LOGICAL AND WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;;
-2A61;SMALL VEE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
-2A62;LOGICAL OR WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;;
-2A63;LOGICAL OR WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;;
-2A64;Z NOTATION DOMAIN ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;;
-2A65;Z NOTATION RANGE ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;;
-2A66;EQUALS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;;
-2A67;IDENTICAL WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;;
-2A68;TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2A69;TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2A6A;TILDE OPERATOR WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A6B;TILDE OPERATOR WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;;
-2A6C;SIMILAR MINUS SIMILAR;Sm;0;ON;;;;;Y;;;;;
-2A6D;CONGRUENT WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A6E;EQUALS WITH ASTERISK;Sm;0;ON;;;;;N;;;;;
-2A6F;ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;Y;;;;;
-2A70;APPROXIMATELY EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2A71;EQUALS SIGN ABOVE PLUS SIGN;Sm;0;ON;;;;;N;;;;;
-2A72;PLUS SIGN ABOVE EQUALS SIGN;Sm;0;ON;;;;;N;;;;;
-2A73;EQUALS SIGN ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2A74;DOUBLE COLON EQUAL;Sm;0;ON;<compat> 003A 003A 003D;;;;Y;;;;;
-2A75;TWO CONSECUTIVE EQUALS SIGNS;Sm;0;ON;<compat> 003D 003D;;;;N;;;;;
-2A76;THREE CONSECUTIVE EQUALS SIGNS;Sm;0;ON;<compat> 003D 003D 003D;;;;N;;;;;
-2A77;EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW;Sm;0;ON;;;;;N;;;;;
-2A78;EQUIVALENT WITH FOUR DOTS ABOVE;Sm;0;ON;;;;;N;;;;;
-2A79;LESS-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;;
-2A7A;GREATER-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;;
-2A7B;LESS-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A7C;GREATER-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A7D;LESS-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2A7E;GREATER-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2A7F;LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
-2A80;GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
-2A81;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A82;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-2A83;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT;Sm;0;ON;;;;;Y;;;;;
-2A84;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT;Sm;0;ON;;;;;Y;;;;;
-2A85;LESS-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
-2A86;GREATER-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
-2A87;LESS-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2A88;GREATER-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2A89;LESS-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
-2A8A;GREATER-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;;
-2A8B;LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2A8C;GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2A8D;LESS-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;;
-2A8E;GREATER-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;;
-2A8F;LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2A90;GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2A91;LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;;
-2A92;GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;;
-2A93;LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
-2A94;GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
-2A95;SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2A96;SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2A97;SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
-2A98;SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;;
-2A99;DOUBLE-LINE EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2A9A;DOUBLE-LINE EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2A9B;DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2A9C;DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2A9D;SIMILAR OR LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2A9E;SIMILAR OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2A9F;SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AA0;SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AA1;DOUBLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2AA2;DOUBLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2AA3;DOUBLE NESTED LESS-THAN WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
-2AA4;GREATER-THAN OVERLAPPING LESS-THAN;Sm;0;ON;;;;;N;;;;;
-2AA5;GREATER-THAN BESIDE LESS-THAN;Sm;0;ON;;;;;N;;;;;
-2AA6;LESS-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;;
-2AA7;GREATER-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;;
-2AA8;LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
-2AA9;GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;;
-2AAA;SMALLER THAN;Sm;0;ON;;;;;Y;;;;;
-2AAB;LARGER THAN;Sm;0;ON;;;;;Y;;;;;
-2AAC;SMALLER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AAD;LARGER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AAE;EQUALS SIGN WITH BUMPY ABOVE;Sm;0;ON;;;;;N;;;;;
-2AAF;PRECEDES ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AB0;SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AB1;PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AB2;SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AB3;PRECEDES ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AB4;SUCCEEDS ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AB5;PRECEDES ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AB6;SUCCEEDS ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AB7;PRECEDES ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AB8;SUCCEEDS ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AB9;PRECEDES ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2ABA;SUCCEEDS ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2ABB;DOUBLE PRECEDES;Sm;0;ON;;;;;Y;;;;;
-2ABC;DOUBLE SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
-2ABD;SUBSET WITH DOT;Sm;0;ON;;;;;Y;;;;;
-2ABE;SUPERSET WITH DOT;Sm;0;ON;;;;;Y;;;;;
-2ABF;SUBSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
-2AC0;SUPERSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
-2AC1;SUBSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
-2AC2;SUPERSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;;
-2AC3;SUBSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-2AC4;SUPERSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;;
-2AC5;SUBSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AC6;SUPERSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;;
-2AC7;SUBSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2AC8;SUPERSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2AC9;SUBSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2ACA;SUPERSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2ACB;SUBSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2ACC;SUPERSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2ACD;SQUARE LEFT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2ACE;SQUARE RIGHT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2ACF;CLOSED SUBSET;Sm;0;ON;;;;;Y;;;;;
-2AD0;CLOSED SUPERSET;Sm;0;ON;;;;;Y;;;;;
-2AD1;CLOSED SUBSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AD2;CLOSED SUPERSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AD3;SUBSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;;
-2AD4;SUPERSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;;
-2AD5;SUBSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;;
-2AD6;SUPERSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;;
-2AD7;SUPERSET BESIDE SUBSET;Sm;0;ON;;;;;N;;;;;
-2AD8;SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET;Sm;0;ON;;;;;N;;;;;
-2AD9;ELEMENT OF OPENING DOWNWARDS;Sm;0;ON;;;;;N;;;;;
-2ADA;PITCHFORK WITH TEE TOP;Sm;0;ON;;;;;N;;;;;
-2ADB;TRANSVERSAL INTERSECTION;Sm;0;ON;;;;;N;;;;;
-2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;;;;
-2ADD;NONFORKING;Sm;0;ON;;;;;N;;;;;
-2ADE;SHORT LEFT TACK;Sm;0;ON;;;;;Y;;;;;
-2ADF;SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;;
-2AE0;SHORT UP TACK;Sm;0;ON;;;;;N;;;;;
-2AE1;PERPENDICULAR WITH S;Sm;0;ON;;;;;N;;;;;
-2AE2;VERTICAL BAR TRIPLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
-2AE3;DOUBLE VERTICAL BAR LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
-2AE4;VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
-2AE5;DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
-2AE6;LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL;Sm;0;ON;;;;;Y;;;;;
-2AE7;SHORT DOWN TACK WITH OVERBAR;Sm;0;ON;;;;;N;;;;;
-2AE8;SHORT UP TACK WITH UNDERBAR;Sm;0;ON;;;;;N;;;;;
-2AE9;SHORT UP TACK ABOVE SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;;
-2AEA;DOUBLE DOWN TACK;Sm;0;ON;;;;;N;;;;;
-2AEB;DOUBLE UP TACK;Sm;0;ON;;;;;N;;;;;
-2AEC;DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;;
-2AED;REVERSED DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;;
-2AEE;DOES NOT DIVIDE WITH REVERSED NEGATION SLASH;Sm;0;ON;;;;;Y;;;;;
-2AEF;VERTICAL LINE WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;;
-2AF0;VERTICAL LINE WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;;
-2AF1;DOWN TACK WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;;
-2AF2;PARALLEL WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
-2AF3;PARALLEL WITH TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2AF4;TRIPLE VERTICAL BAR BINARY RELATION;Sm;0;ON;;;;;N;;;;;
-2AF5;TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
-2AF6;TRIPLE COLON OPERATOR;Sm;0;ON;;;;;N;;;;;
-2AF7;TRIPLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;;
-2AF8;TRIPLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;;
-2AF9;DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AFA;DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
-2AFB;TRIPLE SOLIDUS BINARY RELATION;Sm;0;ON;;;;;Y;;;;;
-2AFC;LARGE TRIPLE VERTICAL BAR OPERATOR;Sm;0;ON;;;;;N;;;;;
-2AFD;DOUBLE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;;
-2AFE;WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
-2AFF;N-ARY WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;;
-2B00;NORTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;;
-2B01;NORTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;;
-2B02;SOUTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;;
-2B03;SOUTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;;
-2B04;LEFT RIGHT WHITE ARROW;So;0;ON;;;;;N;;;;;
-2B05;LEFTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B06;UPWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B07;DOWNWARDS BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B08;NORTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B09;NORTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B0A;SOUTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B0B;SOUTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B0C;LEFT RIGHT BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B0D;UP DOWN BLACK ARROW;So;0;ON;;;;;N;;;;;
-2B0E;RIGHTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
-2B0F;RIGHTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;;
-2B10;LEFTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;;
-2B11;LEFTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;;
-2B12;SQUARE WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;;
-2B13;SQUARE WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;;
-2B14;SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
-2B15;SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
-2B16;DIAMOND WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
-2B17;DIAMOND WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
-2B18;DIAMOND WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;;
-2B19;DIAMOND WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;;
-2B1A;DOTTED SQUARE;So;0;ON;;;;;N;;;;;
-2B1B;BLACK LARGE SQUARE;So;0;ON;;;;;N;;;;;
-2B1C;WHITE LARGE SQUARE;So;0;ON;;;;;N;;;;;
-2B1D;BLACK VERY SMALL SQUARE;So;0;ON;;;;;N;;;;;
-2B1E;WHITE VERY SMALL SQUARE;So;0;ON;;;;;N;;;;;
-2B1F;BLACK PENTAGON;So;0;ON;;;;;N;;;;;
-2B20;WHITE PENTAGON;So;0;ON;;;;;N;;;;;
-2B21;WHITE HEXAGON;So;0;ON;;;;;N;;;;;
-2B22;BLACK HEXAGON;So;0;ON;;;;;N;;;;;
-2B23;HORIZONTAL BLACK HEXAGON;So;0;ON;;;;;N;;;;;
-2B24;BLACK LARGE CIRCLE;So;0;ON;;;;;N;;;;;
-2B25;BLACK MEDIUM DIAMOND;So;0;ON;;;;;N;;;;;
-2B26;WHITE MEDIUM DIAMOND;So;0;ON;;;;;N;;;;;
-2B27;BLACK MEDIUM LOZENGE;So;0;ON;;;;;N;;;;;
-2B28;WHITE MEDIUM LOZENGE;So;0;ON;;;;;N;;;;;
-2B29;BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;;
-2B2A;BLACK SMALL LOZENGE;So;0;ON;;;;;N;;;;;
-2B2B;WHITE SMALL LOZENGE;So;0;ON;;;;;N;;;;;
-2B2C;BLACK HORIZONTAL ELLIPSE;So;0;ON;;;;;N;;;;;
-2B2D;WHITE HORIZONTAL ELLIPSE;So;0;ON;;;;;N;;;;;
-2B2E;BLACK VERTICAL ELLIPSE;So;0;ON;;;;;N;;;;;
-2B2F;WHITE VERTICAL ELLIPSE;So;0;ON;;;;;N;;;;;
-2B30;LEFT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;;
-2B31;THREE LEFTWARDS ARROWS;Sm;0;ON;;;;;N;;;;;
-2B32;LEFT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;;
-2B33;LONG LEFTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;;
-2B34;LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2B35;LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2B36;LEFTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;;
-2B37;LEFTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;;
-2B38;LEFTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;;
-2B39;LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2B3A;LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2B3B;LEFTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;;
-2B3C;LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2B3D;LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;;
-2B3E;LEFTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;;
-2B3F;WAVE ARROW POINTING DIRECTLY LEFT;Sm;0;ON;;;;;N;;;;;
-2B40;EQUALS SIGN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2B41;REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2B42;LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2B43;RIGHTWARDS ARROW THROUGH GREATER-THAN;Sm;0;ON;;;;;N;;;;;
-2B44;RIGHTWARDS ARROW THROUGH SUPERSET;Sm;0;ON;;;;;N;;;;;
-2B45;LEFTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;;
-2B46;RIGHTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;;
-2B47;REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2B48;RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2B49;TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;;
-2B4A;LEFTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;;
-2B4B;LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
-2B4C;RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;;
-2B50;WHITE MEDIUM STAR;So;0;ON;;;;;N;;;;;
-2B51;BLACK SMALL STAR;So;0;ON;;;;;N;;;;;
-2B52;WHITE SMALL STAR;So;0;ON;;;;;N;;;;;
-2B53;BLACK RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;;
-2B54;WHITE RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;;
-2B55;HEAVY LARGE CIRCLE;So;0;ON;;;;;N;;;;;
-2B56;HEAVY OVAL WITH OVAL INSIDE;So;0;ON;;;;;N;;;;;
-2B57;HEAVY CIRCLE WITH CIRCLE INSIDE;So;0;ON;;;;;N;;;;;
-2B58;HEAVY CIRCLE;So;0;ON;;;;;N;;;;;
-2B59;HEAVY CIRCLED SALTIRE;So;0;ON;;;;;N;;;;;
-2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
-2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
-2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
-2C03;GLAGOLITIC CAPITAL LETTER GLAGOLI;Lu;0;L;;;;;N;;;;2C33;
-2C04;GLAGOLITIC CAPITAL LETTER DOBRO;Lu;0;L;;;;;N;;;;2C34;
-2C05;GLAGOLITIC CAPITAL LETTER YESTU;Lu;0;L;;;;;N;;;;2C35;
-2C06;GLAGOLITIC CAPITAL LETTER ZHIVETE;Lu;0;L;;;;;N;;;;2C36;
-2C07;GLAGOLITIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;2C37;
-2C08;GLAGOLITIC CAPITAL LETTER ZEMLJA;Lu;0;L;;;;;N;;;;2C38;
-2C09;GLAGOLITIC CAPITAL LETTER IZHE;Lu;0;L;;;;;N;;;;2C39;
-2C0A;GLAGOLITIC CAPITAL LETTER INITIAL IZHE;Lu;0;L;;;;;N;;;;2C3A;
-2C0B;GLAGOLITIC CAPITAL LETTER I;Lu;0;L;;;;;N;;;;2C3B;
-2C0C;GLAGOLITIC CAPITAL LETTER DJERVI;Lu;0;L;;;;;N;;;;2C3C;
-2C0D;GLAGOLITIC CAPITAL LETTER KAKO;Lu;0;L;;;;;N;;;;2C3D;
-2C0E;GLAGOLITIC CAPITAL LETTER LJUDIJE;Lu;0;L;;;;;N;;;;2C3E;
-2C0F;GLAGOLITIC CAPITAL LETTER MYSLITE;Lu;0;L;;;;;N;;;;2C3F;
-2C10;GLAGOLITIC CAPITAL LETTER NASHI;Lu;0;L;;;;;N;;;;2C40;
-2C11;GLAGOLITIC CAPITAL LETTER ONU;Lu;0;L;;;;;N;;;;2C41;
-2C12;GLAGOLITIC CAPITAL LETTER POKOJI;Lu;0;L;;;;;N;;;;2C42;
-2C13;GLAGOLITIC CAPITAL LETTER RITSI;Lu;0;L;;;;;N;;;;2C43;
-2C14;GLAGOLITIC CAPITAL LETTER SLOVO;Lu;0;L;;;;;N;;;;2C44;
-2C15;GLAGOLITIC CAPITAL LETTER TVRIDO;Lu;0;L;;;;;N;;;;2C45;
-2C16;GLAGOLITIC CAPITAL LETTER UKU;Lu;0;L;;;;;N;;;;2C46;
-2C17;GLAGOLITIC CAPITAL LETTER FRITU;Lu;0;L;;;;;N;;;;2C47;
-2C18;GLAGOLITIC CAPITAL LETTER HERU;Lu;0;L;;;;;N;;;;2C48;
-2C19;GLAGOLITIC CAPITAL LETTER OTU;Lu;0;L;;;;;N;;;;2C49;
-2C1A;GLAGOLITIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;2C4A;
-2C1B;GLAGOLITIC CAPITAL LETTER SHTA;Lu;0;L;;;;;N;;;;2C4B;
-2C1C;GLAGOLITIC CAPITAL LETTER TSI;Lu;0;L;;;;;N;;;;2C4C;
-2C1D;GLAGOLITIC CAPITAL LETTER CHRIVI;Lu;0;L;;;;;N;;;;2C4D;
-2C1E;GLAGOLITIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;2C4E;
-2C1F;GLAGOLITIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;;;;2C4F;
-2C20;GLAGOLITIC CAPITAL LETTER YERI;Lu;0;L;;;;;N;;;;2C50;
-2C21;GLAGOLITIC CAPITAL LETTER YATI;Lu;0;L;;;;;N;;;;2C51;
-2C22;GLAGOLITIC CAPITAL LETTER SPIDERY HA;Lu;0;L;;;;;N;;;;2C52;
-2C23;GLAGOLITIC CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;2C53;
-2C24;GLAGOLITIC CAPITAL LETTER SMALL YUS;Lu;0;L;;;;;N;;;;2C54;
-2C25;GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL;Lu;0;L;;;;;N;;;;2C55;
-2C26;GLAGOLITIC CAPITAL LETTER YO;Lu;0;L;;;;;N;;;;2C56;
-2C27;GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS;Lu;0;L;;;;;N;;;;2C57;
-2C28;GLAGOLITIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;2C58;
-2C29;GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS;Lu;0;L;;;;;N;;;;2C59;
-2C2A;GLAGOLITIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;2C5A;
-2C2B;GLAGOLITIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;2C5B;
-2C2C;GLAGOLITIC CAPITAL LETTER SHTAPIC;Lu;0;L;;;;;N;;;;2C5C;
-2C2D;GLAGOLITIC CAPITAL LETTER TROKUTASTI A;Lu;0;L;;;;;N;;;;2C5D;
-2C2E;GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE;Lu;0;L;;;;;N;;;;2C5E;
-2C30;GLAGOLITIC SMALL LETTER AZU;Ll;0;L;;;;;N;;;2C00;;2C00
-2C31;GLAGOLITIC SMALL LETTER BUKY;Ll;0;L;;;;;N;;;2C01;;2C01
-2C32;GLAGOLITIC SMALL LETTER VEDE;Ll;0;L;;;;;N;;;2C02;;2C02
-2C33;GLAGOLITIC SMALL LETTER GLAGOLI;Ll;0;L;;;;;N;;;2C03;;2C03
-2C34;GLAGOLITIC SMALL LETTER DOBRO;Ll;0;L;;;;;N;;;2C04;;2C04
-2C35;GLAGOLITIC SMALL LETTER YESTU;Ll;0;L;;;;;N;;;2C05;;2C05
-2C36;GLAGOLITIC SMALL LETTER ZHIVETE;Ll;0;L;;;;;N;;;2C06;;2C06
-2C37;GLAGOLITIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;2C07;;2C07
-2C38;GLAGOLITIC SMALL LETTER ZEMLJA;Ll;0;L;;;;;N;;;2C08;;2C08
-2C39;GLAGOLITIC SMALL LETTER IZHE;Ll;0;L;;;;;N;;;2C09;;2C09
-2C3A;GLAGOLITIC SMALL LETTER INITIAL IZHE;Ll;0;L;;;;;N;;;2C0A;;2C0A
-2C3B;GLAGOLITIC SMALL LETTER I;Ll;0;L;;;;;N;;;2C0B;;2C0B
-2C3C;GLAGOLITIC SMALL LETTER DJERVI;Ll;0;L;;;;;N;;;2C0C;;2C0C
-2C3D;GLAGOLITIC SMALL LETTER KAKO;Ll;0;L;;;;;N;;;2C0D;;2C0D
-2C3E;GLAGOLITIC SMALL LETTER LJUDIJE;Ll;0;L;;;;;N;;;2C0E;;2C0E
-2C3F;GLAGOLITIC SMALL LETTER MYSLITE;Ll;0;L;;;;;N;;;2C0F;;2C0F
-2C40;GLAGOLITIC SMALL LETTER NASHI;Ll;0;L;;;;;N;;;2C10;;2C10
-2C41;GLAGOLITIC SMALL LETTER ONU;Ll;0;L;;;;;N;;;2C11;;2C11
-2C42;GLAGOLITIC SMALL LETTER POKOJI;Ll;0;L;;;;;N;;;2C12;;2C12
-2C43;GLAGOLITIC SMALL LETTER RITSI;Ll;0;L;;;;;N;;;2C13;;2C13
-2C44;GLAGOLITIC SMALL LETTER SLOVO;Ll;0;L;;;;;N;;;2C14;;2C14
-2C45;GLAGOLITIC SMALL LETTER TVRIDO;Ll;0;L;;;;;N;;;2C15;;2C15
-2C46;GLAGOLITIC SMALL LETTER UKU;Ll;0;L;;;;;N;;;2C16;;2C16
-2C47;GLAGOLITIC SMALL LETTER FRITU;Ll;0;L;;;;;N;;;2C17;;2C17
-2C48;GLAGOLITIC SMALL LETTER HERU;Ll;0;L;;;;;N;;;2C18;;2C18
-2C49;GLAGOLITIC SMALL LETTER OTU;Ll;0;L;;;;;N;;;2C19;;2C19
-2C4A;GLAGOLITIC SMALL LETTER PE;Ll;0;L;;;;;N;;;2C1A;;2C1A
-2C4B;GLAGOLITIC SMALL LETTER SHTA;Ll;0;L;;;;;N;;;2C1B;;2C1B
-2C4C;GLAGOLITIC SMALL LETTER TSI;Ll;0;L;;;;;N;;;2C1C;;2C1C
-2C4D;GLAGOLITIC SMALL LETTER CHRIVI;Ll;0;L;;;;;N;;;2C1D;;2C1D
-2C4E;GLAGOLITIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;2C1E;;2C1E
-2C4F;GLAGOLITIC SMALL LETTER YERU;Ll;0;L;;;;;N;;;2C1F;;2C1F
-2C50;GLAGOLITIC SMALL LETTER YERI;Ll;0;L;;;;;N;;;2C20;;2C20
-2C51;GLAGOLITIC SMALL LETTER YATI;Ll;0;L;;;;;N;;;2C21;;2C21
-2C52;GLAGOLITIC SMALL LETTER SPIDERY HA;Ll;0;L;;;;;N;;;2C22;;2C22
-2C53;GLAGOLITIC SMALL LETTER YU;Ll;0;L;;;;;N;;;2C23;;2C23
-2C54;GLAGOLITIC SMALL LETTER SMALL YUS;Ll;0;L;;;;;N;;;2C24;;2C24
-2C55;GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL;Ll;0;L;;;;;N;;;2C25;;2C25
-2C56;GLAGOLITIC SMALL LETTER YO;Ll;0;L;;;;;N;;;2C26;;2C26
-2C57;GLAGOLITIC SMALL LETTER IOTATED SMALL YUS;Ll;0;L;;;;;N;;;2C27;;2C27
-2C58;GLAGOLITIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;2C28;;2C28
-2C59;GLAGOLITIC SMALL LETTER IOTATED BIG YUS;Ll;0;L;;;;;N;;;2C29;;2C29
-2C5A;GLAGOLITIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;2C2A;;2C2A
-2C5B;GLAGOLITIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;2C2B;;2C2B
-2C5C;GLAGOLITIC SMALL LETTER SHTAPIC;Ll;0;L;;;;;N;;;2C2C;;2C2C
-2C5D;GLAGOLITIC SMALL LETTER TROKUTASTI A;Ll;0;L;;;;;N;;;2C2D;;2C2D
-2C5E;GLAGOLITIC SMALL LETTER LATINATE MYSLITE;Ll;0;L;;;;;N;;;2C2E;;2C2E
-2C60;LATIN CAPITAL LETTER L WITH DOUBLE BAR;Lu;0;L;;;;;N;;;;2C61;
-2C61;LATIN SMALL LETTER L WITH DOUBLE BAR;Ll;0;L;;;;;N;;;2C60;;2C60
-2C62;LATIN CAPITAL LETTER L WITH MIDDLE TILDE;Lu;0;L;;;;;N;;;;026B;
-2C63;LATIN CAPITAL LETTER P WITH STROKE;Lu;0;L;;;;;N;;;;1D7D;
-2C64;LATIN CAPITAL LETTER R WITH TAIL;Lu;0;L;;;;;N;;;;027D;
-2C65;LATIN SMALL LETTER A WITH STROKE;Ll;0;L;;;;;N;;;023A;;023A
-2C66;LATIN SMALL LETTER T WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;023E;;023E
-2C67;LATIN CAPITAL LETTER H WITH DESCENDER;Lu;0;L;;;;;N;;;;2C68;
-2C68;LATIN SMALL LETTER H WITH DESCENDER;Ll;0;L;;;;;N;;;2C67;;2C67
-2C69;LATIN CAPITAL LETTER K WITH DESCENDER;Lu;0;L;;;;;N;;;;2C6A;
-2C6A;LATIN SMALL LETTER K WITH DESCENDER;Ll;0;L;;;;;N;;;2C69;;2C69
-2C6B;LATIN CAPITAL LETTER Z WITH DESCENDER;Lu;0;L;;;;;N;;;;2C6C;
-2C6C;LATIN SMALL LETTER Z WITH DESCENDER;Ll;0;L;;;;;N;;;2C6B;;2C6B
-2C6D;LATIN CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;0251;
-2C6E;LATIN CAPITAL LETTER M WITH HOOK;Lu;0;L;;;;;N;;;;0271;
-2C6F;LATIN CAPITAL LETTER TURNED A;Lu;0;L;;;;;N;;;;0250;
-2C70;LATIN CAPITAL LETTER TURNED ALPHA;Lu;0;L;;;;;N;;;;0252;
-2C71;LATIN SMALL LETTER V WITH RIGHT HOOK;Ll;0;L;;;;;N;;;;;
-2C72;LATIN CAPITAL LETTER W WITH HOOK;Lu;0;L;;;;;N;;;;2C73;
-2C73;LATIN SMALL LETTER W WITH HOOK;Ll;0;L;;;;;N;;;2C72;;2C72
-2C74;LATIN SMALL LETTER V WITH CURL;Ll;0;L;;;;;N;;;;;
-2C75;LATIN CAPITAL LETTER HALF H;Lu;0;L;;;;;N;;;;2C76;
-2C76;LATIN SMALL LETTER HALF H;Ll;0;L;;;;;N;;;2C75;;2C75
-2C77;LATIN SMALL LETTER TAILLESS PHI;Ll;0;L;;;;;N;;;;;
-2C78;LATIN SMALL LETTER E WITH NOTCH;Ll;0;L;;;;;N;;;;;
-2C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;;
-2C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;;
-2C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;;
-2C7C;LATIN SUBSCRIPT SMALL LETTER J;Ll;0;L;<sub> 006A;;;;N;;;;;
-2C7D;MODIFIER LETTER CAPITAL V;Lm;0;L;<super> 0056;;;;N;;;;;
-2C7E;LATIN CAPITAL LETTER S WITH SWASH TAIL;Lu;0;L;;;;;N;;;;023F;
-2C7F;LATIN CAPITAL LETTER Z WITH SWASH TAIL;Lu;0;L;;;;;N;;;;0240;
-2C80;COPTIC CAPITAL LETTER ALFA;Lu;0;L;;;;;N;;;;2C81;
-2C81;COPTIC SMALL LETTER ALFA;Ll;0;L;;;;;N;;;2C80;;2C80
-2C82;COPTIC CAPITAL LETTER VIDA;Lu;0;L;;;;;N;;;;2C83;
-2C83;COPTIC SMALL LETTER VIDA;Ll;0;L;;;;;N;;;2C82;;2C82
-2C84;COPTIC CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;2C85;
-2C85;COPTIC SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;2C84;;2C84
-2C86;COPTIC CAPITAL LETTER DALDA;Lu;0;L;;;;;N;;;;2C87;
-2C87;COPTIC SMALL LETTER DALDA;Ll;0;L;;;;;N;;;2C86;;2C86
-2C88;COPTIC CAPITAL LETTER EIE;Lu;0;L;;;;;N;;;;2C89;
-2C89;COPTIC SMALL LETTER EIE;Ll;0;L;;;;;N;;;2C88;;2C88
-2C8A;COPTIC CAPITAL LETTER SOU;Lu;0;L;;;;;N;;;;2C8B;
-2C8B;COPTIC SMALL LETTER SOU;Ll;0;L;;;;;N;;;2C8A;;2C8A
-2C8C;COPTIC CAPITAL LETTER ZATA;Lu;0;L;;;;;N;;;;2C8D;
-2C8D;COPTIC SMALL LETTER ZATA;Ll;0;L;;;;;N;;;2C8C;;2C8C
-2C8E;COPTIC CAPITAL LETTER HATE;Lu;0;L;;;;;N;;;;2C8F;
-2C8F;COPTIC SMALL LETTER HATE;Ll;0;L;;;;;N;;;2C8E;;2C8E
-2C90;COPTIC CAPITAL LETTER THETHE;Lu;0;L;;;;;N;;;;2C91;
-2C91;COPTIC SMALL LETTER THETHE;Ll;0;L;;;;;N;;;2C90;;2C90
-2C92;COPTIC CAPITAL LETTER IAUDA;Lu;0;L;;;;;N;;;;2C93;
-2C93;COPTIC SMALL LETTER IAUDA;Ll;0;L;;;;;N;;;2C92;;2C92
-2C94;COPTIC CAPITAL LETTER KAPA;Lu;0;L;;;;;N;;;;2C95;
-2C95;COPTIC SMALL LETTER KAPA;Ll;0;L;;;;;N;;;2C94;;2C94
-2C96;COPTIC CAPITAL LETTER LAULA;Lu;0;L;;;;;N;;;;2C97;
-2C97;COPTIC SMALL LETTER LAULA;Ll;0;L;;;;;N;;;2C96;;2C96
-2C98;COPTIC CAPITAL LETTER MI;Lu;0;L;;;;;N;;;;2C99;
-2C99;COPTIC SMALL LETTER MI;Ll;0;L;;;;;N;;;2C98;;2C98
-2C9A;COPTIC CAPITAL LETTER NI;Lu;0;L;;;;;N;;;;2C9B;
-2C9B;COPTIC SMALL LETTER NI;Ll;0;L;;;;;N;;;2C9A;;2C9A
-2C9C;COPTIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;2C9D;
-2C9D;COPTIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;2C9C;;2C9C
-2C9E;COPTIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;2C9F;
-2C9F;COPTIC SMALL LETTER O;Ll;0;L;;;;;N;;;2C9E;;2C9E
-2CA0;COPTIC CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;2CA1;
-2CA1;COPTIC SMALL LETTER PI;Ll;0;L;;;;;N;;;2CA0;;2CA0
-2CA2;COPTIC CAPITAL LETTER RO;Lu;0;L;;;;;N;;;;2CA3;
-2CA3;COPTIC SMALL LETTER RO;Ll;0;L;;;;;N;;;2CA2;;2CA2
-2CA4;COPTIC CAPITAL LETTER SIMA;Lu;0;L;;;;;N;;;;2CA5;
-2CA5;COPTIC SMALL LETTER SIMA;Ll;0;L;;;;;N;;;2CA4;;2CA4
-2CA6;COPTIC CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;2CA7;
-2CA7;COPTIC SMALL LETTER TAU;Ll;0;L;;;;;N;;;2CA6;;2CA6
-2CA8;COPTIC CAPITAL LETTER UA;Lu;0;L;;;;;N;;;;2CA9;
-2CA9;COPTIC SMALL LETTER UA;Ll;0;L;;;;;N;;;2CA8;;2CA8
-2CAA;COPTIC CAPITAL LETTER FI;Lu;0;L;;;;;N;;;;2CAB;
-2CAB;COPTIC SMALL LETTER FI;Ll;0;L;;;;;N;;;2CAA;;2CAA
-2CAC;COPTIC CAPITAL LETTER KHI;Lu;0;L;;;;;N;;;;2CAD;
-2CAD;COPTIC SMALL LETTER KHI;Ll;0;L;;;;;N;;;2CAC;;2CAC
-2CAE;COPTIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;2CAF;
-2CAF;COPTIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;2CAE;;2CAE
-2CB0;COPTIC CAPITAL LETTER OOU;Lu;0;L;;;;;N;;;;2CB1;
-2CB1;COPTIC SMALL LETTER OOU;Ll;0;L;;;;;N;;;2CB0;;2CB0
-2CB2;COPTIC CAPITAL LETTER DIALECT-P ALEF;Lu;0;L;;;;;N;;;;2CB3;
-2CB3;COPTIC SMALL LETTER DIALECT-P ALEF;Ll;0;L;;;;;N;;;2CB2;;2CB2
-2CB4;COPTIC CAPITAL LETTER OLD COPTIC AIN;Lu;0;L;;;;;N;;;;2CB5;
-2CB5;COPTIC SMALL LETTER OLD COPTIC AIN;Ll;0;L;;;;;N;;;2CB4;;2CB4
-2CB6;COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE;Lu;0;L;;;;;N;;;;2CB7;
-2CB7;COPTIC SMALL LETTER CRYPTOGRAMMIC EIE;Ll;0;L;;;;;N;;;2CB6;;2CB6
-2CB8;COPTIC CAPITAL LETTER DIALECT-P KAPA;Lu;0;L;;;;;N;;;;2CB9;
-2CB9;COPTIC SMALL LETTER DIALECT-P KAPA;Ll;0;L;;;;;N;;;2CB8;;2CB8
-2CBA;COPTIC CAPITAL LETTER DIALECT-P NI;Lu;0;L;;;;;N;;;;2CBB;
-2CBB;COPTIC SMALL LETTER DIALECT-P NI;Ll;0;L;;;;;N;;;2CBA;;2CBA
-2CBC;COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI;Lu;0;L;;;;;N;;;;2CBD;
-2CBD;COPTIC SMALL LETTER CRYPTOGRAMMIC NI;Ll;0;L;;;;;N;;;2CBC;;2CBC
-2CBE;COPTIC CAPITAL LETTER OLD COPTIC OOU;Lu;0;L;;;;;N;;;;2CBF;
-2CBF;COPTIC SMALL LETTER OLD COPTIC OOU;Ll;0;L;;;;;N;;;2CBE;;2CBE
-2CC0;COPTIC CAPITAL LETTER SAMPI;Lu;0;L;;;;;N;;;;2CC1;
-2CC1;COPTIC SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;2CC0;;2CC0
-2CC2;COPTIC CAPITAL LETTER CROSSED SHEI;Lu;0;L;;;;;N;;;;2CC3;
-2CC3;COPTIC SMALL LETTER CROSSED SHEI;Ll;0;L;;;;;N;;;2CC2;;2CC2
-2CC4;COPTIC CAPITAL LETTER OLD COPTIC SHEI;Lu;0;L;;;;;N;;;;2CC5;
-2CC5;COPTIC SMALL LETTER OLD COPTIC SHEI;Ll;0;L;;;;;N;;;2CC4;;2CC4
-2CC6;COPTIC CAPITAL LETTER OLD COPTIC ESH;Lu;0;L;;;;;N;;;;2CC7;
-2CC7;COPTIC SMALL LETTER OLD COPTIC ESH;Ll;0;L;;;;;N;;;2CC6;;2CC6
-2CC8;COPTIC CAPITAL LETTER AKHMIMIC KHEI;Lu;0;L;;;;;N;;;;2CC9;
-2CC9;COPTIC SMALL LETTER AKHMIMIC KHEI;Ll;0;L;;;;;N;;;2CC8;;2CC8
-2CCA;COPTIC CAPITAL LETTER DIALECT-P HORI;Lu;0;L;;;;;N;;;;2CCB;
-2CCB;COPTIC SMALL LETTER DIALECT-P HORI;Ll;0;L;;;;;N;;;2CCA;;2CCA
-2CCC;COPTIC CAPITAL LETTER OLD COPTIC HORI;Lu;0;L;;;;;N;;;;2CCD;
-2CCD;COPTIC SMALL LETTER OLD COPTIC HORI;Ll;0;L;;;;;N;;;2CCC;;2CCC
-2CCE;COPTIC CAPITAL LETTER OLD COPTIC HA;Lu;0;L;;;;;N;;;;2CCF;
-2CCF;COPTIC SMALL LETTER OLD COPTIC HA;Ll;0;L;;;;;N;;;2CCE;;2CCE
-2CD0;COPTIC CAPITAL LETTER L-SHAPED HA;Lu;0;L;;;;;N;;;;2CD1;
-2CD1;COPTIC SMALL LETTER L-SHAPED HA;Ll;0;L;;;;;N;;;2CD0;;2CD0
-2CD2;COPTIC CAPITAL LETTER OLD COPTIC HEI;Lu;0;L;;;;;N;;;;2CD3;
-2CD3;COPTIC SMALL LETTER OLD COPTIC HEI;Ll;0;L;;;;;N;;;2CD2;;2CD2
-2CD4;COPTIC CAPITAL LETTER OLD COPTIC HAT;Lu;0;L;;;;;N;;;;2CD5;
-2CD5;COPTIC SMALL LETTER OLD COPTIC HAT;Ll;0;L;;;;;N;;;2CD4;;2CD4
-2CD6;COPTIC CAPITAL LETTER OLD COPTIC GANGIA;Lu;0;L;;;;;N;;;;2CD7;
-2CD7;COPTIC SMALL LETTER OLD COPTIC GANGIA;Ll;0;L;;;;;N;;;2CD6;;2CD6
-2CD8;COPTIC CAPITAL LETTER OLD COPTIC DJA;Lu;0;L;;;;;N;;;;2CD9;
-2CD9;COPTIC SMALL LETTER OLD COPTIC DJA;Ll;0;L;;;;;N;;;2CD8;;2CD8
-2CDA;COPTIC CAPITAL LETTER OLD COPTIC SHIMA;Lu;0;L;;;;;N;;;;2CDB;
-2CDB;COPTIC SMALL LETTER OLD COPTIC SHIMA;Ll;0;L;;;;;N;;;2CDA;;2CDA
-2CDC;COPTIC CAPITAL LETTER OLD NUBIAN SHIMA;Lu;0;L;;;;;N;;;;2CDD;
-2CDD;COPTIC SMALL LETTER OLD NUBIAN SHIMA;Ll;0;L;;;;;N;;;2CDC;;2CDC
-2CDE;COPTIC CAPITAL LETTER OLD NUBIAN NGI;Lu;0;L;;;;;N;;;;2CDF;
-2CDF;COPTIC SMALL LETTER OLD NUBIAN NGI;Ll;0;L;;;;;N;;;2CDE;;2CDE
-2CE0;COPTIC CAPITAL LETTER OLD NUBIAN NYI;Lu;0;L;;;;;N;;;;2CE1;
-2CE1;COPTIC SMALL LETTER OLD NUBIAN NYI;Ll;0;L;;;;;N;;;2CE0;;2CE0
-2CE2;COPTIC CAPITAL LETTER OLD NUBIAN WAU;Lu;0;L;;;;;N;;;;2CE3;
-2CE3;COPTIC SMALL LETTER OLD NUBIAN WAU;Ll;0;L;;;;;N;;;2CE2;;2CE2
-2CE4;COPTIC SYMBOL KAI;Ll;0;L;;;;;N;;;;;
-2CE5;COPTIC SYMBOL MI RO;So;0;ON;;;;;N;;;;;
-2CE6;COPTIC SYMBOL PI RO;So;0;ON;;;;;N;;;;;
-2CE7;COPTIC SYMBOL STAUROS;So;0;ON;;;;;N;;;;;
-2CE8;COPTIC SYMBOL TAU RO;So;0;ON;;;;;N;;;;;
-2CE9;COPTIC SYMBOL KHI RO;So;0;ON;;;;;N;;;;;
-2CEA;COPTIC SYMBOL SHIMA SIMA;So;0;ON;;;;;N;;;;;
-2CEB;COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI;Lu;0;L;;;;;N;;;;2CEC;
-2CEC;COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI;Ll;0;L;;;;;N;;;2CEB;;2CEB
-2CED;COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA;Lu;0;L;;;;;N;;;;2CEE;
-2CEE;COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA;Ll;0;L;;;;;N;;;2CED;;2CED
-2CEF;COPTIC COMBINING NI ABOVE;Mn;230;NSM;;;;;N;;;;;
-2CF0;COPTIC COMBINING SPIRITUS ASPER;Mn;230;NSM;;;;;N;;;;;
-2CF1;COPTIC COMBINING SPIRITUS LENIS;Mn;230;NSM;;;;;N;;;;;
-2CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;;
-2CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
-2CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
-2CFC;COPTIC OLD NUBIAN VERSE DIVIDER;Po;0;ON;;;;;N;;;;;
-2CFD;COPTIC FRACTION ONE HALF;No;0;ON;;;;1/2;N;;;;;
-2CFE;COPTIC FULL STOP;Po;0;ON;;;;;N;;;;;
-2CFF;COPTIC MORPHOLOGICAL DIVIDER;Po;0;ON;;;;;N;;;;;
-2D00;GEORGIAN SMALL LETTER AN;Ll;0;L;;;;;N;;;10A0;;10A0
-2D01;GEORGIAN SMALL LETTER BAN;Ll;0;L;;;;;N;;;10A1;;10A1
-2D02;GEORGIAN SMALL LETTER GAN;Ll;0;L;;;;;N;;;10A2;;10A2
-2D03;GEORGIAN SMALL LETTER DON;Ll;0;L;;;;;N;;;10A3;;10A3
-2D04;GEORGIAN SMALL LETTER EN;Ll;0;L;;;;;N;;;10A4;;10A4
-2D05;GEORGIAN SMALL LETTER VIN;Ll;0;L;;;;;N;;;10A5;;10A5
-2D06;GEORGIAN SMALL LETTER ZEN;Ll;0;L;;;;;N;;;10A6;;10A6
-2D07;GEORGIAN SMALL LETTER TAN;Ll;0;L;;;;;N;;;10A7;;10A7
-2D08;GEORGIAN SMALL LETTER IN;Ll;0;L;;;;;N;;;10A8;;10A8
-2D09;GEORGIAN SMALL LETTER KAN;Ll;0;L;;;;;N;;;10A9;;10A9
-2D0A;GEORGIAN SMALL LETTER LAS;Ll;0;L;;;;;N;;;10AA;;10AA
-2D0B;GEORGIAN SMALL LETTER MAN;Ll;0;L;;;;;N;;;10AB;;10AB
-2D0C;GEORGIAN SMALL LETTER NAR;Ll;0;L;;;;;N;;;10AC;;10AC
-2D0D;GEORGIAN SMALL LETTER ON;Ll;0;L;;;;;N;;;10AD;;10AD
-2D0E;GEORGIAN SMALL LETTER PAR;Ll;0;L;;;;;N;;;10AE;;10AE
-2D0F;GEORGIAN SMALL LETTER ZHAR;Ll;0;L;;;;;N;;;10AF;;10AF
-2D10;GEORGIAN SMALL LETTER RAE;Ll;0;L;;;;;N;;;10B0;;10B0
-2D11;GEORGIAN SMALL LETTER SAN;Ll;0;L;;;;;N;;;10B1;;10B1
-2D12;GEORGIAN SMALL LETTER TAR;Ll;0;L;;;;;N;;;10B2;;10B2
-2D13;GEORGIAN SMALL LETTER UN;Ll;0;L;;;;;N;;;10B3;;10B3
-2D14;GEORGIAN SMALL LETTER PHAR;Ll;0;L;;;;;N;;;10B4;;10B4
-2D15;GEORGIAN SMALL LETTER KHAR;Ll;0;L;;;;;N;;;10B5;;10B5
-2D16;GEORGIAN SMALL LETTER GHAN;Ll;0;L;;;;;N;;;10B6;;10B6
-2D17;GEORGIAN SMALL LETTER QAR;Ll;0;L;;;;;N;;;10B7;;10B7
-2D18;GEORGIAN SMALL LETTER SHIN;Ll;0;L;;;;;N;;;10B8;;10B8
-2D19;GEORGIAN SMALL LETTER CHIN;Ll;0;L;;;;;N;;;10B9;;10B9
-2D1A;GEORGIAN SMALL LETTER CAN;Ll;0;L;;;;;N;;;10BA;;10BA
-2D1B;GEORGIAN SMALL LETTER JIL;Ll;0;L;;;;;N;;;10BB;;10BB
-2D1C;GEORGIAN SMALL LETTER CIL;Ll;0;L;;;;;N;;;10BC;;10BC
-2D1D;GEORGIAN SMALL LETTER CHAR;Ll;0;L;;;;;N;;;10BD;;10BD
-2D1E;GEORGIAN SMALL LETTER XAN;Ll;0;L;;;;;N;;;10BE;;10BE
-2D1F;GEORGIAN SMALL LETTER JHAN;Ll;0;L;;;;;N;;;10BF;;10BF
-2D20;GEORGIAN SMALL LETTER HAE;Ll;0;L;;;;;N;;;10C0;;10C0
-2D21;GEORGIAN SMALL LETTER HE;Ll;0;L;;;;;N;;;10C1;;10C1
-2D22;GEORGIAN SMALL LETTER HIE;Ll;0;L;;;;;N;;;10C2;;10C2
-2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;;10C3;;10C3
-2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;;10C4;;10C4
-2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;;10C5;;10C5
-2D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;;
-2D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;;
-2D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;;
-2D33;TIFINAGH LETTER YAG;Lo;0;L;;;;;N;;;;;
-2D34;TIFINAGH LETTER YAGHH;Lo;0;L;;;;;N;;;;;
-2D35;TIFINAGH LETTER BERBER ACADEMY YAJ;Lo;0;L;;;;;N;;;;;
-2D36;TIFINAGH LETTER YAJ;Lo;0;L;;;;;N;;;;;
-2D37;TIFINAGH LETTER YAD;Lo;0;L;;;;;N;;;;;
-2D38;TIFINAGH LETTER YADH;Lo;0;L;;;;;N;;;;;
-2D39;TIFINAGH LETTER YADD;Lo;0;L;;;;;N;;;;;
-2D3A;TIFINAGH LETTER YADDH;Lo;0;L;;;;;N;;;;;
-2D3B;TIFINAGH LETTER YEY;Lo;0;L;;;;;N;;;;;
-2D3C;TIFINAGH LETTER YAF;Lo;0;L;;;;;N;;;;;
-2D3D;TIFINAGH LETTER YAK;Lo;0;L;;;;;N;;;;;
-2D3E;TIFINAGH LETTER TUAREG YAK;Lo;0;L;;;;;N;;;;;
-2D3F;TIFINAGH LETTER YAKHH;Lo;0;L;;;;;N;;;;;
-2D40;TIFINAGH LETTER YAH;Lo;0;L;;;;;N;;;;;
-2D41;TIFINAGH LETTER BERBER ACADEMY YAH;Lo;0;L;;;;;N;;;;;
-2D42;TIFINAGH LETTER TUAREG YAH;Lo;0;L;;;;;N;;;;;
-2D43;TIFINAGH LETTER YAHH;Lo;0;L;;;;;N;;;;;
-2D44;TIFINAGH LETTER YAA;Lo;0;L;;;;;N;;;;;
-2D45;TIFINAGH LETTER YAKH;Lo;0;L;;;;;N;;;;;
-2D46;TIFINAGH LETTER TUAREG YAKH;Lo;0;L;;;;;N;;;;;
-2D47;TIFINAGH LETTER YAQ;Lo;0;L;;;;;N;;;;;
-2D48;TIFINAGH LETTER TUAREG YAQ;Lo;0;L;;;;;N;;;;;
-2D49;TIFINAGH LETTER YI;Lo;0;L;;;;;N;;;;;
-2D4A;TIFINAGH LETTER YAZH;Lo;0;L;;;;;N;;;;;
-2D4B;TIFINAGH LETTER AHAGGAR YAZH;Lo;0;L;;;;;N;;;;;
-2D4C;TIFINAGH LETTER TUAREG YAZH;Lo;0;L;;;;;N;;;;;
-2D4D;TIFINAGH LETTER YAL;Lo;0;L;;;;;N;;;;;
-2D4E;TIFINAGH LETTER YAM;Lo;0;L;;;;;N;;;;;
-2D4F;TIFINAGH LETTER YAN;Lo;0;L;;;;;N;;;;;
-2D50;TIFINAGH LETTER TUAREG YAGN;Lo;0;L;;;;;N;;;;;
-2D51;TIFINAGH LETTER TUAREG YANG;Lo;0;L;;;;;N;;;;;
-2D52;TIFINAGH LETTER YAP;Lo;0;L;;;;;N;;;;;
-2D53;TIFINAGH LETTER YU;Lo;0;L;;;;;N;;;;;
-2D54;TIFINAGH LETTER YAR;Lo;0;L;;;;;N;;;;;
-2D55;TIFINAGH LETTER YARR;Lo;0;L;;;;;N;;;;;
-2D56;TIFINAGH LETTER YAGH;Lo;0;L;;;;;N;;;;;
-2D57;TIFINAGH LETTER TUAREG YAGH;Lo;0;L;;;;;N;;;;;
-2D58;TIFINAGH LETTER AYER YAGH;Lo;0;L;;;;;N;;;;;
-2D59;TIFINAGH LETTER YAS;Lo;0;L;;;;;N;;;;;
-2D5A;TIFINAGH LETTER YASS;Lo;0;L;;;;;N;;;;;
-2D5B;TIFINAGH LETTER YASH;Lo;0;L;;;;;N;;;;;
-2D5C;TIFINAGH LETTER YAT;Lo;0;L;;;;;N;;;;;
-2D5D;TIFINAGH LETTER YATH;Lo;0;L;;;;;N;;;;;
-2D5E;TIFINAGH LETTER YACH;Lo;0;L;;;;;N;;;;;
-2D5F;TIFINAGH LETTER YATT;Lo;0;L;;;;;N;;;;;
-2D60;TIFINAGH LETTER YAV;Lo;0;L;;;;;N;;;;;
-2D61;TIFINAGH LETTER YAW;Lo;0;L;;;;;N;;;;;
-2D62;TIFINAGH LETTER YAY;Lo;0;L;;;;;N;;;;;
-2D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;;
-2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;;;;
-2D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;;
-2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;;;;
-2D80;ETHIOPIC SYLLABLE LOA;Lo;0;L;;;;;N;;;;;
-2D81;ETHIOPIC SYLLABLE MOA;Lo;0;L;;;;;N;;;;;
-2D82;ETHIOPIC SYLLABLE ROA;Lo;0;L;;;;;N;;;;;
-2D83;ETHIOPIC SYLLABLE SOA;Lo;0;L;;;;;N;;;;;
-2D84;ETHIOPIC SYLLABLE SHOA;Lo;0;L;;;;;N;;;;;
-2D85;ETHIOPIC SYLLABLE BOA;Lo;0;L;;;;;N;;;;;
-2D86;ETHIOPIC SYLLABLE TOA;Lo;0;L;;;;;N;;;;;
-2D87;ETHIOPIC SYLLABLE COA;Lo;0;L;;;;;N;;;;;
-2D88;ETHIOPIC SYLLABLE NOA;Lo;0;L;;;;;N;;;;;
-2D89;ETHIOPIC SYLLABLE NYOA;Lo;0;L;;;;;N;;;;;
-2D8A;ETHIOPIC SYLLABLE GLOTTAL OA;Lo;0;L;;;;;N;;;;;
-2D8B;ETHIOPIC SYLLABLE ZOA;Lo;0;L;;;;;N;;;;;
-2D8C;ETHIOPIC SYLLABLE DOA;Lo;0;L;;;;;N;;;;;
-2D8D;ETHIOPIC SYLLABLE DDOA;Lo;0;L;;;;;N;;;;;
-2D8E;ETHIOPIC SYLLABLE JOA;Lo;0;L;;;;;N;;;;;
-2D8F;ETHIOPIC SYLLABLE THOA;Lo;0;L;;;;;N;;;;;
-2D90;ETHIOPIC SYLLABLE CHOA;Lo;0;L;;;;;N;;;;;
-2D91;ETHIOPIC SYLLABLE PHOA;Lo;0;L;;;;;N;;;;;
-2D92;ETHIOPIC SYLLABLE POA;Lo;0;L;;;;;N;;;;;
-2D93;ETHIOPIC SYLLABLE GGWA;Lo;0;L;;;;;N;;;;;
-2D94;ETHIOPIC SYLLABLE GGWI;Lo;0;L;;;;;N;;;;;
-2D95;ETHIOPIC SYLLABLE GGWEE;Lo;0;L;;;;;N;;;;;
-2D96;ETHIOPIC SYLLABLE GGWE;Lo;0;L;;;;;N;;;;;
-2DA0;ETHIOPIC SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
-2DA1;ETHIOPIC SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
-2DA2;ETHIOPIC SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
-2DA3;ETHIOPIC SYLLABLE SSAA;Lo;0;L;;;;;N;;;;;
-2DA4;ETHIOPIC SYLLABLE SSEE;Lo;0;L;;;;;N;;;;;
-2DA5;ETHIOPIC SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
-2DA6;ETHIOPIC SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
-2DA8;ETHIOPIC SYLLABLE CCA;Lo;0;L;;;;;N;;;;;
-2DA9;ETHIOPIC SYLLABLE CCU;Lo;0;L;;;;;N;;;;;
-2DAA;ETHIOPIC SYLLABLE CCI;Lo;0;L;;;;;N;;;;;
-2DAB;ETHIOPIC SYLLABLE CCAA;Lo;0;L;;;;;N;;;;;
-2DAC;ETHIOPIC SYLLABLE CCEE;Lo;0;L;;;;;N;;;;;
-2DAD;ETHIOPIC SYLLABLE CCE;Lo;0;L;;;;;N;;;;;
-2DAE;ETHIOPIC SYLLABLE CCO;Lo;0;L;;;;;N;;;;;
-2DB0;ETHIOPIC SYLLABLE ZZA;Lo;0;L;;;;;N;;;;;
-2DB1;ETHIOPIC SYLLABLE ZZU;Lo;0;L;;;;;N;;;;;
-2DB2;ETHIOPIC SYLLABLE ZZI;Lo;0;L;;;;;N;;;;;
-2DB3;ETHIOPIC SYLLABLE ZZAA;Lo;0;L;;;;;N;;;;;
-2DB4;ETHIOPIC SYLLABLE ZZEE;Lo;0;L;;;;;N;;;;;
-2DB5;ETHIOPIC SYLLABLE ZZE;Lo;0;L;;;;;N;;;;;
-2DB6;ETHIOPIC SYLLABLE ZZO;Lo;0;L;;;;;N;;;;;
-2DB8;ETHIOPIC SYLLABLE CCHA;Lo;0;L;;;;;N;;;;;
-2DB9;ETHIOPIC SYLLABLE CCHU;Lo;0;L;;;;;N;;;;;
-2DBA;ETHIOPIC SYLLABLE CCHI;Lo;0;L;;;;;N;;;;;
-2DBB;ETHIOPIC SYLLABLE CCHAA;Lo;0;L;;;;;N;;;;;
-2DBC;ETHIOPIC SYLLABLE CCHEE;Lo;0;L;;;;;N;;;;;
-2DBD;ETHIOPIC SYLLABLE CCHE;Lo;0;L;;;;;N;;;;;
-2DBE;ETHIOPIC SYLLABLE CCHO;Lo;0;L;;;;;N;;;;;
-2DC0;ETHIOPIC SYLLABLE QYA;Lo;0;L;;;;;N;;;;;
-2DC1;ETHIOPIC SYLLABLE QYU;Lo;0;L;;;;;N;;;;;
-2DC2;ETHIOPIC SYLLABLE QYI;Lo;0;L;;;;;N;;;;;
-2DC3;ETHIOPIC SYLLABLE QYAA;Lo;0;L;;;;;N;;;;;
-2DC4;ETHIOPIC SYLLABLE QYEE;Lo;0;L;;;;;N;;;;;
-2DC5;ETHIOPIC SYLLABLE QYE;Lo;0;L;;;;;N;;;;;
-2DC6;ETHIOPIC SYLLABLE QYO;Lo;0;L;;;;;N;;;;;
-2DC8;ETHIOPIC SYLLABLE KYA;Lo;0;L;;;;;N;;;;;
-2DC9;ETHIOPIC SYLLABLE KYU;Lo;0;L;;;;;N;;;;;
-2DCA;ETHIOPIC SYLLABLE KYI;Lo;0;L;;;;;N;;;;;
-2DCB;ETHIOPIC SYLLABLE KYAA;Lo;0;L;;;;;N;;;;;
-2DCC;ETHIOPIC SYLLABLE KYEE;Lo;0;L;;;;;N;;;;;
-2DCD;ETHIOPIC SYLLABLE KYE;Lo;0;L;;;;;N;;;;;
-2DCE;ETHIOPIC SYLLABLE KYO;Lo;0;L;;;;;N;;;;;
-2DD0;ETHIOPIC SYLLABLE XYA;Lo;0;L;;;;;N;;;;;
-2DD1;ETHIOPIC SYLLABLE XYU;Lo;0;L;;;;;N;;;;;
-2DD2;ETHIOPIC SYLLABLE XYI;Lo;0;L;;;;;N;;;;;
-2DD3;ETHIOPIC SYLLABLE XYAA;Lo;0;L;;;;;N;;;;;
-2DD4;ETHIOPIC SYLLABLE XYEE;Lo;0;L;;;;;N;;;;;
-2DD5;ETHIOPIC SYLLABLE XYE;Lo;0;L;;;;;N;;;;;
-2DD6;ETHIOPIC SYLLABLE XYO;Lo;0;L;;;;;N;;;;;
-2DD8;ETHIOPIC SYLLABLE GYA;Lo;0;L;;;;;N;;;;;
-2DD9;ETHIOPIC SYLLABLE GYU;Lo;0;L;;;;;N;;;;;
-2DDA;ETHIOPIC SYLLABLE GYI;Lo;0;L;;;;;N;;;;;
-2DDB;ETHIOPIC SYLLABLE GYAA;Lo;0;L;;;;;N;;;;;
-2DDC;ETHIOPIC SYLLABLE GYEE;Lo;0;L;;;;;N;;;;;
-2DDD;ETHIOPIC SYLLABLE GYE;Lo;0;L;;;;;N;;;;;
-2DDE;ETHIOPIC SYLLABLE GYO;Lo;0;L;;;;;N;;;;;
-2DE0;COMBINING CYRILLIC LETTER BE;Mn;230;NSM;;;;;N;;;;;
-2DE1;COMBINING CYRILLIC LETTER VE;Mn;230;NSM;;;;;N;;;;;
-2DE2;COMBINING CYRILLIC LETTER GHE;Mn;230;NSM;;;;;N;;;;;
-2DE3;COMBINING CYRILLIC LETTER DE;Mn;230;NSM;;;;;N;;;;;
-2DE4;COMBINING CYRILLIC LETTER ZHE;Mn;230;NSM;;;;;N;;;;;
-2DE5;COMBINING CYRILLIC LETTER ZE;Mn;230;NSM;;;;;N;;;;;
-2DE6;COMBINING CYRILLIC LETTER KA;Mn;230;NSM;;;;;N;;;;;
-2DE7;COMBINING CYRILLIC LETTER EL;Mn;230;NSM;;;;;N;;;;;
-2DE8;COMBINING CYRILLIC LETTER EM;Mn;230;NSM;;;;;N;;;;;
-2DE9;COMBINING CYRILLIC LETTER EN;Mn;230;NSM;;;;;N;;;;;
-2DEA;COMBINING CYRILLIC LETTER O;Mn;230;NSM;;;;;N;;;;;
-2DEB;COMBINING CYRILLIC LETTER PE;Mn;230;NSM;;;;;N;;;;;
-2DEC;COMBINING CYRILLIC LETTER ER;Mn;230;NSM;;;;;N;;;;;
-2DED;COMBINING CYRILLIC LETTER ES;Mn;230;NSM;;;;;N;;;;;
-2DEE;COMBINING CYRILLIC LETTER TE;Mn;230;NSM;;;;;N;;;;;
-2DEF;COMBINING CYRILLIC LETTER HA;Mn;230;NSM;;;;;N;;;;;
-2DF0;COMBINING CYRILLIC LETTER TSE;Mn;230;NSM;;;;;N;;;;;
-2DF1;COMBINING CYRILLIC LETTER CHE;Mn;230;NSM;;;;;N;;;;;
-2DF2;COMBINING CYRILLIC LETTER SHA;Mn;230;NSM;;;;;N;;;;;
-2DF3;COMBINING CYRILLIC LETTER SHCHA;Mn;230;NSM;;;;;N;;;;;
-2DF4;COMBINING CYRILLIC LETTER FITA;Mn;230;NSM;;;;;N;;;;;
-2DF5;COMBINING CYRILLIC LETTER ES-TE;Mn;230;NSM;;;;;N;;;;;
-2DF6;COMBINING CYRILLIC LETTER A;Mn;230;NSM;;;;;N;;;;;
-2DF7;COMBINING CYRILLIC LETTER IE;Mn;230;NSM;;;;;N;;;;;
-2DF8;COMBINING CYRILLIC LETTER DJERV;Mn;230;NSM;;;;;N;;;;;
-2DF9;COMBINING CYRILLIC LETTER MONOGRAPH UK;Mn;230;NSM;;;;;N;;;;;
-2DFA;COMBINING CYRILLIC LETTER YAT;Mn;230;NSM;;;;;N;;;;;
-2DFB;COMBINING CYRILLIC LETTER YU;Mn;230;NSM;;;;;N;;;;;
-2DFC;COMBINING CYRILLIC LETTER IOTIFIED A;Mn;230;NSM;;;;;N;;;;;
-2DFD;COMBINING CYRILLIC LETTER LITTLE YUS;Mn;230;NSM;;;;;N;;;;;
-2DFE;COMBINING CYRILLIC LETTER BIG YUS;Mn;230;NSM;;;;;N;;;;;
-2DFF;COMBINING CYRILLIC LETTER IOTIFIED BIG YUS;Mn;230;NSM;;;;;N;;;;;
-2E00;RIGHT ANGLE SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;;
-2E01;RIGHT ANGLE DOTTED SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;;
-2E02;LEFT SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;;
-2E03;RIGHT SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;;
-2E04;LEFT DOTTED SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;;
-2E05;RIGHT DOTTED SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;;
-2E06;RAISED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;;
-2E07;RAISED DOTTED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;;
-2E08;DOTTED TRANSPOSITION MARKER;Po;0;ON;;;;;N;;;;;
-2E09;LEFT TRANSPOSITION BRACKET;Pi;0;ON;;;;;Y;;;;;
-2E0A;RIGHT TRANSPOSITION BRACKET;Pf;0;ON;;;;;Y;;;;;
-2E0B;RAISED SQUARE;Po;0;ON;;;;;N;;;;;
-2E0C;LEFT RAISED OMISSION BRACKET;Pi;0;ON;;;;;Y;;;;;
-2E0D;RIGHT RAISED OMISSION BRACKET;Pf;0;ON;;;;;Y;;;;;
-2E0E;EDITORIAL CORONIS;Po;0;ON;;;;;N;;;;;
-2E0F;PARAGRAPHOS;Po;0;ON;;;;;N;;;;;
-2E10;FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;;
-2E11;REVERSED FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;;
-2E12;HYPODIASTOLE;Po;0;ON;;;;;N;;;;;
-2E13;DOTTED OBELOS;Po;0;ON;;;;;N;;;;;
-2E14;DOWNWARDS ANCORA;Po;0;ON;;;;;N;;;;;
-2E15;UPWARDS ANCORA;Po;0;ON;;;;;N;;;;;
-2E16;DOTTED RIGHT-POINTING ANGLE;Po;0;ON;;;;;N;;;;;
-2E17;DOUBLE OBLIQUE HYPHEN;Pd;0;ON;;;;;N;;;;;
-2E18;INVERTED INTERROBANG;Po;0;ON;;;;;N;;;;;
-2E19;PALM BRANCH;Po;0;ON;;;;;N;;;;;
-2E1A;HYPHEN WITH DIAERESIS;Pd;0;ON;;;;;N;;;;;
-2E1B;TILDE WITH RING ABOVE;Po;0;ON;;;;;N;;;;;
-2E1C;LEFT LOW PARAPHRASE BRACKET;Pi;0;ON;;;;;Y;;;;;
-2E1D;RIGHT LOW PARAPHRASE BRACKET;Pf;0;ON;;;;;Y;;;;;
-2E1E;TILDE WITH DOT ABOVE;Po;0;ON;;;;;N;;;;;
-2E1F;TILDE WITH DOT BELOW;Po;0;ON;;;;;N;;;;;
-2E20;LEFT VERTICAL BAR WITH QUILL;Pi;0;ON;;;;;Y;;;;;
-2E21;RIGHT VERTICAL BAR WITH QUILL;Pf;0;ON;;;;;Y;;;;;
-2E22;TOP LEFT HALF BRACKET;Ps;0;ON;;;;;Y;;;;;
-2E23;TOP RIGHT HALF BRACKET;Pe;0;ON;;;;;Y;;;;;
-2E24;BOTTOM LEFT HALF BRACKET;Ps;0;ON;;;;;Y;;;;;
-2E25;BOTTOM RIGHT HALF BRACKET;Pe;0;ON;;;;;Y;;;;;
-2E26;LEFT SIDEWAYS U BRACKET;Ps;0;ON;;;;;Y;;;;;
-2E27;RIGHT SIDEWAYS U BRACKET;Pe;0;ON;;;;;Y;;;;;
-2E28;LEFT DOUBLE PARENTHESIS;Ps;0;ON;;;;;Y;;;;;
-2E29;RIGHT DOUBLE PARENTHESIS;Pe;0;ON;;;;;Y;;;;;
-2E2A;TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-2E2B;ONE DOT OVER TWO DOTS PUNCTUATION;Po;0;ON;;;;;N;;;;;
-2E2C;SQUARED FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-2E2D;FIVE DOT MARK;Po;0;ON;;;;;N;;;;;
-2E2E;REVERSED QUESTION MARK;Po;0;ON;;;;;N;;;;;
-2E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;;
-2E30;RING POINT;Po;0;ON;;;;;N;;;;;
-2E31;WORD SEPARATOR MIDDLE DOT;Po;0;ON;;;;;N;;;;;
-2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
-2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
-2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
-2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;;
-2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;;
-2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;;
-2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;;
-2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;;
-2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;;
-2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;;
-2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;;
-2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;;
-2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;;
-2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;;
-2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;;
-2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;;
-2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;;
-2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;;
-2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;;
-2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;;
-2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;;
-2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;;
-2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;;
-2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;;
-2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;;
-2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;;
-2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;;
-2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;;
-2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;;
-2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;;
-2E9F;CJK RADICAL MOTHER;So;0;ON;<compat> 6BCD;;;;N;;;;;
-2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;;
-2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;;
-2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;;
-2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;;
-2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;;
-2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;;
-2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;;
-2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;;
-2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;;
-2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;;
-2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;;
-2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;;
-2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;;
-2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;;
-2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;;
-2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;;
-2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;;
-2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;;
-2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;;
-2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;;
-2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;;
-2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;;
-2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;;
-2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;;
-2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;;
-2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;;
-2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;;
-2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;;
-2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;;
-2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;;
-2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;;
-2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;;
-2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;;
-2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;;
-2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;;
-2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;;
-2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;;
-2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;;
-2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;;
-2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;;
-2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;;
-2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;;
-2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;;
-2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;;
-2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;;
-2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;;
-2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;;
-2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;;
-2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;;
-2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;;
-2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;;
-2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;;
-2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;;
-2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;;
-2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;;
-2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;;
-2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;;
-2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;;
-2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;;
-2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;;
-2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;;
-2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;;
-2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;;
-2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;;
-2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;;
-2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;;
-2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;;
-2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;;
-2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;;
-2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;;
-2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;;
-2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;;
-2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;;
-2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;;
-2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;;
-2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;;
-2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;;
-2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;;
-2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;;
-2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;;
-2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;;
-2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;;
-2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;;
-2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON;<compat> 9F9F;;;;N;;;;;
-2F00;KANGXI RADICAL ONE;So;0;ON;<compat> 4E00;;;;N;;;;;
-2F01;KANGXI RADICAL LINE;So;0;ON;<compat> 4E28;;;;N;;;;;
-2F02;KANGXI RADICAL DOT;So;0;ON;<compat> 4E36;;;;N;;;;;
-2F03;KANGXI RADICAL SLASH;So;0;ON;<compat> 4E3F;;;;N;;;;;
-2F04;KANGXI RADICAL SECOND;So;0;ON;<compat> 4E59;;;;N;;;;;
-2F05;KANGXI RADICAL HOOK;So;0;ON;<compat> 4E85;;;;N;;;;;
-2F06;KANGXI RADICAL TWO;So;0;ON;<compat> 4E8C;;;;N;;;;;
-2F07;KANGXI RADICAL LID;So;0;ON;<compat> 4EA0;;;;N;;;;;
-2F08;KANGXI RADICAL MAN;So;0;ON;<compat> 4EBA;;;;N;;;;;
-2F09;KANGXI RADICAL LEGS;So;0;ON;<compat> 513F;;;;N;;;;;
-2F0A;KANGXI RADICAL ENTER;So;0;ON;<compat> 5165;;;;N;;;;;
-2F0B;KANGXI RADICAL EIGHT;So;0;ON;<compat> 516B;;;;N;;;;;
-2F0C;KANGXI RADICAL DOWN BOX;So;0;ON;<compat> 5182;;;;N;;;;;
-2F0D;KANGXI RADICAL COVER;So;0;ON;<compat> 5196;;;;N;;;;;
-2F0E;KANGXI RADICAL ICE;So;0;ON;<compat> 51AB;;;;N;;;;;
-2F0F;KANGXI RADICAL TABLE;So;0;ON;<compat> 51E0;;;;N;;;;;
-2F10;KANGXI RADICAL OPEN BOX;So;0;ON;<compat> 51F5;;;;N;;;;;
-2F11;KANGXI RADICAL KNIFE;So;0;ON;<compat> 5200;;;;N;;;;;
-2F12;KANGXI RADICAL POWER;So;0;ON;<compat> 529B;;;;N;;;;;
-2F13;KANGXI RADICAL WRAP;So;0;ON;<compat> 52F9;;;;N;;;;;
-2F14;KANGXI RADICAL SPOON;So;0;ON;<compat> 5315;;;;N;;;;;
-2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON;<compat> 531A;;;;N;;;;;
-2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON;<compat> 5338;;;;N;;;;;
-2F17;KANGXI RADICAL TEN;So;0;ON;<compat> 5341;;;;N;;;;;
-2F18;KANGXI RADICAL DIVINATION;So;0;ON;<compat> 535C;;;;N;;;;;
-2F19;KANGXI RADICAL SEAL;So;0;ON;<compat> 5369;;;;N;;;;;
-2F1A;KANGXI RADICAL CLIFF;So;0;ON;<compat> 5382;;;;N;;;;;
-2F1B;KANGXI RADICAL PRIVATE;So;0;ON;<compat> 53B6;;;;N;;;;;
-2F1C;KANGXI RADICAL AGAIN;So;0;ON;<compat> 53C8;;;;N;;;;;
-2F1D;KANGXI RADICAL MOUTH;So;0;ON;<compat> 53E3;;;;N;;;;;
-2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON;<compat> 56D7;;;;N;;;;;
-2F1F;KANGXI RADICAL EARTH;So;0;ON;<compat> 571F;;;;N;;;;;
-2F20;KANGXI RADICAL SCHOLAR;So;0;ON;<compat> 58EB;;;;N;;;;;
-2F21;KANGXI RADICAL GO;So;0;ON;<compat> 5902;;;;N;;;;;
-2F22;KANGXI RADICAL GO SLOWLY;So;0;ON;<compat> 590A;;;;N;;;;;
-2F23;KANGXI RADICAL EVENING;So;0;ON;<compat> 5915;;;;N;;;;;
-2F24;KANGXI RADICAL BIG;So;0;ON;<compat> 5927;;;;N;;;;;
-2F25;KANGXI RADICAL WOMAN;So;0;ON;<compat> 5973;;;;N;;;;;
-2F26;KANGXI RADICAL CHILD;So;0;ON;<compat> 5B50;;;;N;;;;;
-2F27;KANGXI RADICAL ROOF;So;0;ON;<compat> 5B80;;;;N;;;;;
-2F28;KANGXI RADICAL INCH;So;0;ON;<compat> 5BF8;;;;N;;;;;
-2F29;KANGXI RADICAL SMALL;So;0;ON;<compat> 5C0F;;;;N;;;;;
-2F2A;KANGXI RADICAL LAME;So;0;ON;<compat> 5C22;;;;N;;;;;
-2F2B;KANGXI RADICAL CORPSE;So;0;ON;<compat> 5C38;;;;N;;;;;
-2F2C;KANGXI RADICAL SPROUT;So;0;ON;<compat> 5C6E;;;;N;;;;;
-2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON;<compat> 5C71;;;;N;;;;;
-2F2E;KANGXI RADICAL RIVER;So;0;ON;<compat> 5DDB;;;;N;;;;;
-2F2F;KANGXI RADICAL WORK;So;0;ON;<compat> 5DE5;;;;N;;;;;
-2F30;KANGXI RADICAL ONESELF;So;0;ON;<compat> 5DF1;;;;N;;;;;
-2F31;KANGXI RADICAL TURBAN;So;0;ON;<compat> 5DFE;;;;N;;;;;
-2F32;KANGXI RADICAL DRY;So;0;ON;<compat> 5E72;;;;N;;;;;
-2F33;KANGXI RADICAL SHORT THREAD;So;0;ON;<compat> 5E7A;;;;N;;;;;
-2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON;<compat> 5E7F;;;;N;;;;;
-2F35;KANGXI RADICAL LONG STRIDE;So;0;ON;<compat> 5EF4;;;;N;;;;;
-2F36;KANGXI RADICAL TWO HANDS;So;0;ON;<compat> 5EFE;;;;N;;;;;
-2F37;KANGXI RADICAL SHOOT;So;0;ON;<compat> 5F0B;;;;N;;;;;
-2F38;KANGXI RADICAL BOW;So;0;ON;<compat> 5F13;;;;N;;;;;
-2F39;KANGXI RADICAL SNOUT;So;0;ON;<compat> 5F50;;;;N;;;;;
-2F3A;KANGXI RADICAL BRISTLE;So;0;ON;<compat> 5F61;;;;N;;;;;
-2F3B;KANGXI RADICAL STEP;So;0;ON;<compat> 5F73;;;;N;;;;;
-2F3C;KANGXI RADICAL HEART;So;0;ON;<compat> 5FC3;;;;N;;;;;
-2F3D;KANGXI RADICAL HALBERD;So;0;ON;<compat> 6208;;;;N;;;;;
-2F3E;KANGXI RADICAL DOOR;So;0;ON;<compat> 6236;;;;N;;;;;
-2F3F;KANGXI RADICAL HAND;So;0;ON;<compat> 624B;;;;N;;;;;
-2F40;KANGXI RADICAL BRANCH;So;0;ON;<compat> 652F;;;;N;;;;;
-2F41;KANGXI RADICAL RAP;So;0;ON;<compat> 6534;;;;N;;;;;
-2F42;KANGXI RADICAL SCRIPT;So;0;ON;<compat> 6587;;;;N;;;;;
-2F43;KANGXI RADICAL DIPPER;So;0;ON;<compat> 6597;;;;N;;;;;
-2F44;KANGXI RADICAL AXE;So;0;ON;<compat> 65A4;;;;N;;;;;
-2F45;KANGXI RADICAL SQUARE;So;0;ON;<compat> 65B9;;;;N;;;;;
-2F46;KANGXI RADICAL NOT;So;0;ON;<compat> 65E0;;;;N;;;;;
-2F47;KANGXI RADICAL SUN;So;0;ON;<compat> 65E5;;;;N;;;;;
-2F48;KANGXI RADICAL SAY;So;0;ON;<compat> 66F0;;;;N;;;;;
-2F49;KANGXI RADICAL MOON;So;0;ON;<compat> 6708;;;;N;;;;;
-2F4A;KANGXI RADICAL TREE;So;0;ON;<compat> 6728;;;;N;;;;;
-2F4B;KANGXI RADICAL LACK;So;0;ON;<compat> 6B20;;;;N;;;;;
-2F4C;KANGXI RADICAL STOP;So;0;ON;<compat> 6B62;;;;N;;;;;
-2F4D;KANGXI RADICAL DEATH;So;0;ON;<compat> 6B79;;;;N;;;;;
-2F4E;KANGXI RADICAL WEAPON;So;0;ON;<compat> 6BB3;;;;N;;;;;
-2F4F;KANGXI RADICAL DO NOT;So;0;ON;<compat> 6BCB;;;;N;;;;;
-2F50;KANGXI RADICAL COMPARE;So;0;ON;<compat> 6BD4;;;;N;;;;;
-2F51;KANGXI RADICAL FUR;So;0;ON;<compat> 6BDB;;;;N;;;;;
-2F52;KANGXI RADICAL CLAN;So;0;ON;<compat> 6C0F;;;;N;;;;;
-2F53;KANGXI RADICAL STEAM;So;0;ON;<compat> 6C14;;;;N;;;;;
-2F54;KANGXI RADICAL WATER;So;0;ON;<compat> 6C34;;;;N;;;;;
-2F55;KANGXI RADICAL FIRE;So;0;ON;<compat> 706B;;;;N;;;;;
-2F56;KANGXI RADICAL CLAW;So;0;ON;<compat> 722A;;;;N;;;;;
-2F57;KANGXI RADICAL FATHER;So;0;ON;<compat> 7236;;;;N;;;;;
-2F58;KANGXI RADICAL DOUBLE X;So;0;ON;<compat> 723B;;;;N;;;;;
-2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON;<compat> 723F;;;;N;;;;;
-2F5A;KANGXI RADICAL SLICE;So;0;ON;<compat> 7247;;;;N;;;;;
-2F5B;KANGXI RADICAL FANG;So;0;ON;<compat> 7259;;;;N;;;;;
-2F5C;KANGXI RADICAL COW;So;0;ON;<compat> 725B;;;;N;;;;;
-2F5D;KANGXI RADICAL DOG;So;0;ON;<compat> 72AC;;;;N;;;;;
-2F5E;KANGXI RADICAL PROFOUND;So;0;ON;<compat> 7384;;;;N;;;;;
-2F5F;KANGXI RADICAL JADE;So;0;ON;<compat> 7389;;;;N;;;;;
-2F60;KANGXI RADICAL MELON;So;0;ON;<compat> 74DC;;;;N;;;;;
-2F61;KANGXI RADICAL TILE;So;0;ON;<compat> 74E6;;;;N;;;;;
-2F62;KANGXI RADICAL SWEET;So;0;ON;<compat> 7518;;;;N;;;;;
-2F63;KANGXI RADICAL LIFE;So;0;ON;<compat> 751F;;;;N;;;;;
-2F64;KANGXI RADICAL USE;So;0;ON;<compat> 7528;;;;N;;;;;
-2F65;KANGXI RADICAL FIELD;So;0;ON;<compat> 7530;;;;N;;;;;
-2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON;<compat> 758B;;;;N;;;;;
-2F67;KANGXI RADICAL SICKNESS;So;0;ON;<compat> 7592;;;;N;;;;;
-2F68;KANGXI RADICAL DOTTED TENT;So;0;ON;<compat> 7676;;;;N;;;;;
-2F69;KANGXI RADICAL WHITE;So;0;ON;<compat> 767D;;;;N;;;;;
-2F6A;KANGXI RADICAL SKIN;So;0;ON;<compat> 76AE;;;;N;;;;;
-2F6B;KANGXI RADICAL DISH;So;0;ON;<compat> 76BF;;;;N;;;;;
-2F6C;KANGXI RADICAL EYE;So;0;ON;<compat> 76EE;;;;N;;;;;
-2F6D;KANGXI RADICAL SPEAR;So;0;ON;<compat> 77DB;;;;N;;;;;
-2F6E;KANGXI RADICAL ARROW;So;0;ON;<compat> 77E2;;;;N;;;;;
-2F6F;KANGXI RADICAL STONE;So;0;ON;<compat> 77F3;;;;N;;;;;
-2F70;KANGXI RADICAL SPIRIT;So;0;ON;<compat> 793A;;;;N;;;;;
-2F71;KANGXI RADICAL TRACK;So;0;ON;<compat> 79B8;;;;N;;;;;
-2F72;KANGXI RADICAL GRAIN;So;0;ON;<compat> 79BE;;;;N;;;;;
-2F73;KANGXI RADICAL CAVE;So;0;ON;<compat> 7A74;;;;N;;;;;
-2F74;KANGXI RADICAL STAND;So;0;ON;<compat> 7ACB;;;;N;;;;;
-2F75;KANGXI RADICAL BAMBOO;So;0;ON;<compat> 7AF9;;;;N;;;;;
-2F76;KANGXI RADICAL RICE;So;0;ON;<compat> 7C73;;;;N;;;;;
-2F77;KANGXI RADICAL SILK;So;0;ON;<compat> 7CF8;;;;N;;;;;
-2F78;KANGXI RADICAL JAR;So;0;ON;<compat> 7F36;;;;N;;;;;
-2F79;KANGXI RADICAL NET;So;0;ON;<compat> 7F51;;;;N;;;;;
-2F7A;KANGXI RADICAL SHEEP;So;0;ON;<compat> 7F8A;;;;N;;;;;
-2F7B;KANGXI RADICAL FEATHER;So;0;ON;<compat> 7FBD;;;;N;;;;;
-2F7C;KANGXI RADICAL OLD;So;0;ON;<compat> 8001;;;;N;;;;;
-2F7D;KANGXI RADICAL AND;So;0;ON;<compat> 800C;;;;N;;;;;
-2F7E;KANGXI RADICAL PLOW;So;0;ON;<compat> 8012;;;;N;;;;;
-2F7F;KANGXI RADICAL EAR;So;0;ON;<compat> 8033;;;;N;;;;;
-2F80;KANGXI RADICAL BRUSH;So;0;ON;<compat> 807F;;;;N;;;;;
-2F81;KANGXI RADICAL MEAT;So;0;ON;<compat> 8089;;;;N;;;;;
-2F82;KANGXI RADICAL MINISTER;So;0;ON;<compat> 81E3;;;;N;;;;;
-2F83;KANGXI RADICAL SELF;So;0;ON;<compat> 81EA;;;;N;;;;;
-2F84;KANGXI RADICAL ARRIVE;So;0;ON;<compat> 81F3;;;;N;;;;;
-2F85;KANGXI RADICAL MORTAR;So;0;ON;<compat> 81FC;;;;N;;;;;
-2F86;KANGXI RADICAL TONGUE;So;0;ON;<compat> 820C;;;;N;;;;;
-2F87;KANGXI RADICAL OPPOSE;So;0;ON;<compat> 821B;;;;N;;;;;
-2F88;KANGXI RADICAL BOAT;So;0;ON;<compat> 821F;;;;N;;;;;
-2F89;KANGXI RADICAL STOPPING;So;0;ON;<compat> 826E;;;;N;;;;;
-2F8A;KANGXI RADICAL COLOR;So;0;ON;<compat> 8272;;;;N;;;;;
-2F8B;KANGXI RADICAL GRASS;So;0;ON;<compat> 8278;;;;N;;;;;
-2F8C;KANGXI RADICAL TIGER;So;0;ON;<compat> 864D;;;;N;;;;;
-2F8D;KANGXI RADICAL INSECT;So;0;ON;<compat> 866B;;;;N;;;;;
-2F8E;KANGXI RADICAL BLOOD;So;0;ON;<compat> 8840;;;;N;;;;;
-2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON;<compat> 884C;;;;N;;;;;
-2F90;KANGXI RADICAL CLOTHES;So;0;ON;<compat> 8863;;;;N;;;;;
-2F91;KANGXI RADICAL WEST;So;0;ON;<compat> 897E;;;;N;;;;;
-2F92;KANGXI RADICAL SEE;So;0;ON;<compat> 898B;;;;N;;;;;
-2F93;KANGXI RADICAL HORN;So;0;ON;<compat> 89D2;;;;N;;;;;
-2F94;KANGXI RADICAL SPEECH;So;0;ON;<compat> 8A00;;;;N;;;;;
-2F95;KANGXI RADICAL VALLEY;So;0;ON;<compat> 8C37;;;;N;;;;;
-2F96;KANGXI RADICAL BEAN;So;0;ON;<compat> 8C46;;;;N;;;;;
-2F97;KANGXI RADICAL PIG;So;0;ON;<compat> 8C55;;;;N;;;;;
-2F98;KANGXI RADICAL BADGER;So;0;ON;<compat> 8C78;;;;N;;;;;
-2F99;KANGXI RADICAL SHELL;So;0;ON;<compat> 8C9D;;;;N;;;;;
-2F9A;KANGXI RADICAL RED;So;0;ON;<compat> 8D64;;;;N;;;;;
-2F9B;KANGXI RADICAL RUN;So;0;ON;<compat> 8D70;;;;N;;;;;
-2F9C;KANGXI RADICAL FOOT;So;0;ON;<compat> 8DB3;;;;N;;;;;
-2F9D;KANGXI RADICAL BODY;So;0;ON;<compat> 8EAB;;;;N;;;;;
-2F9E;KANGXI RADICAL CART;So;0;ON;<compat> 8ECA;;;;N;;;;;
-2F9F;KANGXI RADICAL BITTER;So;0;ON;<compat> 8F9B;;;;N;;;;;
-2FA0;KANGXI RADICAL MORNING;So;0;ON;<compat> 8FB0;;;;N;;;;;
-2FA1;KANGXI RADICAL WALK;So;0;ON;<compat> 8FB5;;;;N;;;;;
-2FA2;KANGXI RADICAL CITY;So;0;ON;<compat> 9091;;;;N;;;;;
-2FA3;KANGXI RADICAL WINE;So;0;ON;<compat> 9149;;;;N;;;;;
-2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON;<compat> 91C6;;;;N;;;;;
-2FA5;KANGXI RADICAL VILLAGE;So;0;ON;<compat> 91CC;;;;N;;;;;
-2FA6;KANGXI RADICAL GOLD;So;0;ON;<compat> 91D1;;;;N;;;;;
-2FA7;KANGXI RADICAL LONG;So;0;ON;<compat> 9577;;;;N;;;;;
-2FA8;KANGXI RADICAL GATE;So;0;ON;<compat> 9580;;;;N;;;;;
-2FA9;KANGXI RADICAL MOUND;So;0;ON;<compat> 961C;;;;N;;;;;
-2FAA;KANGXI RADICAL SLAVE;So;0;ON;<compat> 96B6;;;;N;;;;;
-2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON;<compat> 96B9;;;;N;;;;;
-2FAC;KANGXI RADICAL RAIN;So;0;ON;<compat> 96E8;;;;N;;;;;
-2FAD;KANGXI RADICAL BLUE;So;0;ON;<compat> 9751;;;;N;;;;;
-2FAE;KANGXI RADICAL WRONG;So;0;ON;<compat> 975E;;;;N;;;;;
-2FAF;KANGXI RADICAL FACE;So;0;ON;<compat> 9762;;;;N;;;;;
-2FB0;KANGXI RADICAL LEATHER;So;0;ON;<compat> 9769;;;;N;;;;;
-2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON;<compat> 97CB;;;;N;;;;;
-2FB2;KANGXI RADICAL LEEK;So;0;ON;<compat> 97ED;;;;N;;;;;
-2FB3;KANGXI RADICAL SOUND;So;0;ON;<compat> 97F3;;;;N;;;;;
-2FB4;KANGXI RADICAL LEAF;So;0;ON;<compat> 9801;;;;N;;;;;
-2FB5;KANGXI RADICAL WIND;So;0;ON;<compat> 98A8;;;;N;;;;;
-2FB6;KANGXI RADICAL FLY;So;0;ON;<compat> 98DB;;;;N;;;;;
-2FB7;KANGXI RADICAL EAT;So;0;ON;<compat> 98DF;;;;N;;;;;
-2FB8;KANGXI RADICAL HEAD;So;0;ON;<compat> 9996;;;;N;;;;;
-2FB9;KANGXI RADICAL FRAGRANT;So;0;ON;<compat> 9999;;;;N;;;;;
-2FBA;KANGXI RADICAL HORSE;So;0;ON;<compat> 99AC;;;;N;;;;;
-2FBB;KANGXI RADICAL BONE;So;0;ON;<compat> 9AA8;;;;N;;;;;
-2FBC;KANGXI RADICAL TALL;So;0;ON;<compat> 9AD8;;;;N;;;;;
-2FBD;KANGXI RADICAL HAIR;So;0;ON;<compat> 9ADF;;;;N;;;;;
-2FBE;KANGXI RADICAL FIGHT;So;0;ON;<compat> 9B25;;;;N;;;;;
-2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON;<compat> 9B2F;;;;N;;;;;
-2FC0;KANGXI RADICAL CAULDRON;So;0;ON;<compat> 9B32;;;;N;;;;;
-2FC1;KANGXI RADICAL GHOST;So;0;ON;<compat> 9B3C;;;;N;;;;;
-2FC2;KANGXI RADICAL FISH;So;0;ON;<compat> 9B5A;;;;N;;;;;
-2FC3;KANGXI RADICAL BIRD;So;0;ON;<compat> 9CE5;;;;N;;;;;
-2FC4;KANGXI RADICAL SALT;So;0;ON;<compat> 9E75;;;;N;;;;;
-2FC5;KANGXI RADICAL DEER;So;0;ON;<compat> 9E7F;;;;N;;;;;
-2FC6;KANGXI RADICAL WHEAT;So;0;ON;<compat> 9EA5;;;;N;;;;;
-2FC7;KANGXI RADICAL HEMP;So;0;ON;<compat> 9EBB;;;;N;;;;;
-2FC8;KANGXI RADICAL YELLOW;So;0;ON;<compat> 9EC3;;;;N;;;;;
-2FC9;KANGXI RADICAL MILLET;So;0;ON;<compat> 9ECD;;;;N;;;;;
-2FCA;KANGXI RADICAL BLACK;So;0;ON;<compat> 9ED1;;;;N;;;;;
-2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON;<compat> 9EF9;;;;N;;;;;
-2FCC;KANGXI RADICAL FROG;So;0;ON;<compat> 9EFD;;;;N;;;;;
-2FCD;KANGXI RADICAL TRIPOD;So;0;ON;<compat> 9F0E;;;;N;;;;;
-2FCE;KANGXI RADICAL DRUM;So;0;ON;<compat> 9F13;;;;N;;;;;
-2FCF;KANGXI RADICAL RAT;So;0;ON;<compat> 9F20;;;;N;;;;;
-2FD0;KANGXI RADICAL NOSE;So;0;ON;<compat> 9F3B;;;;N;;;;;
-2FD1;KANGXI RADICAL EVEN;So;0;ON;<compat> 9F4A;;;;N;;;;;
-2FD2;KANGXI RADICAL TOOTH;So;0;ON;<compat> 9F52;;;;N;;;;;
-2FD3;KANGXI RADICAL DRAGON;So;0;ON;<compat> 9F8D;;;;N;;;;;
-2FD4;KANGXI RADICAL TURTLE;So;0;ON;<compat> 9F9C;;;;N;;;;;
-2FD5;KANGXI RADICAL FLUTE;So;0;ON;<compat> 9FA0;;;;N;;;;;
-2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;;
-2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;;
-2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;;
-2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;;
-2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;;
-2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;;
-2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;;
-2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;;
-2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;;
-2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;;
-2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;;
-2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;;
-3000;IDEOGRAPHIC SPACE;Zs;0;WS;<wide> 0020;;;;N;;;;;
-3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;;
-3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;;
-3003;DITTO MARK;Po;0;ON;;;;;N;;;;;
-3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;;
-3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;;
-3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;;
-3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;;
-3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;;
-3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;;
-300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;;
-300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;;
-300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;;
-300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;;
-300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;;
-300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;;
-3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;;
-3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;;
-3012;POSTAL MARK;So;0;ON;;;;;N;;;;;
-3013;GETA MARK;So;0;ON;;;;;N;;;;;
-3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;;
-3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;;
-3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;;
-3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;;
-3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;;
-3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;;
-301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;;
-301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;;
-301C;WAVE DASH;Pd;0;ON;;;;;N;;;;;
-301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;;
-301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;;
-301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;;
-3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;;
-3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;;
-3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;;
-3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;;
-3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;;
-3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;;
-3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;;
-3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;;
-3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;;
-3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;;
-302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;;
-302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;;
-302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;;
-302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;;
-302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
-302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
-3030;WAVY DASH;Pd;0;ON;;;;;N;;;;;
-3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;;
-3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;;
-3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;;
-3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;;
-3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;;
-3036;CIRCLED POSTAL MARK;So;0;ON;<compat> 3012;;;;N;;;;;
-3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;;
-3038;HANGZHOU NUMERAL TEN;Nl;0;L;<compat> 5341;;;10;N;;;;;
-3039;HANGZHOU NUMERAL TWENTY;Nl;0;L;<compat> 5344;;;20;N;;;;;
-303A;HANGZHOU NUMERAL THIRTY;Nl;0;L;<compat> 5345;;;30;N;;;;;
-303B;VERTICAL IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;;
-303C;MASU MARK;Lo;0;L;;;;;N;;;;;
-303D;PART ALTERNATION MARK;Po;0;ON;;;;;N;;;;;
-303E;IDEOGRAPHIC VARIATION INDICATOR;So;0;ON;;;;;N;;;;;
-303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;;
-3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
-3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;;
-3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;;
-3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;;
-3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;;
-3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;;
-3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;;
-3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;;
-3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;;
-304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;;
-304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;;
-304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;;
-304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;;
-304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;;
-304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;;
-3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;;
-3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;;
-3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;;
-3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;;
-3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;;
-3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;;
-3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;;
-3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;;
-3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;;
-3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;;
-305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;;
-305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;;
-305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;;
-305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;;
-305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;;
-305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;;
-3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;;
-3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;;
-3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;;
-3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;;
-3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;;
-3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;;
-3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;;
-3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;;
-3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;;
-3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;;
-306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;;
-306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;;
-306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;;
-306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;;
-306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;;
-306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;;
-3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;;
-3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;;
-3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;;
-3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;;
-3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;;
-3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;;
-3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;;
-3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;;
-3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;;
-3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;;
-307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;;
-307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;;
-307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;;
-307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;;
-307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;;
-307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;;
-3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;;
-3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;;
-3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;;
-3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;;
-3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;;
-3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;;
-3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;;
-3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;;
-3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;;
-3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;;
-308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;;
-308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;;
-308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;;
-308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;;
-308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;;
-308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;;
-3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;;
-3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;;
-3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;;
-3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;;
-3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;;
-3095;HIRAGANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;;
-3096;HIRAGANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;;
-3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;;
-309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;;
-309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON;<compat> 0020 3099;;;;N;;;;;
-309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON;<compat> 0020 309A;;;;N;;;;;
-309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;;
-309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;;
-309F;HIRAGANA DIGRAPH YORI;Lo;0;L;<vertical> 3088 308A;;;;N;;;;;
-30A0;KATAKANA-HIRAGANA DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;;
-30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
-30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;;
-30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;;
-30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;;
-30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;;
-30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;;
-30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;;
-30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;;
-30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;;
-30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;;
-30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;;
-30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;;
-30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;;
-30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;;
-30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;;
-30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;;
-30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;;
-30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;;
-30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;;
-30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;;
-30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;;
-30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;;
-30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;;
-30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;;
-30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;;
-30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;;
-30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;;
-30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;;
-30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;;
-30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;;
-30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;;
-30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;;
-30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;;
-30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;;
-30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;;
-30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;;
-30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;;
-30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;;
-30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;;
-30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;;
-30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;;
-30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;;
-30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;;
-30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;;
-30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;;
-30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;;
-30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;;
-30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;;
-30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;;
-30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;;
-30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;;
-30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;;
-30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;;
-30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;;
-30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;;
-30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;;
-30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;;
-30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;;
-30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;;
-30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;;
-30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;;
-30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;;
-30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;;
-30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;;
-30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;;
-30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;;
-30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;;
-30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;;
-30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;;
-30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;;
-30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;;
-30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;;
-30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;;
-30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;;
-30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;;
-30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;;
-30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;;
-30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;;
-30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;;
-30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;;
-30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;;
-30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;;
-30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;;
-30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;;
-30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;;
-30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;;
-30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;;
-30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;;
-30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;;
-30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;;
-30FB;KATAKANA MIDDLE DOT;Po;0;ON;;;;;N;;;;;
-30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;;
-30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;;
-30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;;
-30FF;KATAKANA DIGRAPH KOTO;Lo;0;L;<vertical> 30B3 30C8;;;;N;;;;;
-3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;;
-3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;;
-3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;;
-3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;;
-3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;;
-310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;;
-310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;;
-310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;;
-310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;;
-310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;;
-310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;;
-3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;;
-3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;;
-3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;;
-3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;;
-3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;;
-3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;;
-3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;;
-3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;;
-3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;;
-3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;;
-311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;;
-311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;;
-311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;;
-311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;;
-311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;;
-311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;;
-3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;;
-3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;;
-3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;;
-3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;;
-3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;;
-3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;;
-3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;;
-3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;;
-3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;;
-3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;;
-312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;;
-312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;;
-312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;;
-312D;BOPOMOFO LETTER IH;Lo;0;L;;;;;N;;;;;
-3131;HANGUL LETTER KIYEOK;Lo;0;L;<compat> 1100;;;;N;HANGUL LETTER GIYEOG;;;;
-3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L;<compat> 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;;
-3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;
-3134;HANGUL LETTER NIEUN;Lo;0;L;<compat> 1102;;;;N;;;;;
-3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L;<compat> 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;;
-3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L;<compat> 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;;
-3137;HANGUL LETTER TIKEUT;Lo;0;L;<compat> 1103;;;;N;HANGUL LETTER DIGEUD;;;;
-3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L;<compat> 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;;
-3139;HANGUL LETTER RIEUL;Lo;0;L;<compat> 1105;;;;N;HANGUL LETTER LIEUL;;;;
-313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L;<compat> 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;;
-313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L;<compat> 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;;
-313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L;<compat> 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;;
-313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L;<compat> 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;;
-313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L;<compat> 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;;
-313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L;<compat> 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;;
-3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L;<compat> 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;;
-3141;HANGUL LETTER MIEUM;Lo;0;L;<compat> 1106;;;;N;;;;;
-3142;HANGUL LETTER PIEUP;Lo;0;L;<compat> 1107;;;;N;HANGUL LETTER BIEUB;;;;
-3143;HANGUL LETTER SSANGPIEUP;Lo;0;L;<compat> 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;;
-3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L;<compat> 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;;
-3145;HANGUL LETTER SIOS;Lo;0;L;<compat> 1109;;;;N;;;;;
-3146;HANGUL LETTER SSANGSIOS;Lo;0;L;<compat> 110A;;;;N;HANGUL LETTER SSANG SIOS;;;;
-3147;HANGUL LETTER IEUNG;Lo;0;L;<compat> 110B;;;;N;;;;;
-3148;HANGUL LETTER CIEUC;Lo;0;L;<compat> 110C;;;;N;HANGUL LETTER JIEUJ;;;;
-3149;HANGUL LETTER SSANGCIEUC;Lo;0;L;<compat> 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;;
-314A;HANGUL LETTER CHIEUCH;Lo;0;L;<compat> 110E;;;;N;HANGUL LETTER CIEUC;;;;
-314B;HANGUL LETTER KHIEUKH;Lo;0;L;<compat> 110F;;;;N;HANGUL LETTER KIYEOK;;;;
-314C;HANGUL LETTER THIEUTH;Lo;0;L;<compat> 1110;;;;N;HANGUL LETTER TIEUT;;;;
-314D;HANGUL LETTER PHIEUPH;Lo;0;L;<compat> 1111;;;;N;HANGUL LETTER PIEUP;;;;
-314E;HANGUL LETTER HIEUH;Lo;0;L;<compat> 1112;;;;N;;;;;
-314F;HANGUL LETTER A;Lo;0;L;<compat> 1161;;;;N;;;;;
-3150;HANGUL LETTER AE;Lo;0;L;<compat> 1162;;;;N;;;;;
-3151;HANGUL LETTER YA;Lo;0;L;<compat> 1163;;;;N;;;;;
-3152;HANGUL LETTER YAE;Lo;0;L;<compat> 1164;;;;N;;;;;
-3153;HANGUL LETTER EO;Lo;0;L;<compat> 1165;;;;N;;;;;
-3154;HANGUL LETTER E;Lo;0;L;<compat> 1166;;;;N;;;;;
-3155;HANGUL LETTER YEO;Lo;0;L;<compat> 1167;;;;N;;;;;
-3156;HANGUL LETTER YE;Lo;0;L;<compat> 1168;;;;N;;;;;
-3157;HANGUL LETTER O;Lo;0;L;<compat> 1169;;;;N;;;;;
-3158;HANGUL LETTER WA;Lo;0;L;<compat> 116A;;;;N;;;;;
-3159;HANGUL LETTER WAE;Lo;0;L;<compat> 116B;;;;N;;;;;
-315A;HANGUL LETTER OE;Lo;0;L;<compat> 116C;;;;N;;;;;
-315B;HANGUL LETTER YO;Lo;0;L;<compat> 116D;;;;N;;;;;
-315C;HANGUL LETTER U;Lo;0;L;<compat> 116E;;;;N;;;;;
-315D;HANGUL LETTER WEO;Lo;0;L;<compat> 116F;;;;N;;;;;
-315E;HANGUL LETTER WE;Lo;0;L;<compat> 1170;;;;N;;;;;
-315F;HANGUL LETTER WI;Lo;0;L;<compat> 1171;;;;N;;;;;
-3160;HANGUL LETTER YU;Lo;0;L;<compat> 1172;;;;N;;;;;
-3161;HANGUL LETTER EU;Lo;0;L;<compat> 1173;;;;N;;;;;
-3162;HANGUL LETTER YI;Lo;0;L;<compat> 1174;;;;N;;;;;
-3163;HANGUL LETTER I;Lo;0;L;<compat> 1175;;;;N;;;;;
-3164;HANGUL FILLER;Lo;0;L;<compat> 1160;;;;N;HANGUL CAE OM;;;;
-3165;HANGUL LETTER SSANGNIEUN;Lo;0;L;<compat> 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;;
-3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L;<compat> 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;;
-3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L;<compat> 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;;
-3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L;<compat> 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;;
-3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L;<compat> 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;;
-316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L;<compat> 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;;
-316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L;<compat> 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;;
-316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L;<compat> 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;;
-316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L;<compat> 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;;
-316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L;<compat> 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;;
-316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L;<compat> 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;;
-3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L;<compat> 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;;
-3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L;<compat> 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;;
-3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L;<compat> 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;;
-3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L;<compat> 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;;
-3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L;<compat> 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;;
-3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L;<compat> 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;;
-3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L;<compat> 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;;
-3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L;<compat> 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;;
-3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L;<compat> 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;;
-3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L;<compat> 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;;
-317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L;<compat> 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;;
-317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L;<compat> 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;;
-317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L;<compat> 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;;
-317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L;<compat> 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;;
-317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L;<compat> 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;;
-317F;HANGUL LETTER PANSIOS;Lo;0;L;<compat> 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;;
-3180;HANGUL LETTER SSANGIEUNG;Lo;0;L;<compat> 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;;
-3181;HANGUL LETTER YESIEUNG;Lo;0;L;<compat> 114C;;;;N;HANGUL LETTER NGIEUNG;;;;
-3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L;<compat> 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;;
-3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L;<compat> 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;;
-3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L;<compat> 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;;
-3185;HANGUL LETTER SSANGHIEUH;Lo;0;L;<compat> 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;;
-3186;HANGUL LETTER YEORINHIEUH;Lo;0;L;<compat> 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;;
-3187;HANGUL LETTER YO-YA;Lo;0;L;<compat> 1184;;;;N;HANGUL LETTER YOYA;;;;
-3188;HANGUL LETTER YO-YAE;Lo;0;L;<compat> 1185;;;;N;HANGUL LETTER YOYAE;;;;
-3189;HANGUL LETTER YO-I;Lo;0;L;<compat> 1188;;;;N;HANGUL LETTER YOI;;;;
-318A;HANGUL LETTER YU-YEO;Lo;0;L;<compat> 1191;;;;N;HANGUL LETTER YUYEO;;;;
-318B;HANGUL LETTER YU-YE;Lo;0;L;<compat> 1192;;;;N;HANGUL LETTER YUYE;;;;
-318C;HANGUL LETTER YU-I;Lo;0;L;<compat> 1194;;;;N;HANGUL LETTER YUI;;;;
-318D;HANGUL LETTER ARAEA;Lo;0;L;<compat> 119E;;;;N;HANGUL LETTER ALAE A;;;;
-318E;HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;
-3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;;;;
-3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;;;;
-3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L;<super> 4E00;;;1;N;KAERITEN ITI;;;;
-3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L;<super> 4E8C;;;2;N;KAERITEN NI;;;;
-3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L;<super> 4E09;;;3;N;KAERITEN SAN;;;;
-3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L;<super> 56DB;;;4;N;KAERITEN SI;;;;
-3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L;<super> 4E0A;;;;N;KAERITEN ZYOU;;;;
-3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L;<super> 4E2D;;;;N;KAERITEN TYUU;;;;
-3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L;<super> 4E0B;;;;N;KAERITEN GE;;;;
-3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L;<super> 7532;;;;N;KAERITEN KOU;;;;
-319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L;<super> 4E59;;;;N;KAERITEN OTU;;;;
-319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L;<super> 4E19;;;;N;KAERITEN HEI;;;;
-319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L;<super> 4E01;;;;N;KAERITEN TEI;;;;
-319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L;<super> 5929;;;;N;KAERITEN TEN;;;;
-319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L;<super> 5730;;;;N;KAERITEN TI;;;;
-319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L;<super> 4EBA;;;;N;KAERITEN ZIN;;;;
-31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;;
-31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;;
-31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;;
-31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;;
-31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;;
-31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;;
-31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;;
-31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;;
-31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;;
-31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;;
-31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;;
-31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;;
-31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;;
-31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;;
-31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;;
-31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;;
-31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;;
-31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;;
-31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;;
-31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;;
-31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;;
-31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;;
-31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;;
-31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;;
-31C0;CJK STROKE T;So;0;ON;;;;;N;;;;;
-31C1;CJK STROKE WG;So;0;ON;;;;;N;;;;;
-31C2;CJK STROKE XG;So;0;ON;;;;;N;;;;;
-31C3;CJK STROKE BXG;So;0;ON;;;;;N;;;;;
-31C4;CJK STROKE SW;So;0;ON;;;;;N;;;;;
-31C5;CJK STROKE HZZ;So;0;ON;;;;;N;;;;;
-31C6;CJK STROKE HZG;So;0;ON;;;;;N;;;;;
-31C7;CJK STROKE HP;So;0;ON;;;;;N;;;;;
-31C8;CJK STROKE HZWG;So;0;ON;;;;;N;;;;;
-31C9;CJK STROKE SZWG;So;0;ON;;;;;N;;;;;
-31CA;CJK STROKE HZT;So;0;ON;;;;;N;;;;;
-31CB;CJK STROKE HZZP;So;0;ON;;;;;N;;;;;
-31CC;CJK STROKE HPWG;So;0;ON;;;;;N;;;;;
-31CD;CJK STROKE HZW;So;0;ON;;;;;N;;;;;
-31CE;CJK STROKE HZZZ;So;0;ON;;;;;N;;;;;
-31CF;CJK STROKE N;So;0;ON;;;;;N;;;;;
-31D0;CJK STROKE H;So;0;ON;;;;;N;;;;;
-31D1;CJK STROKE S;So;0;ON;;;;;N;;;;;
-31D2;CJK STROKE P;So;0;ON;;;;;N;;;;;
-31D3;CJK STROKE SP;So;0;ON;;;;;N;;;;;
-31D4;CJK STROKE D;So;0;ON;;;;;N;;;;;
-31D5;CJK STROKE HZ;So;0;ON;;;;;N;;;;;
-31D6;CJK STROKE HG;So;0;ON;;;;;N;;;;;
-31D7;CJK STROKE SZ;So;0;ON;;;;;N;;;;;
-31D8;CJK STROKE SWZ;So;0;ON;;;;;N;;;;;
-31D9;CJK STROKE ST;So;0;ON;;;;;N;;;;;
-31DA;CJK STROKE SG;So;0;ON;;;;;N;;;;;
-31DB;CJK STROKE PD;So;0;ON;;;;;N;;;;;
-31DC;CJK STROKE PZ;So;0;ON;;;;;N;;;;;
-31DD;CJK STROKE TN;So;0;ON;;;;;N;;;;;
-31DE;CJK STROKE SZZ;So;0;ON;;;;;N;;;;;
-31DF;CJK STROKE SWG;So;0;ON;;;;;N;;;;;
-31E0;CJK STROKE HXWG;So;0;ON;;;;;N;;;;;
-31E1;CJK STROKE HZZZG;So;0;ON;;;;;N;;;;;
-31E2;CJK STROKE PG;So;0;ON;;;;;N;;;;;
-31E3;CJK STROKE Q;So;0;ON;;;;;N;;;;;
-31F0;KATAKANA LETTER SMALL KU;Lo;0;L;;;;;N;;;;;
-31F1;KATAKANA LETTER SMALL SI;Lo;0;L;;;;;N;;;;;
-31F2;KATAKANA LETTER SMALL SU;Lo;0;L;;;;;N;;;;;
-31F3;KATAKANA LETTER SMALL TO;Lo;0;L;;;;;N;;;;;
-31F4;KATAKANA LETTER SMALL NU;Lo;0;L;;;;;N;;;;;
-31F5;KATAKANA LETTER SMALL HA;Lo;0;L;;;;;N;;;;;
-31F6;KATAKANA LETTER SMALL HI;Lo;0;L;;;;;N;;;;;
-31F7;KATAKANA LETTER SMALL HU;Lo;0;L;;;;;N;;;;;
-31F8;KATAKANA LETTER SMALL HE;Lo;0;L;;;;;N;;;;;
-31F9;KATAKANA LETTER SMALL HO;Lo;0;L;;;;;N;;;;;
-31FA;KATAKANA LETTER SMALL MU;Lo;0;L;;;;;N;;;;;
-31FB;KATAKANA LETTER SMALL RA;Lo;0;L;;;;;N;;;;;
-31FC;KATAKANA LETTER SMALL RI;Lo;0;L;;;;;N;;;;;
-31FD;KATAKANA LETTER SMALL RU;Lo;0;L;;;;;N;;;;;
-31FE;KATAKANA LETTER SMALL RE;Lo;0;L;;;;;N;;;;;
-31FF;KATAKANA LETTER SMALL RO;Lo;0;L;;;;;N;;;;;
-3200;PARENTHESIZED HANGUL KIYEOK;So;0;L;<compat> 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;;
-3201;PARENTHESIZED HANGUL NIEUN;So;0;L;<compat> 0028 1102 0029;;;;N;;;;;
-3202;PARENTHESIZED HANGUL TIKEUT;So;0;L;<compat> 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;;
-3203;PARENTHESIZED HANGUL RIEUL;So;0;L;<compat> 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;;
-3204;PARENTHESIZED HANGUL MIEUM;So;0;L;<compat> 0028 1106 0029;;;;N;;;;;
-3205;PARENTHESIZED HANGUL PIEUP;So;0;L;<compat> 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;;
-3206;PARENTHESIZED HANGUL SIOS;So;0;L;<compat> 0028 1109 0029;;;;N;;;;;
-3207;PARENTHESIZED HANGUL IEUNG;So;0;L;<compat> 0028 110B 0029;;;;N;;;;;
-3208;PARENTHESIZED HANGUL CIEUC;So;0;L;<compat> 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;;
-3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L;<compat> 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;;
-320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L;<compat> 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;;
-320B;PARENTHESIZED HANGUL THIEUTH;So;0;L;<compat> 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;;
-320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L;<compat> 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;;
-320D;PARENTHESIZED HANGUL HIEUH;So;0;L;<compat> 0028 1112 0029;;;;N;;;;;
-320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L;<compat> 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;;
-320F;PARENTHESIZED HANGUL NIEUN A;So;0;L;<compat> 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;;
-3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L;<compat> 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;;
-3211;PARENTHESIZED HANGUL RIEUL A;So;0;L;<compat> 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;;
-3212;PARENTHESIZED HANGUL MIEUM A;So;0;L;<compat> 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;;
-3213;PARENTHESIZED HANGUL PIEUP A;So;0;L;<compat> 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;;
-3214;PARENTHESIZED HANGUL SIOS A;So;0;L;<compat> 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;;
-3215;PARENTHESIZED HANGUL IEUNG A;So;0;L;<compat> 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;;
-3216;PARENTHESIZED HANGUL CIEUC A;So;0;L;<compat> 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;;
-3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L;<compat> 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;;
-3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L;<compat> 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;;
-3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L;<compat> 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;;
-321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L;<compat> 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;;
-321B;PARENTHESIZED HANGUL HIEUH A;So;0;L;<compat> 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;;
-321C;PARENTHESIZED HANGUL CIEUC U;So;0;L;<compat> 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;;
-321D;PARENTHESIZED KOREAN CHARACTER OJEON;So;0;ON;<compat> 0028 110B 1169 110C 1165 11AB 0029;;;;N;;;;;
-321E;PARENTHESIZED KOREAN CHARACTER O HU;So;0;ON;<compat> 0028 110B 1169 1112 116E 0029;;;;N;;;;;
-3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L;<compat> 0028 4E00 0029;;;1;N;;;;;
-3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L;<compat> 0028 4E8C 0029;;;2;N;;;;;
-3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L;<compat> 0028 4E09 0029;;;3;N;;;;;
-3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L;<compat> 0028 56DB 0029;;;4;N;;;;;
-3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L;<compat> 0028 4E94 0029;;;5;N;;;;;
-3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L;<compat> 0028 516D 0029;;;6;N;;;;;
-3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L;<compat> 0028 4E03 0029;;;7;N;;;;;
-3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L;<compat> 0028 516B 0029;;;8;N;;;;;
-3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L;<compat> 0028 4E5D 0029;;;9;N;;;;;
-3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L;<compat> 0028 5341 0029;;;10;N;;;;;
-322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L;<compat> 0028 6708 0029;;;;N;;;;;
-322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L;<compat> 0028 706B 0029;;;;N;;;;;
-322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L;<compat> 0028 6C34 0029;;;;N;;;;;
-322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L;<compat> 0028 6728 0029;;;;N;;;;;
-322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L;<compat> 0028 91D1 0029;;;;N;;;;;
-322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L;<compat> 0028 571F 0029;;;;N;;;;;
-3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L;<compat> 0028 65E5 0029;;;;N;;;;;
-3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L;<compat> 0028 682A 0029;;;;N;;;;;
-3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L;<compat> 0028 6709 0029;;;;N;;;;;
-3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L;<compat> 0028 793E 0029;;;;N;;;;;
-3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L;<compat> 0028 540D 0029;;;;N;;;;;
-3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L;<compat> 0028 7279 0029;;;;N;;;;;
-3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L;<compat> 0028 8CA1 0029;;;;N;;;;;
-3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L;<compat> 0028 795D 0029;;;;N;;;;;
-3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L;<compat> 0028 52B4 0029;;;;N;;;;;
-3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L;<compat> 0028 4EE3 0029;;;;N;;;;;
-323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L;<compat> 0028 547C 0029;;;;N;;;;;
-323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L;<compat> 0028 5B66 0029;;;;N;;;;;
-323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L;<compat> 0028 76E3 0029;;;;N;;;;;
-323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L;<compat> 0028 4F01 0029;;;;N;;;;;
-323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L;<compat> 0028 8CC7 0029;;;;N;;;;;
-323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L;<compat> 0028 5354 0029;;;;N;;;;;
-3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L;<compat> 0028 796D 0029;;;;N;;;;;
-3241;PARENTHESIZED IDEOGRAPH REST;So;0;L;<compat> 0028 4F11 0029;;;;N;;;;;
-3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L;<compat> 0028 81EA 0029;;;;N;;;;;
-3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L;<compat> 0028 81F3 0029;;;;N;;;;;
-3244;CIRCLED IDEOGRAPH QUESTION;So;0;L;<circle> 554F;;;;N;;;;;
-3245;CIRCLED IDEOGRAPH KINDERGARTEN;So;0;L;<circle> 5E7C;;;;N;;;;;
-3246;CIRCLED IDEOGRAPH SCHOOL;So;0;L;<circle> 6587;;;;N;;;;;
-3247;CIRCLED IDEOGRAPH KOTO;So;0;L;<circle> 7B8F;;;;N;;;;;
-3248;CIRCLED NUMBER TEN ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-3249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-3250;PARTNERSHIP SIGN;So;0;ON;<square> 0050 0054 0045;;;;N;;;;;
-3251;CIRCLED NUMBER TWENTY ONE;No;0;ON;<circle> 0032 0031;;;21;N;;;;;
-3252;CIRCLED NUMBER TWENTY TWO;No;0;ON;<circle> 0032 0032;;;22;N;;;;;
-3253;CIRCLED NUMBER TWENTY THREE;No;0;ON;<circle> 0032 0033;;;23;N;;;;;
-3254;CIRCLED NUMBER TWENTY FOUR;No;0;ON;<circle> 0032 0034;;;24;N;;;;;
-3255;CIRCLED NUMBER TWENTY FIVE;No;0;ON;<circle> 0032 0035;;;25;N;;;;;
-3256;CIRCLED NUMBER TWENTY SIX;No;0;ON;<circle> 0032 0036;;;26;N;;;;;
-3257;CIRCLED NUMBER TWENTY SEVEN;No;0;ON;<circle> 0032 0037;;;27;N;;;;;
-3258;CIRCLED NUMBER TWENTY EIGHT;No;0;ON;<circle> 0032 0038;;;28;N;;;;;
-3259;CIRCLED NUMBER TWENTY NINE;No;0;ON;<circle> 0032 0039;;;29;N;;;;;
-325A;CIRCLED NUMBER THIRTY;No;0;ON;<circle> 0033 0030;;;30;N;;;;;
-325B;CIRCLED NUMBER THIRTY ONE;No;0;ON;<circle> 0033 0031;;;31;N;;;;;
-325C;CIRCLED NUMBER THIRTY TWO;No;0;ON;<circle> 0033 0032;;;32;N;;;;;
-325D;CIRCLED NUMBER THIRTY THREE;No;0;ON;<circle> 0033 0033;;;33;N;;;;;
-325E;CIRCLED NUMBER THIRTY FOUR;No;0;ON;<circle> 0033 0034;;;34;N;;;;;
-325F;CIRCLED NUMBER THIRTY FIVE;No;0;ON;<circle> 0033 0035;;;35;N;;;;;
-3260;CIRCLED HANGUL KIYEOK;So;0;L;<circle> 1100;;;;N;CIRCLED HANGUL GIYEOG;;;;
-3261;CIRCLED HANGUL NIEUN;So;0;L;<circle> 1102;;;;N;;;;;
-3262;CIRCLED HANGUL TIKEUT;So;0;L;<circle> 1103;;;;N;CIRCLED HANGUL DIGEUD;;;;
-3263;CIRCLED HANGUL RIEUL;So;0;L;<circle> 1105;;;;N;CIRCLED HANGUL LIEUL;;;;
-3264;CIRCLED HANGUL MIEUM;So;0;L;<circle> 1106;;;;N;;;;;
-3265;CIRCLED HANGUL PIEUP;So;0;L;<circle> 1107;;;;N;CIRCLED HANGUL BIEUB;;;;
-3266;CIRCLED HANGUL SIOS;So;0;L;<circle> 1109;;;;N;;;;;
-3267;CIRCLED HANGUL IEUNG;So;0;L;<circle> 110B;;;;N;;;;;
-3268;CIRCLED HANGUL CIEUC;So;0;L;<circle> 110C;;;;N;CIRCLED HANGUL JIEUJ;;;;
-3269;CIRCLED HANGUL CHIEUCH;So;0;L;<circle> 110E;;;;N;CIRCLED HANGUL CIEUC;;;;
-326A;CIRCLED HANGUL KHIEUKH;So;0;L;<circle> 110F;;;;N;CIRCLED HANGUL KIYEOK;;;;
-326B;CIRCLED HANGUL THIEUTH;So;0;L;<circle> 1110;;;;N;CIRCLED HANGUL TIEUT;;;;
-326C;CIRCLED HANGUL PHIEUPH;So;0;L;<circle> 1111;;;;N;CIRCLED HANGUL PIEUP;;;;
-326D;CIRCLED HANGUL HIEUH;So;0;L;<circle> 1112;;;;N;;;;;
-326E;CIRCLED HANGUL KIYEOK A;So;0;L;<circle> 1100 1161;;;;N;CIRCLED HANGUL GA;;;;
-326F;CIRCLED HANGUL NIEUN A;So;0;L;<circle> 1102 1161;;;;N;CIRCLED HANGUL NA;;;;
-3270;CIRCLED HANGUL TIKEUT A;So;0;L;<circle> 1103 1161;;;;N;CIRCLED HANGUL DA;;;;
-3271;CIRCLED HANGUL RIEUL A;So;0;L;<circle> 1105 1161;;;;N;CIRCLED HANGUL LA;;;;
-3272;CIRCLED HANGUL MIEUM A;So;0;L;<circle> 1106 1161;;;;N;CIRCLED HANGUL MA;;;;
-3273;CIRCLED HANGUL PIEUP A;So;0;L;<circle> 1107 1161;;;;N;CIRCLED HANGUL BA;;;;
-3274;CIRCLED HANGUL SIOS A;So;0;L;<circle> 1109 1161;;;;N;CIRCLED HANGUL SA;;;;
-3275;CIRCLED HANGUL IEUNG A;So;0;L;<circle> 110B 1161;;;;N;CIRCLED HANGUL A;;;;
-3276;CIRCLED HANGUL CIEUC A;So;0;L;<circle> 110C 1161;;;;N;CIRCLED HANGUL JA;;;;
-3277;CIRCLED HANGUL CHIEUCH A;So;0;L;<circle> 110E 1161;;;;N;CIRCLED HANGUL CA;;;;
-3278;CIRCLED HANGUL KHIEUKH A;So;0;L;<circle> 110F 1161;;;;N;CIRCLED HANGUL KA;;;;
-3279;CIRCLED HANGUL THIEUTH A;So;0;L;<circle> 1110 1161;;;;N;CIRCLED HANGUL TA;;;;
-327A;CIRCLED HANGUL PHIEUPH A;So;0;L;<circle> 1111 1161;;;;N;CIRCLED HANGUL PA;;;;
-327B;CIRCLED HANGUL HIEUH A;So;0;L;<circle> 1112 1161;;;;N;CIRCLED HANGUL HA;;;;
-327C;CIRCLED KOREAN CHARACTER CHAMKO;So;0;ON;<circle> 110E 1161 11B7 1100 1169;;;;N;;;;;
-327D;CIRCLED KOREAN CHARACTER JUEUI;So;0;ON;<circle> 110C 116E 110B 1174;;;;N;;;;;
-327E;CIRCLED HANGUL IEUNG U;So;0;ON;<circle> 110B 116E;;;;N;;;;;
-327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;;
-3280;CIRCLED IDEOGRAPH ONE;No;0;L;<circle> 4E00;;;1;N;;;;;
-3281;CIRCLED IDEOGRAPH TWO;No;0;L;<circle> 4E8C;;;2;N;;;;;
-3282;CIRCLED IDEOGRAPH THREE;No;0;L;<circle> 4E09;;;3;N;;;;;
-3283;CIRCLED IDEOGRAPH FOUR;No;0;L;<circle> 56DB;;;4;N;;;;;
-3284;CIRCLED IDEOGRAPH FIVE;No;0;L;<circle> 4E94;;;5;N;;;;;
-3285;CIRCLED IDEOGRAPH SIX;No;0;L;<circle> 516D;;;6;N;;;;;
-3286;CIRCLED IDEOGRAPH SEVEN;No;0;L;<circle> 4E03;;;7;N;;;;;
-3287;CIRCLED IDEOGRAPH EIGHT;No;0;L;<circle> 516B;;;8;N;;;;;
-3288;CIRCLED IDEOGRAPH NINE;No;0;L;<circle> 4E5D;;;9;N;;;;;
-3289;CIRCLED IDEOGRAPH TEN;No;0;L;<circle> 5341;;;10;N;;;;;
-328A;CIRCLED IDEOGRAPH MOON;So;0;L;<circle> 6708;;;;N;;;;;
-328B;CIRCLED IDEOGRAPH FIRE;So;0;L;<circle> 706B;;;;N;;;;;
-328C;CIRCLED IDEOGRAPH WATER;So;0;L;<circle> 6C34;;;;N;;;;;
-328D;CIRCLED IDEOGRAPH WOOD;So;0;L;<circle> 6728;;;;N;;;;;
-328E;CIRCLED IDEOGRAPH METAL;So;0;L;<circle> 91D1;;;;N;;;;;
-328F;CIRCLED IDEOGRAPH EARTH;So;0;L;<circle> 571F;;;;N;;;;;
-3290;CIRCLED IDEOGRAPH SUN;So;0;L;<circle> 65E5;;;;N;;;;;
-3291;CIRCLED IDEOGRAPH STOCK;So;0;L;<circle> 682A;;;;N;;;;;
-3292;CIRCLED IDEOGRAPH HAVE;So;0;L;<circle> 6709;;;;N;;;;;
-3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L;<circle> 793E;;;;N;;;;;
-3294;CIRCLED IDEOGRAPH NAME;So;0;L;<circle> 540D;;;;N;;;;;
-3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L;<circle> 7279;;;;N;;;;;
-3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L;<circle> 8CA1;;;;N;;;;;
-3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L;<circle> 795D;;;;N;;;;;
-3298;CIRCLED IDEOGRAPH LABOR;So;0;L;<circle> 52B4;;;;N;;;;;
-3299;CIRCLED IDEOGRAPH SECRET;So;0;L;<circle> 79D8;;;;N;;;;;
-329A;CIRCLED IDEOGRAPH MALE;So;0;L;<circle> 7537;;;;N;;;;;
-329B;CIRCLED IDEOGRAPH FEMALE;So;0;L;<circle> 5973;;;;N;;;;;
-329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L;<circle> 9069;;;;N;;;;;
-329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L;<circle> 512A;;;;N;;;;;
-329E;CIRCLED IDEOGRAPH PRINT;So;0;L;<circle> 5370;;;;N;;;;;
-329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L;<circle> 6CE8;;;;N;;;;;
-32A0;CIRCLED IDEOGRAPH ITEM;So;0;L;<circle> 9805;;;;N;;;;;
-32A1;CIRCLED IDEOGRAPH REST;So;0;L;<circle> 4F11;;;;N;;;;;
-32A2;CIRCLED IDEOGRAPH COPY;So;0;L;<circle> 5199;;;;N;;;;;
-32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L;<circle> 6B63;;;;N;;;;;
-32A4;CIRCLED IDEOGRAPH HIGH;So;0;L;<circle> 4E0A;;;;N;;;;;
-32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L;<circle> 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;;
-32A6;CIRCLED IDEOGRAPH LOW;So;0;L;<circle> 4E0B;;;;N;;;;;
-32A7;CIRCLED IDEOGRAPH LEFT;So;0;L;<circle> 5DE6;;;;N;;;;;
-32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L;<circle> 53F3;;;;N;;;;;
-32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L;<circle> 533B;;;;N;;;;;
-32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L;<circle> 5B97;;;;N;;;;;
-32AB;CIRCLED IDEOGRAPH STUDY;So;0;L;<circle> 5B66;;;;N;;;;;
-32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L;<circle> 76E3;;;;N;;;;;
-32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L;<circle> 4F01;;;;N;;;;;
-32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L;<circle> 8CC7;;;;N;;;;;
-32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L;<circle> 5354;;;;N;;;;;
-32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L;<circle> 591C;;;;N;;;;;
-32B1;CIRCLED NUMBER THIRTY SIX;No;0;ON;<circle> 0033 0036;;;36;N;;;;;
-32B2;CIRCLED NUMBER THIRTY SEVEN;No;0;ON;<circle> 0033 0037;;;37;N;;;;;
-32B3;CIRCLED NUMBER THIRTY EIGHT;No;0;ON;<circle> 0033 0038;;;38;N;;;;;
-32B4;CIRCLED NUMBER THIRTY NINE;No;0;ON;<circle> 0033 0039;;;39;N;;;;;
-32B5;CIRCLED NUMBER FORTY;No;0;ON;<circle> 0034 0030;;;40;N;;;;;
-32B6;CIRCLED NUMBER FORTY ONE;No;0;ON;<circle> 0034 0031;;;41;N;;;;;
-32B7;CIRCLED NUMBER FORTY TWO;No;0;ON;<circle> 0034 0032;;;42;N;;;;;
-32B8;CIRCLED NUMBER FORTY THREE;No;0;ON;<circle> 0034 0033;;;43;N;;;;;
-32B9;CIRCLED NUMBER FORTY FOUR;No;0;ON;<circle> 0034 0034;;;44;N;;;;;
-32BA;CIRCLED NUMBER FORTY FIVE;No;0;ON;<circle> 0034 0035;;;45;N;;;;;
-32BB;CIRCLED NUMBER FORTY SIX;No;0;ON;<circle> 0034 0036;;;46;N;;;;;
-32BC;CIRCLED NUMBER FORTY SEVEN;No;0;ON;<circle> 0034 0037;;;47;N;;;;;
-32BD;CIRCLED NUMBER FORTY EIGHT;No;0;ON;<circle> 0034 0038;;;48;N;;;;;
-32BE;CIRCLED NUMBER FORTY NINE;No;0;ON;<circle> 0034 0039;;;49;N;;;;;
-32BF;CIRCLED NUMBER FIFTY;No;0;ON;<circle> 0035 0030;;;50;N;;;;;
-32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L;<compat> 0031 6708;;;;N;;;;;
-32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L;<compat> 0032 6708;;;;N;;;;;
-32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L;<compat> 0033 6708;;;;N;;;;;
-32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L;<compat> 0034 6708;;;;N;;;;;
-32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L;<compat> 0035 6708;;;;N;;;;;
-32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L;<compat> 0036 6708;;;;N;;;;;
-32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L;<compat> 0037 6708;;;;N;;;;;
-32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L;<compat> 0038 6708;;;;N;;;;;
-32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L;<compat> 0039 6708;;;;N;;;;;
-32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L;<compat> 0031 0030 6708;;;;N;;;;;
-32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L;<compat> 0031 0031 6708;;;;N;;;;;
-32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L;<compat> 0031 0032 6708;;;;N;;;;;
-32CC;SQUARE HG;So;0;ON;<square> 0048 0067;;;;N;;;;;
-32CD;SQUARE ERG;So;0;ON;<square> 0065 0072 0067;;;;N;;;;;
-32CE;SQUARE EV;So;0;ON;<square> 0065 0056;;;;N;;;;;
-32CF;LIMITED LIABILITY SIGN;So;0;ON;<square> 004C 0054 0044;;;;N;;;;;
-32D0;CIRCLED KATAKANA A;So;0;L;<circle> 30A2;;;;N;;;;;
-32D1;CIRCLED KATAKANA I;So;0;L;<circle> 30A4;;;;N;;;;;
-32D2;CIRCLED KATAKANA U;So;0;L;<circle> 30A6;;;;N;;;;;
-32D3;CIRCLED KATAKANA E;So;0;L;<circle> 30A8;;;;N;;;;;
-32D4;CIRCLED KATAKANA O;So;0;L;<circle> 30AA;;;;N;;;;;
-32D5;CIRCLED KATAKANA KA;So;0;L;<circle> 30AB;;;;N;;;;;
-32D6;CIRCLED KATAKANA KI;So;0;L;<circle> 30AD;;;;N;;;;;
-32D7;CIRCLED KATAKANA KU;So;0;L;<circle> 30AF;;;;N;;;;;
-32D8;CIRCLED KATAKANA KE;So;0;L;<circle> 30B1;;;;N;;;;;
-32D9;CIRCLED KATAKANA KO;So;0;L;<circle> 30B3;;;;N;;;;;
-32DA;CIRCLED KATAKANA SA;So;0;L;<circle> 30B5;;;;N;;;;;
-32DB;CIRCLED KATAKANA SI;So;0;L;<circle> 30B7;;;;N;;;;;
-32DC;CIRCLED KATAKANA SU;So;0;L;<circle> 30B9;;;;N;;;;;
-32DD;CIRCLED KATAKANA SE;So;0;L;<circle> 30BB;;;;N;;;;;
-32DE;CIRCLED KATAKANA SO;So;0;L;<circle> 30BD;;;;N;;;;;
-32DF;CIRCLED KATAKANA TA;So;0;L;<circle> 30BF;;;;N;;;;;
-32E0;CIRCLED KATAKANA TI;So;0;L;<circle> 30C1;;;;N;;;;;
-32E1;CIRCLED KATAKANA TU;So;0;L;<circle> 30C4;;;;N;;;;;
-32E2;CIRCLED KATAKANA TE;So;0;L;<circle> 30C6;;;;N;;;;;
-32E3;CIRCLED KATAKANA TO;So;0;L;<circle> 30C8;;;;N;;;;;
-32E4;CIRCLED KATAKANA NA;So;0;L;<circle> 30CA;;;;N;;;;;
-32E5;CIRCLED KATAKANA NI;So;0;L;<circle> 30CB;;;;N;;;;;
-32E6;CIRCLED KATAKANA NU;So;0;L;<circle> 30CC;;;;N;;;;;
-32E7;CIRCLED KATAKANA NE;So;0;L;<circle> 30CD;;;;N;;;;;
-32E8;CIRCLED KATAKANA NO;So;0;L;<circle> 30CE;;;;N;;;;;
-32E9;CIRCLED KATAKANA HA;So;0;L;<circle> 30CF;;;;N;;;;;
-32EA;CIRCLED KATAKANA HI;So;0;L;<circle> 30D2;;;;N;;;;;
-32EB;CIRCLED KATAKANA HU;So;0;L;<circle> 30D5;;;;N;;;;;
-32EC;CIRCLED KATAKANA HE;So;0;L;<circle> 30D8;;;;N;;;;;
-32ED;CIRCLED KATAKANA HO;So;0;L;<circle> 30DB;;;;N;;;;;
-32EE;CIRCLED KATAKANA MA;So;0;L;<circle> 30DE;;;;N;;;;;
-32EF;CIRCLED KATAKANA MI;So;0;L;<circle> 30DF;;;;N;;;;;
-32F0;CIRCLED KATAKANA MU;So;0;L;<circle> 30E0;;;;N;;;;;
-32F1;CIRCLED KATAKANA ME;So;0;L;<circle> 30E1;;;;N;;;;;
-32F2;CIRCLED KATAKANA MO;So;0;L;<circle> 30E2;;;;N;;;;;
-32F3;CIRCLED KATAKANA YA;So;0;L;<circle> 30E4;;;;N;;;;;
-32F4;CIRCLED KATAKANA YU;So;0;L;<circle> 30E6;;;;N;;;;;
-32F5;CIRCLED KATAKANA YO;So;0;L;<circle> 30E8;;;;N;;;;;
-32F6;CIRCLED KATAKANA RA;So;0;L;<circle> 30E9;;;;N;;;;;
-32F7;CIRCLED KATAKANA RI;So;0;L;<circle> 30EA;;;;N;;;;;
-32F8;CIRCLED KATAKANA RU;So;0;L;<circle> 30EB;;;;N;;;;;
-32F9;CIRCLED KATAKANA RE;So;0;L;<circle> 30EC;;;;N;;;;;
-32FA;CIRCLED KATAKANA RO;So;0;L;<circle> 30ED;;;;N;;;;;
-32FB;CIRCLED KATAKANA WA;So;0;L;<circle> 30EF;;;;N;;;;;
-32FC;CIRCLED KATAKANA WI;So;0;L;<circle> 30F0;;;;N;;;;;
-32FD;CIRCLED KATAKANA WE;So;0;L;<circle> 30F1;;;;N;;;;;
-32FE;CIRCLED KATAKANA WO;So;0;L;<circle> 30F2;;;;N;;;;;
-3300;SQUARE APAATO;So;0;L;<square> 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
-3301;SQUARE ARUHUA;So;0;L;<square> 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
-3302;SQUARE ANPEA;So;0;L;<square> 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
-3303;SQUARE AARU;So;0;L;<square> 30A2 30FC 30EB;;;;N;SQUARED AARU;;;;
-3304;SQUARE ININGU;So;0;L;<square> 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;;
-3305;SQUARE INTI;So;0;L;<square> 30A4 30F3 30C1;;;;N;SQUARED INTI;;;;
-3306;SQUARE UON;So;0;L;<square> 30A6 30A9 30F3;;;;N;SQUARED UON;;;;
-3307;SQUARE ESUKUUDO;So;0;L;<square> 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;;
-3308;SQUARE EEKAA;So;0;L;<square> 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;;
-3309;SQUARE ONSU;So;0;L;<square> 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;;
-330A;SQUARE OOMU;So;0;L;<square> 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;;
-330B;SQUARE KAIRI;So;0;L;<square> 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;;
-330C;SQUARE KARATTO;So;0;L;<square> 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;;
-330D;SQUARE KARORII;So;0;L;<square> 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;;
-330E;SQUARE GARON;So;0;L;<square> 30AC 30ED 30F3;;;;N;SQUARED GARON;;;;
-330F;SQUARE GANMA;So;0;L;<square> 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;;
-3310;SQUARE GIGA;So;0;L;<square> 30AE 30AC;;;;N;SQUARED GIGA;;;;
-3311;SQUARE GINII;So;0;L;<square> 30AE 30CB 30FC;;;;N;SQUARED GINII;;;;
-3312;SQUARE KYURII;So;0;L;<square> 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;;
-3313;SQUARE GIRUDAA;So;0;L;<square> 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;;
-3314;SQUARE KIRO;So;0;L;<square> 30AD 30ED;;;;N;SQUARED KIRO;;;;
-3315;SQUARE KIROGURAMU;So;0;L;<square> 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;;
-3316;SQUARE KIROMEETORU;So;0;L;<square> 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;;
-3317;SQUARE KIROWATTO;So;0;L;<square> 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;;
-3318;SQUARE GURAMU;So;0;L;<square> 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;;
-3319;SQUARE GURAMUTON;So;0;L;<square> 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;;
-331A;SQUARE KURUZEIRO;So;0;L;<square> 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;;
-331B;SQUARE KUROONE;So;0;L;<square> 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;;
-331C;SQUARE KEESU;So;0;L;<square> 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;;
-331D;SQUARE KORUNA;So;0;L;<square> 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;;
-331E;SQUARE KOOPO;So;0;L;<square> 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;;
-331F;SQUARE SAIKURU;So;0;L;<square> 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;;
-3320;SQUARE SANTIIMU;So;0;L;<square> 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;;
-3321;SQUARE SIRINGU;So;0;L;<square> 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;;
-3322;SQUARE SENTI;So;0;L;<square> 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;;
-3323;SQUARE SENTO;So;0;L;<square> 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;;
-3324;SQUARE DAASU;So;0;L;<square> 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;;
-3325;SQUARE DESI;So;0;L;<square> 30C7 30B7;;;;N;SQUARED DESI;;;;
-3326;SQUARE DORU;So;0;L;<square> 30C9 30EB;;;;N;SQUARED DORU;;;;
-3327;SQUARE TON;So;0;L;<square> 30C8 30F3;;;;N;SQUARED TON;;;;
-3328;SQUARE NANO;So;0;L;<square> 30CA 30CE;;;;N;SQUARED NANO;;;;
-3329;SQUARE NOTTO;So;0;L;<square> 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;;
-332A;SQUARE HAITU;So;0;L;<square> 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;;
-332B;SQUARE PAASENTO;So;0;L;<square> 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;;
-332C;SQUARE PAATU;So;0;L;<square> 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;;
-332D;SQUARE BAARERU;So;0;L;<square> 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;;
-332E;SQUARE PIASUTORU;So;0;L;<square> 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;;
-332F;SQUARE PIKURU;So;0;L;<square> 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;;
-3330;SQUARE PIKO;So;0;L;<square> 30D4 30B3;;;;N;SQUARED PIKO;;;;
-3331;SQUARE BIRU;So;0;L;<square> 30D3 30EB;;;;N;SQUARED BIRU;;;;
-3332;SQUARE HUARADDO;So;0;L;<square> 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;;
-3333;SQUARE HUIITO;So;0;L;<square> 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;;
-3334;SQUARE BUSSYERU;So;0;L;<square> 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;;
-3335;SQUARE HURAN;So;0;L;<square> 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;;
-3336;SQUARE HEKUTAARU;So;0;L;<square> 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;;
-3337;SQUARE PESO;So;0;L;<square> 30DA 30BD;;;;N;SQUARED PESO;;;;
-3338;SQUARE PENIHI;So;0;L;<square> 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;;
-3339;SQUARE HERUTU;So;0;L;<square> 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;;
-333A;SQUARE PENSU;So;0;L;<square> 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;;
-333B;SQUARE PEEZI;So;0;L;<square> 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;;
-333C;SQUARE BEETA;So;0;L;<square> 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;;
-333D;SQUARE POINTO;So;0;L;<square> 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;;
-333E;SQUARE BORUTO;So;0;L;<square> 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;;
-333F;SQUARE HON;So;0;L;<square> 30DB 30F3;;;;N;SQUARED HON;;;;
-3340;SQUARE PONDO;So;0;L;<square> 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;;
-3341;SQUARE HOORU;So;0;L;<square> 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;;
-3342;SQUARE HOON;So;0;L;<square> 30DB 30FC 30F3;;;;N;SQUARED HOON;;;;
-3343;SQUARE MAIKURO;So;0;L;<square> 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;;
-3344;SQUARE MAIRU;So;0;L;<square> 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;;
-3345;SQUARE MAHHA;So;0;L;<square> 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;;
-3346;SQUARE MARUKU;So;0;L;<square> 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;;
-3347;SQUARE MANSYON;So;0;L;<square> 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;;
-3348;SQUARE MIKURON;So;0;L;<square> 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;;
-3349;SQUARE MIRI;So;0;L;<square> 30DF 30EA;;;;N;SQUARED MIRI;;;;
-334A;SQUARE MIRIBAARU;So;0;L;<square> 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;;
-334B;SQUARE MEGA;So;0;L;<square> 30E1 30AC;;;;N;SQUARED MEGA;;;;
-334C;SQUARE MEGATON;So;0;L;<square> 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;;
-334D;SQUARE MEETORU;So;0;L;<square> 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;;
-334E;SQUARE YAADO;So;0;L;<square> 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;;
-334F;SQUARE YAARU;So;0;L;<square> 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;;
-3350;SQUARE YUAN;So;0;L;<square> 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;;
-3351;SQUARE RITTORU;So;0;L;<square> 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;;
-3352;SQUARE RIRA;So;0;L;<square> 30EA 30E9;;;;N;SQUARED RIRA;;;;
-3353;SQUARE RUPII;So;0;L;<square> 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;;
-3354;SQUARE RUUBURU;So;0;L;<square> 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;;
-3355;SQUARE REMU;So;0;L;<square> 30EC 30E0;;;;N;SQUARED REMU;;;;
-3356;SQUARE RENTOGEN;So;0;L;<square> 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;;
-3357;SQUARE WATTO;So;0;L;<square> 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;;
-3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L;<compat> 0030 70B9;;;;N;;;;;
-3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L;<compat> 0031 70B9;;;;N;;;;;
-335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L;<compat> 0032 70B9;;;;N;;;;;
-335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L;<compat> 0033 70B9;;;;N;;;;;
-335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L;<compat> 0034 70B9;;;;N;;;;;
-335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L;<compat> 0035 70B9;;;;N;;;;;
-335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L;<compat> 0036 70B9;;;;N;;;;;
-335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L;<compat> 0037 70B9;;;;N;;;;;
-3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L;<compat> 0038 70B9;;;;N;;;;;
-3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L;<compat> 0039 70B9;;;;N;;;;;
-3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L;<compat> 0031 0030 70B9;;;;N;;;;;
-3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L;<compat> 0031 0031 70B9;;;;N;;;;;
-3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L;<compat> 0031 0032 70B9;;;;N;;;;;
-3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L;<compat> 0031 0033 70B9;;;;N;;;;;
-3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L;<compat> 0031 0034 70B9;;;;N;;;;;
-3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L;<compat> 0031 0035 70B9;;;;N;;;;;
-3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L;<compat> 0031 0036 70B9;;;;N;;;;;
-3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L;<compat> 0031 0037 70B9;;;;N;;;;;
-336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L;<compat> 0031 0038 70B9;;;;N;;;;;
-336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L;<compat> 0031 0039 70B9;;;;N;;;;;
-336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L;<compat> 0032 0030 70B9;;;;N;;;;;
-336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L;<compat> 0032 0031 70B9;;;;N;;;;;
-336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L;<compat> 0032 0032 70B9;;;;N;;;;;
-336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L;<compat> 0032 0033 70B9;;;;N;;;;;
-3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L;<compat> 0032 0034 70B9;;;;N;;;;;
-3371;SQUARE HPA;So;0;L;<square> 0068 0050 0061;;;;N;;;;;
-3372;SQUARE DA;So;0;L;<square> 0064 0061;;;;N;;;;;
-3373;SQUARE AU;So;0;L;<square> 0041 0055;;;;N;;;;;
-3374;SQUARE BAR;So;0;L;<square> 0062 0061 0072;;;;N;;;;;
-3375;SQUARE OV;So;0;L;<square> 006F 0056;;;;N;;;;;
-3376;SQUARE PC;So;0;L;<square> 0070 0063;;;;N;;;;;
-3377;SQUARE DM;So;0;ON;<square> 0064 006D;;;;N;;;;;
-3378;SQUARE DM SQUARED;So;0;ON;<square> 0064 006D 00B2;;;;N;;;;;
-3379;SQUARE DM CUBED;So;0;ON;<square> 0064 006D 00B3;;;;N;;;;;
-337A;SQUARE IU;So;0;ON;<square> 0049 0055;;;;N;;;;;
-337B;SQUARE ERA NAME HEISEI;So;0;L;<square> 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;;
-337C;SQUARE ERA NAME SYOUWA;So;0;L;<square> 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;;
-337D;SQUARE ERA NAME TAISYOU;So;0;L;<square> 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;;
-337E;SQUARE ERA NAME MEIZI;So;0;L;<square> 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;;
-337F;SQUARE CORPORATION;So;0;L;<square> 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;;
-3380;SQUARE PA AMPS;So;0;L;<square> 0070 0041;;;;N;SQUARED PA AMPS;;;;
-3381;SQUARE NA;So;0;L;<square> 006E 0041;;;;N;SQUARED NA;;;;
-3382;SQUARE MU A;So;0;L;<square> 03BC 0041;;;;N;SQUARED MU A;;;;
-3383;SQUARE MA;So;0;L;<square> 006D 0041;;;;N;SQUARED MA;;;;
-3384;SQUARE KA;So;0;L;<square> 006B 0041;;;;N;SQUARED KA;;;;
-3385;SQUARE KB;So;0;L;<square> 004B 0042;;;;N;SQUARED KB;;;;
-3386;SQUARE MB;So;0;L;<square> 004D 0042;;;;N;SQUARED MB;;;;
-3387;SQUARE GB;So;0;L;<square> 0047 0042;;;;N;SQUARED GB;;;;
-3388;SQUARE CAL;So;0;L;<square> 0063 0061 006C;;;;N;SQUARED CAL;;;;
-3389;SQUARE KCAL;So;0;L;<square> 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;;
-338A;SQUARE PF;So;0;L;<square> 0070 0046;;;;N;SQUARED PF;;;;
-338B;SQUARE NF;So;0;L;<square> 006E 0046;;;;N;SQUARED NF;;;;
-338C;SQUARE MU F;So;0;L;<square> 03BC 0046;;;;N;SQUARED MU F;;;;
-338D;SQUARE MU G;So;0;L;<square> 03BC 0067;;;;N;SQUARED MU G;;;;
-338E;SQUARE MG;So;0;L;<square> 006D 0067;;;;N;SQUARED MG;;;;
-338F;SQUARE KG;So;0;L;<square> 006B 0067;;;;N;SQUARED KG;;;;
-3390;SQUARE HZ;So;0;L;<square> 0048 007A;;;;N;SQUARED HZ;;;;
-3391;SQUARE KHZ;So;0;L;<square> 006B 0048 007A;;;;N;SQUARED KHZ;;;;
-3392;SQUARE MHZ;So;0;L;<square> 004D 0048 007A;;;;N;SQUARED MHZ;;;;
-3393;SQUARE GHZ;So;0;L;<square> 0047 0048 007A;;;;N;SQUARED GHZ;;;;
-3394;SQUARE THZ;So;0;L;<square> 0054 0048 007A;;;;N;SQUARED THZ;;;;
-3395;SQUARE MU L;So;0;L;<square> 03BC 2113;;;;N;SQUARED MU L;;;;
-3396;SQUARE ML;So;0;L;<square> 006D 2113;;;;N;SQUARED ML;;;;
-3397;SQUARE DL;So;0;L;<square> 0064 2113;;;;N;SQUARED DL;;;;
-3398;SQUARE KL;So;0;L;<square> 006B 2113;;;;N;SQUARED KL;;;;
-3399;SQUARE FM;So;0;L;<square> 0066 006D;;;;N;SQUARED FM;;;;
-339A;SQUARE NM;So;0;L;<square> 006E 006D;;;;N;SQUARED NM;;;;
-339B;SQUARE MU M;So;0;L;<square> 03BC 006D;;;;N;SQUARED MU M;;;;
-339C;SQUARE MM;So;0;L;<square> 006D 006D;;;;N;SQUARED MM;;;;
-339D;SQUARE CM;So;0;L;<square> 0063 006D;;;;N;SQUARED CM;;;;
-339E;SQUARE KM;So;0;L;<square> 006B 006D;;;;N;SQUARED KM;;;;
-339F;SQUARE MM SQUARED;So;0;L;<square> 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;;
-33A0;SQUARE CM SQUARED;So;0;L;<square> 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;;
-33A1;SQUARE M SQUARED;So;0;L;<square> 006D 00B2;;;;N;SQUARED M SQUARED;;;;
-33A2;SQUARE KM SQUARED;So;0;L;<square> 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;;
-33A3;SQUARE MM CUBED;So;0;L;<square> 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;;
-33A4;SQUARE CM CUBED;So;0;L;<square> 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;;
-33A5;SQUARE M CUBED;So;0;L;<square> 006D 00B3;;;;N;SQUARED M CUBED;;;;
-33A6;SQUARE KM CUBED;So;0;L;<square> 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;;
-33A7;SQUARE M OVER S;So;0;L;<square> 006D 2215 0073;;;;N;SQUARED M OVER S;;;;
-33A8;SQUARE M OVER S SQUARED;So;0;L;<square> 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;;
-33A9;SQUARE PA;So;0;L;<square> 0050 0061;;;;N;SQUARED PA;;;;
-33AA;SQUARE KPA;So;0;L;<square> 006B 0050 0061;;;;N;SQUARED KPA;;;;
-33AB;SQUARE MPA;So;0;L;<square> 004D 0050 0061;;;;N;SQUARED MPA;;;;
-33AC;SQUARE GPA;So;0;L;<square> 0047 0050 0061;;;;N;SQUARED GPA;;;;
-33AD;SQUARE RAD;So;0;L;<square> 0072 0061 0064;;;;N;SQUARED RAD;;;;
-33AE;SQUARE RAD OVER S;So;0;L;<square> 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;;
-33AF;SQUARE RAD OVER S SQUARED;So;0;L;<square> 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;;
-33B0;SQUARE PS;So;0;L;<square> 0070 0073;;;;N;SQUARED PS;;;;
-33B1;SQUARE NS;So;0;L;<square> 006E 0073;;;;N;SQUARED NS;;;;
-33B2;SQUARE MU S;So;0;L;<square> 03BC 0073;;;;N;SQUARED MU S;;;;
-33B3;SQUARE MS;So;0;L;<square> 006D 0073;;;;N;SQUARED MS;;;;
-33B4;SQUARE PV;So;0;L;<square> 0070 0056;;;;N;SQUARED PV;;;;
-33B5;SQUARE NV;So;0;L;<square> 006E 0056;;;;N;SQUARED NV;;;;
-33B6;SQUARE MU V;So;0;L;<square> 03BC 0056;;;;N;SQUARED MU V;;;;
-33B7;SQUARE MV;So;0;L;<square> 006D 0056;;;;N;SQUARED MV;;;;
-33B8;SQUARE KV;So;0;L;<square> 006B 0056;;;;N;SQUARED KV;;;;
-33B9;SQUARE MV MEGA;So;0;L;<square> 004D 0056;;;;N;SQUARED MV MEGA;;;;
-33BA;SQUARE PW;So;0;L;<square> 0070 0057;;;;N;SQUARED PW;;;;
-33BB;SQUARE NW;So;0;L;<square> 006E 0057;;;;N;SQUARED NW;;;;
-33BC;SQUARE MU W;So;0;L;<square> 03BC 0057;;;;N;SQUARED MU W;;;;
-33BD;SQUARE MW;So;0;L;<square> 006D 0057;;;;N;SQUARED MW;;;;
-33BE;SQUARE KW;So;0;L;<square> 006B 0057;;;;N;SQUARED KW;;;;
-33BF;SQUARE MW MEGA;So;0;L;<square> 004D 0057;;;;N;SQUARED MW MEGA;;;;
-33C0;SQUARE K OHM;So;0;L;<square> 006B 03A9;;;;N;SQUARED K OHM;;;;
-33C1;SQUARE M OHM;So;0;L;<square> 004D 03A9;;;;N;SQUARED M OHM;;;;
-33C2;SQUARE AM;So;0;L;<square> 0061 002E 006D 002E;;;;N;SQUARED AM;;;;
-33C3;SQUARE BQ;So;0;L;<square> 0042 0071;;;;N;SQUARED BQ;;;;
-33C4;SQUARE CC;So;0;L;<square> 0063 0063;;;;N;SQUARED CC;;;;
-33C5;SQUARE CD;So;0;L;<square> 0063 0064;;;;N;SQUARED CD;;;;
-33C6;SQUARE C OVER KG;So;0;L;<square> 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;;
-33C7;SQUARE CO;So;0;L;<square> 0043 006F 002E;;;;N;SQUARED CO;;;;
-33C8;SQUARE DB;So;0;L;<square> 0064 0042;;;;N;SQUARED DB;;;;
-33C9;SQUARE GY;So;0;L;<square> 0047 0079;;;;N;SQUARED GY;;;;
-33CA;SQUARE HA;So;0;L;<square> 0068 0061;;;;N;SQUARED HA;;;;
-33CB;SQUARE HP;So;0;L;<square> 0048 0050;;;;N;SQUARED HP;;;;
-33CC;SQUARE IN;So;0;L;<square> 0069 006E;;;;N;SQUARED IN;;;;
-33CD;SQUARE KK;So;0;L;<square> 004B 004B;;;;N;SQUARED KK;;;;
-33CE;SQUARE KM CAPITAL;So;0;L;<square> 004B 004D;;;;N;SQUARED KM CAPITAL;;;;
-33CF;SQUARE KT;So;0;L;<square> 006B 0074;;;;N;SQUARED KT;;;;
-33D0;SQUARE LM;So;0;L;<square> 006C 006D;;;;N;SQUARED LM;;;;
-33D1;SQUARE LN;So;0;L;<square> 006C 006E;;;;N;SQUARED LN;;;;
-33D2;SQUARE LOG;So;0;L;<square> 006C 006F 0067;;;;N;SQUARED LOG;;;;
-33D3;SQUARE LX;So;0;L;<square> 006C 0078;;;;N;SQUARED LX;;;;
-33D4;SQUARE MB SMALL;So;0;L;<square> 006D 0062;;;;N;SQUARED MB SMALL;;;;
-33D5;SQUARE MIL;So;0;L;<square> 006D 0069 006C;;;;N;SQUARED MIL;;;;
-33D6;SQUARE MOL;So;0;L;<square> 006D 006F 006C;;;;N;SQUARED MOL;;;;
-33D7;SQUARE PH;So;0;L;<square> 0050 0048;;;;N;SQUARED PH;;;;
-33D8;SQUARE PM;So;0;L;<square> 0070 002E 006D 002E;;;;N;SQUARED PM;;;;
-33D9;SQUARE PPM;So;0;L;<square> 0050 0050 004D;;;;N;SQUARED PPM;;;;
-33DA;SQUARE PR;So;0;L;<square> 0050 0052;;;;N;SQUARED PR;;;;
-33DB;SQUARE SR;So;0;L;<square> 0073 0072;;;;N;SQUARED SR;;;;
-33DC;SQUARE SV;So;0;L;<square> 0053 0076;;;;N;SQUARED SV;;;;
-33DD;SQUARE WB;So;0;L;<square> 0057 0062;;;;N;SQUARED WB;;;;
-33DE;SQUARE V OVER M;So;0;ON;<square> 0056 2215 006D;;;;N;;;;;
-33DF;SQUARE A OVER M;So;0;ON;<square> 0041 2215 006D;;;;N;;;;;
-33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L;<compat> 0031 65E5;;;;N;;;;;
-33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L;<compat> 0032 65E5;;;;N;;;;;
-33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L;<compat> 0033 65E5;;;;N;;;;;
-33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L;<compat> 0034 65E5;;;;N;;;;;
-33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L;<compat> 0035 65E5;;;;N;;;;;
-33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L;<compat> 0036 65E5;;;;N;;;;;
-33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L;<compat> 0037 65E5;;;;N;;;;;
-33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L;<compat> 0038 65E5;;;;N;;;;;
-33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L;<compat> 0039 65E5;;;;N;;;;;
-33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L;<compat> 0031 0030 65E5;;;;N;;;;;
-33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L;<compat> 0031 0031 65E5;;;;N;;;;;
-33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L;<compat> 0031 0032 65E5;;;;N;;;;;
-33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L;<compat> 0031 0033 65E5;;;;N;;;;;
-33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L;<compat> 0031 0034 65E5;;;;N;;;;;
-33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L;<compat> 0031 0035 65E5;;;;N;;;;;
-33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L;<compat> 0031 0036 65E5;;;;N;;;;;
-33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L;<compat> 0031 0037 65E5;;;;N;;;;;
-33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L;<compat> 0031 0038 65E5;;;;N;;;;;
-33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L;<compat> 0031 0039 65E5;;;;N;;;;;
-33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L;<compat> 0032 0030 65E5;;;;N;;;;;
-33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L;<compat> 0032 0031 65E5;;;;N;;;;;
-33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L;<compat> 0032 0032 65E5;;;;N;;;;;
-33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L;<compat> 0032 0033 65E5;;;;N;;;;;
-33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L;<compat> 0032 0034 65E5;;;;N;;;;;
-33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L;<compat> 0032 0035 65E5;;;;N;;;;;
-33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L;<compat> 0032 0036 65E5;;;;N;;;;;
-33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L;<compat> 0032 0037 65E5;;;;N;;;;;
-33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L;<compat> 0032 0038 65E5;;;;N;;;;;
-33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L;<compat> 0032 0039 65E5;;;;N;;;;;
-33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L;<compat> 0033 0030 65E5;;;;N;;;;;
-33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L;<compat> 0033 0031 65E5;;;;N;;;;;
-33FF;SQUARE GAL;So;0;ON;<square> 0067 0061 006C;;;;N;;;;;
-3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
-4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
-4DC0;HEXAGRAM FOR THE CREATIVE HEAVEN;So;0;ON;;;;;N;;;;;
-4DC1;HEXAGRAM FOR THE RECEPTIVE EARTH;So;0;ON;;;;;N;;;;;
-4DC2;HEXAGRAM FOR DIFFICULTY AT THE BEGINNING;So;0;ON;;;;;N;;;;;
-4DC3;HEXAGRAM FOR YOUTHFUL FOLLY;So;0;ON;;;;;N;;;;;
-4DC4;HEXAGRAM FOR WAITING;So;0;ON;;;;;N;;;;;
-4DC5;HEXAGRAM FOR CONFLICT;So;0;ON;;;;;N;;;;;
-4DC6;HEXAGRAM FOR THE ARMY;So;0;ON;;;;;N;;;;;
-4DC7;HEXAGRAM FOR HOLDING TOGETHER;So;0;ON;;;;;N;;;;;
-4DC8;HEXAGRAM FOR SMALL TAMING;So;0;ON;;;;;N;;;;;
-4DC9;HEXAGRAM FOR TREADING;So;0;ON;;;;;N;;;;;
-4DCA;HEXAGRAM FOR PEACE;So;0;ON;;;;;N;;;;;
-4DCB;HEXAGRAM FOR STANDSTILL;So;0;ON;;;;;N;;;;;
-4DCC;HEXAGRAM FOR FELLOWSHIP;So;0;ON;;;;;N;;;;;
-4DCD;HEXAGRAM FOR GREAT POSSESSION;So;0;ON;;;;;N;;;;;
-4DCE;HEXAGRAM FOR MODESTY;So;0;ON;;;;;N;;;;;
-4DCF;HEXAGRAM FOR ENTHUSIASM;So;0;ON;;;;;N;;;;;
-4DD0;HEXAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;;
-4DD1;HEXAGRAM FOR WORK ON THE DECAYED;So;0;ON;;;;;N;;;;;
-4DD2;HEXAGRAM FOR APPROACH;So;0;ON;;;;;N;;;;;
-4DD3;HEXAGRAM FOR CONTEMPLATION;So;0;ON;;;;;N;;;;;
-4DD4;HEXAGRAM FOR BITING THROUGH;So;0;ON;;;;;N;;;;;
-4DD5;HEXAGRAM FOR GRACE;So;0;ON;;;;;N;;;;;
-4DD6;HEXAGRAM FOR SPLITTING APART;So;0;ON;;;;;N;;;;;
-4DD7;HEXAGRAM FOR RETURN;So;0;ON;;;;;N;;;;;
-4DD8;HEXAGRAM FOR INNOCENCE;So;0;ON;;;;;N;;;;;
-4DD9;HEXAGRAM FOR GREAT TAMING;So;0;ON;;;;;N;;;;;
-4DDA;HEXAGRAM FOR MOUTH CORNERS;So;0;ON;;;;;N;;;;;
-4DDB;HEXAGRAM FOR GREAT PREPONDERANCE;So;0;ON;;;;;N;;;;;
-4DDC;HEXAGRAM FOR THE ABYSMAL WATER;So;0;ON;;;;;N;;;;;
-4DDD;HEXAGRAM FOR THE CLINGING FIRE;So;0;ON;;;;;N;;;;;
-4DDE;HEXAGRAM FOR INFLUENCE;So;0;ON;;;;;N;;;;;
-4DDF;HEXAGRAM FOR DURATION;So;0;ON;;;;;N;;;;;
-4DE0;HEXAGRAM FOR RETREAT;So;0;ON;;;;;N;;;;;
-4DE1;HEXAGRAM FOR GREAT POWER;So;0;ON;;;;;N;;;;;
-4DE2;HEXAGRAM FOR PROGRESS;So;0;ON;;;;;N;;;;;
-4DE3;HEXAGRAM FOR DARKENING OF THE LIGHT;So;0;ON;;;;;N;;;;;
-4DE4;HEXAGRAM FOR THE FAMILY;So;0;ON;;;;;N;;;;;
-4DE5;HEXAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;;
-4DE6;HEXAGRAM FOR OBSTRUCTION;So;0;ON;;;;;N;;;;;
-4DE7;HEXAGRAM FOR DELIVERANCE;So;0;ON;;;;;N;;;;;
-4DE8;HEXAGRAM FOR DECREASE;So;0;ON;;;;;N;;;;;
-4DE9;HEXAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;;
-4DEA;HEXAGRAM FOR BREAKTHROUGH;So;0;ON;;;;;N;;;;;
-4DEB;HEXAGRAM FOR COMING TO MEET;So;0;ON;;;;;N;;;;;
-4DEC;HEXAGRAM FOR GATHERING TOGETHER;So;0;ON;;;;;N;;;;;
-4DED;HEXAGRAM FOR PUSHING UPWARD;So;0;ON;;;;;N;;;;;
-4DEE;HEXAGRAM FOR OPPRESSION;So;0;ON;;;;;N;;;;;
-4DEF;HEXAGRAM FOR THE WELL;So;0;ON;;;;;N;;;;;
-4DF0;HEXAGRAM FOR REVOLUTION;So;0;ON;;;;;N;;;;;
-4DF1;HEXAGRAM FOR THE CAULDRON;So;0;ON;;;;;N;;;;;
-4DF2;HEXAGRAM FOR THE AROUSING THUNDER;So;0;ON;;;;;N;;;;;
-4DF3;HEXAGRAM FOR THE KEEPING STILL MOUNTAIN;So;0;ON;;;;;N;;;;;
-4DF4;HEXAGRAM FOR DEVELOPMENT;So;0;ON;;;;;N;;;;;
-4DF5;HEXAGRAM FOR THE MARRYING MAIDEN;So;0;ON;;;;;N;;;;;
-4DF6;HEXAGRAM FOR ABUNDANCE;So;0;ON;;;;;N;;;;;
-4DF7;HEXAGRAM FOR THE WANDERER;So;0;ON;;;;;N;;;;;
-4DF8;HEXAGRAM FOR THE GENTLE WIND;So;0;ON;;;;;N;;;;;
-4DF9;HEXAGRAM FOR THE JOYOUS LAKE;So;0;ON;;;;;N;;;;;
-4DFA;HEXAGRAM FOR DISPERSION;So;0;ON;;;;;N;;;;;
-4DFB;HEXAGRAM FOR LIMITATION;So;0;ON;;;;;N;;;;;
-4DFC;HEXAGRAM FOR INNER TRUTH;So;0;ON;;;;;N;;;;;
-4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;;
-4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
-4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
-4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
-9FCB;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
-A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
-A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
-A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
-A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;;
-A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;;
-A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;;
-A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;;
-A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;;
-A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;;
-A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;;
-A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;;
-A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;;
-A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;;
-A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;;
-A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;;
-A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;;
-A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;;
-A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;;
-A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;;
-A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;;
-A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;;
-A015;YI SYLLABLE WU;Lm;0;L;;;;;N;;;;;
-A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;;
-A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;;
-A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;;
-A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;;
-A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;;
-A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;;
-A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;;
-A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;;
-A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;;
-A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;;
-A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;;
-A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;;
-A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;;
-A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;;
-A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;;
-A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;;
-A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;;
-A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;;
-A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;;
-A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;;
-A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;;
-A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;;
-A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;;
-A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;;
-A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;;
-A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;;
-A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;;
-A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;;
-A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;;
-A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;;
-A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;;
-A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;;
-A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;;
-A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;;
-A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;;
-A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;;
-A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;;
-A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;;
-A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;;
-A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;;
-A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;;
-A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;;
-A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;;
-A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;;
-A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;;
-A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;;
-A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;;
-A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;;
-A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;;
-A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;;
-A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;;
-A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;;
-A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;;
-A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;;
-A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;;
-A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;;
-A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;;
-A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;;
-A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;;
-A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;;
-A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;;
-A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;;
-A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;;
-A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;;
-A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;;
-A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;;
-A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
-A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;;
-A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;;
-A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;;
-A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;;
-A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;;
-A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;;
-A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;;
-A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
-A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;;
-A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;;
-A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;;
-A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;;
-A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;;
-A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;;
-A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
-A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;;
-A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;;
-A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
-A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;;
-A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;;
-A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;;
-A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
-A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;;
-A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;;
-A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;;
-A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;;
-A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;;
-A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;;
-A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;;
-A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;;
-A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;;
-A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;;
-A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;;
-A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;;
-A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;;
-A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;;
-A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;;
-A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;;
-A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;;
-A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;;
-A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;;
-A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;;
-A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;;
-A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;;
-A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;;
-A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;;
-A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;;
-A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;;
-A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;;
-A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;;
-A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;;
-A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;;
-A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;;
-A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;;
-A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;;
-A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;;
-A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;;
-A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;;
-A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;;
-A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;;
-A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;;
-A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;;
-A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;;
-A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;;
-A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;;
-A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;;
-A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;;
-A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;;
-A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;;
-A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;;
-A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;;
-A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;;
-A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;;
-A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;;
-A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;;
-A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;;
-A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;;
-A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;;
-A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;;
-A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;;
-A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;;
-A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;;
-A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;;
-A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;;
-A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;;
-A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;;
-A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;;
-A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;;
-A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;;
-A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;;
-A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;;
-A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;;
-A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;;
-A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;;
-A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;;
-A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;;
-A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;;
-A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;;
-A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;;
-A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;;
-A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;;
-A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;;
-A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;;
-A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;;
-A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;;
-A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;;
-A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;;
-A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;;
-A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;;
-A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;;
-A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;;
-A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;;
-A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;;
-A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;;
-A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;;
-A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;;
-A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;;
-A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;;
-A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;;
-A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;;
-A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;;
-A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;;
-A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;;
-A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;;
-A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;;
-A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;;
-A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;;
-A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;;
-A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;;
-A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;;
-A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;;
-A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;;
-A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;;
-A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;;
-A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;;
-A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;;
-A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;;
-A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;;
-A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;;
-A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;;
-A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;;
-A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;;
-A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;;
-A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;;
-A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;;
-A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;;
-A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;;
-A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;;
-A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;;
-A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;;
-A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;;
-A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;;
-A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;;
-A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;;
-A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;;
-A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;;
-A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;;
-A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;;
-A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;;
-A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;;
-A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;;
-A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;;
-A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;;
-A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;;
-A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;;
-A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;;
-A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;;
-A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;;
-A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;;
-A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;;
-A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;;
-A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;;
-A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;;
-A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;;
-A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;;
-A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;;
-A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;;
-A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;;
-A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;;
-A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;;
-A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;;
-A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;;
-A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;;
-A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;;
-A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;;
-A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;;
-A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;;
-A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;;
-A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;;
-A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;;
-A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;;
-A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;;
-A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;;
-A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;;
-A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;;
-A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;;
-A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;;
-A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;;
-A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;;
-A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;;
-A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;;
-A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;;
-A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;;
-A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;;
-A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;;
-A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;;
-A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;;
-A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;;
-A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;;
-A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;;
-A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;;
-A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;;
-A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;;
-A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;;
-A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;;
-A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;;
-A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;;
-A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;;
-A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;;
-A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;;
-A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;;
-A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;;
-A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;;
-A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
-A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;;
-A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;;
-A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;;
-A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;;
-A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;;
-A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;;
-A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
-A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;;
-A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;;
-A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;;
-A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;;
-A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;;
-A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;;
-A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
-A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;;
-A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;;
-A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
-A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;;
-A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;;
-A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;;
-A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
-A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;;
-A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;;
-A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;;
-A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;;
-A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;;
-A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;;
-A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;;
-A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;;
-A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;;
-A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;;
-A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;;
-A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;;
-A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;;
-A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;;
-A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;;
-A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;;
-A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;;
-A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;;
-A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;;
-A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;;
-A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;;
-A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;;
-A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;;
-A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;;
-A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;;
-A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;;
-A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;;
-A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;;
-A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;;
-A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;;
-A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;;
-A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;;
-A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;;
-A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;;
-A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;;
-A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;;
-A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;;
-A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;;
-A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;;
-A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;;
-A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;;
-A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;;
-A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;;
-A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;;
-A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;;
-A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;;
-A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;;
-A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;;
-A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;;
-A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;;
-A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;;
-A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;;
-A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;;
-A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;;
-A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;;
-A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;;
-A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;;
-A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;;
-A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;;
-A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;;
-A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;;
-A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;;
-A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;;
-A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;;
-A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;;
-A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;;
-A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;;
-A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;;
-A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;;
-A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;;
-A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;;
-A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;;
-A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;;
-A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;;
-A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;;
-A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;;
-A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;;
-A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;;
-A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;;
-A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;;
-A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;;
-A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;;
-A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;;
-A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;;
-A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;;
-A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;;
-A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;;
-A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;;
-A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;;
-A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;;
-A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;;
-A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;;
-A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;;
-A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;;
-A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;;
-A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;;
-A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;;
-A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;;
-A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;;
-A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;;
-A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;;
-A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;;
-A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;;
-A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;;
-A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;;
-A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;;
-A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;;
-A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;;
-A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;;
-A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;;
-A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;;
-A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;;
-A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;;
-A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;;
-A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;;
-A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;;
-A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;;
-A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;;
-A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;;
-A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;;
-A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;;
-A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;;
-A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;;
-A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;;
-A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;;
-A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;;
-A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;;
-A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;;
-A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;;
-A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;;
-A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;;
-A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;;
-A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;;
-A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;;
-A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;;
-A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;;
-A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;;
-A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;;
-A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;;
-A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;;
-A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;;
-A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;;
-A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;;
-A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;;
-A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;;
-A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;;
-A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;;
-A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;;
-A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;;
-A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;;
-A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;;
-A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;;
-A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;;
-A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;;
-A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;;
-A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;;
-A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;;
-A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;;
-A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;;
-A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;;
-A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;;
-A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;;
-A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;;
-A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;;
-A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;;
-A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;;
-A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;;
-A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;;
-A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;;
-A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;;
-A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;;
-A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;;
-A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;;
-A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;;
-A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;;
-A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;;
-A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;;
-A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;;
-A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;;
-A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;;
-A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;;
-A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;;
-A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;;
-A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;;
-A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;;
-A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;;
-A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;;
-A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;;
-A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;;
-A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;;
-A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;;
-A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;;
-A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;;
-A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;;
-A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;;
-A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;;
-A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;;
-A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;;
-A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;;
-A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;;
-A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
-A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;;
-A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;;
-A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;;
-A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;;
-A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;;
-A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
-A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;;
-A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;;
-A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;;
-A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;;
-A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;;
-A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;;
-A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;;
-A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
-A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;;
-A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;;
-A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;;
-A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
-A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;;
-A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;;
-A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;;
-A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
-A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;;
-A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;;
-A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;;
-A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;;
-A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;;
-A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;;
-A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;;
-A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;;
-A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;;
-A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;;
-A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;;
-A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;;
-A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;;
-A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;;
-A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;;
-A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;;
-A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;;
-A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;;
-A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;;
-A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;;
-A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;;
-A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;;
-A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;;
-A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;;
-A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;;
-A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;;
-A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;;
-A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;;
-A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;;
-A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;;
-A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;;
-A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;;
-A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;;
-A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;;
-A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;;
-A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;;
-A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;;
-A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;;
-A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;;
-A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;;
-A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;;
-A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;;
-A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;;
-A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;;
-A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;;
-A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;;
-A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;;
-A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;;
-A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;;
-A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;;
-A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;;
-A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;;
-A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;;
-A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;;
-A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;;
-A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;;
-A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;;
-A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;;
-A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;;
-A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;;
-A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;;
-A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;;
-A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;;
-A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;;
-A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;;
-A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;;
-A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;;
-A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;;
-A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;;
-A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;;
-A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;;
-A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;;
-A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;;
-A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;;
-A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;;
-A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;;
-A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;;
-A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;;
-A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;;
-A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;;
-A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;;
-A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;;
-A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;;
-A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;;
-A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;;
-A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;;
-A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;;
-A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;;
-A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;;
-A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;;
-A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;;
-A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;;
-A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;;
-A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;;
-A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;;
-A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;;
-A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;;
-A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;;
-A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;;
-A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;;
-A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;;
-A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;;
-A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;;
-A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;;
-A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;;
-A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;;
-A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;;
-A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;;
-A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;;
-A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;;
-A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;;
-A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;;
-A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;;
-A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;;
-A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;;
-A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;;
-A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;;
-A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;;
-A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;;
-A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;;
-A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;;
-A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;;
-A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;;
-A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;;
-A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;;
-A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;;
-A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;;
-A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;;
-A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;;
-A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;;
-A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;;
-A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;;
-A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;;
-A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;;
-A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;;
-A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;;
-A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;;
-A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;;
-A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;;
-A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;;
-A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;;
-A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;;
-A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;;
-A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;;
-A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;;
-A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;;
-A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;;
-A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;;
-A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;;
-A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;;
-A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;;
-A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;;
-A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;;
-A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;;
-A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;;
-A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;;
-A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;;
-A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;;
-A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;;
-A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;;
-A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;;
-A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;;
-A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;;
-A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;;
-A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;;
-A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;;
-A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;;
-A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;;
-A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;;
-A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;;
-A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;;
-A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;;
-A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;;
-A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;;
-A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;;
-A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;;
-A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;;
-A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;;
-A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;;
-A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;;
-A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;;
-A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;;
-A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;;
-A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;;
-A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;;
-A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;;
-A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;;
-A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;;
-A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;;
-A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;;
-A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;;
-A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;;
-A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;;
-A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;;
-A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;;
-A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;;
-A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;;
-A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;;
-A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;;
-A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;;
-A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;;
-A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;;
-A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;;
-A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;;
-A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;;
-A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;;
-A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;;
-A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;;
-A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;;
-A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;;
-A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;;
-A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;;
-A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;;
-A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;;
-A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;;
-A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;;
-A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;;
-A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;;
-A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;;
-A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;;
-A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;;
-A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;;
-A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;;
-A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;;
-A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;;
-A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;;
-A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;;
-A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;;
-A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;;
-A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;;
-A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;;
-A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;;
-A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;;
-A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;;
-A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;;
-A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;;
-A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;;
-A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;;
-A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;;
-A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;;
-A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;;
-A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;;
-A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;;
-A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;;
-A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;;
-A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;;
-A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;;
-A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;;
-A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;;
-A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;;
-A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;;
-A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;;
-A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;;
-A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;;
-A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;;
-A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
-A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;;
-A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;;
-A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;;
-A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;;
-A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;;
-A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;;
-A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
-A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;;
-A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;;
-A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;;
-A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
-A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;;
-A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;;
-A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
-A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;;
-A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;;
-A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;;
-A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
-A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;;
-A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;;
-A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;;
-A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;;
-A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;;
-A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;;
-A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;;
-A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;;
-A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;;
-A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;;
-A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;;
-A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;;
-A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;;
-A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;;
-A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;;
-A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;;
-A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;;
-A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;;
-A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;;
-A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;;
-A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;;
-A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;;
-A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;;
-A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;;
-A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;;
-A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;;
-A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;;
-A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;;
-A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;;
-A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;;
-A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;;
-A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;;
-A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;;
-A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;;
-A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;;
-A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;;
-A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;;
-A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;;
-A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;;
-A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;;
-A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;;
-A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;;
-A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;;
-A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;;
-A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;;
-A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;;
-A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;;
-A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;;
-A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;;
-A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;;
-A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;;
-A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;;
-A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;;
-A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;;
-A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;;
-A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;;
-A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;;
-A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;;
-A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;;
-A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;;
-A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;;
-A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;;
-A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;;
-A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;;
-A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;;
-A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;;
-A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;;
-A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;;
-A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;;
-A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;;
-A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;;
-A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;;
-A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;;
-A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;;
-A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;;
-A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;;
-A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;;
-A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;;
-A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;;
-A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;;
-A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;;
-A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;;
-A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;;
-A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;;
-A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;;
-A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;;
-A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;;
-A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;;
-A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;;
-A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;;
-A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;;
-A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;;
-A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;;
-A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;;
-A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;;
-A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;;
-A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;;
-A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;;
-A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;;
-A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;;
-A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;;
-A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;;
-A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;;
-A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;;
-A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;;
-A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;;
-A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;;
-A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;;
-A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;;
-A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;;
-A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;;
-A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;;
-A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;;
-A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;;
-A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;;
-A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;;
-A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;;
-A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;;
-A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;;
-A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;;
-A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;;
-A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;;
-A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;;
-A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;;
-A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;;
-A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;;
-A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;;
-A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;;
-A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;;
-A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;;
-A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;;
-A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;;
-A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;;
-A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;;
-A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;;
-A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;;
-A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;;
-A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;;
-A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;;
-A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;;
-A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;;
-A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;;
-A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;;
-A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;;
-A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;;
-A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;;
-A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;;
-A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;;
-A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;;
-A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;;
-A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;;
-A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;;
-A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;;
-A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;;
-A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;;
-A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;;
-A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;;
-A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;;
-A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;;
-A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;;
-A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;;
-A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;;
-A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;;
-A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;;
-A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;;
-A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;;
-A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;;
-A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;;
-A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;;
-A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;;
-A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;;
-A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;;
-A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;;
-A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;;
-A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;;
-A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;;
-A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;;
-A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;;
-A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;;
-A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;;
-A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;;
-A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;;
-A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;;
-A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;;
-A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;;
-A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;;
-A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;;
-A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;;
-A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;;
-A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;;
-A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;;
-A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;;
-A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;;
-A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;;
-A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;;
-A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;;
-A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;;
-A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;;
-A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;;
-A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;;
-A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;;
-A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;;
-A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;;
-A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;;
-A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;;
-A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;;
-A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;;
-A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;;
-A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;;
-A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;;
-A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;;
-A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;;
-A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;;
-A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;;
-A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;;
-A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;;
-A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;;
-A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;;
-A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;;
-A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;;
-A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;;
-A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;;
-A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;;
-A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;;
-A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;;
-A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;;
-A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;;
-A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;;
-A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;;
-A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;;
-A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;;
-A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;;
-A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;;
-A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;;
-A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;;
-A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;;
-A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;;
-A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;;
-A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;;
-A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;;
-A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;;
-A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;;
-A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;;
-A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;;
-A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;;
-A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;;
-A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;;
-A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;;
-A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;;
-A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;;
-A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;;
-A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;;
-A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;;
-A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;;
-A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;;
-A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;;
-A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;;
-A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;;
-A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;;
-A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;;
-A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;;
-A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;;
-A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;;
-A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;;
-A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;;
-A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;;
-A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;;
-A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;;
-A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;;
-A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
-A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;;
-A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;;
-A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;;
-A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;;
-A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;;
-A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;;
-A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;;
-A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;;
-A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;;
-A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;;
-A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
-A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;;
-A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;;
-A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;;
-A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
-A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;;
-A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;;
-A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;;
-A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;;
-A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;;
-A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;;
-A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;;
-A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;;
-A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;;
-A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;;
-A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;;
-A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;;
-A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;;
-A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;;
-A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;;
-A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;;
-A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;;
-A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;;
-A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;;
-A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;;
-A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;;
-A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;;
-A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;;
-A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;;
-A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;;
-A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;;
-A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;;
-A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;;
-A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;;
-A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;;
-A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;;
-A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;;
-A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;;
-A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;;
-A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;;
-A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;;
-A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;;
-A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;;
-A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;;
-A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;;
-A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;;
-A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;;
-A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;;
-A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;;
-A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;;
-A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;;
-A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;;
-A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;;
-A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;;
-A490;YI RADICAL QOT;So;0;ON;;;;;N;;;;;
-A491;YI RADICAL LI;So;0;ON;;;;;N;;;;;
-A492;YI RADICAL KIT;So;0;ON;;;;;N;;;;;
-A493;YI RADICAL NYIP;So;0;ON;;;;;N;;;;;
-A494;YI RADICAL CYP;So;0;ON;;;;;N;;;;;
-A495;YI RADICAL SSI;So;0;ON;;;;;N;;;;;
-A496;YI RADICAL GGOP;So;0;ON;;;;;N;;;;;
-A497;YI RADICAL GEP;So;0;ON;;;;;N;;;;;
-A498;YI RADICAL MI;So;0;ON;;;;;N;;;;;
-A499;YI RADICAL HXIT;So;0;ON;;;;;N;;;;;
-A49A;YI RADICAL LYR;So;0;ON;;;;;N;;;;;
-A49B;YI RADICAL BBUT;So;0;ON;;;;;N;;;;;
-A49C;YI RADICAL MOP;So;0;ON;;;;;N;;;;;
-A49D;YI RADICAL YO;So;0;ON;;;;;N;;;;;
-A49E;YI RADICAL PUT;So;0;ON;;;;;N;;;;;
-A49F;YI RADICAL HXUO;So;0;ON;;;;;N;;;;;
-A4A0;YI RADICAL TAT;So;0;ON;;;;;N;;;;;
-A4A1;YI RADICAL GA;So;0;ON;;;;;N;;;;;
-A4A2;YI RADICAL ZUP;So;0;ON;;;;;N;;;;;
-A4A3;YI RADICAL CYT;So;0;ON;;;;;N;;;;;
-A4A4;YI RADICAL DDUR;So;0;ON;;;;;N;;;;;
-A4A5;YI RADICAL BUR;So;0;ON;;;;;N;;;;;
-A4A6;YI RADICAL GGUO;So;0;ON;;;;;N;;;;;
-A4A7;YI RADICAL NYOP;So;0;ON;;;;;N;;;;;
-A4A8;YI RADICAL TU;So;0;ON;;;;;N;;;;;
-A4A9;YI RADICAL OP;So;0;ON;;;;;N;;;;;
-A4AA;YI RADICAL JJUT;So;0;ON;;;;;N;;;;;
-A4AB;YI RADICAL ZOT;So;0;ON;;;;;N;;;;;
-A4AC;YI RADICAL PYT;So;0;ON;;;;;N;;;;;
-A4AD;YI RADICAL HMO;So;0;ON;;;;;N;;;;;
-A4AE;YI RADICAL YIT;So;0;ON;;;;;N;;;;;
-A4AF;YI RADICAL VUR;So;0;ON;;;;;N;;;;;
-A4B0;YI RADICAL SHY;So;0;ON;;;;;N;;;;;
-A4B1;YI RADICAL VEP;So;0;ON;;;;;N;;;;;
-A4B2;YI RADICAL ZA;So;0;ON;;;;;N;;;;;
-A4B3;YI RADICAL JO;So;0;ON;;;;;N;;;;;
-A4B4;YI RADICAL NZUP;So;0;ON;;;;;N;;;;;
-A4B5;YI RADICAL JJY;So;0;ON;;;;;N;;;;;
-A4B6;YI RADICAL GOT;So;0;ON;;;;;N;;;;;
-A4B7;YI RADICAL JJIE;So;0;ON;;;;;N;;;;;
-A4B8;YI RADICAL WO;So;0;ON;;;;;N;;;;;
-A4B9;YI RADICAL DU;So;0;ON;;;;;N;;;;;
-A4BA;YI RADICAL SHUR;So;0;ON;;;;;N;;;;;
-A4BB;YI RADICAL LIE;So;0;ON;;;;;N;;;;;
-A4BC;YI RADICAL CY;So;0;ON;;;;;N;;;;;
-A4BD;YI RADICAL CUOP;So;0;ON;;;;;N;;;;;
-A4BE;YI RADICAL CIP;So;0;ON;;;;;N;;;;;
-A4BF;YI RADICAL HXOP;So;0;ON;;;;;N;;;;;
-A4C0;YI RADICAL SHAT;So;0;ON;;;;;N;;;;;
-A4C1;YI RADICAL ZUR;So;0;ON;;;;;N;;;;;
-A4C2;YI RADICAL SHOP;So;0;ON;;;;;N;;;;;
-A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;;
-A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;;
-A4C5;YI RADICAL NBIE;So;0;ON;;;;;N;;;;;
-A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;;
-A4D0;LISU LETTER BA;Lo;0;L;;;;;N;;;;;
-A4D1;LISU LETTER PA;Lo;0;L;;;;;N;;;;;
-A4D2;LISU LETTER PHA;Lo;0;L;;;;;N;;;;;
-A4D3;LISU LETTER DA;Lo;0;L;;;;;N;;;;;
-A4D4;LISU LETTER TA;Lo;0;L;;;;;N;;;;;
-A4D5;LISU LETTER THA;Lo;0;L;;;;;N;;;;;
-A4D6;LISU LETTER GA;Lo;0;L;;;;;N;;;;;
-A4D7;LISU LETTER KA;Lo;0;L;;;;;N;;;;;
-A4D8;LISU LETTER KHA;Lo;0;L;;;;;N;;;;;
-A4D9;LISU LETTER JA;Lo;0;L;;;;;N;;;;;
-A4DA;LISU LETTER CA;Lo;0;L;;;;;N;;;;;
-A4DB;LISU LETTER CHA;Lo;0;L;;;;;N;;;;;
-A4DC;LISU LETTER DZA;Lo;0;L;;;;;N;;;;;
-A4DD;LISU LETTER TSA;Lo;0;L;;;;;N;;;;;
-A4DE;LISU LETTER TSHA;Lo;0;L;;;;;N;;;;;
-A4DF;LISU LETTER MA;Lo;0;L;;;;;N;;;;;
-A4E0;LISU LETTER NA;Lo;0;L;;;;;N;;;;;
-A4E1;LISU LETTER LA;Lo;0;L;;;;;N;;;;;
-A4E2;LISU LETTER SA;Lo;0;L;;;;;N;;;;;
-A4E3;LISU LETTER ZHA;Lo;0;L;;;;;N;;;;;
-A4E4;LISU LETTER ZA;Lo;0;L;;;;;N;;;;;
-A4E5;LISU LETTER NGA;Lo;0;L;;;;;N;;;;;
-A4E6;LISU LETTER HA;Lo;0;L;;;;;N;;;;;
-A4E7;LISU LETTER XA;Lo;0;L;;;;;N;;;;;
-A4E8;LISU LETTER HHA;Lo;0;L;;;;;N;;;;;
-A4E9;LISU LETTER FA;Lo;0;L;;;;;N;;;;;
-A4EA;LISU LETTER WA;Lo;0;L;;;;;N;;;;;
-A4EB;LISU LETTER SHA;Lo;0;L;;;;;N;;;;;
-A4EC;LISU LETTER YA;Lo;0;L;;;;;N;;;;;
-A4ED;LISU LETTER GHA;Lo;0;L;;;;;N;;;;;
-A4EE;LISU LETTER A;Lo;0;L;;;;;N;;;;;
-A4EF;LISU LETTER AE;Lo;0;L;;;;;N;;;;;
-A4F0;LISU LETTER E;Lo;0;L;;;;;N;;;;;
-A4F1;LISU LETTER EU;Lo;0;L;;;;;N;;;;;
-A4F2;LISU LETTER I;Lo;0;L;;;;;N;;;;;
-A4F3;LISU LETTER O;Lo;0;L;;;;;N;;;;;
-A4F4;LISU LETTER U;Lo;0;L;;;;;N;;;;;
-A4F5;LISU LETTER UE;Lo;0;L;;;;;N;;;;;
-A4F6;LISU LETTER UH;Lo;0;L;;;;;N;;;;;
-A4F7;LISU LETTER OE;Lo;0;L;;;;;N;;;;;
-A4F8;LISU LETTER TONE MYA TI;Lm;0;L;;;;;N;;;;;
-A4F9;LISU LETTER TONE NA PO;Lm;0;L;;;;;N;;;;;
-A4FA;LISU LETTER TONE MYA CYA;Lm;0;L;;;;;N;;;;;
-A4FB;LISU LETTER TONE MYA BO;Lm;0;L;;;;;N;;;;;
-A4FC;LISU LETTER TONE MYA NA;Lm;0;L;;;;;N;;;;;
-A4FD;LISU LETTER TONE MYA JEU;Lm;0;L;;;;;N;;;;;
-A4FE;LISU PUNCTUATION COMMA;Po;0;L;;;;;N;;;;;
-A4FF;LISU PUNCTUATION FULL STOP;Po;0;L;;;;;N;;;;;
-A500;VAI SYLLABLE EE;Lo;0;L;;;;;N;;;;;
-A501;VAI SYLLABLE EEN;Lo;0;L;;;;;N;;;;;
-A502;VAI SYLLABLE HEE;Lo;0;L;;;;;N;;;;;
-A503;VAI SYLLABLE WEE;Lo;0;L;;;;;N;;;;;
-A504;VAI SYLLABLE WEEN;Lo;0;L;;;;;N;;;;;
-A505;VAI SYLLABLE PEE;Lo;0;L;;;;;N;;;;;
-A506;VAI SYLLABLE BHEE;Lo;0;L;;;;;N;;;;;
-A507;VAI SYLLABLE BEE;Lo;0;L;;;;;N;;;;;
-A508;VAI SYLLABLE MBEE;Lo;0;L;;;;;N;;;;;
-A509;VAI SYLLABLE KPEE;Lo;0;L;;;;;N;;;;;
-A50A;VAI SYLLABLE MGBEE;Lo;0;L;;;;;N;;;;;
-A50B;VAI SYLLABLE GBEE;Lo;0;L;;;;;N;;;;;
-A50C;VAI SYLLABLE FEE;Lo;0;L;;;;;N;;;;;
-A50D;VAI SYLLABLE VEE;Lo;0;L;;;;;N;;;;;
-A50E;VAI SYLLABLE TEE;Lo;0;L;;;;;N;;;;;
-A50F;VAI SYLLABLE THEE;Lo;0;L;;;;;N;;;;;
-A510;VAI SYLLABLE DHEE;Lo;0;L;;;;;N;;;;;
-A511;VAI SYLLABLE DHHEE;Lo;0;L;;;;;N;;;;;
-A512;VAI SYLLABLE LEE;Lo;0;L;;;;;N;;;;;
-A513;VAI SYLLABLE REE;Lo;0;L;;;;;N;;;;;
-A514;VAI SYLLABLE DEE;Lo;0;L;;;;;N;;;;;
-A515;VAI SYLLABLE NDEE;Lo;0;L;;;;;N;;;;;
-A516;VAI SYLLABLE SEE;Lo;0;L;;;;;N;;;;;
-A517;VAI SYLLABLE SHEE;Lo;0;L;;;;;N;;;;;
-A518;VAI SYLLABLE ZEE;Lo;0;L;;;;;N;;;;;
-A519;VAI SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;;
-A51A;VAI SYLLABLE CEE;Lo;0;L;;;;;N;;;;;
-A51B;VAI SYLLABLE JEE;Lo;0;L;;;;;N;;;;;
-A51C;VAI SYLLABLE NJEE;Lo;0;L;;;;;N;;;;;
-A51D;VAI SYLLABLE YEE;Lo;0;L;;;;;N;;;;;
-A51E;VAI SYLLABLE KEE;Lo;0;L;;;;;N;;;;;
-A51F;VAI SYLLABLE NGGEE;Lo;0;L;;;;;N;;;;;
-A520;VAI SYLLABLE GEE;Lo;0;L;;;;;N;;;;;
-A521;VAI SYLLABLE MEE;Lo;0;L;;;;;N;;;;;
-A522;VAI SYLLABLE NEE;Lo;0;L;;;;;N;;;;;
-A523;VAI SYLLABLE NYEE;Lo;0;L;;;;;N;;;;;
-A524;VAI SYLLABLE I;Lo;0;L;;;;;N;;;;;
-A525;VAI SYLLABLE IN;Lo;0;L;;;;;N;;;;;
-A526;VAI SYLLABLE HI;Lo;0;L;;;;;N;;;;;
-A527;VAI SYLLABLE HIN;Lo;0;L;;;;;N;;;;;
-A528;VAI SYLLABLE WI;Lo;0;L;;;;;N;;;;;
-A529;VAI SYLLABLE WIN;Lo;0;L;;;;;N;;;;;
-A52A;VAI SYLLABLE PI;Lo;0;L;;;;;N;;;;;
-A52B;VAI SYLLABLE BHI;Lo;0;L;;;;;N;;;;;
-A52C;VAI SYLLABLE BI;Lo;0;L;;;;;N;;;;;
-A52D;VAI SYLLABLE MBI;Lo;0;L;;;;;N;;;;;
-A52E;VAI SYLLABLE KPI;Lo;0;L;;;;;N;;;;;
-A52F;VAI SYLLABLE MGBI;Lo;0;L;;;;;N;;;;;
-A530;VAI SYLLABLE GBI;Lo;0;L;;;;;N;;;;;
-A531;VAI SYLLABLE FI;Lo;0;L;;;;;N;;;;;
-A532;VAI SYLLABLE VI;Lo;0;L;;;;;N;;;;;
-A533;VAI SYLLABLE TI;Lo;0;L;;;;;N;;;;;
-A534;VAI SYLLABLE THI;Lo;0;L;;;;;N;;;;;
-A535;VAI SYLLABLE DHI;Lo;0;L;;;;;N;;;;;
-A536;VAI SYLLABLE DHHI;Lo;0;L;;;;;N;;;;;
-A537;VAI SYLLABLE LI;Lo;0;L;;;;;N;;;;;
-A538;VAI SYLLABLE RI;Lo;0;L;;;;;N;;;;;
-A539;VAI SYLLABLE DI;Lo;0;L;;;;;N;;;;;
-A53A;VAI SYLLABLE NDI;Lo;0;L;;;;;N;;;;;
-A53B;VAI SYLLABLE SI;Lo;0;L;;;;;N;;;;;
-A53C;VAI SYLLABLE SHI;Lo;0;L;;;;;N;;;;;
-A53D;VAI SYLLABLE ZI;Lo;0;L;;;;;N;;;;;
-A53E;VAI SYLLABLE ZHI;Lo;0;L;;;;;N;;;;;
-A53F;VAI SYLLABLE CI;Lo;0;L;;;;;N;;;;;
-A540;VAI SYLLABLE JI;Lo;0;L;;;;;N;;;;;
-A541;VAI SYLLABLE NJI;Lo;0;L;;;;;N;;;;;
-A542;VAI SYLLABLE YI;Lo;0;L;;;;;N;;;;;
-A543;VAI SYLLABLE KI;Lo;0;L;;;;;N;;;;;
-A544;VAI SYLLABLE NGGI;Lo;0;L;;;;;N;;;;;
-A545;VAI SYLLABLE GI;Lo;0;L;;;;;N;;;;;
-A546;VAI SYLLABLE MI;Lo;0;L;;;;;N;;;;;
-A547;VAI SYLLABLE NI;Lo;0;L;;;;;N;;;;;
-A548;VAI SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
-A549;VAI SYLLABLE A;Lo;0;L;;;;;N;;;;;
-A54A;VAI SYLLABLE AN;Lo;0;L;;;;;N;;;;;
-A54B;VAI SYLLABLE NGAN;Lo;0;L;;;;;N;;;;;
-A54C;VAI SYLLABLE HA;Lo;0;L;;;;;N;;;;;
-A54D;VAI SYLLABLE HAN;Lo;0;L;;;;;N;;;;;
-A54E;VAI SYLLABLE WA;Lo;0;L;;;;;N;;;;;
-A54F;VAI SYLLABLE WAN;Lo;0;L;;;;;N;;;;;
-A550;VAI SYLLABLE PA;Lo;0;L;;;;;N;;;;;
-A551;VAI SYLLABLE BHA;Lo;0;L;;;;;N;;;;;
-A552;VAI SYLLABLE BA;Lo;0;L;;;;;N;;;;;
-A553;VAI SYLLABLE MBA;Lo;0;L;;;;;N;;;;;
-A554;VAI SYLLABLE KPA;Lo;0;L;;;;;N;;;;;
-A555;VAI SYLLABLE KPAN;Lo;0;L;;;;;N;;;;;
-A556;VAI SYLLABLE MGBA;Lo;0;L;;;;;N;;;;;
-A557;VAI SYLLABLE GBA;Lo;0;L;;;;;N;;;;;
-A558;VAI SYLLABLE FA;Lo;0;L;;;;;N;;;;;
-A559;VAI SYLLABLE VA;Lo;0;L;;;;;N;;;;;
-A55A;VAI SYLLABLE TA;Lo;0;L;;;;;N;;;;;
-A55B;VAI SYLLABLE THA;Lo;0;L;;;;;N;;;;;
-A55C;VAI SYLLABLE DHA;Lo;0;L;;;;;N;;;;;
-A55D;VAI SYLLABLE DHHA;Lo;0;L;;;;;N;;;;;
-A55E;VAI SYLLABLE LA;Lo;0;L;;;;;N;;;;;
-A55F;VAI SYLLABLE RA;Lo;0;L;;;;;N;;;;;
-A560;VAI SYLLABLE DA;Lo;0;L;;;;;N;;;;;
-A561;VAI SYLLABLE NDA;Lo;0;L;;;;;N;;;;;
-A562;VAI SYLLABLE SA;Lo;0;L;;;;;N;;;;;
-A563;VAI SYLLABLE SHA;Lo;0;L;;;;;N;;;;;
-A564;VAI SYLLABLE ZA;Lo;0;L;;;;;N;;;;;
-A565;VAI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;;
-A566;VAI SYLLABLE CA;Lo;0;L;;;;;N;;;;;
-A567;VAI SYLLABLE JA;Lo;0;L;;;;;N;;;;;
-A568;VAI SYLLABLE NJA;Lo;0;L;;;;;N;;;;;
-A569;VAI SYLLABLE YA;Lo;0;L;;;;;N;;;;;
-A56A;VAI SYLLABLE KA;Lo;0;L;;;;;N;;;;;
-A56B;VAI SYLLABLE KAN;Lo;0;L;;;;;N;;;;;
-A56C;VAI SYLLABLE NGGA;Lo;0;L;;;;;N;;;;;
-A56D;VAI SYLLABLE GA;Lo;0;L;;;;;N;;;;;
-A56E;VAI SYLLABLE MA;Lo;0;L;;;;;N;;;;;
-A56F;VAI SYLLABLE NA;Lo;0;L;;;;;N;;;;;
-A570;VAI SYLLABLE NYA;Lo;0;L;;;;;N;;;;;
-A571;VAI SYLLABLE OO;Lo;0;L;;;;;N;;;;;
-A572;VAI SYLLABLE OON;Lo;0;L;;;;;N;;;;;
-A573;VAI SYLLABLE HOO;Lo;0;L;;;;;N;;;;;
-A574;VAI SYLLABLE WOO;Lo;0;L;;;;;N;;;;;
-A575;VAI SYLLABLE WOON;Lo;0;L;;;;;N;;;;;
-A576;VAI SYLLABLE POO;Lo;0;L;;;;;N;;;;;
-A577;VAI SYLLABLE BHOO;Lo;0;L;;;;;N;;;;;
-A578;VAI SYLLABLE BOO;Lo;0;L;;;;;N;;;;;
-A579;VAI SYLLABLE MBOO;Lo;0;L;;;;;N;;;;;
-A57A;VAI SYLLABLE KPOO;Lo;0;L;;;;;N;;;;;
-A57B;VAI SYLLABLE MGBOO;Lo;0;L;;;;;N;;;;;
-A57C;VAI SYLLABLE GBOO;Lo;0;L;;;;;N;;;;;
-A57D;VAI SYLLABLE FOO;Lo;0;L;;;;;N;;;;;
-A57E;VAI SYLLABLE VOO;Lo;0;L;;;;;N;;;;;
-A57F;VAI SYLLABLE TOO;Lo;0;L;;;;;N;;;;;
-A580;VAI SYLLABLE THOO;Lo;0;L;;;;;N;;;;;
-A581;VAI SYLLABLE DHOO;Lo;0;L;;;;;N;;;;;
-A582;VAI SYLLABLE DHHOO;Lo;0;L;;;;;N;;;;;
-A583;VAI SYLLABLE LOO;Lo;0;L;;;;;N;;;;;
-A584;VAI SYLLABLE ROO;Lo;0;L;;;;;N;;;;;
-A585;VAI SYLLABLE DOO;Lo;0;L;;;;;N;;;;;
-A586;VAI SYLLABLE NDOO;Lo;0;L;;;;;N;;;;;
-A587;VAI SYLLABLE SOO;Lo;0;L;;;;;N;;;;;
-A588;VAI SYLLABLE SHOO;Lo;0;L;;;;;N;;;;;
-A589;VAI SYLLABLE ZOO;Lo;0;L;;;;;N;;;;;
-A58A;VAI SYLLABLE ZHOO;Lo;0;L;;;;;N;;;;;
-A58B;VAI SYLLABLE COO;Lo;0;L;;;;;N;;;;;
-A58C;VAI SYLLABLE JOO;Lo;0;L;;;;;N;;;;;
-A58D;VAI SYLLABLE NJOO;Lo;0;L;;;;;N;;;;;
-A58E;VAI SYLLABLE YOO;Lo;0;L;;;;;N;;;;;
-A58F;VAI SYLLABLE KOO;Lo;0;L;;;;;N;;;;;
-A590;VAI SYLLABLE NGGOO;Lo;0;L;;;;;N;;;;;
-A591;VAI SYLLABLE GOO;Lo;0;L;;;;;N;;;;;
-A592;VAI SYLLABLE MOO;Lo;0;L;;;;;N;;;;;
-A593;VAI SYLLABLE NOO;Lo;0;L;;;;;N;;;;;
-A594;VAI SYLLABLE NYOO;Lo;0;L;;;;;N;;;;;
-A595;VAI SYLLABLE U;Lo;0;L;;;;;N;;;;;
-A596;VAI SYLLABLE UN;Lo;0;L;;;;;N;;;;;
-A597;VAI SYLLABLE HU;Lo;0;L;;;;;N;;;;;
-A598;VAI SYLLABLE HUN;Lo;0;L;;;;;N;;;;;
-A599;VAI SYLLABLE WU;Lo;0;L;;;;;N;;;;;
-A59A;VAI SYLLABLE WUN;Lo;0;L;;;;;N;;;;;
-A59B;VAI SYLLABLE PU;Lo;0;L;;;;;N;;;;;
-A59C;VAI SYLLABLE BHU;Lo;0;L;;;;;N;;;;;
-A59D;VAI SYLLABLE BU;Lo;0;L;;;;;N;;;;;
-A59E;VAI SYLLABLE MBU;Lo;0;L;;;;;N;;;;;
-A59F;VAI SYLLABLE KPU;Lo;0;L;;;;;N;;;;;
-A5A0;VAI SYLLABLE MGBU;Lo;0;L;;;;;N;;;;;
-A5A1;VAI SYLLABLE GBU;Lo;0;L;;;;;N;;;;;
-A5A2;VAI SYLLABLE FU;Lo;0;L;;;;;N;;;;;
-A5A3;VAI SYLLABLE VU;Lo;0;L;;;;;N;;;;;
-A5A4;VAI SYLLABLE TU;Lo;0;L;;;;;N;;;;;
-A5A5;VAI SYLLABLE THU;Lo;0;L;;;;;N;;;;;
-A5A6;VAI SYLLABLE DHU;Lo;0;L;;;;;N;;;;;
-A5A7;VAI SYLLABLE DHHU;Lo;0;L;;;;;N;;;;;
-A5A8;VAI SYLLABLE LU;Lo;0;L;;;;;N;;;;;
-A5A9;VAI SYLLABLE RU;Lo;0;L;;;;;N;;;;;
-A5AA;VAI SYLLABLE DU;Lo;0;L;;;;;N;;;;;
-A5AB;VAI SYLLABLE NDU;Lo;0;L;;;;;N;;;;;
-A5AC;VAI SYLLABLE SU;Lo;0;L;;;;;N;;;;;
-A5AD;VAI SYLLABLE SHU;Lo;0;L;;;;;N;;;;;
-A5AE;VAI SYLLABLE ZU;Lo;0;L;;;;;N;;;;;
-A5AF;VAI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;;
-A5B0;VAI SYLLABLE CU;Lo;0;L;;;;;N;;;;;
-A5B1;VAI SYLLABLE JU;Lo;0;L;;;;;N;;;;;
-A5B2;VAI SYLLABLE NJU;Lo;0;L;;;;;N;;;;;
-A5B3;VAI SYLLABLE YU;Lo;0;L;;;;;N;;;;;
-A5B4;VAI SYLLABLE KU;Lo;0;L;;;;;N;;;;;
-A5B5;VAI SYLLABLE NGGU;Lo;0;L;;;;;N;;;;;
-A5B6;VAI SYLLABLE GU;Lo;0;L;;;;;N;;;;;
-A5B7;VAI SYLLABLE MU;Lo;0;L;;;;;N;;;;;
-A5B8;VAI SYLLABLE NU;Lo;0;L;;;;;N;;;;;
-A5B9;VAI SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
-A5BA;VAI SYLLABLE O;Lo;0;L;;;;;N;;;;;
-A5BB;VAI SYLLABLE ON;Lo;0;L;;;;;N;;;;;
-A5BC;VAI SYLLABLE NGON;Lo;0;L;;;;;N;;;;;
-A5BD;VAI SYLLABLE HO;Lo;0;L;;;;;N;;;;;
-A5BE;VAI SYLLABLE HON;Lo;0;L;;;;;N;;;;;
-A5BF;VAI SYLLABLE WO;Lo;0;L;;;;;N;;;;;
-A5C0;VAI SYLLABLE WON;Lo;0;L;;;;;N;;;;;
-A5C1;VAI SYLLABLE PO;Lo;0;L;;;;;N;;;;;
-A5C2;VAI SYLLABLE BHO;Lo;0;L;;;;;N;;;;;
-A5C3;VAI SYLLABLE BO;Lo;0;L;;;;;N;;;;;
-A5C4;VAI SYLLABLE MBO;Lo;0;L;;;;;N;;;;;
-A5C5;VAI SYLLABLE KPO;Lo;0;L;;;;;N;;;;;
-A5C6;VAI SYLLABLE MGBO;Lo;0;L;;;;;N;;;;;
-A5C7;VAI SYLLABLE GBO;Lo;0;L;;;;;N;;;;;
-A5C8;VAI SYLLABLE GBON;Lo;0;L;;;;;N;;;;;
-A5C9;VAI SYLLABLE FO;Lo;0;L;;;;;N;;;;;
-A5CA;VAI SYLLABLE VO;Lo;0;L;;;;;N;;;;;
-A5CB;VAI SYLLABLE TO;Lo;0;L;;;;;N;;;;;
-A5CC;VAI SYLLABLE THO;Lo;0;L;;;;;N;;;;;
-A5CD;VAI SYLLABLE DHO;Lo;0;L;;;;;N;;;;;
-A5CE;VAI SYLLABLE DHHO;Lo;0;L;;;;;N;;;;;
-A5CF;VAI SYLLABLE LO;Lo;0;L;;;;;N;;;;;
-A5D0;VAI SYLLABLE RO;Lo;0;L;;;;;N;;;;;
-A5D1;VAI SYLLABLE DO;Lo;0;L;;;;;N;;;;;
-A5D2;VAI SYLLABLE NDO;Lo;0;L;;;;;N;;;;;
-A5D3;VAI SYLLABLE SO;Lo;0;L;;;;;N;;;;;
-A5D4;VAI SYLLABLE SHO;Lo;0;L;;;;;N;;;;;
-A5D5;VAI SYLLABLE ZO;Lo;0;L;;;;;N;;;;;
-A5D6;VAI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;;
-A5D7;VAI SYLLABLE CO;Lo;0;L;;;;;N;;;;;
-A5D8;VAI SYLLABLE JO;Lo;0;L;;;;;N;;;;;
-A5D9;VAI SYLLABLE NJO;Lo;0;L;;;;;N;;;;;
-A5DA;VAI SYLLABLE YO;Lo;0;L;;;;;N;;;;;
-A5DB;VAI SYLLABLE KO;Lo;0;L;;;;;N;;;;;
-A5DC;VAI SYLLABLE NGGO;Lo;0;L;;;;;N;;;;;
-A5DD;VAI SYLLABLE GO;Lo;0;L;;;;;N;;;;;
-A5DE;VAI SYLLABLE MO;Lo;0;L;;;;;N;;;;;
-A5DF;VAI SYLLABLE NO;Lo;0;L;;;;;N;;;;;
-A5E0;VAI SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
-A5E1;VAI SYLLABLE E;Lo;0;L;;;;;N;;;;;
-A5E2;VAI SYLLABLE EN;Lo;0;L;;;;;N;;;;;
-A5E3;VAI SYLLABLE NGEN;Lo;0;L;;;;;N;;;;;
-A5E4;VAI SYLLABLE HE;Lo;0;L;;;;;N;;;;;
-A5E5;VAI SYLLABLE HEN;Lo;0;L;;;;;N;;;;;
-A5E6;VAI SYLLABLE WE;Lo;0;L;;;;;N;;;;;
-A5E7;VAI SYLLABLE WEN;Lo;0;L;;;;;N;;;;;
-A5E8;VAI SYLLABLE PE;Lo;0;L;;;;;N;;;;;
-A5E9;VAI SYLLABLE BHE;Lo;0;L;;;;;N;;;;;
-A5EA;VAI SYLLABLE BE;Lo;0;L;;;;;N;;;;;
-A5EB;VAI SYLLABLE MBE;Lo;0;L;;;;;N;;;;;
-A5EC;VAI SYLLABLE KPE;Lo;0;L;;;;;N;;;;;
-A5ED;VAI SYLLABLE KPEN;Lo;0;L;;;;;N;;;;;
-A5EE;VAI SYLLABLE MGBE;Lo;0;L;;;;;N;;;;;
-A5EF;VAI SYLLABLE GBE;Lo;0;L;;;;;N;;;;;
-A5F0;VAI SYLLABLE GBEN;Lo;0;L;;;;;N;;;;;
-A5F1;VAI SYLLABLE FE;Lo;0;L;;;;;N;;;;;
-A5F2;VAI SYLLABLE VE;Lo;0;L;;;;;N;;;;;
-A5F3;VAI SYLLABLE TE;Lo;0;L;;;;;N;;;;;
-A5F4;VAI SYLLABLE THE;Lo;0;L;;;;;N;;;;;
-A5F5;VAI SYLLABLE DHE;Lo;0;L;;;;;N;;;;;
-A5F6;VAI SYLLABLE DHHE;Lo;0;L;;;;;N;;;;;
-A5F7;VAI SYLLABLE LE;Lo;0;L;;;;;N;;;;;
-A5F8;VAI SYLLABLE RE;Lo;0;L;;;;;N;;;;;
-A5F9;VAI SYLLABLE DE;Lo;0;L;;;;;N;;;;;
-A5FA;VAI SYLLABLE NDE;Lo;0;L;;;;;N;;;;;
-A5FB;VAI SYLLABLE SE;Lo;0;L;;;;;N;;;;;
-A5FC;VAI SYLLABLE SHE;Lo;0;L;;;;;N;;;;;
-A5FD;VAI SYLLABLE ZE;Lo;0;L;;;;;N;;;;;
-A5FE;VAI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;;
-A5FF;VAI SYLLABLE CE;Lo;0;L;;;;;N;;;;;
-A600;VAI SYLLABLE JE;Lo;0;L;;;;;N;;;;;
-A601;VAI SYLLABLE NJE;Lo;0;L;;;;;N;;;;;
-A602;VAI SYLLABLE YE;Lo;0;L;;;;;N;;;;;
-A603;VAI SYLLABLE KE;Lo;0;L;;;;;N;;;;;
-A604;VAI SYLLABLE NGGE;Lo;0;L;;;;;N;;;;;
-A605;VAI SYLLABLE NGGEN;Lo;0;L;;;;;N;;;;;
-A606;VAI SYLLABLE GE;Lo;0;L;;;;;N;;;;;
-A607;VAI SYLLABLE GEN;Lo;0;L;;;;;N;;;;;
-A608;VAI SYLLABLE ME;Lo;0;L;;;;;N;;;;;
-A609;VAI SYLLABLE NE;Lo;0;L;;;;;N;;;;;
-A60A;VAI SYLLABLE NYE;Lo;0;L;;;;;N;;;;;
-A60B;VAI SYLLABLE NG;Lo;0;L;;;;;N;;;;;
-A60C;VAI SYLLABLE LENGTHENER;Lm;0;L;;;;;N;;;;;
-A60D;VAI COMMA;Po;0;ON;;;;;N;;;;;
-A60E;VAI FULL STOP;Po;0;ON;;;;;N;;;;;
-A60F;VAI QUESTION MARK;Po;0;ON;;;;;N;;;;;
-A610;VAI SYLLABLE NDOLE FA;Lo;0;L;;;;;N;;;;;
-A611;VAI SYLLABLE NDOLE KA;Lo;0;L;;;;;N;;;;;
-A612;VAI SYLLABLE NDOLE SOO;Lo;0;L;;;;;N;;;;;
-A613;VAI SYMBOL FEENG;Lo;0;L;;;;;N;;;;;
-A614;VAI SYMBOL KEENG;Lo;0;L;;;;;N;;;;;
-A615;VAI SYMBOL TING;Lo;0;L;;;;;N;;;;;
-A616;VAI SYMBOL NII;Lo;0;L;;;;;N;;;;;
-A617;VAI SYMBOL BANG;Lo;0;L;;;;;N;;;;;
-A618;VAI SYMBOL FAA;Lo;0;L;;;;;N;;;;;
-A619;VAI SYMBOL TAA;Lo;0;L;;;;;N;;;;;
-A61A;VAI SYMBOL DANG;Lo;0;L;;;;;N;;;;;
-A61B;VAI SYMBOL DOONG;Lo;0;L;;;;;N;;;;;
-A61C;VAI SYMBOL KUNG;Lo;0;L;;;;;N;;;;;
-A61D;VAI SYMBOL TONG;Lo;0;L;;;;;N;;;;;
-A61E;VAI SYMBOL DO-O;Lo;0;L;;;;;N;;;;;
-A61F;VAI SYMBOL JONG;Lo;0;L;;;;;N;;;;;
-A620;VAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-A621;VAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-A622;VAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-A623;VAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-A624;VAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-A625;VAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-A626;VAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-A627;VAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-A628;VAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-A629;VAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-A62A;VAI SYLLABLE NDOLE MA;Lo;0;L;;;;;N;;;;;
-A62B;VAI SYLLABLE NDOLE DO;Lo;0;L;;;;;N;;;;;
-A640;CYRILLIC CAPITAL LETTER ZEMLYA;Lu;0;L;;;;;N;;;;A641;
-A641;CYRILLIC SMALL LETTER ZEMLYA;Ll;0;L;;;;;N;;;A640;;A640
-A642;CYRILLIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;A643;
-A643;CYRILLIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;A642;;A642
-A644;CYRILLIC CAPITAL LETTER REVERSED DZE;Lu;0;L;;;;;N;;;;A645;
-A645;CYRILLIC SMALL LETTER REVERSED DZE;Ll;0;L;;;;;N;;;A644;;A644
-A646;CYRILLIC CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;A647;
-A647;CYRILLIC SMALL LETTER IOTA;Ll;0;L;;;;;N;;;A646;;A646
-A648;CYRILLIC CAPITAL LETTER DJERV;Lu;0;L;;;;;N;;;;A649;
-A649;CYRILLIC SMALL LETTER DJERV;Ll;0;L;;;;;N;;;A648;;A648
-A64A;CYRILLIC CAPITAL LETTER MONOGRAPH UK;Lu;0;L;;;;;N;;;;A64B;
-A64B;CYRILLIC SMALL LETTER MONOGRAPH UK;Ll;0;L;;;;;N;;;A64A;;A64A
-A64C;CYRILLIC CAPITAL LETTER BROAD OMEGA;Lu;0;L;;;;;N;;;;A64D;
-A64D;CYRILLIC SMALL LETTER BROAD OMEGA;Ll;0;L;;;;;N;;;A64C;;A64C
-A64E;CYRILLIC CAPITAL LETTER NEUTRAL YER;Lu;0;L;;;;;N;;;;A64F;
-A64F;CYRILLIC SMALL LETTER NEUTRAL YER;Ll;0;L;;;;;N;;;A64E;;A64E
-A650;CYRILLIC CAPITAL LETTER YERU WITH BACK YER;Lu;0;L;;;;;N;;;;A651;
-A651;CYRILLIC SMALL LETTER YERU WITH BACK YER;Ll;0;L;;;;;N;;;A650;;A650
-A652;CYRILLIC CAPITAL LETTER IOTIFIED YAT;Lu;0;L;;;;;N;;;;A653;
-A653;CYRILLIC SMALL LETTER IOTIFIED YAT;Ll;0;L;;;;;N;;;A652;;A652
-A654;CYRILLIC CAPITAL LETTER REVERSED YU;Lu;0;L;;;;;N;;;;A655;
-A655;CYRILLIC SMALL LETTER REVERSED YU;Ll;0;L;;;;;N;;;A654;;A654
-A656;CYRILLIC CAPITAL LETTER IOTIFIED A;Lu;0;L;;;;;N;;;;A657;
-A657;CYRILLIC SMALL LETTER IOTIFIED A;Ll;0;L;;;;;N;;;A656;;A656
-A658;CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A659;
-A659;CYRILLIC SMALL LETTER CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A658;;A658
-A65A;CYRILLIC CAPITAL LETTER BLENDED YUS;Lu;0;L;;;;;N;;;;A65B;
-A65B;CYRILLIC SMALL LETTER BLENDED YUS;Ll;0;L;;;;;N;;;A65A;;A65A
-A65C;CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A65D;
-A65D;CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A65C;;A65C
-A65E;CYRILLIC CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;A65F;
-A65F;CYRILLIC SMALL LETTER YN;Ll;0;L;;;;;N;;;A65E;;A65E
-A662;CYRILLIC CAPITAL LETTER SOFT DE;Lu;0;L;;;;;N;;;;A663;
-A663;CYRILLIC SMALL LETTER SOFT DE;Ll;0;L;;;;;N;;;A662;;A662
-A664;CYRILLIC CAPITAL LETTER SOFT EL;Lu;0;L;;;;;N;;;;A665;
-A665;CYRILLIC SMALL LETTER SOFT EL;Ll;0;L;;;;;N;;;A664;;A664
-A666;CYRILLIC CAPITAL LETTER SOFT EM;Lu;0;L;;;;;N;;;;A667;
-A667;CYRILLIC SMALL LETTER SOFT EM;Ll;0;L;;;;;N;;;A666;;A666
-A668;CYRILLIC CAPITAL LETTER MONOCULAR O;Lu;0;L;;;;;N;;;;A669;
-A669;CYRILLIC SMALL LETTER MONOCULAR O;Ll;0;L;;;;;N;;;A668;;A668
-A66A;CYRILLIC CAPITAL LETTER BINOCULAR O;Lu;0;L;;;;;N;;;;A66B;
-A66B;CYRILLIC SMALL LETTER BINOCULAR O;Ll;0;L;;;;;N;;;A66A;;A66A
-A66C;CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O;Lu;0;L;;;;;N;;;;A66D;
-A66D;CYRILLIC SMALL LETTER DOUBLE MONOCULAR O;Ll;0;L;;;;;N;;;A66C;;A66C
-A66E;CYRILLIC LETTER MULTIOCULAR O;Lo;0;L;;;;;N;;;;;
-A66F;COMBINING CYRILLIC VZMET;Mn;230;NSM;;;;;N;;;;;
-A670;COMBINING CYRILLIC TEN MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
-A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
-A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
-A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;;
-A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;;
-A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;;
-A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;;
-A67F;CYRILLIC PAYEROK;Lm;0;ON;;;;;N;;;;;
-A680;CYRILLIC CAPITAL LETTER DWE;Lu;0;L;;;;;N;;;;A681;
-A681;CYRILLIC SMALL LETTER DWE;Ll;0;L;;;;;N;;;A680;;A680
-A682;CYRILLIC CAPITAL LETTER DZWE;Lu;0;L;;;;;N;;;;A683;
-A683;CYRILLIC SMALL LETTER DZWE;Ll;0;L;;;;;N;;;A682;;A682
-A684;CYRILLIC CAPITAL LETTER ZHWE;Lu;0;L;;;;;N;;;;A685;
-A685;CYRILLIC SMALL LETTER ZHWE;Ll;0;L;;;;;N;;;A684;;A684
-A686;CYRILLIC CAPITAL LETTER CCHE;Lu;0;L;;;;;N;;;;A687;
-A687;CYRILLIC SMALL LETTER CCHE;Ll;0;L;;;;;N;;;A686;;A686
-A688;CYRILLIC CAPITAL LETTER DZZE;Lu;0;L;;;;;N;;;;A689;
-A689;CYRILLIC SMALL LETTER DZZE;Ll;0;L;;;;;N;;;A688;;A688
-A68A;CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;A68B;
-A68B;CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;A68A;;A68A
-A68C;CYRILLIC CAPITAL LETTER TWE;Lu;0;L;;;;;N;;;;A68D;
-A68D;CYRILLIC SMALL LETTER TWE;Ll;0;L;;;;;N;;;A68C;;A68C
-A68E;CYRILLIC CAPITAL LETTER TSWE;Lu;0;L;;;;;N;;;;A68F;
-A68F;CYRILLIC SMALL LETTER TSWE;Ll;0;L;;;;;N;;;A68E;;A68E
-A690;CYRILLIC CAPITAL LETTER TSSE;Lu;0;L;;;;;N;;;;A691;
-A691;CYRILLIC SMALL LETTER TSSE;Ll;0;L;;;;;N;;;A690;;A690
-A692;CYRILLIC CAPITAL LETTER TCHE;Lu;0;L;;;;;N;;;;A693;
-A693;CYRILLIC SMALL LETTER TCHE;Ll;0;L;;;;;N;;;A692;;A692
-A694;CYRILLIC CAPITAL LETTER HWE;Lu;0;L;;;;;N;;;;A695;
-A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694
-A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697;
-A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696
-A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;;
-A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;;
-A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;;
-A6A3;BAMUM LETTER KU;Lo;0;L;;;;;N;;;;;
-A6A4;BAMUM LETTER EE;Lo;0;L;;;;;N;;;;;
-A6A5;BAMUM LETTER REE;Lo;0;L;;;;;N;;;;;
-A6A6;BAMUM LETTER TAE;Lo;0;L;;;;;N;;;;;
-A6A7;BAMUM LETTER O;Lo;0;L;;;;;N;;;;;
-A6A8;BAMUM LETTER NYI;Lo;0;L;;;;;N;;;;;
-A6A9;BAMUM LETTER I;Lo;0;L;;;;;N;;;;;
-A6AA;BAMUM LETTER LA;Lo;0;L;;;;;N;;;;;
-A6AB;BAMUM LETTER PA;Lo;0;L;;;;;N;;;;;
-A6AC;BAMUM LETTER RII;Lo;0;L;;;;;N;;;;;
-A6AD;BAMUM LETTER RIEE;Lo;0;L;;;;;N;;;;;
-A6AE;BAMUM LETTER LEEEE;Lo;0;L;;;;;N;;;;;
-A6AF;BAMUM LETTER MEEEE;Lo;0;L;;;;;N;;;;;
-A6B0;BAMUM LETTER TAA;Lo;0;L;;;;;N;;;;;
-A6B1;BAMUM LETTER NDAA;Lo;0;L;;;;;N;;;;;
-A6B2;BAMUM LETTER NJAEM;Lo;0;L;;;;;N;;;;;
-A6B3;BAMUM LETTER M;Lo;0;L;;;;;N;;;;;
-A6B4;BAMUM LETTER SUU;Lo;0;L;;;;;N;;;;;
-A6B5;BAMUM LETTER MU;Lo;0;L;;;;;N;;;;;
-A6B6;BAMUM LETTER SHII;Lo;0;L;;;;;N;;;;;
-A6B7;BAMUM LETTER SI;Lo;0;L;;;;;N;;;;;
-A6B8;BAMUM LETTER SHEUX;Lo;0;L;;;;;N;;;;;
-A6B9;BAMUM LETTER SEUX;Lo;0;L;;;;;N;;;;;
-A6BA;BAMUM LETTER KYEE;Lo;0;L;;;;;N;;;;;
-A6BB;BAMUM LETTER KET;Lo;0;L;;;;;N;;;;;
-A6BC;BAMUM LETTER NUAE;Lo;0;L;;;;;N;;;;;
-A6BD;BAMUM LETTER NU;Lo;0;L;;;;;N;;;;;
-A6BE;BAMUM LETTER NJUAE;Lo;0;L;;;;;N;;;;;
-A6BF;BAMUM LETTER YOQ;Lo;0;L;;;;;N;;;;;
-A6C0;BAMUM LETTER SHU;Lo;0;L;;;;;N;;;;;
-A6C1;BAMUM LETTER YUQ;Lo;0;L;;;;;N;;;;;
-A6C2;BAMUM LETTER YA;Lo;0;L;;;;;N;;;;;
-A6C3;BAMUM LETTER NSHA;Lo;0;L;;;;;N;;;;;
-A6C4;BAMUM LETTER KEUX;Lo;0;L;;;;;N;;;;;
-A6C5;BAMUM LETTER PEUX;Lo;0;L;;;;;N;;;;;
-A6C6;BAMUM LETTER NJEE;Lo;0;L;;;;;N;;;;;
-A6C7;BAMUM LETTER NTEE;Lo;0;L;;;;;N;;;;;
-A6C8;BAMUM LETTER PUE;Lo;0;L;;;;;N;;;;;
-A6C9;BAMUM LETTER WUE;Lo;0;L;;;;;N;;;;;
-A6CA;BAMUM LETTER PEE;Lo;0;L;;;;;N;;;;;
-A6CB;BAMUM LETTER FEE;Lo;0;L;;;;;N;;;;;
-A6CC;BAMUM LETTER RU;Lo;0;L;;;;;N;;;;;
-A6CD;BAMUM LETTER LU;Lo;0;L;;;;;N;;;;;
-A6CE;BAMUM LETTER MI;Lo;0;L;;;;;N;;;;;
-A6CF;BAMUM LETTER NI;Lo;0;L;;;;;N;;;;;
-A6D0;BAMUM LETTER REUX;Lo;0;L;;;;;N;;;;;
-A6D1;BAMUM LETTER RAE;Lo;0;L;;;;;N;;;;;
-A6D2;BAMUM LETTER KEN;Lo;0;L;;;;;N;;;;;
-A6D3;BAMUM LETTER NGKWAEN;Lo;0;L;;;;;N;;;;;
-A6D4;BAMUM LETTER NGGA;Lo;0;L;;;;;N;;;;;
-A6D5;BAMUM LETTER NGA;Lo;0;L;;;;;N;;;;;
-A6D6;BAMUM LETTER SHO;Lo;0;L;;;;;N;;;;;
-A6D7;BAMUM LETTER PUAE;Lo;0;L;;;;;N;;;;;
-A6D8;BAMUM LETTER FU;Lo;0;L;;;;;N;;;;;
-A6D9;BAMUM LETTER FOM;Lo;0;L;;;;;N;;;;;
-A6DA;BAMUM LETTER WA;Lo;0;L;;;;;N;;;;;
-A6DB;BAMUM LETTER NA;Lo;0;L;;;;;N;;;;;
-A6DC;BAMUM LETTER LI;Lo;0;L;;;;;N;;;;;
-A6DD;BAMUM LETTER PI;Lo;0;L;;;;;N;;;;;
-A6DE;BAMUM LETTER LOQ;Lo;0;L;;;;;N;;;;;
-A6DF;BAMUM LETTER KO;Lo;0;L;;;;;N;;;;;
-A6E0;BAMUM LETTER MBEN;Lo;0;L;;;;;N;;;;;
-A6E1;BAMUM LETTER REN;Lo;0;L;;;;;N;;;;;
-A6E2;BAMUM LETTER MEN;Lo;0;L;;;;;N;;;;;
-A6E3;BAMUM LETTER MA;Lo;0;L;;;;;N;;;;;
-A6E4;BAMUM LETTER TI;Lo;0;L;;;;;N;;;;;
-A6E5;BAMUM LETTER KI;Lo;0;L;;;;;N;;;;;
-A6E6;BAMUM LETTER MO;Nl;0;L;;;;1;N;;;;;
-A6E7;BAMUM LETTER MBAA;Nl;0;L;;;;2;N;;;;;
-A6E8;BAMUM LETTER TET;Nl;0;L;;;;3;N;;;;;
-A6E9;BAMUM LETTER KPA;Nl;0;L;;;;4;N;;;;;
-A6EA;BAMUM LETTER TEN;Nl;0;L;;;;5;N;;;;;
-A6EB;BAMUM LETTER NTUU;Nl;0;L;;;;6;N;;;;;
-A6EC;BAMUM LETTER SAMBA;Nl;0;L;;;;7;N;;;;;
-A6ED;BAMUM LETTER FAAMAE;Nl;0;L;;;;8;N;;;;;
-A6EE;BAMUM LETTER KOVUU;Nl;0;L;;;;9;N;;;;;
-A6EF;BAMUM LETTER KOGHOM;Nl;0;L;;;;0;N;;;;;
-A6F0;BAMUM COMBINING MARK KOQNDON;Mn;230;NSM;;;;;N;;;;;
-A6F1;BAMUM COMBINING MARK TUKWENTIS;Mn;230;NSM;;;;;N;;;;;
-A6F2;BAMUM NJAEMLI;Po;0;L;;;;;N;;;;;
-A6F3;BAMUM FULL STOP;Po;0;L;;;;;N;;;;;
-A6F4;BAMUM COLON;Po;0;L;;;;;N;;;;;
-A6F5;BAMUM COMMA;Po;0;L;;;;;N;;;;;
-A6F6;BAMUM SEMICOLON;Po;0;L;;;;;N;;;;;
-A6F7;BAMUM QUESTION MARK;Po;0;L;;;;;N;;;;;
-A700;MODIFIER LETTER CHINESE TONE YIN PING;Sk;0;ON;;;;;N;;;;;
-A701;MODIFIER LETTER CHINESE TONE YANG PING;Sk;0;ON;;;;;N;;;;;
-A702;MODIFIER LETTER CHINESE TONE YIN SHANG;Sk;0;ON;;;;;N;;;;;
-A703;MODIFIER LETTER CHINESE TONE YANG SHANG;Sk;0;ON;;;;;N;;;;;
-A704;MODIFIER LETTER CHINESE TONE YIN QU;Sk;0;ON;;;;;N;;;;;
-A705;MODIFIER LETTER CHINESE TONE YANG QU;Sk;0;ON;;;;;N;;;;;
-A706;MODIFIER LETTER CHINESE TONE YIN RU;Sk;0;ON;;;;;N;;;;;
-A707;MODIFIER LETTER CHINESE TONE YANG RU;Sk;0;ON;;;;;N;;;;;
-A708;MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
-A709;MODIFIER LETTER HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
-A70A;MODIFIER LETTER MID DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
-A70B;MODIFIER LETTER LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
-A70C;MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;;
-A70D;MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A70E;MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A70F;MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A710;MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A711;MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A712;MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A713;MODIFIER LETTER HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A714;MODIFIER LETTER MID LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A715;MODIFIER LETTER LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A716;MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;;
-A717;MODIFIER LETTER DOT VERTICAL BAR;Lm;0;ON;;;;;N;;;;;
-A718;MODIFIER LETTER DOT SLASH;Lm;0;ON;;;;;N;;;;;
-A719;MODIFIER LETTER DOT HORIZONTAL BAR;Lm;0;ON;;;;;N;;;;;
-A71A;MODIFIER LETTER LOWER RIGHT CORNER ANGLE;Lm;0;ON;;;;;N;;;;;
-A71B;MODIFIER LETTER RAISED UP ARROW;Lm;0;ON;;;;;N;;;;;
-A71C;MODIFIER LETTER RAISED DOWN ARROW;Lm;0;ON;;;;;N;;;;;
-A71D;MODIFIER LETTER RAISED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;;
-A71E;MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;;
-A71F;MODIFIER LETTER LOW INVERTED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;;
-A720;MODIFIER LETTER STRESS AND HIGH TONE;Sk;0;ON;;;;;N;;;;;
-A721;MODIFIER LETTER STRESS AND LOW TONE;Sk;0;ON;;;;;N;;;;;
-A722;LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF;Lu;0;L;;;;;N;;;;A723;
-A723;LATIN SMALL LETTER EGYPTOLOGICAL ALEF;Ll;0;L;;;;;N;;;A722;;A722
-A724;LATIN CAPITAL LETTER EGYPTOLOGICAL AIN;Lu;0;L;;;;;N;;;;A725;
-A725;LATIN SMALL LETTER EGYPTOLOGICAL AIN;Ll;0;L;;;;;N;;;A724;;A724
-A726;LATIN CAPITAL LETTER HENG;Lu;0;L;;;;;N;;;;A727;
-A727;LATIN SMALL LETTER HENG;Ll;0;L;;;;;N;;;A726;;A726
-A728;LATIN CAPITAL LETTER TZ;Lu;0;L;;;;;N;;;;A729;
-A729;LATIN SMALL LETTER TZ;Ll;0;L;;;;;N;;;A728;;A728
-A72A;LATIN CAPITAL LETTER TRESILLO;Lu;0;L;;;;;N;;;;A72B;
-A72B;LATIN SMALL LETTER TRESILLO;Ll;0;L;;;;;N;;;A72A;;A72A
-A72C;LATIN CAPITAL LETTER CUATRILLO;Lu;0;L;;;;;N;;;;A72D;
-A72D;LATIN SMALL LETTER CUATRILLO;Ll;0;L;;;;;N;;;A72C;;A72C
-A72E;LATIN CAPITAL LETTER CUATRILLO WITH COMMA;Lu;0;L;;;;;N;;;;A72F;
-A72F;LATIN SMALL LETTER CUATRILLO WITH COMMA;Ll;0;L;;;;;N;;;A72E;;A72E
-A730;LATIN LETTER SMALL CAPITAL F;Ll;0;L;;;;;N;;;;;
-A731;LATIN LETTER SMALL CAPITAL S;Ll;0;L;;;;;N;;;;;
-A732;LATIN CAPITAL LETTER AA;Lu;0;L;;;;;N;;;;A733;
-A733;LATIN SMALL LETTER AA;Ll;0;L;;;;;N;;;A732;;A732
-A734;LATIN CAPITAL LETTER AO;Lu;0;L;;;;;N;;;;A735;
-A735;LATIN SMALL LETTER AO;Ll;0;L;;;;;N;;;A734;;A734
-A736;LATIN CAPITAL LETTER AU;Lu;0;L;;;;;N;;;;A737;
-A737;LATIN SMALL LETTER AU;Ll;0;L;;;;;N;;;A736;;A736
-A738;LATIN CAPITAL LETTER AV;Lu;0;L;;;;;N;;;;A739;
-A739;LATIN SMALL LETTER AV;Ll;0;L;;;;;N;;;A738;;A738
-A73A;LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR;Lu;0;L;;;;;N;;;;A73B;
-A73B;LATIN SMALL LETTER AV WITH HORIZONTAL BAR;Ll;0;L;;;;;N;;;A73A;;A73A
-A73C;LATIN CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;A73D;
-A73D;LATIN SMALL LETTER AY;Ll;0;L;;;;;N;;;A73C;;A73C
-A73E;LATIN CAPITAL LETTER REVERSED C WITH DOT;Lu;0;L;;;;;N;;;;A73F;
-A73F;LATIN SMALL LETTER REVERSED C WITH DOT;Ll;0;L;;;;;N;;;A73E;;A73E
-A740;LATIN CAPITAL LETTER K WITH STROKE;Lu;0;L;;;;;N;;;;A741;
-A741;LATIN SMALL LETTER K WITH STROKE;Ll;0;L;;;;;N;;;A740;;A740
-A742;LATIN CAPITAL LETTER K WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A743;
-A743;LATIN SMALL LETTER K WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A742;;A742
-A744;LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A745;
-A745;LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE;Ll;0;L;;;;;N;;;A744;;A744
-A746;LATIN CAPITAL LETTER BROKEN L;Lu;0;L;;;;;N;;;;A747;
-A747;LATIN SMALL LETTER BROKEN L;Ll;0;L;;;;;N;;;A746;;A746
-A748;LATIN CAPITAL LETTER L WITH HIGH STROKE;Lu;0;L;;;;;N;;;;A749;
-A749;LATIN SMALL LETTER L WITH HIGH STROKE;Ll;0;L;;;;;N;;;A748;;A748
-A74A;LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY;Lu;0;L;;;;;N;;;;A74B;
-A74B;LATIN SMALL LETTER O WITH LONG STROKE OVERLAY;Ll;0;L;;;;;N;;;A74A;;A74A
-A74C;LATIN CAPITAL LETTER O WITH LOOP;Lu;0;L;;;;;N;;;;A74D;
-A74D;LATIN SMALL LETTER O WITH LOOP;Ll;0;L;;;;;N;;;A74C;;A74C
-A74E;LATIN CAPITAL LETTER OO;Lu;0;L;;;;;N;;;;A74F;
-A74F;LATIN SMALL LETTER OO;Ll;0;L;;;;;N;;;A74E;;A74E
-A750;LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A751;
-A751;LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A750;;A750
-A752;LATIN CAPITAL LETTER P WITH FLOURISH;Lu;0;L;;;;;N;;;;A753;
-A753;LATIN SMALL LETTER P WITH FLOURISH;Ll;0;L;;;;;N;;;A752;;A752
-A754;LATIN CAPITAL LETTER P WITH SQUIRREL TAIL;Lu;0;L;;;;;N;;;;A755;
-A755;LATIN SMALL LETTER P WITH SQUIRREL TAIL;Ll;0;L;;;;;N;;;A754;;A754
-A756;LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A757;
-A757;LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A756;;A756
-A758;LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A759;
-A759;LATIN SMALL LETTER Q WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A758;;A758
-A75A;LATIN CAPITAL LETTER R ROTUNDA;Lu;0;L;;;;;N;;;;A75B;
-A75B;LATIN SMALL LETTER R ROTUNDA;Ll;0;L;;;;;N;;;A75A;;A75A
-A75C;LATIN CAPITAL LETTER RUM ROTUNDA;Lu;0;L;;;;;N;;;;A75D;
-A75D;LATIN SMALL LETTER RUM ROTUNDA;Ll;0;L;;;;;N;;;A75C;;A75C
-A75E;LATIN CAPITAL LETTER V WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A75F;
-A75F;LATIN SMALL LETTER V WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A75E;;A75E
-A760;LATIN CAPITAL LETTER VY;Lu;0;L;;;;;N;;;;A761;
-A761;LATIN SMALL LETTER VY;Ll;0;L;;;;;N;;;A760;;A760
-A762;LATIN CAPITAL LETTER VISIGOTHIC Z;Lu;0;L;;;;;N;;;;A763;
-A763;LATIN SMALL LETTER VISIGOTHIC Z;Ll;0;L;;;;;N;;;A762;;A762
-A764;LATIN CAPITAL LETTER THORN WITH STROKE;Lu;0;L;;;;;N;;;;A765;
-A765;LATIN SMALL LETTER THORN WITH STROKE;Ll;0;L;;;;;N;;;A764;;A764
-A766;LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A767;
-A767;LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A766;;A766
-A768;LATIN CAPITAL LETTER VEND;Lu;0;L;;;;;N;;;;A769;
-A769;LATIN SMALL LETTER VEND;Ll;0;L;;;;;N;;;A768;;A768
-A76A;LATIN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;A76B;
-A76B;LATIN SMALL LETTER ET;Ll;0;L;;;;;N;;;A76A;;A76A
-A76C;LATIN CAPITAL LETTER IS;Lu;0;L;;;;;N;;;;A76D;
-A76D;LATIN SMALL LETTER IS;Ll;0;L;;;;;N;;;A76C;;A76C
-A76E;LATIN CAPITAL LETTER CON;Lu;0;L;;;;;N;;;;A76F;
-A76F;LATIN SMALL LETTER CON;Ll;0;L;;;;;N;;;A76E;;A76E
-A770;MODIFIER LETTER US;Lm;0;L;<super> A76F;;;;N;;;;;
-A771;LATIN SMALL LETTER DUM;Ll;0;L;;;;;N;;;;;
-A772;LATIN SMALL LETTER LUM;Ll;0;L;;;;;N;;;;;
-A773;LATIN SMALL LETTER MUM;Ll;0;L;;;;;N;;;;;
-A774;LATIN SMALL LETTER NUM;Ll;0;L;;;;;N;;;;;
-A775;LATIN SMALL LETTER RUM;Ll;0;L;;;;;N;;;;;
-A776;LATIN LETTER SMALL CAPITAL RUM;Ll;0;L;;;;;N;;;;;
-A777;LATIN SMALL LETTER TUM;Ll;0;L;;;;;N;;;;;
-A778;LATIN SMALL LETTER UM;Ll;0;L;;;;;N;;;;;
-A779;LATIN CAPITAL LETTER INSULAR D;Lu;0;L;;;;;N;;;;A77A;
-A77A;LATIN SMALL LETTER INSULAR D;Ll;0;L;;;;;N;;;A779;;A779
-A77B;LATIN CAPITAL LETTER INSULAR F;Lu;0;L;;;;;N;;;;A77C;
-A77C;LATIN SMALL LETTER INSULAR F;Ll;0;L;;;;;N;;;A77B;;A77B
-A77D;LATIN CAPITAL LETTER INSULAR G;Lu;0;L;;;;;N;;;;1D79;
-A77E;LATIN CAPITAL LETTER TURNED INSULAR G;Lu;0;L;;;;;N;;;;A77F;
-A77F;LATIN SMALL LETTER TURNED INSULAR G;Ll;0;L;;;;;N;;;A77E;;A77E
-A780;LATIN CAPITAL LETTER TURNED L;Lu;0;L;;;;;N;;;;A781;
-A781;LATIN SMALL LETTER TURNED L;Ll;0;L;;;;;N;;;A780;;A780
-A782;LATIN CAPITAL LETTER INSULAR R;Lu;0;L;;;;;N;;;;A783;
-A783;LATIN SMALL LETTER INSULAR R;Ll;0;L;;;;;N;;;A782;;A782
-A784;LATIN CAPITAL LETTER INSULAR S;Lu;0;L;;;;;N;;;;A785;
-A785;LATIN SMALL LETTER INSULAR S;Ll;0;L;;;;;N;;;A784;;A784
-A786;LATIN CAPITAL LETTER INSULAR T;Lu;0;L;;;;;N;;;;A787;
-A787;LATIN SMALL LETTER INSULAR T;Ll;0;L;;;;;N;;;A786;;A786
-A788;MODIFIER LETTER LOW CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;;;;;
-A789;MODIFIER LETTER COLON;Sk;0;L;;;;;N;;;;;
-A78A;MODIFIER LETTER SHORT EQUALS SIGN;Sk;0;L;;;;;N;;;;;
-A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C;
-A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B
-A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;;
-A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;;
-A7FD;LATIN EPIGRAPHIC LETTER INVERTED M;Lo;0;L;;;;;N;;;;;
-A7FE;LATIN EPIGRAPHIC LETTER I LONGA;Lo;0;L;;;;;N;;;;;
-A7FF;LATIN EPIGRAPHIC LETTER ARCHAIC M;Lo;0;L;;;;;N;;;;;
-A800;SYLOTI NAGRI LETTER A;Lo;0;L;;;;;N;;;;;
-A801;SYLOTI NAGRI LETTER I;Lo;0;L;;;;;N;;;;;
-A802;SYLOTI NAGRI SIGN DVISVARA;Mn;0;NSM;;;;;N;;;;;
-A803;SYLOTI NAGRI LETTER U;Lo;0;L;;;;;N;;;;;
-A804;SYLOTI NAGRI LETTER E;Lo;0;L;;;;;N;;;;;
-A805;SYLOTI NAGRI LETTER O;Lo;0;L;;;;;N;;;;;
-A806;SYLOTI NAGRI SIGN HASANTA;Mn;9;NSM;;;;;N;;;;;
-A807;SYLOTI NAGRI LETTER KO;Lo;0;L;;;;;N;;;;;
-A808;SYLOTI NAGRI LETTER KHO;Lo;0;L;;;;;N;;;;;
-A809;SYLOTI NAGRI LETTER GO;Lo;0;L;;;;;N;;;;;
-A80A;SYLOTI NAGRI LETTER GHO;Lo;0;L;;;;;N;;;;;
-A80B;SYLOTI NAGRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-A80C;SYLOTI NAGRI LETTER CO;Lo;0;L;;;;;N;;;;;
-A80D;SYLOTI NAGRI LETTER CHO;Lo;0;L;;;;;N;;;;;
-A80E;SYLOTI NAGRI LETTER JO;Lo;0;L;;;;;N;;;;;
-A80F;SYLOTI NAGRI LETTER JHO;Lo;0;L;;;;;N;;;;;
-A810;SYLOTI NAGRI LETTER TTO;Lo;0;L;;;;;N;;;;;
-A811;SYLOTI NAGRI LETTER TTHO;Lo;0;L;;;;;N;;;;;
-A812;SYLOTI NAGRI LETTER DDO;Lo;0;L;;;;;N;;;;;
-A813;SYLOTI NAGRI LETTER DDHO;Lo;0;L;;;;;N;;;;;
-A814;SYLOTI NAGRI LETTER TO;Lo;0;L;;;;;N;;;;;
-A815;SYLOTI NAGRI LETTER THO;Lo;0;L;;;;;N;;;;;
-A816;SYLOTI NAGRI LETTER DO;Lo;0;L;;;;;N;;;;;
-A817;SYLOTI NAGRI LETTER DHO;Lo;0;L;;;;;N;;;;;
-A818;SYLOTI NAGRI LETTER NO;Lo;0;L;;;;;N;;;;;
-A819;SYLOTI NAGRI LETTER PO;Lo;0;L;;;;;N;;;;;
-A81A;SYLOTI NAGRI LETTER PHO;Lo;0;L;;;;;N;;;;;
-A81B;SYLOTI NAGRI LETTER BO;Lo;0;L;;;;;N;;;;;
-A81C;SYLOTI NAGRI LETTER BHO;Lo;0;L;;;;;N;;;;;
-A81D;SYLOTI NAGRI LETTER MO;Lo;0;L;;;;;N;;;;;
-A81E;SYLOTI NAGRI LETTER RO;Lo;0;L;;;;;N;;;;;
-A81F;SYLOTI NAGRI LETTER LO;Lo;0;L;;;;;N;;;;;
-A820;SYLOTI NAGRI LETTER RRO;Lo;0;L;;;;;N;;;;;
-A821;SYLOTI NAGRI LETTER SO;Lo;0;L;;;;;N;;;;;
-A822;SYLOTI NAGRI LETTER HO;Lo;0;L;;;;;N;;;;;
-A823;SYLOTI NAGRI VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
-A824;SYLOTI NAGRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-A825;SYLOTI NAGRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-A826;SYLOTI NAGRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-A827;SYLOTI NAGRI VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
-A828;SYLOTI NAGRI POETRY MARK-1;So;0;ON;;;;;N;;;;;
-A829;SYLOTI NAGRI POETRY MARK-2;So;0;ON;;;;;N;;;;;
-A82A;SYLOTI NAGRI POETRY MARK-3;So;0;ON;;;;;N;;;;;
-A82B;SYLOTI NAGRI POETRY MARK-4;So;0;ON;;;;;N;;;;;
-A830;NORTH INDIC FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;;
-A831;NORTH INDIC FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;;
-A832;NORTH INDIC FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;;
-A833;NORTH INDIC FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;;
-A834;NORTH INDIC FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;;
-A835;NORTH INDIC FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;;
-A836;NORTH INDIC QUARTER MARK;So;0;L;;;;;N;;;;;
-A837;NORTH INDIC PLACEHOLDER MARK;So;0;L;;;;;N;;;;;
-A838;NORTH INDIC RUPEE MARK;Sc;0;ET;;;;;N;;;;;
-A839;NORTH INDIC QUANTITY MARK;So;0;ET;;;;;N;;;;;
-A840;PHAGS-PA LETTER KA;Lo;0;L;;;;;N;;;;;
-A841;PHAGS-PA LETTER KHA;Lo;0;L;;;;;N;;;;;
-A842;PHAGS-PA LETTER GA;Lo;0;L;;;;;N;;;;;
-A843;PHAGS-PA LETTER NGA;Lo;0;L;;;;;N;;;;;
-A844;PHAGS-PA LETTER CA;Lo;0;L;;;;;N;;;;;
-A845;PHAGS-PA LETTER CHA;Lo;0;L;;;;;N;;;;;
-A846;PHAGS-PA LETTER JA;Lo;0;L;;;;;N;;;;;
-A847;PHAGS-PA LETTER NYA;Lo;0;L;;;;;N;;;;;
-A848;PHAGS-PA LETTER TA;Lo;0;L;;;;;N;;;;;
-A849;PHAGS-PA LETTER THA;Lo;0;L;;;;;N;;;;;
-A84A;PHAGS-PA LETTER DA;Lo;0;L;;;;;N;;;;;
-A84B;PHAGS-PA LETTER NA;Lo;0;L;;;;;N;;;;;
-A84C;PHAGS-PA LETTER PA;Lo;0;L;;;;;N;;;;;
-A84D;PHAGS-PA LETTER PHA;Lo;0;L;;;;;N;;;;;
-A84E;PHAGS-PA LETTER BA;Lo;0;L;;;;;N;;;;;
-A84F;PHAGS-PA LETTER MA;Lo;0;L;;;;;N;;;;;
-A850;PHAGS-PA LETTER TSA;Lo;0;L;;;;;N;;;;;
-A851;PHAGS-PA LETTER TSHA;Lo;0;L;;;;;N;;;;;
-A852;PHAGS-PA LETTER DZA;Lo;0;L;;;;;N;;;;;
-A853;PHAGS-PA LETTER WA;Lo;0;L;;;;;N;;;;;
-A854;PHAGS-PA LETTER ZHA;Lo;0;L;;;;;N;;;;;
-A855;PHAGS-PA LETTER ZA;Lo;0;L;;;;;N;;;;;
-A856;PHAGS-PA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
-A857;PHAGS-PA LETTER YA;Lo;0;L;;;;;N;;;;;
-A858;PHAGS-PA LETTER RA;Lo;0;L;;;;;N;;;;;
-A859;PHAGS-PA LETTER LA;Lo;0;L;;;;;N;;;;;
-A85A;PHAGS-PA LETTER SHA;Lo;0;L;;;;;N;;;;;
-A85B;PHAGS-PA LETTER SA;Lo;0;L;;;;;N;;;;;
-A85C;PHAGS-PA LETTER HA;Lo;0;L;;;;;N;;;;;
-A85D;PHAGS-PA LETTER A;Lo;0;L;;;;;N;;;;;
-A85E;PHAGS-PA LETTER I;Lo;0;L;;;;;N;;;;;
-A85F;PHAGS-PA LETTER U;Lo;0;L;;;;;N;;;;;
-A860;PHAGS-PA LETTER E;Lo;0;L;;;;;N;;;;;
-A861;PHAGS-PA LETTER O;Lo;0;L;;;;;N;;;;;
-A862;PHAGS-PA LETTER QA;Lo;0;L;;;;;N;;;;;
-A863;PHAGS-PA LETTER XA;Lo;0;L;;;;;N;;;;;
-A864;PHAGS-PA LETTER FA;Lo;0;L;;;;;N;;;;;
-A865;PHAGS-PA LETTER GGA;Lo;0;L;;;;;N;;;;;
-A866;PHAGS-PA LETTER EE;Lo;0;L;;;;;N;;;;;
-A867;PHAGS-PA SUBJOINED LETTER WA;Lo;0;L;;;;;N;;;;;
-A868;PHAGS-PA SUBJOINED LETTER YA;Lo;0;L;;;;;N;;;;;
-A869;PHAGS-PA LETTER TTA;Lo;0;L;;;;;N;;;;;
-A86A;PHAGS-PA LETTER TTHA;Lo;0;L;;;;;N;;;;;
-A86B;PHAGS-PA LETTER DDA;Lo;0;L;;;;;N;;;;;
-A86C;PHAGS-PA LETTER NNA;Lo;0;L;;;;;N;;;;;
-A86D;PHAGS-PA LETTER ALTERNATE YA;Lo;0;L;;;;;N;;;;;
-A86E;PHAGS-PA LETTER VOICELESS SHA;Lo;0;L;;;;;N;;;;;
-A86F;PHAGS-PA LETTER VOICED HA;Lo;0;L;;;;;N;;;;;
-A870;PHAGS-PA LETTER ASPIRATED FA;Lo;0;L;;;;;N;;;;;
-A871;PHAGS-PA SUBJOINED LETTER RA;Lo;0;L;;;;;N;;;;;
-A872;PHAGS-PA SUPERFIXED LETTER RA;Lo;0;L;;;;;N;;;;;
-A873;PHAGS-PA LETTER CANDRABINDU;Lo;0;L;;;;;N;;;;;
-A874;PHAGS-PA SINGLE HEAD MARK;Po;0;ON;;;;;N;;;;;
-A875;PHAGS-PA DOUBLE HEAD MARK;Po;0;ON;;;;;N;;;;;
-A876;PHAGS-PA MARK SHAD;Po;0;ON;;;;;N;;;;;
-A877;PHAGS-PA MARK DOUBLE SHAD;Po;0;ON;;;;;N;;;;;
-A880;SAURASHTRA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
-A881;SAURASHTRA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-A882;SAURASHTRA LETTER A;Lo;0;L;;;;;N;;;;;
-A883;SAURASHTRA LETTER AA;Lo;0;L;;;;;N;;;;;
-A884;SAURASHTRA LETTER I;Lo;0;L;;;;;N;;;;;
-A885;SAURASHTRA LETTER II;Lo;0;L;;;;;N;;;;;
-A886;SAURASHTRA LETTER U;Lo;0;L;;;;;N;;;;;
-A887;SAURASHTRA LETTER UU;Lo;0;L;;;;;N;;;;;
-A888;SAURASHTRA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
-A889;SAURASHTRA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
-A88A;SAURASHTRA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
-A88B;SAURASHTRA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
-A88C;SAURASHTRA LETTER E;Lo;0;L;;;;;N;;;;;
-A88D;SAURASHTRA LETTER EE;Lo;0;L;;;;;N;;;;;
-A88E;SAURASHTRA LETTER AI;Lo;0;L;;;;;N;;;;;
-A88F;SAURASHTRA LETTER O;Lo;0;L;;;;;N;;;;;
-A890;SAURASHTRA LETTER OO;Lo;0;L;;;;;N;;;;;
-A891;SAURASHTRA LETTER AU;Lo;0;L;;;;;N;;;;;
-A892;SAURASHTRA LETTER KA;Lo;0;L;;;;;N;;;;;
-A893;SAURASHTRA LETTER KHA;Lo;0;L;;;;;N;;;;;
-A894;SAURASHTRA LETTER GA;Lo;0;L;;;;;N;;;;;
-A895;SAURASHTRA LETTER GHA;Lo;0;L;;;;;N;;;;;
-A896;SAURASHTRA LETTER NGA;Lo;0;L;;;;;N;;;;;
-A897;SAURASHTRA LETTER CA;Lo;0;L;;;;;N;;;;;
-A898;SAURASHTRA LETTER CHA;Lo;0;L;;;;;N;;;;;
-A899;SAURASHTRA LETTER JA;Lo;0;L;;;;;N;;;;;
-A89A;SAURASHTRA LETTER JHA;Lo;0;L;;;;;N;;;;;
-A89B;SAURASHTRA LETTER NYA;Lo;0;L;;;;;N;;;;;
-A89C;SAURASHTRA LETTER TTA;Lo;0;L;;;;;N;;;;;
-A89D;SAURASHTRA LETTER TTHA;Lo;0;L;;;;;N;;;;;
-A89E;SAURASHTRA LETTER DDA;Lo;0;L;;;;;N;;;;;
-A89F;SAURASHTRA LETTER DDHA;Lo;0;L;;;;;N;;;;;
-A8A0;SAURASHTRA LETTER NNA;Lo;0;L;;;;;N;;;;;
-A8A1;SAURASHTRA LETTER TA;Lo;0;L;;;;;N;;;;;
-A8A2;SAURASHTRA LETTER THA;Lo;0;L;;;;;N;;;;;
-A8A3;SAURASHTRA LETTER DA;Lo;0;L;;;;;N;;;;;
-A8A4;SAURASHTRA LETTER DHA;Lo;0;L;;;;;N;;;;;
-A8A5;SAURASHTRA LETTER NA;Lo;0;L;;;;;N;;;;;
-A8A6;SAURASHTRA LETTER PA;Lo;0;L;;;;;N;;;;;
-A8A7;SAURASHTRA LETTER PHA;Lo;0;L;;;;;N;;;;;
-A8A8;SAURASHTRA LETTER BA;Lo;0;L;;;;;N;;;;;
-A8A9;SAURASHTRA LETTER BHA;Lo;0;L;;;;;N;;;;;
-A8AA;SAURASHTRA LETTER MA;Lo;0;L;;;;;N;;;;;
-A8AB;SAURASHTRA LETTER YA;Lo;0;L;;;;;N;;;;;
-A8AC;SAURASHTRA LETTER RA;Lo;0;L;;;;;N;;;;;
-A8AD;SAURASHTRA LETTER LA;Lo;0;L;;;;;N;;;;;
-A8AE;SAURASHTRA LETTER VA;Lo;0;L;;;;;N;;;;;
-A8AF;SAURASHTRA LETTER SHA;Lo;0;L;;;;;N;;;;;
-A8B0;SAURASHTRA LETTER SSA;Lo;0;L;;;;;N;;;;;
-A8B1;SAURASHTRA LETTER SA;Lo;0;L;;;;;N;;;;;
-A8B2;SAURASHTRA LETTER HA;Lo;0;L;;;;;N;;;;;
-A8B3;SAURASHTRA LETTER LLA;Lo;0;L;;;;;N;;;;;
-A8B4;SAURASHTRA CONSONANT SIGN HAARU;Mc;0;L;;;;;N;;;;;
-A8B5;SAURASHTRA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-A8B6;SAURASHTRA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-A8B7;SAURASHTRA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-A8B8;SAURASHTRA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
-A8B9;SAURASHTRA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
-A8BA;SAURASHTRA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
-A8BB;SAURASHTRA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
-A8BC;SAURASHTRA VOWEL SIGN VOCALIC L;Mc;0;L;;;;;N;;;;;
-A8BD;SAURASHTRA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;;
-A8BE;SAURASHTRA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
-A8BF;SAURASHTRA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
-A8C0;SAURASHTRA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-A8C1;SAURASHTRA VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-A8C2;SAURASHTRA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
-A8C3;SAURASHTRA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
-A8C4;SAURASHTRA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-A8CE;SAURASHTRA DANDA;Po;0;L;;;;;N;;;;;
-A8CF;SAURASHTRA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
-A8D0;SAURASHTRA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-A8D1;SAURASHTRA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-A8D2;SAURASHTRA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-A8D3;SAURASHTRA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-A8D4;SAURASHTRA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-A8D5;SAURASHTRA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-A8D6;SAURASHTRA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-A8D7;SAURASHTRA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-A8D8;SAURASHTRA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-A8D9;SAURASHTRA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-A8E0;COMBINING DEVANAGARI DIGIT ZERO;Mn;230;NSM;;;;;N;;;;;
-A8E1;COMBINING DEVANAGARI DIGIT ONE;Mn;230;NSM;;;;;N;;;;;
-A8E2;COMBINING DEVANAGARI DIGIT TWO;Mn;230;NSM;;;;;N;;;;;
-A8E3;COMBINING DEVANAGARI DIGIT THREE;Mn;230;NSM;;;;;N;;;;;
-A8E4;COMBINING DEVANAGARI DIGIT FOUR;Mn;230;NSM;;;;;N;;;;;
-A8E5;COMBINING DEVANAGARI DIGIT FIVE;Mn;230;NSM;;;;;N;;;;;
-A8E6;COMBINING DEVANAGARI DIGIT SIX;Mn;230;NSM;;;;;N;;;;;
-A8E7;COMBINING DEVANAGARI DIGIT SEVEN;Mn;230;NSM;;;;;N;;;;;
-A8E8;COMBINING DEVANAGARI DIGIT EIGHT;Mn;230;NSM;;;;;N;;;;;
-A8E9;COMBINING DEVANAGARI DIGIT NINE;Mn;230;NSM;;;;;N;;;;;
-A8EA;COMBINING DEVANAGARI LETTER A;Mn;230;NSM;;;;;N;;;;;
-A8EB;COMBINING DEVANAGARI LETTER U;Mn;230;NSM;;;;;N;;;;;
-A8EC;COMBINING DEVANAGARI LETTER KA;Mn;230;NSM;;;;;N;;;;;
-A8ED;COMBINING DEVANAGARI LETTER NA;Mn;230;NSM;;;;;N;;;;;
-A8EE;COMBINING DEVANAGARI LETTER PA;Mn;230;NSM;;;;;N;;;;;
-A8EF;COMBINING DEVANAGARI LETTER RA;Mn;230;NSM;;;;;N;;;;;
-A8F0;COMBINING DEVANAGARI LETTER VI;Mn;230;NSM;;;;;N;;;;;
-A8F1;COMBINING DEVANAGARI SIGN AVAGRAHA;Mn;230;NSM;;;;;N;;;;;
-A8F2;DEVANAGARI SIGN SPACING CANDRABINDU;Lo;0;L;;;;;N;;;;;
-A8F3;DEVANAGARI SIGN CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;;
-A8F4;DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;;
-A8F5;DEVANAGARI SIGN CANDRABINDU TWO;Lo;0;L;;;;;N;;;;;
-A8F6;DEVANAGARI SIGN CANDRABINDU THREE;Lo;0;L;;;;;N;;;;;
-A8F7;DEVANAGARI SIGN CANDRABINDU AVAGRAHA;Lo;0;L;;;;;N;;;;;
-A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;;
-A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;;
-A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;;
-A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;;
-A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-A903;KAYAH LI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-A904;KAYAH LI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-A905;KAYAH LI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-A906;KAYAH LI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-A907;KAYAH LI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-A908;KAYAH LI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-A909;KAYAH LI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-A90A;KAYAH LI LETTER KA;Lo;0;L;;;;;N;;;;;
-A90B;KAYAH LI LETTER KHA;Lo;0;L;;;;;N;;;;;
-A90C;KAYAH LI LETTER GA;Lo;0;L;;;;;N;;;;;
-A90D;KAYAH LI LETTER NGA;Lo;0;L;;;;;N;;;;;
-A90E;KAYAH LI LETTER SA;Lo;0;L;;;;;N;;;;;
-A90F;KAYAH LI LETTER SHA;Lo;0;L;;;;;N;;;;;
-A910;KAYAH LI LETTER ZA;Lo;0;L;;;;;N;;;;;
-A911;KAYAH LI LETTER NYA;Lo;0;L;;;;;N;;;;;
-A912;KAYAH LI LETTER TA;Lo;0;L;;;;;N;;;;;
-A913;KAYAH LI LETTER HTA;Lo;0;L;;;;;N;;;;;
-A914;KAYAH LI LETTER NA;Lo;0;L;;;;;N;;;;;
-A915;KAYAH LI LETTER PA;Lo;0;L;;;;;N;;;;;
-A916;KAYAH LI LETTER PHA;Lo;0;L;;;;;N;;;;;
-A917;KAYAH LI LETTER MA;Lo;0;L;;;;;N;;;;;
-A918;KAYAH LI LETTER DA;Lo;0;L;;;;;N;;;;;
-A919;KAYAH LI LETTER BA;Lo;0;L;;;;;N;;;;;
-A91A;KAYAH LI LETTER RA;Lo;0;L;;;;;N;;;;;
-A91B;KAYAH LI LETTER YA;Lo;0;L;;;;;N;;;;;
-A91C;KAYAH LI LETTER LA;Lo;0;L;;;;;N;;;;;
-A91D;KAYAH LI LETTER WA;Lo;0;L;;;;;N;;;;;
-A91E;KAYAH LI LETTER THA;Lo;0;L;;;;;N;;;;;
-A91F;KAYAH LI LETTER HA;Lo;0;L;;;;;N;;;;;
-A920;KAYAH LI LETTER VA;Lo;0;L;;;;;N;;;;;
-A921;KAYAH LI LETTER CA;Lo;0;L;;;;;N;;;;;
-A922;KAYAH LI LETTER A;Lo;0;L;;;;;N;;;;;
-A923;KAYAH LI LETTER OE;Lo;0;L;;;;;N;;;;;
-A924;KAYAH LI LETTER I;Lo;0;L;;;;;N;;;;;
-A925;KAYAH LI LETTER OO;Lo;0;L;;;;;N;;;;;
-A926;KAYAH LI VOWEL UE;Mn;0;NSM;;;;;N;;;;;
-A927;KAYAH LI VOWEL E;Mn;0;NSM;;;;;N;;;;;
-A928;KAYAH LI VOWEL U;Mn;0;NSM;;;;;N;;;;;
-A929;KAYAH LI VOWEL EE;Mn;0;NSM;;;;;N;;;;;
-A92A;KAYAH LI VOWEL O;Mn;0;NSM;;;;;N;;;;;
-A92B;KAYAH LI TONE PLOPHU;Mn;220;NSM;;;;;N;;;;;
-A92C;KAYAH LI TONE CALYA;Mn;220;NSM;;;;;N;;;;;
-A92D;KAYAH LI TONE CALYA PLOPHU;Mn;220;NSM;;;;;N;;;;;
-A92E;KAYAH LI SIGN CWI;Po;0;L;;;;;N;;;;;
-A92F;KAYAH LI SIGN SHYA;Po;0;L;;;;;N;;;;;
-A930;REJANG LETTER KA;Lo;0;L;;;;;N;;;;;
-A931;REJANG LETTER GA;Lo;0;L;;;;;N;;;;;
-A932;REJANG LETTER NGA;Lo;0;L;;;;;N;;;;;
-A933;REJANG LETTER TA;Lo;0;L;;;;;N;;;;;
-A934;REJANG LETTER DA;Lo;0;L;;;;;N;;;;;
-A935;REJANG LETTER NA;Lo;0;L;;;;;N;;;;;
-A936;REJANG LETTER PA;Lo;0;L;;;;;N;;;;;
-A937;REJANG LETTER BA;Lo;0;L;;;;;N;;;;;
-A938;REJANG LETTER MA;Lo;0;L;;;;;N;;;;;
-A939;REJANG LETTER CA;Lo;0;L;;;;;N;;;;;
-A93A;REJANG LETTER JA;Lo;0;L;;;;;N;;;;;
-A93B;REJANG LETTER NYA;Lo;0;L;;;;;N;;;;;
-A93C;REJANG LETTER SA;Lo;0;L;;;;;N;;;;;
-A93D;REJANG LETTER RA;Lo;0;L;;;;;N;;;;;
-A93E;REJANG LETTER LA;Lo;0;L;;;;;N;;;;;
-A93F;REJANG LETTER YA;Lo;0;L;;;;;N;;;;;
-A940;REJANG LETTER WA;Lo;0;L;;;;;N;;;;;
-A941;REJANG LETTER HA;Lo;0;L;;;;;N;;;;;
-A942;REJANG LETTER MBA;Lo;0;L;;;;;N;;;;;
-A943;REJANG LETTER NGGA;Lo;0;L;;;;;N;;;;;
-A944;REJANG LETTER NDA;Lo;0;L;;;;;N;;;;;
-A945;REJANG LETTER NYJA;Lo;0;L;;;;;N;;;;;
-A946;REJANG LETTER A;Lo;0;L;;;;;N;;;;;
-A947;REJANG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-A948;REJANG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-A949;REJANG VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-A94A;REJANG VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
-A94B;REJANG VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
-A94C;REJANG VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
-A94D;REJANG VOWEL SIGN EU;Mn;0;NSM;;;;;N;;;;;
-A94E;REJANG VOWEL SIGN EA;Mn;0;NSM;;;;;N;;;;;
-A94F;REJANG CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;;
-A950;REJANG CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;;
-A951;REJANG CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;;
-A952;REJANG CONSONANT SIGN H;Mc;0;L;;;;;N;;;;;
-A953;REJANG VIRAMA;Mc;9;L;;;;;N;;;;;
-A95F;REJANG SECTION MARK;Po;0;L;;;;;N;;;;;
-A960;HANGUL CHOSEONG TIKEUT-MIEUM;Lo;0;L;;;;;N;;;;;
-A961;HANGUL CHOSEONG TIKEUT-PIEUP;Lo;0;L;;;;;N;;;;;
-A962;HANGUL CHOSEONG TIKEUT-SIOS;Lo;0;L;;;;;N;;;;;
-A963;HANGUL CHOSEONG TIKEUT-CIEUC;Lo;0;L;;;;;N;;;;;
-A964;HANGUL CHOSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;;;;
-A965;HANGUL CHOSEONG RIEUL-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
-A966;HANGUL CHOSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;;
-A967;HANGUL CHOSEONG RIEUL-SSANGTIKEUT;Lo;0;L;;;;;N;;;;;
-A968;HANGUL CHOSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;;;;
-A969;HANGUL CHOSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;;;;
-A96A;HANGUL CHOSEONG RIEUL-SSANGPIEUP;Lo;0;L;;;;;N;;;;;
-A96B;HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
-A96C;HANGUL CHOSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;;;;
-A96D;HANGUL CHOSEONG RIEUL-CIEUC;Lo;0;L;;;;;N;;;;;
-A96E;HANGUL CHOSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
-A96F;HANGUL CHOSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
-A970;HANGUL CHOSEONG MIEUM-TIKEUT;Lo;0;L;;;;;N;;;;;
-A971;HANGUL CHOSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
-A972;HANGUL CHOSEONG PIEUP-SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
-A973;HANGUL CHOSEONG PIEUP-KHIEUKH;Lo;0;L;;;;;N;;;;;
-A974;HANGUL CHOSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
-A975;HANGUL CHOSEONG SSANGSIOS-PIEUP;Lo;0;L;;;;;N;;;;;
-A976;HANGUL CHOSEONG IEUNG-RIEUL;Lo;0;L;;;;;N;;;;;
-A977;HANGUL CHOSEONG IEUNG-HIEUH;Lo;0;L;;;;;N;;;;;
-A978;HANGUL CHOSEONG SSANGCIEUC-HIEUH;Lo;0;L;;;;;N;;;;;
-A979;HANGUL CHOSEONG SSANGTHIEUTH;Lo;0;L;;;;;N;;;;;
-A97A;HANGUL CHOSEONG PHIEUPH-HIEUH;Lo;0;L;;;;;N;;;;;
-A97B;HANGUL CHOSEONG HIEUH-SIOS;Lo;0;L;;;;;N;;;;;
-A97C;HANGUL CHOSEONG SSANGYEORINHIEUH;Lo;0;L;;;;;N;;;;;
-A980;JAVANESE SIGN PANYANGGA;Mn;0;NSM;;;;;N;;;;;
-A981;JAVANESE SIGN CECAK;Mn;0;NSM;;;;;N;;;;;
-A982;JAVANESE SIGN LAYAR;Mn;0;NSM;;;;;N;;;;;
-A983;JAVANESE SIGN WIGNYAN;Mc;0;L;;;;;N;;;;;
-A984;JAVANESE LETTER A;Lo;0;L;;;;;N;;;;;
-A985;JAVANESE LETTER I KAWI;Lo;0;L;;;;;N;;;;;
-A986;JAVANESE LETTER I;Lo;0;L;;;;;N;;;;;
-A987;JAVANESE LETTER II;Lo;0;L;;;;;N;;;;;
-A988;JAVANESE LETTER U;Lo;0;L;;;;;N;;;;;
-A989;JAVANESE LETTER PA CEREK;Lo;0;L;;;;;N;;;;;
-A98A;JAVANESE LETTER NGA LELET;Lo;0;L;;;;;N;;;;;
-A98B;JAVANESE LETTER NGA LELET RASWADI;Lo;0;L;;;;;N;;;;;
-A98C;JAVANESE LETTER E;Lo;0;L;;;;;N;;;;;
-A98D;JAVANESE LETTER AI;Lo;0;L;;;;;N;;;;;
-A98E;JAVANESE LETTER O;Lo;0;L;;;;;N;;;;;
-A98F;JAVANESE LETTER KA;Lo;0;L;;;;;N;;;;;
-A990;JAVANESE LETTER KA SASAK;Lo;0;L;;;;;N;;;;;
-A991;JAVANESE LETTER KA MURDA;Lo;0;L;;;;;N;;;;;
-A992;JAVANESE LETTER GA;Lo;0;L;;;;;N;;;;;
-A993;JAVANESE LETTER GA MURDA;Lo;0;L;;;;;N;;;;;
-A994;JAVANESE LETTER NGA;Lo;0;L;;;;;N;;;;;
-A995;JAVANESE LETTER CA;Lo;0;L;;;;;N;;;;;
-A996;JAVANESE LETTER CA MURDA;Lo;0;L;;;;;N;;;;;
-A997;JAVANESE LETTER JA;Lo;0;L;;;;;N;;;;;
-A998;JAVANESE LETTER NYA MURDA;Lo;0;L;;;;;N;;;;;
-A999;JAVANESE LETTER JA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-A99A;JAVANESE LETTER NYA;Lo;0;L;;;;;N;;;;;
-A99B;JAVANESE LETTER TTA;Lo;0;L;;;;;N;;;;;
-A99C;JAVANESE LETTER TTA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-A99D;JAVANESE LETTER DDA;Lo;0;L;;;;;N;;;;;
-A99E;JAVANESE LETTER DDA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-A99F;JAVANESE LETTER NA MURDA;Lo;0;L;;;;;N;;;;;
-A9A0;JAVANESE LETTER TA;Lo;0;L;;;;;N;;;;;
-A9A1;JAVANESE LETTER TA MURDA;Lo;0;L;;;;;N;;;;;
-A9A2;JAVANESE LETTER DA;Lo;0;L;;;;;N;;;;;
-A9A3;JAVANESE LETTER DA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-A9A4;JAVANESE LETTER NA;Lo;0;L;;;;;N;;;;;
-A9A5;JAVANESE LETTER PA;Lo;0;L;;;;;N;;;;;
-A9A6;JAVANESE LETTER PA MURDA;Lo;0;L;;;;;N;;;;;
-A9A7;JAVANESE LETTER BA;Lo;0;L;;;;;N;;;;;
-A9A8;JAVANESE LETTER BA MURDA;Lo;0;L;;;;;N;;;;;
-A9A9;JAVANESE LETTER MA;Lo;0;L;;;;;N;;;;;
-A9AA;JAVANESE LETTER YA;Lo;0;L;;;;;N;;;;;
-A9AB;JAVANESE LETTER RA;Lo;0;L;;;;;N;;;;;
-A9AC;JAVANESE LETTER RA AGUNG;Lo;0;L;;;;;N;;;;;
-A9AD;JAVANESE LETTER LA;Lo;0;L;;;;;N;;;;;
-A9AE;JAVANESE LETTER WA;Lo;0;L;;;;;N;;;;;
-A9AF;JAVANESE LETTER SA MURDA;Lo;0;L;;;;;N;;;;;
-A9B0;JAVANESE LETTER SA MAHAPRANA;Lo;0;L;;;;;N;;;;;
-A9B1;JAVANESE LETTER SA;Lo;0;L;;;;;N;;;;;
-A9B2;JAVANESE LETTER HA;Lo;0;L;;;;;N;;;;;
-A9B3;JAVANESE SIGN CECAK TELU;Mn;7;NSM;;;;;N;;;;;
-A9B4;JAVANESE VOWEL SIGN TARUNG;Mc;0;L;;;;;N;;;;;
-A9B5;JAVANESE VOWEL SIGN TOLONG;Mc;0;L;;;;;N;;;;;
-A9B6;JAVANESE VOWEL SIGN WULU;Mn;0;NSM;;;;;N;;;;;
-A9B7;JAVANESE VOWEL SIGN WULU MELIK;Mn;0;NSM;;;;;N;;;;;
-A9B8;JAVANESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;;;;
-A9B9;JAVANESE VOWEL SIGN SUKU MENDUT;Mn;0;NSM;;;;;N;;;;;
-A9BA;JAVANESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;;
-A9BB;JAVANESE VOWEL SIGN DIRGA MURE;Mc;0;L;;;;;N;;;;;
-A9BC;JAVANESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;;
-A9BD;JAVANESE CONSONANT SIGN KERET;Mc;0;L;;;;;N;;;;;
-A9BE;JAVANESE CONSONANT SIGN PENGKAL;Mc;0;L;;;;;N;;;;;
-A9BF;JAVANESE CONSONANT SIGN CAKRA;Mc;0;L;;;;;N;;;;;
-A9C0;JAVANESE PANGKON;Mc;9;L;;;;;N;;;;;
-A9C1;JAVANESE LEFT RERENGGAN;Po;0;L;;;;;N;;;;;
-A9C2;JAVANESE RIGHT RERENGGAN;Po;0;L;;;;;N;;;;;
-A9C3;JAVANESE PADA ANDAP;Po;0;L;;;;;N;;;;;
-A9C4;JAVANESE PADA MADYA;Po;0;L;;;;;N;;;;;
-A9C5;JAVANESE PADA LUHUR;Po;0;L;;;;;N;;;;;
-A9C6;JAVANESE PADA WINDU;Po;0;L;;;;;N;;;;;
-A9C7;JAVANESE PADA PANGKAT;Po;0;L;;;;;N;;;;;
-A9C8;JAVANESE PADA LINGSA;Po;0;L;;;;;N;;;;;
-A9C9;JAVANESE PADA LUNGSI;Po;0;L;;;;;N;;;;;
-A9CA;JAVANESE PADA ADEG;Po;0;L;;;;;N;;;;;
-A9CB;JAVANESE PADA ADEG ADEG;Po;0;L;;;;;N;;;;;
-A9CC;JAVANESE PADA PISELEH;Po;0;L;;;;;N;;;;;
-A9CD;JAVANESE TURNED PADA PISELEH;Po;0;L;;;;;N;;;;;
-A9CF;JAVANESE PANGRANGKEP;Lm;0;L;;;;;N;;;;;
-A9D0;JAVANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-A9D1;JAVANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-A9D2;JAVANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-A9D3;JAVANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-A9D4;JAVANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-A9D5;JAVANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-A9D6;JAVANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-A9D7;JAVANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-A9D8;JAVANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-A9D9;JAVANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-A9DE;JAVANESE PADA TIRTA TUMETES;Po;0;L;;;;;N;;;;;
-A9DF;JAVANESE PADA ISEN-ISEN;Po;0;L;;;;;N;;;;;
-AA00;CHAM LETTER A;Lo;0;L;;;;;N;;;;;
-AA01;CHAM LETTER I;Lo;0;L;;;;;N;;;;;
-AA02;CHAM LETTER U;Lo;0;L;;;;;N;;;;;
-AA03;CHAM LETTER E;Lo;0;L;;;;;N;;;;;
-AA04;CHAM LETTER AI;Lo;0;L;;;;;N;;;;;
-AA05;CHAM LETTER O;Lo;0;L;;;;;N;;;;;
-AA06;CHAM LETTER KA;Lo;0;L;;;;;N;;;;;
-AA07;CHAM LETTER KHA;Lo;0;L;;;;;N;;;;;
-AA08;CHAM LETTER GA;Lo;0;L;;;;;N;;;;;
-AA09;CHAM LETTER GHA;Lo;0;L;;;;;N;;;;;
-AA0A;CHAM LETTER NGUE;Lo;0;L;;;;;N;;;;;
-AA0B;CHAM LETTER NGA;Lo;0;L;;;;;N;;;;;
-AA0C;CHAM LETTER CHA;Lo;0;L;;;;;N;;;;;
-AA0D;CHAM LETTER CHHA;Lo;0;L;;;;;N;;;;;
-AA0E;CHAM LETTER JA;Lo;0;L;;;;;N;;;;;
-AA0F;CHAM LETTER JHA;Lo;0;L;;;;;N;;;;;
-AA10;CHAM LETTER NHUE;Lo;0;L;;;;;N;;;;;
-AA11;CHAM LETTER NHA;Lo;0;L;;;;;N;;;;;
-AA12;CHAM LETTER NHJA;Lo;0;L;;;;;N;;;;;
-AA13;CHAM LETTER TA;Lo;0;L;;;;;N;;;;;
-AA14;CHAM LETTER THA;Lo;0;L;;;;;N;;;;;
-AA15;CHAM LETTER DA;Lo;0;L;;;;;N;;;;;
-AA16;CHAM LETTER DHA;Lo;0;L;;;;;N;;;;;
-AA17;CHAM LETTER NUE;Lo;0;L;;;;;N;;;;;
-AA18;CHAM LETTER NA;Lo;0;L;;;;;N;;;;;
-AA19;CHAM LETTER DDA;Lo;0;L;;;;;N;;;;;
-AA1A;CHAM LETTER PA;Lo;0;L;;;;;N;;;;;
-AA1B;CHAM LETTER PPA;Lo;0;L;;;;;N;;;;;
-AA1C;CHAM LETTER PHA;Lo;0;L;;;;;N;;;;;
-AA1D;CHAM LETTER BA;Lo;0;L;;;;;N;;;;;
-AA1E;CHAM LETTER BHA;Lo;0;L;;;;;N;;;;;
-AA1F;CHAM LETTER MUE;Lo;0;L;;;;;N;;;;;
-AA20;CHAM LETTER MA;Lo;0;L;;;;;N;;;;;
-AA21;CHAM LETTER BBA;Lo;0;L;;;;;N;;;;;
-AA22;CHAM LETTER YA;Lo;0;L;;;;;N;;;;;
-AA23;CHAM LETTER RA;Lo;0;L;;;;;N;;;;;
-AA24;CHAM LETTER LA;Lo;0;L;;;;;N;;;;;
-AA25;CHAM LETTER VA;Lo;0;L;;;;;N;;;;;
-AA26;CHAM LETTER SSA;Lo;0;L;;;;;N;;;;;
-AA27;CHAM LETTER SA;Lo;0;L;;;;;N;;;;;
-AA28;CHAM LETTER HA;Lo;0;L;;;;;N;;;;;
-AA29;CHAM VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
-AA2A;CHAM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-AA2B;CHAM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
-AA2C;CHAM VOWEL SIGN EI;Mn;0;NSM;;;;;N;;;;;
-AA2D;CHAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-AA2E;CHAM VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;;
-AA2F;CHAM VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-AA30;CHAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-AA31;CHAM VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
-AA32;CHAM VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
-AA33;CHAM CONSONANT SIGN YA;Mc;0;L;;;;;N;;;;;
-AA34;CHAM CONSONANT SIGN RA;Mc;0;L;;;;;N;;;;;
-AA35;CHAM CONSONANT SIGN LA;Mn;0;NSM;;;;;N;;;;;
-AA36;CHAM CONSONANT SIGN WA;Mn;0;NSM;;;;;N;;;;;
-AA40;CHAM LETTER FINAL K;Lo;0;L;;;;;N;;;;;
-AA41;CHAM LETTER FINAL G;Lo;0;L;;;;;N;;;;;
-AA42;CHAM LETTER FINAL NG;Lo;0;L;;;;;N;;;;;
-AA43;CHAM CONSONANT SIGN FINAL NG;Mn;0;NSM;;;;;N;;;;;
-AA44;CHAM LETTER FINAL CH;Lo;0;L;;;;;N;;;;;
-AA45;CHAM LETTER FINAL T;Lo;0;L;;;;;N;;;;;
-AA46;CHAM LETTER FINAL N;Lo;0;L;;;;;N;;;;;
-AA47;CHAM LETTER FINAL P;Lo;0;L;;;;;N;;;;;
-AA48;CHAM LETTER FINAL Y;Lo;0;L;;;;;N;;;;;
-AA49;CHAM LETTER FINAL R;Lo;0;L;;;;;N;;;;;
-AA4A;CHAM LETTER FINAL L;Lo;0;L;;;;;N;;;;;
-AA4B;CHAM LETTER FINAL SS;Lo;0;L;;;;;N;;;;;
-AA4C;CHAM CONSONANT SIGN FINAL M;Mn;0;NSM;;;;;N;;;;;
-AA4D;CHAM CONSONANT SIGN FINAL H;Mc;0;L;;;;;N;;;;;
-AA50;CHAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-AA51;CHAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-AA52;CHAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-AA53;CHAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-AA54;CHAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-AA55;CHAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-AA56;CHAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-AA57;CHAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-AA58;CHAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-AA59;CHAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-AA5C;CHAM PUNCTUATION SPIRAL;Po;0;L;;;;;N;;;;;
-AA5D;CHAM PUNCTUATION DANDA;Po;0;L;;;;;N;;;;;
-AA5E;CHAM PUNCTUATION DOUBLE DANDA;Po;0;L;;;;;N;;;;;
-AA5F;CHAM PUNCTUATION TRIPLE DANDA;Po;0;L;;;;;N;;;;;
-AA60;MYANMAR LETTER KHAMTI GA;Lo;0;L;;;;;N;;;;;
-AA61;MYANMAR LETTER KHAMTI CA;Lo;0;L;;;;;N;;;;;
-AA62;MYANMAR LETTER KHAMTI CHA;Lo;0;L;;;;;N;;;;;
-AA63;MYANMAR LETTER KHAMTI JA;Lo;0;L;;;;;N;;;;;
-AA64;MYANMAR LETTER KHAMTI JHA;Lo;0;L;;;;;N;;;;;
-AA65;MYANMAR LETTER KHAMTI NYA;Lo;0;L;;;;;N;;;;;
-AA66;MYANMAR LETTER KHAMTI TTA;Lo;0;L;;;;;N;;;;;
-AA67;MYANMAR LETTER KHAMTI TTHA;Lo;0;L;;;;;N;;;;;
-AA68;MYANMAR LETTER KHAMTI DDA;Lo;0;L;;;;;N;;;;;
-AA69;MYANMAR LETTER KHAMTI DDHA;Lo;0;L;;;;;N;;;;;
-AA6A;MYANMAR LETTER KHAMTI DHA;Lo;0;L;;;;;N;;;;;
-AA6B;MYANMAR LETTER KHAMTI NA;Lo;0;L;;;;;N;;;;;
-AA6C;MYANMAR LETTER KHAMTI SA;Lo;0;L;;;;;N;;;;;
-AA6D;MYANMAR LETTER KHAMTI HA;Lo;0;L;;;;;N;;;;;
-AA6E;MYANMAR LETTER KHAMTI HHA;Lo;0;L;;;;;N;;;;;
-AA6F;MYANMAR LETTER KHAMTI FA;Lo;0;L;;;;;N;;;;;
-AA70;MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION;Lm;0;L;;;;;N;;;;;
-AA71;MYANMAR LETTER KHAMTI XA;Lo;0;L;;;;;N;;;;;
-AA72;MYANMAR LETTER KHAMTI ZA;Lo;0;L;;;;;N;;;;;
-AA73;MYANMAR LETTER KHAMTI RA;Lo;0;L;;;;;N;;;;;
-AA74;MYANMAR LOGOGRAM KHAMTI OAY;Lo;0;L;;;;;N;;;;;
-AA75;MYANMAR LOGOGRAM KHAMTI QN;Lo;0;L;;;;;N;;;;;
-AA76;MYANMAR LOGOGRAM KHAMTI HM;Lo;0;L;;;;;N;;;;;
-AA77;MYANMAR SYMBOL AITON EXCLAMATION;So;0;L;;;;;N;;;;;
-AA78;MYANMAR SYMBOL AITON ONE;So;0;L;;;;;N;;;;;
-AA79;MYANMAR SYMBOL AITON TWO;So;0;L;;;;;N;;;;;
-AA7A;MYANMAR LETTER AITON RA;Lo;0;L;;;;;N;;;;;
-AA7B;MYANMAR SIGN PAO KAREN TONE;Mc;0;L;;;;;N;;;;;
-AA80;TAI VIET LETTER LOW KO;Lo;0;L;;;;;N;;;;;
-AA81;TAI VIET LETTER HIGH KO;Lo;0;L;;;;;N;;;;;
-AA82;TAI VIET LETTER LOW KHO;Lo;0;L;;;;;N;;;;;
-AA83;TAI VIET LETTER HIGH KHO;Lo;0;L;;;;;N;;;;;
-AA84;TAI VIET LETTER LOW KHHO;Lo;0;L;;;;;N;;;;;
-AA85;TAI VIET LETTER HIGH KHHO;Lo;0;L;;;;;N;;;;;
-AA86;TAI VIET LETTER LOW GO;Lo;0;L;;;;;N;;;;;
-AA87;TAI VIET LETTER HIGH GO;Lo;0;L;;;;;N;;;;;
-AA88;TAI VIET LETTER LOW NGO;Lo;0;L;;;;;N;;;;;
-AA89;TAI VIET LETTER HIGH NGO;Lo;0;L;;;;;N;;;;;
-AA8A;TAI VIET LETTER LOW CO;Lo;0;L;;;;;N;;;;;
-AA8B;TAI VIET LETTER HIGH CO;Lo;0;L;;;;;N;;;;;
-AA8C;TAI VIET LETTER LOW CHO;Lo;0;L;;;;;N;;;;;
-AA8D;TAI VIET LETTER HIGH CHO;Lo;0;L;;;;;N;;;;;
-AA8E;TAI VIET LETTER LOW SO;Lo;0;L;;;;;N;;;;;
-AA8F;TAI VIET LETTER HIGH SO;Lo;0;L;;;;;N;;;;;
-AA90;TAI VIET LETTER LOW NYO;Lo;0;L;;;;;N;;;;;
-AA91;TAI VIET LETTER HIGH NYO;Lo;0;L;;;;;N;;;;;
-AA92;TAI VIET LETTER LOW DO;Lo;0;L;;;;;N;;;;;
-AA93;TAI VIET LETTER HIGH DO;Lo;0;L;;;;;N;;;;;
-AA94;TAI VIET LETTER LOW TO;Lo;0;L;;;;;N;;;;;
-AA95;TAI VIET LETTER HIGH TO;Lo;0;L;;;;;N;;;;;
-AA96;TAI VIET LETTER LOW THO;Lo;0;L;;;;;N;;;;;
-AA97;TAI VIET LETTER HIGH THO;Lo;0;L;;;;;N;;;;;
-AA98;TAI VIET LETTER LOW NO;Lo;0;L;;;;;N;;;;;
-AA99;TAI VIET LETTER HIGH NO;Lo;0;L;;;;;N;;;;;
-AA9A;TAI VIET LETTER LOW BO;Lo;0;L;;;;;N;;;;;
-AA9B;TAI VIET LETTER HIGH BO;Lo;0;L;;;;;N;;;;;
-AA9C;TAI VIET LETTER LOW PO;Lo;0;L;;;;;N;;;;;
-AA9D;TAI VIET LETTER HIGH PO;Lo;0;L;;;;;N;;;;;
-AA9E;TAI VIET LETTER LOW PHO;Lo;0;L;;;;;N;;;;;
-AA9F;TAI VIET LETTER HIGH PHO;Lo;0;L;;;;;N;;;;;
-AAA0;TAI VIET LETTER LOW FO;Lo;0;L;;;;;N;;;;;
-AAA1;TAI VIET LETTER HIGH FO;Lo;0;L;;;;;N;;;;;
-AAA2;TAI VIET LETTER LOW MO;Lo;0;L;;;;;N;;;;;
-AAA3;TAI VIET LETTER HIGH MO;Lo;0;L;;;;;N;;;;;
-AAA4;TAI VIET LETTER LOW YO;Lo;0;L;;;;;N;;;;;
-AAA5;TAI VIET LETTER HIGH YO;Lo;0;L;;;;;N;;;;;
-AAA6;TAI VIET LETTER LOW RO;Lo;0;L;;;;;N;;;;;
-AAA7;TAI VIET LETTER HIGH RO;Lo;0;L;;;;;N;;;;;
-AAA8;TAI VIET LETTER LOW LO;Lo;0;L;;;;;N;;;;;
-AAA9;TAI VIET LETTER HIGH LO;Lo;0;L;;;;;N;;;;;
-AAAA;TAI VIET LETTER LOW VO;Lo;0;L;;;;;N;;;;;
-AAAB;TAI VIET LETTER HIGH VO;Lo;0;L;;;;;N;;;;;
-AAAC;TAI VIET LETTER LOW HO;Lo;0;L;;;;;N;;;;;
-AAAD;TAI VIET LETTER HIGH HO;Lo;0;L;;;;;N;;;;;
-AAAE;TAI VIET LETTER LOW O;Lo;0;L;;;;;N;;;;;
-AAAF;TAI VIET LETTER HIGH O;Lo;0;L;;;;;N;;;;;
-AAB0;TAI VIET MAI KANG;Mn;230;NSM;;;;;N;;;;;
-AAB1;TAI VIET VOWEL AA;Lo;0;L;;;;;N;;;;;
-AAB2;TAI VIET VOWEL I;Mn;230;NSM;;;;;N;;;;;
-AAB3;TAI VIET VOWEL UE;Mn;230;NSM;;;;;N;;;;;
-AAB4;TAI VIET VOWEL U;Mn;220;NSM;;;;;N;;;;;
-AAB5;TAI VIET VOWEL E;Lo;0;L;;;;;N;;;;;
-AAB6;TAI VIET VOWEL O;Lo;0;L;;;;;N;;;;;
-AAB7;TAI VIET MAI KHIT;Mn;230;NSM;;;;;N;;;;;
-AAB8;TAI VIET VOWEL IA;Mn;230;NSM;;;;;N;;;;;
-AAB9;TAI VIET VOWEL UEA;Lo;0;L;;;;;N;;;;;
-AABA;TAI VIET VOWEL UA;Lo;0;L;;;;;N;;;;;
-AABB;TAI VIET VOWEL AUE;Lo;0;L;;;;;N;;;;;
-AABC;TAI VIET VOWEL AY;Lo;0;L;;;;;N;;;;;
-AABD;TAI VIET VOWEL AN;Lo;0;L;;;;;N;;;;;
-AABE;TAI VIET VOWEL AM;Mn;230;NSM;;;;;N;;;;;
-AABF;TAI VIET TONE MAI EK;Mn;230;NSM;;;;;N;;;;;
-AAC0;TAI VIET TONE MAI NUENG;Lo;0;L;;;;;N;;;;;
-AAC1;TAI VIET TONE MAI THO;Mn;230;NSM;;;;;N;;;;;
-AAC2;TAI VIET TONE MAI SONG;Lo;0;L;;;;;N;;;;;
-AADB;TAI VIET SYMBOL KON;Lo;0;L;;;;;N;;;;;
-AADC;TAI VIET SYMBOL NUENG;Lo;0;L;;;;;N;;;;;
-AADD;TAI VIET SYMBOL SAM;Lm;0;L;;;;;N;;;;;
-AADE;TAI VIET SYMBOL HO HOI;Po;0;L;;;;;N;;;;;
-AADF;TAI VIET SYMBOL KOI KOI;Po;0;L;;;;;N;;;;;
-ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;;
-ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;;
-ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;;
-ABC3;MEETEI MAYEK LETTER MIT;Lo;0;L;;;;;N;;;;;
-ABC4;MEETEI MAYEK LETTER PA;Lo;0;L;;;;;N;;;;;
-ABC5;MEETEI MAYEK LETTER NA;Lo;0;L;;;;;N;;;;;
-ABC6;MEETEI MAYEK LETTER CHIL;Lo;0;L;;;;;N;;;;;
-ABC7;MEETEI MAYEK LETTER TIL;Lo;0;L;;;;;N;;;;;
-ABC8;MEETEI MAYEK LETTER KHOU;Lo;0;L;;;;;N;;;;;
-ABC9;MEETEI MAYEK LETTER NGOU;Lo;0;L;;;;;N;;;;;
-ABCA;MEETEI MAYEK LETTER THOU;Lo;0;L;;;;;N;;;;;
-ABCB;MEETEI MAYEK LETTER WAI;Lo;0;L;;;;;N;;;;;
-ABCC;MEETEI MAYEK LETTER YANG;Lo;0;L;;;;;N;;;;;
-ABCD;MEETEI MAYEK LETTER HUK;Lo;0;L;;;;;N;;;;;
-ABCE;MEETEI MAYEK LETTER UN;Lo;0;L;;;;;N;;;;;
-ABCF;MEETEI MAYEK LETTER I;Lo;0;L;;;;;N;;;;;
-ABD0;MEETEI MAYEK LETTER PHAM;Lo;0;L;;;;;N;;;;;
-ABD1;MEETEI MAYEK LETTER ATIYA;Lo;0;L;;;;;N;;;;;
-ABD2;MEETEI MAYEK LETTER GOK;Lo;0;L;;;;;N;;;;;
-ABD3;MEETEI MAYEK LETTER JHAM;Lo;0;L;;;;;N;;;;;
-ABD4;MEETEI MAYEK LETTER RAI;Lo;0;L;;;;;N;;;;;
-ABD5;MEETEI MAYEK LETTER BA;Lo;0;L;;;;;N;;;;;
-ABD6;MEETEI MAYEK LETTER JIL;Lo;0;L;;;;;N;;;;;
-ABD7;MEETEI MAYEK LETTER DIL;Lo;0;L;;;;;N;;;;;
-ABD8;MEETEI MAYEK LETTER GHOU;Lo;0;L;;;;;N;;;;;
-ABD9;MEETEI MAYEK LETTER DHOU;Lo;0;L;;;;;N;;;;;
-ABDA;MEETEI MAYEK LETTER BHAM;Lo;0;L;;;;;N;;;;;
-ABDB;MEETEI MAYEK LETTER KOK LONSUM;Lo;0;L;;;;;N;;;;;
-ABDC;MEETEI MAYEK LETTER LAI LONSUM;Lo;0;L;;;;;N;;;;;
-ABDD;MEETEI MAYEK LETTER MIT LONSUM;Lo;0;L;;;;;N;;;;;
-ABDE;MEETEI MAYEK LETTER PA LONSUM;Lo;0;L;;;;;N;;;;;
-ABDF;MEETEI MAYEK LETTER NA LONSUM;Lo;0;L;;;;;N;;;;;
-ABE0;MEETEI MAYEK LETTER TIL LONSUM;Lo;0;L;;;;;N;;;;;
-ABE1;MEETEI MAYEK LETTER NGOU LONSUM;Lo;0;L;;;;;N;;;;;
-ABE2;MEETEI MAYEK LETTER I LONSUM;Lo;0;L;;;;;N;;;;;
-ABE3;MEETEI MAYEK VOWEL SIGN ONAP;Mc;0;L;;;;;N;;;;;
-ABE4;MEETEI MAYEK VOWEL SIGN INAP;Mc;0;L;;;;;N;;;;;
-ABE5;MEETEI MAYEK VOWEL SIGN ANAP;Mn;0;NSM;;;;;N;;;;;
-ABE6;MEETEI MAYEK VOWEL SIGN YENAP;Mc;0;L;;;;;N;;;;;
-ABE7;MEETEI MAYEK VOWEL SIGN SOUNAP;Mc;0;L;;;;;N;;;;;
-ABE8;MEETEI MAYEK VOWEL SIGN UNAP;Mn;0;NSM;;;;;N;;;;;
-ABE9;MEETEI MAYEK VOWEL SIGN CHEINAP;Mc;0;L;;;;;N;;;;;
-ABEA;MEETEI MAYEK VOWEL SIGN NUNG;Mc;0;L;;;;;N;;;;;
-ABEB;MEETEI MAYEK CHEIKHEI;Po;0;L;;;;;N;;;;;
-ABEC;MEETEI MAYEK LUM IYEK;Mc;0;L;;;;;N;;;;;
-ABED;MEETEI MAYEK APUN IYEK;Mn;9;NSM;;;;;N;;;;;
-ABF0;MEETEI MAYEK DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-ABF1;MEETEI MAYEK DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-ABF2;MEETEI MAYEK DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-ABF3;MEETEI MAYEK DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-ABF4;MEETEI MAYEK DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-ABF5;MEETEI MAYEK DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-ABF6;MEETEI MAYEK DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-ABF7;MEETEI MAYEK DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-ABF8;MEETEI MAYEK DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-ABF9;MEETEI MAYEK DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-AC00;<Hangul Syllable, First>;Lo;0;L;;;;;N;;;;;
-D7A3;<Hangul Syllable, Last>;Lo;0;L;;;;;N;;;;;
-D7B0;HANGUL JUNGSEONG O-YEO;Lo;0;L;;;;;N;;;;;
-D7B1;HANGUL JUNGSEONG O-O-I;Lo;0;L;;;;;N;;;;;
-D7B2;HANGUL JUNGSEONG YO-A;Lo;0;L;;;;;N;;;;;
-D7B3;HANGUL JUNGSEONG YO-AE;Lo;0;L;;;;;N;;;;;
-D7B4;HANGUL JUNGSEONG YO-EO;Lo;0;L;;;;;N;;;;;
-D7B5;HANGUL JUNGSEONG U-YEO;Lo;0;L;;;;;N;;;;;
-D7B6;HANGUL JUNGSEONG U-I-I;Lo;0;L;;;;;N;;;;;
-D7B7;HANGUL JUNGSEONG YU-AE;Lo;0;L;;;;;N;;;;;
-D7B8;HANGUL JUNGSEONG YU-O;Lo;0;L;;;;;N;;;;;
-D7B9;HANGUL JUNGSEONG EU-A;Lo;0;L;;;;;N;;;;;
-D7BA;HANGUL JUNGSEONG EU-EO;Lo;0;L;;;;;N;;;;;
-D7BB;HANGUL JUNGSEONG EU-E;Lo;0;L;;;;;N;;;;;
-D7BC;HANGUL JUNGSEONG EU-O;Lo;0;L;;;;;N;;;;;
-D7BD;HANGUL JUNGSEONG I-YA-O;Lo;0;L;;;;;N;;;;;
-D7BE;HANGUL JUNGSEONG I-YAE;Lo;0;L;;;;;N;;;;;
-D7BF;HANGUL JUNGSEONG I-YEO;Lo;0;L;;;;;N;;;;;
-D7C0;HANGUL JUNGSEONG I-YE;Lo;0;L;;;;;N;;;;;
-D7C1;HANGUL JUNGSEONG I-O-I;Lo;0;L;;;;;N;;;;;
-D7C2;HANGUL JUNGSEONG I-YO;Lo;0;L;;;;;N;;;;;
-D7C3;HANGUL JUNGSEONG I-YU;Lo;0;L;;;;;N;;;;;
-D7C4;HANGUL JUNGSEONG I-I;Lo;0;L;;;;;N;;;;;
-D7C5;HANGUL JUNGSEONG ARAEA-A;Lo;0;L;;;;;N;;;;;
-D7C6;HANGUL JUNGSEONG ARAEA-E;Lo;0;L;;;;;N;;;;;
-D7CB;HANGUL JONGSEONG NIEUN-RIEUL;Lo;0;L;;;;;N;;;;;
-D7CC;HANGUL JONGSEONG NIEUN-CHIEUCH;Lo;0;L;;;;;N;;;;;
-D7CD;HANGUL JONGSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;;;;
-D7CE;HANGUL JONGSEONG SSANGTIKEUT-PIEUP;Lo;0;L;;;;;N;;;;;
-D7CF;HANGUL JONGSEONG TIKEUT-PIEUP;Lo;0;L;;;;;N;;;;;
-D7D0;HANGUL JONGSEONG TIKEUT-SIOS;Lo;0;L;;;;;N;;;;;
-D7D1;HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
-D7D2;HANGUL JONGSEONG TIKEUT-CIEUC;Lo;0;L;;;;;N;;;;;
-D7D3;HANGUL JONGSEONG TIKEUT-CHIEUCH;Lo;0;L;;;;;N;;;;;
-D7D4;HANGUL JONGSEONG TIKEUT-THIEUTH;Lo;0;L;;;;;N;;;;;
-D7D5;HANGUL JONGSEONG RIEUL-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
-D7D6;HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH;Lo;0;L;;;;;N;;;;;
-D7D7;HANGUL JONGSEONG SSANGRIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
-D7D8;HANGUL JONGSEONG RIEUL-MIEUM-HIEUH;Lo;0;L;;;;;N;;;;;
-D7D9;HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
-D7DA;HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
-D7DB;HANGUL JONGSEONG RIEUL-YESIEUNG;Lo;0;L;;;;;N;;;;;
-D7DC;HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH;Lo;0;L;;;;;N;;;;;
-D7DD;HANGUL JONGSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;;
-D7DE;HANGUL JONGSEONG MIEUM-NIEUN;Lo;0;L;;;;;N;;;;;
-D7DF;HANGUL JONGSEONG MIEUM-SSANGNIEUN;Lo;0;L;;;;;N;;;;;
-D7E0;HANGUL JONGSEONG SSANGMIEUM;Lo;0;L;;;;;N;;;;;
-D7E1;HANGUL JONGSEONG MIEUM-PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
-D7E2;HANGUL JONGSEONG MIEUM-CIEUC;Lo;0;L;;;;;N;;;;;
-D7E3;HANGUL JONGSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
-D7E4;HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH;Lo;0;L;;;;;N;;;;;
-D7E5;HANGUL JONGSEONG PIEUP-MIEUM;Lo;0;L;;;;;N;;;;;
-D7E6;HANGUL JONGSEONG SSANGPIEUP;Lo;0;L;;;;;N;;;;;
-D7E7;HANGUL JONGSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
-D7E8;HANGUL JONGSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;;
-D7E9;HANGUL JONGSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;;
-D7EA;HANGUL JONGSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;;
-D7EB;HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
-D7EC;HANGUL JONGSEONG SSANGSIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
-D7ED;HANGUL JONGSEONG SSANGSIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
-D7EE;HANGUL JONGSEONG SIOS-PANSIOS;Lo;0;L;;;;;N;;;;;
-D7EF;HANGUL JONGSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
-D7F0;HANGUL JONGSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;;
-D7F1;HANGUL JONGSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
-D7F2;HANGUL JONGSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;;
-D7F3;HANGUL JONGSEONG PANSIOS-PIEUP;Lo;0;L;;;;;N;;;;;
-D7F4;HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
-D7F5;HANGUL JONGSEONG YESIEUNG-MIEUM;Lo;0;L;;;;;N;;;;;
-D7F6;HANGUL JONGSEONG YESIEUNG-HIEUH;Lo;0;L;;;;;N;;;;;
-D7F7;HANGUL JONGSEONG CIEUC-PIEUP;Lo;0;L;;;;;N;;;;;
-D7F8;HANGUL JONGSEONG CIEUC-SSANGPIEUP;Lo;0;L;;;;;N;;;;;
-D7F9;HANGUL JONGSEONG SSANGCIEUC;Lo;0;L;;;;;N;;;;;
-D7FA;HANGUL JONGSEONG PHIEUPH-SIOS;Lo;0;L;;;;;N;;;;;
-D7FB;HANGUL JONGSEONG PHIEUPH-THIEUTH;Lo;0;L;;;;;N;;;;;
-D800;<Non Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
-DB7F;<Non Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
-DB80;<Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
-DBFF;<Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
-DC00;<Low Surrogate, First>;Cs;0;L;;;;;N;;;;;
-DFFF;<Low Surrogate, Last>;Cs;0;L;;;;;N;;;;;
-E000;<Private Use, First>;Co;0;L;;;;;N;;;;;
-F8FF;<Private Use, Last>;Co;0;L;;;;;N;;;;;
-F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;;
-F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;;
-F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;;
-F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;;
-F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;;
-F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;;
-F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;;
-F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;;
-F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;;
-F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;;
-F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;;
-F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;;
-F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;;
-F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;;
-F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;;
-F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;;
-F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;;
-F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;;
-F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;;
-F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;;
-F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;;
-F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;;
-F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;;
-F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;;
-F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;;
-F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;;
-F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;;
-F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;;
-F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;;
-F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;;
-F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;;
-F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;;
-F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;;
-F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;;
-F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;;
-F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;;
-F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;;
-F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;;
-F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;;
-F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;;
-F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;;
-F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;;
-F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;;
-F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;;
-F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;;
-F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;;
-F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;;
-F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;;
-F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;;
-F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;;
-F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;;
-F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;;
-F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;;
-F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;;
-F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;;
-F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;;
-F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;;
-F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;;
-F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;;
-F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;;
-F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;;
-F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;;
-F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;;
-F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;;
-F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;;
-F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;;
-F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;;
-F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;;
-F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;;
-F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;;
-F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;;
-F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;;
-F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;;
-F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;;
-F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;;
-F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;;
-F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;;
-F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;;
-F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;;
-F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;;
-F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;;
-F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;964B;;;;N;;;;;
-F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;;
-F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;;
-F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;;
-F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;;
-F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;;
-F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;;
-F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;;
-F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;;
-F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;;
-F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;;
-F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;;
-F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;;
-F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;;
-F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;;
-F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;;
-F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;;
-F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;;
-F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;;
-F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;;
-F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;;
-F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;;
-F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;;
-F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;;
-F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;;
-F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;;
-F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;3;N;;;;;
-F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;;
-F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;;
-F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;;
-F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;;
-F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;;
-F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;;
-F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;;
-F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;10;N;;;;;
-F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;;
-F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;;
-F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;;
-F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;;
-F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;2;N;;;;;
-F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;;
-F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;;
-F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;;
-F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;;
-F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;;
-F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;;
-F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;;
-F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;;
-F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;;
-F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;;
-F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;;
-F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;;
-F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;;
-F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;;
-F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;;
-F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;;
-F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;;
-F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;;
-F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;;
-F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;;
-F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;;
-F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;;
-F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;;
-F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;;
-F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;;
-F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;;
-F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;;
-F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;;
-F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;;
-F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;;
-F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;;
-F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;;
-F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;;
-F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;;
-F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;;
-F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;;
-F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;;
-F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;;
-F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;;
-F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;;
-F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;;
-F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;;
-F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;;
-F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;;
-F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;;
-F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;;
-F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;;
-F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;;
-F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;;
-F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;;
-F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;;
-F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;;
-F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;;
-F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;;
-F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;;
-F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;;
-F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;;
-F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;0;N;;;;;
-F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;;
-F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;;
-F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;;
-F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;;
-F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;;
-F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;;
-F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;;
-F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;;
-F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;;
-F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;;
-F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;;
-F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;;
-F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;;
-F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;;
-F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;;
-F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;;
-F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;;
-F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;;
-F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;;
-F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;;
-F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;;
-F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;;
-F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;;
-F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;;
-F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;;
-F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;;
-F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;;
-F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;;
-F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;;
-F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;;
-F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;6;N;;;;;
-F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;;
-F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;6;N;;;;;
-F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;;
-F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;;
-F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;;
-F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;;
-F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;;
-F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;;
-F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;;
-F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;;
-F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;;
-F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;;
-F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;;
-F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;;
-F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;;
-F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;;
-F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;;
-F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;;
-F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;;
-F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;;
-F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;;
-F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;;
-F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;;
-F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;;
-F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;;
-F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;;
-F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;;
-F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;;
-F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;;
-F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;;
-F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;;
-F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;;
-F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;;
-F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;;
-F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;;
-F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;;
-F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;;
-F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;;
-F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;;
-F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;;
-F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;;
-F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;;
-F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;;
-F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;10;N;;;;;
-F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;;
-F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;;
-FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;;
-FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;;
-FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;;
-FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;;
-FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;;
-FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;;
-FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;;
-FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;;
-FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;;
-FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;;
-FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;;
-FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;;
-FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;;
-FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;;
-FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;;
-FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;;
-FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;;
-FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;;
-FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;;
-FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;;
-FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;;
-FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;;
-FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;;
-FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;;
-FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;;
-FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;;
-FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;;
-FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;;
-FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;;
-FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;;
-FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;;
-FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;;;;
-FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;;
-FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;;
-FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;;
-FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;;;;
-FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;;
-FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;;
-FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;;
-FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;;
-FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;;
-FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;;
-FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;;
-FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;;
-FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;;
-FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;;
-FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;;
-FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;;
-FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;;
-FA33;CJK COMPATIBILITY IDEOGRAPH-FA33;Lo;0;L;52C9;;;;N;;;;;
-FA34;CJK COMPATIBILITY IDEOGRAPH-FA34;Lo;0;L;52E4;;;;N;;;;;
-FA35;CJK COMPATIBILITY IDEOGRAPH-FA35;Lo;0;L;5351;;;;N;;;;;
-FA36;CJK COMPATIBILITY IDEOGRAPH-FA36;Lo;0;L;559D;;;;N;;;;;
-FA37;CJK COMPATIBILITY IDEOGRAPH-FA37;Lo;0;L;5606;;;;N;;;;;
-FA38;CJK COMPATIBILITY IDEOGRAPH-FA38;Lo;0;L;5668;;;;N;;;;;
-FA39;CJK COMPATIBILITY IDEOGRAPH-FA39;Lo;0;L;5840;;;;N;;;;;
-FA3A;CJK COMPATIBILITY IDEOGRAPH-FA3A;Lo;0;L;58A8;;;;N;;;;;
-FA3B;CJK COMPATIBILITY IDEOGRAPH-FA3B;Lo;0;L;5C64;;;;N;;;;;
-FA3C;CJK COMPATIBILITY IDEOGRAPH-FA3C;Lo;0;L;5C6E;;;;N;;;;;
-FA3D;CJK COMPATIBILITY IDEOGRAPH-FA3D;Lo;0;L;6094;;;;N;;;;;
-FA3E;CJK COMPATIBILITY IDEOGRAPH-FA3E;Lo;0;L;6168;;;;N;;;;;
-FA3F;CJK COMPATIBILITY IDEOGRAPH-FA3F;Lo;0;L;618E;;;;N;;;;;
-FA40;CJK COMPATIBILITY IDEOGRAPH-FA40;Lo;0;L;61F2;;;;N;;;;;
-FA41;CJK COMPATIBILITY IDEOGRAPH-FA41;Lo;0;L;654F;;;;N;;;;;
-FA42;CJK COMPATIBILITY IDEOGRAPH-FA42;Lo;0;L;65E2;;;;N;;;;;
-FA43;CJK COMPATIBILITY IDEOGRAPH-FA43;Lo;0;L;6691;;;;N;;;;;
-FA44;CJK COMPATIBILITY IDEOGRAPH-FA44;Lo;0;L;6885;;;;N;;;;;
-FA45;CJK COMPATIBILITY IDEOGRAPH-FA45;Lo;0;L;6D77;;;;N;;;;;
-FA46;CJK COMPATIBILITY IDEOGRAPH-FA46;Lo;0;L;6E1A;;;;N;;;;;
-FA47;CJK COMPATIBILITY IDEOGRAPH-FA47;Lo;0;L;6F22;;;;N;;;;;
-FA48;CJK COMPATIBILITY IDEOGRAPH-FA48;Lo;0;L;716E;;;;N;;;;;
-FA49;CJK COMPATIBILITY IDEOGRAPH-FA49;Lo;0;L;722B;;;;N;;;;;
-FA4A;CJK COMPATIBILITY IDEOGRAPH-FA4A;Lo;0;L;7422;;;;N;;;;;
-FA4B;CJK COMPATIBILITY IDEOGRAPH-FA4B;Lo;0;L;7891;;;;N;;;;;
-FA4C;CJK COMPATIBILITY IDEOGRAPH-FA4C;Lo;0;L;793E;;;;N;;;;;
-FA4D;CJK COMPATIBILITY IDEOGRAPH-FA4D;Lo;0;L;7949;;;;N;;;;;
-FA4E;CJK COMPATIBILITY IDEOGRAPH-FA4E;Lo;0;L;7948;;;;N;;;;;
-FA4F;CJK COMPATIBILITY IDEOGRAPH-FA4F;Lo;0;L;7950;;;;N;;;;;
-FA50;CJK COMPATIBILITY IDEOGRAPH-FA50;Lo;0;L;7956;;;;N;;;;;
-FA51;CJK COMPATIBILITY IDEOGRAPH-FA51;Lo;0;L;795D;;;;N;;;;;
-FA52;CJK COMPATIBILITY IDEOGRAPH-FA52;Lo;0;L;798D;;;;N;;;;;
-FA53;CJK COMPATIBILITY IDEOGRAPH-FA53;Lo;0;L;798E;;;;N;;;;;
-FA54;CJK COMPATIBILITY IDEOGRAPH-FA54;Lo;0;L;7A40;;;;N;;;;;
-FA55;CJK COMPATIBILITY IDEOGRAPH-FA55;Lo;0;L;7A81;;;;N;;;;;
-FA56;CJK COMPATIBILITY IDEOGRAPH-FA56;Lo;0;L;7BC0;;;;N;;;;;
-FA57;CJK COMPATIBILITY IDEOGRAPH-FA57;Lo;0;L;7DF4;;;;N;;;;;
-FA58;CJK COMPATIBILITY IDEOGRAPH-FA58;Lo;0;L;7E09;;;;N;;;;;
-FA59;CJK COMPATIBILITY IDEOGRAPH-FA59;Lo;0;L;7E41;;;;N;;;;;
-FA5A;CJK COMPATIBILITY IDEOGRAPH-FA5A;Lo;0;L;7F72;;;;N;;;;;
-FA5B;CJK COMPATIBILITY IDEOGRAPH-FA5B;Lo;0;L;8005;;;;N;;;;;
-FA5C;CJK COMPATIBILITY IDEOGRAPH-FA5C;Lo;0;L;81ED;;;;N;;;;;
-FA5D;CJK COMPATIBILITY IDEOGRAPH-FA5D;Lo;0;L;8279;;;;N;;;;;
-FA5E;CJK COMPATIBILITY IDEOGRAPH-FA5E;Lo;0;L;8279;;;;N;;;;;
-FA5F;CJK COMPATIBILITY IDEOGRAPH-FA5F;Lo;0;L;8457;;;;N;;;;;
-FA60;CJK COMPATIBILITY IDEOGRAPH-FA60;Lo;0;L;8910;;;;N;;;;;
-FA61;CJK COMPATIBILITY IDEOGRAPH-FA61;Lo;0;L;8996;;;;N;;;;;
-FA62;CJK COMPATIBILITY IDEOGRAPH-FA62;Lo;0;L;8B01;;;;N;;;;;
-FA63;CJK COMPATIBILITY IDEOGRAPH-FA63;Lo;0;L;8B39;;;;N;;;;;
-FA64;CJK COMPATIBILITY IDEOGRAPH-FA64;Lo;0;L;8CD3;;;;N;;;;;
-FA65;CJK COMPATIBILITY IDEOGRAPH-FA65;Lo;0;L;8D08;;;;N;;;;;
-FA66;CJK COMPATIBILITY IDEOGRAPH-FA66;Lo;0;L;8FB6;;;;N;;;;;
-FA67;CJK COMPATIBILITY IDEOGRAPH-FA67;Lo;0;L;9038;;;;N;;;;;
-FA68;CJK COMPATIBILITY IDEOGRAPH-FA68;Lo;0;L;96E3;;;;N;;;;;
-FA69;CJK COMPATIBILITY IDEOGRAPH-FA69;Lo;0;L;97FF;;;;N;;;;;
-FA6A;CJK COMPATIBILITY IDEOGRAPH-FA6A;Lo;0;L;983B;;;;N;;;;;
-FA6B;CJK COMPATIBILITY IDEOGRAPH-FA6B;Lo;0;L;6075;;;;N;;;;;
-FA6C;CJK COMPATIBILITY IDEOGRAPH-FA6C;Lo;0;L;242EE;;;;N;;;;;
-FA6D;CJK COMPATIBILITY IDEOGRAPH-FA6D;Lo;0;L;8218;;;;N;;;;;
-FA70;CJK COMPATIBILITY IDEOGRAPH-FA70;Lo;0;L;4E26;;;;N;;;;;
-FA71;CJK COMPATIBILITY IDEOGRAPH-FA71;Lo;0;L;51B5;;;;N;;;;;
-FA72;CJK COMPATIBILITY IDEOGRAPH-FA72;Lo;0;L;5168;;;;N;;;;;
-FA73;CJK COMPATIBILITY IDEOGRAPH-FA73;Lo;0;L;4F80;;;;N;;;;;
-FA74;CJK COMPATIBILITY IDEOGRAPH-FA74;Lo;0;L;5145;;;;N;;;;;
-FA75;CJK COMPATIBILITY IDEOGRAPH-FA75;Lo;0;L;5180;;;;N;;;;;
-FA76;CJK COMPATIBILITY IDEOGRAPH-FA76;Lo;0;L;52C7;;;;N;;;;;
-FA77;CJK COMPATIBILITY IDEOGRAPH-FA77;Lo;0;L;52FA;;;;N;;;;;
-FA78;CJK COMPATIBILITY IDEOGRAPH-FA78;Lo;0;L;559D;;;;N;;;;;
-FA79;CJK COMPATIBILITY IDEOGRAPH-FA79;Lo;0;L;5555;;;;N;;;;;
-FA7A;CJK COMPATIBILITY IDEOGRAPH-FA7A;Lo;0;L;5599;;;;N;;;;;
-FA7B;CJK COMPATIBILITY IDEOGRAPH-FA7B;Lo;0;L;55E2;;;;N;;;;;
-FA7C;CJK COMPATIBILITY IDEOGRAPH-FA7C;Lo;0;L;585A;;;;N;;;;;
-FA7D;CJK COMPATIBILITY IDEOGRAPH-FA7D;Lo;0;L;58B3;;;;N;;;;;
-FA7E;CJK COMPATIBILITY IDEOGRAPH-FA7E;Lo;0;L;5944;;;;N;;;;;
-FA7F;CJK COMPATIBILITY IDEOGRAPH-FA7F;Lo;0;L;5954;;;;N;;;;;
-FA80;CJK COMPATIBILITY IDEOGRAPH-FA80;Lo;0;L;5A62;;;;N;;;;;
-FA81;CJK COMPATIBILITY IDEOGRAPH-FA81;Lo;0;L;5B28;;;;N;;;;;
-FA82;CJK COMPATIBILITY IDEOGRAPH-FA82;Lo;0;L;5ED2;;;;N;;;;;
-FA83;CJK COMPATIBILITY IDEOGRAPH-FA83;Lo;0;L;5ED9;;;;N;;;;;
-FA84;CJK COMPATIBILITY IDEOGRAPH-FA84;Lo;0;L;5F69;;;;N;;;;;
-FA85;CJK COMPATIBILITY IDEOGRAPH-FA85;Lo;0;L;5FAD;;;;N;;;;;
-FA86;CJK COMPATIBILITY IDEOGRAPH-FA86;Lo;0;L;60D8;;;;N;;;;;
-FA87;CJK COMPATIBILITY IDEOGRAPH-FA87;Lo;0;L;614E;;;;N;;;;;
-FA88;CJK COMPATIBILITY IDEOGRAPH-FA88;Lo;0;L;6108;;;;N;;;;;
-FA89;CJK COMPATIBILITY IDEOGRAPH-FA89;Lo;0;L;618E;;;;N;;;;;
-FA8A;CJK COMPATIBILITY IDEOGRAPH-FA8A;Lo;0;L;6160;;;;N;;;;;
-FA8B;CJK COMPATIBILITY IDEOGRAPH-FA8B;Lo;0;L;61F2;;;;N;;;;;
-FA8C;CJK COMPATIBILITY IDEOGRAPH-FA8C;Lo;0;L;6234;;;;N;;;;;
-FA8D;CJK COMPATIBILITY IDEOGRAPH-FA8D;Lo;0;L;63C4;;;;N;;;;;
-FA8E;CJK COMPATIBILITY IDEOGRAPH-FA8E;Lo;0;L;641C;;;;N;;;;;
-FA8F;CJK COMPATIBILITY IDEOGRAPH-FA8F;Lo;0;L;6452;;;;N;;;;;
-FA90;CJK COMPATIBILITY IDEOGRAPH-FA90;Lo;0;L;6556;;;;N;;;;;
-FA91;CJK COMPATIBILITY IDEOGRAPH-FA91;Lo;0;L;6674;;;;N;;;;;
-FA92;CJK COMPATIBILITY IDEOGRAPH-FA92;Lo;0;L;6717;;;;N;;;;;
-FA93;CJK COMPATIBILITY IDEOGRAPH-FA93;Lo;0;L;671B;;;;N;;;;;
-FA94;CJK COMPATIBILITY IDEOGRAPH-FA94;Lo;0;L;6756;;;;N;;;;;
-FA95;CJK COMPATIBILITY IDEOGRAPH-FA95;Lo;0;L;6B79;;;;N;;;;;
-FA96;CJK COMPATIBILITY IDEOGRAPH-FA96;Lo;0;L;6BBA;;;;N;;;;;
-FA97;CJK COMPATIBILITY IDEOGRAPH-FA97;Lo;0;L;6D41;;;;N;;;;;
-FA98;CJK COMPATIBILITY IDEOGRAPH-FA98;Lo;0;L;6EDB;;;;N;;;;;
-FA99;CJK COMPATIBILITY IDEOGRAPH-FA99;Lo;0;L;6ECB;;;;N;;;;;
-FA9A;CJK COMPATIBILITY IDEOGRAPH-FA9A;Lo;0;L;6F22;;;;N;;;;;
-FA9B;CJK COMPATIBILITY IDEOGRAPH-FA9B;Lo;0;L;701E;;;;N;;;;;
-FA9C;CJK COMPATIBILITY IDEOGRAPH-FA9C;Lo;0;L;716E;;;;N;;;;;
-FA9D;CJK COMPATIBILITY IDEOGRAPH-FA9D;Lo;0;L;77A7;;;;N;;;;;
-FA9E;CJK COMPATIBILITY IDEOGRAPH-FA9E;Lo;0;L;7235;;;;N;;;;;
-FA9F;CJK COMPATIBILITY IDEOGRAPH-FA9F;Lo;0;L;72AF;;;;N;;;;;
-FAA0;CJK COMPATIBILITY IDEOGRAPH-FAA0;Lo;0;L;732A;;;;N;;;;;
-FAA1;CJK COMPATIBILITY IDEOGRAPH-FAA1;Lo;0;L;7471;;;;N;;;;;
-FAA2;CJK COMPATIBILITY IDEOGRAPH-FAA2;Lo;0;L;7506;;;;N;;;;;
-FAA3;CJK COMPATIBILITY IDEOGRAPH-FAA3;Lo;0;L;753B;;;;N;;;;;
-FAA4;CJK COMPATIBILITY IDEOGRAPH-FAA4;Lo;0;L;761D;;;;N;;;;;
-FAA5;CJK COMPATIBILITY IDEOGRAPH-FAA5;Lo;0;L;761F;;;;N;;;;;
-FAA6;CJK COMPATIBILITY IDEOGRAPH-FAA6;Lo;0;L;76CA;;;;N;;;;;
-FAA7;CJK COMPATIBILITY IDEOGRAPH-FAA7;Lo;0;L;76DB;;;;N;;;;;
-FAA8;CJK COMPATIBILITY IDEOGRAPH-FAA8;Lo;0;L;76F4;;;;N;;;;;
-FAA9;CJK COMPATIBILITY IDEOGRAPH-FAA9;Lo;0;L;774A;;;;N;;;;;
-FAAA;CJK COMPATIBILITY IDEOGRAPH-FAAA;Lo;0;L;7740;;;;N;;;;;
-FAAB;CJK COMPATIBILITY IDEOGRAPH-FAAB;Lo;0;L;78CC;;;;N;;;;;
-FAAC;CJK COMPATIBILITY IDEOGRAPH-FAAC;Lo;0;L;7AB1;;;;N;;;;;
-FAAD;CJK COMPATIBILITY IDEOGRAPH-FAAD;Lo;0;L;7BC0;;;;N;;;;;
-FAAE;CJK COMPATIBILITY IDEOGRAPH-FAAE;Lo;0;L;7C7B;;;;N;;;;;
-FAAF;CJK COMPATIBILITY IDEOGRAPH-FAAF;Lo;0;L;7D5B;;;;N;;;;;
-FAB0;CJK COMPATIBILITY IDEOGRAPH-FAB0;Lo;0;L;7DF4;;;;N;;;;;
-FAB1;CJK COMPATIBILITY IDEOGRAPH-FAB1;Lo;0;L;7F3E;;;;N;;;;;
-FAB2;CJK COMPATIBILITY IDEOGRAPH-FAB2;Lo;0;L;8005;;;;N;;;;;
-FAB3;CJK COMPATIBILITY IDEOGRAPH-FAB3;Lo;0;L;8352;;;;N;;;;;
-FAB4;CJK COMPATIBILITY IDEOGRAPH-FAB4;Lo;0;L;83EF;;;;N;;;;;
-FAB5;CJK COMPATIBILITY IDEOGRAPH-FAB5;Lo;0;L;8779;;;;N;;;;;
-FAB6;CJK COMPATIBILITY IDEOGRAPH-FAB6;Lo;0;L;8941;;;;N;;;;;
-FAB7;CJK COMPATIBILITY IDEOGRAPH-FAB7;Lo;0;L;8986;;;;N;;;;;
-FAB8;CJK COMPATIBILITY IDEOGRAPH-FAB8;Lo;0;L;8996;;;;N;;;;;
-FAB9;CJK COMPATIBILITY IDEOGRAPH-FAB9;Lo;0;L;8ABF;;;;N;;;;;
-FABA;CJK COMPATIBILITY IDEOGRAPH-FABA;Lo;0;L;8AF8;;;;N;;;;;
-FABB;CJK COMPATIBILITY IDEOGRAPH-FABB;Lo;0;L;8ACB;;;;N;;;;;
-FABC;CJK COMPATIBILITY IDEOGRAPH-FABC;Lo;0;L;8B01;;;;N;;;;;
-FABD;CJK COMPATIBILITY IDEOGRAPH-FABD;Lo;0;L;8AFE;;;;N;;;;;
-FABE;CJK COMPATIBILITY IDEOGRAPH-FABE;Lo;0;L;8AED;;;;N;;;;;
-FABF;CJK COMPATIBILITY IDEOGRAPH-FABF;Lo;0;L;8B39;;;;N;;;;;
-FAC0;CJK COMPATIBILITY IDEOGRAPH-FAC0;Lo;0;L;8B8A;;;;N;;;;;
-FAC1;CJK COMPATIBILITY IDEOGRAPH-FAC1;Lo;0;L;8D08;;;;N;;;;;
-FAC2;CJK COMPATIBILITY IDEOGRAPH-FAC2;Lo;0;L;8F38;;;;N;;;;;
-FAC3;CJK COMPATIBILITY IDEOGRAPH-FAC3;Lo;0;L;9072;;;;N;;;;;
-FAC4;CJK COMPATIBILITY IDEOGRAPH-FAC4;Lo;0;L;9199;;;;N;;;;;
-FAC5;CJK COMPATIBILITY IDEOGRAPH-FAC5;Lo;0;L;9276;;;;N;;;;;
-FAC6;CJK COMPATIBILITY IDEOGRAPH-FAC6;Lo;0;L;967C;;;;N;;;;;
-FAC7;CJK COMPATIBILITY IDEOGRAPH-FAC7;Lo;0;L;96E3;;;;N;;;;;
-FAC8;CJK COMPATIBILITY IDEOGRAPH-FAC8;Lo;0;L;9756;;;;N;;;;;
-FAC9;CJK COMPATIBILITY IDEOGRAPH-FAC9;Lo;0;L;97DB;;;;N;;;;;
-FACA;CJK COMPATIBILITY IDEOGRAPH-FACA;Lo;0;L;97FF;;;;N;;;;;
-FACB;CJK COMPATIBILITY IDEOGRAPH-FACB;Lo;0;L;980B;;;;N;;;;;
-FACC;CJK COMPATIBILITY IDEOGRAPH-FACC;Lo;0;L;983B;;;;N;;;;;
-FACD;CJK COMPATIBILITY IDEOGRAPH-FACD;Lo;0;L;9B12;;;;N;;;;;
-FACE;CJK COMPATIBILITY IDEOGRAPH-FACE;Lo;0;L;9F9C;;;;N;;;;;
-FACF;CJK COMPATIBILITY IDEOGRAPH-FACF;Lo;0;L;2284A;;;;N;;;;;
-FAD0;CJK COMPATIBILITY IDEOGRAPH-FAD0;Lo;0;L;22844;;;;N;;;;;
-FAD1;CJK COMPATIBILITY IDEOGRAPH-FAD1;Lo;0;L;233D5;;;;N;;;;;
-FAD2;CJK COMPATIBILITY IDEOGRAPH-FAD2;Lo;0;L;3B9D;;;;N;;;;;
-FAD3;CJK COMPATIBILITY IDEOGRAPH-FAD3;Lo;0;L;4018;;;;N;;;;;
-FAD4;CJK COMPATIBILITY IDEOGRAPH-FAD4;Lo;0;L;4039;;;;N;;;;;
-FAD5;CJK COMPATIBILITY IDEOGRAPH-FAD5;Lo;0;L;25249;;;;N;;;;;
-FAD6;CJK COMPATIBILITY IDEOGRAPH-FAD6;Lo;0;L;25CD0;;;;N;;;;;
-FAD7;CJK COMPATIBILITY IDEOGRAPH-FAD7;Lo;0;L;27ED3;;;;N;;;;;
-FAD8;CJK COMPATIBILITY IDEOGRAPH-FAD8;Lo;0;L;9F43;;;;N;;;;;
-FAD9;CJK COMPATIBILITY IDEOGRAPH-FAD9;Lo;0;L;9F8E;;;;N;;;;;
-FB00;LATIN SMALL LIGATURE FF;Ll;0;L;<compat> 0066 0066;;;;N;;;;;
-FB01;LATIN SMALL LIGATURE FI;Ll;0;L;<compat> 0066 0069;;;;N;;;;;
-FB02;LATIN SMALL LIGATURE FL;Ll;0;L;<compat> 0066 006C;;;;N;;;;;
-FB03;LATIN SMALL LIGATURE FFI;Ll;0;L;<compat> 0066 0066 0069;;;;N;;;;;
-FB04;LATIN SMALL LIGATURE FFL;Ll;0;L;<compat> 0066 0066 006C;;;;N;;;;;
-FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L;<compat> 017F 0074;;;;N;;;;;
-FB06;LATIN SMALL LIGATURE ST;Ll;0;L;<compat> 0073 0074;;;;N;;;;;
-FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L;<compat> 0574 0576;;;;N;;;;;
-FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L;<compat> 0574 0565;;;;N;;;;;
-FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L;<compat> 0574 056B;;;;N;;;;;
-FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L;<compat> 057E 0576;;;;N;;;;;
-FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L;<compat> 0574 056D;;;;N;;;;;
-FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;;
-FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;N;HEBREW POINT VARIKA;;;;
-FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;;
-FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R;<font> 05E2;;;;N;;;;;
-FB21;HEBREW LETTER WIDE ALEF;Lo;0;R;<font> 05D0;;;;N;;;;;
-FB22;HEBREW LETTER WIDE DALET;Lo;0;R;<font> 05D3;;;;N;;;;;
-FB23;HEBREW LETTER WIDE HE;Lo;0;R;<font> 05D4;;;;N;;;;;
-FB24;HEBREW LETTER WIDE KAF;Lo;0;R;<font> 05DB;;;;N;;;;;
-FB25;HEBREW LETTER WIDE LAMED;Lo;0;R;<font> 05DC;;;;N;;;;;
-FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R;<font> 05DD;;;;N;;;;;
-FB27;HEBREW LETTER WIDE RESH;Lo;0;R;<font> 05E8;;;;N;;;;;
-FB28;HEBREW LETTER WIDE TAV;Lo;0;R;<font> 05EA;;;;N;;;;;
-FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ES;<font> 002B;;;;N;;;;;
-FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;;
-FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;;
-FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;;
-FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;;
-FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;;
-FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;;
-FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;;
-FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;;
-FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;;
-FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;;
-FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;;
-FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;;
-FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;;
-FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;;
-FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;;
-FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;;
-FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;;
-FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;;
-FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;;
-FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;;
-FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;;
-FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;;
-FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;;
-FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;;
-FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;;
-FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;;
-FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;;
-FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;;
-FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;;
-FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;;
-FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;;
-FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;;
-FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R;<compat> 05D0 05DC;;;;N;;;;;
-FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL;<isolated> 0671;;;;N;;;;;
-FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL;<final> 0671;;;;N;;;;;
-FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL;<isolated> 067B;;;;N;;;;;
-FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL;<final> 067B;;;;N;;;;;
-FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL;<initial> 067B;;;;N;;;;;
-FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL;<medial> 067B;;;;N;;;;;
-FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL;<isolated> 067E;;;;N;;;;;
-FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL;<final> 067E;;;;N;;;;;
-FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL;<initial> 067E;;;;N;;;;;
-FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL;<medial> 067E;;;;N;;;;;
-FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL;<isolated> 0680;;;;N;;;;;
-FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL;<final> 0680;;;;N;;;;;
-FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL;<initial> 0680;;;;N;;;;;
-FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL;<medial> 0680;;;;N;;;;;
-FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL;<isolated> 067A;;;;N;;;;;
-FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL;<final> 067A;;;;N;;;;;
-FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL;<initial> 067A;;;;N;;;;;
-FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL;<medial> 067A;;;;N;;;;;
-FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL;<isolated> 067F;;;;N;;;;;
-FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL;<final> 067F;;;;N;;;;;
-FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL;<initial> 067F;;;;N;;;;;
-FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL;<medial> 067F;;;;N;;;;;
-FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL;<isolated> 0679;;;;N;;;;;
-FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL;<final> 0679;;;;N;;;;;
-FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL;<initial> 0679;;;;N;;;;;
-FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL;<medial> 0679;;;;N;;;;;
-FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL;<isolated> 06A4;;;;N;;;;;
-FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL;<final> 06A4;;;;N;;;;;
-FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL;<initial> 06A4;;;;N;;;;;
-FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL;<medial> 06A4;;;;N;;;;;
-FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL;<isolated> 06A6;;;;N;;;;;
-FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL;<final> 06A6;;;;N;;;;;
-FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL;<initial> 06A6;;;;N;;;;;
-FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL;<medial> 06A6;;;;N;;;;;
-FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL;<isolated> 0684;;;;N;;;;;
-FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL;<final> 0684;;;;N;;;;;
-FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL;<initial> 0684;;;;N;;;;;
-FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL;<medial> 0684;;;;N;;;;;
-FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL;<isolated> 0683;;;;N;;;;;
-FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL;<final> 0683;;;;N;;;;;
-FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL;<initial> 0683;;;;N;;;;;
-FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL;<medial> 0683;;;;N;;;;;
-FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL;<isolated> 0686;;;;N;;;;;
-FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL;<final> 0686;;;;N;;;;;
-FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL;<initial> 0686;;;;N;;;;;
-FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL;<medial> 0686;;;;N;;;;;
-FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL;<isolated> 0687;;;;N;;;;;
-FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL;<final> 0687;;;;N;;;;;
-FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL;<initial> 0687;;;;N;;;;;
-FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL;<medial> 0687;;;;N;;;;;
-FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL;<isolated> 068D;;;;N;;;;;
-FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL;<final> 068D;;;;N;;;;;
-FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL;<isolated> 068C;;;;N;;;;;
-FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL;<final> 068C;;;;N;;;;;
-FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL;<isolated> 068E;;;;N;;;;;
-FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL;<final> 068E;;;;N;;;;;
-FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL;<isolated> 0688;;;;N;;;;;
-FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL;<final> 0688;;;;N;;;;;
-FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL;<isolated> 0698;;;;N;;;;;
-FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL;<final> 0698;;;;N;;;;;
-FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL;<isolated> 0691;;;;N;;;;;
-FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL;<final> 0691;;;;N;;;;;
-FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL;<isolated> 06A9;;;;N;;;;;
-FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL;<final> 06A9;;;;N;;;;;
-FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL;<initial> 06A9;;;;N;;;;;
-FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL;<medial> 06A9;;;;N;;;;;
-FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL;<isolated> 06AF;;;;N;;;;;
-FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL;<final> 06AF;;;;N;;;;;
-FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL;<initial> 06AF;;;;N;;;;;
-FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL;<medial> 06AF;;;;N;;;;;
-FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL;<isolated> 06B3;;;;N;;;;;
-FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL;<final> 06B3;;;;N;;;;;
-FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL;<initial> 06B3;;;;N;;;;;
-FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL;<medial> 06B3;;;;N;;;;;
-FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL;<isolated> 06B1;;;;N;;;;;
-FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL;<final> 06B1;;;;N;;;;;
-FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL;<initial> 06B1;;;;N;;;;;
-FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL;<medial> 06B1;;;;N;;;;;
-FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL;<isolated> 06BA;;;;N;;;;;
-FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL;<final> 06BA;;;;N;;;;;
-FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL;<isolated> 06BB;;;;N;;;;;
-FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL;<final> 06BB;;;;N;;;;;
-FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL;<initial> 06BB;;;;N;;;;;
-FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL;<medial> 06BB;;;;N;;;;;
-FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06C0;;;;N;;;;;
-FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL;<final> 06C0;;;;N;;;;;
-FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL;<isolated> 06C1;;;;N;;;;;
-FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL;<final> 06C1;;;;N;;;;;
-FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL;<initial> 06C1;;;;N;;;;;
-FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL;<medial> 06C1;;;;N;;;;;
-FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL;<isolated> 06BE;;;;N;;;;;
-FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL;<final> 06BE;;;;N;;;;;
-FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL;<initial> 06BE;;;;N;;;;;
-FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL;<medial> 06BE;;;;N;;;;;
-FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL;<isolated> 06D2;;;;N;;;;;
-FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL;<final> 06D2;;;;N;;;;;
-FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06D3;;;;N;;;;;
-FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 06D3;;;;N;;;;;
-FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL;<isolated> 06AD;;;;N;;;;;
-FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL;<final> 06AD;;;;N;;;;;
-FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL;<initial> 06AD;;;;N;;;;;
-FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL;<medial> 06AD;;;;N;;;;;
-FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL;<isolated> 06C7;;;;N;;;;;
-FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL;<final> 06C7;;;;N;;;;;
-FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL;<isolated> 06C6;;;;N;;;;;
-FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL;<final> 06C6;;;;N;;;;;
-FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL;<isolated> 06C8;;;;N;;;;;
-FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL;<final> 06C8;;;;N;;;;;
-FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0677;;;;N;;;;;
-FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL;<isolated> 06CB;;;;N;;;;;
-FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL;<final> 06CB;;;;N;;;;;
-FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL;<isolated> 06C5;;;;N;;;;;
-FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL;<final> 06C5;;;;N;;;;;
-FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL;<isolated> 06C9;;;;N;;;;;
-FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL;<final> 06C9;;;;N;;;;;
-FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL;<isolated> 06D0;;;;N;;;;;
-FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL;<final> 06D0;;;;N;;;;;
-FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL;<initial> 06D0;;;;N;;;;;
-FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL;<medial> 06D0;;;;N;;;;;
-FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL;<initial> 0649;;;;N;;;;;
-FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL;<medial> 0649;;;;N;;;;;
-FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0626 0627;;;;N;;;;;
-FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL;<final> 0626 0627;;;;N;;;;;
-FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL;<isolated> 0626 06D5;;;;N;;;;;
-FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL;<final> 0626 06D5;;;;N;;;;;
-FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL;<isolated> 0626 0648;;;;N;;;;;
-FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL;<final> 0626 0648;;;;N;;;;;
-FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C7;;;;N;;;;;
-FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL;<final> 0626 06C7;;;;N;;;;;
-FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C6;;;;N;;;;;
-FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL;<final> 0626 06C6;;;;N;;;;;
-FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C8;;;;N;;;;;
-FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL;<final> 0626 06C8;;;;N;;;;;
-FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL;<isolated> 0626 06D0;;;;N;;;;;
-FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL;<final> 0626 06D0;;;;N;;;;;
-FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL;<initial> 0626 06D0;;;;N;;;;;
-FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0626 0649;;;;N;;;;;
-FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0626 0649;;;;N;;;;;
-FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL;<initial> 0626 0649;;;;N;;;;;
-FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL;<isolated> 06CC;;;;N;;;;;
-FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL;<final> 06CC;;;;N;;;;;
-FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL;<initial> 06CC;;;;N;;;;;
-FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL;<medial> 06CC;;;;N;;;;;
-FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0626 062C;;;;N;;;;;
-FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0626 062D;;;;N;;;;;
-FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0626 0645;;;;N;;;;;
-FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0626 0649;;;;N;;;;;
-FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0626 064A;;;;N;;;;;
-FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0628 062C;;;;N;;;;;
-FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0628 062D;;;;N;;;;;
-FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0628 062E;;;;N;;;;;
-FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0628 0645;;;;N;;;;;
-FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0628 0649;;;;N;;;;;
-FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0628 064A;;;;N;;;;;
-FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062A 062C;;;;N;;;;;
-FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062A 062D;;;;N;;;;;
-FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062A 062E;;;;N;;;;;
-FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062A 0645;;;;N;;;;;
-FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062A 0649;;;;N;;;;;
-FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062A 064A;;;;N;;;;;
-FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062B 062C;;;;N;;;;;
-FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062B 0645;;;;N;;;;;
-FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062B 0649;;;;N;;;;;
-FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062B 064A;;;;N;;;;;
-FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062C 062D;;;;N;;;;;
-FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C 0645;;;;N;;;;;
-FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062D 062C;;;;N;;;;;
-FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062D 0645;;;;N;;;;;
-FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062E 062C;;;;N;;;;;
-FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062E 062D;;;;N;;;;;
-FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062E 0645;;;;N;;;;;
-FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0633 062C;;;;N;;;;;
-FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0633 062D;;;;N;;;;;
-FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0633 062E;;;;N;;;;;
-FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0633 0645;;;;N;;;;;
-FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0635 062D;;;;N;;;;;
-FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0635 0645;;;;N;;;;;
-FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0636 062C;;;;N;;;;;
-FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0636 062D;;;;N;;;;;
-FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0636 062E;;;;N;;;;;
-FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0636 0645;;;;N;;;;;
-FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0637 062D;;;;N;;;;;
-FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0637 0645;;;;N;;;;;
-FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0638 0645;;;;N;;;;;
-FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0639 062C;;;;N;;;;;
-FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0639 0645;;;;N;;;;;
-FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 063A 062C;;;;N;;;;;
-FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 063A 0645;;;;N;;;;;
-FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0641 062C;;;;N;;;;;
-FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0641 062D;;;;N;;;;;
-FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0641 062E;;;;N;;;;;
-FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0641 0645;;;;N;;;;;
-FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0641 0649;;;;N;;;;;
-FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0641 064A;;;;N;;;;;
-FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0642 062D;;;;N;;;;;
-FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0642 0645;;;;N;;;;;
-FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0642 0649;;;;N;;;;;
-FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0642 064A;;;;N;;;;;
-FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0643 0627;;;;N;;;;;
-FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0643 062C;;;;N;;;;;
-FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0643 062D;;;;N;;;;;
-FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0643 062E;;;;N;;;;;
-FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL;<isolated> 0643 0644;;;;N;;;;;
-FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0643 0645;;;;N;;;;;
-FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0643 0649;;;;N;;;;;
-FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0643 064A;;;;N;;;;;
-FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0644 062C;;;;N;;;;;
-FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0644 062D;;;;N;;;;;
-FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0644 062E;;;;N;;;;;
-FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0644 0645;;;;N;;;;;
-FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0644 0649;;;;N;;;;;
-FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0644 064A;;;;N;;;;;
-FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645 062C;;;;N;;;;;
-FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0645 062D;;;;N;;;;;
-FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0645 062E;;;;N;;;;;
-FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645 0645;;;;N;;;;;
-FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0645 0649;;;;N;;;;;
-FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0645 064A;;;;N;;;;;
-FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0646 062C;;;;N;;;;;
-FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0646 062D;;;;N;;;;;
-FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0646 062E;;;;N;;;;;
-FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0646 0645;;;;N;;;;;
-FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0646 0649;;;;N;;;;;
-FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0646 064A;;;;N;;;;;
-FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0647 062C;;;;N;;;;;
-FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0647 0645;;;;N;;;;;
-FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0647 0649;;;;N;;;;;
-FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0647 064A;;;;N;;;;;
-FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 064A 062C;;;;N;;;;;
-FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 064A 062D;;;;N;;;;;
-FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 064A 062E;;;;N;;;;;
-FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 064A 0645;;;;N;;;;;
-FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 064A 0649;;;;N;;;;;
-FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A 064A;;;;N;;;;;
-FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0630 0670;;;;N;;;;;
-FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0631 0670;;;;N;;;;;
-FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0649 0670;;;;N;;;;;
-FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064C 0651;;;;N;;;;;
-FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064D 0651;;;;N;;;;;
-FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064E 0651;;;;N;;;;;
-FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064F 0651;;;;N;;;;;
-FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0650 0651;;;;N;;;;;
-FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651 0670;;;;N;;;;;
-FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL;<final> 0626 0631;;;;N;;;;;
-FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0626 0632;;;;N;;;;;
-FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL;<final> 0626 0645;;;;N;;;;;
-FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL;<final> 0626 0646;;;;N;;;;;
-FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0626 0649;;;;N;;;;;
-FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL;<final> 0626 064A;;;;N;;;;;
-FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL;<final> 0628 0631;;;;N;;;;;
-FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0628 0632;;;;N;;;;;
-FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0628 0645;;;;N;;;;;
-FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL;<final> 0628 0646;;;;N;;;;;
-FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0628 0649;;;;N;;;;;
-FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 064A;;;;N;;;;;
-FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL;<final> 062A 0631;;;;N;;;;;
-FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 062A 0632;;;;N;;;;;
-FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 062A 0645;;;;N;;;;;
-FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL;<final> 062A 0646;;;;N;;;;;
-FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 0649;;;;N;;;;;
-FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 064A;;;;N;;;;;
-FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL;<final> 062B 0631;;;;N;;;;;
-FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 062B 0632;;;;N;;;;;
-FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 062B 0645;;;;N;;;;;
-FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL;<final> 062B 0646;;;;N;;;;;
-FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062B 0649;;;;N;;;;;
-FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL;<final> 062B 064A;;;;N;;;;;
-FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0641 0649;;;;N;;;;;
-FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL;<final> 0641 064A;;;;N;;;;;
-FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0642 0649;;;;N;;;;;
-FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL;<final> 0642 064A;;;;N;;;;;
-FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL;<final> 0643 0627;;;;N;;;;;
-FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL;<final> 0643 0644;;;;N;;;;;
-FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL;<final> 0643 0645;;;;N;;;;;
-FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0643 0649;;;;N;;;;;
-FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL;<final> 0643 064A;;;;N;;;;;
-FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 0645;;;;N;;;;;
-FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0644 0649;;;;N;;;;;
-FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 064A;;;;N;;;;;
-FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0645 0627;;;;N;;;;;
-FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0645 0645;;;;N;;;;;
-FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL;<final> 0646 0631;;;;N;;;;;
-FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0646 0632;;;;N;;;;;
-FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL;<final> 0646 0645;;;;N;;;;;
-FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL;<final> 0646 0646;;;;N;;;;;
-FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 0649;;;;N;;;;;
-FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 064A;;;;N;;;;;
-FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL;<final> 0649 0670;;;;N;;;;;
-FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL;<final> 064A 0631;;;;N;;;;;
-FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 064A 0632;;;;N;;;;;
-FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 064A 0645;;;;N;;;;;
-FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL;<final> 064A 0646;;;;N;;;;;
-FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 064A 0649;;;;N;;;;;
-FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 064A;;;;N;;;;;
-FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0626 062C;;;;N;;;;;
-FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0626 062D;;;;N;;;;;
-FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0626 062E;;;;N;;;;;
-FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0626 0645;;;;N;;;;;
-FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0626 0647;;;;N;;;;;
-FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0628 062C;;;;N;;;;;
-FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0628 062D;;;;N;;;;;
-FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0628 062E;;;;N;;;;;
-FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0628 0645;;;;N;;;;;
-FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0628 0647;;;;N;;;;;
-FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C;;;;N;;;;;
-FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 062D;;;;N;;;;;
-FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 062E;;;;N;;;;;
-FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645;;;;N;;;;;
-FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 062A 0647;;;;N;;;;;
-FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062B 0645;;;;N;;;;;
-FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062C 062D;;;;N;;;;;
-FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062C 0645;;;;N;;;;;
-FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062D 062C;;;;N;;;;;
-FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062D 0645;;;;N;;;;;
-FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062E 062C;;;;N;;;;;
-FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062E 0645;;;;N;;;;;
-FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 062C;;;;N;;;;;
-FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 062D;;;;N;;;;;
-FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0633 062E;;;;N;;;;;
-FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645;;;;N;;;;;
-FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0635 062D;;;;N;;;;;
-FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0635 062E;;;;N;;;;;
-FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645;;;;N;;;;;
-FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0636 062C;;;;N;;;;;
-FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0636 062D;;;;N;;;;;
-FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0636 062E;;;;N;;;;;
-FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0636 0645;;;;N;;;;;
-FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0637 062D;;;;N;;;;;
-FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0638 0645;;;;N;;;;;
-FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0639 062C;;;;N;;;;;
-FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 0645;;;;N;;;;;
-FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 063A 062C;;;;N;;;;;
-FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 063A 0645;;;;N;;;;;
-FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0641 062C;;;;N;;;;;
-FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0641 062D;;;;N;;;;;
-FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0641 062E;;;;N;;;;;
-FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0641 0645;;;;N;;;;;
-FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0642 062D;;;;N;;;;;
-FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0642 0645;;;;N;;;;;
-FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0643 062C;;;;N;;;;;
-FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0643 062D;;;;N;;;;;
-FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0643 062E;;;;N;;;;;
-FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL;<initial> 0643 0644;;;;N;;;;;
-FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0643 0645;;;;N;;;;;
-FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C;;;;N;;;;;
-FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0644 062D;;;;N;;;;;
-FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0644 062E;;;;N;;;;;
-FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 0645;;;;N;;;;;
-FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0644 0647;;;;N;;;;;
-FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C;;;;N;;;;;
-FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645 062D;;;;N;;;;;
-FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062E;;;;N;;;;;
-FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 0645;;;;N;;;;;
-FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062C;;;;N;;;;;
-FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0646 062D;;;;N;;;;;
-FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0646 062E;;;;N;;;;;
-FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 0645;;;;N;;;;;
-FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0646 0647;;;;N;;;;;
-FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 062C;;;;N;;;;;
-FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645;;;;N;;;;;
-FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL;<initial> 0647 0670;;;;N;;;;;
-FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 064A 062C;;;;N;;;;;
-FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 064A 062D;;;;N;;;;;
-FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 064A 062E;;;;N;;;;;
-FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 064A 0645;;;;N;;;;;
-FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 064A 0647;;;;N;;;;;
-FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0626 0645;;;;N;;;;;
-FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0626 0647;;;;N;;;;;
-FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0628 0645;;;;N;;;;;
-FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0628 0647;;;;N;;;;;
-FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 062A 0645;;;;N;;;;;
-FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 062A 0647;;;;N;;;;;
-FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 062B 0645;;;;N;;;;;
-FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 062B 0647;;;;N;;;;;
-FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0633 0645;;;;N;;;;;
-FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0633 0647;;;;N;;;;;
-FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 0645;;;;N;;;;;
-FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0634 0647;;;;N;;;;;
-FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL;<medial> 0643 0644;;;;N;;;;;
-FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0643 0645;;;;N;;;;;
-FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0644 0645;;;;N;;;;;
-FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0646 0645;;;;N;;;;;
-FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0646 0647;;;;N;;;;;
-FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 064A 0645;;;;N;;;;;
-FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 064A 0647;;;;N;;;;;
-FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL;<medial> 0640 064E 0651;;;;N;;;;;
-FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL;<medial> 0640 064F 0651;;;;N;;;;;
-FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL;<medial> 0640 0650 0651;;;;N;;;;;
-FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0637 0649;;;;N;;;;;
-FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0637 064A;;;;N;;;;;
-FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0639 0649;;;;N;;;;;
-FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0639 064A;;;;N;;;;;
-FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 063A 0649;;;;N;;;;;
-FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 063A 064A;;;;N;;;;;
-FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0633 0649;;;;N;;;;;
-FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0633 064A;;;;N;;;;;
-FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0634 0649;;;;N;;;;;
-FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0634 064A;;;;N;;;;;
-FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062D 0649;;;;N;;;;;
-FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062D 064A;;;;N;;;;;
-FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062C 0649;;;;N;;;;;
-FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062C 064A;;;;N;;;;;
-FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062E 0649;;;;N;;;;;
-FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062E 064A;;;;N;;;;;
-FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0635 0649;;;;N;;;;;
-FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0635 064A;;;;N;;;;;
-FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0636 0649;;;;N;;;;;
-FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0636 064A;;;;N;;;;;
-FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0634 062C;;;;N;;;;;
-FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0634 062D;;;;N;;;;;
-FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0634 062E;;;;N;;;;;
-FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0634 0645;;;;N;;;;;
-FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0634 0631;;;;N;;;;;
-FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0633 0631;;;;N;;;;;
-FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0635 0631;;;;N;;;;;
-FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0636 0631;;;;N;;;;;
-FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0637 0649;;;;N;;;;;
-FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0637 064A;;;;N;;;;;
-FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0639 0649;;;;N;;;;;
-FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL;<final> 0639 064A;;;;N;;;;;
-FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 063A 0649;;;;N;;;;;
-FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL;<final> 063A 064A;;;;N;;;;;
-FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 0649;;;;N;;;;;
-FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 064A;;;;N;;;;;
-FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0634 0649;;;;N;;;;;
-FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 064A;;;;N;;;;;
-FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062D 0649;;;;N;;;;;
-FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 064A;;;;N;;;;;
-FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 0649;;;;N;;;;;
-FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 064A;;;;N;;;;;
-FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062E 0649;;;;N;;;;;
-FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062E 064A;;;;N;;;;;
-FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0635 0649;;;;N;;;;;
-FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL;<final> 0635 064A;;;;N;;;;;
-FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0636 0649;;;;N;;;;;
-FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL;<final> 0636 064A;;;;N;;;;;
-FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL;<final> 0634 062C;;;;N;;;;;
-FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL;<final> 0634 062D;;;;N;;;;;
-FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL;<final> 0634 062E;;;;N;;;;;
-FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 0645;;;;N;;;;;
-FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL;<final> 0634 0631;;;;N;;;;;
-FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL;<final> 0633 0631;;;;N;;;;;
-FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL;<final> 0635 0631;;;;N;;;;;
-FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL;<final> 0636 0631;;;;N;;;;;
-FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0634 062C;;;;N;;;;;
-FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0634 062D;;;;N;;;;;
-FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0634 062E;;;;N;;;;;
-FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 0645;;;;N;;;;;
-FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0633 0647;;;;N;;;;;
-FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0634 0647;;;;N;;;;;
-FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0637 0645;;;;N;;;;;
-FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0633 062C;;;;N;;;;;
-FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062D;;;;N;;;;;
-FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062E;;;;N;;;;;
-FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 062C;;;;N;;;;;
-FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062D;;;;N;;;;;
-FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062E;;;;N;;;;;
-FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0637 0645;;;;N;;;;;
-FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0638 0645;;;;N;;;;;
-FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL;<final> 0627 064B;;;;N;;;;;
-FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0627 064B;;;;N;;;;;
-FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
-FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
-FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C 0645;;;;N;;;;;
-FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL;<final> 062A 062D 062C;;;;N;;;;;
-FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 062C;;;;N;;;;;
-FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 0645;;;;N;;;;;
-FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062E 0645;;;;N;;;;;
-FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062C;;;;N;;;;;
-FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062D;;;;N;;;;;
-FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062E;;;;N;;;;;
-FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 062C 0645 062D;;;;N;;;;;
-FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062C 0645 062D;;;;N;;;;;
-FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 0645 064A;;;;N;;;;;
-FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062D 0645 0649;;;;N;;;;;
-FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 062D 062C;;;;N;;;;;
-FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 062C 062D;;;;N;;;;;
-FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 062C 0649;;;;N;;;;;
-FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0633 0645 062D;;;;N;;;;;
-FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 0645 062D;;;;N;;;;;
-FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645 062C;;;;N;;;;;
-FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0633 0645 0645;;;;N;;;;;
-FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645 0645;;;;N;;;;;
-FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL;<final> 0635 062D 062D;;;;N;;;;;
-FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0635 062D 062D;;;;N;;;;;
-FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0635 0645 0645;;;;N;;;;;
-FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 062D 0645;;;;N;;;;;
-FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 062D 0645;;;;N;;;;;
-FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 062C 064A;;;;N;;;;;
-FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL;<final> 0634 0645 062E;;;;N;;;;;
-FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0634 0645 062E;;;;N;;;;;
-FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 0645 0645;;;;N;;;;;
-FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 0645 0645;;;;N;;;;;
-FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0636 062D 0649;;;;N;;;;;
-FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0636 062E 0645;;;;N;;;;;
-FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0636 062E 0645;;;;N;;;;;
-FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0637 0645 062D;;;;N;;;;;
-FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0637 0645 062D;;;;N;;;;;
-FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0637 0645 0645;;;;N;;;;;
-FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0637 0645 064A;;;;N;;;;;
-FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0639 062C 0645;;;;N;;;;;
-FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0639 0645 0645;;;;N;;;;;
-FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 0645 0645;;;;N;;;;;
-FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0639 0645 0649;;;;N;;;;;
-FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 063A 0645 0645;;;;N;;;;;
-FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 063A 0645 064A;;;;N;;;;;
-FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 063A 0645 0649;;;;N;;;;;
-FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0641 062E 0645;;;;N;;;;;
-FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0641 062E 0645;;;;N;;;;;
-FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0642 0645 062D;;;;N;;;;;
-FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0642 0645 0645;;;;N;;;;;
-FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062D 0645;;;;N;;;;;
-FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 062D 064A;;;;N;;;;;
-FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0644 062D 0649;;;;N;;;;;
-FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C 062C;;;;N;;;;;
-FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL;<final> 0644 062C 062C;;;;N;;;;;
-FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062E 0645;;;;N;;;;;
-FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062E 0645;;;;N;;;;;
-FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0644 0645 062D;;;;N;;;;;
-FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0644 0645 062D;;;;N;;;;;
-FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062D 062C;;;;N;;;;;
-FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062D 0645;;;;N;;;;;
-FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062D 064A;;;;N;;;;;
-FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062D;;;;N;;;;;
-FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C 0645;;;;N;;;;;
-FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 062C;;;;N;;;;;
-FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 0645;;;;N;;;;;
-FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062E;;;;N;;;;;
-FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 062C;;;;N;;;;;
-FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 0645;;;;N;;;;;
-FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062D 0645;;;;N;;;;;
-FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 062D 0649;;;;N;;;;;
-FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0646 062C 0645;;;;N;;;;;
-FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062C 0645;;;;N;;;;;
-FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 062C 0649;;;;N;;;;;
-FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 0645 064A;;;;N;;;;;
-FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 0645 0649;;;;N;;;;;
-FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 064A 0645 0645;;;;N;;;;;
-FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 064A 0645 0645;;;;N;;;;;
-FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 062E 064A;;;;N;;;;;
-FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 062C 064A;;;;N;;;;;
-FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 062C 0649;;;;N;;;;;
-FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 062E 064A;;;;N;;;;;
-FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 062E 0649;;;;N;;;;;
-FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 0645 064A;;;;N;;;;;
-FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 0645 0649;;;;N;;;;;
-FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 0645 064A;;;;N;;;;;
-FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 062D 0649;;;;N;;;;;
-FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 0645 0649;;;;N;;;;;
-FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 062E 0649;;;;N;;;;;
-FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0635 062D 064A;;;;N;;;;;
-FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 062D 064A;;;;N;;;;;
-FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0636 062D 064A;;;;N;;;;;
-FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 062C 064A;;;;N;;;;;
-FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 0645 064A;;;;N;;;;;
-FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 062D 064A;;;;N;;;;;
-FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 062C 064A;;;;N;;;;;
-FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 0645 064A;;;;N;;;;;
-FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 0645 064A;;;;N;;;;;
-FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0642 0645 064A;;;;N;;;;;
-FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062D 064A;;;;N;;;;;
-FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0642 0645 062D;;;;N;;;;;
-FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062D 0645;;;;N;;;;;
-FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0639 0645 064A;;;;N;;;;;
-FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0643 0645 064A;;;;N;;;;;
-FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0646 062C 062D;;;;N;;;;;
-FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062E 064A;;;;N;;;;;
-FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C 0645;;;;N;;;;;
-FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0643 0645 0645;;;;N;;;;;
-FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062C 0645;;;;N;;;;;
-FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0646 062C 062D;;;;N;;;;;
-FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 062D 064A;;;;N;;;;;
-FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 062C 064A;;;;N;;;;;
-FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062C 064A;;;;N;;;;;
-FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0641 0645 064A;;;;N;;;;;
-FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 062D 064A;;;;N;;;;;
-FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0643 0645 0645;;;;N;;;;;
-FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 062C 0645;;;;N;;;;;
-FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645 0645;;;;N;;;;;
-FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 062E 064A;;;;N;;;;;
-FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062C 064A;;;;N;;;;;
-FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 06D2;;;;N;;;;;
-FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0642 0644 06D2;;;;N;;;;;
-FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL;<isolated> 0627 0644 0644 0647;;;;N;;;;;
-FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL;<isolated> 0627 0643 0628 0631;;;;N;;;;;
-FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL;<isolated> 0645 062D 0645 062F;;;;N;;;;;
-FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 0639 0645;;;;N;;;;;
-FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL;<isolated> 0631 0633 0648 0644;;;;N;;;;;
-FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL;<isolated> 0639 0644 064A 0647;;;;N;;;;;
-FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL;<isolated> 0648 0633 0644 0645;;;;N;;;;;
-FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 0649;;;;N;;;;;
-FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL;<isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;;
-FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;AL;<isolated> 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;;
-FDFC;RIAL SIGN;Sc;0;AL;<isolated> 0631 06CC 0627 0644;;;;N;;;;;
-FDFD;ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM;So;0;ON;;;;;N;;;;;
-FE00;VARIATION SELECTOR-1;Mn;0;NSM;;;;;N;;;;;
-FE01;VARIATION SELECTOR-2;Mn;0;NSM;;;;;N;;;;;
-FE02;VARIATION SELECTOR-3;Mn;0;NSM;;;;;N;;;;;
-FE03;VARIATION SELECTOR-4;Mn;0;NSM;;;;;N;;;;;
-FE04;VARIATION SELECTOR-5;Mn;0;NSM;;;;;N;;;;;
-FE05;VARIATION SELECTOR-6;Mn;0;NSM;;;;;N;;;;;
-FE06;VARIATION SELECTOR-7;Mn;0;NSM;;;;;N;;;;;
-FE07;VARIATION SELECTOR-8;Mn;0;NSM;;;;;N;;;;;
-FE08;VARIATION SELECTOR-9;Mn;0;NSM;;;;;N;;;;;
-FE09;VARIATION SELECTOR-10;Mn;0;NSM;;;;;N;;;;;
-FE0A;VARIATION SELECTOR-11;Mn;0;NSM;;;;;N;;;;;
-FE0B;VARIATION SELECTOR-12;Mn;0;NSM;;;;;N;;;;;
-FE0C;VARIATION SELECTOR-13;Mn;0;NSM;;;;;N;;;;;
-FE0D;VARIATION SELECTOR-14;Mn;0;NSM;;;;;N;;;;;
-FE0E;VARIATION SELECTOR-15;Mn;0;NSM;;;;;N;;;;;
-FE0F;VARIATION SELECTOR-16;Mn;0;NSM;;;;;N;;;;;
-FE10;PRESENTATION FORM FOR VERTICAL COMMA;Po;0;ON;<vertical> 002C;;;;N;;;;;
-FE11;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA;Po;0;ON;<vertical> 3001;;;;N;;;;;
-FE12;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP;Po;0;ON;<vertical> 3002;;;;N;;;;;
-FE13;PRESENTATION FORM FOR VERTICAL COLON;Po;0;ON;<vertical> 003A;;;;N;;;;;
-FE14;PRESENTATION FORM FOR VERTICAL SEMICOLON;Po;0;ON;<vertical> 003B;;;;N;;;;;
-FE15;PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK;Po;0;ON;<vertical> 0021;;;;N;;;;;
-FE16;PRESENTATION FORM FOR VERTICAL QUESTION MARK;Po;0;ON;<vertical> 003F;;;;N;;;;;
-FE17;PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;<vertical> 3016;;;;N;;;;;
-FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET;Pe;0;ON;<vertical> 3017;;;;N;;;;;
-FE19;PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS;Po;0;ON;<vertical> 2026;;;;N;;;;;
-FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
-FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
-FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
-FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
-FE24;COMBINING MACRON LEFT HALF;Mn;230;NSM;;;;;N;;;;;
-FE25;COMBINING MACRON RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
-FE26;COMBINING CONJOINING MACRON;Mn;230;NSM;;;;;N;;;;;
-FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON;<vertical> 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;;
-FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON;<vertical> 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;;
-FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON;<vertical> 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;;
-FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;;
-FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;;
-FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON;<vertical> 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;;
-FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON;<vertical> 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;;
-FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON;<vertical> 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;;
-FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON;<vertical> 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;;
-FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON;<vertical> 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;;
-FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;<vertical> 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;;
-FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;<vertical> 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;;
-FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;<vertical> 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;;
-FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;<vertical> 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;;
-FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;<vertical> 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;;
-FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON;<vertical> 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;;
-FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON;<vertical> 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;;
-FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON;<vertical> 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;;
-FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON;<vertical> 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;;
-FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON;<vertical> 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;;
-FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON;<vertical> 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;;
-FE45;SESAME DOT;Po;0;ON;;;;;N;;;;;
-FE46;WHITE SESAME DOT;Po;0;ON;;;;;N;;;;;
-FE47;PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET;Ps;0;ON;<vertical> 005B;;;;N;;;;;
-FE48;PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET;Pe;0;ON;<vertical> 005D;;;;N;;;;;
-FE49;DASHED OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DASHED OVERSCORE;;;;
-FE4A;CENTRELINE OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;;
-FE4B;WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING WAVY OVERSCORE;;;;
-FE4C;DOUBLE WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;;
-FE4D;DASHED LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING DASHED UNDERSCORE;;;;
-FE4E;CENTRELINE LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;;
-FE4F;WAVY LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING WAVY UNDERSCORE;;;;
-FE50;SMALL COMMA;Po;0;CS;<small> 002C;;;;N;;;;;
-FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON;<small> 3001;;;;N;;;;;
-FE52;SMALL FULL STOP;Po;0;CS;<small> 002E;;;;N;SMALL PERIOD;;;;
-FE54;SMALL SEMICOLON;Po;0;ON;<small> 003B;;;;N;;;;;
-FE55;SMALL COLON;Po;0;CS;<small> 003A;;;;N;;;;;
-FE56;SMALL QUESTION MARK;Po;0;ON;<small> 003F;;;;N;;;;;
-FE57;SMALL EXCLAMATION MARK;Po;0;ON;<small> 0021;;;;N;;;;;
-FE58;SMALL EM DASH;Pd;0;ON;<small> 2014;;;;N;;;;;
-FE59;SMALL LEFT PARENTHESIS;Ps;0;ON;<small> 0028;;;;Y;SMALL OPENING PARENTHESIS;;;;
-FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON;<small> 0029;;;;Y;SMALL CLOSING PARENTHESIS;;;;
-FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON;<small> 007B;;;;Y;SMALL OPENING CURLY BRACKET;;;;
-FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON;<small> 007D;;;;Y;SMALL CLOSING CURLY BRACKET;;;;
-FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON;<small> 3014;;;;Y;SMALL OPENING TORTOISE SHELL BRACKET;;;;
-FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;<small> 3015;;;;Y;SMALL CLOSING TORTOISE SHELL BRACKET;;;;
-FE5F;SMALL NUMBER SIGN;Po;0;ET;<small> 0023;;;;N;;;;;
-FE60;SMALL AMPERSAND;Po;0;ON;<small> 0026;;;;N;;;;;
-FE61;SMALL ASTERISK;Po;0;ON;<small> 002A;;;;N;;;;;
-FE62;SMALL PLUS SIGN;Sm;0;ES;<small> 002B;;;;N;;;;;
-FE63;SMALL HYPHEN-MINUS;Pd;0;ES;<small> 002D;;;;N;;;;;
-FE64;SMALL LESS-THAN SIGN;Sm;0;ON;<small> 003C;;;;Y;;;;;
-FE65;SMALL GREATER-THAN SIGN;Sm;0;ON;<small> 003E;;;;Y;;;;;
-FE66;SMALL EQUALS SIGN;Sm;0;ON;<small> 003D;;;;N;;;;;
-FE68;SMALL REVERSE SOLIDUS;Po;0;ON;<small> 005C;;;;N;SMALL BACKSLASH;;;;
-FE69;SMALL DOLLAR SIGN;Sc;0;ET;<small> 0024;;;;N;;;;;
-FE6A;SMALL PERCENT SIGN;Po;0;ET;<small> 0025;;;;N;;;;;
-FE6B;SMALL COMMERCIAL AT;Po;0;ON;<small> 0040;;;;N;;;;;
-FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;;
-FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL;<medial> 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;;
-FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;;
-FE73;ARABIC TAIL FRAGMENT;Lo;0;AL;;;;;N;;;;;
-FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;;
-FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064E;;;;N;ARABIC SPACING FATHAH;;;;
-FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL;<medial> 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;;
-FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;;
-FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL;<medial> 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;;
-FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0650;;;;N;ARABIC SPACING KASRAH;;;;
-FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL;<medial> 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;;
-FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;;
-FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL;<medial> 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;;
-FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL;<isolated> 0020 0652;;;;N;ARABIC SPACING SUKUN;;;;
-FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL;<medial> 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;;
-FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL;<isolated> 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;;
-FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;;
-FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;;
-FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;;
-FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;;
-FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;;
-FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;;
-FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL;<isolated> 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;;
-FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL;<final> 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;;
-FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;;
-FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;;
-FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL;<initial> 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;;
-FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL;<medial> 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;;
-FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;;
-FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL;<final> 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;;
-FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL;<isolated> 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;;
-FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL;<final> 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;;
-FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL;<initial> 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;;
-FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL;<medial> 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;;
-FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL;<isolated> 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;;
-FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL;<final> 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;;
-FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL;<isolated> 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;;
-FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL;<final> 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;;
-FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL;<initial> 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;;
-FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL;<medial> 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;;
-FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL;<isolated> 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;;
-FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL;<final> 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;;
-FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL;<initial> 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;;
-FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL;<medial> 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;;
-FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;;
-FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL;<final> 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;;
-FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL;<initial> 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;;
-FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL;<medial> 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;;
-FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL;<isolated> 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;;
-FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL;<final> 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;;
-FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL;<initial> 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;;
-FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL;<medial> 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;;
-FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;;
-FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL;<final> 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;;
-FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL;<initial> 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;;
-FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL;<medial> 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;;
-FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL;<isolated> 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;;
-FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL;<final> 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;;
-FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL;<isolated> 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;;
-FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL;<final> 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;;
-FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL;<isolated> 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;;
-FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL;<final> 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;;
-FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL;<isolated> 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;;
-FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL;<final> 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;;
-FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL;<isolated> 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;;
-FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL;<final> 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;;
-FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL;<initial> 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;;
-FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL;<medial> 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;;
-FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL;<isolated> 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;;
-FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL;<final> 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;;
-FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL;<initial> 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;;
-FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL;<medial> 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;;
-FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL;<isolated> 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;;
-FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL;<final> 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;;
-FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL;<initial> 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;;
-FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL;<medial> 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;;
-FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL;<isolated> 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;;
-FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL;<final> 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;;
-FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL;<initial> 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;;
-FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL;<medial> 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;;
-FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL;<isolated> 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;;
-FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL;<final> 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;;
-FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL;<initial> 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;;
-FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL;<medial> 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;;
-FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL;<isolated> 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;;
-FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL;<final> 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;;
-FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL;<initial> 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;;
-FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL;<medial> 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;;
-FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL;<isolated> 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;;
-FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL;<final> 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;;
-FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL;<initial> 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;;
-FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL;<medial> 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;;
-FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL;<isolated> 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;;
-FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL;<final> 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;;
-FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL;<initial> 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;;
-FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL;<medial> 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;;
-FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL;<isolated> 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;;
-FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL;<final> 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;;
-FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL;<initial> 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;;
-FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL;<medial> 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;;
-FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL;<isolated> 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;;
-FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL;<final> 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;;
-FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL;<initial> 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;;
-FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL;<medial> 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;;
-FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL;<isolated> 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;;
-FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL;<final> 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;;
-FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL;<initial> 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;;
-FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL;<medial> 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;;
-FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL;<isolated> 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;;
-FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL;<final> 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;;
-FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL;<initial> 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;;
-FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL;<medial> 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;;
-FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;;
-FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL;<final> 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;;
-FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL;<initial> 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;;
-FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL;<medial> 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;;
-FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL;<isolated> 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;;
-FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL;<final> 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;;
-FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL;<initial> 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;;
-FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL;<medial> 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;;
-FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL;<isolated> 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;;
-FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL;<final> 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;;
-FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL;<initial> 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;;
-FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL;<medial> 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;;
-FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL;<isolated> 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;;
-FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL;<final> 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;;
-FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;;
-FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;;
-FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;;
-FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL;<final> 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;;
-FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL;<initial> 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;;
-FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL;<medial> 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;;
-FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
-FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
-FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
-FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
-FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL;<isolated> 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
-FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL;<final> 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
-FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;;
-FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;;
-FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;;
-FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON;<wide> 0021;;;;N;;;;;
-FF02;FULLWIDTH QUOTATION MARK;Po;0;ON;<wide> 0022;;;;N;;;;;
-FF03;FULLWIDTH NUMBER SIGN;Po;0;ET;<wide> 0023;;;;N;;;;;
-FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET;<wide> 0024;;;;N;;;;;
-FF05;FULLWIDTH PERCENT SIGN;Po;0;ET;<wide> 0025;;;;N;;;;;
-FF06;FULLWIDTH AMPERSAND;Po;0;ON;<wide> 0026;;;;N;;;;;
-FF07;FULLWIDTH APOSTROPHE;Po;0;ON;<wide> 0027;;;;N;;;;;
-FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON;<wide> 0028;;;;Y;FULLWIDTH OPENING PARENTHESIS;;;;
-FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON;<wide> 0029;;;;Y;FULLWIDTH CLOSING PARENTHESIS;;;;
-FF0A;FULLWIDTH ASTERISK;Po;0;ON;<wide> 002A;;;;N;;;;;
-FF0B;FULLWIDTH PLUS SIGN;Sm;0;ES;<wide> 002B;;;;N;;;;;
-FF0C;FULLWIDTH COMMA;Po;0;CS;<wide> 002C;;;;N;;;;;
-FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ES;<wide> 002D;;;;N;;;;;
-FF0E;FULLWIDTH FULL STOP;Po;0;CS;<wide> 002E;;;;N;FULLWIDTH PERIOD;;;;
-FF0F;FULLWIDTH SOLIDUS;Po;0;CS;<wide> 002F;;;;N;FULLWIDTH SLASH;;;;
-FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN;<wide> 0030;0;0;0;N;;;;;
-FF11;FULLWIDTH DIGIT ONE;Nd;0;EN;<wide> 0031;1;1;1;N;;;;;
-FF12;FULLWIDTH DIGIT TWO;Nd;0;EN;<wide> 0032;2;2;2;N;;;;;
-FF13;FULLWIDTH DIGIT THREE;Nd;0;EN;<wide> 0033;3;3;3;N;;;;;
-FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN;<wide> 0034;4;4;4;N;;;;;
-FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN;<wide> 0035;5;5;5;N;;;;;
-FF16;FULLWIDTH DIGIT SIX;Nd;0;EN;<wide> 0036;6;6;6;N;;;;;
-FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN;<wide> 0037;7;7;7;N;;;;;
-FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN;<wide> 0038;8;8;8;N;;;;;
-FF19;FULLWIDTH DIGIT NINE;Nd;0;EN;<wide> 0039;9;9;9;N;;;;;
-FF1A;FULLWIDTH COLON;Po;0;CS;<wide> 003A;;;;N;;;;;
-FF1B;FULLWIDTH SEMICOLON;Po;0;ON;<wide> 003B;;;;N;;;;;
-FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON;<wide> 003C;;;;Y;;;;;
-FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON;<wide> 003D;;;;N;;;;;
-FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON;<wide> 003E;;;;Y;;;;;
-FF1F;FULLWIDTH QUESTION MARK;Po;0;ON;<wide> 003F;;;;N;;;;;
-FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON;<wide> 0040;;;;N;;;;;
-FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L;<wide> 0041;;;;N;;;;FF41;
-FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L;<wide> 0042;;;;N;;;;FF42;
-FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L;<wide> 0043;;;;N;;;;FF43;
-FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L;<wide> 0044;;;;N;;;;FF44;
-FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L;<wide> 0045;;;;N;;;;FF45;
-FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L;<wide> 0046;;;;N;;;;FF46;
-FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L;<wide> 0047;;;;N;;;;FF47;
-FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L;<wide> 0048;;;;N;;;;FF48;
-FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L;<wide> 0049;;;;N;;;;FF49;
-FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L;<wide> 004A;;;;N;;;;FF4A;
-FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L;<wide> 004B;;;;N;;;;FF4B;
-FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L;<wide> 004C;;;;N;;;;FF4C;
-FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L;<wide> 004D;;;;N;;;;FF4D;
-FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L;<wide> 004E;;;;N;;;;FF4E;
-FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L;<wide> 004F;;;;N;;;;FF4F;
-FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L;<wide> 0050;;;;N;;;;FF50;
-FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L;<wide> 0051;;;;N;;;;FF51;
-FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L;<wide> 0052;;;;N;;;;FF52;
-FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L;<wide> 0053;;;;N;;;;FF53;
-FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L;<wide> 0054;;;;N;;;;FF54;
-FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L;<wide> 0055;;;;N;;;;FF55;
-FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L;<wide> 0056;;;;N;;;;FF56;
-FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L;<wide> 0057;;;;N;;;;FF57;
-FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L;<wide> 0058;;;;N;;;;FF58;
-FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L;<wide> 0059;;;;N;;;;FF59;
-FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L;<wide> 005A;;;;N;;;;FF5A;
-FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON;<wide> 005B;;;;Y;FULLWIDTH OPENING SQUARE BRACKET;;;;
-FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON;<wide> 005C;;;;N;FULLWIDTH BACKSLASH;;;;
-FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON;<wide> 005D;;;;Y;FULLWIDTH CLOSING SQUARE BRACKET;;;;
-FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON;<wide> 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;;
-FF3F;FULLWIDTH LOW LINE;Pc;0;ON;<wide> 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;;
-FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON;<wide> 0060;;;;N;FULLWIDTH SPACING GRAVE;;;;
-FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L;<wide> 0061;;;;N;;;FF21;;FF21
-FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L;<wide> 0062;;;;N;;;FF22;;FF22
-FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L;<wide> 0063;;;;N;;;FF23;;FF23
-FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L;<wide> 0064;;;;N;;;FF24;;FF24
-FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L;<wide> 0065;;;;N;;;FF25;;FF25
-FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L;<wide> 0066;;;;N;;;FF26;;FF26
-FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L;<wide> 0067;;;;N;;;FF27;;FF27
-FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L;<wide> 0068;;;;N;;;FF28;;FF28
-FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L;<wide> 0069;;;;N;;;FF29;;FF29
-FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L;<wide> 006A;;;;N;;;FF2A;;FF2A
-FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L;<wide> 006B;;;;N;;;FF2B;;FF2B
-FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L;<wide> 006C;;;;N;;;FF2C;;FF2C
-FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L;<wide> 006D;;;;N;;;FF2D;;FF2D
-FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L;<wide> 006E;;;;N;;;FF2E;;FF2E
-FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L;<wide> 006F;;;;N;;;FF2F;;FF2F
-FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L;<wide> 0070;;;;N;;;FF30;;FF30
-FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L;<wide> 0071;;;;N;;;FF31;;FF31
-FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L;<wide> 0072;;;;N;;;FF32;;FF32
-FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L;<wide> 0073;;;;N;;;FF33;;FF33
-FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L;<wide> 0074;;;;N;;;FF34;;FF34
-FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L;<wide> 0075;;;;N;;;FF35;;FF35
-FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L;<wide> 0076;;;;N;;;FF36;;FF36
-FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L;<wide> 0077;;;;N;;;FF37;;FF37
-FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L;<wide> 0078;;;;N;;;FF38;;FF38
-FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L;<wide> 0079;;;;N;;;FF39;;FF39
-FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L;<wide> 007A;;;;N;;;FF3A;;FF3A
-FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON;<wide> 007B;;;;Y;FULLWIDTH OPENING CURLY BRACKET;;;;
-FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON;<wide> 007C;;;;N;FULLWIDTH VERTICAL BAR;;;;
-FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON;<wide> 007D;;;;Y;FULLWIDTH CLOSING CURLY BRACKET;;;;
-FF5E;FULLWIDTH TILDE;Sm;0;ON;<wide> 007E;;;;N;FULLWIDTH SPACING TILDE;;;;
-FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON;<wide> 2985;;;;Y;;;;;
-FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON;<wide> 2986;;;;Y;;;;;
-FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON;<narrow> 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;;
-FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON;<narrow> 300C;;;;Y;HALFWIDTH OPENING CORNER BRACKET;;;;
-FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON;<narrow> 300D;;;;Y;HALFWIDTH CLOSING CORNER BRACKET;;;;
-FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON;<narrow> 3001;;;;N;;;;;
-FF65;HALFWIDTH KATAKANA MIDDLE DOT;Po;0;ON;<narrow> 30FB;;;;N;;;;;
-FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L;<narrow> 30F2;;;;N;;;;;
-FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L;<narrow> 30A1;;;;N;;;;;
-FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L;<narrow> 30A3;;;;N;;;;;
-FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L;<narrow> 30A5;;;;N;;;;;
-FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L;<narrow> 30A7;;;;N;;;;;
-FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L;<narrow> 30A9;;;;N;;;;;
-FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L;<narrow> 30E3;;;;N;;;;;
-FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L;<narrow> 30E5;;;;N;;;;;
-FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L;<narrow> 30E7;;;;N;;;;;
-FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L;<narrow> 30C3;;;;N;;;;;
-FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;<narrow> 30FC;;;;N;;;;;
-FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L;<narrow> 30A2;;;;N;;;;;
-FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L;<narrow> 30A4;;;;N;;;;;
-FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L;<narrow> 30A6;;;;N;;;;;
-FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L;<narrow> 30A8;;;;N;;;;;
-FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L;<narrow> 30AA;;;;N;;;;;
-FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L;<narrow> 30AB;;;;N;;;;;
-FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L;<narrow> 30AD;;;;N;;;;;
-FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L;<narrow> 30AF;;;;N;;;;;
-FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L;<narrow> 30B1;;;;N;;;;;
-FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L;<narrow> 30B3;;;;N;;;;;
-FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L;<narrow> 30B5;;;;N;;;;;
-FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L;<narrow> 30B7;;;;N;;;;;
-FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L;<narrow> 30B9;;;;N;;;;;
-FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L;<narrow> 30BB;;;;N;;;;;
-FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L;<narrow> 30BD;;;;N;;;;;
-FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L;<narrow> 30BF;;;;N;;;;;
-FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L;<narrow> 30C1;;;;N;;;;;
-FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L;<narrow> 30C4;;;;N;;;;;
-FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L;<narrow> 30C6;;;;N;;;;;
-FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L;<narrow> 30C8;;;;N;;;;;
-FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L;<narrow> 30CA;;;;N;;;;;
-FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L;<narrow> 30CB;;;;N;;;;;
-FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L;<narrow> 30CC;;;;N;;;;;
-FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L;<narrow> 30CD;;;;N;;;;;
-FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L;<narrow> 30CE;;;;N;;;;;
-FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L;<narrow> 30CF;;;;N;;;;;
-FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L;<narrow> 30D2;;;;N;;;;;
-FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L;<narrow> 30D5;;;;N;;;;;
-FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L;<narrow> 30D8;;;;N;;;;;
-FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L;<narrow> 30DB;;;;N;;;;;
-FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L;<narrow> 30DE;;;;N;;;;;
-FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L;<narrow> 30DF;;;;N;;;;;
-FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L;<narrow> 30E0;;;;N;;;;;
-FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L;<narrow> 30E1;;;;N;;;;;
-FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L;<narrow> 30E2;;;;N;;;;;
-FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L;<narrow> 30E4;;;;N;;;;;
-FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L;<narrow> 30E6;;;;N;;;;;
-FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L;<narrow> 30E8;;;;N;;;;;
-FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L;<narrow> 30E9;;;;N;;;;;
-FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L;<narrow> 30EA;;;;N;;;;;
-FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L;<narrow> 30EB;;;;N;;;;;
-FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L;<narrow> 30EC;;;;N;;;;;
-FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L;<narrow> 30ED;;;;N;;;;;
-FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L;<narrow> 30EF;;;;N;;;;;
-FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L;<narrow> 30F3;;;;N;;;;;
-FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;;;;
-FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;;;;
-FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L;<narrow> 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;;
-FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L;<narrow> 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;;
-FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L;<narrow> 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;;
-FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<narrow> 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;;
-FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L;<narrow> 3134;;;;N;;;;;
-FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L;<narrow> 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;;
-FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L;<narrow> 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;;
-FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L;<narrow> 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;;
-FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L;<narrow> 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;;
-FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L;<narrow> 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;;
-FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L;<narrow> 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;;
-FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L;<narrow> 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;;
-FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L;<narrow> 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;;
-FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L;<narrow> 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;;
-FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L;<narrow> 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;;
-FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L;<narrow> 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;;
-FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L;<narrow> 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;;
-FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L;<narrow> 3141;;;;N;;;;;
-FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L;<narrow> 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;;
-FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L;<narrow> 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;;
-FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L;<narrow> 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;;
-FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L;<narrow> 3145;;;;N;;;;;
-FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L;<narrow> 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;;
-FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L;<narrow> 3147;;;;N;;;;;
-FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L;<narrow> 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;;
-FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L;<narrow> 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;;
-FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L;<narrow> 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;;
-FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L;<narrow> 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;;
-FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L;<narrow> 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;;
-FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L;<narrow> 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;;
-FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L;<narrow> 314E;;;;N;;;;;
-FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L;<narrow> 314F;;;;N;;;;;
-FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L;<narrow> 3150;;;;N;;;;;
-FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L;<narrow> 3151;;;;N;;;;;
-FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L;<narrow> 3152;;;;N;;;;;
-FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L;<narrow> 3153;;;;N;;;;;
-FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L;<narrow> 3154;;;;N;;;;;
-FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L;<narrow> 3155;;;;N;;;;;
-FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L;<narrow> 3156;;;;N;;;;;
-FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L;<narrow> 3157;;;;N;;;;;
-FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L;<narrow> 3158;;;;N;;;;;
-FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L;<narrow> 3159;;;;N;;;;;
-FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L;<narrow> 315A;;;;N;;;;;
-FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L;<narrow> 315B;;;;N;;;;;
-FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L;<narrow> 315C;;;;N;;;;;
-FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L;<narrow> 315D;;;;N;;;;;
-FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L;<narrow> 315E;;;;N;;;;;
-FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L;<narrow> 315F;;;;N;;;;;
-FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L;<narrow> 3160;;;;N;;;;;
-FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L;<narrow> 3161;;;;N;;;;;
-FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L;<narrow> 3162;;;;N;;;;;
-FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;
-FFE0;FULLWIDTH CENT SIGN;Sc;0;ET;<wide> 00A2;;;;N;;;;;
-FFE1;FULLWIDTH POUND SIGN;Sc;0;ET;<wide> 00A3;;;;N;;;;;
-FFE2;FULLWIDTH NOT SIGN;Sm;0;ON;<wide> 00AC;;;;N;;;;;
-FFE3;FULLWIDTH MACRON;Sk;0;ON;<wide> 00AF;;;;N;FULLWIDTH SPACING MACRON;;;;
-FFE4;FULLWIDTH BROKEN BAR;So;0;ON;<wide> 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;;
-FFE5;FULLWIDTH YEN SIGN;Sc;0;ET;<wide> 00A5;;;;N;;;;;
-FFE6;FULLWIDTH WON SIGN;Sc;0;ET;<wide> 20A9;;;;N;;;;;
-FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;0;ON;<narrow> 2502;;;;N;;;;;
-FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON;<narrow> 2190;;;;N;;;;;
-FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON;<narrow> 2191;;;;N;;;;;
-FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON;<narrow> 2192;;;;N;;;;;
-FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON;<narrow> 2193;;;;N;;;;;
-FFED;HALFWIDTH BLACK SQUARE;So;0;ON;<narrow> 25A0;;;;N;;;;;
-FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON;<narrow> 25CB;;;;N;;;;;
-FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;ON;;;;;N;;;;;
-FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;ON;;;;;N;;;;;
-FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;ON;;;;;N;;;;;
-FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
-FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
-10000;LINEAR B SYLLABLE B008 A;Lo;0;L;;;;;N;;;;;
-10001;LINEAR B SYLLABLE B038 E;Lo;0;L;;;;;N;;;;;
-10002;LINEAR B SYLLABLE B028 I;Lo;0;L;;;;;N;;;;;
-10003;LINEAR B SYLLABLE B061 O;Lo;0;L;;;;;N;;;;;
-10004;LINEAR B SYLLABLE B010 U;Lo;0;L;;;;;N;;;;;
-10005;LINEAR B SYLLABLE B001 DA;Lo;0;L;;;;;N;;;;;
-10006;LINEAR B SYLLABLE B045 DE;Lo;0;L;;;;;N;;;;;
-10007;LINEAR B SYLLABLE B007 DI;Lo;0;L;;;;;N;;;;;
-10008;LINEAR B SYLLABLE B014 DO;Lo;0;L;;;;;N;;;;;
-10009;LINEAR B SYLLABLE B051 DU;Lo;0;L;;;;;N;;;;;
-1000A;LINEAR B SYLLABLE B057 JA;Lo;0;L;;;;;N;;;;;
-1000B;LINEAR B SYLLABLE B046 JE;Lo;0;L;;;;;N;;;;;
-1000D;LINEAR B SYLLABLE B036 JO;Lo;0;L;;;;;N;;;;;
-1000E;LINEAR B SYLLABLE B065 JU;Lo;0;L;;;;;N;;;;;
-1000F;LINEAR B SYLLABLE B077 KA;Lo;0;L;;;;;N;;;;;
-10010;LINEAR B SYLLABLE B044 KE;Lo;0;L;;;;;N;;;;;
-10011;LINEAR B SYLLABLE B067 KI;Lo;0;L;;;;;N;;;;;
-10012;LINEAR B SYLLABLE B070 KO;Lo;0;L;;;;;N;;;;;
-10013;LINEAR B SYLLABLE B081 KU;Lo;0;L;;;;;N;;;;;
-10014;LINEAR B SYLLABLE B080 MA;Lo;0;L;;;;;N;;;;;
-10015;LINEAR B SYLLABLE B013 ME;Lo;0;L;;;;;N;;;;;
-10016;LINEAR B SYLLABLE B073 MI;Lo;0;L;;;;;N;;;;;
-10017;LINEAR B SYLLABLE B015 MO;Lo;0;L;;;;;N;;;;;
-10018;LINEAR B SYLLABLE B023 MU;Lo;0;L;;;;;N;;;;;
-10019;LINEAR B SYLLABLE B006 NA;Lo;0;L;;;;;N;;;;;
-1001A;LINEAR B SYLLABLE B024 NE;Lo;0;L;;;;;N;;;;;
-1001B;LINEAR B SYLLABLE B030 NI;Lo;0;L;;;;;N;;;;;
-1001C;LINEAR B SYLLABLE B052 NO;Lo;0;L;;;;;N;;;;;
-1001D;LINEAR B SYLLABLE B055 NU;Lo;0;L;;;;;N;;;;;
-1001E;LINEAR B SYLLABLE B003 PA;Lo;0;L;;;;;N;;;;;
-1001F;LINEAR B SYLLABLE B072 PE;Lo;0;L;;;;;N;;;;;
-10020;LINEAR B SYLLABLE B039 PI;Lo;0;L;;;;;N;;;;;
-10021;LINEAR B SYLLABLE B011 PO;Lo;0;L;;;;;N;;;;;
-10022;LINEAR B SYLLABLE B050 PU;Lo;0;L;;;;;N;;;;;
-10023;LINEAR B SYLLABLE B016 QA;Lo;0;L;;;;;N;;;;;
-10024;LINEAR B SYLLABLE B078 QE;Lo;0;L;;;;;N;;;;;
-10025;LINEAR B SYLLABLE B021 QI;Lo;0;L;;;;;N;;;;;
-10026;LINEAR B SYLLABLE B032 QO;Lo;0;L;;;;;N;;;;;
-10028;LINEAR B SYLLABLE B060 RA;Lo;0;L;;;;;N;;;;;
-10029;LINEAR B SYLLABLE B027 RE;Lo;0;L;;;;;N;;;;;
-1002A;LINEAR B SYLLABLE B053 RI;Lo;0;L;;;;;N;;;;;
-1002B;LINEAR B SYLLABLE B002 RO;Lo;0;L;;;;;N;;;;;
-1002C;LINEAR B SYLLABLE B026 RU;Lo;0;L;;;;;N;;;;;
-1002D;LINEAR B SYLLABLE B031 SA;Lo;0;L;;;;;N;;;;;
-1002E;LINEAR B SYLLABLE B009 SE;Lo;0;L;;;;;N;;;;;
-1002F;LINEAR B SYLLABLE B041 SI;Lo;0;L;;;;;N;;;;;
-10030;LINEAR B SYLLABLE B012 SO;Lo;0;L;;;;;N;;;;;
-10031;LINEAR B SYLLABLE B058 SU;Lo;0;L;;;;;N;;;;;
-10032;LINEAR B SYLLABLE B059 TA;Lo;0;L;;;;;N;;;;;
-10033;LINEAR B SYLLABLE B004 TE;Lo;0;L;;;;;N;;;;;
-10034;LINEAR B SYLLABLE B037 TI;Lo;0;L;;;;;N;;;;;
-10035;LINEAR B SYLLABLE B005 TO;Lo;0;L;;;;;N;;;;;
-10036;LINEAR B SYLLABLE B069 TU;Lo;0;L;;;;;N;;;;;
-10037;LINEAR B SYLLABLE B054 WA;Lo;0;L;;;;;N;;;;;
-10038;LINEAR B SYLLABLE B075 WE;Lo;0;L;;;;;N;;;;;
-10039;LINEAR B SYLLABLE B040 WI;Lo;0;L;;;;;N;;;;;
-1003A;LINEAR B SYLLABLE B042 WO;Lo;0;L;;;;;N;;;;;
-1003C;LINEAR B SYLLABLE B017 ZA;Lo;0;L;;;;;N;;;;;
-1003D;LINEAR B SYLLABLE B074 ZE;Lo;0;L;;;;;N;;;;;
-1003F;LINEAR B SYLLABLE B020 ZO;Lo;0;L;;;;;N;;;;;
-10040;LINEAR B SYLLABLE B025 A2;Lo;0;L;;;;;N;;;;;
-10041;LINEAR B SYLLABLE B043 A3;Lo;0;L;;;;;N;;;;;
-10042;LINEAR B SYLLABLE B085 AU;Lo;0;L;;;;;N;;;;;
-10043;LINEAR B SYLLABLE B071 DWE;Lo;0;L;;;;;N;;;;;
-10044;LINEAR B SYLLABLE B090 DWO;Lo;0;L;;;;;N;;;;;
-10045;LINEAR B SYLLABLE B048 NWA;Lo;0;L;;;;;N;;;;;
-10046;LINEAR B SYLLABLE B029 PU2;Lo;0;L;;;;;N;;;;;
-10047;LINEAR B SYLLABLE B062 PTE;Lo;0;L;;;;;N;;;;;
-10048;LINEAR B SYLLABLE B076 RA2;Lo;0;L;;;;;N;;;;;
-10049;LINEAR B SYLLABLE B033 RA3;Lo;0;L;;;;;N;;;;;
-1004A;LINEAR B SYLLABLE B068 RO2;Lo;0;L;;;;;N;;;;;
-1004B;LINEAR B SYLLABLE B066 TA2;Lo;0;L;;;;;N;;;;;
-1004C;LINEAR B SYLLABLE B087 TWE;Lo;0;L;;;;;N;;;;;
-1004D;LINEAR B SYLLABLE B091 TWO;Lo;0;L;;;;;N;;;;;
-10050;LINEAR B SYMBOL B018;Lo;0;L;;;;;N;;;;;
-10051;LINEAR B SYMBOL B019;Lo;0;L;;;;;N;;;;;
-10052;LINEAR B SYMBOL B022;Lo;0;L;;;;;N;;;;;
-10053;LINEAR B SYMBOL B034;Lo;0;L;;;;;N;;;;;
-10054;LINEAR B SYMBOL B047;Lo;0;L;;;;;N;;;;;
-10055;LINEAR B SYMBOL B049;Lo;0;L;;;;;N;;;;;
-10056;LINEAR B SYMBOL B056;Lo;0;L;;;;;N;;;;;
-10057;LINEAR B SYMBOL B063;Lo;0;L;;;;;N;;;;;
-10058;LINEAR B SYMBOL B064;Lo;0;L;;;;;N;;;;;
-10059;LINEAR B SYMBOL B079;Lo;0;L;;;;;N;;;;;
-1005A;LINEAR B SYMBOL B082;Lo;0;L;;;;;N;;;;;
-1005B;LINEAR B SYMBOL B083;Lo;0;L;;;;;N;;;;;
-1005C;LINEAR B SYMBOL B086;Lo;0;L;;;;;N;;;;;
-1005D;LINEAR B SYMBOL B089;Lo;0;L;;;;;N;;;;;
-10080;LINEAR B IDEOGRAM B100 MAN;Lo;0;L;;;;;N;;;;;
-10081;LINEAR B IDEOGRAM B102 WOMAN;Lo;0;L;;;;;N;;;;;
-10082;LINEAR B IDEOGRAM B104 DEER;Lo;0;L;;;;;N;;;;;
-10083;LINEAR B IDEOGRAM B105 EQUID;Lo;0;L;;;;;N;;;;;
-10084;LINEAR B IDEOGRAM B105F MARE;Lo;0;L;;;;;N;;;;;
-10085;LINEAR B IDEOGRAM B105M STALLION;Lo;0;L;;;;;N;;;;;
-10086;LINEAR B IDEOGRAM B106F EWE;Lo;0;L;;;;;N;;;;;
-10087;LINEAR B IDEOGRAM B106M RAM;Lo;0;L;;;;;N;;;;;
-10088;LINEAR B IDEOGRAM B107F SHE-GOAT;Lo;0;L;;;;;N;;;;;
-10089;LINEAR B IDEOGRAM B107M HE-GOAT;Lo;0;L;;;;;N;;;;;
-1008A;LINEAR B IDEOGRAM B108F SOW;Lo;0;L;;;;;N;;;;;
-1008B;LINEAR B IDEOGRAM B108M BOAR;Lo;0;L;;;;;N;;;;;
-1008C;LINEAR B IDEOGRAM B109F COW;Lo;0;L;;;;;N;;;;;
-1008D;LINEAR B IDEOGRAM B109M BULL;Lo;0;L;;;;;N;;;;;
-1008E;LINEAR B IDEOGRAM B120 WHEAT;Lo;0;L;;;;;N;;;;;
-1008F;LINEAR B IDEOGRAM B121 BARLEY;Lo;0;L;;;;;N;;;;;
-10090;LINEAR B IDEOGRAM B122 OLIVE;Lo;0;L;;;;;N;;;;;
-10091;LINEAR B IDEOGRAM B123 SPICE;Lo;0;L;;;;;N;;;;;
-10092;LINEAR B IDEOGRAM B125 CYPERUS;Lo;0;L;;;;;N;;;;;
-10093;LINEAR B MONOGRAM B127 KAPO;Lo;0;L;;;;;N;;;;;
-10094;LINEAR B MONOGRAM B128 KANAKO;Lo;0;L;;;;;N;;;;;
-10095;LINEAR B IDEOGRAM B130 OIL;Lo;0;L;;;;;N;;;;;
-10096;LINEAR B IDEOGRAM B131 WINE;Lo;0;L;;;;;N;;;;;
-10097;LINEAR B IDEOGRAM B132;Lo;0;L;;;;;N;;;;;
-10098;LINEAR B MONOGRAM B133 AREPA;Lo;0;L;;;;;N;;;;;
-10099;LINEAR B MONOGRAM B135 MERI;Lo;0;L;;;;;N;;;;;
-1009A;LINEAR B IDEOGRAM B140 BRONZE;Lo;0;L;;;;;N;;;;;
-1009B;LINEAR B IDEOGRAM B141 GOLD;Lo;0;L;;;;;N;;;;;
-1009C;LINEAR B IDEOGRAM B142;Lo;0;L;;;;;N;;;;;
-1009D;LINEAR B IDEOGRAM B145 WOOL;Lo;0;L;;;;;N;;;;;
-1009E;LINEAR B IDEOGRAM B146;Lo;0;L;;;;;N;;;;;
-1009F;LINEAR B IDEOGRAM B150;Lo;0;L;;;;;N;;;;;
-100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;;
-100A1;LINEAR B IDEOGRAM B152;Lo;0;L;;;;;N;;;;;
-100A2;LINEAR B IDEOGRAM B153;Lo;0;L;;;;;N;;;;;
-100A3;LINEAR B IDEOGRAM B154;Lo;0;L;;;;;N;;;;;
-100A4;LINEAR B MONOGRAM B156 TURO2;Lo;0;L;;;;;N;;;;;
-100A5;LINEAR B IDEOGRAM B157;Lo;0;L;;;;;N;;;;;
-100A6;LINEAR B IDEOGRAM B158;Lo;0;L;;;;;N;;;;;
-100A7;LINEAR B IDEOGRAM B159 CLOTH;Lo;0;L;;;;;N;;;;;
-100A8;LINEAR B IDEOGRAM B160;Lo;0;L;;;;;N;;;;;
-100A9;LINEAR B IDEOGRAM B161;Lo;0;L;;;;;N;;;;;
-100AA;LINEAR B IDEOGRAM B162 GARMENT;Lo;0;L;;;;;N;;;;;
-100AB;LINEAR B IDEOGRAM B163 ARMOUR;Lo;0;L;;;;;N;;;;;
-100AC;LINEAR B IDEOGRAM B164;Lo;0;L;;;;;N;;;;;
-100AD;LINEAR B IDEOGRAM B165;Lo;0;L;;;;;N;;;;;
-100AE;LINEAR B IDEOGRAM B166;Lo;0;L;;;;;N;;;;;
-100AF;LINEAR B IDEOGRAM B167;Lo;0;L;;;;;N;;;;;
-100B0;LINEAR B IDEOGRAM B168;Lo;0;L;;;;;N;;;;;
-100B1;LINEAR B IDEOGRAM B169;Lo;0;L;;;;;N;;;;;
-100B2;LINEAR B IDEOGRAM B170;Lo;0;L;;;;;N;;;;;
-100B3;LINEAR B IDEOGRAM B171;Lo;0;L;;;;;N;;;;;
-100B4;LINEAR B IDEOGRAM B172;Lo;0;L;;;;;N;;;;;
-100B5;LINEAR B IDEOGRAM B173 MONTH;Lo;0;L;;;;;N;;;;;
-100B6;LINEAR B IDEOGRAM B174;Lo;0;L;;;;;N;;;;;
-100B7;LINEAR B IDEOGRAM B176 TREE;Lo;0;L;;;;;N;;;;;
-100B8;LINEAR B IDEOGRAM B177;Lo;0;L;;;;;N;;;;;
-100B9;LINEAR B IDEOGRAM B178;Lo;0;L;;;;;N;;;;;
-100BA;LINEAR B IDEOGRAM B179;Lo;0;L;;;;;N;;;;;
-100BB;LINEAR B IDEOGRAM B180;Lo;0;L;;;;;N;;;;;
-100BC;LINEAR B IDEOGRAM B181;Lo;0;L;;;;;N;;;;;
-100BD;LINEAR B IDEOGRAM B182;Lo;0;L;;;;;N;;;;;
-100BE;LINEAR B IDEOGRAM B183;Lo;0;L;;;;;N;;;;;
-100BF;LINEAR B IDEOGRAM B184;Lo;0;L;;;;;N;;;;;
-100C0;LINEAR B IDEOGRAM B185;Lo;0;L;;;;;N;;;;;
-100C1;LINEAR B IDEOGRAM B189;Lo;0;L;;;;;N;;;;;
-100C2;LINEAR B IDEOGRAM B190;Lo;0;L;;;;;N;;;;;
-100C3;LINEAR B IDEOGRAM B191 HELMET;Lo;0;L;;;;;N;;;;;
-100C4;LINEAR B IDEOGRAM B220 FOOTSTOOL;Lo;0;L;;;;;N;;;;;
-100C5;LINEAR B IDEOGRAM B225 BATHTUB;Lo;0;L;;;;;N;;;;;
-100C6;LINEAR B IDEOGRAM B230 SPEAR;Lo;0;L;;;;;N;;;;;
-100C7;LINEAR B IDEOGRAM B231 ARROW;Lo;0;L;;;;;N;;;;;
-100C8;LINEAR B IDEOGRAM B232;Lo;0;L;;;;;N;;;;;
-100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;;;;
-100CA;LINEAR B IDEOGRAM B234;Lo;0;L;;;;;N;;;;;
-100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;;;;
-100CC;LINEAR B IDEOGRAM B240 WHEELED CHARIOT;Lo;0;L;;;;;N;;;;;
-100CD;LINEAR B IDEOGRAM B241 CHARIOT;Lo;0;L;;;;;N;;;;;
-100CE;LINEAR B IDEOGRAM B242 CHARIOT FRAME;Lo;0;L;;;;;N;;;;;
-100CF;LINEAR B IDEOGRAM B243 WHEEL;Lo;0;L;;;;;N;;;;;
-100D0;LINEAR B IDEOGRAM B245;Lo;0;L;;;;;N;;;;;
-100D1;LINEAR B IDEOGRAM B246;Lo;0;L;;;;;N;;;;;
-100D2;LINEAR B MONOGRAM B247 DIPTE;Lo;0;L;;;;;N;;;;;
-100D3;LINEAR B IDEOGRAM B248;Lo;0;L;;;;;N;;;;;
-100D4;LINEAR B IDEOGRAM B249;Lo;0;L;;;;;N;;;;;
-100D5;LINEAR B IDEOGRAM B251;Lo;0;L;;;;;N;;;;;
-100D6;LINEAR B IDEOGRAM B252;Lo;0;L;;;;;N;;;;;
-100D7;LINEAR B IDEOGRAM B253;Lo;0;L;;;;;N;;;;;
-100D8;LINEAR B IDEOGRAM B254 DART;Lo;0;L;;;;;N;;;;;
-100D9;LINEAR B IDEOGRAM B255;Lo;0;L;;;;;N;;;;;
-100DA;LINEAR B IDEOGRAM B256;Lo;0;L;;;;;N;;;;;
-100DB;LINEAR B IDEOGRAM B257;Lo;0;L;;;;;N;;;;;
-100DC;LINEAR B IDEOGRAM B258;Lo;0;L;;;;;N;;;;;
-100DD;LINEAR B IDEOGRAM B259;Lo;0;L;;;;;N;;;;;
-100DE;LINEAR B IDEOGRAM VESSEL B155;Lo;0;L;;;;;N;;;;;
-100DF;LINEAR B IDEOGRAM VESSEL B200;Lo;0;L;;;;;N;;;;;
-100E0;LINEAR B IDEOGRAM VESSEL B201;Lo;0;L;;;;;N;;;;;
-100E1;LINEAR B IDEOGRAM VESSEL B202;Lo;0;L;;;;;N;;;;;
-100E2;LINEAR B IDEOGRAM VESSEL B203;Lo;0;L;;;;;N;;;;;
-100E3;LINEAR B IDEOGRAM VESSEL B204;Lo;0;L;;;;;N;;;;;
-100E4;LINEAR B IDEOGRAM VESSEL B205;Lo;0;L;;;;;N;;;;;
-100E5;LINEAR B IDEOGRAM VESSEL B206;Lo;0;L;;;;;N;;;;;
-100E6;LINEAR B IDEOGRAM VESSEL B207;Lo;0;L;;;;;N;;;;;
-100E7;LINEAR B IDEOGRAM VESSEL B208;Lo;0;L;;;;;N;;;;;
-100E8;LINEAR B IDEOGRAM VESSEL B209;Lo;0;L;;;;;N;;;;;
-100E9;LINEAR B IDEOGRAM VESSEL B210;Lo;0;L;;;;;N;;;;;
-100EA;LINEAR B IDEOGRAM VESSEL B211;Lo;0;L;;;;;N;;;;;
-100EB;LINEAR B IDEOGRAM VESSEL B212;Lo;0;L;;;;;N;;;;;
-100EC;LINEAR B IDEOGRAM VESSEL B213;Lo;0;L;;;;;N;;;;;
-100ED;LINEAR B IDEOGRAM VESSEL B214;Lo;0;L;;;;;N;;;;;
-100EE;LINEAR B IDEOGRAM VESSEL B215;Lo;0;L;;;;;N;;;;;
-100EF;LINEAR B IDEOGRAM VESSEL B216;Lo;0;L;;;;;N;;;;;
-100F0;LINEAR B IDEOGRAM VESSEL B217;Lo;0;L;;;;;N;;;;;
-100F1;LINEAR B IDEOGRAM VESSEL B218;Lo;0;L;;;;;N;;;;;
-100F2;LINEAR B IDEOGRAM VESSEL B219;Lo;0;L;;;;;N;;;;;
-100F3;LINEAR B IDEOGRAM VESSEL B221;Lo;0;L;;;;;N;;;;;
-100F4;LINEAR B IDEOGRAM VESSEL B222;Lo;0;L;;;;;N;;;;;
-100F5;LINEAR B IDEOGRAM VESSEL B226;Lo;0;L;;;;;N;;;;;
-100F6;LINEAR B IDEOGRAM VESSEL B227;Lo;0;L;;;;;N;;;;;
-100F7;LINEAR B IDEOGRAM VESSEL B228;Lo;0;L;;;;;N;;;;;
-100F8;LINEAR B IDEOGRAM VESSEL B229;Lo;0;L;;;;;N;;;;;
-100F9;LINEAR B IDEOGRAM VESSEL B250;Lo;0;L;;;;;N;;;;;
-100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;;
-10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;;
-10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;;
-10102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;;
-10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;;
-10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;;
-10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;;
-1010A;AEGEAN NUMBER FOUR;No;0;L;;;;4;N;;;;;
-1010B;AEGEAN NUMBER FIVE;No;0;L;;;;5;N;;;;;
-1010C;AEGEAN NUMBER SIX;No;0;L;;;;6;N;;;;;
-1010D;AEGEAN NUMBER SEVEN;No;0;L;;;;7;N;;;;;
-1010E;AEGEAN NUMBER EIGHT;No;0;L;;;;8;N;;;;;
-1010F;AEGEAN NUMBER NINE;No;0;L;;;;9;N;;;;;
-10110;AEGEAN NUMBER TEN;No;0;L;;;;10;N;;;;;
-10111;AEGEAN NUMBER TWENTY;No;0;L;;;;20;N;;;;;
-10112;AEGEAN NUMBER THIRTY;No;0;L;;;;30;N;;;;;
-10113;AEGEAN NUMBER FORTY;No;0;L;;;;40;N;;;;;
-10114;AEGEAN NUMBER FIFTY;No;0;L;;;;50;N;;;;;
-10115;AEGEAN NUMBER SIXTY;No;0;L;;;;60;N;;;;;
-10116;AEGEAN NUMBER SEVENTY;No;0;L;;;;70;N;;;;;
-10117;AEGEAN NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
-10118;AEGEAN NUMBER NINETY;No;0;L;;;;90;N;;;;;
-10119;AEGEAN NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
-1011A;AEGEAN NUMBER TWO HUNDRED;No;0;L;;;;200;N;;;;;
-1011B;AEGEAN NUMBER THREE HUNDRED;No;0;L;;;;300;N;;;;;
-1011C;AEGEAN NUMBER FOUR HUNDRED;No;0;L;;;;400;N;;;;;
-1011D;AEGEAN NUMBER FIVE HUNDRED;No;0;L;;;;500;N;;;;;
-1011E;AEGEAN NUMBER SIX HUNDRED;No;0;L;;;;600;N;;;;;
-1011F;AEGEAN NUMBER SEVEN HUNDRED;No;0;L;;;;700;N;;;;;
-10120;AEGEAN NUMBER EIGHT HUNDRED;No;0;L;;;;800;N;;;;;
-10121;AEGEAN NUMBER NINE HUNDRED;No;0;L;;;;900;N;;;;;
-10122;AEGEAN NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
-10123;AEGEAN NUMBER TWO THOUSAND;No;0;L;;;;2000;N;;;;;
-10124;AEGEAN NUMBER THREE THOUSAND;No;0;L;;;;3000;N;;;;;
-10125;AEGEAN NUMBER FOUR THOUSAND;No;0;L;;;;4000;N;;;;;
-10126;AEGEAN NUMBER FIVE THOUSAND;No;0;L;;;;5000;N;;;;;
-10127;AEGEAN NUMBER SIX THOUSAND;No;0;L;;;;6000;N;;;;;
-10128;AEGEAN NUMBER SEVEN THOUSAND;No;0;L;;;;7000;N;;;;;
-10129;AEGEAN NUMBER EIGHT THOUSAND;No;0;L;;;;8000;N;;;;;
-1012A;AEGEAN NUMBER NINE THOUSAND;No;0;L;;;;9000;N;;;;;
-1012B;AEGEAN NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;;
-1012C;AEGEAN NUMBER TWENTY THOUSAND;No;0;L;;;;20000;N;;;;;
-1012D;AEGEAN NUMBER THIRTY THOUSAND;No;0;L;;;;30000;N;;;;;
-1012E;AEGEAN NUMBER FORTY THOUSAND;No;0;L;;;;40000;N;;;;;
-1012F;AEGEAN NUMBER FIFTY THOUSAND;No;0;L;;;;50000;N;;;;;
-10130;AEGEAN NUMBER SIXTY THOUSAND;No;0;L;;;;60000;N;;;;;
-10131;AEGEAN NUMBER SEVENTY THOUSAND;No;0;L;;;;70000;N;;;;;
-10132;AEGEAN NUMBER EIGHTY THOUSAND;No;0;L;;;;80000;N;;;;;
-10133;AEGEAN NUMBER NINETY THOUSAND;No;0;L;;;;90000;N;;;;;
-10137;AEGEAN WEIGHT BASE UNIT;So;0;L;;;;;N;;;;;
-10138;AEGEAN WEIGHT FIRST SUBUNIT;So;0;L;;;;;N;;;;;
-10139;AEGEAN WEIGHT SECOND SUBUNIT;So;0;L;;;;;N;;;;;
-1013A;AEGEAN WEIGHT THIRD SUBUNIT;So;0;L;;;;;N;;;;;
-1013B;AEGEAN WEIGHT FOURTH SUBUNIT;So;0;L;;;;;N;;;;;
-1013C;AEGEAN DRY MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;;
-1013D;AEGEAN LIQUID MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;;
-1013E;AEGEAN MEASURE SECOND SUBUNIT;So;0;L;;;;;N;;;;;
-1013F;AEGEAN MEASURE THIRD SUBUNIT;So;0;L;;;;;N;;;;;
-10140;GREEK ACROPHONIC ATTIC ONE QUARTER;Nl;0;ON;;;;1/4;N;;;;;
-10141;GREEK ACROPHONIC ATTIC ONE HALF;Nl;0;ON;;;;1/2;N;;;;;
-10142;GREEK ACROPHONIC ATTIC ONE DRACHMA;Nl;0;ON;;;;1;N;;;;;
-10143;GREEK ACROPHONIC ATTIC FIVE;Nl;0;ON;;;;5;N;;;;;
-10144;GREEK ACROPHONIC ATTIC FIFTY;Nl;0;ON;;;;50;N;;;;;
-10145;GREEK ACROPHONIC ATTIC FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
-10146;GREEK ACROPHONIC ATTIC FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;;
-10147;GREEK ACROPHONIC ATTIC FIFTY THOUSAND;Nl;0;ON;;;;50000;N;;;;;
-10148;GREEK ACROPHONIC ATTIC FIVE TALENTS;Nl;0;ON;;;;5;N;;;;;
-10149;GREEK ACROPHONIC ATTIC TEN TALENTS;Nl;0;ON;;;;10;N;;;;;
-1014A;GREEK ACROPHONIC ATTIC FIFTY TALENTS;Nl;0;ON;;;;50;N;;;;;
-1014B;GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS;Nl;0;ON;;;;100;N;;;;;
-1014C;GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS;Nl;0;ON;;;;500;N;;;;;
-1014D;GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS;Nl;0;ON;;;;1000;N;;;;;
-1014E;GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS;Nl;0;ON;;;;5000;N;;;;;
-1014F;GREEK ACROPHONIC ATTIC FIVE STATERS;Nl;0;ON;;;;5;N;;;;;
-10150;GREEK ACROPHONIC ATTIC TEN STATERS;Nl;0;ON;;;;10;N;;;;;
-10151;GREEK ACROPHONIC ATTIC FIFTY STATERS;Nl;0;ON;;;;50;N;;;;;
-10152;GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS;Nl;0;ON;;;;100;N;;;;;
-10153;GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS;Nl;0;ON;;;;500;N;;;;;
-10154;GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS;Nl;0;ON;;;;1000;N;;;;;
-10155;GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS;Nl;0;ON;;;;10000;N;;;;;
-10156;GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS;Nl;0;ON;;;;50000;N;;;;;
-10157;GREEK ACROPHONIC ATTIC TEN MNAS;Nl;0;ON;;;;10;N;;;;;
-10158;GREEK ACROPHONIC HERAEUM ONE PLETHRON;Nl;0;ON;;;;1;N;;;;;
-10159;GREEK ACROPHONIC THESPIAN ONE;Nl;0;ON;;;;1;N;;;;;
-1015A;GREEK ACROPHONIC HERMIONIAN ONE;Nl;0;ON;;;;1;N;;;;;
-1015B;GREEK ACROPHONIC EPIDAUREAN TWO;Nl;0;ON;;;;2;N;;;;;
-1015C;GREEK ACROPHONIC THESPIAN TWO;Nl;0;ON;;;;2;N;;;;;
-1015D;GREEK ACROPHONIC CYRENAIC TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;;
-1015E;GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;;
-1015F;GREEK ACROPHONIC TROEZENIAN FIVE;Nl;0;ON;;;;5;N;;;;;
-10160;GREEK ACROPHONIC TROEZENIAN TEN;Nl;0;ON;;;;10;N;;;;;
-10161;GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM;Nl;0;ON;;;;10;N;;;;;
-10162;GREEK ACROPHONIC HERMIONIAN TEN;Nl;0;ON;;;;10;N;;;;;
-10163;GREEK ACROPHONIC MESSENIAN TEN;Nl;0;ON;;;;10;N;;;;;
-10164;GREEK ACROPHONIC THESPIAN TEN;Nl;0;ON;;;;10;N;;;;;
-10165;GREEK ACROPHONIC THESPIAN THIRTY;Nl;0;ON;;;;30;N;;;;;
-10166;GREEK ACROPHONIC TROEZENIAN FIFTY;Nl;0;ON;;;;50;N;;;;;
-10167;GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM;Nl;0;ON;;;;50;N;;;;;
-10168;GREEK ACROPHONIC HERMIONIAN FIFTY;Nl;0;ON;;;;50;N;;;;;
-10169;GREEK ACROPHONIC THESPIAN FIFTY;Nl;0;ON;;;;50;N;;;;;
-1016A;GREEK ACROPHONIC THESPIAN ONE HUNDRED;Nl;0;ON;;;;100;N;;;;;
-1016B;GREEK ACROPHONIC THESPIAN THREE HUNDRED;Nl;0;ON;;;;300;N;;;;;
-1016C;GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
-1016D;GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
-1016E;GREEK ACROPHONIC THESPIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
-1016F;GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
-10170;GREEK ACROPHONIC NAXIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;;
-10171;GREEK ACROPHONIC THESPIAN ONE THOUSAND;Nl;0;ON;;;;1000;N;;;;;
-10172;GREEK ACROPHONIC THESPIAN FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;;
-10173;GREEK ACROPHONIC DELPHIC FIVE MNAS;Nl;0;ON;;;;5;N;;;;;
-10174;GREEK ACROPHONIC STRATIAN FIFTY MNAS;Nl;0;ON;;;;50;N;;;;;
-10175;GREEK ONE HALF SIGN;No;0;ON;;;;1/2;N;;;;;
-10176;GREEK ONE HALF SIGN ALTERNATE FORM;No;0;ON;;;;1/2;N;;;;;
-10177;GREEK TWO THIRDS SIGN;No;0;ON;;;;2/3;N;;;;;
-10178;GREEK THREE QUARTERS SIGN;No;0;ON;;;;3/4;N;;;;;
-10179;GREEK YEAR SIGN;So;0;ON;;;;;N;;;;;
-1017A;GREEK TALENT SIGN;So;0;ON;;;;;N;;;;;
-1017B;GREEK DRACHMA SIGN;So;0;ON;;;;;N;;;;;
-1017C;GREEK OBOL SIGN;So;0;ON;;;;;N;;;;;
-1017D;GREEK TWO OBOLS SIGN;So;0;ON;;;;;N;;;;;
-1017E;GREEK THREE OBOLS SIGN;So;0;ON;;;;;N;;;;;
-1017F;GREEK FOUR OBOLS SIGN;So;0;ON;;;;;N;;;;;
-10180;GREEK FIVE OBOLS SIGN;So;0;ON;;;;;N;;;;;
-10181;GREEK METRETES SIGN;So;0;ON;;;;;N;;;;;
-10182;GREEK KYATHOS BASE SIGN;So;0;ON;;;;;N;;;;;
-10183;GREEK LITRA SIGN;So;0;ON;;;;;N;;;;;
-10184;GREEK OUNKIA SIGN;So;0;ON;;;;;N;;;;;
-10185;GREEK XESTES SIGN;So;0;ON;;;;;N;;;;;
-10186;GREEK ARTABE SIGN;So;0;ON;;;;;N;;;;;
-10187;GREEK AROURA SIGN;So;0;ON;;;;;N;;;;;
-10188;GREEK GRAMMA SIGN;So;0;ON;;;;;N;;;;;
-10189;GREEK TRYBLION BASE SIGN;So;0;ON;;;;;N;;;;;
-1018A;GREEK ZERO SIGN;No;0;ON;;;;0;N;;;;;
-10190;ROMAN SEXTANS SIGN;So;0;ON;;;;;N;;;;;
-10191;ROMAN UNCIA SIGN;So;0;ON;;;;;N;;;;;
-10192;ROMAN SEMUNCIA SIGN;So;0;ON;;;;;N;;;;;
-10193;ROMAN SEXTULA SIGN;So;0;ON;;;;;N;;;;;
-10194;ROMAN DIMIDIA SEXTULA SIGN;So;0;ON;;;;;N;;;;;
-10195;ROMAN SILIQUA SIGN;So;0;ON;;;;;N;;;;;
-10196;ROMAN DENARIUS SIGN;So;0;ON;;;;;N;;;;;
-10197;ROMAN QUINARIUS SIGN;So;0;ON;;;;;N;;;;;
-10198;ROMAN SESTERTIUS SIGN;So;0;ON;;;;;N;;;;;
-10199;ROMAN DUPONDIUS SIGN;So;0;ON;;;;;N;;;;;
-1019A;ROMAN AS SIGN;So;0;ON;;;;;N;;;;;
-1019B;ROMAN CENTURIAL SIGN;So;0;ON;;;;;N;;;;;
-101D0;PHAISTOS DISC SIGN PEDESTRIAN;So;0;L;;;;;N;;;;;
-101D1;PHAISTOS DISC SIGN PLUMED HEAD;So;0;L;;;;;N;;;;;
-101D2;PHAISTOS DISC SIGN TATTOOED HEAD;So;0;L;;;;;N;;;;;
-101D3;PHAISTOS DISC SIGN CAPTIVE;So;0;L;;;;;N;;;;;
-101D4;PHAISTOS DISC SIGN CHILD;So;0;L;;;;;N;;;;;
-101D5;PHAISTOS DISC SIGN WOMAN;So;0;L;;;;;N;;;;;
-101D6;PHAISTOS DISC SIGN HELMET;So;0;L;;;;;N;;;;;
-101D7;PHAISTOS DISC SIGN GAUNTLET;So;0;L;;;;;N;;;;;
-101D8;PHAISTOS DISC SIGN TIARA;So;0;L;;;;;N;;;;;
-101D9;PHAISTOS DISC SIGN ARROW;So;0;L;;;;;N;;;;;
-101DA;PHAISTOS DISC SIGN BOW;So;0;L;;;;;N;;;;;
-101DB;PHAISTOS DISC SIGN SHIELD;So;0;L;;;;;N;;;;;
-101DC;PHAISTOS DISC SIGN CLUB;So;0;L;;;;;N;;;;;
-101DD;PHAISTOS DISC SIGN MANACLES;So;0;L;;;;;N;;;;;
-101DE;PHAISTOS DISC SIGN MATTOCK;So;0;L;;;;;N;;;;;
-101DF;PHAISTOS DISC SIGN SAW;So;0;L;;;;;N;;;;;
-101E0;PHAISTOS DISC SIGN LID;So;0;L;;;;;N;;;;;
-101E1;PHAISTOS DISC SIGN BOOMERANG;So;0;L;;;;;N;;;;;
-101E2;PHAISTOS DISC SIGN CARPENTRY PLANE;So;0;L;;;;;N;;;;;
-101E3;PHAISTOS DISC SIGN DOLIUM;So;0;L;;;;;N;;;;;
-101E4;PHAISTOS DISC SIGN COMB;So;0;L;;;;;N;;;;;
-101E5;PHAISTOS DISC SIGN SLING;So;0;L;;;;;N;;;;;
-101E6;PHAISTOS DISC SIGN COLUMN;So;0;L;;;;;N;;;;;
-101E7;PHAISTOS DISC SIGN BEEHIVE;So;0;L;;;;;N;;;;;
-101E8;PHAISTOS DISC SIGN SHIP;So;0;L;;;;;N;;;;;
-101E9;PHAISTOS DISC SIGN HORN;So;0;L;;;;;N;;;;;
-101EA;PHAISTOS DISC SIGN HIDE;So;0;L;;;;;N;;;;;
-101EB;PHAISTOS DISC SIGN BULLS LEG;So;0;L;;;;;N;;;;;
-101EC;PHAISTOS DISC SIGN CAT;So;0;L;;;;;N;;;;;
-101ED;PHAISTOS DISC SIGN RAM;So;0;L;;;;;N;;;;;
-101EE;PHAISTOS DISC SIGN EAGLE;So;0;L;;;;;N;;;;;
-101EF;PHAISTOS DISC SIGN DOVE;So;0;L;;;;;N;;;;;
-101F0;PHAISTOS DISC SIGN TUNNY;So;0;L;;;;;N;;;;;
-101F1;PHAISTOS DISC SIGN BEE;So;0;L;;;;;N;;;;;
-101F2;PHAISTOS DISC SIGN PLANE TREE;So;0;L;;;;;N;;;;;
-101F3;PHAISTOS DISC SIGN VINE;So;0;L;;;;;N;;;;;
-101F4;PHAISTOS DISC SIGN PAPYRUS;So;0;L;;;;;N;;;;;
-101F5;PHAISTOS DISC SIGN ROSETTE;So;0;L;;;;;N;;;;;
-101F6;PHAISTOS DISC SIGN LILY;So;0;L;;;;;N;;;;;
-101F7;PHAISTOS DISC SIGN OX BACK;So;0;L;;;;;N;;;;;
-101F8;PHAISTOS DISC SIGN FLUTE;So;0;L;;;;;N;;;;;
-101F9;PHAISTOS DISC SIGN GRATER;So;0;L;;;;;N;;;;;
-101FA;PHAISTOS DISC SIGN STRAINER;So;0;L;;;;;N;;;;;
-101FB;PHAISTOS DISC SIGN SMALL AXE;So;0;L;;;;;N;;;;;
-101FC;PHAISTOS DISC SIGN WAVY BAND;So;0;L;;;;;N;;;;;
-101FD;PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE;Mn;220;NSM;;;;;N;;;;;
-10280;LYCIAN LETTER A;Lo;0;L;;;;;N;;;;;
-10281;LYCIAN LETTER E;Lo;0;L;;;;;N;;;;;
-10282;LYCIAN LETTER B;Lo;0;L;;;;;N;;;;;
-10283;LYCIAN LETTER BH;Lo;0;L;;;;;N;;;;;
-10284;LYCIAN LETTER G;Lo;0;L;;;;;N;;;;;
-10285;LYCIAN LETTER D;Lo;0;L;;;;;N;;;;;
-10286;LYCIAN LETTER I;Lo;0;L;;;;;N;;;;;
-10287;LYCIAN LETTER W;Lo;0;L;;;;;N;;;;;
-10288;LYCIAN LETTER Z;Lo;0;L;;;;;N;;;;;
-10289;LYCIAN LETTER TH;Lo;0;L;;;;;N;;;;;
-1028A;LYCIAN LETTER J;Lo;0;L;;;;;N;;;;;
-1028B;LYCIAN LETTER K;Lo;0;L;;;;;N;;;;;
-1028C;LYCIAN LETTER Q;Lo;0;L;;;;;N;;;;;
-1028D;LYCIAN LETTER L;Lo;0;L;;;;;N;;;;;
-1028E;LYCIAN LETTER M;Lo;0;L;;;;;N;;;;;
-1028F;LYCIAN LETTER N;Lo;0;L;;;;;N;;;;;
-10290;LYCIAN LETTER MM;Lo;0;L;;;;;N;;;;;
-10291;LYCIAN LETTER NN;Lo;0;L;;;;;N;;;;;
-10292;LYCIAN LETTER U;Lo;0;L;;;;;N;;;;;
-10293;LYCIAN LETTER P;Lo;0;L;;;;;N;;;;;
-10294;LYCIAN LETTER KK;Lo;0;L;;;;;N;;;;;
-10295;LYCIAN LETTER R;Lo;0;L;;;;;N;;;;;
-10296;LYCIAN LETTER S;Lo;0;L;;;;;N;;;;;
-10297;LYCIAN LETTER T;Lo;0;L;;;;;N;;;;;
-10298;LYCIAN LETTER TT;Lo;0;L;;;;;N;;;;;
-10299;LYCIAN LETTER AN;Lo;0;L;;;;;N;;;;;
-1029A;LYCIAN LETTER EN;Lo;0;L;;;;;N;;;;;
-1029B;LYCIAN LETTER H;Lo;0;L;;;;;N;;;;;
-1029C;LYCIAN LETTER X;Lo;0;L;;;;;N;;;;;
-102A0;CARIAN LETTER A;Lo;0;L;;;;;N;;;;;
-102A1;CARIAN LETTER P2;Lo;0;L;;;;;N;;;;;
-102A2;CARIAN LETTER D;Lo;0;L;;;;;N;;;;;
-102A3;CARIAN LETTER L;Lo;0;L;;;;;N;;;;;
-102A4;CARIAN LETTER UUU;Lo;0;L;;;;;N;;;;;
-102A5;CARIAN LETTER R;Lo;0;L;;;;;N;;;;;
-102A6;CARIAN LETTER LD;Lo;0;L;;;;;N;;;;;
-102A7;CARIAN LETTER A2;Lo;0;L;;;;;N;;;;;
-102A8;CARIAN LETTER Q;Lo;0;L;;;;;N;;;;;
-102A9;CARIAN LETTER B;Lo;0;L;;;;;N;;;;;
-102AA;CARIAN LETTER M;Lo;0;L;;;;;N;;;;;
-102AB;CARIAN LETTER O;Lo;0;L;;;;;N;;;;;
-102AC;CARIAN LETTER D2;Lo;0;L;;;;;N;;;;;
-102AD;CARIAN LETTER T;Lo;0;L;;;;;N;;;;;
-102AE;CARIAN LETTER SH;Lo;0;L;;;;;N;;;;;
-102AF;CARIAN LETTER SH2;Lo;0;L;;;;;N;;;;;
-102B0;CARIAN LETTER S;Lo;0;L;;;;;N;;;;;
-102B1;CARIAN LETTER C-18;Lo;0;L;;;;;N;;;;;
-102B2;CARIAN LETTER U;Lo;0;L;;;;;N;;;;;
-102B3;CARIAN LETTER NN;Lo;0;L;;;;;N;;;;;
-102B4;CARIAN LETTER X;Lo;0;L;;;;;N;;;;;
-102B5;CARIAN LETTER N;Lo;0;L;;;;;N;;;;;
-102B6;CARIAN LETTER TT2;Lo;0;L;;;;;N;;;;;
-102B7;CARIAN LETTER P;Lo;0;L;;;;;N;;;;;
-102B8;CARIAN LETTER SS;Lo;0;L;;;;;N;;;;;
-102B9;CARIAN LETTER I;Lo;0;L;;;;;N;;;;;
-102BA;CARIAN LETTER E;Lo;0;L;;;;;N;;;;;
-102BB;CARIAN LETTER UUUU;Lo;0;L;;;;;N;;;;;
-102BC;CARIAN LETTER K;Lo;0;L;;;;;N;;;;;
-102BD;CARIAN LETTER K2;Lo;0;L;;;;;N;;;;;
-102BE;CARIAN LETTER ND;Lo;0;L;;;;;N;;;;;
-102BF;CARIAN LETTER UU;Lo;0;L;;;;;N;;;;;
-102C0;CARIAN LETTER G;Lo;0;L;;;;;N;;;;;
-102C1;CARIAN LETTER G2;Lo;0;L;;;;;N;;;;;
-102C2;CARIAN LETTER ST;Lo;0;L;;;;;N;;;;;
-102C3;CARIAN LETTER ST2;Lo;0;L;;;;;N;;;;;
-102C4;CARIAN LETTER NG;Lo;0;L;;;;;N;;;;;
-102C5;CARIAN LETTER II;Lo;0;L;;;;;N;;;;;
-102C6;CARIAN LETTER C-39;Lo;0;L;;;;;N;;;;;
-102C7;CARIAN LETTER TT;Lo;0;L;;;;;N;;;;;
-102C8;CARIAN LETTER UUU2;Lo;0;L;;;;;N;;;;;
-102C9;CARIAN LETTER RR;Lo;0;L;;;;;N;;;;;
-102CA;CARIAN LETTER MB;Lo;0;L;;;;;N;;;;;
-102CB;CARIAN LETTER MB2;Lo;0;L;;;;;N;;;;;
-102CC;CARIAN LETTER MB3;Lo;0;L;;;;;N;;;;;
-102CD;CARIAN LETTER MB4;Lo;0;L;;;;;N;;;;;
-102CE;CARIAN LETTER LD2;Lo;0;L;;;;;N;;;;;
-102CF;CARIAN LETTER E2;Lo;0;L;;;;;N;;;;;
-102D0;CARIAN LETTER UUU3;Lo;0;L;;;;;N;;;;;
-10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;;
-10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;;
-10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;;
-10303;OLD ITALIC LETTER DE;Lo;0;L;;;;;N;;;;;
-10304;OLD ITALIC LETTER E;Lo;0;L;;;;;N;;;;;
-10305;OLD ITALIC LETTER VE;Lo;0;L;;;;;N;;;;;
-10306;OLD ITALIC LETTER ZE;Lo;0;L;;;;;N;;;;;
-10307;OLD ITALIC LETTER HE;Lo;0;L;;;;;N;;;;;
-10308;OLD ITALIC LETTER THE;Lo;0;L;;;;;N;;;;;
-10309;OLD ITALIC LETTER I;Lo;0;L;;;;;N;;;;;
-1030A;OLD ITALIC LETTER KA;Lo;0;L;;;;;N;;;;;
-1030B;OLD ITALIC LETTER EL;Lo;0;L;;;;;N;;;;;
-1030C;OLD ITALIC LETTER EM;Lo;0;L;;;;;N;;;;;
-1030D;OLD ITALIC LETTER EN;Lo;0;L;;;;;N;;;;;
-1030E;OLD ITALIC LETTER ESH;Lo;0;L;;;;;N;;;;;
-1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;;;;
-10310;OLD ITALIC LETTER PE;Lo;0;L;;;;;N;;;;;
-10311;OLD ITALIC LETTER SHE;Lo;0;L;;;;;N;;;;;
-10312;OLD ITALIC LETTER KU;Lo;0;L;;;;;N;;;;;
-10313;OLD ITALIC LETTER ER;Lo;0;L;;;;;N;;;;;
-10314;OLD ITALIC LETTER ES;Lo;0;L;;;;;N;;;;;
-10315;OLD ITALIC LETTER TE;Lo;0;L;;;;;N;;;;;
-10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;;;;
-10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;;;;
-10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;;
-10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;;
-1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;;
-1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;;;;
-1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;;;;
-1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;;;;
-1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;;;;
-10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;;
-10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;;
-10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;;
-10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;;
-10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;;
-10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;;
-10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;;
-10333;GOTHIC LETTER DAGS;Lo;0;L;;;;;N;;;;;
-10334;GOTHIC LETTER AIHVUS;Lo;0;L;;;;;N;;;;;
-10335;GOTHIC LETTER QAIRTHRA;Lo;0;L;;;;;N;;;;;
-10336;GOTHIC LETTER IUJA;Lo;0;L;;;;;N;;;;;
-10337;GOTHIC LETTER HAGL;Lo;0;L;;;;;N;;;;;
-10338;GOTHIC LETTER THIUTH;Lo;0;L;;;;;N;;;;;
-10339;GOTHIC LETTER EIS;Lo;0;L;;;;;N;;;;;
-1033A;GOTHIC LETTER KUSMA;Lo;0;L;;;;;N;;;;;
-1033B;GOTHIC LETTER LAGUS;Lo;0;L;;;;;N;;;;;
-1033C;GOTHIC LETTER MANNA;Lo;0;L;;;;;N;;;;;
-1033D;GOTHIC LETTER NAUTHS;Lo;0;L;;;;;N;;;;;
-1033E;GOTHIC LETTER JER;Lo;0;L;;;;;N;;;;;
-1033F;GOTHIC LETTER URUS;Lo;0;L;;;;;N;;;;;
-10340;GOTHIC LETTER PAIRTHRA;Lo;0;L;;;;;N;;;;;
-10341;GOTHIC LETTER NINETY;Nl;0;L;;;;90;N;;;;;
-10342;GOTHIC LETTER RAIDA;Lo;0;L;;;;;N;;;;;
-10343;GOTHIC LETTER SAUIL;Lo;0;L;;;;;N;;;;;
-10344;GOTHIC LETTER TEIWS;Lo;0;L;;;;;N;;;;;
-10345;GOTHIC LETTER WINJA;Lo;0;L;;;;;N;;;;;
-10346;GOTHIC LETTER FAIHU;Lo;0;L;;;;;N;;;;;
-10347;GOTHIC LETTER IGGWS;Lo;0;L;;;;;N;;;;;
-10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;;
-10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;;
-1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;900;N;;;;;
-10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;;
-10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;;
-10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;;
-10383;UGARITIC LETTER KHA;Lo;0;L;;;;;N;;;;;
-10384;UGARITIC LETTER DELTA;Lo;0;L;;;;;N;;;;;
-10385;UGARITIC LETTER HO;Lo;0;L;;;;;N;;;;;
-10386;UGARITIC LETTER WO;Lo;0;L;;;;;N;;;;;
-10387;UGARITIC LETTER ZETA;Lo;0;L;;;;;N;;;;;
-10388;UGARITIC LETTER HOTA;Lo;0;L;;;;;N;;;;;
-10389;UGARITIC LETTER TET;Lo;0;L;;;;;N;;;;;
-1038A;UGARITIC LETTER YOD;Lo;0;L;;;;;N;;;;;
-1038B;UGARITIC LETTER KAF;Lo;0;L;;;;;N;;;;;
-1038C;UGARITIC LETTER SHIN;Lo;0;L;;;;;N;;;;;
-1038D;UGARITIC LETTER LAMDA;Lo;0;L;;;;;N;;;;;
-1038E;UGARITIC LETTER MEM;Lo;0;L;;;;;N;;;;;
-1038F;UGARITIC LETTER DHAL;Lo;0;L;;;;;N;;;;;
-10390;UGARITIC LETTER NUN;Lo;0;L;;;;;N;;;;;
-10391;UGARITIC LETTER ZU;Lo;0;L;;;;;N;;;;;
-10392;UGARITIC LETTER SAMKA;Lo;0;L;;;;;N;;;;;
-10393;UGARITIC LETTER AIN;Lo;0;L;;;;;N;;;;;
-10394;UGARITIC LETTER PU;Lo;0;L;;;;;N;;;;;
-10395;UGARITIC LETTER SADE;Lo;0;L;;;;;N;;;;;
-10396;UGARITIC LETTER QOPA;Lo;0;L;;;;;N;;;;;
-10397;UGARITIC LETTER RASHA;Lo;0;L;;;;;N;;;;;
-10398;UGARITIC LETTER THANNA;Lo;0;L;;;;;N;;;;;
-10399;UGARITIC LETTER GHAIN;Lo;0;L;;;;;N;;;;;
-1039A;UGARITIC LETTER TO;Lo;0;L;;;;;N;;;;;
-1039B;UGARITIC LETTER I;Lo;0;L;;;;;N;;;;;
-1039C;UGARITIC LETTER U;Lo;0;L;;;;;N;;;;;
-1039D;UGARITIC LETTER SSU;Lo;0;L;;;;;N;;;;;
-1039F;UGARITIC WORD DIVIDER;Po;0;L;;;;;N;;;;;
-103A0;OLD PERSIAN SIGN A;Lo;0;L;;;;;N;;;;;
-103A1;OLD PERSIAN SIGN I;Lo;0;L;;;;;N;;;;;
-103A2;OLD PERSIAN SIGN U;Lo;0;L;;;;;N;;;;;
-103A3;OLD PERSIAN SIGN KA;Lo;0;L;;;;;N;;;;;
-103A4;OLD PERSIAN SIGN KU;Lo;0;L;;;;;N;;;;;
-103A5;OLD PERSIAN SIGN GA;Lo;0;L;;;;;N;;;;;
-103A6;OLD PERSIAN SIGN GU;Lo;0;L;;;;;N;;;;;
-103A7;OLD PERSIAN SIGN XA;Lo;0;L;;;;;N;;;;;
-103A8;OLD PERSIAN SIGN CA;Lo;0;L;;;;;N;;;;;
-103A9;OLD PERSIAN SIGN JA;Lo;0;L;;;;;N;;;;;
-103AA;OLD PERSIAN SIGN JI;Lo;0;L;;;;;N;;;;;
-103AB;OLD PERSIAN SIGN TA;Lo;0;L;;;;;N;;;;;
-103AC;OLD PERSIAN SIGN TU;Lo;0;L;;;;;N;;;;;
-103AD;OLD PERSIAN SIGN DA;Lo;0;L;;;;;N;;;;;
-103AE;OLD PERSIAN SIGN DI;Lo;0;L;;;;;N;;;;;
-103AF;OLD PERSIAN SIGN DU;Lo;0;L;;;;;N;;;;;
-103B0;OLD PERSIAN SIGN THA;Lo;0;L;;;;;N;;;;;
-103B1;OLD PERSIAN SIGN PA;Lo;0;L;;;;;N;;;;;
-103B2;OLD PERSIAN SIGN BA;Lo;0;L;;;;;N;;;;;
-103B3;OLD PERSIAN SIGN FA;Lo;0;L;;;;;N;;;;;
-103B4;OLD PERSIAN SIGN NA;Lo;0;L;;;;;N;;;;;
-103B5;OLD PERSIAN SIGN NU;Lo;0;L;;;;;N;;;;;
-103B6;OLD PERSIAN SIGN MA;Lo;0;L;;;;;N;;;;;
-103B7;OLD PERSIAN SIGN MI;Lo;0;L;;;;;N;;;;;
-103B8;OLD PERSIAN SIGN MU;Lo;0;L;;;;;N;;;;;
-103B9;OLD PERSIAN SIGN YA;Lo;0;L;;;;;N;;;;;
-103BA;OLD PERSIAN SIGN VA;Lo;0;L;;;;;N;;;;;
-103BB;OLD PERSIAN SIGN VI;Lo;0;L;;;;;N;;;;;
-103BC;OLD PERSIAN SIGN RA;Lo;0;L;;;;;N;;;;;
-103BD;OLD PERSIAN SIGN RU;Lo;0;L;;;;;N;;;;;
-103BE;OLD PERSIAN SIGN LA;Lo;0;L;;;;;N;;;;;
-103BF;OLD PERSIAN SIGN SA;Lo;0;L;;;;;N;;;;;
-103C0;OLD PERSIAN SIGN ZA;Lo;0;L;;;;;N;;;;;
-103C1;OLD PERSIAN SIGN SHA;Lo;0;L;;;;;N;;;;;
-103C2;OLD PERSIAN SIGN SSA;Lo;0;L;;;;;N;;;;;
-103C3;OLD PERSIAN SIGN HA;Lo;0;L;;;;;N;;;;;
-103C8;OLD PERSIAN SIGN AURAMAZDAA;Lo;0;L;;;;;N;;;;;
-103C9;OLD PERSIAN SIGN AURAMAZDAA-2;Lo;0;L;;;;;N;;;;;
-103CA;OLD PERSIAN SIGN AURAMAZDAAHA;Lo;0;L;;;;;N;;;;;
-103CB;OLD PERSIAN SIGN XSHAAYATHIYA;Lo;0;L;;;;;N;;;;;
-103CC;OLD PERSIAN SIGN DAHYAAUSH;Lo;0;L;;;;;N;;;;;
-103CD;OLD PERSIAN SIGN DAHYAAUSH-2;Lo;0;L;;;;;N;;;;;
-103CE;OLD PERSIAN SIGN BAGA;Lo;0;L;;;;;N;;;;;
-103CF;OLD PERSIAN SIGN BUUMISH;Lo;0;L;;;;;N;;;;;
-103D0;OLD PERSIAN WORD DIVIDER;Po;0;L;;;;;N;;;;;
-103D1;OLD PERSIAN NUMBER ONE;Nl;0;L;;;;1;N;;;;;
-103D2;OLD PERSIAN NUMBER TWO;Nl;0;L;;;;2;N;;;;;
-103D3;OLD PERSIAN NUMBER TEN;Nl;0;L;;;;10;N;;;;;
-103D4;OLD PERSIAN NUMBER TWENTY;Nl;0;L;;;;20;N;;;;;
-103D5;OLD PERSIAN NUMBER HUNDRED;Nl;0;L;;;;100;N;;;;;
-10400;DESERET CAPITAL LETTER LONG I;Lu;0;L;;;;;N;;;;10428;
-10401;DESERET CAPITAL LETTER LONG E;Lu;0;L;;;;;N;;;;10429;
-10402;DESERET CAPITAL LETTER LONG A;Lu;0;L;;;;;N;;;;1042A;
-10403;DESERET CAPITAL LETTER LONG AH;Lu;0;L;;;;;N;;;;1042B;
-10404;DESERET CAPITAL LETTER LONG O;Lu;0;L;;;;;N;;;;1042C;
-10405;DESERET CAPITAL LETTER LONG OO;Lu;0;L;;;;;N;;;;1042D;
-10406;DESERET CAPITAL LETTER SHORT I;Lu;0;L;;;;;N;;;;1042E;
-10407;DESERET CAPITAL LETTER SHORT E;Lu;0;L;;;;;N;;;;1042F;
-10408;DESERET CAPITAL LETTER SHORT A;Lu;0;L;;;;;N;;;;10430;
-10409;DESERET CAPITAL LETTER SHORT AH;Lu;0;L;;;;;N;;;;10431;
-1040A;DESERET CAPITAL LETTER SHORT O;Lu;0;L;;;;;N;;;;10432;
-1040B;DESERET CAPITAL LETTER SHORT OO;Lu;0;L;;;;;N;;;;10433;
-1040C;DESERET CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;10434;
-1040D;DESERET CAPITAL LETTER OW;Lu;0;L;;;;;N;;;;10435;
-1040E;DESERET CAPITAL LETTER WU;Lu;0;L;;;;;N;;;;10436;
-1040F;DESERET CAPITAL LETTER YEE;Lu;0;L;;;;;N;;;;10437;
-10410;DESERET CAPITAL LETTER H;Lu;0;L;;;;;N;;;;10438;
-10411;DESERET CAPITAL LETTER PEE;Lu;0;L;;;;;N;;;;10439;
-10412;DESERET CAPITAL LETTER BEE;Lu;0;L;;;;;N;;;;1043A;
-10413;DESERET CAPITAL LETTER TEE;Lu;0;L;;;;;N;;;;1043B;
-10414;DESERET CAPITAL LETTER DEE;Lu;0;L;;;;;N;;;;1043C;
-10415;DESERET CAPITAL LETTER CHEE;Lu;0;L;;;;;N;;;;1043D;
-10416;DESERET CAPITAL LETTER JEE;Lu;0;L;;;;;N;;;;1043E;
-10417;DESERET CAPITAL LETTER KAY;Lu;0;L;;;;;N;;;;1043F;
-10418;DESERET CAPITAL LETTER GAY;Lu;0;L;;;;;N;;;;10440;
-10419;DESERET CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;10441;
-1041A;DESERET CAPITAL LETTER VEE;Lu;0;L;;;;;N;;;;10442;
-1041B;DESERET CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;10443;
-1041C;DESERET CAPITAL LETTER THEE;Lu;0;L;;;;;N;;;;10444;
-1041D;DESERET CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;10445;
-1041E;DESERET CAPITAL LETTER ZEE;Lu;0;L;;;;;N;;;;10446;
-1041F;DESERET CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;10447;
-10420;DESERET CAPITAL LETTER ZHEE;Lu;0;L;;;;;N;;;;10448;
-10421;DESERET CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;10449;
-10422;DESERET CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;1044A;
-10423;DESERET CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;1044B;
-10424;DESERET CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;1044C;
-10425;DESERET CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;1044D;
-10426;DESERET CAPITAL LETTER OI;Lu;0;L;;;;;N;;;;1044E;
-10427;DESERET CAPITAL LETTER EW;Lu;0;L;;;;;N;;;;1044F;
-10428;DESERET SMALL LETTER LONG I;Ll;0;L;;;;;N;;;10400;;10400
-10429;DESERET SMALL LETTER LONG E;Ll;0;L;;;;;N;;;10401;;10401
-1042A;DESERET SMALL LETTER LONG A;Ll;0;L;;;;;N;;;10402;;10402
-1042B;DESERET SMALL LETTER LONG AH;Ll;0;L;;;;;N;;;10403;;10403
-1042C;DESERET SMALL LETTER LONG O;Ll;0;L;;;;;N;;;10404;;10404
-1042D;DESERET SMALL LETTER LONG OO;Ll;0;L;;;;;N;;;10405;;10405
-1042E;DESERET SMALL LETTER SHORT I;Ll;0;L;;;;;N;;;10406;;10406
-1042F;DESERET SMALL LETTER SHORT E;Ll;0;L;;;;;N;;;10407;;10407
-10430;DESERET SMALL LETTER SHORT A;Ll;0;L;;;;;N;;;10408;;10408
-10431;DESERET SMALL LETTER SHORT AH;Ll;0;L;;;;;N;;;10409;;10409
-10432;DESERET SMALL LETTER SHORT O;Ll;0;L;;;;;N;;;1040A;;1040A
-10433;DESERET SMALL LETTER SHORT OO;Ll;0;L;;;;;N;;;1040B;;1040B
-10434;DESERET SMALL LETTER AY;Ll;0;L;;;;;N;;;1040C;;1040C
-10435;DESERET SMALL LETTER OW;Ll;0;L;;;;;N;;;1040D;;1040D
-10436;DESERET SMALL LETTER WU;Ll;0;L;;;;;N;;;1040E;;1040E
-10437;DESERET SMALL LETTER YEE;Ll;0;L;;;;;N;;;1040F;;1040F
-10438;DESERET SMALL LETTER H;Ll;0;L;;;;;N;;;10410;;10410
-10439;DESERET SMALL LETTER PEE;Ll;0;L;;;;;N;;;10411;;10411
-1043A;DESERET SMALL LETTER BEE;Ll;0;L;;;;;N;;;10412;;10412
-1043B;DESERET SMALL LETTER TEE;Ll;0;L;;;;;N;;;10413;;10413
-1043C;DESERET SMALL LETTER DEE;Ll;0;L;;;;;N;;;10414;;10414
-1043D;DESERET SMALL LETTER CHEE;Ll;0;L;;;;;N;;;10415;;10415
-1043E;DESERET SMALL LETTER JEE;Ll;0;L;;;;;N;;;10416;;10416
-1043F;DESERET SMALL LETTER KAY;Ll;0;L;;;;;N;;;10417;;10417
-10440;DESERET SMALL LETTER GAY;Ll;0;L;;;;;N;;;10418;;10418
-10441;DESERET SMALL LETTER EF;Ll;0;L;;;;;N;;;10419;;10419
-10442;DESERET SMALL LETTER VEE;Ll;0;L;;;;;N;;;1041A;;1041A
-10443;DESERET SMALL LETTER ETH;Ll;0;L;;;;;N;;;1041B;;1041B
-10444;DESERET SMALL LETTER THEE;Ll;0;L;;;;;N;;;1041C;;1041C
-10445;DESERET SMALL LETTER ES;Ll;0;L;;;;;N;;;1041D;;1041D
-10446;DESERET SMALL LETTER ZEE;Ll;0;L;;;;;N;;;1041E;;1041E
-10447;DESERET SMALL LETTER ESH;Ll;0;L;;;;;N;;;1041F;;1041F
-10448;DESERET SMALL LETTER ZHEE;Ll;0;L;;;;;N;;;10420;;10420
-10449;DESERET SMALL LETTER ER;Ll;0;L;;;;;N;;;10421;;10421
-1044A;DESERET SMALL LETTER EL;Ll;0;L;;;;;N;;;10422;;10422
-1044B;DESERET SMALL LETTER EM;Ll;0;L;;;;;N;;;10423;;10423
-1044C;DESERET SMALL LETTER EN;Ll;0;L;;;;;N;;;10424;;10424
-1044D;DESERET SMALL LETTER ENG;Ll;0;L;;;;;N;;;10425;;10425
-1044E;DESERET SMALL LETTER OI;Ll;0;L;;;;;N;;;10426;;10426
-1044F;DESERET SMALL LETTER EW;Ll;0;L;;;;;N;;;10427;;10427
-10450;SHAVIAN LETTER PEEP;Lo;0;L;;;;;N;;;;;
-10451;SHAVIAN LETTER TOT;Lo;0;L;;;;;N;;;;;
-10452;SHAVIAN LETTER KICK;Lo;0;L;;;;;N;;;;;
-10453;SHAVIAN LETTER FEE;Lo;0;L;;;;;N;;;;;
-10454;SHAVIAN LETTER THIGH;Lo;0;L;;;;;N;;;;;
-10455;SHAVIAN LETTER SO;Lo;0;L;;;;;N;;;;;
-10456;SHAVIAN LETTER SURE;Lo;0;L;;;;;N;;;;;
-10457;SHAVIAN LETTER CHURCH;Lo;0;L;;;;;N;;;;;
-10458;SHAVIAN LETTER YEA;Lo;0;L;;;;;N;;;;;
-10459;SHAVIAN LETTER HUNG;Lo;0;L;;;;;N;;;;;
-1045A;SHAVIAN LETTER BIB;Lo;0;L;;;;;N;;;;;
-1045B;SHAVIAN LETTER DEAD;Lo;0;L;;;;;N;;;;;
-1045C;SHAVIAN LETTER GAG;Lo;0;L;;;;;N;;;;;
-1045D;SHAVIAN LETTER VOW;Lo;0;L;;;;;N;;;;;
-1045E;SHAVIAN LETTER THEY;Lo;0;L;;;;;N;;;;;
-1045F;SHAVIAN LETTER ZOO;Lo;0;L;;;;;N;;;;;
-10460;SHAVIAN LETTER MEASURE;Lo;0;L;;;;;N;;;;;
-10461;SHAVIAN LETTER JUDGE;Lo;0;L;;;;;N;;;;;
-10462;SHAVIAN LETTER WOE;Lo;0;L;;;;;N;;;;;
-10463;SHAVIAN LETTER HA-HA;Lo;0;L;;;;;N;;;;;
-10464;SHAVIAN LETTER LOLL;Lo;0;L;;;;;N;;;;;
-10465;SHAVIAN LETTER MIME;Lo;0;L;;;;;N;;;;;
-10466;SHAVIAN LETTER IF;Lo;0;L;;;;;N;;;;;
-10467;SHAVIAN LETTER EGG;Lo;0;L;;;;;N;;;;;
-10468;SHAVIAN LETTER ASH;Lo;0;L;;;;;N;;;;;
-10469;SHAVIAN LETTER ADO;Lo;0;L;;;;;N;;;;;
-1046A;SHAVIAN LETTER ON;Lo;0;L;;;;;N;;;;;
-1046B;SHAVIAN LETTER WOOL;Lo;0;L;;;;;N;;;;;
-1046C;SHAVIAN LETTER OUT;Lo;0;L;;;;;N;;;;;
-1046D;SHAVIAN LETTER AH;Lo;0;L;;;;;N;;;;;
-1046E;SHAVIAN LETTER ROAR;Lo;0;L;;;;;N;;;;;
-1046F;SHAVIAN LETTER NUN;Lo;0;L;;;;;N;;;;;
-10470;SHAVIAN LETTER EAT;Lo;0;L;;;;;N;;;;;
-10471;SHAVIAN LETTER AGE;Lo;0;L;;;;;N;;;;;
-10472;SHAVIAN LETTER ICE;Lo;0;L;;;;;N;;;;;
-10473;SHAVIAN LETTER UP;Lo;0;L;;;;;N;;;;;
-10474;SHAVIAN LETTER OAK;Lo;0;L;;;;;N;;;;;
-10475;SHAVIAN LETTER OOZE;Lo;0;L;;;;;N;;;;;
-10476;SHAVIAN LETTER OIL;Lo;0;L;;;;;N;;;;;
-10477;SHAVIAN LETTER AWE;Lo;0;L;;;;;N;;;;;
-10478;SHAVIAN LETTER ARE;Lo;0;L;;;;;N;;;;;
-10479;SHAVIAN LETTER OR;Lo;0;L;;;;;N;;;;;
-1047A;SHAVIAN LETTER AIR;Lo;0;L;;;;;N;;;;;
-1047B;SHAVIAN LETTER ERR;Lo;0;L;;;;;N;;;;;
-1047C;SHAVIAN LETTER ARRAY;Lo;0;L;;;;;N;;;;;
-1047D;SHAVIAN LETTER EAR;Lo;0;L;;;;;N;;;;;
-1047E;SHAVIAN LETTER IAN;Lo;0;L;;;;;N;;;;;
-1047F;SHAVIAN LETTER YEW;Lo;0;L;;;;;N;;;;;
-10480;OSMANYA LETTER ALEF;Lo;0;L;;;;;N;;;;;
-10481;OSMANYA LETTER BA;Lo;0;L;;;;;N;;;;;
-10482;OSMANYA LETTER TA;Lo;0;L;;;;;N;;;;;
-10483;OSMANYA LETTER JA;Lo;0;L;;;;;N;;;;;
-10484;OSMANYA LETTER XA;Lo;0;L;;;;;N;;;;;
-10485;OSMANYA LETTER KHA;Lo;0;L;;;;;N;;;;;
-10486;OSMANYA LETTER DEEL;Lo;0;L;;;;;N;;;;;
-10487;OSMANYA LETTER RA;Lo;0;L;;;;;N;;;;;
-10488;OSMANYA LETTER SA;Lo;0;L;;;;;N;;;;;
-10489;OSMANYA LETTER SHIIN;Lo;0;L;;;;;N;;;;;
-1048A;OSMANYA LETTER DHA;Lo;0;L;;;;;N;;;;;
-1048B;OSMANYA LETTER CAYN;Lo;0;L;;;;;N;;;;;
-1048C;OSMANYA LETTER GA;Lo;0;L;;;;;N;;;;;
-1048D;OSMANYA LETTER FA;Lo;0;L;;;;;N;;;;;
-1048E;OSMANYA LETTER QAAF;Lo;0;L;;;;;N;;;;;
-1048F;OSMANYA LETTER KAAF;Lo;0;L;;;;;N;;;;;
-10490;OSMANYA LETTER LAAN;Lo;0;L;;;;;N;;;;;
-10491;OSMANYA LETTER MIIN;Lo;0;L;;;;;N;;;;;
-10492;OSMANYA LETTER NUUN;Lo;0;L;;;;;N;;;;;
-10493;OSMANYA LETTER WAW;Lo;0;L;;;;;N;;;;;
-10494;OSMANYA LETTER HA;Lo;0;L;;;;;N;;;;;
-10495;OSMANYA LETTER YA;Lo;0;L;;;;;N;;;;;
-10496;OSMANYA LETTER A;Lo;0;L;;;;;N;;;;;
-10497;OSMANYA LETTER E;Lo;0;L;;;;;N;;;;;
-10498;OSMANYA LETTER I;Lo;0;L;;;;;N;;;;;
-10499;OSMANYA LETTER O;Lo;0;L;;;;;N;;;;;
-1049A;OSMANYA LETTER U;Lo;0;L;;;;;N;;;;;
-1049B;OSMANYA LETTER AA;Lo;0;L;;;;;N;;;;;
-1049C;OSMANYA LETTER EE;Lo;0;L;;;;;N;;;;;
-1049D;OSMANYA LETTER OO;Lo;0;L;;;;;N;;;;;
-104A0;OSMANYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
-104A1;OSMANYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
-104A2;OSMANYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
-104A3;OSMANYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
-104A4;OSMANYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
-104A5;OSMANYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
-104A6;OSMANYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
-104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
-104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
-104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
-10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;;
-10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;;
-10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;;
-10803;CYPRIOT SYLLABLE O;Lo;0;R;;;;;N;;;;;
-10804;CYPRIOT SYLLABLE U;Lo;0;R;;;;;N;;;;;
-10805;CYPRIOT SYLLABLE JA;Lo;0;R;;;;;N;;;;;
-10808;CYPRIOT SYLLABLE JO;Lo;0;R;;;;;N;;;;;
-1080A;CYPRIOT SYLLABLE KA;Lo;0;R;;;;;N;;;;;
-1080B;CYPRIOT SYLLABLE KE;Lo;0;R;;;;;N;;;;;
-1080C;CYPRIOT SYLLABLE KI;Lo;0;R;;;;;N;;;;;
-1080D;CYPRIOT SYLLABLE KO;Lo;0;R;;;;;N;;;;;
-1080E;CYPRIOT SYLLABLE KU;Lo;0;R;;;;;N;;;;;
-1080F;CYPRIOT SYLLABLE LA;Lo;0;R;;;;;N;;;;;
-10810;CYPRIOT SYLLABLE LE;Lo;0;R;;;;;N;;;;;
-10811;CYPRIOT SYLLABLE LI;Lo;0;R;;;;;N;;;;;
-10812;CYPRIOT SYLLABLE LO;Lo;0;R;;;;;N;;;;;
-10813;CYPRIOT SYLLABLE LU;Lo;0;R;;;;;N;;;;;
-10814;CYPRIOT SYLLABLE MA;Lo;0;R;;;;;N;;;;;
-10815;CYPRIOT SYLLABLE ME;Lo;0;R;;;;;N;;;;;
-10816;CYPRIOT SYLLABLE MI;Lo;0;R;;;;;N;;;;;
-10817;CYPRIOT SYLLABLE MO;Lo;0;R;;;;;N;;;;;
-10818;CYPRIOT SYLLABLE MU;Lo;0;R;;;;;N;;;;;
-10819;CYPRIOT SYLLABLE NA;Lo;0;R;;;;;N;;;;;
-1081A;CYPRIOT SYLLABLE NE;Lo;0;R;;;;;N;;;;;
-1081B;CYPRIOT SYLLABLE NI;Lo;0;R;;;;;N;;;;;
-1081C;CYPRIOT SYLLABLE NO;Lo;0;R;;;;;N;;;;;
-1081D;CYPRIOT SYLLABLE NU;Lo;0;R;;;;;N;;;;;
-1081E;CYPRIOT SYLLABLE PA;Lo;0;R;;;;;N;;;;;
-1081F;CYPRIOT SYLLABLE PE;Lo;0;R;;;;;N;;;;;
-10820;CYPRIOT SYLLABLE PI;Lo;0;R;;;;;N;;;;;
-10821;CYPRIOT SYLLABLE PO;Lo;0;R;;;;;N;;;;;
-10822;CYPRIOT SYLLABLE PU;Lo;0;R;;;;;N;;;;;
-10823;CYPRIOT SYLLABLE RA;Lo;0;R;;;;;N;;;;;
-10824;CYPRIOT SYLLABLE RE;Lo;0;R;;;;;N;;;;;
-10825;CYPRIOT SYLLABLE RI;Lo;0;R;;;;;N;;;;;
-10826;CYPRIOT SYLLABLE RO;Lo;0;R;;;;;N;;;;;
-10827;CYPRIOT SYLLABLE RU;Lo;0;R;;;;;N;;;;;
-10828;CYPRIOT SYLLABLE SA;Lo;0;R;;;;;N;;;;;
-10829;CYPRIOT SYLLABLE SE;Lo;0;R;;;;;N;;;;;
-1082A;CYPRIOT SYLLABLE SI;Lo;0;R;;;;;N;;;;;
-1082B;CYPRIOT SYLLABLE SO;Lo;0;R;;;;;N;;;;;
-1082C;CYPRIOT SYLLABLE SU;Lo;0;R;;;;;N;;;;;
-1082D;CYPRIOT SYLLABLE TA;Lo;0;R;;;;;N;;;;;
-1082E;CYPRIOT SYLLABLE TE;Lo;0;R;;;;;N;;;;;
-1082F;CYPRIOT SYLLABLE TI;Lo;0;R;;;;;N;;;;;
-10830;CYPRIOT SYLLABLE TO;Lo;0;R;;;;;N;;;;;
-10831;CYPRIOT SYLLABLE TU;Lo;0;R;;;;;N;;;;;
-10832;CYPRIOT SYLLABLE WA;Lo;0;R;;;;;N;;;;;
-10833;CYPRIOT SYLLABLE WE;Lo;0;R;;;;;N;;;;;
-10834;CYPRIOT SYLLABLE WI;Lo;0;R;;;;;N;;;;;
-10835;CYPRIOT SYLLABLE WO;Lo;0;R;;;;;N;;;;;
-10837;CYPRIOT SYLLABLE XA;Lo;0;R;;;;;N;;;;;
-10838;CYPRIOT SYLLABLE XE;Lo;0;R;;;;;N;;;;;
-1083C;CYPRIOT SYLLABLE ZA;Lo;0;R;;;;;N;;;;;
-1083F;CYPRIOT SYLLABLE ZO;Lo;0;R;;;;;N;;;;;
-10840;IMPERIAL ARAMAIC LETTER ALEPH;Lo;0;R;;;;;N;;;;;
-10841;IMPERIAL ARAMAIC LETTER BETH;Lo;0;R;;;;;N;;;;;
-10842;IMPERIAL ARAMAIC LETTER GIMEL;Lo;0;R;;;;;N;;;;;
-10843;IMPERIAL ARAMAIC LETTER DALETH;Lo;0;R;;;;;N;;;;;
-10844;IMPERIAL ARAMAIC LETTER HE;Lo;0;R;;;;;N;;;;;
-10845;IMPERIAL ARAMAIC LETTER WAW;Lo;0;R;;;;;N;;;;;
-10846;IMPERIAL ARAMAIC LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
-10847;IMPERIAL ARAMAIC LETTER HETH;Lo;0;R;;;;;N;;;;;
-10848;IMPERIAL ARAMAIC LETTER TETH;Lo;0;R;;;;;N;;;;;
-10849;IMPERIAL ARAMAIC LETTER YODH;Lo;0;R;;;;;N;;;;;
-1084A;IMPERIAL ARAMAIC LETTER KAPH;Lo;0;R;;;;;N;;;;;
-1084B;IMPERIAL ARAMAIC LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
-1084C;IMPERIAL ARAMAIC LETTER MEM;Lo;0;R;;;;;N;;;;;
-1084D;IMPERIAL ARAMAIC LETTER NUN;Lo;0;R;;;;;N;;;;;
-1084E;IMPERIAL ARAMAIC LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
-1084F;IMPERIAL ARAMAIC LETTER AYIN;Lo;0;R;;;;;N;;;;;
-10850;IMPERIAL ARAMAIC LETTER PE;Lo;0;R;;;;;N;;;;;
-10851;IMPERIAL ARAMAIC LETTER SADHE;Lo;0;R;;;;;N;;;;;
-10852;IMPERIAL ARAMAIC LETTER QOPH;Lo;0;R;;;;;N;;;;;
-10853;IMPERIAL ARAMAIC LETTER RESH;Lo;0;R;;;;;N;;;;;
-10854;IMPERIAL ARAMAIC LETTER SHIN;Lo;0;R;;;;;N;;;;;
-10855;IMPERIAL ARAMAIC LETTER TAW;Lo;0;R;;;;;N;;;;;
-10857;IMPERIAL ARAMAIC SECTION SIGN;Po;0;R;;;;;N;;;;;
-10858;IMPERIAL ARAMAIC NUMBER ONE;No;0;R;;;;1;N;;;;;
-10859;IMPERIAL ARAMAIC NUMBER TWO;No;0;R;;;;2;N;;;;;
-1085A;IMPERIAL ARAMAIC NUMBER THREE;No;0;R;;;;3;N;;;;;
-1085B;IMPERIAL ARAMAIC NUMBER TEN;No;0;R;;;;10;N;;;;;
-1085C;IMPERIAL ARAMAIC NUMBER TWENTY;No;0;R;;;;20;N;;;;;
-1085D;IMPERIAL ARAMAIC NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
-1085E;IMPERIAL ARAMAIC NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
-1085F;IMPERIAL ARAMAIC NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;;
-10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;;
-10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;;
-10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;;
-10903;PHOENICIAN LETTER DELT;Lo;0;R;;;;;N;;;;;
-10904;PHOENICIAN LETTER HE;Lo;0;R;;;;;N;;;;;
-10905;PHOENICIAN LETTER WAU;Lo;0;R;;;;;N;;;;;
-10906;PHOENICIAN LETTER ZAI;Lo;0;R;;;;;N;;;;;
-10907;PHOENICIAN LETTER HET;Lo;0;R;;;;;N;;;;;
-10908;PHOENICIAN LETTER TET;Lo;0;R;;;;;N;;;;;
-10909;PHOENICIAN LETTER YOD;Lo;0;R;;;;;N;;;;;
-1090A;PHOENICIAN LETTER KAF;Lo;0;R;;;;;N;;;;;
-1090B;PHOENICIAN LETTER LAMD;Lo;0;R;;;;;N;;;;;
-1090C;PHOENICIAN LETTER MEM;Lo;0;R;;;;;N;;;;;
-1090D;PHOENICIAN LETTER NUN;Lo;0;R;;;;;N;;;;;
-1090E;PHOENICIAN LETTER SEMK;Lo;0;R;;;;;N;;;;;
-1090F;PHOENICIAN LETTER AIN;Lo;0;R;;;;;N;;;;;
-10910;PHOENICIAN LETTER PE;Lo;0;R;;;;;N;;;;;
-10911;PHOENICIAN LETTER SADE;Lo;0;R;;;;;N;;;;;
-10912;PHOENICIAN LETTER QOF;Lo;0;R;;;;;N;;;;;
-10913;PHOENICIAN LETTER ROSH;Lo;0;R;;;;;N;;;;;
-10914;PHOENICIAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
-10915;PHOENICIAN LETTER TAU;Lo;0;R;;;;;N;;;;;
-10916;PHOENICIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
-10917;PHOENICIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
-10918;PHOENICIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
-10919;PHOENICIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
-1091A;PHOENICIAN NUMBER TWO;No;0;R;;;;2;N;;;;;
-1091B;PHOENICIAN NUMBER THREE;No;0;R;;;;3;N;;;;;
-1091F;PHOENICIAN WORD SEPARATOR;Po;0;ON;;;;;N;;;;;
-10920;LYDIAN LETTER A;Lo;0;R;;;;;N;;;;;
-10921;LYDIAN LETTER B;Lo;0;R;;;;;N;;;;;
-10922;LYDIAN LETTER G;Lo;0;R;;;;;N;;;;;
-10923;LYDIAN LETTER D;Lo;0;R;;;;;N;;;;;
-10924;LYDIAN LETTER E;Lo;0;R;;;;;N;;;;;
-10925;LYDIAN LETTER V;Lo;0;R;;;;;N;;;;;
-10926;LYDIAN LETTER I;Lo;0;R;;;;;N;;;;;
-10927;LYDIAN LETTER Y;Lo;0;R;;;;;N;;;;;
-10928;LYDIAN LETTER K;Lo;0;R;;;;;N;;;;;
-10929;LYDIAN LETTER L;Lo;0;R;;;;;N;;;;;
-1092A;LYDIAN LETTER M;Lo;0;R;;;;;N;;;;;
-1092B;LYDIAN LETTER N;Lo;0;R;;;;;N;;;;;
-1092C;LYDIAN LETTER O;Lo;0;R;;;;;N;;;;;
-1092D;LYDIAN LETTER R;Lo;0;R;;;;;N;;;;;
-1092E;LYDIAN LETTER SS;Lo;0;R;;;;;N;;;;;
-1092F;LYDIAN LETTER T;Lo;0;R;;;;;N;;;;;
-10930;LYDIAN LETTER U;Lo;0;R;;;;;N;;;;;
-10931;LYDIAN LETTER F;Lo;0;R;;;;;N;;;;;
-10932;LYDIAN LETTER Q;Lo;0;R;;;;;N;;;;;
-10933;LYDIAN LETTER S;Lo;0;R;;;;;N;;;;;
-10934;LYDIAN LETTER TT;Lo;0;R;;;;;N;;;;;
-10935;LYDIAN LETTER AN;Lo;0;R;;;;;N;;;;;
-10936;LYDIAN LETTER EN;Lo;0;R;;;;;N;;;;;
-10937;LYDIAN LETTER LY;Lo;0;R;;;;;N;;;;;
-10938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;;
-10939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;;
-1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;;
-10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
-10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
-10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-10A03;KHAROSHTHI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
-10A05;KHAROSHTHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-10A06;KHAROSHTHI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
-10A0C;KHAROSHTHI VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
-10A0D;KHAROSHTHI SIGN DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;;
-10A0E;KHAROSHTHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-10A0F;KHAROSHTHI SIGN VISARGA;Mn;230;NSM;;;;;N;;;;;
-10A10;KHAROSHTHI LETTER KA;Lo;0;R;;;;;N;;;;;
-10A11;KHAROSHTHI LETTER KHA;Lo;0;R;;;;;N;;;;;
-10A12;KHAROSHTHI LETTER GA;Lo;0;R;;;;;N;;;;;
-10A13;KHAROSHTHI LETTER GHA;Lo;0;R;;;;;N;;;;;
-10A15;KHAROSHTHI LETTER CA;Lo;0;R;;;;;N;;;;;
-10A16;KHAROSHTHI LETTER CHA;Lo;0;R;;;;;N;;;;;
-10A17;KHAROSHTHI LETTER JA;Lo;0;R;;;;;N;;;;;
-10A19;KHAROSHTHI LETTER NYA;Lo;0;R;;;;;N;;;;;
-10A1A;KHAROSHTHI LETTER TTA;Lo;0;R;;;;;N;;;;;
-10A1B;KHAROSHTHI LETTER TTHA;Lo;0;R;;;;;N;;;;;
-10A1C;KHAROSHTHI LETTER DDA;Lo;0;R;;;;;N;;;;;
-10A1D;KHAROSHTHI LETTER DDHA;Lo;0;R;;;;;N;;;;;
-10A1E;KHAROSHTHI LETTER NNA;Lo;0;R;;;;;N;;;;;
-10A1F;KHAROSHTHI LETTER TA;Lo;0;R;;;;;N;;;;;
-10A20;KHAROSHTHI LETTER THA;Lo;0;R;;;;;N;;;;;
-10A21;KHAROSHTHI LETTER DA;Lo;0;R;;;;;N;;;;;
-10A22;KHAROSHTHI LETTER DHA;Lo;0;R;;;;;N;;;;;
-10A23;KHAROSHTHI LETTER NA;Lo;0;R;;;;;N;;;;;
-10A24;KHAROSHTHI LETTER PA;Lo;0;R;;;;;N;;;;;
-10A25;KHAROSHTHI LETTER PHA;Lo;0;R;;;;;N;;;;;
-10A26;KHAROSHTHI LETTER BA;Lo;0;R;;;;;N;;;;;
-10A27;KHAROSHTHI LETTER BHA;Lo;0;R;;;;;N;;;;;
-10A28;KHAROSHTHI LETTER MA;Lo;0;R;;;;;N;;;;;
-10A29;KHAROSHTHI LETTER YA;Lo;0;R;;;;;N;;;;;
-10A2A;KHAROSHTHI LETTER RA;Lo;0;R;;;;;N;;;;;
-10A2B;KHAROSHTHI LETTER LA;Lo;0;R;;;;;N;;;;;
-10A2C;KHAROSHTHI LETTER VA;Lo;0;R;;;;;N;;;;;
-10A2D;KHAROSHTHI LETTER SHA;Lo;0;R;;;;;N;;;;;
-10A2E;KHAROSHTHI LETTER SSA;Lo;0;R;;;;;N;;;;;
-10A2F;KHAROSHTHI LETTER SA;Lo;0;R;;;;;N;;;;;
-10A30;KHAROSHTHI LETTER ZA;Lo;0;R;;;;;N;;;;;
-10A31;KHAROSHTHI LETTER HA;Lo;0;R;;;;;N;;;;;
-10A32;KHAROSHTHI LETTER KKA;Lo;0;R;;;;;N;;;;;
-10A33;KHAROSHTHI LETTER TTTHA;Lo;0;R;;;;;N;;;;;
-10A38;KHAROSHTHI SIGN BAR ABOVE;Mn;230;NSM;;;;;N;;;;;
-10A39;KHAROSHTHI SIGN CAUDA;Mn;1;NSM;;;;;N;;;;;
-10A3A;KHAROSHTHI SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;;
-10A3F;KHAROSHTHI VIRAMA;Mn;9;NSM;;;;;N;;;;;
-10A40;KHAROSHTHI DIGIT ONE;No;0;R;;;1;1;N;;;;;
-10A41;KHAROSHTHI DIGIT TWO;No;0;R;;;2;2;N;;;;;
-10A42;KHAROSHTHI DIGIT THREE;No;0;R;;;3;3;N;;;;;
-10A43;KHAROSHTHI DIGIT FOUR;No;0;R;;;4;4;N;;;;;
-10A44;KHAROSHTHI NUMBER TEN;No;0;R;;;;10;N;;;;;
-10A45;KHAROSHTHI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
-10A46;KHAROSHTHI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
-10A47;KHAROSHTHI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
-10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;;
-10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;;
-10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;;
-10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;;
-10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;;
-10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;;
-10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;;
-10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;;
-10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;;
-10A60;OLD SOUTH ARABIAN LETTER HE;Lo;0;R;;;;;N;;;;;
-10A61;OLD SOUTH ARABIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
-10A62;OLD SOUTH ARABIAN LETTER HETH;Lo;0;R;;;;;N;;;;;
-10A63;OLD SOUTH ARABIAN LETTER MEM;Lo;0;R;;;;;N;;;;;
-10A64;OLD SOUTH ARABIAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
-10A65;OLD SOUTH ARABIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
-10A66;OLD SOUTH ARABIAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
-10A67;OLD SOUTH ARABIAN LETTER RESH;Lo;0;R;;;;;N;;;;;
-10A68;OLD SOUTH ARABIAN LETTER BETH;Lo;0;R;;;;;N;;;;;
-10A69;OLD SOUTH ARABIAN LETTER TAW;Lo;0;R;;;;;N;;;;;
-10A6A;OLD SOUTH ARABIAN LETTER SAT;Lo;0;R;;;;;N;;;;;
-10A6B;OLD SOUTH ARABIAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
-10A6C;OLD SOUTH ARABIAN LETTER NUN;Lo;0;R;;;;;N;;;;;
-10A6D;OLD SOUTH ARABIAN LETTER KHETH;Lo;0;R;;;;;N;;;;;
-10A6E;OLD SOUTH ARABIAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
-10A6F;OLD SOUTH ARABIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
-10A70;OLD SOUTH ARABIAN LETTER FE;Lo;0;R;;;;;N;;;;;
-10A71;OLD SOUTH ARABIAN LETTER ALEF;Lo;0;R;;;;;N;;;;;
-10A72;OLD SOUTH ARABIAN LETTER AYN;Lo;0;R;;;;;N;;;;;
-10A73;OLD SOUTH ARABIAN LETTER DHADHE;Lo;0;R;;;;;N;;;;;
-10A74;OLD SOUTH ARABIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
-10A75;OLD SOUTH ARABIAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
-10A76;OLD SOUTH ARABIAN LETTER GHAYN;Lo;0;R;;;;;N;;;;;
-10A77;OLD SOUTH ARABIAN LETTER TETH;Lo;0;R;;;;;N;;;;;
-10A78;OLD SOUTH ARABIAN LETTER ZAYN;Lo;0;R;;;;;N;;;;;
-10A79;OLD SOUTH ARABIAN LETTER DHALETH;Lo;0;R;;;;;N;;;;;
-10A7A;OLD SOUTH ARABIAN LETTER YODH;Lo;0;R;;;;;N;;;;;
-10A7B;OLD SOUTH ARABIAN LETTER THAW;Lo;0;R;;;;;N;;;;;
-10A7C;OLD SOUTH ARABIAN LETTER THETH;Lo;0;R;;;;;N;;;;;
-10A7D;OLD SOUTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
-10A7E;OLD SOUTH ARABIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
-10A7F;OLD SOUTH ARABIAN NUMERIC INDICATOR;Po;0;R;;;;;N;;;;;
-10B00;AVESTAN LETTER A;Lo;0;R;;;;;N;;;;;
-10B01;AVESTAN LETTER AA;Lo;0;R;;;;;N;;;;;
-10B02;AVESTAN LETTER AO;Lo;0;R;;;;;N;;;;;
-10B03;AVESTAN LETTER AAO;Lo;0;R;;;;;N;;;;;
-10B04;AVESTAN LETTER AN;Lo;0;R;;;;;N;;;;;
-10B05;AVESTAN LETTER AAN;Lo;0;R;;;;;N;;;;;
-10B06;AVESTAN LETTER AE;Lo;0;R;;;;;N;;;;;
-10B07;AVESTAN LETTER AEE;Lo;0;R;;;;;N;;;;;
-10B08;AVESTAN LETTER E;Lo;0;R;;;;;N;;;;;
-10B09;AVESTAN LETTER EE;Lo;0;R;;;;;N;;;;;
-10B0A;AVESTAN LETTER O;Lo;0;R;;;;;N;;;;;
-10B0B;AVESTAN LETTER OO;Lo;0;R;;;;;N;;;;;
-10B0C;AVESTAN LETTER I;Lo;0;R;;;;;N;;;;;
-10B0D;AVESTAN LETTER II;Lo;0;R;;;;;N;;;;;
-10B0E;AVESTAN LETTER U;Lo;0;R;;;;;N;;;;;
-10B0F;AVESTAN LETTER UU;Lo;0;R;;;;;N;;;;;
-10B10;AVESTAN LETTER KE;Lo;0;R;;;;;N;;;;;
-10B11;AVESTAN LETTER XE;Lo;0;R;;;;;N;;;;;
-10B12;AVESTAN LETTER XYE;Lo;0;R;;;;;N;;;;;
-10B13;AVESTAN LETTER XVE;Lo;0;R;;;;;N;;;;;
-10B14;AVESTAN LETTER GE;Lo;0;R;;;;;N;;;;;
-10B15;AVESTAN LETTER GGE;Lo;0;R;;;;;N;;;;;
-10B16;AVESTAN LETTER GHE;Lo;0;R;;;;;N;;;;;
-10B17;AVESTAN LETTER CE;Lo;0;R;;;;;N;;;;;
-10B18;AVESTAN LETTER JE;Lo;0;R;;;;;N;;;;;
-10B19;AVESTAN LETTER TE;Lo;0;R;;;;;N;;;;;
-10B1A;AVESTAN LETTER THE;Lo;0;R;;;;;N;;;;;
-10B1B;AVESTAN LETTER DE;Lo;0;R;;;;;N;;;;;
-10B1C;AVESTAN LETTER DHE;Lo;0;R;;;;;N;;;;;
-10B1D;AVESTAN LETTER TTE;Lo;0;R;;;;;N;;;;;
-10B1E;AVESTAN LETTER PE;Lo;0;R;;;;;N;;;;;
-10B1F;AVESTAN LETTER FE;Lo;0;R;;;;;N;;;;;
-10B20;AVESTAN LETTER BE;Lo;0;R;;;;;N;;;;;
-10B21;AVESTAN LETTER BHE;Lo;0;R;;;;;N;;;;;
-10B22;AVESTAN LETTER NGE;Lo;0;R;;;;;N;;;;;
-10B23;AVESTAN LETTER NGYE;Lo;0;R;;;;;N;;;;;
-10B24;AVESTAN LETTER NGVE;Lo;0;R;;;;;N;;;;;
-10B25;AVESTAN LETTER NE;Lo;0;R;;;;;N;;;;;
-10B26;AVESTAN LETTER NYE;Lo;0;R;;;;;N;;;;;
-10B27;AVESTAN LETTER NNE;Lo;0;R;;;;;N;;;;;
-10B28;AVESTAN LETTER ME;Lo;0;R;;;;;N;;;;;
-10B29;AVESTAN LETTER HME;Lo;0;R;;;;;N;;;;;
-10B2A;AVESTAN LETTER YYE;Lo;0;R;;;;;N;;;;;
-10B2B;AVESTAN LETTER YE;Lo;0;R;;;;;N;;;;;
-10B2C;AVESTAN LETTER VE;Lo;0;R;;;;;N;;;;;
-10B2D;AVESTAN LETTER RE;Lo;0;R;;;;;N;;;;;
-10B2E;AVESTAN LETTER LE;Lo;0;R;;;;;N;;;;;
-10B2F;AVESTAN LETTER SE;Lo;0;R;;;;;N;;;;;
-10B30;AVESTAN LETTER ZE;Lo;0;R;;;;;N;;;;;
-10B31;AVESTAN LETTER SHE;Lo;0;R;;;;;N;;;;;
-10B32;AVESTAN LETTER ZHE;Lo;0;R;;;;;N;;;;;
-10B33;AVESTAN LETTER SHYE;Lo;0;R;;;;;N;;;;;
-10B34;AVESTAN LETTER SSHE;Lo;0;R;;;;;N;;;;;
-10B35;AVESTAN LETTER HE;Lo;0;R;;;;;N;;;;;
-10B39;AVESTAN ABBREVIATION MARK;Po;0;ON;;;;;N;;;;;
-10B3A;TINY TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-10B3B;SMALL TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-10B3C;LARGE TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;;
-10B3D;LARGE ONE DOT OVER TWO DOTS PUNCTUATION;Po;0;ON;;;;;N;;;;;
-10B3E;LARGE TWO RINGS OVER ONE RING PUNCTUATION;Po;0;ON;;;;;N;;;;;
-10B3F;LARGE ONE RING OVER TWO RINGS PUNCTUATION;Po;0;ON;;;;;N;;;;;
-10B40;INSCRIPTIONAL PARTHIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
-10B41;INSCRIPTIONAL PARTHIAN LETTER BETH;Lo;0;R;;;;;N;;;;;
-10B42;INSCRIPTIONAL PARTHIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
-10B43;INSCRIPTIONAL PARTHIAN LETTER DALETH;Lo;0;R;;;;;N;;;;;
-10B44;INSCRIPTIONAL PARTHIAN LETTER HE;Lo;0;R;;;;;N;;;;;
-10B45;INSCRIPTIONAL PARTHIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
-10B46;INSCRIPTIONAL PARTHIAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
-10B47;INSCRIPTIONAL PARTHIAN LETTER HETH;Lo;0;R;;;;;N;;;;;
-10B48;INSCRIPTIONAL PARTHIAN LETTER TETH;Lo;0;R;;;;;N;;;;;
-10B49;INSCRIPTIONAL PARTHIAN LETTER YODH;Lo;0;R;;;;;N;;;;;
-10B4A;INSCRIPTIONAL PARTHIAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
-10B4B;INSCRIPTIONAL PARTHIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
-10B4C;INSCRIPTIONAL PARTHIAN LETTER MEM;Lo;0;R;;;;;N;;;;;
-10B4D;INSCRIPTIONAL PARTHIAN LETTER NUN;Lo;0;R;;;;;N;;;;;
-10B4E;INSCRIPTIONAL PARTHIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
-10B4F;INSCRIPTIONAL PARTHIAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
-10B50;INSCRIPTIONAL PARTHIAN LETTER PE;Lo;0;R;;;;;N;;;;;
-10B51;INSCRIPTIONAL PARTHIAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
-10B52;INSCRIPTIONAL PARTHIAN LETTER QOPH;Lo;0;R;;;;;N;;;;;
-10B53;INSCRIPTIONAL PARTHIAN LETTER RESH;Lo;0;R;;;;;N;;;;;
-10B54;INSCRIPTIONAL PARTHIAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
-10B55;INSCRIPTIONAL PARTHIAN LETTER TAW;Lo;0;R;;;;;N;;;;;
-10B58;INSCRIPTIONAL PARTHIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
-10B59;INSCRIPTIONAL PARTHIAN NUMBER TWO;No;0;R;;;;2;N;;;;;
-10B5A;INSCRIPTIONAL PARTHIAN NUMBER THREE;No;0;R;;;;3;N;;;;;
-10B5B;INSCRIPTIONAL PARTHIAN NUMBER FOUR;No;0;R;;;;4;N;;;;;
-10B5C;INSCRIPTIONAL PARTHIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
-10B5D;INSCRIPTIONAL PARTHIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
-10B5E;INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
-10B5F;INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
-10B60;INSCRIPTIONAL PAHLAVI LETTER ALEPH;Lo;0;R;;;;;N;;;;;
-10B61;INSCRIPTIONAL PAHLAVI LETTER BETH;Lo;0;R;;;;;N;;;;;
-10B62;INSCRIPTIONAL PAHLAVI LETTER GIMEL;Lo;0;R;;;;;N;;;;;
-10B63;INSCRIPTIONAL PAHLAVI LETTER DALETH;Lo;0;R;;;;;N;;;;;
-10B64;INSCRIPTIONAL PAHLAVI LETTER HE;Lo;0;R;;;;;N;;;;;
-10B65;INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH;Lo;0;R;;;;;N;;;;;
-10B66;INSCRIPTIONAL PAHLAVI LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
-10B67;INSCRIPTIONAL PAHLAVI LETTER HETH;Lo;0;R;;;;;N;;;;;
-10B68;INSCRIPTIONAL PAHLAVI LETTER TETH;Lo;0;R;;;;;N;;;;;
-10B69;INSCRIPTIONAL PAHLAVI LETTER YODH;Lo;0;R;;;;;N;;;;;
-10B6A;INSCRIPTIONAL PAHLAVI LETTER KAPH;Lo;0;R;;;;;N;;;;;
-10B6B;INSCRIPTIONAL PAHLAVI LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
-10B6C;INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH;Lo;0;R;;;;;N;;;;;
-10B6D;INSCRIPTIONAL PAHLAVI LETTER NUN;Lo;0;R;;;;;N;;;;;
-10B6E;INSCRIPTIONAL PAHLAVI LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
-10B6F;INSCRIPTIONAL PAHLAVI LETTER PE;Lo;0;R;;;;;N;;;;;
-10B70;INSCRIPTIONAL PAHLAVI LETTER SADHE;Lo;0;R;;;;;N;;;;;
-10B71;INSCRIPTIONAL PAHLAVI LETTER SHIN;Lo;0;R;;;;;N;;;;;
-10B72;INSCRIPTIONAL PAHLAVI LETTER TAW;Lo;0;R;;;;;N;;;;;
-10B78;INSCRIPTIONAL PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;;
-10B79;INSCRIPTIONAL PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;;
-10B7A;INSCRIPTIONAL PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;;
-10B7B;INSCRIPTIONAL PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;;
-10B7C;INSCRIPTIONAL PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;;
-10B7D;INSCRIPTIONAL PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
-10B7E;INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
-10B7F;INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
-10C00;OLD TURKIC LETTER ORKHON A;Lo;0;R;;;;;N;;;;;
-10C01;OLD TURKIC LETTER YENISEI A;Lo;0;R;;;;;N;;;;;
-10C02;OLD TURKIC LETTER YENISEI AE;Lo;0;R;;;;;N;;;;;
-10C03;OLD TURKIC LETTER ORKHON I;Lo;0;R;;;;;N;;;;;
-10C04;OLD TURKIC LETTER YENISEI I;Lo;0;R;;;;;N;;;;;
-10C05;OLD TURKIC LETTER YENISEI E;Lo;0;R;;;;;N;;;;;
-10C06;OLD TURKIC LETTER ORKHON O;Lo;0;R;;;;;N;;;;;
-10C07;OLD TURKIC LETTER ORKHON OE;Lo;0;R;;;;;N;;;;;
-10C08;OLD TURKIC LETTER YENISEI OE;Lo;0;R;;;;;N;;;;;
-10C09;OLD TURKIC LETTER ORKHON AB;Lo;0;R;;;;;N;;;;;
-10C0A;OLD TURKIC LETTER YENISEI AB;Lo;0;R;;;;;N;;;;;
-10C0B;OLD TURKIC LETTER ORKHON AEB;Lo;0;R;;;;;N;;;;;
-10C0C;OLD TURKIC LETTER YENISEI AEB;Lo;0;R;;;;;N;;;;;
-10C0D;OLD TURKIC LETTER ORKHON AG;Lo;0;R;;;;;N;;;;;
-10C0E;OLD TURKIC LETTER YENISEI AG;Lo;0;R;;;;;N;;;;;
-10C0F;OLD TURKIC LETTER ORKHON AEG;Lo;0;R;;;;;N;;;;;
-10C10;OLD TURKIC LETTER YENISEI AEG;Lo;0;R;;;;;N;;;;;
-10C11;OLD TURKIC LETTER ORKHON AD;Lo;0;R;;;;;N;;;;;
-10C12;OLD TURKIC LETTER YENISEI AD;Lo;0;R;;;;;N;;;;;
-10C13;OLD TURKIC LETTER ORKHON AED;Lo;0;R;;;;;N;;;;;
-10C14;OLD TURKIC LETTER ORKHON EZ;Lo;0;R;;;;;N;;;;;
-10C15;OLD TURKIC LETTER YENISEI EZ;Lo;0;R;;;;;N;;;;;
-10C16;OLD TURKIC LETTER ORKHON AY;Lo;0;R;;;;;N;;;;;
-10C17;OLD TURKIC LETTER YENISEI AY;Lo;0;R;;;;;N;;;;;
-10C18;OLD TURKIC LETTER ORKHON AEY;Lo;0;R;;;;;N;;;;;
-10C19;OLD TURKIC LETTER YENISEI AEY;Lo;0;R;;;;;N;;;;;
-10C1A;OLD TURKIC LETTER ORKHON AEK;Lo;0;R;;;;;N;;;;;
-10C1B;OLD TURKIC LETTER YENISEI AEK;Lo;0;R;;;;;N;;;;;
-10C1C;OLD TURKIC LETTER ORKHON OEK;Lo;0;R;;;;;N;;;;;
-10C1D;OLD TURKIC LETTER YENISEI OEK;Lo;0;R;;;;;N;;;;;
-10C1E;OLD TURKIC LETTER ORKHON AL;Lo;0;R;;;;;N;;;;;
-10C1F;OLD TURKIC LETTER YENISEI AL;Lo;0;R;;;;;N;;;;;
-10C20;OLD TURKIC LETTER ORKHON AEL;Lo;0;R;;;;;N;;;;;
-10C21;OLD TURKIC LETTER ORKHON ELT;Lo;0;R;;;;;N;;;;;
-10C22;OLD TURKIC LETTER ORKHON EM;Lo;0;R;;;;;N;;;;;
-10C23;OLD TURKIC LETTER ORKHON AN;Lo;0;R;;;;;N;;;;;
-10C24;OLD TURKIC LETTER ORKHON AEN;Lo;0;R;;;;;N;;;;;
-10C25;OLD TURKIC LETTER YENISEI AEN;Lo;0;R;;;;;N;;;;;
-10C26;OLD TURKIC LETTER ORKHON ENT;Lo;0;R;;;;;N;;;;;
-10C27;OLD TURKIC LETTER YENISEI ENT;Lo;0;R;;;;;N;;;;;
-10C28;OLD TURKIC LETTER ORKHON ENC;Lo;0;R;;;;;N;;;;;
-10C29;OLD TURKIC LETTER YENISEI ENC;Lo;0;R;;;;;N;;;;;
-10C2A;OLD TURKIC LETTER ORKHON ENY;Lo;0;R;;;;;N;;;;;
-10C2B;OLD TURKIC LETTER YENISEI ENY;Lo;0;R;;;;;N;;;;;
-10C2C;OLD TURKIC LETTER YENISEI ANG;Lo;0;R;;;;;N;;;;;
-10C2D;OLD TURKIC LETTER ORKHON ENG;Lo;0;R;;;;;N;;;;;
-10C2E;OLD TURKIC LETTER YENISEI AENG;Lo;0;R;;;;;N;;;;;
-10C2F;OLD TURKIC LETTER ORKHON EP;Lo;0;R;;;;;N;;;;;
-10C30;OLD TURKIC LETTER ORKHON OP;Lo;0;R;;;;;N;;;;;
-10C31;OLD TURKIC LETTER ORKHON IC;Lo;0;R;;;;;N;;;;;
-10C32;OLD TURKIC LETTER ORKHON EC;Lo;0;R;;;;;N;;;;;
-10C33;OLD TURKIC LETTER YENISEI EC;Lo;0;R;;;;;N;;;;;
-10C34;OLD TURKIC LETTER ORKHON AQ;Lo;0;R;;;;;N;;;;;
-10C35;OLD TURKIC LETTER YENISEI AQ;Lo;0;R;;;;;N;;;;;
-10C36;OLD TURKIC LETTER ORKHON IQ;Lo;0;R;;;;;N;;;;;
-10C37;OLD TURKIC LETTER YENISEI IQ;Lo;0;R;;;;;N;;;;;
-10C38;OLD TURKIC LETTER ORKHON OQ;Lo;0;R;;;;;N;;;;;
-10C39;OLD TURKIC LETTER YENISEI OQ;Lo;0;R;;;;;N;;;;;
-10C3A;OLD TURKIC LETTER ORKHON AR;Lo;0;R;;;;;N;;;;;
-10C3B;OLD TURKIC LETTER YENISEI AR;Lo;0;R;;;;;N;;;;;
-10C3C;OLD TURKIC LETTER ORKHON AER;Lo;0;R;;;;;N;;;;;
-10C3D;OLD TURKIC LETTER ORKHON AS;Lo;0;R;;;;;N;;;;;
-10C3E;OLD TURKIC LETTER ORKHON AES;Lo;0;R;;;;;N;;;;;
-10C3F;OLD TURKIC LETTER ORKHON ASH;Lo;0;R;;;;;N;;;;;
-10C40;OLD TURKIC LETTER YENISEI ASH;Lo;0;R;;;;;N;;;;;
-10C41;OLD TURKIC LETTER ORKHON ESH;Lo;0;R;;;;;N;;;;;
-10C42;OLD TURKIC LETTER YENISEI ESH;Lo;0;R;;;;;N;;;;;
-10C43;OLD TURKIC LETTER ORKHON AT;Lo;0;R;;;;;N;;;;;
-10C44;OLD TURKIC LETTER YENISEI AT;Lo;0;R;;;;;N;;;;;
-10C45;OLD TURKIC LETTER ORKHON AET;Lo;0;R;;;;;N;;;;;
-10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;;
-10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;;
-10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;;
-10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;;
-10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;;
-10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;;
-10E63;RUMI DIGIT FOUR;No;0;AN;;;4;4;N;;;;;
-10E64;RUMI DIGIT FIVE;No;0;AN;;;5;5;N;;;;;
-10E65;RUMI DIGIT SIX;No;0;AN;;;6;6;N;;;;;
-10E66;RUMI DIGIT SEVEN;No;0;AN;;;7;7;N;;;;;
-10E67;RUMI DIGIT EIGHT;No;0;AN;;;8;8;N;;;;;
-10E68;RUMI DIGIT NINE;No;0;AN;;;9;9;N;;;;;
-10E69;RUMI NUMBER TEN;No;0;AN;;;;10;N;;;;;
-10E6A;RUMI NUMBER TWENTY;No;0;AN;;;;20;N;;;;;
-10E6B;RUMI NUMBER THIRTY;No;0;AN;;;;30;N;;;;;
-10E6C;RUMI NUMBER FORTY;No;0;AN;;;;40;N;;;;;
-10E6D;RUMI NUMBER FIFTY;No;0;AN;;;;50;N;;;;;
-10E6E;RUMI NUMBER SIXTY;No;0;AN;;;;60;N;;;;;
-10E6F;RUMI NUMBER SEVENTY;No;0;AN;;;;70;N;;;;;
-10E70;RUMI NUMBER EIGHTY;No;0;AN;;;;80;N;;;;;
-10E71;RUMI NUMBER NINETY;No;0;AN;;;;90;N;;;;;
-10E72;RUMI NUMBER ONE HUNDRED;No;0;AN;;;;100;N;;;;;
-10E73;RUMI NUMBER TWO HUNDRED;No;0;AN;;;;200;N;;;;;
-10E74;RUMI NUMBER THREE HUNDRED;No;0;AN;;;;300;N;;;;;
-10E75;RUMI NUMBER FOUR HUNDRED;No;0;AN;;;;400;N;;;;;
-10E76;RUMI NUMBER FIVE HUNDRED;No;0;AN;;;;500;N;;;;;
-10E77;RUMI NUMBER SIX HUNDRED;No;0;AN;;;;600;N;;;;;
-10E78;RUMI NUMBER SEVEN HUNDRED;No;0;AN;;;;700;N;;;;;
-10E79;RUMI NUMBER EIGHT HUNDRED;No;0;AN;;;;800;N;;;;;
-10E7A;RUMI NUMBER NINE HUNDRED;No;0;AN;;;;900;N;;;;;
-10E7B;RUMI FRACTION ONE HALF;No;0;AN;;;;1/2;N;;;;;
-10E7C;RUMI FRACTION ONE QUARTER;No;0;AN;;;;1/4;N;;;;;
-10E7D;RUMI FRACTION ONE THIRD;No;0;AN;;;;1/3;N;;;;;
-10E7E;RUMI FRACTION TWO THIRDS;No;0;AN;;;;2/3;N;;;;;
-11080;KAITHI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
-11081;KAITHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
-11082;KAITHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
-11083;KAITHI LETTER A;Lo;0;L;;;;;N;;;;;
-11084;KAITHI LETTER AA;Lo;0;L;;;;;N;;;;;
-11085;KAITHI LETTER I;Lo;0;L;;;;;N;;;;;
-11086;KAITHI LETTER II;Lo;0;L;;;;;N;;;;;
-11087;KAITHI LETTER U;Lo;0;L;;;;;N;;;;;
-11088;KAITHI LETTER UU;Lo;0;L;;;;;N;;;;;
-11089;KAITHI LETTER E;Lo;0;L;;;;;N;;;;;
-1108A;KAITHI LETTER AI;Lo;0;L;;;;;N;;;;;
-1108B;KAITHI LETTER O;Lo;0;L;;;;;N;;;;;
-1108C;KAITHI LETTER AU;Lo;0;L;;;;;N;;;;;
-1108D;KAITHI LETTER KA;Lo;0;L;;;;;N;;;;;
-1108E;KAITHI LETTER KHA;Lo;0;L;;;;;N;;;;;
-1108F;KAITHI LETTER GA;Lo;0;L;;;;;N;;;;;
-11090;KAITHI LETTER GHA;Lo;0;L;;;;;N;;;;;
-11091;KAITHI LETTER NGA;Lo;0;L;;;;;N;;;;;
-11092;KAITHI LETTER CA;Lo;0;L;;;;;N;;;;;
-11093;KAITHI LETTER CHA;Lo;0;L;;;;;N;;;;;
-11094;KAITHI LETTER JA;Lo;0;L;;;;;N;;;;;
-11095;KAITHI LETTER JHA;Lo;0;L;;;;;N;;;;;
-11096;KAITHI LETTER NYA;Lo;0;L;;;;;N;;;;;
-11097;KAITHI LETTER TTA;Lo;0;L;;;;;N;;;;;
-11098;KAITHI LETTER TTHA;Lo;0;L;;;;;N;;;;;
-11099;KAITHI LETTER DDA;Lo;0;L;;;;;N;;;;;
-1109A;KAITHI LETTER DDDHA;Lo;0;L;11099 110BA;;;;N;;;;;
-1109B;KAITHI LETTER DDHA;Lo;0;L;;;;;N;;;;;
-1109C;KAITHI LETTER RHA;Lo;0;L;1109B 110BA;;;;N;;;;;
-1109D;KAITHI LETTER NNA;Lo;0;L;;;;;N;;;;;
-1109E;KAITHI LETTER TA;Lo;0;L;;;;;N;;;;;
-1109F;KAITHI LETTER THA;Lo;0;L;;;;;N;;;;;
-110A0;KAITHI LETTER DA;Lo;0;L;;;;;N;;;;;
-110A1;KAITHI LETTER DHA;Lo;0;L;;;;;N;;;;;
-110A2;KAITHI LETTER NA;Lo;0;L;;;;;N;;;;;
-110A3;KAITHI LETTER PA;Lo;0;L;;;;;N;;;;;
-110A4;KAITHI LETTER PHA;Lo;0;L;;;;;N;;;;;
-110A5;KAITHI LETTER BA;Lo;0;L;;;;;N;;;;;
-110A6;KAITHI LETTER BHA;Lo;0;L;;;;;N;;;;;
-110A7;KAITHI LETTER MA;Lo;0;L;;;;;N;;;;;
-110A8;KAITHI LETTER YA;Lo;0;L;;;;;N;;;;;
-110A9;KAITHI LETTER RA;Lo;0;L;;;;;N;;;;;
-110AA;KAITHI LETTER LA;Lo;0;L;;;;;N;;;;;
-110AB;KAITHI LETTER VA;Lo;0;L;110A5 110BA;;;;N;;;;;
-110AC;KAITHI LETTER SHA;Lo;0;L;;;;;N;;;;;
-110AD;KAITHI LETTER SSA;Lo;0;L;;;;;N;;;;;
-110AE;KAITHI LETTER SA;Lo;0;L;;;;;N;;;;;
-110AF;KAITHI LETTER HA;Lo;0;L;;;;;N;;;;;
-110B0;KAITHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
-110B1;KAITHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
-110B2;KAITHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
-110B3;KAITHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
-110B4;KAITHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
-110B5;KAITHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
-110B6;KAITHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
-110B7;KAITHI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
-110B8;KAITHI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
-110B9;KAITHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
-110BA;KAITHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
-110BB;KAITHI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
-110BC;KAITHI ENUMERATION SIGN;Po;0;L;;;;;N;;;;;
-110BD;KAITHI NUMBER SIGN;Cf;0;L;;;;;N;;;;;
-110BE;KAITHI SECTION MARK;Po;0;L;;;;;N;;;;;
-110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
-110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;;
-110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
-12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
-12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
-12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
-12003;CUNEIFORM SIGN A TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12004;CUNEIFORM SIGN A TIMES HA;Lo;0;L;;;;;N;;;;;
-12005;CUNEIFORM SIGN A TIMES IGI;Lo;0;L;;;;;N;;;;;
-12006;CUNEIFORM SIGN A TIMES LAGAR GUNU;Lo;0;L;;;;;N;;;;;
-12007;CUNEIFORM SIGN A TIMES MUSH;Lo;0;L;;;;;N;;;;;
-12008;CUNEIFORM SIGN A TIMES SAG;Lo;0;L;;;;;N;;;;;
-12009;CUNEIFORM SIGN A2;Lo;0;L;;;;;N;;;;;
-1200A;CUNEIFORM SIGN AB;Lo;0;L;;;;;N;;;;;
-1200B;CUNEIFORM SIGN AB TIMES ASH2;Lo;0;L;;;;;N;;;;;
-1200C;CUNEIFORM SIGN AB TIMES DUN3 GUNU;Lo;0;L;;;;;N;;;;;
-1200D;CUNEIFORM SIGN AB TIMES GAL;Lo;0;L;;;;;N;;;;;
-1200E;CUNEIFORM SIGN AB TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-1200F;CUNEIFORM SIGN AB TIMES HA;Lo;0;L;;;;;N;;;;;
-12010;CUNEIFORM SIGN AB TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-12011;CUNEIFORM SIGN AB TIMES IMIN;Lo;0;L;;;;;N;;;;;
-12012;CUNEIFORM SIGN AB TIMES LAGAB;Lo;0;L;;;;;N;;;;;
-12013;CUNEIFORM SIGN AB TIMES SHESH;Lo;0;L;;;;;N;;;;;
-12014;CUNEIFORM SIGN AB TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;;
-12015;CUNEIFORM SIGN AB GUNU;Lo;0;L;;;;;N;;;;;
-12016;CUNEIFORM SIGN AB2;Lo;0;L;;;;;N;;;;;
-12017;CUNEIFORM SIGN AB2 TIMES BALAG;Lo;0;L;;;;;N;;;;;
-12018;CUNEIFORM SIGN AB2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12019;CUNEIFORM SIGN AB2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;;
-1201A;CUNEIFORM SIGN AB2 TIMES SHA3;Lo;0;L;;;;;N;;;;;
-1201B;CUNEIFORM SIGN AB2 TIMES TAK4;Lo;0;L;;;;;N;;;;;
-1201C;CUNEIFORM SIGN AD;Lo;0;L;;;;;N;;;;;
-1201D;CUNEIFORM SIGN AK;Lo;0;L;;;;;N;;;;;
-1201E;CUNEIFORM SIGN AK TIMES ERIN2;Lo;0;L;;;;;N;;;;;
-1201F;CUNEIFORM SIGN AK TIMES SHITA PLUS GISH;Lo;0;L;;;;;N;;;;;
-12020;CUNEIFORM SIGN AL;Lo;0;L;;;;;N;;;;;
-12021;CUNEIFORM SIGN AL TIMES AL;Lo;0;L;;;;;N;;;;;
-12022;CUNEIFORM SIGN AL TIMES DIM2;Lo;0;L;;;;;N;;;;;
-12023;CUNEIFORM SIGN AL TIMES GISH;Lo;0;L;;;;;N;;;;;
-12024;CUNEIFORM SIGN AL TIMES HA;Lo;0;L;;;;;N;;;;;
-12025;CUNEIFORM SIGN AL TIMES KAD3;Lo;0;L;;;;;N;;;;;
-12026;CUNEIFORM SIGN AL TIMES KI;Lo;0;L;;;;;N;;;;;
-12027;CUNEIFORM SIGN AL TIMES SHE;Lo;0;L;;;;;N;;;;;
-12028;CUNEIFORM SIGN AL TIMES USH;Lo;0;L;;;;;N;;;;;
-12029;CUNEIFORM SIGN ALAN;Lo;0;L;;;;;N;;;;;
-1202A;CUNEIFORM SIGN ALEPH;Lo;0;L;;;;;N;;;;;
-1202B;CUNEIFORM SIGN AMAR;Lo;0;L;;;;;N;;;;;
-1202C;CUNEIFORM SIGN AMAR TIMES SHE;Lo;0;L;;;;;N;;;;;
-1202D;CUNEIFORM SIGN AN;Lo;0;L;;;;;N;;;;;
-1202E;CUNEIFORM SIGN AN OVER AN;Lo;0;L;;;;;N;;;;;
-1202F;CUNEIFORM SIGN AN THREE TIMES;Lo;0;L;;;;;N;;;;;
-12030;CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA;Lo;0;L;;;;;N;;;;;
-12031;CUNEIFORM SIGN AN PLUS NAGA SQUARED;Lo;0;L;;;;;N;;;;;
-12032;CUNEIFORM SIGN ANSHE;Lo;0;L;;;;;N;;;;;
-12033;CUNEIFORM SIGN APIN;Lo;0;L;;;;;N;;;;;
-12034;CUNEIFORM SIGN ARAD;Lo;0;L;;;;;N;;;;;
-12035;CUNEIFORM SIGN ARAD TIMES KUR;Lo;0;L;;;;;N;;;;;
-12036;CUNEIFORM SIGN ARKAB;Lo;0;L;;;;;N;;;;;
-12037;CUNEIFORM SIGN ASAL2;Lo;0;L;;;;;N;;;;;
-12038;CUNEIFORM SIGN ASH;Lo;0;L;;;;;N;;;;;
-12039;CUNEIFORM SIGN ASH ZIDA TENU;Lo;0;L;;;;;N;;;;;
-1203A;CUNEIFORM SIGN ASH KABA TENU;Lo;0;L;;;;;N;;;;;
-1203B;CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP;Lo;0;L;;;;;N;;;;;
-1203C;CUNEIFORM SIGN ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;;
-1203D;CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;;
-1203E;CUNEIFORM SIGN ASH2;Lo;0;L;;;;;N;;;;;
-1203F;CUNEIFORM SIGN ASHGAB;Lo;0;L;;;;;N;;;;;
-12040;CUNEIFORM SIGN BA;Lo;0;L;;;;;N;;;;;
-12041;CUNEIFORM SIGN BAD;Lo;0;L;;;;;N;;;;;
-12042;CUNEIFORM SIGN BAG3;Lo;0;L;;;;;N;;;;;
-12043;CUNEIFORM SIGN BAHAR2;Lo;0;L;;;;;N;;;;;
-12044;CUNEIFORM SIGN BAL;Lo;0;L;;;;;N;;;;;
-12045;CUNEIFORM SIGN BAL OVER BAL;Lo;0;L;;;;;N;;;;;
-12046;CUNEIFORM SIGN BALAG;Lo;0;L;;;;;N;;;;;
-12047;CUNEIFORM SIGN BAR;Lo;0;L;;;;;N;;;;;
-12048;CUNEIFORM SIGN BARA2;Lo;0;L;;;;;N;;;;;
-12049;CUNEIFORM SIGN BI;Lo;0;L;;;;;N;;;;;
-1204A;CUNEIFORM SIGN BI TIMES A;Lo;0;L;;;;;N;;;;;
-1204B;CUNEIFORM SIGN BI TIMES GAR;Lo;0;L;;;;;N;;;;;
-1204C;CUNEIFORM SIGN BI TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-1204D;CUNEIFORM SIGN BU;Lo;0;L;;;;;N;;;;;
-1204E;CUNEIFORM SIGN BU OVER BU AB;Lo;0;L;;;;;N;;;;;
-1204F;CUNEIFORM SIGN BU OVER BU UN;Lo;0;L;;;;;N;;;;;
-12050;CUNEIFORM SIGN BU CROSSING BU;Lo;0;L;;;;;N;;;;;
-12051;CUNEIFORM SIGN BULUG;Lo;0;L;;;;;N;;;;;
-12052;CUNEIFORM SIGN BULUG OVER BULUG;Lo;0;L;;;;;N;;;;;
-12053;CUNEIFORM SIGN BUR;Lo;0;L;;;;;N;;;;;
-12054;CUNEIFORM SIGN BUR2;Lo;0;L;;;;;N;;;;;
-12055;CUNEIFORM SIGN DA;Lo;0;L;;;;;N;;;;;
-12056;CUNEIFORM SIGN DAG;Lo;0;L;;;;;N;;;;;
-12057;CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH;Lo;0;L;;;;;N;;;;;
-12058;CUNEIFORM SIGN DAG KISIM5 TIMES AMAR;Lo;0;L;;;;;N;;;;;
-12059;CUNEIFORM SIGN DAG KISIM5 TIMES BALAG;Lo;0;L;;;;;N;;;;;
-1205A;CUNEIFORM SIGN DAG KISIM5 TIMES BI;Lo;0;L;;;;;N;;;;;
-1205B;CUNEIFORM SIGN DAG KISIM5 TIMES GA;Lo;0;L;;;;;N;;;;;
-1205C;CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH;Lo;0;L;;;;;N;;;;;
-1205D;CUNEIFORM SIGN DAG KISIM5 TIMES GI;Lo;0;L;;;;;N;;;;;
-1205E;CUNEIFORM SIGN DAG KISIM5 TIMES GIR2;Lo;0;L;;;;;N;;;;;
-1205F;CUNEIFORM SIGN DAG KISIM5 TIMES GUD;Lo;0;L;;;;;N;;;;;
-12060;CUNEIFORM SIGN DAG KISIM5 TIMES HA;Lo;0;L;;;;;N;;;;;
-12061;CUNEIFORM SIGN DAG KISIM5 TIMES IR;Lo;0;L;;;;;N;;;;;
-12062;CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU;Lo;0;L;;;;;N;;;;;
-12063;CUNEIFORM SIGN DAG KISIM5 TIMES KAK;Lo;0;L;;;;;N;;;;;
-12064;CUNEIFORM SIGN DAG KISIM5 TIMES LA;Lo;0;L;;;;;N;;;;;
-12065;CUNEIFORM SIGN DAG KISIM5 TIMES LU;Lo;0;L;;;;;N;;;;;
-12066;CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2;Lo;0;L;;;;;N;;;;;
-12067;CUNEIFORM SIGN DAG KISIM5 TIMES LUM;Lo;0;L;;;;;N;;;;;
-12068;CUNEIFORM SIGN DAG KISIM5 TIMES NE;Lo;0;L;;;;;N;;;;;
-12069;CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;;
-1206A;CUNEIFORM SIGN DAG KISIM5 TIMES SI;Lo;0;L;;;;;N;;;;;
-1206B;CUNEIFORM SIGN DAG KISIM5 TIMES TAK4;Lo;0;L;;;;;N;;;;;
-1206C;CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2;Lo;0;L;;;;;N;;;;;
-1206D;CUNEIFORM SIGN DAG KISIM5 TIMES USH;Lo;0;L;;;;;N;;;;;
-1206E;CUNEIFORM SIGN DAM;Lo;0;L;;;;;N;;;;;
-1206F;CUNEIFORM SIGN DAR;Lo;0;L;;;;;N;;;;;
-12070;CUNEIFORM SIGN DARA3;Lo;0;L;;;;;N;;;;;
-12071;CUNEIFORM SIGN DARA4;Lo;0;L;;;;;N;;;;;
-12072;CUNEIFORM SIGN DI;Lo;0;L;;;;;N;;;;;
-12073;CUNEIFORM SIGN DIB;Lo;0;L;;;;;N;;;;;
-12074;CUNEIFORM SIGN DIM;Lo;0;L;;;;;N;;;;;
-12075;CUNEIFORM SIGN DIM TIMES SHE;Lo;0;L;;;;;N;;;;;
-12076;CUNEIFORM SIGN DIM2;Lo;0;L;;;;;N;;;;;
-12077;CUNEIFORM SIGN DIN;Lo;0;L;;;;;N;;;;;
-12078;CUNEIFORM SIGN DIN KASKAL U GUNU DISH;Lo;0;L;;;;;N;;;;;
-12079;CUNEIFORM SIGN DISH;Lo;0;L;;;;;N;;;;;
-1207A;CUNEIFORM SIGN DU;Lo;0;L;;;;;N;;;;;
-1207B;CUNEIFORM SIGN DU OVER DU;Lo;0;L;;;;;N;;;;;
-1207C;CUNEIFORM SIGN DU GUNU;Lo;0;L;;;;;N;;;;;
-1207D;CUNEIFORM SIGN DU SHESHIG;Lo;0;L;;;;;N;;;;;
-1207E;CUNEIFORM SIGN DUB;Lo;0;L;;;;;N;;;;;
-1207F;CUNEIFORM SIGN DUB TIMES ESH2;Lo;0;L;;;;;N;;;;;
-12080;CUNEIFORM SIGN DUB2;Lo;0;L;;;;;N;;;;;
-12081;CUNEIFORM SIGN DUG;Lo;0;L;;;;;N;;;;;
-12082;CUNEIFORM SIGN DUGUD;Lo;0;L;;;;;N;;;;;
-12083;CUNEIFORM SIGN DUH;Lo;0;L;;;;;N;;;;;
-12084;CUNEIFORM SIGN DUN;Lo;0;L;;;;;N;;;;;
-12085;CUNEIFORM SIGN DUN3;Lo;0;L;;;;;N;;;;;
-12086;CUNEIFORM SIGN DUN3 GUNU;Lo;0;L;;;;;N;;;;;
-12087;CUNEIFORM SIGN DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;;
-12088;CUNEIFORM SIGN DUN4;Lo;0;L;;;;;N;;;;;
-12089;CUNEIFORM SIGN DUR2;Lo;0;L;;;;;N;;;;;
-1208A;CUNEIFORM SIGN E;Lo;0;L;;;;;N;;;;;
-1208B;CUNEIFORM SIGN E TIMES PAP;Lo;0;L;;;;;N;;;;;
-1208C;CUNEIFORM SIGN E OVER E NUN OVER NUN;Lo;0;L;;;;;N;;;;;
-1208D;CUNEIFORM SIGN E2;Lo;0;L;;;;;N;;;;;
-1208E;CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA;Lo;0;L;;;;;N;;;;;
-1208F;CUNEIFORM SIGN E2 TIMES GAR;Lo;0;L;;;;;N;;;;;
-12090;CUNEIFORM SIGN E2 TIMES MI;Lo;0;L;;;;;N;;;;;
-12091;CUNEIFORM SIGN E2 TIMES SAL;Lo;0;L;;;;;N;;;;;
-12092;CUNEIFORM SIGN E2 TIMES SHE;Lo;0;L;;;;;N;;;;;
-12093;CUNEIFORM SIGN E2 TIMES U;Lo;0;L;;;;;N;;;;;
-12094;CUNEIFORM SIGN EDIN;Lo;0;L;;;;;N;;;;;
-12095;CUNEIFORM SIGN EGIR;Lo;0;L;;;;;N;;;;;
-12096;CUNEIFORM SIGN EL;Lo;0;L;;;;;N;;;;;
-12097;CUNEIFORM SIGN EN;Lo;0;L;;;;;N;;;;;
-12098;CUNEIFORM SIGN EN TIMES GAN2;Lo;0;L;;;;;N;;;;;
-12099;CUNEIFORM SIGN EN TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-1209A;CUNEIFORM SIGN EN TIMES ME;Lo;0;L;;;;;N;;;;;
-1209B;CUNEIFORM SIGN EN CROSSING EN;Lo;0;L;;;;;N;;;;;
-1209C;CUNEIFORM SIGN EN OPPOSING EN;Lo;0;L;;;;;N;;;;;
-1209D;CUNEIFORM SIGN EN SQUARED;Lo;0;L;;;;;N;;;;;
-1209E;CUNEIFORM SIGN EREN;Lo;0;L;;;;;N;;;;;
-1209F;CUNEIFORM SIGN ERIN2;Lo;0;L;;;;;N;;;;;
-120A0;CUNEIFORM SIGN ESH2;Lo;0;L;;;;;N;;;;;
-120A1;CUNEIFORM SIGN EZEN;Lo;0;L;;;;;N;;;;;
-120A2;CUNEIFORM SIGN EZEN TIMES A;Lo;0;L;;;;;N;;;;;
-120A3;CUNEIFORM SIGN EZEN TIMES A PLUS LAL;Lo;0;L;;;;;N;;;;;
-120A4;CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL;Lo;0;L;;;;;N;;;;;
-120A5;CUNEIFORM SIGN EZEN TIMES AN;Lo;0;L;;;;;N;;;;;
-120A6;CUNEIFORM SIGN EZEN TIMES BAD;Lo;0;L;;;;;N;;;;;
-120A7;CUNEIFORM SIGN EZEN TIMES DUN3 GUNU;Lo;0;L;;;;;N;;;;;
-120A8;CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;;
-120A9;CUNEIFORM SIGN EZEN TIMES HA;Lo;0;L;;;;;N;;;;;
-120AA;CUNEIFORM SIGN EZEN TIMES HA GUNU;Lo;0;L;;;;;N;;;;;
-120AB;CUNEIFORM SIGN EZEN TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-120AC;CUNEIFORM SIGN EZEN TIMES KASKAL;Lo;0;L;;;;;N;;;;;
-120AD;CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED;Lo;0;L;;;;;N;;;;;
-120AE;CUNEIFORM SIGN EZEN TIMES KU3;Lo;0;L;;;;;N;;;;;
-120AF;CUNEIFORM SIGN EZEN TIMES LA;Lo;0;L;;;;;N;;;;;
-120B0;CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL;Lo;0;L;;;;;N;;;;;
-120B1;CUNEIFORM SIGN EZEN TIMES LI;Lo;0;L;;;;;N;;;;;
-120B2;CUNEIFORM SIGN EZEN TIMES LU;Lo;0;L;;;;;N;;;;;
-120B3;CUNEIFORM SIGN EZEN TIMES U2;Lo;0;L;;;;;N;;;;;
-120B4;CUNEIFORM SIGN EZEN TIMES UD;Lo;0;L;;;;;N;;;;;
-120B5;CUNEIFORM SIGN GA;Lo;0;L;;;;;N;;;;;
-120B6;CUNEIFORM SIGN GA GUNU;Lo;0;L;;;;;N;;;;;
-120B7;CUNEIFORM SIGN GA2;Lo;0;L;;;;;N;;;;;
-120B8;CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA;Lo;0;L;;;;;N;;;;;
-120B9;CUNEIFORM SIGN GA2 TIMES A PLUS HA;Lo;0;L;;;;;N;;;;;
-120BA;CUNEIFORM SIGN GA2 TIMES A PLUS IGI;Lo;0;L;;;;;N;;;;;
-120BB;CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB;Lo;0;L;;;;;N;;;;;
-120BC;CUNEIFORM SIGN GA2 TIMES AN;Lo;0;L;;;;;N;;;;;
-120BD;CUNEIFORM SIGN GA2 TIMES ASH;Lo;0;L;;;;;N;;;;;
-120BE;CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL;Lo;0;L;;;;;N;;;;;
-120BF;CUNEIFORM SIGN GA2 TIMES BAD;Lo;0;L;;;;;N;;;;;
-120C0;CUNEIFORM SIGN GA2 TIMES BAR PLUS RA;Lo;0;L;;;;;N;;;;;
-120C1;CUNEIFORM SIGN GA2 TIMES BUR;Lo;0;L;;;;;N;;;;;
-120C2;CUNEIFORM SIGN GA2 TIMES BUR PLUS RA;Lo;0;L;;;;;N;;;;;
-120C3;CUNEIFORM SIGN GA2 TIMES DA;Lo;0;L;;;;;N;;;;;
-120C4;CUNEIFORM SIGN GA2 TIMES DI;Lo;0;L;;;;;N;;;;;
-120C5;CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE;Lo;0;L;;;;;N;;;;;
-120C6;CUNEIFORM SIGN GA2 TIMES DUB;Lo;0;L;;;;;N;;;;;
-120C7;CUNEIFORM SIGN GA2 TIMES EL;Lo;0;L;;;;;N;;;;;
-120C8;CUNEIFORM SIGN GA2 TIMES EL PLUS LA;Lo;0;L;;;;;N;;;;;
-120C9;CUNEIFORM SIGN GA2 TIMES EN;Lo;0;L;;;;;N;;;;;
-120CA;CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-120CB;CUNEIFORM SIGN GA2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-120CC;CUNEIFORM SIGN GA2 TIMES GAR;Lo;0;L;;;;;N;;;;;
-120CD;CUNEIFORM SIGN GA2 TIMES GI;Lo;0;L;;;;;N;;;;;
-120CE;CUNEIFORM SIGN GA2 TIMES GI4;Lo;0;L;;;;;N;;;;;
-120CF;CUNEIFORM SIGN GA2 TIMES GI4 PLUS A;Lo;0;L;;;;;N;;;;;
-120D0;CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU;Lo;0;L;;;;;N;;;;;
-120D1;CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2;Lo;0;L;;;;;N;;;;;
-120D2;CUNEIFORM SIGN GA2 TIMES HAL;Lo;0;L;;;;;N;;;;;
-120D3;CUNEIFORM SIGN GA2 TIMES HAL PLUS LA;Lo;0;L;;;;;N;;;;;
-120D4;CUNEIFORM SIGN GA2 TIMES HI PLUS LI;Lo;0;L;;;;;N;;;;;
-120D5;CUNEIFORM SIGN GA2 TIMES HUB2;Lo;0;L;;;;;N;;;;;
-120D6;CUNEIFORM SIGN GA2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-120D7;CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH;Lo;0;L;;;;;N;;;;;
-120D8;CUNEIFORM SIGN GA2 TIMES KAK;Lo;0;L;;;;;N;;;;;
-120D9;CUNEIFORM SIGN GA2 TIMES KASKAL;Lo;0;L;;;;;N;;;;;
-120DA;CUNEIFORM SIGN GA2 TIMES KID;Lo;0;L;;;;;N;;;;;
-120DB;CUNEIFORM SIGN GA2 TIMES KID PLUS LAL;Lo;0;L;;;;;N;;;;;
-120DC;CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN;Lo;0;L;;;;;N;;;;;
-120DD;CUNEIFORM SIGN GA2 TIMES LA;Lo;0;L;;;;;N;;;;;
-120DE;CUNEIFORM SIGN GA2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;;
-120DF;CUNEIFORM SIGN GA2 TIMES MI;Lo;0;L;;;;;N;;;;;
-120E0;CUNEIFORM SIGN GA2 TIMES NUN;Lo;0;L;;;;;N;;;;;
-120E1;CUNEIFORM SIGN GA2 TIMES NUN OVER NUN;Lo;0;L;;;;;N;;;;;
-120E2;CUNEIFORM SIGN GA2 TIMES PA;Lo;0;L;;;;;N;;;;;
-120E3;CUNEIFORM SIGN GA2 TIMES SAL;Lo;0;L;;;;;N;;;;;
-120E4;CUNEIFORM SIGN GA2 TIMES SAR;Lo;0;L;;;;;N;;;;;
-120E5;CUNEIFORM SIGN GA2 TIMES SHE;Lo;0;L;;;;;N;;;;;
-120E6;CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR;Lo;0;L;;;;;N;;;;;
-120E7;CUNEIFORM SIGN GA2 TIMES SHID;Lo;0;L;;;;;N;;;;;
-120E8;CUNEIFORM SIGN GA2 TIMES SUM;Lo;0;L;;;;;N;;;;;
-120E9;CUNEIFORM SIGN GA2 TIMES TAK4;Lo;0;L;;;;;N;;;;;
-120EA;CUNEIFORM SIGN GA2 TIMES U;Lo;0;L;;;;;N;;;;;
-120EB;CUNEIFORM SIGN GA2 TIMES UD;Lo;0;L;;;;;N;;;;;
-120EC;CUNEIFORM SIGN GA2 TIMES UD PLUS DU;Lo;0;L;;;;;N;;;;;
-120ED;CUNEIFORM SIGN GA2 OVER GA2;Lo;0;L;;;;;N;;;;;
-120EE;CUNEIFORM SIGN GABA;Lo;0;L;;;;;N;;;;;
-120EF;CUNEIFORM SIGN GABA CROSSING GABA;Lo;0;L;;;;;N;;;;;
-120F0;CUNEIFORM SIGN GAD;Lo;0;L;;;;;N;;;;;
-120F1;CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-120F2;CUNEIFORM SIGN GAL;Lo;0;L;;;;;N;;;;;
-120F3;CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-120F4;CUNEIFORM SIGN GALAM;Lo;0;L;;;;;N;;;;;
-120F5;CUNEIFORM SIGN GAM;Lo;0;L;;;;;N;;;;;
-120F6;CUNEIFORM SIGN GAN;Lo;0;L;;;;;N;;;;;
-120F7;CUNEIFORM SIGN GAN2;Lo;0;L;;;;;N;;;;;
-120F8;CUNEIFORM SIGN GAN2 TENU;Lo;0;L;;;;;N;;;;;
-120F9;CUNEIFORM SIGN GAN2 OVER GAN2;Lo;0;L;;;;;N;;;;;
-120FA;CUNEIFORM SIGN GAN2 CROSSING GAN2;Lo;0;L;;;;;N;;;;;
-120FB;CUNEIFORM SIGN GAR;Lo;0;L;;;;;N;;;;;
-120FC;CUNEIFORM SIGN GAR3;Lo;0;L;;;;;N;;;;;
-120FD;CUNEIFORM SIGN GASHAN;Lo;0;L;;;;;N;;;;;
-120FE;CUNEIFORM SIGN GESHTIN;Lo;0;L;;;;;N;;;;;
-120FF;CUNEIFORM SIGN GESHTIN TIMES KUR;Lo;0;L;;;;;N;;;;;
-12100;CUNEIFORM SIGN GI;Lo;0;L;;;;;N;;;;;
-12101;CUNEIFORM SIGN GI TIMES E;Lo;0;L;;;;;N;;;;;
-12102;CUNEIFORM SIGN GI TIMES U;Lo;0;L;;;;;N;;;;;
-12103;CUNEIFORM SIGN GI CROSSING GI;Lo;0;L;;;;;N;;;;;
-12104;CUNEIFORM SIGN GI4;Lo;0;L;;;;;N;;;;;
-12105;CUNEIFORM SIGN GI4 OVER GI4;Lo;0;L;;;;;N;;;;;
-12106;CUNEIFORM SIGN GI4 CROSSING GI4;Lo;0;L;;;;;N;;;;;
-12107;CUNEIFORM SIGN GIDIM;Lo;0;L;;;;;N;;;;;
-12108;CUNEIFORM SIGN GIR2;Lo;0;L;;;;;N;;;;;
-12109;CUNEIFORM SIGN GIR2 GUNU;Lo;0;L;;;;;N;;;;;
-1210A;CUNEIFORM SIGN GIR3;Lo;0;L;;;;;N;;;;;
-1210B;CUNEIFORM SIGN GIR3 TIMES A PLUS IGI;Lo;0;L;;;;;N;;;;;
-1210C;CUNEIFORM SIGN GIR3 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-1210D;CUNEIFORM SIGN GIR3 TIMES IGI;Lo;0;L;;;;;N;;;;;
-1210E;CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI;Lo;0;L;;;;;N;;;;;
-1210F;CUNEIFORM SIGN GIR3 TIMES PA;Lo;0;L;;;;;N;;;;;
-12110;CUNEIFORM SIGN GISAL;Lo;0;L;;;;;N;;;;;
-12111;CUNEIFORM SIGN GISH;Lo;0;L;;;;;N;;;;;
-12112;CUNEIFORM SIGN GISH CROSSING GISH;Lo;0;L;;;;;N;;;;;
-12113;CUNEIFORM SIGN GISH TIMES BAD;Lo;0;L;;;;;N;;;;;
-12114;CUNEIFORM SIGN GISH TIMES TAK4;Lo;0;L;;;;;N;;;;;
-12115;CUNEIFORM SIGN GISH TENU;Lo;0;L;;;;;N;;;;;
-12116;CUNEIFORM SIGN GU;Lo;0;L;;;;;N;;;;;
-12117;CUNEIFORM SIGN GU CROSSING GU;Lo;0;L;;;;;N;;;;;
-12118;CUNEIFORM SIGN GU2;Lo;0;L;;;;;N;;;;;
-12119;CUNEIFORM SIGN GU2 TIMES KAK;Lo;0;L;;;;;N;;;;;
-1211A;CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-1211B;CUNEIFORM SIGN GU2 TIMES NUN;Lo;0;L;;;;;N;;;;;
-1211C;CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2;Lo;0;L;;;;;N;;;;;
-1211D;CUNEIFORM SIGN GU2 GUNU;Lo;0;L;;;;;N;;;;;
-1211E;CUNEIFORM SIGN GUD;Lo;0;L;;;;;N;;;;;
-1211F;CUNEIFORM SIGN GUD TIMES A PLUS KUR;Lo;0;L;;;;;N;;;;;
-12120;CUNEIFORM SIGN GUD TIMES KUR;Lo;0;L;;;;;N;;;;;
-12121;CUNEIFORM SIGN GUD OVER GUD LUGAL;Lo;0;L;;;;;N;;;;;
-12122;CUNEIFORM SIGN GUL;Lo;0;L;;;;;N;;;;;
-12123;CUNEIFORM SIGN GUM;Lo;0;L;;;;;N;;;;;
-12124;CUNEIFORM SIGN GUM TIMES SHE;Lo;0;L;;;;;N;;;;;
-12125;CUNEIFORM SIGN GUR;Lo;0;L;;;;;N;;;;;
-12126;CUNEIFORM SIGN GUR7;Lo;0;L;;;;;N;;;;;
-12127;CUNEIFORM SIGN GURUN;Lo;0;L;;;;;N;;;;;
-12128;CUNEIFORM SIGN GURUSH;Lo;0;L;;;;;N;;;;;
-12129;CUNEIFORM SIGN HA;Lo;0;L;;;;;N;;;;;
-1212A;CUNEIFORM SIGN HA TENU;Lo;0;L;;;;;N;;;;;
-1212B;CUNEIFORM SIGN HA GUNU;Lo;0;L;;;;;N;;;;;
-1212C;CUNEIFORM SIGN HAL;Lo;0;L;;;;;N;;;;;
-1212D;CUNEIFORM SIGN HI;Lo;0;L;;;;;N;;;;;
-1212E;CUNEIFORM SIGN HI TIMES ASH;Lo;0;L;;;;;N;;;;;
-1212F;CUNEIFORM SIGN HI TIMES ASH2;Lo;0;L;;;;;N;;;;;
-12130;CUNEIFORM SIGN HI TIMES BAD;Lo;0;L;;;;;N;;;;;
-12131;CUNEIFORM SIGN HI TIMES DISH;Lo;0;L;;;;;N;;;;;
-12132;CUNEIFORM SIGN HI TIMES GAD;Lo;0;L;;;;;N;;;;;
-12133;CUNEIFORM SIGN HI TIMES KIN;Lo;0;L;;;;;N;;;;;
-12134;CUNEIFORM SIGN HI TIMES NUN;Lo;0;L;;;;;N;;;;;
-12135;CUNEIFORM SIGN HI TIMES SHE;Lo;0;L;;;;;N;;;;;
-12136;CUNEIFORM SIGN HI TIMES U;Lo;0;L;;;;;N;;;;;
-12137;CUNEIFORM SIGN HU;Lo;0;L;;;;;N;;;;;
-12138;CUNEIFORM SIGN HUB2;Lo;0;L;;;;;N;;;;;
-12139;CUNEIFORM SIGN HUB2 TIMES AN;Lo;0;L;;;;;N;;;;;
-1213A;CUNEIFORM SIGN HUB2 TIMES HAL;Lo;0;L;;;;;N;;;;;
-1213B;CUNEIFORM SIGN HUB2 TIMES KASKAL;Lo;0;L;;;;;N;;;;;
-1213C;CUNEIFORM SIGN HUB2 TIMES LISH;Lo;0;L;;;;;N;;;;;
-1213D;CUNEIFORM SIGN HUB2 TIMES UD;Lo;0;L;;;;;N;;;;;
-1213E;CUNEIFORM SIGN HUL2;Lo;0;L;;;;;N;;;;;
-1213F;CUNEIFORM SIGN I;Lo;0;L;;;;;N;;;;;
-12140;CUNEIFORM SIGN I A;Lo;0;L;;;;;N;;;;;
-12141;CUNEIFORM SIGN IB;Lo;0;L;;;;;N;;;;;
-12142;CUNEIFORM SIGN IDIM;Lo;0;L;;;;;N;;;;;
-12143;CUNEIFORM SIGN IDIM OVER IDIM BUR;Lo;0;L;;;;;N;;;;;
-12144;CUNEIFORM SIGN IDIM OVER IDIM SQUARED;Lo;0;L;;;;;N;;;;;
-12145;CUNEIFORM SIGN IG;Lo;0;L;;;;;N;;;;;
-12146;CUNEIFORM SIGN IGI;Lo;0;L;;;;;N;;;;;
-12147;CUNEIFORM SIGN IGI DIB;Lo;0;L;;;;;N;;;;;
-12148;CUNEIFORM SIGN IGI RI;Lo;0;L;;;;;N;;;;;
-12149;CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD;Lo;0;L;;;;;N;;;;;
-1214A;CUNEIFORM SIGN IGI GUNU;Lo;0;L;;;;;N;;;;;
-1214B;CUNEIFORM SIGN IL;Lo;0;L;;;;;N;;;;;
-1214C;CUNEIFORM SIGN IL TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-1214D;CUNEIFORM SIGN IL2;Lo;0;L;;;;;N;;;;;
-1214E;CUNEIFORM SIGN IM;Lo;0;L;;;;;N;;;;;
-1214F;CUNEIFORM SIGN IM TIMES TAK4;Lo;0;L;;;;;N;;;;;
-12150;CUNEIFORM SIGN IM CROSSING IM;Lo;0;L;;;;;N;;;;;
-12151;CUNEIFORM SIGN IM OPPOSING IM;Lo;0;L;;;;;N;;;;;
-12152;CUNEIFORM SIGN IM SQUARED;Lo;0;L;;;;;N;;;;;
-12153;CUNEIFORM SIGN IMIN;Lo;0;L;;;;;N;;;;;
-12154;CUNEIFORM SIGN IN;Lo;0;L;;;;;N;;;;;
-12155;CUNEIFORM SIGN IR;Lo;0;L;;;;;N;;;;;
-12156;CUNEIFORM SIGN ISH;Lo;0;L;;;;;N;;;;;
-12157;CUNEIFORM SIGN KA;Lo;0;L;;;;;N;;;;;
-12158;CUNEIFORM SIGN KA TIMES A;Lo;0;L;;;;;N;;;;;
-12159;CUNEIFORM SIGN KA TIMES AD;Lo;0;L;;;;;N;;;;;
-1215A;CUNEIFORM SIGN KA TIMES AD PLUS KU3;Lo;0;L;;;;;N;;;;;
-1215B;CUNEIFORM SIGN KA TIMES ASH2;Lo;0;L;;;;;N;;;;;
-1215C;CUNEIFORM SIGN KA TIMES BAD;Lo;0;L;;;;;N;;;;;
-1215D;CUNEIFORM SIGN KA TIMES BALAG;Lo;0;L;;;;;N;;;;;
-1215E;CUNEIFORM SIGN KA TIMES BAR;Lo;0;L;;;;;N;;;;;
-1215F;CUNEIFORM SIGN KA TIMES BI;Lo;0;L;;;;;N;;;;;
-12160;CUNEIFORM SIGN KA TIMES ERIN2;Lo;0;L;;;;;N;;;;;
-12161;CUNEIFORM SIGN KA TIMES ESH2;Lo;0;L;;;;;N;;;;;
-12162;CUNEIFORM SIGN KA TIMES GA;Lo;0;L;;;;;N;;;;;
-12163;CUNEIFORM SIGN KA TIMES GAL;Lo;0;L;;;;;N;;;;;
-12164;CUNEIFORM SIGN KA TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12165;CUNEIFORM SIGN KA TIMES GAR;Lo;0;L;;;;;N;;;;;
-12166;CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A;Lo;0;L;;;;;N;;;;;
-12167;CUNEIFORM SIGN KA TIMES GI;Lo;0;L;;;;;N;;;;;
-12168;CUNEIFORM SIGN KA TIMES GIR2;Lo;0;L;;;;;N;;;;;
-12169;CUNEIFORM SIGN KA TIMES GISH PLUS SAR;Lo;0;L;;;;;N;;;;;
-1216A;CUNEIFORM SIGN KA TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;;
-1216B;CUNEIFORM SIGN KA TIMES GU;Lo;0;L;;;;;N;;;;;
-1216C;CUNEIFORM SIGN KA TIMES GUR7;Lo;0;L;;;;;N;;;;;
-1216D;CUNEIFORM SIGN KA TIMES IGI;Lo;0;L;;;;;N;;;;;
-1216E;CUNEIFORM SIGN KA TIMES IM;Lo;0;L;;;;;N;;;;;
-1216F;CUNEIFORM SIGN KA TIMES KAK;Lo;0;L;;;;;N;;;;;
-12170;CUNEIFORM SIGN KA TIMES KI;Lo;0;L;;;;;N;;;;;
-12171;CUNEIFORM SIGN KA TIMES KID;Lo;0;L;;;;;N;;;;;
-12172;CUNEIFORM SIGN KA TIMES LI;Lo;0;L;;;;;N;;;;;
-12173;CUNEIFORM SIGN KA TIMES LU;Lo;0;L;;;;;N;;;;;
-12174;CUNEIFORM SIGN KA TIMES ME;Lo;0;L;;;;;N;;;;;
-12175;CUNEIFORM SIGN KA TIMES ME PLUS DU;Lo;0;L;;;;;N;;;;;
-12176;CUNEIFORM SIGN KA TIMES ME PLUS GI;Lo;0;L;;;;;N;;;;;
-12177;CUNEIFORM SIGN KA TIMES ME PLUS TE;Lo;0;L;;;;;N;;;;;
-12178;CUNEIFORM SIGN KA TIMES MI;Lo;0;L;;;;;N;;;;;
-12179;CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ;Lo;0;L;;;;;N;;;;;
-1217A;CUNEIFORM SIGN KA TIMES NE;Lo;0;L;;;;;N;;;;;
-1217B;CUNEIFORM SIGN KA TIMES NUN;Lo;0;L;;;;;N;;;;;
-1217C;CUNEIFORM SIGN KA TIMES PI;Lo;0;L;;;;;N;;;;;
-1217D;CUNEIFORM SIGN KA TIMES RU;Lo;0;L;;;;;N;;;;;
-1217E;CUNEIFORM SIGN KA TIMES SA;Lo;0;L;;;;;N;;;;;
-1217F;CUNEIFORM SIGN KA TIMES SAR;Lo;0;L;;;;;N;;;;;
-12180;CUNEIFORM SIGN KA TIMES SHA;Lo;0;L;;;;;N;;;;;
-12181;CUNEIFORM SIGN KA TIMES SHE;Lo;0;L;;;;;N;;;;;
-12182;CUNEIFORM SIGN KA TIMES SHID;Lo;0;L;;;;;N;;;;;
-12183;CUNEIFORM SIGN KA TIMES SHU;Lo;0;L;;;;;N;;;;;
-12184;CUNEIFORM SIGN KA TIMES SIG;Lo;0;L;;;;;N;;;;;
-12185;CUNEIFORM SIGN KA TIMES SUHUR;Lo;0;L;;;;;N;;;;;
-12186;CUNEIFORM SIGN KA TIMES TAR;Lo;0;L;;;;;N;;;;;
-12187;CUNEIFORM SIGN KA TIMES U;Lo;0;L;;;;;N;;;;;
-12188;CUNEIFORM SIGN KA TIMES U2;Lo;0;L;;;;;N;;;;;
-12189;CUNEIFORM SIGN KA TIMES UD;Lo;0;L;;;;;N;;;;;
-1218A;CUNEIFORM SIGN KA TIMES UMUM TIMES PA;Lo;0;L;;;;;N;;;;;
-1218B;CUNEIFORM SIGN KA TIMES USH;Lo;0;L;;;;;N;;;;;
-1218C;CUNEIFORM SIGN KA TIMES ZI;Lo;0;L;;;;;N;;;;;
-1218D;CUNEIFORM SIGN KA2;Lo;0;L;;;;;N;;;;;
-1218E;CUNEIFORM SIGN KA2 CROSSING KA2;Lo;0;L;;;;;N;;;;;
-1218F;CUNEIFORM SIGN KAB;Lo;0;L;;;;;N;;;;;
-12190;CUNEIFORM SIGN KAD2;Lo;0;L;;;;;N;;;;;
-12191;CUNEIFORM SIGN KAD3;Lo;0;L;;;;;N;;;;;
-12192;CUNEIFORM SIGN KAD4;Lo;0;L;;;;;N;;;;;
-12193;CUNEIFORM SIGN KAD5;Lo;0;L;;;;;N;;;;;
-12194;CUNEIFORM SIGN KAD5 OVER KAD5;Lo;0;L;;;;;N;;;;;
-12195;CUNEIFORM SIGN KAK;Lo;0;L;;;;;N;;;;;
-12196;CUNEIFORM SIGN KAK TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-12197;CUNEIFORM SIGN KAL;Lo;0;L;;;;;N;;;;;
-12198;CUNEIFORM SIGN KAL TIMES BAD;Lo;0;L;;;;;N;;;;;
-12199;CUNEIFORM SIGN KAL CROSSING KAL;Lo;0;L;;;;;N;;;;;
-1219A;CUNEIFORM SIGN KAM2;Lo;0;L;;;;;N;;;;;
-1219B;CUNEIFORM SIGN KAM4;Lo;0;L;;;;;N;;;;;
-1219C;CUNEIFORM SIGN KASKAL;Lo;0;L;;;;;N;;;;;
-1219D;CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U;Lo;0;L;;;;;N;;;;;
-1219E;CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U;Lo;0;L;;;;;N;;;;;
-1219F;CUNEIFORM SIGN KESH2;Lo;0;L;;;;;N;;;;;
-121A0;CUNEIFORM SIGN KI;Lo;0;L;;;;;N;;;;;
-121A1;CUNEIFORM SIGN KI TIMES BAD;Lo;0;L;;;;;N;;;;;
-121A2;CUNEIFORM SIGN KI TIMES U;Lo;0;L;;;;;N;;;;;
-121A3;CUNEIFORM SIGN KI TIMES UD;Lo;0;L;;;;;N;;;;;
-121A4;CUNEIFORM SIGN KID;Lo;0;L;;;;;N;;;;;
-121A5;CUNEIFORM SIGN KIN;Lo;0;L;;;;;N;;;;;
-121A6;CUNEIFORM SIGN KISAL;Lo;0;L;;;;;N;;;;;
-121A7;CUNEIFORM SIGN KISH;Lo;0;L;;;;;N;;;;;
-121A8;CUNEIFORM SIGN KISIM5;Lo;0;L;;;;;N;;;;;
-121A9;CUNEIFORM SIGN KISIM5 OVER KISIM5;Lo;0;L;;;;;N;;;;;
-121AA;CUNEIFORM SIGN KU;Lo;0;L;;;;;N;;;;;
-121AB;CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2;Lo;0;L;;;;;N;;;;;
-121AC;CUNEIFORM SIGN KU3;Lo;0;L;;;;;N;;;;;
-121AD;CUNEIFORM SIGN KU4;Lo;0;L;;;;;N;;;;;
-121AE;CUNEIFORM SIGN KU4 VARIANT FORM;Lo;0;L;;;;;N;;;;;
-121AF;CUNEIFORM SIGN KU7;Lo;0;L;;;;;N;;;;;
-121B0;CUNEIFORM SIGN KUL;Lo;0;L;;;;;N;;;;;
-121B1;CUNEIFORM SIGN KUL GUNU;Lo;0;L;;;;;N;;;;;
-121B2;CUNEIFORM SIGN KUN;Lo;0;L;;;;;N;;;;;
-121B3;CUNEIFORM SIGN KUR;Lo;0;L;;;;;N;;;;;
-121B4;CUNEIFORM SIGN KUR OPPOSING KUR;Lo;0;L;;;;;N;;;;;
-121B5;CUNEIFORM SIGN KUSHU2;Lo;0;L;;;;;N;;;;;
-121B6;CUNEIFORM SIGN KWU318;Lo;0;L;;;;;N;;;;;
-121B7;CUNEIFORM SIGN LA;Lo;0;L;;;;;N;;;;;
-121B8;CUNEIFORM SIGN LAGAB;Lo;0;L;;;;;N;;;;;
-121B9;CUNEIFORM SIGN LAGAB TIMES A;Lo;0;L;;;;;N;;;;;
-121BA;CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA;Lo;0;L;;;;;N;;;;;
-121BB;CUNEIFORM SIGN LAGAB TIMES A PLUS GAR;Lo;0;L;;;;;N;;;;;
-121BC;CUNEIFORM SIGN LAGAB TIMES A PLUS LAL;Lo;0;L;;;;;N;;;;;
-121BD;CUNEIFORM SIGN LAGAB TIMES AL;Lo;0;L;;;;;N;;;;;
-121BE;CUNEIFORM SIGN LAGAB TIMES AN;Lo;0;L;;;;;N;;;;;
-121BF;CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU;Lo;0;L;;;;;N;;;;;
-121C0;CUNEIFORM SIGN LAGAB TIMES BAD;Lo;0;L;;;;;N;;;;;
-121C1;CUNEIFORM SIGN LAGAB TIMES BI;Lo;0;L;;;;;N;;;;;
-121C2;CUNEIFORM SIGN LAGAB TIMES DAR;Lo;0;L;;;;;N;;;;;
-121C3;CUNEIFORM SIGN LAGAB TIMES EN;Lo;0;L;;;;;N;;;;;
-121C4;CUNEIFORM SIGN LAGAB TIMES GA;Lo;0;L;;;;;N;;;;;
-121C5;CUNEIFORM SIGN LAGAB TIMES GAR;Lo;0;L;;;;;N;;;;;
-121C6;CUNEIFORM SIGN LAGAB TIMES GUD;Lo;0;L;;;;;N;;;;;
-121C7;CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD;Lo;0;L;;;;;N;;;;;
-121C8;CUNEIFORM SIGN LAGAB TIMES HA;Lo;0;L;;;;;N;;;;;
-121C9;CUNEIFORM SIGN LAGAB TIMES HAL;Lo;0;L;;;;;N;;;;;
-121CA;CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN;Lo;0;L;;;;;N;;;;;
-121CB;CUNEIFORM SIGN LAGAB TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-121CC;CUNEIFORM SIGN LAGAB TIMES IM;Lo;0;L;;;;;N;;;;;
-121CD;CUNEIFORM SIGN LAGAB TIMES IM PLUS HA;Lo;0;L;;;;;N;;;;;
-121CE;CUNEIFORM SIGN LAGAB TIMES IM PLUS LU;Lo;0;L;;;;;N;;;;;
-121CF;CUNEIFORM SIGN LAGAB TIMES KI;Lo;0;L;;;;;N;;;;;
-121D0;CUNEIFORM SIGN LAGAB TIMES KIN;Lo;0;L;;;;;N;;;;;
-121D1;CUNEIFORM SIGN LAGAB TIMES KU3;Lo;0;L;;;;;N;;;;;
-121D2;CUNEIFORM SIGN LAGAB TIMES KUL;Lo;0;L;;;;;N;;;;;
-121D3;CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A;Lo;0;L;;;;;N;;;;;
-121D4;CUNEIFORM SIGN LAGAB TIMES LAGAB;Lo;0;L;;;;;N;;;;;
-121D5;CUNEIFORM SIGN LAGAB TIMES LISH;Lo;0;L;;;;;N;;;;;
-121D6;CUNEIFORM SIGN LAGAB TIMES LU;Lo;0;L;;;;;N;;;;;
-121D7;CUNEIFORM SIGN LAGAB TIMES LUL;Lo;0;L;;;;;N;;;;;
-121D8;CUNEIFORM SIGN LAGAB TIMES ME;Lo;0;L;;;;;N;;;;;
-121D9;CUNEIFORM SIGN LAGAB TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;;
-121DA;CUNEIFORM SIGN LAGAB TIMES MUSH;Lo;0;L;;;;;N;;;;;
-121DB;CUNEIFORM SIGN LAGAB TIMES NE;Lo;0;L;;;;;N;;;;;
-121DC;CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM;Lo;0;L;;;;;N;;;;;
-121DD;CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2;Lo;0;L;;;;;N;;;;;
-121DE;CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU;Lo;0;L;;;;;N;;;;;
-121DF;CUNEIFORM SIGN LAGAB TIMES SHU2;Lo;0;L;;;;;N;;;;;
-121E0;CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2;Lo;0;L;;;;;N;;;;;
-121E1;CUNEIFORM SIGN LAGAB TIMES SUM;Lo;0;L;;;;;N;;;;;
-121E2;CUNEIFORM SIGN LAGAB TIMES TAG;Lo;0;L;;;;;N;;;;;
-121E3;CUNEIFORM SIGN LAGAB TIMES TAK4;Lo;0;L;;;;;N;;;;;
-121E4;CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA;Lo;0;L;;;;;N;;;;;
-121E5;CUNEIFORM SIGN LAGAB TIMES U;Lo;0;L;;;;;N;;;;;
-121E6;CUNEIFORM SIGN LAGAB TIMES U PLUS A;Lo;0;L;;;;;N;;;;;
-121E7;CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;;
-121E8;CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;;
-121E9;CUNEIFORM SIGN LAGAB TIMES UD;Lo;0;L;;;;;N;;;;;
-121EA;CUNEIFORM SIGN LAGAB TIMES USH;Lo;0;L;;;;;N;;;;;
-121EB;CUNEIFORM SIGN LAGAB SQUARED;Lo;0;L;;;;;N;;;;;
-121EC;CUNEIFORM SIGN LAGAR;Lo;0;L;;;;;N;;;;;
-121ED;CUNEIFORM SIGN LAGAR TIMES SHE;Lo;0;L;;;;;N;;;;;
-121EE;CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM;Lo;0;L;;;;;N;;;;;
-121EF;CUNEIFORM SIGN LAGAR GUNU;Lo;0;L;;;;;N;;;;;
-121F0;CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE;Lo;0;L;;;;;N;;;;;
-121F1;CUNEIFORM SIGN LAHSHU;Lo;0;L;;;;;N;;;;;
-121F2;CUNEIFORM SIGN LAL;Lo;0;L;;;;;N;;;;;
-121F3;CUNEIFORM SIGN LAL TIMES LAL;Lo;0;L;;;;;N;;;;;
-121F4;CUNEIFORM SIGN LAM;Lo;0;L;;;;;N;;;;;
-121F5;CUNEIFORM SIGN LAM TIMES KUR;Lo;0;L;;;;;N;;;;;
-121F6;CUNEIFORM SIGN LAM TIMES KUR PLUS RU;Lo;0;L;;;;;N;;;;;
-121F7;CUNEIFORM SIGN LI;Lo;0;L;;;;;N;;;;;
-121F8;CUNEIFORM SIGN LIL;Lo;0;L;;;;;N;;;;;
-121F9;CUNEIFORM SIGN LIMMU2;Lo;0;L;;;;;N;;;;;
-121FA;CUNEIFORM SIGN LISH;Lo;0;L;;;;;N;;;;;
-121FB;CUNEIFORM SIGN LU;Lo;0;L;;;;;N;;;;;
-121FC;CUNEIFORM SIGN LU TIMES BAD;Lo;0;L;;;;;N;;;;;
-121FD;CUNEIFORM SIGN LU2;Lo;0;L;;;;;N;;;;;
-121FE;CUNEIFORM SIGN LU2 TIMES AL;Lo;0;L;;;;;N;;;;;
-121FF;CUNEIFORM SIGN LU2 TIMES BAD;Lo;0;L;;;;;N;;;;;
-12200;CUNEIFORM SIGN LU2 TIMES ESH2;Lo;0;L;;;;;N;;;;;
-12201;CUNEIFORM SIGN LU2 TIMES ESH2 TENU;Lo;0;L;;;;;N;;;;;
-12202;CUNEIFORM SIGN LU2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12203;CUNEIFORM SIGN LU2 TIMES HI TIMES BAD;Lo;0;L;;;;;N;;;;;
-12204;CUNEIFORM SIGN LU2 TIMES IM;Lo;0;L;;;;;N;;;;;
-12205;CUNEIFORM SIGN LU2 TIMES KAD2;Lo;0;L;;;;;N;;;;;
-12206;CUNEIFORM SIGN LU2 TIMES KAD3;Lo;0;L;;;;;N;;;;;
-12207;CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH;Lo;0;L;;;;;N;;;;;
-12208;CUNEIFORM SIGN LU2 TIMES KI;Lo;0;L;;;;;N;;;;;
-12209;CUNEIFORM SIGN LU2 TIMES LA PLUS ASH;Lo;0;L;;;;;N;;;;;
-1220A;CUNEIFORM SIGN LU2 TIMES LAGAB;Lo;0;L;;;;;N;;;;;
-1220B;CUNEIFORM SIGN LU2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;;
-1220C;CUNEIFORM SIGN LU2 TIMES NE;Lo;0;L;;;;;N;;;;;
-1220D;CUNEIFORM SIGN LU2 TIMES NU;Lo;0;L;;;;;N;;;;;
-1220E;CUNEIFORM SIGN LU2 TIMES SI PLUS ASH;Lo;0;L;;;;;N;;;;;
-1220F;CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU;Lo;0;L;;;;;N;;;;;
-12210;CUNEIFORM SIGN LU2 TIMES TUG2;Lo;0;L;;;;;N;;;;;
-12211;CUNEIFORM SIGN LU2 TENU;Lo;0;L;;;;;N;;;;;
-12212;CUNEIFORM SIGN LU2 CROSSING LU2;Lo;0;L;;;;;N;;;;;
-12213;CUNEIFORM SIGN LU2 OPPOSING LU2;Lo;0;L;;;;;N;;;;;
-12214;CUNEIFORM SIGN LU2 SQUARED;Lo;0;L;;;;;N;;;;;
-12215;CUNEIFORM SIGN LU2 SHESHIG;Lo;0;L;;;;;N;;;;;
-12216;CUNEIFORM SIGN LU3;Lo;0;L;;;;;N;;;;;
-12217;CUNEIFORM SIGN LUGAL;Lo;0;L;;;;;N;;;;;
-12218;CUNEIFORM SIGN LUGAL OVER LUGAL;Lo;0;L;;;;;N;;;;;
-12219;CUNEIFORM SIGN LUGAL OPPOSING LUGAL;Lo;0;L;;;;;N;;;;;
-1221A;CUNEIFORM SIGN LUGAL SHESHIG;Lo;0;L;;;;;N;;;;;
-1221B;CUNEIFORM SIGN LUH;Lo;0;L;;;;;N;;;;;
-1221C;CUNEIFORM SIGN LUL;Lo;0;L;;;;;N;;;;;
-1221D;CUNEIFORM SIGN LUM;Lo;0;L;;;;;N;;;;;
-1221E;CUNEIFORM SIGN LUM OVER LUM;Lo;0;L;;;;;N;;;;;
-1221F;CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-12220;CUNEIFORM SIGN MA;Lo;0;L;;;;;N;;;;;
-12221;CUNEIFORM SIGN MA TIMES TAK4;Lo;0;L;;;;;N;;;;;
-12222;CUNEIFORM SIGN MA GUNU;Lo;0;L;;;;;N;;;;;
-12223;CUNEIFORM SIGN MA2;Lo;0;L;;;;;N;;;;;
-12224;CUNEIFORM SIGN MAH;Lo;0;L;;;;;N;;;;;
-12225;CUNEIFORM SIGN MAR;Lo;0;L;;;;;N;;;;;
-12226;CUNEIFORM SIGN MASH;Lo;0;L;;;;;N;;;;;
-12227;CUNEIFORM SIGN MASH2;Lo;0;L;;;;;N;;;;;
-12228;CUNEIFORM SIGN ME;Lo;0;L;;;;;N;;;;;
-12229;CUNEIFORM SIGN MES;Lo;0;L;;;;;N;;;;;
-1222A;CUNEIFORM SIGN MI;Lo;0;L;;;;;N;;;;;
-1222B;CUNEIFORM SIGN MIN;Lo;0;L;;;;;N;;;;;
-1222C;CUNEIFORM SIGN MU;Lo;0;L;;;;;N;;;;;
-1222D;CUNEIFORM SIGN MU OVER MU;Lo;0;L;;;;;N;;;;;
-1222E;CUNEIFORM SIGN MUG;Lo;0;L;;;;;N;;;;;
-1222F;CUNEIFORM SIGN MUG GUNU;Lo;0;L;;;;;N;;;;;
-12230;CUNEIFORM SIGN MUNSUB;Lo;0;L;;;;;N;;;;;
-12231;CUNEIFORM SIGN MURGU2;Lo;0;L;;;;;N;;;;;
-12232;CUNEIFORM SIGN MUSH;Lo;0;L;;;;;N;;;;;
-12233;CUNEIFORM SIGN MUSH TIMES A;Lo;0;L;;;;;N;;;;;
-12234;CUNEIFORM SIGN MUSH TIMES KUR;Lo;0;L;;;;;N;;;;;
-12235;CUNEIFORM SIGN MUSH TIMES ZA;Lo;0;L;;;;;N;;;;;
-12236;CUNEIFORM SIGN MUSH OVER MUSH;Lo;0;L;;;;;N;;;;;
-12237;CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA;Lo;0;L;;;;;N;;;;;
-12238;CUNEIFORM SIGN MUSH CROSSING MUSH;Lo;0;L;;;;;N;;;;;
-12239;CUNEIFORM SIGN MUSH3;Lo;0;L;;;;;N;;;;;
-1223A;CUNEIFORM SIGN MUSH3 TIMES A;Lo;0;L;;;;;N;;;;;
-1223B;CUNEIFORM SIGN MUSH3 TIMES A PLUS DI;Lo;0;L;;;;;N;;;;;
-1223C;CUNEIFORM SIGN MUSH3 TIMES DI;Lo;0;L;;;;;N;;;;;
-1223D;CUNEIFORM SIGN MUSH3 GUNU;Lo;0;L;;;;;N;;;;;
-1223E;CUNEIFORM SIGN NA;Lo;0;L;;;;;N;;;;;
-1223F;CUNEIFORM SIGN NA2;Lo;0;L;;;;;N;;;;;
-12240;CUNEIFORM SIGN NAGA;Lo;0;L;;;;;N;;;;;
-12241;CUNEIFORM SIGN NAGA INVERTED;Lo;0;L;;;;;N;;;;;
-12242;CUNEIFORM SIGN NAGA TIMES SHU TENU;Lo;0;L;;;;;N;;;;;
-12243;CUNEIFORM SIGN NAGA OPPOSING NAGA;Lo;0;L;;;;;N;;;;;
-12244;CUNEIFORM SIGN NAGAR;Lo;0;L;;;;;N;;;;;
-12245;CUNEIFORM SIGN NAM NUTILLU;Lo;0;L;;;;;N;;;;;
-12246;CUNEIFORM SIGN NAM;Lo;0;L;;;;;N;;;;;
-12247;CUNEIFORM SIGN NAM2;Lo;0;L;;;;;N;;;;;
-12248;CUNEIFORM SIGN NE;Lo;0;L;;;;;N;;;;;
-12249;CUNEIFORM SIGN NE TIMES A;Lo;0;L;;;;;N;;;;;
-1224A;CUNEIFORM SIGN NE TIMES UD;Lo;0;L;;;;;N;;;;;
-1224B;CUNEIFORM SIGN NE SHESHIG;Lo;0;L;;;;;N;;;;;
-1224C;CUNEIFORM SIGN NI;Lo;0;L;;;;;N;;;;;
-1224D;CUNEIFORM SIGN NI TIMES E;Lo;0;L;;;;;N;;;;;
-1224E;CUNEIFORM SIGN NI2;Lo;0;L;;;;;N;;;;;
-1224F;CUNEIFORM SIGN NIM;Lo;0;L;;;;;N;;;;;
-12250;CUNEIFORM SIGN NIM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12251;CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12252;CUNEIFORM SIGN NINDA2;Lo;0;L;;;;;N;;;;;
-12253;CUNEIFORM SIGN NINDA2 TIMES AN;Lo;0;L;;;;;N;;;;;
-12254;CUNEIFORM SIGN NINDA2 TIMES ASH;Lo;0;L;;;;;N;;;;;
-12255;CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH;Lo;0;L;;;;;N;;;;;
-12256;CUNEIFORM SIGN NINDA2 TIMES GUD;Lo;0;L;;;;;N;;;;;
-12257;CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU;Lo;0;L;;;;;N;;;;;
-12258;CUNEIFORM SIGN NINDA2 TIMES NE;Lo;0;L;;;;;N;;;;;
-12259;CUNEIFORM SIGN NINDA2 TIMES NUN;Lo;0;L;;;;;N;;;;;
-1225A;CUNEIFORM SIGN NINDA2 TIMES SHE;Lo;0;L;;;;;N;;;;;
-1225B;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN;Lo;0;L;;;;;N;;;;;
-1225C;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH;Lo;0;L;;;;;N;;;;;
-1225D;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH;Lo;0;L;;;;;N;;;;;
-1225E;CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;;
-1225F;CUNEIFORM SIGN NINDA2 TIMES USH;Lo;0;L;;;;;N;;;;;
-12260;CUNEIFORM SIGN NISAG;Lo;0;L;;;;;N;;;;;
-12261;CUNEIFORM SIGN NU;Lo;0;L;;;;;N;;;;;
-12262;CUNEIFORM SIGN NU11;Lo;0;L;;;;;N;;;;;
-12263;CUNEIFORM SIGN NUN;Lo;0;L;;;;;N;;;;;
-12264;CUNEIFORM SIGN NUN LAGAR TIMES GAR;Lo;0;L;;;;;N;;;;;
-12265;CUNEIFORM SIGN NUN LAGAR TIMES MASH;Lo;0;L;;;;;N;;;;;
-12266;CUNEIFORM SIGN NUN LAGAR TIMES SAL;Lo;0;L;;;;;N;;;;;
-12267;CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL;Lo;0;L;;;;;N;;;;;
-12268;CUNEIFORM SIGN NUN LAGAR TIMES USH;Lo;0;L;;;;;N;;;;;
-12269;CUNEIFORM SIGN NUN TENU;Lo;0;L;;;;;N;;;;;
-1226A;CUNEIFORM SIGN NUN OVER NUN;Lo;0;L;;;;;N;;;;;
-1226B;CUNEIFORM SIGN NUN CROSSING NUN;Lo;0;L;;;;;N;;;;;
-1226C;CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR;Lo;0;L;;;;;N;;;;;
-1226D;CUNEIFORM SIGN NUNUZ;Lo;0;L;;;;;N;;;;;
-1226E;CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB;Lo;0;L;;;;;N;;;;;
-1226F;CUNEIFORM SIGN NUNUZ AB2 TIMES BI;Lo;0;L;;;;;N;;;;;
-12270;CUNEIFORM SIGN NUNUZ AB2 TIMES DUG;Lo;0;L;;;;;N;;;;;
-12271;CUNEIFORM SIGN NUNUZ AB2 TIMES GUD;Lo;0;L;;;;;N;;;;;
-12272;CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-12273;CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3;Lo;0;L;;;;;N;;;;;
-12274;CUNEIFORM SIGN NUNUZ AB2 TIMES LA;Lo;0;L;;;;;N;;;;;
-12275;CUNEIFORM SIGN NUNUZ AB2 TIMES NE;Lo;0;L;;;;;N;;;;;
-12276;CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3;Lo;0;L;;;;;N;;;;;
-12277;CUNEIFORM SIGN NUNUZ AB2 TIMES U2;Lo;0;L;;;;;N;;;;;
-12278;CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI;Lo;0;L;;;;;N;;;;;
-12279;CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U;Lo;0;L;;;;;N;;;;;
-1227A;CUNEIFORM SIGN PA;Lo;0;L;;;;;N;;;;;
-1227B;CUNEIFORM SIGN PAD;Lo;0;L;;;;;N;;;;;
-1227C;CUNEIFORM SIGN PAN;Lo;0;L;;;;;N;;;;;
-1227D;CUNEIFORM SIGN PAP;Lo;0;L;;;;;N;;;;;
-1227E;CUNEIFORM SIGN PESH2;Lo;0;L;;;;;N;;;;;
-1227F;CUNEIFORM SIGN PI;Lo;0;L;;;;;N;;;;;
-12280;CUNEIFORM SIGN PI TIMES A;Lo;0;L;;;;;N;;;;;
-12281;CUNEIFORM SIGN PI TIMES AB;Lo;0;L;;;;;N;;;;;
-12282;CUNEIFORM SIGN PI TIMES BI;Lo;0;L;;;;;N;;;;;
-12283;CUNEIFORM SIGN PI TIMES BU;Lo;0;L;;;;;N;;;;;
-12284;CUNEIFORM SIGN PI TIMES E;Lo;0;L;;;;;N;;;;;
-12285;CUNEIFORM SIGN PI TIMES I;Lo;0;L;;;;;N;;;;;
-12286;CUNEIFORM SIGN PI TIMES IB;Lo;0;L;;;;;N;;;;;
-12287;CUNEIFORM SIGN PI TIMES U;Lo;0;L;;;;;N;;;;;
-12288;CUNEIFORM SIGN PI TIMES U2;Lo;0;L;;;;;N;;;;;
-12289;CUNEIFORM SIGN PI CROSSING PI;Lo;0;L;;;;;N;;;;;
-1228A;CUNEIFORM SIGN PIRIG;Lo;0;L;;;;;N;;;;;
-1228B;CUNEIFORM SIGN PIRIG TIMES KAL;Lo;0;L;;;;;N;;;;;
-1228C;CUNEIFORM SIGN PIRIG TIMES UD;Lo;0;L;;;;;N;;;;;
-1228D;CUNEIFORM SIGN PIRIG TIMES ZA;Lo;0;L;;;;;N;;;;;
-1228E;CUNEIFORM SIGN PIRIG OPPOSING PIRIG;Lo;0;L;;;;;N;;;;;
-1228F;CUNEIFORM SIGN RA;Lo;0;L;;;;;N;;;;;
-12290;CUNEIFORM SIGN RAB;Lo;0;L;;;;;N;;;;;
-12291;CUNEIFORM SIGN RI;Lo;0;L;;;;;N;;;;;
-12292;CUNEIFORM SIGN RU;Lo;0;L;;;;;N;;;;;
-12293;CUNEIFORM SIGN SA;Lo;0;L;;;;;N;;;;;
-12294;CUNEIFORM SIGN SAG NUTILLU;Lo;0;L;;;;;N;;;;;
-12295;CUNEIFORM SIGN SAG;Lo;0;L;;;;;N;;;;;
-12296;CUNEIFORM SIGN SAG TIMES A;Lo;0;L;;;;;N;;;;;
-12297;CUNEIFORM SIGN SAG TIMES DU;Lo;0;L;;;;;N;;;;;
-12298;CUNEIFORM SIGN SAG TIMES DUB;Lo;0;L;;;;;N;;;;;
-12299;CUNEIFORM SIGN SAG TIMES HA;Lo;0;L;;;;;N;;;;;
-1229A;CUNEIFORM SIGN SAG TIMES KAK;Lo;0;L;;;;;N;;;;;
-1229B;CUNEIFORM SIGN SAG TIMES KUR;Lo;0;L;;;;;N;;;;;
-1229C;CUNEIFORM SIGN SAG TIMES LUM;Lo;0;L;;;;;N;;;;;
-1229D;CUNEIFORM SIGN SAG TIMES MI;Lo;0;L;;;;;N;;;;;
-1229E;CUNEIFORM SIGN SAG TIMES NUN;Lo;0;L;;;;;N;;;;;
-1229F;CUNEIFORM SIGN SAG TIMES SAL;Lo;0;L;;;;;N;;;;;
-122A0;CUNEIFORM SIGN SAG TIMES SHID;Lo;0;L;;;;;N;;;;;
-122A1;CUNEIFORM SIGN SAG TIMES TAB;Lo;0;L;;;;;N;;;;;
-122A2;CUNEIFORM SIGN SAG TIMES U2;Lo;0;L;;;;;N;;;;;
-122A3;CUNEIFORM SIGN SAG TIMES UB;Lo;0;L;;;;;N;;;;;
-122A4;CUNEIFORM SIGN SAG TIMES UM;Lo;0;L;;;;;N;;;;;
-122A5;CUNEIFORM SIGN SAG TIMES UR;Lo;0;L;;;;;N;;;;;
-122A6;CUNEIFORM SIGN SAG TIMES USH;Lo;0;L;;;;;N;;;;;
-122A7;CUNEIFORM SIGN SAG OVER SAG;Lo;0;L;;;;;N;;;;;
-122A8;CUNEIFORM SIGN SAG GUNU;Lo;0;L;;;;;N;;;;;
-122A9;CUNEIFORM SIGN SAL;Lo;0;L;;;;;N;;;;;
-122AA;CUNEIFORM SIGN SAL LAGAB TIMES ASH2;Lo;0;L;;;;;N;;;;;
-122AB;CUNEIFORM SIGN SANGA2;Lo;0;L;;;;;N;;;;;
-122AC;CUNEIFORM SIGN SAR;Lo;0;L;;;;;N;;;;;
-122AD;CUNEIFORM SIGN SHA;Lo;0;L;;;;;N;;;;;
-122AE;CUNEIFORM SIGN SHA3;Lo;0;L;;;;;N;;;;;
-122AF;CUNEIFORM SIGN SHA3 TIMES A;Lo;0;L;;;;;N;;;;;
-122B0;CUNEIFORM SIGN SHA3 TIMES BAD;Lo;0;L;;;;;N;;;;;
-122B1;CUNEIFORM SIGN SHA3 TIMES GISH;Lo;0;L;;;;;N;;;;;
-122B2;CUNEIFORM SIGN SHA3 TIMES NE;Lo;0;L;;;;;N;;;;;
-122B3;CUNEIFORM SIGN SHA3 TIMES SHU2;Lo;0;L;;;;;N;;;;;
-122B4;CUNEIFORM SIGN SHA3 TIMES TUR;Lo;0;L;;;;;N;;;;;
-122B5;CUNEIFORM SIGN SHA3 TIMES U;Lo;0;L;;;;;N;;;;;
-122B6;CUNEIFORM SIGN SHA3 TIMES U PLUS A;Lo;0;L;;;;;N;;;;;
-122B7;CUNEIFORM SIGN SHA6;Lo;0;L;;;;;N;;;;;
-122B8;CUNEIFORM SIGN SHAB6;Lo;0;L;;;;;N;;;;;
-122B9;CUNEIFORM SIGN SHAR2;Lo;0;L;;;;;N;;;;;
-122BA;CUNEIFORM SIGN SHE;Lo;0;L;;;;;N;;;;;
-122BB;CUNEIFORM SIGN SHE HU;Lo;0;L;;;;;N;;;;;
-122BC;CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-122BD;CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-122BE;CUNEIFORM SIGN SHEG9;Lo;0;L;;;;;N;;;;;
-122BF;CUNEIFORM SIGN SHEN;Lo;0;L;;;;;N;;;;;
-122C0;CUNEIFORM SIGN SHESH;Lo;0;L;;;;;N;;;;;
-122C1;CUNEIFORM SIGN SHESH2;Lo;0;L;;;;;N;;;;;
-122C2;CUNEIFORM SIGN SHESHLAM;Lo;0;L;;;;;N;;;;;
-122C3;CUNEIFORM SIGN SHID;Lo;0;L;;;;;N;;;;;
-122C4;CUNEIFORM SIGN SHID TIMES A;Lo;0;L;;;;;N;;;;;
-122C5;CUNEIFORM SIGN SHID TIMES IM;Lo;0;L;;;;;N;;;;;
-122C6;CUNEIFORM SIGN SHIM;Lo;0;L;;;;;N;;;;;
-122C7;CUNEIFORM SIGN SHIM TIMES A;Lo;0;L;;;;;N;;;;;
-122C8;CUNEIFORM SIGN SHIM TIMES BAL;Lo;0;L;;;;;N;;;;;
-122C9;CUNEIFORM SIGN SHIM TIMES BULUG;Lo;0;L;;;;;N;;;;;
-122CA;CUNEIFORM SIGN SHIM TIMES DIN;Lo;0;L;;;;;N;;;;;
-122CB;CUNEIFORM SIGN SHIM TIMES GAR;Lo;0;L;;;;;N;;;;;
-122CC;CUNEIFORM SIGN SHIM TIMES IGI;Lo;0;L;;;;;N;;;;;
-122CD;CUNEIFORM SIGN SHIM TIMES IGI GUNU;Lo;0;L;;;;;N;;;;;
-122CE;CUNEIFORM SIGN SHIM TIMES KUSHU2;Lo;0;L;;;;;N;;;;;
-122CF;CUNEIFORM SIGN SHIM TIMES LUL;Lo;0;L;;;;;N;;;;;
-122D0;CUNEIFORM SIGN SHIM TIMES MUG;Lo;0;L;;;;;N;;;;;
-122D1;CUNEIFORM SIGN SHIM TIMES SAL;Lo;0;L;;;;;N;;;;;
-122D2;CUNEIFORM SIGN SHINIG;Lo;0;L;;;;;N;;;;;
-122D3;CUNEIFORM SIGN SHIR;Lo;0;L;;;;;N;;;;;
-122D4;CUNEIFORM SIGN SHIR TENU;Lo;0;L;;;;;N;;;;;
-122D5;CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR;Lo;0;L;;;;;N;;;;;
-122D6;CUNEIFORM SIGN SHITA;Lo;0;L;;;;;N;;;;;
-122D7;CUNEIFORM SIGN SHU;Lo;0;L;;;;;N;;;;;
-122D8;CUNEIFORM SIGN SHU OVER INVERTED SHU;Lo;0;L;;;;;N;;;;;
-122D9;CUNEIFORM SIGN SHU2;Lo;0;L;;;;;N;;;;;
-122DA;CUNEIFORM SIGN SHUBUR;Lo;0;L;;;;;N;;;;;
-122DB;CUNEIFORM SIGN SI;Lo;0;L;;;;;N;;;;;
-122DC;CUNEIFORM SIGN SI GUNU;Lo;0;L;;;;;N;;;;;
-122DD;CUNEIFORM SIGN SIG;Lo;0;L;;;;;N;;;;;
-122DE;CUNEIFORM SIGN SIG4;Lo;0;L;;;;;N;;;;;
-122DF;CUNEIFORM SIGN SIG4 OVER SIG4 SHU2;Lo;0;L;;;;;N;;;;;
-122E0;CUNEIFORM SIGN SIK2;Lo;0;L;;;;;N;;;;;
-122E1;CUNEIFORM SIGN SILA3;Lo;0;L;;;;;N;;;;;
-122E2;CUNEIFORM SIGN SU;Lo;0;L;;;;;N;;;;;
-122E3;CUNEIFORM SIGN SU OVER SU;Lo;0;L;;;;;N;;;;;
-122E4;CUNEIFORM SIGN SUD;Lo;0;L;;;;;N;;;;;
-122E5;CUNEIFORM SIGN SUD2;Lo;0;L;;;;;N;;;;;
-122E6;CUNEIFORM SIGN SUHUR;Lo;0;L;;;;;N;;;;;
-122E7;CUNEIFORM SIGN SUM;Lo;0;L;;;;;N;;;;;
-122E8;CUNEIFORM SIGN SUMASH;Lo;0;L;;;;;N;;;;;
-122E9;CUNEIFORM SIGN SUR;Lo;0;L;;;;;N;;;;;
-122EA;CUNEIFORM SIGN SUR9;Lo;0;L;;;;;N;;;;;
-122EB;CUNEIFORM SIGN TA;Lo;0;L;;;;;N;;;;;
-122EC;CUNEIFORM SIGN TA ASTERISK;Lo;0;L;;;;;N;;;;;
-122ED;CUNEIFORM SIGN TA TIMES HI;Lo;0;L;;;;;N;;;;;
-122EE;CUNEIFORM SIGN TA TIMES MI;Lo;0;L;;;;;N;;;;;
-122EF;CUNEIFORM SIGN TA GUNU;Lo;0;L;;;;;N;;;;;
-122F0;CUNEIFORM SIGN TAB;Lo;0;L;;;;;N;;;;;
-122F1;CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH;Lo;0;L;;;;;N;;;;;
-122F2;CUNEIFORM SIGN TAB SQUARED;Lo;0;L;;;;;N;;;;;
-122F3;CUNEIFORM SIGN TAG;Lo;0;L;;;;;N;;;;;
-122F4;CUNEIFORM SIGN TAG TIMES BI;Lo;0;L;;;;;N;;;;;
-122F5;CUNEIFORM SIGN TAG TIMES GUD;Lo;0;L;;;;;N;;;;;
-122F6;CUNEIFORM SIGN TAG TIMES SHE;Lo;0;L;;;;;N;;;;;
-122F7;CUNEIFORM SIGN TAG TIMES SHU;Lo;0;L;;;;;N;;;;;
-122F8;CUNEIFORM SIGN TAG TIMES TUG2;Lo;0;L;;;;;N;;;;;
-122F9;CUNEIFORM SIGN TAG TIMES UD;Lo;0;L;;;;;N;;;;;
-122FA;CUNEIFORM SIGN TAK4;Lo;0;L;;;;;N;;;;;
-122FB;CUNEIFORM SIGN TAR;Lo;0;L;;;;;N;;;;;
-122FC;CUNEIFORM SIGN TE;Lo;0;L;;;;;N;;;;;
-122FD;CUNEIFORM SIGN TE GUNU;Lo;0;L;;;;;N;;;;;
-122FE;CUNEIFORM SIGN TI;Lo;0;L;;;;;N;;;;;
-122FF;CUNEIFORM SIGN TI TENU;Lo;0;L;;;;;N;;;;;
-12300;CUNEIFORM SIGN TIL;Lo;0;L;;;;;N;;;;;
-12301;CUNEIFORM SIGN TIR;Lo;0;L;;;;;N;;;;;
-12302;CUNEIFORM SIGN TIR TIMES TAK4;Lo;0;L;;;;;N;;;;;
-12303;CUNEIFORM SIGN TIR OVER TIR;Lo;0;L;;;;;N;;;;;
-12304;CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-12305;CUNEIFORM SIGN TU;Lo;0;L;;;;;N;;;;;
-12306;CUNEIFORM SIGN TUG2;Lo;0;L;;;;;N;;;;;
-12307;CUNEIFORM SIGN TUK;Lo;0;L;;;;;N;;;;;
-12308;CUNEIFORM SIGN TUM;Lo;0;L;;;;;N;;;;;
-12309;CUNEIFORM SIGN TUR;Lo;0;L;;;;;N;;;;;
-1230A;CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA;Lo;0;L;;;;;N;;;;;
-1230B;CUNEIFORM SIGN U;Lo;0;L;;;;;N;;;;;
-1230C;CUNEIFORM SIGN U GUD;Lo;0;L;;;;;N;;;;;
-1230D;CUNEIFORM SIGN U U U;Lo;0;L;;;;;N;;;;;
-1230E;CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR;Lo;0;L;;;;;N;;;;;
-1230F;CUNEIFORM SIGN U OVER U SUR OVER SUR;Lo;0;L;;;;;N;;;;;
-12310;CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED;Lo;0;L;;;;;N;;;;;
-12311;CUNEIFORM SIGN U2;Lo;0;L;;;;;N;;;;;
-12312;CUNEIFORM SIGN UB;Lo;0;L;;;;;N;;;;;
-12313;CUNEIFORM SIGN UD;Lo;0;L;;;;;N;;;;;
-12314;CUNEIFORM SIGN UD KUSHU2;Lo;0;L;;;;;N;;;;;
-12315;CUNEIFORM SIGN UD TIMES BAD;Lo;0;L;;;;;N;;;;;
-12316;CUNEIFORM SIGN UD TIMES MI;Lo;0;L;;;;;N;;;;;
-12317;CUNEIFORM SIGN UD TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;;
-12318;CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU;Lo;0;L;;;;;N;;;;;
-12319;CUNEIFORM SIGN UD GUNU;Lo;0;L;;;;;N;;;;;
-1231A;CUNEIFORM SIGN UD SHESHIG;Lo;0;L;;;;;N;;;;;
-1231B;CUNEIFORM SIGN UD SHESHIG TIMES BAD;Lo;0;L;;;;;N;;;;;
-1231C;CUNEIFORM SIGN UDUG;Lo;0;L;;;;;N;;;;;
-1231D;CUNEIFORM SIGN UM;Lo;0;L;;;;;N;;;;;
-1231E;CUNEIFORM SIGN UM TIMES LAGAB;Lo;0;L;;;;;N;;;;;
-1231F;CUNEIFORM SIGN UM TIMES ME PLUS DA;Lo;0;L;;;;;N;;;;;
-12320;CUNEIFORM SIGN UM TIMES SHA3;Lo;0;L;;;;;N;;;;;
-12321;CUNEIFORM SIGN UM TIMES U;Lo;0;L;;;;;N;;;;;
-12322;CUNEIFORM SIGN UMBIN;Lo;0;L;;;;;N;;;;;
-12323;CUNEIFORM SIGN UMUM;Lo;0;L;;;;;N;;;;;
-12324;CUNEIFORM SIGN UMUM TIMES KASKAL;Lo;0;L;;;;;N;;;;;
-12325;CUNEIFORM SIGN UMUM TIMES PA;Lo;0;L;;;;;N;;;;;
-12326;CUNEIFORM SIGN UN;Lo;0;L;;;;;N;;;;;
-12327;CUNEIFORM SIGN UN GUNU;Lo;0;L;;;;;N;;;;;
-12328;CUNEIFORM SIGN UR;Lo;0;L;;;;;N;;;;;
-12329;CUNEIFORM SIGN UR CROSSING UR;Lo;0;L;;;;;N;;;;;
-1232A;CUNEIFORM SIGN UR SHESHIG;Lo;0;L;;;;;N;;;;;
-1232B;CUNEIFORM SIGN UR2;Lo;0;L;;;;;N;;;;;
-1232C;CUNEIFORM SIGN UR2 TIMES A PLUS HA;Lo;0;L;;;;;N;;;;;
-1232D;CUNEIFORM SIGN UR2 TIMES A PLUS NA;Lo;0;L;;;;;N;;;;;
-1232E;CUNEIFORM SIGN UR2 TIMES AL;Lo;0;L;;;;;N;;;;;
-1232F;CUNEIFORM SIGN UR2 TIMES HA;Lo;0;L;;;;;N;;;;;
-12330;CUNEIFORM SIGN UR2 TIMES NUN;Lo;0;L;;;;;N;;;;;
-12331;CUNEIFORM SIGN UR2 TIMES U2;Lo;0;L;;;;;N;;;;;
-12332;CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;;
-12333;CUNEIFORM SIGN UR2 TIMES U2 PLUS BI;Lo;0;L;;;;;N;;;;;
-12334;CUNEIFORM SIGN UR4;Lo;0;L;;;;;N;;;;;
-12335;CUNEIFORM SIGN URI;Lo;0;L;;;;;N;;;;;
-12336;CUNEIFORM SIGN URI3;Lo;0;L;;;;;N;;;;;
-12337;CUNEIFORM SIGN URU;Lo;0;L;;;;;N;;;;;
-12338;CUNEIFORM SIGN URU TIMES A;Lo;0;L;;;;;N;;;;;
-12339;CUNEIFORM SIGN URU TIMES ASHGAB;Lo;0;L;;;;;N;;;;;
-1233A;CUNEIFORM SIGN URU TIMES BAR;Lo;0;L;;;;;N;;;;;
-1233B;CUNEIFORM SIGN URU TIMES DUN;Lo;0;L;;;;;N;;;;;
-1233C;CUNEIFORM SIGN URU TIMES GA;Lo;0;L;;;;;N;;;;;
-1233D;CUNEIFORM SIGN URU TIMES GAL;Lo;0;L;;;;;N;;;;;
-1233E;CUNEIFORM SIGN URU TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;;
-1233F;CUNEIFORM SIGN URU TIMES GAR;Lo;0;L;;;;;N;;;;;
-12340;CUNEIFORM SIGN URU TIMES GU;Lo;0;L;;;;;N;;;;;
-12341;CUNEIFORM SIGN URU TIMES HA;Lo;0;L;;;;;N;;;;;
-12342;CUNEIFORM SIGN URU TIMES IGI;Lo;0;L;;;;;N;;;;;
-12343;CUNEIFORM SIGN URU TIMES IM;Lo;0;L;;;;;N;;;;;
-12344;CUNEIFORM SIGN URU TIMES ISH;Lo;0;L;;;;;N;;;;;
-12345;CUNEIFORM SIGN URU TIMES KI;Lo;0;L;;;;;N;;;;;
-12346;CUNEIFORM SIGN URU TIMES LUM;Lo;0;L;;;;;N;;;;;
-12347;CUNEIFORM SIGN URU TIMES MIN;Lo;0;L;;;;;N;;;;;
-12348;CUNEIFORM SIGN URU TIMES PA;Lo;0;L;;;;;N;;;;;
-12349;CUNEIFORM SIGN URU TIMES SHE;Lo;0;L;;;;;N;;;;;
-1234A;CUNEIFORM SIGN URU TIMES SIG4;Lo;0;L;;;;;N;;;;;
-1234B;CUNEIFORM SIGN URU TIMES TU;Lo;0;L;;;;;N;;;;;
-1234C;CUNEIFORM SIGN URU TIMES U PLUS GUD;Lo;0;L;;;;;N;;;;;
-1234D;CUNEIFORM SIGN URU TIMES UD;Lo;0;L;;;;;N;;;;;
-1234E;CUNEIFORM SIGN URU TIMES URUDA;Lo;0;L;;;;;N;;;;;
-1234F;CUNEIFORM SIGN URUDA;Lo;0;L;;;;;N;;;;;
-12350;CUNEIFORM SIGN URUDA TIMES U;Lo;0;L;;;;;N;;;;;
-12351;CUNEIFORM SIGN USH;Lo;0;L;;;;;N;;;;;
-12352;CUNEIFORM SIGN USH TIMES A;Lo;0;L;;;;;N;;;;;
-12353;CUNEIFORM SIGN USH TIMES KU;Lo;0;L;;;;;N;;;;;
-12354;CUNEIFORM SIGN USH TIMES KUR;Lo;0;L;;;;;N;;;;;
-12355;CUNEIFORM SIGN USH TIMES TAK4;Lo;0;L;;;;;N;;;;;
-12356;CUNEIFORM SIGN USHX;Lo;0;L;;;;;N;;;;;
-12357;CUNEIFORM SIGN USH2;Lo;0;L;;;;;N;;;;;
-12358;CUNEIFORM SIGN USHUMX;Lo;0;L;;;;;N;;;;;
-12359;CUNEIFORM SIGN UTUKI;Lo;0;L;;;;;N;;;;;
-1235A;CUNEIFORM SIGN UZ3;Lo;0;L;;;;;N;;;;;
-1235B;CUNEIFORM SIGN UZ3 TIMES KASKAL;Lo;0;L;;;;;N;;;;;
-1235C;CUNEIFORM SIGN UZU;Lo;0;L;;;;;N;;;;;
-1235D;CUNEIFORM SIGN ZA;Lo;0;L;;;;;N;;;;;
-1235E;CUNEIFORM SIGN ZA TENU;Lo;0;L;;;;;N;;;;;
-1235F;CUNEIFORM SIGN ZA SQUARED TIMES KUR;Lo;0;L;;;;;N;;;;;
-12360;CUNEIFORM SIGN ZAG;Lo;0;L;;;;;N;;;;;
-12361;CUNEIFORM SIGN ZAMX;Lo;0;L;;;;;N;;;;;
-12362;CUNEIFORM SIGN ZE2;Lo;0;L;;;;;N;;;;;
-12363;CUNEIFORM SIGN ZI;Lo;0;L;;;;;N;;;;;
-12364;CUNEIFORM SIGN ZI OVER ZI;Lo;0;L;;;;;N;;;;;
-12365;CUNEIFORM SIGN ZI3;Lo;0;L;;;;;N;;;;;
-12366;CUNEIFORM SIGN ZIB;Lo;0;L;;;;;N;;;;;
-12367;CUNEIFORM SIGN ZIB KABA TENU;Lo;0;L;;;;;N;;;;;
-12368;CUNEIFORM SIGN ZIG;Lo;0;L;;;;;N;;;;;
-12369;CUNEIFORM SIGN ZIZ2;Lo;0;L;;;;;N;;;;;
-1236A;CUNEIFORM SIGN ZU;Lo;0;L;;;;;N;;;;;
-1236B;CUNEIFORM SIGN ZU5;Lo;0;L;;;;;N;;;;;
-1236C;CUNEIFORM SIGN ZU5 TIMES A;Lo;0;L;;;;;N;;;;;
-1236D;CUNEIFORM SIGN ZUBUR;Lo;0;L;;;;;N;;;;;
-1236E;CUNEIFORM SIGN ZUM;Lo;0;L;;;;;N;;;;;
-12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;;
-12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;;
-12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;;
-12403;CUNEIFORM NUMERIC SIGN FIVE ASH;Nl;0;L;;;;5;N;;;;;
-12404;CUNEIFORM NUMERIC SIGN SIX ASH;Nl;0;L;;;;6;N;;;;;
-12405;CUNEIFORM NUMERIC SIGN SEVEN ASH;Nl;0;L;;;;7;N;;;;;
-12406;CUNEIFORM NUMERIC SIGN EIGHT ASH;Nl;0;L;;;;8;N;;;;;
-12407;CUNEIFORM NUMERIC SIGN NINE ASH;Nl;0;L;;;;9;N;;;;;
-12408;CUNEIFORM NUMERIC SIGN THREE DISH;Nl;0;L;;;;3;N;;;;;
-12409;CUNEIFORM NUMERIC SIGN FOUR DISH;Nl;0;L;;;;4;N;;;;;
-1240A;CUNEIFORM NUMERIC SIGN FIVE DISH;Nl;0;L;;;;5;N;;;;;
-1240B;CUNEIFORM NUMERIC SIGN SIX DISH;Nl;0;L;;;;6;N;;;;;
-1240C;CUNEIFORM NUMERIC SIGN SEVEN DISH;Nl;0;L;;;;7;N;;;;;
-1240D;CUNEIFORM NUMERIC SIGN EIGHT DISH;Nl;0;L;;;;8;N;;;;;
-1240E;CUNEIFORM NUMERIC SIGN NINE DISH;Nl;0;L;;;;9;N;;;;;
-1240F;CUNEIFORM NUMERIC SIGN FOUR U;Nl;0;L;;;;4;N;;;;;
-12410;CUNEIFORM NUMERIC SIGN FIVE U;Nl;0;L;;;;5;N;;;;;
-12411;CUNEIFORM NUMERIC SIGN SIX U;Nl;0;L;;;;6;N;;;;;
-12412;CUNEIFORM NUMERIC SIGN SEVEN U;Nl;0;L;;;;7;N;;;;;
-12413;CUNEIFORM NUMERIC SIGN EIGHT U;Nl;0;L;;;;8;N;;;;;
-12414;CUNEIFORM NUMERIC SIGN NINE U;Nl;0;L;;;;9;N;;;;;
-12415;CUNEIFORM NUMERIC SIGN ONE GESH2;Nl;0;L;;;;1;N;;;;;
-12416;CUNEIFORM NUMERIC SIGN TWO GESH2;Nl;0;L;;;;2;N;;;;;
-12417;CUNEIFORM NUMERIC SIGN THREE GESH2;Nl;0;L;;;;3;N;;;;;
-12418;CUNEIFORM NUMERIC SIGN FOUR GESH2;Nl;0;L;;;;4;N;;;;;
-12419;CUNEIFORM NUMERIC SIGN FIVE GESH2;Nl;0;L;;;;5;N;;;;;
-1241A;CUNEIFORM NUMERIC SIGN SIX GESH2;Nl;0;L;;;;6;N;;;;;
-1241B;CUNEIFORM NUMERIC SIGN SEVEN GESH2;Nl;0;L;;;;7;N;;;;;
-1241C;CUNEIFORM NUMERIC SIGN EIGHT GESH2;Nl;0;L;;;;8;N;;;;;
-1241D;CUNEIFORM NUMERIC SIGN NINE GESH2;Nl;0;L;;;;9;N;;;;;
-1241E;CUNEIFORM NUMERIC SIGN ONE GESHU;Nl;0;L;;;;1;N;;;;;
-1241F;CUNEIFORM NUMERIC SIGN TWO GESHU;Nl;0;L;;;;2;N;;;;;
-12420;CUNEIFORM NUMERIC SIGN THREE GESHU;Nl;0;L;;;;3;N;;;;;
-12421;CUNEIFORM NUMERIC SIGN FOUR GESHU;Nl;0;L;;;;4;N;;;;;
-12422;CUNEIFORM NUMERIC SIGN FIVE GESHU;Nl;0;L;;;;5;N;;;;;
-12423;CUNEIFORM NUMERIC SIGN TWO SHAR2;Nl;0;L;;;;2;N;;;;;
-12424;CUNEIFORM NUMERIC SIGN THREE SHAR2;Nl;0;L;;;;3;N;;;;;
-12425;CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM;Nl;0;L;;;;3;N;;;;;
-12426;CUNEIFORM NUMERIC SIGN FOUR SHAR2;Nl;0;L;;;;4;N;;;;;
-12427;CUNEIFORM NUMERIC SIGN FIVE SHAR2;Nl;0;L;;;;5;N;;;;;
-12428;CUNEIFORM NUMERIC SIGN SIX SHAR2;Nl;0;L;;;;6;N;;;;;
-12429;CUNEIFORM NUMERIC SIGN SEVEN SHAR2;Nl;0;L;;;;7;N;;;;;
-1242A;CUNEIFORM NUMERIC SIGN EIGHT SHAR2;Nl;0;L;;;;8;N;;;;;
-1242B;CUNEIFORM NUMERIC SIGN NINE SHAR2;Nl;0;L;;;;9;N;;;;;
-1242C;CUNEIFORM NUMERIC SIGN ONE SHARU;Nl;0;L;;;;1;N;;;;;
-1242D;CUNEIFORM NUMERIC SIGN TWO SHARU;Nl;0;L;;;;2;N;;;;;
-1242E;CUNEIFORM NUMERIC SIGN THREE SHARU;Nl;0;L;;;;3;N;;;;;
-1242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;;
-12430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;;
-12431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;;
-12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;;N;;;;;
-12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;;N;;;;;
-12434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;;
-12435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;;
-12436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;;
-12437;CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM;Nl;0;L;;;;3;N;;;;;
-12438;CUNEIFORM NUMERIC SIGN FOUR BURU;Nl;0;L;;;;4;N;;;;;
-12439;CUNEIFORM NUMERIC SIGN FIVE BURU;Nl;0;L;;;;5;N;;;;;
-1243A;CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16;Nl;0;L;;;;3;N;;;;;
-1243B;CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21;Nl;0;L;;;;3;N;;;;;
-1243C;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU;Nl;0;L;;;;4;N;;;;;
-1243D;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4;Nl;0;L;;;;4;N;;;;;
-1243E;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A;Nl;0;L;;;;4;N;;;;;
-1243F;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B;Nl;0;L;;;;4;N;;;;;
-12440;CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9;Nl;0;L;;;;6;N;;;;;
-12441;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3;Nl;0;L;;;;7;N;;;;;
-12442;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A;Nl;0;L;;;;7;N;;;;;
-12443;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B;Nl;0;L;;;;7;N;;;;;
-12444;CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU;Nl;0;L;;;;8;N;;;;;
-12445;CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3;Nl;0;L;;;;8;N;;;;;
-12446;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU;Nl;0;L;;;;9;N;;;;;
-12447;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3;Nl;0;L;;;;9;N;;;;;
-12448;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4;Nl;0;L;;;;9;N;;;;;
-12449;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A;Nl;0;L;;;;9;N;;;;;
-1244A;CUNEIFORM NUMERIC SIGN TWO ASH TENU;Nl;0;L;;;;2;N;;;;;
-1244B;CUNEIFORM NUMERIC SIGN THREE ASH TENU;Nl;0;L;;;;3;N;;;;;
-1244C;CUNEIFORM NUMERIC SIGN FOUR ASH TENU;Nl;0;L;;;;4;N;;;;;
-1244D;CUNEIFORM NUMERIC SIGN FIVE ASH TENU;Nl;0;L;;;;5;N;;;;;
-1244E;CUNEIFORM NUMERIC SIGN SIX ASH TENU;Nl;0;L;;;;6;N;;;;;
-1244F;CUNEIFORM NUMERIC SIGN ONE BAN2;Nl;0;L;;;;1;N;;;;;
-12450;CUNEIFORM NUMERIC SIGN TWO BAN2;Nl;0;L;;;;2;N;;;;;
-12451;CUNEIFORM NUMERIC SIGN THREE BAN2;Nl;0;L;;;;3;N;;;;;
-12452;CUNEIFORM NUMERIC SIGN FOUR BAN2;Nl;0;L;;;;4;N;;;;;
-12453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;;
-12454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;;
-12455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;;
-12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;;N;;;;;
-12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;;N;;;;;
-12458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;;
-12459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;;
-1245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;;
-1245B;CUNEIFORM NUMERIC SIGN TWO THIRDS DISH;Nl;0;L;;;;2/3;N;;;;;
-1245C;CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH;Nl;0;L;;;;5/6;N;;;;;
-1245D;CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A;Nl;0;L;;;;1/3;N;;;;;
-1245E;CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A;Nl;0;L;;;;2/3;N;;;;;
-1245F;CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH;Nl;0;L;;;;1/8;N;;;;;
-12460;CUNEIFORM NUMERIC SIGN ONE QUARTER ASH;Nl;0;L;;;;1/4;N;;;;;
-12461;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH;Nl;0;L;;;;1/6;N;;;;;
-12462;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER;Nl;0;L;;;;1/4;N;;;;;
-12470;CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER;Po;0;L;;;;;N;;;;;
-12471;CUNEIFORM PUNCTUATION SIGN VERTICAL COLON;Po;0;L;;;;;N;;;;;
-12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;;
-12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;;
-13000;EGYPTIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
-13001;EGYPTIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
-13002;EGYPTIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
-13003;EGYPTIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;;
-13004;EGYPTIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;;
-13005;EGYPTIAN HIEROGLYPH A005A;Lo;0;L;;;;;N;;;;;
-13006;EGYPTIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;;
-13007;EGYPTIAN HIEROGLYPH A006A;Lo;0;L;;;;;N;;;;;
-13008;EGYPTIAN HIEROGLYPH A006B;Lo;0;L;;;;;N;;;;;
-13009;EGYPTIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;;
-1300A;EGYPTIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;;
-1300B;EGYPTIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;;
-1300C;EGYPTIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;;
-1300D;EGYPTIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;;
-1300E;EGYPTIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;;
-1300F;EGYPTIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;;
-13010;EGYPTIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;;
-13011;EGYPTIAN HIEROGLYPH A014A;Lo;0;L;;;;;N;;;;;
-13012;EGYPTIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;;
-13013;EGYPTIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;;
-13014;EGYPTIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;;
-13015;EGYPTIAN HIEROGLYPH A017A;Lo;0;L;;;;;N;;;;;
-13016;EGYPTIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;;
-13017;EGYPTIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;;
-13018;EGYPTIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;;
-13019;EGYPTIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;;
-1301A;EGYPTIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;;
-1301B;EGYPTIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;;
-1301C;EGYPTIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;;
-1301D;EGYPTIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;;
-1301E;EGYPTIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;;
-1301F;EGYPTIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;;
-13020;EGYPTIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;;
-13021;EGYPTIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;;
-13022;EGYPTIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;;
-13023;EGYPTIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;;
-13024;EGYPTIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;;
-13025;EGYPTIAN HIEROGLYPH A032A;Lo;0;L;;;;;N;;;;;
-13026;EGYPTIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;;
-13027;EGYPTIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;;
-13028;EGYPTIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;;
-13029;EGYPTIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;;
-1302A;EGYPTIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;;
-1302B;EGYPTIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;;
-1302C;EGYPTIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;;
-1302D;EGYPTIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;;
-1302E;EGYPTIAN HIEROGLYPH A040A;Lo;0;L;;;;;N;;;;;
-1302F;EGYPTIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;;
-13030;EGYPTIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;;
-13031;EGYPTIAN HIEROGLYPH A042A;Lo;0;L;;;;;N;;;;;
-13032;EGYPTIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;;
-13033;EGYPTIAN HIEROGLYPH A043A;Lo;0;L;;;;;N;;;;;
-13034;EGYPTIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;;
-13035;EGYPTIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;;
-13036;EGYPTIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;;
-13037;EGYPTIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;;
-13038;EGYPTIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;;
-13039;EGYPTIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;;
-1303A;EGYPTIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;;
-1303B;EGYPTIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;;
-1303C;EGYPTIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;;
-1303D;EGYPTIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;;
-1303E;EGYPTIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;;
-1303F;EGYPTIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;;
-13040;EGYPTIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;;
-13041;EGYPTIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;;
-13042;EGYPTIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;;
-13043;EGYPTIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;;
-13044;EGYPTIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;;
-13045;EGYPTIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;;
-13046;EGYPTIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;;
-13047;EGYPTIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;;
-13048;EGYPTIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;;
-13049;EGYPTIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;;
-1304A;EGYPTIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;;
-1304B;EGYPTIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;;
-1304C;EGYPTIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;;
-1304D;EGYPTIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;;
-1304E;EGYPTIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;;
-1304F;EGYPTIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;;
-13050;EGYPTIAN HIEROGLYPH B001;Lo;0;L;;;;;N;;;;;
-13051;EGYPTIAN HIEROGLYPH B002;Lo;0;L;;;;;N;;;;;
-13052;EGYPTIAN HIEROGLYPH B003;Lo;0;L;;;;;N;;;;;
-13053;EGYPTIAN HIEROGLYPH B004;Lo;0;L;;;;;N;;;;;
-13054;EGYPTIAN HIEROGLYPH B005;Lo;0;L;;;;;N;;;;;
-13055;EGYPTIAN HIEROGLYPH B005A;Lo;0;L;;;;;N;;;;;
-13056;EGYPTIAN HIEROGLYPH B006;Lo;0;L;;;;;N;;;;;
-13057;EGYPTIAN HIEROGLYPH B007;Lo;0;L;;;;;N;;;;;
-13058;EGYPTIAN HIEROGLYPH B008;Lo;0;L;;;;;N;;;;;
-13059;EGYPTIAN HIEROGLYPH B009;Lo;0;L;;;;;N;;;;;
-1305A;EGYPTIAN HIEROGLYPH C001;Lo;0;L;;;;;N;;;;;
-1305B;EGYPTIAN HIEROGLYPH C002;Lo;0;L;;;;;N;;;;;
-1305C;EGYPTIAN HIEROGLYPH C002A;Lo;0;L;;;;;N;;;;;
-1305D;EGYPTIAN HIEROGLYPH C002B;Lo;0;L;;;;;N;;;;;
-1305E;EGYPTIAN HIEROGLYPH C002C;Lo;0;L;;;;;N;;;;;
-1305F;EGYPTIAN HIEROGLYPH C003;Lo;0;L;;;;;N;;;;;
-13060;EGYPTIAN HIEROGLYPH C004;Lo;0;L;;;;;N;;;;;
-13061;EGYPTIAN HIEROGLYPH C005;Lo;0;L;;;;;N;;;;;
-13062;EGYPTIAN HIEROGLYPH C006;Lo;0;L;;;;;N;;;;;
-13063;EGYPTIAN HIEROGLYPH C007;Lo;0;L;;;;;N;;;;;
-13064;EGYPTIAN HIEROGLYPH C008;Lo;0;L;;;;;N;;;;;
-13065;EGYPTIAN HIEROGLYPH C009;Lo;0;L;;;;;N;;;;;
-13066;EGYPTIAN HIEROGLYPH C010;Lo;0;L;;;;;N;;;;;
-13067;EGYPTIAN HIEROGLYPH C010A;Lo;0;L;;;;;N;;;;;
-13068;EGYPTIAN HIEROGLYPH C011;Lo;0;L;;;;;N;;;;;
-13069;EGYPTIAN HIEROGLYPH C012;Lo;0;L;;;;;N;;;;;
-1306A;EGYPTIAN HIEROGLYPH C013;Lo;0;L;;;;;N;;;;;
-1306B;EGYPTIAN HIEROGLYPH C014;Lo;0;L;;;;;N;;;;;
-1306C;EGYPTIAN HIEROGLYPH C015;Lo;0;L;;;;;N;;;;;
-1306D;EGYPTIAN HIEROGLYPH C016;Lo;0;L;;;;;N;;;;;
-1306E;EGYPTIAN HIEROGLYPH C017;Lo;0;L;;;;;N;;;;;
-1306F;EGYPTIAN HIEROGLYPH C018;Lo;0;L;;;;;N;;;;;
-13070;EGYPTIAN HIEROGLYPH C019;Lo;0;L;;;;;N;;;;;
-13071;EGYPTIAN HIEROGLYPH C020;Lo;0;L;;;;;N;;;;;
-13072;EGYPTIAN HIEROGLYPH C021;Lo;0;L;;;;;N;;;;;
-13073;EGYPTIAN HIEROGLYPH C022;Lo;0;L;;;;;N;;;;;
-13074;EGYPTIAN HIEROGLYPH C023;Lo;0;L;;;;;N;;;;;
-13075;EGYPTIAN HIEROGLYPH C024;Lo;0;L;;;;;N;;;;;
-13076;EGYPTIAN HIEROGLYPH D001;Lo;0;L;;;;;N;;;;;
-13077;EGYPTIAN HIEROGLYPH D002;Lo;0;L;;;;;N;;;;;
-13078;EGYPTIAN HIEROGLYPH D003;Lo;0;L;;;;;N;;;;;
-13079;EGYPTIAN HIEROGLYPH D004;Lo;0;L;;;;;N;;;;;
-1307A;EGYPTIAN HIEROGLYPH D005;Lo;0;L;;;;;N;;;;;
-1307B;EGYPTIAN HIEROGLYPH D006;Lo;0;L;;;;;N;;;;;
-1307C;EGYPTIAN HIEROGLYPH D007;Lo;0;L;;;;;N;;;;;
-1307D;EGYPTIAN HIEROGLYPH D008;Lo;0;L;;;;;N;;;;;
-1307E;EGYPTIAN HIEROGLYPH D008A;Lo;0;L;;;;;N;;;;;
-1307F;EGYPTIAN HIEROGLYPH D009;Lo;0;L;;;;;N;;;;;
-13080;EGYPTIAN HIEROGLYPH D010;Lo;0;L;;;;;N;;;;;
-13081;EGYPTIAN HIEROGLYPH D011;Lo;0;L;;;;;N;;;;;
-13082;EGYPTIAN HIEROGLYPH D012;Lo;0;L;;;;;N;;;;;
-13083;EGYPTIAN HIEROGLYPH D013;Lo;0;L;;;;;N;;;;;
-13084;EGYPTIAN HIEROGLYPH D014;Lo;0;L;;;;;N;;;;;
-13085;EGYPTIAN HIEROGLYPH D015;Lo;0;L;;;;;N;;;;;
-13086;EGYPTIAN HIEROGLYPH D016;Lo;0;L;;;;;N;;;;;
-13087;EGYPTIAN HIEROGLYPH D017;Lo;0;L;;;;;N;;;;;
-13088;EGYPTIAN HIEROGLYPH D018;Lo;0;L;;;;;N;;;;;
-13089;EGYPTIAN HIEROGLYPH D019;Lo;0;L;;;;;N;;;;;
-1308A;EGYPTIAN HIEROGLYPH D020;Lo;0;L;;;;;N;;;;;
-1308B;EGYPTIAN HIEROGLYPH D021;Lo;0;L;;;;;N;;;;;
-1308C;EGYPTIAN HIEROGLYPH D022;Lo;0;L;;;;;N;;;;;
-1308D;EGYPTIAN HIEROGLYPH D023;Lo;0;L;;;;;N;;;;;
-1308E;EGYPTIAN HIEROGLYPH D024;Lo;0;L;;;;;N;;;;;
-1308F;EGYPTIAN HIEROGLYPH D025;Lo;0;L;;;;;N;;;;;
-13090;EGYPTIAN HIEROGLYPH D026;Lo;0;L;;;;;N;;;;;
-13091;EGYPTIAN HIEROGLYPH D027;Lo;0;L;;;;;N;;;;;
-13092;EGYPTIAN HIEROGLYPH D027A;Lo;0;L;;;;;N;;;;;
-13093;EGYPTIAN HIEROGLYPH D028;Lo;0;L;;;;;N;;;;;
-13094;EGYPTIAN HIEROGLYPH D029;Lo;0;L;;;;;N;;;;;
-13095;EGYPTIAN HIEROGLYPH D030;Lo;0;L;;;;;N;;;;;
-13096;EGYPTIAN HIEROGLYPH D031;Lo;0;L;;;;;N;;;;;
-13097;EGYPTIAN HIEROGLYPH D031A;Lo;0;L;;;;;N;;;;;
-13098;EGYPTIAN HIEROGLYPH D032;Lo;0;L;;;;;N;;;;;
-13099;EGYPTIAN HIEROGLYPH D033;Lo;0;L;;;;;N;;;;;
-1309A;EGYPTIAN HIEROGLYPH D034;Lo;0;L;;;;;N;;;;;
-1309B;EGYPTIAN HIEROGLYPH D034A;Lo;0;L;;;;;N;;;;;
-1309C;EGYPTIAN HIEROGLYPH D035;Lo;0;L;;;;;N;;;;;
-1309D;EGYPTIAN HIEROGLYPH D036;Lo;0;L;;;;;N;;;;;
-1309E;EGYPTIAN HIEROGLYPH D037;Lo;0;L;;;;;N;;;;;
-1309F;EGYPTIAN HIEROGLYPH D038;Lo;0;L;;;;;N;;;;;
-130A0;EGYPTIAN HIEROGLYPH D039;Lo;0;L;;;;;N;;;;;
-130A1;EGYPTIAN HIEROGLYPH D040;Lo;0;L;;;;;N;;;;;
-130A2;EGYPTIAN HIEROGLYPH D041;Lo;0;L;;;;;N;;;;;
-130A3;EGYPTIAN HIEROGLYPH D042;Lo;0;L;;;;;N;;;;;
-130A4;EGYPTIAN HIEROGLYPH D043;Lo;0;L;;;;;N;;;;;
-130A5;EGYPTIAN HIEROGLYPH D044;Lo;0;L;;;;;N;;;;;
-130A6;EGYPTIAN HIEROGLYPH D045;Lo;0;L;;;;;N;;;;;
-130A7;EGYPTIAN HIEROGLYPH D046;Lo;0;L;;;;;N;;;;;
-130A8;EGYPTIAN HIEROGLYPH D046A;Lo;0;L;;;;;N;;;;;
-130A9;EGYPTIAN HIEROGLYPH D047;Lo;0;L;;;;;N;;;;;
-130AA;EGYPTIAN HIEROGLYPH D048;Lo;0;L;;;;;N;;;;;
-130AB;EGYPTIAN HIEROGLYPH D048A;Lo;0;L;;;;;N;;;;;
-130AC;EGYPTIAN HIEROGLYPH D049;Lo;0;L;;;;;N;;;;;
-130AD;EGYPTIAN HIEROGLYPH D050;Lo;0;L;;;;;N;;;;;
-130AE;EGYPTIAN HIEROGLYPH D050A;Lo;0;L;;;;;N;;;;;
-130AF;EGYPTIAN HIEROGLYPH D050B;Lo;0;L;;;;;N;;;;;
-130B0;EGYPTIAN HIEROGLYPH D050C;Lo;0;L;;;;;N;;;;;
-130B1;EGYPTIAN HIEROGLYPH D050D;Lo;0;L;;;;;N;;;;;
-130B2;EGYPTIAN HIEROGLYPH D050E;Lo;0;L;;;;;N;;;;;
-130B3;EGYPTIAN HIEROGLYPH D050F;Lo;0;L;;;;;N;;;;;
-130B4;EGYPTIAN HIEROGLYPH D050G;Lo;0;L;;;;;N;;;;;
-130B5;EGYPTIAN HIEROGLYPH D050H;Lo;0;L;;;;;N;;;;;
-130B6;EGYPTIAN HIEROGLYPH D050I;Lo;0;L;;;;;N;;;;;
-130B7;EGYPTIAN HIEROGLYPH D051;Lo;0;L;;;;;N;;;;;
-130B8;EGYPTIAN HIEROGLYPH D052;Lo;0;L;;;;;N;;;;;
-130B9;EGYPTIAN HIEROGLYPH D052A;Lo;0;L;;;;;N;;;;;
-130BA;EGYPTIAN HIEROGLYPH D053;Lo;0;L;;;;;N;;;;;
-130BB;EGYPTIAN HIEROGLYPH D054;Lo;0;L;;;;;N;;;;;
-130BC;EGYPTIAN HIEROGLYPH D054A;Lo;0;L;;;;;N;;;;;
-130BD;EGYPTIAN HIEROGLYPH D055;Lo;0;L;;;;;N;;;;;
-130BE;EGYPTIAN HIEROGLYPH D056;Lo;0;L;;;;;N;;;;;
-130BF;EGYPTIAN HIEROGLYPH D057;Lo;0;L;;;;;N;;;;;
-130C0;EGYPTIAN HIEROGLYPH D058;Lo;0;L;;;;;N;;;;;
-130C1;EGYPTIAN HIEROGLYPH D059;Lo;0;L;;;;;N;;;;;
-130C2;EGYPTIAN HIEROGLYPH D060;Lo;0;L;;;;;N;;;;;
-130C3;EGYPTIAN HIEROGLYPH D061;Lo;0;L;;;;;N;;;;;
-130C4;EGYPTIAN HIEROGLYPH D062;Lo;0;L;;;;;N;;;;;
-130C5;EGYPTIAN HIEROGLYPH D063;Lo;0;L;;;;;N;;;;;
-130C6;EGYPTIAN HIEROGLYPH D064;Lo;0;L;;;;;N;;;;;
-130C7;EGYPTIAN HIEROGLYPH D065;Lo;0;L;;;;;N;;;;;
-130C8;EGYPTIAN HIEROGLYPH D066;Lo;0;L;;;;;N;;;;;
-130C9;EGYPTIAN HIEROGLYPH D067;Lo;0;L;;;;;N;;;;;
-130CA;EGYPTIAN HIEROGLYPH D067A;Lo;0;L;;;;;N;;;;;
-130CB;EGYPTIAN HIEROGLYPH D067B;Lo;0;L;;;;;N;;;;;
-130CC;EGYPTIAN HIEROGLYPH D067C;Lo;0;L;;;;;N;;;;;
-130CD;EGYPTIAN HIEROGLYPH D067D;Lo;0;L;;;;;N;;;;;
-130CE;EGYPTIAN HIEROGLYPH D067E;Lo;0;L;;;;;N;;;;;
-130CF;EGYPTIAN HIEROGLYPH D067F;Lo;0;L;;;;;N;;;;;
-130D0;EGYPTIAN HIEROGLYPH D067G;Lo;0;L;;;;;N;;;;;
-130D1;EGYPTIAN HIEROGLYPH D067H;Lo;0;L;;;;;N;;;;;
-130D2;EGYPTIAN HIEROGLYPH E001;Lo;0;L;;;;;N;;;;;
-130D3;EGYPTIAN HIEROGLYPH E002;Lo;0;L;;;;;N;;;;;
-130D4;EGYPTIAN HIEROGLYPH E003;Lo;0;L;;;;;N;;;;;
-130D5;EGYPTIAN HIEROGLYPH E004;Lo;0;L;;;;;N;;;;;
-130D6;EGYPTIAN HIEROGLYPH E005;Lo;0;L;;;;;N;;;;;
-130D7;EGYPTIAN HIEROGLYPH E006;Lo;0;L;;;;;N;;;;;
-130D8;EGYPTIAN HIEROGLYPH E007;Lo;0;L;;;;;N;;;;;
-130D9;EGYPTIAN HIEROGLYPH E008;Lo;0;L;;;;;N;;;;;
-130DA;EGYPTIAN HIEROGLYPH E008A;Lo;0;L;;;;;N;;;;;
-130DB;EGYPTIAN HIEROGLYPH E009;Lo;0;L;;;;;N;;;;;
-130DC;EGYPTIAN HIEROGLYPH E009A;Lo;0;L;;;;;N;;;;;
-130DD;EGYPTIAN HIEROGLYPH E010;Lo;0;L;;;;;N;;;;;
-130DE;EGYPTIAN HIEROGLYPH E011;Lo;0;L;;;;;N;;;;;
-130DF;EGYPTIAN HIEROGLYPH E012;Lo;0;L;;;;;N;;;;;
-130E0;EGYPTIAN HIEROGLYPH E013;Lo;0;L;;;;;N;;;;;
-130E1;EGYPTIAN HIEROGLYPH E014;Lo;0;L;;;;;N;;;;;
-130E2;EGYPTIAN HIEROGLYPH E015;Lo;0;L;;;;;N;;;;;
-130E3;EGYPTIAN HIEROGLYPH E016;Lo;0;L;;;;;N;;;;;
-130E4;EGYPTIAN HIEROGLYPH E016A;Lo;0;L;;;;;N;;;;;
-130E5;EGYPTIAN HIEROGLYPH E017;Lo;0;L;;;;;N;;;;;
-130E6;EGYPTIAN HIEROGLYPH E017A;Lo;0;L;;;;;N;;;;;
-130E7;EGYPTIAN HIEROGLYPH E018;Lo;0;L;;;;;N;;;;;
-130E8;EGYPTIAN HIEROGLYPH E019;Lo;0;L;;;;;N;;;;;
-130E9;EGYPTIAN HIEROGLYPH E020;Lo;0;L;;;;;N;;;;;
-130EA;EGYPTIAN HIEROGLYPH E020A;Lo;0;L;;;;;N;;;;;
-130EB;EGYPTIAN HIEROGLYPH E021;Lo;0;L;;;;;N;;;;;
-130EC;EGYPTIAN HIEROGLYPH E022;Lo;0;L;;;;;N;;;;;
-130ED;EGYPTIAN HIEROGLYPH E023;Lo;0;L;;;;;N;;;;;
-130EE;EGYPTIAN HIEROGLYPH E024;Lo;0;L;;;;;N;;;;;
-130EF;EGYPTIAN HIEROGLYPH E025;Lo;0;L;;;;;N;;;;;
-130F0;EGYPTIAN HIEROGLYPH E026;Lo;0;L;;;;;N;;;;;
-130F1;EGYPTIAN HIEROGLYPH E027;Lo;0;L;;;;;N;;;;;
-130F2;EGYPTIAN HIEROGLYPH E028;Lo;0;L;;;;;N;;;;;
-130F3;EGYPTIAN HIEROGLYPH E028A;Lo;0;L;;;;;N;;;;;
-130F4;EGYPTIAN HIEROGLYPH E029;Lo;0;L;;;;;N;;;;;
-130F5;EGYPTIAN HIEROGLYPH E030;Lo;0;L;;;;;N;;;;;
-130F6;EGYPTIAN HIEROGLYPH E031;Lo;0;L;;;;;N;;;;;
-130F7;EGYPTIAN HIEROGLYPH E032;Lo;0;L;;;;;N;;;;;
-130F8;EGYPTIAN HIEROGLYPH E033;Lo;0;L;;;;;N;;;;;
-130F9;EGYPTIAN HIEROGLYPH E034;Lo;0;L;;;;;N;;;;;
-130FA;EGYPTIAN HIEROGLYPH E034A;Lo;0;L;;;;;N;;;;;
-130FB;EGYPTIAN HIEROGLYPH E036;Lo;0;L;;;;;N;;;;;
-130FC;EGYPTIAN HIEROGLYPH E037;Lo;0;L;;;;;N;;;;;
-130FD;EGYPTIAN HIEROGLYPH E038;Lo;0;L;;;;;N;;;;;
-130FE;EGYPTIAN HIEROGLYPH F001;Lo;0;L;;;;;N;;;;;
-130FF;EGYPTIAN HIEROGLYPH F001A;Lo;0;L;;;;;N;;;;;
-13100;EGYPTIAN HIEROGLYPH F002;Lo;0;L;;;;;N;;;;;
-13101;EGYPTIAN HIEROGLYPH F003;Lo;0;L;;;;;N;;;;;
-13102;EGYPTIAN HIEROGLYPH F004;Lo;0;L;;;;;N;;;;;
-13103;EGYPTIAN HIEROGLYPH F005;Lo;0;L;;;;;N;;;;;
-13104;EGYPTIAN HIEROGLYPH F006;Lo;0;L;;;;;N;;;;;
-13105;EGYPTIAN HIEROGLYPH F007;Lo;0;L;;;;;N;;;;;
-13106;EGYPTIAN HIEROGLYPH F008;Lo;0;L;;;;;N;;;;;
-13107;EGYPTIAN HIEROGLYPH F009;Lo;0;L;;;;;N;;;;;
-13108;EGYPTIAN HIEROGLYPH F010;Lo;0;L;;;;;N;;;;;
-13109;EGYPTIAN HIEROGLYPH F011;Lo;0;L;;;;;N;;;;;
-1310A;EGYPTIAN HIEROGLYPH F012;Lo;0;L;;;;;N;;;;;
-1310B;EGYPTIAN HIEROGLYPH F013;Lo;0;L;;;;;N;;;;;
-1310C;EGYPTIAN HIEROGLYPH F013A;Lo;0;L;;;;;N;;;;;
-1310D;EGYPTIAN HIEROGLYPH F014;Lo;0;L;;;;;N;;;;;
-1310E;EGYPTIAN HIEROGLYPH F015;Lo;0;L;;;;;N;;;;;
-1310F;EGYPTIAN HIEROGLYPH F016;Lo;0;L;;;;;N;;;;;
-13110;EGYPTIAN HIEROGLYPH F017;Lo;0;L;;;;;N;;;;;
-13111;EGYPTIAN HIEROGLYPH F018;Lo;0;L;;;;;N;;;;;
-13112;EGYPTIAN HIEROGLYPH F019;Lo;0;L;;;;;N;;;;;
-13113;EGYPTIAN HIEROGLYPH F020;Lo;0;L;;;;;N;;;;;
-13114;EGYPTIAN HIEROGLYPH F021;Lo;0;L;;;;;N;;;;;
-13115;EGYPTIAN HIEROGLYPH F021A;Lo;0;L;;;;;N;;;;;
-13116;EGYPTIAN HIEROGLYPH F022;Lo;0;L;;;;;N;;;;;
-13117;EGYPTIAN HIEROGLYPH F023;Lo;0;L;;;;;N;;;;;
-13118;EGYPTIAN HIEROGLYPH F024;Lo;0;L;;;;;N;;;;;
-13119;EGYPTIAN HIEROGLYPH F025;Lo;0;L;;;;;N;;;;;
-1311A;EGYPTIAN HIEROGLYPH F026;Lo;0;L;;;;;N;;;;;
-1311B;EGYPTIAN HIEROGLYPH F027;Lo;0;L;;;;;N;;;;;
-1311C;EGYPTIAN HIEROGLYPH F028;Lo;0;L;;;;;N;;;;;
-1311D;EGYPTIAN HIEROGLYPH F029;Lo;0;L;;;;;N;;;;;
-1311E;EGYPTIAN HIEROGLYPH F030;Lo;0;L;;;;;N;;;;;
-1311F;EGYPTIAN HIEROGLYPH F031;Lo;0;L;;;;;N;;;;;
-13120;EGYPTIAN HIEROGLYPH F031A;Lo;0;L;;;;;N;;;;;
-13121;EGYPTIAN HIEROGLYPH F032;Lo;0;L;;;;;N;;;;;
-13122;EGYPTIAN HIEROGLYPH F033;Lo;0;L;;;;;N;;;;;
-13123;EGYPTIAN HIEROGLYPH F034;Lo;0;L;;;;;N;;;;;
-13124;EGYPTIAN HIEROGLYPH F035;Lo;0;L;;;;;N;;;;;
-13125;EGYPTIAN HIEROGLYPH F036;Lo;0;L;;;;;N;;;;;
-13126;EGYPTIAN HIEROGLYPH F037;Lo;0;L;;;;;N;;;;;
-13127;EGYPTIAN HIEROGLYPH F037A;Lo;0;L;;;;;N;;;;;
-13128;EGYPTIAN HIEROGLYPH F038;Lo;0;L;;;;;N;;;;;
-13129;EGYPTIAN HIEROGLYPH F038A;Lo;0;L;;;;;N;;;;;
-1312A;EGYPTIAN HIEROGLYPH F039;Lo;0;L;;;;;N;;;;;
-1312B;EGYPTIAN HIEROGLYPH F040;Lo;0;L;;;;;N;;;;;
-1312C;EGYPTIAN HIEROGLYPH F041;Lo;0;L;;;;;N;;;;;
-1312D;EGYPTIAN HIEROGLYPH F042;Lo;0;L;;;;;N;;;;;
-1312E;EGYPTIAN HIEROGLYPH F043;Lo;0;L;;;;;N;;;;;
-1312F;EGYPTIAN HIEROGLYPH F044;Lo;0;L;;;;;N;;;;;
-13130;EGYPTIAN HIEROGLYPH F045;Lo;0;L;;;;;N;;;;;
-13131;EGYPTIAN HIEROGLYPH F045A;Lo;0;L;;;;;N;;;;;
-13132;EGYPTIAN HIEROGLYPH F046;Lo;0;L;;;;;N;;;;;
-13133;EGYPTIAN HIEROGLYPH F046A;Lo;0;L;;;;;N;;;;;
-13134;EGYPTIAN HIEROGLYPH F047;Lo;0;L;;;;;N;;;;;
-13135;EGYPTIAN HIEROGLYPH F047A;Lo;0;L;;;;;N;;;;;
-13136;EGYPTIAN HIEROGLYPH F048;Lo;0;L;;;;;N;;;;;
-13137;EGYPTIAN HIEROGLYPH F049;Lo;0;L;;;;;N;;;;;
-13138;EGYPTIAN HIEROGLYPH F050;Lo;0;L;;;;;N;;;;;
-13139;EGYPTIAN HIEROGLYPH F051;Lo;0;L;;;;;N;;;;;
-1313A;EGYPTIAN HIEROGLYPH F051A;Lo;0;L;;;;;N;;;;;
-1313B;EGYPTIAN HIEROGLYPH F051B;Lo;0;L;;;;;N;;;;;
-1313C;EGYPTIAN HIEROGLYPH F051C;Lo;0;L;;;;;N;;;;;
-1313D;EGYPTIAN HIEROGLYPH F052;Lo;0;L;;;;;N;;;;;
-1313E;EGYPTIAN HIEROGLYPH F053;Lo;0;L;;;;;N;;;;;
-1313F;EGYPTIAN HIEROGLYPH G001;Lo;0;L;;;;;N;;;;;
-13140;EGYPTIAN HIEROGLYPH G002;Lo;0;L;;;;;N;;;;;
-13141;EGYPTIAN HIEROGLYPH G003;Lo;0;L;;;;;N;;;;;
-13142;EGYPTIAN HIEROGLYPH G004;Lo;0;L;;;;;N;;;;;
-13143;EGYPTIAN HIEROGLYPH G005;Lo;0;L;;;;;N;;;;;
-13144;EGYPTIAN HIEROGLYPH G006;Lo;0;L;;;;;N;;;;;
-13145;EGYPTIAN HIEROGLYPH G006A;Lo;0;L;;;;;N;;;;;
-13146;EGYPTIAN HIEROGLYPH G007;Lo;0;L;;;;;N;;;;;
-13147;EGYPTIAN HIEROGLYPH G007A;Lo;0;L;;;;;N;;;;;
-13148;EGYPTIAN HIEROGLYPH G007B;Lo;0;L;;;;;N;;;;;
-13149;EGYPTIAN HIEROGLYPH G008;Lo;0;L;;;;;N;;;;;
-1314A;EGYPTIAN HIEROGLYPH G009;Lo;0;L;;;;;N;;;;;
-1314B;EGYPTIAN HIEROGLYPH G010;Lo;0;L;;;;;N;;;;;
-1314C;EGYPTIAN HIEROGLYPH G011;Lo;0;L;;;;;N;;;;;
-1314D;EGYPTIAN HIEROGLYPH G011A;Lo;0;L;;;;;N;;;;;
-1314E;EGYPTIAN HIEROGLYPH G012;Lo;0;L;;;;;N;;;;;
-1314F;EGYPTIAN HIEROGLYPH G013;Lo;0;L;;;;;N;;;;;
-13150;EGYPTIAN HIEROGLYPH G014;Lo;0;L;;;;;N;;;;;
-13151;EGYPTIAN HIEROGLYPH G015;Lo;0;L;;;;;N;;;;;
-13152;EGYPTIAN HIEROGLYPH G016;Lo;0;L;;;;;N;;;;;
-13153;EGYPTIAN HIEROGLYPH G017;Lo;0;L;;;;;N;;;;;
-13154;EGYPTIAN HIEROGLYPH G018;Lo;0;L;;;;;N;;;;;
-13155;EGYPTIAN HIEROGLYPH G019;Lo;0;L;;;;;N;;;;;
-13156;EGYPTIAN HIEROGLYPH G020;Lo;0;L;;;;;N;;;;;
-13157;EGYPTIAN HIEROGLYPH G020A;Lo;0;L;;;;;N;;;;;
-13158;EGYPTIAN HIEROGLYPH G021;Lo;0;L;;;;;N;;;;;
-13159;EGYPTIAN HIEROGLYPH G022;Lo;0;L;;;;;N;;;;;
-1315A;EGYPTIAN HIEROGLYPH G023;Lo;0;L;;;;;N;;;;;
-1315B;EGYPTIAN HIEROGLYPH G024;Lo;0;L;;;;;N;;;;;
-1315C;EGYPTIAN HIEROGLYPH G025;Lo;0;L;;;;;N;;;;;
-1315D;EGYPTIAN HIEROGLYPH G026;Lo;0;L;;;;;N;;;;;
-1315E;EGYPTIAN HIEROGLYPH G026A;Lo;0;L;;;;;N;;;;;
-1315F;EGYPTIAN HIEROGLYPH G027;Lo;0;L;;;;;N;;;;;
-13160;EGYPTIAN HIEROGLYPH G028;Lo;0;L;;;;;N;;;;;
-13161;EGYPTIAN HIEROGLYPH G029;Lo;0;L;;;;;N;;;;;
-13162;EGYPTIAN HIEROGLYPH G030;Lo;0;L;;;;;N;;;;;
-13163;EGYPTIAN HIEROGLYPH G031;Lo;0;L;;;;;N;;;;;
-13164;EGYPTIAN HIEROGLYPH G032;Lo;0;L;;;;;N;;;;;
-13165;EGYPTIAN HIEROGLYPH G033;Lo;0;L;;;;;N;;;;;
-13166;EGYPTIAN HIEROGLYPH G034;Lo;0;L;;;;;N;;;;;
-13167;EGYPTIAN HIEROGLYPH G035;Lo;0;L;;;;;N;;;;;
-13168;EGYPTIAN HIEROGLYPH G036;Lo;0;L;;;;;N;;;;;
-13169;EGYPTIAN HIEROGLYPH G036A;Lo;0;L;;;;;N;;;;;
-1316A;EGYPTIAN HIEROGLYPH G037;Lo;0;L;;;;;N;;;;;
-1316B;EGYPTIAN HIEROGLYPH G037A;Lo;0;L;;;;;N;;;;;
-1316C;EGYPTIAN HIEROGLYPH G038;Lo;0;L;;;;;N;;;;;
-1316D;EGYPTIAN HIEROGLYPH G039;Lo;0;L;;;;;N;;;;;
-1316E;EGYPTIAN HIEROGLYPH G040;Lo;0;L;;;;;N;;;;;
-1316F;EGYPTIAN HIEROGLYPH G041;Lo;0;L;;;;;N;;;;;
-13170;EGYPTIAN HIEROGLYPH G042;Lo;0;L;;;;;N;;;;;
-13171;EGYPTIAN HIEROGLYPH G043;Lo;0;L;;;;;N;;;;;
-13172;EGYPTIAN HIEROGLYPH G043A;Lo;0;L;;;;;N;;;;;
-13173;EGYPTIAN HIEROGLYPH G044;Lo;0;L;;;;;N;;;;;
-13174;EGYPTIAN HIEROGLYPH G045;Lo;0;L;;;;;N;;;;;
-13175;EGYPTIAN HIEROGLYPH G045A;Lo;0;L;;;;;N;;;;;
-13176;EGYPTIAN HIEROGLYPH G046;Lo;0;L;;;;;N;;;;;
-13177;EGYPTIAN HIEROGLYPH G047;Lo;0;L;;;;;N;;;;;
-13178;EGYPTIAN HIEROGLYPH G048;Lo;0;L;;;;;N;;;;;
-13179;EGYPTIAN HIEROGLYPH G049;Lo;0;L;;;;;N;;;;;
-1317A;EGYPTIAN HIEROGLYPH G050;Lo;0;L;;;;;N;;;;;
-1317B;EGYPTIAN HIEROGLYPH G051;Lo;0;L;;;;;N;;;;;
-1317C;EGYPTIAN HIEROGLYPH G052;Lo;0;L;;;;;N;;;;;
-1317D;EGYPTIAN HIEROGLYPH G053;Lo;0;L;;;;;N;;;;;
-1317E;EGYPTIAN HIEROGLYPH G054;Lo;0;L;;;;;N;;;;;
-1317F;EGYPTIAN HIEROGLYPH H001;Lo;0;L;;;;;N;;;;;
-13180;EGYPTIAN HIEROGLYPH H002;Lo;0;L;;;;;N;;;;;
-13181;EGYPTIAN HIEROGLYPH H003;Lo;0;L;;;;;N;;;;;
-13182;EGYPTIAN HIEROGLYPH H004;Lo;0;L;;;;;N;;;;;
-13183;EGYPTIAN HIEROGLYPH H005;Lo;0;L;;;;;N;;;;;
-13184;EGYPTIAN HIEROGLYPH H006;Lo;0;L;;;;;N;;;;;
-13185;EGYPTIAN HIEROGLYPH H006A;Lo;0;L;;;;;N;;;;;
-13186;EGYPTIAN HIEROGLYPH H007;Lo;0;L;;;;;N;;;;;
-13187;EGYPTIAN HIEROGLYPH H008;Lo;0;L;;;;;N;;;;;
-13188;EGYPTIAN HIEROGLYPH I001;Lo;0;L;;;;;N;;;;;
-13189;EGYPTIAN HIEROGLYPH I002;Lo;0;L;;;;;N;;;;;
-1318A;EGYPTIAN HIEROGLYPH I003;Lo;0;L;;;;;N;;;;;
-1318B;EGYPTIAN HIEROGLYPH I004;Lo;0;L;;;;;N;;;;;
-1318C;EGYPTIAN HIEROGLYPH I005;Lo;0;L;;;;;N;;;;;
-1318D;EGYPTIAN HIEROGLYPH I005A;Lo;0;L;;;;;N;;;;;
-1318E;EGYPTIAN HIEROGLYPH I006;Lo;0;L;;;;;N;;;;;
-1318F;EGYPTIAN HIEROGLYPH I007;Lo;0;L;;;;;N;;;;;
-13190;EGYPTIAN HIEROGLYPH I008;Lo;0;L;;;;;N;;;;;
-13191;EGYPTIAN HIEROGLYPH I009;Lo;0;L;;;;;N;;;;;
-13192;EGYPTIAN HIEROGLYPH I009A;Lo;0;L;;;;;N;;;;;
-13193;EGYPTIAN HIEROGLYPH I010;Lo;0;L;;;;;N;;;;;
-13194;EGYPTIAN HIEROGLYPH I010A;Lo;0;L;;;;;N;;;;;
-13195;EGYPTIAN HIEROGLYPH I011;Lo;0;L;;;;;N;;;;;
-13196;EGYPTIAN HIEROGLYPH I011A;Lo;0;L;;;;;N;;;;;
-13197;EGYPTIAN HIEROGLYPH I012;Lo;0;L;;;;;N;;;;;
-13198;EGYPTIAN HIEROGLYPH I013;Lo;0;L;;;;;N;;;;;
-13199;EGYPTIAN HIEROGLYPH I014;Lo;0;L;;;;;N;;;;;
-1319A;EGYPTIAN HIEROGLYPH I015;Lo;0;L;;;;;N;;;;;
-1319B;EGYPTIAN HIEROGLYPH K001;Lo;0;L;;;;;N;;;;;
-1319C;EGYPTIAN HIEROGLYPH K002;Lo;0;L;;;;;N;;;;;
-1319D;EGYPTIAN HIEROGLYPH K003;Lo;0;L;;;;;N;;;;;
-1319E;EGYPTIAN HIEROGLYPH K004;Lo;0;L;;;;;N;;;;;
-1319F;EGYPTIAN HIEROGLYPH K005;Lo;0;L;;;;;N;;;;;
-131A0;EGYPTIAN HIEROGLYPH K006;Lo;0;L;;;;;N;;;;;
-131A1;EGYPTIAN HIEROGLYPH K007;Lo;0;L;;;;;N;;;;;
-131A2;EGYPTIAN HIEROGLYPH K008;Lo;0;L;;;;;N;;;;;
-131A3;EGYPTIAN HIEROGLYPH L001;Lo;0;L;;;;;N;;;;;
-131A4;EGYPTIAN HIEROGLYPH L002;Lo;0;L;;;;;N;;;;;
-131A5;EGYPTIAN HIEROGLYPH L002A;Lo;0;L;;;;;N;;;;;
-131A6;EGYPTIAN HIEROGLYPH L003;Lo;0;L;;;;;N;;;;;
-131A7;EGYPTIAN HIEROGLYPH L004;Lo;0;L;;;;;N;;;;;
-131A8;EGYPTIAN HIEROGLYPH L005;Lo;0;L;;;;;N;;;;;
-131A9;EGYPTIAN HIEROGLYPH L006;Lo;0;L;;;;;N;;;;;
-131AA;EGYPTIAN HIEROGLYPH L006A;Lo;0;L;;;;;N;;;;;
-131AB;EGYPTIAN HIEROGLYPH L007;Lo;0;L;;;;;N;;;;;
-131AC;EGYPTIAN HIEROGLYPH L008;Lo;0;L;;;;;N;;;;;
-131AD;EGYPTIAN HIEROGLYPH M001;Lo;0;L;;;;;N;;;;;
-131AE;EGYPTIAN HIEROGLYPH M001A;Lo;0;L;;;;;N;;;;;
-131AF;EGYPTIAN HIEROGLYPH M001B;Lo;0;L;;;;;N;;;;;
-131B0;EGYPTIAN HIEROGLYPH M002;Lo;0;L;;;;;N;;;;;
-131B1;EGYPTIAN HIEROGLYPH M003;Lo;0;L;;;;;N;;;;;
-131B2;EGYPTIAN HIEROGLYPH M003A;Lo;0;L;;;;;N;;;;;
-131B3;EGYPTIAN HIEROGLYPH M004;Lo;0;L;;;;;N;;;;;
-131B4;EGYPTIAN HIEROGLYPH M005;Lo;0;L;;;;;N;;;;;
-131B5;EGYPTIAN HIEROGLYPH M006;Lo;0;L;;;;;N;;;;;
-131B6;EGYPTIAN HIEROGLYPH M007;Lo;0;L;;;;;N;;;;;
-131B7;EGYPTIAN HIEROGLYPH M008;Lo;0;L;;;;;N;;;;;
-131B8;EGYPTIAN HIEROGLYPH M009;Lo;0;L;;;;;N;;;;;
-131B9;EGYPTIAN HIEROGLYPH M010;Lo;0;L;;;;;N;;;;;
-131BA;EGYPTIAN HIEROGLYPH M010A;Lo;0;L;;;;;N;;;;;
-131BB;EGYPTIAN HIEROGLYPH M011;Lo;0;L;;;;;N;;;;;
-131BC;EGYPTIAN HIEROGLYPH M012;Lo;0;L;;;;;N;;;;;
-131BD;EGYPTIAN HIEROGLYPH M012A;Lo;0;L;;;;;N;;;;;
-131BE;EGYPTIAN HIEROGLYPH M012B;Lo;0;L;;;;;N;;;;;
-131BF;EGYPTIAN HIEROGLYPH M012C;Lo;0;L;;;;;N;;;;;
-131C0;EGYPTIAN HIEROGLYPH M012D;Lo;0;L;;;;;N;;;;;
-131C1;EGYPTIAN HIEROGLYPH M012E;Lo;0;L;;;;;N;;;;;
-131C2;EGYPTIAN HIEROGLYPH M012F;Lo;0;L;;;;;N;;;;;
-131C3;EGYPTIAN HIEROGLYPH M012G;Lo;0;L;;;;;N;;;;;
-131C4;EGYPTIAN HIEROGLYPH M012H;Lo;0;L;;;;;N;;;;;
-131C5;EGYPTIAN HIEROGLYPH M013;Lo;0;L;;;;;N;;;;;
-131C6;EGYPTIAN HIEROGLYPH M014;Lo;0;L;;;;;N;;;;;
-131C7;EGYPTIAN HIEROGLYPH M015;Lo;0;L;;;;;N;;;;;
-131C8;EGYPTIAN HIEROGLYPH M015A;Lo;0;L;;;;;N;;;;;
-131C9;EGYPTIAN HIEROGLYPH M016;Lo;0;L;;;;;N;;;;;
-131CA;EGYPTIAN HIEROGLYPH M016A;Lo;0;L;;;;;N;;;;;
-131CB;EGYPTIAN HIEROGLYPH M017;Lo;0;L;;;;;N;;;;;
-131CC;EGYPTIAN HIEROGLYPH M017A;Lo;0;L;;;;;N;;;;;
-131CD;EGYPTIAN HIEROGLYPH M018;Lo;0;L;;;;;N;;;;;
-131CE;EGYPTIAN HIEROGLYPH M019;Lo;0;L;;;;;N;;;;;
-131CF;EGYPTIAN HIEROGLYPH M020;Lo;0;L;;;;;N;;;;;
-131D0;EGYPTIAN HIEROGLYPH M021;Lo;0;L;;;;;N;;;;;
-131D1;EGYPTIAN HIEROGLYPH M022;Lo;0;L;;;;;N;;;;;
-131D2;EGYPTIAN HIEROGLYPH M022A;Lo;0;L;;;;;N;;;;;
-131D3;EGYPTIAN HIEROGLYPH M023;Lo;0;L;;;;;N;;;;;
-131D4;EGYPTIAN HIEROGLYPH M024;Lo;0;L;;;;;N;;;;;
-131D5;EGYPTIAN HIEROGLYPH M024A;Lo;0;L;;;;;N;;;;;
-131D6;EGYPTIAN HIEROGLYPH M025;Lo;0;L;;;;;N;;;;;
-131D7;EGYPTIAN HIEROGLYPH M026;Lo;0;L;;;;;N;;;;;
-131D8;EGYPTIAN HIEROGLYPH M027;Lo;0;L;;;;;N;;;;;
-131D9;EGYPTIAN HIEROGLYPH M028;Lo;0;L;;;;;N;;;;;
-131DA;EGYPTIAN HIEROGLYPH M028A;Lo;0;L;;;;;N;;;;;
-131DB;EGYPTIAN HIEROGLYPH M029;Lo;0;L;;;;;N;;;;;
-131DC;EGYPTIAN HIEROGLYPH M030;Lo;0;L;;;;;N;;;;;
-131DD;EGYPTIAN HIEROGLYPH M031;Lo;0;L;;;;;N;;;;;
-131DE;EGYPTIAN HIEROGLYPH M031A;Lo;0;L;;;;;N;;;;;
-131DF;EGYPTIAN HIEROGLYPH M032;Lo;0;L;;;;;N;;;;;
-131E0;EGYPTIAN HIEROGLYPH M033;Lo;0;L;;;;;N;;;;;
-131E1;EGYPTIAN HIEROGLYPH M033A;Lo;0;L;;;;;N;;;;;
-131E2;EGYPTIAN HIEROGLYPH M033B;Lo;0;L;;;;;N;;;;;
-131E3;EGYPTIAN HIEROGLYPH M034;Lo;0;L;;;;;N;;;;;
-131E4;EGYPTIAN HIEROGLYPH M035;Lo;0;L;;;;;N;;;;;
-131E5;EGYPTIAN HIEROGLYPH M036;Lo;0;L;;;;;N;;;;;
-131E6;EGYPTIAN HIEROGLYPH M037;Lo;0;L;;;;;N;;;;;
-131E7;EGYPTIAN HIEROGLYPH M038;Lo;0;L;;;;;N;;;;;
-131E8;EGYPTIAN HIEROGLYPH M039;Lo;0;L;;;;;N;;;;;
-131E9;EGYPTIAN HIEROGLYPH M040;Lo;0;L;;;;;N;;;;;
-131EA;EGYPTIAN HIEROGLYPH M040A;Lo;0;L;;;;;N;;;;;
-131EB;EGYPTIAN HIEROGLYPH M041;Lo;0;L;;;;;N;;;;;
-131EC;EGYPTIAN HIEROGLYPH M042;Lo;0;L;;;;;N;;;;;
-131ED;EGYPTIAN HIEROGLYPH M043;Lo;0;L;;;;;N;;;;;
-131EE;EGYPTIAN HIEROGLYPH M044;Lo;0;L;;;;;N;;;;;
-131EF;EGYPTIAN HIEROGLYPH N001;Lo;0;L;;;;;N;;;;;
-131F0;EGYPTIAN HIEROGLYPH N002;Lo;0;L;;;;;N;;;;;
-131F1;EGYPTIAN HIEROGLYPH N003;Lo;0;L;;;;;N;;;;;
-131F2;EGYPTIAN HIEROGLYPH N004;Lo;0;L;;;;;N;;;;;
-131F3;EGYPTIAN HIEROGLYPH N005;Lo;0;L;;;;;N;;;;;
-131F4;EGYPTIAN HIEROGLYPH N006;Lo;0;L;;;;;N;;;;;
-131F5;EGYPTIAN HIEROGLYPH N007;Lo;0;L;;;;;N;;;;;
-131F6;EGYPTIAN HIEROGLYPH N008;Lo;0;L;;;;;N;;;;;
-131F7;EGYPTIAN HIEROGLYPH N009;Lo;0;L;;;;;N;;;;;
-131F8;EGYPTIAN HIEROGLYPH N010;Lo;0;L;;;;;N;;;;;
-131F9;EGYPTIAN HIEROGLYPH N011;Lo;0;L;;;;;N;;;;;
-131FA;EGYPTIAN HIEROGLYPH N012;Lo;0;L;;;;;N;;;;;
-131FB;EGYPTIAN HIEROGLYPH N013;Lo;0;L;;;;;N;;;;;
-131FC;EGYPTIAN HIEROGLYPH N014;Lo;0;L;;;;;N;;;;;
-131FD;EGYPTIAN HIEROGLYPH N015;Lo;0;L;;;;;N;;;;;
-131FE;EGYPTIAN HIEROGLYPH N016;Lo;0;L;;;;;N;;;;;
-131FF;EGYPTIAN HIEROGLYPH N017;Lo;0;L;;;;;N;;;;;
-13200;EGYPTIAN HIEROGLYPH N018;Lo;0;L;;;;;N;;;;;
-13201;EGYPTIAN HIEROGLYPH N018A;Lo;0;L;;;;;N;;;;;
-13202;EGYPTIAN HIEROGLYPH N018B;Lo;0;L;;;;;N;;;;;
-13203;EGYPTIAN HIEROGLYPH N019;Lo;0;L;;;;;N;;;;;
-13204;EGYPTIAN HIEROGLYPH N020;Lo;0;L;;;;;N;;;;;
-13205;EGYPTIAN HIEROGLYPH N021;Lo;0;L;;;;;N;;;;;
-13206;EGYPTIAN HIEROGLYPH N022;Lo;0;L;;;;;N;;;;;
-13207;EGYPTIAN HIEROGLYPH N023;Lo;0;L;;;;;N;;;;;
-13208;EGYPTIAN HIEROGLYPH N024;Lo;0;L;;;;;N;;;;;
-13209;EGYPTIAN HIEROGLYPH N025;Lo;0;L;;;;;N;;;;;
-1320A;EGYPTIAN HIEROGLYPH N025A;Lo;0;L;;;;;N;;;;;
-1320B;EGYPTIAN HIEROGLYPH N026;Lo;0;L;;;;;N;;;;;
-1320C;EGYPTIAN HIEROGLYPH N027;Lo;0;L;;;;;N;;;;;
-1320D;EGYPTIAN HIEROGLYPH N028;Lo;0;L;;;;;N;;;;;
-1320E;EGYPTIAN HIEROGLYPH N029;Lo;0;L;;;;;N;;;;;
-1320F;EGYPTIAN HIEROGLYPH N030;Lo;0;L;;;;;N;;;;;
-13210;EGYPTIAN HIEROGLYPH N031;Lo;0;L;;;;;N;;;;;
-13211;EGYPTIAN HIEROGLYPH N032;Lo;0;L;;;;;N;;;;;
-13212;EGYPTIAN HIEROGLYPH N033;Lo;0;L;;;;;N;;;;;
-13213;EGYPTIAN HIEROGLYPH N033A;Lo;0;L;;;;;N;;;;;
-13214;EGYPTIAN HIEROGLYPH N034;Lo;0;L;;;;;N;;;;;
-13215;EGYPTIAN HIEROGLYPH N034A;Lo;0;L;;;;;N;;;;;
-13216;EGYPTIAN HIEROGLYPH N035;Lo;0;L;;;;;N;;;;;
-13217;EGYPTIAN HIEROGLYPH N035A;Lo;0;L;;;;;N;;;;;
-13218;EGYPTIAN HIEROGLYPH N036;Lo;0;L;;;;;N;;;;;
-13219;EGYPTIAN HIEROGLYPH N037;Lo;0;L;;;;;N;;;;;
-1321A;EGYPTIAN HIEROGLYPH N037A;Lo;0;L;;;;;N;;;;;
-1321B;EGYPTIAN HIEROGLYPH N038;Lo;0;L;;;;;N;;;;;
-1321C;EGYPTIAN HIEROGLYPH N039;Lo;0;L;;;;;N;;;;;
-1321D;EGYPTIAN HIEROGLYPH N040;Lo;0;L;;;;;N;;;;;
-1321E;EGYPTIAN HIEROGLYPH N041;Lo;0;L;;;;;N;;;;;
-1321F;EGYPTIAN HIEROGLYPH N042;Lo;0;L;;;;;N;;;;;
-13220;EGYPTIAN HIEROGLYPH NL001;Lo;0;L;;;;;N;;;;;
-13221;EGYPTIAN HIEROGLYPH NL002;Lo;0;L;;;;;N;;;;;
-13222;EGYPTIAN HIEROGLYPH NL003;Lo;0;L;;;;;N;;;;;
-13223;EGYPTIAN HIEROGLYPH NL004;Lo;0;L;;;;;N;;;;;
-13224;EGYPTIAN HIEROGLYPH NL005;Lo;0;L;;;;;N;;;;;
-13225;EGYPTIAN HIEROGLYPH NL005A;Lo;0;L;;;;;N;;;;;
-13226;EGYPTIAN HIEROGLYPH NL006;Lo;0;L;;;;;N;;;;;
-13227;EGYPTIAN HIEROGLYPH NL007;Lo;0;L;;;;;N;;;;;
-13228;EGYPTIAN HIEROGLYPH NL008;Lo;0;L;;;;;N;;;;;
-13229;EGYPTIAN HIEROGLYPH NL009;Lo;0;L;;;;;N;;;;;
-1322A;EGYPTIAN HIEROGLYPH NL010;Lo;0;L;;;;;N;;;;;
-1322B;EGYPTIAN HIEROGLYPH NL011;Lo;0;L;;;;;N;;;;;
-1322C;EGYPTIAN HIEROGLYPH NL012;Lo;0;L;;;;;N;;;;;
-1322D;EGYPTIAN HIEROGLYPH NL013;Lo;0;L;;;;;N;;;;;
-1322E;EGYPTIAN HIEROGLYPH NL014;Lo;0;L;;;;;N;;;;;
-1322F;EGYPTIAN HIEROGLYPH NL015;Lo;0;L;;;;;N;;;;;
-13230;EGYPTIAN HIEROGLYPH NL016;Lo;0;L;;;;;N;;;;;
-13231;EGYPTIAN HIEROGLYPH NL017;Lo;0;L;;;;;N;;;;;
-13232;EGYPTIAN HIEROGLYPH NL017A;Lo;0;L;;;;;N;;;;;
-13233;EGYPTIAN HIEROGLYPH NL018;Lo;0;L;;;;;N;;;;;
-13234;EGYPTIAN HIEROGLYPH NL019;Lo;0;L;;;;;N;;;;;
-13235;EGYPTIAN HIEROGLYPH NL020;Lo;0;L;;;;;N;;;;;
-13236;EGYPTIAN HIEROGLYPH NU001;Lo;0;L;;;;;N;;;;;
-13237;EGYPTIAN HIEROGLYPH NU002;Lo;0;L;;;;;N;;;;;
-13238;EGYPTIAN HIEROGLYPH NU003;Lo;0;L;;;;;N;;;;;
-13239;EGYPTIAN HIEROGLYPH NU004;Lo;0;L;;;;;N;;;;;
-1323A;EGYPTIAN HIEROGLYPH NU005;Lo;0;L;;;;;N;;;;;
-1323B;EGYPTIAN HIEROGLYPH NU006;Lo;0;L;;;;;N;;;;;
-1323C;EGYPTIAN HIEROGLYPH NU007;Lo;0;L;;;;;N;;;;;
-1323D;EGYPTIAN HIEROGLYPH NU008;Lo;0;L;;;;;N;;;;;
-1323E;EGYPTIAN HIEROGLYPH NU009;Lo;0;L;;;;;N;;;;;
-1323F;EGYPTIAN HIEROGLYPH NU010;Lo;0;L;;;;;N;;;;;
-13240;EGYPTIAN HIEROGLYPH NU010A;Lo;0;L;;;;;N;;;;;
-13241;EGYPTIAN HIEROGLYPH NU011;Lo;0;L;;;;;N;;;;;
-13242;EGYPTIAN HIEROGLYPH NU011A;Lo;0;L;;;;;N;;;;;
-13243;EGYPTIAN HIEROGLYPH NU012;Lo;0;L;;;;;N;;;;;
-13244;EGYPTIAN HIEROGLYPH NU013;Lo;0;L;;;;;N;;;;;
-13245;EGYPTIAN HIEROGLYPH NU014;Lo;0;L;;;;;N;;;;;
-13246;EGYPTIAN HIEROGLYPH NU015;Lo;0;L;;;;;N;;;;;
-13247;EGYPTIAN HIEROGLYPH NU016;Lo;0;L;;;;;N;;;;;
-13248;EGYPTIAN HIEROGLYPH NU017;Lo;0;L;;;;;N;;;;;
-13249;EGYPTIAN HIEROGLYPH NU018;Lo;0;L;;;;;N;;;;;
-1324A;EGYPTIAN HIEROGLYPH NU018A;Lo;0;L;;;;;N;;;;;
-1324B;EGYPTIAN HIEROGLYPH NU019;Lo;0;L;;;;;N;;;;;
-1324C;EGYPTIAN HIEROGLYPH NU020;Lo;0;L;;;;;N;;;;;
-1324D;EGYPTIAN HIEROGLYPH NU021;Lo;0;L;;;;;N;;;;;
-1324E;EGYPTIAN HIEROGLYPH NU022;Lo;0;L;;;;;N;;;;;
-1324F;EGYPTIAN HIEROGLYPH NU022A;Lo;0;L;;;;;N;;;;;
-13250;EGYPTIAN HIEROGLYPH O001;Lo;0;L;;;;;N;;;;;
-13251;EGYPTIAN HIEROGLYPH O001A;Lo;0;L;;;;;N;;;;;
-13252;EGYPTIAN HIEROGLYPH O002;Lo;0;L;;;;;N;;;;;
-13253;EGYPTIAN HIEROGLYPH O003;Lo;0;L;;;;;N;;;;;
-13254;EGYPTIAN HIEROGLYPH O004;Lo;0;L;;;;;N;;;;;
-13255;EGYPTIAN HIEROGLYPH O005;Lo;0;L;;;;;N;;;;;
-13256;EGYPTIAN HIEROGLYPH O005A;Lo;0;L;;;;;N;;;;;
-13257;EGYPTIAN HIEROGLYPH O006;Lo;0;L;;;;;N;;;;;
-13258;EGYPTIAN HIEROGLYPH O006A;Lo;0;L;;;;;N;;;;;
-13259;EGYPTIAN HIEROGLYPH O006B;Lo;0;L;;;;;N;;;;;
-1325A;EGYPTIAN HIEROGLYPH O006C;Lo;0;L;;;;;N;;;;;
-1325B;EGYPTIAN HIEROGLYPH O006D;Lo;0;L;;;;;N;;;;;
-1325C;EGYPTIAN HIEROGLYPH O006E;Lo;0;L;;;;;N;;;;;
-1325D;EGYPTIAN HIEROGLYPH O006F;Lo;0;L;;;;;N;;;;;
-1325E;EGYPTIAN HIEROGLYPH O007;Lo;0;L;;;;;N;;;;;
-1325F;EGYPTIAN HIEROGLYPH O008;Lo;0;L;;;;;N;;;;;
-13260;EGYPTIAN HIEROGLYPH O009;Lo;0;L;;;;;N;;;;;
-13261;EGYPTIAN HIEROGLYPH O010;Lo;0;L;;;;;N;;;;;
-13262;EGYPTIAN HIEROGLYPH O010A;Lo;0;L;;;;;N;;;;;
-13263;EGYPTIAN HIEROGLYPH O010B;Lo;0;L;;;;;N;;;;;
-13264;EGYPTIAN HIEROGLYPH O010C;Lo;0;L;;;;;N;;;;;
-13265;EGYPTIAN HIEROGLYPH O011;Lo;0;L;;;;;N;;;;;
-13266;EGYPTIAN HIEROGLYPH O012;Lo;0;L;;;;;N;;;;;
-13267;EGYPTIAN HIEROGLYPH O013;Lo;0;L;;;;;N;;;;;
-13268;EGYPTIAN HIEROGLYPH O014;Lo;0;L;;;;;N;;;;;
-13269;EGYPTIAN HIEROGLYPH O015;Lo;0;L;;;;;N;;;;;
-1326A;EGYPTIAN HIEROGLYPH O016;Lo;0;L;;;;;N;;;;;
-1326B;EGYPTIAN HIEROGLYPH O017;Lo;0;L;;;;;N;;;;;
-1326C;EGYPTIAN HIEROGLYPH O018;Lo;0;L;;;;;N;;;;;
-1326D;EGYPTIAN HIEROGLYPH O019;Lo;0;L;;;;;N;;;;;
-1326E;EGYPTIAN HIEROGLYPH O019A;Lo;0;L;;;;;N;;;;;
-1326F;EGYPTIAN HIEROGLYPH O020;Lo;0;L;;;;;N;;;;;
-13270;EGYPTIAN HIEROGLYPH O020A;Lo;0;L;;;;;N;;;;;
-13271;EGYPTIAN HIEROGLYPH O021;Lo;0;L;;;;;N;;;;;
-13272;EGYPTIAN HIEROGLYPH O022;Lo;0;L;;;;;N;;;;;
-13273;EGYPTIAN HIEROGLYPH O023;Lo;0;L;;;;;N;;;;;
-13274;EGYPTIAN HIEROGLYPH O024;Lo;0;L;;;;;N;;;;;
-13275;EGYPTIAN HIEROGLYPH O024A;Lo;0;L;;;;;N;;;;;
-13276;EGYPTIAN HIEROGLYPH O025;Lo;0;L;;;;;N;;;;;
-13277;EGYPTIAN HIEROGLYPH O025A;Lo;0;L;;;;;N;;;;;
-13278;EGYPTIAN HIEROGLYPH O026;Lo;0;L;;;;;N;;;;;
-13279;EGYPTIAN HIEROGLYPH O027;Lo;0;L;;;;;N;;;;;
-1327A;EGYPTIAN HIEROGLYPH O028;Lo;0;L;;;;;N;;;;;
-1327B;EGYPTIAN HIEROGLYPH O029;Lo;0;L;;;;;N;;;;;
-1327C;EGYPTIAN HIEROGLYPH O029A;Lo;0;L;;;;;N;;;;;
-1327D;EGYPTIAN HIEROGLYPH O030;Lo;0;L;;;;;N;;;;;
-1327E;EGYPTIAN HIEROGLYPH O030A;Lo;0;L;;;;;N;;;;;
-1327F;EGYPTIAN HIEROGLYPH O031;Lo;0;L;;;;;N;;;;;
-13280;EGYPTIAN HIEROGLYPH O032;Lo;0;L;;;;;N;;;;;
-13281;EGYPTIAN HIEROGLYPH O033;Lo;0;L;;;;;N;;;;;
-13282;EGYPTIAN HIEROGLYPH O033A;Lo;0;L;;;;;N;;;;;
-13283;EGYPTIAN HIEROGLYPH O034;Lo;0;L;;;;;N;;;;;
-13284;EGYPTIAN HIEROGLYPH O035;Lo;0;L;;;;;N;;;;;
-13285;EGYPTIAN HIEROGLYPH O036;Lo;0;L;;;;;N;;;;;
-13286;EGYPTIAN HIEROGLYPH O036A;Lo;0;L;;;;;N;;;;;
-13287;EGYPTIAN HIEROGLYPH O036B;Lo;0;L;;;;;N;;;;;
-13288;EGYPTIAN HIEROGLYPH O036C;Lo;0;L;;;;;N;;;;;
-13289;EGYPTIAN HIEROGLYPH O036D;Lo;0;L;;;;;N;;;;;
-1328A;EGYPTIAN HIEROGLYPH O037;Lo;0;L;;;;;N;;;;;
-1328B;EGYPTIAN HIEROGLYPH O038;Lo;0;L;;;;;N;;;;;
-1328C;EGYPTIAN HIEROGLYPH O039;Lo;0;L;;;;;N;;;;;
-1328D;EGYPTIAN HIEROGLYPH O040;Lo;0;L;;;;;N;;;;;
-1328E;EGYPTIAN HIEROGLYPH O041;Lo;0;L;;;;;N;;;;;
-1328F;EGYPTIAN HIEROGLYPH O042;Lo;0;L;;;;;N;;;;;
-13290;EGYPTIAN HIEROGLYPH O043;Lo;0;L;;;;;N;;;;;
-13291;EGYPTIAN HIEROGLYPH O044;Lo;0;L;;;;;N;;;;;
-13292;EGYPTIAN HIEROGLYPH O045;Lo;0;L;;;;;N;;;;;
-13293;EGYPTIAN HIEROGLYPH O046;Lo;0;L;;;;;N;;;;;
-13294;EGYPTIAN HIEROGLYPH O047;Lo;0;L;;;;;N;;;;;
-13295;EGYPTIAN HIEROGLYPH O048;Lo;0;L;;;;;N;;;;;
-13296;EGYPTIAN HIEROGLYPH O049;Lo;0;L;;;;;N;;;;;
-13297;EGYPTIAN HIEROGLYPH O050;Lo;0;L;;;;;N;;;;;
-13298;EGYPTIAN HIEROGLYPH O050A;Lo;0;L;;;;;N;;;;;
-13299;EGYPTIAN HIEROGLYPH O050B;Lo;0;L;;;;;N;;;;;
-1329A;EGYPTIAN HIEROGLYPH O051;Lo;0;L;;;;;N;;;;;
-1329B;EGYPTIAN HIEROGLYPH P001;Lo;0;L;;;;;N;;;;;
-1329C;EGYPTIAN HIEROGLYPH P001A;Lo;0;L;;;;;N;;;;;
-1329D;EGYPTIAN HIEROGLYPH P002;Lo;0;L;;;;;N;;;;;
-1329E;EGYPTIAN HIEROGLYPH P003;Lo;0;L;;;;;N;;;;;
-1329F;EGYPTIAN HIEROGLYPH P003A;Lo;0;L;;;;;N;;;;;
-132A0;EGYPTIAN HIEROGLYPH P004;Lo;0;L;;;;;N;;;;;
-132A1;EGYPTIAN HIEROGLYPH P005;Lo;0;L;;;;;N;;;;;
-132A2;EGYPTIAN HIEROGLYPH P006;Lo;0;L;;;;;N;;;;;
-132A3;EGYPTIAN HIEROGLYPH P007;Lo;0;L;;;;;N;;;;;
-132A4;EGYPTIAN HIEROGLYPH P008;Lo;0;L;;;;;N;;;;;
-132A5;EGYPTIAN HIEROGLYPH P009;Lo;0;L;;;;;N;;;;;
-132A6;EGYPTIAN HIEROGLYPH P010;Lo;0;L;;;;;N;;;;;
-132A7;EGYPTIAN HIEROGLYPH P011;Lo;0;L;;;;;N;;;;;
-132A8;EGYPTIAN HIEROGLYPH Q001;Lo;0;L;;;;;N;;;;;
-132A9;EGYPTIAN HIEROGLYPH Q002;Lo;0;L;;;;;N;;;;;
-132AA;EGYPTIAN HIEROGLYPH Q003;Lo;0;L;;;;;N;;;;;
-132AB;EGYPTIAN HIEROGLYPH Q004;Lo;0;L;;;;;N;;;;;
-132AC;EGYPTIAN HIEROGLYPH Q005;Lo;0;L;;;;;N;;;;;
-132AD;EGYPTIAN HIEROGLYPH Q006;Lo;0;L;;;;;N;;;;;
-132AE;EGYPTIAN HIEROGLYPH Q007;Lo;0;L;;;;;N;;;;;
-132AF;EGYPTIAN HIEROGLYPH R001;Lo;0;L;;;;;N;;;;;
-132B0;EGYPTIAN HIEROGLYPH R002;Lo;0;L;;;;;N;;;;;
-132B1;EGYPTIAN HIEROGLYPH R002A;Lo;0;L;;;;;N;;;;;
-132B2;EGYPTIAN HIEROGLYPH R003;Lo;0;L;;;;;N;;;;;
-132B3;EGYPTIAN HIEROGLYPH R003A;Lo;0;L;;;;;N;;;;;
-132B4;EGYPTIAN HIEROGLYPH R003B;Lo;0;L;;;;;N;;;;;
-132B5;EGYPTIAN HIEROGLYPH R004;Lo;0;L;;;;;N;;;;;
-132B6;EGYPTIAN HIEROGLYPH R005;Lo;0;L;;;;;N;;;;;
-132B7;EGYPTIAN HIEROGLYPH R006;Lo;0;L;;;;;N;;;;;
-132B8;EGYPTIAN HIEROGLYPH R007;Lo;0;L;;;;;N;;;;;
-132B9;EGYPTIAN HIEROGLYPH R008;Lo;0;L;;;;;N;;;;;
-132BA;EGYPTIAN HIEROGLYPH R009;Lo;0;L;;;;;N;;;;;
-132BB;EGYPTIAN HIEROGLYPH R010;Lo;0;L;;;;;N;;;;;
-132BC;EGYPTIAN HIEROGLYPH R010A;Lo;0;L;;;;;N;;;;;
-132BD;EGYPTIAN HIEROGLYPH R011;Lo;0;L;;;;;N;;;;;
-132BE;EGYPTIAN HIEROGLYPH R012;Lo;0;L;;;;;N;;;;;
-132BF;EGYPTIAN HIEROGLYPH R013;Lo;0;L;;;;;N;;;;;
-132C0;EGYPTIAN HIEROGLYPH R014;Lo;0;L;;;;;N;;;;;
-132C1;EGYPTIAN HIEROGLYPH R015;Lo;0;L;;;;;N;;;;;
-132C2;EGYPTIAN HIEROGLYPH R016;Lo;0;L;;;;;N;;;;;
-132C3;EGYPTIAN HIEROGLYPH R016A;Lo;0;L;;;;;N;;;;;
-132C4;EGYPTIAN HIEROGLYPH R017;Lo;0;L;;;;;N;;;;;
-132C5;EGYPTIAN HIEROGLYPH R018;Lo;0;L;;;;;N;;;;;
-132C6;EGYPTIAN HIEROGLYPH R019;Lo;0;L;;;;;N;;;;;
-132C7;EGYPTIAN HIEROGLYPH R020;Lo;0;L;;;;;N;;;;;
-132C8;EGYPTIAN HIEROGLYPH R021;Lo;0;L;;;;;N;;;;;
-132C9;EGYPTIAN HIEROGLYPH R022;Lo;0;L;;;;;N;;;;;
-132CA;EGYPTIAN HIEROGLYPH R023;Lo;0;L;;;;;N;;;;;
-132CB;EGYPTIAN HIEROGLYPH R024;Lo;0;L;;;;;N;;;;;
-132CC;EGYPTIAN HIEROGLYPH R025;Lo;0;L;;;;;N;;;;;
-132CD;EGYPTIAN HIEROGLYPH R026;Lo;0;L;;;;;N;;;;;
-132CE;EGYPTIAN HIEROGLYPH R027;Lo;0;L;;;;;N;;;;;
-132CF;EGYPTIAN HIEROGLYPH R028;Lo;0;L;;;;;N;;;;;
-132D0;EGYPTIAN HIEROGLYPH R029;Lo;0;L;;;;;N;;;;;
-132D1;EGYPTIAN HIEROGLYPH S001;Lo;0;L;;;;;N;;;;;
-132D2;EGYPTIAN HIEROGLYPH S002;Lo;0;L;;;;;N;;;;;
-132D3;EGYPTIAN HIEROGLYPH S002A;Lo;0;L;;;;;N;;;;;
-132D4;EGYPTIAN HIEROGLYPH S003;Lo;0;L;;;;;N;;;;;
-132D5;EGYPTIAN HIEROGLYPH S004;Lo;0;L;;;;;N;;;;;
-132D6;EGYPTIAN HIEROGLYPH S005;Lo;0;L;;;;;N;;;;;
-132D7;EGYPTIAN HIEROGLYPH S006;Lo;0;L;;;;;N;;;;;
-132D8;EGYPTIAN HIEROGLYPH S006A;Lo;0;L;;;;;N;;;;;
-132D9;EGYPTIAN HIEROGLYPH S007;Lo;0;L;;;;;N;;;;;
-132DA;EGYPTIAN HIEROGLYPH S008;Lo;0;L;;;;;N;;;;;
-132DB;EGYPTIAN HIEROGLYPH S009;Lo;0;L;;;;;N;;;;;
-132DC;EGYPTIAN HIEROGLYPH S010;Lo;0;L;;;;;N;;;;;
-132DD;EGYPTIAN HIEROGLYPH S011;Lo;0;L;;;;;N;;;;;
-132DE;EGYPTIAN HIEROGLYPH S012;Lo;0;L;;;;;N;;;;;
-132DF;EGYPTIAN HIEROGLYPH S013;Lo;0;L;;;;;N;;;;;
-132E0;EGYPTIAN HIEROGLYPH S014;Lo;0;L;;;;;N;;;;;
-132E1;EGYPTIAN HIEROGLYPH S014A;Lo;0;L;;;;;N;;;;;
-132E2;EGYPTIAN HIEROGLYPH S014B;Lo;0;L;;;;;N;;;;;
-132E3;EGYPTIAN HIEROGLYPH S015;Lo;0;L;;;;;N;;;;;
-132E4;EGYPTIAN HIEROGLYPH S016;Lo;0;L;;;;;N;;;;;
-132E5;EGYPTIAN HIEROGLYPH S017;Lo;0;L;;;;;N;;;;;
-132E6;EGYPTIAN HIEROGLYPH S017A;Lo;0;L;;;;;N;;;;;
-132E7;EGYPTIAN HIEROGLYPH S018;Lo;0;L;;;;;N;;;;;
-132E8;EGYPTIAN HIEROGLYPH S019;Lo;0;L;;;;;N;;;;;
-132E9;EGYPTIAN HIEROGLYPH S020;Lo;0;L;;;;;N;;;;;
-132EA;EGYPTIAN HIEROGLYPH S021;Lo;0;L;;;;;N;;;;;
-132EB;EGYPTIAN HIEROGLYPH S022;Lo;0;L;;;;;N;;;;;
-132EC;EGYPTIAN HIEROGLYPH S023;Lo;0;L;;;;;N;;;;;
-132ED;EGYPTIAN HIEROGLYPH S024;Lo;0;L;;;;;N;;;;;
-132EE;EGYPTIAN HIEROGLYPH S025;Lo;0;L;;;;;N;;;;;
-132EF;EGYPTIAN HIEROGLYPH S026;Lo;0;L;;;;;N;;;;;
-132F0;EGYPTIAN HIEROGLYPH S026A;Lo;0;L;;;;;N;;;;;
-132F1;EGYPTIAN HIEROGLYPH S026B;Lo;0;L;;;;;N;;;;;
-132F2;EGYPTIAN HIEROGLYPH S027;Lo;0;L;;;;;N;;;;;
-132F3;EGYPTIAN HIEROGLYPH S028;Lo;0;L;;;;;N;;;;;
-132F4;EGYPTIAN HIEROGLYPH S029;Lo;0;L;;;;;N;;;;;
-132F5;EGYPTIAN HIEROGLYPH S030;Lo;0;L;;;;;N;;;;;
-132F6;EGYPTIAN HIEROGLYPH S031;Lo;0;L;;;;;N;;;;;
-132F7;EGYPTIAN HIEROGLYPH S032;Lo;0;L;;;;;N;;;;;
-132F8;EGYPTIAN HIEROGLYPH S033;Lo;0;L;;;;;N;;;;;
-132F9;EGYPTIAN HIEROGLYPH S034;Lo;0;L;;;;;N;;;;;
-132FA;EGYPTIAN HIEROGLYPH S035;Lo;0;L;;;;;N;;;;;
-132FB;EGYPTIAN HIEROGLYPH S035A;Lo;0;L;;;;;N;;;;;
-132FC;EGYPTIAN HIEROGLYPH S036;Lo;0;L;;;;;N;;;;;
-132FD;EGYPTIAN HIEROGLYPH S037;Lo;0;L;;;;;N;;;;;
-132FE;EGYPTIAN HIEROGLYPH S038;Lo;0;L;;;;;N;;;;;
-132FF;EGYPTIAN HIEROGLYPH S039;Lo;0;L;;;;;N;;;;;
-13300;EGYPTIAN HIEROGLYPH S040;Lo;0;L;;;;;N;;;;;
-13301;EGYPTIAN HIEROGLYPH S041;Lo;0;L;;;;;N;;;;;
-13302;EGYPTIAN HIEROGLYPH S042;Lo;0;L;;;;;N;;;;;
-13303;EGYPTIAN HIEROGLYPH S043;Lo;0;L;;;;;N;;;;;
-13304;EGYPTIAN HIEROGLYPH S044;Lo;0;L;;;;;N;;;;;
-13305;EGYPTIAN HIEROGLYPH S045;Lo;0;L;;;;;N;;;;;
-13306;EGYPTIAN HIEROGLYPH S046;Lo;0;L;;;;;N;;;;;
-13307;EGYPTIAN HIEROGLYPH T001;Lo;0;L;;;;;N;;;;;
-13308;EGYPTIAN HIEROGLYPH T002;Lo;0;L;;;;;N;;;;;
-13309;EGYPTIAN HIEROGLYPH T003;Lo;0;L;;;;;N;;;;;
-1330A;EGYPTIAN HIEROGLYPH T003A;Lo;0;L;;;;;N;;;;;
-1330B;EGYPTIAN HIEROGLYPH T004;Lo;0;L;;;;;N;;;;;
-1330C;EGYPTIAN HIEROGLYPH T005;Lo;0;L;;;;;N;;;;;
-1330D;EGYPTIAN HIEROGLYPH T006;Lo;0;L;;;;;N;;;;;
-1330E;EGYPTIAN HIEROGLYPH T007;Lo;0;L;;;;;N;;;;;
-1330F;EGYPTIAN HIEROGLYPH T007A;Lo;0;L;;;;;N;;;;;
-13310;EGYPTIAN HIEROGLYPH T008;Lo;0;L;;;;;N;;;;;
-13311;EGYPTIAN HIEROGLYPH T008A;Lo;0;L;;;;;N;;;;;
-13312;EGYPTIAN HIEROGLYPH T009;Lo;0;L;;;;;N;;;;;
-13313;EGYPTIAN HIEROGLYPH T009A;Lo;0;L;;;;;N;;;;;
-13314;EGYPTIAN HIEROGLYPH T010;Lo;0;L;;;;;N;;;;;
-13315;EGYPTIAN HIEROGLYPH T011;Lo;0;L;;;;;N;;;;;
-13316;EGYPTIAN HIEROGLYPH T011A;Lo;0;L;;;;;N;;;;;
-13317;EGYPTIAN HIEROGLYPH T012;Lo;0;L;;;;;N;;;;;
-13318;EGYPTIAN HIEROGLYPH T013;Lo;0;L;;;;;N;;;;;
-13319;EGYPTIAN HIEROGLYPH T014;Lo;0;L;;;;;N;;;;;
-1331A;EGYPTIAN HIEROGLYPH T015;Lo;0;L;;;;;N;;;;;
-1331B;EGYPTIAN HIEROGLYPH T016;Lo;0;L;;;;;N;;;;;
-1331C;EGYPTIAN HIEROGLYPH T016A;Lo;0;L;;;;;N;;;;;
-1331D;EGYPTIAN HIEROGLYPH T017;Lo;0;L;;;;;N;;;;;
-1331E;EGYPTIAN HIEROGLYPH T018;Lo;0;L;;;;;N;;;;;
-1331F;EGYPTIAN HIEROGLYPH T019;Lo;0;L;;;;;N;;;;;
-13320;EGYPTIAN HIEROGLYPH T020;Lo;0;L;;;;;N;;;;;
-13321;EGYPTIAN HIEROGLYPH T021;Lo;0;L;;;;;N;;;;;
-13322;EGYPTIAN HIEROGLYPH T022;Lo;0;L;;;;;N;;;;;
-13323;EGYPTIAN HIEROGLYPH T023;Lo;0;L;;;;;N;;;;;
-13324;EGYPTIAN HIEROGLYPH T024;Lo;0;L;;;;;N;;;;;
-13325;EGYPTIAN HIEROGLYPH T025;Lo;0;L;;;;;N;;;;;
-13326;EGYPTIAN HIEROGLYPH T026;Lo;0;L;;;;;N;;;;;
-13327;EGYPTIAN HIEROGLYPH T027;Lo;0;L;;;;;N;;;;;
-13328;EGYPTIAN HIEROGLYPH T028;Lo;0;L;;;;;N;;;;;
-13329;EGYPTIAN HIEROGLYPH T029;Lo;0;L;;;;;N;;;;;
-1332A;EGYPTIAN HIEROGLYPH T030;Lo;0;L;;;;;N;;;;;
-1332B;EGYPTIAN HIEROGLYPH T031;Lo;0;L;;;;;N;;;;;
-1332C;EGYPTIAN HIEROGLYPH T032;Lo;0;L;;;;;N;;;;;
-1332D;EGYPTIAN HIEROGLYPH T032A;Lo;0;L;;;;;N;;;;;
-1332E;EGYPTIAN HIEROGLYPH T033;Lo;0;L;;;;;N;;;;;
-1332F;EGYPTIAN HIEROGLYPH T033A;Lo;0;L;;;;;N;;;;;
-13330;EGYPTIAN HIEROGLYPH T034;Lo;0;L;;;;;N;;;;;
-13331;EGYPTIAN HIEROGLYPH T035;Lo;0;L;;;;;N;;;;;
-13332;EGYPTIAN HIEROGLYPH T036;Lo;0;L;;;;;N;;;;;
-13333;EGYPTIAN HIEROGLYPH U001;Lo;0;L;;;;;N;;;;;
-13334;EGYPTIAN HIEROGLYPH U002;Lo;0;L;;;;;N;;;;;
-13335;EGYPTIAN HIEROGLYPH U003;Lo;0;L;;;;;N;;;;;
-13336;EGYPTIAN HIEROGLYPH U004;Lo;0;L;;;;;N;;;;;
-13337;EGYPTIAN HIEROGLYPH U005;Lo;0;L;;;;;N;;;;;
-13338;EGYPTIAN HIEROGLYPH U006;Lo;0;L;;;;;N;;;;;
-13339;EGYPTIAN HIEROGLYPH U006A;Lo;0;L;;;;;N;;;;;
-1333A;EGYPTIAN HIEROGLYPH U006B;Lo;0;L;;;;;N;;;;;
-1333B;EGYPTIAN HIEROGLYPH U007;Lo;0;L;;;;;N;;;;;
-1333C;EGYPTIAN HIEROGLYPH U008;Lo;0;L;;;;;N;;;;;
-1333D;EGYPTIAN HIEROGLYPH U009;Lo;0;L;;;;;N;;;;;
-1333E;EGYPTIAN HIEROGLYPH U010;Lo;0;L;;;;;N;;;;;
-1333F;EGYPTIAN HIEROGLYPH U011;Lo;0;L;;;;;N;;;;;
-13340;EGYPTIAN HIEROGLYPH U012;Lo;0;L;;;;;N;;;;;
-13341;EGYPTIAN HIEROGLYPH U013;Lo;0;L;;;;;N;;;;;
-13342;EGYPTIAN HIEROGLYPH U014;Lo;0;L;;;;;N;;;;;
-13343;EGYPTIAN HIEROGLYPH U015;Lo;0;L;;;;;N;;;;;
-13344;EGYPTIAN HIEROGLYPH U016;Lo;0;L;;;;;N;;;;;
-13345;EGYPTIAN HIEROGLYPH U017;Lo;0;L;;;;;N;;;;;
-13346;EGYPTIAN HIEROGLYPH U018;Lo;0;L;;;;;N;;;;;
-13347;EGYPTIAN HIEROGLYPH U019;Lo;0;L;;;;;N;;;;;
-13348;EGYPTIAN HIEROGLYPH U020;Lo;0;L;;;;;N;;;;;
-13349;EGYPTIAN HIEROGLYPH U021;Lo;0;L;;;;;N;;;;;
-1334A;EGYPTIAN HIEROGLYPH U022;Lo;0;L;;;;;N;;;;;
-1334B;EGYPTIAN HIEROGLYPH U023;Lo;0;L;;;;;N;;;;;
-1334C;EGYPTIAN HIEROGLYPH U023A;Lo;0;L;;;;;N;;;;;
-1334D;EGYPTIAN HIEROGLYPH U024;Lo;0;L;;;;;N;;;;;
-1334E;EGYPTIAN HIEROGLYPH U025;Lo;0;L;;;;;N;;;;;
-1334F;EGYPTIAN HIEROGLYPH U026;Lo;0;L;;;;;N;;;;;
-13350;EGYPTIAN HIEROGLYPH U027;Lo;0;L;;;;;N;;;;;
-13351;EGYPTIAN HIEROGLYPH U028;Lo;0;L;;;;;N;;;;;
-13352;EGYPTIAN HIEROGLYPH U029;Lo;0;L;;;;;N;;;;;
-13353;EGYPTIAN HIEROGLYPH U029A;Lo;0;L;;;;;N;;;;;
-13354;EGYPTIAN HIEROGLYPH U030;Lo;0;L;;;;;N;;;;;
-13355;EGYPTIAN HIEROGLYPH U031;Lo;0;L;;;;;N;;;;;
-13356;EGYPTIAN HIEROGLYPH U032;Lo;0;L;;;;;N;;;;;
-13357;EGYPTIAN HIEROGLYPH U032A;Lo;0;L;;;;;N;;;;;
-13358;EGYPTIAN HIEROGLYPH U033;Lo;0;L;;;;;N;;;;;
-13359;EGYPTIAN HIEROGLYPH U034;Lo;0;L;;;;;N;;;;;
-1335A;EGYPTIAN HIEROGLYPH U035;Lo;0;L;;;;;N;;;;;
-1335B;EGYPTIAN HIEROGLYPH U036;Lo;0;L;;;;;N;;;;;
-1335C;EGYPTIAN HIEROGLYPH U037;Lo;0;L;;;;;N;;;;;
-1335D;EGYPTIAN HIEROGLYPH U038;Lo;0;L;;;;;N;;;;;
-1335E;EGYPTIAN HIEROGLYPH U039;Lo;0;L;;;;;N;;;;;
-1335F;EGYPTIAN HIEROGLYPH U040;Lo;0;L;;;;;N;;;;;
-13360;EGYPTIAN HIEROGLYPH U041;Lo;0;L;;;;;N;;;;;
-13361;EGYPTIAN HIEROGLYPH U042;Lo;0;L;;;;;N;;;;;
-13362;EGYPTIAN HIEROGLYPH V001;Lo;0;L;;;;;N;;;;;
-13363;EGYPTIAN HIEROGLYPH V001A;Lo;0;L;;;;;N;;;;;
-13364;EGYPTIAN HIEROGLYPH V001B;Lo;0;L;;;;;N;;;;;
-13365;EGYPTIAN HIEROGLYPH V001C;Lo;0;L;;;;;N;;;;;
-13366;EGYPTIAN HIEROGLYPH V001D;Lo;0;L;;;;;N;;;;;
-13367;EGYPTIAN HIEROGLYPH V001E;Lo;0;L;;;;;N;;;;;
-13368;EGYPTIAN HIEROGLYPH V001F;Lo;0;L;;;;;N;;;;;
-13369;EGYPTIAN HIEROGLYPH V001G;Lo;0;L;;;;;N;;;;;
-1336A;EGYPTIAN HIEROGLYPH V001H;Lo;0;L;;;;;N;;;;;
-1336B;EGYPTIAN HIEROGLYPH V001I;Lo;0;L;;;;;N;;;;;
-1336C;EGYPTIAN HIEROGLYPH V002;Lo;0;L;;;;;N;;;;;
-1336D;EGYPTIAN HIEROGLYPH V002A;Lo;0;L;;;;;N;;;;;
-1336E;EGYPTIAN HIEROGLYPH V003;Lo;0;L;;;;;N;;;;;
-1336F;EGYPTIAN HIEROGLYPH V004;Lo;0;L;;;;;N;;;;;
-13370;EGYPTIAN HIEROGLYPH V005;Lo;0;L;;;;;N;;;;;
-13371;EGYPTIAN HIEROGLYPH V006;Lo;0;L;;;;;N;;;;;
-13372;EGYPTIAN HIEROGLYPH V007;Lo;0;L;;;;;N;;;;;
-13373;EGYPTIAN HIEROGLYPH V007A;Lo;0;L;;;;;N;;;;;
-13374;EGYPTIAN HIEROGLYPH V007B;Lo;0;L;;;;;N;;;;;
-13375;EGYPTIAN HIEROGLYPH V008;Lo;0;L;;;;;N;;;;;
-13376;EGYPTIAN HIEROGLYPH V009;Lo;0;L;;;;;N;;;;;
-13377;EGYPTIAN HIEROGLYPH V010;Lo;0;L;;;;;N;;;;;
-13378;EGYPTIAN HIEROGLYPH V011;Lo;0;L;;;;;N;;;;;
-13379;EGYPTIAN HIEROGLYPH V011A;Lo;0;L;;;;;N;;;;;
-1337A;EGYPTIAN HIEROGLYPH V011B;Lo;0;L;;;;;N;;;;;
-1337B;EGYPTIAN HIEROGLYPH V011C;Lo;0;L;;;;;N;;;;;
-1337C;EGYPTIAN HIEROGLYPH V012;Lo;0;L;;;;;N;;;;;
-1337D;EGYPTIAN HIEROGLYPH V012A;Lo;0;L;;;;;N;;;;;
-1337E;EGYPTIAN HIEROGLYPH V012B;Lo;0;L;;;;;N;;;;;
-1337F;EGYPTIAN HIEROGLYPH V013;Lo;0;L;;;;;N;;;;;
-13380;EGYPTIAN HIEROGLYPH V014;Lo;0;L;;;;;N;;;;;
-13381;EGYPTIAN HIEROGLYPH V015;Lo;0;L;;;;;N;;;;;
-13382;EGYPTIAN HIEROGLYPH V016;Lo;0;L;;;;;N;;;;;
-13383;EGYPTIAN HIEROGLYPH V017;Lo;0;L;;;;;N;;;;;
-13384;EGYPTIAN HIEROGLYPH V018;Lo;0;L;;;;;N;;;;;
-13385;EGYPTIAN HIEROGLYPH V019;Lo;0;L;;;;;N;;;;;
-13386;EGYPTIAN HIEROGLYPH V020;Lo;0;L;;;;;N;;;;;
-13387;EGYPTIAN HIEROGLYPH V020A;Lo;0;L;;;;;N;;;;;
-13388;EGYPTIAN HIEROGLYPH V020B;Lo;0;L;;;;;N;;;;;
-13389;EGYPTIAN HIEROGLYPH V020C;Lo;0;L;;;;;N;;;;;
-1338A;EGYPTIAN HIEROGLYPH V020D;Lo;0;L;;;;;N;;;;;
-1338B;EGYPTIAN HIEROGLYPH V020E;Lo;0;L;;;;;N;;;;;
-1338C;EGYPTIAN HIEROGLYPH V020F;Lo;0;L;;;;;N;;;;;
-1338D;EGYPTIAN HIEROGLYPH V020G;Lo;0;L;;;;;N;;;;;
-1338E;EGYPTIAN HIEROGLYPH V020H;Lo;0;L;;;;;N;;;;;
-1338F;EGYPTIAN HIEROGLYPH V020I;Lo;0;L;;;;;N;;;;;
-13390;EGYPTIAN HIEROGLYPH V020J;Lo;0;L;;;;;N;;;;;
-13391;EGYPTIAN HIEROGLYPH V020K;Lo;0;L;;;;;N;;;;;
-13392;EGYPTIAN HIEROGLYPH V020L;Lo;0;L;;;;;N;;;;;
-13393;EGYPTIAN HIEROGLYPH V021;Lo;0;L;;;;;N;;;;;
-13394;EGYPTIAN HIEROGLYPH V022;Lo;0;L;;;;;N;;;;;
-13395;EGYPTIAN HIEROGLYPH V023;Lo;0;L;;;;;N;;;;;
-13396;EGYPTIAN HIEROGLYPH V023A;Lo;0;L;;;;;N;;;;;
-13397;EGYPTIAN HIEROGLYPH V024;Lo;0;L;;;;;N;;;;;
-13398;EGYPTIAN HIEROGLYPH V025;Lo;0;L;;;;;N;;;;;
-13399;EGYPTIAN HIEROGLYPH V026;Lo;0;L;;;;;N;;;;;
-1339A;EGYPTIAN HIEROGLYPH V027;Lo;0;L;;;;;N;;;;;
-1339B;EGYPTIAN HIEROGLYPH V028;Lo;0;L;;;;;N;;;;;
-1339C;EGYPTIAN HIEROGLYPH V028A;Lo;0;L;;;;;N;;;;;
-1339D;EGYPTIAN HIEROGLYPH V029;Lo;0;L;;;;;N;;;;;
-1339E;EGYPTIAN HIEROGLYPH V029A;Lo;0;L;;;;;N;;;;;
-1339F;EGYPTIAN HIEROGLYPH V030;Lo;0;L;;;;;N;;;;;
-133A0;EGYPTIAN HIEROGLYPH V030A;Lo;0;L;;;;;N;;;;;
-133A1;EGYPTIAN HIEROGLYPH V031;Lo;0;L;;;;;N;;;;;
-133A2;EGYPTIAN HIEROGLYPH V031A;Lo;0;L;;;;;N;;;;;
-133A3;EGYPTIAN HIEROGLYPH V032;Lo;0;L;;;;;N;;;;;
-133A4;EGYPTIAN HIEROGLYPH V033;Lo;0;L;;;;;N;;;;;
-133A5;EGYPTIAN HIEROGLYPH V033A;Lo;0;L;;;;;N;;;;;
-133A6;EGYPTIAN HIEROGLYPH V034;Lo;0;L;;;;;N;;;;;
-133A7;EGYPTIAN HIEROGLYPH V035;Lo;0;L;;;;;N;;;;;
-133A8;EGYPTIAN HIEROGLYPH V036;Lo;0;L;;;;;N;;;;;
-133A9;EGYPTIAN HIEROGLYPH V037;Lo;0;L;;;;;N;;;;;
-133AA;EGYPTIAN HIEROGLYPH V037A;Lo;0;L;;;;;N;;;;;
-133AB;EGYPTIAN HIEROGLYPH V038;Lo;0;L;;;;;N;;;;;
-133AC;EGYPTIAN HIEROGLYPH V039;Lo;0;L;;;;;N;;;;;
-133AD;EGYPTIAN HIEROGLYPH V040;Lo;0;L;;;;;N;;;;;
-133AE;EGYPTIAN HIEROGLYPH V040A;Lo;0;L;;;;;N;;;;;
-133AF;EGYPTIAN HIEROGLYPH W001;Lo;0;L;;;;;N;;;;;
-133B0;EGYPTIAN HIEROGLYPH W002;Lo;0;L;;;;;N;;;;;
-133B1;EGYPTIAN HIEROGLYPH W003;Lo;0;L;;;;;N;;;;;
-133B2;EGYPTIAN HIEROGLYPH W003A;Lo;0;L;;;;;N;;;;;
-133B3;EGYPTIAN HIEROGLYPH W004;Lo;0;L;;;;;N;;;;;
-133B4;EGYPTIAN HIEROGLYPH W005;Lo;0;L;;;;;N;;;;;
-133B5;EGYPTIAN HIEROGLYPH W006;Lo;0;L;;;;;N;;;;;
-133B6;EGYPTIAN HIEROGLYPH W007;Lo;0;L;;;;;N;;;;;
-133B7;EGYPTIAN HIEROGLYPH W008;Lo;0;L;;;;;N;;;;;
-133B8;EGYPTIAN HIEROGLYPH W009;Lo;0;L;;;;;N;;;;;
-133B9;EGYPTIAN HIEROGLYPH W009A;Lo;0;L;;;;;N;;;;;
-133BA;EGYPTIAN HIEROGLYPH W010;Lo;0;L;;;;;N;;;;;
-133BB;EGYPTIAN HIEROGLYPH W010A;Lo;0;L;;;;;N;;;;;
-133BC;EGYPTIAN HIEROGLYPH W011;Lo;0;L;;;;;N;;;;;
-133BD;EGYPTIAN HIEROGLYPH W012;Lo;0;L;;;;;N;;;;;
-133BE;EGYPTIAN HIEROGLYPH W013;Lo;0;L;;;;;N;;;;;
-133BF;EGYPTIAN HIEROGLYPH W014;Lo;0;L;;;;;N;;;;;
-133C0;EGYPTIAN HIEROGLYPH W014A;Lo;0;L;;;;;N;;;;;
-133C1;EGYPTIAN HIEROGLYPH W015;Lo;0;L;;;;;N;;;;;
-133C2;EGYPTIAN HIEROGLYPH W016;Lo;0;L;;;;;N;;;;;
-133C3;EGYPTIAN HIEROGLYPH W017;Lo;0;L;;;;;N;;;;;
-133C4;EGYPTIAN HIEROGLYPH W017A;Lo;0;L;;;;;N;;;;;
-133C5;EGYPTIAN HIEROGLYPH W018;Lo;0;L;;;;;N;;;;;
-133C6;EGYPTIAN HIEROGLYPH W018A;Lo;0;L;;;;;N;;;;;
-133C7;EGYPTIAN HIEROGLYPH W019;Lo;0;L;;;;;N;;;;;
-133C8;EGYPTIAN HIEROGLYPH W020;Lo;0;L;;;;;N;;;;;
-133C9;EGYPTIAN HIEROGLYPH W021;Lo;0;L;;;;;N;;;;;
-133CA;EGYPTIAN HIEROGLYPH W022;Lo;0;L;;;;;N;;;;;
-133CB;EGYPTIAN HIEROGLYPH W023;Lo;0;L;;;;;N;;;;;
-133CC;EGYPTIAN HIEROGLYPH W024;Lo;0;L;;;;;N;;;;;
-133CD;EGYPTIAN HIEROGLYPH W024A;Lo;0;L;;;;;N;;;;;
-133CE;EGYPTIAN HIEROGLYPH W025;Lo;0;L;;;;;N;;;;;
-133CF;EGYPTIAN HIEROGLYPH X001;Lo;0;L;;;;;N;;;;;
-133D0;EGYPTIAN HIEROGLYPH X002;Lo;0;L;;;;;N;;;;;
-133D1;EGYPTIAN HIEROGLYPH X003;Lo;0;L;;;;;N;;;;;
-133D2;EGYPTIAN HIEROGLYPH X004;Lo;0;L;;;;;N;;;;;
-133D3;EGYPTIAN HIEROGLYPH X004A;Lo;0;L;;;;;N;;;;;
-133D4;EGYPTIAN HIEROGLYPH X004B;Lo;0;L;;;;;N;;;;;
-133D5;EGYPTIAN HIEROGLYPH X005;Lo;0;L;;;;;N;;;;;
-133D6;EGYPTIAN HIEROGLYPH X006;Lo;0;L;;;;;N;;;;;
-133D7;EGYPTIAN HIEROGLYPH X006A;Lo;0;L;;;;;N;;;;;
-133D8;EGYPTIAN HIEROGLYPH X007;Lo;0;L;;;;;N;;;;;
-133D9;EGYPTIAN HIEROGLYPH X008;Lo;0;L;;;;;N;;;;;
-133DA;EGYPTIAN HIEROGLYPH X008A;Lo;0;L;;;;;N;;;;;
-133DB;EGYPTIAN HIEROGLYPH Y001;Lo;0;L;;;;;N;;;;;
-133DC;EGYPTIAN HIEROGLYPH Y001A;Lo;0;L;;;;;N;;;;;
-133DD;EGYPTIAN HIEROGLYPH Y002;Lo;0;L;;;;;N;;;;;
-133DE;EGYPTIAN HIEROGLYPH Y003;Lo;0;L;;;;;N;;;;;
-133DF;EGYPTIAN HIEROGLYPH Y004;Lo;0;L;;;;;N;;;;;
-133E0;EGYPTIAN HIEROGLYPH Y005;Lo;0;L;;;;;N;;;;;
-133E1;EGYPTIAN HIEROGLYPH Y006;Lo;0;L;;;;;N;;;;;
-133E2;EGYPTIAN HIEROGLYPH Y007;Lo;0;L;;;;;N;;;;;
-133E3;EGYPTIAN HIEROGLYPH Y008;Lo;0;L;;;;;N;;;;;
-133E4;EGYPTIAN HIEROGLYPH Z001;Lo;0;L;;;;;N;;;;;
-133E5;EGYPTIAN HIEROGLYPH Z002;Lo;0;L;;;;;N;;;;;
-133E6;EGYPTIAN HIEROGLYPH Z002A;Lo;0;L;;;;;N;;;;;
-133E7;EGYPTIAN HIEROGLYPH Z002B;Lo;0;L;;;;;N;;;;;
-133E8;EGYPTIAN HIEROGLYPH Z002C;Lo;0;L;;;;;N;;;;;
-133E9;EGYPTIAN HIEROGLYPH Z002D;Lo;0;L;;;;;N;;;;;
-133EA;EGYPTIAN HIEROGLYPH Z003;Lo;0;L;;;;;N;;;;;
-133EB;EGYPTIAN HIEROGLYPH Z003A;Lo;0;L;;;;;N;;;;;
-133EC;EGYPTIAN HIEROGLYPH Z003B;Lo;0;L;;;;;N;;;;;
-133ED;EGYPTIAN HIEROGLYPH Z004;Lo;0;L;;;;;N;;;;;
-133EE;EGYPTIAN HIEROGLYPH Z004A;Lo;0;L;;;;;N;;;;;
-133EF;EGYPTIAN HIEROGLYPH Z005;Lo;0;L;;;;;N;;;;;
-133F0;EGYPTIAN HIEROGLYPH Z005A;Lo;0;L;;;;;N;;;;;
-133F1;EGYPTIAN HIEROGLYPH Z006;Lo;0;L;;;;;N;;;;;
-133F2;EGYPTIAN HIEROGLYPH Z007;Lo;0;L;;;;;N;;;;;
-133F3;EGYPTIAN HIEROGLYPH Z008;Lo;0;L;;;;;N;;;;;
-133F4;EGYPTIAN HIEROGLYPH Z009;Lo;0;L;;;;;N;;;;;
-133F5;EGYPTIAN HIEROGLYPH Z010;Lo;0;L;;;;;N;;;;;
-133F6;EGYPTIAN HIEROGLYPH Z011;Lo;0;L;;;;;N;;;;;
-133F7;EGYPTIAN HIEROGLYPH Z012;Lo;0;L;;;;;N;;;;;
-133F8;EGYPTIAN HIEROGLYPH Z013;Lo;0;L;;;;;N;;;;;
-133F9;EGYPTIAN HIEROGLYPH Z014;Lo;0;L;;;;;N;;;;;
-133FA;EGYPTIAN HIEROGLYPH Z015;Lo;0;L;;;;;N;;;;;
-133FB;EGYPTIAN HIEROGLYPH Z015A;Lo;0;L;;;;;N;;;;;
-133FC;EGYPTIAN HIEROGLYPH Z015B;Lo;0;L;;;;;N;;;;;
-133FD;EGYPTIAN HIEROGLYPH Z015C;Lo;0;L;;;;;N;;;;;
-133FE;EGYPTIAN HIEROGLYPH Z015D;Lo;0;L;;;;;N;;;;;
-133FF;EGYPTIAN HIEROGLYPH Z015E;Lo;0;L;;;;;N;;;;;
-13400;EGYPTIAN HIEROGLYPH Z015F;Lo;0;L;;;;;N;;;;;
-13401;EGYPTIAN HIEROGLYPH Z015G;Lo;0;L;;;;;N;;;;;
-13402;EGYPTIAN HIEROGLYPH Z015H;Lo;0;L;;;;;N;;;;;
-13403;EGYPTIAN HIEROGLYPH Z015I;Lo;0;L;;;;;N;;;;;
-13404;EGYPTIAN HIEROGLYPH Z016;Lo;0;L;;;;;N;;;;;
-13405;EGYPTIAN HIEROGLYPH Z016A;Lo;0;L;;;;;N;;;;;
-13406;EGYPTIAN HIEROGLYPH Z016B;Lo;0;L;;;;;N;;;;;
-13407;EGYPTIAN HIEROGLYPH Z016C;Lo;0;L;;;;;N;;;;;
-13408;EGYPTIAN HIEROGLYPH Z016D;Lo;0;L;;;;;N;;;;;
-13409;EGYPTIAN HIEROGLYPH Z016E;Lo;0;L;;;;;N;;;;;
-1340A;EGYPTIAN HIEROGLYPH Z016F;Lo;0;L;;;;;N;;;;;
-1340B;EGYPTIAN HIEROGLYPH Z016G;Lo;0;L;;;;;N;;;;;
-1340C;EGYPTIAN HIEROGLYPH Z016H;Lo;0;L;;;;;N;;;;;
-1340D;EGYPTIAN HIEROGLYPH AA001;Lo;0;L;;;;;N;;;;;
-1340E;EGYPTIAN HIEROGLYPH AA002;Lo;0;L;;;;;N;;;;;
-1340F;EGYPTIAN HIEROGLYPH AA003;Lo;0;L;;;;;N;;;;;
-13410;EGYPTIAN HIEROGLYPH AA004;Lo;0;L;;;;;N;;;;;
-13411;EGYPTIAN HIEROGLYPH AA005;Lo;0;L;;;;;N;;;;;
-13412;EGYPTIAN HIEROGLYPH AA006;Lo;0;L;;;;;N;;;;;
-13413;EGYPTIAN HIEROGLYPH AA007;Lo;0;L;;;;;N;;;;;
-13414;EGYPTIAN HIEROGLYPH AA007A;Lo;0;L;;;;;N;;;;;
-13415;EGYPTIAN HIEROGLYPH AA007B;Lo;0;L;;;;;N;;;;;
-13416;EGYPTIAN HIEROGLYPH AA008;Lo;0;L;;;;;N;;;;;
-13417;EGYPTIAN HIEROGLYPH AA009;Lo;0;L;;;;;N;;;;;
-13418;EGYPTIAN HIEROGLYPH AA010;Lo;0;L;;;;;N;;;;;
-13419;EGYPTIAN HIEROGLYPH AA011;Lo;0;L;;;;;N;;;;;
-1341A;EGYPTIAN HIEROGLYPH AA012;Lo;0;L;;;;;N;;;;;
-1341B;EGYPTIAN HIEROGLYPH AA013;Lo;0;L;;;;;N;;;;;
-1341C;EGYPTIAN HIEROGLYPH AA014;Lo;0;L;;;;;N;;;;;
-1341D;EGYPTIAN HIEROGLYPH AA015;Lo;0;L;;;;;N;;;;;
-1341E;EGYPTIAN HIEROGLYPH AA016;Lo;0;L;;;;;N;;;;;
-1341F;EGYPTIAN HIEROGLYPH AA017;Lo;0;L;;;;;N;;;;;
-13420;EGYPTIAN HIEROGLYPH AA018;Lo;0;L;;;;;N;;;;;
-13421;EGYPTIAN HIEROGLYPH AA019;Lo;0;L;;;;;N;;;;;
-13422;EGYPTIAN HIEROGLYPH AA020;Lo;0;L;;;;;N;;;;;
-13423;EGYPTIAN HIEROGLYPH AA021;Lo;0;L;;;;;N;;;;;
-13424;EGYPTIAN HIEROGLYPH AA022;Lo;0;L;;;;;N;;;;;
-13425;EGYPTIAN HIEROGLYPH AA023;Lo;0;L;;;;;N;;;;;
-13426;EGYPTIAN HIEROGLYPH AA024;Lo;0;L;;;;;N;;;;;
-13427;EGYPTIAN HIEROGLYPH AA025;Lo;0;L;;;;;N;;;;;
-13428;EGYPTIAN HIEROGLYPH AA026;Lo;0;L;;;;;N;;;;;
-13429;EGYPTIAN HIEROGLYPH AA027;Lo;0;L;;;;;N;;;;;
-1342A;EGYPTIAN HIEROGLYPH AA028;Lo;0;L;;;;;N;;;;;
-1342B;EGYPTIAN HIEROGLYPH AA029;Lo;0;L;;;;;N;;;;;
-1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;;
-1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;;
-1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;;
-1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;;
-1D001;BYZANTINE MUSICAL SYMBOL DASEIA;So;0;L;;;;;N;;;;;
-1D002;BYZANTINE MUSICAL SYMBOL PERISPOMENI;So;0;L;;;;;N;;;;;
-1D003;BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON;So;0;L;;;;;N;;;;;
-1D004;BYZANTINE MUSICAL SYMBOL OXEIA DIPLI;So;0;L;;;;;N;;;;;
-1D005;BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON;So;0;L;;;;;N;;;;;
-1D006;BYZANTINE MUSICAL SYMBOL VAREIA DIPLI;So;0;L;;;;;N;;;;;
-1D007;BYZANTINE MUSICAL SYMBOL KATHISTI;So;0;L;;;;;N;;;;;
-1D008;BYZANTINE MUSICAL SYMBOL SYRMATIKI;So;0;L;;;;;N;;;;;
-1D009;BYZANTINE MUSICAL SYMBOL PARAKLITIKI;So;0;L;;;;;N;;;;;
-1D00A;BYZANTINE MUSICAL SYMBOL YPOKRISIS;So;0;L;;;;;N;;;;;
-1D00B;BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI;So;0;L;;;;;N;;;;;
-1D00C;BYZANTINE MUSICAL SYMBOL KREMASTI;So;0;L;;;;;N;;;;;
-1D00D;BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON;So;0;L;;;;;N;;;;;
-1D00E;BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON;So;0;L;;;;;N;;;;;
-1D00F;BYZANTINE MUSICAL SYMBOL TELEIA;So;0;L;;;;;N;;;;;
-1D010;BYZANTINE MUSICAL SYMBOL KENTIMATA;So;0;L;;;;;N;;;;;
-1D011;BYZANTINE MUSICAL SYMBOL APOSTROFOS;So;0;L;;;;;N;;;;;
-1D012;BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI;So;0;L;;;;;N;;;;;
-1D013;BYZANTINE MUSICAL SYMBOL SYNEVMA;So;0;L;;;;;N;;;;;
-1D014;BYZANTINE MUSICAL SYMBOL THITA;So;0;L;;;;;N;;;;;
-1D015;BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION;So;0;L;;;;;N;;;;;
-1D016;BYZANTINE MUSICAL SYMBOL GORGON ARCHAION;So;0;L;;;;;N;;;;;
-1D017;BYZANTINE MUSICAL SYMBOL PSILON;So;0;L;;;;;N;;;;;
-1D018;BYZANTINE MUSICAL SYMBOL CHAMILON;So;0;L;;;;;N;;;;;
-1D019;BYZANTINE MUSICAL SYMBOL VATHY;So;0;L;;;;;N;;;;;
-1D01A;BYZANTINE MUSICAL SYMBOL ISON ARCHAION;So;0;L;;;;;N;;;;;
-1D01B;BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION;So;0;L;;;;;N;;;;;
-1D01C;BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION;So;0;L;;;;;N;;;;;
-1D01D;BYZANTINE MUSICAL SYMBOL SAXIMATA;So;0;L;;;;;N;;;;;
-1D01E;BYZANTINE MUSICAL SYMBOL PARICHON;So;0;L;;;;;N;;;;;
-1D01F;BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA;So;0;L;;;;;N;;;;;
-1D020;BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION;So;0;L;;;;;N;;;;;
-1D021;BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION;So;0;L;;;;;N;;;;;
-1D022;BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION;So;0;L;;;;;N;;;;;
-1D023;BYZANTINE MUSICAL SYMBOL APOTHEMA;So;0;L;;;;;N;;;;;
-1D024;BYZANTINE MUSICAL SYMBOL KLASMA;So;0;L;;;;;N;;;;;
-1D025;BYZANTINE MUSICAL SYMBOL REVMA;So;0;L;;;;;N;;;;;
-1D026;BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION;So;0;L;;;;;N;;;;;
-1D027;BYZANTINE MUSICAL SYMBOL TINAGMA;So;0;L;;;;;N;;;;;
-1D028;BYZANTINE MUSICAL SYMBOL ANATRICHISMA;So;0;L;;;;;N;;;;;
-1D029;BYZANTINE MUSICAL SYMBOL SEISMA;So;0;L;;;;;N;;;;;
-1D02A;BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION;So;0;L;;;;;N;;;;;
-1D02B;BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU;So;0;L;;;;;N;;;;;
-1D02C;BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION;So;0;L;;;;;N;;;;;
-1D02D;BYZANTINE MUSICAL SYMBOL THEMA;So;0;L;;;;;N;;;;;
-1D02E;BYZANTINE MUSICAL SYMBOL LEMOI;So;0;L;;;;;N;;;;;
-1D02F;BYZANTINE MUSICAL SYMBOL DYO;So;0;L;;;;;N;;;;;
-1D030;BYZANTINE MUSICAL SYMBOL TRIA;So;0;L;;;;;N;;;;;
-1D031;BYZANTINE MUSICAL SYMBOL TESSERA;So;0;L;;;;;N;;;;;
-1D032;BYZANTINE MUSICAL SYMBOL KRATIMATA;So;0;L;;;;;N;;;;;
-1D033;BYZANTINE MUSICAL SYMBOL APESO EXO NEO;So;0;L;;;;;N;;;;;
-1D034;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION;So;0;L;;;;;N;;;;;
-1D035;BYZANTINE MUSICAL SYMBOL IMIFTHORA;So;0;L;;;;;N;;;;;
-1D036;BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION;So;0;L;;;;;N;;;;;
-1D037;BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON;So;0;L;;;;;N;;;;;
-1D038;BYZANTINE MUSICAL SYMBOL PELASTON;So;0;L;;;;;N;;;;;
-1D039;BYZANTINE MUSICAL SYMBOL PSIFISTON;So;0;L;;;;;N;;;;;
-1D03A;BYZANTINE MUSICAL SYMBOL KONTEVMA;So;0;L;;;;;N;;;;;
-1D03B;BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION;So;0;L;;;;;N;;;;;
-1D03C;BYZANTINE MUSICAL SYMBOL RAPISMA;So;0;L;;;;;N;;;;;
-1D03D;BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION;So;0;L;;;;;N;;;;;
-1D03E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION;So;0;L;;;;;N;;;;;
-1D03F;BYZANTINE MUSICAL SYMBOL ICHADIN;So;0;L;;;;;N;;;;;
-1D040;BYZANTINE MUSICAL SYMBOL NANA;So;0;L;;;;;N;;;;;
-1D041;BYZANTINE MUSICAL SYMBOL PETASMA;So;0;L;;;;;N;;;;;
-1D042;BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO;So;0;L;;;;;N;;;;;
-1D043;BYZANTINE MUSICAL SYMBOL TROMIKON ALLO;So;0;L;;;;;N;;;;;
-1D044;BYZANTINE MUSICAL SYMBOL STRAGGISMATA;So;0;L;;;;;N;;;;;
-1D045;BYZANTINE MUSICAL SYMBOL GRONTHISMATA;So;0;L;;;;;N;;;;;
-1D046;BYZANTINE MUSICAL SYMBOL ISON NEO;So;0;L;;;;;N;;;;;
-1D047;BYZANTINE MUSICAL SYMBOL OLIGON NEO;So;0;L;;;;;N;;;;;
-1D048;BYZANTINE MUSICAL SYMBOL OXEIA NEO;So;0;L;;;;;N;;;;;
-1D049;BYZANTINE MUSICAL SYMBOL PETASTI;So;0;L;;;;;N;;;;;
-1D04A;BYZANTINE MUSICAL SYMBOL KOUFISMA;So;0;L;;;;;N;;;;;
-1D04B;BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA;So;0;L;;;;;N;;;;;
-1D04C;BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA;So;0;L;;;;;N;;;;;
-1D04D;BYZANTINE MUSICAL SYMBOL PELASTON NEO;So;0;L;;;;;N;;;;;
-1D04E;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO;So;0;L;;;;;N;;;;;
-1D04F;BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO;So;0;L;;;;;N;;;;;
-1D050;BYZANTINE MUSICAL SYMBOL YPSILI;So;0;L;;;;;N;;;;;
-1D051;BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO;So;0;L;;;;;N;;;;;
-1D052;BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO;So;0;L;;;;;N;;;;;
-1D053;BYZANTINE MUSICAL SYMBOL YPORROI;So;0;L;;;;;N;;;;;
-1D054;BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON;So;0;L;;;;;N;;;;;
-1D055;BYZANTINE MUSICAL SYMBOL ELAFRON;So;0;L;;;;;N;;;;;
-1D056;BYZANTINE MUSICAL SYMBOL CHAMILI;So;0;L;;;;;N;;;;;
-1D057;BYZANTINE MUSICAL SYMBOL MIKRON ISON;So;0;L;;;;;N;;;;;
-1D058;BYZANTINE MUSICAL SYMBOL VAREIA NEO;So;0;L;;;;;N;;;;;
-1D059;BYZANTINE MUSICAL SYMBOL PIASMA NEO;So;0;L;;;;;N;;;;;
-1D05A;BYZANTINE MUSICAL SYMBOL PSIFISTON NEO;So;0;L;;;;;N;;;;;
-1D05B;BYZANTINE MUSICAL SYMBOL OMALON;So;0;L;;;;;N;;;;;
-1D05C;BYZANTINE MUSICAL SYMBOL ANTIKENOMA;So;0;L;;;;;N;;;;;
-1D05D;BYZANTINE MUSICAL SYMBOL LYGISMA;So;0;L;;;;;N;;;;;
-1D05E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO;So;0;L;;;;;N;;;;;
-1D05F;BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO;So;0;L;;;;;N;;;;;
-1D060;BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA;So;0;L;;;;;N;;;;;
-1D061;BYZANTINE MUSICAL SYMBOL KYLISMA;So;0;L;;;;;N;;;;;
-1D062;BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA;So;0;L;;;;;N;;;;;
-1D063;BYZANTINE MUSICAL SYMBOL TROMIKON NEO;So;0;L;;;;;N;;;;;
-1D064;BYZANTINE MUSICAL SYMBOL EKSTREPTON;So;0;L;;;;;N;;;;;
-1D065;BYZANTINE MUSICAL SYMBOL SYNAGMA NEO;So;0;L;;;;;N;;;;;
-1D066;BYZANTINE MUSICAL SYMBOL SYRMA;So;0;L;;;;;N;;;;;
-1D067;BYZANTINE MUSICAL SYMBOL CHOREVMA NEO;So;0;L;;;;;N;;;;;
-1D068;BYZANTINE MUSICAL SYMBOL EPEGERMA;So;0;L;;;;;N;;;;;
-1D069;BYZANTINE MUSICAL SYMBOL SEISMA NEO;So;0;L;;;;;N;;;;;
-1D06A;BYZANTINE MUSICAL SYMBOL XIRON KLASMA;So;0;L;;;;;N;;;;;
-1D06B;BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON;So;0;L;;;;;N;;;;;
-1D06C;BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA;So;0;L;;;;;N;;;;;
-1D06D;BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA;So;0;L;;;;;N;;;;;
-1D06E;BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA;So;0;L;;;;;N;;;;;
-1D06F;BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA;So;0;L;;;;;N;;;;;
-1D070;BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA;So;0;L;;;;;N;;;;;
-1D071;BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA;So;0;L;;;;;N;;;;;
-1D072;BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON;So;0;L;;;;;N;;;;;
-1D073;BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON;So;0;L;;;;;N;;;;;
-1D074;BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON;So;0;L;;;;;N;;;;;
-1D075;BYZANTINE MUSICAL SYMBOL OYRANISMA NEO;So;0;L;;;;;N;;;;;
-1D076;BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO;So;0;L;;;;;N;;;;;
-1D077;BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO;So;0;L;;;;;N;;;;;
-1D078;BYZANTINE MUSICAL SYMBOL THEMA APLOUN;So;0;L;;;;;N;;;;;
-1D079;BYZANTINE MUSICAL SYMBOL THES KAI APOTHES;So;0;L;;;;;N;;;;;
-1D07A;BYZANTINE MUSICAL SYMBOL KATAVASMA;So;0;L;;;;;N;;;;;
-1D07B;BYZANTINE MUSICAL SYMBOL ENDOFONON;So;0;L;;;;;N;;;;;
-1D07C;BYZANTINE MUSICAL SYMBOL YFEN KATO;So;0;L;;;;;N;;;;;
-1D07D;BYZANTINE MUSICAL SYMBOL YFEN ANO;So;0;L;;;;;N;;;;;
-1D07E;BYZANTINE MUSICAL SYMBOL STAVROS;So;0;L;;;;;N;;;;;
-1D07F;BYZANTINE MUSICAL SYMBOL KLASMA ANO;So;0;L;;;;;N;;;;;
-1D080;BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION;So;0;L;;;;;N;;;;;
-1D081;BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION;So;0;L;;;;;N;;;;;
-1D082;BYZANTINE MUSICAL SYMBOL KRATIMA ALLO;So;0;L;;;;;N;;;;;
-1D083;BYZANTINE MUSICAL SYMBOL KRATIMA NEO;So;0;L;;;;;N;;;;;
-1D084;BYZANTINE MUSICAL SYMBOL APODERMA NEO;So;0;L;;;;;N;;;;;
-1D085;BYZANTINE MUSICAL SYMBOL APLI;So;0;L;;;;;N;;;;;
-1D086;BYZANTINE MUSICAL SYMBOL DIPLI;So;0;L;;;;;N;;;;;
-1D087;BYZANTINE MUSICAL SYMBOL TRIPLI;So;0;L;;;;;N;;;;;
-1D088;BYZANTINE MUSICAL SYMBOL TETRAPLI;So;0;L;;;;;N;;;;;
-1D089;BYZANTINE MUSICAL SYMBOL KORONIS;So;0;L;;;;;N;;;;;
-1D08A;BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU;So;0;L;;;;;N;;;;;
-1D08B;BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON;So;0;L;;;;;N;;;;;
-1D08C;BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON;So;0;L;;;;;N;;;;;
-1D08D;BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON;So;0;L;;;;;N;;;;;
-1D08E;BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU;So;0;L;;;;;N;;;;;
-1D08F;BYZANTINE MUSICAL SYMBOL GORGON NEO ANO;So;0;L;;;;;N;;;;;
-1D090;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA;So;0;L;;;;;N;;;;;
-1D091;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;;
-1D092;BYZANTINE MUSICAL SYMBOL DIGORGON;So;0;L;;;;;N;;;;;
-1D093;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO;So;0;L;;;;;N;;;;;
-1D094;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO;So;0;L;;;;;N;;;;;
-1D095;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;;
-1D096;BYZANTINE MUSICAL SYMBOL TRIGORGON;So;0;L;;;;;N;;;;;
-1D097;BYZANTINE MUSICAL SYMBOL ARGON;So;0;L;;;;;N;;;;;
-1D098;BYZANTINE MUSICAL SYMBOL IMIDIARGON;So;0;L;;;;;N;;;;;
-1D099;BYZANTINE MUSICAL SYMBOL DIARGON;So;0;L;;;;;N;;;;;
-1D09A;BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI;So;0;L;;;;;N;;;;;
-1D09B;BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI;So;0;L;;;;;N;;;;;
-1D09C;BYZANTINE MUSICAL SYMBOL AGOGI ARGI;So;0;L;;;;;N;;;;;
-1D09D;BYZANTINE MUSICAL SYMBOL AGOGI METRIA;So;0;L;;;;;N;;;;;
-1D09E;BYZANTINE MUSICAL SYMBOL AGOGI MESI;So;0;L;;;;;N;;;;;
-1D09F;BYZANTINE MUSICAL SYMBOL AGOGI GORGI;So;0;L;;;;;N;;;;;
-1D0A0;BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI;So;0;L;;;;;N;;;;;
-1D0A1;BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI;So;0;L;;;;;N;;;;;
-1D0A2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS;So;0;L;;;;;N;;;;;
-1D0A3;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS;So;0;L;;;;;N;;;;;
-1D0A4;BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS;So;0;L;;;;;N;;;;;
-1D0A5;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS;So;0;L;;;;;N;;;;;
-1D0A6;BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS;So;0;L;;;;;N;;;;;
-1D0A7;BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS;So;0;L;;;;;N;;;;;
-1D0A8;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS;So;0;L;;;;;N;;;;;
-1D0A9;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS;So;0;L;;;;;N;;;;;
-1D0AA;BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS;So;0;L;;;;;N;;;;;
-1D0AB;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS;So;0;L;;;;;N;;;;;
-1D0AC;BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS;So;0;L;;;;;N;;;;;
-1D0AD;BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS;So;0;L;;;;;N;;;;;
-1D0AE;BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS;So;0;L;;;;;N;;;;;
-1D0AF;BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS;So;0;L;;;;;N;;;;;
-1D0B0;BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS;So;0;L;;;;;N;;;;;
-1D0B1;BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS;So;0;L;;;;;N;;;;;
-1D0B2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS;So;0;L;;;;;N;;;;;
-1D0B3;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS;So;0;L;;;;;N;;;;;
-1D0B4;BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN;So;0;L;;;;;N;;;;;
-1D0B5;BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN;So;0;L;;;;;N;;;;;
-1D0B6;BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU;So;0;L;;;;;N;;;;;
-1D0B7;BYZANTINE MUSICAL SYMBOL IMIFONON;So;0;L;;;;;N;;;;;
-1D0B8;BYZANTINE MUSICAL SYMBOL IMIFTHORON;So;0;L;;;;;N;;;;;
-1D0B9;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU;So;0;L;;;;;N;;;;;
-1D0BA;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA;So;0;L;;;;;N;;;;;
-1D0BB;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA;So;0;L;;;;;N;;;;;
-1D0BC;BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS;So;0;L;;;;;N;;;;;
-1D0BD;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI;So;0;L;;;;;N;;;;;
-1D0BE;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI;So;0;L;;;;;N;;;;;
-1D0BF;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE;So;0;L;;;;;N;;;;;
-1D0C0;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO;So;0;L;;;;;N;;;;;
-1D0C1;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO;So;0;L;;;;;N;;;;;
-1D0C2;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO;So;0;L;;;;;N;;;;;
-1D0C3;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS;So;0;L;;;;;N;;;;;
-1D0C4;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS;So;0;L;;;;;N;;;;;
-1D0C5;BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS;So;0;L;;;;;N;;;;;
-1D0C6;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI;So;0;L;;;;;N;;;;;
-1D0C7;BYZANTINE MUSICAL SYMBOL FTHORA NENANO;So;0;L;;;;;N;;;;;
-1D0C8;BYZANTINE MUSICAL SYMBOL CHROA ZYGOS;So;0;L;;;;;N;;;;;
-1D0C9;BYZANTINE MUSICAL SYMBOL CHROA KLITON;So;0;L;;;;;N;;;;;
-1D0CA;BYZANTINE MUSICAL SYMBOL CHROA SPATHI;So;0;L;;;;;N;;;;;
-1D0CB;BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION;So;0;L;;;;;N;;;;;
-1D0CC;BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA;So;0;L;;;;;N;;;;;
-1D0CD;BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION;So;0;L;;;;;N;;;;;
-1D0CE;BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION;So;0;L;;;;;N;;;;;
-1D0CF;BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION;So;0;L;;;;;N;;;;;
-1D0D0;BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;;
-1D0D1;BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;;
-1D0D2;BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;;
-1D0D3;BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;;
-1D0D4;BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;;
-1D0D5;BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;;
-1D0D6;BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;;
-1D0D7;BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;;
-1D0D8;BYZANTINE MUSICAL SYMBOL GENIKI DIESIS;So;0;L;;;;;N;;;;;
-1D0D9;BYZANTINE MUSICAL SYMBOL GENIKI YFESIS;So;0;L;;;;;N;;;;;
-1D0DA;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI;So;0;L;;;;;N;;;;;
-1D0DB;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI;So;0;L;;;;;N;;;;;
-1D0DC;BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI;So;0;L;;;;;N;;;;;
-1D0DD;BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS;So;0;L;;;;;N;;;;;
-1D0DE;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS;So;0;L;;;;;N;;;;;
-1D0DF;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU;So;0;L;;;;;N;;;;;
-1D0E0;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU;So;0;L;;;;;N;;;;;
-1D0E1;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU;So;0;L;;;;;N;;;;;
-1D0E2;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS;So;0;L;;;;;N;;;;;
-1D0E3;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU;So;0;L;;;;;N;;;;;
-1D0E4;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU;So;0;L;;;;;N;;;;;
-1D0E5;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU;So;0;L;;;;;N;;;;;
-1D0E6;BYZANTINE MUSICAL SYMBOL DIGRAMMA GG;So;0;L;;;;;N;;;;;
-1D0E7;BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU;So;0;L;;;;;N;;;;;
-1D0E8;BYZANTINE MUSICAL SYMBOL STIGMA;So;0;L;;;;;N;;;;;
-1D0E9;BYZANTINE MUSICAL SYMBOL ARKTIKO PA;So;0;L;;;;;N;;;;;
-1D0EA;BYZANTINE MUSICAL SYMBOL ARKTIKO VOU;So;0;L;;;;;N;;;;;
-1D0EB;BYZANTINE MUSICAL SYMBOL ARKTIKO GA;So;0;L;;;;;N;;;;;
-1D0EC;BYZANTINE MUSICAL SYMBOL ARKTIKO DI;So;0;L;;;;;N;;;;;
-1D0ED;BYZANTINE MUSICAL SYMBOL ARKTIKO KE;So;0;L;;;;;N;;;;;
-1D0EE;BYZANTINE MUSICAL SYMBOL ARKTIKO ZO;So;0;L;;;;;N;;;;;
-1D0EF;BYZANTINE MUSICAL SYMBOL ARKTIKO NI;So;0;L;;;;;N;;;;;
-1D0F0;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO;So;0;L;;;;;N;;;;;
-1D0F1;BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO;So;0;L;;;;;N;;;;;
-1D0F2;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO;So;0;L;;;;;N;;;;;
-1D0F3;BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO;So;0;L;;;;;N;;;;;
-1D0F4;BYZANTINE MUSICAL SYMBOL KLASMA KATO;So;0;L;;;;;N;;;;;
-1D0F5;BYZANTINE MUSICAL SYMBOL GORGON NEO KATO;So;0;L;;;;;N;;;;;
-1D100;MUSICAL SYMBOL SINGLE BARLINE;So;0;L;;;;;N;;;;;
-1D101;MUSICAL SYMBOL DOUBLE BARLINE;So;0;L;;;;;N;;;;;
-1D102;MUSICAL SYMBOL FINAL BARLINE;So;0;L;;;;;N;;;;;
-1D103;MUSICAL SYMBOL REVERSE FINAL BARLINE;So;0;L;;;;;N;;;;;
-1D104;MUSICAL SYMBOL DASHED BARLINE;So;0;L;;;;;N;;;;;
-1D105;MUSICAL SYMBOL SHORT BARLINE;So;0;L;;;;;N;;;;;
-1D106;MUSICAL SYMBOL LEFT REPEAT SIGN;So;0;L;;;;;N;;;;;
-1D107;MUSICAL SYMBOL RIGHT REPEAT SIGN;So;0;L;;;;;N;;;;;
-1D108;MUSICAL SYMBOL REPEAT DOTS;So;0;L;;;;;N;;;;;
-1D109;MUSICAL SYMBOL DAL SEGNO;So;0;L;;;;;N;;;;;
-1D10A;MUSICAL SYMBOL DA CAPO;So;0;L;;;;;N;;;;;
-1D10B;MUSICAL SYMBOL SEGNO;So;0;L;;;;;N;;;;;
-1D10C;MUSICAL SYMBOL CODA;So;0;L;;;;;N;;;;;
-1D10D;MUSICAL SYMBOL REPEATED FIGURE-1;So;0;L;;;;;N;;;;;
-1D10E;MUSICAL SYMBOL REPEATED FIGURE-2;So;0;L;;;;;N;;;;;
-1D10F;MUSICAL SYMBOL REPEATED FIGURE-3;So;0;L;;;;;N;;;;;
-1D110;MUSICAL SYMBOL FERMATA;So;0;L;;;;;N;;;;;
-1D111;MUSICAL SYMBOL FERMATA BELOW;So;0;L;;;;;N;;;;;
-1D112;MUSICAL SYMBOL BREATH MARK;So;0;L;;;;;N;;;;;
-1D113;MUSICAL SYMBOL CAESURA;So;0;L;;;;;N;;;;;
-1D114;MUSICAL SYMBOL BRACE;So;0;L;;;;;N;;;;;
-1D115;MUSICAL SYMBOL BRACKET;So;0;L;;;;;N;;;;;
-1D116;MUSICAL SYMBOL ONE-LINE STAFF;So;0;L;;;;;N;;;;;
-1D117;MUSICAL SYMBOL TWO-LINE STAFF;So;0;L;;;;;N;;;;;
-1D118;MUSICAL SYMBOL THREE-LINE STAFF;So;0;L;;;;;N;;;;;
-1D119;MUSICAL SYMBOL FOUR-LINE STAFF;So;0;L;;;;;N;;;;;
-1D11A;MUSICAL SYMBOL FIVE-LINE STAFF;So;0;L;;;;;N;;;;;
-1D11B;MUSICAL SYMBOL SIX-LINE STAFF;So;0;L;;;;;N;;;;;
-1D11C;MUSICAL SYMBOL SIX-STRING FRETBOARD;So;0;L;;;;;N;;;;;
-1D11D;MUSICAL SYMBOL FOUR-STRING FRETBOARD;So;0;L;;;;;N;;;;;
-1D11E;MUSICAL SYMBOL G CLEF;So;0;L;;;;;N;;;;;
-1D11F;MUSICAL SYMBOL G CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;;
-1D120;MUSICAL SYMBOL G CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;;
-1D121;MUSICAL SYMBOL C CLEF;So;0;L;;;;;N;;;;;
-1D122;MUSICAL SYMBOL F CLEF;So;0;L;;;;;N;;;;;
-1D123;MUSICAL SYMBOL F CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;;
-1D124;MUSICAL SYMBOL F CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;;
-1D125;MUSICAL SYMBOL DRUM CLEF-1;So;0;L;;;;;N;;;;;
-1D126;MUSICAL SYMBOL DRUM CLEF-2;So;0;L;;;;;N;;;;;
-1D129;MUSICAL SYMBOL MULTIPLE MEASURE REST;So;0;L;;;;;N;;;;;
-1D12A;MUSICAL SYMBOL DOUBLE SHARP;So;0;L;;;;;N;;;;;
-1D12B;MUSICAL SYMBOL DOUBLE FLAT;So;0;L;;;;;N;;;;;
-1D12C;MUSICAL SYMBOL FLAT UP;So;0;L;;;;;N;;;;;
-1D12D;MUSICAL SYMBOL FLAT DOWN;So;0;L;;;;;N;;;;;
-1D12E;MUSICAL SYMBOL NATURAL UP;So;0;L;;;;;N;;;;;
-1D12F;MUSICAL SYMBOL NATURAL DOWN;So;0;L;;;;;N;;;;;
-1D130;MUSICAL SYMBOL SHARP UP;So;0;L;;;;;N;;;;;
-1D131;MUSICAL SYMBOL SHARP DOWN;So;0;L;;;;;N;;;;;
-1D132;MUSICAL SYMBOL QUARTER TONE SHARP;So;0;L;;;;;N;;;;;
-1D133;MUSICAL SYMBOL QUARTER TONE FLAT;So;0;L;;;;;N;;;;;
-1D134;MUSICAL SYMBOL COMMON TIME;So;0;L;;;;;N;;;;;
-1D135;MUSICAL SYMBOL CUT TIME;So;0;L;;;;;N;;;;;
-1D136;MUSICAL SYMBOL OTTAVA ALTA;So;0;L;;;;;N;;;;;
-1D137;MUSICAL SYMBOL OTTAVA BASSA;So;0;L;;;;;N;;;;;
-1D138;MUSICAL SYMBOL QUINDICESIMA ALTA;So;0;L;;;;;N;;;;;
-1D139;MUSICAL SYMBOL QUINDICESIMA BASSA;So;0;L;;;;;N;;;;;
-1D13A;MUSICAL SYMBOL MULTI REST;So;0;L;;;;;N;;;;;
-1D13B;MUSICAL SYMBOL WHOLE REST;So;0;L;;;;;N;;;;;
-1D13C;MUSICAL SYMBOL HALF REST;So;0;L;;;;;N;;;;;
-1D13D;MUSICAL SYMBOL QUARTER REST;So;0;L;;;;;N;;;;;
-1D13E;MUSICAL SYMBOL EIGHTH REST;So;0;L;;;;;N;;;;;
-1D13F;MUSICAL SYMBOL SIXTEENTH REST;So;0;L;;;;;N;;;;;
-1D140;MUSICAL SYMBOL THIRTY-SECOND REST;So;0;L;;;;;N;;;;;
-1D141;MUSICAL SYMBOL SIXTY-FOURTH REST;So;0;L;;;;;N;;;;;
-1D142;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST;So;0;L;;;;;N;;;;;
-1D143;MUSICAL SYMBOL X NOTEHEAD;So;0;L;;;;;N;;;;;
-1D144;MUSICAL SYMBOL PLUS NOTEHEAD;So;0;L;;;;;N;;;;;
-1D145;MUSICAL SYMBOL CIRCLE X NOTEHEAD;So;0;L;;;;;N;;;;;
-1D146;MUSICAL SYMBOL SQUARE NOTEHEAD WHITE;So;0;L;;;;;N;;;;;
-1D147;MUSICAL SYMBOL SQUARE NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
-1D148;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE;So;0;L;;;;;N;;;;;
-1D149;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK;So;0;L;;;;;N;;;;;
-1D14A;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE;So;0;L;;;;;N;;;;;
-1D14B;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK;So;0;L;;;;;N;;;;;
-1D14C;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE;So;0;L;;;;;N;;;;;
-1D14D;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK;So;0;L;;;;;N;;;;;
-1D14E;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;;
-1D14F;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;;
-1D150;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE;So;0;L;;;;;N;;;;;
-1D151;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK;So;0;L;;;;;N;;;;;
-1D152;MUSICAL SYMBOL MOON NOTEHEAD WHITE;So;0;L;;;;;N;;;;;
-1D153;MUSICAL SYMBOL MOON NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
-1D154;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;;
-1D155;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;;
-1D156;MUSICAL SYMBOL PARENTHESIS NOTEHEAD;So;0;L;;;;;N;;;;;
-1D157;MUSICAL SYMBOL VOID NOTEHEAD;So;0;L;;;;;N;;;;;
-1D158;MUSICAL SYMBOL NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
-1D159;MUSICAL SYMBOL NULL NOTEHEAD;So;0;L;;;;;N;;;;;
-1D15A;MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE;So;0;L;;;;;N;;;;;
-1D15B;MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK;So;0;L;;;;;N;;;;;
-1D15C;MUSICAL SYMBOL BREVE;So;0;L;;;;;N;;;;;
-1D15D;MUSICAL SYMBOL WHOLE NOTE;So;0;L;;;;;N;;;;;
-1D15E;MUSICAL SYMBOL HALF NOTE;So;0;L;1D157 1D165;;;;N;;;;;
-1D15F;MUSICAL SYMBOL QUARTER NOTE;So;0;L;1D158 1D165;;;;N;;;;;
-1D160;MUSICAL SYMBOL EIGHTH NOTE;So;0;L;1D15F 1D16E;;;;N;;;;;
-1D161;MUSICAL SYMBOL SIXTEENTH NOTE;So;0;L;1D15F 1D16F;;;;N;;;;;
-1D162;MUSICAL SYMBOL THIRTY-SECOND NOTE;So;0;L;1D15F 1D170;;;;N;;;;;
-1D163;MUSICAL SYMBOL SIXTY-FOURTH NOTE;So;0;L;1D15F 1D171;;;;N;;;;;
-1D164;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE;So;0;L;1D15F 1D172;;;;N;;;;;
-1D165;MUSICAL SYMBOL COMBINING STEM;Mc;216;L;;;;;N;;;;;
-1D166;MUSICAL SYMBOL COMBINING SPRECHGESANG STEM;Mc;216;L;;;;;N;;;;;
-1D167;MUSICAL SYMBOL COMBINING TREMOLO-1;Mn;1;NSM;;;;;N;;;;;
-1D168;MUSICAL SYMBOL COMBINING TREMOLO-2;Mn;1;NSM;;;;;N;;;;;
-1D169;MUSICAL SYMBOL COMBINING TREMOLO-3;Mn;1;NSM;;;;;N;;;;;
-1D16A;MUSICAL SYMBOL FINGERED TREMOLO-1;So;0;L;;;;;N;;;;;
-1D16B;MUSICAL SYMBOL FINGERED TREMOLO-2;So;0;L;;;;;N;;;;;
-1D16C;MUSICAL SYMBOL FINGERED TREMOLO-3;So;0;L;;;;;N;;;;;
-1D16D;MUSICAL SYMBOL COMBINING AUGMENTATION DOT;Mc;226;L;;;;;N;;;;;
-1D16E;MUSICAL SYMBOL COMBINING FLAG-1;Mc;216;L;;;;;N;;;;;
-1D16F;MUSICAL SYMBOL COMBINING FLAG-2;Mc;216;L;;;;;N;;;;;
-1D170;MUSICAL SYMBOL COMBINING FLAG-3;Mc;216;L;;;;;N;;;;;
-1D171;MUSICAL SYMBOL COMBINING FLAG-4;Mc;216;L;;;;;N;;;;;
-1D172;MUSICAL SYMBOL COMBINING FLAG-5;Mc;216;L;;;;;N;;;;;
-1D173;MUSICAL SYMBOL BEGIN BEAM;Cf;0;BN;;;;;N;;;;;
-1D174;MUSICAL SYMBOL END BEAM;Cf;0;BN;;;;;N;;;;;
-1D175;MUSICAL SYMBOL BEGIN TIE;Cf;0;BN;;;;;N;;;;;
-1D176;MUSICAL SYMBOL END TIE;Cf;0;BN;;;;;N;;;;;
-1D177;MUSICAL SYMBOL BEGIN SLUR;Cf;0;BN;;;;;N;;;;;
-1D178;MUSICAL SYMBOL END SLUR;Cf;0;BN;;;;;N;;;;;
-1D179;MUSICAL SYMBOL BEGIN PHRASE;Cf;0;BN;;;;;N;;;;;
-1D17A;MUSICAL SYMBOL END PHRASE;Cf;0;BN;;;;;N;;;;;
-1D17B;MUSICAL SYMBOL COMBINING ACCENT;Mn;220;NSM;;;;;N;;;;;
-1D17C;MUSICAL SYMBOL COMBINING STACCATO;Mn;220;NSM;;;;;N;;;;;
-1D17D;MUSICAL SYMBOL COMBINING TENUTO;Mn;220;NSM;;;;;N;;;;;
-1D17E;MUSICAL SYMBOL COMBINING STACCATISSIMO;Mn;220;NSM;;;;;N;;;;;
-1D17F;MUSICAL SYMBOL COMBINING MARCATO;Mn;220;NSM;;;;;N;;;;;
-1D180;MUSICAL SYMBOL COMBINING MARCATO-STACCATO;Mn;220;NSM;;;;;N;;;;;
-1D181;MUSICAL SYMBOL COMBINING ACCENT-STACCATO;Mn;220;NSM;;;;;N;;;;;
-1D182;MUSICAL SYMBOL COMBINING LOURE;Mn;220;NSM;;;;;N;;;;;
-1D183;MUSICAL SYMBOL ARPEGGIATO UP;So;0;L;;;;;N;;;;;
-1D184;MUSICAL SYMBOL ARPEGGIATO DOWN;So;0;L;;;;;N;;;;;
-1D185;MUSICAL SYMBOL COMBINING DOIT;Mn;230;NSM;;;;;N;;;;;
-1D186;MUSICAL SYMBOL COMBINING RIP;Mn;230;NSM;;;;;N;;;;;
-1D187;MUSICAL SYMBOL COMBINING FLIP;Mn;230;NSM;;;;;N;;;;;
-1D188;MUSICAL SYMBOL COMBINING SMEAR;Mn;230;NSM;;;;;N;;;;;
-1D189;MUSICAL SYMBOL COMBINING BEND;Mn;230;NSM;;;;;N;;;;;
-1D18A;MUSICAL SYMBOL COMBINING DOUBLE TONGUE;Mn;220;NSM;;;;;N;;;;;
-1D18B;MUSICAL SYMBOL COMBINING TRIPLE TONGUE;Mn;220;NSM;;;;;N;;;;;
-1D18C;MUSICAL SYMBOL RINFORZANDO;So;0;L;;;;;N;;;;;
-1D18D;MUSICAL SYMBOL SUBITO;So;0;L;;;;;N;;;;;
-1D18E;MUSICAL SYMBOL Z;So;0;L;;;;;N;;;;;
-1D18F;MUSICAL SYMBOL PIANO;So;0;L;;;;;N;;;;;
-1D190;MUSICAL SYMBOL MEZZO;So;0;L;;;;;N;;;;;
-1D191;MUSICAL SYMBOL FORTE;So;0;L;;;;;N;;;;;
-1D192;MUSICAL SYMBOL CRESCENDO;So;0;L;;;;;N;;;;;
-1D193;MUSICAL SYMBOL DECRESCENDO;So;0;L;;;;;N;;;;;
-1D194;MUSICAL SYMBOL GRACE NOTE SLASH;So;0;L;;;;;N;;;;;
-1D195;MUSICAL SYMBOL GRACE NOTE NO SLASH;So;0;L;;;;;N;;;;;
-1D196;MUSICAL SYMBOL TR;So;0;L;;;;;N;;;;;
-1D197;MUSICAL SYMBOL TURN;So;0;L;;;;;N;;;;;
-1D198;MUSICAL SYMBOL INVERTED TURN;So;0;L;;;;;N;;;;;
-1D199;MUSICAL SYMBOL TURN SLASH;So;0;L;;;;;N;;;;;
-1D19A;MUSICAL SYMBOL TURN UP;So;0;L;;;;;N;;;;;
-1D19B;MUSICAL SYMBOL ORNAMENT STROKE-1;So;0;L;;;;;N;;;;;
-1D19C;MUSICAL SYMBOL ORNAMENT STROKE-2;So;0;L;;;;;N;;;;;
-1D19D;MUSICAL SYMBOL ORNAMENT STROKE-3;So;0;L;;;;;N;;;;;
-1D19E;MUSICAL SYMBOL ORNAMENT STROKE-4;So;0;L;;;;;N;;;;;
-1D19F;MUSICAL SYMBOL ORNAMENT STROKE-5;So;0;L;;;;;N;;;;;
-1D1A0;MUSICAL SYMBOL ORNAMENT STROKE-6;So;0;L;;;;;N;;;;;
-1D1A1;MUSICAL SYMBOL ORNAMENT STROKE-7;So;0;L;;;;;N;;;;;
-1D1A2;MUSICAL SYMBOL ORNAMENT STROKE-8;So;0;L;;;;;N;;;;;
-1D1A3;MUSICAL SYMBOL ORNAMENT STROKE-9;So;0;L;;;;;N;;;;;
-1D1A4;MUSICAL SYMBOL ORNAMENT STROKE-10;So;0;L;;;;;N;;;;;
-1D1A5;MUSICAL SYMBOL ORNAMENT STROKE-11;So;0;L;;;;;N;;;;;
-1D1A6;MUSICAL SYMBOL HAUPTSTIMME;So;0;L;;;;;N;;;;;
-1D1A7;MUSICAL SYMBOL NEBENSTIMME;So;0;L;;;;;N;;;;;
-1D1A8;MUSICAL SYMBOL END OF STIMME;So;0;L;;;;;N;;;;;
-1D1A9;MUSICAL SYMBOL DEGREE SLASH;So;0;L;;;;;N;;;;;
-1D1AA;MUSICAL SYMBOL COMBINING DOWN BOW;Mn;230;NSM;;;;;N;;;;;
-1D1AB;MUSICAL SYMBOL COMBINING UP BOW;Mn;230;NSM;;;;;N;;;;;
-1D1AC;MUSICAL SYMBOL COMBINING HARMONIC;Mn;230;NSM;;;;;N;;;;;
-1D1AD;MUSICAL SYMBOL COMBINING SNAP PIZZICATO;Mn;230;NSM;;;;;N;;;;;
-1D1AE;MUSICAL SYMBOL PEDAL MARK;So;0;L;;;;;N;;;;;
-1D1AF;MUSICAL SYMBOL PEDAL UP MARK;So;0;L;;;;;N;;;;;
-1D1B0;MUSICAL SYMBOL HALF PEDAL MARK;So;0;L;;;;;N;;;;;
-1D1B1;MUSICAL SYMBOL GLISSANDO UP;So;0;L;;;;;N;;;;;
-1D1B2;MUSICAL SYMBOL GLISSANDO DOWN;So;0;L;;;;;N;;;;;
-1D1B3;MUSICAL SYMBOL WITH FINGERNAILS;So;0;L;;;;;N;;;;;
-1D1B4;MUSICAL SYMBOL DAMP;So;0;L;;;;;N;;;;;
-1D1B5;MUSICAL SYMBOL DAMP ALL;So;0;L;;;;;N;;;;;
-1D1B6;MUSICAL SYMBOL MAXIMA;So;0;L;;;;;N;;;;;
-1D1B7;MUSICAL SYMBOL LONGA;So;0;L;;;;;N;;;;;
-1D1B8;MUSICAL SYMBOL BREVIS;So;0;L;;;;;N;;;;;
-1D1B9;MUSICAL SYMBOL SEMIBREVIS WHITE;So;0;L;;;;;N;;;;;
-1D1BA;MUSICAL SYMBOL SEMIBREVIS BLACK;So;0;L;;;;;N;;;;;
-1D1BB;MUSICAL SYMBOL MINIMA;So;0;L;1D1B9 1D165;;;;N;;;;;
-1D1BC;MUSICAL SYMBOL MINIMA BLACK;So;0;L;1D1BA 1D165;;;;N;;;;;
-1D1BD;MUSICAL SYMBOL SEMIMINIMA WHITE;So;0;L;1D1BB 1D16E;;;;N;;;;;
-1D1BE;MUSICAL SYMBOL SEMIMINIMA BLACK;So;0;L;1D1BC 1D16E;;;;N;;;;;
-1D1BF;MUSICAL SYMBOL FUSA WHITE;So;0;L;1D1BB 1D16F;;;;N;;;;;
-1D1C0;MUSICAL SYMBOL FUSA BLACK;So;0;L;1D1BC 1D16F;;;;N;;;;;
-1D1C1;MUSICAL SYMBOL LONGA PERFECTA REST;So;0;L;;;;;N;;;;;
-1D1C2;MUSICAL SYMBOL LONGA IMPERFECTA REST;So;0;L;;;;;N;;;;;
-1D1C3;MUSICAL SYMBOL BREVIS REST;So;0;L;;;;;N;;;;;
-1D1C4;MUSICAL SYMBOL SEMIBREVIS REST;So;0;L;;;;;N;;;;;
-1D1C5;MUSICAL SYMBOL MINIMA REST;So;0;L;;;;;N;;;;;
-1D1C6;MUSICAL SYMBOL SEMIMINIMA REST;So;0;L;;;;;N;;;;;
-1D1C7;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;;
-1D1C8;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;;
-1D1C9;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;;
-1D1CA;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;;
-1D1CB;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;;
-1D1CC;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;;
-1D1CD;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2;So;0;L;;;;;N;;;;;
-1D1CE;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3;So;0;L;;;;;N;;;;;
-1D1CF;MUSICAL SYMBOL CROIX;So;0;L;;;;;N;;;;;
-1D1D0;MUSICAL SYMBOL GREGORIAN C CLEF;So;0;L;;;;;N;;;;;
-1D1D1;MUSICAL SYMBOL GREGORIAN F CLEF;So;0;L;;;;;N;;;;;
-1D1D2;MUSICAL SYMBOL SQUARE B;So;0;L;;;;;N;;;;;
-1D1D3;MUSICAL SYMBOL VIRGA;So;0;L;;;;;N;;;;;
-1D1D4;MUSICAL SYMBOL PODATUS;So;0;L;;;;;N;;;;;
-1D1D5;MUSICAL SYMBOL CLIVIS;So;0;L;;;;;N;;;;;
-1D1D6;MUSICAL SYMBOL SCANDICUS;So;0;L;;;;;N;;;;;
-1D1D7;MUSICAL SYMBOL CLIMACUS;So;0;L;;;;;N;;;;;
-1D1D8;MUSICAL SYMBOL TORCULUS;So;0;L;;;;;N;;;;;
-1D1D9;MUSICAL SYMBOL PORRECTUS;So;0;L;;;;;N;;;;;
-1D1DA;MUSICAL SYMBOL PORRECTUS FLEXUS;So;0;L;;;;;N;;;;;
-1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;;
-1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;;
-1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;;
-1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;;
-1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;;
-1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;;
-1D203;GREEK VOCAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;;
-1D204;GREEK VOCAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;;
-1D205;GREEK VOCAL NOTATION SYMBOL-6;So;0;ON;;;;;N;;;;;
-1D206;GREEK VOCAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;;
-1D207;GREEK VOCAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;;
-1D208;GREEK VOCAL NOTATION SYMBOL-9;So;0;ON;;;;;N;;;;;
-1D209;GREEK VOCAL NOTATION SYMBOL-10;So;0;ON;;;;;N;;;;;
-1D20A;GREEK VOCAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;;
-1D20B;GREEK VOCAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;;
-1D20C;GREEK VOCAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;;
-1D20D;GREEK VOCAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;;
-1D20E;GREEK VOCAL NOTATION SYMBOL-15;So;0;ON;;;;;N;;;;;
-1D20F;GREEK VOCAL NOTATION SYMBOL-16;So;0;ON;;;;;N;;;;;
-1D210;GREEK VOCAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;;
-1D211;GREEK VOCAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;;
-1D212;GREEK VOCAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;;
-1D213;GREEK VOCAL NOTATION SYMBOL-20;So;0;ON;;;;;N;;;;;
-1D214;GREEK VOCAL NOTATION SYMBOL-21;So;0;ON;;;;;N;;;;;
-1D215;GREEK VOCAL NOTATION SYMBOL-22;So;0;ON;;;;;N;;;;;
-1D216;GREEK VOCAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;;
-1D217;GREEK VOCAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;;
-1D218;GREEK VOCAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;;
-1D219;GREEK VOCAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;;
-1D21A;GREEK VOCAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;;
-1D21B;GREEK VOCAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;;
-1D21C;GREEK VOCAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;;
-1D21D;GREEK INSTRUMENTAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;;
-1D21E;GREEK INSTRUMENTAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;;
-1D21F;GREEK INSTRUMENTAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;;
-1D220;GREEK INSTRUMENTAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;;
-1D221;GREEK INSTRUMENTAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;;
-1D222;GREEK INSTRUMENTAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;;
-1D223;GREEK INSTRUMENTAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;;
-1D224;GREEK INSTRUMENTAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;;
-1D225;GREEK INSTRUMENTAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;;
-1D226;GREEK INSTRUMENTAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;;
-1D227;GREEK INSTRUMENTAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;;
-1D228;GREEK INSTRUMENTAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;;
-1D229;GREEK INSTRUMENTAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;;
-1D22A;GREEK INSTRUMENTAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;;
-1D22B;GREEK INSTRUMENTAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;;
-1D22C;GREEK INSTRUMENTAL NOTATION SYMBOL-25;So;0;ON;;;;;N;;;;;
-1D22D;GREEK INSTRUMENTAL NOTATION SYMBOL-26;So;0;ON;;;;;N;;;;;
-1D22E;GREEK INSTRUMENTAL NOTATION SYMBOL-27;So;0;ON;;;;;N;;;;;
-1D22F;GREEK INSTRUMENTAL NOTATION SYMBOL-29;So;0;ON;;;;;N;;;;;
-1D230;GREEK INSTRUMENTAL NOTATION SYMBOL-30;So;0;ON;;;;;N;;;;;
-1D231;GREEK INSTRUMENTAL NOTATION SYMBOL-32;So;0;ON;;;;;N;;;;;
-1D232;GREEK INSTRUMENTAL NOTATION SYMBOL-36;So;0;ON;;;;;N;;;;;
-1D233;GREEK INSTRUMENTAL NOTATION SYMBOL-37;So;0;ON;;;;;N;;;;;
-1D234;GREEK INSTRUMENTAL NOTATION SYMBOL-38;So;0;ON;;;;;N;;;;;
-1D235;GREEK INSTRUMENTAL NOTATION SYMBOL-39;So;0;ON;;;;;N;;;;;
-1D236;GREEK INSTRUMENTAL NOTATION SYMBOL-40;So;0;ON;;;;;N;;;;;
-1D237;GREEK INSTRUMENTAL NOTATION SYMBOL-42;So;0;ON;;;;;N;;;;;
-1D238;GREEK INSTRUMENTAL NOTATION SYMBOL-43;So;0;ON;;;;;N;;;;;
-1D239;GREEK INSTRUMENTAL NOTATION SYMBOL-45;So;0;ON;;;;;N;;;;;
-1D23A;GREEK INSTRUMENTAL NOTATION SYMBOL-47;So;0;ON;;;;;N;;;;;
-1D23B;GREEK INSTRUMENTAL NOTATION SYMBOL-48;So;0;ON;;;;;N;;;;;
-1D23C;GREEK INSTRUMENTAL NOTATION SYMBOL-49;So;0;ON;;;;;N;;;;;
-1D23D;GREEK INSTRUMENTAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;;
-1D23E;GREEK INSTRUMENTAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;;
-1D23F;GREEK INSTRUMENTAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;;
-1D240;GREEK INSTRUMENTAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;;
-1D241;GREEK INSTRUMENTAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;;
-1D242;COMBINING GREEK MUSICAL TRISEME;Mn;230;NSM;;;;;N;;;;;
-1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;;
-1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;;
-1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;;
-1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
-1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;;;;
-1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;;;;
-1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;;;;
-1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;;;;
-1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
-1D306;TETRAGRAM FOR CENTRE;So;0;ON;;;;;N;;;;;
-1D307;TETRAGRAM FOR FULL CIRCLE;So;0;ON;;;;;N;;;;;
-1D308;TETRAGRAM FOR MIRED;So;0;ON;;;;;N;;;;;
-1D309;TETRAGRAM FOR BARRIER;So;0;ON;;;;;N;;;;;
-1D30A;TETRAGRAM FOR KEEPING SMALL;So;0;ON;;;;;N;;;;;
-1D30B;TETRAGRAM FOR CONTRARIETY;So;0;ON;;;;;N;;;;;
-1D30C;TETRAGRAM FOR ASCENT;So;0;ON;;;;;N;;;;;
-1D30D;TETRAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;;
-1D30E;TETRAGRAM FOR BRANCHING OUT;So;0;ON;;;;;N;;;;;
-1D30F;TETRAGRAM FOR DEFECTIVENESS OR DISTORTION;So;0;ON;;;;;N;;;;;
-1D310;TETRAGRAM FOR DIVERGENCE;So;0;ON;;;;;N;;;;;
-1D311;TETRAGRAM FOR YOUTHFULNESS;So;0;ON;;;;;N;;;;;
-1D312;TETRAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;;
-1D313;TETRAGRAM FOR PENETRATION;So;0;ON;;;;;N;;;;;
-1D314;TETRAGRAM FOR REACH;So;0;ON;;;;;N;;;;;
-1D315;TETRAGRAM FOR CONTACT;So;0;ON;;;;;N;;;;;
-1D316;TETRAGRAM FOR HOLDING BACK;So;0;ON;;;;;N;;;;;
-1D317;TETRAGRAM FOR WAITING;So;0;ON;;;;;N;;;;;
-1D318;TETRAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;;
-1D319;TETRAGRAM FOR ADVANCE;So;0;ON;;;;;N;;;;;
-1D31A;TETRAGRAM FOR RELEASE;So;0;ON;;;;;N;;;;;
-1D31B;TETRAGRAM FOR RESISTANCE;So;0;ON;;;;;N;;;;;
-1D31C;TETRAGRAM FOR EASE;So;0;ON;;;;;N;;;;;
-1D31D;TETRAGRAM FOR JOY;So;0;ON;;;;;N;;;;;
-1D31E;TETRAGRAM FOR CONTENTION;So;0;ON;;;;;N;;;;;
-1D31F;TETRAGRAM FOR ENDEAVOUR;So;0;ON;;;;;N;;;;;
-1D320;TETRAGRAM FOR DUTIES;So;0;ON;;;;;N;;;;;
-1D321;TETRAGRAM FOR CHANGE;So;0;ON;;;;;N;;;;;
-1D322;TETRAGRAM FOR DECISIVENESS;So;0;ON;;;;;N;;;;;
-1D323;TETRAGRAM FOR BOLD RESOLUTION;So;0;ON;;;;;N;;;;;
-1D324;TETRAGRAM FOR PACKING;So;0;ON;;;;;N;;;;;
-1D325;TETRAGRAM FOR LEGION;So;0;ON;;;;;N;;;;;
-1D326;TETRAGRAM FOR CLOSENESS;So;0;ON;;;;;N;;;;;
-1D327;TETRAGRAM FOR KINSHIP;So;0;ON;;;;;N;;;;;
-1D328;TETRAGRAM FOR GATHERING;So;0;ON;;;;;N;;;;;
-1D329;TETRAGRAM FOR STRENGTH;So;0;ON;;;;;N;;;;;
-1D32A;TETRAGRAM FOR PURITY;So;0;ON;;;;;N;;;;;
-1D32B;TETRAGRAM FOR FULLNESS;So;0;ON;;;;;N;;;;;
-1D32C;TETRAGRAM FOR RESIDENCE;So;0;ON;;;;;N;;;;;
-1D32D;TETRAGRAM FOR LAW OR MODEL;So;0;ON;;;;;N;;;;;
-1D32E;TETRAGRAM FOR RESPONSE;So;0;ON;;;;;N;;;;;
-1D32F;TETRAGRAM FOR GOING TO MEET;So;0;ON;;;;;N;;;;;
-1D330;TETRAGRAM FOR ENCOUNTERS;So;0;ON;;;;;N;;;;;
-1D331;TETRAGRAM FOR STOVE;So;0;ON;;;;;N;;;;;
-1D332;TETRAGRAM FOR GREATNESS;So;0;ON;;;;;N;;;;;
-1D333;TETRAGRAM FOR ENLARGEMENT;So;0;ON;;;;;N;;;;;
-1D334;TETRAGRAM FOR PATTERN;So;0;ON;;;;;N;;;;;
-1D335;TETRAGRAM FOR RITUAL;So;0;ON;;;;;N;;;;;
-1D336;TETRAGRAM FOR FLIGHT;So;0;ON;;;;;N;;;;;
-1D337;TETRAGRAM FOR VASTNESS OR WASTING;So;0;ON;;;;;N;;;;;
-1D338;TETRAGRAM FOR CONSTANCY;So;0;ON;;;;;N;;;;;
-1D339;TETRAGRAM FOR MEASURE;So;0;ON;;;;;N;;;;;
-1D33A;TETRAGRAM FOR ETERNITY;So;0;ON;;;;;N;;;;;
-1D33B;TETRAGRAM FOR UNITY;So;0;ON;;;;;N;;;;;
-1D33C;TETRAGRAM FOR DIMINISHMENT;So;0;ON;;;;;N;;;;;
-1D33D;TETRAGRAM FOR CLOSED MOUTH;So;0;ON;;;;;N;;;;;
-1D33E;TETRAGRAM FOR GUARDEDNESS;So;0;ON;;;;;N;;;;;
-1D33F;TETRAGRAM FOR GATHERING IN;So;0;ON;;;;;N;;;;;
-1D340;TETRAGRAM FOR MASSING;So;0;ON;;;;;N;;;;;
-1D341;TETRAGRAM FOR ACCUMULATION;So;0;ON;;;;;N;;;;;
-1D342;TETRAGRAM FOR EMBELLISHMENT;So;0;ON;;;;;N;;;;;
-1D343;TETRAGRAM FOR DOUBT;So;0;ON;;;;;N;;;;;
-1D344;TETRAGRAM FOR WATCH;So;0;ON;;;;;N;;;;;
-1D345;TETRAGRAM FOR SINKING;So;0;ON;;;;;N;;;;;
-1D346;TETRAGRAM FOR INNER;So;0;ON;;;;;N;;;;;
-1D347;TETRAGRAM FOR DEPARTURE;So;0;ON;;;;;N;;;;;
-1D348;TETRAGRAM FOR DARKENING;So;0;ON;;;;;N;;;;;
-1D349;TETRAGRAM FOR DIMMING;So;0;ON;;;;;N;;;;;
-1D34A;TETRAGRAM FOR EXHAUSTION;So;0;ON;;;;;N;;;;;
-1D34B;TETRAGRAM FOR SEVERANCE;So;0;ON;;;;;N;;;;;
-1D34C;TETRAGRAM FOR STOPPAGE;So;0;ON;;;;;N;;;;;
-1D34D;TETRAGRAM FOR HARDNESS;So;0;ON;;;;;N;;;;;
-1D34E;TETRAGRAM FOR COMPLETION;So;0;ON;;;;;N;;;;;
-1D34F;TETRAGRAM FOR CLOSURE;So;0;ON;;;;;N;;;;;
-1D350;TETRAGRAM FOR FAILURE;So;0;ON;;;;;N;;;;;
-1D351;TETRAGRAM FOR AGGRAVATION;So;0;ON;;;;;N;;;;;
-1D352;TETRAGRAM FOR COMPLIANCE;So;0;ON;;;;;N;;;;;
-1D353;TETRAGRAM FOR ON THE VERGE;So;0;ON;;;;;N;;;;;
-1D354;TETRAGRAM FOR DIFFICULTIES;So;0;ON;;;;;N;;;;;
-1D355;TETRAGRAM FOR LABOURING;So;0;ON;;;;;N;;;;;
-1D356;TETRAGRAM FOR FOSTERING;So;0;ON;;;;;N;;;;;
-1D360;COUNTING ROD UNIT DIGIT ONE;No;0;L;;;;1;N;;;;;
-1D361;COUNTING ROD UNIT DIGIT TWO;No;0;L;;;;2;N;;;;;
-1D362;COUNTING ROD UNIT DIGIT THREE;No;0;L;;;;3;N;;;;;
-1D363;COUNTING ROD UNIT DIGIT FOUR;No;0;L;;;;4;N;;;;;
-1D364;COUNTING ROD UNIT DIGIT FIVE;No;0;L;;;;5;N;;;;;
-1D365;COUNTING ROD UNIT DIGIT SIX;No;0;L;;;;6;N;;;;;
-1D366;COUNTING ROD UNIT DIGIT SEVEN;No;0;L;;;;7;N;;;;;
-1D367;COUNTING ROD UNIT DIGIT EIGHT;No;0;L;;;;8;N;;;;;
-1D368;COUNTING ROD UNIT DIGIT NINE;No;0;L;;;;9;N;;;;;
-1D369;COUNTING ROD TENS DIGIT ONE;No;0;L;;;;10;N;;;;;
-1D36A;COUNTING ROD TENS DIGIT TWO;No;0;L;;;;20;N;;;;;
-1D36B;COUNTING ROD TENS DIGIT THREE;No;0;L;;;;30;N;;;;;
-1D36C;COUNTING ROD TENS DIGIT FOUR;No;0;L;;;;40;N;;;;;
-1D36D;COUNTING ROD TENS DIGIT FIVE;No;0;L;;;;50;N;;;;;
-1D36E;COUNTING ROD TENS DIGIT SIX;No;0;L;;;;60;N;;;;;
-1D36F;COUNTING ROD TENS DIGIT SEVEN;No;0;L;;;;70;N;;;;;
-1D370;COUNTING ROD TENS DIGIT EIGHT;No;0;L;;;;80;N;;;;;
-1D371;COUNTING ROD TENS DIGIT NINE;No;0;L;;;;90;N;;;;;
-1D400;MATHEMATICAL BOLD CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D403;MATHEMATICAL BOLD CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D404;MATHEMATICAL BOLD CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D405;MATHEMATICAL BOLD CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D406;MATHEMATICAL BOLD CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D407;MATHEMATICAL BOLD CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D408;MATHEMATICAL BOLD CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D409;MATHEMATICAL BOLD CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D40A;MATHEMATICAL BOLD CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D40B;MATHEMATICAL BOLD CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D40C;MATHEMATICAL BOLD CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D40D;MATHEMATICAL BOLD CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D40E;MATHEMATICAL BOLD CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D40F;MATHEMATICAL BOLD CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D410;MATHEMATICAL BOLD CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D411;MATHEMATICAL BOLD CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D412;MATHEMATICAL BOLD CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D413;MATHEMATICAL BOLD CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D414;MATHEMATICAL BOLD CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D415;MATHEMATICAL BOLD CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D416;MATHEMATICAL BOLD CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D417;MATHEMATICAL BOLD CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D418;MATHEMATICAL BOLD CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D419;MATHEMATICAL BOLD CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D41A;MATHEMATICAL BOLD SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D41B;MATHEMATICAL BOLD SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D41C;MATHEMATICAL BOLD SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D41D;MATHEMATICAL BOLD SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D41E;MATHEMATICAL BOLD SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D41F;MATHEMATICAL BOLD SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D420;MATHEMATICAL BOLD SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D421;MATHEMATICAL BOLD SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D422;MATHEMATICAL BOLD SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D423;MATHEMATICAL BOLD SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D424;MATHEMATICAL BOLD SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D425;MATHEMATICAL BOLD SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D426;MATHEMATICAL BOLD SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D427;MATHEMATICAL BOLD SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D428;MATHEMATICAL BOLD SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D429;MATHEMATICAL BOLD SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D42A;MATHEMATICAL BOLD SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D42B;MATHEMATICAL BOLD SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D42C;MATHEMATICAL BOLD SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D42D;MATHEMATICAL BOLD SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D42E;MATHEMATICAL BOLD SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D42F;MATHEMATICAL BOLD SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D430;MATHEMATICAL BOLD SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D431;MATHEMATICAL BOLD SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D432;MATHEMATICAL BOLD SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D433;MATHEMATICAL BOLD SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D434;MATHEMATICAL ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D435;MATHEMATICAL ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D436;MATHEMATICAL ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D437;MATHEMATICAL ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D438;MATHEMATICAL ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D439;MATHEMATICAL ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D43A;MATHEMATICAL ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D43B;MATHEMATICAL ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D43C;MATHEMATICAL ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D43D;MATHEMATICAL ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D43E;MATHEMATICAL ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D43F;MATHEMATICAL ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D440;MATHEMATICAL ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D441;MATHEMATICAL ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D442;MATHEMATICAL ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D443;MATHEMATICAL ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D444;MATHEMATICAL ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D445;MATHEMATICAL ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D446;MATHEMATICAL ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D447;MATHEMATICAL ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D448;MATHEMATICAL ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D449;MATHEMATICAL ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D44A;MATHEMATICAL ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D44B;MATHEMATICAL ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D44C;MATHEMATICAL ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D44D;MATHEMATICAL ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D44E;MATHEMATICAL ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D44F;MATHEMATICAL ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D450;MATHEMATICAL ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D451;MATHEMATICAL ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D452;MATHEMATICAL ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D453;MATHEMATICAL ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D454;MATHEMATICAL ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D456;MATHEMATICAL ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D457;MATHEMATICAL ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D458;MATHEMATICAL ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D459;MATHEMATICAL ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D45A;MATHEMATICAL ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D45B;MATHEMATICAL ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D45C;MATHEMATICAL ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D45D;MATHEMATICAL ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D45E;MATHEMATICAL ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D45F;MATHEMATICAL ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D460;MATHEMATICAL ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D461;MATHEMATICAL ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D462;MATHEMATICAL ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D463;MATHEMATICAL ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D464;MATHEMATICAL ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D465;MATHEMATICAL ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D466;MATHEMATICAL ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D467;MATHEMATICAL ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D468;MATHEMATICAL BOLD ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D469;MATHEMATICAL BOLD ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D46A;MATHEMATICAL BOLD ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D46B;MATHEMATICAL BOLD ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D46C;MATHEMATICAL BOLD ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D46D;MATHEMATICAL BOLD ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D46E;MATHEMATICAL BOLD ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D46F;MATHEMATICAL BOLD ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D470;MATHEMATICAL BOLD ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D471;MATHEMATICAL BOLD ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D472;MATHEMATICAL BOLD ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D473;MATHEMATICAL BOLD ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D474;MATHEMATICAL BOLD ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D475;MATHEMATICAL BOLD ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D476;MATHEMATICAL BOLD ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D477;MATHEMATICAL BOLD ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D478;MATHEMATICAL BOLD ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D479;MATHEMATICAL BOLD ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D47A;MATHEMATICAL BOLD ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D47B;MATHEMATICAL BOLD ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D47C;MATHEMATICAL BOLD ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D47D;MATHEMATICAL BOLD ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D47E;MATHEMATICAL BOLD ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D47F;MATHEMATICAL BOLD ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D480;MATHEMATICAL BOLD ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D481;MATHEMATICAL BOLD ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D482;MATHEMATICAL BOLD ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D483;MATHEMATICAL BOLD ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D484;MATHEMATICAL BOLD ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D485;MATHEMATICAL BOLD ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D486;MATHEMATICAL BOLD ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D487;MATHEMATICAL BOLD ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D488;MATHEMATICAL BOLD ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D489;MATHEMATICAL BOLD ITALIC SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D48A;MATHEMATICAL BOLD ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D48B;MATHEMATICAL BOLD ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D48C;MATHEMATICAL BOLD ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D48D;MATHEMATICAL BOLD ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D48E;MATHEMATICAL BOLD ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D48F;MATHEMATICAL BOLD ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D490;MATHEMATICAL BOLD ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D491;MATHEMATICAL BOLD ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D492;MATHEMATICAL BOLD ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D493;MATHEMATICAL BOLD ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D494;MATHEMATICAL BOLD ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D495;MATHEMATICAL BOLD ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D496;MATHEMATICAL BOLD ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D497;MATHEMATICAL BOLD ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D498;MATHEMATICAL BOLD ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D499;MATHEMATICAL BOLD ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D49A;MATHEMATICAL BOLD ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D49B;MATHEMATICAL BOLD ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D49C;MATHEMATICAL SCRIPT CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D49E;MATHEMATICAL SCRIPT CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D49F;MATHEMATICAL SCRIPT CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D4A2;MATHEMATICAL SCRIPT CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D4A5;MATHEMATICAL SCRIPT CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D4A6;MATHEMATICAL SCRIPT CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D4A9;MATHEMATICAL SCRIPT CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D4AA;MATHEMATICAL SCRIPT CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D4AB;MATHEMATICAL SCRIPT CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D4AC;MATHEMATICAL SCRIPT CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D4AE;MATHEMATICAL SCRIPT CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D4AF;MATHEMATICAL SCRIPT CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D4B0;MATHEMATICAL SCRIPT CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D4B1;MATHEMATICAL SCRIPT CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D4B2;MATHEMATICAL SCRIPT CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D4B3;MATHEMATICAL SCRIPT CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D4B4;MATHEMATICAL SCRIPT CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D4B5;MATHEMATICAL SCRIPT CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D4B6;MATHEMATICAL SCRIPT SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D4B7;MATHEMATICAL SCRIPT SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D4B8;MATHEMATICAL SCRIPT SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D4B9;MATHEMATICAL SCRIPT SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D4BB;MATHEMATICAL SCRIPT SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D4BD;MATHEMATICAL SCRIPT SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D4BE;MATHEMATICAL SCRIPT SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D4BF;MATHEMATICAL SCRIPT SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D4C0;MATHEMATICAL SCRIPT SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D4C1;MATHEMATICAL SCRIPT SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D4C2;MATHEMATICAL SCRIPT SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D4C3;MATHEMATICAL SCRIPT SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D4C5;MATHEMATICAL SCRIPT SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D4C6;MATHEMATICAL SCRIPT SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D4C7;MATHEMATICAL SCRIPT SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D4C8;MATHEMATICAL SCRIPT SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D4C9;MATHEMATICAL SCRIPT SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D4CA;MATHEMATICAL SCRIPT SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D4CB;MATHEMATICAL SCRIPT SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D4CC;MATHEMATICAL SCRIPT SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D4CD;MATHEMATICAL SCRIPT SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D4CE;MATHEMATICAL SCRIPT SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D4CF;MATHEMATICAL SCRIPT SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D4D0;MATHEMATICAL BOLD SCRIPT CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D4D1;MATHEMATICAL BOLD SCRIPT CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D4D2;MATHEMATICAL BOLD SCRIPT CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D4D3;MATHEMATICAL BOLD SCRIPT CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D4D4;MATHEMATICAL BOLD SCRIPT CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D4D5;MATHEMATICAL BOLD SCRIPT CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D4D6;MATHEMATICAL BOLD SCRIPT CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D4D7;MATHEMATICAL BOLD SCRIPT CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D4D8;MATHEMATICAL BOLD SCRIPT CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D4D9;MATHEMATICAL BOLD SCRIPT CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D4DA;MATHEMATICAL BOLD SCRIPT CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D4DB;MATHEMATICAL BOLD SCRIPT CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D4DC;MATHEMATICAL BOLD SCRIPT CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D4DD;MATHEMATICAL BOLD SCRIPT CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D4DE;MATHEMATICAL BOLD SCRIPT CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D4DF;MATHEMATICAL BOLD SCRIPT CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D4E0;MATHEMATICAL BOLD SCRIPT CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D4E1;MATHEMATICAL BOLD SCRIPT CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D4E2;MATHEMATICAL BOLD SCRIPT CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D4E3;MATHEMATICAL BOLD SCRIPT CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D4E4;MATHEMATICAL BOLD SCRIPT CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D4E5;MATHEMATICAL BOLD SCRIPT CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D4E6;MATHEMATICAL BOLD SCRIPT CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D4E7;MATHEMATICAL BOLD SCRIPT CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D4E8;MATHEMATICAL BOLD SCRIPT CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D4E9;MATHEMATICAL BOLD SCRIPT CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D4EA;MATHEMATICAL BOLD SCRIPT SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D4EB;MATHEMATICAL BOLD SCRIPT SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D4EC;MATHEMATICAL BOLD SCRIPT SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D4ED;MATHEMATICAL BOLD SCRIPT SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D4EE;MATHEMATICAL BOLD SCRIPT SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D4EF;MATHEMATICAL BOLD SCRIPT SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D4F0;MATHEMATICAL BOLD SCRIPT SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D4F1;MATHEMATICAL BOLD SCRIPT SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D4F2;MATHEMATICAL BOLD SCRIPT SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D4F3;MATHEMATICAL BOLD SCRIPT SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D4F4;MATHEMATICAL BOLD SCRIPT SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D4F5;MATHEMATICAL BOLD SCRIPT SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D4F6;MATHEMATICAL BOLD SCRIPT SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D4F7;MATHEMATICAL BOLD SCRIPT SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D4F8;MATHEMATICAL BOLD SCRIPT SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D4F9;MATHEMATICAL BOLD SCRIPT SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D4FA;MATHEMATICAL BOLD SCRIPT SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D4FB;MATHEMATICAL BOLD SCRIPT SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D4FC;MATHEMATICAL BOLD SCRIPT SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D4FD;MATHEMATICAL BOLD SCRIPT SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D4FE;MATHEMATICAL BOLD SCRIPT SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D4FF;MATHEMATICAL BOLD SCRIPT SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D500;MATHEMATICAL BOLD SCRIPT SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D501;MATHEMATICAL BOLD SCRIPT SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D502;MATHEMATICAL BOLD SCRIPT SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D503;MATHEMATICAL BOLD SCRIPT SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D504;MATHEMATICAL FRAKTUR CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D505;MATHEMATICAL FRAKTUR CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D507;MATHEMATICAL FRAKTUR CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D508;MATHEMATICAL FRAKTUR CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D509;MATHEMATICAL FRAKTUR CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D50A;MATHEMATICAL FRAKTUR CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D50D;MATHEMATICAL FRAKTUR CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D50E;MATHEMATICAL FRAKTUR CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D50F;MATHEMATICAL FRAKTUR CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D510;MATHEMATICAL FRAKTUR CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D511;MATHEMATICAL FRAKTUR CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D512;MATHEMATICAL FRAKTUR CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D513;MATHEMATICAL FRAKTUR CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D514;MATHEMATICAL FRAKTUR CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D516;MATHEMATICAL FRAKTUR CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D517;MATHEMATICAL FRAKTUR CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D518;MATHEMATICAL FRAKTUR CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D519;MATHEMATICAL FRAKTUR CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D51A;MATHEMATICAL FRAKTUR CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D51B;MATHEMATICAL FRAKTUR CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D51C;MATHEMATICAL FRAKTUR CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D51E;MATHEMATICAL FRAKTUR SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D51F;MATHEMATICAL FRAKTUR SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D520;MATHEMATICAL FRAKTUR SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D521;MATHEMATICAL FRAKTUR SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D522;MATHEMATICAL FRAKTUR SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D523;MATHEMATICAL FRAKTUR SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D524;MATHEMATICAL FRAKTUR SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D525;MATHEMATICAL FRAKTUR SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D526;MATHEMATICAL FRAKTUR SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D527;MATHEMATICAL FRAKTUR SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D528;MATHEMATICAL FRAKTUR SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D529;MATHEMATICAL FRAKTUR SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D52A;MATHEMATICAL FRAKTUR SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D52B;MATHEMATICAL FRAKTUR SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D52C;MATHEMATICAL FRAKTUR SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D52D;MATHEMATICAL FRAKTUR SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D52E;MATHEMATICAL FRAKTUR SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D52F;MATHEMATICAL FRAKTUR SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D530;MATHEMATICAL FRAKTUR SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D531;MATHEMATICAL FRAKTUR SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D532;MATHEMATICAL FRAKTUR SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D533;MATHEMATICAL FRAKTUR SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D534;MATHEMATICAL FRAKTUR SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D535;MATHEMATICAL FRAKTUR SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D536;MATHEMATICAL FRAKTUR SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D537;MATHEMATICAL FRAKTUR SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D538;MATHEMATICAL DOUBLE-STRUCK CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D539;MATHEMATICAL DOUBLE-STRUCK CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D53B;MATHEMATICAL DOUBLE-STRUCK CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D53C;MATHEMATICAL DOUBLE-STRUCK CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D53D;MATHEMATICAL DOUBLE-STRUCK CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D53E;MATHEMATICAL DOUBLE-STRUCK CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D540;MATHEMATICAL DOUBLE-STRUCK CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D541;MATHEMATICAL DOUBLE-STRUCK CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D542;MATHEMATICAL DOUBLE-STRUCK CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D543;MATHEMATICAL DOUBLE-STRUCK CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D544;MATHEMATICAL DOUBLE-STRUCK CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D546;MATHEMATICAL DOUBLE-STRUCK CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D54A;MATHEMATICAL DOUBLE-STRUCK CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D54B;MATHEMATICAL DOUBLE-STRUCK CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D54C;MATHEMATICAL DOUBLE-STRUCK CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D54D;MATHEMATICAL DOUBLE-STRUCK CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D54E;MATHEMATICAL DOUBLE-STRUCK CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D54F;MATHEMATICAL DOUBLE-STRUCK CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D550;MATHEMATICAL DOUBLE-STRUCK CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D552;MATHEMATICAL DOUBLE-STRUCK SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D553;MATHEMATICAL DOUBLE-STRUCK SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D554;MATHEMATICAL DOUBLE-STRUCK SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D555;MATHEMATICAL DOUBLE-STRUCK SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D556;MATHEMATICAL DOUBLE-STRUCK SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D557;MATHEMATICAL DOUBLE-STRUCK SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D558;MATHEMATICAL DOUBLE-STRUCK SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D559;MATHEMATICAL DOUBLE-STRUCK SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D55A;MATHEMATICAL DOUBLE-STRUCK SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D55B;MATHEMATICAL DOUBLE-STRUCK SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D55C;MATHEMATICAL DOUBLE-STRUCK SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D55D;MATHEMATICAL DOUBLE-STRUCK SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D55E;MATHEMATICAL DOUBLE-STRUCK SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D55F;MATHEMATICAL DOUBLE-STRUCK SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D560;MATHEMATICAL DOUBLE-STRUCK SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D561;MATHEMATICAL DOUBLE-STRUCK SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D562;MATHEMATICAL DOUBLE-STRUCK SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D563;MATHEMATICAL DOUBLE-STRUCK SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D564;MATHEMATICAL DOUBLE-STRUCK SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D565;MATHEMATICAL DOUBLE-STRUCK SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D566;MATHEMATICAL DOUBLE-STRUCK SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D567;MATHEMATICAL DOUBLE-STRUCK SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D568;MATHEMATICAL DOUBLE-STRUCK SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D569;MATHEMATICAL DOUBLE-STRUCK SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D56A;MATHEMATICAL DOUBLE-STRUCK SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D56B;MATHEMATICAL DOUBLE-STRUCK SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D56C;MATHEMATICAL BOLD FRAKTUR CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D56D;MATHEMATICAL BOLD FRAKTUR CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D56E;MATHEMATICAL BOLD FRAKTUR CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D56F;MATHEMATICAL BOLD FRAKTUR CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D570;MATHEMATICAL BOLD FRAKTUR CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D571;MATHEMATICAL BOLD FRAKTUR CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D572;MATHEMATICAL BOLD FRAKTUR CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D573;MATHEMATICAL BOLD FRAKTUR CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D574;MATHEMATICAL BOLD FRAKTUR CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D575;MATHEMATICAL BOLD FRAKTUR CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D576;MATHEMATICAL BOLD FRAKTUR CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D577;MATHEMATICAL BOLD FRAKTUR CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D578;MATHEMATICAL BOLD FRAKTUR CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D579;MATHEMATICAL BOLD FRAKTUR CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D57A;MATHEMATICAL BOLD FRAKTUR CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D57B;MATHEMATICAL BOLD FRAKTUR CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D57C;MATHEMATICAL BOLD FRAKTUR CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D57D;MATHEMATICAL BOLD FRAKTUR CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D57E;MATHEMATICAL BOLD FRAKTUR CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D57F;MATHEMATICAL BOLD FRAKTUR CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D580;MATHEMATICAL BOLD FRAKTUR CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D581;MATHEMATICAL BOLD FRAKTUR CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D582;MATHEMATICAL BOLD FRAKTUR CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D583;MATHEMATICAL BOLD FRAKTUR CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D584;MATHEMATICAL BOLD FRAKTUR CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D585;MATHEMATICAL BOLD FRAKTUR CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D586;MATHEMATICAL BOLD FRAKTUR SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D587;MATHEMATICAL BOLD FRAKTUR SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D588;MATHEMATICAL BOLD FRAKTUR SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D589;MATHEMATICAL BOLD FRAKTUR SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D58A;MATHEMATICAL BOLD FRAKTUR SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D58B;MATHEMATICAL BOLD FRAKTUR SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D58C;MATHEMATICAL BOLD FRAKTUR SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D58D;MATHEMATICAL BOLD FRAKTUR SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D58E;MATHEMATICAL BOLD FRAKTUR SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D58F;MATHEMATICAL BOLD FRAKTUR SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D590;MATHEMATICAL BOLD FRAKTUR SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D591;MATHEMATICAL BOLD FRAKTUR SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D592;MATHEMATICAL BOLD FRAKTUR SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D593;MATHEMATICAL BOLD FRAKTUR SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D594;MATHEMATICAL BOLD FRAKTUR SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D595;MATHEMATICAL BOLD FRAKTUR SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D596;MATHEMATICAL BOLD FRAKTUR SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D597;MATHEMATICAL BOLD FRAKTUR SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D598;MATHEMATICAL BOLD FRAKTUR SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D599;MATHEMATICAL BOLD FRAKTUR SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D59A;MATHEMATICAL BOLD FRAKTUR SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D59B;MATHEMATICAL BOLD FRAKTUR SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D59C;MATHEMATICAL BOLD FRAKTUR SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D59D;MATHEMATICAL BOLD FRAKTUR SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D59E;MATHEMATICAL BOLD FRAKTUR SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D59F;MATHEMATICAL BOLD FRAKTUR SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D5A0;MATHEMATICAL SANS-SERIF CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D5A1;MATHEMATICAL SANS-SERIF CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D5A2;MATHEMATICAL SANS-SERIF CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D5A3;MATHEMATICAL SANS-SERIF CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D5A4;MATHEMATICAL SANS-SERIF CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D5A5;MATHEMATICAL SANS-SERIF CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D5A6;MATHEMATICAL SANS-SERIF CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D5A7;MATHEMATICAL SANS-SERIF CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D5A8;MATHEMATICAL SANS-SERIF CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D5A9;MATHEMATICAL SANS-SERIF CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D5AA;MATHEMATICAL SANS-SERIF CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D5AB;MATHEMATICAL SANS-SERIF CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D5AC;MATHEMATICAL SANS-SERIF CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D5AD;MATHEMATICAL SANS-SERIF CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D5AE;MATHEMATICAL SANS-SERIF CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D5AF;MATHEMATICAL SANS-SERIF CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D5B0;MATHEMATICAL SANS-SERIF CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D5B1;MATHEMATICAL SANS-SERIF CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D5B2;MATHEMATICAL SANS-SERIF CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D5B3;MATHEMATICAL SANS-SERIF CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D5B4;MATHEMATICAL SANS-SERIF CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D5B5;MATHEMATICAL SANS-SERIF CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D5B6;MATHEMATICAL SANS-SERIF CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D5B7;MATHEMATICAL SANS-SERIF CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D5B8;MATHEMATICAL SANS-SERIF CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D5B9;MATHEMATICAL SANS-SERIF CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D5BA;MATHEMATICAL SANS-SERIF SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D5BB;MATHEMATICAL SANS-SERIF SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D5BC;MATHEMATICAL SANS-SERIF SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D5BD;MATHEMATICAL SANS-SERIF SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D5BE;MATHEMATICAL SANS-SERIF SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D5BF;MATHEMATICAL SANS-SERIF SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D5C0;MATHEMATICAL SANS-SERIF SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D5C1;MATHEMATICAL SANS-SERIF SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D5C2;MATHEMATICAL SANS-SERIF SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D5C3;MATHEMATICAL SANS-SERIF SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D5C4;MATHEMATICAL SANS-SERIF SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D5C5;MATHEMATICAL SANS-SERIF SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D5C6;MATHEMATICAL SANS-SERIF SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D5C7;MATHEMATICAL SANS-SERIF SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D5C8;MATHEMATICAL SANS-SERIF SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D5C9;MATHEMATICAL SANS-SERIF SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D5CA;MATHEMATICAL SANS-SERIF SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D5CB;MATHEMATICAL SANS-SERIF SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D5CC;MATHEMATICAL SANS-SERIF SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D5CD;MATHEMATICAL SANS-SERIF SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D5CE;MATHEMATICAL SANS-SERIF SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D5CF;MATHEMATICAL SANS-SERIF SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D5D0;MATHEMATICAL SANS-SERIF SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D5D1;MATHEMATICAL SANS-SERIF SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D5D2;MATHEMATICAL SANS-SERIF SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D5D3;MATHEMATICAL SANS-SERIF SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D5D4;MATHEMATICAL SANS-SERIF BOLD CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D5D5;MATHEMATICAL SANS-SERIF BOLD CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D5D6;MATHEMATICAL SANS-SERIF BOLD CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D5D7;MATHEMATICAL SANS-SERIF BOLD CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D5D8;MATHEMATICAL SANS-SERIF BOLD CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D5D9;MATHEMATICAL SANS-SERIF BOLD CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D5DA;MATHEMATICAL SANS-SERIF BOLD CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D5DB;MATHEMATICAL SANS-SERIF BOLD CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D5DC;MATHEMATICAL SANS-SERIF BOLD CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D5DD;MATHEMATICAL SANS-SERIF BOLD CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D5DE;MATHEMATICAL SANS-SERIF BOLD CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D5DF;MATHEMATICAL SANS-SERIF BOLD CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D5E0;MATHEMATICAL SANS-SERIF BOLD CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D5E1;MATHEMATICAL SANS-SERIF BOLD CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D5E2;MATHEMATICAL SANS-SERIF BOLD CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D5E3;MATHEMATICAL SANS-SERIF BOLD CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D5E4;MATHEMATICAL SANS-SERIF BOLD CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D5E5;MATHEMATICAL SANS-SERIF BOLD CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D5E6;MATHEMATICAL SANS-SERIF BOLD CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D5E7;MATHEMATICAL SANS-SERIF BOLD CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D5E8;MATHEMATICAL SANS-SERIF BOLD CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D5E9;MATHEMATICAL SANS-SERIF BOLD CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D5EA;MATHEMATICAL SANS-SERIF BOLD CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D5EB;MATHEMATICAL SANS-SERIF BOLD CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D5EC;MATHEMATICAL SANS-SERIF BOLD CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D5ED;MATHEMATICAL SANS-SERIF BOLD CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D5EE;MATHEMATICAL SANS-SERIF BOLD SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D5EF;MATHEMATICAL SANS-SERIF BOLD SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D5F0;MATHEMATICAL SANS-SERIF BOLD SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D5F1;MATHEMATICAL SANS-SERIF BOLD SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D5F2;MATHEMATICAL SANS-SERIF BOLD SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D5F3;MATHEMATICAL SANS-SERIF BOLD SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D5F4;MATHEMATICAL SANS-SERIF BOLD SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D5F5;MATHEMATICAL SANS-SERIF BOLD SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D5F6;MATHEMATICAL SANS-SERIF BOLD SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D5F7;MATHEMATICAL SANS-SERIF BOLD SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D5F8;MATHEMATICAL SANS-SERIF BOLD SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D5F9;MATHEMATICAL SANS-SERIF BOLD SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D5FA;MATHEMATICAL SANS-SERIF BOLD SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D5FB;MATHEMATICAL SANS-SERIF BOLD SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D5FC;MATHEMATICAL SANS-SERIF BOLD SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D5FD;MATHEMATICAL SANS-SERIF BOLD SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D5FE;MATHEMATICAL SANS-SERIF BOLD SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D5FF;MATHEMATICAL SANS-SERIF BOLD SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D600;MATHEMATICAL SANS-SERIF BOLD SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D601;MATHEMATICAL SANS-SERIF BOLD SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D602;MATHEMATICAL SANS-SERIF BOLD SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D603;MATHEMATICAL SANS-SERIF BOLD SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D604;MATHEMATICAL SANS-SERIF BOLD SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D605;MATHEMATICAL SANS-SERIF BOLD SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D606;MATHEMATICAL SANS-SERIF BOLD SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D607;MATHEMATICAL SANS-SERIF BOLD SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D608;MATHEMATICAL SANS-SERIF ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D609;MATHEMATICAL SANS-SERIF ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D60A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D60B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D60C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D60D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D60E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D60F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D610;MATHEMATICAL SANS-SERIF ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D611;MATHEMATICAL SANS-SERIF ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D612;MATHEMATICAL SANS-SERIF ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D613;MATHEMATICAL SANS-SERIF ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D614;MATHEMATICAL SANS-SERIF ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D615;MATHEMATICAL SANS-SERIF ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D616;MATHEMATICAL SANS-SERIF ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D617;MATHEMATICAL SANS-SERIF ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D618;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D619;MATHEMATICAL SANS-SERIF ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D61A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D61B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D61C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D61D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D61E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D61F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D620;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D621;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D622;MATHEMATICAL SANS-SERIF ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D623;MATHEMATICAL SANS-SERIF ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D624;MATHEMATICAL SANS-SERIF ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D625;MATHEMATICAL SANS-SERIF ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D626;MATHEMATICAL SANS-SERIF ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D627;MATHEMATICAL SANS-SERIF ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D628;MATHEMATICAL SANS-SERIF ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D629;MATHEMATICAL SANS-SERIF ITALIC SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D62A;MATHEMATICAL SANS-SERIF ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D62B;MATHEMATICAL SANS-SERIF ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D62C;MATHEMATICAL SANS-SERIF ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D62D;MATHEMATICAL SANS-SERIF ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D62E;MATHEMATICAL SANS-SERIF ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D62F;MATHEMATICAL SANS-SERIF ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D630;MATHEMATICAL SANS-SERIF ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D631;MATHEMATICAL SANS-SERIF ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D632;MATHEMATICAL SANS-SERIF ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D633;MATHEMATICAL SANS-SERIF ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D634;MATHEMATICAL SANS-SERIF ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D635;MATHEMATICAL SANS-SERIF ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D636;MATHEMATICAL SANS-SERIF ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D637;MATHEMATICAL SANS-SERIF ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D638;MATHEMATICAL SANS-SERIF ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D639;MATHEMATICAL SANS-SERIF ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D63A;MATHEMATICAL SANS-SERIF ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D63B;MATHEMATICAL SANS-SERIF ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D63C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D63D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D63E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D63F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D640;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D641;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D642;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D643;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D644;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D645;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D646;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D647;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D648;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D649;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D64A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D64B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D64C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D64D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D64E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D64F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D650;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D651;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D652;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D653;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D654;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D655;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D656;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D657;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D658;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D659;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D65A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D65B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D65C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D65D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D65E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D65F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D660;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D661;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D662;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D663;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D664;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D665;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D666;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D667;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D668;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D669;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D66A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D66B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D66C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D66D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D66E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D66F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D670;MATHEMATICAL MONOSPACE CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
-1D671;MATHEMATICAL MONOSPACE CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
-1D672;MATHEMATICAL MONOSPACE CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
-1D673;MATHEMATICAL MONOSPACE CAPITAL D;Lu;0;L;<font> 0044;;;;N;;;;;
-1D674;MATHEMATICAL MONOSPACE CAPITAL E;Lu;0;L;<font> 0045;;;;N;;;;;
-1D675;MATHEMATICAL MONOSPACE CAPITAL F;Lu;0;L;<font> 0046;;;;N;;;;;
-1D676;MATHEMATICAL MONOSPACE CAPITAL G;Lu;0;L;<font> 0047;;;;N;;;;;
-1D677;MATHEMATICAL MONOSPACE CAPITAL H;Lu;0;L;<font> 0048;;;;N;;;;;
-1D678;MATHEMATICAL MONOSPACE CAPITAL I;Lu;0;L;<font> 0049;;;;N;;;;;
-1D679;MATHEMATICAL MONOSPACE CAPITAL J;Lu;0;L;<font> 004A;;;;N;;;;;
-1D67A;MATHEMATICAL MONOSPACE CAPITAL K;Lu;0;L;<font> 004B;;;;N;;;;;
-1D67B;MATHEMATICAL MONOSPACE CAPITAL L;Lu;0;L;<font> 004C;;;;N;;;;;
-1D67C;MATHEMATICAL MONOSPACE CAPITAL M;Lu;0;L;<font> 004D;;;;N;;;;;
-1D67D;MATHEMATICAL MONOSPACE CAPITAL N;Lu;0;L;<font> 004E;;;;N;;;;;
-1D67E;MATHEMATICAL MONOSPACE CAPITAL O;Lu;0;L;<font> 004F;;;;N;;;;;
-1D67F;MATHEMATICAL MONOSPACE CAPITAL P;Lu;0;L;<font> 0050;;;;N;;;;;
-1D680;MATHEMATICAL MONOSPACE CAPITAL Q;Lu;0;L;<font> 0051;;;;N;;;;;
-1D681;MATHEMATICAL MONOSPACE CAPITAL R;Lu;0;L;<font> 0052;;;;N;;;;;
-1D682;MATHEMATICAL MONOSPACE CAPITAL S;Lu;0;L;<font> 0053;;;;N;;;;;
-1D683;MATHEMATICAL MONOSPACE CAPITAL T;Lu;0;L;<font> 0054;;;;N;;;;;
-1D684;MATHEMATICAL MONOSPACE CAPITAL U;Lu;0;L;<font> 0055;;;;N;;;;;
-1D685;MATHEMATICAL MONOSPACE CAPITAL V;Lu;0;L;<font> 0056;;;;N;;;;;
-1D686;MATHEMATICAL MONOSPACE CAPITAL W;Lu;0;L;<font> 0057;;;;N;;;;;
-1D687;MATHEMATICAL MONOSPACE CAPITAL X;Lu;0;L;<font> 0058;;;;N;;;;;
-1D688;MATHEMATICAL MONOSPACE CAPITAL Y;Lu;0;L;<font> 0059;;;;N;;;;;
-1D689;MATHEMATICAL MONOSPACE CAPITAL Z;Lu;0;L;<font> 005A;;;;N;;;;;
-1D68A;MATHEMATICAL MONOSPACE SMALL A;Ll;0;L;<font> 0061;;;;N;;;;;
-1D68B;MATHEMATICAL MONOSPACE SMALL B;Ll;0;L;<font> 0062;;;;N;;;;;
-1D68C;MATHEMATICAL MONOSPACE SMALL C;Ll;0;L;<font> 0063;;;;N;;;;;
-1D68D;MATHEMATICAL MONOSPACE SMALL D;Ll;0;L;<font> 0064;;;;N;;;;;
-1D68E;MATHEMATICAL MONOSPACE SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
-1D68F;MATHEMATICAL MONOSPACE SMALL F;Ll;0;L;<font> 0066;;;;N;;;;;
-1D690;MATHEMATICAL MONOSPACE SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
-1D691;MATHEMATICAL MONOSPACE SMALL H;Ll;0;L;<font> 0068;;;;N;;;;;
-1D692;MATHEMATICAL MONOSPACE SMALL I;Ll;0;L;<font> 0069;;;;N;;;;;
-1D693;MATHEMATICAL MONOSPACE SMALL J;Ll;0;L;<font> 006A;;;;N;;;;;
-1D694;MATHEMATICAL MONOSPACE SMALL K;Ll;0;L;<font> 006B;;;;N;;;;;
-1D695;MATHEMATICAL MONOSPACE SMALL L;Ll;0;L;<font> 006C;;;;N;;;;;
-1D696;MATHEMATICAL MONOSPACE SMALL M;Ll;0;L;<font> 006D;;;;N;;;;;
-1D697;MATHEMATICAL MONOSPACE SMALL N;Ll;0;L;<font> 006E;;;;N;;;;;
-1D698;MATHEMATICAL MONOSPACE SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
-1D699;MATHEMATICAL MONOSPACE SMALL P;Ll;0;L;<font> 0070;;;;N;;;;;
-1D69A;MATHEMATICAL MONOSPACE SMALL Q;Ll;0;L;<font> 0071;;;;N;;;;;
-1D69B;MATHEMATICAL MONOSPACE SMALL R;Ll;0;L;<font> 0072;;;;N;;;;;
-1D69C;MATHEMATICAL MONOSPACE SMALL S;Ll;0;L;<font> 0073;;;;N;;;;;
-1D69D;MATHEMATICAL MONOSPACE SMALL T;Ll;0;L;<font> 0074;;;;N;;;;;
-1D69E;MATHEMATICAL MONOSPACE SMALL U;Ll;0;L;<font> 0075;;;;N;;;;;
-1D69F;MATHEMATICAL MONOSPACE SMALL V;Ll;0;L;<font> 0076;;;;N;;;;;
-1D6A0;MATHEMATICAL MONOSPACE SMALL W;Ll;0;L;<font> 0077;;;;N;;;;;
-1D6A1;MATHEMATICAL MONOSPACE SMALL X;Ll;0;L;<font> 0078;;;;N;;;;;
-1D6A2;MATHEMATICAL MONOSPACE SMALL Y;Ll;0;L;<font> 0079;;;;N;;;;;
-1D6A3;MATHEMATICAL MONOSPACE SMALL Z;Ll;0;L;<font> 007A;;;;N;;;;;
-1D6A4;MATHEMATICAL ITALIC SMALL DOTLESS I;Ll;0;L;<font> 0131;;;;N;;;;;
-1D6A5;MATHEMATICAL ITALIC SMALL DOTLESS J;Ll;0;L;<font> 0237;;;;N;;;;;
-1D6A8;MATHEMATICAL BOLD CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
-1D6A9;MATHEMATICAL BOLD CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
-1D6AA;MATHEMATICAL BOLD CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
-1D6AB;MATHEMATICAL BOLD CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
-1D6AC;MATHEMATICAL BOLD CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
-1D6AD;MATHEMATICAL BOLD CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
-1D6AE;MATHEMATICAL BOLD CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
-1D6AF;MATHEMATICAL BOLD CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
-1D6B0;MATHEMATICAL BOLD CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
-1D6B1;MATHEMATICAL BOLD CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
-1D6B2;MATHEMATICAL BOLD CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
-1D6B3;MATHEMATICAL BOLD CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
-1D6B4;MATHEMATICAL BOLD CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
-1D6B5;MATHEMATICAL BOLD CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
-1D6B6;MATHEMATICAL BOLD CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
-1D6B7;MATHEMATICAL BOLD CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
-1D6B8;MATHEMATICAL BOLD CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
-1D6B9;MATHEMATICAL BOLD CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
-1D6BA;MATHEMATICAL BOLD CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
-1D6BB;MATHEMATICAL BOLD CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
-1D6BC;MATHEMATICAL BOLD CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
-1D6BD;MATHEMATICAL BOLD CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
-1D6BE;MATHEMATICAL BOLD CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
-1D6BF;MATHEMATICAL BOLD CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
-1D6C0;MATHEMATICAL BOLD CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
-1D6C1;MATHEMATICAL BOLD NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
-1D6C2;MATHEMATICAL BOLD SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
-1D6C3;MATHEMATICAL BOLD SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
-1D6C4;MATHEMATICAL BOLD SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
-1D6C5;MATHEMATICAL BOLD SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
-1D6C6;MATHEMATICAL BOLD SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
-1D6C7;MATHEMATICAL BOLD SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
-1D6C8;MATHEMATICAL BOLD SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
-1D6C9;MATHEMATICAL BOLD SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
-1D6CA;MATHEMATICAL BOLD SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
-1D6CB;MATHEMATICAL BOLD SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
-1D6CC;MATHEMATICAL BOLD SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
-1D6CD;MATHEMATICAL BOLD SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
-1D6CE;MATHEMATICAL BOLD SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
-1D6CF;MATHEMATICAL BOLD SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
-1D6D0;MATHEMATICAL BOLD SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
-1D6D1;MATHEMATICAL BOLD SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
-1D6D2;MATHEMATICAL BOLD SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
-1D6D3;MATHEMATICAL BOLD SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
-1D6D4;MATHEMATICAL BOLD SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
-1D6D5;MATHEMATICAL BOLD SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
-1D6D6;MATHEMATICAL BOLD SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
-1D6D7;MATHEMATICAL BOLD SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
-1D6D8;MATHEMATICAL BOLD SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
-1D6D9;MATHEMATICAL BOLD SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
-1D6DA;MATHEMATICAL BOLD SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
-1D6DC;MATHEMATICAL BOLD EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
-1D6DD;MATHEMATICAL BOLD THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
-1D6DE;MATHEMATICAL BOLD KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
-1D6DF;MATHEMATICAL BOLD PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
-1D6E0;MATHEMATICAL BOLD RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
-1D6E1;MATHEMATICAL BOLD PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
-1D6E2;MATHEMATICAL ITALIC CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
-1D6E3;MATHEMATICAL ITALIC CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
-1D6E4;MATHEMATICAL ITALIC CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
-1D6E5;MATHEMATICAL ITALIC CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
-1D6E6;MATHEMATICAL ITALIC CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
-1D6E7;MATHEMATICAL ITALIC CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
-1D6E8;MATHEMATICAL ITALIC CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
-1D6E9;MATHEMATICAL ITALIC CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
-1D6EA;MATHEMATICAL ITALIC CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
-1D6EB;MATHEMATICAL ITALIC CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
-1D6EC;MATHEMATICAL ITALIC CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
-1D6ED;MATHEMATICAL ITALIC CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
-1D6EE;MATHEMATICAL ITALIC CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
-1D6EF;MATHEMATICAL ITALIC CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
-1D6F0;MATHEMATICAL ITALIC CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
-1D6F1;MATHEMATICAL ITALIC CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
-1D6F2;MATHEMATICAL ITALIC CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
-1D6F3;MATHEMATICAL ITALIC CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
-1D6F4;MATHEMATICAL ITALIC CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
-1D6F5;MATHEMATICAL ITALIC CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
-1D6F6;MATHEMATICAL ITALIC CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
-1D6F7;MATHEMATICAL ITALIC CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
-1D6F8;MATHEMATICAL ITALIC CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
-1D6F9;MATHEMATICAL ITALIC CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
-1D6FA;MATHEMATICAL ITALIC CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
-1D6FB;MATHEMATICAL ITALIC NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
-1D6FC;MATHEMATICAL ITALIC SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
-1D6FD;MATHEMATICAL ITALIC SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
-1D6FE;MATHEMATICAL ITALIC SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
-1D6FF;MATHEMATICAL ITALIC SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
-1D700;MATHEMATICAL ITALIC SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
-1D701;MATHEMATICAL ITALIC SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
-1D702;MATHEMATICAL ITALIC SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
-1D703;MATHEMATICAL ITALIC SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
-1D704;MATHEMATICAL ITALIC SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
-1D705;MATHEMATICAL ITALIC SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
-1D706;MATHEMATICAL ITALIC SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
-1D707;MATHEMATICAL ITALIC SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
-1D708;MATHEMATICAL ITALIC SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
-1D709;MATHEMATICAL ITALIC SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
-1D70A;MATHEMATICAL ITALIC SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
-1D70B;MATHEMATICAL ITALIC SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
-1D70C;MATHEMATICAL ITALIC SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
-1D70D;MATHEMATICAL ITALIC SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
-1D70E;MATHEMATICAL ITALIC SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
-1D70F;MATHEMATICAL ITALIC SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
-1D710;MATHEMATICAL ITALIC SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
-1D711;MATHEMATICAL ITALIC SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
-1D712;MATHEMATICAL ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
-1D713;MATHEMATICAL ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
-1D714;MATHEMATICAL ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
-1D716;MATHEMATICAL ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
-1D717;MATHEMATICAL ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
-1D718;MATHEMATICAL ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
-1D719;MATHEMATICAL ITALIC PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
-1D71A;MATHEMATICAL ITALIC RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
-1D71B;MATHEMATICAL ITALIC PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
-1D71C;MATHEMATICAL BOLD ITALIC CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
-1D71D;MATHEMATICAL BOLD ITALIC CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
-1D71E;MATHEMATICAL BOLD ITALIC CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
-1D71F;MATHEMATICAL BOLD ITALIC CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
-1D720;MATHEMATICAL BOLD ITALIC CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
-1D721;MATHEMATICAL BOLD ITALIC CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
-1D722;MATHEMATICAL BOLD ITALIC CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
-1D723;MATHEMATICAL BOLD ITALIC CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
-1D724;MATHEMATICAL BOLD ITALIC CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
-1D725;MATHEMATICAL BOLD ITALIC CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
-1D726;MATHEMATICAL BOLD ITALIC CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
-1D727;MATHEMATICAL BOLD ITALIC CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
-1D728;MATHEMATICAL BOLD ITALIC CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
-1D729;MATHEMATICAL BOLD ITALIC CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
-1D72A;MATHEMATICAL BOLD ITALIC CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
-1D72B;MATHEMATICAL BOLD ITALIC CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
-1D72C;MATHEMATICAL BOLD ITALIC CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
-1D72D;MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
-1D72E;MATHEMATICAL BOLD ITALIC CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
-1D72F;MATHEMATICAL BOLD ITALIC CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
-1D730;MATHEMATICAL BOLD ITALIC CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
-1D731;MATHEMATICAL BOLD ITALIC CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
-1D732;MATHEMATICAL BOLD ITALIC CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
-1D733;MATHEMATICAL BOLD ITALIC CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
-1D734;MATHEMATICAL BOLD ITALIC CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
-1D735;MATHEMATICAL BOLD ITALIC NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
-1D736;MATHEMATICAL BOLD ITALIC SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
-1D737;MATHEMATICAL BOLD ITALIC SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
-1D738;MATHEMATICAL BOLD ITALIC SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
-1D739;MATHEMATICAL BOLD ITALIC SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
-1D73A;MATHEMATICAL BOLD ITALIC SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
-1D73B;MATHEMATICAL BOLD ITALIC SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
-1D73C;MATHEMATICAL BOLD ITALIC SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
-1D73D;MATHEMATICAL BOLD ITALIC SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
-1D73E;MATHEMATICAL BOLD ITALIC SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
-1D73F;MATHEMATICAL BOLD ITALIC SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
-1D740;MATHEMATICAL BOLD ITALIC SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
-1D741;MATHEMATICAL BOLD ITALIC SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
-1D742;MATHEMATICAL BOLD ITALIC SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
-1D743;MATHEMATICAL BOLD ITALIC SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
-1D744;MATHEMATICAL BOLD ITALIC SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
-1D745;MATHEMATICAL BOLD ITALIC SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
-1D746;MATHEMATICAL BOLD ITALIC SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
-1D747;MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
-1D748;MATHEMATICAL BOLD ITALIC SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
-1D749;MATHEMATICAL BOLD ITALIC SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
-1D74A;MATHEMATICAL BOLD ITALIC SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
-1D74B;MATHEMATICAL BOLD ITALIC SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
-1D74C;MATHEMATICAL BOLD ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
-1D74D;MATHEMATICAL BOLD ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
-1D74E;MATHEMATICAL BOLD ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
-1D750;MATHEMATICAL BOLD ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
-1D751;MATHEMATICAL BOLD ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
-1D752;MATHEMATICAL BOLD ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
-1D753;MATHEMATICAL BOLD ITALIC PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
-1D754;MATHEMATICAL BOLD ITALIC RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
-1D755;MATHEMATICAL BOLD ITALIC PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
-1D756;MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
-1D757;MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
-1D758;MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
-1D759;MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
-1D75A;MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
-1D75B;MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
-1D75C;MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
-1D75D;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
-1D75E;MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
-1D75F;MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
-1D760;MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
-1D761;MATHEMATICAL SANS-SERIF BOLD CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
-1D762;MATHEMATICAL SANS-SERIF BOLD CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
-1D763;MATHEMATICAL SANS-SERIF BOLD CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
-1D764;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
-1D765;MATHEMATICAL SANS-SERIF BOLD CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
-1D766;MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
-1D767;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
-1D768;MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
-1D769;MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
-1D76A;MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
-1D76B;MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
-1D76C;MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
-1D76D;MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
-1D76E;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
-1D76F;MATHEMATICAL SANS-SERIF BOLD NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
-1D770;MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
-1D771;MATHEMATICAL SANS-SERIF BOLD SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
-1D772;MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
-1D773;MATHEMATICAL SANS-SERIF BOLD SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
-1D774;MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
-1D775;MATHEMATICAL SANS-SERIF BOLD SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
-1D776;MATHEMATICAL SANS-SERIF BOLD SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
-1D777;MATHEMATICAL SANS-SERIF BOLD SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
-1D778;MATHEMATICAL SANS-SERIF BOLD SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
-1D779;MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
-1D77A;MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
-1D77B;MATHEMATICAL SANS-SERIF BOLD SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
-1D77C;MATHEMATICAL SANS-SERIF BOLD SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
-1D77D;MATHEMATICAL SANS-SERIF BOLD SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
-1D77E;MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
-1D77F;MATHEMATICAL SANS-SERIF BOLD SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
-1D780;MATHEMATICAL SANS-SERIF BOLD SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
-1D781;MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
-1D782;MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
-1D783;MATHEMATICAL SANS-SERIF BOLD SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
-1D784;MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
-1D785;MATHEMATICAL SANS-SERIF BOLD SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
-1D786;MATHEMATICAL SANS-SERIF BOLD SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
-1D787;MATHEMATICAL SANS-SERIF BOLD SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
-1D788;MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
-1D78A;MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
-1D78B;MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
-1D78C;MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
-1D78D;MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
-1D78E;MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
-1D78F;MATHEMATICAL SANS-SERIF BOLD PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
-1D790;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA;Lu;0;L;<font> 0391;;;;N;;;;;
-1D791;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA;Lu;0;L;<font> 0392;;;;N;;;;;
-1D792;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA;Lu;0;L;<font> 0393;;;;N;;;;;
-1D793;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA;Lu;0;L;<font> 0394;;;;N;;;;;
-1D794;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON;Lu;0;L;<font> 0395;;;;N;;;;;
-1D795;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA;Lu;0;L;<font> 0396;;;;N;;;;;
-1D796;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA;Lu;0;L;<font> 0397;;;;N;;;;;
-1D797;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA;Lu;0;L;<font> 0398;;;;N;;;;;
-1D798;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA;Lu;0;L;<font> 0399;;;;N;;;;;
-1D799;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA;Lu;0;L;<font> 039A;;;;N;;;;;
-1D79A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA;Lu;0;L;<font> 039B;;;;N;;;;;
-1D79B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU;Lu;0;L;<font> 039C;;;;N;;;;;
-1D79C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU;Lu;0;L;<font> 039D;;;;N;;;;;
-1D79D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI;Lu;0;L;<font> 039E;;;;N;;;;;
-1D79E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON;Lu;0;L;<font> 039F;;;;N;;;;;
-1D79F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI;Lu;0;L;<font> 03A0;;;;N;;;;;
-1D7A0;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO;Lu;0;L;<font> 03A1;;;;N;;;;;
-1D7A1;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L;<font> 03F4;;;;N;;;;;
-1D7A2;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA;Lu;0;L;<font> 03A3;;;;N;;;;;
-1D7A3;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU;Lu;0;L;<font> 03A4;;;;N;;;;;
-1D7A4;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON;Lu;0;L;<font> 03A5;;;;N;;;;;
-1D7A5;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI;Lu;0;L;<font> 03A6;;;;N;;;;;
-1D7A6;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI;Lu;0;L;<font> 03A7;;;;N;;;;;
-1D7A7;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI;Lu;0;L;<font> 03A8;;;;N;;;;;
-1D7A8;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA;Lu;0;L;<font> 03A9;;;;N;;;;;
-1D7A9;MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA;Sm;0;L;<font> 2207;;;;N;;;;;
-1D7AA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA;Ll;0;L;<font> 03B1;;;;N;;;;;
-1D7AB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA;Ll;0;L;<font> 03B2;;;;N;;;;;
-1D7AC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA;Ll;0;L;<font> 03B3;;;;N;;;;;
-1D7AD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA;Ll;0;L;<font> 03B4;;;;N;;;;;
-1D7AE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON;Ll;0;L;<font> 03B5;;;;N;;;;;
-1D7AF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA;Ll;0;L;<font> 03B6;;;;N;;;;;
-1D7B0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA;Ll;0;L;<font> 03B7;;;;N;;;;;
-1D7B1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA;Ll;0;L;<font> 03B8;;;;N;;;;;
-1D7B2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA;Ll;0;L;<font> 03B9;;;;N;;;;;
-1D7B3;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA;Ll;0;L;<font> 03BA;;;;N;;;;;
-1D7B4;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA;Ll;0;L;<font> 03BB;;;;N;;;;;
-1D7B5;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU;Ll;0;L;<font> 03BC;;;;N;;;;;
-1D7B6;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU;Ll;0;L;<font> 03BD;;;;N;;;;;
-1D7B7;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI;Ll;0;L;<font> 03BE;;;;N;;;;;
-1D7B8;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON;Ll;0;L;<font> 03BF;;;;N;;;;;
-1D7B9;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI;Ll;0;L;<font> 03C0;;;;N;;;;;
-1D7BA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO;Ll;0;L;<font> 03C1;;;;N;;;;;
-1D7BB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L;<font> 03C2;;;;N;;;;;
-1D7BC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA;Ll;0;L;<font> 03C3;;;;N;;;;;
-1D7BD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU;Ll;0;L;<font> 03C4;;;;N;;;;;
-1D7BE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON;Ll;0;L;<font> 03C5;;;;N;;;;;
-1D7BF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI;Ll;0;L;<font> 03C6;;;;N;;;;;
-1D7C0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI;Ll;0;L;<font> 03C7;;;;N;;;;;
-1D7C1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI;Ll;0;L;<font> 03C8;;;;N;;;;;
-1D7C2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA;Ll;0;L;<font> 03C9;;;;N;;;;;
-1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON;<font> 2202;;;;Y;;;;;
-1D7C4;MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL;Ll;0;L;<font> 03F5;;;;N;;;;;
-1D7C5;MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL;Ll;0;L;<font> 03D1;;;;N;;;;;
-1D7C6;MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL;Ll;0;L;<font> 03F0;;;;N;;;;;
-1D7C7;MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL;Ll;0;L;<font> 03D5;;;;N;;;;;
-1D7C8;MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL;Ll;0;L;<font> 03F1;;;;N;;;;;
-1D7C9;MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL;Ll;0;L;<font> 03D6;;;;N;;;;;
-1D7CA;MATHEMATICAL BOLD CAPITAL DIGAMMA;Lu;0;L;<font> 03DC;;;;N;;;;;
-1D7CB;MATHEMATICAL BOLD SMALL DIGAMMA;Ll;0;L;<font> 03DD;;;;N;;;;;
-1D7CE;MATHEMATICAL BOLD DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
-1D7CF;MATHEMATICAL BOLD DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
-1D7D0;MATHEMATICAL BOLD DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
-1D7D1;MATHEMATICAL BOLD DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
-1D7D2;MATHEMATICAL BOLD DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
-1D7D3;MATHEMATICAL BOLD DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
-1D7D4;MATHEMATICAL BOLD DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
-1D7D5;MATHEMATICAL BOLD DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
-1D7D6;MATHEMATICAL BOLD DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
-1D7D7;MATHEMATICAL BOLD DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1D7D8;MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
-1D7D9;MATHEMATICAL DOUBLE-STRUCK DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
-1D7DA;MATHEMATICAL DOUBLE-STRUCK DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
-1D7DB;MATHEMATICAL DOUBLE-STRUCK DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
-1D7DC;MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
-1D7DD;MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
-1D7DE;MATHEMATICAL DOUBLE-STRUCK DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
-1D7DF;MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
-1D7E0;MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
-1D7E1;MATHEMATICAL DOUBLE-STRUCK DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1D7E2;MATHEMATICAL SANS-SERIF DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
-1D7E3;MATHEMATICAL SANS-SERIF DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
-1D7E4;MATHEMATICAL SANS-SERIF DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
-1D7E5;MATHEMATICAL SANS-SERIF DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
-1D7E6;MATHEMATICAL SANS-SERIF DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
-1D7E7;MATHEMATICAL SANS-SERIF DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
-1D7E8;MATHEMATICAL SANS-SERIF DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
-1D7E9;MATHEMATICAL SANS-SERIF DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
-1D7EA;MATHEMATICAL SANS-SERIF DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
-1D7EB;MATHEMATICAL SANS-SERIF DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1D7EC;MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
-1D7ED;MATHEMATICAL SANS-SERIF BOLD DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
-1D7EE;MATHEMATICAL SANS-SERIF BOLD DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
-1D7EF;MATHEMATICAL SANS-SERIF BOLD DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
-1D7F0;MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
-1D7F1;MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
-1D7F2;MATHEMATICAL SANS-SERIF BOLD DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
-1D7F3;MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
-1D7F4;MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
-1D7F5;MATHEMATICAL SANS-SERIF BOLD DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1D7F6;MATHEMATICAL MONOSPACE DIGIT ZERO;Nd;0;EN;<font> 0030;0;0;0;N;;;;;
-1D7F7;MATHEMATICAL MONOSPACE DIGIT ONE;Nd;0;EN;<font> 0031;1;1;1;N;;;;;
-1D7F8;MATHEMATICAL MONOSPACE DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;
-1D7F9;MATHEMATICAL MONOSPACE DIGIT THREE;Nd;0;EN;<font> 0033;3;3;3;N;;;;;
-1D7FA;MATHEMATICAL MONOSPACE DIGIT FOUR;Nd;0;EN;<font> 0034;4;4;4;N;;;;;
-1D7FB;MATHEMATICAL MONOSPACE DIGIT FIVE;Nd;0;EN;<font> 0035;5;5;5;N;;;;;
-1D7FC;MATHEMATICAL MONOSPACE DIGIT SIX;Nd;0;EN;<font> 0036;6;6;6;N;;;;;
-1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
-1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
-1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
-1F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;;
-1F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;;
-1F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;;
-1F003;MAHJONG TILE NORTH WIND;So;0;ON;;;;;N;;;;;
-1F004;MAHJONG TILE RED DRAGON;So;0;ON;;;;;N;;;;;
-1F005;MAHJONG TILE GREEN DRAGON;So;0;ON;;;;;N;;;;;
-1F006;MAHJONG TILE WHITE DRAGON;So;0;ON;;;;;N;;;;;
-1F007;MAHJONG TILE ONE OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F008;MAHJONG TILE TWO OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F009;MAHJONG TILE THREE OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F00A;MAHJONG TILE FOUR OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F00B;MAHJONG TILE FIVE OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F00C;MAHJONG TILE SIX OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F00D;MAHJONG TILE SEVEN OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F00E;MAHJONG TILE EIGHT OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F00F;MAHJONG TILE NINE OF CHARACTERS;So;0;ON;;;;;N;;;;;
-1F010;MAHJONG TILE ONE OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F011;MAHJONG TILE TWO OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F012;MAHJONG TILE THREE OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F013;MAHJONG TILE FOUR OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F014;MAHJONG TILE FIVE OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F015;MAHJONG TILE SIX OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F016;MAHJONG TILE SEVEN OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F017;MAHJONG TILE EIGHT OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F018;MAHJONG TILE NINE OF BAMBOOS;So;0;ON;;;;;N;;;;;
-1F019;MAHJONG TILE ONE OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F01A;MAHJONG TILE TWO OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F01B;MAHJONG TILE THREE OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F01C;MAHJONG TILE FOUR OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F01D;MAHJONG TILE FIVE OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F01E;MAHJONG TILE SIX OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F01F;MAHJONG TILE SEVEN OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F020;MAHJONG TILE EIGHT OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F021;MAHJONG TILE NINE OF CIRCLES;So;0;ON;;;;;N;;;;;
-1F022;MAHJONG TILE PLUM;So;0;ON;;;;;N;;;;;
-1F023;MAHJONG TILE ORCHID;So;0;ON;;;;;N;;;;;
-1F024;MAHJONG TILE BAMBOO;So;0;ON;;;;;N;;;;;
-1F025;MAHJONG TILE CHRYSANTHEMUM;So;0;ON;;;;;N;;;;;
-1F026;MAHJONG TILE SPRING;So;0;ON;;;;;N;;;;;
-1F027;MAHJONG TILE SUMMER;So;0;ON;;;;;N;;;;;
-1F028;MAHJONG TILE AUTUMN;So;0;ON;;;;;N;;;;;
-1F029;MAHJONG TILE WINTER;So;0;ON;;;;;N;;;;;
-1F02A;MAHJONG TILE JOKER;So;0;ON;;;;;N;;;;;
-1F02B;MAHJONG TILE BACK;So;0;ON;;;;;N;;;;;
-1F030;DOMINO TILE HORIZONTAL BACK;So;0;ON;;;;;N;;;;;
-1F031;DOMINO TILE HORIZONTAL-00-00;So;0;ON;;;;;N;;;;;
-1F032;DOMINO TILE HORIZONTAL-00-01;So;0;ON;;;;;N;;;;;
-1F033;DOMINO TILE HORIZONTAL-00-02;So;0;ON;;;;;N;;;;;
-1F034;DOMINO TILE HORIZONTAL-00-03;So;0;ON;;;;;N;;;;;
-1F035;DOMINO TILE HORIZONTAL-00-04;So;0;ON;;;;;N;;;;;
-1F036;DOMINO TILE HORIZONTAL-00-05;So;0;ON;;;;;N;;;;;
-1F037;DOMINO TILE HORIZONTAL-00-06;So;0;ON;;;;;N;;;;;
-1F038;DOMINO TILE HORIZONTAL-01-00;So;0;ON;;;;;N;;;;;
-1F039;DOMINO TILE HORIZONTAL-01-01;So;0;ON;;;;;N;;;;;
-1F03A;DOMINO TILE HORIZONTAL-01-02;So;0;ON;;;;;N;;;;;
-1F03B;DOMINO TILE HORIZONTAL-01-03;So;0;ON;;;;;N;;;;;
-1F03C;DOMINO TILE HORIZONTAL-01-04;So;0;ON;;;;;N;;;;;
-1F03D;DOMINO TILE HORIZONTAL-01-05;So;0;ON;;;;;N;;;;;
-1F03E;DOMINO TILE HORIZONTAL-01-06;So;0;ON;;;;;N;;;;;
-1F03F;DOMINO TILE HORIZONTAL-02-00;So;0;ON;;;;;N;;;;;
-1F040;DOMINO TILE HORIZONTAL-02-01;So;0;ON;;;;;N;;;;;
-1F041;DOMINO TILE HORIZONTAL-02-02;So;0;ON;;;;;N;;;;;
-1F042;DOMINO TILE HORIZONTAL-02-03;So;0;ON;;;;;N;;;;;
-1F043;DOMINO TILE HORIZONTAL-02-04;So;0;ON;;;;;N;;;;;
-1F044;DOMINO TILE HORIZONTAL-02-05;So;0;ON;;;;;N;;;;;
-1F045;DOMINO TILE HORIZONTAL-02-06;So;0;ON;;;;;N;;;;;
-1F046;DOMINO TILE HORIZONTAL-03-00;So;0;ON;;;;;N;;;;;
-1F047;DOMINO TILE HORIZONTAL-03-01;So;0;ON;;;;;N;;;;;
-1F048;DOMINO TILE HORIZONTAL-03-02;So;0;ON;;;;;N;;;;;
-1F049;DOMINO TILE HORIZONTAL-03-03;So;0;ON;;;;;N;;;;;
-1F04A;DOMINO TILE HORIZONTAL-03-04;So;0;ON;;;;;N;;;;;
-1F04B;DOMINO TILE HORIZONTAL-03-05;So;0;ON;;;;;N;;;;;
-1F04C;DOMINO TILE HORIZONTAL-03-06;So;0;ON;;;;;N;;;;;
-1F04D;DOMINO TILE HORIZONTAL-04-00;So;0;ON;;;;;N;;;;;
-1F04E;DOMINO TILE HORIZONTAL-04-01;So;0;ON;;;;;N;;;;;
-1F04F;DOMINO TILE HORIZONTAL-04-02;So;0;ON;;;;;N;;;;;
-1F050;DOMINO TILE HORIZONTAL-04-03;So;0;ON;;;;;N;;;;;
-1F051;DOMINO TILE HORIZONTAL-04-04;So;0;ON;;;;;N;;;;;
-1F052;DOMINO TILE HORIZONTAL-04-05;So;0;ON;;;;;N;;;;;
-1F053;DOMINO TILE HORIZONTAL-04-06;So;0;ON;;;;;N;;;;;
-1F054;DOMINO TILE HORIZONTAL-05-00;So;0;ON;;;;;N;;;;;
-1F055;DOMINO TILE HORIZONTAL-05-01;So;0;ON;;;;;N;;;;;
-1F056;DOMINO TILE HORIZONTAL-05-02;So;0;ON;;;;;N;;;;;
-1F057;DOMINO TILE HORIZONTAL-05-03;So;0;ON;;;;;N;;;;;
-1F058;DOMINO TILE HORIZONTAL-05-04;So;0;ON;;;;;N;;;;;
-1F059;DOMINO TILE HORIZONTAL-05-05;So;0;ON;;;;;N;;;;;
-1F05A;DOMINO TILE HORIZONTAL-05-06;So;0;ON;;;;;N;;;;;
-1F05B;DOMINO TILE HORIZONTAL-06-00;So;0;ON;;;;;N;;;;;
-1F05C;DOMINO TILE HORIZONTAL-06-01;So;0;ON;;;;;N;;;;;
-1F05D;DOMINO TILE HORIZONTAL-06-02;So;0;ON;;;;;N;;;;;
-1F05E;DOMINO TILE HORIZONTAL-06-03;So;0;ON;;;;;N;;;;;
-1F05F;DOMINO TILE HORIZONTAL-06-04;So;0;ON;;;;;N;;;;;
-1F060;DOMINO TILE HORIZONTAL-06-05;So;0;ON;;;;;N;;;;;
-1F061;DOMINO TILE HORIZONTAL-06-06;So;0;ON;;;;;N;;;;;
-1F062;DOMINO TILE VERTICAL BACK;So;0;ON;;;;;N;;;;;
-1F063;DOMINO TILE VERTICAL-00-00;So;0;ON;;;;;N;;;;;
-1F064;DOMINO TILE VERTICAL-00-01;So;0;ON;;;;;N;;;;;
-1F065;DOMINO TILE VERTICAL-00-02;So;0;ON;;;;;N;;;;;
-1F066;DOMINO TILE VERTICAL-00-03;So;0;ON;;;;;N;;;;;
-1F067;DOMINO TILE VERTICAL-00-04;So;0;ON;;;;;N;;;;;
-1F068;DOMINO TILE VERTICAL-00-05;So;0;ON;;;;;N;;;;;
-1F069;DOMINO TILE VERTICAL-00-06;So;0;ON;;;;;N;;;;;
-1F06A;DOMINO TILE VERTICAL-01-00;So;0;ON;;;;;N;;;;;
-1F06B;DOMINO TILE VERTICAL-01-01;So;0;ON;;;;;N;;;;;
-1F06C;DOMINO TILE VERTICAL-01-02;So;0;ON;;;;;N;;;;;
-1F06D;DOMINO TILE VERTICAL-01-03;So;0;ON;;;;;N;;;;;
-1F06E;DOMINO TILE VERTICAL-01-04;So;0;ON;;;;;N;;;;;
-1F06F;DOMINO TILE VERTICAL-01-05;So;0;ON;;;;;N;;;;;
-1F070;DOMINO TILE VERTICAL-01-06;So;0;ON;;;;;N;;;;;
-1F071;DOMINO TILE VERTICAL-02-00;So;0;ON;;;;;N;;;;;
-1F072;DOMINO TILE VERTICAL-02-01;So;0;ON;;;;;N;;;;;
-1F073;DOMINO TILE VERTICAL-02-02;So;0;ON;;;;;N;;;;;
-1F074;DOMINO TILE VERTICAL-02-03;So;0;ON;;;;;N;;;;;
-1F075;DOMINO TILE VERTICAL-02-04;So;0;ON;;;;;N;;;;;
-1F076;DOMINO TILE VERTICAL-02-05;So;0;ON;;;;;N;;;;;
-1F077;DOMINO TILE VERTICAL-02-06;So;0;ON;;;;;N;;;;;
-1F078;DOMINO TILE VERTICAL-03-00;So;0;ON;;;;;N;;;;;
-1F079;DOMINO TILE VERTICAL-03-01;So;0;ON;;;;;N;;;;;
-1F07A;DOMINO TILE VERTICAL-03-02;So;0;ON;;;;;N;;;;;
-1F07B;DOMINO TILE VERTICAL-03-03;So;0;ON;;;;;N;;;;;
-1F07C;DOMINO TILE VERTICAL-03-04;So;0;ON;;;;;N;;;;;
-1F07D;DOMINO TILE VERTICAL-03-05;So;0;ON;;;;;N;;;;;
-1F07E;DOMINO TILE VERTICAL-03-06;So;0;ON;;;;;N;;;;;
-1F07F;DOMINO TILE VERTICAL-04-00;So;0;ON;;;;;N;;;;;
-1F080;DOMINO TILE VERTICAL-04-01;So;0;ON;;;;;N;;;;;
-1F081;DOMINO TILE VERTICAL-04-02;So;0;ON;;;;;N;;;;;
-1F082;DOMINO TILE VERTICAL-04-03;So;0;ON;;;;;N;;;;;
-1F083;DOMINO TILE VERTICAL-04-04;So;0;ON;;;;;N;;;;;
-1F084;DOMINO TILE VERTICAL-04-05;So;0;ON;;;;;N;;;;;
-1F085;DOMINO TILE VERTICAL-04-06;So;0;ON;;;;;N;;;;;
-1F086;DOMINO TILE VERTICAL-05-00;So;0;ON;;;;;N;;;;;
-1F087;DOMINO TILE VERTICAL-05-01;So;0;ON;;;;;N;;;;;
-1F088;DOMINO TILE VERTICAL-05-02;So;0;ON;;;;;N;;;;;
-1F089;DOMINO TILE VERTICAL-05-03;So;0;ON;;;;;N;;;;;
-1F08A;DOMINO TILE VERTICAL-05-04;So;0;ON;;;;;N;;;;;
-1F08B;DOMINO TILE VERTICAL-05-05;So;0;ON;;;;;N;;;;;
-1F08C;DOMINO TILE VERTICAL-05-06;So;0;ON;;;;;N;;;;;
-1F08D;DOMINO TILE VERTICAL-06-00;So;0;ON;;;;;N;;;;;
-1F08E;DOMINO TILE VERTICAL-06-01;So;0;ON;;;;;N;;;;;
-1F08F;DOMINO TILE VERTICAL-06-02;So;0;ON;;;;;N;;;;;
-1F090;DOMINO TILE VERTICAL-06-03;So;0;ON;;;;;N;;;;;
-1F091;DOMINO TILE VERTICAL-06-04;So;0;ON;;;;;N;;;;;
-1F092;DOMINO TILE VERTICAL-06-05;So;0;ON;;;;;N;;;;;
-1F093;DOMINO TILE VERTICAL-06-06;So;0;ON;;;;;N;;;;;
-1F100;DIGIT ZERO FULL STOP;No;0;EN;<compat> 0030 002E;;0;0;N;;;;;
-1F101;DIGIT ZERO COMMA;No;0;EN;<compat> 0030 002C;;0;0;N;;;;;
-1F102;DIGIT ONE COMMA;No;0;EN;<compat> 0031 002C;;1;1;N;;;;;
-1F103;DIGIT TWO COMMA;No;0;EN;<compat> 0032 002C;;2;2;N;;;;;
-1F104;DIGIT THREE COMMA;No;0;EN;<compat> 0033 002C;;3;3;N;;;;;
-1F105;DIGIT FOUR COMMA;No;0;EN;<compat> 0034 002C;;4;4;N;;;;;
-1F106;DIGIT FIVE COMMA;No;0;EN;<compat> 0035 002C;;5;5;N;;;;;
-1F107;DIGIT SIX COMMA;No;0;EN;<compat> 0036 002C;;6;6;N;;;;;
-1F108;DIGIT SEVEN COMMA;No;0;EN;<compat> 0037 002C;;7;7;N;;;;;
-1F109;DIGIT EIGHT COMMA;No;0;EN;<compat> 0038 002C;;8;8;N;;;;;
-1F10A;DIGIT NINE COMMA;No;0;EN;<compat> 0039 002C;;9;9;N;;;;;
-1F110;PARENTHESIZED LATIN CAPITAL LETTER A;So;0;L;<compat> 0028 0041 0029;;;;N;;;;;
-1F111;PARENTHESIZED LATIN CAPITAL LETTER B;So;0;L;<compat> 0028 0042 0029;;;;N;;;;;
-1F112;PARENTHESIZED LATIN CAPITAL LETTER C;So;0;L;<compat> 0028 0043 0029;;;;N;;;;;
-1F113;PARENTHESIZED LATIN CAPITAL LETTER D;So;0;L;<compat> 0028 0044 0029;;;;N;;;;;
-1F114;PARENTHESIZED LATIN CAPITAL LETTER E;So;0;L;<compat> 0028 0045 0029;;;;N;;;;;
-1F115;PARENTHESIZED LATIN CAPITAL LETTER F;So;0;L;<compat> 0028 0046 0029;;;;N;;;;;
-1F116;PARENTHESIZED LATIN CAPITAL LETTER G;So;0;L;<compat> 0028 0047 0029;;;;N;;;;;
-1F117;PARENTHESIZED LATIN CAPITAL LETTER H;So;0;L;<compat> 0028 0048 0029;;;;N;;;;;
-1F118;PARENTHESIZED LATIN CAPITAL LETTER I;So;0;L;<compat> 0028 0049 0029;;;;N;;;;;
-1F119;PARENTHESIZED LATIN CAPITAL LETTER J;So;0;L;<compat> 0028 004A 0029;;;;N;;;;;
-1F11A;PARENTHESIZED LATIN CAPITAL LETTER K;So;0;L;<compat> 0028 004B 0029;;;;N;;;;;
-1F11B;PARENTHESIZED LATIN CAPITAL LETTER L;So;0;L;<compat> 0028 004C 0029;;;;N;;;;;
-1F11C;PARENTHESIZED LATIN CAPITAL LETTER M;So;0;L;<compat> 0028 004D 0029;;;;N;;;;;
-1F11D;PARENTHESIZED LATIN CAPITAL LETTER N;So;0;L;<compat> 0028 004E 0029;;;;N;;;;;
-1F11E;PARENTHESIZED LATIN CAPITAL LETTER O;So;0;L;<compat> 0028 004F 0029;;;;N;;;;;
-1F11F;PARENTHESIZED LATIN CAPITAL LETTER P;So;0;L;<compat> 0028 0050 0029;;;;N;;;;;
-1F120;PARENTHESIZED LATIN CAPITAL LETTER Q;So;0;L;<compat> 0028 0051 0029;;;;N;;;;;
-1F121;PARENTHESIZED LATIN CAPITAL LETTER R;So;0;L;<compat> 0028 0052 0029;;;;N;;;;;
-1F122;PARENTHESIZED LATIN CAPITAL LETTER S;So;0;L;<compat> 0028 0053 0029;;;;N;;;;;
-1F123;PARENTHESIZED LATIN CAPITAL LETTER T;So;0;L;<compat> 0028 0054 0029;;;;N;;;;;
-1F124;PARENTHESIZED LATIN CAPITAL LETTER U;So;0;L;<compat> 0028 0055 0029;;;;N;;;;;
-1F125;PARENTHESIZED LATIN CAPITAL LETTER V;So;0;L;<compat> 0028 0056 0029;;;;N;;;;;
-1F126;PARENTHESIZED LATIN CAPITAL LETTER W;So;0;L;<compat> 0028 0057 0029;;;;N;;;;;
-1F127;PARENTHESIZED LATIN CAPITAL LETTER X;So;0;L;<compat> 0028 0058 0029;;;;N;;;;;
-1F128;PARENTHESIZED LATIN CAPITAL LETTER Y;So;0;L;<compat> 0028 0059 0029;;;;N;;;;;
-1F129;PARENTHESIZED LATIN CAPITAL LETTER Z;So;0;L;<compat> 0028 005A 0029;;;;N;;;;;
-1F12A;TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S;So;0;L;<compat> 3014 0053 3015;;;;N;;;;;
-1F12B;CIRCLED ITALIC LATIN CAPITAL LETTER C;So;0;L;<circle> 0043;;;;N;;;;;
-1F12C;CIRCLED ITALIC LATIN CAPITAL LETTER R;So;0;L;<circle> 0052;;;;N;;;;;
-1F12D;CIRCLED CD;So;0;L;<circle> 0043 0044;;;;N;;;;;
-1F12E;CIRCLED WZ;So;0;L;<circle> 0057 005A;;;;N;;;;;
-1F131;SQUARED LATIN CAPITAL LETTER B;So;0;L;<square> 0042;;;;N;;;;;
-1F13D;SQUARED LATIN CAPITAL LETTER N;So;0;L;<square> 004E;;;;N;;;;;
-1F13F;SQUARED LATIN CAPITAL LETTER P;So;0;L;<square> 0050;;;;N;;;;;
-1F142;SQUARED LATIN CAPITAL LETTER S;So;0;L;<square> 0053;;;;N;;;;;
-1F146;SQUARED LATIN CAPITAL LETTER W;So;0;L;<square> 0057;;;;N;;;;;
-1F14A;SQUARED HV;So;0;L;<square> 0048 0056;;;;N;;;;;
-1F14B;SQUARED MV;So;0;L;<square> 004D 0056;;;;N;;;;;
-1F14C;SQUARED SD;So;0;L;<square> 0053 0044;;;;N;;;;;
-1F14D;SQUARED SS;So;0;L;<square> 0053 0053;;;;N;;;;;
-1F14E;SQUARED PPV;So;0;L;<square> 0050 0050 0056;;;;N;;;;;
-1F157;NEGATIVE CIRCLED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;;
-1F15F;NEGATIVE CIRCLED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;;
-1F179;NEGATIVE SQUARED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;;
-1F17B;NEGATIVE SQUARED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;;
-1F17C;NEGATIVE SQUARED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;;
-1F17F;NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;;
-1F18A;CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;;
-1F18B;NEGATIVE SQUARED IC;So;0;L;;;;;N;;;;;
-1F18C;NEGATIVE SQUARED PA;So;0;L;;;;;N;;;;;
-1F18D;NEGATIVE SQUARED SA;So;0;L;;;;;N;;;;;
-1F190;SQUARE DJ;So;0;L;<square> 0044 004A;;;;N;;;;;
-1F200;SQUARE HIRAGANA HOKA;So;0;L;<square> 307B 304B;;;;N;;;;;
-1F210;SQUARED CJK UNIFIED IDEOGRAPH-624B;So;0;L;<square> 624B;;;;N;;;;;
-1F211;SQUARED CJK UNIFIED IDEOGRAPH-5B57;So;0;L;<square> 5B57;;;;N;;;;;
-1F212;SQUARED CJK UNIFIED IDEOGRAPH-53CC;So;0;L;<square> 53CC;;;;N;;;;;
-1F213;SQUARED KATAKANA DE;So;0;L;<square> 30C7;;;;N;;;;;
-1F214;SQUARED CJK UNIFIED IDEOGRAPH-4E8C;So;0;L;<square> 4E8C;;;;N;;;;;
-1F215;SQUARED CJK UNIFIED IDEOGRAPH-591A;So;0;L;<square> 591A;;;;N;;;;;
-1F216;SQUARED CJK UNIFIED IDEOGRAPH-89E3;So;0;L;<square> 89E3;;;;N;;;;;
-1F217;SQUARED CJK UNIFIED IDEOGRAPH-5929;So;0;L;<square> 5929;;;;N;;;;;
-1F218;SQUARED CJK UNIFIED IDEOGRAPH-4EA4;So;0;L;<square> 4EA4;;;;N;;;;;
-1F219;SQUARED CJK UNIFIED IDEOGRAPH-6620;So;0;L;<square> 6620;;;;N;;;;;
-1F21A;SQUARED CJK UNIFIED IDEOGRAPH-7121;So;0;L;<square> 7121;;;;N;;;;;
-1F21B;SQUARED CJK UNIFIED IDEOGRAPH-6599;So;0;L;<square> 6599;;;;N;;;;;
-1F21C;SQUARED CJK UNIFIED IDEOGRAPH-524D;So;0;L;<square> 524D;;;;N;;;;;
-1F21D;SQUARED CJK UNIFIED IDEOGRAPH-5F8C;So;0;L;<square> 5F8C;;;;N;;;;;
-1F21E;SQUARED CJK UNIFIED IDEOGRAPH-518D;So;0;L;<square> 518D;;;;N;;;;;
-1F21F;SQUARED CJK UNIFIED IDEOGRAPH-65B0;So;0;L;<square> 65B0;;;;N;;;;;
-1F220;SQUARED CJK UNIFIED IDEOGRAPH-521D;So;0;L;<square> 521D;;;;N;;;;;
-1F221;SQUARED CJK UNIFIED IDEOGRAPH-7D42;So;0;L;<square> 7D42;;;;N;;;;;
-1F222;SQUARED CJK UNIFIED IDEOGRAPH-751F;So;0;L;<square> 751F;;;;N;;;;;
-1F223;SQUARED CJK UNIFIED IDEOGRAPH-8CA9;So;0;L;<square> 8CA9;;;;N;;;;;
-1F224;SQUARED CJK UNIFIED IDEOGRAPH-58F0;So;0;L;<square> 58F0;;;;N;;;;;
-1F225;SQUARED CJK UNIFIED IDEOGRAPH-5439;So;0;L;<square> 5439;;;;N;;;;;
-1F226;SQUARED CJK UNIFIED IDEOGRAPH-6F14;So;0;L;<square> 6F14;;;;N;;;;;
-1F227;SQUARED CJK UNIFIED IDEOGRAPH-6295;So;0;L;<square> 6295;;;;N;;;;;
-1F228;SQUARED CJK UNIFIED IDEOGRAPH-6355;So;0;L;<square> 6355;;;;N;;;;;
-1F229;SQUARED CJK UNIFIED IDEOGRAPH-4E00;So;0;L;<square> 4E00;;;;N;;;;;
-1F22A;SQUARED CJK UNIFIED IDEOGRAPH-4E09;So;0;L;<square> 4E09;;;;N;;;;;
-1F22B;SQUARED CJK UNIFIED IDEOGRAPH-904A;So;0;L;<square> 904A;;;;N;;;;;
-1F22C;SQUARED CJK UNIFIED IDEOGRAPH-5DE6;So;0;L;<square> 5DE6;;;;N;;;;;
-1F22D;SQUARED CJK UNIFIED IDEOGRAPH-4E2D;So;0;L;<square> 4E2D;;;;N;;;;;
-1F22E;SQUARED CJK UNIFIED IDEOGRAPH-53F3;So;0;L;<square> 53F3;;;;N;;;;;
-1F22F;SQUARED CJK UNIFIED IDEOGRAPH-6307;So;0;L;<square> 6307;;;;N;;;;;
-1F230;SQUARED CJK UNIFIED IDEOGRAPH-8D70;So;0;L;<square> 8D70;;;;N;;;;;
-1F231;SQUARED CJK UNIFIED IDEOGRAPH-6253;So;0;L;<square> 6253;;;;N;;;;;
-1F240;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C;So;0;L;<compat> 3014 672C 3015;;;;N;;;;;
-1F241;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09;So;0;L;<compat> 3014 4E09 3015;;;;N;;;;;
-1F242;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C;So;0;L;<compat> 3014 4E8C 3015;;;;N;;;;;
-1F243;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89;So;0;L;<compat> 3014 5B89 3015;;;;N;;;;;
-1F244;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9;So;0;L;<compat> 3014 70B9 3015;;;;N;;;;;
-1F245;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253;So;0;L;<compat> 3014 6253 3015;;;;N;;;;;
-1F246;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7;So;0;L;<compat> 3014 76D7 3015;;;;N;;;;;
-1F247;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD;So;0;L;<compat> 3014 52DD 3015;;;;N;;;;;
-1F248;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557;So;0;L;<compat> 3014 6557 3015;;;;N;;;;;
-20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
-2A6D6;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
-2A700;<CJK Ideograph Extension C, First>;Lo;0;L;;;;;N;;;;;
-2B734;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
-2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;;
-2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;;
-2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;;
-2F803;CJK COMPATIBILITY IDEOGRAPH-2F803;Lo;0;L;20122;;;;N;;;;;
-2F804;CJK COMPATIBILITY IDEOGRAPH-2F804;Lo;0;L;4F60;;;;N;;;;;
-2F805;CJK COMPATIBILITY IDEOGRAPH-2F805;Lo;0;L;4FAE;;;;N;;;;;
-2F806;CJK COMPATIBILITY IDEOGRAPH-2F806;Lo;0;L;4FBB;;;;N;;;;;
-2F807;CJK COMPATIBILITY IDEOGRAPH-2F807;Lo;0;L;5002;;;;N;;;;;
-2F808;CJK COMPATIBILITY IDEOGRAPH-2F808;Lo;0;L;507A;;;;N;;;;;
-2F809;CJK COMPATIBILITY IDEOGRAPH-2F809;Lo;0;L;5099;;;;N;;;;;
-2F80A;CJK COMPATIBILITY IDEOGRAPH-2F80A;Lo;0;L;50E7;;;;N;;;;;
-2F80B;CJK COMPATIBILITY IDEOGRAPH-2F80B;Lo;0;L;50CF;;;;N;;;;;
-2F80C;CJK COMPATIBILITY IDEOGRAPH-2F80C;Lo;0;L;349E;;;;N;;;;;
-2F80D;CJK COMPATIBILITY IDEOGRAPH-2F80D;Lo;0;L;2063A;;;;N;;;;;
-2F80E;CJK COMPATIBILITY IDEOGRAPH-2F80E;Lo;0;L;514D;;;;N;;;;;
-2F80F;CJK COMPATIBILITY IDEOGRAPH-2F80F;Lo;0;L;5154;;;;N;;;;;
-2F810;CJK COMPATIBILITY IDEOGRAPH-2F810;Lo;0;L;5164;;;;N;;;;;
-2F811;CJK COMPATIBILITY IDEOGRAPH-2F811;Lo;0;L;5177;;;;N;;;;;
-2F812;CJK COMPATIBILITY IDEOGRAPH-2F812;Lo;0;L;2051C;;;;N;;;;;
-2F813;CJK COMPATIBILITY IDEOGRAPH-2F813;Lo;0;L;34B9;;;;N;;;;;
-2F814;CJK COMPATIBILITY IDEOGRAPH-2F814;Lo;0;L;5167;;;;N;;;;;
-2F815;CJK COMPATIBILITY IDEOGRAPH-2F815;Lo;0;L;518D;;;;N;;;;;
-2F816;CJK COMPATIBILITY IDEOGRAPH-2F816;Lo;0;L;2054B;;;;N;;;;;
-2F817;CJK COMPATIBILITY IDEOGRAPH-2F817;Lo;0;L;5197;;;;N;;;;;
-2F818;CJK COMPATIBILITY IDEOGRAPH-2F818;Lo;0;L;51A4;;;;N;;;;;
-2F819;CJK COMPATIBILITY IDEOGRAPH-2F819;Lo;0;L;4ECC;;;;N;;;;;
-2F81A;CJK COMPATIBILITY IDEOGRAPH-2F81A;Lo;0;L;51AC;;;;N;;;;;
-2F81B;CJK COMPATIBILITY IDEOGRAPH-2F81B;Lo;0;L;51B5;;;;N;;;;;
-2F81C;CJK COMPATIBILITY IDEOGRAPH-2F81C;Lo;0;L;291DF;;;;N;;;;;
-2F81D;CJK COMPATIBILITY IDEOGRAPH-2F81D;Lo;0;L;51F5;;;;N;;;;;
-2F81E;CJK COMPATIBILITY IDEOGRAPH-2F81E;Lo;0;L;5203;;;;N;;;;;
-2F81F;CJK COMPATIBILITY IDEOGRAPH-2F81F;Lo;0;L;34DF;;;;N;;;;;
-2F820;CJK COMPATIBILITY IDEOGRAPH-2F820;Lo;0;L;523B;;;;N;;;;;
-2F821;CJK COMPATIBILITY IDEOGRAPH-2F821;Lo;0;L;5246;;;;N;;;;;
-2F822;CJK COMPATIBILITY IDEOGRAPH-2F822;Lo;0;L;5272;;;;N;;;;;
-2F823;CJK COMPATIBILITY IDEOGRAPH-2F823;Lo;0;L;5277;;;;N;;;;;
-2F824;CJK COMPATIBILITY IDEOGRAPH-2F824;Lo;0;L;3515;;;;N;;;;;
-2F825;CJK COMPATIBILITY IDEOGRAPH-2F825;Lo;0;L;52C7;;;;N;;;;;
-2F826;CJK COMPATIBILITY IDEOGRAPH-2F826;Lo;0;L;52C9;;;;N;;;;;
-2F827;CJK COMPATIBILITY IDEOGRAPH-2F827;Lo;0;L;52E4;;;;N;;;;;
-2F828;CJK COMPATIBILITY IDEOGRAPH-2F828;Lo;0;L;52FA;;;;N;;;;;
-2F829;CJK COMPATIBILITY IDEOGRAPH-2F829;Lo;0;L;5305;;;;N;;;;;
-2F82A;CJK COMPATIBILITY IDEOGRAPH-2F82A;Lo;0;L;5306;;;;N;;;;;
-2F82B;CJK COMPATIBILITY IDEOGRAPH-2F82B;Lo;0;L;5317;;;;N;;;;;
-2F82C;CJK COMPATIBILITY IDEOGRAPH-2F82C;Lo;0;L;5349;;;;N;;;;;
-2F82D;CJK COMPATIBILITY IDEOGRAPH-2F82D;Lo;0;L;5351;;;;N;;;;;
-2F82E;CJK COMPATIBILITY IDEOGRAPH-2F82E;Lo;0;L;535A;;;;N;;;;;
-2F82F;CJK COMPATIBILITY IDEOGRAPH-2F82F;Lo;0;L;5373;;;;N;;;;;
-2F830;CJK COMPATIBILITY IDEOGRAPH-2F830;Lo;0;L;537D;;;;N;;;;;
-2F831;CJK COMPATIBILITY IDEOGRAPH-2F831;Lo;0;L;537F;;;;N;;;;;
-2F832;CJK COMPATIBILITY IDEOGRAPH-2F832;Lo;0;L;537F;;;;N;;;;;
-2F833;CJK COMPATIBILITY IDEOGRAPH-2F833;Lo;0;L;537F;;;;N;;;;;
-2F834;CJK COMPATIBILITY IDEOGRAPH-2F834;Lo;0;L;20A2C;;;;N;;;;;
-2F835;CJK COMPATIBILITY IDEOGRAPH-2F835;Lo;0;L;7070;;;;N;;;;;
-2F836;CJK COMPATIBILITY IDEOGRAPH-2F836;Lo;0;L;53CA;;;;N;;;;;
-2F837;CJK COMPATIBILITY IDEOGRAPH-2F837;Lo;0;L;53DF;;;;N;;;;;
-2F838;CJK COMPATIBILITY IDEOGRAPH-2F838;Lo;0;L;20B63;;;;N;;;;;
-2F839;CJK COMPATIBILITY IDEOGRAPH-2F839;Lo;0;L;53EB;;;;N;;;;;
-2F83A;CJK COMPATIBILITY IDEOGRAPH-2F83A;Lo;0;L;53F1;;;;N;;;;;
-2F83B;CJK COMPATIBILITY IDEOGRAPH-2F83B;Lo;0;L;5406;;;;N;;;;;
-2F83C;CJK COMPATIBILITY IDEOGRAPH-2F83C;Lo;0;L;549E;;;;N;;;;;
-2F83D;CJK COMPATIBILITY IDEOGRAPH-2F83D;Lo;0;L;5438;;;;N;;;;;
-2F83E;CJK COMPATIBILITY IDEOGRAPH-2F83E;Lo;0;L;5448;;;;N;;;;;
-2F83F;CJK COMPATIBILITY IDEOGRAPH-2F83F;Lo;0;L;5468;;;;N;;;;;
-2F840;CJK COMPATIBILITY IDEOGRAPH-2F840;Lo;0;L;54A2;;;;N;;;;;
-2F841;CJK COMPATIBILITY IDEOGRAPH-2F841;Lo;0;L;54F6;;;;N;;;;;
-2F842;CJK COMPATIBILITY IDEOGRAPH-2F842;Lo;0;L;5510;;;;N;;;;;
-2F843;CJK COMPATIBILITY IDEOGRAPH-2F843;Lo;0;L;5553;;;;N;;;;;
-2F844;CJK COMPATIBILITY IDEOGRAPH-2F844;Lo;0;L;5563;;;;N;;;;;
-2F845;CJK COMPATIBILITY IDEOGRAPH-2F845;Lo;0;L;5584;;;;N;;;;;
-2F846;CJK COMPATIBILITY IDEOGRAPH-2F846;Lo;0;L;5584;;;;N;;;;;
-2F847;CJK COMPATIBILITY IDEOGRAPH-2F847;Lo;0;L;5599;;;;N;;;;;
-2F848;CJK COMPATIBILITY IDEOGRAPH-2F848;Lo;0;L;55AB;;;;N;;;;;
-2F849;CJK COMPATIBILITY IDEOGRAPH-2F849;Lo;0;L;55B3;;;;N;;;;;
-2F84A;CJK COMPATIBILITY IDEOGRAPH-2F84A;Lo;0;L;55C2;;;;N;;;;;
-2F84B;CJK COMPATIBILITY IDEOGRAPH-2F84B;Lo;0;L;5716;;;;N;;;;;
-2F84C;CJK COMPATIBILITY IDEOGRAPH-2F84C;Lo;0;L;5606;;;;N;;;;;
-2F84D;CJK COMPATIBILITY IDEOGRAPH-2F84D;Lo;0;L;5717;;;;N;;;;;
-2F84E;CJK COMPATIBILITY IDEOGRAPH-2F84E;Lo;0;L;5651;;;;N;;;;;
-2F84F;CJK COMPATIBILITY IDEOGRAPH-2F84F;Lo;0;L;5674;;;;N;;;;;
-2F850;CJK COMPATIBILITY IDEOGRAPH-2F850;Lo;0;L;5207;;;;N;;;;;
-2F851;CJK COMPATIBILITY IDEOGRAPH-2F851;Lo;0;L;58EE;;;;N;;;;;
-2F852;CJK COMPATIBILITY IDEOGRAPH-2F852;Lo;0;L;57CE;;;;N;;;;;
-2F853;CJK COMPATIBILITY IDEOGRAPH-2F853;Lo;0;L;57F4;;;;N;;;;;
-2F854;CJK COMPATIBILITY IDEOGRAPH-2F854;Lo;0;L;580D;;;;N;;;;;
-2F855;CJK COMPATIBILITY IDEOGRAPH-2F855;Lo;0;L;578B;;;;N;;;;;
-2F856;CJK COMPATIBILITY IDEOGRAPH-2F856;Lo;0;L;5832;;;;N;;;;;
-2F857;CJK COMPATIBILITY IDEOGRAPH-2F857;Lo;0;L;5831;;;;N;;;;;
-2F858;CJK COMPATIBILITY IDEOGRAPH-2F858;Lo;0;L;58AC;;;;N;;;;;
-2F859;CJK COMPATIBILITY IDEOGRAPH-2F859;Lo;0;L;214E4;;;;N;;;;;
-2F85A;CJK COMPATIBILITY IDEOGRAPH-2F85A;Lo;0;L;58F2;;;;N;;;;;
-2F85B;CJK COMPATIBILITY IDEOGRAPH-2F85B;Lo;0;L;58F7;;;;N;;;;;
-2F85C;CJK COMPATIBILITY IDEOGRAPH-2F85C;Lo;0;L;5906;;;;N;;;;;
-2F85D;CJK COMPATIBILITY IDEOGRAPH-2F85D;Lo;0;L;591A;;;;N;;;;;
-2F85E;CJK COMPATIBILITY IDEOGRAPH-2F85E;Lo;0;L;5922;;;;N;;;;;
-2F85F;CJK COMPATIBILITY IDEOGRAPH-2F85F;Lo;0;L;5962;;;;N;;;;;
-2F860;CJK COMPATIBILITY IDEOGRAPH-2F860;Lo;0;L;216A8;;;;N;;;;;
-2F861;CJK COMPATIBILITY IDEOGRAPH-2F861;Lo;0;L;216EA;;;;N;;;;;
-2F862;CJK COMPATIBILITY IDEOGRAPH-2F862;Lo;0;L;59EC;;;;N;;;;;
-2F863;CJK COMPATIBILITY IDEOGRAPH-2F863;Lo;0;L;5A1B;;;;N;;;;;
-2F864;CJK COMPATIBILITY IDEOGRAPH-2F864;Lo;0;L;5A27;;;;N;;;;;
-2F865;CJK COMPATIBILITY IDEOGRAPH-2F865;Lo;0;L;59D8;;;;N;;;;;
-2F866;CJK COMPATIBILITY IDEOGRAPH-2F866;Lo;0;L;5A66;;;;N;;;;;
-2F867;CJK COMPATIBILITY IDEOGRAPH-2F867;Lo;0;L;36EE;;;;N;;;;;
-2F868;CJK COMPATIBILITY IDEOGRAPH-2F868;Lo;0;L;36FC;;;;N;;;;;
-2F869;CJK COMPATIBILITY IDEOGRAPH-2F869;Lo;0;L;5B08;;;;N;;;;;
-2F86A;CJK COMPATIBILITY IDEOGRAPH-2F86A;Lo;0;L;5B3E;;;;N;;;;;
-2F86B;CJK COMPATIBILITY IDEOGRAPH-2F86B;Lo;0;L;5B3E;;;;N;;;;;
-2F86C;CJK COMPATIBILITY IDEOGRAPH-2F86C;Lo;0;L;219C8;;;;N;;;;;
-2F86D;CJK COMPATIBILITY IDEOGRAPH-2F86D;Lo;0;L;5BC3;;;;N;;;;;
-2F86E;CJK COMPATIBILITY IDEOGRAPH-2F86E;Lo;0;L;5BD8;;;;N;;;;;
-2F86F;CJK COMPATIBILITY IDEOGRAPH-2F86F;Lo;0;L;5BE7;;;;N;;;;;
-2F870;CJK COMPATIBILITY IDEOGRAPH-2F870;Lo;0;L;5BF3;;;;N;;;;;
-2F871;CJK COMPATIBILITY IDEOGRAPH-2F871;Lo;0;L;21B18;;;;N;;;;;
-2F872;CJK COMPATIBILITY IDEOGRAPH-2F872;Lo;0;L;5BFF;;;;N;;;;;
-2F873;CJK COMPATIBILITY IDEOGRAPH-2F873;Lo;0;L;5C06;;;;N;;;;;
-2F874;CJK COMPATIBILITY IDEOGRAPH-2F874;Lo;0;L;5F53;;;;N;;;;;
-2F875;CJK COMPATIBILITY IDEOGRAPH-2F875;Lo;0;L;5C22;;;;N;;;;;
-2F876;CJK COMPATIBILITY IDEOGRAPH-2F876;Lo;0;L;3781;;;;N;;;;;
-2F877;CJK COMPATIBILITY IDEOGRAPH-2F877;Lo;0;L;5C60;;;;N;;;;;
-2F878;CJK COMPATIBILITY IDEOGRAPH-2F878;Lo;0;L;5C6E;;;;N;;;;;
-2F879;CJK COMPATIBILITY IDEOGRAPH-2F879;Lo;0;L;5CC0;;;;N;;;;;
-2F87A;CJK COMPATIBILITY IDEOGRAPH-2F87A;Lo;0;L;5C8D;;;;N;;;;;
-2F87B;CJK COMPATIBILITY IDEOGRAPH-2F87B;Lo;0;L;21DE4;;;;N;;;;;
-2F87C;CJK COMPATIBILITY IDEOGRAPH-2F87C;Lo;0;L;5D43;;;;N;;;;;
-2F87D;CJK COMPATIBILITY IDEOGRAPH-2F87D;Lo;0;L;21DE6;;;;N;;;;;
-2F87E;CJK COMPATIBILITY IDEOGRAPH-2F87E;Lo;0;L;5D6E;;;;N;;;;;
-2F87F;CJK COMPATIBILITY IDEOGRAPH-2F87F;Lo;0;L;5D6B;;;;N;;;;;
-2F880;CJK COMPATIBILITY IDEOGRAPH-2F880;Lo;0;L;5D7C;;;;N;;;;;
-2F881;CJK COMPATIBILITY IDEOGRAPH-2F881;Lo;0;L;5DE1;;;;N;;;;;
-2F882;CJK COMPATIBILITY IDEOGRAPH-2F882;Lo;0;L;5DE2;;;;N;;;;;
-2F883;CJK COMPATIBILITY IDEOGRAPH-2F883;Lo;0;L;382F;;;;N;;;;;
-2F884;CJK COMPATIBILITY IDEOGRAPH-2F884;Lo;0;L;5DFD;;;;N;;;;;
-2F885;CJK COMPATIBILITY IDEOGRAPH-2F885;Lo;0;L;5E28;;;;N;;;;;
-2F886;CJK COMPATIBILITY IDEOGRAPH-2F886;Lo;0;L;5E3D;;;;N;;;;;
-2F887;CJK COMPATIBILITY IDEOGRAPH-2F887;Lo;0;L;5E69;;;;N;;;;;
-2F888;CJK COMPATIBILITY IDEOGRAPH-2F888;Lo;0;L;3862;;;;N;;;;;
-2F889;CJK COMPATIBILITY IDEOGRAPH-2F889;Lo;0;L;22183;;;;N;;;;;
-2F88A;CJK COMPATIBILITY IDEOGRAPH-2F88A;Lo;0;L;387C;;;;N;;;;;
-2F88B;CJK COMPATIBILITY IDEOGRAPH-2F88B;Lo;0;L;5EB0;;;;N;;;;;
-2F88C;CJK COMPATIBILITY IDEOGRAPH-2F88C;Lo;0;L;5EB3;;;;N;;;;;
-2F88D;CJK COMPATIBILITY IDEOGRAPH-2F88D;Lo;0;L;5EB6;;;;N;;;;;
-2F88E;CJK COMPATIBILITY IDEOGRAPH-2F88E;Lo;0;L;5ECA;;;;N;;;;;
-2F88F;CJK COMPATIBILITY IDEOGRAPH-2F88F;Lo;0;L;2A392;;;;N;;;;;
-2F890;CJK COMPATIBILITY IDEOGRAPH-2F890;Lo;0;L;5EFE;;;9;N;;;;;
-2F891;CJK COMPATIBILITY IDEOGRAPH-2F891;Lo;0;L;22331;;;;N;;;;;
-2F892;CJK COMPATIBILITY IDEOGRAPH-2F892;Lo;0;L;22331;;;;N;;;;;
-2F893;CJK COMPATIBILITY IDEOGRAPH-2F893;Lo;0;L;8201;;;;N;;;;;
-2F894;CJK COMPATIBILITY IDEOGRAPH-2F894;Lo;0;L;5F22;;;;N;;;;;
-2F895;CJK COMPATIBILITY IDEOGRAPH-2F895;Lo;0;L;5F22;;;;N;;;;;
-2F896;CJK COMPATIBILITY IDEOGRAPH-2F896;Lo;0;L;38C7;;;;N;;;;;
-2F897;CJK COMPATIBILITY IDEOGRAPH-2F897;Lo;0;L;232B8;;;;N;;;;;
-2F898;CJK COMPATIBILITY IDEOGRAPH-2F898;Lo;0;L;261DA;;;;N;;;;;
-2F899;CJK COMPATIBILITY IDEOGRAPH-2F899;Lo;0;L;5F62;;;;N;;;;;
-2F89A;CJK COMPATIBILITY IDEOGRAPH-2F89A;Lo;0;L;5F6B;;;;N;;;;;
-2F89B;CJK COMPATIBILITY IDEOGRAPH-2F89B;Lo;0;L;38E3;;;;N;;;;;
-2F89C;CJK COMPATIBILITY IDEOGRAPH-2F89C;Lo;0;L;5F9A;;;;N;;;;;
-2F89D;CJK COMPATIBILITY IDEOGRAPH-2F89D;Lo;0;L;5FCD;;;;N;;;;;
-2F89E;CJK COMPATIBILITY IDEOGRAPH-2F89E;Lo;0;L;5FD7;;;;N;;;;;
-2F89F;CJK COMPATIBILITY IDEOGRAPH-2F89F;Lo;0;L;5FF9;;;;N;;;;;
-2F8A0;CJK COMPATIBILITY IDEOGRAPH-2F8A0;Lo;0;L;6081;;;;N;;;;;
-2F8A1;CJK COMPATIBILITY IDEOGRAPH-2F8A1;Lo;0;L;393A;;;;N;;;;;
-2F8A2;CJK COMPATIBILITY IDEOGRAPH-2F8A2;Lo;0;L;391C;;;;N;;;;;
-2F8A3;CJK COMPATIBILITY IDEOGRAPH-2F8A3;Lo;0;L;6094;;;;N;;;;;
-2F8A4;CJK COMPATIBILITY IDEOGRAPH-2F8A4;Lo;0;L;226D4;;;;N;;;;;
-2F8A5;CJK COMPATIBILITY IDEOGRAPH-2F8A5;Lo;0;L;60C7;;;;N;;;;;
-2F8A6;CJK COMPATIBILITY IDEOGRAPH-2F8A6;Lo;0;L;6148;;;;N;;;;;
-2F8A7;CJK COMPATIBILITY IDEOGRAPH-2F8A7;Lo;0;L;614C;;;;N;;;;;
-2F8A8;CJK COMPATIBILITY IDEOGRAPH-2F8A8;Lo;0;L;614E;;;;N;;;;;
-2F8A9;CJK COMPATIBILITY IDEOGRAPH-2F8A9;Lo;0;L;614C;;;;N;;;;;
-2F8AA;CJK COMPATIBILITY IDEOGRAPH-2F8AA;Lo;0;L;617A;;;;N;;;;;
-2F8AB;CJK COMPATIBILITY IDEOGRAPH-2F8AB;Lo;0;L;618E;;;;N;;;;;
-2F8AC;CJK COMPATIBILITY IDEOGRAPH-2F8AC;Lo;0;L;61B2;;;;N;;;;;
-2F8AD;CJK COMPATIBILITY IDEOGRAPH-2F8AD;Lo;0;L;61A4;;;;N;;;;;
-2F8AE;CJK COMPATIBILITY IDEOGRAPH-2F8AE;Lo;0;L;61AF;;;;N;;;;;
-2F8AF;CJK COMPATIBILITY IDEOGRAPH-2F8AF;Lo;0;L;61DE;;;;N;;;;;
-2F8B0;CJK COMPATIBILITY IDEOGRAPH-2F8B0;Lo;0;L;61F2;;;;N;;;;;
-2F8B1;CJK COMPATIBILITY IDEOGRAPH-2F8B1;Lo;0;L;61F6;;;;N;;;;;
-2F8B2;CJK COMPATIBILITY IDEOGRAPH-2F8B2;Lo;0;L;6210;;;;N;;;;;
-2F8B3;CJK COMPATIBILITY IDEOGRAPH-2F8B3;Lo;0;L;621B;;;;N;;;;;
-2F8B4;CJK COMPATIBILITY IDEOGRAPH-2F8B4;Lo;0;L;625D;;;;N;;;;;
-2F8B5;CJK COMPATIBILITY IDEOGRAPH-2F8B5;Lo;0;L;62B1;;;;N;;;;;
-2F8B6;CJK COMPATIBILITY IDEOGRAPH-2F8B6;Lo;0;L;62D4;;;;N;;;;;
-2F8B7;CJK COMPATIBILITY IDEOGRAPH-2F8B7;Lo;0;L;6350;;;;N;;;;;
-2F8B8;CJK COMPATIBILITY IDEOGRAPH-2F8B8;Lo;0;L;22B0C;;;;N;;;;;
-2F8B9;CJK COMPATIBILITY IDEOGRAPH-2F8B9;Lo;0;L;633D;;;;N;;;;;
-2F8BA;CJK COMPATIBILITY IDEOGRAPH-2F8BA;Lo;0;L;62FC;;;;N;;;;;
-2F8BB;CJK COMPATIBILITY IDEOGRAPH-2F8BB;Lo;0;L;6368;;;;N;;;;;
-2F8BC;CJK COMPATIBILITY IDEOGRAPH-2F8BC;Lo;0;L;6383;;;;N;;;;;
-2F8BD;CJK COMPATIBILITY IDEOGRAPH-2F8BD;Lo;0;L;63E4;;;;N;;;;;
-2F8BE;CJK COMPATIBILITY IDEOGRAPH-2F8BE;Lo;0;L;22BF1;;;;N;;;;;
-2F8BF;CJK COMPATIBILITY IDEOGRAPH-2F8BF;Lo;0;L;6422;;;;N;;;;;
-2F8C0;CJK COMPATIBILITY IDEOGRAPH-2F8C0;Lo;0;L;63C5;;;;N;;;;;
-2F8C1;CJK COMPATIBILITY IDEOGRAPH-2F8C1;Lo;0;L;63A9;;;;N;;;;;
-2F8C2;CJK COMPATIBILITY IDEOGRAPH-2F8C2;Lo;0;L;3A2E;;;;N;;;;;
-2F8C3;CJK COMPATIBILITY IDEOGRAPH-2F8C3;Lo;0;L;6469;;;;N;;;;;
-2F8C4;CJK COMPATIBILITY IDEOGRAPH-2F8C4;Lo;0;L;647E;;;;N;;;;;
-2F8C5;CJK COMPATIBILITY IDEOGRAPH-2F8C5;Lo;0;L;649D;;;;N;;;;;
-2F8C6;CJK COMPATIBILITY IDEOGRAPH-2F8C6;Lo;0;L;6477;;;;N;;;;;
-2F8C7;CJK COMPATIBILITY IDEOGRAPH-2F8C7;Lo;0;L;3A6C;;;;N;;;;;
-2F8C8;CJK COMPATIBILITY IDEOGRAPH-2F8C8;Lo;0;L;654F;;;;N;;;;;
-2F8C9;CJK COMPATIBILITY IDEOGRAPH-2F8C9;Lo;0;L;656C;;;;N;;;;;
-2F8CA;CJK COMPATIBILITY IDEOGRAPH-2F8CA;Lo;0;L;2300A;;;;N;;;;;
-2F8CB;CJK COMPATIBILITY IDEOGRAPH-2F8CB;Lo;0;L;65E3;;;;N;;;;;
-2F8CC;CJK COMPATIBILITY IDEOGRAPH-2F8CC;Lo;0;L;66F8;;;;N;;;;;
-2F8CD;CJK COMPATIBILITY IDEOGRAPH-2F8CD;Lo;0;L;6649;;;;N;;;;;
-2F8CE;CJK COMPATIBILITY IDEOGRAPH-2F8CE;Lo;0;L;3B19;;;;N;;;;;
-2F8CF;CJK COMPATIBILITY IDEOGRAPH-2F8CF;Lo;0;L;6691;;;;N;;;;;
-2F8D0;CJK COMPATIBILITY IDEOGRAPH-2F8D0;Lo;0;L;3B08;;;;N;;;;;
-2F8D1;CJK COMPATIBILITY IDEOGRAPH-2F8D1;Lo;0;L;3AE4;;;;N;;;;;
-2F8D2;CJK COMPATIBILITY IDEOGRAPH-2F8D2;Lo;0;L;5192;;;;N;;;;;
-2F8D3;CJK COMPATIBILITY IDEOGRAPH-2F8D3;Lo;0;L;5195;;;;N;;;;;
-2F8D4;CJK COMPATIBILITY IDEOGRAPH-2F8D4;Lo;0;L;6700;;;;N;;;;;
-2F8D5;CJK COMPATIBILITY IDEOGRAPH-2F8D5;Lo;0;L;669C;;;;N;;;;;
-2F8D6;CJK COMPATIBILITY IDEOGRAPH-2F8D6;Lo;0;L;80AD;;;;N;;;;;
-2F8D7;CJK COMPATIBILITY IDEOGRAPH-2F8D7;Lo;0;L;43D9;;;;N;;;;;
-2F8D8;CJK COMPATIBILITY IDEOGRAPH-2F8D8;Lo;0;L;6717;;;;N;;;;;
-2F8D9;CJK COMPATIBILITY IDEOGRAPH-2F8D9;Lo;0;L;671B;;;;N;;;;;
-2F8DA;CJK COMPATIBILITY IDEOGRAPH-2F8DA;Lo;0;L;6721;;;;N;;;;;
-2F8DB;CJK COMPATIBILITY IDEOGRAPH-2F8DB;Lo;0;L;675E;;;;N;;;;;
-2F8DC;CJK COMPATIBILITY IDEOGRAPH-2F8DC;Lo;0;L;6753;;;;N;;;;;
-2F8DD;CJK COMPATIBILITY IDEOGRAPH-2F8DD;Lo;0;L;233C3;;;;N;;;;;
-2F8DE;CJK COMPATIBILITY IDEOGRAPH-2F8DE;Lo;0;L;3B49;;;;N;;;;;
-2F8DF;CJK COMPATIBILITY IDEOGRAPH-2F8DF;Lo;0;L;67FA;;;;N;;;;;
-2F8E0;CJK COMPATIBILITY IDEOGRAPH-2F8E0;Lo;0;L;6785;;;;N;;;;;
-2F8E1;CJK COMPATIBILITY IDEOGRAPH-2F8E1;Lo;0;L;6852;;;;N;;;;;
-2F8E2;CJK COMPATIBILITY IDEOGRAPH-2F8E2;Lo;0;L;6885;;;;N;;;;;
-2F8E3;CJK COMPATIBILITY IDEOGRAPH-2F8E3;Lo;0;L;2346D;;;;N;;;;;
-2F8E4;CJK COMPATIBILITY IDEOGRAPH-2F8E4;Lo;0;L;688E;;;;N;;;;;
-2F8E5;CJK COMPATIBILITY IDEOGRAPH-2F8E5;Lo;0;L;681F;;;;N;;;;;
-2F8E6;CJK COMPATIBILITY IDEOGRAPH-2F8E6;Lo;0;L;6914;;;;N;;;;;
-2F8E7;CJK COMPATIBILITY IDEOGRAPH-2F8E7;Lo;0;L;3B9D;;;;N;;;;;
-2F8E8;CJK COMPATIBILITY IDEOGRAPH-2F8E8;Lo;0;L;6942;;;;N;;;;;
-2F8E9;CJK COMPATIBILITY IDEOGRAPH-2F8E9;Lo;0;L;69A3;;;;N;;;;;
-2F8EA;CJK COMPATIBILITY IDEOGRAPH-2F8EA;Lo;0;L;69EA;;;;N;;;;;
-2F8EB;CJK COMPATIBILITY IDEOGRAPH-2F8EB;Lo;0;L;6AA8;;;;N;;;;;
-2F8EC;CJK COMPATIBILITY IDEOGRAPH-2F8EC;Lo;0;L;236A3;;;;N;;;;;
-2F8ED;CJK COMPATIBILITY IDEOGRAPH-2F8ED;Lo;0;L;6ADB;;;;N;;;;;
-2F8EE;CJK COMPATIBILITY IDEOGRAPH-2F8EE;Lo;0;L;3C18;;;;N;;;;;
-2F8EF;CJK COMPATIBILITY IDEOGRAPH-2F8EF;Lo;0;L;6B21;;;;N;;;;;
-2F8F0;CJK COMPATIBILITY IDEOGRAPH-2F8F0;Lo;0;L;238A7;;;;N;;;;;
-2F8F1;CJK COMPATIBILITY IDEOGRAPH-2F8F1;Lo;0;L;6B54;;;;N;;;;;
-2F8F2;CJK COMPATIBILITY IDEOGRAPH-2F8F2;Lo;0;L;3C4E;;;;N;;;;;
-2F8F3;CJK COMPATIBILITY IDEOGRAPH-2F8F3;Lo;0;L;6B72;;;;N;;;;;
-2F8F4;CJK COMPATIBILITY IDEOGRAPH-2F8F4;Lo;0;L;6B9F;;;;N;;;;;
-2F8F5;CJK COMPATIBILITY IDEOGRAPH-2F8F5;Lo;0;L;6BBA;;;;N;;;;;
-2F8F6;CJK COMPATIBILITY IDEOGRAPH-2F8F6;Lo;0;L;6BBB;;;;N;;;;;
-2F8F7;CJK COMPATIBILITY IDEOGRAPH-2F8F7;Lo;0;L;23A8D;;;;N;;;;;
-2F8F8;CJK COMPATIBILITY IDEOGRAPH-2F8F8;Lo;0;L;21D0B;;;;N;;;;;
-2F8F9;CJK COMPATIBILITY IDEOGRAPH-2F8F9;Lo;0;L;23AFA;;;;N;;;;;
-2F8FA;CJK COMPATIBILITY IDEOGRAPH-2F8FA;Lo;0;L;6C4E;;;;N;;;;;
-2F8FB;CJK COMPATIBILITY IDEOGRAPH-2F8FB;Lo;0;L;23CBC;;;;N;;;;;
-2F8FC;CJK COMPATIBILITY IDEOGRAPH-2F8FC;Lo;0;L;6CBF;;;;N;;;;;
-2F8FD;CJK COMPATIBILITY IDEOGRAPH-2F8FD;Lo;0;L;6CCD;;;;N;;;;;
-2F8FE;CJK COMPATIBILITY IDEOGRAPH-2F8FE;Lo;0;L;6C67;;;;N;;;;;
-2F8FF;CJK COMPATIBILITY IDEOGRAPH-2F8FF;Lo;0;L;6D16;;;;N;;;;;
-2F900;CJK COMPATIBILITY IDEOGRAPH-2F900;Lo;0;L;6D3E;;;;N;;;;;
-2F901;CJK COMPATIBILITY IDEOGRAPH-2F901;Lo;0;L;6D77;;;;N;;;;;
-2F902;CJK COMPATIBILITY IDEOGRAPH-2F902;Lo;0;L;6D41;;;;N;;;;;
-2F903;CJK COMPATIBILITY IDEOGRAPH-2F903;Lo;0;L;6D69;;;;N;;;;;
-2F904;CJK COMPATIBILITY IDEOGRAPH-2F904;Lo;0;L;6D78;;;;N;;;;;
-2F905;CJK COMPATIBILITY IDEOGRAPH-2F905;Lo;0;L;6D85;;;;N;;;;;
-2F906;CJK COMPATIBILITY IDEOGRAPH-2F906;Lo;0;L;23D1E;;;;N;;;;;
-2F907;CJK COMPATIBILITY IDEOGRAPH-2F907;Lo;0;L;6D34;;;;N;;;;;
-2F908;CJK COMPATIBILITY IDEOGRAPH-2F908;Lo;0;L;6E2F;;;;N;;;;;
-2F909;CJK COMPATIBILITY IDEOGRAPH-2F909;Lo;0;L;6E6E;;;;N;;;;;
-2F90A;CJK COMPATIBILITY IDEOGRAPH-2F90A;Lo;0;L;3D33;;;;N;;;;;
-2F90B;CJK COMPATIBILITY IDEOGRAPH-2F90B;Lo;0;L;6ECB;;;;N;;;;;
-2F90C;CJK COMPATIBILITY IDEOGRAPH-2F90C;Lo;0;L;6EC7;;;;N;;;;;
-2F90D;CJK COMPATIBILITY IDEOGRAPH-2F90D;Lo;0;L;23ED1;;;;N;;;;;
-2F90E;CJK COMPATIBILITY IDEOGRAPH-2F90E;Lo;0;L;6DF9;;;;N;;;;;
-2F90F;CJK COMPATIBILITY IDEOGRAPH-2F90F;Lo;0;L;6F6E;;;;N;;;;;
-2F910;CJK COMPATIBILITY IDEOGRAPH-2F910;Lo;0;L;23F5E;;;;N;;;;;
-2F911;CJK COMPATIBILITY IDEOGRAPH-2F911;Lo;0;L;23F8E;;;;N;;;;;
-2F912;CJK COMPATIBILITY IDEOGRAPH-2F912;Lo;0;L;6FC6;;;;N;;;;;
-2F913;CJK COMPATIBILITY IDEOGRAPH-2F913;Lo;0;L;7039;;;;N;;;;;
-2F914;CJK COMPATIBILITY IDEOGRAPH-2F914;Lo;0;L;701E;;;;N;;;;;
-2F915;CJK COMPATIBILITY IDEOGRAPH-2F915;Lo;0;L;701B;;;;N;;;;;
-2F916;CJK COMPATIBILITY IDEOGRAPH-2F916;Lo;0;L;3D96;;;;N;;;;;
-2F917;CJK COMPATIBILITY IDEOGRAPH-2F917;Lo;0;L;704A;;;;N;;;;;
-2F918;CJK COMPATIBILITY IDEOGRAPH-2F918;Lo;0;L;707D;;;;N;;;;;
-2F919;CJK COMPATIBILITY IDEOGRAPH-2F919;Lo;0;L;7077;;;;N;;;;;
-2F91A;CJK COMPATIBILITY IDEOGRAPH-2F91A;Lo;0;L;70AD;;;;N;;;;;
-2F91B;CJK COMPATIBILITY IDEOGRAPH-2F91B;Lo;0;L;20525;;;;N;;;;;
-2F91C;CJK COMPATIBILITY IDEOGRAPH-2F91C;Lo;0;L;7145;;;;N;;;;;
-2F91D;CJK COMPATIBILITY IDEOGRAPH-2F91D;Lo;0;L;24263;;;;N;;;;;
-2F91E;CJK COMPATIBILITY IDEOGRAPH-2F91E;Lo;0;L;719C;;;;N;;;;;
-2F91F;CJK COMPATIBILITY IDEOGRAPH-2F91F;Lo;0;L;243AB;;;;N;;;;;
-2F920;CJK COMPATIBILITY IDEOGRAPH-2F920;Lo;0;L;7228;;;;N;;;;;
-2F921;CJK COMPATIBILITY IDEOGRAPH-2F921;Lo;0;L;7235;;;;N;;;;;
-2F922;CJK COMPATIBILITY IDEOGRAPH-2F922;Lo;0;L;7250;;;;N;;;;;
-2F923;CJK COMPATIBILITY IDEOGRAPH-2F923;Lo;0;L;24608;;;;N;;;;;
-2F924;CJK COMPATIBILITY IDEOGRAPH-2F924;Lo;0;L;7280;;;;N;;;;;
-2F925;CJK COMPATIBILITY IDEOGRAPH-2F925;Lo;0;L;7295;;;;N;;;;;
-2F926;CJK COMPATIBILITY IDEOGRAPH-2F926;Lo;0;L;24735;;;;N;;;;;
-2F927;CJK COMPATIBILITY IDEOGRAPH-2F927;Lo;0;L;24814;;;;N;;;;;
-2F928;CJK COMPATIBILITY IDEOGRAPH-2F928;Lo;0;L;737A;;;;N;;;;;
-2F929;CJK COMPATIBILITY IDEOGRAPH-2F929;Lo;0;L;738B;;;;N;;;;;
-2F92A;CJK COMPATIBILITY IDEOGRAPH-2F92A;Lo;0;L;3EAC;;;;N;;;;;
-2F92B;CJK COMPATIBILITY IDEOGRAPH-2F92B;Lo;0;L;73A5;;;;N;;;;;
-2F92C;CJK COMPATIBILITY IDEOGRAPH-2F92C;Lo;0;L;3EB8;;;;N;;;;;
-2F92D;CJK COMPATIBILITY IDEOGRAPH-2F92D;Lo;0;L;3EB8;;;;N;;;;;
-2F92E;CJK COMPATIBILITY IDEOGRAPH-2F92E;Lo;0;L;7447;;;;N;;;;;
-2F92F;CJK COMPATIBILITY IDEOGRAPH-2F92F;Lo;0;L;745C;;;;N;;;;;
-2F930;CJK COMPATIBILITY IDEOGRAPH-2F930;Lo;0;L;7471;;;;N;;;;;
-2F931;CJK COMPATIBILITY IDEOGRAPH-2F931;Lo;0;L;7485;;;;N;;;;;
-2F932;CJK COMPATIBILITY IDEOGRAPH-2F932;Lo;0;L;74CA;;;;N;;;;;
-2F933;CJK COMPATIBILITY IDEOGRAPH-2F933;Lo;0;L;3F1B;;;;N;;;;;
-2F934;CJK COMPATIBILITY IDEOGRAPH-2F934;Lo;0;L;7524;;;;N;;;;;
-2F935;CJK COMPATIBILITY IDEOGRAPH-2F935;Lo;0;L;24C36;;;;N;;;;;
-2F936;CJK COMPATIBILITY IDEOGRAPH-2F936;Lo;0;L;753E;;;;N;;;;;
-2F937;CJK COMPATIBILITY IDEOGRAPH-2F937;Lo;0;L;24C92;;;;N;;;;;
-2F938;CJK COMPATIBILITY IDEOGRAPH-2F938;Lo;0;L;7570;;;;N;;;;;
-2F939;CJK COMPATIBILITY IDEOGRAPH-2F939;Lo;0;L;2219F;;;;N;;;;;
-2F93A;CJK COMPATIBILITY IDEOGRAPH-2F93A;Lo;0;L;7610;;;;N;;;;;
-2F93B;CJK COMPATIBILITY IDEOGRAPH-2F93B;Lo;0;L;24FA1;;;;N;;;;;
-2F93C;CJK COMPATIBILITY IDEOGRAPH-2F93C;Lo;0;L;24FB8;;;;N;;;;;
-2F93D;CJK COMPATIBILITY IDEOGRAPH-2F93D;Lo;0;L;25044;;;;N;;;;;
-2F93E;CJK COMPATIBILITY IDEOGRAPH-2F93E;Lo;0;L;3FFC;;;;N;;;;;
-2F93F;CJK COMPATIBILITY IDEOGRAPH-2F93F;Lo;0;L;4008;;;;N;;;;;
-2F940;CJK COMPATIBILITY IDEOGRAPH-2F940;Lo;0;L;76F4;;;;N;;;;;
-2F941;CJK COMPATIBILITY IDEOGRAPH-2F941;Lo;0;L;250F3;;;;N;;;;;
-2F942;CJK COMPATIBILITY IDEOGRAPH-2F942;Lo;0;L;250F2;;;;N;;;;;
-2F943;CJK COMPATIBILITY IDEOGRAPH-2F943;Lo;0;L;25119;;;;N;;;;;
-2F944;CJK COMPATIBILITY IDEOGRAPH-2F944;Lo;0;L;25133;;;;N;;;;;
-2F945;CJK COMPATIBILITY IDEOGRAPH-2F945;Lo;0;L;771E;;;;N;;;;;
-2F946;CJK COMPATIBILITY IDEOGRAPH-2F946;Lo;0;L;771F;;;;N;;;;;
-2F947;CJK COMPATIBILITY IDEOGRAPH-2F947;Lo;0;L;771F;;;;N;;;;;
-2F948;CJK COMPATIBILITY IDEOGRAPH-2F948;Lo;0;L;774A;;;;N;;;;;
-2F949;CJK COMPATIBILITY IDEOGRAPH-2F949;Lo;0;L;4039;;;;N;;;;;
-2F94A;CJK COMPATIBILITY IDEOGRAPH-2F94A;Lo;0;L;778B;;;;N;;;;;
-2F94B;CJK COMPATIBILITY IDEOGRAPH-2F94B;Lo;0;L;4046;;;;N;;;;;
-2F94C;CJK COMPATIBILITY IDEOGRAPH-2F94C;Lo;0;L;4096;;;;N;;;;;
-2F94D;CJK COMPATIBILITY IDEOGRAPH-2F94D;Lo;0;L;2541D;;;;N;;;;;
-2F94E;CJK COMPATIBILITY IDEOGRAPH-2F94E;Lo;0;L;784E;;;;N;;;;;
-2F94F;CJK COMPATIBILITY IDEOGRAPH-2F94F;Lo;0;L;788C;;;;N;;;;;
-2F950;CJK COMPATIBILITY IDEOGRAPH-2F950;Lo;0;L;78CC;;;;N;;;;;
-2F951;CJK COMPATIBILITY IDEOGRAPH-2F951;Lo;0;L;40E3;;;;N;;;;;
-2F952;CJK COMPATIBILITY IDEOGRAPH-2F952;Lo;0;L;25626;;;;N;;;;;
-2F953;CJK COMPATIBILITY IDEOGRAPH-2F953;Lo;0;L;7956;;;;N;;;;;
-2F954;CJK COMPATIBILITY IDEOGRAPH-2F954;Lo;0;L;2569A;;;;N;;;;;
-2F955;CJK COMPATIBILITY IDEOGRAPH-2F955;Lo;0;L;256C5;;;;N;;;;;
-2F956;CJK COMPATIBILITY IDEOGRAPH-2F956;Lo;0;L;798F;;;;N;;;;;
-2F957;CJK COMPATIBILITY IDEOGRAPH-2F957;Lo;0;L;79EB;;;;N;;;;;
-2F958;CJK COMPATIBILITY IDEOGRAPH-2F958;Lo;0;L;412F;;;;N;;;;;
-2F959;CJK COMPATIBILITY IDEOGRAPH-2F959;Lo;0;L;7A40;;;;N;;;;;
-2F95A;CJK COMPATIBILITY IDEOGRAPH-2F95A;Lo;0;L;7A4A;;;;N;;;;;
-2F95B;CJK COMPATIBILITY IDEOGRAPH-2F95B;Lo;0;L;7A4F;;;;N;;;;;
-2F95C;CJK COMPATIBILITY IDEOGRAPH-2F95C;Lo;0;L;2597C;;;;N;;;;;
-2F95D;CJK COMPATIBILITY IDEOGRAPH-2F95D;Lo;0;L;25AA7;;;;N;;;;;
-2F95E;CJK COMPATIBILITY IDEOGRAPH-2F95E;Lo;0;L;25AA7;;;;N;;;;;
-2F95F;CJK COMPATIBILITY IDEOGRAPH-2F95F;Lo;0;L;7AEE;;;;N;;;;;
-2F960;CJK COMPATIBILITY IDEOGRAPH-2F960;Lo;0;L;4202;;;;N;;;;;
-2F961;CJK COMPATIBILITY IDEOGRAPH-2F961;Lo;0;L;25BAB;;;;N;;;;;
-2F962;CJK COMPATIBILITY IDEOGRAPH-2F962;Lo;0;L;7BC6;;;;N;;;;;
-2F963;CJK COMPATIBILITY IDEOGRAPH-2F963;Lo;0;L;7BC9;;;;N;;;;;
-2F964;CJK COMPATIBILITY IDEOGRAPH-2F964;Lo;0;L;4227;;;;N;;;;;
-2F965;CJK COMPATIBILITY IDEOGRAPH-2F965;Lo;0;L;25C80;;;;N;;;;;
-2F966;CJK COMPATIBILITY IDEOGRAPH-2F966;Lo;0;L;7CD2;;;;N;;;;;
-2F967;CJK COMPATIBILITY IDEOGRAPH-2F967;Lo;0;L;42A0;;;;N;;;;;
-2F968;CJK COMPATIBILITY IDEOGRAPH-2F968;Lo;0;L;7CE8;;;;N;;;;;
-2F969;CJK COMPATIBILITY IDEOGRAPH-2F969;Lo;0;L;7CE3;;;;N;;;;;
-2F96A;CJK COMPATIBILITY IDEOGRAPH-2F96A;Lo;0;L;7D00;;;;N;;;;;
-2F96B;CJK COMPATIBILITY IDEOGRAPH-2F96B;Lo;0;L;25F86;;;;N;;;;;
-2F96C;CJK COMPATIBILITY IDEOGRAPH-2F96C;Lo;0;L;7D63;;;;N;;;;;
-2F96D;CJK COMPATIBILITY IDEOGRAPH-2F96D;Lo;0;L;4301;;;;N;;;;;
-2F96E;CJK COMPATIBILITY IDEOGRAPH-2F96E;Lo;0;L;7DC7;;;;N;;;;;
-2F96F;CJK COMPATIBILITY IDEOGRAPH-2F96F;Lo;0;L;7E02;;;;N;;;;;
-2F970;CJK COMPATIBILITY IDEOGRAPH-2F970;Lo;0;L;7E45;;;;N;;;;;
-2F971;CJK COMPATIBILITY IDEOGRAPH-2F971;Lo;0;L;4334;;;;N;;;;;
-2F972;CJK COMPATIBILITY IDEOGRAPH-2F972;Lo;0;L;26228;;;;N;;;;;
-2F973;CJK COMPATIBILITY IDEOGRAPH-2F973;Lo;0;L;26247;;;;N;;;;;
-2F974;CJK COMPATIBILITY IDEOGRAPH-2F974;Lo;0;L;4359;;;;N;;;;;
-2F975;CJK COMPATIBILITY IDEOGRAPH-2F975;Lo;0;L;262D9;;;;N;;;;;
-2F976;CJK COMPATIBILITY IDEOGRAPH-2F976;Lo;0;L;7F7A;;;;N;;;;;
-2F977;CJK COMPATIBILITY IDEOGRAPH-2F977;Lo;0;L;2633E;;;;N;;;;;
-2F978;CJK COMPATIBILITY IDEOGRAPH-2F978;Lo;0;L;7F95;;;;N;;;;;
-2F979;CJK COMPATIBILITY IDEOGRAPH-2F979;Lo;0;L;7FFA;;;;N;;;;;
-2F97A;CJK COMPATIBILITY IDEOGRAPH-2F97A;Lo;0;L;8005;;;;N;;;;;
-2F97B;CJK COMPATIBILITY IDEOGRAPH-2F97B;Lo;0;L;264DA;;;;N;;;;;
-2F97C;CJK COMPATIBILITY IDEOGRAPH-2F97C;Lo;0;L;26523;;;;N;;;;;
-2F97D;CJK COMPATIBILITY IDEOGRAPH-2F97D;Lo;0;L;8060;;;;N;;;;;
-2F97E;CJK COMPATIBILITY IDEOGRAPH-2F97E;Lo;0;L;265A8;;;;N;;;;;
-2F97F;CJK COMPATIBILITY IDEOGRAPH-2F97F;Lo;0;L;8070;;;;N;;;;;
-2F980;CJK COMPATIBILITY IDEOGRAPH-2F980;Lo;0;L;2335F;;;;N;;;;;
-2F981;CJK COMPATIBILITY IDEOGRAPH-2F981;Lo;0;L;43D5;;;;N;;;;;
-2F982;CJK COMPATIBILITY IDEOGRAPH-2F982;Lo;0;L;80B2;;;;N;;;;;
-2F983;CJK COMPATIBILITY IDEOGRAPH-2F983;Lo;0;L;8103;;;;N;;;;;
-2F984;CJK COMPATIBILITY IDEOGRAPH-2F984;Lo;0;L;440B;;;;N;;;;;
-2F985;CJK COMPATIBILITY IDEOGRAPH-2F985;Lo;0;L;813E;;;;N;;;;;
-2F986;CJK COMPATIBILITY IDEOGRAPH-2F986;Lo;0;L;5AB5;;;;N;;;;;
-2F987;CJK COMPATIBILITY IDEOGRAPH-2F987;Lo;0;L;267A7;;;;N;;;;;
-2F988;CJK COMPATIBILITY IDEOGRAPH-2F988;Lo;0;L;267B5;;;;N;;;;;
-2F989;CJK COMPATIBILITY IDEOGRAPH-2F989;Lo;0;L;23393;;;;N;;;;;
-2F98A;CJK COMPATIBILITY IDEOGRAPH-2F98A;Lo;0;L;2339C;;;;N;;;;;
-2F98B;CJK COMPATIBILITY IDEOGRAPH-2F98B;Lo;0;L;8201;;;;N;;;;;
-2F98C;CJK COMPATIBILITY IDEOGRAPH-2F98C;Lo;0;L;8204;;;;N;;;;;
-2F98D;CJK COMPATIBILITY IDEOGRAPH-2F98D;Lo;0;L;8F9E;;;;N;;;;;
-2F98E;CJK COMPATIBILITY IDEOGRAPH-2F98E;Lo;0;L;446B;;;;N;;;;;
-2F98F;CJK COMPATIBILITY IDEOGRAPH-2F98F;Lo;0;L;8291;;;;N;;;;;
-2F990;CJK COMPATIBILITY IDEOGRAPH-2F990;Lo;0;L;828B;;;;N;;;;;
-2F991;CJK COMPATIBILITY IDEOGRAPH-2F991;Lo;0;L;829D;;;;N;;;;;
-2F992;CJK COMPATIBILITY IDEOGRAPH-2F992;Lo;0;L;52B3;;;;N;;;;;
-2F993;CJK COMPATIBILITY IDEOGRAPH-2F993;Lo;0;L;82B1;;;;N;;;;;
-2F994;CJK COMPATIBILITY IDEOGRAPH-2F994;Lo;0;L;82B3;;;;N;;;;;
-2F995;CJK COMPATIBILITY IDEOGRAPH-2F995;Lo;0;L;82BD;;;;N;;;;;
-2F996;CJK COMPATIBILITY IDEOGRAPH-2F996;Lo;0;L;82E6;;;;N;;;;;
-2F997;CJK COMPATIBILITY IDEOGRAPH-2F997;Lo;0;L;26B3C;;;;N;;;;;
-2F998;CJK COMPATIBILITY IDEOGRAPH-2F998;Lo;0;L;82E5;;;;N;;;;;
-2F999;CJK COMPATIBILITY IDEOGRAPH-2F999;Lo;0;L;831D;;;;N;;;;;
-2F99A;CJK COMPATIBILITY IDEOGRAPH-2F99A;Lo;0;L;8363;;;;N;;;;;
-2F99B;CJK COMPATIBILITY IDEOGRAPH-2F99B;Lo;0;L;83AD;;;;N;;;;;
-2F99C;CJK COMPATIBILITY IDEOGRAPH-2F99C;Lo;0;L;8323;;;;N;;;;;
-2F99D;CJK COMPATIBILITY IDEOGRAPH-2F99D;Lo;0;L;83BD;;;;N;;;;;
-2F99E;CJK COMPATIBILITY IDEOGRAPH-2F99E;Lo;0;L;83E7;;;;N;;;;;
-2F99F;CJK COMPATIBILITY IDEOGRAPH-2F99F;Lo;0;L;8457;;;;N;;;;;
-2F9A0;CJK COMPATIBILITY IDEOGRAPH-2F9A0;Lo;0;L;8353;;;;N;;;;;
-2F9A1;CJK COMPATIBILITY IDEOGRAPH-2F9A1;Lo;0;L;83CA;;;;N;;;;;
-2F9A2;CJK COMPATIBILITY IDEOGRAPH-2F9A2;Lo;0;L;83CC;;;;N;;;;;
-2F9A3;CJK COMPATIBILITY IDEOGRAPH-2F9A3;Lo;0;L;83DC;;;;N;;;;;
-2F9A4;CJK COMPATIBILITY IDEOGRAPH-2F9A4;Lo;0;L;26C36;;;;N;;;;;
-2F9A5;CJK COMPATIBILITY IDEOGRAPH-2F9A5;Lo;0;L;26D6B;;;;N;;;;;
-2F9A6;CJK COMPATIBILITY IDEOGRAPH-2F9A6;Lo;0;L;26CD5;;;;N;;;;;
-2F9A7;CJK COMPATIBILITY IDEOGRAPH-2F9A7;Lo;0;L;452B;;;;N;;;;;
-2F9A8;CJK COMPATIBILITY IDEOGRAPH-2F9A8;Lo;0;L;84F1;;;;N;;;;;
-2F9A9;CJK COMPATIBILITY IDEOGRAPH-2F9A9;Lo;0;L;84F3;;;;N;;;;;
-2F9AA;CJK COMPATIBILITY IDEOGRAPH-2F9AA;Lo;0;L;8516;;;;N;;;;;
-2F9AB;CJK COMPATIBILITY IDEOGRAPH-2F9AB;Lo;0;L;273CA;;;;N;;;;;
-2F9AC;CJK COMPATIBILITY IDEOGRAPH-2F9AC;Lo;0;L;8564;;;;N;;;;;
-2F9AD;CJK COMPATIBILITY IDEOGRAPH-2F9AD;Lo;0;L;26F2C;;;;N;;;;;
-2F9AE;CJK COMPATIBILITY IDEOGRAPH-2F9AE;Lo;0;L;455D;;;;N;;;;;
-2F9AF;CJK COMPATIBILITY IDEOGRAPH-2F9AF;Lo;0;L;4561;;;;N;;;;;
-2F9B0;CJK COMPATIBILITY IDEOGRAPH-2F9B0;Lo;0;L;26FB1;;;;N;;;;;
-2F9B1;CJK COMPATIBILITY IDEOGRAPH-2F9B1;Lo;0;L;270D2;;;;N;;;;;
-2F9B2;CJK COMPATIBILITY IDEOGRAPH-2F9B2;Lo;0;L;456B;;;;N;;;;;
-2F9B3;CJK COMPATIBILITY IDEOGRAPH-2F9B3;Lo;0;L;8650;;;;N;;;;;
-2F9B4;CJK COMPATIBILITY IDEOGRAPH-2F9B4;Lo;0;L;865C;;;;N;;;;;
-2F9B5;CJK COMPATIBILITY IDEOGRAPH-2F9B5;Lo;0;L;8667;;;;N;;;;;
-2F9B6;CJK COMPATIBILITY IDEOGRAPH-2F9B6;Lo;0;L;8669;;;;N;;;;;
-2F9B7;CJK COMPATIBILITY IDEOGRAPH-2F9B7;Lo;0;L;86A9;;;;N;;;;;
-2F9B8;CJK COMPATIBILITY IDEOGRAPH-2F9B8;Lo;0;L;8688;;;;N;;;;;
-2F9B9;CJK COMPATIBILITY IDEOGRAPH-2F9B9;Lo;0;L;870E;;;;N;;;;;
-2F9BA;CJK COMPATIBILITY IDEOGRAPH-2F9BA;Lo;0;L;86E2;;;;N;;;;;
-2F9BB;CJK COMPATIBILITY IDEOGRAPH-2F9BB;Lo;0;L;8779;;;;N;;;;;
-2F9BC;CJK COMPATIBILITY IDEOGRAPH-2F9BC;Lo;0;L;8728;;;;N;;;;;
-2F9BD;CJK COMPATIBILITY IDEOGRAPH-2F9BD;Lo;0;L;876B;;;;N;;;;;
-2F9BE;CJK COMPATIBILITY IDEOGRAPH-2F9BE;Lo;0;L;8786;;;;N;;;;;
-2F9BF;CJK COMPATIBILITY IDEOGRAPH-2F9BF;Lo;0;L;45D7;;;;N;;;;;
-2F9C0;CJK COMPATIBILITY IDEOGRAPH-2F9C0;Lo;0;L;87E1;;;;N;;;;;
-2F9C1;CJK COMPATIBILITY IDEOGRAPH-2F9C1;Lo;0;L;8801;;;;N;;;;;
-2F9C2;CJK COMPATIBILITY IDEOGRAPH-2F9C2;Lo;0;L;45F9;;;;N;;;;;
-2F9C3;CJK COMPATIBILITY IDEOGRAPH-2F9C3;Lo;0;L;8860;;;;N;;;;;
-2F9C4;CJK COMPATIBILITY IDEOGRAPH-2F9C4;Lo;0;L;8863;;;;N;;;;;
-2F9C5;CJK COMPATIBILITY IDEOGRAPH-2F9C5;Lo;0;L;27667;;;;N;;;;;
-2F9C6;CJK COMPATIBILITY IDEOGRAPH-2F9C6;Lo;0;L;88D7;;;;N;;;;;
-2F9C7;CJK COMPATIBILITY IDEOGRAPH-2F9C7;Lo;0;L;88DE;;;;N;;;;;
-2F9C8;CJK COMPATIBILITY IDEOGRAPH-2F9C8;Lo;0;L;4635;;;;N;;;;;
-2F9C9;CJK COMPATIBILITY IDEOGRAPH-2F9C9;Lo;0;L;88FA;;;;N;;;;;
-2F9CA;CJK COMPATIBILITY IDEOGRAPH-2F9CA;Lo;0;L;34BB;;;;N;;;;;
-2F9CB;CJK COMPATIBILITY IDEOGRAPH-2F9CB;Lo;0;L;278AE;;;;N;;;;;
-2F9CC;CJK COMPATIBILITY IDEOGRAPH-2F9CC;Lo;0;L;27966;;;;N;;;;;
-2F9CD;CJK COMPATIBILITY IDEOGRAPH-2F9CD;Lo;0;L;46BE;;;;N;;;;;
-2F9CE;CJK COMPATIBILITY IDEOGRAPH-2F9CE;Lo;0;L;46C7;;;;N;;;;;
-2F9CF;CJK COMPATIBILITY IDEOGRAPH-2F9CF;Lo;0;L;8AA0;;;;N;;;;;
-2F9D0;CJK COMPATIBILITY IDEOGRAPH-2F9D0;Lo;0;L;8AED;;;;N;;;;;
-2F9D1;CJK COMPATIBILITY IDEOGRAPH-2F9D1;Lo;0;L;8B8A;;;;N;;;;;
-2F9D2;CJK COMPATIBILITY IDEOGRAPH-2F9D2;Lo;0;L;8C55;;;;N;;;;;
-2F9D3;CJK COMPATIBILITY IDEOGRAPH-2F9D3;Lo;0;L;27CA8;;;;N;;;;;
-2F9D4;CJK COMPATIBILITY IDEOGRAPH-2F9D4;Lo;0;L;8CAB;;;;N;;;;;
-2F9D5;CJK COMPATIBILITY IDEOGRAPH-2F9D5;Lo;0;L;8CC1;;;;N;;;;;
-2F9D6;CJK COMPATIBILITY IDEOGRAPH-2F9D6;Lo;0;L;8D1B;;;;N;;;;;
-2F9D7;CJK COMPATIBILITY IDEOGRAPH-2F9D7;Lo;0;L;8D77;;;;N;;;;;
-2F9D8;CJK COMPATIBILITY IDEOGRAPH-2F9D8;Lo;0;L;27F2F;;;;N;;;;;
-2F9D9;CJK COMPATIBILITY IDEOGRAPH-2F9D9;Lo;0;L;20804;;;;N;;;;;
-2F9DA;CJK COMPATIBILITY IDEOGRAPH-2F9DA;Lo;0;L;8DCB;;;;N;;;;;
-2F9DB;CJK COMPATIBILITY IDEOGRAPH-2F9DB;Lo;0;L;8DBC;;;;N;;;;;
-2F9DC;CJK COMPATIBILITY IDEOGRAPH-2F9DC;Lo;0;L;8DF0;;;;N;;;;;
-2F9DD;CJK COMPATIBILITY IDEOGRAPH-2F9DD;Lo;0;L;208DE;;;;N;;;;;
-2F9DE;CJK COMPATIBILITY IDEOGRAPH-2F9DE;Lo;0;L;8ED4;;;;N;;;;;
-2F9DF;CJK COMPATIBILITY IDEOGRAPH-2F9DF;Lo;0;L;8F38;;;;N;;;;;
-2F9E0;CJK COMPATIBILITY IDEOGRAPH-2F9E0;Lo;0;L;285D2;;;;N;;;;;
-2F9E1;CJK COMPATIBILITY IDEOGRAPH-2F9E1;Lo;0;L;285ED;;;;N;;;;;
-2F9E2;CJK COMPATIBILITY IDEOGRAPH-2F9E2;Lo;0;L;9094;;;;N;;;;;
-2F9E3;CJK COMPATIBILITY IDEOGRAPH-2F9E3;Lo;0;L;90F1;;;;N;;;;;
-2F9E4;CJK COMPATIBILITY IDEOGRAPH-2F9E4;Lo;0;L;9111;;;;N;;;;;
-2F9E5;CJK COMPATIBILITY IDEOGRAPH-2F9E5;Lo;0;L;2872E;;;;N;;;;;
-2F9E6;CJK COMPATIBILITY IDEOGRAPH-2F9E6;Lo;0;L;911B;;;;N;;;;;
-2F9E7;CJK COMPATIBILITY IDEOGRAPH-2F9E7;Lo;0;L;9238;;;;N;;;;;
-2F9E8;CJK COMPATIBILITY IDEOGRAPH-2F9E8;Lo;0;L;92D7;;;;N;;;;;
-2F9E9;CJK COMPATIBILITY IDEOGRAPH-2F9E9;Lo;0;L;92D8;;;;N;;;;;
-2F9EA;CJK COMPATIBILITY IDEOGRAPH-2F9EA;Lo;0;L;927C;;;;N;;;;;
-2F9EB;CJK COMPATIBILITY IDEOGRAPH-2F9EB;Lo;0;L;93F9;;;;N;;;;;
-2F9EC;CJK COMPATIBILITY IDEOGRAPH-2F9EC;Lo;0;L;9415;;;;N;;;;;
-2F9ED;CJK COMPATIBILITY IDEOGRAPH-2F9ED;Lo;0;L;28BFA;;;;N;;;;;
-2F9EE;CJK COMPATIBILITY IDEOGRAPH-2F9EE;Lo;0;L;958B;;;;N;;;;;
-2F9EF;CJK COMPATIBILITY IDEOGRAPH-2F9EF;Lo;0;L;4995;;;;N;;;;;
-2F9F0;CJK COMPATIBILITY IDEOGRAPH-2F9F0;Lo;0;L;95B7;;;;N;;;;;
-2F9F1;CJK COMPATIBILITY IDEOGRAPH-2F9F1;Lo;0;L;28D77;;;;N;;;;;
-2F9F2;CJK COMPATIBILITY IDEOGRAPH-2F9F2;Lo;0;L;49E6;;;;N;;;;;
-2F9F3;CJK COMPATIBILITY IDEOGRAPH-2F9F3;Lo;0;L;96C3;;;;N;;;;;
-2F9F4;CJK COMPATIBILITY IDEOGRAPH-2F9F4;Lo;0;L;5DB2;;;;N;;;;;
-2F9F5;CJK COMPATIBILITY IDEOGRAPH-2F9F5;Lo;0;L;9723;;;;N;;;;;
-2F9F6;CJK COMPATIBILITY IDEOGRAPH-2F9F6;Lo;0;L;29145;;;;N;;;;;
-2F9F7;CJK COMPATIBILITY IDEOGRAPH-2F9F7;Lo;0;L;2921A;;;;N;;;;;
-2F9F8;CJK COMPATIBILITY IDEOGRAPH-2F9F8;Lo;0;L;4A6E;;;;N;;;;;
-2F9F9;CJK COMPATIBILITY IDEOGRAPH-2F9F9;Lo;0;L;4A76;;;;N;;;;;
-2F9FA;CJK COMPATIBILITY IDEOGRAPH-2F9FA;Lo;0;L;97E0;;;;N;;;;;
-2F9FB;CJK COMPATIBILITY IDEOGRAPH-2F9FB;Lo;0;L;2940A;;;;N;;;;;
-2F9FC;CJK COMPATIBILITY IDEOGRAPH-2F9FC;Lo;0;L;4AB2;;;;N;;;;;
-2F9FD;CJK COMPATIBILITY IDEOGRAPH-2F9FD;Lo;0;L;29496;;;;N;;;;;
-2F9FE;CJK COMPATIBILITY IDEOGRAPH-2F9FE;Lo;0;L;980B;;;;N;;;;;
-2F9FF;CJK COMPATIBILITY IDEOGRAPH-2F9FF;Lo;0;L;980B;;;;N;;;;;
-2FA00;CJK COMPATIBILITY IDEOGRAPH-2FA00;Lo;0;L;9829;;;;N;;;;;
-2FA01;CJK COMPATIBILITY IDEOGRAPH-2FA01;Lo;0;L;295B6;;;;N;;;;;
-2FA02;CJK COMPATIBILITY IDEOGRAPH-2FA02;Lo;0;L;98E2;;;;N;;;;;
-2FA03;CJK COMPATIBILITY IDEOGRAPH-2FA03;Lo;0;L;4B33;;;;N;;;;;
-2FA04;CJK COMPATIBILITY IDEOGRAPH-2FA04;Lo;0;L;9929;;;;N;;;;;
-2FA05;CJK COMPATIBILITY IDEOGRAPH-2FA05;Lo;0;L;99A7;;;;N;;;;;
-2FA06;CJK COMPATIBILITY IDEOGRAPH-2FA06;Lo;0;L;99C2;;;;N;;;;;
-2FA07;CJK COMPATIBILITY IDEOGRAPH-2FA07;Lo;0;L;99FE;;;;N;;;;;
-2FA08;CJK COMPATIBILITY IDEOGRAPH-2FA08;Lo;0;L;4BCE;;;;N;;;;;
-2FA09;CJK COMPATIBILITY IDEOGRAPH-2FA09;Lo;0;L;29B30;;;;N;;;;;
-2FA0A;CJK COMPATIBILITY IDEOGRAPH-2FA0A;Lo;0;L;9B12;;;;N;;;;;
-2FA0B;CJK COMPATIBILITY IDEOGRAPH-2FA0B;Lo;0;L;9C40;;;;N;;;;;
-2FA0C;CJK COMPATIBILITY IDEOGRAPH-2FA0C;Lo;0;L;9CFD;;;;N;;;;;
-2FA0D;CJK COMPATIBILITY IDEOGRAPH-2FA0D;Lo;0;L;4CCE;;;;N;;;;;
-2FA0E;CJK COMPATIBILITY IDEOGRAPH-2FA0E;Lo;0;L;4CED;;;;N;;;;;
-2FA0F;CJK COMPATIBILITY IDEOGRAPH-2FA0F;Lo;0;L;9D67;;;;N;;;;;
-2FA10;CJK COMPATIBILITY IDEOGRAPH-2FA10;Lo;0;L;2A0CE;;;;N;;;;;
-2FA11;CJK COMPATIBILITY IDEOGRAPH-2FA11;Lo;0;L;4CF8;;;;N;;;;;
-2FA12;CJK COMPATIBILITY IDEOGRAPH-2FA12;Lo;0;L;2A105;;;;N;;;;;
-2FA13;CJK COMPATIBILITY IDEOGRAPH-2FA13;Lo;0;L;2A20E;;;;N;;;;;
-2FA14;CJK COMPATIBILITY IDEOGRAPH-2FA14;Lo;0;L;2A291;;;;N;;;;;
-2FA15;CJK COMPATIBILITY IDEOGRAPH-2FA15;Lo;0;L;9EBB;;;;N;;;;;
-2FA16;CJK COMPATIBILITY IDEOGRAPH-2FA16;Lo;0;L;4D56;;;;N;;;;;
-2FA17;CJK COMPATIBILITY IDEOGRAPH-2FA17;Lo;0;L;9EF9;;;;N;;;;;
-2FA18;CJK COMPATIBILITY IDEOGRAPH-2FA18;Lo;0;L;9EFE;;;;N;;;;;
-2FA19;CJK COMPATIBILITY IDEOGRAPH-2FA19;Lo;0;L;9F05;;;;N;;;;;
-2FA1A;CJK COMPATIBILITY IDEOGRAPH-2FA1A;Lo;0;L;9F0F;;;;N;;;;;
-2FA1B;CJK COMPATIBILITY IDEOGRAPH-2FA1B;Lo;0;L;9F16;;;;N;;;;;
-2FA1C;CJK COMPATIBILITY IDEOGRAPH-2FA1C;Lo;0;L;9F3B;;;;N;;;;;
-2FA1D;CJK COMPATIBILITY IDEOGRAPH-2FA1D;Lo;0;L;2A600;;;;N;;;;;
-E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;;
-E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;;
-E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;;
-E0022;TAG QUOTATION MARK;Cf;0;BN;;;;;N;;;;;
-E0023;TAG NUMBER SIGN;Cf;0;BN;;;;;N;;;;;
-E0024;TAG DOLLAR SIGN;Cf;0;BN;;;;;N;;;;;
-E0025;TAG PERCENT SIGN;Cf;0;BN;;;;;N;;;;;
-E0026;TAG AMPERSAND;Cf;0;BN;;;;;N;;;;;
-E0027;TAG APOSTROPHE;Cf;0;BN;;;;;N;;;;;
-E0028;TAG LEFT PARENTHESIS;Cf;0;BN;;;;;N;;;;;
-E0029;TAG RIGHT PARENTHESIS;Cf;0;BN;;;;;N;;;;;
-E002A;TAG ASTERISK;Cf;0;BN;;;;;N;;;;;
-E002B;TAG PLUS SIGN;Cf;0;BN;;;;;N;;;;;
-E002C;TAG COMMA;Cf;0;BN;;;;;N;;;;;
-E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;;
-E002E;TAG FULL STOP;Cf;0;BN;;;;;N;;;;;
-E002F;TAG SOLIDUS;Cf;0;BN;;;;;N;;;;;
-E0030;TAG DIGIT ZERO;Cf;0;BN;;;;;N;;;;;
-E0031;TAG DIGIT ONE;Cf;0;BN;;;;;N;;;;;
-E0032;TAG DIGIT TWO;Cf;0;BN;;;;;N;;;;;
-E0033;TAG DIGIT THREE;Cf;0;BN;;;;;N;;;;;
-E0034;TAG DIGIT FOUR;Cf;0;BN;;;;;N;;;;;
-E0035;TAG DIGIT FIVE;Cf;0;BN;;;;;N;;;;;
-E0036;TAG DIGIT SIX;Cf;0;BN;;;;;N;;;;;
-E0037;TAG DIGIT SEVEN;Cf;0;BN;;;;;N;;;;;
-E0038;TAG DIGIT EIGHT;Cf;0;BN;;;;;N;;;;;
-E0039;TAG DIGIT NINE;Cf;0;BN;;;;;N;;;;;
-E003A;TAG COLON;Cf;0;BN;;;;;N;;;;;
-E003B;TAG SEMICOLON;Cf;0;BN;;;;;N;;;;;
-E003C;TAG LESS-THAN SIGN;Cf;0;BN;;;;;N;;;;;
-E003D;TAG EQUALS SIGN;Cf;0;BN;;;;;N;;;;;
-E003E;TAG GREATER-THAN SIGN;Cf;0;BN;;;;;N;;;;;
-E003F;TAG QUESTION MARK;Cf;0;BN;;;;;N;;;;;
-E0040;TAG COMMERCIAL AT;Cf;0;BN;;;;;N;;;;;
-E0041;TAG LATIN CAPITAL LETTER A;Cf;0;BN;;;;;N;;;;;
-E0042;TAG LATIN CAPITAL LETTER B;Cf;0;BN;;;;;N;;;;;
-E0043;TAG LATIN CAPITAL LETTER C;Cf;0;BN;;;;;N;;;;;
-E0044;TAG LATIN CAPITAL LETTER D;Cf;0;BN;;;;;N;;;;;
-E0045;TAG LATIN CAPITAL LETTER E;Cf;0;BN;;;;;N;;;;;
-E0046;TAG LATIN CAPITAL LETTER F;Cf;0;BN;;;;;N;;;;;
-E0047;TAG LATIN CAPITAL LETTER G;Cf;0;BN;;;;;N;;;;;
-E0048;TAG LATIN CAPITAL LETTER H;Cf;0;BN;;;;;N;;;;;
-E0049;TAG LATIN CAPITAL LETTER I;Cf;0;BN;;;;;N;;;;;
-E004A;TAG LATIN CAPITAL LETTER J;Cf;0;BN;;;;;N;;;;;
-E004B;TAG LATIN CAPITAL LETTER K;Cf;0;BN;;;;;N;;;;;
-E004C;TAG LATIN CAPITAL LETTER L;Cf;0;BN;;;;;N;;;;;
-E004D;TAG LATIN CAPITAL LETTER M;Cf;0;BN;;;;;N;;;;;
-E004E;TAG LATIN CAPITAL LETTER N;Cf;0;BN;;;;;N;;;;;
-E004F;TAG LATIN CAPITAL LETTER O;Cf;0;BN;;;;;N;;;;;
-E0050;TAG LATIN CAPITAL LETTER P;Cf;0;BN;;;;;N;;;;;
-E0051;TAG LATIN CAPITAL LETTER Q;Cf;0;BN;;;;;N;;;;;
-E0052;TAG LATIN CAPITAL LETTER R;Cf;0;BN;;;;;N;;;;;
-E0053;TAG LATIN CAPITAL LETTER S;Cf;0;BN;;;;;N;;;;;
-E0054;TAG LATIN CAPITAL LETTER T;Cf;0;BN;;;;;N;;;;;
-E0055;TAG LATIN CAPITAL LETTER U;Cf;0;BN;;;;;N;;;;;
-E0056;TAG LATIN CAPITAL LETTER V;Cf;0;BN;;;;;N;;;;;
-E0057;TAG LATIN CAPITAL LETTER W;Cf;0;BN;;;;;N;;;;;
-E0058;TAG LATIN CAPITAL LETTER X;Cf;0;BN;;;;;N;;;;;
-E0059;TAG LATIN CAPITAL LETTER Y;Cf;0;BN;;;;;N;;;;;
-E005A;TAG LATIN CAPITAL LETTER Z;Cf;0;BN;;;;;N;;;;;
-E005B;TAG LEFT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;;
-E005C;TAG REVERSE SOLIDUS;Cf;0;BN;;;;;N;;;;;
-E005D;TAG RIGHT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;;
-E005E;TAG CIRCUMFLEX ACCENT;Cf;0;BN;;;;;N;;;;;
-E005F;TAG LOW LINE;Cf;0;BN;;;;;N;;;;;
-E0060;TAG GRAVE ACCENT;Cf;0;BN;;;;;N;;;;;
-E0061;TAG LATIN SMALL LETTER A;Cf;0;BN;;;;;N;;;;;
-E0062;TAG LATIN SMALL LETTER B;Cf;0;BN;;;;;N;;;;;
-E0063;TAG LATIN SMALL LETTER C;Cf;0;BN;;;;;N;;;;;
-E0064;TAG LATIN SMALL LETTER D;Cf;0;BN;;;;;N;;;;;
-E0065;TAG LATIN SMALL LETTER E;Cf;0;BN;;;;;N;;;;;
-E0066;TAG LATIN SMALL LETTER F;Cf;0;BN;;;;;N;;;;;
-E0067;TAG LATIN SMALL LETTER G;Cf;0;BN;;;;;N;;;;;
-E0068;TAG LATIN SMALL LETTER H;Cf;0;BN;;;;;N;;;;;
-E0069;TAG LATIN SMALL LETTER I;Cf;0;BN;;;;;N;;;;;
-E006A;TAG LATIN SMALL LETTER J;Cf;0;BN;;;;;N;;;;;
-E006B;TAG LATIN SMALL LETTER K;Cf;0;BN;;;;;N;;;;;
-E006C;TAG LATIN SMALL LETTER L;Cf;0;BN;;;;;N;;;;;
-E006D;TAG LATIN SMALL LETTER M;Cf;0;BN;;;;;N;;;;;
-E006E;TAG LATIN SMALL LETTER N;Cf;0;BN;;;;;N;;;;;
-E006F;TAG LATIN SMALL LETTER O;Cf;0;BN;;;;;N;;;;;
-E0070;TAG LATIN SMALL LETTER P;Cf;0;BN;;;;;N;;;;;
-E0071;TAG LATIN SMALL LETTER Q;Cf;0;BN;;;;;N;;;;;
-E0072;TAG LATIN SMALL LETTER R;Cf;0;BN;;;;;N;;;;;
-E0073;TAG LATIN SMALL LETTER S;Cf;0;BN;;;;;N;;;;;
-E0074;TAG LATIN SMALL LETTER T;Cf;0;BN;;;;;N;;;;;
-E0075;TAG LATIN SMALL LETTER U;Cf;0;BN;;;;;N;;;;;
-E0076;TAG LATIN SMALL LETTER V;Cf;0;BN;;;;;N;;;;;
-E0077;TAG LATIN SMALL LETTER W;Cf;0;BN;;;;;N;;;;;
-E0078;TAG LATIN SMALL LETTER X;Cf;0;BN;;;;;N;;;;;
-E0079;TAG LATIN SMALL LETTER Y;Cf;0;BN;;;;;N;;;;;
-E007A;TAG LATIN SMALL LETTER Z;Cf;0;BN;;;;;N;;;;;
-E007B;TAG LEFT CURLY BRACKET;Cf;0;BN;;;;;N;;;;;
-E007C;TAG VERTICAL LINE;Cf;0;BN;;;;;N;;;;;
-E007D;TAG RIGHT CURLY BRACKET;Cf;0;BN;;;;;N;;;;;
-E007E;TAG TILDE;Cf;0;BN;;;;;N;;;;;
-E007F;CANCEL TAG;Cf;0;BN;;;;;N;;;;;
-E0100;VARIATION SELECTOR-17;Mn;0;NSM;;;;;N;;;;;
-E0101;VARIATION SELECTOR-18;Mn;0;NSM;;;;;N;;;;;
-E0102;VARIATION SELECTOR-19;Mn;0;NSM;;;;;N;;;;;
-E0103;VARIATION SELECTOR-20;Mn;0;NSM;;;;;N;;;;;
-E0104;VARIATION SELECTOR-21;Mn;0;NSM;;;;;N;;;;;
-E0105;VARIATION SELECTOR-22;Mn;0;NSM;;;;;N;;;;;
-E0106;VARIATION SELECTOR-23;Mn;0;NSM;;;;;N;;;;;
-E0107;VARIATION SELECTOR-24;Mn;0;NSM;;;;;N;;;;;
-E0108;VARIATION SELECTOR-25;Mn;0;NSM;;;;;N;;;;;
-E0109;VARIATION SELECTOR-26;Mn;0;NSM;;;;;N;;;;;
-E010A;VARIATION SELECTOR-27;Mn;0;NSM;;;;;N;;;;;
-E010B;VARIATION SELECTOR-28;Mn;0;NSM;;;;;N;;;;;
-E010C;VARIATION SELECTOR-29;Mn;0;NSM;;;;;N;;;;;
-E010D;VARIATION SELECTOR-30;Mn;0;NSM;;;;;N;;;;;
-E010E;VARIATION SELECTOR-31;Mn;0;NSM;;;;;N;;;;;
-E010F;VARIATION SELECTOR-32;Mn;0;NSM;;;;;N;;;;;
-E0110;VARIATION SELECTOR-33;Mn;0;NSM;;;;;N;;;;;
-E0111;VARIATION SELECTOR-34;Mn;0;NSM;;;;;N;;;;;
-E0112;VARIATION SELECTOR-35;Mn;0;NSM;;;;;N;;;;;
-E0113;VARIATION SELECTOR-36;Mn;0;NSM;;;;;N;;;;;
-E0114;VARIATION SELECTOR-37;Mn;0;NSM;;;;;N;;;;;
-E0115;VARIATION SELECTOR-38;Mn;0;NSM;;;;;N;;;;;
-E0116;VARIATION SELECTOR-39;Mn;0;NSM;;;;;N;;;;;
-E0117;VARIATION SELECTOR-40;Mn;0;NSM;;;;;N;;;;;
-E0118;VARIATION SELECTOR-41;Mn;0;NSM;;;;;N;;;;;
-E0119;VARIATION SELECTOR-42;Mn;0;NSM;;;;;N;;;;;
-E011A;VARIATION SELECTOR-43;Mn;0;NSM;;;;;N;;;;;
-E011B;VARIATION SELECTOR-44;Mn;0;NSM;;;;;N;;;;;
-E011C;VARIATION SELECTOR-45;Mn;0;NSM;;;;;N;;;;;
-E011D;VARIATION SELECTOR-46;Mn;0;NSM;;;;;N;;;;;
-E011E;VARIATION SELECTOR-47;Mn;0;NSM;;;;;N;;;;;
-E011F;VARIATION SELECTOR-48;Mn;0;NSM;;;;;N;;;;;
-E0120;VARIATION SELECTOR-49;Mn;0;NSM;;;;;N;;;;;
-E0121;VARIATION SELECTOR-50;Mn;0;NSM;;;;;N;;;;;
-E0122;VARIATION SELECTOR-51;Mn;0;NSM;;;;;N;;;;;
-E0123;VARIATION SELECTOR-52;Mn;0;NSM;;;;;N;;;;;
-E0124;VARIATION SELECTOR-53;Mn;0;NSM;;;;;N;;;;;
-E0125;VARIATION SELECTOR-54;Mn;0;NSM;;;;;N;;;;;
-E0126;VARIATION SELECTOR-55;Mn;0;NSM;;;;;N;;;;;
-E0127;VARIATION SELECTOR-56;Mn;0;NSM;;;;;N;;;;;
-E0128;VARIATION SELECTOR-57;Mn;0;NSM;;;;;N;;;;;
-E0129;VARIATION SELECTOR-58;Mn;0;NSM;;;;;N;;;;;
-E012A;VARIATION SELECTOR-59;Mn;0;NSM;;;;;N;;;;;
-E012B;VARIATION SELECTOR-60;Mn;0;NSM;;;;;N;;;;;
-E012C;VARIATION SELECTOR-61;Mn;0;NSM;;;;;N;;;;;
-E012D;VARIATION SELECTOR-62;Mn;0;NSM;;;;;N;;;;;
-E012E;VARIATION SELECTOR-63;Mn;0;NSM;;;;;N;;;;;
-E012F;VARIATION SELECTOR-64;Mn;0;NSM;;;;;N;;;;;
-E0130;VARIATION SELECTOR-65;Mn;0;NSM;;;;;N;;;;;
-E0131;VARIATION SELECTOR-66;Mn;0;NSM;;;;;N;;;;;
-E0132;VARIATION SELECTOR-67;Mn;0;NSM;;;;;N;;;;;
-E0133;VARIATION SELECTOR-68;Mn;0;NSM;;;;;N;;;;;
-E0134;VARIATION SELECTOR-69;Mn;0;NSM;;;;;N;;;;;
-E0135;VARIATION SELECTOR-70;Mn;0;NSM;;;;;N;;;;;
-E0136;VARIATION SELECTOR-71;Mn;0;NSM;;;;;N;;;;;
-E0137;VARIATION SELECTOR-72;Mn;0;NSM;;;;;N;;;;;
-E0138;VARIATION SELECTOR-73;Mn;0;NSM;;;;;N;;;;;
-E0139;VARIATION SELECTOR-74;Mn;0;NSM;;;;;N;;;;;
-E013A;VARIATION SELECTOR-75;Mn;0;NSM;;;;;N;;;;;
-E013B;VARIATION SELECTOR-76;Mn;0;NSM;;;;;N;;;;;
-E013C;VARIATION SELECTOR-77;Mn;0;NSM;;;;;N;;;;;
-E013D;VARIATION SELECTOR-78;Mn;0;NSM;;;;;N;;;;;
-E013E;VARIATION SELECTOR-79;Mn;0;NSM;;;;;N;;;;;
-E013F;VARIATION SELECTOR-80;Mn;0;NSM;;;;;N;;;;;
-E0140;VARIATION SELECTOR-81;Mn;0;NSM;;;;;N;;;;;
-E0141;VARIATION SELECTOR-82;Mn;0;NSM;;;;;N;;;;;
-E0142;VARIATION SELECTOR-83;Mn;0;NSM;;;;;N;;;;;
-E0143;VARIATION SELECTOR-84;Mn;0;NSM;;;;;N;;;;;
-E0144;VARIATION SELECTOR-85;Mn;0;NSM;;;;;N;;;;;
-E0145;VARIATION SELECTOR-86;Mn;0;NSM;;;;;N;;;;;
-E0146;VARIATION SELECTOR-87;Mn;0;NSM;;;;;N;;;;;
-E0147;VARIATION SELECTOR-88;Mn;0;NSM;;;;;N;;;;;
-E0148;VARIATION SELECTOR-89;Mn;0;NSM;;;;;N;;;;;
-E0149;VARIATION SELECTOR-90;Mn;0;NSM;;;;;N;;;;;
-E014A;VARIATION SELECTOR-91;Mn;0;NSM;;;;;N;;;;;
-E014B;VARIATION SELECTOR-92;Mn;0;NSM;;;;;N;;;;;
-E014C;VARIATION SELECTOR-93;Mn;0;NSM;;;;;N;;;;;
-E014D;VARIATION SELECTOR-94;Mn;0;NSM;;;;;N;;;;;
-E014E;VARIATION SELECTOR-95;Mn;0;NSM;;;;;N;;;;;
-E014F;VARIATION SELECTOR-96;Mn;0;NSM;;;;;N;;;;;
-E0150;VARIATION SELECTOR-97;Mn;0;NSM;;;;;N;;;;;
-E0151;VARIATION SELECTOR-98;Mn;0;NSM;;;;;N;;;;;
-E0152;VARIATION SELECTOR-99;Mn;0;NSM;;;;;N;;;;;
-E0153;VARIATION SELECTOR-100;Mn;0;NSM;;;;;N;;;;;
-E0154;VARIATION SELECTOR-101;Mn;0;NSM;;;;;N;;;;;
-E0155;VARIATION SELECTOR-102;Mn;0;NSM;;;;;N;;;;;
-E0156;VARIATION SELECTOR-103;Mn;0;NSM;;;;;N;;;;;
-E0157;VARIATION SELECTOR-104;Mn;0;NSM;;;;;N;;;;;
-E0158;VARIATION SELECTOR-105;Mn;0;NSM;;;;;N;;;;;
-E0159;VARIATION SELECTOR-106;Mn;0;NSM;;;;;N;;;;;
-E015A;VARIATION SELECTOR-107;Mn;0;NSM;;;;;N;;;;;
-E015B;VARIATION SELECTOR-108;Mn;0;NSM;;;;;N;;;;;
-E015C;VARIATION SELECTOR-109;Mn;0;NSM;;;;;N;;;;;
-E015D;VARIATION SELECTOR-110;Mn;0;NSM;;;;;N;;;;;
-E015E;VARIATION SELECTOR-111;Mn;0;NSM;;;;;N;;;;;
-E015F;VARIATION SELECTOR-112;Mn;0;NSM;;;;;N;;;;;
-E0160;VARIATION SELECTOR-113;Mn;0;NSM;;;;;N;;;;;
-E0161;VARIATION SELECTOR-114;Mn;0;NSM;;;;;N;;;;;
-E0162;VARIATION SELECTOR-115;Mn;0;NSM;;;;;N;;;;;
-E0163;VARIATION SELECTOR-116;Mn;0;NSM;;;;;N;;;;;
-E0164;VARIATION SELECTOR-117;Mn;0;NSM;;;;;N;;;;;
-E0165;VARIATION SELECTOR-118;Mn;0;NSM;;;;;N;;;;;
-E0166;VARIATION SELECTOR-119;Mn;0;NSM;;;;;N;;;;;
-E0167;VARIATION SELECTOR-120;Mn;0;NSM;;;;;N;;;;;
-E0168;VARIATION SELECTOR-121;Mn;0;NSM;;;;;N;;;;;
-E0169;VARIATION SELECTOR-122;Mn;0;NSM;;;;;N;;;;;
-E016A;VARIATION SELECTOR-123;Mn;0;NSM;;;;;N;;;;;
-E016B;VARIATION SELECTOR-124;Mn;0;NSM;;;;;N;;;;;
-E016C;VARIATION SELECTOR-125;Mn;0;NSM;;;;;N;;;;;
-E016D;VARIATION SELECTOR-126;Mn;0;NSM;;;;;N;;;;;
-E016E;VARIATION SELECTOR-127;Mn;0;NSM;;;;;N;;;;;
-E016F;VARIATION SELECTOR-128;Mn;0;NSM;;;;;N;;;;;
-E0170;VARIATION SELECTOR-129;Mn;0;NSM;;;;;N;;;;;
-E0171;VARIATION SELECTOR-130;Mn;0;NSM;;;;;N;;;;;
-E0172;VARIATION SELECTOR-131;Mn;0;NSM;;;;;N;;;;;
-E0173;VARIATION SELECTOR-132;Mn;0;NSM;;;;;N;;;;;
-E0174;VARIATION SELECTOR-133;Mn;0;NSM;;;;;N;;;;;
-E0175;VARIATION SELECTOR-134;Mn;0;NSM;;;;;N;;;;;
-E0176;VARIATION SELECTOR-135;Mn;0;NSM;;;;;N;;;;;
-E0177;VARIATION SELECTOR-136;Mn;0;NSM;;;;;N;;;;;
-E0178;VARIATION SELECTOR-137;Mn;0;NSM;;;;;N;;;;;
-E0179;VARIATION SELECTOR-138;Mn;0;NSM;;;;;N;;;;;
-E017A;VARIATION SELECTOR-139;Mn;0;NSM;;;;;N;;;;;
-E017B;VARIATION SELECTOR-140;Mn;0;NSM;;;;;N;;;;;
-E017C;VARIATION SELECTOR-141;Mn;0;NSM;;;;;N;;;;;
-E017D;VARIATION SELECTOR-142;Mn;0;NSM;;;;;N;;;;;
-E017E;VARIATION SELECTOR-143;Mn;0;NSM;;;;;N;;;;;
-E017F;VARIATION SELECTOR-144;Mn;0;NSM;;;;;N;;;;;
-E0180;VARIATION SELECTOR-145;Mn;0;NSM;;;;;N;;;;;
-E0181;VARIATION SELECTOR-146;Mn;0;NSM;;;;;N;;;;;
-E0182;VARIATION SELECTOR-147;Mn;0;NSM;;;;;N;;;;;
-E0183;VARIATION SELECTOR-148;Mn;0;NSM;;;;;N;;;;;
-E0184;VARIATION SELECTOR-149;Mn;0;NSM;;;;;N;;;;;
-E0185;VARIATION SELECTOR-150;Mn;0;NSM;;;;;N;;;;;
-E0186;VARIATION SELECTOR-151;Mn;0;NSM;;;;;N;;;;;
-E0187;VARIATION SELECTOR-152;Mn;0;NSM;;;;;N;;;;;
-E0188;VARIATION SELECTOR-153;Mn;0;NSM;;;;;N;;;;;
-E0189;VARIATION SELECTOR-154;Mn;0;NSM;;;;;N;;;;;
-E018A;VARIATION SELECTOR-155;Mn;0;NSM;;;;;N;;;;;
-E018B;VARIATION SELECTOR-156;Mn;0;NSM;;;;;N;;;;;
-E018C;VARIATION SELECTOR-157;Mn;0;NSM;;;;;N;;;;;
-E018D;VARIATION SELECTOR-158;Mn;0;NSM;;;;;N;;;;;
-E018E;VARIATION SELECTOR-159;Mn;0;NSM;;;;;N;;;;;
-E018F;VARIATION SELECTOR-160;Mn;0;NSM;;;;;N;;;;;
-E0190;VARIATION SELECTOR-161;Mn;0;NSM;;;;;N;;;;;
-E0191;VARIATION SELECTOR-162;Mn;0;NSM;;;;;N;;;;;
-E0192;VARIATION SELECTOR-163;Mn;0;NSM;;;;;N;;;;;
-E0193;VARIATION SELECTOR-164;Mn;0;NSM;;;;;N;;;;;
-E0194;VARIATION SELECTOR-165;Mn;0;NSM;;;;;N;;;;;
-E0195;VARIATION SELECTOR-166;Mn;0;NSM;;;;;N;;;;;
-E0196;VARIATION SELECTOR-167;Mn;0;NSM;;;;;N;;;;;
-E0197;VARIATION SELECTOR-168;Mn;0;NSM;;;;;N;;;;;
-E0198;VARIATION SELECTOR-169;Mn;0;NSM;;;;;N;;;;;
-E0199;VARIATION SELECTOR-170;Mn;0;NSM;;;;;N;;;;;
-E019A;VARIATION SELECTOR-171;Mn;0;NSM;;;;;N;;;;;
-E019B;VARIATION SELECTOR-172;Mn;0;NSM;;;;;N;;;;;
-E019C;VARIATION SELECTOR-173;Mn;0;NSM;;;;;N;;;;;
-E019D;VARIATION SELECTOR-174;Mn;0;NSM;;;;;N;;;;;
-E019E;VARIATION SELECTOR-175;Mn;0;NSM;;;;;N;;;;;
-E019F;VARIATION SELECTOR-176;Mn;0;NSM;;;;;N;;;;;
-E01A0;VARIATION SELECTOR-177;Mn;0;NSM;;;;;N;;;;;
-E01A1;VARIATION SELECTOR-178;Mn;0;NSM;;;;;N;;;;;
-E01A2;VARIATION SELECTOR-179;Mn;0;NSM;;;;;N;;;;;
-E01A3;VARIATION SELECTOR-180;Mn;0;NSM;;;;;N;;;;;
-E01A4;VARIATION SELECTOR-181;Mn;0;NSM;;;;;N;;;;;
-E01A5;VARIATION SELECTOR-182;Mn;0;NSM;;;;;N;;;;;
-E01A6;VARIATION SELECTOR-183;Mn;0;NSM;;;;;N;;;;;
-E01A7;VARIATION SELECTOR-184;Mn;0;NSM;;;;;N;;;;;
-E01A8;VARIATION SELECTOR-185;Mn;0;NSM;;;;;N;;;;;
-E01A9;VARIATION SELECTOR-186;Mn;0;NSM;;;;;N;;;;;
-E01AA;VARIATION SELECTOR-187;Mn;0;NSM;;;;;N;;;;;
-E01AB;VARIATION SELECTOR-188;Mn;0;NSM;;;;;N;;;;;
-E01AC;VARIATION SELECTOR-189;Mn;0;NSM;;;;;N;;;;;
-E01AD;VARIATION SELECTOR-190;Mn;0;NSM;;;;;N;;;;;
-E01AE;VARIATION SELECTOR-191;Mn;0;NSM;;;;;N;;;;;
-E01AF;VARIATION SELECTOR-192;Mn;0;NSM;;;;;N;;;;;
-E01B0;VARIATION SELECTOR-193;Mn;0;NSM;;;;;N;;;;;
-E01B1;VARIATION SELECTOR-194;Mn;0;NSM;;;;;N;;;;;
-E01B2;VARIATION SELECTOR-195;Mn;0;NSM;;;;;N;;;;;
-E01B3;VARIATION SELECTOR-196;Mn;0;NSM;;;;;N;;;;;
-E01B4;VARIATION SELECTOR-197;Mn;0;NSM;;;;;N;;;;;
-E01B5;VARIATION SELECTOR-198;Mn;0;NSM;;;;;N;;;;;
-E01B6;VARIATION SELECTOR-199;Mn;0;NSM;;;;;N;;;;;
-E01B7;VARIATION SELECTOR-200;Mn;0;NSM;;;;;N;;;;;
-E01B8;VARIATION SELECTOR-201;Mn;0;NSM;;;;;N;;;;;
-E01B9;VARIATION SELECTOR-202;Mn;0;NSM;;;;;N;;;;;
-E01BA;VARIATION SELECTOR-203;Mn;0;NSM;;;;;N;;;;;
-E01BB;VARIATION SELECTOR-204;Mn;0;NSM;;;;;N;;;;;
-E01BC;VARIATION SELECTOR-205;Mn;0;NSM;;;;;N;;;;;
-E01BD;VARIATION SELECTOR-206;Mn;0;NSM;;;;;N;;;;;
-E01BE;VARIATION SELECTOR-207;Mn;0;NSM;;;;;N;;;;;
-E01BF;VARIATION SELECTOR-208;Mn;0;NSM;;;;;N;;;;;
-E01C0;VARIATION SELECTOR-209;Mn;0;NSM;;;;;N;;;;;
-E01C1;VARIATION SELECTOR-210;Mn;0;NSM;;;;;N;;;;;
-E01C2;VARIATION SELECTOR-211;Mn;0;NSM;;;;;N;;;;;
-E01C3;VARIATION SELECTOR-212;Mn;0;NSM;;;;;N;;;;;
-E01C4;VARIATION SELECTOR-213;Mn;0;NSM;;;;;N;;;;;
-E01C5;VARIATION SELECTOR-214;Mn;0;NSM;;;;;N;;;;;
-E01C6;VARIATION SELECTOR-215;Mn;0;NSM;;;;;N;;;;;
-E01C7;VARIATION SELECTOR-216;Mn;0;NSM;;;;;N;;;;;
-E01C8;VARIATION SELECTOR-217;Mn;0;NSM;;;;;N;;;;;
-E01C9;VARIATION SELECTOR-218;Mn;0;NSM;;;;;N;;;;;
-E01CA;VARIATION SELECTOR-219;Mn;0;NSM;;;;;N;;;;;
-E01CB;VARIATION SELECTOR-220;Mn;0;NSM;;;;;N;;;;;
-E01CC;VARIATION SELECTOR-221;Mn;0;NSM;;;;;N;;;;;
-E01CD;VARIATION SELECTOR-222;Mn;0;NSM;;;;;N;;;;;
-E01CE;VARIATION SELECTOR-223;Mn;0;NSM;;;;;N;;;;;
-E01CF;VARIATION SELECTOR-224;Mn;0;NSM;;;;;N;;;;;
-E01D0;VARIATION SELECTOR-225;Mn;0;NSM;;;;;N;;;;;
-E01D1;VARIATION SELECTOR-226;Mn;0;NSM;;;;;N;;;;;
-E01D2;VARIATION SELECTOR-227;Mn;0;NSM;;;;;N;;;;;
-E01D3;VARIATION SELECTOR-228;Mn;0;NSM;;;;;N;;;;;
-E01D4;VARIATION SELECTOR-229;Mn;0;NSM;;;;;N;;;;;
-E01D5;VARIATION SELECTOR-230;Mn;0;NSM;;;;;N;;;;;
-E01D6;VARIATION SELECTOR-231;Mn;0;NSM;;;;;N;;;;;
-E01D7;VARIATION SELECTOR-232;Mn;0;NSM;;;;;N;;;;;
-E01D8;VARIATION SELECTOR-233;Mn;0;NSM;;;;;N;;;;;
-E01D9;VARIATION SELECTOR-234;Mn;0;NSM;;;;;N;;;;;
-E01DA;VARIATION SELECTOR-235;Mn;0;NSM;;;;;N;;;;;
-E01DB;VARIATION SELECTOR-236;Mn;0;NSM;;;;;N;;;;;
-E01DC;VARIATION SELECTOR-237;Mn;0;NSM;;;;;N;;;;;
-E01DD;VARIATION SELECTOR-238;Mn;0;NSM;;;;;N;;;;;
-E01DE;VARIATION SELECTOR-239;Mn;0;NSM;;;;;N;;;;;
-E01DF;VARIATION SELECTOR-240;Mn;0;NSM;;;;;N;;;;;
-E01E0;VARIATION SELECTOR-241;Mn;0;NSM;;;;;N;;;;;
-E01E1;VARIATION SELECTOR-242;Mn;0;NSM;;;;;N;;;;;
-E01E2;VARIATION SELECTOR-243;Mn;0;NSM;;;;;N;;;;;
-E01E3;VARIATION SELECTOR-244;Mn;0;NSM;;;;;N;;;;;
-E01E4;VARIATION SELECTOR-245;Mn;0;NSM;;;;;N;;;;;
-E01E5;VARIATION SELECTOR-246;Mn;0;NSM;;;;;N;;;;;
-E01E6;VARIATION SELECTOR-247;Mn;0;NSM;;;;;N;;;;;
-E01E7;VARIATION SELECTOR-248;Mn;0;NSM;;;;;N;;;;;
-E01E8;VARIATION SELECTOR-249;Mn;0;NSM;;;;;N;;;;;
-E01E9;VARIATION SELECTOR-250;Mn;0;NSM;;;;;N;;;;;
-E01EA;VARIATION SELECTOR-251;Mn;0;NSM;;;;;N;;;;;
-E01EB;VARIATION SELECTOR-252;Mn;0;NSM;;;;;N;;;;;
-E01EC;VARIATION SELECTOR-253;Mn;0;NSM;;;;;N;;;;;
-E01ED;VARIATION SELECTOR-254;Mn;0;NSM;;;;;N;;;;;
-E01EE;VARIATION SELECTOR-255;Mn;0;NSM;;;;;N;;;;;
-E01EF;VARIATION SELECTOR-256;Mn;0;NSM;;;;;N;;;;;
-F0000;<Plane 15 Private Use, First>;Co;0;L;;;;;N;;;;;
-FFFFD;<Plane 15 Private Use, Last>;Co;0;L;;;;;N;;;;;
-100000;<Plane 16 Private Use, First>;Co;0;L;;;;;N;;;;;
-10FFFD;<Plane 16 Private Use, Last>;Co;0;L;;;;;N;;;;;
diff --git a/Master/tlpkg/tlperl/lib/unicore/auxiliary/GCBTest.txt b/Master/tlpkg/tlperl/lib/unicore/auxiliary/GCBTest.txt
deleted file mode 100644
index 7932e4d759e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/auxiliary/GCBTest.txt
+++ /dev/null
@@ -1,311 +0,0 @@
-# GraphemeBreakTest-5.2.0.txt
-# Date: 2009-09-19, 00:42:12 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-#
-# Default Grapheme Break Test
-#
-# Format:
-# <string> (# <comment>)?
-# <string> contains hex Unicode code points, with
-# ÷ wherever there is a break opportunity, and
-# × wherever there is not.
-# <comment> the format can change, but currently it shows:
-# - the sample character name
-# - (x) the Grapheme_Break property* for the sample character
-# - [x] the rule that determines whether there is a break or not
-#
-# These samples may be extended or changed in the future.
-#
-÷ 0020 ÷ 0020 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0020 × 0308 ÷ 0020 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0020 ÷ 000D ÷ # ÷ [0.2] SPACE (Other) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0020 × 0308 ÷ 000D ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0020 ÷ 000A ÷ # ÷ [0.2] SPACE (Other) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0020 × 0308 ÷ 000A ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0020 ÷ 0001 ÷ # ÷ [0.2] SPACE (Other) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0020 × 0308 ÷ 0001 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0020 × 0300 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0020 × 0308 × 0300 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0020 ÷ 0E40 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0020 × 0308 ÷ 0E40 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0020 × 0903 ÷ # ÷ [0.2] SPACE (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0020 × 0308 × 0903 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0020 ÷ 1100 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0020 × 0308 ÷ 1100 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0020 ÷ 1160 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0020 × 0308 ÷ 1160 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0020 ÷ 11A8 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0020 × 0308 ÷ 11A8 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0020 ÷ AC00 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0020 × 0308 ÷ AC00 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0020 ÷ AC01 ÷ # ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0020 × 0308 ÷ AC01 ÷ # ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 000D ÷ 0020 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] SPACE (Other) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 0020 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 000D ÷ 000D ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 000D ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 000D × 000A ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) × [3.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 000A ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 000D ÷ 0001 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 0001 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 000D ÷ 0300 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 000D ÷ 0308 × 0300 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 000D ÷ 0E40 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 0E40 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 000D ÷ 0903 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 000D ÷ 0308 × 0903 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 000D ÷ 1100 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 1100 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 000D ÷ 1160 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 1160 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 000D ÷ 11A8 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 11A8 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 000D ÷ AC00 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ AC00 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 000D ÷ AC01 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ AC01 ÷ # ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 000A ÷ 0020 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] SPACE (Other) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 0020 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 000A ÷ 000D ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 000D ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 000A ÷ 000A ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 000A ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 000A ÷ 0001 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 0001 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 000A ÷ 0300 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 000A ÷ 0308 × 0300 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 000A ÷ 0E40 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 0E40 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 000A ÷ 0903 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 000A ÷ 0308 × 0903 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 000A ÷ 1100 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 1100 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 000A ÷ 1160 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 1160 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 000A ÷ 11A8 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 11A8 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 000A ÷ AC00 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ AC00 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 000A ÷ AC01 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ AC01 ÷ # ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0001 ÷ 0020 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] SPACE (Other) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 0020 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0001 ÷ 000D ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 000D ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0001 ÷ 000A ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 000A ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0001 ÷ 0001 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 0001 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0001 ÷ 0300 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0001 ÷ 0308 × 0300 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0001 ÷ 0E40 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 0E40 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0001 ÷ 0903 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0001 ÷ 0308 × 0903 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0001 ÷ 1100 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 1100 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0001 ÷ 1160 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 1160 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0001 ÷ 11A8 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 11A8 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0001 ÷ AC00 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ AC00 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0001 ÷ AC01 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ AC01 ÷ # ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0300 ÷ 0020 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0300 × 0308 ÷ 0020 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0300 ÷ 000D ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0300 × 0308 ÷ 000D ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0300 ÷ 000A ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0300 × 0308 ÷ 000A ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0300 ÷ 0001 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0300 × 0308 ÷ 0001 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0300 × 0300 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0300 × 0308 × 0300 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0300 ÷ 0E40 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0300 × 0308 ÷ 0E40 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0300 × 0903 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0300 × 0308 × 0903 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0300 ÷ 1100 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0300 × 0308 ÷ 1100 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0300 ÷ 1160 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0300 × 0308 ÷ 1160 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0300 ÷ 11A8 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0300 × 0308 ÷ 11A8 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0300 ÷ AC00 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0300 × 0308 ÷ AC00 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0300 ÷ AC01 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0300 × 0308 ÷ AC01 ÷ # ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0E40 × 0020 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] SPACE (Other) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 0020 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0E40 ÷ 000D ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 000D ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0E40 ÷ 000A ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 000A ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0E40 ÷ 0001 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 0001 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0E40 × 0300 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0E40 × 0308 × 0300 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0E40 × 0E40 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 0E40 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0E40 × 0903 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0E40 × 0308 × 0903 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0E40 × 1100 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 1100 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0E40 × 1160 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 1160 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0E40 × 11A8 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 11A8 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0E40 × AC00 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0E40 × 0308 ÷ AC00 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0E40 × AC01 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0E40 × 0308 ÷ AC01 ÷ # ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0903 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0020 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0903 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0903 × 0308 ÷ 000D ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0903 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0903 × 0308 ÷ 000A ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0903 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0001 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0903 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0903 × 0308 × 0300 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0903 ÷ 0E40 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0E40 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0903 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0903 × 0308 × 0903 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0903 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0903 × 0308 ÷ 1100 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0903 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0903 × 0308 ÷ 1160 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0903 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0903 × 0308 ÷ 11A8 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0903 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0903 × 0308 ÷ AC00 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0903 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0903 × 0308 ÷ AC01 ÷ # ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 1100 ÷ 0020 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 1100 × 0308 ÷ 0020 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 1100 ÷ 000D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 1100 × 0308 ÷ 000D ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 1100 ÷ 000A ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 1100 × 0308 ÷ 000A ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 1100 ÷ 0001 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 1100 × 0308 ÷ 0001 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 1100 × 0300 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 1100 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 1100 ÷ 0E40 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 1100 × 0308 ÷ 0E40 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 1100 × 0903 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1100 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1100 × 1100 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 1100 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 1100 × 1160 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 1100 × 0308 ÷ 1160 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 1100 ÷ 11A8 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 1100 × 0308 ÷ 11A8 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 1100 × AC00 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 1100 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 1100 × AC01 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 1100 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 1160 ÷ 0020 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 1160 × 0308 ÷ 0020 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 1160 ÷ 000D ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 1160 × 0308 ÷ 000D ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 1160 ÷ 000A ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 1160 × 0308 ÷ 000A ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 1160 ÷ 0001 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 1160 × 0308 ÷ 0001 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 1160 × 0300 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 1160 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 1160 ÷ 0E40 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 1160 × 0308 ÷ 0E40 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 1160 × 0903 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1160 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 1160 ÷ 1100 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 1160 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 1160 × 1160 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [7.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 1160 × 0308 ÷ 1160 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 1160 × 11A8 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [7.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 1160 × 0308 ÷ 11A8 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 1160 ÷ AC00 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 1160 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 1160 ÷ AC01 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 1160 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 11A8 ÷ 0020 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 0020 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 11A8 ÷ 000D ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 000D ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 11A8 ÷ 000A ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 000A ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 11A8 ÷ 0001 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 0001 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 11A8 × 0300 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 11A8 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 11A8 ÷ 0E40 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 0E40 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 11A8 × 0903 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 11A8 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 11A8 ÷ 1100 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 11A8 ÷ 1160 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 1160 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 11A8 × 11A8 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [8.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 11A8 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 11A8 ÷ AC00 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 11A8 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 11A8 ÷ AC01 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 11A8 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ AC00 ÷ 0020 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ AC00 × 0308 ÷ 0020 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ AC00 ÷ 000D ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ AC00 × 0308 ÷ 000D ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ AC00 ÷ 000A ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ AC00 × 0308 ÷ 000A ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ AC00 ÷ 0001 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ AC00 × 0308 ÷ 0001 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ AC00 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ AC00 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ AC00 ÷ 0E40 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ AC00 × 0308 ÷ 0E40 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ AC00 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ AC00 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ AC00 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ AC00 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ AC00 × 1160 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [7.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ AC00 × 0308 ÷ 1160 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ AC00 × 11A8 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [7.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ AC00 × 0308 ÷ 11A8 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ AC00 ÷ AC00 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ AC00 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ AC00 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ AC00 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ AC01 ÷ 0020 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ AC01 × 0308 ÷ 0020 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ AC01 ÷ 000D ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ AC01 × 0308 ÷ 000D ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ AC01 ÷ 000A ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ AC01 × 0308 ÷ 000A ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ AC01 ÷ 0001 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ AC01 × 0308 ÷ 0001 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ AC01 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ AC01 × 0308 × 0300 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ AC01 ÷ 0E40 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ AC01 × 0308 ÷ 0E40 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ AC01 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ AC01 × 0308 × 0903 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ AC01 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ AC01 × 0308 ÷ 1100 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ AC01 ÷ 1160 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ AC01 × 0308 ÷ 1160 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ AC01 × 11A8 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [8.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ AC01 × 0308 ÷ 11A8 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ AC01 ÷ AC00 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ AC01 × 0308 ÷ AC00 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ AC01 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ AC01 × 0308 ÷ AC01 ÷ # ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-# Lines: 288
diff --git a/Master/tlpkg/tlperl/lib/unicore/auxiliary/GraphemeBreakProperty.txt b/Master/tlpkg/tlperl/lib/unicore/auxiliary/GraphemeBreakProperty.txt
deleted file mode 100644
index 57da65828da..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/auxiliary/GraphemeBreakProperty.txt
+++ /dev/null
@@ -1,1227 +0,0 @@
-# GraphemeBreakProperty-5.2.0.txt
-# Date: 2009-06-09, 21:40:09 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: Grapheme_Cluster_Break
-
-# All code points not explicitly listed for Grapheme_Cluster_Break
-# have the value Other (XX).
-
-# @missing: 0000..10FFFF; Other
-
-# ================================================
-
-000D ; CR # Cc <control-000D>
-
-# Total code points: 1
-
-# ================================================
-
-000A ; LF # Cc <control-000A>
-
-# Total code points: 1
-
-# ================================================
-
-0000..0009 ; Control # Cc [10] <control-0000>..<control-0009>
-000B..000C ; Control # Cc [2] <control-000B>..<control-000C>
-000E..001F ; Control # Cc [18] <control-000E>..<control-001F>
-007F..009F ; Control # Cc [33] <control-007F>..<control-009F>
-00AD ; Control # Cf SOFT HYPHEN
-0600..0603 ; Control # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-06DD ; Control # Cf ARABIC END OF AYAH
-070F ; Control # Cf SYRIAC ABBREVIATION MARK
-17B4..17B5 ; Control # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-200B ; Control # Cf ZERO WIDTH SPACE
-200E..200F ; Control # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-2028 ; Control # Zl LINE SEPARATOR
-2029 ; Control # Zp PARAGRAPH SEPARATOR
-202A..202E ; Control # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; Control # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; Control # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-FEFF ; Control # Cf ZERO WIDTH NO-BREAK SPACE
-FFF9..FFFB ; Control # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-110BD ; Control # Cf KAITHI NUMBER SIGN
-1D173..1D17A ; Control # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-E0001 ; Control # Cf LANGUAGE TAG
-E0020..E007F ; Control # Cf [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 203
-
-# ================================================
-
-0300..036F ; Extend # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; Extend # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; Extend # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; Extend # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; Extend # Mn HEBREW POINT RAFE
-05C1..05C2 ; Extend # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Extend # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Extend # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; Extend # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; Extend # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; Extend # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Extend # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; Extend # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; Extend # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; Extend # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; Extend # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; Extend # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; Extend # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Extend # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Extend # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; Extend # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; Extend # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; Extend # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-093C ; Extend # Mn DEVANAGARI SIGN NUKTA
-0941..0948 ; Extend # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-094D ; Extend # Mn DEVANAGARI SIGN VIRAMA
-0951..0955 ; Extend # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Extend # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; Extend # Mn BENGALI SIGN CANDRABINDU
-09BC ; Extend # Mn BENGALI SIGN NUKTA
-09BE ; Extend # Mc BENGALI VOWEL SIGN AA
-09C1..09C4 ; Extend # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09CD ; Extend # Mn BENGALI SIGN VIRAMA
-09D7 ; Extend # Mc BENGALI AU LENGTH MARK
-09E2..09E3 ; Extend # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Extend # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A3C ; Extend # Mn GURMUKHI SIGN NUKTA
-0A41..0A42 ; Extend # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Extend # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Extend # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Extend # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; Extend # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Extend # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Extend # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0ABC ; Extend # Mn GUJARATI SIGN NUKTA
-0AC1..0AC5 ; Extend # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Extend # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0ACD ; Extend # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; Extend # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Extend # Mn ORIYA SIGN CANDRABINDU
-0B3C ; Extend # Mn ORIYA SIGN NUKTA
-0B3E ; Extend # Mc ORIYA VOWEL SIGN AA
-0B3F ; Extend # Mn ORIYA VOWEL SIGN I
-0B41..0B44 ; Extend # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B4D ; Extend # Mn ORIYA SIGN VIRAMA
-0B56 ; Extend # Mn ORIYA AI LENGTH MARK
-0B57 ; Extend # Mc ORIYA AU LENGTH MARK
-0B62..0B63 ; Extend # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Extend # Mn TAMIL SIGN ANUSVARA
-0BBE ; Extend # Mc TAMIL VOWEL SIGN AA
-0BC0 ; Extend # Mn TAMIL VOWEL SIGN II
-0BCD ; Extend # Mn TAMIL SIGN VIRAMA
-0BD7 ; Extend # Mc TAMIL AU LENGTH MARK
-0C3E..0C40 ; Extend # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C46..0C48 ; Extend # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Extend # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Extend # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Extend # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0CBC ; Extend # Mn KANNADA SIGN NUKTA
-0CBF ; Extend # Mn KANNADA VOWEL SIGN I
-0CC2 ; Extend # Mc KANNADA VOWEL SIGN UU
-0CC6 ; Extend # Mn KANNADA VOWEL SIGN E
-0CCC..0CCD ; Extend # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CE2..0CE3 ; Extend # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D3E ; Extend # Mc MALAYALAM VOWEL SIGN AA
-0D41..0D44 ; Extend # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D4D ; Extend # Mn MALAYALAM SIGN VIRAMA
-0D57 ; Extend # Mc MALAYALAM AU LENGTH MARK
-0D62..0D63 ; Extend # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0DCA ; Extend # Mn SINHALA SIGN AL-LAKUNA
-0DCF ; Extend # Mc SINHALA VOWEL SIGN AELA-PILLA
-0DD2..0DD4 ; Extend # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Extend # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DDF ; Extend # Mc SINHALA VOWEL SIGN GAYANUKITTA
-0E30 ; Extend # Lo THAI CHARACTER SARA A
-0E31 ; Extend # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; Extend # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; Extend # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E45 ; Extend # Lo THAI CHARACTER LAKKHANGYAO
-0E47..0E4E ; Extend # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB0 ; Extend # Lo LAO VOWEL SIGN A
-0EB1 ; Extend # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; Extend # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; Extend # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Extend # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; Extend # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; Extend # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Extend # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Extend # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Extend # Mn TIBETAN MARK TSA -PHRU
-0F71..0F7E ; Extend # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; Extend # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; Extend # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; Extend # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Extend # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; Extend # Mn TIBETAN SYMBOL PADMA GDAN
-102D..1030 ; Extend # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1032..1037 ; Extend # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1039..103A ; Extend # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103D..103E ; Extend # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1058..1059 ; Extend # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Extend # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1071..1074 ; Extend # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Extend # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1085..1086 ; Extend # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108D ; Extend # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-109D ; Extend # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; Extend # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; Extend # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; Extend # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; Extend # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Extend # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B7..17BD ; Extend # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17C6 ; Extend # Mn KHMER SIGN NIKAHIT
-17C9..17D3 ; Extend # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; Extend # Mn KHMER SIGN ATTHACAN
-180B..180D ; Extend # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; Extend # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Extend # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1927..1928 ; Extend # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1932 ; Extend # Mn LIMBU SMALL LETTER ANUSVARA
-1939..193B ; Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A56 ; Extend # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A58..1A5E ; Extend # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Extend # Mn TAI THAM SIGN SAKOT
-1A62 ; Extend # Mn TAI THAM VOWEL SIGN MAI SAT
-1A65..1A6C ; Extend # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A73..1A7C ; Extend # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Extend # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; Extend # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B34 ; Extend # Mn BALINESE SIGN REREKAN
-1B36..1B3A ; Extend # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3C ; Extend # Mn BALINESE VOWEL SIGN LA LENGA
-1B42 ; Extend # Mn BALINESE VOWEL SIGN PEPET
-1B6B..1B73 ; Extend # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; Extend # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1BA2..1BA5 ; Extend # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA8..1BA9 ; Extend # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C2C..1C33 ; Extend # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C36..1C37 ; Extend # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; Extend # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Extend # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; Extend # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Extend # Mn VEDIC SIGN TIRYAK
-1DC0..1DE6 ; Extend # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Extend # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200C..200D ; Extend # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-20D0..20DC ; Extend # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; Extend # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; Extend # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; Extend # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; Extend # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; Extend # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; Extend # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; Extend # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Extend # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; Extend # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; Extend # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; Extend # Mn SYLOTI NAGRI SIGN ANUSVARA
-A825..A826 ; Extend # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A8C4 ; Extend # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Extend # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; Extend # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; Extend # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A980..A982 ; Extend # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A9B3 ; Extend # Mn JAVANESE SIGN CECAK TELU
-A9B6..A9B9 ; Extend # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BC ; Extend # Mn JAVANESE VOWEL SIGN PEPET
-AA29..AA2E ; Extend # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA31..AA32 ; Extend # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA35..AA36 ; Extend # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Extend # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; Extend # Mn CHAM CONSONANT SIGN FINAL M
-AAB0 ; Extend # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; Extend # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Extend # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; Extend # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; Extend # Mn TAI VIET TONE MAI THO
-ABE5 ; Extend # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE8 ; Extend # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABED ; Extend # Mn MEETEI MAYEK APUN IYEK
-FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; Extend # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; Extend # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Extend # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Extend # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; Extend # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Extend # Mn KHAROSHTHI VIRAMA
-11080..11081 ; Extend # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-110B3..110B6 ; Extend # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B9..110BA ; Extend # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D165 ; Extend # Mc MUSICAL SYMBOL COMBINING STEM
-1D167..1D169 ; Extend # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16E..1D172 ; Extend # Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; Extend # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1205
-
-# ================================================
-
-0E40..0E44 ; Prepend # Lo [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI
-0EC0..0EC4 ; Prepend # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-AAB5..AAB6 ; Prepend # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9 ; Prepend # Lo TAI VIET VOWEL UEA
-AABB..AABC ; Prepend # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY
-
-# Total code points: 15
-
-# ================================================
-
-0903 ; SpacingMark # Mc DEVANAGARI SIGN VISARGA
-093E..0940 ; SpacingMark # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0949..094C ; SpacingMark # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; SpacingMark # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0982..0983 ; SpacingMark # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-09BF..09C0 ; SpacingMark # Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
-09C7..09C8 ; SpacingMark # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; SpacingMark # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-0A03 ; SpacingMark # Mc GURMUKHI SIGN VISARGA
-0A3E..0A40 ; SpacingMark # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A83 ; SpacingMark # Mc GUJARATI SIGN VISARGA
-0ABE..0AC0 ; SpacingMark # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC9 ; SpacingMark # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; SpacingMark # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0B02..0B03 ; SpacingMark # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B40 ; SpacingMark # Mc ORIYA VOWEL SIGN II
-0B47..0B48 ; SpacingMark # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; SpacingMark # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0BBF ; SpacingMark # Mc TAMIL VOWEL SIGN I
-0BC1..0BC2 ; SpacingMark # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; SpacingMark # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; SpacingMark # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0C01..0C03 ; SpacingMark # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C41..0C44 ; SpacingMark # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C82..0C83 ; SpacingMark # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0CBE ; SpacingMark # Mc KANNADA VOWEL SIGN AA
-0CC0..0CC1 ; SpacingMark # Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
-0CC3..0CC4 ; SpacingMark # Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
-0CC7..0CC8 ; SpacingMark # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; SpacingMark # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0D02..0D03 ; SpacingMark # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D3F..0D40 ; SpacingMark # Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
-0D46..0D48 ; SpacingMark # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; SpacingMark # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D82..0D83 ; SpacingMark # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0DD0..0DD1 ; SpacingMark # Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD8..0DDE ; SpacingMark # Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DF2..0DF3 ; SpacingMark # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0F3E..0F3F ; SpacingMark # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F7F ; SpacingMark # Mc TIBETAN SIGN RNAM BCAD
-102B..102C ; SpacingMark # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-1031 ; SpacingMark # Mc MYANMAR VOWEL SIGN E
-1038 ; SpacingMark # Mc MYANMAR SIGN VISARGA
-103B..103C ; SpacingMark # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-1056..1057 ; SpacingMark # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1062..1064 ; SpacingMark # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1067..106D ; SpacingMark # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1083..1084 ; SpacingMark # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1087..108C ; SpacingMark # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108F ; SpacingMark # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109C ; SpacingMark # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-17B6 ; SpacingMark # Mc KHMER VOWEL SIGN AA
-17BE..17C5 ; SpacingMark # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C7..17C8 ; SpacingMark # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-1923..1926 ; SpacingMark # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1929..192B ; SpacingMark # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; SpacingMark # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1933..1938 ; SpacingMark # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B0..19C0 ; SpacingMark # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9 ; SpacingMark # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-1A19..1A1B ; SpacingMark # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A55 ; SpacingMark # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A57 ; SpacingMark # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A61 ; SpacingMark # Mc TAI THAM VOWEL SIGN A
-1A63..1A64 ; SpacingMark # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A6D..1A72 ; SpacingMark # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1B04 ; SpacingMark # Mc BALINESE SIGN BISAH
-1B35 ; SpacingMark # Mc BALINESE VOWEL SIGN TEDUNG
-1B3B ; SpacingMark # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D..1B41 ; SpacingMark # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43..1B44 ; SpacingMark # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B82 ; SpacingMark # Mc SUNDANESE SIGN PANGWISAD
-1BA1 ; SpacingMark # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA6..1BA7 ; SpacingMark # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BAA ; SpacingMark # Mc SUNDANESE SIGN PAMAAEH
-1C24..1C2B ; SpacingMark # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C34..1C35 ; SpacingMark # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1CE1 ; SpacingMark # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CF2 ; SpacingMark # Mc VEDIC SIGN ARDHAVISARGA
-A823..A824 ; SpacingMark # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A827 ; SpacingMark # Mc SYLOTI NAGRI VOWEL SIGN OO
-A880..A881 ; SpacingMark # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A8B4..A8C3 ; SpacingMark # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A952..A953 ; SpacingMark # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A983 ; SpacingMark # Mc JAVANESE SIGN WIGNYAN
-A9B4..A9B5 ; SpacingMark # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9BA..A9BB ; SpacingMark # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BD..A9C0 ; SpacingMark # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-AA2F..AA30 ; SpacingMark # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA33..AA34 ; SpacingMark # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA4D ; SpacingMark # Mc CHAM CONSONANT SIGN FINAL H
-AA7B ; SpacingMark # Mc MYANMAR SIGN PAO KAREN TONE
-ABE3..ABE4 ; SpacingMark # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE6..ABE7 ; SpacingMark # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE9..ABEA ; SpacingMark # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; SpacingMark # Mc MEETEI MAYEK LUM IYEK
-11082 ; SpacingMark # Mc KAITHI SIGN VISARGA
-110B0..110B2 ; SpacingMark # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B7..110B8 ; SpacingMark # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-1D166 ; SpacingMark # Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D16D ; SpacingMark # Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-
-# Total code points: 257
-
-# ================================================
-
-1100..115F ; L # Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
-A960..A97C ; L # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-
-# Total code points: 125
-
-# ================================================
-
-1160..11A7 ; V # Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
-D7B0..D7C6 ; V # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-
-# Total code points: 95
-
-# ================================================
-
-11A8..11FF ; T # Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
-D7CB..D7FB ; T # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-
-# Total code points: 137
-
-# ================================================
-
-AC00 ; LV # Lo HANGUL SYLLABLE GA
-AC1C ; LV # Lo HANGUL SYLLABLE GAE
-AC38 ; LV # Lo HANGUL SYLLABLE GYA
-AC54 ; LV # Lo HANGUL SYLLABLE GYAE
-AC70 ; LV # Lo HANGUL SYLLABLE GEO
-AC8C ; LV # Lo HANGUL SYLLABLE GE
-ACA8 ; LV # Lo HANGUL SYLLABLE GYEO
-ACC4 ; LV # Lo HANGUL SYLLABLE GYE
-ACE0 ; LV # Lo HANGUL SYLLABLE GO
-ACFC ; LV # Lo HANGUL SYLLABLE GWA
-AD18 ; LV # Lo HANGUL SYLLABLE GWAE
-AD34 ; LV # Lo HANGUL SYLLABLE GOE
-AD50 ; LV # Lo HANGUL SYLLABLE GYO
-AD6C ; LV # Lo HANGUL SYLLABLE GU
-AD88 ; LV # Lo HANGUL SYLLABLE GWEO
-ADA4 ; LV # Lo HANGUL SYLLABLE GWE
-ADC0 ; LV # Lo HANGUL SYLLABLE GWI
-ADDC ; LV # Lo HANGUL SYLLABLE GYU
-ADF8 ; LV # Lo HANGUL SYLLABLE GEU
-AE14 ; LV # Lo HANGUL SYLLABLE GYI
-AE30 ; LV # Lo HANGUL SYLLABLE GI
-AE4C ; LV # Lo HANGUL SYLLABLE GGA
-AE68 ; LV # Lo HANGUL SYLLABLE GGAE
-AE84 ; LV # Lo HANGUL SYLLABLE GGYA
-AEA0 ; LV # Lo HANGUL SYLLABLE GGYAE
-AEBC ; LV # Lo HANGUL SYLLABLE GGEO
-AED8 ; LV # Lo HANGUL SYLLABLE GGE
-AEF4 ; LV # Lo HANGUL SYLLABLE GGYEO
-AF10 ; LV # Lo HANGUL SYLLABLE GGYE
-AF2C ; LV # Lo HANGUL SYLLABLE GGO
-AF48 ; LV # Lo HANGUL SYLLABLE GGWA
-AF64 ; LV # Lo HANGUL SYLLABLE GGWAE
-AF80 ; LV # Lo HANGUL SYLLABLE GGOE
-AF9C ; LV # Lo HANGUL SYLLABLE GGYO
-AFB8 ; LV # Lo HANGUL SYLLABLE GGU
-AFD4 ; LV # Lo HANGUL SYLLABLE GGWEO
-AFF0 ; LV # Lo HANGUL SYLLABLE GGWE
-B00C ; LV # Lo HANGUL SYLLABLE GGWI
-B028 ; LV # Lo HANGUL SYLLABLE GGYU
-B044 ; LV # Lo HANGUL SYLLABLE GGEU
-B060 ; LV # Lo HANGUL SYLLABLE GGYI
-B07C ; LV # Lo HANGUL SYLLABLE GGI
-B098 ; LV # Lo HANGUL SYLLABLE NA
-B0B4 ; LV # Lo HANGUL SYLLABLE NAE
-B0D0 ; LV # Lo HANGUL SYLLABLE NYA
-B0EC ; LV # Lo HANGUL SYLLABLE NYAE
-B108 ; LV # Lo HANGUL SYLLABLE NEO
-B124 ; LV # Lo HANGUL SYLLABLE NE
-B140 ; LV # Lo HANGUL SYLLABLE NYEO
-B15C ; LV # Lo HANGUL SYLLABLE NYE
-B178 ; LV # Lo HANGUL SYLLABLE NO
-B194 ; LV # Lo HANGUL SYLLABLE NWA
-B1B0 ; LV # Lo HANGUL SYLLABLE NWAE
-B1CC ; LV # Lo HANGUL SYLLABLE NOE
-B1E8 ; LV # Lo HANGUL SYLLABLE NYO
-B204 ; LV # Lo HANGUL SYLLABLE NU
-B220 ; LV # Lo HANGUL SYLLABLE NWEO
-B23C ; LV # Lo HANGUL SYLLABLE NWE
-B258 ; LV # Lo HANGUL SYLLABLE NWI
-B274 ; LV # Lo HANGUL SYLLABLE NYU
-B290 ; LV # Lo HANGUL SYLLABLE NEU
-B2AC ; LV # Lo HANGUL SYLLABLE NYI
-B2C8 ; LV # Lo HANGUL SYLLABLE NI
-B2E4 ; LV # Lo HANGUL SYLLABLE DA
-B300 ; LV # Lo HANGUL SYLLABLE DAE
-B31C ; LV # Lo HANGUL SYLLABLE DYA
-B338 ; LV # Lo HANGUL SYLLABLE DYAE
-B354 ; LV # Lo HANGUL SYLLABLE DEO
-B370 ; LV # Lo HANGUL SYLLABLE DE
-B38C ; LV # Lo HANGUL SYLLABLE DYEO
-B3A8 ; LV # Lo HANGUL SYLLABLE DYE
-B3C4 ; LV # Lo HANGUL SYLLABLE DO
-B3E0 ; LV # Lo HANGUL SYLLABLE DWA
-B3FC ; LV # Lo HANGUL SYLLABLE DWAE
-B418 ; LV # Lo HANGUL SYLLABLE DOE
-B434 ; LV # Lo HANGUL SYLLABLE DYO
-B450 ; LV # Lo HANGUL SYLLABLE DU
-B46C ; LV # Lo HANGUL SYLLABLE DWEO
-B488 ; LV # Lo HANGUL SYLLABLE DWE
-B4A4 ; LV # Lo HANGUL SYLLABLE DWI
-B4C0 ; LV # Lo HANGUL SYLLABLE DYU
-B4DC ; LV # Lo HANGUL SYLLABLE DEU
-B4F8 ; LV # Lo HANGUL SYLLABLE DYI
-B514 ; LV # Lo HANGUL SYLLABLE DI
-B530 ; LV # Lo HANGUL SYLLABLE DDA
-B54C ; LV # Lo HANGUL SYLLABLE DDAE
-B568 ; LV # Lo HANGUL SYLLABLE DDYA
-B584 ; LV # Lo HANGUL SYLLABLE DDYAE
-B5A0 ; LV # Lo HANGUL SYLLABLE DDEO
-B5BC ; LV # Lo HANGUL SYLLABLE DDE
-B5D8 ; LV # Lo HANGUL SYLLABLE DDYEO
-B5F4 ; LV # Lo HANGUL SYLLABLE DDYE
-B610 ; LV # Lo HANGUL SYLLABLE DDO
-B62C ; LV # Lo HANGUL SYLLABLE DDWA
-B648 ; LV # Lo HANGUL SYLLABLE DDWAE
-B664 ; LV # Lo HANGUL SYLLABLE DDOE
-B680 ; LV # Lo HANGUL SYLLABLE DDYO
-B69C ; LV # Lo HANGUL SYLLABLE DDU
-B6B8 ; LV # Lo HANGUL SYLLABLE DDWEO
-B6D4 ; LV # Lo HANGUL SYLLABLE DDWE
-B6F0 ; LV # Lo HANGUL SYLLABLE DDWI
-B70C ; LV # Lo HANGUL SYLLABLE DDYU
-B728 ; LV # Lo HANGUL SYLLABLE DDEU
-B744 ; LV # Lo HANGUL SYLLABLE DDYI
-B760 ; LV # Lo HANGUL SYLLABLE DDI
-B77C ; LV # Lo HANGUL SYLLABLE RA
-B798 ; LV # Lo HANGUL SYLLABLE RAE
-B7B4 ; LV # Lo HANGUL SYLLABLE RYA
-B7D0 ; LV # Lo HANGUL SYLLABLE RYAE
-B7EC ; LV # Lo HANGUL SYLLABLE REO
-B808 ; LV # Lo HANGUL SYLLABLE RE
-B824 ; LV # Lo HANGUL SYLLABLE RYEO
-B840 ; LV # Lo HANGUL SYLLABLE RYE
-B85C ; LV # Lo HANGUL SYLLABLE RO
-B878 ; LV # Lo HANGUL SYLLABLE RWA
-B894 ; LV # Lo HANGUL SYLLABLE RWAE
-B8B0 ; LV # Lo HANGUL SYLLABLE ROE
-B8CC ; LV # Lo HANGUL SYLLABLE RYO
-B8E8 ; LV # Lo HANGUL SYLLABLE RU
-B904 ; LV # Lo HANGUL SYLLABLE RWEO
-B920 ; LV # Lo HANGUL SYLLABLE RWE
-B93C ; LV # Lo HANGUL SYLLABLE RWI
-B958 ; LV # Lo HANGUL SYLLABLE RYU
-B974 ; LV # Lo HANGUL SYLLABLE REU
-B990 ; LV # Lo HANGUL SYLLABLE RYI
-B9AC ; LV # Lo HANGUL SYLLABLE RI
-B9C8 ; LV # Lo HANGUL SYLLABLE MA
-B9E4 ; LV # Lo HANGUL SYLLABLE MAE
-BA00 ; LV # Lo HANGUL SYLLABLE MYA
-BA1C ; LV # Lo HANGUL SYLLABLE MYAE
-BA38 ; LV # Lo HANGUL SYLLABLE MEO
-BA54 ; LV # Lo HANGUL SYLLABLE ME
-BA70 ; LV # Lo HANGUL SYLLABLE MYEO
-BA8C ; LV # Lo HANGUL SYLLABLE MYE
-BAA8 ; LV # Lo HANGUL SYLLABLE MO
-BAC4 ; LV # Lo HANGUL SYLLABLE MWA
-BAE0 ; LV # Lo HANGUL SYLLABLE MWAE
-BAFC ; LV # Lo HANGUL SYLLABLE MOE
-BB18 ; LV # Lo HANGUL SYLLABLE MYO
-BB34 ; LV # Lo HANGUL SYLLABLE MU
-BB50 ; LV # Lo HANGUL SYLLABLE MWEO
-BB6C ; LV # Lo HANGUL SYLLABLE MWE
-BB88 ; LV # Lo HANGUL SYLLABLE MWI
-BBA4 ; LV # Lo HANGUL SYLLABLE MYU
-BBC0 ; LV # Lo HANGUL SYLLABLE MEU
-BBDC ; LV # Lo HANGUL SYLLABLE MYI
-BBF8 ; LV # Lo HANGUL SYLLABLE MI
-BC14 ; LV # Lo HANGUL SYLLABLE BA
-BC30 ; LV # Lo HANGUL SYLLABLE BAE
-BC4C ; LV # Lo HANGUL SYLLABLE BYA
-BC68 ; LV # Lo HANGUL SYLLABLE BYAE
-BC84 ; LV # Lo HANGUL SYLLABLE BEO
-BCA0 ; LV # Lo HANGUL SYLLABLE BE
-BCBC ; LV # Lo HANGUL SYLLABLE BYEO
-BCD8 ; LV # Lo HANGUL SYLLABLE BYE
-BCF4 ; LV # Lo HANGUL SYLLABLE BO
-BD10 ; LV # Lo HANGUL SYLLABLE BWA
-BD2C ; LV # Lo HANGUL SYLLABLE BWAE
-BD48 ; LV # Lo HANGUL SYLLABLE BOE
-BD64 ; LV # Lo HANGUL SYLLABLE BYO
-BD80 ; LV # Lo HANGUL SYLLABLE BU
-BD9C ; LV # Lo HANGUL SYLLABLE BWEO
-BDB8 ; LV # Lo HANGUL SYLLABLE BWE
-BDD4 ; LV # Lo HANGUL SYLLABLE BWI
-BDF0 ; LV # Lo HANGUL SYLLABLE BYU
-BE0C ; LV # Lo HANGUL SYLLABLE BEU
-BE28 ; LV # Lo HANGUL SYLLABLE BYI
-BE44 ; LV # Lo HANGUL SYLLABLE BI
-BE60 ; LV # Lo HANGUL SYLLABLE BBA
-BE7C ; LV # Lo HANGUL SYLLABLE BBAE
-BE98 ; LV # Lo HANGUL SYLLABLE BBYA
-BEB4 ; LV # Lo HANGUL SYLLABLE BBYAE
-BED0 ; LV # Lo HANGUL SYLLABLE BBEO
-BEEC ; LV # Lo HANGUL SYLLABLE BBE
-BF08 ; LV # Lo HANGUL SYLLABLE BBYEO
-BF24 ; LV # Lo HANGUL SYLLABLE BBYE
-BF40 ; LV # Lo HANGUL SYLLABLE BBO
-BF5C ; LV # Lo HANGUL SYLLABLE BBWA
-BF78 ; LV # Lo HANGUL SYLLABLE BBWAE
-BF94 ; LV # Lo HANGUL SYLLABLE BBOE
-BFB0 ; LV # Lo HANGUL SYLLABLE BBYO
-BFCC ; LV # Lo HANGUL SYLLABLE BBU
-BFE8 ; LV # Lo HANGUL SYLLABLE BBWEO
-C004 ; LV # Lo HANGUL SYLLABLE BBWE
-C020 ; LV # Lo HANGUL SYLLABLE BBWI
-C03C ; LV # Lo HANGUL SYLLABLE BBYU
-C058 ; LV # Lo HANGUL SYLLABLE BBEU
-C074 ; LV # Lo HANGUL SYLLABLE BBYI
-C090 ; LV # Lo HANGUL SYLLABLE BBI
-C0AC ; LV # Lo HANGUL SYLLABLE SA
-C0C8 ; LV # Lo HANGUL SYLLABLE SAE
-C0E4 ; LV # Lo HANGUL SYLLABLE SYA
-C100 ; LV # Lo HANGUL SYLLABLE SYAE
-C11C ; LV # Lo HANGUL SYLLABLE SEO
-C138 ; LV # Lo HANGUL SYLLABLE SE
-C154 ; LV # Lo HANGUL SYLLABLE SYEO
-C170 ; LV # Lo HANGUL SYLLABLE SYE
-C18C ; LV # Lo HANGUL SYLLABLE SO
-C1A8 ; LV # Lo HANGUL SYLLABLE SWA
-C1C4 ; LV # Lo HANGUL SYLLABLE SWAE
-C1E0 ; LV # Lo HANGUL SYLLABLE SOE
-C1FC ; LV # Lo HANGUL SYLLABLE SYO
-C218 ; LV # Lo HANGUL SYLLABLE SU
-C234 ; LV # Lo HANGUL SYLLABLE SWEO
-C250 ; LV # Lo HANGUL SYLLABLE SWE
-C26C ; LV # Lo HANGUL SYLLABLE SWI
-C288 ; LV # Lo HANGUL SYLLABLE SYU
-C2A4 ; LV # Lo HANGUL SYLLABLE SEU
-C2C0 ; LV # Lo HANGUL SYLLABLE SYI
-C2DC ; LV # Lo HANGUL SYLLABLE SI
-C2F8 ; LV # Lo HANGUL SYLLABLE SSA
-C314 ; LV # Lo HANGUL SYLLABLE SSAE
-C330 ; LV # Lo HANGUL SYLLABLE SSYA
-C34C ; LV # Lo HANGUL SYLLABLE SSYAE
-C368 ; LV # Lo HANGUL SYLLABLE SSEO
-C384 ; LV # Lo HANGUL SYLLABLE SSE
-C3A0 ; LV # Lo HANGUL SYLLABLE SSYEO
-C3BC ; LV # Lo HANGUL SYLLABLE SSYE
-C3D8 ; LV # Lo HANGUL SYLLABLE SSO
-C3F4 ; LV # Lo HANGUL SYLLABLE SSWA
-C410 ; LV # Lo HANGUL SYLLABLE SSWAE
-C42C ; LV # Lo HANGUL SYLLABLE SSOE
-C448 ; LV # Lo HANGUL SYLLABLE SSYO
-C464 ; LV # Lo HANGUL SYLLABLE SSU
-C480 ; LV # Lo HANGUL SYLLABLE SSWEO
-C49C ; LV # Lo HANGUL SYLLABLE SSWE
-C4B8 ; LV # Lo HANGUL SYLLABLE SSWI
-C4D4 ; LV # Lo HANGUL SYLLABLE SSYU
-C4F0 ; LV # Lo HANGUL SYLLABLE SSEU
-C50C ; LV # Lo HANGUL SYLLABLE SSYI
-C528 ; LV # Lo HANGUL SYLLABLE SSI
-C544 ; LV # Lo HANGUL SYLLABLE A
-C560 ; LV # Lo HANGUL SYLLABLE AE
-C57C ; LV # Lo HANGUL SYLLABLE YA
-C598 ; LV # Lo HANGUL SYLLABLE YAE
-C5B4 ; LV # Lo HANGUL SYLLABLE EO
-C5D0 ; LV # Lo HANGUL SYLLABLE E
-C5EC ; LV # Lo HANGUL SYLLABLE YEO
-C608 ; LV # Lo HANGUL SYLLABLE YE
-C624 ; LV # Lo HANGUL SYLLABLE O
-C640 ; LV # Lo HANGUL SYLLABLE WA
-C65C ; LV # Lo HANGUL SYLLABLE WAE
-C678 ; LV # Lo HANGUL SYLLABLE OE
-C694 ; LV # Lo HANGUL SYLLABLE YO
-C6B0 ; LV # Lo HANGUL SYLLABLE U
-C6CC ; LV # Lo HANGUL SYLLABLE WEO
-C6E8 ; LV # Lo HANGUL SYLLABLE WE
-C704 ; LV # Lo HANGUL SYLLABLE WI
-C720 ; LV # Lo HANGUL SYLLABLE YU
-C73C ; LV # Lo HANGUL SYLLABLE EU
-C758 ; LV # Lo HANGUL SYLLABLE YI
-C774 ; LV # Lo HANGUL SYLLABLE I
-C790 ; LV # Lo HANGUL SYLLABLE JA
-C7AC ; LV # Lo HANGUL SYLLABLE JAE
-C7C8 ; LV # Lo HANGUL SYLLABLE JYA
-C7E4 ; LV # Lo HANGUL SYLLABLE JYAE
-C800 ; LV # Lo HANGUL SYLLABLE JEO
-C81C ; LV # Lo HANGUL SYLLABLE JE
-C838 ; LV # Lo HANGUL SYLLABLE JYEO
-C854 ; LV # Lo HANGUL SYLLABLE JYE
-C870 ; LV # Lo HANGUL SYLLABLE JO
-C88C ; LV # Lo HANGUL SYLLABLE JWA
-C8A8 ; LV # Lo HANGUL SYLLABLE JWAE
-C8C4 ; LV # Lo HANGUL SYLLABLE JOE
-C8E0 ; LV # Lo HANGUL SYLLABLE JYO
-C8FC ; LV # Lo HANGUL SYLLABLE JU
-C918 ; LV # Lo HANGUL SYLLABLE JWEO
-C934 ; LV # Lo HANGUL SYLLABLE JWE
-C950 ; LV # Lo HANGUL SYLLABLE JWI
-C96C ; LV # Lo HANGUL SYLLABLE JYU
-C988 ; LV # Lo HANGUL SYLLABLE JEU
-C9A4 ; LV # Lo HANGUL SYLLABLE JYI
-C9C0 ; LV # Lo HANGUL SYLLABLE JI
-C9DC ; LV # Lo HANGUL SYLLABLE JJA
-C9F8 ; LV # Lo HANGUL SYLLABLE JJAE
-CA14 ; LV # Lo HANGUL SYLLABLE JJYA
-CA30 ; LV # Lo HANGUL SYLLABLE JJYAE
-CA4C ; LV # Lo HANGUL SYLLABLE JJEO
-CA68 ; LV # Lo HANGUL SYLLABLE JJE
-CA84 ; LV # Lo HANGUL SYLLABLE JJYEO
-CAA0 ; LV # Lo HANGUL SYLLABLE JJYE
-CABC ; LV # Lo HANGUL SYLLABLE JJO
-CAD8 ; LV # Lo HANGUL SYLLABLE JJWA
-CAF4 ; LV # Lo HANGUL SYLLABLE JJWAE
-CB10 ; LV # Lo HANGUL SYLLABLE JJOE
-CB2C ; LV # Lo HANGUL SYLLABLE JJYO
-CB48 ; LV # Lo HANGUL SYLLABLE JJU
-CB64 ; LV # Lo HANGUL SYLLABLE JJWEO
-CB80 ; LV # Lo HANGUL SYLLABLE JJWE
-CB9C ; LV # Lo HANGUL SYLLABLE JJWI
-CBB8 ; LV # Lo HANGUL SYLLABLE JJYU
-CBD4 ; LV # Lo HANGUL SYLLABLE JJEU
-CBF0 ; LV # Lo HANGUL SYLLABLE JJYI
-CC0C ; LV # Lo HANGUL SYLLABLE JJI
-CC28 ; LV # Lo HANGUL SYLLABLE CA
-CC44 ; LV # Lo HANGUL SYLLABLE CAE
-CC60 ; LV # Lo HANGUL SYLLABLE CYA
-CC7C ; LV # Lo HANGUL SYLLABLE CYAE
-CC98 ; LV # Lo HANGUL SYLLABLE CEO
-CCB4 ; LV # Lo HANGUL SYLLABLE CE
-CCD0 ; LV # Lo HANGUL SYLLABLE CYEO
-CCEC ; LV # Lo HANGUL SYLLABLE CYE
-CD08 ; LV # Lo HANGUL SYLLABLE CO
-CD24 ; LV # Lo HANGUL SYLLABLE CWA
-CD40 ; LV # Lo HANGUL SYLLABLE CWAE
-CD5C ; LV # Lo HANGUL SYLLABLE COE
-CD78 ; LV # Lo HANGUL SYLLABLE CYO
-CD94 ; LV # Lo HANGUL SYLLABLE CU
-CDB0 ; LV # Lo HANGUL SYLLABLE CWEO
-CDCC ; LV # Lo HANGUL SYLLABLE CWE
-CDE8 ; LV # Lo HANGUL SYLLABLE CWI
-CE04 ; LV # Lo HANGUL SYLLABLE CYU
-CE20 ; LV # Lo HANGUL SYLLABLE CEU
-CE3C ; LV # Lo HANGUL SYLLABLE CYI
-CE58 ; LV # Lo HANGUL SYLLABLE CI
-CE74 ; LV # Lo HANGUL SYLLABLE KA
-CE90 ; LV # Lo HANGUL SYLLABLE KAE
-CEAC ; LV # Lo HANGUL SYLLABLE KYA
-CEC8 ; LV # Lo HANGUL SYLLABLE KYAE
-CEE4 ; LV # Lo HANGUL SYLLABLE KEO
-CF00 ; LV # Lo HANGUL SYLLABLE KE
-CF1C ; LV # Lo HANGUL SYLLABLE KYEO
-CF38 ; LV # Lo HANGUL SYLLABLE KYE
-CF54 ; LV # Lo HANGUL SYLLABLE KO
-CF70 ; LV # Lo HANGUL SYLLABLE KWA
-CF8C ; LV # Lo HANGUL SYLLABLE KWAE
-CFA8 ; LV # Lo HANGUL SYLLABLE KOE
-CFC4 ; LV # Lo HANGUL SYLLABLE KYO
-CFE0 ; LV # Lo HANGUL SYLLABLE KU
-CFFC ; LV # Lo HANGUL SYLLABLE KWEO
-D018 ; LV # Lo HANGUL SYLLABLE KWE
-D034 ; LV # Lo HANGUL SYLLABLE KWI
-D050 ; LV # Lo HANGUL SYLLABLE KYU
-D06C ; LV # Lo HANGUL SYLLABLE KEU
-D088 ; LV # Lo HANGUL SYLLABLE KYI
-D0A4 ; LV # Lo HANGUL SYLLABLE KI
-D0C0 ; LV # Lo HANGUL SYLLABLE TA
-D0DC ; LV # Lo HANGUL SYLLABLE TAE
-D0F8 ; LV # Lo HANGUL SYLLABLE TYA
-D114 ; LV # Lo HANGUL SYLLABLE TYAE
-D130 ; LV # Lo HANGUL SYLLABLE TEO
-D14C ; LV # Lo HANGUL SYLLABLE TE
-D168 ; LV # Lo HANGUL SYLLABLE TYEO
-D184 ; LV # Lo HANGUL SYLLABLE TYE
-D1A0 ; LV # Lo HANGUL SYLLABLE TO
-D1BC ; LV # Lo HANGUL SYLLABLE TWA
-D1D8 ; LV # Lo HANGUL SYLLABLE TWAE
-D1F4 ; LV # Lo HANGUL SYLLABLE TOE
-D210 ; LV # Lo HANGUL SYLLABLE TYO
-D22C ; LV # Lo HANGUL SYLLABLE TU
-D248 ; LV # Lo HANGUL SYLLABLE TWEO
-D264 ; LV # Lo HANGUL SYLLABLE TWE
-D280 ; LV # Lo HANGUL SYLLABLE TWI
-D29C ; LV # Lo HANGUL SYLLABLE TYU
-D2B8 ; LV # Lo HANGUL SYLLABLE TEU
-D2D4 ; LV # Lo HANGUL SYLLABLE TYI
-D2F0 ; LV # Lo HANGUL SYLLABLE TI
-D30C ; LV # Lo HANGUL SYLLABLE PA
-D328 ; LV # Lo HANGUL SYLLABLE PAE
-D344 ; LV # Lo HANGUL SYLLABLE PYA
-D360 ; LV # Lo HANGUL SYLLABLE PYAE
-D37C ; LV # Lo HANGUL SYLLABLE PEO
-D398 ; LV # Lo HANGUL SYLLABLE PE
-D3B4 ; LV # Lo HANGUL SYLLABLE PYEO
-D3D0 ; LV # Lo HANGUL SYLLABLE PYE
-D3EC ; LV # Lo HANGUL SYLLABLE PO
-D408 ; LV # Lo HANGUL SYLLABLE PWA
-D424 ; LV # Lo HANGUL SYLLABLE PWAE
-D440 ; LV # Lo HANGUL SYLLABLE POE
-D45C ; LV # Lo HANGUL SYLLABLE PYO
-D478 ; LV # Lo HANGUL SYLLABLE PU
-D494 ; LV # Lo HANGUL SYLLABLE PWEO
-D4B0 ; LV # Lo HANGUL SYLLABLE PWE
-D4CC ; LV # Lo HANGUL SYLLABLE PWI
-D4E8 ; LV # Lo HANGUL SYLLABLE PYU
-D504 ; LV # Lo HANGUL SYLLABLE PEU
-D520 ; LV # Lo HANGUL SYLLABLE PYI
-D53C ; LV # Lo HANGUL SYLLABLE PI
-D558 ; LV # Lo HANGUL SYLLABLE HA
-D574 ; LV # Lo HANGUL SYLLABLE HAE
-D590 ; LV # Lo HANGUL SYLLABLE HYA
-D5AC ; LV # Lo HANGUL SYLLABLE HYAE
-D5C8 ; LV # Lo HANGUL SYLLABLE HEO
-D5E4 ; LV # Lo HANGUL SYLLABLE HE
-D600 ; LV # Lo HANGUL SYLLABLE HYEO
-D61C ; LV # Lo HANGUL SYLLABLE HYE
-D638 ; LV # Lo HANGUL SYLLABLE HO
-D654 ; LV # Lo HANGUL SYLLABLE HWA
-D670 ; LV # Lo HANGUL SYLLABLE HWAE
-D68C ; LV # Lo HANGUL SYLLABLE HOE
-D6A8 ; LV # Lo HANGUL SYLLABLE HYO
-D6C4 ; LV # Lo HANGUL SYLLABLE HU
-D6E0 ; LV # Lo HANGUL SYLLABLE HWEO
-D6FC ; LV # Lo HANGUL SYLLABLE HWE
-D718 ; LV # Lo HANGUL SYLLABLE HWI
-D734 ; LV # Lo HANGUL SYLLABLE HYU
-D750 ; LV # Lo HANGUL SYLLABLE HEU
-D76C ; LV # Lo HANGUL SYLLABLE HYI
-D788 ; LV # Lo HANGUL SYLLABLE HI
-
-# Total code points: 399
-
-# ================================================
-
-AC01..AC1B ; LVT # Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
-AC1D..AC37 ; LVT # Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
-AC39..AC53 ; LVT # Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
-AC55..AC6F ; LVT # Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
-AC71..AC8B ; LVT # Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
-AC8D..ACA7 ; LVT # Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
-ACA9..ACC3 ; LVT # Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
-ACC5..ACDF ; LVT # Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
-ACE1..ACFB ; LVT # Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
-ACFD..AD17 ; LVT # Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
-AD19..AD33 ; LVT # Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
-AD35..AD4F ; LVT # Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
-AD51..AD6B ; LVT # Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
-AD6D..AD87 ; LVT # Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
-AD89..ADA3 ; LVT # Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
-ADA5..ADBF ; LVT # Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
-ADC1..ADDB ; LVT # Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
-ADDD..ADF7 ; LVT # Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
-ADF9..AE13 ; LVT # Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
-AE15..AE2F ; LVT # Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
-AE31..AE4B ; LVT # Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
-AE4D..AE67 ; LVT # Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
-AE69..AE83 ; LVT # Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
-AE85..AE9F ; LVT # Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
-AEA1..AEBB ; LVT # Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
-AEBD..AED7 ; LVT # Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
-AED9..AEF3 ; LVT # Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
-AEF5..AF0F ; LVT # Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
-AF11..AF2B ; LVT # Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
-AF2D..AF47 ; LVT # Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
-AF49..AF63 ; LVT # Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
-AF65..AF7F ; LVT # Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
-AF81..AF9B ; LVT # Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
-AF9D..AFB7 ; LVT # Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
-AFB9..AFD3 ; LVT # Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
-AFD5..AFEF ; LVT # Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
-AFF1..B00B ; LVT # Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
-B00D..B027 ; LVT # Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
-B029..B043 ; LVT # Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
-B045..B05F ; LVT # Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
-B061..B07B ; LVT # Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
-B07D..B097 ; LVT # Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
-B099..B0B3 ; LVT # Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
-B0B5..B0CF ; LVT # Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
-B0D1..B0EB ; LVT # Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
-B0ED..B107 ; LVT # Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
-B109..B123 ; LVT # Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
-B125..B13F ; LVT # Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
-B141..B15B ; LVT # Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
-B15D..B177 ; LVT # Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
-B179..B193 ; LVT # Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
-B195..B1AF ; LVT # Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
-B1B1..B1CB ; LVT # Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
-B1CD..B1E7 ; LVT # Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
-B1E9..B203 ; LVT # Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
-B205..B21F ; LVT # Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
-B221..B23B ; LVT # Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
-B23D..B257 ; LVT # Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
-B259..B273 ; LVT # Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
-B275..B28F ; LVT # Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
-B291..B2AB ; LVT # Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
-B2AD..B2C7 ; LVT # Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
-B2C9..B2E3 ; LVT # Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
-B2E5..B2FF ; LVT # Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
-B301..B31B ; LVT # Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
-B31D..B337 ; LVT # Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
-B339..B353 ; LVT # Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
-B355..B36F ; LVT # Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
-B371..B38B ; LVT # Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
-B38D..B3A7 ; LVT # Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
-B3A9..B3C3 ; LVT # Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
-B3C5..B3DF ; LVT # Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
-B3E1..B3FB ; LVT # Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
-B3FD..B417 ; LVT # Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
-B419..B433 ; LVT # Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
-B435..B44F ; LVT # Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
-B451..B46B ; LVT # Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
-B46D..B487 ; LVT # Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
-B489..B4A3 ; LVT # Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
-B4A5..B4BF ; LVT # Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
-B4C1..B4DB ; LVT # Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
-B4DD..B4F7 ; LVT # Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
-B4F9..B513 ; LVT # Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
-B515..B52F ; LVT # Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
-B531..B54B ; LVT # Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
-B54D..B567 ; LVT # Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
-B569..B583 ; LVT # Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
-B585..B59F ; LVT # Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
-B5A1..B5BB ; LVT # Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
-B5BD..B5D7 ; LVT # Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
-B5D9..B5F3 ; LVT # Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
-B5F5..B60F ; LVT # Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
-B611..B62B ; LVT # Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
-B62D..B647 ; LVT # Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
-B649..B663 ; LVT # Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
-B665..B67F ; LVT # Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
-B681..B69B ; LVT # Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
-B69D..B6B7 ; LVT # Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
-B6B9..B6D3 ; LVT # Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
-B6D5..B6EF ; LVT # Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
-B6F1..B70B ; LVT # Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
-B70D..B727 ; LVT # Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
-B729..B743 ; LVT # Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
-B745..B75F ; LVT # Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
-B761..B77B ; LVT # Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
-B77D..B797 ; LVT # Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
-B799..B7B3 ; LVT # Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
-B7B5..B7CF ; LVT # Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
-B7D1..B7EB ; LVT # Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
-B7ED..B807 ; LVT # Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
-B809..B823 ; LVT # Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
-B825..B83F ; LVT # Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
-B841..B85B ; LVT # Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
-B85D..B877 ; LVT # Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
-B879..B893 ; LVT # Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
-B895..B8AF ; LVT # Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
-B8B1..B8CB ; LVT # Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
-B8CD..B8E7 ; LVT # Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
-B8E9..B903 ; LVT # Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
-B905..B91F ; LVT # Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
-B921..B93B ; LVT # Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
-B93D..B957 ; LVT # Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
-B959..B973 ; LVT # Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
-B975..B98F ; LVT # Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
-B991..B9AB ; LVT # Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
-B9AD..B9C7 ; LVT # Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
-B9C9..B9E3 ; LVT # Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
-B9E5..B9FF ; LVT # Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
-BA01..BA1B ; LVT # Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
-BA1D..BA37 ; LVT # Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
-BA39..BA53 ; LVT # Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
-BA55..BA6F ; LVT # Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
-BA71..BA8B ; LVT # Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
-BA8D..BAA7 ; LVT # Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
-BAA9..BAC3 ; LVT # Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
-BAC5..BADF ; LVT # Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
-BAE1..BAFB ; LVT # Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
-BAFD..BB17 ; LVT # Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
-BB19..BB33 ; LVT # Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
-BB35..BB4F ; LVT # Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
-BB51..BB6B ; LVT # Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
-BB6D..BB87 ; LVT # Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
-BB89..BBA3 ; LVT # Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
-BBA5..BBBF ; LVT # Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
-BBC1..BBDB ; LVT # Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
-BBDD..BBF7 ; LVT # Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
-BBF9..BC13 ; LVT # Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
-BC15..BC2F ; LVT # Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
-BC31..BC4B ; LVT # Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
-BC4D..BC67 ; LVT # Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
-BC69..BC83 ; LVT # Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
-BC85..BC9F ; LVT # Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
-BCA1..BCBB ; LVT # Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
-BCBD..BCD7 ; LVT # Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
-BCD9..BCF3 ; LVT # Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
-BCF5..BD0F ; LVT # Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
-BD11..BD2B ; LVT # Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
-BD2D..BD47 ; LVT # Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
-BD49..BD63 ; LVT # Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
-BD65..BD7F ; LVT # Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
-BD81..BD9B ; LVT # Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
-BD9D..BDB7 ; LVT # Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
-BDB9..BDD3 ; LVT # Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
-BDD5..BDEF ; LVT # Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
-BDF1..BE0B ; LVT # Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
-BE0D..BE27 ; LVT # Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
-BE29..BE43 ; LVT # Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
-BE45..BE5F ; LVT # Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
-BE61..BE7B ; LVT # Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
-BE7D..BE97 ; LVT # Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
-BE99..BEB3 ; LVT # Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
-BEB5..BECF ; LVT # Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
-BED1..BEEB ; LVT # Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
-BEED..BF07 ; LVT # Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
-BF09..BF23 ; LVT # Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
-BF25..BF3F ; LVT # Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
-BF41..BF5B ; LVT # Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
-BF5D..BF77 ; LVT # Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
-BF79..BF93 ; LVT # Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
-BF95..BFAF ; LVT # Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
-BFB1..BFCB ; LVT # Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
-BFCD..BFE7 ; LVT # Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
-BFE9..C003 ; LVT # Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
-C005..C01F ; LVT # Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
-C021..C03B ; LVT # Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
-C03D..C057 ; LVT # Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
-C059..C073 ; LVT # Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
-C075..C08F ; LVT # Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
-C091..C0AB ; LVT # Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
-C0AD..C0C7 ; LVT # Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
-C0C9..C0E3 ; LVT # Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
-C0E5..C0FF ; LVT # Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
-C101..C11B ; LVT # Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
-C11D..C137 ; LVT # Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
-C139..C153 ; LVT # Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
-C155..C16F ; LVT # Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
-C171..C18B ; LVT # Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
-C18D..C1A7 ; LVT # Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
-C1A9..C1C3 ; LVT # Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
-C1C5..C1DF ; LVT # Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
-C1E1..C1FB ; LVT # Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
-C1FD..C217 ; LVT # Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
-C219..C233 ; LVT # Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
-C235..C24F ; LVT # Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
-C251..C26B ; LVT # Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
-C26D..C287 ; LVT # Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
-C289..C2A3 ; LVT # Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
-C2A5..C2BF ; LVT # Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
-C2C1..C2DB ; LVT # Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
-C2DD..C2F7 ; LVT # Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
-C2F9..C313 ; LVT # Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
-C315..C32F ; LVT # Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
-C331..C34B ; LVT # Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
-C34D..C367 ; LVT # Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
-C369..C383 ; LVT # Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
-C385..C39F ; LVT # Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
-C3A1..C3BB ; LVT # Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
-C3BD..C3D7 ; LVT # Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
-C3D9..C3F3 ; LVT # Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
-C3F5..C40F ; LVT # Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
-C411..C42B ; LVT # Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
-C42D..C447 ; LVT # Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
-C449..C463 ; LVT # Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
-C465..C47F ; LVT # Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
-C481..C49B ; LVT # Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
-C49D..C4B7 ; LVT # Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
-C4B9..C4D3 ; LVT # Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
-C4D5..C4EF ; LVT # Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
-C4F1..C50B ; LVT # Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
-C50D..C527 ; LVT # Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
-C529..C543 ; LVT # Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
-C545..C55F ; LVT # Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
-C561..C57B ; LVT # Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
-C57D..C597 ; LVT # Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
-C599..C5B3 ; LVT # Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
-C5B5..C5CF ; LVT # Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
-C5D1..C5EB ; LVT # Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
-C5ED..C607 ; LVT # Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
-C609..C623 ; LVT # Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
-C625..C63F ; LVT # Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
-C641..C65B ; LVT # Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
-C65D..C677 ; LVT # Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
-C679..C693 ; LVT # Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
-C695..C6AF ; LVT # Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
-C6B1..C6CB ; LVT # Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
-C6CD..C6E7 ; LVT # Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
-C6E9..C703 ; LVT # Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
-C705..C71F ; LVT # Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
-C721..C73B ; LVT # Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
-C73D..C757 ; LVT # Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
-C759..C773 ; LVT # Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
-C775..C78F ; LVT # Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
-C791..C7AB ; LVT # Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
-C7AD..C7C7 ; LVT # Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
-C7C9..C7E3 ; LVT # Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
-C7E5..C7FF ; LVT # Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
-C801..C81B ; LVT # Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
-C81D..C837 ; LVT # Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
-C839..C853 ; LVT # Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
-C855..C86F ; LVT # Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
-C871..C88B ; LVT # Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
-C88D..C8A7 ; LVT # Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
-C8A9..C8C3 ; LVT # Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
-C8C5..C8DF ; LVT # Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
-C8E1..C8FB ; LVT # Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
-C8FD..C917 ; LVT # Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
-C919..C933 ; LVT # Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
-C935..C94F ; LVT # Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
-C951..C96B ; LVT # Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
-C96D..C987 ; LVT # Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
-C989..C9A3 ; LVT # Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
-C9A5..C9BF ; LVT # Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
-C9C1..C9DB ; LVT # Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
-C9DD..C9F7 ; LVT # Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
-C9F9..CA13 ; LVT # Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
-CA15..CA2F ; LVT # Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
-CA31..CA4B ; LVT # Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
-CA4D..CA67 ; LVT # Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
-CA69..CA83 ; LVT # Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
-CA85..CA9F ; LVT # Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
-CAA1..CABB ; LVT # Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
-CABD..CAD7 ; LVT # Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
-CAD9..CAF3 ; LVT # Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
-CAF5..CB0F ; LVT # Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
-CB11..CB2B ; LVT # Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
-CB2D..CB47 ; LVT # Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
-CB49..CB63 ; LVT # Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
-CB65..CB7F ; LVT # Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
-CB81..CB9B ; LVT # Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
-CB9D..CBB7 ; LVT # Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
-CBB9..CBD3 ; LVT # Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
-CBD5..CBEF ; LVT # Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
-CBF1..CC0B ; LVT # Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
-CC0D..CC27 ; LVT # Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
-CC29..CC43 ; LVT # Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
-CC45..CC5F ; LVT # Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
-CC61..CC7B ; LVT # Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
-CC7D..CC97 ; LVT # Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
-CC99..CCB3 ; LVT # Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
-CCB5..CCCF ; LVT # Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
-CCD1..CCEB ; LVT # Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
-CCED..CD07 ; LVT # Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
-CD09..CD23 ; LVT # Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
-CD25..CD3F ; LVT # Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
-CD41..CD5B ; LVT # Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
-CD5D..CD77 ; LVT # Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
-CD79..CD93 ; LVT # Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
-CD95..CDAF ; LVT # Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
-CDB1..CDCB ; LVT # Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
-CDCD..CDE7 ; LVT # Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
-CDE9..CE03 ; LVT # Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
-CE05..CE1F ; LVT # Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
-CE21..CE3B ; LVT # Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
-CE3D..CE57 ; LVT # Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
-CE59..CE73 ; LVT # Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
-CE75..CE8F ; LVT # Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
-CE91..CEAB ; LVT # Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
-CEAD..CEC7 ; LVT # Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
-CEC9..CEE3 ; LVT # Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
-CEE5..CEFF ; LVT # Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
-CF01..CF1B ; LVT # Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
-CF1D..CF37 ; LVT # Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
-CF39..CF53 ; LVT # Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
-CF55..CF6F ; LVT # Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
-CF71..CF8B ; LVT # Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
-CF8D..CFA7 ; LVT # Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
-CFA9..CFC3 ; LVT # Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
-CFC5..CFDF ; LVT # Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
-CFE1..CFFB ; LVT # Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
-CFFD..D017 ; LVT # Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
-D019..D033 ; LVT # Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
-D035..D04F ; LVT # Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
-D051..D06B ; LVT # Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
-D06D..D087 ; LVT # Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
-D089..D0A3 ; LVT # Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
-D0A5..D0BF ; LVT # Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
-D0C1..D0DB ; LVT # Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
-D0DD..D0F7 ; LVT # Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
-D0F9..D113 ; LVT # Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
-D115..D12F ; LVT # Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
-D131..D14B ; LVT # Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
-D14D..D167 ; LVT # Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
-D169..D183 ; LVT # Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
-D185..D19F ; LVT # Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
-D1A1..D1BB ; LVT # Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
-D1BD..D1D7 ; LVT # Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
-D1D9..D1F3 ; LVT # Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
-D1F5..D20F ; LVT # Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
-D211..D22B ; LVT # Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
-D22D..D247 ; LVT # Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
-D249..D263 ; LVT # Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
-D265..D27F ; LVT # Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
-D281..D29B ; LVT # Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
-D29D..D2B7 ; LVT # Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
-D2B9..D2D3 ; LVT # Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
-D2D5..D2EF ; LVT # Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
-D2F1..D30B ; LVT # Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
-D30D..D327 ; LVT # Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
-D329..D343 ; LVT # Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
-D345..D35F ; LVT # Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
-D361..D37B ; LVT # Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
-D37D..D397 ; LVT # Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
-D399..D3B3 ; LVT # Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
-D3B5..D3CF ; LVT # Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
-D3D1..D3EB ; LVT # Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
-D3ED..D407 ; LVT # Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
-D409..D423 ; LVT # Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
-D425..D43F ; LVT # Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
-D441..D45B ; LVT # Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
-D45D..D477 ; LVT # Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
-D479..D493 ; LVT # Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
-D495..D4AF ; LVT # Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
-D4B1..D4CB ; LVT # Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
-D4CD..D4E7 ; LVT # Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
-D4E9..D503 ; LVT # Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
-D505..D51F ; LVT # Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
-D521..D53B ; LVT # Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
-D53D..D557 ; LVT # Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
-D559..D573 ; LVT # Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
-D575..D58F ; LVT # Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
-D591..D5AB ; LVT # Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
-D5AD..D5C7 ; LVT # Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
-D5C9..D5E3 ; LVT # Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
-D5E5..D5FF ; LVT # Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
-D601..D61B ; LVT # Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
-D61D..D637 ; LVT # Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
-D639..D653 ; LVT # Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
-D655..D66F ; LVT # Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
-D671..D68B ; LVT # Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
-D68D..D6A7 ; LVT # Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
-D6A9..D6C3 ; LVT # Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
-D6C5..D6DF ; LVT # Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
-D6E1..D6FB ; LVT # Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
-D6FD..D717 ; LVT # Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
-D719..D733 ; LVT # Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
-D735..D74F ; LVT # Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
-D751..D76B ; LVT # Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
-D76D..D787 ; LVT # Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
-D789..D7A3 ; LVT # Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
-
-# Total code points: 10773
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/auxiliary/SentenceBreakProperty.txt b/Master/tlpkg/tlperl/lib/unicore/auxiliary/SentenceBreakProperty.txt
deleted file mode 100644
index 50e830c549f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/auxiliary/SentenceBreakProperty.txt
+++ /dev/null
@@ -1,2271 +0,0 @@
-# SentenceBreakProperty-5.2.0.txt
-# Date: 2009-08-22, 04:58:44 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: Sentence_Break
-
-# All code points not explicitly listed for Sentence_Break
-# have the value Other (XX).
-
-# @missing: 0000..10FFFF; Other
-
-# ================================================
-
-000D ; CR # Cc <control-000D>
-
-# Total code points: 1
-
-# ================================================
-
-000A ; LF # Cc <control-000A>
-
-# Total code points: 1
-
-# ================================================
-
-0300..036F ; Extend # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; Extend # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; Extend # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; Extend # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; Extend # Mn HEBREW POINT RAFE
-05C1..05C2 ; Extend # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Extend # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Extend # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; Extend # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; Extend # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; Extend # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Extend # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; Extend # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; Extend # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; Extend # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; Extend # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; Extend # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; Extend # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Extend # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Extend # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; Extend # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; Extend # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; Extend # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; Extend # Mc DEVANAGARI SIGN VISARGA
-093C ; Extend # Mn DEVANAGARI SIGN NUKTA
-093E..0940 ; Extend # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; Extend # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; Extend # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; Extend # Mn DEVANAGARI SIGN VIRAMA
-094E ; Extend # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0951..0955 ; Extend # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Extend # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; Extend # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; Extend # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-09BC ; Extend # Mn BENGALI SIGN NUKTA
-09BE..09C0 ; Extend # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; Extend # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; Extend # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Extend # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; Extend # Mn BENGALI SIGN VIRAMA
-09D7 ; Extend # Mc BENGALI AU LENGTH MARK
-09E2..09E3 ; Extend # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Extend # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; Extend # Mc GURMUKHI SIGN VISARGA
-0A3C ; Extend # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; Extend # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; Extend # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Extend # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Extend # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Extend # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; Extend # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Extend # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Extend # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; Extend # Mc GUJARATI SIGN VISARGA
-0ABC ; Extend # Mn GUJARATI SIGN NUKTA
-0ABE..0AC0 ; Extend # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; Extend # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Extend # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; Extend # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Extend # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; Extend # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; Extend # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Extend # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; Extend # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B3C ; Extend # Mn ORIYA SIGN NUKTA
-0B3E ; Extend # Mc ORIYA VOWEL SIGN AA
-0B3F ; Extend # Mn ORIYA VOWEL SIGN I
-0B40 ; Extend # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; Extend # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; Extend # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Extend # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; Extend # Mn ORIYA SIGN VIRAMA
-0B56 ; Extend # Mn ORIYA AI LENGTH MARK
-0B57 ; Extend # Mc ORIYA AU LENGTH MARK
-0B62..0B63 ; Extend # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Extend # Mn TAMIL SIGN ANUSVARA
-0BBE..0BBF ; Extend # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; Extend # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; Extend # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Extend # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Extend # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; Extend # Mn TAMIL SIGN VIRAMA
-0BD7 ; Extend # Mc TAMIL AU LENGTH MARK
-0C01..0C03 ; Extend # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C3E..0C40 ; Extend # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; Extend # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; Extend # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Extend # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Extend # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Extend # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C82..0C83 ; Extend # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0CBC ; Extend # Mn KANNADA SIGN NUKTA
-0CBE ; Extend # Mc KANNADA VOWEL SIGN AA
-0CBF ; Extend # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; Extend # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; Extend # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; Extend # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Extend # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; Extend # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CE2..0CE3 ; Extend # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D02..0D03 ; Extend # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D3E..0D40 ; Extend # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; Extend # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; Extend # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Extend # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; Extend # Mn MALAYALAM SIGN VIRAMA
-0D57 ; Extend # Mc MALAYALAM AU LENGTH MARK
-0D62..0D63 ; Extend # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D82..0D83 ; Extend # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0DCA ; Extend # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; Extend # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; Extend # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Extend # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; Extend # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; Extend # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E31 ; Extend # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; Extend # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E47..0E4E ; Extend # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; Extend # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; Extend # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Extend # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; Extend # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; Extend # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Extend # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Extend # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Extend # Mn TIBETAN MARK TSA -PHRU
-0F3E..0F3F ; Extend # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F71..0F7E ; Extend # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; Extend # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F84 ; Extend # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; Extend # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; Extend # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Extend # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; Extend # Mn TIBETAN SYMBOL PADMA GDAN
-102B..102C ; Extend # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; Extend # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; Extend # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; Extend # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; Extend # Mc MYANMAR SIGN VISARGA
-1039..103A ; Extend # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; Extend # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; Extend # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1056..1057 ; Extend # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; Extend # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Extend # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1062..1064 ; Extend # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1067..106D ; Extend # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1071..1074 ; Extend # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Extend # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; Extend # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; Extend # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; Extend # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; Extend # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108F ; Extend # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109C ; Extend # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; Extend # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; Extend # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; Extend # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; Extend # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; Extend # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Extend # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B6 ; Extend # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; Extend # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; Extend # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; Extend # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; Extend # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; Extend # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; Extend # Mn KHMER SIGN ATTHACAN
-180B..180D ; Extend # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; Extend # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Extend # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; Extend # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; Extend # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; Extend # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Extend # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; Extend # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; Extend # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-19B0..19C0 ; Extend # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9 ; Extend # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-1A17..1A18 ; Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; Extend # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A55 ; Extend # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; Extend # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; Extend # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; Extend # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Extend # Mn TAI THAM SIGN SAKOT
-1A61 ; Extend # Mc TAI THAM VOWEL SIGN A
-1A62 ; Extend # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; Extend # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; Extend # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; Extend # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; Extend # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Extend # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; Extend # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; Extend # Mc BALINESE SIGN BISAH
-1B34 ; Extend # Mn BALINESE SIGN REREKAN
-1B35 ; Extend # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; Extend # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; Extend # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; Extend # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; Extend # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; Extend # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; Extend # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B6B..1B73 ; Extend # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; Extend # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; Extend # Mc SUNDANESE SIGN PANGWISAD
-1BA1 ; Extend # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; Extend # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; Extend # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; Extend # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; Extend # Mc SUNDANESE SIGN PAMAAEH
-1C24..1C2B ; Extend # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; Extend # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; Extend # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; Extend # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; Extend # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Extend # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; Extend # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; Extend # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Extend # Mn VEDIC SIGN TIRYAK
-1CF2 ; Extend # Mc VEDIC SIGN ARDHAVISARGA
-1DC0..1DE6 ; Extend # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Extend # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200C..200D ; Extend # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-20D0..20DC ; Extend # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; Extend # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; Extend # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; Extend # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; Extend # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; Extend # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; Extend # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; Extend # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Extend # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; Extend # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; Extend # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; Extend # Mn SYLOTI NAGRI SIGN ANUSVARA
-A823..A824 ; Extend # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; Extend # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; Extend # Mc SYLOTI NAGRI VOWEL SIGN OO
-A880..A881 ; Extend # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A8B4..A8C3 ; Extend # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; Extend # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Extend # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; Extend # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; Extend # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; Extend # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A980..A982 ; Extend # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; Extend # Mc JAVANESE SIGN WIGNYAN
-A9B3 ; Extend # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; Extend # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; Extend # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; Extend # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; Extend # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; Extend # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-AA29..AA2E ; Extend # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; Extend # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; Extend # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; Extend # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; Extend # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Extend # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; Extend # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; Extend # Mc CHAM CONSONANT SIGN FINAL H
-AA7B ; Extend # Mc MYANMAR SIGN PAO KAREN TONE
-AAB0 ; Extend # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; Extend # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Extend # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; Extend # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; Extend # Mn TAI VIET TONE MAI THO
-ABE3..ABE4 ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; Extend # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; Extend # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; Extend # Mc MEETEI MAYEK LUM IYEK
-ABED ; Extend # Mn MEETEI MAYEK APUN IYEK
-FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; Extend # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; Extend # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Extend # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Extend # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; Extend # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Extend # Mn KHAROSHTHI VIRAMA
-11080..11081 ; Extend # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; Extend # Mc KAITHI SIGN VISARGA
-110B0..110B2 ; Extend # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; Extend # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; Extend # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; Extend # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D165..1D166 ; Extend # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167..1D169 ; Extend # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16D..1D172 ; Extend # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; Extend # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1455
-
-# ================================================
-
-0085 ; Sep # Cc <control-0085>
-2028 ; Sep # Zl LINE SEPARATOR
-2029 ; Sep # Zp PARAGRAPH SEPARATOR
-
-# Total code points: 3
-
-# ================================================
-
-00AD ; Format # Cf SOFT HYPHEN
-0600..0603 ; Format # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-06DD ; Format # Cf ARABIC END OF AYAH
-070F ; Format # Cf SYRIAC ABBREVIATION MARK
-17B4..17B5 ; Format # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-200B ; Format # Cf ZERO WIDTH SPACE
-200E..200F ; Format # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-202A..202E ; Format # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; Format # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; Format # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-FEFF ; Format # Cf ZERO WIDTH NO-BREAK SPACE
-FFF9..FFFB ; Format # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-110BD ; Format # Cf KAITHI NUMBER SIGN
-1D173..1D17A ; Format # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-E0001 ; Format # Cf LANGUAGE TAG
-E0020..E007F ; Format # Cf [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 138
-
-# ================================================
-
-0009 ; Sp # Cc <control-0009>
-000B..000C ; Sp # Cc [2] <control-000B>..<control-000C>
-0020 ; Sp # Zs SPACE
-00A0 ; Sp # Zs NO-BREAK SPACE
-1680 ; Sp # Zs OGHAM SPACE MARK
-180E ; Sp # Zs MONGOLIAN VOWEL SEPARATOR
-2000..200A ; Sp # Zs [11] EN QUAD..HAIR SPACE
-202F ; Sp # Zs NARROW NO-BREAK SPACE
-205F ; Sp # Zs MEDIUM MATHEMATICAL SPACE
-3000 ; Sp # Zs IDEOGRAPHIC SPACE
-
-# Total code points: 21
-
-# ================================================
-
-0061..007A ; Lower # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; Lower # L& FEMININE ORDINAL INDICATOR
-00B5 ; Lower # L& MICRO SIGN
-00BA ; Lower # L& MASCULINE ORDINAL INDICATOR
-00DF..00F6 ; Lower # L& [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..00FF ; Lower # L& [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
-0101 ; Lower # L& LATIN SMALL LETTER A WITH MACRON
-0103 ; Lower # L& LATIN SMALL LETTER A WITH BREVE
-0105 ; Lower # L& LATIN SMALL LETTER A WITH OGONEK
-0107 ; Lower # L& LATIN SMALL LETTER C WITH ACUTE
-0109 ; Lower # L& LATIN SMALL LETTER C WITH CIRCUMFLEX
-010B ; Lower # L& LATIN SMALL LETTER C WITH DOT ABOVE
-010D ; Lower # L& LATIN SMALL LETTER C WITH CARON
-010F ; Lower # L& LATIN SMALL LETTER D WITH CARON
-0111 ; Lower # L& LATIN SMALL LETTER D WITH STROKE
-0113 ; Lower # L& LATIN SMALL LETTER E WITH MACRON
-0115 ; Lower # L& LATIN SMALL LETTER E WITH BREVE
-0117 ; Lower # L& LATIN SMALL LETTER E WITH DOT ABOVE
-0119 ; Lower # L& LATIN SMALL LETTER E WITH OGONEK
-011B ; Lower # L& LATIN SMALL LETTER E WITH CARON
-011D ; Lower # L& LATIN SMALL LETTER G WITH CIRCUMFLEX
-011F ; Lower # L& LATIN SMALL LETTER G WITH BREVE
-0121 ; Lower # L& LATIN SMALL LETTER G WITH DOT ABOVE
-0123 ; Lower # L& LATIN SMALL LETTER G WITH CEDILLA
-0125 ; Lower # L& LATIN SMALL LETTER H WITH CIRCUMFLEX
-0127 ; Lower # L& LATIN SMALL LETTER H WITH STROKE
-0129 ; Lower # L& LATIN SMALL LETTER I WITH TILDE
-012B ; Lower # L& LATIN SMALL LETTER I WITH MACRON
-012D ; Lower # L& LATIN SMALL LETTER I WITH BREVE
-012F ; Lower # L& LATIN SMALL LETTER I WITH OGONEK
-0131 ; Lower # L& LATIN SMALL LETTER DOTLESS I
-0133 ; Lower # L& LATIN SMALL LIGATURE IJ
-0135 ; Lower # L& LATIN SMALL LETTER J WITH CIRCUMFLEX
-0137..0138 ; Lower # L& [2] LATIN SMALL LETTER K WITH CEDILLA..LATIN SMALL LETTER KRA
-013A ; Lower # L& LATIN SMALL LETTER L WITH ACUTE
-013C ; Lower # L& LATIN SMALL LETTER L WITH CEDILLA
-013E ; Lower # L& LATIN SMALL LETTER L WITH CARON
-0140 ; Lower # L& LATIN SMALL LETTER L WITH MIDDLE DOT
-0142 ; Lower # L& LATIN SMALL LETTER L WITH STROKE
-0144 ; Lower # L& LATIN SMALL LETTER N WITH ACUTE
-0146 ; Lower # L& LATIN SMALL LETTER N WITH CEDILLA
-0148..0149 ; Lower # L& [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014B ; Lower # L& LATIN SMALL LETTER ENG
-014D ; Lower # L& LATIN SMALL LETTER O WITH MACRON
-014F ; Lower # L& LATIN SMALL LETTER O WITH BREVE
-0151 ; Lower # L& LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0153 ; Lower # L& LATIN SMALL LIGATURE OE
-0155 ; Lower # L& LATIN SMALL LETTER R WITH ACUTE
-0157 ; Lower # L& LATIN SMALL LETTER R WITH CEDILLA
-0159 ; Lower # L& LATIN SMALL LETTER R WITH CARON
-015B ; Lower # L& LATIN SMALL LETTER S WITH ACUTE
-015D ; Lower # L& LATIN SMALL LETTER S WITH CIRCUMFLEX
-015F ; Lower # L& LATIN SMALL LETTER S WITH CEDILLA
-0161 ; Lower # L& LATIN SMALL LETTER S WITH CARON
-0163 ; Lower # L& LATIN SMALL LETTER T WITH CEDILLA
-0165 ; Lower # L& LATIN SMALL LETTER T WITH CARON
-0167 ; Lower # L& LATIN SMALL LETTER T WITH STROKE
-0169 ; Lower # L& LATIN SMALL LETTER U WITH TILDE
-016B ; Lower # L& LATIN SMALL LETTER U WITH MACRON
-016D ; Lower # L& LATIN SMALL LETTER U WITH BREVE
-016F ; Lower # L& LATIN SMALL LETTER U WITH RING ABOVE
-0171 ; Lower # L& LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0173 ; Lower # L& LATIN SMALL LETTER U WITH OGONEK
-0175 ; Lower # L& LATIN SMALL LETTER W WITH CIRCUMFLEX
-0177 ; Lower # L& LATIN SMALL LETTER Y WITH CIRCUMFLEX
-017A ; Lower # L& LATIN SMALL LETTER Z WITH ACUTE
-017C ; Lower # L& LATIN SMALL LETTER Z WITH DOT ABOVE
-017E..0180 ; Lower # L& [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
-0183 ; Lower # L& LATIN SMALL LETTER B WITH TOPBAR
-0185 ; Lower # L& LATIN SMALL LETTER TONE SIX
-0188 ; Lower # L& LATIN SMALL LETTER C WITH HOOK
-018C..018D ; Lower # L& [2] LATIN SMALL LETTER D WITH TOPBAR..LATIN SMALL LETTER TURNED DELTA
-0192 ; Lower # L& LATIN SMALL LETTER F WITH HOOK
-0195 ; Lower # L& LATIN SMALL LETTER HV
-0199..019B ; Lower # L& [3] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER LAMBDA WITH STROKE
-019E ; Lower # L& LATIN SMALL LETTER N WITH LONG RIGHT LEG
-01A1 ; Lower # L& LATIN SMALL LETTER O WITH HORN
-01A3 ; Lower # L& LATIN SMALL LETTER OI
-01A5 ; Lower # L& LATIN SMALL LETTER P WITH HOOK
-01A8 ; Lower # L& LATIN SMALL LETTER TONE TWO
-01AA..01AB ; Lower # L& [2] LATIN LETTER REVERSED ESH LOOP..LATIN SMALL LETTER T WITH PALATAL HOOK
-01AD ; Lower # L& LATIN SMALL LETTER T WITH HOOK
-01B0 ; Lower # L& LATIN SMALL LETTER U WITH HORN
-01B4 ; Lower # L& LATIN SMALL LETTER Y WITH HOOK
-01B6 ; Lower # L& LATIN SMALL LETTER Z WITH STROKE
-01B9..01BA ; Lower # L& [2] LATIN SMALL LETTER EZH REVERSED..LATIN SMALL LETTER EZH WITH TAIL
-01BD..01BF ; Lower # L& [3] LATIN SMALL LETTER TONE FIVE..LATIN LETTER WYNN
-01C6 ; Lower # L& LATIN SMALL LETTER DZ WITH CARON
-01C9 ; Lower # L& LATIN SMALL LETTER LJ
-01CC ; Lower # L& LATIN SMALL LETTER NJ
-01CE ; Lower # L& LATIN SMALL LETTER A WITH CARON
-01D0 ; Lower # L& LATIN SMALL LETTER I WITH CARON
-01D2 ; Lower # L& LATIN SMALL LETTER O WITH CARON
-01D4 ; Lower # L& LATIN SMALL LETTER U WITH CARON
-01D6 ; Lower # L& LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D8 ; Lower # L& LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01DA ; Lower # L& LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DC..01DD ; Lower # L& [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
-01DF ; Lower # L& LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E1 ; Lower # L& LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E3 ; Lower # L& LATIN SMALL LETTER AE WITH MACRON
-01E5 ; Lower # L& LATIN SMALL LETTER G WITH STROKE
-01E7 ; Lower # L& LATIN SMALL LETTER G WITH CARON
-01E9 ; Lower # L& LATIN SMALL LETTER K WITH CARON
-01EB ; Lower # L& LATIN SMALL LETTER O WITH OGONEK
-01ED ; Lower # L& LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EF..01F0 ; Lower # L& [2] LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F3 ; Lower # L& LATIN SMALL LETTER DZ
-01F5 ; Lower # L& LATIN SMALL LETTER G WITH ACUTE
-01F9 ; Lower # L& LATIN SMALL LETTER N WITH GRAVE
-01FB ; Lower # L& LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FD ; Lower # L& LATIN SMALL LETTER AE WITH ACUTE
-01FF ; Lower # L& LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0201 ; Lower # L& LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0203 ; Lower # L& LATIN SMALL LETTER A WITH INVERTED BREVE
-0205 ; Lower # L& LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0207 ; Lower # L& LATIN SMALL LETTER E WITH INVERTED BREVE
-0209 ; Lower # L& LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020B ; Lower # L& LATIN SMALL LETTER I WITH INVERTED BREVE
-020D ; Lower # L& LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020F ; Lower # L& LATIN SMALL LETTER O WITH INVERTED BREVE
-0211 ; Lower # L& LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0213 ; Lower # L& LATIN SMALL LETTER R WITH INVERTED BREVE
-0215 ; Lower # L& LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0217 ; Lower # L& LATIN SMALL LETTER U WITH INVERTED BREVE
-0219 ; Lower # L& LATIN SMALL LETTER S WITH COMMA BELOW
-021B ; Lower # L& LATIN SMALL LETTER T WITH COMMA BELOW
-021D ; Lower # L& LATIN SMALL LETTER YOGH
-021F ; Lower # L& LATIN SMALL LETTER H WITH CARON
-0221 ; Lower # L& LATIN SMALL LETTER D WITH CURL
-0223 ; Lower # L& LATIN SMALL LETTER OU
-0225 ; Lower # L& LATIN SMALL LETTER Z WITH HOOK
-0227 ; Lower # L& LATIN SMALL LETTER A WITH DOT ABOVE
-0229 ; Lower # L& LATIN SMALL LETTER E WITH CEDILLA
-022B ; Lower # L& LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022D ; Lower # L& LATIN SMALL LETTER O WITH TILDE AND MACRON
-022F ; Lower # L& LATIN SMALL LETTER O WITH DOT ABOVE
-0231 ; Lower # L& LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0233..0239 ; Lower # L& [7] LATIN SMALL LETTER Y WITH MACRON..LATIN SMALL LETTER QP DIGRAPH
-023C ; Lower # L& LATIN SMALL LETTER C WITH STROKE
-023F..0240 ; Lower # L& [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
-0242 ; Lower # L& LATIN SMALL LETTER GLOTTAL STOP
-0247 ; Lower # L& LATIN SMALL LETTER E WITH STROKE
-0249 ; Lower # L& LATIN SMALL LETTER J WITH STROKE
-024B ; Lower # L& LATIN SMALL LETTER Q WITH HOOK TAIL
-024D ; Lower # L& LATIN SMALL LETTER R WITH STROKE
-024F..0293 ; Lower # L& [69] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER EZH WITH CURL
-0295..02AF ; Lower # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02B8 ; Lower # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02C0..02C1 ; Lower # Lm [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
-02E0..02E4 ; Lower # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-0371 ; Lower # L& GREEK SMALL LETTER HETA
-0373 ; Lower # L& GREEK SMALL LETTER ARCHAIC SAMPI
-0377 ; Lower # L& GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; Lower # Lm GREEK YPOGEGRAMMENI
-037B..037D ; Lower # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0390 ; Lower # L& GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AC..03CE ; Lower # L& [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D1 ; Lower # L& [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
-03D5..03D7 ; Lower # L& [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
-03D9 ; Lower # L& GREEK SMALL LETTER ARCHAIC KOPPA
-03DB ; Lower # L& GREEK SMALL LETTER STIGMA
-03DD ; Lower # L& GREEK SMALL LETTER DIGAMMA
-03DF ; Lower # L& GREEK SMALL LETTER KOPPA
-03E1 ; Lower # L& GREEK SMALL LETTER SAMPI
-03E3 ; Lower # L& COPTIC SMALL LETTER SHEI
-03E5 ; Lower # L& COPTIC SMALL LETTER FEI
-03E7 ; Lower # L& COPTIC SMALL LETTER KHEI
-03E9 ; Lower # L& COPTIC SMALL LETTER HORI
-03EB ; Lower # L& COPTIC SMALL LETTER GANGIA
-03ED ; Lower # L& COPTIC SMALL LETTER SHIMA
-03EF..03F3 ; Lower # L& [5] COPTIC SMALL LETTER DEI..GREEK LETTER YOT
-03F5 ; Lower # L& GREEK LUNATE EPSILON SYMBOL
-03F8 ; Lower # L& GREEK SMALL LETTER SHO
-03FB..03FC ; Lower # L& [2] GREEK SMALL LETTER SAN..GREEK RHO WITH STROKE SYMBOL
-0430..045F ; Lower # L& [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
-0461 ; Lower # L& CYRILLIC SMALL LETTER OMEGA
-0463 ; Lower # L& CYRILLIC SMALL LETTER YAT
-0465 ; Lower # L& CYRILLIC SMALL LETTER IOTIFIED E
-0467 ; Lower # L& CYRILLIC SMALL LETTER LITTLE YUS
-0469 ; Lower # L& CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046B ; Lower # L& CYRILLIC SMALL LETTER BIG YUS
-046D ; Lower # L& CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046F ; Lower # L& CYRILLIC SMALL LETTER KSI
-0471 ; Lower # L& CYRILLIC SMALL LETTER PSI
-0473 ; Lower # L& CYRILLIC SMALL LETTER FITA
-0475 ; Lower # L& CYRILLIC SMALL LETTER IZHITSA
-0477 ; Lower # L& CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0479 ; Lower # L& CYRILLIC SMALL LETTER UK
-047B ; Lower # L& CYRILLIC SMALL LETTER ROUND OMEGA
-047D ; Lower # L& CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047F ; Lower # L& CYRILLIC SMALL LETTER OT
-0481 ; Lower # L& CYRILLIC SMALL LETTER KOPPA
-048B ; Lower # L& CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048D ; Lower # L& CYRILLIC SMALL LETTER SEMISOFT SIGN
-048F ; Lower # L& CYRILLIC SMALL LETTER ER WITH TICK
-0491 ; Lower # L& CYRILLIC SMALL LETTER GHE WITH UPTURN
-0493 ; Lower # L& CYRILLIC SMALL LETTER GHE WITH STROKE
-0495 ; Lower # L& CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0497 ; Lower # L& CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0499 ; Lower # L& CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049B ; Lower # L& CYRILLIC SMALL LETTER KA WITH DESCENDER
-049D ; Lower # L& CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049F ; Lower # L& CYRILLIC SMALL LETTER KA WITH STROKE
-04A1 ; Lower # L& CYRILLIC SMALL LETTER BASHKIR KA
-04A3 ; Lower # L& CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A5 ; Lower # L& CYRILLIC SMALL LIGATURE EN GHE
-04A7 ; Lower # L& CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A9 ; Lower # L& CYRILLIC SMALL LETTER ABKHASIAN HA
-04AB ; Lower # L& CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AD ; Lower # L& CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AF ; Lower # L& CYRILLIC SMALL LETTER STRAIGHT U
-04B1 ; Lower # L& CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B3 ; Lower # L& CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B5 ; Lower # L& CYRILLIC SMALL LIGATURE TE TSE
-04B7 ; Lower # L& CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B9 ; Lower # L& CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BB ; Lower # L& CYRILLIC SMALL LETTER SHHA
-04BD ; Lower # L& CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BF ; Lower # L& CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C2 ; Lower # L& CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C4 ; Lower # L& CYRILLIC SMALL LETTER KA WITH HOOK
-04C6 ; Lower # L& CYRILLIC SMALL LETTER EL WITH TAIL
-04C8 ; Lower # L& CYRILLIC SMALL LETTER EN WITH HOOK
-04CA ; Lower # L& CYRILLIC SMALL LETTER EN WITH TAIL
-04CC ; Lower # L& CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CE..04CF ; Lower # L& [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
-04D1 ; Lower # L& CYRILLIC SMALL LETTER A WITH BREVE
-04D3 ; Lower # L& CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D5 ; Lower # L& CYRILLIC SMALL LIGATURE A IE
-04D7 ; Lower # L& CYRILLIC SMALL LETTER IE WITH BREVE
-04D9 ; Lower # L& CYRILLIC SMALL LETTER SCHWA
-04DB ; Lower # L& CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DD ; Lower # L& CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DF ; Lower # L& CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E1 ; Lower # L& CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E3 ; Lower # L& CYRILLIC SMALL LETTER I WITH MACRON
-04E5 ; Lower # L& CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E7 ; Lower # L& CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E9 ; Lower # L& CYRILLIC SMALL LETTER BARRED O
-04EB ; Lower # L& CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04ED ; Lower # L& CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EF ; Lower # L& CYRILLIC SMALL LETTER U WITH MACRON
-04F1 ; Lower # L& CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F3 ; Lower # L& CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F5 ; Lower # L& CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F7 ; Lower # L& CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F9 ; Lower # L& CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FB ; Lower # L& CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FD ; Lower # L& CYRILLIC SMALL LETTER HA WITH HOOK
-04FF ; Lower # L& CYRILLIC SMALL LETTER HA WITH STROKE
-0501 ; Lower # L& CYRILLIC SMALL LETTER KOMI DE
-0503 ; Lower # L& CYRILLIC SMALL LETTER KOMI DJE
-0505 ; Lower # L& CYRILLIC SMALL LETTER KOMI ZJE
-0507 ; Lower # L& CYRILLIC SMALL LETTER KOMI DZJE
-0509 ; Lower # L& CYRILLIC SMALL LETTER KOMI LJE
-050B ; Lower # L& CYRILLIC SMALL LETTER KOMI NJE
-050D ; Lower # L& CYRILLIC SMALL LETTER KOMI SJE
-050F ; Lower # L& CYRILLIC SMALL LETTER KOMI TJE
-0511 ; Lower # L& CYRILLIC SMALL LETTER REVERSED ZE
-0513 ; Lower # L& CYRILLIC SMALL LETTER EL WITH HOOK
-0515 ; Lower # L& CYRILLIC SMALL LETTER LHA
-0517 ; Lower # L& CYRILLIC SMALL LETTER RHA
-0519 ; Lower # L& CYRILLIC SMALL LETTER YAE
-051B ; Lower # L& CYRILLIC SMALL LETTER QA
-051D ; Lower # L& CYRILLIC SMALL LETTER WE
-051F ; Lower # L& CYRILLIC SMALL LETTER ALEUT KA
-0521 ; Lower # L& CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0523 ; Lower # L& CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0525 ; Lower # L& CYRILLIC SMALL LETTER PE WITH DESCENDER
-0561..0587 ; Lower # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-1D00..1D2B ; Lower # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; Lower # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; Lower # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; Lower # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; Lower # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; Lower # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E01 ; Lower # L& LATIN SMALL LETTER A WITH RING BELOW
-1E03 ; Lower # L& LATIN SMALL LETTER B WITH DOT ABOVE
-1E05 ; Lower # L& LATIN SMALL LETTER B WITH DOT BELOW
-1E07 ; Lower # L& LATIN SMALL LETTER B WITH LINE BELOW
-1E09 ; Lower # L& LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0B ; Lower # L& LATIN SMALL LETTER D WITH DOT ABOVE
-1E0D ; Lower # L& LATIN SMALL LETTER D WITH DOT BELOW
-1E0F ; Lower # L& LATIN SMALL LETTER D WITH LINE BELOW
-1E11 ; Lower # L& LATIN SMALL LETTER D WITH CEDILLA
-1E13 ; Lower # L& LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E15 ; Lower # L& LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E17 ; Lower # L& LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E19 ; Lower # L& LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1B ; Lower # L& LATIN SMALL LETTER E WITH TILDE BELOW
-1E1D ; Lower # L& LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1F ; Lower # L& LATIN SMALL LETTER F WITH DOT ABOVE
-1E21 ; Lower # L& LATIN SMALL LETTER G WITH MACRON
-1E23 ; Lower # L& LATIN SMALL LETTER H WITH DOT ABOVE
-1E25 ; Lower # L& LATIN SMALL LETTER H WITH DOT BELOW
-1E27 ; Lower # L& LATIN SMALL LETTER H WITH DIAERESIS
-1E29 ; Lower # L& LATIN SMALL LETTER H WITH CEDILLA
-1E2B ; Lower # L& LATIN SMALL LETTER H WITH BREVE BELOW
-1E2D ; Lower # L& LATIN SMALL LETTER I WITH TILDE BELOW
-1E2F ; Lower # L& LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E31 ; Lower # L& LATIN SMALL LETTER K WITH ACUTE
-1E33 ; Lower # L& LATIN SMALL LETTER K WITH DOT BELOW
-1E35 ; Lower # L& LATIN SMALL LETTER K WITH LINE BELOW
-1E37 ; Lower # L& LATIN SMALL LETTER L WITH DOT BELOW
-1E39 ; Lower # L& LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3B ; Lower # L& LATIN SMALL LETTER L WITH LINE BELOW
-1E3D ; Lower # L& LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3F ; Lower # L& LATIN SMALL LETTER M WITH ACUTE
-1E41 ; Lower # L& LATIN SMALL LETTER M WITH DOT ABOVE
-1E43 ; Lower # L& LATIN SMALL LETTER M WITH DOT BELOW
-1E45 ; Lower # L& LATIN SMALL LETTER N WITH DOT ABOVE
-1E47 ; Lower # L& LATIN SMALL LETTER N WITH DOT BELOW
-1E49 ; Lower # L& LATIN SMALL LETTER N WITH LINE BELOW
-1E4B ; Lower # L& LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4D ; Lower # L& LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4F ; Lower # L& LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E51 ; Lower # L& LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E53 ; Lower # L& LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E55 ; Lower # L& LATIN SMALL LETTER P WITH ACUTE
-1E57 ; Lower # L& LATIN SMALL LETTER P WITH DOT ABOVE
-1E59 ; Lower # L& LATIN SMALL LETTER R WITH DOT ABOVE
-1E5B ; Lower # L& LATIN SMALL LETTER R WITH DOT BELOW
-1E5D ; Lower # L& LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5F ; Lower # L& LATIN SMALL LETTER R WITH LINE BELOW
-1E61 ; Lower # L& LATIN SMALL LETTER S WITH DOT ABOVE
-1E63 ; Lower # L& LATIN SMALL LETTER S WITH DOT BELOW
-1E65 ; Lower # L& LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E67 ; Lower # L& LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E69 ; Lower # L& LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6B ; Lower # L& LATIN SMALL LETTER T WITH DOT ABOVE
-1E6D ; Lower # L& LATIN SMALL LETTER T WITH DOT BELOW
-1E6F ; Lower # L& LATIN SMALL LETTER T WITH LINE BELOW
-1E71 ; Lower # L& LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E73 ; Lower # L& LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E75 ; Lower # L& LATIN SMALL LETTER U WITH TILDE BELOW
-1E77 ; Lower # L& LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E79 ; Lower # L& LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7B ; Lower # L& LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7D ; Lower # L& LATIN SMALL LETTER V WITH TILDE
-1E7F ; Lower # L& LATIN SMALL LETTER V WITH DOT BELOW
-1E81 ; Lower # L& LATIN SMALL LETTER W WITH GRAVE
-1E83 ; Lower # L& LATIN SMALL LETTER W WITH ACUTE
-1E85 ; Lower # L& LATIN SMALL LETTER W WITH DIAERESIS
-1E87 ; Lower # L& LATIN SMALL LETTER W WITH DOT ABOVE
-1E89 ; Lower # L& LATIN SMALL LETTER W WITH DOT BELOW
-1E8B ; Lower # L& LATIN SMALL LETTER X WITH DOT ABOVE
-1E8D ; Lower # L& LATIN SMALL LETTER X WITH DIAERESIS
-1E8F ; Lower # L& LATIN SMALL LETTER Y WITH DOT ABOVE
-1E91 ; Lower # L& LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E93 ; Lower # L& LATIN SMALL LETTER Z WITH DOT BELOW
-1E95..1E9D ; Lower # L& [9] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH HIGH STROKE
-1E9F ; Lower # L& LATIN SMALL LETTER DELTA
-1EA1 ; Lower # L& LATIN SMALL LETTER A WITH DOT BELOW
-1EA3 ; Lower # L& LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA5 ; Lower # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7 ; Lower # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA9 ; Lower # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAB ; Lower # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAD ; Lower # L& LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAF ; Lower # L& LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB1 ; Lower # L& LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB3 ; Lower # L& LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB5 ; Lower # L& LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB7 ; Lower # L& LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB9 ; Lower # L& LATIN SMALL LETTER E WITH DOT BELOW
-1EBB ; Lower # L& LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBD ; Lower # L& LATIN SMALL LETTER E WITH TILDE
-1EBF ; Lower # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1 ; Lower # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC3 ; Lower # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC5 ; Lower # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC7 ; Lower # L& LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC9 ; Lower # L& LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECB ; Lower # L& LATIN SMALL LETTER I WITH DOT BELOW
-1ECD ; Lower # L& LATIN SMALL LETTER O WITH DOT BELOW
-1ECF ; Lower # L& LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED1 ; Lower # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3 ; Lower # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED5 ; Lower # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED7 ; Lower # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED9 ; Lower # L& LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDB ; Lower # L& LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDD ; Lower # L& LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDF ; Lower # L& LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE1 ; Lower # L& LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE3 ; Lower # L& LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE5 ; Lower # L& LATIN SMALL LETTER U WITH DOT BELOW
-1EE7 ; Lower # L& LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE9 ; Lower # L& LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEB ; Lower # L& LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EED ; Lower # L& LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEF ; Lower # L& LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF1 ; Lower # L& LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF3 ; Lower # L& LATIN SMALL LETTER Y WITH GRAVE
-1EF5 ; Lower # L& LATIN SMALL LETTER Y WITH DOT BELOW
-1EF7 ; Lower # L& LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF9 ; Lower # L& LATIN SMALL LETTER Y WITH TILDE
-1EFB ; Lower # L& LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFD ; Lower # L& LATIN SMALL LETTER MIDDLE-WELSH V
-1EFF..1F07 ; Lower # L& [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10..1F15 ; Lower # L& [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F27 ; Lower # L& [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30..1F37 ; Lower # L& [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40..1F45 ; Lower # L& [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Lower # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60..1F67 ; Lower # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70..1F7D ; Lower # L& [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1F87 ; Lower # L& [8] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F90..1F97 ; Lower # L& [8] GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA0..1FA7 ; Lower # L& [8] GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FB0..1FB4 ; Lower # L& [5] GREEK SMALL LETTER ALPHA WITH VRACHY..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FB7 ; Lower # L& [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FBE ; Lower # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Lower # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FC7 ; Lower # L& [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FD0..1FD3 ; Lower # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FD7 ; Lower # L& [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FE0..1FE7 ; Lower # L& [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FF2..1FF4 ; Lower # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FF7 ; Lower # L& [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-2090..2094 ; Lower # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-210A ; Lower # L& SCRIPT SMALL G
-210E..210F ; Lower # L& [2] PLANCK CONSTANT..PLANCK CONSTANT OVER TWO PI
-2113 ; Lower # L& SCRIPT SMALL L
-212F ; Lower # L& SCRIPT SMALL E
-2134 ; Lower # L& SCRIPT SMALL O
-2139 ; Lower # L& INFORMATION SOURCE
-213C..213D ; Lower # L& [2] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK SMALL GAMMA
-2146..2149 ; Lower # L& [4] DOUBLE-STRUCK ITALIC SMALL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; Lower # L& TURNED SMALL F
-2170..217F ; Lower # Nl [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-2184 ; Lower # L& LATIN SMALL LETTER REVERSED C
-24D0..24E9 ; Lower # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C30..2C5E ; Lower # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C61 ; Lower # L& LATIN SMALL LETTER L WITH DOUBLE BAR
-2C65..2C66 ; Lower # L& [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C68 ; Lower # L& LATIN SMALL LETTER H WITH DESCENDER
-2C6A ; Lower # L& LATIN SMALL LETTER K WITH DESCENDER
-2C6C ; Lower # L& LATIN SMALL LETTER Z WITH DESCENDER
-2C71 ; Lower # L& LATIN SMALL LETTER V WITH RIGHT HOOK
-2C73..2C74 ; Lower # L& [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
-2C76..2C7C ; Lower # L& [7] LATIN SMALL LETTER HALF H..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; Lower # Lm MODIFIER LETTER CAPITAL V
-2C81 ; Lower # L& COPTIC SMALL LETTER ALFA
-2C83 ; Lower # L& COPTIC SMALL LETTER VIDA
-2C85 ; Lower # L& COPTIC SMALL LETTER GAMMA
-2C87 ; Lower # L& COPTIC SMALL LETTER DALDA
-2C89 ; Lower # L& COPTIC SMALL LETTER EIE
-2C8B ; Lower # L& COPTIC SMALL LETTER SOU
-2C8D ; Lower # L& COPTIC SMALL LETTER ZATA
-2C8F ; Lower # L& COPTIC SMALL LETTER HATE
-2C91 ; Lower # L& COPTIC SMALL LETTER THETHE
-2C93 ; Lower # L& COPTIC SMALL LETTER IAUDA
-2C95 ; Lower # L& COPTIC SMALL LETTER KAPA
-2C97 ; Lower # L& COPTIC SMALL LETTER LAULA
-2C99 ; Lower # L& COPTIC SMALL LETTER MI
-2C9B ; Lower # L& COPTIC SMALL LETTER NI
-2C9D ; Lower # L& COPTIC SMALL LETTER KSI
-2C9F ; Lower # L& COPTIC SMALL LETTER O
-2CA1 ; Lower # L& COPTIC SMALL LETTER PI
-2CA3 ; Lower # L& COPTIC SMALL LETTER RO
-2CA5 ; Lower # L& COPTIC SMALL LETTER SIMA
-2CA7 ; Lower # L& COPTIC SMALL LETTER TAU
-2CA9 ; Lower # L& COPTIC SMALL LETTER UA
-2CAB ; Lower # L& COPTIC SMALL LETTER FI
-2CAD ; Lower # L& COPTIC SMALL LETTER KHI
-2CAF ; Lower # L& COPTIC SMALL LETTER PSI
-2CB1 ; Lower # L& COPTIC SMALL LETTER OOU
-2CB3 ; Lower # L& COPTIC SMALL LETTER DIALECT-P ALEF
-2CB5 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC AIN
-2CB7 ; Lower # L& COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB9 ; Lower # L& COPTIC SMALL LETTER DIALECT-P KAPA
-2CBB ; Lower # L& COPTIC SMALL LETTER DIALECT-P NI
-2CBD ; Lower # L& COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBF ; Lower # L& COPTIC SMALL LETTER OLD COPTIC OOU
-2CC1 ; Lower # L& COPTIC SMALL LETTER SAMPI
-2CC3 ; Lower # L& COPTIC SMALL LETTER CROSSED SHEI
-2CC5 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC7 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC ESH
-2CC9 ; Lower # L& COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCB ; Lower # L& COPTIC SMALL LETTER DIALECT-P HORI
-2CCD ; Lower # L& COPTIC SMALL LETTER OLD COPTIC HORI
-2CCF ; Lower # L& COPTIC SMALL LETTER OLD COPTIC HA
-2CD1 ; Lower # L& COPTIC SMALL LETTER L-SHAPED HA
-2CD3 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC HEI
-2CD5 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC HAT
-2CD7 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD9 ; Lower # L& COPTIC SMALL LETTER OLD COPTIC DJA
-2CDB ; Lower # L& COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDD ; Lower # L& COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDF ; Lower # L& COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE1 ; Lower # L& COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE3..2CE4 ; Lower # L& [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
-2CEC ; Lower # L& COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEE ; Lower # L& COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Lower # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A641 ; Lower # L& CYRILLIC SMALL LETTER ZEMLYA
-A643 ; Lower # L& CYRILLIC SMALL LETTER DZELO
-A645 ; Lower # L& CYRILLIC SMALL LETTER REVERSED DZE
-A647 ; Lower # L& CYRILLIC SMALL LETTER IOTA
-A649 ; Lower # L& CYRILLIC SMALL LETTER DJERV
-A64B ; Lower # L& CYRILLIC SMALL LETTER MONOGRAPH UK
-A64D ; Lower # L& CYRILLIC SMALL LETTER BROAD OMEGA
-A64F ; Lower # L& CYRILLIC SMALL LETTER NEUTRAL YER
-A651 ; Lower # L& CYRILLIC SMALL LETTER YERU WITH BACK YER
-A653 ; Lower # L& CYRILLIC SMALL LETTER IOTIFIED YAT
-A655 ; Lower # L& CYRILLIC SMALL LETTER REVERSED YU
-A657 ; Lower # L& CYRILLIC SMALL LETTER IOTIFIED A
-A659 ; Lower # L& CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65B ; Lower # L& CYRILLIC SMALL LETTER BLENDED YUS
-A65D ; Lower # L& CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65F ; Lower # L& CYRILLIC SMALL LETTER YN
-A663 ; Lower # L& CYRILLIC SMALL LETTER SOFT DE
-A665 ; Lower # L& CYRILLIC SMALL LETTER SOFT EL
-A667 ; Lower # L& CYRILLIC SMALL LETTER SOFT EM
-A669 ; Lower # L& CYRILLIC SMALL LETTER MONOCULAR O
-A66B ; Lower # L& CYRILLIC SMALL LETTER BINOCULAR O
-A66D ; Lower # L& CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A681 ; Lower # L& CYRILLIC SMALL LETTER DWE
-A683 ; Lower # L& CYRILLIC SMALL LETTER DZWE
-A685 ; Lower # L& CYRILLIC SMALL LETTER ZHWE
-A687 ; Lower # L& CYRILLIC SMALL LETTER CCHE
-A689 ; Lower # L& CYRILLIC SMALL LETTER DZZE
-A68B ; Lower # L& CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68D ; Lower # L& CYRILLIC SMALL LETTER TWE
-A68F ; Lower # L& CYRILLIC SMALL LETTER TSWE
-A691 ; Lower # L& CYRILLIC SMALL LETTER TSSE
-A693 ; Lower # L& CYRILLIC SMALL LETTER TCHE
-A695 ; Lower # L& CYRILLIC SMALL LETTER HWE
-A697 ; Lower # L& CYRILLIC SMALL LETTER SHWE
-A723 ; Lower # L& LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A725 ; Lower # L& LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A727 ; Lower # L& LATIN SMALL LETTER HENG
-A729 ; Lower # L& LATIN SMALL LETTER TZ
-A72B ; Lower # L& LATIN SMALL LETTER TRESILLO
-A72D ; Lower # L& LATIN SMALL LETTER CUATRILLO
-A72F..A731 ; Lower # L& [3] LATIN SMALL LETTER CUATRILLO WITH COMMA..LATIN LETTER SMALL CAPITAL S
-A733 ; Lower # L& LATIN SMALL LETTER AA
-A735 ; Lower # L& LATIN SMALL LETTER AO
-A737 ; Lower # L& LATIN SMALL LETTER AU
-A739 ; Lower # L& LATIN SMALL LETTER AV
-A73B ; Lower # L& LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73D ; Lower # L& LATIN SMALL LETTER AY
-A73F ; Lower # L& LATIN SMALL LETTER REVERSED C WITH DOT
-A741 ; Lower # L& LATIN SMALL LETTER K WITH STROKE
-A743 ; Lower # L& LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A745 ; Lower # L& LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A747 ; Lower # L& LATIN SMALL LETTER BROKEN L
-A749 ; Lower # L& LATIN SMALL LETTER L WITH HIGH STROKE
-A74B ; Lower # L& LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74D ; Lower # L& LATIN SMALL LETTER O WITH LOOP
-A74F ; Lower # L& LATIN SMALL LETTER OO
-A751 ; Lower # L& LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A753 ; Lower # L& LATIN SMALL LETTER P WITH FLOURISH
-A755 ; Lower # L& LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A757 ; Lower # L& LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; Lower # L& LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75B ; Lower # L& LATIN SMALL LETTER R ROTUNDA
-A75D ; Lower # L& LATIN SMALL LETTER RUM ROTUNDA
-A75F ; Lower # L& LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A761 ; Lower # L& LATIN SMALL LETTER VY
-A763 ; Lower # L& LATIN SMALL LETTER VISIGOTHIC Z
-A765 ; Lower # L& LATIN SMALL LETTER THORN WITH STROKE
-A767 ; Lower # L& LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A769 ; Lower # L& LATIN SMALL LETTER VEND
-A76B ; Lower # L& LATIN SMALL LETTER ET
-A76D ; Lower # L& LATIN SMALL LETTER IS
-A76F ; Lower # L& LATIN SMALL LETTER CON
-A770 ; Lower # Lm MODIFIER LETTER US
-A771..A778 ; Lower # L& [8] LATIN SMALL LETTER DUM..LATIN SMALL LETTER UM
-A77A ; Lower # L& LATIN SMALL LETTER INSULAR D
-A77C ; Lower # L& LATIN SMALL LETTER INSULAR F
-A77F ; Lower # L& LATIN SMALL LETTER TURNED INSULAR G
-A781 ; Lower # L& LATIN SMALL LETTER TURNED L
-A783 ; Lower # L& LATIN SMALL LETTER INSULAR R
-A785 ; Lower # L& LATIN SMALL LETTER INSULAR S
-A787 ; Lower # L& LATIN SMALL LETTER INSULAR T
-A78C ; Lower # L& LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Lower # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Lower # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF41..FF5A ; Lower # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10428..1044F ; Lower # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
-1D41A..1D433 ; Lower # L& [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
-1D44E..1D454 ; Lower # L& [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D467 ; Lower # L& [18] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL Z
-1D482..1D49B ; Lower # L& [26] MATHEMATICAL BOLD ITALIC SMALL A..MATHEMATICAL BOLD ITALIC SMALL Z
-1D4B6..1D4B9 ; Lower # L& [4] MATHEMATICAL SCRIPT SMALL A..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Lower # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Lower # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D4CF ; Lower # L& [11] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL SCRIPT SMALL Z
-1D4EA..1D503 ; Lower # L& [26] MATHEMATICAL BOLD SCRIPT SMALL A..MATHEMATICAL BOLD SCRIPT SMALL Z
-1D51E..1D537 ; Lower # L& [26] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL FRAKTUR SMALL Z
-1D552..1D56B ; Lower # L& [26] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D586..1D59F ; Lower # L& [26] MATHEMATICAL BOLD FRAKTUR SMALL A..MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5BA..1D5D3 ; Lower # L& [26] MATHEMATICAL SANS-SERIF SMALL A..MATHEMATICAL SANS-SERIF SMALL Z
-1D5EE..1D607 ; Lower # L& [26] MATHEMATICAL SANS-SERIF BOLD SMALL A..MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D622..1D63B ; Lower # L& [26] MATHEMATICAL SANS-SERIF ITALIC SMALL A..MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D656..1D66F ; Lower # L& [26] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D68A..1D6A5 ; Lower # L& [28] MATHEMATICAL MONOSPACE SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6C2..1D6DA ; Lower # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6E1 ; Lower # L& [6] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL BOLD PI SYMBOL
-1D6FC..1D714 ; Lower # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D71B ; Lower # L& [6] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL ITALIC PI SYMBOL
-1D736..1D74E ; Lower # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D755 ; Lower # L& [6] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D770..1D788 ; Lower # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D78F ; Lower # L& [6] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D7AA..1D7C2 ; Lower # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7C9 ; Lower # L& [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CB ; Lower # L& MATHEMATICAL BOLD SMALL DIGAMMA
-
-# Total code points: 1907
-
-# ================================================
-
-0041..005A ; Upper # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-00C0..00D6 ; Upper # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00DE ; Upper # L& [7] LATIN CAPITAL LETTER O WITH STROKE..LATIN CAPITAL LETTER THORN
-0100 ; Upper # L& LATIN CAPITAL LETTER A WITH MACRON
-0102 ; Upper # L& LATIN CAPITAL LETTER A WITH BREVE
-0104 ; Upper # L& LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; Upper # L& LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; Upper # L& LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; Upper # L& LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; Upper # L& LATIN CAPITAL LETTER C WITH CARON
-010E ; Upper # L& LATIN CAPITAL LETTER D WITH CARON
-0110 ; Upper # L& LATIN CAPITAL LETTER D WITH STROKE
-0112 ; Upper # L& LATIN CAPITAL LETTER E WITH MACRON
-0114 ; Upper # L& LATIN CAPITAL LETTER E WITH BREVE
-0116 ; Upper # L& LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; Upper # L& LATIN CAPITAL LETTER E WITH OGONEK
-011A ; Upper # L& LATIN CAPITAL LETTER E WITH CARON
-011C ; Upper # L& LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; Upper # L& LATIN CAPITAL LETTER G WITH BREVE
-0120 ; Upper # L& LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; Upper # L& LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; Upper # L& LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; Upper # L& LATIN CAPITAL LETTER H WITH STROKE
-0128 ; Upper # L& LATIN CAPITAL LETTER I WITH TILDE
-012A ; Upper # L& LATIN CAPITAL LETTER I WITH MACRON
-012C ; Upper # L& LATIN CAPITAL LETTER I WITH BREVE
-012E ; Upper # L& LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; Upper # L& LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132 ; Upper # L& LATIN CAPITAL LIGATURE IJ
-0134 ; Upper # L& LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; Upper # L& LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; Upper # L& LATIN CAPITAL LETTER L WITH ACUTE
-013B ; Upper # L& LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; Upper # L& LATIN CAPITAL LETTER L WITH CARON
-013F ; Upper # L& LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0141 ; Upper # L& LATIN CAPITAL LETTER L WITH STROKE
-0143 ; Upper # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; Upper # L& LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; Upper # L& LATIN CAPITAL LETTER N WITH CARON
-014A ; Upper # L& LATIN CAPITAL LETTER ENG
-014C ; Upper # L& LATIN CAPITAL LETTER O WITH MACRON
-014E ; Upper # L& LATIN CAPITAL LETTER O WITH BREVE
-0150 ; Upper # L& LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; Upper # L& LATIN CAPITAL LIGATURE OE
-0154 ; Upper # L& LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; Upper # L& LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; Upper # L& LATIN CAPITAL LETTER R WITH CARON
-015A ; Upper # L& LATIN CAPITAL LETTER S WITH ACUTE
-015C ; Upper # L& LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; Upper # L& LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; Upper # L& LATIN CAPITAL LETTER S WITH CARON
-0162 ; Upper # L& LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; Upper # L& LATIN CAPITAL LETTER T WITH CARON
-0166 ; Upper # L& LATIN CAPITAL LETTER T WITH STROKE
-0168 ; Upper # L& LATIN CAPITAL LETTER U WITH TILDE
-016A ; Upper # L& LATIN CAPITAL LETTER U WITH MACRON
-016C ; Upper # L& LATIN CAPITAL LETTER U WITH BREVE
-016E ; Upper # L& LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; Upper # L& LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; Upper # L& LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; Upper # L& LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; Upper # L& LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178..0179 ; Upper # L& [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; Upper # L& LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; Upper # L& LATIN CAPITAL LETTER Z WITH CARON
-0181..0182 ; Upper # L& [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; Upper # L& LATIN CAPITAL LETTER TONE SIX
-0186..0187 ; Upper # L& [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
-0189..018B ; Upper # L& [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
-018E..0191 ; Upper # L& [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
-0193..0194 ; Upper # L& [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
-0196..0198 ; Upper # L& [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
-019C..019D ; Upper # L& [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F..01A0 ; Upper # L& [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
-01A2 ; Upper # L& LATIN CAPITAL LETTER OI
-01A4 ; Upper # L& LATIN CAPITAL LETTER P WITH HOOK
-01A6..01A7 ; Upper # L& [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
-01A9 ; Upper # L& LATIN CAPITAL LETTER ESH
-01AC ; Upper # L& LATIN CAPITAL LETTER T WITH HOOK
-01AE..01AF ; Upper # L& [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
-01B1..01B3 ; Upper # L& [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; Upper # L& LATIN CAPITAL LETTER Z WITH STROKE
-01B7..01B8 ; Upper # L& [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
-01BC ; Upper # L& LATIN CAPITAL LETTER TONE FIVE
-01C4..01C5 ; Upper # L& [2] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C7..01C8 ; Upper # L& [2] LATIN CAPITAL LETTER LJ..LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01CA..01CB ; Upper # L& [2] LATIN CAPITAL LETTER NJ..LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CD ; Upper # L& LATIN CAPITAL LETTER A WITH CARON
-01CF ; Upper # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; Upper # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; Upper # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; Upper # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; Upper # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; Upper # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; Upper # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; Upper # L& LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; Upper # L& LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; Upper # L& LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; Upper # L& LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; Upper # L& LATIN CAPITAL LETTER G WITH CARON
-01E8 ; Upper # L& LATIN CAPITAL LETTER K WITH CARON
-01EA ; Upper # L& LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; Upper # L& LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; Upper # L& LATIN CAPITAL LETTER EZH WITH CARON
-01F1..01F2 ; Upper # L& [2] LATIN CAPITAL LETTER DZ..LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F4 ; Upper # L& LATIN CAPITAL LETTER G WITH ACUTE
-01F6..01F8 ; Upper # L& [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; Upper # L& LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; Upper # L& LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; Upper # L& LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; Upper # L& LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; Upper # L& LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; Upper # L& LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; Upper # L& LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; Upper # L& LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; Upper # L& LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; Upper # L& LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; Upper # L& LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; Upper # L& LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; Upper # L& LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; Upper # L& LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; Upper # L& LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; Upper # L& LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; Upper # L& LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; Upper # L& LATIN CAPITAL LETTER YOGH
-021E ; Upper # L& LATIN CAPITAL LETTER H WITH CARON
-0220 ; Upper # L& LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; Upper # L& LATIN CAPITAL LETTER OU
-0224 ; Upper # L& LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; Upper # L& LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; Upper # L& LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; Upper # L& LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; Upper # L& LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; Upper # L& LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; Upper # L& LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; Upper # L& LATIN CAPITAL LETTER Y WITH MACRON
-023A..023B ; Upper # L& [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
-023D..023E ; Upper # L& [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; Upper # L& LATIN CAPITAL LETTER GLOTTAL STOP
-0243..0246 ; Upper # L& [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
-0248 ; Upper # L& LATIN CAPITAL LETTER J WITH STROKE
-024A ; Upper # L& LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; Upper # L& LATIN CAPITAL LETTER R WITH STROKE
-024E ; Upper # L& LATIN CAPITAL LETTER Y WITH STROKE
-0370 ; Upper # L& GREEK CAPITAL LETTER HETA
-0372 ; Upper # L& GREEK CAPITAL LETTER ARCHAIC SAMPI
-0376 ; Upper # L& GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0386 ; Upper # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Upper # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Upper # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..038F ; Upper # L& [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391..03A1 ; Upper # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03AB ; Upper # L& [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03CF ; Upper # L& GREEK CAPITAL KAI SYMBOL
-03D2..03D4 ; Upper # L& [3] GREEK UPSILON WITH HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D8 ; Upper # L& GREEK LETTER ARCHAIC KOPPA
-03DA ; Upper # L& GREEK LETTER STIGMA
-03DC ; Upper # L& GREEK LETTER DIGAMMA
-03DE ; Upper # L& GREEK LETTER KOPPA
-03E0 ; Upper # L& GREEK LETTER SAMPI
-03E2 ; Upper # L& COPTIC CAPITAL LETTER SHEI
-03E4 ; Upper # L& COPTIC CAPITAL LETTER FEI
-03E6 ; Upper # L& COPTIC CAPITAL LETTER KHEI
-03E8 ; Upper # L& COPTIC CAPITAL LETTER HORI
-03EA ; Upper # L& COPTIC CAPITAL LETTER GANGIA
-03EC ; Upper # L& COPTIC CAPITAL LETTER SHIMA
-03EE ; Upper # L& COPTIC CAPITAL LETTER DEI
-03F4 ; Upper # L& GREEK CAPITAL THETA SYMBOL
-03F7 ; Upper # L& GREEK CAPITAL LETTER SHO
-03F9..03FA ; Upper # L& [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
-03FD..042F ; Upper # L& [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
-0460 ; Upper # L& CYRILLIC CAPITAL LETTER OMEGA
-0462 ; Upper # L& CYRILLIC CAPITAL LETTER YAT
-0464 ; Upper # L& CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; Upper # L& CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; Upper # L& CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; Upper # L& CYRILLIC CAPITAL LETTER BIG YUS
-046C ; Upper # L& CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; Upper # L& CYRILLIC CAPITAL LETTER KSI
-0470 ; Upper # L& CYRILLIC CAPITAL LETTER PSI
-0472 ; Upper # L& CYRILLIC CAPITAL LETTER FITA
-0474 ; Upper # L& CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; Upper # L& CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; Upper # L& CYRILLIC CAPITAL LETTER UK
-047A ; Upper # L& CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; Upper # L& CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; Upper # L& CYRILLIC CAPITAL LETTER OT
-0480 ; Upper # L& CYRILLIC CAPITAL LETTER KOPPA
-048A ; Upper # L& CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; Upper # L& CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; Upper # L& CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; Upper # L& CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; Upper # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; Upper # L& CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; Upper # L& CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; Upper # L& CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; Upper # L& CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; Upper # L& CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; Upper # L& CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; Upper # L& CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; Upper # L& CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; Upper # L& CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; Upper # L& CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; Upper # L& CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; Upper # L& CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; Upper # L& CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; Upper # L& CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; Upper # L& CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; Upper # L& CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; Upper # L& CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; Upper # L& CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; Upper # L& CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; Upper # L& CYRILLIC CAPITAL LETTER SHHA
-04BC ; Upper # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; Upper # L& CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0..04C1 ; Upper # L& [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; Upper # L& CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; Upper # L& CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; Upper # L& CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; Upper # L& CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; Upper # L& CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; Upper # L& CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; Upper # L& CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; Upper # L& CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; Upper # L& CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; Upper # L& CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; Upper # L& CYRILLIC CAPITAL LETTER SCHWA
-04DA ; Upper # L& CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; Upper # L& CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; Upper # L& CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; Upper # L& CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; Upper # L& CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; Upper # L& CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; Upper # L& CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; Upper # L& CYRILLIC CAPITAL LETTER BARRED O
-04EA ; Upper # L& CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; Upper # L& CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; Upper # L& CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; Upper # L& CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; Upper # L& CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; Upper # L& CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; Upper # L& CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; Upper # L& CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; Upper # L& CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; Upper # L& CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; Upper # L& CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; Upper # L& CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; Upper # L& CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; Upper # L& CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; Upper # L& CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; Upper # L& CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; Upper # L& CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; Upper # L& CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; Upper # L& CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; Upper # L& CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; Upper # L& CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; Upper # L& CYRILLIC CAPITAL LETTER LHA
-0516 ; Upper # L& CYRILLIC CAPITAL LETTER RHA
-0518 ; Upper # L& CYRILLIC CAPITAL LETTER YAE
-051A ; Upper # L& CYRILLIC CAPITAL LETTER QA
-051C ; Upper # L& CYRILLIC CAPITAL LETTER WE
-051E ; Upper # L& CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; Upper # L& CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; Upper # L& CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; Upper # L& CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531..0556 ; Upper # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-10A0..10C5 ; Upper # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1E00 ; Upper # L& LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; Upper # L& LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; Upper # L& LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; Upper # L& LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; Upper # L& LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; Upper # L& LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; Upper # L& LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; Upper # L& LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; Upper # L& LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; Upper # L& LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; Upper # L& LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; Upper # L& LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; Upper # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; Upper # L& LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; Upper # L& LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; Upper # L& LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; Upper # L& LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; Upper # L& LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; Upper # L& LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; Upper # L& LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; Upper # L& LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; Upper # L& LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; Upper # L& LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; Upper # L& LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; Upper # L& LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; Upper # L& LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; Upper # L& LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; Upper # L& LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; Upper # L& LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; Upper # L& LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; Upper # L& LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; Upper # L& LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; Upper # L& LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; Upper # L& LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; Upper # L& LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; Upper # L& LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; Upper # L& LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; Upper # L& LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; Upper # L& LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; Upper # L& LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; Upper # L& LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; Upper # L& LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; Upper # L& LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; Upper # L& LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; Upper # L& LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; Upper # L& LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; Upper # L& LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; Upper # L& LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; Upper # L& LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; Upper # L& LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; Upper # L& LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; Upper # L& LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; Upper # L& LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; Upper # L& LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; Upper # L& LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; Upper # L& LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; Upper # L& LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; Upper # L& LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; Upper # L& LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; Upper # L& LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; Upper # L& LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; Upper # L& LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; Upper # L& LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; Upper # L& LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; Upper # L& LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; Upper # L& LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; Upper # L& LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; Upper # L& LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; Upper # L& LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; Upper # L& LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; Upper # L& LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; Upper # L& LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; Upper # L& LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; Upper # L& LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; Upper # L& LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9E ; Upper # L& LATIN CAPITAL LETTER SHARP S
-1EA0 ; Upper # L& LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; Upper # L& LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; Upper # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; Upper # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; Upper # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; Upper # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; Upper # L& LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; Upper # L& LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; Upper # L& LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; Upper # L& LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; Upper # L& LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; Upper # L& LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; Upper # L& LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; Upper # L& LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; Upper # L& LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; Upper # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; Upper # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; Upper # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; Upper # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; Upper # L& LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; Upper # L& LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; Upper # L& LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; Upper # L& LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; Upper # L& LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; Upper # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; Upper # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; Upper # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; Upper # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; Upper # L& LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; Upper # L& LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; Upper # L& LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; Upper # L& LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; Upper # L& LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; Upper # L& LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; Upper # L& LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; Upper # L& LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; Upper # L& LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; Upper # L& LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; Upper # L& LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; Upper # L& LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; Upper # L& LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; Upper # L& LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; Upper # L& LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; Upper # L& LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; Upper # L& LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; Upper # L& LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; Upper # L& LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; Upper # L& LATIN CAPITAL LETTER Y WITH LOOP
-1F08..1F0F ; Upper # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18..1F1D ; Upper # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28..1F2F ; Upper # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38..1F3F ; Upper # L& [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48..1F4D ; Upper # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; Upper # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Upper # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Upper # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; Upper # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68..1F6F ; Upper # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F88..1F8F ; Upper # L& [8] GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F98..1F9F ; Upper # L& [8] GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA8..1FAF ; Upper # L& [8] GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FB8..1FBC ; Upper # L& [5] GREEK CAPITAL LETTER ALPHA WITH VRACHY..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FC8..1FCC ; Upper # L& [5] GREEK CAPITAL LETTER EPSILON WITH VARIA..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD8..1FDB ; Upper # L& [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE8..1FEC ; Upper # L& [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF8..1FFC ; Upper # L& [5] GREEK CAPITAL LETTER OMICRON WITH VARIA..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2102 ; Upper # L& DOUBLE-STRUCK CAPITAL C
-2107 ; Upper # L& EULER CONSTANT
-210B..210D ; Upper # L& [3] SCRIPT CAPITAL H..DOUBLE-STRUCK CAPITAL H
-2110..2112 ; Upper # L& [3] SCRIPT CAPITAL I..SCRIPT CAPITAL L
-2115 ; Upper # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Upper # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Upper # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; Upper # L& OHM SIGN
-2128 ; Upper # L& BLACK-LETTER CAPITAL Z
-212A..212D ; Upper # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-2130..2133 ; Upper # L& [4] SCRIPT CAPITAL E..SCRIPT CAPITAL M
-213E..213F ; Upper # L& [2] DOUBLE-STRUCK CAPITAL GAMMA..DOUBLE-STRUCK CAPITAL PI
-2145 ; Upper # L& DOUBLE-STRUCK ITALIC CAPITAL D
-2160..216F ; Upper # Nl [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
-2183 ; Upper # L& ROMAN NUMERAL REVERSED ONE HUNDRED
-24B6..24CF ; Upper # So [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
-2C00..2C2E ; Upper # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; Upper # L& LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62..2C64 ; Upper # L& [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; Upper # L& LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; Upper # L& LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; Upper # L& LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D..2C70 ; Upper # L& [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; Upper # L& LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; Upper # L& LATIN CAPITAL LETTER HALF H
-2C7E..2C80 ; Upper # L& [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
-2C82 ; Upper # L& COPTIC CAPITAL LETTER VIDA
-2C84 ; Upper # L& COPTIC CAPITAL LETTER GAMMA
-2C86 ; Upper # L& COPTIC CAPITAL LETTER DALDA
-2C88 ; Upper # L& COPTIC CAPITAL LETTER EIE
-2C8A ; Upper # L& COPTIC CAPITAL LETTER SOU
-2C8C ; Upper # L& COPTIC CAPITAL LETTER ZATA
-2C8E ; Upper # L& COPTIC CAPITAL LETTER HATE
-2C90 ; Upper # L& COPTIC CAPITAL LETTER THETHE
-2C92 ; Upper # L& COPTIC CAPITAL LETTER IAUDA
-2C94 ; Upper # L& COPTIC CAPITAL LETTER KAPA
-2C96 ; Upper # L& COPTIC CAPITAL LETTER LAULA
-2C98 ; Upper # L& COPTIC CAPITAL LETTER MI
-2C9A ; Upper # L& COPTIC CAPITAL LETTER NI
-2C9C ; Upper # L& COPTIC CAPITAL LETTER KSI
-2C9E ; Upper # L& COPTIC CAPITAL LETTER O
-2CA0 ; Upper # L& COPTIC CAPITAL LETTER PI
-2CA2 ; Upper # L& COPTIC CAPITAL LETTER RO
-2CA4 ; Upper # L& COPTIC CAPITAL LETTER SIMA
-2CA6 ; Upper # L& COPTIC CAPITAL LETTER TAU
-2CA8 ; Upper # L& COPTIC CAPITAL LETTER UA
-2CAA ; Upper # L& COPTIC CAPITAL LETTER FI
-2CAC ; Upper # L& COPTIC CAPITAL LETTER KHI
-2CAE ; Upper # L& COPTIC CAPITAL LETTER PSI
-2CB0 ; Upper # L& COPTIC CAPITAL LETTER OOU
-2CB2 ; Upper # L& COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; Upper # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; Upper # L& COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; Upper # L& COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; Upper # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; Upper # L& COPTIC CAPITAL LETTER SAMPI
-2CC2 ; Upper # L& COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; Upper # L& COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; Upper # L& COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; Upper # L& COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; Upper # L& COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; Upper # L& COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; Upper # L& COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; Upper # L& COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; Upper # L& COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; Upper # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; Upper # L& COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-A640 ; Upper # L& CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; Upper # L& CYRILLIC CAPITAL LETTER DZELO
-A644 ; Upper # L& CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; Upper # L& CYRILLIC CAPITAL LETTER IOTA
-A648 ; Upper # L& CYRILLIC CAPITAL LETTER DJERV
-A64A ; Upper # L& CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; Upper # L& CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; Upper # L& CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; Upper # L& CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; Upper # L& CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; Upper # L& CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; Upper # L& CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; Upper # L& CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; Upper # L& CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; Upper # L& CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; Upper # L& CYRILLIC CAPITAL LETTER YN
-A662 ; Upper # L& CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; Upper # L& CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; Upper # L& CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; Upper # L& CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; Upper # L& CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; Upper # L& CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; Upper # L& CYRILLIC CAPITAL LETTER DWE
-A682 ; Upper # L& CYRILLIC CAPITAL LETTER DZWE
-A684 ; Upper # L& CYRILLIC CAPITAL LETTER ZHWE
-A686 ; Upper # L& CYRILLIC CAPITAL LETTER CCHE
-A688 ; Upper # L& CYRILLIC CAPITAL LETTER DZZE
-A68A ; Upper # L& CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; Upper # L& CYRILLIC CAPITAL LETTER TWE
-A68E ; Upper # L& CYRILLIC CAPITAL LETTER TSWE
-A690 ; Upper # L& CYRILLIC CAPITAL LETTER TSSE
-A692 ; Upper # L& CYRILLIC CAPITAL LETTER TCHE
-A694 ; Upper # L& CYRILLIC CAPITAL LETTER HWE
-A696 ; Upper # L& CYRILLIC CAPITAL LETTER SHWE
-A722 ; Upper # L& LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; Upper # L& LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; Upper # L& LATIN CAPITAL LETTER HENG
-A728 ; Upper # L& LATIN CAPITAL LETTER TZ
-A72A ; Upper # L& LATIN CAPITAL LETTER TRESILLO
-A72C ; Upper # L& LATIN CAPITAL LETTER CUATRILLO
-A72E ; Upper # L& LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; Upper # L& LATIN CAPITAL LETTER AA
-A734 ; Upper # L& LATIN CAPITAL LETTER AO
-A736 ; Upper # L& LATIN CAPITAL LETTER AU
-A738 ; Upper # L& LATIN CAPITAL LETTER AV
-A73A ; Upper # L& LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; Upper # L& LATIN CAPITAL LETTER AY
-A73E ; Upper # L& LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; Upper # L& LATIN CAPITAL LETTER K WITH STROKE
-A742 ; Upper # L& LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; Upper # L& LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; Upper # L& LATIN CAPITAL LETTER BROKEN L
-A748 ; Upper # L& LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; Upper # L& LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; Upper # L& LATIN CAPITAL LETTER O WITH LOOP
-A74E ; Upper # L& LATIN CAPITAL LETTER OO
-A750 ; Upper # L& LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; Upper # L& LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; Upper # L& LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; Upper # L& LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; Upper # L& LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; Upper # L& LATIN CAPITAL LETTER R ROTUNDA
-A75C ; Upper # L& LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; Upper # L& LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; Upper # L& LATIN CAPITAL LETTER VY
-A762 ; Upper # L& LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; Upper # L& LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; Upper # L& LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; Upper # L& LATIN CAPITAL LETTER VEND
-A76A ; Upper # L& LATIN CAPITAL LETTER ET
-A76C ; Upper # L& LATIN CAPITAL LETTER IS
-A76E ; Upper # L& LATIN CAPITAL LETTER CON
-A779 ; Upper # L& LATIN CAPITAL LETTER INSULAR D
-A77B ; Upper # L& LATIN CAPITAL LETTER INSULAR F
-A77D..A77E ; Upper # L& [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; Upper # L& LATIN CAPITAL LETTER TURNED L
-A782 ; Upper # L& LATIN CAPITAL LETTER INSULAR R
-A784 ; Upper # L& LATIN CAPITAL LETTER INSULAR S
-A786 ; Upper # L& LATIN CAPITAL LETTER INSULAR T
-A78B ; Upper # L& LATIN CAPITAL LETTER SALTILLO
-FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-10400..10427 ; Upper # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
-1D400..1D419 ; Upper # L& [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
-1D434..1D44D ; Upper # L& [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
-1D468..1D481 ; Upper # L& [26] MATHEMATICAL BOLD ITALIC CAPITAL A..MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D49C ; Upper # L& MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Upper # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Upper # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Upper # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Upper # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B5 ; Upper # L& [8] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT CAPITAL Z
-1D4D0..1D4E9 ; Upper # L& [26] MATHEMATICAL BOLD SCRIPT CAPITAL A..MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D504..1D505 ; Upper # L& [2] MATHEMATICAL FRAKTUR CAPITAL A..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Upper # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Upper # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Upper # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D538..1D539 ; Upper # L& [2] MATHEMATICAL DOUBLE-STRUCK CAPITAL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Upper # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Upper # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Upper # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Upper # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D56C..1D585 ; Upper # L& [26] MATHEMATICAL BOLD FRAKTUR CAPITAL A..MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D5A0..1D5B9 ; Upper # L& [26] MATHEMATICAL SANS-SERIF CAPITAL A..MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5D4..1D5ED ; Upper # L& [26] MATHEMATICAL SANS-SERIF BOLD CAPITAL A..MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D608..1D621 ; Upper # L& [26] MATHEMATICAL SANS-SERIF ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D63C..1D655 ; Upper # L& [26] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D670..1D689 ; Upper # L& [26] MATHEMATICAL MONOSPACE CAPITAL A..MATHEMATICAL MONOSPACE CAPITAL Z
-1D6A8..1D6C0 ; Upper # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6E2..1D6FA ; Upper # L& [25] MATHEMATICAL ITALIC CAPITAL ALPHA..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D71C..1D734 ; Upper # L& [25] MATHEMATICAL BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D756..1D76E ; Upper # L& [25] MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D790..1D7A8 ; Upper # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7CA ; Upper # L& MATHEMATICAL BOLD CAPITAL DIGAMMA
-
-# Total code points: 1500
-
-# ================================================
-
-01BB ; OLetter # Lo LATIN LETTER TWO WITH STROKE
-01C0..01C3 ; OLetter # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-0294 ; OLetter # Lo LATIN LETTER GLOTTAL STOP
-02B9..02BF ; OLetter # Lm [7] MODIFIER LETTER PRIME..MODIFIER LETTER LEFT HALF RING
-02C6..02D1 ; OLetter # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02EC ; OLetter # Lm MODIFIER LETTER VOICING
-02EE ; OLetter # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0374 ; OLetter # Lm GREEK NUMERAL SIGN
-0559 ; OLetter # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-05D0..05EA ; OLetter # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; OLetter # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3 ; OLetter # Po HEBREW PUNCTUATION GERESH
-0621..063F ; OLetter # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; OLetter # Lm ARABIC TATWEEL
-0641..064A ; OLetter # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-066E..066F ; OLetter # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; OLetter # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; OLetter # Lo ARABIC LETTER AE
-06E5..06E6 ; OLetter # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06EE..06EF ; OLetter # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; OLetter # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; OLetter # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; OLetter # Lo SYRIAC LETTER ALAPH
-0712..072F ; OLetter # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; OLetter # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; OLetter # Lo THAANA LETTER NAA
-07CA..07EA ; OLetter # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; OLetter # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; OLetter # Lm NKO LAJANYALAN
-0800..0815 ; OLetter # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; OLetter # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; OLetter # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; OLetter # Lm SAMARITAN MODIFIER LETTER I
-0904..0939 ; OLetter # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; OLetter # Lo DEVANAGARI SIGN AVAGRAHA
-0950 ; OLetter # Lo DEVANAGARI OM
-0958..0961 ; OLetter # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0971 ; OLetter # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; OLetter # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; OLetter # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0985..098C ; OLetter # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; OLetter # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; OLetter # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; OLetter # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; OLetter # Lo BENGALI LETTER LA
-09B6..09B9 ; OLetter # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; OLetter # Lo BENGALI SIGN AVAGRAHA
-09CE ; OLetter # Lo BENGALI LETTER KHANDA TA
-09DC..09DD ; OLetter # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; OLetter # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09F0..09F1 ; OLetter # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A05..0A0A ; OLetter # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; OLetter # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; OLetter # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; OLetter # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; OLetter # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; OLetter # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; OLetter # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A59..0A5C ; OLetter # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; OLetter # Lo GURMUKHI LETTER FA
-0A72..0A74 ; OLetter # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A85..0A8D ; OLetter # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; OLetter # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; OLetter # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; OLetter # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; OLetter # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; OLetter # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; OLetter # Lo GUJARATI SIGN AVAGRAHA
-0AD0 ; OLetter # Lo GUJARATI OM
-0AE0..0AE1 ; OLetter # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0B05..0B0C ; OLetter # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; OLetter # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; OLetter # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; OLetter # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; OLetter # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; OLetter # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; OLetter # Lo ORIYA SIGN AVAGRAHA
-0B5C..0B5D ; OLetter # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; OLetter # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B71 ; OLetter # Lo ORIYA LETTER WA
-0B83 ; OLetter # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; OLetter # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; OLetter # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; OLetter # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; OLetter # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; OLetter # Lo TAMIL LETTER JA
-0B9E..0B9F ; OLetter # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; OLetter # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; OLetter # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; OLetter # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BD0 ; OLetter # Lo TAMIL OM
-0C05..0C0C ; OLetter # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; OLetter # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; OLetter # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; OLetter # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; OLetter # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; OLetter # Lo TELUGU SIGN AVAGRAHA
-0C58..0C59 ; OLetter # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; OLetter # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C85..0C8C ; OLetter # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; OLetter # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; OLetter # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; OLetter # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; OLetter # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; OLetter # Lo KANNADA SIGN AVAGRAHA
-0CDE ; OLetter # Lo KANNADA LETTER FA
-0CE0..0CE1 ; OLetter # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0D05..0D0C ; OLetter # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; OLetter # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; OLetter # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; OLetter # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; OLetter # Lo MALAYALAM SIGN AVAGRAHA
-0D60..0D61 ; OLetter # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D7A..0D7F ; OLetter # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D85..0D96 ; OLetter # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; OLetter # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; OLetter # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; OLetter # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; OLetter # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0E01..0E30 ; OLetter # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E32..0E33 ; OLetter # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E40..0E45 ; OLetter # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; OLetter # Lm THAI CHARACTER MAIYAMOK
-0E81..0E82 ; OLetter # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; OLetter # Lo LAO LETTER KHO TAM
-0E87..0E88 ; OLetter # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; OLetter # Lo LAO LETTER SO TAM
-0E8D ; OLetter # Lo LAO LETTER NYO
-0E94..0E97 ; OLetter # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; OLetter # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; OLetter # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; OLetter # Lo LAO LETTER LO LOOT
-0EA7 ; OLetter # Lo LAO LETTER WO
-0EAA..0EAB ; OLetter # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; OLetter # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB2..0EB3 ; OLetter # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EBD ; OLetter # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; OLetter # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; OLetter # Lm LAO KO LA
-0EDC..0EDD ; OLetter # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; OLetter # Lo TIBETAN SYLLABLE OM
-0F40..0F47 ; OLetter # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; OLetter # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F88..0F8B ; OLetter # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-1000..102A ; OLetter # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-103F ; OLetter # Lo MYANMAR LETTER GREAT SA
-1050..1055 ; OLetter # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-105A..105D ; OLetter # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061 ; OLetter # Lo MYANMAR LETTER SGAW KAREN SHA
-1065..1066 ; OLetter # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-106E..1070 ; OLetter # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081 ; OLetter # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-108E ; OLetter # Lo MYANMAR LETTER RUMAI PALAUNG FA
-10D0..10FA ; OLetter # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; OLetter # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; OLetter # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; OLetter # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; OLetter # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; OLetter # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; OLetter # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; OLetter # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; OLetter # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; OLetter # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; OLetter # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; OLetter # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; OLetter # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; OLetter # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; OLetter # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; OLetter # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; OLetter # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; OLetter # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1380..138F ; OLetter # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; OLetter # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; OLetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; OLetter # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; OLetter # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; OLetter # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; OLetter # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; OLetter # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; OLetter # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; OLetter # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1740..1751 ; OLetter # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; OLetter # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; OLetter # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1780..17B3 ; OLetter # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17D7 ; OLetter # Lm KHMER SIGN LEK TOO
-17DC ; OLetter # Lo KHMER SIGN AVAKRAHASANYA
-1820..1842 ; OLetter # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; OLetter # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; OLetter # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; OLetter # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; OLetter # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; OLetter # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; OLetter # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1950..196D ; OLetter # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; OLetter # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; OLetter # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7 ; OLetter # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-1A00..1A16 ; OLetter # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A20..1A54 ; OLetter # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1AA7 ; OLetter # Lm TAI THAM SIGN MAI YAMOK
-1B05..1B33 ; OLetter # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B45..1B4B ; OLetter # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B83..1BA0 ; OLetter # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF ; OLetter # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; OLetter # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C4D..1C4F ; OLetter # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; OLetter # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; OLetter # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CE9..1CEC ; OLetter # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; OLetter # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-2071 ; OLetter # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; OLetter # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2135..2138 ; OLetter # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2180..2182 ; OLetter # Nl [3] ROMAN NUMERAL ONE THOUSAND C D..ROMAN NUMERAL TEN THOUSAND
-2185..2188 ; OLetter # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2D30..2D65 ; OLetter # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; OLetter # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; OLetter # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; OLetter # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; OLetter # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; OLetter # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; OLetter # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; OLetter # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; OLetter # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; OLetter # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; OLetter # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2E2F ; OLetter # Lm VERTICAL TILDE
-3005 ; OLetter # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; OLetter # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; OLetter # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; OLetter # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3031..3035 ; OLetter # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; OLetter # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; OLetter # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; OLetter # Lo MASU MARK
-3041..3096 ; OLetter # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309D..309E ; OLetter # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; OLetter # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; OLetter # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; OLetter # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; OLetter # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; OLetter # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; OLetter # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; OLetter # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; OLetter # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; OLetter # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; OLetter # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; OLetter # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; OLetter # Lm YI SYLLABLE WU
-A016..A48C ; OLetter # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; OLetter # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; OLetter # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; OLetter # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; OLetter # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; OLetter # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; OLetter # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A66E ; OLetter # Lo CYRILLIC LETTER MULTIOCULAR O
-A67F ; OLetter # Lm CYRILLIC PAYEROK
-A6A0..A6E5 ; OLetter # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; OLetter # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A717..A71F ; OLetter # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A788 ; OLetter # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A7FB..A801 ; OLetter # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; OLetter # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; OLetter # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; OLetter # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A840..A873 ; OLetter # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A882..A8B3 ; OLetter # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8F2..A8F7 ; OLetter # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; OLetter # Lo DEVANAGARI HEADSTROKE
-A90A..A925 ; OLetter # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A930..A946 ; OLetter # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A960..A97C ; OLetter # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A984..A9B2 ; OLetter # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9CF ; OLetter # Lm JAVANESE PANGRANGKEP
-AA00..AA28 ; OLetter # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA40..AA42 ; OLetter # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; OLetter # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA60..AA6F ; OLetter # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; OLetter # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; OLetter # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; OLetter # Lo MYANMAR LETTER AITON RA
-AA80..AAAF ; OLetter # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; OLetter # Lo TAI VIET VOWEL AA
-AAB5..AAB6 ; OLetter # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; OLetter # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; OLetter # Lo TAI VIET TONE MAI NUENG
-AAC2 ; OLetter # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; OLetter # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; OLetter # Lm TAI VIET SYMBOL SAM
-ABC0..ABE2 ; OLetter # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-AC00..D7A3 ; OLetter # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; OLetter # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; OLetter # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; OLetter # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; OLetter # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; OLetter # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB1D ; OLetter # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; OLetter # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; OLetter # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; OLetter # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; OLetter # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; OLetter # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; OLetter # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; OLetter # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; OLetter # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; OLetter # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; OLetter # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; OLetter # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE70..FE74 ; OLetter # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; OLetter # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF66..FF6F ; OLetter # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; OLetter # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; OLetter # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FFA0..FFBE ; OLetter # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; OLetter # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; OLetter # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; OLetter # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; OLetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; OLetter # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; OLetter # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; OLetter # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; OLetter # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; OLetter # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; OLetter # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; OLetter # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; OLetter # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10280..1029C ; OLetter # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; OLetter # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; OLetter # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; OLetter # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; OLetter # Nl GOTHIC LETTER NINETY
-10342..10349 ; OLetter # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; OLetter # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; OLetter # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; OLetter # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; OLetter # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; OLetter # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10450..1049D ; OLetter # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; OLetter # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; OLetter # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; OLetter # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; OLetter # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; OLetter # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; OLetter # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; OLetter # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; OLetter # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; OLetter # Lo KHAROSHTHI LETTER A
-10A10..10A13 ; OLetter # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; OLetter # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; OLetter # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A60..10A7C ; OLetter # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; OLetter # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; OLetter # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; OLetter # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; OLetter # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11083..110AF ; OLetter # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-12000..1236E ; OLetter # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; OLetter # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; OLetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-20000..2A6D6 ; OLetter # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; OLetter # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; OLetter # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 96405
-
-# ================================================
-
-0030..0039 ; Numeric # Nd [10] DIGIT ZERO..DIGIT NINE
-0660..0669 ; Numeric # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066B..066C ; Numeric # Po [2] ARABIC DECIMAL SEPARATOR..ARABIC THOUSANDS SEPARATOR
-06F0..06F9 ; Numeric # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-07C0..07C9 ; Numeric # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-0966..096F ; Numeric # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-09E6..09EF ; Numeric # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-0A66..0A6F ; Numeric # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0AE6..0AEF ; Numeric # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B66..0B6F ; Numeric # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0BE6..0BEF ; Numeric # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C66..0C6F ; Numeric # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0CE6..0CEF ; Numeric # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D66..0D6F ; Numeric # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0E50..0E59 ; Numeric # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0ED0..0ED9 ; Numeric # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0F20..0F29 ; Numeric # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-1040..1049 ; Numeric # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1090..1099 ; Numeric # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-17E0..17E9 ; Numeric # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1810..1819 ; Numeric # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1946..194F ; Numeric # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-19D0..19DA ; Numeric # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A80..1A89 ; Numeric # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; Numeric # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1B50..1B59 ; Numeric # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1BB0..1BB9 ; Numeric # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C40..1C49 ; Numeric # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C50..1C59 ; Numeric # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-A620..A629 ; Numeric # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A8D0..A8D9 ; Numeric # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A900..A909 ; Numeric # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A9D0..A9D9 ; Numeric # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA50..AA59 ; Numeric # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-ABF0..ABF9 ; Numeric # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-104A0..104A9 ; Numeric # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-1D7CE..1D7FF ; Numeric # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 403
-
-# ================================================
-
-002E ; ATerm # Po FULL STOP
-2024 ; ATerm # Po ONE DOT LEADER
-FE52 ; ATerm # Po SMALL FULL STOP
-FF0E ; ATerm # Po FULLWIDTH FULL STOP
-
-# Total code points: 4
-
-# ================================================
-
-0021 ; STerm # Po EXCLAMATION MARK
-003F ; STerm # Po QUESTION MARK
-055C ; STerm # Po ARMENIAN EXCLAMATION MARK
-055E ; STerm # Po ARMENIAN QUESTION MARK
-0589 ; STerm # Po ARMENIAN FULL STOP
-061F ; STerm # Po ARABIC QUESTION MARK
-06D4 ; STerm # Po ARABIC FULL STOP
-0700..0702 ; STerm # Po [3] SYRIAC END OF PARAGRAPH..SYRIAC SUBLINEAR FULL STOP
-07F9 ; STerm # Po NKO EXCLAMATION MARK
-0964..0965 ; STerm # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-104A..104B ; STerm # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION
-1362 ; STerm # Po ETHIOPIC FULL STOP
-1367..1368 ; STerm # Po [2] ETHIOPIC QUESTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
-166E ; STerm # Po CANADIAN SYLLABICS FULL STOP
-1803 ; STerm # Po MONGOLIAN FULL STOP
-1809 ; STerm # Po MONGOLIAN MANCHU FULL STOP
-1944..1945 ; STerm # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1B5A..1B5B ; STerm # Po [2] BALINESE PANTI..BALINESE PAMADA
-1B5E..1B5F ; STerm # Po [2] BALINESE CARIK SIKI..BALINESE CARIK PAREREN
-1C3B..1C3C ; STerm # Po [2] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C7E..1C7F ; STerm # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-203C..203D ; STerm # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
-2047..2049 ; STerm # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2E2E ; STerm # Po REVERSED QUESTION MARK
-3002 ; STerm # Po IDEOGRAPHIC FULL STOP
-A4FF ; STerm # Po LISU PUNCTUATION FULL STOP
-A60E..A60F ; STerm # Po [2] VAI FULL STOP..VAI QUESTION MARK
-A6F3 ; STerm # Po BAMUM FULL STOP
-A6F7 ; STerm # Po BAMUM QUESTION MARK
-A876..A877 ; STerm # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD
-A8CE..A8CF ; STerm # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A92F ; STerm # Po KAYAH LI SIGN SHYA
-A9C8..A9C9 ; STerm # Po [2] JAVANESE PADA LINGSA..JAVANESE PADA LUNGSI
-AA5D..AA5F ; STerm # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
-ABEB ; STerm # Po MEETEI MAYEK CHEIKHEI
-FE56..FE57 ; STerm # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK
-FF01 ; STerm # Po FULLWIDTH EXCLAMATION MARK
-FF1F ; STerm # Po FULLWIDTH QUESTION MARK
-FF61 ; STerm # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-110BE..110C1 ; STerm # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-
-# Total code points: 63
-
-# ================================================
-
-0022 ; Close # Po QUOTATION MARK
-0027 ; Close # Po APOSTROPHE
-0028 ; Close # Ps LEFT PARENTHESIS
-0029 ; Close # Pe RIGHT PARENTHESIS
-005B ; Close # Ps LEFT SQUARE BRACKET
-005D ; Close # Pe RIGHT SQUARE BRACKET
-007B ; Close # Ps LEFT CURLY BRACKET
-007D ; Close # Pe RIGHT CURLY BRACKET
-00AB ; Close # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BB ; Close # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0F3A ; Close # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; Close # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; Close # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; Close # Pe TIBETAN MARK ANG KHANG GYAS
-169B ; Close # Ps OGHAM FEATHER MARK
-169C ; Close # Pe OGHAM REVERSED FEATHER MARK
-2018 ; Close # Pi LEFT SINGLE QUOTATION MARK
-2019 ; Close # Pf RIGHT SINGLE QUOTATION MARK
-201A ; Close # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; Close # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; Close # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; Close # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; Close # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2039 ; Close # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; Close # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-2045 ; Close # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; Close # Pe RIGHT SQUARE BRACKET WITH QUILL
-207D ; Close # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Close # Pe SUPERSCRIPT RIGHT PARENTHESIS
-208D ; Close # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Close # Pe SUBSCRIPT RIGHT PARENTHESIS
-2329 ; Close # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Close # Pe RIGHT-POINTING ANGLE BRACKET
-275B..275E ; Close # So [4] HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2768 ; Close # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; Close # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; Close # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; Close # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; Close # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; Close # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; Close # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; Close # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; Close # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; Close # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; Close # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; Close # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; Close # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; Close # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-27C5 ; Close # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Close # Pe RIGHT S-SHAPED BAG DELIMITER
-27E6 ; Close # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Close # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Close # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Close # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Close # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Close # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Close # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Close # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Close # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Close # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2983 ; Close # Ps LEFT WHITE CURLY BRACKET
-2984 ; Close # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Close # Ps LEFT WHITE PARENTHESIS
-2986 ; Close # Pe RIGHT WHITE PARENTHESIS
-2987 ; Close # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Close # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Close # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Close # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Close # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Close # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Close # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Close # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Close # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Close # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Close # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Close # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Close # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Close # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Close # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Close # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Close # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Close # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-29D8 ; Close # Ps LEFT WIGGLY FENCE
-29D9 ; Close # Pe RIGHT WIGGLY FENCE
-29DA ; Close # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Close # Pe RIGHT DOUBLE WIGGLY FENCE
-29FC ; Close # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Close # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-2E00..2E01 ; Close # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; Close # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; Close # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; Close # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; Close # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; Close # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; Close # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; Close # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; Close # Po RAISED SQUARE
-2E0C ; Close # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; Close # Pf RIGHT RAISED OMISSION BRACKET
-2E1C ; Close # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; Close # Pf RIGHT LOW PARAPHRASE BRACKET
-2E20 ; Close # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; Close # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; Close # Ps TOP LEFT HALF BRACKET
-2E23 ; Close # Pe TOP RIGHT HALF BRACKET
-2E24 ; Close # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; Close # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; Close # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; Close # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; Close # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; Close # Pe RIGHT DOUBLE PARENTHESIS
-3008 ; Close # Ps LEFT ANGLE BRACKET
-3009 ; Close # Pe RIGHT ANGLE BRACKET
-300A ; Close # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; Close # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; Close # Ps LEFT CORNER BRACKET
-300D ; Close # Pe RIGHT CORNER BRACKET
-300E ; Close # Ps LEFT WHITE CORNER BRACKET
-300F ; Close # Pe RIGHT WHITE CORNER BRACKET
-3010 ; Close # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; Close # Pe RIGHT BLACK LENTICULAR BRACKET
-3014 ; Close # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; Close # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; Close # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; Close # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; Close # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; Close # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; Close # Ps LEFT WHITE SQUARE BRACKET
-301B ; Close # Pe RIGHT WHITE SQUARE BRACKET
-301D ; Close # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; Close # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-FD3E ; Close # Ps ORNATE LEFT PARENTHESIS
-FD3F ; Close # Pe ORNATE RIGHT PARENTHESIS
-FE17 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE35 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE47 ; Close # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; Close # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE59 ; Close # Ps SMALL LEFT PARENTHESIS
-FE5A ; Close # Pe SMALL RIGHT PARENTHESIS
-FE5B ; Close # Ps SMALL LEFT CURLY BRACKET
-FE5C ; Close # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; Close # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; Close # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FF08 ; Close # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; Close # Pe FULLWIDTH RIGHT PARENTHESIS
-FF3B ; Close # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3D ; Close # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF5B ; Close # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5D ; Close # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5F ; Close # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; Close # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF62 ; Close # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Close # Pe HALFWIDTH RIGHT CORNER BRACKET
-
-# Total code points: 177
-
-# ================================================
-
-002C ; SContinue # Po COMMA
-002D ; SContinue # Pd HYPHEN-MINUS
-003A ; SContinue # Po COLON
-055D ; SContinue # Po ARMENIAN COMMA
-060C..060D ; SContinue # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-07F8 ; SContinue # Po NKO COMMA
-1802 ; SContinue # Po MONGOLIAN COMMA
-1808 ; SContinue # Po MONGOLIAN MANCHU COMMA
-2013..2014 ; SContinue # Pd [2] EN DASH..EM DASH
-3001 ; SContinue # Po IDEOGRAPHIC COMMA
-FE10..FE11 ; SContinue # Po [2] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE13 ; SContinue # Po PRESENTATION FORM FOR VERTICAL COLON
-FE31..FE32 ; SContinue # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE50..FE51 ; SContinue # Po [2] SMALL COMMA..SMALL IDEOGRAPHIC COMMA
-FE55 ; SContinue # Po SMALL COLON
-FE58 ; SContinue # Pd SMALL EM DASH
-FE63 ; SContinue # Pd SMALL HYPHEN-MINUS
-FF0C ; SContinue # Po FULLWIDTH COMMA
-FF0D ; SContinue # Pd FULLWIDTH HYPHEN-MINUS
-FF1A ; SContinue # Po FULLWIDTH COLON
-FF64 ; SContinue # Po HALFWIDTH IDEOGRAPHIC COMMA
-
-# Total code points: 26
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/auxiliary/WordBreakProperty.txt b/Master/tlpkg/tlperl/lib/unicore/auxiliary/WordBreakProperty.txt
deleted file mode 100644
index e38cb939f37..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/auxiliary/WordBreakProperty.txt
+++ /dev/null
@@ -1,898 +0,0 @@
-# WordBreakProperty-5.2.0.txt
-# Date: 2009-07-12, 04:17:35 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: Word_Break
-
-# All code points not explicitly listed for Word_Break
-# have the value Other (XX).
-
-# @missing: 0000..10FFFF; Other
-
-# ================================================
-
-000D ; CR # Cc <control-000D>
-
-# Total code points: 1
-
-# ================================================
-
-000A ; LF # Cc <control-000A>
-
-# Total code points: 1
-
-# ================================================
-
-000B..000C ; Newline # Cc [2] <control-000B>..<control-000C>
-0085 ; Newline # Cc <control-0085>
-2028 ; Newline # Zl LINE SEPARATOR
-2029 ; Newline # Zp PARAGRAPH SEPARATOR
-
-# Total code points: 5
-
-# ================================================
-
-0300..036F ; Extend # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; Extend # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; Extend # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; Extend # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; Extend # Mn HEBREW POINT RAFE
-05C1..05C2 ; Extend # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Extend # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Extend # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; Extend # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; Extend # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; Extend # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Extend # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; Extend # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; Extend # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; Extend # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; Extend # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; Extend # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; Extend # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Extend # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Extend # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; Extend # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; Extend # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; Extend # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; Extend # Mc DEVANAGARI SIGN VISARGA
-093C ; Extend # Mn DEVANAGARI SIGN NUKTA
-093E..0940 ; Extend # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; Extend # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; Extend # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; Extend # Mn DEVANAGARI SIGN VIRAMA
-094E ; Extend # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0951..0955 ; Extend # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Extend # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; Extend # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; Extend # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-09BC ; Extend # Mn BENGALI SIGN NUKTA
-09BE..09C0 ; Extend # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; Extend # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; Extend # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Extend # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; Extend # Mn BENGALI SIGN VIRAMA
-09D7 ; Extend # Mc BENGALI AU LENGTH MARK
-09E2..09E3 ; Extend # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Extend # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; Extend # Mc GURMUKHI SIGN VISARGA
-0A3C ; Extend # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; Extend # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; Extend # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Extend # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Extend # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Extend # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; Extend # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Extend # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; Extend # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; Extend # Mc GUJARATI SIGN VISARGA
-0ABC ; Extend # Mn GUJARATI SIGN NUKTA
-0ABE..0AC0 ; Extend # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; Extend # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Extend # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; Extend # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Extend # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; Extend # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; Extend # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Extend # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; Extend # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B3C ; Extend # Mn ORIYA SIGN NUKTA
-0B3E ; Extend # Mc ORIYA VOWEL SIGN AA
-0B3F ; Extend # Mn ORIYA VOWEL SIGN I
-0B40 ; Extend # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; Extend # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; Extend # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Extend # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; Extend # Mn ORIYA SIGN VIRAMA
-0B56 ; Extend # Mn ORIYA AI LENGTH MARK
-0B57 ; Extend # Mc ORIYA AU LENGTH MARK
-0B62..0B63 ; Extend # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Extend # Mn TAMIL SIGN ANUSVARA
-0BBE..0BBF ; Extend # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; Extend # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; Extend # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Extend # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Extend # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; Extend # Mn TAMIL SIGN VIRAMA
-0BD7 ; Extend # Mc TAMIL AU LENGTH MARK
-0C01..0C03 ; Extend # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C3E..0C40 ; Extend # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; Extend # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; Extend # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Extend # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Extend # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Extend # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C82..0C83 ; Extend # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0CBC ; Extend # Mn KANNADA SIGN NUKTA
-0CBE ; Extend # Mc KANNADA VOWEL SIGN AA
-0CBF ; Extend # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; Extend # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; Extend # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; Extend # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Extend # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; Extend # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CE2..0CE3 ; Extend # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D02..0D03 ; Extend # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D3E..0D40 ; Extend # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; Extend # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; Extend # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Extend # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; Extend # Mn MALAYALAM SIGN VIRAMA
-0D57 ; Extend # Mc MALAYALAM AU LENGTH MARK
-0D62..0D63 ; Extend # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D82..0D83 ; Extend # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0DCA ; Extend # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; Extend # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; Extend # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Extend # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; Extend # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; Extend # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E31 ; Extend # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; Extend # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E47..0E4E ; Extend # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; Extend # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; Extend # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Extend # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; Extend # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; Extend # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Extend # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Extend # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Extend # Mn TIBETAN MARK TSA -PHRU
-0F3E..0F3F ; Extend # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F71..0F7E ; Extend # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; Extend # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F84 ; Extend # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; Extend # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; Extend # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Extend # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; Extend # Mn TIBETAN SYMBOL PADMA GDAN
-102B..102C ; Extend # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; Extend # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; Extend # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; Extend # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; Extend # Mc MYANMAR SIGN VISARGA
-1039..103A ; Extend # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; Extend # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; Extend # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1056..1057 ; Extend # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; Extend # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Extend # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1062..1064 ; Extend # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1067..106D ; Extend # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1071..1074 ; Extend # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Extend # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; Extend # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; Extend # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; Extend # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; Extend # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108F ; Extend # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109C ; Extend # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; Extend # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; Extend # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; Extend # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; Extend # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; Extend # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Extend # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B6 ; Extend # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; Extend # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; Extend # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; Extend # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; Extend # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; Extend # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; Extend # Mn KHMER SIGN ATTHACAN
-180B..180D ; Extend # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; Extend # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Extend # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; Extend # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; Extend # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; Extend # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Extend # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; Extend # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; Extend # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-19B0..19C0 ; Extend # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9 ; Extend # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-1A17..1A18 ; Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; Extend # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A55 ; Extend # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; Extend # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; Extend # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; Extend # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Extend # Mn TAI THAM SIGN SAKOT
-1A61 ; Extend # Mc TAI THAM VOWEL SIGN A
-1A62 ; Extend # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; Extend # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; Extend # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; Extend # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; Extend # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Extend # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; Extend # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; Extend # Mc BALINESE SIGN BISAH
-1B34 ; Extend # Mn BALINESE SIGN REREKAN
-1B35 ; Extend # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; Extend # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; Extend # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; Extend # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; Extend # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; Extend # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; Extend # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B6B..1B73 ; Extend # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; Extend # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; Extend # Mc SUNDANESE SIGN PANGWISAD
-1BA1 ; Extend # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; Extend # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; Extend # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; Extend # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; Extend # Mc SUNDANESE SIGN PAMAAEH
-1C24..1C2B ; Extend # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; Extend # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; Extend # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; Extend # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; Extend # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Extend # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; Extend # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; Extend # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Extend # Mn VEDIC SIGN TIRYAK
-1CF2 ; Extend # Mc VEDIC SIGN ARDHAVISARGA
-1DC0..1DE6 ; Extend # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Extend # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200C..200D ; Extend # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
-20D0..20DC ; Extend # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; Extend # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; Extend # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; Extend # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; Extend # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; Extend # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; Extend # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; Extend # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Extend # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; Extend # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; Extend # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; Extend # Mn SYLOTI NAGRI SIGN ANUSVARA
-A823..A824 ; Extend # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; Extend # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; Extend # Mc SYLOTI NAGRI VOWEL SIGN OO
-A880..A881 ; Extend # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A8B4..A8C3 ; Extend # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; Extend # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Extend # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; Extend # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; Extend # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; Extend # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A980..A982 ; Extend # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; Extend # Mc JAVANESE SIGN WIGNYAN
-A9B3 ; Extend # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; Extend # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; Extend # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; Extend # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; Extend # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; Extend # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-AA29..AA2E ; Extend # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; Extend # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; Extend # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; Extend # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; Extend # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Extend # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; Extend # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; Extend # Mc CHAM CONSONANT SIGN FINAL H
-AA7B ; Extend # Mc MYANMAR SIGN PAO KAREN TONE
-AAB0 ; Extend # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; Extend # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Extend # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; Extend # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; Extend # Mn TAI VIET TONE MAI THO
-ABE3..ABE4 ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; Extend # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; Extend # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; Extend # Mc MEETEI MAYEK LUM IYEK
-ABED ; Extend # Mn MEETEI MAYEK APUN IYEK
-FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; Extend # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; Extend # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Extend # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Extend # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; Extend # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Extend # Mn KHAROSHTHI VIRAMA
-11080..11081 ; Extend # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; Extend # Mc KAITHI SIGN VISARGA
-110B0..110B2 ; Extend # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; Extend # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; Extend # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; Extend # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D165..1D166 ; Extend # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167..1D169 ; Extend # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16D..1D172 ; Extend # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D17B..1D182 ; Extend # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1455
-
-# ================================================
-
-00AD ; Format # Cf SOFT HYPHEN
-0600..0603 ; Format # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-06DD ; Format # Cf ARABIC END OF AYAH
-070F ; Format # Cf SYRIAC ABBREVIATION MARK
-17B4..17B5 ; Format # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-200E..200F ; Format # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-202A..202E ; Format # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; Format # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; Format # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-FEFF ; Format # Cf ZERO WIDTH NO-BREAK SPACE
-FFF9..FFFB ; Format # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-110BD ; Format # Cf KAITHI NUMBER SIGN
-1D173..1D17A ; Format # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-E0001 ; Format # Cf LANGUAGE TAG
-E0020..E007F ; Format # Cf [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 137
-
-# ================================================
-
-3031..3035 ; Katakana # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-309B..309C ; Katakana # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0 ; Katakana # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1..30FA ; Katakana # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; Katakana # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; Katakana # Lo KATAKANA DIGRAPH KOTO
-31F0..31FF ; Katakana # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-32D0..32FE ; Katakana # So [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO
-3300..3357 ; Katakana # So [88] SQUARE APAATO..SQUARE WATTO
-FF66..FF6F ; Katakana # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; Katakana # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-
-# Total code points: 309
-
-# ================================================
-
-0041..005A ; ALetter # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; ALetter # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; ALetter # L& FEMININE ORDINAL INDICATOR
-00B5 ; ALetter # L& MICRO SIGN
-00BA ; ALetter # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; ALetter # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; ALetter # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; ALetter # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; ALetter # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; ALetter # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; ALetter # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; ALetter # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; ALetter # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; ALetter # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; ALetter # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; ALetter # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; ALetter # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; ALetter # Lm MODIFIER LETTER VOICING
-02EE ; ALetter # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0370..0373 ; ALetter # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; ALetter # Lm GREEK NUMERAL SIGN
-0376..0377 ; ALetter # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; ALetter # Lm GREEK YPOGEGRAMMENI
-037B..037D ; ALetter # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; ALetter # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; ALetter # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; ALetter # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; ALetter # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; ALetter # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; ALetter # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-048A..0525 ; ALetter # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; ALetter # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; ALetter # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-0561..0587 ; ALetter # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-05D0..05EA ; ALetter # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; ALetter # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3 ; ALetter # Po HEBREW PUNCTUATION GERESH
-0621..063F ; ALetter # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; ALetter # Lm ARABIC TATWEEL
-0641..064A ; ALetter # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-066E..066F ; ALetter # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; ALetter # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; ALetter # Lo ARABIC LETTER AE
-06E5..06E6 ; ALetter # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06EE..06EF ; ALetter # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; ALetter # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; ALetter # Lo ARABIC LETTER HEH WITH INVERTED V
-0710 ; ALetter # Lo SYRIAC LETTER ALAPH
-0712..072F ; ALetter # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; ALetter # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; ALetter # Lo THAANA LETTER NAA
-07CA..07EA ; ALetter # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; ALetter # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; ALetter # Lm NKO LAJANYALAN
-0800..0815 ; ALetter # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; ALetter # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; ALetter # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; ALetter # Lm SAMARITAN MODIFIER LETTER I
-0904..0939 ; ALetter # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; ALetter # Lo DEVANAGARI SIGN AVAGRAHA
-0950 ; ALetter # Lo DEVANAGARI OM
-0958..0961 ; ALetter # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0971 ; ALetter # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; ALetter # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; ALetter # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0985..098C ; ALetter # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; ALetter # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; ALetter # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; ALetter # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; ALetter # Lo BENGALI LETTER LA
-09B6..09B9 ; ALetter # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; ALetter # Lo BENGALI SIGN AVAGRAHA
-09CE ; ALetter # Lo BENGALI LETTER KHANDA TA
-09DC..09DD ; ALetter # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; ALetter # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09F0..09F1 ; ALetter # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A05..0A0A ; ALetter # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; ALetter # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; ALetter # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; ALetter # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; ALetter # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; ALetter # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; ALetter # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A59..0A5C ; ALetter # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; ALetter # Lo GURMUKHI LETTER FA
-0A72..0A74 ; ALetter # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A85..0A8D ; ALetter # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; ALetter # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; ALetter # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; ALetter # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; ALetter # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; ALetter # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; ALetter # Lo GUJARATI SIGN AVAGRAHA
-0AD0 ; ALetter # Lo GUJARATI OM
-0AE0..0AE1 ; ALetter # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0B05..0B0C ; ALetter # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; ALetter # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; ALetter # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; ALetter # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; ALetter # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; ALetter # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; ALetter # Lo ORIYA SIGN AVAGRAHA
-0B5C..0B5D ; ALetter # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; ALetter # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B71 ; ALetter # Lo ORIYA LETTER WA
-0B83 ; ALetter # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; ALetter # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; ALetter # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; ALetter # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; ALetter # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; ALetter # Lo TAMIL LETTER JA
-0B9E..0B9F ; ALetter # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; ALetter # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; ALetter # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; ALetter # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BD0 ; ALetter # Lo TAMIL OM
-0C05..0C0C ; ALetter # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; ALetter # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; ALetter # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; ALetter # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; ALetter # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; ALetter # Lo TELUGU SIGN AVAGRAHA
-0C58..0C59 ; ALetter # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; ALetter # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C85..0C8C ; ALetter # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; ALetter # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; ALetter # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; ALetter # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; ALetter # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; ALetter # Lo KANNADA SIGN AVAGRAHA
-0CDE ; ALetter # Lo KANNADA LETTER FA
-0CE0..0CE1 ; ALetter # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0D05..0D0C ; ALetter # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; ALetter # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; ALetter # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; ALetter # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; ALetter # Lo MALAYALAM SIGN AVAGRAHA
-0D60..0D61 ; ALetter # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D7A..0D7F ; ALetter # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D85..0D96 ; ALetter # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; ALetter # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; ALetter # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; ALetter # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; ALetter # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0F00 ; ALetter # Lo TIBETAN SYLLABLE OM
-0F40..0F47 ; ALetter # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; ALetter # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F88..0F8B ; ALetter # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-10A0..10C5 ; ALetter # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; ALetter # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FC ; ALetter # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; ALetter # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; ALetter # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; ALetter # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; ALetter # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; ALetter # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; ALetter # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; ALetter # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; ALetter # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; ALetter # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; ALetter # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; ALetter # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; ALetter # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; ALetter # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; ALetter # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; ALetter # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; ALetter # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1380..138F ; ALetter # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; ALetter # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; ALetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; ALetter # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; ALetter # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; ALetter # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; ALetter # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; ALetter # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; ALetter # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; ALetter # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1740..1751 ; ALetter # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; ALetter # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; ALetter # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1820..1842 ; ALetter # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; ALetter # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; ALetter # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; ALetter # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; ALetter # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; ALetter # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; ALetter # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1A00..1A16 ; ALetter # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1B05..1B33 ; ALetter # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B45..1B4B ; ALetter # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B83..1BA0 ; ALetter # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF ; ALetter # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; ALetter # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C4D..1C4F ; ALetter # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; ALetter # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; ALetter # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CE9..1CEC ; ALetter # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; ALetter # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1D00..1D2B ; ALetter # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; ALetter # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; ALetter # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; ALetter # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; ALetter # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; ALetter # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; ALetter # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; ALetter # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; ALetter # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; ALetter # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; ALetter # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; ALetter # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; ALetter # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; ALetter # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; ALetter # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; ALetter # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; ALetter # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; ALetter # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; ALetter # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; ALetter # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; ALetter # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; ALetter # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; ALetter # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; ALetter # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; ALetter # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2071 ; ALetter # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; ALetter # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; ALetter # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2102 ; ALetter # L& DOUBLE-STRUCK CAPITAL C
-2107 ; ALetter # L& EULER CONSTANT
-210A..2113 ; ALetter # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; ALetter # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; ALetter # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; ALetter # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; ALetter # L& OHM SIGN
-2128 ; ALetter # L& BLACK-LETTER CAPITAL Z
-212A..212D ; ALetter # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2134 ; ALetter # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; ALetter # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; ALetter # L& INFORMATION SOURCE
-213C..213F ; ALetter # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; ALetter # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; ALetter # L& TURNED SMALL F
-2160..2182 ; ALetter # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; ALetter # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; ALetter # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-24B6..24E9 ; ALetter # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C00..2C2E ; ALetter # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; ALetter # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; ALetter # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; ALetter # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; ALetter # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; ALetter # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; ALetter # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; ALetter # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; ALetter # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; ALetter # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; ALetter # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; ALetter # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; ALetter # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; ALetter # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2E2F ; ALetter # Lm VERTICAL TILDE
-3005 ; ALetter # Lm IDEOGRAPHIC ITERATION MARK
-303B ; ALetter # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; ALetter # Lo MASU MARK
-3105..312D ; ALetter # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; ALetter # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; ALetter # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-A000..A014 ; ALetter # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; ALetter # Lm YI SYLLABLE WU
-A016..A48C ; ALetter # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; ALetter # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; ALetter # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; ALetter # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; ALetter # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; ALetter # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; ALetter # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; ALetter # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; ALetter # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; ALetter # Lo CYRILLIC LETTER MULTIOCULAR O
-A67F ; ALetter # Lm CYRILLIC PAYEROK
-A680..A697 ; ALetter # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; ALetter # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; ALetter # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A717..A71F ; ALetter # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A722..A76F ; ALetter # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; ALetter # Lm MODIFIER LETTER US
-A771..A787 ; ALetter # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; ALetter # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A78B..A78C ; ALetter # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; ALetter # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; ALetter # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; ALetter # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; ALetter # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A840..A873 ; ALetter # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A882..A8B3 ; ALetter # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8F2..A8F7 ; ALetter # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; ALetter # Lo DEVANAGARI HEADSTROKE
-A90A..A925 ; ALetter # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A930..A946 ; ALetter # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A960..A97C ; ALetter # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A984..A9B2 ; ALetter # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9CF ; ALetter # Lm JAVANESE PANGRANGKEP
-AA00..AA28 ; ALetter # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA40..AA42 ; ALetter # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; ALetter # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-ABC0..ABE2 ; ALetter # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-AC00..D7A3 ; ALetter # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; ALetter # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; ALetter # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-FB00..FB06 ; ALetter # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; ALetter # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; ALetter # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; ALetter # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; ALetter # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; ALetter # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; ALetter # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; ALetter # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; ALetter # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; ALetter # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; ALetter # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; ALetter # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; ALetter # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; ALetter # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE70..FE74 ; ALetter # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; ALetter # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF21..FF3A ; ALetter # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; ALetter # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FFA0..FFBE ; ALetter # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; ALetter # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; ALetter # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; ALetter # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; ALetter # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; ALetter # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; ALetter # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; ALetter # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; ALetter # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; ALetter # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; ALetter # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10140..10174 ; ALetter # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10280..1029C ; ALetter # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; ALetter # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; ALetter # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; ALetter # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; ALetter # Nl GOTHIC LETTER NINETY
-10342..10349 ; ALetter # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; ALetter # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; ALetter # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; ALetter # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; ALetter # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; ALetter # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; ALetter # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; ALetter # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; ALetter # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; ALetter # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; ALetter # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; ALetter # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; ALetter # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; ALetter # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; ALetter # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; ALetter # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; ALetter # Lo KHAROSHTHI LETTER A
-10A10..10A13 ; ALetter # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; ALetter # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; ALetter # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A60..10A7C ; ALetter # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; ALetter # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; ALetter # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; ALetter # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; ALetter # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11083..110AF ; ALetter # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-12000..1236E ; ALetter # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; ALetter # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..1342E ; ALetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D400..1D454 ; ALetter # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; ALetter # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; ALetter # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; ALetter # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; ALetter # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; ALetter # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; ALetter # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; ALetter # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; ALetter # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; ALetter # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; ALetter # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; ALetter # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; ALetter # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; ALetter # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; ALetter # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; ALetter # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; ALetter # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; ALetter # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; ALetter # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; ALetter # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C2..1D6DA ; ALetter # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; ALetter # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FC..1D714 ; ALetter # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; ALetter # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D736..1D74E ; ALetter # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; ALetter # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D770..1D788 ; ALetter # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; ALetter # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7AA..1D7C2 ; ALetter # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; ALetter # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-
-# Total code points: 23694
-
-# ================================================
-
-003A ; MidLetter # Po COLON
-00B7 ; MidLetter # Po MIDDLE DOT
-0387 ; MidLetter # Po GREEK ANO TELEIA
-05F4 ; MidLetter # Po HEBREW PUNCTUATION GERSHAYIM
-2027 ; MidLetter # Po HYPHENATION POINT
-FE13 ; MidLetter # Po PRESENTATION FORM FOR VERTICAL COLON
-FE55 ; MidLetter # Po SMALL COLON
-FF1A ; MidLetter # Po FULLWIDTH COLON
-
-# Total code points: 8
-
-# ================================================
-
-002C ; MidNum # Po COMMA
-003B ; MidNum # Po SEMICOLON
-037E ; MidNum # Po GREEK QUESTION MARK
-0589 ; MidNum # Po ARMENIAN FULL STOP
-060C..060D ; MidNum # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-066C ; MidNum # Po ARABIC THOUSANDS SEPARATOR
-07F8 ; MidNum # Po NKO COMMA
-2044 ; MidNum # Sm FRACTION SLASH
-FE10 ; MidNum # Po PRESENTATION FORM FOR VERTICAL COMMA
-FE14 ; MidNum # Po PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE50 ; MidNum # Po SMALL COMMA
-FE54 ; MidNum # Po SMALL SEMICOLON
-FF0C ; MidNum # Po FULLWIDTH COMMA
-FF1B ; MidNum # Po FULLWIDTH SEMICOLON
-
-# Total code points: 15
-
-# ================================================
-
-0027 ; MidNumLet # Po APOSTROPHE
-002E ; MidNumLet # Po FULL STOP
-2018 ; MidNumLet # Pi LEFT SINGLE QUOTATION MARK
-2019 ; MidNumLet # Pf RIGHT SINGLE QUOTATION MARK
-2024 ; MidNumLet # Po ONE DOT LEADER
-FE52 ; MidNumLet # Po SMALL FULL STOP
-FF07 ; MidNumLet # Po FULLWIDTH APOSTROPHE
-FF0E ; MidNumLet # Po FULLWIDTH FULL STOP
-
-# Total code points: 8
-
-# ================================================
-
-0030..0039 ; Numeric # Nd [10] DIGIT ZERO..DIGIT NINE
-0660..0669 ; Numeric # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066B ; Numeric # Po ARABIC DECIMAL SEPARATOR
-06F0..06F9 ; Numeric # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-07C0..07C9 ; Numeric # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-0966..096F ; Numeric # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-09E6..09EF ; Numeric # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-0A66..0A6F ; Numeric # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0AE6..0AEF ; Numeric # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B66..0B6F ; Numeric # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0BE6..0BEF ; Numeric # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C66..0C6F ; Numeric # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0CE6..0CEF ; Numeric # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D66..0D6F ; Numeric # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0E50..0E59 ; Numeric # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0ED0..0ED9 ; Numeric # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0F20..0F29 ; Numeric # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-1040..1049 ; Numeric # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1090..1099 ; Numeric # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-17E0..17E9 ; Numeric # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1810..1819 ; Numeric # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1946..194F ; Numeric # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-19D0..19DA ; Numeric # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A80..1A89 ; Numeric # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; Numeric # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1B50..1B59 ; Numeric # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1BB0..1BB9 ; Numeric # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C40..1C49 ; Numeric # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C50..1C59 ; Numeric # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-A620..A629 ; Numeric # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A8D0..A8D9 ; Numeric # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A900..A909 ; Numeric # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A9D0..A9D9 ; Numeric # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA50..AA59 ; Numeric # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-ABF0..ABF9 ; Numeric # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-104A0..104A9 ; Numeric # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-1D7CE..1D7FF ; Numeric # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 402
-
-# ================================================
-
-005F ; ExtendNumLet # Pc LOW LINE
-203F..2040 ; ExtendNumLet # Pc [2] UNDERTIE..CHARACTER TIE
-2054 ; ExtendNumLet # Pc INVERTED UNDERTIE
-FE33..FE34 ; ExtendNumLet # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE4D..FE4F ; ExtendNumLet # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FF3F ; ExtendNumLet # Pc FULLWIDTH LOW LINE
-
-# Total code points: 10
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DBidiClass.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DBidiClass.txt
deleted file mode 100644
index d3e0a577049..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DBidiClass.txt
+++ /dev/null
@@ -1,1779 +0,0 @@
-# DerivedBidiClass-5.2.0.txt
-# Date: 2009-08-26, 00:50:45 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Bidi Class (listing UnicodeData.txt, field 4: see UAX #44: http://www.unicode.org/reports/tr44/)
-# Unlike other properties, unassigned code points in blocks
-# reserved for right-to-left scripts are given either types R or AL.
-#
-# The unassigned code points that default to AL are in the ranges:
-# [\u0600-\u07BF \uFB50-\uFDFF \uFE70-\uFEFF]
-#
-# Arabic: U+0600 - U+06FF
-# Syriac: U+0700 - U+074F
-# Arabic_Supplement: U+0750 - U+077F
-# Thaana: U+0780 - U+07BF
-# Arabic_Presentation_Forms_A:
-# U+FB50 - U+FDFF
-# Arabic_Presentation_Forms_B:
-# U+FE70 - U+FEFF
-# minus noncharacter code points.
-#
-# The unassigned code points that default to R are in the ranges:
-# [\u0590-\u05FF \u07C0-\u08FF \uFB1D-\uFB4F \U00010800-\U00010FFF \U0001E800-\U0001EFFF]
-#
-# Hebrew: U+0590 - U+05FF
-# NKo: U+07C0 - U+07FF
-# Cypriot_Syllabary: U+10800 - U+1083F
-# Phoenician: U+10900 - U+1091F
-# Lydian: U+10920 - U+1093F
-# Kharoshthi: U+10A00 - U+10A5F
-# and any others in the ranges:
-# U+0800 - U+08FF,
-# U+FB1D - U+FB4F,
-# U+10840 - U+10FFF,
-# U+1E800 - U+1EFFF
-#
-# For all other cases:
-
-# All code points not explicitly listed for Bidi_Class
-# have the value Left_To_Right (L).
-
-# @missing: 0000..10FFFF; Left_To_Right
-
-# ================================================
-
-# Bidi_Class=Left_To_Right
-
-0041..005A ; L # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-0061..007A ; L # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; L # L& FEMININE ORDINAL INDICATOR
-00B5 ; L # L& MICRO SIGN
-00BA ; L # L& MASCULINE ORDINAL INDICATOR
-00C0..00D6 ; L # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; L # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; L # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; L # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; L # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; L # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; L # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; L # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; L # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02B8 ; L # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02BB..02C1 ; L # Lm [7] MODIFIER LETTER TURNED COMMA..MODIFIER LETTER REVERSED GLOTTAL STOP
-02D0..02D1 ; L # Lm [2] MODIFIER LETTER TRIANGULAR COLON..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; L # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EE ; L # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-0370..0373 ; L # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0376..0377 ; L # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; L # Lm GREEK YPOGEGRAMMENI
-037B..037D ; L # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0386 ; L # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; L # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; L # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; L # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; L # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F7..0481 ; L # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-0482 ; L # So CYRILLIC THOUSANDS SIGN
-048A..0525 ; L # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; L # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; L # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A..055F ; L # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0561..0587 ; L # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0589 ; L # Po ARMENIAN FULL STOP
-0903 ; L # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; L # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; L # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; L # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0949..094C ; L # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; L # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; L # Lo DEVANAGARI OM
-0958..0961 ; L # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0964..0965 ; L # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0966..096F ; L # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0970 ; L # Po DEVANAGARI ABBREVIATION SIGN
-0971 ; L # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; L # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; L # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0982..0983 ; L # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; L # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; L # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; L # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; L # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; L # Lo BENGALI LETTER LA
-09B6..09B9 ; L # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; L # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; L # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C7..09C8 ; L # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; L # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CE ; L # Lo BENGALI LETTER KHANDA TA
-09D7 ; L # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; L # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; L # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E6..09EF ; L # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; L # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-09F4..09F9 ; L # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; L # So BENGALI ISSHAR
-0A03 ; L # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; L # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; L # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; L # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; L # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; L # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; L # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; L # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3E..0A40 ; L # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A59..0A5C ; L # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; L # Lo GURMUKHI LETTER FA
-0A66..0A6F ; L # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A72..0A74 ; L # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A83 ; L # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; L # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; L # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; L # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; L # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; L # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; L # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; L # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; L # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC9 ; L # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; L # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0AD0 ; L # Lo GUJARATI OM
-0AE0..0AE1 ; L # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE6..0AEF ; L # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B02..0B03 ; L # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; L # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; L # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; L # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; L # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; L # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; L # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; L # Lo ORIYA SIGN AVAGRAHA
-0B3E ; L # Mc ORIYA VOWEL SIGN AA
-0B40 ; L # Mc ORIYA VOWEL SIGN II
-0B47..0B48 ; L # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; L # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B57 ; L # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; L # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; L # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B66..0B6F ; L # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B70 ; L # So ORIYA ISSHAR
-0B71 ; L # Lo ORIYA LETTER WA
-0B83 ; L # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; L # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; L # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; L # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; L # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; L # Lo TAMIL LETTER JA
-0B9E..0B9F ; L # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; L # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; L # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; L # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; L # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC1..0BC2 ; L # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; L # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; L # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BD0 ; L # Lo TAMIL OM
-0BD7 ; L # Mc TAMIL AU LENGTH MARK
-0BE6..0BEF ; L # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0BF0..0BF2 ; L # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0C01..0C03 ; L # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; L # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; L # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; L # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; L # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; L # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; L # Lo TELUGU SIGN AVAGRAHA
-0C41..0C44 ; L # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C58..0C59 ; L # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; L # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C66..0C6F ; L # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C7F ; L # So TELUGU SIGN TUUMU
-0C82..0C83 ; L # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; L # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; L # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; L # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; L # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; L # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; L # Lo KANNADA SIGN AVAGRAHA
-0CBE ; L # Mc KANNADA VOWEL SIGN AA
-0CBF ; L # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; L # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; L # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; L # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; L # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CD5..0CD6 ; L # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; L # Lo KANNADA LETTER FA
-0CE0..0CE1 ; L # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE6..0CEF ; L # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D02..0D03 ; L # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; L # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; L # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; L # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; L # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; L # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; L # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D46..0D48 ; L # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; L # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D57 ; L # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; L # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D66..0D6F ; L # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D70..0D75 ; L # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D79 ; L # So MALAYALAM DATE MARK
-0D7A..0D7F ; L # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; L # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; L # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; L # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; L # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; L # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; L # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCF..0DD1 ; L # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD8..0DDF ; L # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; L # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4 ; L # Po SINHALA PUNCTUATION KUNDDALIYA
-0E01..0E30 ; L # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E32..0E33 ; L # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E40..0E45 ; L # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; L # Lm THAI CHARACTER MAIYAMOK
-0E4F ; L # Po THAI CHARACTER FONGMAN
-0E50..0E59 ; L # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E5A..0E5B ; L # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0E81..0E82 ; L # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; L # Lo LAO LETTER KHO TAM
-0E87..0E88 ; L # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; L # Lo LAO LETTER SO TAM
-0E8D ; L # Lo LAO LETTER NYO
-0E94..0E97 ; L # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; L # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; L # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; L # Lo LAO LETTER LO LOOT
-0EA7 ; L # Lo LAO LETTER WO
-0EAA..0EAB ; L # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; L # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB2..0EB3 ; L # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EBD ; L # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; L # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; L # Lm LAO KO LA
-0ED0..0ED9 ; L # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; L # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; L # Lo TIBETAN SYLLABLE OM
-0F01..0F03 ; L # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04..0F12 ; L # Po [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17 ; L # So [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F1A..0F1F ; L # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20..0F29 ; L # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F2A..0F33 ; L # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-0F34 ; L # So TIBETAN MARK BSDUS RTAGS
-0F36 ; L # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F38 ; L # So TIBETAN MARK CHE MGO
-0F3E..0F3F ; L # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; L # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; L # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F7F ; L # Mc TIBETAN SIGN RNAM BCAD
-0F85 ; L # Po TIBETAN MARK PALUTA
-0F88..0F8B ; L # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0FBE..0FC5 ; L # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
-0FC7..0FCC ; L # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; L # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD0..0FD4 ; L # Po [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5..0FD8 ; L # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-1000..102A ; L # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; L # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-1031 ; L # Mc MYANMAR VOWEL SIGN E
-1038 ; L # Mc MYANMAR SIGN VISARGA
-103B..103C ; L # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103F ; L # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; L # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-104A..104F ; L # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
-1050..1055 ; L # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; L # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-105A..105D ; L # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061 ; L # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; L # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; L # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; L # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; L # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081 ; L # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1083..1084 ; L # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1087..108C ; L # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108E ; L # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; L # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; L # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; L # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109E..109F ; L # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-10A0..10C5 ; L # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; L # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FB ; L # Po GEORGIAN PARAGRAPH SEPARATOR
-10FC ; L # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; L # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; L # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; L # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; L # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; L # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; L # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; L # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; L # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; L # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; L # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; L # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; L # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; L # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; L # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; L # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; L # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360 ; L # So ETHIOPIC SECTION MARK
-1361..1368 ; L # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-1369..137C ; L # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-1380..138F ; L # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; L # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; L # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166D..166E ; L # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-166F..167F ; L # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; L # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; L # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EB..16ED ; L # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-16EE..16F0 ; L # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; L # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; L # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; L # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1735..1736 ; L # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-1740..1751 ; L # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; L # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; L # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1780..17B3 ; L # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5 ; L # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6 ; L # Mc KHMER VOWEL SIGN AA
-17BE..17C5 ; L # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C7..17C8 ; L # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17D4..17D6 ; L # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17D7 ; L # Lm KHMER SIGN LEK TOO
-17D8..17DA ; L # Po [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
-17DC ; L # Lo KHMER SIGN AVAKRAHASANYA
-17E0..17E9 ; L # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1810..1819 ; L # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; L # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; L # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; L # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; L # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; L # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; L # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; L # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1923..1926 ; L # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1929..192B ; L # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; L # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1933..1938 ; L # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1946..194F ; L # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-1950..196D ; L # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; L # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; L # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; L # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; L # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; L # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; L # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A00..1A16 ; L # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A19..1A1B ; L # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A1E..1A1F ; L # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1A20..1A54 ; L # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; L # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A57 ; L # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A61 ; L # Mc TAI THAM VOWEL SIGN A
-1A63..1A64 ; L # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A6D..1A72 ; L # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A80..1A89 ; L # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; L # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA0..1AA6 ; L # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 ; L # Lm TAI THAM SIGN MAI YAMOK
-1AA8..1AAD ; L # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-1B04 ; L # Mc BALINESE SIGN BISAH
-1B05..1B33 ; L # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B35 ; L # Mc BALINESE VOWEL SIGN TEDUNG
-1B3B ; L # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D..1B41 ; L # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43..1B44 ; L # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B45..1B4B ; L # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; L # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B5A..1B60 ; L # Po [7] BALINESE PANTI..BALINESE PAMENENG
-1B61..1B6A ; L # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B74..1B7C ; L # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B82 ; L # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; L # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; L # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA6..1BA7 ; L # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BAA ; L # Mc SUNDANESE SIGN PAMAAEH
-1BAE..1BAF ; L # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; L # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C00..1C23 ; L # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; L # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C34..1C35 ; L # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C3B..1C3F ; L # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C40..1C49 ; L # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; L # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C50..1C59 ; L # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; L # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; L # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1C7E..1C7F ; L # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD3 ; L # Po VEDIC SIGN NIHSHVASA
-1CE1 ; L # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE9..1CEC ; L # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; L # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; L # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; L # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; L # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; L # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; L # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; L # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; L # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; L # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; L # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; L # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; L # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; L # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; L # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; L # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; L # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; L # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; L # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; L # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; L # L& GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; L # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; L # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FD0..1FD3 ; L # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; L # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE0..1FEC ; L # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF2..1FF4 ; L # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; L # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-200E ; L # Cf LEFT-TO-RIGHT MARK
-2071 ; L # Lm SUPERSCRIPT LATIN SMALL LETTER I
-207F ; L # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; L # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2102 ; L # L& DOUBLE-STRUCK CAPITAL C
-2107 ; L # L& EULER CONSTANT
-210A..2113 ; L # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; L # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; L # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; L # L& DOUBLE-STRUCK CAPITAL Z
-2126 ; L # L& OHM SIGN
-2128 ; L # L& BLACK-LETTER CAPITAL Z
-212A..212D ; L # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212F..2134 ; L # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; L # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; L # L& INFORMATION SOURCE
-213C..213F ; L # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2145..2149 ; L # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; L # L& TURNED SMALL F
-214F ; L # So SYMBOL FOR SAMARITAN SOURCE
-2160..2182 ; L # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; L # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; L # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2336..237A ; L # So [69] APL FUNCTIONAL SYMBOL I-BEAM..APL FUNCTIONAL SYMBOL ALPHA
-2395 ; L # So APL FUNCTIONAL SYMBOL QUAD
-249C..24E9 ; L # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-26AC ; L # So MEDIUM SMALL WHITE CIRCLE
-2800..28FF ; L # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2C00..2C2E ; L # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; L # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; L # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; L # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; L # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CEB..2CEE ; L # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; L # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; L # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; L # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; L # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; L # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; L # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; L # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; L # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; L # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; L # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; L # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; L # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-3005 ; L # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; L # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; L # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; L # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3031..3035 ; L # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3038..303A ; L # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; L # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; L # Lo MASU MARK
-3041..3096 ; L # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309D..309E ; L # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; L # Lo HIRAGANA DIGRAPH YORI
-30A1..30FA ; L # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FC..30FE ; L # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; L # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; L # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; L # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3190..3191 ; L # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192..3195 ; L # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; L # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31A0..31B7 ; L # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; L # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3200..321C ; L # So [29] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED HANGUL CIEUC U
-3220..3229 ; L # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..324F ; L # So [38] PARENTHESIZED IDEOGRAPH MOON..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-3260..327B ; L # So [28] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL HIEUH A
-327F ; L # So KOREAN STANDARD SYMBOL
-3280..3289 ; L # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; L # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32C0..32CB ; L # So [12] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-32D0..32FE ; L # So [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO
-3300..3376 ; L # So [119] SQUARE APAATO..SQUARE PC
-337B..33DD ; L # So [99] SQUARE ERA NAME HEISEI..SQUARE WB
-33E0..33FE ; L # So [31] IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-3400..4DB5 ; L # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; L # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; L # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; L # Lm YI SYLLABLE WU
-A016..A48C ; L # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; L # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; L # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A4FE..A4FF ; L # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A500..A60B ; L # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; L # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; L # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; L # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; L # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; L # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; L # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; L # Lo CYRILLIC LETTER MULTIOCULAR O
-A680..A697 ; L # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; L # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; L # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F2..A6F7 ; L # Po [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
-A722..A76F ; L # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; L # Lm MODIFIER LETTER US
-A771..A787 ; L # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A789..A78A ; L # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A78B..A78C ; L # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; L # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; L # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; L # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; L # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; L # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A827 ; L # Mc SYLOTI NAGRI VOWEL SIGN OO
-A830..A835 ; L # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-A836..A837 ; L # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A840..A873 ; L # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A880..A881 ; L # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; L # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; L # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8CE..A8CF ; L # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A8D0..A8D9 ; L # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A8F2..A8F7 ; L # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8..A8FA ; L # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A8FB ; L # Lo DEVANAGARI HEADSTROKE
-A900..A909 ; L # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; L # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A92E..A92F ; L # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-A930..A946 ; L # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A952..A953 ; L # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A95F ; L # Po REJANG SECTION MARK
-A960..A97C ; L # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A983 ; L # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; L # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B4..A9B5 ; L # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9BA..A9BB ; L # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BD..A9C0 ; L # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-A9C1..A9CD ; L # Po [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
-A9CF ; L # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; L # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-A9DE..A9DF ; L # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA00..AA28 ; L # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA2F..AA30 ; L # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA33..AA34 ; L # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA40..AA42 ; L # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; L # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4D ; L # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; L # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA5C..AA5F ; L # Po [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-AA60..AA6F ; L # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; L # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; L # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA77..AA79 ; L # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-AA7A ; L # Lo MYANMAR LETTER AITON RA
-AA7B ; L # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; L # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; L # Lo TAI VIET VOWEL AA
-AAB5..AAB6 ; L # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; L # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; L # Lo TAI VIET TONE MAI NUENG
-AAC2 ; L # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; L # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; L # Lm TAI VIET SYMBOL SAM
-AADE..AADF ; L # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-ABC0..ABE2 ; L # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; L # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE6..ABE7 ; L # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE9..ABEA ; L # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEB ; L # Po MEETEI MAYEK CHEIKHEI
-ABEC ; L # Mc MEETEI MAYEK LUM IYEK
-ABF0..ABF9 ; L # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-AC00..D7A3 ; L # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; L # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; L # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-E000..F8FF ; L # Co [6400] <private-use-E000>..<private-use-F8FF>
-F900..FA2D ; L # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; L # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; L # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; L # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; L # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF21..FF3A ; L # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF41..FF5A ; L # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF66..FF6F ; L # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; L # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; L # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; L # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; L # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; L # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; L # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; L # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; L # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; L # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; L # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; L # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; L # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; L # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; L # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100 ; L # Po AEGEAN WORD SEPARATOR LINE
-10102 ; L # So AEGEAN CHECK MARK
-10107..10133 ; L # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; L # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-101D0..101FC ; L # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-10280..1029C ; L # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; L # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; L # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; L # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340 ; L # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; L # Nl GOTHIC LETTER NINETY
-10342..10349 ; L # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; L # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; L # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-1039F ; L # Po UGARITIC WORD DIVIDER
-103A0..103C3 ; L # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; L # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D0 ; L # Po OLD PERSIAN WORD DIVIDER
-103D1..103D5 ; L # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; L # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; L # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-104A0..104A9 ; L # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-11082 ; L # Mc KAITHI SIGN VISARGA
-11083..110AF ; L # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; L # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B7..110B8 ; L # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110BB..110BC ; L # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BD ; L # Cf KAITHI NUMBER SIGN
-110BE..110C1 ; L # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12000..1236E ; L # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; L # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470..12473 ; L # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000..1342E ; L # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D000..1D0F5 ; L # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; L # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; L # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D165..1D166 ; L # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D16A..1D16C ; L # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D..1D172 ; L # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D183..1D184 ; L # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D18C..1D1A9 ; L # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD ; L # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D360..1D371 ; L # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D400..1D454 ; L # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; L # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; L # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; L # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; L # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; L # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; L # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; L # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; L # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; L # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; L # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; L # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; L # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; L # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; L # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; L # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; L # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; L # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; L # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; L # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; L # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; L # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6FA ; L # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; L # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; L # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D734 ; L # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; L # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; L # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D76E ; L # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; L # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; L # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D7A8 ; L # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; L # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; L # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7CB ; L # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1F110..1F12E ; L # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; L # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; L # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; L # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; L # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; L # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; L # So [5] SQUARED HV..SQUARED PPV
-1F157 ; L # So NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; L # So NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; L # So NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; L # So [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; L # So NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; L # So [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; L # So SQUARE DJ
-1F200 ; L # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; L # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; L # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6 ; L # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; L # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; L # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-F0000..FFFFD ; L # Co [65534] <private-use-F0000>..<private-use-FFFFD>
-100000..10FFFD; L # Co [65534] <private-use-100000>..<private-use-10FFFD>
-
-# The above property value applies to 861492 code points not listed here.
-# Total code points: 1099541
-
-# ================================================
-
-# Bidi_Class=Right_To_Left
-
-0590 ; R # Cn <reserved-0590>
-05BE ; R # Pd HEBREW PUNCTUATION MAQAF
-05C0 ; R # Po HEBREW PUNCTUATION PASEQ
-05C3 ; R # Po HEBREW PUNCTUATION SOF PASUQ
-05C6 ; R # Po HEBREW PUNCTUATION NUN HAFUKHA
-05C8..05CF ; R # Cn [8] <reserved-05C8>..<reserved-05CF>
-05D0..05EA ; R # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05EB..05EF ; R # Cn [5] <reserved-05EB>..<reserved-05EF>
-05F0..05F2 ; R # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3..05F4 ; R # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-05F5..05FF ; R # Cn [11] <reserved-05F5>..<reserved-05FF>
-07C0..07C9 ; R # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; R # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; R # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; R # Lm NKO LAJANYALAN
-07FB..07FF ; R # Cn [5] <reserved-07FB>..<reserved-07FF>
-0800..0815 ; R # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; R # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; R # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; R # Lm SAMARITAN MODIFIER LETTER I
-082E..082F ; R # Cn [2] <reserved-082E>..<reserved-082F>
-0830..083E ; R # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-083F..08FF ; R # Cn [193] <reserved-083F>..<reserved-08FF>
-200F ; R # Cf RIGHT-TO-LEFT MARK
-FB1D ; R # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; R # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; R # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB37 ; R # Cn <reserved-FB37>
-FB38..FB3C ; R # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3D ; R # Cn <reserved-FB3D>
-FB3E ; R # Lo HEBREW LETTER MEM WITH DAGESH
-FB3F ; R # Cn <reserved-FB3F>
-FB40..FB41 ; R # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB42 ; R # Cn <reserved-FB42>
-FB43..FB44 ; R # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB45 ; R # Cn <reserved-FB45>
-FB46..FB4F ; R # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED
-10800..10805 ; R # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10806..10807 ; R # Cn [2] <reserved-10806>..<reserved-10807>
-10808 ; R # Lo CYPRIOT SYLLABLE JO
-10809 ; R # Cn <reserved-10809>
-1080A..10835 ; R # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10836 ; R # Cn <reserved-10836>
-10837..10838 ; R # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-10839..1083B ; R # Cn [3] <reserved-10839>..<reserved-1083B>
-1083C ; R # Lo CYPRIOT SYLLABLE ZA
-1083D..1083E ; R # Cn [2] <reserved-1083D>..<reserved-1083E>
-1083F..10855 ; R # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10856 ; R # Cn <reserved-10856>
-10857 ; R # Po IMPERIAL ARAMAIC SECTION SIGN
-10858..1085F ; R # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10860..108FF ; R # Cn [160] <reserved-10860>..<reserved-108FF>
-10900..10915 ; R # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10916..1091B ; R # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-1091C..1091E ; R # Cn [3] <reserved-1091C>..<reserved-1091E>
-10920..10939 ; R # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093A..1093E ; R # Cn [5] <reserved-1093A>..<reserved-1093E>
-1093F ; R # Po LYDIAN TRIANGULAR MARK
-10940..109FF ; R # Cn [192] <reserved-10940>..<reserved-109FF>
-10A00 ; R # Lo KHAROSHTHI LETTER A
-10A04 ; R # Cn <reserved-10A04>
-10A07..10A0B ; R # Cn [5] <reserved-10A07>..<reserved-10A0B>
-10A10..10A13 ; R # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A14 ; R # Cn <reserved-10A14>
-10A15..10A17 ; R # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A18 ; R # Cn <reserved-10A18>
-10A19..10A33 ; R # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A34..10A37 ; R # Cn [4] <reserved-10A34>..<reserved-10A37>
-10A3B..10A3E ; R # Cn [4] <reserved-10A3B>..<reserved-10A3E>
-10A40..10A47 ; R # No [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A48..10A4F ; R # Cn [8] <reserved-10A48>..<reserved-10A4F>
-10A50..10A58 ; R # Po [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-10A59..10A5F ; R # Cn [7] <reserved-10A59>..<reserved-10A5F>
-10A60..10A7C ; R # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10A7D..10A7E ; R # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; R # Po OLD SOUTH ARABIAN NUMERIC INDICATOR
-10A80..10AFF ; R # Cn [128] <reserved-10A80>..<reserved-10AFF>
-10B00..10B35 ; R # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B36..10B38 ; R # Cn [3] <reserved-10B36>..<reserved-10B38>
-10B40..10B55 ; R # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B56..10B57 ; R # Cn [2] <reserved-10B56>..<reserved-10B57>
-10B58..10B5F ; R # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60..10B72 ; R # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B73..10B77 ; R # Cn [5] <reserved-10B73>..<reserved-10B77>
-10B78..10B7F ; R # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10B80..10BFF ; R # Cn [128] <reserved-10B80>..<reserved-10BFF>
-10C00..10C48 ; R # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10C49..10E5F ; R # Cn [535] <reserved-10C49>..<reserved-10E5F>
-10E7F..10FFF ; R # Cn [385] <reserved-10E7F>..<reserved-10FFF>
-1E800..1EFFF ; R # Cn [2048] <reserved-1E800>..<reserved-1EFFF>
-
-# Total code points: 4441
-
-# ================================================
-
-# Bidi_Class=European_Number
-
-0030..0039 ; EN # Nd [10] DIGIT ZERO..DIGIT NINE
-00B2..00B3 ; EN # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B9 ; EN # No SUPERSCRIPT ONE
-06F0..06F9 ; EN # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-2070 ; EN # No SUPERSCRIPT ZERO
-2074..2079 ; EN # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-2080..2089 ; EN # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-2488..249B ; EN # No [20] DIGIT ONE FULL STOP..NUMBER TWENTY FULL STOP
-FF10..FF19 ; EN # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-1D7CE..1D7FF ; EN # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F100..1F10A ; EN # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-
-# Total code points: 131
-
-# ================================================
-
-# Bidi_Class=European_Separator
-
-002B ; ES # Sm PLUS SIGN
-002D ; ES # Pd HYPHEN-MINUS
-207A..207B ; ES # Sm [2] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT MINUS
-208A..208B ; ES # Sm [2] SUBSCRIPT PLUS SIGN..SUBSCRIPT MINUS
-2212 ; ES # Sm MINUS SIGN
-FB29 ; ES # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FE62 ; ES # Sm SMALL PLUS SIGN
-FE63 ; ES # Pd SMALL HYPHEN-MINUS
-FF0B ; ES # Sm FULLWIDTH PLUS SIGN
-FF0D ; ES # Pd FULLWIDTH HYPHEN-MINUS
-
-# Total code points: 12
-
-# ================================================
-
-# Bidi_Class=European_Terminator
-
-0023 ; ET # Po NUMBER SIGN
-0024 ; ET # Sc DOLLAR SIGN
-0025 ; ET # Po PERCENT SIGN
-00A2..00A5 ; ET # Sc [4] CENT SIGN..YEN SIGN
-00B0 ; ET # So DEGREE SIGN
-00B1 ; ET # Sm PLUS-MINUS SIGN
-0609..060A ; ET # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-066A ; ET # Po ARABIC PERCENT SIGN
-09F2..09F3 ; ET # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09FB ; ET # Sc BENGALI GANDA MARK
-0AF1 ; ET # Sc GUJARATI RUPEE SIGN
-0BF9 ; ET # Sc TAMIL RUPEE SIGN
-0E3F ; ET # Sc THAI CURRENCY SYMBOL BAHT
-17DB ; ET # Sc KHMER CURRENCY SYMBOL RIEL
-2030..2034 ; ET # Po [5] PER MILLE SIGN..TRIPLE PRIME
-20A0..20B8 ; ET # Sc [25] EURO-CURRENCY SIGN..TENGE SIGN
-212E ; ET # So ESTIMATED SYMBOL
-2213 ; ET # Sm MINUS-OR-PLUS SIGN
-A838 ; ET # Sc NORTH INDIC RUPEE MARK
-A839 ; ET # So NORTH INDIC QUANTITY MARK
-FE5F ; ET # Po SMALL NUMBER SIGN
-FE69 ; ET # Sc SMALL DOLLAR SIGN
-FE6A ; ET # Po SMALL PERCENT SIGN
-FF03 ; ET # Po FULLWIDTH NUMBER SIGN
-FF04 ; ET # Sc FULLWIDTH DOLLAR SIGN
-FF05 ; ET # Po FULLWIDTH PERCENT SIGN
-FFE0..FFE1 ; ET # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE5..FFE6 ; ET # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-
-# Total code points: 63
-
-# ================================================
-
-# Bidi_Class=Arabic_Number
-
-0600..0603 ; AN # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-0660..0669 ; AN # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066B..066C ; AN # Po [2] ARABIC DECIMAL SEPARATOR..ARABIC THOUSANDS SEPARATOR
-06DD ; AN # Cf ARABIC END OF AYAH
-10E60..10E7E ; AN # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-
-# Total code points: 48
-
-# ================================================
-
-# Bidi_Class=Common_Separator
-
-002C ; CS # Po COMMA
-002E..002F ; CS # Po [2] FULL STOP..SOLIDUS
-003A ; CS # Po COLON
-00A0 ; CS # Zs NO-BREAK SPACE
-060C ; CS # Po ARABIC COMMA
-202F ; CS # Zs NARROW NO-BREAK SPACE
-2044 ; CS # Sm FRACTION SLASH
-FE50 ; CS # Po SMALL COMMA
-FE52 ; CS # Po SMALL FULL STOP
-FE55 ; CS # Po SMALL COLON
-FF0C ; CS # Po FULLWIDTH COMMA
-FF0E..FF0F ; CS # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF1A ; CS # Po FULLWIDTH COLON
-
-# Total code points: 15
-
-# ================================================
-
-# Bidi_Class=Paragraph_Separator
-
-000A ; B # Cc <control-000A>
-000D ; B # Cc <control-000D>
-001C..001E ; B # Cc [3] <control-001C>..<control-001E>
-0085 ; B # Cc <control-0085>
-2029 ; B # Zp PARAGRAPH SEPARATOR
-
-# Total code points: 7
-
-# ================================================
-
-# Bidi_Class=Segment_Separator
-
-0009 ; S # Cc <control-0009>
-000B ; S # Cc <control-000B>
-001F ; S # Cc <control-001F>
-
-# Total code points: 3
-
-# ================================================
-
-# Bidi_Class=White_Space
-
-000C ; WS # Cc <control-000C>
-0020 ; WS # Zs SPACE
-1680 ; WS # Zs OGHAM SPACE MARK
-180E ; WS # Zs MONGOLIAN VOWEL SEPARATOR
-2000..200A ; WS # Zs [11] EN QUAD..HAIR SPACE
-2028 ; WS # Zl LINE SEPARATOR
-205F ; WS # Zs MEDIUM MATHEMATICAL SPACE
-3000 ; WS # Zs IDEOGRAPHIC SPACE
-
-# Total code points: 18
-
-# ================================================
-
-# Bidi_Class=Other_Neutral
-
-0021..0022 ; ON # Po [2] EXCLAMATION MARK..QUOTATION MARK
-0026..0027 ; ON # Po [2] AMPERSAND..APOSTROPHE
-0028 ; ON # Ps LEFT PARENTHESIS
-0029 ; ON # Pe RIGHT PARENTHESIS
-002A ; ON # Po ASTERISK
-003B ; ON # Po SEMICOLON
-003C..003E ; ON # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-003F..0040 ; ON # Po [2] QUESTION MARK..COMMERCIAL AT
-005B ; ON # Ps LEFT SQUARE BRACKET
-005C ; ON # Po REVERSE SOLIDUS
-005D ; ON # Pe RIGHT SQUARE BRACKET
-005E ; ON # Sk CIRCUMFLEX ACCENT
-005F ; ON # Pc LOW LINE
-0060 ; ON # Sk GRAVE ACCENT
-007B ; ON # Ps LEFT CURLY BRACKET
-007C ; ON # Sm VERTICAL LINE
-007D ; ON # Pe RIGHT CURLY BRACKET
-007E ; ON # Sm TILDE
-00A1 ; ON # Po INVERTED EXCLAMATION MARK
-00A6..00A7 ; ON # So [2] BROKEN BAR..SECTION SIGN
-00A8 ; ON # Sk DIAERESIS
-00A9 ; ON # So COPYRIGHT SIGN
-00AB ; ON # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; ON # Sm NOT SIGN
-00AE ; ON # So REGISTERED SIGN
-00AF ; ON # Sk MACRON
-00B4 ; ON # Sk ACUTE ACCENT
-00B6 ; ON # So PILCROW SIGN
-00B7 ; ON # Po MIDDLE DOT
-00B8 ; ON # Sk CEDILLA
-00BB ; ON # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC..00BE ; ON # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00BF ; ON # Po INVERTED QUESTION MARK
-00D7 ; ON # Sm MULTIPLICATION SIGN
-00F7 ; ON # Sm DIVISION SIGN
-02B9..02BA ; ON # Lm [2] MODIFIER LETTER PRIME..MODIFIER LETTER DOUBLE PRIME
-02C2..02C5 ; ON # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6..02CF ; ON # Lm [10] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER LOW ACUTE ACCENT
-02D2..02DF ; ON # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E5..02EB ; ON # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; ON # Lm MODIFIER LETTER VOICING
-02ED ; ON # Sk MODIFIER LETTER UNASPIRATED
-02EF..02FF ; ON # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0374 ; ON # Lm GREEK NUMERAL SIGN
-0375 ; ON # Sk GREEK LOWER NUMERAL SIGN
-037E ; ON # Po GREEK QUESTION MARK
-0384..0385 ; ON # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0387 ; ON # Po GREEK ANO TELEIA
-03F6 ; ON # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-058A ; ON # Pd ARMENIAN HYPHEN
-0606..0607 ; ON # Sm [2] ARABIC-INDIC CUBE ROOT..ARABIC-INDIC FOURTH ROOT
-060E..060F ; ON # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-06E9 ; ON # So ARABIC PLACE OF SAJDAH
-07F6 ; ON # So NKO SYMBOL OO DENNEN
-07F7..07F9 ; ON # Po [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
-0BF3..0BF8 ; ON # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BFA ; ON # So TAMIL NUMBER SIGN
-0C78..0C7E ; ON # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0CF1..0CF2 ; ON # So [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0F3A ; ON # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; ON # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; ON # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; ON # Pe TIBETAN MARK ANG KHANG GYAS
-1390..1399 ; ON # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-1400 ; ON # Pd CANADIAN SYLLABICS HYPHEN
-169B ; ON # Ps OGHAM FEATHER MARK
-169C ; ON # Pe OGHAM REVERSED FEATHER MARK
-17F0..17F9 ; ON # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800..1805 ; ON # Po [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS
-1806 ; ON # Pd MONGOLIAN TODO SOFT HYPHEN
-1807..180A ; ON # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
-1940 ; ON # So LIMBU SIGN LOO
-1944..1945 ; ON # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-19DE..19DF ; ON # Po [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-19E0..19FF ; ON # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1FBD ; ON # Sk GREEK KORONIS
-1FBF..1FC1 ; ON # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FCD..1FCF ; ON # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FDD..1FDF ; ON # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FED..1FEF ; ON # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FFD..1FFE ; ON # Sk [2] GREEK OXIA..GREEK DASIA
-2010..2015 ; ON # Pd [6] HYPHEN..HORIZONTAL BAR
-2016..2017 ; ON # Po [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
-2018 ; ON # Pi LEFT SINGLE QUOTATION MARK
-2019 ; ON # Pf RIGHT SINGLE QUOTATION MARK
-201A ; ON # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; ON # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; ON # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; ON # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; ON # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020..2027 ; ON # Po [8] DAGGER..HYPHENATION POINT
-2035..2038 ; ON # Po [4] REVERSED PRIME..CARET
-2039 ; ON # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; ON # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B..203E ; ON # Po [4] REFERENCE MARK..OVERLINE
-203F..2040 ; ON # Pc [2] UNDERTIE..CHARACTER TIE
-2041..2043 ; ON # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-2045 ; ON # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; ON # Pe RIGHT SQUARE BRACKET WITH QUILL
-2047..2051 ; ON # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; ON # Sm COMMERCIAL MINUS SIGN
-2053 ; ON # Po SWUNG DASH
-2054 ; ON # Pc INVERTED UNDERTIE
-2055..205E ; ON # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-207C ; ON # Sm SUPERSCRIPT EQUALS SIGN
-207D ; ON # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; ON # Pe SUPERSCRIPT RIGHT PARENTHESIS
-208C ; ON # Sm SUBSCRIPT EQUALS SIGN
-208D ; ON # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; ON # Pe SUBSCRIPT RIGHT PARENTHESIS
-2100..2101 ; ON # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2103..2106 ; ON # So [4] DEGREE CELSIUS..CADA UNA
-2108..2109 ; ON # So [2] SCRUPLE..DEGREE FAHRENHEIT
-2114 ; ON # So L B BAR SYMBOL
-2116..2118 ; ON # So [3] NUMERO SIGN..SCRIPT CAPITAL P
-211E..2123 ; ON # So [6] PRESCRIPTION TAKE..VERSICLE
-2125 ; ON # So OUNCE SIGN
-2127 ; ON # So INVERTED OHM SIGN
-2129 ; ON # So TURNED GREEK SMALL LETTER IOTA
-213A..213B ; ON # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-2140..2144 ; ON # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-214A ; ON # So PROPERTY LINE
-214B ; ON # Sm TURNED AMPERSAND
-214C..214D ; ON # So [2] PER SIGN..AKTIESELSKAB
-2150..215F ; ON # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2189 ; ON # No VULGAR FRACTION ZERO THIRDS
-2190..2194 ; ON # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; ON # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219A..219B ; ON # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; ON # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; ON # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; ON # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; ON # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; ON # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; ON # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; ON # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; ON # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21CD ; ON # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; ON # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; ON # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D2 ; ON # Sm RIGHTWARDS DOUBLE ARROW
-21D3 ; ON # So DOWNWARDS DOUBLE ARROW
-21D4 ; ON # Sm LEFT RIGHT DOUBLE ARROW
-21D5..21F3 ; ON # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-21F4..2211 ; ON # Sm [30] RIGHT ARROW WITH SMALL CIRCLE..N-ARY SUMMATION
-2214..22FF ; ON # Sm [236] DOT PLUS..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; ON # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; ON # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..231F ; ON # So [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
-2320..2321 ; ON # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; ON # So [7] FROWN..KEYBOARD
-2329 ; ON # Ps LEFT-POINTING ANGLE BRACKET
-232A ; ON # Pe RIGHT-POINTING ANGLE BRACKET
-232B..2335 ; ON # So [11] ERASE TO THE LEFT..COUNTERSINK
-237B ; ON # So NOT CHECK MARK
-237C ; ON # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..2394 ; ON # So [24] SHOULDERED OPEN BOX..SOFTWARE-FUNCTION SYMBOL
-2396..239A ; ON # So [5] DECIMAL SEPARATOR KEY SYMBOL..CLEAR SCREEN SYMBOL
-239B..23B3 ; ON # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; ON # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; ON # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; ON # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; ON # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; ON # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-2460..2487 ; ON # No [40] CIRCLED DIGIT ONE..PARENTHESIZED NUMBER TWENTY
-24EA..24FF ; ON # No [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
-2500..25B6 ; ON # So [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
-25B7 ; ON # Sm WHITE RIGHT-POINTING TRIANGLE
-25B8..25C0 ; ON # So [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C1 ; ON # Sm WHITE LEFT-POINTING TRIANGLE
-25C2..25F7 ; ON # So [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; ON # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..266E ; ON # So [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN
-266F ; ON # Sm MUSIC SHARP SIGN
-2670..26AB ; ON # So [60] WEST SYRIAC CROSS..MEDIUM BLACK CIRCLE
-26AD..26CD ; ON # So [33] MARRIAGE SYMBOL..DISABLED CAR
-26CF..26E1 ; ON # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; ON # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; ON # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701..2704 ; ON # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; ON # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; ON # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; ON # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; ON # So SHADOWED WHITE CIRCLE
-274F..2752 ; ON # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756..275E ; ON # So [9] BLACK DIAMOND MINUS WHITE X..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; ON # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2768 ; ON # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; ON # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; ON # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; ON # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; ON # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; ON # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; ON # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; ON # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; ON # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; ON # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; ON # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; ON # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; ON # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; ON # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776..2793 ; ON # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794 ; ON # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; ON # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; ON # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27C0..27C4 ; ON # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; ON # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; ON # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; ON # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; ON # Sm LONG DIVISION
-27D0..27E5 ; ON # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; ON # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; ON # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; ON # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; ON # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; ON # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; ON # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; ON # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; ON # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; ON # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; ON # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; ON # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2900..2982 ; ON # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; ON # Ps LEFT WHITE CURLY BRACKET
-2984 ; ON # Pe RIGHT WHITE CURLY BRACKET
-2985 ; ON # Ps LEFT WHITE PARENTHESIS
-2986 ; ON # Pe RIGHT WHITE PARENTHESIS
-2987 ; ON # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; ON # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; ON # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; ON # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; ON # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; ON # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; ON # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; ON # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; ON # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; ON # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; ON # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; ON # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; ON # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; ON # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; ON # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; ON # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; ON # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; ON # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; ON # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; ON # Ps LEFT WIGGLY FENCE
-29D9 ; ON # Pe RIGHT WIGGLY FENCE
-29DA ; ON # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; ON # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; ON # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; ON # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; ON # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; ON # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; ON # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; ON # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; ON # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; ON # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B59 ; ON # So [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
-2CE5..2CEA ; ON # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2CF9..2CFC ; ON # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; ON # No COPTIC FRACTION ONE HALF
-2CFE..2CFF ; ON # Po [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
-2E00..2E01 ; ON # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; ON # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; ON # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; ON # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; ON # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; ON # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; ON # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; ON # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; ON # Po RAISED SQUARE
-2E0C ; ON # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; ON # Pf RIGHT RAISED OMISSION BRACKET
-2E0E..2E16 ; ON # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E17 ; ON # Pd DOUBLE OBLIQUE HYPHEN
-2E18..2E19 ; ON # Po [2] INVERTED INTERROBANG..PALM BRANCH
-2E1A ; ON # Pd HYPHEN WITH DIAERESIS
-2E1B ; ON # Po TILDE WITH RING ABOVE
-2E1C ; ON # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; ON # Pf RIGHT LOW PARAPHRASE BRACKET
-2E1E..2E1F ; ON # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E20 ; ON # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; ON # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; ON # Ps TOP LEFT HALF BRACKET
-2E23 ; ON # Pe TOP RIGHT HALF BRACKET
-2E24 ; ON # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; ON # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; ON # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; ON # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; ON # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; ON # Pe RIGHT DOUBLE PARENTHESIS
-2E2A..2E2E ; ON # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E2F ; ON # Lm VERTICAL TILDE
-2E30..2E31 ; ON # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-2E80..2E99 ; ON # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; ON # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; ON # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; ON # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3001..3003 ; ON # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
-3004 ; ON # So JAPANESE INDUSTRIAL STANDARD SYMBOL
-3008 ; ON # Ps LEFT ANGLE BRACKET
-3009 ; ON # Pe RIGHT ANGLE BRACKET
-300A ; ON # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; ON # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; ON # Ps LEFT CORNER BRACKET
-300D ; ON # Pe RIGHT CORNER BRACKET
-300E ; ON # Ps LEFT WHITE CORNER BRACKET
-300F ; ON # Pe RIGHT WHITE CORNER BRACKET
-3010 ; ON # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; ON # Pe RIGHT BLACK LENTICULAR BRACKET
-3012..3013 ; ON # So [2] POSTAL MARK..GETA MARK
-3014 ; ON # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; ON # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; ON # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; ON # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; ON # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; ON # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; ON # Ps LEFT WHITE SQUARE BRACKET
-301B ; ON # Pe RIGHT WHITE SQUARE BRACKET
-301C ; ON # Pd WAVE DASH
-301D ; ON # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; ON # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-3020 ; ON # So POSTAL MARK FACE
-3030 ; ON # Pd WAVY DASH
-3036..3037 ; ON # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303D ; ON # Po PART ALTERNATION MARK
-303E..303F ; ON # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
-309B..309C ; ON # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0 ; ON # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB ; ON # Po KATAKANA MIDDLE DOT
-31C0..31E3 ; ON # So [36] CJK STROKE T..CJK STROKE Q
-321D..321E ; ON # So [2] PARENTHESIZED KOREAN CHARACTER OJEON..PARENTHESIZED KOREAN CHARACTER O HU
-3250 ; ON # So PARTNERSHIP SIGN
-3251..325F ; ON # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-327C..327E ; ON # So [3] CIRCLED KOREAN CHARACTER CHAMKO..CIRCLED HANGUL IEUNG U
-32B1..32BF ; ON # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32CC..32CF ; ON # So [4] SQUARE HG..LIMITED LIABILITY SIGN
-3377..337A ; ON # So [4] SQUARE DM..SQUARE IU
-33DE..33DF ; ON # So [2] SQUARE V OVER M..SQUARE A OVER M
-33FF ; ON # So SQUARE GAL
-4DC0..4DFF ; ON # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-A490..A4C6 ; ON # So [55] YI RADICAL QOT..YI RADICAL KE
-A60D..A60F ; ON # Po [3] VAI COMMA..VAI QUESTION MARK
-A673 ; ON # Po SLAVONIC ASTERISK
-A67E ; ON # Po CYRILLIC KAVYKA
-A67F ; ON # Lm CYRILLIC PAYEROK
-A700..A716 ; ON # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; ON # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; ON # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A788 ; ON # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A828..A82B ; ON # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-A874..A877 ; ON # Po [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
-FD3E ; ON # Ps ORNATE LEFT PARENTHESIS
-FD3F ; ON # Pe ORNATE RIGHT PARENTHESIS
-FDFD ; ON # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10..FE16 ; ON # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; ON # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; ON # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; ON # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; ON # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45..FE46 ; ON # Po [2] SESAME DOT..WHITE SESAME DOT
-FE47 ; ON # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; ON # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; ON # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; ON # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE51 ; ON # Po SMALL IDEOGRAPHIC COMMA
-FE54 ; ON # Po SMALL SEMICOLON
-FE56..FE57 ; ON # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK
-FE58 ; ON # Pd SMALL EM DASH
-FE59 ; ON # Ps SMALL LEFT PARENTHESIS
-FE5A ; ON # Pe SMALL RIGHT PARENTHESIS
-FE5B ; ON # Ps SMALL LEFT CURLY BRACKET
-FE5C ; ON # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; ON # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; ON # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE60..FE61 ; ON # Po [2] SMALL AMPERSAND..SMALL ASTERISK
-FE64..FE66 ; ON # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; ON # Po SMALL REVERSE SOLIDUS
-FE6B ; ON # Po SMALL COMMERCIAL AT
-FF01..FF02 ; ON # Po [2] FULLWIDTH EXCLAMATION MARK..FULLWIDTH QUOTATION MARK
-FF06..FF07 ; ON # Po [2] FULLWIDTH AMPERSAND..FULLWIDTH APOSTROPHE
-FF08 ; ON # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; ON # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; ON # Po FULLWIDTH ASTERISK
-FF1B ; ON # Po FULLWIDTH SEMICOLON
-FF1C..FF1E ; ON # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; ON # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF3B ; ON # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; ON # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; ON # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; ON # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; ON # Pc FULLWIDTH LOW LINE
-FF40 ; ON # Sk FULLWIDTH GRAVE ACCENT
-FF5B ; ON # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; ON # Sm FULLWIDTH VERTICAL LINE
-FF5D ; ON # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; ON # Sm FULLWIDTH TILDE
-FF5F ; ON # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; ON # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; ON # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; ON # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; ON # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; ON # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FFE2 ; ON # Sm FULLWIDTH NOT SIGN
-FFE3 ; ON # Sk FULLWIDTH MACRON
-FFE4 ; ON # So FULLWIDTH BROKEN BAR
-FFE8 ; ON # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; ON # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; ON # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-FFF9..FFFB ; ON # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-FFFC..FFFD ; ON # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10101 ; ON # Po AEGEAN WORD SEPARATOR DOT
-10140..10174 ; ON # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; ON # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-10179..10189 ; ON # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-1018A ; ON # No GREEK ZERO SIGN
-10190..1019B ; ON # So [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-1091F ; ON # Po PHOENICIAN WORD SEPARATOR
-10B39..10B3F ; ON # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-1D200..1D241 ; ON # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D245 ; ON # So GREEK MUSICAL LEIMMA
-1D300..1D356 ; ON # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D6DB ; ON # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D715 ; ON # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D74F ; ON # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D789 ; ON # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D7C3 ; ON # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1F000..1F02B ; ON # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; ON # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-
-# Total code points: 3523
-
-# ================================================
-
-# Bidi_Class=Boundary_Neutral
-
-0000..0008 ; BN # Cc [9] <control-0000>..<control-0008>
-000E..001B ; BN # Cc [14] <control-000E>..<control-001B>
-007F..0084 ; BN # Cc [6] <control-007F>..<control-0084>
-0086..009F ; BN # Cc [26] <control-0086>..<control-009F>
-00AD ; BN # Cf SOFT HYPHEN
-070F ; BN # Cf SYRIAC ABBREVIATION MARK
-200B..200D ; BN # Cf [3] ZERO WIDTH SPACE..ZERO WIDTH JOINER
-2060..2064 ; BN # Cf [5] WORD JOINER..INVISIBLE PLUS
-2065..2069 ; BN # Cn [5] <reserved-2065>..<reserved-2069>
-206A..206F ; BN # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-FDD0..FDEF ; BN # Cn [32] <noncharacter-FDD0>..<noncharacter-FDEF>
-FEFF ; BN # Cf ZERO WIDTH NO-BREAK SPACE
-FFF0..FFF8 ; BN # Cn [9] <reserved-FFF0>..<reserved-FFF8>
-FFFE..FFFF ; BN # Cn [2] <noncharacter-FFFE>..<noncharacter-FFFF>
-1D173..1D17A ; BN # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1FFFE..1FFFF ; BN # Cn [2] <noncharacter-1FFFE>..<noncharacter-1FFFF>
-2FFFE..2FFFF ; BN # Cn [2] <noncharacter-2FFFE>..<noncharacter-2FFFF>
-3FFFE..3FFFF ; BN # Cn [2] <noncharacter-3FFFE>..<noncharacter-3FFFF>
-4FFFE..4FFFF ; BN # Cn [2] <noncharacter-4FFFE>..<noncharacter-4FFFF>
-5FFFE..5FFFF ; BN # Cn [2] <noncharacter-5FFFE>..<noncharacter-5FFFF>
-6FFFE..6FFFF ; BN # Cn [2] <noncharacter-6FFFE>..<noncharacter-6FFFF>
-7FFFE..7FFFF ; BN # Cn [2] <noncharacter-7FFFE>..<noncharacter-7FFFF>
-8FFFE..8FFFF ; BN # Cn [2] <noncharacter-8FFFE>..<noncharacter-8FFFF>
-9FFFE..9FFFF ; BN # Cn [2] <noncharacter-9FFFE>..<noncharacter-9FFFF>
-AFFFE..AFFFF ; BN # Cn [2] <noncharacter-AFFFE>..<noncharacter-AFFFF>
-BFFFE..BFFFF ; BN # Cn [2] <noncharacter-BFFFE>..<noncharacter-BFFFF>
-CFFFE..CFFFF ; BN # Cn [2] <noncharacter-CFFFE>..<noncharacter-CFFFF>
-DFFFE..E0000 ; BN # Cn [3] <noncharacter-DFFFE>..<reserved-E0000>
-E0001 ; BN # Cf LANGUAGE TAG
-E0002..E001F ; BN # Cn [30] <reserved-E0002>..<reserved-E001F>
-E0020..E007F ; BN # Cf [96] TAG SPACE..CANCEL TAG
-E0080..E00FF ; BN # Cn [128] <reserved-E0080>..<reserved-E00FF>
-E01F0..E0FFF ; BN # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
-EFFFE..EFFFF ; BN # Cn [2] <noncharacter-EFFFE>..<noncharacter-EFFFF>
-FFFFE..FFFFF ; BN # Cn [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
-10FFFE..10FFFF; BN # Cn [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
-
-# Total code points: 4016
-
-# ================================================
-
-# Bidi_Class=Nonspacing_Mark
-
-0300..036F ; NSM # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; NSM # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; NSM # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; NSM # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; NSM # Mn HEBREW POINT RAFE
-05C1..05C2 ; NSM # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; NSM # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; NSM # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; NSM # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; NSM # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; NSM # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; NSM # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; NSM # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; NSM # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; NSM # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; NSM # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; NSM # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; NSM # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; NSM # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; NSM # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; NSM # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; NSM # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; NSM # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; NSM # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; NSM # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-093C ; NSM # Mn DEVANAGARI SIGN NUKTA
-0941..0948 ; NSM # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-094D ; NSM # Mn DEVANAGARI SIGN VIRAMA
-0951..0955 ; NSM # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; NSM # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; NSM # Mn BENGALI SIGN CANDRABINDU
-09BC ; NSM # Mn BENGALI SIGN NUKTA
-09C1..09C4 ; NSM # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09CD ; NSM # Mn BENGALI SIGN VIRAMA
-09E2..09E3 ; NSM # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; NSM # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A3C ; NSM # Mn GURMUKHI SIGN NUKTA
-0A41..0A42 ; NSM # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; NSM # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; NSM # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; NSM # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; NSM # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; NSM # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; NSM # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0ABC ; NSM # Mn GUJARATI SIGN NUKTA
-0AC1..0AC5 ; NSM # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; NSM # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0ACD ; NSM # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; NSM # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; NSM # Mn ORIYA SIGN CANDRABINDU
-0B3C ; NSM # Mn ORIYA SIGN NUKTA
-0B3F ; NSM # Mn ORIYA VOWEL SIGN I
-0B41..0B44 ; NSM # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B4D ; NSM # Mn ORIYA SIGN VIRAMA
-0B56 ; NSM # Mn ORIYA AI LENGTH MARK
-0B62..0B63 ; NSM # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; NSM # Mn TAMIL SIGN ANUSVARA
-0BC0 ; NSM # Mn TAMIL VOWEL SIGN II
-0BCD ; NSM # Mn TAMIL SIGN VIRAMA
-0C3E..0C40 ; NSM # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C46..0C48 ; NSM # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; NSM # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; NSM # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; NSM # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0CBC ; NSM # Mn KANNADA SIGN NUKTA
-0CCC..0CCD ; NSM # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CE2..0CE3 ; NSM # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D41..0D44 ; NSM # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D4D ; NSM # Mn MALAYALAM SIGN VIRAMA
-0D62..0D63 ; NSM # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0DCA ; NSM # Mn SINHALA SIGN AL-LAKUNA
-0DD2..0DD4 ; NSM # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; NSM # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0E31 ; NSM # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; NSM # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E47..0E4E ; NSM # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; NSM # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; NSM # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; NSM # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; NSM # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; NSM # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; NSM # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; NSM # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; NSM # Mn TIBETAN MARK TSA -PHRU
-0F71..0F7E ; NSM # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; NSM # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; NSM # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; NSM # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; NSM # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; NSM # Mn TIBETAN SYMBOL PADMA GDAN
-102D..1030 ; NSM # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1032..1037 ; NSM # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1039..103A ; NSM # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103D..103E ; NSM # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1058..1059 ; NSM # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; NSM # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1071..1074 ; NSM # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; NSM # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1085..1086 ; NSM # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108D ; NSM # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-109D ; NSM # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; NSM # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; NSM # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; NSM # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; NSM # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; NSM # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B7..17BD ; NSM # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17C6 ; NSM # Mn KHMER SIGN NIKAHIT
-17C9..17D3 ; NSM # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; NSM # Mn KHMER SIGN ATTHACAN
-180B..180D ; NSM # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; NSM # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; NSM # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1927..1928 ; NSM # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1932 ; NSM # Mn LIMBU SMALL LETTER ANUSVARA
-1939..193B ; NSM # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; NSM # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A56 ; NSM # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A58..1A5E ; NSM # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; NSM # Mn TAI THAM SIGN SAKOT
-1A62 ; NSM # Mn TAI THAM VOWEL SIGN MAI SAT
-1A65..1A6C ; NSM # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A73..1A7C ; NSM # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; NSM # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; NSM # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B34 ; NSM # Mn BALINESE SIGN REREKAN
-1B36..1B3A ; NSM # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3C ; NSM # Mn BALINESE VOWEL SIGN LA LENGA
-1B42 ; NSM # Mn BALINESE VOWEL SIGN PEPET
-1B6B..1B73 ; NSM # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; NSM # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1BA2..1BA5 ; NSM # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA8..1BA9 ; NSM # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C2C..1C33 ; NSM # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C36..1C37 ; NSM # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; NSM # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; NSM # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; NSM # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; NSM # Mn VEDIC SIGN TIRYAK
-1DC0..1DE6 ; NSM # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; NSM # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-20D0..20DC ; NSM # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; NSM # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; NSM # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; NSM # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; NSM # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; NSM # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; NSM # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; NSM # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; NSM # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; NSM # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; NSM # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; NSM # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; NSM # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; NSM # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; NSM # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; NSM # Mn SYLOTI NAGRI SIGN ANUSVARA
-A825..A826 ; NSM # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A8C4 ; NSM # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; NSM # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; NSM # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; NSM # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A980..A982 ; NSM # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A9B3 ; NSM # Mn JAVANESE SIGN CECAK TELU
-A9B6..A9B9 ; NSM # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BC ; NSM # Mn JAVANESE VOWEL SIGN PEPET
-AA29..AA2E ; NSM # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA31..AA32 ; NSM # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA35..AA36 ; NSM # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; NSM # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; NSM # Mn CHAM CONSONANT SIGN FINAL M
-AAB0 ; NSM # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; NSM # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; NSM # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; NSM # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; NSM # Mn TAI VIET TONE MAI THO
-ABE5 ; NSM # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE8 ; NSM # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABED ; NSM # Mn MEETEI MAYEK APUN IYEK
-FB1E ; NSM # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; NSM # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; NSM # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-101FD ; NSM # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; NSM # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; NSM # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; NSM # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; NSM # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; NSM # Mn KHAROSHTHI VIRAMA
-11080..11081 ; NSM # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-110B3..110B6 ; NSM # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B9..110BA ; NSM # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D167..1D169 ; NSM # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D17B..1D182 ; NSM # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; NSM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; NSM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; NSM # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0100..E01EF ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1173
-
-# ================================================
-
-# Bidi_Class=Arabic_Letter
-
-0604..0605 ; AL # Cn [2] <reserved-0604>..<reserved-0605>
-0608 ; AL # Sm ARABIC RAY
-060B ; AL # Sc AFGHANI SIGN
-060D ; AL # Po ARABIC DATE SEPARATOR
-061B ; AL # Po ARABIC SEMICOLON
-061C..061D ; AL # Cn [2] <reserved-061C>..<reserved-061D>
-061E..061F ; AL # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
-0620 ; AL # Cn <reserved-0620>
-0621..063F ; AL # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; AL # Lm ARABIC TATWEEL
-0641..064A ; AL # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-065F ; AL # Cn <reserved-065F>
-066D ; AL # Po ARABIC FIVE POINTED STAR
-066E..066F ; AL # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; AL # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4 ; AL # Po ARABIC FULL STOP
-06D5 ; AL # Lo ARABIC LETTER AE
-06E5..06E6 ; AL # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06EE..06EF ; AL # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; AL # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FD..06FE ; AL # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ; AL # Lo ARABIC LETTER HEH WITH INVERTED V
-0700..070D ; AL # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-070E ; AL # Cn <reserved-070E>
-0710 ; AL # Lo SYRIAC LETTER ALAPH
-0712..072F ; AL # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074B..074C ; AL # Cn [2] <reserved-074B>..<reserved-074C>
-074D..07A5 ; AL # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; AL # Lo THAANA LETTER NAA
-07B2..07BF ; AL # Cn [14] <reserved-07B2>..<reserved-07BF>
-FB50..FBB1 ; AL # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBB2..FBD2 ; AL # Cn [33] <reserved-FBB2>..<reserved-FBD2>
-FBD3..FD3D ; AL # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD40..FD4F ; AL # Cn [16] <reserved-FD40>..<reserved-FD4F>
-FD50..FD8F ; AL # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD90..FD91 ; AL # Cn [2] <reserved-FD90>..<reserved-FD91>
-FD92..FDC7 ; AL # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDC8..FDCF ; AL # Cn [8] <reserved-FDC8>..<reserved-FDCF>
-FDF0..FDFB ; AL # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; AL # Sc RIAL SIGN
-FDFE..FDFF ; AL # Cn [2] <reserved-FDFE>..<reserved-FDFF>
-FE70..FE74 ; AL # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE75 ; AL # Cn <reserved-FE75>
-FE76..FEFC ; AL # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFD..FEFE ; AL # Cn [2] <reserved-FEFD>..<reserved-FEFE>
-
-# Total code points: 1116
-
-# ================================================
-
-# Bidi_Class=Left_To_Right_Override
-
-202D ; LRO # Cf LEFT-TO-RIGHT OVERRIDE
-
-# Total code points: 1
-
-# ================================================
-
-# Bidi_Class=Right_To_Left_Override
-
-202E ; RLO # Cf RIGHT-TO-LEFT OVERRIDE
-
-# Total code points: 1
-
-# ================================================
-
-# Bidi_Class=Left_To_Right_Embedding
-
-202A ; LRE # Cf LEFT-TO-RIGHT EMBEDDING
-
-# Total code points: 1
-
-# ================================================
-
-# Bidi_Class=Right_To_Left_Embedding
-
-202B ; RLE # Cf RIGHT-TO-LEFT EMBEDDING
-
-# Total code points: 1
-
-# ================================================
-
-# Bidi_Class=Pop_Directional_Format
-
-202C ; PDF # Cf POP DIRECTIONAL FORMATTING
-
-# Total code points: 1
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DBinaryProperties.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DBinaryProperties.txt
deleted file mode 100644
index 63d524fa7cb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DBinaryProperties.txt
+++ /dev/null
@@ -1,227 +0,0 @@
-# DerivedBinaryProperties-5.2.0.txt
-# Date: 2009-05-22, 18:51:12 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Bidi_Mirrored (listing UnicodeData.txt, field 9: see UAX #44: http://www.unicode.org/reports/tr44/)
-
-0028 ; Bidi_Mirrored # Ps LEFT PARENTHESIS
-0029 ; Bidi_Mirrored # Pe RIGHT PARENTHESIS
-003C ; Bidi_Mirrored # Sm LESS-THAN SIGN
-003E ; Bidi_Mirrored # Sm GREATER-THAN SIGN
-005B ; Bidi_Mirrored # Ps LEFT SQUARE BRACKET
-005D ; Bidi_Mirrored # Pe RIGHT SQUARE BRACKET
-007B ; Bidi_Mirrored # Ps LEFT CURLY BRACKET
-007D ; Bidi_Mirrored # Pe RIGHT CURLY BRACKET
-00AB ; Bidi_Mirrored # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BB ; Bidi_Mirrored # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0F3A ; Bidi_Mirrored # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; Bidi_Mirrored # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; Bidi_Mirrored # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; Bidi_Mirrored # Pe TIBETAN MARK ANG KHANG GYAS
-169B ; Bidi_Mirrored # Ps OGHAM FEATHER MARK
-169C ; Bidi_Mirrored # Pe OGHAM REVERSED FEATHER MARK
-2039 ; Bidi_Mirrored # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; Bidi_Mirrored # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-2045 ; Bidi_Mirrored # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; Bidi_Mirrored # Pe RIGHT SQUARE BRACKET WITH QUILL
-207D ; Bidi_Mirrored # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Bidi_Mirrored # Pe SUPERSCRIPT RIGHT PARENTHESIS
-208D ; Bidi_Mirrored # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Bidi_Mirrored # Pe SUBSCRIPT RIGHT PARENTHESIS
-2140 ; Bidi_Mirrored # Sm DOUBLE-STRUCK N-ARY SUMMATION
-2201..2204 ; Bidi_Mirrored # Sm [4] COMPLEMENT..THERE DOES NOT EXIST
-2208..220D ; Bidi_Mirrored # Sm [6] ELEMENT OF..SMALL CONTAINS AS MEMBER
-2211 ; Bidi_Mirrored # Sm N-ARY SUMMATION
-2215..2216 ; Bidi_Mirrored # Sm [2] DIVISION SLASH..SET MINUS
-221A..221D ; Bidi_Mirrored # Sm [4] SQUARE ROOT..PROPORTIONAL TO
-221F..2222 ; Bidi_Mirrored # Sm [4] RIGHT ANGLE..SPHERICAL ANGLE
-2224 ; Bidi_Mirrored # Sm DOES NOT DIVIDE
-2226 ; Bidi_Mirrored # Sm NOT PARALLEL TO
-222B..2233 ; Bidi_Mirrored # Sm [9] INTEGRAL..ANTICLOCKWISE CONTOUR INTEGRAL
-2239 ; Bidi_Mirrored # Sm EXCESS
-223B..224C ; Bidi_Mirrored # Sm [18] HOMOTHETIC..ALL EQUAL TO
-2252..2255 ; Bidi_Mirrored # Sm [4] APPROXIMATELY EQUAL TO OR THE IMAGE OF..EQUALS COLON
-225F..2260 ; Bidi_Mirrored # Sm [2] QUESTIONED EQUAL TO..NOT EQUAL TO
-2262 ; Bidi_Mirrored # Sm NOT IDENTICAL TO
-2264..226B ; Bidi_Mirrored # Sm [8] LESS-THAN OR EQUAL TO..MUCH GREATER-THAN
-226E..228C ; Bidi_Mirrored # Sm [31] NOT LESS-THAN..MULTISET
-228F..2292 ; Bidi_Mirrored # Sm [4] SQUARE IMAGE OF..SQUARE ORIGINAL OF OR EQUAL TO
-2298 ; Bidi_Mirrored # Sm CIRCLED DIVISION SLASH
-22A2..22A3 ; Bidi_Mirrored # Sm [2] RIGHT TACK..LEFT TACK
-22A6..22B8 ; Bidi_Mirrored # Sm [19] ASSERTION..MULTIMAP
-22BE..22BF ; Bidi_Mirrored # Sm [2] RIGHT ANGLE WITH ARC..RIGHT TRIANGLE
-22C9..22CD ; Bidi_Mirrored # Sm [5] LEFT NORMAL FACTOR SEMIDIRECT PRODUCT..REVERSED TILDE EQUALS
-22D0..22D1 ; Bidi_Mirrored # Sm [2] DOUBLE SUBSET..DOUBLE SUPERSET
-22D6..22ED ; Bidi_Mirrored # Sm [24] LESS-THAN WITH DOT..DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22F0..22FF ; Bidi_Mirrored # Sm [16] UP RIGHT DIAGONAL ELLIPSIS..Z NOTATION BAG MEMBERSHIP
-2308..230B ; Bidi_Mirrored # Sm [4] LEFT CEILING..RIGHT FLOOR
-2320..2321 ; Bidi_Mirrored # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2329 ; Bidi_Mirrored # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Bidi_Mirrored # Pe RIGHT-POINTING ANGLE BRACKET
-2768 ; Bidi_Mirrored # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; Bidi_Mirrored # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; Bidi_Mirrored # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; Bidi_Mirrored # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; Bidi_Mirrored # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; Bidi_Mirrored # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; Bidi_Mirrored # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; Bidi_Mirrored # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; Bidi_Mirrored # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; Bidi_Mirrored # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; Bidi_Mirrored # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; Bidi_Mirrored # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; Bidi_Mirrored # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; Bidi_Mirrored # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-27C0 ; Bidi_Mirrored # Sm THREE DIMENSIONAL ANGLE
-27C3..27C4 ; Bidi_Mirrored # Sm [2] OPEN SUBSET..OPEN SUPERSET
-27C5 ; Bidi_Mirrored # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; Bidi_Mirrored # Pe RIGHT S-SHAPED BAG DELIMITER
-27C8..27C9 ; Bidi_Mirrored # Sm [2] REVERSE SOLIDUS PRECEDING SUBSET..SUPERSET PRECEDING SOLIDUS
-27CC ; Bidi_Mirrored # Sm LONG DIVISION
-27D3..27D6 ; Bidi_Mirrored # Sm [4] LOWER RIGHT CORNER WITH DOT..RIGHT OUTER JOIN
-27DC..27DE ; Bidi_Mirrored # Sm [3] LEFT MULTIMAP..LONG LEFT TACK
-27E2..27E5 ; Bidi_Mirrored # Sm [4] WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; Bidi_Mirrored # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Bidi_Mirrored # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Bidi_Mirrored # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Bidi_Mirrored # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Bidi_Mirrored # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Bidi_Mirrored # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Bidi_Mirrored # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Bidi_Mirrored # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; Bidi_Mirrored # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; Bidi_Mirrored # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2983 ; Bidi_Mirrored # Ps LEFT WHITE CURLY BRACKET
-2984 ; Bidi_Mirrored # Pe RIGHT WHITE CURLY BRACKET
-2985 ; Bidi_Mirrored # Ps LEFT WHITE PARENTHESIS
-2986 ; Bidi_Mirrored # Pe RIGHT WHITE PARENTHESIS
-2987 ; Bidi_Mirrored # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; Bidi_Mirrored # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; Bidi_Mirrored # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; Bidi_Mirrored # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; Bidi_Mirrored # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; Bidi_Mirrored # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; Bidi_Mirrored # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; Bidi_Mirrored # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; Bidi_Mirrored # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Bidi_Mirrored # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; Bidi_Mirrored # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; Bidi_Mirrored # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; Bidi_Mirrored # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; Bidi_Mirrored # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; Bidi_Mirrored # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; Bidi_Mirrored # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; Bidi_Mirrored # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; Bidi_Mirrored # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-299B..29AF ; Bidi_Mirrored # Sm [21] MEASURED ANGLE OPENING LEFT..MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B8 ; Bidi_Mirrored # Sm CIRCLED REVERSE SOLIDUS
-29C0..29C5 ; Bidi_Mirrored # Sm [6] CIRCLED LESS-THAN..SQUARED FALLING DIAGONAL SLASH
-29C9 ; Bidi_Mirrored # Sm TWO JOINED SQUARES
-29CE..29D2 ; Bidi_Mirrored # Sm [5] RIGHT TRIANGLE ABOVE LEFT TRIANGLE..BOWTIE WITH RIGHT HALF BLACK
-29D4..29D5 ; Bidi_Mirrored # Sm [2] TIMES WITH LEFT HALF BLACK..TIMES WITH RIGHT HALF BLACK
-29D8 ; Bidi_Mirrored # Ps LEFT WIGGLY FENCE
-29D9 ; Bidi_Mirrored # Pe RIGHT WIGGLY FENCE
-29DA ; Bidi_Mirrored # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; Bidi_Mirrored # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC ; Bidi_Mirrored # Sm INCOMPLETE INFINITY
-29E1 ; Bidi_Mirrored # Sm INCREASES AS
-29E3..29E5 ; Bidi_Mirrored # Sm [3] EQUALS SIGN AND SLANTED PARALLEL..IDENTICAL TO AND SLANTED PARALLEL
-29E8..29E9 ; Bidi_Mirrored # Sm [2] DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK..DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29F4..29F9 ; Bidi_Mirrored # Sm [6] RULE-DELAYED..BIG REVERSE SOLIDUS
-29FC ; Bidi_Mirrored # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; Bidi_Mirrored # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-2A0A..2A1C ; Bidi_Mirrored # Sm [19] MODULO TWO SUM..INTEGRAL WITH UNDERBAR
-2A1E..2A21 ; Bidi_Mirrored # Sm [4] LARGE LEFT TRIANGLE OPERATOR..Z NOTATION SCHEMA PROJECTION
-2A24 ; Bidi_Mirrored # Sm PLUS SIGN WITH TILDE ABOVE
-2A26 ; Bidi_Mirrored # Sm PLUS SIGN WITH TILDE BELOW
-2A29 ; Bidi_Mirrored # Sm MINUS SIGN WITH COMMA ABOVE
-2A2B..2A2E ; Bidi_Mirrored # Sm [4] MINUS SIGN WITH FALLING DOTS..PLUS SIGN IN RIGHT HALF CIRCLE
-2A34..2A35 ; Bidi_Mirrored # Sm [2] MULTIPLICATION SIGN IN LEFT HALF CIRCLE..MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A3C..2A3E ; Bidi_Mirrored # Sm [3] INTERIOR PRODUCT..Z NOTATION RELATIONAL COMPOSITION
-2A57..2A58 ; Bidi_Mirrored # Sm [2] SLOPING LARGE OR..SLOPING LARGE AND
-2A64..2A65 ; Bidi_Mirrored # Sm [2] Z NOTATION DOMAIN ANTIRESTRICTION..Z NOTATION RANGE ANTIRESTRICTION
-2A6A..2A6D ; Bidi_Mirrored # Sm [4] TILDE OPERATOR WITH DOT ABOVE..CONGRUENT WITH DOT ABOVE
-2A6F..2A70 ; Bidi_Mirrored # Sm [2] ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT..APPROXIMATELY EQUAL OR EQUAL TO
-2A73..2A74 ; Bidi_Mirrored # Sm [2] EQUALS SIGN ABOVE TILDE OPERATOR..DOUBLE COLON EQUAL
-2A79..2AA3 ; Bidi_Mirrored # Sm [43] LESS-THAN WITH CIRCLE INSIDE..DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA6..2AAD ; Bidi_Mirrored # Sm [8] LESS-THAN CLOSED BY CURVE..LARGER THAN OR EQUAL TO
-2AAF..2AD6 ; Bidi_Mirrored # Sm [40] PRECEDES ABOVE SINGLE-LINE EQUALS SIGN..SUPERSET ABOVE SUPERSET
-2ADC ; Bidi_Mirrored # Sm FORKING
-2ADE ; Bidi_Mirrored # Sm SHORT LEFT TACK
-2AE2..2AE6 ; Bidi_Mirrored # Sm [5] VERTICAL BAR TRIPLE RIGHT TURNSTILE..LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AEC..2AEE ; Bidi_Mirrored # Sm [3] DOUBLE STROKE NOT SIGN..DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AF3 ; Bidi_Mirrored # Sm PARALLEL WITH TILDE OPERATOR
-2AF7..2AFB ; Bidi_Mirrored # Sm [5] TRIPLE NESTED LESS-THAN..TRIPLE SOLIDUS BINARY RELATION
-2AFD ; Bidi_Mirrored # Sm DOUBLE SOLIDUS OPERATOR
-2E02 ; Bidi_Mirrored # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; Bidi_Mirrored # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; Bidi_Mirrored # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; Bidi_Mirrored # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E09 ; Bidi_Mirrored # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; Bidi_Mirrored # Pf RIGHT TRANSPOSITION BRACKET
-2E0C ; Bidi_Mirrored # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; Bidi_Mirrored # Pf RIGHT RAISED OMISSION BRACKET
-2E1C ; Bidi_Mirrored # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; Bidi_Mirrored # Pf RIGHT LOW PARAPHRASE BRACKET
-2E20 ; Bidi_Mirrored # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; Bidi_Mirrored # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; Bidi_Mirrored # Ps TOP LEFT HALF BRACKET
-2E23 ; Bidi_Mirrored # Pe TOP RIGHT HALF BRACKET
-2E24 ; Bidi_Mirrored # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; Bidi_Mirrored # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; Bidi_Mirrored # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; Bidi_Mirrored # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; Bidi_Mirrored # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; Bidi_Mirrored # Pe RIGHT DOUBLE PARENTHESIS
-3008 ; Bidi_Mirrored # Ps LEFT ANGLE BRACKET
-3009 ; Bidi_Mirrored # Pe RIGHT ANGLE BRACKET
-300A ; Bidi_Mirrored # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; Bidi_Mirrored # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; Bidi_Mirrored # Ps LEFT CORNER BRACKET
-300D ; Bidi_Mirrored # Pe RIGHT CORNER BRACKET
-300E ; Bidi_Mirrored # Ps LEFT WHITE CORNER BRACKET
-300F ; Bidi_Mirrored # Pe RIGHT WHITE CORNER BRACKET
-3010 ; Bidi_Mirrored # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; Bidi_Mirrored # Pe RIGHT BLACK LENTICULAR BRACKET
-3014 ; Bidi_Mirrored # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; Bidi_Mirrored # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; Bidi_Mirrored # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; Bidi_Mirrored # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; Bidi_Mirrored # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; Bidi_Mirrored # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; Bidi_Mirrored # Ps LEFT WHITE SQUARE BRACKET
-301B ; Bidi_Mirrored # Pe RIGHT WHITE SQUARE BRACKET
-FE59 ; Bidi_Mirrored # Ps SMALL LEFT PARENTHESIS
-FE5A ; Bidi_Mirrored # Pe SMALL RIGHT PARENTHESIS
-FE5B ; Bidi_Mirrored # Ps SMALL LEFT CURLY BRACKET
-FE5C ; Bidi_Mirrored # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; Bidi_Mirrored # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; Bidi_Mirrored # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE64..FE65 ; Bidi_Mirrored # Sm [2] SMALL LESS-THAN SIGN..SMALL GREATER-THAN SIGN
-FF08 ; Bidi_Mirrored # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; Bidi_Mirrored # Pe FULLWIDTH RIGHT PARENTHESIS
-FF1C ; Bidi_Mirrored # Sm FULLWIDTH LESS-THAN SIGN
-FF1E ; Bidi_Mirrored # Sm FULLWIDTH GREATER-THAN SIGN
-FF3B ; Bidi_Mirrored # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3D ; Bidi_Mirrored # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF5B ; Bidi_Mirrored # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5D ; Bidi_Mirrored # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5F ; Bidi_Mirrored # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; Bidi_Mirrored # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF62 ; Bidi_Mirrored # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Bidi_Mirrored # Pe HALFWIDTH RIGHT CORNER BRACKET
-1D6DB ; Bidi_Mirrored # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D715 ; Bidi_Mirrored # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D74F ; Bidi_Mirrored # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D789 ; Bidi_Mirrored # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D7C3 ; Bidi_Mirrored # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-
-# Total code points: 543
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DCombiningClass.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DCombiningClass.txt
deleted file mode 100644
index 8dc193adc0a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DCombiningClass.txt
+++ /dev/null
@@ -1,2036 +0,0 @@
-# DerivedCombiningClass-5.2.0.txt
-# Date: 2009-08-22, 04:58:13 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Combining Class (listing UnicodeData.txt, field 3: see UAX #44: http://www.unicode.org/reports/tr44/)
-
-# All code points not explicitly listed for Canonical_Combining_Class
-# have the value Not_Reordered (0).
-
-# @missing: 0000..10FFFF; Not_Reordered
-
-# ================================================
-
-# Canonical_Combining_Class=Not_Reordered
-
-0000..001F ; 0 # Cc [32] <control-0000>..<control-001F>
-0020 ; 0 # Zs SPACE
-0021..0023 ; 0 # Po [3] EXCLAMATION MARK..NUMBER SIGN
-0024 ; 0 # Sc DOLLAR SIGN
-0025..0027 ; 0 # Po [3] PERCENT SIGN..APOSTROPHE
-0028 ; 0 # Ps LEFT PARENTHESIS
-0029 ; 0 # Pe RIGHT PARENTHESIS
-002A ; 0 # Po ASTERISK
-002B ; 0 # Sm PLUS SIGN
-002C ; 0 # Po COMMA
-002D ; 0 # Pd HYPHEN-MINUS
-002E..002F ; 0 # Po [2] FULL STOP..SOLIDUS
-0030..0039 ; 0 # Nd [10] DIGIT ZERO..DIGIT NINE
-003A..003B ; 0 # Po [2] COLON..SEMICOLON
-003C..003E ; 0 # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-003F..0040 ; 0 # Po [2] QUESTION MARK..COMMERCIAL AT
-0041..005A ; 0 # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-005B ; 0 # Ps LEFT SQUARE BRACKET
-005C ; 0 # Po REVERSE SOLIDUS
-005D ; 0 # Pe RIGHT SQUARE BRACKET
-005E ; 0 # Sk CIRCUMFLEX ACCENT
-005F ; 0 # Pc LOW LINE
-0060 ; 0 # Sk GRAVE ACCENT
-0061..007A ; 0 # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-007B ; 0 # Ps LEFT CURLY BRACKET
-007C ; 0 # Sm VERTICAL LINE
-007D ; 0 # Pe RIGHT CURLY BRACKET
-007E ; 0 # Sm TILDE
-007F..009F ; 0 # Cc [33] <control-007F>..<control-009F>
-00A0 ; 0 # Zs NO-BREAK SPACE
-00A1 ; 0 # Po INVERTED EXCLAMATION MARK
-00A2..00A5 ; 0 # Sc [4] CENT SIGN..YEN SIGN
-00A6..00A7 ; 0 # So [2] BROKEN BAR..SECTION SIGN
-00A8 ; 0 # Sk DIAERESIS
-00A9 ; 0 # So COPYRIGHT SIGN
-00AA ; 0 # L& FEMININE ORDINAL INDICATOR
-00AB ; 0 # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; 0 # Sm NOT SIGN
-00AD ; 0 # Cf SOFT HYPHEN
-00AE ; 0 # So REGISTERED SIGN
-00AF ; 0 # Sk MACRON
-00B0 ; 0 # So DEGREE SIGN
-00B1 ; 0 # Sm PLUS-MINUS SIGN
-00B2..00B3 ; 0 # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; 0 # Sk ACUTE ACCENT
-00B5 ; 0 # L& MICRO SIGN
-00B6 ; 0 # So PILCROW SIGN
-00B7 ; 0 # Po MIDDLE DOT
-00B8 ; 0 # Sk CEDILLA
-00B9 ; 0 # No SUPERSCRIPT ONE
-00BA ; 0 # L& MASCULINE ORDINAL INDICATOR
-00BB ; 0 # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BC..00BE ; 0 # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00BF ; 0 # Po INVERTED QUESTION MARK
-00C0..00D6 ; 0 # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D7 ; 0 # Sm MULTIPLICATION SIGN
-00D8..00F6 ; 0 # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F7 ; 0 # Sm DIVISION SIGN
-00F8..01BA ; 0 # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; 0 # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; 0 # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; 0 # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; 0 # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; 0 # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; 0 # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; 0 # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C5 ; 0 # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6..02D1 ; 0 # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02DF ; 0 # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E0..02E4 ; 0 # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5..02EB ; 0 # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; 0 # Lm MODIFIER LETTER VOICING
-02ED ; 0 # Sk MODIFIER LETTER UNASPIRATED
-02EE ; 0 # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; 0 # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-034F ; 0 # Mn COMBINING GRAPHEME JOINER
-0370..0373 ; 0 # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; 0 # Lm GREEK NUMERAL SIGN
-0375 ; 0 # Sk GREEK LOWER NUMERAL SIGN
-0376..0377 ; 0 # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; 0 # Lm GREEK YPOGEGRAMMENI
-037B..037D ; 0 # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-037E ; 0 # Po GREEK QUESTION MARK
-0384..0385 ; 0 # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; 0 # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; 0 # Po GREEK ANO TELEIA
-0388..038A ; 0 # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; 0 # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; 0 # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; 0 # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F6 ; 0 # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7..0481 ; 0 # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-0482 ; 0 # So CYRILLIC THOUSANDS SIGN
-0488..0489 ; 0 # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-048A..0525 ; 0 # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; 0 # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; 0 # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A..055F ; 0 # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0561..0587 ; 0 # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0589 ; 0 # Po ARMENIAN FULL STOP
-058A ; 0 # Pd ARMENIAN HYPHEN
-05BE ; 0 # Pd HEBREW PUNCTUATION MAQAF
-05C0 ; 0 # Po HEBREW PUNCTUATION PASEQ
-05C3 ; 0 # Po HEBREW PUNCTUATION SOF PASUQ
-05C6 ; 0 # Po HEBREW PUNCTUATION NUN HAFUKHA
-05D0..05EA ; 0 # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; 0 # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3..05F4 ; 0 # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0600..0603 ; 0 # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-0606..0608 ; 0 # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-0609..060A ; 0 # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-060B ; 0 # Sc AFGHANI SIGN
-060C..060D ; 0 # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-060E..060F ; 0 # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-061B ; 0 # Po ARABIC SEMICOLON
-061E..061F ; 0 # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
-0621..063F ; 0 # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; 0 # Lm ARABIC TATWEEL
-0641..064A ; 0 # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-0660..0669 ; 0 # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066A..066D ; 0 # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
-066E..066F ; 0 # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; 0 # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4 ; 0 # Po ARABIC FULL STOP
-06D5 ; 0 # Lo ARABIC LETTER AE
-06DD ; 0 # Cf ARABIC END OF AYAH
-06DE ; 0 # Me ARABIC START OF RUB EL HIZB
-06E5..06E6 ; 0 # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E9 ; 0 # So ARABIC PLACE OF SAJDAH
-06EE..06EF ; 0 # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06F0..06F9 ; 0 # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-06FA..06FC ; 0 # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FD..06FE ; 0 # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ; 0 # Lo ARABIC LETTER HEH WITH INVERTED V
-0700..070D ; 0 # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-070F ; 0 # Cf SYRIAC ABBREVIATION MARK
-0710 ; 0 # Lo SYRIAC LETTER ALAPH
-0712..072F ; 0 # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; 0 # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07A6..07B0 ; 0 # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07B1 ; 0 # Lo THAANA LETTER NAA
-07C0..07C9 ; 0 # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; 0 # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; 0 # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07F6 ; 0 # So NKO SYMBOL OO DENNEN
-07F7..07F9 ; 0 # Po [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
-07FA ; 0 # Lm NKO LAJANYALAN
-0800..0815 ; 0 # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; 0 # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; 0 # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; 0 # Lm SAMARITAN MODIFIER LETTER I
-0830..083E ; 0 # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0900..0902 ; 0 # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; 0 # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; 0 # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; 0 # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; 0 # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; 0 # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; 0 # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; 0 # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; 0 # Lo DEVANAGARI OM
-0955 ; 0 # Mn DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958..0961 ; 0 # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0962..0963 ; 0 # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0964..0965 ; 0 # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0966..096F ; 0 # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0970 ; 0 # Po DEVANAGARI ABBREVIATION SIGN
-0971 ; 0 # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; 0 # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; 0 # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0981 ; 0 # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; 0 # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; 0 # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; 0 # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; 0 # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; 0 # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; 0 # Lo BENGALI LETTER LA
-09B6..09B9 ; 0 # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; 0 # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; 0 # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; 0 # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; 0 # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; 0 # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CE ; 0 # Lo BENGALI LETTER KHANDA TA
-09D7 ; 0 # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; 0 # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; 0 # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E2..09E3 ; 0 # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-09E6..09EF ; 0 # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; 0 # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2..09F3 ; 0 # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09F4..09F9 ; 0 # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; 0 # So BENGALI ISSHAR
-09FB ; 0 # Sc BENGALI GANDA MARK
-0A01..0A02 ; 0 # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; 0 # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; 0 # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; 0 # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; 0 # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; 0 # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; 0 # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; 0 # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; 0 # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3E..0A40 ; 0 # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; 0 # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; 0 # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4C ; 0 # Mn [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU
-0A51 ; 0 # Mn GURMUKHI SIGN UDAAT
-0A59..0A5C ; 0 # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; 0 # Lo GURMUKHI LETTER FA
-0A66..0A6F ; 0 # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A70..0A71 ; 0 # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A72..0A74 ; 0 # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A75 ; 0 # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; 0 # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; 0 # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; 0 # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; 0 # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; 0 # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; 0 # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; 0 # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; 0 # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; 0 # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; 0 # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; 0 # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; 0 # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; 0 # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; 0 # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0AD0 ; 0 # Lo GUJARATI OM
-0AE0..0AE1 ; 0 # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE2..0AE3 ; 0 # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0AE6..0AEF ; 0 # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0AF1 ; 0 # Sc GUJARATI RUPEE SIGN
-0B01 ; 0 # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; 0 # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; 0 # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; 0 # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; 0 # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; 0 # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; 0 # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; 0 # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; 0 # Lo ORIYA SIGN AVAGRAHA
-0B3E ; 0 # Mc ORIYA VOWEL SIGN AA
-0B3F ; 0 # Mn ORIYA VOWEL SIGN I
-0B40 ; 0 # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; 0 # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; 0 # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; 0 # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B56 ; 0 # Mn ORIYA AI LENGTH MARK
-0B57 ; 0 # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; 0 # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; 0 # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B62..0B63 ; 0 # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B66..0B6F ; 0 # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B70 ; 0 # So ORIYA ISSHAR
-0B71 ; 0 # Lo ORIYA LETTER WA
-0B82 ; 0 # Mn TAMIL SIGN ANUSVARA
-0B83 ; 0 # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; 0 # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; 0 # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; 0 # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; 0 # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; 0 # Lo TAMIL LETTER JA
-0B9E..0B9F ; 0 # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; 0 # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; 0 # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; 0 # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; 0 # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; 0 # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; 0 # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; 0 # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; 0 # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BD0 ; 0 # Lo TAMIL OM
-0BD7 ; 0 # Mc TAMIL AU LENGTH MARK
-0BE6..0BEF ; 0 # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0BF0..0BF2 ; 0 # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0BF3..0BF8 ; 0 # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BF9 ; 0 # Sc TAMIL RUPEE SIGN
-0BFA ; 0 # So TAMIL NUMBER SIGN
-0C01..0C03 ; 0 # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; 0 # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; 0 # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; 0 # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; 0 # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; 0 # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; 0 # Lo TELUGU SIGN AVAGRAHA
-0C3E..0C40 ; 0 # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; 0 # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; 0 # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4C ; 0 # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
-0C58..0C59 ; 0 # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; 0 # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C62..0C63 ; 0 # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C66..0C6F ; 0 # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C78..0C7E ; 0 # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F ; 0 # So TELUGU SIGN TUUMU
-0C82..0C83 ; 0 # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; 0 # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; 0 # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; 0 # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; 0 # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; 0 # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; 0 # Lo KANNADA SIGN AVAGRAHA
-0CBE ; 0 # Mc KANNADA VOWEL SIGN AA
-0CBF ; 0 # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; 0 # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; 0 # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; 0 # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; 0 # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC ; 0 # Mn KANNADA VOWEL SIGN AU
-0CD5..0CD6 ; 0 # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; 0 # Lo KANNADA LETTER FA
-0CE0..0CE1 ; 0 # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE2..0CE3 ; 0 # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0CE6..0CEF ; 0 # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0CF1..0CF2 ; 0 # So [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D02..0D03 ; 0 # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; 0 # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; 0 # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; 0 # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; 0 # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; 0 # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; 0 # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; 0 # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; 0 # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; 0 # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D57 ; 0 # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; 0 # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D62..0D63 ; 0 # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D66..0D6F ; 0 # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D70..0D75 ; 0 # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D79 ; 0 # So MALAYALAM DATE MARK
-0D7A..0D7F ; 0 # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; 0 # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; 0 # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; 0 # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; 0 # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; 0 # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; 0 # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCF..0DD1 ; 0 # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; 0 # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; 0 # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; 0 # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; 0 # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4 ; 0 # Po SINHALA PUNCTUATION KUNDDALIYA
-0E01..0E30 ; 0 # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; 0 # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; 0 # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E37 ; 0 # Mn [4] THAI CHARACTER SARA I..THAI CHARACTER SARA UEE
-0E3F ; 0 # Sc THAI CURRENCY SYMBOL BAHT
-0E40..0E45 ; 0 # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; 0 # Lm THAI CHARACTER MAIYAMOK
-0E47 ; 0 # Mn THAI CHARACTER MAITAIKHU
-0E4C..0E4E ; 0 # Mn [3] THAI CHARACTER THANTHAKHAT..THAI CHARACTER YAMAKKAN
-0E4F ; 0 # Po THAI CHARACTER FONGMAN
-0E50..0E59 ; 0 # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E5A..0E5B ; 0 # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0E81..0E82 ; 0 # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; 0 # Lo LAO LETTER KHO TAM
-0E87..0E88 ; 0 # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; 0 # Lo LAO LETTER SO TAM
-0E8D ; 0 # Lo LAO LETTER NYO
-0E94..0E97 ; 0 # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; 0 # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; 0 # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; 0 # Lo LAO LETTER LO LOOT
-0EA7 ; 0 # Lo LAO LETTER WO
-0EAA..0EAB ; 0 # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; 0 # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; 0 # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; 0 # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB7 ; 0 # Mn [4] LAO VOWEL SIGN I..LAO VOWEL SIGN YY
-0EBB..0EBC ; 0 # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; 0 # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; 0 # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; 0 # Lm LAO KO LA
-0ECC..0ECD ; 0 # Mn [2] LAO CANCELLATION MARK..LAO NIGGAHITA
-0ED0..0ED9 ; 0 # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; 0 # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; 0 # Lo TIBETAN SYLLABLE OM
-0F01..0F03 ; 0 # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04..0F12 ; 0 # Po [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17 ; 0 # So [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F1A..0F1F ; 0 # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20..0F29 ; 0 # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F2A..0F33 ; 0 # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-0F34 ; 0 # So TIBETAN MARK BSDUS RTAGS
-0F36 ; 0 # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F38 ; 0 # So TIBETAN MARK CHE MGO
-0F3A ; 0 # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; 0 # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; 0 # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; 0 # Pe TIBETAN MARK ANG KHANG GYAS
-0F3E..0F3F ; 0 # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; 0 # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; 0 # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F73 ; 0 # Mn TIBETAN VOWEL SIGN II
-0F75..0F79 ; 0 # Mn [5] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC LL
-0F7E ; 0 # Mn TIBETAN SIGN RJES SU NGA RO
-0F7F ; 0 # Mc TIBETAN SIGN RNAM BCAD
-0F81 ; 0 # Mn TIBETAN VOWEL SIGN REVERSED II
-0F85 ; 0 # Po TIBETAN MARK PALUTA
-0F88..0F8B ; 0 # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F97 ; 0 # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; 0 # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE..0FC5 ; 0 # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
-0FC7..0FCC ; 0 # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; 0 # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD0..0FD4 ; 0 # Po [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5..0FD8 ; 0 # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-1000..102A ; 0 # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; 0 # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; 0 # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; 0 # Mc MYANMAR VOWEL SIGN E
-1032..1036 ; 0 # Mn [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA
-1038 ; 0 # Mc MYANMAR SIGN VISARGA
-103B..103C ; 0 # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; 0 # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; 0 # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; 0 # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-104A..104F ; 0 # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
-1050..1055 ; 0 # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; 0 # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; 0 # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; 0 # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; 0 # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; 0 # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; 0 # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; 0 # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; 0 # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; 0 # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; 0 # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; 0 # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; 0 # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; 0 # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; 0 # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; 0 # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108E ; 0 # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; 0 # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; 0 # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; 0 # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; 0 # Mn MYANMAR VOWEL SIGN AITON AI
-109E..109F ; 0 # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-10A0..10C5 ; 0 # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; 0 # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FB ; 0 # Po GEORGIAN PARAGRAPH SEPARATOR
-10FC ; 0 # Lm MODIFIER LETTER GEORGIAN NAR
-1100..1248 ; 0 # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; 0 # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; 0 # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; 0 # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; 0 # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; 0 # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; 0 # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; 0 # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; 0 # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; 0 # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; 0 # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; 0 # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; 0 # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; 0 # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; 0 # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; 0 # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360 ; 0 # So ETHIOPIC SECTION MARK
-1361..1368 ; 0 # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-1369..137C ; 0 # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-1380..138F ; 0 # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-1390..1399 ; 0 # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4 ; 0 # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1400 ; 0 # Pd CANADIAN SYLLABICS HYPHEN
-1401..166C ; 0 # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166D..166E ; 0 # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-166F..167F ; 0 # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1680 ; 0 # Zs OGHAM SPACE MARK
-1681..169A ; 0 # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-169B ; 0 # Ps OGHAM FEATHER MARK
-169C ; 0 # Pe OGHAM REVERSED FEATHER MARK
-16A0..16EA ; 0 # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EB..16ED ; 0 # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-16EE..16F0 ; 0 # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; 0 # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; 0 # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1712..1713 ; 0 # Mn [2] TAGALOG VOWEL SIGN I..TAGALOG VOWEL SIGN U
-1720..1731 ; 0 # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1732..1733 ; 0 # Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
-1735..1736 ; 0 # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-1740..1751 ; 0 # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1752..1753 ; 0 # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1760..176C ; 0 # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; 0 # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; 0 # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-1780..17B3 ; 0 # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5 ; 0 # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6 ; 0 # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; 0 # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; 0 # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; 0 # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; 0 # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D1 ; 0 # Mn [9] KHMER SIGN MUUSIKATOAN..KHMER SIGN VIRIAM
-17D3 ; 0 # Mn KHMER SIGN BATHAMASAT
-17D4..17D6 ; 0 # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17D7 ; 0 # Lm KHMER SIGN LEK TOO
-17D8..17DA ; 0 # Po [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
-17DB ; 0 # Sc KHMER CURRENCY SYMBOL RIEL
-17DC ; 0 # Lo KHMER SIGN AVAKRAHASANYA
-17E0..17E9 ; 0 # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-17F0..17F9 ; 0 # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800..1805 ; 0 # Po [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS
-1806 ; 0 # Pd MONGOLIAN TODO SOFT HYPHEN
-1807..180A ; 0 # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
-180B..180D ; 0 # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-180E ; 0 # Zs MONGOLIAN VOWEL SEPARATOR
-1810..1819 ; 0 # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; 0 # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; 0 # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; 0 # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; 0 # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; 0 # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; 0 # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; 0 # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..1922 ; 0 # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; 0 # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; 0 # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; 0 # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; 0 # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; 0 # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; 0 # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1940 ; 0 # So LIMBU SIGN LOO
-1944..1945 ; 0 # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1946..194F ; 0 # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-1950..196D ; 0 # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; 0 # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; 0 # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; 0 # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; 0 # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; 0 # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; 0 # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-19DE..19DF ; 0 # Po [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-19E0..19FF ; 0 # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1A00..1A16 ; 0 # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A19..1A1B ; 0 # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A1E..1A1F ; 0 # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1A20..1A54 ; 0 # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; 0 # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; 0 # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; 0 # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; 0 # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A61 ; 0 # Mc TAI THAM VOWEL SIGN A
-1A62 ; 0 # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; 0 # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; 0 # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; 0 # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A74 ; 0 # Mn [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
-1A80..1A89 ; 0 # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; 0 # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA0..1AA6 ; 0 # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 ; 0 # Lm TAI THAM SIGN MAI YAMOK
-1AA8..1AAD ; 0 # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-1B00..1B03 ; 0 # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; 0 # Mc BALINESE SIGN BISAH
-1B05..1B33 ; 0 # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B35 ; 0 # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; 0 # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; 0 # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; 0 # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; 0 # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; 0 # Mn BALINESE VOWEL SIGN PEPET
-1B43 ; 0 # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1B45..1B4B ; 0 # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; 0 # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B5A..1B60 ; 0 # Po [7] BALINESE PANTI..BALINESE PAMENENG
-1B61..1B6A ; 0 # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B74..1B7C ; 0 # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B80..1B81 ; 0 # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; 0 # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; 0 # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; 0 # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; 0 # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; 0 # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; 0 # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAE..1BAF ; 0 # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; 0 # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C00..1C23 ; 0 # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; 0 # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; 0 # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; 0 # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36 ; 0 # Mn LEPCHA SIGN RAN
-1C3B..1C3F ; 0 # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C40..1C49 ; 0 # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; 0 # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C50..1C59 ; 0 # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; 0 # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; 0 # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1C7E..1C7F ; 0 # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD3 ; 0 # Po VEDIC SIGN NIHSHVASA
-1CE1 ; 0 # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE9..1CEC ; 0 # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; 0 # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; 0 # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; 0 # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; 0 # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; 0 # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; 0 # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; 0 # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; 0 # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; 0 # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; 0 # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; 0 # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; 0 # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; 0 # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; 0 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; 0 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; 0 # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; 0 # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; 0 # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; 0 # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; 0 # Sk GREEK KORONIS
-1FBE ; 0 # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; 0 # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; 0 # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; 0 # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; 0 # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; 0 # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; 0 # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; 0 # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; 0 # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; 0 # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; 0 # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; 0 # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; 0 # Sk [2] GREEK OXIA..GREEK DASIA
-2000..200A ; 0 # Zs [11] EN QUAD..HAIR SPACE
-200B..200F ; 0 # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-2010..2015 ; 0 # Pd [6] HYPHEN..HORIZONTAL BAR
-2016..2017 ; 0 # Po [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
-2018 ; 0 # Pi LEFT SINGLE QUOTATION MARK
-2019 ; 0 # Pf RIGHT SINGLE QUOTATION MARK
-201A ; 0 # Ps SINGLE LOW-9 QUOTATION MARK
-201B..201C ; 0 # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; 0 # Pf RIGHT DOUBLE QUOTATION MARK
-201E ; 0 # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; 0 # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020..2027 ; 0 # Po [8] DAGGER..HYPHENATION POINT
-2028 ; 0 # Zl LINE SEPARATOR
-2029 ; 0 # Zp PARAGRAPH SEPARATOR
-202A..202E ; 0 # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-202F ; 0 # Zs NARROW NO-BREAK SPACE
-2030..2038 ; 0 # Po [9] PER MILLE SIGN..CARET
-2039 ; 0 # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; 0 # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B..203E ; 0 # Po [4] REFERENCE MARK..OVERLINE
-203F..2040 ; 0 # Pc [2] UNDERTIE..CHARACTER TIE
-2041..2043 ; 0 # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-2044 ; 0 # Sm FRACTION SLASH
-2045 ; 0 # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; 0 # Pe RIGHT SQUARE BRACKET WITH QUILL
-2047..2051 ; 0 # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; 0 # Sm COMMERCIAL MINUS SIGN
-2053 ; 0 # Po SWUNG DASH
-2054 ; 0 # Pc INVERTED UNDERTIE
-2055..205E ; 0 # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-205F ; 0 # Zs MEDIUM MATHEMATICAL SPACE
-2060..2064 ; 0 # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; 0 # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2070 ; 0 # No SUPERSCRIPT ZERO
-2071 ; 0 # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074..2079 ; 0 # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; 0 # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; 0 # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; 0 # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; 0 # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2080..2089 ; 0 # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; 0 # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; 0 # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; 0 # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; 0 # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A0..20B8 ; 0 # Sc [25] EURO-CURRENCY SIGN..TENGE SIGN
-20DD..20E0 ; 0 # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E2..20E4 ; 0 # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-2100..2101 ; 0 # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; 0 # L& DOUBLE-STRUCK CAPITAL C
-2103..2106 ; 0 # So [4] DEGREE CELSIUS..CADA UNA
-2107 ; 0 # L& EULER CONSTANT
-2108..2109 ; 0 # So [2] SCRUPLE..DEGREE FAHRENHEIT
-210A..2113 ; 0 # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2114 ; 0 # So L B BAR SYMBOL
-2115 ; 0 # L& DOUBLE-STRUCK CAPITAL N
-2116..2118 ; 0 # So [3] NUMERO SIGN..SCRIPT CAPITAL P
-2119..211D ; 0 # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-211E..2123 ; 0 # So [6] PRESCRIPTION TAKE..VERSICLE
-2124 ; 0 # L& DOUBLE-STRUCK CAPITAL Z
-2125 ; 0 # So OUNCE SIGN
-2126 ; 0 # L& OHM SIGN
-2127 ; 0 # So INVERTED OHM SIGN
-2128 ; 0 # L& BLACK-LETTER CAPITAL Z
-2129 ; 0 # So TURNED GREEK SMALL LETTER IOTA
-212A..212D ; 0 # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-212E ; 0 # So ESTIMATED SYMBOL
-212F..2134 ; 0 # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; 0 # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; 0 # L& INFORMATION SOURCE
-213A..213B ; 0 # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-213C..213F ; 0 # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140..2144 ; 0 # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-2145..2149 ; 0 # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214A ; 0 # So PROPERTY LINE
-214B ; 0 # Sm TURNED AMPERSAND
-214C..214D ; 0 # So [2] PER SIGN..AKTIESELSKAB
-214E ; 0 # L& TURNED SMALL F
-214F ; 0 # So SYMBOL FOR SAMARITAN SOURCE
-2150..215F ; 0 # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2160..2182 ; 0 # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; 0 # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; 0 # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2189 ; 0 # No VULGAR FRACTION ZERO THIRDS
-2190..2194 ; 0 # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; 0 # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-219A..219B ; 0 # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; 0 # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; 0 # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; 0 # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; 0 # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; 0 # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; 0 # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; 0 # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; 0 # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21CD ; 0 # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; 0 # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; 0 # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D2 ; 0 # Sm RIGHTWARDS DOUBLE ARROW
-21D3 ; 0 # So DOWNWARDS DOUBLE ARROW
-21D4 ; 0 # Sm LEFT RIGHT DOUBLE ARROW
-21D5..21F3 ; 0 # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-21F4..22FF ; 0 # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; 0 # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; 0 # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..231F ; 0 # So [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
-2320..2321 ; 0 # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; 0 # So [7] FROWN..KEYBOARD
-2329 ; 0 # Ps LEFT-POINTING ANGLE BRACKET
-232A ; 0 # Pe RIGHT-POINTING ANGLE BRACKET
-232B..237B ; 0 # So [81] ERASE TO THE LEFT..NOT CHECK MARK
-237C ; 0 # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..239A ; 0 # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-239B..23B3 ; 0 # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; 0 # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; 0 # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; 0 # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; 0 # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; 0 # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-2460..249B ; 0 # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; 0 # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA..24FF ; 0 # No [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
-2500..25B6 ; 0 # So [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
-25B7 ; 0 # Sm WHITE RIGHT-POINTING TRIANGLE
-25B8..25C0 ; 0 # So [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C1 ; 0 # Sm WHITE LEFT-POINTING TRIANGLE
-25C2..25F7 ; 0 # So [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; 0 # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..266E ; 0 # So [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN
-266F ; 0 # Sm MUSIC SHARP SIGN
-2670..26CD ; 0 # So [94] WEST SYRIAC CROSS..DISABLED CAR
-26CF..26E1 ; 0 # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; 0 # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; 0 # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701..2704 ; 0 # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; 0 # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; 0 # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; 0 # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; 0 # So SHADOWED WHITE CIRCLE
-274F..2752 ; 0 # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756..275E ; 0 # So [9] BLACK DIAMOND MINUS WHITE X..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; 0 # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2768 ; 0 # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; 0 # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; 0 # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; 0 # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; 0 # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; 0 # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; 0 # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; 0 # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; 0 # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; 0 # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; 0 # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; 0 # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; 0 # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; 0 # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2776..2793 ; 0 # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794 ; 0 # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; 0 # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; 0 # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27C0..27C4 ; 0 # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; 0 # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; 0 # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; 0 # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; 0 # Sm LONG DIVISION
-27D0..27E5 ; 0 # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; 0 # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; 0 # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; 0 # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; 0 # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; 0 # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; 0 # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; 0 # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; 0 # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; 0 # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; 0 # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; 0 # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2800..28FF ; 0 # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2900..2982 ; 0 # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; 0 # Ps LEFT WHITE CURLY BRACKET
-2984 ; 0 # Pe RIGHT WHITE CURLY BRACKET
-2985 ; 0 # Ps LEFT WHITE PARENTHESIS
-2986 ; 0 # Pe RIGHT WHITE PARENTHESIS
-2987 ; 0 # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; 0 # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; 0 # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; 0 # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; 0 # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; 0 # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; 0 # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; 0 # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; 0 # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; 0 # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; 0 # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; 0 # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; 0 # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; 0 # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; 0 # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; 0 # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; 0 # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; 0 # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; 0 # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; 0 # Ps LEFT WIGGLY FENCE
-29D9 ; 0 # Pe RIGHT WIGGLY FENCE
-29DA ; 0 # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; 0 # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; 0 # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; 0 # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; 0 # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; 0 # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; 0 # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; 0 # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; 0 # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; 0 # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B59 ; 0 # So [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
-2C00..2C2E ; 0 # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; 0 # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; 0 # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; 0 # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; 0 # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CE5..2CEA ; 0 # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2CEB..2CEE ; 0 # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CF9..2CFC ; 0 # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; 0 # No COPTIC FRACTION ONE HALF
-2CFE..2CFF ; 0 # Po [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
-2D00..2D25 ; 0 # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; 0 # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; 0 # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; 0 # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; 0 # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; 0 # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; 0 # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; 0 # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; 0 # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; 0 # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; 0 # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; 0 # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2E00..2E01 ; 0 # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; 0 # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; 0 # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; 0 # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; 0 # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; 0 # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; 0 # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; 0 # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; 0 # Po RAISED SQUARE
-2E0C ; 0 # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; 0 # Pf RIGHT RAISED OMISSION BRACKET
-2E0E..2E16 ; 0 # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E17 ; 0 # Pd DOUBLE OBLIQUE HYPHEN
-2E18..2E19 ; 0 # Po [2] INVERTED INTERROBANG..PALM BRANCH
-2E1A ; 0 # Pd HYPHEN WITH DIAERESIS
-2E1B ; 0 # Po TILDE WITH RING ABOVE
-2E1C ; 0 # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; 0 # Pf RIGHT LOW PARAPHRASE BRACKET
-2E1E..2E1F ; 0 # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E20 ; 0 # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; 0 # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; 0 # Ps TOP LEFT HALF BRACKET
-2E23 ; 0 # Pe TOP RIGHT HALF BRACKET
-2E24 ; 0 # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; 0 # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; 0 # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; 0 # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; 0 # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; 0 # Pe RIGHT DOUBLE PARENTHESIS
-2E2A..2E2E ; 0 # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E2F ; 0 # Lm VERTICAL TILDE
-2E30..2E31 ; 0 # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-2E80..2E99 ; 0 # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; 0 # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; 0 # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; 0 # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; 0 # Zs IDEOGRAPHIC SPACE
-3001..3003 ; 0 # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
-3004 ; 0 # So JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005 ; 0 # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; 0 # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; 0 # Nl IDEOGRAPHIC NUMBER ZERO
-3008 ; 0 # Ps LEFT ANGLE BRACKET
-3009 ; 0 # Pe RIGHT ANGLE BRACKET
-300A ; 0 # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; 0 # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; 0 # Ps LEFT CORNER BRACKET
-300D ; 0 # Pe RIGHT CORNER BRACKET
-300E ; 0 # Ps LEFT WHITE CORNER BRACKET
-300F ; 0 # Pe RIGHT WHITE CORNER BRACKET
-3010 ; 0 # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; 0 # Pe RIGHT BLACK LENTICULAR BRACKET
-3012..3013 ; 0 # So [2] POSTAL MARK..GETA MARK
-3014 ; 0 # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; 0 # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; 0 # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; 0 # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; 0 # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; 0 # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; 0 # Ps LEFT WHITE SQUARE BRACKET
-301B ; 0 # Pe RIGHT WHITE SQUARE BRACKET
-301C ; 0 # Pd WAVE DASH
-301D ; 0 # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; 0 # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-3020 ; 0 # So POSTAL MARK FACE
-3021..3029 ; 0 # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3030 ; 0 # Pd WAVY DASH
-3031..3035 ; 0 # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3036..3037 ; 0 # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038..303A ; 0 # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; 0 # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; 0 # Lo MASU MARK
-303D ; 0 # Po PART ALTERNATION MARK
-303E..303F ; 0 # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
-3041..3096 ; 0 # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309B..309C ; 0 # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; 0 # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; 0 # Lo HIRAGANA DIGRAPH YORI
-30A0 ; 0 # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1..30FA ; 0 # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FB ; 0 # Po KATAKANA MIDDLE DOT
-30FC..30FE ; 0 # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; 0 # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; 0 # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; 0 # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3190..3191 ; 0 # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192..3195 ; 0 # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; 0 # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31A0..31B7 ; 0 # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31C0..31E3 ; 0 # So [36] CJK STROKE T..CJK STROKE Q
-31F0..31FF ; 0 # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3200..321E ; 0 # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; 0 # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3250 ; 0 # So [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
-3251..325F ; 0 # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327F ; 0 # So [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
-3280..3289 ; 0 # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; 0 # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; 0 # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; 0 # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; 0 # So [256] SQUARE APAATO..SQUARE GAL
-3400..4DB5 ; 0 # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4DC0..4DFF ; 0 # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB ; 0 # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; 0 # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; 0 # Lm YI SYLLABLE WU
-A016..A48C ; 0 # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A490..A4C6 ; 0 # So [55] YI RADICAL QOT..YI RADICAL KE
-A4D0..A4F7 ; 0 # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; 0 # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A4FE..A4FF ; 0 # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A500..A60B ; 0 # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; 0 # Lm VAI SYLLABLE LENGTHENER
-A60D..A60F ; 0 # Po [3] VAI COMMA..VAI QUESTION MARK
-A610..A61F ; 0 # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; 0 # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; 0 # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; 0 # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; 0 # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; 0 # Lo CYRILLIC LETTER MULTIOCULAR O
-A670..A672 ; 0 # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673 ; 0 # Po SLAVONIC ASTERISK
-A67E ; 0 # Po CYRILLIC KAVYKA
-A67F ; 0 # Lm CYRILLIC PAYEROK
-A680..A697 ; 0 # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; 0 # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; 0 # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F2..A6F7 ; 0 # Po [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
-A700..A716 ; 0 # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; 0 # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; 0 # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A722..A76F ; 0 # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; 0 # Lm MODIFIER LETTER US
-A771..A787 ; 0 # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; 0 # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789..A78A ; 0 # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A78B..A78C ; 0 # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; 0 # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A802 ; 0 # Mn SYLOTI NAGRI SIGN DVISVARA
-A803..A805 ; 0 # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; 0 # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80B ; 0 # Mn SYLOTI NAGRI SIGN ANUSVARA
-A80C..A822 ; 0 # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; 0 # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; 0 # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; 0 # Mc SYLOTI NAGRI VOWEL SIGN OO
-A828..A82B ; 0 # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-A830..A835 ; 0 # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-A836..A837 ; 0 # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A838 ; 0 # Sc NORTH INDIC RUPEE MARK
-A839 ; 0 # So NORTH INDIC QUANTITY MARK
-A840..A873 ; 0 # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A874..A877 ; 0 # Po [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
-A880..A881 ; 0 # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; 0 # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; 0 # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8CE..A8CF ; 0 # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A8D0..A8D9 ; 0 # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A8F2..A8F7 ; 0 # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8..A8FA ; 0 # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A8FB ; 0 # Lo DEVANAGARI HEADSTROKE
-A900..A909 ; 0 # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; 0 # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A926..A92A ; 0 # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
-A92E..A92F ; 0 # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-A930..A946 ; 0 # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A947..A951 ; 0 # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952 ; 0 # Mc REJANG CONSONANT SIGN H
-A95F ; 0 # Po REJANG SECTION MARK
-A960..A97C ; 0 # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A980..A982 ; 0 # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; 0 # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; 0 # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B4..A9B5 ; 0 # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; 0 # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; 0 # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; 0 # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9BF ; 0 # Mc [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA
-A9C1..A9CD ; 0 # Po [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
-A9CF ; 0 # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; 0 # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-A9DE..A9DF ; 0 # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA00..AA28 ; 0 # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA29..AA2E ; 0 # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; 0 # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; 0 # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; 0 # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; 0 # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA40..AA42 ; 0 # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA43 ; 0 # Mn CHAM CONSONANT SIGN FINAL NG
-AA44..AA4B ; 0 # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4C ; 0 # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; 0 # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; 0 # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA5C..AA5F ; 0 # Po [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-AA60..AA6F ; 0 # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; 0 # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; 0 # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA77..AA79 ; 0 # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-AA7A ; 0 # Lo MYANMAR LETTER AITON RA
-AA7B ; 0 # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; 0 # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; 0 # Lo TAI VIET VOWEL AA
-AAB5..AAB6 ; 0 # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; 0 # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; 0 # Lo TAI VIET TONE MAI NUENG
-AAC2 ; 0 # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; 0 # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; 0 # Lm TAI VIET SYMBOL SAM
-AADE..AADF ; 0 # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-ABC0..ABE2 ; 0 # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; 0 # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; 0 # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; 0 # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; 0 # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; 0 # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEB ; 0 # Po MEETEI MAYEK CHEIKHEI
-ABEC ; 0 # Mc MEETEI MAYEK LUM IYEK
-ABF0..ABF9 ; 0 # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-AC00..D7A3 ; 0 # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; 0 # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; 0 # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-E000..F8FF ; 0 # Co [6400] <private-use-E000>..<private-use-F8FF>
-F900..FA2D ; 0 # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; 0 # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; 0 # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB00..FB06 ; 0 # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; 0 # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; 0 # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; 0 # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; 0 # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; 0 # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; 0 # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; 0 # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; 0 # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; 0 # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; 0 # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; 0 # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD3E ; 0 # Ps ORNATE LEFT PARENTHESIS
-FD3F ; 0 # Pe ORNATE RIGHT PARENTHESIS
-FD50..FD8F ; 0 # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; 0 # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; 0 # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; 0 # Sc RIAL SIGN
-FDFD ; 0 # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE00..FE0F ; 0 # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE10..FE16 ; 0 # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; 0 # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; 0 # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; 0 # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; 0 # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45..FE46 ; 0 # Po [2] SESAME DOT..WHITE SESAME DOT
-FE47 ; 0 # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; 0 # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; 0 # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; 0 # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; 0 # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; 0 # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; 0 # Pd SMALL EM DASH
-FE59 ; 0 # Ps SMALL LEFT PARENTHESIS
-FE5A ; 0 # Pe SMALL RIGHT PARENTHESIS
-FE5B ; 0 # Ps SMALL LEFT CURLY BRACKET
-FE5C ; 0 # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; 0 # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; 0 # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; 0 # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; 0 # Sm SMALL PLUS SIGN
-FE63 ; 0 # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; 0 # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; 0 # Po SMALL REVERSE SOLIDUS
-FE69 ; 0 # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; 0 # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FE70..FE74 ; 0 # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; 0 # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF ; 0 # Cf ZERO WIDTH NO-BREAK SPACE
-FF01..FF03 ; 0 # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; 0 # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; 0 # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; 0 # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; 0 # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; 0 # Po FULLWIDTH ASTERISK
-FF0B ; 0 # Sm FULLWIDTH PLUS SIGN
-FF0C ; 0 # Po FULLWIDTH COMMA
-FF0D ; 0 # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; 0 # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; 0 # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; 0 # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; 0 # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; 0 # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; 0 # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; 0 # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; 0 # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; 0 # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; 0 # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; 0 # Pc FULLWIDTH LOW LINE
-FF40 ; 0 # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; 0 # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; 0 # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; 0 # Sm FULLWIDTH VERTICAL LINE
-FF5D ; 0 # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; 0 # Sm FULLWIDTH TILDE
-FF5F ; 0 # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; 0 # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; 0 # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; 0 # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; 0 # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; 0 # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; 0 # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; 0 # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; 0 # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; 0 # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; 0 # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; 0 # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; 0 # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; 0 # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; 0 # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE0..FFE1 ; 0 # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; 0 # Sm FULLWIDTH NOT SIGN
-FFE3 ; 0 # Sk FULLWIDTH MACRON
-FFE4 ; 0 # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; 0 # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-FFE8 ; 0 # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; 0 # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; 0 # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-FFF9..FFFB ; 0 # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10000..1000B ; 0 # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; 0 # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; 0 # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; 0 # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; 0 # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; 0 # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; 0 # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10101 ; 0 # Po [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102 ; 0 # So AEGEAN CHECK MARK
-10107..10133 ; 0 # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; 0 # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10140..10174 ; 0 # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; 0 # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-10179..10189 ; 0 # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-1018A ; 0 # No GREEK ZERO SIGN
-10190..1019B ; 0 # So [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FC ; 0 # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-10280..1029C ; 0 # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; 0 # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; 0 # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; 0 # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340 ; 0 # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; 0 # Nl GOTHIC LETTER NINETY
-10342..10349 ; 0 # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; 0 # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; 0 # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-1039F ; 0 # Po UGARITIC WORD DIVIDER
-103A0..103C3 ; 0 # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; 0 # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D0 ; 0 # Po OLD PERSIAN WORD DIVIDER
-103D1..103D5 ; 0 # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; 0 # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; 0 # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-104A0..104A9 ; 0 # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-10800..10805 ; 0 # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; 0 # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; 0 # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; 0 # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; 0 # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; 0 # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10857 ; 0 # Po IMPERIAL ARAMAIC SECTION SIGN
-10858..1085F ; 0 # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900..10915 ; 0 # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10916..1091B ; 0 # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-1091F ; 0 # Po PHOENICIAN WORD SEPARATOR
-10920..10939 ; 0 # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093F ; 0 # Po LYDIAN TRIANGULAR MARK
-10A00 ; 0 # Lo KHAROSHTHI LETTER A
-10A01..10A03 ; 0 # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; 0 # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C ; 0 # Mn KHAROSHTHI VOWEL LENGTH MARK
-10A0E ; 0 # Mn KHAROSHTHI SIGN ANUSVARA
-10A10..10A13 ; 0 # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; 0 # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; 0 # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A40..10A47 ; 0 # No [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A50..10A58 ; 0 # Po [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-10A60..10A7C ; 0 # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10A7D..10A7E ; 0 # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; 0 # Po OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00..10B35 ; 0 # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B39..10B3F ; 0 # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B40..10B55 ; 0 # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58..10B5F ; 0 # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60..10B72 ; 0 # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78..10B7F ; 0 # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00..10C48 ; 0 # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10E60..10E7E ; 0 # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-11080..11081 ; 0 # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; 0 # Mc KAITHI SIGN VISARGA
-11083..110AF ; 0 # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; 0 # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; 0 # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; 0 # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110BB..110BC ; 0 # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BD ; 0 # Cf KAITHI NUMBER SIGN
-110BE..110C1 ; 0 # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12000..1236E ; 0 # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; 0 # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470..12473 ; 0 # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000..1342E ; 0 # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D000..1D0F5 ; 0 # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; 0 # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; 0 # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D16A..1D16C ; 0 # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D173..1D17A ; 0 # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D183..1D184 ; 0 # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D18C..1D1A9 ; 0 # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD ; 0 # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D200..1D241 ; 0 # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D245 ; 0 # So GREEK MUSICAL LEIMMA
-1D300..1D356 ; 0 # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D360..1D371 ; 0 # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D400..1D454 ; 0 # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; 0 # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; 0 # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; 0 # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; 0 # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; 0 # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; 0 # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; 0 # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; 0 # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; 0 # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; 0 # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; 0 # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; 0 # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; 0 # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; 0 # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; 0 # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; 0 # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; 0 # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; 0 # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; 0 # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; 0 # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; 0 # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; 0 # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; 0 # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; 0 # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; 0 # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; 0 # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; 0 # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; 0 # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; 0 # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; 0 # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; 0 # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; 0 # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; 0 # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; 0 # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; 0 # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; 0 # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; 0 # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; 0 # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; 0 # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; 0 # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F000..1F02B ; 0 # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; 0 # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F100..1F10A ; 0 # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12E ; 0 # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; 0 # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; 0 # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; 0 # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; 0 # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; 0 # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; 0 # So [5] SQUARED HV..SQUARED PPV
-1F157 ; 0 # So NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; 0 # So NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; 0 # So NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; 0 # So [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; 0 # So NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; 0 # So [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; 0 # So SQUARE DJ
-1F200 ; 0 # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; 0 # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; 0 # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6 ; 0 # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; 0 # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; 0 # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-E0001 ; 0 # Cf LANGUAGE TAG
-E0020..E007F ; 0 # Cf [96] TAG SPACE..CANCEL TAG
-E0100..E01EF ; 0 # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-F0000..FFFFD ; 0 # Co [65534] <private-use-F0000>..<private-use-FFFFD>
-100000..10FFFD; 0 # Co [65534] <private-use-100000>..<private-use-10FFFD>
-
-# The above property value applies to 869283 code points not listed here.
-# Total code points: 1113518
-
-# ================================================
-
-# Canonical_Combining_Class=Overlay
-
-0334..0338 ; 1 # Mn [5] COMBINING TILDE OVERLAY..COMBINING LONG SOLIDUS OVERLAY
-1CD4 ; 1 # Mn VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
-1CE2..1CE8 ; 1 # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-20D2..20D3 ; 1 # Mn [2] COMBINING LONG VERTICAL LINE OVERLAY..COMBINING SHORT VERTICAL LINE OVERLAY
-20D8..20DA ; 1 # Mn [3] COMBINING RING OVERLAY..COMBINING ANTICLOCKWISE RING OVERLAY
-20E5..20E6 ; 1 # Mn [2] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20EA..20EB ; 1 # Mn [2] COMBINING LEFTWARDS ARROW OVERLAY..COMBINING LONG DOUBLE SOLIDUS OVERLAY
-10A39 ; 1 # Mn KHAROSHTHI SIGN CAUDA
-1D167..1D169 ; 1 # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-
-# Total code points: 26
-
-# ================================================
-
-# Canonical_Combining_Class=Nukta
-
-093C ; 7 # Mn DEVANAGARI SIGN NUKTA
-09BC ; 7 # Mn BENGALI SIGN NUKTA
-0A3C ; 7 # Mn GURMUKHI SIGN NUKTA
-0ABC ; 7 # Mn GUJARATI SIGN NUKTA
-0B3C ; 7 # Mn ORIYA SIGN NUKTA
-0CBC ; 7 # Mn KANNADA SIGN NUKTA
-1037 ; 7 # Mn MYANMAR SIGN DOT BELOW
-1B34 ; 7 # Mn BALINESE SIGN REREKAN
-1C37 ; 7 # Mn LEPCHA SIGN NUKTA
-A9B3 ; 7 # Mn JAVANESE SIGN CECAK TELU
-110BA ; 7 # Mn KAITHI SIGN NUKTA
-
-# Total code points: 11
-
-# ================================================
-
-# Canonical_Combining_Class=Kana_Voicing
-
-3099..309A ; 8 # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=Virama
-
-094D ; 9 # Mn DEVANAGARI SIGN VIRAMA
-09CD ; 9 # Mn BENGALI SIGN VIRAMA
-0A4D ; 9 # Mn GURMUKHI SIGN VIRAMA
-0ACD ; 9 # Mn GUJARATI SIGN VIRAMA
-0B4D ; 9 # Mn ORIYA SIGN VIRAMA
-0BCD ; 9 # Mn TAMIL SIGN VIRAMA
-0C4D ; 9 # Mn TELUGU SIGN VIRAMA
-0CCD ; 9 # Mn KANNADA SIGN VIRAMA
-0D4D ; 9 # Mn MALAYALAM SIGN VIRAMA
-0DCA ; 9 # Mn SINHALA SIGN AL-LAKUNA
-0E3A ; 9 # Mn THAI CHARACTER PHINTHU
-0F84 ; 9 # Mn TIBETAN MARK HALANTA
-1039..103A ; 9 # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-1714 ; 9 # Mn TAGALOG SIGN VIRAMA
-1734 ; 9 # Mn HANUNOO SIGN PAMUDPOD
-17D2 ; 9 # Mn KHMER SIGN COENG
-1A60 ; 9 # Mn TAI THAM SIGN SAKOT
-1B44 ; 9 # Mc BALINESE ADEG ADEG
-1BAA ; 9 # Mc SUNDANESE SIGN PAMAAEH
-A806 ; 9 # Mn SYLOTI NAGRI SIGN HASANTA
-A8C4 ; 9 # Mn SAURASHTRA SIGN VIRAMA
-A953 ; 9 # Mc REJANG VIRAMA
-A9C0 ; 9 # Mc JAVANESE PANGKON
-ABED ; 9 # Mn MEETEI MAYEK APUN IYEK
-10A3F ; 9 # Mn KHAROSHTHI VIRAMA
-110B9 ; 9 # Mn KAITHI SIGN VIRAMA
-
-# Total code points: 27
-
-# ================================================
-
-# Canonical_Combining_Class=10
-
-05B0 ; 10 # Mn HEBREW POINT SHEVA
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=11
-
-05B1 ; 11 # Mn HEBREW POINT HATAF SEGOL
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=12
-
-05B2 ; 12 # Mn HEBREW POINT HATAF PATAH
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=13
-
-05B3 ; 13 # Mn HEBREW POINT HATAF QAMATS
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=14
-
-05B4 ; 14 # Mn HEBREW POINT HIRIQ
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=15
-
-05B5 ; 15 # Mn HEBREW POINT TSERE
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=16
-
-05B6 ; 16 # Mn HEBREW POINT SEGOL
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=17
-
-05B7 ; 17 # Mn HEBREW POINT PATAH
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=18
-
-05B8 ; 18 # Mn HEBREW POINT QAMATS
-05C7 ; 18 # Mn HEBREW POINT QAMATS QATAN
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=19
-
-05B9..05BA ; 19 # Mn [2] HEBREW POINT HOLAM..HEBREW POINT HOLAM HASER FOR VAV
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=20
-
-05BB ; 20 # Mn HEBREW POINT QUBUTS
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=21
-
-05BC ; 21 # Mn HEBREW POINT DAGESH OR MAPIQ
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=22
-
-05BD ; 22 # Mn HEBREW POINT METEG
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=23
-
-05BF ; 23 # Mn HEBREW POINT RAFE
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=24
-
-05C1 ; 24 # Mn HEBREW POINT SHIN DOT
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=25
-
-05C2 ; 25 # Mn HEBREW POINT SIN DOT
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=26
-
-FB1E ; 26 # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=27
-
-064B ; 27 # Mn ARABIC FATHATAN
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=28
-
-064C ; 28 # Mn ARABIC DAMMATAN
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=29
-
-064D ; 29 # Mn ARABIC KASRATAN
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=30
-
-0618 ; 30 # Mn ARABIC SMALL FATHA
-064E ; 30 # Mn ARABIC FATHA
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=31
-
-0619 ; 31 # Mn ARABIC SMALL DAMMA
-064F ; 31 # Mn ARABIC DAMMA
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=32
-
-061A ; 32 # Mn ARABIC SMALL KASRA
-0650 ; 32 # Mn ARABIC KASRA
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=33
-
-0651 ; 33 # Mn ARABIC SHADDA
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=34
-
-0652 ; 34 # Mn ARABIC SUKUN
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=35
-
-0670 ; 35 # Mn ARABIC LETTER SUPERSCRIPT ALEF
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=36
-
-0711 ; 36 # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=84
-
-0C55 ; 84 # Mn TELUGU LENGTH MARK
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=91
-
-0C56 ; 91 # Mn TELUGU AI LENGTH MARK
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=103
-
-0E38..0E39 ; 103 # Mn [2] THAI CHARACTER SARA U..THAI CHARACTER SARA UU
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=107
-
-0E48..0E4B ; 107 # Mn [4] THAI CHARACTER MAI EK..THAI CHARACTER MAI CHATTAWA
-
-# Total code points: 4
-
-# ================================================
-
-# Canonical_Combining_Class=118
-
-0EB8..0EB9 ; 118 # Mn [2] LAO VOWEL SIGN U..LAO VOWEL SIGN UU
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=122
-
-0EC8..0ECB ; 122 # Mn [4] LAO TONE MAI EK..LAO TONE MAI CATAWA
-
-# Total code points: 4
-
-# ================================================
-
-# Canonical_Combining_Class=129
-
-0F71 ; 129 # Mn TIBETAN VOWEL SIGN AA
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=130
-
-0F72 ; 130 # Mn TIBETAN VOWEL SIGN I
-0F7A..0F7D ; 130 # Mn [4] TIBETAN VOWEL SIGN E..TIBETAN VOWEL SIGN OO
-0F80 ; 130 # Mn TIBETAN VOWEL SIGN REVERSED I
-
-# Total code points: 6
-
-# ================================================
-
-# Canonical_Combining_Class=132
-
-0F74 ; 132 # Mn TIBETAN VOWEL SIGN U
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=Attached_Below
-
-0321..0322 ; 202 # Mn [2] COMBINING PALATALIZED HOOK BELOW..COMBINING RETROFLEX HOOK BELOW
-0327..0328 ; 202 # Mn [2] COMBINING CEDILLA..COMBINING OGONEK
-1DD0 ; 202 # Mn COMBINING IS BELOW
-
-# Total code points: 5
-
-# ================================================
-
-# Canonical_Combining_Class=Attached_Above
-
-1DCE ; 214 # Mn COMBINING OGONEK ABOVE
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=Attached_Above_Right
-
-031B ; 216 # Mn COMBINING HORN
-0F39 ; 216 # Mn TIBETAN MARK TSA -PHRU
-1D165..1D166 ; 216 # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D16E..1D172 ; 216 # Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
-
-# Total code points: 9
-
-# ================================================
-
-# Canonical_Combining_Class=Below_Left
-
-302A ; 218 # Mn IDEOGRAPHIC LEVEL TONE MARK
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=Below
-
-0316..0319 ; 220 # Mn [4] COMBINING GRAVE ACCENT BELOW..COMBINING RIGHT TACK BELOW
-031C..0320 ; 220 # Mn [5] COMBINING LEFT HALF RING BELOW..COMBINING MINUS SIGN BELOW
-0323..0326 ; 220 # Mn [4] COMBINING DOT BELOW..COMBINING COMMA BELOW
-0329..0333 ; 220 # Mn [11] COMBINING VERTICAL LINE BELOW..COMBINING DOUBLE LOW LINE
-0339..033C ; 220 # Mn [4] COMBINING RIGHT HALF RING BELOW..COMBINING SEAGULL BELOW
-0347..0349 ; 220 # Mn [3] COMBINING EQUALS SIGN BELOW..COMBINING LEFT ANGLE BELOW
-034D..034E ; 220 # Mn [2] COMBINING LEFT RIGHT ARROW BELOW..COMBINING UPWARDS ARROW BELOW
-0353..0356 ; 220 # Mn [4] COMBINING X BELOW..COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-0359..035A ; 220 # Mn [2] COMBINING ASTERISK BELOW..COMBINING DOUBLE RING BELOW
-0591 ; 220 # Mn HEBREW ACCENT ETNAHTA
-0596 ; 220 # Mn HEBREW ACCENT TIPEHA
-059B ; 220 # Mn HEBREW ACCENT TEVIR
-05A2..05A7 ; 220 # Mn [6] HEBREW ACCENT ATNAH HAFUKH..HEBREW ACCENT DARGA
-05AA ; 220 # Mn HEBREW ACCENT YERAH BEN YOMO
-05C5 ; 220 # Mn HEBREW MARK LOWER DOT
-0655..0656 ; 220 # Mn [2] ARABIC HAMZA BELOW..ARABIC SUBSCRIPT ALEF
-065C ; 220 # Mn ARABIC VOWEL SIGN DOT BELOW
-06E3 ; 220 # Mn ARABIC SMALL LOW SEEN
-06EA ; 220 # Mn ARABIC EMPTY CENTRE LOW STOP
-06ED ; 220 # Mn ARABIC SMALL LOW MEEM
-0731 ; 220 # Mn SYRIAC PTHAHA BELOW
-0734 ; 220 # Mn SYRIAC ZQAPHA BELOW
-0737..0739 ; 220 # Mn [3] SYRIAC RBASA BELOW..SYRIAC DOTTED ZLAMA ANGULAR
-073B..073C ; 220 # Mn [2] SYRIAC HBASA BELOW..SYRIAC HBASA-ESASA DOTTED
-073E ; 220 # Mn SYRIAC ESASA BELOW
-0742 ; 220 # Mn SYRIAC RUKKAKHA
-0744 ; 220 # Mn SYRIAC TWO VERTICAL DOTS BELOW
-0746 ; 220 # Mn SYRIAC THREE DOTS BELOW
-0748 ; 220 # Mn SYRIAC OBLIQUE LINE BELOW
-07F2 ; 220 # Mn NKO COMBINING NASALIZATION MARK
-0952 ; 220 # Mn DEVANAGARI STRESS SIGN ANUDATTA
-0F18..0F19 ; 220 # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; 220 # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; 220 # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0FC6 ; 220 # Mn TIBETAN SYMBOL PADMA GDAN
-108D ; 220 # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-193B ; 220 # Mn LIMBU SIGN SA-I
-1A18 ; 220 # Mn BUGINESE VOWEL SIGN U
-1A7F ; 220 # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B6C ; 220 # Mn BALINESE MUSICAL SYMBOL COMBINING ENDEP
-1CD5..1CD9 ; 220 # Mn [5] VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA..VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
-1CDC..1CDF ; 220 # Mn [4] VEDIC TONE KATHAKA ANUDATTA..VEDIC TONE THREE DOTS BELOW
-1CED ; 220 # Mn VEDIC SIGN TIRYAK
-1DC2 ; 220 # Mn COMBINING SNAKE BELOW
-1DCA ; 220 # Mn COMBINING LATIN SMALL LETTER R BELOW
-1DCF ; 220 # Mn COMBINING ZIGZAG BELOW
-1DFD ; 220 # Mn COMBINING ALMOST EQUAL TO BELOW
-1DFF ; 220 # Mn COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-20E8 ; 220 # Mn COMBINING TRIPLE UNDERDOT
-20EC..20EF ; 220 # Mn [4] COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS..COMBINING RIGHT ARROW BELOW
-A92B..A92D ; 220 # Mn [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU
-AAB4 ; 220 # Mn TAI VIET VOWEL U
-101FD ; 220 # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A0D ; 220 # Mn KHAROSHTHI SIGN DOUBLE RING BELOW
-10A3A ; 220 # Mn KHAROSHTHI SIGN DOT BELOW
-1D17B..1D182 ; 220 # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D18A..1D18B ; 220 # Mn [2] MUSICAL SYMBOL COMBINING DOUBLE TONGUE..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-
-# Total code points: 117
-
-# ================================================
-
-# Canonical_Combining_Class=Below_Right
-
-059A ; 222 # Mn HEBREW ACCENT YETIV
-05AD ; 222 # Mn HEBREW ACCENT DEHI
-1939 ; 222 # Mn LIMBU SIGN MUKPHRENG
-302D ; 222 # Mn IDEOGRAPHIC ENTERING TONE MARK
-
-# Total code points: 4
-
-# ================================================
-
-# Canonical_Combining_Class=Left
-
-302E..302F ; 224 # Mn [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
-
-# Total code points: 2
-
-# ================================================
-
-# Canonical_Combining_Class=Right
-
-1D16D ; 226 # Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT
-
-# Total code points: 1
-
-# ================================================
-
-# Canonical_Combining_Class=Above_Left
-
-05AE ; 228 # Mn HEBREW ACCENT ZINOR
-18A9 ; 228 # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-302B ; 228 # Mn IDEOGRAPHIC RISING TONE MARK
-
-# Total code points: 3
-
-# ================================================
-
-# Canonical_Combining_Class=Above
-
-0300..0314 ; 230 # Mn [21] COMBINING GRAVE ACCENT..COMBINING REVERSED COMMA ABOVE
-033D..0344 ; 230 # Mn [8] COMBINING X ABOVE..COMBINING GREEK DIALYTIKA TONOS
-0346 ; 230 # Mn COMBINING BRIDGE ABOVE
-034A..034C ; 230 # Mn [3] COMBINING NOT TILDE ABOVE..COMBINING ALMOST EQUAL TO ABOVE
-0350..0352 ; 230 # Mn [3] COMBINING RIGHT ARROWHEAD ABOVE..COMBINING FERMATA
-0357 ; 230 # Mn COMBINING RIGHT HALF RING ABOVE
-035B ; 230 # Mn COMBINING ZIGZAG ABOVE
-0363..036F ; 230 # Mn [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X
-0483..0487 ; 230 # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0592..0595 ; 230 # Mn [4] HEBREW ACCENT SEGOL..HEBREW ACCENT ZAQEF GADOL
-0597..0599 ; 230 # Mn [3] HEBREW ACCENT REVIA..HEBREW ACCENT PASHTA
-059C..05A1 ; 230 # Mn [6] HEBREW ACCENT GERESH..HEBREW ACCENT PAZER
-05A8..05A9 ; 230 # Mn [2] HEBREW ACCENT QADMA..HEBREW ACCENT TELISHA QETANA
-05AB..05AC ; 230 # Mn [2] HEBREW ACCENT OLE..HEBREW ACCENT ILUY
-05AF ; 230 # Mn HEBREW MARK MASORA CIRCLE
-05C4 ; 230 # Mn HEBREW MARK UPPER DOT
-0610..0617 ; 230 # Mn [8] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL HIGH ZAIN
-0653..0654 ; 230 # Mn [2] ARABIC MADDAH ABOVE..ARABIC HAMZA ABOVE
-0657..065B ; 230 # Mn [5] ARABIC INVERTED DAMMA..ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065D..065E ; 230 # Mn [2] ARABIC REVERSED DAMMA..ARABIC FATHA WITH TWO DOTS
-06D6..06DC ; 230 # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DF..06E2 ; 230 # Mn [4] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MEEM ISOLATED FORM
-06E4 ; 230 # Mn ARABIC SMALL HIGH MADDA
-06E7..06E8 ; 230 # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EB..06EC ; 230 # Mn [2] ARABIC EMPTY CENTRE HIGH STOP..ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
-0730 ; 230 # Mn SYRIAC PTHAHA ABOVE
-0732..0733 ; 230 # Mn [2] SYRIAC PTHAHA DOTTED..SYRIAC ZQAPHA ABOVE
-0735..0736 ; 230 # Mn [2] SYRIAC ZQAPHA DOTTED..SYRIAC RBASA ABOVE
-073A ; 230 # Mn SYRIAC HBASA ABOVE
-073D ; 230 # Mn SYRIAC ESASA ABOVE
-073F..0741 ; 230 # Mn [3] SYRIAC RWAHA..SYRIAC QUSHSHAYA
-0743 ; 230 # Mn SYRIAC TWO VERTICAL DOTS ABOVE
-0745 ; 230 # Mn SYRIAC THREE DOTS ABOVE
-0747 ; 230 # Mn SYRIAC OBLIQUE LINE ABOVE
-0749..074A ; 230 # Mn [2] SYRIAC MUSIC..SYRIAC BARREKH
-07EB..07F1 ; 230 # Mn [7] NKO COMBINING SHORT HIGH TONE..NKO COMBINING LONG RISING TONE
-07F3 ; 230 # Mn NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; 230 # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; 230 # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; 230 # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; 230 # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0951 ; 230 # Mn DEVANAGARI STRESS SIGN UDATTA
-0953..0954 ; 230 # Mn [2] DEVANAGARI GRAVE ACCENT..DEVANAGARI ACUTE ACCENT
-0F82..0F83 ; 230 # Mn [2] TIBETAN SIGN NYI ZLA NAA DA..TIBETAN SIGN SNA LDAN
-0F86..0F87 ; 230 # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-135F ; 230 # Mn ETHIOPIC COMBINING GEMINATION MARK
-17DD ; 230 # Mn KHMER SIGN ATTHACAN
-193A ; 230 # Mn LIMBU SIGN KEMPHRENG
-1A17 ; 230 # Mn BUGINESE VOWEL SIGN I
-1A75..1A7C ; 230 # Mn [8] TAI THAM SIGN TONE-1..TAI THAM SIGN KHUEN-LUE KARAN
-1B6B ; 230 # Mn BALINESE MUSICAL SYMBOL COMBINING TEGEH
-1B6D..1B73 ; 230 # Mn [7] BALINESE MUSICAL SYMBOL COMBINING KEMPUL..BALINESE MUSICAL SYMBOL COMBINING GONG
-1CD0..1CD2 ; 230 # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CDA..1CDB ; 230 # Mn [2] VEDIC TONE DOUBLE SVARITA..VEDIC TONE TRIPLE SVARITA
-1CE0 ; 230 # Mn VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1DC0..1DC1 ; 230 # Mn [2] COMBINING DOTTED GRAVE ACCENT..COMBINING DOTTED ACUTE ACCENT
-1DC3..1DC9 ; 230 # Mn [7] COMBINING SUSPENSION MARK..COMBINING ACUTE-GRAVE-ACUTE
-1DCB..1DCC ; 230 # Mn [2] COMBINING BREVE-MACRON..COMBINING MACRON-BREVE
-1DD1..1DE6 ; 230 # Mn [22] COMBINING UR ABOVE..COMBINING LATIN SMALL LETTER Z
-1DFE ; 230 # Mn COMBINING LEFT ARROWHEAD ABOVE
-20D0..20D1 ; 230 # Mn [2] COMBINING LEFT HARPOON ABOVE..COMBINING RIGHT HARPOON ABOVE
-20D4..20D7 ; 230 # Mn [4] COMBINING ANTICLOCKWISE ARROW ABOVE..COMBINING RIGHT ARROW ABOVE
-20DB..20DC ; 230 # Mn [2] COMBINING THREE DOTS ABOVE..COMBINING FOUR DOTS ABOVE
-20E1 ; 230 # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E7 ; 230 # Mn COMBINING ANNUITY SYMBOL
-20E9 ; 230 # Mn COMBINING WIDE BRIDGE ABOVE
-20F0 ; 230 # Mn COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; 230 # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; 230 # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-A66F ; 230 # Mn COMBINING CYRILLIC VZMET
-A67C..A67D ; 230 # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; 230 # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A8E0..A8F1 ; 230 # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-AAB0 ; 230 # Mn TAI VIET MAI KANG
-AAB2..AAB3 ; 230 # Mn [2] TAI VIET VOWEL I..TAI VIET VOWEL UE
-AAB7..AAB8 ; 230 # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; 230 # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; 230 # Mn TAI VIET TONE MAI THO
-FE20..FE26 ; 230 # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-10A0F ; 230 # Mn KHAROSHTHI SIGN VISARGA
-10A38 ; 230 # Mn KHAROSHTHI SIGN BAR ABOVE
-1D185..1D189 ; 230 # Mn [5] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING BEND
-1D1AA..1D1AD ; 230 # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; 230 # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-
-# Total code points: 318
-
-# ================================================
-
-# Canonical_Combining_Class=Above_Right
-
-0315 ; 232 # Mn COMBINING COMMA ABOVE RIGHT
-031A ; 232 # Mn COMBINING LEFT ANGLE ABOVE
-0358 ; 232 # Mn COMBINING DOT ABOVE RIGHT
-302C ; 232 # Mn IDEOGRAPHIC DEPARTING TONE MARK
-
-# Total code points: 4
-
-# ================================================
-
-# Canonical_Combining_Class=Double_Below
-
-035C ; 233 # Mn COMBINING DOUBLE BREVE BELOW
-035F ; 233 # Mn COMBINING DOUBLE MACRON BELOW
-0362 ; 233 # Mn COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-
-# Total code points: 3
-
-# ================================================
-
-# Canonical_Combining_Class=Double_Above
-
-035D..035E ; 234 # Mn [2] COMBINING DOUBLE BREVE..COMBINING DOUBLE MACRON
-0360..0361 ; 234 # Mn [2] COMBINING DOUBLE TILDE..COMBINING DOUBLE INVERTED BREVE
-1DCD ; 234 # Mn COMBINING DOUBLE CIRCUMFLEX ABOVE
-
-# Total code points: 5
-
-# ================================================
-
-# Canonical_Combining_Class=Iota_Subscript
-
-0345 ; 240 # Mn COMBINING GREEK YPOGEGRAMMENI
-
-# Total code points: 1
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DDecompositionType.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DDecompositionType.txt
deleted file mode 100644
index b6d8e337568..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DDecompositionType.txt
+++ /dev/null
@@ -1,977 +0,0 @@
-# DerivedDecompositionType-5.2.0.txt
-# Date: 2009-08-22, 04:58:19 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Decomposition_Type (from UnicodeData.txt, field 5: see UAX #44: http://www.unicode.org/reports/tr44/)
-
-# All code points not explicitly listed for Decomposition_Type
-# have the value None.
-
-# @missing: 0000..10FFFF; None
-
-# ================================================
-
-00C0..00C5 ; Canonical # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
-00C7..00CF ; Canonical # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
-00D1..00D6 ; Canonical # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D9..00DD ; Canonical # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE
-00E0..00E5 ; Canonical # L& [6] LATIN SMALL LETTER A WITH GRAVE..LATIN SMALL LETTER A WITH RING ABOVE
-00E7..00EF ; Canonical # L& [9] LATIN SMALL LETTER C WITH CEDILLA..LATIN SMALL LETTER I WITH DIAERESIS
-00F1..00F6 ; Canonical # L& [6] LATIN SMALL LETTER N WITH TILDE..LATIN SMALL LETTER O WITH DIAERESIS
-00F9..00FD ; Canonical # L& [5] LATIN SMALL LETTER U WITH GRAVE..LATIN SMALL LETTER Y WITH ACUTE
-00FF..010F ; Canonical # L& [17] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN SMALL LETTER D WITH CARON
-0112..0125 ; Canonical # L& [20] LATIN CAPITAL LETTER E WITH MACRON..LATIN SMALL LETTER H WITH CIRCUMFLEX
-0128..0130 ; Canonical # L& [9] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH DOT ABOVE
-0134..0137 ; Canonical # L& [4] LATIN CAPITAL LETTER J WITH CIRCUMFLEX..LATIN SMALL LETTER K WITH CEDILLA
-0139..013E ; Canonical # L& [6] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH CARON
-0143..0148 ; Canonical # L& [6] LATIN CAPITAL LETTER N WITH ACUTE..LATIN SMALL LETTER N WITH CARON
-014C..0151 ; Canonical # L& [6] LATIN CAPITAL LETTER O WITH MACRON..LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0154..0165 ; Canonical # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON
-0168..017E ; Canonical # L& [23] LATIN CAPITAL LETTER U WITH TILDE..LATIN SMALL LETTER Z WITH CARON
-01A0..01A1 ; Canonical # L& [2] LATIN CAPITAL LETTER O WITH HORN..LATIN SMALL LETTER O WITH HORN
-01AF..01B0 ; Canonical # L& [2] LATIN CAPITAL LETTER U WITH HORN..LATIN SMALL LETTER U WITH HORN
-01CD..01DC ; Canonical # L& [16] LATIN CAPITAL LETTER A WITH CARON..LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DE..01E3 ; Canonical # L& [6] LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON..LATIN SMALL LETTER AE WITH MACRON
-01E6..01F0 ; Canonical # L& [11] LATIN CAPITAL LETTER G WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F4..01F5 ; Canonical # L& [2] LATIN CAPITAL LETTER G WITH ACUTE..LATIN SMALL LETTER G WITH ACUTE
-01F8..021B ; Canonical # L& [36] LATIN CAPITAL LETTER N WITH GRAVE..LATIN SMALL LETTER T WITH COMMA BELOW
-021E..021F ; Canonical # L& [2] LATIN CAPITAL LETTER H WITH CARON..LATIN SMALL LETTER H WITH CARON
-0226..0233 ; Canonical # L& [14] LATIN CAPITAL LETTER A WITH DOT ABOVE..LATIN SMALL LETTER Y WITH MACRON
-0340..0341 ; Canonical # Mn [2] COMBINING GRAVE TONE MARK..COMBINING ACUTE TONE MARK
-0343..0344 ; Canonical # Mn [2] COMBINING GREEK KORONIS..COMBINING GREEK DIALYTIKA TONOS
-0374 ; Canonical # Lm GREEK NUMERAL SIGN
-037E ; Canonical # Po GREEK QUESTION MARK
-0385 ; Canonical # Sk GREEK DIALYTIKA TONOS
-0386 ; Canonical # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; Canonical # Po GREEK ANO TELEIA
-0388..038A ; Canonical # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Canonical # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..0390 ; Canonical # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AA..03B0 ; Canonical # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03CA..03CE ; Canonical # L& [5] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER OMEGA WITH TONOS
-03D3..03D4 ; Canonical # L& [2] GREEK UPSILON WITH ACUTE AND HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-0400..0401 ; Canonical # L& [2] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC CAPITAL LETTER IO
-0403 ; Canonical # L& CYRILLIC CAPITAL LETTER GJE
-0407 ; Canonical # L& CYRILLIC CAPITAL LETTER YI
-040C..040E ; Canonical # L& [3] CYRILLIC CAPITAL LETTER KJE..CYRILLIC CAPITAL LETTER SHORT U
-0419 ; Canonical # L& CYRILLIC CAPITAL LETTER SHORT I
-0439 ; Canonical # L& CYRILLIC SMALL LETTER SHORT I
-0450..0451 ; Canonical # L& [2] CYRILLIC SMALL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER IO
-0453 ; Canonical # L& CYRILLIC SMALL LETTER GJE
-0457 ; Canonical # L& CYRILLIC SMALL LETTER YI
-045C..045E ; Canonical # L& [3] CYRILLIC SMALL LETTER KJE..CYRILLIC SMALL LETTER SHORT U
-0476..0477 ; Canonical # L& [2] CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT..CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-04C1..04C2 ; Canonical # L& [2] CYRILLIC CAPITAL LETTER ZHE WITH BREVE..CYRILLIC SMALL LETTER ZHE WITH BREVE
-04D0..04D3 ; Canonical # L& [4] CYRILLIC CAPITAL LETTER A WITH BREVE..CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D6..04D7 ; Canonical # L& [2] CYRILLIC CAPITAL LETTER IE WITH BREVE..CYRILLIC SMALL LETTER IE WITH BREVE
-04DA..04DF ; Canonical # L& [6] CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS..CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E2..04E7 ; Canonical # L& [6] CYRILLIC CAPITAL LETTER I WITH MACRON..CYRILLIC SMALL LETTER O WITH DIAERESIS
-04EA..04F5 ; Canonical # L& [12] CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS..CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F8..04F9 ; Canonical # L& [2] CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS..CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-0622..0626 ; Canonical # Lo [5] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER YEH WITH HAMZA ABOVE
-06C0 ; Canonical # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06C2 ; Canonical # Lo ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06D3 ; Canonical # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-0929 ; Canonical # Lo DEVANAGARI LETTER NNNA
-0931 ; Canonical # Lo DEVANAGARI LETTER RRA
-0934 ; Canonical # Lo DEVANAGARI LETTER LLLA
-0958..095F ; Canonical # Lo [8] DEVANAGARI LETTER QA..DEVANAGARI LETTER YYA
-09CB..09CC ; Canonical # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09DC..09DD ; Canonical # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF ; Canonical # Lo BENGALI LETTER YYA
-0A33 ; Canonical # Lo GURMUKHI LETTER LLA
-0A36 ; Canonical # Lo GURMUKHI LETTER SHA
-0A59..0A5B ; Canonical # Lo [3] GURMUKHI LETTER KHHA..GURMUKHI LETTER ZA
-0A5E ; Canonical # Lo GURMUKHI LETTER FA
-0B48 ; Canonical # Mc ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Canonical # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B5C..0B5D ; Canonical # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B94 ; Canonical # Lo TAMIL LETTER AU
-0BCA..0BCC ; Canonical # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0C48 ; Canonical # Mn TELUGU VOWEL SIGN AI
-0CC0 ; Canonical # Mc KANNADA VOWEL SIGN II
-0CC7..0CC8 ; Canonical # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Canonical # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0D4A..0D4C ; Canonical # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0DDA ; Canonical # Mc SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDC..0DDE ; Canonical # Mc [3] SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0F43 ; Canonical # Lo TIBETAN LETTER GHA
-0F4D ; Canonical # Lo TIBETAN LETTER DDHA
-0F52 ; Canonical # Lo TIBETAN LETTER DHA
-0F57 ; Canonical # Lo TIBETAN LETTER BHA
-0F5C ; Canonical # Lo TIBETAN LETTER DZHA
-0F69 ; Canonical # Lo TIBETAN LETTER KSSA
-0F73 ; Canonical # Mn TIBETAN VOWEL SIGN II
-0F75..0F76 ; Canonical # Mn [2] TIBETAN VOWEL SIGN UU..TIBETAN VOWEL SIGN VOCALIC R
-0F78 ; Canonical # Mn TIBETAN VOWEL SIGN VOCALIC L
-0F81 ; Canonical # Mn TIBETAN VOWEL SIGN REVERSED II
-0F93 ; Canonical # Mn TIBETAN SUBJOINED LETTER GHA
-0F9D ; Canonical # Mn TIBETAN SUBJOINED LETTER DDHA
-0FA2 ; Canonical # Mn TIBETAN SUBJOINED LETTER DHA
-0FA7 ; Canonical # Mn TIBETAN SUBJOINED LETTER BHA
-0FAC ; Canonical # Mn TIBETAN SUBJOINED LETTER DZHA
-0FB9 ; Canonical # Mn TIBETAN SUBJOINED LETTER KSSA
-1026 ; Canonical # Lo MYANMAR LETTER UU
-1B06 ; Canonical # Lo BALINESE LETTER AKARA TEDUNG
-1B08 ; Canonical # Lo BALINESE LETTER IKARA TEDUNG
-1B0A ; Canonical # Lo BALINESE LETTER UKARA TEDUNG
-1B0C ; Canonical # Lo BALINESE LETTER RA REPA TEDUNG
-1B0E ; Canonical # Lo BALINESE LETTER LA LENGA TEDUNG
-1B12 ; Canonical # Lo BALINESE LETTER OKARA TEDUNG
-1B3B ; Canonical # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D ; Canonical # Mc BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B40..1B41 ; Canonical # Mc [2] BALINESE VOWEL SIGN TALING TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43 ; Canonical # Mc BALINESE VOWEL SIGN PEPET TEDUNG
-1E00..1E99 ; Canonical # L& [154] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH RING ABOVE
-1E9B ; Canonical # L& LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1EA0..1EF9 ; Canonical # L& [90] LATIN CAPITAL LETTER A WITH DOT BELOW..LATIN SMALL LETTER Y WITH TILDE
-1F00..1F15 ; Canonical # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; Canonical # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; Canonical # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; Canonical # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Canonical # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; Canonical # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Canonical # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Canonical # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; Canonical # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; Canonical # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; Canonical # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBE ; Canonical # L& GREEK PROSGEGRAMMENI
-1FC1 ; Canonical # Sk GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; Canonical # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; Canonical # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; Canonical # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; Canonical # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; Canonical # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; Canonical # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; Canonical # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; Canonical # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; Canonical # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; Canonical # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD ; Canonical # Sk GREEK OXIA
-2000..2001 ; Canonical # Zs [2] EN QUAD..EM QUAD
-2126 ; Canonical # L& OHM SIGN
-212A..212B ; Canonical # L& [2] KELVIN SIGN..ANGSTROM SIGN
-219A..219B ; Canonical # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-21AE ; Canonical # Sm LEFT RIGHT ARROW WITH STROKE
-21CD ; Canonical # So LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; Canonical # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-2204 ; Canonical # Sm THERE DOES NOT EXIST
-2209 ; Canonical # Sm NOT AN ELEMENT OF
-220C ; Canonical # Sm DOES NOT CONTAIN AS MEMBER
-2224 ; Canonical # Sm DOES NOT DIVIDE
-2226 ; Canonical # Sm NOT PARALLEL TO
-2241 ; Canonical # Sm NOT TILDE
-2244 ; Canonical # Sm NOT ASYMPTOTICALLY EQUAL TO
-2247 ; Canonical # Sm NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249 ; Canonical # Sm NOT ALMOST EQUAL TO
-2260 ; Canonical # Sm NOT EQUAL TO
-2262 ; Canonical # Sm NOT IDENTICAL TO
-226D..2271 ; Canonical # Sm [5] NOT EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUAL TO
-2274..2275 ; Canonical # Sm [2] NEITHER LESS-THAN NOR EQUIVALENT TO..NEITHER GREATER-THAN NOR EQUIVALENT TO
-2278..2279 ; Canonical # Sm [2] NEITHER LESS-THAN NOR GREATER-THAN..NEITHER GREATER-THAN NOR LESS-THAN
-2280..2281 ; Canonical # Sm [2] DOES NOT PRECEDE..DOES NOT SUCCEED
-2284..2285 ; Canonical # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2289 ; Canonical # Sm [2] NEITHER A SUBSET OF NOR EQUAL TO..NEITHER A SUPERSET OF NOR EQUAL TO
-22AC..22AF ; Canonical # Sm [4] DOES NOT PROVE..NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22E0..22E3 ; Canonical # Sm [4] DOES NOT PRECEDE OR EQUAL..NOT SQUARE ORIGINAL OF OR EQUAL TO
-22EA..22ED ; Canonical # Sm [4] NOT NORMAL SUBGROUP OF..DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-2329 ; Canonical # Ps LEFT-POINTING ANGLE BRACKET
-232A ; Canonical # Pe RIGHT-POINTING ANGLE BRACKET
-2ADC ; Canonical # Sm FORKING
-304C ; Canonical # Lo HIRAGANA LETTER GA
-304E ; Canonical # Lo HIRAGANA LETTER GI
-3050 ; Canonical # Lo HIRAGANA LETTER GU
-3052 ; Canonical # Lo HIRAGANA LETTER GE
-3054 ; Canonical # Lo HIRAGANA LETTER GO
-3056 ; Canonical # Lo HIRAGANA LETTER ZA
-3058 ; Canonical # Lo HIRAGANA LETTER ZI
-305A ; Canonical # Lo HIRAGANA LETTER ZU
-305C ; Canonical # Lo HIRAGANA LETTER ZE
-305E ; Canonical # Lo HIRAGANA LETTER ZO
-3060 ; Canonical # Lo HIRAGANA LETTER DA
-3062 ; Canonical # Lo HIRAGANA LETTER DI
-3065 ; Canonical # Lo HIRAGANA LETTER DU
-3067 ; Canonical # Lo HIRAGANA LETTER DE
-3069 ; Canonical # Lo HIRAGANA LETTER DO
-3070..3071 ; Canonical # Lo [2] HIRAGANA LETTER BA..HIRAGANA LETTER PA
-3073..3074 ; Canonical # Lo [2] HIRAGANA LETTER BI..HIRAGANA LETTER PI
-3076..3077 ; Canonical # Lo [2] HIRAGANA LETTER BU..HIRAGANA LETTER PU
-3079..307A ; Canonical # Lo [2] HIRAGANA LETTER BE..HIRAGANA LETTER PE
-307C..307D ; Canonical # Lo [2] HIRAGANA LETTER BO..HIRAGANA LETTER PO
-3094 ; Canonical # Lo HIRAGANA LETTER VU
-309E ; Canonical # Lm HIRAGANA VOICED ITERATION MARK
-30AC ; Canonical # Lo KATAKANA LETTER GA
-30AE ; Canonical # Lo KATAKANA LETTER GI
-30B0 ; Canonical # Lo KATAKANA LETTER GU
-30B2 ; Canonical # Lo KATAKANA LETTER GE
-30B4 ; Canonical # Lo KATAKANA LETTER GO
-30B6 ; Canonical # Lo KATAKANA LETTER ZA
-30B8 ; Canonical # Lo KATAKANA LETTER ZI
-30BA ; Canonical # Lo KATAKANA LETTER ZU
-30BC ; Canonical # Lo KATAKANA LETTER ZE
-30BE ; Canonical # Lo KATAKANA LETTER ZO
-30C0 ; Canonical # Lo KATAKANA LETTER DA
-30C2 ; Canonical # Lo KATAKANA LETTER DI
-30C5 ; Canonical # Lo KATAKANA LETTER DU
-30C7 ; Canonical # Lo KATAKANA LETTER DE
-30C9 ; Canonical # Lo KATAKANA LETTER DO
-30D0..30D1 ; Canonical # Lo [2] KATAKANA LETTER BA..KATAKANA LETTER PA
-30D3..30D4 ; Canonical # Lo [2] KATAKANA LETTER BI..KATAKANA LETTER PI
-30D6..30D7 ; Canonical # Lo [2] KATAKANA LETTER BU..KATAKANA LETTER PU
-30D9..30DA ; Canonical # Lo [2] KATAKANA LETTER BE..KATAKANA LETTER PE
-30DC..30DD ; Canonical # Lo [2] KATAKANA LETTER BO..KATAKANA LETTER PO
-30F4 ; Canonical # Lo KATAKANA LETTER VU
-30F7..30FA ; Canonical # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO
-30FE ; Canonical # Lm KATAKANA VOICED ITERATION MARK
-AC00..D7A3 ; Canonical # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-F900..FA0D ; Canonical # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
-FA10 ; Canonical # Lo CJK COMPATIBILITY IDEOGRAPH-FA10
-FA12 ; Canonical # Lo CJK COMPATIBILITY IDEOGRAPH-FA12
-FA15..FA1E ; Canonical # Lo [10] CJK COMPATIBILITY IDEOGRAPH-FA15..CJK COMPATIBILITY IDEOGRAPH-FA1E
-FA20 ; Canonical # Lo CJK COMPATIBILITY IDEOGRAPH-FA20
-FA22 ; Canonical # Lo CJK COMPATIBILITY IDEOGRAPH-FA22
-FA25..FA26 ; Canonical # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D ; Canonical # Lo [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Canonical # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Canonical # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB1D ; Canonical # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F ; Canonical # Lo HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB2A..FB36 ; Canonical # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Canonical # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Canonical # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Canonical # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Canonical # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FB4E ; Canonical # Lo [9] HEBREW LETTER TSADI WITH DAGESH..HEBREW LETTER PE WITH RAFE
-1109A ; Canonical # Lo KAITHI LETTER DDDHA
-1109C ; Canonical # Lo KAITHI LETTER RHA
-110AB ; Canonical # Lo KAITHI LETTER VA
-1D15E..1D164 ; Canonical # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D1BB..1D1C0 ; Canonical # So [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
-2F800..2FA1D ; Canonical # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 13221
-
-# ================================================
-
-00A8 ; Compat # Sk DIAERESIS
-00AF ; Compat # Sk MACRON
-00B4 ; Compat # Sk ACUTE ACCENT
-00B5 ; Compat # L& MICRO SIGN
-00B8 ; Compat # Sk CEDILLA
-0132..0133 ; Compat # L& [2] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LIGATURE IJ
-013F..0140 ; Compat # L& [2] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH MIDDLE DOT
-0149 ; Compat # L& LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-017F ; Compat # L& LATIN SMALL LETTER LONG S
-01C4..01CC ; Compat # L& [9] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER NJ
-01F1..01F3 ; Compat # L& [3] LATIN CAPITAL LETTER DZ..LATIN SMALL LETTER DZ
-02D8..02DD ; Compat # Sk [6] BREVE..DOUBLE ACUTE ACCENT
-037A ; Compat # Lm GREEK YPOGEGRAMMENI
-0384 ; Compat # Sk GREEK TONOS
-03D0..03D2 ; Compat # L& [3] GREEK BETA SYMBOL..GREEK UPSILON WITH HOOK SYMBOL
-03D5..03D6 ; Compat # L& [2] GREEK PHI SYMBOL..GREEK PI SYMBOL
-03F0..03F2 ; Compat # L& [3] GREEK KAPPA SYMBOL..GREEK LUNATE SIGMA SYMBOL
-03F4..03F5 ; Compat # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
-03F9 ; Compat # L& GREEK CAPITAL LUNATE SIGMA SYMBOL
-0587 ; Compat # L& ARMENIAN SMALL LIGATURE ECH YIWN
-0675..0678 ; Compat # Lo [4] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER HIGH HAMZA YEH
-0E33 ; Compat # Lo THAI CHARACTER SARA AM
-0EB3 ; Compat # Lo LAO VOWEL SIGN AM
-0EDC..0EDD ; Compat # Lo [2] LAO HO NO..LAO HO MO
-0F77 ; Compat # Mn TIBETAN VOWEL SIGN VOCALIC RR
-0F79 ; Compat # Mn TIBETAN VOWEL SIGN VOCALIC LL
-1E9A ; Compat # L& LATIN SMALL LETTER A WITH RIGHT HALF RING
-1FBD ; Compat # Sk GREEK KORONIS
-1FBF..1FC0 ; Compat # Sk [2] GREEK PSILI..GREEK PERISPOMENI
-1FFE ; Compat # Sk GREEK DASIA
-2002..2006 ; Compat # Zs [5] EN SPACE..SIX-PER-EM SPACE
-2008..200A ; Compat # Zs [3] PUNCTUATION SPACE..HAIR SPACE
-2017 ; Compat # Po DOUBLE LOW LINE
-2024..2026 ; Compat # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS
-2033..2034 ; Compat # Po [2] DOUBLE PRIME..TRIPLE PRIME
-2036..2037 ; Compat # Po [2] REVERSED DOUBLE PRIME..REVERSED TRIPLE PRIME
-203C ; Compat # Po DOUBLE EXCLAMATION MARK
-203E ; Compat # Po OVERLINE
-2047..2049 ; Compat # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-2057 ; Compat # Po QUADRUPLE PRIME
-205F ; Compat # Zs MEDIUM MATHEMATICAL SPACE
-20A8 ; Compat # Sc RUPEE SIGN
-2100..2101 ; Compat # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2103 ; Compat # So DEGREE CELSIUS
-2105..2106 ; Compat # So [2] CARE OF..CADA UNA
-2107 ; Compat # L& EULER CONSTANT
-2109 ; Compat # So DEGREE FAHRENHEIT
-2116 ; Compat # So NUMERO SIGN
-2121 ; Compat # So TELEPHONE SIGN
-2135..2138 ; Compat # Lo [4] ALEF SYMBOL..DALET SYMBOL
-213B ; Compat # So FACSIMILE SIGN
-2160..217F ; Compat # Nl [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
-222C..222D ; Compat # Sm [2] DOUBLE INTEGRAL..TRIPLE INTEGRAL
-222F..2230 ; Compat # Sm [2] SURFACE INTEGRAL..VOLUME INTEGRAL
-2474..249B ; Compat # No [40] PARENTHESIZED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24B5 ; Compat # So [26] PARENTHESIZED LATIN SMALL LETTER A..PARENTHESIZED LATIN SMALL LETTER Z
-2A0C ; Compat # Sm QUADRUPLE INTEGRAL OPERATOR
-2A74..2A76 ; Compat # Sm [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
-2E9F ; Compat # So CJK RADICAL MOTHER
-2EF3 ; Compat # So CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; Compat # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-3036 ; Compat # So CIRCLED POSTAL MARK
-3038..303A ; Compat # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-309B..309C ; Compat # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-3131..318E ; Compat # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3200..321E ; Compat # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; Compat # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3243 ; Compat # So [26] PARENTHESIZED IDEOGRAPH MOON..PARENTHESIZED IDEOGRAPH REACH
-32C0..32CB ; Compat # So [12] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3358..3370 ; Compat # So [25] IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO..IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33E0..33FE ; Compat # So [31] IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-FB00..FB06 ; Compat # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Compat # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB4F ; Compat # Lo HEBREW LIGATURE ALEF LAMED
-FE49..FE4C ; Compat # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; Compat # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-1F100..1F10A ; Compat # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12A ; Compat # So [27] PARENTHESIZED LATIN CAPITAL LETTER A..TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1F240..1F248 ; Compat # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-
-# Total code points: 720
-
-# ================================================
-
-2102 ; Font # L& DOUBLE-STRUCK CAPITAL C
-210A..2113 ; Font # L& [10] SCRIPT SMALL G..SCRIPT SMALL L
-2115 ; Font # L& DOUBLE-STRUCK CAPITAL N
-2119..211D ; Font # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Font # L& DOUBLE-STRUCK CAPITAL Z
-2128 ; Font # L& BLACK-LETTER CAPITAL Z
-212C..212D ; Font # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
-212F..2131 ; Font # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F
-2133..2134 ; Font # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O
-2139 ; Font # L& INFORMATION SOURCE
-213C..213F ; Font # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140 ; Font # Sm DOUBLE-STRUCK N-ARY SUMMATION
-2145..2149 ; Font # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-FB20..FB28 ; Font # Lo [9] HEBREW LETTER ALTERNATIVE AYIN..HEBREW LETTER WIDE TAV
-FB29 ; Font # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-1D400..1D454 ; Font # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; Font # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Font # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Font # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Font # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Font # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; Font # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Font # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Font # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; Font # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Font # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Font # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Font # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; Font # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Font # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Font # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Font # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Font # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; Font # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; Font # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; Font # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; Font # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; Font # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; Font # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; Font # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; Font # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; Font # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; Font # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; Font # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; Font # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; Font # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; Font # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; Font # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; Font # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; Font # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; Font # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; Font # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; Font # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; Font # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; Font # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; Font # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 1043
-
-# ================================================
-
-00A0 ; Nobreak # Zs NO-BREAK SPACE
-0F0C ; Nobreak # Po TIBETAN MARK DELIMITER TSHEG BSTAR
-2007 ; Nobreak # Zs FIGURE SPACE
-2011 ; Nobreak # Pd NON-BREAKING HYPHEN
-202F ; Nobreak # Zs NARROW NO-BREAK SPACE
-
-# Total code points: 5
-
-# ================================================
-
-FB54 ; Initial # Lo ARABIC LETTER BEEH INITIAL FORM
-FB58 ; Initial # Lo ARABIC LETTER PEH INITIAL FORM
-FB5C ; Initial # Lo ARABIC LETTER BEHEH INITIAL FORM
-FB60 ; Initial # Lo ARABIC LETTER TTEHEH INITIAL FORM
-FB64 ; Initial # Lo ARABIC LETTER TEHEH INITIAL FORM
-FB68 ; Initial # Lo ARABIC LETTER TTEH INITIAL FORM
-FB6C ; Initial # Lo ARABIC LETTER VEH INITIAL FORM
-FB70 ; Initial # Lo ARABIC LETTER PEHEH INITIAL FORM
-FB74 ; Initial # Lo ARABIC LETTER DYEH INITIAL FORM
-FB78 ; Initial # Lo ARABIC LETTER NYEH INITIAL FORM
-FB7C ; Initial # Lo ARABIC LETTER TCHEH INITIAL FORM
-FB80 ; Initial # Lo ARABIC LETTER TCHEHEH INITIAL FORM
-FB90 ; Initial # Lo ARABIC LETTER KEHEH INITIAL FORM
-FB94 ; Initial # Lo ARABIC LETTER GAF INITIAL FORM
-FB98 ; Initial # Lo ARABIC LETTER GUEH INITIAL FORM
-FB9C ; Initial # Lo ARABIC LETTER NGOEH INITIAL FORM
-FBA2 ; Initial # Lo ARABIC LETTER RNOON INITIAL FORM
-FBA8 ; Initial # Lo ARABIC LETTER HEH GOAL INITIAL FORM
-FBAC ; Initial # Lo ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
-FBD5 ; Initial # Lo ARABIC LETTER NG INITIAL FORM
-FBE6 ; Initial # Lo ARABIC LETTER E INITIAL FORM
-FBE8 ; Initial # Lo ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBF8 ; Initial # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBFB ; Initial # Lo ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFE ; Initial # Lo ARABIC LETTER FARSI YEH INITIAL FORM
-FC97..FCDE ; Initial # Lo [72] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM..ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FD2D..FD33 ; Initial # Lo [7] ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM..ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD50 ; Initial # Lo ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FD52..FD57 ; Initial # Lo [6] ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM..ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FD59 ; Initial # Lo ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD5C..FD5D ; Initial # Lo [2] ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM..ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD60..FD61 ; Initial # Lo [2] ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM..ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD63 ; Initial # Lo ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD65 ; Initial # Lo ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD68 ; Initial # Lo ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD6B ; Initial # Lo ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6D ; Initial # Lo ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD70 ; Initial # Lo ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD72..FD73 ; Initial # Lo [2] ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM..ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD77 ; Initial # Lo ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD7D ; Initial # Lo ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD83 ; Initial # Lo ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
-FD86 ; Initial # Lo ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD88..FD8A ; Initial # Lo [3] ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM..ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FD8C..FD8F ; Initial # Lo [4] ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FD95 ; Initial # Lo [4] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD98 ; Initial # Lo ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD9D ; Initial # Lo ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FDB4..FDB5 ; Initial # Lo [2] ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM..ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FDB8 ; Initial # Lo ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDBA ; Initial # Lo ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDC3..FDC5 ; Initial # Lo [3] ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FE8B ; Initial # Lo ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-FE91 ; Initial # Lo ARABIC LETTER BEH INITIAL FORM
-FE97 ; Initial # Lo ARABIC LETTER TEH INITIAL FORM
-FE9B ; Initial # Lo ARABIC LETTER THEH INITIAL FORM
-FE9F ; Initial # Lo ARABIC LETTER JEEM INITIAL FORM
-FEA3 ; Initial # Lo ARABIC LETTER HAH INITIAL FORM
-FEA7 ; Initial # Lo ARABIC LETTER KHAH INITIAL FORM
-FEB3 ; Initial # Lo ARABIC LETTER SEEN INITIAL FORM
-FEB7 ; Initial # Lo ARABIC LETTER SHEEN INITIAL FORM
-FEBB ; Initial # Lo ARABIC LETTER SAD INITIAL FORM
-FEBF ; Initial # Lo ARABIC LETTER DAD INITIAL FORM
-FEC3 ; Initial # Lo ARABIC LETTER TAH INITIAL FORM
-FEC7 ; Initial # Lo ARABIC LETTER ZAH INITIAL FORM
-FECB ; Initial # Lo ARABIC LETTER AIN INITIAL FORM
-FECF ; Initial # Lo ARABIC LETTER GHAIN INITIAL FORM
-FED3 ; Initial # Lo ARABIC LETTER FEH INITIAL FORM
-FED7 ; Initial # Lo ARABIC LETTER QAF INITIAL FORM
-FEDB ; Initial # Lo ARABIC LETTER KAF INITIAL FORM
-FEDF ; Initial # Lo ARABIC LETTER LAM INITIAL FORM
-FEE3 ; Initial # Lo ARABIC LETTER MEEM INITIAL FORM
-FEE7 ; Initial # Lo ARABIC LETTER NOON INITIAL FORM
-FEEB ; Initial # Lo ARABIC LETTER HEH INITIAL FORM
-FEF3 ; Initial # Lo ARABIC LETTER YEH INITIAL FORM
-
-# Total code points: 171
-
-# ================================================
-
-FB55 ; Medial # Lo ARABIC LETTER BEEH MEDIAL FORM
-FB59 ; Medial # Lo ARABIC LETTER PEH MEDIAL FORM
-FB5D ; Medial # Lo ARABIC LETTER BEHEH MEDIAL FORM
-FB61 ; Medial # Lo ARABIC LETTER TTEHEH MEDIAL FORM
-FB65 ; Medial # Lo ARABIC LETTER TEHEH MEDIAL FORM
-FB69 ; Medial # Lo ARABIC LETTER TTEH MEDIAL FORM
-FB6D ; Medial # Lo ARABIC LETTER VEH MEDIAL FORM
-FB71 ; Medial # Lo ARABIC LETTER PEHEH MEDIAL FORM
-FB75 ; Medial # Lo ARABIC LETTER DYEH MEDIAL FORM
-FB79 ; Medial # Lo ARABIC LETTER NYEH MEDIAL FORM
-FB7D ; Medial # Lo ARABIC LETTER TCHEH MEDIAL FORM
-FB81 ; Medial # Lo ARABIC LETTER TCHEHEH MEDIAL FORM
-FB91 ; Medial # Lo ARABIC LETTER KEHEH MEDIAL FORM
-FB95 ; Medial # Lo ARABIC LETTER GAF MEDIAL FORM
-FB99 ; Medial # Lo ARABIC LETTER GUEH MEDIAL FORM
-FB9D ; Medial # Lo ARABIC LETTER NGOEH MEDIAL FORM
-FBA3 ; Medial # Lo ARABIC LETTER RNOON MEDIAL FORM
-FBA9 ; Medial # Lo ARABIC LETTER HEH GOAL MEDIAL FORM
-FBAD ; Medial # Lo ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBD6 ; Medial # Lo ARABIC LETTER NG MEDIAL FORM
-FBE7 ; Medial # Lo ARABIC LETTER E MEDIAL FORM
-FBE9 ; Medial # Lo ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FBFF ; Medial # Lo ARABIC LETTER FARSI YEH MEDIAL FORM
-FCDF..FCF4 ; Medial # Lo [22] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM..ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
-FD34..FD3B ; Medial # Lo [8] ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM..ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FE71 ; Medial # Lo ARABIC TATWEEL WITH FATHATAN ABOVE
-FE77 ; Medial # Lo ARABIC FATHA MEDIAL FORM
-FE79 ; Medial # Lo ARABIC DAMMA MEDIAL FORM
-FE7B ; Medial # Lo ARABIC KASRA MEDIAL FORM
-FE7D ; Medial # Lo ARABIC SHADDA MEDIAL FORM
-FE7F ; Medial # Lo ARABIC SUKUN MEDIAL FORM
-FE8C ; Medial # Lo ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE92 ; Medial # Lo ARABIC LETTER BEH MEDIAL FORM
-FE98 ; Medial # Lo ARABIC LETTER TEH MEDIAL FORM
-FE9C ; Medial # Lo ARABIC LETTER THEH MEDIAL FORM
-FEA0 ; Medial # Lo ARABIC LETTER JEEM MEDIAL FORM
-FEA4 ; Medial # Lo ARABIC LETTER HAH MEDIAL FORM
-FEA8 ; Medial # Lo ARABIC LETTER KHAH MEDIAL FORM
-FEB4 ; Medial # Lo ARABIC LETTER SEEN MEDIAL FORM
-FEB8 ; Medial # Lo ARABIC LETTER SHEEN MEDIAL FORM
-FEBC ; Medial # Lo ARABIC LETTER SAD MEDIAL FORM
-FEC0 ; Medial # Lo ARABIC LETTER DAD MEDIAL FORM
-FEC4 ; Medial # Lo ARABIC LETTER TAH MEDIAL FORM
-FEC8 ; Medial # Lo ARABIC LETTER ZAH MEDIAL FORM
-FECC ; Medial # Lo ARABIC LETTER AIN MEDIAL FORM
-FED0 ; Medial # Lo ARABIC LETTER GHAIN MEDIAL FORM
-FED4 ; Medial # Lo ARABIC LETTER FEH MEDIAL FORM
-FED8 ; Medial # Lo ARABIC LETTER QAF MEDIAL FORM
-FEDC ; Medial # Lo ARABIC LETTER KAF MEDIAL FORM
-FEE0 ; Medial # Lo ARABIC LETTER LAM MEDIAL FORM
-FEE4 ; Medial # Lo ARABIC LETTER MEEM MEDIAL FORM
-FEE8 ; Medial # Lo ARABIC LETTER NOON MEDIAL FORM
-FEEC ; Medial # Lo ARABIC LETTER HEH MEDIAL FORM
-FEF4 ; Medial # Lo ARABIC LETTER YEH MEDIAL FORM
-
-# Total code points: 82
-
-# ================================================
-
-FB51 ; Final # Lo ARABIC LETTER ALEF WASLA FINAL FORM
-FB53 ; Final # Lo ARABIC LETTER BEEH FINAL FORM
-FB57 ; Final # Lo ARABIC LETTER PEH FINAL FORM
-FB5B ; Final # Lo ARABIC LETTER BEHEH FINAL FORM
-FB5F ; Final # Lo ARABIC LETTER TTEHEH FINAL FORM
-FB63 ; Final # Lo ARABIC LETTER TEHEH FINAL FORM
-FB67 ; Final # Lo ARABIC LETTER TTEH FINAL FORM
-FB6B ; Final # Lo ARABIC LETTER VEH FINAL FORM
-FB6F ; Final # Lo ARABIC LETTER PEHEH FINAL FORM
-FB73 ; Final # Lo ARABIC LETTER DYEH FINAL FORM
-FB77 ; Final # Lo ARABIC LETTER NYEH FINAL FORM
-FB7B ; Final # Lo ARABIC LETTER TCHEH FINAL FORM
-FB7F ; Final # Lo ARABIC LETTER TCHEHEH FINAL FORM
-FB83 ; Final # Lo ARABIC LETTER DDAHAL FINAL FORM
-FB85 ; Final # Lo ARABIC LETTER DAHAL FINAL FORM
-FB87 ; Final # Lo ARABIC LETTER DUL FINAL FORM
-FB89 ; Final # Lo ARABIC LETTER DDAL FINAL FORM
-FB8B ; Final # Lo ARABIC LETTER JEH FINAL FORM
-FB8D ; Final # Lo ARABIC LETTER RREH FINAL FORM
-FB8F ; Final # Lo ARABIC LETTER KEHEH FINAL FORM
-FB93 ; Final # Lo ARABIC LETTER GAF FINAL FORM
-FB97 ; Final # Lo ARABIC LETTER GUEH FINAL FORM
-FB9B ; Final # Lo ARABIC LETTER NGOEH FINAL FORM
-FB9F ; Final # Lo ARABIC LETTER NOON GHUNNA FINAL FORM
-FBA1 ; Final # Lo ARABIC LETTER RNOON FINAL FORM
-FBA5 ; Final # Lo ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA7 ; Final # Lo ARABIC LETTER HEH GOAL FINAL FORM
-FBAB ; Final # Lo ARABIC LETTER HEH DOACHASHMEE FINAL FORM
-FBAF ; Final # Lo ARABIC LETTER YEH BARREE FINAL FORM
-FBB1 ; Final # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD4 ; Final # Lo ARABIC LETTER NG FINAL FORM
-FBD8 ; Final # Lo ARABIC LETTER U FINAL FORM
-FBDA ; Final # Lo ARABIC LETTER OE FINAL FORM
-FBDC ; Final # Lo ARABIC LETTER YU FINAL FORM
-FBDF ; Final # Lo ARABIC LETTER VE FINAL FORM
-FBE1 ; Final # Lo ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE3 ; Final # Lo ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE5 ; Final # Lo ARABIC LETTER E FINAL FORM
-FBEB ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBED ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEF ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBF1 ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF3 ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF5 ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF7 ; Final # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
-FBFA ; Final # Lo ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FBFD ; Final # Lo ARABIC LETTER FARSI YEH FINAL FORM
-FC64..FC96 ; Final # Lo [51] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM..ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FD11..FD2C ; Final # Lo [28] ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM..ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD3C ; Final # Lo ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
-FD51 ; Final # Lo ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
-FD58 ; Final # Lo ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
-FD5A..FD5B ; Final # Lo [2] ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM..ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5E..FD5F ; Final # Lo [2] ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM..ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
-FD62 ; Final # Lo ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
-FD64 ; Final # Lo ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
-FD66..FD67 ; Final # Lo [2] ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
-FD69..FD6A ; Final # Lo [2] ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM..ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
-FD6C ; Final # Lo ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
-FD6E..FD6F ; Final # Lo [2] ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM..ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
-FD71 ; Final # Lo ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
-FD74..FD76 ; Final # Lo [3] ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM..ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
-FD78..FD7C ; Final # Lo [5] ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM..ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
-FD7E..FD82 ; Final # Lo [5] ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM..ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD84..FD85 ; Final # Lo [2] ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM..ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
-FD87 ; Final # Lo ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
-FD8B ; Final # Lo ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FD96..FD97 ; Final # Lo [2] ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
-FD99..FD9C ; Final # Lo [4] ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM..ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
-FD9E..FDB3 ; Final # Lo [22] ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM..ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FDB6..FDB7 ; Final # Lo [2] ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM..ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FDB9 ; Final # Lo ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FDBB..FDC2 ; Final # Lo [8] ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM..ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FDC6..FDC7 ; Final # Lo [2] ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FE82 ; Final # Lo ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE84 ; Final # Lo ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE86 ; Final # Lo ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE88 ; Final # Lo ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE8A ; Final # Lo ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-FE8E ; Final # Lo ARABIC LETTER ALEF FINAL FORM
-FE90 ; Final # Lo ARABIC LETTER BEH FINAL FORM
-FE94 ; Final # Lo ARABIC LETTER TEH MARBUTA FINAL FORM
-FE96 ; Final # Lo ARABIC LETTER TEH FINAL FORM
-FE9A ; Final # Lo ARABIC LETTER THEH FINAL FORM
-FE9E ; Final # Lo ARABIC LETTER JEEM FINAL FORM
-FEA2 ; Final # Lo ARABIC LETTER HAH FINAL FORM
-FEA6 ; Final # Lo ARABIC LETTER KHAH FINAL FORM
-FEAA ; Final # Lo ARABIC LETTER DAL FINAL FORM
-FEAC ; Final # Lo ARABIC LETTER THAL FINAL FORM
-FEAE ; Final # Lo ARABIC LETTER REH FINAL FORM
-FEB0 ; Final # Lo ARABIC LETTER ZAIN FINAL FORM
-FEB2 ; Final # Lo ARABIC LETTER SEEN FINAL FORM
-FEB6 ; Final # Lo ARABIC LETTER SHEEN FINAL FORM
-FEBA ; Final # Lo ARABIC LETTER SAD FINAL FORM
-FEBE ; Final # Lo ARABIC LETTER DAD FINAL FORM
-FEC2 ; Final # Lo ARABIC LETTER TAH FINAL FORM
-FEC6 ; Final # Lo ARABIC LETTER ZAH FINAL FORM
-FECA ; Final # Lo ARABIC LETTER AIN FINAL FORM
-FECE ; Final # Lo ARABIC LETTER GHAIN FINAL FORM
-FED2 ; Final # Lo ARABIC LETTER FEH FINAL FORM
-FED6 ; Final # Lo ARABIC LETTER QAF FINAL FORM
-FEDA ; Final # Lo ARABIC LETTER KAF FINAL FORM
-FEDE ; Final # Lo ARABIC LETTER LAM FINAL FORM
-FEE2 ; Final # Lo ARABIC LETTER MEEM FINAL FORM
-FEE6 ; Final # Lo ARABIC LETTER NOON FINAL FORM
-FEEA ; Final # Lo ARABIC LETTER HEH FINAL FORM
-FEEE ; Final # Lo ARABIC LETTER WAW FINAL FORM
-FEF0 ; Final # Lo ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEF2 ; Final # Lo ARABIC LETTER YEH FINAL FORM
-FEF6 ; Final # Lo ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF8 ; Final # Lo ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEFA ; Final # Lo ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEFC ; Final # Lo ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-
-# Total code points: 240
-
-# ================================================
-
-FB50 ; Isolated # Lo ARABIC LETTER ALEF WASLA ISOLATED FORM
-FB52 ; Isolated # Lo ARABIC LETTER BEEH ISOLATED FORM
-FB56 ; Isolated # Lo ARABIC LETTER PEH ISOLATED FORM
-FB5A ; Isolated # Lo ARABIC LETTER BEHEH ISOLATED FORM
-FB5E ; Isolated # Lo ARABIC LETTER TTEHEH ISOLATED FORM
-FB62 ; Isolated # Lo ARABIC LETTER TEHEH ISOLATED FORM
-FB66 ; Isolated # Lo ARABIC LETTER TTEH ISOLATED FORM
-FB6A ; Isolated # Lo ARABIC LETTER VEH ISOLATED FORM
-FB6E ; Isolated # Lo ARABIC LETTER PEHEH ISOLATED FORM
-FB72 ; Isolated # Lo ARABIC LETTER DYEH ISOLATED FORM
-FB76 ; Isolated # Lo ARABIC LETTER NYEH ISOLATED FORM
-FB7A ; Isolated # Lo ARABIC LETTER TCHEH ISOLATED FORM
-FB7E ; Isolated # Lo ARABIC LETTER TCHEHEH ISOLATED FORM
-FB82 ; Isolated # Lo ARABIC LETTER DDAHAL ISOLATED FORM
-FB84 ; Isolated # Lo ARABIC LETTER DAHAL ISOLATED FORM
-FB86 ; Isolated # Lo ARABIC LETTER DUL ISOLATED FORM
-FB88 ; Isolated # Lo ARABIC LETTER DDAL ISOLATED FORM
-FB8A ; Isolated # Lo ARABIC LETTER JEH ISOLATED FORM
-FB8C ; Isolated # Lo ARABIC LETTER RREH ISOLATED FORM
-FB8E ; Isolated # Lo ARABIC LETTER KEHEH ISOLATED FORM
-FB92 ; Isolated # Lo ARABIC LETTER GAF ISOLATED FORM
-FB96 ; Isolated # Lo ARABIC LETTER GUEH ISOLATED FORM
-FB9A ; Isolated # Lo ARABIC LETTER NGOEH ISOLATED FORM
-FB9E ; Isolated # Lo ARABIC LETTER NOON GHUNNA ISOLATED FORM
-FBA0 ; Isolated # Lo ARABIC LETTER RNOON ISOLATED FORM
-FBA4 ; Isolated # Lo ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
-FBA6 ; Isolated # Lo ARABIC LETTER HEH GOAL ISOLATED FORM
-FBAA ; Isolated # Lo ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-FBAE ; Isolated # Lo ARABIC LETTER YEH BARREE ISOLATED FORM
-FBB0 ; Isolated # Lo ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-FBD3 ; Isolated # Lo ARABIC LETTER NG ISOLATED FORM
-FBD7 ; Isolated # Lo ARABIC LETTER U ISOLATED FORM
-FBD9 ; Isolated # Lo ARABIC LETTER OE ISOLATED FORM
-FBDB ; Isolated # Lo ARABIC LETTER YU ISOLATED FORM
-FBDD..FBDE ; Isolated # Lo [2] ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM..ARABIC LETTER VE ISOLATED FORM
-FBE0 ; Isolated # Lo ARABIC LETTER KIRGHIZ OE ISOLATED FORM
-FBE2 ; Isolated # Lo ARABIC LETTER KIRGHIZ YU ISOLATED FORM
-FBE4 ; Isolated # Lo ARABIC LETTER E ISOLATED FORM
-FBEA ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
-FBEC ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
-FBEE ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
-FBF0 ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
-FBF2 ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
-FBF4 ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
-FBF6 ; Isolated # Lo ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
-FBF9 ; Isolated # Lo ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FBFC ; Isolated # Lo ARABIC LETTER FARSI YEH ISOLATED FORM
-FC00..FC63 ; Isolated # Lo [100] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM..ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
-FCF5..FD10 ; Isolated # Lo [28] ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM..ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FD3D ; Isolated # Lo ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FDF0..FDFB ; Isolated # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; Isolated # Sc RIAL SIGN
-FE70 ; Isolated # Lo ARABIC FATHATAN ISOLATED FORM
-FE72 ; Isolated # Lo ARABIC DAMMATAN ISOLATED FORM
-FE74 ; Isolated # Lo ARABIC KASRATAN ISOLATED FORM
-FE76 ; Isolated # Lo ARABIC FATHA ISOLATED FORM
-FE78 ; Isolated # Lo ARABIC DAMMA ISOLATED FORM
-FE7A ; Isolated # Lo ARABIC KASRA ISOLATED FORM
-FE7C ; Isolated # Lo ARABIC SHADDA ISOLATED FORM
-FE7E ; Isolated # Lo ARABIC SUKUN ISOLATED FORM
-FE80..FE81 ; Isolated # Lo [2] ARABIC LETTER HAMZA ISOLATED FORM..ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-FE83 ; Isolated # Lo ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-FE85 ; Isolated # Lo ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-FE87 ; Isolated # Lo ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
-FE89 ; Isolated # Lo ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-FE8D ; Isolated # Lo ARABIC LETTER ALEF ISOLATED FORM
-FE8F ; Isolated # Lo ARABIC LETTER BEH ISOLATED FORM
-FE93 ; Isolated # Lo ARABIC LETTER TEH MARBUTA ISOLATED FORM
-FE95 ; Isolated # Lo ARABIC LETTER TEH ISOLATED FORM
-FE99 ; Isolated # Lo ARABIC LETTER THEH ISOLATED FORM
-FE9D ; Isolated # Lo ARABIC LETTER JEEM ISOLATED FORM
-FEA1 ; Isolated # Lo ARABIC LETTER HAH ISOLATED FORM
-FEA5 ; Isolated # Lo ARABIC LETTER KHAH ISOLATED FORM
-FEA9 ; Isolated # Lo ARABIC LETTER DAL ISOLATED FORM
-FEAB ; Isolated # Lo ARABIC LETTER THAL ISOLATED FORM
-FEAD ; Isolated # Lo ARABIC LETTER REH ISOLATED FORM
-FEAF ; Isolated # Lo ARABIC LETTER ZAIN ISOLATED FORM
-FEB1 ; Isolated # Lo ARABIC LETTER SEEN ISOLATED FORM
-FEB5 ; Isolated # Lo ARABIC LETTER SHEEN ISOLATED FORM
-FEB9 ; Isolated # Lo ARABIC LETTER SAD ISOLATED FORM
-FEBD ; Isolated # Lo ARABIC LETTER DAD ISOLATED FORM
-FEC1 ; Isolated # Lo ARABIC LETTER TAH ISOLATED FORM
-FEC5 ; Isolated # Lo ARABIC LETTER ZAH ISOLATED FORM
-FEC9 ; Isolated # Lo ARABIC LETTER AIN ISOLATED FORM
-FECD ; Isolated # Lo ARABIC LETTER GHAIN ISOLATED FORM
-FED1 ; Isolated # Lo ARABIC LETTER FEH ISOLATED FORM
-FED5 ; Isolated # Lo ARABIC LETTER QAF ISOLATED FORM
-FED9 ; Isolated # Lo ARABIC LETTER KAF ISOLATED FORM
-FEDD ; Isolated # Lo ARABIC LETTER LAM ISOLATED FORM
-FEE1 ; Isolated # Lo ARABIC LETTER MEEM ISOLATED FORM
-FEE5 ; Isolated # Lo ARABIC LETTER NOON ISOLATED FORM
-FEE9 ; Isolated # Lo ARABIC LETTER HEH ISOLATED FORM
-FEED ; Isolated # Lo ARABIC LETTER WAW ISOLATED FORM
-FEEF ; Isolated # Lo ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FEF1 ; Isolated # Lo ARABIC LETTER YEH ISOLATED FORM
-FEF5 ; Isolated # Lo ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-FEF7 ; Isolated # Lo ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-FEF9 ; Isolated # Lo ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-FEFB ; Isolated # Lo ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-
-# Total code points: 238
-
-# ================================================
-
-2460..2473 ; Circle # No [20] CIRCLED DIGIT ONE..CIRCLED NUMBER TWENTY
-24B6..24E9 ; Circle # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA ; Circle # No CIRCLED DIGIT ZERO
-3244..3247 ; Circle # So [4] CIRCLED IDEOGRAPH QUESTION..CIRCLED IDEOGRAPH KOTO
-3251..325F ; Circle # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327E ; Circle # So [31] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL IEUNG U
-3280..3289 ; Circle # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; Circle # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; Circle # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32D0..32FE ; Circle # So [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO
-1F12B..1F12E ; Circle # So [4] CIRCLED ITALIC LATIN CAPITAL LETTER C..CIRCLED WZ
-
-# Total code points: 238
-
-# ================================================
-
-00AA ; Super # L& FEMININE ORDINAL INDICATOR
-00B2..00B3 ; Super # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B9 ; Super # No SUPERSCRIPT ONE
-00BA ; Super # L& MASCULINE ORDINAL INDICATOR
-02B0..02B8 ; Super # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
-02E0..02E4 ; Super # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-10FC ; Super # Lm MODIFIER LETTER GEORGIAN NAR
-1D2C..1D2E ; Super # Lm [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
-1D30..1D3A ; Super # Lm [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
-1D3C..1D4D ; Super # Lm [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61 ; Super # Lm [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D78 ; Super # Lm MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; Super # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-2070 ; Super # No SUPERSCRIPT ZERO
-2071 ; Super # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2074..2079 ; Super # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-207A..207C ; Super # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; Super # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; Super # Pe SUPERSCRIPT RIGHT PARENTHESIS
-207F ; Super # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2120 ; Super # So SERVICE MARK
-2122 ; Super # So TRADE MARK SIGN
-2C7D ; Super # Lm MODIFIER LETTER CAPITAL V
-2D6F ; Super # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-3192..3195 ; Super # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; Super # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-A770 ; Super # Lm MODIFIER LETTER US
-
-# Total code points: 142
-
-# ================================================
-
-1D62..1D6A ; Sub # L& [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
-2080..2089 ; Sub # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-208A..208C ; Sub # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; Sub # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; Sub # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; Sub # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2C7C ; Sub # L& LATIN SUBSCRIPT SMALL LETTER J
-
-# Total code points: 30
-
-# ================================================
-
-309F ; Vertical # Lo HIRAGANA DIGRAPH YORI
-30FF ; Vertical # Lo KATAKANA DIGRAPH KOTO
-FE10..FE16 ; Vertical # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; Vertical # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Vertical # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; Vertical # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; Vertical # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE47 ; Vertical # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; Vertical # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-
-# Total code points: 35
-
-# ================================================
-
-3000 ; Wide # Zs IDEOGRAPHIC SPACE
-FF01..FF03 ; Wide # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; Wide # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; Wide # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; Wide # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; Wide # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; Wide # Po FULLWIDTH ASTERISK
-FF0B ; Wide # Sm FULLWIDTH PLUS SIGN
-FF0C ; Wide # Po FULLWIDTH COMMA
-FF0D ; Wide # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; Wide # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; Wide # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; Wide # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; Wide # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; Wide # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; Wide # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; Wide # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; Wide # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; Wide # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; Wide # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; Wide # Pc FULLWIDTH LOW LINE
-FF40 ; Wide # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; Wide # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; Wide # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; Wide # Sm FULLWIDTH VERTICAL LINE
-FF5D ; Wide # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; Wide # Sm FULLWIDTH TILDE
-FF5F ; Wide # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; Wide # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FFE0..FFE1 ; Wide # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; Wide # Sm FULLWIDTH NOT SIGN
-FFE3 ; Wide # Sk FULLWIDTH MACRON
-FFE4 ; Wide # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; Wide # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-
-# Total code points: 104
-
-# ================================================
-
-FF61 ; Narrow # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; Narrow # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; Narrow # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; Narrow # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; Narrow # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; Narrow # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; Narrow # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; Narrow # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; Narrow # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; Narrow # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; Narrow # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; Narrow # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; Narrow # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE8 ; Narrow # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; Narrow # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; Narrow # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-
-# Total code points: 122
-
-# ================================================
-
-FE50..FE52 ; Small # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; Small # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; Small # Pd SMALL EM DASH
-FE59 ; Small # Ps SMALL LEFT PARENTHESIS
-FE5A ; Small # Pe SMALL RIGHT PARENTHESIS
-FE5B ; Small # Ps SMALL LEFT CURLY BRACKET
-FE5C ; Small # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; Small # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; Small # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; Small # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; Small # Sm SMALL PLUS SIGN
-FE63 ; Small # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; Small # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; Small # Po SMALL REVERSE SOLIDUS
-FE69 ; Small # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; Small # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-
-# Total code points: 26
-
-# ================================================
-
-3250 ; Square # So PARTNERSHIP SIGN
-32CC..32CF ; Square # So [4] SQUARE HG..LIMITED LIABILITY SIGN
-3300..3357 ; Square # So [88] SQUARE APAATO..SQUARE WATTO
-3371..33DF ; Square # So [111] SQUARE HPA..SQUARE A OVER M
-33FF ; Square # So SQUARE GAL
-1F131 ; Square # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; Square # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; Square # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; Square # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; Square # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; Square # So [5] SQUARED HV..SQUARED PPV
-1F190 ; Square # So SQUARE DJ
-1F200 ; Square # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; Square # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-
-# Total code points: 251
-
-# ================================================
-
-00BC..00BE ; Fraction # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-2150..215F ; Fraction # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2189 ; Fraction # No VULGAR FRACTION ZERO THIRDS
-
-# Total code points: 20
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DEastAsianWidth.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DEastAsianWidth.txt
deleted file mode 100644
index 4f5422038ec..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DEastAsianWidth.txt
+++ /dev/null
@@ -1,1803 +0,0 @@
-# DerivedEastAsianWidth-5.2.0.txt
-# Date: 2009-08-22, 04:58:20 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# East_Asian_Width (listing EastAsianWidth.txt, field 1)
-
-# All code points not explicitly listed for East_Asian_Width
-# have the value Neutral (N).
-
-# @missing: 0000..10FFFF; Neutral
-
-# ================================================
-
-# East_Asian_Width=Neutral
-
-0000..001F ; N # Cc [32] <control-0000>..<control-001F>
-007F..009F ; N # Cc [33] <control-007F>..<control-009F>
-00A0 ; N # Zs NO-BREAK SPACE
-00A9 ; N # So COPYRIGHT SIGN
-00AB ; N # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00B5 ; N # L& MICRO SIGN
-00BB ; N # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00C0..00C5 ; N # L& [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
-00C7..00CF ; N # L& [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
-00D1..00D6 ; N # L& [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D9..00DD ; N # L& [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE
-00E2..00E5 ; N # L& [4] LATIN SMALL LETTER A WITH CIRCUMFLEX..LATIN SMALL LETTER A WITH RING ABOVE
-00E7 ; N # L& LATIN SMALL LETTER C WITH CEDILLA
-00EB ; N # L& LATIN SMALL LETTER E WITH DIAERESIS
-00EE..00EF ; N # L& [2] LATIN SMALL LETTER I WITH CIRCUMFLEX..LATIN SMALL LETTER I WITH DIAERESIS
-00F1 ; N # L& LATIN SMALL LETTER N WITH TILDE
-00F4..00F6 ; N # L& [3] LATIN SMALL LETTER O WITH CIRCUMFLEX..LATIN SMALL LETTER O WITH DIAERESIS
-00FB ; N # L& LATIN SMALL LETTER U WITH CIRCUMFLEX
-00FD ; N # L& LATIN SMALL LETTER Y WITH ACUTE
-00FF..0100 ; N # L& [2] LATIN SMALL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER A WITH MACRON
-0102..0110 ; N # L& [15] LATIN CAPITAL LETTER A WITH BREVE..LATIN CAPITAL LETTER D WITH STROKE
-0112 ; N # L& LATIN CAPITAL LETTER E WITH MACRON
-0114..011A ; N # L& [7] LATIN CAPITAL LETTER E WITH BREVE..LATIN CAPITAL LETTER E WITH CARON
-011C..0125 ; N # L& [10] LATIN CAPITAL LETTER G WITH CIRCUMFLEX..LATIN SMALL LETTER H WITH CIRCUMFLEX
-0128..012A ; N # L& [3] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH MACRON
-012C..0130 ; N # L& [5] LATIN CAPITAL LETTER I WITH BREVE..LATIN CAPITAL LETTER I WITH DOT ABOVE
-0134..0137 ; N # L& [4] LATIN CAPITAL LETTER J WITH CIRCUMFLEX..LATIN SMALL LETTER K WITH CEDILLA
-0139..013E ; N # L& [6] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH CARON
-0143 ; N # L& LATIN CAPITAL LETTER N WITH ACUTE
-0145..0147 ; N # L& [3] LATIN CAPITAL LETTER N WITH CEDILLA..LATIN CAPITAL LETTER N WITH CARON
-014C ; N # L& LATIN CAPITAL LETTER O WITH MACRON
-014E..0151 ; N # L& [4] LATIN CAPITAL LETTER O WITH BREVE..LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0154..0165 ; N # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON
-0168..016A ; N # L& [3] LATIN CAPITAL LETTER U WITH TILDE..LATIN CAPITAL LETTER U WITH MACRON
-016C..01BA ; N # L& [79] LATIN CAPITAL LETTER U WITH BREVE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; N # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; N # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; N # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..01CD ; N # L& [10] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER A WITH CARON
-01CF ; N # L& LATIN CAPITAL LETTER I WITH CARON
-01D1 ; N # L& LATIN CAPITAL LETTER O WITH CARON
-01D3 ; N # L& LATIN CAPITAL LETTER U WITH CARON
-01D5 ; N # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; N # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; N # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; N # L& LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DD..0250 ; N # L& [116] LATIN SMALL LETTER TURNED E..LATIN SMALL LETTER TURNED A
-0252..0260 ; N # L& [15] LATIN SMALL LETTER TURNED ALPHA..LATIN SMALL LETTER G WITH HOOK
-0262..0293 ; N # L& [50] LATIN LETTER SMALL CAPITAL G..LATIN SMALL LETTER EZH WITH CURL
-0294 ; N # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; N # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; N # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C3 ; N # Sk [2] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER RIGHT ARROWHEAD
-02C5 ; N # Sk MODIFIER LETTER DOWN ARROWHEAD
-02C6 ; N # Lm MODIFIER LETTER CIRCUMFLEX ACCENT
-02C8 ; N # Lm MODIFIER LETTER VERTICAL LINE
-02CC ; N # Lm MODIFIER LETTER LOW VERTICAL LINE
-02CE..02CF ; N # Lm [2] MODIFIER LETTER LOW GRAVE ACCENT..MODIFIER LETTER LOW ACUTE ACCENT
-02D1 ; N # Lm MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02D7 ; N # Sk [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN
-02DC ; N # Sk SMALL TILDE
-02DE ; N # Sk MODIFIER LETTER RHOTIC HOOK
-02E0..02E4 ; N # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5..02EB ; N # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; N # Lm MODIFIER LETTER VOICING
-02ED ; N # Sk MODIFIER LETTER UNASPIRATED
-02EE ; N # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; N # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0370..0373 ; N # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; N # Lm GREEK NUMERAL SIGN
-0375 ; N # Sk GREEK LOWER NUMERAL SIGN
-0376..0377 ; N # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; N # Lm GREEK YPOGEGRAMMENI
-037B..037D ; N # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-037E ; N # Po GREEK QUESTION MARK
-0384..0385 ; N # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; N # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; N # Po GREEK ANO TELEIA
-0388..038A ; N # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; N # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..0390 ; N # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AA..03B0 ; N # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-03C2 ; N # L& GREEK SMALL LETTER FINAL SIGMA
-03CA..03F5 ; N # L& [44] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK LUNATE EPSILON SYMBOL
-03F6 ; N # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7..0400 ; N # L& [10] GREEK CAPITAL LETTER SHO..CYRILLIC CAPITAL LETTER IE WITH GRAVE
-0402..040F ; N # L& [14] CYRILLIC CAPITAL LETTER DJE..CYRILLIC CAPITAL LETTER DZHE
-0450 ; N # L& CYRILLIC SMALL LETTER IE WITH GRAVE
-0452..0481 ; N # L& [48] CYRILLIC SMALL LETTER DJE..CYRILLIC SMALL LETTER KOPPA
-0482 ; N # So CYRILLIC THOUSANDS SIGN
-0483..0487 ; N # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; N # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-048A..0525 ; N # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; N # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; N # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A..055F ; N # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0561..0587 ; N # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-0589 ; N # Po ARMENIAN FULL STOP
-058A ; N # Pd ARMENIAN HYPHEN
-0591..05BD ; N # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BE ; N # Pd HEBREW PUNCTUATION MAQAF
-05BF ; N # Mn HEBREW POINT RAFE
-05C0 ; N # Po HEBREW PUNCTUATION PASEQ
-05C1..05C2 ; N # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C3 ; N # Po HEBREW PUNCTUATION SOF PASUQ
-05C4..05C5 ; N # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C6 ; N # Po HEBREW PUNCTUATION NUN HAFUKHA
-05C7 ; N # Mn HEBREW POINT QAMATS QATAN
-05D0..05EA ; N # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; N # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3..05F4 ; N # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0600..0603 ; N # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-0606..0608 ; N # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-0609..060A ; N # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-060B ; N # Sc AFGHANI SIGN
-060C..060D ; N # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-060E..060F ; N # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-0610..061A ; N # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-061B ; N # Po ARABIC SEMICOLON
-061E..061F ; N # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
-0621..063F ; N # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; N # Lm ARABIC TATWEEL
-0641..064A ; N # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-064B..065E ; N # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0660..0669 ; N # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066A..066D ; N # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
-066E..066F ; N # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0670 ; N # Mn ARABIC LETTER SUPERSCRIPT ALEF
-0671..06D3 ; N # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D4 ; N # Po ARABIC FULL STOP
-06D5 ; N # Lo ARABIC LETTER AE
-06D6..06DC ; N # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DD ; N # Cf ARABIC END OF AYAH
-06DE ; N # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; N # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E5..06E6 ; N # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E7..06E8 ; N # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06E9 ; N # So ARABIC PLACE OF SAJDAH
-06EA..06ED ; N # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-06EE..06EF ; N # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06F0..06F9 ; N # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-06FA..06FC ; N # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FD..06FE ; N # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ; N # Lo ARABIC LETTER HEH WITH INVERTED V
-0700..070D ; N # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-070F ; N # Cf SYRIAC ABBREVIATION MARK
-0710 ; N # Lo SYRIAC LETTER ALAPH
-0711 ; N # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0712..072F ; N # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-0730..074A ; N # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-074D..07A5 ; N # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07A6..07B0 ; N # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07B1 ; N # Lo THAANA LETTER NAA
-07C0..07C9 ; N # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-07CA..07EA ; N # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07EB..07F3 ; N # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-07F4..07F5 ; N # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07F6 ; N # So NKO SYMBOL OO DENNEN
-07F7..07F9 ; N # Po [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
-07FA ; N # Lm NKO LAJANYALAN
-0800..0815 ; N # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-0816..0819 ; N # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081A ; N # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B..0823 ; N # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0824 ; N # Lm SAMARITAN MODIFIER LETTER SHORT A
-0825..0827 ; N # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0828 ; N # Lm SAMARITAN MODIFIER LETTER I
-0829..082D ; N # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0830..083E ; N # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0900..0902 ; N # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; N # Mc DEVANAGARI SIGN VISARGA
-0904..0939 ; N # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093C ; N # Mn DEVANAGARI SIGN NUKTA
-093D ; N # Lo DEVANAGARI SIGN AVAGRAHA
-093E..0940 ; N # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; N # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; N # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; N # Mn DEVANAGARI SIGN VIRAMA
-094E ; N # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0950 ; N # Lo DEVANAGARI OM
-0951..0955 ; N # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0958..0961 ; N # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0962..0963 ; N # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0964..0965 ; N # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0966..096F ; N # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-0970 ; N # Po DEVANAGARI ABBREVIATION SIGN
-0971 ; N # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; N # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; N # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0981 ; N # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; N # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-0985..098C ; N # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; N # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; N # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; N # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; N # Lo BENGALI LETTER LA
-09B6..09B9 ; N # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BC ; N # Mn BENGALI SIGN NUKTA
-09BD ; N # Lo BENGALI SIGN AVAGRAHA
-09BE..09C0 ; N # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; N # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; N # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; N # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; N # Mn BENGALI SIGN VIRAMA
-09CE ; N # Lo BENGALI LETTER KHANDA TA
-09D7 ; N # Mc BENGALI AU LENGTH MARK
-09DC..09DD ; N # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; N # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09E2..09E3 ; N # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-09E6..09EF ; N # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-09F0..09F1 ; N # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-09F2..09F3 ; N # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09F4..09F9 ; N # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; N # So BENGALI ISSHAR
-09FB ; N # Sc BENGALI GANDA MARK
-0A01..0A02 ; N # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; N # Mc GURMUKHI SIGN VISARGA
-0A05..0A0A ; N # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; N # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; N # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; N # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; N # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; N # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; N # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A3C ; N # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; N # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; N # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; N # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; N # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; N # Mn GURMUKHI SIGN UDAAT
-0A59..0A5C ; N # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; N # Lo GURMUKHI LETTER FA
-0A66..0A6F ; N # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0A70..0A71 ; N # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A72..0A74 ; N # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A75 ; N # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; N # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; N # Mc GUJARATI SIGN VISARGA
-0A85..0A8D ; N # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; N # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; N # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; N # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; N # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; N # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABC ; N # Mn GUJARATI SIGN NUKTA
-0ABD ; N # Lo GUJARATI SIGN AVAGRAHA
-0ABE..0AC0 ; N # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; N # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; N # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; N # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; N # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; N # Mn GUJARATI SIGN VIRAMA
-0AD0 ; N # Lo GUJARATI OM
-0AE0..0AE1 ; N # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0AE2..0AE3 ; N # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0AE6..0AEF ; N # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0AF1 ; N # Sc GUJARATI RUPEE SIGN
-0B01 ; N # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; N # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B05..0B0C ; N # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; N # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; N # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; N # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; N # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; N # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3C ; N # Mn ORIYA SIGN NUKTA
-0B3D ; N # Lo ORIYA SIGN AVAGRAHA
-0B3E ; N # Mc ORIYA VOWEL SIGN AA
-0B3F ; N # Mn ORIYA VOWEL SIGN I
-0B40 ; N # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; N # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; N # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; N # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; N # Mn ORIYA SIGN VIRAMA
-0B56 ; N # Mn ORIYA AI LENGTH MARK
-0B57 ; N # Mc ORIYA AU LENGTH MARK
-0B5C..0B5D ; N # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; N # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B62..0B63 ; N # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B66..0B6F ; N # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0B70 ; N # So ORIYA ISSHAR
-0B71 ; N # Lo ORIYA LETTER WA
-0B82 ; N # Mn TAMIL SIGN ANUSVARA
-0B83 ; N # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; N # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; N # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; N # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; N # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; N # Lo TAMIL LETTER JA
-0B9E..0B9F ; N # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; N # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; N # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; N # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BBE..0BBF ; N # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; N # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; N # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; N # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; N # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; N # Mn TAMIL SIGN VIRAMA
-0BD0 ; N # Lo TAMIL OM
-0BD7 ; N # Mc TAMIL AU LENGTH MARK
-0BE6..0BEF ; N # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0BF0..0BF2 ; N # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0BF3..0BF8 ; N # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BF9 ; N # Sc TAMIL RUPEE SIGN
-0BFA ; N # So TAMIL NUMBER SIGN
-0C01..0C03 ; N # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C05..0C0C ; N # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; N # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; N # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; N # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; N # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; N # Lo TELUGU SIGN AVAGRAHA
-0C3E..0C40 ; N # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; N # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; N # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; N # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; N # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C58..0C59 ; N # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; N # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C62..0C63 ; N # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C66..0C6F ; N # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C78..0C7E ; N # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F ; N # So TELUGU SIGN TUUMU
-0C82..0C83 ; N # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0C85..0C8C ; N # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; N # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; N # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; N # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; N # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBC ; N # Mn KANNADA SIGN NUKTA
-0CBD ; N # Lo KANNADA SIGN AVAGRAHA
-0CBE ; N # Mc KANNADA VOWEL SIGN AA
-0CBF ; N # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; N # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; N # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; N # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; N # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; N # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; N # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CDE ; N # Lo KANNADA LETTER FA
-0CE0..0CE1 ; N # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CE2..0CE3 ; N # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0CE6..0CEF ; N # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0CF1..0CF2 ; N # So [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D02..0D03 ; N # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D05..0D0C ; N # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; N # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; N # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; N # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; N # Lo MALAYALAM SIGN AVAGRAHA
-0D3E..0D40 ; N # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; N # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; N # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; N # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; N # Mn MALAYALAM SIGN VIRAMA
-0D57 ; N # Mc MALAYALAM AU LENGTH MARK
-0D60..0D61 ; N # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D62..0D63 ; N # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D66..0D6F ; N # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0D70..0D75 ; N # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D79 ; N # So MALAYALAM DATE MARK
-0D7A..0D7F ; N # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D82..0D83 ; N # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0D85..0D96 ; N # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; N # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; N # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; N # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; N # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DCA ; N # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; N # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; N # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; N # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; N # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; N # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DF4 ; N # Po SINHALA PUNCTUATION KUNDDALIYA
-0E01..0E30 ; N # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; N # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; N # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; N # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E3F ; N # Sc THAI CURRENCY SYMBOL BAHT
-0E40..0E45 ; N # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; N # Lm THAI CHARACTER MAIYAMOK
-0E47..0E4E ; N # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0E4F ; N # Po THAI CHARACTER FONGMAN
-0E50..0E59 ; N # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0E5A..0E5B ; N # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0E81..0E82 ; N # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; N # Lo LAO LETTER KHO TAM
-0E87..0E88 ; N # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; N # Lo LAO LETTER SO TAM
-0E8D ; N # Lo LAO LETTER NYO
-0E94..0E97 ; N # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; N # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; N # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; N # Lo LAO LETTER LO LOOT
-0EA7 ; N # Lo LAO LETTER WO
-0EAA..0EAB ; N # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; N # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; N # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; N # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; N # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; N # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; N # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; N # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; N # Lm LAO KO LA
-0EC8..0ECD ; N # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0ED0..0ED9 ; N # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD ; N # Lo [2] LAO HO NO..LAO HO MO
-0F00 ; N # Lo TIBETAN SYLLABLE OM
-0F01..0F03 ; N # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04..0F12 ; N # Po [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17 ; N # So [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F18..0F19 ; N # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A..0F1F ; N # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F20..0F29 ; N # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-0F2A..0F33 ; N # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-0F34 ; N # So TIBETAN MARK BSDUS RTAGS
-0F35 ; N # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36 ; N # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F37 ; N # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38 ; N # So TIBETAN MARK CHE MGO
-0F39 ; N # Mn TIBETAN MARK TSA -PHRU
-0F3A ; N # Ps TIBETAN MARK GUG RTAGS GYON
-0F3B ; N # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3C ; N # Ps TIBETAN MARK ANG KHANG GYON
-0F3D ; N # Pe TIBETAN MARK ANG KHANG GYAS
-0F3E..0F3F ; N # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F40..0F47 ; N # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; N # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F71..0F7E ; N # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F7F ; N # Mc TIBETAN SIGN RNAM BCAD
-0F80..0F84 ; N # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F85 ; N # Po TIBETAN MARK PALUTA
-0F86..0F87 ; N # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F88..0F8B ; N # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0F90..0F97 ; N # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; N # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FBE..0FC5 ; N # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
-0FC6 ; N # Mn TIBETAN SYMBOL PADMA GDAN
-0FC7..0FCC ; N # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; N # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD0..0FD4 ; N # Po [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5..0FD8 ; N # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-1000..102A ; N # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; N # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; N # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; N # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; N # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; N # Mc MYANMAR SIGN VISARGA
-1039..103A ; N # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; N # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; N # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; N # Lo MYANMAR LETTER GREAT SA
-1040..1049 ; N # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-104A..104F ; N # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
-1050..1055 ; N # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; N # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; N # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; N # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; N # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; N # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; N # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; N # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; N # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; N # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; N # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; N # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; N # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; N # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; N # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; N # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; N # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E ; N # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; N # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-1090..1099 ; N # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-109A..109C ; N # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; N # Mn MYANMAR VOWEL SIGN AITON AI
-109E..109F ; N # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-10A0..10C5 ; N # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; N # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FB ; N # Po GEORGIAN PARAGRAPH SEPARATOR
-10FC ; N # Lm MODIFIER LETTER GEORGIAN NAR
-1160..11A2 ; N # Lo [67] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG SSANGARAEA
-11A8..11F9 ; N # Lo [82] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG YEORINHIEUH
-1200..1248 ; N # Lo [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA
-124A..124D ; N # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; N # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; N # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; N # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; N # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; N # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; N # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; N # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; N # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; N # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; N # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; N # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; N # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; N # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; N # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-135F ; N # Mn ETHIOPIC COMBINING GEMINATION MARK
-1360 ; N # So ETHIOPIC SECTION MARK
-1361..1368 ; N # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-1369..137C ; N # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-1380..138F ; N # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-1390..1399 ; N # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4 ; N # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1400 ; N # Pd CANADIAN SYLLABICS HYPHEN
-1401..166C ; N # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166D..166E ; N # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-166F..167F ; N # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1680 ; N # Zs OGHAM SPACE MARK
-1681..169A ; N # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-169B ; N # Ps OGHAM FEATHER MARK
-169C ; N # Pe OGHAM REVERSED FEATHER MARK
-16A0..16EA ; N # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EB..16ED ; N # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-16EE..16F0 ; N # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; N # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; N # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1712..1714 ; N # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1720..1731 ; N # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1732..1734 ; N # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1735..1736 ; N # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-1740..1751 ; N # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1752..1753 ; N # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1760..176C ; N # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; N # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1772..1773 ; N # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-1780..17B3 ; N # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5 ; N # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6 ; N # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; N # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; N # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; N # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; N # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; N # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17D4..17D6 ; N # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17D7 ; N # Lm KHMER SIGN LEK TOO
-17D8..17DA ; N # Po [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
-17DB ; N # Sc KHMER CURRENCY SYMBOL RIEL
-17DC ; N # Lo KHMER SIGN AVAKRAHASANYA
-17DD ; N # Mn KHMER SIGN ATTHACAN
-17E0..17E9 ; N # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-17F0..17F9 ; N # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800..1805 ; N # Po [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS
-1806 ; N # Pd MONGOLIAN TODO SOFT HYPHEN
-1807..180A ; N # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
-180B..180D ; N # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-180E ; N # Zs MONGOLIAN VOWEL SEPARATOR
-1810..1819 ; N # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1820..1842 ; N # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; N # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; N # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; N # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18A9 ; N # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-18AA ; N # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; N # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; N # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1920..1922 ; N # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; N # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; N # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; N # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; N # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; N # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; N # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; N # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1940 ; N # So LIMBU SIGN LOO
-1944..1945 ; N # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-1946..194F ; N # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-1950..196D ; N # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; N # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; N # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; N # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; N # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; N # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19D0..19DA ; N # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-19DE..19DF ; N # Po [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-19E0..19FF ; N # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1A00..1A16 ; N # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A17..1A18 ; N # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; N # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A1E..1A1F ; N # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1A20..1A54 ; N # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; N # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; N # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; N # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; N # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; N # Mn TAI THAM SIGN SAKOT
-1A61 ; N # Mc TAI THAM VOWEL SIGN A
-1A62 ; N # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; N # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; N # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; N # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; N # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; N # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1A80..1A89 ; N # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; N # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1AA0..1AA6 ; N # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 ; N # Lm TAI THAM SIGN MAI YAMOK
-1AA8..1AAD ; N # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-1B00..1B03 ; N # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; N # Mc BALINESE SIGN BISAH
-1B05..1B33 ; N # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B34 ; N # Mn BALINESE SIGN REREKAN
-1B35 ; N # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; N # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; N # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; N # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; N # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; N # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; N # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B45..1B4B ; N # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B50..1B59 ; N # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1B5A..1B60 ; N # Po [7] BALINESE PANTI..BALINESE PAMENENG
-1B61..1B6A ; N # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B6B..1B73 ; N # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74..1B7C ; N # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B80..1B81 ; N # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; N # Mc SUNDANESE SIGN PANGWISAD
-1B83..1BA0 ; N # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BA1 ; N # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; N # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; N # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; N # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; N # Mc SUNDANESE SIGN PAMAAEH
-1BAE..1BAF ; N # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BB0..1BB9 ; N # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C00..1C23 ; N # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C24..1C2B ; N # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; N # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; N # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; N # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1C3B..1C3F ; N # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C40..1C49 ; N # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C4D..1C4F ; N # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C50..1C59 ; N # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-1C5A..1C77 ; N # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; N # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1C7E..1C7F ; N # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD0..1CD2 ; N # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD3 ; N # Po VEDIC SIGN NIHSHVASA
-1CD4..1CE0 ; N # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; N # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; N # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CE9..1CEC ; N # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CED ; N # Mn VEDIC SIGN TIRYAK
-1CEE..1CF1 ; N # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2 ; N # Mc VEDIC SIGN ARDHAVISARGA
-1D00..1D2B ; N # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; N # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; N # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; N # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; N # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; N # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DE6 ; N # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; N # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-1E00..1F15 ; N # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; N # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; N # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; N # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; N # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; N # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; N # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; N # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; N # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; N # Sk GREEK KORONIS
-1FBE ; N # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; N # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; N # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; N # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; N # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; N # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; N # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; N # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; N # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; N # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; N # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; N # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFD..1FFE ; N # Sk [2] GREEK OXIA..GREEK DASIA
-2000..200A ; N # Zs [11] EN QUAD..HAIR SPACE
-200B..200F ; N # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-2011..2012 ; N # Pd [2] NON-BREAKING HYPHEN..FIGURE DASH
-2017 ; N # Po DOUBLE LOW LINE
-201A ; N # Ps SINGLE LOW-9 QUOTATION MARK
-201B ; N # Pi SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201E ; N # Ps DOUBLE LOW-9 QUOTATION MARK
-201F ; N # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2023 ; N # Po TRIANGULAR BULLET
-2028 ; N # Zl LINE SEPARATOR
-2029 ; N # Zp PARAGRAPH SEPARATOR
-202A..202E ; N # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-202F ; N # Zs NARROW NO-BREAK SPACE
-2031 ; N # Po PER TEN THOUSAND SIGN
-2034 ; N # Po TRIPLE PRIME
-2036..2038 ; N # Po [3] REVERSED DOUBLE PRIME..CARET
-2039 ; N # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; N # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203C..203D ; N # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
-203F..2040 ; N # Pc [2] UNDERTIE..CHARACTER TIE
-2041..2043 ; N # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-2044 ; N # Sm FRACTION SLASH
-2045 ; N # Ps LEFT SQUARE BRACKET WITH QUILL
-2046 ; N # Pe RIGHT SQUARE BRACKET WITH QUILL
-2047..2051 ; N # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; N # Sm COMMERCIAL MINUS SIGN
-2053 ; N # Po SWUNG DASH
-2054 ; N # Pc INVERTED UNDERTIE
-2055..205E ; N # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-205F ; N # Zs MEDIUM MATHEMATICAL SPACE
-2060..2064 ; N # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; N # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-2070 ; N # No SUPERSCRIPT ZERO
-2071 ; N # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2075..2079 ; N # No [5] SUPERSCRIPT FIVE..SUPERSCRIPT NINE
-207A..207C ; N # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-207D ; N # Ps SUPERSCRIPT LEFT PARENTHESIS
-207E ; N # Pe SUPERSCRIPT RIGHT PARENTHESIS
-2080 ; N # No SUBSCRIPT ZERO
-2085..2089 ; N # No [5] SUBSCRIPT FIVE..SUBSCRIPT NINE
-208A..208C ; N # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-208D ; N # Ps SUBSCRIPT LEFT PARENTHESIS
-208E ; N # Pe SUBSCRIPT RIGHT PARENTHESIS
-2090..2094 ; N # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-20A0..20A8 ; N # Sc [9] EURO-CURRENCY SIGN..RUPEE SIGN
-20AA..20AB ; N # Sc [2] NEW SHEQEL SIGN..DONG SIGN
-20AD..20B8 ; N # Sc [12] KIP SIGN..TENGE SIGN
-20D0..20DC ; N # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; N # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; N # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; N # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; N # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2100..2101 ; N # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; N # L& DOUBLE-STRUCK CAPITAL C
-2104 ; N # So CENTRE LINE SYMBOL
-2106 ; N # So CADA UNA
-2107 ; N # L& EULER CONSTANT
-2108 ; N # So SCRUPLE
-210A..2112 ; N # L& [9] SCRIPT SMALL G..SCRIPT CAPITAL L
-2114 ; N # So L B BAR SYMBOL
-2115 ; N # L& DOUBLE-STRUCK CAPITAL N
-2117..2118 ; N # So [2] SOUND RECORDING COPYRIGHT..SCRIPT CAPITAL P
-2119..211D ; N # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-211E..2120 ; N # So [3] PRESCRIPTION TAKE..SERVICE MARK
-2123 ; N # So VERSICLE
-2124 ; N # L& DOUBLE-STRUCK CAPITAL Z
-2125 ; N # So OUNCE SIGN
-2127 ; N # So INVERTED OHM SIGN
-2128 ; N # L& BLACK-LETTER CAPITAL Z
-2129 ; N # So TURNED GREEK SMALL LETTER IOTA
-212A ; N # L& KELVIN SIGN
-212C..212D ; N # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
-212E ; N # So ESTIMATED SYMBOL
-212F..2134 ; N # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; N # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; N # L& INFORMATION SOURCE
-213A..213B ; N # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-213C..213F ; N # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140..2144 ; N # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-2145..2149 ; N # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214A ; N # So PROPERTY LINE
-214B ; N # Sm TURNED AMPERSAND
-214C..214D ; N # So [2] PER SIGN..AKTIESELSKAB
-214E ; N # L& TURNED SMALL F
-214F ; N # So SYMBOL FOR SAMARITAN SOURCE
-2150..2152 ; N # No [3] VULGAR FRACTION ONE SEVENTH..VULGAR FRACTION ONE TENTH
-2155..215A ; N # No [6] VULGAR FRACTION ONE FIFTH..VULGAR FRACTION FIVE SIXTHS
-215F ; N # No FRACTION NUMERATOR ONE
-216C..216F ; N # Nl [4] ROMAN NUMERAL FIFTY..ROMAN NUMERAL ONE THOUSAND
-217A..2182 ; N # Nl [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; N # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; N # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-219A..219B ; N # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; N # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; N # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; N # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; N # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; N # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; N # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; N # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; N # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21B7 ; N # So [9] DOWNWARDS ZIGZAG ARROW..CLOCKWISE TOP SEMICIRCLE ARROW
-21BA..21CD ; N # So [20] ANTICLOCKWISE OPEN CIRCLE ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; N # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; N # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D3 ; N # So DOWNWARDS DOUBLE ARROW
-21D5..21E6 ; N # So [18] UP DOWN DOUBLE ARROW..LEFTWARDS WHITE ARROW
-21E8..21F3 ; N # So [12] RIGHTWARDS WHITE ARROW..UP DOWN WHITE ARROW
-21F4..21FF ; N # Sm [12] RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW
-2201 ; N # Sm COMPLEMENT
-2204..2206 ; N # Sm [3] THERE DOES NOT EXIST..INCREMENT
-2209..220A ; N # Sm [2] NOT AN ELEMENT OF..SMALL ELEMENT OF
-220C..220E ; N # Sm [3] DOES NOT CONTAIN AS MEMBER..END OF PROOF
-2210 ; N # Sm N-ARY COPRODUCT
-2212..2214 ; N # Sm [3] MINUS SIGN..DOT PLUS
-2216..2219 ; N # Sm [4] SET MINUS..BULLET OPERATOR
-221B..221C ; N # Sm [2] CUBE ROOT..FOURTH ROOT
-2221..2222 ; N # Sm [2] MEASURED ANGLE..SPHERICAL ANGLE
-2224 ; N # Sm DOES NOT DIVIDE
-2226 ; N # Sm NOT PARALLEL TO
-222D ; N # Sm TRIPLE INTEGRAL
-222F..2233 ; N # Sm [5] SURFACE INTEGRAL..ANTICLOCKWISE CONTOUR INTEGRAL
-2238..223B ; N # Sm [4] DOT MINUS..HOMOTHETIC
-223E..2247 ; N # Sm [10] INVERTED LAZY S..NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249..224B ; N # Sm [3] NOT ALMOST EQUAL TO..TRIPLE TILDE
-224D..2251 ; N # Sm [5] EQUIVALENT TO..GEOMETRICALLY EQUAL TO
-2253..225F ; N # Sm [13] IMAGE OF OR APPROXIMATELY EQUAL TO..QUESTIONED EQUAL TO
-2262..2263 ; N # Sm [2] NOT IDENTICAL TO..STRICTLY EQUIVALENT TO
-2268..2269 ; N # Sm [2] LESS-THAN BUT NOT EQUAL TO..GREATER-THAN BUT NOT EQUAL TO
-226C..226D ; N # Sm [2] BETWEEN..NOT EQUIVALENT TO
-2270..2281 ; N # Sm [18] NEITHER LESS-THAN NOR EQUAL TO..DOES NOT SUCCEED
-2284..2285 ; N # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2294 ; N # Sm [13] NEITHER A SUBSET OF NOR EQUAL TO..SQUARE CUP
-2296..2298 ; N # Sm [3] CIRCLED MINUS..CIRCLED DIVISION SLASH
-229A..22A4 ; N # Sm [11] CIRCLED RING OPERATOR..DOWN TACK
-22A6..22BE ; N # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC
-22C0..22FF ; N # Sm [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; N # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; N # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..2311 ; N # So [6] BOTTOM RIGHT CROP..SQUARE LOZENGE
-2313..231F ; N # So [13] SEGMENT..BOTTOM RIGHT CORNER
-2320..2321 ; N # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; N # So [7] FROWN..KEYBOARD
-232B..237B ; N # So [81] ERASE TO THE LEFT..NOT CHECK MARK
-237C ; N # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..239A ; N # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-239B..23B3 ; N # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; N # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; N # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; N # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; N # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; N # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-24EA ; N # No CIRCLED DIGIT ZERO
-254C..254F ; N # So [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2574..257F ; N # So [12] BOX DRAWINGS LIGHT LEFT..BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2590..2591 ; N # So [2] RIGHT HALF BLOCK..LIGHT SHADE
-2596..259F ; N # So [10] QUADRANT LOWER LEFT..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A2 ; N # So WHITE SQUARE WITH ROUNDED CORNERS
-25AA..25B1 ; N # So [8] BLACK SMALL SQUARE..WHITE PARALLELOGRAM
-25B4..25B5 ; N # So [2] BLACK UP-POINTING SMALL TRIANGLE..WHITE UP-POINTING SMALL TRIANGLE
-25B8..25BB ; N # So [4] BLACK RIGHT-POINTING SMALL TRIANGLE..WHITE RIGHT-POINTING POINTER
-25BE..25BF ; N # So [2] BLACK DOWN-POINTING SMALL TRIANGLE..WHITE DOWN-POINTING SMALL TRIANGLE
-25C2..25C5 ; N # So [4] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE LEFT-POINTING POINTER
-25C9..25CA ; N # So [2] FISHEYE..LOZENGE
-25CC..25CD ; N # So [2] DOTTED CIRCLE..CIRCLE WITH VERTICAL FILL
-25D2..25E1 ; N # So [16] CIRCLE WITH LOWER HALF BLACK..LOWER HALF CIRCLE
-25E6..25EE ; N # So [9] WHITE BULLET..UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25F0..25F7 ; N # So [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; N # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..2604 ; N # So [5] BLACK SUN WITH RAYS..COMET
-2607..2608 ; N # So [2] LIGHTNING..THUNDERSTORM
-260A..260D ; N # So [4] ASCENDING NODE..OPPOSITION
-2610..2613 ; N # So [4] BALLOT BOX..SALTIRE
-2616..261B ; N # So [6] WHITE SHOGI PIECE..BLACK RIGHT POINTING INDEX
-261D ; N # So WHITE UP POINTING INDEX
-261F..263F ; N # So [33] WHITE DOWN POINTING INDEX..MERCURY
-2641 ; N # So EARTH
-2643..265F ; N # So [29] JUPITER..BLACK CHESS PAWN
-2662 ; N # So WHITE DIAMOND SUIT
-2666 ; N # So BLACK DIAMOND SUIT
-266B ; N # So BEAMED EIGHTH NOTES
-266E ; N # So MUSIC NATURAL SIGN
-2670..269D ; N # So [46] WEST SYRIAC CROSS..OUTLINED WHITE STAR
-26A0..26BD ; N # So [30] WARNING SIGN..SOCCER BALL
-26C0..26C3 ; N # So [4] WHITE DRAUGHTS MAN..BLACK DRAUGHTS KING
-2701..2704 ; N # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; N # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; N # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..273C ; N # So [20] STRESS OUTLINED WHITE STAR..OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273E..274B ; N # So [14] SIX PETALLED BLACK AND WHITE FLORETTE..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; N # So SHADOWED WHITE CIRCLE
-274F..2752 ; N # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756 ; N # So BLACK DIAMOND MINUS WHITE X
-2758..275E ; N # So [7] LIGHT VERTICAL BAR..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; N # So [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2768 ; N # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; N # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; N # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; N # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; N # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; N # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; N # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; N # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; N # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; N # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; N # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; N # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; N # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; N # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2780..2793 ; N # No [20] DINGBAT CIRCLED SANS-SERIF DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2794 ; N # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; N # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; N # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27C0..27C4 ; N # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C5 ; N # Ps LEFT S-SHAPED BAG DELIMITER
-27C6 ; N # Pe RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA ; N # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; N # Sm LONG DIVISION
-27D0..27E5 ; N # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27EE ; N # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; N # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0..27FF ; N # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2800..28FF ; N # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2900..2982 ; N # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2983 ; N # Ps LEFT WHITE CURLY BRACKET
-2984 ; N # Pe RIGHT WHITE CURLY BRACKET
-2987 ; N # Ps Z NOTATION LEFT IMAGE BRACKET
-2988 ; N # Pe Z NOTATION RIGHT IMAGE BRACKET
-2989 ; N # Ps Z NOTATION LEFT BINDING BRACKET
-298A ; N # Pe Z NOTATION RIGHT BINDING BRACKET
-298B ; N # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; N # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; N # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; N # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; N # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; N # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; N # Ps LEFT ANGLE BRACKET WITH DOT
-2992 ; N # Pe RIGHT ANGLE BRACKET WITH DOT
-2993 ; N # Ps LEFT ARC LESS-THAN BRACKET
-2994 ; N # Pe RIGHT ARC GREATER-THAN BRACKET
-2995 ; N # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; N # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; N # Ps LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; N # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-2999..29D7 ; N # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29D8 ; N # Ps LEFT WIGGLY FENCE
-29D9 ; N # Pe RIGHT WIGGLY FENCE
-29DA ; N # Ps LEFT DOUBLE WIGGLY FENCE
-29DB ; N # Pe RIGHT DOUBLE WIGGLY FENCE
-29DC..29FB ; N # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FC ; N # Ps LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; N # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-29FE..2AFF ; N # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; N # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; N # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; N # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; N # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B54 ; N # So [5] WHITE MEDIUM STAR..WHITE RIGHT-POINTING PENTAGON
-2C00..2C2E ; N # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; N # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; N # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; N # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; N # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CE5..2CEA ; N # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2CEB..2CEE ; N # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CEF..2CF1 ; N # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2CF9..2CFC ; N # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; N # No COPTIC FRACTION ONE HALF
-2CFE..2CFF ; N # Po [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
-2D00..2D25 ; N # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; N # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; N # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; N # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; N # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; N # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; N # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; N # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; N # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; N # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; N # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; N # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2DE0..2DFF ; N # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-2E00..2E01 ; N # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; N # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; N # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; N # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; N # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; N # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; N # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; N # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; N # Po RAISED SQUARE
-2E0C ; N # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; N # Pf RIGHT RAISED OMISSION BRACKET
-2E0E..2E16 ; N # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E17 ; N # Pd DOUBLE OBLIQUE HYPHEN
-2E18..2E19 ; N # Po [2] INVERTED INTERROBANG..PALM BRANCH
-2E1A ; N # Pd HYPHEN WITH DIAERESIS
-2E1B ; N # Po TILDE WITH RING ABOVE
-2E1C ; N # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; N # Pf RIGHT LOW PARAPHRASE BRACKET
-2E1E..2E1F ; N # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E20 ; N # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; N # Pf RIGHT VERTICAL BAR WITH QUILL
-2E22 ; N # Ps TOP LEFT HALF BRACKET
-2E23 ; N # Pe TOP RIGHT HALF BRACKET
-2E24 ; N # Ps BOTTOM LEFT HALF BRACKET
-2E25 ; N # Pe BOTTOM RIGHT HALF BRACKET
-2E26 ; N # Ps LEFT SIDEWAYS U BRACKET
-2E27 ; N # Pe RIGHT SIDEWAYS U BRACKET
-2E28 ; N # Ps LEFT DOUBLE PARENTHESIS
-2E29 ; N # Pe RIGHT DOUBLE PARENTHESIS
-2E2A..2E2E ; N # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E2F ; N # Lm VERTICAL TILDE
-2E30..2E31 ; N # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-303F ; N # So IDEOGRAPHIC HALF FILL SPACE
-4DC0..4DFF ; N # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-A4D0..A4F7 ; N # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; N # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A4FE..A4FF ; N # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A500..A60B ; N # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; N # Lm VAI SYLLABLE LENGTHENER
-A60D..A60F ; N # Po [3] VAI COMMA..VAI QUESTION MARK
-A610..A61F ; N # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A620..A629 ; N # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A62A..A62B ; N # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; N # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; N # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; N # Lo CYRILLIC LETTER MULTIOCULAR O
-A66F ; N # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; N # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673 ; N # Po SLAVONIC ASTERISK
-A67C..A67D ; N # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A67E ; N # Po CYRILLIC KAVYKA
-A67F ; N # Lm CYRILLIC PAYEROK
-A680..A697 ; N # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; N # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; N # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F0..A6F1 ; N # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A6F2..A6F7 ; N # Po [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
-A700..A716 ; N # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; N # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; N # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A722..A76F ; N # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; N # Lm MODIFIER LETTER US
-A771..A787 ; N # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; N # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789..A78A ; N # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A78B..A78C ; N # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; N # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A802 ; N # Mn SYLOTI NAGRI SIGN DVISVARA
-A803..A805 ; N # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A806 ; N # Mn SYLOTI NAGRI SIGN HASANTA
-A807..A80A ; N # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80B ; N # Mn SYLOTI NAGRI SIGN ANUSVARA
-A80C..A822 ; N # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A823..A824 ; N # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; N # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; N # Mc SYLOTI NAGRI VOWEL SIGN OO
-A828..A82B ; N # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-A830..A835 ; N # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-A836..A837 ; N # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A838 ; N # Sc NORTH INDIC RUPEE MARK
-A839 ; N # So NORTH INDIC QUANTITY MARK
-A840..A873 ; N # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A874..A877 ; N # Po [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
-A880..A881 ; N # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A882..A8B3 ; N # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8B4..A8C3 ; N # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; N # Mn SAURASHTRA SIGN VIRAMA
-A8CE..A8CF ; N # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A8D0..A8D9 ; N # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A8E0..A8F1 ; N # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F2..A8F7 ; N # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8..A8FA ; N # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A8FB ; N # Lo DEVANAGARI HEADSTROKE
-A900..A909 ; N # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A90A..A925 ; N # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A926..A92D ; N # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A92E..A92F ; N # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-A930..A946 ; N # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A947..A951 ; N # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; N # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A95F ; N # Po REJANG SECTION MARK
-A980..A982 ; N # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; N # Mc JAVANESE SIGN WIGNYAN
-A984..A9B2 ; N # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9B3 ; N # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; N # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; N # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; N # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; N # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; N # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-A9C1..A9CD ; N # Po [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
-A9CF ; N # Lm JAVANESE PANGRANGKEP
-A9D0..A9D9 ; N # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-A9DE..A9DF ; N # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA00..AA28 ; N # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA29..AA2E ; N # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; N # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; N # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; N # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; N # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA40..AA42 ; N # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA43 ; N # Mn CHAM CONSONANT SIGN FINAL NG
-AA44..AA4B ; N # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA4C ; N # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; N # Mc CHAM CONSONANT SIGN FINAL H
-AA50..AA59 ; N # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-AA5C..AA5F ; N # Po [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-AA60..AA6F ; N # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; N # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; N # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA77..AA79 ; N # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-AA7A ; N # Lo MYANMAR LETTER AITON RA
-AA7B ; N # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; N # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB0 ; N # Mn TAI VIET MAI KANG
-AAB1 ; N # Lo TAI VIET VOWEL AA
-AAB2..AAB4 ; N # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB5..AAB6 ; N # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB7..AAB8 ; N # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AAB9..AABD ; N # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AABE..AABF ; N # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC0 ; N # Lo TAI VIET TONE MAI NUENG
-AAC1 ; N # Mn TAI VIET TONE MAI THO
-AAC2 ; N # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; N # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; N # Lm TAI VIET SYMBOL SAM
-AADE..AADF ; N # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-ABC0..ABE2 ; N # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-ABE3..ABE4 ; N # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; N # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; N # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; N # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; N # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEB ; N # Po MEETEI MAYEK CHEIKHEI
-ABEC ; N # Mc MEETEI MAYEK LUM IYEK
-ABED ; N # Mn MEETEI MAYEK APUN IYEK
-ABF0..ABF9 ; N # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-FB00..FB06 ; N # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; N # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; N # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1E ; N # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F..FB28 ; N # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; N # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; N # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; N # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; N # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; N # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; N # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; N # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; N # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD3E ; N # Ps ORNATE LEFT PARENTHESIS
-FD3F ; N # Pe ORNATE RIGHT PARENTHESIS
-FD50..FD8F ; N # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; N # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; N # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFC ; N # Sc RIAL SIGN
-FDFD ; N # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE20..FE26 ; N # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FE70..FE74 ; N # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; N # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFF ; N # Cf ZERO WIDTH NO-BREAK SPACE
-FFF9..FFFB ; N # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-FFFC ; N # So OBJECT REPLACEMENT CHARACTER
-10000..1000B ; N # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; N # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; N # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; N # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; N # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; N # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; N # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10101 ; N # Po [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102 ; N # So AEGEAN CHECK MARK
-10107..10133 ; N # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; N # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10140..10174 ; N # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; N # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-10179..10189 ; N # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-1018A ; N # No GREEK ZERO SIGN
-10190..1019B ; N # So [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FC ; N # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-101FD ; N # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10280..1029C ; N # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; N # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; N # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; N # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340 ; N # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; N # Nl GOTHIC LETTER NINETY
-10342..10349 ; N # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; N # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; N # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-1039F ; N # Po UGARITIC WORD DIVIDER
-103A0..103C3 ; N # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; N # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D0 ; N # Po OLD PERSIAN WORD DIVIDER
-103D1..103D5 ; N # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; N # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; N # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-104A0..104A9 ; N # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-10800..10805 ; N # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; N # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; N # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; N # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; N # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; N # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10857 ; N # Po IMPERIAL ARAMAIC SECTION SIGN
-10858..1085F ; N # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900..10915 ; N # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10916..1091B ; N # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-1091F ; N # Po PHOENICIAN WORD SEPARATOR
-10920..10939 ; N # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093F ; N # Po LYDIAN TRIANGULAR MARK
-10A00 ; N # Lo KHAROSHTHI LETTER A
-10A01..10A03 ; N # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; N # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; N # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A10..10A13 ; N # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; N # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; N # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A38..10A3A ; N # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; N # Mn KHAROSHTHI VIRAMA
-10A40..10A47 ; N # No [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A50..10A58 ; N # Po [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-10A60..10A7C ; N # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10A7D..10A7E ; N # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; N # Po OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00..10B35 ; N # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B39..10B3F ; N # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B40..10B55 ; N # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58..10B5F ; N # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60..10B72 ; N # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78..10B7F ; N # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00..10C48 ; N # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10E60..10E7E ; N # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-11080..11081 ; N # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; N # Mc KAITHI SIGN VISARGA
-11083..110AF ; N # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110B0..110B2 ; N # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; N # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; N # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; N # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-110BB..110BC ; N # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BD ; N # Cf KAITHI NUMBER SIGN
-110BE..110C1 ; N # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12000..1236E ; N # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; N # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470..12473 ; N # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-13000..1342E ; N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-1D000..1D0F5 ; N # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; N # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; N # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D165..1D166 ; N # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167..1D169 ; N # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A..1D16C ; N # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D16D..1D172 ; N # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D173..1D17A ; N # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D17B..1D182 ; N # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D183..1D184 ; N # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D185..1D18B ; N # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C..1D1A9 ; N # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AA..1D1AD ; N # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE..1D1DD ; N # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D200..1D241 ; N # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D242..1D244 ; N # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-1D245 ; N # So GREEK MUSICAL LEIMMA
-1D300..1D356 ; N # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D360..1D371 ; N # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D400..1D454 ; N # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; N # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; N # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; N # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; N # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; N # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; N # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; N # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; N # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; N # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; N # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; N # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; N # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; N # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; N # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; N # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; N # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; N # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; N # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; N # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; N # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; N # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; N # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; N # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; N # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; N # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; N # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; N # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; N # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; N # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; N # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; N # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; N # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; N # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; N # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; N # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; N # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1D7CE..1D7FF ; N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-1F000..1F02B ; N # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; N # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F12E ; N # So CIRCLED WZ
-E0001 ; N # Cf LANGUAGE TAG
-E0020..E007F ; N # Cf [96] TAG SPACE..CANCEL TAG
-
-# The above property value applies to 785513 code points not listed here.
-# Total code points: 801909
-
-# ================================================
-
-# East_Asian_Width=Ambiguous
-
-00A1 ; A # Po INVERTED EXCLAMATION MARK
-00A4 ; A # Sc CURRENCY SIGN
-00A7 ; A # So SECTION SIGN
-00A8 ; A # Sk DIAERESIS
-00AA ; A # L& FEMININE ORDINAL INDICATOR
-00AD ; A # Cf SOFT HYPHEN
-00AE ; A # So REGISTERED SIGN
-00B0 ; A # So DEGREE SIGN
-00B1 ; A # Sm PLUS-MINUS SIGN
-00B2..00B3 ; A # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B4 ; A # Sk ACUTE ACCENT
-00B6 ; A # So PILCROW SIGN
-00B7 ; A # Po MIDDLE DOT
-00B8 ; A # Sk CEDILLA
-00B9 ; A # No SUPERSCRIPT ONE
-00BA ; A # L& MASCULINE ORDINAL INDICATOR
-00BC..00BE ; A # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00BF ; A # Po INVERTED QUESTION MARK
-00C6 ; A # L& LATIN CAPITAL LETTER AE
-00D0 ; A # L& LATIN CAPITAL LETTER ETH
-00D7 ; A # Sm MULTIPLICATION SIGN
-00D8 ; A # L& LATIN CAPITAL LETTER O WITH STROKE
-00DE..00E1 ; A # L& [4] LATIN CAPITAL LETTER THORN..LATIN SMALL LETTER A WITH ACUTE
-00E6 ; A # L& LATIN SMALL LETTER AE
-00E8..00EA ; A # L& [3] LATIN SMALL LETTER E WITH GRAVE..LATIN SMALL LETTER E WITH CIRCUMFLEX
-00EC..00ED ; A # L& [2] LATIN SMALL LETTER I WITH GRAVE..LATIN SMALL LETTER I WITH ACUTE
-00F0 ; A # L& LATIN SMALL LETTER ETH
-00F2..00F3 ; A # L& [2] LATIN SMALL LETTER O WITH GRAVE..LATIN SMALL LETTER O WITH ACUTE
-00F7 ; A # Sm DIVISION SIGN
-00F8..00FA ; A # L& [3] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER U WITH ACUTE
-00FC ; A # L& LATIN SMALL LETTER U WITH DIAERESIS
-00FE ; A # L& LATIN SMALL LETTER THORN
-0101 ; A # L& LATIN SMALL LETTER A WITH MACRON
-0111 ; A # L& LATIN SMALL LETTER D WITH STROKE
-0113 ; A # L& LATIN SMALL LETTER E WITH MACRON
-011B ; A # L& LATIN SMALL LETTER E WITH CARON
-0126..0127 ; A # L& [2] LATIN CAPITAL LETTER H WITH STROKE..LATIN SMALL LETTER H WITH STROKE
-012B ; A # L& LATIN SMALL LETTER I WITH MACRON
-0131..0133 ; A # L& [3] LATIN SMALL LETTER DOTLESS I..LATIN SMALL LIGATURE IJ
-0138 ; A # L& LATIN SMALL LETTER KRA
-013F..0142 ; A # L& [4] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH STROKE
-0144 ; A # L& LATIN SMALL LETTER N WITH ACUTE
-0148..014B ; A # L& [4] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER ENG
-014D ; A # L& LATIN SMALL LETTER O WITH MACRON
-0152..0153 ; A # L& [2] LATIN CAPITAL LIGATURE OE..LATIN SMALL LIGATURE OE
-0166..0167 ; A # L& [2] LATIN CAPITAL LETTER T WITH STROKE..LATIN SMALL LETTER T WITH STROKE
-016B ; A # L& LATIN SMALL LETTER U WITH MACRON
-01CE ; A # L& LATIN SMALL LETTER A WITH CARON
-01D0 ; A # L& LATIN SMALL LETTER I WITH CARON
-01D2 ; A # L& LATIN SMALL LETTER O WITH CARON
-01D4 ; A # L& LATIN SMALL LETTER U WITH CARON
-01D6 ; A # L& LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D8 ; A # L& LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01DA ; A # L& LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DC ; A # L& LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0251 ; A # L& LATIN SMALL LETTER ALPHA
-0261 ; A # L& LATIN SMALL LETTER SCRIPT G
-02C4 ; A # Sk MODIFIER LETTER UP ARROWHEAD
-02C7 ; A # Lm CARON
-02C9..02CB ; A # Lm [3] MODIFIER LETTER MACRON..MODIFIER LETTER GRAVE ACCENT
-02CD ; A # Lm MODIFIER LETTER LOW MACRON
-02D0 ; A # Lm MODIFIER LETTER TRIANGULAR COLON
-02D8..02DB ; A # Sk [4] BREVE..OGONEK
-02DD ; A # Sk DOUBLE ACUTE ACCENT
-02DF ; A # Sk MODIFIER LETTER CROSS ACCENT
-0300..036F ; A # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0391..03A1 ; A # L& [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03A9 ; A # L& [7] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER OMEGA
-03B1..03C1 ; A # L& [17] GREEK SMALL LETTER ALPHA..GREEK SMALL LETTER RHO
-03C3..03C9 ; A # L& [7] GREEK SMALL LETTER SIGMA..GREEK SMALL LETTER OMEGA
-0401 ; A # L& CYRILLIC CAPITAL LETTER IO
-0410..044F ; A # L& [64] CYRILLIC CAPITAL LETTER A..CYRILLIC SMALL LETTER YA
-0451 ; A # L& CYRILLIC SMALL LETTER IO
-2010 ; A # Pd HYPHEN
-2013..2015 ; A # Pd [3] EN DASH..HORIZONTAL BAR
-2016 ; A # Po DOUBLE VERTICAL LINE
-2018 ; A # Pi LEFT SINGLE QUOTATION MARK
-2019 ; A # Pf RIGHT SINGLE QUOTATION MARK
-201C ; A # Pi LEFT DOUBLE QUOTATION MARK
-201D ; A # Pf RIGHT DOUBLE QUOTATION MARK
-2020..2022 ; A # Po [3] DAGGER..BULLET
-2024..2027 ; A # Po [4] ONE DOT LEADER..HYPHENATION POINT
-2030 ; A # Po PER MILLE SIGN
-2032..2033 ; A # Po [2] PRIME..DOUBLE PRIME
-2035 ; A # Po REVERSED PRIME
-203B ; A # Po REFERENCE MARK
-203E ; A # Po OVERLINE
-2074 ; A # No SUPERSCRIPT FOUR
-207F ; A # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2081..2084 ; A # No [4] SUBSCRIPT ONE..SUBSCRIPT FOUR
-20AC ; A # Sc EURO SIGN
-2103 ; A # So DEGREE CELSIUS
-2105 ; A # So CARE OF
-2109 ; A # So DEGREE FAHRENHEIT
-2113 ; A # L& SCRIPT SMALL L
-2116 ; A # So NUMERO SIGN
-2121..2122 ; A # So [2] TELEPHONE SIGN..TRADE MARK SIGN
-2126 ; A # L& OHM SIGN
-212B ; A # L& ANGSTROM SIGN
-2153..2154 ; A # No [2] VULGAR FRACTION ONE THIRD..VULGAR FRACTION TWO THIRDS
-215B..215E ; A # No [4] VULGAR FRACTION ONE EIGHTH..VULGAR FRACTION SEVEN EIGHTHS
-2160..216B ; A # Nl [12] ROMAN NUMERAL ONE..ROMAN NUMERAL TWELVE
-2170..2179 ; A # Nl [10] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL TEN
-2189 ; A # No VULGAR FRACTION ZERO THIRDS
-2190..2194 ; A # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; A # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-21B8..21B9 ; A # So [2] NORTH WEST ARROW TO LONG BAR..LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21D2 ; A # Sm RIGHTWARDS DOUBLE ARROW
-21D4 ; A # Sm LEFT RIGHT DOUBLE ARROW
-21E7 ; A # So UPWARDS WHITE ARROW
-2200 ; A # Sm FOR ALL
-2202..2203 ; A # Sm [2] PARTIAL DIFFERENTIAL..THERE EXISTS
-2207..2208 ; A # Sm [2] NABLA..ELEMENT OF
-220B ; A # Sm CONTAINS AS MEMBER
-220F ; A # Sm N-ARY PRODUCT
-2211 ; A # Sm N-ARY SUMMATION
-2215 ; A # Sm DIVISION SLASH
-221A ; A # Sm SQUARE ROOT
-221D..2220 ; A # Sm [4] PROPORTIONAL TO..ANGLE
-2223 ; A # Sm DIVIDES
-2225 ; A # Sm PARALLEL TO
-2227..222C ; A # Sm [6] LOGICAL AND..DOUBLE INTEGRAL
-222E ; A # Sm CONTOUR INTEGRAL
-2234..2237 ; A # Sm [4] THEREFORE..PROPORTION
-223C..223D ; A # Sm [2] TILDE OPERATOR..REVERSED TILDE
-2248 ; A # Sm ALMOST EQUAL TO
-224C ; A # Sm ALL EQUAL TO
-2252 ; A # Sm APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2260..2261 ; A # Sm [2] NOT EQUAL TO..IDENTICAL TO
-2264..2267 ; A # Sm [4] LESS-THAN OR EQUAL TO..GREATER-THAN OVER EQUAL TO
-226A..226B ; A # Sm [2] MUCH LESS-THAN..MUCH GREATER-THAN
-226E..226F ; A # Sm [2] NOT LESS-THAN..NOT GREATER-THAN
-2282..2283 ; A # Sm [2] SUBSET OF..SUPERSET OF
-2286..2287 ; A # Sm [2] SUBSET OF OR EQUAL TO..SUPERSET OF OR EQUAL TO
-2295 ; A # Sm CIRCLED PLUS
-2299 ; A # Sm CIRCLED DOT OPERATOR
-22A5 ; A # Sm UP TACK
-22BF ; A # Sm RIGHT TRIANGLE
-2312 ; A # So ARC
-2460..249B ; A # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; A # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EB..24FF ; A # No [21] NEGATIVE CIRCLED NUMBER ELEVEN..NEGATIVE CIRCLED DIGIT ZERO
-2500..254B ; A # So [76] BOX DRAWINGS LIGHT HORIZONTAL..BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-2550..2573 ; A # So [36] BOX DRAWINGS DOUBLE HORIZONTAL..BOX DRAWINGS LIGHT DIAGONAL CROSS
-2580..258F ; A # So [16] UPPER HALF BLOCK..LEFT ONE EIGHTH BLOCK
-2592..2595 ; A # So [4] MEDIUM SHADE..RIGHT ONE EIGHTH BLOCK
-25A0..25A1 ; A # So [2] BLACK SQUARE..WHITE SQUARE
-25A3..25A9 ; A # So [7] WHITE SQUARE CONTAINING BLACK SMALL SQUARE..SQUARE WITH DIAGONAL CROSSHATCH FILL
-25B2..25B3 ; A # So [2] BLACK UP-POINTING TRIANGLE..WHITE UP-POINTING TRIANGLE
-25B6 ; A # So BLACK RIGHT-POINTING TRIANGLE
-25B7 ; A # Sm WHITE RIGHT-POINTING TRIANGLE
-25BC..25BD ; A # So [2] BLACK DOWN-POINTING TRIANGLE..WHITE DOWN-POINTING TRIANGLE
-25C0 ; A # So BLACK LEFT-POINTING TRIANGLE
-25C1 ; A # Sm WHITE LEFT-POINTING TRIANGLE
-25C6..25C8 ; A # So [3] BLACK DIAMOND..WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25CB ; A # So WHITE CIRCLE
-25CE..25D1 ; A # So [4] BULLSEYE..CIRCLE WITH RIGHT HALF BLACK
-25E2..25E5 ; A # So [4] BLACK LOWER RIGHT TRIANGLE..BLACK UPPER RIGHT TRIANGLE
-25EF ; A # So LARGE CIRCLE
-2605..2606 ; A # So [2] BLACK STAR..WHITE STAR
-2609 ; A # So SUN
-260E..260F ; A # So [2] BLACK TELEPHONE..WHITE TELEPHONE
-2614..2615 ; A # So [2] UMBRELLA WITH RAIN DROPS..HOT BEVERAGE
-261C ; A # So WHITE LEFT POINTING INDEX
-261E ; A # So WHITE RIGHT POINTING INDEX
-2640 ; A # So FEMALE SIGN
-2642 ; A # So MALE SIGN
-2660..2661 ; A # So [2] BLACK SPADE SUIT..WHITE HEART SUIT
-2663..2665 ; A # So [3] BLACK CLUB SUIT..BLACK HEART SUIT
-2667..266A ; A # So [4] WHITE CLUB SUIT..EIGHTH NOTE
-266C..266D ; A # So [2] BEAMED SIXTEENTH NOTES..MUSIC FLAT SIGN
-266F ; A # Sm MUSIC SHARP SIGN
-269E..269F ; A # So [2] THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT
-26BE..26BF ; A # So [2] BASEBALL..SQUARED KEY
-26C4..26CD ; A # So [10] SNOWMAN WITHOUT SNOW..DISABLED CAR
-26CF..26E1 ; A # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; A # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; A # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-273D ; A # So HEAVY TEARDROP-SPOKED ASTERISK
-2757 ; A # So HEAVY EXCLAMATION MARK SYMBOL
-2776..277F ; A # No [10] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2B55..2B59 ; A # So [5] HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE
-3248..324F ; A # So [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-E000..F8FF ; A # Co [6400] <private-use-E000>..<private-use-F8FF>
-FE00..FE0F ; A # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FFFD ; A # So REPLACEMENT CHARACTER
-1F100..1F10A ; A # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12D ; A # So [30] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED CD
-1F131 ; A # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; A # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; A # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; A # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; A # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; A # So [5] SQUARED HV..SQUARED PPV
-1F157 ; A # So NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; A # So NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; A # So NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; A # So [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; A # So NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; A # So [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; A # So SQUARE DJ
-E0100..E01EF ; A # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-F0000..FFFFD ; A # Co [65534] <private-use-F0000>..<private-use-FFFFD>
-100000..10FFFD; A # Co [65534] <private-use-100000>..<private-use-10FFFD>
-
-# Total code points: 138666
-
-# ================================================
-
-# East_Asian_Width=Halfwidth
-
-20A9 ; H # Sc WON SIGN
-FF61 ; H # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; H # Ps HALFWIDTH LEFT CORNER BRACKET
-FF63 ; H # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64..FF65 ; H # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-FF66..FF6F ; H # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; H # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71..FF9D ; H # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FF9E..FF9F ; H # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFA0..FFBE ; H # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; H # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; H # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; H # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; H # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE8 ; H # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; H # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; H # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-
-# Total code points: 123
-
-# ================================================
-
-# East_Asian_Width=Wide
-
-1100..115F ; W # Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
-11A3..11A7 ; W # Lo [5] HANGUL JUNGSEONG A-EU..HANGUL JUNGSEONG O-YAE
-11FA..11FF ; W # Lo [6] HANGUL JONGSEONG KIYEOK-NIEUN..HANGUL JONGSEONG SSANGNIEUN
-2329 ; W # Ps LEFT-POINTING ANGLE BRACKET
-232A ; W # Pe RIGHT-POINTING ANGLE BRACKET
-2E80..2E99 ; W # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; W # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; W # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; W # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3001..3003 ; W # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
-3004 ; W # So JAPANESE INDUSTRIAL STANDARD SYMBOL
-3005 ; W # Lm IDEOGRAPHIC ITERATION MARK
-3006 ; W # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; W # Nl IDEOGRAPHIC NUMBER ZERO
-3008 ; W # Ps LEFT ANGLE BRACKET
-3009 ; W # Pe RIGHT ANGLE BRACKET
-300A ; W # Ps LEFT DOUBLE ANGLE BRACKET
-300B ; W # Pe RIGHT DOUBLE ANGLE BRACKET
-300C ; W # Ps LEFT CORNER BRACKET
-300D ; W # Pe RIGHT CORNER BRACKET
-300E ; W # Ps LEFT WHITE CORNER BRACKET
-300F ; W # Pe RIGHT WHITE CORNER BRACKET
-3010 ; W # Ps LEFT BLACK LENTICULAR BRACKET
-3011 ; W # Pe RIGHT BLACK LENTICULAR BRACKET
-3012..3013 ; W # So [2] POSTAL MARK..GETA MARK
-3014 ; W # Ps LEFT TORTOISE SHELL BRACKET
-3015 ; W # Pe RIGHT TORTOISE SHELL BRACKET
-3016 ; W # Ps LEFT WHITE LENTICULAR BRACKET
-3017 ; W # Pe RIGHT WHITE LENTICULAR BRACKET
-3018 ; W # Ps LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; W # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; W # Ps LEFT WHITE SQUARE BRACKET
-301B ; W # Pe RIGHT WHITE SQUARE BRACKET
-301C ; W # Pd WAVE DASH
-301D ; W # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-301E..301F ; W # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-3020 ; W # So POSTAL MARK FACE
-3021..3029 ; W # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-302A..302F ; W # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3030 ; W # Pd WAVY DASH
-3031..3035 ; W # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3036..3037 ; W # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038..303A ; W # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303B ; W # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; W # Lo MASU MARK
-303D ; W # Po PART ALTERNATION MARK
-303E ; W # So IDEOGRAPHIC VARIATION INDICATOR
-3041..3096 ; W # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-3099..309A ; W # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309B..309C ; W # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; W # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-309F ; W # Lo HIRAGANA DIGRAPH YORI
-30A0 ; W # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1..30FA ; W # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FB ; W # Po KATAKANA MIDDLE DOT
-30FC..30FE ; W # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-30FF ; W # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; W # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; W # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3190..3191 ; W # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192..3195 ; W # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; W # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31A0..31B7 ; W # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31C0..31E3 ; W # So [36] CJK STROKE T..CJK STROKE Q
-31F0..31FF ; W # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3200..321E ; W # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; W # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3247 ; W # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
-3250 ; W # So PARTNERSHIP SIGN
-3251..325F ; W # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327F ; W # So [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
-3280..3289 ; W # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; W # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; W # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; W # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; W # So [256] SQUARE APAATO..SQUARE GAL
-3400..4DB5 ; W # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4DB6..4DBF ; W # Cn [10] <reserved-4DB6>..<reserved-4DBF>
-4E00..9FCB ; W # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-9FCC..9FFF ; W # Cn [52] <reserved-9FCC>..<reserved-9FFF>
-A000..A014 ; W # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A015 ; W # Lm YI SYLLABLE WU
-A016..A48C ; W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A490..A4C6 ; W # So [55] YI RADICAL QOT..YI RADICAL KE
-A960..A97C ; W # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-AC00..D7A3 ; W # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; W # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; W # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; W # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F ; W # Cn [2] <reserved-FA2E>..<reserved-FA2F>
-FA30..FA6D ; W # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA6E..FA6F ; W # Cn [2] <reserved-FA6E>..<reserved-FA6F>
-FA70..FAD9 ; W # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FADA..FAFF ; W # Cn [38] <reserved-FADA>..<reserved-FAFF>
-FE10..FE16 ; W # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19 ; W # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; W # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; W # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; W # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45..FE46 ; W # Po [2] SESAME DOT..WHITE SESAME DOT
-FE47 ; W # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48 ; W # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE49..FE4C ; W # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; W # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE50..FE52 ; W # Po [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; W # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE58 ; W # Pd SMALL EM DASH
-FE59 ; W # Ps SMALL LEFT PARENTHESIS
-FE5A ; W # Pe SMALL RIGHT PARENTHESIS
-FE5B ; W # Ps SMALL LEFT CURLY BRACKET
-FE5C ; W # Pe SMALL RIGHT CURLY BRACKET
-FE5D ; W # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FE5E ; W # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F..FE61 ; W # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; W # Sm SMALL PLUS SIGN
-FE63 ; W # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; W # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; W # Po SMALL REVERSE SOLIDUS
-FE69 ; W # Sc SMALL DOLLAR SIGN
-FE6A..FE6B ; W # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-1F200 ; W # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; W # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; W # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6 ; W # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A6D7..2A6FF ; W # Cn [41] <reserved-2A6D7>..<reserved-2A6FF>
-2A700..2B734 ; W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2B735..2F7FF ; W # Cn [16587] <reserved-2B735>..<reserved-2F7FF>
-2F800..2FA1D ; W # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-2FA1E..2FFFD ; W # Cn [1504] <reserved-2FA1E>..<reserved-2FFFD>
-30000..3FFFD ; W # Cn [65534] <reserved-30000>..<reserved-3FFFD>
-
-# Total code points: 173199
-
-# ================================================
-
-# East_Asian_Width=Fullwidth
-
-3000 ; F # Zs IDEOGRAPHIC SPACE
-FF01..FF03 ; F # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF04 ; F # Sc FULLWIDTH DOLLAR SIGN
-FF05..FF07 ; F # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF08 ; F # Ps FULLWIDTH LEFT PARENTHESIS
-FF09 ; F # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0A ; F # Po FULLWIDTH ASTERISK
-FF0B ; F # Sm FULLWIDTH PLUS SIGN
-FF0C ; F # Po FULLWIDTH COMMA
-FF0D ; F # Pd FULLWIDTH HYPHEN-MINUS
-FF0E..FF0F ; F # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF10..FF19 ; F # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1A..FF1B ; F # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1C..FF1E ; F # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF1F..FF20 ; F # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; F # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; F # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; F # Po FULLWIDTH REVERSE SOLIDUS
-FF3D ; F # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; F # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; F # Pc FULLWIDTH LOW LINE
-FF40 ; F # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; F # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; F # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5C ; F # Sm FULLWIDTH VERTICAL LINE
-FF5D ; F # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; F # Sm FULLWIDTH TILDE
-FF5F ; F # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; F # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FFE0..FFE1 ; F # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE2 ; F # Sm FULLWIDTH NOT SIGN
-FFE3 ; F # Sk FULLWIDTH MACRON
-FFE4 ; F # So FULLWIDTH BROKEN BAR
-FFE5..FFE6 ; F # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-
-# Total code points: 104
-
-# ================================================
-
-# East_Asian_Width=Narrow
-
-0020 ; Na # Zs SPACE
-0021..0023 ; Na # Po [3] EXCLAMATION MARK..NUMBER SIGN
-0024 ; Na # Sc DOLLAR SIGN
-0025..0027 ; Na # Po [3] PERCENT SIGN..APOSTROPHE
-0028 ; Na # Ps LEFT PARENTHESIS
-0029 ; Na # Pe RIGHT PARENTHESIS
-002A ; Na # Po ASTERISK
-002B ; Na # Sm PLUS SIGN
-002C ; Na # Po COMMA
-002D ; Na # Pd HYPHEN-MINUS
-002E..002F ; Na # Po [2] FULL STOP..SOLIDUS
-0030..0039 ; Na # Nd [10] DIGIT ZERO..DIGIT NINE
-003A..003B ; Na # Po [2] COLON..SEMICOLON
-003C..003E ; Na # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-003F..0040 ; Na # Po [2] QUESTION MARK..COMMERCIAL AT
-0041..005A ; Na # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-005B ; Na # Ps LEFT SQUARE BRACKET
-005C ; Na # Po REVERSE SOLIDUS
-005D ; Na # Pe RIGHT SQUARE BRACKET
-005E ; Na # Sk CIRCUMFLEX ACCENT
-005F ; Na # Pc LOW LINE
-0060 ; Na # Sk GRAVE ACCENT
-0061..007A ; Na # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-007B ; Na # Ps LEFT CURLY BRACKET
-007C ; Na # Sm VERTICAL LINE
-007D ; Na # Pe RIGHT CURLY BRACKET
-007E ; Na # Sm TILDE
-00A2..00A3 ; Na # Sc [2] CENT SIGN..POUND SIGN
-00A5 ; Na # Sc YEN SIGN
-00A6 ; Na # So BROKEN BAR
-00AC ; Na # Sm NOT SIGN
-00AF ; Na # Sk MACRON
-27E6 ; Na # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; Na # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; Na # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; Na # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; Na # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; Na # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; Na # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; Na # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-2985 ; Na # Ps LEFT WHITE PARENTHESIS
-2986 ; Na # Pe RIGHT WHITE PARENTHESIS
-
-# Total code points: 111
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DGeneralCategory.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DGeneralCategory.txt
deleted file mode 100644
index 74874c97b5a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DGeneralCategory.txt
+++ /dev/null
@@ -1,3263 +0,0 @@
-# DerivedGeneralCategory-5.2.0.txt
-# Date: 2009-08-22, 04:58:21 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: General_Category
-
-# ================================================
-
-# General_Category=Unassigned
-
-0378..0379 ; Cn # [2] <reserved-0378>..<reserved-0379>
-037F..0383 ; Cn # [5] <reserved-037F>..<reserved-0383>
-038B ; Cn # <reserved-038B>
-038D ; Cn # <reserved-038D>
-03A2 ; Cn # <reserved-03A2>
-0526..0530 ; Cn # [11] <reserved-0526>..<reserved-0530>
-0557..0558 ; Cn # [2] <reserved-0557>..<reserved-0558>
-0560 ; Cn # <reserved-0560>
-0588 ; Cn # <reserved-0588>
-058B..0590 ; Cn # [6] <reserved-058B>..<reserved-0590>
-05C8..05CF ; Cn # [8] <reserved-05C8>..<reserved-05CF>
-05EB..05EF ; Cn # [5] <reserved-05EB>..<reserved-05EF>
-05F5..05FF ; Cn # [11] <reserved-05F5>..<reserved-05FF>
-0604..0605 ; Cn # [2] <reserved-0604>..<reserved-0605>
-061C..061D ; Cn # [2] <reserved-061C>..<reserved-061D>
-0620 ; Cn # <reserved-0620>
-065F ; Cn # <reserved-065F>
-070E ; Cn # <reserved-070E>
-074B..074C ; Cn # [2] <reserved-074B>..<reserved-074C>
-07B2..07BF ; Cn # [14] <reserved-07B2>..<reserved-07BF>
-07FB..07FF ; Cn # [5] <reserved-07FB>..<reserved-07FF>
-082E..082F ; Cn # [2] <reserved-082E>..<reserved-082F>
-083F..08FF ; Cn # [193] <reserved-083F>..<reserved-08FF>
-093A..093B ; Cn # [2] <reserved-093A>..<reserved-093B>
-094F ; Cn # <reserved-094F>
-0956..0957 ; Cn # [2] <reserved-0956>..<reserved-0957>
-0973..0978 ; Cn # [6] <reserved-0973>..<reserved-0978>
-0980 ; Cn # <reserved-0980>
-0984 ; Cn # <reserved-0984>
-098D..098E ; Cn # [2] <reserved-098D>..<reserved-098E>
-0991..0992 ; Cn # [2] <reserved-0991>..<reserved-0992>
-09A9 ; Cn # <reserved-09A9>
-09B1 ; Cn # <reserved-09B1>
-09B3..09B5 ; Cn # [3] <reserved-09B3>..<reserved-09B5>
-09BA..09BB ; Cn # [2] <reserved-09BA>..<reserved-09BB>
-09C5..09C6 ; Cn # [2] <reserved-09C5>..<reserved-09C6>
-09C9..09CA ; Cn # [2] <reserved-09C9>..<reserved-09CA>
-09CF..09D6 ; Cn # [8] <reserved-09CF>..<reserved-09D6>
-09D8..09DB ; Cn # [4] <reserved-09D8>..<reserved-09DB>
-09DE ; Cn # <reserved-09DE>
-09E4..09E5 ; Cn # [2] <reserved-09E4>..<reserved-09E5>
-09FC..0A00 ; Cn # [5] <reserved-09FC>..<reserved-0A00>
-0A04 ; Cn # <reserved-0A04>
-0A0B..0A0E ; Cn # [4] <reserved-0A0B>..<reserved-0A0E>
-0A11..0A12 ; Cn # [2] <reserved-0A11>..<reserved-0A12>
-0A29 ; Cn # <reserved-0A29>
-0A31 ; Cn # <reserved-0A31>
-0A34 ; Cn # <reserved-0A34>
-0A37 ; Cn # <reserved-0A37>
-0A3A..0A3B ; Cn # [2] <reserved-0A3A>..<reserved-0A3B>
-0A3D ; Cn # <reserved-0A3D>
-0A43..0A46 ; Cn # [4] <reserved-0A43>..<reserved-0A46>
-0A49..0A4A ; Cn # [2] <reserved-0A49>..<reserved-0A4A>
-0A4E..0A50 ; Cn # [3] <reserved-0A4E>..<reserved-0A50>
-0A52..0A58 ; Cn # [7] <reserved-0A52>..<reserved-0A58>
-0A5D ; Cn # <reserved-0A5D>
-0A5F..0A65 ; Cn # [7] <reserved-0A5F>..<reserved-0A65>
-0A76..0A80 ; Cn # [11] <reserved-0A76>..<reserved-0A80>
-0A84 ; Cn # <reserved-0A84>
-0A8E ; Cn # <reserved-0A8E>
-0A92 ; Cn # <reserved-0A92>
-0AA9 ; Cn # <reserved-0AA9>
-0AB1 ; Cn # <reserved-0AB1>
-0AB4 ; Cn # <reserved-0AB4>
-0ABA..0ABB ; Cn # [2] <reserved-0ABA>..<reserved-0ABB>
-0AC6 ; Cn # <reserved-0AC6>
-0ACA ; Cn # <reserved-0ACA>
-0ACE..0ACF ; Cn # [2] <reserved-0ACE>..<reserved-0ACF>
-0AD1..0ADF ; Cn # [15] <reserved-0AD1>..<reserved-0ADF>
-0AE4..0AE5 ; Cn # [2] <reserved-0AE4>..<reserved-0AE5>
-0AF0 ; Cn # <reserved-0AF0>
-0AF2..0B00 ; Cn # [15] <reserved-0AF2>..<reserved-0B00>
-0B04 ; Cn # <reserved-0B04>
-0B0D..0B0E ; Cn # [2] <reserved-0B0D>..<reserved-0B0E>
-0B11..0B12 ; Cn # [2] <reserved-0B11>..<reserved-0B12>
-0B29 ; Cn # <reserved-0B29>
-0B31 ; Cn # <reserved-0B31>
-0B34 ; Cn # <reserved-0B34>
-0B3A..0B3B ; Cn # [2] <reserved-0B3A>..<reserved-0B3B>
-0B45..0B46 ; Cn # [2] <reserved-0B45>..<reserved-0B46>
-0B49..0B4A ; Cn # [2] <reserved-0B49>..<reserved-0B4A>
-0B4E..0B55 ; Cn # [8] <reserved-0B4E>..<reserved-0B55>
-0B58..0B5B ; Cn # [4] <reserved-0B58>..<reserved-0B5B>
-0B5E ; Cn # <reserved-0B5E>
-0B64..0B65 ; Cn # [2] <reserved-0B64>..<reserved-0B65>
-0B72..0B81 ; Cn # [16] <reserved-0B72>..<reserved-0B81>
-0B84 ; Cn # <reserved-0B84>
-0B8B..0B8D ; Cn # [3] <reserved-0B8B>..<reserved-0B8D>
-0B91 ; Cn # <reserved-0B91>
-0B96..0B98 ; Cn # [3] <reserved-0B96>..<reserved-0B98>
-0B9B ; Cn # <reserved-0B9B>
-0B9D ; Cn # <reserved-0B9D>
-0BA0..0BA2 ; Cn # [3] <reserved-0BA0>..<reserved-0BA2>
-0BA5..0BA7 ; Cn # [3] <reserved-0BA5>..<reserved-0BA7>
-0BAB..0BAD ; Cn # [3] <reserved-0BAB>..<reserved-0BAD>
-0BBA..0BBD ; Cn # [4] <reserved-0BBA>..<reserved-0BBD>
-0BC3..0BC5 ; Cn # [3] <reserved-0BC3>..<reserved-0BC5>
-0BC9 ; Cn # <reserved-0BC9>
-0BCE..0BCF ; Cn # [2] <reserved-0BCE>..<reserved-0BCF>
-0BD1..0BD6 ; Cn # [6] <reserved-0BD1>..<reserved-0BD6>
-0BD8..0BE5 ; Cn # [14] <reserved-0BD8>..<reserved-0BE5>
-0BFB..0C00 ; Cn # [6] <reserved-0BFB>..<reserved-0C00>
-0C04 ; Cn # <reserved-0C04>
-0C0D ; Cn # <reserved-0C0D>
-0C11 ; Cn # <reserved-0C11>
-0C29 ; Cn # <reserved-0C29>
-0C34 ; Cn # <reserved-0C34>
-0C3A..0C3C ; Cn # [3] <reserved-0C3A>..<reserved-0C3C>
-0C45 ; Cn # <reserved-0C45>
-0C49 ; Cn # <reserved-0C49>
-0C4E..0C54 ; Cn # [7] <reserved-0C4E>..<reserved-0C54>
-0C57 ; Cn # <reserved-0C57>
-0C5A..0C5F ; Cn # [6] <reserved-0C5A>..<reserved-0C5F>
-0C64..0C65 ; Cn # [2] <reserved-0C64>..<reserved-0C65>
-0C70..0C77 ; Cn # [8] <reserved-0C70>..<reserved-0C77>
-0C80..0C81 ; Cn # [2] <reserved-0C80>..<reserved-0C81>
-0C84 ; Cn # <reserved-0C84>
-0C8D ; Cn # <reserved-0C8D>
-0C91 ; Cn # <reserved-0C91>
-0CA9 ; Cn # <reserved-0CA9>
-0CB4 ; Cn # <reserved-0CB4>
-0CBA..0CBB ; Cn # [2] <reserved-0CBA>..<reserved-0CBB>
-0CC5 ; Cn # <reserved-0CC5>
-0CC9 ; Cn # <reserved-0CC9>
-0CCE..0CD4 ; Cn # [7] <reserved-0CCE>..<reserved-0CD4>
-0CD7..0CDD ; Cn # [7] <reserved-0CD7>..<reserved-0CDD>
-0CDF ; Cn # <reserved-0CDF>
-0CE4..0CE5 ; Cn # [2] <reserved-0CE4>..<reserved-0CE5>
-0CF0 ; Cn # <reserved-0CF0>
-0CF3..0D01 ; Cn # [15] <reserved-0CF3>..<reserved-0D01>
-0D04 ; Cn # <reserved-0D04>
-0D0D ; Cn # <reserved-0D0D>
-0D11 ; Cn # <reserved-0D11>
-0D29 ; Cn # <reserved-0D29>
-0D3A..0D3C ; Cn # [3] <reserved-0D3A>..<reserved-0D3C>
-0D45 ; Cn # <reserved-0D45>
-0D49 ; Cn # <reserved-0D49>
-0D4E..0D56 ; Cn # [9] <reserved-0D4E>..<reserved-0D56>
-0D58..0D5F ; Cn # [8] <reserved-0D58>..<reserved-0D5F>
-0D64..0D65 ; Cn # [2] <reserved-0D64>..<reserved-0D65>
-0D76..0D78 ; Cn # [3] <reserved-0D76>..<reserved-0D78>
-0D80..0D81 ; Cn # [2] <reserved-0D80>..<reserved-0D81>
-0D84 ; Cn # <reserved-0D84>
-0D97..0D99 ; Cn # [3] <reserved-0D97>..<reserved-0D99>
-0DB2 ; Cn # <reserved-0DB2>
-0DBC ; Cn # <reserved-0DBC>
-0DBE..0DBF ; Cn # [2] <reserved-0DBE>..<reserved-0DBF>
-0DC7..0DC9 ; Cn # [3] <reserved-0DC7>..<reserved-0DC9>
-0DCB..0DCE ; Cn # [4] <reserved-0DCB>..<reserved-0DCE>
-0DD5 ; Cn # <reserved-0DD5>
-0DD7 ; Cn # <reserved-0DD7>
-0DE0..0DF1 ; Cn # [18] <reserved-0DE0>..<reserved-0DF1>
-0DF5..0E00 ; Cn # [12] <reserved-0DF5>..<reserved-0E00>
-0E3B..0E3E ; Cn # [4] <reserved-0E3B>..<reserved-0E3E>
-0E5C..0E80 ; Cn # [37] <reserved-0E5C>..<reserved-0E80>
-0E83 ; Cn # <reserved-0E83>
-0E85..0E86 ; Cn # [2] <reserved-0E85>..<reserved-0E86>
-0E89 ; Cn # <reserved-0E89>
-0E8B..0E8C ; Cn # [2] <reserved-0E8B>..<reserved-0E8C>
-0E8E..0E93 ; Cn # [6] <reserved-0E8E>..<reserved-0E93>
-0E98 ; Cn # <reserved-0E98>
-0EA0 ; Cn # <reserved-0EA0>
-0EA4 ; Cn # <reserved-0EA4>
-0EA6 ; Cn # <reserved-0EA6>
-0EA8..0EA9 ; Cn # [2] <reserved-0EA8>..<reserved-0EA9>
-0EAC ; Cn # <reserved-0EAC>
-0EBA ; Cn # <reserved-0EBA>
-0EBE..0EBF ; Cn # [2] <reserved-0EBE>..<reserved-0EBF>
-0EC5 ; Cn # <reserved-0EC5>
-0EC7 ; Cn # <reserved-0EC7>
-0ECE..0ECF ; Cn # [2] <reserved-0ECE>..<reserved-0ECF>
-0EDA..0EDB ; Cn # [2] <reserved-0EDA>..<reserved-0EDB>
-0EDE..0EFF ; Cn # [34] <reserved-0EDE>..<reserved-0EFF>
-0F48 ; Cn # <reserved-0F48>
-0F6D..0F70 ; Cn # [4] <reserved-0F6D>..<reserved-0F70>
-0F8C..0F8F ; Cn # [4] <reserved-0F8C>..<reserved-0F8F>
-0F98 ; Cn # <reserved-0F98>
-0FBD ; Cn # <reserved-0FBD>
-0FCD ; Cn # <reserved-0FCD>
-0FD9..0FFF ; Cn # [39] <reserved-0FD9>..<reserved-0FFF>
-10C6..10CF ; Cn # [10] <reserved-10C6>..<reserved-10CF>
-10FD..10FF ; Cn # [3] <reserved-10FD>..<reserved-10FF>
-1249 ; Cn # <reserved-1249>
-124E..124F ; Cn # [2] <reserved-124E>..<reserved-124F>
-1257 ; Cn # <reserved-1257>
-1259 ; Cn # <reserved-1259>
-125E..125F ; Cn # [2] <reserved-125E>..<reserved-125F>
-1289 ; Cn # <reserved-1289>
-128E..128F ; Cn # [2] <reserved-128E>..<reserved-128F>
-12B1 ; Cn # <reserved-12B1>
-12B6..12B7 ; Cn # [2] <reserved-12B6>..<reserved-12B7>
-12BF ; Cn # <reserved-12BF>
-12C1 ; Cn # <reserved-12C1>
-12C6..12C7 ; Cn # [2] <reserved-12C6>..<reserved-12C7>
-12D7 ; Cn # <reserved-12D7>
-1311 ; Cn # <reserved-1311>
-1316..1317 ; Cn # [2] <reserved-1316>..<reserved-1317>
-135B..135E ; Cn # [4] <reserved-135B>..<reserved-135E>
-137D..137F ; Cn # [3] <reserved-137D>..<reserved-137F>
-139A..139F ; Cn # [6] <reserved-139A>..<reserved-139F>
-13F5..13FF ; Cn # [11] <reserved-13F5>..<reserved-13FF>
-169D..169F ; Cn # [3] <reserved-169D>..<reserved-169F>
-16F1..16FF ; Cn # [15] <reserved-16F1>..<reserved-16FF>
-170D ; Cn # <reserved-170D>
-1715..171F ; Cn # [11] <reserved-1715>..<reserved-171F>
-1737..173F ; Cn # [9] <reserved-1737>..<reserved-173F>
-1754..175F ; Cn # [12] <reserved-1754>..<reserved-175F>
-176D ; Cn # <reserved-176D>
-1771 ; Cn # <reserved-1771>
-1774..177F ; Cn # [12] <reserved-1774>..<reserved-177F>
-17DE..17DF ; Cn # [2] <reserved-17DE>..<reserved-17DF>
-17EA..17EF ; Cn # [6] <reserved-17EA>..<reserved-17EF>
-17FA..17FF ; Cn # [6] <reserved-17FA>..<reserved-17FF>
-180F ; Cn # <reserved-180F>
-181A..181F ; Cn # [6] <reserved-181A>..<reserved-181F>
-1878..187F ; Cn # [8] <reserved-1878>..<reserved-187F>
-18AB..18AF ; Cn # [5] <reserved-18AB>..<reserved-18AF>
-18F6..18FF ; Cn # [10] <reserved-18F6>..<reserved-18FF>
-191D..191F ; Cn # [3] <reserved-191D>..<reserved-191F>
-192C..192F ; Cn # [4] <reserved-192C>..<reserved-192F>
-193C..193F ; Cn # [4] <reserved-193C>..<reserved-193F>
-1941..1943 ; Cn # [3] <reserved-1941>..<reserved-1943>
-196E..196F ; Cn # [2] <reserved-196E>..<reserved-196F>
-1975..197F ; Cn # [11] <reserved-1975>..<reserved-197F>
-19AC..19AF ; Cn # [4] <reserved-19AC>..<reserved-19AF>
-19CA..19CF ; Cn # [6] <reserved-19CA>..<reserved-19CF>
-19DB..19DD ; Cn # [3] <reserved-19DB>..<reserved-19DD>
-1A1C..1A1D ; Cn # [2] <reserved-1A1C>..<reserved-1A1D>
-1A5F ; Cn # <reserved-1A5F>
-1A7D..1A7E ; Cn # [2] <reserved-1A7D>..<reserved-1A7E>
-1A8A..1A8F ; Cn # [6] <reserved-1A8A>..<reserved-1A8F>
-1A9A..1A9F ; Cn # [6] <reserved-1A9A>..<reserved-1A9F>
-1AAE..1AFF ; Cn # [82] <reserved-1AAE>..<reserved-1AFF>
-1B4C..1B4F ; Cn # [4] <reserved-1B4C>..<reserved-1B4F>
-1B7D..1B7F ; Cn # [3] <reserved-1B7D>..<reserved-1B7F>
-1BAB..1BAD ; Cn # [3] <reserved-1BAB>..<reserved-1BAD>
-1BBA..1BFF ; Cn # [70] <reserved-1BBA>..<reserved-1BFF>
-1C38..1C3A ; Cn # [3] <reserved-1C38>..<reserved-1C3A>
-1C4A..1C4C ; Cn # [3] <reserved-1C4A>..<reserved-1C4C>
-1C80..1CCF ; Cn # [80] <reserved-1C80>..<reserved-1CCF>
-1CF3..1CFF ; Cn # [13] <reserved-1CF3>..<reserved-1CFF>
-1DE7..1DFC ; Cn # [22] <reserved-1DE7>..<reserved-1DFC>
-1F16..1F17 ; Cn # [2] <reserved-1F16>..<reserved-1F17>
-1F1E..1F1F ; Cn # [2] <reserved-1F1E>..<reserved-1F1F>
-1F46..1F47 ; Cn # [2] <reserved-1F46>..<reserved-1F47>
-1F4E..1F4F ; Cn # [2] <reserved-1F4E>..<reserved-1F4F>
-1F58 ; Cn # <reserved-1F58>
-1F5A ; Cn # <reserved-1F5A>
-1F5C ; Cn # <reserved-1F5C>
-1F5E ; Cn # <reserved-1F5E>
-1F7E..1F7F ; Cn # [2] <reserved-1F7E>..<reserved-1F7F>
-1FB5 ; Cn # <reserved-1FB5>
-1FC5 ; Cn # <reserved-1FC5>
-1FD4..1FD5 ; Cn # [2] <reserved-1FD4>..<reserved-1FD5>
-1FDC ; Cn # <reserved-1FDC>
-1FF0..1FF1 ; Cn # [2] <reserved-1FF0>..<reserved-1FF1>
-1FF5 ; Cn # <reserved-1FF5>
-1FFF ; Cn # <reserved-1FFF>
-2065..2069 ; Cn # [5] <reserved-2065>..<reserved-2069>
-2072..2073 ; Cn # [2] <reserved-2072>..<reserved-2073>
-208F ; Cn # <reserved-208F>
-2095..209F ; Cn # [11] <reserved-2095>..<reserved-209F>
-20B9..20CF ; Cn # [23] <reserved-20B9>..<reserved-20CF>
-20F1..20FF ; Cn # [15] <reserved-20F1>..<reserved-20FF>
-218A..218F ; Cn # [6] <reserved-218A>..<reserved-218F>
-23E9..23FF ; Cn # [23] <reserved-23E9>..<reserved-23FF>
-2427..243F ; Cn # [25] <reserved-2427>..<reserved-243F>
-244B..245F ; Cn # [21] <reserved-244B>..<reserved-245F>
-26CE ; Cn # <reserved-26CE>
-26E2 ; Cn # <reserved-26E2>
-26E4..26E7 ; Cn # [4] <reserved-26E4>..<reserved-26E7>
-2700 ; Cn # <reserved-2700>
-2705 ; Cn # <reserved-2705>
-270A..270B ; Cn # [2] <reserved-270A>..<reserved-270B>
-2728 ; Cn # <reserved-2728>
-274C ; Cn # <reserved-274C>
-274E ; Cn # <reserved-274E>
-2753..2755 ; Cn # [3] <reserved-2753>..<reserved-2755>
-275F..2760 ; Cn # [2] <reserved-275F>..<reserved-2760>
-2795..2797 ; Cn # [3] <reserved-2795>..<reserved-2797>
-27B0 ; Cn # <reserved-27B0>
-27BF ; Cn # <reserved-27BF>
-27CB ; Cn # <reserved-27CB>
-27CD..27CF ; Cn # [3] <reserved-27CD>..<reserved-27CF>
-2B4D..2B4F ; Cn # [3] <reserved-2B4D>..<reserved-2B4F>
-2B5A..2BFF ; Cn # [166] <reserved-2B5A>..<reserved-2BFF>
-2C2F ; Cn # <reserved-2C2F>
-2C5F ; Cn # <reserved-2C5F>
-2CF2..2CF8 ; Cn # [7] <reserved-2CF2>..<reserved-2CF8>
-2D26..2D2F ; Cn # [10] <reserved-2D26>..<reserved-2D2F>
-2D66..2D6E ; Cn # [9] <reserved-2D66>..<reserved-2D6E>
-2D70..2D7F ; Cn # [16] <reserved-2D70>..<reserved-2D7F>
-2D97..2D9F ; Cn # [9] <reserved-2D97>..<reserved-2D9F>
-2DA7 ; Cn # <reserved-2DA7>
-2DAF ; Cn # <reserved-2DAF>
-2DB7 ; Cn # <reserved-2DB7>
-2DBF ; Cn # <reserved-2DBF>
-2DC7 ; Cn # <reserved-2DC7>
-2DCF ; Cn # <reserved-2DCF>
-2DD7 ; Cn # <reserved-2DD7>
-2DDF ; Cn # <reserved-2DDF>
-2E32..2E7F ; Cn # [78] <reserved-2E32>..<reserved-2E7F>
-2E9A ; Cn # <reserved-2E9A>
-2EF4..2EFF ; Cn # [12] <reserved-2EF4>..<reserved-2EFF>
-2FD6..2FEF ; Cn # [26] <reserved-2FD6>..<reserved-2FEF>
-2FFC..2FFF ; Cn # [4] <reserved-2FFC>..<reserved-2FFF>
-3040 ; Cn # <reserved-3040>
-3097..3098 ; Cn # [2] <reserved-3097>..<reserved-3098>
-3100..3104 ; Cn # [5] <reserved-3100>..<reserved-3104>
-312E..3130 ; Cn # [3] <reserved-312E>..<reserved-3130>
-318F ; Cn # <reserved-318F>
-31B8..31BF ; Cn # [8] <reserved-31B8>..<reserved-31BF>
-31E4..31EF ; Cn # [12] <reserved-31E4>..<reserved-31EF>
-321F ; Cn # <reserved-321F>
-32FF ; Cn # <reserved-32FF>
-4DB6..4DBF ; Cn # [10] <reserved-4DB6>..<reserved-4DBF>
-9FCC..9FFF ; Cn # [52] <reserved-9FCC>..<reserved-9FFF>
-A48D..A48F ; Cn # [3] <reserved-A48D>..<reserved-A48F>
-A4C7..A4CF ; Cn # [9] <reserved-A4C7>..<reserved-A4CF>
-A62C..A63F ; Cn # [20] <reserved-A62C>..<reserved-A63F>
-A660..A661 ; Cn # [2] <reserved-A660>..<reserved-A661>
-A674..A67B ; Cn # [8] <reserved-A674>..<reserved-A67B>
-A698..A69F ; Cn # [8] <reserved-A698>..<reserved-A69F>
-A6F8..A6FF ; Cn # [8] <reserved-A6F8>..<reserved-A6FF>
-A78D..A7FA ; Cn # [110] <reserved-A78D>..<reserved-A7FA>
-A82C..A82F ; Cn # [4] <reserved-A82C>..<reserved-A82F>
-A83A..A83F ; Cn # [6] <reserved-A83A>..<reserved-A83F>
-A878..A87F ; Cn # [8] <reserved-A878>..<reserved-A87F>
-A8C5..A8CD ; Cn # [9] <reserved-A8C5>..<reserved-A8CD>
-A8DA..A8DF ; Cn # [6] <reserved-A8DA>..<reserved-A8DF>
-A8FC..A8FF ; Cn # [4] <reserved-A8FC>..<reserved-A8FF>
-A954..A95E ; Cn # [11] <reserved-A954>..<reserved-A95E>
-A97D..A97F ; Cn # [3] <reserved-A97D>..<reserved-A97F>
-A9CE ; Cn # <reserved-A9CE>
-A9DA..A9DD ; Cn # [4] <reserved-A9DA>..<reserved-A9DD>
-A9E0..A9FF ; Cn # [32] <reserved-A9E0>..<reserved-A9FF>
-AA37..AA3F ; Cn # [9] <reserved-AA37>..<reserved-AA3F>
-AA4E..AA4F ; Cn # [2] <reserved-AA4E>..<reserved-AA4F>
-AA5A..AA5B ; Cn # [2] <reserved-AA5A>..<reserved-AA5B>
-AA7C..AA7F ; Cn # [4] <reserved-AA7C>..<reserved-AA7F>
-AAC3..AADA ; Cn # [24] <reserved-AAC3>..<reserved-AADA>
-AAE0..ABBF ; Cn # [224] <reserved-AAE0>..<reserved-ABBF>
-ABEE..ABEF ; Cn # [2] <reserved-ABEE>..<reserved-ABEF>
-ABFA..ABFF ; Cn # [6] <reserved-ABFA>..<reserved-ABFF>
-D7A4..D7AF ; Cn # [12] <reserved-D7A4>..<reserved-D7AF>
-D7C7..D7CA ; Cn # [4] <reserved-D7C7>..<reserved-D7CA>
-D7FC..D7FF ; Cn # [4] <reserved-D7FC>..<reserved-D7FF>
-FA2E..FA2F ; Cn # [2] <reserved-FA2E>..<reserved-FA2F>
-FA6E..FA6F ; Cn # [2] <reserved-FA6E>..<reserved-FA6F>
-FADA..FAFF ; Cn # [38] <reserved-FADA>..<reserved-FAFF>
-FB07..FB12 ; Cn # [12] <reserved-FB07>..<reserved-FB12>
-FB18..FB1C ; Cn # [5] <reserved-FB18>..<reserved-FB1C>
-FB37 ; Cn # <reserved-FB37>
-FB3D ; Cn # <reserved-FB3D>
-FB3F ; Cn # <reserved-FB3F>
-FB42 ; Cn # <reserved-FB42>
-FB45 ; Cn # <reserved-FB45>
-FBB2..FBD2 ; Cn # [33] <reserved-FBB2>..<reserved-FBD2>
-FD40..FD4F ; Cn # [16] <reserved-FD40>..<reserved-FD4F>
-FD90..FD91 ; Cn # [2] <reserved-FD90>..<reserved-FD91>
-FDC8..FDEF ; Cn # [40] <reserved-FDC8>..<noncharacter-FDEF>
-FDFE..FDFF ; Cn # [2] <reserved-FDFE>..<reserved-FDFF>
-FE1A..FE1F ; Cn # [6] <reserved-FE1A>..<reserved-FE1F>
-FE27..FE2F ; Cn # [9] <reserved-FE27>..<reserved-FE2F>
-FE53 ; Cn # <reserved-FE53>
-FE67 ; Cn # <reserved-FE67>
-FE6C..FE6F ; Cn # [4] <reserved-FE6C>..<reserved-FE6F>
-FE75 ; Cn # <reserved-FE75>
-FEFD..FEFE ; Cn # [2] <reserved-FEFD>..<reserved-FEFE>
-FF00 ; Cn # <reserved-FF00>
-FFBF..FFC1 ; Cn # [3] <reserved-FFBF>..<reserved-FFC1>
-FFC8..FFC9 ; Cn # [2] <reserved-FFC8>..<reserved-FFC9>
-FFD0..FFD1 ; Cn # [2] <reserved-FFD0>..<reserved-FFD1>
-FFD8..FFD9 ; Cn # [2] <reserved-FFD8>..<reserved-FFD9>
-FFDD..FFDF ; Cn # [3] <reserved-FFDD>..<reserved-FFDF>
-FFE7 ; Cn # <reserved-FFE7>
-FFEF..FFF8 ; Cn # [10] <reserved-FFEF>..<reserved-FFF8>
-FFFE..FFFF ; Cn # [2] <noncharacter-FFFE>..<noncharacter-FFFF>
-1000C ; Cn # <reserved-1000C>
-10027 ; Cn # <reserved-10027>
-1003B ; Cn # <reserved-1003B>
-1003E ; Cn # <reserved-1003E>
-1004E..1004F ; Cn # [2] <reserved-1004E>..<reserved-1004F>
-1005E..1007F ; Cn # [34] <reserved-1005E>..<reserved-1007F>
-100FB..100FF ; Cn # [5] <reserved-100FB>..<reserved-100FF>
-10103..10106 ; Cn # [4] <reserved-10103>..<reserved-10106>
-10134..10136 ; Cn # [3] <reserved-10134>..<reserved-10136>
-1018B..1018F ; Cn # [5] <reserved-1018B>..<reserved-1018F>
-1019C..101CF ; Cn # [52] <reserved-1019C>..<reserved-101CF>
-101FE..1027F ; Cn # [130] <reserved-101FE>..<reserved-1027F>
-1029D..1029F ; Cn # [3] <reserved-1029D>..<reserved-1029F>
-102D1..102FF ; Cn # [47] <reserved-102D1>..<reserved-102FF>
-1031F ; Cn # <reserved-1031F>
-10324..1032F ; Cn # [12] <reserved-10324>..<reserved-1032F>
-1034B..1037F ; Cn # [53] <reserved-1034B>..<reserved-1037F>
-1039E ; Cn # <reserved-1039E>
-103C4..103C7 ; Cn # [4] <reserved-103C4>..<reserved-103C7>
-103D6..103FF ; Cn # [42] <reserved-103D6>..<reserved-103FF>
-1049E..1049F ; Cn # [2] <reserved-1049E>..<reserved-1049F>
-104AA..107FF ; Cn # [854] <reserved-104AA>..<reserved-107FF>
-10806..10807 ; Cn # [2] <reserved-10806>..<reserved-10807>
-10809 ; Cn # <reserved-10809>
-10836 ; Cn # <reserved-10836>
-10839..1083B ; Cn # [3] <reserved-10839>..<reserved-1083B>
-1083D..1083E ; Cn # [2] <reserved-1083D>..<reserved-1083E>
-10856 ; Cn # <reserved-10856>
-10860..108FF ; Cn # [160] <reserved-10860>..<reserved-108FF>
-1091C..1091E ; Cn # [3] <reserved-1091C>..<reserved-1091E>
-1093A..1093E ; Cn # [5] <reserved-1093A>..<reserved-1093E>
-10940..109FF ; Cn # [192] <reserved-10940>..<reserved-109FF>
-10A04 ; Cn # <reserved-10A04>
-10A07..10A0B ; Cn # [5] <reserved-10A07>..<reserved-10A0B>
-10A14 ; Cn # <reserved-10A14>
-10A18 ; Cn # <reserved-10A18>
-10A34..10A37 ; Cn # [4] <reserved-10A34>..<reserved-10A37>
-10A3B..10A3E ; Cn # [4] <reserved-10A3B>..<reserved-10A3E>
-10A48..10A4F ; Cn # [8] <reserved-10A48>..<reserved-10A4F>
-10A59..10A5F ; Cn # [7] <reserved-10A59>..<reserved-10A5F>
-10A80..10AFF ; Cn # [128] <reserved-10A80>..<reserved-10AFF>
-10B36..10B38 ; Cn # [3] <reserved-10B36>..<reserved-10B38>
-10B56..10B57 ; Cn # [2] <reserved-10B56>..<reserved-10B57>
-10B73..10B77 ; Cn # [5] <reserved-10B73>..<reserved-10B77>
-10B80..10BFF ; Cn # [128] <reserved-10B80>..<reserved-10BFF>
-10C49..10E5F ; Cn # [535] <reserved-10C49>..<reserved-10E5F>
-10E7F..1107F ; Cn # [513] <reserved-10E7F>..<reserved-1107F>
-110C2..11FFF ; Cn # [3902] <reserved-110C2>..<reserved-11FFF>
-1236F..123FF ; Cn # [145] <reserved-1236F>..<reserved-123FF>
-12463..1246F ; Cn # [13] <reserved-12463>..<reserved-1246F>
-12474..12FFF ; Cn # [2956] <reserved-12474>..<reserved-12FFF>
-1342F..1CFFF ; Cn # [39889] <reserved-1342F>..<reserved-1CFFF>
-1D0F6..1D0FF ; Cn # [10] <reserved-1D0F6>..<reserved-1D0FF>
-1D127..1D128 ; Cn # [2] <reserved-1D127>..<reserved-1D128>
-1D1DE..1D1FF ; Cn # [34] <reserved-1D1DE>..<reserved-1D1FF>
-1D246..1D2FF ; Cn # [186] <reserved-1D246>..<reserved-1D2FF>
-1D357..1D35F ; Cn # [9] <reserved-1D357>..<reserved-1D35F>
-1D372..1D3FF ; Cn # [142] <reserved-1D372>..<reserved-1D3FF>
-1D455 ; Cn # <reserved-1D455>
-1D49D ; Cn # <reserved-1D49D>
-1D4A0..1D4A1 ; Cn # [2] <reserved-1D4A0>..<reserved-1D4A1>
-1D4A3..1D4A4 ; Cn # [2] <reserved-1D4A3>..<reserved-1D4A4>
-1D4A7..1D4A8 ; Cn # [2] <reserved-1D4A7>..<reserved-1D4A8>
-1D4AD ; Cn # <reserved-1D4AD>
-1D4BA ; Cn # <reserved-1D4BA>
-1D4BC ; Cn # <reserved-1D4BC>
-1D4C4 ; Cn # <reserved-1D4C4>
-1D506 ; Cn # <reserved-1D506>
-1D50B..1D50C ; Cn # [2] <reserved-1D50B>..<reserved-1D50C>
-1D515 ; Cn # <reserved-1D515>
-1D51D ; Cn # <reserved-1D51D>
-1D53A ; Cn # <reserved-1D53A>
-1D53F ; Cn # <reserved-1D53F>
-1D545 ; Cn # <reserved-1D545>
-1D547..1D549 ; Cn # [3] <reserved-1D547>..<reserved-1D549>
-1D551 ; Cn # <reserved-1D551>
-1D6A6..1D6A7 ; Cn # [2] <reserved-1D6A6>..<reserved-1D6A7>
-1D7CC..1D7CD ; Cn # [2] <reserved-1D7CC>..<reserved-1D7CD>
-1D800..1EFFF ; Cn # [6144] <reserved-1D800>..<reserved-1EFFF>
-1F02C..1F02F ; Cn # [4] <reserved-1F02C>..<reserved-1F02F>
-1F094..1F0FF ; Cn # [108] <reserved-1F094>..<reserved-1F0FF>
-1F10B..1F10F ; Cn # [5] <reserved-1F10B>..<reserved-1F10F>
-1F12F..1F130 ; Cn # [2] <reserved-1F12F>..<reserved-1F130>
-1F132..1F13C ; Cn # [11] <reserved-1F132>..<reserved-1F13C>
-1F13E ; Cn # <reserved-1F13E>
-1F140..1F141 ; Cn # [2] <reserved-1F140>..<reserved-1F141>
-1F143..1F145 ; Cn # [3] <reserved-1F143>..<reserved-1F145>
-1F147..1F149 ; Cn # [3] <reserved-1F147>..<reserved-1F149>
-1F14F..1F156 ; Cn # [8] <reserved-1F14F>..<reserved-1F156>
-1F158..1F15E ; Cn # [7] <reserved-1F158>..<reserved-1F15E>
-1F160..1F178 ; Cn # [25] <reserved-1F160>..<reserved-1F178>
-1F17A ; Cn # <reserved-1F17A>
-1F17D..1F17E ; Cn # [2] <reserved-1F17D>..<reserved-1F17E>
-1F180..1F189 ; Cn # [10] <reserved-1F180>..<reserved-1F189>
-1F18E..1F18F ; Cn # [2] <reserved-1F18E>..<reserved-1F18F>
-1F191..1F1FF ; Cn # [111] <reserved-1F191>..<reserved-1F1FF>
-1F201..1F20F ; Cn # [15] <reserved-1F201>..<reserved-1F20F>
-1F232..1F23F ; Cn # [14] <reserved-1F232>..<reserved-1F23F>
-1F249..1FFFF ; Cn # [3511] <reserved-1F249>..<noncharacter-1FFFF>
-2A6D7..2A6FF ; Cn # [41] <reserved-2A6D7>..<reserved-2A6FF>
-2B735..2F7FF ; Cn # [16587] <reserved-2B735>..<reserved-2F7FF>
-2FA1E..E0000 ; Cn # [722403] <reserved-2FA1E>..<reserved-E0000>
-E0002..E001F ; Cn # [30] <reserved-E0002>..<reserved-E001F>
-E0080..E00FF ; Cn # [128] <reserved-E0080>..<reserved-E00FF>
-E01F0..EFFFF ; Cn # [65040] <reserved-E01F0>..<noncharacter-EFFFF>
-FFFFE..FFFFF ; Cn # [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
-10FFFE..10FFFF; Cn # [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
-
-# Total code points: 867235
-
-# ================================================
-
-# General_Category=Uppercase_Letter
-
-0041..005A ; Lu # [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-00C0..00D6 ; Lu # [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00DE ; Lu # [7] LATIN CAPITAL LETTER O WITH STROKE..LATIN CAPITAL LETTER THORN
-0100 ; Lu # LATIN CAPITAL LETTER A WITH MACRON
-0102 ; Lu # LATIN CAPITAL LETTER A WITH BREVE
-0104 ; Lu # LATIN CAPITAL LETTER A WITH OGONEK
-0106 ; Lu # LATIN CAPITAL LETTER C WITH ACUTE
-0108 ; Lu # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010A ; Lu # LATIN CAPITAL LETTER C WITH DOT ABOVE
-010C ; Lu # LATIN CAPITAL LETTER C WITH CARON
-010E ; Lu # LATIN CAPITAL LETTER D WITH CARON
-0110 ; Lu # LATIN CAPITAL LETTER D WITH STROKE
-0112 ; Lu # LATIN CAPITAL LETTER E WITH MACRON
-0114 ; Lu # LATIN CAPITAL LETTER E WITH BREVE
-0116 ; Lu # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0118 ; Lu # LATIN CAPITAL LETTER E WITH OGONEK
-011A ; Lu # LATIN CAPITAL LETTER E WITH CARON
-011C ; Lu # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-011E ; Lu # LATIN CAPITAL LETTER G WITH BREVE
-0120 ; Lu # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0122 ; Lu # LATIN CAPITAL LETTER G WITH CEDILLA
-0124 ; Lu # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0126 ; Lu # LATIN CAPITAL LETTER H WITH STROKE
-0128 ; Lu # LATIN CAPITAL LETTER I WITH TILDE
-012A ; Lu # LATIN CAPITAL LETTER I WITH MACRON
-012C ; Lu # LATIN CAPITAL LETTER I WITH BREVE
-012E ; Lu # LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; Lu # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0132 ; Lu # LATIN CAPITAL LIGATURE IJ
-0134 ; Lu # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0136 ; Lu # LATIN CAPITAL LETTER K WITH CEDILLA
-0139 ; Lu # LATIN CAPITAL LETTER L WITH ACUTE
-013B ; Lu # LATIN CAPITAL LETTER L WITH CEDILLA
-013D ; Lu # LATIN CAPITAL LETTER L WITH CARON
-013F ; Lu # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-0141 ; Lu # LATIN CAPITAL LETTER L WITH STROKE
-0143 ; Lu # LATIN CAPITAL LETTER N WITH ACUTE
-0145 ; Lu # LATIN CAPITAL LETTER N WITH CEDILLA
-0147 ; Lu # LATIN CAPITAL LETTER N WITH CARON
-014A ; Lu # LATIN CAPITAL LETTER ENG
-014C ; Lu # LATIN CAPITAL LETTER O WITH MACRON
-014E ; Lu # LATIN CAPITAL LETTER O WITH BREVE
-0150 ; Lu # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0152 ; Lu # LATIN CAPITAL LIGATURE OE
-0154 ; Lu # LATIN CAPITAL LETTER R WITH ACUTE
-0156 ; Lu # LATIN CAPITAL LETTER R WITH CEDILLA
-0158 ; Lu # LATIN CAPITAL LETTER R WITH CARON
-015A ; Lu # LATIN CAPITAL LETTER S WITH ACUTE
-015C ; Lu # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-015E ; Lu # LATIN CAPITAL LETTER S WITH CEDILLA
-0160 ; Lu # LATIN CAPITAL LETTER S WITH CARON
-0162 ; Lu # LATIN CAPITAL LETTER T WITH CEDILLA
-0164 ; Lu # LATIN CAPITAL LETTER T WITH CARON
-0166 ; Lu # LATIN CAPITAL LETTER T WITH STROKE
-0168 ; Lu # LATIN CAPITAL LETTER U WITH TILDE
-016A ; Lu # LATIN CAPITAL LETTER U WITH MACRON
-016C ; Lu # LATIN CAPITAL LETTER U WITH BREVE
-016E ; Lu # LATIN CAPITAL LETTER U WITH RING ABOVE
-0170 ; Lu # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0172 ; Lu # LATIN CAPITAL LETTER U WITH OGONEK
-0174 ; Lu # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0176 ; Lu # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0178..0179 ; Lu # [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
-017B ; Lu # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-017D ; Lu # LATIN CAPITAL LETTER Z WITH CARON
-0181..0182 ; Lu # [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
-0184 ; Lu # LATIN CAPITAL LETTER TONE SIX
-0186..0187 ; Lu # [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
-0189..018B ; Lu # [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
-018E..0191 ; Lu # [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
-0193..0194 ; Lu # [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
-0196..0198 ; Lu # [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
-019C..019D ; Lu # [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
-019F..01A0 ; Lu # [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
-01A2 ; Lu # LATIN CAPITAL LETTER OI
-01A4 ; Lu # LATIN CAPITAL LETTER P WITH HOOK
-01A6..01A7 ; Lu # [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
-01A9 ; Lu # LATIN CAPITAL LETTER ESH
-01AC ; Lu # LATIN CAPITAL LETTER T WITH HOOK
-01AE..01AF ; Lu # [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
-01B1..01B3 ; Lu # [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
-01B5 ; Lu # LATIN CAPITAL LETTER Z WITH STROKE
-01B7..01B8 ; Lu # [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
-01BC ; Lu # LATIN CAPITAL LETTER TONE FIVE
-01C4 ; Lu # LATIN CAPITAL LETTER DZ WITH CARON
-01C7 ; Lu # LATIN CAPITAL LETTER LJ
-01CA ; Lu # LATIN CAPITAL LETTER NJ
-01CD ; Lu # LATIN CAPITAL LETTER A WITH CARON
-01CF ; Lu # LATIN CAPITAL LETTER I WITH CARON
-01D1 ; Lu # LATIN CAPITAL LETTER O WITH CARON
-01D3 ; Lu # LATIN CAPITAL LETTER U WITH CARON
-01D5 ; Lu # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01D7 ; Lu # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D9 ; Lu # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01DB ; Lu # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DE ; Lu # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-01E0 ; Lu # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-01E2 ; Lu # LATIN CAPITAL LETTER AE WITH MACRON
-01E4 ; Lu # LATIN CAPITAL LETTER G WITH STROKE
-01E6 ; Lu # LATIN CAPITAL LETTER G WITH CARON
-01E8 ; Lu # LATIN CAPITAL LETTER K WITH CARON
-01EA ; Lu # LATIN CAPITAL LETTER O WITH OGONEK
-01EC ; Lu # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-01EE ; Lu # LATIN CAPITAL LETTER EZH WITH CARON
-01F1 ; Lu # LATIN CAPITAL LETTER DZ
-01F4 ; Lu # LATIN CAPITAL LETTER G WITH ACUTE
-01F6..01F8 ; Lu # [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
-01FA ; Lu # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-01FC ; Lu # LATIN CAPITAL LETTER AE WITH ACUTE
-01FE ; Lu # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0200 ; Lu # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0202 ; Lu # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0204 ; Lu # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0206 ; Lu # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0208 ; Lu # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020A ; Lu # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-020C ; Lu # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020E ; Lu # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0210 ; Lu # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0212 ; Lu # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0214 ; Lu # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0216 ; Lu # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0218 ; Lu # LATIN CAPITAL LETTER S WITH COMMA BELOW
-021A ; Lu # LATIN CAPITAL LETTER T WITH COMMA BELOW
-021C ; Lu # LATIN CAPITAL LETTER YOGH
-021E ; Lu # LATIN CAPITAL LETTER H WITH CARON
-0220 ; Lu # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-0222 ; Lu # LATIN CAPITAL LETTER OU
-0224 ; Lu # LATIN CAPITAL LETTER Z WITH HOOK
-0226 ; Lu # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0228 ; Lu # LATIN CAPITAL LETTER E WITH CEDILLA
-022A ; Lu # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-022C ; Lu # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022E ; Lu # LATIN CAPITAL LETTER O WITH DOT ABOVE
-0230 ; Lu # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-0232 ; Lu # LATIN CAPITAL LETTER Y WITH MACRON
-023A..023B ; Lu # [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
-023D..023E ; Lu # [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-0241 ; Lu # LATIN CAPITAL LETTER GLOTTAL STOP
-0243..0246 ; Lu # [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
-0248 ; Lu # LATIN CAPITAL LETTER J WITH STROKE
-024A ; Lu # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-024C ; Lu # LATIN CAPITAL LETTER R WITH STROKE
-024E ; Lu # LATIN CAPITAL LETTER Y WITH STROKE
-0370 ; Lu # GREEK CAPITAL LETTER HETA
-0372 ; Lu # GREEK CAPITAL LETTER ARCHAIC SAMPI
-0376 ; Lu # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-0386 ; Lu # GREEK CAPITAL LETTER ALPHA WITH TONOS
-0388..038A ; Lu # [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; Lu # GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..038F ; Lu # [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
-0391..03A1 ; Lu # [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
-03A3..03AB ; Lu # [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03CF ; Lu # GREEK CAPITAL KAI SYMBOL
-03D2..03D4 ; Lu # [3] GREEK UPSILON WITH HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03D8 ; Lu # GREEK LETTER ARCHAIC KOPPA
-03DA ; Lu # GREEK LETTER STIGMA
-03DC ; Lu # GREEK LETTER DIGAMMA
-03DE ; Lu # GREEK LETTER KOPPA
-03E0 ; Lu # GREEK LETTER SAMPI
-03E2 ; Lu # COPTIC CAPITAL LETTER SHEI
-03E4 ; Lu # COPTIC CAPITAL LETTER FEI
-03E6 ; Lu # COPTIC CAPITAL LETTER KHEI
-03E8 ; Lu # COPTIC CAPITAL LETTER HORI
-03EA ; Lu # COPTIC CAPITAL LETTER GANGIA
-03EC ; Lu # COPTIC CAPITAL LETTER SHIMA
-03EE ; Lu # COPTIC CAPITAL LETTER DEI
-03F4 ; Lu # GREEK CAPITAL THETA SYMBOL
-03F7 ; Lu # GREEK CAPITAL LETTER SHO
-03F9..03FA ; Lu # [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
-03FD..042F ; Lu # [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
-0460 ; Lu # CYRILLIC CAPITAL LETTER OMEGA
-0462 ; Lu # CYRILLIC CAPITAL LETTER YAT
-0464 ; Lu # CYRILLIC CAPITAL LETTER IOTIFIED E
-0466 ; Lu # CYRILLIC CAPITAL LETTER LITTLE YUS
-0468 ; Lu # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-046A ; Lu # CYRILLIC CAPITAL LETTER BIG YUS
-046C ; Lu # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046E ; Lu # CYRILLIC CAPITAL LETTER KSI
-0470 ; Lu # CYRILLIC CAPITAL LETTER PSI
-0472 ; Lu # CYRILLIC CAPITAL LETTER FITA
-0474 ; Lu # CYRILLIC CAPITAL LETTER IZHITSA
-0476 ; Lu # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0478 ; Lu # CYRILLIC CAPITAL LETTER UK
-047A ; Lu # CYRILLIC CAPITAL LETTER ROUND OMEGA
-047C ; Lu # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047E ; Lu # CYRILLIC CAPITAL LETTER OT
-0480 ; Lu # CYRILLIC CAPITAL LETTER KOPPA
-048A ; Lu # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-048C ; Lu # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-048E ; Lu # CYRILLIC CAPITAL LETTER ER WITH TICK
-0490 ; Lu # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0492 ; Lu # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-0494 ; Lu # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-0496 ; Lu # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0498 ; Lu # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-049A ; Lu # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-049C ; Lu # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-049E ; Lu # CYRILLIC CAPITAL LETTER KA WITH STROKE
-04A0 ; Lu # CYRILLIC CAPITAL LETTER BASHKIR KA
-04A2 ; Lu # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04A4 ; Lu # CYRILLIC CAPITAL LIGATURE EN GHE
-04A6 ; Lu # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-04A8 ; Lu # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-04AA ; Lu # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-04AC ; Lu # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-04AE ; Lu # CYRILLIC CAPITAL LETTER STRAIGHT U
-04B0 ; Lu # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-04B2 ; Lu # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04B4 ; Lu # CYRILLIC CAPITAL LIGATURE TE TSE
-04B6 ; Lu # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04B8 ; Lu # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-04BA ; Lu # CYRILLIC CAPITAL LETTER SHHA
-04BC ; Lu # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BE ; Lu # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-04C0..04C1 ; Lu # [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04C3 ; Lu # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04C5 ; Lu # CYRILLIC CAPITAL LETTER EL WITH TAIL
-04C7 ; Lu # CYRILLIC CAPITAL LETTER EN WITH HOOK
-04C9 ; Lu # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04CB ; Lu # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04CD ; Lu # CYRILLIC CAPITAL LETTER EM WITH TAIL
-04D0 ; Lu # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D2 ; Lu # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D4 ; Lu # CYRILLIC CAPITAL LIGATURE A IE
-04D6 ; Lu # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04D8 ; Lu # CYRILLIC CAPITAL LETTER SCHWA
-04DA ; Lu # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04DC ; Lu # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DE ; Lu # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E0 ; Lu # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-04E2 ; Lu # CYRILLIC CAPITAL LETTER I WITH MACRON
-04E4 ; Lu # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E6 ; Lu # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E8 ; Lu # CYRILLIC CAPITAL LETTER BARRED O
-04EA ; Lu # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04EC ; Lu # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-04EE ; Lu # CYRILLIC CAPITAL LETTER U WITH MACRON
-04F0 ; Lu # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F2 ; Lu # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F4 ; Lu # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F6 ; Lu # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-04F8 ; Lu # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04FA ; Lu # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-04FC ; Lu # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FE ; Lu # CYRILLIC CAPITAL LETTER HA WITH STROKE
-0500 ; Lu # CYRILLIC CAPITAL LETTER KOMI DE
-0502 ; Lu # CYRILLIC CAPITAL LETTER KOMI DJE
-0504 ; Lu # CYRILLIC CAPITAL LETTER KOMI ZJE
-0506 ; Lu # CYRILLIC CAPITAL LETTER KOMI DZJE
-0508 ; Lu # CYRILLIC CAPITAL LETTER KOMI LJE
-050A ; Lu # CYRILLIC CAPITAL LETTER KOMI NJE
-050C ; Lu # CYRILLIC CAPITAL LETTER KOMI SJE
-050E ; Lu # CYRILLIC CAPITAL LETTER KOMI TJE
-0510 ; Lu # CYRILLIC CAPITAL LETTER REVERSED ZE
-0512 ; Lu # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0514 ; Lu # CYRILLIC CAPITAL LETTER LHA
-0516 ; Lu # CYRILLIC CAPITAL LETTER RHA
-0518 ; Lu # CYRILLIC CAPITAL LETTER YAE
-051A ; Lu # CYRILLIC CAPITAL LETTER QA
-051C ; Lu # CYRILLIC CAPITAL LETTER WE
-051E ; Lu # CYRILLIC CAPITAL LETTER ALEUT KA
-0520 ; Lu # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0522 ; Lu # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-0524 ; Lu # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-0531..0556 ; Lu # [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-10A0..10C5 ; Lu # [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-1E00 ; Lu # LATIN CAPITAL LETTER A WITH RING BELOW
-1E02 ; Lu # LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E04 ; Lu # LATIN CAPITAL LETTER B WITH DOT BELOW
-1E06 ; Lu # LATIN CAPITAL LETTER B WITH LINE BELOW
-1E08 ; Lu # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-1E0A ; Lu # LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E0C ; Lu # LATIN CAPITAL LETTER D WITH DOT BELOW
-1E0E ; Lu # LATIN CAPITAL LETTER D WITH LINE BELOW
-1E10 ; Lu # LATIN CAPITAL LETTER D WITH CEDILLA
-1E12 ; Lu # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E14 ; Lu # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1E16 ; Lu # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E18 ; Lu # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1A ; Lu # LATIN CAPITAL LETTER E WITH TILDE BELOW
-1E1C ; Lu # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-1E1E ; Lu # LATIN CAPITAL LETTER F WITH DOT ABOVE
-1E20 ; Lu # LATIN CAPITAL LETTER G WITH MACRON
-1E22 ; Lu # LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E24 ; Lu # LATIN CAPITAL LETTER H WITH DOT BELOW
-1E26 ; Lu # LATIN CAPITAL LETTER H WITH DIAERESIS
-1E28 ; Lu # LATIN CAPITAL LETTER H WITH CEDILLA
-1E2A ; Lu # LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E2C ; Lu # LATIN CAPITAL LETTER I WITH TILDE BELOW
-1E2E ; Lu # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-1E30 ; Lu # LATIN CAPITAL LETTER K WITH ACUTE
-1E32 ; Lu # LATIN CAPITAL LETTER K WITH DOT BELOW
-1E34 ; Lu # LATIN CAPITAL LETTER K WITH LINE BELOW
-1E36 ; Lu # LATIN CAPITAL LETTER L WITH DOT BELOW
-1E38 ; Lu # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3A ; Lu # LATIN CAPITAL LETTER L WITH LINE BELOW
-1E3C ; Lu # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3E ; Lu # LATIN CAPITAL LETTER M WITH ACUTE
-1E40 ; Lu # LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E42 ; Lu # LATIN CAPITAL LETTER M WITH DOT BELOW
-1E44 ; Lu # LATIN CAPITAL LETTER N WITH DOT ABOVE
-1E46 ; Lu # LATIN CAPITAL LETTER N WITH DOT BELOW
-1E48 ; Lu # LATIN CAPITAL LETTER N WITH LINE BELOW
-1E4A ; Lu # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E4C ; Lu # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4E ; Lu # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1E50 ; Lu # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1E52 ; Lu # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E54 ; Lu # LATIN CAPITAL LETTER P WITH ACUTE
-1E56 ; Lu # LATIN CAPITAL LETTER P WITH DOT ABOVE
-1E58 ; Lu # LATIN CAPITAL LETTER R WITH DOT ABOVE
-1E5A ; Lu # LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5C ; Lu # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5E ; Lu # LATIN CAPITAL LETTER R WITH LINE BELOW
-1E60 ; Lu # LATIN CAPITAL LETTER S WITH DOT ABOVE
-1E62 ; Lu # LATIN CAPITAL LETTER S WITH DOT BELOW
-1E64 ; Lu # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-1E66 ; Lu # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E68 ; Lu # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6A ; Lu # LATIN CAPITAL LETTER T WITH DOT ABOVE
-1E6C ; Lu # LATIN CAPITAL LETTER T WITH DOT BELOW
-1E6E ; Lu # LATIN CAPITAL LETTER T WITH LINE BELOW
-1E70 ; Lu # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E72 ; Lu # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E74 ; Lu # LATIN CAPITAL LETTER U WITH TILDE BELOW
-1E76 ; Lu # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E78 ; Lu # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-1E7A ; Lu # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1E7C ; Lu # LATIN CAPITAL LETTER V WITH TILDE
-1E7E ; Lu # LATIN CAPITAL LETTER V WITH DOT BELOW
-1E80 ; Lu # LATIN CAPITAL LETTER W WITH GRAVE
-1E82 ; Lu # LATIN CAPITAL LETTER W WITH ACUTE
-1E84 ; Lu # LATIN CAPITAL LETTER W WITH DIAERESIS
-1E86 ; Lu # LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E88 ; Lu # LATIN CAPITAL LETTER W WITH DOT BELOW
-1E8A ; Lu # LATIN CAPITAL LETTER X WITH DOT ABOVE
-1E8C ; Lu # LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8E ; Lu # LATIN CAPITAL LETTER Y WITH DOT ABOVE
-1E90 ; Lu # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-1E92 ; Lu # LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E94 ; Lu # LATIN CAPITAL LETTER Z WITH LINE BELOW
-1E9E ; Lu # LATIN CAPITAL LETTER SHARP S
-1EA0 ; Lu # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EA2 ; Lu # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EA4 ; Lu # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA6 ; Lu # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA8 ; Lu # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAA ; Lu # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAC ; Lu # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAE ; Lu # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB0 ; Lu # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB2 ; Lu # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB4 ; Lu # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB6 ; Lu # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EB8 ; Lu # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EBA ; Lu # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EBC ; Lu # LATIN CAPITAL LETTER E WITH TILDE
-1EBE ; Lu # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC0 ; Lu # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC2 ; Lu # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC4 ; Lu # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC6 ; Lu # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC8 ; Lu # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECA ; Lu # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECC ; Lu # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ECE ; Lu # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1ED0 ; Lu # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED2 ; Lu # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED4 ; Lu # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED6 ; Lu # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED8 ; Lu # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDA ; Lu # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDC ; Lu # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDE ; Lu # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE0 ; Lu # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EE2 ; Lu # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1EE4 ; Lu # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EE6 ; Lu # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EE8 ; Lu # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEA ; Lu # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEC ; Lu # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EEE ; Lu # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EF0 ; Lu # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EF2 ; Lu # LATIN CAPITAL LETTER Y WITH GRAVE
-1EF4 ; Lu # LATIN CAPITAL LETTER Y WITH DOT BELOW
-1EF6 ; Lu # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF8 ; Lu # LATIN CAPITAL LETTER Y WITH TILDE
-1EFA ; Lu # LATIN CAPITAL LETTER MIDDLE-WELSH LL
-1EFC ; Lu # LATIN CAPITAL LETTER MIDDLE-WELSH V
-1EFE ; Lu # LATIN CAPITAL LETTER Y WITH LOOP
-1F08..1F0F ; Lu # [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F18..1F1D ; Lu # [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F28..1F2F ; Lu # [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F38..1F3F ; Lu # [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F48..1F4D ; Lu # [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F59 ; Lu # GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; Lu # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; Lu # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F ; Lu # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F68..1F6F ; Lu # [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1FB8..1FBB ; Lu # [4] GREEK CAPITAL LETTER ALPHA WITH VRACHY..GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FC8..1FCB ; Lu # [4] GREEK CAPITAL LETTER EPSILON WITH VARIA..GREEK CAPITAL LETTER ETA WITH OXIA
-1FD8..1FDB ; Lu # [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FE8..1FEC ; Lu # [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FF8..1FFB ; Lu # [4] GREEK CAPITAL LETTER OMICRON WITH VARIA..GREEK CAPITAL LETTER OMEGA WITH OXIA
-2102 ; Lu # DOUBLE-STRUCK CAPITAL C
-2107 ; Lu # EULER CONSTANT
-210B..210D ; Lu # [3] SCRIPT CAPITAL H..DOUBLE-STRUCK CAPITAL H
-2110..2112 ; Lu # [3] SCRIPT CAPITAL I..SCRIPT CAPITAL L
-2115 ; Lu # DOUBLE-STRUCK CAPITAL N
-2119..211D ; Lu # [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-2124 ; Lu # DOUBLE-STRUCK CAPITAL Z
-2126 ; Lu # OHM SIGN
-2128 ; Lu # BLACK-LETTER CAPITAL Z
-212A..212D ; Lu # [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
-2130..2133 ; Lu # [4] SCRIPT CAPITAL E..SCRIPT CAPITAL M
-213E..213F ; Lu # [2] DOUBLE-STRUCK CAPITAL GAMMA..DOUBLE-STRUCK CAPITAL PI
-2145 ; Lu # DOUBLE-STRUCK ITALIC CAPITAL D
-2183 ; Lu # ROMAN NUMERAL REVERSED ONE HUNDRED
-2C00..2C2E ; Lu # [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C60 ; Lu # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-2C62..2C64 ; Lu # [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
-2C67 ; Lu # LATIN CAPITAL LETTER H WITH DESCENDER
-2C69 ; Lu # LATIN CAPITAL LETTER K WITH DESCENDER
-2C6B ; Lu # LATIN CAPITAL LETTER Z WITH DESCENDER
-2C6D..2C70 ; Lu # [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
-2C72 ; Lu # LATIN CAPITAL LETTER W WITH HOOK
-2C75 ; Lu # LATIN CAPITAL LETTER HALF H
-2C7E..2C80 ; Lu # [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
-2C82 ; Lu # COPTIC CAPITAL LETTER VIDA
-2C84 ; Lu # COPTIC CAPITAL LETTER GAMMA
-2C86 ; Lu # COPTIC CAPITAL LETTER DALDA
-2C88 ; Lu # COPTIC CAPITAL LETTER EIE
-2C8A ; Lu # COPTIC CAPITAL LETTER SOU
-2C8C ; Lu # COPTIC CAPITAL LETTER ZATA
-2C8E ; Lu # COPTIC CAPITAL LETTER HATE
-2C90 ; Lu # COPTIC CAPITAL LETTER THETHE
-2C92 ; Lu # COPTIC CAPITAL LETTER IAUDA
-2C94 ; Lu # COPTIC CAPITAL LETTER KAPA
-2C96 ; Lu # COPTIC CAPITAL LETTER LAULA
-2C98 ; Lu # COPTIC CAPITAL LETTER MI
-2C9A ; Lu # COPTIC CAPITAL LETTER NI
-2C9C ; Lu # COPTIC CAPITAL LETTER KSI
-2C9E ; Lu # COPTIC CAPITAL LETTER O
-2CA0 ; Lu # COPTIC CAPITAL LETTER PI
-2CA2 ; Lu # COPTIC CAPITAL LETTER RO
-2CA4 ; Lu # COPTIC CAPITAL LETTER SIMA
-2CA6 ; Lu # COPTIC CAPITAL LETTER TAU
-2CA8 ; Lu # COPTIC CAPITAL LETTER UA
-2CAA ; Lu # COPTIC CAPITAL LETTER FI
-2CAC ; Lu # COPTIC CAPITAL LETTER KHI
-2CAE ; Lu # COPTIC CAPITAL LETTER PSI
-2CB0 ; Lu # COPTIC CAPITAL LETTER OOU
-2CB2 ; Lu # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB4 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CB6 ; Lu # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2CB8 ; Lu # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2CBA ; Lu # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBC ; Lu # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2CBE ; Lu # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC0 ; Lu # COPTIC CAPITAL LETTER SAMPI
-2CC2 ; Lu # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC4 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC6 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC ESH
-2CC8 ; Lu # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-2CCA ; Lu # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCC ; Lu # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCE ; Lu # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD0 ; Lu # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD2 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD4 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC HAT
-2CD6 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-2CD8 ; Lu # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDA ; Lu # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDC ; Lu # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-2CDE ; Lu # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE0 ; Lu # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE2 ; Lu # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-2CEB ; Lu # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CED ; Lu # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-A640 ; Lu # CYRILLIC CAPITAL LETTER ZEMLYA
-A642 ; Lu # CYRILLIC CAPITAL LETTER DZELO
-A644 ; Lu # CYRILLIC CAPITAL LETTER REVERSED DZE
-A646 ; Lu # CYRILLIC CAPITAL LETTER IOTA
-A648 ; Lu # CYRILLIC CAPITAL LETTER DJERV
-A64A ; Lu # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-A64C ; Lu # CYRILLIC CAPITAL LETTER BROAD OMEGA
-A64E ; Lu # CYRILLIC CAPITAL LETTER NEUTRAL YER
-A650 ; Lu # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-A652 ; Lu # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-A654 ; Lu # CYRILLIC CAPITAL LETTER REVERSED YU
-A656 ; Lu # CYRILLIC CAPITAL LETTER IOTIFIED A
-A658 ; Lu # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-A65A ; Lu # CYRILLIC CAPITAL LETTER BLENDED YUS
-A65C ; Lu # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-A65E ; Lu # CYRILLIC CAPITAL LETTER YN
-A662 ; Lu # CYRILLIC CAPITAL LETTER SOFT DE
-A664 ; Lu # CYRILLIC CAPITAL LETTER SOFT EL
-A666 ; Lu # CYRILLIC CAPITAL LETTER SOFT EM
-A668 ; Lu # CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A ; Lu # CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C ; Lu # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A680 ; Lu # CYRILLIC CAPITAL LETTER DWE
-A682 ; Lu # CYRILLIC CAPITAL LETTER DZWE
-A684 ; Lu # CYRILLIC CAPITAL LETTER ZHWE
-A686 ; Lu # CYRILLIC CAPITAL LETTER CCHE
-A688 ; Lu # CYRILLIC CAPITAL LETTER DZZE
-A68A ; Lu # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-A68C ; Lu # CYRILLIC CAPITAL LETTER TWE
-A68E ; Lu # CYRILLIC CAPITAL LETTER TSWE
-A690 ; Lu # CYRILLIC CAPITAL LETTER TSSE
-A692 ; Lu # CYRILLIC CAPITAL LETTER TCHE
-A694 ; Lu # CYRILLIC CAPITAL LETTER HWE
-A696 ; Lu # CYRILLIC CAPITAL LETTER SHWE
-A722 ; Lu # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A724 ; Lu # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-A726 ; Lu # LATIN CAPITAL LETTER HENG
-A728 ; Lu # LATIN CAPITAL LETTER TZ
-A72A ; Lu # LATIN CAPITAL LETTER TRESILLO
-A72C ; Lu # LATIN CAPITAL LETTER CUATRILLO
-A72E ; Lu # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-A732 ; Lu # LATIN CAPITAL LETTER AA
-A734 ; Lu # LATIN CAPITAL LETTER AO
-A736 ; Lu # LATIN CAPITAL LETTER AU
-A738 ; Lu # LATIN CAPITAL LETTER AV
-A73A ; Lu # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73C ; Lu # LATIN CAPITAL LETTER AY
-A73E ; Lu # LATIN CAPITAL LETTER REVERSED C WITH DOT
-A740 ; Lu # LATIN CAPITAL LETTER K WITH STROKE
-A742 ; Lu # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A744 ; Lu # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-A746 ; Lu # LATIN CAPITAL LETTER BROKEN L
-A748 ; Lu # LATIN CAPITAL LETTER L WITH HIGH STROKE
-A74A ; Lu # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-A74C ; Lu # LATIN CAPITAL LETTER O WITH LOOP
-A74E ; Lu # LATIN CAPITAL LETTER OO
-A750 ; Lu # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-A752 ; Lu # LATIN CAPITAL LETTER P WITH FLOURISH
-A754 ; Lu # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A756 ; Lu # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A758 ; Lu # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-A75A ; Lu # LATIN CAPITAL LETTER R ROTUNDA
-A75C ; Lu # LATIN CAPITAL LETTER RUM ROTUNDA
-A75E ; Lu # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-A760 ; Lu # LATIN CAPITAL LETTER VY
-A762 ; Lu # LATIN CAPITAL LETTER VISIGOTHIC Z
-A764 ; Lu # LATIN CAPITAL LETTER THORN WITH STROKE
-A766 ; Lu # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-A768 ; Lu # LATIN CAPITAL LETTER VEND
-A76A ; Lu # LATIN CAPITAL LETTER ET
-A76C ; Lu # LATIN CAPITAL LETTER IS
-A76E ; Lu # LATIN CAPITAL LETTER CON
-A779 ; Lu # LATIN CAPITAL LETTER INSULAR D
-A77B ; Lu # LATIN CAPITAL LETTER INSULAR F
-A77D..A77E ; Lu # [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
-A780 ; Lu # LATIN CAPITAL LETTER TURNED L
-A782 ; Lu # LATIN CAPITAL LETTER INSULAR R
-A784 ; Lu # LATIN CAPITAL LETTER INSULAR S
-A786 ; Lu # LATIN CAPITAL LETTER INSULAR T
-A78B ; Lu # LATIN CAPITAL LETTER SALTILLO
-FF21..FF3A ; Lu # [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-10400..10427 ; Lu # [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
-1D400..1D419 ; Lu # [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
-1D434..1D44D ; Lu # [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
-1D468..1D481 ; Lu # [26] MATHEMATICAL BOLD ITALIC CAPITAL A..MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D49C ; Lu # MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; Lu # [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; Lu # MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; Lu # [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; Lu # [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B5 ; Lu # [8] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT CAPITAL Z
-1D4D0..1D4E9 ; Lu # [26] MATHEMATICAL BOLD SCRIPT CAPITAL A..MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D504..1D505 ; Lu # [2] MATHEMATICAL FRAKTUR CAPITAL A..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; Lu # [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; Lu # [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; Lu # [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D538..1D539 ; Lu # [2] MATHEMATICAL DOUBLE-STRUCK CAPITAL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; Lu # [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; Lu # [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; Lu # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; Lu # [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D56C..1D585 ; Lu # [26] MATHEMATICAL BOLD FRAKTUR CAPITAL A..MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D5A0..1D5B9 ; Lu # [26] MATHEMATICAL SANS-SERIF CAPITAL A..MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5D4..1D5ED ; Lu # [26] MATHEMATICAL SANS-SERIF BOLD CAPITAL A..MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D608..1D621 ; Lu # [26] MATHEMATICAL SANS-SERIF ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D63C..1D655 ; Lu # [26] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D670..1D689 ; Lu # [26] MATHEMATICAL MONOSPACE CAPITAL A..MATHEMATICAL MONOSPACE CAPITAL Z
-1D6A8..1D6C0 ; Lu # [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6E2..1D6FA ; Lu # [25] MATHEMATICAL ITALIC CAPITAL ALPHA..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D71C..1D734 ; Lu # [25] MATHEMATICAL BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D756..1D76E ; Lu # [25] MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D790..1D7A8 ; Lu # [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7CA ; Lu # MATHEMATICAL BOLD CAPITAL DIGAMMA
-
-# Total code points: 1427
-
-# ================================================
-
-# General_Category=Lowercase_Letter
-
-0061..007A ; Ll # [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA ; Ll # FEMININE ORDINAL INDICATOR
-00B5 ; Ll # MICRO SIGN
-00BA ; Ll # MASCULINE ORDINAL INDICATOR
-00DF..00F6 ; Ll # [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..00FF ; Ll # [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
-0101 ; Ll # LATIN SMALL LETTER A WITH MACRON
-0103 ; Ll # LATIN SMALL LETTER A WITH BREVE
-0105 ; Ll # LATIN SMALL LETTER A WITH OGONEK
-0107 ; Ll # LATIN SMALL LETTER C WITH ACUTE
-0109 ; Ll # LATIN SMALL LETTER C WITH CIRCUMFLEX
-010B ; Ll # LATIN SMALL LETTER C WITH DOT ABOVE
-010D ; Ll # LATIN SMALL LETTER C WITH CARON
-010F ; Ll # LATIN SMALL LETTER D WITH CARON
-0111 ; Ll # LATIN SMALL LETTER D WITH STROKE
-0113 ; Ll # LATIN SMALL LETTER E WITH MACRON
-0115 ; Ll # LATIN SMALL LETTER E WITH BREVE
-0117 ; Ll # LATIN SMALL LETTER E WITH DOT ABOVE
-0119 ; Ll # LATIN SMALL LETTER E WITH OGONEK
-011B ; Ll # LATIN SMALL LETTER E WITH CARON
-011D ; Ll # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011F ; Ll # LATIN SMALL LETTER G WITH BREVE
-0121 ; Ll # LATIN SMALL LETTER G WITH DOT ABOVE
-0123 ; Ll # LATIN SMALL LETTER G WITH CEDILLA
-0125 ; Ll # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0127 ; Ll # LATIN SMALL LETTER H WITH STROKE
-0129 ; Ll # LATIN SMALL LETTER I WITH TILDE
-012B ; Ll # LATIN SMALL LETTER I WITH MACRON
-012D ; Ll # LATIN SMALL LETTER I WITH BREVE
-012F ; Ll # LATIN SMALL LETTER I WITH OGONEK
-0131 ; Ll # LATIN SMALL LETTER DOTLESS I
-0133 ; Ll # LATIN SMALL LIGATURE IJ
-0135 ; Ll # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0137..0138 ; Ll # [2] LATIN SMALL LETTER K WITH CEDILLA..LATIN SMALL LETTER KRA
-013A ; Ll # LATIN SMALL LETTER L WITH ACUTE
-013C ; Ll # LATIN SMALL LETTER L WITH CEDILLA
-013E ; Ll # LATIN SMALL LETTER L WITH CARON
-0140 ; Ll # LATIN SMALL LETTER L WITH MIDDLE DOT
-0142 ; Ll # LATIN SMALL LETTER L WITH STROKE
-0144 ; Ll # LATIN SMALL LETTER N WITH ACUTE
-0146 ; Ll # LATIN SMALL LETTER N WITH CEDILLA
-0148..0149 ; Ll # [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-014B ; Ll # LATIN SMALL LETTER ENG
-014D ; Ll # LATIN SMALL LETTER O WITH MACRON
-014F ; Ll # LATIN SMALL LETTER O WITH BREVE
-0151 ; Ll # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0153 ; Ll # LATIN SMALL LIGATURE OE
-0155 ; Ll # LATIN SMALL LETTER R WITH ACUTE
-0157 ; Ll # LATIN SMALL LETTER R WITH CEDILLA
-0159 ; Ll # LATIN SMALL LETTER R WITH CARON
-015B ; Ll # LATIN SMALL LETTER S WITH ACUTE
-015D ; Ll # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015F ; Ll # LATIN SMALL LETTER S WITH CEDILLA
-0161 ; Ll # LATIN SMALL LETTER S WITH CARON
-0163 ; Ll # LATIN SMALL LETTER T WITH CEDILLA
-0165 ; Ll # LATIN SMALL LETTER T WITH CARON
-0167 ; Ll # LATIN SMALL LETTER T WITH STROKE
-0169 ; Ll # LATIN SMALL LETTER U WITH TILDE
-016B ; Ll # LATIN SMALL LETTER U WITH MACRON
-016D ; Ll # LATIN SMALL LETTER U WITH BREVE
-016F ; Ll # LATIN SMALL LETTER U WITH RING ABOVE
-0171 ; Ll # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0173 ; Ll # LATIN SMALL LETTER U WITH OGONEK
-0175 ; Ll # LATIN SMALL LETTER W WITH CIRCUMFLEX
-0177 ; Ll # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-017A ; Ll # LATIN SMALL LETTER Z WITH ACUTE
-017C ; Ll # LATIN SMALL LETTER Z WITH DOT ABOVE
-017E..0180 ; Ll # [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
-0183 ; Ll # LATIN SMALL LETTER B WITH TOPBAR
-0185 ; Ll # LATIN SMALL LETTER TONE SIX
-0188 ; Ll # LATIN SMALL LETTER C WITH HOOK
-018C..018D ; Ll # [2] LATIN SMALL LETTER D WITH TOPBAR..LATIN SMALL LETTER TURNED DELTA
-0192 ; Ll # LATIN SMALL LETTER F WITH HOOK
-0195 ; Ll # LATIN SMALL LETTER HV
-0199..019B ; Ll # [3] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER LAMBDA WITH STROKE
-019E ; Ll # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-01A1 ; Ll # LATIN SMALL LETTER O WITH HORN
-01A3 ; Ll # LATIN SMALL LETTER OI
-01A5 ; Ll # LATIN SMALL LETTER P WITH HOOK
-01A8 ; Ll # LATIN SMALL LETTER TONE TWO
-01AA..01AB ; Ll # [2] LATIN LETTER REVERSED ESH LOOP..LATIN SMALL LETTER T WITH PALATAL HOOK
-01AD ; Ll # LATIN SMALL LETTER T WITH HOOK
-01B0 ; Ll # LATIN SMALL LETTER U WITH HORN
-01B4 ; Ll # LATIN SMALL LETTER Y WITH HOOK
-01B6 ; Ll # LATIN SMALL LETTER Z WITH STROKE
-01B9..01BA ; Ll # [2] LATIN SMALL LETTER EZH REVERSED..LATIN SMALL LETTER EZH WITH TAIL
-01BD..01BF ; Ll # [3] LATIN SMALL LETTER TONE FIVE..LATIN LETTER WYNN
-01C6 ; Ll # LATIN SMALL LETTER DZ WITH CARON
-01C9 ; Ll # LATIN SMALL LETTER LJ
-01CC ; Ll # LATIN SMALL LETTER NJ
-01CE ; Ll # LATIN SMALL LETTER A WITH CARON
-01D0 ; Ll # LATIN SMALL LETTER I WITH CARON
-01D2 ; Ll # LATIN SMALL LETTER O WITH CARON
-01D4 ; Ll # LATIN SMALL LETTER U WITH CARON
-01D6 ; Ll # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D8 ; Ll # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01DA ; Ll # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01DC..01DD ; Ll # [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
-01DF ; Ll # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01E1 ; Ll # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E3 ; Ll # LATIN SMALL LETTER AE WITH MACRON
-01E5 ; Ll # LATIN SMALL LETTER G WITH STROKE
-01E7 ; Ll # LATIN SMALL LETTER G WITH CARON
-01E9 ; Ll # LATIN SMALL LETTER K WITH CARON
-01EB ; Ll # LATIN SMALL LETTER O WITH OGONEK
-01ED ; Ll # LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EF..01F0 ; Ll # [2] LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON
-01F3 ; Ll # LATIN SMALL LETTER DZ
-01F5 ; Ll # LATIN SMALL LETTER G WITH ACUTE
-01F9 ; Ll # LATIN SMALL LETTER N WITH GRAVE
-01FB ; Ll # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FD ; Ll # LATIN SMALL LETTER AE WITH ACUTE
-01FF ; Ll # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0201 ; Ll # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0203 ; Ll # LATIN SMALL LETTER A WITH INVERTED BREVE
-0205 ; Ll # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0207 ; Ll # LATIN SMALL LETTER E WITH INVERTED BREVE
-0209 ; Ll # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-020B ; Ll # LATIN SMALL LETTER I WITH INVERTED BREVE
-020D ; Ll # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020F ; Ll # LATIN SMALL LETTER O WITH INVERTED BREVE
-0211 ; Ll # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0213 ; Ll # LATIN SMALL LETTER R WITH INVERTED BREVE
-0215 ; Ll # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0217 ; Ll # LATIN SMALL LETTER U WITH INVERTED BREVE
-0219 ; Ll # LATIN SMALL LETTER S WITH COMMA BELOW
-021B ; Ll # LATIN SMALL LETTER T WITH COMMA BELOW
-021D ; Ll # LATIN SMALL LETTER YOGH
-021F ; Ll # LATIN SMALL LETTER H WITH CARON
-0221 ; Ll # LATIN SMALL LETTER D WITH CURL
-0223 ; Ll # LATIN SMALL LETTER OU
-0225 ; Ll # LATIN SMALL LETTER Z WITH HOOK
-0227 ; Ll # LATIN SMALL LETTER A WITH DOT ABOVE
-0229 ; Ll # LATIN SMALL LETTER E WITH CEDILLA
-022B ; Ll # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022D ; Ll # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022F ; Ll # LATIN SMALL LETTER O WITH DOT ABOVE
-0231 ; Ll # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0233..0239 ; Ll # [7] LATIN SMALL LETTER Y WITH MACRON..LATIN SMALL LETTER QP DIGRAPH
-023C ; Ll # LATIN SMALL LETTER C WITH STROKE
-023F..0240 ; Ll # [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
-0242 ; Ll # LATIN SMALL LETTER GLOTTAL STOP
-0247 ; Ll # LATIN SMALL LETTER E WITH STROKE
-0249 ; Ll # LATIN SMALL LETTER J WITH STROKE
-024B ; Ll # LATIN SMALL LETTER Q WITH HOOK TAIL
-024D ; Ll # LATIN SMALL LETTER R WITH STROKE
-024F..0293 ; Ll # [69] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER EZH WITH CURL
-0295..02AF ; Ll # [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-0371 ; Ll # GREEK SMALL LETTER HETA
-0373 ; Ll # GREEK SMALL LETTER ARCHAIC SAMPI
-0377 ; Ll # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037B..037D ; Ll # [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0390 ; Ll # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-03AC..03CE ; Ll # [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
-03D0..03D1 ; Ll # [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
-03D5..03D7 ; Ll # [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
-03D9 ; Ll # GREEK SMALL LETTER ARCHAIC KOPPA
-03DB ; Ll # GREEK SMALL LETTER STIGMA
-03DD ; Ll # GREEK SMALL LETTER DIGAMMA
-03DF ; Ll # GREEK SMALL LETTER KOPPA
-03E1 ; Ll # GREEK SMALL LETTER SAMPI
-03E3 ; Ll # COPTIC SMALL LETTER SHEI
-03E5 ; Ll # COPTIC SMALL LETTER FEI
-03E7 ; Ll # COPTIC SMALL LETTER KHEI
-03E9 ; Ll # COPTIC SMALL LETTER HORI
-03EB ; Ll # COPTIC SMALL LETTER GANGIA
-03ED ; Ll # COPTIC SMALL LETTER SHIMA
-03EF..03F3 ; Ll # [5] COPTIC SMALL LETTER DEI..GREEK LETTER YOT
-03F5 ; Ll # GREEK LUNATE EPSILON SYMBOL
-03F8 ; Ll # GREEK SMALL LETTER SHO
-03FB..03FC ; Ll # [2] GREEK SMALL LETTER SAN..GREEK RHO WITH STROKE SYMBOL
-0430..045F ; Ll # [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
-0461 ; Ll # CYRILLIC SMALL LETTER OMEGA
-0463 ; Ll # CYRILLIC SMALL LETTER YAT
-0465 ; Ll # CYRILLIC SMALL LETTER IOTIFIED E
-0467 ; Ll # CYRILLIC SMALL LETTER LITTLE YUS
-0469 ; Ll # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-046B ; Ll # CYRILLIC SMALL LETTER BIG YUS
-046D ; Ll # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-046F ; Ll # CYRILLIC SMALL LETTER KSI
-0471 ; Ll # CYRILLIC SMALL LETTER PSI
-0473 ; Ll # CYRILLIC SMALL LETTER FITA
-0475 ; Ll # CYRILLIC SMALL LETTER IZHITSA
-0477 ; Ll # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0479 ; Ll # CYRILLIC SMALL LETTER UK
-047B ; Ll # CYRILLIC SMALL LETTER ROUND OMEGA
-047D ; Ll # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047F ; Ll # CYRILLIC SMALL LETTER OT
-0481 ; Ll # CYRILLIC SMALL LETTER KOPPA
-048B ; Ll # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048D ; Ll # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048F ; Ll # CYRILLIC SMALL LETTER ER WITH TICK
-0491 ; Ll # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0493 ; Ll # CYRILLIC SMALL LETTER GHE WITH STROKE
-0495 ; Ll # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0497 ; Ll # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0499 ; Ll # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-049B ; Ll # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049D ; Ll # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049F ; Ll # CYRILLIC SMALL LETTER KA WITH STROKE
-04A1 ; Ll # CYRILLIC SMALL LETTER BASHKIR KA
-04A3 ; Ll # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A5 ; Ll # CYRILLIC SMALL LIGATURE EN GHE
-04A7 ; Ll # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A9 ; Ll # CYRILLIC SMALL LETTER ABKHASIAN HA
-04AB ; Ll # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AD ; Ll # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AF ; Ll # CYRILLIC SMALL LETTER STRAIGHT U
-04B1 ; Ll # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B3 ; Ll # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B5 ; Ll # CYRILLIC SMALL LIGATURE TE TSE
-04B7 ; Ll # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B9 ; Ll # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04BB ; Ll # CYRILLIC SMALL LETTER SHHA
-04BD ; Ll # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BF ; Ll # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04C2 ; Ll # CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C4 ; Ll # CYRILLIC SMALL LETTER KA WITH HOOK
-04C6 ; Ll # CYRILLIC SMALL LETTER EL WITH TAIL
-04C8 ; Ll # CYRILLIC SMALL LETTER EN WITH HOOK
-04CA ; Ll # CYRILLIC SMALL LETTER EN WITH TAIL
-04CC ; Ll # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CE..04CF ; Ll # [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
-04D1 ; Ll # CYRILLIC SMALL LETTER A WITH BREVE
-04D3 ; Ll # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D5 ; Ll # CYRILLIC SMALL LIGATURE A IE
-04D7 ; Ll # CYRILLIC SMALL LETTER IE WITH BREVE
-04D9 ; Ll # CYRILLIC SMALL LETTER SCHWA
-04DB ; Ll # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DD ; Ll # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DF ; Ll # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04E1 ; Ll # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E3 ; Ll # CYRILLIC SMALL LETTER I WITH MACRON
-04E5 ; Ll # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E7 ; Ll # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E9 ; Ll # CYRILLIC SMALL LETTER BARRED O
-04EB ; Ll # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04ED ; Ll # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EF ; Ll # CYRILLIC SMALL LETTER U WITH MACRON
-04F1 ; Ll # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F3 ; Ll # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F5 ; Ll # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F7 ; Ll # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F9 ; Ll # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04FB ; Ll # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FD ; Ll # CYRILLIC SMALL LETTER HA WITH HOOK
-04FF ; Ll # CYRILLIC SMALL LETTER HA WITH STROKE
-0501 ; Ll # CYRILLIC SMALL LETTER KOMI DE
-0503 ; Ll # CYRILLIC SMALL LETTER KOMI DJE
-0505 ; Ll # CYRILLIC SMALL LETTER KOMI ZJE
-0507 ; Ll # CYRILLIC SMALL LETTER KOMI DZJE
-0509 ; Ll # CYRILLIC SMALL LETTER KOMI LJE
-050B ; Ll # CYRILLIC SMALL LETTER KOMI NJE
-050D ; Ll # CYRILLIC SMALL LETTER KOMI SJE
-050F ; Ll # CYRILLIC SMALL LETTER KOMI TJE
-0511 ; Ll # CYRILLIC SMALL LETTER REVERSED ZE
-0513 ; Ll # CYRILLIC SMALL LETTER EL WITH HOOK
-0515 ; Ll # CYRILLIC SMALL LETTER LHA
-0517 ; Ll # CYRILLIC SMALL LETTER RHA
-0519 ; Ll # CYRILLIC SMALL LETTER YAE
-051B ; Ll # CYRILLIC SMALL LETTER QA
-051D ; Ll # CYRILLIC SMALL LETTER WE
-051F ; Ll # CYRILLIC SMALL LETTER ALEUT KA
-0521 ; Ll # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0523 ; Ll # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0525 ; Ll # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0561..0587 ; Ll # [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-1D00..1D2B ; Ll # [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D62..1D77 ; Ll # [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D79..1D9A ; Ll # [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1E01 ; Ll # LATIN SMALL LETTER A WITH RING BELOW
-1E03 ; Ll # LATIN SMALL LETTER B WITH DOT ABOVE
-1E05 ; Ll # LATIN SMALL LETTER B WITH DOT BELOW
-1E07 ; Ll # LATIN SMALL LETTER B WITH LINE BELOW
-1E09 ; Ll # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E0B ; Ll # LATIN SMALL LETTER D WITH DOT ABOVE
-1E0D ; Ll # LATIN SMALL LETTER D WITH DOT BELOW
-1E0F ; Ll # LATIN SMALL LETTER D WITH LINE BELOW
-1E11 ; Ll # LATIN SMALL LETTER D WITH CEDILLA
-1E13 ; Ll # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E15 ; Ll # LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E17 ; Ll # LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E19 ; Ll # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E1B ; Ll # LATIN SMALL LETTER E WITH TILDE BELOW
-1E1D ; Ll # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1F ; Ll # LATIN SMALL LETTER F WITH DOT ABOVE
-1E21 ; Ll # LATIN SMALL LETTER G WITH MACRON
-1E23 ; Ll # LATIN SMALL LETTER H WITH DOT ABOVE
-1E25 ; Ll # LATIN SMALL LETTER H WITH DOT BELOW
-1E27 ; Ll # LATIN SMALL LETTER H WITH DIAERESIS
-1E29 ; Ll # LATIN SMALL LETTER H WITH CEDILLA
-1E2B ; Ll # LATIN SMALL LETTER H WITH BREVE BELOW
-1E2D ; Ll # LATIN SMALL LETTER I WITH TILDE BELOW
-1E2F ; Ll # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E31 ; Ll # LATIN SMALL LETTER K WITH ACUTE
-1E33 ; Ll # LATIN SMALL LETTER K WITH DOT BELOW
-1E35 ; Ll # LATIN SMALL LETTER K WITH LINE BELOW
-1E37 ; Ll # LATIN SMALL LETTER L WITH DOT BELOW
-1E39 ; Ll # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E3B ; Ll # LATIN SMALL LETTER L WITH LINE BELOW
-1E3D ; Ll # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3F ; Ll # LATIN SMALL LETTER M WITH ACUTE
-1E41 ; Ll # LATIN SMALL LETTER M WITH DOT ABOVE
-1E43 ; Ll # LATIN SMALL LETTER M WITH DOT BELOW
-1E45 ; Ll # LATIN SMALL LETTER N WITH DOT ABOVE
-1E47 ; Ll # LATIN SMALL LETTER N WITH DOT BELOW
-1E49 ; Ll # LATIN SMALL LETTER N WITH LINE BELOW
-1E4B ; Ll # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4D ; Ll # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4F ; Ll # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E51 ; Ll # LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E53 ; Ll # LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E55 ; Ll # LATIN SMALL LETTER P WITH ACUTE
-1E57 ; Ll # LATIN SMALL LETTER P WITH DOT ABOVE
-1E59 ; Ll # LATIN SMALL LETTER R WITH DOT ABOVE
-1E5B ; Ll # LATIN SMALL LETTER R WITH DOT BELOW
-1E5D ; Ll # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5F ; Ll # LATIN SMALL LETTER R WITH LINE BELOW
-1E61 ; Ll # LATIN SMALL LETTER S WITH DOT ABOVE
-1E63 ; Ll # LATIN SMALL LETTER S WITH DOT BELOW
-1E65 ; Ll # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E67 ; Ll # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E69 ; Ll # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E6B ; Ll # LATIN SMALL LETTER T WITH DOT ABOVE
-1E6D ; Ll # LATIN SMALL LETTER T WITH DOT BELOW
-1E6F ; Ll # LATIN SMALL LETTER T WITH LINE BELOW
-1E71 ; Ll # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E73 ; Ll # LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E75 ; Ll # LATIN SMALL LETTER U WITH TILDE BELOW
-1E77 ; Ll # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E79 ; Ll # LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E7B ; Ll # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7D ; Ll # LATIN SMALL LETTER V WITH TILDE
-1E7F ; Ll # LATIN SMALL LETTER V WITH DOT BELOW
-1E81 ; Ll # LATIN SMALL LETTER W WITH GRAVE
-1E83 ; Ll # LATIN SMALL LETTER W WITH ACUTE
-1E85 ; Ll # LATIN SMALL LETTER W WITH DIAERESIS
-1E87 ; Ll # LATIN SMALL LETTER W WITH DOT ABOVE
-1E89 ; Ll # LATIN SMALL LETTER W WITH DOT BELOW
-1E8B ; Ll # LATIN SMALL LETTER X WITH DOT ABOVE
-1E8D ; Ll # LATIN SMALL LETTER X WITH DIAERESIS
-1E8F ; Ll # LATIN SMALL LETTER Y WITH DOT ABOVE
-1E91 ; Ll # LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E93 ; Ll # LATIN SMALL LETTER Z WITH DOT BELOW
-1E95..1E9D ; Ll # [9] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH HIGH STROKE
-1E9F ; Ll # LATIN SMALL LETTER DELTA
-1EA1 ; Ll # LATIN SMALL LETTER A WITH DOT BELOW
-1EA3 ; Ll # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA5 ; Ll # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7 ; Ll # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA9 ; Ll # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAB ; Ll # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAD ; Ll # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAF ; Ll # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EB1 ; Ll # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB3 ; Ll # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB5 ; Ll # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB7 ; Ll # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB9 ; Ll # LATIN SMALL LETTER E WITH DOT BELOW
-1EBB ; Ll # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBD ; Ll # LATIN SMALL LETTER E WITH TILDE
-1EBF ; Ll # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1 ; Ll # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC3 ; Ll # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC5 ; Ll # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC7 ; Ll # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC9 ; Ll # LATIN SMALL LETTER I WITH HOOK ABOVE
-1ECB ; Ll # LATIN SMALL LETTER I WITH DOT BELOW
-1ECD ; Ll # LATIN SMALL LETTER O WITH DOT BELOW
-1ECF ; Ll # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ED1 ; Ll # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3 ; Ll # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED5 ; Ll # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED7 ; Ll # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED9 ; Ll # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EDB ; Ll # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDD ; Ll # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDF ; Ll # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EE1 ; Ll # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE3 ; Ll # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE5 ; Ll # LATIN SMALL LETTER U WITH DOT BELOW
-1EE7 ; Ll # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE9 ; Ll # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EEB ; Ll # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EED ; Ll # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEF ; Ll # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EF1 ; Ll # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF3 ; Ll # LATIN SMALL LETTER Y WITH GRAVE
-1EF5 ; Ll # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF7 ; Ll # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF9 ; Ll # LATIN SMALL LETTER Y WITH TILDE
-1EFB ; Ll # LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFD ; Ll # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFF..1F07 ; Ll # [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F10..1F15 ; Ll # [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F27 ; Ll # [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F30..1F37 ; Ll # [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F40..1F45 ; Ll # [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; Ll # [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F60..1F67 ; Ll # [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F70..1F7D ; Ll # [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1F87 ; Ll # [8] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F90..1F97 ; Ll # [8] GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FA0..1FA7 ; Ll # [8] GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FB0..1FB4 ; Ll # [5] GREEK SMALL LETTER ALPHA WITH VRACHY..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FB7 ; Ll # [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FBE ; Ll # GREEK PROSGEGRAMMENI
-1FC2..1FC4 ; Ll # [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FC7 ; Ll # [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FD0..1FD3 ; Ll # [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FD7 ; Ll # [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FE0..1FE7 ; Ll # [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FF2..1FF4 ; Ll # [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FF7 ; Ll # [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-210A ; Ll # SCRIPT SMALL G
-210E..210F ; Ll # [2] PLANCK CONSTANT..PLANCK CONSTANT OVER TWO PI
-2113 ; Ll # SCRIPT SMALL L
-212F ; Ll # SCRIPT SMALL E
-2134 ; Ll # SCRIPT SMALL O
-2139 ; Ll # INFORMATION SOURCE
-213C..213D ; Ll # [2] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK SMALL GAMMA
-2146..2149 ; Ll # [4] DOUBLE-STRUCK ITALIC SMALL D..DOUBLE-STRUCK ITALIC SMALL J
-214E ; Ll # TURNED SMALL F
-2184 ; Ll # LATIN SMALL LETTER REVERSED C
-2C30..2C5E ; Ll # [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C61 ; Ll # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C65..2C66 ; Ll # [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
-2C68 ; Ll # LATIN SMALL LETTER H WITH DESCENDER
-2C6A ; Ll # LATIN SMALL LETTER K WITH DESCENDER
-2C6C ; Ll # LATIN SMALL LETTER Z WITH DESCENDER
-2C71 ; Ll # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C73..2C74 ; Ll # [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
-2C76..2C7C ; Ll # [7] LATIN SMALL LETTER HALF H..LATIN SUBSCRIPT SMALL LETTER J
-2C81 ; Ll # COPTIC SMALL LETTER ALFA
-2C83 ; Ll # COPTIC SMALL LETTER VIDA
-2C85 ; Ll # COPTIC SMALL LETTER GAMMA
-2C87 ; Ll # COPTIC SMALL LETTER DALDA
-2C89 ; Ll # COPTIC SMALL LETTER EIE
-2C8B ; Ll # COPTIC SMALL LETTER SOU
-2C8D ; Ll # COPTIC SMALL LETTER ZATA
-2C8F ; Ll # COPTIC SMALL LETTER HATE
-2C91 ; Ll # COPTIC SMALL LETTER THETHE
-2C93 ; Ll # COPTIC SMALL LETTER IAUDA
-2C95 ; Ll # COPTIC SMALL LETTER KAPA
-2C97 ; Ll # COPTIC SMALL LETTER LAULA
-2C99 ; Ll # COPTIC SMALL LETTER MI
-2C9B ; Ll # COPTIC SMALL LETTER NI
-2C9D ; Ll # COPTIC SMALL LETTER KSI
-2C9F ; Ll # COPTIC SMALL LETTER O
-2CA1 ; Ll # COPTIC SMALL LETTER PI
-2CA3 ; Ll # COPTIC SMALL LETTER RO
-2CA5 ; Ll # COPTIC SMALL LETTER SIMA
-2CA7 ; Ll # COPTIC SMALL LETTER TAU
-2CA9 ; Ll # COPTIC SMALL LETTER UA
-2CAB ; Ll # COPTIC SMALL LETTER FI
-2CAD ; Ll # COPTIC SMALL LETTER KHI
-2CAF ; Ll # COPTIC SMALL LETTER PSI
-2CB1 ; Ll # COPTIC SMALL LETTER OOU
-2CB3 ; Ll # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB5 ; Ll # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB7 ; Ll # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB9 ; Ll # COPTIC SMALL LETTER DIALECT-P KAPA
-2CBB ; Ll # COPTIC SMALL LETTER DIALECT-P NI
-2CBD ; Ll # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBF ; Ll # COPTIC SMALL LETTER OLD COPTIC OOU
-2CC1 ; Ll # COPTIC SMALL LETTER SAMPI
-2CC3 ; Ll # COPTIC SMALL LETTER CROSSED SHEI
-2CC5 ; Ll # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC7 ; Ll # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC9 ; Ll # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CCB ; Ll # COPTIC SMALL LETTER DIALECT-P HORI
-2CCD ; Ll # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCF ; Ll # COPTIC SMALL LETTER OLD COPTIC HA
-2CD1 ; Ll # COPTIC SMALL LETTER L-SHAPED HA
-2CD3 ; Ll # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD5 ; Ll # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD7 ; Ll # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD9 ; Ll # COPTIC SMALL LETTER OLD COPTIC DJA
-2CDB ; Ll # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDD ; Ll # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDF ; Ll # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CE1 ; Ll # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE3..2CE4 ; Ll # [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
-2CEC ; Ll # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEE ; Ll # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2D00..2D25 ; Ll # [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-A641 ; Ll # CYRILLIC SMALL LETTER ZEMLYA
-A643 ; Ll # CYRILLIC SMALL LETTER DZELO
-A645 ; Ll # CYRILLIC SMALL LETTER REVERSED DZE
-A647 ; Ll # CYRILLIC SMALL LETTER IOTA
-A649 ; Ll # CYRILLIC SMALL LETTER DJERV
-A64B ; Ll # CYRILLIC SMALL LETTER MONOGRAPH UK
-A64D ; Ll # CYRILLIC SMALL LETTER BROAD OMEGA
-A64F ; Ll # CYRILLIC SMALL LETTER NEUTRAL YER
-A651 ; Ll # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A653 ; Ll # CYRILLIC SMALL LETTER IOTIFIED YAT
-A655 ; Ll # CYRILLIC SMALL LETTER REVERSED YU
-A657 ; Ll # CYRILLIC SMALL LETTER IOTIFIED A
-A659 ; Ll # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A65B ; Ll # CYRILLIC SMALL LETTER BLENDED YUS
-A65D ; Ll # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65F ; Ll # CYRILLIC SMALL LETTER YN
-A663 ; Ll # CYRILLIC SMALL LETTER SOFT DE
-A665 ; Ll # CYRILLIC SMALL LETTER SOFT EL
-A667 ; Ll # CYRILLIC SMALL LETTER SOFT EM
-A669 ; Ll # CYRILLIC SMALL LETTER MONOCULAR O
-A66B ; Ll # CYRILLIC SMALL LETTER BINOCULAR O
-A66D ; Ll # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A681 ; Ll # CYRILLIC SMALL LETTER DWE
-A683 ; Ll # CYRILLIC SMALL LETTER DZWE
-A685 ; Ll # CYRILLIC SMALL LETTER ZHWE
-A687 ; Ll # CYRILLIC SMALL LETTER CCHE
-A689 ; Ll # CYRILLIC SMALL LETTER DZZE
-A68B ; Ll # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68D ; Ll # CYRILLIC SMALL LETTER TWE
-A68F ; Ll # CYRILLIC SMALL LETTER TSWE
-A691 ; Ll # CYRILLIC SMALL LETTER TSSE
-A693 ; Ll # CYRILLIC SMALL LETTER TCHE
-A695 ; Ll # CYRILLIC SMALL LETTER HWE
-A697 ; Ll # CYRILLIC SMALL LETTER SHWE
-A723 ; Ll # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A725 ; Ll # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A727 ; Ll # LATIN SMALL LETTER HENG
-A729 ; Ll # LATIN SMALL LETTER TZ
-A72B ; Ll # LATIN SMALL LETTER TRESILLO
-A72D ; Ll # LATIN SMALL LETTER CUATRILLO
-A72F..A731 ; Ll # [3] LATIN SMALL LETTER CUATRILLO WITH COMMA..LATIN LETTER SMALL CAPITAL S
-A733 ; Ll # LATIN SMALL LETTER AA
-A735 ; Ll # LATIN SMALL LETTER AO
-A737 ; Ll # LATIN SMALL LETTER AU
-A739 ; Ll # LATIN SMALL LETTER AV
-A73B ; Ll # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73D ; Ll # LATIN SMALL LETTER AY
-A73F ; Ll # LATIN SMALL LETTER REVERSED C WITH DOT
-A741 ; Ll # LATIN SMALL LETTER K WITH STROKE
-A743 ; Ll # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A745 ; Ll # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A747 ; Ll # LATIN SMALL LETTER BROKEN L
-A749 ; Ll # LATIN SMALL LETTER L WITH HIGH STROKE
-A74B ; Ll # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74D ; Ll # LATIN SMALL LETTER O WITH LOOP
-A74F ; Ll # LATIN SMALL LETTER OO
-A751 ; Ll # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A753 ; Ll # LATIN SMALL LETTER P WITH FLOURISH
-A755 ; Ll # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A757 ; Ll # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; Ll # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A75B ; Ll # LATIN SMALL LETTER R ROTUNDA
-A75D ; Ll # LATIN SMALL LETTER RUM ROTUNDA
-A75F ; Ll # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A761 ; Ll # LATIN SMALL LETTER VY
-A763 ; Ll # LATIN SMALL LETTER VISIGOTHIC Z
-A765 ; Ll # LATIN SMALL LETTER THORN WITH STROKE
-A767 ; Ll # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A769 ; Ll # LATIN SMALL LETTER VEND
-A76B ; Ll # LATIN SMALL LETTER ET
-A76D ; Ll # LATIN SMALL LETTER IS
-A76F ; Ll # LATIN SMALL LETTER CON
-A771..A778 ; Ll # [8] LATIN SMALL LETTER DUM..LATIN SMALL LETTER UM
-A77A ; Ll # LATIN SMALL LETTER INSULAR D
-A77C ; Ll # LATIN SMALL LETTER INSULAR F
-A77F ; Ll # LATIN SMALL LETTER TURNED INSULAR G
-A781 ; Ll # LATIN SMALL LETTER TURNED L
-A783 ; Ll # LATIN SMALL LETTER INSULAR R
-A785 ; Ll # LATIN SMALL LETTER INSULAR S
-A787 ; Ll # LATIN SMALL LETTER INSULAR T
-A78C ; Ll # LATIN SMALL LETTER SALTILLO
-FB00..FB06 ; Ll # [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; Ll # [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FF41..FF5A ; Ll # [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-10428..1044F ; Ll # [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
-1D41A..1D433 ; Ll # [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
-1D44E..1D454 ; Ll # [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D467 ; Ll # [18] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL Z
-1D482..1D49B ; Ll # [26] MATHEMATICAL BOLD ITALIC SMALL A..MATHEMATICAL BOLD ITALIC SMALL Z
-1D4B6..1D4B9 ; Ll # [4] MATHEMATICAL SCRIPT SMALL A..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; Ll # MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; Ll # [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D4CF ; Ll # [11] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL SCRIPT SMALL Z
-1D4EA..1D503 ; Ll # [26] MATHEMATICAL BOLD SCRIPT SMALL A..MATHEMATICAL BOLD SCRIPT SMALL Z
-1D51E..1D537 ; Ll # [26] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL FRAKTUR SMALL Z
-1D552..1D56B ; Ll # [26] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D586..1D59F ; Ll # [26] MATHEMATICAL BOLD FRAKTUR SMALL A..MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5BA..1D5D3 ; Ll # [26] MATHEMATICAL SANS-SERIF SMALL A..MATHEMATICAL SANS-SERIF SMALL Z
-1D5EE..1D607 ; Ll # [26] MATHEMATICAL SANS-SERIF BOLD SMALL A..MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D622..1D63B ; Ll # [26] MATHEMATICAL SANS-SERIF ITALIC SMALL A..MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D656..1D66F ; Ll # [26] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D68A..1D6A5 ; Ll # [28] MATHEMATICAL MONOSPACE SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6C2..1D6DA ; Ll # [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DC..1D6E1 ; Ll # [6] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL BOLD PI SYMBOL
-1D6FC..1D714 ; Ll # [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D716..1D71B ; Ll # [6] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL ITALIC PI SYMBOL
-1D736..1D74E ; Ll # [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D750..1D755 ; Ll # [6] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D770..1D788 ; Ll # [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D78A..1D78F ; Ll # [6] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D7AA..1D7C2 ; Ll # [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C4..1D7C9 ; Ll # [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-1D7CB ; Ll # MATHEMATICAL BOLD SMALL DIGAMMA
-
-# Total code points: 1749
-
-# ================================================
-
-# General_Category=Titlecase_Letter
-
-01C5 ; Lt # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C8 ; Lt # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01CB ; Lt # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01F2 ; Lt # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-1F88..1F8F ; Lt # [8] GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F98..1F9F ; Lt # [8] GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA8..1FAF ; Lt # [8] GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FBC ; Lt # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FCC ; Lt # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FFC ; Lt # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-
-# Total code points: 31
-
-# ================================================
-
-# General_Category=Modifier_Letter
-
-02B0..02C1 ; Lm # [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C6..02D1 ; Lm # [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
-02E0..02E4 ; Lm # [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02EC ; Lm # MODIFIER LETTER VOICING
-02EE ; Lm # MODIFIER LETTER DOUBLE APOSTROPHE
-0374 ; Lm # GREEK NUMERAL SIGN
-037A ; Lm # GREEK YPOGEGRAMMENI
-0559 ; Lm # ARMENIAN MODIFIER LETTER LEFT HALF RING
-0640 ; Lm # ARABIC TATWEEL
-06E5..06E6 ; Lm # [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-07F4..07F5 ; Lm # [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07FA ; Lm # NKO LAJANYALAN
-081A ; Lm # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; Lm # SAMARITAN MODIFIER LETTER SHORT A
-0828 ; Lm # SAMARITAN MODIFIER LETTER I
-0971 ; Lm # DEVANAGARI SIGN HIGH SPACING DOT
-0E46 ; Lm # THAI CHARACTER MAIYAMOK
-0EC6 ; Lm # LAO KO LA
-10FC ; Lm # MODIFIER LETTER GEORGIAN NAR
-17D7 ; Lm # KHMER SIGN LEK TOO
-1843 ; Lm # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1AA7 ; Lm # TAI THAM SIGN MAI YAMOK
-1C78..1C7D ; Lm # [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1D2C..1D61 ; Lm # [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D78 ; Lm # MODIFIER LETTER CYRILLIC EN
-1D9B..1DBF ; Lm # [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-2071 ; Lm # SUPERSCRIPT LATIN SMALL LETTER I
-207F ; Lm # SUPERSCRIPT LATIN SMALL LETTER N
-2090..2094 ; Lm # [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2C7D ; Lm # MODIFIER LETTER CAPITAL V
-2D6F ; Lm # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2E2F ; Lm # VERTICAL TILDE
-3005 ; Lm # IDEOGRAPHIC ITERATION MARK
-3031..3035 ; Lm # [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-303B ; Lm # VERTICAL IDEOGRAPHIC ITERATION MARK
-309D..309E ; Lm # [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-30FC..30FE ; Lm # [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-A015 ; Lm # YI SYLLABLE WU
-A4F8..A4FD ; Lm # [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A60C ; Lm # VAI SYLLABLE LENGTHENER
-A67F ; Lm # CYRILLIC PAYEROK
-A717..A71F ; Lm # [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A770 ; Lm # MODIFIER LETTER US
-A788 ; Lm # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A9CF ; Lm # JAVANESE PANGRANGKEP
-AA70 ; Lm # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AADD ; Lm # TAI VIET SYMBOL SAM
-FF70 ; Lm # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-
-# Total code points: 202
-
-# ================================================
-
-# General_Category=Other_Letter
-
-01BB ; Lo # LATIN LETTER TWO WITH STROKE
-01C0..01C3 ; Lo # [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-0294 ; Lo # LATIN LETTER GLOTTAL STOP
-05D0..05EA ; Lo # [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; Lo # [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-0621..063F ; Lo # [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0641..064A ; Lo # [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-066E..066F ; Lo # [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; Lo # [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; Lo # ARABIC LETTER AE
-06EE..06EF ; Lo # [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; Lo # [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; Lo # ARABIC LETTER HEH WITH INVERTED V
-0710 ; Lo # SYRIAC LETTER ALAPH
-0712..072F ; Lo # [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; Lo # [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; Lo # THAANA LETTER NAA
-07CA..07EA ; Lo # [33] NKO LETTER A..NKO LETTER JONA RA
-0800..0815 ; Lo # [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-0904..0939 ; Lo # [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; Lo # DEVANAGARI SIGN AVAGRAHA
-0950 ; Lo # DEVANAGARI OM
-0958..0961 ; Lo # [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0972 ; Lo # DEVANAGARI LETTER CANDRA A
-0979..097F ; Lo # [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0985..098C ; Lo # [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; Lo # [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; Lo # [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; Lo # [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; Lo # BENGALI LETTER LA
-09B6..09B9 ; Lo # [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; Lo # BENGALI SIGN AVAGRAHA
-09CE ; Lo # BENGALI LETTER KHANDA TA
-09DC..09DD ; Lo # [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; Lo # [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09F0..09F1 ; Lo # [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-0A05..0A0A ; Lo # [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; Lo # [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; Lo # [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; Lo # [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; Lo # [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; Lo # [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; Lo # [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A59..0A5C ; Lo # [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; Lo # GURMUKHI LETTER FA
-0A72..0A74 ; Lo # [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A85..0A8D ; Lo # [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; Lo # [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; Lo # [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; Lo # [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; Lo # [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; Lo # [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; Lo # GUJARATI SIGN AVAGRAHA
-0AD0 ; Lo # GUJARATI OM
-0AE0..0AE1 ; Lo # [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0B05..0B0C ; Lo # [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; Lo # [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; Lo # [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; Lo # [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; Lo # [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; Lo # [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; Lo # ORIYA SIGN AVAGRAHA
-0B5C..0B5D ; Lo # [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; Lo # [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B71 ; Lo # ORIYA LETTER WA
-0B83 ; Lo # TAMIL SIGN VISARGA
-0B85..0B8A ; Lo # [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; Lo # [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; Lo # [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; Lo # [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; Lo # TAMIL LETTER JA
-0B9E..0B9F ; Lo # [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; Lo # [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; Lo # [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; Lo # [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BD0 ; Lo # TAMIL OM
-0C05..0C0C ; Lo # [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; Lo # [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; Lo # [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; Lo # [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; Lo # [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; Lo # TELUGU SIGN AVAGRAHA
-0C58..0C59 ; Lo # [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; Lo # [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C85..0C8C ; Lo # [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; Lo # [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; Lo # [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; Lo # [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; Lo # [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; Lo # KANNADA SIGN AVAGRAHA
-0CDE ; Lo # KANNADA LETTER FA
-0CE0..0CE1 ; Lo # [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0D05..0D0C ; Lo # [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; Lo # [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; Lo # [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; Lo # [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; Lo # MALAYALAM SIGN AVAGRAHA
-0D60..0D61 ; Lo # [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D7A..0D7F ; Lo # [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D85..0D96 ; Lo # [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; Lo # [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; Lo # [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; Lo # SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; Lo # [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0E01..0E30 ; Lo # [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E32..0E33 ; Lo # [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E40..0E45 ; Lo # [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E81..0E82 ; Lo # [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; Lo # LAO LETTER KHO TAM
-0E87..0E88 ; Lo # [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; Lo # LAO LETTER SO TAM
-0E8D ; Lo # LAO LETTER NYO
-0E94..0E97 ; Lo # [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; Lo # [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; Lo # [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; Lo # LAO LETTER LO LOOT
-0EA7 ; Lo # LAO LETTER WO
-0EAA..0EAB ; Lo # [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; Lo # [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB2..0EB3 ; Lo # [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EBD ; Lo # LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; Lo # [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EDC..0EDD ; Lo # [2] LAO HO NO..LAO HO MO
-0F00 ; Lo # TIBETAN SYLLABLE OM
-0F40..0F47 ; Lo # [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; Lo # [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F88..0F8B ; Lo # [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-1000..102A ; Lo # [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-103F ; Lo # MYANMAR LETTER GREAT SA
-1050..1055 ; Lo # [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-105A..105D ; Lo # [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-1061 ; Lo # MYANMAR LETTER SGAW KAREN SHA
-1065..1066 ; Lo # [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-106E..1070 ; Lo # [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1075..1081 ; Lo # [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-108E ; Lo # MYANMAR LETTER RUMAI PALAUNG FA
-10D0..10FA ; Lo # [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-1100..1248 ; Lo # [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
-124A..124D ; Lo # [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; Lo # [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; Lo # ETHIOPIC SYLLABLE QHWA
-125A..125D ; Lo # [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; Lo # [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; Lo # [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; Lo # [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; Lo # [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; Lo # [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; Lo # ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; Lo # [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; Lo # [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; Lo # [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; Lo # [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; Lo # [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1380..138F ; Lo # [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-13A0..13F4 ; Lo # [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; Lo # [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166F..167F ; Lo # [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; Lo # [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; Lo # [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-1700..170C ; Lo # [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; Lo # [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; Lo # [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1740..1751 ; Lo # [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; Lo # [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; Lo # [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-1780..17B3 ; Lo # [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17DC ; Lo # KHMER SIGN AVAKRAHASANYA
-1820..1842 ; Lo # [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1844..1877 ; Lo # [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; Lo # [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; Lo # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; Lo # [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; Lo # [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1950..196D ; Lo # [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; Lo # [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; Lo # [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19C1..19C7 ; Lo # [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-1A00..1A16 ; Lo # [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A20..1A54 ; Lo # [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1B05..1B33 ; Lo # [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B45..1B4B ; Lo # [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B83..1BA0 ; Lo # [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF ; Lo # [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; Lo # [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C4D..1C4F ; Lo # [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; Lo # [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1CE9..1CEC ; Lo # [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; Lo # [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-2135..2138 ; Lo # [4] ALEF SYMBOL..DALET SYMBOL
-2D30..2D65 ; Lo # [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D80..2D96 ; Lo # [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; Lo # [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; Lo # [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; Lo # [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; Lo # [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; Lo # [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; Lo # [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; Lo # [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; Lo # [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-3006 ; Lo # IDEOGRAPHIC CLOSING MARK
-303C ; Lo # MASU MARK
-3041..3096 ; Lo # [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
-309F ; Lo # HIRAGANA DIGRAPH YORI
-30A1..30FA ; Lo # [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
-30FF ; Lo # KATAKANA DIGRAPH KOTO
-3105..312D ; Lo # [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; Lo # [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-31A0..31B7 ; Lo # [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31F0..31FF ; Lo # [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-3400..4DB5 ; Lo # [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB ; Lo # [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-A000..A014 ; Lo # [21] YI SYLLABLE IT..YI SYLLABLE E
-A016..A48C ; Lo # [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A4D0..A4F7 ; Lo # [40] LISU LETTER BA..LISU LETTER OE
-A500..A60B ; Lo # [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A610..A61F ; Lo # [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; Lo # [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A66E ; Lo # CYRILLIC LETTER MULTIOCULAR O
-A6A0..A6E5 ; Lo # [70] BAMUM LETTER A..BAMUM LETTER KI
-A7FB..A801 ; Lo # [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; Lo # [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; Lo # [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; Lo # [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A840..A873 ; Lo # [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A882..A8B3 ; Lo # [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8F2..A8F7 ; Lo # [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB ; Lo # DEVANAGARI HEADSTROKE
-A90A..A925 ; Lo # [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A930..A946 ; Lo # [23] REJANG LETTER KA..REJANG LETTER A
-A960..A97C ; Lo # [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-A984..A9B2 ; Lo # [47] JAVANESE LETTER A..JAVANESE LETTER HA
-AA00..AA28 ; Lo # [41] CHAM LETTER A..CHAM LETTER HA
-AA40..AA42 ; Lo # [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; Lo # [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA60..AA6F ; Lo # [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA71..AA76 ; Lo # [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA7A ; Lo # MYANMAR LETTER AITON RA
-AA80..AAAF ; Lo # [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB1 ; Lo # TAI VIET VOWEL AA
-AAB5..AAB6 ; Lo # [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9..AABD ; Lo # [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AAC0 ; Lo # TAI VIET TONE MAI NUENG
-AAC2 ; Lo # TAI VIET TONE MAI SONG
-AADB..AADC ; Lo # [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-ABC0..ABE2 ; Lo # [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-AC00..D7A3 ; Lo # [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6 ; Lo # [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB ; Lo # [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D ; Lo # [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D ; Lo # [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA70..FAD9 ; Lo # [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FB1D ; Lo # HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; Lo # [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB2A..FB36 ; Lo # [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; Lo # [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; Lo # HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; Lo # [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; Lo # [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; Lo # [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; Lo # [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; Lo # [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; Lo # [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; Lo # [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FE70..FE74 ; Lo # [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; Lo # [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF66..FF6F ; Lo # [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
-FF71..FF9D ; Lo # [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FFA0..FFBE ; Lo # [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; Lo # [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; Lo # [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; Lo # [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-10000..1000B ; Lo # [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; Lo # [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; Lo # [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; Lo # [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; Lo # [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; Lo # [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; Lo # [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10280..1029C ; Lo # [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; Lo # [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; Lo # [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10330..10340 ; Lo # [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10342..10349 ; Lo # [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-10380..1039D ; Lo # [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; Lo # [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; Lo # [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-10450..1049D ; Lo # [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; Lo # [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; Lo # CYPRIOT SYLLABLE JO
-1080A..10835 ; Lo # [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; Lo # [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; Lo # CYPRIOT SYLLABLE ZA
-1083F..10855 ; Lo # [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10900..10915 ; Lo # [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10920..10939 ; Lo # [26] LYDIAN LETTER A..LYDIAN LETTER C
-10A00 ; Lo # KHAROSHTHI LETTER A
-10A10..10A13 ; Lo # [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; Lo # [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; Lo # [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A60..10A7C ; Lo # [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10B00..10B35 ; Lo # [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; Lo # [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60..10B72 ; Lo # [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10C00..10C48 ; Lo # [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-11083..110AF ; Lo # [45] KAITHI LETTER A..KAITHI LETTER HA
-12000..1236E ; Lo # [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-13000..1342E ; Lo # [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
-20000..2A6D6 ; Lo # [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A700..2B734 ; Lo # [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2F800..2FA1D ; Lo # [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-
-# Total code points: 96128
-
-# ================================================
-
-# General_Category=Nonspacing_Mark
-
-0300..036F ; Mn # [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; Mn # [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0591..05BD ; Mn # [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; Mn # HEBREW POINT RAFE
-05C1..05C2 ; Mn # [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; Mn # [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; Mn # HEBREW POINT QAMATS QATAN
-0610..061A ; Mn # [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; Mn # [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; Mn # ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; Mn # [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DF..06E4 ; Mn # [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; Mn # [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; Mn # [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; Mn # SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; Mn # [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; Mn # [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; Mn # [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; Mn # [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; Mn # [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; Mn # [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; Mn # [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; Mn # [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-093C ; Mn # DEVANAGARI SIGN NUKTA
-0941..0948 ; Mn # [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-094D ; Mn # DEVANAGARI SIGN VIRAMA
-0951..0955 ; Mn # [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; Mn # [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; Mn # BENGALI SIGN CANDRABINDU
-09BC ; Mn # BENGALI SIGN NUKTA
-09C1..09C4 ; Mn # [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09CD ; Mn # BENGALI SIGN VIRAMA
-09E2..09E3 ; Mn # [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; Mn # [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A3C ; Mn # GURMUKHI SIGN NUKTA
-0A41..0A42 ; Mn # [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; Mn # [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; Mn # [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; Mn # GURMUKHI SIGN UDAAT
-0A70..0A71 ; Mn # [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; Mn # GURMUKHI SIGN YAKASH
-0A81..0A82 ; Mn # [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0ABC ; Mn # GUJARATI SIGN NUKTA
-0AC1..0AC5 ; Mn # [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; Mn # [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0ACD ; Mn # GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; Mn # [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; Mn # ORIYA SIGN CANDRABINDU
-0B3C ; Mn # ORIYA SIGN NUKTA
-0B3F ; Mn # ORIYA VOWEL SIGN I
-0B41..0B44 ; Mn # [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B4D ; Mn # ORIYA SIGN VIRAMA
-0B56 ; Mn # ORIYA AI LENGTH MARK
-0B62..0B63 ; Mn # [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; Mn # TAMIL SIGN ANUSVARA
-0BC0 ; Mn # TAMIL VOWEL SIGN II
-0BCD ; Mn # TAMIL SIGN VIRAMA
-0C3E..0C40 ; Mn # [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C46..0C48 ; Mn # [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; Mn # [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; Mn # [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; Mn # [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0CBC ; Mn # KANNADA SIGN NUKTA
-0CBF ; Mn # KANNADA VOWEL SIGN I
-0CC6 ; Mn # KANNADA VOWEL SIGN E
-0CCC..0CCD ; Mn # [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CE2..0CE3 ; Mn # [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D41..0D44 ; Mn # [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D4D ; Mn # MALAYALAM SIGN VIRAMA
-0D62..0D63 ; Mn # [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0DCA ; Mn # SINHALA SIGN AL-LAKUNA
-0DD2..0DD4 ; Mn # [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; Mn # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0E31 ; Mn # THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; Mn # [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E47..0E4E ; Mn # [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; Mn # LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; Mn # [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; Mn # [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; Mn # [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; Mn # [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; Mn # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; Mn # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; Mn # TIBETAN MARK TSA -PHRU
-0F71..0F7E ; Mn # [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; Mn # [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; Mn # [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; Mn # [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; Mn # [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; Mn # TIBETAN SYMBOL PADMA GDAN
-102D..1030 ; Mn # [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1032..1037 ; Mn # [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1039..103A ; Mn # [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103D..103E ; Mn # [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1058..1059 ; Mn # [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; Mn # [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1071..1074 ; Mn # [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; Mn # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1085..1086 ; Mn # [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108D ; Mn # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-109D ; Mn # MYANMAR VOWEL SIGN AITON AI
-135F ; Mn # ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; Mn # [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; Mn # [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; Mn # [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; Mn # [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B7..17BD ; Mn # [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17C6 ; Mn # KHMER SIGN NIKAHIT
-17C9..17D3 ; Mn # [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; Mn # KHMER SIGN ATTHACAN
-180B..180D ; Mn # [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; Mn # MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; Mn # [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1927..1928 ; Mn # [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1932 ; Mn # LIMBU SMALL LETTER ANUSVARA
-1939..193B ; Mn # [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; Mn # [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A56 ; Mn # TAI THAM CONSONANT SIGN MEDIAL LA
-1A58..1A5E ; Mn # [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; Mn # TAI THAM SIGN SAKOT
-1A62 ; Mn # TAI THAM VOWEL SIGN MAI SAT
-1A65..1A6C ; Mn # [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A73..1A7C ; Mn # [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; Mn # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; Mn # [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B34 ; Mn # BALINESE SIGN REREKAN
-1B36..1B3A ; Mn # [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3C ; Mn # BALINESE VOWEL SIGN LA LENGA
-1B42 ; Mn # BALINESE VOWEL SIGN PEPET
-1B6B..1B73 ; Mn # [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; Mn # [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1BA2..1BA5 ; Mn # [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA8..1BA9 ; Mn # [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C2C..1C33 ; Mn # [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C36..1C37 ; Mn # [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; Mn # [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; Mn # [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; Mn # [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; Mn # VEDIC SIGN TIRYAK
-1DC0..1DE6 ; Mn # [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; Mn # [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-20D0..20DC ; Mn # [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20E1 ; Mn # COMBINING LEFT RIGHT ARROW ABOVE
-20E5..20F0 ; Mn # [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; Mn # [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; Mn # [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; Mn # [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; Mn # [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; Mn # COMBINING CYRILLIC VZMET
-A67C..A67D ; Mn # [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; Mn # [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; Mn # SYLOTI NAGRI SIGN DVISVARA
-A806 ; Mn # SYLOTI NAGRI SIGN HASANTA
-A80B ; Mn # SYLOTI NAGRI SIGN ANUSVARA
-A825..A826 ; Mn # [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A8C4 ; Mn # SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; Mn # [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; Mn # [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; Mn # [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A980..A982 ; Mn # [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A9B3 ; Mn # JAVANESE SIGN CECAK TELU
-A9B6..A9B9 ; Mn # [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BC ; Mn # JAVANESE VOWEL SIGN PEPET
-AA29..AA2E ; Mn # [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA31..AA32 ; Mn # [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA35..AA36 ; Mn # [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; Mn # CHAM CONSONANT SIGN FINAL NG
-AA4C ; Mn # CHAM CONSONANT SIGN FINAL M
-AAB0 ; Mn # TAI VIET MAI KANG
-AAB2..AAB4 ; Mn # [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; Mn # [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; Mn # [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; Mn # TAI VIET TONE MAI THO
-ABE5 ; Mn # MEETEI MAYEK VOWEL SIGN ANAP
-ABE8 ; Mn # MEETEI MAYEK VOWEL SIGN UNAP
-ABED ; Mn # MEETEI MAYEK APUN IYEK
-FB1E ; Mn # HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; Mn # [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; Mn # [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-101FD ; Mn # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; Mn # [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; Mn # [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; Mn # [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; Mn # [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; Mn # KHAROSHTHI VIRAMA
-11080..11081 ; Mn # [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-110B3..110B6 ; Mn # [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B9..110BA ; Mn # [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D167..1D169 ; Mn # [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D17B..1D182 ; Mn # [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; Mn # [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; Mn # [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; Mn # [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0100..E01EF ; Mn # [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1162
-
-# ================================================
-
-# General_Category=Enclosing_Mark
-
-0488..0489 ; Me # [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-06DE ; Me # ARABIC START OF RUB EL HIZB
-20DD..20E0 ; Me # [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E2..20E4 ; Me # [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-A670..A672 ; Me # [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-
-# Total code points: 13
-
-# ================================================
-
-# General_Category=Spacing_Mark
-
-0903 ; Mc # DEVANAGARI SIGN VISARGA
-093E..0940 ; Mc # [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0949..094C ; Mc # [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094E ; Mc # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0982..0983 ; Mc # [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-09BE..09C0 ; Mc # [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C7..09C8 ; Mc # [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; Mc # [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09D7 ; Mc # BENGALI AU LENGTH MARK
-0A03 ; Mc # GURMUKHI SIGN VISARGA
-0A3E..0A40 ; Mc # [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A83 ; Mc # GUJARATI SIGN VISARGA
-0ABE..0AC0 ; Mc # [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC9 ; Mc # GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; Mc # [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0B02..0B03 ; Mc # [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B3E ; Mc # ORIYA VOWEL SIGN AA
-0B40 ; Mc # ORIYA VOWEL SIGN II
-0B47..0B48 ; Mc # [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; Mc # [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B57 ; Mc # ORIYA AU LENGTH MARK
-0BBE..0BBF ; Mc # [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC1..0BC2 ; Mc # [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; Mc # [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; Mc # [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BD7 ; Mc # TAMIL AU LENGTH MARK
-0C01..0C03 ; Mc # [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C41..0C44 ; Mc # [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C82..0C83 ; Mc # [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0CBE ; Mc # KANNADA VOWEL SIGN AA
-0CC0..0CC4 ; Mc # [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC7..0CC8 ; Mc # [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; Mc # [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CD5..0CD6 ; Mc # [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0D02..0D03 ; Mc # [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D3E..0D40 ; Mc # [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D46..0D48 ; Mc # [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; Mc # [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D57 ; Mc # MALAYALAM AU LENGTH MARK
-0D82..0D83 ; Mc # [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0DCF..0DD1 ; Mc # [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD8..0DDF ; Mc # [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; Mc # [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0F3E..0F3F ; Mc # [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F7F ; Mc # TIBETAN SIGN RNAM BCAD
-102B..102C ; Mc # [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-1031 ; Mc # MYANMAR VOWEL SIGN E
-1038 ; Mc # MYANMAR SIGN VISARGA
-103B..103C ; Mc # [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-1056..1057 ; Mc # [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1062..1064 ; Mc # [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1067..106D ; Mc # [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1083..1084 ; Mc # [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1087..108C ; Mc # [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108F ; Mc # MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109C ; Mc # [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-17B6 ; Mc # KHMER VOWEL SIGN AA
-17BE..17C5 ; Mc # [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C7..17C8 ; Mc # [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-1923..1926 ; Mc # [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1929..192B ; Mc # [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; Mc # [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1933..1938 ; Mc # [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B0..19C0 ; Mc # [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9 ; Mc # [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-1A19..1A1B ; Mc # [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A55 ; Mc # TAI THAM CONSONANT SIGN MEDIAL RA
-1A57 ; Mc # TAI THAM CONSONANT SIGN LA TANG LAI
-1A61 ; Mc # TAI THAM VOWEL SIGN A
-1A63..1A64 ; Mc # [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A6D..1A72 ; Mc # [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1B04 ; Mc # BALINESE SIGN BISAH
-1B35 ; Mc # BALINESE VOWEL SIGN TEDUNG
-1B3B ; Mc # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3D..1B41 ; Mc # [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B43..1B44 ; Mc # [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B82 ; Mc # SUNDANESE SIGN PANGWISAD
-1BA1 ; Mc # SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA6..1BA7 ; Mc # [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BAA ; Mc # SUNDANESE SIGN PAMAAEH
-1C24..1C2B ; Mc # [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C34..1C35 ; Mc # [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1CE1 ; Mc # VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CF2 ; Mc # VEDIC SIGN ARDHAVISARGA
-A823..A824 ; Mc # [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A827 ; Mc # SYLOTI NAGRI VOWEL SIGN OO
-A880..A881 ; Mc # [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A8B4..A8C3 ; Mc # [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A952..A953 ; Mc # [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A983 ; Mc # JAVANESE SIGN WIGNYAN
-A9B4..A9B5 ; Mc # [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9BA..A9BB ; Mc # [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BD..A9C0 ; Mc # [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-AA2F..AA30 ; Mc # [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA33..AA34 ; Mc # [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA4D ; Mc # CHAM CONSONANT SIGN FINAL H
-AA7B ; Mc # MYANMAR SIGN PAO KAREN TONE
-ABE3..ABE4 ; Mc # [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE6..ABE7 ; Mc # [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE9..ABEA ; Mc # [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; Mc # MEETEI MAYEK LUM IYEK
-11082 ; Mc # KAITHI SIGN VISARGA
-110B0..110B2 ; Mc # [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B7..110B8 ; Mc # [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-1D165..1D166 ; Mc # [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D16D..1D172 ; Mc # [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-
-# Total code points: 276
-
-# ================================================
-
-# General_Category=Decimal_Number
-
-0030..0039 ; Nd # [10] DIGIT ZERO..DIGIT NINE
-0660..0669 ; Nd # [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-06F0..06F9 ; Nd # [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-07C0..07C9 ; Nd # [10] NKO DIGIT ZERO..NKO DIGIT NINE
-0966..096F ; Nd # [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-09E6..09EF ; Nd # [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-0A66..0A6F ; Nd # [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0AE6..0AEF ; Nd # [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B66..0B6F ; Nd # [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0BE6..0BEF ; Nd # [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C66..0C6F ; Nd # [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0CE6..0CEF ; Nd # [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D66..0D6F ; Nd # [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0E50..0E59 ; Nd # [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0ED0..0ED9 ; Nd # [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0F20..0F29 ; Nd # [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-1040..1049 ; Nd # [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1090..1099 ; Nd # [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-17E0..17E9 ; Nd # [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1810..1819 ; Nd # [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1946..194F ; Nd # [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-19D0..19DA ; Nd # [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A80..1A89 ; Nd # [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; Nd # [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1B50..1B59 ; Nd # [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1BB0..1BB9 ; Nd # [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C40..1C49 ; Nd # [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C50..1C59 ; Nd # [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-A620..A629 ; Nd # [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A8D0..A8D9 ; Nd # [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A900..A909 ; Nd # [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A9D0..A9D9 ; Nd # [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA50..AA59 ; Nd # [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-ABF0..ABF9 ; Nd # [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-FF10..FF19 ; Nd # [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-104A0..104A9 ; Nd # [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-1D7CE..1D7FF ; Nd # [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 411
-
-# ================================================
-
-# General_Category=Letter_Number
-
-16EE..16F0 ; Nl # [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-2160..2182 ; Nl # [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2185..2188 ; Nl # [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-3007 ; Nl # IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; Nl # [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3038..303A ; Nl # [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-A6E6..A6EF ; Nl # [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-10140..10174 ; Nl # [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10341 ; Nl # GOTHIC LETTER NINETY
-1034A ; Nl # GOTHIC LETTER NINE HUNDRED
-103D1..103D5 ; Nl # [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-12400..12462 ; Nl # [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-
-# Total code points: 224
-
-# ================================================
-
-# General_Category=Other_Number
-
-00B2..00B3 ; No # [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B9 ; No # SUPERSCRIPT ONE
-00BC..00BE ; No # [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-09F4..09F9 ; No # [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-0BF0..0BF2 ; No # [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0C78..0C7E ; No # [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0D70..0D75 ; No # [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0F2A..0F33 ; No # [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-1369..137C ; No # [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-17F0..17F9 ; No # [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-2070 ; No # SUPERSCRIPT ZERO
-2074..2079 ; No # [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-2080..2089 ; No # [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-2150..215F ; No # [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2189 ; No # VULGAR FRACTION ZERO THIRDS
-2460..249B ; No # [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-24EA..24FF ; No # [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
-2776..2793 ; No # [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2CFD ; No # COPTIC FRACTION ONE HALF
-3192..3195 ; No # [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3220..3229 ; No # [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-3251..325F ; No # [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3280..3289 ; No # [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-32B1..32BF ; No # [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-A830..A835 ; No # [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-10107..10133 ; No # [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10175..10178 ; No # [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-1018A ; No # GREEK ZERO SIGN
-10320..10323 ; No # [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10858..1085F ; No # [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10916..1091B ; No # [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-10A40..10A47 ; No # [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A7D..10A7E ; No # [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10B58..10B5F ; No # [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B78..10B7F ; No # [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10E60..10E7E ; No # [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-1D360..1D371 ; No # [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1F100..1F10A ; No # [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-
-# Total code points: 429
-
-# ================================================
-
-# General_Category=Space_Separator
-
-0020 ; Zs # SPACE
-00A0 ; Zs # NO-BREAK SPACE
-1680 ; Zs # OGHAM SPACE MARK
-180E ; Zs # MONGOLIAN VOWEL SEPARATOR
-2000..200A ; Zs # [11] EN QUAD..HAIR SPACE
-202F ; Zs # NARROW NO-BREAK SPACE
-205F ; Zs # MEDIUM MATHEMATICAL SPACE
-3000 ; Zs # IDEOGRAPHIC SPACE
-
-# Total code points: 18
-
-# ================================================
-
-# General_Category=Line_Separator
-
-2028 ; Zl # LINE SEPARATOR
-
-# Total code points: 1
-
-# ================================================
-
-# General_Category=Paragraph_Separator
-
-2029 ; Zp # PARAGRAPH SEPARATOR
-
-# Total code points: 1
-
-# ================================================
-
-# General_Category=Control
-
-0000..001F ; Cc # [32] <control-0000>..<control-001F>
-007F..009F ; Cc # [33] <control-007F>..<control-009F>
-
-# Total code points: 65
-
-# ================================================
-
-# General_Category=Format
-
-00AD ; Cf # SOFT HYPHEN
-0600..0603 ; Cf # [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-06DD ; Cf # ARABIC END OF AYAH
-070F ; Cf # SYRIAC ABBREVIATION MARK
-17B4..17B5 ; Cf # [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-200B..200F ; Cf # [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
-202A..202E ; Cf # [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; Cf # [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; Cf # [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-FEFF ; Cf # ZERO WIDTH NO-BREAK SPACE
-FFF9..FFFB ; Cf # [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-110BD ; Cf # KAITHI NUMBER SIGN
-1D173..1D17A ; Cf # [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-E0001 ; Cf # LANGUAGE TAG
-E0020..E007F ; Cf # [96] TAG SPACE..CANCEL TAG
-
-# Total code points: 140
-
-# ================================================
-
-# General_Category=Private_Use
-
-E000..F8FF ; Co # [6400] <private-use-E000>..<private-use-F8FF>
-F0000..FFFFD ; Co # [65534] <private-use-F0000>..<private-use-FFFFD>
-100000..10FFFD; Co # [65534] <private-use-100000>..<private-use-10FFFD>
-
-# Total code points: 137468
-
-# ================================================
-
-# General_Category=Surrogate
-
-D800..DFFF ; Cs # [2048] <surrogate-D800>..<surrogate-DFFF>
-
-# Total code points: 2048
-
-# ================================================
-
-# General_Category=Dash_Punctuation
-
-002D ; Pd # HYPHEN-MINUS
-058A ; Pd # ARMENIAN HYPHEN
-05BE ; Pd # HEBREW PUNCTUATION MAQAF
-1400 ; Pd # CANADIAN SYLLABICS HYPHEN
-1806 ; Pd # MONGOLIAN TODO SOFT HYPHEN
-2010..2015 ; Pd # [6] HYPHEN..HORIZONTAL BAR
-2E17 ; Pd # DOUBLE OBLIQUE HYPHEN
-2E1A ; Pd # HYPHEN WITH DIAERESIS
-301C ; Pd # WAVE DASH
-3030 ; Pd # WAVY DASH
-30A0 ; Pd # KATAKANA-HIRAGANA DOUBLE HYPHEN
-FE31..FE32 ; Pd # [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE58 ; Pd # SMALL EM DASH
-FE63 ; Pd # SMALL HYPHEN-MINUS
-FF0D ; Pd # FULLWIDTH HYPHEN-MINUS
-
-# Total code points: 21
-
-# ================================================
-
-# General_Category=Open_Punctuation
-
-0028 ; Ps # LEFT PARENTHESIS
-005B ; Ps # LEFT SQUARE BRACKET
-007B ; Ps # LEFT CURLY BRACKET
-0F3A ; Ps # TIBETAN MARK GUG RTAGS GYON
-0F3C ; Ps # TIBETAN MARK ANG KHANG GYON
-169B ; Ps # OGHAM FEATHER MARK
-201A ; Ps # SINGLE LOW-9 QUOTATION MARK
-201E ; Ps # DOUBLE LOW-9 QUOTATION MARK
-2045 ; Ps # LEFT SQUARE BRACKET WITH QUILL
-207D ; Ps # SUPERSCRIPT LEFT PARENTHESIS
-208D ; Ps # SUBSCRIPT LEFT PARENTHESIS
-2329 ; Ps # LEFT-POINTING ANGLE BRACKET
-2768 ; Ps # MEDIUM LEFT PARENTHESIS ORNAMENT
-276A ; Ps # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276C ; Ps # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276E ; Ps # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; Ps # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; Ps # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; Ps # MEDIUM LEFT CURLY BRACKET ORNAMENT
-27C5 ; Ps # LEFT S-SHAPED BAG DELIMITER
-27E6 ; Ps # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E8 ; Ps # MATHEMATICAL LEFT ANGLE BRACKET
-27EA ; Ps # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EC ; Ps # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27EE ; Ps # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-2983 ; Ps # LEFT WHITE CURLY BRACKET
-2985 ; Ps # LEFT WHITE PARENTHESIS
-2987 ; Ps # Z NOTATION LEFT IMAGE BRACKET
-2989 ; Ps # Z NOTATION LEFT BINDING BRACKET
-298B ; Ps # LEFT SQUARE BRACKET WITH UNDERBAR
-298D ; Ps # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298F ; Ps # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2991 ; Ps # LEFT ANGLE BRACKET WITH DOT
-2993 ; Ps # LEFT ARC LESS-THAN BRACKET
-2995 ; Ps # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2997 ; Ps # LEFT BLACK TORTOISE SHELL BRACKET
-29D8 ; Ps # LEFT WIGGLY FENCE
-29DA ; Ps # LEFT DOUBLE WIGGLY FENCE
-29FC ; Ps # LEFT-POINTING CURVED ANGLE BRACKET
-2E22 ; Ps # TOP LEFT HALF BRACKET
-2E24 ; Ps # BOTTOM LEFT HALF BRACKET
-2E26 ; Ps # LEFT SIDEWAYS U BRACKET
-2E28 ; Ps # LEFT DOUBLE PARENTHESIS
-3008 ; Ps # LEFT ANGLE BRACKET
-300A ; Ps # LEFT DOUBLE ANGLE BRACKET
-300C ; Ps # LEFT CORNER BRACKET
-300E ; Ps # LEFT WHITE CORNER BRACKET
-3010 ; Ps # LEFT BLACK LENTICULAR BRACKET
-3014 ; Ps # LEFT TORTOISE SHELL BRACKET
-3016 ; Ps # LEFT WHITE LENTICULAR BRACKET
-3018 ; Ps # LEFT WHITE TORTOISE SHELL BRACKET
-301A ; Ps # LEFT WHITE SQUARE BRACKET
-301D ; Ps # REVERSED DOUBLE PRIME QUOTATION MARK
-FD3E ; Ps # ORNATE LEFT PARENTHESIS
-FE17 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE35 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE37 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE39 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3B ; Ps # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3D ; Ps # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3F ; Ps # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE41 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE43 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE47 ; Ps # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE59 ; Ps # SMALL LEFT PARENTHESIS
-FE5B ; Ps # SMALL LEFT CURLY BRACKET
-FE5D ; Ps # SMALL LEFT TORTOISE SHELL BRACKET
-FF08 ; Ps # FULLWIDTH LEFT PARENTHESIS
-FF3B ; Ps # FULLWIDTH LEFT SQUARE BRACKET
-FF5B ; Ps # FULLWIDTH LEFT CURLY BRACKET
-FF5F ; Ps # FULLWIDTH LEFT WHITE PARENTHESIS
-FF62 ; Ps # HALFWIDTH LEFT CORNER BRACKET
-
-# Total code points: 72
-
-# ================================================
-
-# General_Category=Close_Punctuation
-
-0029 ; Pe # RIGHT PARENTHESIS
-005D ; Pe # RIGHT SQUARE BRACKET
-007D ; Pe # RIGHT CURLY BRACKET
-0F3B ; Pe # TIBETAN MARK GUG RTAGS GYAS
-0F3D ; Pe # TIBETAN MARK ANG KHANG GYAS
-169C ; Pe # OGHAM REVERSED FEATHER MARK
-2046 ; Pe # RIGHT SQUARE BRACKET WITH QUILL
-207E ; Pe # SUPERSCRIPT RIGHT PARENTHESIS
-208E ; Pe # SUBSCRIPT RIGHT PARENTHESIS
-232A ; Pe # RIGHT-POINTING ANGLE BRACKET
-2769 ; Pe # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276B ; Pe # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276D ; Pe # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276F ; Pe # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2771 ; Pe # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2773 ; Pe # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2775 ; Pe # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-27C6 ; Pe # RIGHT S-SHAPED BAG DELIMITER
-27E7 ; Pe # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E9 ; Pe # MATHEMATICAL RIGHT ANGLE BRACKET
-27EB ; Pe # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27ED ; Pe # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EF ; Pe # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2984 ; Pe # RIGHT WHITE CURLY BRACKET
-2986 ; Pe # RIGHT WHITE PARENTHESIS
-2988 ; Pe # Z NOTATION RIGHT IMAGE BRACKET
-298A ; Pe # Z NOTATION RIGHT BINDING BRACKET
-298C ; Pe # RIGHT SQUARE BRACKET WITH UNDERBAR
-298E ; Pe # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; Pe # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2992 ; Pe # RIGHT ANGLE BRACKET WITH DOT
-2994 ; Pe # RIGHT ARC GREATER-THAN BRACKET
-2996 ; Pe # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2998 ; Pe # RIGHT BLACK TORTOISE SHELL BRACKET
-29D9 ; Pe # RIGHT WIGGLY FENCE
-29DB ; Pe # RIGHT DOUBLE WIGGLY FENCE
-29FD ; Pe # RIGHT-POINTING CURVED ANGLE BRACKET
-2E23 ; Pe # TOP RIGHT HALF BRACKET
-2E25 ; Pe # BOTTOM RIGHT HALF BRACKET
-2E27 ; Pe # RIGHT SIDEWAYS U BRACKET
-2E29 ; Pe # RIGHT DOUBLE PARENTHESIS
-3009 ; Pe # RIGHT ANGLE BRACKET
-300B ; Pe # RIGHT DOUBLE ANGLE BRACKET
-300D ; Pe # RIGHT CORNER BRACKET
-300F ; Pe # RIGHT WHITE CORNER BRACKET
-3011 ; Pe # RIGHT BLACK LENTICULAR BRACKET
-3015 ; Pe # RIGHT TORTOISE SHELL BRACKET
-3017 ; Pe # RIGHT WHITE LENTICULAR BRACKET
-3019 ; Pe # RIGHT WHITE TORTOISE SHELL BRACKET
-301B ; Pe # RIGHT WHITE SQUARE BRACKET
-301E..301F ; Pe # [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-FD3F ; Pe # ORNATE RIGHT PARENTHESIS
-FE18 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE36 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE38 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE3A ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3C ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3E ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE40 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE42 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE44 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE48 ; Pe # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE5A ; Pe # SMALL RIGHT PARENTHESIS
-FE5C ; Pe # SMALL RIGHT CURLY BRACKET
-FE5E ; Pe # SMALL RIGHT TORTOISE SHELL BRACKET
-FF09 ; Pe # FULLWIDTH RIGHT PARENTHESIS
-FF3D ; Pe # FULLWIDTH RIGHT SQUARE BRACKET
-FF5D ; Pe # FULLWIDTH RIGHT CURLY BRACKET
-FF60 ; Pe # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF63 ; Pe # HALFWIDTH RIGHT CORNER BRACKET
-
-# Total code points: 71
-
-# ================================================
-
-# General_Category=Connector_Punctuation
-
-005F ; Pc # LOW LINE
-203F..2040 ; Pc # [2] UNDERTIE..CHARACTER TIE
-2054 ; Pc # INVERTED UNDERTIE
-FE33..FE34 ; Pc # [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE4D..FE4F ; Pc # [3] DASHED LOW LINE..WAVY LOW LINE
-FF3F ; Pc # FULLWIDTH LOW LINE
-
-# Total code points: 10
-
-# ================================================
-
-# General_Category=Other_Punctuation
-
-0021..0023 ; Po # [3] EXCLAMATION MARK..NUMBER SIGN
-0025..0027 ; Po # [3] PERCENT SIGN..APOSTROPHE
-002A ; Po # ASTERISK
-002C ; Po # COMMA
-002E..002F ; Po # [2] FULL STOP..SOLIDUS
-003A..003B ; Po # [2] COLON..SEMICOLON
-003F..0040 ; Po # [2] QUESTION MARK..COMMERCIAL AT
-005C ; Po # REVERSE SOLIDUS
-00A1 ; Po # INVERTED EXCLAMATION MARK
-00B7 ; Po # MIDDLE DOT
-00BF ; Po # INVERTED QUESTION MARK
-037E ; Po # GREEK QUESTION MARK
-0387 ; Po # GREEK ANO TELEIA
-055A..055F ; Po # [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0589 ; Po # ARMENIAN FULL STOP
-05C0 ; Po # HEBREW PUNCTUATION PASEQ
-05C3 ; Po # HEBREW PUNCTUATION SOF PASUQ
-05C6 ; Po # HEBREW PUNCTUATION NUN HAFUKHA
-05F3..05F4 ; Po # [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0609..060A ; Po # [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-060C..060D ; Po # [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-061B ; Po # ARABIC SEMICOLON
-061E..061F ; Po # [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
-066A..066D ; Po # [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
-06D4 ; Po # ARABIC FULL STOP
-0700..070D ; Po # [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-07F7..07F9 ; Po # [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
-0830..083E ; Po # [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0964..0965 ; Po # [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0970 ; Po # DEVANAGARI ABBREVIATION SIGN
-0DF4 ; Po # SINHALA PUNCTUATION KUNDDALIYA
-0E4F ; Po # THAI CHARACTER FONGMAN
-0E5A..0E5B ; Po # [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0F04..0F12 ; Po # [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F85 ; Po # TIBETAN MARK PALUTA
-0FD0..0FD4 ; Po # [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-104A..104F ; Po # [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
-10FB ; Po # GEORGIAN PARAGRAPH SEPARATOR
-1361..1368 ; Po # [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
-166D..166E ; Po # [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-16EB..16ED ; Po # [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-1735..1736 ; Po # [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-17D4..17D6 ; Po # [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
-17D8..17DA ; Po # [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
-1800..1805 ; Po # [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS
-1807..180A ; Po # [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
-1944..1945 ; Po # [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-19DE..19DF ; Po # [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-1A1E..1A1F ; Po # [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1AA0..1AA6 ; Po # [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA8..1AAD ; Po # [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-1B5A..1B60 ; Po # [7] BALINESE PANTI..BALINESE PAMENENG
-1C3B..1C3F ; Po # [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C7E..1C7F ; Po # [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CD3 ; Po # VEDIC SIGN NIHSHVASA
-2016..2017 ; Po # [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
-2020..2027 ; Po # [8] DAGGER..HYPHENATION POINT
-2030..2038 ; Po # [9] PER MILLE SIGN..CARET
-203B..203E ; Po # [4] REFERENCE MARK..OVERLINE
-2041..2043 ; Po # [3] CARET INSERTION POINT..HYPHEN BULLET
-2047..2051 ; Po # [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY
-2053 ; Po # SWUNG DASH
-2055..205E ; Po # [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
-2CF9..2CFC ; Po # [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFE..2CFF ; Po # [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
-2E00..2E01 ; Po # [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E06..2E08 ; Po # [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E0B ; Po # RAISED SQUARE
-2E0E..2E16 ; Po # [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
-2E18..2E19 ; Po # [2] INVERTED INTERROBANG..PALM BRANCH
-2E1B ; Po # TILDE WITH RING ABOVE
-2E1E..2E1F ; Po # [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E2A..2E2E ; Po # [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E30..2E31 ; Po # [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-3001..3003 ; Po # [3] IDEOGRAPHIC COMMA..DITTO MARK
-303D ; Po # PART ALTERNATION MARK
-30FB ; Po # KATAKANA MIDDLE DOT
-A4FE..A4FF ; Po # [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A60D..A60F ; Po # [3] VAI COMMA..VAI QUESTION MARK
-A673 ; Po # SLAVONIC ASTERISK
-A67E ; Po # CYRILLIC KAVYKA
-A6F2..A6F7 ; Po # [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
-A874..A877 ; Po # [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
-A8CE..A8CF ; Po # [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A8F8..A8FA ; Po # [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A92E..A92F ; Po # [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-A95F ; Po # REJANG SECTION MARK
-A9C1..A9CD ; Po # [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
-A9DE..A9DF ; Po # [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA5C..AA5F ; Po # [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
-AADE..AADF ; Po # [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-ABEB ; Po # MEETEI MAYEK CHEIKHEI
-FE10..FE16 ; Po # [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE19 ; Po # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-FE30 ; Po # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE45..FE46 ; Po # [2] SESAME DOT..WHITE SESAME DOT
-FE49..FE4C ; Po # [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE50..FE52 ; Po # [3] SMALL COMMA..SMALL FULL STOP
-FE54..FE57 ; Po # [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
-FE5F..FE61 ; Po # [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE68 ; Po # SMALL REVERSE SOLIDUS
-FE6A..FE6B ; Po # [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-FF01..FF03 ; Po # [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN
-FF05..FF07 ; Po # [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
-FF0A ; Po # FULLWIDTH ASTERISK
-FF0C ; Po # FULLWIDTH COMMA
-FF0E..FF0F ; Po # [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS
-FF1A..FF1B ; Po # [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF1F..FF20 ; Po # [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT
-FF3C ; Po # FULLWIDTH REVERSE SOLIDUS
-FF61 ; Po # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF64..FF65 ; Po # [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-10100..10101 ; Po # [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-1039F ; Po # UGARITIC WORD DIVIDER
-103D0 ; Po # OLD PERSIAN WORD DIVIDER
-10857 ; Po # IMPERIAL ARAMAIC SECTION SIGN
-1091F ; Po # PHOENICIAN WORD SEPARATOR
-1093F ; Po # LYDIAN TRIANGULAR MARK
-10A50..10A58 ; Po # [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
-10A7F ; Po # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B39..10B3F ; Po # [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-110BB..110BC ; Po # [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BE..110C1 ; Po # [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12470..12473 ; Po # [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-
-# Total code points: 389
-
-# ================================================
-
-# General_Category=Math_Symbol
-
-002B ; Sm # PLUS SIGN
-003C..003E ; Sm # [3] LESS-THAN SIGN..GREATER-THAN SIGN
-007C ; Sm # VERTICAL LINE
-007E ; Sm # TILDE
-00AC ; Sm # NOT SIGN
-00B1 ; Sm # PLUS-MINUS SIGN
-00D7 ; Sm # MULTIPLICATION SIGN
-00F7 ; Sm # DIVISION SIGN
-03F6 ; Sm # GREEK REVERSED LUNATE EPSILON SYMBOL
-0606..0608 ; Sm # [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-2044 ; Sm # FRACTION SLASH
-2052 ; Sm # COMMERCIAL MINUS SIGN
-207A..207C ; Sm # [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-208A..208C ; Sm # [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-2140..2144 ; Sm # [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-214B ; Sm # TURNED AMPERSAND
-2190..2194 ; Sm # [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-219A..219B ; Sm # [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-21A0 ; Sm # RIGHTWARDS TWO HEADED ARROW
-21A3 ; Sm # RIGHTWARDS ARROW WITH TAIL
-21A6 ; Sm # RIGHTWARDS ARROW FROM BAR
-21AE ; Sm # LEFT RIGHT ARROW WITH STROKE
-21CE..21CF ; Sm # [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D2 ; Sm # RIGHTWARDS DOUBLE ARROW
-21D4 ; Sm # LEFT RIGHT DOUBLE ARROW
-21F4..22FF ; Sm # [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
-2308..230B ; Sm # [4] LEFT CEILING..RIGHT FLOOR
-2320..2321 ; Sm # [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-237C ; Sm # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-239B..23B3 ; Sm # [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23DC..23E1 ; Sm # [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-25B7 ; Sm # WHITE RIGHT-POINTING TRIANGLE
-25C1 ; Sm # WHITE LEFT-POINTING TRIANGLE
-25F8..25FF ; Sm # [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-266F ; Sm # MUSIC SHARP SIGN
-27C0..27C4 ; Sm # [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C7..27CA ; Sm # [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; Sm # LONG DIVISION
-27D0..27E5 ; Sm # [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27F0..27FF ; Sm # [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2900..2982 ; Sm # [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2999..29D7 ; Sm # [63] DOTTED FENCE..BLACK HOURGLASS
-29DC..29FB ; Sm # [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FE..2AFF ; Sm # [258] TINY..N-ARY WHITE VERTICAL BAR
-2B30..2B44 ; Sm # [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B47..2B4C ; Sm # [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-FB29 ; Sm # HEBREW LETTER ALTERNATIVE PLUS SIGN
-FE62 ; Sm # SMALL PLUS SIGN
-FE64..FE66 ; Sm # [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FF0B ; Sm # FULLWIDTH PLUS SIGN
-FF1C..FF1E ; Sm # [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF5C ; Sm # FULLWIDTH VERTICAL LINE
-FF5E ; Sm # FULLWIDTH TILDE
-FFE2 ; Sm # FULLWIDTH NOT SIGN
-FFE9..FFEC ; Sm # [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-1D6C1 ; Sm # MATHEMATICAL BOLD NABLA
-1D6DB ; Sm # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6FB ; Sm # MATHEMATICAL ITALIC NABLA
-1D715 ; Sm # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D735 ; Sm # MATHEMATICAL BOLD ITALIC NABLA
-1D74F ; Sm # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D76F ; Sm # MATHEMATICAL SANS-SERIF BOLD NABLA
-1D789 ; Sm # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D7A9 ; Sm # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7C3 ; Sm # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-
-# Total code points: 945
-
-# ================================================
-
-# General_Category=Currency_Symbol
-
-0024 ; Sc # DOLLAR SIGN
-00A2..00A5 ; Sc # [4] CENT SIGN..YEN SIGN
-060B ; Sc # AFGHANI SIGN
-09F2..09F3 ; Sc # [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09FB ; Sc # BENGALI GANDA MARK
-0AF1 ; Sc # GUJARATI RUPEE SIGN
-0BF9 ; Sc # TAMIL RUPEE SIGN
-0E3F ; Sc # THAI CURRENCY SYMBOL BAHT
-17DB ; Sc # KHMER CURRENCY SYMBOL RIEL
-20A0..20B8 ; Sc # [25] EURO-CURRENCY SIGN..TENGE SIGN
-A838 ; Sc # NORTH INDIC RUPEE MARK
-FDFC ; Sc # RIAL SIGN
-FE69 ; Sc # SMALL DOLLAR SIGN
-FF04 ; Sc # FULLWIDTH DOLLAR SIGN
-FFE0..FFE1 ; Sc # [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
-FFE5..FFE6 ; Sc # [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-
-# Total code points: 46
-
-# ================================================
-
-# General_Category=Modifier_Symbol
-
-005E ; Sk # CIRCUMFLEX ACCENT
-0060 ; Sk # GRAVE ACCENT
-00A8 ; Sk # DIAERESIS
-00AF ; Sk # MACRON
-00B4 ; Sk # ACUTE ACCENT
-00B8 ; Sk # CEDILLA
-02C2..02C5 ; Sk # [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02D2..02DF ; Sk # [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
-02E5..02EB ; Sk # [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02ED ; Sk # MODIFIER LETTER UNASPIRATED
-02EF..02FF ; Sk # [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0375 ; Sk # GREEK LOWER NUMERAL SIGN
-0384..0385 ; Sk # [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-1FBD ; Sk # GREEK KORONIS
-1FBF..1FC1 ; Sk # [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FCD..1FCF ; Sk # [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FDD..1FDF ; Sk # [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FED..1FEF ; Sk # [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FFD..1FFE ; Sk # [2] GREEK OXIA..GREEK DASIA
-309B..309C ; Sk # [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A700..A716 ; Sk # [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A720..A721 ; Sk # [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A789..A78A ; Sk # [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-FF3E ; Sk # FULLWIDTH CIRCUMFLEX ACCENT
-FF40 ; Sk # FULLWIDTH GRAVE ACCENT
-FFE3 ; Sk # FULLWIDTH MACRON
-
-# Total code points: 99
-
-# ================================================
-
-# General_Category=Other_Symbol
-
-00A6..00A7 ; So # [2] BROKEN BAR..SECTION SIGN
-00A9 ; So # COPYRIGHT SIGN
-00AE ; So # REGISTERED SIGN
-00B0 ; So # DEGREE SIGN
-00B6 ; So # PILCROW SIGN
-0482 ; So # CYRILLIC THOUSANDS SIGN
-060E..060F ; So # [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-06E9 ; So # ARABIC PLACE OF SAJDAH
-06FD..06FE ; So # [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-07F6 ; So # NKO SYMBOL OO DENNEN
-09FA ; So # BENGALI ISSHAR
-0B70 ; So # ORIYA ISSHAR
-0BF3..0BF8 ; So # [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BFA ; So # TAMIL NUMBER SIGN
-0C7F ; So # TELUGU SIGN TUUMU
-0CF1..0CF2 ; So # [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D79 ; So # MALAYALAM DATE MARK
-0F01..0F03 ; So # [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F13..0F17 ; So # [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F1A..0F1F ; So # [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F34 ; So # TIBETAN MARK BSDUS RTAGS
-0F36 ; So # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F38 ; So # TIBETAN MARK CHE MGO
-0FBE..0FC5 ; So # [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
-0FC7..0FCC ; So # [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; So # [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD5..0FD8 ; So # [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-109E..109F ; So # [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-1360 ; So # ETHIOPIC SECTION MARK
-1390..1399 ; So # [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-1940 ; So # LIMBU SIGN LOO
-19E0..19FF ; So # [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1B61..1B6A ; So # [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B74..1B7C ; So # [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-2100..2101 ; So # [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2103..2106 ; So # [4] DEGREE CELSIUS..CADA UNA
-2108..2109 ; So # [2] SCRUPLE..DEGREE FAHRENHEIT
-2114 ; So # L B BAR SYMBOL
-2116..2118 ; So # [3] NUMERO SIGN..SCRIPT CAPITAL P
-211E..2123 ; So # [6] PRESCRIPTION TAKE..VERSICLE
-2125 ; So # OUNCE SIGN
-2127 ; So # INVERTED OHM SIGN
-2129 ; So # TURNED GREEK SMALL LETTER IOTA
-212E ; So # ESTIMATED SYMBOL
-213A..213B ; So # [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-214A ; So # PROPERTY LINE
-214C..214D ; So # [2] PER SIGN..AKTIESELSKAB
-214F ; So # SYMBOL FOR SAMARITAN SOURCE
-2195..2199 ; So # [5] UP DOWN ARROW..SOUTH WEST ARROW
-219C..219F ; So # [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A1..21A2 ; So # [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A4..21A5 ; So # [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A7..21AD ; So # [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AF..21CD ; So # [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; So # [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D3 ; So # DOWNWARDS DOUBLE ARROW
-21D5..21F3 ; So # [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-2300..2307 ; So # [8] DIAMETER SIGN..WAVY LINE
-230C..231F ; So # [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
-2322..2328 ; So # [7] FROWN..KEYBOARD
-232B..237B ; So # [81] ERASE TO THE LEFT..NOT CHECK MARK
-237D..239A ; So # [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-23B4..23DB ; So # [40] TOP SQUARE BRACKET..FUSE
-23E2..23E8 ; So # [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; So # [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; So # [11] OCR HOOK..OCR DOUBLE BACKSLASH
-249C..24E9 ; So # [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2500..25B6 ; So # [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
-25B8..25C0 ; So # [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
-25C2..25F7 ; So # [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-2600..266E ; So # [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN
-2670..26CD ; So # [94] WEST SYRIAC CROSS..DISABLED CAR
-26CF..26E1 ; So # [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; So # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; So # [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701..2704 ; So # [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; So # [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; So # [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; So # [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; So # SHADOWED WHITE CIRCLE
-274F..2752 ; So # [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756..275E ; So # [9] BLACK DIAMOND MINUS WHITE X..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761..2767 ; So # [7] CURVED STEM PARAGRAPH SIGN ORNAMENT..ROTATED FLORAL HEART BULLET
-2794 ; So # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; So # [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; So # [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-2800..28FF ; So # [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2B00..2B2F ; So # [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B45..2B46 ; So # [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B50..2B59 ; So # [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
-2CE5..2CEA ; So # [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2E80..2E99 ; So # [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; So # [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; So # [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; So # [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3004 ; So # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3012..3013 ; So # [2] POSTAL MARK..GETA MARK
-3020 ; So # POSTAL MARK FACE
-3036..3037 ; So # [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303E..303F ; So # [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
-3190..3191 ; So # [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3196..319F ; So # [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31C0..31E3 ; So # [36] CJK STROKE T..CJK STROKE Q
-3200..321E ; So # [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-322A..3250 ; So # [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
-3260..327F ; So # [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
-328A..32B0 ; So # [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32C0..32FE ; So # [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; So # [256] SQUARE APAATO..SQUARE GAL
-4DC0..4DFF ; So # [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-A490..A4C6 ; So # [55] YI RADICAL QOT..YI RADICAL KE
-A828..A82B ; So # [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-A836..A837 ; So # [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A839 ; So # NORTH INDIC QUANTITY MARK
-AA77..AA79 ; So # [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-FDFD ; So # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FFE4 ; So # FULLWIDTH BROKEN BAR
-FFE8 ; So # HALFWIDTH FORMS LIGHT VERTICAL
-FFED..FFEE ; So # [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-FFFC..FFFD ; So # [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10102 ; So # AEGEAN CHECK MARK
-10137..1013F ; So # [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10179..10189 ; So # [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-10190..1019B ; So # [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FC ; So # [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-1D000..1D0F5 ; So # [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; So # [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; So # [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D16A..1D16C ; So # [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D183..1D184 ; So # [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D18C..1D1A9 ; So # [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD ; So # [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D200..1D241 ; So # [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D245 ; So # GREEK MUSICAL LEIMMA
-1D300..1D356 ; So # [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1F000..1F02B ; So # [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; So # [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F110..1F12E ; So # [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F131 ; So # SQUARED LATIN CAPITAL LETTER B
-1F13D ; So # SQUARED LATIN CAPITAL LETTER N
-1F13F ; So # SQUARED LATIN CAPITAL LETTER P
-1F142 ; So # SQUARED LATIN CAPITAL LETTER S
-1F146 ; So # SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; So # [5] SQUARED HV..SQUARED PPV
-1F157 ; So # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; So # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; So # NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; So # [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; So # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; So # [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; So # SQUARE DJ
-1F200 ; So # SQUARE HIRAGANA HOKA
-1F210..1F231 ; So # [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; So # [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-
-# Total code points: 3409
-
-# ================================================
-
-# General_Category=Initial_Punctuation
-
-00AB ; Pi # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-2018 ; Pi # LEFT SINGLE QUOTATION MARK
-201B..201C ; Pi # [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201F ; Pi # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2039 ; Pi # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-2E02 ; Pi # LEFT SUBSTITUTION BRACKET
-2E04 ; Pi # LEFT DOTTED SUBSTITUTION BRACKET
-2E09 ; Pi # LEFT TRANSPOSITION BRACKET
-2E0C ; Pi # LEFT RAISED OMISSION BRACKET
-2E1C ; Pi # LEFT LOW PARAPHRASE BRACKET
-2E20 ; Pi # LEFT VERTICAL BAR WITH QUILL
-
-# Total code points: 12
-
-# ================================================
-
-# General_Category=Final_Punctuation
-
-00BB ; Pf # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-2019 ; Pf # RIGHT SINGLE QUOTATION MARK
-201D ; Pf # RIGHT DOUBLE QUOTATION MARK
-203A ; Pf # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-2E03 ; Pf # RIGHT SUBSTITUTION BRACKET
-2E05 ; Pf # RIGHT DOTTED SUBSTITUTION BRACKET
-2E0A ; Pf # RIGHT TRANSPOSITION BRACKET
-2E0D ; Pf # RIGHT RAISED OMISSION BRACKET
-2E1D ; Pf # RIGHT LOW PARAPHRASE BRACKET
-2E21 ; Pf # RIGHT VERTICAL BAR WITH QUILL
-
-# Total code points: 10
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DJoinGroup.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DJoinGroup.txt
deleted file mode 100644
index c6c6f0330b9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DJoinGroup.txt
+++ /dev/null
@@ -1,423 +0,0 @@
-# DerivedJoiningGroup-5.2.0.txt
-# Date: 2009-05-22, 18:51:25 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Joining Group (listing ArabicShaping.txt, field 3)
-
-# All code points not explicitly listed for Joining_Group
-# have the value No_Joining_Group.
-
-# @missing: 0000..10FFFF; No_Joining_Group
-
-# ================================================
-
-0639..063A ; Ain # Lo [2] ARABIC LETTER AIN..ARABIC LETTER GHAIN
-06A0 ; Ain # Lo ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06FC ; Ain # Lo ARABIC LETTER GHAIN WITH DOT BELOW
-075D..075F ; Ain # Lo [3] ARABIC LETTER AIN WITH TWO DOTS ABOVE..ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-
-# Total code points: 7
-
-# ================================================
-
-0710 ; Alaph # Lo SYRIAC LETTER ALAPH
-
-# Total code points: 1
-
-# ================================================
-
-0622..0623 ; Alef # Lo [2] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER ALEF WITH HAMZA ABOVE
-0625 ; Alef # Lo ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 ; Alef # Lo ARABIC LETTER ALEF
-0671..0673 ; Alef # Lo [3] ARABIC LETTER ALEF WASLA..ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0675 ; Alef # Lo ARABIC LETTER HIGH HAMZA ALEF
-0773..0774 ; Alef # Lo [2] ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-
-# Total code points: 10
-
-# ================================================
-
-0628 ; Beh # Lo ARABIC LETTER BEH
-062A..062B ; Beh # Lo [2] ARABIC LETTER TEH..ARABIC LETTER THEH
-066E ; Beh # Lo ARABIC LETTER DOTLESS BEH
-0679..0680 ; Beh # Lo [8] ARABIC LETTER TTEH..ARABIC LETTER BEHEH
-0750..0756 ; Beh # Lo [7] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER BEH WITH SMALL V
-
-# Total code points: 19
-
-# ================================================
-
-0712 ; Beth # Lo SYRIAC LETTER BETH
-072D ; Beth # Lo SYRIAC LETTER PERSIAN BHETH
-
-# Total code points: 2
-
-# ================================================
-
-062F..0630 ; Dal # Lo [2] ARABIC LETTER DAL..ARABIC LETTER THAL
-0688..0690 ; Dal # Lo [9] ARABIC LETTER DDAL..ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-06EE ; Dal # Lo ARABIC LETTER DAL WITH INVERTED V
-0759..075A ; Dal # Lo [2] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH..ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-
-# Total code points: 14
-
-# ================================================
-
-0715..0716 ; Dalath_Rish # Lo [2] SYRIAC LETTER DALATH..SYRIAC LETTER DOTLESS DALATH RISH
-072A ; Dalath_Rish # Lo SYRIAC LETTER RISH
-072F ; Dalath_Rish # Lo SYRIAC LETTER PERSIAN DHALATH
-
-# Total code points: 4
-
-# ================================================
-
-0725 ; E # Lo SYRIAC LETTER E
-
-# Total code points: 1
-
-# ================================================
-
-0641 ; Feh # Lo ARABIC LETTER FEH
-06A1..06A6 ; Feh # Lo [6] ARABIC LETTER DOTLESS FEH..ARABIC LETTER PEHEH
-0760..0761 ; Feh # Lo [2] ARABIC LETTER FEH WITH TWO DOTS BELOW..ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-
-# Total code points: 9
-
-# ================================================
-
-0724 ; Final_Semkath # Lo SYRIAC LETTER FINAL SEMKATH
-
-# Total code points: 1
-
-# ================================================
-
-063B..063C ; Gaf # Lo [2] ARABIC LETTER KEHEH WITH TWO DOTS ABOVE..ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-06A9 ; Gaf # Lo ARABIC LETTER KEHEH
-06AB ; Gaf # Lo ARABIC LETTER KAF WITH RING
-06AF..06B4 ; Gaf # Lo [6] ARABIC LETTER GAF..ARABIC LETTER GAF WITH THREE DOTS ABOVE
-0762..0764 ; Gaf # Lo [3] ARABIC LETTER KEHEH WITH DOT ABOVE..ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-
-# Total code points: 13
-
-# ================================================
-
-0713..0714 ; Gamal # Lo [2] SYRIAC LETTER GAMAL..SYRIAC LETTER GAMAL GARSHUNI
-072E ; Gamal # Lo SYRIAC LETTER PERSIAN GHAMAL
-
-# Total code points: 3
-
-# ================================================
-
-062C..062E ; Hah # Lo [3] ARABIC LETTER JEEM..ARABIC LETTER KHAH
-0681..0687 ; Hah # Lo [7] ARABIC LETTER HAH WITH HAMZA ABOVE..ARABIC LETTER TCHEHEH
-06BF ; Hah # Lo ARABIC LETTER TCHEH WITH DOT ABOVE
-0757..0758 ; Hah # Lo [2] ARABIC LETTER HAH WITH TWO DOTS ABOVE..ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-076E..076F ; Hah # Lo [2] ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW..ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772 ; Hah # Lo ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-077C ; Hah # Lo ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-
-# Total code points: 17
-
-# ================================================
-
-06C3 ; Hamza_On_Heh_Goal # Lo ARABIC LETTER TEH MARBUTA GOAL
-
-# Total code points: 1
-
-# ================================================
-
-0717 ; He # Lo SYRIAC LETTER HE
-
-# Total code points: 1
-
-# ================================================
-
-0647 ; Heh # Lo ARABIC LETTER HEH
-
-# Total code points: 1
-
-# ================================================
-
-06C1..06C2 ; Heh_Goal # Lo [2] ARABIC LETTER HEH GOAL..ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-
-# Total code points: 2
-
-# ================================================
-
-071A ; Heth # Lo SYRIAC LETTER HETH
-
-# Total code points: 1
-
-# ================================================
-
-0643 ; Kaf # Lo ARABIC LETTER KAF
-06AC..06AE ; Kaf # Lo [3] ARABIC LETTER KAF WITH DOT ABOVE..ARABIC LETTER KAF WITH THREE DOTS BELOW
-077F ; Kaf # Lo ARABIC LETTER KAF WITH TWO DOTS ABOVE
-
-# Total code points: 5
-
-# ================================================
-
-071F ; Kaph # Lo SYRIAC LETTER KAPH
-
-# Total code points: 1
-
-# ================================================
-
-06BE ; Knotted_Heh # Lo ARABIC LETTER HEH DOACHASHMEE
-06FF ; Knotted_Heh # Lo ARABIC LETTER HEH WITH INVERTED V
-
-# Total code points: 2
-
-# ================================================
-
-0644 ; Lam # Lo ARABIC LETTER LAM
-06B5..06B8 ; Lam # Lo [4] ARABIC LETTER LAM WITH SMALL V..ARABIC LETTER LAM WITH THREE DOTS BELOW
-076A ; Lam # Lo ARABIC LETTER LAM WITH BAR
-
-# Total code points: 6
-
-# ================================================
-
-0720 ; Lamadh # Lo SYRIAC LETTER LAMADH
-
-# Total code points: 1
-
-# ================================================
-
-0645 ; Meem # Lo ARABIC LETTER MEEM
-0765..0766 ; Meem # Lo [2] ARABIC LETTER MEEM WITH DOT ABOVE..ARABIC LETTER MEEM WITH DOT BELOW
-
-# Total code points: 3
-
-# ================================================
-
-0721 ; Mim # Lo SYRIAC LETTER MIM
-
-# Total code points: 1
-
-# ================================================
-
-0646 ; Noon # Lo ARABIC LETTER NOON
-06B9..06BC ; Noon # Lo [4] ARABIC LETTER NOON WITH DOT BELOW..ARABIC LETTER NOON WITH RING
-0767..0769 ; Noon # Lo [3] ARABIC LETTER NOON WITH TWO DOTS BELOW..ARABIC LETTER NOON WITH SMALL V
-
-# Total code points: 8
-
-# ================================================
-
-0722 ; Nun # Lo SYRIAC LETTER NUN
-
-# Total code points: 1
-
-# ================================================
-
-0726 ; Pe # Lo SYRIAC LETTER PE
-
-# Total code points: 1
-
-# ================================================
-
-0642 ; Qaf # Lo ARABIC LETTER QAF
-066F ; Qaf # Lo ARABIC LETTER DOTLESS QAF
-06A7..06A8 ; Qaf # Lo [2] ARABIC LETTER QAF WITH DOT ABOVE..ARABIC LETTER QAF WITH THREE DOTS ABOVE
-
-# Total code points: 4
-
-# ================================================
-
-0729 ; Qaph # Lo SYRIAC LETTER QAPH
-
-# Total code points: 1
-
-# ================================================
-
-0631..0632 ; Reh # Lo [2] ARABIC LETTER REH..ARABIC LETTER ZAIN
-0691..0699 ; Reh # Lo [9] ARABIC LETTER RREH..ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06EF ; Reh # Lo ARABIC LETTER REH WITH INVERTED V
-075B ; Reh # Lo ARABIC LETTER REH WITH STROKE
-076B..076C ; Reh # Lo [2] ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE..ARABIC LETTER REH WITH HAMZA ABOVE
-0771 ; Reh # Lo ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-
-# Total code points: 16
-
-# ================================================
-
-0727 ; Reversed_Pe # Lo SYRIAC LETTER REVERSED PE
-
-# Total code points: 1
-
-# ================================================
-
-0635..0636 ; Sad # Lo [2] ARABIC LETTER SAD..ARABIC LETTER DAD
-069D..069E ; Sad # Lo [2] ARABIC LETTER SAD WITH TWO DOTS BELOW..ARABIC LETTER SAD WITH THREE DOTS ABOVE
-06FB ; Sad # Lo ARABIC LETTER DAD WITH DOT BELOW
-
-# Total code points: 5
-
-# ================================================
-
-0728 ; Sadhe # Lo SYRIAC LETTER SADHE
-
-# Total code points: 1
-
-# ================================================
-
-0633..0634 ; Seen # Lo [2] ARABIC LETTER SEEN..ARABIC LETTER SHEEN
-069A..069C ; Seen # Lo [3] ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE..ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-06FA ; Seen # Lo ARABIC LETTER SHEEN WITH DOT BELOW
-075C ; Seen # Lo ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-076D ; Seen # Lo ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-0770 ; Seen # Lo ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-077D..077E ; Seen # Lo [2] ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE..ARABIC LETTER SEEN WITH INVERTED V
-
-# Total code points: 11
-
-# ================================================
-
-0723 ; Semkath # Lo SYRIAC LETTER SEMKATH
-
-# Total code points: 1
-
-# ================================================
-
-072B ; Shin # Lo SYRIAC LETTER SHIN
-
-# Total code points: 1
-
-# ================================================
-
-06AA ; Swash_Kaf # Lo ARABIC LETTER SWASH KAF
-
-# Total code points: 1
-
-# ================================================
-
-0637..0638 ; Tah # Lo [2] ARABIC LETTER TAH..ARABIC LETTER ZAH
-069F ; Tah # Lo ARABIC LETTER TAH WITH THREE DOTS ABOVE
-
-# Total code points: 3
-
-# ================================================
-
-072C ; Taw # Lo SYRIAC LETTER TAW
-
-# Total code points: 1
-
-# ================================================
-
-0629 ; Teh_Marbuta # Lo ARABIC LETTER TEH MARBUTA
-06C0 ; Teh_Marbuta # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06D5 ; Teh_Marbuta # Lo ARABIC LETTER AE
-
-# Total code points: 3
-
-# ================================================
-
-071B..071C ; Teth # Lo [2] SYRIAC LETTER TETH..SYRIAC LETTER TETH GARSHUNI
-
-# Total code points: 2
-
-# ================================================
-
-0624 ; Waw # Lo ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 ; Waw # Lo ARABIC LETTER WAW
-0676..0677 ; Waw # Lo [2] ARABIC LETTER HIGH HAMZA WAW..ARABIC LETTER U WITH HAMZA ABOVE
-06C4..06CB ; Waw # Lo [8] ARABIC LETTER WAW WITH RING..ARABIC LETTER VE
-06CF ; Waw # Lo ARABIC LETTER WAW WITH DOT ABOVE
-0778..0779 ; Waw # Lo [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-
-# Total code points: 15
-
-# ================================================
-
-0718 ; Syriac_Waw # Lo SYRIAC LETTER WAW
-
-# Total code points: 1
-
-# ================================================
-
-0626 ; Yeh # Lo ARABIC LETTER YEH WITH HAMZA ABOVE
-0649..064A ; Yeh # Lo [2] ARABIC LETTER ALEF MAKSURA..ARABIC LETTER YEH
-0678 ; Yeh # Lo ARABIC LETTER HIGH HAMZA YEH
-06D0..06D1 ; Yeh # Lo [2] ARABIC LETTER E..ARABIC LETTER YEH WITH THREE DOTS BELOW
-0777 ; Yeh # Lo ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-
-# Total code points: 7
-
-# ================================================
-
-06D2..06D3 ; Yeh_Barree # Lo [2] ARABIC LETTER YEH BARREE..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-
-# Total code points: 2
-
-# ================================================
-
-06CD ; Yeh_With_Tail # Lo ARABIC LETTER YEH WITH TAIL
-
-# Total code points: 1
-
-# ================================================
-
-071D ; Yudh # Lo SYRIAC LETTER YUDH
-
-# Total code points: 1
-
-# ================================================
-
-071E ; Yudh_He # Lo SYRIAC LETTER YUDH HE
-
-# Total code points: 1
-
-# ================================================
-
-0719 ; Zain # Lo SYRIAC LETTER ZAIN
-
-# Total code points: 1
-
-# ================================================
-
-074D ; Zhain # Lo SYRIAC LETTER SOGDIAN ZHAIN
-
-# Total code points: 1
-
-# ================================================
-
-074E ; Khaph # Lo SYRIAC LETTER SOGDIAN KHAPH
-
-# Total code points: 1
-
-# ================================================
-
-074F ; Fe # Lo SYRIAC LETTER SOGDIAN FE
-
-# Total code points: 1
-
-# ================================================
-
-077A..077B ; Burushaski_Yeh_Barree # Lo [2] ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-
-# Total code points: 2
-
-# ================================================
-
-063D..063F ; Farsi_Yeh # Lo [3] ARABIC LETTER FARSI YEH WITH INVERTED V..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-06CC ; Farsi_Yeh # Lo ARABIC LETTER FARSI YEH
-06CE ; Farsi_Yeh # Lo ARABIC LETTER YEH WITH SMALL V
-0775..0776 ; Farsi_Yeh # Lo [2] ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-
-# Total code points: 7
-
-# ================================================
-
-06BD ; Nya # Lo ARABIC LETTER NOON WITH THREE DOTS ABOVE
-
-# Total code points: 1
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DJoinType.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DJoinType.txt
deleted file mode 100644
index d4dcc85f691..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DJoinType.txt
+++ /dev/null
@@ -1,318 +0,0 @@
-# DerivedJoiningType-5.2.0.txt
-# Date: 2009-05-28, 20:37:39 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Type T is derived, as described in ArabicShaping.txt
-
-# All code points not explicitly listed for Joining_Type
-# have the value Non_Joining (U).
-
-# @missing: 0000..10FFFF; Non_Joining
-
-# ================================================
-
-# Joining_Type=Join_Causing
-
-0640 ; C # Lm ARABIC TATWEEL
-07FA ; C # Lm NKO LAJANYALAN
-200D ; C # Cf ZERO WIDTH JOINER
-
-# Total code points: 3
-
-# ================================================
-
-# Joining_Type=Dual_Joining
-
-0626 ; D # Lo ARABIC LETTER YEH WITH HAMZA ABOVE
-0628 ; D # Lo ARABIC LETTER BEH
-062A..062E ; D # Lo [5] ARABIC LETTER TEH..ARABIC LETTER KHAH
-0633..063F ; D # Lo [13] ARABIC LETTER SEEN..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0641..0647 ; D # Lo [7] ARABIC LETTER FEH..ARABIC LETTER HEH
-0649..064A ; D # Lo [2] ARABIC LETTER ALEF MAKSURA..ARABIC LETTER YEH
-066E..066F ; D # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0678..0687 ; D # Lo [16] ARABIC LETTER HIGH HAMZA YEH..ARABIC LETTER TCHEHEH
-069A..06BF ; D # Lo [38] ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE..ARABIC LETTER TCHEH WITH DOT ABOVE
-06C1..06C2 ; D # Lo [2] ARABIC LETTER HEH GOAL..ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06CC ; D # Lo ARABIC LETTER FARSI YEH
-06CE ; D # Lo ARABIC LETTER YEH WITH SMALL V
-06D0..06D1 ; D # Lo [2] ARABIC LETTER E..ARABIC LETTER YEH WITH THREE DOTS BELOW
-06FA..06FC ; D # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FF ; D # Lo ARABIC LETTER HEH WITH INVERTED V
-0712..0714 ; D # Lo [3] SYRIAC LETTER BETH..SYRIAC LETTER GAMAL GARSHUNI
-071A..071D ; D # Lo [4] SYRIAC LETTER HETH..SYRIAC LETTER YUDH
-071F..0727 ; D # Lo [9] SYRIAC LETTER KAPH..SYRIAC LETTER REVERSED PE
-0729 ; D # Lo SYRIAC LETTER QAPH
-072B ; D # Lo SYRIAC LETTER SHIN
-072D..072E ; D # Lo [2] SYRIAC LETTER PERSIAN BHETH..SYRIAC LETTER PERSIAN GHAMAL
-074E..0758 ; D # Lo [11] SYRIAC LETTER SOGDIAN KHAPH..ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-075C..076A ; D # Lo [15] ARABIC LETTER SEEN WITH FOUR DOTS ABOVE..ARABIC LETTER LAM WITH BAR
-076D..0770 ; D # Lo [4] ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE..ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772 ; D # Lo ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-0775..0777 ; D # Lo [3] ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-077A..077F ; D # Lo [6] ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER KAF WITH TWO DOTS ABOVE
-07CA..07EA ; D # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-
-# Total code points: 188
-
-# ================================================
-
-# Joining_Type=Right_Joining
-
-0622..0625 ; R # Lo [4] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 ; R # Lo ARABIC LETTER ALEF
-0629 ; R # Lo ARABIC LETTER TEH MARBUTA
-062F..0632 ; R # Lo [4] ARABIC LETTER DAL..ARABIC LETTER ZAIN
-0648 ; R # Lo ARABIC LETTER WAW
-0671..0673 ; R # Lo [3] ARABIC LETTER ALEF WASLA..ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0675..0677 ; R # Lo [3] ARABIC LETTER HIGH HAMZA ALEF..ARABIC LETTER U WITH HAMZA ABOVE
-0688..0699 ; R # Lo [18] ARABIC LETTER DDAL..ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06C0 ; R # Lo ARABIC LETTER HEH WITH YEH ABOVE
-06C3..06CB ; R # Lo [9] ARABIC LETTER TEH MARBUTA GOAL..ARABIC LETTER VE
-06CD ; R # Lo ARABIC LETTER YEH WITH TAIL
-06CF ; R # Lo ARABIC LETTER WAW WITH DOT ABOVE
-06D2..06D3 ; R # Lo [2] ARABIC LETTER YEH BARREE..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; R # Lo ARABIC LETTER AE
-06EE..06EF ; R # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-0710 ; R # Lo SYRIAC LETTER ALAPH
-0715..0719 ; R # Lo [5] SYRIAC LETTER DALATH..SYRIAC LETTER ZAIN
-071E ; R # Lo SYRIAC LETTER YUDH HE
-0728 ; R # Lo SYRIAC LETTER SADHE
-072A ; R # Lo SYRIAC LETTER RISH
-072C ; R # Lo SYRIAC LETTER TAW
-072F ; R # Lo SYRIAC LETTER PERSIAN DHALATH
-074D ; R # Lo SYRIAC LETTER SOGDIAN ZHAIN
-0759..075B ; R # Lo [3] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH..ARABIC LETTER REH WITH STROKE
-076B..076C ; R # Lo [2] ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE..ARABIC LETTER REH WITH HAMZA ABOVE
-0771 ; R # Lo ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0773..0774 ; R # Lo [2] ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0778..0779 ; R # Lo [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-
-# Total code points: 74
-
-# ================================================
-
-# Joining_Type=Transparent
-
-00AD ; T # Cf SOFT HYPHEN
-0300..036F ; T # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
-0483..0487 ; T # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; T # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; T # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; T # Mn HEBREW POINT RAFE
-05C1..05C2 ; T # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; T # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; T # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; T # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; T # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; T # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; T # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; T # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; T # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; T # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; T # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-070F ; T # Cf SYRIAC ABBREVIATION MARK
-0711 ; T # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; T # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; T # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; T # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; T # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; T # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; T # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; T # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; T # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-093C ; T # Mn DEVANAGARI SIGN NUKTA
-0941..0948 ; T # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-094D ; T # Mn DEVANAGARI SIGN VIRAMA
-0951..0955 ; T # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; T # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; T # Mn BENGALI SIGN CANDRABINDU
-09BC ; T # Mn BENGALI SIGN NUKTA
-09C1..09C4 ; T # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09CD ; T # Mn BENGALI SIGN VIRAMA
-09E2..09E3 ; T # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; T # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A3C ; T # Mn GURMUKHI SIGN NUKTA
-0A41..0A42 ; T # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; T # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; T # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; T # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; T # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; T # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; T # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0ABC ; T # Mn GUJARATI SIGN NUKTA
-0AC1..0AC5 ; T # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; T # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0ACD ; T # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; T # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; T # Mn ORIYA SIGN CANDRABINDU
-0B3C ; T # Mn ORIYA SIGN NUKTA
-0B3F ; T # Mn ORIYA VOWEL SIGN I
-0B41..0B44 ; T # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B4D ; T # Mn ORIYA SIGN VIRAMA
-0B56 ; T # Mn ORIYA AI LENGTH MARK
-0B62..0B63 ; T # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; T # Mn TAMIL SIGN ANUSVARA
-0BC0 ; T # Mn TAMIL VOWEL SIGN II
-0BCD ; T # Mn TAMIL SIGN VIRAMA
-0C3E..0C40 ; T # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C46..0C48 ; T # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; T # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; T # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; T # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0CBC ; T # Mn KANNADA SIGN NUKTA
-0CBF ; T # Mn KANNADA VOWEL SIGN I
-0CC6 ; T # Mn KANNADA VOWEL SIGN E
-0CCC..0CCD ; T # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CE2..0CE3 ; T # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D41..0D44 ; T # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D4D ; T # Mn MALAYALAM SIGN VIRAMA
-0D62..0D63 ; T # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0DCA ; T # Mn SINHALA SIGN AL-LAKUNA
-0DD2..0DD4 ; T # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; T # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0E31 ; T # Mn THAI CHARACTER MAI HAN-AKAT
-0E34..0E3A ; T # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E47..0E4E ; T # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0EB1 ; T # Mn LAO VOWEL SIGN MAI KAN
-0EB4..0EB9 ; T # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; T # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EC8..0ECD ; T # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0F18..0F19 ; T # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; T # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; T # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; T # Mn TIBETAN MARK TSA -PHRU
-0F71..0F7E ; T # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; T # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; T # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; T # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; T # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; T # Mn TIBETAN SYMBOL PADMA GDAN
-102D..1030 ; T # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1032..1037 ; T # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1039..103A ; T # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103D..103E ; T # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-1058..1059 ; T # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105E..1060 ; T # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1071..1074 ; T # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1082 ; T # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1085..1086 ; T # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-108D ; T # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-109D ; T # Mn MYANMAR VOWEL SIGN AITON AI
-135F ; T # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; T # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; T # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; T # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; T # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B4..17B5 ; T # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B7..17BD ; T # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17C6 ; T # Mn KHMER SIGN NIKAHIT
-17C9..17D3 ; T # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17DD ; T # Mn KHMER SIGN ATTHACAN
-180B..180D ; T # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; T # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; T # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1927..1928 ; T # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1932 ; T # Mn LIMBU SMALL LETTER ANUSVARA
-1939..193B ; T # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; T # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A56 ; T # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A58..1A5E ; T # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; T # Mn TAI THAM SIGN SAKOT
-1A62 ; T # Mn TAI THAM VOWEL SIGN MAI SAT
-1A65..1A6C ; T # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A73..1A7C ; T # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1A7F ; T # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; T # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B34 ; T # Mn BALINESE SIGN REREKAN
-1B36..1B3A ; T # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3C ; T # Mn BALINESE VOWEL SIGN LA LENGA
-1B42 ; T # Mn BALINESE VOWEL SIGN PEPET
-1B6B..1B73 ; T # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; T # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1BA2..1BA5 ; T # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA8..1BA9 ; T # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1C2C..1C33 ; T # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C36..1C37 ; T # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; T # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; T # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE2..1CE8 ; T # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; T # Mn VEDIC SIGN TIRYAK
-1DC0..1DE6 ; T # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; T # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200B ; T # Cf ZERO WIDTH SPACE
-200E..200F ; T # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
-202A..202E ; T # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-2060..2064 ; T # Cf [5] WORD JOINER..INVISIBLE PLUS
-206A..206F ; T # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-20D0..20DC ; T # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; T # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; T # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; T # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; T # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; T # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; T # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; T # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; T # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; T # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; T # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; T # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; T # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; T # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; T # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; T # Mn SYLOTI NAGRI SIGN ANUSVARA
-A825..A826 ; T # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A8C4 ; T # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; T # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; T # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; T # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A980..A982 ; T # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A9B3 ; T # Mn JAVANESE SIGN CECAK TELU
-A9B6..A9B9 ; T # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BC ; T # Mn JAVANESE VOWEL SIGN PEPET
-AA29..AA2E ; T # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA31..AA32 ; T # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA35..AA36 ; T # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; T # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; T # Mn CHAM CONSONANT SIGN FINAL M
-AAB0 ; T # Mn TAI VIET MAI KANG
-AAB2..AAB4 ; T # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB7..AAB8 ; T # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AABE..AABF ; T # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC1 ; T # Mn TAI VIET TONE MAI THO
-ABE5 ; T # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE8 ; T # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABED ; T # Mn MEETEI MAYEK APUN IYEK
-FB1E ; T # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; T # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; T # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FEFF ; T # Cf ZERO WIDTH NO-BREAK SPACE
-FFF9..FFFB ; T # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-101FD ; T # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; T # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; T # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; T # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; T # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; T # Mn KHAROSHTHI VIRAMA
-11080..11081 ; T # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-110B3..110B6 ; T # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B9..110BA ; T # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-110BD ; T # Cf KAITHI NUMBER SIGN
-1D167..1D169 ; T # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D173..1D17A ; T # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D17B..1D182 ; T # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; T # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; T # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; T # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0001 ; T # Cf LANGUAGE TAG
-E0020..E007F ; T # Cf [96] TAG SPACE..CANCEL TAG
-E0100..E01EF ; T # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1308
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DLineBreak.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DLineBreak.txt
deleted file mode 100644
index 473bd87c3bc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DLineBreak.txt
+++ /dev/null
@@ -1,2865 +0,0 @@
-# DerivedLineBreak-5.2.0.txt
-# Date: 2009-08-22, 04:58:23 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Property: Line_Break
-
-# All code points not explicitly listed for Line_Break
-# have the value Unknown (XX).
-
-# @missing: 0000..10FFFF; Unknown
-
-# ================================================
-
-# Line_Break=Unknown
-
-E000..F8FF ; XX # Co [6400] <private-use-E000>..<private-use-F8FF>
-F0000..FFFFD ; XX # Co [65534] <private-use-F0000>..<private-use-FFFFD>
-100000..10FFFD; XX # Co [65534] <private-use-100000>..<private-use-10FFFD>
-
-# The above property value applies to 783465 code points not listed here.
-# Total code points: 920933
-
-# ================================================
-
-# Line_Break=Open_Punctuation
-
-0028 ; OP # Ps LEFT PARENTHESIS
-005B ; OP # Ps LEFT SQUARE BRACKET
-007B ; OP # Ps LEFT CURLY BRACKET
-00A1 ; OP # Po INVERTED EXCLAMATION MARK
-00BF ; OP # Po INVERTED QUESTION MARK
-0F3A ; OP # Ps TIBETAN MARK GUG RTAGS GYON
-0F3C ; OP # Ps TIBETAN MARK ANG KHANG GYON
-169B ; OP # Ps OGHAM FEATHER MARK
-201A ; OP # Ps SINGLE LOW-9 QUOTATION MARK
-201E ; OP # Ps DOUBLE LOW-9 QUOTATION MARK
-2045 ; OP # Ps LEFT SQUARE BRACKET WITH QUILL
-207D ; OP # Ps SUPERSCRIPT LEFT PARENTHESIS
-208D ; OP # Ps SUBSCRIPT LEFT PARENTHESIS
-2329 ; OP # Ps LEFT-POINTING ANGLE BRACKET
-2768 ; OP # Ps MEDIUM LEFT PARENTHESIS ORNAMENT
-276A ; OP # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276C ; OP # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276E ; OP # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; OP # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; OP # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; OP # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT
-27C5 ; OP # Ps LEFT S-SHAPED BAG DELIMITER
-27E6 ; OP # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E8 ; OP # Ps MATHEMATICAL LEFT ANGLE BRACKET
-27EA ; OP # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EC ; OP # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27EE ; OP # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS
-2983 ; OP # Ps LEFT WHITE CURLY BRACKET
-2985 ; OP # Ps LEFT WHITE PARENTHESIS
-2987 ; OP # Ps Z NOTATION LEFT IMAGE BRACKET
-2989 ; OP # Ps Z NOTATION LEFT BINDING BRACKET
-298B ; OP # Ps LEFT SQUARE BRACKET WITH UNDERBAR
-298D ; OP # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298F ; OP # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2991 ; OP # Ps LEFT ANGLE BRACKET WITH DOT
-2993 ; OP # Ps LEFT ARC LESS-THAN BRACKET
-2995 ; OP # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET
-2997 ; OP # Ps LEFT BLACK TORTOISE SHELL BRACKET
-29D8 ; OP # Ps LEFT WIGGLY FENCE
-29DA ; OP # Ps LEFT DOUBLE WIGGLY FENCE
-29FC ; OP # Ps LEFT-POINTING CURVED ANGLE BRACKET
-2E18 ; OP # Po INVERTED INTERROBANG
-2E22 ; OP # Ps TOP LEFT HALF BRACKET
-2E24 ; OP # Ps BOTTOM LEFT HALF BRACKET
-2E26 ; OP # Ps LEFT SIDEWAYS U BRACKET
-2E28 ; OP # Ps LEFT DOUBLE PARENTHESIS
-3008 ; OP # Ps LEFT ANGLE BRACKET
-300A ; OP # Ps LEFT DOUBLE ANGLE BRACKET
-300C ; OP # Ps LEFT CORNER BRACKET
-300E ; OP # Ps LEFT WHITE CORNER BRACKET
-3010 ; OP # Ps LEFT BLACK LENTICULAR BRACKET
-3014 ; OP # Ps LEFT TORTOISE SHELL BRACKET
-3016 ; OP # Ps LEFT WHITE LENTICULAR BRACKET
-3018 ; OP # Ps LEFT WHITE TORTOISE SHELL BRACKET
-301A ; OP # Ps LEFT WHITE SQUARE BRACKET
-301D ; OP # Ps REVERSED DOUBLE PRIME QUOTATION MARK
-FD3E ; OP # Ps ORNATE LEFT PARENTHESIS
-FE17 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE35 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE37 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE39 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3B ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3D ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3F ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE41 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE43 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE47 ; OP # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE59 ; OP # Ps SMALL LEFT PARENTHESIS
-FE5B ; OP # Ps SMALL LEFT CURLY BRACKET
-FE5D ; OP # Ps SMALL LEFT TORTOISE SHELL BRACKET
-FF08 ; OP # Ps FULLWIDTH LEFT PARENTHESIS
-FF3B ; OP # Ps FULLWIDTH LEFT SQUARE BRACKET
-FF5B ; OP # Ps FULLWIDTH LEFT CURLY BRACKET
-FF5F ; OP # Ps FULLWIDTH LEFT WHITE PARENTHESIS
-FF62 ; OP # Ps HALFWIDTH LEFT CORNER BRACKET
-13258..1325A ; OP # Lo [3] EGYPTIAN HIEROGLYPH O006A..EGYPTIAN HIEROGLYPH O006C
-13286 ; OP # Lo EGYPTIAN HIEROGLYPH O036A
-13288 ; OP # Lo EGYPTIAN HIEROGLYPH O036C
-13379 ; OP # Lo EGYPTIAN HIEROGLYPH V011A
-
-# Total code points: 81
-
-# ================================================
-
-# Line_Break=Close_Punctuation
-
-007D ; CL # Pe RIGHT CURLY BRACKET
-0F3B ; CL # Pe TIBETAN MARK GUG RTAGS GYAS
-0F3D ; CL # Pe TIBETAN MARK ANG KHANG GYAS
-169C ; CL # Pe OGHAM REVERSED FEATHER MARK
-2046 ; CL # Pe RIGHT SQUARE BRACKET WITH QUILL
-207E ; CL # Pe SUPERSCRIPT RIGHT PARENTHESIS
-208E ; CL # Pe SUBSCRIPT RIGHT PARENTHESIS
-232A ; CL # Pe RIGHT-POINTING ANGLE BRACKET
-2769 ; CL # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT
-276B ; CL # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276D ; CL # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276F ; CL # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2771 ; CL # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2773 ; CL # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2775 ; CL # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT
-27C6 ; CL # Pe RIGHT S-SHAPED BAG DELIMITER
-27E7 ; CL # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E9 ; CL # Pe MATHEMATICAL RIGHT ANGLE BRACKET
-27EB ; CL # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27ED ; CL # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EF ; CL # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-2984 ; CL # Pe RIGHT WHITE CURLY BRACKET
-2986 ; CL # Pe RIGHT WHITE PARENTHESIS
-2988 ; CL # Pe Z NOTATION RIGHT IMAGE BRACKET
-298A ; CL # Pe Z NOTATION RIGHT BINDING BRACKET
-298C ; CL # Pe RIGHT SQUARE BRACKET WITH UNDERBAR
-298E ; CL # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; CL # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2992 ; CL # Pe RIGHT ANGLE BRACKET WITH DOT
-2994 ; CL # Pe RIGHT ARC GREATER-THAN BRACKET
-2996 ; CL # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET
-2998 ; CL # Pe RIGHT BLACK TORTOISE SHELL BRACKET
-29D9 ; CL # Pe RIGHT WIGGLY FENCE
-29DB ; CL # Pe RIGHT DOUBLE WIGGLY FENCE
-29FD ; CL # Pe RIGHT-POINTING CURVED ANGLE BRACKET
-2E23 ; CL # Pe TOP RIGHT HALF BRACKET
-2E25 ; CL # Pe BOTTOM RIGHT HALF BRACKET
-2E27 ; CL # Pe RIGHT SIDEWAYS U BRACKET
-2E29 ; CL # Pe RIGHT DOUBLE PARENTHESIS
-3001..3002 ; CL # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP
-3009 ; CL # Pe RIGHT ANGLE BRACKET
-300B ; CL # Pe RIGHT DOUBLE ANGLE BRACKET
-300D ; CL # Pe RIGHT CORNER BRACKET
-300F ; CL # Pe RIGHT WHITE CORNER BRACKET
-3011 ; CL # Pe RIGHT BLACK LENTICULAR BRACKET
-3015 ; CL # Pe RIGHT TORTOISE SHELL BRACKET
-3017 ; CL # Pe RIGHT WHITE LENTICULAR BRACKET
-3019 ; CL # Pe RIGHT WHITE TORTOISE SHELL BRACKET
-301B ; CL # Pe RIGHT WHITE SQUARE BRACKET
-301E..301F ; CL # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
-FD3F ; CL # Pe ORNATE RIGHT PARENTHESIS
-FE11..FE12 ; CL # Po [2] PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA..PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE18 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE36 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE38 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE3A ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3C ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3E ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE40 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE42 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE44 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE48 ; CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
-FE50 ; CL # Po SMALL COMMA
-FE52 ; CL # Po SMALL FULL STOP
-FE5A ; CL # Pe SMALL RIGHT PARENTHESIS
-FE5C ; CL # Pe SMALL RIGHT CURLY BRACKET
-FE5E ; CL # Pe SMALL RIGHT TORTOISE SHELL BRACKET
-FF09 ; CL # Pe FULLWIDTH RIGHT PARENTHESIS
-FF0C ; CL # Po FULLWIDTH COMMA
-FF0E ; CL # Po FULLWIDTH FULL STOP
-FF3D ; CL # Pe FULLWIDTH RIGHT SQUARE BRACKET
-FF5D ; CL # Pe FULLWIDTH RIGHT CURLY BRACKET
-FF60 ; CL # Pe FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; CL # Po HALFWIDTH IDEOGRAPHIC FULL STOP
-FF63 ; CL # Pe HALFWIDTH RIGHT CORNER BRACKET
-FF64 ; CL # Po HALFWIDTH IDEOGRAPHIC COMMA
-1325B..1325D ; CL # Lo [3] EGYPTIAN HIEROGLYPH O006D..EGYPTIAN HIEROGLYPH O006F
-13282 ; CL # Lo EGYPTIAN HIEROGLYPH O033A
-13287 ; CL # Lo EGYPTIAN HIEROGLYPH O036B
-13289 ; CL # Lo EGYPTIAN HIEROGLYPH O036D
-1337A..1337B ; CL # Lo [2] EGYPTIAN HIEROGLYPH V011B..EGYPTIAN HIEROGLYPH V011C
-
-# Total code points: 87
-
-# ================================================
-
-# Line_Break=Quotation
-
-0022 ; QU # Po QUOTATION MARK
-0027 ; QU # Po APOSTROPHE
-00AB ; QU # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BB ; QU # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-2018 ; QU # Pi LEFT SINGLE QUOTATION MARK
-2019 ; QU # Pf RIGHT SINGLE QUOTATION MARK
-201B..201C ; QU # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
-201D ; QU # Pf RIGHT DOUBLE QUOTATION MARK
-201F ; QU # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2039 ; QU # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; QU # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-275B..275E ; QU # So [4] HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT..HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-2E00..2E01 ; QU # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; QU # Pi LEFT SUBSTITUTION BRACKET
-2E03 ; QU # Pf RIGHT SUBSTITUTION BRACKET
-2E04 ; QU # Pi LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; QU # Pf RIGHT DOTTED SUBSTITUTION BRACKET
-2E06..2E08 ; QU # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
-2E09 ; QU # Pi LEFT TRANSPOSITION BRACKET
-2E0A ; QU # Pf RIGHT TRANSPOSITION BRACKET
-2E0B ; QU # Po RAISED SQUARE
-2E0C ; QU # Pi LEFT RAISED OMISSION BRACKET
-2E0D ; QU # Pf RIGHT RAISED OMISSION BRACKET
-2E1C ; QU # Pi LEFT LOW PARAPHRASE BRACKET
-2E1D ; QU # Pf RIGHT LOW PARAPHRASE BRACKET
-2E20 ; QU # Pi LEFT VERTICAL BAR WITH QUILL
-2E21 ; QU # Pf RIGHT VERTICAL BAR WITH QUILL
-
-# Total code points: 34
-
-# ================================================
-
-# Line_Break=Glue
-
-00A0 ; GL # Zs NO-BREAK SPACE
-034F ; GL # Mn COMBINING GRAPHEME JOINER
-035C..0362 ; GL # Mn [7] COMBINING DOUBLE BREVE BELOW..COMBINING DOUBLE RIGHTWARDS ARROW BELOW
-0F08 ; GL # Po TIBETAN MARK SBRUL SHAD
-0F0C ; GL # Po TIBETAN MARK DELIMITER TSHEG BSTAR
-0F12 ; GL # Po TIBETAN MARK RGYA GRAM SHAD
-180E ; GL # Zs MONGOLIAN VOWEL SEPARATOR
-2007 ; GL # Zs FIGURE SPACE
-2011 ; GL # Pd NON-BREAKING HYPHEN
-202F ; GL # Zs NARROW NO-BREAK SPACE
-
-# Total code points: 16
-
-# ================================================
-
-# Line_Break=Nonstarter
-
-17D6 ; NS # Po KHMER SIGN CAMNUC PII KUUH
-203C..203D ; NS # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
-2047..2049 ; NS # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
-3005 ; NS # Lm IDEOGRAPHIC ITERATION MARK
-301C ; NS # Pd WAVE DASH
-303B ; NS # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
-303C ; NS # Lo MASU MARK
-3041 ; NS # Lo HIRAGANA LETTER SMALL A
-3043 ; NS # Lo HIRAGANA LETTER SMALL I
-3045 ; NS # Lo HIRAGANA LETTER SMALL U
-3047 ; NS # Lo HIRAGANA LETTER SMALL E
-3049 ; NS # Lo HIRAGANA LETTER SMALL O
-3063 ; NS # Lo HIRAGANA LETTER SMALL TU
-3083 ; NS # Lo HIRAGANA LETTER SMALL YA
-3085 ; NS # Lo HIRAGANA LETTER SMALL YU
-3087 ; NS # Lo HIRAGANA LETTER SMALL YO
-308E ; NS # Lo HIRAGANA LETTER SMALL WA
-3095..3096 ; NS # Lo [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE
-309B..309C ; NS # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-309D..309E ; NS # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
-30A0 ; NS # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1 ; NS # Lo KATAKANA LETTER SMALL A
-30A3 ; NS # Lo KATAKANA LETTER SMALL I
-30A5 ; NS # Lo KATAKANA LETTER SMALL U
-30A7 ; NS # Lo KATAKANA LETTER SMALL E
-30A9 ; NS # Lo KATAKANA LETTER SMALL O
-30C3 ; NS # Lo KATAKANA LETTER SMALL TU
-30E3 ; NS # Lo KATAKANA LETTER SMALL YA
-30E5 ; NS # Lo KATAKANA LETTER SMALL YU
-30E7 ; NS # Lo KATAKANA LETTER SMALL YO
-30EE ; NS # Lo KATAKANA LETTER SMALL WA
-30F5..30F6 ; NS # Lo [2] KATAKANA LETTER SMALL KA..KATAKANA LETTER SMALL KE
-30FB ; NS # Po KATAKANA MIDDLE DOT
-30FC..30FE ; NS # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-31F0..31FF ; NS # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
-A015 ; NS # Lm YI SYLLABLE WU
-FE54..FE55 ; NS # Po [2] SMALL SEMICOLON..SMALL COLON
-FF1A..FF1B ; NS # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
-FF65 ; NS # Po HALFWIDTH KATAKANA MIDDLE DOT
-FF67..FF6F ; NS # Lo [9] HALFWIDTH KATAKANA LETTER SMALL A..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; NS # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF9E..FF9F ; NS # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-
-# Total code points: 77
-
-# ================================================
-
-# Line_Break=Exclamation
-
-0021 ; EX # Po EXCLAMATION MARK
-003F ; EX # Po QUESTION MARK
-05C6 ; EX # Po HEBREW PUNCTUATION NUN HAFUKHA
-061B ; EX # Po ARABIC SEMICOLON
-061E..061F ; EX # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
-06D4 ; EX # Po ARABIC FULL STOP
-07F9 ; EX # Po NKO EXCLAMATION MARK
-0F0D..0F11 ; EX # Po [5] TIBETAN MARK SHAD..TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F14 ; EX # So TIBETAN MARK GTER TSHEG
-1802..1803 ; EX # Po [2] MONGOLIAN COMMA..MONGOLIAN FULL STOP
-1808..1809 ; EX # Po [2] MONGOLIAN MANCHU COMMA..MONGOLIAN MANCHU FULL STOP
-1944..1945 ; EX # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
-2762..2763 ; EX # So [2] HEAVY EXCLAMATION MARK ORNAMENT..HEAVY HEART EXCLAMATION MARK ORNAMENT
-2CF9 ; EX # Po COPTIC OLD NUBIAN FULL STOP
-2CFE ; EX # Po COPTIC FULL STOP
-2E2E ; EX # Po REVERSED QUESTION MARK
-A60E ; EX # Po VAI FULL STOP
-A876..A877 ; EX # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD
-FE15..FE16 ; EX # Po [2] PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK..PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE56..FE57 ; EX # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK
-FF01 ; EX # Po FULLWIDTH EXCLAMATION MARK
-FF1F ; EX # Po FULLWIDTH QUESTION MARK
-
-# Total code points: 34
-
-# ================================================
-
-# Line_Break=Break_Symbols
-
-002F ; SY # Po SOLIDUS
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Infix_Numeric
-
-002C ; IS # Po COMMA
-002E ; IS # Po FULL STOP
-003A..003B ; IS # Po [2] COLON..SEMICOLON
-037E ; IS # Po GREEK QUESTION MARK
-0589 ; IS # Po ARMENIAN FULL STOP
-060C..060D ; IS # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR
-07F8 ; IS # Po NKO COMMA
-2044 ; IS # Sm FRACTION SLASH
-FE10 ; IS # Po PRESENTATION FORM FOR VERTICAL COMMA
-FE13..FE14 ; IS # Po [2] PRESENTATION FORM FOR VERTICAL COLON..PRESENTATION FORM FOR VERTICAL SEMICOLON
-
-# Total code points: 13
-
-# ================================================
-
-# Line_Break=Prefix_Numeric
-
-0024 ; PR # Sc DOLLAR SIGN
-002B ; PR # Sm PLUS SIGN
-005C ; PR # Po REVERSE SOLIDUS
-00A3..00A5 ; PR # Sc [3] POUND SIGN..YEN SIGN
-00B1 ; PR # Sm PLUS-MINUS SIGN
-09FB ; PR # Sc BENGALI GANDA MARK
-0AF1 ; PR # Sc GUJARATI RUPEE SIGN
-0BF9 ; PR # Sc TAMIL RUPEE SIGN
-0E3F ; PR # Sc THAI CURRENCY SYMBOL BAHT
-17DB ; PR # Sc KHMER CURRENCY SYMBOL RIEL
-20A0..20A6 ; PR # Sc [7] EURO-CURRENCY SIGN..NAIRA SIGN
-20A8..20B5 ; PR # Sc [14] RUPEE SIGN..CEDI SIGN
-20B7..20B8 ; PR # Sc [2] SPESMILO SIGN..TENGE SIGN
-2116 ; PR # So NUMERO SIGN
-2212..2213 ; PR # Sm [2] MINUS SIGN..MINUS-OR-PLUS SIGN
-FE69 ; PR # Sc SMALL DOLLAR SIGN
-FF04 ; PR # Sc FULLWIDTH DOLLAR SIGN
-FFE1 ; PR # Sc FULLWIDTH POUND SIGN
-FFE5..FFE6 ; PR # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
-
-# Total code points: 43
-
-# ================================================
-
-# Line_Break=Postfix_Numeric
-
-0025 ; PO # Po PERCENT SIGN
-00A2 ; PO # Sc CENT SIGN
-00B0 ; PO # So DEGREE SIGN
-0609..060A ; PO # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
-060B ; PO # Sc AFGHANI SIGN
-066A ; PO # Po ARABIC PERCENT SIGN
-09F2..09F3 ; PO # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
-09F9 ; PO # No BENGALI CURRENCY DENOMINATOR SIXTEEN
-0D79 ; PO # So MALAYALAM DATE MARK
-2030..2037 ; PO # Po [8] PER MILLE SIGN..REVERSED TRIPLE PRIME
-20A7 ; PO # Sc PESETA SIGN
-20B6 ; PO # Sc LIVRE TOURNOIS SIGN
-2103 ; PO # So DEGREE CELSIUS
-2109 ; PO # So DEGREE FAHRENHEIT
-A838 ; PO # Sc NORTH INDIC RUPEE MARK
-FDFC ; PO # Sc RIAL SIGN
-FE6A ; PO # Po SMALL PERCENT SIGN
-FF05 ; PO # Po FULLWIDTH PERCENT SIGN
-FFE0 ; PO # Sc FULLWIDTH CENT SIGN
-
-# Total code points: 28
-
-# ================================================
-
-# Line_Break=Numeric
-
-0030..0039 ; NU # Nd [10] DIGIT ZERO..DIGIT NINE
-0660..0669 ; NU # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-066B..066C ; NU # Po [2] ARABIC DECIMAL SEPARATOR..ARABIC THOUSANDS SEPARATOR
-06F0..06F9 ; NU # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-07C0..07C9 ; NU # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-0966..096F ; NU # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-09E6..09EF ; NU # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-0A66..0A6F ; NU # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0AE6..0AEF ; NU # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B66..0B6F ; NU # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0BE6..0BEF ; NU # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C66..0C6F ; NU # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0CE6..0CEF ; NU # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D66..0D6F ; NU # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0E50..0E59 ; NU # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0ED0..0ED9 ; NU # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0F20..0F29 ; NU # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-1040..1049 ; NU # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1090..1099 ; NU # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-17E0..17E9 ; NU # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1810..1819 ; NU # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1946..194F ; NU # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-19D0..19DA ; NU # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A80..1A89 ; NU # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; NU # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1B50..1B59 ; NU # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1BB0..1BB9 ; NU # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C40..1C49 ; NU # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C50..1C59 ; NU # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-A620..A629 ; NU # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A8D0..A8D9 ; NU # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A900..A909 ; NU # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A9D0..A9D9 ; NU # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA50..AA59 ; NU # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-104A0..104A9 ; NU # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-1D7CE..1D7FF ; NU # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 403
-
-# ================================================
-
-# Line_Break=Alphabetic
-
-0023 ; AL # Po NUMBER SIGN
-0026 ; AL # Po AMPERSAND
-002A ; AL # Po ASTERISK
-003C..003E ; AL # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN
-0040 ; AL # Po COMMERCIAL AT
-0041..005A ; AL # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
-005E ; AL # Sk CIRCUMFLEX ACCENT
-005F ; AL # Pc LOW LINE
-0060 ; AL # Sk GRAVE ACCENT
-0061..007A ; AL # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-007E ; AL # Sm TILDE
-00A6 ; AL # So BROKEN BAR
-00A9 ; AL # So COPYRIGHT SIGN
-00AC ; AL # Sm NOT SIGN
-00AE ; AL # So REGISTERED SIGN
-00AF ; AL # Sk MACRON
-00B5 ; AL # L& MICRO SIGN
-00C0..00D6 ; AL # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
-00D8..00F6 ; AL # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
-00F8..01BA ; AL # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
-01BB ; AL # Lo LATIN LETTER TWO WITH STROKE
-01BC..01BF ; AL # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
-01C0..01C3 ; AL # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
-01C4..0293 ; AL # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
-0294 ; AL # Lo LATIN LETTER GLOTTAL STOP
-0295..02AF ; AL # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-02B0..02C1 ; AL # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
-02C2..02C5 ; AL # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
-02C6 ; AL # Lm MODIFIER LETTER CIRCUMFLEX ACCENT
-02CE..02CF ; AL # Lm [2] MODIFIER LETTER LOW GRAVE ACCENT..MODIFIER LETTER LOW ACUTE ACCENT
-02D1 ; AL # Lm MODIFIER LETTER HALF TRIANGULAR COLON
-02D2..02D7 ; AL # Sk [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN
-02DC ; AL # Sk SMALL TILDE
-02DE ; AL # Sk MODIFIER LETTER RHOTIC HOOK
-02E0..02E4 ; AL # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02E5..02EB ; AL # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; AL # Lm MODIFIER LETTER VOICING
-02ED ; AL # Sk MODIFIER LETTER UNASPIRATED
-02EE ; AL # Lm MODIFIER LETTER DOUBLE APOSTROPHE
-02EF..02FF ; AL # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
-0370..0373 ; AL # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
-0374 ; AL # Lm GREEK NUMERAL SIGN
-0375 ; AL # Sk GREEK LOWER NUMERAL SIGN
-0376..0377 ; AL # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-037A ; AL # Lm GREEK YPOGEGRAMMENI
-037B..037D ; AL # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-0384..0385 ; AL # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS
-0386 ; AL # L& GREEK CAPITAL LETTER ALPHA WITH TONOS
-0387 ; AL # Po GREEK ANO TELEIA
-0388..038A ; AL # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
-038C ; AL # L& GREEK CAPITAL LETTER OMICRON WITH TONOS
-038E..03A1 ; AL # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
-03A3..03F5 ; AL # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
-03F6 ; AL # Sm GREEK REVERSED LUNATE EPSILON SYMBOL
-03F7..0481 ; AL # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
-0482 ; AL # So CYRILLIC THOUSANDS SIGN
-048A..0525 ; AL # L& [156] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER PE WITH DESCENDER
-0531..0556 ; AL # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
-0559 ; AL # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING
-055A..055F ; AL # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
-0561..0587 ; AL # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
-05C0 ; AL # Po HEBREW PUNCTUATION PASEQ
-05C3 ; AL # Po HEBREW PUNCTUATION SOF PASUQ
-05D0..05EA ; AL # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2 ; AL # Lo [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
-05F3..05F4 ; AL # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0600..0603 ; AL # Cf [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
-0606..0608 ; AL # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
-060E..060F ; AL # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
-0621..063F ; AL # Lo [31] ARABIC LETTER HAMZA..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0640 ; AL # Lm ARABIC TATWEEL
-0641..064A ; AL # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
-066D ; AL # Po ARABIC FIVE POINTED STAR
-066E..066F ; AL # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
-0671..06D3 ; AL # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D5 ; AL # Lo ARABIC LETTER AE
-06DD ; AL # Cf ARABIC END OF AYAH
-06E5..06E6 ; AL # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH
-06E9 ; AL # So ARABIC PLACE OF SAJDAH
-06EE..06EF ; AL # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
-06FA..06FC ; AL # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
-06FD..06FE ; AL # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
-06FF ; AL # Lo ARABIC LETTER HEH WITH INVERTED V
-0700..070D ; AL # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
-070F ; AL # Cf SYRIAC ABBREVIATION MARK
-0710 ; AL # Lo SYRIAC LETTER ALAPH
-0712..072F ; AL # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
-074D..07A5 ; AL # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
-07B1 ; AL # Lo THAANA LETTER NAA
-07CA..07EA ; AL # Lo [33] NKO LETTER A..NKO LETTER JONA RA
-07F4..07F5 ; AL # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
-07F6 ; AL # So NKO SYMBOL OO DENNEN
-07F7 ; AL # Po NKO SYMBOL GBAKURUNEN
-07FA ; AL # Lm NKO LAJANYALAN
-0800..0815 ; AL # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
-081A ; AL # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-0824 ; AL # Lm SAMARITAN MODIFIER LETTER SHORT A
-0828 ; AL # Lm SAMARITAN MODIFIER LETTER I
-0830..083E ; AL # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
-0904..0939 ; AL # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
-093D ; AL # Lo DEVANAGARI SIGN AVAGRAHA
-0950 ; AL # Lo DEVANAGARI OM
-0958..0961 ; AL # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
-0970 ; AL # Po DEVANAGARI ABBREVIATION SIGN
-0971 ; AL # Lm DEVANAGARI SIGN HIGH SPACING DOT
-0972 ; AL # Lo DEVANAGARI LETTER CANDRA A
-0979..097F ; AL # Lo [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
-0985..098C ; AL # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
-098F..0990 ; AL # Lo [2] BENGALI LETTER E..BENGALI LETTER AI
-0993..09A8 ; AL # Lo [22] BENGALI LETTER O..BENGALI LETTER NA
-09AA..09B0 ; AL # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA
-09B2 ; AL # Lo BENGALI LETTER LA
-09B6..09B9 ; AL # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA
-09BD ; AL # Lo BENGALI SIGN AVAGRAHA
-09CE ; AL # Lo BENGALI LETTER KHANDA TA
-09DC..09DD ; AL # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA
-09DF..09E1 ; AL # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
-09F0..09F1 ; AL # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
-09F4..09F8 ; AL # No [5] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09FA ; AL # So BENGALI ISSHAR
-0A05..0A0A ; AL # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
-0A0F..0A10 ; AL # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
-0A13..0A28 ; AL # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
-0A2A..0A30 ; AL # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
-0A32..0A33 ; AL # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
-0A35..0A36 ; AL # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
-0A38..0A39 ; AL # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
-0A59..0A5C ; AL # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
-0A5E ; AL # Lo GURMUKHI LETTER FA
-0A72..0A74 ; AL # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR
-0A85..0A8D ; AL # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
-0A8F..0A91 ; AL # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
-0A93..0AA8 ; AL # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA
-0AAA..0AB0 ; AL # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA
-0AB2..0AB3 ; AL # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
-0AB5..0AB9 ; AL # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA
-0ABD ; AL # Lo GUJARATI SIGN AVAGRAHA
-0AD0 ; AL # Lo GUJARATI OM
-0AE0..0AE1 ; AL # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
-0B05..0B0C ; AL # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
-0B0F..0B10 ; AL # Lo [2] ORIYA LETTER E..ORIYA LETTER AI
-0B13..0B28 ; AL # Lo [22] ORIYA LETTER O..ORIYA LETTER NA
-0B2A..0B30 ; AL # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA
-0B32..0B33 ; AL # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA
-0B35..0B39 ; AL # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA
-0B3D ; AL # Lo ORIYA SIGN AVAGRAHA
-0B5C..0B5D ; AL # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA
-0B5F..0B61 ; AL # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
-0B70 ; AL # So ORIYA ISSHAR
-0B71 ; AL # Lo ORIYA LETTER WA
-0B83 ; AL # Lo TAMIL SIGN VISARGA
-0B85..0B8A ; AL # Lo [6] TAMIL LETTER A..TAMIL LETTER UU
-0B8E..0B90 ; AL # Lo [3] TAMIL LETTER E..TAMIL LETTER AI
-0B92..0B95 ; AL # Lo [4] TAMIL LETTER O..TAMIL LETTER KA
-0B99..0B9A ; AL # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA
-0B9C ; AL # Lo TAMIL LETTER JA
-0B9E..0B9F ; AL # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA
-0BA3..0BA4 ; AL # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA
-0BA8..0BAA ; AL # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA
-0BAE..0BB9 ; AL # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA
-0BD0 ; AL # Lo TAMIL OM
-0BF0..0BF2 ; AL # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0BF3..0BF8 ; AL # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
-0BFA ; AL # So TAMIL NUMBER SIGN
-0C05..0C0C ; AL # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
-0C0E..0C10 ; AL # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
-0C12..0C28 ; AL # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
-0C2A..0C33 ; AL # Lo [10] TELUGU LETTER PA..TELUGU LETTER LLA
-0C35..0C39 ; AL # Lo [5] TELUGU LETTER VA..TELUGU LETTER HA
-0C3D ; AL # Lo TELUGU SIGN AVAGRAHA
-0C58..0C59 ; AL # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA
-0C60..0C61 ; AL # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
-0C78..0C7E ; AL # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0C7F ; AL # So TELUGU SIGN TUUMU
-0C85..0C8C ; AL # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
-0C8E..0C90 ; AL # Lo [3] KANNADA LETTER E..KANNADA LETTER AI
-0C92..0CA8 ; AL # Lo [23] KANNADA LETTER O..KANNADA LETTER NA
-0CAA..0CB3 ; AL # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA
-0CB5..0CB9 ; AL # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA
-0CBD ; AL # Lo KANNADA SIGN AVAGRAHA
-0CDE ; AL # Lo KANNADA LETTER FA
-0CE0..0CE1 ; AL # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
-0CF1..0CF2 ; AL # So [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D05..0D0C ; AL # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
-0D0E..0D10 ; AL # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
-0D12..0D28 ; AL # Lo [23] MALAYALAM LETTER O..MALAYALAM LETTER NA
-0D2A..0D39 ; AL # Lo [16] MALAYALAM LETTER PA..MALAYALAM LETTER HA
-0D3D ; AL # Lo MALAYALAM SIGN AVAGRAHA
-0D60..0D61 ; AL # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
-0D70..0D75 ; AL # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0D7A..0D7F ; AL # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
-0D85..0D96 ; AL # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
-0D9A..0DB1 ; AL # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
-0DB3..0DBB ; AL # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
-0DBD ; AL # Lo SINHALA LETTER DANTAJA LAYANNA
-0DC0..0DC6 ; AL # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
-0DF4 ; AL # Po SINHALA PUNCTUATION KUNDDALIYA
-0E4F ; AL # Po THAI CHARACTER FONGMAN
-0F00 ; AL # Lo TIBETAN SYLLABLE OM
-0F05 ; AL # Po TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F13 ; AL # So TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F15..0F17 ; AL # So [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
-0F1A..0F1F ; AL # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
-0F2A..0F33 ; AL # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-0F36 ; AL # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
-0F38 ; AL # So TIBETAN MARK CHE MGO
-0F40..0F47 ; AL # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA
-0F49..0F6C ; AL # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
-0F88..0F8B ; AL # Lo [4] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN GRU MED RGYINGS
-0FC0..0FC5 ; AL # So [6] TIBETAN CANTILLATION SIGN HEAVY BEAT..TIBETAN SYMBOL RDO RJE
-0FC7..0FCC ; AL # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE..0FCF ; AL # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
-0FD4 ; AL # Po TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5..0FD8 ; AL # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
-104C..104F ; AL # Po [4] MYANMAR SYMBOL LOCATIVE..MYANMAR SYMBOL GENITIVE
-10A0..10C5 ; AL # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
-10D0..10FA ; AL # Lo [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-10FB ; AL # Po GEORGIAN PARAGRAPH SEPARATOR
-10FC ; AL # Lm MODIFIER LETTER GEORGIAN NAR
-1200..1248 ; AL # Lo [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA
-124A..124D ; AL # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
-1250..1256 ; AL # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
-1258 ; AL # Lo ETHIOPIC SYLLABLE QHWA
-125A..125D ; AL # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
-1260..1288 ; AL # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
-128A..128D ; AL # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
-1290..12B0 ; AL # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
-12B2..12B5 ; AL # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
-12B8..12BE ; AL # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
-12C0 ; AL # Lo ETHIOPIC SYLLABLE KXWA
-12C2..12C5 ; AL # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
-12C8..12D6 ; AL # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8..1310 ; AL # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
-1312..1315 ; AL # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
-1318..135A ; AL # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360 ; AL # So ETHIOPIC SECTION MARK
-1362..1368 ; AL # Po [7] ETHIOPIC FULL STOP..ETHIOPIC PARAGRAPH SEPARATOR
-1369..137C ; AL # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
-1380..138F ; AL # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
-1390..1399 ; AL # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
-13A0..13F4 ; AL # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
-1401..166C ; AL # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
-166D..166E ; AL # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
-166F..167F ; AL # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
-1681..169A ; AL # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
-16A0..16EA ; AL # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
-16EE..16F0 ; AL # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-1700..170C ; AL # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
-170E..1711 ; AL # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
-1720..1731 ; AL # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
-1740..1751 ; AL # Lo [18] BUHID LETTER A..BUHID LETTER HA
-1760..176C ; AL # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
-176E..1770 ; AL # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
-17D9 ; AL # Po KHMER SIGN PHNAEK MUAN
-17F0..17F9 ; AL # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-1800..1801 ; AL # Po [2] MONGOLIAN BIRGA..MONGOLIAN ELLIPSIS
-1807 ; AL # Po MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-180A ; AL # Po MONGOLIAN NIRUGU
-1820..1842 ; AL # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
-1843 ; AL # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1844..1877 ; AL # Lo [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
-1880..18A8 ; AL # Lo [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
-18AA ; AL # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
-18B0..18F5 ; AL # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
-1900..191C ; AL # Lo [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
-1940 ; AL # So LIMBU SIGN LOO
-19E0..19FF ; AL # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
-1A00..1A16 ; AL # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA
-1A1E..1A1F ; AL # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
-1B05..1B33 ; AL # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA
-1B45..1B4B ; AL # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
-1B5C ; AL # Po BALINESE WINDU
-1B61..1B6A ; AL # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
-1B74..1B7C ; AL # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1B83..1BA0 ; AL # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
-1BAE..1BAF ; AL # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1C00..1C23 ; AL # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A
-1C4D..1C4F ; AL # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
-1C5A..1C77 ; AL # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
-1C78..1C7D ; AL # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1CD3 ; AL # Po VEDIC SIGN NIHSHVASA
-1CE9..1CEC ; AL # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE..1CF1 ; AL # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1D00..1D2B ; AL # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61 ; AL # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77 ; AL # L& [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
-1D78 ; AL # Lm MODIFIER LETTER CYRILLIC EN
-1D79..1D9A ; AL # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-1D9B..1DBF ; AL # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1E00..1F15 ; AL # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F18..1F1D ; AL # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F20..1F45 ; AL # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F48..1F4D ; AL # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F50..1F57 ; AL # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F59 ; AL # L& GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F5B ; AL # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F5D ; AL # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F5F..1F7D ; AL # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
-1F80..1FB4 ; AL # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1FB6..1FBC ; AL # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-1FBD ; AL # Sk GREEK KORONIS
-1FBE ; AL # L& GREEK PROSGEGRAMMENI
-1FBF..1FC1 ; AL # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
-1FC2..1FC4 ; AL # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1FC6..1FCC ; AL # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-1FCD..1FCF ; AL # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
-1FD0..1FD3 ; AL # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD6..1FDB ; AL # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
-1FDD..1FDF ; AL # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
-1FE0..1FEC ; AL # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
-1FED..1FEF ; AL # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
-1FF2..1FF4 ; AL # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1FF6..1FFC ; AL # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-1FFE ; AL # Sk GREEK DASIA
-2017 ; AL # Po DOUBLE LOW LINE
-2022..2023 ; AL # Po [2] BULLET..TRIANGULAR BULLET
-2038 ; AL # Po CARET
-203E ; AL # Po OVERLINE
-203F..2040 ; AL # Pc [2] UNDERTIE..CHARACTER TIE
-2041..2043 ; AL # Po [3] CARET INSERTION POINT..HYPHEN BULLET
-204A..2051 ; AL # Po [8] TIRONIAN SIGN ET..TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; AL # Sm COMMERCIAL MINUS SIGN
-2053 ; AL # Po SWUNG DASH
-2054 ; AL # Pc INVERTED UNDERTIE
-2055 ; AL # Po FLOWER PUNCTUATION MARK
-2057 ; AL # Po QUADRUPLE PRIME
-205C ; AL # Po DOTTED CROSS
-2061..2064 ; AL # Cf [4] FUNCTION APPLICATION..INVISIBLE PLUS
-2070 ; AL # No SUPERSCRIPT ZERO
-2071 ; AL # Lm SUPERSCRIPT LATIN SMALL LETTER I
-2075..2079 ; AL # No [5] SUPERSCRIPT FIVE..SUPERSCRIPT NINE
-207A..207C ; AL # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
-2080 ; AL # No SUBSCRIPT ZERO
-2085..2089 ; AL # No [5] SUBSCRIPT FIVE..SUBSCRIPT NINE
-208A..208C ; AL # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
-2090..2094 ; AL # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
-2100..2101 ; AL # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
-2102 ; AL # L& DOUBLE-STRUCK CAPITAL C
-2104 ; AL # So CENTRE LINE SYMBOL
-2106 ; AL # So CADA UNA
-2107 ; AL # L& EULER CONSTANT
-2108 ; AL # So SCRUPLE
-210A..2112 ; AL # L& [9] SCRIPT SMALL G..SCRIPT CAPITAL L
-2114 ; AL # So L B BAR SYMBOL
-2115 ; AL # L& DOUBLE-STRUCK CAPITAL N
-2117..2118 ; AL # So [2] SOUND RECORDING COPYRIGHT..SCRIPT CAPITAL P
-2119..211D ; AL # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
-211E..2120 ; AL # So [3] PRESCRIPTION TAKE..SERVICE MARK
-2123 ; AL # So VERSICLE
-2124 ; AL # L& DOUBLE-STRUCK CAPITAL Z
-2125 ; AL # So OUNCE SIGN
-2126 ; AL # L& OHM SIGN
-2127 ; AL # So INVERTED OHM SIGN
-2128 ; AL # L& BLACK-LETTER CAPITAL Z
-2129 ; AL # So TURNED GREEK SMALL LETTER IOTA
-212A ; AL # L& KELVIN SIGN
-212C..212D ; AL # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
-212E ; AL # So ESTIMATED SYMBOL
-212F..2134 ; AL # L& [6] SCRIPT SMALL E..SCRIPT SMALL O
-2135..2138 ; AL # Lo [4] ALEF SYMBOL..DALET SYMBOL
-2139 ; AL # L& INFORMATION SOURCE
-213A..213B ; AL # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN
-213C..213F ; AL # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
-2140..2144 ; AL # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
-2145..2149 ; AL # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
-214A ; AL # So PROPERTY LINE
-214B ; AL # Sm TURNED AMPERSAND
-214C..214D ; AL # So [2] PER SIGN..AKTIESELSKAB
-214E ; AL # L& TURNED SMALL F
-214F ; AL # So SYMBOL FOR SAMARITAN SOURCE
-2150..2153 ; AL # No [4] VULGAR FRACTION ONE SEVENTH..VULGAR FRACTION ONE THIRD
-2156..215A ; AL # No [5] VULGAR FRACTION TWO FIFTHS..VULGAR FRACTION FIVE SIXTHS
-215C..215D ; AL # No [2] VULGAR FRACTION THREE EIGHTHS..VULGAR FRACTION FIVE EIGHTHS
-215F ; AL # No FRACTION NUMERATOR ONE
-216C..216F ; AL # Nl [4] ROMAN NUMERAL FIFTY..ROMAN NUMERAL ONE THOUSAND
-217A..2182 ; AL # Nl [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND
-2183..2184 ; AL # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
-2185..2188 ; AL # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-219A..219B ; AL # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
-219C..219F ; AL # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
-21A0 ; AL # Sm RIGHTWARDS TWO HEADED ARROW
-21A1..21A2 ; AL # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
-21A3 ; AL # Sm RIGHTWARDS ARROW WITH TAIL
-21A4..21A5 ; AL # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
-21A6 ; AL # Sm RIGHTWARDS ARROW FROM BAR
-21A7..21AD ; AL # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
-21AE ; AL # Sm LEFT RIGHT ARROW WITH STROKE
-21AF..21CD ; AL # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE..21CF ; AL # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0..21D1 ; AL # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
-21D3 ; AL # So DOWNWARDS DOUBLE ARROW
-21D5..21F3 ; AL # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
-21F4..21FF ; AL # Sm [12] RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW
-2201 ; AL # Sm COMPLEMENT
-2204..2206 ; AL # Sm [3] THERE DOES NOT EXIST..INCREMENT
-2209..220A ; AL # Sm [2] NOT AN ELEMENT OF..SMALL ELEMENT OF
-220C..220E ; AL # Sm [3] DOES NOT CONTAIN AS MEMBER..END OF PROOF
-2210 ; AL # Sm N-ARY COPRODUCT
-2214 ; AL # Sm DOT PLUS
-2216..2219 ; AL # Sm [4] SET MINUS..BULLET OPERATOR
-221B..221C ; AL # Sm [2] CUBE ROOT..FOURTH ROOT
-2221..2222 ; AL # Sm [2] MEASURED ANGLE..SPHERICAL ANGLE
-2224 ; AL # Sm DOES NOT DIVIDE
-2226 ; AL # Sm NOT PARALLEL TO
-222D ; AL # Sm TRIPLE INTEGRAL
-222F..2233 ; AL # Sm [5] SURFACE INTEGRAL..ANTICLOCKWISE CONTOUR INTEGRAL
-2238..223B ; AL # Sm [4] DOT MINUS..HOMOTHETIC
-223E..2247 ; AL # Sm [10] INVERTED LAZY S..NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2249..224B ; AL # Sm [3] NOT ALMOST EQUAL TO..TRIPLE TILDE
-224D..2251 ; AL # Sm [5] EQUIVALENT TO..GEOMETRICALLY EQUAL TO
-2253..225F ; AL # Sm [13] IMAGE OF OR APPROXIMATELY EQUAL TO..QUESTIONED EQUAL TO
-2262..2263 ; AL # Sm [2] NOT IDENTICAL TO..STRICTLY EQUIVALENT TO
-2268..2269 ; AL # Sm [2] LESS-THAN BUT NOT EQUAL TO..GREATER-THAN BUT NOT EQUAL TO
-226C..226D ; AL # Sm [2] BETWEEN..NOT EQUIVALENT TO
-2270..2281 ; AL # Sm [18] NEITHER LESS-THAN NOR EQUAL TO..DOES NOT SUCCEED
-2284..2285 ; AL # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF
-2288..2294 ; AL # Sm [13] NEITHER A SUBSET OF NOR EQUAL TO..SQUARE CUP
-2296..2298 ; AL # Sm [3] CIRCLED MINUS..CIRCLED DIVISION SLASH
-229A..22A4 ; AL # Sm [11] CIRCLED RING OPERATOR..DOWN TACK
-22A6..22BE ; AL # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC
-22C0..22FF ; AL # Sm [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP
-2300..2307 ; AL # So [8] DIAMETER SIGN..WAVY LINE
-2308..230B ; AL # Sm [4] LEFT CEILING..RIGHT FLOOR
-230C..2311 ; AL # So [6] BOTTOM RIGHT CROP..SQUARE LOZENGE
-2313..231F ; AL # So [13] SEGMENT..BOTTOM RIGHT CORNER
-2320..2321 ; AL # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
-2322..2328 ; AL # So [7] FROWN..KEYBOARD
-232B..237B ; AL # So [81] ERASE TO THE LEFT..NOT CHECK MARK
-237C ; AL # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D..239A ; AL # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
-239B..23B3 ; AL # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
-23B4..23DB ; AL # So [40] TOP SQUARE BRACKET..FUSE
-23DC..23E1 ; AL # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23E8 ; AL # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
-2400..2426 ; AL # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
-2440..244A ; AL # So [11] OCR HOOK..OCR DOUBLE BACKSLASH
-24FF ; AL # No NEGATIVE CIRCLED DIGIT ZERO
-254C..254F ; AL # So [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2575..257F ; AL # So [11] BOX DRAWINGS LIGHT UP..BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2590..2591 ; AL # So [2] RIGHT HALF BLOCK..LIGHT SHADE
-2596..259F ; AL # So [10] QUADRANT LOWER LEFT..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A2 ; AL # So WHITE SQUARE WITH ROUNDED CORNERS
-25AA..25B1 ; AL # So [8] BLACK SMALL SQUARE..WHITE PARALLELOGRAM
-25B4..25B5 ; AL # So [2] BLACK UP-POINTING SMALL TRIANGLE..WHITE UP-POINTING SMALL TRIANGLE
-25B8..25BB ; AL # So [4] BLACK RIGHT-POINTING SMALL TRIANGLE..WHITE RIGHT-POINTING POINTER
-25BE..25BF ; AL # So [2] BLACK DOWN-POINTING SMALL TRIANGLE..WHITE DOWN-POINTING SMALL TRIANGLE
-25C2..25C5 ; AL # So [4] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE LEFT-POINTING POINTER
-25C9..25CA ; AL # So [2] FISHEYE..LOZENGE
-25CC..25CD ; AL # So [2] DOTTED CIRCLE..CIRCLE WITH VERTICAL FILL
-25D2..25E1 ; AL # So [16] CIRCLE WITH LOWER HALF BLACK..LOWER HALF CIRCLE
-25E6..25EE ; AL # So [9] WHITE BULLET..UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25F0..25F7 ; AL # So [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8..25FF ; AL # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..2604 ; AL # So [5] BLACK SUN WITH RAYS..COMET
-2607..2608 ; AL # So [2] LIGHTNING..THUNDERSTORM
-260A..260D ; AL # So [4] ASCENDING NODE..OPPOSITION
-2610..2613 ; AL # So [4] BALLOT BOX..SALTIRE
-2618..261B ; AL # So [4] SHAMROCK..BLACK RIGHT POINTING INDEX
-261D ; AL # So WHITE UP POINTING INDEX
-261F..263F ; AL # So [33] WHITE DOWN POINTING INDEX..MERCURY
-2641 ; AL # So EARTH
-2643..265F ; AL # So [29] JUPITER..BLACK CHESS PAWN
-2662 ; AL # So WHITE DIAMOND SUIT
-2666 ; AL # So BLACK DIAMOND SUIT
-266B ; AL # So BEAMED EIGHTH NOTES
-266E ; AL # So MUSIC NATURAL SIGN
-2670..269D ; AL # So [46] WEST SYRIAC CROSS..OUTLINED WHITE STAR
-26A0..26BD ; AL # So [30] WARNING SIGN..SOCCER BALL
-26C0..26C3 ; AL # So [4] WHITE DRAUGHTS MAN..BLACK DRAUGHTS KING
-2701..2704 ; AL # So [4] UPPER BLADE SCISSORS..WHITE SCISSORS
-2706..2709 ; AL # So [4] TELEPHONE LOCATION SIGN..ENVELOPE
-270C..2727 ; AL # So [28] VICTORY HAND..WHITE FOUR POINTED STAR
-2729..274B ; AL # So [35] STRESS OUTLINED WHITE STAR..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274D ; AL # So SHADOWED WHITE CIRCLE
-274F..2752 ; AL # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE
-2756 ; AL # So BLACK DIAMOND MINUS WHITE X
-2758..275A ; AL # So [3] LIGHT VERTICAL BAR..HEAVY VERTICAL BAR
-2761 ; AL # So CURVED STEM PARAGRAPH SIGN ORNAMENT
-2764..2767 ; AL # So [4] HEAVY BLACK HEART..ROTATED FLORAL HEART BULLET
-2794 ; AL # So HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2798..27AF ; AL # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B1..27BE ; AL # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW
-27C0..27C4 ; AL # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C7..27CA ; AL # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; AL # Sm LONG DIVISION
-27D0..27E5 ; AL # Sm [22] WHITE DIAMOND WITH CENTRED DOT..WHITE SQUARE WITH RIGHTWARDS TICK
-27F0..27FF ; AL # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
-2800..28FF ; AL # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
-2900..2982 ; AL # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
-2999..29D7 ; AL # Sm [63] DOTTED FENCE..BLACK HOURGLASS
-29DC..29FB ; AL # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS
-29FE..2AFF ; AL # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
-2B00..2B2F ; AL # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE
-2B30..2B44 ; AL # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
-2B45..2B46 ; AL # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
-2B47..2B4C ; AL # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50..2B54 ; AL # So [5] WHITE MEDIUM STAR..WHITE RIGHT-POINTING PENTAGON
-2C00..2C2E ; AL # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-2C30..2C5E ; AL # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C ; AL # L& [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D ; AL # Lm MODIFIER LETTER CAPITAL V
-2C7E..2CE4 ; AL # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
-2CE5..2CEA ; AL # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
-2CEB..2CEE ; AL # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CFD ; AL # No COPTIC FRACTION ONE HALF
-2D00..2D25 ; AL # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65 ; AL # Lo [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
-2D6F ; AL # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-2D80..2D96 ; AL # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
-2DA0..2DA6 ; AL # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
-2DA8..2DAE ; AL # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
-2DB0..2DB6 ; AL # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
-2DB8..2DBE ; AL # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
-2DC0..2DC6 ; AL # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
-2DC8..2DCE ; AL # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
-2DD0..2DD6 ; AL # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
-2DD8..2DDE ; AL # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
-2E16 ; AL # Po DOTTED RIGHT-POINTING ANGLE
-2E1A ; AL # Pd HYPHEN WITH DIAERESIS
-2E1B ; AL # Po TILDE WITH RING ABOVE
-2E1E..2E1F ; AL # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
-2E2F ; AL # Lm VERTICAL TILDE
-4DC0..4DFF ; AL # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-A4D0..A4F7 ; AL # Lo [40] LISU LETTER BA..LISU LETTER OE
-A4F8..A4FD ; AL # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
-A500..A60B ; AL # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
-A60C ; AL # Lm VAI SYLLABLE LENGTHENER
-A610..A61F ; AL # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
-A62A..A62B ; AL # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
-A640..A65F ; AL # L& [32] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER YN
-A662..A66D ; AL # L& [12] CYRILLIC CAPITAL LETTER SOFT DE..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E ; AL # Lo CYRILLIC LETTER MULTIOCULAR O
-A673 ; AL # Po SLAVONIC ASTERISK
-A67E ; AL # Po CYRILLIC KAVYKA
-A67F ; AL # Lm CYRILLIC PAYEROK
-A680..A697 ; AL # L& [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
-A6A0..A6E5 ; AL # Lo [70] BAMUM LETTER A..BAMUM LETTER KI
-A6E6..A6EF ; AL # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A6F2 ; AL # Po BAMUM NJAEMLI
-A700..A716 ; AL # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717..A71F ; AL # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720..A721 ; AL # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
-A722..A76F ; AL # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
-A770 ; AL # Lm MODIFIER LETTER US
-A771..A787 ; AL # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
-A788 ; AL # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789..A78A ; AL # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
-A78B..A78C ; AL # L& [2] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER SALTILLO
-A7FB..A801 ; AL # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
-A803..A805 ; AL # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
-A807..A80A ; AL # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
-A80C..A822 ; AL # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
-A828..A82B ; AL # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
-A830..A835 ; AL # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-A836..A837 ; AL # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
-A839 ; AL # So NORTH INDIC QUANTITY MARK
-A840..A873 ; AL # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
-A882..A8B3 ; AL # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
-A8F2..A8F7 ; AL # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8F8..A8FA ; AL # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
-A8FB ; AL # Lo DEVANAGARI HEADSTROKE
-A90A..A925 ; AL # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
-A930..A946 ; AL # Lo [23] REJANG LETTER KA..REJANG LETTER A
-A95F ; AL # Po REJANG SECTION MARK
-A984..A9B2 ; AL # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA
-A9C1..A9C6 ; AL # Po [6] JAVANESE LEFT RERENGGAN..JAVANESE PADA WINDU
-A9CA..A9CD ; AL # Po [4] JAVANESE PADA ADEG..JAVANESE TURNED PADA PISELEH
-A9CF ; AL # Lm JAVANESE PANGRANGKEP
-A9DE..A9DF ; AL # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
-AA00..AA28 ; AL # Lo [41] CHAM LETTER A..CHAM LETTER HA
-AA40..AA42 ; AL # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
-AA44..AA4B ; AL # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
-AA5C ; AL # Po CHAM PUNCTUATION SPIRAL
-ABC0..ABE2 ; AL # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
-FB00..FB06 ; AL # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
-FB13..FB17 ; AL # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D ; AL # Lo HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28 ; AL # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
-FB29 ; AL # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36 ; AL # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C ; AL # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E ; AL # Lo HEBREW LETTER MEM WITH DAGESH
-FB40..FB41 ; AL # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44 ; AL # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1 ; AL # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBD3..FD3D ; AL # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-FD50..FD8F ; AL # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FD92..FDC7 ; AL # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FDF0..FDFB ; AL # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
-FDFD ; AL # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE70..FE74 ; AL # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
-FE76..FEFC ; AL # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FF66 ; AL # Lo HALFWIDTH KATAKANA LETTER WO
-FF71..FF9D ; AL # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
-FFA0..FFBE ; AL # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
-FFC2..FFC7 ; AL # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
-FFCA..FFCF ; AL # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
-FFD2..FFD7 ; AL # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
-FFDA..FFDC ; AL # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
-FFE8 ; AL # So HALFWIDTH FORMS LIGHT VERTICAL
-FFE9..FFEC ; AL # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
-FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
-10000..1000B ; AL # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
-1000D..10026 ; AL # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
-10028..1003A ; AL # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
-1003C..1003D ; AL # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
-1003F..1004D ; AL # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
-10050..1005D ; AL # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
-10080..100FA ; AL # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10107..10133 ; AL # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10137..1013F ; AL # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
-10140..10174 ; AL # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; AL # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-10179..10189 ; AL # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
-1018A ; AL # No GREEK ZERO SIGN
-10190..1019B ; AL # So [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
-101D0..101FC ; AL # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
-10280..1029C ; AL # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X
-102A0..102D0 ; AL # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3
-10300..1031E ; AL # Lo [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
-10320..10323 ; AL # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340 ; AL # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
-10341 ; AL # Nl GOTHIC LETTER NINETY
-10342..10349 ; AL # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
-1034A ; AL # Nl GOTHIC LETTER NINE HUNDRED
-10380..1039D ; AL # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
-103A0..103C3 ; AL # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
-103C8..103CF ; AL # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
-103D1..103D5 ; AL # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10400..1044F ; AL # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
-10450..1049D ; AL # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
-10800..10805 ; AL # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
-10808 ; AL # Lo CYPRIOT SYLLABLE JO
-1080A..10835 ; AL # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
-10837..10838 ; AL # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
-1083C ; AL # Lo CYPRIOT SYLLABLE ZA
-1083F..10855 ; AL # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
-10858..1085F ; AL # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10900..10915 ; AL # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
-10916..1091B ; AL # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-10920..10939 ; AL # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C
-1093F ; AL # Po LYDIAN TRIANGULAR MARK
-10A00 ; AL # Lo KHAROSHTHI LETTER A
-10A10..10A13 ; AL # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
-10A15..10A17 ; AL # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
-10A19..10A33 ; AL # Lo [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
-10A40..10A47 ; AL # No [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
-10A58 ; AL # Po KHAROSHTHI PUNCTUATION LINES
-10A60..10A7C ; AL # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
-10A7D..10A7E ; AL # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; AL # Po OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B00..10B35 ; AL # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE
-10B40..10B55 ; AL # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
-10B58..10B5F ; AL # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B60..10B72 ; AL # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
-10B78..10B7F ; AL # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10C00..10C48 ; AL # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
-10E60..10E7E ; AL # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
-11083..110AF ; AL # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
-110BB..110BC ; AL # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
-110BD ; AL # Cf KAITHI NUMBER SIGN
-12000..1236E ; AL # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
-12400..12462 ; AL # Nl [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-13000..13257 ; AL # Lo [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006
-1325E..13281 ; AL # Lo [36] EGYPTIAN HIEROGLYPH O007..EGYPTIAN HIEROGLYPH O033
-13283..13285 ; AL # Lo [3] EGYPTIAN HIEROGLYPH O034..EGYPTIAN HIEROGLYPH O036
-1328A..13378 ; AL # Lo [239] EGYPTIAN HIEROGLYPH O037..EGYPTIAN HIEROGLYPH V011
-1337C..1342E ; AL # Lo [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032
-1D000..1D0F5 ; AL # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100..1D126 ; AL # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
-1D129..1D164 ; AL # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
-1D16A..1D16C ; AL # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
-1D183..1D184 ; AL # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
-1D18C..1D1A9 ; AL # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
-1D1AE..1D1DD ; AL # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS
-1D200..1D241 ; AL # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
-1D245 ; AL # So GREEK MUSICAL LEIMMA
-1D300..1D356 ; AL # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
-1D360..1D371 ; AL # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-1D400..1D454 ; AL # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
-1D456..1D49C ; AL # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
-1D49E..1D49F ; AL # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
-1D4A2 ; AL # L& MATHEMATICAL SCRIPT CAPITAL G
-1D4A5..1D4A6 ; AL # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
-1D4A9..1D4AC ; AL # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
-1D4AE..1D4B9 ; AL # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
-1D4BB ; AL # L& MATHEMATICAL SCRIPT SMALL F
-1D4BD..1D4C3 ; AL # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
-1D4C5..1D505 ; AL # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
-1D507..1D50A ; AL # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
-1D50D..1D514 ; AL # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
-1D516..1D51C ; AL # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
-1D51E..1D539 ; AL # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D53B..1D53E ; AL # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D540..1D544 ; AL # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D546 ; AL # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D54A..1D550 ; AL # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D552..1D6A5 ; AL # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
-1D6A8..1D6C0 ; AL # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
-1D6C1 ; AL # Sm MATHEMATICAL BOLD NABLA
-1D6C2..1D6DA ; AL # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
-1D6DB ; AL # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6DC..1D6FA ; AL # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
-1D6FB ; AL # Sm MATHEMATICAL ITALIC NABLA
-1D6FC..1D714 ; AL # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
-1D715 ; AL # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D716..1D734 ; AL # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D735 ; AL # Sm MATHEMATICAL BOLD ITALIC NABLA
-1D736..1D74E ; AL # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D74F ; AL # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D750..1D76E ; AL # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D76F ; AL # Sm MATHEMATICAL SANS-SERIF BOLD NABLA
-1D770..1D788 ; AL # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D789 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D78A..1D7A8 ; AL # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1D7A9 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7AA..1D7C2 ; AL # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-1D7C3 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D7C4..1D7CB ; AL # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1F000..1F02B ; AL # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093 ; AL # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F12E ; AL # So CIRCLED WZ
-
-# Total code points: 14092
-
-# ================================================
-
-# Line_Break=Ideographic
-
-2E80..2E99 ; ID # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP
-2E9B..2EF3 ; ID # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
-2F00..2FD5 ; ID # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
-2FF0..2FFB ; ID # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; ID # Zs IDEOGRAPHIC SPACE
-3003 ; ID # Po DITTO MARK
-3004 ; ID # So JAPANESE INDUSTRIAL STANDARD SYMBOL
-3006 ; ID # Lo IDEOGRAPHIC CLOSING MARK
-3007 ; ID # Nl IDEOGRAPHIC NUMBER ZERO
-3012..3013 ; ID # So [2] POSTAL MARK..GETA MARK
-3020 ; ID # So POSTAL MARK FACE
-3021..3029 ; ID # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3030 ; ID # Pd WAVY DASH
-3031..3035 ; ID # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
-3036..3037 ; ID # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-3038..303A ; ID # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-303D ; ID # Po PART ALTERNATION MARK
-303E..303F ; ID # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
-3042 ; ID # Lo HIRAGANA LETTER A
-3044 ; ID # Lo HIRAGANA LETTER I
-3046 ; ID # Lo HIRAGANA LETTER U
-3048 ; ID # Lo HIRAGANA LETTER E
-304A..3062 ; ID # Lo [25] HIRAGANA LETTER O..HIRAGANA LETTER DI
-3064..3082 ; ID # Lo [31] HIRAGANA LETTER TU..HIRAGANA LETTER MO
-3084 ; ID # Lo HIRAGANA LETTER YA
-3086 ; ID # Lo HIRAGANA LETTER YU
-3088..308D ; ID # Lo [6] HIRAGANA LETTER YO..HIRAGANA LETTER RO
-308F..3094 ; ID # Lo [6] HIRAGANA LETTER WA..HIRAGANA LETTER VU
-309F ; ID # Lo HIRAGANA DIGRAPH YORI
-30A2 ; ID # Lo KATAKANA LETTER A
-30A4 ; ID # Lo KATAKANA LETTER I
-30A6 ; ID # Lo KATAKANA LETTER U
-30A8 ; ID # Lo KATAKANA LETTER E
-30AA..30C2 ; ID # Lo [25] KATAKANA LETTER O..KATAKANA LETTER DI
-30C4..30E2 ; ID # Lo [31] KATAKANA LETTER TU..KATAKANA LETTER MO
-30E4 ; ID # Lo KATAKANA LETTER YA
-30E6 ; ID # Lo KATAKANA LETTER YU
-30E8..30ED ; ID # Lo [6] KATAKANA LETTER YO..KATAKANA LETTER RO
-30EF..30F4 ; ID # Lo [6] KATAKANA LETTER WA..KATAKANA LETTER VU
-30F7..30FA ; ID # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO
-30FF ; ID # Lo KATAKANA DIGRAPH KOTO
-3105..312D ; ID # Lo [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
-3131..318E ; ID # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
-3190..3191 ; ID # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
-3192..3195 ; ID # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3196..319F ; ID # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
-31A0..31B7 ; ID # Lo [24] BOPOMOFO LETTER BU..BOPOMOFO FINAL LETTER H
-31C0..31E3 ; ID # So [36] CJK STROKE T..CJK STROKE Q
-3200..321E ; ID # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-3220..3229 ; ID # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3247 ; ID # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
-3250 ; ID # So PARTNERSHIP SIGN
-3251..325F ; ID # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3260..327F ; ID # So [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
-3280..3289 ; ID # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-328A..32B0 ; ID # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
-32B1..32BF ; ID # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-32C0..32FE ; ID # So [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
-3300..33FF ; ID # So [256] SQUARE APAATO..SQUARE GAL
-3400..4DB5 ; ID # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4DB6..4DBF ; ID # Cn [10] <reserved-4DB6>..<reserved-4DBF>
-4E00..9FCB ; ID # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-9FCC..9FFF ; ID # Cn [52] <reserved-9FCC>..<reserved-9FFF>
-A000..A014 ; ID # Lo [21] YI SYLLABLE IT..YI SYLLABLE E
-A016..A48C ; ID # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
-A490..A4C6 ; ID # So [55] YI RADICAL QOT..YI RADICAL KE
-F900..FA2D ; ID # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F ; ID # Cn [2] <reserved-FA2E>..<reserved-FA2F>
-FA30..FA6D ; ID # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
-FA6E..FA6F ; ID # Cn [2] <reserved-FA6E>..<reserved-FA6F>
-FA70..FAD9 ; ID # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
-FADA..FAFF ; ID # Cn [38] <reserved-FADA>..<reserved-FAFF>
-FE30 ; ID # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-FE31..FE32 ; ID # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
-FE33..FE34 ; ID # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE45..FE46 ; ID # Po [2] SESAME DOT..WHITE SESAME DOT
-FE49..FE4C ; ID # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
-FE4D..FE4F ; ID # Pc [3] DASHED LOW LINE..WAVY LOW LINE
-FE51 ; ID # Po SMALL IDEOGRAPHIC COMMA
-FE58 ; ID # Pd SMALL EM DASH
-FE5F..FE61 ; ID # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK
-FE62 ; ID # Sm SMALL PLUS SIGN
-FE63 ; ID # Pd SMALL HYPHEN-MINUS
-FE64..FE66 ; ID # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
-FE68 ; ID # Po SMALL REVERSE SOLIDUS
-FE6B ; ID # Po SMALL COMMERCIAL AT
-FF02..FF03 ; ID # Po [2] FULLWIDTH QUOTATION MARK..FULLWIDTH NUMBER SIGN
-FF06..FF07 ; ID # Po [2] FULLWIDTH AMPERSAND..FULLWIDTH APOSTROPHE
-FF0A ; ID # Po FULLWIDTH ASTERISK
-FF0B ; ID # Sm FULLWIDTH PLUS SIGN
-FF0D ; ID # Pd FULLWIDTH HYPHEN-MINUS
-FF0F ; ID # Po FULLWIDTH SOLIDUS
-FF10..FF19 ; ID # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-FF1C..FF1E ; ID # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
-FF20 ; ID # Po FULLWIDTH COMMERCIAL AT
-FF21..FF3A ; ID # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
-FF3C ; ID # Po FULLWIDTH REVERSE SOLIDUS
-FF3E ; ID # Sk FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; ID # Pc FULLWIDTH LOW LINE
-FF40 ; ID # Sk FULLWIDTH GRAVE ACCENT
-FF41..FF5A ; ID # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
-FF5C ; ID # Sm FULLWIDTH VERTICAL LINE
-FF5E ; ID # Sm FULLWIDTH TILDE
-FFE2 ; ID # Sm FULLWIDTH NOT SIGN
-FFE3 ; ID # Sk FULLWIDTH MACRON
-FFE4 ; ID # So FULLWIDTH BROKEN BAR
-1F200 ; ID # So SQUARE HIRAGANA HOKA
-1F210..1F231 ; ID # So [34] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F240..1F248 ; ID # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-20000..2A6D6 ; ID # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
-2A6D7..2A6FF ; ID # Cn [41] <reserved-2A6D7>..<reserved-2A6FF>
-2A700..2B734 ; ID # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
-2B735..2F7FF ; ID # Cn [16587] <reserved-2B735>..<reserved-2F7FF>
-2F800..2FA1D ; ID # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
-2FA1E..2FFFD ; ID # Cn [1504] <reserved-2FA1E>..<reserved-2FFFD>
-30000..3FFFD ; ID # Cn [65534] <reserved-30000>..<reserved-3FFFD>
-
-# Total code points: 161775
-
-# ================================================
-
-# Line_Break=Inseparable
-
-2024..2026 ; IN # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS
-FE19 ; IN # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
-
-# Total code points: 4
-
-# ================================================
-
-# Line_Break=Hyphen
-
-002D ; HY # Pd HYPHEN-MINUS
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Combining_Mark
-
-0000..0008 ; CM # Cc [9] <control-0000>..<control-0008>
-000E..001F ; CM # Cc [18] <control-000E>..<control-001F>
-007F..0084 ; CM # Cc [6] <control-007F>..<control-0084>
-0086..009F ; CM # Cc [26] <control-0086>..<control-009F>
-0300..034E ; CM # Mn [79] COMBINING GRAVE ACCENT..COMBINING UPWARDS ARROW BELOW
-0350..035B ; CM # Mn [12] COMBINING RIGHT ARROWHEAD ABOVE..COMBINING ZIGZAG ABOVE
-0363..036F ; CM # Mn [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X
-0483..0487 ; CM # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
-0488..0489 ; CM # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
-0591..05BD ; CM # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
-05BF ; CM # Mn HEBREW POINT RAFE
-05C1..05C2 ; CM # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
-05C4..05C5 ; CM # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
-05C7 ; CM # Mn HEBREW POINT QAMATS QATAN
-0610..061A ; CM # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
-064B..065E ; CM # Mn [20] ARABIC FATHATAN..ARABIC FATHA WITH TWO DOTS
-0670 ; CM # Mn ARABIC LETTER SUPERSCRIPT ALEF
-06D6..06DC ; CM # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
-06DE ; CM # Me ARABIC START OF RUB EL HIZB
-06DF..06E4 ; CM # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
-06E7..06E8 ; CM # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
-06EA..06ED ; CM # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
-0711 ; CM # Mn SYRIAC LETTER SUPERSCRIPT ALAPH
-0730..074A ; CM # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
-07A6..07B0 ; CM # Mn [11] THAANA ABAFILI..THAANA SUKUN
-07EB..07F3 ; CM # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
-0816..0819 ; CM # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
-081B..0823 ; CM # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
-0825..0827 ; CM # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
-0829..082D ; CM # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
-0900..0902 ; CM # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
-0903 ; CM # Mc DEVANAGARI SIGN VISARGA
-093C ; CM # Mn DEVANAGARI SIGN NUKTA
-093E..0940 ; CM # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
-0941..0948 ; CM # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
-0949..094C ; CM # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
-094D ; CM # Mn DEVANAGARI SIGN VIRAMA
-094E ; CM # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0951..0955 ; CM # Mn [5] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN CANDRA LONG E
-0962..0963 ; CM # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
-0981 ; CM # Mn BENGALI SIGN CANDRABINDU
-0982..0983 ; CM # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
-09BC ; CM # Mn BENGALI SIGN NUKTA
-09BE..09C0 ; CM # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
-09C1..09C4 ; CM # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
-09C7..09C8 ; CM # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
-09CB..09CC ; CM # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
-09CD ; CM # Mn BENGALI SIGN VIRAMA
-09D7 ; CM # Mc BENGALI AU LENGTH MARK
-09E2..09E3 ; CM # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
-0A01..0A02 ; CM # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
-0A03 ; CM # Mc GURMUKHI SIGN VISARGA
-0A3C ; CM # Mn GURMUKHI SIGN NUKTA
-0A3E..0A40 ; CM # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
-0A41..0A42 ; CM # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
-0A47..0A48 ; CM # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
-0A4B..0A4D ; CM # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
-0A51 ; CM # Mn GURMUKHI SIGN UDAAT
-0A70..0A71 ; CM # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
-0A75 ; CM # Mn GURMUKHI SIGN YAKASH
-0A81..0A82 ; CM # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
-0A83 ; CM # Mc GUJARATI SIGN VISARGA
-0ABC ; CM # Mn GUJARATI SIGN NUKTA
-0ABE..0AC0 ; CM # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
-0AC1..0AC5 ; CM # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
-0AC7..0AC8 ; CM # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
-0AC9 ; CM # Mc GUJARATI VOWEL SIGN CANDRA O
-0ACB..0ACC ; CM # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
-0ACD ; CM # Mn GUJARATI SIGN VIRAMA
-0AE2..0AE3 ; CM # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
-0B01 ; CM # Mn ORIYA SIGN CANDRABINDU
-0B02..0B03 ; CM # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
-0B3C ; CM # Mn ORIYA SIGN NUKTA
-0B3E ; CM # Mc ORIYA VOWEL SIGN AA
-0B3F ; CM # Mn ORIYA VOWEL SIGN I
-0B40 ; CM # Mc ORIYA VOWEL SIGN II
-0B41..0B44 ; CM # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
-0B47..0B48 ; CM # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
-0B4B..0B4C ; CM # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
-0B4D ; CM # Mn ORIYA SIGN VIRAMA
-0B56 ; CM # Mn ORIYA AI LENGTH MARK
-0B57 ; CM # Mc ORIYA AU LENGTH MARK
-0B62..0B63 ; CM # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
-0B82 ; CM # Mn TAMIL SIGN ANUSVARA
-0BBE..0BBF ; CM # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
-0BC0 ; CM # Mn TAMIL VOWEL SIGN II
-0BC1..0BC2 ; CM # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
-0BC6..0BC8 ; CM # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
-0BCA..0BCC ; CM # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
-0BCD ; CM # Mn TAMIL SIGN VIRAMA
-0BD7 ; CM # Mc TAMIL AU LENGTH MARK
-0C01..0C03 ; CM # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
-0C3E..0C40 ; CM # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
-0C41..0C44 ; CM # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
-0C46..0C48 ; CM # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
-0C4A..0C4D ; CM # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
-0C55..0C56 ; CM # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
-0C62..0C63 ; CM # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
-0C82..0C83 ; CM # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
-0CBC ; CM # Mn KANNADA SIGN NUKTA
-0CBE ; CM # Mc KANNADA VOWEL SIGN AA
-0CBF ; CM # Mn KANNADA VOWEL SIGN I
-0CC0..0CC4 ; CM # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
-0CC6 ; CM # Mn KANNADA VOWEL SIGN E
-0CC7..0CC8 ; CM # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
-0CCA..0CCB ; CM # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
-0CCC..0CCD ; CM # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0CD5..0CD6 ; CM # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
-0CE2..0CE3 ; CM # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D02..0D03 ; CM # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
-0D3E..0D40 ; CM # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
-0D41..0D44 ; CM # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
-0D46..0D48 ; CM # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
-0D4A..0D4C ; CM # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
-0D4D ; CM # Mn MALAYALAM SIGN VIRAMA
-0D57 ; CM # Mc MALAYALAM AU LENGTH MARK
-0D62..0D63 ; CM # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
-0D82..0D83 ; CM # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
-0DCA ; CM # Mn SINHALA SIGN AL-LAKUNA
-0DCF..0DD1 ; CM # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2..0DD4 ; CM # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; CM # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8..0DDF ; CM # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
-0DF2..0DF3 ; CM # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0F18..0F19 ; CM # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F35 ; CM # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
-0F37 ; CM # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F39 ; CM # Mn TIBETAN MARK TSA -PHRU
-0F3E..0F3F ; CM # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
-0F71..0F7E ; CM # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
-0F80..0F84 ; CM # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
-0F86..0F87 ; CM # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
-0F90..0F97 ; CM # Mn [8] TIBETAN SUBJOINED LETTER KA..TIBETAN SUBJOINED LETTER JA
-0F99..0FBC ; CM # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0FC6 ; CM # Mn TIBETAN SYMBOL PADMA GDAN
-135F ; CM # Mn ETHIOPIC COMBINING GEMINATION MARK
-1712..1714 ; CM # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
-1732..1734 ; CM # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
-1752..1753 ; CM # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
-1772..1773 ; CM # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-180B..180D ; CM # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
-18A9 ; CM # Mn MONGOLIAN LETTER ALI GALI DAGALGA
-1920..1922 ; CM # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
-1923..1926 ; CM # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
-1927..1928 ; CM # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
-1929..192B ; CM # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
-1930..1931 ; CM # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
-1932 ; CM # Mn LIMBU SMALL LETTER ANUSVARA
-1933..1938 ; CM # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-1939..193B ; CM # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
-1A17..1A18 ; CM # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
-1A19..1A1B ; CM # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
-1A7F ; CM # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1B00..1B03 ; CM # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
-1B04 ; CM # Mc BALINESE SIGN BISAH
-1B34 ; CM # Mn BALINESE SIGN REREKAN
-1B35 ; CM # Mc BALINESE VOWEL SIGN TEDUNG
-1B36..1B3A ; CM # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
-1B3B ; CM # Mc BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; CM # Mn BALINESE VOWEL SIGN LA LENGA
-1B3D..1B41 ; CM # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; CM # Mn BALINESE VOWEL SIGN PEPET
-1B43..1B44 ; CM # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
-1B6B..1B73 ; CM # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
-1B80..1B81 ; CM # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
-1B82 ; CM # Mc SUNDANESE SIGN PANGWISAD
-1BA1 ; CM # Mc SUNDANESE CONSONANT SIGN PAMINGKAL
-1BA2..1BA5 ; CM # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
-1BA6..1BA7 ; CM # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
-1BA8..1BA9 ; CM # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; CM # Mc SUNDANESE SIGN PAMAAEH
-1C24..1C2B ; CM # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
-1C2C..1C33 ; CM # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
-1C34..1C35 ; CM # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1C36..1C37 ; CM # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
-1CD0..1CD2 ; CM # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
-1CD4..1CE0 ; CM # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-1CE1 ; CM # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CE2..1CE8 ; CM # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1CED ; CM # Mn VEDIC SIGN TIRYAK
-1CF2 ; CM # Mc VEDIC SIGN ARDHAVISARGA
-1DC0..1DE6 ; CM # Mn [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
-1DFD..1DFF ; CM # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
-200C..200F ; CM # Cf [4] ZERO WIDTH NON-JOINER..RIGHT-TO-LEFT MARK
-202A..202E ; CM # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
-206A..206F ; CM # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
-20D0..20DC ; CM # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
-20DD..20E0 ; CM # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
-20E1 ; CM # Mn COMBINING LEFT RIGHT ARROW ABOVE
-20E2..20E4 ; CM # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
-20E5..20F0 ; CM # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2CEF..2CF1 ; CM # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
-2DE0..2DFF ; CM # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F ; CM # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
-3099..309A ; CM # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-A66F ; CM # Mn COMBINING CYRILLIC VZMET
-A670..A672 ; CM # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D ; CM # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
-A6F0..A6F1 ; CM # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
-A802 ; CM # Mn SYLOTI NAGRI SIGN DVISVARA
-A806 ; CM # Mn SYLOTI NAGRI SIGN HASANTA
-A80B ; CM # Mn SYLOTI NAGRI SIGN ANUSVARA
-A823..A824 ; CM # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
-A825..A826 ; CM # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
-A827 ; CM # Mc SYLOTI NAGRI VOWEL SIGN OO
-A880..A881 ; CM # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
-A8B4..A8C3 ; CM # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
-A8C4 ; CM # Mn SAURASHTRA SIGN VIRAMA
-A8E0..A8F1 ; CM # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
-A926..A92D ; CM # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
-A947..A951 ; CM # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
-A952..A953 ; CM # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
-A980..A982 ; CM # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
-A983 ; CM # Mc JAVANESE SIGN WIGNYAN
-A9B3 ; CM # Mn JAVANESE SIGN CECAK TELU
-A9B4..A9B5 ; CM # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9B6..A9B9 ; CM # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
-A9BA..A9BB ; CM # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
-A9BC ; CM # Mn JAVANESE VOWEL SIGN PEPET
-A9BD..A9C0 ; CM # Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
-AA29..AA2E ; CM # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
-AA2F..AA30 ; CM # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
-AA31..AA32 ; CM # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
-AA33..AA34 ; CM # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
-AA35..AA36 ; CM # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
-AA43 ; CM # Mn CHAM CONSONANT SIGN FINAL NG
-AA4C ; CM # Mn CHAM CONSONANT SIGN FINAL M
-AA4D ; CM # Mc CHAM CONSONANT SIGN FINAL H
-ABE3..ABE4 ; CM # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; CM # Mn MEETEI MAYEK VOWEL SIGN ANAP
-ABE6..ABE7 ; CM # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; CM # Mn MEETEI MAYEK VOWEL SIGN UNAP
-ABE9..ABEA ; CM # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
-ABEC ; CM # Mc MEETEI MAYEK LUM IYEK
-ABED ; CM # Mn MEETEI MAYEK APUN IYEK
-FB1E ; CM # Mn HEBREW POINT JUDEO-SPANISH VARIKA
-FE00..FE0F ; CM # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
-FE20..FE26 ; CM # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
-FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
-101FD ; CM # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-10A01..10A03 ; CM # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05..10A06 ; CM # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
-10A0C..10A0F ; CM # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
-10A38..10A3A ; CM # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
-10A3F ; CM # Mn KHAROSHTHI VIRAMA
-11080..11081 ; CM # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
-11082 ; CM # Mc KAITHI SIGN VISARGA
-110B0..110B2 ; CM # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
-110B3..110B6 ; CM # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
-110B7..110B8 ; CM # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
-110B9..110BA ; CM # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
-1D165..1D166 ; CM # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
-1D167..1D169 ; CM # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16D..1D172 ; CM # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
-1D173..1D17A ; CM # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
-1D17B..1D182 ; CM # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
-1D185..1D18B ; CM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D1AA..1D1AD ; CM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D242..1D244 ; CM # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
-E0001 ; CM # Cf LANGUAGE TAG
-E0020..E007F ; CM # Cf [96] TAG SPACE..CANCEL TAG
-E0100..E01EF ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
-
-# Total code points: 1436
-
-# ================================================
-
-# Line_Break=Break_Before
-
-00B4 ; BB # Sk ACUTE ACCENT
-02C8 ; BB # Lm MODIFIER LETTER VERTICAL LINE
-02CC ; BB # Lm MODIFIER LETTER LOW VERTICAL LINE
-02DF ; BB # Sk MODIFIER LETTER CROSS ACCENT
-0F01..0F03 ; BB # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04 ; BB # Po TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F06..0F07 ; BB # Po [2] TIBETAN MARK CARET YIG MGO PHUR SHAD MA..TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F09..0F0A ; BB # Po [2] TIBETAN MARK BSKUR YIG MGO..TIBETAN MARK BKA- SHOG YIG MGO
-0FD0..0FD1 ; BB # Po [2] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD3 ; BB # Po TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-1806 ; BB # Pd MONGOLIAN TODO SOFT HYPHEN
-1FFD ; BB # Sk GREEK OXIA
-A874..A875 ; BB # Po [2] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA DOUBLE HEAD MARK
-
-# Total code points: 19
-
-# ================================================
-
-# Line_Break=Break_After
-
-0009 ; BA # Cc <control-0009>
-007C ; BA # Sm VERTICAL LINE
-00AD ; BA # Cf SOFT HYPHEN
-058A ; BA # Pd ARMENIAN HYPHEN
-05BE ; BA # Pd HEBREW PUNCTUATION MAQAF
-0964..0965 ; BA # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0E5A..0E5B ; BA # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
-0F0B ; BA # Po TIBETAN MARK INTERSYLLABIC TSHEG
-0F34 ; BA # So TIBETAN MARK BSDUS RTAGS
-0F7F ; BA # Mc TIBETAN SIGN RNAM BCAD
-0F85 ; BA # Po TIBETAN MARK PALUTA
-0FBE..0FBF ; BA # So [2] TIBETAN KU RU KHA..TIBETAN KU RU KHA BZHI MIG CAN
-0FD2 ; BA # Po TIBETAN MARK NYIS TSHEG
-104A..104B ; BA # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION
-1361 ; BA # Po ETHIOPIC WORDSPACE
-1400 ; BA # Pd CANADIAN SYLLABICS HYPHEN
-1680 ; BA # Zs OGHAM SPACE MARK
-16EB..16ED ; BA # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
-1735..1736 ; BA # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
-17D4..17D5 ; BA # Po [2] KHMER SIGN KHAN..KHMER SIGN BARIYOOSAN
-17D8 ; BA # Po KHMER SIGN BEYYAL
-17DA ; BA # Po KHMER SIGN KOOMUUT
-1804..1805 ; BA # Po [2] MONGOLIAN COLON..MONGOLIAN FOUR DOTS
-1B5A..1B5B ; BA # Po [2] BALINESE PANTI..BALINESE PAMADA
-1B5D..1B60 ; BA # Po [4] BALINESE CARIK PAMUNGKAH..BALINESE PAMENENG
-1C3B..1C3F ; BA # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
-1C7E..1C7F ; BA # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
-2000..2006 ; BA # Zs [7] EN QUAD..SIX-PER-EM SPACE
-2008..200A ; BA # Zs [3] PUNCTUATION SPACE..HAIR SPACE
-2010 ; BA # Pd HYPHEN
-2012..2013 ; BA # Pd [2] FIGURE DASH..EN DASH
-2027 ; BA # Po HYPHENATION POINT
-2056 ; BA # Po THREE DOT PUNCTUATION
-2058..205B ; BA # Po [4] FOUR DOT PUNCTUATION..FOUR DOT MARK
-205D..205E ; BA # Po [2] TRICOLON..VERTICAL FOUR DOTS
-205F ; BA # Zs MEDIUM MATHEMATICAL SPACE
-2CFA..2CFC ; BA # Po [3] COPTIC OLD NUBIAN DIRECT QUESTION MARK..COPTIC OLD NUBIAN VERSE DIVIDER
-2CFF ; BA # Po COPTIC MORPHOLOGICAL DIVIDER
-2E0E..2E15 ; BA # Po [8] EDITORIAL CORONIS..UPWARDS ANCORA
-2E17 ; BA # Pd DOUBLE OBLIQUE HYPHEN
-2E19 ; BA # Po PALM BRANCH
-2E2A..2E2D ; BA # Po [4] TWO DOTS OVER ONE DOT PUNCTUATION..FIVE DOT MARK
-2E30..2E31 ; BA # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-A4FE..A4FF ; BA # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
-A60D ; BA # Po VAI COMMA
-A60F ; BA # Po VAI QUESTION MARK
-A6F3..A6F7 ; BA # Po [5] BAMUM FULL STOP..BAMUM QUESTION MARK
-A8CE..A8CF ; BA # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
-A92E..A92F ; BA # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
-A9C7..A9C9 ; BA # Po [3] JAVANESE PADA PANGKAT..JAVANESE PADA LUNGSI
-AA5D..AA5F ; BA # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
-ABEB ; BA # Po MEETEI MAYEK CHEIKHEI
-10100..10101 ; BA # Po [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102 ; BA # So AEGEAN CHECK MARK
-1039F ; BA # Po UGARITIC WORD DIVIDER
-103D0 ; BA # Po OLD PERSIAN WORD DIVIDER
-10857 ; BA # Po IMPERIAL ARAMAIC SECTION SIGN
-1091F ; BA # Po PHOENICIAN WORD SEPARATOR
-10A50..10A57 ; BA # Po [8] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10B39..10B3F ; BA # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
-110BE..110C1 ; BA # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
-12470..12473 ; BA # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-
-# Total code points: 137
-
-# ================================================
-
-# Line_Break=Space
-
-0020 ; SP # Zs SPACE
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Mandatory_Break
-
-000B..000C ; BK # Cc [2] <control-000B>..<control-000C>
-2028 ; BK # Zl LINE SEPARATOR
-2029 ; BK # Zp PARAGRAPH SEPARATOR
-
-# Total code points: 4
-
-# ================================================
-
-# Line_Break=Carriage_Return
-
-000D ; CR # Cc <control-000D>
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Line_Feed
-
-000A ; LF # Cc <control-000A>
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Contingent_Break
-
-FFFC ; CB # So OBJECT REPLACEMENT CHARACTER
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Complex_Context
-
-0E01..0E30 ; SA # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
-0E31 ; SA # Mn THAI CHARACTER MAI HAN-AKAT
-0E32..0E33 ; SA # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E34..0E3A ; SA # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
-0E40..0E45 ; SA # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
-0E46 ; SA # Lm THAI CHARACTER MAIYAMOK
-0E47..0E4E ; SA # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
-0E81..0E82 ; SA # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG
-0E84 ; SA # Lo LAO LETTER KHO TAM
-0E87..0E88 ; SA # Lo [2] LAO LETTER NGO..LAO LETTER CO
-0E8A ; SA # Lo LAO LETTER SO TAM
-0E8D ; SA # Lo LAO LETTER NYO
-0E94..0E97 ; SA # Lo [4] LAO LETTER DO..LAO LETTER THO TAM
-0E99..0E9F ; SA # Lo [7] LAO LETTER NO..LAO LETTER FO SUNG
-0EA1..0EA3 ; SA # Lo [3] LAO LETTER MO..LAO LETTER LO LING
-0EA5 ; SA # Lo LAO LETTER LO LOOT
-0EA7 ; SA # Lo LAO LETTER WO
-0EAA..0EAB ; SA # Lo [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAD..0EB0 ; SA # Lo [4] LAO LETTER O..LAO VOWEL SIGN A
-0EB1 ; SA # Mn LAO VOWEL SIGN MAI KAN
-0EB2..0EB3 ; SA # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
-0EB4..0EB9 ; SA # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBB..0EBC ; SA # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
-0EBD ; SA # Lo LAO SEMIVOWEL SIGN NYO
-0EC0..0EC4 ; SA # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EC6 ; SA # Lm LAO KO LA
-0EC8..0ECD ; SA # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
-0EDC..0EDD ; SA # Lo [2] LAO HO NO..LAO HO MO
-1000..102A ; SA # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU
-102B..102C ; SA # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
-102D..1030 ; SA # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
-1031 ; SA # Mc MYANMAR VOWEL SIGN E
-1032..1037 ; SA # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
-1038 ; SA # Mc MYANMAR SIGN VISARGA
-1039..103A ; SA # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
-103B..103C ; SA # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
-103D..103E ; SA # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
-103F ; SA # Lo MYANMAR LETTER GREAT SA
-1050..1055 ; SA # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
-1056..1057 ; SA # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1058..1059 ; SA # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
-105A..105D ; SA # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
-105E..1060 ; SA # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
-1061 ; SA # Lo MYANMAR LETTER SGAW KAREN SHA
-1062..1064 ; SA # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1065..1066 ; SA # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
-1067..106D ; SA # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-106E..1070 ; SA # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
-1071..1074 ; SA # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
-1075..1081 ; SA # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
-1082 ; SA # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1083..1084 ; SA # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1085..1086 ; SA # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
-1087..108C ; SA # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108D ; SA # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-108E ; SA # Lo MYANMAR LETTER RUMAI PALAUNG FA
-108F ; SA # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109C ; SA # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
-109D ; SA # Mn MYANMAR VOWEL SIGN AITON AI
-109E..109F ; SA # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-1780..17B3 ; SA # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5 ; SA # Cf [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6 ; SA # Mc KHMER VOWEL SIGN AA
-17B7..17BD ; SA # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
-17BE..17C5 ; SA # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
-17C6 ; SA # Mn KHMER SIGN NIKAHIT
-17C7..17C8 ; SA # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
-17C9..17D3 ; SA # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
-17D7 ; SA # Lm KHMER SIGN LEK TOO
-17DC ; SA # Lo KHMER SIGN AVAKRAHASANYA
-17DD ; SA # Mn KHMER SIGN ATTHACAN
-1950..196D ; SA # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI
-1970..1974 ; SA # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
-1980..19AB ; SA # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
-19B0..19C0 ; SA # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C1..19C7 ; SA # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-19C8..19C9 ; SA # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
-19DE..19DF ; SA # Po [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
-1A20..1A54 ; SA # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
-1A55 ; SA # Mc TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; SA # Mn TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; SA # Mc TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E ; SA # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
-1A60 ; SA # Mn TAI THAM SIGN SAKOT
-1A61 ; SA # Mc TAI THAM VOWEL SIGN A
-1A62 ; SA # Mn TAI THAM VOWEL SIGN MAI SAT
-1A63..1A64 ; SA # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
-1A65..1A6C ; SA # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
-1A6D..1A72 ; SA # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A7C ; SA # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
-1AA0..1AA6 ; SA # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
-1AA7 ; SA # Lm TAI THAM SIGN MAI YAMOK
-1AA8..1AAD ; SA # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
-AA60..AA6F ; SA # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
-AA70 ; SA # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AA71..AA76 ; SA # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
-AA77..AA79 ; SA # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
-AA7A ; SA # Lo MYANMAR LETTER AITON RA
-AA7B ; SA # Mc MYANMAR SIGN PAO KAREN TONE
-AA80..AAAF ; SA # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-AAB0 ; SA # Mn TAI VIET MAI KANG
-AAB1 ; SA # Lo TAI VIET VOWEL AA
-AAB2..AAB4 ; SA # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
-AAB5..AAB6 ; SA # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB7..AAB8 ; SA # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
-AAB9..AABD ; SA # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
-AABE..AABF ; SA # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
-AAC0 ; SA # Lo TAI VIET TONE MAI NUENG
-AAC1 ; SA # Mn TAI VIET TONE MAI THO
-AAC2 ; SA # Lo TAI VIET TONE MAI SONG
-AADB..AADC ; SA # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
-AADD ; SA # Lm TAI VIET SYMBOL SAM
-AADE..AADF ; SA # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
-
-# Total code points: 662
-
-# ================================================
-
-# Line_Break=Ambiguous
-
-00A7 ; AI # So SECTION SIGN
-00A8 ; AI # Sk DIAERESIS
-00AA ; AI # L& FEMININE ORDINAL INDICATOR
-00B2..00B3 ; AI # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B6 ; AI # So PILCROW SIGN
-00B7 ; AI # Po MIDDLE DOT
-00B8 ; AI # Sk CEDILLA
-00B9 ; AI # No SUPERSCRIPT ONE
-00BA ; AI # L& MASCULINE ORDINAL INDICATOR
-00BC..00BE ; AI # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-00D7 ; AI # Sm MULTIPLICATION SIGN
-00F7 ; AI # Sm DIVISION SIGN
-02C7 ; AI # Lm CARON
-02C9..02CB ; AI # Lm [3] MODIFIER LETTER MACRON..MODIFIER LETTER GRAVE ACCENT
-02CD ; AI # Lm MODIFIER LETTER LOW MACRON
-02D0 ; AI # Lm MODIFIER LETTER TRIANGULAR COLON
-02D8..02DB ; AI # Sk [4] BREVE..OGONEK
-02DD ; AI # Sk DOUBLE ACUTE ACCENT
-2015 ; AI # Pd HORIZONTAL BAR
-2016 ; AI # Po DOUBLE VERTICAL LINE
-2020..2021 ; AI # Po [2] DAGGER..DOUBLE DAGGER
-203B ; AI # Po REFERENCE MARK
-2074 ; AI # No SUPERSCRIPT FOUR
-207F ; AI # Lm SUPERSCRIPT LATIN SMALL LETTER N
-2081..2084 ; AI # No [4] SUBSCRIPT ONE..SUBSCRIPT FOUR
-2105 ; AI # So CARE OF
-2113 ; AI # L& SCRIPT SMALL L
-2121..2122 ; AI # So [2] TELEPHONE SIGN..TRADE MARK SIGN
-212B ; AI # L& ANGSTROM SIGN
-2154..2155 ; AI # No [2] VULGAR FRACTION TWO THIRDS..VULGAR FRACTION ONE FIFTH
-215B ; AI # No VULGAR FRACTION ONE EIGHTH
-215E ; AI # No VULGAR FRACTION SEVEN EIGHTHS
-2160..216B ; AI # Nl [12] ROMAN NUMERAL ONE..ROMAN NUMERAL TWELVE
-2170..2179 ; AI # Nl [10] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL TEN
-2189 ; AI # No VULGAR FRACTION ZERO THIRDS
-2190..2194 ; AI # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
-2195..2199 ; AI # So [5] UP DOWN ARROW..SOUTH WEST ARROW
-21D2 ; AI # Sm RIGHTWARDS DOUBLE ARROW
-21D4 ; AI # Sm LEFT RIGHT DOUBLE ARROW
-2200 ; AI # Sm FOR ALL
-2202..2203 ; AI # Sm [2] PARTIAL DIFFERENTIAL..THERE EXISTS
-2207..2208 ; AI # Sm [2] NABLA..ELEMENT OF
-220B ; AI # Sm CONTAINS AS MEMBER
-220F ; AI # Sm N-ARY PRODUCT
-2211 ; AI # Sm N-ARY SUMMATION
-2215 ; AI # Sm DIVISION SLASH
-221A ; AI # Sm SQUARE ROOT
-221D..2220 ; AI # Sm [4] PROPORTIONAL TO..ANGLE
-2223 ; AI # Sm DIVIDES
-2225 ; AI # Sm PARALLEL TO
-2227..222C ; AI # Sm [6] LOGICAL AND..DOUBLE INTEGRAL
-222E ; AI # Sm CONTOUR INTEGRAL
-2234..2237 ; AI # Sm [4] THEREFORE..PROPORTION
-223C..223D ; AI # Sm [2] TILDE OPERATOR..REVERSED TILDE
-2248 ; AI # Sm ALMOST EQUAL TO
-224C ; AI # Sm ALL EQUAL TO
-2252 ; AI # Sm APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2260..2261 ; AI # Sm [2] NOT EQUAL TO..IDENTICAL TO
-2264..2267 ; AI # Sm [4] LESS-THAN OR EQUAL TO..GREATER-THAN OVER EQUAL TO
-226A..226B ; AI # Sm [2] MUCH LESS-THAN..MUCH GREATER-THAN
-226E..226F ; AI # Sm [2] NOT LESS-THAN..NOT GREATER-THAN
-2282..2283 ; AI # Sm [2] SUBSET OF..SUPERSET OF
-2286..2287 ; AI # Sm [2] SUBSET OF OR EQUAL TO..SUPERSET OF OR EQUAL TO
-2295 ; AI # Sm CIRCLED PLUS
-2299 ; AI # Sm CIRCLED DOT OPERATOR
-22A5 ; AI # Sm UP TACK
-22BF ; AI # Sm RIGHT TRIANGLE
-2312 ; AI # So ARC
-2460..249B ; AI # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
-249C..24E9 ; AI # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-24EA..24FE ; AI # No [21] CIRCLED DIGIT ZERO..DOUBLE CIRCLED NUMBER TEN
-2500..254B ; AI # So [76] BOX DRAWINGS LIGHT HORIZONTAL..BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-2550..2574 ; AI # So [37] BOX DRAWINGS DOUBLE HORIZONTAL..BOX DRAWINGS LIGHT LEFT
-2580..258F ; AI # So [16] UPPER HALF BLOCK..LEFT ONE EIGHTH BLOCK
-2592..2595 ; AI # So [4] MEDIUM SHADE..RIGHT ONE EIGHTH BLOCK
-25A0..25A1 ; AI # So [2] BLACK SQUARE..WHITE SQUARE
-25A3..25A9 ; AI # So [7] WHITE SQUARE CONTAINING BLACK SMALL SQUARE..SQUARE WITH DIAGONAL CROSSHATCH FILL
-25B2..25B3 ; AI # So [2] BLACK UP-POINTING TRIANGLE..WHITE UP-POINTING TRIANGLE
-25B6 ; AI # So BLACK RIGHT-POINTING TRIANGLE
-25B7 ; AI # Sm WHITE RIGHT-POINTING TRIANGLE
-25BC..25BD ; AI # So [2] BLACK DOWN-POINTING TRIANGLE..WHITE DOWN-POINTING TRIANGLE
-25C0 ; AI # So BLACK LEFT-POINTING TRIANGLE
-25C1 ; AI # Sm WHITE LEFT-POINTING TRIANGLE
-25C6..25C8 ; AI # So [3] BLACK DIAMOND..WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25CB ; AI # So WHITE CIRCLE
-25CE..25D1 ; AI # So [4] BULLSEYE..CIRCLE WITH RIGHT HALF BLACK
-25E2..25E5 ; AI # So [4] BLACK LOWER RIGHT TRIANGLE..BLACK UPPER RIGHT TRIANGLE
-25EF ; AI # So LARGE CIRCLE
-2605..2606 ; AI # So [2] BLACK STAR..WHITE STAR
-2609 ; AI # So SUN
-260E..260F ; AI # So [2] BLACK TELEPHONE..WHITE TELEPHONE
-2614..2617 ; AI # So [4] UMBRELLA WITH RAIN DROPS..BLACK SHOGI PIECE
-261C ; AI # So WHITE LEFT POINTING INDEX
-261E ; AI # So WHITE RIGHT POINTING INDEX
-2640 ; AI # So FEMALE SIGN
-2642 ; AI # So MALE SIGN
-2660..2661 ; AI # So [2] BLACK SPADE SUIT..WHITE HEART SUIT
-2663..2665 ; AI # So [3] BLACK CLUB SUIT..BLACK HEART SUIT
-2667..266A ; AI # So [4] WHITE CLUB SUIT..EIGHTH NOTE
-266C..266D ; AI # So [2] BEAMED SIXTEENTH NOTES..MUSIC FLAT SIGN
-266F ; AI # Sm MUSIC SHARP SIGN
-269E..269F ; AI # So [2] THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT
-26BE..26BF ; AI # So [2] BASEBALL..SQUARED KEY
-26C4..26CD ; AI # So [10] SNOWMAN WITHOUT SNOW..DISABLED CAR
-26CF..26E1 ; AI # So [19] PICK..RESTRICTED LEFT ENTRY-2
-26E3 ; AI # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF ; AI # So [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2757 ; AI # So HEAVY EXCLAMATION MARK SYMBOL
-2776..2793 ; AI # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2B55..2B59 ; AI # So [5] HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE
-3248..324F ; AI # So [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-FFFD ; AI # So REPLACEMENT CHARACTER
-1F100..1F10A ; AI # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-1F110..1F12D ; AI # So [30] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED CD
-1F131 ; AI # So SQUARED LATIN CAPITAL LETTER B
-1F13D ; AI # So SQUARED LATIN CAPITAL LETTER N
-1F13F ; AI # So SQUARED LATIN CAPITAL LETTER P
-1F142 ; AI # So SQUARED LATIN CAPITAL LETTER S
-1F146 ; AI # So SQUARED LATIN CAPITAL LETTER W
-1F14A..1F14E ; AI # So [5] SQUARED HV..SQUARED PPV
-1F157 ; AI # So NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-1F15F ; AI # So NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1F179 ; AI # So NEGATIVE SQUARED LATIN CAPITAL LETTER J
-1F17B..1F17C ; AI # So [2] NEGATIVE SQUARED LATIN CAPITAL LETTER L..NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1F17F ; AI # So NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A..1F18D ; AI # So [4] CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P..NEGATIVE SQUARED SA
-1F190 ; AI # So SQUARE DJ
-
-# Total code points: 644
-
-# ================================================
-
-# Line_Break=Break_Both
-
-2014 ; B2 # Pd EM DASH
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Surrogate
-
-D800..DFFF ; SG # Cs [2048] <surrogate-D800>..<surrogate-DFFF>
-
-# Total code points: 2048
-
-# ================================================
-
-# Line_Break=ZWSpace
-
-200B ; ZW # Cf ZERO WIDTH SPACE
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Next_Line
-
-0085 ; NL # Cc <control-0085>
-
-# Total code points: 1
-
-# ================================================
-
-# Line_Break=Word_Joiner
-
-2060 ; WJ # Cf WORD JOINER
-FEFF ; WJ # Cf ZERO WIDTH NO-BREAK SPACE
-
-# Total code points: 2
-
-# ================================================
-
-# Line_Break=JL
-
-1100..115F ; JL # Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
-A960..A97C ; JL # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
-
-# Total code points: 125
-
-# ================================================
-
-# Line_Break=JV
-
-1160..11A7 ; JV # Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
-D7B0..D7C6 ; JV # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-
-# Total code points: 95
-
-# ================================================
-
-# Line_Break=JT
-
-11A8..11FF ; JT # Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
-D7CB..D7FB ; JT # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-
-# Total code points: 137
-
-# ================================================
-
-# Line_Break=H2
-
-AC00 ; H2 # Lo HANGUL SYLLABLE GA
-AC1C ; H2 # Lo HANGUL SYLLABLE GAE
-AC38 ; H2 # Lo HANGUL SYLLABLE GYA
-AC54 ; H2 # Lo HANGUL SYLLABLE GYAE
-AC70 ; H2 # Lo HANGUL SYLLABLE GEO
-AC8C ; H2 # Lo HANGUL SYLLABLE GE
-ACA8 ; H2 # Lo HANGUL SYLLABLE GYEO
-ACC4 ; H2 # Lo HANGUL SYLLABLE GYE
-ACE0 ; H2 # Lo HANGUL SYLLABLE GO
-ACFC ; H2 # Lo HANGUL SYLLABLE GWA
-AD18 ; H2 # Lo HANGUL SYLLABLE GWAE
-AD34 ; H2 # Lo HANGUL SYLLABLE GOE
-AD50 ; H2 # Lo HANGUL SYLLABLE GYO
-AD6C ; H2 # Lo HANGUL SYLLABLE GU
-AD88 ; H2 # Lo HANGUL SYLLABLE GWEO
-ADA4 ; H2 # Lo HANGUL SYLLABLE GWE
-ADC0 ; H2 # Lo HANGUL SYLLABLE GWI
-ADDC ; H2 # Lo HANGUL SYLLABLE GYU
-ADF8 ; H2 # Lo HANGUL SYLLABLE GEU
-AE14 ; H2 # Lo HANGUL SYLLABLE GYI
-AE30 ; H2 # Lo HANGUL SYLLABLE GI
-AE4C ; H2 # Lo HANGUL SYLLABLE GGA
-AE68 ; H2 # Lo HANGUL SYLLABLE GGAE
-AE84 ; H2 # Lo HANGUL SYLLABLE GGYA
-AEA0 ; H2 # Lo HANGUL SYLLABLE GGYAE
-AEBC ; H2 # Lo HANGUL SYLLABLE GGEO
-AED8 ; H2 # Lo HANGUL SYLLABLE GGE
-AEF4 ; H2 # Lo HANGUL SYLLABLE GGYEO
-AF10 ; H2 # Lo HANGUL SYLLABLE GGYE
-AF2C ; H2 # Lo HANGUL SYLLABLE GGO
-AF48 ; H2 # Lo HANGUL SYLLABLE GGWA
-AF64 ; H2 # Lo HANGUL SYLLABLE GGWAE
-AF80 ; H2 # Lo HANGUL SYLLABLE GGOE
-AF9C ; H2 # Lo HANGUL SYLLABLE GGYO
-AFB8 ; H2 # Lo HANGUL SYLLABLE GGU
-AFD4 ; H2 # Lo HANGUL SYLLABLE GGWEO
-AFF0 ; H2 # Lo HANGUL SYLLABLE GGWE
-B00C ; H2 # Lo HANGUL SYLLABLE GGWI
-B028 ; H2 # Lo HANGUL SYLLABLE GGYU
-B044 ; H2 # Lo HANGUL SYLLABLE GGEU
-B060 ; H2 # Lo HANGUL SYLLABLE GGYI
-B07C ; H2 # Lo HANGUL SYLLABLE GGI
-B098 ; H2 # Lo HANGUL SYLLABLE NA
-B0B4 ; H2 # Lo HANGUL SYLLABLE NAE
-B0D0 ; H2 # Lo HANGUL SYLLABLE NYA
-B0EC ; H2 # Lo HANGUL SYLLABLE NYAE
-B108 ; H2 # Lo HANGUL SYLLABLE NEO
-B124 ; H2 # Lo HANGUL SYLLABLE NE
-B140 ; H2 # Lo HANGUL SYLLABLE NYEO
-B15C ; H2 # Lo HANGUL SYLLABLE NYE
-B178 ; H2 # Lo HANGUL SYLLABLE NO
-B194 ; H2 # Lo HANGUL SYLLABLE NWA
-B1B0 ; H2 # Lo HANGUL SYLLABLE NWAE
-B1CC ; H2 # Lo HANGUL SYLLABLE NOE
-B1E8 ; H2 # Lo HANGUL SYLLABLE NYO
-B204 ; H2 # Lo HANGUL SYLLABLE NU
-B220 ; H2 # Lo HANGUL SYLLABLE NWEO
-B23C ; H2 # Lo HANGUL SYLLABLE NWE
-B258 ; H2 # Lo HANGUL SYLLABLE NWI
-B274 ; H2 # Lo HANGUL SYLLABLE NYU
-B290 ; H2 # Lo HANGUL SYLLABLE NEU
-B2AC ; H2 # Lo HANGUL SYLLABLE NYI
-B2C8 ; H2 # Lo HANGUL SYLLABLE NI
-B2E4 ; H2 # Lo HANGUL SYLLABLE DA
-B300 ; H2 # Lo HANGUL SYLLABLE DAE
-B31C ; H2 # Lo HANGUL SYLLABLE DYA
-B338 ; H2 # Lo HANGUL SYLLABLE DYAE
-B354 ; H2 # Lo HANGUL SYLLABLE DEO
-B370 ; H2 # Lo HANGUL SYLLABLE DE
-B38C ; H2 # Lo HANGUL SYLLABLE DYEO
-B3A8 ; H2 # Lo HANGUL SYLLABLE DYE
-B3C4 ; H2 # Lo HANGUL SYLLABLE DO
-B3E0 ; H2 # Lo HANGUL SYLLABLE DWA
-B3FC ; H2 # Lo HANGUL SYLLABLE DWAE
-B418 ; H2 # Lo HANGUL SYLLABLE DOE
-B434 ; H2 # Lo HANGUL SYLLABLE DYO
-B450 ; H2 # Lo HANGUL SYLLABLE DU
-B46C ; H2 # Lo HANGUL SYLLABLE DWEO
-B488 ; H2 # Lo HANGUL SYLLABLE DWE
-B4A4 ; H2 # Lo HANGUL SYLLABLE DWI
-B4C0 ; H2 # Lo HANGUL SYLLABLE DYU
-B4DC ; H2 # Lo HANGUL SYLLABLE DEU
-B4F8 ; H2 # Lo HANGUL SYLLABLE DYI
-B514 ; H2 # Lo HANGUL SYLLABLE DI
-B530 ; H2 # Lo HANGUL SYLLABLE DDA
-B54C ; H2 # Lo HANGUL SYLLABLE DDAE
-B568 ; H2 # Lo HANGUL SYLLABLE DDYA
-B584 ; H2 # Lo HANGUL SYLLABLE DDYAE
-B5A0 ; H2 # Lo HANGUL SYLLABLE DDEO
-B5BC ; H2 # Lo HANGUL SYLLABLE DDE
-B5D8 ; H2 # Lo HANGUL SYLLABLE DDYEO
-B5F4 ; H2 # Lo HANGUL SYLLABLE DDYE
-B610 ; H2 # Lo HANGUL SYLLABLE DDO
-B62C ; H2 # Lo HANGUL SYLLABLE DDWA
-B648 ; H2 # Lo HANGUL SYLLABLE DDWAE
-B664 ; H2 # Lo HANGUL SYLLABLE DDOE
-B680 ; H2 # Lo HANGUL SYLLABLE DDYO
-B69C ; H2 # Lo HANGUL SYLLABLE DDU
-B6B8 ; H2 # Lo HANGUL SYLLABLE DDWEO
-B6D4 ; H2 # Lo HANGUL SYLLABLE DDWE
-B6F0 ; H2 # Lo HANGUL SYLLABLE DDWI
-B70C ; H2 # Lo HANGUL SYLLABLE DDYU
-B728 ; H2 # Lo HANGUL SYLLABLE DDEU
-B744 ; H2 # Lo HANGUL SYLLABLE DDYI
-B760 ; H2 # Lo HANGUL SYLLABLE DDI
-B77C ; H2 # Lo HANGUL SYLLABLE RA
-B798 ; H2 # Lo HANGUL SYLLABLE RAE
-B7B4 ; H2 # Lo HANGUL SYLLABLE RYA
-B7D0 ; H2 # Lo HANGUL SYLLABLE RYAE
-B7EC ; H2 # Lo HANGUL SYLLABLE REO
-B808 ; H2 # Lo HANGUL SYLLABLE RE
-B824 ; H2 # Lo HANGUL SYLLABLE RYEO
-B840 ; H2 # Lo HANGUL SYLLABLE RYE
-B85C ; H2 # Lo HANGUL SYLLABLE RO
-B878 ; H2 # Lo HANGUL SYLLABLE RWA
-B894 ; H2 # Lo HANGUL SYLLABLE RWAE
-B8B0 ; H2 # Lo HANGUL SYLLABLE ROE
-B8CC ; H2 # Lo HANGUL SYLLABLE RYO
-B8E8 ; H2 # Lo HANGUL SYLLABLE RU
-B904 ; H2 # Lo HANGUL SYLLABLE RWEO
-B920 ; H2 # Lo HANGUL SYLLABLE RWE
-B93C ; H2 # Lo HANGUL SYLLABLE RWI
-B958 ; H2 # Lo HANGUL SYLLABLE RYU
-B974 ; H2 # Lo HANGUL SYLLABLE REU
-B990 ; H2 # Lo HANGUL SYLLABLE RYI
-B9AC ; H2 # Lo HANGUL SYLLABLE RI
-B9C8 ; H2 # Lo HANGUL SYLLABLE MA
-B9E4 ; H2 # Lo HANGUL SYLLABLE MAE
-BA00 ; H2 # Lo HANGUL SYLLABLE MYA
-BA1C ; H2 # Lo HANGUL SYLLABLE MYAE
-BA38 ; H2 # Lo HANGUL SYLLABLE MEO
-BA54 ; H2 # Lo HANGUL SYLLABLE ME
-BA70 ; H2 # Lo HANGUL SYLLABLE MYEO
-BA8C ; H2 # Lo HANGUL SYLLABLE MYE
-BAA8 ; H2 # Lo HANGUL SYLLABLE MO
-BAC4 ; H2 # Lo HANGUL SYLLABLE MWA
-BAE0 ; H2 # Lo HANGUL SYLLABLE MWAE
-BAFC ; H2 # Lo HANGUL SYLLABLE MOE
-BB18 ; H2 # Lo HANGUL SYLLABLE MYO
-BB34 ; H2 # Lo HANGUL SYLLABLE MU
-BB50 ; H2 # Lo HANGUL SYLLABLE MWEO
-BB6C ; H2 # Lo HANGUL SYLLABLE MWE
-BB88 ; H2 # Lo HANGUL SYLLABLE MWI
-BBA4 ; H2 # Lo HANGUL SYLLABLE MYU
-BBC0 ; H2 # Lo HANGUL SYLLABLE MEU
-BBDC ; H2 # Lo HANGUL SYLLABLE MYI
-BBF8 ; H2 # Lo HANGUL SYLLABLE MI
-BC14 ; H2 # Lo HANGUL SYLLABLE BA
-BC30 ; H2 # Lo HANGUL SYLLABLE BAE
-BC4C ; H2 # Lo HANGUL SYLLABLE BYA
-BC68 ; H2 # Lo HANGUL SYLLABLE BYAE
-BC84 ; H2 # Lo HANGUL SYLLABLE BEO
-BCA0 ; H2 # Lo HANGUL SYLLABLE BE
-BCBC ; H2 # Lo HANGUL SYLLABLE BYEO
-BCD8 ; H2 # Lo HANGUL SYLLABLE BYE
-BCF4 ; H2 # Lo HANGUL SYLLABLE BO
-BD10 ; H2 # Lo HANGUL SYLLABLE BWA
-BD2C ; H2 # Lo HANGUL SYLLABLE BWAE
-BD48 ; H2 # Lo HANGUL SYLLABLE BOE
-BD64 ; H2 # Lo HANGUL SYLLABLE BYO
-BD80 ; H2 # Lo HANGUL SYLLABLE BU
-BD9C ; H2 # Lo HANGUL SYLLABLE BWEO
-BDB8 ; H2 # Lo HANGUL SYLLABLE BWE
-BDD4 ; H2 # Lo HANGUL SYLLABLE BWI
-BDF0 ; H2 # Lo HANGUL SYLLABLE BYU
-BE0C ; H2 # Lo HANGUL SYLLABLE BEU
-BE28 ; H2 # Lo HANGUL SYLLABLE BYI
-BE44 ; H2 # Lo HANGUL SYLLABLE BI
-BE60 ; H2 # Lo HANGUL SYLLABLE BBA
-BE7C ; H2 # Lo HANGUL SYLLABLE BBAE
-BE98 ; H2 # Lo HANGUL SYLLABLE BBYA
-BEB4 ; H2 # Lo HANGUL SYLLABLE BBYAE
-BED0 ; H2 # Lo HANGUL SYLLABLE BBEO
-BEEC ; H2 # Lo HANGUL SYLLABLE BBE
-BF08 ; H2 # Lo HANGUL SYLLABLE BBYEO
-BF24 ; H2 # Lo HANGUL SYLLABLE BBYE
-BF40 ; H2 # Lo HANGUL SYLLABLE BBO
-BF5C ; H2 # Lo HANGUL SYLLABLE BBWA
-BF78 ; H2 # Lo HANGUL SYLLABLE BBWAE
-BF94 ; H2 # Lo HANGUL SYLLABLE BBOE
-BFB0 ; H2 # Lo HANGUL SYLLABLE BBYO
-BFCC ; H2 # Lo HANGUL SYLLABLE BBU
-BFE8 ; H2 # Lo HANGUL SYLLABLE BBWEO
-C004 ; H2 # Lo HANGUL SYLLABLE BBWE
-C020 ; H2 # Lo HANGUL SYLLABLE BBWI
-C03C ; H2 # Lo HANGUL SYLLABLE BBYU
-C058 ; H2 # Lo HANGUL SYLLABLE BBEU
-C074 ; H2 # Lo HANGUL SYLLABLE BBYI
-C090 ; H2 # Lo HANGUL SYLLABLE BBI
-C0AC ; H2 # Lo HANGUL SYLLABLE SA
-C0C8 ; H2 # Lo HANGUL SYLLABLE SAE
-C0E4 ; H2 # Lo HANGUL SYLLABLE SYA
-C100 ; H2 # Lo HANGUL SYLLABLE SYAE
-C11C ; H2 # Lo HANGUL SYLLABLE SEO
-C138 ; H2 # Lo HANGUL SYLLABLE SE
-C154 ; H2 # Lo HANGUL SYLLABLE SYEO
-C170 ; H2 # Lo HANGUL SYLLABLE SYE
-C18C ; H2 # Lo HANGUL SYLLABLE SO
-C1A8 ; H2 # Lo HANGUL SYLLABLE SWA
-C1C4 ; H2 # Lo HANGUL SYLLABLE SWAE
-C1E0 ; H2 # Lo HANGUL SYLLABLE SOE
-C1FC ; H2 # Lo HANGUL SYLLABLE SYO
-C218 ; H2 # Lo HANGUL SYLLABLE SU
-C234 ; H2 # Lo HANGUL SYLLABLE SWEO
-C250 ; H2 # Lo HANGUL SYLLABLE SWE
-C26C ; H2 # Lo HANGUL SYLLABLE SWI
-C288 ; H2 # Lo HANGUL SYLLABLE SYU
-C2A4 ; H2 # Lo HANGUL SYLLABLE SEU
-C2C0 ; H2 # Lo HANGUL SYLLABLE SYI
-C2DC ; H2 # Lo HANGUL SYLLABLE SI
-C2F8 ; H2 # Lo HANGUL SYLLABLE SSA
-C314 ; H2 # Lo HANGUL SYLLABLE SSAE
-C330 ; H2 # Lo HANGUL SYLLABLE SSYA
-C34C ; H2 # Lo HANGUL SYLLABLE SSYAE
-C368 ; H2 # Lo HANGUL SYLLABLE SSEO
-C384 ; H2 # Lo HANGUL SYLLABLE SSE
-C3A0 ; H2 # Lo HANGUL SYLLABLE SSYEO
-C3BC ; H2 # Lo HANGUL SYLLABLE SSYE
-C3D8 ; H2 # Lo HANGUL SYLLABLE SSO
-C3F4 ; H2 # Lo HANGUL SYLLABLE SSWA
-C410 ; H2 # Lo HANGUL SYLLABLE SSWAE
-C42C ; H2 # Lo HANGUL SYLLABLE SSOE
-C448 ; H2 # Lo HANGUL SYLLABLE SSYO
-C464 ; H2 # Lo HANGUL SYLLABLE SSU
-C480 ; H2 # Lo HANGUL SYLLABLE SSWEO
-C49C ; H2 # Lo HANGUL SYLLABLE SSWE
-C4B8 ; H2 # Lo HANGUL SYLLABLE SSWI
-C4D4 ; H2 # Lo HANGUL SYLLABLE SSYU
-C4F0 ; H2 # Lo HANGUL SYLLABLE SSEU
-C50C ; H2 # Lo HANGUL SYLLABLE SSYI
-C528 ; H2 # Lo HANGUL SYLLABLE SSI
-C544 ; H2 # Lo HANGUL SYLLABLE A
-C560 ; H2 # Lo HANGUL SYLLABLE AE
-C57C ; H2 # Lo HANGUL SYLLABLE YA
-C598 ; H2 # Lo HANGUL SYLLABLE YAE
-C5B4 ; H2 # Lo HANGUL SYLLABLE EO
-C5D0 ; H2 # Lo HANGUL SYLLABLE E
-C5EC ; H2 # Lo HANGUL SYLLABLE YEO
-C608 ; H2 # Lo HANGUL SYLLABLE YE
-C624 ; H2 # Lo HANGUL SYLLABLE O
-C640 ; H2 # Lo HANGUL SYLLABLE WA
-C65C ; H2 # Lo HANGUL SYLLABLE WAE
-C678 ; H2 # Lo HANGUL SYLLABLE OE
-C694 ; H2 # Lo HANGUL SYLLABLE YO
-C6B0 ; H2 # Lo HANGUL SYLLABLE U
-C6CC ; H2 # Lo HANGUL SYLLABLE WEO
-C6E8 ; H2 # Lo HANGUL SYLLABLE WE
-C704 ; H2 # Lo HANGUL SYLLABLE WI
-C720 ; H2 # Lo HANGUL SYLLABLE YU
-C73C ; H2 # Lo HANGUL SYLLABLE EU
-C758 ; H2 # Lo HANGUL SYLLABLE YI
-C774 ; H2 # Lo HANGUL SYLLABLE I
-C790 ; H2 # Lo HANGUL SYLLABLE JA
-C7AC ; H2 # Lo HANGUL SYLLABLE JAE
-C7C8 ; H2 # Lo HANGUL SYLLABLE JYA
-C7E4 ; H2 # Lo HANGUL SYLLABLE JYAE
-C800 ; H2 # Lo HANGUL SYLLABLE JEO
-C81C ; H2 # Lo HANGUL SYLLABLE JE
-C838 ; H2 # Lo HANGUL SYLLABLE JYEO
-C854 ; H2 # Lo HANGUL SYLLABLE JYE
-C870 ; H2 # Lo HANGUL SYLLABLE JO
-C88C ; H2 # Lo HANGUL SYLLABLE JWA
-C8A8 ; H2 # Lo HANGUL SYLLABLE JWAE
-C8C4 ; H2 # Lo HANGUL SYLLABLE JOE
-C8E0 ; H2 # Lo HANGUL SYLLABLE JYO
-C8FC ; H2 # Lo HANGUL SYLLABLE JU
-C918 ; H2 # Lo HANGUL SYLLABLE JWEO
-C934 ; H2 # Lo HANGUL SYLLABLE JWE
-C950 ; H2 # Lo HANGUL SYLLABLE JWI
-C96C ; H2 # Lo HANGUL SYLLABLE JYU
-C988 ; H2 # Lo HANGUL SYLLABLE JEU
-C9A4 ; H2 # Lo HANGUL SYLLABLE JYI
-C9C0 ; H2 # Lo HANGUL SYLLABLE JI
-C9DC ; H2 # Lo HANGUL SYLLABLE JJA
-C9F8 ; H2 # Lo HANGUL SYLLABLE JJAE
-CA14 ; H2 # Lo HANGUL SYLLABLE JJYA
-CA30 ; H2 # Lo HANGUL SYLLABLE JJYAE
-CA4C ; H2 # Lo HANGUL SYLLABLE JJEO
-CA68 ; H2 # Lo HANGUL SYLLABLE JJE
-CA84 ; H2 # Lo HANGUL SYLLABLE JJYEO
-CAA0 ; H2 # Lo HANGUL SYLLABLE JJYE
-CABC ; H2 # Lo HANGUL SYLLABLE JJO
-CAD8 ; H2 # Lo HANGUL SYLLABLE JJWA
-CAF4 ; H2 # Lo HANGUL SYLLABLE JJWAE
-CB10 ; H2 # Lo HANGUL SYLLABLE JJOE
-CB2C ; H2 # Lo HANGUL SYLLABLE JJYO
-CB48 ; H2 # Lo HANGUL SYLLABLE JJU
-CB64 ; H2 # Lo HANGUL SYLLABLE JJWEO
-CB80 ; H2 # Lo HANGUL SYLLABLE JJWE
-CB9C ; H2 # Lo HANGUL SYLLABLE JJWI
-CBB8 ; H2 # Lo HANGUL SYLLABLE JJYU
-CBD4 ; H2 # Lo HANGUL SYLLABLE JJEU
-CBF0 ; H2 # Lo HANGUL SYLLABLE JJYI
-CC0C ; H2 # Lo HANGUL SYLLABLE JJI
-CC28 ; H2 # Lo HANGUL SYLLABLE CA
-CC44 ; H2 # Lo HANGUL SYLLABLE CAE
-CC60 ; H2 # Lo HANGUL SYLLABLE CYA
-CC7C ; H2 # Lo HANGUL SYLLABLE CYAE
-CC98 ; H2 # Lo HANGUL SYLLABLE CEO
-CCB4 ; H2 # Lo HANGUL SYLLABLE CE
-CCD0 ; H2 # Lo HANGUL SYLLABLE CYEO
-CCEC ; H2 # Lo HANGUL SYLLABLE CYE
-CD08 ; H2 # Lo HANGUL SYLLABLE CO
-CD24 ; H2 # Lo HANGUL SYLLABLE CWA
-CD40 ; H2 # Lo HANGUL SYLLABLE CWAE
-CD5C ; H2 # Lo HANGUL SYLLABLE COE
-CD78 ; H2 # Lo HANGUL SYLLABLE CYO
-CD94 ; H2 # Lo HANGUL SYLLABLE CU
-CDB0 ; H2 # Lo HANGUL SYLLABLE CWEO
-CDCC ; H2 # Lo HANGUL SYLLABLE CWE
-CDE8 ; H2 # Lo HANGUL SYLLABLE CWI
-CE04 ; H2 # Lo HANGUL SYLLABLE CYU
-CE20 ; H2 # Lo HANGUL SYLLABLE CEU
-CE3C ; H2 # Lo HANGUL SYLLABLE CYI
-CE58 ; H2 # Lo HANGUL SYLLABLE CI
-CE74 ; H2 # Lo HANGUL SYLLABLE KA
-CE90 ; H2 # Lo HANGUL SYLLABLE KAE
-CEAC ; H2 # Lo HANGUL SYLLABLE KYA
-CEC8 ; H2 # Lo HANGUL SYLLABLE KYAE
-CEE4 ; H2 # Lo HANGUL SYLLABLE KEO
-CF00 ; H2 # Lo HANGUL SYLLABLE KE
-CF1C ; H2 # Lo HANGUL SYLLABLE KYEO
-CF38 ; H2 # Lo HANGUL SYLLABLE KYE
-CF54 ; H2 # Lo HANGUL SYLLABLE KO
-CF70 ; H2 # Lo HANGUL SYLLABLE KWA
-CF8C ; H2 # Lo HANGUL SYLLABLE KWAE
-CFA8 ; H2 # Lo HANGUL SYLLABLE KOE
-CFC4 ; H2 # Lo HANGUL SYLLABLE KYO
-CFE0 ; H2 # Lo HANGUL SYLLABLE KU
-CFFC ; H2 # Lo HANGUL SYLLABLE KWEO
-D018 ; H2 # Lo HANGUL SYLLABLE KWE
-D034 ; H2 # Lo HANGUL SYLLABLE KWI
-D050 ; H2 # Lo HANGUL SYLLABLE KYU
-D06C ; H2 # Lo HANGUL SYLLABLE KEU
-D088 ; H2 # Lo HANGUL SYLLABLE KYI
-D0A4 ; H2 # Lo HANGUL SYLLABLE KI
-D0C0 ; H2 # Lo HANGUL SYLLABLE TA
-D0DC ; H2 # Lo HANGUL SYLLABLE TAE
-D0F8 ; H2 # Lo HANGUL SYLLABLE TYA
-D114 ; H2 # Lo HANGUL SYLLABLE TYAE
-D130 ; H2 # Lo HANGUL SYLLABLE TEO
-D14C ; H2 # Lo HANGUL SYLLABLE TE
-D168 ; H2 # Lo HANGUL SYLLABLE TYEO
-D184 ; H2 # Lo HANGUL SYLLABLE TYE
-D1A0 ; H2 # Lo HANGUL SYLLABLE TO
-D1BC ; H2 # Lo HANGUL SYLLABLE TWA
-D1D8 ; H2 # Lo HANGUL SYLLABLE TWAE
-D1F4 ; H2 # Lo HANGUL SYLLABLE TOE
-D210 ; H2 # Lo HANGUL SYLLABLE TYO
-D22C ; H2 # Lo HANGUL SYLLABLE TU
-D248 ; H2 # Lo HANGUL SYLLABLE TWEO
-D264 ; H2 # Lo HANGUL SYLLABLE TWE
-D280 ; H2 # Lo HANGUL SYLLABLE TWI
-D29C ; H2 # Lo HANGUL SYLLABLE TYU
-D2B8 ; H2 # Lo HANGUL SYLLABLE TEU
-D2D4 ; H2 # Lo HANGUL SYLLABLE TYI
-D2F0 ; H2 # Lo HANGUL SYLLABLE TI
-D30C ; H2 # Lo HANGUL SYLLABLE PA
-D328 ; H2 # Lo HANGUL SYLLABLE PAE
-D344 ; H2 # Lo HANGUL SYLLABLE PYA
-D360 ; H2 # Lo HANGUL SYLLABLE PYAE
-D37C ; H2 # Lo HANGUL SYLLABLE PEO
-D398 ; H2 # Lo HANGUL SYLLABLE PE
-D3B4 ; H2 # Lo HANGUL SYLLABLE PYEO
-D3D0 ; H2 # Lo HANGUL SYLLABLE PYE
-D3EC ; H2 # Lo HANGUL SYLLABLE PO
-D408 ; H2 # Lo HANGUL SYLLABLE PWA
-D424 ; H2 # Lo HANGUL SYLLABLE PWAE
-D440 ; H2 # Lo HANGUL SYLLABLE POE
-D45C ; H2 # Lo HANGUL SYLLABLE PYO
-D478 ; H2 # Lo HANGUL SYLLABLE PU
-D494 ; H2 # Lo HANGUL SYLLABLE PWEO
-D4B0 ; H2 # Lo HANGUL SYLLABLE PWE
-D4CC ; H2 # Lo HANGUL SYLLABLE PWI
-D4E8 ; H2 # Lo HANGUL SYLLABLE PYU
-D504 ; H2 # Lo HANGUL SYLLABLE PEU
-D520 ; H2 # Lo HANGUL SYLLABLE PYI
-D53C ; H2 # Lo HANGUL SYLLABLE PI
-D558 ; H2 # Lo HANGUL SYLLABLE HA
-D574 ; H2 # Lo HANGUL SYLLABLE HAE
-D590 ; H2 # Lo HANGUL SYLLABLE HYA
-D5AC ; H2 # Lo HANGUL SYLLABLE HYAE
-D5C8 ; H2 # Lo HANGUL SYLLABLE HEO
-D5E4 ; H2 # Lo HANGUL SYLLABLE HE
-D600 ; H2 # Lo HANGUL SYLLABLE HYEO
-D61C ; H2 # Lo HANGUL SYLLABLE HYE
-D638 ; H2 # Lo HANGUL SYLLABLE HO
-D654 ; H2 # Lo HANGUL SYLLABLE HWA
-D670 ; H2 # Lo HANGUL SYLLABLE HWAE
-D68C ; H2 # Lo HANGUL SYLLABLE HOE
-D6A8 ; H2 # Lo HANGUL SYLLABLE HYO
-D6C4 ; H2 # Lo HANGUL SYLLABLE HU
-D6E0 ; H2 # Lo HANGUL SYLLABLE HWEO
-D6FC ; H2 # Lo HANGUL SYLLABLE HWE
-D718 ; H2 # Lo HANGUL SYLLABLE HWI
-D734 ; H2 # Lo HANGUL SYLLABLE HYU
-D750 ; H2 # Lo HANGUL SYLLABLE HEU
-D76C ; H2 # Lo HANGUL SYLLABLE HYI
-D788 ; H2 # Lo HANGUL SYLLABLE HI
-
-# Total code points: 399
-
-# ================================================
-
-# Line_Break=H3
-
-AC01..AC1B ; H3 # Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
-AC1D..AC37 ; H3 # Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
-AC39..AC53 ; H3 # Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
-AC55..AC6F ; H3 # Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
-AC71..AC8B ; H3 # Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
-AC8D..ACA7 ; H3 # Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
-ACA9..ACC3 ; H3 # Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
-ACC5..ACDF ; H3 # Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
-ACE1..ACFB ; H3 # Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
-ACFD..AD17 ; H3 # Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
-AD19..AD33 ; H3 # Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
-AD35..AD4F ; H3 # Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
-AD51..AD6B ; H3 # Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
-AD6D..AD87 ; H3 # Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
-AD89..ADA3 ; H3 # Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
-ADA5..ADBF ; H3 # Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
-ADC1..ADDB ; H3 # Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
-ADDD..ADF7 ; H3 # Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
-ADF9..AE13 ; H3 # Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
-AE15..AE2F ; H3 # Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
-AE31..AE4B ; H3 # Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
-AE4D..AE67 ; H3 # Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
-AE69..AE83 ; H3 # Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
-AE85..AE9F ; H3 # Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
-AEA1..AEBB ; H3 # Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
-AEBD..AED7 ; H3 # Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
-AED9..AEF3 ; H3 # Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
-AEF5..AF0F ; H3 # Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
-AF11..AF2B ; H3 # Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
-AF2D..AF47 ; H3 # Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
-AF49..AF63 ; H3 # Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
-AF65..AF7F ; H3 # Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
-AF81..AF9B ; H3 # Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
-AF9D..AFB7 ; H3 # Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
-AFB9..AFD3 ; H3 # Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
-AFD5..AFEF ; H3 # Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
-AFF1..B00B ; H3 # Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
-B00D..B027 ; H3 # Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
-B029..B043 ; H3 # Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
-B045..B05F ; H3 # Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
-B061..B07B ; H3 # Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
-B07D..B097 ; H3 # Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
-B099..B0B3 ; H3 # Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
-B0B5..B0CF ; H3 # Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
-B0D1..B0EB ; H3 # Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
-B0ED..B107 ; H3 # Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
-B109..B123 ; H3 # Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
-B125..B13F ; H3 # Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
-B141..B15B ; H3 # Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
-B15D..B177 ; H3 # Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
-B179..B193 ; H3 # Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
-B195..B1AF ; H3 # Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
-B1B1..B1CB ; H3 # Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
-B1CD..B1E7 ; H3 # Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
-B1E9..B203 ; H3 # Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
-B205..B21F ; H3 # Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
-B221..B23B ; H3 # Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
-B23D..B257 ; H3 # Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
-B259..B273 ; H3 # Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
-B275..B28F ; H3 # Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
-B291..B2AB ; H3 # Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
-B2AD..B2C7 ; H3 # Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
-B2C9..B2E3 ; H3 # Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
-B2E5..B2FF ; H3 # Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
-B301..B31B ; H3 # Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
-B31D..B337 ; H3 # Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
-B339..B353 ; H3 # Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
-B355..B36F ; H3 # Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
-B371..B38B ; H3 # Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
-B38D..B3A7 ; H3 # Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
-B3A9..B3C3 ; H3 # Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
-B3C5..B3DF ; H3 # Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
-B3E1..B3FB ; H3 # Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
-B3FD..B417 ; H3 # Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
-B419..B433 ; H3 # Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
-B435..B44F ; H3 # Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
-B451..B46B ; H3 # Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
-B46D..B487 ; H3 # Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
-B489..B4A3 ; H3 # Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
-B4A5..B4BF ; H3 # Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
-B4C1..B4DB ; H3 # Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
-B4DD..B4F7 ; H3 # Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
-B4F9..B513 ; H3 # Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
-B515..B52F ; H3 # Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
-B531..B54B ; H3 # Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
-B54D..B567 ; H3 # Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
-B569..B583 ; H3 # Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
-B585..B59F ; H3 # Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
-B5A1..B5BB ; H3 # Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
-B5BD..B5D7 ; H3 # Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
-B5D9..B5F3 ; H3 # Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
-B5F5..B60F ; H3 # Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
-B611..B62B ; H3 # Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
-B62D..B647 ; H3 # Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
-B649..B663 ; H3 # Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
-B665..B67F ; H3 # Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
-B681..B69B ; H3 # Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
-B69D..B6B7 ; H3 # Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
-B6B9..B6D3 ; H3 # Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
-B6D5..B6EF ; H3 # Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
-B6F1..B70B ; H3 # Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
-B70D..B727 ; H3 # Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
-B729..B743 ; H3 # Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
-B745..B75F ; H3 # Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
-B761..B77B ; H3 # Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
-B77D..B797 ; H3 # Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
-B799..B7B3 ; H3 # Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
-B7B5..B7CF ; H3 # Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
-B7D1..B7EB ; H3 # Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
-B7ED..B807 ; H3 # Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
-B809..B823 ; H3 # Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
-B825..B83F ; H3 # Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
-B841..B85B ; H3 # Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
-B85D..B877 ; H3 # Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
-B879..B893 ; H3 # Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
-B895..B8AF ; H3 # Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
-B8B1..B8CB ; H3 # Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
-B8CD..B8E7 ; H3 # Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
-B8E9..B903 ; H3 # Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
-B905..B91F ; H3 # Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
-B921..B93B ; H3 # Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
-B93D..B957 ; H3 # Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
-B959..B973 ; H3 # Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
-B975..B98F ; H3 # Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
-B991..B9AB ; H3 # Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
-B9AD..B9C7 ; H3 # Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
-B9C9..B9E3 ; H3 # Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
-B9E5..B9FF ; H3 # Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
-BA01..BA1B ; H3 # Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
-BA1D..BA37 ; H3 # Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
-BA39..BA53 ; H3 # Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
-BA55..BA6F ; H3 # Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
-BA71..BA8B ; H3 # Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
-BA8D..BAA7 ; H3 # Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
-BAA9..BAC3 ; H3 # Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
-BAC5..BADF ; H3 # Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
-BAE1..BAFB ; H3 # Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
-BAFD..BB17 ; H3 # Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
-BB19..BB33 ; H3 # Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
-BB35..BB4F ; H3 # Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
-BB51..BB6B ; H3 # Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
-BB6D..BB87 ; H3 # Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
-BB89..BBA3 ; H3 # Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
-BBA5..BBBF ; H3 # Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
-BBC1..BBDB ; H3 # Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
-BBDD..BBF7 ; H3 # Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
-BBF9..BC13 ; H3 # Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
-BC15..BC2F ; H3 # Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
-BC31..BC4B ; H3 # Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
-BC4D..BC67 ; H3 # Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
-BC69..BC83 ; H3 # Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
-BC85..BC9F ; H3 # Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
-BCA1..BCBB ; H3 # Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
-BCBD..BCD7 ; H3 # Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
-BCD9..BCF3 ; H3 # Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
-BCF5..BD0F ; H3 # Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
-BD11..BD2B ; H3 # Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
-BD2D..BD47 ; H3 # Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
-BD49..BD63 ; H3 # Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
-BD65..BD7F ; H3 # Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
-BD81..BD9B ; H3 # Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
-BD9D..BDB7 ; H3 # Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
-BDB9..BDD3 ; H3 # Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
-BDD5..BDEF ; H3 # Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
-BDF1..BE0B ; H3 # Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
-BE0D..BE27 ; H3 # Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
-BE29..BE43 ; H3 # Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
-BE45..BE5F ; H3 # Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
-BE61..BE7B ; H3 # Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
-BE7D..BE97 ; H3 # Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
-BE99..BEB3 ; H3 # Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
-BEB5..BECF ; H3 # Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
-BED1..BEEB ; H3 # Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
-BEED..BF07 ; H3 # Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
-BF09..BF23 ; H3 # Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
-BF25..BF3F ; H3 # Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
-BF41..BF5B ; H3 # Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
-BF5D..BF77 ; H3 # Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
-BF79..BF93 ; H3 # Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
-BF95..BFAF ; H3 # Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
-BFB1..BFCB ; H3 # Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
-BFCD..BFE7 ; H3 # Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
-BFE9..C003 ; H3 # Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
-C005..C01F ; H3 # Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
-C021..C03B ; H3 # Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
-C03D..C057 ; H3 # Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
-C059..C073 ; H3 # Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
-C075..C08F ; H3 # Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
-C091..C0AB ; H3 # Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
-C0AD..C0C7 ; H3 # Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
-C0C9..C0E3 ; H3 # Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
-C0E5..C0FF ; H3 # Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
-C101..C11B ; H3 # Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
-C11D..C137 ; H3 # Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
-C139..C153 ; H3 # Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
-C155..C16F ; H3 # Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
-C171..C18B ; H3 # Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
-C18D..C1A7 ; H3 # Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
-C1A9..C1C3 ; H3 # Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
-C1C5..C1DF ; H3 # Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
-C1E1..C1FB ; H3 # Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
-C1FD..C217 ; H3 # Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
-C219..C233 ; H3 # Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
-C235..C24F ; H3 # Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
-C251..C26B ; H3 # Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
-C26D..C287 ; H3 # Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
-C289..C2A3 ; H3 # Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
-C2A5..C2BF ; H3 # Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
-C2C1..C2DB ; H3 # Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
-C2DD..C2F7 ; H3 # Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
-C2F9..C313 ; H3 # Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
-C315..C32F ; H3 # Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
-C331..C34B ; H3 # Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
-C34D..C367 ; H3 # Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
-C369..C383 ; H3 # Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
-C385..C39F ; H3 # Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
-C3A1..C3BB ; H3 # Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
-C3BD..C3D7 ; H3 # Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
-C3D9..C3F3 ; H3 # Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
-C3F5..C40F ; H3 # Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
-C411..C42B ; H3 # Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
-C42D..C447 ; H3 # Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
-C449..C463 ; H3 # Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
-C465..C47F ; H3 # Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
-C481..C49B ; H3 # Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
-C49D..C4B7 ; H3 # Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
-C4B9..C4D3 ; H3 # Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
-C4D5..C4EF ; H3 # Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
-C4F1..C50B ; H3 # Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
-C50D..C527 ; H3 # Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
-C529..C543 ; H3 # Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
-C545..C55F ; H3 # Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
-C561..C57B ; H3 # Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
-C57D..C597 ; H3 # Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
-C599..C5B3 ; H3 # Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
-C5B5..C5CF ; H3 # Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
-C5D1..C5EB ; H3 # Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
-C5ED..C607 ; H3 # Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
-C609..C623 ; H3 # Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
-C625..C63F ; H3 # Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
-C641..C65B ; H3 # Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
-C65D..C677 ; H3 # Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
-C679..C693 ; H3 # Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
-C695..C6AF ; H3 # Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
-C6B1..C6CB ; H3 # Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
-C6CD..C6E7 ; H3 # Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
-C6E9..C703 ; H3 # Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
-C705..C71F ; H3 # Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
-C721..C73B ; H3 # Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
-C73D..C757 ; H3 # Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
-C759..C773 ; H3 # Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
-C775..C78F ; H3 # Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
-C791..C7AB ; H3 # Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
-C7AD..C7C7 ; H3 # Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
-C7C9..C7E3 ; H3 # Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
-C7E5..C7FF ; H3 # Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
-C801..C81B ; H3 # Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
-C81D..C837 ; H3 # Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
-C839..C853 ; H3 # Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
-C855..C86F ; H3 # Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
-C871..C88B ; H3 # Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
-C88D..C8A7 ; H3 # Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
-C8A9..C8C3 ; H3 # Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
-C8C5..C8DF ; H3 # Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
-C8E1..C8FB ; H3 # Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
-C8FD..C917 ; H3 # Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
-C919..C933 ; H3 # Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
-C935..C94F ; H3 # Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
-C951..C96B ; H3 # Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
-C96D..C987 ; H3 # Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
-C989..C9A3 ; H3 # Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
-C9A5..C9BF ; H3 # Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
-C9C1..C9DB ; H3 # Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
-C9DD..C9F7 ; H3 # Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
-C9F9..CA13 ; H3 # Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
-CA15..CA2F ; H3 # Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
-CA31..CA4B ; H3 # Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
-CA4D..CA67 ; H3 # Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
-CA69..CA83 ; H3 # Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
-CA85..CA9F ; H3 # Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
-CAA1..CABB ; H3 # Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
-CABD..CAD7 ; H3 # Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
-CAD9..CAF3 ; H3 # Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
-CAF5..CB0F ; H3 # Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
-CB11..CB2B ; H3 # Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
-CB2D..CB47 ; H3 # Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
-CB49..CB63 ; H3 # Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
-CB65..CB7F ; H3 # Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
-CB81..CB9B ; H3 # Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
-CB9D..CBB7 ; H3 # Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
-CBB9..CBD3 ; H3 # Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
-CBD5..CBEF ; H3 # Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
-CBF1..CC0B ; H3 # Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
-CC0D..CC27 ; H3 # Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
-CC29..CC43 ; H3 # Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
-CC45..CC5F ; H3 # Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
-CC61..CC7B ; H3 # Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
-CC7D..CC97 ; H3 # Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
-CC99..CCB3 ; H3 # Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
-CCB5..CCCF ; H3 # Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
-CCD1..CCEB ; H3 # Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
-CCED..CD07 ; H3 # Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
-CD09..CD23 ; H3 # Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
-CD25..CD3F ; H3 # Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
-CD41..CD5B ; H3 # Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
-CD5D..CD77 ; H3 # Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
-CD79..CD93 ; H3 # Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
-CD95..CDAF ; H3 # Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
-CDB1..CDCB ; H3 # Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
-CDCD..CDE7 ; H3 # Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
-CDE9..CE03 ; H3 # Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
-CE05..CE1F ; H3 # Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
-CE21..CE3B ; H3 # Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
-CE3D..CE57 ; H3 # Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
-CE59..CE73 ; H3 # Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
-CE75..CE8F ; H3 # Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
-CE91..CEAB ; H3 # Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
-CEAD..CEC7 ; H3 # Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
-CEC9..CEE3 ; H3 # Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
-CEE5..CEFF ; H3 # Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
-CF01..CF1B ; H3 # Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
-CF1D..CF37 ; H3 # Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
-CF39..CF53 ; H3 # Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
-CF55..CF6F ; H3 # Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
-CF71..CF8B ; H3 # Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
-CF8D..CFA7 ; H3 # Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
-CFA9..CFC3 ; H3 # Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
-CFC5..CFDF ; H3 # Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
-CFE1..CFFB ; H3 # Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
-CFFD..D017 ; H3 # Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
-D019..D033 ; H3 # Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
-D035..D04F ; H3 # Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
-D051..D06B ; H3 # Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
-D06D..D087 ; H3 # Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
-D089..D0A3 ; H3 # Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
-D0A5..D0BF ; H3 # Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
-D0C1..D0DB ; H3 # Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
-D0DD..D0F7 ; H3 # Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
-D0F9..D113 ; H3 # Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
-D115..D12F ; H3 # Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
-D131..D14B ; H3 # Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
-D14D..D167 ; H3 # Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
-D169..D183 ; H3 # Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
-D185..D19F ; H3 # Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
-D1A1..D1BB ; H3 # Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
-D1BD..D1D7 ; H3 # Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
-D1D9..D1F3 ; H3 # Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
-D1F5..D20F ; H3 # Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
-D211..D22B ; H3 # Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
-D22D..D247 ; H3 # Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
-D249..D263 ; H3 # Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
-D265..D27F ; H3 # Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
-D281..D29B ; H3 # Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
-D29D..D2B7 ; H3 # Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
-D2B9..D2D3 ; H3 # Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
-D2D5..D2EF ; H3 # Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
-D2F1..D30B ; H3 # Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
-D30D..D327 ; H3 # Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
-D329..D343 ; H3 # Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
-D345..D35F ; H3 # Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
-D361..D37B ; H3 # Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
-D37D..D397 ; H3 # Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
-D399..D3B3 ; H3 # Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
-D3B5..D3CF ; H3 # Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
-D3D1..D3EB ; H3 # Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
-D3ED..D407 ; H3 # Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
-D409..D423 ; H3 # Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
-D425..D43F ; H3 # Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
-D441..D45B ; H3 # Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
-D45D..D477 ; H3 # Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
-D479..D493 ; H3 # Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
-D495..D4AF ; H3 # Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
-D4B1..D4CB ; H3 # Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
-D4CD..D4E7 ; H3 # Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
-D4E9..D503 ; H3 # Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
-D505..D51F ; H3 # Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
-D521..D53B ; H3 # Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
-D53D..D557 ; H3 # Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
-D559..D573 ; H3 # Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
-D575..D58F ; H3 # Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
-D591..D5AB ; H3 # Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
-D5AD..D5C7 ; H3 # Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
-D5C9..D5E3 ; H3 # Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
-D5E5..D5FF ; H3 # Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
-D601..D61B ; H3 # Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
-D61D..D637 ; H3 # Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
-D639..D653 ; H3 # Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
-D655..D66F ; H3 # Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
-D671..D68B ; H3 # Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
-D68D..D6A7 ; H3 # Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
-D6A9..D6C3 ; H3 # Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
-D6C5..D6DF ; H3 # Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
-D6E1..D6FB ; H3 # Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
-D6FD..D717 ; H3 # Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
-D719..D733 ; H3 # Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
-D735..D74F ; H3 # Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
-D751..D76B ; H3 # Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
-D76D..D787 ; H3 # Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
-D789..D7A3 ; H3 # Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
-
-# Total code points: 10773
-
-# ================================================
-
-# Line_Break=Close_Parenthesis
-
-0029 ; CP # Pe RIGHT PARENTHESIS
-005D ; CP # Pe RIGHT SQUARE BRACKET
-
-# Total code points: 2
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DNumType.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DNumType.txt
deleted file mode 100644
index 88c20d8e49f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DNumType.txt
+++ /dev/null
@@ -1,211 +0,0 @@
-# DerivedNumericType-5.2.0.txt
-# Date: 2009-05-28, 20:37:44 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Numeric Type (from UnicodeData.txt, field 6/7/8 plus Unihan Database: see UAX #44: http://www.unicode.org/reports/tr44/)
-
-# All code points not explicitly listed for Numeric_Type
-# have the value None.
-
-# @missing: 0000..10FFFF; None
-
-# ================================================
-
-00BC..00BE ; Numeric # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
-09F4..09F9 ; Numeric # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
-0BF0..0BF2 ; Numeric # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
-0C78..0C7E ; Numeric # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0D70..0D75 ; Numeric # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS
-0F2A..0F33 ; Numeric # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
-1372..137C ; Numeric # No [11] ETHIOPIC NUMBER TEN..ETHIOPIC NUMBER TEN THOUSAND
-16EE..16F0 ; Numeric # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
-17F0..17F9 ; Numeric # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
-2150..215F ; Numeric # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
-2160..2182 ; Numeric # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
-2185..2188 ; Numeric # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2189 ; Numeric # No VULGAR FRACTION ZERO THIRDS
-2469..2473 ; Numeric # No [11] CIRCLED NUMBER TEN..CIRCLED NUMBER TWENTY
-247D..2487 ; Numeric # No [11] PARENTHESIZED NUMBER TEN..PARENTHESIZED NUMBER TWENTY
-2491..249B ; Numeric # No [11] NUMBER TEN FULL STOP..NUMBER TWENTY FULL STOP
-24EB..24F4 ; Numeric # No [10] NEGATIVE CIRCLED NUMBER ELEVEN..NEGATIVE CIRCLED NUMBER TWENTY
-24FE ; Numeric # No DOUBLE CIRCLED NUMBER TEN
-277F ; Numeric # No DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2789 ; Numeric # No DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-2793 ; Numeric # No DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-2CFD ; Numeric # No COPTIC FRACTION ONE HALF
-3007 ; Numeric # Nl IDEOGRAPHIC NUMBER ZERO
-3021..3029 ; Numeric # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-3038..303A ; Numeric # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
-3192..3195 ; Numeric # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
-3220..3229 ; Numeric # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-3251..325F ; Numeric # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
-3280..3289 ; Numeric # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
-32B1..32BF ; Numeric # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
-3405 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-3405
-3483 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-3483
-382A ; Numeric # Lo CJK UNIFIED IDEOGRAPH-382A
-3B4D ; Numeric # Lo CJK UNIFIED IDEOGRAPH-3B4D
-4E00 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E00
-4E03 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E03
-4E07 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E07
-4E09 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E09
-4E5D ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E5D
-4E8C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E8C
-4E94 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E94
-4E96 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4E96
-4EBF..4EC0 ; Numeric # Lo [2] CJK UNIFIED IDEOGRAPH-4EBF..CJK UNIFIED IDEOGRAPH-4EC0
-4EDF ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4EDF
-4EE8 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4EE8
-4F0D ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4F0D
-4F70 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-4F70
-5104 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-5104
-5146 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-5146
-5169 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-5169
-516B ; Numeric # Lo CJK UNIFIED IDEOGRAPH-516B
-516D ; Numeric # Lo CJK UNIFIED IDEOGRAPH-516D
-5341 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-5341
-5343..5345 ; Numeric # Lo [3] CJK UNIFIED IDEOGRAPH-5343..CJK UNIFIED IDEOGRAPH-5345
-534C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-534C
-53C1..53C4 ; Numeric # Lo [4] CJK UNIFIED IDEOGRAPH-53C1..CJK UNIFIED IDEOGRAPH-53C4
-56DB ; Numeric # Lo CJK UNIFIED IDEOGRAPH-56DB
-58F1 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-58F1
-58F9 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-58F9
-5E7A ; Numeric # Lo CJK UNIFIED IDEOGRAPH-5E7A
-5EFE..5EFF ; Numeric # Lo [2] CJK UNIFIED IDEOGRAPH-5EFE..CJK UNIFIED IDEOGRAPH-5EFF
-5F0C..5F0E ; Numeric # Lo [3] CJK UNIFIED IDEOGRAPH-5F0C..CJK UNIFIED IDEOGRAPH-5F0E
-5F10 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-5F10
-62FE ; Numeric # Lo CJK UNIFIED IDEOGRAPH-62FE
-634C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-634C
-67D2 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-67D2
-6F06 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-6F06
-7396 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-7396
-767E ; Numeric # Lo CJK UNIFIED IDEOGRAPH-767E
-8086 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-8086
-842C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-842C
-8CAE ; Numeric # Lo CJK UNIFIED IDEOGRAPH-8CAE
-8CB3 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-8CB3
-8D30 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-8D30
-9621 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-9621
-9646 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-9646
-964C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-964C
-9678 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-9678
-96F6 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-96F6
-A6E6..A6EF ; Numeric # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
-A830..A835 ; Numeric # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
-F96B ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F96B
-F973 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F973
-F978 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F978
-F9B2 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9B2
-F9D1 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9D1
-F9D3 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9D3
-F9FD ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD
-10107..10133 ; Numeric # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
-10140..10174 ; Numeric # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175..10178 ; Numeric # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
-1018A ; Numeric # No GREEK ZERO SIGN
-10320..10323 ; Numeric # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10341 ; Numeric # Nl GOTHIC LETTER NINETY
-1034A ; Numeric # Nl GOTHIC LETTER NINE HUNDRED
-103D1..103D5 ; Numeric # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
-10858..1085F ; Numeric # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10916..1091B ; Numeric # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
-10A44..10A47 ; Numeric # No [4] KHAROSHTHI NUMBER TEN..KHAROSHTHI NUMBER ONE THOUSAND
-10A7D..10A7E ; Numeric # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
-10B58..10B5F ; Numeric # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B78..10B7F ; Numeric # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10E69..10E7E ; Numeric # No [22] RUMI NUMBER TEN..RUMI FRACTION TWO THIRDS
-12400..12431 ; Numeric # Nl [50] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN FIVE SHARU
-12434..12455 ; Numeric # Nl [34] CUNEIFORM NUMERIC SIGN ONE BURU..CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-12458..12462 ; Numeric # Nl [11] CUNEIFORM NUMERIC SIGN ONE ESHE3..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-1D360..1D371 ; Numeric # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
-20001 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20001
-20064 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20064
-200E2 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-200E2
-20121 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20121
-2092A ; Numeric # Lo CJK UNIFIED IDEOGRAPH-2092A
-20983 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20983
-2098C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-2098C
-2099C ; Numeric # Lo CJK UNIFIED IDEOGRAPH-2099C
-20AEA ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20AEA
-20AFD ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20AFD
-20B19 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-20B19
-22390 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-22390
-22998 ; Numeric # Lo CJK UNIFIED IDEOGRAPH-22998
-23B1B ; Numeric # Lo CJK UNIFIED IDEOGRAPH-23B1B
-2626D ; Numeric # Lo CJK UNIFIED IDEOGRAPH-2626D
-2F890 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-2F890
-
-# Total code points: 612
-
-# ================================================
-
-00B2..00B3 ; Digit # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B9 ; Digit # No SUPERSCRIPT ONE
-1369..1371 ; Digit # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
-2070 ; Digit # No SUPERSCRIPT ZERO
-2074..2079 ; Digit # No [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
-2080..2089 ; Digit # No [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
-2460..2468 ; Digit # No [9] CIRCLED DIGIT ONE..CIRCLED DIGIT NINE
-2474..247C ; Digit # No [9] PARENTHESIZED DIGIT ONE..PARENTHESIZED DIGIT NINE
-2488..2490 ; Digit # No [9] DIGIT ONE FULL STOP..DIGIT NINE FULL STOP
-24EA ; Digit # No CIRCLED DIGIT ZERO
-24F5..24FD ; Digit # No [9] DOUBLE CIRCLED DIGIT ONE..DOUBLE CIRCLED DIGIT NINE
-24FF ; Digit # No NEGATIVE CIRCLED DIGIT ZERO
-2776..277E ; Digit # No [9] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED DIGIT NINE
-2780..2788 ; Digit # No [9] DINGBAT CIRCLED SANS-SERIF DIGIT ONE..DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-278A..2792 ; Digit # No [9] DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-10A40..10A43 ; Digit # No [4] KHAROSHTHI DIGIT ONE..KHAROSHTHI DIGIT FOUR
-10E60..10E68 ; Digit # No [9] RUMI DIGIT ONE..RUMI DIGIT NINE
-1F100..1F10A ; Digit # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
-
-# Total code points: 118
-
-# ================================================
-
-0030..0039 ; Decimal # Nd [10] DIGIT ZERO..DIGIT NINE
-0660..0669 ; Decimal # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
-06F0..06F9 ; Decimal # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
-07C0..07C9 ; Decimal # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE
-0966..096F ; Decimal # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
-09E6..09EF ; Decimal # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
-0A66..0A6F ; Decimal # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
-0AE6..0AEF ; Decimal # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
-0B66..0B6F ; Decimal # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
-0BE6..0BEF ; Decimal # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
-0C66..0C6F ; Decimal # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0CE6..0CEF ; Decimal # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
-0D66..0D6F ; Decimal # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
-0E50..0E59 ; Decimal # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE
-0ED0..0ED9 ; Decimal # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0F20..0F29 ; Decimal # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
-1040..1049 ; Decimal # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
-1090..1099 ; Decimal # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
-17E0..17E9 ; Decimal # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
-1810..1819 ; Decimal # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
-1946..194F ; Decimal # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
-19D0..19DA ; Decimal # Nd [11] NEW TAI LUE DIGIT ZERO..NEW TAI LUE THAM DIGIT ONE
-1A80..1A89 ; Decimal # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
-1A90..1A99 ; Decimal # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
-1B50..1B59 ; Decimal # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
-1BB0..1BB9 ; Decimal # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1C40..1C49 ; Decimal # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
-1C50..1C59 ; Decimal # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
-A620..A629 ; Decimal # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE
-A8D0..A8D9 ; Decimal # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
-A900..A909 ; Decimal # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
-A9D0..A9D9 ; Decimal # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
-AA50..AA59 ; Decimal # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
-ABF0..ABF9 ; Decimal # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
-FF10..FF19 ; Decimal # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
-104A0..104A9 ; Decimal # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
-1D7CE..1D7FF ; Decimal # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
-
-# Total code points: 411
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/extracted/DNumValues.txt b/Master/tlpkg/tlperl/lib/unicore/extracted/DNumValues.txt
deleted file mode 100644
index 1a1549c4dd9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/extracted/DNumValues.txt
+++ /dev/null
@@ -1,1697 +0,0 @@
-# DerivedNumericValues-5.2.0.txt
-# Date: 2009-08-22, 04:58:28 GMT [MD]
-#
-# Unicode Character Database
-# Copyright (c) 1991-2009 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
-
-# ================================================
-
-# Numeric Values (from UnicodeData.txt, field 6/7/8)
-# WARNING: Certain values, such as 0.16666667, are repeating fractions
-# Although they are only printed with a limited number of decimal places
-# in this file, they should be expressed to the limits of the precision
-# available when used.
-# The third field is empty; it used to be a copy of the numeric type.
-# A fourth field was added to this extracted data as of
-# Unicode 5.1.0, expressing the same numeric value either as
-# a whole integer where possible or as a rational fraction, e.g. "1/6".
-#
-# @missing: 0000..10FFFF; ; NaN
-
-# ================================================
-
-0F33 ; -0.5 ; ; -1/2 # No TIBETAN DIGIT HALF ZERO
-
-# Total code points: 1
-
-# ================================================
-
-0030 ; 0.0 ; ; 0 # Nd DIGIT ZERO
-0660 ; 0.0 ; ; 0 # Nd ARABIC-INDIC DIGIT ZERO
-06F0 ; 0.0 ; ; 0 # Nd EXTENDED ARABIC-INDIC DIGIT ZERO
-07C0 ; 0.0 ; ; 0 # Nd NKO DIGIT ZERO
-0966 ; 0.0 ; ; 0 # Nd DEVANAGARI DIGIT ZERO
-09E6 ; 0.0 ; ; 0 # Nd BENGALI DIGIT ZERO
-0A66 ; 0.0 ; ; 0 # Nd GURMUKHI DIGIT ZERO
-0AE6 ; 0.0 ; ; 0 # Nd GUJARATI DIGIT ZERO
-0B66 ; 0.0 ; ; 0 # Nd ORIYA DIGIT ZERO
-0BE6 ; 0.0 ; ; 0 # Nd TAMIL DIGIT ZERO
-0C66 ; 0.0 ; ; 0 # Nd TELUGU DIGIT ZERO
-0C78 ; 0.0 ; ; 0 # No TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0CE6 ; 0.0 ; ; 0 # Nd KANNADA DIGIT ZERO
-0D66 ; 0.0 ; ; 0 # Nd MALAYALAM DIGIT ZERO
-0E50 ; 0.0 ; ; 0 # Nd THAI DIGIT ZERO
-0ED0 ; 0.0 ; ; 0 # Nd LAO DIGIT ZERO
-0F20 ; 0.0 ; ; 0 # Nd TIBETAN DIGIT ZERO
-1040 ; 0.0 ; ; 0 # Nd MYANMAR DIGIT ZERO
-1090 ; 0.0 ; ; 0 # Nd MYANMAR SHAN DIGIT ZERO
-17E0 ; 0.0 ; ; 0 # Nd KHMER DIGIT ZERO
-17F0 ; 0.0 ; ; 0 # No KHMER SYMBOL LEK ATTAK SON
-1810 ; 0.0 ; ; 0 # Nd MONGOLIAN DIGIT ZERO
-1946 ; 0.0 ; ; 0 # Nd LIMBU DIGIT ZERO
-19D0 ; 0.0 ; ; 0 # Nd NEW TAI LUE DIGIT ZERO
-1A80 ; 0.0 ; ; 0 # Nd TAI THAM HORA DIGIT ZERO
-1A90 ; 0.0 ; ; 0 # Nd TAI THAM THAM DIGIT ZERO
-1B50 ; 0.0 ; ; 0 # Nd BALINESE DIGIT ZERO
-1BB0 ; 0.0 ; ; 0 # Nd SUNDANESE DIGIT ZERO
-1C40 ; 0.0 ; ; 0 # Nd LEPCHA DIGIT ZERO
-1C50 ; 0.0 ; ; 0 # Nd OL CHIKI DIGIT ZERO
-2070 ; 0.0 ; ; 0 # No SUPERSCRIPT ZERO
-2080 ; 0.0 ; ; 0 # No SUBSCRIPT ZERO
-2189 ; 0.0 ; ; 0 # No VULGAR FRACTION ZERO THIRDS
-24EA ; 0.0 ; ; 0 # No CIRCLED DIGIT ZERO
-24FF ; 0.0 ; ; 0 # No NEGATIVE CIRCLED DIGIT ZERO
-3007 ; 0.0 ; ; 0 # Nl IDEOGRAPHIC NUMBER ZERO
-96F6 ; 0.0 ; ; 0 # Lo CJK UNIFIED IDEOGRAPH-96F6
-A620 ; 0.0 ; ; 0 # Nd VAI DIGIT ZERO
-A6EF ; 0.0 ; ; 0 # Nl BAMUM LETTER KOGHOM
-A8D0 ; 0.0 ; ; 0 # Nd SAURASHTRA DIGIT ZERO
-A900 ; 0.0 ; ; 0 # Nd KAYAH LI DIGIT ZERO
-A9D0 ; 0.0 ; ; 0 # Nd JAVANESE DIGIT ZERO
-AA50 ; 0.0 ; ; 0 # Nd CHAM DIGIT ZERO
-ABF0 ; 0.0 ; ; 0 # Nd MEETEI MAYEK DIGIT ZERO
-F9B2 ; 0.0 ; ; 0 # Lo CJK COMPATIBILITY IDEOGRAPH-F9B2
-FF10 ; 0.0 ; ; 0 # Nd FULLWIDTH DIGIT ZERO
-1018A ; 0.0 ; ; 0 # No GREEK ZERO SIGN
-104A0 ; 0.0 ; ; 0 # Nd OSMANYA DIGIT ZERO
-1D7CE ; 0.0 ; ; 0 # Nd MATHEMATICAL BOLD DIGIT ZERO
-1D7D8 ; 0.0 ; ; 0 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7E2 ; 0.0 ; ; 0 # Nd MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7EC ; 0.0 ; ; 0 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7F6 ; 0.0 ; ; 0 # Nd MATHEMATICAL MONOSPACE DIGIT ZERO
-1F100..1F101 ; 0.0 ; ; 0 # No [2] DIGIT ZERO FULL STOP..DIGIT ZERO COMMA
-
-# Total code points: 55
-
-# ================================================
-
-09F4 ; 0.0625 ; ; 1/16 # No BENGALI CURRENCY NUMERATOR ONE
-A833 ; 0.0625 ; ; 1/16 # No NORTH INDIC FRACTION ONE SIXTEENTH
-
-# Total code points: 2
-
-# ================================================
-
-2152 ; 0.1 ; ; 1/10 # No VULGAR FRACTION ONE TENTH
-
-# Total code points: 1
-
-# ================================================
-
-2151 ; 0.11111111 ; ; 1/9 # No VULGAR FRACTION ONE NINTH
-
-# Total code points: 1
-
-# ================================================
-
-09F5 ; 0.125 ; ; 1/8 # No BENGALI CURRENCY NUMERATOR TWO
-215B ; 0.125 ; ; 1/8 # No VULGAR FRACTION ONE EIGHTH
-A834 ; 0.125 ; ; 1/8 # No NORTH INDIC FRACTION ONE EIGHTH
-1245F ; 0.125 ; ; 1/8 # Nl CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-
-# Total code points: 4
-
-# ================================================
-
-2150 ; 0.14285714 ; ; 1/7 # No VULGAR FRACTION ONE SEVENTH
-
-# Total code points: 1
-
-# ================================================
-
-2159 ; 0.16666667 ; ; 1/6 # No VULGAR FRACTION ONE SIXTH
-12461 ; 0.16666667 ; ; 1/6 # Nl CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-
-# Total code points: 2
-
-# ================================================
-
-09F6 ; 0.1875 ; ; 3/16 # No BENGALI CURRENCY NUMERATOR THREE
-A835 ; 0.1875 ; ; 3/16 # No NORTH INDIC FRACTION THREE SIXTEENTHS
-
-# Total code points: 2
-
-# ================================================
-
-2155 ; 0.2 ; ; 1/5 # No VULGAR FRACTION ONE FIFTH
-
-# Total code points: 1
-
-# ================================================
-
-00BC ; 0.25 ; ; 1/4 # No VULGAR FRACTION ONE QUARTER
-09F7 ; 0.25 ; ; 1/4 # No BENGALI CURRENCY NUMERATOR FOUR
-0D73 ; 0.25 ; ; 1/4 # No MALAYALAM FRACTION ONE QUARTER
-A830 ; 0.25 ; ; 1/4 # No NORTH INDIC FRACTION ONE QUARTER
-10140 ; 0.25 ; ; 1/4 # Nl GREEK ACROPHONIC ATTIC ONE QUARTER
-10E7C ; 0.25 ; ; 1/4 # No RUMI FRACTION ONE QUARTER
-12460 ; 0.25 ; ; 1/4 # Nl CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12462 ; 0.25 ; ; 1/4 # Nl CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-
-# Total code points: 8
-
-# ================================================
-
-2153 ; 0.33333333 ; ; 1/3 # No VULGAR FRACTION ONE THIRD
-10E7D ; 0.33333333 ; ; 1/3 # No RUMI FRACTION ONE THIRD
-1245A ; 0.33333333 ; ; 1/3 # Nl CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245D ; 0.33333333 ; ; 1/3 # Nl CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-
-# Total code points: 4
-
-# ================================================
-
-215C ; 0.375 ; ; 3/8 # No VULGAR FRACTION THREE EIGHTHS
-
-# Total code points: 1
-
-# ================================================
-
-2156 ; 0.4 ; ; 2/5 # No VULGAR FRACTION TWO FIFTHS
-
-# Total code points: 1
-
-# ================================================
-
-00BD ; 0.5 ; ; 1/2 # No VULGAR FRACTION ONE HALF
-0D74 ; 0.5 ; ; 1/2 # No MALAYALAM FRACTION ONE HALF
-0F2A ; 0.5 ; ; 1/2 # No TIBETAN DIGIT HALF ONE
-2CFD ; 0.5 ; ; 1/2 # No COPTIC FRACTION ONE HALF
-A831 ; 0.5 ; ; 1/2 # No NORTH INDIC FRACTION ONE HALF
-10141 ; 0.5 ; ; 1/2 # Nl GREEK ACROPHONIC ATTIC ONE HALF
-10175..10176 ; 0.5 ; ; 1/2 # No [2] GREEK ONE HALF SIGN..GREEK ONE HALF SIGN ALTERNATE FORM
-10E7B ; 0.5 ; ; 1/2 # No RUMI FRACTION ONE HALF
-
-# Total code points: 9
-
-# ================================================
-
-2157 ; 0.6 ; ; 3/5 # No VULGAR FRACTION THREE FIFTHS
-
-# Total code points: 1
-
-# ================================================
-
-215D ; 0.625 ; ; 5/8 # No VULGAR FRACTION FIVE EIGHTHS
-
-# Total code points: 1
-
-# ================================================
-
-2154 ; 0.66666667 ; ; 2/3 # No VULGAR FRACTION TWO THIRDS
-10177 ; 0.66666667 ; ; 2/3 # No GREEK TWO THIRDS SIGN
-10E7E ; 0.66666667 ; ; 2/3 # No RUMI FRACTION TWO THIRDS
-1245B ; 0.66666667 ; ; 2/3 # Nl CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245E ; 0.66666667 ; ; 2/3 # Nl CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-
-# Total code points: 5
-
-# ================================================
-
-00BE ; 0.75 ; ; 3/4 # No VULGAR FRACTION THREE QUARTERS
-09F8 ; 0.75 ; ; 3/4 # No BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-0D75 ; 0.75 ; ; 3/4 # No MALAYALAM FRACTION THREE QUARTERS
-A832 ; 0.75 ; ; 3/4 # No NORTH INDIC FRACTION THREE QUARTERS
-10178 ; 0.75 ; ; 3/4 # No GREEK THREE QUARTERS SIGN
-
-# Total code points: 5
-
-# ================================================
-
-2158 ; 0.8 ; ; 4/5 # No VULGAR FRACTION FOUR FIFTHS
-
-# Total code points: 1
-
-# ================================================
-
-215A ; 0.83333333 ; ; 5/6 # No VULGAR FRACTION FIVE SIXTHS
-1245C ; 0.83333333 ; ; 5/6 # Nl CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-
-# Total code points: 2
-
-# ================================================
-
-215E ; 0.875 ; ; 7/8 # No VULGAR FRACTION SEVEN EIGHTHS
-
-# Total code points: 1
-
-# ================================================
-
-0031 ; 1.0 ; ; 1 # Nd DIGIT ONE
-00B9 ; 1.0 ; ; 1 # No SUPERSCRIPT ONE
-0661 ; 1.0 ; ; 1 # Nd ARABIC-INDIC DIGIT ONE
-06F1 ; 1.0 ; ; 1 # Nd EXTENDED ARABIC-INDIC DIGIT ONE
-07C1 ; 1.0 ; ; 1 # Nd NKO DIGIT ONE
-0967 ; 1.0 ; ; 1 # Nd DEVANAGARI DIGIT ONE
-09E7 ; 1.0 ; ; 1 # Nd BENGALI DIGIT ONE
-0A67 ; 1.0 ; ; 1 # Nd GURMUKHI DIGIT ONE
-0AE7 ; 1.0 ; ; 1 # Nd GUJARATI DIGIT ONE
-0B67 ; 1.0 ; ; 1 # Nd ORIYA DIGIT ONE
-0BE7 ; 1.0 ; ; 1 # Nd TAMIL DIGIT ONE
-0C67 ; 1.0 ; ; 1 # Nd TELUGU DIGIT ONE
-0C79 ; 1.0 ; ; 1 # No TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7C ; 1.0 ; ; 1 # No TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0CE7 ; 1.0 ; ; 1 # Nd KANNADA DIGIT ONE
-0D67 ; 1.0 ; ; 1 # Nd MALAYALAM DIGIT ONE
-0E51 ; 1.0 ; ; 1 # Nd THAI DIGIT ONE
-0ED1 ; 1.0 ; ; 1 # Nd LAO DIGIT ONE
-0F21 ; 1.0 ; ; 1 # Nd TIBETAN DIGIT ONE
-1041 ; 1.0 ; ; 1 # Nd MYANMAR DIGIT ONE
-1091 ; 1.0 ; ; 1 # Nd MYANMAR SHAN DIGIT ONE
-1369 ; 1.0 ; ; 1 # No ETHIOPIC DIGIT ONE
-17E1 ; 1.0 ; ; 1 # Nd KHMER DIGIT ONE
-17F1 ; 1.0 ; ; 1 # No KHMER SYMBOL LEK ATTAK MUOY
-1811 ; 1.0 ; ; 1 # Nd MONGOLIAN DIGIT ONE
-1947 ; 1.0 ; ; 1 # Nd LIMBU DIGIT ONE
-19D1 ; 1.0 ; ; 1 # Nd NEW TAI LUE DIGIT ONE
-19DA ; 1.0 ; ; 1 # Nd NEW TAI LUE THAM DIGIT ONE
-1A81 ; 1.0 ; ; 1 # Nd TAI THAM HORA DIGIT ONE
-1A91 ; 1.0 ; ; 1 # Nd TAI THAM THAM DIGIT ONE
-1B51 ; 1.0 ; ; 1 # Nd BALINESE DIGIT ONE
-1BB1 ; 1.0 ; ; 1 # Nd SUNDANESE DIGIT ONE
-1C41 ; 1.0 ; ; 1 # Nd LEPCHA DIGIT ONE
-1C51 ; 1.0 ; ; 1 # Nd OL CHIKI DIGIT ONE
-2081 ; 1.0 ; ; 1 # No SUBSCRIPT ONE
-215F ; 1.0 ; ; 1 # No FRACTION NUMERATOR ONE
-2160 ; 1.0 ; ; 1 # Nl ROMAN NUMERAL ONE
-2170 ; 1.0 ; ; 1 # Nl SMALL ROMAN NUMERAL ONE
-2460 ; 1.0 ; ; 1 # No CIRCLED DIGIT ONE
-2474 ; 1.0 ; ; 1 # No PARENTHESIZED DIGIT ONE
-2488 ; 1.0 ; ; 1 # No DIGIT ONE FULL STOP
-24F5 ; 1.0 ; ; 1 # No DOUBLE CIRCLED DIGIT ONE
-2776 ; 1.0 ; ; 1 # No DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2780 ; 1.0 ; ; 1 # No DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-278A ; 1.0 ; ; 1 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-3021 ; 1.0 ; ; 1 # Nl HANGZHOU NUMERAL ONE
-3192 ; 1.0 ; ; 1 # No IDEOGRAPHIC ANNOTATION ONE MARK
-3220 ; 1.0 ; ; 1 # No PARENTHESIZED IDEOGRAPH ONE
-3280 ; 1.0 ; ; 1 # No CIRCLED IDEOGRAPH ONE
-4E00 ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-4E00
-58F1 ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-58F1
-58F9 ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-58F9
-5E7A ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-5E7A
-5F0C ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-5F0C
-A621 ; 1.0 ; ; 1 # Nd VAI DIGIT ONE
-A6E6 ; 1.0 ; ; 1 # Nl BAMUM LETTER MO
-A8D1 ; 1.0 ; ; 1 # Nd SAURASHTRA DIGIT ONE
-A901 ; 1.0 ; ; 1 # Nd KAYAH LI DIGIT ONE
-A9D1 ; 1.0 ; ; 1 # Nd JAVANESE DIGIT ONE
-AA51 ; 1.0 ; ; 1 # Nd CHAM DIGIT ONE
-ABF1 ; 1.0 ; ; 1 # Nd MEETEI MAYEK DIGIT ONE
-FF11 ; 1.0 ; ; 1 # Nd FULLWIDTH DIGIT ONE
-10107 ; 1.0 ; ; 1 # No AEGEAN NUMBER ONE
-10142 ; 1.0 ; ; 1 # Nl GREEK ACROPHONIC ATTIC ONE DRACHMA
-10158..1015A ; 1.0 ; ; 1 # Nl [3] GREEK ACROPHONIC HERAEUM ONE PLETHRON..GREEK ACROPHONIC HERMIONIAN ONE
-10320 ; 1.0 ; ; 1 # No OLD ITALIC NUMERAL ONE
-103D1 ; 1.0 ; ; 1 # Nl OLD PERSIAN NUMBER ONE
-104A1 ; 1.0 ; ; 1 # Nd OSMANYA DIGIT ONE
-10858 ; 1.0 ; ; 1 # No IMPERIAL ARAMAIC NUMBER ONE
-10916 ; 1.0 ; ; 1 # No PHOENICIAN NUMBER ONE
-10A40 ; 1.0 ; ; 1 # No KHAROSHTHI DIGIT ONE
-10A7D ; 1.0 ; ; 1 # No OLD SOUTH ARABIAN NUMBER ONE
-10B58 ; 1.0 ; ; 1 # No INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B78 ; 1.0 ; ; 1 # No INSCRIPTIONAL PAHLAVI NUMBER ONE
-10E60 ; 1.0 ; ; 1 # No RUMI DIGIT ONE
-12415 ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE GESH2
-1241E ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE GESHU
-1242C ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE SHARU
-12434 ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE BURU
-1244F ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE BAN2
-12458 ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE ESHE3
-1D360 ; 1.0 ; ; 1 # No COUNTING ROD UNIT DIGIT ONE
-1D7CF ; 1.0 ; ; 1 # Nd MATHEMATICAL BOLD DIGIT ONE
-1D7D9 ; 1.0 ; ; 1 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7E3 ; 1.0 ; ; 1 # Nd MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7ED ; 1.0 ; ; 1 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7F7 ; 1.0 ; ; 1 # Nd MATHEMATICAL MONOSPACE DIGIT ONE
-1F102 ; 1.0 ; ; 1 # No DIGIT ONE COMMA
-2092A ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-2092A
-
-# Total code points: 91
-
-# ================================================
-
-0F2B ; 1.5 ; ; 3/2 # No TIBETAN DIGIT HALF TWO
-
-# Total code points: 1
-
-# ================================================
-
-0032 ; 2.0 ; ; 2 # Nd DIGIT TWO
-00B2 ; 2.0 ; ; 2 # No SUPERSCRIPT TWO
-0662 ; 2.0 ; ; 2 # Nd ARABIC-INDIC DIGIT TWO
-06F2 ; 2.0 ; ; 2 # Nd EXTENDED ARABIC-INDIC DIGIT TWO
-07C2 ; 2.0 ; ; 2 # Nd NKO DIGIT TWO
-0968 ; 2.0 ; ; 2 # Nd DEVANAGARI DIGIT TWO
-09E8 ; 2.0 ; ; 2 # Nd BENGALI DIGIT TWO
-0A68 ; 2.0 ; ; 2 # Nd GURMUKHI DIGIT TWO
-0AE8 ; 2.0 ; ; 2 # Nd GUJARATI DIGIT TWO
-0B68 ; 2.0 ; ; 2 # Nd ORIYA DIGIT TWO
-0BE8 ; 2.0 ; ; 2 # Nd TAMIL DIGIT TWO
-0C68 ; 2.0 ; ; 2 # Nd TELUGU DIGIT TWO
-0C7A ; 2.0 ; ; 2 # No TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7D ; 2.0 ; ; 2 # No TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0CE8 ; 2.0 ; ; 2 # Nd KANNADA DIGIT TWO
-0D68 ; 2.0 ; ; 2 # Nd MALAYALAM DIGIT TWO
-0E52 ; 2.0 ; ; 2 # Nd THAI DIGIT TWO
-0ED2 ; 2.0 ; ; 2 # Nd LAO DIGIT TWO
-0F22 ; 2.0 ; ; 2 # Nd TIBETAN DIGIT TWO
-1042 ; 2.0 ; ; 2 # Nd MYANMAR DIGIT TWO
-1092 ; 2.0 ; ; 2 # Nd MYANMAR SHAN DIGIT TWO
-136A ; 2.0 ; ; 2 # No ETHIOPIC DIGIT TWO
-17E2 ; 2.0 ; ; 2 # Nd KHMER DIGIT TWO
-17F2 ; 2.0 ; ; 2 # No KHMER SYMBOL LEK ATTAK PII
-1812 ; 2.0 ; ; 2 # Nd MONGOLIAN DIGIT TWO
-1948 ; 2.0 ; ; 2 # Nd LIMBU DIGIT TWO
-19D2 ; 2.0 ; ; 2 # Nd NEW TAI LUE DIGIT TWO
-1A82 ; 2.0 ; ; 2 # Nd TAI THAM HORA DIGIT TWO
-1A92 ; 2.0 ; ; 2 # Nd TAI THAM THAM DIGIT TWO
-1B52 ; 2.0 ; ; 2 # Nd BALINESE DIGIT TWO
-1BB2 ; 2.0 ; ; 2 # Nd SUNDANESE DIGIT TWO
-1C42 ; 2.0 ; ; 2 # Nd LEPCHA DIGIT TWO
-1C52 ; 2.0 ; ; 2 # Nd OL CHIKI DIGIT TWO
-2082 ; 2.0 ; ; 2 # No SUBSCRIPT TWO
-2161 ; 2.0 ; ; 2 # Nl ROMAN NUMERAL TWO
-2171 ; 2.0 ; ; 2 # Nl SMALL ROMAN NUMERAL TWO
-2461 ; 2.0 ; ; 2 # No CIRCLED DIGIT TWO
-2475 ; 2.0 ; ; 2 # No PARENTHESIZED DIGIT TWO
-2489 ; 2.0 ; ; 2 # No DIGIT TWO FULL STOP
-24F6 ; 2.0 ; ; 2 # No DOUBLE CIRCLED DIGIT TWO
-2777 ; 2.0 ; ; 2 # No DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2781 ; 2.0 ; ; 2 # No DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-278B ; 2.0 ; ; 2 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-3022 ; 2.0 ; ; 2 # Nl HANGZHOU NUMERAL TWO
-3193 ; 2.0 ; ; 2 # No IDEOGRAPHIC ANNOTATION TWO MARK
-3221 ; 2.0 ; ; 2 # No PARENTHESIZED IDEOGRAPH TWO
-3281 ; 2.0 ; ; 2 # No CIRCLED IDEOGRAPH TWO
-3483 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-3483
-4E8C ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-4E8C
-5169 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-5169
-5F0D ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-5F0D
-5F10 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-5F10
-8CAE ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-8CAE
-8CB3 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-8CB3
-8D30 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-8D30
-A622 ; 2.0 ; ; 2 # Nd VAI DIGIT TWO
-A6E7 ; 2.0 ; ; 2 # Nl BAMUM LETTER MBAA
-A8D2 ; 2.0 ; ; 2 # Nd SAURASHTRA DIGIT TWO
-A902 ; 2.0 ; ; 2 # Nd KAYAH LI DIGIT TWO
-A9D2 ; 2.0 ; ; 2 # Nd JAVANESE DIGIT TWO
-AA52 ; 2.0 ; ; 2 # Nd CHAM DIGIT TWO
-ABF2 ; 2.0 ; ; 2 # Nd MEETEI MAYEK DIGIT TWO
-F978 ; 2.0 ; ; 2 # Lo CJK COMPATIBILITY IDEOGRAPH-F978
-FF12 ; 2.0 ; ; 2 # Nd FULLWIDTH DIGIT TWO
-10108 ; 2.0 ; ; 2 # No AEGEAN NUMBER TWO
-1015B..1015E ; 2.0 ; ; 2 # Nl [4] GREEK ACROPHONIC EPIDAUREAN TWO..GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-103D2 ; 2.0 ; ; 2 # Nl OLD PERSIAN NUMBER TWO
-104A2 ; 2.0 ; ; 2 # Nd OSMANYA DIGIT TWO
-10859 ; 2.0 ; ; 2 # No IMPERIAL ARAMAIC NUMBER TWO
-1091A ; 2.0 ; ; 2 # No PHOENICIAN NUMBER TWO
-10A41 ; 2.0 ; ; 2 # No KHAROSHTHI DIGIT TWO
-10B59 ; 2.0 ; ; 2 # No INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B79 ; 2.0 ; ; 2 # No INSCRIPTIONAL PAHLAVI NUMBER TWO
-10E61 ; 2.0 ; ; 2 # No RUMI DIGIT TWO
-12400 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO ASH
-12416 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO GESH2
-1241F ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO GESHU
-12423 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO SHAR2
-1242D ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO SHARU
-12435 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO BURU
-1244A ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO ASH TENU
-12450 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO BAN2
-12459 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO ESHE3
-1D361 ; 2.0 ; ; 2 # No COUNTING ROD UNIT DIGIT TWO
-1D7D0 ; 2.0 ; ; 2 # Nd MATHEMATICAL BOLD DIGIT TWO
-1D7DA ; 2.0 ; ; 2 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7E4 ; 2.0 ; ; 2 # Nd MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7EE ; 2.0 ; ; 2 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7F8 ; 2.0 ; ; 2 # Nd MATHEMATICAL MONOSPACE DIGIT TWO
-1F103 ; 2.0 ; ; 2 # No DIGIT TWO COMMA
-22390 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-22390
-
-# Total code points: 94
-
-# ================================================
-
-0F2C ; 2.5 ; ; 5/2 # No TIBETAN DIGIT HALF THREE
-
-# Total code points: 1
-
-# ================================================
-
-0033 ; 3.0 ; ; 3 # Nd DIGIT THREE
-00B3 ; 3.0 ; ; 3 # No SUPERSCRIPT THREE
-0663 ; 3.0 ; ; 3 # Nd ARABIC-INDIC DIGIT THREE
-06F3 ; 3.0 ; ; 3 # Nd EXTENDED ARABIC-INDIC DIGIT THREE
-07C3 ; 3.0 ; ; 3 # Nd NKO DIGIT THREE
-0969 ; 3.0 ; ; 3 # Nd DEVANAGARI DIGIT THREE
-09E9 ; 3.0 ; ; 3 # Nd BENGALI DIGIT THREE
-0A69 ; 3.0 ; ; 3 # Nd GURMUKHI DIGIT THREE
-0AE9 ; 3.0 ; ; 3 # Nd GUJARATI DIGIT THREE
-0B69 ; 3.0 ; ; 3 # Nd ORIYA DIGIT THREE
-0BE9 ; 3.0 ; ; 3 # Nd TAMIL DIGIT THREE
-0C69 ; 3.0 ; ; 3 # Nd TELUGU DIGIT THREE
-0C7B ; 3.0 ; ; 3 # No TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7E ; 3.0 ; ; 3 # No TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0CE9 ; 3.0 ; ; 3 # Nd KANNADA DIGIT THREE
-0D69 ; 3.0 ; ; 3 # Nd MALAYALAM DIGIT THREE
-0E53 ; 3.0 ; ; 3 # Nd THAI DIGIT THREE
-0ED3 ; 3.0 ; ; 3 # Nd LAO DIGIT THREE
-0F23 ; 3.0 ; ; 3 # Nd TIBETAN DIGIT THREE
-1043 ; 3.0 ; ; 3 # Nd MYANMAR DIGIT THREE
-1093 ; 3.0 ; ; 3 # Nd MYANMAR SHAN DIGIT THREE
-136B ; 3.0 ; ; 3 # No ETHIOPIC DIGIT THREE
-17E3 ; 3.0 ; ; 3 # Nd KHMER DIGIT THREE
-17F3 ; 3.0 ; ; 3 # No KHMER SYMBOL LEK ATTAK BEI
-1813 ; 3.0 ; ; 3 # Nd MONGOLIAN DIGIT THREE
-1949 ; 3.0 ; ; 3 # Nd LIMBU DIGIT THREE
-19D3 ; 3.0 ; ; 3 # Nd NEW TAI LUE DIGIT THREE
-1A83 ; 3.0 ; ; 3 # Nd TAI THAM HORA DIGIT THREE
-1A93 ; 3.0 ; ; 3 # Nd TAI THAM THAM DIGIT THREE
-1B53 ; 3.0 ; ; 3 # Nd BALINESE DIGIT THREE
-1BB3 ; 3.0 ; ; 3 # Nd SUNDANESE DIGIT THREE
-1C43 ; 3.0 ; ; 3 # Nd LEPCHA DIGIT THREE
-1C53 ; 3.0 ; ; 3 # Nd OL CHIKI DIGIT THREE
-2083 ; 3.0 ; ; 3 # No SUBSCRIPT THREE
-2162 ; 3.0 ; ; 3 # Nl ROMAN NUMERAL THREE
-2172 ; 3.0 ; ; 3 # Nl SMALL ROMAN NUMERAL THREE
-2462 ; 3.0 ; ; 3 # No CIRCLED DIGIT THREE
-2476 ; 3.0 ; ; 3 # No PARENTHESIZED DIGIT THREE
-248A ; 3.0 ; ; 3 # No DIGIT THREE FULL STOP
-24F7 ; 3.0 ; ; 3 # No DOUBLE CIRCLED DIGIT THREE
-2778 ; 3.0 ; ; 3 # No DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2782 ; 3.0 ; ; 3 # No DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-278C ; 3.0 ; ; 3 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-3023 ; 3.0 ; ; 3 # Nl HANGZHOU NUMERAL THREE
-3194 ; 3.0 ; ; 3 # No IDEOGRAPHIC ANNOTATION THREE MARK
-3222 ; 3.0 ; ; 3 # No PARENTHESIZED IDEOGRAPH THREE
-3282 ; 3.0 ; ; 3 # No CIRCLED IDEOGRAPH THREE
-4E09 ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-4E09
-4EE8 ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-4EE8
-53C1..53C4 ; 3.0 ; ; 3 # Lo [4] CJK UNIFIED IDEOGRAPH-53C1..CJK UNIFIED IDEOGRAPH-53C4
-5F0E ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-5F0E
-A623 ; 3.0 ; ; 3 # Nd VAI DIGIT THREE
-A6E8 ; 3.0 ; ; 3 # Nl BAMUM LETTER TET
-A8D3 ; 3.0 ; ; 3 # Nd SAURASHTRA DIGIT THREE
-A903 ; 3.0 ; ; 3 # Nd KAYAH LI DIGIT THREE
-A9D3 ; 3.0 ; ; 3 # Nd JAVANESE DIGIT THREE
-AA53 ; 3.0 ; ; 3 # Nd CHAM DIGIT THREE
-ABF3 ; 3.0 ; ; 3 # Nd MEETEI MAYEK DIGIT THREE
-F96B ; 3.0 ; ; 3 # Lo CJK COMPATIBILITY IDEOGRAPH-F96B
-FF13 ; 3.0 ; ; 3 # Nd FULLWIDTH DIGIT THREE
-10109 ; 3.0 ; ; 3 # No AEGEAN NUMBER THREE
-104A3 ; 3.0 ; ; 3 # Nd OSMANYA DIGIT THREE
-1085A ; 3.0 ; ; 3 # No IMPERIAL ARAMAIC NUMBER THREE
-1091B ; 3.0 ; ; 3 # No PHOENICIAN NUMBER THREE
-10A42 ; 3.0 ; ; 3 # No KHAROSHTHI DIGIT THREE
-10B5A ; 3.0 ; ; 3 # No INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B7A ; 3.0 ; ; 3 # No INSCRIPTIONAL PAHLAVI NUMBER THREE
-10E62 ; 3.0 ; ; 3 # No RUMI DIGIT THREE
-12401 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE ASH
-12408 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE DISH
-12417 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE GESH2
-12420 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE GESHU
-12424..12425 ; 3.0 ; ; 3 # Nl [2] CUNEIFORM NUMERIC SIGN THREE SHAR2..CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-1242E..1242F ; 3.0 ; ; 3 # Nl [2] CUNEIFORM NUMERIC SIGN THREE SHARU..CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12436..12437 ; 3.0 ; ; 3 # Nl [2] CUNEIFORM NUMERIC SIGN THREE BURU..CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-1243A..1243B ; 3.0 ; ; 3 # Nl [2] CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16..CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1244B ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE ASH TENU
-12451 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE BAN2
-1D362 ; 3.0 ; ; 3 # No COUNTING ROD UNIT DIGIT THREE
-1D7D1 ; 3.0 ; ; 3 # Nd MATHEMATICAL BOLD DIGIT THREE
-1D7DB ; 3.0 ; ; 3 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7E5 ; 3.0 ; ; 3 # Nd MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7EF ; 3.0 ; ; 3 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F9 ; 3.0 ; ; 3 # Nd MATHEMATICAL MONOSPACE DIGIT THREE
-1F104 ; 3.0 ; ; 3 # No DIGIT THREE COMMA
-20AFD ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-20AFD
-20B19 ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-20B19
-22998 ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-22998
-23B1B ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-23B1B
-
-# Total code points: 96
-
-# ================================================
-
-0F2D ; 3.5 ; ; 7/2 # No TIBETAN DIGIT HALF FOUR
-
-# Total code points: 1
-
-# ================================================
-
-0034 ; 4.0 ; ; 4 # Nd DIGIT FOUR
-0664 ; 4.0 ; ; 4 # Nd ARABIC-INDIC DIGIT FOUR
-06F4 ; 4.0 ; ; 4 # Nd EXTENDED ARABIC-INDIC DIGIT FOUR
-07C4 ; 4.0 ; ; 4 # Nd NKO DIGIT FOUR
-096A ; 4.0 ; ; 4 # Nd DEVANAGARI DIGIT FOUR
-09EA ; 4.0 ; ; 4 # Nd BENGALI DIGIT FOUR
-0A6A ; 4.0 ; ; 4 # Nd GURMUKHI DIGIT FOUR
-0AEA ; 4.0 ; ; 4 # Nd GUJARATI DIGIT FOUR
-0B6A ; 4.0 ; ; 4 # Nd ORIYA DIGIT FOUR
-0BEA ; 4.0 ; ; 4 # Nd TAMIL DIGIT FOUR
-0C6A ; 4.0 ; ; 4 # Nd TELUGU DIGIT FOUR
-0CEA ; 4.0 ; ; 4 # Nd KANNADA DIGIT FOUR
-0D6A ; 4.0 ; ; 4 # Nd MALAYALAM DIGIT FOUR
-0E54 ; 4.0 ; ; 4 # Nd THAI DIGIT FOUR
-0ED4 ; 4.0 ; ; 4 # Nd LAO DIGIT FOUR
-0F24 ; 4.0 ; ; 4 # Nd TIBETAN DIGIT FOUR
-1044 ; 4.0 ; ; 4 # Nd MYANMAR DIGIT FOUR
-1094 ; 4.0 ; ; 4 # Nd MYANMAR SHAN DIGIT FOUR
-136C ; 4.0 ; ; 4 # No ETHIOPIC DIGIT FOUR
-17E4 ; 4.0 ; ; 4 # Nd KHMER DIGIT FOUR
-17F4 ; 4.0 ; ; 4 # No KHMER SYMBOL LEK ATTAK BUON
-1814 ; 4.0 ; ; 4 # Nd MONGOLIAN DIGIT FOUR
-194A ; 4.0 ; ; 4 # Nd LIMBU DIGIT FOUR
-19D4 ; 4.0 ; ; 4 # Nd NEW TAI LUE DIGIT FOUR
-1A84 ; 4.0 ; ; 4 # Nd TAI THAM HORA DIGIT FOUR
-1A94 ; 4.0 ; ; 4 # Nd TAI THAM THAM DIGIT FOUR
-1B54 ; 4.0 ; ; 4 # Nd BALINESE DIGIT FOUR
-1BB4 ; 4.0 ; ; 4 # Nd SUNDANESE DIGIT FOUR
-1C44 ; 4.0 ; ; 4 # Nd LEPCHA DIGIT FOUR
-1C54 ; 4.0 ; ; 4 # Nd OL CHIKI DIGIT FOUR
-2074 ; 4.0 ; ; 4 # No SUPERSCRIPT FOUR
-2084 ; 4.0 ; ; 4 # No SUBSCRIPT FOUR
-2163 ; 4.0 ; ; 4 # Nl ROMAN NUMERAL FOUR
-2173 ; 4.0 ; ; 4 # Nl SMALL ROMAN NUMERAL FOUR
-2463 ; 4.0 ; ; 4 # No CIRCLED DIGIT FOUR
-2477 ; 4.0 ; ; 4 # No PARENTHESIZED DIGIT FOUR
-248B ; 4.0 ; ; 4 # No DIGIT FOUR FULL STOP
-24F8 ; 4.0 ; ; 4 # No DOUBLE CIRCLED DIGIT FOUR
-2779 ; 4.0 ; ; 4 # No DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-2783 ; 4.0 ; ; 4 # No DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-278D ; 4.0 ; ; 4 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-3024 ; 4.0 ; ; 4 # Nl HANGZHOU NUMERAL FOUR
-3195 ; 4.0 ; ; 4 # No IDEOGRAPHIC ANNOTATION FOUR MARK
-3223 ; 4.0 ; ; 4 # No PARENTHESIZED IDEOGRAPH FOUR
-3283 ; 4.0 ; ; 4 # No CIRCLED IDEOGRAPH FOUR
-4E96 ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-4E96
-56DB ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-56DB
-8086 ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-8086
-A624 ; 4.0 ; ; 4 # Nd VAI DIGIT FOUR
-A6E9 ; 4.0 ; ; 4 # Nl BAMUM LETTER KPA
-A8D4 ; 4.0 ; ; 4 # Nd SAURASHTRA DIGIT FOUR
-A904 ; 4.0 ; ; 4 # Nd KAYAH LI DIGIT FOUR
-A9D4 ; 4.0 ; ; 4 # Nd JAVANESE DIGIT FOUR
-AA54 ; 4.0 ; ; 4 # Nd CHAM DIGIT FOUR
-ABF4 ; 4.0 ; ; 4 # Nd MEETEI MAYEK DIGIT FOUR
-FF14 ; 4.0 ; ; 4 # Nd FULLWIDTH DIGIT FOUR
-1010A ; 4.0 ; ; 4 # No AEGEAN NUMBER FOUR
-104A4 ; 4.0 ; ; 4 # Nd OSMANYA DIGIT FOUR
-10A43 ; 4.0 ; ; 4 # No KHAROSHTHI DIGIT FOUR
-10B5B ; 4.0 ; ; 4 # No INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B7B ; 4.0 ; ; 4 # No INSCRIPTIONAL PAHLAVI NUMBER FOUR
-10E63 ; 4.0 ; ; 4 # No RUMI DIGIT FOUR
-12402 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR ASH
-12409 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR DISH
-1240F ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR U
-12418 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR GESH2
-12421 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR GESHU
-12426 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12430 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR SHARU
-12438 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR BURU
-1243C..1243F ; 4.0 ; ; 4 # Nl [4] CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU..CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-1244C ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-12452..12453 ; 4.0 ; ; 4 # Nl [2] CUNEIFORM NUMERIC SIGN FOUR BAN2..CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-1D363 ; 4.0 ; ; 4 # No COUNTING ROD UNIT DIGIT FOUR
-1D7D2 ; 4.0 ; ; 4 # Nd MATHEMATICAL BOLD DIGIT FOUR
-1D7DC ; 4.0 ; ; 4 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7E6 ; 4.0 ; ; 4 # Nd MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7F0 ; 4.0 ; ; 4 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7FA ; 4.0 ; ; 4 # Nd MATHEMATICAL MONOSPACE DIGIT FOUR
-1F105 ; 4.0 ; ; 4 # No DIGIT FOUR COMMA
-20064 ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-20064
-200E2 ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-200E2
-2626D ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-2626D
-
-# Total code points: 87
-
-# ================================================
-
-0F2E ; 4.5 ; ; 9/2 # No TIBETAN DIGIT HALF FIVE
-
-# Total code points: 1
-
-# ================================================
-
-0035 ; 5.0 ; ; 5 # Nd DIGIT FIVE
-0665 ; 5.0 ; ; 5 # Nd ARABIC-INDIC DIGIT FIVE
-06F5 ; 5.0 ; ; 5 # Nd EXTENDED ARABIC-INDIC DIGIT FIVE
-07C5 ; 5.0 ; ; 5 # Nd NKO DIGIT FIVE
-096B ; 5.0 ; ; 5 # Nd DEVANAGARI DIGIT FIVE
-09EB ; 5.0 ; ; 5 # Nd BENGALI DIGIT FIVE
-0A6B ; 5.0 ; ; 5 # Nd GURMUKHI DIGIT FIVE
-0AEB ; 5.0 ; ; 5 # Nd GUJARATI DIGIT FIVE
-0B6B ; 5.0 ; ; 5 # Nd ORIYA DIGIT FIVE
-0BEB ; 5.0 ; ; 5 # Nd TAMIL DIGIT FIVE
-0C6B ; 5.0 ; ; 5 # Nd TELUGU DIGIT FIVE
-0CEB ; 5.0 ; ; 5 # Nd KANNADA DIGIT FIVE
-0D6B ; 5.0 ; ; 5 # Nd MALAYALAM DIGIT FIVE
-0E55 ; 5.0 ; ; 5 # Nd THAI DIGIT FIVE
-0ED5 ; 5.0 ; ; 5 # Nd LAO DIGIT FIVE
-0F25 ; 5.0 ; ; 5 # Nd TIBETAN DIGIT FIVE
-1045 ; 5.0 ; ; 5 # Nd MYANMAR DIGIT FIVE
-1095 ; 5.0 ; ; 5 # Nd MYANMAR SHAN DIGIT FIVE
-136D ; 5.0 ; ; 5 # No ETHIOPIC DIGIT FIVE
-17E5 ; 5.0 ; ; 5 # Nd KHMER DIGIT FIVE
-17F5 ; 5.0 ; ; 5 # No KHMER SYMBOL LEK ATTAK PRAM
-1815 ; 5.0 ; ; 5 # Nd MONGOLIAN DIGIT FIVE
-194B ; 5.0 ; ; 5 # Nd LIMBU DIGIT FIVE
-19D5 ; 5.0 ; ; 5 # Nd NEW TAI LUE DIGIT FIVE
-1A85 ; 5.0 ; ; 5 # Nd TAI THAM HORA DIGIT FIVE
-1A95 ; 5.0 ; ; 5 # Nd TAI THAM THAM DIGIT FIVE
-1B55 ; 5.0 ; ; 5 # Nd BALINESE DIGIT FIVE
-1BB5 ; 5.0 ; ; 5 # Nd SUNDANESE DIGIT FIVE
-1C45 ; 5.0 ; ; 5 # Nd LEPCHA DIGIT FIVE
-1C55 ; 5.0 ; ; 5 # Nd OL CHIKI DIGIT FIVE
-2075 ; 5.0 ; ; 5 # No SUPERSCRIPT FIVE
-2085 ; 5.0 ; ; 5 # No SUBSCRIPT FIVE
-2164 ; 5.0 ; ; 5 # Nl ROMAN NUMERAL FIVE
-2174 ; 5.0 ; ; 5 # Nl SMALL ROMAN NUMERAL FIVE
-2464 ; 5.0 ; ; 5 # No CIRCLED DIGIT FIVE
-2478 ; 5.0 ; ; 5 # No PARENTHESIZED DIGIT FIVE
-248C ; 5.0 ; ; 5 # No DIGIT FIVE FULL STOP
-24F9 ; 5.0 ; ; 5 # No DOUBLE CIRCLED DIGIT FIVE
-277A ; 5.0 ; ; 5 # No DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-2784 ; 5.0 ; ; 5 # No DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-278E ; 5.0 ; ; 5 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-3025 ; 5.0 ; ; 5 # Nl HANGZHOU NUMERAL FIVE
-3224 ; 5.0 ; ; 5 # No PARENTHESIZED IDEOGRAPH FIVE
-3284 ; 5.0 ; ; 5 # No CIRCLED IDEOGRAPH FIVE
-3405 ; 5.0 ; ; 5 # Lo CJK UNIFIED IDEOGRAPH-3405
-382A ; 5.0 ; ; 5 # Lo CJK UNIFIED IDEOGRAPH-382A
-4E94 ; 5.0 ; ; 5 # Lo CJK UNIFIED IDEOGRAPH-4E94
-4F0D ; 5.0 ; ; 5 # Lo CJK UNIFIED IDEOGRAPH-4F0D
-A625 ; 5.0 ; ; 5 # Nd VAI DIGIT FIVE
-A6EA ; 5.0 ; ; 5 # Nl BAMUM LETTER TEN
-A8D5 ; 5.0 ; ; 5 # Nd SAURASHTRA DIGIT FIVE
-A905 ; 5.0 ; ; 5 # Nd KAYAH LI DIGIT FIVE
-A9D5 ; 5.0 ; ; 5 # Nd JAVANESE DIGIT FIVE
-AA55 ; 5.0 ; ; 5 # Nd CHAM DIGIT FIVE
-ABF5 ; 5.0 ; ; 5 # Nd MEETEI MAYEK DIGIT FIVE
-FF15 ; 5.0 ; ; 5 # Nd FULLWIDTH DIGIT FIVE
-1010B ; 5.0 ; ; 5 # No AEGEAN NUMBER FIVE
-10143 ; 5.0 ; ; 5 # Nl GREEK ACROPHONIC ATTIC FIVE
-10148 ; 5.0 ; ; 5 # Nl GREEK ACROPHONIC ATTIC FIVE TALENTS
-1014F ; 5.0 ; ; 5 # Nl GREEK ACROPHONIC ATTIC FIVE STATERS
-1015F ; 5.0 ; ; 5 # Nl GREEK ACROPHONIC TROEZENIAN FIVE
-10173 ; 5.0 ; ; 5 # Nl GREEK ACROPHONIC DELPHIC FIVE MNAS
-10321 ; 5.0 ; ; 5 # No OLD ITALIC NUMERAL FIVE
-104A5 ; 5.0 ; ; 5 # Nd OSMANYA DIGIT FIVE
-10E64 ; 5.0 ; ; 5 # No RUMI DIGIT FIVE
-12403 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE ASH
-1240A ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE DISH
-12410 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE U
-12419 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE GESH2
-12422 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE GESHU
-12427 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12431 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE SHARU
-12439 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE BURU
-1244D ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-12454..12455 ; 5.0 ; ; 5 # Nl [2] CUNEIFORM NUMERIC SIGN FIVE BAN2..CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-1D364 ; 5.0 ; ; 5 # No COUNTING ROD UNIT DIGIT FIVE
-1D7D3 ; 5.0 ; ; 5 # Nd MATHEMATICAL BOLD DIGIT FIVE
-1D7DD ; 5.0 ; ; 5 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7E7 ; 5.0 ; ; 5 # Nd MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7F1 ; 5.0 ; ; 5 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7FB ; 5.0 ; ; 5 # Nd MATHEMATICAL MONOSPACE DIGIT FIVE
-1F106 ; 5.0 ; ; 5 # No DIGIT FIVE COMMA
-20121 ; 5.0 ; ; 5 # Lo CJK UNIFIED IDEOGRAPH-20121
-
-# Total code points: 84
-
-# ================================================
-
-0F2F ; 5.5 ; ; 11/2 # No TIBETAN DIGIT HALF SIX
-
-# Total code points: 1
-
-# ================================================
-
-0036 ; 6.0 ; ; 6 # Nd DIGIT SIX
-0666 ; 6.0 ; ; 6 # Nd ARABIC-INDIC DIGIT SIX
-06F6 ; 6.0 ; ; 6 # Nd EXTENDED ARABIC-INDIC DIGIT SIX
-07C6 ; 6.0 ; ; 6 # Nd NKO DIGIT SIX
-096C ; 6.0 ; ; 6 # Nd DEVANAGARI DIGIT SIX
-09EC ; 6.0 ; ; 6 # Nd BENGALI DIGIT SIX
-0A6C ; 6.0 ; ; 6 # Nd GURMUKHI DIGIT SIX
-0AEC ; 6.0 ; ; 6 # Nd GUJARATI DIGIT SIX
-0B6C ; 6.0 ; ; 6 # Nd ORIYA DIGIT SIX
-0BEC ; 6.0 ; ; 6 # Nd TAMIL DIGIT SIX
-0C6C ; 6.0 ; ; 6 # Nd TELUGU DIGIT SIX
-0CEC ; 6.0 ; ; 6 # Nd KANNADA DIGIT SIX
-0D6C ; 6.0 ; ; 6 # Nd MALAYALAM DIGIT SIX
-0E56 ; 6.0 ; ; 6 # Nd THAI DIGIT SIX
-0ED6 ; 6.0 ; ; 6 # Nd LAO DIGIT SIX
-0F26 ; 6.0 ; ; 6 # Nd TIBETAN DIGIT SIX
-1046 ; 6.0 ; ; 6 # Nd MYANMAR DIGIT SIX
-1096 ; 6.0 ; ; 6 # Nd MYANMAR SHAN DIGIT SIX
-136E ; 6.0 ; ; 6 # No ETHIOPIC DIGIT SIX
-17E6 ; 6.0 ; ; 6 # Nd KHMER DIGIT SIX
-17F6 ; 6.0 ; ; 6 # No KHMER SYMBOL LEK ATTAK PRAM-MUOY
-1816 ; 6.0 ; ; 6 # Nd MONGOLIAN DIGIT SIX
-194C ; 6.0 ; ; 6 # Nd LIMBU DIGIT SIX
-19D6 ; 6.0 ; ; 6 # Nd NEW TAI LUE DIGIT SIX
-1A86 ; 6.0 ; ; 6 # Nd TAI THAM HORA DIGIT SIX
-1A96 ; 6.0 ; ; 6 # Nd TAI THAM THAM DIGIT SIX
-1B56 ; 6.0 ; ; 6 # Nd BALINESE DIGIT SIX
-1BB6 ; 6.0 ; ; 6 # Nd SUNDANESE DIGIT SIX
-1C46 ; 6.0 ; ; 6 # Nd LEPCHA DIGIT SIX
-1C56 ; 6.0 ; ; 6 # Nd OL CHIKI DIGIT SIX
-2076 ; 6.0 ; ; 6 # No SUPERSCRIPT SIX
-2086 ; 6.0 ; ; 6 # No SUBSCRIPT SIX
-2165 ; 6.0 ; ; 6 # Nl ROMAN NUMERAL SIX
-2175 ; 6.0 ; ; 6 # Nl SMALL ROMAN NUMERAL SIX
-2185 ; 6.0 ; ; 6 # Nl ROMAN NUMERAL SIX LATE FORM
-2465 ; 6.0 ; ; 6 # No CIRCLED DIGIT SIX
-2479 ; 6.0 ; ; 6 # No PARENTHESIZED DIGIT SIX
-248D ; 6.0 ; ; 6 # No DIGIT SIX FULL STOP
-24FA ; 6.0 ; ; 6 # No DOUBLE CIRCLED DIGIT SIX
-277B ; 6.0 ; ; 6 # No DINGBAT NEGATIVE CIRCLED DIGIT SIX
-2785 ; 6.0 ; ; 6 # No DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-278F ; 6.0 ; ; 6 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-3026 ; 6.0 ; ; 6 # Nl HANGZHOU NUMERAL SIX
-3225 ; 6.0 ; ; 6 # No PARENTHESIZED IDEOGRAPH SIX
-3285 ; 6.0 ; ; 6 # No CIRCLED IDEOGRAPH SIX
-516D ; 6.0 ; ; 6 # Lo CJK UNIFIED IDEOGRAPH-516D
-9646 ; 6.0 ; ; 6 # Lo CJK UNIFIED IDEOGRAPH-9646
-9678 ; 6.0 ; ; 6 # Lo CJK UNIFIED IDEOGRAPH-9678
-A626 ; 6.0 ; ; 6 # Nd VAI DIGIT SIX
-A6EB ; 6.0 ; ; 6 # Nl BAMUM LETTER NTUU
-A8D6 ; 6.0 ; ; 6 # Nd SAURASHTRA DIGIT SIX
-A906 ; 6.0 ; ; 6 # Nd KAYAH LI DIGIT SIX
-A9D6 ; 6.0 ; ; 6 # Nd JAVANESE DIGIT SIX
-AA56 ; 6.0 ; ; 6 # Nd CHAM DIGIT SIX
-ABF6 ; 6.0 ; ; 6 # Nd MEETEI MAYEK DIGIT SIX
-F9D1 ; 6.0 ; ; 6 # Lo CJK COMPATIBILITY IDEOGRAPH-F9D1
-F9D3 ; 6.0 ; ; 6 # Lo CJK COMPATIBILITY IDEOGRAPH-F9D3
-FF16 ; 6.0 ; ; 6 # Nd FULLWIDTH DIGIT SIX
-1010C ; 6.0 ; ; 6 # No AEGEAN NUMBER SIX
-104A6 ; 6.0 ; ; 6 # Nd OSMANYA DIGIT SIX
-10E65 ; 6.0 ; ; 6 # No RUMI DIGIT SIX
-12404 ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX ASH
-1240B ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX DISH
-12411 ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX U
-1241A ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX GESH2
-12428 ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX SHAR2
-12440 ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-1244E ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1D365 ; 6.0 ; ; 6 # No COUNTING ROD UNIT DIGIT SIX
-1D7D4 ; 6.0 ; ; 6 # Nd MATHEMATICAL BOLD DIGIT SIX
-1D7DE ; 6.0 ; ; 6 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7E8 ; 6.0 ; ; 6 # Nd MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7F2 ; 6.0 ; ; 6 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7FC ; 6.0 ; ; 6 # Nd MATHEMATICAL MONOSPACE DIGIT SIX
-1F107 ; 6.0 ; ; 6 # No DIGIT SIX COMMA
-20AEA ; 6.0 ; ; 6 # Lo CJK UNIFIED IDEOGRAPH-20AEA
-
-# Total code points: 76
-
-# ================================================
-
-0F30 ; 6.5 ; ; 13/2 # No TIBETAN DIGIT HALF SEVEN
-
-# Total code points: 1
-
-# ================================================
-
-0037 ; 7.0 ; ; 7 # Nd DIGIT SEVEN
-0667 ; 7.0 ; ; 7 # Nd ARABIC-INDIC DIGIT SEVEN
-06F7 ; 7.0 ; ; 7 # Nd EXTENDED ARABIC-INDIC DIGIT SEVEN
-07C7 ; 7.0 ; ; 7 # Nd NKO DIGIT SEVEN
-096D ; 7.0 ; ; 7 # Nd DEVANAGARI DIGIT SEVEN
-09ED ; 7.0 ; ; 7 # Nd BENGALI DIGIT SEVEN
-0A6D ; 7.0 ; ; 7 # Nd GURMUKHI DIGIT SEVEN
-0AED ; 7.0 ; ; 7 # Nd GUJARATI DIGIT SEVEN
-0B6D ; 7.0 ; ; 7 # Nd ORIYA DIGIT SEVEN
-0BED ; 7.0 ; ; 7 # Nd TAMIL DIGIT SEVEN
-0C6D ; 7.0 ; ; 7 # Nd TELUGU DIGIT SEVEN
-0CED ; 7.0 ; ; 7 # Nd KANNADA DIGIT SEVEN
-0D6D ; 7.0 ; ; 7 # Nd MALAYALAM DIGIT SEVEN
-0E57 ; 7.0 ; ; 7 # Nd THAI DIGIT SEVEN
-0ED7 ; 7.0 ; ; 7 # Nd LAO DIGIT SEVEN
-0F27 ; 7.0 ; ; 7 # Nd TIBETAN DIGIT SEVEN
-1047 ; 7.0 ; ; 7 # Nd MYANMAR DIGIT SEVEN
-1097 ; 7.0 ; ; 7 # Nd MYANMAR SHAN DIGIT SEVEN
-136F ; 7.0 ; ; 7 # No ETHIOPIC DIGIT SEVEN
-17E7 ; 7.0 ; ; 7 # Nd KHMER DIGIT SEVEN
-17F7 ; 7.0 ; ; 7 # No KHMER SYMBOL LEK ATTAK PRAM-PII
-1817 ; 7.0 ; ; 7 # Nd MONGOLIAN DIGIT SEVEN
-194D ; 7.0 ; ; 7 # Nd LIMBU DIGIT SEVEN
-19D7 ; 7.0 ; ; 7 # Nd NEW TAI LUE DIGIT SEVEN
-1A87 ; 7.0 ; ; 7 # Nd TAI THAM HORA DIGIT SEVEN
-1A97 ; 7.0 ; ; 7 # Nd TAI THAM THAM DIGIT SEVEN
-1B57 ; 7.0 ; ; 7 # Nd BALINESE DIGIT SEVEN
-1BB7 ; 7.0 ; ; 7 # Nd SUNDANESE DIGIT SEVEN
-1C47 ; 7.0 ; ; 7 # Nd LEPCHA DIGIT SEVEN
-1C57 ; 7.0 ; ; 7 # Nd OL CHIKI DIGIT SEVEN
-2077 ; 7.0 ; ; 7 # No SUPERSCRIPT SEVEN
-2087 ; 7.0 ; ; 7 # No SUBSCRIPT SEVEN
-2166 ; 7.0 ; ; 7 # Nl ROMAN NUMERAL SEVEN
-2176 ; 7.0 ; ; 7 # Nl SMALL ROMAN NUMERAL SEVEN
-2466 ; 7.0 ; ; 7 # No CIRCLED DIGIT SEVEN
-247A ; 7.0 ; ; 7 # No PARENTHESIZED DIGIT SEVEN
-248E ; 7.0 ; ; 7 # No DIGIT SEVEN FULL STOP
-24FB ; 7.0 ; ; 7 # No DOUBLE CIRCLED DIGIT SEVEN
-277C ; 7.0 ; ; 7 # No DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-2786 ; 7.0 ; ; 7 # No DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2790 ; 7.0 ; ; 7 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-3027 ; 7.0 ; ; 7 # Nl HANGZHOU NUMERAL SEVEN
-3226 ; 7.0 ; ; 7 # No PARENTHESIZED IDEOGRAPH SEVEN
-3286 ; 7.0 ; ; 7 # No CIRCLED IDEOGRAPH SEVEN
-3B4D ; 7.0 ; ; 7 # Lo CJK UNIFIED IDEOGRAPH-3B4D
-4E03 ; 7.0 ; ; 7 # Lo CJK UNIFIED IDEOGRAPH-4E03
-67D2 ; 7.0 ; ; 7 # Lo CJK UNIFIED IDEOGRAPH-67D2
-6F06 ; 7.0 ; ; 7 # Lo CJK UNIFIED IDEOGRAPH-6F06
-A627 ; 7.0 ; ; 7 # Nd VAI DIGIT SEVEN
-A6EC ; 7.0 ; ; 7 # Nl BAMUM LETTER SAMBA
-A8D7 ; 7.0 ; ; 7 # Nd SAURASHTRA DIGIT SEVEN
-A907 ; 7.0 ; ; 7 # Nd KAYAH LI DIGIT SEVEN
-A9D7 ; 7.0 ; ; 7 # Nd JAVANESE DIGIT SEVEN
-AA57 ; 7.0 ; ; 7 # Nd CHAM DIGIT SEVEN
-ABF7 ; 7.0 ; ; 7 # Nd MEETEI MAYEK DIGIT SEVEN
-FF17 ; 7.0 ; ; 7 # Nd FULLWIDTH DIGIT SEVEN
-1010D ; 7.0 ; ; 7 # No AEGEAN NUMBER SEVEN
-104A7 ; 7.0 ; ; 7 # Nd OSMANYA DIGIT SEVEN
-10E66 ; 7.0 ; ; 7 # No RUMI DIGIT SEVEN
-12405 ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN ASH
-1240C ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN DISH
-12412 ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN U
-1241B ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN GESH2
-12429 ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-12441..12443 ; 7.0 ; ; 7 # Nl [3] CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3..CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-1D366 ; 7.0 ; ; 7 # No COUNTING ROD UNIT DIGIT SEVEN
-1D7D5 ; 7.0 ; ; 7 # Nd MATHEMATICAL BOLD DIGIT SEVEN
-1D7DF ; 7.0 ; ; 7 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E9 ; 7.0 ; ; 7 # Nd MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7F3 ; 7.0 ; ; 7 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7FD ; 7.0 ; ; 7 # Nd MATHEMATICAL MONOSPACE DIGIT SEVEN
-1F108 ; 7.0 ; ; 7 # No DIGIT SEVEN COMMA
-20001 ; 7.0 ; ; 7 # Lo CJK UNIFIED IDEOGRAPH-20001
-
-# Total code points: 75
-
-# ================================================
-
-0F31 ; 7.5 ; ; 15/2 # No TIBETAN DIGIT HALF EIGHT
-
-# Total code points: 1
-
-# ================================================
-
-0038 ; 8.0 ; ; 8 # Nd DIGIT EIGHT
-0668 ; 8.0 ; ; 8 # Nd ARABIC-INDIC DIGIT EIGHT
-06F8 ; 8.0 ; ; 8 # Nd EXTENDED ARABIC-INDIC DIGIT EIGHT
-07C8 ; 8.0 ; ; 8 # Nd NKO DIGIT EIGHT
-096E ; 8.0 ; ; 8 # Nd DEVANAGARI DIGIT EIGHT
-09EE ; 8.0 ; ; 8 # Nd BENGALI DIGIT EIGHT
-0A6E ; 8.0 ; ; 8 # Nd GURMUKHI DIGIT EIGHT
-0AEE ; 8.0 ; ; 8 # Nd GUJARATI DIGIT EIGHT
-0B6E ; 8.0 ; ; 8 # Nd ORIYA DIGIT EIGHT
-0BEE ; 8.0 ; ; 8 # Nd TAMIL DIGIT EIGHT
-0C6E ; 8.0 ; ; 8 # Nd TELUGU DIGIT EIGHT
-0CEE ; 8.0 ; ; 8 # Nd KANNADA DIGIT EIGHT
-0D6E ; 8.0 ; ; 8 # Nd MALAYALAM DIGIT EIGHT
-0E58 ; 8.0 ; ; 8 # Nd THAI DIGIT EIGHT
-0ED8 ; 8.0 ; ; 8 # Nd LAO DIGIT EIGHT
-0F28 ; 8.0 ; ; 8 # Nd TIBETAN DIGIT EIGHT
-1048 ; 8.0 ; ; 8 # Nd MYANMAR DIGIT EIGHT
-1098 ; 8.0 ; ; 8 # Nd MYANMAR SHAN DIGIT EIGHT
-1370 ; 8.0 ; ; 8 # No ETHIOPIC DIGIT EIGHT
-17E8 ; 8.0 ; ; 8 # Nd KHMER DIGIT EIGHT
-17F8 ; 8.0 ; ; 8 # No KHMER SYMBOL LEK ATTAK PRAM-BEI
-1818 ; 8.0 ; ; 8 # Nd MONGOLIAN DIGIT EIGHT
-194E ; 8.0 ; ; 8 # Nd LIMBU DIGIT EIGHT
-19D8 ; 8.0 ; ; 8 # Nd NEW TAI LUE DIGIT EIGHT
-1A88 ; 8.0 ; ; 8 # Nd TAI THAM HORA DIGIT EIGHT
-1A98 ; 8.0 ; ; 8 # Nd TAI THAM THAM DIGIT EIGHT
-1B58 ; 8.0 ; ; 8 # Nd BALINESE DIGIT EIGHT
-1BB8 ; 8.0 ; ; 8 # Nd SUNDANESE DIGIT EIGHT
-1C48 ; 8.0 ; ; 8 # Nd LEPCHA DIGIT EIGHT
-1C58 ; 8.0 ; ; 8 # Nd OL CHIKI DIGIT EIGHT
-2078 ; 8.0 ; ; 8 # No SUPERSCRIPT EIGHT
-2088 ; 8.0 ; ; 8 # No SUBSCRIPT EIGHT
-2167 ; 8.0 ; ; 8 # Nl ROMAN NUMERAL EIGHT
-2177 ; 8.0 ; ; 8 # Nl SMALL ROMAN NUMERAL EIGHT
-2467 ; 8.0 ; ; 8 # No CIRCLED DIGIT EIGHT
-247B ; 8.0 ; ; 8 # No PARENTHESIZED DIGIT EIGHT
-248F ; 8.0 ; ; 8 # No DIGIT EIGHT FULL STOP
-24FC ; 8.0 ; ; 8 # No DOUBLE CIRCLED DIGIT EIGHT
-277D ; 8.0 ; ; 8 # No DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-2787 ; 8.0 ; ; 8 # No DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2791 ; 8.0 ; ; 8 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-3028 ; 8.0 ; ; 8 # Nl HANGZHOU NUMERAL EIGHT
-3227 ; 8.0 ; ; 8 # No PARENTHESIZED IDEOGRAPH EIGHT
-3287 ; 8.0 ; ; 8 # No CIRCLED IDEOGRAPH EIGHT
-516B ; 8.0 ; ; 8 # Lo CJK UNIFIED IDEOGRAPH-516B
-634C ; 8.0 ; ; 8 # Lo CJK UNIFIED IDEOGRAPH-634C
-A628 ; 8.0 ; ; 8 # Nd VAI DIGIT EIGHT
-A6ED ; 8.0 ; ; 8 # Nl BAMUM LETTER FAAMAE
-A8D8 ; 8.0 ; ; 8 # Nd SAURASHTRA DIGIT EIGHT
-A908 ; 8.0 ; ; 8 # Nd KAYAH LI DIGIT EIGHT
-A9D8 ; 8.0 ; ; 8 # Nd JAVANESE DIGIT EIGHT
-AA58 ; 8.0 ; ; 8 # Nd CHAM DIGIT EIGHT
-ABF8 ; 8.0 ; ; 8 # Nd MEETEI MAYEK DIGIT EIGHT
-FF18 ; 8.0 ; ; 8 # Nd FULLWIDTH DIGIT EIGHT
-1010E ; 8.0 ; ; 8 # No AEGEAN NUMBER EIGHT
-104A8 ; 8.0 ; ; 8 # Nd OSMANYA DIGIT EIGHT
-10E67 ; 8.0 ; ; 8 # No RUMI DIGIT EIGHT
-12406 ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT ASH
-1240D ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT DISH
-12413 ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT U
-1241C ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1242A ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-12444..12445 ; 8.0 ; ; 8 # Nl [2] CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU..CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-1D367 ; 8.0 ; ; 8 # No COUNTING ROD UNIT DIGIT EIGHT
-1D7D6 ; 8.0 ; ; 8 # Nd MATHEMATICAL BOLD DIGIT EIGHT
-1D7E0 ; 8.0 ; ; 8 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7EA ; 8.0 ; ; 8 # Nd MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7F4 ; 8.0 ; ; 8 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7FE ; 8.0 ; ; 8 # Nd MATHEMATICAL MONOSPACE DIGIT EIGHT
-1F109 ; 8.0 ; ; 8 # No DIGIT EIGHT COMMA
-
-# Total code points: 71
-
-# ================================================
-
-0F32 ; 8.5 ; ; 17/2 # No TIBETAN DIGIT HALF NINE
-
-# Total code points: 1
-
-# ================================================
-
-0039 ; 9.0 ; ; 9 # Nd DIGIT NINE
-0669 ; 9.0 ; ; 9 # Nd ARABIC-INDIC DIGIT NINE
-06F9 ; 9.0 ; ; 9 # Nd EXTENDED ARABIC-INDIC DIGIT NINE
-07C9 ; 9.0 ; ; 9 # Nd NKO DIGIT NINE
-096F ; 9.0 ; ; 9 # Nd DEVANAGARI DIGIT NINE
-09EF ; 9.0 ; ; 9 # Nd BENGALI DIGIT NINE
-0A6F ; 9.0 ; ; 9 # Nd GURMUKHI DIGIT NINE
-0AEF ; 9.0 ; ; 9 # Nd GUJARATI DIGIT NINE
-0B6F ; 9.0 ; ; 9 # Nd ORIYA DIGIT NINE
-0BEF ; 9.0 ; ; 9 # Nd TAMIL DIGIT NINE
-0C6F ; 9.0 ; ; 9 # Nd TELUGU DIGIT NINE
-0CEF ; 9.0 ; ; 9 # Nd KANNADA DIGIT NINE
-0D6F ; 9.0 ; ; 9 # Nd MALAYALAM DIGIT NINE
-0E59 ; 9.0 ; ; 9 # Nd THAI DIGIT NINE
-0ED9 ; 9.0 ; ; 9 # Nd LAO DIGIT NINE
-0F29 ; 9.0 ; ; 9 # Nd TIBETAN DIGIT NINE
-1049 ; 9.0 ; ; 9 # Nd MYANMAR DIGIT NINE
-1099 ; 9.0 ; ; 9 # Nd MYANMAR SHAN DIGIT NINE
-1371 ; 9.0 ; ; 9 # No ETHIOPIC DIGIT NINE
-17E9 ; 9.0 ; ; 9 # Nd KHMER DIGIT NINE
-17F9 ; 9.0 ; ; 9 # No KHMER SYMBOL LEK ATTAK PRAM-BUON
-1819 ; 9.0 ; ; 9 # Nd MONGOLIAN DIGIT NINE
-194F ; 9.0 ; ; 9 # Nd LIMBU DIGIT NINE
-19D9 ; 9.0 ; ; 9 # Nd NEW TAI LUE DIGIT NINE
-1A89 ; 9.0 ; ; 9 # Nd TAI THAM HORA DIGIT NINE
-1A99 ; 9.0 ; ; 9 # Nd TAI THAM THAM DIGIT NINE
-1B59 ; 9.0 ; ; 9 # Nd BALINESE DIGIT NINE
-1BB9 ; 9.0 ; ; 9 # Nd SUNDANESE DIGIT NINE
-1C49 ; 9.0 ; ; 9 # Nd LEPCHA DIGIT NINE
-1C59 ; 9.0 ; ; 9 # Nd OL CHIKI DIGIT NINE
-2079 ; 9.0 ; ; 9 # No SUPERSCRIPT NINE
-2089 ; 9.0 ; ; 9 # No SUBSCRIPT NINE
-2168 ; 9.0 ; ; 9 # Nl ROMAN NUMERAL NINE
-2178 ; 9.0 ; ; 9 # Nl SMALL ROMAN NUMERAL NINE
-2468 ; 9.0 ; ; 9 # No CIRCLED DIGIT NINE
-247C ; 9.0 ; ; 9 # No PARENTHESIZED DIGIT NINE
-2490 ; 9.0 ; ; 9 # No DIGIT NINE FULL STOP
-24FD ; 9.0 ; ; 9 # No DOUBLE CIRCLED DIGIT NINE
-277E ; 9.0 ; ; 9 # No DINGBAT NEGATIVE CIRCLED DIGIT NINE
-2788 ; 9.0 ; ; 9 # No DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2792 ; 9.0 ; ; 9 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-3029 ; 9.0 ; ; 9 # Nl HANGZHOU NUMERAL NINE
-3228 ; 9.0 ; ; 9 # No PARENTHESIZED IDEOGRAPH NINE
-3288 ; 9.0 ; ; 9 # No CIRCLED IDEOGRAPH NINE
-4E5D ; 9.0 ; ; 9 # Lo CJK UNIFIED IDEOGRAPH-4E5D
-5EFE ; 9.0 ; ; 9 # Lo CJK UNIFIED IDEOGRAPH-5EFE
-7396 ; 9.0 ; ; 9 # Lo CJK UNIFIED IDEOGRAPH-7396
-A629 ; 9.0 ; ; 9 # Nd VAI DIGIT NINE
-A6EE ; 9.0 ; ; 9 # Nl BAMUM LETTER KOVUU
-A8D9 ; 9.0 ; ; 9 # Nd SAURASHTRA DIGIT NINE
-A909 ; 9.0 ; ; 9 # Nd KAYAH LI DIGIT NINE
-A9D9 ; 9.0 ; ; 9 # Nd JAVANESE DIGIT NINE
-AA59 ; 9.0 ; ; 9 # Nd CHAM DIGIT NINE
-ABF9 ; 9.0 ; ; 9 # Nd MEETEI MAYEK DIGIT NINE
-FF19 ; 9.0 ; ; 9 # Nd FULLWIDTH DIGIT NINE
-1010F ; 9.0 ; ; 9 # No AEGEAN NUMBER NINE
-104A9 ; 9.0 ; ; 9 # Nd OSMANYA DIGIT NINE
-10E68 ; 9.0 ; ; 9 # No RUMI DIGIT NINE
-12407 ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE ASH
-1240E ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE DISH
-12414 ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE U
-1241D ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE GESH2
-1242B ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE SHAR2
-12446..12449 ; 9.0 ; ; 9 # Nl [4] CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU..CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1D368 ; 9.0 ; ; 9 # No COUNTING ROD UNIT DIGIT NINE
-1D7D7 ; 9.0 ; ; 9 # Nd MATHEMATICAL BOLD DIGIT NINE
-1D7E1 ; 9.0 ; ; 9 # Nd MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7EB ; 9.0 ; ; 9 # Nd MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7F5 ; 9.0 ; ; 9 # Nd MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7FF ; 9.0 ; ; 9 # Nd MATHEMATICAL MONOSPACE DIGIT NINE
-1F10A ; 9.0 ; ; 9 # No DIGIT NINE COMMA
-2F890 ; 9.0 ; ; 9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F890
-
-# Total code points: 75
-
-# ================================================
-
-0BF0 ; 10.0 ; ; 10 # No TAMIL NUMBER TEN
-0D70 ; 10.0 ; ; 10 # No MALAYALAM NUMBER TEN
-1372 ; 10.0 ; ; 10 # No ETHIOPIC NUMBER TEN
-2169 ; 10.0 ; ; 10 # Nl ROMAN NUMERAL TEN
-2179 ; 10.0 ; ; 10 # Nl SMALL ROMAN NUMERAL TEN
-2469 ; 10.0 ; ; 10 # No CIRCLED NUMBER TEN
-247D ; 10.0 ; ; 10 # No PARENTHESIZED NUMBER TEN
-2491 ; 10.0 ; ; 10 # No NUMBER TEN FULL STOP
-24FE ; 10.0 ; ; 10 # No DOUBLE CIRCLED NUMBER TEN
-277F ; 10.0 ; ; 10 # No DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2789 ; 10.0 ; ; 10 # No DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-2793 ; 10.0 ; ; 10 # No DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-3038 ; 10.0 ; ; 10 # Nl HANGZHOU NUMERAL TEN
-3229 ; 10.0 ; ; 10 # No PARENTHESIZED IDEOGRAPH TEN
-3289 ; 10.0 ; ; 10 # No CIRCLED IDEOGRAPH TEN
-4EC0 ; 10.0 ; ; 10 # Lo CJK UNIFIED IDEOGRAPH-4EC0
-5341 ; 10.0 ; ; 10 # Lo CJK UNIFIED IDEOGRAPH-5341
-62FE ; 10.0 ; ; 10 # Lo CJK UNIFIED IDEOGRAPH-62FE
-F973 ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F973
-F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD
-10110 ; 10.0 ; ; 10 # No AEGEAN NUMBER TEN
-10149 ; 10.0 ; ; 10 # Nl GREEK ACROPHONIC ATTIC TEN TALENTS
-10150 ; 10.0 ; ; 10 # Nl GREEK ACROPHONIC ATTIC TEN STATERS
-10157 ; 10.0 ; ; 10 # Nl GREEK ACROPHONIC ATTIC TEN MNAS
-10160..10164 ; 10.0 ; ; 10 # Nl [5] GREEK ACROPHONIC TROEZENIAN TEN..GREEK ACROPHONIC THESPIAN TEN
-10322 ; 10.0 ; ; 10 # No OLD ITALIC NUMERAL TEN
-103D3 ; 10.0 ; ; 10 # Nl OLD PERSIAN NUMBER TEN
-1085B ; 10.0 ; ; 10 # No IMPERIAL ARAMAIC NUMBER TEN
-10917 ; 10.0 ; ; 10 # No PHOENICIAN NUMBER TEN
-10A44 ; 10.0 ; ; 10 # No KHAROSHTHI NUMBER TEN
-10B5C ; 10.0 ; ; 10 # No INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B7C ; 10.0 ; ; 10 # No INSCRIPTIONAL PAHLAVI NUMBER TEN
-10E69 ; 10.0 ; ; 10 # No RUMI NUMBER TEN
-1D369 ; 10.0 ; ; 10 # No COUNTING ROD TENS DIGIT ONE
-
-# Total code points: 38
-
-# ================================================
-
-216A ; 11.0 ; ; 11 # Nl ROMAN NUMERAL ELEVEN
-217A ; 11.0 ; ; 11 # Nl SMALL ROMAN NUMERAL ELEVEN
-246A ; 11.0 ; ; 11 # No CIRCLED NUMBER ELEVEN
-247E ; 11.0 ; ; 11 # No PARENTHESIZED NUMBER ELEVEN
-2492 ; 11.0 ; ; 11 # No NUMBER ELEVEN FULL STOP
-24EB ; 11.0 ; ; 11 # No NEGATIVE CIRCLED NUMBER ELEVEN
-
-# Total code points: 6
-
-# ================================================
-
-216B ; 12.0 ; ; 12 # Nl ROMAN NUMERAL TWELVE
-217B ; 12.0 ; ; 12 # Nl SMALL ROMAN NUMERAL TWELVE
-246B ; 12.0 ; ; 12 # No CIRCLED NUMBER TWELVE
-247F ; 12.0 ; ; 12 # No PARENTHESIZED NUMBER TWELVE
-2493 ; 12.0 ; ; 12 # No NUMBER TWELVE FULL STOP
-24EC ; 12.0 ; ; 12 # No NEGATIVE CIRCLED NUMBER TWELVE
-
-# Total code points: 6
-
-# ================================================
-
-246C ; 13.0 ; ; 13 # No CIRCLED NUMBER THIRTEEN
-2480 ; 13.0 ; ; 13 # No PARENTHESIZED NUMBER THIRTEEN
-2494 ; 13.0 ; ; 13 # No NUMBER THIRTEEN FULL STOP
-24ED ; 13.0 ; ; 13 # No NEGATIVE CIRCLED NUMBER THIRTEEN
-
-# Total code points: 4
-
-# ================================================
-
-246D ; 14.0 ; ; 14 # No CIRCLED NUMBER FOURTEEN
-2481 ; 14.0 ; ; 14 # No PARENTHESIZED NUMBER FOURTEEN
-2495 ; 14.0 ; ; 14 # No NUMBER FOURTEEN FULL STOP
-24EE ; 14.0 ; ; 14 # No NEGATIVE CIRCLED NUMBER FOURTEEN
-
-# Total code points: 4
-
-# ================================================
-
-246E ; 15.0 ; ; 15 # No CIRCLED NUMBER FIFTEEN
-2482 ; 15.0 ; ; 15 # No PARENTHESIZED NUMBER FIFTEEN
-2496 ; 15.0 ; ; 15 # No NUMBER FIFTEEN FULL STOP
-24EF ; 15.0 ; ; 15 # No NEGATIVE CIRCLED NUMBER FIFTEEN
-
-# Total code points: 4
-
-# ================================================
-
-09F9 ; 16.0 ; ; 16 # No BENGALI CURRENCY DENOMINATOR SIXTEEN
-246F ; 16.0 ; ; 16 # No CIRCLED NUMBER SIXTEEN
-2483 ; 16.0 ; ; 16 # No PARENTHESIZED NUMBER SIXTEEN
-2497 ; 16.0 ; ; 16 # No NUMBER SIXTEEN FULL STOP
-24F0 ; 16.0 ; ; 16 # No NEGATIVE CIRCLED NUMBER SIXTEEN
-
-# Total code points: 5
-
-# ================================================
-
-16EE ; 17.0 ; ; 17 # Nl RUNIC ARLAUG SYMBOL
-2470 ; 17.0 ; ; 17 # No CIRCLED NUMBER SEVENTEEN
-2484 ; 17.0 ; ; 17 # No PARENTHESIZED NUMBER SEVENTEEN
-2498 ; 17.0 ; ; 17 # No NUMBER SEVENTEEN FULL STOP
-24F1 ; 17.0 ; ; 17 # No NEGATIVE CIRCLED NUMBER SEVENTEEN
-
-# Total code points: 5
-
-# ================================================
-
-16EF ; 18.0 ; ; 18 # Nl RUNIC TVIMADUR SYMBOL
-2471 ; 18.0 ; ; 18 # No CIRCLED NUMBER EIGHTEEN
-2485 ; 18.0 ; ; 18 # No PARENTHESIZED NUMBER EIGHTEEN
-2499 ; 18.0 ; ; 18 # No NUMBER EIGHTEEN FULL STOP
-24F2 ; 18.0 ; ; 18 # No NEGATIVE CIRCLED NUMBER EIGHTEEN
-
-# Total code points: 5
-
-# ================================================
-
-16F0 ; 19.0 ; ; 19 # Nl RUNIC BELGTHOR SYMBOL
-2472 ; 19.0 ; ; 19 # No CIRCLED NUMBER NINETEEN
-2486 ; 19.0 ; ; 19 # No PARENTHESIZED NUMBER NINETEEN
-249A ; 19.0 ; ; 19 # No NUMBER NINETEEN FULL STOP
-24F3 ; 19.0 ; ; 19 # No NEGATIVE CIRCLED NUMBER NINETEEN
-
-# Total code points: 5
-
-# ================================================
-
-1373 ; 20.0 ; ; 20 # No ETHIOPIC NUMBER TWENTY
-2473 ; 20.0 ; ; 20 # No CIRCLED NUMBER TWENTY
-2487 ; 20.0 ; ; 20 # No PARENTHESIZED NUMBER TWENTY
-249B ; 20.0 ; ; 20 # No NUMBER TWENTY FULL STOP
-24F4 ; 20.0 ; ; 20 # No NEGATIVE CIRCLED NUMBER TWENTY
-3039 ; 20.0 ; ; 20 # Nl HANGZHOU NUMERAL TWENTY
-5344 ; 20.0 ; ; 20 # Lo CJK UNIFIED IDEOGRAPH-5344
-5EFF ; 20.0 ; ; 20 # Lo CJK UNIFIED IDEOGRAPH-5EFF
-10111 ; 20.0 ; ; 20 # No AEGEAN NUMBER TWENTY
-103D4 ; 20.0 ; ; 20 # Nl OLD PERSIAN NUMBER TWENTY
-1085C ; 20.0 ; ; 20 # No IMPERIAL ARAMAIC NUMBER TWENTY
-10918 ; 20.0 ; ; 20 # No PHOENICIAN NUMBER TWENTY
-10A45 ; 20.0 ; ; 20 # No KHAROSHTHI NUMBER TWENTY
-10B5D ; 20.0 ; ; 20 # No INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B7D ; 20.0 ; ; 20 # No INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10E6A ; 20.0 ; ; 20 # No RUMI NUMBER TWENTY
-1D36A ; 20.0 ; ; 20 # No COUNTING ROD TENS DIGIT TWO
-
-# Total code points: 17
-
-# ================================================
-
-3251 ; 21.0 ; ; 21 # No CIRCLED NUMBER TWENTY ONE
-
-# Total code points: 1
-
-# ================================================
-
-3252 ; 22.0 ; ; 22 # No CIRCLED NUMBER TWENTY TWO
-
-# Total code points: 1
-
-# ================================================
-
-3253 ; 23.0 ; ; 23 # No CIRCLED NUMBER TWENTY THREE
-
-# Total code points: 1
-
-# ================================================
-
-3254 ; 24.0 ; ; 24 # No CIRCLED NUMBER TWENTY FOUR
-
-# Total code points: 1
-
-# ================================================
-
-3255 ; 25.0 ; ; 25 # No CIRCLED NUMBER TWENTY FIVE
-
-# Total code points: 1
-
-# ================================================
-
-3256 ; 26.0 ; ; 26 # No CIRCLED NUMBER TWENTY SIX
-
-# Total code points: 1
-
-# ================================================
-
-3257 ; 27.0 ; ; 27 # No CIRCLED NUMBER TWENTY SEVEN
-
-# Total code points: 1
-
-# ================================================
-
-3258 ; 28.0 ; ; 28 # No CIRCLED NUMBER TWENTY EIGHT
-
-# Total code points: 1
-
-# ================================================
-
-3259 ; 29.0 ; ; 29 # No CIRCLED NUMBER TWENTY NINE
-
-# Total code points: 1
-
-# ================================================
-
-1374 ; 30.0 ; ; 30 # No ETHIOPIC NUMBER THIRTY
-303A ; 30.0 ; ; 30 # Nl HANGZHOU NUMERAL THIRTY
-325A ; 30.0 ; ; 30 # No CIRCLED NUMBER THIRTY
-5345 ; 30.0 ; ; 30 # Lo CJK UNIFIED IDEOGRAPH-5345
-10112 ; 30.0 ; ; 30 # No AEGEAN NUMBER THIRTY
-10165 ; 30.0 ; ; 30 # Nl GREEK ACROPHONIC THESPIAN THIRTY
-10E6B ; 30.0 ; ; 30 # No RUMI NUMBER THIRTY
-1D36B ; 30.0 ; ; 30 # No COUNTING ROD TENS DIGIT THREE
-20983 ; 30.0 ; ; 30 # Lo CJK UNIFIED IDEOGRAPH-20983
-
-# Total code points: 9
-
-# ================================================
-
-325B ; 31.0 ; ; 31 # No CIRCLED NUMBER THIRTY ONE
-
-# Total code points: 1
-
-# ================================================
-
-325C ; 32.0 ; ; 32 # No CIRCLED NUMBER THIRTY TWO
-
-# Total code points: 1
-
-# ================================================
-
-325D ; 33.0 ; ; 33 # No CIRCLED NUMBER THIRTY THREE
-
-# Total code points: 1
-
-# ================================================
-
-325E ; 34.0 ; ; 34 # No CIRCLED NUMBER THIRTY FOUR
-
-# Total code points: 1
-
-# ================================================
-
-325F ; 35.0 ; ; 35 # No CIRCLED NUMBER THIRTY FIVE
-
-# Total code points: 1
-
-# ================================================
-
-32B1 ; 36.0 ; ; 36 # No CIRCLED NUMBER THIRTY SIX
-
-# Total code points: 1
-
-# ================================================
-
-32B2 ; 37.0 ; ; 37 # No CIRCLED NUMBER THIRTY SEVEN
-
-# Total code points: 1
-
-# ================================================
-
-32B3 ; 38.0 ; ; 38 # No CIRCLED NUMBER THIRTY EIGHT
-
-# Total code points: 1
-
-# ================================================
-
-32B4 ; 39.0 ; ; 39 # No CIRCLED NUMBER THIRTY NINE
-
-# Total code points: 1
-
-# ================================================
-
-1375 ; 40.0 ; ; 40 # No ETHIOPIC NUMBER FORTY
-32B5 ; 40.0 ; ; 40 # No CIRCLED NUMBER FORTY
-534C ; 40.0 ; ; 40 # Lo CJK UNIFIED IDEOGRAPH-534C
-10113 ; 40.0 ; ; 40 # No AEGEAN NUMBER FORTY
-10E6C ; 40.0 ; ; 40 # No RUMI NUMBER FORTY
-1D36C ; 40.0 ; ; 40 # No COUNTING ROD TENS DIGIT FOUR
-2098C ; 40.0 ; ; 40 # Lo CJK UNIFIED IDEOGRAPH-2098C
-2099C ; 40.0 ; ; 40 # Lo CJK UNIFIED IDEOGRAPH-2099C
-
-# Total code points: 8
-
-# ================================================
-
-32B6 ; 41.0 ; ; 41 # No CIRCLED NUMBER FORTY ONE
-
-# Total code points: 1
-
-# ================================================
-
-32B7 ; 42.0 ; ; 42 # No CIRCLED NUMBER FORTY TWO
-
-# Total code points: 1
-
-# ================================================
-
-32B8 ; 43.0 ; ; 43 # No CIRCLED NUMBER FORTY THREE
-
-# Total code points: 1
-
-# ================================================
-
-32B9 ; 44.0 ; ; 44 # No CIRCLED NUMBER FORTY FOUR
-
-# Total code points: 1
-
-# ================================================
-
-32BA ; 45.0 ; ; 45 # No CIRCLED NUMBER FORTY FIVE
-
-# Total code points: 1
-
-# ================================================
-
-32BB ; 46.0 ; ; 46 # No CIRCLED NUMBER FORTY SIX
-
-# Total code points: 1
-
-# ================================================
-
-32BC ; 47.0 ; ; 47 # No CIRCLED NUMBER FORTY SEVEN
-
-# Total code points: 1
-
-# ================================================
-
-32BD ; 48.0 ; ; 48 # No CIRCLED NUMBER FORTY EIGHT
-
-# Total code points: 1
-
-# ================================================
-
-32BE ; 49.0 ; ; 49 # No CIRCLED NUMBER FORTY NINE
-
-# Total code points: 1
-
-# ================================================
-
-1376 ; 50.0 ; ; 50 # No ETHIOPIC NUMBER FIFTY
-216C ; 50.0 ; ; 50 # Nl ROMAN NUMERAL FIFTY
-217C ; 50.0 ; ; 50 # Nl SMALL ROMAN NUMERAL FIFTY
-2186 ; 50.0 ; ; 50 # Nl ROMAN NUMERAL FIFTY EARLY FORM
-32BF ; 50.0 ; ; 50 # No CIRCLED NUMBER FIFTY
-10114 ; 50.0 ; ; 50 # No AEGEAN NUMBER FIFTY
-10144 ; 50.0 ; ; 50 # Nl GREEK ACROPHONIC ATTIC FIFTY
-1014A ; 50.0 ; ; 50 # Nl GREEK ACROPHONIC ATTIC FIFTY TALENTS
-10151 ; 50.0 ; ; 50 # Nl GREEK ACROPHONIC ATTIC FIFTY STATERS
-10166..10169 ; 50.0 ; ; 50 # Nl [4] GREEK ACROPHONIC TROEZENIAN FIFTY..GREEK ACROPHONIC THESPIAN FIFTY
-10174 ; 50.0 ; ; 50 # Nl GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10323 ; 50.0 ; ; 50 # No OLD ITALIC NUMERAL FIFTY
-10A7E ; 50.0 ; ; 50 # No OLD SOUTH ARABIAN NUMBER FIFTY
-10E6D ; 50.0 ; ; 50 # No RUMI NUMBER FIFTY
-1D36D ; 50.0 ; ; 50 # No COUNTING ROD TENS DIGIT FIVE
-
-# Total code points: 18
-
-# ================================================
-
-1377 ; 60.0 ; ; 60 # No ETHIOPIC NUMBER SIXTY
-10115 ; 60.0 ; ; 60 # No AEGEAN NUMBER SIXTY
-10E6E ; 60.0 ; ; 60 # No RUMI NUMBER SIXTY
-1D36E ; 60.0 ; ; 60 # No COUNTING ROD TENS DIGIT SIX
-
-# Total code points: 4
-
-# ================================================
-
-1378 ; 70.0 ; ; 70 # No ETHIOPIC NUMBER SEVENTY
-10116 ; 70.0 ; ; 70 # No AEGEAN NUMBER SEVENTY
-10E6F ; 70.0 ; ; 70 # No RUMI NUMBER SEVENTY
-1D36F ; 70.0 ; ; 70 # No COUNTING ROD TENS DIGIT SEVEN
-
-# Total code points: 4
-
-# ================================================
-
-1379 ; 80.0 ; ; 80 # No ETHIOPIC NUMBER EIGHTY
-10117 ; 80.0 ; ; 80 # No AEGEAN NUMBER EIGHTY
-10E70 ; 80.0 ; ; 80 # No RUMI NUMBER EIGHTY
-1D370 ; 80.0 ; ; 80 # No COUNTING ROD TENS DIGIT EIGHT
-
-# Total code points: 4
-
-# ================================================
-
-137A ; 90.0 ; ; 90 # No ETHIOPIC NUMBER NINETY
-10118 ; 90.0 ; ; 90 # No AEGEAN NUMBER NINETY
-10341 ; 90.0 ; ; 90 # Nl GOTHIC LETTER NINETY
-10E71 ; 90.0 ; ; 90 # No RUMI NUMBER NINETY
-1D371 ; 90.0 ; ; 90 # No COUNTING ROD TENS DIGIT NINE
-
-# Total code points: 5
-
-# ================================================
-
-0BF1 ; 100.0 ; ; 100 # No TAMIL NUMBER ONE HUNDRED
-0D71 ; 100.0 ; ; 100 # No MALAYALAM NUMBER ONE HUNDRED
-137B ; 100.0 ; ; 100 # No ETHIOPIC NUMBER HUNDRED
-216D ; 100.0 ; ; 100 # Nl ROMAN NUMERAL ONE HUNDRED
-217D ; 100.0 ; ; 100 # Nl SMALL ROMAN NUMERAL ONE HUNDRED
-4F70 ; 100.0 ; ; 100 # Lo CJK UNIFIED IDEOGRAPH-4F70
-767E ; 100.0 ; ; 100 # Lo CJK UNIFIED IDEOGRAPH-767E
-964C ; 100.0 ; ; 100 # Lo CJK UNIFIED IDEOGRAPH-964C
-10119 ; 100.0 ; ; 100 # No AEGEAN NUMBER ONE HUNDRED
-1014B ; 100.0 ; ; 100 # Nl GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-10152 ; 100.0 ; ; 100 # Nl GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-1016A ; 100.0 ; ; 100 # Nl GREEK ACROPHONIC THESPIAN ONE HUNDRED
-103D5 ; 100.0 ; ; 100 # Nl OLD PERSIAN NUMBER HUNDRED
-1085D ; 100.0 ; ; 100 # No IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-10919 ; 100.0 ; ; 100 # No PHOENICIAN NUMBER ONE HUNDRED
-10A46 ; 100.0 ; ; 100 # No KHAROSHTHI NUMBER ONE HUNDRED
-10B5E ; 100.0 ; ; 100 # No INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B7E ; 100.0 ; ; 100 # No INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10E72 ; 100.0 ; ; 100 # No RUMI NUMBER ONE HUNDRED
-
-# Total code points: 19
-
-# ================================================
-
-1011A ; 200.0 ; ; 200 # No AEGEAN NUMBER TWO HUNDRED
-10E73 ; 200.0 ; ; 200 # No RUMI NUMBER TWO HUNDRED
-
-# Total code points: 2
-
-# ================================================
-
-1011B ; 300.0 ; ; 300 # No AEGEAN NUMBER THREE HUNDRED
-1016B ; 300.0 ; ; 300 # Nl GREEK ACROPHONIC THESPIAN THREE HUNDRED
-10E74 ; 300.0 ; ; 300 # No RUMI NUMBER THREE HUNDRED
-
-# Total code points: 3
-
-# ================================================
-
-1011C ; 400.0 ; ; 400 # No AEGEAN NUMBER FOUR HUNDRED
-10E75 ; 400.0 ; ; 400 # No RUMI NUMBER FOUR HUNDRED
-
-# Total code points: 2
-
-# ================================================
-
-216E ; 500.0 ; ; 500 # Nl ROMAN NUMERAL FIVE HUNDRED
-217E ; 500.0 ; ; 500 # Nl SMALL ROMAN NUMERAL FIVE HUNDRED
-1011D ; 500.0 ; ; 500 # No AEGEAN NUMBER FIVE HUNDRED
-10145 ; 500.0 ; ; 500 # Nl GREEK ACROPHONIC ATTIC FIVE HUNDRED
-1014C ; 500.0 ; ; 500 # Nl GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-10153 ; 500.0 ; ; 500 # Nl GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-1016C..10170 ; 500.0 ; ; 500 # Nl [5] GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED..GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10E76 ; 500.0 ; ; 500 # No RUMI NUMBER FIVE HUNDRED
-
-# Total code points: 12
-
-# ================================================
-
-1011E ; 600.0 ; ; 600 # No AEGEAN NUMBER SIX HUNDRED
-10E77 ; 600.0 ; ; 600 # No RUMI NUMBER SIX HUNDRED
-
-# Total code points: 2
-
-# ================================================
-
-1011F ; 700.0 ; ; 700 # No AEGEAN NUMBER SEVEN HUNDRED
-10E78 ; 700.0 ; ; 700 # No RUMI NUMBER SEVEN HUNDRED
-
-# Total code points: 2
-
-# ================================================
-
-10120 ; 800.0 ; ; 800 # No AEGEAN NUMBER EIGHT HUNDRED
-10E79 ; 800.0 ; ; 800 # No RUMI NUMBER EIGHT HUNDRED
-
-# Total code points: 2
-
-# ================================================
-
-10121 ; 900.0 ; ; 900 # No AEGEAN NUMBER NINE HUNDRED
-1034A ; 900.0 ; ; 900 # Nl GOTHIC LETTER NINE HUNDRED
-10E7A ; 900.0 ; ; 900 # No RUMI NUMBER NINE HUNDRED
-
-# Total code points: 3
-
-# ================================================
-
-0BF2 ; 1000.0 ; ; 1000 # No TAMIL NUMBER ONE THOUSAND
-0D72 ; 1000.0 ; ; 1000 # No MALAYALAM NUMBER ONE THOUSAND
-216F ; 1000.0 ; ; 1000 # Nl ROMAN NUMERAL ONE THOUSAND
-217F..2180 ; 1000.0 ; ; 1000 # Nl [2] SMALL ROMAN NUMERAL ONE THOUSAND..ROMAN NUMERAL ONE THOUSAND C D
-4EDF ; 1000.0 ; ; 1000 # Lo CJK UNIFIED IDEOGRAPH-4EDF
-5343 ; 1000.0 ; ; 1000 # Lo CJK UNIFIED IDEOGRAPH-5343
-9621 ; 1000.0 ; ; 1000 # Lo CJK UNIFIED IDEOGRAPH-9621
-10122 ; 1000.0 ; ; 1000 # No AEGEAN NUMBER ONE THOUSAND
-1014D ; 1000.0 ; ; 1000 # Nl GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-10154 ; 1000.0 ; ; 1000 # Nl GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10171 ; 1000.0 ; ; 1000 # Nl GREEK ACROPHONIC THESPIAN ONE THOUSAND
-1085E ; 1000.0 ; ; 1000 # No IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-10A47 ; 1000.0 ; ; 1000 # No KHAROSHTHI NUMBER ONE THOUSAND
-10B5F ; 1000.0 ; ; 1000 # No INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B7F ; 1000.0 ; ; 1000 # No INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-
-# Total code points: 16
-
-# ================================================
-
-10123 ; 2000.0 ; ; 2000 # No AEGEAN NUMBER TWO THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10124 ; 3000.0 ; ; 3000 # No AEGEAN NUMBER THREE THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10125 ; 4000.0 ; ; 4000 # No AEGEAN NUMBER FOUR THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-2181 ; 5000.0 ; ; 5000 # Nl ROMAN NUMERAL FIVE THOUSAND
-10126 ; 5000.0 ; ; 5000 # No AEGEAN NUMBER FIVE THOUSAND
-10146 ; 5000.0 ; ; 5000 # Nl GREEK ACROPHONIC ATTIC FIVE THOUSAND
-1014E ; 5000.0 ; ; 5000 # Nl GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-10172 ; 5000.0 ; ; 5000 # Nl GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-
-# Total code points: 5
-
-# ================================================
-
-10127 ; 6000.0 ; ; 6000 # No AEGEAN NUMBER SIX THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10128 ; 7000.0 ; ; 7000 # No AEGEAN NUMBER SEVEN THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10129 ; 8000.0 ; ; 8000 # No AEGEAN NUMBER EIGHT THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-1012A ; 9000.0 ; ; 9000 # No AEGEAN NUMBER NINE THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-137C ; 10000.0 ; ; 10000 # No ETHIOPIC NUMBER TEN THOUSAND
-2182 ; 10000.0 ; ; 10000 # Nl ROMAN NUMERAL TEN THOUSAND
-4E07 ; 10000.0 ; ; 10000 # Lo CJK UNIFIED IDEOGRAPH-4E07
-842C ; 10000.0 ; ; 10000 # Lo CJK UNIFIED IDEOGRAPH-842C
-1012B ; 10000.0 ; ; 10000 # No AEGEAN NUMBER TEN THOUSAND
-10155 ; 10000.0 ; ; 10000 # Nl GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-1085F ; 10000.0 ; ; 10000 # No IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-
-# Total code points: 7
-
-# ================================================
-
-1012C ; 20000.0 ; ; 20000 # No AEGEAN NUMBER TWENTY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-1012D ; 30000.0 ; ; 30000 # No AEGEAN NUMBER THIRTY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-1012E ; 40000.0 ; ; 40000 # No AEGEAN NUMBER FORTY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-2187 ; 50000.0 ; ; 50000 # Nl ROMAN NUMERAL FIFTY THOUSAND
-1012F ; 50000.0 ; ; 50000 # No AEGEAN NUMBER FIFTY THOUSAND
-10147 ; 50000.0 ; ; 50000 # Nl GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10156 ; 50000.0 ; ; 50000 # Nl GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-
-# Total code points: 4
-
-# ================================================
-
-10130 ; 60000.0 ; ; 60000 # No AEGEAN NUMBER SIXTY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10131 ; 70000.0 ; ; 70000 # No AEGEAN NUMBER SEVENTY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10132 ; 80000.0 ; ; 80000 # No AEGEAN NUMBER EIGHTY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-10133 ; 90000.0 ; ; 90000 # No AEGEAN NUMBER NINETY THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-2188 ; 100000.0 ; ; 100000 # Nl ROMAN NUMERAL ONE HUNDRED THOUSAND
-
-# Total code points: 1
-
-# ================================================
-
-4EBF ; 100000000.0 ; ; 100000000 # Lo CJK UNIFIED IDEOGRAPH-4EBF
-5104 ; 100000000.0 ; ; 100000000 # Lo CJK UNIFIED IDEOGRAPH-5104
-
-# Total code points: 2
-
-# ================================================
-
-5146 ; 1000000000000.0 ; ; 1000000000000 # Lo CJK UNIFIED IDEOGRAPH-5146
-
-# Total code points: 1
-
-# EOF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl
index 7c4b4659c45..056a57bbae6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl
@@ -1,44 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_090 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{ASCII_Hex_Digit=No}
-# \p{AHex=N}
-# \p{Is_ASCII_Hex_Digit=F}
-# \p{Is_AHex=False}
-#
-# \P{ASCII_Hex_Digit}
-# \P{Is_ASCII_Hex_Digit}
-# \P{AHex}
-# \P{Is_AHex}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_AHex: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002F # [48]
-003A 0040 # [7]
-0047 0060 # [26]
-0067 10FFFF # [1_114_009]
+0000 002F
+003A 0040
+0047 0060
+0067 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
index 564274c2d80..d6176a11746 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
@@ -1,43 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 22 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{ASCII_Hex_Digit=Yes}
-# \p{AHex=Y}
-# \p{Is_ASCII_Hex_Digit=T}
-# \p{Is_AHex=True}
-#
-# \p{ASCII_Hex_Digit}
-# \p{Is_ASCII_Hex_Digit}
-# \p{AHex}
-# \p{Is_AHex}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_AHex: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 0046 # [6]
-0061 0066 # [6]
+0030 0039
+0041 0046
+0061 0066
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl
index cb822efcc42..c2e4cfb12ae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl
@@ -1,326 +1,300 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 33_979 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Age=1.1}
-# \p{Is_Age=1.1}
-#
-# \p{Present_In=1.1}
-# \p{In=1.1}
-#
-# Meaning: Code point's usage introduced in version 1.1
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{In: 1.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 01F5 # [502]
-01FA 0217 # [30]
-0250 02A8 # [89]
-02B0 02DE # [47]
-02E0 02E9 # [10]
-0300 0345 # [70]
-0360 0361 # [2]
-0374 0375 # [2]
+0000 01F5
+01FA 0217
+0250 02A8
+02B0 02DE
+02E0 02E9
+0300 0345
+0360 0361
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03D6 # [7]
+038E 03A1
+03A3 03CE
+03D0 03D6
03DA
03DC
03DE
03E0
-03E2 03F3 # [18]
-0401 040C # [12]
-040E 044F # [66]
-0451 045C # [12]
-045E 0486 # [41]
-0490 04C4 # [53]
-04C7 04C8 # [2]
-04CB 04CC # [2]
-04D0 04EB # [28]
-04EE 04F5 # [8]
-04F8 04F9 # [2]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
+03E2 03F3
+0401 040C
+040E 044F
+0451 045C
+045E 0486
+0490 04C4
+04C7 04C8
+04CB 04CC
+04D0 04EB
+04EE 04F5
+04F8 04F9
+0531 0556
+0559 055F
+0561 0587
0589
-05B0 05B9 # [10]
-05BB 05C3 # [9]
-05D0 05EA # [27]
-05F0 05F4 # [5]
+05B0 05B9
+05BB 05C3
+05D0 05EA
+05F0 05F4
060C
061B
061F
-0621 063A # [26]
-0640 0652 # [19]
-0660 066D # [14]
-0670 06B7 # [72]
-06BA 06BE # [5]
-06C0 06CE # [15]
-06D0 06ED # [30]
-06F0 06F9 # [10]
-0901 0903 # [3]
-0905 0939 # [53]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0652
+0660 066D
+0670 06B7
+06BA 06BE
+06C0 06CE
+06D0 06ED
+06F0 06F9
+0901 0903
+0905 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
+09DC 09DD
+09DF 09E3
+09E6 09FA
0A02
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8B # [7]
+0A66 0A74
+0A81 0A83
+0A85 0A8B
0A8D
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
0AE0
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B36 0B39 # [4]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B70 # [11]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B70
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BF2 # [12]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0D60 0D61
+0D66 0D6F
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-10A0 10C5 # [38]
-10D0 10F6 # [39]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+10A0 10C5
+10D0 10F6
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1E00 1E9A # [155]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1100 1159
+115F 11A2
+11A8 11F9
+1E00 1E9A
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 202E # [47]
-2030 2046 # [23]
-206A 2070 # [7]
-2074 208E # [27]
-20A0 20AA # [11]
-20D0 20E1 # [18]
-2100 2138 # [57]
-2153 2182 # [48]
-2190 21EA # [91]
-2200 22F1 # [242]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 202E
+2030 2046
+206A 2070
+2074 208E
+20A0 20AA
+20D0 20E1
+2100 2138
+2153 2182
+2190 21EA
+2200 22F1
2300
-2302 237A # [121]
-2400 2424 # [37]
-2440 244A # [11]
-2460 24EA # [139]
-2500 2595 # [150]
-25A0 25EF # [80]
-2600 2613 # [20]
-261A 266F # [86]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+2302 237A
+2400 2424
+2440 244A
+2460 24EA
+2500 2595
+25A0 25EF
+2600 2613
+261A 266F
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2767 # [7]
-2776 2794 # [31]
-2798 27AF # [24]
-27B1 27BE # [14]
-3000 3037 # [56]
+2758 275E
+2761 2767
+2776 2794
+2798 27AF
+27B1 27BE
+3000 3037
303F
-3041 3094 # [84]
-3099 309E # [6]
-30A1 30FE # [94]
-3105 312C # [40]
-3131 318E # [94]
-3190 319F # [16]
-3200 321C # [29]
-3220 3243 # [36]
-3260 327B # [28]
-327F 32B0 # [50]
-32C0 32CB # [12]
-32D0 32FE # [47]
-3300 3376 # [119]
-337B 33DD # [99]
-33E0 33FE # [31]
-4E00 9FA5 # [20_902]
-E000 FA2D # [6702]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1E FB36 # [25]
-FB38 FB3C # [5]
+3041 3094
+3099 309E
+30A1 30FE
+3105 312C
+3131 318E
+3190 319F
+3200 321C
+3220 3243
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+4E00 9FA5
+E000 FA2D
+FB00 FB06
+FB13 FB17
+FB1E FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE20 FE23 # [4]
-FE30 FE44 # [21]
-FE49 FE52 # [10]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE20 FE23
+FE30 FE44
+FE49 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
+FE76 FEFC
FEFF
-FF01 FF5E # [94]
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFFD FFFF # [3]
+FF01 FF5E
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFFD FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl
index 3694f53edfc..f0ac5523170 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl
@@ -1,66 +1,41 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 144_521 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Age=2.0}
-# \p{Is_Age=2.0}
-#
-# Meaning: Code point's usage was introduced in version 2.0
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 2.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0591 05A1 # [17]
-05A3 05AF # [13]
+0591 05A1
+05A3 05AF
05C4
-0F00 0F47 # [72]
-0F49 0F69 # [33]
-0F71 0F8B # [27]
-0F90 0F95 # [6]
+0F00 0F47
+0F49 0F69
+0F71 0F8B
+0F90 0F95
0F97
-0F99 0FAD # [21]
-0FB1 0FB7 # [7]
+0F99 0FAD
+0FB1 0FB7
0FB9
1E9B
20AB
-AC00 D7A3 # [11_172]
-D800 DFFF # [2048]
-1FFFE 1FFFF # [2]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
-EFFFE 10FFFF # [131_074]
+AC00 D7A3
+D800 DFFF
+1FFFE 1FFFF
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl
index c0892611070..42875e00666 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl
@@ -1,37 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Age=2.1}
-# \p{Is_Age=2.1}
-#
-# Meaning: Code point's usage was introduced in version 2.1
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 2.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
20AC
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl
index 412f59126d0..958e36f803f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl
@@ -1,46 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 10_307 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Age=3.0}
-# \p{Is_Age=3.0}
-#
-# Meaning: Code point's usage was introduced in version 3.0
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 3.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-01F6 01F9 # [4]
-0218 021F # [8]
-0222 0233 # [18]
-02A9 02AD # [5]
+01F6 01F9
+0218 021F
+0222 0233
+02A9 02AD
02DF
-02EA 02EE # [5]
-0346 034E # [9]
+02EA 02EE
+0346 034E
0362
03D7
03DB
@@ -51,108 +26,108 @@ return <<'END';
040D
0450
045D
-0488 0489 # [2]
-048C 048F # [4]
-04EC 04ED # [2]
+0488 0489
+048C 048F
+04EC 04ED
058A
-0653 0655 # [3]
-06B8 06B9 # [2]
+0653 0655
+06B8 06B9
06BF
06CF
-06FA 06FE # [5]
-0700 070D # [14]
-070F 072C # [30]
-0730 074A # [27]
-0780 07B0 # [49]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+06FA 06FE
+0700 070D
+070F 072C
+0730 074A
+0780 07B0
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
+0DD8 0DDF
+0DF2 0DF4
0F6A
0F96
-0FAE 0FB0 # [3]
+0FAE 0FB0
0FB8
-0FBA 0FBC # [3]
-0FBE 0FCC # [15]
+0FBA 0FBC
+0FBE 0FCC
0FCF
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-1200 1206 # [7]
-1208 1246 # [63]
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+1200 1206
+1208 1246
1248
-124A 124D # [4]
-1250 1256 # [7]
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1286 # [39]
+125A 125D
+1260 1286
1288
-128A 128D # [4]
-1290 12AE # [31]
+128A 128D
+1290 12AE
12B0
-12B2 12B5 # [4]
-12B8 12BE # [7]
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12CE # [7]
-12D0 12D6 # [7]
-12D8 12EE # [23]
-12F0 130E # [31]
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
1310
-1312 1315 # [4]
-1318 131E # [7]
-1320 1346 # [39]
-1348 135A # [19]
-1361 137C # [28]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1780 17DC # [93]
-17E0 17E9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1780 17DC
+17E0 17E9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
202F
-2048 204D # [6]
-20AD 20AF # [3]
-20E2 20E3 # [2]
-2139 213A # [2]
+2048 204D
+20AD 20AF
+20E2 20E3
+2139 213A
2183
-21EB 21F3 # [9]
+21EB 21F3
2301
237B
-237D 239A # [30]
-2425 2426 # [2]
-25F0 25F7 # [8]
+237D 239A
+2425 2426
+25F0 25F7
2619
-2670 2671 # [2]
-2800 28FF # [256]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3038 303A # [3]
+2670 2671
+2800 28FF
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3038 303A
303E
-31A0 31B7 # [24]
-3400 4DB5 # [6582]
-A000 A48C # [1165]
-A490 A4A1 # [18]
-A4A4 A4B3 # [16]
-A4B5 A4C0 # [12]
-A4C2 A4C4 # [3]
+31A0 31B7
+3400 4DB5
+A000 A48C
+A490 A4A1
+A4A4 A4B3
+A4B5 A4C0
+A4C2 A4C4
A4C6
FB1D
-FFF9 FFFB # [3]
+FFF9 FFFB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl
index 0b27009ebd2..15baaa3acbc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl
@@ -1,73 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 44_978 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Age=3.1}
-# \p{Is_Age=3.1}
-#
-# Meaning: Code point's usage was introduced in version 3.1
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 3.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-03F4 03F5 # [2]
-FDD0 FDEF # [32]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10400 10425 # [38]
-10428 1044D # [38]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D12A 1D1DD # [180]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+03F4 03F5
+FDD0 FDEF
+10300 1031E
+10320 10323
+10330 1034A
+10400 10425
+10428 1044D
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C0 # [4]
-1D4C2 1D4C3 # [2]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C0
+1D4C2 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A3 # [338]
-1D6A8 1D7C9 # [290]
-1D7CE 1D7FF # [50]
-20000 2A6D6 # [42_711]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl
index 2bc832e0f69..de9e60767a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl
@@ -1,96 +1,71 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1016 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Age=3.2}
-# \p{Is_Age=3.2}
-#
-# Meaning: Code point's usage was introduced in version 3.2
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 3.2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0220
034F
-0363 036F # [13]
-03D8 03D9 # [2]
+0363 036F
+03D8 03D9
03F6
-048A 048B # [2]
-04C5 04C6 # [2]
-04C9 04CA # [2]
-04CD 04CE # [2]
-0500 050F # [16]
-066E 066F # [2]
+048A 048B
+04C5 04C6
+04C9 04CA
+04CD 04CE
+0500 050F
+066E 066F
07B1
-10F7 10F8 # [2]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
+10F7 10F8
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
2047
-204E 2052 # [5]
+204E 2052
2057
-205F 2063 # [5]
+205F 2063
2071
-20B0 20B1 # [2]
-20E4 20EA # [7]
-213D 214B # [15]
-21F4 21FF # [12]
-22F2 22FF # [14]
+20B0 20B1
+20E4 20EA
+213D 214B
+21F4 21FF
+22F2 22FF
237C
-239B 23CE # [52]
-24EB 24FE # [20]
-2596 259F # [10]
-25F8 25FF # [8]
-2616 2617 # [2]
-2672 267D # [12]
-2680 2689 # [10]
-2768 2775 # [14]
-27D0 27EB # [28]
-27F0 27FF # [16]
-2900 2AFF # [512]
-303B 303D # [3]
-3095 3096 # [2]
-309F 30A0 # [2]
+239B 23CE
+24EB 24FE
+2596 259F
+25F8 25FF
+2616 2617
+2672 267D
+2680 2689
+2768 2775
+27D0 27EB
+27F0 27FF
+2900 2AFF
+303B 303D
+3095 3096
+309F 30A0
30FF
-31F0 31FF # [16]
-3251 325F # [15]
-32B1 32BF # [15]
-A4A2 A4A3 # [2]
+31F0 31FF
+3251 325F
+32B1 32BF
+A4A2 A4A3
A4B4
A4C1
A4C5
-FA30 FA6A # [59]
+FA30 FA6A
FDFC
-FE00 FE0F # [16]
-FE45 FE46 # [2]
+FE00 FE0F
+FE45 FE46
FE73
-FF5F FF60 # [2]
+FF5F FF60
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl
index 149b0311e44..eafa6223e8c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl
@@ -1,114 +1,89 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1226 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Age=4.0}
-# \p{Is_Age=4.0}
-#
-# Meaning: Code point's usage was introduced in version 4.0
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 4.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0221
-0234 0236 # [3]
-02AE 02AF # [2]
-02EF 02FF # [17]
-0350 0357 # [8]
-035D 035F # [3]
-03F7 03FB # [5]
-0600 0603 # [4]
-060D 0615 # [9]
-0656 0658 # [3]
-06EE 06EF # [2]
+0234 0236
+02AE 02AF
+02EF 02FF
+0350 0357
+035D 035F
+03F7 03FB
+0600 0603
+060D 0615
+0656 0658
+06EE 06EF
06FF
-072D 072F # [3]
-074D 074F # [3]
+072D 072F
+074D 074F
0904
09BD
0A01
0A03
0A8C
-0AE1 0AE3 # [3]
+0AE1 0AE3
0AF1
0B35
0B71
-0BF3 0BFA # [8]
-0CBC 0CBD # [2]
+0BF3 0BFA
+0CBC 0CBD
17DD
-17F0 17F9 # [10]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+17F0 17F9
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-19E0 19FF # [32]
-1D00 1D6B # [108]
-2053 2054 # [2]
+1944 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+2053 2054
213B
-23CF 23D0 # [2]
+23CF 23D0
24FF
-2614 2615 # [2]
-268A 2691 # [8]
-26A0 26A1 # [2]
-2B00 2B0D # [14]
-321D 321E # [2]
+2614 2615
+268A 2691
+26A0 26A1
+2B00 2B0D
+321D 321E
3250
-327C 327D # [2]
-32CC 32CF # [4]
-3377 337A # [4]
-33DE 33DF # [2]
+327C 327D
+32CC 32CF
+3377 337A
+33DE 33DF
33FF
-4DC0 4DFF # [64]
+4DC0 4DFF
FDFD
-FE47 FE48 # [2]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1013F # [9]
-10380 1039D # [30]
+FE47 FE48
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+10380 1039D
1039F
-10426 10427 # [2]
-1044E 1049D # [80]
-104A0 104A9 # [10]
-10800 10805 # [6]
+10426 10427
+1044E 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
1083F
-1D300 1D356 # [87]
+1D300 1D356
1D4C1
-E0100 E01EF # [240]
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl
index 67bf06ed2dc..417220f60dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl
@@ -1,55 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1273 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Age=4.1}
-# \p{Is_Age=4.1}
-#
-# Meaning: Code point's usage was introduced in version 4.1
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 4.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0237 0241 # [11]
-0358 035C # [5]
-03FC 03FF # [4]
-04F6 04F7 # [2]
+0237 0241
+0358 035C
+03FC 03FF
+04F6 04F7
05A2
-05C5 05C7 # [3]
+05C5 05C7
060B
061E
-0659 065E # [6]
-0750 076D # [30]
+0659 065E
+0750 076D
097D
09CE
0BB6
0BE6
-0FD0 0FD1 # [2]
-10F9 10FA # [2]
+0FD0 0FD1
+10F9 10FA
10FC
1207
1247
@@ -60,64 +35,64 @@ return <<'END';
130F
131F
1347
-135F 1360 # [2]
-1380 1399 # [26]
-1980 19A9 # [42]
-19B0 19C9 # [26]
-19D0 19D9 # [10]
-19DE 19DF # [2]
-1A00 1A1B # [28]
-1A1E 1A1F # [2]
-1D6C 1DC3 # [88]
-2055 2056 # [2]
-2058 205E # [7]
-2090 2094 # [5]
-20B2 20B5 # [4]
+135F 1360
+1380 1399
+1980 19A9
+19B0 19C9
+19D0 19D9
+19DE 19DF
+1A00 1A1B
+1A1E 1A1F
+1D6C 1DC3
+2055 2056
+2058 205E
+2090 2094
+20B2 20B5
20EB
213C
214C
-23D1 23DB # [11]
+23D1 23DB
2618
-267E 267F # [2]
-2692 269C # [11]
-26A2 26B1 # [16]
-27C0 27C6 # [7]
-2B0E 2B13 # [6]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C80 2CEA # [107]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
+267E 267F
+2692 269C
+26A2 26B1
+27C0 27C6
+2B0E 2B13
+2C00 2C2E
+2C30 2C5E
+2C80 2CEA
+2CF9 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2E00 2E17 # [24]
-2E1C 2E1D # [2]
-31C0 31CF # [16]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2E00 2E17
+2E1C 2E1D
+31C0 31CF
327E
-9FA6 9FBB # [22]
-A700 A716 # [23]
-A800 A82B # [44]
-FA70 FAD9 # [106]
-FE10 FE19 # [10]
-10140 1018A # [75]
-103A0 103C3 # [36]
-103C8 103D5 # [14]
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-1D200 1D245 # [70]
-1D6A4 1D6A5 # [2]
+9FA6 9FBB
+A700 A716
+A800 A82B
+FA70 FAD9
+FE10 FE19
+10140 1018A
+103A0 103C3
+103C8 103D5
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+1D200 1D245
+1D6A4 1D6A5
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl
index e8947e46edf..60f495167cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl
@@ -1,72 +1,47 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1369 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Age=5.0}
-# \p{Is_Age=5.0}
-#
-# Meaning: Code point's usage was introduced in version 5.0
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 5.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0242 024F # [14]
-037B 037D # [3]
+0242 024F
+037B 037D
04CF
-04FA 04FF # [6]
-0510 0513 # [4]
+04FA 04FF
+0510 0513
05BA
-07C0 07FA # [59]
-097B 097C # [2]
-097E 097F # [2]
-0CE2 0CE3 # [2]
-0CF1 0CF2 # [2]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1DC4 1DCA # [7]
-1DFE 1DFF # [2]
-20EC 20EF # [4]
-214D 214E # [2]
+07C0 07FA
+097B 097C
+097E 097F
+0CE2 0CE3
+0CF1 0CF2
+1B00 1B4B
+1B50 1B7C
+1DC4 1DCA
+1DFE 1DFF
+20EC 20EF
+214D 214E
2184
-23DC 23E7 # [12]
+23DC 23E7
26B2
-27C7 27CA # [4]
-2B14 2B1A # [7]
-2B20 2B23 # [4]
-2C60 2C6C # [13]
-2C74 2C77 # [4]
-A717 A71A # [4]
-A720 A721 # [2]
-A840 A877 # [56]
-10900 10919 # [26]
+27C7 27CA
+2B14 2B1A
+2B20 2B23
+2C60 2C6C
+2C74 2C77
+A717 A71A
+A720 A721
+A840 A877
+10900 10919
1091F
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-1D360 1D371 # [18]
-1D7CA 1D7CB # [2]
+12000 1236E
+12400 12462
+12470 12473
+1D360 1D371
+1D7CA 1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl
index cf7ac47c6be..8c238f888f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl
@@ -1,126 +1,101 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1624 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Age=5.1}
-# \p{Is_Age=5.1}
-#
-# Meaning: Code point's usage was introduced in version 5.1
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 5.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0370 0373 # [4]
-0376 0377 # [2]
+0370 0373
+0376 0377
03CF
0487
-0514 0523 # [16]
-0606 060A # [5]
-0616 061A # [5]
-063B 063F # [5]
-076E 077F # [18]
-0971 0972 # [2]
+0514 0523
+0606 060A
+0616 061A
+063B 063F
+076E 077F
+0971 0972
0A51
0A75
0B44
-0B62 0B63 # [2]
+0B62 0B63
0BD0
0C3D
-0C58 0C59 # [2]
-0C62 0C63 # [2]
-0C78 0C7F # [8]
+0C58 0C59
+0C62 0C63
+0C78 0C7F
0D3D
0D44
-0D62 0D63 # [2]
-0D70 0D75 # [6]
-0D79 0D7F # [7]
-0F6B 0F6C # [2]
+0D62 0D63
+0D70 0D75
+0D79 0D7F
+0F6B 0F6C
0FCE
-0FD2 0FD4 # [3]
+0FD2 0FD4
1022
1028
102B
-1033 1035 # [3]
-103A 103F # [6]
-105A 1099 # [64]
-109E 109F # [2]
+1033 1035
+103A 103F
+105A 1099
+109E 109F
18AA
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
-1DCB 1DE6 # [28]
-1E9C 1E9F # [4]
-1EFA 1EFF # [6]
+1B80 1BAA
+1BAE 1BB9
+1C00 1C37
+1C3B 1C49
+1C4D 1C7F
+1DCB 1DE6
+1E9C 1E9F
+1EFA 1EFF
2064
20F0
214F
-2185 2188 # [4]
+2185 2188
269D
-26B3 26BC # [10]
-26C0 26C3 # [4]
+26B3 26BC
+26C0 26C3
27CC
-27EC 27EF # [4]
-2B1B 2B1F # [5]
-2B24 2B4C # [41]
-2B50 2B54 # [5]
-2C6D 2C6F # [3]
-2C71 2C73 # [3]
-2C78 2C7D # [6]
-2DE0 2DFF # [32]
-2E18 2E1B # [4]
-2E1E 2E30 # [19]
+27EC 27EF
+2B1B 2B1F
+2B24 2B4C
+2B50 2B54
+2C6D 2C6F
+2C71 2C73
+2C78 2C7D
+2DE0 2DFF
+2E18 2E1B
+2E1E 2E30
312D
-31D0 31E3 # [20]
-9FBC 9FC3 # [8]
-A500 A62B # [300]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
-A71B A71F # [5]
-A722 A78C # [107]
-A7FB A7FF # [5]
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
-A900 A953 # [84]
+31D0 31E3
+9FBC 9FC3
+A500 A62B
+A640 A65F
+A662 A673
+A67C A697
+A71B A71F
+A722 A78C
+A7FB A7FF
+A880 A8C4
+A8CE A8D9
+A900 A953
A95F
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA5F # [4]
-FE24 FE26 # [3]
-10190 1019B # [12]
-101D0 101FD # [46]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10920 10939 # [26]
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA5F
+FE24 FE26
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10920 10939
1093F
1D129
-1F000 1F02B # [44]
-1F030 1F093 # [100]
+1F000 1F02B
+1F030 1F093
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl
index 189972d27f9..6f72f7d3529 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl
@@ -1,127 +1,102 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 6648 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Age=5.2}
-# \p{Is_Age=5.2}
-#
-# Meaning: Code point's usage was introduced in version 5.2
-#
-# Note: See also Property 'Present_In'
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Age: 5.2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0524 0525 # [2]
-0800 082D # [46]
-0830 083E # [15]
+0524 0525
+0800 082D
+0830 083E
0900
094E
0955
-0979 097A # [2]
+0979 097A
09FB
-0FD5 0FD8 # [4]
-109A 109D # [4]
-115A 115E # [5]
-11A3 11A7 # [5]
-11FA 11FF # [6]
+0FD5 0FD8
+109A 109D
+115A 115E
+11A3 11A7
+11FA 11FF
1400
-1677 167F # [9]
-18B0 18F5 # [70]
-19AA 19AB # [2]
+1677 167F
+18B0 18F5
+19AA 19AB
19DA
-1A20 1A5E # [63]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
-1CD0 1CF2 # [35]
+1A20 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1CD0 1CF2
1DFD
-20B6 20B8 # [3]
-2150 2152 # [3]
+20B6 20B8
+2150 2152
2189
23E8
-269E 269F # [2]
-26BD 26BF # [3]
-26C4 26CD # [10]
-26CF 26E1 # [19]
+269E 269F
+26BD 26BF
+26C4 26CD
+26CF 26E1
26E3
-26E8 26FF # [24]
+26E8 26FF
2757
-2B55 2B59 # [5]
+2B55 2B59
2C70
-2C7E 2C7F # [2]
-2CEB 2CF1 # [7]
+2C7E 2C7F
+2CEB 2CF1
2E31
-3244 324F # [12]
-9FC4 9FCB # [8]
-A4D0 A4FF # [48]
-A6A0 A6F7 # [88]
-A830 A839 # [10]
-A8E0 A8FB # [28]
-A960 A97C # [29]
-A980 A9CD # [78]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
-AA60 AA7B # [28]
-AA80 AAC2 # [67]
-AADB AADF # [5]
-ABC0 ABED # [46]
-ABF0 ABF9 # [10]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-FA6B FA6D # [3]
-10840 10855 # [22]
-10857 1085F # [9]
-1091A 1091B # [2]
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B39 10B55 # [29]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11080 110C1 # [66]
-13000 1342E # [1071]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
+3244 324F
+9FC4 9FCB
+A4D0 A4FF
+A6A0 A6F7
+A830 A839
+A8E0 A8FB
+A960 A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA60 AA7B
+AA80 AAC2
+AADB AADF
+ABC0 ABED
+ABF0 ABF9
+D7B0 D7C6
+D7CB D7FB
+FA6B FA6D
+10840 10855
+10857 1085F
+1091A 1091B
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11080 110C1
+13000 1342E
+1F100 1F10A
+1F110 1F12E
1F131
1F13D
1F13F
1F142
1F146
-1F14A 1F14E # [5]
+1F14A 1F14E
1F157
1F15F
1F179
-1F17B 1F17C # [2]
+1F17B 1F17C
1F17F
-1F18A 1F18D # [4]
+1F18A 1F18D
1F190
1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-2A700 2B734 # [4149]
+1F210 1F231
+1F240 1F248
+2A700 2B734
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl
new file mode 100644
index 00000000000..cbe4b829134
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl
@@ -0,0 +1,118 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+0526 0527
+0620
+065F
+0840 085B
+085E
+093A 093B
+094F
+0956 0957
+0973 0977
+0B72 0B77
+0D29
+0D3A
+0D4E
+0F8C 0F8F
+0FD9 0FDA
+135D 135E
+1BC0 1BF3
+1BFC 1BFF
+1DFC
+2095 209C
+20B9
+23E9 23F3
+26CE
+26E2
+26E4 26E7
+2705
+270A 270B
+2728
+274C
+274E
+2753 2755
+275F 2760
+2795 2797
+27B0
+27BF
+27CE 27CF
+2D70
+2D7F
+31B8 31BA
+A660 A661
+A78D A78E
+A790 A791
+A7A0 A7A9
+A7FA
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+FBB2 FBC1
+11000 1104D
+11052 1106F
+16800 16A38
+1B000 1B001
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F130
+1F132 1F13C
+1F13E
+1F140 1F141
+1F143 1F145
+1F147 1F149
+1F14F 1F156
+1F158 1F15E
+1F160 1F169
+1F170 1F178
+1F17A
+1F17D 1F17E
+1F180 1F189
+1F18E 1F18F
+1F191 1F19A
+1F1E6 1F1FF
+1F201 1F202
+1F232 1F23A
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+2B740 2B81D
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl
index e338ad06a57..0fad55b86eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl
@@ -1,334 +1,290 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 867_169 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Age=Unassigned}
-# \p{Is_Age=Unassigned}
-#
-# \p{Present_In=Unassigned}
-# \p{In=Unassigned}
-#
-# Meaning: Code point's usage has not been assigned in any Unicode
-# release thus far.
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{In: Unassigned}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0378 0379 # [2]
-037F 0383 # [5]
+0378 0379
+037F 0383
038B
038D
03A2
-0526 0530 # [11]
-0557 0558 # [2]
+0528 0530
+0557 0558
0560
0588
-058B 0590 # [6]
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F5 05FF # [11]
-0604 0605 # [2]
-061C 061D # [2]
-0620
-065F
+058B 0590
+05C8 05CF
+05EB 05EF
+05F5 05FF
+0604 0605
+061C 061D
070E
-074B 074C # [2]
-07B2 07BF # [14]
-07FB 07FF # [5]
-082E 082F # [2]
-083F 08FF # [193]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0973 0978 # [6]
+074B 074C
+07B2 07BF
+07FB 07FF
+082E 082F
+083F
+085C 085D
+085F 08FF
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09FC 0A00 # [5]
+09E4 09E5
+09FC 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
0AF0
-0AF2 0B00 # [15]
+0AF2 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
-0B72 0B81 # [16]
+0B64 0B65
+0B78 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BFB 0C00 # [6]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BFB 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C77 # [8]
-0C80 0C81 # [2]
+0C5A 0C5F
+0C64 0C65
+0C70 0C77
+0C80 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
+0CE4 0CE5
0CF0
-0CF3 0D01 # [15]
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D76 0D78 # [3]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D76 0D78
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF5 0E00 # [12]
-0E3B 0E3E # [4]
-0E5C 0E80 # [37]
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
0F48
-0F6D 0F70 # [4]
-0F8C 0F8F # [4]
+0F6D 0F70
0F98
0FBD
0FCD
-0FD9 0FFF # [39]
-10C6 10CF # [10]
-10FD 10FF # [3]
+0FDB 0FFF
+10C6 10CF
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-137D 137F # [3]
-139A 139F # [6]
-13F5 13FF # [11]
-169D 169F # [3]
-16F1 16FF # [15]
+1316 1317
+135B 135C
+137D 137F
+139A 139F
+13F5 13FF
+169D 169F
+16F1 16FF
170D
-1715 171F # [11]
-1737 173F # [9]
-1754 175F # [12]
+1715 171F
+1737 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17DE 17DF # [2]
-17EA 17EF # [6]
-17FA 17FF # [6]
+1774 177F
+17DE 17DF
+17EA 17EF
+17FA 17FF
180F
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 193F # [4]
-1941 1943 # [3]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19DD # [3]
-1A1C 1A1D # [2]
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19DD
+1A1C 1A1D
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1A9F # [6]
-1AAE 1AFF # [82]
-1B4C 1B4F # [4]
-1B7D 1B7F # [3]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3A # [3]
-1C4A 1C4C # [3]
-1C80 1CCF # [80]
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1A9F
+1AAE 1AFF
+1B4C 1B4F
+1B7D 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFB
+1C38 1C3A
+1C4A 1C4C
+1C80 1CCF
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-2065 2069 # [5]
-2072 2073 # [2]
+2065 2069
+2072 2073
208F
-2095 209F # [11]
-20B9 20CF # [23]
-20F1 20FF # [15]
-218A 218F # [6]
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-26CE
-26E2
-26E4 26E7 # [4]
+209D 209F
+20BA 20CF
+20F1 20FF
+218A 218F
+23F4 23FF
+2427 243F
+244B 245F
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2B4D 2B4F # [3]
-2B5A 2BFF # [166]
+27CD
+2B4D 2B4F
+2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8 # [7]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CF2 2CF8
+2D26 2D2F
+2D66 2D6E
+2D71 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -337,197 +293,230 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F # [78]
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
3040
-3097 3098 # [2]
-3100 3104 # [5]
-312E 3130 # [3]
+3097 3098
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-4DB6 4DBF # [10]
-9FCC 9FFF # [52]
-A48D A48F # [3]
-A4C7 A4CF # [9]
-A62C A63F # [20]
-A660 A661 # [2]
-A674 A67B # [8]
-A698 A69F # [8]
-A6F8 A6FF # [8]
-A78D A7FA # [110]
-A82C A82F # [4]
-A83A A83F # [6]
-A878 A87F # [8]
-A8C5 A8CD # [9]
-A8DA A8DF # [6]
-A8FC A8FF # [4]
-A954 A95E # [11]
-A97D A97F # [3]
+4DB6 4DBF
+9FCC 9FFF
+A48D A48F
+A4C7 A4CF
+A62C A63F
+A674 A67B
+A698 A69F
+A6F8 A6FF
+A78F
+A792 A79F
+A7AA A7F9
+A82C A82F
+A83A A83F
+A878 A87F
+A8C5 A8CD
+A8DA A8DF
+A8FC A8FF
+A954 A95E
+A97D A97F
A9CE
-A9DA A9DD # [4]
-A9E0 A9FF # [32]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5B # [2]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AAE0 ABBF # [224]
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC D7FF # [4]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+A9DA A9DD
+A9E0 A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5B
+AA7C AA7F
+AAC3 AADA
+AAE0 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC D7FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDCF # [8]
-FDFE FDFF # [2]
-FE1A FE1F # [6]
-FE27 FE2F # [9]
+FBC2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDCF
+FDFE FDFF
+FE1A FE1F
+FE27 FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE75
-FEFD FEFE # [2]
+FEFD FEFE
FF00
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFF8 # [10]
+FFEF FFF8
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 100FF # [5]
-10103 10106 # [4]
-10134 10136 # [3]
-1018B 1018F # [5]
-1019C 101CF # [52]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+1018B 1018F
+1019C 101CF
+101FE 1027F
+1029D 1029F
+102D1 102FF
1031F
-10324 1032F # [12]
-1034B 1037F # [53]
+10324 1032F
+1034B 1037F
1039E
-103C4 103C7 # [4]
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103C4 103C7
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
+10839 1083B
+1083D 1083E
10856
-10860 108FF # [160]
-1091C 1091E # [3]
-1093A 1093E # [5]
-10940 109FF # [192]
+10860 108FF
+1091C 1091E
+1093A 1093E
+10940 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A48 10A4F # [8]
-10A59 10A5F # [7]
-10A80 10AFF # [128]
-10B36 10B38 # [3]
-10B56 10B57 # [2]
-10B73 10B77 # [5]
-10B80 10BFF # [128]
-10C49 10E5F # [535]
-10E7F 1107F # [513]
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 1246F # [13]
-12474 12FFF # [2956]
-1342F 1CFFF # [39_889]
-1D0F6 1D0FF # [10]
-1D127 1D128 # [2]
-1D1DE 1D1FF # [34]
-1D246 1D2FF # [186]
-1D357 1D35F # [9]
-1D372 1D3FF # [142]
+10A34 10A37
+10A3B 10A3E
+10A48 10A4F
+10A59 10A5F
+10A80 10AFF
+10B36 10B38
+10B56 10B57
+10B73 10B77
+10B80 10BFF
+10C49 10E5F
+10E7F 10FFF
+1104E 11051
+11070 1107F
+110C2 11FFF
+1236F 123FF
+12463 1246F
+12474 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1CFFF
+1D0F6 1D0FF
+1D127 1D128
+1D1DE 1D1FF
+1D246 1D2FF
+1D357 1D35F
+1D372 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1EFFF # [6144]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFD # [3509]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E 2FFFD # [1504]
-30000 3FFFD # [65_534]
-40000 4FFFD # [65_534]
-50000 5FFFD # [65_534]
-60000 6FFFD # [65_534]
-70000 7FFFD # [65_534]
-80000 8FFFD # [65_534]
-90000 9FFFD # [65_534]
-A0000 AFFFD # [65_534]
-B0000 BFFFD # [65_534]
-C0000 CFFFD # [65_534]
-D0000 DFFFD # [65_534]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1EFFF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F10F
+1F12F
+1F16A 1F16F
+1F19B 1F1E5
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F4F8
+1F4FD 1F4FF
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFD
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E 2FFFD
+30000 3FFFD
+40000 4FFFD
+50000 5FFFD
+60000 6FFFD
+70000 7FFFD
+80000 8FFFD
+90000 9FFFD
+A0000 AFFFD
+B0000 BFFFD
+C0000 CFFFD
+D0000 DFFFD
E0000
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 EFFFD # [65_038]
+E0002 E001F
+E0080 E00FF
+E01F0 EFFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl
index 3d6817ebae6..a28348e1b7d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl
@@ -1,359 +1,332 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_013_592 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Alphabetic=No}
-# \p{Alpha=N}
-# \p{Is_Alphabetic=F}
-# \p{Is_Alpha=False}
-#
-# \P{Alpha}
-# \P{Is_Alpha}
-# \P{Alphabetic}
-# \P{Is_Alphabetic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Alpha: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 0060 # [6]
-007B 00A9 # [47]
-00AB 00B4 # [10]
-00B6 00B9 # [4]
-00BB 00BF # [5]
+0000 0040
+005B 0060
+007B 00A9
+00AB 00B4
+00B6 00B9
+00BB 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 0344 # [86]
-0346 036F # [42]
+02EF 0344
+0346 036F
0375
-0378 0379 # [2]
-037E 0385 # [8]
+0378 0379
+037E 0385
0387
038B
038D
03A2
03F6
-0482 0489 # [8]
-0526 0530 # [11]
-0557 0558 # [2]
-055A 0560 # [7]
-0588 05AF # [40]
+0482 0489
+0528 0530
+0557 0558
+055A 0560
+0588 05AF
05BE
05C0
05C3
05C6
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F3 060F # [29]
-061B 0620 # [6]
+05C8 05CF
+05EB 05EF
+05F3 060F
+061B 061F
0658
-065F 066D # [15]
+0660 066D
06D4
-06DD 06E0 # [4]
-06E9 06EC # [4]
-06F0 06F9 # [10]
-06FD 06FE # [2]
-0700 070F # [16]
-0740 074C # [13]
-07B2 07C9 # [24]
-07EB 07F3 # [9]
-07F6 07F9 # [4]
-07FB 07FF # [5]
-0818 0819 # [2]
-082D 08FF # [211]
-093A 093C # [3]
+06DD 06E0
+06E9 06EC
+06F0 06F9
+06FD 06FE
+0700 070F
+0740 074C
+07B2 07C9
+07EB 07F3
+07F6 07F9
+07FB 07FF
+0818 0819
+082D 083F
+0859 08FF
+093C
094D
-094F
-0951 0954 # [4]
-0956 0957 # [2]
-0964 0970 # [13]
-0973 0978 # [6]
+0951 0954
+0964 0970
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BC # [3]
-09C5 09C6 # [2]
-09C9 09CA # [2]
+09B3 09B5
+09BA 09BC
+09C5 09C6
+09C9 09CA
09CD
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09CF 09D6
+09D8 09DB
09DE
-09E4 09EF # [12]
-09F2 0A00 # [15]
+09E4 09EF
+09F2 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3D # [4]
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4D 0A50 # [4]
-0A52 0A58 # [7]
+0A3A 0A3D
+0A43 0A46
+0A49 0A4A
+0A4D 0A50
+0A52 0A58
0A5D
-0A5F 0A6F # [17]
-0A76 0A80 # [11]
+0A5F 0A6F
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABC # [3]
+0ABA 0ABC
0AC6
0ACA
-0ACD 0ACF # [3]
-0AD1 0ADF # [15]
-0AE4 0B00 # [29]
+0ACD 0ACF
+0AD1 0ADF
+0AE4 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3C # [3]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4D 0B55 # [9]
-0B58 0B5B # [4]
+0B3A 0B3C
+0B45 0B46
+0B49 0B4A
+0B4D 0B55
+0B58 0B5B
0B5E
-0B64 0B70 # [13]
-0B72 0B81 # [16]
+0B64 0B70
+0B72 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCD 0BCF # [3]
-0BD1 0BD6 # [6]
-0BD8 0C00 # [41]
+0BCD 0BCF
+0BD1 0BD6
+0BD8 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4D 0C54 # [8]
+0C4D 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C81 # [30]
+0C5A 0C5F
+0C64 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBC # [3]
+0CBA 0CBC
0CC5
0CC9
-0CCD 0CD4 # [8]
-0CD7 0CDD # [7]
+0CCD 0CD4
+0CD7 0CDD
0CDF
-0CE4 0D01 # [30]
+0CE4 0CF0
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4D 0D56 # [10]
-0D58 0D5F # [8]
-0D64 0D79 # [22]
-0D80 0D81 # [2]
+0D4D
+0D4F 0D56
+0D58 0D5F
+0D64 0D79
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DCE # [8]
+0DBE 0DBF
+0DC7 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E00 # [13]
-0E3B 0E3F # [5]
-0E47 0E4C # [6]
-0E4E 0E80 # [51]
+0DE0 0DF1
+0DF4 0E00
+0E3B 0E3F
+0E47 0E4C
+0E4E 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
-0EC7 0ECC # [6]
-0ECE 0EDB # [14]
-0EDE 0EFF # [34]
-0F01 0F3F # [63]
+0EC7 0ECC
+0ECE 0EDB
+0EDE 0EFF
+0F01 0F3F
0F48
-0F6D 0F70 # [4]
-0F82 0F87 # [6]
-0F8C 0F8F # [4]
+0F6D 0F70
+0F82 0F87
0F98
-0FBD 0FFF # [67]
+0FBD 0FFF
1037
-1039 103A # [2]
-1040 104F # [16]
-1063 1064 # [2]
-1069 106D # [5]
-1087 108D # [7]
-108F 109B # [13]
-109E 109F # [2]
-10C6 10CF # [10]
+1039 103A
+1040 104F
+1063 1064
+1069 106D
+1087 108D
+108F 109B
+109E 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-1360 137F # [32]
-1390 139F # [16]
-13F5 1400 # [12]
-166D 166E # [2]
+1316 1317
+135B 135E
+1360 137F
+1390 139F
+13F5 1400
+166D 166E
1680
-169B 169F # [5]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169B 169F
+16EB 16ED
+16F1 16FF
170D
-1714 171F # [12]
-1734 173F # [12]
-1754 175F # [12]
+1714 171F
+1734 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17B4 17B5 # [2]
-17C9 17D6 # [14]
-17D8 17DB # [4]
-17DD 181F # [67]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-1939 194F # [23]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19FF # [54]
-1A1C 1A1F # [4]
-1A5F 1A60 # [2]
-1A75 1AA6 # [50]
-1AA8 1AFF # [88]
+1774 177F
+17B4 17B5
+17C9 17D6
+17D8 17DB
+17DD 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+1939 194F
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19FF
+1A1C 1A1F
+1A5F 1A60
+1A75 1AA6
+1AA8 1AFF
1B34
1B44
-1B4C 1B7F # [52]
-1BAA 1BAD # [4]
-1BB0 1BFF # [80]
-1C36 1C4C # [23]
-1C50 1C59 # [10]
-1C7E 1CE8 # [107]
+1B4C 1B7F
+1BAA 1BAD
+1BB0 1BBF
+1BE6
+1BF2 1BFF
+1C36 1C4C
+1C50 1C59
+1C7E 1CE8
1CED
-1CF3 1CFF # [13]
-1DC0 1DFF # [64]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF3 1CFF
+1DC0 1DFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 2070 # [116]
-2072 207E # [13]
-2080 208F # [16]
-2095 2101 # [109]
-2103 2106 # [4]
-2108 2109 # [2]
+1FFD 2070
+2072 207E
+2080 208F
+209D 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2118
+211E 2123
2125
2127
2129
212E
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 24B5 # [813]
-24EA 2BFF # [1814]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 24B5
+24EA 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CEF 2CFF # [17]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CEF 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7F
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -362,142 +335,152 @@ return <<'END';
2DCF
2DD7
2DDF
-2E00 2E2E # [47]
-2E30 3004 # [469]
-3008 3020 # [25]
-302A 3030 # [7]
-3036 3037 # [2]
-303D 3040 # [4]
-3097 309C # [6]
+2E00 2E2E
+2E30 3004
+3008 3020
+302A 3030
+3036 3037
+303D 3040
+3097 309C
30A0
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 33FF # [512]
-4DB6 4DFF # [74]
-9FCC 9FFF # [52]
-A48D A4CF # [67]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A620 A629 # [10]
-A62C A63F # [20]
-A660 A661 # [2]
-A66F A67E # [16]
-A698 A69F # [8]
-A6F0 A716 # [39]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 33FF
+4DB6 4DFF
+9FCC 9FFF
+A48D A4CF
+A4FE A4FF
+A60D A60F
+A620 A629
+A62C A63F
+A66F A67E
+A698 A69F
+A6F0 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
A802
A806
A80B
-A828 A83F # [24]
-A874 A87F # [12]
-A8C4 A8F1 # [46]
-A8F8 A8FA # [3]
-A8FC A909 # [14]
-A92B A92F # [5]
-A953 A95F # [13]
-A97D A97F # [3]
-A9C0 A9CE # [15]
-A9D0 A9FF # [48]
-AA37 AA3F # [9]
-AA4E AA5F # [18]
-AA77 AA79 # [3]
-AA7B AA7F # [5]
+A828 A83F
+A874 A87F
+A8C4 A8F1
+A8F8 A8FA
+A8FC A909
+A92B A92F
+A953 A95F
+A97D A97F
+A9B3
+A9C0 A9CE
+A9D0 A9FF
+AA37 AA3F
+AA4E AA5F
+AA77 AA79
+AA7B AA7F
AABF
AAC1
-AAC3 AADA # [24]
-AADE ABBF # [226]
-ABEB ABFF # [21]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+AAC3 AADA
+AADE AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEB ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB29
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFC FE6F # [116]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFC FE6F
FE75
-FEFD FF20 # [36]
-FF3B FF40 # [6]
-FF5B FF65 # [11]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFFF # [35]
+FEFD FF20
+FF3B FF40
+FF5B FF65
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 1027F # [267]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 107FF # [866]
-10806 10807 # [2]
+103D6 103FF
+1049E 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A5F # [44]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 11081 # [1081]
-110B9 11FFF # [3911]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D3FF # [40_913]
+10A34 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 10FFF
+11046 11081
+110B9 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -508,8 +491,9 @@ FFDD FFFF # [35]
1D789
1D7A9
1D7C3
-1D7CC 1FFFF # [10_292]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E 10FFFF # [919_010]
+1D7CC 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
index 5ea7e83abbe..b98acd9e7a3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
@@ -1,514 +1,498 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 100_520 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Alphabetic=Yes}
-# \p{Alpha=Y}
-# \p{Is_Alphabetic=T}
-# \p{Is_Alpha=True}
-#
-# \p{Alpha}
-# \p{Is_Alpha}
-# \p{Alphabetic}
-# \p{Is_Alphabetic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Alpha: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
0345
-0370 0374 # [5]
-0376 0377 # [2]
-037A 037D # [4]
+0370 0374
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-05B0 05BD # [14]
+0561 0587
+05B0 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0610 061A # [11]
-0621 0657 # [55]
-0659 065E # [6]
-066E 06D3 # [102]
-06D5 06DC # [8]
-06E1 06E8 # [8]
-06ED 06EF # [3]
-06FA 06FC # [3]
+05D0 05EA
+05F0 05F2
+0610 061A
+0620 0657
+0659 065F
+066E 06D3
+06D5 06DC
+06E1 06E8
+06ED 06EF
+06FA 06FC
06FF
-0710 073F # [48]
-074D 07B1 # [101]
-07CA 07EA # [33]
-07F4 07F5 # [2]
+0710 073F
+074D 07B1
+07CA 07EA
+07F4 07F5
07FA
-0800 0817 # [24]
-081A 082C # [19]
-0900 0939 # [58]
-093D 094C # [16]
-094E
-0950
-0955
-0958 0963 # [12]
-0971 0972 # [2]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0800 0817
+081A 082C
+0840 0858
+0900 093B
+093D 094C
+094E 0950
+0955 0963
+0971 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BD 09C4 # [8]
-09C7 09C8 # [2]
-09CB 09CC # [2]
+09B6 09B9
+09BD 09C4
+09C7 09C8
+09CB 09CC
09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09F0 09F1 # [2]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4C # [2]
+09DC 09DD
+09DF 09E3
+09F0 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3E 0A42
+0A47 0A48
+0A4B 0A4C
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A70 0A75 # [6]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABD 0AC5 # [9]
-0AC7 0AC9 # [3]
-0ACB 0ACC # [2]
+0A70 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD 0AC5
+0AC7 0AC9
+0ACB 0ACC
0AD0
-0AE0 0AE3 # [4]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3D 0B44 # [8]
-0B47 0B48 # [2]
-0B4B 0B4C # [2]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
+0AE0 0AE3
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D 0B44
+0B47 0B48
+0B4B 0B4C
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
0B71
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCC # [3]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCC
0BD0
0BD7
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4C # [3]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBD 0CC4 # [8]
-0CC6 0CC8 # [3]
-0CCA 0CCC # [3]
-0CD5 0CD6 # [2]
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4C
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD 0CC4
+0CC6 0CC8
+0CCA 0CCC
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4C # [3]
+0CE0 0CE3
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4C
+0D4E
0D57
-0D60 0D63 # [4]
-0D7A 0D7F # [6]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D7A 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0DCF 0DD4 # [6]
+0DC0 0DC6
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0E01 0E3A # [58]
-0E40 0E46 # [7]
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E46
0E4D
-0E81 0E82 # [2]
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
0ECD
-0EDC 0EDD # [2]
+0EDC 0EDD
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F71 0F81 # [17]
-0F88 0F8B # [4]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-1000 1036 # [55]
+0F40 0F47
+0F49 0F6C
+0F71 0F81
+0F88 0F97
+0F99 0FBC
+1000 1036
1038
-103B 103F # [5]
-1050 1062 # [19]
-1065 1068 # [4]
-106E 1086 # [25]
+103B 103F
+1050 1062
+1065 1068
+106E 1086
108E
-109C 109D # [2]
-10A0 10C5 # [38]
-10D0 10FA # [43]
+109C 109D
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
135F
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1713 # [6]
-1720 1733 # [20]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17B3 # [52]
-17B6 17C8 # [19]
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1713
+1720 1733
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17C8
17D7
17DC
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 1938 # [9]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-1A00 1A1B # [28]
-1A20 1A5E # [63]
-1A61 1A74 # [20]
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 1938
+1950 196D
+1970 1974
+1980 19AB
+19B0 19C9
+1A00 1A1B
+1A20 1A5E
+1A61 1A74
1AA7
-1B00 1B33 # [52]
-1B35 1B43 # [15]
-1B45 1B4B # [7]
-1B80 1BA9 # [42]
-1BAE 1BAF # [2]
-1C00 1C35 # [54]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
-1CE9 1CEC # [4]
-1CEE 1CF2 # [5]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B00 1B33
+1B35 1B43
+1B45 1B4B
+1B80 1BA9
+1BAE 1BAF
+1BC0 1BE5
+1BE7 1BF1
+1C00 1C35
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF2
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2071
207F
-2090 2094 # [5]
+2090 209C
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213C 213F # [4]
-2145 2149 # [5]
+212A 212D
+212F 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-24B6 24E9 # [52]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+24B6 24E9
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2DFF # [32]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2DFF
2E2F
-3005 3007 # [3]
-3021 3029 # [9]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
-A640 A65F # [32]
-A662 A66E # [13]
-A67F A697 # [25]
-A6A0 A6EF # [80]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A827 # [28]
-A840 A873 # [52]
-A880 A8C3 # [68]
-A8F2 A8F7 # [6]
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
+A67F A697
+A6A0 A6EF
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A827
+A840 A873
+A880 A8C3
+A8F2 A8F7
A8FB
-A90A A92A # [33]
-A930 A952 # [35]
-A960 A97C # [29]
-A980 A9BF # [64]
+A90A A92A
+A930 A952
+A960 A97C
+A980 A9B2
+A9B4 A9BF
A9CF
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA60 AA76 # [23]
+AA00 AA36
+AA40 AA4D
+AA60 AA76
AA7A
-AA80 AABE # [63]
+AA80 AABE
AAC0
AAC2
-AADB AADD # [3]
-ABC0 ABEA # [43]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB28 # [12]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABEA
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11082 110B8 # [55]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1083F 10855
+10900 10915
+10920 10939
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11000 11045
+11082 110B8
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
index bb6a3e26cfd..2dddb445114 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
@@ -1,55 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1116 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Arabic_Letter}
-# \p{Bc=AL}
-# \p{Is_Bidi_Class=Arabic_Letter}
-# \p{Is_Bc=AL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Arabic_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0604 0605 # [2]
+0604 0605
0608
060B
060D
-061B 064A # [48]
-065F
-066D 066F # [3]
-0671 06D5 # [101]
-06E5 06E6 # [2]
-06EE 06EF # [2]
-06FA 070E # [21]
-0710
-0712 072F # [30]
-074B 07A5 # [91]
-07B1 07BF # [15]
-FB50 FD3D # [494]
-FD40 FDCF # [144]
-FDF0 FDFC # [13]
-FDFE FDFF # [2]
-FE70 FEFE # [143]
+061B 064A
+066D 066F
+0671 06D5
+06E5 06E6
+06EE 06EF
+06FA 0710
+0712 072F
+074B 07A5
+07B1 07BF
+FB50 FD3D
+FD40 FDCF
+FDF0 FDFC
+FDFE FDFF
+FE70 FEFE
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
index 7eb07139562..6bc692ef23b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Arabic_Number}
-# \p{Bc=AN}
-# \p{Is_Bidi_Class=Arabic_Number}
-# \p{Is_Bc=AN}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Arabic_Number}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0600 0603 # [4]
-0660 0669 # [10]
-066B 066C # [2]
+0600 0603
+0660 0669
+066B 066C
06DD
-10E60 10E7E # [31]
+10E60 10E7E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
index a00e7e6d034..a9c6a165876 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Bidi_Class=Paragraph_Separator}
-# \p{Bc=B}
-# \p{Is_Bidi_Class=Paragraph_Separator}
-# \p{Is_Bc=B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Paragraph_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
000A
000D
-001C 001E # [3]
+001C 001E
0085
2029
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
index 01436b3c53f..7342fbd784b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
@@ -1,65 +1,41 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4016 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Boundary_Neutral}
-# \p{Bc=BN}
-# \p{Is_Bidi_Class=Boundary_Neutral}
-# \p{Is_Bc=BN}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Boundary_Neutral}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0008 # [9]
-000E 001B # [14]
-007F 0084 # [6]
-0086 009F # [26]
+0000 0008
+000E 001B
+007F 0084
+0086 009F
00AD
-070F
-200B 200D # [3]
-2060 206F # [16]
-FDD0 FDEF # [32]
+200B 200D
+2060 206F
+FDD0 FDEF
FEFF
-FFF0 FFF8 # [9]
-FFFE FFFF # [2]
-1D173 1D17A # [8]
-1FFFE 1FFFF # [2]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE E00FF # [258]
-E01F0 E0FFF # [3600]
-EFFFE EFFFF # [2]
-FFFFE FFFFF # [2]
-10FFFE 10FFFF # [2]
+FFF0 FFF8
+FFFE FFFF
+1D173 1D17A
+1FFFE 1FFFF
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE E00FF
+E01F0 E0FFF
+EFFFE EFFFF
+FFFFE FFFFF
+10FFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
index a54da94aee0..24767411b3b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
@@ -1,39 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 15 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Common_Separator}
-# \p{Bc=CS}
-# \p{Is_Bidi_Class=Common_Separator}
-# \p{Is_Bc=CS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Common_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002C
-002E 002F # [2]
+002E 002F
003A
00A0
060C
@@ -43,6 +20,6 @@ FE50
FE52
FE55
FF0C
-FF0E FF0F # [2]
+FF0E FF0F
FF1A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
index 10dd60a2b74..31332a6fc38 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
@@ -1,46 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 131 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=European_Number}
-# \p{Bc=EN}
-# \p{Is_Bidi_Class=European_Number}
-# \p{Is_Bc=EN}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: European_Number}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-00B2 00B3 # [2]
+0030 0039
+00B2 00B3
00B9
-06F0 06F9 # [10]
+06F0 06F9
2070
-2074 2079 # [6]
-2080 2089 # [10]
-2488 249B # [20]
-FF10 FF19 # [10]
-1D7CE 1D7FF # [50]
-1F100 1F10A # [11]
+2074 2079
+2080 2089
+2488 249B
+FF10 FF19
+1D7CE 1D7FF
+1F100 1F10A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
index 3fb95df6c21..f560e045975 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
@@ -1,44 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 12 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=European_Separator}
-# \p{Bc=ES}
-# \p{Is_Bidi_Class=European_Separator}
-# \p{Is_Bc=ES}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: European_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002B
002D
-207A 207B # [2]
-208A 208B # [2]
+207A 207B
+208A 208B
2212
FB29
-FE62 FE63 # [2]
+FE62 FE63
FF0B
FF0D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
index 6383afa4b20..db15f14d4a7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
@@ -1,56 +1,33 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 63 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=European_Terminator}
-# \p{Bc=ET}
-# \p{Is_Bidi_Class=European_Terminator}
-# \p{Is_Bc=ET}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: European_Terminator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0023 0025 # [3]
-00A2 00A5 # [4]
-00B0 00B1 # [2]
-0609 060A # [2]
+0023 0025
+00A2 00A5
+00B0 00B1
+0609 060A
066A
-09F2 09F3 # [2]
+09F2 09F3
09FB
0AF1
0BF9
0E3F
17DB
-2030 2034 # [5]
-20A0 20B8 # [25]
+2030 2034
+20A0 20B9
212E
2213
-A838 A839 # [2]
+A838 A839
FE5F
-FE69 FE6A # [2]
-FF03 FF05 # [3]
-FFE0 FFE1 # [2]
-FFE5 FFE6 # [2]
+FE69 FE6A
+FF03 FF05
+FFE0 FFE1
+FFE5 FFE6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
index 46e26a8c287..06569e171eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
@@ -1,352 +1,358 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_099_541 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Left_To_Right}
-# \p{Bc=L}
-# \p{Is_Bidi_Class=Left_To_Right}
-# \p{Is_Bc=L}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Left_To_Right}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02B8 # [449]
-02BB 02C1 # [7]
-02D0 02D1 # [2]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02B8
+02BB 02C1
+02D0 02D1
+02E0 02E4
02EE
-0370 0373 # [4]
-0376 037D # [8]
-037F 0383 # [5]
+0370 0373
+0376 037D
+037F 0383
0386
-0388 03F5 # [110]
-03F7 0482 # [140]
-048A 0589 # [256]
-058B 058F # [5]
-0903 093B # [57]
-093D 0940 # [4]
-0949 094C # [4]
-094E 0950 # [3]
-0956 0961 # [12]
-0964 0980 # [29]
-0982 09BB # [58]
-09BD 09C0 # [4]
-09C5 09CC # [8]
-09CE 09E1 # [20]
-09E4 09F1 # [14]
-09F4 09FA # [7]
-09FC 0A00 # [5]
-0A03 0A3B # [57]
-0A3D 0A40 # [4]
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A6F # [30]
-0A72 0A74 # [3]
-0A76 0A80 # [11]
-0A83 0ABB # [57]
-0ABD 0AC0 # [4]
+0388 03F5
+03F7 0482
+048A 0589
+058B 058F
+0903 0939
+093B
+093D 0940
+0949 094C
+094E 0950
+0958 0961
+0964 0980
+0982 09BB
+09BD 09C0
+09C5 09CC
+09CE 09E1
+09E4 09F1
+09F4 09FA
+09FC 0A00
+0A03 0A3B
+0A3D 0A40
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A6F
+0A72 0A74
+0A76 0A80
+0A83 0ABB
+0ABD 0AC0
0AC6
-0AC9 0ACC # [4]
-0ACE 0AE1 # [20]
-0AE4 0AF0 # [13]
-0AF2 0B00 # [15]
-0B02 0B3B # [58]
-0B3D 0B3E # [2]
+0AC9 0ACC
+0ACE 0AE1
+0AE4 0AF0
+0AF2 0B00
+0B02 0B3B
+0B3D 0B3E
0B40
-0B45 0B4C # [8]
-0B4E 0B55 # [8]
-0B57 0B61 # [11]
-0B64 0B81 # [30]
-0B83 0BBF # [61]
-0BC1 0BCC # [12]
-0BCE 0BF2 # [37]
-0BFB 0C3D # [67]
-0C41 0C45 # [5]
+0B45 0B4C
+0B4E 0B55
+0B57 0B61
+0B64 0B81
+0B83 0BBF
+0BC1 0BCC
+0BCE 0BF2
+0BFB 0C3D
+0C41 0C45
0C49
-0C4E 0C54 # [7]
-0C57 0C61 # [11]
-0C64 0C77 # [20]
-0C7F 0CBB # [61]
-0CBD 0CCB # [15]
-0CCE 0CE1 # [20]
-0CE4 0CF0 # [13]
-0CF3 0D40 # [78]
-0D45 0D4C # [8]
-0D4E 0D61 # [20]
-0D64 0DC9 # [102]
-0DCB 0DD1 # [7]
+0C4E 0C54
+0C57 0C61
+0C64 0C77
+0C7F 0CBB
+0CBD 0CCB
+0CCE 0CE1
+0CE4 0D40
+0D45 0D4C
+0D4E 0D61
+0D64 0DC9
+0DCB 0DD1
0DD5
-0DD7 0E30 # [90]
-0E32 0E33 # [2]
-0E3B 0E3E # [4]
-0E40 0E46 # [7]
-0E4F 0EB0 # [98]
-0EB2 0EB3 # [2]
+0DD7 0E30
+0E32 0E33
+0E3B 0E3E
+0E40 0E46
+0E4F 0EB0
+0EB2 0EB3
0EBA
-0EBD 0EC7 # [11]
-0ECE 0F17 # [74]
-0F1A 0F34 # [27]
+0EBD 0EC7
+0ECE 0F17
+0F1A 0F34
0F36
0F38
-0F3E 0F70 # [51]
+0F3E 0F70
0F7F
0F85
-0F88 0F8F # [8]
+0F88 0F8C
0F98
-0FBD 0FC5 # [9]
-0FC7 102C # [102]
+0FBD 0FC5
+0FC7 102C
1031
1038
-103B 103C # [2]
-103F 1057 # [25]
-105A 105D # [4]
-1061 1070 # [16]
-1075 1081 # [13]
-1083 1084 # [2]
-1087 108C # [6]
-108E 109C # [15]
-109E 135E # [705]
-1360 138F # [48]
-139A 13FF # [102]
-1401 167F # [639]
-1681 169A # [26]
-169D 1711 # [117]
-1715 1731 # [29]
-1735 1751 # [29]
-1754 1771 # [30]
-1774 17B6 # [67]
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-17D4 17DA # [7]
+103B 103C
+103F 1057
+105A 105D
+1061 1070
+1075 1081
+1083 1084
+1087 108C
+108E 109C
+109E 135C
+1360 138F
+139A 13FF
+1401 167F
+1681 169A
+169D 1711
+1715 1731
+1735 1751
+1754 1771
+1774 17B6
+17BE 17C5
+17C7 17C8
+17D4 17DA
17DC
-17DE 17EF # [18]
-17FA 17FF # [6]
-180F 18A8 # [154]
-18AA 191F # [118]
-1923 1926 # [4]
-1929 1931 # [9]
-1933 1938 # [6]
-193C 193F # [4]
-1941 1943 # [3]
-1946 19DD # [152]
-1A00 1A16 # [23]
-1A19 1A55 # [61]
+17DE 17EF
+17FA 17FF
+180F 18A8
+18AA 191F
+1923 1926
+1929 1931
+1933 1938
+193C 193F
+1941 1943
+1946 19DD
+1A00 1A16
+1A19 1A55
1A57
1A5F
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
-1A7D 1A7E # [2]
-1A80 1AFF # [128]
-1B04 1B33 # [48]
+1A63 1A64
+1A6D 1A72
+1A7D 1A7E
+1A80 1AFF
+1B04 1B33
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B6A # [40]
-1B74 1B7F # [12]
-1B82 1BA1 # [32]
-1BA6 1BA7 # [2]
-1BAA 1C2B # [130]
-1C34 1C35 # [2]
-1C38 1CCF # [152]
+1B3D 1B41
+1B43 1B6A
+1B74 1B7F
+1B82 1BA1
+1BA6 1BA7
+1BAA 1BE5
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1C2B
+1C34 1C35
+1C38 1CCF
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1DBF # [210]
-1DE7 1DFC # [22]
-1E00 1FBC # [445]
+1CE9 1CEC
+1CEE 1DBF
+1DE7 1DFB
+1E00 1FBC
1FBE
-1FC2 1FCC # [11]
-1FD0 1FDC # [13]
-1FE0 1FEC # [13]
-1FF0 1FFC # [13]
+1FC2 1FCC
+1FD0 1FDC
+1FE0 1FEC
+1FF0 1FFC
1FFF
200E
-2071 2073 # [3]
+2071 2073
207F
-208F 209F # [17]
-20B9 20CF # [23]
-20F1 20FF # [15]
+208F 209F
+20BA 20CF
+20F1 20FF
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213C 213F # [4]
-2145 2149 # [5]
-214E 214F # [2]
-2160 2188 # [41]
-218A 218F # [6]
-2336 237A # [69]
+212A 212D
+212F 2139
+213C 213F
+2145 2149
+214E 214F
+2160 2188
+218A 218F
+2336 237A
2395
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-249C 24E9 # [78]
+23F4 23FF
+2427 243F
+244B 245F
+249C 24E9
26AC
-26CE
-26E2
-26E4 26E7 # [4]
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2800 28FF # [256]
-2B4D 2B4F # [3]
-2B5A 2CE4 # [395]
-2CEB 2CEE # [4]
-2CF2 2CF8 # [7]
-2D00 2DDF # [224]
-2E32 2E7F # [78]
+27CD
+2800 28FF
+2B4D 2B4F
+2B5A 2CE4
+2CEB 2CEE
+2CF2 2CF8
+2D00 2D7E
+2D80 2DDF
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
-3005 3007 # [3]
-3021 3029 # [9]
-3031 3035 # [5]
-3038 303C # [5]
-3040 3098 # [89]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 31BF # [196]
-31E4 321C # [57]
-321F 324F # [49]
-3260 327B # [28]
-327F 32B0 # [50]
-32C0 32CB # [12]
-32D0 3376 # [167]
-337B 33DD # [99]
-33E0 33FE # [31]
-3400 4DBF # [6592]
-4E00 A48F # [22_160]
-A4C7 A60C # [326]
-A610 A66E # [95]
-A674 A67B # [8]
-A680 A6EF # [112]
-A6F2 A6FF # [14]
-A722 A787 # [102]
-A789 A801 # [121]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A824 # [25]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3040 3098
+309D 309F
+30A1 30FA
+30FC 31BF
+31E4 321C
+321F 324F
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 3376
+337B 33DD
+33E0 33FE
+3400 4DBF
+4E00 A48F
+A4C7 A60C
+A610 A66E
+A674 A67B
+A680 A6EF
+A6F2 A6FF
+A722 A787
+A789 A801
+A803 A805
+A807 A80A
+A80C A824
A827
-A82C A837 # [12]
-A83A A873 # [58]
-A878 A8C3 # [76]
-A8C5 A8DF # [27]
-A8F2 A925 # [52]
-A92E A946 # [25]
-A952 A97F # [46]
-A983 A9B2 # [48]
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD AA28 # [108]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
-AA37 AA42 # [12]
-AA44 AA4B # [8]
-AA4D AAAF # [99]
+A82C A837
+A83A A873
+A878 A8C3
+A8C5 A8DF
+A8F2 A925
+A92E A946
+A952 A97F
+A983 A9B2
+A9B4 A9B5
+A9BA A9BB
+A9BD AA28
+AA2F AA30
+AA33 AA34
+AA37 AA42
+AA44 AA4B
+AA4D AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 ABE4 # [291]
-ABE6 ABE7 # [2]
-ABE9 ABEC # [4]
-ABEE FB1C # [20_271]
-FE1A FE1F # [6]
-FE27 FE2F # [9]
+AAC2 ABE4
+ABE6 ABE7
+ABE9 ABEC
+ABEE FB1C
+FE1A FE1F
+FE27 FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FF00
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FF66 FFDF # [122]
+FF21 FF3A
+FF41 FF5A
+FF66 FFDF
FFE7
FFEF
-10000 10100 # [257]
-10102 1013F # [62]
-1018B 1018F # [5]
-1019C 101FC # [97]
-101FE 107FF # [1538]
-11000 1107F # [128]
-11082 110B2 # [49]
-110B7 110B8 # [2]
-110BB 1D166 # [49_324]
-1D16A 1D172 # [9]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D1FF # [82]
-1D246 1D2FF # [186]
-1D357 1D6DA # [900]
-1D6DC 1D714 # [57]
-1D716 1D74E # [57]
-1D750 1D788 # [57]
-1D78A 1D7C2 # [57]
-1D7C4 1D7CD # [10]
-1D800 1E7FF # [4096]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1FFFD # [3827]
-20000 2FFFD # [65_534]
-30000 3FFFD # [65_534]
-40000 4FFFD # [65_534]
-50000 5FFFD # [65_534]
-60000 6FFFD # [65_534]
-70000 7FFFD # [65_534]
-80000 8FFFD # [65_534]
-90000 9FFFD # [65_534]
-A0000 AFFFD # [65_534]
-B0000 BFFFD # [65_534]
-C0000 CFFFD # [65_534]
-D0000 DFFFD # [65_534]
-E1000 EFFFD # [61_438]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+10000 10100
+10102 1013F
+1018B 1018F
+1019C 101FC
+101FE 107FF
+11000
+11002 11037
+11047 11051
+11066 1107F
+11082 110B2
+110B7 110B8
+110BB 1D166
+1D16A 1D172
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1FF
+1D246 1D2FF
+1D357 1D6DA
+1D6DC 1D714
+1D716 1D74E
+1D750 1D788
+1D78A 1D7C2
+1D7C4 1D7CD
+1D800 1E7FF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F48C
+1F4F8
+1F4FD 1F4FF
+1F524
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFD
+20000 2FFFD
+30000 3FFFD
+40000 4FFFD
+50000 5FFFD
+60000 6FFFD
+70000 7FFFD
+80000 8FFFD
+90000 9FFFD
+A0000 AFFFD
+B0000 BFFFD
+C0000 CFFFD
+D0000 DFFFD
+E1000 EFFFD
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
index a32c1fa6dbd..8cfc55d113d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Left_To_Right_Embedding}
-# \p{Bc=LRE}
-# \p{Is_Bidi_Class=Left_To_Right_Embedding}
-# \p{Is_Bc=LRE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Left_To_Right_Embedding}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
202A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
index b5c5f2df478..2b5cb7c05e6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Left_To_Right_Override}
-# \p{Bc=LRO}
-# \p{Is_Bidi_Class=Left_To_Right_Override}
-# \p{Is_Bc=LRO}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Left_To_Right_Override}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
202D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
index 2c2cfc70995..86dda0d5cea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
@@ -1,225 +1,211 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1173 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Nonspacing_Mark}
-# \p{Bc=NSM}
-# \p{Is_Bidi_Class=Nonspacing_Mark}
-# \p{Is_Bc=NSM}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Nonspacing_Mark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
+0300 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0902 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0902
+093A
093C
-0941 0948 # [8]
+0941 0948
094D
-0951 0955 # [5]
-0962 0963 # [2]
+0951 0957
+0962 0963
0981
09BC
-09C1 09C4 # [4]
+09C1 09C4
09CD
-09E2 09E3 # [2]
-0A01 0A02 # [2]
+09E2 09E3
+0A01 0A02
0A3C
-0A41 0A42 # [2]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A82 # [2]
+0A81 0A82
0ABC
-0AC1 0AC5 # [5]
-0AC7 0AC8 # [2]
+0AC1 0AC5
+0AC7 0AC8
0ACD
-0AE2 0AE3 # [2]
+0AE2 0AE3
0B01
0B3C
0B3F
-0B41 0B44 # [4]
+0B41 0B44
0B4D
0B56
-0B62 0B63 # [2]
+0B62 0B63
0B82
0BC0
0BCD
-0C3E 0C40 # [3]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
0CBC
-0CCC 0CCD # [2]
-0CE2 0CE3 # [2]
-0D41 0D44 # [4]
+0CCC 0CCD
+0CE2 0CE3
+0D41 0D44
0D4D
-0D62 0D63 # [2]
+0D62 0D63
0DCA
-0DD2 0DD4 # [3]
+0DD2 0DD4
0DD6
0E31
-0E34 0E3A # [7]
-0E47 0E4E # [8]
+0E34 0E3A
+0E47 0E4E
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
+102D 1030
+1032 1037
+1039 103A
+103D 103E
+1058 1059
+105E 1060
+1071 1074
1082
-1085 1086 # [2]
+1085 1086
108D
109D
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B7 17BD # [7]
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B7 17BD
17C6
-17C9 17D3 # [11]
+17C9 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 1922 # [3]
-1927 1928 # [2]
+1920 1922
+1927 1928
1932
-1939 193B # [3]
-1A17 1A18 # [2]
+1939 193B
+1A17 1A18
1A56
-1A58 1A5E # [7]
+1A58 1A5E
1A60
1A62
-1A65 1A6C # [8]
-1A73 1A7C # [10]
+1A65 1A6C
+1A73 1A7C
1A7F
-1B00 1B03 # [4]
+1B00 1B03
1B34
-1B36 1B3A # [5]
+1B36 1B3A
1B3C
1B42
-1B6B 1B73 # [9]
-1B80 1B81 # [2]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1C2C 1C33 # [8]
-1C36 1C37 # [2]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+1B6B 1B73
+1B80 1B81
+1BA2 1BA5
+1BA8 1BA9
+1BE6
+1BE8 1BE9
+1BED
+1BEF 1BF1
+1C2C 1C33
+1C36 1C37
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+1DC0 1DE6
+1DFC 1DFF
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A825 A826 # [2]
+A825 A826
A8C4
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A951 # [11]
-A980 A982 # [3]
+A8E0 A8F1
+A926 A92D
+A947 A951
+A980 A982
A9B3
-A9B6 A9B9 # [4]
+A9B6 A9B9
A9BC
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA36 # [2]
+AA29 AA2E
+AA31 AA32
+AA35 AA36
AA43
AA4C
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
ABE5
ABE8
ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
+FE00 FE0F
+FE20 FE26
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11081 # [2]
-110B3 110B6 # [4]
-110B9 110BA # [2]
-1D167 1D169 # [3]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
+11001
+11038 11046
+11080 11081
+110B3 110B6
+110B9 110BA
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
index aa5485ad775..dad51d6ebb4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
@@ -1,196 +1,195 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3523 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Other_Neutral}
-# \p{Bc=ON}
-# \p{Is_Bidi_Class=Other_Neutral}
-# \p{Is_Bc=ON}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Other_Neutral}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 0022 # [2]
-0026 002A # [5]
-003B 0040 # [6]
-005B 0060 # [6]
-007B 007E # [4]
+0021 0022
+0026 002A
+003B 0040
+005B 0060
+007B 007E
00A1
-00A6 00A9 # [4]
-00AB 00AC # [2]
-00AE 00AF # [2]
+00A6 00A9
+00AB 00AC
+00AE 00AF
00B4
-00B6 00B8 # [3]
-00BB 00BF # [5]
+00B6 00B8
+00BB 00BF
00D7
00F7
-02B9 02BA # [2]
-02C2 02CF # [14]
-02D2 02DF # [14]
-02E5 02ED # [9]
-02EF 02FF # [17]
-0374 0375 # [2]
+02B9 02BA
+02C2 02CF
+02D2 02DF
+02E5 02ED
+02EF 02FF
+0374 0375
037E
-0384 0385 # [2]
+0384 0385
0387
03F6
058A
-0606 0607 # [2]
-060E 060F # [2]
+0606 0607
+060E 060F
+06DE
06E9
-07F6 07F9 # [4]
-0BF3 0BF8 # [6]
+07F6 07F9
+0BF3 0BF8
0BFA
-0C78 0C7E # [7]
-0CF1 0CF2 # [2]
-0F3A 0F3D # [4]
-1390 1399 # [10]
+0C78 0C7E
+0F3A 0F3D
+1390 1399
1400
-169B 169C # [2]
-17F0 17F9 # [10]
-1800 180A # [11]
+169B 169C
+17F0 17F9
+1800 180A
1940
-1944 1945 # [2]
-19DE 19FF # [34]
+1944 1945
+19DE 19FF
1FBD
-1FBF 1FC1 # [3]
-1FCD 1FCF # [3]
-1FDD 1FDF # [3]
-1FED 1FEF # [3]
-1FFD 1FFE # [2]
-2010 2027 # [24]
-2035 2043 # [15]
-2045 205E # [26]
-207C 207E # [3]
-208C 208E # [3]
-2100 2101 # [2]
-2103 2106 # [4]
-2108 2109 # [2]
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+2010 2027
+2035 2043
+2045 205E
+207C 207E
+208C 208E
+2100 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2118
+211E 2123
2125
2127
2129
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-2150 215F # [16]
+213A 213B
+2140 2144
+214A 214D
+2150 215F
2189
-2190 2211 # [130]
-2214 2335 # [290]
-237B 2394 # [26]
-2396 23E8 # [83]
-2400 2426 # [39]
-2440 244A # [11]
-2460 2487 # [40]
-24EA 26AB # [450]
-26AD 26CD # [33]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+2190 2211
+2214 2335
+237B 2394
+2396 23F3
+2400 2426
+2440 244A
+2460 2487
+24EA 26AB
+26AD 26FF
+2701 27CA
27CC
-27D0 27FF # [48]
-2900 2B4C # [589]
-2B50 2B59 # [10]
-2CE5 2CEA # [6]
-2CF9 2CFF # [7]
-2E00 2E31 # [50]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3001 3004 # [4]
-3008 3020 # [25]
+27CE 27FF
+2900 2B4C
+2B50 2B59
+2CE5 2CEA
+2CF9 2CFF
+2E00 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3001 3004
+3008 3020
3030
-3036 3037 # [2]
-303D 303F # [3]
-309B 309C # [2]
+3036 3037
+303D 303F
+309B 309C
30A0
30FB
-31C0 31E3 # [36]
-321D 321E # [2]
-3250 325F # [16]
-327C 327E # [3]
-32B1 32BF # [15]
-32CC 32CF # [4]
-3377 337A # [4]
-33DE 33DF # [2]
+31C0 31E3
+321D 321E
+3250 325F
+327C 327E
+32B1 32BF
+32CC 32CF
+3377 337A
+33DE 33DF
33FF
-4DC0 4DFF # [64]
-A490 A4C6 # [55]
-A60D A60F # [3]
+4DC0 4DFF
+A490 A4C6
+A60D A60F
A673
-A67E A67F # [2]
-A700 A721 # [34]
+A67E A67F
+A700 A721
A788
-A828 A82B # [4]
-A874 A877 # [4]
-FD3E FD3F # [2]
+A828 A82B
+A874 A877
+FD3E FD3F
FDFD
-FE10 FE19 # [10]
-FE30 FE4F # [32]
+FE10 FE19
+FE30 FE4F
FE51
FE54
-FE56 FE5E # [9]
-FE60 FE61 # [2]
-FE64 FE66 # [3]
+FE56 FE5E
+FE60 FE61
+FE64 FE66
FE68
FE6B
-FF01 FF02 # [2]
-FF06 FF0A # [5]
-FF1B FF20 # [6]
-FF3B FF40 # [6]
-FF5B FF65 # [11]
-FFE2 FFE4 # [3]
-FFE8 FFEE # [7]
-FFF9 FFFD # [5]
+FF01 FF02
+FF06 FF0A
+FF1B FF20
+FF3B FF40
+FF5B FF65
+FFE2 FFE4
+FFE8 FFEE
+FFF9 FFFD
10101
-10140 1018A # [75]
-10190 1019B # [12]
+10140 1018A
+10190 1019B
1091F
-10B39 10B3F # [7]
-1D200 1D241 # [66]
+10B39 10B3F
+11052 11065
+1D200 1D241
1D245
-1D300 1D356 # [87]
+1D300 1D356
1D6DB
1D715
1D74F
1D789
1D7C3
-1F000 1F02B # [44]
-1F030 1F093 # [100]
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F48B
+1F48D 1F4F7
+1F4F9 1F4FC
+1F500 1F523
+1F525 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
index 3639b2d937e..9682fdbc801 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Pop_Directional_Format}
-# \p{Bc=PDF}
-# \p{Is_Bidi_Class=Pop_Directional_Format}
-# \p{Is_Bc=PDF}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Pop_Directional_Format}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
202C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
index 3ea27347396..9a0183f06b9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4441 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Right_To_Left}
-# \p{Bc=R}
-# \p{Is_Bidi_Class=Right_To_Left}
-# \p{Is_Bc=R}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Right_To_Left}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0590
@@ -37,26 +14,27 @@ return <<'END';
05C0
05C3
05C6
-05C8 05FF # [56]
-07C0 07EA # [43]
-07F4 07F5 # [2]
-07FA 0815 # [28]
+05C8 05FF
+07C0 07EA
+07F4 07F5
+07FA 0815
081A
0824
0828
-082E 08FF # [210]
+082E 0858
+085C 08FF
200F
FB1D
-FB1F FB28 # [10]
-FB2A FB4F # [38]
-10800 1091E # [287]
-10920 10A00 # [225]
+FB1F FB28
+FB2A FB4F
+10800 1091E
+10920 10A00
10A04
-10A07 10A0B # [5]
-10A10 10A37 # [40]
-10A3B 10A3E # [4]
-10A40 10B38 # [249]
-10B40 10E5F # [800]
-10E7F 10FFF # [385]
-1E800 1EFFF # [2048]
+10A07 10A0B
+10A10 10A37
+10A3B 10A3E
+10A40 10B38
+10B40 10E5F
+10E7F 10FFF
+1E800 1EFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
index 281d8efc308..14e6d90cbc2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Right_To_Left_Embedding}
-# \p{Bc=RLE}
-# \p{Is_Bidi_Class=Right_To_Left_Embedding}
-# \p{Is_Bc=RLE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Right_To_Left_Embedding}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
202B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
index 78512c4e9bd..d310f2faa9c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Bidi_Class=Right_To_Left_Override}
-# \p{Bc=RLO}
-# \p{Is_Bidi_Class=Right_To_Left_Override}
-# \p{Is_Bc=RLO}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Right_To_Left_Override}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
202E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
index 0e670d4112c..24e646d8fe1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Bidi_Class=Segment_Separator}
-# \p{Bc=S}
-# \p{Is_Bidi_Class=Segment_Separator}
-# \p{Is_Bc=S}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: Segment_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0009
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
index b87c7c12b71..51c744d6289 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
@@ -1,42 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 18 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Class=White_Space}
-# \p{Bc=WS}
-# \p{Is_Bidi_Class=White_Space}
-# \p{Is_Bc=WS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bc: White_Space}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
000C
0020
1680
180E
-2000 200A # [11]
+2000 200A
2028
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl
index 7074eed13cd..e7a8b653d06 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl
@@ -1,43 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_105 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Bidi_Control=No}
-# \p{Bidi_C=N}
-# \p{Is_Bidi_Control=F}
-# \p{Is_Bidi_C=False}
-#
-# \P{Bidi_Control}
-# \P{Is_Bidi_Control}
-# \P{Bidi_C}
-# \P{Is_Bidi_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bidi_C: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 200D # [8206]
-2010 2029 # [26]
-202F 10FFFF # [1_105_873]
+0000 200D
+2010 2029
+202F 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
index 08f5a4251aa..945de45bdc5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
@@ -1,42 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Bidi_Control=Yes}
-# \p{Bidi_C=Y}
-# \p{Is_Bidi_Control=T}
-# \p{Is_Bidi_C=True}
-#
-# \p{Bidi_Control}
-# \p{Is_Bidi_Control}
-# \p{Bidi_C}
-# \p{Is_Bidi_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bidi_C: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-200E 200F # [2]
-202A 202E # [5]
+200E 200F
+202A 202E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl
index 663eebc4aca..807d940e997 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl
@@ -1,152 +1,124 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_569 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Bidi_Mirrored=No}
-# \p{Bidi_M=N}
-# \p{Is_Bidi_Mirrored=F}
-# \p{Is_Bidi_M=False}
-#
-# \P{Bidi_Mirrored}
-# \P{Is_Bidi_Mirrored}
-# \P{Bidi_M}
-# \P{Is_Bidi_M}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bidi_M: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0027 # [40]
-002A 003B # [18]
+0000 0027
+002A 003B
003D
-003F 005A # [28]
+003F 005A
005C
-005E 007A # [29]
+005E 007A
007C
-007E 00AA # [45]
-00AC 00BA # [15]
-00BC 0F39 # [3710]
-0F3E 169A # [1885]
-169D 2038 # [2460]
-203B 2044 # [10]
-2047 207C # [54]
-207F 208C # [14]
-208F 213F # [177]
-2141 2200 # [192]
-2205 2207 # [3]
-220E 2210 # [3]
-2212 2214 # [3]
-2217 2219 # [3]
+007E 00AA
+00AC 00BA
+00BC 0F39
+0F3E 169A
+169D 2038
+203B 2044
+2047 207C
+207F 208C
+208F 213F
+2141 2200
+2205 2207
+220E 2210
+2212 2214
+2217 2219
221E
2223
2225
-2227 222A # [4]
-2234 2238 # [5]
+2227 222A
+2234 2238
223A
-224D 2251 # [5]
-2256 225E # [9]
+224D 2251
+2256 225E
2261
2263
-226C 226D # [2]
-228D 228E # [2]
-2293 2297 # [5]
-2299 22A1 # [9]
-22A4 22A5 # [2]
-22B9 22BD # [5]
-22C0 22C8 # [9]
-22CE 22CF # [2]
-22D2 22D5 # [4]
-22EE 22EF # [2]
-2300 2307 # [8]
-230C 231F # [20]
-2322 2328 # [7]
-232B 2767 # [1085]
-2776 27BF # [74]
-27C1 27C2 # [2]
+226C 226D
+228D 228E
+2293 2297
+2299 22A1
+22A4 22A5
+22B9 22BD
+22C0 22C8
+22CE 22CF
+22D2 22D5
+22EE 22EF
+2300 2307
+230C 231F
+2322 2328
+232B 2767
+2776 27BF
+27C1 27C2
27C7
-27CA 27CB # [2]
-27CD 27D2 # [6]
-27D7 27DB # [5]
-27DF 27E1 # [3]
-27F0 2982 # [403]
-2999 299A # [2]
-29B0 29B7 # [8]
-29B9 29BF # [7]
-29C6 29C8 # [3]
-29CA 29CD # [4]
+27CA 27CB
+27CD 27D2
+27D7 27DB
+27DF 27E1
+27F0 2982
+2999 299A
+29B0 29B7
+29B9 29BF
+29C6 29C8
+29CA 29CD
29D3
-29D6 29D7 # [2]
-29DD 29E0 # [4]
+29D6 29D7
+29DD 29E0
29E2
-29E6 29E7 # [2]
-29EA 29F3 # [10]
-29FA 29FB # [2]
-29FE 2A09 # [12]
+29E6 29E7
+29EA 29F3
+29FA 29FB
+29FE 2A09
2A1D
-2A22 2A23 # [2]
+2A22 2A23
2A25
-2A27 2A28 # [2]
+2A27 2A28
2A2A
-2A2F 2A33 # [5]
-2A36 2A3B # [6]
-2A3F 2A56 # [24]
-2A59 2A63 # [11]
-2A66 2A69 # [4]
+2A2F 2A33
+2A36 2A3B
+2A3F 2A56
+2A59 2A63
+2A66 2A69
2A6E
-2A71 2A72 # [2]
-2A75 2A78 # [4]
-2AA4 2AA5 # [2]
+2A71 2A72
+2A75 2A78
+2AA4 2AA5
2AAE
-2AD7 2ADB # [5]
+2AD7 2ADB
2ADD
-2ADF 2AE1 # [3]
-2AE7 2AEB # [5]
-2AEF 2AF2 # [4]
-2AF4 2AF6 # [3]
+2ADF 2AE1
+2AE7 2AEB
+2AEF 2AF2
+2AF4 2AF6
2AFC
-2AFE 2E01 # [772]
-2E06 2E08 # [3]
+2AFE 2E01
+2E06 2E08
2E0B
-2E0E 2E1B # [14]
-2E1E 2E1F # [2]
-2E2A 3007 # [478]
-3012 3013 # [2]
-301C FE58 # [52_797]
-FE5F FE63 # [5]
-FE66 FF07 # [162]
-FF0A FF1B # [18]
+2E0E 2E1B
+2E1E 2E1F
+2E2A 3007
+3012 3013
+301C FE58
+FE5F FE63
+FE66 FF07
+FF0A FF1B
FF1D
-FF1F FF3A # [28]
+FF1F FF3A
FF3C
-FF3E FF5A # [29]
+FF3E FF5A
FF5C
FF5E
FF61
-FF64 1D6DA # [55_159]
-1D6DC 1D714 # [57]
-1D716 1D74E # [57]
-1D750 1D788 # [57]
-1D78A 1D7C2 # [57]
-1D7C4 10FFFF # [993_340]
+FF64 1D6DA
+1D6DC 1D714
+1D716 1D74E
+1D750 1D788
+1D78A 1D7C2
+1D7C4 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
index 008b1fe1d7f..31ed5890765 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
@@ -1,43 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 543 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Bidi_Mirrored=Yes}
-# \p{Bidi_M=Y}
-# \p{Is_Bidi_Mirrored=T}
-# \p{Is_Bidi_M=True}
-#
-# \p{Bidi_Mirrored}
-# \p{Is_Bidi_Mirrored}
-# \p{Bidi_M}
-# \p{Is_Bidi_M}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Bidi_M: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0028 0029 # [2]
+0028 0029
003C
003E
005B
@@ -46,103 +18,103 @@ return <<'END';
007D
00AB
00BB
-0F3A 0F3D # [4]
-169B 169C # [2]
-2039 203A # [2]
-2045 2046 # [2]
-207D 207E # [2]
-208D 208E # [2]
+0F3A 0F3D
+169B 169C
+2039 203A
+2045 2046
+207D 207E
+208D 208E
2140
-2201 2204 # [4]
-2208 220D # [6]
+2201 2204
+2208 220D
2211
-2215 2216 # [2]
-221A 221D # [4]
-221F 2222 # [4]
+2215 2216
+221A 221D
+221F 2222
2224
2226
-222B 2233 # [9]
+222B 2233
2239
-223B 224C # [18]
-2252 2255 # [4]
-225F 2260 # [2]
+223B 224C
+2252 2255
+225F 2260
2262
-2264 226B # [8]
-226E 228C # [31]
-228F 2292 # [4]
+2264 226B
+226E 228C
+228F 2292
2298
-22A2 22A3 # [2]
-22A6 22B8 # [19]
-22BE 22BF # [2]
-22C9 22CD # [5]
-22D0 22D1 # [2]
-22D6 22ED # [24]
-22F0 22FF # [16]
-2308 230B # [4]
-2320 2321 # [2]
-2329 232A # [2]
-2768 2775 # [14]
+22A2 22A3
+22A6 22B8
+22BE 22BF
+22C9 22CD
+22D0 22D1
+22D6 22ED
+22F0 22FF
+2308 230B
+2320 2321
+2329 232A
+2768 2775
27C0
-27C3 27C6 # [4]
-27C8 27C9 # [2]
+27C3 27C6
+27C8 27C9
27CC
-27D3 27D6 # [4]
-27DC 27DE # [3]
-27E2 27EF # [14]
-2983 2998 # [22]
-299B 29AF # [21]
+27D3 27D6
+27DC 27DE
+27E2 27EF
+2983 2998
+299B 29AF
29B8
-29C0 29C5 # [6]
+29C0 29C5
29C9
-29CE 29D2 # [5]
-29D4 29D5 # [2]
-29D8 29DC # [5]
+29CE 29D2
+29D4 29D5
+29D8 29DC
29E1
-29E3 29E5 # [3]
-29E8 29E9 # [2]
-29F4 29F9 # [6]
-29FC 29FD # [2]
-2A0A 2A1C # [19]
-2A1E 2A21 # [4]
+29E3 29E5
+29E8 29E9
+29F4 29F9
+29FC 29FD
+2A0A 2A1C
+2A1E 2A21
2A24
2A26
2A29
-2A2B 2A2E # [4]
-2A34 2A35 # [2]
-2A3C 2A3E # [3]
-2A57 2A58 # [2]
-2A64 2A65 # [2]
-2A6A 2A6D # [4]
-2A6F 2A70 # [2]
-2A73 2A74 # [2]
-2A79 2AA3 # [43]
-2AA6 2AAD # [8]
-2AAF 2AD6 # [40]
+2A2B 2A2E
+2A34 2A35
+2A3C 2A3E
+2A57 2A58
+2A64 2A65
+2A6A 2A6D
+2A6F 2A70
+2A73 2A74
+2A79 2AA3
+2AA6 2AAD
+2AAF 2AD6
2ADC
2ADE
-2AE2 2AE6 # [5]
-2AEC 2AEE # [3]
+2AE2 2AE6
+2AEC 2AEE
2AF3
-2AF7 2AFB # [5]
+2AF7 2AFB
2AFD
-2E02 2E05 # [4]
-2E09 2E0A # [2]
-2E0C 2E0D # [2]
-2E1C 2E1D # [2]
-2E20 2E29 # [10]
-3008 3011 # [10]
-3014 301B # [8]
-FE59 FE5E # [6]
-FE64 FE65 # [2]
-FF08 FF09 # [2]
+2E02 2E05
+2E09 2E0A
+2E0C 2E0D
+2E1C 2E1D
+2E20 2E29
+3008 3011
+3014 301B
+FE59 FE5E
+FE64 FE65
+FF08 FF09
FF1C
FF1E
FF3B
FF3D
FF5B
FF5D
-FF5F FF60 # [2]
-FF62 FF63 # [2]
+FF5F FF60
+FF62 FF63
1D6DB
1D715
1D74F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
index 7e4b77f3a78..8a9e8de33c4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
@@ -1,47 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Basic_Latin}
-# \p{Blk=ASCII}
-# \p{Is_Block=Basic_Latin}
-# \p{Is_Blk=ASCII}
-#
-# \p{ASCII}
-# \p{Is_ASCII}
-# X \p{Basic_Latin}
-# X \p{Is_Basic_Latin}
-# \p{In_Basic_Latin}
-# \p{In_ASCII}
-#
-# Meaning: [[:ASCII:]]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Basic_Latin}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 007F # [128]
+0000 007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
index 0ec0cb4128b..ea8f66f4af2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Aegean_Numbers}
-# \p{Blk=Aegean_Numbers}
-# \p{Is_Block=Aegean_Numbers}
-# \p{Is_Blk=Aegean_Numbers}
-#
-# X \p{Aegean_Numbers}
-# X \p{Is_Aegean_Numbers}
-# \p{In_Aegean_Numbers}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Aegean_Numbers}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10100 1013F # [64]
+10100 1013F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl
new file mode 100644
index 00000000000..3019c9635be
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1F700 1F77F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
index 1dcc0a8c4e3..2c1c76ee065 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Alphabetic_Presentation_Forms}
-# \p{Blk=Alphabetic_Presentation_Forms}
-# \p{Is_Block=Alphabetic_Presentation_Forms}
-# \p{Is_Blk=Alphabetic_Presentation_Forms}
-#
-# X \p{Alphabetic_Presentation_Forms}
-# X \p{Is_Alphabetic_Presentation_Forms}
-# \p{In_Alphabetic_Presentation_Forms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Alphabetic_Presentation_Forms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FB00 FB4F # [80]
+FB00 FB4F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
index 175a65cbae7..d1b84154696 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ancient_Greek_Musical_Notation}
-# \p{Blk=Ancient_Greek_Musical_Notation}
-# \p{Is_Block=Ancient_Greek_Musical_Notation}
-# \p{Is_Blk=Ancient_Greek_Musical_Notation}
-#
-# X \p{Ancient_Greek_Musical_Notation}
-# X \p{Is_Ancient_Greek_Musical_Notation}
-# \p{In_Ancient_Greek_Musical_Notation}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ancient_Greek_Musical_Notation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D200 1D24F # [80]
+1D200 1D24F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
index 2f644c8a100..d1736b2b5b1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ancient_Greek_Numbers}
-# \p{Blk=Ancient_Greek_Numbers}
-# \p{Is_Block=Ancient_Greek_Numbers}
-# \p{Is_Blk=Ancient_Greek_Numbers}
-#
-# X \p{Ancient_Greek_Numbers}
-# X \p{Is_Ancient_Greek_Numbers}
-# \p{In_Ancient_Greek_Numbers}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ancient_Greek_Numbers}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10140 1018F # [80]
+10140 1018F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
index b3a2886f359..31b9a314431 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ancient_Symbols}
-# \p{Blk=Ancient_Symbols}
-# \p{Is_Block=Ancient_Symbols}
-# \p{Is_Blk=Ancient_Symbols}
-#
-# X \p{Ancient_Symbols}
-# X \p{Is_Ancient_Symbols}
-# \p{In_Ancient_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ancient_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10190 101CF # [64]
+10190 101CF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
index c129be31268..a787132738e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Arabic}
-# \p{Blk=Arabic}
-# \p{Is_Block=Arabic}
-# \p{Is_Blk=Arabic}
-#
-# \p{In_Arabic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Arabic}, \p{Is_Arabic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Arabic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0600 06FF # [256]
+0600 06FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
index 352138bc48c..d282f5c1c09 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 144 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Arabic_Presentation_Forms_B}
-# \p{Blk=Arabic_Presentation_Forms_B}
-# \p{Is_Block=Arabic_Presentation_Forms_B}
-# \p{Is_Blk=Arabic_Presentation_Forms_B}
-#
-# X \p{Arabic_Presentation_Forms_B}
-# X \p{Is_Arabic_Presentation_Forms_B}
-# \p{In_Arabic_Presentation_Forms_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Arabic_Presentation_Forms_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE70 FEFF # [144]
+FE70 FEFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl
index f7ea25a565b..a165cb6a0d2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 688 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Arabic_Presentation_Forms_A}
-# \p{Blk=Arabic_Presentation_Forms_A}
-# \p{Is_Block=Arabic_Presentation_Forms_A}
-# \p{Is_Blk=Arabic_Presentation_Forms_A}
-#
-# X \p{Arabic_Presentation_Forms_A}
-# X \p{Is_Arabic_Presentation_Forms_A}
-# \p{In_Arabic_Presentation_Forms_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Arabic_Presentation_Forms_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FB50 FDFF # [688]
+FB50 FDFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
index 1b7bb0e2395..e54126f6b93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Arabic_Supplement}
-# \p{Blk=Arabic_Supplement}
-# \p{Is_Block=Arabic_Supplement}
-# \p{Is_Blk=Arabic_Supplement}
-#
-# X \p{Arabic_Supplement}
-# X \p{Is_Arabic_Supplement}
-# \p{In_Arabic_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Arabic_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0750 077F # [48]
+0750 077F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
index f3309e00342..066ffbe2670 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Armenian}
-# \p{Blk=Armenian}
-# \p{Is_Block=Armenian}
-# \p{Is_Blk=Armenian}
-#
-# \p{In_Armenian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Armenian}, \p{Is_Armenian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Armenian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0530 058F # [96]
+0530 058F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
index ae75a9d260e..76fcd5a1805 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 112 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Arrows}
-# \p{Blk=Arrows}
-# \p{Is_Block=Arrows}
-# \p{Is_Blk=Arrows}
-#
-# X \p{Arrows}
-# X \p{Is_Arrows}
-# \p{In_Arrows}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Arrows}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2190 21FF # [112]
+2190 21FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
index b1fba024069..df2501eb9ed 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Avestan}
-# \p{Blk=Avestan}
-# \p{Is_Block=Avestan}
-# \p{Is_Blk=Avestan}
-#
-# \p{In_Avestan}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Avestan}, \p{Is_Avestan}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Avestan}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10B00 10B3F # [64]
+10B00 10B3F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
index 2bc584fcdd1..2d6fe6da845 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Balinese}
-# \p{Blk=Balinese}
-# \p{Is_Block=Balinese}
-# \p{Is_Blk=Balinese}
-#
-# \p{In_Balinese}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Balinese}, \p{Is_Balinese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Balinese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1B00 1B7F # [128]
+1B00 1B7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
index b8a7b134106..3d6297337ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Bamum}
-# \p{Blk=Bamum}
-# \p{Is_Block=Bamum}
-# \p{Is_Blk=Bamum}
-#
-# \p{In_Bamum}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Bamum}, \p{Is_Bamum}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Bamum}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A6A0 A6FF # [96]
+A6A0 A6FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl
new file mode 100644
index 00000000000..5b7f2975703
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+16800 16A3F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl
new file mode 100644
index 00000000000..1cc4335d1f7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1BC0 1BFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
index 334dc0f6ec7..6546fc817e4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Bengali}
-# \p{Blk=Bengali}
-# \p{Is_Block=Bengali}
-# \p{Is_Blk=Bengali}
-#
-# \p{In_Bengali}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Bengali}, \p{Is_Bengali}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Bengali}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0980 09FF # [128]
+0980 09FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
index f709d0cd534..5f64684d089 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Block_Elements}
-# \p{Blk=Block_Elements}
-# \p{Is_Block=Block_Elements}
-# \p{Is_Blk=Block_Elements}
-#
-# X \p{Block_Elements}
-# X \p{Is_Block_Elements}
-# \p{In_Block_Elements}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Block_Elements}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2580 259F # [32]
+2580 259F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
index d01d1eb8cd9..97ec06b0fdb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Bopomofo_Extended}
-# \p{Blk=Bopomofo_Extended}
-# \p{Is_Block=Bopomofo_Extended}
-# \p{Is_Blk=Bopomofo_Extended}
-#
-# X \p{Bopomofo_Extended}
-# X \p{Is_Bopomofo_Extended}
-# \p{In_Bopomofo_Extended}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Bopomofo_Extended}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-31A0 31BF # [32]
+31A0 31BF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
index ebd253fd06c..62fc2cc4d93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Bopomofo}
-# \p{Blk=Bopomofo}
-# \p{Is_Block=Bopomofo}
-# \p{Is_Blk=Bopomofo}
-#
-# \p{In_Bopomofo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Bopomofo}, \p{Is_Bopomofo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Bopomofo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3100 312F # [48]
+3100 312F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
index 7eff1b01e64..15573b2e000 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Box_Drawing}
-# \p{Blk=Box_Drawing}
-# \p{Is_Block=Box_Drawing}
-# \p{Is_Blk=Box_Drawing}
-#
-# X \p{Box_Drawing}
-# X \p{Is_Box_Drawing}
-# \p{In_Box_Drawing}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Box_Drawing}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2500 257F # [128]
+2500 257F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl
new file mode 100644
index 00000000000..36f3910f8fe
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+11000 1107F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl
index 1c1f86ae585..3ceb9be498d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl
@@ -1,60 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Braille_Patterns}
-# \p{Blk=Braille_Patterns}
-# \p{Is_Block=Braille_Patterns}
-# \p{Is_Blk=Braille_Patterns}
-#
-# X \p{Braille_Patterns}
-# X \p{Is_Braille_Patterns}
-# \p{In_Braille_Patterns}
-#
-# \p{Script=Braille}
-# \p{Sc=Brai}
-# \p{Is_Script=Braille}
-# \p{Is_Sc=Brai}
-#
-# \p{Braille}
-# \p{Is_Braille}
-# \p{Brai}
-# \p{Is_Brai}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Braille}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2800 28FF # [256]
+2800 28FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
index 4195b84c5ff..f87f117dce2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Buginese}
-# \p{Blk=Buginese}
-# \p{Is_Block=Buginese}
-# \p{Is_Blk=Buginese}
-#
-# \p{In_Buginese}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Buginese}, \p{Is_Buginese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Buginese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1A00 1A1F # [32]
+1A00 1A1F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
index b0836f40b63..59bb4ce7aa2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Buhid}
-# \p{Blk=Buhid}
-# \p{Is_Block=Buhid}
-# \p{Is_Blk=Buhid}
-#
-# \p{In_Buhid}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Buhid}, \p{Is_Buhid}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Buhid}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1740 175F # [32]
+1740 175F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
index 4a5ef7e59ac..f4f1ba48352 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Byzantine_Musical_Symbols}
-# \p{Blk=Byzantine_Musical_Symbols}
-# \p{Is_Block=Byzantine_Musical_Symbols}
-# \p{Is_Blk=Byzantine_Musical_Symbols}
-#
-# X \p{Byzantine_Musical_Symbols}
-# X \p{Is_Byzantine_Musical_Symbols}
-# \p{In_Byzantine_Musical_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Byzantine_Musical_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D000 1D0FF # [256]
+1D000 1D0FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
index fb29cd80bbf..60f87efbe7f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Compatibility_Forms}
-# \p{Blk=CJK_Compatibility_Forms}
-# \p{Is_Block=CJK_Compatibility_Forms}
-# \p{Is_Blk=CJK_Compatibility_Forms}
-#
-# X \p{CJK_Compatibility_Forms}
-# X \p{Is_CJK_Compatibility_Forms}
-# \p{In_CJK_Compatibility_Forms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Compatibility_Forms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE30 FE4F # [32]
+FE30 FE4F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
index ef3b4b3ae49..bf66d306ba0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 512 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Compatibility_Ideographs}
-# \p{Blk=CJK_Compatibility_Ideographs}
-# \p{Is_Block=CJK_Compatibility_Ideographs}
-# \p{Is_Blk=CJK_Compatibility_Ideographs}
-#
-# X \p{CJK_Compatibility_Ideographs}
-# X \p{Is_CJK_Compatibility_Ideographs}
-# \p{In_CJK_Compatibility_Ideographs}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Compatibility_Ideographs}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-F900 FAFF # [512]
+F900 FAFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
index 355cf239883..7a000f9cee2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 544 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Compatibility_Ideographs_Supplement}
-# \p{Blk=CJK_Compatibility_Ideographs_Supplement}
-# \p{Is_Block=CJK_Compatibility_Ideographs_Supplement}
-# \p{Is_Blk=CJK_Compatibility_Ideographs_Supplement}
-#
-# X \p{CJK_Compatibility_Ideographs_Supplement}
-# X \p{Is_CJK_Compatibility_Ideographs_Supplement}
-# \p{In_CJK_Compatibility_Ideographs_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Compatibility_Ideographs_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2F800 2FA1F # [544]
+2F800 2FA1F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
index 3e833447d49..416444533ef 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Compatibility}
-# \p{Blk=CJK_Compatibility}
-# \p{Is_Block=CJK_Compatibility}
-# \p{Is_Blk=CJK_Compatibility}
-#
-# X \p{CJK_Compatibility}
-# X \p{Is_CJK_Compatibility}
-# \p{In_CJK_Compatibility}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Compatibility}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3300 33FF # [256]
+3300 33FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
index 8dd23fc0b58..1f2f14ef3d0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Radicals_Supplement}
-# \p{Blk=CJK_Radicals_Supplement}
-# \p{Is_Block=CJK_Radicals_Supplement}
-# \p{Is_Blk=CJK_Radicals_Supplement}
-#
-# X \p{CJK_Radicals_Supplement}
-# X \p{Is_CJK_Radicals_Supplement}
-# \p{In_CJK_Radicals_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Radicals_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2E80 2EFF # [128]
+2E80 2EFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
index 8f21fa0e4c7..337cc5f10da 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Strokes}
-# \p{Blk=CJK_Strokes}
-# \p{Is_Block=CJK_Strokes}
-# \p{Is_Blk=CJK_Strokes}
-#
-# X \p{CJK_Strokes}
-# X \p{Is_CJK_Strokes}
-# \p{In_CJK_Strokes}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Strokes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-31C0 31EF # [48]
+31C0 31EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
index 2ca6abb7b3f..e2c381df266 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Symbols_And_Punctuation}
-# \p{Blk=CJK_Symbols_And_Punctuation}
-# \p{Is_Block=CJK_Symbols_And_Punctuation}
-# \p{Is_Blk=CJK_Symbols_And_Punctuation}
-#
-# X \p{CJK_Symbols_And_Punctuation}
-# X \p{Is_CJK_Symbols_And_Punctuation}
-# \p{In_CJK_Symbols_And_Punctuation}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Symbols_And_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3000 303F # [64]
+3000 303F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl
index 1638014e7f2..f356050dd69 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 6592 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Unified_Ideographs_Extension_A}
-# \p{Blk=CJK_Unified_Ideographs_Extension_A}
-# \p{Is_Block=CJK_Unified_Ideographs_Extension_A}
-# \p{Is_Blk=CJK_Unified_Ideographs_Extension_A}
-#
-# X \p{CJK_Unified_Ideographs_Extension_A}
-# X \p{Is_CJK_Unified_Ideographs_Extension_A}
-# \p{In_CJK_Unified_Ideographs_Extension_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Unified_Ideographs_Extension_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3400 4DBF # [6592]
+3400 4DBF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl
index 97b0f03f8e1..916ea755801 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 42_720 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Block=CJK_Unified_Ideographs_Extension_B}
-# \p{Blk=CJK_Unified_Ideographs_Extension_B}
-# \p{Is_Block=CJK_Unified_Ideographs_Extension_B}
-# \p{Is_Blk=CJK_Unified_Ideographs_Extension_B}
-#
-# X \p{CJK_Unified_Ideographs_Extension_B}
-# X \p{Is_CJK_Unified_Ideographs_Extension_B}
-# \p{In_CJK_Unified_Ideographs_Extension_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Unified_Ideographs_Extension_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-20000 2A6DF # [42_720]
+20000 2A6DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl
index a1320a470cd..fa9812abfe3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 4160 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=CJK_Unified_Ideographs_Extension_C}
-# \p{Blk=CJK_Unified_Ideographs_Extension_C}
-# \p{Is_Block=CJK_Unified_Ideographs_Extension_C}
-# \p{Is_Blk=CJK_Unified_Ideographs_Extension_C}
-#
-# X \p{CJK_Unified_Ideographs_Extension_C}
-# X \p{Is_CJK_Unified_Ideographs_Extension_C}
-# \p{In_CJK_Unified_Ideographs_Extension_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Unified_Ideographs_Extension_C}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2A700 2B73F # [4160]
+2A700 2B73F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl
new file mode 100644
index 00000000000..570d1001451
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+2B740 2B81F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl
index 9c67d4c8e13..0c3bec64b7e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 20_992 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Block=CJK_Unified_Ideographs}
-# \p{Blk=CJK_Unified_Ideographs}
-# \p{Is_Block=CJK_Unified_Ideographs}
-# \p{Is_Blk=CJK_Unified_Ideographs}
-#
-# X \p{CJK_Unified_Ideographs}
-# X \p{Is_CJK_Unified_Ideographs}
-# \p{In_CJK_Unified_Ideographs}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: CJK_Unified_Ideographs}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-4E00 9FFF # [20_992]
+4E00 9FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl
index c32ea15b850..55028a4bc92 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl
@@ -1,45 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 640 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Unified_Canadian_Aboriginal_Syllabics}
-# \p{Blk=Canadian_Syllabics}
-# \p{Is_Block=Unified_Canadian_Aboriginal_Syllabics}
-# \p{Is_Blk=Canadian_Syllabics}
-#
-# X \p{Unified_Canadian_Aboriginal_Syllabics}
-# X \p{Is_Unified_Canadian_Aboriginal_Syllabics}
-# \p{In_Unified_Canadian_Aboriginal_Syllabics}
-# X \p{Canadian_Syllabics}
-# X \p{Is_Canadian_Syllabics}
-# \p{In_Canadian_Syllabics}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Unified_Canadian_Aboriginal_Syllabics}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1400 167F # [640]
+1400 167F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
index 606eb889cd0..d68486445cb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Carian}
-# \p{Blk=Carian}
-# \p{Is_Block=Carian}
-# \p{Is_Blk=Carian}
-#
-# \p{In_Carian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Carian}, \p{Is_Carian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Carian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-102A0 102DF # [64]
+102A0 102DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
index 427cc63c306..90ab9cc0b94 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cham}
-# \p{Blk=Cham}
-# \p{Is_Block=Cham}
-# \p{Is_Blk=Cham}
-#
-# \p{In_Cham}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Cham}, \p{Is_Cham}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cham}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AA00 AA5F # [96]
+AA00 AA5F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
index 1fc01f447af..f3dbf593b5b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cherokee}
-# \p{Blk=Cherokee}
-# \p{Is_Block=Cherokee}
-# \p{Is_Blk=Cherokee}
-#
-# \p{In_Cherokee}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Cherokee}, \p{Is_Cherokee}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cherokee}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-13A0 13FF # [96]
+13A0 13FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl
index 2375cd63fb3..24b98d5d830 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl
@@ -1,45 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Combining_Diacritical_Marks_For_Symbols}
-# \p{Blk=Combining_Marks_For_Symbols}
-# \p{Is_Block=Combining_Diacritical_Marks_For_Symbols}
-# \p{Is_Blk=Combining_Marks_For_Symbols}
-#
-# X \p{Combining_Diacritical_Marks_For_Symbols}
-# X \p{Is_Combining_Diacritical_Marks_For_Symbols}
-# \p{In_Combining_Diacritical_Marks_For_Symbols}
-# X \p{Combining_Marks_For_Symbols}
-# X \p{Is_Combining_Marks_For_Symbols}
-# \p{In_Combining_Marks_For_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Combining_Diacritical_Marks_For_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-20D0 20FF # [48]
+20D0 20FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl
index 7067ffdb960..6b5156c9187 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 112 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Combining_Diacritical_Marks}
-# \p{Blk=Combining_Diacritical_Marks}
-# \p{Is_Block=Combining_Diacritical_Marks}
-# \p{Is_Blk=Combining_Diacritical_Marks}
-#
-# X \p{Combining_Diacritical_Marks}
-# X \p{Is_Combining_Diacritical_Marks}
-# \p{In_Combining_Diacritical_Marks}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Combining_Diacritical_Marks}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
+0300 036F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl
index 996278c0943..6dc94067aad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Combining_Diacritical_Marks_Supplement}
-# \p{Blk=Combining_Diacritical_Marks_Supplement}
-# \p{Is_Block=Combining_Diacritical_Marks_Supplement}
-# \p{Is_Blk=Combining_Diacritical_Marks_Supplement}
-#
-# X \p{Combining_Diacritical_Marks_Supplement}
-# X \p{Is_Combining_Diacritical_Marks_Supplement}
-# \p{In_Combining_Diacritical_Marks_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Combining_Diacritical_Marks_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1DC0 1DFF # [64]
+1DC0 1DFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl
index 650ea6a231e..472499ea2e1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Combining_Half_Marks}
-# \p{Blk=Combining_Half_Marks}
-# \p{Is_Block=Combining_Half_Marks}
-# \p{Is_Blk=Combining_Half_Marks}
-#
-# X \p{Combining_Half_Marks}
-# X \p{Is_Combining_Half_Marks}
-# \p{In_Combining_Half_Marks}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Combining_Half_Marks}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE20 FE2F # [16]
+FE20 FE2F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl
index 135aa1b84ff..7fdeba3e9be 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Common_Indic_Number_Forms}
-# \p{Blk=Common_Indic_Number_Forms}
-# \p{Is_Block=Common_Indic_Number_Forms}
-# \p{Is_Blk=Common_Indic_Number_Forms}
-#
-# X \p{Common_Indic_Number_Forms}
-# X \p{Is_Common_Indic_Number_Forms}
-# \p{In_Common_Indic_Number_Forms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Common_Indic_Number_Forms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A830 A83F # [16]
+A830 A83F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
index b381e39ba69..b7a80d5166c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Control_Pictures}
-# \p{Blk=Control_Pictures}
-# \p{Is_Block=Control_Pictures}
-# \p{Is_Blk=Control_Pictures}
-#
-# X \p{Control_Pictures}
-# X \p{Is_Control_Pictures}
-# \p{In_Control_Pictures}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Control_Pictures}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2400 243F # [64]
+2400 243F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
index 97e2d1e45ff..3f212ab6b64 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Coptic}
-# \p{Blk=Coptic}
-# \p{Is_Block=Coptic}
-# \p{Is_Blk=Coptic}
-#
-# \p{In_Coptic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Coptic}, \p{Is_Coptic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Coptic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2C80 2CFF # [128]
+2C80 2CFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
index 88ac75f115a..66f99719902 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Counting_Rod_Numerals}
-# \p{Blk=Counting_Rod_Numerals}
-# \p{Is_Block=Counting_Rod_Numerals}
-# \p{Is_Blk=Counting_Rod_Numerals}
-#
-# X \p{Counting_Rod_Numerals}
-# X \p{Is_Counting_Rod_Numerals}
-# \p{In_Counting_Rod_Numerals}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Counting_Rod_Numerals}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D360 1D37F # [32]
+1D360 1D37F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
index c0816c46d3e..202a20b9560 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cuneiform_Numbers_And_Punctuation}
-# \p{Blk=Cuneiform_Numbers_And_Punctuation}
-# \p{Is_Block=Cuneiform_Numbers_And_Punctuation}
-# \p{Is_Blk=Cuneiform_Numbers_And_Punctuation}
-#
-# X \p{Cuneiform_Numbers_And_Punctuation}
-# X \p{Is_Cuneiform_Numbers_And_Punctuation}
-# \p{In_Cuneiform_Numbers_And_Punctuation}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cuneiform_Numbers_And_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-12400 1247F # [128]
+12400 1247F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
index 7210e4043b7..52f25eea193 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1024 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cuneiform}
-# \p{Blk=Cuneiform}
-# \p{Is_Block=Cuneiform}
-# \p{Is_Blk=Cuneiform}
-#
-# \p{In_Cuneiform}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Cuneiform}, \p{Is_Cuneiform}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cuneiform}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-12000 123FF # [1024]
+12000 123FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
index 508c79f482b..5185f724843 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Currency_Symbols}
-# \p{Blk=Currency_Symbols}
-# \p{Is_Block=Currency_Symbols}
-# \p{Is_Blk=Currency_Symbols}
-#
-# X \p{Currency_Symbols}
-# X \p{Is_Currency_Symbols}
-# \p{In_Currency_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Currency_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-20A0 20CF # [48]
+20A0 20CF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
index e26d34567fa..6e8f3c5d28a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cypriot_Syllabary}
-# \p{Blk=Cypriot_Syllabary}
-# \p{Is_Block=Cypriot_Syllabary}
-# \p{Is_Blk=Cypriot_Syllabary}
-#
-# X \p{Cypriot_Syllabary}
-# X \p{Is_Cypriot_Syllabary}
-# \p{In_Cypriot_Syllabary}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cypriot_Syllabary}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10800 1083F # [64]
+10800 1083F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
index ac2ad6b7f19..6941dedf1f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cyrillic_Extended_A}
-# \p{Blk=Cyrillic_Extended_A}
-# \p{Is_Block=Cyrillic_Extended_A}
-# \p{Is_Blk=Cyrillic_Extended_A}
-#
-# X \p{Cyrillic_Extended_A}
-# X \p{Is_Cyrillic_Extended_A}
-# \p{In_Cyrillic_Extended_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cyrillic_Extended_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2DE0 2DFF # [32]
+2DE0 2DFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
index 2c5d9faa55a..eb6feb24c31 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cyrillic_Extended_B}
-# \p{Blk=Cyrillic_Extended_B}
-# \p{Is_Block=Cyrillic_Extended_B}
-# \p{Is_Blk=Cyrillic_Extended_B}
-#
-# X \p{Cyrillic_Extended_B}
-# X \p{Is_Cyrillic_Extended_B}
-# \p{In_Cyrillic_Extended_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cyrillic_Extended_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A640 A69F # [96]
+A640 A69F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
index 79c3255bfb9..3cf35fdd88d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
@@ -1,45 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cyrillic_Supplement}
-# \p{Blk=Cyrillic_Supplementary}
-# \p{Is_Block=Cyrillic_Supplement}
-# \p{Is_Blk=Cyrillic_Supplementary}
-#
-# X \p{Cyrillic_Supplement}
-# X \p{Is_Cyrillic_Supplement}
-# \p{In_Cyrillic_Supplement}
-# X \p{Cyrillic_Supplementary}
-# X \p{Is_Cyrillic_Supplementary}
-# \p{In_Cyrillic_Supplementary}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cyrillic_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0500 052F # [48]
+0500 052F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
index fa10f97ae68..ee3020d4517 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Cyrillic}
-# \p{Blk=Cyrillic}
-# \p{Is_Block=Cyrillic}
-# \p{Is_Blk=Cyrillic}
-#
-# \p{In_Cyrillic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Cyrillic}, \p{Is_Cyrillic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Cyrillic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0400 04FF # [256]
+0400 04FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl
index 4a0030b8589..b94842f2dee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl
@@ -1,56 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Deseret}
-# \p{Blk=Deseret}
-# \p{Is_Block=Deseret}
-# \p{Is_Blk=Deseret}
-#
-# \p{In_Deseret}
-#
-# \p{Script=Deseret}
-# \p{Sc=Dsrt}
-# \p{Is_Script=Deseret}
-# \p{Is_Sc=Dsrt}
-#
-# \p{Deseret}
-# \p{Is_Deseret}
-# \p{Dsrt}
-# \p{Is_Dsrt}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Deseret}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10400 1044F # [80]
+10400 1044F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
index f7879172d5d..0bd3132b3e9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Devanagari_Extended}
-# \p{Blk=Devanagari_Extended}
-# \p{Is_Block=Devanagari_Extended}
-# \p{Is_Blk=Devanagari_Extended}
-#
-# X \p{Devanagari_Extended}
-# X \p{Is_Devanagari_Extended}
-# \p{In_Devanagari_Extended}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Devanagari_Extended}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A8E0 A8FF # [32]
+A8E0 A8FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
index 69762b7efec..5b9e2e9868b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Devanagari}
-# \p{Blk=Devanagari}
-# \p{Is_Block=Devanagari}
-# \p{Is_Blk=Devanagari}
-#
-# \p{In_Devanagari}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Devanagari}, \p{Is_Devanagari}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Devanagari}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0900 097F # [128]
+0900 097F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
index 34770d63d72..f5ca32f39aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 192 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Dingbats}
-# \p{Blk=Dingbats}
-# \p{Is_Block=Dingbats}
-# \p{Is_Blk=Dingbats}
-#
-# X \p{Dingbats}
-# X \p{Is_Dingbats}
-# \p{In_Dingbats}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Dingbats}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2700 27BF # [192]
+2700 27BF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl
index b3c7ea1b9cb..999ae605c2c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 112 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Domino_Tiles}
-# \p{Blk=Domino_Tiles}
-# \p{Is_Block=Domino_Tiles}
-# \p{Is_Blk=Domino_Tiles}
-#
-# X \p{Domino_Tiles}
-# X \p{Is_Domino_Tiles}
-# \p{In_Domino_Tiles}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Domino_Tiles}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1F030 1F09F # [112]
+1F030 1F09F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
index 5ee36aa4239..9442f6fc069 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1072 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Egyptian_Hieroglyphs}
-# \p{Blk=Egyptian_Hieroglyphs}
-# \p{Is_Block=Egyptian_Hieroglyphs}
-# \p{Is_Blk=Egyptian_Hieroglyphs}
-#
-# \p{In_Egyptian_Hieroglyphs}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Egyptian_Hieroglyphs}, \p{Is_Egyptian_Hieroglyphs}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Egyptian_Hieroglyphs}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-13000 1342F # [1072]
+13000 1342F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl
new file mode 100644
index 00000000000..10a243c9cbf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1F600 1F64F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
index a146154e7df..1ec110e4543 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Enclosed_CJK_Letters_And_Months}
-# \p{Blk=Enclosed_CJK_Letters_And_Months}
-# \p{Is_Block=Enclosed_CJK_Letters_And_Months}
-# \p{Is_Blk=Enclosed_CJK_Letters_And_Months}
-#
-# X \p{Enclosed_CJK_Letters_And_Months}
-# X \p{Is_Enclosed_CJK_Letters_And_Months}
-# \p{In_Enclosed_CJK_Letters_And_Months}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Enclosed_CJK_Letters_And_Months}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3200 32FF # [256]
+3200 32FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
index f25c8264462..f590cb9bb9c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Enclosed_Ideographic_Supplement}
-# \p{Blk=Enclosed_Ideographic_Supplement}
-# \p{Is_Block=Enclosed_Ideographic_Supplement}
-# \p{Is_Blk=Enclosed_Ideographic_Supplement}
-#
-# X \p{Enclosed_Ideographic_Supplement}
-# X \p{Is_Enclosed_Ideographic_Supplement}
-# \p{In_Enclosed_Ideographic_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Enclosed_Ideographic_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1F200 1F2FF # [256]
+1F200 1F2FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
index ab1b2ac6178..2e430f3c8f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Enclosed_Alphanumeric_Supplement}
-# \p{Blk=Enclosed_Alphanumeric_Supplement}
-# \p{Is_Block=Enclosed_Alphanumeric_Supplement}
-# \p{Is_Blk=Enclosed_Alphanumeric_Supplement}
-#
-# X \p{Enclosed_Alphanumeric_Supplement}
-# X \p{Is_Enclosed_Alphanumeric_Supplement}
-# \p{In_Enclosed_Alphanumeric_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Enclosed_Alphanumeric_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1F100 1F1FF # [256]
+1F100 1F1FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
index b5756e90265..8423aeadf60 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 160 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Enclosed_Alphanumerics}
-# \p{Blk=Enclosed_Alphanumerics}
-# \p{Is_Block=Enclosed_Alphanumerics}
-# \p{Is_Blk=Enclosed_Alphanumerics}
-#
-# X \p{Enclosed_Alphanumerics}
-# X \p{Is_Enclosed_Alphanumerics}
-# \p{In_Enclosed_Alphanumerics}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Enclosed_Alphanumerics}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2460 24FF # [160]
+2460 24FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
index 345688fb8ff..cb44a9c4ead 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ethiopic_Extended}
-# \p{Blk=Ethiopic_Extended}
-# \p{Is_Block=Ethiopic_Extended}
-# \p{Is_Blk=Ethiopic_Extended}
-#
-# X \p{Ethiopic_Extended}
-# X \p{Is_Ethiopic_Extended}
-# \p{In_Ethiopic_Extended}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ethiopic_Extended}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2D80 2DDF # [96]
+2D80 2DDF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
index 28cf3676220..4bf40bc6ab8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ethiopic_Supplement}
-# \p{Blk=Ethiopic_Supplement}
-# \p{Is_Block=Ethiopic_Supplement}
-# \p{Is_Blk=Ethiopic_Supplement}
-#
-# X \p{Ethiopic_Supplement}
-# X \p{Is_Ethiopic_Supplement}
-# \p{In_Ethiopic_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ethiopic_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1380 139F # [32]
+AB00 AB2F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
new file mode 100644
index 00000000000..4fd7bb63ec8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1380 139F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
index 25f80b2995c..06a556651c8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 384 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ethiopic}
-# \p{Blk=Ethiopic}
-# \p{Is_Block=Ethiopic}
-# \p{Is_Blk=Ethiopic}
-#
-# \p{In_Ethiopic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Ethiopic}, \p{Is_Ethiopic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ethiopic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1200 137F # [384]
+1200 137F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl
index 05fb6b29f1d..affe85ae11a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 112 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=General_Punctuation}
-# \p{Blk=General_Punctuation}
-# \p{Is_Block=General_Punctuation}
-# \p{Is_Blk=General_Punctuation}
-#
-# X \p{General_Punctuation}
-# X \p{Is_General_Punctuation}
-# \p{In_General_Punctuation}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: General_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2000 206F # [112]
+2000 206F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
index f768bf77aed..cd41bfc5c69 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Geometric_Shapes}
-# \p{Blk=Geometric_Shapes}
-# \p{Is_Block=Geometric_Shapes}
-# \p{Is_Blk=Geometric_Shapes}
-#
-# X \p{Geometric_Shapes}
-# X \p{Is_Geometric_Shapes}
-# \p{In_Geometric_Shapes}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Geometric_Shapes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-25A0 25FF # [96]
+25A0 25FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
index b9c6713b9d6..f91f6dfe0d7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Georgian_Supplement}
-# \p{Blk=Georgian_Supplement}
-# \p{Is_Block=Georgian_Supplement}
-# \p{Is_Blk=Georgian_Supplement}
-#
-# X \p{Georgian_Supplement}
-# X \p{Is_Georgian_Supplement}
-# \p{In_Georgian_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Georgian_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2D00 2D2F # [48]
+2D00 2D2F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
index ac8007456e9..6c89fbe3c4a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Georgian}
-# \p{Blk=Georgian}
-# \p{Is_Block=Georgian}
-# \p{Is_Blk=Georgian}
-#
-# \p{In_Georgian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Georgian}, \p{Is_Georgian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Georgian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10A0 10FF # [96]
+10A0 10FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
index 022aa49f58a..f5c1a2c64f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Glagolitic}
-# \p{Blk=Glagolitic}
-# \p{Is_Block=Glagolitic}
-# \p{Is_Blk=Glagolitic}
-#
-# \p{In_Glagolitic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Glagolitic}, \p{Is_Glagolitic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Glagolitic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2C00 2C5F # [96]
+2C00 2C5F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
index 25778ddb724..38c52d29a6d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Gothic}
-# \p{Blk=Gothic}
-# \p{Is_Block=Gothic}
-# \p{Is_Blk=Gothic}
-#
-# \p{In_Gothic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Gothic}, \p{Is_Gothic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Gothic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10330 1034F # [32]
+10330 1034F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
index 6889810c9b6..745a8cd5cbd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
@@ -1,46 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 144 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Greek_And_Coptic}
-# \p{Blk=Greek}
-# \p{Is_Block=Greek_And_Coptic}
-# \p{Is_Blk=Greek}
-#
-# X \p{Greek_And_Coptic}
-# X \p{Is_Greek_And_Coptic}
-# \p{In_Greek_And_Coptic}
-# \p{In_Greek}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Greek}, \p{Is_Greek}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Greek_And_Coptic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0370 03FF # [144]
+0370 03FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
index 725d564853c..614100611bf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Greek_Extended}
-# \p{Blk=Greek_Extended}
-# \p{Is_Block=Greek_Extended}
-# \p{Is_Blk=Greek_Extended}
-#
-# X \p{Greek_Extended}
-# X \p{Is_Greek_Extended}
-# \p{In_Greek_Extended}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Greek_Extended}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1F00 1FFF # [256]
+1F00 1FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
index bd6e227dbaa..ccf3a337a6d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Gujarati}
-# \p{Blk=Gujarati}
-# \p{Is_Block=Gujarati}
-# \p{Is_Blk=Gujarati}
-#
-# \p{In_Gujarati}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Gujarati}, \p{Is_Gujarati}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Gujarati}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0A80 0AFF # [128]
+0A80 0AFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
index 98eb98e99c0..f41c2788592 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Gurmukhi}
-# \p{Blk=Gurmukhi}
-# \p{Is_Block=Gurmukhi}
-# \p{Is_Blk=Gurmukhi}
-#
-# \p{In_Gurmukhi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Gurmukhi}, \p{Is_Gurmukhi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Gurmukhi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0A00 0A7F # [128]
+0A00 0A7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl
index 1eae3c539a5..3c66757652e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 240 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Halfwidth_And_Fullwidth_Forms}
-# \p{Blk=Halfwidth_And_Fullwidth_Forms}
-# \p{Is_Block=Halfwidth_And_Fullwidth_Forms}
-# \p{Is_Blk=Halfwidth_And_Fullwidth_Forms}
-#
-# X \p{Halfwidth_And_Fullwidth_Forms}
-# X \p{Is_Halfwidth_And_Fullwidth_Forms}
-# \p{In_Halfwidth_And_Fullwidth_Forms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Halfwidth_And_Fullwidth_Forms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FF00 FFEF # [240]
+FF00 FFEF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl
index 05c6c392b04..b78b78d98c2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hangul_Compatibility_Jamo}
-# \p{Blk=Hangul_Compatibility_Jamo}
-# \p{Is_Block=Hangul_Compatibility_Jamo}
-# \p{Is_Blk=Hangul_Compatibility_Jamo}
-#
-# X \p{Hangul_Compatibility_Jamo}
-# X \p{Is_Hangul_Compatibility_Jamo}
-# \p{In_Hangul_Compatibility_Jamo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hangul_Compatibility_Jamo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3130 318F # [96]
+3130 318F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl
index 07ce9b95c30..4baa56eb3cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hangul_Jamo_Extended_A}
-# \p{Blk=Hangul_Jamo_Extended_A}
-# \p{Is_Block=Hangul_Jamo_Extended_A}
-# \p{Is_Blk=Hangul_Jamo_Extended_A}
-#
-# X \p{Hangul_Jamo_Extended_A}
-# X \p{Is_Hangul_Jamo_Extended_A}
-# \p{In_Hangul_Jamo_Extended_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hangul_Jamo_Extended_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A960 A97F # [32]
+A960 A97F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl
index 8769538fa5a..904131228b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hangul_Jamo_Extended_B}
-# \p{Blk=Hangul_Jamo_Extended_B}
-# \p{Is_Block=Hangul_Jamo_Extended_B}
-# \p{Is_Blk=Hangul_Jamo_Extended_B}
-#
-# X \p{Hangul_Jamo_Extended_B}
-# X \p{Is_Hangul_Jamo_Extended_B}
-# \p{In_Hangul_Jamo_Extended_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hangul_Jamo_Extended_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-D7B0 D7FF # [80]
+D7B0 D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl
index b4e5dc6d26b..82a347a87ed 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hangul_Jamo}
-# \p{Blk=Hangul_Jamo}
-# \p{Is_Block=Hangul_Jamo}
-# \p{Is_Blk=Hangul_Jamo}
-#
-# X \p{Hangul_Jamo}
-# X \p{Is_Hangul_Jamo}
-# \p{In_Hangul_Jamo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hangul_Jamo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1100 11FF # [256]
+1100 11FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl
index d09c268e457..2305c4c4e35 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 11_184 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Block=Hangul_Syllables}
-# \p{Blk=Hangul_Syllables}
-# \p{Is_Block=Hangul_Syllables}
-# \p{Is_Blk=Hangul_Syllables}
-#
-# X \p{Hangul_Syllables}
-# X \p{Is_Hangul_Syllables}
-# \p{In_Hangul_Syllables}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hangul_Syllables}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AC00 D7AF # [11_184]
+AC00 D7AF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
index d042f1671f2..37d2357cee4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hanunoo}
-# \p{Blk=Hanunoo}
-# \p{Is_Block=Hanunoo}
-# \p{Is_Blk=Hanunoo}
-#
-# \p{In_Hanunoo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Hanunoo}, \p{Is_Hanunoo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hanunoo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1720 173F # [32]
+1720 173F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
index 808eeeab396..8ad36433485 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 112 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hebrew}
-# \p{Blk=Hebrew}
-# \p{Is_Block=Hebrew}
-# \p{Is_Blk=Hebrew}
-#
-# \p{In_Hebrew}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Hebrew}, \p{Is_Hebrew}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hebrew}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0590 05FF # [112]
+0590 05FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl
index e0d00735b10..2b48e11b60d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=High_Private_Use_Surrogates}
-# \p{Blk=High_Private_Use_Surrogates}
-# \p{Is_Block=High_Private_Use_Surrogates}
-# \p{Is_Blk=High_Private_Use_Surrogates}
-#
-# X \p{High_Private_Use_Surrogates}
-# X \p{Is_High_Private_Use_Surrogates}
-# \p{In_High_Private_Use_Surrogates}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: High_Private_Use_Surrogates}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-DB80 DBFF # [128]
+DB80 DBFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
index e2e52237816..1c7c25e0bd3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 896 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=High_Surrogates}
-# \p{Blk=High_Surrogates}
-# \p{Is_Block=High_Surrogates}
-# \p{Is_Blk=High_Surrogates}
-#
-# X \p{High_Surrogates}
-# X \p{Is_High_Surrogates}
-# \p{In_High_Surrogates}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: High_Surrogates}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-D800 DB7F # [896]
+D800 DB7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
index 7ed6403db2a..86511d56242 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Hiragana}
-# \p{Blk=Hiragana}
-# \p{Is_Block=Hiragana}
-# \p{Is_Blk=Hiragana}
-#
-# \p{In_Hiragana}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Hiragana}, \p{Is_Hiragana}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Hiragana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3040 309F # [96]
+3040 309F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl
index 475d4d56721..ef2dcb13107 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=IPA_Extensions}
-# \p{Blk=IPA_Extensions}
-# \p{Is_Block=IPA_Extensions}
-# \p{Is_Blk=IPA_Extensions}
-#
-# X \p{IPA_Extensions}
-# X \p{Is_IPA_Extensions}
-# \p{In_IPA_Extensions}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: IPA_Extensions}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0250 02AF # [96]
+0250 02AF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl
index d6b6be74b27..276e632e99a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ideographic_Description_Characters}
-# \p{Blk=Ideographic_Description_Characters}
-# \p{Is_Block=Ideographic_Description_Characters}
-# \p{Is_Blk=Ideographic_Description_Characters}
-#
-# X \p{Ideographic_Description_Characters}
-# X \p{Is_Ideographic_Description_Characters}
-# \p{In_Ideographic_Description_Characters}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ideographic_Description_Characters}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2FF0 2FFF # [16]
+2FF0 2FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
index 4d8e5a7583c..d1858484834 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Imperial_Aramaic}
-# \p{Blk=Imperial_Aramaic}
-# \p{Is_Block=Imperial_Aramaic}
-# \p{Is_Blk=Imperial_Aramaic}
-#
-# \p{In_Imperial_Aramaic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Imperial_Aramaic}, \p{Is_Imperial_Aramaic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Imperial_Aramaic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10840 1085F # [32]
+10840 1085F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
index b0f85ffe084..f7a5f7c885b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Inscriptional_Parthian}
-# \p{Blk=Inscriptional_Parthian}
-# \p{Is_Block=Inscriptional_Parthian}
-# \p{Is_Blk=Inscriptional_Parthian}
-#
-# \p{In_Inscriptional_Parthian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Inscriptional_Parthian}, \p{Is_Inscriptional_Parthian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Inscriptional_Parthian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10B40 10B5F # [32]
+10B40 10B5F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
index c90f018b0dc..3c53d87b2f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Inscriptional_Pahlavi}
-# \p{Blk=Inscriptional_Pahlavi}
-# \p{Is_Block=Inscriptional_Pahlavi}
-# \p{Is_Blk=Inscriptional_Pahlavi}
-#
-# \p{In_Inscriptional_Pahlavi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Inscriptional_Pahlavi}, \p{Is_Inscriptional_Pahlavi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Inscriptional_Pahlavi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10B60 10B7F # [32]
+10B60 10B7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
index d7eeeba0112..7812c96efb3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Javanese}
-# \p{Blk=Javanese}
-# \p{Is_Block=Javanese}
-# \p{Is_Blk=Javanese}
-#
-# \p{In_Javanese}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Javanese}, \p{Is_Javanese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Javanese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A980 A9DF # [96]
+A980 A9DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
index 1655a67ff47..6e53c05b3b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Kaithi}
-# \p{Blk=Kaithi}
-# \p{Is_Block=Kaithi}
-# \p{Is_Blk=Kaithi}
-#
-# \p{In_Kaithi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Kaithi}, \p{Is_Kaithi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Kaithi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-11080 110CF # [80]
+11080 110CF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl
new file mode 100644
index 00000000000..070c30c92a8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1B000 1B0FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
index fe09029e9a0..de9655c5595 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Kanbun}
-# \p{Blk=Kanbun}
-# \p{Is_Block=Kanbun}
-# \p{Is_Blk=Kanbun}
-#
-# X \p{Kanbun}
-# X \p{Is_Kanbun}
-# \p{In_Kanbun}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Kanbun}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3190 319F # [16]
+3190 319F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl
index 78aa4c44d4b..3c233a0f7e8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 224 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Kangxi_Radicals}
-# \p{Blk=Kangxi_Radicals}
-# \p{Is_Block=Kangxi_Radicals}
-# \p{Is_Blk=Kangxi_Radicals}
-#
-# X \p{Kangxi_Radicals}
-# X \p{Is_Kangxi_Radicals}
-# \p{In_Kangxi_Radicals}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Kangxi_Radicals}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2F00 2FDF # [224]
+2F00 2FDF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
index 77aa8b2991a..30cf8b9604f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Kannada}
-# \p{Blk=Kannada}
-# \p{Is_Block=Kannada}
-# \p{Is_Blk=Kannada}
-#
-# \p{In_Kannada}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Kannada}, \p{Is_Kannada}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Kannada}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0C80 0CFF # [128]
+0C80 0CFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
index 383dc4b44bf..3ba758ba620 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Katakana_Phonetic_Extensions}
-# \p{Blk=Katakana_Phonetic_Extensions}
-# \p{Is_Block=Katakana_Phonetic_Extensions}
-# \p{Is_Blk=Katakana_Phonetic_Extensions}
-#
-# X \p{Katakana_Phonetic_Extensions}
-# X \p{Is_Katakana_Phonetic_Extensions}
-# \p{In_Katakana_Phonetic_Extensions}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Katakana_Phonetic_Extensions}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-31F0 31FF # [16]
+31F0 31FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
index 075f193662c..51cfca8700c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Katakana}
-# \p{Blk=Katakana}
-# \p{Is_Block=Katakana}
-# \p{Is_Blk=Katakana}
-#
-# \p{In_Katakana}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Katakana}, \p{Is_Katakana}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Katakana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-30A0 30FF # [96]
+30A0 30FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl
index c6d375b7611..22b4ae2b283 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl
@@ -1,56 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Kayah_Li}
-# \p{Blk=Kayah_Li}
-# \p{Is_Block=Kayah_Li}
-# \p{Is_Blk=Kayah_Li}
-#
-# \p{In_Kayah_Li}
-#
-# \p{Script=Kayah_Li}
-# \p{Sc=Kali}
-# \p{Is_Script=Kayah_Li}
-# \p{Is_Sc=Kali}
-#
-# \p{Kayah_Li}
-# \p{Is_Kayah_Li}
-# \p{Kali}
-# \p{Is_Kali}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Kayah_Li}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A900 A92F # [48]
+A900 A92F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
index c44c22dd21c..0053e3884eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Kharoshthi}
-# \p{Blk=Kharoshthi}
-# \p{Is_Block=Kharoshthi}
-# \p{Is_Blk=Kharoshthi}
-#
-# \p{In_Kharoshthi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Kharoshthi}, \p{Is_Kharoshthi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Kharoshthi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10A00 10A5F # [96]
+10A00 10A5F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
index 94c0e1019cf..6d88e873531 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Khmer}
-# \p{Blk=Khmer}
-# \p{Is_Block=Khmer}
-# \p{Is_Blk=Khmer}
-#
-# \p{In_Khmer}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Khmer}, \p{Is_Khmer}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Khmer}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1780 17FF # [128]
+1780 17FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
index eae66de49c8..f4ed4089ec0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Khmer_Symbols}
-# \p{Blk=Khmer_Symbols}
-# \p{Is_Block=Khmer_Symbols}
-# \p{Is_Blk=Khmer_Symbols}
-#
-# X \p{Khmer_Symbols}
-# X \p{Is_Khmer_Symbols}
-# \p{In_Khmer_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Khmer_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-19E0 19FF # [32]
+19E0 19FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
index 882e37246ae..c098d85889f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Lao}
-# \p{Blk=Lao}
-# \p{Is_Block=Lao}
-# \p{Is_Blk=Lao}
-#
-# \p{In_Lao}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Lao}, \p{Is_Lao}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Lao}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E80 0EFF # [128]
+0E80 0EFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
index 19af738c82a..b5209ef100e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
@@ -1,45 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Latin_1_Supplement}
-# \p{Blk=Latin_1}
-# \p{Is_Block=Latin_1_Supplement}
-# \p{Is_Blk=Latin_1}
-#
-# X \p{Latin_1_Supplement}
-# X \p{Is_Latin_1_Supplement}
-# \p{In_Latin_1_Supplement}
-# X \p{Latin_1}
-# X \p{Is_Latin_1}
-# \p{In_Latin_1}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Latin_1_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0080 00FF # [128]
+0080 00FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
index 34a5a605e2e..b1582712b9d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 208 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Latin_Extended_B}
-# \p{Blk=Latin_Extended_B}
-# \p{Is_Block=Latin_Extended_B}
-# \p{Is_Blk=Latin_Extended_B}
-#
-# X \p{Latin_Extended_B}
-# X \p{Is_Latin_Extended_B}
-# \p{In_Latin_Extended_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Latin_Extended_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0180 024F # [208]
+0180 024F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
index dfeeeb8f060..a6b0c2088cc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Latin_Extended_C}
-# \p{Blk=Latin_Extended_C}
-# \p{Is_Block=Latin_Extended_C}
-# \p{Is_Blk=Latin_Extended_C}
-#
-# X \p{Latin_Extended_C}
-# X \p{Is_Latin_Extended_C}
-# \p{In_Latin_Extended_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Latin_Extended_C}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2C60 2C7F # [32]
+2C60 2C7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
index 3c858162566..e44dac569df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 224 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Latin_Extended_D}
-# \p{Blk=Latin_Extended_D}
-# \p{Is_Block=Latin_Extended_D}
-# \p{Is_Blk=Latin_Extended_D}
-#
-# X \p{Latin_Extended_D}
-# X \p{Is_Latin_Extended_D}
-# \p{In_Latin_Extended_D}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Latin_Extended_D}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A720 A7FF # [224]
+A720 A7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
index 7ed2737263e..c285bb8f78a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Latin_Extended_Additional}
-# \p{Blk=Latin_Extended_Additional}
-# \p{Is_Block=Latin_Extended_Additional}
-# \p{Is_Blk=Latin_Extended_Additional}
-#
-# X \p{Latin_Extended_Additional}
-# X \p{Is_Latin_Extended_Additional}
-# \p{In_Latin_Extended_Additional}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Latin_Extended_Additional}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1E00 1EFF # [256]
+1E00 1EFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
index 8d8627f5e6e..ea15a06311e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Latin_Extended_A}
-# \p{Blk=Latin_Extended_A}
-# \p{Is_Block=Latin_Extended_A}
-# \p{Is_Blk=Latin_Extended_A}
-#
-# X \p{Latin_Extended_A}
-# X \p{Is_Latin_Extended_A}
-# \p{In_Latin_Extended_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Latin_Extended_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0100 017F # [128]
+0100 017F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
index ba24466f71e..8054bc3f351 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Lepcha}
-# \p{Blk=Lepcha}
-# \p{Is_Block=Lepcha}
-# \p{Is_Blk=Lepcha}
-#
-# \p{In_Lepcha}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Lepcha}, \p{Is_Lepcha}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Lepcha}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1C00 1C4F # [80]
+1C00 1C4F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
index 75bec13f0cf..f39b1a3e19d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Letterlike_Symbols}
-# \p{Blk=Letterlike_Symbols}
-# \p{Is_Block=Letterlike_Symbols}
-# \p{Is_Blk=Letterlike_Symbols}
-#
-# X \p{Letterlike_Symbols}
-# X \p{Is_Letterlike_Symbols}
-# \p{In_Letterlike_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Letterlike_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2100 214F # [80]
+2100 214F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
index 070c259fee7..338d5b4cead 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Limbu}
-# \p{Blk=Limbu}
-# \p{Is_Block=Limbu}
-# \p{Is_Blk=Limbu}
-#
-# \p{In_Limbu}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Limbu}, \p{Is_Limbu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Limbu}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1900 194F # [80]
+1900 194F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
index c1281537050..18d7d7410d1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Linear_B_Ideograms}
-# \p{Blk=Linear_B_Ideograms}
-# \p{Is_Block=Linear_B_Ideograms}
-# \p{Is_Blk=Linear_B_Ideograms}
-#
-# X \p{Linear_B_Ideograms}
-# X \p{Is_Linear_B_Ideograms}
-# \p{In_Linear_B_Ideograms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Linear_B_Ideograms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10080 100FF # [128]
+10080 100FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
index 57f780efa66..7e3b27e2415 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Linear_B_Syllabary}
-# \p{Blk=Linear_B_Syllabary}
-# \p{Is_Block=Linear_B_Syllabary}
-# \p{Is_Blk=Linear_B_Syllabary}
-#
-# X \p{Linear_B_Syllabary}
-# X \p{Is_Linear_B_Syllabary}
-# \p{In_Linear_B_Syllabary}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Linear_B_Syllabary}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10000 1007F # [128]
+10000 1007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl
index 2eff5d0f4ff..37aa8a4b9f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl
@@ -1,54 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Lisu}
-# \p{Blk=Lisu}
-# \p{Is_Block=Lisu}
-# \p{Is_Blk=Lisu}
-#
-# \p{In_Lisu}
-#
-# \p{Script=Lisu}
-# \p{Sc=Lisu}
-# \p{Is_Script=Lisu}
-# \p{Is_Sc=Lisu}
-#
-# \p{Lisu}
-# \p{Is_Lisu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Lisu}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A4D0 A4FF # [48]
+A4D0 A4FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
index 78767dab0b6..bf8e919d066 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 1024 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Low_Surrogates}
-# \p{Blk=Low_Surrogates}
-# \p{Is_Block=Low_Surrogates}
-# \p{Is_Blk=Low_Surrogates}
-#
-# X \p{Low_Surrogates}
-# X \p{Is_Low_Surrogates}
-# \p{In_Low_Surrogates}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Low_Surrogates}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-DC00 DFFF # [1024]
+DC00 DFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
index 0061a703789..595c05b5f7b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Lycian}
-# \p{Blk=Lycian}
-# \p{Is_Block=Lycian}
-# \p{Is_Blk=Lycian}
-#
-# \p{In_Lycian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Lycian}, \p{Is_Lycian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Lycian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10280 1029F # [32]
+10280 1029F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
index eebc15552db..e526118e89a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Lydian}
-# \p{Blk=Lydian}
-# \p{Is_Block=Lydian}
-# \p{Is_Blk=Lydian}
-#
-# \p{In_Lydian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Lydian}, \p{Is_Lydian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Lydian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10920 1093F # [32]
+10920 1093F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl
index c6cf0e41a27..36589a401c2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Mahjong_Tiles}
-# \p{Blk=Mahjong_Tiles}
-# \p{Is_Block=Mahjong_Tiles}
-# \p{Is_Blk=Mahjong_Tiles}
-#
-# X \p{Mahjong_Tiles}
-# X \p{Is_Mahjong_Tiles}
-# \p{In_Mahjong_Tiles}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Mahjong_Tiles}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1F000 1F02F # [48]
+1F000 1F02F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
index 611ab908907..f266ecc783a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Malayalam}
-# \p{Blk=Malayalam}
-# \p{Is_Block=Malayalam}
-# \p{Is_Blk=Malayalam}
-#
-# \p{In_Malayalam}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Malayalam}, \p{Is_Malayalam}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Malayalam}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0D00 0D7F # [128]
+0D00 0D7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl
new file mode 100644
index 00000000000..db77c3f364b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+0840 085F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl
index b27bbcbe348..b15ed52d5dd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 1024 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Mathematical_Alphanumeric_Symbols}
-# \p{Blk=Mathematical_Alphanumeric_Symbols}
-# \p{Is_Block=Mathematical_Alphanumeric_Symbols}
-# \p{Is_Blk=Mathematical_Alphanumeric_Symbols}
-#
-# X \p{Mathematical_Alphanumeric_Symbols}
-# X \p{Is_Mathematical_Alphanumeric_Symbols}
-# \p{In_Mathematical_Alphanumeric_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Mathematical_Alphanumeric_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D400 1D7FF # [1024]
+1D400 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl
index 069006bc100..062d9eece72 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Mathematical_Operators}
-# \p{Blk=Mathematical_Operators}
-# \p{Is_Block=Mathematical_Operators}
-# \p{Is_Blk=Mathematical_Operators}
-#
-# X \p{Mathematical_Operators}
-# X \p{Is_Mathematical_Operators}
-# \p{In_Mathematical_Operators}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Mathematical_Operators}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2200 22FF # [256]
+2200 22FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
index 8fabd50f5c1..dd073d2cef7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Meetei_Mayek}
-# \p{Blk=Meetei_Mayek}
-# \p{Is_Block=Meetei_Mayek}
-# \p{Is_Blk=Meetei_Mayek}
-#
-# \p{In_Meetei_Mayek}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Meetei_Mayek}, \p{Is_Meetei_Mayek}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Meetei_Mayek}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-ABC0 ABFF # [64]
+ABC0 ABFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl
index 0ed7139fff7..44de5c56be6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Miscellaneous_Technical}
-# \p{Blk=Miscellaneous_Technical}
-# \p{Is_Block=Miscellaneous_Technical}
-# \p{Is_Blk=Miscellaneous_Technical}
-#
-# X \p{Miscellaneous_Technical}
-# X \p{Is_Miscellaneous_Technical}
-# \p{In_Miscellaneous_Technical}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Miscellaneous_Technical}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2300 23FF # [256]
+2300 23FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl
index 8b900b65516..98a41f658e9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Miscellaneous_Symbols_And_Arrows}
-# \p{Blk=Miscellaneous_Symbols_And_Arrows}
-# \p{Is_Block=Miscellaneous_Symbols_And_Arrows}
-# \p{Is_Blk=Miscellaneous_Symbols_And_Arrows}
-#
-# X \p{Miscellaneous_Symbols_And_Arrows}
-# X \p{Is_Miscellaneous_Symbols_And_Arrows}
-# \p{In_Miscellaneous_Symbols_And_Arrows}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Miscellaneous_Symbols_And_Arrows}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2B00 2BFF # [256]
+2B00 2BFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl
index 8fbabeb8522..a11a43838f5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Miscellaneous_Mathematical_Symbols_A}
-# \p{Blk=Miscellaneous_Mathematical_Symbols_A}
-# \p{Is_Block=Miscellaneous_Mathematical_Symbols_A}
-# \p{Is_Blk=Miscellaneous_Mathematical_Symbols_A}
-#
-# X \p{Miscellaneous_Mathematical_Symbols_A}
-# X \p{Is_Miscellaneous_Mathematical_Symbols_A}
-# \p{In_Miscellaneous_Mathematical_Symbols_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Miscellaneous_Mathematical_Symbols_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-27C0 27EF # [48]
+27C0 27EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl
index 712b97febb3..18898aea081 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Miscellaneous_Mathematical_Symbols_B}
-# \p{Blk=Miscellaneous_Mathematical_Symbols_B}
-# \p{Is_Block=Miscellaneous_Mathematical_Symbols_B}
-# \p{Is_Blk=Miscellaneous_Mathematical_Symbols_B}
-#
-# X \p{Miscellaneous_Mathematical_Symbols_B}
-# X \p{Is_Miscellaneous_Mathematical_Symbols_B}
-# \p{In_Miscellaneous_Mathematical_Symbols_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Miscellaneous_Mathematical_Symbols_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2980 29FF # [128]
+2980 29FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl
new file mode 100644
index 00000000000..7932c17341d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1F300 1F5FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl
index 0c89ddd5ee1..c7856b6d57b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Miscellaneous_Symbols}
-# \p{Blk=Miscellaneous_Symbols}
-# \p{Is_Block=Miscellaneous_Symbols}
-# \p{Is_Blk=Miscellaneous_Symbols}
-#
-# X \p{Miscellaneous_Symbols}
-# X \p{Is_Miscellaneous_Symbols}
-# \p{In_Miscellaneous_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Miscellaneous_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2600 26FF # [256]
+2600 26FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
index b48f182bd3f..fb4363e4901 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Modifier_Tone_Letters}
-# \p{Blk=Modifier_Tone_Letters}
-# \p{Is_Block=Modifier_Tone_Letters}
-# \p{Is_Blk=Modifier_Tone_Letters}
-#
-# X \p{Modifier_Tone_Letters}
-# X \p{Is_Modifier_Tone_Letters}
-# \p{In_Modifier_Tone_Letters}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Modifier_Tone_Letters}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A700 A71F # [32]
+A700 A71F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
index 621ba0e39d4..7e3f2abffee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 176 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Mongolian}
-# \p{Blk=Mongolian}
-# \p{Is_Block=Mongolian}
-# \p{Is_Blk=Mongolian}
-#
-# \p{In_Mongolian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Mongolian}, \p{Is_Mongolian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Mongolian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1800 18AF # [176]
+1800 18AF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl
index ec5d6f1dc72..17733b1da06 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Musical_Symbols}
-# \p{Blk=Musical_Symbols}
-# \p{Is_Block=Musical_Symbols}
-# \p{Is_Blk=Musical_Symbols}
-#
-# X \p{Musical_Symbols}
-# X \p{Is_Musical_Symbols}
-# \p{In_Musical_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Musical_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D100 1D1FF # [256]
+1D100 1D1FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
index 4aed4b7132b..fa45af957cf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 160 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Myanmar}
-# \p{Blk=Myanmar}
-# \p{Is_Block=Myanmar}
-# \p{Is_Blk=Myanmar}
-#
-# \p{In_Myanmar}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Myanmar}, \p{Is_Myanmar}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Myanmar}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1000 109F # [160]
+1000 109F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
index f12cdfd2000..19c5be07da4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Myanmar_Extended_A}
-# \p{Blk=Myanmar_Extended_A}
-# \p{Is_Block=Myanmar_Extended_A}
-# \p{Is_Blk=Myanmar_Extended_A}
-#
-# X \p{Myanmar_Extended_A}
-# X \p{Is_Myanmar_Extended_A}
-# \p{In_Myanmar_Extended_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Myanmar_Extended_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AA60 AA7F # [32]
+AA60 AA7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
index 87c2851237f..9d49d1068f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=NKo}
-# \p{Blk=NKo}
-# \p{Is_Block=NKo}
-# \p{Is_Blk=NKo}
-#
-# \p{In_NKo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Nko}, \p{Is_NKo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: NKo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-07C0 07FF # [64]
+07C0 07FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
index 5279e73d7a1..75161fa1398 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=New_Tai_Lue}
-# \p{Blk=New_Tai_Lue}
-# \p{Is_Block=New_Tai_Lue}
-# \p{Is_Blk=New_Tai_Lue}
-#
-# \p{In_New_Tai_Lue}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{New_Tai_Lue}, \p{Is_New_Tai_Lue}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: New_Tai_Lue}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1980 19DF # [96]
+1980 19DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl
index c390a4d7219..c0195c7f639 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl
@@ -1,72 +1,45 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 864_192 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Block=No_Block}
-# \p{Blk=No_Block}
-# \p{Is_Block=No_Block}
-# \p{Is_Blk=No_Block}
-#
-# X \p{No_Block}
-# X \p{Is_No_Block}
-# \p{In_No_Block}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: No_Block}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0840 08FF # [192]
-1AB0 1AFF # [80]
-1BC0 1BFF # [64]
-1C80 1CCF # [80]
-2FE0 2FEF # [16]
-A9E0 A9FF # [32]
-AAE0 ABBF # [224]
-10200 1027F # [128]
-102E0 102FF # [32]
-10350 1037F # [48]
-103E0 103FF # [32]
-104B0 107FF # [848]
-10860 108FF # [160]
-10940 109FF # [192]
-10A80 10AFF # [128]
-10B80 10BFF # [128]
-10C50 10E5F # [528]
-10E80 1107F # [512]
-110D0 11FFF # [3888]
-12480 12FFF # [2944]
-13430 1CFFF # [39_888]
-1D250 1D2FF # [176]
-1D380 1D3FF # [128]
-1D800 1EFFF # [6144]
-1F0A0 1F0FF # [96]
-1F300 1FFFF # [3328]
-2A6E0 2A6FF # [32]
-2B740 2F7FF # [16_576]
-2FA20 DFFFF # [722_400]
-E0080 E00FF # [128]
-E01F0 EFFFF # [65_040]
+0860 08FF
+1AB0 1AFF
+1C80 1CCF
+2FE0 2FEF
+A9E0 A9FF
+AAE0 AAFF
+AB30 ABBF
+10200 1027F
+102E0 102FF
+10350 1037F
+103E0 103FF
+104B0 107FF
+10860 108FF
+10940 109FF
+10A80 10AFF
+10B80 10BFF
+10C50 10E5F
+10E80 10FFF
+110D0 11FFF
+12480 12FFF
+13430 167FF
+16A40 1AFFF
+1B100 1CFFF
+1D250 1D2FF
+1D380 1D3FF
+1D800 1EFFF
+1F650 1F67F
+1F780 1FFFF
+2A6E0 2A6FF
+2B820 2F7FF
+2FA20 DFFFF
+E0080 E00FF
+E01F0 EFFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
index f407e6f0d0a..4821a85e32d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Number_Forms}
-# \p{Blk=Number_Forms}
-# \p{Is_Block=Number_Forms}
-# \p{Is_Blk=Number_Forms}
-#
-# X \p{Number_Forms}
-# X \p{Is_Number_Forms}
-# \p{In_Number_Forms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Number_Forms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2150 218F # [64]
+2150 218F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
index 062e329a144..d81f2605fa5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ogham}
-# \p{Blk=Ogham}
-# \p{Is_Block=Ogham}
-# \p{Is_Blk=Ogham}
-#
-# \p{In_Ogham}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Ogham}, \p{Is_Ogham}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ogham}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1680 169F # [32]
+1680 169F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl
index 48c1eb811cd..c655ac74a3b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl
@@ -1,56 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ol_Chiki}
-# \p{Blk=Ol_Chiki}
-# \p{Is_Block=Ol_Chiki}
-# \p{Is_Blk=Ol_Chiki}
-#
-# \p{In_Ol_Chiki}
-#
-# \p{Script=Ol_Chiki}
-# \p{Sc=Olck}
-# \p{Is_Script=Ol_Chiki}
-# \p{Is_Sc=Olck}
-#
-# \p{Ol_Chiki}
-# \p{Is_Ol_Chiki}
-# \p{Olck}
-# \p{Is_Olck}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Ol_Chiki}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1C50 1C7F # [48]
+1C50 1C7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
index 1bfe00f07c3..99675aac6e1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Old_Italic}
-# \p{Blk=Old_Italic}
-# \p{Is_Block=Old_Italic}
-# \p{Is_Blk=Old_Italic}
-#
-# \p{In_Old_Italic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Old_Italic}, \p{Is_Old_Italic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Old_Italic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10300 1032F # [48]
+10300 1032F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
index 19bba01445a..cce63d89725 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Old_Persian}
-# \p{Blk=Old_Persian}
-# \p{Is_Block=Old_Persian}
-# \p{Is_Blk=Old_Persian}
-#
-# \p{In_Old_Persian}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Old_Persian}, \p{Is_Old_Persian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Old_Persian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-103A0 103DF # [64]
+103A0 103DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl
index 285e168975b..6e891b4cf0c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl
@@ -1,56 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Old_South_Arabian}
-# \p{Blk=Old_South_Arabian}
-# \p{Is_Block=Old_South_Arabian}
-# \p{Is_Blk=Old_South_Arabian}
-#
-# \p{In_Old_South_Arabian}
-#
-# \p{Script=Old_South_Arabian}
-# \p{Sc=Sarb}
-# \p{Is_Script=Old_South_Arabian}
-# \p{Is_Sc=Sarb}
-#
-# \p{Old_South_Arabian}
-# \p{Is_Old_South_Arabian}
-# \p{Sarb}
-# \p{Is_Sarb}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Old_South_Arabian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10A60 10A7F # [32]
+10A60 10A7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
index 4e1644fb2ed..a57cc049b55 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Old_Turkic}
-# \p{Blk=Old_Turkic}
-# \p{Is_Block=Old_Turkic}
-# \p{Is_Blk=Old_Turkic}
-#
-# \p{In_Old_Turkic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Old_Turkic}, \p{Is_Old_Turkic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Old_Turkic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10C00 10C4F # [80]
+10C00 10C4F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl
index 4dd7f4f0221..59e04988f68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Optical_Character_Recognition}
-# \p{Blk=Optical_Character_Recognition}
-# \p{Is_Block=Optical_Character_Recognition}
-# \p{Is_Blk=Optical_Character_Recognition}
-#
-# X \p{Optical_Character_Recognition}
-# X \p{Is_Optical_Character_Recognition}
-# \p{In_Optical_Character_Recognition}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Optical_Character_Recognition}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2440 245F # [32]
+2440 245F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
index d8bc7ee2589..59ed6a3f445 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Oriya}
-# \p{Blk=Oriya}
-# \p{Is_Block=Oriya}
-# \p{Is_Blk=Oriya}
-#
-# \p{In_Oriya}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Oriya}, \p{Is_Oriya}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Oriya}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0B00 0B7F # [128]
+0B00 0B7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
index b223d245c89..2d8ca14e9e7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Osmanya}
-# \p{Blk=Osmanya}
-# \p{Is_Block=Osmanya}
-# \p{Is_Blk=Osmanya}
-#
-# \p{In_Osmanya}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Osmanya}, \p{Is_Osmanya}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Osmanya}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10480 104AF # [48]
+10480 104AF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
index 92b196bca52..83c240c542d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Phags_Pa}
-# \p{Blk=Phags_Pa}
-# \p{Is_Block=Phags_Pa}
-# \p{Is_Blk=Phags_Pa}
-#
-# \p{In_Phags_Pa}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Phags_Pa}, \p{Is_Phags_Pa}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Phags_Pa}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A840 A87F # [64]
+A840 A87F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
index 3bfc719a931..d2c89680175 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Phaistos_Disc}
-# \p{Blk=Phaistos_Disc}
-# \p{Is_Block=Phaistos_Disc}
-# \p{Is_Blk=Phaistos_Disc}
-#
-# X \p{Phaistos_Disc}
-# X \p{Is_Phaistos_Disc}
-# \p{In_Phaistos_Disc}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Phaistos_Disc}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-101D0 101FF # [48]
+101D0 101FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
index a72a4b3ff2d..a181df41163 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Phoenician}
-# \p{Blk=Phoenician}
-# \p{Is_Block=Phoenician}
-# \p{Is_Blk=Phoenician}
-#
-# \p{In_Phoenician}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Phoenician}, \p{Is_Phoenician}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Phoenician}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10900 1091F # [32]
+10900 1091F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
index 44ee542a547..d4fb4f1321e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Phonetic_Extensions_Supplement}
-# \p{Blk=Phonetic_Extensions_Supplement}
-# \p{Is_Block=Phonetic_Extensions_Supplement}
-# \p{Is_Blk=Phonetic_Extensions_Supplement}
-#
-# X \p{Phonetic_Extensions_Supplement}
-# X \p{Is_Phonetic_Extensions_Supplement}
-# \p{In_Phonetic_Extensions_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Phonetic_Extensions_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D80 1DBF # [64]
+1D80 1DBF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
index ef082970e6d..1b4ef343aae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Phonetic_Extensions}
-# \p{Blk=Phonetic_Extensions}
-# \p{Is_Block=Phonetic_Extensions}
-# \p{Is_Blk=Phonetic_Extensions}
-#
-# X \p{Phonetic_Extensions}
-# X \p{Is_Phonetic_Extensions}
-# \p{In_Phonetic_Extensions}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Phonetic_Extensions}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D00 1D7F # [128]
+1D00 1D7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl
new file mode 100644
index 00000000000..77b55cca6ee
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1F0A0 1F0FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl
index d6251b5eb6b..170f5f64d9d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl
@@ -1,46 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 6400 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Private_Use_Area}
-# \p{Blk=Private_Use}
-# \p{Is_Block=Private_Use_Area}
-# \p{Is_Blk=Private_Use}
-#
-# X \p{Private_Use_Area}
-# X \p{Is_Private_Use_Area}
-# \p{In_Private_Use_Area}
-# \p{In_Private_Use}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Private_Use}, \p{Is_Private_Use}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Private_Use_Area}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-E000 F8FF # [6400]
+E000 F8FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
index f37b1c3321f..36a31cd889f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Rejang}
-# \p{Blk=Rejang}
-# \p{Is_Block=Rejang}
-# \p{Is_Blk=Rejang}
-#
-# \p{In_Rejang}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Rejang}, \p{Is_Rejang}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Rejang}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A930 A95F # [48]
+A930 A95F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl
index c589f433459..0b7e2a53a0d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Rumi_Numeral_Symbols}
-# \p{Blk=Rumi_Numeral_Symbols}
-# \p{Is_Block=Rumi_Numeral_Symbols}
-# \p{Is_Blk=Rumi_Numeral_Symbols}
-#
-# X \p{Rumi_Numeral_Symbols}
-# X \p{Is_Rumi_Numeral_Symbols}
-# \p{In_Rumi_Numeral_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Rumi_Numeral_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10E60 10E7F # [32]
+10E60 10E7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
index 87ae72d1ed0..34b5f56fa00 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Runic}
-# \p{Blk=Runic}
-# \p{Is_Block=Runic}
-# \p{Is_Blk=Runic}
-#
-# \p{In_Runic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Runic}, \p{Is_Runic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Runic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-16A0 16FF # [96]
+16A0 16FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
index c093bd3811f..f6ac054a685 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Samaritan}
-# \p{Blk=Samaritan}
-# \p{Is_Block=Samaritan}
-# \p{Is_Blk=Samaritan}
-#
-# \p{In_Samaritan}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Samaritan}, \p{Is_Samaritan}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Samaritan}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0800 083F # [64]
+0800 083F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
index ce226fa2076..725ccf33810 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Saurashtra}
-# \p{Blk=Saurashtra}
-# \p{Is_Block=Saurashtra}
-# \p{Is_Blk=Saurashtra}
-#
-# \p{In_Saurashtra}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Saurashtra}, \p{Is_Saurashtra}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Saurashtra}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A880 A8DF # [96]
+A880 A8DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
index b9f084a9d8b..22c0e8d3791 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
@@ -1,56 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Shavian}
-# \p{Blk=Shavian}
-# \p{Is_Block=Shavian}
-# \p{Is_Blk=Shavian}
-#
-# \p{In_Shavian}
-#
-# \p{Script=Shavian}
-# \p{Sc=Shaw}
-# \p{Is_Script=Shavian}
-# \p{Is_Sc=Shaw}
-#
-# \p{Shavian}
-# \p{Is_Shavian}
-# \p{Shaw}
-# \p{Is_Shaw}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Sc: Shavian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10450 1047F # [48]
+10450 1047F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
index f71241fbe61..1b945e56362 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Sinhala}
-# \p{Blk=Sinhala}
-# \p{Is_Block=Sinhala}
-# \p{Is_Blk=Sinhala}
-#
-# \p{In_Sinhala}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Sinhala}, \p{Is_Sinhala}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Sinhala}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0D80 0DFF # [128]
+0D80 0DFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
index 5ed7a03c58f..9ec2868c834 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Small_Form_Variants}
-# \p{Blk=Small_Form_Variants}
-# \p{Is_Block=Small_Form_Variants}
-# \p{Is_Blk=Small_Form_Variants}
-#
-# X \p{Small_Form_Variants}
-# X \p{Is_Small_Form_Variants}
-# \p{In_Small_Form_Variants}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Small_Form_Variants}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE50 FE6F # [32]
+FE50 FE6F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl
index 89f86bafcb7..4c0fc60f351 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Spacing_Modifier_Letters}
-# \p{Blk=Spacing_Modifier_Letters}
-# \p{Is_Block=Spacing_Modifier_Letters}
-# \p{Is_Blk=Spacing_Modifier_Letters}
-#
-# X \p{Spacing_Modifier_Letters}
-# X \p{Is_Spacing_Modifier_Letters}
-# \p{In_Spacing_Modifier_Letters}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Spacing_Modifier_Letters}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-02B0 02FF # [80]
+02B0 02FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
index d01ff07b10e..6f964eecef4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Specials}
-# \p{Blk=Specials}
-# \p{Is_Block=Specials}
-# \p{Is_Blk=Specials}
-#
-# X \p{Specials}
-# X \p{Is_Specials}
-# \p{In_Specials}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Specials}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FFF0 FFFF # [16]
+FFF0 FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
index a1c5132413c..74c1838390f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Sundanese}
-# \p{Blk=Sundanese}
-# \p{Is_Block=Sundanese}
-# \p{Is_Blk=Sundanese}
-#
-# \p{In_Sundanese}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Sundanese}, \p{Is_Sundanese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Sundanese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1B80 1BBF # [64]
+1B80 1BBF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl
index b28504ff808..3fad6f437f7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Superscripts_And_Subscripts}
-# \p{Blk=Superscripts_And_Subscripts}
-# \p{Is_Block=Superscripts_And_Subscripts}
-# \p{Is_Blk=Superscripts_And_Subscripts}
-#
-# X \p{Superscripts_And_Subscripts}
-# X \p{Is_Superscripts_And_Subscripts}
-# \p{In_Superscripts_And_Subscripts}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Superscripts_And_Subscripts}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2070 209F # [48]
+2070 209F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl
index a8f895158c5..f4f48ef3bbe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Supplemental_Arrows_B}
-# \p{Blk=Supplemental_Arrows_B}
-# \p{Is_Block=Supplemental_Arrows_B}
-# \p{Is_Blk=Supplemental_Arrows_B}
-#
-# X \p{Supplemental_Arrows_B}
-# X \p{Is_Supplemental_Arrows_B}
-# \p{In_Supplemental_Arrows_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Supplemental_Arrows_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2900 297F # [128]
+2900 297F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl
index 9646758c8a7..be5ababb886 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Supplemental_Punctuation}
-# \p{Blk=Supplemental_Punctuation}
-# \p{Is_Block=Supplemental_Punctuation}
-# \p{Is_Blk=Supplemental_Punctuation}
-#
-# X \p{Supplemental_Punctuation}
-# X \p{Is_Supplemental_Punctuation}
-# \p{In_Supplemental_Punctuation}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Supplemental_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2E00 2E7F # [128]
+2E00 2E7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl
index 41f0c1f2666..8ec71243a4c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 65_536 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Block=Supplementary_Private_Use_Area_A}
-# \p{Blk=Supplementary_Private_Use_Area_A}
-# \p{Is_Block=Supplementary_Private_Use_Area_A}
-# \p{Is_Blk=Supplementary_Private_Use_Area_A}
-#
-# X \p{Supplementary_Private_Use_Area_A}
-# X \p{Is_Supplementary_Private_Use_Area_A}
-# \p{In_Supplementary_Private_Use_Area_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Supplementary_Private_Use_Area_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-F0000 FFFFF # [65_536]
+F0000 FFFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl
index c7b1d0007cd..ddcf688869f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 65_536 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Block=Supplementary_Private_Use_Area_B}
-# \p{Blk=Supplementary_Private_Use_Area_B}
-# \p{Is_Block=Supplementary_Private_Use_Area_B}
-# \p{Is_Blk=Supplementary_Private_Use_Area_B}
-#
-# X \p{Supplementary_Private_Use_Area_B}
-# X \p{Is_Supplementary_Private_Use_Area_B}
-# \p{In_Supplementary_Private_Use_Area_B}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Supplementary_Private_Use_Area_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-100000 10FFFF # [65_536]
+100000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl
index f19685a1a9e..7529141a54c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Supplemental_Mathematical_Operators}
-# \p{Blk=Supplemental_Mathematical_Operators}
-# \p{Is_Block=Supplemental_Mathematical_Operators}
-# \p{Is_Blk=Supplemental_Mathematical_Operators}
-#
-# X \p{Supplemental_Mathematical_Operators}
-# X \p{Is_Supplemental_Mathematical_Operators}
-# \p{In_Supplemental_Mathematical_Operators}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Supplemental_Mathematical_Operators}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2A00 2AFF # [256]
+2A00 2AFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl
index 4a2ba1addd9..d3a6c9b6e7f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Supplemental_Arrows_A}
-# \p{Blk=Supplemental_Arrows_A}
-# \p{Is_Block=Supplemental_Arrows_A}
-# \p{Is_Blk=Supplemental_Arrows_A}
-#
-# X \p{Supplemental_Arrows_A}
-# X \p{Is_Supplemental_Arrows_A}
-# \p{In_Supplemental_Arrows_A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Supplemental_Arrows_A}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-27F0 27FF # [16]
+27F0 27FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
index 91595be47d2..2ea53776d25 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Syloti_Nagri}
-# \p{Blk=Syloti_Nagri}
-# \p{Is_Block=Syloti_Nagri}
-# \p{Is_Blk=Syloti_Nagri}
-#
-# \p{In_Syloti_Nagri}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Syloti_Nagri}, \p{Is_Syloti_Nagri}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Syloti_Nagri}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A800 A82F # [48]
+A800 A82F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
index 505d3f9c516..951e1f051b4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Syriac}
-# \p{Blk=Syriac}
-# \p{Is_Block=Syriac}
-# \p{Is_Blk=Syriac}
-#
-# \p{In_Syriac}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Syriac}, \p{Is_Syriac}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Syriac}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0700 074F # [80]
+0700 074F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
index f44cf9b0bf2..409ce6ab09d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tagalog}
-# \p{Blk=Tagalog}
-# \p{Is_Block=Tagalog}
-# \p{Is_Blk=Tagalog}
-#
-# \p{In_Tagalog}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tagalog}, \p{Is_Tagalog}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tagalog}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1700 171F # [32]
+1700 171F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
index 84f82ee0067..41f087fb77d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tagbanwa}
-# \p{Blk=Tagbanwa}
-# \p{Is_Block=Tagbanwa}
-# \p{Is_Blk=Tagbanwa}
-#
-# \p{In_Tagbanwa}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tagbanwa}, \p{Is_Tagbanwa}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tagbanwa}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1760 177F # [32]
+1760 177F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
index ae3a9b6fbc8..e377567804e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tags}
-# \p{Blk=Tags}
-# \p{Is_Block=Tags}
-# \p{Is_Blk=Tags}
-#
-# X \p{Tags}
-# X \p{Is_Tags}
-# \p{In_Tags}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tags}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-E0000 E007F # [128]
+E0000 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
index 181a2b87ca7..dca0873f90b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tai_Le}
-# \p{Blk=Tai_Le}
-# \p{Is_Block=Tai_Le}
-# \p{Is_Blk=Tai_Le}
-#
-# \p{In_Tai_Le}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tai_Le}, \p{Is_Tai_Le}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tai_Le}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1950 197F # [48]
+1950 197F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
index 7dc2067c64a..2bbec0bb9bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 144 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tai_Tham}
-# \p{Blk=Tai_Tham}
-# \p{Is_Block=Tai_Tham}
-# \p{Is_Blk=Tai_Tham}
-#
-# \p{In_Tai_Tham}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tai_Tham}, \p{Is_Tai_Tham}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tai_Tham}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1A20 1AAF # [144]
+1A20 1AAF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
index c40308ee346..fd0025cd164 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tai_Viet}
-# \p{Blk=Tai_Viet}
-# \p{Is_Block=Tai_Viet}
-# \p{Is_Blk=Tai_Viet}
-#
-# \p{In_Tai_Viet}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tai_Viet}, \p{Is_Tai_Viet}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tai_Viet}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AA80 AADF # [96]
+AA80 AADF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
index 1cd1e7e0785..28400adab98 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tai_Xuan_Jing_Symbols}
-# \p{Blk=Tai_Xuan_Jing_Symbols}
-# \p{Is_Block=Tai_Xuan_Jing_Symbols}
-# \p{Is_Blk=Tai_Xuan_Jing_Symbols}
-#
-# X \p{Tai_Xuan_Jing_Symbols}
-# X \p{Is_Tai_Xuan_Jing_Symbols}
-# \p{In_Tai_Xuan_Jing_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tai_Xuan_Jing_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D300 1D35F # [96]
+1D300 1D35F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
index 94be7f2545b..2a5391b4b6f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tamil}
-# \p{Blk=Tamil}
-# \p{Is_Block=Tamil}
-# \p{Is_Blk=Tamil}
-#
-# \p{In_Tamil}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tamil}, \p{Is_Tamil}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tamil}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0B80 0BFF # [128]
+0B80 0BFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
index edebee1c755..ac3a301d315 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Telugu}
-# \p{Blk=Telugu}
-# \p{Is_Block=Telugu}
-# \p{Is_Blk=Telugu}
-#
-# \p{In_Telugu}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Telugu}, \p{Is_Telugu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Telugu}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0C00 0C7F # [128]
+0C00 0C7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
index b4d3b353c7d..f7d5ba85376 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Thaana}
-# \p{Blk=Thaana}
-# \p{Is_Block=Thaana}
-# \p{Is_Blk=Thaana}
-#
-# \p{In_Thaana}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Thaana}, \p{Is_Thaana}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Thaana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0780 07BF # [64]
+0780 07BF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
index 803c93f5b01..8d3975fc992 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 128 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Thai}
-# \p{Blk=Thai}
-# \p{Is_Block=Thai}
-# \p{Is_Blk=Thai}
-#
-# \p{In_Thai}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Thai}, \p{Is_Thai}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Thai}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E00 0E7F # [128]
+0E00 0E7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
index ac956148d56..ac0ac6a66e8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 256 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tibetan}
-# \p{Blk=Tibetan}
-# \p{Is_Block=Tibetan}
-# \p{Is_Blk=Tibetan}
-#
-# \p{In_Tibetan}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tibetan}, \p{Is_Tibetan}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tibetan}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0F00 0FFF # [256]
+0F00 0FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
index e6adbd44b1d..6fca504040e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Tifinagh}
-# \p{Blk=Tifinagh}
-# \p{Is_Block=Tifinagh}
-# \p{Is_Blk=Tifinagh}
-#
-# \p{In_Tifinagh}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Tifinagh}, \p{Is_Tifinagh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Tifinagh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2D30 2D7F # [80]
+2D30 2D7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl
new file mode 100644
index 00000000000..a3d08f2f931
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1F680 1F6FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
index 3422e8ddd42..4bc6e8e31a0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Ugaritic}
-# \p{Blk=Ugaritic}
-# \p{Is_Block=Ugaritic}
-# \p{Is_Blk=Ugaritic}
-#
-# \p{In_Ugaritic}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Ugaritic}, \p{Is_Ugaritic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Ugaritic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10380 1039F # [32]
+10380 1039F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl
index b4a004a15a8..a1a71a0a248 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Unified_Canadian_Aboriginal_Syllabics_Extended}
-# \p{Blk=Unified_Canadian_Aboriginal_Syllabics_Extended}
-# \p{Is_Block=Unified_Canadian_Aboriginal_Syllabics_Extended}
-# \p{Is_Blk=Unified_Canadian_Aboriginal_Syllabics_Extended}
-#
-# X \p{Unified_Canadian_Aboriginal_Syllabics_Extended}
-# X \p{Is_Unified_Canadian_Aboriginal_Syllabics_Extended}
-# \p{In_Unified_Canadian_Aboriginal_Syllabics_Extended}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Unified_Canadian_Aboriginal_Syllabics_Extended}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-18B0 18FF # [80]
+18B0 18FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
index d58a2927e45..6d22635408f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 320 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Vai}
-# \p{Blk=Vai}
-# \p{Is_Block=Vai}
-# \p{Is_Blk=Vai}
-#
-# \p{In_Vai}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{Vai}, \p{Is_Vai}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Vai}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A500 A63F # [320]
+A500 A63F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl
index d0c57956f33..d547e87fc00 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 240 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Variation_Selectors_Supplement}
-# \p{Blk=Variation_Selectors_Supplement}
-# \p{Is_Block=Variation_Selectors_Supplement}
-# \p{Is_Blk=Variation_Selectors_Supplement}
-#
-# X \p{Variation_Selectors_Supplement}
-# X \p{Is_Variation_Selectors_Supplement}
-# \p{In_Variation_Selectors_Supplement}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Variation_Selectors_Supplement}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-E0100 E01EF # [240]
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl
index efff78f6920..3496b1a868f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Variation_Selectors}
-# \p{Blk=Variation_Selectors}
-# \p{Is_Block=Variation_Selectors}
-# \p{Is_Blk=Variation_Selectors}
-#
-# X \p{Variation_Selectors}
-# X \p{Is_Variation_Selectors}
-# \p{In_Variation_Selectors}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Variation_Selectors}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE00 FE0F # [16]
+FE00 FE0F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
index 88b32f45acb..7e2bb6bbb0e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 48 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Vedic_Extensions}
-# \p{Blk=Vedic_Extensions}
-# \p{Is_Block=Vedic_Extensions}
-# \p{Is_Blk=Vedic_Extensions}
-#
-# X \p{Vedic_Extensions}
-# X \p{Is_Vedic_Extensions}
-# \p{In_Vedic_Extensions}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Vedic_Extensions}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1CD0 1CFF # [48]
+1CD0 1CFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
index 52136f3f1be..4006ce83367 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Vertical_Forms}
-# \p{Blk=Vertical_Forms}
-# \p{Is_Block=Vertical_Forms}
-# \p{Is_Blk=Vertical_Forms}
-#
-# X \p{Vertical_Forms}
-# X \p{Is_Vertical_Forms}
-# \p{In_Vertical_Forms}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Vertical_Forms}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE10 FE1F # [16]
+FE10 FE1F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
index 94d7b75f1f5..ec897ecd9da 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Yi_Radicals}
-# \p{Blk=Yi_Radicals}
-# \p{Is_Block=Yi_Radicals}
-# \p{Is_Blk=Yi_Radicals}
-#
-# X \p{Yi_Radicals}
-# X \p{Is_Yi_Radicals}
-# \p{In_Yi_Radicals}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Yi_Radicals}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A490 A4CF # [64]
+A490 A4CF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
index 908fb821b9c..b12afb6cea8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 1168 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Yi_Syllables}
-# \p{Blk=Yi_Syllables}
-# \p{Is_Block=Yi_Syllables}
-# \p{Is_Blk=Yi_Syllables}
-#
-# X \p{Yi_Syllables}
-# X \p{Is_Yi_Syllables}
-# \p{In_Yi_Syllables}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Yi_Syllables}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A000 A48F # [1168]
+A000 A48F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl
index ffe3790d83b..466173f35d5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl
@@ -1,42 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 64 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Block=Yijing_Hexagram_Symbols}
-# \p{Blk=Yijing_Hexagram_Symbols}
-# \p{Is_Block=Yijing_Hexagram_Symbols}
-# \p{Is_Blk=Yijing_Hexagram_Symbols}
-#
-# X \p{Yijing_Hexagram_Symbols}
-# X \p{Is_Yijing_Hexagram_Symbols}
-# \p{In_Yijing_Hexagram_Symbols}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Blk: Yijing_Hexagram_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-4DC0 4DFF # [64]
+4DC0 4DFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl
index e1d0789190b..ae1c3ee9b2f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl
@@ -1,74 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_031 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Composition_Exclusion=No}
-# \p{CE=N}
-# \p{Is_Composition_Exclusion=F}
-# \p{Is_CE=False}
-#
-# \P{Composition_Exclusion}
-# \P{Is_Composition_Exclusion}
-# \P{CE}
-# \P{Is_CE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CE: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0957 # [2392]
-0960 09DB # [124]
+0000 0957
+0960 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B5B # [253]
-0B5E 0F42 # [997]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F75 # [12]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B5B
+0B5E 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F75
0F77
-0F79 0F92 # [26]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 2ADB # [6946]
-2ADD FB1C # [53_312]
+0F79 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 2ADB
+2ADD FB1C
FB1E
-FB20 FB29 # [10]
+FB20 FB29
FB37
FB3D
FB3F
FB42
FB45
-FB4F 1D15D # [54_799]
-1D165 1D1BA # [86]
-1D1C1 10FFFF # [994_879]
+FB4F 1D15D
+1D165 1D1BA
+1D1C1 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
index 4bb818800c4..5b876a3a2df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
@@ -1,50 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 81 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Composition_Exclusion=Yes}
-# \p{CE=Y}
-# \p{Is_Composition_Exclusion=T}
-# \p{Is_CE=True}
-#
-# \p{Composition_Exclusion}
-# \p{Is_Composition_Exclusion}
-# \p{CE}
-# \p{Is_CE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CE: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0958 095F # [8]
-09DC 09DD # [2]
+0958 095F
+09DC 09DD
09DF
0A33
0A36
-0A59 0A5B # [3]
+0A59 0A5B
0A5E
-0B5C 0B5D # [2]
+0B5C 0B5D
0F43
0F4D
0F52
@@ -62,12 +34,12 @@ return <<'END';
2ADC
FB1D
FB1F
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FB4E # [9]
-1D15E 1D164 # [7]
-1D1BB 1D1C0 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FB4E
+1D15E 1D164
+1D1BB 1D1C0
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl
index 8a781167fae..d3cb90579f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl
@@ -1,308 +1,290 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_480 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Case_Ignorable=No}
-# \p{CI=N}
-# \p{Is_Case_Ignorable=F}
-# \p{Is_CI=False}
-#
-# \P{Case_Ignorable}
-# \P{Is_Case_Ignorable}
-# \P{CI}
-# \P{Is_CI}
-# \P{_Case_Ignorable}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CI: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0026 # [39]
-0028 002D # [6]
-002F 0039 # [11]
-003B 005D # [35]
+0000 0026
+0028 002D
+002F 0039
+003B 005D
005F
-0061 00A7 # [71]
-00A9 00AC # [4]
+0061 00A7
+00A9 00AC
00AE
-00B0 00B3 # [4]
-00B5 00B6 # [2]
-00B9 02AF # [503]
-0370 0373 # [4]
-0376 0379 # [4]
-037B 0383 # [9]
+00B0 00B3
+00B5 00B6
+00B9 02AF
+0370 0373
+0376 0379
+037B 0383
0386
-0388 0482 # [251]
-048A 0558 # [207]
-055A 0590 # [55]
+0388 0482
+048A 0558
+055A 0590
05BE
05C0
05C3
05C6
-05C8 05F3 # [44]
-05F5 05FF # [11]
-0604 060F # [12]
-061B 063F # [37]
-0641 064A # [10]
-065F 066F # [17]
-0671 06D5 # [101]
+05C8 05F3
+05F5 05FF
+0604 060F
+061B 063F
+0641 064A
+0660 066F
+0671 06D5
+06DE
06E9
-06EE 070E # [33]
+06EE 070E
0710
-0712 072F # [30]
-074B 07A5 # [91]
-07B1 07EA # [58]
-07F6 07F9 # [4]
-07FB 0815 # [27]
-082E 08FF # [210]
-0903 093B # [57]
-093D 0940 # [4]
-0949 094C # [4]
-094E 0950 # [3]
-0956 0961 # [12]
-0964 0970 # [13]
-0972 0980 # [15]
-0982 09BB # [58]
-09BD 09C0 # [4]
-09C5 09CC # [8]
-09CE 09E1 # [20]
-09E4 0A00 # [29]
-0A03 0A3B # [57]
-0A3D 0A40 # [4]
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A6F # [30]
-0A72 0A74 # [3]
-0A76 0A80 # [11]
-0A83 0ABB # [57]
-0ABD 0AC0 # [4]
+0712 072F
+074B 07A5
+07B1 07EA
+07F6 07F9
+07FB 0815
+082E 0858
+085C 08FF
+0903 0939
+093B
+093D 0940
+0949 094C
+094E 0950
+0958 0961
+0964 0970
+0972 0980
+0982 09BB
+09BD 09C0
+09C5 09CC
+09CE 09E1
+09E4 0A00
+0A03 0A3B
+0A3D 0A40
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A6F
+0A72 0A74
+0A76 0A80
+0A83 0ABB
+0ABD 0AC0
0AC6
-0AC9 0ACC # [4]
-0ACE 0AE1 # [20]
-0AE4 0B00 # [29]
-0B02 0B3B # [58]
-0B3D 0B3E # [2]
+0AC9 0ACC
+0ACE 0AE1
+0AE4 0B00
+0B02 0B3B
+0B3D 0B3E
0B40
-0B45 0B4C # [8]
-0B4E 0B55 # [8]
-0B57 0B61 # [11]
-0B64 0B81 # [30]
-0B83 0BBF # [61]
-0BC1 0BCC # [12]
-0BCE 0C3D # [112]
-0C41 0C45 # [5]
+0B45 0B4C
+0B4E 0B55
+0B57 0B61
+0B64 0B81
+0B83 0BBF
+0BC1 0BCC
+0BCE 0C3D
+0C41 0C45
0C49
-0C4E 0C54 # [7]
-0C57 0C61 # [11]
-0C64 0CBB # [88]
-0CBD 0CBE # [2]
-0CC0 0CC5 # [6]
-0CC7 0CCB # [5]
-0CCE 0CE1 # [20]
-0CE4 0D40 # [93]
-0D45 0D4C # [8]
-0D4E 0D61 # [20]
-0D64 0DC9 # [102]
-0DCB 0DD1 # [7]
+0C4E 0C54
+0C57 0C61
+0C64 0CBB
+0CBD 0CBE
+0CC0 0CC5
+0CC7 0CCB
+0CCE 0CE1
+0CE4 0D40
+0D45 0D4C
+0D4E 0D61
+0D64 0DC9
+0DCB 0DD1
0DD5
-0DD7 0E30 # [90]
-0E32 0E33 # [2]
-0E3B 0E45 # [11]
-0E4F 0EB0 # [98]
-0EB2 0EB3 # [2]
+0DD7 0E30
+0E32 0E33
+0E3B 0E45
+0E4F 0EB0
+0EB2 0EB3
0EBA
-0EBD 0EC5 # [9]
+0EBD 0EC5
0EC7
-0ECE 0F17 # [74]
-0F1A 0F34 # [27]
+0ECE 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F70 # [55]
+0F3A 0F70
0F7F
0F85
-0F88 0F8F # [8]
+0F88 0F8C
0F98
-0FBD 0FC5 # [9]
-0FC7 102C # [102]
+0FBD 0FC5
+0FC7 102C
1031
1038
-103B 103C # [2]
-103F 1057 # [25]
-105A 105D # [4]
-1061 1070 # [16]
-1075 1081 # [13]
-1083 1084 # [2]
-1087 108C # [6]
-108E 109C # [15]
-109E 10FB # [94]
-10FD 135E # [610]
-1360 1711 # [946]
-1715 1731 # [29]
-1735 1751 # [29]
-1754 1771 # [30]
-1774 17B3 # [64]
+103B 103C
+103F 1057
+105A 105D
+1061 1070
+1075 1081
+1083 1084
+1087 108C
+108E 109C
+109E 10FB
+10FD 135C
+1360 1711
+1715 1731
+1735 1751
+1754 1771
+1774 17B3
17B6
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-17D4 17D6 # [3]
-17D8 17DC # [5]
-17DE 180A # [45]
-180E 1842 # [53]
-1844 18A8 # [101]
-18AA 191F # [118]
-1923 1926 # [4]
-1929 1931 # [9]
-1933 1938 # [6]
-193C 1A16 # [219]
-1A19 1A55 # [61]
+17BE 17C5
+17C7 17C8
+17D4 17D6
+17D8 17DC
+17DE 180A
+180E 1842
+1844 18A8
+18AA 191F
+1923 1926
+1929 1931
+1933 1938
+193C 1A16
+1A19 1A55
1A57
1A5F
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
-1A7D 1A7E # [2]
-1A80 1AA6 # [39]
-1AA8 1AFF # [88]
-1B04 1B33 # [48]
+1A63 1A64
+1A6D 1A72
+1A7D 1A7E
+1A80 1AA6
+1AA8 1AFF
+1B04 1B33
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B6A # [40]
-1B74 1B7F # [12]
-1B82 1BA1 # [32]
-1BA6 1BA7 # [2]
-1BAA 1C2B # [130]
-1C34 1C35 # [2]
-1C38 1C77 # [64]
-1C7E 1CCF # [82]
+1B3D 1B41
+1B43 1B6A
+1B74 1B7F
+1B82 1BA1
+1BA6 1BA7
+1BAA 1BE5
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1C2B
+1C34 1C35
+1C38 1C77
+1C7E 1CCF
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1D2B # [62]
-1D62 1D77 # [22]
-1D79 1D9A # [34]
-1DE7 1DFC # [22]
-1E00 1FBC # [445]
+1CE9 1CEC
+1CEE 1D2B
+1D62 1D77
+1D79 1D9A
+1DE7 1DFB
+1E00 1FBC
1FBE
-1FC2 1FCC # [11]
-1FD0 1FDC # [13]
-1FE0 1FEC # [13]
-1FF0 1FFC # [13]
-1FFF 200A # [12]
-2010 2017 # [8]
-201A 2023 # [10]
-2025 2026 # [2]
-2028 2029 # [2]
-202F 205F # [49]
-2065 2069 # [5]
+1FC2 1FCC
+1FD0 1FDC
+1FE0 1FEC
+1FF0 1FFC
+1FFF 200A
+2010 2017
+201A 2023
+2025 2026
+2028 2029
+202F 205F
+2065 2069
2070
-2072 207E # [13]
-2080 208F # [16]
-2095 20CF # [59]
-20F1 2C7C # [2956]
-2C7E 2CEE # [113]
-2CF2 2D6E # [125]
-2D70 2DDF # [112]
-2E00 2E2E # [47]
-2E30 3004 # [469]
-3006 3029 # [36]
+2072 207E
+2080 208F
+209D 20CF
+20F1 2C7C
+2C7E 2CEE
+2CF2 2D6E
+2D70 2D7E
+2D80 2DDF
+2E00 2E2E
+2E30 3004
+3006 3029
3030
-3036 303A # [5]
-303C 3098 # [93]
-309F 30FB # [93]
-30FF A014 # [28_438]
-A016 A4F7 # [1250]
-A4FE A60B # [270]
-A60D A66E # [98]
-A673 A67B # [9]
+3036 303A
+303C 3098
+309F 30FB
+30FF A014
+A016 A4F7
+A4FE A60B
+A60D A66E
+A673 A67B
A67E
-A680 A6EF # [112]
-A6F2 A6FF # [14]
-A722 A76F # [78]
-A771 A787 # [23]
-A78B A801 # [119]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A824 # [25]
-A827 A8C3 # [157]
-A8C5 A8DF # [27]
-A8F2 A925 # [52]
-A92E A946 # [25]
-A952 A97F # [46]
-A983 A9B2 # [48]
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD A9CE # [18]
-A9D0 AA28 # [89]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
-AA37 AA42 # [12]
-AA44 AA4B # [8]
-AA4D AA6F # [35]
-AA71 AAAF # [63]
+A680 A6EF
+A6F2 A6FF
+A722 A76F
+A771 A787
+A78B A801
+A803 A805
+A807 A80A
+A80C A824
+A827 A8C3
+A8C5 A8DF
+A8F2 A925
+A92E A946
+A952 A97F
+A983 A9B2
+A9B4 A9B5
+A9BA A9BB
+A9BD A9CE
+A9D0 AA28
+AA2F AA30
+AA33 AA34
+AA37 AA42
+AA44 AA4B
+AA4D AA6F
+AA71 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 AADC # [27]
-AADE ABE4 # [263]
-ABE6 ABE7 # [2]
-ABE9 ABEC # [4]
-ABEE FB1D # [20_272]
-FB1F FDFF # [737]
-FE10 FE12 # [3]
-FE14 FE1F # [12]
-FE27 FE51 # [43]
-FE53 FE54 # [2]
-FE56 FEFE # [169]
-FF00 FF06 # [7]
-FF08 FF0D # [6]
-FF0F FF19 # [11]
-FF1B FF3D # [35]
+AAC2 AADC
+AADE ABE4
+ABE6 ABE7
+ABE9 ABEC
+ABEE FB1D
+FB1F FBB1
+FBC2 FDFF
+FE10 FE12
+FE14 FE1F
+FE27 FE51
+FE53 FE54
+FE56 FEFE
+FF00 FF06
+FF08 FF0D
+FF0F FF19
+FF1B FF3D
FF3F
-FF41 FF6F # [47]
-FF71 FF9D # [45]
-FFA0 FFE2 # [67]
-FFE4 FFF8 # [21]
-FFFC 101FC # [513]
-101FE 10A00 # [2051]
+FF41 FF6F
+FF71 FF9D
+FFA0 FFE2
+FFE4 FFF8
+FFFC 101FC
+101FE 10A00
10A04
-10A07 10A0B # [5]
-10A10 10A37 # [40]
-10A3B 10A3E # [4]
-10A40 1107F # [1600]
-11082 110B2 # [49]
-110B7 110B8 # [2]
-110BB 110BC # [2]
-110BE 1D166 # [49_321]
-1D16A 1D172 # [9]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 E0000 # [798_140]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+10A07 10A0B
+10A10 10A37
+10A3B 10A3E
+10A40 11000
+11002 11037
+11047 1107F
+11082 110B2
+110B7 110B8
+110BB 110BC
+110BE 1D166
+1D16A 1D172
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
index 5bc9d999098..3f58d9670f8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
@@ -1,41 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1632 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Case_Ignorable=Yes}
-# \p{CI=Y}
-# \p{Is_Case_Ignorable=T}
-# \p{Is_CI=True}
-#
-# \p{Case_Ignorable}
-# \p{Is_Case_Ignorable}
-# \p{CI}
-# \p{Is_CI}
-# \p{_Case_Ignorable}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CI: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0027
@@ -47,233 +18,242 @@ return <<'END';
00AD
00AF
00B4
-00B7 00B8 # [2]
-02B0 036F # [192]
-0374 0375 # [2]
+00B7 00B8
+02B0 036F
+0374 0375
037A
-0384 0385 # [2]
+0384 0385
0387
-0483 0489 # [7]
+0483 0489
0559
-0591 05BD # [45]
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
05F4
-0600 0603 # [4]
-0610 061A # [11]
+0600 0603
+0610 061A
0640
-064B 065E # [20]
+064B 065F
0670
-06D6 06E8 # [19]
-06EA 06ED # [4]
+06D6 06DD
+06DF 06E8
+06EA 06ED
070F
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F5 # [11]
+0730 074A
+07A6 07B0
+07EB 07F5
07FA
-0816 082D # [24]
-0900 0902 # [3]
+0816 082D
+0859 085B
+0900 0902
+093A
093C
-0941 0948 # [8]
+0941 0948
094D
-0951 0955 # [5]
-0962 0963 # [2]
+0951 0957
+0962 0963
0971
0981
09BC
-09C1 09C4 # [4]
+09C1 09C4
09CD
-09E2 09E3 # [2]
-0A01 0A02 # [2]
+09E2 09E3
+0A01 0A02
0A3C
-0A41 0A42 # [2]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A82 # [2]
+0A81 0A82
0ABC
-0AC1 0AC5 # [5]
-0AC7 0AC8 # [2]
+0AC1 0AC5
+0AC7 0AC8
0ACD
-0AE2 0AE3 # [2]
+0AE2 0AE3
0B01
0B3C
0B3F
-0B41 0B44 # [4]
+0B41 0B44
0B4D
0B56
-0B62 0B63 # [2]
+0B62 0B63
0B82
0BC0
0BCD
-0C3E 0C40 # [3]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
0CBC
0CBF
0CC6
-0CCC 0CCD # [2]
-0CE2 0CE3 # [2]
-0D41 0D44 # [4]
+0CCC 0CCD
+0CE2 0CE3
+0D41 0D44
0D4D
-0D62 0D63 # [2]
+0D62 0D63
0DCA
-0DD2 0DD4 # [3]
+0DD2 0DD4
0DD6
0E31
-0E34 0E3A # [7]
-0E46 0E4E # [9]
+0E34 0E3A
+0E46 0E4E
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
+0EB4 0EB9
+0EBB 0EBC
0EC6
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
+102D 1030
+1032 1037
+1039 103A
+103D 103E
+1058 1059
+105E 1060
+1071 1074
1082
-1085 1086 # [2]
+1085 1086
108D
109D
10FC
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B4 17B5 # [2]
-17B7 17BD # [7]
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B4 17B5
+17B7 17BD
17C6
-17C9 17D3 # [11]
+17C9 17D3
17D7
17DD
-180B 180D # [3]
+180B 180D
1843
18A9
-1920 1922 # [3]
-1927 1928 # [2]
+1920 1922
+1927 1928
1932
-1939 193B # [3]
-1A17 1A18 # [2]
+1939 193B
+1A17 1A18
1A56
-1A58 1A5E # [7]
+1A58 1A5E
1A60
1A62
-1A65 1A6C # [8]
-1A73 1A7C # [10]
+1A65 1A6C
+1A73 1A7C
1A7F
1AA7
-1B00 1B03 # [4]
+1B00 1B03
1B34
-1B36 1B3A # [5]
+1B36 1B3A
1B3C
1B42
-1B6B 1B73 # [9]
-1B80 1B81 # [2]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1C2C 1C33 # [8]
-1C36 1C37 # [2]
-1C78 1C7D # [6]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+1B6B 1B73
+1B80 1B81
+1BA2 1BA5
+1BA8 1BA9
+1BE6
+1BE8 1BE9
+1BED
+1BEF 1BF1
+1C2C 1C33
+1C36 1C37
+1C78 1C7D
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1D2C 1D61 # [54]
+1D2C 1D61
1D78
-1D9B 1DE6 # [76]
-1DFD 1DFF # [3]
+1D9B 1DE6
+1DFC 1DFF
1FBD
-1FBF 1FC1 # [3]
-1FCD 1FCF # [3]
-1FDD 1FDF # [3]
-1FED 1FEF # [3]
-1FFD 1FFE # [2]
-200B 200F # [5]
-2018 2019 # [2]
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+200B 200F
+2018 2019
2024
2027
-202A 202E # [5]
-2060 2064 # [5]
-206A 206F # [6]
+202A 202E
+2060 2064
+206A 206F
2071
207F
-2090 2094 # [5]
-20D0 20F0 # [33]
+2090 209C
+20D0 20F0
2C7D
-2CEF 2CF1 # [3]
+2CEF 2CF1
2D6F
-2DE0 2DFF # [32]
+2D7F
+2DE0 2DFF
2E2F
3005
-302A 302F # [6]
-3031 3035 # [5]
+302A 302F
+3031 3035
303B
-3099 309E # [6]
-30FC 30FE # [3]
+3099 309E
+30FC 30FE
A015
-A4F8 A4FD # [6]
+A4F8 A4FD
A60C
-A66F A672 # [4]
-A67C A67D # [2]
+A66F A672
+A67C A67D
A67F
-A6F0 A6F1 # [2]
-A700 A721 # [34]
+A6F0 A6F1
+A700 A721
A770
-A788 A78A # [3]
+A788 A78A
A802
A806
A80B
-A825 A826 # [2]
+A825 A826
A8C4
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A951 # [11]
-A980 A982 # [3]
+A8E0 A8F1
+A926 A92D
+A947 A951
+A980 A982
A9B3
-A9B6 A9B9 # [4]
+A9B6 A9B9
A9BC
A9CF
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA36 # [2]
+AA29 AA2E
+AA31 AA32
+AA35 AA36
AA43
AA4C
AA70
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
AADD
ABE5
ABE8
ABED
FB1E
-FE00 FE0F # [16]
+FBB2 FBC1
+FE00 FE0F
FE13
-FE20 FE26 # [7]
+FE20 FE26
FE52
FE55
FEFF
@@ -283,25 +263,27 @@ FF1A
FF3E
FF40
FF70
-FF9E FF9F # [2]
+FF9E FF9F
FFE3
-FFF9 FFFB # [3]
+FFF9 FFFB
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11081 # [2]
-110B3 110B6 # [4]
-110B9 110BA # [2]
+11001
+11038 11046
+11080 11081
+110B3 110B6
+110B9 110BA
110BD
-1D167 1D169 # [3]
-1D173 1D182 # [16]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
+1D167 1D169
+1D173 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
+E0020 E007F
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl
index 69d393e7bce..bca55cd28e0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl
@@ -1,47 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_019 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Changes_When_Casefolded=No}
-# \p{CWCF=N}
-# \p{Is_Changes_When_Casefolded=F}
-# \p{Is_CWCF=False}
-#
-# \P{Changes_When_Casefolded}
-# \P{Is_Changes_When_Casefolded}
-# \P{CWCF}
-# \P{Is_CWCF}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWCF: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 00B4 # [90]
-00B6 00BF # [10]
+0000 0040
+005B 00B4
+00B6 00BF
00D7
-00E0 00FF # [32]
+00E0 00FF
0101
0103
0105
@@ -69,7 +41,7 @@ return <<'END';
0131
0133
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -108,22 +80,22 @@ return <<'END';
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BB # [3]
-01BD 01C3 # [7]
+01B9 01BB
+01BD 01C3
01C6
01C9
01CC
@@ -134,7 +106,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -143,7 +115,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
+01EF 01F0
01F3
01F5
01F9
@@ -175,27 +147,27 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 0344 # [246]
-0346 036F # [42]
+024F 0344
+0346 036F
0371
-0373 0375 # [3]
-0377 0385 # [15]
+0373 0375
+0377 0385
0387
038B
038D
0390
03A2
-03AC 03C1 # [22]
-03C3 03CE # [12]
-03D2 03D4 # [3]
+03AC 03C1
+03C3 03CE
+03D2 03D4
03D7
03D9
03DB
@@ -209,11 +181,11 @@ return <<'END';
03EB
03ED
03EF
-03F2 03F3 # [2]
+03F2 03F3
03F6
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -230,7 +202,7 @@ return <<'END';
047B
047D
047F
-0481 0489 # [9]
+0481 0489
048B
048D
048F
@@ -264,7 +236,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -307,10 +279,11 @@ return <<'END';
051F
0521
0523
-0525 0530 # [12]
-0557 0586 # [48]
-0588 109F # [2840]
-10C6 1DFF # [3386]
+0525
+0527 0530
+0557 0586
+0588 109F
+10C6 1DFF
1E01
1E03
1E05
@@ -385,8 +358,8 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E99 # [5]
-1E9C 1E9D # [2]
+1E95 1E99
+1E9C 1E9D
1E9F
1EA1
1EA3
@@ -435,41 +408,41 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F17 # [8]
-1F1E 1F27 # [10]
-1F30 1F37 # [8]
-1F40 1F47 # [8]
-1F4E 1F58 # [11]
+1EFF 1F07
+1F10 1F17
+1F1E 1F27
+1F30 1F37
+1F40 1F47
+1F4E 1F58
1F5A
1F5C
1F5E
-1F60 1F67 # [8]
-1F70 1F7F # [16]
-1FB0 1FB1 # [2]
-1FB5 1FB6 # [2]
-1FBD 1FC1 # [5]
-1FC5 1FC6 # [2]
-1FCD 1FD7 # [11]
-1FDC 1FE7 # [12]
-1FED 1FF1 # [5]
-1FF5 1FF6 # [2]
-1FFD 2125 # [297]
-2127 2129 # [3]
-212C 2131 # [6]
-2133 215F # [45]
-2170 2182 # [19]
-2184 24B5 # [818]
-24D0 2BFF # [1840]
-2C2F 2C5F # [49]
+1F60 1F67
+1F70 1F7F
+1FB0 1FB1
+1FB5 1FB6
+1FBD 1FC1
+1FC5 1FC6
+1FCD 1FD7
+1FDC 1FE7
+1FED 1FF1
+1FF5 1FF6
+1FFD 2125
+2127 2129
+212C 2131
+2133 215F
+2170 2182
+2184 24B5
+24D0 2BFF
+2C2F 2C5F
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7D # [8]
+2C73 2C74
+2C76 2C7D
2C81
2C83
2C85
@@ -519,9 +492,9 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CEA # [8]
+2CE3 2CEA
2CEC
-2CEE A63F # [31_058]
+2CEE A63F
A641
A643
A645
@@ -537,13 +510,14 @@ A657
A659
A65B
A65D
-A65F A661 # [3]
+A65F
+A661
A663
A665
A667
A669
A66B
-A66D A67F # [19]
+A66D A67F
A681
A683
A685
@@ -555,14 +529,14 @@ A68F
A691
A693
A695
-A697 A721 # [139]
+A697 A721
A723
A725
A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -593,17 +567,24 @@ A767
A769
A76B
A76D
-A76F A778 # [10]
+A76F A778
A77A
A77C
A77F
A781
A783
A785
-A787 A78A # [4]
-A78C FAFF # [21_364]
-FB07 FB12 # [12]
-FB18 FF20 # [1033]
-FF3B 103FF # [1221]
-10428 10FFFF # [1_047_512]
+A787 A78A
+A78C
+A78E A78F
+A791 A79F
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9 FAFF
+FB07 FB12
+FB18 FF20
+FF3B 103FF
+10428 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
index d9f21dcc4da..318b25b8840 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1093 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Changes_When_Casefolded=Yes}
-# \p{CWCF=Y}
-# \p{Is_Changes_When_Casefolded=T}
-# \p{Is_CWCF=True}
-#
-# \p{Changes_When_Casefolded}
-# \p{Is_Changes_When_Casefolded}
-# \p{CWCF}
-# \p{Is_CWCF}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWCF: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
+0041 005A
00B5
-00C0 00D6 # [23]
-00D8 00DF # [8]
+00C0 00D6
+00D8 00DF
0100
0102
0104
@@ -77,7 +49,7 @@ return <<'END';
0143
0145
0147
-0149 014A # [2]
+0149 014A
014C
014E
0150
@@ -100,32 +72,32 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
017F
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
+01B7 01B8
01BC
-01C4 01C5 # [2]
-01C7 01C8 # [2]
-01CA 01CB # [2]
+01C4 01C5
+01C7 01C8
+01CA 01CB
01CD
01CF
01D1
@@ -143,9 +115,9 @@ return <<'END';
01EA
01EC
01EE
-01F1 01F2 # [2]
+01F1 01F2
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -175,10 +147,10 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -188,14 +160,14 @@ return <<'END';
0372
0376
0386
-0388 038A # [3]
+0388 038A
038C
-038E 038F # [2]
-0391 03A1 # [17]
-03A3 03AB # [9]
+038E 038F
+0391 03A1
+03A3 03AB
03C2
-03CF 03D1 # [3]
-03D5 03D6 # [2]
+03CF 03D1
+03D5 03D6
03D8
03DA
03DC
@@ -208,11 +180,11 @@ return <<'END';
03EA
03EC
03EE
-03F0 03F1 # [2]
-03F4 03F5 # [2]
+03F0 03F1
+03F4 03F5
03F7
-03F9 03FA # [2]
-03FD 042F # [51]
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -257,7 +229,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -307,9 +279,10 @@ return <<'END';
0520
0522
0524
-0531 0556 # [38]
+0526
+0531 0556
0587
-10A0 10C5 # [38]
+10A0 10C5
1E00
1E02
1E04
@@ -385,7 +358,7 @@ return <<'END';
1E90
1E92
1E94
-1E9A 1E9B # [2]
+1E9A 1E9B
1E9E
1EA0
1EA2
@@ -435,41 +408,41 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F18 1F1D # [6]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F48 1F4D # [6]
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
1F59
1F5B
1F5D
1F5F
-1F68 1F6F # [8]
-1F80 1FAF # [48]
-1FB2 1FB4 # [3]
-1FB7 1FBC # [6]
-1FC2 1FC4 # [3]
-1FC7 1FCC # [6]
-1FD8 1FDB # [4]
-1FE8 1FEC # [5]
-1FF2 1FF4 # [3]
-1FF7 1FFC # [6]
+1F68 1F6F
+1F80 1FAF
+1FB2 1FB4
+1FB7 1FBC
+1FC2 1FC4
+1FC7 1FCC
+1FD8 1FDB
+1FE8 1FEC
+1FF2 1FF4
+1FF7 1FFC
2126
-212A 212B # [2]
+212A 212B
2132
-2160 216F # [16]
+2160 216F
2183
-24B6 24CF # [26]
-2C00 2C2E # [47]
+24B6 24CF
+2C00 2C2E
2C60
-2C62 2C64 # [3]
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7E 2C80 # [3]
+2C7E 2C80
2C82
2C84
2C86
@@ -537,6 +510,7 @@ A658
A65A
A65C
A65E
+A660
A662
A664
A666
@@ -595,14 +569,21 @@ A76C
A76E
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
A78B
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF21 FF3A # [26]
-10400 10427 # [40]
+A78D
+A790
+A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+FB00 FB06
+FB13 FB17
+FF21 FF3A
+10400 10427
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl
index 9d1e21730b3..7a570803181 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl
@@ -1,138 +1,112 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_002 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Changes_When_Casemapped=No}
-# \p{CWCM=N}
-# \p{Is_Changes_When_Casemapped=F}
-# \p{Is_CWCM=False}
-#
-# \P{Changes_When_Casemapped}
-# \P{Is_Changes_When_Casemapped}
-# \P{CWCM}
-# \P{Is_CWCM}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWCM: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 0060 # [6]
-007B 00B4 # [58]
-00B6 00BF # [10]
+0000 0040
+005B 0060
+007B 00B4
+00B6 00BF
00D7
00F7
0138
018D
019B
-01AA 01AB # [2]
-01BA 01BB # [2]
+01AA 01AB
+01BA 01BB
01BE
-01C0 01C3 # [4]
+01C0 01C3
0221
-0234 0239 # [6]
+0234 0239
0255
0258
025A
-025C 025F # [4]
-0261 0262 # [2]
-0264 0267 # [4]
+025C 025F
+0261 0262
+0264
+0266 0267
026A
-026C 026E # [3]
+026C 026E
0270
-0273 0274 # [2]
-0276 027C # [7]
-027E 027F # [2]
-0281 0282 # [2]
-0284 0287 # [4]
-028D 0291 # [5]
-0293 0344 # [178]
-0346 036F # [42]
-0374 0375 # [2]
-0378 037A # [3]
-037E 0385 # [8]
+0273 0274
+0276 027C
+027E 027F
+0281 0282
+0284 0287
+028D 0291
+0293 0344
+0346 036F
+0374 0375
+0378 037A
+037E 0385
0387
038B
038D
03A2
-03D2 03D4 # [3]
+03D2 03D4
03F3
03F6
03FC
-0482 0489 # [8]
-0526 0530 # [11]
-0557 0560 # [10]
-0588 109F # [2840]
-10C6 1D78 # [3251]
-1D7A 1D7C # [3]
-1D7E 1DFF # [130]
-1E9C 1E9D # [2]
+0482 0489
+0528 0530
+0557 0560
+0588 109F
+10C6 1D78
+1D7A 1D7C
+1D7E 1DFF
+1E9C 1E9D
1E9F
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 2125 # [297]
-2127 2129 # [3]
-212C 2131 # [6]
-2133 214D # [27]
-214F 215F # [17]
-2180 2182 # [3]
-2185 24B5 # [817]
-24EA 2BFF # [1814]
+1FFD 2125
+2127 2129
+212C 2131
+2133 214D
+214F 215F
+2180 2182
+2185 24B5
+24EA 2BFF
2C2F
2C5F
2C71
2C74
-2C77 2C7D # [7]
-2CE4 2CEA # [7]
-2CEF 2CFF # [17]
-2D26 A63F # [31_002]
-A660 A661 # [2]
-A66E A67F # [18]
-A698 A721 # [138]
-A730 A731 # [2]
-A770 A778 # [9]
-A788 A78A # [3]
-A78D FAFF # [21_363]
-FB07 FB12 # [12]
-FB18 FF20 # [1033]
-FF3B FF40 # [6]
-FF5B 103FF # [1189]
-10450 10FFFF # [1_047_472]
+2C77 2C7D
+2CE4 2CEA
+2CEF 2CFF
+2D26 A63F
+A66E A67F
+A698 A721
+A730 A731
+A770 A778
+A788 A78A
+A78E A78F
+A792 A79F
+A7AA FAFF
+FB07 FB12
+FB18 FF20
+FF3B FF40
+FF5B 103FF
+10450 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
index 2bc21a86ecb..275cf88462b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
@@ -1,137 +1,111 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2110 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Changes_When_Casemapped=Yes}
-# \p{CWCM=Y}
-# \p{Is_Changes_When_Casemapped=T}
-# \p{Is_CWCM=True}
-#
-# \p{Changes_When_Casemapped}
-# \p{Is_Changes_When_Casemapped}
-# \p{CWCM}
-# \p{Is_CWCM}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWCM: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00B5
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 0137 # [64]
-0139 018C # [84]
-018E 019A # [13]
-019C 01A9 # [14]
-01AC 01B9 # [14]
-01BC 01BD # [2]
+00C0 00D6
+00D8 00F6
+00F8 0137
+0139 018C
+018E 019A
+019C 01A9
+01AC 01B9
+01BC 01BD
01BF
-01C4 0220 # [93]
-0222 0233 # [18]
-023A 0254 # [27]
-0256 0257 # [2]
+01C4 0220
+0222 0233
+023A 0254
+0256 0257
0259
025B
0260
0263
-0268 0269 # [2]
+0265
+0268 0269
026B
026F
-0271 0272 # [2]
+0271 0272
0275
027D
0280
0283
-0288 028C # [5]
+0288 028C
0292
0345
-0370 0373 # [4]
-0376 0377 # [2]
-037B 037D # [3]
+0370 0373
+0376 0377
+037B 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03D1 # [47]
-03D5 03F2 # [30]
-03F4 03F5 # [2]
-03F7 03FB # [5]
-03FD 0481 # [133]
-048A 0525 # [156]
-0531 0556 # [38]
-0561 0587 # [39]
-10A0 10C5 # [38]
+038E 03A1
+03A3 03D1
+03D5 03F2
+03F4 03F5
+03F7 03FB
+03FD 0481
+048A 0527
+0531 0556
+0561 0587
+10A0 10C5
1D79
1D7D
-1E00 1E9B # [156]
+1E00 1E9B
1E9E
-1EA0 1F15 # [118]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1EA0 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2126
-212A 212B # [2]
+212A 212B
2132
214E
-2160 217F # [32]
-2183 2184 # [2]
-24B6 24E9 # [52]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2C70 # [17]
-2C72 2C73 # [2]
-2C75 2C76 # [2]
-2C7E 2CE3 # [102]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-A640 A65F # [32]
-A662 A66D # [12]
-A680 A697 # [24]
-A722 A72F # [14]
-A732 A76F # [62]
-A779 A787 # [15]
-A78B A78C # [2]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-10400 1044F # [80]
+2160 217F
+2183 2184
+24B6 24E9
+2C00 2C2E
+2C30 2C5E
+2C60 2C70
+2C72 2C73
+2C75 2C76
+2C7E 2CE3
+2CEB 2CEE
+2D00 2D25
+A640 A66D
+A680 A697
+A722 A72F
+A732 A76F
+A779 A787
+A78B A78D
+A790 A791
+A7A0 A7A9
+FB00 FB06
+FB13 FB17
+FF21 FF3A
+FF41 FF5A
+10400 1044F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl
index c07846c5d94..eab7046269d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl
@@ -1,54 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_104_372 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Changes_When_NFKC_Casefolded=No}
-# \p{CWKCF=N}
-# \p{Is_Changes_When_NFKC_Casefolded=F}
-# \p{Is_CWKCF=False}
-#
-# \P{Changes_When_NFKC_Casefolded}
-# \P{Is_Changes_When_NFKC_Casefolded}
-# \P{CWKCF}
-# \P{Is_CWKCF}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWKCF: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 009F # [69]
-00A1 00A7 # [7]
+0000 0040
+005B 009F
+00A1 00A7
00A9
-00AB 00AC # [2]
+00AB 00AC
00AE
-00B0 00B1 # [2]
-00B6 00B7 # [2]
+00B0 00B1
+00B6 00B7
00BB
00BF
00D7
-00E0 00FF # [32]
+00E0 00FF
0101
0103
0105
@@ -75,7 +47,7 @@ return <<'END';
012F
0131
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -113,22 +85,22 @@ return <<'END';
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BB # [3]
-01BD 01C3 # [7]
+01B9 01BB
+01BD 01C3
01CE
01D0
01D2
@@ -136,7 +108,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -145,7 +117,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
+01EF 01F0
01F5
01F9
01FB
@@ -176,33 +148,33 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 02AF # [97]
-02B9 02D7 # [31]
-02DE 02DF # [2]
-02E5 033F # [91]
+024F 02AF
+02B9 02D7
+02DE 02DF
+02E5 033F
0342
-0346 034E # [9]
-0350 036F # [32]
+0346 034E
+0350 036F
0371
0373
0375
-0377 0379 # [3]
-037B 037D # [3]
-037F 0383 # [5]
+0377 0379
+037B 037D
+037F 0383
038B
038D
0390
03A2
-03AC 03C1 # [22]
-03C3 03CE # [12]
+03AC 03C1
+03C3 03CE
03D7
03D9
03DB
@@ -219,8 +191,8 @@ return <<'END';
03F3
03F6
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -237,7 +209,7 @@ return <<'END';
047B
047D
047F
-0481 0489 # [9]
+0481 0489
048B
048D
048F
@@ -271,7 +243,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -314,48 +286,49 @@ return <<'END';
051F
0521
0523
-0525 0530 # [12]
-0557 0586 # [48]
-0588 0674 # [237]
-0679 0957 # [735]
-0960 09DB # [124]
+0525
+0527 0530
+0557 0586
+0588 0674
+0679 0957
+0960 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B5B # [253]
-0B5E 0E32 # [725]
-0E34 0EB2 # [127]
-0EB4 0EDB # [40]
-0EDE 0F0B # [46]
-0F0D 0F42 # [54]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F72 # [9]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B5B
+0B5E 0E32
+0E34 0EB2
+0EB4 0EDB
+0EDE 0F0B
+0F0D 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F72
0F74
-0F7A 0F80 # [7]
-0F82 0F92 # [17]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 109F # [230]
-10C6 10FB # [54]
-10FD 115E # [98]
-1161 17B3 # [1619]
-17B6 180A # [85]
-180E 1D2B # [1310]
+0F7A 0F80
+0F82 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 109F
+10C6 10FB
+10FD 115E
+1161 17B3
+17B6 180A
+180E 1D2B
1D2F
1D3B
1D4E
-1D6B 1D77 # [13]
-1D79 1D9A # [34]
-1DC0 1DFF # [64]
+1D6B 1D77
+1D79 1D9A
+1DC0 1DFF
1E01
1E03
1E05
@@ -430,8 +403,8 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E99 # [5]
-1E9C 1E9D # [2]
+1E95 1E99
+1E9C 1E9D
1E9F
1EA1
1EA3
@@ -480,16 +453,16 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F17 # [8]
-1F1E 1F27 # [10]
-1F30 1F37 # [8]
-1F40 1F47 # [8]
-1F4E 1F58 # [11]
+1EFF 1F07
+1F10 1F17
+1F1E 1F27
+1F30 1F37
+1F40 1F47
+1F4E 1F58
1F5A
1F5C
1F5E
-1F60 1F67 # [8]
+1F60 1F67
1F70
1F72
1F74
@@ -497,65 +470,65 @@ return <<'END';
1F78
1F7A
1F7C
-1F7E 1F7F # [2]
-1FB0 1FB1 # [2]
-1FB5 1FB6 # [2]
-1FC5 1FC6 # [2]
-1FD0 1FD2 # [3]
-1FD4 1FD7 # [4]
+1F7E 1F7F
+1FB0 1FB1
+1FB5 1FB6
+1FC5 1FC6
+1FD0 1FD2
+1FD4 1FD7
1FDC
-1FE0 1FE2 # [3]
-1FE4 1FE7 # [4]
-1FF0 1FF1 # [2]
-1FF5 1FF6 # [2]
+1FE0 1FE2
+1FE4 1FE7
+1FF0 1FF1
+1FF5 1FF6
1FFF
2010
-2012 2016 # [5]
-2018 2023 # [12]
-2027 2029 # [3]
-2030 2032 # [3]
+2012 2016
+2018 2023
+2027 2029
+2030 2032
2035
-2038 203B # [4]
+2038 203B
203D
-203F 2046 # [8]
-204A 2056 # [13]
-2058 205E # [7]
-2072 2073 # [2]
+203F 2046
+204A 2056
+2058 205E
+2072 2073
208F
-2095 20A7 # [19]
-20A9 20FF # [87]
+209D 20A7
+20A9 20FF
2104
2108
2114
-2117 2118 # [2]
-211E 211F # [2]
+2117 2118
+211E 211F
2123
2125
2127
2129
212E
213A
-2141 2144 # [4]
-214A 214F # [6]
-2180 2182 # [3]
-2184 2188 # [5]
-218A 222B # [162]
+2141 2144
+214A 214F
+2180 2182
+2184 2188
+218A 222B
222E
-2231 2328 # [248]
-232B 245F # [309]
-24EB 2A0B # [1313]
-2A0D 2A73 # [103]
-2A77 2ADB # [101]
-2ADD 2BFF # [291]
-2C2F 2C5F # [49]
+2231 2328
+232B 245F
+24EB 2A0B
+2A0D 2A73
+2A77 2ADB
+2ADD 2BFF
+2C2F 2C5F
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7B # [6]
+2C73 2C74
+2C76 2C7B
2C81
2C83
2C85
@@ -605,26 +578,26 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CEA # [8]
+2CE3 2CEA
2CEC
-2CEE 2D6E # [129]
-2D70 2E9E # [303]
-2EA0 2EF2 # [83]
-2EF4 2EFF # [12]
-2FD6 2FFF # [42]
-3001 3035 # [53]
+2CEE 2D6E
+2D70 2E9E
+2EA0 2EF2
+2EF4 2EFF
+2FD6 2FFF
+3001 3035
3037
-303B 309A # [96]
-309D 309E # [2]
-30A0 30FE # [95]
-3100 3130 # [49]
-318F 3191 # [3]
-31A0 31FF # [96]
+303B 309A
+309D 309E
+30A0 30FE
+3100 3130
+318F 3191
+31A0 31FF
321F
-3248 324F # [8]
+3248 324F
327F
32FF
-3400 A63F # [29_248]
+3400 A63F
A641
A643
A645
@@ -640,13 +613,14 @@ A657
A659
A65B
A65D
-A65F A661 # [3]
+A65F
+A661
A663
A665
A667
A669
A66B
-A66D A67F # [19]
+A66D A67F
A681
A683
A685
@@ -658,14 +632,14 @@ A68F
A691
A693
A695
-A697 A721 # [139]
+A697 A721
A723
A725
A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -697,92 +671,95 @@ A769
A76B
A76D
A76F
-A771 A778 # [8]
+A771 A778
A77A
A77C
A77F
A781
A783
A785
-A787 A78A # [4]
-A78C F8FF # [20_852]
-FA0E FA0F # [2]
+A787 A78A
+A78C
+A78E A78F
+A791 A79F
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9 F8FF
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+FA23 FA24
+FA27 FA29
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB1E
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFD FDFF # [3]
-FE1A FE2F # [22]
-FE45 FE46 # [2]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFD FDFF
+FE1A FE2F
+FE45 FE46
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE73
FE75
-FEFD FEFE # [2]
+FEFD FEFE
FF00
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
FFEF
-FFF9 103FF # [1031]
-10428 1D15D # [52_534]
-1D165 1D172 # [14]
-1D17B 1D1BA # [64]
-1D1C1 1D3FF # [575]
+FFF9 103FF
+10428 1D15D
+1D165 1D172
+1D17B 1D1BA
+1D1C1 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1F0FF # [6400]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F18F # [65]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 2F7FF # [66_999]
-2FA1E DFFFF # [722_402]
-E1000 10FFFF # [192_512]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1F0FF
+1F10B 1F10F
+1F12F
+1F150 1F18F
+1F191 1F1FF
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 2F7FF
+2FA1E DFFFF
+E1000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
index abdbb1bb46b..1aca2265295 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
@@ -1,53 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 9740 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Changes_When_NFKC_Casefolded=Yes}
-# \p{CWKCF=Y}
-# \p{Is_Changes_When_NFKC_Casefolded=T}
-# \p{Is_CWKCF=True}
-#
-# \p{Changes_When_NFKC_Casefolded}
-# \p{Is_Changes_When_NFKC_Casefolded}
-# \p{CWKCF}
-# \p{Is_CWKCF}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWKCF: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
+0041 005A
00A0
00A8
00AA
00AD
00AF
-00B2 00B5 # [4]
-00B8 00BA # [3]
-00BC 00BE # [3]
-00C0 00D6 # [23]
-00D8 00DF # [8]
+00B2 00B5
+00B8 00BA
+00BC 00BE
+00C0 00D6
+00D8 00DF
0100
0102
0104
@@ -73,16 +45,16 @@ return <<'END';
012C
012E
0130
-0132 0134 # [3]
+0132 0134
0136
0139
013B
013D
-013F 0141 # [3]
+013F 0141
0143
0145
0147
-0149 014A # [2]
+0149 014A
014C
014E
0150
@@ -105,30 +77,30 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
017F
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
+01B7 01B8
01BC
-01C4 01CD # [10]
+01C4 01CD
01CF
01D1
01D3
@@ -145,8 +117,8 @@ return <<'END';
01EA
01EC
01EE
-01F1 01F4 # [4]
-01F6 01F8 # [3]
+01F1 01F4
+01F6 01F8
01FA
01FC
01FE
@@ -176,19 +148,19 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
024E
-02B0 02B8 # [9]
-02D8 02DD # [6]
-02E0 02E4 # [5]
-0340 0341 # [2]
-0343 0345 # [3]
+02B0 02B8
+02D8 02DD
+02E0 02E4
+0340 0341
+0343 0345
034F
0370
0372
@@ -196,13 +168,13 @@ return <<'END';
0376
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 038F # [2]
-0391 03A1 # [17]
-03A3 03AB # [9]
+038E 038F
+0391 03A1
+03A3 03AB
03C2
-03CF 03D6 # [8]
+03CF 03D6
03D8
03DA
03DC
@@ -215,11 +187,11 @@ return <<'END';
03EA
03EC
03EE
-03F0 03F2 # [3]
-03F4 03F5 # [2]
+03F0 03F2
+03F4 03F5
03F7
-03F9 03FA # [2]
-03FD 042F # [51]
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -264,7 +236,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -314,20 +286,21 @@ return <<'END';
0520
0522
0524
-0531 0556 # [38]
+0526
+0531 0556
0587
-0675 0678 # [4]
-0958 095F # [8]
-09DC 09DD # [2]
+0675 0678
+0958 095F
+09DC 09DD
09DF
0A33
0A36
-0A59 0A5B # [3]
+0A59 0A5B
0A5E
-0B5C 0B5D # [2]
+0B5C 0B5D
0E33
0EB3
-0EDC 0EDD # [2]
+0EDC 0EDD
0F0C
0F43
0F4D
@@ -336,7 +309,7 @@ return <<'END';
0F5C
0F69
0F73
-0F75 0F79 # [5]
+0F75 0F79
0F81
0F93
0F9D
@@ -344,17 +317,17 @@ return <<'END';
0FA7
0FAC
0FB9
-10A0 10C5 # [38]
+10A0 10C5
10FC
-115F 1160 # [2]
-17B4 17B5 # [2]
-180B 180D # [3]
-1D2C 1D2E # [3]
-1D30 1D3A # [11]
-1D3C 1D4D # [18]
-1D4F 1D6A # [28]
+115F 1160
+17B4 17B5
+180B 180D
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D6A
1D78
-1D9B 1DBF # [37]
+1D9B 1DBF
1E00
1E02
1E04
@@ -430,7 +403,7 @@ return <<'END';
1E90
1E92
1E94
-1E9A 1E9B # [2]
+1E9A 1E9B
1E9E
1EA0
1EA2
@@ -480,16 +453,16 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F18 1F1D # [6]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F48 1F4D # [6]
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
1F59
1F5B
1F5D
1F5F
-1F68 1F6F # [8]
+1F68 1F6F
1F71
1F73
1F75
@@ -497,65 +470,65 @@ return <<'END';
1F79
1F7B
1F7D
-1F80 1FAF # [48]
-1FB2 1FB4 # [3]
-1FB7 1FC4 # [14]
-1FC7 1FCF # [9]
+1F80 1FAF
+1FB2 1FB4
+1FB7 1FC4
+1FC7 1FCF
1FD3
-1FD8 1FDB # [4]
-1FDD 1FDF # [3]
+1FD8 1FDB
+1FDD 1FDF
1FE3
-1FE8 1FEF # [8]
-1FF2 1FF4 # [3]
-1FF7 1FFE # [8]
-2000 200F # [16]
+1FE8 1FEF
+1FF2 1FF4
+1FF7 1FFE
+2000 200F
2011
2017
-2024 2026 # [3]
-202A 202F # [6]
-2033 2034 # [2]
-2036 2037 # [2]
+2024 2026
+202A 202F
+2033 2034
+2036 2037
203C
203E
-2047 2049 # [3]
+2047 2049
2057
-205F 2071 # [19]
-2074 208E # [27]
-2090 2094 # [5]
+205F 2071
+2074 208E
+2090 209C
20A8
-2100 2103 # [4]
-2105 2107 # [3]
-2109 2113 # [11]
-2115 2116 # [2]
-2119 211D # [5]
-2120 2122 # [3]
+2100 2103
+2105 2107
+2109 2113
+2115 2116
+2119 211D
+2120 2122
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213B 2140 # [6]
-2145 2149 # [5]
-2150 217F # [48]
+212A 212D
+212F 2139
+213B 2140
+2145 2149
+2150 217F
2183
2189
-222C 222D # [2]
-222F 2230 # [2]
-2329 232A # [2]
-2460 24EA # [139]
+222C 222D
+222F 2230
+2329 232A
+2460 24EA
2A0C
-2A74 2A76 # [3]
+2A74 2A76
2ADC
-2C00 2C2E # [47]
+2C00 2C2E
2C60
-2C62 2C64 # [3]
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7C 2C80 # [5]
+2C7C 2C80
2C82
2C84
2C86
@@ -610,20 +583,20 @@ return <<'END';
2D6F
2E9F
2EF3
-2F00 2FD5 # [214]
+2F00 2FD5
3000
3036
-3038 303A # [3]
-309B 309C # [2]
+3038 303A
+309B 309C
309F
30FF
-3131 318E # [94]
-3192 319F # [14]
-3200 321E # [31]
-3220 3247 # [40]
-3250 327E # [47]
-3280 32FE # [127]
-3300 33FF # [256]
+3131 318E
+3192 319F
+3200 321E
+3220 3247
+3250 327E
+3280 32FE
+3300 33FF
A640
A642
A644
@@ -640,6 +613,7 @@ A658
A65A
A65C
A65E
+A660
A662
A664
A666
@@ -699,89 +673,92 @@ A76E
A770
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
A78B
-F900 FA0D # [270]
+A78D
+A790
+A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+F900 FA0D
FA10
FA12
-FA15 FA1E # [10]
+FA15 FA1E
FA20
FA22
-FA25 FA26 # [2]
-FA2A FA2D # [4]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+FA25 FA26
+FA2A FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB36 # [24]
-FB38 FB3C # [5]
+FB1F FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFC # [13]
-FE00 FE19 # [26]
-FE30 FE44 # [21]
-FE47 FE52 # [12]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE00 FE19
+FE30 FE44
+FE47 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF0 FFF8 # [9]
-10400 10427 # [40]
-1D15E 1D164 # [7]
-1D173 1D17A # [8]
-1D1BB 1D1C0 # [6]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF0 FFF8
+10400 10427
+1D15E 1D164
+1D173 1D17A
+1D1BB 1D1C0
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F100 1F10A
+1F110 1F12E
+1F130 1F14F
1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-2F800 2FA1D # [542]
-E0000 E0FFF # [4096]
+1F200 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+2F800 2FA1D
+E0000 E0FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl
index ab9799b984d..5f437f1a93a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_083 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Changes_When_Lowercased=No}
-# \p{CWL=N}
-# \p{Is_Changes_When_Lowercased=F}
-# \p{Is_CWL=False}
-#
-# \P{Changes_When_Lowercased}
-# \P{Is_Changes_When_Lowercased}
-# \P{CWL}
-# \P{Is_CWL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWL: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 00BF # [101]
+0000 0040
+005B 00BF
00D7
-00DF 00FF # [33]
+00DF 00FF
0101
0103
0105
@@ -68,7 +40,7 @@ return <<'END';
0131
0133
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -76,7 +48,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -102,26 +74,26 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BB # [3]
-01BD 01C3 # [7]
+01B9 01BB
+01BD 01C3
01C6
01C9
01CC
@@ -132,7 +104,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -141,7 +113,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
+01EF 01F0
01F3
01F5
01F9
@@ -173,25 +145,25 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 036F # [289]
+024F 036F
0371
-0373 0375 # [3]
-0377 0385 # [15]
+0373 0375
+0377 0385
0387
038B
038D
0390
03A2
-03AC 03CE # [35]
-03D0 03D7 # [8]
+03AC 03CE
+03D0 03D7
03D9
03DB
03DD
@@ -203,11 +175,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F3 # [5]
-03F5 03F6 # [2]
+03EF 03F3
+03F5 03F6
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -224,7 +196,7 @@ return <<'END';
047B
047D
047F
-0481 0489 # [9]
+0481 0489
048B
048D
048F
@@ -258,7 +230,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -301,9 +273,10 @@ return <<'END';
051F
0521
0523
-0525 0530 # [12]
-0557 109F # [2889]
-10C6 1DFF # [3386]
+0525
+0527 0530
+0557 109F
+10C6 1DFF
1E01
1E03
1E05
@@ -378,7 +351,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9D # [9]
+1E95 1E9D
1E9F
1EA1
1EA3
@@ -427,40 +400,40 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F17 # [8]
-1F1E 1F27 # [10]
-1F30 1F37 # [8]
-1F40 1F47 # [8]
-1F4E 1F58 # [11]
+1EFF 1F07
+1F10 1F17
+1F1E 1F27
+1F30 1F37
+1F40 1F47
+1F4E 1F58
1F5A
1F5C
1F5E
-1F60 1F67 # [8]
-1F70 1F87 # [24]
-1F90 1F97 # [8]
-1FA0 1FA7 # [8]
-1FB0 1FB7 # [8]
-1FBD 1FC7 # [11]
-1FCD 1FD7 # [11]
-1FDC 1FE7 # [12]
-1FED 1FF7 # [11]
-1FFD 2125 # [297]
-2127 2129 # [3]
-212C 2131 # [6]
-2133 215F # [45]
-2170 2182 # [19]
-2184 24B5 # [818]
-24D0 2BFF # [1840]
-2C2F 2C5F # [49]
+1F60 1F67
+1F70 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB7
+1FBD 1FC7
+1FCD 1FD7
+1FDC 1FE7
+1FED 1FF7
+1FFD 2125
+2127 2129
+212C 2131
+2133 215F
+2170 2182
+2184 24B5
+24D0 2BFF
+2C2F 2C5F
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7D # [8]
+2C73 2C74
+2C76 2C7D
2C81
2C83
2C85
@@ -510,9 +483,9 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CEA # [8]
+2CE3 2CEA
2CEC
-2CEE A63F # [31_058]
+2CEE A63F
A641
A643
A645
@@ -528,13 +501,14 @@ A657
A659
A65B
A65D
-A65F A661 # [3]
+A65F
+A661
A663
A665
A667
A669
A66B
-A66D A67F # [19]
+A66D A67F
A681
A683
A685
@@ -546,14 +520,14 @@ A68F
A691
A693
A695
-A697 A721 # [139]
+A697 A721
A723
A725
A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -584,15 +558,22 @@ A767
A769
A76B
A76D
-A76F A778 # [10]
+A76F A778
A77A
A77C
A77F
A781
A783
A785
-A787 A78A # [4]
-A78C FF20 # [22_421]
-FF3B 103FF # [1221]
-10428 10FFFF # [1_047_512]
+A787 A78A
+A78C
+A78E A78F
+A791 A79F
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9 FF20
+FF3B 103FF
+10428 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
index d04a71698b5..07b334a98f8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
@@ -1,45 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1029 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Changes_When_Lowercased=Yes}
-# \p{CWL=Y}
-# \p{Is_Changes_When_Lowercased=T}
-# \p{Is_CWL=True}
-#
-# \p{Changes_When_Lowercased}
-# \p{Is_Changes_When_Lowercased}
-# \p{CWL}
-# \p{Is_CWL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWL: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-00C0 00D6 # [23]
-00D8 00DE # [7]
+0041 005A
+00C0 00D6
+00D8 00DE
0100
0102
0104
@@ -99,31 +71,31 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
+01B7 01B8
01BC
-01C4 01C5 # [2]
-01C7 01C8 # [2]
-01CA 01CB # [2]
+01C4 01C5
+01C7 01C8
+01CA 01CB
01CD
01CF
01D1
@@ -141,9 +113,9 @@ return <<'END';
01EA
01EC
01EE
-01F1 01F2 # [2]
+01F1 01F2
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -173,10 +145,10 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -185,11 +157,11 @@ return <<'END';
0372
0376
0386
-0388 038A # [3]
+0388 038A
038C
-038E 038F # [2]
-0391 03A1 # [17]
-03A3 03AB # [9]
+038E 038F
+0391 03A1
+03A3 03AB
03CF
03D8
03DA
@@ -205,8 +177,8 @@ return <<'END';
03EE
03F4
03F7
-03F9 03FA # [2]
-03FD 042F # [51]
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -251,7 +223,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -301,8 +273,9 @@ return <<'END';
0520
0522
0524
-0531 0556 # [38]
-10A0 10C5 # [38]
+0526
+0531 0556
+10A0 10C5
1E00
1E02
1E04
@@ -427,40 +400,40 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F18 1F1D # [6]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F48 1F4D # [6]
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
1F59
1F5B
1F5D
1F5F
-1F68 1F6F # [8]
-1F88 1F8F # [8]
-1F98 1F9F # [8]
-1FA8 1FAF # [8]
-1FB8 1FBC # [5]
-1FC8 1FCC # [5]
-1FD8 1FDB # [4]
-1FE8 1FEC # [5]
-1FF8 1FFC # [5]
+1F68 1F6F
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
+1FB8 1FBC
+1FC8 1FCC
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFC
2126
-212A 212B # [2]
+212A 212B
2132
-2160 216F # [16]
+2160 216F
2183
-24B6 24CF # [26]
-2C00 2C2E # [47]
+24B6 24CF
+2C00 2C2E
2C60
-2C62 2C64 # [3]
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7E 2C80 # [3]
+2C7E 2C80
2C82
2C84
2C86
@@ -528,6 +501,7 @@ A658
A65A
A65C
A65E
+A660
A662
A664
A666
@@ -586,12 +560,19 @@ A76C
A76E
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
A78B
-FF21 FF3A # [26]
-10400 10427 # [40]
+A78D
+A790
+A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+FF21 FF3A
+10400 10427
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl
index 701ad9a8a79..24516cea7cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl
@@ -1,45 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_027 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Changes_When_Titlecased=No}
-# \p{CWT=N}
-# \p{Is_Changes_When_Titlecased=F}
-# \p{Is_CWT=False}
-#
-# \P{Changes_When_Titlecased}
-# \P{Is_Changes_When_Titlecased}
-# \P{CWT}
-# \P{Is_CWT}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWT: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0060 # [97]
-007B 00B4 # [58]
-00B6 00DE # [41]
+0000 0060
+007B 00B4
+00B6 00DE
00F7
0100
0102
@@ -69,7 +41,7 @@ return <<'END';
0132
0134
0136
-0138 0139 # [2]
+0138 0139
013B
013D
013F
@@ -100,29 +72,29 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018D 0191 # [5]
-0193 0194 # [2]
-0196 0198 # [3]
-019B 019D # [3]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018D 0191
+0193 0194
+0196 0198
+019B 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
-01A9 01AC # [4]
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01A6 01A7
+01A9 01AC
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
-01BA 01BC # [3]
+01B7 01B8
+01BA 01BC
01BE
-01C0 01C3 # [4]
+01C0 01C3
01C5
01C8
01CB
@@ -145,7 +117,7 @@ return <<'END';
01EE
01F2
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -165,7 +137,7 @@ return <<'END';
021A
021C
021E
-0220 0222 # [3]
+0220 0222
0224
0226
0228
@@ -174,10 +146,10 @@ return <<'END';
022E
0230
0232
-0234 023B # [8]
-023D 023E # [2]
+0234 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -185,27 +157,28 @@ return <<'END';
0255
0258
025A
-025C 025F # [4]
-0261 0262 # [2]
-0264 0267 # [4]
+025C 025F
+0261 0262
+0264
+0266 0267
026A
-026C 026E # [3]
+026C 026E
0270
-0273 0274 # [2]
-0276 027C # [7]
-027E 027F # [2]
-0281 0282 # [2]
-0284 0287 # [4]
-028D 0291 # [5]
-0293 0344 # [178]
-0346 0370 # [43]
+0273 0274
+0276 027C
+027E 027F
+0281 0282
+0284 0287
+028D 0291
+0293 0344
+0346 0370
0372
-0374 0376 # [3]
-0378 037A # [3]
-037E 038F # [18]
-0391 03AB # [27]
+0374 0376
+0378 037A
+037E 038F
+0391 03AB
03CF
-03D2 03D4 # [3]
+03D2 03D4
03D8
03DA
03DC
@@ -218,10 +191,10 @@ return <<'END';
03EA
03EC
03EE
-03F3 03F4 # [2]
-03F6 03F7 # [2]
-03F9 03FA # [2]
-03FC 042F # [52]
+03F3 03F4
+03F6 03F7
+03F9 03FA
+03FC 042F
0460
0462
0464
@@ -239,7 +212,7 @@ return <<'END';
047C
047E
0480
-0482 048A # [9]
+0482 048A
048C
048E
0490
@@ -266,7 +239,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -316,10 +289,11 @@ return <<'END';
0520
0522
0524
-0526 0560 # [59]
-0588 1D78 # [6129]
-1D7A 1D7C # [3]
-1D7E 1E00 # [131]
+0526
+0528 0560
+0588 1D78
+1D7A 1D7C
+1D7E 1E00
1E02
1E04
1E06
@@ -394,7 +368,7 @@ return <<'END';
1E90
1E92
1E94
-1E9C 1EA0 # [5]
+1E9C 1EA0
1EA2
1EA4
1EA6
@@ -442,39 +416,39 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F16 1F1F # [10]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F46 1F4F # [10]
-1F58 1F5F # [8]
-1F68 1F6F # [8]
-1F7E 1F7F # [2]
-1F88 1F8F # [8]
-1F98 1F9F # [8]
-1FA8 1FAF # [8]
+1F08 1F0F
+1F16 1F1F
+1F28 1F2F
+1F38 1F3F
+1F46 1F4F
+1F58 1F5F
+1F68 1F6F
+1F7E 1F7F
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
1FB5
-1FB8 1FBD # [6]
-1FBF 1FC1 # [3]
+1FB8 1FBD
+1FBF 1FC1
1FC5
-1FC8 1FCF # [8]
-1FD4 1FD5 # [2]
-1FD8 1FDF # [8]
-1FE8 1FF1 # [10]
+1FC8 1FCF
+1FD4 1FD5
+1FD8 1FDF
+1FE8 1FF1
1FF5
-1FF8 214D # [342]
-214F 216F # [33]
-2180 2183 # [4]
-2185 24CF # [843]
-24EA 2C2F # [1862]
-2C5F 2C60 # [2]
-2C62 2C64 # [3]
+1FF8 214D
+214F 216F
+2180 2183
+2185 24CF
+24EA 2C2F
+2C5F 2C60
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C72 # [6]
-2C74 2C75 # [2]
-2C77 2C80 # [10]
+2C6D 2C72
+2C74 2C75
+2C77 2C80
2C82
2C84
2C86
@@ -524,10 +498,10 @@ return <<'END';
2CDE
2CE0
2CE2
-2CE4 2CEB # [8]
+2CE4 2CEB
2CED
-2CEF 2CFF # [17]
-2D26 A640 # [31_003]
+2CEF 2CFF
+2D26 A640
A642
A644
A646
@@ -543,13 +517,14 @@ A658
A65A
A65C
A65E
-A660 A662 # [3]
+A660
+A662
A664
A666
A668
A66A
A66C
-A66E A680 # [19]
+A66E A680
A682
A684
A686
@@ -561,14 +536,14 @@ A690
A692
A694
A696
-A698 A722 # [139]
+A698 A722
A724
A726
A728
A72A
A72C
A72E
-A730 A732 # [3]
+A730 A732
A734
A736
A738
@@ -599,17 +574,23 @@ A768
A76A
A76C
A76E
-A770 A779 # [10]
+A770 A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
-A788 A78B # [4]
-A78D FAFF # [21_363]
-FB07 FB12 # [12]
-FB18 FF40 # [1065]
-FF5B 10427 # [1229]
-10450 10FFFF # [1_047_472]
+A788 A78B
+A78D A790
+A792 A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+A7AA FAFF
+FB07 FB12
+FB18 FF40
+FF5B 10427
+10450 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
index dec6bfca919..1e07eca0942 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1085 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Changes_When_Titlecased=Yes}
-# \p{CWT=Y}
-# \p{Is_Changes_When_Titlecased=T}
-# \p{Is_CWT=True}
-#
-# \p{Changes_When_Titlecased}
-# \p{Is_Changes_When_Titlecased}
-# \p{CWT}
-# \p{Is_CWT}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWT: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0061 007A # [26]
+0061 007A
00B5
-00DF 00F6 # [24]
-00F8 00FF # [8]
+00DF 00F6
+00F8 00FF
0101
0103
0105
@@ -76,7 +48,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -102,14 +74,14 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
018C
0192
0195
-0199 019A # [2]
+0199 019A
019E
01A1
01A3
@@ -123,8 +95,8 @@ return <<'END';
01BD
01BF
01C4
-01C6 01C7 # [2]
-01C9 01CA # [2]
+01C6 01C7
+01C9 01CA
01CC
01CE
01D0
@@ -133,7 +105,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -142,7 +114,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F1 # [3]
+01EF 01F1
01F3
01F5
01F9
@@ -175,37 +147,38 @@ return <<'END';
0231
0233
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 0254 # [6]
-0256 0257 # [2]
+024F 0254
+0256 0257
0259
025B
0260
0263
-0268 0269 # [2]
+0265
+0268 0269
026B
026F
-0271 0272 # [2]
+0271 0272
0275
027D
0280
0283
-0288 028C # [5]
+0288 028C
0292
0345
0371
0373
0377
-037B 037D # [3]
+037B 037D
0390
-03AC 03CE # [35]
-03D0 03D1 # [2]
-03D5 03D7 # [3]
+03AC 03CE
+03D0 03D1
+03D5 03D7
03D9
03DB
03DD
@@ -217,11 +190,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F2 # [4]
+03EF 03F2
03F5
03F8
03FB
-0430 045F # [48]
+0430 045F
0461
0463
0465
@@ -272,7 +245,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -316,7 +289,8 @@ return <<'END';
0521
0523
0525
-0561 0587 # [39]
+0527
+0561 0587
1D79
1D7D
1E01
@@ -393,7 +367,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9B # [7]
+1E95 1E9B
1EA1
1EA3
1EA5
@@ -441,34 +415,34 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F15 # [6]
-1F20 1F27 # [8]
-1F30 1F37 # [8]
-1F40 1F45 # [6]
-1F50 1F57 # [8]
-1F60 1F67 # [8]
-1F70 1F7D # [14]
-1F80 1F87 # [8]
-1F90 1F97 # [8]
-1FA0 1FA7 # [8]
-1FB0 1FB4 # [5]
-1FB6 1FB7 # [2]
+1EFF 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FC7 # [2]
-1FD0 1FD3 # [4]
-1FD6 1FD7 # [2]
-1FE0 1FE7 # [8]
-1FF2 1FF4 # [3]
-1FF6 1FF7 # [2]
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
214E
-2170 217F # [16]
+2170 217F
2184
-24D0 24E9 # [26]
-2C30 2C5E # [47]
+24D0 24E9
+2C30 2C5E
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
@@ -526,7 +500,7 @@ return <<'END';
2CE3
2CEC
2CEE
-2D00 2D25 # [38]
+2D00 2D25
A641
A643
A645
@@ -543,6 +517,7 @@ A659
A65B
A65D
A65F
+A661
A663
A665
A667
@@ -607,8 +582,14 @@ A783
A785
A787
A78C
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF41 FF5A # [26]
-10428 1044F # [40]
+A791
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl
index e1dbac313ba..6660c421f56 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl
@@ -1,45 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_000 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Changes_When_Uppercased=No}
-# \p{CWU=N}
-# \p{Is_Changes_When_Uppercased=F}
-# \p{Is_CWU=False}
-#
-# \P{Changes_When_Uppercased}
-# \P{Is_Changes_When_Uppercased}
-# \P{CWU}
-# \P{Is_CWU}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWU: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0060 # [97]
-007B 00B4 # [58]
-00B6 00DE # [41]
+0000 0060
+007B 00B4
+00B6 00DE
00F7
0100
0102
@@ -69,7 +41,7 @@ return <<'END';
0132
0134
0136
-0138 0139 # [2]
+0138 0139
013B
013D
013F
@@ -100,29 +72,29 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018D 0191 # [5]
-0193 0194 # [2]
-0196 0198 # [3]
-019B 019D # [3]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018D 0191
+0193 0194
+0196 0198
+019B 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
-01A9 01AC # [4]
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01A6 01A7
+01A9 01AC
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
-01BA 01BC # [3]
+01B7 01B8
+01BA 01BC
01BE
-01C0 01C4 # [5]
+01C0 01C4
01C7
01CA
01CD
@@ -144,7 +116,7 @@ return <<'END';
01EE
01F1
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -164,7 +136,7 @@ return <<'END';
021A
021C
021E
-0220 0222 # [3]
+0220 0222
0224
0226
0228
@@ -173,10 +145,10 @@ return <<'END';
022E
0230
0232
-0234 023B # [8]
-023D 023E # [2]
+0234 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -184,27 +156,28 @@ return <<'END';
0255
0258
025A
-025C 025F # [4]
-0261 0262 # [2]
-0264 0267 # [4]
+025C 025F
+0261 0262
+0264
+0266 0267
026A
-026C 026E # [3]
+026C 026E
0270
-0273 0274 # [2]
-0276 027C # [7]
-027E 027F # [2]
-0281 0282 # [2]
-0284 0287 # [4]
-028D 0291 # [5]
-0293 0344 # [178]
-0346 0370 # [43]
+0273 0274
+0276 027C
+027E 027F
+0281 0282
+0284 0287
+028D 0291
+0293 0344
+0346 0370
0372
-0374 0376 # [3]
-0378 037A # [3]
-037E 038F # [18]
-0391 03AB # [27]
+0374 0376
+0378 037A
+037E 038F
+0391 03AB
03CF
-03D2 03D4 # [3]
+03D2 03D4
03D8
03DA
03DC
@@ -217,10 +190,10 @@ return <<'END';
03EA
03EC
03EE
-03F3 03F4 # [2]
-03F6 03F7 # [2]
-03F9 03FA # [2]
-03FC 042F # [52]
+03F3 03F4
+03F6 03F7
+03F9 03FA
+03FC 042F
0460
0462
0464
@@ -238,7 +211,7 @@ return <<'END';
047C
047E
0480
-0482 048A # [9]
+0482 048A
048C
048E
0490
@@ -265,7 +238,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -315,10 +288,11 @@ return <<'END';
0520
0522
0524
-0526 0560 # [59]
-0588 1D78 # [6129]
-1D7A 1D7C # [3]
-1D7E 1E00 # [131]
+0526
+0528 0560
+0588 1D78
+1D7A 1D7C
+1D7E 1E00
1E02
1E04
1E06
@@ -393,7 +367,7 @@ return <<'END';
1E90
1E92
1E94
-1E9C 1EA0 # [5]
+1E9C 1EA0
1EA2
1EA4
1EA6
@@ -441,39 +415,39 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F16 1F1F # [10]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F46 1F4F # [10]
-1F58 1F5F # [8]
-1F68 1F6F # [8]
-1F7E 1F7F # [2]
+1F08 1F0F
+1F16 1F1F
+1F28 1F2F
+1F38 1F3F
+1F46 1F4F
+1F58 1F5F
+1F68 1F6F
+1F7E 1F7F
1FB5
-1FB8 1FBB # [4]
+1FB8 1FBB
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FC8 1FCB # [4]
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FD8 1FDF # [8]
-1FE8 1FF1 # [10]
+1FC8 1FCB
+1FCD 1FCF
+1FD4 1FD5
+1FD8 1FDF
+1FE8 1FF1
1FF5
-1FF8 1FFB # [4]
-1FFD 214D # [337]
-214F 216F # [33]
-2180 2183 # [4]
-2185 24CF # [843]
-24EA 2C2F # [1862]
-2C5F 2C60 # [2]
-2C62 2C64 # [3]
+1FF8 1FFB
+1FFD 214D
+214F 216F
+2180 2183
+2185 24CF
+24EA 2C2F
+2C5F 2C60
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C72 # [6]
-2C74 2C75 # [2]
-2C77 2C80 # [10]
+2C6D 2C72
+2C74 2C75
+2C77 2C80
2C82
2C84
2C86
@@ -523,10 +497,10 @@ return <<'END';
2CDE
2CE0
2CE2
-2CE4 2CEB # [8]
+2CE4 2CEB
2CED
-2CEF 2CFF # [17]
-2D26 A640 # [31_003]
+2CEF 2CFF
+2D26 A640
A642
A644
A646
@@ -542,13 +516,14 @@ A658
A65A
A65C
A65E
-A660 A662 # [3]
+A660
+A662
A664
A666
A668
A66A
A66C
-A66E A680 # [19]
+A66E A680
A682
A684
A686
@@ -560,14 +535,14 @@ A690
A692
A694
A696
-A698 A722 # [139]
+A698 A722
A724
A726
A728
A72A
A72C
A72E
-A730 A732 # [3]
+A730 A732
A734
A736
A738
@@ -598,17 +573,23 @@ A768
A76A
A76C
A76E
-A770 A779 # [10]
+A770 A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
-A788 A78B # [4]
-A78D FAFF # [21_363]
-FB07 FB12 # [12]
-FB18 FF40 # [1065]
-FF5B 10427 # [1229]
-10450 10FFFF # [1_047_472]
+A788 A78B
+A78D A790
+A792 A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+A7AA FAFF
+FB07 FB12
+FB18 FF40
+FF5B 10427
+10450 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
index c12ccf8ee49..c4620329c2a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1112 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Changes_When_Uppercased=Yes}
-# \p{CWU=Y}
-# \p{Is_Changes_When_Uppercased=T}
-# \p{Is_CWU=True}
-#
-# \p{Changes_When_Uppercased}
-# \p{Is_Changes_When_Uppercased}
-# \p{CWU}
-# \p{Is_CWU}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_CWU: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0061 007A # [26]
+0061 007A
00B5
-00DF 00F6 # [24]
-00F8 00FF # [8]
+00DF 00F6
+00F8 00FF
0101
0103
0105
@@ -76,7 +48,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -102,14 +74,14 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
018C
0192
0195
-0199 019A # [2]
+0199 019A
019E
01A1
01A3
@@ -122,9 +94,9 @@ return <<'END';
01B9
01BD
01BF
-01C5 01C6 # [2]
-01C8 01C9 # [2]
-01CB 01CC # [2]
+01C5 01C6
+01C8 01C9
+01CB 01CC
01CE
01D0
01D2
@@ -132,7 +104,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -141,8 +113,8 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
-01F2 01F3 # [2]
+01EF 01F0
+01F2 01F3
01F5
01F9
01FB
@@ -174,37 +146,38 @@ return <<'END';
0231
0233
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 0254 # [6]
-0256 0257 # [2]
+024F 0254
+0256 0257
0259
025B
0260
0263
-0268 0269 # [2]
+0265
+0268 0269
026B
026F
-0271 0272 # [2]
+0271 0272
0275
027D
0280
0283
-0288 028C # [5]
+0288 028C
0292
0345
0371
0373
0377
-037B 037D # [3]
+037B 037D
0390
-03AC 03CE # [35]
-03D0 03D1 # [2]
-03D5 03D7 # [3]
+03AC 03CE
+03D0 03D1
+03D5 03D7
03D9
03DB
03DD
@@ -216,11 +189,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F2 # [4]
+03EF 03F2
03F5
03F8
03FB
-0430 045F # [48]
+0430 045F
0461
0463
0465
@@ -271,7 +244,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -315,7 +288,8 @@ return <<'END';
0521
0523
0525
-0561 0587 # [39]
+0527
+0561 0587
1D79
1D7D
1E01
@@ -392,7 +366,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9B # [7]
+1E95 1E9B
1EA1
1EA3
1EA5
@@ -440,34 +414,34 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F15 # [6]
-1F20 1F27 # [8]
-1F30 1F37 # [8]
-1F40 1F45 # [6]
-1F50 1F57 # [8]
-1F60 1F67 # [8]
-1F70 1F7D # [14]
-1F80 1FB4 # [53]
-1FB6 1FB7 # [2]
+1EFF 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1FB4
+1FB6 1FB7
1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FC7 # [2]
+1FC2 1FC4
+1FC6 1FC7
1FCC
-1FD0 1FD3 # [4]
-1FD6 1FD7 # [2]
-1FE0 1FE7 # [8]
-1FF2 1FF4 # [3]
-1FF6 1FF7 # [2]
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
1FFC
214E
-2170 217F # [16]
+2170 217F
2184
-24D0 24E9 # [26]
-2C30 2C5E # [47]
+24D0 24E9
+2C30 2C5E
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
@@ -525,7 +499,7 @@ return <<'END';
2CE3
2CEC
2CEE
-2D00 2D25 # [38]
+2D00 2D25
A641
A643
A645
@@ -542,6 +516,7 @@ A659
A65B
A65D
A65F
+A661
A663
A665
A667
@@ -606,8 +581,14 @@ A783
A785
A787
A78C
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF41 FF5A # [26]
-10428 1044F # [40]
+A791
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl
index 72315a0f501..a6a190d8942 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl
@@ -1,140 +1,116 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_110_704 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Cased=No}
-# \p{Is_Cased=N}
-# \p{Cased=F}
-# \p{Is_Cased=False}
-#
-# \P{Cased}
-# \P{Is_Cased}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Cased: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 0060 # [6]
-007B 00A9 # [47]
-00AB 00B4 # [10]
-00B6 00B9 # [4]
-00BB 00BF # [5]
+0000 0040
+005B 0060
+007B 00A9
+00AB 00B4
+00B6 00B9
+00BB 00BF
00D7
00F7
01BB
-01C0 01C3 # [4]
+01C0 01C3
0294
-02B9 02BF # [7]
-02C2 02DF # [30]
-02E5 0344 # [96]
-0346 036F # [42]
-0374 0375 # [2]
-0378 0379 # [2]
-037E 0385 # [8]
+02B9 02BF
+02C2 02DF
+02E5 0344
+0346 036F
+0374 0375
+0378 0379
+037E 0385
0387
038B
038D
03A2
03F6
-0482 0489 # [8]
-0526 0530 # [11]
-0557 0560 # [10]
-0588 109F # [2840]
-10C6 1CFF # [3130]
-1DC0 1DFF # [64]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+0482 0489
+0528 0530
+0557 0560
+0588 109F
+10C6 1CFF
+1DC0 1DFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 208F # [147]
-2095 2101 # [109]
-2103 2106 # [4]
-2108 2109 # [2]
+1FFD 208F
+2095 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2118
+211E 2123
2125
2127
2129
212E
-2135 2138 # [4]
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2180 2182 # [3]
-2185 24B5 # [817]
-24EA 2BFF # [1814]
+2135 2138
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2180 2182
+2185 24B5
+24EA 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CEF 2CFF # [17]
-2D26 A63F # [31_002]
-A660 A661 # [2]
-A66E A67F # [18]
-A698 A721 # [138]
-A788 A78A # [3]
-A78D FAFF # [21_363]
-FB07 FB12 # [12]
-FB18 FF20 # [1033]
-FF3B FF40 # [6]
-FF5B 103FF # [1189]
-10450 1D3FF # [53_168]
+2CE5 2CEA
+2CEF 2CFF
+2D26 A63F
+A66E A67F
+A698 A721
+A788 A78A
+A78F
+A792 A79F
+A7AA A7F9
+A7FB FAFF
+FB07 FB12
+FB18 FF20
+FF3B FF40
+FF5B 103FF
+10450 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -145,5 +121,5 @@ FF5B 103FF # [1189]
1D789
1D7A9
1D7C3
-1D7CC 10FFFF # [993_332]
+1D7CC 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
index 1a1396754c9..14620dd3543 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
@@ -1,148 +1,124 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3408 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Cased=Yes}
-# \p{Is_Cased=Y}
-# \p{Cased=T}
-# \p{Is_Cased=True}
-#
-# \p{Cased}
-# \p{Is_Cased}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Cased: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 01BA # [195]
-01BC 01BF # [4]
-01C4 0293 # [208]
-0295 02B8 # [36]
-02C0 02C1 # [2]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 01BA
+01BC 01BF
+01C4 0293
+0295 02B8
+02C0 02C1
+02E0 02E4
0345
-0370 0373 # [4]
-0376 0377 # [2]
-037A 037D # [4]
+0370 0373
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
-0561 0587 # [39]
-10A0 10C5 # [38]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
+0561 0587
+10A0 10C5
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
-2090 2094 # [5]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2090 2094
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2134 # [6]
+212A 212D
+212F 2134
2139
-213C 213F # [4]
-2145 2149 # [5]
+213C 213F
+2145 2149
214E
-2160 217F # [32]
-2183 2184 # [2]
-24B6 24E9 # [52]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-A640 A65F # [32]
-A662 A66D # [12]
-A680 A697 # [24]
-A722 A787 # [102]
-A78B A78C # [2]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-10400 1044F # [80]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+2160 217F
+2183 2184
+24B6 24E9
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+A640 A66D
+A680 A697
+A722 A787
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA
+FB00 FB06
+FB13 FB17
+FF21 FF3A
+FF41 FF5A
+10400 1044F
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl
index 785525dbe5b..0e25f7996aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=10}
-# \p{Ccc=10}
-# \p{Is_Canonical_Combining_Class=10}
-# \p{Is_Ccc=10}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 10}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B0
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl
index 80d13e4459f..2caa01dfdfc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=103}
-# \p{Ccc=103}
-# \p{Is_Canonical_Combining_Class=103}
-# \p{Is_Ccc=103}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 103}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E38 0E39 # [2]
+0E38 0E39
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl
index 79a658ccd3f..2e8cd014213 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=107}
-# \p{Ccc=107}
-# \p{Is_Canonical_Combining_Class=107}
-# \p{Is_Ccc=107}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 107}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E48 0E4B # [4]
+0E48 0E4B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl
index 87bc61ccf24..50e232a4048 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=11}
-# \p{Ccc=11}
-# \p{Is_Canonical_Combining_Class=11}
-# \p{Is_Ccc=11}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 11}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B1
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl
index c403b081248..33edeb3c688 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=118}
-# \p{Ccc=118}
-# \p{Is_Canonical_Combining_Class=118}
-# \p{Is_Ccc=118}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 118}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0EB8 0EB9 # [2]
+0EB8 0EB9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl
index de5027bd284..df62e6f0793 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=12}
-# \p{Ccc=12}
-# \p{Is_Canonical_Combining_Class=12}
-# \p{Is_Ccc=12}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 12}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B2
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl
index e90a2b90a3a..0632d58d675 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=122}
-# \p{Ccc=122}
-# \p{Is_Canonical_Combining_Class=122}
-# \p{Is_Ccc=122}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 122}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0EC8 0ECB # [4]
+0EC8 0ECB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl
index 3a90971b95f..5172939e51f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=129}
-# \p{Ccc=129}
-# \p{Is_Canonical_Combining_Class=129}
-# \p{Is_Ccc=129}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 129}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F71
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl
index d374c5c1e0a..c7bc0c2a015 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=13}
-# \p{Ccc=13}
-# \p{Is_Canonical_Combining_Class=13}
-# \p{Is_Ccc=13}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 13}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B3
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl
index e957e5a2799..c090ab9d511 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 6 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=130}
-# \p{Ccc=130}
-# \p{Is_Canonical_Combining_Class=130}
-# \p{Is_Ccc=130}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 130}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F72
-0F7A 0F7D # [4]
+0F7A 0F7D
0F80
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl
index f6ac69b6a54..60243fdc3bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=132}
-# \p{Ccc=132}
-# \p{Is_Canonical_Combining_Class=132}
-# \p{Is_Ccc=132}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 132}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F74
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl
index 967e9d286ba..a132413e212 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=14}
-# \p{Ccc=14}
-# \p{Is_Canonical_Combining_Class=14}
-# \p{Is_Ccc=14}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 14}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B4
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl
index 671c4d19854..be31d313217 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=15}
-# \p{Ccc=15}
-# \p{Is_Canonical_Combining_Class=15}
-# \p{Is_Ccc=15}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 15}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B5
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl
index 79927101b92..d62afeb5ac8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=16}
-# \p{Ccc=16}
-# \p{Is_Canonical_Combining_Class=16}
-# \p{Is_Ccc=16}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 16}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B6
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl
index 4142b008831..6a8370e2168 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=17}
-# \p{Ccc=17}
-# \p{Is_Canonical_Combining_Class=17}
-# \p{Is_Ccc=17}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 17}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B7
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl
index 79ffa54b5c5..c23863671a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=18}
-# \p{Ccc=18}
-# \p{Is_Canonical_Combining_Class=18}
-# \p{Is_Ccc=18}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 18}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05B8
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl
index 3a03e7a7195..2e421536f1f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=19}
-# \p{Ccc=19}
-# \p{Is_Canonical_Combining_Class=19}
-# \p{Is_Ccc=19}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 19}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-05B9 05BA # [2]
+05B9 05BA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl
index 7112a0aef5c..62d0b984184 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=20}
-# \p{Ccc=20}
-# \p{Is_Canonical_Combining_Class=20}
-# \p{Is_Ccc=20}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 20}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05BB
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl
index 4642c9f9ab8..eec16009f6b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=21}
-# \p{Ccc=21}
-# \p{Is_Canonical_Combining_Class=21}
-# \p{Is_Ccc=21}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 21}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05BC
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl
index ceb5b826850..242177c1af4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=22}
-# \p{Ccc=22}
-# \p{Is_Canonical_Combining_Class=22}
-# \p{Is_Ccc=22}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 22}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05BD
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl
index 9db8fbde4f8..3c5a1b96ae1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=23}
-# \p{Ccc=23}
-# \p{Is_Canonical_Combining_Class=23}
-# \p{Is_Ccc=23}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 23}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05BF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl
index ba8ecbfb2bc..a5e9e5a2bf3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=24}
-# \p{Ccc=24}
-# \p{Is_Canonical_Combining_Class=24}
-# \p{Is_Ccc=24}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 24}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05C1
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl
index b9231d2c579..594b91642b6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=25}
-# \p{Ccc=25}
-# \p{Is_Canonical_Combining_Class=25}
-# \p{Is_Ccc=25}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 25}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05C2
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl
index c46849881ac..4926b8225ce 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=26}
-# \p{Ccc=26}
-# \p{Is_Canonical_Combining_Class=26}
-# \p{Is_Ccc=26}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 26}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
FB1E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl
index 4d81cd4ab5f..982cd7be49b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=27}
-# \p{Ccc=27}
-# \p{Is_Canonical_Combining_Class=27}
-# \p{Is_Ccc=27}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 27}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
064B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl
index f6f37090940..ac6ad971c62 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=28}
-# \p{Ccc=28}
-# \p{Is_Canonical_Combining_Class=28}
-# \p{Is_Ccc=28}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 28}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
064C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl
index ce935951dc7..67366e64565 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=29}
-# \p{Ccc=29}
-# \p{Is_Canonical_Combining_Class=29}
-# \p{Is_Ccc=29}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 29}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
064D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl
index 4543f545a10..f6c9eb6fabd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=30}
-# \p{Ccc=30}
-# \p{Is_Canonical_Combining_Class=30}
-# \p{Is_Ccc=30}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 30}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0618
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl
index f0b5be02bbf..693fec462e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=31}
-# \p{Ccc=31}
-# \p{Is_Canonical_Combining_Class=31}
-# \p{Is_Ccc=31}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 31}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0619
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl
index fe3e6fe663e..f74f2e00e6b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=32}
-# \p{Ccc=32}
-# \p{Is_Canonical_Combining_Class=32}
-# \p{Is_Ccc=32}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 32}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
061A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl
index 7aab439c418..e5a47f7b5da 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=33}
-# \p{Ccc=33}
-# \p{Is_Canonical_Combining_Class=33}
-# \p{Is_Ccc=33}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 33}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0651
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl
index 36aa4ce817c..4d6d9599df3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=34}
-# \p{Ccc=34}
-# \p{Is_Canonical_Combining_Class=34}
-# \p{Is_Ccc=34}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 34}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0652
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl
index d1f56132bb0..ad6a9ee705f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=35}
-# \p{Ccc=35}
-# \p{Is_Canonical_Combining_Class=35}
-# \p{Is_Ccc=35}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 35}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0670
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl
index 48845f94efc..03b159a91ae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=36}
-# \p{Ccc=36}
-# \p{Is_Canonical_Combining_Class=36}
-# \p{Is_Ccc=36}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 36}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0711
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl
index 1ac0c6be087..669c712c44a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=84}
-# \p{Ccc=84}
-# \p{Is_Canonical_Combining_Class=84}
-# \p{Is_Ccc=84}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 84}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0C55
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl
index 1d3545500a0..515c528fc3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=91}
-# \p{Ccc=91}
-# \p{Is_Canonical_Combining_Class=91}
-# \p{Is_Ccc=91}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: 91}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0C56
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
index 62d26209171..ed80c70c61a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
@@ -1,121 +1,96 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 318 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Above}
-# \p{Ccc=A}
-# \p{Is_Canonical_Combining_Class=230}
-# \p{Is_Ccc=Above}
-#
-# \p{_CombAbove}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Above}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 0314 # [21]
-033D 0344 # [8]
+0300 0314
+033D 0344
0346
-034A 034C # [3]
-0350 0352 # [3]
+034A 034C
+0350 0352
0357
035B
-0363 036F # [13]
-0483 0487 # [5]
-0592 0595 # [4]
-0597 0599 # [3]
-059C 05A1 # [6]
-05A8 05A9 # [2]
-05AB 05AC # [2]
+0363 036F
+0483 0487
+0592 0595
+0597 0599
+059C 05A1
+05A8 05A9
+05AB 05AC
05AF
05C4
-0610 0617 # [8]
-0653 0654 # [2]
-0657 065B # [5]
-065D 065E # [2]
-06D6 06DC # [7]
-06DF 06E2 # [4]
+0610 0617
+0653 0654
+0657 065B
+065D 065E
+06D6 06DC
+06DF 06E2
06E4
-06E7 06E8 # [2]
-06EB 06EC # [2]
+06E7 06E8
+06EB 06EC
0730
-0732 0733 # [2]
-0735 0736 # [2]
+0732 0733
+0735 0736
073A
073D
-073F 0741 # [3]
+073F 0741
0743
0745
0747
-0749 074A # [2]
-07EB 07F1 # [7]
+0749 074A
+07EB 07F1
07F3
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
+0816 0819
+081B 0823
+0825 0827
+0829 082D
0951
-0953 0954 # [2]
-0F82 0F83 # [2]
-0F86 0F87 # [2]
-135F
+0953 0954
+0F82 0F83
+0F86 0F87
+135D 135F
17DD
193A
1A17
-1A75 1A7C # [8]
+1A75 1A7C
1B6B
-1B6D 1B73 # [7]
-1CD0 1CD2 # [3]
-1CDA 1CDB # [2]
+1B6D 1B73
+1CD0 1CD2
+1CDA 1CDB
1CE0
-1DC0 1DC1 # [2]
-1DC3 1DC9 # [7]
-1DCB 1DCC # [2]
-1DD1 1DE6 # [22]
+1DC0 1DC1
+1DC3 1DC9
+1DCB 1DCC
+1DD1 1DE6
1DFE
-20D0 20D1 # [2]
-20D4 20D7 # [4]
-20DB 20DC # [2]
+20D0 20D1
+20D4 20D7
+20DB 20DC
20E1
20E7
20E9
20F0
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
+2CEF 2CF1
+2DE0 2DFF
A66F
-A67C A67D # [2]
-A6F0 A6F1 # [2]
-A8E0 A8F1 # [18]
+A67C A67D
+A6F0 A6F1
+A8E0 A8F1
AAB0
-AAB2 AAB3 # [2]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB3
+AAB7 AAB8
+AABE AABF
AAC1
-FE20 FE26 # [7]
+FE20 FE26
10A0F
10A38
-1D185 1D189 # [5]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
+1D185 1D189
+1D1AA 1D1AD
+1D242 1D244
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
index e672b88a614..d7b7115952d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Above_Left}
-# \p{Ccc=AL}
-# \p{Is_Canonical_Combining_Class=228}
-# \p{Is_Ccc=Above_Left}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Above_Left}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
05AE
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
index 9866ab30330..93681ea97ec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Above_Right}
-# \p{Ccc=AR}
-# \p{Is_Canonical_Combining_Class=232}
-# \p{Is_Ccc=Above_Right}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Above_Right}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0315
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
index baf17906d62..ed0220e8586 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Attached_Above}
-# \p{Ccc=ATA}
-# \p{Is_Canonical_Combining_Class=214}
-# \p{Is_Ccc=Attached_Above}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Attached_Above}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1DCE
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
index 37d5f55c084..81283dbd914 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
@@ -1,39 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 9 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Attached_Above_Right}
-# \p{Ccc=ATAR}
-# \p{Is_Canonical_Combining_Class=216}
-# \p{Is_Ccc=Attached_Above_Right}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Attached_Above_Right}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
031B
0F39
-1D165 1D166 # [2]
-1D16E 1D172 # [5]
+1D165 1D166
+1D16E 1D172
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
index eb215065294..b3f9925d81a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Attached_Below}
-# \p{Ccc=ATB}
-# \p{Is_Canonical_Combining_Class=202}
-# \p{Is_Ccc=Attached_Below}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Attached_Below}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0321 0322 # [2]
-0327 0328 # [2]
+0321 0322
+0327 0328
1DD0
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl
index f3b21469f05..70006a19211 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl
@@ -1,43 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 0 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Attached_Below_Left}
-# \p{Ccc=ATBL}
-# \p{Is_Canonical_Combining_Class=200}
-# \p{Is_Ccc=Attached_Below_Left}
-#
-# \p{Joining_Type=Left_Joining}
-# \p{Jt=L}
-# \p{Is_Joining_Type=Left_Joining}
-# \p{Is_Jt=L}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Jt: Left_Joining}
-# is also valid.
return <<'END';
!utf8::IsAny
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
index 81e755cd57d..3f2b1771681 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
@@ -1,69 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 117 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Below}
-# \p{Ccc=B}
-# \p{Is_Canonical_Combining_Class=220}
-# \p{Is_Ccc=Below}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Below}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0316 0319 # [4]
-031C 0320 # [5]
-0323 0326 # [4]
-0329 0333 # [11]
-0339 033C # [4]
-0347 0349 # [3]
-034D 034E # [2]
-0353 0356 # [4]
-0359 035A # [2]
+0316 0319
+031C 0320
+0323 0326
+0329 0333
+0339 033C
+0347 0349
+034D 034E
+0353 0356
+0359 035A
0591
0596
059B
-05A2 05A7 # [6]
+05A2 05A7
05AA
05C5
-0655 0656 # [2]
+0655 0656
065C
+065F
06E3
06EA
06ED
0731
0734
-0737 0739 # [3]
-073B 073C # [2]
+0737 0739
+073B 073C
073E
0742
0744
0746
0748
07F2
+0859 085B
0952
-0F18 0F19 # [2]
+0F18 0F19
0F35
0F37
0FC6
@@ -72,8 +51,8 @@ return <<'END';
1A18
1A7F
1B6C
-1CD5 1CD9 # [5]
-1CDC 1CDF # [4]
+1CD5 1CD9
+1CDC 1CDF
1CED
1DC2
1DCA
@@ -81,12 +60,12 @@ return <<'END';
1DFD
1DFF
20E8
-20EC 20EF # [4]
-A92B A92D # [3]
+20EC 20EF
+A92B A92D
AAB4
101FD
10A0D
10A3A
-1D17B 1D182 # [8]
-1D18A 1D18B # [2]
+1D17B 1D182
+1D18A 1D18B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
index 8f220c9d2bf..ff579d22976 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Below_Left}
-# \p{Ccc=BL}
-# \p{Is_Canonical_Combining_Class=218}
-# \p{Is_Ccc=Below_Left}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Below_Left}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
302A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
index 04ca62dfcf3..a0f52cdf235 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Below_Right}
-# \p{Ccc=BR}
-# \p{Is_Canonical_Combining_Class=222}
-# \p{Is_Ccc=Below_Right}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Below_Right}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
059A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
index 5e759e3f6a9..c85cb6d74b3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Double_Above}
-# \p{Ccc=DA}
-# \p{Is_Canonical_Combining_Class=234}
-# \p{Is_Ccc=Double_Above}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Double_Above}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-035D 035E # [2]
-0360 0361 # [2]
+035D 035E
+0360 0361
1DCD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
index b5e4b3f4959..d67324d903d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
@@ -1,38 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Double_Below}
-# \p{Ccc=DB}
-# \p{Is_Canonical_Combining_Class=233}
-# \p{Is_Ccc=Double_Below}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Double_Below}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
035C
035F
0362
+1DFC
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
index a6c82d5cc67..fab12371195 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Iota_Subscript}
-# \p{Ccc=IS}
-# \p{Is_Canonical_Combining_Class=240}
-# \p{Is_Ccc=Iota_Subscript}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Iota_Subscript}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0345
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
index e859cb506a6..9884fc9b9fa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Kana_Voicing}
-# \p{Ccc=KV}
-# \p{Is_Canonical_Combining_Class=8}
-# \p{Is_Ccc=Kana_Voicing}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Kana_Voicing}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3099 309A # [2]
+3099 309A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
index 689902864f4..56bbe7d96b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Left}
-# \p{Ccc=L}
-# \p{Is_Canonical_Combining_Class=224}
-# \p{Is_Ccc=Left}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Left}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-302E 302F # [2]
+302E 302F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
index 4cb9cf885cf..1e2c13f94f8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 11 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Nukta}
-# \p{Ccc=NK}
-# \p{Is_Canonical_Combining_Class=7}
-# \p{Is_Ccc=Nukta}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Nukta}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
093C
@@ -40,6 +17,7 @@ return <<'END';
0CBC
1037
1B34
+1BE6
1C37
A9B3
110BA
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
index 22b2f392c24..2b999ea2796 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
@@ -1,153 +1,135 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_518 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Not_Reordered}
-# \p{Ccc=NR}
-# \p{Is_Canonical_Combining_Class=0}
-# \p{Is_Ccc=Not_Reordered}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Not_Reordered}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 02FF # [768]
+0000 02FF
034F
-0370 0482 # [275]
-0488 0590 # [265]
+0370 0482
+0488 0590
05BE
05C0
05C3
05C6
-05C8 060F # [72]
-061B 064A # [48]
-065F 066F # [17]
-0671 06D5 # [101]
-06DD 06DE # [2]
-06E5 06E6 # [2]
+05C8 060F
+061B 064A
+0660 066F
+0671 06D5
+06DD 06DE
+06E5 06E6
06E9
-06EE 0710 # [35]
-0712 072F # [30]
-074B 07EA # [160]
-07F4 0815 # [34]
+06EE 0710
+0712 072F
+074B 07EA
+07F4 0815
081A
0824
0828
-082E 093B # [270]
-093D 094C # [16]
-094E 0950 # [3]
-0955 09BB # [103]
-09BD 09CC # [16]
-09CE 0A3B # [110]
-0A3D 0A4C # [16]
-0A4E 0ABB # [110]
-0ABD 0ACC # [16]
-0ACE 0B3B # [110]
-0B3D 0B4C # [16]
-0B4E 0BCC # [127]
-0BCE 0C4C # [127]
-0C4E 0C54 # [7]
-0C57 0CBB # [101]
-0CBD 0CCC # [16]
-0CCE 0D4C # [127]
-0D4E 0DC9 # [124]
-0DCB 0E37 # [109]
-0E3B 0E47 # [13]
-0E4C 0EB7 # [108]
-0EBA 0EC7 # [14]
-0ECC 0F17 # [76]
-0F1A 0F34 # [27]
+082E 0858
+085C 093B
+093D 094C
+094E 0950
+0955 09BB
+09BD 09CC
+09CE 0A3B
+0A3D 0A4C
+0A4E 0ABB
+0ABD 0ACC
+0ACE 0B3B
+0B3D 0B4C
+0B4E 0BCC
+0BCE 0C4C
+0C4E 0C54
+0C57 0CBB
+0CBD 0CCC
+0CCE 0D4C
+0D4E 0DC9
+0DCB 0E37
+0E3B 0E47
+0E4C 0EB7
+0EBA 0EC7
+0ECC 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F70 # [55]
+0F3A 0F70
0F73
-0F75 0F79 # [5]
-0F7E 0F7F # [2]
+0F75 0F79
+0F7E 0F7F
0F81
0F85
-0F88 0FC5 # [62]
-0FC7 1036 # [112]
+0F88 0FC5
+0FC7 1036
1038
-103B 108C # [82]
-108E 135E # [721]
-1360 1713 # [948]
-1715 1733 # [31]
-1735 17D1 # [157]
-17D3 17DC # [10]
-17DE 18A8 # [203]
-18AA 1938 # [143]
-193C 1A16 # [219]
-1A19 1A5F # [71]
-1A61 1A74 # [20]
-1A7D 1A7E # [2]
-1A80 1B33 # [180]
-1B35 1B43 # [15]
-1B45 1B6A # [38]
-1B74 1BA9 # [54]
-1BAB 1C36 # [140]
-1C38 1CCF # [152]
+103B 108C
+108E 135C
+1360 1713
+1715 1733
+1735 17D1
+17D3 17DC
+17DE 18A8
+18AA 1938
+193C 1A16
+1A19 1A5F
+1A61 1A74
+1A7D 1A7E
+1A80 1B33
+1B35 1B43
+1B45 1B6A
+1B74 1BA9
+1BAB 1BE5
+1BE7 1BF1
+1BF4 1C36
+1C38 1CCF
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1DBF # [210]
-1DE7 1DFC # [22]
-1E00 20CF # [720]
-20DD 20E0 # [4]
-20E2 20E4 # [3]
-20F1 2CEE # [3070]
-2CF2 2DDF # [238]
-2E00 3029 # [554]
-3030 3098 # [105]
-309B A66E # [30_164]
-A670 A67B # [12]
-A67E A6EF # [114]
-A6F2 A805 # [276]
-A807 A8C3 # [189]
-A8C5 A8DF # [27]
-A8F2 A92A # [57]
-A92E A952 # [37]
-A954 A9B2 # [95]
-A9B4 A9BF # [12]
-A9C1 AAAF # [239]
+1CE9 1CEC
+1CEE 1DBF
+1DE7 1DFB
+1E00 20CF
+20DD 20E0
+20E2 20E4
+20F1 2CEE
+2CF2 2D7E
+2D80 2DDF
+2E00 3029
+3030 3098
+309B A66E
+A670 A67B
+A67E A6EF
+A6F2 A805
+A807 A8C3
+A8C5 A8DF
+A8F2 A92A
+A92E A952
+A954 A9B2
+A9B4 A9BF
+A9C1 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 ABEC # [299]
-ABEE FB1D # [20_272]
-FB1F FE1F # [769]
-FE27 101FC # [982]
-101FE 10A0C # [2063]
+AAC2 ABEC
+ABEE FB1D
+FB1F FE1F
+FE27 101FC
+101FE 10A0C
10A0E
-10A10 10A37 # [40]
-10A3B 10A3E # [4]
-10A40 110B8 # [1657]
-110BB 1D164 # [49_322]
-1D16A 1D16C # [3]
-1D173 1D17A # [8]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 10FFFF # [994_747]
+10A10 10A37
+10A3B 10A3E
+10A40 11045
+11047 110B8
+110BB 1D164
+1D16A 1D16C
+1D173 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
index e11457a6ede..0482c44879d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
@@ -1,44 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 26 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Overlay}
-# \p{Ccc=OV}
-# \p{Is_Canonical_Combining_Class=1}
-# \p{Is_Ccc=Overlay}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Overlay}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0334 0338 # [5]
+0334 0338
1CD4
-1CE2 1CE8 # [7]
-20D2 20D3 # [2]
-20D8 20DA # [3]
-20E5 20E6 # [2]
-20EA 20EB # [2]
+1CE2 1CE8
+20D2 20D3
+20D8 20DA
+20E5 20E6
+20EA 20EB
10A39
-1D167 1D169 # [3]
+1D167 1D169
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
index f65373a454e..63a7a98b27a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Right}
-# \p{Ccc=R}
-# \p{Is_Canonical_Combining_Class=226}
-# \p{Is_Ccc=Right}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Right}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1D16D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
index b5202eec6ee..9f945f1503d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 27 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Canonical_Combining_Class=Virama}
-# \p{Ccc=VR}
-# \p{Is_Canonical_Combining_Class=9}
-# \p{Is_Ccc=Virama}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ccc: Virama}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
094D
@@ -44,18 +21,21 @@ return <<'END';
0DCA
0E3A
0F84
-1039 103A # [2]
+1039 103A
1714
1734
17D2
1A60
1B44
1BAA
+1BF2 1BF3
+2D7F
A806
A8C4
A953
A9C0
ABED
10A3F
+11046
110B9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl
index f8cf232933e..c152f3ac0c4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl
@@ -1,115 +1,87 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_994 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Full_Composition_Exclusion=No}
-# \p{Comp_Ex=N}
-# \p{Is_Full_Composition_Exclusion=F}
-# \p{Is_Comp_Ex=False}
-#
-# \P{Full_Composition_Exclusion}
-# \P{Is_Full_Composition_Exclusion}
-# \P{Comp_Ex}
-# \P{Is_Comp_Ex}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Comp_Ex: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 033F # [832]
+0000 033F
0342
-0345 0373 # [47]
-0375 037D # [9]
-037F 0386 # [8]
-0388 0957 # [1488]
-0960 09DB # [124]
+0345 0373
+0375 037D
+037F 0386
+0388 0957
+0960 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B5B # [253]
-0B5E 0F42 # [997]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F72 # [9]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B5B
+0B5E 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F72
0F74
0F77
-0F79 0F80 # [8]
-0F82 0F92 # [17]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 1F70 # [4023]
+0F79 0F80
+0F82 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 1F70
1F72
1F74
1F76
1F78
1F7A
1F7C
-1F7E 1FBA # [61]
-1FBC 1FBD # [2]
-1FBF 1FC8 # [10]
+1F7E 1FBA
+1FBC 1FBD
+1FBF 1FC8
1FCA
-1FCC 1FD2 # [7]
-1FD4 1FDA # [7]
-1FDC 1FE2 # [7]
-1FE4 1FEA # [7]
-1FEC 1FED # [2]
-1FF0 1FF8 # [9]
+1FCC 1FD2
+1FD4 1FDA
+1FDC 1FE2
+1FE4 1FEA
+1FEC 1FED
+1FF0 1FF8
1FFA
1FFC
-1FFE 1FFF # [2]
-2002 2125 # [292]
-2127 2129 # [3]
-212C 2328 # [509]
-232B 2ADB # [1969]
-2ADD F8FF # [52_771]
-FA0E FA0F # [2]
+1FFE 1FFF
+2002 2125
+2127 2129
+212C 2328
+232B 2ADB
+2ADD F8FF
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FB1C # [67]
+FA23 FA24
+FA27 FA29
+FA2E FA2F
+FA6E FA6F
+FADA FB1C
FB1E
-FB20 FB29 # [10]
+FB20 FB29
FB37
FB3D
FB3F
FB42
FB45
-FB4F 1D15D # [54_799]
-1D165 1D1BA # [86]
-1D1C1 2F7FF # [75_327]
-2FA1E 10FFFF # [919_010]
+FB4F 1D15D
+1D165 1D1BA
+1D1C1 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
index 91d61966dea..d61040c79da 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
@@ -1,72 +1,27 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 1118 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Full_Composition_Exclusion=Yes}
-# \p{Comp_Ex=Y}
-# \p{Is_Full_Composition_Exclusion=T}
-# \p{Is_Comp_Ex=True}
-#
-# \p{Full_Composition_Exclusion}
-# \p{Is_Full_Composition_Exclusion}
-# \p{Comp_Ex}
-# \p{Is_Comp_Ex}
-#
-# \p{NFC_Quick_Check=No}
-# \p{NFC_QC=N}
-# \p{Is_NFC_Quick_Check=No}
-# \p{Is_NFC_QC=N}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \P{NFC_Quick_Check}, \P{NFC_QC}, \P{Is_NFC_Quick_Check},
-# \P{Is_NFC_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_NFC_QC: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0340 0341 # [2]
-0343 0344 # [2]
+0340 0341
+0343 0344
0374
037E
0387
-0958 095F # [8]
-09DC 09DD # [2]
+0958 095F
+09DC 09DD
09DF
0A33
0A36
-0A59 0A5B # [3]
+0A59 0A5B
0A5E
-0B5C 0B5D # [2]
+0B5C 0B5D
0F43
0F4D
0F52
@@ -74,7 +29,7 @@ return <<'END';
0F5C
0F69
0F73
-0F75 0F76 # [2]
+0F75 0F76
0F78
0F81
0F93
@@ -98,34 +53,34 @@ return <<'END';
1FDB
1FE3
1FEB
-1FEE 1FEF # [2]
+1FEE 1FEF
1FF9
1FFB
1FFD
-2000 2001 # [2]
+2000 2001
2126
-212A 212B # [2]
-2329 232A # [2]
+212A 212B
+2329 232A
2ADC
-F900 FA0D # [270]
+F900 FA0D
FA10
FA12
-FA15 FA1E # [10]
+FA15 FA1E
FA20
FA22
-FA25 FA26 # [2]
-FA2A FA2D # [4]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
+FA25 FA26
+FA2A FA2D
+FA30 FA6D
+FA70 FAD9
FB1D
FB1F
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FB4E # [9]
-1D15E 1D164 # [7]
-1D1BB 1D1C0 # [6]
-2F800 2FA1D # [542]
+FB40 FB41
+FB43 FB44
+FB46 FB4E
+1D15E 1D164
+1D1BB 1D1C0
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl
index 97e4f3f72e1..fd091a8479b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl
@@ -1,56 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_109_945 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Default_Ignorable_Code_Point=No}
-# \p{DI=N}
-# \p{Is_Default_Ignorable_Code_Point=F}
-# \p{Is_DI=False}
-#
-# \P{Default_Ignorable_Code_Point}
-# \P{Is_Default_Ignorable_Code_Point}
-# \P{DI}
-# \P{Is_DI}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_DI: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 00AC # [173]
-00AE 034E # [673]
-0350 115E # [3599]
-1161 17B3 # [1619]
-17B6 180A # [85]
-180E 200A # [2045]
-2010 2029 # [26]
-202F 205F # [49]
-2070 3163 # [4340]
-3165 FDFF # [52_379]
-FE10 FEFE # [239]
-FF00 FF9F # [160]
-FFA1 FFEF # [79]
-FFF9 1D172 # [53_626]
-1D17B DFFFF # [798_341]
-E1000 10FFFF # [192_512]
+0000 00AC
+00AE 034E
+0350 115E
+1161 17B3
+17B6 180A
+180E 200A
+2010 2029
+202F 205F
+2070 3163
+3165 FDFF
+FE10 FEFE
+FF00 FF9F
+FFA1 FFEF
+FFF9 1D172
+1D17B DFFFF
+E1000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
index 8f7048f737a..158b7f30630 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
@@ -1,55 +1,27 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4167 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Default_Ignorable_Code_Point=Yes}
-# \p{DI=Y}
-# \p{Is_Default_Ignorable_Code_Point=T}
-# \p{Is_DI=True}
-#
-# \p{Default_Ignorable_Code_Point}
-# \p{Is_Default_Ignorable_Code_Point}
-# \p{DI}
-# \p{Is_DI}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_DI: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AD
034F
-115F 1160 # [2]
-17B4 17B5 # [2]
-180B 180D # [3]
-200B 200F # [5]
-202A 202E # [5]
-2060 206F # [16]
+115F 1160
+17B4 17B5
+180B 180D
+200B 200F
+202A 202E
+2060 206F
3164
-FE00 FE0F # [16]
+FE00 FE0F
FEFF
FFA0
-FFF0 FFF8 # [9]
-1D173 1D17A # [8]
-E0000 E0FFF # [4096]
+FFF0 FFF8
+1D173 1D17A
+E0000 E0FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl
index efbb3397ff1..cf32f8698fe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl
@@ -1,58 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_087 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Dash=No}
-# \p{Is_Dash=N}
-# \p{Dash=F}
-# \p{Is_Dash=False}
-#
-# \P{Dash}
-# \P{Is_Dash}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dash: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002C # [45]
-002E 0589 # [1372]
-058B 05BD # [51]
-05BF 13FF # [3649]
-1401 1805 # [1029]
-1807 200F # [2057]
-2016 2052 # [61]
-2054 207A # [39]
-207C 208A # [15]
-208C 2211 # [390]
-2213 2E16 # [3076]
-2E18 2E19 # [2]
-2E1B 301B # [513]
-301D 302F # [19]
-3031 309F # [111]
-30A1 FE30 # [52_624]
-FE33 FE57 # [37]
-FE59 FE62 # [10]
-FE64 FF0C # [169]
-FF0E 10FFFF # [1_048_818]
+0000 002C
+002E 0589
+058B 05BD
+05BF 13FF
+1401 1805
+1807 200F
+2016 2052
+2054 207A
+207C 208A
+208C 2211
+2213 2E16
+2E18 2E19
+2E1B 301B
+301D 302F
+3031 309F
+30A1 FE30
+FE33 FE57
+FE59 FE62
+FE64 FF0C
+FF0E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
index 2588e1ec704..9f9ae68c51c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
@@ -1,38 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 25 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Dash=Yes}
-# \p{Is_Dash=Y}
-# \p{Dash=T}
-# \p{Is_Dash=True}
-#
-# \p{Dash}
-# \p{Is_Dash}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dash: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002D
@@ -40,7 +14,7 @@ return <<'END';
05BE
1400
1806
-2010 2015 # [6]
+2010 2015
2053
207B
208B
@@ -50,7 +24,7 @@ return <<'END';
301C
3030
30A0
-FE31 FE32 # [2]
+FE31 FE32
FE58
FE63
FF0D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl
index 619e738e6c2..b1b2dee78e0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl
@@ -1,49 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_002 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Deprecated=No}
-# \p{Dep=N}
-# \p{Is_Deprecated=F}
-# \p{Is_Dep=False}
-#
-# \P{Deprecated}
-# \P{Is_Deprecated}
-# \P{Dep}
-# \P{Is_Dep}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dep: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0148 # [329]
-014A 0F76 # [3629]
+0000 0148
+014A 0672
+0674 0F76
0F78
-0F7A 17A2 # [2089]
-17A5 2069 # [2245]
-2070 2328 # [697]
-232B E0000 # [908_502]
-E0002 E001F # [30]
-E0080 10FFFF # [196_480]
+0F7A 17A2
+17A5 2069
+2070 2328
+232B E0000
+E0002 E001F
+E0080 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
index ca60fb62902..a472e0bb727 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
@@ -1,48 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 110 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Deprecated=Yes}
-# \p{Dep=Y}
-# \p{Is_Deprecated=T}
-# \p{Is_Dep=True}
-#
-# \p{Deprecated}
-# \p{Is_Deprecated}
-# \p{Dep}
-# \p{Is_Dep}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dep: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0149
+0673
0F77
0F79
-17A3 17A4 # [2]
-206A 206F # [6]
-2329 232A # [2]
+17A3 17A4
+206A 206F
+2329 232A
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl
index 480a7794417..94a80305ede 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl
@@ -1,158 +1,130 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_473 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Diacritic=No}
-# \p{Dia=N}
-# \p{Is_Diacritic=F}
-# \p{Is_Dia=False}
-#
-# \P{Diacritic}
-# \P{Is_Diacritic}
-# \P{Dia}
-# \P{Is_Dia}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dia: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 005D # [94]
+0000 005D
005F
-0061 00A7 # [71]
-00A9 00AE # [6]
-00B0 00B3 # [4]
-00B5 00B6 # [2]
-00B9 02AF # [503]
+0061 00A7
+00A9 00AE
+00B0 00B3
+00B5 00B6
+00B9 02AF
034F
-0358 035C # [5]
-0363 0373 # [17]
-0376 0379 # [4]
-037B 0383 # [9]
-0386 0482 # [253]
-0488 0558 # [209]
-055A 0590 # [55]
+0358 035C
+0363 0373
+0376 0379
+037B 0383
+0386 0482
+0488 0558
+055A 0590
05A2
05BE
05C0
05C3
-05C5 064A # [134]
-0653 0656 # [4]
-0659 06DE # [134]
-06E1 06E4 # [4]
-06E7 06E9 # [3]
-06ED 072F # [67]
-074B 07A5 # [91]
-07B1 07EA # [58]
-07F6 0817 # [34]
-081A 093B # [290]
-093D 094C # [16]
-094E 0950 # [3]
-0955 0970 # [28]
-0972 09BB # [74]
-09BD 09CC # [16]
-09CE 0A3B # [110]
-0A3D 0A4C # [16]
-0A4E 0ABB # [110]
-0ABD 0ACC # [16]
-0ACE 0B3B # [110]
-0B3D 0B4C # [16]
-0B4E 0BCC # [127]
-0BCE 0C4C # [127]
-0C4E 0CBB # [110]
-0CBD 0CCC # [16]
-0CCE 0D4C # [127]
-0D4E 0DC9 # [124]
-0DCB 0E46 # [124]
+05C5 064A
+0653 0656
+0659 06DE
+06E1 06E4
+06E7 06E9
+06ED 072F
+074B 07A5
+07B1 07EA
+07F6 0817
+081A 093B
+093D 094C
+094E 0950
+0955 0970
+0972 09BB
+09BD 09CC
+09CE 0A3B
+0A3D 0A4C
+0A4E 0ABB
+0ABD 0ACC
+0ACE 0B3B
+0B3D 0B4C
+0B4E 0BCC
+0BCE 0C4C
+0C4E 0CBB
+0CBD 0CCC
+0CCE 0D4C
+0D4E 0DC9
+0DCB 0E46
0E4D
-0E4F 0EC7 # [121]
-0ECD 0F17 # [75]
-0F1A 0F34 # [27]
+0E4F 0EC7
+0ECD 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F3D # [4]
-0F40 0F81 # [66]
+0F3A 0F3D
+0F40 0F81
0F85
-0F88 0FC5 # [62]
-0FC7 1036 # [112]
+0F88 0FC5
+0FC7 1036
1038
-103B 1086 # [76]
+103B 1086
108E
-1090 1099 # [10]
-109C 17C8 # [1837]
-17D4 17DC # [9]
-17DE 1938 # [347]
-193C 1A74 # [313]
-1A7D 1A7E # [2]
-1A80 1B33 # [180]
-1B35 1B43 # [15]
-1B45 1B6A # [38]
-1B74 1BA9 # [54]
-1BAB 1C35 # [139]
-1C38 1C77 # [64]
-1C7E 1CCF # [82]
-1CE9 1CEC # [4]
-1CEE 1D2B # [62]
-1D6B 1DC3 # [89]
-1DD0 1DFC # [45]
-1E00 1FBC # [445]
+1090 1099
+109C 17C8
+17D4 17DC
+17DE 1938
+193C 1A74
+1A7D 1A7E
+1A80 1B33
+1B35 1B43
+1B45 1B6A
+1B74 1BA9
+1BAB 1C35
+1C38 1C77
+1C7E 1CCF
+1CE9 1CEC
+1CEE 1D2B
+1D6B 1DC3
+1DD0 1DFC
+1E00 1FBC
1FBE
-1FC2 1FCC # [11]
-1FD0 1FDC # [13]
-1FE0 1FEC # [13]
-1FF0 1FFC # [13]
-1FFF 2CEE # [3312]
-2CF2 2E2E # [317]
-2E30 3029 # [506]
-3030 3098 # [105]
-309D 30FB # [95]
-30FD A66E # [30_066]
-A670 A67B # [12]
+1FC2 1FCC
+1FD0 1FDC
+1FE0 1FEC
+1FF0 1FFC
+1FFF 2CEE
+2CF2 2E2E
+2E30 3029
+3030 3098
+309D 30FB
+30FD A66E
+A670 A67B
A67E
-A680 A6EF # [112]
-A6F2 A716 # [37]
-A722 A787 # [102]
-A789 A8C3 # [315]
-A8C5 A8DF # [27]
-A8F2 A92A # [57]
-A92F A952 # [36]
-A954 A9B2 # [95]
-A9B4 A9BF # [12]
-A9C1 AA7A # [186]
-AA7C AABE # [67]
-AAC3 ABEB # [297]
-ABEE FB1D # [20_272]
-FB1F FE1F # [769]
-FE27 FF3D # [279]
+A680 A6EF
+A6F2 A716
+A722 A787
+A789 A8C3
+A8C5 A8DF
+A8F2 A92A
+A92F A952
+A954 A9B2
+A9B4 A9BF
+A9C1 AA7A
+AA7C AABE
+AAC3 ABEB
+ABEE FB1D
+FB1F FE1F
+FE27 FF3D
FF3F
-FF41 FF6F # [47]
-FF71 FF9D # [45]
-FFA0 FFE2 # [67]
-FFE4 110B8 # [4309]
-110BB 1D166 # [49_324]
-1D16A 1D16C # [3]
-1D173 1D17A # [8]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 10FFFF # [994_898]
+FF41 FF6F
+FF71 FF9D
+FFA0 FFE2
+FFE4 110B8
+110BB 1D166
+1D16A 1D16C
+1D173 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
index 9af64ab3bb5..aff05533632 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
@@ -1,40 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 639 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Diacritic=Yes}
-# \p{Dia=Y}
-# \p{Is_Diacritic=T}
-# \p{Is_Dia=True}
-#
-# \p{Diacritic}
-# \p{Is_Diacritic}
-# \p{Dia}
-# \p{Is_Dia}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dia: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
005E
@@ -42,32 +14,32 @@ return <<'END';
00A8
00AF
00B4
-00B7 00B8 # [2]
-02B0 034E # [159]
-0350 0357 # [8]
-035D 0362 # [6]
-0374 0375 # [2]
+00B7 00B8
+02B0 034E
+0350 0357
+035D 0362
+0374 0375
037A
-0384 0385 # [2]
-0483 0487 # [5]
+0384 0385
+0483 0487
0559
-0591 05A1 # [17]
-05A3 05BD # [27]
+0591 05A1
+05A3 05BD
05BF
-05C1 05C2 # [2]
+05C1 05C2
05C4
-064B 0652 # [8]
-0657 0658 # [2]
-06DF 06E0 # [2]
-06E5 06E6 # [2]
-06EA 06EC # [3]
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F5 # [11]
-0818 0819 # [2]
+064B 0652
+0657 0658
+06DF 06E0
+06E5 06E6
+06EA 06EC
+0730 074A
+07A6 07B0
+07EB 07F5
+0818 0819
093C
094D
-0951 0954 # [4]
+0951 0954
0971
09BC
09CD
@@ -83,75 +55,75 @@ return <<'END';
0CCD
0D4D
0DCA
-0E47 0E4C # [6]
+0E47 0E4C
0E4E
-0EC8 0ECC # [5]
-0F18 0F19 # [2]
+0EC8 0ECC
+0F18 0F19
0F35
0F37
0F39
-0F3E 0F3F # [2]
-0F82 0F84 # [3]
-0F86 0F87 # [2]
+0F3E 0F3F
+0F82 0F84
+0F86 0F87
0FC6
1037
-1039 103A # [2]
-1087 108D # [7]
+1039 103A
+1087 108D
108F
-109A 109B # [2]
-17C9 17D3 # [11]
+109A 109B
+17C9 17D3
17DD
-1939 193B # [3]
-1A75 1A7C # [8]
+1939 193B
+1A75 1A7C
1A7F
1B34
1B44
-1B6B 1B73 # [9]
+1B6B 1B73
1BAA
-1C36 1C37 # [2]
-1C78 1C7D # [6]
-1CD0 1CE8 # [25]
+1C36 1C37
+1C78 1C7D
+1CD0 1CE8
1CED
-1D2C 1D6A # [63]
-1DC4 1DCF # [12]
-1DFD 1DFF # [3]
+1D2C 1D6A
+1DC4 1DCF
+1DFD 1DFF
1FBD
-1FBF 1FC1 # [3]
-1FCD 1FCF # [3]
-1FDD 1FDF # [3]
-1FED 1FEF # [3]
-1FFD 1FFE # [2]
-2CEF 2CF1 # [3]
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+2CEF 2CF1
2E2F
-302A 302F # [6]
-3099 309C # [4]
+302A 302F
+3099 309C
30FC
A66F
-A67C A67D # [2]
+A67C A67D
A67F
-A6F0 A6F1 # [2]
-A717 A721 # [11]
+A6F0 A6F1
+A717 A721
A788
A8C4
-A8E0 A8F1 # [18]
-A92B A92E # [4]
+A8E0 A8F1
+A92B A92E
A953
A9B3
A9C0
AA7B
-AABF AAC2 # [4]
-ABEC ABED # [2]
+AABF AAC2
+ABEC ABED
FB1E
-FE20 FE26 # [7]
+FE20 FE26
FF3E
FF40
FF70
-FF9E FF9F # [2]
+FF9E FF9F
FFE3
-110B9 110BA # [2]
-1D167 1D169 # [3]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
+110B9 110BA
+1D167 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
index 7b87f853869..b0da90f3000 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
@@ -1,109 +1,86 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 720 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Compat}
-# \p{Dt=Com}
-# \p{Is_Decomposition_Type=Compat}
-# \p{Is_Dt=Com}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Compat}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A8
00AF
-00B4 00B5 # [2]
+00B4 00B5
00B8
-0132 0133 # [2]
-013F 0140 # [2]
+0132 0133
+013F 0140
0149
017F
-01C4 01CC # [9]
-01F1 01F3 # [3]
-02D8 02DD # [6]
+01C4 01CC
+01F1 01F3
+02D8 02DD
037A
0384
-03D0 03D2 # [3]
-03D5 03D6 # [2]
-03F0 03F2 # [3]
-03F4 03F5 # [2]
+03D0 03D2
+03D5 03D6
+03F0 03F2
+03F4 03F5
03F9
0587
-0675 0678 # [4]
+0675 0678
0E33
0EB3
-0EDC 0EDD # [2]
+0EDC 0EDD
0F77
0F79
1E9A
1FBD
-1FBF 1FC0 # [2]
+1FBF 1FC0
1FFE
-2002 2006 # [5]
-2008 200A # [3]
+2002 2006
+2008 200A
2017
-2024 2026 # [3]
-2033 2034 # [2]
-2036 2037 # [2]
+2024 2026
+2033 2034
+2036 2037
203C
203E
-2047 2049 # [3]
+2047 2049
2057
205F
20A8
-2100 2101 # [2]
+2100 2101
2103
-2105 2107 # [3]
+2105 2107
2109
2116
2121
-2135 2138 # [4]
+2135 2138
213B
-2160 217F # [32]
-222C 222D # [2]
-222F 2230 # [2]
-2474 24B5 # [66]
+2160 217F
+222C 222D
+222F 2230
+2474 24B5
2A0C
-2A74 2A76 # [3]
+2A74 2A76
2E9F
2EF3
-2F00 2FD5 # [214]
+2F00 2FD5
3036
-3038 303A # [3]
-309B 309C # [2]
-3131 318E # [94]
-3200 321E # [31]
-3220 3243 # [36]
-32C0 32CB # [12]
-3358 3370 # [25]
-33E0 33FE # [31]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+3038 303A
+309B 309C
+3131 318E
+3200 321E
+3220 3243
+32C0 32CB
+3358 3370
+33E0 33FE
+FB00 FB06
+FB13 FB17
FB4F
-FE49 FE4F # [7]
-1F100 1F10A # [11]
-1F110 1F12A # [27]
-1F240 1F248 # [9]
+FE49 FE4F
+1F100 1F10A
+1F110 1F12A
+1F240 1F248
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
index fe0fd33a953..f3fc5c70178 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
@@ -1,42 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 238 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Circle}
-# \p{Dt=Enc}
-# \p{Is_Decomposition_Type=Circle}
-# \p{Is_Dt=Enc}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Circle}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2460 2473 # [20]
-24B6 24EA # [53]
-3244 3247 # [4]
-3251 327E # [46]
-3280 32BF # [64]
-32D0 32FE # [47]
-1F12B 1F12E # [4]
+2460 2473
+24B6 24EA
+3244 3247
+3251 327E
+3280 32BF
+32D0 32FE
+1F12B 1F12E
+1F250 1F251
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
index 2c2dddd4d0d..224e2a09e6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 240 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Final}
-# \p{Dt=Fin}
-# \p{Is_Decomposition_Type=Final}
-# \p{Is_Dt=Fin}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Final}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
FB51
@@ -79,33 +56,33 @@ FBF5
FBF7
FBFA
FBFD
-FC64 FC96 # [51]
-FD11 FD2C # [28]
+FC64 FC96
+FD11 FD2C
FD3C
FD51
FD58
-FD5A FD5B # [2]
-FD5E FD5F # [2]
+FD5A FD5B
+FD5E FD5F
FD62
FD64
-FD66 FD67 # [2]
-FD69 FD6A # [2]
+FD66 FD67
+FD69 FD6A
FD6C
-FD6E FD6F # [2]
+FD6E FD6F
FD71
-FD74 FD76 # [3]
-FD78 FD7C # [5]
-FD7E FD82 # [5]
-FD84 FD85 # [2]
+FD74 FD76
+FD78 FD7C
+FD7E FD82
+FD84 FD85
FD87
FD8B
-FD96 FD97 # [2]
-FD99 FD9C # [4]
-FD9E FDB3 # [22]
-FDB6 FDB7 # [2]
+FD96 FD97
+FD99 FD9C
+FD9E FDB3
+FDB6 FDB7
FDB9
-FDBB FDC2 # [8]
-FDC6 FDC7 # [2]
+FDBB FDC2
+FDC6 FDC7
FE82
FE84
FE86
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
index d8c614f485a..23e9a956073 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
@@ -1,69 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1043 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Font}
-# \p{Dt=Font}
-# \p{Is_Decomposition_Type=Font}
-# \p{Is_Dt=Font}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Font}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2102
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2128
-212C 212D # [2]
-212F 2131 # [3]
-2133 2134 # [2]
+212C 212D
+212F 2131
+2133 2134
2139
-213C 2140 # [5]
-2145 2149 # [5]
-FB20 FB29 # [10]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+213C 2140
+2145 2149
+FB20 FB29
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
index 34e112baac7..851bcd287be 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 20 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Fraction}
-# \p{Dt=Fra}
-# \p{Is_Decomposition_Type=Fraction}
-# \p{Is_Dt=Fra}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Fraction}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00BC 00BE # [3]
-2150 215F # [16]
+00BC 00BE
+2150 215F
2189
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
index a9622fdb4df..db63f5a3ef2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 171 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Initial}
-# \p{Dt=Init}
-# \p{Is_Decomposition_Type=Initial}
-# \p{Is_Dt=Init}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Initial}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
FB54
@@ -57,33 +34,33 @@ FBE8
FBF8
FBFB
FBFE
-FC97 FCDE # [72]
-FD2D FD33 # [7]
+FC97 FCDE
+FD2D FD33
FD50
-FD52 FD57 # [6]
+FD52 FD57
FD59
-FD5C FD5D # [2]
-FD60 FD61 # [2]
+FD5C FD5D
+FD60 FD61
FD63
FD65
FD68
FD6B
FD6D
FD70
-FD72 FD73 # [2]
+FD72 FD73
FD77
FD7D
FD83
FD86
-FD88 FD8A # [3]
-FD8C FD8F # [4]
-FD92 FD95 # [4]
+FD88 FD8A
+FD8C FD8F
+FD92 FD95
FD98
FD9D
-FDB4 FDB5 # [2]
+FDB4 FDB5
FDB8
FDBA
-FDC3 FDC5 # [3]
+FDC3 FDC5
FE8B
FE91
FE97
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
index 3b3a0baf86d..c8fdddc6810 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 238 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Isolated}
-# \p{Dt=Iso}
-# \p{Is_Decomposition_Type=Isolated}
-# \p{Is_Dt=Iso}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Isolated}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
FB50
@@ -66,7 +43,7 @@ FBD3
FBD7
FBD9
FBDB
-FBDD FBDE # [2]
+FBDD FBDE
FBE0
FBE2
FBE4
@@ -79,10 +56,10 @@ FBF4
FBF6
FBF9
FBFC
-FC00 FC63 # [100]
-FCF5 FD10 # [28]
+FC00 FC63
+FCF5 FD10
FD3D
-FDF0 FDFC # [13]
+FDF0 FDFC
FE70
FE72
FE74
@@ -91,7 +68,7 @@ FE78
FE7A
FE7C
FE7E
-FE80 FE81 # [2]
+FE80 FE81
FE83
FE85
FE87
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
index fdac2d3f290..76cf227cf84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 82 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Medial}
-# \p{Dt=Med}
-# \p{Is_Decomposition_Type=Medial}
-# \p{Is_Dt=Med}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Medial}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
FB55
@@ -55,8 +32,8 @@ FBD6
FBE7
FBE9
FBFF
-FCDF FCF4 # [22]
-FD34 FD3B # [8]
+FCDF FCF4
+FD34 FD3B
FE71
FE77
FE79
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
index e834000d9f7..8f27822766b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
@@ -1,41 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 122 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Narrow}
-# \p{Dt=Nar}
-# \p{Is_Decomposition_Type=Narrow}
-# \p{Is_Dt=Nar}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Narrow}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE8 FFEE # [7]
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE8 FFEE
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
index c4ec3059019..c4fc9b96d9c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Nobreak}
-# \p{Dt=Nb}
-# \p{Is_Decomposition_Type=Nobreak}
-# \p{Is_Dt=Nb}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Nobreak}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A0
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
index d409fe1fe83..75a18c7dc46 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
@@ -1,190 +1,161 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3467 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Non_Canonical}
-# \p{Dt=Non_Canon}
-# \p{Is_Decomposition_Type=Non_Canonical}
-# \p{Is_Dt=Non_Canon}
-#
-# Note: Union of all non-canonical decompositions
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Non_Canonical}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A0
00A8
00AA
00AF
-00B2 00B5 # [4]
-00B8 00BA # [3]
-00BC 00BE # [3]
-0132 0133 # [2]
-013F 0140 # [2]
+00B2 00B5
+00B8 00BA
+00BC 00BE
+0132 0133
+013F 0140
0149
017F
-01C4 01CC # [9]
-01F1 01F3 # [3]
-02B0 02B8 # [9]
-02D8 02DD # [6]
-02E0 02E4 # [5]
+01C4 01CC
+01F1 01F3
+02B0 02B8
+02D8 02DD
+02E0 02E4
037A
0384
-03D0 03D2 # [3]
-03D5 03D6 # [2]
-03F0 03F2 # [3]
-03F4 03F5 # [2]
+03D0 03D2
+03D5 03D6
+03F0 03F2
+03F4 03F5
03F9
0587
-0675 0678 # [4]
+0675 0678
0E33
0EB3
-0EDC 0EDD # [2]
+0EDC 0EDD
0F0C
0F77
0F79
10FC
-1D2C 1D2E # [3]
-1D30 1D3A # [11]
-1D3C 1D4D # [18]
-1D4F 1D6A # [28]
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D6A
1D78
-1D9B 1DBF # [37]
+1D9B 1DBF
1E9A
1FBD
-1FBF 1FC0 # [2]
+1FBF 1FC0
1FFE
-2002 200A # [9]
+2002 200A
2011
2017
-2024 2026 # [3]
+2024 2026
202F
-2033 2034 # [2]
-2036 2037 # [2]
+2033 2034
+2036 2037
203C
203E
-2047 2049 # [3]
+2047 2049
2057
205F
-2070 2071 # [2]
-2074 208E # [27]
-2090 2094 # [5]
+2070 2071
+2074 208E
+2090 209C
20A8
-2100 2103 # [4]
-2105 2107 # [3]
-2109 2113 # [11]
-2115 2116 # [2]
-2119 211D # [5]
-2120 2122 # [3]
+2100 2103
+2105 2107
+2109 2113
+2115 2116
+2119 211D
+2120 2122
2124
2128
-212C 212D # [2]
-212F 2131 # [3]
-2133 2139 # [7]
-213B 2140 # [6]
-2145 2149 # [5]
-2150 217F # [48]
+212C 212D
+212F 2131
+2133 2139
+213B 2140
+2145 2149
+2150 217F
2189
-222C 222D # [2]
-222F 2230 # [2]
-2460 24EA # [139]
+222C 222D
+222F 2230
+2460 24EA
2A0C
-2A74 2A76 # [3]
-2C7C 2C7D # [2]
+2A74 2A76
+2C7C 2C7D
2D6F
2E9F
2EF3
-2F00 2FD5 # [214]
+2F00 2FD5
3000
3036
-3038 303A # [3]
-309B 309C # [2]
+3038 303A
+309B 309C
309F
30FF
-3131 318E # [94]
-3192 319F # [14]
-3200 321E # [31]
-3220 3247 # [40]
-3250 327E # [47]
-3280 32FE # [127]
-3300 33FF # [256]
+3131 318E
+3192 319F
+3200 321E
+3220 3247
+3250 327E
+3280 32FE
+3300 33FF
A770
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB20 FB29 # [10]
-FB4F FBB1 # [99]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFC # [13]
-FE10 FE19 # [10]
-FE30 FE44 # [21]
-FE47 FE52 # [12]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB00 FB06
+FB13 FB17
+FB20 FB29
+FB4F FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE10 FE19
+FE30 FE44
+FE47 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FE76 FEFC
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F100 1F10A
+1F110 1F12E
+1F130 1F14F
1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
+1F200 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl
index 8ee5ee3c032..cccc65f924b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl
@@ -1,227 +1,187 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 1_097_424 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=None}
-# \p{Dt=None}
-# \p{Is_Decomposition_Type=None}
-# \p{Is_Dt=None}
-#
-# \p{NFKD_Quick_Check=Yes}
-# \p{NFKD_QC=Y}
-# \p{Is_NFKD_Quick_Check=Yes}
-# \p{Is_NFKD_QC=Y}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{NFKD_Quick_Check}, \p{NFKD_QC}, \p{Is_NFKD_Quick_Check},
-# \p{Is_NFKD_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_NFKD_QC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 009F # [160]
-00A1 00A7 # [7]
+0000 009F
+00A1 00A7
00A9
-00AB 00AE # [4]
-00B0 00B1 # [2]
-00B6 00B7 # [2]
+00AB 00AE
+00B0 00B1
+00B6 00B7
00BB
00BF
00C6
00D0
-00D7 00D8 # [2]
-00DE 00DF # [2]
+00D7 00D8
+00DE 00DF
00E6
00F0
-00F7 00F8 # [2]
+00F7 00F8
00FE
-0110 0111 # [2]
-0126 0127 # [2]
+0110 0111
+0126 0127
0131
0138
-0141 0142 # [2]
-014A 014B # [2]
-0152 0153 # [2]
-0166 0167 # [2]
-0180 019F # [32]
-01A2 01AE # [13]
-01B1 01C3 # [19]
+0141 0142
+014A 014B
+0152 0153
+0166 0167
+0180 019F
+01A2 01AE
+01B1 01C3
01DD
-01E4 01E5 # [2]
-01F6 01F7 # [2]
-021C 021D # [2]
-0220 0225 # [6]
-0234 02AF # [124]
-02B9 02D7 # [31]
-02DE 02DF # [2]
-02E5 033F # [91]
+01E4 01E5
+01F6 01F7
+021C 021D
+0220 0225
+0234 02AF
+02B9 02D7
+02DE 02DF
+02E5 033F
0342
-0345 0373 # [47]
-0375 0379 # [5]
-037B 037D # [3]
-037F 0383 # [5]
+0345 0373
+0375 0379
+037B 037D
+037F 0383
038B
038D
-0391 03A9 # [25]
-03B1 03C9 # [25]
+0391 03A9
+03B1 03C9
03CF
-03D7 03EF # [25]
+03D7 03EF
03F3
-03F6 03F8 # [3]
-03FA 03FF # [6]
+03F6 03F8
+03FA 03FF
0402
-0404 0406 # [3]
-0408 040B # [4]
-040F 0418 # [10]
-041A 0438 # [31]
-043A 044F # [22]
+0404 0406
+0408 040B
+040F 0418
+041A 0438
+043A 044F
0452
-0454 0456 # [3]
-0458 045B # [4]
-045F 0475 # [23]
-0478 04C0 # [73]
-04C3 04CF # [13]
-04D4 04D5 # [2]
-04D8 04D9 # [2]
-04E0 04E1 # [2]
-04E8 04E9 # [2]
-04F6 04F7 # [2]
-04FA 0586 # [141]
-0588 0621 # [154]
-0627 0674 # [78]
-0679 06BF # [71]
+0454 0456
+0458 045B
+045F 0475
+0478 04C0
+04C3 04CF
+04D4 04D5
+04D8 04D9
+04E0 04E1
+04E8 04E9
+04F6 04F7
+04FA 0586
+0588 0621
+0627 0674
+0679 06BF
06C1
-06C3 06D2 # [16]
-06D4 0928 # [597]
-092A 0930 # [7]
-0932 0933 # [2]
-0935 0957 # [35]
-0960 09CA # [107]
-09CD 09DB # [15]
+06C3 06D2
+06D4 0928
+092A 0930
+0932 0933
+0935 0957
+0960 09CA
+09CD 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B47 # [233]
-0B49 0B4A # [2]
-0B4D 0B5B # [15]
-0B5E 0B93 # [54]
-0B95 0BC9 # [53]
-0BCD 0C47 # [123]
-0C49 0CBF # [119]
-0CC1 0CC6 # [6]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B47
+0B49 0B4A
+0B4D 0B5B
+0B5E 0B93
+0B95 0BC9
+0BCD 0C47
+0C49 0CBF
+0CC1 0CC6
0CC9
-0CCC 0D49 # [126]
-0D4D 0DD9 # [141]
+0CCC 0D49
+0D4D 0DD9
0DDB
-0DDF 0E32 # [84]
-0E34 0EB2 # [127]
-0EB4 0EDB # [40]
-0EDE 0F0B # [46]
-0F0D 0F42 # [54]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F72 # [9]
+0DDF 0E32
+0E34 0EB2
+0EB4 0EDB
+0EDE 0F0B
+0F0D 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F72
0F74
-0F7A 0F80 # [7]
-0F82 0F92 # [17]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 1025 # [108]
-1027 10FB # [213]
-10FD 1B05 # [2569]
+0F7A 0F80
+0F82 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 1025
+1027 10FB
+10FD 1B05
1B07
1B09
1B0B
1B0D
-1B0F 1B11 # [3]
-1B13 1B3A # [40]
+1B0F 1B11
+1B13 1B3A
1B3C
-1B3E 1B3F # [2]
+1B3E 1B3F
1B42
-1B44 1D2B # [488]
+1B44 1D2B
1D2F
1D3B
1D4E
-1D6B 1D77 # [13]
-1D79 1D9A # [34]
-1DC0 1DFF # [64]
-1E9C 1E9F # [4]
-1EFA 1EFF # [6]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1D6B 1D77
+1D79 1D9A
+1DC0 1DFF
+1E9C 1E9F
+1EFA 1EFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-200B 2010 # [6]
-2012 2016 # [5]
-2018 2023 # [12]
-2027 202E # [8]
-2030 2032 # [3]
+200B 2010
+2012 2016
+2018 2023
+2027 202E
+2030 2032
2035
-2038 203B # [4]
+2038 203B
203D
-203F 2046 # [8]
-204A 2056 # [13]
-2058 205E # [7]
-2060 206F # [16]
-2072 2073 # [2]
+203F 2046
+204A 2056
+2058 205E
+2060 206F
+2072 2073
208F
-2095 20A7 # [19]
-20A9 20FF # [87]
+209D 20A7
+20A9 20FF
2104
2108
2114
-2117 2118 # [2]
-211E 211F # [2]
+2117 2118
+211E 211F
2123
2125
2127
@@ -229,48 +189,48 @@ return <<'END';
212E
2132
213A
-2141 2144 # [4]
-214A 214F # [6]
-2180 2188 # [9]
-218A 2199 # [16]
-219C 21AD # [18]
-21AF 21CC # [30]
-21D0 2203 # [52]
-2205 2208 # [4]
-220A 220B # [2]
-220D 2223 # [23]
+2141 2144
+214A 214F
+2180 2188
+218A 2199
+219C 21AD
+21AF 21CC
+21D0 2203
+2205 2208
+220A 220B
+220D 2223
2225
-2227 222B # [5]
+2227 222B
222E
-2231 2240 # [16]
-2242 2243 # [2]
-2245 2246 # [2]
+2231 2240
+2242 2243
+2245 2246
2248
-224A 225F # [22]
+224A 225F
2261
-2263 226C # [10]
-2272 2273 # [2]
-2276 2277 # [2]
-227A 227F # [6]
-2282 2283 # [2]
-2286 2287 # [2]
-228A 22AB # [34]
-22B0 22DF # [48]
-22E4 22E9 # [6]
-22EE 2328 # [59]
-232B 245F # [309]
-24EB 2A0B # [1313]
-2A0D 2A73 # [103]
-2A77 2ADB # [101]
-2ADD 2C7B # [415]
-2C7E 2D6E # [241]
-2D70 2E9E # [303]
-2EA0 2EF2 # [83]
-2EF4 2EFF # [12]
-2FD6 2FFF # [42]
-3001 3035 # [53]
+2263 226C
+2272 2273
+2276 2277
+227A 227F
+2282 2283
+2286 2287
+228A 22AB
+22B0 22DF
+22E4 22E9
+22EE 2328
+232B 245F
+24EB 2A0B
+2A0D 2A73
+2A77 2ADB
+2ADD 2C7B
+2C7E 2D6E
+2D70 2E9E
+2EA0 2EF2
+2EF4 2EFF
+2FD6 2FFF
+3001 3035
3037
-303B 304B # [17]
+303B 304B
304D
304F
3051
@@ -282,18 +242,18 @@ return <<'END';
305D
305F
3061
-3063 3064 # [2]
+3063 3064
3066
3068
-306A 306F # [6]
+306A 306F
3072
3075
3078
307B
-307E 3093 # [22]
-3095 309A # [6]
+307E 3093
+3095 309A
309D
-30A0 30AB # [12]
+30A0 30AB
30AD
30AF
30B1
@@ -305,102 +265,98 @@ return <<'END';
30BD
30BF
30C1
-30C3 30C4 # [2]
+30C3 30C4
30C6
30C8
-30CA 30CF # [6]
+30CA 30CF
30D2
30D5
30D8
30DB
-30DE 30F3 # [22]
-30F5 30F6 # [2]
-30FB 30FD # [3]
-3100 3130 # [49]
-318F 3191 # [3]
-31A0 31FF # [96]
+30DE 30F3
+30F5 30F6
+30FB 30FD
+3100 3130
+318F 3191
+31A0 31FF
321F
-3248 324F # [8]
+3248 324F
327F
32FF
-3400 A76F # [29_552]
-A771 ABFF # [1167]
-D7A4 F8FF # [8540]
-FA0E FA0F # [2]
+3400 A76F
+A771 ABFF
+D7A4 F8FF
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+FA23 FA24
+FA27 FA29
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB1E
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFD FE0F # [19]
-FE1A FE2F # [22]
-FE45 FE46 # [2]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFD FE0F
+FE1A FE2F
+FE45 FE46
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE73
FE75
-FEFD FF00 # [4]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FEFD FF00
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF 11099 # [4267]
+FFEF 11099
1109B
-1109D 110AA # [14]
-110AC 1D15D # [49_330]
-1D165 1D1BA # [86]
-1D1C1 1D3FF # [575]
+1109D 110AA
+110AC 1D15D
+1D165 1D1BA
+1D1C1 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1F0FF # [6400]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F18F # [65]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 2F7FF # [66_999]
-2FA1E 10FFFF # [919_010]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1F0FF
+1F10B 1F10F
+1F12F
+1F150 1F18F
+1F191 1F1FF
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
index 0f61dcac8b5..cfdce090200 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 26 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Small}
-# \p{Dt=Sml}
-# \p{Is_Decomposition_Type=Small}
-# \p{Is_Dt=Sml}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Small}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FE50 FE52 # [3]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
+FE50 FE52
+FE54 FE66
+FE68 FE6B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
index 8e0114edf81..058752bb43b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
@@ -1,49 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 251 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Square}
-# \p{Dt=Sqr}
-# \p{Is_Decomposition_Type=Square}
-# \p{Is_Dt=Sqr}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Square}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3250
-32CC 32CF # [4]
-3300 3357 # [88]
-3371 33DF # [111]
+32CC 32CF
+3300 3357
+3371 33DF
33FF
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
+1F130 1F14F
1F190
-1F200
-1F210 1F231 # [34]
+1F200 1F202
+1F210 1F23A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
index daa1b441135..0b50755d714 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
@@ -1,39 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 30 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Sub}
-# \p{Dt=Sub}
-# \p{Is_Decomposition_Type=Sub}
-# \p{Is_Dt=Sub}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Sub}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1D62 1D6A # [9]
-2080 208E # [15]
-2090 2094 # [5]
+1D62 1D6A
+2080 208E
+2090 209C
2C7C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
index d5d5c8d7f6d..c3d5f99e1bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
@@ -1,55 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 142 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Super}
-# \p{Dt=Sup}
-# \p{Is_Decomposition_Type=Super}
-# \p{Is_Dt=Sup}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Super}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AA
-00B2 00B3 # [2]
-00B9 00BA # [2]
-02B0 02B8 # [9]
-02E0 02E4 # [5]
+00B2 00B3
+00B9 00BA
+02B0 02B8
+02E0 02E4
10FC
-1D2C 1D2E # [3]
-1D30 1D3A # [11]
-1D3C 1D4D # [18]
-1D4F 1D61 # [19]
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D61
1D78
-1D9B 1DBF # [37]
-2070 2071 # [2]
-2074 207F # [12]
+1D9B 1DBF
+2070 2071
+2074 207F
2120
2122
2C7D
2D6F
-3192 319F # [14]
+3192 319F
A770
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
index ffefa96687e..c5b5e9623fd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 35 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Decomposition_Type=Vertical}
-# \p{Dt=Vert}
-# \p{Is_Decomposition_Type=Vertical}
-# \p{Is_Dt=Vert}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Dt: Vertical}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
309F
30FF
-FE10 FE19 # [10]
-FE30 FE44 # [21]
-FE47 FE48 # [2]
+FE10 FE19
+FE30 FE44
+FE47 FE48
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
index 4821486a697..401ce6cf7f0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
@@ -1,71 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 138_666 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{East_Asian_Width=Ambiguous}
-# \p{Ea=A}
-# \p{Is_East_Asian_Width=Ambiguous}
-# \p{Is_Ea=A}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ea: Ambiguous}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A1
00A4
-00A7 00A8 # [2]
+00A7 00A8
00AA
-00AD 00AE # [2]
-00B0 00B4 # [5]
-00B6 00BA # [5]
-00BC 00BF # [4]
+00AD 00AE
+00B0 00B4
+00B6 00BA
+00BC 00BF
00C6
00D0
-00D7 00D8 # [2]
-00DE 00E1 # [4]
+00D7 00D8
+00DE 00E1
00E6
-00E8 00EA # [3]
-00EC 00ED # [2]
+00E8 00EA
+00EC 00ED
00F0
-00F2 00F3 # [2]
-00F7 00FA # [4]
+00F2 00F3
+00F7 00FA
00FC
00FE
0101
0111
0113
011B
-0126 0127 # [2]
+0126 0127
012B
-0131 0133 # [3]
+0131 0133
0138
-013F 0142 # [4]
+013F 0142
0144
-0148 014B # [4]
+0148 014B
014D
-0152 0153 # [2]
-0166 0167 # [2]
+0152 0153
+0166 0167
016B
01CE
01D0
@@ -79,141 +56,130 @@ return <<'END';
0261
02C4
02C7
-02C9 02CB # [3]
+02C9 02CB
02CD
02D0
-02D8 02DB # [4]
+02D8 02DB
02DD
02DF
-0300 036F # [112]
-0391 03A1 # [17]
-03A3 03A9 # [7]
-03B1 03C1 # [17]
-03C3 03C9 # [7]
+0300 036F
+0391 03A1
+03A3 03A9
+03B1 03C1
+03C3 03C9
0401
-0410 044F # [64]
+0410 044F
0451
2010
-2013 2016 # [4]
-2018 2019 # [2]
-201C 201D # [2]
-2020 2022 # [3]
-2024 2027 # [4]
+2013 2016
+2018 2019
+201C 201D
+2020 2022
+2024 2027
2030
-2032 2033 # [2]
+2032 2033
2035
203B
203E
2074
207F
-2081 2084 # [4]
+2081 2084
20AC
2103
2105
2109
2113
2116
-2121 2122 # [2]
+2121 2122
2126
212B
-2153 2154 # [2]
-215B 215E # [4]
-2160 216B # [12]
-2170 2179 # [10]
+2153 2154
+215B 215E
+2160 216B
+2170 2179
2189
-2190 2199 # [10]
-21B8 21B9 # [2]
+2190 2199
+21B8 21B9
21D2
21D4
21E7
2200
-2202 2203 # [2]
-2207 2208 # [2]
+2202 2203
+2207 2208
220B
220F
2211
2215
221A
-221D 2220 # [4]
+221D 2220
2223
2225
-2227 222C # [6]
+2227 222C
222E
-2234 2237 # [4]
-223C 223D # [2]
+2234 2237
+223C 223D
2248
224C
2252
-2260 2261 # [2]
-2264 2267 # [4]
-226A 226B # [2]
-226E 226F # [2]
-2282 2283 # [2]
-2286 2287 # [2]
+2260 2261
+2264 2267
+226A 226B
+226E 226F
+2282 2283
+2286 2287
2295
2299
22A5
22BF
2312
-2460 24E9 # [138]
-24EB 254B # [97]
-2550 2573 # [36]
-2580 258F # [16]
-2592 2595 # [4]
-25A0 25A1 # [2]
-25A3 25A9 # [7]
-25B2 25B3 # [2]
-25B6 25B7 # [2]
-25BC 25BD # [2]
-25C0 25C1 # [2]
-25C6 25C8 # [3]
+2460 24E9
+24EB 254B
+2550 2573
+2580 258F
+2592 2595
+25A0 25A1
+25A3 25A9
+25B2 25B3
+25B6 25B7
+25BC 25BD
+25C0 25C1
+25C6 25C8
25CB
-25CE 25D1 # [4]
-25E2 25E5 # [4]
+25CE 25D1
+25E2 25E5
25EF
-2605 2606 # [2]
+2605 2606
2609
-260E 260F # [2]
-2614 2615 # [2]
+260E 260F
+2614 2615
261C
261E
2640
2642
-2660 2661 # [2]
-2663 2665 # [3]
-2667 266A # [4]
-266C 266D # [2]
+2660 2661
+2663 2665
+2667 266A
+266C 266D
266F
-269E 269F # [2]
-26BE 26BF # [2]
-26C4 26CD # [10]
-26CF 26E1 # [19]
+269E 269F
+26BE 26BF
+26C4 26CD
+26CF 26E1
26E3
-26E8 26FF # [24]
+26E8 26FF
273D
2757
-2776 277F # [10]
-2B55 2B59 # [5]
-3248 324F # [8]
-E000 F8FF # [6400]
-FE00 FE0F # [16]
+2776 277F
+2B55 2B59
+3248 324F
+E000 F8FF
+FE00 FE0F
FFFD
-1F100 1F10A # [11]
-1F110 1F12D # [30]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-E0100 E01EF # [240]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+1F100 1F10A
+1F110 1F12D
+1F130 1F169
+1F170 1F19A
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl
index 6162998505a..a47fd9df642 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl
@@ -1,51 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 104 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{East_Asian_Width=Fullwidth}
-# \p{Ea=F}
-# \p{Is_East_Asian_Width=Fullwidth}
-# \p{Is_Ea=F}
-#
-# \p{Decomposition_Type=Wide}
-# \p{Dt=Wide}
-# \p{Is_Decomposition_Type=Wide}
-# \p{Is_Dt=Wide}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Dt: Wide}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3000
-FF01 FF60 # [96]
-FFE0 FFE6 # [7]
+FF01 FF60
+FFE0 FFE6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
index a94d165caea..fe83d1249d7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
@@ -1,42 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 123 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{East_Asian_Width=Halfwidth}
-# \p{Ea=H}
-# \p{Is_East_Asian_Width=Halfwidth}
-# \p{Is_Ea=H}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ea: Halfwidth}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
20A9
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE8 FFEE # [7]
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE8 FFEE
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
index 467000de405..69b04ff76b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
@@ -1,71 +1,48 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 801_909 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{East_Asian_Width=Neutral}
-# \p{Ea=N}
-# \p{Is_East_Asian_Width=Neutral}
-# \p{Is_Ea=N}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ea: Neutral}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 001F # [32]
-007F 00A0 # [34]
+0000 001F
+007F 00A0
00A9
00AB
00B5
00BB
-00C0 00C5 # [6]
-00C7 00CF # [9]
-00D1 00D6 # [6]
-00D9 00DD # [5]
-00E2 00E5 # [4]
+00C0 00C5
+00C7 00CF
+00D1 00D6
+00D9 00DD
+00E2 00E5
00E7
00EB
-00EE 00EF # [2]
+00EE 00EF
00F1
-00F4 00F6 # [3]
+00F4 00F6
00FB
00FD
-00FF 0100 # [2]
-0102 0110 # [15]
+00FF 0100
+0102 0110
0112
-0114 011A # [7]
-011C 0125 # [10]
-0128 012A # [3]
-012C 0130 # [5]
-0134 0137 # [4]
-0139 013E # [6]
+0114 011A
+011C 0125
+0128 012A
+012C 0130
+0134 0137
+0139 013E
0143
-0145 0147 # [3]
+0145 0147
014C
-014E 0151 # [4]
-0154 0165 # [18]
-0168 016A # [3]
-016C 01CD # [98]
+014E 0151
+0154 0165
+0168 016A
+016C 01CD
01CF
01D1
01D3
@@ -73,187 +50,178 @@ return <<'END';
01D7
01D9
01DB
-01DD 0250 # [116]
-0252 0260 # [15]
-0262 02C3 # [98]
-02C5 02C6 # [2]
+01DD 0250
+0252 0260
+0262 02C3
+02C5 02C6
02C8
02CC
-02CE 02CF # [2]
-02D1 02D7 # [7]
+02CE 02CF
+02D1 02D7
02DC
02DE
-02E0 02FF # [32]
-0370 0390 # [33]
+02E0 02FF
+0370 0390
03A2
-03AA 03B0 # [7]
+03AA 03B0
03C2
-03CA 0400 # [55]
-0402 040F # [14]
+03CA 0400
+0402 040F
0450
-0452 10FF # [3246]
-1160 11A2 # [67]
-11A8 11F9 # [82]
-1200 200F # [3600]
-2011 2012 # [2]
+0452 10FF
+1160 11A2
+11A8 11F9
+1200 200F
+2011 2012
2017
-201A 201B # [2]
-201E 201F # [2]
+201A 201B
+201E 201F
2023
-2028 202F # [8]
+2028 202F
2031
2034
-2036 203A # [5]
-203C 203D # [2]
-203F 2073 # [53]
-2075 207E # [10]
+2036 203A
+203C 203D
+203F 2073
+2075 207E
2080
-2085 20A8 # [36]
-20AA 20AB # [2]
-20AD 2102 # [86]
+2085 20A8
+20AA 20AB
+20AD 2102
2104
-2106 2108 # [3]
-210A 2112 # [9]
-2114 2115 # [2]
-2117 2120 # [10]
-2123 2125 # [3]
-2127 212A # [4]
-212C 2152 # [39]
-2155 215A # [6]
+2106 2108
+210A 2112
+2114 2115
+2117 2120
+2123 2125
+2127 212A
+212C 2152
+2155 215A
215F
-216C 216F # [4]
-217A 2188 # [15]
-218A 218F # [6]
-219A 21B7 # [30]
-21BA 21D1 # [24]
+216C 216F
+217A 2188
+218A 218F
+219A 21B7
+21BA 21D1
21D3
-21D5 21E6 # [18]
-21E8 21FF # [24]
+21D5 21E6
+21E8 21FF
2201
-2204 2206 # [3]
-2209 220A # [2]
-220C 220E # [3]
+2204 2206
+2209 220A
+220C 220E
2210
-2212 2214 # [3]
-2216 2219 # [4]
-221B 221C # [2]
-2221 2222 # [2]
+2212 2214
+2216 2219
+221B 221C
+2221 2222
2224
2226
222D
-222F 2233 # [5]
-2238 223B # [4]
-223E 2247 # [10]
-2249 224B # [3]
-224D 2251 # [5]
-2253 225F # [13]
-2262 2263 # [2]
-2268 2269 # [2]
-226C 226D # [2]
-2270 2281 # [18]
-2284 2285 # [2]
-2288 2294 # [13]
-2296 2298 # [3]
-229A 22A4 # [11]
-22A6 22BE # [25]
-22C0 2311 # [82]
-2313 2328 # [22]
-232B 245F # [309]
+222F 2233
+2238 223B
+223E 2247
+2249 224B
+224D 2251
+2253 225F
+2262 2263
+2268 2269
+226C 226D
+2270 2281
+2284 2285
+2288 2294
+2296 2298
+229A 22A4
+22A6 22BE
+22C0 2311
+2313 2328
+232B 245F
24EA
-254C 254F # [4]
-2574 257F # [12]
-2590 2591 # [2]
-2596 259F # [10]
+254C 254F
+2574 257F
+2590 2591
+2596 259F
25A2
-25AA 25B1 # [8]
-25B4 25B5 # [2]
-25B8 25BB # [4]
-25BE 25BF # [2]
-25C2 25C5 # [4]
-25C9 25CA # [2]
-25CC 25CD # [2]
-25D2 25E1 # [16]
-25E6 25EE # [9]
-25F0 2604 # [21]
-2607 2608 # [2]
-260A 260D # [4]
-2610 2613 # [4]
-2616 261B # [6]
+25AA 25B1
+25B4 25B5
+25B8 25BB
+25BE 25BF
+25C2 25C5
+25C9 25CA
+25CC 25CD
+25D2 25E1
+25E6 25EE
+25F0 2604
+2607 2608
+260A 260D
+2610 2613
+2616 261B
261D
-261F 263F # [33]
+261F 263F
2641
-2643 265F # [29]
+2643 265F
2662
2666
266B
266E
-2670 269D # [46]
-26A0 26BD # [30]
-26C0 26C3 # [4]
+2670 269D
+26A0 26BD
+26C0 26C3
26CE
26E2
-26E4 26E7 # [4]
-2700 273C # [61]
-273E 2756 # [25]
-2758 2775 # [30]
-2780 27E5 # [102]
-27EE 2984 # [407]
-2987 2B54 # [462]
-2B5A 2E7F # [806]
+26E4 26E7
+2700 273C
+273E 2756
+2758 2775
+2780 27E5
+27EE 2984
+2987 2B54
+2B5A 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
-303F 3040 # [2]
-3097 3098 # [2]
-3100 3104 # [5]
-312E 3130 # [3]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
+303F 3040
+3097 3098
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-4DC0 4DFF # [64]
-A48D A48F # [3]
-A4C7 A95F # [1177]
-A97D ABFF # [643]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC DFFF # [2052]
-FB00 FDFF # [768]
-FE1A FE2F # [22]
+4DC0 4DFF
+A48D A48F
+A4C7 A95F
+A97D ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC DFFF
+FB00 FDFF
+FE1A FE2F
FE53
FE67
-FE6C FF00 # [149]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FE6C FF00
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFFC # [14]
-FFFE 1F0FF # [61_698]
-1F10B 1F10F # [5]
-1F12E 1F130 # [3]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFF # [3511]
-2FFFE 2FFFF # [2]
-3FFFE E00FF # [655_618]
-E01F0 EFFFF # [65_040]
-FFFFE FFFFF # [2]
-10FFFE 10FFFF # [2]
+FFEF FFFC
+FFFE 1AFFF
+1B002 1F0FF
+1F10B 1F10F
+1F12E 1F12F
+1F16A 1F16F
+1F19B 1F1FF
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1FFFF
+2FFFE 2FFFF
+3FFFE E00FF
+E01F0 EFFFF
+FFFFE FFFFF
+10FFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
index 969a8868b4b..bfc3a7712ad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
@@ -1,42 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 111 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{East_Asian_Width=Narrow}
-# \p{Ea=Na}
-# \p{Is_East_Asian_Width=Narrow}
-# \p{Is_Ea=Na}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ea: Narrow}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0020 007E # [95]
-00A2 00A3 # [2]
-00A5 00A6 # [2]
+0020 007E
+00A2 00A3
+00A5 00A6
00AC
00AF
-27E6 27ED # [8]
-2985 2986 # [2]
+27E6 27ED
+2985 2986
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
index a85f908b265..f7088847196 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
@@ -1,70 +1,49 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 173_199 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{East_Asian_Width=Wide}
-# \p{Ea=W}
-# \p{Is_East_Asian_Width=Wide}
-# \p{Is_Ea=W}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ea: Wide}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1100 115F # [96]
-11A3 11A7 # [5]
-11FA 11FF # [6]
-2329 232A # [2]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3001 303E # [62]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 3247 # [40]
-3250 32FE # [175]
-3300 4DBF # [6848]
-4E00 A48C # [22_157]
-A490 A4C6 # [55]
-A960 A97C # [29]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FAFF # [512]
-FE10 FE19 # [10]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-20000 2FFFD # [65_534]
-30000 3FFFD # [65_534]
+1100 115F
+11A3 11A7
+11FA 11FF
+2329 232A
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3001 303E
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 3247
+3250 32FE
+3300 4DBF
+4E00 A48C
+A490 A4C6
+A960 A97C
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FAFF
+FE10 FE19
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+1B000 1B001
+1F200 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+20000 2FFFD
+30000 3FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl
index e1f26e7c7e7..4ec0c91fece 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl
@@ -1,61 +1,33 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_084 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Extender=No}
-# \p{Ext=N}
-# \p{Is_Extender=F}
-# \p{Is_Ext=False}
-#
-# \P{Extender}
-# \P{Is_Extender}
-# \P{Ext}
-# \P{Is_Ext}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ext: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 00B6 # [183]
-00B8 02CF # [536]
-02D2 063F # [878]
-0641 07F9 # [441]
-07FB 0E45 # [1611]
-0E47 0EC5 # [127]
-0EC7 1842 # [2428]
-1844 1AA6 # [611]
-1AA8 1C35 # [398]
-1C37 1C7A # [68]
-1C7C 3004 # [5001]
-3006 3030 # [43]
-3036 309C # [103]
-309F 30FB # [93]
-30FF A014 # [28_438]
-A016 A60B # [1526]
-A60D A9CE # [962]
-A9D0 AA6F # [160]
-AA71 AADC # [108]
-AADE FF6F # [21_650]
-FF71 10FFFF # [1_048_719]
+0000 00B6
+00B8 02CF
+02D2 063F
+0641 07F9
+07FB 0E45
+0E47 0EC5
+0EC7 1842
+1844 1AA6
+1AA8 1C35
+1C37 1C7A
+1C7C 3004
+3006 3030
+3036 309C
+309F 30FB
+30FF A014
+A016 A60B
+A60D A9CE
+A9D0 AA6F
+AA71 AADC
+AADE FF6F
+FF71 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
index 4e24fba7c13..d851e445eca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
@@ -1,44 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 28 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Extender=Yes}
-# \p{Ext=Y}
-# \p{Is_Extender=T}
-# \p{Is_Ext=True}
-#
-# \p{Extender}
-# \p{Is_Extender}
-# \p{Ext}
-# \p{Is_Ext}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ext: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00B7
-02D0 02D1 # [2]
+02D0 02D1
0640
07FA
0E46
@@ -48,9 +20,9 @@ return <<'END';
1C36
1C7B
3005
-3031 3035 # [5]
-309D 309E # [2]
-30FC 30FE # [3]
+3031 3035
+309D 309E
+30FC 30FE
A015
A60C
A9CF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
index 181ce8c87d6..4bbfe78ae28 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
@@ -1,55 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 203 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=Control}
-# \p{GCB=CN}
-# \p{Is_Grapheme_Cluster_Break=Control}
-# \p{Is_GCB=CN}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_GCB: Control}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0009 # [10]
-000B 000C # [2]
-000E 001F # [18]
-007F 009F # [33]
+0000 0009
+000B 000C
+000E 001F
+007F 009F
00AD
-0600 0603 # [4]
+0600 0603
06DD
070F
-17B4 17B5 # [2]
+17B4 17B5
200B
-200E 200F # [2]
-2028 202E # [7]
-2060 2064 # [5]
-206A 206F # [6]
+200E 200F
+2028 202E
+2060 2064
+206A 206F
FEFF
-FFF9 FFFB # [3]
+FFF9 FFFB
110BD
-1D173 1D17A # [8]
+1D173 1D17A
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
index 92f47572208..01763798c65 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
@@ -1,58 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=CR}
-# \p{GCB=CR}
-# \p{Is_Grapheme_Cluster_Break=CR}
-# \p{Is_GCB=CR}
-#
-# \p{Line_Break=Carriage_Return}
-# \p{Lb=CR}
-# \p{Is_Line_Break=Carriage_Return}
-# \p{Is_Lb=CR}
-#
-# \p{Sentence_Break=CR}
-# \p{SB=CR}
-# \p{Is_Sentence_Break=CR}
-# \p{Is_SB=CR}
-#
-# \p{Word_Break=CR}
-# \p{WB=CR}
-# \p{Is_Word_Break=CR}
-# \p{Is_WB=CR}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_WB: CR}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
000D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
index d0a6b148069..2a8295b0c7c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
@@ -1,240 +1,227 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1205 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=Extend}
-# \p{GCB=EX}
-# \p{Is_Grapheme_Cluster_Break=Extend}
-# \p{Is_GCB=EX}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_GCB: Extend}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
+0300 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0902 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0902
+093A
093C
-0941 0948 # [8]
+0941 0948
094D
-0951 0955 # [5]
-0962 0963 # [2]
+0951 0957
+0962 0963
0981
09BC
09BE
-09C1 09C4 # [4]
+09C1 09C4
09CD
09D7
-09E2 09E3 # [2]
-0A01 0A02 # [2]
+09E2 09E3
+0A01 0A02
0A3C
-0A41 0A42 # [2]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A82 # [2]
+0A81 0A82
0ABC
-0AC1 0AC5 # [5]
-0AC7 0AC8 # [2]
+0AC1 0AC5
+0AC7 0AC8
0ACD
-0AE2 0AE3 # [2]
+0AE2 0AE3
0B01
0B3C
-0B3E 0B3F # [2]
-0B41 0B44 # [4]
+0B3E 0B3F
+0B41 0B44
0B4D
-0B56 0B57 # [2]
-0B62 0B63 # [2]
+0B56 0B57
+0B62 0B63
0B82
0BBE
0BC0
0BCD
0BD7
-0C3E 0C40 # [3]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
0CBC
0CBF
0CC2
0CC6
-0CCC 0CCD # [2]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
+0CCC 0CCD
+0CD5 0CD6
+0CE2 0CE3
0D3E
-0D41 0D44 # [4]
+0D41 0D44
0D4D
0D57
-0D62 0D63 # [2]
+0D62 0D63
0DCA
0DCF
-0DD2 0DD4 # [3]
+0DD2 0DD4
0DD6
0DDF
-0E30 0E3A # [11]
-0E45
-0E47 0E4E # [8]
-0EB0 0EB9 # [10]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0E31
+0E34 0E3A
+0E47 0E4E
+0EB1
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
+102D 1030
+1032 1037
+1039 103A
+103D 103E
+1058 1059
+105E 1060
+1071 1074
1082
-1085 1086 # [2]
+1085 1086
108D
109D
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B7 17BD # [7]
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B7 17BD
17C6
-17C9 17D3 # [11]
+17C9 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 1922 # [3]
-1927 1928 # [2]
+1920 1922
+1927 1928
1932
-1939 193B # [3]
-1A17 1A18 # [2]
+1939 193B
+1A17 1A18
1A56
-1A58 1A5E # [7]
+1A58 1A5E
1A60
1A62
-1A65 1A6C # [8]
-1A73 1A7C # [10]
+1A65 1A6C
+1A73 1A7C
1A7F
-1B00 1B03 # [4]
+1B00 1B03
1B34
-1B36 1B3A # [5]
+1B36 1B3A
1B3C
1B42
-1B6B 1B73 # [9]
-1B80 1B81 # [2]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1C2C 1C33 # [8]
-1C36 1C37 # [2]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+1B6B 1B73
+1B80 1B81
+1BA2 1BA5
+1BA8 1BA9
+1BE6
+1BE8 1BE9
+1BED
+1BEF 1BF1
+1C2C 1C33
+1C36 1C37
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-200C 200D # [2]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+1DC0 1DE6
+1DFC 1DFF
+200C 200D
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A825 A826 # [2]
+A825 A826
A8C4
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A951 # [11]
-A980 A982 # [3]
+A8E0 A8F1
+A926 A92D
+A947 A951
+A980 A982
A9B3
-A9B6 A9B9 # [4]
+A9B6 A9B9
A9BC
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA36 # [2]
+AA29 AA2E
+AA31 AA32
+AA35 AA36
AA43
AA4C
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
ABE5
ABE8
ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FF9E FF9F # [2]
+FE00 FE0F
+FE20 FE26
+FF9E FF9F
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11081 # [2]
-110B3 110B6 # [4]
-110B9 110BA # [2]
+11001
+11038 11046
+11080 11081
+110B3 110B6
+110B9 110BA
1D165
-1D167 1D169 # [3]
-1D16E 1D172 # [5]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
+1D167 1D169
+1D16E 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl
index 8f5cae2508e..166b6712d15 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl
@@ -1,55 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 125 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=L}
-# \p{GCB=L}
-# \p{Is_Grapheme_Cluster_Break=L}
-# \p{Is_GCB=L}
-#
-# \p{Line_Break=JL}
-# \p{Lb=JL}
-# \p{Is_Line_Break=JL}
-# \p{Is_Lb=JL}
-#
-# \p{Hangul_Syllable_Type=Leading_Jamo}
-# \p{Hst=L}
-# \p{Is_Hangul_Syllable_Type=Leading_Jamo}
-# \p{Is_Hst=L}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Hst: Leading_Jamo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1100 115F # [96]
-A960 A97C # [29]
+1100 115F
+A960 A97C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
index 7054946a54c..7abbe766ce7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
@@ -1,58 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=LF}
-# \p{GCB=LF}
-# \p{Is_Grapheme_Cluster_Break=LF}
-# \p{Is_GCB=LF}
-#
-# \p{Line_Break=Line_Feed}
-# \p{Lb=LF}
-# \p{Is_Line_Break=Line_Feed}
-# \p{Is_Lb=LF}
-#
-# \p{Sentence_Break=LF}
-# \p{SB=LF}
-# \p{Is_Sentence_Break=LF}
-# \p{Is_SB=LF}
-#
-# \p{Word_Break=LF}
-# \p{WB=LF}
-# \p{Is_Word_Break=LF}
-# \p{Is_WB=LF}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_WB: LF}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
000A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl
index cfc22181347..87ebf205161 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl
@@ -1,53 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 399 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=LV}
-# \p{GCB=LV}
-# \p{Is_Grapheme_Cluster_Break=LV}
-# \p{Is_GCB=LV}
-#
-# \p{Line_Break=H2}
-# \p{Lb=H2}
-# \p{Is_Line_Break=H2}
-# \p{Is_Lb=H2}
-#
-# \p{Hangul_Syllable_Type=LV_Syllable}
-# \p{Hst=LV}
-# \p{Is_Hangul_Syllable_Type=LV_Syllable}
-# \p{Is_Hst=LV}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Hst: LV_Syllable}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
AC00
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl
index 085eae021f2..ab325fd7138 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl
@@ -1,452 +1,411 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 10_773 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=LVT}
-# \p{GCB=LVT}
-# \p{Is_Grapheme_Cluster_Break=LVT}
-# \p{Is_GCB=LVT}
-#
-# \p{Line_Break=H3}
-# \p{Lb=H3}
-# \p{Is_Line_Break=H3}
-# \p{Is_Lb=H3}
-#
-# \p{Hangul_Syllable_Type=LVT_Syllable}
-# \p{Hst=LVT}
-# \p{Is_Hangul_Syllable_Type=LVT_Syllable}
-# \p{Is_Hst=LVT}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Hst: LVT_Syllable}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AC01 AC1B # [27]
-AC1D AC37 # [27]
-AC39 AC53 # [27]
-AC55 AC6F # [27]
-AC71 AC8B # [27]
-AC8D ACA7 # [27]
-ACA9 ACC3 # [27]
-ACC5 ACDF # [27]
-ACE1 ACFB # [27]
-ACFD AD17 # [27]
-AD19 AD33 # [27]
-AD35 AD4F # [27]
-AD51 AD6B # [27]
-AD6D AD87 # [27]
-AD89 ADA3 # [27]
-ADA5 ADBF # [27]
-ADC1 ADDB # [27]
-ADDD ADF7 # [27]
-ADF9 AE13 # [27]
-AE15 AE2F # [27]
-AE31 AE4B # [27]
-AE4D AE67 # [27]
-AE69 AE83 # [27]
-AE85 AE9F # [27]
-AEA1 AEBB # [27]
-AEBD AED7 # [27]
-AED9 AEF3 # [27]
-AEF5 AF0F # [27]
-AF11 AF2B # [27]
-AF2D AF47 # [27]
-AF49 AF63 # [27]
-AF65 AF7F # [27]
-AF81 AF9B # [27]
-AF9D AFB7 # [27]
-AFB9 AFD3 # [27]
-AFD5 AFEF # [27]
-AFF1 B00B # [27]
-B00D B027 # [27]
-B029 B043 # [27]
-B045 B05F # [27]
-B061 B07B # [27]
-B07D B097 # [27]
-B099 B0B3 # [27]
-B0B5 B0CF # [27]
-B0D1 B0EB # [27]
-B0ED B107 # [27]
-B109 B123 # [27]
-B125 B13F # [27]
-B141 B15B # [27]
-B15D B177 # [27]
-B179 B193 # [27]
-B195 B1AF # [27]
-B1B1 B1CB # [27]
-B1CD B1E7 # [27]
-B1E9 B203 # [27]
-B205 B21F # [27]
-B221 B23B # [27]
-B23D B257 # [27]
-B259 B273 # [27]
-B275 B28F # [27]
-B291 B2AB # [27]
-B2AD B2C7 # [27]
-B2C9 B2E3 # [27]
-B2E5 B2FF # [27]
-B301 B31B # [27]
-B31D B337 # [27]
-B339 B353 # [27]
-B355 B36F # [27]
-B371 B38B # [27]
-B38D B3A7 # [27]
-B3A9 B3C3 # [27]
-B3C5 B3DF # [27]
-B3E1 B3FB # [27]
-B3FD B417 # [27]
-B419 B433 # [27]
-B435 B44F # [27]
-B451 B46B # [27]
-B46D B487 # [27]
-B489 B4A3 # [27]
-B4A5 B4BF # [27]
-B4C1 B4DB # [27]
-B4DD B4F7 # [27]
-B4F9 B513 # [27]
-B515 B52F # [27]
-B531 B54B # [27]
-B54D B567 # [27]
-B569 B583 # [27]
-B585 B59F # [27]
-B5A1 B5BB # [27]
-B5BD B5D7 # [27]
-B5D9 B5F3 # [27]
-B5F5 B60F # [27]
-B611 B62B # [27]
-B62D B647 # [27]
-B649 B663 # [27]
-B665 B67F # [27]
-B681 B69B # [27]
-B69D B6B7 # [27]
-B6B9 B6D3 # [27]
-B6D5 B6EF # [27]
-B6F1 B70B # [27]
-B70D B727 # [27]
-B729 B743 # [27]
-B745 B75F # [27]
-B761 B77B # [27]
-B77D B797 # [27]
-B799 B7B3 # [27]
-B7B5 B7CF # [27]
-B7D1 B7EB # [27]
-B7ED B807 # [27]
-B809 B823 # [27]
-B825 B83F # [27]
-B841 B85B # [27]
-B85D B877 # [27]
-B879 B893 # [27]
-B895 B8AF # [27]
-B8B1 B8CB # [27]
-B8CD B8E7 # [27]
-B8E9 B903 # [27]
-B905 B91F # [27]
-B921 B93B # [27]
-B93D B957 # [27]
-B959 B973 # [27]
-B975 B98F # [27]
-B991 B9AB # [27]
-B9AD B9C7 # [27]
-B9C9 B9E3 # [27]
-B9E5 B9FF # [27]
-BA01 BA1B # [27]
-BA1D BA37 # [27]
-BA39 BA53 # [27]
-BA55 BA6F # [27]
-BA71 BA8B # [27]
-BA8D BAA7 # [27]
-BAA9 BAC3 # [27]
-BAC5 BADF # [27]
-BAE1 BAFB # [27]
-BAFD BB17 # [27]
-BB19 BB33 # [27]
-BB35 BB4F # [27]
-BB51 BB6B # [27]
-BB6D BB87 # [27]
-BB89 BBA3 # [27]
-BBA5 BBBF # [27]
-BBC1 BBDB # [27]
-BBDD BBF7 # [27]
-BBF9 BC13 # [27]
-BC15 BC2F # [27]
-BC31 BC4B # [27]
-BC4D BC67 # [27]
-BC69 BC83 # [27]
-BC85 BC9F # [27]
-BCA1 BCBB # [27]
-BCBD BCD7 # [27]
-BCD9 BCF3 # [27]
-BCF5 BD0F # [27]
-BD11 BD2B # [27]
-BD2D BD47 # [27]
-BD49 BD63 # [27]
-BD65 BD7F # [27]
-BD81 BD9B # [27]
-BD9D BDB7 # [27]
-BDB9 BDD3 # [27]
-BDD5 BDEF # [27]
-BDF1 BE0B # [27]
-BE0D BE27 # [27]
-BE29 BE43 # [27]
-BE45 BE5F # [27]
-BE61 BE7B # [27]
-BE7D BE97 # [27]
-BE99 BEB3 # [27]
-BEB5 BECF # [27]
-BED1 BEEB # [27]
-BEED BF07 # [27]
-BF09 BF23 # [27]
-BF25 BF3F # [27]
-BF41 BF5B # [27]
-BF5D BF77 # [27]
-BF79 BF93 # [27]
-BF95 BFAF # [27]
-BFB1 BFCB # [27]
-BFCD BFE7 # [27]
-BFE9 C003 # [27]
-C005 C01F # [27]
-C021 C03B # [27]
-C03D C057 # [27]
-C059 C073 # [27]
-C075 C08F # [27]
-C091 C0AB # [27]
-C0AD C0C7 # [27]
-C0C9 C0E3 # [27]
-C0E5 C0FF # [27]
-C101 C11B # [27]
-C11D C137 # [27]
-C139 C153 # [27]
-C155 C16F # [27]
-C171 C18B # [27]
-C18D C1A7 # [27]
-C1A9 C1C3 # [27]
-C1C5 C1DF # [27]
-C1E1 C1FB # [27]
-C1FD C217 # [27]
-C219 C233 # [27]
-C235 C24F # [27]
-C251 C26B # [27]
-C26D C287 # [27]
-C289 C2A3 # [27]
-C2A5 C2BF # [27]
-C2C1 C2DB # [27]
-C2DD C2F7 # [27]
-C2F9 C313 # [27]
-C315 C32F # [27]
-C331 C34B # [27]
-C34D C367 # [27]
-C369 C383 # [27]
-C385 C39F # [27]
-C3A1 C3BB # [27]
-C3BD C3D7 # [27]
-C3D9 C3F3 # [27]
-C3F5 C40F # [27]
-C411 C42B # [27]
-C42D C447 # [27]
-C449 C463 # [27]
-C465 C47F # [27]
-C481 C49B # [27]
-C49D C4B7 # [27]
-C4B9 C4D3 # [27]
-C4D5 C4EF # [27]
-C4F1 C50B # [27]
-C50D C527 # [27]
-C529 C543 # [27]
-C545 C55F # [27]
-C561 C57B # [27]
-C57D C597 # [27]
-C599 C5B3 # [27]
-C5B5 C5CF # [27]
-C5D1 C5EB # [27]
-C5ED C607 # [27]
-C609 C623 # [27]
-C625 C63F # [27]
-C641 C65B # [27]
-C65D C677 # [27]
-C679 C693 # [27]
-C695 C6AF # [27]
-C6B1 C6CB # [27]
-C6CD C6E7 # [27]
-C6E9 C703 # [27]
-C705 C71F # [27]
-C721 C73B # [27]
-C73D C757 # [27]
-C759 C773 # [27]
-C775 C78F # [27]
-C791 C7AB # [27]
-C7AD C7C7 # [27]
-C7C9 C7E3 # [27]
-C7E5 C7FF # [27]
-C801 C81B # [27]
-C81D C837 # [27]
-C839 C853 # [27]
-C855 C86F # [27]
-C871 C88B # [27]
-C88D C8A7 # [27]
-C8A9 C8C3 # [27]
-C8C5 C8DF # [27]
-C8E1 C8FB # [27]
-C8FD C917 # [27]
-C919 C933 # [27]
-C935 C94F # [27]
-C951 C96B # [27]
-C96D C987 # [27]
-C989 C9A3 # [27]
-C9A5 C9BF # [27]
-C9C1 C9DB # [27]
-C9DD C9F7 # [27]
-C9F9 CA13 # [27]
-CA15 CA2F # [27]
-CA31 CA4B # [27]
-CA4D CA67 # [27]
-CA69 CA83 # [27]
-CA85 CA9F # [27]
-CAA1 CABB # [27]
-CABD CAD7 # [27]
-CAD9 CAF3 # [27]
-CAF5 CB0F # [27]
-CB11 CB2B # [27]
-CB2D CB47 # [27]
-CB49 CB63 # [27]
-CB65 CB7F # [27]
-CB81 CB9B # [27]
-CB9D CBB7 # [27]
-CBB9 CBD3 # [27]
-CBD5 CBEF # [27]
-CBF1 CC0B # [27]
-CC0D CC27 # [27]
-CC29 CC43 # [27]
-CC45 CC5F # [27]
-CC61 CC7B # [27]
-CC7D CC97 # [27]
-CC99 CCB3 # [27]
-CCB5 CCCF # [27]
-CCD1 CCEB # [27]
-CCED CD07 # [27]
-CD09 CD23 # [27]
-CD25 CD3F # [27]
-CD41 CD5B # [27]
-CD5D CD77 # [27]
-CD79 CD93 # [27]
-CD95 CDAF # [27]
-CDB1 CDCB # [27]
-CDCD CDE7 # [27]
-CDE9 CE03 # [27]
-CE05 CE1F # [27]
-CE21 CE3B # [27]
-CE3D CE57 # [27]
-CE59 CE73 # [27]
-CE75 CE8F # [27]
-CE91 CEAB # [27]
-CEAD CEC7 # [27]
-CEC9 CEE3 # [27]
-CEE5 CEFF # [27]
-CF01 CF1B # [27]
-CF1D CF37 # [27]
-CF39 CF53 # [27]
-CF55 CF6F # [27]
-CF71 CF8B # [27]
-CF8D CFA7 # [27]
-CFA9 CFC3 # [27]
-CFC5 CFDF # [27]
-CFE1 CFFB # [27]
-CFFD D017 # [27]
-D019 D033 # [27]
-D035 D04F # [27]
-D051 D06B # [27]
-D06D D087 # [27]
-D089 D0A3 # [27]
-D0A5 D0BF # [27]
-D0C1 D0DB # [27]
-D0DD D0F7 # [27]
-D0F9 D113 # [27]
-D115 D12F # [27]
-D131 D14B # [27]
-D14D D167 # [27]
-D169 D183 # [27]
-D185 D19F # [27]
-D1A1 D1BB # [27]
-D1BD D1D7 # [27]
-D1D9 D1F3 # [27]
-D1F5 D20F # [27]
-D211 D22B # [27]
-D22D D247 # [27]
-D249 D263 # [27]
-D265 D27F # [27]
-D281 D29B # [27]
-D29D D2B7 # [27]
-D2B9 D2D3 # [27]
-D2D5 D2EF # [27]
-D2F1 D30B # [27]
-D30D D327 # [27]
-D329 D343 # [27]
-D345 D35F # [27]
-D361 D37B # [27]
-D37D D397 # [27]
-D399 D3B3 # [27]
-D3B5 D3CF # [27]
-D3D1 D3EB # [27]
-D3ED D407 # [27]
-D409 D423 # [27]
-D425 D43F # [27]
-D441 D45B # [27]
-D45D D477 # [27]
-D479 D493 # [27]
-D495 D4AF # [27]
-D4B1 D4CB # [27]
-D4CD D4E7 # [27]
-D4E9 D503 # [27]
-D505 D51F # [27]
-D521 D53B # [27]
-D53D D557 # [27]
-D559 D573 # [27]
-D575 D58F # [27]
-D591 D5AB # [27]
-D5AD D5C7 # [27]
-D5C9 D5E3 # [27]
-D5E5 D5FF # [27]
-D601 D61B # [27]
-D61D D637 # [27]
-D639 D653 # [27]
-D655 D66F # [27]
-D671 D68B # [27]
-D68D D6A7 # [27]
-D6A9 D6C3 # [27]
-D6C5 D6DF # [27]
-D6E1 D6FB # [27]
-D6FD D717 # [27]
-D719 D733 # [27]
-D735 D74F # [27]
-D751 D76B # [27]
-D76D D787 # [27]
-D789 D7A3 # [27]
+AC01 AC1B
+AC1D AC37
+AC39 AC53
+AC55 AC6F
+AC71 AC8B
+AC8D ACA7
+ACA9 ACC3
+ACC5 ACDF
+ACE1 ACFB
+ACFD AD17
+AD19 AD33
+AD35 AD4F
+AD51 AD6B
+AD6D AD87
+AD89 ADA3
+ADA5 ADBF
+ADC1 ADDB
+ADDD ADF7
+ADF9 AE13
+AE15 AE2F
+AE31 AE4B
+AE4D AE67
+AE69 AE83
+AE85 AE9F
+AEA1 AEBB
+AEBD AED7
+AED9 AEF3
+AEF5 AF0F
+AF11 AF2B
+AF2D AF47
+AF49 AF63
+AF65 AF7F
+AF81 AF9B
+AF9D AFB7
+AFB9 AFD3
+AFD5 AFEF
+AFF1 B00B
+B00D B027
+B029 B043
+B045 B05F
+B061 B07B
+B07D B097
+B099 B0B3
+B0B5 B0CF
+B0D1 B0EB
+B0ED B107
+B109 B123
+B125 B13F
+B141 B15B
+B15D B177
+B179 B193
+B195 B1AF
+B1B1 B1CB
+B1CD B1E7
+B1E9 B203
+B205 B21F
+B221 B23B
+B23D B257
+B259 B273
+B275 B28F
+B291 B2AB
+B2AD B2C7
+B2C9 B2E3
+B2E5 B2FF
+B301 B31B
+B31D B337
+B339 B353
+B355 B36F
+B371 B38B
+B38D B3A7
+B3A9 B3C3
+B3C5 B3DF
+B3E1 B3FB
+B3FD B417
+B419 B433
+B435 B44F
+B451 B46B
+B46D B487
+B489 B4A3
+B4A5 B4BF
+B4C1 B4DB
+B4DD B4F7
+B4F9 B513
+B515 B52F
+B531 B54B
+B54D B567
+B569 B583
+B585 B59F
+B5A1 B5BB
+B5BD B5D7
+B5D9 B5F3
+B5F5 B60F
+B611 B62B
+B62D B647
+B649 B663
+B665 B67F
+B681 B69B
+B69D B6B7
+B6B9 B6D3
+B6D5 B6EF
+B6F1 B70B
+B70D B727
+B729 B743
+B745 B75F
+B761 B77B
+B77D B797
+B799 B7B3
+B7B5 B7CF
+B7D1 B7EB
+B7ED B807
+B809 B823
+B825 B83F
+B841 B85B
+B85D B877
+B879 B893
+B895 B8AF
+B8B1 B8CB
+B8CD B8E7
+B8E9 B903
+B905 B91F
+B921 B93B
+B93D B957
+B959 B973
+B975 B98F
+B991 B9AB
+B9AD B9C7
+B9C9 B9E3
+B9E5 B9FF
+BA01 BA1B
+BA1D BA37
+BA39 BA53
+BA55 BA6F
+BA71 BA8B
+BA8D BAA7
+BAA9 BAC3
+BAC5 BADF
+BAE1 BAFB
+BAFD BB17
+BB19 BB33
+BB35 BB4F
+BB51 BB6B
+BB6D BB87
+BB89 BBA3
+BBA5 BBBF
+BBC1 BBDB
+BBDD BBF7
+BBF9 BC13
+BC15 BC2F
+BC31 BC4B
+BC4D BC67
+BC69 BC83
+BC85 BC9F
+BCA1 BCBB
+BCBD BCD7
+BCD9 BCF3
+BCF5 BD0F
+BD11 BD2B
+BD2D BD47
+BD49 BD63
+BD65 BD7F
+BD81 BD9B
+BD9D BDB7
+BDB9 BDD3
+BDD5 BDEF
+BDF1 BE0B
+BE0D BE27
+BE29 BE43
+BE45 BE5F
+BE61 BE7B
+BE7D BE97
+BE99 BEB3
+BEB5 BECF
+BED1 BEEB
+BEED BF07
+BF09 BF23
+BF25 BF3F
+BF41 BF5B
+BF5D BF77
+BF79 BF93
+BF95 BFAF
+BFB1 BFCB
+BFCD BFE7
+BFE9 C003
+C005 C01F
+C021 C03B
+C03D C057
+C059 C073
+C075 C08F
+C091 C0AB
+C0AD C0C7
+C0C9 C0E3
+C0E5 C0FF
+C101 C11B
+C11D C137
+C139 C153
+C155 C16F
+C171 C18B
+C18D C1A7
+C1A9 C1C3
+C1C5 C1DF
+C1E1 C1FB
+C1FD C217
+C219 C233
+C235 C24F
+C251 C26B
+C26D C287
+C289 C2A3
+C2A5 C2BF
+C2C1 C2DB
+C2DD C2F7
+C2F9 C313
+C315 C32F
+C331 C34B
+C34D C367
+C369 C383
+C385 C39F
+C3A1 C3BB
+C3BD C3D7
+C3D9 C3F3
+C3F5 C40F
+C411 C42B
+C42D C447
+C449 C463
+C465 C47F
+C481 C49B
+C49D C4B7
+C4B9 C4D3
+C4D5 C4EF
+C4F1 C50B
+C50D C527
+C529 C543
+C545 C55F
+C561 C57B
+C57D C597
+C599 C5B3
+C5B5 C5CF
+C5D1 C5EB
+C5ED C607
+C609 C623
+C625 C63F
+C641 C65B
+C65D C677
+C679 C693
+C695 C6AF
+C6B1 C6CB
+C6CD C6E7
+C6E9 C703
+C705 C71F
+C721 C73B
+C73D C757
+C759 C773
+C775 C78F
+C791 C7AB
+C7AD C7C7
+C7C9 C7E3
+C7E5 C7FF
+C801 C81B
+C81D C837
+C839 C853
+C855 C86F
+C871 C88B
+C88D C8A7
+C8A9 C8C3
+C8C5 C8DF
+C8E1 C8FB
+C8FD C917
+C919 C933
+C935 C94F
+C951 C96B
+C96D C987
+C989 C9A3
+C9A5 C9BF
+C9C1 C9DB
+C9DD C9F7
+C9F9 CA13
+CA15 CA2F
+CA31 CA4B
+CA4D CA67
+CA69 CA83
+CA85 CA9F
+CAA1 CABB
+CABD CAD7
+CAD9 CAF3
+CAF5 CB0F
+CB11 CB2B
+CB2D CB47
+CB49 CB63
+CB65 CB7F
+CB81 CB9B
+CB9D CBB7
+CBB9 CBD3
+CBD5 CBEF
+CBF1 CC0B
+CC0D CC27
+CC29 CC43
+CC45 CC5F
+CC61 CC7B
+CC7D CC97
+CC99 CCB3
+CCB5 CCCF
+CCD1 CCEB
+CCED CD07
+CD09 CD23
+CD25 CD3F
+CD41 CD5B
+CD5D CD77
+CD79 CD93
+CD95 CDAF
+CDB1 CDCB
+CDCD CDE7
+CDE9 CE03
+CE05 CE1F
+CE21 CE3B
+CE3D CE57
+CE59 CE73
+CE75 CE8F
+CE91 CEAB
+CEAD CEC7
+CEC9 CEE3
+CEE5 CEFF
+CF01 CF1B
+CF1D CF37
+CF39 CF53
+CF55 CF6F
+CF71 CF8B
+CF8D CFA7
+CFA9 CFC3
+CFC5 CFDF
+CFE1 CFFB
+CFFD D017
+D019 D033
+D035 D04F
+D051 D06B
+D06D D087
+D089 D0A3
+D0A5 D0BF
+D0C1 D0DB
+D0DD D0F7
+D0F9 D113
+D115 D12F
+D131 D14B
+D14D D167
+D169 D183
+D185 D19F
+D1A1 D1BB
+D1BD D1D7
+D1D9 D1F3
+D1F5 D20F
+D211 D22B
+D22D D247
+D249 D263
+D265 D27F
+D281 D29B
+D29D D2B7
+D2B9 D2D3
+D2D5 D2EF
+D2F1 D30B
+D30D D327
+D329 D343
+D345 D35F
+D361 D37B
+D37D D397
+D399 D3B3
+D3B5 D3CF
+D3D1 D3EB
+D3ED D407
+D409 D423
+D425 D43F
+D441 D45B
+D45D D477
+D479 D493
+D495 D4AF
+D4B1 D4CB
+D4CD D4E7
+D4E9 D503
+D505 D51F
+D521 D53B
+D53D D557
+D559 D573
+D575 D58F
+D591 D5AB
+D5AD D5C7
+D5C9 D5E3
+D5E5 D5FF
+D601 D61B
+D61D D637
+D639 D653
+D655 D66F
+D671 D68B
+D68D D6A7
+D6A9 D6C3
+D6C5 D6DF
+D6E1 D6FB
+D6FD D717
+D719 D733
+D735 D74F
+D751 D76B
+D76D D787
+D789 D7A3
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl
index 6155eb83114..26409417854 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl
@@ -1,58 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 15 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=Prepend}
-# \p{GCB=PP}
-# \p{Is_Grapheme_Cluster_Break=Prepend}
-# \p{Is_GCB=PP}
-#
-# \p{Logical_Order_Exception=Yes}
-# \p{LOE=Y}
-# \p{Is_Logical_Order_Exception=T}
-# \p{Is_LOE=True}
-#
-# \p{Logical_Order_Exception}
-# \p{Is_Logical_Order_Exception}
-# \p{LOE}
-# \p{Is_LOE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_LOE: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E40 0E44 # [5]
-0EC0 0EC4 # [5]
-AAB5 AAB6 # [2]
+0E40 0E44
+0EC0 0EC4
+AAB5 AAB6
AAB9
-AABB AABC # [2]
+AABB AABC
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
index a27c828d1a5..7bd64de957f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
@@ -1,136 +1,125 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 257 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=SpacingMark}
-# \p{GCB=SM}
-# \p{Is_Grapheme_Cluster_Break=SpacingMark}
-# \p{Is_GCB=SM}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_GCB: SpacingMark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0903
-093E 0940 # [3]
-0949 094C # [4]
-094E
-0982 0983 # [2]
-09BF 09C0 # [2]
-09C7 09C8 # [2]
-09CB 09CC # [2]
+093B
+093E 0940
+0949 094C
+094E 094F
+0982 0983
+09BF 09C0
+09C7 09C8
+09CB 09CC
0A03
-0A3E 0A40 # [3]
+0A3E 0A40
0A83
-0ABE 0AC0 # [3]
+0ABE 0AC0
0AC9
-0ACB 0ACC # [2]
-0B02 0B03 # [2]
+0ACB 0ACC
+0B02 0B03
0B40
-0B47 0B48 # [2]
-0B4B 0B4C # [2]
+0B47 0B48
+0B4B 0B4C
0BBF
-0BC1 0BC2 # [2]
-0BC6 0BC8 # [3]
-0BCA 0BCC # [3]
-0C01 0C03 # [3]
-0C41 0C44 # [4]
-0C82 0C83 # [2]
+0BC1 0BC2
+0BC6 0BC8
+0BCA 0BCC
+0C01 0C03
+0C41 0C44
+0C82 0C83
0CBE
-0CC0 0CC1 # [2]
-0CC3 0CC4 # [2]
-0CC7 0CC8 # [2]
-0CCA 0CCB # [2]
-0D02 0D03 # [2]
-0D3F 0D40 # [2]
-0D46 0D48 # [3]
-0D4A 0D4C # [3]
-0D82 0D83 # [2]
-0DD0 0DD1 # [2]
-0DD8 0DDE # [7]
-0DF2 0DF3 # [2]
-0F3E 0F3F # [2]
+0CC0 0CC1
+0CC3 0CC4
+0CC7 0CC8
+0CCA 0CCB
+0D02 0D03
+0D3F 0D40
+0D46 0D48
+0D4A 0D4C
+0D82 0D83
+0DD0 0DD1
+0DD8 0DDE
+0DF2 0DF3
+0E30
+0E32 0E33
+0E45
+0EB0
+0EB2 0EB3
+0F3E 0F3F
0F7F
-102B 102C # [2]
+102B 102C
1031
1038
-103B 103C # [2]
-1056 1057 # [2]
-1062 1064 # [3]
-1067 106D # [7]
-1083 1084 # [2]
-1087 108C # [6]
+103B 103C
+1056 1057
+1062 1064
+1067 106D
+1083 1084
+1087 108C
108F
-109A 109C # [3]
+109A 109C
17B6
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-1923 1926 # [4]
-1929 192B # [3]
-1930 1931 # [2]
-1933 1938 # [6]
-19B0 19C0 # [17]
-19C8 19C9 # [2]
-1A19 1A1B # [3]
+17BE 17C5
+17C7 17C8
+1923 1926
+1929 192B
+1930 1931
+1933 1938
+19B0 19C0
+19C8 19C9
+1A19 1A1B
1A55
1A57
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
+1A63 1A64
+1A6D 1A72
1B04
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B44 # [2]
+1B3D 1B41
+1B43 1B44
1B82
1BA1
-1BA6 1BA7 # [2]
+1BA6 1BA7
1BAA
-1C24 1C2B # [8]
-1C34 1C35 # [2]
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1BF3
+1C24 1C2B
+1C34 1C35
1CE1
1CF2
-A823 A824 # [2]
+A823 A824
A827
-A880 A881 # [2]
-A8B4 A8C3 # [16]
-A952 A953 # [2]
+A880 A881
+A8B4 A8C3
+A952 A953
A983
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD A9C0 # [4]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
+A9B4 A9B5
+A9BA A9BB
+A9BD A9C0
+AA2F AA30
+AA33 AA34
AA4D
AA7B
-ABE3 ABE4 # [2]
-ABE6 ABE7 # [2]
-ABE9 ABEA # [2]
+ABE3 ABE4
+ABE6 ABE7
+ABE9 ABEA
ABEC
+11000
+11002
11082
-110B0 110B2 # [3]
-110B7 110B8 # [2]
+110B0 110B2
+110B7 110B8
1D166
1D16D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl
index 3124bb0a0e8..d1688742fd5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl
@@ -1,55 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 137 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=T}
-# \p{GCB=T}
-# \p{Is_Grapheme_Cluster_Break=T}
-# \p{Is_GCB=T}
-#
-# \p{Line_Break=JT}
-# \p{Lb=JT}
-# \p{Is_Line_Break=JT}
-# \p{Is_Lb=JT}
-#
-# \p{Hangul_Syllable_Type=Trailing_Jamo}
-# \p{Hst=T}
-# \p{Is_Hangul_Syllable_Type=Trailing_Jamo}
-# \p{Is_Hst=T}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Hst: Trailing_Jamo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-11A8 11FF # [88]
-D7CB D7FB # [49]
+11A8 11FF
+D7CB D7FB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl
index 6587bd581b5..9c8c5332799 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl
@@ -1,55 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 95 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=V}
-# \p{GCB=V}
-# \p{Is_Grapheme_Cluster_Break=V}
-# \p{Is_GCB=V}
-#
-# \p{Line_Break=JV}
-# \p{Lb=JV}
-# \p{Is_Line_Break=JV}
-# \p{Is_Lb=JV}
-#
-# \p{Hangul_Syllable_Type=Vowel_Jamo}
-# \p{Hst=V}
-# \p{Is_Hangul_Syllable_Type=Vowel_Jamo}
-# \p{Is_Hst=V}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Hst: Vowel_Jamo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1160 11A7 # [72]
-D7B0 D7C6 # [23]
+1160 11A7
+D7B0 D7C6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
index 182f0dea077..2d0040705ec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
@@ -1,241 +1,224 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_100_901 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Grapheme_Cluster_Break=Other}
-# \p{GCB=XX}
-# \p{Is_Grapheme_Cluster_Break=Other}
-# \p{Is_GCB=XX}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_GCB: Other}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0020 007E # [95]
-00A0 00AC # [13]
-00AE 02FF # [594]
-0370 0482 # [275]
-048A 0590 # [263]
+0020 007E
+00A0 00AC
+00AE 02FF
+0370 0482
+048A 0590
05BE
05C0
05C3
05C6
-05C8 05FF # [56]
-0604 060F # [12]
-061B 064A # [48]
-065F 066F # [17]
-0671 06D5 # [101]
-06E5 06E6 # [2]
+05C8 05FF
+0604 060F
+061B 064A
+0660 066F
+0671 06D5
+06DE
+06E5 06E6
06E9
-06EE 070E # [33]
+06EE 070E
0710
-0712 072F # [30]
-074B 07A5 # [91]
-07B1 07EA # [58]
-07F4 0815 # [34]
+0712 072F
+074B 07A5
+07B1 07EA
+07F4 0815
081A
0824
0828
-082E 08FF # [210]
-0904 093B # [56]
+082E 0858
+085C 08FF
+0904 0939
093D
-094F 0950 # [2]
-0956 0961 # [12]
-0964 0980 # [29]
-0984 09BB # [56]
+0950
+0958 0961
+0964 0980
+0984 09BB
09BD
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CE 09D6 # [9]
-09D8 09E1 # [10]
-09E4 0A00 # [29]
-0A04 0A3B # [56]
+09C5 09C6
+09C9 09CA
+09CE 09D6
+09D8 09E1
+09E4 0A00
+0A04 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A6F # [30]
-0A72 0A74 # [3]
-0A76 0A80 # [11]
-0A84 0ABB # [56]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A6F
+0A72 0A74
+0A76 0A80
+0A84 0ABB
0ABD
0AC6
0ACA
-0ACE 0AE1 # [20]
-0AE4 0B00 # [29]
-0B04 0B3B # [56]
+0ACE 0AE1
+0AE4 0B00
+0B04 0B3B
0B3D
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B61 # [10]
-0B64 0B81 # [30]
-0B83 0BBD # [59]
-0BC3 0BC5 # [3]
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B61
+0B64 0B81
+0B83 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BD6 # [9]
-0BD8 0C00 # [41]
-0C04 0C3D # [58]
+0BCE 0BD6
+0BD8 0C00
+0C04 0C3D
0C45
0C49
-0C4E 0C54 # [7]
-0C57 0C61 # [11]
-0C64 0C81 # [30]
-0C84 0CBB # [56]
+0C4E 0C54
+0C57 0C61
+0C64 0C81
+0C84 0CBB
0CBD
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CE1 # [11]
-0CE4 0D01 # [30]
-0D04 0D3D # [58]
+0CCE 0CD4
+0CD7 0CE1
+0CE4 0D01
+0D04 0D3D
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D61 # [10]
-0D64 0D81 # [30]
-0D84 0DC9 # [70]
-0DCB 0DCE # [4]
+0D4E 0D56
+0D58 0D61
+0D64 0D81
+0D84 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E2F # [60]
-0E3B 0E3F # [5]
+0DE0 0DF1
+0DF4 0E2F
+0E3B 0E3F
0E46
-0E4F 0EAF # [97]
+0E4F 0EAF
0EBA
-0EBD 0EBF # [3]
-0EC5 0EC7 # [3]
-0ECE 0F17 # [74]
-0F1A 0F34 # [27]
+0EBD 0EBF
+0EC5 0EC7
+0ECE 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F3D # [4]
-0F40 0F70 # [49]
+0F3A 0F3D
+0F40 0F70
0F85
-0F88 0F8F # [8]
+0F88 0F8C
0F98
-0FBD 0FC5 # [9]
-0FC7 102A # [100]
-103F 1055 # [23]
-105A 105D # [4]
+0FBD 0FC5
+0FC7 102A
+103F 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-1090 1099 # [10]
-109E 10FF # [98]
-1200 135E # [351]
-1360 1711 # [946]
-1715 1731 # [29]
-1735 1751 # [29]
-1754 1771 # [30]
-1774 17B3 # [64]
-17D4 17DC # [9]
-17DE 180A # [45]
-180E 18A8 # [155]
-18AA 191F # [118]
-192C 192F # [4]
-193C 19AF # [116]
-19C1 19C7 # [7]
-19CA 1A16 # [77]
-1A1C 1A54 # [57]
+1090 1099
+109E 10FF
+1200 135C
+1360 1711
+1715 1731
+1735 1751
+1754 1771
+1774 17B3
+17D4 17DC
+17DE 180A
+180E 18A8
+18AA 191F
+192C 192F
+193C 19AF
+19C1 19C7
+19CA 1A16
+1A1C 1A54
1A5F
-1A7D 1A7E # [2]
-1A80 1AFF # [128]
-1B05 1B33 # [47]
-1B45 1B6A # [38]
-1B74 1B7F # [12]
-1B83 1BA0 # [30]
-1BAB 1C23 # [121]
-1C38 1CCF # [152]
+1A7D 1A7E
+1A80 1AFF
+1B05 1B33
+1B45 1B6A
+1B74 1B7F
+1B83 1BA0
+1BAB 1BE5
+1BF4 1C23
+1C38 1CCF
1CD3
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-1CF3 1DBF # [205]
-1DE7 1DFC # [22]
-1E00 200A # [523]
-2010 2027 # [24]
-202F 205F # [49]
-2065 2069 # [5]
-2070 20CF # [96]
-20F1 2CEE # [3070]
-2CF2 2DDF # [238]
-2E00 3029 # [554]
-3030 3098 # [105]
-309B A66E # [30_164]
-A673 A67B # [9]
-A67E A6EF # [114]
-A6F2 A801 # [272]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A828 A87F # [88]
-A882 A8B3 # [50]
-A8C5 A8DF # [27]
-A8F2 A925 # [52]
-A92E A946 # [25]
-A954 A95F # [12]
-A97D A97F # [3]
-A984 A9B2 # [47]
-A9C1 AA28 # [104]
-AA37 AA42 # [12]
-AA44 AA4B # [8]
-AA4E AA7A # [45]
-AA7C AAAF # [52]
+1CE9 1CEC
+1CEE 1CF1
+1CF3 1DBF
+1DE7 1DFB
+1E00 200A
+2010 2027
+202F 205F
+2065 2069
+2070 20CF
+20F1 2CEE
+2CF2 2D7E
+2D80 2DDF
+2E00 3029
+3030 3098
+309B A66E
+A673 A67B
+A67E A6EF
+A6F2 A801
+A803 A805
+A807 A80A
+A80C A822
+A828 A87F
+A882 A8B3
+A8C5 A8DF
+A8F2 A925
+A92E A946
+A954 A95F
+A97D A97F
+A984 A9B2
+A9C1 AA28
+AA37 AA42
+AA44 AA4B
+AA4E AA7A
+AA7C AAAF
AAB1
AABA
AABD
AAC0
-AAC2 ABE2 # [289]
+AAC2 ABE2
ABEB
-ABEE ABFF # [18]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC FB1D # [8994]
-FB1F FDFF # [737]
-FE10 FE1F # [16]
-FE27 FEFE # [216]
-FF00 FF9D # [158]
-FFA0 FFF8 # [89]
-FFFC 101FC # [513]
-101FE 10A00 # [2051]
+ABEE ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC FB1D
+FB1F FDFF
+FE10 FE1F
+FE27 FEFE
+FF00 FF9D
+FFA0 FFF8
+FFFC 101FC
+101FE 10A00
10A04
-10A07 10A0B # [5]
-10A10 10A37 # [40]
-10A3B 10A3E # [4]
-10A40 1107F # [1600]
-11083 110AF # [45]
-110BB 110BC # [2]
-110BE 1D164 # [49_319]
-1D16A 1D16C # [3]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 E0000 # [798_140]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+10A07 10A0B
+10A10 10A37
+10A3B 10A3E
+10A40 10FFF
+11003 11037
+11047 1107F
+11083 110AF
+110BB 110BC
+110BE 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
index 189f2344ff0..74eac01c944 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
@@ -1,343 +1,296 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_006_956 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{General_Category=Other}
-# \p{Gc=C}
-# \p{Category=Other}
-# \p{Is_General_Category=C}
-# \p{Is_Gc=Other}
-# \p{Is_Category=C}
-#
-# \p{Other}
-# \p{Is_Other}
-# \p{C}
-# \p{Is_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Other}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 001F # [32]
-007F 009F # [33]
+0000 001F
+007F 009F
00AD
-0378 0379 # [2]
-037F 0383 # [5]
+0378 0379
+037F 0383
038B
038D
03A2
-0526 0530 # [11]
-0557 0558 # [2]
+0528 0530
+0557 0558
0560
0588
-058B 0590 # [6]
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F5 0605 # [17]
-061C 061D # [2]
-0620
-065F
+058B 0590
+05C8 05CF
+05EB 05EF
+05F5 0605
+061C 061D
06DD
-070E 070F # [2]
-074B 074C # [2]
-07B2 07BF # [14]
-07FB 07FF # [5]
-082E 082F # [2]
-083F 08FF # [193]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0973 0978 # [6]
+070E 070F
+074B 074C
+07B2 07BF
+07FB 07FF
+082E 082F
+083F
+085C 085D
+085F 08FF
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09FC 0A00 # [5]
+09E4 09E5
+09FC 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
0AF0
-0AF2 0B00 # [15]
+0AF2 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
-0B72 0B81 # [16]
+0B64 0B65
+0B78 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BFB 0C00 # [6]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BFB 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C77 # [8]
-0C80 0C81 # [2]
+0C5A 0C5F
+0C64 0C65
+0C70 0C77
+0C80 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
+0CE4 0CE5
0CF0
-0CF3 0D01 # [15]
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D76 0D78 # [3]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D76 0D78
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF5 0E00 # [12]
-0E3B 0E3E # [4]
-0E5C 0E80 # [37]
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
0F48
-0F6D 0F70 # [4]
-0F8C 0F8F # [4]
+0F6D 0F70
0F98
0FBD
0FCD
-0FD9 0FFF # [39]
-10C6 10CF # [10]
-10FD 10FF # [3]
+0FDB 0FFF
+10C6 10CF
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-137D 137F # [3]
-139A 139F # [6]
-13F5 13FF # [11]
-169D 169F # [3]
-16F1 16FF # [15]
+1316 1317
+135B 135C
+137D 137F
+139A 139F
+13F5 13FF
+169D 169F
+16F1 16FF
170D
-1715 171F # [11]
-1737 173F # [9]
-1754 175F # [12]
+1715 171F
+1737 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17B4 17B5 # [2]
-17DE 17DF # [2]
-17EA 17EF # [6]
-17FA 17FF # [6]
+1774 177F
+17B4 17B5
+17DE 17DF
+17EA 17EF
+17FA 17FF
180F
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 193F # [4]
-1941 1943 # [3]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19DD # [3]
-1A1C 1A1D # [2]
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19DD
+1A1C 1A1D
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1A9F # [6]
-1AAE 1AFF # [82]
-1B4C 1B4F # [4]
-1B7D 1B7F # [3]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3A # [3]
-1C4A 1C4C # [3]
-1C80 1CCF # [80]
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1A9F
+1AAE 1AFF
+1B4C 1B4F
+1B7D 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFB
+1C38 1C3A
+1C4A 1C4C
+1C80 1CCF
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-200B 200F # [5]
-202A 202E # [5]
-2060 206F # [16]
-2072 2073 # [2]
+200B 200F
+202A 202E
+2060 206F
+2072 2073
208F
-2095 209F # [11]
-20B9 20CF # [23]
-20F1 20FF # [15]
-218A 218F # [6]
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-26CE
-26E2
-26E4 26E7 # [4]
+209D 209F
+20BA 20CF
+20F1 20FF
+218A 218F
+23F4 23FF
+2427 243F
+244B 245F
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2B4D 2B4F # [3]
-2B5A 2BFF # [166]
+27CD
+2B4D 2B4F
+2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8 # [7]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CF2 2CF8
+2D26 2D2F
+2D66 2D6E
+2D71 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -346,185 +299,218 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F # [78]
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
3040
-3097 3098 # [2]
-3100 3104 # [5]
-312E 3130 # [3]
+3097 3098
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-4DB6 4DBF # [10]
-9FCC 9FFF # [52]
-A48D A48F # [3]
-A4C7 A4CF # [9]
-A62C A63F # [20]
-A660 A661 # [2]
-A674 A67B # [8]
-A698 A69F # [8]
-A6F8 A6FF # [8]
-A78D A7FA # [110]
-A82C A82F # [4]
-A83A A83F # [6]
-A878 A87F # [8]
-A8C5 A8CD # [9]
-A8DA A8DF # [6]
-A8FC A8FF # [4]
-A954 A95E # [11]
-A97D A97F # [3]
+4DB6 4DBF
+9FCC 9FFF
+A48D A48F
+A4C7 A4CF
+A62C A63F
+A674 A67B
+A698 A69F
+A6F8 A6FF
+A78F
+A792 A79F
+A7AA A7F9
+A82C A82F
+A83A A83F
+A878 A87F
+A8C5 A8CD
+A8DA A8DF
+A8FC A8FF
+A954 A95E
+A97D A97F
A9CE
-A9DA A9DD # [4]
-A9E0 A9FF # [32]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5B # [2]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AAE0 ABBF # [224]
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+A9DA A9DD
+A9E0 A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5B
+AA7C AA7F
+AAC3 AADA
+AAE0 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFE FDFF # [2]
-FE1A FE1F # [6]
-FE27 FE2F # [9]
+FBC2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FDFF
+FE1A FE1F
+FE27 FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE75
-FEFD FF00 # [4]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FEFD FF00
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFFB # [13]
-FFFE FFFF # [2]
+FFEF FFFB
+FFFE FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 100FF # [5]
-10103 10106 # [4]
-10134 10136 # [3]
-1018B 1018F # [5]
-1019C 101CF # [52]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+1018B 1018F
+1019C 101CF
+101FE 1027F
+1029D 1029F
+102D1 102FF
1031F
-10324 1032F # [12]
-1034B 1037F # [53]
+10324 1032F
+1034B 1037F
1039E
-103C4 103C7 # [4]
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103C4 103C7
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
+10839 1083B
+1083D 1083E
10856
-10860 108FF # [160]
-1091C 1091E # [3]
-1093A 1093E # [5]
-10940 109FF # [192]
+10860 108FF
+1091C 1091E
+1093A 1093E
+10940 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A48 10A4F # [8]
-10A59 10A5F # [7]
-10A80 10AFF # [128]
-10B36 10B38 # [3]
-10B56 10B57 # [2]
-10B73 10B77 # [5]
-10B80 10BFF # [128]
-10C49 10E5F # [535]
-10E7F 1107F # [513]
+10A34 10A37
+10A3B 10A3E
+10A48 10A4F
+10A59 10A5F
+10A80 10AFF
+10B36 10B38
+10B56 10B57
+10B73 10B77
+10B80 10BFF
+10C49 10E5F
+10E7F 10FFF
+1104E 11051
+11070 1107F
110BD
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 1246F # [13]
-12474 12FFF # [2956]
-1342F 1CFFF # [39_889]
-1D0F6 1D0FF # [10]
-1D127 1D128 # [2]
-1D173 1D17A # [8]
-1D1DE 1D1FF # [34]
-1D246 1D2FF # [186]
-1D357 1D35F # [9]
-1D372 1D3FF # [142]
+110C2 11FFF
+1236F 123FF
+12463 1246F
+12474 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1CFFF
+1D0F6 1D0FF
+1D127 1D128
+1D173 1D17A
+1D1DE 1D1FF
+1D246 1D2FF
+1D357 1D35F
+1D372 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1EFFF # [6144]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFF # [3511]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E E00FF # [722_658]
-E01F0 10FFFF # [196_112]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1EFFF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F10F
+1F12F
+1F16A 1F16F
+1F19B 1F1E5
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F4F8
+1F4FD 1F4FF
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
index f3efe3c5d44..205cbf37f62 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
@@ -1,48 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 65 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Control}
-# \p{Gc=Cc}
-# \p{Category=Cntrl}
-# \p{Is_General_Category=Control}
-# \p{Is_Gc=Cc}
-# \p{Is_Category=Cntrl}
-#
-# \p{Cntrl}
-# \p{Is_Cntrl}
-# \p{Control}
-# \p{Is_Control}
-# \p{Cc}
-# \p{Is_Cc}
-#
-# Meaning: Control characters
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Control}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 001F # [32]
-007F 009F # [33]
+0000 001F
+007F 009F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
index c4d99d766f7..726563bb3b7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
@@ -1,57 +1,27 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 140 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Format}
-# \p{Gc=Cf}
-# \p{Category=Format}
-# \p{Is_General_Category=Cf}
-# \p{Is_Gc=Format}
-# \p{Is_Category=Cf}
-#
-# \p{Format}
-# \p{Is_Format}
-# \p{Cf}
-# \p{Is_Cf}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Format}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AD
-0600 0603 # [4]
+0600 0603
06DD
070F
-17B4 17B5 # [2]
-200B 200F # [5]
-202A 202E # [5]
-2060 2064 # [5]
-206A 206F # [6]
+17B4 17B5
+200B 200F
+202A 202E
+2060 2064
+206A 206F
FEFF
-FFF9 FFFB # [3]
+FFF9 FFFB
110BD
-1D173 1D17A # [8]
+1D173 1D17A
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
index 4a46df1f7a5..4ab28bef8ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
@@ -1,337 +1,290 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 867_235 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{General_Category=Unassigned}
-# \p{Gc=Cn}
-# \p{Category=Unassigned}
-# \p{Is_General_Category=Cn}
-# \p{Is_Gc=Unassigned}
-# \p{Is_Category=Cn}
-#
-# \p{Unassigned}
-# \p{Is_Unassigned}
-# \p{Cn}
-# \p{Is_Cn}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Unassigned}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0378 0379 # [2]
-037F 0383 # [5]
+0378 0379
+037F 0383
038B
038D
03A2
-0526 0530 # [11]
-0557 0558 # [2]
+0528 0530
+0557 0558
0560
0588
-058B 0590 # [6]
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F5 05FF # [11]
-0604 0605 # [2]
-061C 061D # [2]
-0620
-065F
+058B 0590
+05C8 05CF
+05EB 05EF
+05F5 05FF
+0604 0605
+061C 061D
070E
-074B 074C # [2]
-07B2 07BF # [14]
-07FB 07FF # [5]
-082E 082F # [2]
-083F 08FF # [193]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0973 0978 # [6]
+074B 074C
+07B2 07BF
+07FB 07FF
+082E 082F
+083F
+085C 085D
+085F 08FF
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09FC 0A00 # [5]
+09E4 09E5
+09FC 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
0AF0
-0AF2 0B00 # [15]
+0AF2 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
-0B72 0B81 # [16]
+0B64 0B65
+0B78 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BFB 0C00 # [6]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BFB 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C77 # [8]
-0C80 0C81 # [2]
+0C5A 0C5F
+0C64 0C65
+0C70 0C77
+0C80 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
+0CE4 0CE5
0CF0
-0CF3 0D01 # [15]
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D76 0D78 # [3]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D76 0D78
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF5 0E00 # [12]
-0E3B 0E3E # [4]
-0E5C 0E80 # [37]
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
0F48
-0F6D 0F70 # [4]
-0F8C 0F8F # [4]
+0F6D 0F70
0F98
0FBD
0FCD
-0FD9 0FFF # [39]
-10C6 10CF # [10]
-10FD 10FF # [3]
+0FDB 0FFF
+10C6 10CF
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-137D 137F # [3]
-139A 139F # [6]
-13F5 13FF # [11]
-169D 169F # [3]
-16F1 16FF # [15]
+1316 1317
+135B 135C
+137D 137F
+139A 139F
+13F5 13FF
+169D 169F
+16F1 16FF
170D
-1715 171F # [11]
-1737 173F # [9]
-1754 175F # [12]
+1715 171F
+1737 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17DE 17DF # [2]
-17EA 17EF # [6]
-17FA 17FF # [6]
+1774 177F
+17DE 17DF
+17EA 17EF
+17FA 17FF
180F
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 193F # [4]
-1941 1943 # [3]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19DD # [3]
-1A1C 1A1D # [2]
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19DD
+1A1C 1A1D
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1A9F # [6]
-1AAE 1AFF # [82]
-1B4C 1B4F # [4]
-1B7D 1B7F # [3]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3A # [3]
-1C4A 1C4C # [3]
-1C80 1CCF # [80]
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1A9F
+1AAE 1AFF
+1B4C 1B4F
+1B7D 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFB
+1C38 1C3A
+1C4A 1C4C
+1C80 1CCF
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-2065 2069 # [5]
-2072 2073 # [2]
+2065 2069
+2072 2073
208F
-2095 209F # [11]
-20B9 20CF # [23]
-20F1 20FF # [15]
-218A 218F # [6]
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-26CE
-26E2
-26E4 26E7 # [4]
+209D 209F
+20BA 20CF
+20F1 20FF
+218A 218F
+23F4 23FF
+2427 243F
+244B 245F
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2B4D 2B4F # [3]
-2B5A 2BFF # [166]
+27CD
+2B4D 2B4F
+2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8 # [7]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CF2 2CF8
+2D26 2D2F
+2D66 2D6E
+2D71 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -340,188 +293,221 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F # [78]
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
3040
-3097 3098 # [2]
-3100 3104 # [5]
-312E 3130 # [3]
+3097 3098
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-4DB6 4DBF # [10]
-9FCC 9FFF # [52]
-A48D A48F # [3]
-A4C7 A4CF # [9]
-A62C A63F # [20]
-A660 A661 # [2]
-A674 A67B # [8]
-A698 A69F # [8]
-A6F8 A6FF # [8]
-A78D A7FA # [110]
-A82C A82F # [4]
-A83A A83F # [6]
-A878 A87F # [8]
-A8C5 A8CD # [9]
-A8DA A8DF # [6]
-A8FC A8FF # [4]
-A954 A95E # [11]
-A97D A97F # [3]
+4DB6 4DBF
+9FCC 9FFF
+A48D A48F
+A4C7 A4CF
+A62C A63F
+A674 A67B
+A698 A69F
+A6F8 A6FF
+A78F
+A792 A79F
+A7AA A7F9
+A82C A82F
+A83A A83F
+A878 A87F
+A8C5 A8CD
+A8DA A8DF
+A8FC A8FF
+A954 A95E
+A97D A97F
A9CE
-A9DA A9DD # [4]
-A9E0 A9FF # [32]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5B # [2]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AAE0 ABBF # [224]
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC D7FF # [4]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+A9DA A9DD
+A9E0 A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5B
+AA7C AA7F
+AAC3 AADA
+AAE0 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC D7FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFE FDFF # [2]
-FE1A FE1F # [6]
-FE27 FE2F # [9]
+FBC2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FDFF
+FE1A FE1F
+FE27 FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE75
-FEFD FEFE # [2]
+FEFD FEFE
FF00
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFF8 # [10]
-FFFE FFFF # [2]
+FFEF FFF8
+FFFE FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 100FF # [5]
-10103 10106 # [4]
-10134 10136 # [3]
-1018B 1018F # [5]
-1019C 101CF # [52]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+1018B 1018F
+1019C 101CF
+101FE 1027F
+1029D 1029F
+102D1 102FF
1031F
-10324 1032F # [12]
-1034B 1037F # [53]
+10324 1032F
+1034B 1037F
1039E
-103C4 103C7 # [4]
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103C4 103C7
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
+10839 1083B
+1083D 1083E
10856
-10860 108FF # [160]
-1091C 1091E # [3]
-1093A 1093E # [5]
-10940 109FF # [192]
+10860 108FF
+1091C 1091E
+1093A 1093E
+10940 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A48 10A4F # [8]
-10A59 10A5F # [7]
-10A80 10AFF # [128]
-10B36 10B38 # [3]
-10B56 10B57 # [2]
-10B73 10B77 # [5]
-10B80 10BFF # [128]
-10C49 10E5F # [535]
-10E7F 1107F # [513]
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 1246F # [13]
-12474 12FFF # [2956]
-1342F 1CFFF # [39_889]
-1D0F6 1D0FF # [10]
-1D127 1D128 # [2]
-1D1DE 1D1FF # [34]
-1D246 1D2FF # [186]
-1D357 1D35F # [9]
-1D372 1D3FF # [142]
+10A34 10A37
+10A3B 10A3E
+10A48 10A4F
+10A59 10A5F
+10A80 10AFF
+10B36 10B38
+10B56 10B57
+10B73 10B77
+10B80 10BFF
+10C49 10E5F
+10E7F 10FFF
+1104E 11051
+11070 1107F
+110C2 11FFF
+1236F 123FF
+12463 1246F
+12474 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1CFFF
+1D0F6 1D0FF
+1D127 1D128
+1D1DE 1D1FF
+1D246 1D2FF
+1D357 1D35F
+1D372 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1EFFF # [6144]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFF # [3511]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E E0000 # [722_403]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 EFFFF # [65_040]
-FFFFE FFFFF # [2]
-10FFFE 10FFFF # [2]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1EFFF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F10F
+1F12F
+1F16A 1F16F
+1F19B 1F1E5
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F4F8
+1F4FD 1F4FF
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E E0000
+E0002 E001F
+E0080 E00FF
+E01F0 EFFFF
+FFFFE FFFFF
+10FFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
index 512b27aed43..0da3f3ea638 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
@@ -1,48 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 137_468 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{General_Category=Private_Use}
-# \p{Gc=Co}
-# \p{Category=Private_Use}
-# \p{Is_General_Category=Co}
-# \p{Is_Gc=Private_Use}
-# \p{Is_Category=Co}
-#
-# \p{Private_Use}
-# \p{Is_Private_Use}
-# \p{Co}
-# \p{Is_Co}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Private_Use_Area}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Private_Use}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-E000 F8FF # [6400]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+E000 F8FF
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
index d134480de05..45e26495da2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
@@ -1,48 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2048 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Surrogate}
-# \p{Gc=Cs}
-# \p{Category=Surrogate}
-# \p{Is_General_Category=Cs}
-# \p{Is_Gc=Surrogate}
-# \p{Is_Category=Cs}
-#
-# \p{Surrogate}
-# \p{Is_Surrogate}
-# \p{Cs}
-# \p{Is_Cs}
-#
-# Note: Mostly not usable in Perl.
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Surrogate}
-# is also valid.
-#
-# Surrogates are used exclusively for I/O in UTF-16, and should not appear in
-# Unicode text, and hence their use will generate (usually fatal) messages
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-D800 DFFF # [2048]
+D800 DFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
index 70bd413b9d0..0de81db0a56 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
@@ -1,464 +1,447 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 99_537 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{General_Category=Letter}
-# \p{Gc=L}
-# \p{Category=Letter}
-# \p{Is_General_Category=L}
-# \p{Is_Gc=Letter}
-# \p{Is_Category=L}
-#
-# \p{Letter}
-# \p{Is_Letter}
-# \p{L}
-# \p{Is_L}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0370 0374 # [5]
-0376 0377 # [2]
-037A 037D # [4]
+0370 0374
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0621 064A # [42]
-066E 066F # [2]
-0671 06D3 # [99]
+0561 0587
+05D0 05EA
+05F0 05F2
+0620 064A
+066E 066F
+0671 06D3
06D5
-06E5 06E6 # [2]
-06EE 06EF # [2]
-06FA 06FC # [3]
+06E5 06E6
+06EE 06EF
+06FA 06FC
06FF
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-07F4 07F5 # [2]
+07CA 07EA
+07F4 07F5
07FA
-0800 0815 # [22]
+0800 0815
081A
0824
0828
-0904 0939 # [54]
+0840 0858
+0904 0939
093D
0950
-0958 0961 # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0971 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
+0B5C 0B5D
+0B5F 0B61
0B71
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0E01 0E30 # [48]
-0E32 0E33 # [2]
-0E40 0E46 # [7]
-0E81 0E82 # [2]
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB0 # [4]
-0EB2 0EB3 # [2]
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
0EBD
-0EC0 0EC4 # [5]
+0EC0 0EC4
0EC6
-0EDC 0EDD # [2]
+0EDC 0EDD
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-1000 102A # [43]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+1000 102A
103F
-1050 1055 # [6]
-105A 105D # [4]
+1050 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-10A0 10C5 # [38]
-10D0 10FA # [43]
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1780 17B3 # [52]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
17D7
17DC
-1820 1877 # [88]
-1880 18A8 # [41]
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19C1 19C7 # [7]
-1A00 1A16 # [23]
-1A20 1A54 # [53]
+18B0 18F5
+1900 191C
+1950 196D
+1970 1974
+1980 19AB
+19C1 19C7
+1A00 1A16
+1A20 1A54
1AA7
-1B05 1B33 # [47]
-1B45 1B4B # [7]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF1
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2071
207F
-2090 2094 # [5]
+2090 209C
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213C 213F # [4]
-2145 2149 # [5]
+212A 212D
+212F 2139
+213C 213F
+2145 2149
214E
-2183 2184 # [2]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2183 2184
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
2E2F
-3005 3006 # [2]
-3031 3035 # [5]
-303B 303C # [2]
-3041 3096 # [86]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
-A640 A65F # [32]
-A662 A66E # [13]
-A67F A697 # [25]
-A6A0 A6E5 # [70]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8F7 # [6]
+3005 3006
+3031 3035
+303B 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
+A67F A697
+A6A0 A6E5
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
A8FB
-A90A A925 # [28]
-A930 A946 # [23]
-A960 A97C # [29]
-A984 A9B2 # [47]
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
A9CF
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
-AA60 AA76 # [23]
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AA60 AA76
AA7A
-AA80 AAAF # [48]
+AA80 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
AAC2
-AADB AADD # [3]
-ABC0 ABE2 # [35]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB28 # [10]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB1F FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 10340 # [17]
-10342 10349 # [8]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-10400 1049D # [158]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 10340
+10342 10349
+10380 1039D
+103A0 103C3
+103C8 103CF
+10400 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
+1083F 10855
+10900 10915
+10920 10939
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11083 110AF # [45]
-12000 1236E # [879]
-13000 1342E # [1071]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+12000 1236E
+13000 1342E
+16800 16A38
+1B000 1B001
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
index 17a5cbbd560..556d2bbfb3a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
@@ -1,158 +1,122 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'X' below means that this form is discouraged. Consult perluniprops.pod
-#
-# This file returns the 3207 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Cased_Letter}
-# \p{Gc=LC}
-# X \p{Category=L_}
-# X \p{Is_General_Category=L&}
-# \p{Is_Gc=Cased_Letter}
-# \p{Is_Category=LC}
-#
-# \p{Cased_Letter}
-# \p{Is_Cased_Letter}
-# \p{LC}
-# \p{Is_LC}
-# \p{L_}
-# \p{Is_L_}
-# \p{L&}
-# \p{Is_L&}
-#
-# Meaning: [\p{Ll}\p{Lu}\p{Lt}]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Cased_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 01BA # [195]
-01BC 01BF # [4]
-01C4 0293 # [208]
-0295 02AF # [27]
-0370 0373 # [4]
-0376 0377 # [2]
-037B 037D # [3]
+00C0 00D6
+00D8 00F6
+00F8 01BA
+01BC 01BF
+01C4 0293
+0295 02AF
+0370 0373
+0376 0377
+037B 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
-0561 0587 # [39]
-10A0 10C5 # [38]
-1D00 1D2B # [44]
-1D62 1D77 # [22]
-1D79 1D9A # [34]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
+0561 0587
+10A0 10C5
+1D00 1D2B
+1D62 1D77
+1D79 1D9A
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2134 # [6]
+212A 212D
+212F 2134
2139
-213C 213F # [4]
-2145 2149 # [5]
+213C 213F
+2145 2149
214E
-2183 2184 # [2]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2C7C # [29]
-2C7E 2CE4 # [103]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-A640 A65F # [32]
-A662 A66D # [12]
-A680 A697 # [24]
-A722 A76F # [78]
-A771 A787 # [23]
-A78B A78C # [2]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-10400 1044F # [80]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+2183 2184
+2C00 2C2E
+2C30 2C5E
+2C60 2C7C
+2C7E 2CE4
+2CEB 2CEE
+2D00 2D25
+A640 A66D
+A680 A697
+A722 A76F
+A771 A787
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA
+FB00 FB06
+FB13 FB17
+FF21 FF3A
+FF41 FF5A
+10400 1044F
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
index cfa3d74a244..27ab383eb66 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
@@ -1,50 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1749 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Lowercase_Letter}
-# \p{Gc=Ll}
-# \p{Category=Lowercase_Letter}
-# \p{Is_General_Category=Ll}
-# \p{Is_Gc=Lowercase_Letter}
-# \p{Is_Category=Ll}
-#
-# \p{Lowercase_Letter}
-# \p{Is_Lowercase_Letter}
-# \p{Ll}
-# \p{Is_Ll}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Lowercase_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0061 007A # [26]
+0061 007A
00AA
00B5
00BA
-00DF 00F6 # [24]
-00F8 00FF # [8]
+00DF 00F6
+00F8 00FF
0101
0103
0105
@@ -72,7 +42,7 @@ return <<'END';
0131
0133
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -80,7 +50,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -106,26 +76,26 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BA # [2]
-01BD 01BF # [3]
+01B9 01BA
+01BD 01BF
01C6
01C9
01CC
@@ -136,7 +106,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -145,7 +115,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
+01EF 01F0
01F3
01F5
01F9
@@ -177,24 +147,24 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 0293 # [69]
-0295 02AF # [27]
+024F 0293
+0295 02AF
0371
0373
0377
-037B 037D # [3]
+037B 037D
0390
-03AC 03CE # [35]
-03D0 03D1 # [2]
-03D5 03D7 # [3]
+03AC 03CE
+03D0 03D1
+03D5 03D7
03D9
03DB
03DD
@@ -206,11 +176,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F3 # [5]
+03EF 03F3
03F5
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -261,7 +231,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -305,10 +275,11 @@ return <<'END';
0521
0523
0525
-0561 0587 # [39]
-1D00 1D2B # [44]
-1D62 1D77 # [22]
-1D79 1D9A # [34]
+0527
+0561 0587
+1D00 1D2B
+1D62 1D77
+1D79 1D9A
1E01
1E03
1E05
@@ -383,7 +354,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9D # [9]
+1E95 1E9D
1E9F
1EA1
1EA3
@@ -432,46 +403,46 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F15 # [6]
-1F20 1F27 # [8]
-1F30 1F37 # [8]
-1F40 1F45 # [6]
-1F50 1F57 # [8]
-1F60 1F67 # [8]
-1F70 1F7D # [14]
-1F80 1F87 # [8]
-1F90 1F97 # [8]
-1FA0 1FA7 # [8]
-1FB0 1FB4 # [5]
-1FB6 1FB7 # [2]
+1EFF 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FC7 # [2]
-1FD0 1FD3 # [4]
-1FD6 1FD7 # [2]
-1FE0 1FE7 # [8]
-1FF2 1FF4 # [3]
-1FF6 1FF7 # [2]
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
210A
-210E 210F # [2]
+210E 210F
2113
212F
2134
2139
-213C 213D # [2]
-2146 2149 # [4]
+213C 213D
+2146 2149
214E
2184
-2C30 2C5E # [47]
+2C30 2C5E
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7C # [7]
+2C73 2C74
+2C76 2C7C
2C81
2C83
2C85
@@ -521,10 +492,10 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CE4 # [2]
+2CE3 2CE4
2CEC
2CEE
-2D00 2D25 # [38]
+2D00 2D25
A641
A643
A645
@@ -541,6 +512,7 @@ A659
A65B
A65D
A65F
+A661
A663
A665
A667
@@ -565,7 +537,7 @@ A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -597,7 +569,7 @@ A769
A76B
A76D
A76F
-A771 A778 # [8]
+A771 A778
A77A
A77C
A77F
@@ -606,36 +578,44 @@ A783
A785
A787
A78C
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF41 FF5A # [26]
-10428 1044F # [40]
-1D41A 1D433 # [26]
-1D44E 1D454 # [7]
-1D456 1D467 # [18]
-1D482 1D49B # [26]
-1D4B6 1D4B9 # [4]
+A78E
+A791
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9
+A7FA
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
+1D41A 1D433
+1D44E 1D454
+1D456 1D467
+1D482 1D49B
+1D4B6 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D4CF # [11]
-1D4EA 1D503 # [26]
-1D51E 1D537 # [26]
-1D552 1D56B # [26]
-1D586 1D59F # [26]
-1D5BA 1D5D3 # [26]
-1D5EE 1D607 # [26]
-1D622 1D63B # [26]
-1D656 1D66F # [26]
-1D68A 1D6A5 # [28]
-1D6C2 1D6DA # [25]
-1D6DC 1D6E1 # [6]
-1D6FC 1D714 # [25]
-1D716 1D71B # [6]
-1D736 1D74E # [25]
-1D750 1D755 # [6]
-1D770 1D788 # [25]
-1D78A 1D78F # [6]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7C9 # [6]
+1D4BD 1D4C3
+1D4C5 1D4CF
+1D4EA 1D503
+1D51E 1D537
+1D552 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A5
+1D6C2 1D6DA
+1D6DC 1D6E1
+1D6FC 1D714
+1D716 1D71B
+1D736 1D74E
+1D750 1D755
+1D770 1D788
+1D78A 1D78F
+1D7AA 1D7C2
+1D7C4 1D7C9
1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
index dc7d3741cf8..73b6708c402 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
@@ -1,55 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 202 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Modifier_Letter}
-# \p{Gc=Lm}
-# \p{Category=Modifier_Letter}
-# \p{Is_General_Category=Lm}
-# \p{Is_Gc=Modifier_Letter}
-# \p{Is_Category=Lm}
-#
-# \p{Modifier_Letter}
-# \p{Is_Modifier_Letter}
-# \p{Lm}
-# \p{Is_Lm}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Modifier_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-02B0 02C1 # [18]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+02B0 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
0374
037A
0559
0640
-06E5 06E6 # [2]
-07F4 07F5 # [2]
+06E5 06E6
+07F4 07F5
07FA
081A
0824
@@ -61,31 +31,31 @@ return <<'END';
17D7
1843
1AA7
-1C78 1C7D # [6]
-1D2C 1D61 # [54]
+1C78 1C7D
+1D2C 1D61
1D78
-1D9B 1DBF # [37]
+1D9B 1DBF
2071
207F
-2090 2094 # [5]
+2090 209C
2C7D
2D6F
2E2F
3005
-3031 3035 # [5]
+3031 3035
303B
-309D 309E # [2]
-30FC 30FE # [3]
+309D 309E
+30FC 30FE
A015
-A4F8 A4FD # [6]
+A4F8 A4FD
A60C
A67F
-A717 A71F # [9]
+A717 A71F
A770
A788
A9CF
AA70
AADD
FF70
-FF9E FF9F # [2]
+FF9E FF9F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
index 294db2c6d1c..438bb438ade 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
@@ -1,353 +1,335 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96_128 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{General_Category=Other_Letter}
-# \p{Gc=Lo}
-# \p{Category=Other_Letter}
-# \p{Is_General_Category=Lo}
-# \p{Is_Gc=Other_Letter}
-# \p{Is_Category=Lo}
-#
-# \p{Other_Letter}
-# \p{Is_Other_Letter}
-# \p{Lo}
-# \p{Is_Lo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Other_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
01BB
-01C0 01C3 # [4]
+01C0 01C3
0294
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0621 063F # [31]
-0641 064A # [10]
-066E 066F # [2]
-0671 06D3 # [99]
+05D0 05EA
+05F0 05F2
+0620 063F
+0641 064A
+066E 066F
+0671 06D3
06D5
-06EE 06EF # [2]
-06FA 06FC # [3]
+06EE 06EF
+06FA 06FC
06FF
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-0800 0815 # [22]
-0904 0939 # [54]
+07CA 07EA
+0800 0815
+0840 0858
+0904 0939
093D
0950
-0958 0961 # [10]
-0972
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0972 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
+0B5C 0B5D
+0B5F 0B61
0B71
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0E01 0E30 # [48]
-0E32 0E33 # [2]
-0E40 0E45 # [6]
-0E81 0E82 # [2]
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E45
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB0 # [4]
-0EB2 0EB3 # [2]
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
0EBD
-0EC0 0EC4 # [5]
-0EDC 0EDD # [2]
+0EC0 0EC4
+0EDC 0EDD
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-1000 102A # [43]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+1000 102A
103F
-1050 1055 # [6]
-105A 105D # [4]
+1050 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-10D0 10FA # [43]
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+10D0 10FA
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1780 17B3 # [52]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
17DC
-1820 1842 # [35]
-1844 1877 # [52]
-1880 18A8 # [41]
+1820 1842
+1844 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19C1 19C7 # [7]
-1A00 1A16 # [23]
-1A20 1A54 # [53]
-1B05 1B33 # [47]
-1B45 1B4B # [7]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C77 # [30]
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-2135 2138 # [4]
-2D30 2D65 # [54]
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
+18B0 18F5
+1900 191C
+1950 196D
+1970 1974
+1980 19AB
+19C1 19C7
+1A00 1A16
+1A20 1A54
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C77
+1CE9 1CEC
+1CEE 1CF1
+2135 2138
+2D30 2D65
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
3006
303C
-3041 3096 # [86]
+3041 3096
309F
-30A1 30FA # [90]
+30A1 30FA
30FF
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A014 # [21]
-A016 A48C # [1143]
-A4D0 A4F7 # [40]
-A500 A60B # [268]
-A610 A61F # [16]
-A62A A62B # [2]
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A014
+A016 A48C
+A4D0 A4F7
+A500 A60B
+A610 A61F
+A62A A62B
A66E
-A6A0 A6E5 # [70]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8F7 # [6]
+A6A0 A6E5
+A7FB A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
A8FB
-A90A A925 # [28]
-A930 A946 # [23]
-A960 A97C # [29]
-A984 A9B2 # [47]
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
-AA60 AA6F # [16]
-AA71 AA76 # [6]
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AA60 AA6F
+AA71 AA76
AA7A
-AA80 AAAF # [48]
+AA80 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
AAC2
-AADB AADC # [2]
-ABC0 ABE2 # [35]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
+AADB AADC
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
FB1D
-FB1F FB28 # [10]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB1F FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF66 FF6F # [10]
-FF71 FF9D # [45]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 10340 # [17]
-10342 10349 # [8]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-10450 1049D # [78]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF66 FF6F
+FF71 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 10340
+10342 10349
+10380 1039D
+103A0 103C3
+103C8 103CF
+10450 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
+1083F 10855
+10900 10915
+10920 10939
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11083 110AF # [45]
-12000 1236E # [879]
-13000 1342E # [1071]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+12000 1236E
+13000 1342E
+16800 16A38
+1B000 1B001
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl
deleted file mode 100644
index 693c9d4510e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lt.pl
+++ /dev/null
@@ -1,54 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-# This file returns the 31 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Titlecase_Letter}
-# \p{Gc=Lt}
-# \p{Category=Titlecase_Letter}
-# \p{Is_General_Category=Lt}
-# \p{Is_Gc=Titlecase_Letter}
-# \p{Is_Category=Lt}
-#
-# \p{Title}
-# \p{Is_Title}
-# \p{Titlecase_Letter}
-# \p{Is_Titlecase_Letter}
-# \p{Lt}
-# \p{Is_Lt}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Titlecase_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
-
-return <<'END';
-01C5
-01C8
-01CB
-01F2
-1F88 1F8F # [8]
-1F98 1F9F # [8]
-1FA8 1FAF # [8]
-1FBC
-1FCC
-1FFC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
index 39a6eae98cd..ff59733e5bd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
@@ -1,47 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1427 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Uppercase_Letter}
-# \p{Gc=Lu}
-# \p{Category=Uppercase_Letter}
-# \p{Is_General_Category=Lu}
-# \p{Is_Gc=Uppercase_Letter}
-# \p{Is_Category=Lu}
-#
-# \p{Uppercase_Letter}
-# \p{Is_Uppercase_Letter}
-# \p{Lu}
-# \p{Is_Lu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Uppercase_Letter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-00C0 00D6 # [23]
-00D8 00DE # [7]
+0041 005A
+00C0 00D6
+00D8 00DE
0100
0102
0104
@@ -101,27 +71,27 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
+01B7 01B8
01BC
01C4
01C7
@@ -145,7 +115,7 @@ return <<'END';
01EE
01F1
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -175,10 +145,10 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -187,13 +157,13 @@ return <<'END';
0372
0376
0386
-0388 038A # [3]
+0388 038A
038C
-038E 038F # [2]
-0391 03A1 # [17]
-03A3 03AB # [9]
+038E 038F
+0391 03A1
+03A3 03AB
03CF
-03D2 03D4 # [3]
+03D2 03D4
03D8
03DA
03DC
@@ -208,8 +178,8 @@ return <<'END';
03EE
03F4
03F7
-03F9 03FA # [2]
-03FD 042F # [51]
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -254,7 +224,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -304,8 +274,9 @@ return <<'END';
0520
0522
0524
-0531 0556 # [38]
-10A0 10C5 # [38]
+0526
+0531 0556
+10A0 10C5
1E00
1E02
1E04
@@ -430,45 +401,45 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F18 1F1D # [6]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F48 1F4D # [6]
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
1F59
1F5B
1F5D
1F5F
-1F68 1F6F # [8]
-1FB8 1FBB # [4]
-1FC8 1FCB # [4]
-1FD8 1FDB # [4]
-1FE8 1FEC # [5]
-1FF8 1FFB # [4]
+1F68 1F6F
+1FB8 1FBB
+1FC8 1FCB
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFB
2102
2107
-210B 210D # [3]
-2110 2112 # [3]
+210B 210D
+2110 2112
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-2130 2133 # [4]
-213E 213F # [2]
+212A 212D
+2130 2133
+213E 213F
2145
2183
-2C00 2C2E # [47]
+2C00 2C2E
2C60
-2C62 2C64 # [3]
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7E 2C80 # [3]
+2C7E 2C80
2C82
2C84
2C86
@@ -536,6 +507,7 @@ A658
A65A
A65C
A65E
+A660
A662
A664
A666
@@ -594,43 +566,50 @@ A76C
A76E
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
A78B
-FF21 FF3A # [26]
-10400 10427 # [40]
-1D400 1D419 # [26]
-1D434 1D44D # [26]
-1D468 1D481 # [26]
+A78D
+A790
+A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+FF21 FF3A
+10400 10427
+1D400 1D419
+1D434 1D44D
+1D468 1D481
1D49C
-1D49E 1D49F # [2]
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B5 # [8]
-1D4D0 1D4E9 # [26]
-1D504 1D505 # [2]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D538 1D539 # [2]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B5
+1D4D0 1D4E9
+1D504 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D538 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D56C 1D585 # [26]
-1D5A0 1D5B9 # [26]
-1D5D4 1D5ED # [26]
-1D608 1D621 # [26]
-1D63C 1D655 # [26]
-1D670 1D689 # [26]
-1D6A8 1D6C0 # [25]
-1D6E2 1D6FA # [25]
-1D71C 1D734 # [25]
-1D756 1D76E # [25]
-1D790 1D7A8 # [25]
+1D54A 1D550
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A8 1D6C0
+1D6E2 1D6FA
+1D71C 1D734
+1D756 1D76E
+1D790 1D7A8
1D7CA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
index 669382979cc..0eb6b57c564 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
@@ -1,230 +1,205 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1451 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Mark}
-# \p{Gc=M}
-# \p{Category=Mark}
-# \p{Is_General_Category=M}
-# \p{Is_Gc=Mark}
-# \p{Is_Category=M}
-#
-# \p{Mark}
-# \p{Is_Mark}
-# \p{M}
-# \p{Is_M}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Mark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
+0300 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0903 # [4]
-093C
-093E 094E # [17]
-0951 0955 # [5]
-0962 0963 # [2]
-0981 0983 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0903
+093A 093C
+093E 094F
+0951 0957
+0962 0963
+0981 0983
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09E2 09E3 # [2]
-0A01 0A03 # [3]
+09E2 09E3
+0A01 0A03
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A83 # [3]
+0A81 0A83
0ABC
-0ABE 0AC5 # [8]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
-0AE2 0AE3 # [2]
-0B01 0B03 # [3]
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AE2 0AE3
+0B01 0B03
0B3C
-0B3E 0B44 # [7]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B62 0B63 # [2]
+0B3E 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B62 0B63
0B82
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0C01 0C03 # [3]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
-0C82 0C83 # [2]
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
+0C82 0C83
0CBC
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
-0D02 0D03 # [2]
-0D3E 0D44 # [7]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CE2 0CE3
+0D02 0D03
+0D3E 0D44
+0D46 0D48
+0D4A 0D4D
0D57
-0D62 0D63 # [2]
-0D82 0D83 # [2]
+0D62 0D63
+0D82 0D83
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
+0DD8 0DDF
+0DF2 0DF3
0E31
-0E34 0E3A # [7]
-0E47 0E4E # [8]
+0E34 0E3A
+0E47 0E4E
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F3E 0F3F # [2]
-0F71 0F84 # [20]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F3F
+0F71 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102B 103E # [20]
-1056 1059 # [4]
-105E 1060 # [3]
-1062 1064 # [3]
-1067 106D # [7]
-1071 1074 # [4]
-1082 108D # [12]
+102B 103E
+1056 1059
+105E 1060
+1062 1064
+1067 106D
+1071 1074
+1082 108D
108F
-109A 109D # [4]
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B6 17D3 # [30]
+109A 109D
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B6 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 192B # [12]
-1930 193B # [12]
-19B0 19C0 # [17]
-19C8 19C9 # [2]
-1A17 1A1B # [5]
-1A55 1A5E # [10]
-1A60 1A7C # [29]
+1920 192B
+1930 193B
+19B0 19C0
+19C8 19C9
+1A17 1A1B
+1A55 1A5E
+1A60 1A7C
1A7F
-1B00 1B04 # [5]
-1B34 1B44 # [17]
-1B6B 1B73 # [9]
-1B80 1B82 # [3]
-1BA1 1BAA # [10]
-1C24 1C37 # [20]
-1CD0 1CD2 # [3]
-1CD4 1CE8 # [21]
+1B00 1B04
+1B34 1B44
+1B6B 1B73
+1B80 1B82
+1BA1 1BAA
+1BE6 1BF3
+1C24 1C37
+1CD0 1CD2
+1CD4 1CE8
1CED
1CF2
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+1DC0 1DE6
+1DFC 1DFF
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A823 A827 # [5]
-A880 A881 # [2]
-A8B4 A8C4 # [17]
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A953 # [13]
-A980 A983 # [4]
-A9B3 A9C0 # [14]
-AA29 AA36 # [14]
+A823 A827
+A880 A881
+A8B4 A8C4
+A8E0 A8F1
+A926 A92D
+A947 A953
+A980 A983
+A9B3 A9C0
+AA29 AA36
AA43
-AA4C AA4D # [2]
+AA4C AA4D
AA7B
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
-ABE3 ABEA # [8]
-ABEC ABED # [2]
+ABE3 ABEA
+ABEC ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
+FE00 FE0F
+FE20 FE26
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11082 # [3]
-110B0 110BA # [11]
-1D165 1D169 # [5]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
+11000 11002
+11038 11046
+11080 11082
+110B0 110BA
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
index abd6b3429d7..af4de4651ed 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
@@ -1,148 +1,125 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 276 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Spacing_Mark}
-# \p{Gc=Mc}
-# \p{Category=Spacing_Mark}
-# \p{Is_General_Category=Mc}
-# \p{Is_Gc=Spacing_Mark}
-# \p{Is_Category=Mc}
-#
-# \p{Spacing_Mark}
-# \p{Is_Spacing_Mark}
-# \p{Mc}
-# \p{Is_Mc}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Spacing_Mark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0903
-093E 0940 # [3]
-0949 094C # [4]
-094E
-0982 0983 # [2]
-09BE 09C0 # [3]
-09C7 09C8 # [2]
-09CB 09CC # [2]
+093B
+093E 0940
+0949 094C
+094E 094F
+0982 0983
+09BE 09C0
+09C7 09C8
+09CB 09CC
09D7
0A03
-0A3E 0A40 # [3]
+0A3E 0A40
0A83
-0ABE 0AC0 # [3]
+0ABE 0AC0
0AC9
-0ACB 0ACC # [2]
-0B02 0B03 # [2]
+0ACB 0ACC
+0B02 0B03
0B3E
0B40
-0B47 0B48 # [2]
-0B4B 0B4C # [2]
+0B47 0B48
+0B4B 0B4C
0B57
-0BBE 0BBF # [2]
-0BC1 0BC2 # [2]
-0BC6 0BC8 # [3]
-0BCA 0BCC # [3]
+0BBE 0BBF
+0BC1 0BC2
+0BC6 0BC8
+0BCA 0BCC
0BD7
-0C01 0C03 # [3]
-0C41 0C44 # [4]
-0C82 0C83 # [2]
+0C01 0C03
+0C41 0C44
+0C82 0C83
0CBE
-0CC0 0CC4 # [5]
-0CC7 0CC8 # [2]
-0CCA 0CCB # [2]
-0CD5 0CD6 # [2]
-0D02 0D03 # [2]
-0D3E 0D40 # [3]
-0D46 0D48 # [3]
-0D4A 0D4C # [3]
+0CC0 0CC4
+0CC7 0CC8
+0CCA 0CCB
+0CD5 0CD6
+0D02 0D03
+0D3E 0D40
+0D46 0D48
+0D4A 0D4C
0D57
-0D82 0D83 # [2]
-0DCF 0DD1 # [3]
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0F3E 0F3F # [2]
+0D82 0D83
+0DCF 0DD1
+0DD8 0DDF
+0DF2 0DF3
+0F3E 0F3F
0F7F
-102B 102C # [2]
+102B 102C
1031
1038
-103B 103C # [2]
-1056 1057 # [2]
-1062 1064 # [3]
-1067 106D # [7]
-1083 1084 # [2]
-1087 108C # [6]
+103B 103C
+1056 1057
+1062 1064
+1067 106D
+1083 1084
+1087 108C
108F
-109A 109C # [3]
+109A 109C
17B6
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-1923 1926 # [4]
-1929 192B # [3]
-1930 1931 # [2]
-1933 1938 # [6]
-19B0 19C0 # [17]
-19C8 19C9 # [2]
-1A19 1A1B # [3]
+17BE 17C5
+17C7 17C8
+1923 1926
+1929 192B
+1930 1931
+1933 1938
+19B0 19C0
+19C8 19C9
+1A19 1A1B
1A55
1A57
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
+1A63 1A64
+1A6D 1A72
1B04
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B44 # [2]
+1B3D 1B41
+1B43 1B44
1B82
1BA1
-1BA6 1BA7 # [2]
+1BA6 1BA7
1BAA
-1C24 1C2B # [8]
-1C34 1C35 # [2]
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1BF3
+1C24 1C2B
+1C34 1C35
1CE1
1CF2
-A823 A824 # [2]
+A823 A824
A827
-A880 A881 # [2]
-A8B4 A8C3 # [16]
-A952 A953 # [2]
+A880 A881
+A8B4 A8C3
+A952 A953
A983
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD A9C0 # [4]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
+A9B4 A9B5
+A9BA A9BB
+A9BD A9C0
+AA2F AA30
+AA33 AA34
AA4D
AA7B
-ABE3 ABE4 # [2]
-ABE6 ABE7 # [2]
-ABE9 ABEA # [2]
+ABE3 ABE4
+ABE6 ABE7
+ABE9 ABEA
ABEC
+11000
+11002
11082
-110B0 110B2 # [3]
-110B7 110B8 # [2]
-1D165 1D166 # [2]
-1D16D 1D172 # [6]
+110B0 110B2
+110B7 110B8
+1D165 1D166
+1D16D 1D172
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
index 546b938c171..9bb2fb4c26a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
@@ -1,47 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 13 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Enclosing_Mark}
-# \p{Gc=Me}
-# \p{Category=Enclosing_Mark}
-# \p{Is_General_Category=Me}
-# \p{Is_Gc=Enclosing_Mark}
-# \p{Is_Category=Me}
-#
-# \p{Enclosing_Mark}
-# \p{Is_Enclosing_Mark}
-# \p{Me}
-# \p{Is_Me}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Enclosing_Mark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0488 0489 # [2]
-06DE
-20DD 20E0 # [4]
-20E2 20E4 # [3]
-A670 A672 # [3]
+0488 0489
+20DD 20E0
+20E2 20E4
+A670 A672
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
index bafcd3560cd..4103cf0681a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
@@ -1,236 +1,215 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1162 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Nonspacing_Mark}
-# \p{Gc=Mn}
-# \p{Category=Nonspacing_Mark}
-# \p{Is_General_Category=Mn}
-# \p{Is_Gc=Nonspacing_Mark}
-# \p{Is_Category=Mn}
-#
-# \p{Nonspacing_Mark}
-# \p{Is_Nonspacing_Mark}
-# \p{Mn}
-# \p{Is_Mn}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Nonspacing_Mark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0483 0487 # [5]
-0591 05BD # [45]
+0300 036F
+0483 0487
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DF 06E4 # [6]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0902 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0902
+093A
093C
-0941 0948 # [8]
+0941 0948
094D
-0951 0955 # [5]
-0962 0963 # [2]
+0951 0957
+0962 0963
0981
09BC
-09C1 09C4 # [4]
+09C1 09C4
09CD
-09E2 09E3 # [2]
-0A01 0A02 # [2]
+09E2 09E3
+0A01 0A02
0A3C
-0A41 0A42 # [2]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A82 # [2]
+0A81 0A82
0ABC
-0AC1 0AC5 # [5]
-0AC7 0AC8 # [2]
+0AC1 0AC5
+0AC7 0AC8
0ACD
-0AE2 0AE3 # [2]
+0AE2 0AE3
0B01
0B3C
0B3F
-0B41 0B44 # [4]
+0B41 0B44
0B4D
0B56
-0B62 0B63 # [2]
+0B62 0B63
0B82
0BC0
0BCD
-0C3E 0C40 # [3]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
0CBC
0CBF
0CC6
-0CCC 0CCD # [2]
-0CE2 0CE3 # [2]
-0D41 0D44 # [4]
+0CCC 0CCD
+0CE2 0CE3
+0D41 0D44
0D4D
-0D62 0D63 # [2]
+0D62 0D63
0DCA
-0DD2 0DD4 # [3]
+0DD2 0DD4
0DD6
0E31
-0E34 0E3A # [7]
-0E47 0E4E # [8]
+0E34 0E3A
+0E47 0E4E
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
+102D 1030
+1032 1037
+1039 103A
+103D 103E
+1058 1059
+105E 1060
+1071 1074
1082
-1085 1086 # [2]
+1085 1086
108D
109D
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B7 17BD # [7]
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B7 17BD
17C6
-17C9 17D3 # [11]
+17C9 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 1922 # [3]
-1927 1928 # [2]
+1920 1922
+1927 1928
1932
-1939 193B # [3]
-1A17 1A18 # [2]
+1939 193B
+1A17 1A18
1A56
-1A58 1A5E # [7]
+1A58 1A5E
1A60
1A62
-1A65 1A6C # [8]
-1A73 1A7C # [10]
+1A65 1A6C
+1A73 1A7C
1A7F
-1B00 1B03 # [4]
+1B00 1B03
1B34
-1B36 1B3A # [5]
+1B36 1B3A
1B3C
1B42
-1B6B 1B73 # [9]
-1B80 1B81 # [2]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1C2C 1C33 # [8]
-1C36 1C37 # [2]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+1B6B 1B73
+1B80 1B81
+1BA2 1BA5
+1BA8 1BA9
+1BE6
+1BE8 1BE9
+1BED
+1BEF 1BF1
+1C2C 1C33
+1C36 1C37
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-20D0 20DC # [13]
+1DC0 1DE6
+1DFC 1DFF
+20D0 20DC
20E1
-20E5 20F0 # [12]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
+20E5 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
A66F
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A825 A826 # [2]
+A825 A826
A8C4
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A951 # [11]
-A980 A982 # [3]
+A8E0 A8F1
+A926 A92D
+A947 A951
+A980 A982
A9B3
-A9B6 A9B9 # [4]
+A9B6 A9B9
A9BC
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA36 # [2]
+AA29 AA2E
+AA31 AA32
+AA35 AA36
AA43
AA4C
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
ABE5
ABE8
ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
+FE00 FE0F
+FE20 FE26
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11081 # [2]
-110B3 110B6 # [4]
-110B9 110BA # [2]
-1D167 1D169 # [3]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
+11001
+11038 11046
+11080 11081
+110B3 110B6
+110B9 110BA
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
index 1d38317cd6e..7b9d2b9354f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
@@ -1,123 +1,95 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1064 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Number}
-# \p{Gc=N}
-# \p{Category=Number}
-# \p{Is_General_Category=N}
-# \p{Is_Gc=Number}
-# \p{Is_Category=N}
-#
-# \p{Number}
-# \p{Is_Number}
-# \p{N}
-# \p{Is_N}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Number}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-00B2 00B3 # [2]
+0030 0039
+00B2 00B3
00B9
-00BC 00BE # [3]
-0660 0669 # [10]
-06F0 06F9 # [10]
-07C0 07C9 # [10]
-0966 096F # [10]
-09E6 09EF # [10]
-09F4 09F9 # [6]
-0A66 0A6F # [10]
-0AE6 0AEF # [10]
-0B66 0B6F # [10]
-0BE6 0BF2 # [13]
-0C66 0C6F # [10]
-0C78 0C7E # [7]
-0CE6 0CEF # [10]
-0D66 0D75 # [16]
-0E50 0E59 # [10]
-0ED0 0ED9 # [10]
-0F20 0F33 # [20]
-1040 1049 # [10]
-1090 1099 # [10]
-1369 137C # [20]
-16EE 16F0 # [3]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1810 1819 # [10]
-1946 194F # [10]
-19D0 19DA # [11]
-1A80 1A89 # [10]
-1A90 1A99 # [10]
-1B50 1B59 # [10]
-1BB0 1BB9 # [10]
-1C40 1C49 # [10]
-1C50 1C59 # [10]
+00BC 00BE
+0660 0669
+06F0 06F9
+07C0 07C9
+0966 096F
+09E6 09EF
+09F4 09F9
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0B72 0B77
+0BE6 0BF2
+0C66 0C6F
+0C78 0C7E
+0CE6 0CEF
+0D66 0D75
+0E50 0E59
+0ED0 0ED9
+0F20 0F33
+1040 1049
+1090 1099
+1369 137C
+16EE 16F0
+17E0 17E9
+17F0 17F9
+1810 1819
+1946 194F
+19D0 19DA
+1A80 1A89
+1A90 1A99
+1B50 1B59
+1BB0 1BB9
+1C40 1C49
+1C50 1C59
2070
-2074 2079 # [6]
-2080 2089 # [10]
-2150 2182 # [51]
-2185 2189 # [5]
-2460 249B # [60]
-24EA 24FF # [22]
-2776 2793 # [30]
+2074 2079
+2080 2089
+2150 2182
+2185 2189
+2460 249B
+24EA 24FF
+2776 2793
2CFD
3007
-3021 3029 # [9]
-3038 303A # [3]
-3192 3195 # [4]
-3220 3229 # [10]
-3251 325F # [15]
-3280 3289 # [10]
-32B1 32BF # [15]
-A620 A629 # [10]
-A6E6 A6EF # [10]
-A830 A835 # [6]
-A8D0 A8D9 # [10]
-A900 A909 # [10]
-A9D0 A9D9 # [10]
-AA50 AA59 # [10]
-ABF0 ABF9 # [10]
-FF10 FF19 # [10]
-10107 10133 # [45]
-10140 10178 # [57]
+3021 3029
+3038 303A
+3192 3195
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
+A620 A629
+A6E6 A6EF
+A830 A835
+A8D0 A8D9
+A900 A909
+A9D0 A9D9
+AA50 AA59
+ABF0 ABF9
+FF10 FF19
+10107 10133
+10140 10178
1018A
-10320 10323 # [4]
+10320 10323
10341
1034A
-103D1 103D5 # [5]
-104A0 104A9 # [10]
-10858 1085F # [8]
-10916 1091B # [6]
-10A40 10A47 # [8]
-10A7D 10A7E # [2]
-10B58 10B5F # [8]
-10B78 10B7F # [8]
-10E60 10E7E # [31]
-12400 12462 # [99]
-1D360 1D371 # [18]
-1D7CE 1D7FF # [50]
-1F100 1F10A # [11]
+103D1 103D5
+104A0 104A9
+10858 1085F
+10916 1091B
+10A40 10A47
+10A7D 10A7E
+10B58 10B5F
+10B78 10B7F
+10E60 10E7E
+11052 1106F
+12400 12462
+1D360 1D371
+1D7CE 1D7FF
+1F100 1F10A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
index d2d5040e486..8b2f431aff5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
@@ -1,54 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 224 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Letter_Number}
-# \p{Gc=Nl}
-# \p{Category=Letter_Number}
-# \p{Is_General_Category=Nl}
-# \p{Is_Gc=Letter_Number}
-# \p{Is_Category=Nl}
-#
-# \p{Letter_Number}
-# \p{Is_Letter_Number}
-# \p{Nl}
-# \p{Is_Nl}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Letter_Number}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-16EE 16F0 # [3]
-2160 2182 # [35]
-2185 2188 # [4]
+16EE 16F0
+2160 2182
+2185 2188
3007
-3021 3029 # [9]
-3038 303A # [3]
-A6E6 A6EF # [10]
-10140 10174 # [53]
+3021 3029
+3038 303A
+A6E6 A6EF
+10140 10174
10341
1034A
-103D1 103D5 # [5]
-12400 12462 # [99]
+103D1 103D5
+12400 12462
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
index 9eba60dc539..1e45aa33d49 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
@@ -1,80 +1,53 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 429 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Other_Number}
-# \p{Gc=No}
-# \p{Category=Other_Number}
-# \p{Is_General_Category=No}
-# \p{Is_Gc=Other_Number}
-# \p{Is_Category=No}
-#
-# \p{Other_Number}
-# \p{Is_Other_Number}
-# \p{No}
-# \p{Is_No}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Other_Number}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00B2 00B3 # [2]
+00B2 00B3
00B9
-00BC 00BE # [3]
-09F4 09F9 # [6]
-0BF0 0BF2 # [3]
-0C78 0C7E # [7]
-0D70 0D75 # [6]
-0F2A 0F33 # [10]
-1369 137C # [20]
-17F0 17F9 # [10]
+00BC 00BE
+09F4 09F9
+0B72 0B77
+0BF0 0BF2
+0C78 0C7E
+0D70 0D75
+0F2A 0F33
+1369 137C
+17F0 17F9
+19DA
2070
-2074 2079 # [6]
-2080 2089 # [10]
-2150 215F # [16]
+2074 2079
+2080 2089
+2150 215F
2189
-2460 249B # [60]
-24EA 24FF # [22]
-2776 2793 # [30]
+2460 249B
+24EA 24FF
+2776 2793
2CFD
-3192 3195 # [4]
-3220 3229 # [10]
-3251 325F # [15]
-3280 3289 # [10]
-32B1 32BF # [15]
-A830 A835 # [6]
-10107 10133 # [45]
-10175 10178 # [4]
+3192 3195
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
+A830 A835
+10107 10133
+10175 10178
1018A
-10320 10323 # [4]
-10858 1085F # [8]
-10916 1091B # [6]
-10A40 10A47 # [8]
-10A7D 10A7E # [2]
-10B58 10B5F # [8]
-10B78 10B7F # [8]
-10E60 10E7E # [31]
-1D360 1D371 # [18]
-1F100 1F10A # [11]
+10320 10323
+10858 1085F
+10916 1091B
+10A40 10A47
+10A7D 10A7E
+10B58 10B5F
+10B78 10B7F
+10E60 10E7E
+11052 11065
+1D360 1D371
+1F100 1F10A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
index 2cfccd1ee70..5cedc733c68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
@@ -1,52 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 585 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Punctuation}
-# \p{Gc=P}
-# \p{Category=Punct}
-# \p{Is_General_Category=Punctuation}
-# \p{Is_Gc=P}
-# \p{Is_Category=Punct}
-#
-# \p{Punct}
-# \p{Is_Punct}
-# \p{Punctuation}
-# \p{Is_Punctuation}
-# \p{P}
-# \p{Is_P}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 0023 # [3]
-0025 002A # [6]
-002C 002F # [4]
-003A 003B # [2]
-003F 0040 # [2]
-005B 005D # [3]
+0021 0023
+0025 002A
+002C 002F
+003A 003B
+003F 0040
+005B 005D
005F
007B
007D
@@ -57,117 +25,121 @@ return <<'END';
00BF
037E
0387
-055A 055F # [6]
-0589 058A # [2]
+055A 055F
+0589 058A
05BE
05C0
05C3
05C6
-05F3 05F4 # [2]
-0609 060A # [2]
-060C 060D # [2]
+05F3 05F4
+0609 060A
+060C 060D
061B
-061E 061F # [2]
-066A 066D # [4]
+061E 061F
+066A 066D
06D4
-0700 070D # [14]
-07F7 07F9 # [3]
-0830 083E # [15]
-0964 0965 # [2]
+0700 070D
+07F7 07F9
+0830 083E
+085E
+0964 0965
0970
0DF4
0E4F
-0E5A 0E5B # [2]
-0F04 0F12 # [15]
-0F3A 0F3D # [4]
+0E5A 0E5B
+0F04 0F12
+0F3A 0F3D
0F85
-0FD0 0FD4 # [5]
-104A 104F # [6]
+0FD0 0FD4
+0FD9 0FDA
+104A 104F
10FB
-1361 1368 # [8]
+1361 1368
1400
-166D 166E # [2]
-169B 169C # [2]
-16EB 16ED # [3]
-1735 1736 # [2]
-17D4 17D6 # [3]
-17D8 17DA # [3]
-1800 180A # [11]
-1944 1945 # [2]
-19DE 19DF # [2]
-1A1E 1A1F # [2]
-1AA0 1AA6 # [7]
-1AA8 1AAD # [6]
-1B5A 1B60 # [7]
-1C3B 1C3F # [5]
-1C7E 1C7F # [2]
+166D 166E
+169B 169C
+16EB 16ED
+1735 1736
+17D4 17D6
+17D8 17DA
+1800 180A
+1944 1945
+1A1E 1A1F
+1AA0 1AA6
+1AA8 1AAD
+1B5A 1B60
+1BFC 1BFF
+1C3B 1C3F
+1C7E 1C7F
1CD3
-2010 2027 # [24]
-2030 2043 # [20]
-2045 2051 # [13]
-2053 205E # [12]
-207D 207E # [2]
-208D 208E # [2]
-2329 232A # [2]
-2768 2775 # [14]
-27C5 27C6 # [2]
-27E6 27EF # [10]
-2983 2998 # [22]
-29D8 29DB # [4]
-29FC 29FD # [2]
-2CF9 2CFC # [4]
-2CFE 2CFF # [2]
-2E00 2E2E # [47]
-2E30 2E31 # [2]
-3001 3003 # [3]
-3008 3011 # [10]
-3014 301F # [12]
+2010 2027
+2030 2043
+2045 2051
+2053 205E
+207D 207E
+208D 208E
+2329 232A
+2768 2775
+27C5 27C6
+27E6 27EF
+2983 2998
+29D8 29DB
+29FC 29FD
+2CF9 2CFC
+2CFE 2CFF
+2D70
+2E00 2E2E
+2E30 2E31
+3001 3003
+3008 3011
+3014 301F
3030
303D
30A0
30FB
-A4FE A4FF # [2]
-A60D A60F # [3]
+A4FE A4FF
+A60D A60F
A673
A67E
-A6F2 A6F7 # [6]
-A874 A877 # [4]
-A8CE A8CF # [2]
-A8F8 A8FA # [3]
-A92E A92F # [2]
+A6F2 A6F7
+A874 A877
+A8CE A8CF
+A8F8 A8FA
+A92E A92F
A95F
-A9C1 A9CD # [13]
-A9DE A9DF # [2]
-AA5C AA5F # [4]
-AADE AADF # [2]
+A9C1 A9CD
+A9DE A9DF
+AA5C AA5F
+AADE AADF
ABEB
-FD3E FD3F # [2]
-FE10 FE19 # [10]
-FE30 FE52 # [35]
-FE54 FE61 # [14]
+FD3E FD3F
+FE10 FE19
+FE30 FE52
+FE54 FE61
FE63
FE68
-FE6A FE6B # [2]
-FF01 FF03 # [3]
-FF05 FF0A # [6]
-FF0C FF0F # [4]
-FF1A FF1B # [2]
-FF1F FF20 # [2]
-FF3B FF3D # [3]
+FE6A FE6B
+FF01 FF03
+FF05 FF0A
+FF0C FF0F
+FF1A FF1B
+FF1F FF20
+FF3B FF3D
FF3F
FF5B
FF5D
-FF5F FF65 # [7]
-10100 10101 # [2]
+FF5F FF65
+10100 10101
1039F
103D0
10857
1091F
1093F
-10A50 10A58 # [9]
+10A50 10A58
10A7F
-10B39 10B3F # [7]
-110BB 110BC # [2]
-110BE 110C1 # [4]
-12470 12473 # [4]
+10B39 10B3F
+11047 1104D
+110BB 110BC
+110BE 110C1
+12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
index 7b811c9eb4c..3feea62117a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 21 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Dash_Punctuation}
-# \p{Gc=Pd}
-# \p{Category=Dash_Punctuation}
-# \p{Is_General_Category=Pd}
-# \p{Is_Gc=Dash_Punctuation}
-# \p{Is_Category=Pd}
-#
-# \p{Dash_Punctuation}
-# \p{Is_Dash_Punctuation}
-# \p{Pd}
-# \p{Is_Pd}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Dash_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002D
@@ -44,13 +14,13 @@ return <<'END';
05BE
1400
1806
-2010 2015 # [6]
+2010 2015
2E17
2E1A
301C
3030
30A0
-FE31 FE32 # [2]
+FE31 FE32
FE58
FE63
FF0D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
index f7e997157eb..ec5609e7abe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 71 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Close_Punctuation}
-# \p{Gc=Pe}
-# \p{Category=Close_Punctuation}
-# \p{Is_General_Category=Pe}
-# \p{Is_Gc=Close_Punctuation}
-# \p{Is_Category=Pe}
-#
-# \p{Close_Punctuation}
-# \p{Is_Close_Punctuation}
-# \p{Pe}
-# \p{Is_Pe}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Close_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0029
@@ -89,7 +59,7 @@ return <<'END';
3017
3019
301B
-301E 301F # [2]
+301E 301F
FD3F
FE18
FE36
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
index 77223d40a71..2ac02eeb9d2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 10 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Final_Punctuation}
-# \p{Gc=Pf}
-# \p{Category=Final_Punctuation}
-# \p{Is_General_Category=Pf}
-# \p{Is_Gc=Final_Punctuation}
-# \p{Is_Category=Pf}
-#
-# \p{Final_Punctuation}
-# \p{Is_Final_Punctuation}
-# \p{Pf}
-# \p{Is_Pf}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Final_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00BB
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
index 2ae94b50703..8c2be20d51b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
@@ -1,47 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 12 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Initial_Punctuation}
-# \p{Gc=Pi}
-# \p{Category=Initial_Punctuation}
-# \p{Is_General_Category=Pi}
-# \p{Is_Gc=Initial_Punctuation}
-# \p{Is_Category=Pi}
-#
-# \p{Initial_Punctuation}
-# \p{Is_Initial_Punctuation}
-# \p{Pi}
-# \p{Is_Pi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Initial_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AB
2018
-201B 201C # [2]
+201B 201C
201F
2039
2E02
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
index 8af0afbd75c..f428c3804e4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
@@ -1,166 +1,140 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 389 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Other_Punctuation}
-# \p{Gc=Po}
-# \p{Category=Other_Punctuation}
-# \p{Is_General_Category=Po}
-# \p{Is_Gc=Other_Punctuation}
-# \p{Is_Category=Po}
-#
-# \p{Other_Punctuation}
-# \p{Is_Other_Punctuation}
-# \p{Po}
-# \p{Is_Po}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Other_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 0023 # [3]
-0025 0027 # [3]
+0021 0023
+0025 0027
002A
002C
-002E 002F # [2]
-003A 003B # [2]
-003F 0040 # [2]
+002E 002F
+003A 003B
+003F 0040
005C
00A1
00B7
00BF
037E
0387
-055A 055F # [6]
+055A 055F
0589
05C0
05C3
05C6
-05F3 05F4 # [2]
-0609 060A # [2]
-060C 060D # [2]
+05F3 05F4
+0609 060A
+060C 060D
061B
-061E 061F # [2]
-066A 066D # [4]
+061E 061F
+066A 066D
06D4
-0700 070D # [14]
-07F7 07F9 # [3]
-0830 083E # [15]
-0964 0965 # [2]
+0700 070D
+07F7 07F9
+0830 083E
+085E
+0964 0965
0970
0DF4
0E4F
-0E5A 0E5B # [2]
-0F04 0F12 # [15]
+0E5A 0E5B
+0F04 0F12
0F85
-0FD0 0FD4 # [5]
-104A 104F # [6]
+0FD0 0FD4
+0FD9 0FDA
+104A 104F
10FB
-1361 1368 # [8]
-166D 166E # [2]
-16EB 16ED # [3]
-1735 1736 # [2]
-17D4 17D6 # [3]
-17D8 17DA # [3]
-1800 1805 # [6]
-1807 180A # [4]
-1944 1945 # [2]
-19DE 19DF # [2]
-1A1E 1A1F # [2]
-1AA0 1AA6 # [7]
-1AA8 1AAD # [6]
-1B5A 1B60 # [7]
-1C3B 1C3F # [5]
-1C7E 1C7F # [2]
+1361 1368
+166D 166E
+16EB 16ED
+1735 1736
+17D4 17D6
+17D8 17DA
+1800 1805
+1807 180A
+1944 1945
+1A1E 1A1F
+1AA0 1AA6
+1AA8 1AAD
+1B5A 1B60
+1BFC 1BFF
+1C3B 1C3F
+1C7E 1C7F
1CD3
-2016 2017 # [2]
-2020 2027 # [8]
-2030 2038 # [9]
-203B 203E # [4]
-2041 2043 # [3]
-2047 2051 # [11]
+2016 2017
+2020 2027
+2030 2038
+203B 203E
+2041 2043
+2047 2051
2053
-2055 205E # [10]
-2CF9 2CFC # [4]
-2CFE 2CFF # [2]
-2E00 2E01 # [2]
-2E06 2E08 # [3]
+2055 205E
+2CF9 2CFC
+2CFE 2CFF
+2D70
+2E00 2E01
+2E06 2E08
2E0B
-2E0E 2E16 # [9]
-2E18 2E19 # [2]
+2E0E 2E16
+2E18 2E19
2E1B
-2E1E 2E1F # [2]
-2E2A 2E2E # [5]
-2E30 2E31 # [2]
-3001 3003 # [3]
+2E1E 2E1F
+2E2A 2E2E
+2E30 2E31
+3001 3003
303D
30FB
-A4FE A4FF # [2]
-A60D A60F # [3]
+A4FE A4FF
+A60D A60F
A673
A67E
-A6F2 A6F7 # [6]
-A874 A877 # [4]
-A8CE A8CF # [2]
-A8F8 A8FA # [3]
-A92E A92F # [2]
+A6F2 A6F7
+A874 A877
+A8CE A8CF
+A8F8 A8FA
+A92E A92F
A95F
-A9C1 A9CD # [13]
-A9DE A9DF # [2]
-AA5C AA5F # [4]
-AADE AADF # [2]
+A9C1 A9CD
+A9DE A9DF
+AA5C AA5F
+AADE AADF
ABEB
-FE10 FE16 # [7]
+FE10 FE16
FE19
FE30
-FE45 FE46 # [2]
-FE49 FE4C # [4]
-FE50 FE52 # [3]
-FE54 FE57 # [4]
-FE5F FE61 # [3]
+FE45 FE46
+FE49 FE4C
+FE50 FE52
+FE54 FE57
+FE5F FE61
FE68
-FE6A FE6B # [2]
-FF01 FF03 # [3]
-FF05 FF07 # [3]
+FE6A FE6B
+FF01 FF03
+FF05 FF07
FF0A
FF0C
-FF0E FF0F # [2]
-FF1A FF1B # [2]
-FF1F FF20 # [2]
+FF0E FF0F
+FF1A FF1B
+FF1F FF20
FF3C
FF61
-FF64 FF65 # [2]
-10100 10101 # [2]
+FF64 FF65
+10100 10101
1039F
103D0
10857
1091F
1093F
-10A50 10A58 # [9]
+10A50 10A58
10A7F
-10B39 10B3F # [7]
-110BB 110BC # [2]
-110BE 110C1 # [4]
-12470 12473 # [4]
+10B39 10B3F
+11047 1104D
+110BB 110BC
+110BE 110C1
+12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
index e7af3a847e6..7109a871996 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 72 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Open_Punctuation}
-# \p{Gc=Ps}
-# \p{Category=Open_Punctuation}
-# \p{Is_General_Category=Ps}
-# \p{Is_Gc=Open_Punctuation}
-# \p{Is_Category=Ps}
-#
-# \p{Open_Punctuation}
-# \p{Is_Open_Punctuation}
-# \p{Ps}
-# \p{Is_Ps}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Open_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0028
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
index 75cc2ff961e..7ae5c0fa4be 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
@@ -1,213 +1,171 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4499 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Symbol}
-# \p{Gc=S}
-# \p{Category=Symbol}
-# \p{Is_General_Category=S}
-# \p{Is_Gc=Symbol}
-# \p{Is_Category=S}
-#
-# \p{Symbol}
-# \p{Is_Symbol}
-# \p{S}
-# \p{Is_S}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Symbol}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0024
002B
-003C 003E # [3]
+003C 003E
005E
0060
007C
007E
-00A2 00A9 # [8]
+00A2 00A9
00AC
-00AE 00B1 # [4]
+00AE 00B1
00B4
00B6
00B8
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 02FF # [17]
+02EF 02FF
0375
-0384 0385 # [2]
+0384 0385
03F6
0482
-0606 0608 # [3]
+0606 0608
060B
-060E 060F # [2]
+060E 060F
+06DE
06E9
-06FD 06FE # [2]
+06FD 06FE
07F6
-09F2 09F3 # [2]
-09FA 09FB # [2]
+09F2 09F3
+09FA 09FB
0AF1
0B70
-0BF3 0BFA # [8]
+0BF3 0BFA
0C7F
-0CF1 0CF2 # [2]
0D79
0E3F
-0F01 0F03 # [3]
-0F13 0F17 # [5]
-0F1A 0F1F # [6]
+0F01 0F03
+0F13 0F17
+0F1A 0F1F
0F34
0F36
0F38
-0FBE 0FC5 # [8]
-0FC7 0FCC # [6]
-0FCE 0FCF # [2]
-0FD5 0FD8 # [4]
-109E 109F # [2]
+0FBE 0FC5
+0FC7 0FCC
+0FCE 0FCF
+0FD5 0FD8
+109E 109F
1360
-1390 1399 # [10]
+1390 1399
17DB
1940
-19E0 19FF # [32]
-1B61 1B6A # [10]
-1B74 1B7C # [9]
+19DE 19FF
+1B61 1B6A
+1B74 1B7C
1FBD
-1FBF 1FC1 # [3]
-1FCD 1FCF # [3]
-1FDD 1FDF # [3]
-1FED 1FEF # [3]
-1FFD 1FFE # [2]
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
2044
2052
-207A 207C # [3]
-208A 208C # [3]
-20A0 20B8 # [25]
-2100 2101 # [2]
-2103 2106 # [4]
-2108 2109 # [2]
+207A 207C
+208A 208C
+20A0 20B9
+2100 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2118
+211E 2123
2125
2127
2129
212E
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
+213A 213B
+2140 2144
+214A 214D
214F
-2190 2328 # [409]
-232B 23E8 # [190]
-2400 2426 # [39]
-2440 244A # [11]
-249C 24E9 # [78]
-2500 26CD # [462]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2767 # [7]
-2794
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27C4 # [5]
-27C7 27CA # [4]
+2190 2328
+232B 23F3
+2400 2426
+2440 244A
+249C 24E9
+2500 26FF
+2701 2767
+2794 27C4
+27C7 27CA
27CC
-27D0 27E5 # [22]
-27F0 2982 # [403]
-2999 29D7 # [63]
-29DC 29FB # [32]
-29FE 2B4C # [335]
-2B50 2B59 # [10]
-2CE5 2CEA # [6]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
+27CE 27E5
+27F0 2982
+2999 29D7
+29DC 29FB
+29FE 2B4C
+2B50 2B59
+2CE5 2CEA
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
3004
-3012 3013 # [2]
+3012 3013
3020
-3036 3037 # [2]
-303E 303F # [2]
-309B 309C # [2]
-3190 3191 # [2]
-3196 319F # [10]
-31C0 31E3 # [36]
-3200 321E # [31]
-322A 3250 # [39]
-3260 327F # [32]
-328A 32B0 # [39]
-32C0 32FE # [63]
-3300 33FF # [256]
-4DC0 4DFF # [64]
-A490 A4C6 # [55]
-A700 A716 # [23]
-A720 A721 # [2]
-A789 A78A # [2]
-A828 A82B # [4]
-A836 A839 # [4]
-AA77 AA79 # [3]
+3036 3037
+303E 303F
+309B 309C
+3190 3191
+3196 319F
+31C0 31E3
+3200 321E
+322A 3250
+3260 327F
+328A 32B0
+32C0 32FE
+3300 33FF
+4DC0 4DFF
+A490 A4C6
+A700 A716
+A720 A721
+A789 A78A
+A828 A82B
+A836 A839
+AA77 AA79
FB29
-FDFC FDFD # [2]
+FBB2 FBC1
+FDFC FDFD
FE62
-FE64 FE66 # [3]
+FE64 FE66
FE69
FF04
FF0B
-FF1C FF1E # [3]
+FF1C FF1E
FF3E
FF40
FF5C
FF5E
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFFC FFFD # [2]
+FFE0 FFE6
+FFE8 FFEE
+FFFC FFFD
10102
-10137 1013F # [9]
-10179 10189 # [17]
-10190 1019B # [12]
-101D0 101FC # [45]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D164 # [60]
-1D16A 1D16C # [3]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D1DD # [48]
-1D200 1D241 # [66]
+10137 1013F
+10179 10189
+10190 1019B
+101D0 101FC
+1D000 1D0F5
+1D100 1D126
+1D129 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D200 1D241
1D245
-1D300 1D356 # [87]
+1D300 1D356
1D6C1
1D6DB
1D6FB
@@ -218,23 +176,45 @@ FFFC FFFD # [2]
1D789
1D7A9
1D7C3
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
index 5440d8ec642..74ad0655e51 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
@@ -1,58 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 46 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Currency_Symbol}
-# \p{Gc=Sc}
-# \p{Category=Currency_Symbol}
-# \p{Is_General_Category=Sc}
-# \p{Is_Gc=Currency_Symbol}
-# \p{Is_Category=Sc}
-#
-# \p{Currency_Symbol}
-# \p{Is_Currency_Symbol}
-# \p{Sc}
-# \p{Is_Sc}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Currency_Symbol}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0024
-00A2 00A5 # [4]
+00A2 00A5
060B
-09F2 09F3 # [2]
+09F2 09F3
09FB
0AF1
0BF9
0E3F
17DB
-20A0 20B8 # [25]
+20A0 20B9
A838
FDFC
FE69
FF04
-FFE0 FFE1 # [2]
-FFE5 FFE6 # [2]
+FFE0 FFE1
+FFE5 FFE6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
index 5f5fb0d59a2..7e6f63535a4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 99 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Modifier_Symbol}
-# \p{Gc=Sk}
-# \p{Category=Modifier_Symbol}
-# \p{Is_General_Category=Sk}
-# \p{Is_Gc=Modifier_Symbol}
-# \p{Is_Category=Sk}
-#
-# \p{Modifier_Symbol}
-# \p{Is_Modifier_Symbol}
-# \p{Sk}
-# \p{Is_Sk}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Modifier_Symbol}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
005E
@@ -45,23 +15,24 @@ return <<'END';
00AF
00B4
00B8
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 02FF # [17]
+02EF 02FF
0375
-0384 0385 # [2]
+0384 0385
1FBD
-1FBF 1FC1 # [3]
-1FCD 1FCF # [3]
-1FDD 1FDF # [3]
-1FED 1FEF # [3]
-1FFD 1FFE # [2]
-309B 309C # [2]
-A700 A716 # [23]
-A720 A721 # [2]
-A789 A78A # [2]
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+309B 309C
+A700 A716
+A720 A721
+A789 A78A
+FBB2 FBC1
FF3E
FF40
FFE3
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
index e213b36847a..07a162aac9f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
@@ -1,46 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 945 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Math_Symbol}
-# \p{Gc=Sm}
-# \p{Category=Math_Symbol}
-# \p{Is_General_Category=Sm}
-# \p{Is_Gc=Math_Symbol}
-# \p{Is_Category=Sm}
-#
-# \p{Math_Symbol}
-# \p{Is_Math_Symbol}
-# \p{Sm}
-# \p{Is_Sm}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Math_Symbol}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002B
-003C 003E # [3]
+003C 003E
007C
007E
00AC
@@ -48,52 +18,53 @@ return <<'END';
00D7
00F7
03F6
-0606 0608 # [3]
+0606 0608
2044
2052
-207A 207C # [3]
-208A 208C # [3]
-2140 2144 # [5]
+207A 207C
+208A 208C
+2118
+2140 2144
214B
-2190 2194 # [5]
-219A 219B # [2]
+2190 2194
+219A 219B
21A0
21A3
21A6
21AE
-21CE 21CF # [2]
+21CE 21CF
21D2
21D4
-21F4 22FF # [268]
-2308 230B # [4]
-2320 2321 # [2]
+21F4 22FF
+2308 230B
+2320 2321
237C
-239B 23B3 # [25]
-23DC 23E1 # [6]
+239B 23B3
+23DC 23E1
25B7
25C1
-25F8 25FF # [8]
+25F8 25FF
266F
-27C0 27C4 # [5]
-27C7 27CA # [4]
+27C0 27C4
+27C7 27CA
27CC
-27D0 27E5 # [22]
-27F0 27FF # [16]
-2900 2982 # [131]
-2999 29D7 # [63]
-29DC 29FB # [32]
-29FE 2AFF # [258]
-2B30 2B44 # [21]
-2B47 2B4C # [6]
+27CE 27E5
+27F0 27FF
+2900 2982
+2999 29D7
+29DC 29FB
+29FE 2AFF
+2B30 2B44
+2B47 2B4C
FB29
FE62
-FE64 FE66 # [3]
+FE64 FE66
FF0B
-FF1C FF1E # [3]
+FF1C FF1E
FF5C
FF5E
FFE2
-FFE9 FFEC # [4]
+FFE9 FFEC
1D6C1
1D6DB
1D6FB
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
index 327d7ab666d..89e61d8c56b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
@@ -1,196 +1,176 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3409 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Other_Symbol}
-# \p{Gc=So}
-# \p{Category=Other_Symbol}
-# \p{Is_General_Category=So}
-# \p{Is_Gc=Other_Symbol}
-# \p{Is_Category=So}
-#
-# \p{Other_Symbol}
-# \p{Is_Other_Symbol}
-# \p{So}
-# \p{Is_So}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Other_Symbol}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00A6 00A7 # [2]
+00A6 00A7
00A9
00AE
00B0
00B6
0482
-060E 060F # [2]
+060E 060F
+06DE
06E9
-06FD 06FE # [2]
+06FD 06FE
07F6
09FA
0B70
-0BF3 0BF8 # [6]
+0BF3 0BF8
0BFA
0C7F
-0CF1 0CF2 # [2]
0D79
-0F01 0F03 # [3]
-0F13 0F17 # [5]
-0F1A 0F1F # [6]
+0F01 0F03
+0F13 0F17
+0F1A 0F1F
0F34
0F36
0F38
-0FBE 0FC5 # [8]
-0FC7 0FCC # [6]
-0FCE 0FCF # [2]
-0FD5 0FD8 # [4]
-109E 109F # [2]
+0FBE 0FC5
+0FC7 0FCC
+0FCE 0FCF
+0FD5 0FD8
+109E 109F
1360
-1390 1399 # [10]
+1390 1399
1940
-19E0 19FF # [32]
-1B61 1B6A # [10]
-1B74 1B7C # [9]
-2100 2101 # [2]
-2103 2106 # [4]
-2108 2109 # [2]
+19DE 19FF
+1B61 1B6A
+1B74 1B7C
+2100 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2117
+211E 2123
2125
2127
2129
212E
-213A 213B # [2]
+213A 213B
214A
-214C 214D # [2]
+214C 214D
214F
-2195 2199 # [5]
-219C 219F # [4]
-21A1 21A2 # [2]
-21A4 21A5 # [2]
-21A7 21AD # [7]
-21AF 21CD # [31]
-21D0 21D1 # [2]
+2195 2199
+219C 219F
+21A1 21A2
+21A4 21A5
+21A7 21AD
+21AF 21CD
+21D0 21D1
21D3
-21D5 21F3 # [31]
-2300 2307 # [8]
-230C 231F # [20]
-2322 2328 # [7]
-232B 237B # [81]
-237D 239A # [30]
-23B4 23DB # [40]
-23E2 23E8 # [7]
-2400 2426 # [39]
-2440 244A # [11]
-249C 24E9 # [78]
-2500 25B6 # [183]
-25B8 25C0 # [9]
-25C2 25F7 # [54]
-2600 266E # [111]
-2670 26CD # [94]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2767 # [7]
-2794
-2798 27AF # [24]
-27B1 27BE # [14]
-2800 28FF # [256]
-2B00 2B2F # [48]
-2B45 2B46 # [2]
-2B50 2B59 # [10]
-2CE5 2CEA # [6]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
+21D5 21F3
+2300 2307
+230C 231F
+2322 2328
+232B 237B
+237D 239A
+23B4 23DB
+23E2 23F3
+2400 2426
+2440 244A
+249C 24E9
+2500 25B6
+25B8 25C0
+25C2 25F7
+2600 266E
+2670 26FF
+2701 2767
+2794 27BF
+2800 28FF
+2B00 2B2F
+2B45 2B46
+2B50 2B59
+2CE5 2CEA
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
3004
-3012 3013 # [2]
+3012 3013
3020
-3036 3037 # [2]
-303E 303F # [2]
-3190 3191 # [2]
-3196 319F # [10]
-31C0 31E3 # [36]
-3200 321E # [31]
-322A 3250 # [39]
-3260 327F # [32]
-328A 32B0 # [39]
-32C0 32FE # [63]
-3300 33FF # [256]
-4DC0 4DFF # [64]
-A490 A4C6 # [55]
-A828 A82B # [4]
-A836 A837 # [2]
+3036 3037
+303E 303F
+3190 3191
+3196 319F
+31C0 31E3
+3200 321E
+322A 3250
+3260 327F
+328A 32B0
+32C0 32FE
+3300 33FF
+4DC0 4DFF
+A490 A4C6
+A828 A82B
+A836 A837
A839
-AA77 AA79 # [3]
+AA77 AA79
FDFD
FFE4
FFE8
-FFED FFEE # [2]
-FFFC FFFD # [2]
+FFED FFEE
+FFFC FFFD
10102
-10137 1013F # [9]
-10179 10189 # [17]
-10190 1019B # [12]
-101D0 101FC # [45]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D164 # [60]
-1D16A 1D16C # [3]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D1DD # [48]
-1D200 1D241 # [66]
+10137 1013F
+10179 10189
+10190 1019B
+101D0 101FC
+1D000 1D0F5
+1D100 1D126
+1D129 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D200 1D241
1D245
-1D300 1D356 # [87]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
+1D300 1D356
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
index f6a39fc997d..39e3a235630 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
@@ -1,50 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 20 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Separator}
-# \p{Gc=Z}
-# \p{Category=Separator}
-# \p{Is_General_Category=Z}
-# \p{Is_Gc=Separator}
-# \p{Is_Category=Z}
-#
-# \p{Separator}
-# \p{Is_Separator}
-# \p{Z}
-# \p{Is_Z}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0020
00A0
1680
180E
-2000 200A # [11]
-2028 2029 # [2]
+2000 200A
+2028 2029
202F
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
index ccaba7897b5..b9b63364f8e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{General_Category=Line_Separator}
-# \p{Gc=Zl}
-# \p{Category=Line_Separator}
-# \p{Is_General_Category=Zl}
-# \p{Is_Gc=Line_Separator}
-# \p{Is_Category=Zl}
-#
-# \p{Line_Separator}
-# \p{Is_Line_Separator}
-# \p{Zl}
-# \p{Is_Zl}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Line_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2028
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
index 212d17c1a52..c519717b962 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{General_Category=Paragraph_Separator}
-# \p{Gc=Zp}
-# \p{Category=Paragraph_Separator}
-# \p{Is_General_Category=Zp}
-# \p{Is_Gc=Paragraph_Separator}
-# \p{Is_Category=Zp}
-#
-# \p{Paragraph_Separator}
-# \p{Is_Paragraph_Separator}
-# \p{Zp}
-# \p{Is_Zp}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Paragraph_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2029
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
index 518008f32d6..0aa6e199b64 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
@@ -1,49 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 18 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{General_Category=Space_Separator}
-# \p{Gc=Zs}
-# \p{Category=Space_Separator}
-# \p{Is_General_Category=Zs}
-# \p{Is_Gc=Space_Separator}
-# \p{Is_Category=Zs}
-#
-# \p{Space_Separator}
-# \p{Is_Space_Separator}
-# \p{Zs}
-# \p{Is_Zs}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Category: Space_Separator}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0020
00A0
1680
180E
-2000 200A # [11]
+2000 200A
202F
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl
index 884f8299a8d..2af88e1cfab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl
@@ -1,393 +1,359 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_008_154 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Grapheme_Base=No}
-# \p{Gr_Base=N}
-# \p{Is_Grapheme_Base=F}
-# \p{Is_Gr_Base=False}
-#
-# \P{Grapheme_Base}
-# \P{Is_Grapheme_Base}
-# \P{Gr_Base}
-# \P{Is_Gr_Base}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Gr_Base: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 001F # [32]
-007F 009F # [33]
+0000 001F
+007F 009F
00AD
-0300 036F # [112]
-0378 0379 # [2]
-037F 0383 # [5]
+0300 036F
+0378 0379
+037F 0383
038B
038D
03A2
-0483 0489 # [7]
-0526 0530 # [11]
-0557 0558 # [2]
+0483 0489
+0528 0530
+0557 0558
0560
0588
-058B 05BD # [51]
+058B 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
-05C7 05CF # [9]
-05EB 05EF # [5]
-05F5 0605 # [17]
-0610 061A # [11]
-061C 061D # [2]
-0620
-064B 065F # [21]
+05C1 05C2
+05C4 05C5
+05C7 05CF
+05EB 05EF
+05F5 0605
+0610 061A
+061C 061D
+064B 065F
0670
-06D6 06E4 # [15]
-06E7 06E8 # [2]
-06EA 06ED # [4]
-070E 070F # [2]
+06D6 06DD
+06DF 06E4
+06E7 06E8
+06EA 06ED
+070E 070F
0711
-0730 074C # [29]
-07A6 07B0 # [11]
-07B2 07BF # [14]
-07EB 07F3 # [9]
-07FB 07FF # [5]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082F # [7]
-083F 0902 # [196]
-093A 093C # [3]
-0941 0948 # [8]
+0730 074C
+07A6 07B0
+07B2 07BF
+07EB 07F3
+07FB 07FF
+0816 0819
+081B 0823
+0825 0827
+0829 082F
+083F
+0859 085D
+085F 0902
+093A
+093C
+0941 0948
094D
-094F
-0951 0957 # [7]
-0962 0963 # [2]
-0973 0978 # [6]
-0980 0981 # [2]
+0951 0957
+0962 0963
+0978
+0980 0981
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BC # [3]
+09B3 09B5
+09BA 09BC
09BE
-09C1 09C6 # [6]
-09C9 09CA # [2]
+09C1 09C6
+09C9 09CA
09CD
-09CF 09DB # [13]
+09CF 09DB
09DE
-09E2 09E5 # [4]
-09FC 0A02 # [7]
+09E2 09E5
+09FC 0A02
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3D # [4]
-0A41 0A58 # [24]
+0A3A 0A3D
+0A41 0A58
0A5D
-0A5F 0A65 # [7]
-0A70 0A71 # [2]
-0A75 0A82 # [14]
+0A5F 0A65
+0A70 0A71
+0A75 0A82
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABC # [3]
-0AC1 0AC8 # [8]
+0ABA 0ABC
+0AC1 0AC8
0ACA
-0ACD 0ACF # [3]
-0AD1 0ADF # [15]
-0AE2 0AE5 # [4]
+0ACD 0ACF
+0AD1 0ADF
+0AE2 0AE5
0AF0
-0AF2 0B01 # [16]
+0AF2 0B01
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3C # [3]
-0B3E 0B3F # [2]
-0B41 0B46 # [6]
-0B49 0B4A # [2]
-0B4D 0B5B # [15]
+0B3A 0B3C
+0B3E 0B3F
+0B41 0B46
+0B49 0B4A
+0B4D 0B5B
0B5E
-0B62 0B65 # [4]
-0B72 0B82 # [17]
+0B62 0B65
+0B78 0B82
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBE # [5]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBE
0BC0
-0BC3 0BC5 # [3]
+0BC3 0BC5
0BC9
-0BCD 0BCF # [3]
-0BD1 0BE5 # [21]
-0BFB 0C00 # [6]
+0BCD 0BCF
+0BD1 0BE5
+0BFB 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
-0C3E 0C40 # [3]
-0C45 0C57 # [19]
-0C5A 0C5F # [6]
-0C62 0C65 # [4]
-0C70 0C77 # [8]
-0C80 0C81 # [2]
+0C3A 0C3C
+0C3E 0C40
+0C45 0C57
+0C5A 0C5F
+0C62 0C65
+0C70 0C77
+0C80 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBC # [3]
+0CBA 0CBC
0CBF
0CC2
-0CC5 0CC6 # [2]
+0CC5 0CC6
0CC9
-0CCC 0CDD # [18]
+0CCC 0CDD
0CDF
-0CE2 0CE5 # [4]
+0CE2 0CE5
0CF0
-0CF3 0D01 # [15]
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D3E
-0D41 0D45 # [5]
+0D41 0D45
0D49
-0D4D 0D5F # [19]
-0D62 0D65 # [4]
-0D76 0D78 # [3]
-0D80 0D81 # [2]
+0D4D
+0D4F 0D5F
+0D62 0D65
+0D76 0D78
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DCF # [9]
-0DD2 0DD7 # [6]
-0DDF 0DF1 # [19]
-0DF5 0E00 # [12]
+0DBE 0DBF
+0DC7 0DCF
+0DD2 0DD7
+0DDF 0DF1
+0DF5 0E00
0E31
-0E34 0E3E # [11]
-0E47 0E4E # [8]
-0E5C 0E80 # [37]
+0E34 0E3E
+0E47 0E4E
+0E5C 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EB1
-0EB4 0EBC # [9]
-0EBE 0EBF # [2]
+0EB4 0EBC
+0EBE 0EBF
0EC5
-0EC7 0ECF # [9]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
-0F18 0F19 # [2]
+0EC7 0ECF
+0EDA 0EDB
+0EDE 0EFF
+0F18 0F19
0F35
0F37
0F39
0F48
-0F6D 0F7E # [18]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F8C 0FBD # [50]
+0F6D 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0FBD
0FC6
0FCD
-0FD9 0FFF # [39]
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
+0FDB 0FFF
+102D 1030
+1032 1037
+1039 103A
+103D 103E
+1058 1059
+105E 1060
+1071 1074
1082
-1085 1086 # [2]
+1085 1086
108D
109D
-10C6 10CF # [10]
-10FD 10FF # [3]
+10C6 10CF
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135F # [5]
-137D 137F # [3]
-139A 139F # [6]
-13F5 13FF # [11]
-169D 169F # [3]
-16F1 16FF # [15]
+1316 1317
+135B 135F
+137D 137F
+139A 139F
+13F5 13FF
+169D 169F
+16F1 16FF
170D
-1712 171F # [14]
-1732 1734 # [3]
-1737 173F # [9]
-1752 175F # [14]
+1712 171F
+1732 1734
+1737 173F
+1752 175F
176D
-1771 177F # [15]
-17B4 17B5 # [2]
-17B7 17BD # [7]
+1771 177F
+17B4 17B5
+17B7 17BD
17C6
-17C9 17D3 # [11]
-17DD 17DF # [3]
-17EA 17EF # [6]
-17FA 17FF # [6]
-180B 180D # [3]
+17C9 17D3
+17DD 17DF
+17EA 17EF
+17FA 17FF
+180B 180D
180F
-181A 181F # [6]
-1878 187F # [8]
+181A 181F
+1878 187F
18A9
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 1922 # [6]
-1927 1928 # [2]
-192C 192F # [4]
+18AB 18AF
+18F6 18FF
+191D 1922
+1927 1928
+192C 192F
1932
-1939 193F # [7]
-1941 1943 # [3]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19DD # [3]
-1A17 1A18 # [2]
-1A1C 1A1D # [2]
+1939 193F
+1941 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19DD
+1A17 1A18
+1A1C 1A1D
1A56
-1A58 1A60 # [9]
+1A58 1A60
1A62
-1A65 1A6C # [8]
-1A73 1A7F # [13]
-1A8A 1A8F # [6]
-1A9A 1A9F # [6]
-1AAE 1B03 # [86]
+1A65 1A6C
+1A73 1A7F
+1A8A 1A8F
+1A9A 1A9F
+1AAE 1B03
1B34
-1B36 1B3A # [5]
+1B36 1B3A
1B3C
1B42
-1B4C 1B4F # [4]
-1B6B 1B73 # [9]
-1B7D 1B81 # [5]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C2C 1C33 # [8]
-1C36 1C3A # [5]
-1C4A 1C4C # [3]
-1C80 1CD2 # [83]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+1B4C 1B4F
+1B6B 1B73
+1B7D 1B81
+1BA2 1BA5
+1BA8 1BA9
+1BAB 1BAD
+1BBA 1BBF
+1BE6
+1BE8 1BE9
+1BED
+1BEF 1BF1
+1BF4 1BFB
+1C2C 1C33
+1C36 1C3A
+1C4A 1C4C
+1C80 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1CF3 1CFF # [13]
-1DC0 1DFF # [64]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF3 1CFF
+1DC0 1DFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-200B 200F # [5]
-2028 202E # [7]
-2060 206F # [16]
-2072 2073 # [2]
+200B 200F
+2028 202E
+2060 206F
+2072 2073
208F
-2095 209F # [11]
-20B9 20FF # [71]
-218A 218F # [6]
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-26CE
-26E2
-26E4 26E7 # [4]
+209D 209F
+20BA 20FF
+218A 218F
+23F4 23FF
+2427 243F
+244B 245F
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2B4D 2B4F # [3]
-2B5A 2BFF # [166]
+27CD
+2B4D 2B4F
+2B5A 2BFF
2C2F
2C5F
-2CEF 2CF8 # [10]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CEF 2CF8
+2D26 2D2F
+2D66 2D6E
+2D71 2D7F
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -395,214 +361,249 @@ return <<'END';
2DC7
2DCF
2DD7
-2DDF 2DFF # [33]
-2E32 2E7F # [78]
+2DDF 2DFF
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
-302A 302F # [6]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
+302A 302F
3040
-3097 309A # [4]
-3100 3104 # [5]
-312E 3130 # [3]
+3097 309A
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-4DB6 4DBF # [10]
-9FCC 9FFF # [52]
-A48D A48F # [3]
-A4C7 A4CF # [9]
-A62C A63F # [20]
-A660 A661 # [2]
-A66F A672 # [4]
-A674 A67D # [10]
-A698 A69F # [8]
-A6F0 A6F1 # [2]
-A6F8 A6FF # [8]
-A78D A7FA # [110]
+4DB6 4DBF
+9FCC 9FFF
+A48D A48F
+A4C7 A4CF
+A62C A63F
+A66F A672
+A674 A67D
+A698 A69F
+A6F0 A6F1
+A6F8 A6FF
+A78F
+A792 A79F
+A7AA A7F9
A802
A806
A80B
-A825 A826 # [2]
-A82C A82F # [4]
-A83A A83F # [6]
-A878 A87F # [8]
-A8C4 A8CD # [10]
-A8DA A8F1 # [24]
-A8FC A8FF # [4]
-A926 A92D # [8]
-A947 A951 # [11]
-A954 A95E # [11]
-A97D A982 # [6]
+A825 A826
+A82C A82F
+A83A A83F
+A878 A87F
+A8C4 A8CD
+A8DA A8F1
+A8FC A8FF
+A926 A92D
+A947 A951
+A954 A95E
+A97D A982
A9B3
-A9B6 A9B9 # [4]
+A9B6 A9B9
A9BC
A9CE
-A9DA A9DD # [4]
-A9E0 A9FF # [32]
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA3F # [11]
+A9DA A9DD
+A9E0 A9FF
+AA29 AA2E
+AA31 AA32
+AA35 AA3F
AA43
AA4C
-AA4E AA4F # [2]
-AA5A AA5B # [2]
-AA7C AA7F # [4]
+AA4E AA4F
+AA5A AA5B
+AA7C AA7F
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
-AAC3 AADA # [24]
-AAE0 ABBF # [224]
+AAC3 AADA
+AAE0 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
ABE5
ABE8
-ABED ABEF # [3]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+ABED ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB1E
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFE FE0F # [18]
-FE1A FE2F # [22]
+FBC2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FE0F
+FE1A FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE75
-FEFD FF00 # [4]
-FF9E FF9F # [2]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FEFD FF00
+FF9E FF9F
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFFB # [13]
-FFFE FFFF # [2]
+FFEF FFFB
+FFFE FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 100FF # [5]
-10103 10106 # [4]
-10134 10136 # [3]
-1018B 1018F # [5]
-1019C 101CF # [52]
-101FD 1027F # [131]
-1029D 1029F # [3]
-102D1 102FF # [47]
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+1018B 1018F
+1019C 101CF
+101FD 1027F
+1029D 1029F
+102D1 102FF
1031F
-10324 1032F # [12]
-1034B 1037F # [53]
+10324 1032F
+1034B 1037F
1039E
-103C4 103C7 # [4]
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103C4 103C7
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
+10839 1083B
+1083D 1083E
10856
-10860 108FF # [160]
-1091C 1091E # [3]
-1093A 1093E # [5]
-10940 109FF # [192]
-10A01 10A0F # [15]
+10860 108FF
+1091C 1091E
+1093A 1093E
+10940 109FF
+10A01 10A0F
10A14
10A18
-10A34 10A3F # [12]
-10A48 10A4F # [8]
-10A59 10A5F # [7]
-10A80 10AFF # [128]
-10B36 10B38 # [3]
-10B56 10B57 # [2]
-10B73 10B77 # [5]
-10B80 10BFF # [128]
-10C49 10E5F # [535]
-10E7F 11081 # [515]
-110B3 110B6 # [4]
-110B9 110BA # [2]
+10A34 10A3F
+10A48 10A4F
+10A59 10A5F
+10A80 10AFF
+10B36 10B38
+10B56 10B57
+10B73 10B77
+10B80 10BFF
+10C49 10E5F
+10E7F 10FFF
+11001
+11038 11046
+1104E 11051
+11070 11081
+110B3 110B6
+110B9 110BA
110BD
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 1246F # [13]
-12474 12FFF # [2956]
-1342F 1CFFF # [39_889]
-1D0F6 1D0FF # [10]
-1D127 1D128 # [2]
+110C2 11FFF
+1236F 123FF
+12463 1246F
+12474 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1CFFF
+1D0F6 1D0FF
+1D127 1D128
1D165
-1D167 1D169 # [3]
-1D16E 1D182 # [21]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D1DE 1D1FF # [34]
-1D242 1D244 # [3]
-1D246 1D2FF # [186]
-1D357 1D35F # [9]
-1D372 1D3FF # [142]
+1D167 1D169
+1D16E 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D1DE 1D1FF
+1D242 1D244
+1D246 1D2FF
+1D357 1D35F
+1D372 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1EFFF # [6144]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFF # [3511]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E 10FFFF # [919_010]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1EFFF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F10F
+1F12F
+1F16A 1F16F
+1F19B 1F1E5
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F4F8
+1F4FD 1F4FF
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
index 43ab931b12b..6f4967567f0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
@@ -1,607 +1,608 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 105_958 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Grapheme_Base=Yes}
-# \p{Gr_Base=Y}
-# \p{Is_Grapheme_Base=T}
-# \p{Is_Gr_Base=True}
-#
-# \p{Grapheme_Base}
-# \p{Is_Grapheme_Base}
-# \p{Gr_Base}
-# \p{Is_Gr_Base}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Gr_Base: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0020 007E # [95]
-00A0 00AC # [13]
-00AE 02FF # [594]
-0370 0377 # [8]
-037A 037E # [5]
-0384 038A # [7]
+0020 007E
+00A0 00AC
+00AE 02FF
+0370 0377
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0482 # [224]
-048A 0525 # [156]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
+038E 03A1
+03A3 0482
+048A 0527
+0531 0556
+0559 055F
+0561 0587
+0589 058A
05BE
05C0
05C3
05C6
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0606 060F # [10]
+05D0 05EA
+05F0 05F4
+0606 060F
061B
-061E 061F # [2]
-0621 064A # [42]
-0660 066F # [16]
-0671 06D5 # [101]
-06E5 06E6 # [2]
+061E 064A
+0660 066F
+0671 06D5
+06DE
+06E5 06E6
06E9
-06EE 070D # [32]
+06EE 070D
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07C0 07EA # [43]
-07F4 07FA # [7]
-0800 0815 # [22]
+07C0 07EA
+07F4 07FA
+0800 0815
081A
0824
0828
-0830 083E # [15]
-0903 0939 # [55]
-093D 0940 # [4]
-0949 094C # [4]
-094E
-0950
-0958 0961 # [10]
-0964 0972 # [15]
-0979 097F # [7]
-0982 0983 # [2]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0830 083E
+0840 0858
+085E
+0903 0939
+093B
+093D 0940
+0949 094C
+094E 0950
+0958 0961
+0964 0977
+0979 097F
+0982 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
-09BF 09C0 # [2]
-09C7 09C8 # [2]
-09CB 09CC # [2]
+09BF 09C0
+09C7 09C8
+09CB 09CC
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09E6 09FB # [22]
+09DC 09DD
+09DF 09E1
+09E6 09FB
0A03
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A3E 0A40 # [3]
-0A59 0A5C # [4]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3E 0A40
+0A59 0A5C
0A5E
-0A66 0A6F # [10]
-0A72 0A74 # [3]
+0A66 0A6F
+0A72 0A74
0A83
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABD 0AC0 # [4]
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD 0AC0
0AC9
-0ACB 0ACC # [2]
+0ACB 0ACC
0AD0
-0AE0 0AE1 # [2]
-0AE6 0AEF # [10]
+0AE0 0AE1
+0AE6 0AEF
0AF1
-0B02 0B03 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0B02 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
0B40
-0B47 0B48 # [2]
-0B4B 0B4C # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B71 # [12]
+0B47 0B48
+0B4B 0B4C
+0B5C 0B5D
+0B5F 0B61
+0B66 0B77
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BBF
-0BC1 0BC2 # [2]
-0BC6 0BC8 # [3]
-0BCA 0BCC # [3]
+0BC1 0BC2
+0BC6 0BC8
+0BCA 0BCC
0BD0
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C41 0C44 # [4]
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBD 0CBE # [2]
-0CC0 0CC1 # [2]
-0CC3 0CC4 # [2]
-0CC7 0CC8 # [2]
-0CCA 0CCB # [2]
+0C41 0C44
+0C58 0C59
+0C60 0C61
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD 0CBE
+0CC0 0CC1
+0CC3 0CC4
+0CC7 0CC8
+0CCA 0CCB
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D3F 0D40 # [2]
-0D46 0D48 # [3]
-0D4A 0D4C # [3]
-0D60 0D61 # [2]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D3F 0D40
+0D46 0D48
+0D4A 0D4C
+0D4E
+0D60 0D61
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0DD0 0DD1 # [2]
-0DD8 0DDE # [7]
-0DF2 0DF4 # [3]
-0E01 0E30 # [48]
-0E32 0E33 # [2]
-0E3F 0E46 # [8]
-0E4F 0E5B # [13]
-0E81 0E82 # [2]
+0DC0 0DC6
+0DD0 0DD1
+0DD8 0DDE
+0DF2 0DF4
+0E01 0E30
+0E32 0E33
+0E3F 0E46
+0E4F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB0 # [4]
-0EB2 0EB3 # [2]
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
0EBD
-0EC0 0EC4 # [5]
+0EC0 0EC4
0EC6
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F17 # [24]
-0F1A 0F34 # [27]
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F47 # [14]
-0F49 0F6C # [36]
+0F3A 0F47
+0F49 0F6C
0F7F
0F85
-0F88 0F8B # [4]
-0FBE 0FC5 # [8]
-0FC7 0FCC # [6]
-0FCE 0FD8 # [11]
-1000 102C # [45]
+0F88 0F8C
+0FBE 0FC5
+0FC7 0FCC
+0FCE 0FDA
+1000 102C
1031
1038
-103B 103C # [2]
-103F 1057 # [25]
-105A 105D # [4]
-1061 1070 # [16]
-1075 1081 # [13]
-1083 1084 # [2]
-1087 108C # [6]
-108E 109C # [15]
-109E 10C5 # [40]
-10D0 10FC # [45]
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+103B 103C
+103F 1057
+105A 105D
+1061 1070
+1075 1081
+1083 1084
+1087 108C
+108E 109C
+109E 10C5
+10D0 10FC
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1360 137C # [29]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1400 169C # [669]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1735 1736 # [2]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1780 17B3 # [52]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1360 137C
+1380 1399
+13A0 13F4
+1400 169C
+16A0 16F0
+1700 170C
+170E 1711
+1720 1731
+1735 1736
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
17B6
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-17D4 17DC # [9]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180A # [11]
+17BE 17C5
+17C7 17C8
+17D4 17DC
+17E0 17E9
+17F0 17F9
+1800 180A
180E
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A8 # [41]
+1810 1819
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1923 1926 # [4]
-1929 192B # [3]
-1930 1931 # [2]
-1933 1938 # [6]
+18B0 18F5
+1900 191C
+1923 1926
+1929 192B
+1930 1931
+1933 1938
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-19DE 1A16 # [57]
-1A19 1A1B # [3]
-1A1E 1A55 # [56]
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A16
+1A19 1A1B
+1A1E 1A55
1A57
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
-1A80 1A89 # [10]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
-1B04 1B33 # [48]
+1A63 1A64
+1A6D 1A72
+1A80 1A89
+1A90 1A99
+1AA0 1AAD
+1B04 1B33
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B4B # [9]
-1B50 1B6A # [27]
-1B74 1B7C # [9]
-1B82 1BA1 # [32]
-1BA6 1BA7 # [2]
+1B3D 1B41
+1B43 1B4B
+1B50 1B6A
+1B74 1B7C
+1B82 1BA1
+1BA6 1BA7
1BAA
-1BAE 1BB9 # [12]
-1C00 1C2B # [44]
-1C34 1C35 # [2]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
+1BAE 1BB9
+1BC0 1BE5
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1BF3
+1BFC 1C2B
+1C34 1C35
+1C3B 1C49
+1C4D 1C7F
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1CF2 # [5]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1CE9 1CEC
+1CEE 1CF2
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 200A # [11]
-2010 2027 # [24]
-202F 205F # [49]
-2070 2071 # [2]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B8 # [25]
-2100 2189 # [138]
-2190 23E8 # [601]
-2400 2426 # [39]
-2440 244A # [11]
-2460 26CD # [622]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 200A
+2010 2027
+202F 205F
+2070 2071
+2074 208E
+2090 209C
+20A0 20B9
+2100 2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27CA
27CC
-27D0 2B4C # [893]
-2B50 2B59 # [10]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CEE # [143]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
-2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2E00 2E31 # [50]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 3029 # [42]
-3030 303F # [16]
-3041 3096 # [86]
-309B 30FF # [101]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 32FE # [223]
-3300 4DB5 # [6838]
-4DC0 9FCB # [21_004]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A4D0 A62B # [348]
-A640 A65F # [32]
-A662 A66E # [13]
+27CE 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CEE
+2CF9 2D25
+2D30 2D65
+2D6F 2D70
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2E00 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 3029
+3030 303F
+3041 3096
+309B 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCB
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A66E
A673
-A67E A697 # [26]
-A6A0 A6EF # [80]
-A6F2 A6F7 # [6]
-A700 A78C # [141]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A824 # [25]
-A827 A82B # [5]
-A830 A839 # [10]
-A840 A877 # [56]
-A880 A8C3 # [68]
-A8CE A8D9 # [12]
-A8F2 A8FB # [10]
-A900 A925 # [38]
-A92E A946 # [25]
-A952 A953 # [2]
-A95F A97C # [30]
-A983 A9B2 # [48]
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD A9CD # [17]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
-AA00 AA28 # [41]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
+A67E A697
+A6A0 A6EF
+A6F2 A6F7
+A700 A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A824
+A827 A82B
+A830 A839
+A840 A877
+A880 A8C3
+A8CE A8D9
+A8F2 A8FB
+A900 A925
+A92E A946
+A952 A953
+A95F A97C
+A983 A9B2
+A9B4 A9B5
+A9BA A9BB
+A9BD A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA28
+AA2F AA30
+AA33 AA34
+AA40 AA42
+AA44 AA4B
AA4D
-AA50 AA59 # [10]
-AA5C AA7B # [32]
-AA80 AAAF # [48]
+AA50 AA59
+AA5C AA7B
+AA80 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
AAC2
-AADB AADF # [5]
-ABC0 ABE4 # [37]
-ABE6 ABE7 # [2]
-ABE9 ABEC # [4]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+AADB AADF
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE4
+ABE6 ABE7
+ABE9 ABEC
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB36 # [24]
-FB38 FB3C # [5]
+FB1F FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFD # [14]
-FE10 FE19 # [10]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF01 FF9D # [157]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFFC FFFD # [2]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FC # [45]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE10 FE19
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
+FF01 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFFC FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FC
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10857 1085F # [9]
-10900 1091B # [28]
-1091F 10939 # [27]
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
1093F
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A40 10A47 # [8]
-10A50 10A58 # [9]
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B39 10B55 # [29]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11082 110B2 # [49]
-110B7 110B8 # [2]
-110BB 110BC # [2]
-110BE 110C1 # [4]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-13000 1342E # [1071]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D164 # [60]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A40 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11000
+11002 11037
+11047 1104D
+11052 1106F
+11082 110B2
+110B7 110B8
+110BB 110BC
+110BE 110C1
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+16800 16A38
+1B000 1B001
+1D000 1D0F5
+1D100 1D126
+1D129 1D164
1D166
-1D16A 1D16D # [4]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D1DD # [48]
-1D200 1D241 # [66]
+1D16A 1D16D
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D200 1D241
1D245
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl
index a189ea00aeb..8b40e8f9e46 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl
@@ -1,247 +1,228 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_914 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Grapheme_Extend=No}
-# \p{Gr_Ext=N}
-# \p{Is_Grapheme_Extend=F}
-# \p{Is_Gr_Ext=False}
-#
-# \P{Grapheme_Extend}
-# \P{Is_Grapheme_Extend}
-# \P{Gr_Ext}
-# \P{Is_Gr_Ext}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Gr_Ext: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 02FF # [768]
-0370 0482 # [275]
-048A 0590 # [263]
+0000 02FF
+0370 0482
+048A 0590
05BE
05C0
05C3
05C6
-05C8 060F # [72]
-061B 064A # [48]
-065F 066F # [17]
-0671 06D5 # [101]
-06DD
-06E5 06E6 # [2]
+05C8 060F
+061B 064A
+0660 066F
+0671 06D5
+06DD 06DE
+06E5 06E6
06E9
-06EE 0710 # [35]
-0712 072F # [30]
-074B 07A5 # [91]
-07B1 07EA # [58]
-07F4 0815 # [34]
+06EE 0710
+0712 072F
+074B 07A5
+07B1 07EA
+07F4 0815
081A
0824
0828
-082E 08FF # [210]
-0903 093B # [57]
-093D 0940 # [4]
-0949 094C # [4]
-094E 0950 # [3]
-0956 0961 # [12]
-0964 0980 # [29]
-0982 09BB # [58]
+082E 0858
+085C 08FF
+0903 0939
+093B
+093D 0940
+0949 094C
+094E 0950
+0958 0961
+0964 0980
+0982 09BB
09BD
-09BF 09C0 # [2]
-09C5 09CC # [8]
-09CE 09D6 # [9]
-09D8 09E1 # [10]
-09E4 0A00 # [29]
-0A03 0A3B # [57]
-0A3D 0A40 # [4]
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A6F # [30]
-0A72 0A74 # [3]
-0A76 0A80 # [11]
-0A83 0ABB # [57]
-0ABD 0AC0 # [4]
+09BF 09C0
+09C5 09CC
+09CE 09D6
+09D8 09E1
+09E4 0A00
+0A03 0A3B
+0A3D 0A40
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A6F
+0A72 0A74
+0A76 0A80
+0A83 0ABB
+0ABD 0AC0
0AC6
-0AC9 0ACC # [4]
-0ACE 0AE1 # [20]
-0AE4 0B00 # [29]
-0B02 0B3B # [58]
+0AC9 0ACC
+0ACE 0AE1
+0AE4 0B00
+0B02 0B3B
0B3D
0B40
-0B45 0B4C # [8]
-0B4E 0B55 # [8]
-0B58 0B61 # [10]
-0B64 0B81 # [30]
-0B83 0BBD # [59]
+0B45 0B4C
+0B4E 0B55
+0B58 0B61
+0B64 0B81
+0B83 0BBD
0BBF
-0BC1 0BCC # [12]
-0BCE 0BD6 # [9]
-0BD8 0C3D # [102]
-0C41 0C45 # [5]
+0BC1 0BCC
+0BCE 0BD6
+0BD8 0C3D
+0C41 0C45
0C49
-0C4E 0C54 # [7]
-0C57 0C61 # [11]
-0C64 0CBB # [88]
-0CBD 0CBE # [2]
-0CC0 0CC1 # [2]
-0CC3 0CC5 # [3]
-0CC7 0CCB # [5]
-0CCE 0CD4 # [7]
-0CD7 0CE1 # [11]
-0CE4 0D3D # [90]
-0D3F 0D40 # [2]
-0D45 0D4C # [8]
-0D4E 0D56 # [9]
-0D58 0D61 # [10]
-0D64 0DC9 # [102]
-0DCB 0DCE # [4]
-0DD0 0DD1 # [2]
+0C4E 0C54
+0C57 0C61
+0C64 0CBB
+0CBD 0CBE
+0CC0 0CC1
+0CC3 0CC5
+0CC7 0CCB
+0CCE 0CD4
+0CD7 0CE1
+0CE4 0D3D
+0D3F 0D40
+0D45 0D4C
+0D4E 0D56
+0D58 0D61
+0D64 0DC9
+0DCB 0DCE
+0DD0 0DD1
0DD5
-0DD7 0DDE # [8]
-0DE0 0E30 # [81]
-0E32 0E33 # [2]
-0E3B 0E46 # [12]
-0E4F 0EB0 # [98]
-0EB2 0EB3 # [2]
+0DD7 0DDE
+0DE0 0E30
+0E32 0E33
+0E3B 0E46
+0E4F 0EB0
+0EB2 0EB3
0EBA
-0EBD 0EC7 # [11]
-0ECE 0F17 # [74]
-0F1A 0F34 # [27]
+0EBD 0EC7
+0ECE 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F70 # [55]
+0F3A 0F70
0F7F
0F85
-0F88 0F8F # [8]
+0F88 0F8C
0F98
-0FBD 0FC5 # [9]
-0FC7 102C # [102]
+0FBD 0FC5
+0FC7 102C
1031
1038
-103B 103C # [2]
-103F 1057 # [25]
-105A 105D # [4]
-1061 1070 # [16]
-1075 1081 # [13]
-1083 1084 # [2]
-1087 108C # [6]
-108E 109C # [15]
-109E 135E # [705]
-1360 1711 # [946]
-1715 1731 # [29]
-1735 1751 # [29]
-1754 1771 # [30]
-1774 17B6 # [67]
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-17D4 17DC # [9]
-17DE 180A # [45]
-180E 18A8 # [155]
-18AA 191F # [118]
-1923 1926 # [4]
-1929 1931 # [9]
-1933 1938 # [6]
-193C 1A16 # [219]
-1A19 1A55 # [61]
+103B 103C
+103F 1057
+105A 105D
+1061 1070
+1075 1081
+1083 1084
+1087 108C
+108E 109C
+109E 135C
+1360 1711
+1715 1731
+1735 1751
+1754 1771
+1774 17B6
+17BE 17C5
+17C7 17C8
+17D4 17DC
+17DE 180A
+180E 18A8
+18AA 191F
+1923 1926
+1929 1931
+1933 1938
+193C 1A16
+1A19 1A55
1A57
1A5F
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
-1A7D 1A7E # [2]
-1A80 1AFF # [128]
-1B04 1B33 # [48]
+1A63 1A64
+1A6D 1A72
+1A7D 1A7E
+1A80 1AFF
+1B04 1B33
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B6A # [40]
-1B74 1B7F # [12]
-1B82 1BA1 # [32]
-1BA6 1BA7 # [2]
-1BAA 1C2B # [130]
-1C34 1C35 # [2]
-1C38 1CCF # [152]
+1B3D 1B41
+1B43 1B6A
+1B74 1B7F
+1B82 1BA1
+1BA6 1BA7
+1BAA 1BE5
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1C2B
+1C34 1C35
+1C38 1CCF
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1DBF # [210]
-1DE7 1DFC # [22]
-1E00 200B # [524]
-200E 20CF # [194]
-20F1 2CEE # [3070]
-2CF2 2DDF # [238]
-2E00 3029 # [554]
-3030 3098 # [105]
-309B A66E # [30_164]
-A673 A67B # [9]
-A67E A6EF # [114]
-A6F2 A801 # [272]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A824 # [25]
-A827 A8C3 # [157]
-A8C5 A8DF # [27]
-A8F2 A925 # [52]
-A92E A946 # [25]
-A952 A97F # [46]
-A983 A9B2 # [48]
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD AA28 # [108]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
-AA37 AA42 # [12]
-AA44 AA4B # [8]
-AA4D AAAF # [99]
+1CE9 1CEC
+1CEE 1DBF
+1DE7 1DFB
+1E00 200B
+200E 20CF
+20F1 2CEE
+2CF2 2D7E
+2D80 2DDF
+2E00 3029
+3030 3098
+309B A66E
+A673 A67B
+A67E A6EF
+A6F2 A801
+A803 A805
+A807 A80A
+A80C A824
+A827 A8C3
+A8C5 A8DF
+A8F2 A925
+A92E A946
+A952 A97F
+A983 A9B2
+A9B4 A9B5
+A9BA A9BB
+A9BD AA28
+AA2F AA30
+AA33 AA34
+AA37 AA42
+AA44 AA4B
+AA4D AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 ABE4 # [291]
-ABE6 ABE7 # [2]
-ABE9 ABEC # [4]
-ABEE FB1D # [20_272]
-FB1F FDFF # [737]
-FE10 FE1F # [16]
-FE27 FF9D # [375]
-FFA0 101FC # [605]
-101FE 10A00 # [2051]
+AAC2 ABE4
+ABE6 ABE7
+ABE9 ABEC
+ABEE FB1D
+FB1F FDFF
+FE10 FE1F
+FE27 FF9D
+FFA0 101FC
+101FE 10A00
10A04
-10A07 10A0B # [5]
-10A10 10A37 # [40]
-10A3B 10A3E # [4]
-10A40 1107F # [1600]
-11082 110B2 # [49]
-110B7 110B8 # [2]
-110BB 1D164 # [49_322]
+10A07 10A0B
+10A10 10A37
+10A3B 10A3E
+10A40 11000
+11002 11037
+11047 1107F
+11082 110B2
+110B7 110B8
+110BB 1D164
1D166
-1D16A 1D16D # [4]
-1D173 1D17A # [8]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 E00FF # [798_395]
-E01F0 10FFFF # [196_112]
+1D16A 1D16D
+1D173 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/Y.pl
deleted file mode 100644
index 6f1c6ea1500..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/Y.pl
+++ /dev/null
@@ -1,246 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-# This file returns the 1198 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Grapheme_Extend=Yes}
-# \p{Gr_Ext=Y}
-# \p{Is_Grapheme_Extend=T}
-# \p{Is_Gr_Ext=True}
-#
-# \p{Grapheme_Extend}
-# \p{Is_Grapheme_Extend}
-# \p{Gr_Ext}
-# \p{Is_Gr_Ext}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Gr_Ext: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
-
-return <<'END';
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
-05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
-05C7
-0610 061A # [11]
-064B 065E # [20]
-0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
-0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0902 # [3]
-093C
-0941 0948 # [8]
-094D
-0951 0955 # [5]
-0962 0963 # [2]
-0981
-09BC
-09BE
-09C1 09C4 # [4]
-09CD
-09D7
-09E2 09E3 # [2]
-0A01 0A02 # [2]
-0A3C
-0A41 0A42 # [2]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A51
-0A70 0A71 # [2]
-0A75
-0A81 0A82 # [2]
-0ABC
-0AC1 0AC5 # [5]
-0AC7 0AC8 # [2]
-0ACD
-0AE2 0AE3 # [2]
-0B01
-0B3C
-0B3E 0B3F # [2]
-0B41 0B44 # [4]
-0B4D
-0B56 0B57 # [2]
-0B62 0B63 # [2]
-0B82
-0BBE
-0BC0
-0BCD
-0BD7
-0C3E 0C40 # [3]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
-0CBC
-0CBF
-0CC2
-0CC6
-0CCC 0CCD # [2]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
-0D3E
-0D41 0D44 # [4]
-0D4D
-0D57
-0D62 0D63 # [2]
-0DCA
-0DCF
-0DD2 0DD4 # [3]
-0DD6
-0DDF
-0E31
-0E34 0E3A # [7]
-0E47 0E4E # [8]
-0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
-0F35
-0F37
-0F39
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FC6
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
-1082
-1085 1086 # [2]
-108D
-109D
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B7 17BD # [7]
-17C6
-17C9 17D3 # [11]
-17DD
-180B 180D # [3]
-18A9
-1920 1922 # [3]
-1927 1928 # [2]
-1932
-1939 193B # [3]
-1A17 1A18 # [2]
-1A56
-1A58 1A5E # [7]
-1A60
-1A62
-1A65 1A6C # [8]
-1A73 1A7C # [10]
-1A7F
-1B00 1B03 # [4]
-1B34
-1B36 1B3A # [5]
-1B3C
-1B42
-1B6B 1B73 # [9]
-1B80 1B81 # [2]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1C2C 1C33 # [8]
-1C36 1C37 # [2]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
-1CED
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-200C 200D # [2]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
-A802
-A806
-A80B
-A825 A826 # [2]
-A8C4
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A951 # [11]
-A980 A982 # [3]
-A9B3
-A9B6 A9B9 # [4]
-A9BC
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA36 # [2]
-AA43
-AA4C
-AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
-AAC1
-ABE5
-ABE8
-ABED
-FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FF9E FF9F # [2]
-101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
-10A3F
-11080 11081 # [2]
-110B3 110B6 # [4]
-110B9 110BA # [2]
-1D165
-1D167 1D169 # [3]
-1D16E 1D172 # [5]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl
index d6d909a8fa4..5325a1f3552 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl
@@ -1,49 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_068 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Hex_Digit=No}
-# \p{Hex=N}
-# \p{Is_Hex_Digit=F}
-# \p{Is_Hex=False}
-#
-# \P{XDigit}
-# \P{Is_XDigit}
-# \P{Hex_Digit}
-# \P{Is_Hex_Digit}
-# \P{Hex}
-# \P{Is_Hex}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Hex: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002F # [48]
-003A 0040 # [7]
-0047 0060 # [26]
-0067 FF0F # [65_193]
-FF1A FF20 # [7]
-FF27 FF40 # [26]
-FF47 10FFFF # [1_048_761]
+0000 002F
+003A 0040
+0047 0060
+0067 FF0F
+FF1A FF20
+FF27 FF40
+FF47 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
index ea02c322ade..64fad79fbf6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
@@ -1,48 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 44 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Hex_Digit=Yes}
-# \p{Hex=Y}
-# \p{Is_Hex_Digit=T}
-# \p{Is_Hex=True}
-#
-# \p{XDigit}
-# \p{Is_XDigit}
-# \p{Hex_Digit}
-# \p{Is_Hex_Digit}
-# \p{Hex}
-# \p{Is_Hex}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Hex: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 0046 # [6]
-0061 0066 # [6]
-FF10 FF19 # [10]
-FF21 FF26 # [6]
-FF41 FF46 # [6]
+0030 0039
+0041 0046
+0061 0066
+FF10 FF19
+FF21 FF26
+FF41 FF46
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
index 478c827c069..b7e726d005e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
@@ -1,41 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_102_583 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Hangul_Syllable_Type=Not_Applicable}
-# \p{Hst=NA}
-# \p{Is_Hangul_Syllable_Type=Not_Applicable}
-# \p{Is_Hst=NA}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Hst: Not_Applicable}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 10FF # [4352]
-1200 A95F # [38_752]
-A97D ABFF # [643]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC 10FFFF # [1_058_820]
+0000 10FF
+1200 A95F
+A97D ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl
index 5155cf66f50..b8cbd965414 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl
@@ -1,51 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'S' below means that this form is stabilized. Consult perluniprops.pod
-#
-# This file returns the 1_114_101 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# S \p{Hyphen=No}
-# S \p{Is_Hyphen=N}
-# S \p{Hyphen=F}
-# S \p{Is_Hyphen=False}
-#
-# S \P{Hyphen}
-# S \P{Is_Hyphen}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Hyphen: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002C # [45]
-002E 00AC # [127]
-00AE 0589 # [1244]
-058B 1805 # [4731]
-1807 200F # [2057]
-2012 2E16 # [3589]
-2E18 30FA # [739]
-30FC FE62 # [52_583]
-FE64 FF0C # [169]
-FF0E FF64 # [87]
-FF66 10FFFF # [1_048_730]
+0000 002C
+002E 00AC
+00AE 0589
+058B 1805
+1807 200F
+2012 2E16
+2E18 30FA
+30FC FE62
+FE64 FF0C
+FF0E FF64
+FF66 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
index 3961ad57db3..d8e4c657d8a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
@@ -1,47 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'S' below means that this form is stabilized. Consult perluniprops.pod
-#
-# This file returns the 11 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# S \p{Hyphen=Yes}
-# S \p{Is_Hyphen=Y}
-# S \p{Hyphen=T}
-# S \p{Is_Hyphen=True}
-#
-# S \p{Hyphen}
-# S \p{Is_Hyphen}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Hyphen: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002D
00AD
058A
1806
-2010 2011 # [2]
+2010 2011
2E17
30FB
FE63
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl
index 275a855128d..b13417e5f56 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl
@@ -1,375 +1,344 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_012_478 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{ID_Continue=No}
-# \p{IDC=N}
-# \p{Is_ID_Continue=F}
-# \p{Is_IDC=False}
-#
-# \P{ID_Continue}
-# \P{Is_ID_Continue}
-# \P{IDC}
-# \P{Is_IDC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDC: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002F # [48]
-003A 0040 # [7]
-005B 005E # [4]
+0000 002F
+003A 0040
+005B 005E
0060
-007B 00A9 # [47]
-00AB 00B4 # [10]
+007B 00A9
+00AB 00B4
00B6
-00B8 00B9 # [2]
-00BB 00BF # [5]
+00B8 00B9
+00BB 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 02FF # [17]
+02EF 02FF
0375
-0378 0379 # [2]
-037E 0385 # [8]
+0378 0379
+037E 0385
038B
038D
03A2
03F6
0482
-0488 0489 # [2]
-0526 0530 # [11]
-0557 0558 # [2]
-055A 0560 # [7]
-0588 0590 # [9]
+0488 0489
+0528 0530
+0557 0558
+055A 0560
+0588 0590
05BE
05C0
05C3
05C6
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F3 060F # [29]
-061B 0620 # [6]
-065F
-066A 066D # [4]
+05C8 05CF
+05EB 05EF
+05F3 060F
+061B 061F
+066A 066D
06D4
-06DD 06DE # [2]
+06DD 06DE
06E9
-06FD 06FE # [2]
-0700 070F # [16]
-074B 074C # [2]
-07B2 07BF # [14]
-07F6 07F9 # [4]
-07FB 07FF # [5]
-082E 08FF # [210]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0964 0965 # [2]
+06FD 06FE
+0700 070F
+074B 074C
+07B2 07BF
+07F6 07F9
+07FB 07FF
+082E 083F
+085C 08FF
+0964 0965
0970
-0973 0978 # [6]
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09F2 0A00 # [15]
+09E4 09E5
+09F2 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
-0AF0 0B00 # [17]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
+0AF0 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
+0B64 0B65
0B70
-0B72 0B81 # [16]
+0B72 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BF0 0C00 # [17]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BF0 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C81 # [18]
+0C5A 0C5F
+0C64 0C65
+0C70 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
-0CF0 0D01 # [18]
+0CE4 0CE5
+0CF0
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D70 0D79 # [10]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D70 0D79
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E00 # [13]
-0E3B 0E3F # [5]
+0DE0 0DF1
+0DF4 0E00
+0E3B 0E3F
0E4F
-0E5A 0E80 # [39]
+0E5A 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
-0F01 0F17 # [23]
-0F1A 0F1F # [6]
-0F2A 0F34 # [11]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
+0F01 0F17
+0F1A 0F1F
+0F2A 0F34
0F36
0F38
-0F3A 0F3D # [4]
+0F3A 0F3D
0F48
-0F6D 0F70 # [4]
+0F6D 0F70
0F85
-0F8C 0F8F # [4]
0F98
-0FBD 0FC5 # [9]
-0FC7 0FFF # [57]
-104A 104F # [6]
-109E 109F # [2]
-10C6 10CF # [10]
+0FBD 0FC5
+0FC7 0FFF
+104A 104F
+109E 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-1360 1368 # [9]
-1372 137F # [14]
-1390 139F # [16]
-13F5 1400 # [12]
-166D 166E # [2]
+1316 1317
+135B 135C
+1360 1368
+1372 137F
+1390 139F
+13F5 1400
+166D 166E
1680
-169B 169F # [5]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169B 169F
+16EB 16ED
+16F1 16FF
170D
-1715 171F # [11]
-1735 173F # [11]
-1754 175F # [12]
+1715 171F
+1735 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17B4 17B5 # [2]
-17D4 17D6 # [3]
-17D8 17DB # [4]
-17DE 17DF # [2]
-17EA 180A # [33]
-180E 180F # [2]
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 1945 # [10]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19FF # [37]
-1A1C 1A1F # [4]
+1774 177F
+17B4 17B5
+17D4 17D6
+17D8 17DB
+17DE 17DF
+17EA 180A
+180E 180F
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 1945
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19FF
+1A1C 1A1F
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1AA6 # [13]
-1AA8 1AFF # [88]
-1B4C 1B4F # [4]
-1B5A 1B6A # [17]
-1B74 1B7F # [12]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3F # [8]
-1C4A 1C4C # [3]
-1C7E 1CCF # [82]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1AA6
+1AA8 1AFF
+1B4C 1B4F
+1B5A 1B6A
+1B74 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFF
+1C38 1C3F
+1C4A 1C4C
+1C7E 1CCF
1CD3
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 203E # [66]
-2041 2053 # [19]
-2055 2070 # [28]
-2072 207E # [13]
-2080 208F # [16]
-2095 20CF # [59]
-20DD 20E0 # [4]
-20E2 20E4 # [3]
-20F1 2101 # [17]
-2103 2106 # [4]
-2108 2109 # [2]
+1FFD 203E
+2041 2053
+2055 2070
+2072 207E
+2080 208F
+209D 20CF
+20DD 20E0
+20E2 20E4
+20F1 2101
+2103 2106
+2108 2109
2114
-2116 2117 # [2]
-211E 2123 # [6]
+2116 2117
+211E 2123
2125
2127
2129
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 2BFF # [2679]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CF2 2CFF # [14]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CF2 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -378,156 +347,166 @@ return <<'END';
2DCF
2DD7
2DDF
-2E00 3004 # [517]
-3008 3020 # [25]
+2E00 3004
+3008 3020
3030
-3036 3037 # [2]
-303D 3040 # [4]
-3097 3098 # [2]
+3036 3037
+303D 3040
+3097 3098
30A0
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 33FF # [512]
-4DB6 4DFF # [74]
-9FCC 9FFF # [52]
-A48D A4CF # [67]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A62C A63F # [20]
-A660 A661 # [2]
-A670 A67B # [12]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 33FF
+4DB6 4DFF
+9FCC 9FFF
+A48D A4CF
+A4FE A4FF
+A60D A60F
+A62C A63F
+A670 A67B
A67E
-A698 A69F # [8]
-A6F2 A716 # [37]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
-A828 A83F # [24]
-A874 A87F # [12]
-A8C5 A8CF # [11]
-A8DA A8DF # [6]
-A8F8 A8FA # [3]
-A8FC A8FF # [4]
-A92E A92F # [2]
-A954 A95F # [12]
-A97D A97F # [3]
-A9C1 A9CE # [14]
-A9DA A9FF # [38]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5F # [6]
-AA77 AA79 # [3]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AADE ABBF # [226]
+A698 A69F
+A6F2 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
+A828 A83F
+A874 A87F
+A8C5 A8CF
+A8DA A8DF
+A8F8 A8FA
+A8FC A8FF
+A92E A92F
+A954 A95F
+A97D A97F
+A9C1 A9CE
+A9DA A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5F
+AA77 AA79
+AA7C AA7F
+AAC3 AADA
+AADE AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
ABEB
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB29
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFC FDFF # [4]
-FE10 FE1F # [16]
-FE27 FE32 # [12]
-FE35 FE4C # [24]
-FE50 FE6F # [32]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFC FDFF
+FE10 FE1F
+FE27 FE32
+FE35 FE4C
+FE50 FE6F
FE75
-FEFD FF0F # [19]
-FF1A FF20 # [7]
-FF3B FF3E # [4]
+FEFD FF0F
+FF1A FF20
+FF3B FF3E
FF40
-FF5B FF65 # [11]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFFF # [35]
+FF5B FF65
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 101FC # [136]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 101FC
+101FE 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A40 10A5F # [32]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 1107F # [1079]
-110BB 11FFF # [3909]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D164 # [40_246]
-1D16A 1D16C # [3]
-1D173 1D17A # [8]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 1D3FF # [443]
+10A34 10A37
+10A3B 10A3E
+10A40 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 10FFF
+11047 11065
+11070 1107F
+110BB 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1D164
+1D16A 1D16C
+1D173 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -538,10 +517,11 @@ FFDD FFFF # [35]
1D789
1D7A9
1D7C3
-1D7CC 1D7CD # [2]
-1D800 1FFFF # [10_240]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E E00FF # [722_658]
-E01F0 10FFFF # [196_112]
+1D7CC 1D7CD
+1D800 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
index a0579195a06..dc4c527db20 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
@@ -1,546 +1,526 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 101_634 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{ID_Continue=Yes}
-# \p{IDC=Y}
-# \p{Is_ID_Continue=T}
-# \p{Is_IDC=True}
-#
-# \p{ID_Continue}
-# \p{Is_ID_Continue}
-# \p{IDC}
-# \p{Is_IDC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 005A # [26]
+0030 0039
+0041 005A
005F
-0061 007A # [26]
+0061 007A
00AA
00B5
00B7
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0300 0374 # [117]
-0376 0377 # [2]
-037A 037D # [4]
-0386 038A # [5]
+0300 0374
+0376 0377
+037A 037D
+0386 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-0483 0487 # [5]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+0483 0487
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-0591 05BD # [45]
+0561 0587
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0610 061A # [11]
-0621 065E # [62]
-0660 0669 # [10]
-066E 06D3 # [102]
-06D5 06DC # [8]
-06DF 06E8 # [10]
-06EA 06FC # [19]
+05D0 05EA
+05F0 05F2
+0610 061A
+0620 0669
+066E 06D3
+06D5 06DC
+06DF 06E8
+06EA 06FC
06FF
-0710 074A # [59]
-074D 07B1 # [101]
-07C0 07F5 # [54]
+0710 074A
+074D 07B1
+07C0 07F5
07FA
-0800 082D # [46]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0963 # [12]
-0966 096F # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0800 082D
+0840 085B
+0900 0963
+0966 096F
+0971 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09F1 # [12]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B6F # [10]
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B6F
0B71
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BEF # [10]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BEF
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D6F # [10]
-0D7A 0D7F # [6]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D6F
+0D7A 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0E01 0E3A # [58]
-0E40 0E4E # [15]
-0E50 0E59 # [10]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E50 0E59
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
0F00
-0F18 0F19 # [2]
-0F20 0F29 # [10]
+0F18 0F19
+0F20 0F29
0F35
0F37
0F39
-0F3E 0F47 # [10]
-0F49 0F6C # [36]
-0F71 0F84 # [20]
-0F86 0F8B # [6]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F47
+0F49 0F6C
+0F71 0F84
+0F86 0F97
+0F99 0FBC
0FC6
-1000 1049 # [74]
-1050 109D # [78]
-10A0 10C5 # [38]
-10D0 10FA # [43]
+1000 1049
+1050 109D
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F
-1369 1371 # [9]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1734 # [21]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17B3 # [52]
-17B6 17D3 # [30]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 135F
+1369 1371
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
17D7
-17DC 17DD # [2]
-17E0 17E9 # [10]
-180B 180D # [3]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
-1946 196D # [40]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-1A00 1A1B # [28]
-1A20 1A5E # [63]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
+17DC 17DD
+17E0 17E9
+180B 180D
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
+1946 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+1A00 1A1B
+1A20 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
1AA7
-1B00 1B4B # [76]
-1B50 1B59 # [10]
-1B6B 1B73 # [9]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C40 1C49 # [10]
-1C4D 1C7D # [49]
-1CD0 1CD2 # [3]
-1CD4 1CF2 # [31]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B00 1B4B
+1B50 1B59
+1B6B 1B73
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1C00 1C37
+1C40 1C49
+1C4D 1C7D
+1CD0 1CD2
+1CD4 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
-203F 2040 # [2]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+203F 2040
2054
2071
207F
-2090 2094 # [5]
-20D0 20DC # [13]
+2090 209C
+20D0 20DC
20E1
-20E5 20F0 # [12]
+20E5 20F0
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2118 211D # [6]
+2118 211D
2124
2126
2128
-212A 2139 # [16]
-213C 213F # [4]
-2145 2149 # [5]
+212A 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CF1 # [7]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CF1
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2DFF # [32]
-3005 3007 # [3]
-3021 302F # [15]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-3099 309F # [7]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A62B # [28]
-A640 A65F # [32]
-A662 A66F # [14]
-A67C A67D # [2]
-A67F A697 # [25]
-A6A0 A6F1 # [82]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A827 # [45]
-A840 A873 # [52]
-A880 A8C4 # [69]
-A8D0 A8D9 # [10]
-A8E0 A8F7 # [24]
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2DFF
+3005 3007
+3021 302F
+3031 3035
+3038 303C
+3041 3096
+3099 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A62B
+A640 A66F
+A67C A67D
+A67F A697
+A6A0 A6F1
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A827
+A840 A873
+A880 A8C4
+A8D0 A8D9
+A8E0 A8F7
A8FB
-A900 A92D # [46]
-A930 A953 # [36]
-A960 A97C # [29]
-A980 A9C0 # [65]
-A9CF A9D9 # [11]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA60 AA76 # [23]
-AA7A AA7B # [2]
-AA80 AAC2 # [67]
-AADB AADD # [3]
-ABC0 ABEA # [43]
-ABEC ABED # [2]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB28 # [12]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+A900 A92D
+A930 A953
+A960 A97C
+A980 A9C0
+A9CF A9D9
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA60 AA76
+AA7A AA7B
+AA80 AAC2
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABEA
+ABEC ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FE33 FE34 # [2]
-FE4D FE4F # [3]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF10 FF19 # [10]
-FF21 FF3A # [26]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE00 FE0F
+FE20 FE26
+FE33 FE34
+FE4D FE4F
+FE70 FE74
+FE76 FEFC
+FF10 FF19
+FF21 FF3A
FF3F
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
101FD
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
+1083F 10855
+10900 10915
+10920 10939
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
10A3F
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11080 110BA # [59]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D165 1D169 # [5]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11000 11046
+11066 1106F
+11080 110BA
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-1D7CE 1D7FF # [50]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
-E0100 E01EF # [240]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+1D7CE 1D7FF
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl
index 8e1da75196d..bd9a1b8cad6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl
@@ -1,307 +1,282 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_014_348 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{ID_Start=No}
-# \p{IDS=N}
-# \p{Is_ID_Start=F}
-# \p{Is_IDS=False}
-#
-# \P{ID_Start}
-# \P{Is_ID_Start}
-# \P{IDS}
-# \P{Is_IDS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDS: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 0060 # [6]
-007B 00A9 # [47]
-00AB 00B4 # [10]
-00B6 00B9 # [4]
-00BB 00BF # [5]
+0000 0040
+005B 0060
+007B 00A9
+00AB 00B4
+00B6 00B9
+00BB 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 036F # [129]
+02EF 036F
0375
-0378 0379 # [2]
-037E 0385 # [8]
+0378 0379
+037E 0385
0387
038B
038D
03A2
03F6
-0482 0489 # [8]
-0526 0530 # [11]
-0557 0558 # [2]
-055A 0560 # [7]
-0588 05CF # [72]
-05EB 05EF # [5]
-05F3 0620 # [46]
-064B 066D # [35]
+0482 0489
+0528 0530
+0557 0558
+055A 0560
+0588 05CF
+05EB 05EF
+05F3 061F
+064B 066D
0670
06D4
-06D6 06E4 # [15]
-06E7 06ED # [7]
-06F0 06F9 # [10]
-06FD 06FE # [2]
-0700 070F # [16]
+06D6 06E4
+06E7 06ED
+06F0 06F9
+06FD 06FE
+0700 070F
0711
-0730 074C # [29]
-07A6 07B0 # [11]
-07B2 07C9 # [24]
-07EB 07F3 # [9]
-07F6 07F9 # [4]
-07FB 07FF # [5]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 0903 # [219]
-093A 093C # [3]
-093E 094F # [18]
-0951 0957 # [7]
-0962 0970 # [15]
-0973 0978 # [6]
-0980 0984 # [5]
-098D 098E # [2]
-0991 0992 # [2]
+0730 074C
+07A6 07B0
+07B2 07C9
+07EB 07F3
+07F6 07F9
+07FB 07FF
+0816 0819
+081B 0823
+0825 0827
+0829 083F
+0859 0903
+093A 093C
+093E 094F
+0951 0957
+0962 0970
+0978
+0980 0984
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BC # [3]
-09BE 09CD # [16]
-09CF 09DB # [13]
+09B3 09B5
+09BA 09BC
+09BE 09CD
+09CF 09DB
09DE
-09E2 09EF # [14]
-09F2 0A04 # [19]
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+09E2 09EF
+09F2 0A04
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A58 # [31]
+0A3A 0A58
0A5D
-0A5F 0A71 # [19]
-0A75 0A84 # [16]
+0A5F 0A71
+0A75 0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABC # [3]
-0ABE 0ACF # [18]
-0AD1 0ADF # [15]
-0AE2 0B04 # [35]
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0ABA 0ABC
+0ABE 0ACF
+0AD1 0ADF
+0AE2 0B04
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3C # [3]
-0B3E 0B5B # [30]
+0B3A 0B3C
+0B3E 0B5B
0B5E
-0B62 0B70 # [15]
-0B72 0B82 # [17]
+0B62 0B70
+0B72 0B82
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BCF # [22]
-0BD1 0C04 # [52]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BCF
+0BD1 0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
-0C3E 0C57 # [26]
-0C5A 0C5F # [6]
-0C62 0C84 # [35]
+0C3A 0C3C
+0C3E 0C57
+0C5A 0C5F
+0C62 0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBC # [3]
-0CBE 0CDD # [32]
+0CBA 0CBC
+0CBE 0CDD
0CDF
-0CE2 0D04 # [35]
+0CE2 0CF0
+0CF3 0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
-0D3E 0D5F # [34]
-0D62 0D79 # [24]
-0D80 0D84 # [5]
-0D97 0D99 # [3]
+0D3B 0D3C
+0D3E 0D4D
+0D4F 0D5F
+0D62 0D79
+0D80 0D84
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0E00 # [58]
+0DBE 0DBF
+0DC7 0E00
0E31
-0E34 0E3F # [12]
-0E47 0E80 # [58]
+0E34 0E3F
+0E47 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EB1
-0EB4 0EBC # [9]
-0EBE 0EBF # [2]
+0EB4 0EBC
+0EBE 0EBF
0EC5
-0EC7 0EDB # [21]
-0EDE 0EFF # [34]
-0F01 0F3F # [63]
+0EC7 0EDB
+0EDE 0EFF
+0F01 0F3F
0F48
-0F6D 0F87 # [27]
-0F8C 0FFF # [116]
-102B 103E # [20]
-1040 104F # [16]
-1056 1059 # [4]
-105E 1060 # [3]
-1062 1064 # [3]
-1067 106D # [7]
-1071 1074 # [4]
-1082 108D # [12]
-108F 109F # [17]
-10C6 10CF # [10]
+0F6D 0F87
+0F8D 0FFF
+102B 103E
+1040 104F
+1056 1059
+105E 1060
+1062 1064
+1067 106D
+1071 1074
+1082 108D
+108F 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 137F # [37]
-1390 139F # [16]
-13F5 1400 # [12]
-166D 166E # [2]
+1316 1317
+135B 137F
+1390 139F
+13F5 1400
+166D 166E
1680
-169B 169F # [5]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169B 169F
+16EB 16ED
+16F1 16FF
170D
-1712 171F # [14]
-1732 173F # [14]
-1752 175F # [14]
+1712 171F
+1732 173F
+1752 175F
176D
-1771 177F # [15]
-17B4 17D6 # [35]
-17D8 17DB # [4]
-17DD 181F # [67]
-1878 187F # [8]
+1771 177F
+17B4 17D6
+17D8 17DB
+17DD 181F
+1878 187F
18A9
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 194F # [51]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19C0 # [21]
-19C8 19FF # [56]
-1A17 1A1F # [9]
-1A55 1AA6 # [82]
-1AA8 1B04 # [93]
-1B34 1B44 # [17]
-1B4C 1B82 # [55]
-1BA1 1BAD # [13]
-1BB0 1BFF # [80]
-1C24 1C4C # [41]
-1C50 1C59 # [10]
-1C7E 1CE8 # [107]
+18AB 18AF
+18F6 18FF
+191D 194F
+196E 196F
+1975 197F
+19AC 19C0
+19C8 19FF
+1A17 1A1F
+1A55 1AA6
+1AA8 1B04
+1B34 1B44
+1B4C 1B82
+1BA1 1BAD
+1BB0 1BBF
+1BE6 1BFF
+1C24 1C4C
+1C50 1C59
+1C7E 1CE8
1CED
-1CF2 1CFF # [14]
-1DC0 1DFF # [64]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF2 1CFF
+1DC0 1DFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 2070 # [116]
-2072 207E # [13]
-2080 208F # [16]
-2095 2101 # [109]
-2103 2106 # [4]
-2108 2109 # [2]
+1FFD 2070
+2072 207E
+2080 208F
+209D 2101
+2103 2106
+2108 2109
2114
-2116 2117 # [2]
-211E 2123 # [6]
+2116 2117
+211E 2123
2125
2127
2129
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 2BFF # [2679]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CEF 2CFF # [17]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CEF 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7F
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -309,67 +284,73 @@ return <<'END';
2DC7
2DCF
2DD7
-2DDF 3004 # [550]
-3008 3020 # [25]
-302A 3030 # [7]
-3036 3037 # [2]
-303D 3040 # [4]
-3097 309A # [4]
+2DDF 3004
+3008 3020
+302A 3030
+3036 3037
+303D 3040
+3097 309A
30A0
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 33FF # [512]
-4DB6 4DFF # [74]
-9FCC 9FFF # [52]
-A48D A4CF # [67]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A620 A629 # [10]
-A62C A63F # [20]
-A660 A661 # [2]
-A66F A67E # [16]
-A698 A69F # [8]
-A6F0 A716 # [39]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 33FF
+4DB6 4DFF
+9FCC 9FFF
+A48D A4CF
+A4FE A4FF
+A60D A60F
+A620 A629
+A62C A63F
+A66F A67E
+A698 A69F
+A6F0 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
A802
A806
A80B
-A823 A83F # [29]
-A874 A881 # [14]
-A8B4 A8F1 # [62]
-A8F8 A8FA # [3]
-A8FC A909 # [14]
-A926 A92F # [10]
-A947 A95F # [25]
-A97D A983 # [7]
-A9B3 A9CE # [28]
-A9D0 A9FF # [48]
-AA29 AA3F # [23]
+A823 A83F
+A874 A881
+A8B4 A8F1
+A8F8 A8FA
+A8FC A909
+A926 A92F
+A947 A95F
+A97D A983
+A9B3 A9CE
+A9D0 A9FF
+AA29 AA3F
AA43
-AA4C AA5F # [20]
-AA77 AA79 # [3]
-AA7B AA7F # [5]
+AA4C AA5F
+AA77 AA79
+AA7B AA7F
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
-AAC3 AADA # [24]
-AADE ABBF # [226]
-ABE3 ABFF # [29]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+AAC3 AADA
+AADE AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABE3 ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB1E
FB29
FB37
@@ -377,77 +358,80 @@ FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFC FE6F # [116]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFC FE6F
FE75
-FEFD FF20 # [36]
-FF3B FF40 # [6]
-FF5B FF65 # [11]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFFF # [35]
+FEFD FF20
+FF3B FF40
+FF5B FF65
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 1027F # [267]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 107FF # [866]
-10806 10807 # [2]
+103D6 103FF
+1049E 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
-10A01 10A0F # [15]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
+10A01 10A0F
10A14
10A18
-10A34 10A5F # [44]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 11082 # [1082]
-110B0 11FFF # [3920]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D3FF # [40_913]
+10A34 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 11002
+11038 11082
+110B0 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -458,8 +442,9 @@ FFDD FFFF # [35]
1D789
1D7A9
1D7C3
-1D7CC 1FFFF # [10_292]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E 10FFFF # [919_010]
+1D7CC 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
index 003dff148a8..55485ab47ed 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
@@ -1,464 +1,449 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 99_764 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{ID_Start=Yes}
-# \p{IDS=Y}
-# \p{Is_ID_Start=T}
-# \p{Is_IDS=True}
-#
-# \p{ID_Start}
-# \p{Is_ID_Start}
-# \p{IDS}
-# \p{Is_IDS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDS: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0370 0374 # [5]
-0376 0377 # [2]
-037A 037D # [4]
+0370 0374
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0621 064A # [42]
-066E 066F # [2]
-0671 06D3 # [99]
+0561 0587
+05D0 05EA
+05F0 05F2
+0620 064A
+066E 066F
+0671 06D3
06D5
-06E5 06E6 # [2]
-06EE 06EF # [2]
-06FA 06FC # [3]
+06E5 06E6
+06EE 06EF
+06FA 06FC
06FF
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-07F4 07F5 # [2]
+07CA 07EA
+07F4 07F5
07FA
-0800 0815 # [22]
+0800 0815
081A
0824
0828
-0904 0939 # [54]
+0840 0858
+0904 0939
093D
0950
-0958 0961 # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0971 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
+0B5C 0B5D
+0B5F 0B61
0B71
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0E01 0E30 # [48]
-0E32 0E33 # [2]
-0E40 0E46 # [7]
-0E81 0E82 # [2]
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB0 # [4]
-0EB2 0EB3 # [2]
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
0EBD
-0EC0 0EC4 # [5]
+0EC0 0EC4
0EC6
-0EDC 0EDD # [2]
+0EDC 0EDD
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-1000 102A # [43]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+1000 102A
103F
-1050 1055 # [6]
-105A 105D # [4]
+1050 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-10A0 10C5 # [38]
-10D0 10FA # [43]
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1780 17B3 # [52]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
17D7
17DC
-1820 1877 # [88]
-1880 18A8 # [41]
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19C1 19C7 # [7]
-1A00 1A16 # [23]
-1A20 1A54 # [53]
+18B0 18F5
+1900 191C
+1950 196D
+1970 1974
+1980 19AB
+19C1 19C7
+1A00 1A16
+1A20 1A54
1AA7
-1B05 1B33 # [47]
-1B45 1B4B # [7]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF1
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2071
207F
-2090 2094 # [5]
+2090 209C
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2118 211D # [6]
+2118 211D
2124
2126
2128
-212A 2139 # [16]
-213C 213F # [4]
-2145 2149 # [5]
+212A 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-3005 3007 # [3]
-3021 3029 # [9]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-309B 309F # [5]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
-A640 A65F # [32]
-A662 A66E # [13]
-A67F A697 # [25]
-A6A0 A6EF # [80]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8F7 # [6]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309B 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
+A67F A697
+A6A0 A6EF
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
A8FB
-A90A A925 # [28]
-A930 A946 # [23]
-A960 A97C # [29]
-A984 A9B2 # [47]
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
A9CF
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
-AA60 AA76 # [23]
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AA60 AA76
AA7A
-AA80 AAAF # [48]
+AA80 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
AAC2
-AADB AADD # [3]
-ABC0 ABE2 # [35]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB28 # [10]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB1F FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
+1083F 10855
+10900 10915
+10920 10939
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11083 110AF # [45]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl
index 66b96d15152..ec394fb2c0b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl
@@ -1,43 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_102 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{IDS_Binary_Operator=No}
-# \p{IDSB=N}
-# \p{Is_IDS_Binary_Operator=F}
-# \p{Is_IDSB=False}
-#
-# \P{IDS_Binary_Operator}
-# \P{Is_IDS_Binary_Operator}
-# \P{IDSB}
-# \P{Is_IDSB}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDSB: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 2FEF # [12_272]
-2FF2 2FF3 # [2]
-2FFC 10FFFF # [1_101_828]
+0000 2FEF
+2FF2 2FF3
+2FFC 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
index 9b8aa8392ce..0f0fe9edf1d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
@@ -1,42 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 10 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{IDS_Binary_Operator=Yes}
-# \p{IDSB=Y}
-# \p{Is_IDS_Binary_Operator=T}
-# \p{Is_IDSB=True}
-#
-# \p{IDS_Binary_Operator}
-# \p{Is_IDS_Binary_Operator}
-# \p{IDSB}
-# \p{Is_IDSB}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDSB: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2FF0 2FF1 # [2]
-2FF4 2FFB # [8]
+2FF0 2FF1
+2FF4 2FFB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl
index d99c0c7c5ad..867dee1bb4e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl
@@ -1,42 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_110 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{IDS_Trinary_Operator=No}
-# \p{IDST=N}
-# \p{Is_IDS_Trinary_Operator=F}
-# \p{Is_IDST=False}
-#
-# \P{IDS_Trinary_Operator}
-# \P{Is_IDS_Trinary_Operator}
-# \P{IDST}
-# \P{Is_IDST}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDST: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 2FF1 # [12_274]
-2FF4 10FFFF # [1_101_836]
+0000 2FF1
+2FF4 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
index c84276e28d0..807b6c94c0f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{IDS_Trinary_Operator=Yes}
-# \p{IDST=Y}
-# \p{Is_IDS_Trinary_Operator=T}
-# \p{Is_IDST=True}
-#
-# \p{IDS_Trinary_Operator}
-# \p{Is_IDS_Trinary_Operator}
-# \p{IDST}
-# \p{Is_IDST}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_IDST: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2FF2 2FF3 # [2]
+2FF2 2FF3
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl
index 7296d2a1ab9..503cbba5908 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl
@@ -1,52 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_038_704 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Ideographic=No}
-# \p{Ideo=N}
-# \p{Is_Ideographic=F}
-# \p{Is_Ideo=False}
-#
-# \P{Ideographic}
-# \P{Is_Ideographic}
-# \P{Ideo}
-# \P{Is_Ideo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ideo: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 3005 # [12_294]
-3008 3020 # [25]
-302A 3037 # [14]
-303B 33FF # [965]
-4DB6 4DFF # [74]
-9FCC F8FF # [22_836]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA 1FFFF # [66_854]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E 10FFFF # [919_010]
+0000 3005
+3008 3020
+302A 3037
+303B 33FF
+4DB6 4DFF
+9FCC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
index f803ff31c2c..c3c6dc77f89 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
@@ -1,51 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 75_408 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Ideographic=Yes}
-# \p{Ideo=Y}
-# \p{Is_Ideographic=T}
-# \p{Is_Ideo=True}
-#
-# \p{Ideographic}
-# \p{Is_Ideographic}
-# \p{Ideo}
-# \p{Is_Ideo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Ideo: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3006 3007 # [2]
-3021 3029 # [9]
-3038 303A # [3]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+3006 3007
+3021 3029
+3038 303A
+3400 4DB5
+4E00 9FCB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
index 5be1345ce03..26b0c997492 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
@@ -1,347 +1,324 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 178_500 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=2.0}
-# \p{In=2.0}
-#
-# Meaning: Code point's usage introduced in version 2.0 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 2.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 01F5 # [502]
-01FA 0217 # [30]
-0250 02A8 # [89]
-02B0 02DE # [47]
-02E0 02E9 # [10]
-0300 0345 # [70]
-0360 0361 # [2]
-0374 0375 # [2]
+0000 01F5
+01FA 0217
+0250 02A8
+02B0 02DE
+02E0 02E9
+0300 0345
+0360 0361
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03D6 # [7]
+038E 03A1
+03A3 03CE
+03D0 03D6
03DA
03DC
03DE
03E0
-03E2 03F3 # [18]
-0401 040C # [12]
-040E 044F # [66]
-0451 045C # [12]
-045E 0486 # [41]
-0490 04C4 # [53]
-04C7 04C8 # [2]
-04CB 04CC # [2]
-04D0 04EB # [28]
-04EE 04F5 # [8]
-04F8 04F9 # [2]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
+03E2 03F3
+0401 040C
+040E 044F
+0451 045C
+045E 0486
+0490 04C4
+04C7 04C8
+04CB 04CC
+04D0 04EB
+04EE 04F5
+04F8 04F9
+0531 0556
+0559 055F
+0561 0587
0589
-0591 05A1 # [17]
-05A3 05B9 # [23]
-05BB 05C4 # [10]
-05D0 05EA # [27]
-05F0 05F4 # [5]
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
060C
061B
061F
-0621 063A # [26]
-0640 0652 # [19]
-0660 066D # [14]
-0670 06B7 # [72]
-06BA 06BE # [5]
-06C0 06CE # [15]
-06D0 06ED # [30]
-06F0 06F9 # [10]
-0901 0903 # [3]
-0905 0939 # [53]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0652
+0660 066D
+0670 06B7
+06BA 06BE
+06C0 06CE
+06D0 06ED
+06F0 06F9
+0901 0903
+0905 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
+09DC 09DD
+09DF 09E3
+09E6 09FA
0A02
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8B # [7]
+0A66 0A74
+0A81 0A83
+0A85 0A8B
0A8D
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
0AE0
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B36 0B39 # [4]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B70 # [11]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B70
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BF2 # [12]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0D60 0D61
+0D66 0D6F
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F69 # [33]
-0F71 0F8B # [27]
-0F90 0F95 # [6]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F69
+0F71 0F8B
+0F90 0F95
0F97
-0F99 0FAD # [21]
-0FB1 0FB7 # [7]
+0F99 0FAD
+0FB1 0FB7
0FB9
-10A0 10C5 # [38]
-10D0 10F6 # [39]
+10A0 10C5
+10D0 10F6
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1100 1159
+115F 11A2
+11A8 11F9
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 202E # [47]
-2030 2046 # [23]
-206A 2070 # [7]
-2074 208E # [27]
-20A0 20AB # [12]
-20D0 20E1 # [18]
-2100 2138 # [57]
-2153 2182 # [48]
-2190 21EA # [91]
-2200 22F1 # [242]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 202E
+2030 2046
+206A 2070
+2074 208E
+20A0 20AB
+20D0 20E1
+2100 2138
+2153 2182
+2190 21EA
+2200 22F1
2300
-2302 237A # [121]
-2400 2424 # [37]
-2440 244A # [11]
-2460 24EA # [139]
-2500 2595 # [150]
-25A0 25EF # [80]
-2600 2613 # [20]
-261A 266F # [86]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+2302 237A
+2400 2424
+2440 244A
+2460 24EA
+2500 2595
+25A0 25EF
+2600 2613
+261A 266F
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2767 # [7]
-2776 2794 # [31]
-2798 27AF # [24]
-27B1 27BE # [14]
-3000 3037 # [56]
+2758 275E
+2761 2767
+2776 2794
+2798 27AF
+27B1 27BE
+3000 3037
303F
-3041 3094 # [84]
-3099 309E # [6]
-30A1 30FE # [94]
-3105 312C # [40]
-3131 318E # [94]
-3190 319F # [16]
-3200 321C # [29]
-3220 3243 # [36]
-3260 327B # [28]
-327F 32B0 # [50]
-32C0 32CB # [12]
-32D0 32FE # [47]
-3300 3376 # [119]
-337B 33DD # [99]
-33E0 33FE # [31]
-4E00 9FA5 # [20_902]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1E FB36 # [25]
-FB38 FB3C # [5]
+3041 3094
+3099 309E
+30A1 30FE
+3105 312C
+3131 318E
+3190 319F
+3200 321C
+3220 3243
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+4E00 9FA5
+AC00 D7A3
+D800 FA2D
+FB00 FB06
+FB13 FB17
+FB1E FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE20 FE23 # [4]
-FE30 FE44 # [21]
-FE49 FE52 # [10]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE20 FE23
+FE30 FE44
+FE49 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
+FE76 FEFC
FEFF
-FF01 FF5E # [94]
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFFD FFFF # [3]
-1FFFE 1FFFF # [2]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
-EFFFE 10FFFF # [131_074]
+FF01 FF5E
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFFD FFFF
+1FFFE 1FFFF
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
index bc73bfdf85a..f71df5c2876 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
@@ -1,347 +1,324 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 178_502 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=2.1}
-# \p{In=2.1}
-#
-# Meaning: Code point's usage introduced in version 2.1 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 2.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 01F5 # [502]
-01FA 0217 # [30]
-0250 02A8 # [89]
-02B0 02DE # [47]
-02E0 02E9 # [10]
-0300 0345 # [70]
-0360 0361 # [2]
-0374 0375 # [2]
+0000 01F5
+01FA 0217
+0250 02A8
+02B0 02DE
+02E0 02E9
+0300 0345
+0360 0361
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03D6 # [7]
+038E 03A1
+03A3 03CE
+03D0 03D6
03DA
03DC
03DE
03E0
-03E2 03F3 # [18]
-0401 040C # [12]
-040E 044F # [66]
-0451 045C # [12]
-045E 0486 # [41]
-0490 04C4 # [53]
-04C7 04C8 # [2]
-04CB 04CC # [2]
-04D0 04EB # [28]
-04EE 04F5 # [8]
-04F8 04F9 # [2]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
+03E2 03F3
+0401 040C
+040E 044F
+0451 045C
+045E 0486
+0490 04C4
+04C7 04C8
+04CB 04CC
+04D0 04EB
+04EE 04F5
+04F8 04F9
+0531 0556
+0559 055F
+0561 0587
0589
-0591 05A1 # [17]
-05A3 05B9 # [23]
-05BB 05C4 # [10]
-05D0 05EA # [27]
-05F0 05F4 # [5]
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
060C
061B
061F
-0621 063A # [26]
-0640 0652 # [19]
-0660 066D # [14]
-0670 06B7 # [72]
-06BA 06BE # [5]
-06C0 06CE # [15]
-06D0 06ED # [30]
-06F0 06F9 # [10]
-0901 0903 # [3]
-0905 0939 # [53]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0652
+0660 066D
+0670 06B7
+06BA 06BE
+06C0 06CE
+06D0 06ED
+06F0 06F9
+0901 0903
+0905 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
+09DC 09DD
+09DF 09E3
+09E6 09FA
0A02
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8B # [7]
+0A66 0A74
+0A81 0A83
+0A85 0A8B
0A8D
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
0AE0
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B36 0B39 # [4]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B70 # [11]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B70
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BF2 # [12]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0D60 0D61
+0D66 0D6F
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F69 # [33]
-0F71 0F8B # [27]
-0F90 0F95 # [6]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F69
+0F71 0F8B
+0F90 0F95
0F97
-0F99 0FAD # [21]
-0FB1 0FB7 # [7]
+0F99 0FAD
+0FB1 0FB7
0FB9
-10A0 10C5 # [38]
-10D0 10F6 # [39]
+10A0 10C5
+10D0 10F6
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1100 1159
+115F 11A2
+11A8 11F9
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 202E # [47]
-2030 2046 # [23]
-206A 2070 # [7]
-2074 208E # [27]
-20A0 20AC # [13]
-20D0 20E1 # [18]
-2100 2138 # [57]
-2153 2182 # [48]
-2190 21EA # [91]
-2200 22F1 # [242]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 202E
+2030 2046
+206A 2070
+2074 208E
+20A0 20AC
+20D0 20E1
+2100 2138
+2153 2182
+2190 21EA
+2200 22F1
2300
-2302 237A # [121]
-2400 2424 # [37]
-2440 244A # [11]
-2460 24EA # [139]
-2500 2595 # [150]
-25A0 25EF # [80]
-2600 2613 # [20]
-261A 266F # [86]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+2302 237A
+2400 2424
+2440 244A
+2460 24EA
+2500 2595
+25A0 25EF
+2600 2613
+261A 266F
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2767 # [7]
-2776 2794 # [31]
-2798 27AF # [24]
-27B1 27BE # [14]
-3000 3037 # [56]
+2758 275E
+2761 2767
+2776 2794
+2798 27AF
+27B1 27BE
+3000 3037
303F
-3041 3094 # [84]
-3099 309E # [6]
-30A1 30FE # [94]
-3105 312C # [40]
-3131 318E # [94]
-3190 319F # [16]
-3200 321C # [29]
-3220 3243 # [36]
-3260 327B # [28]
-327F 32B0 # [50]
-32C0 32CB # [12]
-32D0 32FE # [47]
-3300 3376 # [119]
-337B 33DD # [99]
-33E0 33FE # [31]
-4E00 9FA5 # [20_902]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1E FB36 # [25]
-FB38 FB3C # [5]
+3041 3094
+3099 309E
+30A1 30FE
+3105 312C
+3131 318E
+3190 319F
+3200 321C
+3220 3243
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+4E00 9FA5
+AC00 D7A3
+D800 FA2D
+FB00 FB06
+FB13 FB17
+FB1E FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE20 FE23 # [4]
-FE30 FE44 # [21]
-FE49 FE52 # [10]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE20 FE23
+FE30 FE44
+FE49 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
+FE76 FEFC
FEFF
-FF01 FF5E # [94]
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFFC FFFF # [4]
-1FFFE 1FFFF # [2]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
-EFFFE 10FFFF # [131_074]
+FF01 FF5E
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFFC FFFF
+1FFFE 1FFFF
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
index 6051626f1ca..a8cd12c7a6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
@@ -1,404 +1,381 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 188_809 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=3.0}
-# \p{In=3.0}
-#
-# Meaning: Code point's usage introduced in version 3.0 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 3.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 021F # [544]
-0222 0233 # [18]
-0250 02AD # [94]
-02B0 02EE # [63]
-0300 034E # [79]
-0360 0362 # [3]
-0374 0375 # [2]
+0000 021F
+0222 0233
+0250 02AD
+02B0 02EE
+0300 034E
+0360 0362
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03D7 # [8]
-03DA 03F3 # [26]
-0400 0486 # [135]
-0488 0489 # [2]
-048C 04C4 # [57]
-04C7 04C8 # [2]
-04CB 04CC # [2]
-04D0 04F5 # [38]
-04F8 04F9 # [2]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05A1 # [17]
-05A3 05B9 # [23]
-05BB 05C4 # [10]
-05D0 05EA # [27]
-05F0 05F4 # [5]
+038E 03A1
+03A3 03CE
+03D0 03D7
+03DA 03F3
+0400 0486
+0488 0489
+048C 04C4
+04C7 04C8
+04CB 04CC
+04D0 04F5
+04F8 04F9
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
060C
061B
061F
-0621 063A # [26]
-0640 0655 # [22]
-0660 066D # [14]
-0670 06ED # [126]
-06F0 06FE # [15]
-0700 070D # [14]
-070F 072C # [30]
-0730 074A # [27]
-0780 07B0 # [49]
-0901 0903 # [3]
-0905 0939 # [53]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0655
+0660 066D
+0670 06ED
+06F0 06FE
+0700 070D
+070F 072C
+0730 074A
+0780 07B0
+0901 0903
+0905 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
+09DC 09DD
+09DF 09E3
+09E6 09FA
0A02
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8B # [7]
+0A66 0A74
+0A81 0A83
+0A85 0A8B
0A8D
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
0AE0
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B36 0B39 # [4]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B70 # [11]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B70
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BF2 # [12]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6A # [34]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
0FCF
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-10A0 10C5 # [38]
-10D0 10F6 # [39]
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F6
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1206 # [7]
-1208 1246 # [63]
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
1248
-124A 124D # [4]
-1250 1256 # [7]
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1286 # [39]
+125A 125D
+1260 1286
1288
-128A 128D # [4]
-1290 12AE # [31]
+128A 128D
+1290 12AE
12B0
-12B2 12B5 # [4]
-12B8 12BE # [7]
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12CE # [7]
-12D0 12D6 # [7]
-12D8 12EE # [23]
-12F0 130E # [31]
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
1310
-1312 1315 # [4]
-1318 131E # [7]
-1320 1346 # [39]
-1348 135A # [19]
-1361 137C # [28]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1780 17DC # [93]
-17E0 17E9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1780 17DC
+17E0 17E9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2046 # [71]
-2048 204D # [6]
-206A 2070 # [7]
-2074 208E # [27]
-20A0 20AF # [16]
-20D0 20E3 # [20]
-2100 213A # [59]
-2153 2183 # [49]
-2190 21F3 # [100]
-2200 22F1 # [242]
-2300 237B # [124]
-237D 239A # [30]
-2400 2426 # [39]
-2440 244A # [11]
-2460 24EA # [139]
-2500 2595 # [150]
-25A0 25F7 # [88]
-2600 2613 # [20]
-2619 2671 # [89]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2046
+2048 204D
+206A 2070
+2074 208E
+20A0 20AF
+20D0 20E3
+2100 213A
+2153 2183
+2190 21F3
+2200 22F1
+2300 237B
+237D 239A
+2400 2426
+2440 244A
+2460 24EA
+2500 2595
+25A0 25F7
+2600 2613
+2619 2671
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2767 # [7]
-2776 2794 # [31]
-2798 27AF # [24]
-27B1 27BE # [14]
-2800 28FF # [256]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303A # [59]
-303E 303F # [2]
-3041 3094 # [84]
-3099 309E # [6]
-30A1 30FE # [94]
-3105 312C # [40]
-3131 318E # [94]
-3190 31B7 # [40]
-3200 321C # [29]
-3220 3243 # [36]
-3260 327B # [28]
-327F 32B0 # [50]
-32C0 32CB # [12]
-32D0 32FE # [47]
-3300 3376 # [119]
-337B 33DD # [99]
-33E0 33FE # [31]
-3400 4DB5 # [6582]
-4E00 9FA5 # [20_902]
-A000 A48C # [1165]
-A490 A4A1 # [18]
-A4A4 A4B3 # [16]
-A4B5 A4C0 # [12]
-A4C2 A4C4 # [3]
+2758 275E
+2761 2767
+2776 2794
+2798 27AF
+27B1 27BE
+2800 28FF
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303A
+303E 303F
+3041 3094
+3099 309E
+30A1 30FE
+3105 312C
+3131 318E
+3190 31B7
+3200 321C
+3220 3243
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+3400 4DB5
+4E00 9FA5
+A000 A48C
+A490 A4A1
+A4A4 A4B3
+A4B5 A4C0
+A4C2 A4C4
A4C6
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+AC00 D7A3
+D800 FA2D
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE20 FE23 # [4]
-FE30 FE44 # [21]
-FE49 FE52 # [10]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE20 FE23
+FE30 FE44
+FE49 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
+FE76 FEFC
FEFF
-FF01 FF5E # [94]
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFF # [7]
-1FFFE 1FFFF # [2]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
-EFFFE 10FFFF # [131_074]
+FF01 FF5E
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFF
+1FFFE 1FFFF
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
index 360a4eb590d..aede5d7c662 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
@@ -1,437 +1,414 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 233_787 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=3.1}
-# \p{In=3.1}
-#
-# Meaning: Code point's usage introduced in version 3.1 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 3.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 021F # [544]
-0222 0233 # [18]
-0250 02AD # [94]
-02B0 02EE # [63]
-0300 034E # [79]
-0360 0362 # [3]
-0374 0375 # [2]
+0000 021F
+0222 0233
+0250 02AD
+02B0 02EE
+0300 034E
+0360 0362
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03D7 # [8]
-03DA 03F5 # [28]
-0400 0486 # [135]
-0488 0489 # [2]
-048C 04C4 # [57]
-04C7 04C8 # [2]
-04CB 04CC # [2]
-04D0 04F5 # [38]
-04F8 04F9 # [2]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05A1 # [17]
-05A3 05B9 # [23]
-05BB 05C4 # [10]
-05D0 05EA # [27]
-05F0 05F4 # [5]
+038E 03A1
+03A3 03CE
+03D0 03D7
+03DA 03F5
+0400 0486
+0488 0489
+048C 04C4
+04C7 04C8
+04CB 04CC
+04D0 04F5
+04F8 04F9
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
060C
061B
061F
-0621 063A # [26]
-0640 0655 # [22]
-0660 066D # [14]
-0670 06ED # [126]
-06F0 06FE # [15]
-0700 070D # [14]
-070F 072C # [30]
-0730 074A # [27]
-0780 07B0 # [49]
-0901 0903 # [3]
-0905 0939 # [53]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0655
+0660 066D
+0670 06ED
+06F0 06FE
+0700 070D
+070F 072C
+0730 074A
+0780 07B0
+0901 0903
+0905 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
+09DC 09DD
+09DF 09E3
+09E6 09FA
0A02
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8B # [7]
+0A66 0A74
+0A81 0A83
+0A85 0A8B
0A8D
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
0AE0
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B36 0B39 # [4]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B70 # [11]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B70
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BF2 # [12]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6A # [34]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
0FCF
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-10A0 10C5 # [38]
-10D0 10F6 # [39]
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F6
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1206 # [7]
-1208 1246 # [63]
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
1248
-124A 124D # [4]
-1250 1256 # [7]
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1286 # [39]
+125A 125D
+1260 1286
1288
-128A 128D # [4]
-1290 12AE # [31]
+128A 128D
+1290 12AE
12B0
-12B2 12B5 # [4]
-12B8 12BE # [7]
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12CE # [7]
-12D0 12D6 # [7]
-12D8 12EE # [23]
-12F0 130E # [31]
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
1310
-1312 1315 # [4]
-1318 131E # [7]
-1320 1346 # [39]
-1348 135A # [19]
-1361 137C # [28]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1780 17DC # [93]
-17E0 17E9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1780 17DC
+17E0 17E9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2046 # [71]
-2048 204D # [6]
-206A 2070 # [7]
-2074 208E # [27]
-20A0 20AF # [16]
-20D0 20E3 # [20]
-2100 213A # [59]
-2153 2183 # [49]
-2190 21F3 # [100]
-2200 22F1 # [242]
-2300 237B # [124]
-237D 239A # [30]
-2400 2426 # [39]
-2440 244A # [11]
-2460 24EA # [139]
-2500 2595 # [150]
-25A0 25F7 # [88]
-2600 2613 # [20]
-2619 2671 # [89]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2046
+2048 204D
+206A 2070
+2074 208E
+20A0 20AF
+20D0 20E3
+2100 213A
+2153 2183
+2190 21F3
+2200 22F1
+2300 237B
+237D 239A
+2400 2426
+2440 244A
+2460 24EA
+2500 2595
+25A0 25F7
+2600 2613
+2619 2671
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2767 # [7]
-2776 2794 # [31]
-2798 27AF # [24]
-27B1 27BE # [14]
-2800 28FF # [256]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303A # [59]
-303E 303F # [2]
-3041 3094 # [84]
-3099 309E # [6]
-30A1 30FE # [94]
-3105 312C # [40]
-3131 318E # [94]
-3190 31B7 # [40]
-3200 321C # [29]
-3220 3243 # [36]
-3260 327B # [28]
-327F 32B0 # [50]
-32C0 32CB # [12]
-32D0 32FE # [47]
-3300 3376 # [119]
-337B 33DD # [99]
-33E0 33FE # [31]
-3400 4DB5 # [6582]
-4E00 9FA5 # [20_902]
-A000 A48C # [1165]
-A490 A4A1 # [18]
-A4A4 A4B3 # [16]
-A4B5 A4C0 # [12]
-A4C2 A4C4 # [3]
+2758 275E
+2761 2767
+2776 2794
+2798 27AF
+27B1 27BE
+2800 28FF
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303A
+303E 303F
+3041 3094
+3099 309E
+30A1 30FE
+3105 312C
+3131 318E
+3190 31B7
+3200 321C
+3220 3243
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+3400 4DB5
+4E00 9FA5
+A000 A48C
+A490 A4A1
+A4A4 A4B3
+A4B5 A4C0
+A4C2 A4C4
A4C6
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+AC00 D7A3
+D800 FA2D
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFB # [44]
-FE20 FE23 # [4]
-FE30 FE44 # [21]
-FE49 FE52 # [10]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFB
+FE20 FE23
+FE30 FE44
+FE49 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
+FE76 FEFC
FEFF
-FF01 FF5E # [94]
-FF61 FFBE # [94]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFF # [7]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10400 10425 # [38]
-10428 1044D # [38]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D12A 1D1DD # [180]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FF01 FF5E
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFF
+10300 1031E
+10320 10323
+10330 1034A
+10400 10425
+10428 1044D
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C0 # [4]
-1D4C2 1D4C3 # [2]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C0
+1D4C2 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A3 # [338]
-1D6A8 1D7C9 # [290]
-1D7CE 1D7FF # [50]
-1FFFE 2A6D6 # [42_713]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+1FFFE 2A6D6
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
index 72e1b15d688..d50c5658107 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
@@ -1,432 +1,409 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 234_803 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=3.2}
-# \p{In=3.2}
-#
-# Meaning: Code point's usage introduced in version 3.2 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 3.2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0220 # [545]
-0222 0233 # [18]
-0250 02AD # [94]
-02B0 02EE # [63]
-0300 034F # [80]
-0360 036F # [16]
-0374 0375 # [2]
+0000 0220
+0222 0233
+0250 02AD
+02B0 02EE
+0300 034F
+0360 036F
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03F6 # [39]
-0400 0486 # [135]
-0488 04CE # [71]
-04D0 04F5 # [38]
-04F8 04F9 # [2]
-0500 050F # [16]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05A1 # [17]
-05A3 05B9 # [23]
-05BB 05C4 # [10]
-05D0 05EA # [27]
-05F0 05F4 # [5]
+038E 03A1
+03A3 03CE
+03D0 03F6
+0400 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
060C
061B
061F
-0621 063A # [26]
-0640 0655 # [22]
-0660 06ED # [142]
-06F0 06FE # [15]
-0700 070D # [14]
-070F 072C # [30]
-0730 074A # [27]
-0780 07B1 # [50]
-0901 0903 # [3]
-0905 0939 # [53]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0655
+0660 06ED
+06F0 06FE
+0700 070D
+070F 072C
+0730 074A
+0780 07B1
+0901 0903
+0905 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
+09DC 09DD
+09DF 09E3
+09E6 09FA
0A02
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8B # [7]
+0A66 0A74
+0A81 0A83
+0A85 0A8B
0A8D
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
0AE0
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B36 0B39 # [4]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B70 # [11]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B70
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BF2 # [12]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6A # [34]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
0FCF
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-10A0 10C5 # [38]
-10D0 10F8 # [41]
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F8
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1206 # [7]
-1208 1246 # [63]
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
1248
-124A 124D # [4]
-1250 1256 # [7]
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1286 # [39]
+125A 125D
+1260 1286
1288
-128A 128D # [4]
-1290 12AE # [31]
+128A 128D
+1290 12AE
12B0
-12B2 12B5 # [4]
-12B8 12BE # [7]
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12CE # [7]
-12D0 12D6 # [7]
-12D8 12EE # [23]
-12F0 130E # [31]
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
1310
-1312 1315 # [4]
-1318 131E # [7]
-1320 1346 # [39]
-1348 135A # [19]
-1361 137C # [28]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DC # [93]
-17E0 17E9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DC
+17E0 17E9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2052 # [83]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2052
2057
-205F 2063 # [5]
-206A 2071 # [8]
-2074 208E # [27]
-20A0 20B1 # [18]
-20D0 20EA # [27]
-2100 213A # [59]
-213D 214B # [15]
-2153 2183 # [49]
-2190 23CE # [575]
-2400 2426 # [39]
-2440 244A # [11]
-2460 24FE # [159]
-2500 2613 # [276]
-2616 2617 # [2]
-2619 267D # [101]
-2680 2689 # [10]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+205F 2063
+206A 2071
+2074 208E
+20A0 20B1
+20D0 20EA
+2100 213A
+213D 214B
+2153 2183
+2190 23CE
+2400 2426
+2440 244A
+2460 24FE
+2500 2613
+2616 2617
+2619 267D
+2680 2689
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27D0 27EB # [28]
-27F0 2AFF # [784]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312C # [40]
-3131 318E # [94]
-3190 31B7 # [40]
-31F0 321C # [45]
-3220 3243 # [36]
-3251 327B # [43]
-327F 32CB # [77]
-32D0 32FE # [47]
-3300 3376 # [119]
-337B 33DD # [99]
-33E0 33FE # [31]
-3400 4DB5 # [6582]
-4E00 9FA5 # [20_902]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FA30 FA6A # [59]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27D0 27EB
+27F0 2AFF
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321C
+3220 3243
+3251 327B
+327F 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+3400 4DB5
+4E00 9FA5
+A000 A48C
+A490 A4C6
+AC00 D7A3
+D800 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFC # [45]
-FE00 FE0F # [16]
-FE20 FE23 # [4]
-FE30 FE46 # [23]
-FE49 FE52 # [10]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFC
+FE00 FE0F
+FE20 FE23
+FE30 FE46
+FE49 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFF # [7]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10400 10425 # [38]
-10428 1044D # [38]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D12A 1D1DD # [180]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFF
+10300 1031E
+10320 10323
+10330 1034A
+10400 10425
+10428 1044D
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C0 # [4]
-1D4C2 1D4C3 # [2]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C0
+1D4C2 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A3 # [338]
-1D6A8 1D7C9 # [290]
-1D7CE 1D7FF # [50]
-1FFFE 2A6D6 # [42_713]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+1FFFE 2A6D6
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
index 09697197923..8da07fcea49 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
@@ -1,447 +1,424 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 236_029 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=4.0}
-# \p{In=4.0}
-#
-# Meaning: Code point's usage introduced in version 4.0 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 4.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0236 # [567]
-0250 0357 # [264]
-035D 036F # [19]
-0374 0375 # [2]
+0000 0236
+0250 0357
+035D 036F
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 03FB # [44]
-0400 0486 # [135]
-0488 04CE # [71]
-04D0 04F5 # [38]
-04F8 04F9 # [2]
-0500 050F # [16]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05A1 # [17]
-05A3 05B9 # [23]
-05BB 05C4 # [10]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-060C 0615 # [10]
+038E 03A1
+03A3 03CE
+03D0 03FB
+0400 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
+0600 0603
+060C 0615
061B
061F
-0621 063A # [26]
-0640 0658 # [25]
-0660 070D # [174]
-070F 074A # [60]
-074D 074F # [3]
-0780 07B1 # [50]
-0901 0939 # [57]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0621 063A
+0640 0658
+0660 070D
+070F 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB5 # [8]
-0BB7 0BB9 # [3]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE7 0BFA # [20]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE7 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6A # [34]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
0FCF
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-10A0 10C5 # [38]
-10D0 10F8 # [41]
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F8
10FB
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1206 # [7]
-1208 1246 # [63]
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
1248
-124A 124D # [4]
-1250 1256 # [7]
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1286 # [39]
+125A 125D
+1260 1286
1288
-128A 128D # [4]
-1290 12AE # [31]
+128A 128D
+1290 12AE
12B0
-12B2 12B5 # [4]
-12B8 12BE # [7]
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12CE # [7]
-12D0 12D6 # [7]
-12D8 12EE # [23]
-12F0 130E # [31]
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
1310
-1312 1315 # [4]
-1318 131E # [7]
-1320 1346 # [39]
-1348 135A # [19]
-1361 137C # [28]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-19E0 19FF # [32]
-1D00 1D6B # [108]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2054 # [85]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2054
2057
-205F 2063 # [5]
-206A 2071 # [8]
-2074 208E # [27]
-20A0 20B1 # [18]
-20D0 20EA # [27]
-2100 213B # [60]
-213D 214B # [15]
-2153 2183 # [49]
-2190 23D0 # [577]
-2400 2426 # [39]
-2440 244A # [11]
-2460 2617 # [440]
-2619 267D # [101]
-2680 2691 # [18]
-26A0 26A1 # [2]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+205F 2063
+206A 2071
+2074 208E
+20A0 20B1
+20D0 20EA
+2100 213B
+213D 214B
+2153 2183
+2190 23D0
+2400 2426
+2440 244A
+2460 2617
+2619 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27D0 27EB # [28]
-27F0 2B0D # [798]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312C # [40]
-3131 318E # [94]
-3190 31B7 # [40]
-31F0 321E # [47]
-3220 3243 # [36]
-3250 327D # [46]
-327F 32FE # [128]
-3300 4DB5 # [6838]
-4DC0 9FA5 # [20_966]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FA30 FA6A # [59]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27D0 27EB
+27F0 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321E
+3220 3243
+3250 327D
+327F 32FE
+3300 4DB5
+4DC0 9FA5
+A000 A48C
+A490 A4C6
+AC00 D7A3
+D800 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFD # [46]
-FE00 FE0F # [16]
-FE20 FE23 # [4]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE0F
+FE20 FE23
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 1000B # [19]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1013F # [9]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
1039F
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
1083F
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D12A 1D1DD # [180]
-1D300 1D356 # [87]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A3 # [338]
-1D6A8 1D7C9 # [290]
-1D7CE 1D7FF # [50]
-1FFFE 2A6D6 # [42_713]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+1FFFE 2A6D6
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
index 76482a70c29..a3b3a33fee1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
@@ -1,465 +1,442 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 237_302 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=4.1}
-# \p{In=4.1}
-#
-# Meaning: Code point's usage introduced in version 4.1 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 4.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0241 # [578]
-0250 036F # [288]
-0374 0375 # [2]
+0000 0241
+0250 036F
+0374 0375
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 0486 # [183]
-0488 04CE # [71]
-04D0 04F9 # [42]
-0500 050F # [16]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05B9 # [41]
-05BB 05C7 # [13]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-060B 0615 # [11]
+038E 03A1
+03A3 03CE
+03D0 0486
+0488 04CE
+04D0 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05B9
+05BB 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+060B 0615
061B
-061E 061F # [2]
-0621 063A # [26]
-0640 065E # [31]
-0660 070D # [174]
-070F 074A # [60]
-074D 076D # [33]
-0780 07B1 # [50]
-0901 0939 # [57]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
+061E 061F
+0621 063A
+0640 065E
+0660 070D
+070F 074A
+074D 076D
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0970
097D
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE1 # [2]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6A # [34]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCF 0FD1 # [3]
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-10A0 10C5 # [38]
-10D0 10FC # [45]
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1248 # [73]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCF 0FD1
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10FC
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135F 137C
+1380 1399
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19A9 # [42]
-19B0 19C9 # [26]
-19D0 19D9 # [10]
-19DE 1A1B # [62]
-1A1E 1A1F # [2]
-1D00 1DC3 # [196]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19A9
+19B0 19C9
+19D0 19D9
+19DE 1A1B
+1A1E 1A1F
+1D00 1DC3
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2063 # [100]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B5 # [22]
-20D0 20EB # [28]
-2100 214C # [77]
-2153 2183 # [49]
-2190 23DB # [588]
-2400 2426 # [39]
-2440 244A # [11]
-2460 269C # [573]
-26A0 26B1 # [18]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2063
+206A 2071
+2074 208E
+2090 2094
+20A0 20B5
+20D0 20EB
+2100 214C
+2153 2183
+2190 23DB
+2400 2426
+2440 244A
+2460 269C
+26A0 26B1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27C6 # [7]
-27D0 27EB # [28]
-27F0 2B13 # [804]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C80 2CEA # [107]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27C0 27C6
+27D0 27EB
+27F0 2B13
+2C00 2C2E
+2C30 2C5E
+2C80 2CEA
+2CF9 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2E00 2E17 # [24]
-2E1C 2E1D # [2]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312C # [40]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31CF # [16]
-31F0 321E # [47]
-3220 3243 # [36]
-3250 32FE # [175]
-3300 4DB5 # [6838]
-4DC0 9FBB # [20_988]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A700 A716 # [23]
-A800 A82B # [44]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FA30 FA6A # [59]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2E00 2E17
+2E1C 2E1D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31C0 31CF
+31F0 321E
+3220 3243
+3250 32FE
+3300 4DB5
+4DC0 9FBB
+A000 A48C
+A490 A4C6
+A700 A716
+A800 A82B
+AC00 D7A3
+D800 FA2D
+FA30 FA6A
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFD # [46]
-FE00 FE19 # [26]
-FE20 FE23 # [4]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE19
+FE20 FE23
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 1000B # [19]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
1083F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D12A 1D1DD # [180]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D200 1D245
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7C9 # [290]
-1D7CE 1D7FF # [50]
-1FFFE 2A6D6 # [42_713]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7C9
+1D7CE 1D7FF
+1FFFE 2A6D6
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
index 56aed72637a..e1d400d1d2e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
@@ -1,475 +1,452 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 238_671 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=5.0}
-# \p{In=5.0}
-#
-# Meaning: Code point's usage introduced in version 5.0 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 5.0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 036F # [880]
-0374 0375 # [2]
-037A 037E # [5]
-0384 038A # [7]
+0000 036F
+0374 0375
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 03CE # [44]
-03D0 0486 # [183]
-0488 0513 # [140]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-060B 0615 # [11]
+038E 03A1
+03A3 03CE
+03D0 0486
+0488 0513
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+060B 0615
061B
-061E 061F # [2]
-0621 063A # [26]
-0640 065E # [31]
-0660 070D # [174]
-070F 074A # [60]
-074D 076D # [33]
-0780 07B1 # [50]
-07C0 07FA # [59]
-0901 0939 # [57]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0970 # [25]
-097B 097F # [5]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+061E 061F
+0621 063A
+0640 065E
+0660 070D
+070F 074A
+074D 076D
+0780 07B1
+07C0 07FA
+0901 0939
+093C 094D
+0950 0954
+0958 0970
+097B 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
-0A59 0A5C # [4]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
0A5E
-0A66 0A74 # [15]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B43 # [8]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C60 0C61 # [2]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3E 0D43 # [6]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D61 # [2]
-0D66 0D6F # [10]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6A # [34]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCF 0FD1 # [3]
-1000 1021 # [34]
-1023 1027 # [5]
-1029 102A # [2]
-102C 1032 # [7]
-1036 1039 # [4]
-1040 1059 # [26]
-10A0 10C5 # [38]
-10D0 10FC # [45]
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1248 # [73]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCF 0FD1
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10FC
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18A9 # [42]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135F 137C
+1380 1399
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19A9 # [42]
-19B0 19C9 # [26]
-19D0 19D9 # [10]
-19DE 1A1B # [62]
-1A1E 1A1F # [2]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1D00 1DCA # [203]
-1DFE 1E9B # [158]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19A9
+19B0 19C9
+19D0 19D9
+19DE 1A1B
+1A1E 1A1F
+1B00 1B4B
+1B50 1B7C
+1D00 1DCA
+1DFE 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2063 # [100]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B5 # [22]
-20D0 20EF # [32]
-2100 214E # [79]
-2153 2184 # [50]
-2190 23E7 # [600]
-2400 2426 # [39]
-2440 244A # [11]
-2460 269C # [573]
-26A0 26B2 # [19]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2063
+206A 2071
+2074 208E
+2090 2094
+20A0 20B5
+20D0 20EF
+2100 214E
+2153 2184
+2190 23E7
+2400 2426
+2440 244A
+2460 269C
+26A0 26B2
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
-27D0 27EB # [28]
-27F0 2B1A # [811]
-2B20 2B23 # [4]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2C6C # [13]
-2C74 2C77 # [4]
-2C80 2CEA # [107]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27C0 27CA
+27D0 27EB
+27F0 2B1A
+2B20 2B23
+2C00 2C2E
+2C30 2C5E
+2C60 2C6C
+2C74 2C77
+2C80 2CEA
+2CF9 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2E00 2E17 # [24]
-2E1C 2E1D # [2]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312C # [40]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31CF # [16]
-31F0 321E # [47]
-3220 3243 # [36]
-3250 32FE # [175]
-3300 4DB5 # [6838]
-4DC0 9FBB # [20_988]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A700 A71A # [27]
-A720 A721 # [2]
-A800 A82B # [44]
-A840 A877 # [56]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FA30 FA6A # [59]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2E00 2E17
+2E1C 2E1D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31C0 31CF
+31F0 321E
+3220 3243
+3250 32FE
+3300 4DB5
+4DC0 9FBB
+A000 A48C
+A490 A4C6
+A700 A71A
+A720 A721
+A800 A82B
+A840 A877
+AC00 D7A3
+D800 FA2D
+FA30 FA6A
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFD # [46]
-FE00 FE19 # [26]
-FE20 FE23 # [4]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE19
+FE20 FE23
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 1000B # [19]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
1083F
-10900 10919 # [26]
+10900 10919
1091F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D12A 1D1DD # [180]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+12000 1236E
+12400 12462
+12470 12473
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1FFFE 2A6D6 # [42_713]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1FFFE 2A6D6
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
index 55185808191..80d5def63a0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
@@ -1,490 +1,467 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 240_295 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=5.1}
-# \p{In=5.1}
-#
-# Meaning: Code point's usage introduced in version 5.1 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 5.1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0377 # [888]
-037A 037E # [5]
-0384 038A # [7]
+0000 0377
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0523 # [385]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-0606 061B # [22]
-061E 061F # [2]
-0621 065E # [62]
-0660 070D # [174]
-070F 074A # [60]
-074D 07B1 # [101]
-07C0 07FA # [59]
-0901 0939 # [57]
-093C 094D # [18]
-0950 0954 # [5]
-0958 0972 # [27]
-097B 097F # [5]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+038E 03A1
+03A3 0523
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 061B
+061E 061F
+0621 065E
+0660 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0901 0939
+093C 094D
+0950 0954
+0958 0972
+097B 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FA # [21]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3D 0D44
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D63 # [4]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6C # [36]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCE 0FD4 # [7]
-1000 1099 # [154]
-109E 10C5 # [40]
-10D0 10FC # [45]
-1100 1159 # [90]
-115F 11A2 # [68]
-11A8 11F9 # [82]
-1200 1248 # [73]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6C
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FD4
+1000 1099
+109E 10C5
+10D0 10FC
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1401 1676 # [630]
-1680 169C # [29]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135F 137C
+1380 1399
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19A9 # [42]
-19B0 19C9 # [26]
-19D0 19D9 # [10]
-19DE 1A1B # [62]
-1A1E 1A1F # [2]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
-1D00 1DE6 # [231]
-1DFE 1F15 # [280]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19A9
+19B0 19C9
+19D0 19D9
+19DE 1A1B
+1A1E 1A1F
+1B00 1B4B
+1B50 1B7C
+1B80 1BAA
+1BAE 1BB9
+1C00 1C37
+1C3B 1C49
+1C4D 1C7F
+1D00 1DE6
+1DFE 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2064 # [101]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B5 # [22]
-20D0 20F0 # [33]
-2100 214F # [80]
-2153 2188 # [54]
-2190 23E7 # [600]
-2400 2426 # [39]
-2440 244A # [11]
-2460 269D # [574]
-26A0 26BC # [29]
-26C0 26C3 # [4]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2064
+206A 2071
+2074 208E
+2090 2094
+20A0 20B5
+20D0 20F0
+2100 214F
+2153 2188
+2190 23E7
+2400 2426
+2440 244A
+2460 269D
+26A0 26BC
+26C0 26C3
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
+274F 2752
2756
-2758 275E # [7]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27C0 27CA
27CC
-27D0 2B4C # [893]
-2B50 2B54 # [5]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2C6F # [16]
-2C71 2C7D # [13]
-2C80 2CEA # [107]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
+27D0 2B4C
+2B50 2B54
+2C00 2C2E
+2C30 2C5E
+2C60 2C6F
+2C71 2C7D
+2C80 2CEA
+2CF9 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2E30 # [81]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 3243 # [36]
-3250 32FE # [175]
-3300 4DB5 # [6838]
-4DC0 9FC3 # [20_996]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A500 A62B # [300]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
-A700 A78C # [141]
-A7FB A82B # [49]
-A840 A877 # [56]
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
-A900 A953 # [84]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E30
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31B7
+31C0 31E3
+31F0 321E
+3220 3243
+3250 32FE
+3300 4DB5
+4DC0 9FC3
+A000 A48C
+A490 A4C6
+A500 A62B
+A640 A65F
+A662 A673
+A67C A697
+A700 A78C
+A7FB A82B
+A840 A877
+A880 A8C4
+A8CE A8D9
+A900 A953
A95F
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA5F # [4]
-AC00 D7A3 # [11_172]
-D800 FA2D # [8750]
-FA30 FA6A # [59]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA5F
+AC00 D7A3
+D800 FA2D
+FA30 FA6A
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFD # [46]
-FE00 FE19 # [26]
-FE20 FE26 # [7]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 1000B # [19]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FD # [46]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
1083F
-10900 10919 # [26]
-1091F 10939 # [27]
+10900 10919
+1091F 10939
1093F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D1DD # [181]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+12000 1236E
+12400 12462
+12470 12473
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1FFFE 2A6D6 # [42_713]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1FFFE 2A6D6
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
index e1de258acae..9e6eb973a1e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
@@ -1,530 +1,507 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 246_943 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Present_In=5.2}
-# \p{In=5.2}
-#
-# Meaning: Code point's usage introduced in version 5.2 or earlier
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{In: 5.2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0377 # [888]
-037A 037E # [5]
-0384 038A # [7]
+0000 0377
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0525 # [387]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-0606 061B # [22]
-061E 061F # [2]
-0621 065E # [62]
-0660 070D # [174]
-070F 074A # [60]
-074D 07B1 # [101]
-07C0 07FA # [59]
-0800 082D # [46]
-0830 083E # [15]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0972 # [27]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+038E 03A1
+03A3 0525
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 061B
+061E 061F
+0621 065E
+0660 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0800 082D
+0830 083E
+0900 0939
+093C 094E
+0950 0955
+0958 0972
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FB # [22]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FB
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3D 0D44
+0D46 0D48
+0D4A 0D4D
0D57
-0D60 0D63 # [4]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6C # [36]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCE 0FD8 # [11]
-1000 10C5 # [198]
-10D0 10FC # [45]
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6C
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FD8
+1000 10C5
+10D0 10FC
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1400 169C # [669]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135F 137C
+1380 1399
+13A0 13F4
+1400 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-19DE 1A1B # [62]
-1A1E 1A5E # [65]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
-1CD0 1CF2 # [35]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A1B
+1A1E 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1B00 1B4B
+1B50 1B7C
+1B80 1BAA
+1BAE 1BB9
+1C00 1C37
+1C3B 1C49
+1C4D 1C7F
+1CD0 1CF2
+1D00 1DE6
+1DFD 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2064 # [101]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B8 # [25]
-20D0 20F0 # [33]
-2100 2189 # [138]
-2190 23E8 # [601]
-2400 2426 # [39]
-2440 244A # [11]
-2460 26CD # [622]
-26CF 26E1 # [19]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2064
+206A 2071
+2074 208E
+2090 2094
+20A0 20B8
+20D0 20F0
+2100 2189
+2190 23E8
+2400 2426
+2440 244A
+2460 26CD
+26CF 26E1
26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
+26E8 26FF
+2701 2704
+2706 2709
+270C 2727
+2729 274B
274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+274F 2752
+2756 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27C0 27CA
27CC
-27D0 2B4C # [893]
-2B50 2B59 # [10]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CF1 # [146]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
+27D0 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CF1
+2CF9 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2E31 # [82]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 32FE # [223]
-3300 4DB5 # [6838]
-4DC0 9FCB # [21_004]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A4D0 A62B # [348]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
-A6A0 A6F7 # [88]
-A700 A78C # [141]
-A7FB A82B # [49]
-A830 A839 # [10]
-A840 A877 # [56]
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
-A8E0 A8FB # [28]
-A900 A953 # [84]
-A95F A97C # [30]
-A980 A9CD # [78]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA7B # [32]
-AA80 AAC2 # [67]
-AADB AADF # [5]
-ABC0 ABED # [46]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-D800 FA2D # [8750]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31B7
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCB
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A65F
+A662 A673
+A67C A697
+A6A0 A6F7
+A700 A78C
+A7FB A82B
+A830 A839
+A840 A877
+A880 A8C4
+A8CE A8D9
+A8E0 A8FB
+A900 A953
+A95F A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA7B
+AA80 AAC2
+AADB AADF
+ABC0 ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+D800 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDD0 FDFD # [46]
-FE00 FE19 # [26]
-FE20 FE26 # [7]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 1000B # [19]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FD # [46]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10857 1085F # [9]
-10900 1091B # [28]
-1091F 10939 # [27]
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
1093F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B39 10B55 # [29]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11080 110C1 # [66]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-13000 1342E # [1071]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D1DD # [181]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11080 110C1
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F100 1F10A
+1F110 1F12E
1F131
1F13D
1F13F
1F142
1F146
-1F14A 1F14E # [5]
+1F14A 1F14E
1F157
1F15F
1F179
-1F17B 1F17C # [2]
+1F17B 1F17C
1F17F
-1F18A 1F18D # [4]
+1F18A 1F18D
1F190
1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-1FFFE 2A6D6 # [42_713]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
+1F210 1F231
+1F240 1F248
+1FFFE 2A6D6
+2A700 2B734
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-EFFFE 10FFFF # [131_074]
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
new file mode 100644
index 00000000000..65dfd3deaec
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
@@ -0,0 +1,523 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+0000 0377
+037A 037E
+0384 038A
+038C
+038E 03A1
+03A3 0527
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 061B
+061E 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0800 082D
+0830 083E
+0840 085B
+085E
+0900 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FB
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A51
+0A59 0A5C
+0A5E
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0AF1
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD0
+0BD7
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
+0D57
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6C
+0F71 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FDA
+1000 10C5
+10D0 10FC
+1100 1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 137C
+1380 1399
+13A0 13F4
+1400 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A1B
+1A1E 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1B00 1B4B
+1B50 1B7C
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1BFC 1C37
+1C3B 1C49
+1C4D 1C7F
+1CD0 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2064
+206A 2071
+2074 208E
+2090 209C
+20A0 20B9
+20D0 20F0
+2100 2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27CA
+27CC
+27CE 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CF1
+2CF9 2D25
+2D30 2D65
+2D6F 2D70
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCB
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A673
+A67C A697
+A6A0 A6F7
+A700 A78E
+A790 A791
+A7A0 A7A9
+A7FA A82B
+A830 A839
+A840 A877
+A880 A8C4
+A8CE A8D9
+A8E0 A8FB
+A900 A953
+A95F A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA7B
+AA80 AAC2
+AADB AADF
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+D800 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
+FEFF
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
+1093F
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11000 1104D
+11052 1106F
+11080 110C1
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+16800 16A38
+1B000 1B001
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+1FFFE 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+E0001
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
index 59677e9c19f..082366952a3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
@@ -1,39 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Ain}
-# \p{Jg=Ain}
-# \p{Is_Joining_Group=Ain}
-# \p{Is_Jg=Ain}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Ain}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0639 063A # [2]
+0639 063A
06A0
06FC
-075D 075F # [3]
+075D 075F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
index 80a7dd4510b..c0ed00d5440 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Alaph}
-# \p{Jg=Alaph}
-# \p{Is_Joining_Group=Alaph}
-# \p{Is_Jg=Alaph}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Alaph}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0710
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
index 0741646a90d..a1b6168b9b9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
@@ -1,41 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 10 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Alef}
-# \p{Jg=Alef}
-# \p{Is_Joining_Group=Alef}
-# \p{Is_Jg=Alef}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Alef}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0622 0623 # [2]
+0622 0623
0625
0627
-0671 0673 # [3]
+0671 0673
0675
-0773 0774 # [2]
+0773 0774
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
index 0c5cdf417aa..3da2747d997 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 19 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Beh}
-# \p{Jg=Beh}
-# \p{Is_Joining_Group=Beh}
-# \p{Is_Jg=Beh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Beh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0628
-062A 062B # [2]
+062A 062B
066E
-0679 0680 # [8]
-0750 0756 # [7]
+0679 0680
+0750 0756
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
index 871821080d0..273d7b020cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Beth}
-# \p{Jg=Beth}
-# \p{Is_Joining_Group=Beth}
-# \p{Is_Jg=Beth}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Beth}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0712
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
index 5cfb4fb0804..192e7fe654d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Burushaski_Yeh_Barree}
-# \p{Jg=Burushaski_Yeh_Barree}
-# \p{Is_Joining_Group=Burushaski_Yeh_Barree}
-# \p{Is_Jg=Burushaski_Yeh_Barree}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Burushaski_Yeh_Barree}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-077A 077B # [2]
+077A 077B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
index 52e41861cd6..3a96c2ac5e9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
@@ -1,39 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 14 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Dal}
-# \p{Jg=Dal}
-# \p{Is_Joining_Group=Dal}
-# \p{Is_Jg=Dal}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Dal}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-062F 0630 # [2]
-0688 0690 # [9]
+062F 0630
+0688 0690
06EE
-0759 075A # [2]
+0759 075A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
index 298cc918f67..e10cd34011a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Dalath_Rish}
-# \p{Jg=Dalath_Rish}
-# \p{Is_Joining_Group=Dalath_Rish}
-# \p{Is_Jg=Dalath_Rish}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Dalath_Rish}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0715 0716 # [2]
+0715 0716
072A
072F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
index efddabd01ee..c63869f9c9a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=E}
-# \p{Jg=E}
-# \p{Is_Joining_Group=E}
-# \p{Is_Jg=E}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: E}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0725
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
index f7d7a9b9f29..56a3515325a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
@@ -1,39 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Farsi_Yeh}
-# \p{Jg=Farsi_Yeh}
-# \p{Is_Joining_Group=Farsi_Yeh}
-# \p{Is_Jg=Farsi_Yeh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Farsi_Yeh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-063D 063F # [3]
+063D 063F
06CC
06CE
-0775 0776 # [2]
+0775 0776
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
index 80924d7eb7a..aa712294f1c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Fe}
-# \p{Jg=Fe}
-# \p{Is_Joining_Group=Fe}
-# \p{Is_Jg=Fe}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Fe}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
074F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
index fce1857a65e..4076ce41da7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 9 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Feh}
-# \p{Jg=Feh}
-# \p{Is_Joining_Group=Feh}
-# \p{Is_Jg=Feh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Feh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0641
-06A1 06A6 # [6]
-0760 0761 # [2]
+06A1 06A6
+0760 0761
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
index 0e6fb77d88d..9588a2e7ae4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Final_Semkath}
-# \p{Jg=Final_Semkath}
-# \p{Is_Joining_Group=Final_Semkath}
-# \p{Is_Jg=Final_Semkath}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Final_Semkath}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0724
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
index 49aaf8794e2..230aa22e0b5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 13 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Gaf}
-# \p{Jg=Gaf}
-# \p{Is_Joining_Group=Gaf}
-# \p{Is_Jg=Gaf}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Gaf}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-063B 063C # [2]
+063B 063C
06A9
06AB
-06AF 06B4 # [6]
-0762 0764 # [3]
+06AF 06B4
+0762 0764
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
index 914fbf84d29..a20adf5aeb0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
@@ -1,37 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Gamal}
-# \p{Jg=Gamal}
-# \p{Is_Joining_Group=Gamal}
-# \p{Is_Jg=Gamal}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Gamal}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0713 0714 # [2]
+0713 0714
072E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
index a86d724d8d6..57c979dd563 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
@@ -1,42 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 17 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Hah}
-# \p{Jg=Hah}
-# \p{Is_Joining_Group=Hah}
-# \p{Is_Jg=Hah}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Hah}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-062C 062E # [3]
-0681 0687 # [7]
+062C 062E
+0681 0687
06BF
-0757 0758 # [2]
-076E 076F # [2]
+0757 0758
+076E 076F
0772
077C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl
deleted file mode 100644
index e73707b3275..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl
+++ /dev/null
@@ -1,36 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Hamza_On_Heh_Goal}
-# \p{Jg=Hamza_On_Heh_Goal}
-# \p{Is_Joining_Group=Hamza_On_Heh_Goal}
-# \p{Is_Jg=Hamza_On_Heh_Goal}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Hamza_On_Heh_Goal}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
-
-return <<'END';
-06C3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
index 1676f16a42a..181943038cc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=He}
-# \p{Jg=He}
-# \p{Is_Joining_Group=He}
-# \p{Is_Jg=He}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: He}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0717
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
index e15fc4e8a48..1d355487b55 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Heh}
-# \p{Jg=Heh}
-# \p{Is_Joining_Group=Heh}
-# \p{Is_Jg=Heh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Heh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0647
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
index 9723cf22895..3208ac180bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Heh_Goal}
-# \p{Jg=Heh_Goal}
-# \p{Is_Joining_Group=Heh_Goal}
-# \p{Is_Jg=Heh_Goal}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Heh_Goal}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-06C1 06C2 # [2]
+06C1 06C2
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
index 72cdab7615e..c6c9ecc537f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Heth}
-# \p{Jg=Heth}
-# \p{Is_Joining_Group=Heth}
-# \p{Is_Jg=Heth}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Heth}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
071A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
index 0304eccca78..8ba9b59d5f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Kaf}
-# \p{Jg=Kaf}
-# \p{Is_Joining_Group=Kaf}
-# \p{Is_Jg=Kaf}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Kaf}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0643
-06AC 06AE # [3]
+06AC 06AE
077F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
index 0b83e7c6824..dd0c6b40150 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Kaph}
-# \p{Jg=Kaph}
-# \p{Is_Joining_Group=Kaph}
-# \p{Is_Jg=Kaph}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Kaph}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
071F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
index 230ef04cc3e..572231f2d42 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Khaph}
-# \p{Jg=Khaph}
-# \p{Is_Joining_Group=Khaph}
-# \p{Is_Jg=Khaph}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Khaph}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
074E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
index f8f16bd4638..fc5363f0c48 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Knotted_Heh}
-# \p{Jg=Knotted_Heh}
-# \p{Is_Joining_Group=Knotted_Heh}
-# \p{Is_Jg=Knotted_Heh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Knotted_Heh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
06BE
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
index 8f252491df1..4c7ae0fbed3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 6 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Lam}
-# \p{Jg=Lam}
-# \p{Is_Joining_Group=Lam}
-# \p{Is_Jg=Lam}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Lam}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0644
-06B5 06B8 # [4]
+06B5 06B8
076A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
index 6d86b8b2254..bace0a3af8c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Lamadh}
-# \p{Jg=Lamadh}
-# \p{Is_Joining_Group=Lamadh}
-# \p{Is_Jg=Lamadh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Lamadh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0720
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
index 3b2992bb4cf..b9d2b190e1c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
@@ -1,37 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Meem}
-# \p{Jg=Meem}
-# \p{Is_Joining_Group=Meem}
-# \p{Is_Jg=Meem}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Meem}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0645
-0765 0766 # [2]
+0765 0766
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
index 8d13c58c05a..4de100ed618 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Mim}
-# \p{Jg=Mim}
-# \p{Is_Joining_Group=Mim}
-# \p{Is_Jg=Mim}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Mim}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0721
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
index a78bda80984..6d69b8e982e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
@@ -1,48 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_883 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Joining_Group=No_Joining_Group}
-# \p{Jg=No_Joining_Group}
-# \p{Is_Joining_Group=No_Joining_Group}
-# \p{Is_Jg=No_Joining_Group}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: No_Joining_Group}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0621 # [1570]
+0000 061F
+0621
0640
-064B 066D # [35]
+064B 066D
0670
0674
06D4
-06D6 06ED # [24]
-06F0 06F9 # [10]
-06FD 06FE # [2]
-0700 070F # [16]
+06D6 06ED
+06F0 06F9
+06FD 06FE
+0700 070F
0711
-0730 074C # [29]
-0780 10FFFF # [1_112_192]
+0730 074C
+0780 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
index 41e486b61e2..8ffb04094b9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 8 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Noon}
-# \p{Jg=Noon}
-# \p{Is_Joining_Group=Noon}
-# \p{Is_Jg=Noon}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Noon}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0646
-06B9 06BC # [4]
-0767 0769 # [3]
+06B9 06BC
+0767 0769
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
index fd5b259f6a9..6c26f6f93c0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Nun}
-# \p{Jg=Nun}
-# \p{Is_Joining_Group=Nun}
-# \p{Is_Jg=Nun}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Nun}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0722
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
index 1bb920d93da..4f7897d85a2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Nya}
-# \p{Jg=Nya}
-# \p{Is_Joining_Group=Nya}
-# \p{Is_Jg=Nya}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Nya}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
06BD
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
index 3709d134961..27b52c1bf52 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Pe}
-# \p{Jg=Pe}
-# \p{Is_Joining_Group=Pe}
-# \p{Is_Jg=Pe}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Pe}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0726
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
index 7269fa22775..2f413f6dcad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Qaf}
-# \p{Jg=Qaf}
-# \p{Is_Joining_Group=Qaf}
-# \p{Is_Jg=Qaf}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Qaf}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0642
066F
-06A7 06A8 # [2]
+06A7 06A8
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
index 1351e3b25d1..deaf713978d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Qaph}
-# \p{Jg=Qaph}
-# \p{Is_Joining_Group=Qaph}
-# \p{Is_Jg=Qaph}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Qaph}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0729
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
index aa96e2a0b36..691288c1987 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
@@ -1,41 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Reh}
-# \p{Jg=Reh}
-# \p{Is_Joining_Group=Reh}
-# \p{Is_Jg=Reh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Reh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0631 0632 # [2]
-0691 0699 # [9]
+0631 0632
+0691 0699
06EF
075B
-076B 076C # [2]
+076B 076C
0771
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
index 400423f5559..e76f65a326f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Reversed_Pe}
-# \p{Jg=Reversed_Pe}
-# \p{Is_Joining_Group=Reversed_Pe}
-# \p{Is_Jg=Reversed_Pe}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Reversed_Pe}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0727
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
index 885bdd54a46..f9d2e7f4dfc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Sad}
-# \p{Jg=Sad}
-# \p{Is_Joining_Group=Sad}
-# \p{Is_Jg=Sad}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Sad}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0635 0636 # [2]
-069D 069E # [2]
+0635 0636
+069D 069E
06FB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
index 251d2ac365a..e3f4e44b2cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Sadhe}
-# \p{Jg=Sadhe}
-# \p{Is_Joining_Group=Sadhe}
-# \p{Is_Jg=Sadhe}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Sadhe}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0728
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
index 546eb63bbd5..2d1cea27c7d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
@@ -1,42 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 11 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Seen}
-# \p{Jg=Seen}
-# \p{Is_Joining_Group=Seen}
-# \p{Is_Jg=Seen}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Seen}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0633 0634 # [2]
-069A 069C # [3]
+0633 0634
+069A 069C
06FA
075C
076D
0770
-077D 077E # [2]
+077D 077E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
index aa4265cc7b5..fc960f9e41f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Semkath}
-# \p{Jg=Semkath}
-# \p{Is_Joining_Group=Semkath}
-# \p{Is_Jg=Semkath}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Semkath}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0723
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
index a1ce74013e4..655904467f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Shin}
-# \p{Jg=Shin}
-# \p{Is_Joining_Group=Shin}
-# \p{Is_Jg=Shin}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Shin}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
072B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
index 15fc8b8a8d9..4f0b753f1c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Swash_Kaf}
-# \p{Jg=Swash_Kaf}
-# \p{Is_Joining_Group=Swash_Kaf}
-# \p{Is_Jg=Swash_Kaf}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Swash_Kaf}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
06AA
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
index 72dba6b2701..fe318795d63 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Syriac_Waw}
-# \p{Jg=Syriac_Waw}
-# \p{Is_Joining_Group=Syriac_Waw}
-# \p{Is_Jg=Syriac_Waw}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Syriac_Waw}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0718
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
index ec35a063711..dad87f03649 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
@@ -1,37 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Tah}
-# \p{Jg=Tah}
-# \p{Is_Joining_Group=Tah}
-# \p{Is_Jg=Tah}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Tah}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0637 0638 # [2]
+0637 0638
069F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
index 44baf3edb7f..74daeef9c93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Taw}
-# \p{Jg=Taw}
-# \p{Is_Joining_Group=Taw}
-# \p{Is_Jg=Taw}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Taw}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
072C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl
new file mode 100644
index 00000000000..d5dffd9244e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+06C3
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
index ee5d963c362..b733c2ff9ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Teh_Marbuta}
-# \p{Jg=Teh_Marbuta}
-# \p{Is_Joining_Group=Teh_Marbuta}
-# \p{Is_Jg=Teh_Marbuta}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Teh_Marbuta}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0629
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
index 5d5fe9cd5f3..fe3be191306 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Teth}
-# \p{Jg=Teth}
-# \p{Is_Joining_Group=Teth}
-# \p{Is_Jg=Teth}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Teth}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-071B 071C # [2]
+071B 071C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
index 9ff2eb3c8db..699a7e3ab6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
@@ -1,41 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 15 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Group=Waw}
-# \p{Jg=Waw}
-# \p{Is_Joining_Group=Waw}
-# \p{Is_Jg=Waw}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Waw}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0624
0648
-0676 0677 # [2]
-06C4 06CB # [8]
+0676 0677
+06C4 06CB
06CF
-0778 0779 # [2]
+0778 0779
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
index dda5aaa93d1..7ae4fecf1db 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
@@ -1,40 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Yeh}
-# \p{Jg=Yeh}
-# \p{Is_Joining_Group=Yeh}
-# \p{Is_Jg=Yeh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Yeh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
+0620
0626
-0649 064A # [2]
+0649 064A
0678
-06D0 06D1 # [2]
+06D0 06D1
0777
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
index d98ebd20d9d..837b02717b8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
@@ -1,36 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Group=Yeh_Barree}
-# \p{Jg=Yeh_Barree}
-# \p{Is_Joining_Group=Yeh_Barree}
-# \p{Is_Jg=Yeh_Barree}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Yeh_Barree}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-06D2 06D3 # [2]
+06D2 06D3
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
index 0c9538c6ddc..b0cb818d06d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Yeh_With_Tail}
-# \p{Jg=Yeh_With_Tail}
-# \p{Is_Joining_Group=Yeh_With_Tail}
-# \p{Is_Jg=Yeh_With_Tail}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Yeh_With_Tail}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
06CD
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
index 781d62a22db..a24d8864380 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Yudh}
-# \p{Jg=Yudh}
-# \p{Is_Joining_Group=Yudh}
-# \p{Is_Jg=Yudh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Yudh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
071D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
index 91e07df1291..a781fada860 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Yudh_He}
-# \p{Jg=Yudh_He}
-# \p{Is_Joining_Group=Yudh_He}
-# \p{Is_Jg=Yudh_He}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Yudh_He}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
071E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
index 104b6ed8ada..23622964929 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Zain}
-# \p{Jg=Zain}
-# \p{Is_Joining_Group=Zain}
-# \p{Is_Jg=Zain}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Zain}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0719
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
index 4d54aa23249..5412158c6a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Joining_Group=Zhain}
-# \p{Jg=Zhain}
-# \p{Is_Joining_Group=Zhain}
-# \p{Is_Jg=Zhain}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jg: Zhain}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
074D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl
index bd3bdbce65c..83b2aab23f3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl
@@ -1,42 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_110 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Join_Control=No}
-# \p{Join_C=N}
-# \p{Is_Join_Control=F}
-# \p{Is_Join_C=False}
-#
-# \P{Join_Control}
-# \P{Is_Join_Control}
-# \P{Join_C}
-# \P{Is_Join_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Join_C: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 200B # [8204]
-200E 10FFFF # [1_105_906]
+0000 200B
+200E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
index dea3a6be5f9..e77e844aed1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
@@ -1,41 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Join_Control=Yes}
-# \p{Join_C=Y}
-# \p{Is_Join_Control=T}
-# \p{Is_Join_C=True}
-#
-# \p{Join_Control}
-# \p{Is_Join_Control}
-# \p{Join_C}
-# \p{Is_Join_C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Join_C: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-200C 200D # [2]
+200C 200D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
index 163f4f0ad13..07afdd99f33 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Joining_Type=Join_Causing}
-# \p{Jt=C}
-# \p{Is_Joining_Type=Join_Causing}
-# \p{Is_Jt=C}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jt: Join_Causing}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0640
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
index 52eebec8cea..09875f05250 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
@@ -1,63 +1,41 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 188 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Type=Dual_Joining}
-# \p{Jt=D}
-# \p{Is_Joining_Type=Dual_Joining}
-# \p{Is_Jt=D}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jt: Dual_Joining}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
+0620
0626
0628
-062A 062E # [5]
-0633 063F # [13]
-0641 0647 # [7]
-0649 064A # [2]
-066E 066F # [2]
-0678 0687 # [16]
-069A 06BF # [38]
-06C1 06C2 # [2]
+062A 062E
+0633 063F
+0641 0647
+0649 064A
+066E 066F
+0678 0687
+069A 06BF
+06C1 06C2
06CC
06CE
-06D0 06D1 # [2]
-06FA 06FC # [3]
+06D0 06D1
+06FA 06FC
06FF
-0712 0714 # [3]
-071A 071D # [4]
-071F 0727 # [9]
+0712 0714
+071A 071D
+071F 0727
0729
072B
-072D 072E # [2]
-074E 0758 # [11]
-075C 076A # [15]
-076D 0770 # [4]
+072D 072E
+074E 0758
+075C 076A
+076D 0770
0772
-0775 0777 # [3]
-077A 077F # [6]
-07CA 07EA # [33]
+0775 0777
+077A 077F
+07CA 07EA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
index 014c1ad53fc..c92ba54bddf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
@@ -1,63 +1,40 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 74 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Type=Right_Joining}
-# \p{Jt=R}
-# \p{Is_Joining_Type=Right_Joining}
-# \p{Is_Jt=R}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jt: Right_Joining}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0622 0625 # [4]
+0622 0625
0627
0629
-062F 0632 # [4]
+062F 0632
0648
-0671 0673 # [3]
-0675 0677 # [3]
-0688 0699 # [18]
+0671 0673
+0675 0677
+0688 0699
06C0
-06C3 06CB # [9]
+06C3 06CB
06CD
06CF
-06D2 06D3 # [2]
+06D2 06D3
06D5
-06EE 06EF # [2]
+06EE 06EF
0710
-0715 0719 # [5]
+0715 0719
071E
0728
072A
072C
072F
074D
-0759 075B # [3]
-076B 076C # [2]
+0759 075B
+076B 076C
0771
-0773 0774 # [2]
-0778 0779 # [2]
+0773 0774
+0778 0779
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
index 0e2d2cfc96e..a85826d5604 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
@@ -1,240 +1,226 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1308 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Joining_Type=Transparent}
-# \p{Jt=T}
-# \p{Is_Joining_Type=Transparent}
-# \p{Is_Jt=T}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jt: Transparent}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AD
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
+0300 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
070F
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0902 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0902
+093A
093C
-0941 0948 # [8]
+0941 0948
094D
-0951 0955 # [5]
-0962 0963 # [2]
+0951 0957
+0962 0963
0981
09BC
-09C1 09C4 # [4]
+09C1 09C4
09CD
-09E2 09E3 # [2]
-0A01 0A02 # [2]
+09E2 09E3
+0A01 0A02
0A3C
-0A41 0A42 # [2]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A82 # [2]
+0A81 0A82
0ABC
-0AC1 0AC5 # [5]
-0AC7 0AC8 # [2]
+0AC1 0AC5
+0AC7 0AC8
0ACD
-0AE2 0AE3 # [2]
+0AE2 0AE3
0B01
0B3C
0B3F
-0B41 0B44 # [4]
+0B41 0B44
0B4D
0B56
-0B62 0B63 # [2]
+0B62 0B63
0B82
0BC0
0BCD
-0C3E 0C40 # [3]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
0CBC
0CBF
0CC6
-0CCC 0CCD # [2]
-0CE2 0CE3 # [2]
-0D41 0D44 # [4]
+0CCC 0CCD
+0CE2 0CE3
+0D41 0D44
0D4D
-0D62 0D63 # [2]
+0D62 0D63
0DCA
-0DD2 0DD4 # [3]
+0DD2 0DD4
0DD6
0E31
-0E34 0E3A # [7]
-0E47 0E4E # [8]
+0E34 0E3A
+0E47 0E4E
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102D 1030 # [4]
-1032 1037 # [6]
-1039 103A # [2]
-103D 103E # [2]
-1058 1059 # [2]
-105E 1060 # [3]
-1071 1074 # [4]
+102D 1030
+1032 1037
+1039 103A
+103D 103E
+1058 1059
+105E 1060
+1071 1074
1082
-1085 1086 # [2]
+1085 1086
108D
109D
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B4 17B5 # [2]
-17B7 17BD # [7]
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B4 17B5
+17B7 17BD
17C6
-17C9 17D3 # [11]
+17C9 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 1922 # [3]
-1927 1928 # [2]
+1920 1922
+1927 1928
1932
-1939 193B # [3]
-1A17 1A18 # [2]
+1939 193B
+1A17 1A18
1A56
-1A58 1A5E # [7]
+1A58 1A5E
1A60
1A62
-1A65 1A6C # [8]
-1A73 1A7C # [10]
+1A65 1A6C
+1A73 1A7C
1A7F
-1B00 1B03 # [4]
+1B00 1B03
1B34
-1B36 1B3A # [5]
+1B36 1B3A
1B3C
1B42
-1B6B 1B73 # [9]
-1B80 1B81 # [2]
-1BA2 1BA5 # [4]
-1BA8 1BA9 # [2]
-1C2C 1C33 # [8]
-1C36 1C37 # [2]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+1B6B 1B73
+1B80 1B81
+1BA2 1BA5
+1BA8 1BA9
+1BE6
+1BE8 1BE9
+1BED
+1BEF 1BF1
+1C2C 1C33
+1C36 1C37
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
+1DC0 1DE6
+1DFC 1DFF
200B
-200E 200F # [2]
-202A 202E # [5]
-2060 2064 # [5]
-206A 206F # [6]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+200E 200F
+202A 202E
+2060 2064
+206A 206F
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A825 A826 # [2]
+A825 A826
A8C4
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A951 # [11]
-A980 A982 # [3]
+A8E0 A8F1
+A926 A92D
+A947 A951
+A980 A982
A9B3
-A9B6 A9B9 # [4]
+A9B6 A9B9
A9BC
-AA29 AA2E # [6]
-AA31 AA32 # [2]
-AA35 AA36 # [2]
+AA29 AA2E
+AA31 AA32
+AA35 AA36
AA43
AA4C
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
ABE5
ABE8
ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
+FE00 FE0F
+FE20 FE26
FEFF
-FFF9 FFFB # [3]
+FFF9 FFFB
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11081 # [2]
-110B3 110B6 # [4]
-110B9 110BA # [2]
+11001
+11038 11046
+11080 11081
+110B3 110B6
+110B9 110BA
110BD
-1D167 1D169 # [3]
-1D173 1D182 # [16]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
+1D167 1D169
+1D173 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
+E0020 E007F
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
index 3bb38ca3836..ebabb2fdaa8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
@@ -1,244 +1,231 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_539 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Joining_Type=Non_Joining}
-# \p{Jt=U}
-# \p{Is_Joining_Type=Non_Joining}
-# \p{Is_Jt=U}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Jt: Non_Joining}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 00AC # [173]
-00AE 02FF # [594]
-0370 0482 # [275]
-048A 0590 # [263]
+0000 00AC
+00AE 02FF
+0370 0482
+048A 0590
05BE
05C0
05C3
05C6
-05C8 060F # [72]
-061B 0621 # [7]
-065F 066D # [15]
+05C8 060F
+061B 061F
+0621
+0660 066D
0674
06D4
-06DD
-06E5 06E6 # [2]
+06DD 06DE
+06E5 06E6
06E9
-06F0 06F9 # [10]
-06FD 06FE # [2]
-0700 070E # [15]
-074B 074C # [2]
-0780 07A5 # [38]
-07B1 07C9 # [25]
-07F4 07F9 # [6]
-07FB 0815 # [27]
+06F0 06F9
+06FD 06FE
+0700 070E
+074B 074C
+0780 07A5
+07B1 07C9
+07F4 07F9
+07FB 0815
081A
0824
0828
-082E 08FF # [210]
-0903 093B # [57]
-093D 0940 # [4]
-0949 094C # [4]
-094E 0950 # [3]
-0956 0961 # [12]
-0964 0980 # [29]
-0982 09BB # [58]
-09BD 09C0 # [4]
-09C5 09CC # [8]
-09CE 09E1 # [20]
-09E4 0A00 # [29]
-0A03 0A3B # [57]
-0A3D 0A40 # [4]
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A6F # [30]
-0A72 0A74 # [3]
-0A76 0A80 # [11]
-0A83 0ABB # [57]
-0ABD 0AC0 # [4]
+082E 0858
+085C 08FF
+0903 0939
+093B
+093D 0940
+0949 094C
+094E 0950
+0958 0961
+0964 0980
+0982 09BB
+09BD 09C0
+09C5 09CC
+09CE 09E1
+09E4 0A00
+0A03 0A3B
+0A3D 0A40
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A6F
+0A72 0A74
+0A76 0A80
+0A83 0ABB
+0ABD 0AC0
0AC6
-0AC9 0ACC # [4]
-0ACE 0AE1 # [20]
-0AE4 0B00 # [29]
-0B02 0B3B # [58]
-0B3D 0B3E # [2]
+0AC9 0ACC
+0ACE 0AE1
+0AE4 0B00
+0B02 0B3B
+0B3D 0B3E
0B40
-0B45 0B4C # [8]
-0B4E 0B55 # [8]
-0B57 0B61 # [11]
-0B64 0B81 # [30]
-0B83 0BBF # [61]
-0BC1 0BCC # [12]
-0BCE 0C3D # [112]
-0C41 0C45 # [5]
+0B45 0B4C
+0B4E 0B55
+0B57 0B61
+0B64 0B81
+0B83 0BBF
+0BC1 0BCC
+0BCE 0C3D
+0C41 0C45
0C49
-0C4E 0C54 # [7]
-0C57 0C61 # [11]
-0C64 0CBB # [88]
-0CBD 0CBE # [2]
-0CC0 0CC5 # [6]
-0CC7 0CCB # [5]
-0CCE 0CE1 # [20]
-0CE4 0D40 # [93]
-0D45 0D4C # [8]
-0D4E 0D61 # [20]
-0D64 0DC9 # [102]
-0DCB 0DD1 # [7]
+0C4E 0C54
+0C57 0C61
+0C64 0CBB
+0CBD 0CBE
+0CC0 0CC5
+0CC7 0CCB
+0CCE 0CE1
+0CE4 0D40
+0D45 0D4C
+0D4E 0D61
+0D64 0DC9
+0DCB 0DD1
0DD5
-0DD7 0E30 # [90]
-0E32 0E33 # [2]
-0E3B 0E46 # [12]
-0E4F 0EB0 # [98]
-0EB2 0EB3 # [2]
+0DD7 0E30
+0E32 0E33
+0E3B 0E46
+0E4F 0EB0
+0EB2 0EB3
0EBA
-0EBD 0EC7 # [11]
-0ECE 0F17 # [74]
-0F1A 0F34 # [27]
+0EBD 0EC7
+0ECE 0F17
+0F1A 0F34
0F36
0F38
-0F3A 0F70 # [55]
+0F3A 0F70
0F7F
0F85
-0F88 0F8F # [8]
+0F88 0F8C
0F98
-0FBD 0FC5 # [9]
-0FC7 102C # [102]
+0FBD 0FC5
+0FC7 102C
1031
1038
-103B 103C # [2]
-103F 1057 # [25]
-105A 105D # [4]
-1061 1070 # [16]
-1075 1081 # [13]
-1083 1084 # [2]
-1087 108C # [6]
-108E 109C # [15]
-109E 135E # [705]
-1360 1711 # [946]
-1715 1731 # [29]
-1735 1751 # [29]
-1754 1771 # [30]
-1774 17B3 # [64]
+103B 103C
+103F 1057
+105A 105D
+1061 1070
+1075 1081
+1083 1084
+1087 108C
+108E 109C
+109E 135C
+1360 1711
+1715 1731
+1735 1751
+1754 1771
+1774 17B3
17B6
-17BE 17C5 # [8]
-17C7 17C8 # [2]
-17D4 17DC # [9]
-17DE 180A # [45]
-180E 18A8 # [155]
-18AA 191F # [118]
-1923 1926 # [4]
-1929 1931 # [9]
-1933 1938 # [6]
-193C 1A16 # [219]
-1A19 1A55 # [61]
+17BE 17C5
+17C7 17C8
+17D4 17DC
+17DE 180A
+180E 18A8
+18AA 191F
+1923 1926
+1929 1931
+1933 1938
+193C 1A16
+1A19 1A55
1A57
1A5F
1A61
-1A63 1A64 # [2]
-1A6D 1A72 # [6]
-1A7D 1A7E # [2]
-1A80 1AFF # [128]
-1B04 1B33 # [48]
+1A63 1A64
+1A6D 1A72
+1A7D 1A7E
+1A80 1AFF
+1B04 1B33
1B35
1B3B
-1B3D 1B41 # [5]
-1B43 1B6A # [40]
-1B74 1B7F # [12]
-1B82 1BA1 # [32]
-1BA6 1BA7 # [2]
-1BAA 1C2B # [130]
-1C34 1C35 # [2]
-1C38 1CCF # [152]
+1B3D 1B41
+1B43 1B6A
+1B74 1B7F
+1B82 1BA1
+1BA6 1BA7
+1BAA 1BE5
+1BE7
+1BEA 1BEC
+1BEE
+1BF2 1C2B
+1C34 1C35
+1C38 1CCF
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1DBF # [210]
-1DE7 1DFC # [22]
-1E00 200A # [523]
+1CE9 1CEC
+1CEE 1DBF
+1DE7 1DFB
+1E00 200A
200C
-2010 2029 # [26]
-202F 205F # [49]
-2065 2069 # [5]
-2070 20CF # [96]
-20F1 2CEE # [3070]
-2CF2 2DDF # [238]
-2E00 3029 # [554]
-3030 3098 # [105]
-309B A66E # [30_164]
-A673 A67B # [9]
-A67E A6EF # [114]
-A6F2 A801 # [272]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A824 # [25]
-A827 A8C3 # [157]
-A8C5 A8DF # [27]
-A8F2 A925 # [52]
-A92E A946 # [25]
-A952 A97F # [46]
-A983 A9B2 # [48]
-A9B4 A9B5 # [2]
-A9BA A9BB # [2]
-A9BD AA28 # [108]
-AA2F AA30 # [2]
-AA33 AA34 # [2]
-AA37 AA42 # [12]
-AA44 AA4B # [8]
-AA4D AAAF # [99]
+2010 2029
+202F 205F
+2065 2069
+2070 20CF
+20F1 2CEE
+2CF2 2D7E
+2D80 2DDF
+2E00 3029
+3030 3098
+309B A66E
+A673 A67B
+A67E A6EF
+A6F2 A801
+A803 A805
+A807 A80A
+A80C A824
+A827 A8C3
+A8C5 A8DF
+A8F2 A925
+A92E A946
+A952 A97F
+A983 A9B2
+A9B4 A9B5
+A9BA A9BB
+A9BD AA28
+AA2F AA30
+AA33 AA34
+AA37 AA42
+AA44 AA4B
+AA4D AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 ABE4 # [291]
-ABE6 ABE7 # [2]
-ABE9 ABEC # [4]
-ABEE FB1D # [20_272]
-FB1F FDFF # [737]
-FE10 FE1F # [16]
-FE27 FEFE # [216]
-FF00 FFF8 # [249]
-FFFC 101FC # [513]
-101FE 10A00 # [2051]
+AAC2 ABE4
+ABE6 ABE7
+ABE9 ABEC
+ABEE FB1D
+FB1F FDFF
+FE10 FE1F
+FE27 FEFE
+FF00 FFF8
+FFFC 101FC
+101FE 10A00
10A04
-10A07 10A0B # [5]
-10A10 10A37 # [40]
-10A3B 10A3E # [4]
-10A40 1107F # [1600]
-11082 110B2 # [49]
-110B7 110B8 # [2]
-110BB 110BC # [2]
-110BE 1D166 # [49_321]
-1D16A 1D172 # [9]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 E0000 # [798_140]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+10A07 10A0B
+10A10 10A37
+10A3B 10A3E
+10A40 11000
+11002 11037
+11047 1107F
+11082 110B2
+110B7 110B8
+110BB 110BC
+110BE 1D166
+1D16A 1D172
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl
index 55767ec3ed2..f45b81ac3f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_097 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Logical_Order_Exception=No}
-# \p{LOE=N}
-# \p{Is_Logical_Order_Exception=F}
-# \p{Is_LOE=False}
-#
-# \P{Logical_Order_Exception}
-# \P{Is_Logical_Order_Exception}
-# \P{LOE}
-# \P{Is_LOE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_LOE: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0E3F # [3648]
-0E45 0EBF # [123]
-0EC5 AAB4 # [39_920]
-AAB7 AAB8 # [2]
+0000 0E3F
+0E45 0EBF
+0EC5 AAB4
+AAB7 AAB8
AABA
-AABD 10FFFF # [1_070_403]
+AABD 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
index 928393892fb..4bada69e39d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
@@ -1,151 +1,117 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 644 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Ambiguous}
-# \p{Lb=AI}
-# \p{Is_Line_Break=Ambiguous}
-# \p{Is_Lb=AI}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Ambiguous}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00A7 00A8 # [2]
+00A7 00A8
00AA
-00B2 00B3 # [2]
-00B6 00BA # [5]
-00BC 00BE # [3]
+00B2 00B3
+00B6 00BA
+00BC 00BE
00D7
00F7
02C7
-02C9 02CB # [3]
+02C9 02CB
02CD
02D0
-02D8 02DB # [4]
+02D8 02DB
02DD
-2015 2016 # [2]
-2020 2021 # [2]
+2015 2016
+2020 2021
203B
2074
207F
-2081 2084 # [4]
+2081 2084
2105
2113
-2121 2122 # [2]
+2121 2122
212B
-2154 2155 # [2]
+2154 2155
215B
215E
-2160 216B # [12]
-2170 2179 # [10]
+2160 216B
+2170 2179
2189
-2190 2199 # [10]
+2190 2199
21D2
21D4
2200
-2202 2203 # [2]
-2207 2208 # [2]
+2202 2203
+2207 2208
220B
220F
2211
2215
221A
-221D 2220 # [4]
+221D 2220
2223
2225
-2227 222C # [6]
+2227 222C
222E
-2234 2237 # [4]
-223C 223D # [2]
+2234 2237
+223C 223D
2248
224C
2252
-2260 2261 # [2]
-2264 2267 # [4]
-226A 226B # [2]
-226E 226F # [2]
-2282 2283 # [2]
-2286 2287 # [2]
+2260 2261
+2264 2267
+226A 226B
+226E 226F
+2282 2283
+2286 2287
2295
2299
22A5
22BF
2312
-2460 24FE # [159]
-2500 254B # [76]
-2550 2574 # [37]
-2580 258F # [16]
-2592 2595 # [4]
-25A0 25A1 # [2]
-25A3 25A9 # [7]
-25B2 25B3 # [2]
-25B6 25B7 # [2]
-25BC 25BD # [2]
-25C0 25C1 # [2]
-25C6 25C8 # [3]
+2460 24FE
+2500 254B
+2550 2574
+2580 258F
+2592 2595
+25A0 25A1
+25A3 25A9
+25B2 25B3
+25B6 25B7
+25BC 25BD
+25C0 25C1
+25C6 25C8
25CB
-25CE 25D1 # [4]
-25E2 25E5 # [4]
+25CE 25D1
+25E2 25E5
25EF
-2605 2606 # [2]
+2605 2606
2609
-260E 260F # [2]
-2614 2617 # [4]
+260E 260F
+2614 2617
261C
261E
2640
2642
-2660 2661 # [2]
-2663 2665 # [3]
-2667 266A # [4]
-266C 266D # [2]
+2660 2661
+2663 2665
+2667 266A
+266C 266D
266F
-269E 269F # [2]
-26BE 26BF # [2]
-26C4 26CD # [10]
-26CF 26E1 # [19]
+269E 269F
+26BE 26BF
+26C4 26CD
+26CF 26E1
26E3
-26E8 26FF # [24]
+26E8 26FF
2757
-2776 2793 # [30]
-2B55 2B59 # [5]
-3248 324F # [8]
+2776 2793
+2B55 2B59
+3248 324F
FFFD
-1F100 1F10A # [11]
-1F110 1F12D # [30]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
+1F100 1F10A
+1F110 1F12D
+1F130 1F169
+1F170 1F19A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
index 516281c53d2..ff77dda68df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
@@ -1,559 +1,576 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 14_092 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Line_Break=Alphabetic}
-# \p{Lb=AL}
-# \p{Is_Line_Break=Alphabetic}
-# \p{Is_Lb=AL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Alphabetic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0023
0026
002A
-003C 003E # [3]
-0040 005A # [27]
-005E 007A # [29]
+003C 003E
+0040 005A
+005E 007A
007E
00A6
00A9
00AC
-00AE 00AF # [2]
+00AE 00AF
00B5
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C6 # [463]
-02CE 02CF # [2]
-02D1 02D7 # [7]
+00C0 00D6
+00D8 00F6
+00F8 02C6
+02CE 02CF
+02D1 02D7
02DC
02DE
-02E0 02FF # [32]
-0370 0377 # [8]
-037A 037D # [4]
-0384 038A # [7]
+02E0 02FF
+0370 0377
+037A 037D
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0482 # [224]
-048A 0525 # [156]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
+038E 03A1
+03A3 0482
+048A 0527
+0531 0556
+0559 055F
+0561 0587
05C0
05C3
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-0606 0608 # [3]
-060E 060F # [2]
-0621 064A # [42]
-066D 066F # [3]
-0671 06D3 # [99]
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 0608
+060E 060F
+0620 064A
+066D 066F
+0671 06D3
06D5
-06DD
-06E5 06E6 # [2]
+06DD 06DE
+06E5 06E6
06E9
-06EE 06EF # [2]
-06FA 070D # [20]
-070F 0710 # [2]
-0712 072F # [30]
-074D 07A5 # [89]
+06EE 06EF
+06FA 070D
+070F 0710
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-07F4 07F7 # [4]
+07CA 07EA
+07F4 07F7
07FA
-0800 0815 # [22]
+0800 0815
081A
0824
0828
-0830 083E # [15]
-0904 0939 # [54]
+0830 083E
+0840 0858
+085E
+0904 0939
093D
0950
-0958 0961 # [10]
-0970 0972 # [3]
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0970 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-09F4 09F8 # [5]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+09F4 09F8
09FA
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
-0B70 0B71 # [2]
+0B5C 0B5D
+0B5F 0B61
+0B70 0B77
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0BF0 0BF8 # [9]
+0BF0 0BF8
0BFA
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C78 0C7F # [8]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C78 0C7F
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0CF1 0CF2 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D70 0D75 # [6]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D70 0D75
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DF4
0E4F
0F00
0F05
0F13
-0F15 0F17 # [3]
-0F1A 0F1F # [6]
-0F2A 0F33 # [10]
+0F15 0F17
+0F1A 0F1F
+0F2A 0F33
0F36
0F38
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-0FC0 0FC5 # [6]
-0FC7 0FCC # [6]
-0FCE 0FCF # [2]
-0FD4 0FD8 # [5]
-104C 104F # [4]
-10A0 10C5 # [38]
-10D0 10FC # [45]
-1200 1248 # [73]
-124A 124D # [4]
-1250 1256 # [7]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+0FC0 0FC5
+0FC7 0FCC
+0FCE 0FCF
+0FD4 0FD8
+104C 104F
+10A0 10C5
+10D0 10FC
+1200 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
1360
-1362 137C # [27]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1401 167F # [639]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
+1362 137C
+1380 1399
+13A0 13F4
+1401 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
17D9
-17F0 17F9 # [10]
-1800 1801 # [2]
+17F0 17F9
+1800 1801
1807
180A
-1820 1877 # [88]
-1880 18A8 # [41]
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
+18B0 18F5
+1900 191C
1940
-19E0 1A16 # [55]
-1A1E 1A1F # [2]
-1B05 1B33 # [47]
-1B45 1B4B # [7]
+19E0 1A16
+1A1E 1A1F
+1B05 1B33
+1B45 1B4B
1B5C
-1B61 1B6A # [10]
-1B74 1B7C # [9]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
+1B61 1B6A
+1B74 1B7C
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1BFC 1C23
+1C4D 1C4F
+1C5A 1C7D
1CD3
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1CE9 1CEC
+1CEE 1CF1
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFC
1FFE
2017
-2022 2023 # [2]
+2022 2023
2038
-203E 2043 # [6]
-204A 2055 # [12]
+203E 2043
+204A 2055
2057
205C
-2061 2064 # [4]
-2070 2071 # [2]
-2075 207C # [8]
+2061 2064
+2070 2071
+2075 207C
2080
-2085 208C # [8]
-2090 2094 # [5]
-2100 2102 # [3]
+2085 208C
+2090 209C
+2100 2102
2104
-2106 2108 # [3]
-210A 2112 # [9]
-2114 2115 # [2]
-2117 2120 # [10]
-2123 212A # [8]
-212C 2153 # [40]
-2156 215A # [5]
-215C 215D # [2]
+2106 2108
+210A 2112
+2114 2115
+2117 2120
+2123 212A
+212C 2153
+2156 215A
+215C 215D
215F
-216C 216F # [4]
-217A 2188 # [15]
-219A 21D1 # [56]
+216C 216F
+217A 2188
+219A 21D1
21D3
-21D5 21FF # [43]
+21D5 21FF
2201
-2204 2206 # [3]
-2209 220A # [2]
-220C 220E # [3]
+2204 2206
+2209 220A
+220C 220E
2210
2214
-2216 2219 # [4]
-221B 221C # [2]
-2221 2222 # [2]
+2216 2219
+221B 221C
+2221 2222
2224
2226
222D
-222F 2233 # [5]
-2238 223B # [4]
-223E 2247 # [10]
-2249 224B # [3]
-224D 2251 # [5]
-2253 225F # [13]
-2262 2263 # [2]
-2268 2269 # [2]
-226C 226D # [2]
-2270 2281 # [18]
-2284 2285 # [2]
-2288 2294 # [13]
-2296 2298 # [3]
-229A 22A4 # [11]
-22A6 22BE # [25]
-22C0 2311 # [82]
-2313 2328 # [22]
-232B 23E8 # [190]
-2400 2426 # [39]
-2440 244A # [11]
+222F 2233
+2238 223B
+223E 2247
+2249 224B
+224D 2251
+2253 225F
+2262 2263
+2268 2269
+226C 226D
+2270 2281
+2284 2285
+2288 2294
+2296 2298
+229A 22A4
+22A6 22BE
+22C0 2311
+2313 2328
+232B 23F3
+2400 2426
+2440 244A
24FF
-254C 254F # [4]
-2575 257F # [11]
-2590 2591 # [2]
-2596 259F # [10]
+254C 254F
+2575 257F
+2590 2591
+2596 259F
25A2
-25AA 25B1 # [8]
-25B4 25B5 # [2]
-25B8 25BB # [4]
-25BE 25BF # [2]
-25C2 25C5 # [4]
-25C9 25CA # [2]
-25CC 25CD # [2]
-25D2 25E1 # [16]
-25E6 25EE # [9]
-25F0 2604 # [21]
-2607 2608 # [2]
-260A 260D # [4]
-2610 2613 # [4]
-2618 261B # [4]
+25AA 25B1
+25B4 25B5
+25B8 25BB
+25BE 25BF
+25C2 25C5
+25C9 25CA
+25CC 25CD
+25D2 25E1
+25E6 25EE
+25F0 2604
+2607 2608
+260A 260D
+2610 2613
+2618 261B
261D
-261F 263F # [33]
+261F 263F
2641
-2643 265F # [29]
+2643 265F
2662
2666
266B
266E
-2670 269D # [46]
-26A0 26BD # [30]
-26C0 26C3 # [4]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756
-2758 275A # [3]
-2761
-2764 2767 # [4]
-2794
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27C4 # [5]
-27C7 27CA # [4]
+2670 269D
+26A0 26BD
+26C0 26C3
+26CE
+26E2
+26E4 26E7
+2701 2756
+2758 275A
+275F 2761
+2764 2767
+2794 27C4
+27C7 27CA
27CC
-27D0 27E5 # [22]
-27F0 2982 # [403]
-2999 29D7 # [63]
-29DC 29FB # [32]
-29FE 2B4C # [335]
-2B50 2B54 # [5]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CEE # [143]
+27CE 27E5
+27F0 2982
+2999 29D7
+29DC 29FB
+29FE 2B4C
+2B50 2B54
+2C00 2C2E
+2C30 2C5E
+2C60 2CEE
2CFD
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
2E16
-2E1A 2E1B # [2]
-2E1E 2E1F # [2]
+2E1A 2E1B
+2E1E 2E1F
2E2F
-4DC0 4DFF # [64]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
-A640 A65F # [32]
-A662 A66E # [13]
+4DC0 4DFF
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
A673
-A67E A697 # [26]
-A6A0 A6EF # [80]
+A67E A697
+A6A0 A6EF
A6F2
-A700 A78C # [141]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A828 A82B # [4]
-A830 A837 # [8]
+A700 A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A822
+A828 A82B
+A830 A837
A839
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8FB # [10]
-A90A A925 # [28]
-A930 A946 # [23]
+A840 A873
+A882 A8B3
+A8F2 A8FB
+A90A A925
+A930 A946
A95F
-A984 A9B2 # [47]
-A9C1 A9C6 # [6]
-A9CA A9CD # [4]
+A984 A9B2
+A9C1 A9C6
+A9CA A9CD
A9CF
-A9DE A9DF # [2]
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
+A9DE A9DF
+AA00 AA28
+AA40 AA42
+AA44 AA4B
AA5C
-ABC0 ABE2 # [35]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB36 # [24]
-FB38 FB3C # [5]
+FB1F FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
FDFD
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FE70 FE74
+FE76 FEFC
FF66
-FF71 FF9D # [45]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE8 FFEE # [7]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FC # [45]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-10800 10805 # [6]
+FF71 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE8 FFEE
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FC
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10858 1085F # [8]
-10900 1091B # [28]
-10920 10939 # [26]
+1083F 10855
+10858 1085F
+10900 1091B
+10920 10939
1093F
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A40 10A47 # [8]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A40 10A47
10A58
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11083 110AF # [45]
-110BB 110BD # [3]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 13257 # [600]
-1325E 13281 # [36]
-13283 13285 # [3]
-1328A 13378 # [239]
-1337C 1342E # [179]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D164 # [60]
-1D16A 1D16C # [3]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D1DD # [48]
-1D200 1D241 # [66]
+10A60 10A7F
+10B00 10B35
+10B40 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11003 11037
+11049 1104D
+11052 11065
+11083 110AF
+110BB 110BD
+12000 1236E
+12400 12462
+13000 13257
+1325E 13281
+13283 13285
+1328A 13378
+1337C 1342E
+16800 16A38
+1D000 1D0F5
+1D100 1D126
+1D129 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D200 1D241
1D245
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
1F12E
+1F1E6 1F1FF
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
index 70acb6cb8e6..2796f978291 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=Break_Both}
-# \p{Lb=B2}
-# \p{Is_Line_Break=Break_Both}
-# \p{Is_Lb=B2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Break_Both}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2014
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
index 0ec360d2867..2b6bfd093ef 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 137 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Break_After}
-# \p{Lb=BA}
-# \p{Is_Line_Break=Break_After}
-# \p{Is_Lb=BA}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Break_After}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0009
@@ -37,59 +14,61 @@ return <<'END';
00AD
058A
05BE
-0964 0965 # [2]
-0E5A 0E5B # [2]
+0964 0965
+0E5A 0E5B
0F0B
0F34
0F7F
0F85
-0FBE 0FBF # [2]
+0FBE 0FBF
0FD2
-104A 104B # [2]
+104A 104B
1361
1400
1680
-16EB 16ED # [3]
-1735 1736 # [2]
-17D4 17D5 # [2]
+16EB 16ED
+1735 1736
+17D4 17D5
17D8
17DA
-1804 1805 # [2]
-1B5A 1B5B # [2]
-1B5D 1B60 # [4]
-1C3B 1C3F # [5]
-1C7E 1C7F # [2]
-2000 2006 # [7]
-2008 200A # [3]
+1804 1805
+1B5A 1B5B
+1B5D 1B60
+1C3B 1C3F
+1C7E 1C7F
+2000 2006
+2008 200A
2010
-2012 2013 # [2]
+2012 2013
2027
2056
-2058 205B # [4]
-205D 205F # [3]
-2CFA 2CFC # [3]
+2058 205B
+205D 205F
+2CFA 2CFC
2CFF
-2E0E 2E15 # [8]
+2D70
+2E0E 2E15
2E17
2E19
-2E2A 2E2D # [4]
-2E30 2E31 # [2]
-A4FE A4FF # [2]
+2E2A 2E2D
+2E30 2E31
+A4FE A4FF
A60D
A60F
-A6F3 A6F7 # [5]
-A8CE A8CF # [2]
-A92E A92F # [2]
-A9C7 A9C9 # [3]
-AA5D AA5F # [3]
+A6F3 A6F7
+A8CE A8CF
+A92E A92F
+A9C7 A9C9
+AA5D AA5F
ABEB
-10100 10102 # [3]
+10100 10102
1039F
103D0
10857
1091F
-10A50 10A57 # [8]
-10B39 10B3F # [7]
-110BE 110C1 # [4]
-12470 12473 # [4]
+10A50 10A57
+10B39 10B3F
+11047 11048
+110BE 110C1
+12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
index 12741c01249..2392519eff6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
@@ -1,47 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 19 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Break_Before}
-# \p{Lb=BB}
-# \p{Is_Line_Break=Break_Before}
-# \p{Is_Lb=BB}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Break_Before}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00B4
02C8
02CC
02DF
-0F01 0F04 # [4]
-0F06 0F07 # [2]
-0F09 0F0A # [2]
-0FD0 0FD1 # [2]
+0F01 0F04
+0F06 0F07
+0F09 0F0A
+0FD0 0FD1
0FD3
1806
1FFD
-A874 A875 # [2]
+A874 A875
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
index 9120acc2db3..56386cbc978 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
@@ -1,37 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Line_Break=Mandatory_Break}
-# \p{Lb=BK}
-# \p{Is_Line_Break=Mandatory_Break}
-# \p{Is_Lb=BK}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Mandatory_Break}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-000B 000C # [2]
-2028 2029 # [2]
+000B 000C
+2028 2029
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
index a1ef1459194..12669b5c453 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=Contingent_Break}
-# \p{Lb=CB}
-# \p{Is_Line_Break=Contingent_Break}
-# \p{Is_Lb=CB}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Contingent_Break}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
FFFC
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
index d539e06784f..8da620644f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 87 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Close_Punctuation}
-# \p{Lb=CL}
-# \p{Is_Line_Break=Close_Punctuation}
-# \p{Is_Lb=CL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Close_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
007D
@@ -71,7 +48,7 @@ return <<'END';
2E25
2E27
2E29
-3001 3002 # [2]
+3001 3002
3009
300B
300D
@@ -81,9 +58,9 @@ return <<'END';
3017
3019
301B
-301E 301F # [2]
+301E 301F
FD3F
-FE11 FE12 # [2]
+FE11 FE12
FE18
FE36
FE38
@@ -104,11 +81,11 @@ FF0C
FF0E
FF3D
FF5D
-FF60 FF61 # [2]
-FF63 FF64 # [2]
-1325B 1325D # [3]
+FF60 FF61
+FF63 FF64
+1325B 1325D
13282
13287
13289
-1337A 1337B # [2]
+1337A 1337B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
index 1d0c048d5b0..24eebfc64bd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
@@ -1,207 +1,189 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1436 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Combining_Mark}
-# \p{Lb=CM}
-# \p{Is_Line_Break=Combining_Mark}
-# \p{Is_Lb=CM}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Combining_Mark}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0008 # [9]
-000E 001F # [18]
-007F 0084 # [6]
-0086 009F # [26]
-0300 034E # [79]
-0350 035B # [12]
-0363 036F # [13]
-0483 0489 # [7]
-0591 05BD # [45]
+0000 0008
+000E 001F
+007F 0084
+0086 009F
+0300 034E
+0350 035B
+0363 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0903 # [4]
-093C
-093E 094E # [17]
-0951 0955 # [5]
-0962 0963 # [2]
-0981 0983 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0903
+093A 093C
+093E 094F
+0951 0957
+0962 0963
+0981 0983
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09E2 09E3 # [2]
-0A01 0A03 # [3]
+09E2 09E3
+0A01 0A03
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A83 # [3]
+0A81 0A83
0ABC
-0ABE 0AC5 # [8]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
-0AE2 0AE3 # [2]
-0B01 0B03 # [3]
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AE2 0AE3
+0B01 0B03
0B3C
-0B3E 0B44 # [7]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B62 0B63 # [2]
+0B3E 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B62 0B63
0B82
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0C01 0C03 # [3]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
-0C82 0C83 # [2]
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
+0C82 0C83
0CBC
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
-0D02 0D03 # [2]
-0D3E 0D44 # [7]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CE2 0CE3
+0D02 0D03
+0D3E 0D44
+0D46 0D48
+0D4A 0D4D
0D57
-0D62 0D63 # [2]
-0D82 0D83 # [2]
+0D62 0D63
+0D82 0D83
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0F18 0F19 # [2]
+0DD8 0DDF
+0DF2 0DF3
+0F18 0F19
0F35
0F37
0F39
-0F3E 0F3F # [2]
-0F71 0F7E # [14]
-0F80 0F84 # [5]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F3F
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-180B 180D # [3]
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+180B 180D
18A9
-1920 192B # [12]
-1930 193B # [12]
-1A17 1A1B # [5]
+1920 192B
+1930 193B
+1A17 1A1B
1A7F
-1B00 1B04 # [5]
-1B34 1B44 # [17]
-1B6B 1B73 # [9]
-1B80 1B82 # [3]
-1BA1 1BAA # [10]
-1C24 1C37 # [20]
-1CD0 1CD2 # [3]
-1CD4 1CE8 # [21]
+1B00 1B04
+1B34 1B44
+1B6B 1B73
+1B80 1B82
+1BA1 1BAA
+1BE6 1BF3
+1C24 1C37
+1CD0 1CD2
+1CD4 1CE8
1CED
1CF2
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-200C 200F # [4]
-202A 202E # [5]
-206A 206F # [6]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+1DC0 1DE6
+1DFC 1DFF
+200C 200F
+202A 202E
+206A 206F
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A823 A827 # [5]
-A880 A881 # [2]
-A8B4 A8C4 # [17]
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A953 # [13]
-A980 A983 # [4]
-A9B3 A9C0 # [14]
-AA29 AA36 # [14]
+A823 A827
+A880 A881
+A8B4 A8C4
+A8E0 A8F1
+A926 A92D
+A947 A953
+A980 A983
+A9B3 A9C0
+AA29 AA36
AA43
-AA4C AA4D # [2]
-ABE3 ABEA # [8]
-ABEC ABED # [2]
+AA4C AA4D
+ABE3 ABEA
+ABEC ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FFF9 FFFB # [3]
+FE00 FE0F
+FE20 FE26
+FFF9 FFFB
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11082 # [3]
-110B0 110BA # [11]
-1D165 1D169 # [5]
-1D16D 1D182 # [22]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
+11000 11002
+11038 11046
+11080 11082
+110B0 110BA
+1D165 1D169
+1D16D 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
+E0020 E007F
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
index 879221130ed..4a3a9c754e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Line_Break=Close_Parenthesis}
-# \p{Lb=CP}
-# \p{Is_Line_Break=Close_Parenthesis}
-# \p{Is_Lb=CP}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Close_Parenthesis}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0029
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
index 7fad74ea793..4ce6be4395b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
@@ -1,57 +1,34 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 34 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Exclamation}
-# \p{Lb=EX}
-# \p{Is_Line_Break=Exclamation}
-# \p{Is_Lb=EX}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Exclamation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0021
003F
05C6
061B
-061E 061F # [2]
+061E 061F
06D4
07F9
-0F0D 0F11 # [5]
+0F0D 0F11
0F14
-1802 1803 # [2]
-1808 1809 # [2]
-1944 1945 # [2]
-2762 2763 # [2]
+1802 1803
+1808 1809
+1944 1945
+2762 2763
2CF9
2CFE
2E2E
A60E
-A876 A877 # [2]
-FE15 FE16 # [2]
-FE56 FE57 # [2]
+A876 A877
+FE15 FE16
+FE56 FE57
FF01
FF1F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
index dfc6d870da8..a4d02defddc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
@@ -1,43 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Glue}
-# \p{Lb=GL}
-# \p{Is_Line_Break=Glue}
-# \p{Is_Lb=GL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Glue}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A0
034F
-035C 0362 # [7]
+035C 0362
0F08
0F0C
0F12
+0FD9 0FDA
180E
2007
2011
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
index 21b145bc699..b98662e82f3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=Hyphen}
-# \p{Lb=HY}
-# \p{Is_Line_Break=Hyphen}
-# \p{Is_Lb=HY}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Hyphen}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
index 1bb47cea588..f6e07d2b2c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
@@ -1,106 +1,85 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 161_775 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Line_Break=Ideographic}
-# \p{Lb=ID}
-# \p{Is_Line_Break=Ideographic}
-# \p{Is_Lb=ID}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Ideographic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
3000
-3003 3004 # [2]
-3006 3007 # [2]
-3012 3013 # [2]
-3020 3029 # [10]
-3030 303A # [11]
-303D 303F # [3]
+3003 3004
+3006 3007
+3012 3013
+3020 3029
+3030 303A
+303D 303F
3042
3044
3046
3048
-304A 3062 # [25]
-3064 3082 # [31]
+304A 3062
+3064 3082
3084
3086
-3088 308D # [6]
-308F 3094 # [6]
+3088 308D
+308F 3094
309F
30A2
30A4
30A6
30A8
-30AA 30C2 # [25]
-30C4 30E2 # [31]
+30AA 30C2
+30C4 30E2
30E4
30E6
-30E8 30ED # [6]
-30EF 30F4 # [6]
-30F7 30FA # [4]
+30E8 30ED
+30EF 30F4
+30F7 30FA
30FF
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-3200 321E # [31]
-3220 3247 # [40]
-3250 32FE # [175]
-3300 4DBF # [6848]
-4E00 A014 # [21_013]
-A016 A48C # [1143]
-A490 A4C6 # [55]
-F900 FAFF # [512]
-FE30 FE34 # [5]
-FE45 FE46 # [2]
-FE49 FE4F # [7]
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+3200 321E
+3220 3247
+3250 32FE
+3300 4DBF
+4E00 A014
+A016 A48C
+A490 A4C6
+F900 FAFF
+FE30 FE34
+FE45 FE46
+FE49 FE4F
FE51
FE58
-FE5F FE66 # [8]
+FE5F FE66
FE68
FE6B
-FF02 FF03 # [2]
-FF06 FF07 # [2]
-FF0A FF0B # [2]
+FF02 FF03
+FF06 FF07
+FF0A FF0B
FF0D
-FF0F FF19 # [11]
-FF1C FF1E # [3]
-FF20 FF3A # [27]
+FF0F FF19
+FF1C FF1E
+FF20 FF3A
FF3C
-FF3E FF5A # [29]
+FF3E FF5A
FF5C
FF5E
-FFE2 FFE4 # [3]
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-20000 2FFFD # [65_534]
-30000 3FFFD # [65_534]
+FFE2 FFE4
+1B000 1B001
+1F200 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+20000 2FFFD
+30000 3FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
index 3a82f6b5478..02211ba1bcb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
@@ -1,37 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Line_Break=Inseparable}
-# \p{Lb=IN}
-# \p{Is_Line_Break=Inseperable}
-# \p{Is_Lb=Inseparable}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Inseparable}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2024 2026 # [3]
+2024 2026
FE19
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
index 3666ba440c1..4e7f62c8bfc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
@@ -1,45 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 13 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Infix_Numeric}
-# \p{Lb=IS}
-# \p{Is_Line_Break=Infix_Numeric}
-# \p{Is_Lb=IS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Infix_Numeric}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002C
002E
-003A 003B # [2]
+003A 003B
037E
0589
-060C 060D # [2]
+060C 060D
07F8
2044
FE10
-FE13 FE14 # [2]
+FE13 FE14
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
index 1515bfc6099..ad23603d998 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=Next_Line}
-# \p{Lb=NL}
-# \p{Is_Line_Break=Next_Line}
-# \p{Is_Lb=NL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Next_Line}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0085
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
index 4e858a2eef0..79f3b798b57 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
@@ -1,43 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 77 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Nonstarter}
-# \p{Lb=NS}
-# \p{Is_Line_Break=Nonstarter}
-# \p{Is_Lb=NS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Nonstarter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
17D6
-203C 203D # [2]
-2047 2049 # [3]
+203C 203D
+2047 2049
3005
301C
-303B 303C # [2]
+303B 303C
3041
3043
3045
@@ -48,9 +25,9 @@ return <<'END';
3085
3087
308E
-3095 3096 # [2]
-309B 309E # [4]
-30A0 30A1 # [2]
+3095 3096
+309B 309E
+30A0 30A1
30A3
30A5
30A7
@@ -60,13 +37,13 @@ return <<'END';
30E5
30E7
30EE
-30F5 30F6 # [2]
-30FB 30FE # [4]
-31F0 31FF # [16]
+30F5 30F6
+30FB 30FE
+31F0 31FF
A015
-FE54 FE55 # [2]
-FF1A FF1B # [2]
+FE54 FE55
+FF1A FF1B
FF65
-FF67 FF70 # [10]
-FF9E FF9F # [2]
+FF67 FF70
+FF9E FF9F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl
index 52449a5e9cc..caed4c171e7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl
@@ -1,85 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 403 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Numeric}
-# \p{Lb=NU}
-# \p{Is_Line_Break=Numeric}
-# \p{Is_Lb=NU}
-#
-# \p{Sentence_Break=Numeric}
-# \p{SB=NU}
-# \p{Is_Sentence_Break=Numeric}
-# \p{Is_SB=NU}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_SB: Numeric}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0660 0669 # [10]
-066B 066C # [2]
-06F0 06F9 # [10]
-07C0 07C9 # [10]
-0966 096F # [10]
-09E6 09EF # [10]
-0A66 0A6F # [10]
-0AE6 0AEF # [10]
-0B66 0B6F # [10]
-0BE6 0BEF # [10]
-0C66 0C6F # [10]
-0CE6 0CEF # [10]
-0D66 0D6F # [10]
-0E50 0E59 # [10]
-0ED0 0ED9 # [10]
-0F20 0F29 # [10]
-1040 1049 # [10]
-1090 1099 # [10]
-17E0 17E9 # [10]
-1810 1819 # [10]
-1946 194F # [10]
-19D0 19DA # [11]
-1A80 1A89 # [10]
-1A90 1A99 # [10]
-1B50 1B59 # [10]
-1BB0 1BB9 # [10]
-1C40 1C49 # [10]
-1C50 1C59 # [10]
-A620 A629 # [10]
-A8D0 A8D9 # [10]
-A900 A909 # [10]
-A9D0 A9D9 # [10]
-AA50 AA59 # [10]
-ABF0 ABF9 # [10]
-104A0 104A9 # [10]
-1D7CE 1D7FF # [50]
+0030 0039
+0660 0669
+066B 066C
+06F0 06F9
+07C0 07C9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE6 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+1090 1099
+17E0 17E9
+1810 1819
+1946 194F
+19D0 19D9
+1A80 1A89
+1A90 1A99
+1B50 1B59
+1BB0 1BB9
+1C40 1C49
+1C50 1C59
+A620 A629
+A8D0 A8D9
+A900 A909
+A9D0 A9D9
+AA50 AA59
+ABF0 ABF9
+104A0 104A9
+11066 1106F
+1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
index 07f8000e256..a288991307b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 81 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Open_Punctuation}
-# \p{Lb=OP}
-# \p{Is_Line_Break=Open_Punctuation}
-# \p{Is_Lb=OP}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Open_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0028
@@ -107,7 +84,7 @@ FF3B
FF5B
FF5F
FF62
-13258 1325A # [3]
+13258 1325A
13286
13288
13379
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
index be022b844b5..c941467e55a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
@@ -1,46 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 28 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Postfix_Numeric}
-# \p{Lb=PO}
-# \p{Is_Line_Break=Postfix_Numeric}
-# \p{Is_Lb=PO}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Postfix_Numeric}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0025
00A2
00B0
-0609 060B # [3]
+0609 060B
066A
-09F2 09F3 # [2]
+09F2 09F3
09F9
0D79
-2030 2037 # [8]
+2030 2037
20A7
20B6
2103
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
index 6ef32a32247..477a0934754 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
@@ -1,54 +1,31 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 43 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Prefix_Numeric}
-# \p{Lb=PR}
-# \p{Is_Line_Break=Prefix_Numeric}
-# \p{Is_Lb=PR}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Prefix_Numeric}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0024
002B
005C
-00A3 00A5 # [3]
+00A3 00A5
00B1
09FB
0AF1
0BF9
0E3F
17DB
-20A0 20A6 # [7]
-20A8 20B5 # [14]
-20B7 20B8 # [2]
+20A0 20A6
+20A8 20B5
+20B7 20B9
2116
-2212 2213 # [2]
+2212 2213
FE69
FF04
FFE1
-FFE5 FFE6 # [2]
+FFE5 FFE6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
index 54e5f2bb68b..82e3528f5c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
@@ -1,47 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 34 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Quotation}
-# \p{Lb=QU}
-# \p{Is_Line_Break=Quotation}
-# \p{Is_Lb=QU}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Quotation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0022
0027
00AB
00BB
-2018 2019 # [2]
-201B 201D # [3]
+2018 2019
+201B 201D
201F
-2039 203A # [2]
-275B 275E # [4]
-2E00 2E0D # [14]
-2E1C 2E1D # [2]
-2E20 2E21 # [2]
+2039 203A
+275B 275E
+2E00 2E0D
+2E1C 2E1D
+2E20 2E21
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
index dbf6db1c1d3..04ae5b02237 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
@@ -1,71 +1,49 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 662 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Line_Break=Complex_Context}
-# \p{Lb=SA}
-# \p{Is_Line_Break=Complex_Context}
-# \p{Is_Lb=SA}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Complex_Context}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E01 0E3A # [58]
-0E40 0E4E # [15]
-0E81 0E82 # [2]
+0E01 0E3A
+0E40 0E4E
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0EDC 0EDD # [2]
-1000 103F # [64]
-1050 108F # [64]
-109A 109F # [6]
-1780 17D3 # [84]
+0EC8 0ECD
+0EDC 0EDD
+1000 103F
+1050 108F
+109A 109F
+1780 17D3
17D7
-17DC 17DD # [2]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19DE 19DF # [2]
-1A20 1A5E # [63]
-1A60 1A7C # [29]
-1AA0 1AAD # [14]
-AA60 AA7B # [28]
-AA80 AAC2 # [67]
-AADB AADF # [5]
+17DC 17DD
+1950 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19DA
+19DE 19DF
+1A20 1A5E
+1A60 1A7C
+1AA0 1AAD
+AA60 AA7B
+AA80 AAC2
+AADB AADF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
index 9b85ecf731a..45e26495da2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
@@ -1,38 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 2048 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Line_Break=Surrogate}
-# D \p{Lb=SG}
-# D \p{Is_Line_Break=Surrogate}
-# D \p{Is_Lb=SG}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Surrogate}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-D800 DFFF # [2048]
+D800 DFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
index e35a24cc63c..a6db1353d86 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=Space}
-# \p{Lb=SP}
-# \p{Is_Line_Break=Space}
-# \p{Is_Lb=SP}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Space}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0020
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
index 7629a0a5b70..33c530c1614 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=Break_Symbols}
-# \p{Lb=SY}
-# \p{Is_Line_Break=Break_Symbols}
-# \p{Is_Lb=SY}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Break_Symbols}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
index b21bc4a0f6f..7a2b86f6b8c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Line_Break=Word_Joiner}
-# \p{Lb=WJ}
-# \p{Is_Line_Break=Word_Joiner}
-# \p{Is_Lb=WJ}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Word_Joiner}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2060
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
index fcab14a95eb..10914215ffc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
@@ -1,330 +1,290 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 920_933 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Line_Break=Unknown}
-# \p{Lb=XX}
-# \p{Is_Line_Break=Unknown}
-# \p{Is_Lb=XX}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: Unknown}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0378 0379 # [2]
-037F 0383 # [5]
+0378 0379
+037F 0383
038B
038D
03A2
-0526 0530 # [11]
-0557 0558 # [2]
+0528 0530
+0557 0558
0560
0588
-058B 0590 # [6]
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F5 05FF # [11]
-0604 0605 # [2]
-061C 061D # [2]
-0620
-065F
+058B 0590
+05C8 05CF
+05EB 05EF
+05F5 05FF
+0604 0605
+061C 061D
070E
-074B 074C # [2]
-07B2 07BF # [14]
-07FB 07FF # [5]
-082E 082F # [2]
-083F 08FF # [193]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0973 0978 # [6]
+074B 074C
+07B2 07BF
+07FB 07FF
+082E 082F
+083F
+085C 085D
+085F 08FF
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09FC 0A00 # [5]
+09E4 09E5
+09FC 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
0AF0
-0AF2 0B00 # [15]
+0AF2 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
-0B72 0B81 # [16]
+0B64 0B65
+0B78 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BFB 0C00 # [6]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BFB 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C77 # [8]
-0C80 0C81 # [2]
+0C5A 0C5F
+0C64 0C65
+0C70 0C77
+0C80 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
+0CE4 0CE5
0CF0
-0CF3 0D01 # [15]
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D76 0D78 # [3]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D76 0D78
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF5 0E00 # [12]
-0E3B 0E3E # [4]
-0E5C 0E80 # [37]
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
0F48
-0F6D 0F70 # [4]
-0F8C 0F8F # [4]
+0F6D 0F70
0F98
0FBD
0FCD
-0FD9 0FFF # [39]
-10C6 10CF # [10]
-10FD 10FF # [3]
+0FDB 0FFF
+10C6 10CF
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-137D 137F # [3]
-139A 139F # [6]
-13F5 13FF # [11]
-169D 169F # [3]
-16F1 16FF # [15]
+1316 1317
+135B 135C
+137D 137F
+139A 139F
+13F5 13FF
+169D 169F
+16F1 16FF
170D
-1715 171F # [11]
-1737 173F # [9]
-1754 175F # [12]
+1715 171F
+1737 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17DE 17DF # [2]
-17EA 17EF # [6]
-17FA 17FF # [6]
+1774 177F
+17DE 17DF
+17EA 17EF
+17FA 17FF
180F
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 193F # [4]
-1941 1943 # [3]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19DD # [3]
-1A1C 1A1D # [2]
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19DD
+1A1C 1A1D
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1A9F # [6]
-1AAE 1AFF # [82]
-1B4C 1B4F # [4]
-1B7D 1B7F # [3]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3A # [3]
-1C4A 1C4C # [3]
-1C80 1CCF # [80]
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1A9F
+1AAE 1AFF
+1B4C 1B4F
+1B7D 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFB
+1C38 1C3A
+1C4A 1C4C
+1C80 1CCF
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-2065 2069 # [5]
-2072 2073 # [2]
+2065 2069
+2072 2073
208F
-2095 209F # [11]
-20B9 20CF # [23]
-20F1 20FF # [15]
-218A 218F # [6]
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-26CE
-26E2
-26E4 26E7 # [4]
+209D 209F
+20BA 20CF
+20F1 20FF
+218A 218F
+23F4 23FF
+2427 243F
+244B 245F
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2B4D 2B4F # [3]
-2B5A 2BFF # [166]
+27CD
+2B4D 2B4F
+2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8 # [7]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CF2 2CF8
+2D26 2D2F
+2D66 2D6E
+2D71 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -333,181 +293,213 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F # [78]
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
3040
-3097 3098 # [2]
-3100 3104 # [5]
-312E 3130 # [3]
+3097 3098
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-A48D A48F # [3]
-A4C7 A4CF # [9]
-A62C A63F # [20]
-A660 A661 # [2]
-A674 A67B # [8]
-A698 A69F # [8]
-A6F8 A6FF # [8]
-A78D A7FA # [110]
-A82C A82F # [4]
-A83A A83F # [6]
-A878 A87F # [8]
-A8C5 A8CD # [9]
-A8DA A8DF # [6]
-A8FC A8FF # [4]
-A954 A95E # [11]
-A97D A97F # [3]
+A48D A48F
+A4C7 A4CF
+A62C A63F
+A674 A67B
+A698 A69F
+A6F8 A6FF
+A78F
+A792 A79F
+A7AA A7F9
+A82C A82F
+A83A A83F
+A878 A87F
+A8C5 A8CD
+A8DA A8DF
+A8FC A8FF
+A954 A95E
+A97D A97F
A9CE
-A9DA A9DD # [4]
-A9E0 A9FF # [32]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5B # [2]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AAE0 ABBF # [224]
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC D7FF # [4]
-E000 F8FF # [6400]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+A9DA A9DD
+A9E0 A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5B
+AA7C AA7F
+AAC3 AADA
+AAE0 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC D7FF
+E000 F8FF
+FB07 FB12
+FB18 FB1C
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFE FDFF # [2]
-FE1A FE1F # [6]
-FE27 FE2F # [9]
+FBC2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FDFF
+FE1A FE1F
+FE27 FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE75
-FEFD FEFE # [2]
+FEFD FEFE
FF00
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFF8 # [10]
-FFFE FFFF # [2]
+FFEF FFF8
+FFFE FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 100FF # [5]
-10103 10106 # [4]
-10134 10136 # [3]
-1018B 1018F # [5]
-1019C 101CF # [52]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+1018B 1018F
+1019C 101CF
+101FE 1027F
+1029D 1029F
+102D1 102FF
1031F
-10324 1032F # [12]
-1034B 1037F # [53]
+10324 1032F
+1034B 1037F
1039E
-103C4 103C7 # [4]
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103C4 103C7
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
+10839 1083B
+1083D 1083E
10856
-10860 108FF # [160]
-1091C 1091E # [3]
-1093A 1093E # [5]
-10940 109FF # [192]
+10860 108FF
+1091C 1091E
+1093A 1093E
+10940 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A48 10A4F # [8]
-10A59 10A5F # [7]
-10A80 10AFF # [128]
-10B36 10B38 # [3]
-10B56 10B57 # [2]
-10B73 10B77 # [5]
-10B80 10BFF # [128]
-10C49 10E5F # [535]
-10E7F 1107F # [513]
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 1246F # [13]
-12474 12FFF # [2956]
-1342F 1CFFF # [39_889]
-1D0F6 1D0FF # [10]
-1D127 1D128 # [2]
-1D1DE 1D1FF # [34]
-1D246 1D2FF # [186]
-1D357 1D35F # [9]
-1D372 1D3FF # [142]
+10A34 10A37
+10A3B 10A3E
+10A48 10A4F
+10A59 10A5F
+10A80 10AFF
+10B36 10B38
+10B56 10B57
+10B73 10B77
+10B80 10BFF
+10C49 10E5F
+10E7F 10FFF
+1104E 11051
+11070 1107F
+110C2 11FFF
+1236F 123FF
+12463 1246F
+12474 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1CFFF
+1D0F6 1D0FF
+1D127 1D128
+1D1DE 1D1FF
+1D246 1D2FF
+1D357 1D35F
+1D372 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1EFFF # [6144]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFF # [3511]
-2FFFE 2FFFF # [2]
-3FFFE E0000 # [655_363]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1EFFF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F10F
+1F12F
+1F16A 1F16F
+1F19B 1F1E5
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F4F8
+1F4FD 1F4FF
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFF
+2FFFE 2FFFF
+3FFFE E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
index 28a251cecc1..4c749f7106b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Line_Break=ZWSpace}
-# \p{Lb=ZW}
-# \p{Is_Line_Break=ZWSpace}
-# \p{Is_Lb=ZW}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lb: ZWSpace}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
200B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl
index 950f76bed36..7b71ff9bc68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl
@@ -1,47 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_204 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Lowercase=No}
-# \p{Lower=N}
-# \p{Is_Lowercase=F}
-# \p{Is_Lower=False}
-#
-# \P{Lower}
-# \P{Is_Lower}
-# \P{Lowercase}
-# \P{Is_Lowercase}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lower: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0060 # [97]
-007B 00A9 # [47]
-00AB 00B4 # [10]
-00B6 00B9 # [4]
-00BB 00DE # [36]
+0000 0060
+007B 00A9
+00AB 00B4
+00B6 00B9
+00BB 00DE
00F7
0100
0102
@@ -102,31 +74,31 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
-01BB 01BC # [2]
-01C0 01C5 # [6]
-01C7 01C8 # [2]
-01CA 01CB # [2]
+01B7 01B8
+01BB 01BC
+01C0 01C5
+01C7 01C8
+01CA 01CB
01CD
01CF
01D1
@@ -144,9 +116,9 @@ return <<'END';
01EA
01EC
01EE
-01F1 01F2 # [2]
+01F1 01F2
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -176,26 +148,26 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
024E
0294
-02B9 02BF # [7]
-02C2 02DF # [30]
-02E5 0344 # [96]
-0346 0370 # [43]
+02B9 02BF
+02C2 02DF
+02E5 0344
+0346 0370
0372
-0374 0376 # [3]
-0378 0379 # [2]
-037E 038F # [18]
-0391 03AB # [27]
+0374 0376
+0378 0379
+037E 038F
+0391 03AB
03CF
-03D2 03D4 # [3]
+03D2 03D4
03D8
03DA
03DC
@@ -209,9 +181,9 @@ return <<'END';
03EC
03EE
03F4
-03F6 03F7 # [2]
-03F9 03FA # [2]
-03FD 042F # [51]
+03F6 03F7
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -229,7 +201,7 @@ return <<'END';
047C
047E
0480
-0482 048A # [9]
+0482 048A
048C
048E
0490
@@ -256,7 +228,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -306,9 +278,10 @@ return <<'END';
0520
0522
0524
-0526 0560 # [59]
-0588 1CFF # [6008]
-1DC0 1E00 # [65]
+0526
+0528 0560
+0588 1CFF
+1DC0 1E00
1E02
1E04
1E06
@@ -432,49 +405,49 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F16 1F1F # [10]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F46 1F4F # [10]
-1F58 1F5F # [8]
-1F68 1F6F # [8]
-1F7E 1F7F # [2]
-1F88 1F8F # [8]
-1F98 1F9F # [8]
-1FA8 1FAF # [8]
+1F08 1F0F
+1F16 1F1F
+1F28 1F2F
+1F38 1F3F
+1F46 1F4F
+1F58 1F5F
+1F68 1F6F
+1F7E 1F7F
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
1FB5
-1FB8 1FBD # [6]
-1FBF 1FC1 # [3]
+1FB8 1FBD
+1FBF 1FC1
1FC5
-1FC8 1FCF # [8]
-1FD4 1FD5 # [2]
-1FD8 1FDF # [8]
-1FE8 1FF1 # [10]
+1FC8 1FCF
+1FD4 1FD5
+1FD8 1FDF
+1FE8 1FF1
1FF5
-1FF8 208F # [152]
-2095 2109 # [117]
-210B 210D # [3]
-2110 2112 # [3]
-2114 212E # [27]
-2130 2133 # [4]
-2135 2138 # [4]
-213A 213B # [2]
-213E 2145 # [8]
-214A 214D # [4]
-214F 216F # [33]
-2180 2183 # [4]
-2185 24CF # [843]
-24EA 2C2F # [1862]
-2C5F 2C60 # [2]
-2C62 2C64 # [3]
+1FF8 208F
+2095 2109
+210B 210D
+2110 2112
+2114 212E
+2130 2133
+2135 2138
+213A 213B
+213E 2145
+214A 214D
+214F 216F
+2180 2183
+2185 24CF
+24EA 2C2F
+2C5F 2C60
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7E 2C80 # [3]
+2C7E 2C80
2C82
2C84
2C86
@@ -524,10 +497,10 @@ return <<'END';
2CDE
2CE0
2CE2
-2CE5 2CEB # [7]
+2CE5 2CEB
2CED
-2CEF 2CFF # [17]
-2D26 A640 # [31_003]
+2CEF 2CFF
+2D26 A640
A642
A644
A646
@@ -543,13 +516,14 @@ A658
A65A
A65C
A65E
-A660 A662 # [3]
+A660
+A662
A664
A666
A668
A66A
A66C
-A66E A680 # [19]
+A66E A680
A682
A684
A686
@@ -561,7 +535,7 @@ A690
A692
A694
A696
-A698 A722 # [139]
+A698 A722
A724
A726
A728
@@ -601,43 +575,51 @@ A76C
A76E
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
-A788 A78B # [4]
-A78D FAFF # [21_363]
-FB07 FB12 # [12]
-FB18 FF40 # [1065]
-FF5B 10427 # [1229]
-10450 1D419 # [53_194]
-1D434 1D44D # [26]
+A788 A78B
+A78D
+A78F A790
+A792 A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+A7AA A7F9
+A7FB FAFF
+FB07 FB12
+FB18 FF40
+FF5B 10427
+10450 1D419
+1D434 1D44D
1D455
-1D468 1D481 # [26]
-1D49C 1D4B5 # [26]
+1D468 1D481
+1D49C 1D4B5
1D4BA
1D4BC
1D4C4
-1D4D0 1D4E9 # [26]
-1D504 1D51D # [26]
-1D538 1D551 # [26]
-1D56C 1D585 # [26]
-1D5A0 1D5B9 # [26]
-1D5D4 1D5ED # [26]
-1D608 1D621 # [26]
-1D63C 1D655 # [26]
-1D670 1D689 # [26]
-1D6A6 1D6C1 # [28]
+1D4D0 1D4E9
+1D504 1D51D
+1D538 1D551
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A6 1D6C1
1D6DB
-1D6E2 1D6FB # [26]
+1D6E2 1D6FB
1D715
-1D71C 1D735 # [26]
+1D71C 1D735
1D74F
-1D756 1D76F # [26]
+1D756 1D76F
1D789
-1D790 1D7A9 # [26]
+1D790 1D7A9
1D7C3
1D7CA
-1D7CC 10FFFF # [993_332]
+1D7CC 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
index 567223b8b00..b9348da56ab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
@@ -1,48 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1908 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Lowercase=Yes}
-# \p{Lower=Y}
-# \p{Is_Lowercase=T}
-# \p{Is_Lower=True}
-#
-# \p{Lower}
-# \p{Is_Lower}
-# \p{Lowercase}
-# \p{Is_Lowercase}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Lower: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0061 007A # [26]
+0061 007A
00AA
00B5
00BA
-00DF 00F6 # [24]
-00F8 00FF # [8]
+00DF 00F6
+00F8 00FF
0101
0103
0105
@@ -70,7 +42,7 @@ return <<'END';
0131
0133
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -78,7 +50,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -104,26 +76,26 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BA # [2]
-01BD 01BF # [3]
+01B9 01BA
+01BD 01BF
01C6
01C9
01CC
@@ -134,7 +106,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -143,7 +115,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
+01EF 01F0
01F3
01F5
01F9
@@ -175,27 +147,27 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 0293 # [69]
-0295 02B8 # [36]
-02C0 02C1 # [2]
-02E0 02E4 # [5]
+024F 0293
+0295 02B8
+02C0 02C1
+02E0 02E4
0345
0371
0373
0377
-037A 037D # [4]
+037A 037D
0390
-03AC 03CE # [35]
-03D0 03D1 # [2]
-03D5 03D7 # [3]
+03AC 03CE
+03D0 03D1
+03D5 03D7
03D9
03DB
03DD
@@ -207,11 +179,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F3 # [5]
+03EF 03F3
03F5
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -262,7 +234,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -306,8 +278,9 @@ return <<'END';
0521
0523
0525
-0561 0587 # [39]
-1D00 1DBF # [192]
+0527
+0561 0587
+1D00 1DBF
1E01
1E03
1E05
@@ -382,7 +355,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9D # [9]
+1E95 1E9D
1E9F
1EA1
1EA3
@@ -431,49 +404,49 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F15 # [6]
-1F20 1F27 # [8]
-1F30 1F37 # [8]
-1F40 1F45 # [6]
-1F50 1F57 # [8]
-1F60 1F67 # [8]
-1F70 1F7D # [14]
-1F80 1F87 # [8]
-1F90 1F97 # [8]
-1FA0 1FA7 # [8]
-1FB0 1FB4 # [5]
-1FB6 1FB7 # [2]
+1EFF 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FC7 # [2]
-1FD0 1FD3 # [4]
-1FD6 1FD7 # [2]
-1FE0 1FE7 # [8]
-1FF2 1FF4 # [3]
-1FF6 1FF7 # [2]
-2090 2094 # [5]
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
+2090 2094
210A
-210E 210F # [2]
+210E 210F
2113
212F
2134
2139
-213C 213D # [2]
-2146 2149 # [4]
+213C 213D
+2146 2149
214E
-2170 217F # [16]
+2170 217F
2184
-24D0 24E9 # [26]
-2C30 2C5E # [47]
+24D0 24E9
+2C30 2C5E
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7D # [8]
+2C73 2C74
+2C76 2C7D
2C81
2C83
2C85
@@ -523,10 +496,10 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CE4 # [2]
+2CE3 2CE4
2CEC
2CEE
-2D00 2D25 # [38]
+2D00 2D25
A641
A643
A645
@@ -543,6 +516,7 @@ A659
A65B
A65D
A65F
+A661
A663
A665
A667
@@ -567,7 +541,7 @@ A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -598,7 +572,7 @@ A767
A769
A76B
A76D
-A76F A778 # [10]
+A76F A778
A77A
A77C
A77F
@@ -607,36 +581,44 @@ A783
A785
A787
A78C
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF41 FF5A # [26]
-10428 1044F # [40]
-1D41A 1D433 # [26]
-1D44E 1D454 # [7]
-1D456 1D467 # [18]
-1D482 1D49B # [26]
-1D4B6 1D4B9 # [4]
+A78E
+A791
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9
+A7FA
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
+1D41A 1D433
+1D44E 1D454
+1D456 1D467
+1D482 1D49B
+1D4B6 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D4CF # [11]
-1D4EA 1D503 # [26]
-1D51E 1D537 # [26]
-1D552 1D56B # [26]
-1D586 1D59F # [26]
-1D5BA 1D5D3 # [26]
-1D5EE 1D607 # [26]
-1D622 1D63B # [26]
-1D656 1D66F # [26]
-1D68A 1D6A5 # [28]
-1D6C2 1D6DA # [25]
-1D6DC 1D6E1 # [6]
-1D6FC 1D714 # [25]
-1D716 1D71B # [6]
-1D736 1D74E # [25]
-1D750 1D755 # [6]
-1D770 1D788 # [25]
-1D78A 1D78F # [6]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7C9 # [6]
+1D4BD 1D4C3
+1D4C5 1D4CF
+1D4EA 1D503
+1D51E 1D537
+1D552 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A5
+1D6C2 1D6DA
+1D6DC 1D6E1
+1D6FC 1D714
+1D716 1D71B
+1D736 1D74E
+1D750 1D755
+1D770 1D788
+1D78A 1D78F
+1D7AA 1D7C2
+1D7C4 1D7C9
1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl
index 81c084631ec..cb5886f431e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl
@@ -1,144 +1,119 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_111_951 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Math=No}
-# \p{Is_Math=N}
-# \p{Math=F}
-# \p{Is_Math=False}
-#
-# \P{Math}
-# \P{Is_Math}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Math: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002A # [43]
-002C 003B # [16]
-003F 005D # [31]
-005F 007B # [29]
+0000 002A
+002C 003B
+003F 005D
+005F 007B
007D
-007F 00AB # [45]
-00AD 00B0 # [4]
-00B2 00D6 # [37]
-00D8 00F6 # [31]
-00F8 03CF # [728]
-03D3 03D4 # [2]
-03D6 03EF # [26]
-03F2 03F3 # [2]
-03F7 0605 # [527]
-0609 2015 # [6669]
-2017 2031 # [27]
-2035 203F # [11]
-2041 2043 # [3]
-2045 2051 # [13]
-2053 2060 # [14]
-2065 2079 # [21]
-207F 2089 # [11]
-208F 20CF # [65]
-20DD 20E0 # [4]
-20E2 20E4 # [3]
-20E7 20EA # [4]
-20F0 2101 # [18]
-2103 2109 # [7]
+007F 00AB
+00AD 00B0
+00B2 00D6
+00D8 00F6
+00F8 03CF
+03D3 03D4
+03D6 03EF
+03F2 03F3
+03F7 0605
+0609 2015
+2017 2031
+2035 203F
+2041 2043
+2045 2051
+2053 2060
+2065 2079
+207F 2089
+208F 20CF
+20DD 20E0
+20E2 20E4
+20E7 20EA
+20F0 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
-2125 2127 # [3]
-212A 212B # [2]
+2116 2117
+211E 2123
+2125 2127
+212A 212B
212E
2132
-2139 213B # [3]
+2139 213B
214A
-214C 218F # [68]
+214C 218F
21A8
21AF
-21B2 21B5 # [4]
-21B8 21BB # [4]
+21B2 21B5
+21B8 21BB
21DC
-21DE 21E3 # [6]
-21E6 21F3 # [14]
-2300 2307 # [8]
-230C 231F # [20]
-2322 237B # [90]
-237D 239A # [30]
+21DE 21E3
+21E6 21F3
+2300 2307
+230C 231F
+2322 237B
+237D 239A
23B6
-23B8 23CF # [24]
-23D1 23DB # [11]
-23E3 259F # [445]
-25A2 25AD # [12]
-25B8 25BB # [4]
-25C2 25C5 # [4]
-25C8 25C9 # [2]
-25CC 25CE # [3]
-25D4 25E1 # [14]
+23B8 23CF
+23D1 23DB
+23E3 259F
+25A2 25AD
+25B8 25BB
+25C2 25C5
+25C8 25C9
+25CC 25CE
+25D4 25E1
25E3
-25E5 25E6 # [2]
-25ED 25F7 # [11]
-2600 2604 # [5]
-2607 263F # [57]
+25E5 25E6
+25ED 25F7
+2600 2604
+2607 263F
2641
-2643 265F # [29]
-2664 266C # [9]
-2670 27BF # [336]
+2643 265F
+2664 266C
+2670 27BF
27CB
-27CD 27CF # [3]
-2800 28FF # [256]
-2B00 2B2F # [48]
-2B45 2B46 # [2]
-2B4D FB28 # [53_212]
-FB2A FE60 # [823]
+27CD
+2800 28FF
+2B00 2B2F
+2B45 2B46
+2B4D FB28
+FB2A FE60
FE67
-FE69 FF0A # [162]
-FF0C FF1B # [16]
-FF1F FF3B # [29]
+FE69 FF0A
+FF0C FF1B
+FF1F FF3B
FF3D
-FF3F FF5B # [29]
+FF3F FF5B
FF5D
-FF5F FFE1 # [131]
-FFE3 FFE8 # [6]
-FFED 1D3FF # [54_291]
+FF5F FFE1
+FFE3 FFE8
+FFED 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 10FFFF # [993_280]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
index b2b85b98d91..9ba948df7aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
@@ -1,42 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2161 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Math=Yes}
-# \p{Is_Math=Y}
-# \p{Math=T}
-# \p{Is_Math=True}
-#
-# \p{Math}
-# \p{Is_Math}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Math: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002B
-003C 003E # [3]
+003C 003E
005E
007C
007E
@@ -44,100 +18,101 @@ return <<'END';
00B1
00D7
00F7
-03D0 03D2 # [3]
+03D0 03D2
03D5
-03F0 03F1 # [2]
-03F4 03F6 # [3]
-0606 0608 # [3]
+03F0 03F1
+03F4 03F6
+0606 0608
2016
-2032 2034 # [3]
+2032 2034
2040
2044
2052
-2061 2064 # [4]
-207A 207E # [5]
-208A 208E # [5]
-20D0 20DC # [13]
+2061 2064
+207A 207E
+208A 208E
+20D0 20DC
20E1
-20E5 20E6 # [2]
-20EB 20EF # [5]
+20E5 20E6
+20EB 20EF
2102
-210A 2113 # [10]
+2107
+210A 2113
2115
-2119 211D # [5]
+2118 211D
2124
-2128 2129 # [2]
-212C 212D # [2]
-212F 2131 # [3]
-2133 2138 # [6]
-213C 2149 # [14]
+2128 2129
+212C 212D
+212F 2131
+2133 2138
+213C 2149
214B
-2190 21A7 # [24]
-21A9 21AE # [6]
-21B0 21B1 # [2]
-21B6 21B7 # [2]
-21BC 21DB # [32]
+2190 21A7
+21A9 21AE
+21B0 21B1
+21B6 21B7
+21BC 21DB
21DD
-21E4 21E5 # [2]
-21F4 22FF # [268]
-2308 230B # [4]
-2320 2321 # [2]
+21E4 21E5
+21F4 22FF
+2308 230B
+2320 2321
237C
-239B 23B5 # [27]
+239B 23B5
23B7
23D0
-23DC 23E2 # [7]
-25A0 25A1 # [2]
-25AE 25B7 # [10]
-25BC 25C1 # [6]
-25C6 25C7 # [2]
-25CA 25CB # [2]
-25CF 25D3 # [5]
+23DC 23E2
+25A0 25A1
+25AE 25B7
+25BC 25C1
+25C6 25C7
+25CA 25CB
+25CF 25D3
25E2
25E4
-25E7 25EC # [6]
-25F8 25FF # [8]
-2605 2606 # [2]
+25E7 25EC
+25F8 25FF
+2605 2606
2640
2642
-2660 2663 # [4]
-266D 266F # [3]
-27C0 27CA # [11]
+2660 2663
+266D 266F
+27C0 27CA
27CC
-27D0 27FF # [48]
-2900 2AFF # [512]
-2B30 2B44 # [21]
-2B47 2B4C # [6]
+27CE 27FF
+2900 2AFF
+2B30 2B44
+2B47 2B4C
FB29
-FE61 FE66 # [6]
+FE61 FE66
FE68
FF0B
-FF1C FF1E # [3]
+FF1C FF1E
FF3C
FF3E
FF5C
FF5E
FFE2
-FFE9 FFEC # [4]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FFE9 FFEC
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl
index 26f86670eb3..633dc119811 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl
@@ -1,58 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_046 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Noncharacter_Code_Point=No}
-# \p{NChar=N}
-# \p{Is_Noncharacter_Code_Point=F}
-# \p{Is_NChar=False}
-#
-# \P{Noncharacter_Code_Point}
-# \P{Is_Noncharacter_Code_Point}
-# \P{NChar}
-# \P{Is_NChar}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NChar: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 FDCF # [64_976]
-FDF0 FFFD # [526]
-10000 1FFFD # [65_534]
-20000 2FFFD # [65_534]
-30000 3FFFD # [65_534]
-40000 4FFFD # [65_534]
-50000 5FFFD # [65_534]
-60000 6FFFD # [65_534]
-70000 7FFFD # [65_534]
-80000 8FFFD # [65_534]
-90000 9FFFD # [65_534]
-A0000 AFFFD # [65_534]
-B0000 BFFFD # [65_534]
-C0000 CFFFD # [65_534]
-D0000 DFFFD # [65_534]
-E0000 EFFFD # [65_534]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+0000 FDCF
+FDF0 FFFD
+10000 1FFFD
+20000 2FFFD
+30000 3FFFD
+40000 4FFFD
+50000 5FFFD
+60000 6FFFD
+70000 7FFFD
+80000 8FFFD
+90000 9FFFD
+A0000 AFFFD
+B0000 BFFFD
+C0000 CFFFD
+D0000 DFFFD
+E0000 EFFFD
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
index 9ac15ab557f..5be956b8379 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
@@ -1,58 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 66 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Noncharacter_Code_Point=Yes}
-# \p{NChar=Y}
-# \p{Is_Noncharacter_Code_Point=T}
-# \p{Is_NChar=True}
-#
-# \p{Noncharacter_Code_Point}
-# \p{Is_Noncharacter_Code_Point}
-# \p{NChar}
-# \p{Is_NChar}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NChar: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-FDD0 FDEF # [32]
-FFFE FFFF # [2]
-1FFFE 1FFFF # [2]
-2FFFE 2FFFF # [2]
-3FFFE 3FFFF # [2]
-4FFFE 4FFFF # [2]
-5FFFE 5FFFF # [2]
-6FFFE 6FFFF # [2]
-7FFFE 7FFFF # [2]
-8FFFE 8FFFF # [2]
-9FFFE 9FFFF # [2]
-AFFFE AFFFF # [2]
-BFFFE BFFFF # [2]
-CFFFE CFFFF # [2]
-DFFFE DFFFF # [2]
-EFFFE EFFFF # [2]
-FFFFE FFFFF # [2]
-10FFFE 10FFFF # [2]
+FDD0 FDEF
+FFFE FFFF
+1FFFE 1FFFF
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+EFFFE EFFFF
+FFFFE FFFFF
+10FFFE 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
index b3d8d267fd2..b6f9b79ced2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
@@ -1,145 +1,118 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_891 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{NFC_Quick_Check=Yes}
-# \p{NFC_QC=Y}
-# \p{Is_NFC_Quick_Check=Yes}
-# \p{Is_NFC_QC=Y}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{NFC_Quick_Check}, \p{NFC_QC}, \p{Is_NFC_Quick_Check},
-# \p{Is_NFC_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NFC_QC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 02FF # [768]
+0000 02FF
0305
-030D 030E # [2]
+030D 030E
0310
0312
-0315 031A # [6]
-031C 0322 # [7]
-0329 032C # [4]
+0315 031A
+031C 0322
+0329 032C
032F
-0332 0337 # [6]
-0339 033F # [7]
-0346 0373 # [46]
-0375 037D # [9]
-037F 0386 # [8]
-0388 0652 # [715]
-0656 093B # [742]
-093D 0957 # [27]
-0960 09BD # [94]
-09BF 09D6 # [24]
-09D8 09DB # [4]
+0332 0337
+0339 033F
+0346 0373
+0375 037D
+037F 0386
+0388 0652
+0656 093B
+093D 0957
+0960 09BD
+09BF 09D6
+09D8 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B3D # [223]
-0B3F 0B55 # [23]
-0B58 0B5B # [4]
-0B5E 0BBD # [96]
-0BBF 0BD6 # [24]
-0BD8 0C55 # [126]
-0C57 0CC1 # [107]
-0CC3 0CD4 # [18]
-0CD7 0D3D # [103]
-0D3F 0D56 # [24]
-0D58 0DC9 # [114]
-0DCB 0DCE # [4]
-0DD0 0DDE # [15]
-0DE0 0F42 # [355]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F72 # [9]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B3D
+0B3F 0B55
+0B58 0B5B
+0B5E 0BBD
+0BBF 0BD6
+0BD8 0C55
+0C57 0CC1
+0CC3 0CD4
+0CD7 0D3D
+0D3F 0D56
+0D58 0DC9
+0DCB 0DCE
+0DD0 0DDE
+0DE0 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F72
0F74
0F77
-0F79 0F80 # [8]
-0F82 0F92 # [17]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 102D # [116]
-102F 1160 # [306]
-1176 11A7 # [50]
-11C3 1B34 # [2418]
-1B36 1F70 # [1083]
+0F79 0F80
+0F82 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 102D
+102F 1160
+1176 11A7
+11C3 1B34
+1B36 1F70
1F72
1F74
1F76
1F78
1F7A
1F7C
-1F7E 1FBA # [61]
-1FBC 1FBD # [2]
-1FBF 1FC8 # [10]
+1F7E 1FBA
+1FBC 1FBD
+1FBF 1FC8
1FCA
-1FCC 1FD2 # [7]
-1FD4 1FDA # [7]
-1FDC 1FE2 # [7]
-1FE4 1FEA # [7]
-1FEC 1FED # [2]
-1FF0 1FF8 # [9]
+1FCC 1FD2
+1FD4 1FDA
+1FDC 1FE2
+1FE4 1FEA
+1FEC 1FED
+1FF0 1FF8
1FFA
1FFC
-1FFE 1FFF # [2]
-2002 2125 # [292]
-2127 2129 # [3]
-212C 2328 # [509]
-232B 2ADB # [1969]
-2ADD 3098 # [1468]
-309B F8FF # [51_301]
-FA0E FA0F # [2]
+1FFE 1FFF
+2002 2125
+2127 2129
+212C 2328
+232B 2ADB
+2ADD 3098
+309B F8FF
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FB1C # [67]
+FA23 FA24
+FA27 FA29
+FA2E FA2F
+FA6E FA6F
+FADA FB1C
FB1E
-FB20 FB29 # [10]
+FB20 FB29
FB37
FB3D
FB3F
FB42
FB45
-FB4F 110B9 # [5483]
-110BB 1D15D # [49_315]
-1D165 1D1BA # [86]
-1D1C1 2F7FF # [75_327]
-2FA1E 10FFFF # [919_010]
+FB4F 110B9
+110BB 1D15D
+1D165 1D1BA
+1D1C1 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
index f042fe1227f..66fe36e7380 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
@@ -1,135 +1,95 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 13_221 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{NFD_Quick_Check=No}
-# \p{NFD_QC=N}
-# \p{Is_NFD_Quick_Check=No}
-# \p{Is_NFD_QC=N}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \P{NFD_Quick_Check}, \P{NFD_QC}, \P{Is_NFD_Quick_Check},
-# \P{Is_NFD_QC}
-#
-# \p{Decomposition_Type=Canonical}
-# \p{Dt=Can}
-# \p{Is_Decomposition_Type=Canonical}
-# \p{Is_Dt=Can}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Dt: Canonical}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00C0 00C5 # [6]
-00C7 00CF # [9]
-00D1 00D6 # [6]
-00D9 00DD # [5]
-00E0 00E5 # [6]
-00E7 00EF # [9]
-00F1 00F6 # [6]
-00F9 00FD # [5]
-00FF 010F # [17]
-0112 0125 # [20]
-0128 0130 # [9]
-0134 0137 # [4]
-0139 013E # [6]
-0143 0148 # [6]
-014C 0151 # [6]
-0154 0165 # [18]
-0168 017E # [23]
-01A0 01A1 # [2]
-01AF 01B0 # [2]
-01CD 01DC # [16]
-01DE 01E3 # [6]
-01E6 01F0 # [11]
-01F4 01F5 # [2]
-01F8 021B # [36]
-021E 021F # [2]
-0226 0233 # [14]
-0340 0341 # [2]
-0343 0344 # [2]
+00C0 00C5
+00C7 00CF
+00D1 00D6
+00D9 00DD
+00E0 00E5
+00E7 00EF
+00F1 00F6
+00F9 00FD
+00FF 010F
+0112 0125
+0128 0130
+0134 0137
+0139 013E
+0143 0148
+014C 0151
+0154 0165
+0168 017E
+01A0 01A1
+01AF 01B0
+01CD 01DC
+01DE 01E3
+01E6 01F0
+01F4 01F5
+01F8 021B
+021E 021F
+0226 0233
+0340 0341
+0343 0344
0374
037E
-0385 038A # [6]
+0385 038A
038C
-038E 0390 # [3]
-03AA 03B0 # [7]
-03CA 03CE # [5]
-03D3 03D4 # [2]
-0400 0401 # [2]
+038E 0390
+03AA 03B0
+03CA 03CE
+03D3 03D4
+0400 0401
0403
0407
-040C 040E # [3]
+040C 040E
0419
0439
-0450 0451 # [2]
+0450 0451
0453
0457
-045C 045E # [3]
-0476 0477 # [2]
-04C1 04C2 # [2]
-04D0 04D3 # [4]
-04D6 04D7 # [2]
-04DA 04DF # [6]
-04E2 04E7 # [6]
-04EA 04F5 # [12]
-04F8 04F9 # [2]
-0622 0626 # [5]
+045C 045E
+0476 0477
+04C1 04C2
+04D0 04D3
+04D6 04D7
+04DA 04DF
+04E2 04E7
+04EA 04F5
+04F8 04F9
+0622 0626
06C0
06C2
06D3
0929
0931
0934
-0958 095F # [8]
-09CB 09CC # [2]
-09DC 09DD # [2]
+0958 095F
+09CB 09CC
+09DC 09DD
09DF
0A33
0A36
-0A59 0A5B # [3]
+0A59 0A5B
0A5E
0B48
-0B4B 0B4C # [2]
-0B5C 0B5D # [2]
+0B4B 0B4C
+0B5C 0B5D
0B94
-0BCA 0BCC # [3]
+0BCA 0BCC
0C48
0CC0
-0CC7 0CC8 # [2]
-0CCA 0CCB # [2]
-0D4A 0D4C # [3]
+0CC7 0CC8
+0CCA 0CCB
+0D4A 0D4C
0DDA
-0DDC 0DDE # [3]
+0DDC 0DDE
0F43
0F4D
0F52
@@ -137,7 +97,7 @@ return <<'END';
0F5C
0F69
0F73
-0F75 0F76 # [2]
+0F75 0F76
0F78
0F81
0F93
@@ -155,35 +115,35 @@ return <<'END';
1B12
1B3B
1B3D
-1B40 1B41 # [2]
+1B40 1B41
1B43
-1E00 1E99 # [154]
+1E00 1E99
1E9B
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC1 1FC4 # [4]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFD # [8]
-2000 2001 # [2]
+1FC1 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFD
+2000 2001
2126
-212A 212B # [2]
-219A 219B # [2]
+212A 212B
+219A 219B
21AE
-21CD 21CF # [3]
+21CD 21CF
2204
2209
220C
@@ -195,16 +155,16 @@ return <<'END';
2249
2260
2262
-226D 2271 # [5]
-2274 2275 # [2]
-2278 2279 # [2]
-2280 2281 # [2]
-2284 2285 # [2]
-2288 2289 # [2]
-22AC 22AF # [4]
-22E0 22E3 # [4]
-22EA 22ED # [4]
-2329 232A # [2]
+226D 2271
+2274 2275
+2278 2279
+2280 2281
+2284 2285
+2288 2289
+22AC 22AF
+22E0 22E3
+22EA 22ED
+2329 232A
2ADC
304C
304E
@@ -221,11 +181,11 @@ return <<'END';
3065
3067
3069
-3070 3071 # [2]
-3073 3074 # [2]
-3076 3077 # [2]
-3079 307A # [2]
-307C 307D # [2]
+3070 3071
+3073 3074
+3076 3077
+3079 307A
+307C 307D
3094
309E
30AC
@@ -243,37 +203,37 @@ return <<'END';
30C5
30C7
30C9
-30D0 30D1 # [2]
-30D3 30D4 # [2]
-30D6 30D7 # [2]
-30D9 30DA # [2]
-30DC 30DD # [2]
+30D0 30D1
+30D3 30D4
+30D6 30D7
+30D9 30DA
+30DC 30DD
30F4
-30F7 30FA # [4]
+30F7 30FA
30FE
-AC00 D7A3 # [11_172]
-F900 FA0D # [270]
+AC00 D7A3
+F900 FA0D
FA10
FA12
-FA15 FA1E # [10]
+FA15 FA1E
FA20
FA22
-FA25 FA26 # [2]
-FA2A FA2D # [4]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
+FA25 FA26
+FA2A FA2D
+FA30 FA6D
+FA70 FAD9
FB1D
FB1F
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FB4E # [9]
+FB40 FB41
+FB43 FB44
+FB46 FB4E
1109A
1109C
110AB
-1D15E 1D164 # [7]
-1D1BB 1D1C0 # [6]
-2F800 2FA1D # [542]
+1D15E 1D164
+1D1BB 1D1C0
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
index 791bda60c8b..37c272d169b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
@@ -1,199 +1,172 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_100_891 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{NFD_Quick_Check=Yes}
-# \p{NFD_QC=Y}
-# \p{Is_NFD_Quick_Check=Yes}
-# \p{Is_NFD_QC=Y}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{NFD_Quick_Check}, \p{NFD_QC}, \p{Is_NFD_Quick_Check},
-# \p{Is_NFD_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NFD_QC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 00BF # [192]
+0000 00BF
00C6
00D0
-00D7 00D8 # [2]
-00DE 00DF # [2]
+00D7 00D8
+00DE 00DF
00E6
00F0
-00F7 00F8 # [2]
+00F7 00F8
00FE
-0110 0111 # [2]
-0126 0127 # [2]
-0131 0133 # [3]
+0110 0111
+0126 0127
+0131 0133
0138
-013F 0142 # [4]
-0149 014B # [3]
-0152 0153 # [2]
-0166 0167 # [2]
-017F 019F # [33]
-01A2 01AE # [13]
-01B1 01CC # [28]
+013F 0142
+0149 014B
+0152 0153
+0166 0167
+017F 019F
+01A2 01AE
+01B1 01CC
01DD
-01E4 01E5 # [2]
-01F1 01F3 # [3]
-01F6 01F7 # [2]
-021C 021D # [2]
-0220 0225 # [6]
-0234 033F # [268]
+01E4 01E5
+01F1 01F3
+01F6 01F7
+021C 021D
+0220 0225
+0234 033F
0342
-0345 0373 # [47]
-0375 037D # [9]
-037F 0384 # [6]
+0345 0373
+0375 037D
+037F 0384
038B
038D
-0391 03A9 # [25]
-03B1 03C9 # [25]
-03CF 03D2 # [4]
-03D5 03FF # [43]
+0391 03A9
+03B1 03C9
+03CF 03D2
+03D5 03FF
0402
-0404 0406 # [3]
-0408 040B # [4]
-040F 0418 # [10]
-041A 0438 # [31]
-043A 044F # [22]
+0404 0406
+0408 040B
+040F 0418
+041A 0438
+043A 044F
0452
-0454 0456 # [3]
-0458 045B # [4]
-045F 0475 # [23]
-0478 04C0 # [73]
-04C3 04CF # [13]
-04D4 04D5 # [2]
-04D8 04D9 # [2]
-04E0 04E1 # [2]
-04E8 04E9 # [2]
-04F6 04F7 # [2]
-04FA 0621 # [296]
-0627 06BF # [153]
+0454 0456
+0458 045B
+045F 0475
+0478 04C0
+04C3 04CF
+04D4 04D5
+04D8 04D9
+04E0 04E1
+04E8 04E9
+04F6 04F7
+04FA 0621
+0627 06BF
06C1
-06C3 06D2 # [16]
-06D4 0928 # [597]
-092A 0930 # [7]
-0932 0933 # [2]
-0935 0957 # [35]
-0960 09CA # [107]
-09CD 09DB # [15]
+06C3 06D2
+06D4 0928
+092A 0930
+0932 0933
+0935 0957
+0960 09CA
+09CD 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B47 # [233]
-0B49 0B4A # [2]
-0B4D 0B5B # [15]
-0B5E 0B93 # [54]
-0B95 0BC9 # [53]
-0BCD 0C47 # [123]
-0C49 0CBF # [119]
-0CC1 0CC6 # [6]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B47
+0B49 0B4A
+0B4D 0B5B
+0B5E 0B93
+0B95 0BC9
+0BCD 0C47
+0C49 0CBF
+0CC1 0CC6
0CC9
-0CCC 0D49 # [126]
-0D4D 0DD9 # [141]
+0CCC 0D49
+0D4D 0DD9
0DDB
-0DDF 0F42 # [356]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F72 # [9]
+0DDF 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F72
0F74
0F77
-0F79 0F80 # [8]
-0F82 0F92 # [17]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 1025 # [108]
-1027 1B05 # [2783]
+0F79 0F80
+0F82 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 1025
+1027 1B05
1B07
1B09
1B0B
1B0D
-1B0F 1B11 # [3]
-1B13 1B3A # [40]
+1B0F 1B11
+1B13 1B3A
1B3C
-1B3E 1B3F # [2]
+1B3E 1B3F
1B42
-1B44 1DFF # [700]
+1B44 1DFF
1E9A
-1E9C 1E9F # [4]
-1EFA 1EFF # [6]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1E9C 1E9F
+1EFA 1EFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC0 # [2]
+1FBF 1FC0
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
-1FFE 1FFF # [2]
-2002 2125 # [292]
-2127 2129 # [3]
-212C 2199 # [110]
-219C 21AD # [18]
-21AF 21CC # [30]
-21D0 2203 # [52]
-2205 2208 # [4]
-220A 220B # [2]
-220D 2223 # [23]
+1FFE 1FFF
+2002 2125
+2127 2129
+212C 2199
+219C 21AD
+21AF 21CC
+21D0 2203
+2205 2208
+220A 220B
+220D 2223
2225
-2227 2240 # [26]
-2242 2243 # [2]
-2245 2246 # [2]
+2227 2240
+2242 2243
+2245 2246
2248
-224A 225F # [22]
+224A 225F
2261
-2263 226C # [10]
-2272 2273 # [2]
-2276 2277 # [2]
-227A 227F # [6]
-2282 2283 # [2]
-2286 2287 # [2]
-228A 22AB # [34]
-22B0 22DF # [48]
-22E4 22E9 # [6]
-22EE 2328 # [59]
-232B 2ADB # [1969]
-2ADD 304B # [1391]
+2263 226C
+2272 2273
+2276 2277
+227A 227F
+2282 2283
+2286 2287
+228A 22AB
+22B0 22DF
+22E4 22E9
+22EE 2328
+232B 2ADB
+2ADD 304B
304D
304F
3051
@@ -205,17 +178,17 @@ return <<'END';
305D
305F
3061
-3063 3064 # [2]
+3063 3064
3066
3068
-306A 306F # [6]
+306A 306F
3072
3075
3078
307B
-307E 3093 # [22]
-3095 309D # [9]
-309F 30AB # [13]
+307E 3093
+3095 309D
+309F 30AB
30AD
30AF
30B1
@@ -227,41 +200,41 @@ return <<'END';
30BD
30BF
30C1
-30C3 30C4 # [2]
+30C3 30C4
30C6
30C8
-30CA 30CF # [6]
+30CA 30CF
30D2
30D5
30D8
30DB
-30DE 30F3 # [22]
-30F5 30F6 # [2]
-30FB 30FD # [3]
-30FF ABFF # [31_489]
-D7A4 F8FF # [8540]
-FA0E FA0F # [2]
+30DE 30F3
+30F5 30F6
+30FB 30FD
+30FF ABFF
+D7A4 F8FF
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FB1C # [67]
+FA23 FA24
+FA27 FA29
+FA2E FA2F
+FA6E FA6F
+FADA FB1C
FB1E
-FB20 FB29 # [10]
+FB20 FB29
FB37
FB3D
FB3F
FB42
FB45
-FB4F 11099 # [5451]
+FB4F 11099
1109B
-1109D 110AA # [14]
-110AC 1D15D # [49_330]
-1D165 1D1BA # [86]
-1D1C1 2F7FF # [75_327]
-2FA1E 10FFFF # [919_010]
+1109D 110AA
+110AC 1D15D
+1D165 1D1BA
+1D1C1 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl
index b76aa7129a3..f22cb15b395 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl
@@ -1,82 +1,46 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 103 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{NFKC_Quick_Check=Maybe}
-# \p{NFKC_QC=M}
-# \p{Is_NFKC_Quick_Check=Maybe}
-# \p{Is_NFKC_QC=M}
-#
-# \p{NFC_Quick_Check=Maybe}
-# \p{NFC_QC=M}
-# \p{Is_NFC_Quick_Check=Maybe}
-# \p{Is_NFC_QC=M}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_NFC_QC: Maybe}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 0304 # [5]
-0306 030C # [7]
+0300 0304
+0306 030C
030F
0311
-0313 0314 # [2]
+0313 0314
031B
-0323 0328 # [6]
-032D 032E # [2]
-0330 0331 # [2]
+0323 0328
+032D 032E
+0330 0331
0338
0342
0345
-0653 0655 # [3]
+0653 0655
093C
09BE
09D7
0B3E
-0B56 0B57 # [2]
+0B56 0B57
0BBE
0BD7
0C56
0CC2
-0CD5 0CD6 # [2]
+0CD5 0CD6
0D3E
0D57
0DCA
0DCF
0DDF
102E
-1161 1175 # [21]
-11A8 11C2 # [27]
+1161 1175
+11A8 11C2
1B35
-3099 309A # [2]
+3099 309A
110BA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
index 0546b9658f9..391c678b349 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
@@ -1,81 +1,54 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4597 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{NFKC_Quick_Check=No}
-# \p{NFKC_QC=N}
-# \p{Is_NFKC_Quick_Check=No}
-# \p{Is_NFKC_QC=N}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \P{NFKC_Quick_Check}, \P{NFKC_QC}, \P{Is_NFKC_Quick_Check},
-# \P{Is_NFKC_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NFKC_QC: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A0
00A8
00AA
00AF
-00B2 00B5 # [4]
-00B8 00BA # [3]
-00BC 00BE # [3]
-0132 0133 # [2]
-013F 0140 # [2]
+00B2 00B5
+00B8 00BA
+00BC 00BE
+0132 0133
+013F 0140
0149
017F
-01C4 01CC # [9]
-01F1 01F3 # [3]
-02B0 02B8 # [9]
-02D8 02DD # [6]
-02E0 02E4 # [5]
-0340 0341 # [2]
-0343 0344 # [2]
+01C4 01CC
+01F1 01F3
+02B0 02B8
+02D8 02DD
+02E0 02E4
+0340 0341
+0343 0344
0374
037A
037E
-0384 0385 # [2]
+0384 0385
0387
-03D0 03D6 # [7]
-03F0 03F2 # [3]
-03F4 03F5 # [2]
+03D0 03D6
+03F0 03F2
+03F4 03F5
03F9
0587
-0675 0678 # [4]
-0958 095F # [8]
-09DC 09DD # [2]
+0675 0678
+0958 095F
+09DC 09DD
09DF
0A33
0A36
-0A59 0A5B # [3]
+0A59 0A5B
0A5E
-0B5C 0B5D # [2]
+0B5C 0B5D
0E33
0EB3
-0EDC 0EDD # [2]
+0EDC 0EDD
0F0C
0F43
0F4D
@@ -84,7 +57,7 @@ return <<'END';
0F5C
0F69
0F73
-0F75 0F79 # [5]
+0F75 0F79
0F81
0F93
0F9D
@@ -93,13 +66,13 @@ return <<'END';
0FAC
0FB9
10FC
-1D2C 1D2E # [3]
-1D30 1D3A # [11]
-1D3C 1D4D # [18]
-1D4F 1D6A # [28]
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D6A
1D78
-1D9B 1DBF # [37]
-1E9A 1E9B # [2]
+1D9B 1DBF
+1E9A 1E9B
1F71
1F73
1F75
@@ -108,149 +81,145 @@ return <<'END';
1F7B
1F7D
1FBB
-1FBD 1FC1 # [5]
+1FBD 1FC1
1FC9
1FCB
-1FCD 1FCF # [3]
+1FCD 1FCF
1FD3
1FDB
-1FDD 1FDF # [3]
+1FDD 1FDF
1FE3
1FEB
-1FED 1FEF # [3]
+1FED 1FEF
1FF9
1FFB
-1FFD 1FFE # [2]
-2000 200A # [11]
+1FFD 1FFE
+2000 200A
2011
2017
-2024 2026 # [3]
+2024 2026
202F
-2033 2034 # [2]
-2036 2037 # [2]
+2033 2034
+2036 2037
203C
203E
-2047 2049 # [3]
+2047 2049
2057
205F
-2070 2071 # [2]
-2074 208E # [27]
-2090 2094 # [5]
+2070 2071
+2074 208E
+2090 209C
20A8
-2100 2103 # [4]
-2105 2107 # [3]
-2109 2113 # [11]
-2115 2116 # [2]
-2119 211D # [5]
-2120 2122 # [3]
+2100 2103
+2105 2107
+2109 2113
+2115 2116
+2119 211D
+2120 2122
2124
2126
2128
-212A 212D # [4]
-212F 2131 # [3]
-2133 2139 # [7]
-213B 2140 # [6]
-2145 2149 # [5]
-2150 217F # [48]
+212A 212D
+212F 2131
+2133 2139
+213B 2140
+2145 2149
+2150 217F
2189
-222C 222D # [2]
-222F 2230 # [2]
-2329 232A # [2]
-2460 24EA # [139]
+222C 222D
+222F 2230
+2329 232A
+2460 24EA
2A0C
-2A74 2A76 # [3]
+2A74 2A76
2ADC
-2C7C 2C7D # [2]
+2C7C 2C7D
2D6F
2E9F
2EF3
-2F00 2FD5 # [214]
+2F00 2FD5
3000
3036
-3038 303A # [3]
-309B 309C # [2]
+3038 303A
+309B 309C
309F
30FF
-3131 318E # [94]
-3192 319F # [14]
-3200 321E # [31]
-3220 3247 # [40]
-3250 327E # [47]
-3280 32FE # [127]
-3300 33FF # [256]
+3131 318E
+3192 319F
+3200 321E
+3220 3247
+3250 327E
+3280 32FE
+3300 33FF
A770
-F900 FA0D # [270]
+F900 FA0D
FA10
FA12
-FA15 FA1E # [10]
+FA15 FA1E
FA20
FA22
-FA25 FA26 # [2]
-FA2A FA2D # [4]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+FA25 FA26
+FA2A FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB36 # [24]
-FB38 FB3C # [5]
+FB1F FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFC # [13]
-FE10 FE19 # [10]
-FE30 FE44 # [21]
-FE47 FE52 # [12]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE10 FE19
+FE30 FE44
+FE47 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-1D15E 1D164 # [7]
-1D1BB 1D1C0 # [6]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FE76 FEFC
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+1D15E 1D164
+1D1BB 1D1C0
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F100 1F10A
+1F110 1F12E
+1F130 1F14F
1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-2F800 2FA1D # [542]
+1F200 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
index ca3aada8e84..5a13f5ae435 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
@@ -1,177 +1,150 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_109_412 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{NFKC_Quick_Check=Yes}
-# \p{NFKC_QC=Y}
-# \p{Is_NFKC_Quick_Check=Yes}
-# \p{Is_NFKC_QC=Y}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \p{NFKC_Quick_Check}, \p{NFKC_QC}, \p{Is_NFKC_Quick_Check},
-# \p{Is_NFKC_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NFKC_QC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 009F # [160]
-00A1 00A7 # [7]
+0000 009F
+00A1 00A7
00A9
-00AB 00AE # [4]
-00B0 00B1 # [2]
-00B6 00B7 # [2]
+00AB 00AE
+00B0 00B1
+00B6 00B7
00BB
-00BF 0131 # [115]
-0134 013E # [11]
-0141 0148 # [8]
-014A 017E # [53]
-0180 01C3 # [68]
-01CD 01F0 # [36]
-01F4 02AF # [188]
-02B9 02D7 # [31]
-02DE 02DF # [2]
-02E5 02FF # [27]
+00BF 0131
+0134 013E
+0141 0148
+014A 017E
+0180 01C3
+01CD 01F0
+01F4 02AF
+02B9 02D7
+02DE 02DF
+02E5 02FF
0305
-030D 030E # [2]
+030D 030E
0310
0312
-0315 031A # [6]
-031C 0322 # [7]
-0329 032C # [4]
+0315 031A
+031C 0322
+0329 032C
032F
-0332 0337 # [6]
-0339 033F # [7]
-0346 0373 # [46]
-0375 0379 # [5]
-037B 037D # [3]
-037F 0383 # [5]
+0332 0337
+0339 033F
+0346 0373
+0375 0379
+037B 037D
+037F 0383
0386
-0388 03CF # [72]
-03D7 03EF # [25]
+0388 03CF
+03D7 03EF
03F3
-03F6 03F8 # [3]
-03FA 0586 # [397]
-0588 0652 # [203]
-0656 0674 # [31]
-0679 093B # [707]
-093D 0957 # [27]
-0960 09BD # [94]
-09BF 09D6 # [24]
-09D8 09DB # [4]
+03F6 03F8
+03FA 0586
+0588 0652
+0656 0674
+0679 093B
+093D 0957
+0960 09BD
+09BF 09D6
+09D8 09DB
09DE
-09E0 0A32 # [83]
-0A34 0A35 # [2]
-0A37 0A58 # [34]
-0A5C 0A5D # [2]
-0A5F 0B3D # [223]
-0B3F 0B55 # [23]
-0B58 0B5B # [4]
-0B5E 0BBD # [96]
-0BBF 0BD6 # [24]
-0BD8 0C55 # [126]
-0C57 0CC1 # [107]
-0CC3 0CD4 # [18]
-0CD7 0D3D # [103]
-0D3F 0D56 # [24]
-0D58 0DC9 # [114]
-0DCB 0DCE # [4]
-0DD0 0DDE # [15]
-0DE0 0E32 # [83]
-0E34 0EB2 # [127]
-0EB4 0EDB # [40]
-0EDE 0F0B # [46]
-0F0D 0F42 # [54]
-0F44 0F4C # [9]
-0F4E 0F51 # [4]
-0F53 0F56 # [4]
-0F58 0F5B # [4]
-0F5D 0F68 # [12]
-0F6A 0F72 # [9]
+09E0 0A32
+0A34 0A35
+0A37 0A58
+0A5C 0A5D
+0A5F 0B3D
+0B3F 0B55
+0B58 0B5B
+0B5E 0BBD
+0BBF 0BD6
+0BD8 0C55
+0C57 0CC1
+0CC3 0CD4
+0CD7 0D3D
+0D3F 0D56
+0D58 0DC9
+0DCB 0DCE
+0DD0 0DDE
+0DE0 0E32
+0E34 0EB2
+0EB4 0EDB
+0EDE 0F0B
+0F0D 0F42
+0F44 0F4C
+0F4E 0F51
+0F53 0F56
+0F58 0F5B
+0F5D 0F68
+0F6A 0F72
0F74
-0F7A 0F80 # [7]
-0F82 0F92 # [17]
-0F94 0F9C # [9]
-0F9E 0FA1 # [4]
-0FA3 0FA6 # [4]
-0FA8 0FAB # [4]
-0FAD 0FB8 # [12]
-0FBA 102D # [116]
-102F 10FB # [205]
-10FD 1160 # [100]
-1176 11A7 # [50]
-11C3 1B34 # [2418]
-1B36 1D2B # [502]
+0F7A 0F80
+0F82 0F92
+0F94 0F9C
+0F9E 0FA1
+0FA3 0FA6
+0FA8 0FAB
+0FAD 0FB8
+0FBA 102D
+102F 10FB
+10FD 1160
+1176 11A7
+11C3 1B34
+1B36 1D2B
1D2F
1D3B
1D4E
-1D6B 1D77 # [13]
-1D79 1D9A # [34]
-1DC0 1E99 # [218]
-1E9C 1F70 # [213]
+1D6B 1D77
+1D79 1D9A
+1DC0 1E99
+1E9C 1F70
1F72
1F74
1F76
1F78
1F7A
1F7C
-1F7E 1FBA # [61]
+1F7E 1FBA
1FBC
-1FC2 1FC8 # [7]
+1FC2 1FC8
1FCA
1FCC
-1FD0 1FD2 # [3]
-1FD4 1FDA # [7]
+1FD0 1FD2
+1FD4 1FDA
1FDC
-1FE0 1FE2 # [3]
-1FE4 1FEA # [7]
+1FE0 1FE2
+1FE4 1FEA
1FEC
-1FF0 1FF8 # [9]
+1FF0 1FF8
1FFA
1FFC
1FFF
-200B 2010 # [6]
-2012 2016 # [5]
-2018 2023 # [12]
-2027 202E # [8]
-2030 2032 # [3]
+200B 2010
+2012 2016
+2018 2023
+2027 202E
+2030 2032
2035
-2038 203B # [4]
+2038 203B
203D
-203F 2046 # [8]
-204A 2056 # [13]
-2058 205E # [7]
-2060 206F # [16]
-2072 2073 # [2]
+203F 2046
+204A 2056
+2058 205E
+2060 206F
+2072 2073
208F
-2095 20A7 # [19]
-20A9 20FF # [87]
+209D 20A7
+20A9 20FF
2104
2108
2114
-2117 2118 # [2]
-211E 211F # [2]
+2117 2118
+211E 211F
2123
2125
2127
@@ -179,109 +152,105 @@ return <<'END';
212E
2132
213A
-2141 2144 # [4]
-214A 214F # [6]
-2180 2188 # [9]
-218A 222B # [162]
+2141 2144
+214A 214F
+2180 2188
+218A 222B
222E
-2231 2328 # [248]
-232B 245F # [309]
-24EB 2A0B # [1313]
-2A0D 2A73 # [103]
-2A77 2ADB # [101]
-2ADD 2C7B # [415]
-2C7E 2D6E # [241]
-2D70 2E9E # [303]
-2EA0 2EF2 # [83]
-2EF4 2EFF # [12]
-2FD6 2FFF # [42]
-3001 3035 # [53]
+2231 2328
+232B 245F
+24EB 2A0B
+2A0D 2A73
+2A77 2ADB
+2ADD 2C7B
+2C7E 2D6E
+2D70 2E9E
+2EA0 2EF2
+2EF4 2EFF
+2FD6 2FFF
+3001 3035
3037
-303B 3098 # [94]
-309D 309E # [2]
-30A0 30FE # [95]
-3100 3130 # [49]
-318F 3191 # [3]
-31A0 31FF # [96]
+303B 3098
+309D 309E
+30A0 30FE
+3100 3130
+318F 3191
+31A0 31FF
321F
-3248 324F # [8]
+3248 324F
327F
32FF
-3400 A76F # [29_552]
-A771 F8FF # [20_879]
-FA0E FA0F # [2]
+3400 A76F
+A771 F8FF
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+FA23 FA24
+FA27 FA29
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB1E
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFD FE0F # [19]
-FE1A FE2F # [22]
-FE45 FE46 # [2]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFD FE0F
+FE1A FE2F
+FE45 FE46
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE73
FE75
-FEFD FF00 # [4]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FEFD FF00
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF 110B9 # [4299]
-110BB 1D15D # [49_315]
-1D165 1D1BA # [86]
-1D1C1 1D3FF # [575]
+FFEF 110B9
+110BB 1D15D
+1D165 1D1BA
+1D1C1 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1F0FF # [6400]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F18F # [65]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 2F7FF # [66_999]
-2FA1E 10FFFF # [919_010]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1F0FF
+1F10B 1F10F
+1F12F
+1F150 1F18F
+1F191 1F1FF
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
index 3bc69ce337a..e1975e74dcd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
@@ -1,140 +1,113 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 16_688 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{NFKD_Quick_Check=No}
-# \p{NFKD_QC=N}
-# \p{Is_NFKD_Quick_Check=No}
-# \p{Is_NFKD_QC=N}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as any of: \P{NFKD_Quick_Check}, \P{NFKD_QC}, \P{Is_NFKD_Quick_Check},
-# \P{Is_NFKD_QC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_NFKD_QC: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00A0
00A8
00AA
00AF
-00B2 00B5 # [4]
-00B8 00BA # [3]
-00BC 00BE # [3]
-00C0 00C5 # [6]
-00C7 00CF # [9]
-00D1 00D6 # [6]
-00D9 00DD # [5]
-00E0 00E5 # [6]
-00E7 00EF # [9]
-00F1 00F6 # [6]
-00F9 00FD # [5]
-00FF 010F # [17]
-0112 0125 # [20]
-0128 0130 # [9]
-0132 0137 # [6]
-0139 0140 # [8]
-0143 0149 # [7]
-014C 0151 # [6]
-0154 0165 # [18]
-0168 017F # [24]
-01A0 01A1 # [2]
-01AF 01B0 # [2]
-01C4 01DC # [25]
-01DE 01E3 # [6]
-01E6 01F5 # [16]
-01F8 021B # [36]
-021E 021F # [2]
-0226 0233 # [14]
-02B0 02B8 # [9]
-02D8 02DD # [6]
-02E0 02E4 # [5]
-0340 0341 # [2]
-0343 0344 # [2]
+00B2 00B5
+00B8 00BA
+00BC 00BE
+00C0 00C5
+00C7 00CF
+00D1 00D6
+00D9 00DD
+00E0 00E5
+00E7 00EF
+00F1 00F6
+00F9 00FD
+00FF 010F
+0112 0125
+0128 0130
+0132 0137
+0139 0140
+0143 0149
+014C 0151
+0154 0165
+0168 017F
+01A0 01A1
+01AF 01B0
+01C4 01DC
+01DE 01E3
+01E6 01F5
+01F8 021B
+021E 021F
+0226 0233
+02B0 02B8
+02D8 02DD
+02E0 02E4
+0340 0341
+0343 0344
0374
037A
037E
-0384 038A # [7]
+0384 038A
038C
-038E 0390 # [3]
-03AA 03B0 # [7]
-03CA 03CE # [5]
-03D0 03D6 # [7]
-03F0 03F2 # [3]
-03F4 03F5 # [2]
+038E 0390
+03AA 03B0
+03CA 03CE
+03D0 03D6
+03F0 03F2
+03F4 03F5
03F9
-0400 0401 # [2]
+0400 0401
0403
0407
-040C 040E # [3]
+040C 040E
0419
0439
-0450 0451 # [2]
+0450 0451
0453
0457
-045C 045E # [3]
-0476 0477 # [2]
-04C1 04C2 # [2]
-04D0 04D3 # [4]
-04D6 04D7 # [2]
-04DA 04DF # [6]
-04E2 04E7 # [6]
-04EA 04F5 # [12]
-04F8 04F9 # [2]
+045C 045E
+0476 0477
+04C1 04C2
+04D0 04D3
+04D6 04D7
+04DA 04DF
+04E2 04E7
+04EA 04F5
+04F8 04F9
0587
-0622 0626 # [5]
-0675 0678 # [4]
+0622 0626
+0675 0678
06C0
06C2
06D3
0929
0931
0934
-0958 095F # [8]
-09CB 09CC # [2]
-09DC 09DD # [2]
+0958 095F
+09CB 09CC
+09DC 09DD
09DF
0A33
0A36
-0A59 0A5B # [3]
+0A59 0A5B
0A5E
0B48
-0B4B 0B4C # [2]
-0B5C 0B5D # [2]
+0B4B 0B4C
+0B5C 0B5D
0B94
-0BCA 0BCC # [3]
+0BCA 0BCC
0C48
0CC0
-0CC7 0CC8 # [2]
-0CCA 0CCB # [2]
-0D4A 0D4C # [3]
+0CC7 0CC8
+0CCA 0CCB
+0D4A 0D4C
0DDA
-0DDC 0DDE # [3]
+0DDC 0DDE
0E33
0EB3
-0EDC 0EDD # [2]
+0EDC 0EDD
0F0C
0F43
0F4D
@@ -143,7 +116,7 @@ return <<'END';
0F5C
0F69
0F73
-0F75 0F79 # [5]
+0F75 0F79
0F81
0F93
0F9D
@@ -161,102 +134,102 @@ return <<'END';
1B12
1B3B
1B3D
-1B40 1B41 # [2]
+1B40 1B41
1B43
-1D2C 1D2E # [3]
-1D30 1D3A # [11]
-1D3C 1D4D # [18]
-1D4F 1D6A # [28]
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D6A
1D78
-1D9B 1DBF # [37]
-1E00 1E9B # [156]
-1EA0 1EF9 # [90]
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1D9B 1DBF
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 200A # [11]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 200A
2011
2017
-2024 2026 # [3]
+2024 2026
202F
-2033 2034 # [2]
-2036 2037 # [2]
+2033 2034
+2036 2037
203C
203E
-2047 2049 # [3]
+2047 2049
2057
205F
-2070 2071 # [2]
-2074 208E # [27]
-2090 2094 # [5]
+2070 2071
+2074 208E
+2090 209C
20A8
-2100 2103 # [4]
-2105 2107 # [3]
-2109 2113 # [11]
-2115 2116 # [2]
-2119 211D # [5]
-2120 2122 # [3]
+2100 2103
+2105 2107
+2109 2113
+2115 2116
+2119 211D
+2120 2122
2124
2126
2128
-212A 212D # [4]
-212F 2131 # [3]
-2133 2139 # [7]
-213B 2140 # [6]
-2145 2149 # [5]
-2150 217F # [48]
+212A 212D
+212F 2131
+2133 2139
+213B 2140
+2145 2149
+2150 217F
2189
-219A 219B # [2]
+219A 219B
21AE
-21CD 21CF # [3]
+21CD 21CF
2204
2209
220C
2224
2226
-222C 222D # [2]
-222F 2230 # [2]
+222C 222D
+222F 2230
2241
2244
2247
2249
2260
2262
-226D 2271 # [5]
-2274 2275 # [2]
-2278 2279 # [2]
-2280 2281 # [2]
-2284 2285 # [2]
-2288 2289 # [2]
-22AC 22AF # [4]
-22E0 22E3 # [4]
-22EA 22ED # [4]
-2329 232A # [2]
-2460 24EA # [139]
+226D 2271
+2274 2275
+2278 2279
+2280 2281
+2284 2285
+2288 2289
+22AC 22AF
+22E0 22E3
+22EA 22ED
+2329 232A
+2460 24EA
2A0C
-2A74 2A76 # [3]
+2A74 2A76
2ADC
-2C7C 2C7D # [2]
+2C7C 2C7D
2D6F
2E9F
2EF3
-2F00 2FD5 # [214]
+2F00 2FD5
3000
3036
-3038 303A # [3]
+3038 303A
304C
304E
3050
@@ -272,14 +245,14 @@ return <<'END';
3065
3067
3069
-3070 3071 # [2]
-3073 3074 # [2]
-3076 3077 # [2]
-3079 307A # [2]
-307C 307D # [2]
+3070 3071
+3073 3074
+3076 3077
+3079 307A
+307C 307D
3094
-309B 309C # [2]
-309E 309F # [2]
+309B 309C
+309E 309F
30AC
30AE
30B0
@@ -295,98 +268,94 @@ return <<'END';
30C5
30C7
30C9
-30D0 30D1 # [2]
-30D3 30D4 # [2]
-30D6 30D7 # [2]
-30D9 30DA # [2]
-30DC 30DD # [2]
+30D0 30D1
+30D3 30D4
+30D6 30D7
+30D9 30DA
+30DC 30DD
30F4
-30F7 30FA # [4]
-30FE 30FF # [2]
-3131 318E # [94]
-3192 319F # [14]
-3200 321E # [31]
-3220 3247 # [40]
-3250 327E # [47]
-3280 32FE # [127]
-3300 33FF # [256]
+30F7 30FA
+30FE 30FF
+3131 318E
+3192 319F
+3200 321E
+3220 3247
+3250 327E
+3280 32FE
+3300 33FF
A770
-AC00 D7A3 # [11_172]
-F900 FA0D # [270]
+AC00 D7A3
+F900 FA0D
FA10
FA12
-FA15 FA1E # [10]
+FA15 FA1E
FA20
FA22
-FA25 FA26 # [2]
-FA2A FA2D # [4]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+FA25 FA26
+FA2A FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB36 # [24]
-FB38 FB3C # [5]
+FB1F FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFC # [13]
-FE10 FE19 # [10]
-FE30 FE44 # [21]
-FE47 FE52 # [12]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE72 # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE10 FE19
+FE30 FE44
+FE47 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
FE74
-FE76 FEFC # [135]
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
+FE76 FEFC
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
1109A
1109C
110AB
-1D15E 1D164 # [7]
-1D1BB 1D1C0 # [6]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1D15E 1D164
+1D1BB 1D1C0
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F100 1F10A
+1F110 1F12E
+1F130 1F14F
1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-2F800 2FA1D # [542]
+1F200 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl
index b532f66470e..c412c369ef3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl
@@ -1,96 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 411 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Type=Decimal}
-# \p{Nt=De}
-# \p{Is_Numeric_Type=Decimal}
-# \p{Is_Nt=De}
-#
-# \p{General_Category=Decimal_Number}
-# \p{Gc=Nd}
-# \p{Category=Digit}
-# \p{Is_General_Category=Decimal_Number}
-# \p{Is_Gc=Nd}
-# \p{Is_Category=Digit}
-#
-# \p{Digit}
-# \p{Is_Digit}
-# \p{Decimal_Number}
-# \p{Is_Decimal_Number}
-# \p{Nd}
-# \p{Is_Nd}
-#
-# Meaning: \d, extended beyond just [0-9]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Category: Decimal_Number}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0660 0669 # [10]
-06F0 06F9 # [10]
-07C0 07C9 # [10]
-0966 096F # [10]
-09E6 09EF # [10]
-0A66 0A6F # [10]
-0AE6 0AEF # [10]
-0B66 0B6F # [10]
-0BE6 0BEF # [10]
-0C66 0C6F # [10]
-0CE6 0CEF # [10]
-0D66 0D6F # [10]
-0E50 0E59 # [10]
-0ED0 0ED9 # [10]
-0F20 0F29 # [10]
-1040 1049 # [10]
-1090 1099 # [10]
-17E0 17E9 # [10]
-1810 1819 # [10]
-1946 194F # [10]
-19D0 19DA # [11]
-1A80 1A89 # [10]
-1A90 1A99 # [10]
-1B50 1B59 # [10]
-1BB0 1BB9 # [10]
-1C40 1C49 # [10]
-1C50 1C59 # [10]
-A620 A629 # [10]
-A8D0 A8D9 # [10]
-A900 A909 # [10]
-A9D0 A9D9 # [10]
-AA50 AA59 # [10]
-ABF0 ABF9 # [10]
-FF10 FF19 # [10]
-104A0 104A9 # [10]
-1D7CE 1D7FF # [50]
+0030 0039
+0660 0669
+06F0 06F9
+07C0 07C9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE6 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+1090 1099
+17E0 17E9
+1810 1819
+1946 194F
+19D0 19D9
+1A80 1A89
+1A90 1A99
+1B50 1B59
+1BB0 1BB9
+1C40 1C49
+1C50 1C59
+A620 A629
+A8D0 A8D9
+A900 A909
+A9D0 A9D9
+AA50 AA59
+ABF0 ABF9
+FF10 FF19
+104A0 104A9
+11066 1106F
+1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
index 039a934dde7..adeb07a2e4b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
@@ -1,53 +1,32 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 118 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Type=Digit}
-# \p{Nt=Di}
-# \p{Is_Numeric_Type=Digit}
-# \p{Is_Nt=Di}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nt: Digit}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00B2 00B3 # [2]
+00B2 00B3
00B9
-1369 1371 # [9]
+1369 1371
+19DA
2070
-2074 2079 # [6]
-2080 2089 # [10]
-2460 2468 # [9]
-2474 247C # [9]
-2488 2490 # [9]
+2074 2079
+2080 2089
+2460 2468
+2474 247C
+2488 2490
24EA
-24F5 24FD # [9]
+24F5 24FD
24FF
-2776 277E # [9]
-2780 2788 # [9]
-278A 2792 # [9]
-10A40 10A43 # [4]
-10E60 10E68 # [9]
-1F100 1F10A # [11]
+2776 277E
+2780 2788
+278A 2792
+10A40 10A43
+10E60 10E68
+11052 1105A
+1F100 1F10A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
index 83ae8761318..97466da4e73 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
@@ -1,65 +1,43 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 612 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Type=Numeric}
-# \p{Nt=Nu}
-# \p{Is_Numeric_Type=Numeric}
-# \p{Is_Nt=Nu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nt: Numeric}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-00BC 00BE # [3]
-09F4 09F9 # [6]
-0BF0 0BF2 # [3]
-0C78 0C7E # [7]
-0D70 0D75 # [6]
-0F2A 0F33 # [10]
-1372 137C # [11]
-16EE 16F0 # [3]
-17F0 17F9 # [10]
-2150 2182 # [51]
-2185 2189 # [5]
-2469 2473 # [11]
-247D 2487 # [11]
-2491 249B # [11]
-24EB 24F4 # [10]
+00BC 00BE
+09F4 09F9
+0B72 0B77
+0BF0 0BF2
+0C78 0C7E
+0D70 0D75
+0F2A 0F33
+1372 137C
+16EE 16F0
+17F0 17F9
+2150 2182
+2185 2189
+2469 2473
+247D 2487
+2491 249B
+24EB 24F4
24FE
277F
2789
2793
2CFD
3007
-3021 3029 # [9]
-3038 303A # [3]
-3192 3195 # [4]
-3220 3229 # [10]
-3251 325F # [15]
-3280 3289 # [10]
-32B1 32BF # [15]
+3021 3029
+3038 303A
+3192 3195
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
3405
3483
382A
@@ -72,7 +50,7 @@ return <<'END';
4E8C
4E94
4E96
-4EBF 4EC0 # [2]
+4EBF 4EC0
4EDF
4EE8
4F0D
@@ -83,15 +61,15 @@ return <<'END';
516B
516D
5341
-5343 5345 # [3]
+5343 5345
534C
-53C1 53C4 # [4]
+53C1 53C4
56DB
58F1
58F9
5E7A
-5EFE 5EFF # [2]
-5F0C 5F0E # [3]
+5EFE 5EFF
+5F0C 5F0E
5F10
62FE
634C
@@ -109,8 +87,8 @@ return <<'END';
964C
9678
96F6
-A6E6 A6EF # [10]
-A830 A835 # [6]
+A6E6 A6EF
+A830 A835
F96B
F973
F978
@@ -118,24 +96,25 @@ F9B2
F9D1
F9D3
F9FD
-10107 10133 # [45]
-10140 10178 # [57]
+10107 10133
+10140 10178
1018A
-10320 10323 # [4]
+10320 10323
10341
1034A
-103D1 103D5 # [5]
-10858 1085F # [8]
-10916 1091B # [6]
-10A44 10A47 # [4]
-10A7D 10A7E # [2]
-10B58 10B5F # [8]
-10B78 10B7F # [8]
-10E69 10E7E # [22]
-12400 12431 # [50]
-12434 12455 # [34]
-12458 12462 # [11]
-1D360 1D371 # [18]
+103D1 103D5
+10858 1085F
+10916 1091B
+10A44 10A47
+10A7D 10A7E
+10B58 10B5F
+10B78 10B7F
+10E69 10E7E
+1105B 11065
+12400 12431
+12434 12455
+12458 12462
+1D360 1D371
20001
20064
200E2
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
index ea5b4fb9f6c..4dc4eeb99eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 55 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=0}
-# \p{Nv=0}
-# \p{Is_Numeric_Value=0}
-# \p{Is_Nv=0}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 0}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0030
@@ -80,10 +57,11 @@ F9B2
FF10
1018A
104A0
+11066
1D7CE
1D7D8
1D7E2
1D7EC
1D7F6
-1F100 1F101 # [2]
+1F100 1F101
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
index 0d940eb882a..ea5738c8e8f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 91 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1}
-# \p{Nv=1}
-# \p{Is_Numeric_Value=1}
-# \p{Is_Nv=1}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0031
@@ -67,7 +44,7 @@ return <<'END';
1C41
1C51
2081
-215F 2160 # [2]
+215F 2160
2170
2460
2474
@@ -95,7 +72,7 @@ ABF1
FF11
10107
10142
-10158 1015A # [3]
+10158 1015A
10320
103D1
104A1
@@ -106,6 +83,8 @@ FF11
10B58
10B78
10E60
+11052
+11067
12415
1241E
1242C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
index c4741ba40e7..0b109df746b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 38 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=10}
-# \p{Nv=10}
-# \p{Is_Numeric_Value=10}
-# \p{Is_Nv=10}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 10}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0BF0
@@ -56,7 +33,7 @@ F9FD
10149
10150
10157
-10160 10164 # [5]
+10160 10164
10322
103D3
1085B
@@ -65,5 +42,6 @@ F9FD
10B5C
10B7C
10E69
+1105B
1D369
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
index 60da33ffdf2..8b5fc343914 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 19 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=100}
-# \p{Nv=100}
-# \p{Is_Numeric_Value=100}
-# \p{Is_Nv=100}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 100}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0BF1
@@ -51,4 +28,5 @@ return <<'END';
10B5E
10B7E
10E72
+11064
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
index 1803844aa78..06c2516311b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
@@ -1,41 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 16 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1000}
-# \p{Nv=1000}
-# \p{Is_Numeric_Value=1000}
-# \p{Is_Nv=1000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0BF2
0D72
216F
-217F 2180 # [2]
+217F 2180
4EDF
5343
9621
@@ -47,4 +24,5 @@ return <<'END';
10A47
10B5F
10B7F
+11065
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
index 39a94d0978b..6ec794323f5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=10_000}
-# \p{Nv=10_000}
-# \p{Is_Numeric_Value=10_000}
-# \p{Is_Nv=10_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 10000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
137C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
index 09e08f1be0c..2c7a0d18725 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=100_000}
-# \p{Nv=100_000}
-# \p{Is_Numeric_Value=100_000}
-# \p{Is_Nv=100_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 100000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2188
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
index 6682fdefbf6..bc6b8b7f5cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=100_000_000}
-# \p{Nv=100_000_000}
-# \p{Is_Numeric_Value=100_000_000}
-# \p{Is_Nv=100_000_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 100000000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
4EBF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
index e2db54a4b83..8d969e223bd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1_000_000_000_000}
-# \p{Nv=1_000_000_000_000}
-# \p{Is_Numeric_Value=1_000_000_000_000}
-# \p{Is_Nv=1_000_000_000_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1000000000000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
5146
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
index b530938d69d..8aff4dadf51 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 6 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=11}
-# \p{Nv=11}
-# \p{Is_Numeric_Value=11}
-# \p{Is_Nv=11}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 11}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
216A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
index c8dc9aa28d0..8df4704754f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=11/2}
-# \p{Nv=11/2}
-# \p{Is_Numeric_Value=11/2}
-# \p{Is_Nv=11/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 11/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F2F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
index 492843da888..e0b411e59ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 6 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=12}
-# \p{Nv=12}
-# \p{Is_Numeric_Value=12}
-# \p{Is_Nv=12}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 12}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
216B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
index 11377290795..4834fe15893 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=13}
-# \p{Nv=13}
-# \p{Is_Numeric_Value=13}
-# \p{Is_Nv=13}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 13}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
246C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
index aeb230258f9..6935aa07e57 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=13/2}
-# \p{Nv=13/2}
-# \p{Is_Numeric_Value=13/2}
-# \p{Is_Nv=13/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 13/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F30
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
index e0cdf893f0d..cee7e443de9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=14}
-# \p{Nv=14}
-# \p{Is_Numeric_Value=14}
-# \p{Is_Nv=14}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 14}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
246D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
index 35f85591e42..47a922db535 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=15}
-# \p{Nv=15}
-# \p{Is_Numeric_Value=15}
-# \p{Is_Nv=15}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 15}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
246E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
index 82a3a7de365..8a7b03bf411 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=15/2}
-# \p{Nv=15/2}
-# \p{Is_Numeric_Value=15/2}
-# \p{Is_Nv=15/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 15/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F31
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
index 1f30468ea7a..c501245a4d5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=16}
-# \p{Nv=16}
-# \p{Is_Numeric_Value=16}
-# \p{Is_Nv=16}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 16}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
09F9
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
index f5cced567bd..3a4e3b86bc9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=17}
-# \p{Nv=17}
-# \p{Is_Numeric_Value=17}
-# \p{Is_Nv=17}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 17}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
16EE
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
index 13213f657e5..8d5cabf6913 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=17/2}
-# \p{Nv=17/2}
-# \p{Is_Numeric_Value=17/2}
-# \p{Is_Nv=17/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 17/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F32
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
index 850e2105ab6..bb9f82cd1e4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=18}
-# \p{Nv=18}
-# \p{Is_Numeric_Value=18}
-# \p{Is_Nv=18}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 18}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
16EF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
index ea6fac0e6e6..37acf14f470 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=19}
-# \p{Nv=19}
-# \p{Is_Numeric_Value=19}
-# \p{Is_Nv=19}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 19}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
16F0
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
index cbe3a6d3d2b..ee3fc5b4276 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/10}
-# \p{Nv=1/10}
-# \p{Is_Numeric_Value=1/10}
-# \p{Is_Nv=1/10}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/10}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2152
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
index 9b832ed588e..c8c9f092970 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
@@ -1,37 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/16}
-# \p{Nv=1/16}
-# \p{Is_Numeric_Value=1/16}
-# \p{Is_Nv=1/16}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/16}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
09F4
+0B75
A833
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
index f52e69abfac..a7be1e72a21 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
@@ -1,43 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 9 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/2}
-# \p{Nv=1/2}
-# \p{Is_Numeric_Value=1/2}
-# \p{Is_Nv=1/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00BD
+0B73
0D74
0F2A
2CFD
A831
10141
-10175 10176 # [2]
+10175 10176
10E7B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
index ea0170c8d1b..4db31b5371e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/3}
-# \p{Nv=1/3}
-# \p{Is_Numeric_Value=1/3}
-# \p{Is_Nv=1/3}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/3}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2153
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
index fcdb0414b79..effa5e7213f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
@@ -1,39 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 8 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/4}
-# \p{Nv=1/4}
-# \p{Is_Numeric_Value=1/4}
-# \p{Is_Nv=1/4}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/4}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00BC
09F7
+0B72
0D73
A830
10140
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
index 7d52db8cbbd..6bba960b461 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/5}
-# \p{Nv=1/5}
-# \p{Is_Numeric_Value=1/5}
-# \p{Is_Nv=1/5}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/5}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2155
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
index 1846a806d63..fed59bf73c4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/6}
-# \p{Nv=1/6}
-# \p{Is_Numeric_Value=1/6}
-# \p{Is_Nv=1/6}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/6}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2159
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
index 3541dc41124..5e06384fa33 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/7}
-# \p{Nv=1/7}
-# \p{Is_Numeric_Value=1/7}
-# \p{Is_Nv=1/7}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/7}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2150
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
index eaaf2506fdf..517205c1f74 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
@@ -1,38 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/8}
-# \p{Nv=1/8}
-# \p{Is_Numeric_Value=1/8}
-# \p{Is_Nv=1/8}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/8}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
09F5
+0B76
215B
A834
1245F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
index fbeff7e85e2..61ca7a6da4a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=1/9}
-# \p{Nv=1/9}
-# \p{Is_Numeric_Value=1/9}
-# \p{Is_Nv=1/9}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 1/9}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2151
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
index 6521b42fff4..dc770f3db8f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 94 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=2}
-# \p{Nv=2}
-# \p{Is_Numeric_Value=2}
-# \p{Is_Nv=2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0032
@@ -97,7 +74,7 @@ ABF2
F978
FF12
10108
-1015B 1015E # [4]
+1015B 1015E
103D2
104A2
10859
@@ -106,6 +83,8 @@ FF12
10B59
10B79
10E61
+11053
+11068
12400
12416
1241F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
index 9f2a2be614d..834495a6adc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 17 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=20}
-# \p{Nv=20}
-# \p{Is_Numeric_Value=20}
-# \p{Is_Nv=20}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 20}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1373
@@ -48,5 +25,6 @@ return <<'END';
10B5D
10B7D
10E6A
+1105C
1D36A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
index 274c9e9a189..e9dca4932a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=200}
-# \p{Nv=200}
-# \p{Is_Numeric_Value=200}
-# \p{Is_Nv=200}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 200}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1011A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
index 9ffd2c7f744..9aa7438423d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=2000}
-# \p{Nv=2000}
-# \p{Is_Numeric_Value=2000}
-# \p{Is_Nv=2000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 2000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10123
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
index 04a3fc73c45..3cbd15d9ab7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=20_000}
-# \p{Nv=20_000}
-# \p{Is_Numeric_Value=20_000}
-# \p{Is_Nv=20_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 20000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1012C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
index eef8da2fdf6..e63d4f58e7b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=21}
-# \p{Nv=21}
-# \p{Is_Numeric_Value=21}
-# \p{Is_Nv=21}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 21}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3251
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
index cf46af99950..42e231d9eb1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=22}
-# \p{Nv=22}
-# \p{Is_Numeric_Value=22}
-# \p{Is_Nv=22}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 22}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3252
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
index 5ae72fdecb9..95152f67efa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=23}
-# \p{Nv=23}
-# \p{Is_Numeric_Value=23}
-# \p{Is_Nv=23}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 23}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3253
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
index e97a3a0fb1a..e8b7da3b992 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=24}
-# \p{Nv=24}
-# \p{Is_Numeric_Value=24}
-# \p{Is_Nv=24}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 24}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3254
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
index 58af658bd6e..dfdf0b8b006 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=25}
-# \p{Nv=25}
-# \p{Is_Numeric_Value=25}
-# \p{Is_Nv=25}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 25}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3255
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
index d4ab6fb8288..1ec1d04407c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=26}
-# \p{Nv=26}
-# \p{Is_Numeric_Value=26}
-# \p{Is_Nv=26}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 26}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3256
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
index be4e034f955..538e8fbb472 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=27}
-# \p{Nv=27}
-# \p{Is_Numeric_Value=27}
-# \p{Is_Nv=27}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 27}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3257
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
index 700769fccd5..0421f47ee50 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=28}
-# \p{Nv=28}
-# \p{Is_Numeric_Value=28}
-# \p{Is_Nv=28}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 28}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3258
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
index 8a968b0ba70..64e9d62de79 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=29}
-# \p{Nv=29}
-# \p{Is_Numeric_Value=29}
-# \p{Is_Nv=29}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 29}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
3259
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
index 901149ad155..6eb8ad109d0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=2/3}
-# \p{Nv=2/3}
-# \p{Is_Numeric_Value=2/3}
-# \p{Is_Nv=2/3}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 2/3}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2154
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
index e3f142d5040..08502b91a71 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=2/5}
-# \p{Nv=2/5}
-# \p{Is_Numeric_Value=2/5}
-# \p{Is_Nv=2/5}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 2/5}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2156
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
index 57f8b1b0655..7ab54604c16 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=3}
-# \p{Nv=3}
-# \p{Is_Numeric_Value=3}
-# \p{Is_Nv=3}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0033
@@ -81,7 +58,7 @@ return <<'END';
3282
4E09
4EE8
-53C1 53C4 # [4]
+53C1 53C4
5F0E
A623
A6E8
@@ -100,14 +77,16 @@ FF13
10B5A
10B7A
10E62
+11054
+11069
12401
12408
12417
12420
-12424 12425 # [2]
-1242E 1242F # [2]
-12436 12437 # [2]
-1243A 1243B # [2]
+12424 12425
+1242E 1242F
+12436 12437
+1243A 1243B
1244B
12451
1D362
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
index 61bbe4ac551..c5d95ae7c4f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 9 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=30}
-# \p{Nv=30}
-# \p{Is_Numeric_Value=30}
-# \p{Is_Nv=30}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 30}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1374
@@ -39,6 +16,7 @@ return <<'END';
10112
10165
10E6B
+1105D
1D36B
20983
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
index a25d81df132..c0279250260 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=300}
-# \p{Nv=300}
-# \p{Is_Numeric_Value=300}
-# \p{Is_Nv=300}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 300}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1011B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
index efe75ab8278..47c70b904b2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=3000}
-# \p{Nv=3000}
-# \p{Is_Numeric_Value=3000}
-# \p{Is_Nv=3000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10124
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
index d6f3208f5ff..beed76de730 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=30_000}
-# \p{Nv=30_000}
-# \p{Is_Numeric_Value=30_000}
-# \p{Is_Nv=30_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 30000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1012D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
index fad13eee929..10c499a7c0f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=31}
-# \p{Nv=31}
-# \p{Is_Numeric_Value=31}
-# \p{Is_Nv=31}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 31}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
325B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
index ffa8108d95f..1f10d5c9c47 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=32}
-# \p{Nv=32}
-# \p{Is_Numeric_Value=32}
-# \p{Is_Nv=32}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 32}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
325C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
index 32224a7a896..1de1d114601 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=33}
-# \p{Nv=33}
-# \p{Is_Numeric_Value=33}
-# \p{Is_Nv=33}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 33}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
325D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
index c76fc894aed..cb388d6cd19 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=34}
-# \p{Nv=34}
-# \p{Is_Numeric_Value=34}
-# \p{Is_Nv=34}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 34}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
325E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
index bfe585f607a..05794b5f87f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=35}
-# \p{Nv=35}
-# \p{Is_Numeric_Value=35}
-# \p{Is_Nv=35}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 35}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
325F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
index 21ae88d46e2..0d30108b028 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=36}
-# \p{Nv=36}
-# \p{Is_Numeric_Value=36}
-# \p{Is_Nv=36}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 36}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B1
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
index 2a2db4198dd..75a978c2c5b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=37}
-# \p{Nv=37}
-# \p{Is_Numeric_Value=37}
-# \p{Is_Nv=37}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 37}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B2
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
index 6e0e7a8b76c..e640e22416a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=38}
-# \p{Nv=38}
-# \p{Is_Numeric_Value=38}
-# \p{Is_Nv=38}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 38}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B3
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
index e29f4413c0d..3ea929c1372 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=39}
-# \p{Nv=39}
-# \p{Is_Numeric_Value=39}
-# \p{Is_Nv=39}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 39}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B4
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
index 672871ecff4..bf0db5e5a9d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
@@ -1,37 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=3/16}
-# \p{Nv=3/16}
-# \p{Is_Numeric_Value=3/16}
-# \p{Is_Nv=3/16}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3/16}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
09F6
+0B77
A835
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
index d8b39ed33f9..e4f491bf7df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=3/2}
-# \p{Nv=3/2}
-# \p{Is_Numeric_Value=3/2}
-# \p{Is_Nv=3/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F2B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
index 982482de3fa..c347844adc7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
@@ -1,39 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=3/4}
-# \p{Nv=3/4}
-# \p{Is_Numeric_Value=3/4}
-# \p{Is_Nv=3/4}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3/4}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00BE
09F8
+0B74
0D75
A832
10178
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
index b643bb3907a..2104b65c1e5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=3/5}
-# \p{Nv=3/5}
-# \p{Is_Numeric_Value=3/5}
-# \p{Is_Nv=3/5}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3/5}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2157
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
index 17666d3575a..e1063b7a6f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=3/8}
-# \p{Nv=3/8}
-# \p{Is_Numeric_Value=3/8}
-# \p{Is_Nv=3/8}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 3/8}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
215C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
index be0f67a0940..cc7d37202ba 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 87 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=4}
-# \p{Nv=4}
-# \p{Is_Numeric_Value=4}
-# \p{Is_Nv=4}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 4}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0034
@@ -94,6 +71,8 @@ FF14
10B5B
10B7B
10E63
+11055
+1106A
12402
12409
1240F
@@ -102,9 +81,9 @@ FF14
12426
12430
12438
-1243C 1243F # [4]
+1243C 1243F
1244C
-12452 12453 # [2]
+12452 12453
1D363
1D7D2
1D7DC
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
index 4a018760013..d2e9f1631cd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 8 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=40}
-# \p{Nv=40}
-# \p{Is_Numeric_Value=40}
-# \p{Is_Nv=40}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 40}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1375
@@ -37,6 +14,7 @@ return <<'END';
534C
10113
10E6C
+1105E
1D36C
2098C
2099C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
index d642c2217fc..8b2b7a76d73 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=400}
-# \p{Nv=400}
-# \p{Is_Numeric_Value=400}
-# \p{Is_Nv=400}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 400}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1011C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
index 98f038b2b04..2ec9232bd4d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=4000}
-# \p{Nv=4000}
-# \p{Is_Numeric_Value=4000}
-# \p{Is_Nv=4000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 4000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10125
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
index 15e811ce792..cc7cbb95a09 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=40_000}
-# \p{Nv=40_000}
-# \p{Is_Numeric_Value=40_000}
-# \p{Is_Nv=40_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 40000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1012E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
index 9fa975b0392..81708b9619a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=41}
-# \p{Nv=41}
-# \p{Is_Numeric_Value=41}
-# \p{Is_Nv=41}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 41}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B6
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
index a0d61e10c27..05e6001ec24 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=42}
-# \p{Nv=42}
-# \p{Is_Numeric_Value=42}
-# \p{Is_Nv=42}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 42}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B7
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
index add3246e664..495d48b34d7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=43}
-# \p{Nv=43}
-# \p{Is_Numeric_Value=43}
-# \p{Is_Nv=43}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 43}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B8
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
index 3d2de5b4f90..222e8f645a5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=44}
-# \p{Nv=44}
-# \p{Is_Numeric_Value=44}
-# \p{Is_Nv=44}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 44}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32B9
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
index 7ffbf67be16..2f13a50930d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=45}
-# \p{Nv=45}
-# \p{Is_Numeric_Value=45}
-# \p{Is_Nv=45}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 45}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32BA
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
index 60b11d7bca3..467f7ca0b5d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=46}
-# \p{Nv=46}
-# \p{Is_Numeric_Value=46}
-# \p{Is_Nv=46}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 46}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32BB
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
index a08d6588e42..bd74bbdfaa8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=47}
-# \p{Nv=47}
-# \p{Is_Numeric_Value=47}
-# \p{Is_Nv=47}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 47}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32BC
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
index 341346bd436..80ab87d4d8c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=48}
-# \p{Nv=48}
-# \p{Is_Numeric_Value=48}
-# \p{Is_Nv=48}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 48}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32BD
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
index f568f2d9739..2968970c1e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=49}
-# \p{Nv=49}
-# \p{Is_Numeric_Value=49}
-# \p{Is_Nv=49}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 49}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
32BE
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
index 267c6ff0e07..8a19596517d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=4/5}
-# \p{Nv=4/5}
-# \p{Is_Numeric_Value=4/5}
-# \p{Is_Nv=4/5}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 4/5}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2158
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
index 74f4fee432a..bda199f04b9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 84 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=5}
-# \p{Nv=5}
-# \p{Is_Numeric_Value=5}
-# \p{Is_Nv=5}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 5}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0035
@@ -97,6 +74,8 @@ FF15
10321
104A5
10E64
+11056
+1106B
12403
1240A
12410
@@ -106,7 +85,7 @@ FF15
12431
12439
1244D
-12454 12455 # [2]
+12454 12455
1D364
1D7D3
1D7DD
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
index b3be5b0c0ac..73648bda729 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 18 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=50}
-# \p{Nv=50}
-# \p{Is_Numeric_Value=50}
-# \p{Is_Nv=50}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 50}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1376
@@ -41,10 +18,11 @@ return <<'END';
10144
1014A
10151
-10166 10169 # [4]
+10166 10169
10174
10323
10A7E
10E6D
+1105F
1D36D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
index 4f47a95a4ec..e891ad57e6c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 12 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=500}
-# \p{Nv=500}
-# \p{Is_Numeric_Value=500}
-# \p{Is_Nv=500}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 500}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
216E
@@ -38,6 +15,6 @@ return <<'END';
10145
1014C
10153
-1016C 10170 # [5]
+1016C 10170
10E76
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
index a8beeb783a1..aada010d9f8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=5000}
-# \p{Nv=5000}
-# \p{Is_Numeric_Value=5000}
-# \p{Is_Nv=5000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 5000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2181
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
index 7eda549c76b..f68a87552ad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=50_000}
-# \p{Nv=50_000}
-# \p{Is_Numeric_Value=50_000}
-# \p{Is_Nv=50_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 50000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2187
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
index d3ca1cf74cc..14b7a140b7c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=5/2}
-# \p{Nv=5/2}
-# \p{Is_Numeric_Value=5/2}
-# \p{Is_Nv=5/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 5/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F2C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
index 00aeaf5953c..acb66a18f2d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=5/6}
-# \p{Nv=5/6}
-# \p{Is_Numeric_Value=5/6}
-# \p{Is_Nv=5/6}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 5/6}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
215A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
index 005714e1fc5..d4432c7ce8f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=5/8}
-# \p{Nv=5/8}
-# \p{Is_Numeric_Value=5/8}
-# \p{Is_Nv=5/8}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 5/8}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
215D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
index 94095c959a1..cac565724ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 76 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=6}
-# \p{Nv=6}
-# \p{Is_Numeric_Value=6}
-# \p{Is_Nv=6}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 6}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0036
@@ -93,6 +70,8 @@ FF16
1010C
104A6
10E65
+11057
+1106C
12404
1240B
12411
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
index a98991fe2a5..31136839d84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
@@ -1,39 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=60}
-# \p{Nv=60}
-# \p{Is_Numeric_Value=60}
-# \p{Is_Nv=60}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 60}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1377
10115
10E6E
+11060
1D36E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
index 498d7ffa5a2..3277166548a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=600}
-# \p{Nv=600}
-# \p{Is_Numeric_Value=600}
-# \p{Is_Nv=600}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 600}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1011E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
index f934cd75134..04d206d13f7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=6000}
-# \p{Nv=6000}
-# \p{Is_Numeric_Value=6000}
-# \p{Is_Nv=6000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 6000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10127
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
index db5356a0e9b..12229a3a28d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=60_000}
-# \p{Nv=60_000}
-# \p{Is_Numeric_Value=60_000}
-# \p{Is_Nv=60_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 60000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10130
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
index 97a94e00167..e9429f025e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 75 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=7}
-# \p{Nv=7}
-# \p{Is_Numeric_Value=7}
-# \p{Is_Nv=7}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 7}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0037
@@ -91,12 +68,14 @@ FF17
1010D
104A7
10E66
+11058
+1106D
12405
1240C
12412
1241B
12429
-12441 12443 # [3]
+12441 12443
1D366
1D7D5
1D7DF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
index 2289229d50b..ba986e04bb6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
@@ -1,39 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=70}
-# \p{Nv=70}
-# \p{Is_Numeric_Value=70}
-# \p{Is_Nv=70}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 70}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1378
10116
10E6F
+11061
1D36F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
index ea81a907cb6..988108d0781 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=700}
-# \p{Nv=700}
-# \p{Is_Numeric_Value=700}
-# \p{Is_Nv=700}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 700}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1011F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
index 9f5d110747a..5470fa790cb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=7000}
-# \p{Nv=7000}
-# \p{Is_Numeric_Value=7000}
-# \p{Is_Nv=7000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 7000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10128
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
index 26183f105a2..f82f057c72e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=70_000}
-# \p{Nv=70_000}
-# \p{Is_Numeric_Value=70_000}
-# \p{Is_Nv=70_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 70000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10131
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
index 69384e5df4b..37df8c514c5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=7/2}
-# \p{Nv=7/2}
-# \p{Is_Numeric_Value=7/2}
-# \p{Is_Nv=7/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 7/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F2D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
index a0bd40d6106..ce201c0c1ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=7/8}
-# \p{Nv=7/8}
-# \p{Is_Numeric_Value=7/8}
-# \p{Is_Nv=7/8}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 7/8}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
215E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
index fd528e163bf..d4b2e20ee05 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 71 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=8}
-# \p{Nv=8}
-# \p{Is_Numeric_Value=8}
-# \p{Is_Nv=8}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 8}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0038
@@ -89,12 +66,14 @@ FF18
1010E
104A8
10E67
+11059
+1106E
12406
1240D
12413
1241C
1242A
-12444 12445 # [2]
+12444 12445
1D367
1D7D6
1D7E0
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
index 7404907c32e..551d8840156 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
@@ -1,39 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=80}
-# \p{Nv=80}
-# \p{Is_Numeric_Value=80}
-# \p{Is_Nv=80}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 80}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1379
10117
10E70
+11062
1D370
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
index 9e2fe7256d3..1aeb3683993 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=800}
-# \p{Nv=800}
-# \p{Is_Numeric_Value=800}
-# \p{Is_Nv=800}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 800}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10120
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
index 2c3405c3078..b9c4f3e0087 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=8000}
-# \p{Nv=8000}
-# \p{Is_Numeric_Value=8000}
-# \p{Is_Nv=8000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 8000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10129
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
index 356ef39fb4c..7248a1875b3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=80_000}
-# \p{Nv=80_000}
-# \p{Is_Numeric_Value=80_000}
-# \p{Is_Nv=80_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 80000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10132
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
index daa4cf7d876..88a69158899 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 75 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Numeric_Value=9}
-# \p{Nv=9}
-# \p{Is_Numeric_Value=9}
-# \p{Is_Nv=9}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 9}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0039
@@ -90,12 +67,14 @@ FF19
1010F
104A9
10E68
+1105A
+1106F
12407
1240E
12414
1241D
1242B
-12446 12449 # [4]
+12446 12449
1D368
1D7D7
1D7E1
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
index 81a3d315e32..a932d873546 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
@@ -1,40 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=90}
-# \p{Nv=90}
-# \p{Is_Numeric_Value=90}
-# \p{Is_Nv=90}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 90}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
137A
10118
10341
10E71
+11063
1D371
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
index aa34e4de245..c367c593cba 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Numeric_Value=900}
-# \p{Nv=900}
-# \p{Is_Numeric_Value=900}
-# \p{Is_Nv=900}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 900}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10121
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
index 787612eca3f..23c75ffe852 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=9000}
-# \p{Nv=9000}
-# \p{Is_Numeric_Value=9000}
-# \p{Is_Nv=9000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 9000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
1012A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
index ac892b6bb75..4f7a19f185a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=90_000}
-# \p{Nv=90_000}
-# \p{Is_Numeric_Value=90_000}
-# \p{Is_Nv=90_000}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 90000}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
10133
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
index 687a6bd95a4..1b143af3886 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=9/2}
-# \p{Nv=9/2}
-# \p{Is_Numeric_Value=9/2}
-# \p{Is_Nv=9/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: 9/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F2E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl
index f5425ac85c6..37365601e68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl
@@ -1,204 +1,170 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 1_112_971 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Numeric_Value=NaN}
-# \p{Nv=NaN}
-# \p{Is_Numeric_Value=NaN}
-# \p{Is_Nv=NaN}
-#
-# \p{Numeric_Type=None}
-# \p{Nt=None}
-# \p{Is_Numeric_Type=None}
-# \p{Is_Nt=None}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Nt: None}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002F # [48]
-003A 00B1 # [120]
-00B4 00B8 # [5]
-00BA 00BB # [2]
-00BF 065F # [1441]
-066A 06EF # [134]
-06FA 07BF # [198]
-07CA 0965 # [412]
-0970 09E5 # [118]
-09F0 09F3 # [4]
-09FA 0A65 # [108]
-0A70 0AE5 # [118]
-0AF0 0B65 # [118]
-0B70 0BE5 # [118]
-0BF3 0C65 # [115]
-0C70 0C77 # [8]
-0C7F 0CE5 # [103]
-0CF0 0D65 # [118]
-0D76 0E4F # [218]
-0E5A 0ECF # [118]
-0EDA 0F1F # [70]
-0F34 103F # [268]
-104A 108F # [70]
-109A 1368 # [719]
-137D 16ED # [881]
-16F1 17DF # [239]
-17EA 17EF # [6]
-17FA 180F # [22]
-181A 1945 # [300]
-1950 19CF # [128]
-19DB 1A7F # [165]
-1A8A 1A8F # [6]
-1A9A 1B4F # [182]
-1B5A 1BAF # [86]
-1BBA 1C3F # [134]
-1C4A 1C4F # [6]
-1C5A 206F # [1046]
-2071 2073 # [3]
-207A 207F # [6]
-208A 214F # [198]
-2183 2184 # [2]
-218A 245F # [726]
-249C 24E9 # [78]
-2500 2775 # [630]
-2794 2CFC # [1385]
-2CFE 3006 # [777]
-3008 3020 # [25]
-302A 3037 # [14]
-303B 3191 # [343]
-3196 321F # [138]
-322A 3250 # [39]
-3260 327F # [32]
-328A 32B0 # [39]
-32C0 3404 # [325]
-3406 3482 # [125]
-3484 3829 # [934]
-382B 3B4C # [802]
-3B4E 4DFF # [4786]
-4E01 4E02 # [2]
-4E04 4E06 # [3]
+0000 002F
+003A 00B1
+00B4 00B8
+00BA 00BB
+00BF 065F
+066A 06EF
+06FA 07BF
+07CA 0965
+0970 09E5
+09F0 09F3
+09FA 0A65
+0A70 0AE5
+0AF0 0B65
+0B70 0B71
+0B78 0BE5
+0BF3 0C65
+0C70 0C77
+0C7F 0CE5
+0CF0 0D65
+0D76 0E4F
+0E5A 0ECF
+0EDA 0F1F
+0F34 103F
+104A 108F
+109A 1368
+137D 16ED
+16F1 17DF
+17EA 17EF
+17FA 180F
+181A 1945
+1950 19CF
+19DB 1A7F
+1A8A 1A8F
+1A9A 1B4F
+1B5A 1BAF
+1BBA 1C3F
+1C4A 1C4F
+1C5A 206F
+2071 2073
+207A 207F
+208A 214F
+2183 2184
+218A 245F
+249C 24E9
+2500 2775
+2794 2CFC
+2CFE 3006
+3008 3020
+302A 3037
+303B 3191
+3196 321F
+322A 3250
+3260 327F
+328A 32B0
+32C0 3404
+3406 3482
+3484 3829
+382B 3B4C
+3B4E 4DFF
+4E01 4E02
+4E04 4E06
4E08
-4E0A 4E5C # [83]
-4E5E 4E8B # [46]
-4E8D 4E93 # [7]
+4E0A 4E5C
+4E5E 4E8B
+4E8D 4E93
4E95
-4E97 4EBE # [40]
-4EC1 4EDE # [30]
-4EE0 4EE7 # [8]
-4EE9 4F0C # [36]
-4F0E 4F6F # [98]
-4F71 5103 # [403]
-5105 5145 # [65]
-5147 5168 # [34]
+4E97 4EBE
+4EC1 4EDE
+4EE0 4EE7
+4EE9 4F0C
+4F0E 4F6F
+4F71 5103
+5105 5145
+5147 5168
516A
516C
-516E 5340 # [467]
+516E 5340
5342
-5346 534B # [6]
-534D 53C0 # [116]
-53C5 56DA # [790]
-56DC 58F0 # [533]
-58F2 58F8 # [7]
-58FA 5E79 # [1408]
-5E7B 5EFD # [131]
-5F00 5F0B # [12]
+5346 534B
+534D 53C0
+53C5 56DA
+56DC 58F0
+58F2 58F8
+58FA 5E79
+5E7B 5EFD
+5F00 5F0B
5F0F
-5F11 62FD # [1005]
-62FF 634B # [77]
-634D 67D1 # [1157]
-67D3 6F05 # [1843]
-6F07 7395 # [1167]
-7397 767D # [743]
-767F 8085 # [2567]
-8087 842B # [933]
-842D 8CAD # [2177]
-8CAF 8CB2 # [4]
-8CB4 8D2F # [124]
-8D31 9620 # [2288]
-9622 9645 # [36]
-9647 964B # [5]
-964D 9677 # [43]
-9679 96F5 # [125]
-96F7 A61F # [3881]
-A62A A6E5 # [188]
-A6F0 A82F # [320]
-A836 A8CF # [154]
-A8DA A8FF # [38]
-A90A A9CF # [198]
-A9DA AA4F # [118]
-AA5A ABEF # [406]
-ABFA F96A # [19_825]
-F96C F972 # [7]
-F974 F977 # [4]
-F979 F9B1 # [57]
-F9B3 F9D0 # [30]
+5F11 62FD
+62FF 634B
+634D 67D1
+67D3 6F05
+6F07 7395
+7397 767D
+767F 8085
+8087 842B
+842D 8CAD
+8CAF 8CB2
+8CB4 8D2F
+8D31 9620
+9622 9645
+9647 964B
+964D 9677
+9679 96F5
+96F7 A61F
+A62A A6E5
+A6F0 A82F
+A836 A8CF
+A8DA A8FF
+A90A A9CF
+A9DA AA4F
+AA5A ABEF
+ABFA F96A
+F96C F972
+F974 F977
+F979 F9B1
+F9B3 F9D0
F9D2
-F9D4 F9FC # [41]
-F9FE FF0F # [1298]
-FF1A 10106 # [493]
-10134 1013F # [12]
-10179 10189 # [17]
-1018B 1031F # [405]
-10324 10340 # [29]
-10342 10349 # [8]
-1034B 103D0 # [134]
-103D6 1049F # [202]
-104AA 10857 # [942]
-10860 10915 # [182]
-1091C 10A3F # [292]
-10A48 10A7C # [53]
-10A7F 10B57 # [217]
-10B60 10B77 # [24]
-10B80 10E5F # [736]
-10E7F 123FF # [5505]
-12432 12433 # [2]
-12456 12457 # [2]
-12463 1D35F # [44_797]
-1D372 1D7CD # [1116]
-1D800 1F0FF # [6400]
-1F10B 20000 # [3830]
-20002 20063 # [98]
-20065 200E1 # [125]
-200E3 20120 # [62]
-20122 20929 # [2056]
-2092B 20982 # [88]
-20984 2098B # [8]
-2098D 2099B # [15]
-2099D 20AE9 # [333]
-20AEB 20AFC # [18]
-20AFE 20B18 # [27]
-20B1A 2238F # [6262]
-22391 22997 # [1543]
-22999 23B1A # [4482]
-23B1C 2626C # [10_065]
-2626E 2F88F # [38_434]
-2F891 10FFFF # [919_407]
+F9D4 F9FC
+F9FE FF0F
+FF1A 10106
+10134 1013F
+10179 10189
+1018B 1031F
+10324 10340
+10342 10349
+1034B 103D0
+103D6 1049F
+104AA 10857
+10860 10915
+1091C 10A3F
+10A48 10A7C
+10A7F 10B57
+10B60 10B77
+10B80 10E5F
+10E7F 11051
+11070 123FF
+12432 12433
+12456 12457
+12463 1D35F
+1D372 1D7CD
+1D800 1F0FF
+1F10B 20000
+20002 20063
+20065 200E1
+200E3 20120
+20122 20929
+2092B 20982
+20984 2098B
+2098D 2099B
+2099D 20AE9
+20AEB 20AFC
+20AFE 20B18
+20B1A 2238F
+22391 22997
+22999 23B1A
+23B1C 2626C
+2626E 2F88F
+2F891 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
index 97201d35218..3ef68861ef6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the single code point in Unicode Version 5.2.0 that
-# matches any of the following regular expression constructs:
-#
-# \p{Numeric_Value=-1/2}
-# \p{Nv=-1/2}
-# \p{Is_Numeric_Value=-1/2}
-# \p{Is_Nv=-1/2}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Nv: -1/2}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0F33
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl
index 9ce2119289a..9633f9f88c2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl
@@ -1,184 +1,158 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_113_353 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_Alphabetic=No}
-# D \p{OAlpha=N}
-# D \p{Is_Other_Alphabetic=F}
-# D \p{Is_OAlpha=False}
-#
-# D \P{Other_Alphabetic}
-# D \P{Is_Other_Alphabetic}
-# D \P{OAlpha}
-# D \P{Is_OAlpha}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OAlpha: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0344 # [837]
-0346 05AF # [618]
+0000 0344
+0346 05AF
05BE
05C0
05C3
05C6
-05C8 060F # [72]
-061B 064A # [48]
+05C8 060F
+061B 064A
0658
-065F 066F # [17]
-0671 06D5 # [101]
-06DD 06E0 # [4]
-06E5 06E6 # [2]
-06E9 06EC # [4]
-06EE 0710 # [35]
-0712 072F # [30]
-0740 07A5 # [102]
-07B1 0815 # [101]
-0818 081A # [3]
+0660 066F
+0671 06D5
+06DD 06E0
+06E5 06E6
+06E9 06EC
+06EE 0710
+0712 072F
+0740 07A5
+07B1 0815
+0818 081A
0824
0828
-082D 08FF # [211]
-0904 093D # [58]
+082D 08FF
+0904 0939
+093C 093D
094D
-094F 0954 # [6]
-0956 0961 # [12]
-0964 0980 # [29]
-0984 09BD # [58]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CD 09D6 # [10]
-09D8 09E1 # [10]
-09E4 0A00 # [29]
-0A04 0A3D # [58]
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4D 0A50 # [4]
-0A52 0A6F # [30]
-0A72 0A74 # [3]
-0A76 0A80 # [11]
-0A84 0ABD # [58]
+0950 0954
+0958 0961
+0964 0980
+0984 09BD
+09C5 09C6
+09C9 09CA
+09CD 09D6
+09D8 09E1
+09E4 0A00
+0A04 0A3D
+0A43 0A46
+0A49 0A4A
+0A4D 0A50
+0A52 0A6F
+0A72 0A74
+0A76 0A80
+0A84 0ABD
0AC6
0ACA
-0ACD 0AE1 # [21]
-0AE4 0B00 # [29]
-0B04 0B3D # [58]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4D 0B55 # [9]
-0B58 0B61 # [10]
-0B64 0B81 # [30]
-0B83 0BBD # [59]
-0BC3 0BC5 # [3]
+0ACD 0AE1
+0AE4 0B00
+0B04 0B3D
+0B45 0B46
+0B49 0B4A
+0B4D 0B55
+0B58 0B61
+0B64 0B81
+0B83 0BBD
+0BC3 0BC5
0BC9
-0BCD 0BD6 # [10]
-0BD8 0C00 # [41]
-0C04 0C3D # [58]
+0BCD 0BD6
+0BD8 0C00
+0C04 0C3D
0C45
0C49
-0C4D 0C54 # [8]
-0C57 0C61 # [11]
-0C64 0C81 # [30]
-0C84 0CBD # [58]
+0C4D 0C54
+0C57 0C61
+0C64 0C81
+0C84 0CBD
0CC5
0CC9
-0CCD 0CD4 # [8]
-0CD7 0CE1 # [11]
-0CE4 0D01 # [30]
-0D04 0D3D # [58]
+0CCD 0CD4
+0CD7 0CE1
+0CE4 0D01
+0D04 0D3D
0D45
0D49
-0D4D 0D56 # [10]
-0D58 0D61 # [10]
-0D64 0D81 # [30]
-0D84 0DCE # [75]
+0D4D 0D56
+0D58 0D61
+0D64 0D81
+0D84 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E30 # [61]
-0E32 0E33 # [2]
-0E3B 0E4C # [18]
-0E4E 0EB0 # [99]
-0EB2 0EB3 # [2]
+0DE0 0DF1
+0DF4 0E30
+0E32 0E33
+0E3B 0E4C
+0E4E 0EB0
+0EB2 0EB3
0EBA
-0EBD 0ECC # [16]
-0ECE 0F70 # [163]
-0F82 0F8F # [14]
+0EBD 0ECC
+0ECE 0F70
+0F82 0F8C
0F98
-0FBD 102A # [110]
+0FBD 102A
1037
-1039 103A # [2]
-103F 1055 # [23]
-105A 105D # [4]
+1039 103A
+103F 1055
+105A 105D
1061
-1063 1066 # [4]
-1069 1070 # [8]
-1075 1081 # [13]
-1087 109B # [21]
-109E 135E # [705]
-1360 1711 # [946]
-1714 1731 # [30]
-1734 1751 # [30]
-1754 1771 # [30]
-1774 17B5 # [66]
-17C9 18A8 # [224]
-18AA 191F # [118]
-192C 192F # [4]
-1939 19AF # [119]
-19C1 19C7 # [7]
-19CA 1A16 # [77]
-1A1C 1A54 # [57]
-1A5F 1A60 # [2]
-1A75 1AFF # [139]
-1B05 1B34 # [48]
-1B44 1B7F # [60]
-1B83 1BA0 # [30]
-1BAA 1C23 # [122]
-1C36 1CF1 # [188]
-1CF3 24B5 # [1987]
-24EA 2DDF # [2294]
-2E00 A822 # [31_267]
-A828 A87F # [88]
-A882 A8B3 # [50]
-A8C4 A925 # [98]
-A92B A946 # [28]
-A953 A97F # [45]
-A984 A9B2 # [47]
-A9C0 AA28 # [105]
-AA37 AA42 # [12]
-AA44 AA4B # [8]
-AA4E AAAF # [98]
+1063 1066
+1069 1070
+1075 1081
+1087 109B
+109E 135E
+1360 1711
+1714 1731
+1734 1751
+1754 1771
+1774 17B5
+17C9 18A8
+18AA 191F
+192C 192F
+1939 19AF
+19C1 19C7
+19CA 1A16
+1A1C 1A54
+1A5F 1A60
+1A75 1AFF
+1B05 1B34
+1B44 1B7F
+1B83 1BA0
+1BAA 1BE6
+1BF2 1C23
+1C36 1CF1
+1CF3 24B5
+24EA 2DDF
+2E00 A822
+A828 A87F
+A882 A8B3
+A8C4 A925
+A92B A946
+A953 A97F
+A984 A9B3
+A9C0 AA28
+AA37 AA42
+AA44 AA4B
+AA4E AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
-AABF ABE2 # [292]
-ABEB FB1D # [20_275]
-FB1F 10A00 # [3810]
+AAB5 AAB6
+AAB9 AABD
+AABF ABE2
+ABEB FB1D
+FB1F 10A00
10A04
-10A07 10A0B # [5]
-10A10 11081 # [1650]
-11083 110AF # [45]
-110B9 10FFFF # [1_044_295]
+10A07 10A0B
+10A10 10FFF
+11003 11037
+11046 11081
+11083 110AF
+110B9 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl
index bd5566f0986..b9eb6ea770c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl
@@ -1,183 +1,157 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 759 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_Alphabetic=Yes}
-# D \p{OAlpha=Y}
-# D \p{Is_Other_Alphabetic=T}
-# D \p{Is_OAlpha=True}
-#
-# D \p{Other_Alphabetic}
-# D \p{Is_Other_Alphabetic}
-# D \p{OAlpha}
-# D \p{Is_OAlpha}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OAlpha: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0345
-05B0 05BD # [14]
+05B0 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 0657 # [13]
-0659 065E # [6]
+0610 061A
+064B 0657
+0659 065F
0670
-06D6 06DC # [7]
-06E1 06E4 # [4]
-06E7 06E8 # [2]
+06D6 06DC
+06E1 06E4
+06E7 06E8
06ED
0711
-0730 073F # [16]
-07A6 07B0 # [11]
-0816 0817 # [2]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082C # [4]
-0900 0903 # [4]
-093E 094C # [15]
-094E
-0955
-0962 0963 # [2]
-0981 0983 # [3]
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CC # [2]
+0730 073F
+07A6 07B0
+0816 0817
+081B 0823
+0825 0827
+0829 082C
+0900 0903
+093A 093B
+093E 094C
+094E 094F
+0955 0957
+0962 0963
+0981 0983
+09BE 09C4
+09C7 09C8
+09CB 09CC
09D7
-09E2 09E3 # [2]
-0A01 0A03 # [3]
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4C # [2]
+09E2 09E3
+0A01 0A03
+0A3E 0A42
+0A47 0A48
+0A4B 0A4C
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A83 # [3]
-0ABE 0AC5 # [8]
-0AC7 0AC9 # [3]
-0ACB 0ACC # [2]
-0AE2 0AE3 # [2]
-0B01 0B03 # [3]
-0B3E 0B44 # [7]
-0B47 0B48 # [2]
-0B4B 0B4C # [2]
-0B56 0B57 # [2]
-0B62 0B63 # [2]
+0A81 0A83
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACC
+0AE2 0AE3
+0B01 0B03
+0B3E 0B44
+0B47 0B48
+0B4B 0B4C
+0B56 0B57
+0B62 0B63
0B82
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCC # [3]
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCC
0BD7
-0C01 0C03 # [3]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4C # [3]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
-0C82 0C83 # [2]
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCC # [3]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
-0D02 0D03 # [2]
-0D3E 0D44 # [7]
-0D46 0D48 # [3]
-0D4A 0D4C # [3]
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4C
+0C55 0C56
+0C62 0C63
+0C82 0C83
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCC
+0CD5 0CD6
+0CE2 0CE3
+0D02 0D03
+0D3E 0D44
+0D46 0D48
+0D4A 0D4C
0D57
-0D62 0D63 # [2]
-0D82 0D83 # [2]
-0DCF 0DD4 # [6]
+0D62 0D63
+0D82 0D83
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
+0DD8 0DDF
+0DF2 0DF3
0E31
-0E34 0E3A # [7]
+0E34 0E3A
0E4D
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
+0EB4 0EB9
+0EBB 0EBC
0ECD
-0F71 0F81 # [17]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-102B 1036 # [12]
+0F71 0F81
+0F8D 0F97
+0F99 0FBC
+102B 1036
1038
-103B 103E # [4]
-1056 1059 # [4]
-105E 1060 # [3]
+103B 103E
+1056 1059
+105E 1060
1062
-1067 1068 # [2]
-1071 1074 # [4]
-1082 1086 # [5]
-109C 109D # [2]
+1067 1068
+1071 1074
+1082 1086
+109C 109D
135F
-1712 1713 # [2]
-1732 1733 # [2]
-1752 1753 # [2]
-1772 1773 # [2]
-17B6 17C8 # [19]
+1712 1713
+1732 1733
+1752 1753
+1772 1773
+17B6 17C8
18A9
-1920 192B # [12]
-1930 1938 # [9]
-19B0 19C0 # [17]
-19C8 19C9 # [2]
-1A17 1A1B # [5]
-1A55 1A5E # [10]
-1A61 1A74 # [20]
-1B00 1B04 # [5]
-1B35 1B43 # [15]
-1B80 1B82 # [3]
-1BA1 1BA9 # [9]
-1C24 1C35 # [18]
+1920 192B
+1930 1938
+19B0 19C0
+19C8 19C9
+1A17 1A1B
+1A55 1A5E
+1A61 1A74
+1B00 1B04
+1B35 1B43
+1B80 1B82
+1BA1 1BA9
+1BE7 1BF1
+1C24 1C35
1CF2
-24B6 24E9 # [52]
-2DE0 2DFF # [32]
-A823 A827 # [5]
-A880 A881 # [2]
-A8B4 A8C3 # [16]
-A926 A92A # [5]
-A947 A952 # [12]
-A980 A983 # [4]
-A9B3 A9BF # [13]
-AA29 AA36 # [14]
+24B6 24E9
+2DE0 2DFF
+A823 A827
+A880 A881
+A8B4 A8C3
+A926 A92A
+A947 A952
+A980 A983
+A9B4 A9BF
+AA29 AA36
AA43
-AA4C AA4D # [2]
+AA4C AA4D
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
+AAB2 AAB4
+AAB7 AAB8
AABE
-ABE3 ABEA # [8]
+ABE3 ABEA
FB1E
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+11000 11002
+11038 11045
11082
-110B0 110B8 # [9]
+110B0 110B8
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl
index 005f6b5086e..c1d4540faf7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl
@@ -1,53 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_110_334 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_Default_Ignorable_Code_Point=No}
-# D \p{ODI=N}
-# D \p{Is_Other_Default_Ignorable_Code_Point=F}
-# D \p{Is_ODI=False}
-#
-# D \P{Other_Default_Ignorable_Code_Point}
-# D \P{Is_Other_Default_Ignorable_Code_Point}
-# D \P{ODI}
-# D \P{Is_ODI}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_ODI: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 034E # [847]
-0350 115E # [3599]
-1161 2064 # [3844]
-206A 3163 # [4346]
-3165 FF9F # [52_795]
-FFA1 FFEF # [79]
-FFF9 DFFFF # [851_975]
+0000 034E
+0350 115E
+1161 2064
+206A 3163
+3165 FF9F
+FFA1 FFEF
+FFF9 DFFFF
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-E1000 10FFFF # [192_512]
+E0020 E007F
+E0100 E01EF
+E1000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl
index f0e0372d703..9276a803b93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl
@@ -1,52 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 3778 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_Default_Ignorable_Code_Point=Yes}
-# D \p{ODI=Y}
-# D \p{Is_Other_Default_Ignorable_Code_Point=T}
-# D \p{Is_ODI=True}
-#
-# D \p{Other_Default_Ignorable_Code_Point}
-# D \p{Is_Other_Default_Ignorable_Code_Point}
-# D \p{ODI}
-# D \p{Is_ODI}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_ODI: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
034F
-115F 1160 # [2]
-2065 2069 # [5]
+115F 1160
+2065 2069
3164
FFA0
-FFF0 FFF8 # [9]
+FFF0 FFF8
E0000
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 E0FFF # [3600]
+E0002 E001F
+E0080 E00FF
+E01F0 E0FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl
index 0aae2133981..14802180a27 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl
@@ -1,59 +1,29 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_114_089 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_Grapheme_Extend=No}
-# D \p{OGr_Ext=N}
-# D \p{Is_Other_Grapheme_Extend=F}
-# D \p{Is_OGr_Ext=False}
-#
-# D \P{Other_Grapheme_Extend}
-# D \P{Is_Other_Grapheme_Extend}
-# D \P{OGr_Ext}
-# D \P{Is_OGr_Ext}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OGr_Ext: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 09BD # [2494]
-09BF 09D6 # [24]
-09D8 0B3D # [358]
-0B3F 0B56 # [24]
-0B58 0BBD # [102]
-0BBF 0BD6 # [24]
-0BD8 0CC1 # [234]
-0CC3 0CD4 # [18]
-0CD7 0D3D # [103]
-0D3F 0D56 # [24]
-0D58 0DCE # [119]
-0DD0 0DDE # [15]
-0DE0 200B # [4652]
-200E FF9D # [57_232]
-FFA0 1D164 # [53_701]
-1D166 1D16D # [8]
-1D173 10FFFF # [994_957]
+0000 09BD
+09BF 09D6
+09D8 0B3D
+0B3F 0B56
+0B58 0BBD
+0BBF 0BD6
+0BD8 0CC1
+0CC3 0CD4
+0CD7 0D3D
+0D3F 0D56
+0D58 0DCE
+0DD0 0DDE
+0DE0 200B
+200E FF9D
+FFA0 1D164
+1D166 1D16D
+1D173 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl
index a2383da17b2..27e5472e2e2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl
@@ -1,42 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 23 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_Grapheme_Extend=Yes}
-# D \p{OGr_Ext=Y}
-# D \p{Is_Other_Grapheme_Extend=T}
-# D \p{Is_OGr_Ext=True}
-#
-# D \p{Other_Grapheme_Extend}
-# D \p{Is_Other_Grapheme_Extend}
-# D \p{OGr_Ext}
-# D \p{Is_OGr_Ext}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OGr_Ext: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
09BE
@@ -46,13 +16,13 @@ return <<'END';
0BBE
0BD7
0CC2
-0CD5 0CD6 # [2]
+0CD5 0CD6
0D3E
0D57
0DCF
0DDF
-200C 200D # [2]
-FF9E FF9F # [2]
+200C 200D
+FF9E FF9F
1D165
-1D16E 1D172 # [5]
+1D16E 1D172
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl
index 6d3193691bc..1cf8a8e7ba6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl
@@ -1,46 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_114_101 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_ID_Continue=No}
-# D \p{OIDC=N}
-# D \p{Is_Other_ID_Continue=F}
-# D \p{Is_OIDC=False}
-#
-# D \P{Other_ID_Continue}
-# D \P{Is_Other_ID_Continue}
-# D \P{OIDC}
-# D \P{Is_OIDC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OIDC: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 00B6 # [183]
-00B8 0386 # [719]
-0388 1368 # [4065]
-1372 10FFFF # [1_109_134]
+0000 00B6
+00B8 0386
+0388 1368
+1372 19D9
+19DB 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl
index bb327cc70d5..c6113a7016a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl
@@ -1,45 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 11 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_ID_Continue=Yes}
-# D \p{OIDC=Y}
-# D \p{Is_Other_ID_Continue=T}
-# D \p{Is_OIDC=True}
-#
-# D \p{Other_ID_Continue}
-# D \p{Is_Other_ID_Continue}
-# D \p{OIDC}
-# D \p{Is_OIDC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OIDC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00B7
0387
-1369 1371 # [9]
+1369 1371
+19DA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl
index 31f1d3b7062..0e692c64d9d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl
@@ -1,46 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_114_108 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_ID_Start=No}
-# D \p{OIDS=N}
-# D \p{Is_Other_ID_Start=F}
-# D \p{Is_OIDS=False}
-#
-# D \P{Other_ID_Start}
-# D \P{Is_Other_ID_Start}
-# D \P{OIDS}
-# D \P{Is_OIDS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OIDS: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 2117 # [8472]
-2119 212D # [21]
-212F 309A # [3948]
-309D 10FFFF # [1_101_667]
+0000 2117
+2119 212D
+212F 309A
+309D 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl
index 3291e2eeade..d281d04dc96 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl
@@ -1,45 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# D \p{Other_ID_Start=Yes}
-# D \p{OIDS=Y}
-# D \p{Is_Other_ID_Start=T}
-# D \p{Is_OIDS=True}
-#
-# D \p{Other_ID_Start}
-# D \p{Is_Other_ID_Start}
-# D \p{OIDS}
-# D \p{Is_OIDS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OIDS: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
2118
212E
-309B 309C # [2]
+309B 309C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl
index bad0bac4f03..bdac92eeb95 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl
@@ -1,56 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_113_953 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_Lowercase=No}
-# D \p{OLower=N}
-# D \p{Is_Other_Lowercase=F}
-# D \p{Is_OLower=False}
-#
-# D \P{Other_Lowercase}
-# D \P{Is_Other_Lowercase}
-# D \P{OLower}
-# D \P{Is_OLower}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OLower: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 02AF # [688]
-02B9 02BF # [7]
-02C2 02DF # [30]
-02E5 0344 # [96]
-0346 0379 # [52]
-037B 1D2B # [6577]
-1D62 1D77 # [22]
-1D79 1D9A # [34]
-1DC0 208F # [720]
-2095 216F # [219]
-2180 24CF # [848]
-24EA 2C7C # [1939]
-2C7E A76F # [31_474]
-A771 10FFFF # [1_071_247]
+0000 02AF
+02B9 02BF
+02C2 02DF
+02E5 0344
+0346 0379
+037B 1D2B
+1D62 1D77
+1D79 1D9A
+1DC0 208F
+2095 216F
+2180 24CF
+24EA 2C7C
+2C7E A76F
+A771 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl
index 64defe20ba9..4ef2405d743 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl
@@ -1,55 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 159 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_Lowercase=Yes}
-# D \p{OLower=Y}
-# D \p{Is_Other_Lowercase=T}
-# D \p{Is_OLower=True}
-#
-# D \p{Other_Lowercase}
-# D \p{Is_Other_Lowercase}
-# D \p{OLower}
-# D \p{Is_OLower}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OLower: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-02B0 02B8 # [9]
-02C0 02C1 # [2]
-02E0 02E4 # [5]
+02B0 02B8
+02C0 02C1
+02E0 02E4
0345
037A
-1D2C 1D61 # [54]
+1D2C 1D61
1D78
-1D9B 1DBF # [37]
-2090 2094 # [5]
-2170 217F # [16]
-24D0 24E9 # [26]
+1D9B 1DBF
+2090 2094
+2170 217F
+24D0 24E9
2C7D
A770
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl
index c18a97ac3a6..17eb126e299 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl
@@ -1,132 +1,103 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_112_896 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_Math=No}
-# D \p{OMath=N}
-# D \p{Is_Other_Math=F}
-# D \p{Is_OMath=False}
-#
-# D \P{Other_Math}
-# D \P{Is_Other_Math}
-# D \P{OMath}
-# D \P{Is_OMath}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OMath: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 005D # [94]
-005F 03CF # [881]
-03D3 03D4 # [2]
-03D6 03EF # [26]
-03F2 03F3 # [2]
-03F6 2015 # [7200]
-2017 2031 # [27]
-2035 203F # [11]
-2041 2060 # [32]
-2065 207C # [24]
-207F 208C # [14]
-208F 20CF # [65]
-20DD 20E0 # [4]
-20E2 20E4 # [3]
-20E7 20EA # [4]
-20F0 2101 # [18]
-2103 2109 # [7]
+0000 005D
+005F 03CF
+03D3 03D4
+03D6 03EF
+03F2 03F3
+03F6 2015
+2017 2031
+2035 203F
+2041 2060
+2065 207C
+207F 208C
+208F 20CF
+20DD 20E0
+20E2 20E4
+20E7 20EA
+20F0 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
-2125 2127 # [3]
-212A 212B # [2]
+2116 2118
+211E 2123
+2125 2127
+212A 212B
212E
2132
-2139 213B # [3]
-2140 2144 # [5]
-214A 2194 # [75]
-219A 219B # [2]
+2139 213B
+2140 2144
+214A 2194
+219A 219B
21A0
21A3
21A6
21A8
-21AE 21AF # [2]
-21B2 21B5 # [4]
-21B8 21BB # [4]
-21CE 21CF # [2]
+21AE 21AF
+21B2 21B5
+21B8 21BB
+21CE 21CF
21D2
21D4
21DC
-21DE 21E3 # [6]
-21E6 23B3 # [462]
+21DE 21E3
+21E6 23B3
23B6
-23B8 23CF # [24]
-23D1 23E1 # [17]
-23E3 259F # [445]
-25A2 25AD # [12]
-25B7 25BB # [5]
-25C1 25C5 # [5]
-25C8 25C9 # [2]
-25CC 25CE # [3]
-25D4 25E1 # [14]
+23B8 23CF
+23D1 23E1
+23E3 259F
+25A2 25AD
+25B7 25BB
+25C1 25C5
+25C8 25C9
+25CC 25CE
+25D4 25E1
25E3
-25E5 25E6 # [2]
-25ED 2604 # [24]
-2607 263F # [57]
+25E5 25E6
+25ED 2604
+2607 263F
2641
-2643 265F # [29]
-2664 266C # [9]
-266F 27C4 # [342]
-27C7 27E5 # [31]
-27F0 2982 # [403]
-2999 29D7 # [63]
-29DC 29FB # [32]
-29FE FE60 # [54_371]
+2643 265F
+2664 266C
+266F 27C4
+27C7 27E5
+27F0 2982
+2999 29D7
+29DC 29FB
+29FE FE60
FE62
-FE64 FE67 # [4]
-FE69 FF3B # [211]
+FE64 FE67
+FE69 FF3B
FF3D
-FF3F 1D3FF # [54_465]
+FF3F 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -137,6 +108,6 @@ FF3F 1D3FF # [54_465]
1D789
1D7A9
1D7C3
-1D7CC 1D7CD # [2]
-1D800 10FFFF # [993_280]
+1D7CC 1D7CD
+1D800 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl
index 5d2a6d1aa36..d42a3e26ded 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl
@@ -1,141 +1,112 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1216 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_Math=Yes}
-# D \p{OMath=Y}
-# D \p{Is_Other_Math=T}
-# D \p{Is_OMath=True}
-#
-# D \p{Other_Math}
-# D \p{Is_Other_Math}
-# D \p{OMath}
-# D \p{Is_OMath}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OMath: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
005E
-03D0 03D2 # [3]
+03D0 03D2
03D5
-03F0 03F1 # [2]
-03F4 03F5 # [2]
+03F0 03F1
+03F4 03F5
2016
-2032 2034 # [3]
+2032 2034
2040
-2061 2064 # [4]
-207D 207E # [2]
-208D 208E # [2]
-20D0 20DC # [13]
+2061 2064
+207D 207E
+208D 208E
+20D0 20DC
20E1
-20E5 20E6 # [2]
-20EB 20EF # [5]
+20E5 20E6
+20EB 20EF
2102
-210A 2113 # [10]
+2107
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
-2128 2129 # [2]
-212C 212D # [2]
-212F 2131 # [3]
-2133 2138 # [6]
-213C 213F # [4]
-2145 2149 # [5]
-2195 2199 # [5]
-219C 219F # [4]
-21A1 21A2 # [2]
-21A4 21A5 # [2]
+2128 2129
+212C 212D
+212F 2131
+2133 2138
+213C 213F
+2145 2149
+2195 2199
+219C 219F
+21A1 21A2
+21A4 21A5
21A7
-21A9 21AD # [5]
-21B0 21B1 # [2]
-21B6 21B7 # [2]
-21BC 21CD # [18]
-21D0 21D1 # [2]
+21A9 21AD
+21B0 21B1
+21B6 21B7
+21BC 21CD
+21D0 21D1
21D3
-21D5 21DB # [7]
+21D5 21DB
21DD
-21E4 21E5 # [2]
-23B4 23B5 # [2]
+21E4 21E5
+23B4 23B5
23B7
23D0
23E2
-25A0 25A1 # [2]
-25AE 25B6 # [9]
-25BC 25C0 # [5]
-25C6 25C7 # [2]
-25CA 25CB # [2]
-25CF 25D3 # [5]
+25A0 25A1
+25AE 25B6
+25BC 25C0
+25C6 25C7
+25CA 25CB
+25CF 25D3
25E2
25E4
-25E7 25EC # [6]
-2605 2606 # [2]
+25E7 25EC
+2605 2606
2640
2642
-2660 2663 # [4]
-266D 266E # [2]
-27C5 27C6 # [2]
-27E6 27EF # [10]
-2983 2998 # [22]
-29D8 29DB # [4]
-29FC 29FD # [2]
+2660 2663
+266D 266E
+27C5 27C6
+27E6 27EF
+2983 2998
+29D8 29DB
+29FC 29FD
FE61
FE63
FE68
FF3C
FF3E
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-1D7CE 1D7FF # [50]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl
index aebc48fb973..e9b3471f55d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl
@@ -1,45 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 1_114_070 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# D \p{Other_Uppercase=No}
-# D \p{OUpper=N}
-# D \p{Is_Other_Uppercase=F}
-# D \p{Is_OUpper=False}
-#
-# D \P{Other_Uppercase}
-# D \P{Is_Other_Uppercase}
-# D \P{OUpper}
-# D \P{Is_OUpper}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OUpper: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 215F # [8544]
-2170 24B5 # [838]
-24D0 10FFFF # [1_104_688]
+0000 215F
+2170 24B5
+24D0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl
index 38ea12811b2..ea3bd648699 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl
@@ -1,44 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# 'D' below means that this form is deprecated. Consult perluniprops.pod
-#
-# This file returns the 42 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# D \p{Other_Uppercase=Yes}
-# D \p{OUpper=Y}
-# D \p{Is_Other_Uppercase=T}
-# D \p{Is_OUpper=True}
-#
-# D \p{Other_Uppercase}
-# D \p{Is_Other_Uppercase}
-# D \p{OUpper}
-# D \p{Is_OUpper}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_OUpper: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2160 216F # [16]
-24B6 24CF # [26]
+2160 216F
+24B6 24CF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl
index aa2b0a14a88..aaa952f0e42 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl
@@ -1,69 +1,41 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_111_352 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Pattern_Syntax=No}
-# \p{Pat_Syn=N}
-# \p{Is_Pattern_Syntax=F}
-# \p{Is_Pat_Syn=False}
-#
-# \P{Pattern_Syntax}
-# \P{Is_Pattern_Syntax}
-# \P{Pat_Syn}
-# \P{Is_Pat_Syn}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Pat_Syn: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0020 # [33]
-0030 0039 # [10]
-0041 005A # [26]
+0000 0020
+0030 0039
+0041 005A
005F
-0061 007A # [26]
-007F 00A0 # [34]
+0061 007A
+007F 00A0
00A8
00AA
00AD
00AF
-00B2 00B5 # [4]
-00B7 00BA # [4]
-00BC 00BE # [3]
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 200F # [7960]
-2028 202F # [8]
-203F 2040 # [2]
+00B2 00B5
+00B7 00BA
+00BC 00BE
+00C0 00D6
+00D8 00F6
+00F8 200F
+2028 202F
+203F 2040
2054
-205F 218F # [305]
-2460 24FF # [160]
-2776 2793 # [30]
-2C00 2DFF # [512]
-2E80 3000 # [385]
-3004 3007 # [4]
-3021 302F # [15]
-3031 FD3D # [52_493]
-FD40 FE44 # [261]
-FE47 10FFFF # [1_049_017]
+205F 218F
+2460 24FF
+2776 2793
+2C00 2DFF
+2E80 3000
+3004 3007
+3021 302F
+3031 FD3D
+FD40 FE44
+FE47 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
index 93c26168278..0b2badcb05c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
@@ -1,68 +1,40 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2760 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Pattern_Syntax=Yes}
-# \p{Pat_Syn=Y}
-# \p{Is_Pattern_Syntax=T}
-# \p{Is_Pat_Syn=True}
-#
-# \p{Pattern_Syntax}
-# \p{Is_Pattern_Syntax}
-# \p{Pat_Syn}
-# \p{Is_Pat_Syn}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Pat_Syn: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 002F # [15]
-003A 0040 # [7]
-005B 005E # [4]
+0021 002F
+003A 0040
+005B 005E
0060
-007B 007E # [4]
-00A1 00A7 # [7]
+007B 007E
+00A1 00A7
00A9
-00AB 00AC # [2]
+00AB 00AC
00AE
-00B0 00B1 # [2]
+00B0 00B1
00B6
00BB
00BF
00D7
00F7
-2010 2027 # [24]
-2030 203E # [15]
-2041 2053 # [19]
-2055 205E # [10]
-2190 245F # [720]
-2500 2775 # [630]
-2794 2BFF # [1132]
-2E00 2E7F # [128]
-3001 3003 # [3]
-3008 3020 # [25]
+2010 2027
+2030 203E
+2041 2053
+2055 205E
+2190 245F
+2500 2775
+2794 2BFF
+2E00 2E7F
+3001 3003
+3008 3020
3030
-FD3E FD3F # [2]
-FE45 FE46 # [2]
+FD3E FD3F
+FE45 FE46
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl
index 52f7b09bbe2..c5602ca3760 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_101 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Pattern_White_Space=No}
-# \p{Pat_WS=N}
-# \p{Is_Pattern_White_Space=F}
-# \p{Is_Pat_WS=False}
-#
-# \P{Pattern_White_Space}
-# \P{Is_Pattern_White_Space}
-# \P{Pat_WS}
-# \P{Is_Pat_WS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Pat_WS: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0008 # [9]
-000E 001F # [18]
-0021 0084 # [100]
-0086 200D # [8072]
-2010 2027 # [24]
-202A 10FFFF # [1_105_878]
+0000 0008
+000E 001F
+0021 0084
+0086 200D
+2010 2027
+202A 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
index 93ac0f94eec..1502adc21df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
@@ -1,45 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 11 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Pattern_White_Space=Yes}
-# \p{Pat_WS=Y}
-# \p{Is_Pattern_White_Space=T}
-# \p{Is_Pat_WS=True}
-#
-# \p{Pattern_White_Space}
-# \p{Is_Pattern_White_Space}
-# \p{Pat_WS}
-# \p{Is_Pat_WS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Pat_WS: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0009 000D # [5]
+0009 000D
0020
0085
-200E 200F # [2]
-2028 2029 # [2]
+200E 200F
+2028 2029
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
index cc453b8a9f7..807167ec9ee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
@@ -1,526 +1,521 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 100_931 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Alnum}
-# \p{Is_Alnum}
-#
-# Meaning: Alphabetic and (Decimal) Numeric
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 005A # [26]
-0061 007A # [26]
+0030 0039
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
0345
-0370 0374 # [5]
-0376 0377 # [2]
-037A 037D # [4]
+0370 0374
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-05B0 05BD # [14]
+0561 0587
+05B0 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0610 061A # [11]
-0621 0657 # [55]
-0659 065E # [6]
-0660 0669 # [10]
-066E 06D3 # [102]
-06D5 06DC # [8]
-06E1 06E8 # [8]
-06ED 06FC # [16]
+05D0 05EA
+05F0 05F2
+0610 061A
+0620 0657
+0659 0669
+066E 06D3
+06D5 06DC
+06E1 06E8
+06ED 06FC
06FF
-0710 073F # [48]
-074D 07B1 # [101]
-07C0 07EA # [43]
-07F4 07F5 # [2]
+0710 073F
+074D 07B1
+07C0 07EA
+07F4 07F5
07FA
-0800 0817 # [24]
-081A 082C # [19]
-0900 0939 # [58]
-093D 094C # [16]
-094E
-0950
-0955
-0958 0963 # [12]
-0966 096F # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0800 0817
+081A 082C
+0840 0858
+0900 093B
+093D 094C
+094E 0950
+0955 0963
+0966 096F
+0971 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BD 09C4 # [8]
-09C7 09C8 # [2]
-09CB 09CC # [2]
+09B6 09B9
+09BD 09C4
+09C7 09C8
+09CB 09CC
09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09F1 # [12]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4C # [2]
+09DC 09DD
+09DF 09E3
+09E6 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3E 0A42
+0A47 0A48
+0A4B 0A4C
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABD 0AC5 # [9]
-0AC7 0AC9 # [3]
-0ACB 0ACC # [2]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD 0AC5
+0AC7 0AC9
+0ACB 0ACC
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3D 0B44 # [8]
-0B47 0B48 # [2]
-0B4B 0B4C # [2]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B6F # [10]
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D 0B44
+0B47 0B48
+0B4B 0B4C
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B6F
0B71
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCC # [3]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCC
0BD0
0BD7
-0BE6 0BEF # [10]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4C # [3]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBD 0CC4 # [8]
-0CC6 0CC8 # [3]
-0CCA 0CCC # [3]
-0CD5 0CD6 # [2]
+0BE6 0BEF
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4C
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD 0CC4
+0CC6 0CC8
+0CCA 0CCC
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4C # [3]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4C
+0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D6F # [10]
-0D7A 0D7F # [6]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D6F
+0D7A 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0DCF 0DD4 # [6]
+0DC0 0DC6
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0E01 0E3A # [58]
-0E40 0E46 # [7]
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E46
0E4D
-0E50 0E59 # [10]
-0E81 0E82 # [2]
+0E50 0E59
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
0ECD
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
+0ED0 0ED9
+0EDC 0EDD
0F00
-0F20 0F29 # [10]
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F71 0F81 # [17]
-0F88 0F8B # [4]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-1000 1036 # [55]
+0F20 0F29
+0F40 0F47
+0F49 0F6C
+0F71 0F81
+0F88 0F97
+0F99 0FBC
+1000 1036
1038
-103B 1049 # [15]
-1050 1062 # [19]
-1065 1068 # [4]
-106E 1086 # [25]
+103B 1049
+1050 1062
+1065 1068
+106E 1086
108E
-1090 1099 # [10]
-109C 109D # [2]
-10A0 10C5 # [38]
-10D0 10FA # [43]
+1090 1099
+109C 109D
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
135F
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1713 # [6]
-1720 1733 # [20]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17B3 # [52]
-17B6 17C8 # [19]
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1713
+1720 1733
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17C8
17D7
17DC
-17E0 17E9 # [10]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 1938 # [9]
-1946 196D # [40]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-1A00 1A1B # [28]
-1A20 1A5E # [63]
-1A61 1A74 # [20]
-1A80 1A89 # [10]
-1A90 1A99 # [10]
+17E0 17E9
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 1938
+1946 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19D9
+1A00 1A1B
+1A20 1A5E
+1A61 1A74
+1A80 1A89
+1A90 1A99
1AA7
-1B00 1B33 # [52]
-1B35 1B43 # [15]
-1B45 1B4B # [7]
-1B50 1B59 # [10]
-1B80 1BA9 # [42]
-1BAE 1BB9 # [12]
-1C00 1C35 # [54]
-1C40 1C49 # [10]
-1C4D 1C7D # [49]
-1CE9 1CEC # [4]
-1CEE 1CF2 # [5]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B00 1B33
+1B35 1B43
+1B45 1B4B
+1B50 1B59
+1B80 1BA9
+1BAE 1BB9
+1BC0 1BE5
+1BE7 1BF1
+1C00 1C35
+1C40 1C49
+1C4D 1C7D
+1CE9 1CEC
+1CEE 1CF2
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2071
207F
-2090 2094 # [5]
+2090 209C
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213C 213F # [4]
-2145 2149 # [5]
+212A 212D
+212F 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-24B6 24E9 # [52]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+24B6 24E9
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2DFF # [32]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2DFF
2E2F
-3005 3007 # [3]
-3021 3029 # [9]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A62B # [28]
-A640 A65F # [32]
-A662 A66E # [13]
-A67F A697 # [25]
-A6A0 A6EF # [80]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A827 # [28]
-A840 A873 # [52]
-A880 A8C3 # [68]
-A8D0 A8D9 # [10]
-A8F2 A8F7 # [6]
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A62B
+A640 A66E
+A67F A697
+A6A0 A6EF
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A827
+A840 A873
+A880 A8C3
+A8D0 A8D9
+A8F2 A8F7
A8FB
-A900 A92A # [43]
-A930 A952 # [35]
-A960 A97C # [29]
-A980 A9BF # [64]
-A9CF A9D9 # [11]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA60 AA76 # [23]
+A900 A92A
+A930 A952
+A960 A97C
+A980 A9B2
+A9B4 A9BF
+A9CF A9D9
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA60 AA76
AA7A
-AA80 AABE # [63]
+AA80 AABE
AAC0
AAC2
-AADB AADD # [3]
-ABC0 ABEA # [43]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB28 # [12]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABEA
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF10 FF19 # [10]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF10 FF19
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11082 110B8 # [55]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+1083F 10855
+10900 10915
+10920 10939
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11000 11045
+11066 1106F
+11082 110B8
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-1D7CE 1D7FF # [50]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+1D7CE 1D7FF
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
index 7884cd4e718..dac507a3a72 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
@@ -1,32 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_112 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Any}
-# \p{All}
-# \p{Is_Any}
-# \p{Is_All}
-#
-# Meaning: [\x{0000}-\x{10FFFF}]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 10FFFF # [1_114_112]
+0000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
index 6201f411a0e..3e972903913 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
@@ -1,514 +1,513 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 246_877 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Assigned}
-# \p{Is_Assigned}
-#
-# Meaning: All assigned code points
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0377 # [888]
-037A 037E # [5]
-0384 038A # [7]
+0000 0377
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0525 # [387]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-0606 061B # [22]
-061E 061F # [2]
-0621 065E # [62]
-0660 070D # [174]
-070F 074A # [60]
-074D 07B1 # [101]
-07C0 07FA # [59]
-0800 082D # [46]
-0830 083E # [15]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0972 # [27]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+038E 03A1
+03A3 0527
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 061B
+061E 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0800 082D
+0830 083E
+0840 085B
+085E
+0900 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FB # [22]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FB
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6C # [36]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCE 0FD8 # [11]
-1000 10C5 # [198]
-10D0 10FC # [45]
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6C
+0F71 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FDA
+1000 10C5
+10D0 10FC
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1400 169C # [669]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 137C
+1380 1399
+13A0 13F4
+1400 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-19DE 1A1B # [62]
-1A1E 1A5E # [65]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
-1CD0 1CF2 # [35]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A1B
+1A1E 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1B00 1B4B
+1B50 1B7C
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1BFC 1C37
+1C3B 1C49
+1C4D 1C7F
+1CD0 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2064 # [101]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B8 # [25]
-20D0 20F0 # [33]
-2100 2189 # [138]
-2190 23E8 # [601]
-2400 2426 # [39]
-2440 244A # [11]
-2460 26CD # [622]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2064
+206A 2071
+2074 208E
+2090 209C
+20A0 20B9
+20D0 20F0
+2100 2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27CA
27CC
-27D0 2B4C # [893]
-2B50 2B59 # [10]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CF1 # [146]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
-2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2E31 # [82]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 32FE # [223]
-3300 4DB5 # [6838]
-4DC0 9FCB # [21_004]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A4D0 A62B # [348]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
-A6A0 A6F7 # [88]
-A700 A78C # [141]
-A7FB A82B # [49]
-A830 A839 # [10]
-A840 A877 # [56]
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
-A8E0 A8FB # [28]
-A900 A953 # [84]
-A95F A97C # [30]
-A980 A9CD # [78]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA7B # [32]
-AA80 AAC2 # [67]
-AADB AADF # [5]
-ABC0 ABED # [46]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-D800 FA2D # [8750]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+27CE 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CF1
+2CF9 2D25
+2D30 2D65
+2D6F 2D70
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCB
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A673
+A67C A697
+A6A0 A6F7
+A700 A78E
+A790 A791
+A7A0 A7A9
+A7FA A82B
+A830 A839
+A840 A877
+A880 A8C4
+A8CE A8D9
+A8E0 A8FB
+A900 A953
+A95F A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA7B
+AA80 AAC2
+AADB AADF
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+D800 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFD # [14]
-FE00 FE19 # [26]
-FE20 FE26 # [7]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFD # [5]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FD # [46]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10857 1085F # [9]
-10900 1091B # [28]
-1091F 10939 # [27]
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
1093F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B39 10B55 # [29]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11080 110C1 # [66]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-13000 1342E # [1071]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D1DD # [181]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11000 1104D
+11052 1106F
+11080 110C1
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+16800 16A38
+1B000 1B001
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+E0020 E007F
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
index 75fe86e0cc3..753c98030c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
@@ -1,31 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 19 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Blank}
-# \p{HorizSpace}
-# \p{Is_Blank}
-# \p{Is_HorizSpace}
-#
-# Meaning: \h, Horizontal white space
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0009
@@ -33,7 +14,7 @@ return <<'END';
00A0
1680
180E
-2000 200A # [11]
+2000 200A
202F
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
index 3253331787c..564d552ea75 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
@@ -1,519 +1,518 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 244_744 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Graph}
-# \p{Is_Graph}
-#
-# Meaning: Characters that are graphical
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 007E # [94]
-00A1 0377 # [727]
-037A 037E # [5]
-0384 038A # [7]
+0021 007E
+00A1 0377
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0525 # [387]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-0606 061B # [22]
-061E 061F # [2]
-0621 065E # [62]
-0660 070D # [174]
-070F 074A # [60]
-074D 07B1 # [101]
-07C0 07FA # [59]
-0800 082D # [46]
-0830 083E # [15]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0972 # [27]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+038E 03A1
+03A3 0527
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 061B
+061E 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0800 082D
+0830 083E
+0840 085B
+085E
+0900 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FB # [22]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FB
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6C # [36]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCE 0FD8 # [11]
-1000 10C5 # [198]
-10D0 10FC # [45]
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6C
+0F71 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FDA
+1000 10C5
+10D0 10FC
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1400 167F # [640]
-1681 169C # [28]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180D # [14]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 137C
+1380 1399
+13A0 13F4
+1400 167F
+1681 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180D
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-19DE 1A1B # [62]
-1A1E 1A5E # [65]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
-1CD0 1CF2 # [35]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A1B
+1A1E 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1B00 1B4B
+1B50 1B7C
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1BFC 1C37
+1C3B 1C49
+1C4D 1C7F
+1CD0 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-200B 2027 # [29]
-202A 202E # [5]
-2030 205E # [47]
-2060 2064 # [5]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B8 # [25]
-20D0 20F0 # [33]
-2100 2189 # [138]
-2190 23E8 # [601]
-2400 2426 # [39]
-2440 244A # [11]
-2460 26CD # [622]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+200B 2027
+202A 202E
+2030 205E
+2060 2064
+206A 2071
+2074 208E
+2090 209C
+20A0 20B9
+20D0 20F0
+2100 2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27CA
27CC
-27D0 2B4C # [893]
-2B50 2B59 # [10]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CF1 # [146]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
-2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2E31 # [82]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3001 303F # [63]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 32FE # [223]
-3300 4DB5 # [6838]
-4DC0 9FCB # [21_004]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A4D0 A62B # [348]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
-A6A0 A6F7 # [88]
-A700 A78C # [141]
-A7FB A82B # [49]
-A830 A839 # [10]
-A840 A877 # [56]
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
-A8E0 A8FB # [28]
-A900 A953 # [84]
-A95F A97C # [30]
-A980 A9CD # [78]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA7B # [32]
-AA80 AAC2 # [67]
-AADB AADF # [5]
-ABC0 ABED # [46]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-E000 FA2D # [6702]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+27CE 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CF1
+2CF9 2D25
+2D30 2D65
+2D6F 2D70
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3001 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCB
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A673
+A67C A697
+A6A0 A6F7
+A700 A78E
+A790 A791
+A7A0 A7A9
+A7FA A82B
+A830 A839
+A840 A877
+A880 A8C4
+A8CE A8D9
+A8E0 A8FB
+A900 A953
+A95F A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA7B
+AA80 AAC2
+AADB AADF
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+E000 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFD # [14]
-FE00 FE19 # [26]
-FE20 FE26 # [7]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFD # [5]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FD # [46]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10857 1085F # [9]
-10900 1091B # [28]
-1091F 10939 # [27]
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
1093F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B39 10B55 # [29]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11080 110C1 # [66]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-13000 1342E # [1071]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D1DD # [181]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11000 1104D
+11052 1106F
+11080 110C1
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+16800 16A38
+1B000 1B001
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+E0020 E007F
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
index 8817903caf2..c2561000f89 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
@@ -1,32 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{PerlSpace}
-# \p{Is_PerlSpace}
-#
-# Meaning: \s, restricted to ASCII
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0009 000A # [2]
-000C 000D # [2]
+0009 000A
+000C 000D
0020
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
index f20a3cfd7da..d8b1206bc68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
@@ -1,33 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 63 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PerlWord}
-# \p{Is_PerlWord}
-#
-# Meaning: \w, restricted to ASCII = [A-Za-z0-9_]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 005A # [26]
+0030 0039
+0041 005A
005F
-0061 007A # [26]
+0061 007A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
index 606b304b150..6149856e1a3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
@@ -1,32 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 62 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixAlnum}
-# \p{Is_PosixAlnum}
-#
-# Meaning: [A-Za-z0-9]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 005A # [26]
-0061 007A # [26]
+0030 0039
+0041 005A
+0061 007A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
index 8d2383e0ea2..c942450890b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
@@ -1,31 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 52 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixAlpha}
-# \p{Is_PosixAlpha}
-#
-# Meaning: [A-Za-z]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
index 735a1d0f277..252e2aa373f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
@@ -1,29 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 2 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{PosixBlank}
-# \p{Is_PosixBlank}
-#
-# Meaning: \t and ' '
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0009
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
index 71df2ffb1e3..e3e22570a09 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
@@ -1,31 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 33 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixCntrl}
-# \p{Is_PosixCntrl}
-#
-# Meaning: [\x00-\x1F]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 001F # [32]
+0000 001F
007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
index 35ec698207b..4cdc65fbad1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
@@ -1,30 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 10 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixDigit}
-# \p{Is_PosixDigit}
-#
-# Meaning: [0-9]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
+0030 0039
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
index e2e86e5bb82..c0037c9dc63 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
@@ -1,30 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 94 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixGraph}
-# \p{Is_PosixGraph}
-#
-# Meaning: [\x21-\x7E]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 007E # [94]
+0021 007E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
index 5cf47c2f15c..bdeb13cf3e1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
@@ -1,30 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 26 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixLower}
-# \p{Is_PosixLower}
-#
-# Meaning: [a-z]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0061 007A # [26]
+0061 007A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
index 3facbc907b6..c322a9b41f6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
@@ -1,30 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 95 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixPrint}
-# \p{Is_PosixPrint}
-#
-# Meaning: [\x20-\x7E]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0020 007E # [95]
+0020 007E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
index 952a47e66ac..9af540c79d5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
@@ -1,34 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 32 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixPunct}
-# \p{Is_PosixPunct}
-#
-# Meaning: Graphical characters that aren't Word characters = [\x21-
-# \x2F\x3A-\x40\x5B-\x60\x7B-\x7E]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0021 002F # [15]
-003A 0040 # [7]
-005B 0060 # [6]
-007B 007E # [4]
+0021 002F
+003A 0040
+005B 0060
+007B 007E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl
index c2f9e8a3b6b..c61c72b3d5b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl
@@ -1,31 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 6 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{PosixSpace}
-# \p{Is_PosixSpace}
-#
-# Meaning: \t \n, \x0B, \f, \r, and ' '
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0009 000D # [5]
+0009 000D
0020
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
index 672e9720a7f..cf61f8550e0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
@@ -1,30 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 26 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{PosixUpper}
-# \p{Is_PosixUpper}
-#
-# Meaning: [A-Z]
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
+0041 005A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
index 694d7c4c115..19b4b76582f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
@@ -1,517 +1,515 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 244_762 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Print}
-# \p{Is_Print}
-#
-# Meaning: Characters that are graphical plus space characters (but no
-# controls)
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0020 007E # [95]
-00A0 0377 # [728]
-037A 037E # [5]
-0384 038A # [7]
+0020 007E
+00A0 0377
+037A 037E
+0384 038A
038C
-038E 03A1 # [20]
-03A3 0525 # [387]
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
-0589 058A # [2]
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-0600 0603 # [4]
-0606 061B # [22]
-061E 061F # [2]
-0621 065E # [62]
-0660 070D # [174]
-070F 074A # [60]
-074D 07B1 # [101]
-07C0 07FA # [59]
-0800 082D # [46]
-0830 083E # [15]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0972 # [27]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+038E 03A1
+03A3 0527
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0603
+0606 061B
+061E 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0800 082D
+0830 083E
+0840 085B
+085E
+0900 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FB # [22]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09FB
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B71 # [12]
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BFA # [21]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0CF1 0CF2 # [2]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
-0E01 0E3A # [58]
-0E3F 0E5B # [29]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
-0F00 0F47 # [72]
-0F49 0F6C # [36]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCE 0FD8 # [11]
-1000 10C5 # [198]
-10D0 10FC # [45]
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6C
+0F71 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FDA
+1000 10C5
+10D0 10FC
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-13A0 13F4 # [85]
-1400 169C # [669]
-16A0 16F0 # [81]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1736 # [23]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-1800 180E # [15]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 137C
+1380 1399
+13A0 13F4
+1400 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
1940
-1944 196D # [42]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-19DE 1A1B # [62]
-1A1E 1A5E # [65]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
-1B00 1B4B # [76]
-1B50 1B7C # [45]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C7F # [51]
-1CD0 1CF2 # [35]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A1B
+1A1E 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1B00 1B4B
+1B50 1B7C
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1BFC 1C37
+1C3B 1C49
+1C4D 1C7F
+1CD0 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
-2000 2027 # [40]
-202A 2064 # [59]
-206A 2071 # [8]
-2074 208E # [27]
-2090 2094 # [5]
-20A0 20B8 # [25]
-20D0 20F0 # [33]
-2100 2189 # [138]
-2190 23E8 # [601]
-2400 2426 # [39]
-2440 244A # [11]
-2460 26CD # [622]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2027
+202A 2064
+206A 2071
+2074 208E
+2090 209C
+20A0 20B9
+20D0 20F0
+2100 2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27CA
27CC
-27D0 2B4C # [893]
-2B50 2B59 # [10]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CF1 # [146]
-2CF9 2D25 # [45]
-2D30 2D65 # [54]
-2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2E31 # [82]
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
-2FF0 2FFB # [12]
-3000 303F # [64]
-3041 3096 # [86]
-3099 30FF # [103]
-3105 312D # [41]
-3131 318E # [94]
-3190 31B7 # [40]
-31C0 31E3 # [36]
-31F0 321E # [47]
-3220 32FE # [223]
-3300 4DB5 # [6838]
-4DC0 9FCB # [21_004]
-A000 A48C # [1165]
-A490 A4C6 # [55]
-A4D0 A62B # [348]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
-A6A0 A6F7 # [88]
-A700 A78C # [141]
-A7FB A82B # [49]
-A830 A839 # [10]
-A840 A877 # [56]
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
-A8E0 A8FB # [28]
-A900 A953 # [84]
-A95F A97C # [30]
-A980 A9CD # [78]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA7B # [32]
-AA80 AAC2 # [67]
-AADB AADF # [5]
-ABC0 ABED # [46]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-E000 FA2D # [6702]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+27CE 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CF1
+2CF9 2D25
+2D30 2D65
+2D6F 2D70
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E31
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCB
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A673
+A67C A697
+A6A0 A6F7
+A700 A78E
+A790 A791
+A7A0 A7A9
+A7FA A82B
+A830 A839
+A840 A877
+A880 A8C4
+A8CE A8D9
+A8E0 A8FB
+A900 A953
+A95F A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA7B
+AA80 AAC2
+AADB AADF
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+E000 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3F # [365]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFD # [14]
-FE00 FE19 # [26]
-FE20 FE26 # [7]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
FEFF
-FF01 FFBE # [190]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFD # [5]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1018A # [84]
-10190 1019B # [12]
-101D0 101FD # [46]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10320 10323 # [4]
-10330 1034A # [27]
-10380 1039D # [30]
-1039F 103C3 # [37]
-103C8 103D5 # [14]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10857 1085F # [9]
-10900 1091B # [28]
-1091F 10939 # [27]
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
1093F
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
-10A60 10A7F # [32]
-10B00 10B35 # [54]
-10B39 10B55 # [29]
-10B58 10B72 # [27]
-10B78 10B7F # [8]
-10C00 10C48 # [73]
-10E60 10E7E # [31]
-11080 110C1 # [66]
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
-13000 1342E # [1071]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D1DD # [181]
-1D200 1D245 # [70]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11000 1104D
+11052 1106F
+11080 110C1
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+16800 16A38
+1B000 1B001
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F200
-1F210 1F231 # [34]
-1F240 1F248 # [9]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
E0001
-E0020 E007F # [96]
-E0100 E01EF # [240]
-F0000 FFFFD # [65_534]
-100000 10FFFD # [65_534]
+E0020 E007F
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
index 8118f24b473..891f5deb681 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
@@ -1,40 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 25 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{SpacePerl}
-# \p{Is_SpacePerl}
-#
-# Meaning: \s, including beyond ASCII
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0009 000A # [2]
-000C 000D # [2]
+0009 000A
+000C 000D
0020
0085
00A0
1680
180E
-2000 200A # [11]
-2028 2029 # [2]
+2000 200A
+2028 2029
202F
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
new file mode 100644
index 00000000000..10afa86e7ae
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+01C5
+01C8
+01CB
+01F2
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
+1FBC
+1FCC
+1FFC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
index e7069161045..6ef78bf9d61 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
@@ -1,32 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 7 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{VertSpace}
-# \p{Is_VertSpace}
-#
-# Meaning: \v
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-000A 000D # [4]
+000A 000D
0085
-2028 2029 # [2]
+2028 2029
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
index 3d57fb29164..dfaff2ed6ae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
@@ -1,535 +1,526 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 101_685 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Word}
-# \p{Is_Word}
-#
-# Meaning: \w, including beyond ASCII
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 005A # [26]
+0030 0039
+0041 005A
005F
-0061 007A # [26]
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0300 0374 # [117]
-0376 0377 # [2]
-037A 037D # [4]
+0300 0374
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-0483 0525 # [163]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+0483 0527
+0531 0556
0559
-0561 0587 # [39]
-0591 05BD # [45]
+0561 0587
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0610 061A # [11]
-0621 065E # [62]
-0660 0669 # [10]
-066E 06D3 # [102]
-06D5 06DC # [8]
-06DE 06E8 # [11]
-06EA 06FC # [19]
+05D0 05EA
+05F0 05F2
+0610 061A
+0620 0669
+066E 06D3
+06D5 06DC
+06DF 06E8
+06EA 06FC
06FF
-0710 074A # [59]
-074D 07B1 # [101]
-07C0 07F5 # [54]
+0710 074A
+074D 07B1
+07C0 07F5
07FA
-0800 082D # [46]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0963 # [12]
-0966 096F # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0800 082D
+0840 085B
+0900 0963
+0966 096F
+0971 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09F1 # [12]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B6F # [10]
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B6F
0B71
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BEF # [10]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BEF
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D6F # [10]
-0D7A 0D7F # [6]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D6F
+0D7A 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0E01 0E3A # [58]
-0E40 0E4E # [15]
-0E50 0E59 # [10]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E50 0E59
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
0F00
-0F18 0F19 # [2]
-0F20 0F29 # [10]
+0F18 0F19
+0F20 0F29
0F35
0F37
0F39
-0F3E 0F47 # [10]
-0F49 0F6C # [36]
-0F71 0F84 # [20]
-0F86 0F8B # [6]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F47
+0F49 0F6C
+0F71 0F84
+0F86 0F97
+0F99 0FBC
0FC6
-1000 1049 # [74]
-1050 109D # [78]
-10A0 10C5 # [38]
-10D0 10FA # [43]
+1000 1049
+1050 109D
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1734 # [21]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17B3 # [52]
-17B6 17D3 # [30]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 135F
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
17D7
-17DC 17DD # [2]
-17E0 17E9 # [10]
-180B 180D # [3]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
-1946 196D # [40]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-1A00 1A1B # [28]
-1A20 1A5E # [63]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
+17DC 17DD
+17E0 17E9
+180B 180D
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
+1946 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19D9
+1A00 1A1B
+1A20 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
1AA7
-1B00 1B4B # [76]
-1B50 1B59 # [10]
-1B6B 1B73 # [9]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C40 1C49 # [10]
-1C4D 1C7D # [49]
-1CD0 1CD2 # [3]
-1CD4 1CF2 # [31]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B00 1B4B
+1B50 1B59
+1B6B 1B73
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1C00 1C37
+1C40 1C49
+1C4D 1C7D
+1CD0 1CD2
+1CD4 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
-203F 2040 # [2]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+203F 2040
2054
2071
207F
-2090 2094 # [5]
-20D0 20F0 # [33]
+2090 209C
+20D0 20F0
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213C 213F # [4]
-2145 2149 # [5]
+212A 212D
+212F 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-24B6 24E9 # [52]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CF1 # [7]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+24B6 24E9
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CF1
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2DFF # [32]
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2DFF
2E2F
-3005 3007 # [3]
-3021 302F # [15]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-3099 309A # [2]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A62B # [28]
-A640 A65F # [32]
-A662 A672 # [17]
-A67C A67D # [2]
-A67F A697 # [25]
-A6A0 A6F1 # [82]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A827 # [45]
-A840 A873 # [52]
-A880 A8C4 # [69]
-A8D0 A8D9 # [10]
-A8E0 A8F7 # [24]
+3005 3007
+3021 302F
+3031 3035
+3038 303C
+3041 3096
+3099 309A
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A62B
+A640 A672
+A67C A67D
+A67F A697
+A6A0 A6F1
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A827
+A840 A873
+A880 A8C4
+A8D0 A8D9
+A8E0 A8F7
A8FB
-A900 A92D # [46]
-A930 A953 # [36]
-A960 A97C # [29]
-A980 A9C0 # [65]
-A9CF A9D9 # [11]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA60 AA76 # [23]
-AA7A AA7B # [2]
-AA80 AAC2 # [67]
-AADB AADD # [3]
-ABC0 ABEA # [43]
-ABEC ABED # [2]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB28 # [12]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+A900 A92D
+A930 A953
+A960 A97C
+A980 A9C0
+A9CF A9D9
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA60 AA76
+AA7A AA7B
+AA80 AAC2
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABEA
+ABEC ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FE33 FE34 # [2]
-FE4D FE4F # [3]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF10 FF19 # [10]
-FF21 FF3A # [26]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE00 FE0F
+FE20 FE26
+FE33 FE34
+FE4D FE4F
+FE70 FE74
+FE76 FEFC
+FF10 FF19
+FF21 FF3A
FF3F
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
101FD
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
+1083F 10855
+10900 10915
+10920 10939
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
10A3F
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11080 110BA # [59]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D165 1D169 # [5]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11000 11046
+11066 1106F
+11080 110BA
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-1D7CE 1D7FF # [50]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
-E0100 E01EF # [240]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+1D7CE 1D7FF
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
new file mode 100644
index 00000000000..1aa6d253d35
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
@@ -0,0 +1,140 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+0021 002F
+003A 0040
+005B 0060
+007B 007E
+00A1
+00AB
+00B7
+00BB
+00BF
+037E
+0387
+055A 055F
+0589 058A
+05BE
+05C0
+05C3
+05C6
+05F3 05F4
+0609 060A
+060C 060D
+061B
+061E 061F
+066A 066D
+06D4
+0700 070D
+07F7 07F9
+0830 083E
+085E
+0964 0965
+0970
+0DF4
+0E4F
+0E5A 0E5B
+0F04 0F12
+0F3A 0F3D
+0F85
+0FD0 0FD4
+0FD9 0FDA
+104A 104F
+10FB
+1361 1368
+1400
+166D 166E
+169B 169C
+16EB 16ED
+1735 1736
+17D4 17D6
+17D8 17DA
+1800 180A
+1944 1945
+1A1E 1A1F
+1AA0 1AA6
+1AA8 1AAD
+1B5A 1B60
+1BFC 1BFF
+1C3B 1C3F
+1C7E 1C7F
+1CD3
+2010 2027
+2030 2043
+2045 2051
+2053 205E
+207D 207E
+208D 208E
+2329 232A
+2768 2775
+27C5 27C6
+27E6 27EF
+2983 2998
+29D8 29DB
+29FC 29FD
+2CF9 2CFC
+2CFE 2CFF
+2D70
+2E00 2E2E
+2E30 2E31
+3001 3003
+3008 3011
+3014 301F
+3030
+303D
+30A0
+30FB
+A4FE A4FF
+A60D A60F
+A673
+A67E
+A6F2 A6F7
+A874 A877
+A8CE A8CF
+A8F8 A8FA
+A92E A92F
+A95F
+A9C1 A9CD
+A9DE A9DF
+AA5C AA5F
+AADE AADF
+ABEB
+FD3E FD3F
+FE10 FE19
+FE30 FE52
+FE54 FE61
+FE63
+FE68
+FE6A FE6B
+FF01 FF03
+FF05 FF0A
+FF0C FF0F
+FF1A FF1B
+FF1F FF20
+FF3B FF3D
+FF3F
+FF5B
+FF5D
+FF5F FF65
+10100 10101
+1039F
+103D0
+10857
+1091F
+1093F
+10A50 10A58
+10A7F
+10B39 10B3F
+11047 1104D
+110BB 110BC
+110BE 110C1
+12470 12473
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl
index 8b047cbbf49..07cfaa4c796 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl
@@ -1,46 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_907 code points in Unicode Version 5.2.0 that
-# match:
-#
-# \p{_X_Begin}
-#
-# perluniprops.pod should be consulted for the syntax rules for this,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# For use in \X; matches: Hangul_Syllable | ! Control
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0020 007E # [95]
-00A0 00AC # [13]
-00AE 05FF # [1362]
-0604 06DC # [217]
-06DE 070E # [49]
-0710 17B3 # [4260]
-17B6 200A # [2133]
-200C 200D # [2]
-2010 2027 # [24]
-202F 205F # [49]
-2065 2069 # [5]
-2070 FEFE # [56_975]
-FF00 FFF8 # [249]
-FFFC 110BC # [4289]
-110BE 1D172 # [49_333]
-1D17B E0000 # [798_342]
-E0002 E001F # [30]
-E0080 10FFFF # [196_480]
+0020 007E
+00A0 00AC
+00AE 05FF
+0604 06DC
+06DE 070E
+0710 17B3
+17B6 200A
+200C 200D
+2010 2027
+202F 205F
+2065 2069
+2070 FEFE
+FF00 FFF8
+FFFC 110BC
+110BE 1D172
+1D17B E0000
+E0002 E001F
+E0080 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
index 2a78f6692a1..181cd8e7ab4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
@@ -1,216 +1,206 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1462 code points in Unicode Version 5.2.0 that match:
-#
-# \p{_X_Extend}
-#
-# perluniprops.pod should be consulted for the syntax rules for this,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# For use in \X; matches: Extend | SpacingMark
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
+0300 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0903 # [4]
-093C
-093E 094E # [17]
-0951 0955 # [5]
-0962 0963 # [2]
-0981 0983 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0903
+093A 093C
+093E 094F
+0951 0957
+0962 0963
+0981 0983
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09E2 09E3 # [2]
-0A01 0A03 # [3]
+09E2 09E3
+0A01 0A03
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A83 # [3]
+0A81 0A83
0ABC
-0ABE 0AC5 # [8]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
-0AE2 0AE3 # [2]
-0B01 0B03 # [3]
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AE2 0AE3
+0B01 0B03
0B3C
-0B3E 0B44 # [7]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B62 0B63 # [2]
+0B3E 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B62 0B63
0B82
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0C01 0C03 # [3]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
-0C82 0C83 # [2]
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
+0C82 0C83
0CBC
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
-0D02 0D03 # [2]
-0D3E 0D44 # [7]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CE2 0CE3
+0D02 0D03
+0D3E 0D44
+0D46 0D48
+0D4A 0D4D
0D57
-0D62 0D63 # [2]
-0D82 0D83 # [2]
+0D62 0D63
+0D82 0D83
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0E30 0E3A # [11]
+0DD8 0DDF
+0DF2 0DF3
+0E30 0E3A
0E45
-0E47 0E4E # [8]
-0EB0 0EB9 # [10]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0E47 0E4E
+0EB0 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F3E 0F3F # [2]
-0F71 0F84 # [20]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F3F
+0F71 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102B 103E # [20]
-1056 1059 # [4]
-105E 1060 # [3]
-1062 1064 # [3]
-1067 106D # [7]
-1071 1074 # [4]
-1082 108D # [12]
+102B 103E
+1056 1059
+105E 1060
+1062 1064
+1067 106D
+1071 1074
+1082 108D
108F
-109A 109D # [4]
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B6 17D3 # [30]
+109A 109D
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B6 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 192B # [12]
-1930 193B # [12]
-19B0 19C0 # [17]
-19C8 19C9 # [2]
-1A17 1A1B # [5]
-1A55 1A5E # [10]
-1A60 1A7C # [29]
+1920 192B
+1930 193B
+19B0 19C0
+19C8 19C9
+1A17 1A1B
+1A55 1A5E
+1A60 1A7C
1A7F
-1B00 1B04 # [5]
-1B34 1B44 # [17]
-1B6B 1B73 # [9]
-1B80 1B82 # [3]
-1BA1 1BAA # [10]
-1C24 1C37 # [20]
-1CD0 1CD2 # [3]
-1CD4 1CE8 # [21]
+1B00 1B04
+1B34 1B44
+1B6B 1B73
+1B80 1B82
+1BA1 1BAA
+1BE6 1BF3
+1C24 1C37
+1CD0 1CD2
+1CD4 1CE8
1CED
1CF2
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-200C 200D # [2]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+1DC0 1DE6
+1DFC 1DFF
+200C 200D
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A823 A827 # [5]
-A880 A881 # [2]
-A8B4 A8C4 # [17]
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A953 # [13]
-A980 A983 # [4]
-A9B3 A9C0 # [14]
-AA29 AA36 # [14]
+A823 A827
+A880 A881
+A8B4 A8C4
+A8E0 A8F1
+A926 A92D
+A947 A953
+A980 A983
+A9B3 A9C0
+AA29 AA36
AA43
-AA4C AA4D # [2]
+AA4C AA4D
AA7B
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
-ABE3 ABEA # [8]
-ABEC ABED # [2]
+ABE3 ABEA
+ABEC ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FF9E FF9F # [2]
+FE00 FE0F
+FE20 FE26
+FF9E FF9F
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11082 # [3]
-110B0 110BA # [11]
-1D165 1D169 # [5]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
+11000 11002
+11038 11046
+11080 11082
+110B0 110BA
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
index f44fb45eaec..29a206beebb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
@@ -1,31 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 11_267 code points in Unicode Version 5.2.0 that
-# match:
-#
-# \p{_X_LV_LVT_V}
-#
-# perluniprops.pod should be consulted for the syntax rules for this,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# For use in \X; matches: HST=LV | HST=LVT | HST=V
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1160 11A7 # [72]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
+1160 11A7
+AC00 D7A3
+D7B0 D7C6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl
index 6e43e2bccc2..b04e8e6c642 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl
@@ -1,53 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_083 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Quotation_Mark=No}
-# \p{QMark=N}
-# \p{Is_Quotation_Mark=F}
-# \p{Is_QMark=False}
-#
-# \P{Quotation_Mark}
-# \P{Is_Quotation_Mark}
-# \P{QMark}
-# \P{Is_QMark}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_QMark: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0021 # [34]
-0023 0026 # [4]
-0028 00AA # [131]
-00AC 00BA # [15]
-00BC 2017 # [8028]
-2020 2038 # [25]
-203B 300B # [4049]
-3010 301C # [13]
-3020 FE40 # [52_769]
-FE45 FF01 # [189]
-FF03 FF06 # [4]
-FF08 FF61 # [90]
-FF64 10FFFF # [1_048_732]
+0000 0021
+0023 0026
+0028 00AA
+00AC 00BA
+00BC 2017
+2020 2038
+203B 300B
+3010 301C
+3020 FE40
+FE45 FF01
+FF03 FF06
+FF08 FF61
+FF64 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
index 8cc0f8b4bdd..00bbb225bb2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
@@ -1,52 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 29 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Quotation_Mark=Yes}
-# \p{QMark=Y}
-# \p{Is_Quotation_Mark=T}
-# \p{Is_QMark=True}
-#
-# \p{Quotation_Mark}
-# \p{Is_Quotation_Mark}
-# \p{QMark}
-# \p{Is_QMark}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_QMark: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0022
0027
00AB
00BB
-2018 201F # [8]
-2039 203A # [2]
-300C 300F # [4]
-301D 301F # [3]
-FE41 FE44 # [4]
+2018 201F
+2039 203A
+300C 300F
+301D 301F
+FE41 FE44
FF02
FF07
-FF62 FF63 # [2]
+FF62 FF63
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl
index 72fb285b5b8..77994eb9db0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl
@@ -1,42 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_783 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Radical=No}
-# \p{Is_Radical=N}
-# \p{Radical=F}
-# \p{Is_Radical=False}
-#
-# \P{Radical}
-# \P{Is_Radical}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Radical: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 2E7F # [11_904]
+0000 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 10FFFF # [1_101_866]
+2EF4 2EFF
+2FD6 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
index e9894fefffd..2cdf9b985b2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
@@ -1,41 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 329 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Radical=Yes}
-# \p{Is_Radical=Y}
-# \p{Radical=T}
-# \p{Is_Radical=True}
-#
-# \p{Radical}
-# \p{Is_Radical}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Radical: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
index 934b93f7856..29a5272f143 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 4 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Sentence_Break=ATerm}
-# \p{SB=AT}
-# \p{Is_Sentence_Break=ATerm}
-# \p{Is_SB=AT}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: ATerm}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
index 62025ee8777..7bc31e9eff9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
@@ -1,76 +1,53 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 177 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Close}
-# \p{SB=CL}
-# \p{Is_Sentence_Break=Close}
-# \p{Is_SB=CL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Close}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0022
-0027 0029 # [3]
+0027 0029
005B
005D
007B
007D
00AB
00BB
-0F3A 0F3D # [4]
-169B 169C # [2]
-2018 201F # [8]
-2039 203A # [2]
-2045 2046 # [2]
-207D 207E # [2]
-208D 208E # [2]
-2329 232A # [2]
-275B 275E # [4]
-2768 2775 # [14]
-27C5 27C6 # [2]
-27E6 27EF # [10]
-2983 2998 # [22]
-29D8 29DB # [4]
-29FC 29FD # [2]
-2E00 2E0D # [14]
-2E1C 2E1D # [2]
-2E20 2E29 # [10]
-3008 3011 # [10]
-3014 301B # [8]
-301D 301F # [3]
-FD3E FD3F # [2]
-FE17 FE18 # [2]
-FE35 FE44 # [16]
-FE47 FE48 # [2]
-FE59 FE5E # [6]
-FF08 FF09 # [2]
+0F3A 0F3D
+169B 169C
+2018 201F
+2039 203A
+2045 2046
+207D 207E
+208D 208E
+2329 232A
+275B 275E
+2768 2775
+27C5 27C6
+27E6 27EF
+2983 2998
+29D8 29DB
+29FC 29FD
+2E00 2E0D
+2E1C 2E1D
+2E20 2E29
+3008 3011
+3014 301B
+301D 301F
+FD3E FD3F
+FE17 FE18
+FE35 FE44
+FE47 FE48
+FE59 FE5E
+FF08 FF09
FF3B
FF3D
FF5B
FF5D
-FF5F FF60 # [2]
-FF62 FF63 # [2]
+FF5F FF60
+FF62 FF63
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
index 2b51a4b26ae..84ddbb43e6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
@@ -1,238 +1,207 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 1455 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Extend}
-# \p{SB=EX}
-# \p{Is_Sentence_Break=Extend}
-# \p{Is_SB=EX}
-#
-# \p{Word_Break=Extend}
-# \p{WB=Extend}
-# \p{Is_Word_Break=Extend}
-# \p{Is_WB=Extend}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_WB: Extend}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0483 0489 # [7]
-0591 05BD # [45]
+0300 036F
+0483 0489
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-0610 061A # [11]
-064B 065E # [20]
+0610 061A
+064B 065F
0670
-06D6 06DC # [7]
-06DE 06E4 # [7]
-06E7 06E8 # [2]
-06EA 06ED # [4]
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
0711
-0730 074A # [27]
-07A6 07B0 # [11]
-07EB 07F3 # [9]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 082D # [5]
-0900 0903 # [4]
-093C
-093E 094E # [17]
-0951 0955 # [5]
-0962 0963 # [2]
-0981 0983 # [3]
+0730 074A
+07A6 07B0
+07EB 07F3
+0816 0819
+081B 0823
+0825 0827
+0829 082D
+0859 085B
+0900 0903
+093A 093C
+093E 094F
+0951 0957
+0962 0963
+0981 0983
09BC
-09BE 09C4 # [7]
-09C7 09C8 # [2]
-09CB 09CD # [3]
+09BE 09C4
+09C7 09C8
+09CB 09CD
09D7
-09E2 09E3 # [2]
-0A01 0A03 # [3]
+09E2 09E3
+0A01 0A03
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A70 0A71 # [2]
+0A70 0A71
0A75
-0A81 0A83 # [3]
+0A81 0A83
0ABC
-0ABE 0AC5 # [8]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
-0AE2 0AE3 # [2]
-0B01 0B03 # [3]
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AE2 0AE3
+0B01 0B03
0B3C
-0B3E 0B44 # [7]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B62 0B63 # [2]
+0B3E 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B62 0B63
0B82
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD7
-0C01 0C03 # [3]
-0C3E 0C44 # [7]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C62 0C63 # [2]
-0C82 0C83 # [2]
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C62 0C63
+0C82 0C83
0CBC
-0CBE 0CC4 # [7]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
-0CE2 0CE3 # [2]
-0D02 0D03 # [2]
-0D3E 0D44 # [7]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CE2 0CE3
+0D02 0D03
+0D3E 0D44
+0D46 0D48
+0D4A 0D4D
0D57
-0D62 0D63 # [2]
-0D82 0D83 # [2]
+0D62 0D63
+0D82 0D83
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
+0DD8 0DDF
+0DF2 0DF3
0E31
-0E34 0E3A # [7]
-0E47 0E4E # [8]
+0E34 0E3A
+0E47 0E4E
0EB1
-0EB4 0EB9 # [6]
-0EBB 0EBC # [2]
-0EC8 0ECD # [6]
-0F18 0F19 # [2]
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
0F35
0F37
0F39
-0F3E 0F3F # [2]
-0F71 0F84 # [20]
-0F86 0F87 # [2]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F3F
+0F71 0F84
+0F86 0F87
+0F8D 0F97
+0F99 0FBC
0FC6
-102B 103E # [20]
-1056 1059 # [4]
-105E 1060 # [3]
-1062 1064 # [3]
-1067 106D # [7]
-1071 1074 # [4]
-1082 108D # [12]
+102B 103E
+1056 1059
+105E 1060
+1062 1064
+1067 106D
+1071 1074
+1082 108D
108F
-109A 109D # [4]
-135F
-1712 1714 # [3]
-1732 1734 # [3]
-1752 1753 # [2]
-1772 1773 # [2]
-17B6 17D3 # [30]
+109A 109D
+135D 135F
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B6 17D3
17DD
-180B 180D # [3]
+180B 180D
18A9
-1920 192B # [12]
-1930 193B # [12]
-19B0 19C0 # [17]
-19C8 19C9 # [2]
-1A17 1A1B # [5]
-1A55 1A5E # [10]
-1A60 1A7C # [29]
+1920 192B
+1930 193B
+19B0 19C0
+19C8 19C9
+1A17 1A1B
+1A55 1A5E
+1A60 1A7C
1A7F
-1B00 1B04 # [5]
-1B34 1B44 # [17]
-1B6B 1B73 # [9]
-1B80 1B82 # [3]
-1BA1 1BAA # [10]
-1C24 1C37 # [20]
-1CD0 1CD2 # [3]
-1CD4 1CE8 # [21]
+1B00 1B04
+1B34 1B44
+1B6B 1B73
+1B80 1B82
+1BA1 1BAA
+1BE6 1BF3
+1C24 1C37
+1CD0 1CD2
+1CD4 1CE8
1CED
1CF2
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-200C 200D # [2]
-20D0 20F0 # [33]
-2CEF 2CF1 # [3]
-2DE0 2DFF # [32]
-302A 302F # [6]
-3099 309A # [2]
-A66F A672 # [4]
-A67C A67D # [2]
-A6F0 A6F1 # [2]
+1DC0 1DE6
+1DFC 1DFF
+200C 200D
+20D0 20F0
+2CEF 2CF1
+2D7F
+2DE0 2DFF
+302A 302F
+3099 309A
+A66F A672
+A67C A67D
+A6F0 A6F1
A802
A806
A80B
-A823 A827 # [5]
-A880 A881 # [2]
-A8B4 A8C4 # [17]
-A8E0 A8F1 # [18]
-A926 A92D # [8]
-A947 A953 # [13]
-A980 A983 # [4]
-A9B3 A9C0 # [14]
-AA29 AA36 # [14]
+A823 A827
+A880 A881
+A8B4 A8C4
+A8E0 A8F1
+A926 A92D
+A947 A953
+A980 A983
+A9B3 A9C0
+AA29 AA36
AA43
-AA4C AA4D # [2]
+AA4C AA4D
AA7B
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
-ABE3 ABEA # [8]
-ABEC ABED # [2]
+ABE3 ABEA
+ABEC ABED
FB1E
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FF9E FF9F # [2]
+FE00 FE0F
+FE20 FE26
+FF9E FF9F
101FD
-10A01 10A03 # [3]
-10A05 10A06 # [2]
-10A0C 10A0F # [4]
-10A38 10A3A # [3]
+10A01 10A03
+10A05 10A06
+10A0C 10A0F
+10A38 10A3A
10A3F
-11080 11082 # [3]
-110B0 110BA # [11]
-1D165 1D169 # [5]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-E0100 E01EF # [240]
+11000 11002
+11038 11046
+11080 11082
+110B0 110BA
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
index 1aa266ce113..d5b800b5038 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
@@ -1,51 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 138 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Format}
-# \p{SB=FO}
-# \p{Is_Sentence_Break=Format}
-# \p{Is_SB=FO}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Format}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AD
-0600 0603 # [4]
+0600 0603
06DD
070F
-17B4 17B5 # [2]
+17B4 17B5
200B
-200E 200F # [2]
-202A 202E # [5]
-2060 2064 # [5]
-206A 206F # [6]
+200E 200F
+202A 202E
+2060 2064
+206A 206F
FEFF
-FFF9 FFFB # [3]
+FFF9 FFFB
110BD
-1D173 1D17A # [8]
+1D173 1D17A
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
index a206f279c14..081313ea6ae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
@@ -1,372 +1,362 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 96_405 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Sentence_Break=OLetter}
-# \p{SB=LE}
-# \p{Is_Sentence_Break=OLetter}
-# \p{Is_SB=LE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: OLetter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
01BB
-01C0 01C3 # [4]
+01C0 01C3
0294
-02B9 02BF # [7]
-02C6 02D1 # [12]
+02B9 02BF
+02C6 02D1
02EC
02EE
0374
0559
-05D0 05EA # [27]
-05F0 05F3 # [4]
-0621 064A # [42]
-066E 066F # [2]
-0671 06D3 # [99]
+05D0 05EA
+05F0 05F3
+0620 064A
+066E 066F
+0671 06D3
06D5
-06E5 06E6 # [2]
-06EE 06EF # [2]
-06FA 06FC # [3]
+06E5 06E6
+06EE 06EF
+06FA 06FC
06FF
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-07F4 07F5 # [2]
+07CA 07EA
+07F4 07F5
07FA
-0800 0815 # [22]
+0800 0815
081A
0824
0828
-0904 0939 # [54]
+0840 0858
+0904 0939
093D
0950
-0958 0961 # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0971 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
+0B5C 0B5D
+0B5F 0B61
0B71
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0E01 0E30 # [48]
-0E32 0E33 # [2]
-0E40 0E46 # [7]
-0E81 0E82 # [2]
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB0 # [4]
-0EB2 0EB3 # [2]
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
0EBD
-0EC0 0EC4 # [5]
+0EC0 0EC4
0EC6
-0EDC 0EDD # [2]
+0EDC 0EDD
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-1000 102A # [43]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+1000 102A
103F
-1050 1055 # [6]
-105A 105D # [4]
+1050 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-10D0 10FA # [43]
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1780 17B3 # [52]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
17D7
17DC
-1820 1877 # [88]
-1880 18A8 # [41]
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19C1 19C7 # [7]
-1A00 1A16 # [23]
-1A20 1A54 # [53]
+18B0 18F5
+1900 191C
+1950 196D
+1970 1974
+1980 19AB
+19C1 19C7
+1A00 1A16
+1A20 1A54
1AA7
-1B05 1B33 # [47]
-1B45 1B4B # [7]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF1
2071
207F
-2135 2138 # [4]
-2180 2182 # [3]
-2185 2188 # [4]
-2D30 2D65 # [54]
+2095 209C
+2135 2138
+2180 2182
+2185 2188
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
2E2F
-3005 3007 # [3]
-3021 3029 # [9]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
A66E
A67F
-A6A0 A6EF # [80]
-A717 A71F # [9]
+A6A0 A6EF
+A717 A71F
A788
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8F7 # [6]
+A7FB A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
A8FB
-A90A A925 # [28]
-A930 A946 # [23]
-A960 A97C # [29]
-A984 A9B2 # [47]
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
A9CF
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
-AA60 AA76 # [23]
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AA60 AA76
AA7A
-AA80 AAAF # [48]
+AA80 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
AAC2
-AADB AADD # [3]
-ABC0 ABE2 # [35]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
FB1D
-FB1F FB28 # [10]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB1F FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF66 FF9D # [56]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10450 1049D # [78]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF66 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10450 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
+1083F 10855
+10900 10915
+10920 10939
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11083 110AF # [45]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
index 7ff145fbe01..7d9565f7eed 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
@@ -1,43 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1907 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Lower}
-# \p{SB=LO}
-# \p{Is_Sentence_Break=Lower}
-# \p{Is_SB=LO}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Lower}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0061 007A # [26]
+0061 007A
00AA
00B5
00BA
-00DF 00F6 # [24]
-00F8 00FF # [8]
+00DF 00F6
+00F8 00FF
0101
0103
0105
@@ -65,7 +42,7 @@ return <<'END';
0131
0133
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -73,7 +50,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -99,26 +76,26 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BA # [2]
-01BD 01BF # [3]
+01B9 01BA
+01BD 01BF
01C6
01C9
01CC
@@ -129,7 +106,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -138,7 +115,7 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
+01EF 01F0
01F3
01F5
01F9
@@ -170,26 +147,26 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 0293 # [69]
-0295 02B8 # [36]
-02C0 02C1 # [2]
-02E0 02E4 # [5]
+024F 0293
+0295 02B8
+02C0 02C1
+02E0 02E4
0371
0373
0377
-037A 037D # [4]
+037A 037D
0390
-03AC 03CE # [35]
-03D0 03D1 # [2]
-03D5 03D7 # [3]
+03AC 03CE
+03D0 03D1
+03D5 03D7
03D9
03DB
03DD
@@ -201,11 +178,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F3 # [5]
+03EF 03F3
03F5
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -256,7 +233,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -300,8 +277,9 @@ return <<'END';
0521
0523
0525
-0561 0587 # [39]
-1D00 1DBF # [192]
+0527
+0561 0587
+1D00 1DBF
1E01
1E03
1E05
@@ -376,7 +354,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9D # [9]
+1E95 1E9D
1E9F
1EA1
1EA3
@@ -425,49 +403,49 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F15 # [6]
-1F20 1F27 # [8]
-1F30 1F37 # [8]
-1F40 1F45 # [6]
-1F50 1F57 # [8]
-1F60 1F67 # [8]
-1F70 1F7D # [14]
-1F80 1F87 # [8]
-1F90 1F97 # [8]
-1FA0 1FA7 # [8]
-1FB0 1FB4 # [5]
-1FB6 1FB7 # [2]
+1EFF 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FC7 # [2]
-1FD0 1FD3 # [4]
-1FD6 1FD7 # [2]
-1FE0 1FE7 # [8]
-1FF2 1FF4 # [3]
-1FF6 1FF7 # [2]
-2090 2094 # [5]
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
+2090 2094
210A
-210E 210F # [2]
+210E 210F
2113
212F
2134
2139
-213C 213D # [2]
-2146 2149 # [4]
+213C 213D
+2146 2149
214E
-2170 217F # [16]
+2170 217F
2184
-24D0 24E9 # [26]
-2C30 2C5E # [47]
+24D0 24E9
+2C30 2C5E
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7D # [8]
+2C73 2C74
+2C76 2C7D
2C81
2C83
2C85
@@ -517,10 +495,10 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CE4 # [2]
+2CE3 2CE4
2CEC
2CEE
-2D00 2D25 # [38]
+2D00 2D25
A641
A643
A645
@@ -537,6 +515,7 @@ A659
A65B
A65D
A65F
+A661
A663
A665
A667
@@ -561,7 +540,7 @@ A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -592,7 +571,7 @@ A767
A769
A76B
A76D
-A76F A778 # [10]
+A76F A778
A77A
A77C
A77F
@@ -601,36 +580,44 @@ A783
A785
A787
A78C
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FF41 FF5A # [26]
-10428 1044F # [40]
-1D41A 1D433 # [26]
-1D44E 1D454 # [7]
-1D456 1D467 # [18]
-1D482 1D49B # [26]
-1D4B6 1D4B9 # [4]
+A78E
+A791
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9
+A7FA
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
+1D41A 1D433
+1D44E 1D454
+1D456 1D467
+1D482 1D49B
+1D4B6 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D4CF # [11]
-1D4EA 1D503 # [26]
-1D51E 1D537 # [26]
-1D552 1D56B # [26]
-1D586 1D59F # [26]
-1D5BA 1D5D3 # [26]
-1D5EE 1D607 # [26]
-1D622 1D63B # [26]
-1D656 1D66F # [26]
-1D68A 1D6A5 # [28]
-1D6C2 1D6DA # [25]
-1D6DC 1D6E1 # [6]
-1D6FC 1D714 # [25]
-1D716 1D71B # [6]
-1D736 1D74E # [25]
-1D750 1D755 # [6]
-1D770 1D788 # [25]
-1D78A 1D78F # [6]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7C9 # [6]
+1D4BD 1D4C3
+1D4C5 1D4CF
+1D4EA 1D503
+1D51E 1D537
+1D552 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A5
+1D6C2 1D6DA
+1D6DC 1D6E1
+1D6FC 1D714
+1D716 1D71B
+1D736 1D74E
+1D750 1D755
+1D770 1D788
+1D78A 1D78F
+1D7AA 1D7C2
+1D7C4 1D7C9
1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
index 9af90c9c38f..97b2eeafb6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
@@ -1,54 +1,31 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 26 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=SContinue}
-# \p{SB=SC}
-# \p{Is_Sentence_Break=SContinue}
-# \p{Is_SB=SC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: SContinue}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-002C 002D # [2]
+002C 002D
003A
055D
-060C 060D # [2]
+060C 060D
07F8
1802
1808
-2013 2014 # [2]
+2013 2014
3001
-FE10 FE11 # [2]
+FE10 FE11
FE13
-FE31 FE32 # [2]
-FE50 FE51 # [2]
+FE31 FE32
+FE50 FE51
FE55
FE58
FE63
-FF0C FF0D # [2]
+FF0C FF0D
FF1A
FF64
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
index 8af7b848146..dcd0345e31f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
@@ -1,37 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 3 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Sentence_Break=Sep}
-# \p{SB=SE}
-# \p{Is_Sentence_Break=Sep}
-# \p{Is_SB=SE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Sep}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0085
-2028 2029 # [2]
+2028 2029
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
index d778a0402f1..b55b1ef57ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 63 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=STerm}
-# \p{SB=ST}
-# \p{Is_Sentence_Break=STerm}
-# \p{Is_SB=ST}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: STerm}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0021
@@ -39,37 +16,41 @@ return <<'END';
0589
061F
06D4
-0700 0702 # [3]
+0700 0702
07F9
-0964 0965 # [2]
-104A 104B # [2]
+0964 0965
+104A 104B
1362
-1367 1368 # [2]
+1367 1368
166E
+1735 1736
1803
1809
-1944 1945 # [2]
-1B5A 1B5B # [2]
-1B5E 1B5F # [2]
-1C3B 1C3C # [2]
-1C7E 1C7F # [2]
-203C 203D # [2]
-2047 2049 # [3]
+1944 1945
+1AA8 1AAB
+1B5A 1B5B
+1B5E 1B5F
+1C3B 1C3C
+1C7E 1C7F
+203C 203D
+2047 2049
2E2E
3002
A4FF
-A60E A60F # [2]
+A60E A60F
A6F3
A6F7
-A876 A877 # [2]
-A8CE A8CF # [2]
+A876 A877
+A8CE A8CF
A92F
-A9C8 A9C9 # [2]
-AA5D AA5F # [3]
+A9C8 A9C9
+AA5D AA5F
ABEB
-FE56 FE57 # [2]
+FE56 FE57
FF01
FF1F
FF61
-110BE 110C1 # [4]
+10A56 10A57
+11047 11048
+110BE 110C1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
index d903edd58c1..6a0faca1b74 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
@@ -1,44 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 21 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Sp}
-# \p{SB=Sp}
-# \p{Is_Sentence_Break=Sp}
-# \p{Is_SB=Sp}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Sp}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0009
-000B 000C # [2]
+000B 000C
0020
00A0
1680
180E
-2000 200A # [11]
+2000 200A
202F
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
index 6fef27756ac..e8ff791fa5a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1500 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Upper}
-# \p{SB=UP}
-# \p{Is_Sentence_Break=Upper}
-# \p{Is_SB=UP}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Upper}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-00C0 00D6 # [23]
-00D8 00DE # [7]
+0041 005A
+00C0 00D6
+00D8 00DE
0100
0102
0104
@@ -94,31 +71,31 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
+01B7 01B8
01BC
-01C4 01C5 # [2]
-01C7 01C8 # [2]
-01CA 01CB # [2]
+01C4 01C5
+01C7 01C8
+01CA 01CB
01CD
01CF
01D1
@@ -136,9 +113,9 @@ return <<'END';
01EA
01EC
01EE
-01F1 01F2 # [2]
+01F1 01F2
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -168,10 +145,10 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -180,13 +157,13 @@ return <<'END';
0372
0376
0386
-0388 038A # [3]
+0388 038A
038C
-038E 038F # [2]
-0391 03A1 # [17]
-03A3 03AB # [9]
+038E 038F
+0391 03A1
+03A3 03AB
03CF
-03D2 03D4 # [3]
+03D2 03D4
03D8
03DA
03DC
@@ -201,8 +178,8 @@ return <<'END';
03EE
03F4
03F7
-03F9 03FA # [2]
-03FD 042F # [51]
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -247,7 +224,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -297,8 +274,9 @@ return <<'END';
0520
0522
0524
-0531 0556 # [38]
-10A0 10C5 # [38]
+0526
+0531 0556
+10A0 10C5
1E00
1E02
1E04
@@ -423,50 +401,50 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F18 1F1D # [6]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F48 1F4D # [6]
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
1F59
1F5B
1F5D
1F5F
-1F68 1F6F # [8]
-1F88 1F8F # [8]
-1F98 1F9F # [8]
-1FA8 1FAF # [8]
-1FB8 1FBC # [5]
-1FC8 1FCC # [5]
-1FD8 1FDB # [4]
-1FE8 1FEC # [5]
-1FF8 1FFC # [5]
+1F68 1F6F
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
+1FB8 1FBC
+1FC8 1FCC
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFC
2102
2107
-210B 210D # [3]
-2110 2112 # [3]
+210B 210D
+2110 2112
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-2130 2133 # [4]
-213E 213F # [2]
+212A 212D
+2130 2133
+213E 213F
2145
-2160 216F # [16]
+2160 216F
2183
-24B6 24CF # [26]
-2C00 2C2E # [47]
+24B6 24CF
+2C00 2C2E
2C60
-2C62 2C64 # [3]
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7E 2C80 # [3]
+2C7E 2C80
2C82
2C84
2C86
@@ -534,6 +512,7 @@ A658
A65A
A65C
A65E
+A660
A662
A664
A666
@@ -592,43 +571,50 @@ A76C
A76E
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
A78B
-FF21 FF3A # [26]
-10400 10427 # [40]
-1D400 1D419 # [26]
-1D434 1D44D # [26]
-1D468 1D481 # [26]
+A78D
+A790
+A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+FF21 FF3A
+10400 10427
+1D400 1D419
+1D434 1D44D
+1D468 1D481
1D49C
-1D49E 1D49F # [2]
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B5 # [8]
-1D4D0 1D4E9 # [26]
-1D504 1D505 # [2]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D538 1D539 # [2]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B5
+1D4D0 1D4E9
+1D504 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D538 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D56C 1D585 # [26]
-1D5A0 1D5B9 # [26]
-1D5D4 1D5ED # [26]
-1D608 1D621 # [26]
-1D63C 1D655 # [26]
-1D670 1D689 # [26]
-1D6A8 1D6C0 # [25]
-1D6E2 1D6FA # [25]
-1D71C 1D734 # [25]
-1D756 1D76E # [25]
-1D790 1D7A8 # [25]
+1D54A 1D550
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A8 1D6C0
+1D6E2 1D6FA
+1D71C 1D734
+1D756 1D76E
+1D790 1D7A8
1D7CA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
index 6c1fa8c54ad..76562b2ae8a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
@@ -1,400 +1,374 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_012_008 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Sentence_Break=Other}
-# \p{SB=XX}
-# \p{Is_Sentence_Break=Other}
-# \p{Is_SB=XX}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SB: Other}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0008 # [9]
-000E 001F # [18]
-0023 0026 # [4]
-002A 002B # [2]
+0000 0008
+000E 001F
+0023 0026
+002A 002B
002F
-003B 003E # [4]
+003B 003E
0040
005C
-005E 0060 # [3]
+005E 0060
007C
-007E 0084 # [7]
-0086 009F # [26]
-00A1 00A9 # [9]
+007E 0084
+0086 009F
+00A1 00A9
00AC
-00AE 00B4 # [7]
-00B6 00B9 # [4]
-00BC 00BF # [4]
+00AE 00B4
+00B6 00B9
+00BC 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 02FF # [17]
+02EF 02FF
0375
-0378 0379 # [2]
-037E 0385 # [8]
+0378 0379
+037E 0385
0387
038B
038D
03A2
03F6
0482
-0526 0530 # [11]
-0557 0558 # [2]
-055A 055B # [2]
-055F 0560 # [2]
+0528 0530
+0557 0558
+055A 055B
+055F 0560
0588
-058A 0590 # [7]
+058A 0590
05BE
05C0
05C3
05C6
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F4 05FF # [12]
-0604 060B # [8]
-060E 060F # [2]
-061B 061E # [4]
-0620
-065F
+05C8 05CF
+05EB 05EF
+05F4 05FF
+0604 060B
+060E 060F
+061B 061E
066A
066D
+06DE
06E9
-06FD 06FE # [2]
-0703 070E # [12]
-074B 074C # [2]
-07B2 07BF # [14]
-07F6 07F7 # [2]
-07FB 07FF # [5]
-082E 08FF # [210]
-093A 093B # [2]
-094F
-0956 0957 # [2]
+06FD 06FE
+0703 070E
+074B 074C
+07B2 07BF
+07F6 07F7
+07FB 07FF
+082E 083F
+085C 08FF
0970
-0973 0978 # [6]
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09F2 0A00 # [15]
+09E4 09E5
+09F2 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
-0AF0 0B00 # [17]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
+0AF0 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
+0B64 0B65
0B70
-0B72 0B81 # [16]
+0B72 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BF0 0C00 # [17]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BF0 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C81 # [18]
+0C5A 0C5F
+0C64 0C65
+0C70 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
-0CF0 0D01 # [18]
+0CE4 0CE5
+0CF0
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D70 0D79 # [10]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D70 0D79
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E00 # [13]
-0E3B 0E3F # [5]
+0DE0 0DF1
+0DF4 0E00
+0E3B 0E3F
0E4F
-0E5A 0E80 # [39]
+0E5A 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
-0F01 0F17 # [23]
-0F1A 0F1F # [6]
-0F2A 0F34 # [11]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
+0F01 0F17
+0F1A 0F1F
+0F2A 0F34
0F36
0F38
0F48
-0F6D 0F70 # [4]
+0F6D 0F70
0F85
-0F8C 0F8F # [4]
0F98
-0FBD 0FC5 # [9]
-0FC7 0FFF # [57]
-104C 104F # [4]
-109E 109F # [2]
-10C6 10CF # [10]
+0FBD 0FC5
+0FC7 0FFF
+104C 104F
+109E 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-1360 1361 # [2]
-1363 1366 # [4]
-1369 137F # [23]
-1390 139F # [16]
-13F5 1400 # [12]
+1316 1317
+135B 135C
+1360 1361
+1363 1366
+1369 137F
+1390 139F
+13F5 1400
166D
-169D 169F # [3]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169D 169F
+16EB 16ED
+16F1 16FF
170D
-1715 171F # [11]
-1735 173F # [11]
-1754 175F # [12]
+1715 171F
+1737 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17D4 17D6 # [3]
-17D8 17DB # [4]
-17DE 17DF # [2]
-17EA 1801 # [24]
-1804 1807 # [4]
+1774 177F
+17D4 17D6
+17D8 17DB
+17DE 17DF
+17EA 1801
+1804 1807
180A
180F
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 1943 # [8]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19FF # [37]
-1A1C 1A1F # [4]
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DA 19FF
+1A1C 1A1F
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1AA6 # [13]
-1AA8 1AFF # [88]
-1B4C 1B4F # [4]
-1B5C 1B5D # [2]
-1B60 1B6A # [11]
-1B74 1B7F # [12]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3A # [3]
-1C3D 1C3F # [3]
-1C4A 1C4C # [3]
-1C80 1CCF # [80]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1AA6
+1AAC 1AFF
+1B4C 1B4F
+1B5C 1B5D
+1B60 1B6A
+1B74 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFF
+1C38 1C3A
+1C3D 1C3F
+1C4A 1C4C
+1C80 1CCF
1CD3
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 1FFF # [3]
-2010 2012 # [3]
-2015 2017 # [3]
-2020 2023 # [4]
-2025 2027 # [3]
-2030 2038 # [9]
+1FFD 1FFF
+2010 2012
+2015 2017
+2020 2023
+2025 2027
+2030 2038
203B
-203E 2044 # [7]
-204A 205E # [21]
-2065 2069 # [5]
+203E 2044
+204A 205E
+2065 2069
2070
-2072 207C # [11]
-2080 208C # [13]
+2072 207C
+2080 208C
208F
-2095 20CF # [59]
-20F1 2101 # [17]
-2103 2106 # [4]
-2108 2109 # [2]
+209D 20CF
+20F1 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2118
+211E 2123
2125
2127
2129
212E
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 2328 # [416]
-232B 24B5 # [395]
-24EA 275A # [625]
-275F 2767 # [9]
-2776 27C4 # [79]
-27C7 27E5 # [31]
-27F0 2982 # [403]
-2999 29D7 # [63]
-29DC 29FB # [32]
-29FE 2BFF # [514]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 2328
+232B 24B5
+24EA 275A
+275F 2767
+2776 27C4
+27C7 27E5
+27F0 2982
+2999 29D7
+29DC 29FB
+29FE 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CF2 2CFF # [14]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CF2 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -403,180 +377,191 @@ return <<'END';
2DCF
2DD7
2DDF
-2E0E 2E1B # [14]
-2E1E 2E1F # [2]
-2E2A 2E2D # [4]
-2E30 2FFF # [464]
-3003 3004 # [2]
-3012 3013 # [2]
+2E0E 2E1B
+2E1E 2E1F
+2E2A 2E2D
+2E30 2FFF
+3003 3004
+3012 3013
301C
3020
3030
-3036 3037 # [2]
-303D 3040 # [4]
-3097 3098 # [2]
-309B 309C # [2]
+3036 3037
+303D 3040
+3097 3098
+309B 309C
30A0
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 33FF # [512]
-4DB6 4DFF # [74]
-9FCC 9FFF # [52]
-A48D A4CF # [67]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 33FF
+4DB6 4DFF
+9FCC 9FFF
+A48D A4CF
A4FE
A60D
-A62C A63F # [20]
-A660 A661 # [2]
-A673 A67B # [9]
+A62C A63F
+A673 A67B
A67E
-A698 A69F # [8]
+A698 A69F
A6F2
-A6F4 A6F6 # [3]
-A6F8 A716 # [31]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
-A828 A83F # [24]
-A874 A875 # [2]
-A878 A87F # [8]
-A8C5 A8CD # [9]
-A8DA A8DF # [6]
-A8F8 A8FA # [3]
-A8FC A8FF # [4]
+A6F4 A6F6
+A6F8 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
+A828 A83F
+A874 A875
+A878 A87F
+A8C5 A8CD
+A8DA A8DF
+A8F8 A8FA
+A8FC A8FF
A92E
-A954 A95F # [12]
-A97D A97F # [3]
-A9C1 A9C7 # [7]
-A9CA A9CE # [5]
-A9DA A9FF # [38]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5C # [3]
-AA77 AA79 # [3]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AADE ABBF # [226]
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+A954 A95F
+A97D A97F
+A9C1 A9C7
+A9CA A9CE
+A9DA A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5C
+AA77 AA79
+AA7C AA7F
+AAC3 AADA
+AADE AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB29
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFC FDFF # [4]
+FBB2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFC FDFF
FE12
-FE14 FE16 # [3]
-FE19 FE1F # [7]
-FE27 FE30 # [10]
-FE33 FE34 # [2]
-FE45 FE46 # [2]
-FE49 FE4F # [7]
-FE53 FE54 # [2]
-FE5F FE62 # [4]
-FE64 FE6F # [12]
+FE14 FE16
+FE19 FE1F
+FE27 FE30
+FE33 FE34
+FE45 FE46
+FE49 FE4F
+FE53 FE54
+FE5F FE62
+FE64 FE6F
FE75
-FEFD FEFE # [2]
+FEFD FEFE
FF00
-FF02 FF07 # [6]
-FF0A FF0B # [2]
-FF0F FF19 # [11]
-FF1B FF1E # [4]
+FF02 FF07
+FF0A FF0B
+FF0F FF19
+FF1B FF1E
FF20
FF3C
-FF3E FF40 # [3]
+FF3E FF40
FF5C
FF5E
FF65
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFF8 # [28]
-FFFC FFFF # [4]
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFF8
+FFFC FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 101FC # [136]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 101FC
+101FE 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A40 10A5F # [32]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 1107F # [1079]
-110BB 110BC # [2]
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D164 # [40_246]
-1D16A 1D16C # [3]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 1D3FF # [443]
+10A34 10A37
+10A3B 10A3E
+10A40 10A55
+10A58 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 10FFF
+11049 11065
+11070 1107F
+110BB 110BC
+110C2 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -587,12 +572,13 @@ FFFC FFFF # [4]
1D789
1D7A9
1D7C3
-1D7CC 1D7CD # [2]
-1D800 1FFFF # [10_240]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E E0000 # [722_403]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+1D7CC 1D7CD
+1D800 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl
index ac1015bfc1e..6f2c7f894b6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl
@@ -1,73 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_066 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Soft_Dotted=No}
-# \p{SD=N}
-# \p{Is_Soft_Dotted=F}
-# \p{Is_SD=False}
-#
-# \P{Soft_Dotted}
-# \P{Is_Soft_Dotted}
-# \P{SD}
-# \P{Is_SD}
-# \P{_CanonDCIJ}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SD: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0068 # [105]
-006B 012E # [196]
-0130 0248 # [281]
-024A 0267 # [30]
-0269 029C # [52]
-029E 02B1 # [20]
-02B3 03F2 # [320]
-03F4 0455 # [98]
+0000 0068
+006B 012E
+0130 0248
+024A 0267
+0269 029C
+029E 02B1
+02B3 03F2
+03F4 0455
0457
-0459 1D61 # [6409]
-1D63 1D95 # [51]
-1D97 1DA3 # [13]
-1DA5 1DA7 # [3]
-1DA9 1E2C # [132]
-1E2E 1ECA # [157]
-1ECC 2070 # [421]
-2072 2147 # [214]
-214A 2C7B # [2866]
-2C7D 1D421 # [108_453]
-1D424 1D455 # [50]
-1D458 1D489 # [50]
-1D48C 1D4BD # [50]
-1D4C0 1D4F1 # [50]
-1D4F4 1D525 # [50]
-1D528 1D559 # [50]
-1D55C 1D58D # [50]
-1D590 1D5C1 # [50]
-1D5C4 1D5F5 # [50]
-1D5F8 1D629 # [50]
-1D62C 1D65D # [50]
-1D660 1D691 # [50]
-1D694 10FFFF # [993_644]
+0459 1D61
+1D63 1D95
+1D97 1DA3
+1DA5 1DA7
+1DA9 1E2C
+1E2E 1ECA
+1ECC 2070
+2072 2147
+214A 2C7B
+2C7D 1D421
+1D424 1D455
+1D458 1D489
+1D48C 1D4BD
+1D4C0 1D4F1
+1D4F4 1D525
+1D528 1D559
+1D55C 1D58D
+1D590 1D5C1
+1D5C4 1D5F5
+1D5F8 1D629
+1D62C 1D65D
+1D660 1D691
+1D694 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
index 6396ecf7cf8..98877ab7b80 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
@@ -1,44 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 46 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Soft_Dotted=Yes}
-# \p{SD=Y}
-# \p{Is_Soft_Dotted=T}
-# \p{Is_SD=True}
-#
-# \p{Soft_Dotted}
-# \p{Is_Soft_Dotted}
-# \p{SD}
-# \p{Is_SD}
-# \p{_CanonDCIJ}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_SD: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0069 006A # [2]
+0069 006A
012F
0249
0268
@@ -54,19 +25,19 @@ return <<'END';
1E2D
1ECB
2071
-2148 2149 # [2]
+2148 2149
2C7C
-1D422 1D423 # [2]
-1D456 1D457 # [2]
-1D48A 1D48B # [2]
-1D4BE 1D4BF # [2]
-1D4F2 1D4F3 # [2]
-1D526 1D527 # [2]
-1D55A 1D55B # [2]
-1D58E 1D58F # [2]
-1D5C2 1D5C3 # [2]
-1D5F6 1D5F7 # [2]
-1D62A 1D62B # [2]
-1D65E 1D65F # [2]
-1D692 1D693 # [2]
+1D422 1D423
+1D456 1D457
+1D48A 1D48B
+1D4BE 1D4BF
+1D4F2 1D4F3
+1D526 1D527
+1D55A 1D55B
+1D58E 1D58F
+1D5C2 1D5C3
+1D5F6 1D5F7
+1D62A 1D62B
+1D65E 1D65F
+1D692 1D693
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl
index 20386ba045f..c5fe748218e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl
@@ -1,82 +1,60 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_046 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{STerm=No}
-# \p{Is_STerm=N}
-# \p{STerm=F}
-# \p{Is_STerm=False}
-#
-# \P{STerm}
-# \P{Is_STerm}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_STerm: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0020 # [33]
-0022 002D # [12]
-002F 003E # [16]
-0040 055B # [1308]
+0000 0020
+0022 002D
+002F 003E
+0040 055B
055D
-055F 0588 # [42]
-058A 061E # [149]
-0620 06D3 # [180]
-06D5 06FF # [43]
-0703 07F8 # [246]
-07FA 0963 # [362]
-0966 1049 # [1764]
-104C 1361 # [790]
-1363 1366 # [4]
-1369 166D # [773]
-166F 1802 # [404]
-1804 1808 # [5]
-180A 1943 # [314]
-1946 1B59 # [532]
-1B5C 1B5D # [2]
-1B60 1C3A # [219]
-1C3D 1C7D # [65]
-1C80 203B # [956]
-203E 2046 # [9]
-204A 2E2D # [3556]
-2E2F 3001 # [467]
-3003 A4FE # [29_948]
-A500 A60D # [270]
-A610 A6F2 # [227]
-A6F4 A6F6 # [3]
-A6F8 A875 # [382]
-A878 A8CD # [86]
-A8D0 A92E # [95]
-A930 A9C7 # [152]
-A9CA AA5C # [147]
-AA60 ABEA # [395]
-ABEC FE51 # [21_094]
-FE53 FE55 # [3]
-FE58 FF00 # [169]
-FF02 FF0D # [12]
-FF0F FF1E # [16]
-FF20 FF60 # [65]
-FF62 110BD # [4444]
-110C2 10FFFF # [1_044_286]
+055F 0588
+058A 061E
+0620 06D3
+06D5 06FF
+0703 07F8
+07FA 0963
+0966 1049
+104C 1361
+1363 1366
+1369 166D
+166F 1734
+1737 1802
+1804 1808
+180A 1943
+1946 1AA7
+1AAC 1B59
+1B5C 1B5D
+1B60 1C3A
+1C3D 1C7D
+1C80 203B
+203E 2046
+204A 2E2D
+2E2F 3001
+3003 A4FE
+A500 A60D
+A610 A6F2
+A6F4 A6F6
+A6F8 A875
+A878 A8CD
+A8D0 A92E
+A930 A9C7
+A9CA AA5C
+AA60 ABEA
+ABEC FE51
+FE53 FE55
+FE58 FF00
+FF02 FF0D
+FF0F FF1E
+FF20 FF60
+FF62 10A55
+10A58 11046
+11049 110BD
+110C2 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
index ea88dad7dc0..32c8c27fc4e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
@@ -1,38 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 66 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{STerm=Yes}
-# \p{Is_STerm=Y}
-# \p{STerm=T}
-# \p{Is_STerm=True}
-#
-# \p{STerm}
-# \p{Is_STerm}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_STerm: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0021
@@ -43,39 +17,43 @@ return <<'END';
0589
061F
06D4
-0700 0702 # [3]
+0700 0702
07F9
-0964 0965 # [2]
-104A 104B # [2]
+0964 0965
+104A 104B
1362
-1367 1368 # [2]
+1367 1368
166E
+1735 1736
1803
1809
-1944 1945 # [2]
-1B5A 1B5B # [2]
-1B5E 1B5F # [2]
-1C3B 1C3C # [2]
-1C7E 1C7F # [2]
-203C 203D # [2]
-2047 2049 # [3]
+1944 1945
+1AA8 1AAB
+1B5A 1B5B
+1B5E 1B5F
+1C3B 1C3C
+1C7E 1C7F
+203C 203D
+2047 2049
2E2E
3002
A4FF
-A60E A60F # [2]
+A60E A60F
A6F3
A6F7
-A876 A877 # [2]
-A8CE A8CF # [2]
+A876 A877
+A8CE A8CF
A92F
-A9C8 A9C9 # [2]
-AA5D AA5F # [3]
+A9C8 A9C9
+AA5D AA5F
ABEB
FE52
-FE56 FE57 # [2]
+FE56 FE57
FF01
FF0E
FF1F
FF61
-110BE 110C1 # [4]
+10A56 10A57
+11047 11048
+110BE 110C1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
index bb9f9c39c38..50e84af2db6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
@@ -1,61 +1,31 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1030 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Arabic}
-# \p{Sc=Arab}
-# \p{Is_Script=Arabic}
-# \p{Is_Sc=Arab}
-#
-# \p{Arabic}
-# \p{Is_Arabic}
-# \p{Arab}
-# \p{Is_Arab}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Arabic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Arabic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0606 060B # [6]
-060D 061A # [14]
+0600 0603
+0606 060B
+060D 061A
061E
-0621 063F # [31]
-0641 064A # [10]
-0656 065E # [9]
-066A 066F # [6]
-0671 06DC # [108]
-06DE 06FF # [34]
-0750 077F # [48]
-FB50 FBB1 # [98]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFC # [13]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-10E60 10E7E # [31]
+0620 063F
+0641 064A
+0656 065E
+066A 066F
+0671 06DC
+06DE 06FF
+0750 077F
+FB50 FBC1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE70 FE74
+FE76 FEFC
+10E60 10E7E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
index ddcae86723a..3d3367a03f0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 31 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Imperial_Aramaic}
-# \p{Sc=Armi}
-# \p{Is_Script=Imperial_Aramaic}
-# \p{Is_Sc=Armi}
-#
-# \p{Imperial_Aramaic}
-# \p{Is_Imperial_Aramaic}
-# \p{Armi}
-# \p{Is_Armi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Imperial_Aramaic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Imperial_Aramaic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10840 10855 # [22]
-10857 1085F # [9]
+10840 10855
+10857 1085F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
index abdccb445ef..874b6478312 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
@@ -1,48 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 90 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Armenian}
-# \p{Sc=Armn}
-# \p{Is_Script=Armenian}
-# \p{Is_Sc=Armn}
-#
-# \p{Armenian}
-# \p{Is_Armenian}
-# \p{Armn}
-# \p{Is_Armn}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Armenian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Armenian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0531 0556 # [38]
-0559 055F # [7]
-0561 0587 # [39]
+0531 0556
+0559 055F
+0561 0587
058A
-FB13 FB17 # [5]
+FB13 FB17
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
index 8f2fa760c20..ec503cb0773 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 61 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Avestan}
-# \p{Sc=Avst}
-# \p{Is_Script=Avestan}
-# \p{Is_Sc=Avst}
-#
-# \p{Avestan}
-# \p{Is_Avestan}
-# \p{Avst}
-# \p{Is_Avst}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Avestan}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Avestan}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10B00 10B35 # [54]
-10B39 10B3F # [7]
+10B00 10B35
+10B39 10B3F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl
index cdc964e0970..3b49b7dfe26 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 121 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Balinese}
-# \p{Sc=Bali}
-# \p{Is_Script=Balinese}
-# \p{Is_Sc=Bali}
-#
-# \p{Balinese}
-# \p{Is_Balinese}
-# \p{Bali}
-# \p{Is_Bali}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Balinese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Balinese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1B00 1B4B # [76]
-1B50 1B7C # [45]
+1B00 1B4B
+1B50 1B7C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl
index 8d66cca3504..43132ae15b7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl
@@ -1,44 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 88 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Bamum}
-# \p{Sc=Bamu}
-# \p{Is_Script=Bamum}
-# \p{Is_Sc=Bamu}
-#
-# \p{Bamum}
-# \p{Is_Bamum}
-# \p{Bamu}
-# \p{Is_Bamu}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Bamum}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Bamum}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A6A0 A6F7 # [88]
+A6A0 A6F7
+16800 16A38
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl
new file mode 100644
index 00000000000..8382475832f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+1BC0 1BF3
+1BFC 1BFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
index 505f135bf94..c27dfd8ec5f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
@@ -1,57 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 92 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Bengali}
-# \p{Sc=Beng}
-# \p{Is_Script=Bengali}
-# \p{Is_Sc=Beng}
-#
-# \p{Bengali}
-# \p{Is_Bengali}
-# \p{Beng}
-# \p{Is_Beng}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Bengali}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Bengali}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09FB # [22]
+09DC 09DD
+09DF 09E3
+09E6 09FB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
index 916e0dea712..b1caebfe26e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
@@ -1,45 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 65 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Bopomofo}
-# \p{Sc=Bopo}
-# \p{Is_Script=Bopomofo}
-# \p{Is_Sc=Bopo}
-#
-# \p{Bopomofo}
-# \p{Is_Bopomofo}
-# \p{Bopo}
-# \p{Is_Bopo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Bopomofo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Bopomofo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3105 312D # [41]
-31A0 31B7 # [24]
+02EA 02EB
+3105 312D
+31A0 31BA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl
new file mode 100644
index 00000000000..d580f6dc2c7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+11000 1104D
+11052 1106F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl
index 86d22c4de81..07dfe01cac2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 30 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Buginese}
-# \p{Sc=Bugi}
-# \p{Is_Script=Buginese}
-# \p{Is_Sc=Bugi}
-#
-# \p{Buginese}
-# \p{Is_Buginese}
-# \p{Bugi}
-# \p{Is_Bugi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Buginese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Buginese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1A00 1A1B # [28]
-1A1E 1A1F # [2]
+1A00 1A1B
+1A1E 1A1F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
index 0c82440be30..aeddcdf6a31 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 20 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Buhid}
-# \p{Sc=Buhd}
-# \p{Is_Script=Buhid}
-# \p{Is_Sc=Buhd}
-#
-# \p{Buhid}
-# \p{Is_Buhid}
-# \p{Buhd}
-# \p{Is_Buhd}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Buhid}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Buhid}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1740 1753 # [20]
+1740 1753
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl
index 5f7c2a70e6a..8089dde8f72 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl
@@ -1,42 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 710 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Canadian_Aboriginal}
-# \p{Sc=Cans}
-# \p{Is_Script=Canadian_Aboriginal}
-# \p{Is_Sc=Cans}
-#
-# \p{Canadian_Aboriginal}
-# \p{Is_Canadian_Aboriginal}
-# \p{Cans}
-# \p{Is_Cans}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Canadian_Aboriginal}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1400 167F # [640]
-18B0 18F5 # [70]
+1400 167F
+18B0 18F5
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl
index d5c2f781f2a..69ebb7b1b9e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 49 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Carian}
-# \p{Sc=Cari}
-# \p{Is_Script=Carian}
-# \p{Is_Sc=Cari}
-#
-# \p{Carian}
-# \p{Is_Carian}
-# \p{Cari}
-# \p{Is_Cari}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Carian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Carian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-102A0 102D0 # [49]
+102A0 102D0
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
index 1ebd9a1939e..1e7ae7cee25 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
@@ -1,45 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 83 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Cham}
-# \p{Sc=Cham}
-# \p{Is_Script=Cham}
-# \p{Is_Sc=Cham}
-#
-# \p{Cham}
-# \p{Is_Cham}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Cham}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Cham}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA5C AA5F # [4]
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA5F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
index 33bf8212016..08e5fc48274 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 85 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Cherokee}
-# \p{Sc=Cher}
-# \p{Is_Script=Cherokee}
-# \p{Is_Sc=Cher}
-#
-# \p{Cherokee}
-# \p{Is_Cherokee}
-# \p{Cher}
-# \p{Is_Cher}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Cherokee}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Cherokee}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-13A0 13F4 # [85]
+13A0 13F4
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl
index 6596f4db23d..2a20caba516 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl
@@ -1,48 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 135 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Coptic}
-# \p{Sc=Copt}
-# \p{Is_Script=Qaac}
-# \p{Is_Sc=Coptic}
-#
-# \p{Coptic}
-# \p{Is_Coptic}
-# \p{Copt}
-# \p{Is_Copt}
-# \p{Qaac}
-# \p{Is_Qaac}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Coptic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Coptic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-03E2 03EF # [14]
-2C80 2CF1 # [114]
-2CF9 2CFF # [7]
+03E2 03EF
+2C80 2CF1
+2CF9 2CFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
index ba3eb6ba93e..f75bb2c9e48 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 55 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Cypriot}
-# \p{Sc=Cprt}
-# \p{Is_Script=Cypriot}
-# \p{Is_Sc=Cprt}
-#
-# \p{Cypriot}
-# \p{Is_Cypriot}
-# \p{Cprt}
-# \p{Is_Cprt}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Cypriot}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10800 10805 # [6]
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
1083F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
index be14c389e99..6dd47d21966 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
@@ -1,51 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 404 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Cyrillic}
-# \p{Sc=Cyrl}
-# \p{Is_Script=Cyrillic}
-# \p{Is_Sc=Cyrl}
-#
-# \p{Cyrillic}
-# \p{Is_Cyrillic}
-# \p{Cyrl}
-# \p{Is_Cyrl}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Cyrillic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Cyrillic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0400 0484 # [133]
-0487 0525 # [159]
+0400 0484
+0487 0527
1D2B
1D78
-2DE0 2DFF # [32]
-A640 A65F # [32]
-A662 A673 # [18]
-A67C A697 # [28]
+2DE0 2DFF
+A640 A673
+A67C A697
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
index 2f299fb859a..b1839afae15 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
@@ -1,52 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 140 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Devanagari}
-# \p{Sc=Deva}
-# \p{Is_Script=Devanagari}
-# \p{Is_Sc=Deva}
-#
-# \p{Devanagari}
-# \p{Is_Devanagari}
-# \p{Deva}
-# \p{Is_Deva}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Devanagari}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Devanagari}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0900 0939 # [58]
-093C 094E # [19]
-0950
-0953 0955 # [3]
-0958 0963 # [12]
-0966 096F # [10]
-0971 0972 # [2]
-0979 097F # [7]
-A8E0 A8FB # [28]
+0900 0950
+0953 0963
+0966 096F
+0971 0977
+0979 097F
+A8E0 A8FB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
index f05812cecae..8e105015a8a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1071 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Egyptian_Hieroglyphs}
-# \p{Sc=Egyp}
-# \p{Is_Script=Egyptian_Hieroglyphs}
-# \p{Is_Sc=Egyp}
-#
-# \p{Egyptian_Hieroglyphs}
-# \p{Is_Egyptian_Hieroglyphs}
-# \p{Egyp}
-# \p{Is_Egyp}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Egyptian_Hieroglyphs}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Egyptian_Hieroglyphs}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-13000 1342E # [1071]
+13000 1342E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl
index cd2c54cbdfe..ca1d9e75513 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl
@@ -1,70 +1,44 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 461 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Ethiopic}
-# \p{Sc=Ethi}
-# \p{Is_Script=Ethiopic}
-# \p{Is_Sc=Ethi}
-#
-# \p{Ethiopic}
-# \p{Is_Ethiopic}
-# \p{Ethi}
-# \p{Is_Ethi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Ethiopic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Ethiopic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1200 1248 # [73]
-124A 124D # [4]
-1250 1256 # [7]
+1200 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F 137C # [30]
-1380 1399 # [26]
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 137C
+1380 1399
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
index b80cc36b8f8..d19835ce0f0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
@@ -1,47 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 120 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Georgian}
-# \p{Sc=Geor}
-# \p{Is_Script=Georgian}
-# \p{Is_Sc=Geor}
-#
-# \p{Georgian}
-# \p{Is_Georgian}
-# \p{Geor}
-# \p{Is_Geor}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Georgian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Georgian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10A0 10C5 # [38]
-10D0 10FA # [43]
+10A0 10C5
+10D0 10FA
10FC
-2D00 2D25 # [38]
+2D00 2D25
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
index 5db50d19993..473b5611c97 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 94 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Glagolitic}
-# \p{Sc=Glag}
-# \p{Is_Script=Glagolitic}
-# \p{Is_Sc=Glag}
-#
-# \p{Glagolitic}
-# \p{Is_Glagolitic}
-# \p{Glag}
-# \p{Is_Glag}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Glagolitic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Glagolitic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2C00 2C2E # [47]
-2C30 2C5E # [47]
+2C00 2C2E
+2C30 2C5E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl
index 220f45a1a0c..93784795579 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 27 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Gothic}
-# \p{Sc=Goth}
-# \p{Is_Script=Gothic}
-# \p{Is_Sc=Goth}
-#
-# \p{Gothic}
-# \p{Is_Gothic}
-# \p{Goth}
-# \p{Is_Goth}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Gothic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Gothic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10330 1034A # [27]
+10330 1034A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl
index 7927fcb30ce..01e5d34334f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl
@@ -1,76 +1,45 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 511 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Greek}
-# \p{Sc=Grek}
-# \p{Is_Script=Greek}
-# \p{Is_Sc=Grek}
-#
-# \p{Greek}
-# \p{Is_Greek}
-# \p{Grek}
-# \p{Is_Grek}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Greek_And_Coptic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Greek}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0370 0373 # [4]
-0375 0377 # [3]
-037A 037D # [4]
+0370 0373
+0375 0377
+037A 037D
0384
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03E1 # [63]
-03F0 03FF # [16]
-1D26 1D2A # [5]
-1D5D 1D61 # [5]
-1D66 1D6A # [5]
+038E 03A1
+03A3 03E1
+03F0 03FF
+1D26 1D2A
+1D5D 1D61
+1D66 1D6A
1DBF
-1F00 1F15 # [22]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FC4 # [15]
-1FC6 1FD3 # [14]
-1FD6 1FDB # [6]
-1FDD 1FEF # [19]
-1FF2 1FF4 # [3]
-1FF6 1FFE # [9]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
2126
-10140 1018A # [75]
-1D200 1D245 # [70]
+10140 1018A
+1D200 1D245
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
index 0f97686397a..ef119aa4401 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
@@ -1,57 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 83 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Gujarati}
-# \p{Sc=Gujr}
-# \p{Is_Script=Gujarati}
-# \p{Is_Sc=Gujr}
-#
-# \p{Gujarati}
-# \p{Is_Gujarati}
-# \p{Gujr}
-# \p{Is_Gujr}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Gujarati}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Gujarati}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
+0AE0 0AE3
+0AE6 0AEF
0AF1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
index 24adcc5b924..5957901f51b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
@@ -1,59 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 79 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Gurmukhi}
-# \p{Sc=Guru}
-# \p{Is_Script=Gurmukhi}
-# \p{Is_Sc=Guru}
-#
-# \p{Gurmukhi}
-# \p{Is_Gurmukhi}
-# \p{Guru}
-# \p{Is_Guru}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Gurmukhi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Gurmukhi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
+0A66 0A75
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
index 3e91ebac5c5..48bf9c12421 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
@@ -1,55 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 75_738 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Script=Han}
-# \p{Sc=Hani}
-# \p{Is_Script=Han}
-# \p{Is_Sc=Hani}
-#
-# \p{Han}
-# \p{Is_Han}
-# \p{Hani}
-# \p{Is_Hani}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Han}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2E80 2E99 # [26]
-2E9B 2EF3 # [89]
-2F00 2FD5 # [214]
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
3005
3007
-3021 3029 # [9]
-3038 303B # [4]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+3021 3029
+3038 303B
+3400 4DB5
+4E00 9FCB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
index c84aa5eba6c..ad3d33d902a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
@@ -1,53 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 11_737 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Script=Hangul}
-# \p{Sc=Hang}
-# \p{Is_Script=Hangul}
-# \p{Is_Sc=Hang}
-#
-# \p{Hangul}
-# \p{Is_Hangul}
-# \p{Hang}
-# \p{Is_Hang}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Hangul}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1100 11FF # [256]
-3131 318E # [94]
-3200 321E # [31]
-3260 327E # [31]
-A960 A97C # [29]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
+1100 11FF
+302E 302F
+3131 318E
+3200 321E
+3260 327E
+A960 A97C
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
index 21f04df534a..d19abed38b1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 21 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Hanunoo}
-# \p{Sc=Hano}
-# \p{Is_Script=Hanunoo}
-# \p{Is_Sc=Hano}
-#
-# \p{Hanunoo}
-# \p{Is_Hanunoo}
-# \p{Hano}
-# \p{Is_Hano}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Hanunoo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Hanunoo}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1720 1734 # [21]
+1720 1734
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl
index a3c28186a2c..11215a53247 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl
@@ -1,52 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 133 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Hebrew}
-# \p{Sc=Hebr}
-# \p{Is_Script=Hebrew}
-# \p{Is_Sc=Hebr}
-#
-# \p{Hebrew}
-# \p{Is_Hebrew}
-# \p{Hebr}
-# \p{Is_Hebr}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Hebrew}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Hebrew}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0591 05C7 # [55]
-05D0 05EA # [27]
-05F0 05F4 # [5]
-FB1D FB36 # [26]
-FB38 FB3C # [5]
+0591 05C7
+05D0 05EA
+05F0 05F4
+FB1D FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FB4F # [10]
+FB40 FB41
+FB43 FB44
+FB46 FB4F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
index d20338d0130..f284b14113a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
@@ -1,46 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 90 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Hiragana}
-# \p{Sc=Hira}
-# \p{Is_Script=Hiragana}
-# \p{Is_Sc=Hira}
-#
-# \p{Hiragana}
-# \p{Is_Hiragana}
-# \p{Hira}
-# \p{Is_Hira}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Hiragana}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Hiragana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3041 3096 # [86]
-309D 309F # [3]
+3041 3096
+309D 309F
+1B001
1F200
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
index 8e339990dbc..ce839fbd209 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 35 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Old_Italic}
-# \p{Sc=Ital}
-# \p{Is_Script=Old_Italic}
-# \p{Is_Sc=Ital}
-#
-# \p{Old_Italic}
-# \p{Is_Old_Italic}
-# \p{Ital}
-# \p{Is_Ital}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Old_Italic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Old_Italic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10300 1031E # [31]
-10320 10323 # [4]
+10300 1031E
+10320 10323
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl
index ec62f73dbbe..6bf41ab5681 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl
@@ -1,46 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 91 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Javanese}
-# \p{Sc=Java}
-# \p{Is_Script=Javanese}
-# \p{Is_Sc=Java}
-#
-# \p{Javanese}
-# \p{Is_Javanese}
-# \p{Java}
-# \p{Is_Java}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Javanese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Javanese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A980 A9CD # [78]
-A9CF A9D9 # [11]
-A9DE A9DF # [2]
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
index 943c97c1848..3263e6c9504 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
@@ -1,50 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 299 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Katakana}
-# \p{Sc=Kana}
-# \p{Is_Script=Katakana}
-# \p{Is_Sc=Kana}
-#
-# \p{Katakana}
-# \p{Is_Katakana}
-# \p{Kana}
-# \p{Is_Kana}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Katakana}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Katakana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-30A1 30FA # [90]
-30FD 30FF # [3]
-31F0 31FF # [16]
-32D0 32FE # [47]
-3300 3357 # [88]
-FF66 FF6F # [10]
-FF71 FF9D # [45]
+30A1 30FA
+30FD 30FF
+31F0 31FF
+32D0 32FE
+3300 3357
+FF66 FF6F
+FF71 FF9D
+1B000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
index 555fccf6507..972d4ca528c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
@@ -1,51 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 65 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Kharoshthi}
-# \p{Sc=Khar}
-# \p{Is_Script=Kharoshthi}
-# \p{Is_Sc=Khar}
-#
-# \p{Kharoshthi}
-# \p{Is_Kharoshthi}
-# \p{Khar}
-# \p{Is_Khar}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Kharoshthi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Kharoshthi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
-10A3F 10A47 # [9]
-10A50 10A58 # [9]
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
index be0325ddede..f4105c2236e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
@@ -1,47 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 146 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Khmer}
-# \p{Sc=Khmr}
-# \p{Is_Script=Khmer}
-# \p{Is_Sc=Khmr}
-#
-# \p{Khmer}
-# \p{Is_Khmer}
-# \p{Khmr}
-# \p{Is_Khmr}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Khmer}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Khmer}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1780 17DD # [94]
-17E0 17E9 # [10]
-17F0 17F9 # [10]
-19E0 19FF # [32]
+1780 17DD
+17E0 17E9
+17F0 17F9
+19E0 19FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
index fd68462b234..f9a9264f3ad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
@@ -1,56 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 84 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Kannada}
-# \p{Sc=Knda}
-# \p{Is_Script=Kannada}
-# \p{Is_Sc=Knda}
-#
-# \p{Kannada}
-# \p{Is_Kannada}
-# \p{Knda}
-# \p{Is_Knda}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Kannada}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Kannada}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
index 975f0fa24b9..c90f19c8348 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 66 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Kaithi}
-# \p{Sc=Kthi}
-# \p{Is_Script=Kaithi}
-# \p{Is_Sc=Kthi}
-#
-# \p{Kaithi}
-# \p{Is_Kaithi}
-# \p{Kthi}
-# \p{Is_Kthi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Kaithi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Kaithi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-11080 110C1 # [66]
+11080 110C1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
index 3a1f315804f..c5109d89b7f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
@@ -1,48 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 127 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tai_Tham}
-# \p{Sc=Lana}
-# \p{Is_Script=Tai_Tham}
-# \p{Is_Sc=Lana}
-#
-# \p{Tai_Tham}
-# \p{Is_Tai_Tham}
-# \p{Lana}
-# \p{Is_Lana}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tai_Tham}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tai_Tham}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1A20 1A5E # [63]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
-1AA0 1AAD # [14]
+1A20 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
index c1081ee45a7..940ad529c5d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
@@ -1,61 +1,30 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 65 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Lao}
-# \p{Sc=Laoo}
-# \p{Is_Script=Lao}
-# \p{Is_Sc=Laoo}
-#
-# \p{Lao}
-# \p{Is_Lao}
-# \p{Laoo}
-# \p{Is_Laoo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Lao}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Lao}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E81 0E82 # [2]
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
index 867b00d9fb9..16dcb0f297e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
@@ -1,68 +1,42 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1244 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Latin}
-# \p{Sc=Latn}
-# \p{Is_Script=Latin}
-# \p{Is_Sc=Latn}
-#
-# \p{Latin}
-# \p{Is_Latin}
-# \p{Latn}
-# \p{Is_Latn}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Latin}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02B8 # [449]
-02E0 02E4 # [5]
-1D00 1D25 # [38]
-1D2C 1D5C # [49]
-1D62 1D65 # [4]
-1D6B 1D77 # [13]
-1D79 1DBE # [70]
-1E00 1EFF # [256]
+00C0 00D6
+00D8 00F6
+00F8 02B8
+02E0 02E4
+1D00 1D25
+1D2C 1D5C
+1D62 1D65
+1D6B 1D77
+1D79 1DBE
+1E00 1EFF
2071
207F
-2090 2094 # [5]
-212A 212B # [2]
+2090 209C
+212A 212B
2132
214E
-2160 2188 # [41]
-2C60 2C7F # [32]
-A722 A787 # [102]
-A78B A78C # [2]
-A7FB A7FF # [5]
-FB00 FB06 # [7]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
+2160 2188
+2C60 2C7F
+A722 A787
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A7FF
+FB00 FB06
+FF21 FF3A
+FF41 FF5A
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
index 2f849dede1b..10c4a9a53e0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
@@ -1,46 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 74 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Lepcha}
-# \p{Sc=Lepc}
-# \p{Is_Script=Lepcha}
-# \p{Is_Sc=Lepc}
-#
-# \p{Lepcha}
-# \p{Is_Lepcha}
-# \p{Lepc}
-# \p{Is_Lepc}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Lepcha}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Lepcha}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1C00 1C37 # [56]
-1C3B 1C49 # [15]
-1C4D 1C4F # [3]
+1C00 1C37
+1C3B 1C49
+1C4D 1C4F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
index 29f81ed2657..63bea8cfda2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
@@ -1,48 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 66 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Limbu}
-# \p{Sc=Limb}
-# \p{Is_Script=Limbu}
-# \p{Is_Sc=Limb}
-#
-# \p{Limbu}
-# \p{Is_Limbu}
-# \p{Limb}
-# \p{Is_Limb}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Limbu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Limbu}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
+1900 191C
+1920 192B
+1930 193B
1940
-1944 194F # [12]
+1944 194F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
index 35eb6537750..b45fe43f8b3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
@@ -1,47 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 211 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Linear_B}
-# \p{Sc=Linb}
-# \p{Is_Script=Linear_B}
-# \p{Is_Sc=Linb}
-#
-# \p{Linear_B}
-# \p{Is_Linear_B}
-# \p{Linb}
-# \p{Is_Linb}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Linear_B}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
index a7d79667609..a9d269d263e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 29 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Lycian}
-# \p{Sc=Lyci}
-# \p{Is_Script=Lycian}
-# \p{Is_Sc=Lyci}
-#
-# \p{Lycian}
-# \p{Is_Lycian}
-# \p{Lyci}
-# \p{Is_Lyci}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Lycian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Lycian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10280 1029C # [29]
+10280 1029C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl
index 6c806bfdea8..c73e43a56f8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 27 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Lydian}
-# \p{Sc=Lydi}
-# \p{Is_Script=Lydian}
-# \p{Is_Sc=Lydi}
-#
-# \p{Lydian}
-# \p{Is_Lydian}
-# \p{Lydi}
-# \p{Is_Lydi}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Lydian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Lydian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10920 10939 # [26]
+10920 10939
1093F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl
new file mode 100644
index 00000000000..9460141921a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.0.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by the Perl program only. The format and even
+# the name or existence of this file are subject to change without notice.
+# Don't use it directly.
+
+
+return <<'END';
+0840 085B
+085E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
index 469f946bb1a..f94cbe280f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
@@ -1,55 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 95 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Malayalam}
-# \p{Sc=Mlym}
-# \p{Is_Script=Malayalam}
-# \p{Is_Sc=Mlym}
-#
-# \p{Malayalam}
-# \p{Is_Malayalam}
-# \p{Mlym}
-# \p{Is_Mlym}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Malayalam}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Malayalam}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D75 # [16]
-0D79 0D7F # [7]
+0D60 0D63
+0D66 0D75
+0D79 0D7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
index 37c0a7d4244..6afbe593404 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
@@ -1,49 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 153 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Mongolian}
-# \p{Sc=Mong}
-# \p{Is_Script=Mongolian}
-# \p{Is_Sc=Mong}
-#
-# \p{Mongolian}
-# \p{Is_Mongolian}
-# \p{Mong}
-# \p{Is_Mong}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Mongolian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Mongolian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1800 1801 # [2]
+1800 1801
1804
-1806 180E # [9]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
+1806 180E
+1810 1819
+1820 1877
+1880 18AA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
index 313f214d28c..c9b089d1bee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 56 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Meetei_Mayek}
-# \p{Sc=Mtei}
-# \p{Is_Script=Meetei_Mayek}
-# \p{Is_Sc=Mtei}
-#
-# \p{Meetei_Mayek}
-# \p{Is_Meetei_Mayek}
-# \p{Mtei}
-# \p{Is_Mtei}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Meetei_Mayek}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Meetei_Mayek}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-ABC0 ABED # [46]
-ABF0 ABF9 # [10]
+ABC0 ABED
+ABF0 ABF9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl
index ffee28f0319..f1b19e5f6d9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 188 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Myanmar}
-# \p{Sc=Mymr}
-# \p{Is_Script=Myanmar}
-# \p{Is_Sc=Mymr}
-#
-# \p{Myanmar}
-# \p{Is_Myanmar}
-# \p{Mymr}
-# \p{Is_Mymr}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Myanmar}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Myanmar}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1000 109F # [160]
-AA60 AA7B # [28]
+1000 109F
+AA60 AA7B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl
index de29192c918..a52cf1a3cf3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 59 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Nko}
-# \p{Sc=Nkoo}
-# \p{Is_Script=Nko}
-# \p{Is_Sc=Nkoo}
-#
-# \p{Nko}
-# \p{Is_Nko}
-# \p{Nkoo}
-# \p{Is_Nkoo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{NKo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Nko}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-07C0 07FA # [59]
+07C0 07FA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl
index e4e36995be6..739e20eae6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 29 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Ogham}
-# \p{Sc=Ogam}
-# \p{Is_Script=Ogham}
-# \p{Is_Sc=Ogam}
-#
-# \p{Ogham}
-# \p{Is_Ogham}
-# \p{Ogam}
-# \p{Is_Ogam}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Ogham}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Ogham}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1680 169C # [29]
+1680 169C
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl
index aadcedf1a5e..6a2f4a2dacb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 73 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Old_Turkic}
-# \p{Sc=Orkh}
-# \p{Is_Script=Old_Turkic}
-# \p{Is_Sc=Orkh}
-#
-# \p{Old_Turkic}
-# \p{Is_Old_Turkic}
-# \p{Orkh}
-# \p{Is_Orkh}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Old_Turkic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Old_Turkic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10C00 10C48 # [73]
+10C00 10C48
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
index ccfe22069ab..a8ae5b73454 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
@@ -1,57 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 84 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Oriya}
-# \p{Sc=Orya}
-# \p{Is_Script=Oriya}
-# \p{Is_Sc=Orya}
-#
-# \p{Oriya}
-# \p{Is_Oriya}
-# \p{Orya}
-# \p{Is_Orya}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Oriya}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Oriya}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B71 # [12]
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
index 0be0d3b7b02..abcb0b71056 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 40 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Osmanya}
-# \p{Sc=Osma}
-# \p{Is_Script=Osmanya}
-# \p{Is_Sc=Osma}
-#
-# \p{Osmanya}
-# \p{Is_Osmanya}
-# \p{Osma}
-# \p{Is_Osma}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Osmanya}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Osmanya}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10480 1049D # [30]
-104A0 104A9 # [10]
+10480 1049D
+104A0 104A9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
index ea612de445c..2ec8a664cda 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 56 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Phags_Pa}
-# \p{Sc=Phag}
-# \p{Is_Script=Phags_Pa}
-# \p{Is_Sc=Phag}
-#
-# \p{Phags_Pa}
-# \p{Is_Phags_Pa}
-# \p{Phag}
-# \p{Is_Phag}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Phags_Pa}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Phags_Pa}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A840 A877 # [56]
+A840 A877
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl
index 80cc0d6359e..1330e7c806c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 27 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Inscriptional_Pahlavi}
-# \p{Sc=Phli}
-# \p{Is_Script=Inscriptional_Pahlavi}
-# \p{Is_Sc=Phli}
-#
-# \p{Inscriptional_Pahlavi}
-# \p{Is_Inscriptional_Pahlavi}
-# \p{Phli}
-# \p{Is_Phli}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Inscriptional_Pahlavi}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Inscriptional_Pahlavi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10B60 10B72 # [19]
-10B78 10B7F # [8]
+10B60 10B72
+10B78 10B7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl
index 7a094862d93..8ff2f6aff93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 29 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Phoenician}
-# \p{Sc=Phnx}
-# \p{Is_Script=Phoenician}
-# \p{Is_Sc=Phnx}
-#
-# \p{Phoenician}
-# \p{Is_Phoenician}
-# \p{Phnx}
-# \p{Is_Phnx}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Phoenician}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Phoenician}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10900 1091B # [28]
+10900 1091B
1091F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl
index 59e8eb14c10..06ac99b1ffb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 30 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Inscriptional_Parthian}
-# \p{Sc=Prti}
-# \p{Is_Script=Inscriptional_Parthian}
-# \p{Is_Sc=Prti}
-#
-# \p{Inscriptional_Parthian}
-# \p{Is_Inscriptional_Parthian}
-# \p{Prti}
-# \p{Is_Prti}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Inscriptional_Parthian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Inscriptional_Parthian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10B40 10B55 # [22]
-10B58 10B5F # [8]
+10B40 10B55
+10B58 10B5F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl
index d385fbe61e8..8ba8e35143f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 37 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Rejang}
-# \p{Sc=Rjng}
-# \p{Is_Script=Rejang}
-# \p{Is_Sc=Rjng}
-#
-# \p{Rejang}
-# \p{Is_Rejang}
-# \p{Rjng}
-# \p{Is_Rjng}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Rejang}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Rejang}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A930 A953 # [36]
+A930 A953
A95F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl
index 35d0f33db7e..2c889f52307 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 78 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Runic}
-# \p{Sc=Runr}
-# \p{Is_Script=Runic}
-# \p{Is_Sc=Runr}
-#
-# \p{Runic}
-# \p{Is_Runic}
-# \p{Runr}
-# \p{Is_Runr}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Runic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Runic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-16A0 16EA # [75]
-16EE 16F0 # [3]
+16A0 16EA
+16EE 16F0
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl
index f95d7585873..6fae9754056 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 61 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Samaritan}
-# \p{Sc=Samr}
-# \p{Is_Script=Samaritan}
-# \p{Is_Sc=Samr}
-#
-# \p{Samaritan}
-# \p{Is_Samaritan}
-# \p{Samr}
-# \p{Is_Samr}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Samaritan}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Samaritan}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0800 082D # [46]
-0830 083E # [15]
+0800 082D
+0830 083E
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl
index dd72a8ee445..e40163e827e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 81 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Saurashtra}
-# \p{Sc=Saur}
-# \p{Is_Script=Saurashtra}
-# \p{Is_Sc=Saur}
-#
-# \p{Saurashtra}
-# \p{Is_Saurashtra}
-# \p{Saur}
-# \p{Is_Saur}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Saurashtra}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Saurashtra}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A880 A8C4 # [69]
-A8CE A8D9 # [12]
+A880 A8C4
+A8CE A8D9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
index 0de687676df..85605e25b7c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
@@ -1,54 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 80 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Sinhala}
-# \p{Sc=Sinh}
-# \p{Is_Script=Sinhala}
-# \p{Is_Sc=Sinh}
-#
-# \p{Sinhala}
-# \p{Is_Sinhala}
-# \p{Sinh}
-# \p{Is_Sinh}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Sinhala}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Sinhala}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF4 # [3]
+0DD8 0DDF
+0DF2 0DF4
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
index 117176f8089..ecdae9618ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 55 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Sundanese}
-# \p{Sc=Sund}
-# \p{Is_Script=Sundanese}
-# \p{Is_Sc=Sund}
-#
-# \p{Sundanese}
-# \p{Is_Sundanese}
-# \p{Sund}
-# \p{Is_Sund}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Sundanese}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Sundanese}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
+1B80 1BAA
+1BAE 1BB9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
index aafab52c684..4982eedce7c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 44 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Syloti_Nagri}
-# \p{Sc=Sylo}
-# \p{Is_Script=Syloti_Nagri}
-# \p{Is_Sc=Sylo}
-#
-# \p{Syloti_Nagri}
-# \p{Is_Syloti_Nagri}
-# \p{Sylo}
-# \p{Is_Sylo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Syloti_Nagri}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Syloti_Nagri}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A800 A82B # [44]
+A800 A82B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
index 7599b393a1e..3b1053fb161 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
@@ -1,46 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 77 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Syriac}
-# \p{Sc=Syrc}
-# \p{Is_Script=Syriac}
-# \p{Is_Sc=Syrc}
-#
-# \p{Syriac}
-# \p{Is_Syriac}
-# \p{Syrc}
-# \p{Is_Syrc}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Syriac}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Syriac}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0700 070D # [14]
-070F 074A # [60]
-074D 074F # [3]
+0700 070D
+070F 074A
+074D 074F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
index fa7da8e8251..681f3fd5c3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
@@ -1,46 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 18 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tagbanwa}
-# \p{Sc=Tagb}
-# \p{Is_Script=Tagbanwa}
-# \p{Is_Sc=Tagb}
-#
-# \p{Tagbanwa}
-# \p{Is_Tagbanwa}
-# \p{Tagb}
-# \p{Is_Tagb}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tagbanwa}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tagbanwa}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
+1760 176C
+176E 1770
+1772 1773
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
index 81ed83972f9..b490e521d04 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 35 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tai_Le}
-# \p{Sc=Tale}
-# \p{Is_Script=Tai_Le}
-# \p{Is_Sc=Tale}
-#
-# \p{Tai_Le}
-# \p{Is_Tai_Le}
-# \p{Tale}
-# \p{Is_Tale}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tai_Le}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tai_Le}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1950 196D # [30]
-1970 1974 # [5]
+1950 196D
+1970 1974
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
index 0d2bdeb902b..94172b393cb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
@@ -1,47 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 83 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=New_Tai_Lue}
-# \p{Sc=Talu}
-# \p{Is_Script=New_Tai_Lue}
-# \p{Is_Sc=Talu}
-#
-# \p{New_Tai_Lue}
-# \p{Is_New_Tai_Lue}
-# \p{Talu}
-# \p{Is_Talu}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=New_Tai_Lue}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: New_Tai_Lue}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-19DE 19DF # [2]
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 19DF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
index fba1536ed30..739dda00c28 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
@@ -1,59 +1,28 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 72 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tamil}
-# \p{Sc=Taml}
-# \p{Is_Script=Tamil}
-# \p{Is_Sc=Taml}
-#
-# \p{Tamil}
-# \p{Is_Tamil}
-# \p{Taml}
-# \p{Is_Taml}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tamil}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tamil}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BFA # [21]
+0BE6 0BFA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
index fec22269dcc..6be44c15f37 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 72 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tai_Viet}
-# \p{Sc=Tavt}
-# \p{Is_Script=Tai_Viet}
-# \p{Is_Sc=Tavt}
-#
-# \p{Tai_Viet}
-# \p{Is_Tai_Viet}
-# \p{Tavt}
-# \p{Is_Tavt}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tai_Viet}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tai_Viet}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-AA80 AAC2 # [67]
-AADB AADF # [5]
+AA80 AAC2
+AADB AADF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl
index 5f6c5a1ebd9..1fd314e3782 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl
@@ -1,57 +1,26 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 93 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Telugu}
-# \p{Sc=Telu}
-# \p{Is_Script=Telugu}
-# \p{Is_Sc=Telu}
-#
-# \p{Telugu}
-# \p{Is_Telugu}
-# \p{Telu}
-# \p{Is_Telu}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Telugu}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Telugu}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C78 0C7F # [8]
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
index 22eff8967c4..4565a9aa2de 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
@@ -1,45 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 55 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tifinagh}
-# \p{Sc=Tfng}
-# \p{Is_Script=Tifinagh}
-# \p{Is_Sc=Tfng}
-#
-# \p{Tifinagh}
-# \p{Is_Tifinagh}
-# \p{Tfng}
-# \p{Is_Tfng}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tifinagh}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tifinagh}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-2D30 2D65 # [54]
-2D6F
+2D30 2D65
+2D6F 2D70
+2D7F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
index 2d67a7d7cc0..0538f525f91 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 20 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tagalog}
-# \p{Sc=Tglg}
-# \p{Is_Script=Tagalog}
-# \p{Is_Sc=Tglg}
-#
-# \p{Tagalog}
-# \p{Is_Tagalog}
-# \p{Tglg}
-# \p{Is_Tglg}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tagalog}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tagalog}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-1700 170C # [13]
-170E 1714 # [7]
+1700 170C
+170E 1714
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
index dcf30583fa7..f3273770a94 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 50 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Thaana}
-# \p{Sc=Thaa}
-# \p{Is_Script=Thaana}
-# \p{Is_Sc=Thaa}
-#
-# \p{Thaana}
-# \p{Is_Thaana}
-# \p{Thaa}
-# \p{Is_Thaa}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Thaana}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Thaana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0780 07B1 # [50]
+0780 07B1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl
index 4b9fb175100..c65289c5662 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl
@@ -1,43 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 86 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Thai}
-# \p{Sc=Thai}
-# \p{Is_Script=Thai}
-# \p{Is_Sc=Thai}
-#
-# \p{Thai}
-# \p{Is_Thai}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Thai}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Thai}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0E01 0E3A # [58]
-0E40 0E5B # [28]
+0E01 0E3A
+0E40 0E5B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl
index 090f4daa86a..b1a84b48525 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl
@@ -1,50 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 201 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Tibetan}
-# \p{Sc=Tibt}
-# \p{Is_Script=Tibetan}
-# \p{Is_Sc=Tibt}
-#
-# \p{Tibetan}
-# \p{Is_Tibetan}
-# \p{Tibt}
-# \p{Is_Tibt}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Tibetan}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Tibetan}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0F00 0F47 # [72]
-0F49 0F6C # [36]
-0F71 0F8B # [27]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
-0FBE 0FCC # [15]
-0FCE 0FD4 # [7]
+0F00 0F47
+0F49 0F6C
+0F71 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FD4
+0FD9 0FDA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
index 3e8de5900fa..1091db9ad0e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 31 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Ugaritic}
-# \p{Sc=Ugar}
-# \p{Is_Script=Ugaritic}
-# \p{Is_Sc=Ugar}
-#
-# \p{Ugaritic}
-# \p{Is_Ugaritic}
-# \p{Ugar}
-# \p{Is_Ugar}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Ugaritic}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Ugaritic}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-10380 1039D # [30]
+10380 1039D
1039F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl
index 172a69d472e..d741266a901 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl
@@ -1,44 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 300 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Vai}
-# \p{Sc=Vaii}
-# \p{Is_Script=Vai}
-# \p{Is_Sc=Vaii}
-#
-# \p{Vai}
-# \p{Is_Vai}
-# \p{Vaii}
-# \p{Is_Vaii}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Vai}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Vai}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A500 A62B # [300]
+A500 A62B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl
index dfc09a6b5ea..2cd2a46ee20 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl
@@ -1,45 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 50 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Old_Persian}
-# \p{Sc=Xpeo}
-# \p{Is_Script=Old_Persian}
-# \p{Is_Sc=Xpeo}
-#
-# \p{Old_Persian}
-# \p{Is_Old_Persian}
-# \p{Xpeo}
-# \p{Is_Xpeo}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Old_Persian}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Old_Persian}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-103A0 103C3 # [36]
-103C8 103D5 # [14]
+103A0 103C3
+103C8 103D5
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl
index 3734c546e13..326a9e2308e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl
@@ -1,46 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 982 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Cuneiform}
-# \p{Sc=Xsux}
-# \p{Is_Script=Cuneiform}
-# \p{Is_Sc=Xsux}
-#
-# \p{Cuneiform}
-# \p{Is_Cuneiform}
-# \p{Xsux}
-# \p{Is_Xsux}
-#
-# Note that contrary to what you might expect, the above is NOT the same
-# as \p{Block=Cuneiform}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Cuneiform}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-12000 1236E # [879]
-12400 12462 # [99]
-12470 12473 # [4]
+12000 1236E
+12400 12462
+12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
index 69137b6915d..834a35f0ca4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
@@ -1,42 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1220 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Yi}
-# \p{Sc=Yiii}
-# \p{Is_Script=Yi}
-# \p{Is_Sc=Yiii}
-#
-# \p{Yi}
-# \p{Is_Yi}
-# \p{Yiii}
-# \p{Is_Yiii}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Yi}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-A000 A48C # [1165]
-A490 A4C6 # [55]
+A000 A48C
+A490 A4C6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
index ab088a1eeb2..ef49dd04b6f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
@@ -1,65 +1,36 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 523 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Inherited}
-# \p{Sc=Zinh}
-# \p{Is_Script=Qaai}
-# \p{Is_Sc=Inherited}
-#
-# \p{Inherited}
-# \p{Is_Inherited}
-# \p{Zinh}
-# \p{Is_Zinh}
-# \p{Qaai}
-# \p{Is_Qaai}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Inherited}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0300 036F # [112]
-0485 0486 # [2]
-064B 0655 # [11]
+0300 036F
+0485 0486
+064B 0655
+065F
0670
-0951 0952 # [2]
-1CD0 1CD2 # [3]
-1CD4 1CE0 # [13]
-1CE2 1CE8 # [7]
+0951 0952
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
1CED
-1DC0 1DE6 # [39]
-1DFD 1DFF # [3]
-200C 200D # [2]
-20D0 20F0 # [33]
-302A 302F # [6]
-3099 309A # [2]
-FE00 FE0F # [16]
-FE20 FE26 # [7]
+1DC0 1DE6
+1DFC 1DFF
+200C 200D
+20D0 20F0
+302A 302D
+3099 309A
+FE00 FE0F
+FE20 FE26
101FD
-1D167 1D169 # [3]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-E0100 E01EF # [240]
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
index 3a31a027d00..dba18efa7e7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
@@ -1,199 +1,181 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5395 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Script=Common}
-# \p{Sc=Zyyy}
-# \p{Is_Script=Common}
-# \p{Is_Sc=Zyyy}
-#
-# \p{Common}
-# \p{Is_Common}
-# \p{Zyyy}
-# \p{Is_Zyyy}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Common}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 0060 # [6]
-007B 00A9 # [47]
-00AB 00B9 # [15]
-00BB 00BF # [5]
+0000 0040
+005B 0060
+007B 00A9
+00AB 00B9
+00BB 00BF
00D7
00F7
-02B9 02DF # [39]
-02E5 02FF # [27]
+02B9 02DF
+02E5 02E9
+02EC 02FF
0374
037E
0385
0387
0589
-0600 0603 # [4]
060C
061B
061F
0640
-0660 0669 # [10]
+0660 0669
06DD
-0964 0965 # [2]
+0964 0965
0970
-0CF1 0CF2 # [2]
0E3F
-0FD5 0FD8 # [4]
+0FD5 0FD8
10FB
-16EB 16ED # [3]
-1735 1736 # [2]
-1802 1803 # [2]
+16EB 16ED
+1735 1736
+1802 1803
1805
1CD3
1CE1
-1CE9 1CEC # [4]
-1CEE 1CF2 # [5]
-2000 200B # [12]
-200E 2064 # [87]
-206A 2070 # [7]
-2074 207E # [11]
-2080 208E # [15]
-20A0 20B8 # [25]
-2100 2125 # [38]
-2127 2129 # [3]
-212C 2131 # [6]
-2133 214D # [27]
-214F 215F # [17]
+1CE9 1CEC
+1CEE 1CF2
+2000 200B
+200E 2064
+206A 2070
+2074 207E
+2080 208E
+20A0 20B9
+2100 2125
+2127 2129
+212C 2131
+2133 214D
+214F 215F
2189
-2190 23E8 # [601]
-2400 2426 # [39]
-2440 244A # [11]
-2460 26CD # [622]
-26CF 26E1 # [19]
-26E3
-26E8 26FF # [24]
-2701 2704 # [4]
-2706 2709 # [4]
-270C 2727 # [28]
-2729 274B # [35]
-274D
-274F 2752 # [4]
-2756 275E # [9]
-2761 2794 # [52]
-2798 27AF # [24]
-27B1 27BE # [14]
-27C0 27CA # [11]
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27CA
27CC
-27D0 27FF # [48]
-2900 2B4C # [589]
-2B50 2B59 # [10]
-2E00 2E31 # [50]
-2FF0 2FFB # [12]
-3000 3004 # [5]
+27CE 27FF
+2900 2B4C
+2B50 2B59
+2E00 2E31
+2FF0 2FFB
+3000 3004
3006
-3008 3020 # [25]
-3030 3037 # [8]
-303C 303F # [4]
-309B 309C # [2]
+3008 3020
+3030 3037
+303C 303F
+309B 309C
30A0
-30FB 30FC # [2]
-3190 319F # [16]
-31C0 31E3 # [36]
-3220 325F # [64]
-327F 32CF # [81]
-3358 33FF # [168]
-4DC0 4DFF # [64]
-A700 A721 # [34]
-A788 A78A # [3]
-A830 A839 # [10]
-FD3E FD3F # [2]
+30FB 30FC
+3190 319F
+31C0 31E3
+3220 325F
+327F 32CF
+3358 33FF
+4DC0 4DFF
+A700 A721
+A788 A78A
+A830 A839
+FD3E FD3F
FDFD
-FE10 FE19 # [10]
-FE30 FE52 # [35]
-FE54 FE66 # [19]
-FE68 FE6B # [4]
+FE10 FE19
+FE30 FE52
+FE54 FE66
+FE68 FE6B
FEFF
-FF01 FF20 # [32]
-FF3B FF40 # [6]
-FF5B FF65 # [11]
+FF01 FF20
+FF3B FF40
+FF5B FF65
FF70
-FF9E FF9F # [2]
-FFE0 FFE6 # [7]
-FFE8 FFEE # [7]
-FFF9 FFFD # [5]
-10100 10102 # [3]
-10107 10133 # [45]
-10137 1013F # [9]
-10190 1019B # [12]
-101D0 101FC # [45]
-1D000 1D0F5 # [246]
-1D100 1D126 # [39]
-1D129 1D166 # [62]
-1D16A 1D17A # [17]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D1DD # [48]
-1D300 1D356 # [87]
-1D360 1D371 # [18]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+FF9E FF9F
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10100 10102
+10107 10133
+10137 1013F
+10190 1019B
+101D0 101FC
+1D000 1D0F5
+1D100 1D126
+1D129 1D166
+1D16A 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D7CB # [292]
-1D7CE 1D7FF # [50]
-1F000 1F02B # [44]
-1F030 1F093 # [100]
-1F100 1F10A # [11]
-1F110 1F12E # [31]
-1F131
-1F13D
-1F13F
-1F142
-1F146
-1F14A 1F14E # [5]
-1F157
-1F15F
-1F179
-1F17B 1F17C # [2]
-1F17F
-1F18A 1F18D # [4]
-1F190
-1F210 1F231 # [34]
-1F240 1F248 # [9]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F169
+1F170 1F19A
+1F1E6 1F1FF
+1F201 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F550 1F567
+1F5FB 1F5FF
+1F601 1F610
+1F612 1F614
+1F616
+1F618
+1F61A
+1F61C 1F61E
+1F620 1F625
+1F628 1F62B
+1F62D
+1F630 1F633
+1F635 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
index 7ce8d685fb2..5d49103c858 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
@@ -1,335 +1,290 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_006_751 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Script=Unknown}
-# \p{Sc=Zzzz}
-# \p{Is_Script=Unknown}
-# \p{Is_Sc=Zzzz}
-#
-# \p{Unknown}
-# \p{Is_Unknown}
-# \p{Zzzz}
-# \p{Is_Zzzz}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Sc: Unknown}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0378 0379 # [2]
-037F 0383 # [5]
+0378 0379
+037F 0383
038B
038D
03A2
-0526 0530 # [11]
-0557 0558 # [2]
+0528 0530
+0557 0558
0560
0588
-058B 0590 # [6]
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F5 05FF # [11]
-0604 0605 # [2]
-061C 061D # [2]
-0620
-065F
+058B 0590
+05C8 05CF
+05EB 05EF
+05F5 05FF
+0604 0605
+061C 061D
070E
-074B 074C # [2]
-07B2 07BF # [14]
-07FB 07FF # [5]
-082E 082F # [2]
-083F 08FF # [193]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0973 0978 # [6]
+074B 074C
+07B2 07BF
+07FB 07FF
+082E 082F
+083F
+085C 085D
+085F 08FF
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09FC 0A00 # [5]
+09E4 09E5
+09FC 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
0AF0
-0AF2 0B00 # [15]
+0AF2 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
-0B72 0B81 # [16]
+0B64 0B65
+0B78 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BFB 0C00 # [6]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BFB 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C77 # [8]
-0C80 0C81 # [2]
+0C5A 0C5F
+0C64 0C65
+0C70 0C77
+0C80 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
+0CE4 0CE5
0CF0
-0CF3 0D01 # [15]
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D76 0D78 # [3]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D76 0D78
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF5 0E00 # [12]
-0E3B 0E3E # [4]
-0E5C 0E80 # [37]
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
0F48
-0F6D 0F70 # [4]
-0F8C 0F8F # [4]
+0F6D 0F70
0F98
0FBD
0FCD
-0FD9 0FFF # [39]
-10C6 10CF # [10]
-10FD 10FF # [3]
+0FDB 0FFF
+10C6 10CF
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-137D 137F # [3]
-139A 139F # [6]
-13F5 13FF # [11]
-169D 169F # [3]
-16F1 16FF # [15]
+1316 1317
+135B 135C
+137D 137F
+139A 139F
+13F5 13FF
+169D 169F
+16F1 16FF
170D
-1715 171F # [11]
-1737 173F # [9]
-1754 175F # [12]
+1715 171F
+1737 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17DE 17DF # [2]
-17EA 17EF # [6]
-17FA 17FF # [6]
+1774 177F
+17DE 17DF
+17EA 17EF
+17FA 17FF
180F
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 193F # [4]
-1941 1943 # [3]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19DD # [3]
-1A1C 1A1D # [2]
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19DD
+1A1C 1A1D
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1A9F # [6]
-1AAE 1AFF # [82]
-1B4C 1B4F # [4]
-1B7D 1B7F # [3]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3A # [3]
-1C4A 1C4C # [3]
-1C80 1CCF # [80]
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1A9F
+1AAE 1AFF
+1B4C 1B4F
+1B7D 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFB
+1C38 1C3A
+1C4A 1C4C
+1C80 1CCF
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FC5
-1FD4 1FD5 # [2]
+1FD4 1FD5
1FDC
-1FF0 1FF1 # [2]
+1FF0 1FF1
1FF5
1FFF
-2065 2069 # [5]
-2072 2073 # [2]
+2065 2069
+2072 2073
208F
-2095 209F # [11]
-20B9 20CF # [23]
-20F1 20FF # [15]
-218A 218F # [6]
-23E9 23FF # [23]
-2427 243F # [25]
-244B 245F # [21]
-26CE
-26E2
-26E4 26E7 # [4]
+209D 209F
+20BA 20CF
+20F1 20FF
+218A 218F
+23F4 23FF
+2427 243F
+244B 245F
2700
-2705
-270A 270B # [2]
-2728
-274C
-274E
-2753 2755 # [3]
-275F 2760 # [2]
-2795 2797 # [3]
-27B0
-27BF
27CB
-27CD 27CF # [3]
-2B4D 2B4F # [3]
-2B5A 2BFF # [166]
+27CD
+2B4D 2B4F
+2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8 # [7]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CF2 2CF8
+2D26 2D2F
+2D66 2D6E
+2D71 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -338,186 +293,219 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F # [78]
+2E32 2E7F
2E9A
-2EF4 2EFF # [12]
-2FD6 2FEF # [26]
-2FFC 2FFF # [4]
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
3040
-3097 3098 # [2]
-3100 3104 # [5]
-312E 3130 # [3]
+3097 3098
+3100 3104
+312E 3130
318F
-31B8 31BF # [8]
-31E4 31EF # [12]
+31BB 31BF
+31E4 31EF
321F
32FF
-4DB6 4DBF # [10]
-9FCC 9FFF # [52]
-A48D A48F # [3]
-A4C7 A4CF # [9]
-A62C A63F # [20]
-A660 A661 # [2]
-A674 A67B # [8]
-A698 A69F # [8]
-A6F8 A6FF # [8]
-A78D A7FA # [110]
-A82C A82F # [4]
-A83A A83F # [6]
-A878 A87F # [8]
-A8C5 A8CD # [9]
-A8DA A8DF # [6]
-A8FC A8FF # [4]
-A954 A95E # [11]
-A97D A97F # [3]
+4DB6 4DBF
+9FCC 9FFF
+A48D A48F
+A4C7 A4CF
+A62C A63F
+A674 A67B
+A698 A69F
+A6F8 A6FF
+A78F
+A792 A79F
+A7AA A7F9
+A82C A82F
+A83A A83F
+A878 A87F
+A8C5 A8CD
+A8DA A8DF
+A8FC A8FF
+A954 A95E
+A97D A97F
A9CE
-A9DA A9DD # [4]
-A9E0 A9FF # [32]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5B # [2]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AAE0 ABBF # [224]
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+A9DA A9DD
+A9E0 A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5B
+AA7C AA7F
+AAC3 AADA
+AAE0 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD40 FD4F # [16]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFE FDFF # [2]
-FE1A FE1F # [6]
-FE27 FE2F # [9]
+FBC2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FDFF
+FE1A FE1F
+FE27 FE2F
FE53
FE67
-FE6C FE6F # [4]
+FE6C FE6F
FE75
-FEFD FEFE # [2]
+FEFD FEFE
FF00
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFDF # [3]
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
FFE7
-FFEF FFF8 # [10]
-FFFE FFFF # [2]
+FFEF FFF8
+FFFE FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 100FF # [5]
-10103 10106 # [4]
-10134 10136 # [3]
-1018B 1018F # [5]
-1019C 101CF # [52]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+1018B 1018F
+1019C 101CF
+101FE 1027F
+1029D 1029F
+102D1 102FF
1031F
-10324 1032F # [12]
-1034B 1037F # [53]
+10324 1032F
+1034B 1037F
1039E
-103C4 103C7 # [4]
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103C4 103C7
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
+10839 1083B
+1083D 1083E
10856
-10860 108FF # [160]
-1091C 1091E # [3]
-1093A 1093E # [5]
-10940 109FF # [192]
+10860 108FF
+1091C 1091E
+1093A 1093E
+10940 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A48 10A4F # [8]
-10A59 10A5F # [7]
-10A80 10AFF # [128]
-10B36 10B38 # [3]
-10B56 10B57 # [2]
-10B73 10B77 # [5]
-10B80 10BFF # [128]
-10C49 10E5F # [535]
-10E7F 1107F # [513]
-110C2 11FFF # [3902]
-1236F 123FF # [145]
-12463 1246F # [13]
-12474 12FFF # [2956]
-1342F 1CFFF # [39_889]
-1D0F6 1D0FF # [10]
-1D127 1D128 # [2]
-1D1DE 1D1FF # [34]
-1D246 1D2FF # [186]
-1D357 1D35F # [9]
-1D372 1D3FF # [142]
+10A34 10A37
+10A3B 10A3E
+10A48 10A4F
+10A59 10A5F
+10A80 10AFF
+10B36 10B38
+10B56 10B57
+10B73 10B77
+10B80 10BFF
+10C49 10E5F
+10E7F 10FFF
+1104E 11051
+11070 1107F
+110C2 11FFF
+1236F 123FF
+12463 1246F
+12474 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1CFFF
+1D0F6 1D0FF
+1D127 1D128
+1D1DE 1D1FF
+1D246 1D2FF
+1D357 1D35F
+1D372 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
-1D7CC 1D7CD # [2]
-1D800 1EFFF # [6144]
-1F02C 1F02F # [4]
-1F094 1F0FF # [108]
-1F10B 1F10F # [5]
-1F12F 1F130 # [2]
-1F132 1F13C # [11]
-1F13E
-1F140 1F141 # [2]
-1F143 1F145 # [3]
-1F147 1F149 # [3]
-1F14F 1F156 # [8]
-1F158 1F15E # [7]
-1F160 1F178 # [25]
-1F17A
-1F17D 1F17E # [2]
-1F180 1F189 # [10]
-1F18E 1F18F # [2]
-1F191 1F1FF # [111]
-1F201 1F20F # [15]
-1F232 1F23F # [14]
-1F249 1FFFF # [3511]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E E0000 # [722_403]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+1D6A6 1D6A7
+1D7CC 1D7CD
+1D800 1EFFF
+1F02C 1F02F
+1F094 1F09F
+1F0AF 1F0B0
+1F0BF 1F0C0
+1F0D0
+1F0E0 1F0FF
+1F10B 1F10F
+1F12F
+1F16A 1F16F
+1F19B 1F1E5
+1F203 1F20F
+1F23B 1F23F
+1F249 1F24F
+1F252 1F2FF
+1F321 1F32F
+1F336
+1F37D 1F37F
+1F394 1F39F
+1F3C5
+1F3CB 1F3DF
+1F3F1 1F3FF
+1F43F
+1F441
+1F4F8
+1F4FD 1F4FF
+1F53E 1F54F
+1F568 1F5FA
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+1F641 1F644
+1F650 1F67F
+1F6C6 1F6FF
+1F774 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl
index fe104efac04..8c3aac7909d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl
@@ -1,59 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_114_086 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{White_Space=No}
-# \p{WSpace=N}
-# \p{Space=F}
-# \p{Is_White_Space=False}
-# \p{Is_WSpace=No}
-# \p{Is_Space=N}
-#
-# \P{White_Space}
-# \P{Is_White_Space}
-# \P{WSpace}
-# \P{Is_WSpace}
-#
-# \P{Space}
-# \P{Is_Space}
-#
-# Meaning: \s including beyond ASCII plus vertical tab
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Space: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0008 # [9]
-000E 001F # [18]
-0021 0084 # [100]
-0086 009F # [26]
-00A1 167F # [5599]
-1681 180D # [397]
-180F 1FFF # [2033]
-200B 2027 # [29]
-202A 202E # [5]
-2030 205E # [47]
-2060 2FFF # [4000]
-3001 10FFFF # [1_101_823]
+0000 0008
+000E 001F
+0021 0084
+0086 009F
+00A1 167F
+1681 180D
+180F 1FFF
+200B 2027
+202A 202E
+2030 205E
+2060 2FFF
+3001 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
index d845f30ab48..b60ee9c4622 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
@@ -1,57 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 26 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{White_Space=Yes}
-# \p{WSpace=Y}
-# \p{Space=T}
-# \p{Is_White_Space=True}
-# \p{Is_WSpace=Yes}
-# \p{Is_Space=Y}
-#
-# \p{White_Space}
-# \p{Is_White_Space}
-# \p{WSpace}
-# \p{Is_WSpace}
-#
-# \p{Space}
-# \p{Is_Space}
-#
-# Meaning: \s including beyond ASCII plus vertical tab
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Space: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0009 000D # [5]
+0009 000D
0020
0085
00A0
1680
180E
-2000 200A # [11]
-2028 2029 # [2]
+2000 200A
+2028 2029
202F
205F
3000
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl
index a4223526b04..f0612cfb26c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl
@@ -1,106 +1,80 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_951 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Terminal_Punctuation=No}
-# \p{Term=N}
-# \p{Is_Terminal_Punctuation=F}
-# \p{Is_Term=False}
-#
-# \P{Terminal_Punctuation}
-# \P{Is_Terminal_Punctuation}
-# \P{Term}
-# \P{Is_Term}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Term: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0020 # [33]
-0022 002B # [10]
+0000 0020
+0022 002B
002D
-002F 0039 # [11]
-003C 003E # [3]
-0040 037D # [830]
-037F 0386 # [8]
-0388 0588 # [513]
-058A 05C2 # [57]
-05C4 060B # [72]
-060D 061A # [14]
-061C 061E # [3]
-0620 06D3 # [180]
-06D5 06FF # [43]
+002F 0039
+003C 003E
+0040 037D
+037F 0386
+0388 0588
+058A 05C2
+05C4 060B
+060D 061A
+061C 061E
+0620 06D3
+06D5 06FF
070B
-070D 07F7 # [235]
-07FA 082F # [54]
-083F 0963 # [293]
-0966 0E59 # [1268]
-0E5C 0F07 # [172]
-0F09 0F0C # [4]
-0F13 1049 # [311]
-104C 1360 # [789]
-1369 166C # [772]
-166F 16EA # [124]
-16EE 17D3 # [230]
-17D7 17D9 # [3]
-17DB 1801 # [39]
-1806 1807 # [2]
-180A 1943 # [314]
-1946 1AA7 # [354]
-1AAC 1B59 # [174]
+070D 07F7
+07FA 082F
+083F 085D
+085F 0963
+0966 0E59
+0E5C 0F07
+0F09 0F0C
+0F13 1049
+104C 1360
+1369 166C
+166F 16EA
+16EE 17D3
+17D7 17D9
+17DB 1801
+1806 1807
+180A 1943
+1946 1AA7
+1AAC 1B59
1B5C
-1B60 1C3A # [219]
-1C40 1C7D # [62]
-1C80 203B # [956]
-203E 2046 # [9]
-204A 2E2D # [3556]
-2E2F 3000 # [466]
-3003 A4FD # [29_947]
-A500 A60C # [269]
-A610 A6F2 # [227]
-A6F8 A875 # [382]
-A878 A8CD # [86]
-A8D0 A92E # [95]
-A930 A9C6 # [151]
-A9CA AA5C # [147]
-AA60 AADE # [127]
-AAE0 ABEA # [267]
-ABEC FE4F # [21_092]
+1B60 1C3A
+1C40 1C7D
+1C80 203B
+203E 2046
+204A 2E2D
+2E2F 3000
+3003 A4FD
+A500 A60C
+A610 A6F2
+A6F8 A875
+A878 A8CD
+A8D0 A92E
+A930 A9C6
+A9CA AA5C
+AA60 AADE
+AAE0 ABEA
+ABEC FE4F
FE53
-FE58 FF00 # [169]
-FF02 FF0B # [10]
+FE58 FF00
+FF02 FF0B
FF0D
-FF0F FF19 # [11]
-FF1C FF1E # [3]
-FF20 FF60 # [65]
-FF62 FF63 # [2]
-FF65 1039E # [1082]
-103A0 103CF # [48]
-103D1 10856 # [1158]
-10858 1091E # [199]
-10920 10B39 # [538]
-10B40 110BD # [1406]
-110C2 1246F # [5038]
-12474 10FFFF # [1_039_244]
+FF0F FF19
+FF1C FF1E
+FF20 FF60
+FF62 FF63
+FF65 1039E
+103A0 103CF
+103D1 10856
+10858 1091E
+10920 10B39
+10B40 11046
+1104E 110BD
+110C2 1246F
+12474 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
index 267ebc0efa6..3559ee37f64 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 161 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Terminal_Punctuation=Yes}
-# \p{Term=Y}
-# \p{Is_Terminal_Punctuation=T}
-# \p{Is_Term=True}
-#
-# \p{Terminal_Punctuation}
-# \p{Is_Terminal_Punctuation}
-# \p{Term}
-# \p{Is_Term}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Term: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0021
002C
002E
-003A 003B # [2]
+003A 003B
003F
037E
0387
@@ -50,48 +22,49 @@ return <<'END';
061B
061F
06D4
-0700 070A # [11]
+0700 070A
070C
-07F8 07F9 # [2]
-0830 083E # [15]
-0964 0965 # [2]
-0E5A 0E5B # [2]
+07F8 07F9
+0830 083E
+085E
+0964 0965
+0E5A 0E5B
0F08
-0F0D 0F12 # [6]
-104A 104B # [2]
-1361 1368 # [8]
-166D 166E # [2]
-16EB 16ED # [3]
-17D4 17D6 # [3]
+0F0D 0F12
+104A 104B
+1361 1368
+166D 166E
+16EB 16ED
+17D4 17D6
17DA
-1802 1805 # [4]
-1808 1809 # [2]
-1944 1945 # [2]
-1AA8 1AAB # [4]
-1B5A 1B5B # [2]
-1B5D 1B5F # [3]
-1C3B 1C3F # [5]
-1C7E 1C7F # [2]
-203C 203D # [2]
-2047 2049 # [3]
+1802 1805
+1808 1809
+1944 1945
+1AA8 1AAB
+1B5A 1B5B
+1B5D 1B5F
+1C3B 1C3F
+1C7E 1C7F
+203C 203D
+2047 2049
2E2E
-3001 3002 # [2]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A6F3 A6F7 # [5]
-A876 A877 # [2]
-A8CE A8CF # [2]
+3001 3002
+A4FE A4FF
+A60D A60F
+A6F3 A6F7
+A876 A877
+A8CE A8CF
A92F
-A9C7 A9C9 # [3]
-AA5D AA5F # [3]
+A9C7 A9C9
+AA5D AA5F
AADF
ABEB
-FE50 FE52 # [3]
-FE54 FE57 # [4]
+FE50 FE52
+FE54 FE57
FF01
FF0C
FF0E
-FF1A FF1B # [2]
+FF1A FF1B
FF1F
FF61
FF64
@@ -99,7 +72,8 @@ FF64
103D0
10857
1091F
-10B3A 10B3F # [6]
-110BE 110C1 # [4]
-12470 12473 # [4]
+10B3A 10B3F
+11047 1104D
+110BE 110C1
+12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl
index 40613d38077..5e0bebbc6fb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl
@@ -1,52 +1,25 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_039_718 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Unified_Ideograph=No}
-# \p{UIdeo=N}
-# \p{Is_Unified_Ideograph=F}
-# \p{Is_UIdeo=False}
-#
-# \P{Unified_Ideograph}
-# \P{Is_Unified_Ideograph}
-# \P{UIdeo}
-# \P{Is_UIdeo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_UIdeo: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 33FF # [13_312]
-4DB6 4DFF # [74]
-9FCC FA0D # [23_106]
+0000 33FF
+4DB6 4DFF
+9FCC FA0D
FA10
FA12
-FA15 FA1E # [10]
+FA15 FA1E
FA20
FA22
-FA25 FA26 # [2]
-FA2A 1FFFF # [67_030]
-2A6D7 2A6FF # [41]
-2B735 10FFFF # [936_139]
+FA25 FA26
+FA2A 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
index ccc60199584..44c060a8bf2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
@@ -1,51 +1,24 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 74_394 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Unified_Ideograph=Yes}
-# \p{UIdeo=Y}
-# \p{Is_Unified_Ideograph=T}
-# \p{Is_UIdeo=True}
-#
-# \p{Unified_Ideograph}
-# \p{Is_Unified_Ideograph}
-# \p{UIdeo}
-# \p{Is_UIdeo}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_UIdeo: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-FA0E FA0F # [2]
+3400 4DB5
+4E00 9FCB
+FA0E FA0F
FA11
-FA13 FA14 # [2]
+FA13 FA14
FA1F
FA21
-FA23 FA24 # [2]
-FA27 FA29 # [3]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
+FA23 FA24
+FA27 FA29
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl
index a7dbcea11b3..d230e173036 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl
@@ -1,46 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_112_643 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Uppercase=No}
-# \p{Upper=N}
-# \p{Is_Uppercase=F}
-# \p{Is_Upper=False}
-#
-# \P{Upper}
-# \P{Is_Upper}
-# \P{Uppercase}
-# \P{Is_Uppercase}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Upper: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 00BF # [101]
+0000 0040
+005B 00BF
00D7
-00DF 00FF # [33]
+00DF 00FF
0101
0103
0105
@@ -68,7 +40,7 @@ return <<'END';
0131
0133
0135
-0137 0138 # [2]
+0137 0138
013A
013C
013E
@@ -76,7 +48,7 @@ return <<'END';
0142
0144
0146
-0148 0149 # [2]
+0148 0149
014B
014D
014F
@@ -102,29 +74,29 @@ return <<'END';
0177
017A
017C
-017E 0180 # [3]
+017E 0180
0183
0185
0188
-018C 018D # [2]
+018C 018D
0192
0195
-0199 019B # [3]
+0199 019B
019E
01A1
01A3
01A5
01A8
-01AA 01AB # [2]
+01AA 01AB
01AD
01B0
01B4
01B6
-01B9 01BB # [3]
-01BD 01C3 # [7]
-01C5 01C6 # [2]
-01C8 01C9 # [2]
-01CB 01CC # [2]
+01B9 01BB
+01BD 01C3
+01C5 01C6
+01C8 01C9
+01CB 01CC
01CE
01D0
01D2
@@ -132,7 +104,7 @@ return <<'END';
01D6
01D8
01DA
-01DC 01DD # [2]
+01DC 01DD
01DF
01E1
01E3
@@ -141,8 +113,8 @@ return <<'END';
01E9
01EB
01ED
-01EF 01F0 # [2]
-01F2 01F3 # [2]
+01EF 01F0
+01F2 01F3
01F5
01F9
01FB
@@ -173,26 +145,26 @@ return <<'END';
022D
022F
0231
-0233 0239 # [7]
+0233 0239
023C
-023F 0240 # [2]
+023F 0240
0242
0247
0249
024B
024D
-024F 036F # [289]
+024F 036F
0371
-0373 0375 # [3]
-0377 0385 # [15]
+0373 0375
+0377 0385
0387
038B
038D
0390
03A2
-03AC 03CE # [35]
-03D0 03D1 # [2]
-03D5 03D7 # [3]
+03AC 03CE
+03D0 03D1
+03D5 03D7
03D9
03DB
03DD
@@ -204,11 +176,11 @@ return <<'END';
03E9
03EB
03ED
-03EF 03F3 # [5]
-03F5 03F6 # [2]
+03EF 03F3
+03F5 03F6
03F8
-03FB 03FC # [2]
-0430 045F # [48]
+03FB 03FC
+0430 045F
0461
0463
0465
@@ -225,7 +197,7 @@ return <<'END';
047B
047D
047F
-0481 0489 # [9]
+0481 0489
048B
048D
048F
@@ -259,7 +231,7 @@ return <<'END';
04C8
04CA
04CC
-04CE 04CF # [2]
+04CE 04CF
04D1
04D3
04D5
@@ -302,9 +274,10 @@ return <<'END';
051F
0521
0523
-0525 0530 # [12]
-0557 109F # [2889]
-10C6 1DFF # [3386]
+0525
+0527 0530
+0557 109F
+10C6 1DFF
1E01
1E03
1E05
@@ -379,7 +352,7 @@ return <<'END';
1E8F
1E91
1E93
-1E95 1E9D # [9]
+1E95 1E9D
1E9F
1EA1
1EA3
@@ -428,47 +401,47 @@ return <<'END';
1EF9
1EFB
1EFD
-1EFF 1F07 # [9]
-1F10 1F17 # [8]
-1F1E 1F27 # [10]
-1F30 1F37 # [8]
-1F40 1F47 # [8]
-1F4E 1F58 # [11]
+1EFF 1F07
+1F10 1F17
+1F1E 1F27
+1F30 1F37
+1F40 1F47
+1F4E 1F58
1F5A
1F5C
1F5E
-1F60 1F67 # [8]
-1F70 1FB7 # [72]
-1FBC 1FC7 # [12]
-1FCC 1FD7 # [12]
-1FDC 1FE7 # [12]
-1FED 1FF7 # [11]
-1FFC 2101 # [262]
-2103 2106 # [4]
-2108 210A # [3]
-210E 210F # [2]
-2113 2114 # [2]
-2116 2118 # [3]
-211E 2123 # [6]
+1F60 1F67
+1F70 1FB7
+1FBC 1FC7
+1FCC 1FD7
+1FDC 1FE7
+1FED 1FF7
+1FFC 2101
+2103 2106
+2108 210A
+210E 210F
+2113 2114
+2116 2118
+211E 2123
2125
2127
2129
-212E 212F # [2]
-2134 213D # [10]
-2140 2144 # [5]
-2146 215F # [26]
-2170 2182 # [19]
-2184 24B5 # [818]
-24D0 2BFF # [1840]
-2C2F 2C5F # [49]
+212E 212F
+2134 213D
+2140 2144
+2146 215F
+2170 2182
+2184 24B5
+24D0 2BFF
+2C2F 2C5F
2C61
-2C65 2C66 # [2]
+2C65 2C66
2C68
2C6A
2C6C
2C71
-2C73 2C74 # [2]
-2C76 2C7D # [8]
+2C73 2C74
+2C76 2C7D
2C81
2C83
2C85
@@ -518,9 +491,9 @@ return <<'END';
2CDD
2CDF
2CE1
-2CE3 2CEA # [8]
+2CE3 2CEA
2CEC
-2CEE A63F # [31_058]
+2CEE A63F
A641
A643
A645
@@ -536,13 +509,14 @@ A657
A659
A65B
A65D
-A65F A661 # [3]
+A65F
+A661
A663
A665
A667
A669
A66B
-A66D A67F # [19]
+A66D A67F
A681
A683
A685
@@ -554,14 +528,14 @@ A68F
A691
A693
A695
-A697 A721 # [139]
+A697 A721
A723
A725
A727
A729
A72B
A72D
-A72F A731 # [3]
+A72F A731
A733
A735
A737
@@ -592,46 +566,53 @@ A767
A769
A76B
A76D
-A76F A778 # [10]
+A76F A778
A77A
A77C
A77F
A781
A783
A785
-A787 A78A # [4]
-A78C FF20 # [22_421]
-FF3B 103FF # [1221]
-10428 1D3FF # [53_208]
-1D41A 1D433 # [26]
-1D44E 1D467 # [26]
-1D482 1D49B # [26]
+A787 A78A
+A78C
+A78E A78F
+A791 A79F
+A7A1
+A7A3
+A7A5
+A7A7
+A7A9 FF20
+FF3B 103FF
+10428 1D3FF
+1D41A 1D433
+1D44E 1D467
+1D482 1D49B
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
-1D4B6 1D4CF # [26]
-1D4EA 1D503 # [26]
+1D4B6 1D4CF
+1D4EA 1D503
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
-1D51D 1D537 # [27]
+1D51D 1D537
1D53A
1D53F
1D545
-1D547 1D549 # [3]
-1D551 1D56B # [27]
-1D586 1D59F # [26]
-1D5BA 1D5D3 # [26]
-1D5EE 1D607 # [26]
-1D622 1D63B # [26]
-1D656 1D66F # [26]
-1D68A 1D6A7 # [30]
-1D6C1 1D6E1 # [33]
-1D6FB 1D71B # [33]
-1D735 1D755 # [33]
-1D76F 1D78F # [33]
-1D7A9 1D7C9 # [33]
-1D7CB 10FFFF # [993_333]
+1D547 1D549
+1D551 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A7
+1D6C1 1D6E1
+1D6FB 1D71B
+1D735 1D755
+1D76F 1D78F
+1D7A9 1D7C9
+1D7CB 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
index a7bad90ee08..2e18b152261 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
@@ -1,45 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1469 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Uppercase=Yes}
-# \p{Upper=Y}
-# \p{Is_Uppercase=T}
-# \p{Is_Upper=True}
-#
-# \p{Upper}
-# \p{Is_Upper}
-# \p{Uppercase}
-# \p{Is_Uppercase}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_Upper: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-00C0 00D6 # [23]
-00D8 00DE # [7]
+0041 005A
+00C0 00D6
+00D8 00DE
0100
0102
0104
@@ -99,27 +71,27 @@ return <<'END';
0172
0174
0176
-0178 0179 # [2]
+0178 0179
017B
017D
-0181 0182 # [2]
+0181 0182
0184
-0186 0187 # [2]
-0189 018B # [3]
-018E 0191 # [4]
-0193 0194 # [2]
-0196 0198 # [3]
-019C 019D # [2]
-019F 01A0 # [2]
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
01A2
01A4
-01A6 01A7 # [2]
+01A6 01A7
01A9
01AC
-01AE 01AF # [2]
-01B1 01B3 # [3]
+01AE 01AF
+01B1 01B3
01B5
-01B7 01B8 # [2]
+01B7 01B8
01BC
01C4
01C7
@@ -143,7 +115,7 @@ return <<'END';
01EE
01F1
01F4
-01F6 01F8 # [3]
+01F6 01F8
01FA
01FC
01FE
@@ -173,10 +145,10 @@ return <<'END';
022E
0230
0232
-023A 023B # [2]
-023D 023E # [2]
+023A 023B
+023D 023E
0241
-0243 0246 # [4]
+0243 0246
0248
024A
024C
@@ -185,13 +157,13 @@ return <<'END';
0372
0376
0386
-0388 038A # [3]
+0388 038A
038C
-038E 038F # [2]
-0391 03A1 # [17]
-03A3 03AB # [9]
+038E 038F
+0391 03A1
+03A3 03AB
03CF
-03D2 03D4 # [3]
+03D2 03D4
03D8
03DA
03DC
@@ -206,8 +178,8 @@ return <<'END';
03EE
03F4
03F7
-03F9 03FA # [2]
-03FD 042F # [51]
+03F9 03FA
+03FD 042F
0460
0462
0464
@@ -252,7 +224,7 @@ return <<'END';
04BA
04BC
04BE
-04C0 04C1 # [2]
+04C0 04C1
04C3
04C5
04C7
@@ -302,8 +274,9 @@ return <<'END';
0520
0522
0524
-0531 0556 # [38]
-10A0 10C5 # [38]
+0526
+0531 0556
+10A0 10C5
1E00
1E02
1E04
@@ -428,47 +401,47 @@ return <<'END';
1EFA
1EFC
1EFE
-1F08 1F0F # [8]
-1F18 1F1D # [6]
-1F28 1F2F # [8]
-1F38 1F3F # [8]
-1F48 1F4D # [6]
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
1F59
1F5B
1F5D
1F5F
-1F68 1F6F # [8]
-1FB8 1FBB # [4]
-1FC8 1FCB # [4]
-1FD8 1FDB # [4]
-1FE8 1FEC # [5]
-1FF8 1FFB # [4]
+1F68 1F6F
+1FB8 1FBB
+1FC8 1FCB
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFB
2102
2107
-210B 210D # [3]
-2110 2112 # [3]
+210B 210D
+2110 2112
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-2130 2133 # [4]
-213E 213F # [2]
+212A 212D
+2130 2133
+213E 213F
2145
-2160 216F # [16]
+2160 216F
2183
-24B6 24CF # [26]
-2C00 2C2E # [47]
+24B6 24CF
+2C00 2C2E
2C60
-2C62 2C64 # [3]
+2C62 2C64
2C67
2C69
2C6B
-2C6D 2C70 # [4]
+2C6D 2C70
2C72
2C75
-2C7E 2C80 # [3]
+2C7E 2C80
2C82
2C84
2C86
@@ -536,6 +509,7 @@ A658
A65A
A65C
A65E
+A660
A662
A664
A666
@@ -594,43 +568,50 @@ A76C
A76E
A779
A77B
-A77D A77E # [2]
+A77D A77E
A780
A782
A784
A786
A78B
-FF21 FF3A # [26]
-10400 10427 # [40]
-1D400 1D419 # [26]
-1D434 1D44D # [26]
-1D468 1D481 # [26]
+A78D
+A790
+A7A0
+A7A2
+A7A4
+A7A6
+A7A8
+FF21 FF3A
+10400 10427
+1D400 1D419
+1D434 1D44D
+1D468 1D481
1D49C
-1D49E 1D49F # [2]
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B5 # [8]
-1D4D0 1D4E9 # [26]
-1D504 1D505 # [2]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D538 1D539 # [2]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B5
+1D4D0 1D4E9
+1D504 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D538 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D56C 1D585 # [26]
-1D5A0 1D5B9 # [26]
-1D5D4 1D5ED # [26]
-1D608 1D621 # [26]
-1D63C 1D655 # [26]
-1D670 1D689 # [26]
-1D6A8 1D6C0 # [25]
-1D6E2 1D6FA # [25]
-1D71C 1D734 # [25]
-1D756 1D76E # [25]
-1D790 1D7A8 # [25]
+1D54A 1D550
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A8 1D6C0
+1D6E2 1D6FA
+1D71C 1D734
+1D756 1D76E
+1D790 1D7A8
1D7CA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl
index 31e303f6b2a..8abedeec30c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl
@@ -1,44 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_113_853 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Variation_Selector=No}
-# \p{VS=N}
-# \p{Is_Variation_Selector=F}
-# \p{Is_VS=False}
-#
-# \P{Variation_Selector}
-# \P{Is_Variation_Selector}
-# \P{VS}
-# \P{Is_VS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_VS: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 180A # [6155]
-180E FDFF # [58_866]
-FE10 E00FF # [852_720]
-E01F0 10FFFF # [196_112]
+0000 180A
+180E FDFF
+FE10 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
index 032be410af5..cda81011ee0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
@@ -1,43 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 259 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Variation_Selector=Yes}
-# \p{VS=Y}
-# \p{Is_Variation_Selector=T}
-# \p{Is_VS=True}
-#
-# \p{Variation_Selector}
-# \p{Is_Variation_Selector}
-# \p{VS}
-# \p{Is_VS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_VS: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-180B 180D # [3]
-FE00 FE0F # [16]
-E0100 E01EF # [240]
+180B 180D
+FE00 FE0F
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
index 896a6e01e1d..57d3eb74ed5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
@@ -1,61 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file is for tables that are not necessarily related: To conserve
-# resources, every table that matches the identical set of code points in
-# this version of Unicode uses this file. Each one is listed in a separate
-# group below. It could be that the tables will match the same set of code
-# points in other Unicode releases, or it could be purely coincidence that
-# they happen to be the same in Unicode 5.2.0, and hence may not in other
-# versions.
-#
-# This file returns the 10 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Word_Break=ExtendNumLet}
-# \p{WB=EX}
-# \p{Is_Word_Break=ExtendNumLet}
-# \p{Is_WB=EX}
-#
-# \p{General_Category=Connector_Punctuation}
-# \p{Gc=Pc}
-# \p{Category=Connector_Punctuation}
-# \p{Is_General_Category=Pc}
-# \p{Is_Gc=Connector_Punctuation}
-# \p{Is_Category=Pc}
-#
-# \p{Connector_Punctuation}
-# \p{Is_Connector_Punctuation}
-# \p{Pc}
-# \p{Is_Pc}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and within each group
-# above, anything to the left of the equals (or colon) can be combined with
-# anything to the right. Thus, for example,
-# \p{Is_Category: Connector_Punctuation}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
005F
-203F 2040 # [2]
+203F 2040
2054
-FE33 FE34 # [2]
-FE4D FE4F # [3]
+FE33 FE34
+FE4D FE4F
FF3F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
index 297fe00f738..c5aa07de870 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
@@ -1,50 +1,27 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 137 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Word_Break=Format}
-# \p{WB=FO}
-# \p{Is_Word_Break=Format}
-# \p{Is_WB=FO}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: Format}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
00AD
-0600 0603 # [4]
+0600 0603
06DD
070F
-17B4 17B5 # [2]
-200E 200F # [2]
-202A 202E # [5]
-2060 2064 # [5]
-206A 206F # [6]
+17B4 17B5
+200E 200F
+202A 202E
+2060 2064
+206A 206F
FEFF
-FFF9 FFFB # [3]
+FFF9 FFFB
110BD
-1D173 1D17A # [8]
+1D173 1D17A
E0001
-E0020 E007F # [96]
+E0020 E007F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
index 66cabfb14c1..aee3d532808 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
@@ -1,43 +1,21 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 309 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Word_Break=Katakana}
-# \p{WB=KA}
-# \p{Is_Word_Break=Katakana}
-# \p{Is_WB=KA}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: Katakana}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-3031 3035 # [5]
-309B 309C # [2]
-30A0 30FA # [91]
-30FC 30FF # [4]
-31F0 31FF # [16]
-32D0 32FE # [47]
-3300 3357 # [88]
-FF66 FF9D # [56]
+3031 3035
+309B 309C
+30A0 30FA
+30FC 30FF
+31F0 31FF
+32D0 32FE
+3300 3357
+FF66 FF9D
+1B000
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
index ced5c14be94..7fc9d57910c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
@@ -1,400 +1,388 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 23_694 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Word_Break=ALetter}
-# \p{WB=LE}
-# \p{Is_Word_Break=ALetter}
-# \p{Is_WB=LE}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: ALetter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0370 0374 # [5]
-0376 0377 # [2]
-037A 037D # [4]
+0370 0374
+0376 0377
+037A 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-05D0 05EA # [27]
-05F0 05F3 # [4]
-0621 064A # [42]
-066E 066F # [2]
-0671 06D3 # [99]
+0561 0587
+05D0 05EA
+05F0 05F3
+0620 064A
+066E 066F
+0671 06D3
06D5
-06E5 06E6 # [2]
-06EE 06EF # [2]
-06FA 06FC # [3]
+06E5 06E6
+06EE 06EF
+06FA 06FC
06FF
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-07F4 07F5 # [2]
+07CA 07EA
+07F4 07F5
07FA
-0800 0815 # [22]
+0800 0815
081A
0824
0828
-0904 0939 # [54]
+0840 0858
+0904 0939
093D
0950
-0958 0961 # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0971 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
+0B5C 0B5D
+0B5F 0B61
0B71
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-10A0 10C5 # [38]
-10D0 10FA # [43]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1820 1877 # [88]
-1880 18A8 # [41]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1A00 1A16 # [23]
-1B05 1B33 # [47]
-1B45 1B4B # [7]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+18B0 18F5
+1900 191C
+1A00 1A16
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF1
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2071
207F
-2090 2094 # [5]
+2090 209C
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2119 211D # [5]
+2119 211D
2124
2126
2128
-212A 212D # [4]
-212F 2139 # [11]
-213C 213F # [4]
-2145 2149 # [5]
+212A 212D
+212F 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-24B6 24E9 # [52]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+24B6 24E9
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
2E2F
3005
-303B 303C # [2]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
-A640 A65F # [32]
-A662 A66E # [13]
-A67F A697 # [25]
-A6A0 A6EF # [80]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8F7 # [6]
+303B 303C
+3105 312D
+3131 318E
+31A0 31BA
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
+A67F A697
+A6A0 A6EF
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
A8FB
-A90A A925 # [28]
-A930 A946 # [23]
-A960 A97C # [29]
-A984 A9B2 # [47]
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
A9CF
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
-ABC0 ABE2 # [35]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB28 # [10]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB1F FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FD3D # [363]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDFB # [12]
-FE70 FE74 # [5]
-FE76 FEFC # [135]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-10800 10805 # [6]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
+1083F 10855
+10900 10915
+10920 10939
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11083 110AF # [45]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
index ed53d3a5a68..4b49fe736f6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
@@ -1,40 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 8 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Word_Break=MidNumLet}
-# \p{WB=MB}
-# \p{Is_Word_Break=MidNumLet}
-# \p{Is_WB=MB}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: MidNumLet}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
0027
002E
-2018 2019 # [2]
+2018 2019
2024
FE52
FF07
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
index 70138bc816d..4eb3441e7de 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
@@ -1,35 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 8 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Word_Break=MidLetter}
-# \p{WB=ML}
-# \p{Is_Word_Break=MidLetter}
-# \p{Is_WB=ML}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: MidLetter}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
003A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
index 7ee749f293a..1625250ae08 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
@@ -1,42 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 15 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Word_Break=MidNum}
-# \p{WB=MN}
-# \p{Is_Word_Break=MidNum}
-# \p{Is_WB=MN}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: MidNum}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
002C
003B
037E
0589
-060C 060D # [2]
+060C 060D
066C
07F8
2044
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
index 66f38cdb3f9..d2b487e1ede 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
@@ -1,38 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 5 code points in Unicode Version 5.2.0 that match any
-# of the following regular expression constructs:
-#
-# \p{Word_Break=Newline}
-# \p{WB=NL}
-# \p{Is_Word_Break=Newline}
-# \p{Is_WB=NL}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: Newline}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-000B 000C # [2]
+000B 000C
0085
-2028 2029 # [2]
+2028 2029
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
index 342b4d35f3a..725769ea267 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
@@ -1,72 +1,50 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 402 code points in Unicode Version 5.2.0 that match
-# any of the following regular expression constructs:
-#
-# \p{Word_Break=Numeric}
-# \p{WB=NU}
-# \p{Is_Word_Break=Numeric}
-# \p{Is_WB=NU}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: Numeric}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0660 0669 # [10]
+0030 0039
+0660 0669
066B
-06F0 06F9 # [10]
-07C0 07C9 # [10]
-0966 096F # [10]
-09E6 09EF # [10]
-0A66 0A6F # [10]
-0AE6 0AEF # [10]
-0B66 0B6F # [10]
-0BE6 0BEF # [10]
-0C66 0C6F # [10]
-0CE6 0CEF # [10]
-0D66 0D6F # [10]
-0E50 0E59 # [10]
-0ED0 0ED9 # [10]
-0F20 0F29 # [10]
-1040 1049 # [10]
-1090 1099 # [10]
-17E0 17E9 # [10]
-1810 1819 # [10]
-1946 194F # [10]
-19D0 19DA # [11]
-1A80 1A89 # [10]
-1A90 1A99 # [10]
-1B50 1B59 # [10]
-1BB0 1BB9 # [10]
-1C40 1C49 # [10]
-1C50 1C59 # [10]
-A620 A629 # [10]
-A8D0 A8D9 # [10]
-A900 A909 # [10]
-A9D0 A9D9 # [10]
-AA50 AA59 # [10]
-ABF0 ABF9 # [10]
-104A0 104A9 # [10]
-1D7CE 1D7FF # [50]
+06F0 06F9
+07C0 07C9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE6 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+1090 1099
+17E0 17E9
+1810 1819
+1946 194F
+19D0 19D9
+1A80 1A89
+1A90 1A99
+1B50 1B59
+1BB0 1BB9
+1C40 1C49
+1C50 1C59
+A620 A629
+A8D0 A8D9
+A900 A909
+A9D0 A9D9
+AA50 AA59
+ABF0 ABF9
+104A0 104A9
+11066 1106F
+1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
index b63d6d76362..b0a233284be 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
@@ -1,376 +1,351 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_088_067 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{Word_Break=Other}
-# \p{WB=XX}
-# \p{Is_Word_Break=Other}
-# \p{Is_WB=XX}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_WB: Other}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0009 # [10]
-000E 0026 # [25]
-0028 002B # [4]
+0000 0009
+000E 0026
+0028 002B
002D
002F
-003C 0040 # [5]
-005B 005E # [4]
+003C 0040
+005B 005E
0060
-007B 0084 # [10]
-0086 00A9 # [36]
-00AB 00AC # [2]
-00AE 00B4 # [7]
+007B 0084
+0086 00A9
+00AB 00AC
+00AE 00B4
00B6
-00B8 00B9 # [2]
-00BB 00BF # [5]
+00B8 00B9
+00BB 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 02FF # [17]
+02EF 02FF
0375
-0378 0379 # [2]
-037F 0385 # [7]
+0378 0379
+037F 0385
038B
038D
03A2
03F6
0482
-0526 0530 # [11]
-0557 0558 # [2]
-055A 0560 # [7]
+0528 0530
+0557 0558
+055A 0560
0588
-058A 0590 # [7]
+058A 0590
05BE
05C0
05C3
05C6
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F5 05FF # [11]
-0604 060B # [8]
-060E 060F # [2]
-061B 0620 # [6]
-065F
+05C8 05CF
+05EB 05EF
+05F5 05FF
+0604 060B
+060E 060F
+061B 061F
066A
066D
06D4
+06DE
06E9
-06FD 06FE # [2]
-0700 070E # [15]
-074B 074C # [2]
-07B2 07BF # [14]
-07F6 07F7 # [2]
+06FD 06FE
+0700 070E
+074B 074C
+07B2 07BF
+07F6 07F7
07F9
-07FB 07FF # [5]
-082E 08FF # [210]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0964 0965 # [2]
+07FB 07FF
+082E 083F
+085C 08FF
+0964 0965
0970
-0973 0978 # [6]
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09F2 0A00 # [15]
+09E4 09E5
+09F2 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
-0AF0 0B00 # [17]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
+0AF0 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
+0B64 0B65
0B70
-0B72 0B81 # [16]
+0B72 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BF0 0C00 # [17]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BF0 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C81 # [18]
+0C5A 0C5F
+0C64 0C65
+0C70 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
-0CF0 0D01 # [18]
+0CE4 0CE5
+0CF0
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D70 0D79 # [10]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D70 0D79
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E30 # [61]
-0E32 0E33 # [2]
-0E3B 0E46 # [12]
+0DE0 0DF1
+0DF4 0E30
+0E32 0E33
+0E3B 0E46
0E4F
-0E5A 0EB0 # [87]
-0EB2 0EB3 # [2]
+0E5A 0EB0
+0EB2 0EB3
0EBA
-0EBD 0EC7 # [11]
-0ECE 0ECF # [2]
-0EDA 0EFF # [38]
-0F01 0F17 # [23]
-0F1A 0F1F # [6]
-0F2A 0F34 # [11]
+0EBD 0EC7
+0ECE 0ECF
+0EDA 0EFF
+0F01 0F17
+0F1A 0F1F
+0F2A 0F34
0F36
0F38
-0F3A 0F3D # [4]
+0F3A 0F3D
0F48
-0F6D 0F70 # [4]
+0F6D 0F70
0F85
-0F8C 0F8F # [4]
0F98
-0FBD 0FC5 # [9]
-0FC7 102A # [100]
+0FBD 0FC5
+0FC7 102A
103F
-104A 1055 # [12]
-105A 105D # [4]
+104A 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-109E 109F # [2]
-10C6 10CF # [10]
+109E 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-1360 137F # [32]
-1390 139F # [16]
-13F5 1400 # [12]
-166D 166E # [2]
+1316 1317
+135B 135C
+1360 137F
+1390 139F
+13F5 1400
+166D 166E
1680
-169B 169F # [5]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169B 169F
+16EB 16ED
+16F1 16FF
170D
-1715 171F # [11]
-1735 173F # [11]
-1754 175F # [12]
+1715 171F
+1735 173F
+1754 175F
176D
1771
-1774 17B3 # [64]
-17D4 17DC # [9]
-17DE 17DF # [2]
-17EA 180A # [33]
-180E 180F # [2]
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 1945 # [10]
-1950 19AF # [96]
-19C1 19C7 # [7]
-19CA 19CF # [6]
-19DB 19FF # [37]
-1A1C 1A54 # [57]
+1774 17B3
+17D4 17DC
+17DE 17DF
+17EA 180A
+180E 180F
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 1945
+1950 19AF
+19C1 19C7
+19CA 19CF
+19DA 19FF
+1A1C 1A54
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1AFF # [102]
-1B4C 1B4F # [4]
-1B5A 1B6A # [17]
-1B74 1B7F # [12]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3F # [8]
-1C4A 1C4C # [3]
-1C7E 1CCF # [82]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1AFF
+1B4C 1B4F
+1B5A 1B6A
+1B74 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFF
+1C38 1C3F
+1C4A 1C4C
+1C7E 1CCF
1CD3
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 200B # [15]
-2010 2017 # [8]
-201A 2023 # [10]
-2025 2026 # [2]
-202F 203E # [16]
-2041 2043 # [3]
-2045 2053 # [15]
-2055 205F # [11]
-2065 2069 # [5]
+1FFD 200B
+2010 2017
+201A 2023
+2025 2026
+202F 203E
+2041 2043
+2045 2053
+2055 205F
+2065 2069
2070
-2072 207E # [13]
-2080 208F # [16]
-2095 20CF # [59]
-20F1 2101 # [17]
-2103 2106 # [4]
-2108 2109 # [2]
+2072 207E
+2080 208F
+209D 20CF
+20F1 2101
+2103 2106
+2108 2109
2114
-2116 2118 # [3]
-211E 2123 # [6]
+2116 2118
+211E 2123
2125
2127
2129
212E
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 24B5 # [813]
-24EA 2BFF # [1814]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 24B5
+24EA 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CF2 2CFF # [14]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CF2 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -379,163 +354,173 @@ return <<'END';
2DCF
2DD7
2DDF
-2E00 2E2E # [47]
-2E30 3004 # [469]
-3006 3029 # [36]
+2E00 2E2E
+2E30 3004
+3006 3029
3030
-3036 303A # [5]
-303D 3098 # [92]
-309D 309F # [3]
+3036 303A
+303D 3098
+309D 309F
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 32CF # [208]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 32CF
32FF
-3358 9FFF # [27_816]
-A48D A4CF # [67]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A62C A63F # [20]
-A660 A661 # [2]
-A673 A67B # [9]
+3358 9FFF
+A48D A4CF
+A4FE A4FF
+A60D A60F
+A62C A63F
+A673 A67B
A67E
-A698 A69F # [8]
-A6F2 A716 # [37]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
-A828 A83F # [24]
-A874 A87F # [12]
-A8C5 A8CF # [11]
-A8DA A8DF # [6]
-A8F8 A8FA # [3]
-A8FC A8FF # [4]
-A92E A92F # [2]
-A954 A95F # [12]
-A97D A97F # [3]
-A9C1 A9CE # [14]
-A9DA A9FF # [38]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA7A # [33]
-AA7C AAAF # [52]
+A698 A69F
+A6F2 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
+A828 A83F
+A874 A87F
+A8C5 A8CF
+A8DA A8DF
+A8F8 A8FA
+A8FC A8FF
+A92E A92F
+A954 A95F
+A97D A97F
+A9C1 A9CE
+A9DA A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA7A
+AA7C AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 ABBF # [254]
+AAC2 AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
ABEB
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC FAFF # [8964]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC FAFF
+FB07 FB12
+FB18 FB1C
FB29
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFC FDFF # [4]
-FE11 FE12 # [2]
-FE15 FE1F # [11]
-FE27 FE32 # [12]
-FE35 FE4C # [24]
+FBB2 FBD2
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFC FDFF
+FE11 FE12
+FE15 FE1F
+FE27 FE32
+FE35 FE4C
FE51
FE53
-FE56 FE6F # [26]
+FE56 FE6F
FE75
-FEFD FEFE # [2]
-FF00 FF06 # [7]
-FF08 FF0B # [4]
+FEFD FEFE
+FF00 FF06
+FF08 FF0B
FF0D
-FF0F FF19 # [11]
-FF1C FF20 # [5]
-FF3B FF3E # [4]
+FF0F FF19
+FF1C FF20
+FF3B FF3E
FF40
-FF5B FF65 # [11]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFF8 # [28]
-FFFC FFFF # [4]
+FF5B FF65
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFF8
+FFFC FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 101FC # [136]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 101FC
+101FE 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A40 10A5F # [32]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 1107F # [1079]
-110BB 110BC # [2]
-110BE 11FFF # [3906]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D164 # [40_246]
-1D16A 1D16C # [3]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 1D3FF # [443]
+10A34 10A37
+10A3B 10A3E
+10A40 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 10FFF
+11047 11065
+11070 1107F
+110BB 110BC
+110BE 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B001 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -546,9 +531,9 @@ FFFC FFFF # [4]
1D789
1D7A9
1D7C3
-1D7CC 1D7CD # [2]
-1D800 E0000 # [796_673]
-E0002 E001F # [30]
-E0080 E00FF # [128]
-E01F0 10FFFF # [196_112]
+1D7CC 1D7CD
+1D800 E0000
+E0002 E001F
+E0080 E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl
index 57d694b9f1e..ce5bd817daa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl
@@ -1,375 +1,344 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_012_497 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{XID_Continue=No}
-# \p{XIDC=N}
-# \p{Is_XID_Continue=F}
-# \p{Is_XIDC=False}
-#
-# \P{XID_Continue}
-# \P{Is_XID_Continue}
-# \P{XIDC}
-# \P{Is_XIDC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_XIDC: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 002F # [48]
-003A 0040 # [7]
-005B 005E # [4]
+0000 002F
+003A 0040
+005B 005E
0060
-007B 00A9 # [47]
-00AB 00B4 # [10]
+007B 00A9
+00AB 00B4
00B6
-00B8 00B9 # [2]
-00BB 00BF # [5]
+00B8 00B9
+00BB 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 02FF # [17]
+02EF 02FF
0375
-0378 037A # [3]
-037E 0385 # [8]
+0378 037A
+037E 0385
038B
038D
03A2
03F6
0482
-0488 0489 # [2]
-0526 0530 # [11]
-0557 0558 # [2]
-055A 0560 # [7]
-0588 0590 # [9]
+0488 0489
+0528 0530
+0557 0558
+055A 0560
+0588 0590
05BE
05C0
05C3
05C6
-05C8 05CF # [8]
-05EB 05EF # [5]
-05F3 060F # [29]
-061B 0620 # [6]
-065F
-066A 066D # [4]
+05C8 05CF
+05EB 05EF
+05F3 060F
+061B 061F
+066A 066D
06D4
-06DD 06DE # [2]
+06DD 06DE
06E9
-06FD 06FE # [2]
-0700 070F # [16]
-074B 074C # [2]
-07B2 07BF # [14]
-07F6 07F9 # [4]
-07FB 07FF # [5]
-082E 08FF # [210]
-093A 093B # [2]
-094F
-0956 0957 # [2]
-0964 0965 # [2]
+06FD 06FE
+0700 070F
+074B 074C
+07B2 07BF
+07F6 07F9
+07FB 07FF
+082E 083F
+085C 08FF
+0964 0965
0970
-0973 0978 # [6]
+0978
0980
0984
-098D 098E # [2]
-0991 0992 # [2]
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BB # [2]
-09C5 09C6 # [2]
-09C9 09CA # [2]
-09CF 09D6 # [8]
-09D8 09DB # [4]
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CF 09D6
+09D8 09DB
09DE
-09E4 09E5 # [2]
-09F2 0A00 # [15]
+09E4 09E5
+09F2 0A00
0A04
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A3B # [2]
+0A3A 0A3B
0A3D
-0A43 0A46 # [4]
-0A49 0A4A # [2]
-0A4E 0A50 # [3]
-0A52 0A58 # [7]
+0A43 0A46
+0A49 0A4A
+0A4E 0A50
+0A52 0A58
0A5D
-0A5F 0A65 # [7]
-0A76 0A80 # [11]
+0A5F 0A65
+0A76 0A80
0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABB # [2]
+0ABA 0ABB
0AC6
0ACA
-0ACE 0ACF # [2]
-0AD1 0ADF # [15]
-0AE4 0AE5 # [2]
-0AF0 0B00 # [17]
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
+0AF0 0B00
0B04
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3B # [2]
-0B45 0B46 # [2]
-0B49 0B4A # [2]
-0B4E 0B55 # [8]
-0B58 0B5B # [4]
+0B3A 0B3B
+0B45 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
0B5E
-0B64 0B65 # [2]
+0B64 0B65
0B70
-0B72 0B81 # [16]
+0B72 0B81
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BBD # [4]
-0BC3 0BC5 # [3]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BBD
+0BC3 0BC5
0BC9
-0BCE 0BCF # [2]
-0BD1 0BD6 # [6]
-0BD8 0BE5 # [14]
-0BF0 0C00 # [17]
+0BCE 0BCF
+0BD1 0BD6
+0BD8 0BE5
+0BF0 0C00
0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
+0C3A 0C3C
0C45
0C49
-0C4E 0C54 # [7]
+0C4E 0C54
0C57
-0C5A 0C5F # [6]
-0C64 0C65 # [2]
-0C70 0C81 # [18]
+0C5A 0C5F
+0C64 0C65
+0C70 0C81
0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBB # [2]
+0CBA 0CBB
0CC5
0CC9
-0CCE 0CD4 # [7]
-0CD7 0CDD # [7]
+0CCE 0CD4
+0CD7 0CDD
0CDF
-0CE4 0CE5 # [2]
-0CF0 0D01 # [18]
+0CE4 0CE5
+0CF0
+0CF3 0D01
0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
+0D3B 0D3C
0D45
0D49
-0D4E 0D56 # [9]
-0D58 0D5F # [8]
-0D64 0D65 # [2]
-0D70 0D79 # [10]
-0D80 0D81 # [2]
+0D4F 0D56
+0D58 0D5F
+0D64 0D65
+0D70 0D79
+0D80 0D81
0D84
-0D97 0D99 # [3]
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0DC9 # [3]
-0DCB 0DCE # [4]
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
0DD5
0DD7
-0DE0 0DF1 # [18]
-0DF4 0E00 # [13]
-0E3B 0E3F # [5]
+0DE0 0DF1
+0DF4 0E00
+0E3B 0E3F
0E4F
-0E5A 0E80 # [39]
+0E5A 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EBA
-0EBE 0EBF # [2]
+0EBE 0EBF
0EC5
0EC7
-0ECE 0ECF # [2]
-0EDA 0EDB # [2]
-0EDE 0EFF # [34]
-0F01 0F17 # [23]
-0F1A 0F1F # [6]
-0F2A 0F34 # [11]
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
+0F01 0F17
+0F1A 0F1F
+0F2A 0F34
0F36
0F38
-0F3A 0F3D # [4]
+0F3A 0F3D
0F48
-0F6D 0F70 # [4]
+0F6D 0F70
0F85
-0F8C 0F8F # [4]
0F98
-0FBD 0FC5 # [9]
-0FC7 0FFF # [57]
-104A 104F # [6]
-109E 109F # [2]
-10C6 10CF # [10]
+0FBD 0FC5
+0FC7 0FFF
+104A 104F
+109E 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 135E # [4]
-1360 1368 # [9]
-1372 137F # [14]
-1390 139F # [16]
-13F5 1400 # [12]
-166D 166E # [2]
+1316 1317
+135B 135C
+1360 1368
+1372 137F
+1390 139F
+13F5 1400
+166D 166E
1680
-169B 169F # [5]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169B 169F
+16EB 16ED
+16F1 16FF
170D
-1715 171F # [11]
-1735 173F # [11]
-1754 175F # [12]
+1715 171F
+1735 173F
+1754 175F
176D
1771
-1774 177F # [12]
-17B4 17B5 # [2]
-17D4 17D6 # [3]
-17D8 17DB # [4]
-17DE 17DF # [2]
-17EA 180A # [33]
-180E 180F # [2]
-181A 181F # [6]
-1878 187F # [8]
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 191F # [3]
-192C 192F # [4]
-193C 1945 # [10]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19AF # [4]
-19CA 19CF # [6]
-19DB 19FF # [37]
-1A1C 1A1F # [4]
+1774 177F
+17B4 17B5
+17D4 17D6
+17D8 17DB
+17DE 17DF
+17EA 180A
+180E 180F
+181A 181F
+1878 187F
+18AB 18AF
+18F6 18FF
+191D 191F
+192C 192F
+193C 1945
+196E 196F
+1975 197F
+19AC 19AF
+19CA 19CF
+19DB 19FF
+1A1C 1A1F
1A5F
-1A7D 1A7E # [2]
-1A8A 1A8F # [6]
-1A9A 1AA6 # [13]
-1AA8 1AFF # [88]
-1B4C 1B4F # [4]
-1B5A 1B6A # [17]
-1B74 1B7F # [12]
-1BAB 1BAD # [3]
-1BBA 1BFF # [70]
-1C38 1C3F # [8]
-1C4A 1C4C # [3]
-1C7E 1CCF # [82]
+1A7D 1A7E
+1A8A 1A8F
+1A9A 1AA6
+1AA8 1AFF
+1B4C 1B4F
+1B5A 1B6A
+1B74 1B7F
+1BAB 1BAD
+1BBA 1BBF
+1BF4 1BFF
+1C38 1C3F
+1C4A 1C4C
+1C7E 1CCF
1CD3
-1CF3 1CFF # [13]
-1DE7 1DFC # [22]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF3 1CFF
+1DE7 1DFB
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 203E # [66]
-2041 2053 # [19]
-2055 2070 # [28]
-2072 207E # [13]
-2080 208F # [16]
-2095 20CF # [59]
-20DD 20E0 # [4]
-20E2 20E4 # [3]
-20F1 2101 # [17]
-2103 2106 # [4]
-2108 2109 # [2]
+1FFD 203E
+2041 2053
+2055 2070
+2072 207E
+2080 208F
+209D 20CF
+20DD 20E0
+20E2 20E4
+20F1 2101
+2103 2106
+2108 2109
2114
-2116 2117 # [2]
-211E 2123 # [6]
+2116 2117
+211E 2123
2125
2127
2129
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 2BFF # [2679]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CF2 2CFF # [14]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CF2 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7E
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -378,163 +347,173 @@ return <<'END';
2DCF
2DD7
2DDF
-2E00 3004 # [517]
-3008 3020 # [25]
+2E00 3004
+3008 3020
3030
-3036 3037 # [2]
-303D 3040 # [4]
-3097 3098 # [2]
-309B 309C # [2]
+3036 3037
+303D 3040
+3097 3098
+309B 309C
30A0
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 33FF # [512]
-4DB6 4DFF # [74]
-9FCC 9FFF # [52]
-A48D A4CF # [67]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A62C A63F # [20]
-A660 A661 # [2]
-A670 A67B # [12]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 33FF
+4DB6 4DFF
+9FCC 9FFF
+A48D A4CF
+A4FE A4FF
+A60D A60F
+A62C A63F
+A670 A67B
A67E
-A698 A69F # [8]
-A6F2 A716 # [37]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
-A828 A83F # [24]
-A874 A87F # [12]
-A8C5 A8CF # [11]
-A8DA A8DF # [6]
-A8F8 A8FA # [3]
-A8FC A8FF # [4]
-A92E A92F # [2]
-A954 A95F # [12]
-A97D A97F # [3]
-A9C1 A9CE # [14]
-A9DA A9FF # [38]
-AA37 AA3F # [9]
-AA4E AA4F # [2]
-AA5A AA5F # [6]
-AA77 AA79 # [3]
-AA7C AA7F # [4]
-AAC3 AADA # [24]
-AADE ABBF # [226]
+A698 A69F
+A6F2 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
+A828 A83F
+A874 A87F
+A8C5 A8CF
+A8DA A8DF
+A8F8 A8FA
+A8FC A8FF
+A92E A92F
+A954 A95F
+A97D A97F
+A9C1 A9CE
+A9DA A9FF
+AA37 AA3F
+AA4E AA4F
+AA5A AA5F
+AA77 AA79
+AA7C AA7F
+AAC3 AADA
+AADE AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
ABEB
-ABEE ABEF # [2]
-ABFA ABFF # [6]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+ABEE ABEF
+ABFA ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB29
FB37
FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FC5E FC63 # [6]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFA FDFF # [6]
-FE10 FE1F # [16]
-FE27 FE32 # [12]
-FE35 FE4C # [24]
-FE50 FE70 # [33]
+FBB2 FBD2
+FC5E FC63
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFA FDFF
+FE10 FE1F
+FE27 FE32
+FE35 FE4C
+FE50 FE70
FE72
-FE74 FE76 # [3]
+FE74 FE76
FE78
FE7A
FE7C
FE7E
-FEFD FF0F # [19]
-FF1A FF20 # [7]
-FF3B FF3E # [4]
+FEFD FF0F
+FF1A FF20
+FF3B FF3E
FF40
-FF5B FF65 # [11]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFFF # [35]
+FF5B FF65
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 101FC # [136]
-101FE 1027F # [130]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 101FC
+101FE 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 1049F # [2]
-104AA 107FF # [854]
-10806 10807 # [2]
+103D6 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
10A04
-10A07 10A0B # [5]
+10A07 10A0B
10A14
10A18
-10A34 10A37 # [4]
-10A3B 10A3E # [4]
-10A40 10A5F # [32]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 1107F # [1079]
-110BB 11FFF # [3909]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D164 # [40_246]
-1D16A 1D16C # [3]
-1D173 1D17A # [8]
-1D183 1D184 # [2]
-1D18C 1D1A9 # [30]
-1D1AE 1D241 # [148]
-1D245 1D3FF # [443]
+10A34 10A37
+10A3B 10A3E
+10A40 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 10FFF
+11047 11065
+11070 1107F
+110BB 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1D164
+1D16A 1D16C
+1D173 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D241
+1D245 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -545,10 +524,11 @@ FFDD FFFF # [35]
1D789
1D7A9
1D7C3
-1D7CC 1D7CD # [2]
-1D800 1FFFF # [10_240]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E E00FF # [722_658]
-E01F0 10FFFF # [196_112]
+1D7CC 1D7CD
+1D800 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E E00FF
+E01F0 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
index cea3d74ea47..b70b46d150c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
@@ -1,553 +1,533 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 101_615 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{XID_Continue=Yes}
-# \p{XIDC=Y}
-# \p{Is_XID_Continue=T}
-# \p{Is_XIDC=True}
-#
-# \p{XID_Continue}
-# \p{Is_XID_Continue}
-# \p{XIDC}
-# \p{Is_XIDC}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_XIDC: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0030 0039 # [10]
-0041 005A # [26]
+0030 0039
+0041 005A
005F
-0061 007A # [26]
+0061 007A
00AA
00B5
00B7
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0300 0374 # [117]
-0376 0377 # [2]
-037B 037D # [3]
-0386 038A # [5]
+0300 0374
+0376 0377
+037B 037D
+0386 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-0483 0487 # [5]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+0483 0487
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-0591 05BD # [45]
+0561 0587
+0591 05BD
05BF
-05C1 05C2 # [2]
-05C4 05C5 # [2]
+05C1 05C2
+05C4 05C5
05C7
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0610 061A # [11]
-0621 065E # [62]
-0660 0669 # [10]
-066E 06D3 # [102]
-06D5 06DC # [8]
-06DF 06E8 # [10]
-06EA 06FC # [19]
+05D0 05EA
+05F0 05F2
+0610 061A
+0620 0669
+066E 06D3
+06D5 06DC
+06DF 06E8
+06EA 06FC
06FF
-0710 074A # [59]
-074D 07B1 # [101]
-07C0 07F5 # [54]
+0710 074A
+074D 07B1
+07C0 07F5
07FA
-0800 082D # [46]
-0900 0939 # [58]
-093C 094E # [19]
-0950 0955 # [6]
-0958 0963 # [12]
-0966 096F # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0981 0983 # [3]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0800 082D
+0840 085B
+0900 0963
+0966 096F
+0971 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
-09BC 09C4 # [9]
-09C7 09C8 # [2]
-09CB 09CE # [4]
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
09D7
-09DC 09DD # [2]
-09DF 09E3 # [5]
-09E6 09F1 # [12]
-0A01 0A03 # [3]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
+09DC 09DD
+09DF 09E3
+09E6 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
0A3C
-0A3E 0A42 # [5]
-0A47 0A48 # [2]
-0A4B 0A4D # [3]
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
0A51
-0A59 0A5C # [4]
+0A59 0A5C
0A5E
-0A66 0A75 # [16]
-0A81 0A83 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
-0ABC 0AC5 # [10]
-0AC7 0AC9 # [3]
-0ACB 0ACD # [3]
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
0AD0
-0AE0 0AE3 # [4]
-0AE6 0AEF # [10]
-0B01 0B03 # [3]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
-0B3C 0B44 # [9]
-0B47 0B48 # [2]
-0B4B 0B4D # [3]
-0B56 0B57 # [2]
-0B5C 0B5D # [2]
-0B5F 0B63 # [5]
-0B66 0B6F # [10]
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B6F
0B71
-0B82 0B83 # [2]
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
-0BBE 0BC2 # [5]
-0BC6 0BC8 # [3]
-0BCA 0BCD # [4]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
0BD0
0BD7
-0BE6 0BEF # [10]
-0C01 0C03 # [3]
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
-0C3D 0C44 # [8]
-0C46 0C48 # [3]
-0C4A 0C4D # [4]
-0C55 0C56 # [2]
-0C58 0C59 # [2]
-0C60 0C63 # [4]
-0C66 0C6F # [10]
-0C82 0C83 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
-0CBC 0CC4 # [9]
-0CC6 0CC8 # [3]
-0CCA 0CCD # [4]
-0CD5 0CD6 # [2]
+0BE6 0BEF
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
0CDE
-0CE0 0CE3 # [4]
-0CE6 0CEF # [10]
-0D02 0D03 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
-0D3D 0D44 # [8]
-0D46 0D48 # [3]
-0D4A 0D4D # [4]
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
0D57
-0D60 0D63 # [4]
-0D66 0D6F # [10]
-0D7A 0D7F # [6]
-0D82 0D83 # [2]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D60 0D63
+0D66 0D6F
+0D7A 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
+0DC0 0DC6
0DCA
-0DCF 0DD4 # [6]
+0DCF 0DD4
0DD6
-0DD8 0DDF # [8]
-0DF2 0DF3 # [2]
-0E01 0E3A # [58]
-0E40 0E4E # [15]
-0E50 0E59 # [10]
-0E81 0E82 # [2]
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E50 0E59
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB9 # [13]
-0EBB 0EBD # [3]
-0EC0 0EC4 # [5]
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
0EC6
-0EC8 0ECD # [6]
-0ED0 0ED9 # [10]
-0EDC 0EDD # [2]
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
0F00
-0F18 0F19 # [2]
-0F20 0F29 # [10]
+0F18 0F19
+0F20 0F29
0F35
0F37
0F39
-0F3E 0F47 # [10]
-0F49 0F6C # [36]
-0F71 0F84 # [20]
-0F86 0F8B # [6]
-0F90 0F97 # [8]
-0F99 0FBC # [36]
+0F3E 0F47
+0F49 0F6C
+0F71 0F84
+0F86 0F97
+0F99 0FBC
0FC6
-1000 1049 # [74]
-1050 109D # [78]
-10A0 10C5 # [38]
-10D0 10FA # [43]
+1000 1049
+1050 109D
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-135F
-1369 1371 # [9]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1714 # [7]
-1720 1734 # [21]
-1740 1753 # [20]
-1760 176C # [13]
-176E 1770 # [3]
-1772 1773 # [2]
-1780 17B3 # [52]
-17B6 17D3 # [30]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 135F
+1369 1371
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
17D7
-17DC 17DD # [2]
-17E0 17E9 # [10]
-180B 180D # [3]
-1810 1819 # [10]
-1820 1877 # [88]
-1880 18AA # [43]
-18B0 18F5 # [70]
-1900 191C # [29]
-1920 192B # [12]
-1930 193B # [12]
-1946 196D # [40]
-1970 1974 # [5]
-1980 19AB # [44]
-19B0 19C9 # [26]
-19D0 19DA # [11]
-1A00 1A1B # [28]
-1A20 1A5E # [63]
-1A60 1A7C # [29]
-1A7F 1A89 # [11]
-1A90 1A99 # [10]
+17DC 17DD
+17E0 17E9
+180B 180D
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
+1946 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+1A00 1A1B
+1A20 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
1AA7
-1B00 1B4B # [76]
-1B50 1B59 # [10]
-1B6B 1B73 # [9]
-1B80 1BAA # [43]
-1BAE 1BB9 # [12]
-1C00 1C37 # [56]
-1C40 1C49 # [10]
-1C4D 1C7D # [49]
-1CD0 1CD2 # [3]
-1CD4 1CF2 # [31]
-1D00 1DE6 # [231]
-1DFD 1F15 # [281]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B00 1B4B
+1B50 1B59
+1B6B 1B73
+1B80 1BAA
+1BAE 1BB9
+1BC0 1BF3
+1C00 1C37
+1C40 1C49
+1C4D 1C7D
+1CD0 1CD2
+1CD4 1CF2
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
-203F 2040 # [2]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+203F 2040
2054
2071
207F
-2090 2094 # [5]
-20D0 20DC # [13]
+2090 209C
+20D0 20DC
20E1
-20E5 20F0 # [12]
+20E5 20F0
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2118 211D # [6]
+2118 211D
2124
2126
2128
-212A 2139 # [16]
-213C 213F # [4]
-2145 2149 # [5]
+212A 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CF1 # [7]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CF1
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-2DE0 2DFF # [32]
-3005 3007 # [3]
-3021 302F # [15]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-3099 309A # [2]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A62B # [28]
-A640 A65F # [32]
-A662 A66F # [14]
-A67C A67D # [2]
-A67F A697 # [25]
-A6A0 A6F1 # [82]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A827 # [45]
-A840 A873 # [52]
-A880 A8C4 # [69]
-A8D0 A8D9 # [10]
-A8E0 A8F7 # [24]
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2DFF
+3005 3007
+3021 302F
+3031 3035
+3038 303C
+3041 3096
+3099 309A
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A62B
+A640 A66F
+A67C A67D
+A67F A697
+A6A0 A6F1
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A827
+A840 A873
+A880 A8C4
+A8D0 A8D9
+A8E0 A8F7
A8FB
-A900 A92D # [46]
-A930 A953 # [36]
-A960 A97C # [29]
-A980 A9C0 # [65]
-A9CF A9D9 # [11]
-AA00 AA36 # [55]
-AA40 AA4D # [14]
-AA50 AA59 # [10]
-AA60 AA76 # [23]
-AA7A AA7B # [2]
-AA80 AAC2 # [67]
-AADB AADD # [3]
-ABC0 ABEA # [43]
-ABEC ABED # [2]
-ABF0 ABF9 # [10]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
-FB1D FB28 # [12]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+A900 A92D
+A930 A953
+A960 A97C
+A980 A9C0
+A9CF A9D9
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA60 AA76
+AA7A AA7B
+AA80 AAC2
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABEA
+ABEC ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FC5D # [139]
-FC64 FD3D # [218]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDF9 # [10]
-FE00 FE0F # [16]
-FE20 FE26 # [7]
-FE33 FE34 # [2]
-FE4D FE4F # [3]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FC5D
+FC64 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDF9
+FE00 FE0F
+FE20 FE26
+FE33 FE34
+FE4D FE4F
FE71
FE73
FE77
FE79
FE7B
FE7D
-FE7F FEFC # [126]
-FF10 FF19 # [10]
-FF21 FF3A # [26]
+FE7F FEFC
+FF10 FF19
+FF21 FF3A
FF3F
-FF41 FF5A # [26]
-FF66 FFBE # [89]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
101FD
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-104A0 104A9 # [10]
-10800 10805 # [6]
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+104A0 104A9
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
-10A00 10A03 # [4]
-10A05 10A06 # [2]
-10A0C 10A13 # [8]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A38 10A3A # [3]
+1083F 10855
+10900 10915
+10920 10939
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
10A3F
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11080 110BA # [59]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D165 1D169 # [5]
-1D16D 1D172 # [6]
-1D17B 1D182 # [8]
-1D185 1D18B # [7]
-1D1AA 1D1AD # [4]
-1D242 1D244 # [3]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11000 11046
+11066 1106F
+11080 110BA
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D242 1D244
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-1D7CE 1D7FF # [50]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
-E0100 E01EF # [240]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+1D7CE 1D7FF
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+E0100 E01EF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl
index 82c4e4f802d..1e17a82d3dd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl
@@ -1,307 +1,282 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 1_014_371 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{XID_Start=No}
-# \p{XIDS=N}
-# \p{Is_XID_Start=F}
-# \p{Is_XIDS=False}
-#
-# \P{XID_Start}
-# \P{Is_XID_Start}
-# \P{XIDS}
-# \P{Is_XIDS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_XIDS: No}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0000 0040 # [65]
-005B 0060 # [6]
-007B 00A9 # [47]
-00AB 00B4 # [10]
-00B6 00B9 # [4]
-00BB 00BF # [5]
+0000 0040
+005B 0060
+007B 00A9
+00AB 00B4
+00B6 00B9
+00BB 00BF
00D7
00F7
-02C2 02C5 # [4]
-02D2 02DF # [14]
-02E5 02EB # [7]
+02C2 02C5
+02D2 02DF
+02E5 02EB
02ED
-02EF 036F # [129]
+02EF 036F
0375
-0378 037A # [3]
-037E 0385 # [8]
+0378 037A
+037E 0385
0387
038B
038D
03A2
03F6
-0482 0489 # [8]
-0526 0530 # [11]
-0557 0558 # [2]
-055A 0560 # [7]
-0588 05CF # [72]
-05EB 05EF # [5]
-05F3 0620 # [46]
-064B 066D # [35]
+0482 0489
+0528 0530
+0557 0558
+055A 0560
+0588 05CF
+05EB 05EF
+05F3 061F
+064B 066D
0670
06D4
-06D6 06E4 # [15]
-06E7 06ED # [7]
-06F0 06F9 # [10]
-06FD 06FE # [2]
-0700 070F # [16]
+06D6 06E4
+06E7 06ED
+06F0 06F9
+06FD 06FE
+0700 070F
0711
-0730 074C # [29]
-07A6 07B0 # [11]
-07B2 07C9 # [24]
-07EB 07F3 # [9]
-07F6 07F9 # [4]
-07FB 07FF # [5]
-0816 0819 # [4]
-081B 0823 # [9]
-0825 0827 # [3]
-0829 0903 # [219]
-093A 093C # [3]
-093E 094F # [18]
-0951 0957 # [7]
-0962 0970 # [15]
-0973 0978 # [6]
-0980 0984 # [5]
-098D 098E # [2]
-0991 0992 # [2]
+0730 074C
+07A6 07B0
+07B2 07C9
+07EB 07F3
+07F6 07F9
+07FB 07FF
+0816 0819
+081B 0823
+0825 0827
+0829 083F
+0859 0903
+093A 093C
+093E 094F
+0951 0957
+0962 0970
+0978
+0980 0984
+098D 098E
+0991 0992
09A9
09B1
-09B3 09B5 # [3]
-09BA 09BC # [3]
-09BE 09CD # [16]
-09CF 09DB # [13]
+09B3 09B5
+09BA 09BC
+09BE 09CD
+09CF 09DB
09DE
-09E2 09EF # [14]
-09F2 0A04 # [19]
-0A0B 0A0E # [4]
-0A11 0A12 # [2]
+09E2 09EF
+09F2 0A04
+0A0B 0A0E
+0A11 0A12
0A29
0A31
0A34
0A37
-0A3A 0A58 # [31]
+0A3A 0A58
0A5D
-0A5F 0A71 # [19]
-0A75 0A84 # [16]
+0A5F 0A71
+0A75 0A84
0A8E
0A92
0AA9
0AB1
0AB4
-0ABA 0ABC # [3]
-0ABE 0ACF # [18]
-0AD1 0ADF # [15]
-0AE2 0B04 # [35]
-0B0D 0B0E # [2]
-0B11 0B12 # [2]
+0ABA 0ABC
+0ABE 0ACF
+0AD1 0ADF
+0AE2 0B04
+0B0D 0B0E
+0B11 0B12
0B29
0B31
0B34
-0B3A 0B3C # [3]
-0B3E 0B5B # [30]
+0B3A 0B3C
+0B3E 0B5B
0B5E
-0B62 0B70 # [15]
-0B72 0B82 # [17]
+0B62 0B70
+0B72 0B82
0B84
-0B8B 0B8D # [3]
+0B8B 0B8D
0B91
-0B96 0B98 # [3]
+0B96 0B98
0B9B
0B9D
-0BA0 0BA2 # [3]
-0BA5 0BA7 # [3]
-0BAB 0BAD # [3]
-0BBA 0BCF # [22]
-0BD1 0C04 # [52]
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BBA 0BCF
+0BD1 0C04
0C0D
0C11
0C29
0C34
-0C3A 0C3C # [3]
-0C3E 0C57 # [26]
-0C5A 0C5F # [6]
-0C62 0C84 # [35]
+0C3A 0C3C
+0C3E 0C57
+0C5A 0C5F
+0C62 0C84
0C8D
0C91
0CA9
0CB4
-0CBA 0CBC # [3]
-0CBE 0CDD # [32]
+0CBA 0CBC
+0CBE 0CDD
0CDF
-0CE2 0D04 # [35]
+0CE2 0CF0
+0CF3 0D04
0D0D
0D11
-0D29
-0D3A 0D3C # [3]
-0D3E 0D5F # [34]
-0D62 0D79 # [24]
-0D80 0D84 # [5]
-0D97 0D99 # [3]
+0D3B 0D3C
+0D3E 0D4D
+0D4F 0D5F
+0D62 0D79
+0D80 0D84
+0D97 0D99
0DB2
0DBC
-0DBE 0DBF # [2]
-0DC7 0E00 # [58]
+0DBE 0DBF
+0DC7 0E00
0E31
-0E33 0E3F # [13]
-0E47 0E80 # [58]
+0E33 0E3F
+0E47 0E80
0E83
-0E85 0E86 # [2]
+0E85 0E86
0E89
-0E8B 0E8C # [2]
-0E8E 0E93 # [6]
+0E8B 0E8C
+0E8E 0E93
0E98
0EA0
0EA4
0EA6
-0EA8 0EA9 # [2]
+0EA8 0EA9
0EAC
0EB1
-0EB3 0EBC # [10]
-0EBE 0EBF # [2]
+0EB3 0EBC
+0EBE 0EBF
0EC5
-0EC7 0EDB # [21]
-0EDE 0EFF # [34]
-0F01 0F3F # [63]
+0EC7 0EDB
+0EDE 0EFF
+0F01 0F3F
0F48
-0F6D 0F87 # [27]
-0F8C 0FFF # [116]
-102B 103E # [20]
-1040 104F # [16]
-1056 1059 # [4]
-105E 1060 # [3]
-1062 1064 # [3]
-1067 106D # [7]
-1071 1074 # [4]
-1082 108D # [12]
-108F 109F # [17]
-10C6 10CF # [10]
+0F6D 0F87
+0F8D 0FFF
+102B 103E
+1040 104F
+1056 1059
+105E 1060
+1062 1064
+1067 106D
+1071 1074
+1082 108D
+108F 109F
+10C6 10CF
10FB
-10FD 10FF # [3]
+10FD 10FF
1249
-124E 124F # [2]
+124E 124F
1257
1259
-125E 125F # [2]
+125E 125F
1289
-128E 128F # [2]
+128E 128F
12B1
-12B6 12B7 # [2]
+12B6 12B7
12BF
12C1
-12C6 12C7 # [2]
+12C6 12C7
12D7
1311
-1316 1317 # [2]
-135B 137F # [37]
-1390 139F # [16]
-13F5 1400 # [12]
-166D 166E # [2]
+1316 1317
+135B 137F
+1390 139F
+13F5 1400
+166D 166E
1680
-169B 169F # [5]
-16EB 16ED # [3]
-16F1 16FF # [15]
+169B 169F
+16EB 16ED
+16F1 16FF
170D
-1712 171F # [14]
-1732 173F # [14]
-1752 175F # [14]
+1712 171F
+1732 173F
+1752 175F
176D
-1771 177F # [15]
-17B4 17D6 # [35]
-17D8 17DB # [4]
-17DD 181F # [67]
-1878 187F # [8]
+1771 177F
+17B4 17D6
+17D8 17DB
+17DD 181F
+1878 187F
18A9
-18AB 18AF # [5]
-18F6 18FF # [10]
-191D 194F # [51]
-196E 196F # [2]
-1975 197F # [11]
-19AC 19C0 # [21]
-19C8 19FF # [56]
-1A17 1A1F # [9]
-1A55 1AA6 # [82]
-1AA8 1B04 # [93]
-1B34 1B44 # [17]
-1B4C 1B82 # [55]
-1BA1 1BAD # [13]
-1BB0 1BFF # [80]
-1C24 1C4C # [41]
-1C50 1C59 # [10]
-1C7E 1CE8 # [107]
+18AB 18AF
+18F6 18FF
+191D 194F
+196E 196F
+1975 197F
+19AC 19C0
+19C8 19FF
+1A17 1A1F
+1A55 1AA6
+1AA8 1B04
+1B34 1B44
+1B4C 1B82
+1BA1 1BAD
+1BB0 1BBF
+1BE6 1BFF
+1C24 1C4C
+1C50 1C59
+1C7E 1CE8
1CED
-1CF2 1CFF # [14]
-1DC0 1DFF # [64]
-1F16 1F17 # [2]
-1F1E 1F1F # [2]
-1F46 1F47 # [2]
-1F4E 1F4F # [2]
+1CF2 1CFF
+1DC0 1DFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
1F58
1F5A
1F5C
1F5E
-1F7E 1F7F # [2]
+1F7E 1F7F
1FB5
1FBD
-1FBF 1FC1 # [3]
+1FBF 1FC1
1FC5
-1FCD 1FCF # [3]
-1FD4 1FD5 # [2]
-1FDC 1FDF # [4]
-1FED 1FF1 # [5]
+1FCD 1FCF
+1FD4 1FD5
+1FDC 1FDF
+1FED 1FF1
1FF5
-1FFD 2070 # [116]
-2072 207E # [13]
-2080 208F # [16]
-2095 2101 # [109]
-2103 2106 # [4]
-2108 2109 # [2]
+1FFD 2070
+2072 207E
+2080 208F
+209D 2101
+2103 2106
+2108 2109
2114
-2116 2117 # [2]
-211E 2123 # [6]
+2116 2117
+211E 2123
2125
2127
2129
-213A 213B # [2]
-2140 2144 # [5]
-214A 214D # [4]
-214F 215F # [17]
-2189 2BFF # [2679]
+213A 213B
+2140 2144
+214A 214D
+214F 215F
+2189 2BFF
2C2F
2C5F
-2CE5 2CEA # [6]
-2CEF 2CFF # [17]
-2D26 2D2F # [10]
-2D66 2D6E # [9]
-2D70 2D7F # [16]
-2D97 2D9F # [9]
+2CE5 2CEA
+2CEF 2CFF
+2D26 2D2F
+2D66 2D6E
+2D70 2D7F
+2D97 2D9F
2DA7
2DAF
2DB7
@@ -309,67 +284,73 @@ return <<'END';
2DC7
2DCF
2DD7
-2DDF 3004 # [550]
-3008 3020 # [25]
-302A 3030 # [7]
-3036 3037 # [2]
-303D 3040 # [4]
-3097 309C # [6]
+2DDF 3004
+3008 3020
+302A 3030
+3036 3037
+303D 3040
+3097 309C
30A0
30FB
-3100 3104 # [5]
-312E 3130 # [3]
-318F 319F # [17]
-31B8 31EF # [56]
-3200 33FF # [512]
-4DB6 4DFF # [74]
-9FCC 9FFF # [52]
-A48D A4CF # [67]
-A4FE A4FF # [2]
-A60D A60F # [3]
-A620 A629 # [10]
-A62C A63F # [20]
-A660 A661 # [2]
-A66F A67E # [16]
-A698 A69F # [8]
-A6F0 A716 # [39]
-A720 A721 # [2]
-A789 A78A # [2]
-A78D A7FA # [110]
+3100 3104
+312E 3130
+318F 319F
+31BB 31EF
+3200 33FF
+4DB6 4DFF
+9FCC 9FFF
+A48D A4CF
+A4FE A4FF
+A60D A60F
+A620 A629
+A62C A63F
+A66F A67E
+A698 A69F
+A6F0 A716
+A720 A721
+A789 A78A
+A78F
+A792 A79F
+A7AA A7F9
A802
A806
A80B
-A823 A83F # [29]
-A874 A881 # [14]
-A8B4 A8F1 # [62]
-A8F8 A8FA # [3]
-A8FC A909 # [14]
-A926 A92F # [10]
-A947 A95F # [25]
-A97D A983 # [7]
-A9B3 A9CE # [28]
-A9D0 A9FF # [48]
-AA29 AA3F # [23]
+A823 A83F
+A874 A881
+A8B4 A8F1
+A8F8 A8FA
+A8FC A909
+A926 A92F
+A947 A95F
+A97D A983
+A9B3 A9CE
+A9D0 A9FF
+AA29 AA3F
AA43
-AA4C AA5F # [20]
-AA77 AA79 # [3]
-AA7B AA7F # [5]
+AA4C AA5F
+AA77 AA79
+AA7B AA7F
AAB0
-AAB2 AAB4 # [3]
-AAB7 AAB8 # [2]
-AABE AABF # [2]
+AAB2 AAB4
+AAB7 AAB8
+AABE AABF
AAC1
-AAC3 AADA # [24]
-AADE ABBF # [226]
-ABE3 ABFF # [29]
-D7A4 D7AF # [12]
-D7C7 D7CA # [4]
-D7FC F8FF # [8452]
-FA2E FA2F # [2]
-FA6E FA6F # [2]
-FADA FAFF # [38]
-FB07 FB12 # [12]
-FB18 FB1C # [5]
+AAC3 AADA
+AADE AB00
+AB07 AB08
+AB0F AB10
+AB17 AB1F
+AB27
+AB2F ABBF
+ABE3 ABFF
+D7A4 D7AF
+D7C7 D7CA
+D7FC F8FF
+FA2E FA2F
+FA6E FA6F
+FADA FAFF
+FB07 FB12
+FB18 FB1C
FB1E
FB29
FB37
@@ -377,84 +358,87 @@ FB3D
FB3F
FB42
FB45
-FBB2 FBD2 # [33]
-FC5E FC63 # [6]
-FD3E FD4F # [18]
-FD90 FD91 # [2]
-FDC8 FDEF # [40]
-FDFA FE70 # [119]
+FBB2 FBD2
+FC5E FC63
+FD3E FD4F
+FD90 FD91
+FDC8 FDEF
+FDFA FE70
FE72
-FE74 FE76 # [3]
+FE74 FE76
FE78
FE7A
FE7C
FE7E
-FEFD FF20 # [36]
-FF3B FF40 # [6]
-FF5B FF65 # [11]
-FF9E FF9F # [2]
-FFBF FFC1 # [3]
-FFC8 FFC9 # [2]
-FFD0 FFD1 # [2]
-FFD8 FFD9 # [2]
-FFDD FFFF # [35]
+FEFD FF20
+FF3B FF40
+FF5B FF65
+FF9E FF9F
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFFF
1000C
10027
1003B
1003E
-1004E 1004F # [2]
-1005E 1007F # [34]
-100FB 1013F # [69]
-10175 1027F # [267]
-1029D 1029F # [3]
-102D1 102FF # [47]
-1031F 1032F # [17]
-1034B 1037F # [53]
-1039E 1039F # [2]
-103C4 103C7 # [4]
+1004E 1004F
+1005E 1007F
+100FB 1013F
+10175 1027F
+1029D 1029F
+102D1 102FF
+1031F 1032F
+1034B 1037F
+1039E 1039F
+103C4 103C7
103D0
-103D6 103FF # [42]
-1049E 107FF # [866]
-10806 10807 # [2]
+103D6 103FF
+1049E 107FF
+10806 10807
10809
10836
-10839 1083B # [3]
-1083D 1083E # [2]
-10856 108FF # [170]
-10916 1091F # [10]
-1093A 109FF # [198]
-10A01 10A0F # [15]
+10839 1083B
+1083D 1083E
+10856 108FF
+10916 1091F
+1093A 109FF
+10A01 10A0F
10A14
10A18
-10A34 10A5F # [44]
-10A7D 10AFF # [131]
-10B36 10B3F # [10]
-10B56 10B5F # [10]
-10B73 10BFF # [141]
-10C49 11082 # [1082]
-110B0 11FFF # [3920]
-1236F 123FF # [145]
-12463 12FFF # [2973]
-1342F 1D3FF # [40_913]
+10A34 10A5F
+10A7D 10AFF
+10B36 10B3F
+10B56 10B5F
+10B73 10BFF
+10C49 11002
+11038 11082
+110B0 11FFF
+1236F 123FF
+12463 12FFF
+1342F 167FF
+16A39 1AFFF
+1B002 1D3FF
1D455
1D49D
-1D4A0 1D4A1 # [2]
-1D4A3 1D4A4 # [2]
-1D4A7 1D4A8 # [2]
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
1D4AD
1D4BA
1D4BC
1D4C4
1D506
-1D50B 1D50C # [2]
+1D50B 1D50C
1D515
1D51D
1D53A
1D53F
1D545
-1D547 1D549 # [3]
+1D547 1D549
1D551
-1D6A6 1D6A7 # [2]
+1D6A6 1D6A7
1D6C1
1D6DB
1D6FB
@@ -465,8 +449,9 @@ FFDD FFFF # [35]
1D789
1D7A9
1D7C3
-1D7CC 1FFFF # [10_292]
-2A6D7 2A6FF # [41]
-2B735 2F7FF # [16_587]
-2FA1E 10FFFF # [919_010]
+1D7CC 1FFFF
+2A6D7 2A6FF
+2B735 2B73F
+2B81E 2F7FF
+2FA1E 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
index 5567f81223f..cb0a1ab7903 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
@@ -1,471 +1,456 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 5.2.0. Any changes made here will be lost!
+# database, Version 6.0.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
# This file is for internal use by the Perl program only. The format and even
# the name or existence of this file are subject to change without notice.
# Don't use it directly.
-# This file returns the 99_741 code points in Unicode Version 5.2.0 that
-# match any of the following regular expression constructs:
-#
-# \p{XID_Start=Yes}
-# \p{XIDS=Y}
-# \p{Is_XID_Start=T}
-# \p{Is_XIDS=True}
-#
-# \p{XID_Start}
-# \p{Is_XID_Start}
-# \p{XIDS}
-# \p{Is_XIDS}
-#
-# perluniprops.pod should be consulted for the syntax rules for any of these,
-# including if adding or subtracting white space, underscore, and hyphen
-# characters matters or doesn't matter, and other permissible syntactic
-# variants. Upper/lower case distinctions never matter.
-#
-# A colon can be substituted for the equals sign, and anything to the left of
-# the equals (or colon) can be combined with anything to the right. Thus,
-# for example,
-# \p{Is_XIDS: Yes}
-# is also valid.
-#
-# The format of the lines of this file is: START\tSTOP\twhere START is the
-# starting code point of the range, in hex; STOP is the ending point, or if
-# omitted, the range has just one code point. Numbers in comments in
-# [brackets] indicate how many code points are in the range.
return <<'END';
-0041 005A # [26]
-0061 007A # [26]
+0041 005A
+0061 007A
00AA
00B5
00BA
-00C0 00D6 # [23]
-00D8 00F6 # [31]
-00F8 02C1 # [458]
-02C6 02D1 # [12]
-02E0 02E4 # [5]
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
02EC
02EE
-0370 0374 # [5]
-0376 0377 # [2]
-037B 037D # [3]
+0370 0374
+0376 0377
+037B 037D
0386
-0388 038A # [3]
+0388 038A
038C
-038E 03A1 # [20]
-03A3 03F5 # [83]
-03F7 0481 # [139]
-048A 0525 # [156]
-0531 0556 # [38]
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
0559
-0561 0587 # [39]
-05D0 05EA # [27]
-05F0 05F2 # [3]
-0621 064A # [42]
-066E 066F # [2]
-0671 06D3 # [99]
+0561 0587
+05D0 05EA
+05F0 05F2
+0620 064A
+066E 066F
+0671 06D3
06D5
-06E5 06E6 # [2]
-06EE 06EF # [2]
-06FA 06FC # [3]
+06E5 06E6
+06EE 06EF
+06FA 06FC
06FF
0710
-0712 072F # [30]
-074D 07A5 # [89]
+0712 072F
+074D 07A5
07B1
-07CA 07EA # [33]
-07F4 07F5 # [2]
+07CA 07EA
+07F4 07F5
07FA
-0800 0815 # [22]
+0800 0815
081A
0824
0828
-0904 0939 # [54]
+0840 0858
+0904 0939
093D
0950
-0958 0961 # [10]
-0971 0972 # [2]
-0979 097F # [7]
-0985 098C # [8]
-098F 0990 # [2]
-0993 09A8 # [22]
-09AA 09B0 # [7]
+0958 0961
+0971 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
09B2
-09B6 09B9 # [4]
+09B6 09B9
09BD
09CE
-09DC 09DD # [2]
-09DF 09E1 # [3]
-09F0 09F1 # [2]
-0A05 0A0A # [6]
-0A0F 0A10 # [2]
-0A13 0A28 # [22]
-0A2A 0A30 # [7]
-0A32 0A33 # [2]
-0A35 0A36 # [2]
-0A38 0A39 # [2]
-0A59 0A5C # [4]
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
0A5E
-0A72 0A74 # [3]
-0A85 0A8D # [9]
-0A8F 0A91 # [3]
-0A93 0AA8 # [22]
-0AAA 0AB0 # [7]
-0AB2 0AB3 # [2]
-0AB5 0AB9 # [5]
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
0ABD
0AD0
-0AE0 0AE1 # [2]
-0B05 0B0C # [8]
-0B0F 0B10 # [2]
-0B13 0B28 # [22]
-0B2A 0B30 # [7]
-0B32 0B33 # [2]
-0B35 0B39 # [5]
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
0B3D
-0B5C 0B5D # [2]
-0B5F 0B61 # [3]
+0B5C 0B5D
+0B5F 0B61
0B71
0B83
-0B85 0B8A # [6]
-0B8E 0B90 # [3]
-0B92 0B95 # [4]
-0B99 0B9A # [2]
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
0B9C
-0B9E 0B9F # [2]
-0BA3 0BA4 # [2]
-0BA8 0BAA # [3]
-0BAE 0BB9 # [12]
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
0BD0
-0C05 0C0C # [8]
-0C0E 0C10 # [3]
-0C12 0C28 # [23]
-0C2A 0C33 # [10]
-0C35 0C39 # [5]
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
0C3D
-0C58 0C59 # [2]
-0C60 0C61 # [2]
-0C85 0C8C # [8]
-0C8E 0C90 # [3]
-0C92 0CA8 # [23]
-0CAA 0CB3 # [10]
-0CB5 0CB9 # [5]
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
0CBD
0CDE
-0CE0 0CE1 # [2]
-0D05 0D0C # [8]
-0D0E 0D10 # [3]
-0D12 0D28 # [23]
-0D2A 0D39 # [16]
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
0D3D
-0D60 0D61 # [2]
-0D7A 0D7F # [6]
-0D85 0D96 # [18]
-0D9A 0DB1 # [24]
-0DB3 0DBB # [9]
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
0DBD
-0DC0 0DC6 # [7]
-0E01 0E30 # [48]
+0DC0 0DC6
+0E01 0E30
0E32
-0E40 0E46 # [7]
-0E81 0E82 # [2]
+0E40 0E46
+0E81 0E82
0E84
-0E87 0E88 # [2]
+0E87 0E88
0E8A
0E8D
-0E94 0E97 # [4]
-0E99 0E9F # [7]
-0EA1 0EA3 # [3]
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
0EA5
0EA7
-0EAA 0EAB # [2]
-0EAD 0EB0 # [4]
+0EAA 0EAB
+0EAD 0EB0
0EB2
0EBD
-0EC0 0EC4 # [5]
+0EC0 0EC4
0EC6
-0EDC 0EDD # [2]
+0EDC 0EDD
0F00
-0F40 0F47 # [8]
-0F49 0F6C # [36]
-0F88 0F8B # [4]
-1000 102A # [43]
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+1000 102A
103F
-1050 1055 # [6]
-105A 105D # [4]
+1050 1055
+105A 105D
1061
-1065 1066 # [2]
-106E 1070 # [3]
-1075 1081 # [13]
+1065 1066
+106E 1070
+1075 1081
108E
-10A0 10C5 # [38]
-10D0 10FA # [43]
+10A0 10C5
+10D0 10FA
10FC
-1100 1248 # [329]
-124A 124D # [4]
-1250 1256 # [7]
+1100 1248
+124A 124D
+1250 1256
1258
-125A 125D # [4]
-1260 1288 # [41]
-128A 128D # [4]
-1290 12B0 # [33]
-12B2 12B5 # [4]
-12B8 12BE # [7]
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
12C0
-12C2 12C5 # [4]
-12C8 12D6 # [15]
-12D8 1310 # [57]
-1312 1315 # [4]
-1318 135A # [67]
-1380 138F # [16]
-13A0 13F4 # [85]
-1401 166C # [620]
-166F 167F # [17]
-1681 169A # [26]
-16A0 16EA # [75]
-16EE 16F0 # [3]
-1700 170C # [13]
-170E 1711 # [4]
-1720 1731 # [18]
-1740 1751 # [18]
-1760 176C # [13]
-176E 1770 # [3]
-1780 17B3 # [52]
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
17D7
17DC
-1820 1877 # [88]
-1880 18A8 # [41]
+1820 1877
+1880 18A8
18AA
-18B0 18F5 # [70]
-1900 191C # [29]
-1950 196D # [30]
-1970 1974 # [5]
-1980 19AB # [44]
-19C1 19C7 # [7]
-1A00 1A16 # [23]
-1A20 1A54 # [53]
+18B0 18F5
+1900 191C
+1950 196D
+1970 1974
+1980 19AB
+19C1 19C7
+1A00 1A16
+1A20 1A54
1AA7
-1B05 1B33 # [47]
-1B45 1B4B # [7]
-1B83 1BA0 # [30]
-1BAE 1BAF # [2]
-1C00 1C23 # [36]
-1C4D 1C4F # [3]
-1C5A 1C7D # [36]
-1CE9 1CEC # [4]
-1CEE 1CF1 # [4]
-1D00 1DBF # [192]
-1E00 1F15 # [278]
-1F18 1F1D # [6]
-1F20 1F45 # [38]
-1F48 1F4D # [6]
-1F50 1F57 # [8]
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BC0 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF1
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
1F59
1F5B
1F5D
-1F5F 1F7D # [31]
-1F80 1FB4 # [53]
-1FB6 1FBC # [7]
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
1FBE
-1FC2 1FC4 # [3]
-1FC6 1FCC # [7]
-1FD0 1FD3 # [4]
-1FD6 1FDB # [6]
-1FE0 1FEC # [13]
-1FF2 1FF4 # [3]
-1FF6 1FFC # [7]
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
2071
207F
-2090 2094 # [5]
+2090 209C
2102
2107
-210A 2113 # [10]
+210A 2113
2115
-2118 211D # [6]
+2118 211D
2124
2126
2128
-212A 2139 # [16]
-213C 213F # [4]
-2145 2149 # [5]
+212A 2139
+213C 213F
+2145 2149
214E
-2160 2188 # [41]
-2C00 2C2E # [47]
-2C30 2C5E # [47]
-2C60 2CE4 # [133]
-2CEB 2CEE # [4]
-2D00 2D25 # [38]
-2D30 2D65 # [54]
+2160 2188
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2D00 2D25
+2D30 2D65
2D6F
-2D80 2D96 # [23]
-2DA0 2DA6 # [7]
-2DA8 2DAE # [7]
-2DB0 2DB6 # [7]
-2DB8 2DBE # [7]
-2DC0 2DC6 # [7]
-2DC8 2DCE # [7]
-2DD0 2DD6 # [7]
-2DD8 2DDE # [7]
-3005 3007 # [3]
-3021 3029 # [9]
-3031 3035 # [5]
-3038 303C # [5]
-3041 3096 # [86]
-309D 309F # [3]
-30A1 30FA # [90]
-30FC 30FF # [4]
-3105 312D # [41]
-3131 318E # [94]
-31A0 31B7 # [24]
-31F0 31FF # [16]
-3400 4DB5 # [6582]
-4E00 9FCB # [20_940]
-A000 A48C # [1165]
-A4D0 A4FD # [46]
-A500 A60C # [269]
-A610 A61F # [16]
-A62A A62B # [2]
-A640 A65F # [32]
-A662 A66E # [13]
-A67F A697 # [25]
-A6A0 A6EF # [80]
-A717 A71F # [9]
-A722 A788 # [103]
-A78B A78C # [2]
-A7FB A801 # [7]
-A803 A805 # [3]
-A807 A80A # [4]
-A80C A822 # [23]
-A840 A873 # [52]
-A882 A8B3 # [50]
-A8F2 A8F7 # [6]
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCB
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
+A67F A697
+A6A0 A6EF
+A717 A71F
+A722 A788
+A78B A78E
+A790 A791
+A7A0 A7A9
+A7FA A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
A8FB
-A90A A925 # [28]
-A930 A946 # [23]
-A960 A97C # [29]
-A984 A9B2 # [47]
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
A9CF
-AA00 AA28 # [41]
-AA40 AA42 # [3]
-AA44 AA4B # [8]
-AA60 AA76 # [23]
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AA60 AA76
AA7A
-AA80 AAAF # [48]
+AA80 AAAF
AAB1
-AAB5 AAB6 # [2]
-AAB9 AABD # [5]
+AAB5 AAB6
+AAB9 AABD
AAC0
AAC2
-AADB AADD # [3]
-ABC0 ABE2 # [35]
-AC00 D7A3 # [11_172]
-D7B0 D7C6 # [23]
-D7CB D7FB # [49]
-F900 FA2D # [302]
-FA30 FA6D # [62]
-FA70 FAD9 # [106]
-FB00 FB06 # [7]
-FB13 FB17 # [5]
+AADB AADD
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA2D
+FA30 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
FB1D
-FB1F FB28 # [10]
-FB2A FB36 # [13]
-FB38 FB3C # [5]
+FB1F FB28
+FB2A FB36
+FB38 FB3C
FB3E
-FB40 FB41 # [2]
-FB43 FB44 # [2]
-FB46 FBB1 # [108]
-FBD3 FC5D # [139]
-FC64 FD3D # [218]
-FD50 FD8F # [64]
-FD92 FDC7 # [54]
-FDF0 FDF9 # [10]
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FC5D
+FC64 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDF9
FE71
FE73
FE77
FE79
FE7B
FE7D
-FE7F FEFC # [126]
-FF21 FF3A # [26]
-FF41 FF5A # [26]
-FF66 FF9D # [56]
-FFA0 FFBE # [31]
-FFC2 FFC7 # [6]
-FFCA FFCF # [6]
-FFD2 FFD7 # [6]
-FFDA FFDC # [3]
-10000 1000B # [12]
-1000D 10026 # [26]
-10028 1003A # [19]
-1003C 1003D # [2]
-1003F 1004D # [15]
-10050 1005D # [14]
-10080 100FA # [123]
-10140 10174 # [53]
-10280 1029C # [29]
-102A0 102D0 # [49]
-10300 1031E # [31]
-10330 1034A # [27]
-10380 1039D # [30]
-103A0 103C3 # [36]
-103C8 103CF # [8]
-103D1 103D5 # [5]
-10400 1049D # [158]
-10800 10805 # [6]
+FE7F FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+10800 10805
10808
-1080A 10835 # [44]
-10837 10838 # [2]
+1080A 10835
+10837 10838
1083C
-1083F 10855 # [23]
-10900 10915 # [22]
-10920 10939 # [26]
+1083F 10855
+10900 10915
+10920 10939
10A00
-10A10 10A13 # [4]
-10A15 10A17 # [3]
-10A19 10A33 # [27]
-10A60 10A7C # [29]
-10B00 10B35 # [54]
-10B40 10B55 # [22]
-10B60 10B72 # [19]
-10C00 10C48 # [73]
-11083 110AF # [45]
-12000 1236E # [879]
-12400 12462 # [99]
-13000 1342E # [1071]
-1D400 1D454 # [85]
-1D456 1D49C # [71]
-1D49E 1D49F # [2]
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+1B000 1B001
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
1D4A2
-1D4A5 1D4A6 # [2]
-1D4A9 1D4AC # [4]
-1D4AE 1D4B9 # [12]
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
1D4BB
-1D4BD 1D4C3 # [7]
-1D4C5 1D505 # [65]
-1D507 1D50A # [4]
-1D50D 1D514 # [8]
-1D516 1D51C # [7]
-1D51E 1D539 # [28]
-1D53B 1D53E # [4]
-1D540 1D544 # [5]
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
1D546
-1D54A 1D550 # [7]
-1D552 1D6A5 # [340]
-1D6A8 1D6C0 # [25]
-1D6C2 1D6DA # [25]
-1D6DC 1D6FA # [31]
-1D6FC 1D714 # [25]
-1D716 1D734 # [31]
-1D736 1D74E # [25]
-1D750 1D76E # [31]
-1D770 1D788 # [25]
-1D78A 1D7A8 # [31]
-1D7AA 1D7C2 # [25]
-1D7C4 1D7CB # [8]
-20000 2A6D6 # [42_711]
-2A700 2B734 # [4149]
-2F800 2FA1D # [542]
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/mktables b/Master/tlpkg/tlperl/lib/unicore/mktables
deleted file mode 100644
index bdc5838309f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/mktables
+++ /dev/null
@@ -1,14299 +0,0 @@
-#!/usr/bin/perl -w
-
-# !!!!!!!!!!!!!! IF YOU MODIFY THIS FILE !!!!!!!!!!!!!!!!!!!!!!!!!
-# Any files created or read by this program should be listed in 'mktables.lst'
-# Use -makelist to regenerate it.
-
-# Needs 'no overloading' to run faster on miniperl. Code commented out at the
-# subroutine objaddr can be used instead to work as far back (untested) as
-# 5.8: needs pack "U".
-require 5.010_001;
-use strict;
-use warnings;
-use Carp;
-use File::Find;
-use File::Path;
-use File::Spec;
-use Text::Tabs;
-
-sub DEBUG () { 0 } # Set to 0 for production; 1 for development
-
-##########################################################################
-#
-# mktables -- create the runtime Perl Unicode files (lib/unicore/.../*.pl),
-# from the Unicode database files (lib/unicore/.../*.txt), It also generates
-# a pod file and a .t file
-#
-# The structure of this file is:
-# First these introductory comments; then
-# code needed for everywhere, such as debugging stuff; then
-# code to handle input parameters; then
-# data structures likely to be of external interest (some of which depend on
-# the input parameters, so follows them; then
-# more data structures and subroutine and package (class) definitions; then
-# the small actual loop to process the input files and finish up; then
-# a __DATA__ section, for the .t tests
-#
-# This program works on all releases of Unicode through at least 5.2. The
-# outputs have been scrutinized most intently for release 5.1. The others
-# have been checked for somewhat more than just sanity. It can handle all
-# existing Unicode character properties in those releases.
-#
-# This program is mostly about Unicode character (or code point) properties.
-# A property describes some attribute or quality of a code point, like if it
-# is lowercase or not, its name, what version of Unicode it was first defined
-# in, or what its uppercase equivalent is. Unicode deals with these disparate
-# possibilities by making all properties into mappings from each code point
-# into some corresponding value. In the case of it being lowercase or not,
-# the mapping is either to 'Y' or 'N' (or various synonyms thereof). Each
-# property maps each Unicode code point to a single value, called a "property
-# value". (Hence each Unicode property is a true mathematical function with
-# exactly one value per code point.)
-#
-# When using a property in a regular expression, what is desired isn't the
-# mapping of the code point to its property's value, but the reverse (or the
-# mathematical "inverse relation"): starting with the property value, "Does a
-# code point map to it?" These are written in a "compound" form:
-# \p{property=value}, e.g., \p{category=punctuation}. This program generates
-# files containing the lists of code points that map to each such regular
-# expression property value, one file per list
-#
-# There is also a single form shortcut that Perl adds for many of the commonly
-# used properties. This happens for all binary properties, plus script,
-# general_category, and block properties.
-#
-# Thus the outputs of this program are files. There are map files, mostly in
-# the 'To' directory; and there are list files for use in regular expression
-# matching, all in subdirectories of the 'lib' directory, with each
-# subdirectory being named for the property that the lists in it are for.
-# Bookkeeping, test, and documentation files are also generated.
-
-my $matches_directory = 'lib'; # Where match (\p{}) files go.
-my $map_directory = 'To'; # Where map files go.
-
-# DATA STRUCTURES
-#
-# The major data structures of this program are Property, of course, but also
-# Table. There are two kinds of tables, very similar to each other.
-# "Match_Table" is the data structure giving the list of code points that have
-# a particular property value, mentioned above. There is also a "Map_Table"
-# data structure which gives the property's mapping from code point to value.
-# There are two structures because the match tables need to be combined in
-# various ways, such as constructing unions, intersections, complements, etc.,
-# and the map ones don't. And there would be problems, perhaps subtle, if
-# a map table were inadvertently operated on in some of those ways.
-# The use of separate classes with operations defined on one but not the other
-# prevents accidentally confusing the two.
-#
-# At the heart of each table's data structure is a "Range_List", which is just
-# an ordered list of "Ranges", plus ancillary information, and methods to
-# operate on them. A Range is a compact way to store property information.
-# Each range has a starting code point, an ending code point, and a value that
-# is meant to apply to all the code points between the two end points,
-# inclusive. For a map table, this value is the property value for those
-# code points. Two such ranges could be written like this:
-# 0x41 .. 0x5A, 'Upper',
-# 0x61 .. 0x7A, 'Lower'
-#
-# Each range also has a type used as a convenience to classify the values.
-# Most ranges in this program will be Type 0, or normal, but there are some
-# ranges that have a non-zero type. These are used only in map tables, and
-# are for mappings that don't fit into the normal scheme of things. Mappings
-# that require a hash entry to communicate with utf8.c are one example;
-# another example is mappings for charnames.pm to use which indicate a name
-# that is algorithmically determinable from its code point (and vice-versa).
-# These are used to significantly compact these tables, instead of listing
-# each one of the tens of thousands individually.
-#
-# In a match table, the value of a range is irrelevant (and hence the type as
-# well, which will always be 0), and arbitrarily set to the null string.
-# Using the example above, there would be two match tables for those two
-# entries, one named Upper would contain the 0x41..0x5A range, and the other
-# named Lower would contain 0x61..0x7A.
-#
-# Actually, there are two types of range lists, "Range_Map" is the one
-# associated with map tables, and "Range_List" with match tables.
-# Again, this is so that methods can be defined on one and not the other so as
-# to prevent operating on them in incorrect ways.
-#
-# Eventually, most tables are written out to files to be read by utf8_heavy.pl
-# in the perl core. All tables could in theory be written, but some are
-# suppressed because there is no current practical use for them. It is easy
-# to change which get written by changing various lists that are near the top
-# of the actual code in this file. The table data structures contain enough
-# ancillary information to allow them to be treated as separate entities for
-# writing, such as the path to each one's file. There is a heading in each
-# map table that gives the format of its entries, and what the map is for all
-# the code points missing from it. (This allows tables to be more compact.)
-#
-# The Property data structure contains one or more tables. All properties
-# contain a map table (except the $perl property which is a
-# pseudo-property containing only match tables), and any properties that
-# are usable in regular expression matches also contain various matching
-# tables, one for each value the property can have. A binary property can
-# have two values, True and False (or Y and N, which are preferred by Unicode
-# terminology). Thus each of these properties will have a map table that
-# takes every code point and maps it to Y or N (but having ranges cuts the
-# number of entries in that table way down), and two match tables, one
-# which has a list of all the code points that map to Y, and one for all the
-# code points that map to N. (For each of these, a third table is also
-# generated for the pseudo Perl property. It contains the identical code
-# points as the Y table, but can be written, not in the compound form, but in
-# a "single" form like \p{IsUppercase}.) Many properties are binary, but some
-# properties have several possible values, some have many, and properties like
-# Name have a different value for every named code point. Those will not,
-# unless the controlling lists are changed, have their match tables written
-# out. But all the ones which can be used in regular expression \p{} and \P{}
-# constructs will. Generally a property will have either its map table or its
-# match tables written but not both. Again, what gets written is controlled
-# by lists which can easily be changed.
-#
-# For information about the Unicode properties, see Unicode's UAX44 document:
-
-my $unicode_reference_url = 'http://www.unicode.org/reports/tr44/';
-
-# As stated earlier, this program will work on any release of Unicode so far.
-# Most obvious problems in earlier data have NOT been corrected except when
-# necessary to make Perl or this program work reasonably. For example, no
-# folding information was given in early releases, so this program uses the
-# substitute of lower case, just so that a regular expression with the /i
-# option will do something that actually gives the right results in many
-# cases. There are also a couple other corrections for version 1.1.5,
-# commented at the point they are made. As an example of corrections that
-# weren't made (but could be) is this statement from DerivedAge.txt: "The
-# supplementary private use code points and the non-character code points were
-# assigned in version 2.0, but not specifically listed in the UCD until
-# versions 3.0 and 3.1 respectively." (To be precise it was 3.0.1 not 3.0.0)
-# More information on Unicode version glitches is further down in these
-# introductory comments.
-#
-# This program works on all properties as of 5.2, though the files for some
-# are suppressed from apparent lack of demand for them. You can change which
-# are output by changing lists in this program.
-#
-# The old version of mktables emphasized the term "Fuzzy" to mean Unocde's
-# loose matchings rules (from Unicode TR18):
-#
-# The recommended names for UCD properties and property values are in
-# PropertyAliases.txt [Prop] and PropertyValueAliases.txt
-# [PropValue]. There are both abbreviated names and longer, more
-# descriptive names. It is strongly recommended that both names be
-# recognized, and that loose matching of property names be used,
-# whereby the case distinctions, whitespace, hyphens, and underbar
-# are ignored.
-# The program still allows Fuzzy to override its determination of if loose
-# matching should be used, but it isn't currently used, as it is no longer
-# needed; the calculations it makes are good enough.
-#
-# SUMMARY OF HOW IT WORKS:
-#
-# Process arguments
-#
-# A list is constructed containing each input file that is to be processed
-#
-# Each file on the list is processed in a loop, using the associated handler
-# code for each:
-# The PropertyAliases.txt and PropValueAliases.txt files are processed
-# first. These files name the properties and property values.
-# Objects are created of all the property and property value names
-# that the rest of the input should expect, including all synonyms.
-# The other input files give mappings from properties to property
-# values. That is, they list code points and say what the mapping
-# is under the given property. Some files give the mappings for
-# just one property; and some for many. This program goes through
-# each file and populates the properties from them. Some properties
-# are listed in more than one file, and Unicode has set up a
-# precedence as to which has priority if there is a conflict. Thus
-# the order of processing matters, and this program handles the
-# conflict possibility by processing the overriding input files
-# last, so that if necessary they replace earlier values.
-# After this is all done, the program creates the property mappings not
-# furnished by Unicode, but derivable from what it does give.
-# The tables of code points that match each property value in each
-# property that is accessible by regular expressions are created.
-# The Perl-defined properties are created and populated. Many of these
-# require data determined from the earlier steps
-# Any Perl-defined synonyms are created, and name clashes between Perl
-# and Unicode are reconciled and warned about.
-# All the properties are written to files
-# Any other files are written, and final warnings issued.
-#
-# For clarity, a number of operators have been overloaded to work on tables:
-# ~ means invert (take all characters not in the set). The more
-# conventional '!' is not used because of the possibility of confusing
-# it with the actual boolean operation.
-# + means union
-# - means subtraction
-# & means intersection
-# The precedence of these is the order listed. Parentheses should be
-# copiously used. These are not a general scheme. The operations aren't
-# defined for a number of things, deliberately, to avoid getting into trouble.
-# Operations are done on references and affect the underlying structures, so
-# that the copy constructors for them have been overloaded to not return a new
-# clone, but the input object itself.
-#
-# The bool operator is deliberately not overloaded to avoid confusion with
-# "should it mean if the object merely exists, or also is non-empty?".
-#
-# WHY CERTAIN DESIGN DECISIONS WERE MADE
-#
-# This program needs to be able to run under miniperl. Therefore, it uses a
-# minimum of other modules, and hence implements some things itself that could
-# be gotten from CPAN
-#
-# This program uses inputs published by the Unicode Consortium. These can
-# change incompatibly between releases without the Perl maintainers realizing
-# it. Therefore this program is now designed to try to flag these. It looks
-# at the directories where the inputs are, and flags any unrecognized files.
-# It keeps track of all the properties in the files it handles, and flags any
-# that it doesn't know how to handle. It also flags any input lines that
-# don't match the expected syntax, among other checks.
-#
-# It is also designed so if a new input file matches one of the known
-# templates, one hopefully just needs to add it to a list to have it
-# processed.
-#
-# As mentioned earlier, some properties are given in more than one file. In
-# particular, the files in the extracted directory are supposedly just
-# reformattings of the others. But they contain information not easily
-# derivable from the other files, including results for Unihan, which this
-# program doesn't ordinarily look at, and for unassigned code points. They
-# also have historically had errors or been incomplete. In an attempt to
-# create the best possible data, this program thus processes them first to
-# glean information missing from the other files; then processes those other
-# files to override any errors in the extracted ones. Much of the design was
-# driven by this need to store things and then possibly override them.
-#
-# It tries to keep fatal errors to a minimum, to generate something usable for
-# testing purposes. It always looks for files that could be inputs, and will
-# warn about any that it doesn't know how to handle (the -q option suppresses
-# the warning).
-#
-# Why have files written out for binary 'N' matches?
-# For binary properties, if you know the mapping for either Y or N; the
-# other is trivial to construct, so could be done at Perl run-time by just
-# complementing the result, instead of having a file for it. That is, if
-# someone types in \p{foo: N}, Perl could translate that to \P{foo: Y} and
-# not need a file. The problem is communicating to Perl that a given
-# property is binary. Perl can't figure it out from looking at the N (or
-# No), as some non-binary properties have these as property values. So
-# rather than inventing a way to communicate this info back to the core,
-# which would have required changes there as well, it was simpler just to
-# add the extra tables.
-#
-# Why is there more than one type of range?
-# This simplified things. There are some very specialized code points that
-# have to be handled specially for output, such as Hangul syllable names.
-# By creating a range type (done late in the development process), it
-# allowed this to be stored with the range, and overridden by other input.
-# Originally these were stored in another data structure, and it became a
-# mess trying to decide if a second file that was for the same property was
-# overriding the earlier one or not.
-#
-# Why are there two kinds of tables, match and map?
-# (And there is a base class shared by the two as well.) As stated above,
-# they actually are for different things. Development proceeded much more
-# smoothly when I (khw) realized the distinction. Map tables are used to
-# give the property value for every code point (actually every code point
-# that doesn't map to a default value). Match tables are used for regular
-# expression matches, and are essentially the inverse mapping. Separating
-# the two allows more specialized methods, and error checks so that one
-# can't just take the intersection of two map tables, for example, as that
-# is nonsensical.
-#
-# There are no match tables generated for matches of the null string. These
-# would like like qr/\p{JSN=}/ currently without modifying the regex code.
-# Perhaps something like them could be added if necessary. The JSN does have
-# a real code point U+110B that maps to the null string, but it is a
-# contributory property, and therefore not output by default. And it's easily
-# handled so far by making the null string the default where it is a
-# possibility.
-#
-# DEBUGGING
-#
-# This program is written so it will run under miniperl. Occasionally changes
-# will cause an error where the backtrace doesn't work well under miniperl.
-# To diagnose the problem, you can instead run it under regular perl, if you
-# have one compiled.
-#
-# There is a good trace facility. To enable it, first sub DEBUG must be set
-# to return true. Then a line like
-#
-# local $to_trace = 1 if main::DEBUG;
-#
-# can be added to enable tracing in its lexical scope or until you insert
-# another line:
-#
-# local $to_trace = 0 if main::DEBUG;
-#
-# then use a line like "trace $a, @b, %c, ...;
-#
-# Some of the more complex subroutines already have trace statements in them.
-# Permanent trace statements should be like:
-#
-# trace ... if main::DEBUG && $to_trace;
-#
-# If there is just one or a few files that you're debugging, you can easily
-# cause most everything else to be skipped. Change the line
-#
-# my $debug_skip = 0;
-#
-# to 1, and every file whose object is in @input_file_objects and doesn't have
-# a, 'non_skip => 1,' in its constructor will be skipped.
-#
-# FUTURE ISSUES
-#
-# The program would break if Unicode were to change its names so that
-# interior white space, underscores, or dashes differences were significant
-# within property and property value names.
-#
-# It might be easier to use the xml versions of the UCD if this program ever
-# would need heavy revision, and the ability to handle old versions was not
-# required.
-#
-# There is the potential for name collisions, in that Perl has chosen names
-# that Unicode could decide it also likes. There have been such collisions in
-# the past, with mostly Perl deciding to adopt the Unicode definition of the
-# name. However in the 5.2 Unicode beta testing, there were a number of such
-# collisions, which were withdrawn before the final release, because of Perl's
-# and other's protests. These all involved new properties which began with
-# 'Is'. Based on the protests, Unicode is unlikely to try that again. Also,
-# many of the Perl-defined synonyms, like Any, Word, etc, are listed in a
-# Unicode document, so they are unlikely to be used by Unicode for another
-# purpose. However, they might try something beginning with 'In', or use any
-# of the other Perl-defined properties. This program will warn you of name
-# collisions, and refuse to generate tables with them, but manual intervention
-# will be required in this event. One scheme that could be implemented, if
-# necessary, would be to have this program generate another file, or add a
-# field to mktables.lst that gives the date of first definition of a property.
-# Each new release of Unicode would use that file as a basis for the next
-# iteration. And the Perl synonym addition code could sort based on the age
-# of the property, so older properties get priority, and newer ones that clash
-# would be refused; hence existing code would not be impacted, and some other
-# synonym would have to be used for the new property. This is ugly, and
-# manual intervention would certainly be easier to do in the short run; lets
-# hope it never comes to this.
-#
-# A NOTE ON UNIHAN
-#
-# This program can generate tables from the Unihan database. But it doesn't
-# by default, letting the CPAN module Unicode::Unihan handle them. Prior to
-# version 5.2, this database was in a single file, Unihan.txt. In 5.2 the
-# database was split into 8 different files, all beginning with the letters
-# 'Unihan'. This program will read those file(s) if present, but it needs to
-# know which of the many properties in the file(s) should have tables created
-# for them. It will create tables for any properties listed in
-# PropertyAliases.txt and PropValueAliases.txt, plus any listed in the
-# @cjk_properties array and the @cjk_property_values array. Thus, if a
-# property you want is not in those files of the release you are building
-# against, you must add it to those two arrays. Starting in 4.0, the
-# Unicode_Radical_Stroke was listed in those files, so if the Unihan database
-# is present in the directory, a table will be generated for that property.
-# In 5.2, several more properties were added. For your convenience, the two
-# arrays are initialized with all the 5.2 listed properties that are also in
-# earlier releases. But these are commented out. You can just uncomment the
-# ones you want, or use them as a template for adding entries for other
-# properties.
-#
-# You may need to adjust the entries to suit your purposes. setup_unihan(),
-# and filter_unihan_line() are the functions where this is done. This program
-# already does some adjusting to make the lines look more like the rest of the
-# Unicode DB; You can see what that is in filter_unihan_line()
-#
-# There is a bug in the 3.2 data file in which some values for the
-# kPrimaryNumeric property have commas and an unexpected comment. A filter
-# could be added for these; or for a particular installation, the Unihan.txt
-# file could be edited to fix them.
-# have to be
-#
-# HOW TO ADD A FILE TO BE PROCESSED
-#
-# A new file from Unicode needs to have an object constructed for it in
-# @input_file_objects, probably at the end or at the end of the extracted
-# ones. The program should warn you if its name will clash with others on
-# restrictive file systems, like DOS. If so, figure out a better name, and
-# add lines to the README.perl file giving that. If the file is a character
-# property, it should be in the format that Unicode has by default
-# standardized for such files for the more recently introduced ones.
-# If so, the Input_file constructor for @input_file_objects can just be the
-# file name and release it first appeared in. If not, then it should be
-# possible to construct an each_line_handler() to massage the line into the
-# standardized form.
-#
-# For non-character properties, more code will be needed. You can look at
-# the existing entries for clues.
-#
-# UNICODE VERSIONS NOTES
-#
-# The Unicode UCD has had a number of errors in it over the versions. And
-# these remain, by policy, in the standard for that version. Therefore it is
-# risky to correct them, because code may be expecting the error. So this
-# program doesn't generally make changes, unless the error breaks the Perl
-# core. As an example, some versions of 2.1.x Jamo.txt have the wrong value
-# for U+1105, which causes real problems for the algorithms for Jamo
-# calculations, so it is changed here.
-#
-# But it isn't so clear cut as to what to do about concepts that are
-# introduced in a later release; should they extend back to earlier releases
-# where the concept just didn't exist? It was easier to do this than to not,
-# so that's what was done. For example, the default value for code points not
-# in the files for various properties was probably undefined until changed by
-# some version. No_Block for blocks is such an example. This program will
-# assign No_Block even in Unicode versions that didn't have it. This has the
-# benefit that code being written doesn't have to special case earlier
-# versions; and the detriment that it doesn't match the Standard precisely for
-# the affected versions.
-#
-# Here are some observations about some of the issues in early versions:
-#
-# The number of code points in \p{alpha} halve in 2.1.9. It turns out that
-# the reason is that the CJK block starting at 4E00 was removed from PropList,
-# and was not put back in until 3.1.0
-#
-# Unicode introduced the synonym Space for White_Space in 4.1. Perl has
-# always had a \p{Space}. In release 3.2 only, they are not synonymous. The
-# reason is that 3.2 introduced U+205F=medium math space, which was not
-# classed as white space, but Perl figured out that it should have been. 4.0
-# reclassified it correctly.
-#
-# Another change between 3.2 and 4.0 is the CCC property value ATBL. In 3.2
-# this was erroneously a synonym for 202. In 4.0, ATB became 202, and ATBL
-# was left with no code points, as all the ones that mapped to 202 stayed
-# mapped to 202. Thus if your program used the numeric name for the class,
-# it would not have been affected, but if it used the mnemonic, it would have
-# been.
-#
-# \p{Script=Hrkt} (Katakana_Or_Hiragana) came in 4.0.1. Before that code
-# points which eventually came to have this script property value, instead
-# mapped to "Unknown". But in the next release all these code points were
-# moved to \p{sc=common} instead.
-#
-# The default for missing code points for BidiClass is complicated. Starting
-# in 3.1.1, the derived file DBidiClass.txt handles this, but this program
-# tries to do the best it can for earlier releases. It is done in
-# process_PropertyAliases()
-#
-##############################################################################
-
-my $UNDEF = ':UNDEF:'; # String to print out for undefined values in tracing
- # and errors
-my $MAX_LINE_WIDTH = 78;
-
-# Debugging aid to skip most files so as to not be distracted by them when
-# concentrating on the ones being debugged. Add
-# non_skip => 1,
-# to the constructor for those files you want processed when you set this.
-# Files with a first version number of 0 are special: they are always
-# processed regardless of the state of this flag.
-my $debug_skip = 0;
-
-# Set to 1 to enable tracing.
-our $to_trace = 0;
-
-{ # Closure for trace: debugging aid
- my $print_caller = 1; # ? Include calling subroutine name
- my $main_with_colon = 'main::';
- my $main_colon_length = length($main_with_colon);
-
- sub trace {
- return unless $to_trace; # Do nothing if global flag not set
-
- my @input = @_;
-
- local $DB::trace = 0;
- $DB::trace = 0; # Quiet 'used only once' message
-
- my $line_number;
-
- # Loop looking up the stack to get the first non-trace caller
- my $caller_line;
- my $caller_name;
- my $i = 0;
- do {
- $line_number = $caller_line;
- (my $pkg, my $file, $caller_line, my $caller) = caller $i++;
- $caller = $main_with_colon unless defined $caller;
-
- $caller_name = $caller;
-
- # get rid of pkg
- $caller_name =~ s/.*:://;
- if (substr($caller_name, 0, $main_colon_length)
- eq $main_with_colon)
- {
- $caller_name = substr($caller_name, $main_colon_length);
- }
-
- } until ($caller_name ne 'trace');
-
- # If the stack was empty, we were called from the top level
- $caller_name = 'main' if ($caller_name eq ""
- || $caller_name eq 'trace');
-
- my $output = "";
- foreach my $string (@input) {
- #print STDERR __LINE__, ": ", join ", ", @input, "\n";
- if (ref $string eq 'ARRAY' || ref $string eq 'HASH') {
- $output .= simple_dumper($string);
- }
- else {
- $string = "$string" if ref $string;
- $string = $UNDEF unless defined $string;
- chomp $string;
- $string = '""' if $string eq "";
- $output .= " " if $output ne ""
- && $string ne ""
- && substr($output, -1, 1) ne " "
- && substr($string, 0, 1) ne " ";
- $output .= $string;
- }
- }
-
- print STDERR sprintf "%4d: ", $line_number if defined $line_number;
- print STDERR "$caller_name: " if $print_caller;
- print STDERR $output, "\n";
- return;
- }
-}
-
-# This is for a rarely used development feature that allows you to compare two
-# versions of the Unicode standard without having to deal with changes caused
-# by the code points introduced in the later verson. Change the 0 to a SINGLE
-# dotted Unicode release number (e.g. 2.1). Only code points introduced in
-# that release and earlier will be used; later ones are thrown away. You use
-# the version number of the earliest one you want to compare; then run this
-# program on directory structures containing each release, and compare the
-# outputs. These outputs will therefore include only the code points common
-# to both releases, and you can see the changes caused just by the underlying
-# release semantic changes. For versions earlier than 3.2, you must copy a
-# version of DAge.txt into the directory.
-my $string_compare_versions = DEBUG && 0; # e.g., v2.1;
-my $compare_versions = DEBUG
- && $string_compare_versions
- && pack "C*", split /\./, $string_compare_versions;
-
-sub uniques {
- # Returns non-duplicated input values. From "Perl Best Practices:
- # Encapsulated Cleverness". p. 455 in first edition.
-
- my %seen;
- return grep { ! $seen{$_}++ } @_;
-}
-
-$0 = File::Spec->canonpath($0);
-
-my $make_test_script = 0; # ? Should we output a test script
-my $write_unchanged_files = 0; # ? Should we update the output files even if
- # we don't think they have changed
-my $use_directory = ""; # ? Should we chdir somewhere.
-my $pod_directory; # input directory to store the pod file.
-my $pod_file = 'perluniprops';
-my $t_path; # Path to the .t test file
-my $file_list = 'mktables.lst'; # File to store input and output file names.
- # This is used to speed up the build, by not
- # executing the main body of the program if
- # nothing on the list has changed since the
- # previous build
-my $make_list = 1; # ? Should we write $file_list. Set to always
- # make a list so that when the pumpking is
- # preparing a release, s/he won't have to do
- # special things
-my $glob_list = 0; # ? Should we try to include unknown .txt files
- # in the input.
-my $output_range_counts = 1; # ? Should we include the number of code points
- # in ranges in the output
-# Verbosity levels; 0 is quiet
-my $NORMAL_VERBOSITY = 1;
-my $PROGRESS = 2;
-my $VERBOSE = 3;
-
-my $verbosity = $NORMAL_VERBOSITY;
-
-# Process arguments
-while (@ARGV) {
- my $arg = shift @ARGV;
- if ($arg eq '-v') {
- $verbosity = $VERBOSE;
- }
- elsif ($arg eq '-p') {
- $verbosity = $PROGRESS;
- $| = 1; # Flush buffers as we go.
- }
- elsif ($arg eq '-q') {
- $verbosity = 0;
- }
- elsif ($arg eq '-w') {
- $write_unchanged_files = 1; # update the files even if havent changed
- }
- elsif ($arg eq '-check') {
- my $this = shift @ARGV;
- my $ok = shift @ARGV;
- if ($this ne $ok) {
- print "Skipping as check params are not the same.\n";
- exit(0);
- }
- }
- elsif ($arg eq '-P' && defined ($pod_directory = shift)) {
- -d $pod_directory or croak "Directory '$pod_directory' doesn't exist";
- }
- elsif ($arg eq '-maketest' || ($arg eq '-T' && defined ($t_path = shift)))
- {
- $make_test_script = 1;
- }
- elsif ($arg eq '-makelist') {
- $make_list = 1;
- }
- elsif ($arg eq '-C' && defined ($use_directory = shift)) {
- -d $use_directory or croak "Unknown directory '$use_directory'";
- }
- elsif ($arg eq '-L') {
-
- # Existence not tested until have chdir'd
- $file_list = shift;
- }
- elsif ($arg eq '-globlist') {
- $glob_list = 1;
- }
- elsif ($arg eq '-c') {
- $output_range_counts = ! $output_range_counts
- }
- else {
- my $with_c = 'with';
- $with_c .= 'out' if $output_range_counts; # Complements the state
- croak <<END;
-usage: $0 [-c|-p|-q|-v|-w] [-C dir] [-L filelist] [ -P pod_dir ]
- [ -T test_file_path ] [-globlist] [-makelist] [-maketest]
- [-check A B ]
- -c : Output comments $with_c number of code points in ranges
- -q : Quiet Mode: Only output serious warnings.
- -p : Set verbosity level to normal plus show progress.
- -v : Set Verbosity level high: Show progress and non-serious
- warnings
- -w : Write files regardless
- -C dir : Change to this directory before proceeding. All relative paths
- except those specified by the -P and -T options will be done
- with respect to this directory.
- -P dir : Output $pod_file file to directory 'dir'.
- -T path : Create a test script as 'path'; overrides -maketest
- -L filelist : Use alternate 'filelist' instead of standard one
- -globlist : Take as input all non-Test *.txt files in current and sub
- directories
- -maketest : Make test script 'TestProp.pl' in current (or -C directory),
- overrides -T
- -makelist : Rewrite the file list $file_list based on current setup
- -check A B : Executes $0 only if A and B are the same
-END
- }
-}
-
-# Stores the most-recently changed file. If none have changed, can skip the
-# build
-my $youngest = -M $0; # Do this before the chdir!
-
-# Change directories now, because need to read 'version' early.
-if ($use_directory) {
- if ($pod_directory && ! File::Spec->file_name_is_absolute($pod_directory)) {
- $pod_directory = File::Spec->rel2abs($pod_directory);
- }
- if ($t_path && ! File::Spec->file_name_is_absolute($t_path)) {
- $t_path = File::Spec->rel2abs($t_path);
- }
- chdir $use_directory or croak "Failed to chdir to '$use_directory':$!";
- if ($pod_directory && File::Spec->file_name_is_absolute($pod_directory)) {
- $pod_directory = File::Spec->abs2rel($pod_directory);
- }
- if ($t_path && File::Spec->file_name_is_absolute($t_path)) {
- $t_path = File::Spec->abs2rel($t_path);
- }
-}
-
-# Get Unicode version into regular and v-string. This is done now because
-# various tables below get populated based on it. These tables are populated
-# here to be near the top of the file, and so easily seeable by those needing
-# to modify things.
-open my $VERSION, "<", "version"
- or croak "$0: can't open required file 'version': $!\n";
-my $string_version = <$VERSION>;
-close $VERSION;
-chomp $string_version;
-my $v_version = pack "C*", split /\./, $string_version; # v string
-
-# The following are the complete names of properties with property values that
-# are known to not match any code points in some versions of Unicode, but that
-# may change in the future so they should be matchable, hence an empty file is
-# generated for them.
-my @tables_that_may_be_empty = (
- 'Joining_Type=Left_Joining',
- );
-push @tables_that_may_be_empty, 'Script=Common' if $v_version le v4.0.1;
-push @tables_that_may_be_empty, 'Title' if $v_version lt v2.0.0;
-push @tables_that_may_be_empty, 'Script=Katakana_Or_Hiragana'
- if $v_version ge v4.1.0;
-
-# The lists below are hashes, so the key is the item in the list, and the
-# value is the reason why it is in the list. This makes generation of
-# documentation easier.
-
-my %why_suppressed; # No file generated for these.
-
-# Files aren't generated for empty extraneous properties. This is arguable.
-# Extraneous properties generally come about because a property is no longer
-# used in a newer version of Unicode. If we generated a file without code
-# points, programs that used to work on that property will still execute
-# without errors. It just won't ever match (or will always match, with \P{}).
-# This means that the logic is now likely wrong. I (khw) think its better to
-# find this out by getting an error message. Just move them to the table
-# above to change this behavior
-my %why_suppress_if_empty_warn_if_not = (
-
- # It is the only property that has ever officially been removed from the
- # Standard. The database never contained any code points for it.
- 'Special_Case_Condition' => 'Obsolete',
-
- # Apparently never official, but there were code points in some versions of
- # old-style PropList.txt
- 'Non_Break' => 'Obsolete',
-);
-
-# These would normally go in the warn table just above, but they were changed
-# a long time before this program was written, so warnings about them are
-# moot.
-if ($v_version gt v3.2.0) {
- push @tables_that_may_be_empty,
- 'Canonical_Combining_Class=Attached_Below_Left'
-}
-
-# These are listed in the Property aliases file in 5.2, but Unihan is ignored
-# unless explicitly added.
-if ($v_version ge v5.2.0) {
- my $unihan = 'Unihan; remove from list if using Unihan';
- foreach my $table qw (
- kAccountingNumeric
- kOtherNumeric
- kPrimaryNumeric
- kCompatibilityVariant
- kIICore
- kIRG_GSource
- kIRG_HSource
- kIRG_JSource
- kIRG_KPSource
- kIRG_MSource
- kIRG_KSource
- kIRG_TSource
- kIRG_USource
- kIRG_VSource
- kRSUnicode
- )
- {
- $why_suppress_if_empty_warn_if_not{$table} = $unihan;
- }
-}
-
-# Properties that this program ignores.
-my @unimplemented_properties = (
-'Unicode_Radical_Stroke' # Remove if changing to handle this one.
-);
-
-# There are several types of obsolete properties defined by Unicode. These
-# must be hand-edited for every new Unicode release.
-my %why_deprecated; # Generates a deprecated warning message if used.
-my %why_stabilized; # Documentation only
-my %why_obsolete; # Documentation only
-
-{ # Closure
- my $simple = 'Perl uses the more complete version of this property';
- my $unihan = 'Unihan properties are by default not enabled in the Perl core. Instead use CPAN: Unicode::Unihan';
-
- my $other_properties = 'other properties';
- my $contributory = "Used by Unicode internally for generating $other_properties and not intended to be used stand-alone";
- my $why_no_expand = "Easily computed, and yet doesn't cover the common encoding forms (UTF-16/8)",
-
- %why_deprecated = (
- 'Grapheme_Link' => 'Deprecated by Unicode. Use ccc=vr (Canonical_Combining_Class=Virama) instead',
- 'Jamo_Short_Name' => $contributory,
- 'Line_Break=Surrogate' => 'Deprecated by Unicode because surrogates should never appear in well-formed text, and therefore shouldn\'t be the basis for line breaking',
- 'Other_Alphabetic' => $contributory,
- 'Other_Default_Ignorable_Code_Point' => $contributory,
- 'Other_Grapheme_Extend' => $contributory,
- 'Other_ID_Continue' => $contributory,
- 'Other_ID_Start' => $contributory,
- 'Other_Lowercase' => $contributory,
- 'Other_Math' => $contributory,
- 'Other_Uppercase' => $contributory,
- );
-
- %why_suppressed = (
- # There is a lib/unicore/Decomposition.pl (used by normalize.pm) which
- # contains the same information, but without the algorithmically
- # determinable Hangul syllables'. This file is not published, so it's
- # existence is not noted in the comment.
- 'Decomposition_Mapping' => 'Accessible via Unicode::Normalize',
-
- 'ISO_Comment' => 'Apparently no demand for it, but can access it through Unicode::UCD::charinfo. Obsoleted, and code points for it removed in Unicode 5.2',
- 'Unicode_1_Name' => "$simple, and no apparent demand for it, but can access it through Unicode::UCD::charinfo. If there is no later name for a code point, then this one is used instead in charnames",
-
- 'Simple_Case_Folding' => "$simple. Can access this through Unicode::UCD::casefold",
- 'Simple_Lowercase_Mapping' => "$simple. Can access this through Unicode::UCD::charinfo",
- 'Simple_Titlecase_Mapping' => "$simple. Can access this through Unicode::UCD::charinfo",
- 'Simple_Uppercase_Mapping' => "$simple. Can access this through Unicode::UCD::charinfo",
-
- 'Name' => "Accessible via 'use charnames;'",
- 'Name_Alias' => "Accessible via 'use charnames;'",
-
- # These are sort of jumping the gun; deprecation is proposed for
- # Unicode version 6.0, but they have never been exposed by Perl, and
- # likely are soon to be deprecated, so best not to expose them.
- FC_NFKC_Closure => 'Use NFKC_Casefold instead',
- Expands_On_NFC => $why_no_expand,
- Expands_On_NFD => $why_no_expand,
- Expands_On_NFKC => $why_no_expand,
- Expands_On_NFKD => $why_no_expand,
- );
-
- # The following are suppressed because they were made contributory or
- # deprecated by Unicode before Perl ever thought about supporting them.
- foreach my $property ('Jamo_Short_Name', 'Grapheme_Link') {
- $why_suppressed{$property} = $why_deprecated{$property};
- }
-
- # Customize the message for all the 'Other_' properties
- foreach my $property (keys %why_deprecated) {
- next if (my $main_property = $property) !~ s/^Other_//;
- $why_deprecated{$property} =~ s/$other_properties/the $main_property property (which should be used instead)/;
- }
-}
-
-if ($v_version ge 4.0.0) {
- $why_stabilized{'Hyphen'} = 'Use the Line_Break property instead; see www.unicode.org/reports/tr14';
-}
-if ($v_version ge 5.2.0) {
- $why_obsolete{'ISO_Comment'} = 'Code points for it have been removed';
-}
-
-# Probably obsolete forever
-if ($v_version ge v4.1.0) {
- $why_suppressed{'Script=Katakana_Or_Hiragana'} = 'Obsolete. All code points previously matched by this have been moved to "Script=Common"';
-}
-
-# This program can create files for enumerated-like properties, such as
-# 'Numeric_Type'. This file would be the same format as for a string
-# property, with a mapping from code point to its value, so you could look up,
-# for example, the script a code point is in. But no one so far wants this
-# mapping, or they have found another way to get it since this is a new
-# feature. So no file is generated except if it is in this list.
-my @output_mapped_properties = split "\n", <<END;
-END
-
-# If you are using the Unihan database, you need to add the properties that
-# you want to extract from it to this table. For your convenience, the
-# properties in the 5.2 PropertyAliases.txt file are listed, commented out
-my @cjk_properties = split "\n", <<'END';
-#cjkAccountingNumeric; kAccountingNumeric
-#cjkOtherNumeric; kOtherNumeric
-#cjkPrimaryNumeric; kPrimaryNumeric
-#cjkCompatibilityVariant; kCompatibilityVariant
-#cjkIICore ; kIICore
-#cjkIRG_GSource; kIRG_GSource
-#cjkIRG_HSource; kIRG_HSource
-#cjkIRG_JSource; kIRG_JSource
-#cjkIRG_KPSource; kIRG_KPSource
-#cjkIRG_KSource; kIRG_KSource
-#cjkIRG_TSource; kIRG_TSource
-#cjkIRG_USource; kIRG_USource
-#cjkIRG_VSource; kIRG_VSource
-#cjkRSUnicode; kRSUnicode ; Unicode_Radical_Stroke; URS
-END
-
-# Similarly for the property values. For your convenience, the lines in the
-# 5.2 PropertyAliases.txt file are listed. Just remove the first BUT NOT both
-# '#' marks
-my @cjk_property_values = split "\n", <<'END';
-## @missing: 0000..10FFFF; cjkAccountingNumeric; NaN
-## @missing: 0000..10FFFF; cjkCompatibilityVariant; <code point>
-## @missing: 0000..10FFFF; cjkIICore; <none>
-## @missing: 0000..10FFFF; cjkIRG_GSource; <none>
-## @missing: 0000..10FFFF; cjkIRG_HSource; <none>
-## @missing: 0000..10FFFF; cjkIRG_JSource; <none>
-## @missing: 0000..10FFFF; cjkIRG_KPSource; <none>
-## @missing: 0000..10FFFF; cjkIRG_KSource; <none>
-## @missing: 0000..10FFFF; cjkIRG_TSource; <none>
-## @missing: 0000..10FFFF; cjkIRG_USource; <none>
-## @missing: 0000..10FFFF; cjkIRG_VSource; <none>
-## @missing: 0000..10FFFF; cjkOtherNumeric; NaN
-## @missing: 0000..10FFFF; cjkPrimaryNumeric; NaN
-## @missing: 0000..10FFFF; cjkRSUnicode; <none>
-END
-
-# The input files don't list every code point. Those not listed are to be
-# defaulted to some value. Below are hard-coded what those values are for
-# non-binary properties as of 5.1. Starting in 5.0, there are
-# machine-parsable comment lines in the files the give the defaults; so this
-# list shouldn't have to be extended. The claim is that all missing entries
-# for binary properties will default to 'N'. Unicode tried to change that in
-# 5.2, but the beta period produced enough protest that they backed off.
-#
-# The defaults for the fields that appear in UnicodeData.txt in this hash must
-# be in the form that it expects. The others may be synonyms.
-my $CODE_POINT = '<code point>';
-my %default_mapping = (
- Age => "Unassigned",
- # Bidi_Class => Complicated; set in code
- Bidi_Mirroring_Glyph => "",
- Block => 'No_Block',
- Canonical_Combining_Class => 0,
- Case_Folding => $CODE_POINT,
- Decomposition_Mapping => $CODE_POINT,
- Decomposition_Type => 'None',
- East_Asian_Width => "Neutral",
- FC_NFKC_Closure => $CODE_POINT,
- General_Category => 'Cn',
- Grapheme_Cluster_Break => 'Other',
- Hangul_Syllable_Type => 'NA',
- ISO_Comment => "",
- Jamo_Short_Name => "",
- Joining_Group => "No_Joining_Group",
- # Joining_Type => Complicated; set in code
- kIICore => 'N', # Is converted to binary
- #Line_Break => Complicated; set in code
- Lowercase_Mapping => $CODE_POINT,
- Name => "",
- Name_Alias => "",
- NFC_QC => 'Yes',
- NFD_QC => 'Yes',
- NFKC_QC => 'Yes',
- NFKD_QC => 'Yes',
- Numeric_Type => 'None',
- Numeric_Value => 'NaN',
- Script => ($v_version le 4.1.0) ? 'Common' : 'Unknown',
- Sentence_Break => 'Other',
- Simple_Case_Folding => $CODE_POINT,
- Simple_Lowercase_Mapping => $CODE_POINT,
- Simple_Titlecase_Mapping => $CODE_POINT,
- Simple_Uppercase_Mapping => $CODE_POINT,
- Titlecase_Mapping => $CODE_POINT,
- Unicode_1_Name => "",
- Unicode_Radical_Stroke => "",
- Uppercase_Mapping => $CODE_POINT,
- Word_Break => 'Other',
-);
-
-# Below are files that Unicode furnishes, but this program ignores, and why
-my %ignored_files = (
- 'CJKRadicals.txt' => 'Unihan data',
- 'Index.txt' => 'An index, not actual data',
- 'NamedSqProv.txt' => 'Not officially part of the Unicode standard; Append it to NamedSequences.txt if you want to process the contents.',
- 'NamesList.txt' => 'Just adds commentary',
- 'NormalizationCorrections.txt' => 'Data is already in other files.',
- 'Props.txt' => 'Adds nothing to PropList.txt; only in very early releases',
- 'ReadMe.txt' => 'Just comments',
- 'README.TXT' => 'Just comments',
- 'StandardizedVariants.txt' => 'Only for glyph changes, not a Unicode character property. Does not fit into current scheme where one code point is mapped',
-);
-
-### End of externally interesting definitions, except for @input_file_objects
-
-my $HEADER=<<"EOF";
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by $0 from the Unicode
-# database, Version $string_version. Any changes made here will be lost!
-EOF
-
-my $INTERNAL_ONLY=<<"EOF";
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-EOF
-
-my $DEVELOPMENT_ONLY=<<"EOF";
-# !!!!!!! DEVELOPMENT USE ONLY !!!!!!!
-# This file contains information artificially constrained to code points
-# present in Unicode release $string_compare_versions.
-# IT CANNOT BE RELIED ON. It is for use during development only and should
-# not be used for production.
-
-EOF
-
-my $LAST_UNICODE_CODEPOINT_STRING = "10FFFF";
-my $LAST_UNICODE_CODEPOINT = hex $LAST_UNICODE_CODEPOINT_STRING;
-my $MAX_UNICODE_CODEPOINTS = $LAST_UNICODE_CODEPOINT + 1;
-
-# Matches legal code point. 4-6 hex numbers, If there are 6, the first
-# two must be 10; if there are 5, the first must not be a 0. Written this way
-# to decrease backtracking
-my $code_point_re =
- qr/ \b (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b/x;
-
-# This matches the beginning of the line in the Unicode db files that give the
-# defaults for code points not listed (i.e., missing) in the file. The code
-# depends on this ending with a semi-colon, so it can assume it is a valid
-# field when the line is split() by semi-colons
-my $missing_defaults_prefix =
- qr/^#\s+\@missing:\s+0000\.\.$LAST_UNICODE_CODEPOINT_STRING\s*;/;
-
-# Property types. Unicode has more types, but these are sufficient for our
-# purposes.
-my $UNKNOWN = -1; # initialized to illegal value
-my $NON_STRING = 1; # Either binary or enum
-my $BINARY = 2;
-my $ENUM = 3; # Include catalog
-my $STRING = 4; # Anything else: string or misc
-
-# Some input files have lines that give default values for code points not
-# contained in the file. Sometimes these should be ignored.
-my $NO_DEFAULTS = 0; # Must evaluate to false
-my $NOT_IGNORED = 1;
-my $IGNORED = 2;
-
-# Range types. Each range has a type. Most ranges are type 0, for normal,
-# and will appear in the main body of the tables in the output files, but
-# there are other types of ranges as well, listed below, that are specially
-# handled. There are pseudo-types as well that will never be stored as a
-# type, but will affect the calculation of the type.
-
-# 0 is for normal, non-specials
-my $MULTI_CP = 1; # Sequence of more than code point
-my $HANGUL_SYLLABLE = 2;
-my $CP_IN_NAME = 3; # The NAME contains the code point appended to it.
-my $NULL = 4; # The map is to the null string; utf8.c can't
- # handle these, nor is there an accepted syntax
- # for them in \p{} constructs
-my $COMPUTE_NO_MULTI_CP = 5; # Pseudo-type; means that ranges that would
- # otherwise be $MULTI_CP type are instead type 0
-
-# process_generic_property_file() can accept certain overrides in its input.
-# Each of these must begin AND end with $CMD_DELIM.
-my $CMD_DELIM = "\a";
-my $REPLACE_CMD = 'replace'; # Override the Replace
-my $MAP_TYPE_CMD = 'map_type'; # Override the Type
-
-my $NO = 0;
-my $YES = 1;
-
-# Values for the Replace argument to add_range.
-# $NO # Don't replace; add only the code points not
- # already present.
-my $IF_NOT_EQUIVALENT = 1; # Replace only under certain conditions; details in
- # the comments at the subroutine definition.
-my $UNCONDITIONALLY = 2; # Replace without conditions.
-my $MULTIPLE = 4; # Don't replace, but add a duplicate record if
- # already there
-
-# Flags to give property statuses. The phrases are to remind maintainers that
-# if the flag is changed, the indefinite article referring to it in the
-# documentation may need to be as well.
-my $NORMAL = "";
-my $SUPPRESSED = 'z'; # The character should never actually be seen, since
- # it is suppressed
-my $PLACEHOLDER = 'P'; # Implies no pod entry generated
-my $DEPRECATED = 'D';
-my $a_bold_deprecated = "a 'B<$DEPRECATED>'";
-my $A_bold_deprecated = "A 'B<$DEPRECATED>'";
-my $DISCOURAGED = 'X';
-my $a_bold_discouraged = "an 'B<$DISCOURAGED>'";
-my $A_bold_discouraged = "An 'B<$DISCOURAGED>'";
-my $STRICTER = 'T';
-my $a_bold_stricter = "a 'B<$STRICTER>'";
-my $A_bold_stricter = "A 'B<$STRICTER>'";
-my $STABILIZED = 'S';
-my $a_bold_stabilized = "an 'B<$STABILIZED>'";
-my $A_bold_stabilized = "An 'B<$STABILIZED>'";
-my $OBSOLETE = 'O';
-my $a_bold_obsolete = "an 'B<$OBSOLETE>'";
-my $A_bold_obsolete = "An 'B<$OBSOLETE>'";
-
-my %status_past_participles = (
- $DISCOURAGED => 'discouraged',
- $SUPPRESSED => 'should never be generated',
- $STABILIZED => 'stabilized',
- $OBSOLETE => 'obsolete',
- $DEPRECATED => 'deprecated',
-);
-
-# The format of the values of the map tables:
-my $BINARY_FORMAT = 'b';
-my $DECIMAL_FORMAT = 'd';
-my $FLOAT_FORMAT = 'f';
-my $INTEGER_FORMAT = 'i';
-my $HEX_FORMAT = 'x';
-my $RATIONAL_FORMAT = 'r';
-my $STRING_FORMAT = 's';
-
-my %map_table_formats = (
- $BINARY_FORMAT => 'binary',
- $DECIMAL_FORMAT => 'single decimal digit',
- $FLOAT_FORMAT => 'floating point number',
- $INTEGER_FORMAT => 'integer',
- $HEX_FORMAT => 'positive hex whole number; a code point',
- $RATIONAL_FORMAT => 'rational: an integer or a fraction',
- $STRING_FORMAT => 'arbitrary string',
-);
-
-# Unicode didn't put such derived files in a separate directory at first.
-my $EXTRACTED_DIR = (-d 'extracted') ? 'extracted' : "";
-my $EXTRACTED = ($EXTRACTED_DIR) ? "$EXTRACTED_DIR/" : "";
-my $AUXILIARY = 'auxiliary';
-
-# Hashes that will eventually go into Heavy.pl for the use of utf8_heavy.pl
-my %loose_to_file_of; # loosely maps table names to their respective
- # files
-my %stricter_to_file_of; # same; but for stricter mapping.
-my %nv_floating_to_rational; # maps numeric values floating point numbers to
- # their rational equivalent
-my %loose_property_name_of; # Loosely maps property names to standard form
-
-# These constants names and values were taken from the Unicode standard,
-# version 5.1, section 3.12. They are used in conjunction with Hangul
-# syllables
-my $SBase = 0xAC00;
-my $LBase = 0x1100;
-my $VBase = 0x1161;
-my $TBase = 0x11A7;
-my $SCount = 11172;
-my $LCount = 19;
-my $VCount = 21;
-my $TCount = 28;
-my $NCount = $VCount * $TCount;
-
-# For Hangul syllables; These store the numbers from Jamo.txt in conjunction
-# with the above published constants.
-my %Jamo;
-my %Jamo_L; # Leading consonants
-my %Jamo_V; # Vowels
-my %Jamo_T; # Trailing consonants
-
-my @backslash_X_tests; # List of tests read in for testing \X
-my @unhandled_properties; # Will contain a list of properties found in
- # the input that we didn't process.
-my @match_properties; # Properties that have match tables, to be
- # listed in the pod
-my @map_properties; # Properties that get map files written
-my @named_sequences; # NamedSequences.txt contents.
-my %potential_files; # Generated list of all .txt files in the directory
- # structure so we can warn if something is being
- # ignored.
-my @files_actually_output; # List of files we generated.
-my @more_Names; # Some code point names are compound; this is used
- # to store the extra components of them.
-my $MIN_FRACTION_LENGTH = 3; # How many digits of a floating point number at
- # the minimum before we consider it equivalent to a
- # candidate rational
-my $MAX_FLOATING_SLOP = 10 ** - $MIN_FRACTION_LENGTH; # And in floating terms
-
-# These store references to certain commonly used property objects
-my $gc;
-my $perl;
-my $block;
-
-# Are there conflicting names because of beginning with 'In_', or 'Is_'
-my $has_In_conflicts = 0;
-my $has_Is_conflicts = 0;
-
-sub internal_file_to_platform ($) {
- # Convert our file paths which have '/' separators to those of the
- # platform.
-
- my $file = shift;
- return undef unless defined $file;
-
- return File::Spec->join(split '/', $file);
-}
-
-sub file_exists ($) { # platform independent '-e'. This program internally
- # uses slash as a path separator.
- my $file = shift;
- return 0 if ! defined $file;
- return -e internal_file_to_platform($file);
-}
-
-sub objaddr($) {
- # Returns the address of the blessed input object.
- # It doesn't check for blessedness because that would do a string eval
- # every call, and the program is structured so that this is never called
- # for a non-blessed object.
-
- no overloading; # If overloaded, numifying below won't work.
-
- # Numifying a ref gives its address.
- return 0 + $_[0];
-}
-
-# Commented code below should work on Perl 5.8.
-## This 'require' doesn't necessarily work in miniperl, and even if it does,
-## the native perl version of it (which is what would operate under miniperl)
-## is extremely slow, as it does a string eval every call.
-#my $has_fast_scalar_util = $ !~ /miniperl/
-# && defined eval "require Scalar::Util";
-#
-#sub objaddr($) {
-# # Returns the address of the blessed input object. Uses the XS version if
-# # available. It doesn't check for blessedness because that would do a
-# # string eval every call, and the program is structured so that this is
-# # never called for a non-blessed object.
-#
-# return Scalar::Util::refaddr($_[0]) if $has_fast_scalar_util;
-#
-# # Check at least that is a ref.
-# my $pkg = ref($_[0]) or return undef;
-#
-# # Change to a fake package to defeat any overloaded stringify
-# bless $_[0], 'main::Fake';
-#
-# # Numifying a ref gives its address.
-# my $addr = 0 + $_[0];
-#
-# # Return to original class
-# bless $_[0], $pkg;
-# return $addr;
-#}
-
-sub max ($$) {
- my $a = shift;
- my $b = shift;
- return $a if $a >= $b;
- return $b;
-}
-
-sub min ($$) {
- my $a = shift;
- my $b = shift;
- return $a if $a <= $b;
- return $b;
-}
-
-sub clarify_number ($) {
- # This returns the input number with underscores inserted every 3 digits
- # in large (5 digits or more) numbers. Input must be entirely digits, not
- # checked.
-
- my $number = shift;
- my $pos = length($number) - 3;
- return $number if $pos <= 1;
- while ($pos > 0) {
- substr($number, $pos, 0) = '_';
- $pos -= 3;
- }
- return $number;
-}
-
-
-package Carp;
-
-# These routines give a uniform treatment of messages in this program. They
-# are placed in the Carp package to cause the stack trace to not include them,
-# although an alternative would be to use another package and set @CARP_NOT
-# for it.
-
-our $Verbose = 1 if main::DEBUG; # Useful info when debugging
-
-# This is a work-around suggested by Nicholas Clark to fix a problem with Carp
-# and overload trying to load Scalar:Util under miniperl. See
-# http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2009-11/msg01057.html
-undef $overload::VERSION;
-
-sub my_carp {
- my $message = shift || "";
- my $nofold = shift || 0;
-
- if ($message) {
- $message = main::join_lines($message);
- $message =~ s/^$0: *//; # Remove initial program name
- $message =~ s/[.;,]+$//; # Remove certain ending punctuation
- $message = "\n$0: $message;";
-
- # Fold the message with program name, semi-colon end punctuation
- # (which looks good with the message that carp appends to it), and a
- # hanging indent for continuation lines.
- $message = main::simple_fold($message, "", 4) unless $nofold;
- $message =~ s/\n$//; # Remove the trailing nl so what carp
- # appends is to the same line
- }
-
- return $message if defined wantarray; # If a caller just wants the msg
-
- carp $message;
- return;
-}
-
-sub my_carp_bug {
- # This is called when it is clear that the problem is caused by a bug in
- # this program.
-
- my $message = shift;
- $message =~ s/^$0: *//;
- $message = my_carp("Bug in $0. Please report it by running perlbug or if that is unavailable, by sending email to perbug\@perl.org:\n$message");
- carp $message;
- return;
-}
-
-sub carp_too_few_args {
- if (@_ != 2) {
- my_carp_bug("Wrong number of arguments: to 'carp_too_few_arguments'. No action taken.");
- return;
- }
-
- my $args_ref = shift;
- my $count = shift;
-
- my_carp_bug("Need at least $count arguments to "
- . (caller 1)[3]
- . ". Instead got: '"
- . join ', ', @$args_ref
- . "'. No action taken.");
- return;
-}
-
-sub carp_extra_args {
- my $args_ref = shift;
- my_carp_bug("Too many arguments to 'carp_extra_args': (" . join(', ', @_) . "); Extras ignored.") if @_;
-
- unless (ref $args_ref) {
- my_carp_bug("Argument to 'carp_extra_args' ($args_ref) must be a ref. Not checking arguments.");
- return;
- }
- my ($package, $file, $line) = caller;
- my $subroutine = (caller 1)[3];
-
- my $list;
- if (ref $args_ref eq 'HASH') {
- foreach my $key (keys %$args_ref) {
- $args_ref->{$key} = $UNDEF unless defined $args_ref->{$key};
- }
- $list = join ', ', each %{$args_ref};
- }
- elsif (ref $args_ref eq 'ARRAY') {
- foreach my $arg (@$args_ref) {
- $arg = $UNDEF unless defined $arg;
- }
- $list = join ', ', @$args_ref;
- }
- else {
- my_carp_bug("Can't cope with ref "
- . ref($args_ref)
- . " . argument to 'carp_extra_args'. Not checking arguments.");
- return;
- }
-
- my_carp_bug("Unrecognized parameters in options: '$list' to $subroutine. Skipped.");
- return;
-}
-
-package main;
-
-{ # Closure
-
- # This program uses the inside-out method for objects, as recommended in
- # "Perl Best Practices". This closure aids in generating those. There
- # are two routines. setup_package() is called once per package to set
- # things up, and then set_access() is called for each hash representing a
- # field in the object. These routines arrange for the object to be
- # properly destroyed when no longer used, and for standard accessor
- # functions to be generated. If you need more complex accessors, just
- # write your own and leave those accesses out of the call to set_access().
- # More details below.
-
- my %constructor_fields; # fields that are to be used in constructors; see
- # below
-
- # The values of this hash will be the package names as keys to other
- # hashes containing the name of each field in the package as keys, and
- # references to their respective hashes as values.
- my %package_fields;
-
- sub setup_package {
- # Sets up the package, creating standard DESTROY and dump methods
- # (unless already defined). The dump method is used in debugging by
- # simple_dumper().
- # The optional parameters are:
- # a) a reference to a hash, that gets populated by later
- # set_access() calls with one of the accesses being
- # 'constructor'. The caller can then refer to this, but it is
- # not otherwise used by these two routines.
- # b) a reference to a callback routine to call during destruction
- # of the object, before any fields are actually destroyed
-
- my %args = @_;
- my $constructor_ref = delete $args{'Constructor_Fields'};
- my $destroy_callback = delete $args{'Destroy_Callback'};
- Carp::carp_extra_args(\@_) if main::DEBUG && %args;
-
- my %fields;
- my $package = (caller)[0];
-
- $package_fields{$package} = \%fields;
- $constructor_fields{$package} = $constructor_ref;
-
- unless ($package->can('DESTROY')) {
- my $destroy_name = "${package}::DESTROY";
- no strict "refs";
-
- # Use typeglob to give the anonymous subroutine the name we want
- *$destroy_name = sub {
- my $self = shift;
- my $addr = main::objaddr($self);
-
- $self->$destroy_callback if $destroy_callback;
- foreach my $field (keys %{$package_fields{$package}}) {
- #print STDERR __LINE__, ": Destroying ", ref $self, " ", sprintf("%04X", $addr), ": ", $field, "\n";
- delete $package_fields{$package}{$field}{$addr};
- }
- return;
- }
- }
-
- unless ($package->can('dump')) {
- my $dump_name = "${package}::dump";
- no strict "refs";
- *$dump_name = sub {
- my $self = shift;
- return dump_inside_out($self, $package_fields{$package}, @_);
- }
- }
- return;
- }
-
- sub set_access {
- # Arrange for the input field to be garbage collected when no longer
- # needed. Also, creates standard accessor functions for the field
- # based on the optional parameters-- none if none of these parameters:
- # 'addable' creates an 'add_NAME()' accessor function.
- # 'readable' or 'readable_array' creates a 'NAME()' accessor
- # function.
- # 'settable' creates a 'set_NAME()' accessor function.
- # 'constructor' doesn't create an accessor function, but adds the
- # field to the hash that was previously passed to
- # setup_package();
- # Any of the accesses can be abbreviated down, so that 'a', 'ad',
- # 'add' etc. all mean 'addable'.
- # The read accessor function will work on both array and scalar
- # values. If another accessor in the parameter list is 'a', the read
- # access assumes an array. You can also force it to be array access
- # by specifying 'readable_array' instead of 'readable'
- #
- # A sort-of 'protected' access can be set-up by preceding the addable,
- # readable or settable with some initial portion of 'protected_' (but,
- # the underscore is required), like 'p_a', 'pro_set', etc. The
- # "protection" is only by convention. All that happens is that the
- # accessor functions' names begin with an underscore. So instead of
- # calling set_foo, the call is _set_foo. (Real protection could be
- # accomplished by having a new subroutine, end_package called at the
- # end of each package, and then storing the __LINE__ ranges and
- # checking them on every accessor. But that is way overkill.)
-
- # We create anonymous subroutines as the accessors and then use
- # typeglobs to assign them to the proper package and name
-
- my $name = shift; # Name of the field
- my $field = shift; # Reference to the inside-out hash containing the
- # field
-
- my $package = (caller)[0];
-
- if (! exists $package_fields{$package}) {
- croak "$0: Must call 'setup_package' before 'set_access'";
- }
-
- # Stash the field so DESTROY can get it.
- $package_fields{$package}{$name} = $field;
-
- # Remaining arguments are the accessors. For each...
- foreach my $access (@_) {
- my $access = lc $access;
-
- my $protected = "";
-
- # Match the input as far as it goes.
- if ($access =~ /^(p[^_]*)_/) {
- $protected = $1;
- if (substr('protected_', 0, length $protected)
- eq $protected)
- {
-
- # Add 1 for the underscore not included in $protected
- $access = substr($access, length($protected) + 1);
- $protected = '_';
- }
- else {
- $protected = "";
- }
- }
-
- if (substr('addable', 0, length $access) eq $access) {
- my $subname = "${package}::${protected}add_$name";
- no strict "refs";
-
- # add_ accessor. Don't add if already there, which we
- # determine using 'eq' for scalars and '==' otherwise.
- *$subname = sub {
- use strict "refs";
- return Carp::carp_too_few_args(\@_, 2) if main::DEBUG && @_ < 2;
- my $self = shift;
- my $value = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
- if (ref $value) {
- return if grep { $value == $_ }
- @{$field->{main::objaddr $self}};
- }
- else {
- return if grep { $value eq $_ }
- @{$field->{main::objaddr $self}};
- }
- push @{$field->{main::objaddr $self}}, $value;
- return;
- }
- }
- elsif (substr('constructor', 0, length $access) eq $access) {
- if ($protected) {
- Carp::my_carp_bug("Can't set-up 'protected' constructors")
- }
- else {
- $constructor_fields{$package}{$name} = $field;
- }
- }
- elsif (substr('readable_array', 0, length $access) eq $access) {
-
- # Here has read access. If one of the other parameters for
- # access is array, or this one specifies array (by being more
- # than just 'readable_'), then create a subroutine that
- # assumes the data is an array. Otherwise just a scalar
- my $subname = "${package}::${protected}$name";
- if (grep { /^a/i } @_
- or length($access) > length('readable_'))
- {
- no strict "refs";
- *$subname = sub {
- use strict "refs";
- Carp::carp_extra_args(\@_) if main::DEBUG && @_ > 1;
- my $addr = main::objaddr $_[0];
- if (ref $field->{$addr} ne 'ARRAY') {
- my $type = ref $field->{$addr};
- $type = 'scalar' unless $type;
- Carp::my_carp_bug("Trying to read $name as an array when it is a $type. Big problems.");
- return;
- }
- return scalar @{$field->{$addr}} unless wantarray;
-
- # Make a copy; had problems with caller modifying the
- # original otherwise
- my @return = @{$field->{$addr}};
- return @return;
- }
- }
- else {
-
- # Here not an array value, a simpler function.
- no strict "refs";
- *$subname = sub {
- use strict "refs";
- Carp::carp_extra_args(\@_) if main::DEBUG && @_ > 1;
- return $field->{main::objaddr $_[0]};
- }
- }
- }
- elsif (substr('settable', 0, length $access) eq $access) {
- my $subname = "${package}::${protected}set_$name";
- no strict "refs";
- *$subname = sub {
- use strict "refs";
- if (main::DEBUG) {
- return Carp::carp_too_few_args(\@_, 2) if @_ < 2;
- Carp::carp_extra_args(\@_) if @_ > 2;
- }
- # $self is $_[0]; $value is $_[1]
- $field->{main::objaddr $_[0]} = $_[1];
- return;
- }
- }
- else {
- Carp::my_carp_bug("Unknown accessor type $access. No accessor set.");
- }
- }
- return;
- }
-}
-
-package Input_file;
-
-# All input files use this object, which stores various attributes about them,
-# and provides for convenient, uniform handling. The run method wraps the
-# processing. It handles all the bookkeeping of opening, reading, and closing
-# the file, returning only significant input lines.
-#
-# Each object gets a handler which processes the body of the file, and is
-# called by run(). Most should use the generic, default handler, which has
-# code scrubbed to handle things you might not expect. A handler should
-# basically be a while(next_line()) {...} loop.
-#
-# You can also set up handlers to
-# 1) call before the first line is read for pre processing
-# 2) call to adjust each line of the input before the main handler gets them
-# 3) call upon EOF before the main handler exits its loop
-# 4) call at the end for post processing
-#
-# $_ is used to store the input line, and is to be filtered by the
-# each_line_handler()s. So, if the format of the line is not in the desired
-# format for the main handler, these are used to do that adjusting. They can
-# be stacked (by enclosing them in an [ anonymous array ] in the constructor,
-# so the $_ output of one is used as the input to the next. None of the other
-# handlers are stackable, but could easily be changed to be so.
-#
-# Most of the handlers can call insert_lines() or insert_adjusted_lines()
-# which insert the parameters as lines to be processed before the next input
-# file line is read. This allows the EOF handler to flush buffers, for
-# example. The difference between the two routines is that the lines inserted
-# by insert_lines() are subjected to the each_line_handler()s. (So if you
-# called it from such a handler, you would get infinite recursion.) Lines
-# inserted by insert_adjusted_lines() go directly to the main handler without
-# any adjustments. If the post-processing handler calls any of these, there
-# will be no effect. Some error checking for these conditions could be added,
-# but it hasn't been done.
-#
-# carp_bad_line() should be called to warn of bad input lines, which clears $_
-# to prevent further processing of the line. This routine will output the
-# message as a warning once, and then keep a count of the lines that have the
-# same message, and output that count at the end of the file's processing.
-# This keeps the number of messages down to a manageable amount.
-#
-# get_missings() should be called to retrieve any @missing input lines.
-# Messages will be raised if this isn't done if the options aren't to ignore
-# missings.
-
-sub trace { return main::trace(@_); }
-
-{ # Closure
- # Keep track of fields that are to be put into the constructor.
- my %constructor_fields;
-
- main::setup_package(Constructor_Fields => \%constructor_fields);
-
- my %file; # Input file name, required
- main::set_access('file', \%file, qw{ c r });
-
- my %first_released; # Unicode version file was first released in, required
- main::set_access('first_released', \%first_released, qw{ c r });
-
- my %handler; # Subroutine to process the input file, defaults to
- # 'process_generic_property_file'
- main::set_access('handler', \%handler, qw{ c });
-
- my %property;
- # name of property this file is for. defaults to none, meaning not
- # applicable, or is otherwise determinable, for example, from each line.
- main::set_access('property', \%property, qw{ c });
-
- my %optional;
- # If this is true, the file is optional. If not present, no warning is
- # output. If it is present, the string given by this parameter is
- # evaluated, and if false the file is not processed.
- main::set_access('optional', \%optional, 'c', 'r');
-
- my %non_skip;
- # This is used for debugging, to skip processing of all but a few input
- # files. Add 'non_skip => 1' to the constructor for those files you want
- # processed when you set the $debug_skip global.
- main::set_access('non_skip', \%non_skip, 'c');
-
- my %skip;
- # This is used to skip processing of this input file semi-permanently.
- # It is used for files that we aren't planning to process anytime soon,
- # but want to allow to be in the directory and not raise a message that we
- # are not handling. Mostly for test files. This is in contrast to the
- # non_skip element, which is supposed to be used very temporarily for
- # debugging. Sets 'optional' to 1
- main::set_access('skip', \%skip, 'c');
-
- my %each_line_handler;
- # list of subroutines to look at and filter each non-comment line in the
- # file. defaults to none. The subroutines are called in order, each is
- # to adjust $_ for the next one, and the final one adjusts it for
- # 'handler'
- main::set_access('each_line_handler', \%each_line_handler, 'c');
-
- my %has_missings_defaults;
- # ? Are there lines in the file giving default values for code points
- # missing from it?. Defaults to NO_DEFAULTS. Otherwise NOT_IGNORED is
- # the norm, but IGNORED means it has such lines, but the handler doesn't
- # use them. Having these three states allows us to catch changes to the
- # UCD that this program should track
- main::set_access('has_missings_defaults',
- \%has_missings_defaults, qw{ c r });
-
- my %pre_handler;
- # Subroutine to call before doing anything else in the file. If undef, no
- # such handler is called.
- main::set_access('pre_handler', \%pre_handler, qw{ c });
-
- my %eof_handler;
- # Subroutine to call upon getting an EOF on the input file, but before
- # that is returned to the main handler. This is to allow buffers to be
- # flushed. The handler is expected to call insert_lines() or
- # insert_adjusted() with the buffered material
- main::set_access('eof_handler', \%eof_handler, qw{ c r });
-
- my %post_handler;
- # Subroutine to call after all the lines of the file are read in and
- # processed. If undef, no such handler is called.
- main::set_access('post_handler', \%post_handler, qw{ c });
-
- my %progress_message;
- # Message to print to display progress in lieu of the standard one
- main::set_access('progress_message', \%progress_message, qw{ c });
-
- my %handle;
- # cache open file handle, internal. Is undef if file hasn't been
- # processed at all, empty if has;
- main::set_access('handle', \%handle);
-
- my %added_lines;
- # cache of lines added virtually to the file, internal
- main::set_access('added_lines', \%added_lines);
-
- my %errors;
- # cache of errors found, internal
- main::set_access('errors', \%errors);
-
- my %missings;
- # storage of '@missing' defaults lines
- main::set_access('missings', \%missings);
-
- sub new {
- my $class = shift;
-
- my $self = bless \do{ my $anonymous_scalar }, $class;
- my $addr = main::objaddr($self);
-
- # Set defaults
- $handler{$addr} = \&main::process_generic_property_file;
- $non_skip{$addr} = 0;
- $skip{$addr} = 0;
- $has_missings_defaults{$addr} = $NO_DEFAULTS;
- $handle{$addr} = undef;
- $added_lines{$addr} = [ ];
- $each_line_handler{$addr} = [ ];
- $errors{$addr} = { };
- $missings{$addr} = [ ];
-
- # Two positional parameters.
- return Carp::carp_too_few_args(\@_, 2) if main::DEBUG && @_ < 2;
- $file{$addr} = main::internal_file_to_platform(shift);
- $first_released{$addr} = shift;
-
- # The rest of the arguments are key => value pairs
- # %constructor_fields has been set up earlier to list all possible
- # ones. Either set or push, depending on how the default has been set
- # up just above.
- my %args = @_;
- foreach my $key (keys %args) {
- my $argument = $args{$key};
-
- # Note that the fields are the lower case of the constructor keys
- my $hash = $constructor_fields{lc $key};
- if (! defined $hash) {
- Carp::my_carp_bug("Unrecognized parameters '$key => $argument' to new() for $self. Skipped");
- next;
- }
- if (ref $hash->{$addr} eq 'ARRAY') {
- if (ref $argument eq 'ARRAY') {
- foreach my $argument (@{$argument}) {
- next if ! defined $argument;
- push @{$hash->{$addr}}, $argument;
- }
- }
- else {
- push @{$hash->{$addr}}, $argument if defined $argument;
- }
- }
- else {
- $hash->{$addr} = $argument;
- }
- delete $args{$key};
- };
-
- # If the file has a property for it, it means that the property is not
- # listed in the file's entries. So add a handler to the list of line
- # handlers to insert the property name into the lines, to provide a
- # uniform interface to the final processing subroutine.
- # the final code doesn't have to worry about that.
- if ($property{$addr}) {
- push @{$each_line_handler{$addr}}, \&_insert_property_into_line;
- }
-
- if ($non_skip{$addr} && ! $debug_skip && $verbosity) {
- print "Warning: " . __PACKAGE__ . " constructor for $file{$addr} has useless 'non_skip' in it\n";
- }
-
- $optional{$addr} = 1 if $skip{$addr};
-
- return $self;
- }
-
-
- use overload
- fallback => 0,
- qw("") => "_operator_stringify",
- "." => \&main::_operator_dot,
- ;
-
- sub _operator_stringify {
- my $self = shift;
-
- return __PACKAGE__ . " object for " . $self->file;
- }
-
- # flag to make sure extracted files are processed early
- my $seen_non_extracted_non_age = 0;
-
- sub run {
- # Process the input object $self. This opens and closes the file and
- # calls all the handlers for it. Currently, this can only be called
- # once per file, as it destroy's the EOF handler
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- my $file = $file{$addr};
-
- # Don't process if not expecting this file (because released later
- # than this Unicode version), and isn't there. This means if someone
- # copies it into an earlier version's directory, we will go ahead and
- # process it.
- return if $first_released{$addr} gt $v_version && ! -e $file;
-
- # If in debugging mode and this file doesn't have the non-skip
- # flag set, and isn't one of the critical files, skip it.
- if ($debug_skip
- && $first_released{$addr} ne v0
- && ! $non_skip{$addr})
- {
- print "Skipping $file in debugging\n" if $verbosity;
- return;
- }
-
- # File could be optional
- if ($optional{$addr}) {
- return unless -e $file;
- my $result = eval $optional{$addr};
- if (! defined $result) {
- Carp::my_carp_bug("Got '$@' when tried to eval $optional{$addr}. $file Skipped.");
- return;
- }
- if (! $result) {
- if ($verbosity) {
- print STDERR "Skipping processing input file '$file' because '$optional{$addr}' is not true\n";
- }
- return;
- }
- }
-
- if (! defined $file || ! -e $file) {
-
- # If the file doesn't exist, see if have internal data for it
- # (based on first_released being 0).
- if ($first_released{$addr} eq v0) {
- $handle{$addr} = 'pretend_is_open';
- }
- else {
- if (! $optional{$addr} # File could be optional
- && $v_version ge $first_released{$addr})
- {
- print STDERR "Skipping processing input file '$file' because not found\n" if $v_version ge $first_released{$addr};
- }
- return;
- }
- }
- else {
-
- # Here, the file exists. Some platforms may change the case of
- # its name
- if ($seen_non_extracted_non_age) {
- if ($file =~ /$EXTRACTED/i) {
- Carp::my_carp_bug(join_lines(<<END
-$file should be processed just after the 'Prop...Alias' files, and before
-anything not in the $EXTRACTED_DIR directory. Proceeding, but the results may
-have subtle problems
-END
- ));
- }
- }
- elsif ($EXTRACTED_DIR
- && $first_released{$addr} ne v0
- && $file !~ /$EXTRACTED/i
- && lc($file) ne 'dage.txt')
- {
- # We don't set this (by the 'if' above) if we have no
- # extracted directory, so if running on an early version,
- # this test won't work. Not worth worrying about.
- $seen_non_extracted_non_age = 1;
- }
-
- # And mark the file as having being processed, and warn if it
- # isn't a file we are expecting. As we process the files,
- # they are deleted from the hash, so any that remain at the
- # end of the program are files that we didn't process.
- my $fkey = File::Spec->rel2abs($file);
- my $expecting = delete $potential_files{$fkey};
- $expecting = delete $potential_files{lc($fkey)} unless defined $expecting;
- Carp::my_carp("Was not expecting '$file'.") if
- ! $expecting
- && ! defined $handle{$addr};
-
- # Having deleted from expected files, we can quit if not to do
- # anything. Don't print progress unless really want verbosity
- if ($skip{$addr}) {
- print "Skipping $file.\n" if $verbosity >= $VERBOSE;
- return;
- }
-
- # Open the file, converting the slashes used in this program
- # into the proper form for the OS
- my $file_handle;
- if (not open $file_handle, "<", $file) {
- Carp::my_carp("Can't open $file. Skipping: $!");
- return 0;
- }
- $handle{$addr} = $file_handle; # Cache the open file handle
- }
-
- if ($verbosity >= $PROGRESS) {
- if ($progress_message{$addr}) {
- print "$progress_message{$addr}\n";
- }
- else {
- # If using a virtual file, say so.
- print "Processing ", (-e $file)
- ? $file
- : "substitute $file",
- "\n";
- }
- }
-
-
- # Call any special handler for before the file.
- &{$pre_handler{$addr}}($self) if $pre_handler{$addr};
-
- # Then the main handler
- &{$handler{$addr}}($self);
-
- # Then any special post-file handler.
- &{$post_handler{$addr}}($self) if $post_handler{$addr};
-
- # If any errors have been accumulated, output the counts (as the first
- # error message in each class was output when it was encountered).
- if ($errors{$addr}) {
- my $total = 0;
- my $types = 0;
- foreach my $error (keys %{$errors{$addr}}) {
- $total += $errors{$addr}->{$error};
- delete $errors{$addr}->{$error};
- $types++;
- }
- if ($total > 1) {
- my $message
- = "A total of $total lines had errors in $file. ";
-
- $message .= ($types == 1)
- ? '(Only the first one was displayed.)'
- : '(Only the first of each type was displayed.)';
- Carp::my_carp($message);
- }
- }
-
- if (@{$missings{$addr}}) {
- Carp::my_carp_bug("Handler for $file didn't look at all the \@missing lines. Generated tables likely are wrong");
- }
-
- # If a real file handle, close it.
- close $handle{$addr} or Carp::my_carp("Can't close $file: $!") if
- ref $handle{$addr};
- $handle{$addr} = ""; # Uses empty to indicate that has already seen
- # the file, as opposed to undef
- return;
- }
-
- sub next_line {
- # Sets $_ to be the next logical input line, if any. Returns non-zero
- # if such a line exists. 'logical' means that any lines that have
- # been added via insert_lines() will be returned in $_ before the file
- # is read again.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- # Here the file is open (or if the handle is not a ref, is an open
- # 'virtual' file). Get the next line; any inserted lines get priority
- # over the file itself.
- my $adjusted;
-
- LINE:
- while (1) { # Loop until find non-comment, non-empty line
- #local $to_trace = 1 if main::DEBUG;
- my $inserted_ref = shift @{$added_lines{$addr}};
- if (defined $inserted_ref) {
- ($adjusted, $_) = @{$inserted_ref};
- trace $adjusted, $_ if main::DEBUG && $to_trace;
- return 1 if $adjusted;
- }
- else {
- last if ! ref $handle{$addr}; # Don't read unless is real file
- last if ! defined ($_ = readline $handle{$addr});
- }
- chomp;
- trace $_ if main::DEBUG && $to_trace;
-
- # See if this line is the comment line that defines what property
- # value that code points that are not listed in the file should
- # have. The format or existence of these lines is not guaranteed
- # by Unicode since they are comments, but the documentation says
- # that this was added for machine-readability, so probably won't
- # change. This works starting in Unicode Version 5.0. They look
- # like:
- #
- # @missing: 0000..10FFFF; Not_Reordered
- # @missing: 0000..10FFFF; Decomposition_Mapping; <code point>
- # @missing: 0000..10FFFF; ; NaN
- #
- # Save the line for a later get_missings() call.
- if (/$missing_defaults_prefix/) {
- if ($has_missings_defaults{$addr} == $NO_DEFAULTS) {
- $self->carp_bad_line("Unexpected \@missing line. Assuming no missing entries");
- }
- elsif ($has_missings_defaults{$addr} == $NOT_IGNORED) {
- my @defaults = split /\s* ; \s*/x, $_;
-
- # The first field is the @missing, which ends in a
- # semi-colon, so can safely shift.
- shift @defaults;
-
- # Some of these lines may have empty field placeholders
- # which get in the way. An example is:
- # @missing: 0000..10FFFF; ; NaN
- # Remove them. Process starting from the top so the
- # splice doesn't affect things still to be looked at.
- for (my $i = @defaults - 1; $i >= 0; $i--) {
- next if $defaults[$i] ne "";
- splice @defaults, $i, 1;
- }
-
- # What's left should be just the property (maybe) and the
- # default. Having only one element means it doesn't have
- # the property.
- my $default;
- my $property;
- if (@defaults >= 1) {
- if (@defaults == 1) {
- $default = $defaults[0];
- }
- else {
- $property = $defaults[0];
- $default = $defaults[1];
- }
- }
-
- if (@defaults < 1
- || @defaults > 2
- || ($default =~ /^</
- && $default !~ /^<code *point>$/i
- && $default !~ /^<none>$/i))
- {
- $self->carp_bad_line("Unrecognized \@missing line: $_. Assuming no missing entries");
- }
- else {
-
- # If the property is missing from the line, it should
- # be the one for the whole file
- $property = $property{$addr} if ! defined $property;
-
- # Change <none> to the null string, which is what it
- # really means. If the default is the code point
- # itself, set it to <code point>, which is what
- # Unicode uses (but sometimes they've forgotten the
- # space)
- if ($default =~ /^<none>$/i) {
- $default = "";
- }
- elsif ($default =~ /^<code *point>$/i) {
- $default = $CODE_POINT;
- }
-
- # Store them as a sub-arrays with both components.
- push @{$missings{$addr}}, [ $default, $property ];
- }
- }
-
- # There is nothing for the caller to process on this comment
- # line.
- next;
- }
-
- # Remove comments and trailing space, and skip this line if the
- # result is empty
- s/#.*//;
- s/\s+$//;
- next if /^$/;
-
- # Call any handlers for this line, and skip further processing of
- # the line if the handler sets the line to null.
- foreach my $sub_ref (@{$each_line_handler{$addr}}) {
- &{$sub_ref}($self);
- next LINE if /^$/;
- }
-
- # Here the line is ok. return success.
- return 1;
- } # End of looping through lines.
-
- # If there is an EOF handler, call it (only once) and if it generates
- # more lines to process go back in the loop to handle them.
- if ($eof_handler{$addr}) {
- &{$eof_handler{$addr}}($self);
- $eof_handler{$addr} = ""; # Currently only get one shot at it.
- goto LINE if $added_lines{$addr};
- }
-
- # Return failure -- no more lines.
- return 0;
-
- }
-
-# Not currently used, not fully tested.
-# sub peek {
-# # Non-destructive look-ahead one non-adjusted, non-comment, non-blank
-# # record. Not callable from an each_line_handler(), nor does it call
-# # an each_line_handler() on the line.
-#
-# my $self = shift;
-# my $addr = main::objaddr $self;
-#
-# foreach my $inserted_ref (@{$added_lines{$addr}}) {
-# my ($adjusted, $line) = @{$inserted_ref};
-# next if $adjusted;
-#
-# # Remove comments and trailing space, and return a non-empty
-# # resulting line
-# $line =~ s/#.*//;
-# $line =~ s/\s+$//;
-# return $line if $line ne "";
-# }
-#
-# return if ! ref $handle{$addr}; # Don't read unless is real file
-# while (1) { # Loop until find non-comment, non-empty line
-# local $to_trace = 1 if main::DEBUG;
-# trace $_ if main::DEBUG && $to_trace;
-# return if ! defined (my $line = readline $handle{$addr});
-# chomp $line;
-# push @{$added_lines{$addr}}, [ 0, $line ];
-#
-# $line =~ s/#.*//;
-# $line =~ s/\s+$//;
-# return $line if $line ne "";
-# }
-#
-# return;
-# }
-
-
- sub insert_lines {
- # Lines can be inserted so that it looks like they were in the input
- # file at the place it was when this routine is called. See also
- # insert_adjusted_lines(). Lines inserted via this routine go through
- # any each_line_handler()
-
- my $self = shift;
-
- # Each inserted line is an array, with the first element being 0 to
- # indicate that this line hasn't been adjusted, and needs to be
- # processed.
- push @{$added_lines{main::objaddr $self}}, map { [ 0, $_ ] } @_;
- return;
- }
-
- sub insert_adjusted_lines {
- # Lines can be inserted so that it looks like they were in the input
- # file at the place it was when this routine is called. See also
- # insert_lines(). Lines inserted via this routine are already fully
- # adjusted, ready to be processed; each_line_handler()s handlers will
- # not be called. This means this is not a completely general
- # facility, as only the last each_line_handler on the stack should
- # call this. It could be made more general, by passing to each of the
- # line_handlers their position on the stack, which they would pass on
- # to this routine, and that would replace the boolean first element in
- # the anonymous array pushed here, so that the next_line routine could
- # use that to call only those handlers whose index is after it on the
- # stack. But this is overkill for what is needed now.
-
- my $self = shift;
- trace $_[0] if main::DEBUG && $to_trace;
-
- # Each inserted line is an array, with the first element being 1 to
- # indicate that this line has been adjusted
- push @{$added_lines{main::objaddr $self}}, map { [ 1, $_ ] } @_;
- return;
- }
-
- sub get_missings {
- # Returns the stored up @missings lines' values, and clears the list.
- # The values are in an array, consisting of the default in the first
- # element, and the property in the 2nd. However, since these lines
- # can be stacked up, the return is an array of all these arrays.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- # If not accepting a list return, just return the first one.
- return shift @{$missings{$addr}} unless wantarray;
-
- my @return = @{$missings{$addr}};
- undef @{$missings{$addr}};
- return @return;
- }
-
- sub _insert_property_into_line {
- # Add a property field to $_, if this file requires it.
-
- my $property = $property{main::objaddr shift};
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- $_ =~ s/(;|$)/; $property$1/;
- return;
- }
-
- sub carp_bad_line {
- # Output consistent error messages, using either a generic one, or the
- # one given by the optional parameter. To avoid gazillions of the
- # same message in case the syntax of a file is way off, this routine
- # only outputs the first instance of each message, incrementing a
- # count so the totals can be output at the end of the file.
-
- my $self = shift;
- my $message = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- $message = 'Unexpected line' unless $message;
-
- # No trailing punctuation so as to fit with our addenda.
- $message =~ s/[.:;,]$//;
-
- # If haven't seen this exact message before, output it now. Otherwise
- # increment the count of how many times it has occurred
- unless ($errors{$addr}->{$message}) {
- Carp::my_carp("$message in '$_' in "
- . $file{main::objaddr $self}
- . " at line $.. Skipping this line;");
- $errors{$addr}->{$message} = 1;
- }
- else {
- $errors{$addr}->{$message}++;
- }
-
- # Clear the line to prevent any further (meaningful) processing of it.
- $_ = "";
-
- return;
- }
-} # End closure
-
-package Multi_Default;
-
-# Certain properties in early versions of Unicode had more than one possible
-# default for code points missing from the files. In these cases, one
-# default applies to everything left over after all the others are applied,
-# and for each of the others, there is a description of which class of code
-# points applies to it. This object helps implement this by storing the
-# defaults, and for all but that final default, an eval string that generates
-# the class that it applies to.
-
-
-{ # Closure
-
- main::setup_package();
-
- my %class_defaults;
- # The defaults structure for the classes
- main::set_access('class_defaults', \%class_defaults);
-
- my %other_default;
- # The default that applies to everything left over.
- main::set_access('other_default', \%other_default, 'r');
-
-
- sub new {
- # The constructor is called with default => eval pairs, terminated by
- # the left-over default. e.g.
- # Multi_Default->new(
- # 'T' => '$gc->table("Mn") + $gc->table("Cf") - 0x200C
- # - 0x200D',
- # 'R' => 'some other expression that evaluates to code points',
- # .
- # .
- # .
- # 'U'));
-
- my $class = shift;
-
- my $self = bless \do{my $anonymous_scalar}, $class;
- my $addr = main::objaddr($self);
-
- while (@_ > 1) {
- my $default = shift;
- my $eval = shift;
- $class_defaults{$addr}->{$default} = $eval;
- }
-
- $other_default{$addr} = shift;
-
- return $self;
- }
-
- sub get_next_defaults {
- # Iterates and returns the next class of defaults.
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return each %{$class_defaults{$addr}};
- }
-}
-
-package Alias;
-
-# An alias is one of the names that a table goes by. This class defines them
-# including some attributes. Everything is currently setup in the
-# constructor.
-
-
-{ # Closure
-
- main::setup_package();
-
- my %name;
- main::set_access('name', \%name, 'r');
-
- my %loose_match;
- # Determined by the constructor code if this name should match loosely or
- # not. The constructor parameters can override this, but it isn't fully
- # implemented, as should have ability to override Unicode one's via
- # something like a set_loose_match()
- main::set_access('loose_match', \%loose_match, 'r');
-
- my %make_pod_entry;
- # Some aliases should not get their own entries because they are covered
- # by a wild-card, and some we want to discourage use of. Binary
- main::set_access('make_pod_entry', \%make_pod_entry, 'r');
-
- my %status;
- # Aliases have a status, like deprecated, or even suppressed (which means
- # they don't appear in documentation). Enum
- main::set_access('status', \%status, 'r');
-
- my %externally_ok;
- # Similarly, some aliases should not be considered as usable ones for
- # external use, such as file names, or we don't want documentation to
- # recommend them. Boolean
- main::set_access('externally_ok', \%externally_ok, 'r');
-
- sub new {
- my $class = shift;
-
- my $self = bless \do { my $anonymous_scalar }, $class;
- my $addr = main::objaddr($self);
-
- $name{$addr} = shift;
- $loose_match{$addr} = shift;
- $make_pod_entry{$addr} = shift;
- $externally_ok{$addr} = shift;
- $status{$addr} = shift;
-
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Null names are never ok externally
- $externally_ok{$addr} = 0 if $name{$addr} eq "";
-
- return $self;
- }
-}
-
-package Range;
-
-# A range is the basic unit for storing code points, and is described in the
-# comments at the beginning of the program. Each range has a starting code
-# point; an ending code point (not less than the starting one); a value
-# that applies to every code point in between the two end-points, inclusive;
-# and an enum type that applies to the value. The type is for the user's
-# convenience, and has no meaning here, except that a non-zero type is
-# considered to not obey the normal Unicode rules for having standard forms.
-#
-# The same structure is used for both map and match tables, even though in the
-# latter, the value (and hence type) is irrelevant and could be used as a
-# comment. In map tables, the value is what all the code points in the range
-# map to. Type 0 values have the standardized version of the value stored as
-# well, so as to not have to recalculate it a lot.
-
-sub trace { return main::trace(@_); }
-
-{ # Closure
-
- main::setup_package();
-
- my %start;
- main::set_access('start', \%start, 'r', 's');
-
- my %end;
- main::set_access('end', \%end, 'r', 's');
-
- my %value;
- main::set_access('value', \%value, 'r');
-
- my %type;
- main::set_access('type', \%type, 'r');
-
- my %standard_form;
- # The value in internal standard form. Defined only if the type is 0.
- main::set_access('standard_form', \%standard_form);
-
- # Note that if these fields change, the dump() method should as well
-
- sub new {
- return Carp::carp_too_few_args(\@_, 3) if main::DEBUG && @_ < 3;
- my $class = shift;
-
- my $self = bless \do { my $anonymous_scalar }, $class;
- my $addr = main::objaddr($self);
-
- $start{$addr} = shift;
- $end{$addr} = shift;
-
- my %args = @_;
-
- my $value = delete $args{'Value'}; # Can be 0
- $value = "" unless defined $value;
- $value{$addr} = $value;
-
- $type{$addr} = delete $args{'Type'} || 0;
-
- Carp::carp_extra_args(\%args) if main::DEBUG && %args;
-
- if (! $type{$addr}) {
- $standard_form{$addr} = main::standardize($value);
- }
-
- return $self;
- }
-
- use overload
- fallback => 0,
- qw("") => "_operator_stringify",
- "." => \&main::_operator_dot,
- ;
-
- sub _operator_stringify {
- my $self = shift;
- my $addr = main::objaddr $self;
-
- # Output it like '0041..0065 (value)'
- my $return = sprintf("%04X", $start{$addr})
- . '..'
- . sprintf("%04X", $end{$addr});
- my $value = $value{$addr};
- my $type = $type{$addr};
- $return .= ' (';
- $return .= "$value";
- $return .= ", Type=$type" if $type != 0;
- $return .= ')';
-
- return $return;
- }
-
- sub standard_form {
- # The standard form is the value itself if the standard form is
- # undefined (that is if the value is special)
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return $standard_form{$addr} if defined $standard_form{$addr};
- return $value{$addr};
- }
-
- sub dump {
- # Human, not machine readable. For machine readable, comment out this
- # entire routine and let the standard one take effect.
- my $self = shift;
- my $indent = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- my $return = $indent
- . sprintf("%04X", $start{$addr})
- . '..'
- . sprintf("%04X", $end{$addr})
- . " '$value{$addr}';";
- if (! defined $standard_form{$addr}) {
- $return .= "(type=$type{$addr})";
- }
- elsif ($standard_form{$addr} ne $value{$addr}) {
- $return .= "(standard '$standard_form{$addr}')";
- }
- return $return;
- }
-} # End closure
-
-package _Range_List_Base;
-
-# Base class for range lists. A range list is simply an ordered list of
-# ranges, so that the ranges with the lowest starting numbers are first in it.
-#
-# When a new range is added that is adjacent to an existing range that has the
-# same value and type, it merges with it to form a larger range.
-#
-# Ranges generally do not overlap, except that there can be multiple entries
-# of single code point ranges. This is because of NameAliases.txt.
-#
-# In this program, there is a standard value such that if two different
-# values, have the same standard value, they are considered equivalent. This
-# value was chosen so that it gives correct results on Unicode data
-
-# There are a number of methods to manipulate range lists, and some operators
-# are overloaded to handle them.
-
-# Because of the slowness of pure Perl objaddr() on miniperl, and measurements
-# showing this package was using a lot of real time calculating that, the code
-# was changed to only calculate it once per call stack. This is done by
-# consistently using the package variable $addr in routines, and only calling
-# objaddr() if it isn't defined, and setting that to be local, so that callees
-# will have it already. It would be a good thing to change this. XXX
-
-sub trace { return main::trace(@_); }
-
-{ # Closure
-
- our $addr;
-
- main::setup_package();
-
- my %ranges;
- # The list of ranges
- main::set_access('ranges', \%ranges, 'readable_array');
-
- my %max;
- # The highest code point in the list. This was originally a method, but
- # actual measurements said it was used a lot.
- main::set_access('max', \%max, 'r');
-
- my %each_range_iterator;
- # Iterator position for each_range()
- main::set_access('each_range_iterator', \%each_range_iterator);
-
- my %owner_name_of;
- # Name of parent this is attached to, if any. Solely for better error
- # messages.
- main::set_access('owner_name_of', \%owner_name_of, 'p_r');
-
- my %_search_ranges_cache;
- # A cache of the previous result from _search_ranges(), for better
- # performance
- main::set_access('_search_ranges_cache', \%_search_ranges_cache);
-
- sub new {
- my $class = shift;
- my %args = @_;
-
- # Optional initialization data for the range list.
- my $initialize = delete $args{'Initialize'};
-
- my $self;
-
- # Use _union() to initialize. _union() returns an object of this
- # class, which means that it will call this constructor recursively.
- # But it won't have this $initialize parameter so that it won't
- # infinitely loop on this.
- return _union($class, $initialize, %args) if defined $initialize;
-
- $self = bless \do { my $anonymous_scalar }, $class;
- local $addr = main::objaddr($self);
-
- # Optional parent object, only for debug info.
- $owner_name_of{$addr} = delete $args{'Owner'};
- $owner_name_of{$addr} = "" if ! defined $owner_name_of{$addr};
-
- # Stringify, in case it is an object.
- $owner_name_of{$addr} = "$owner_name_of{$addr}";
-
- # This is used only for error messages, and so a colon is added
- $owner_name_of{$addr} .= ": " if $owner_name_of{$addr} ne "";
-
- Carp::carp_extra_args(\%args) if main::DEBUG && %args;
-
- # Max is initialized to a negative value that isn't adjacent to 0,
- # for simpler tests
- $max{$addr} = -2;
-
- $_search_ranges_cache{$addr} = 0;
- $ranges{$addr} = [];
-
- return $self;
- }
-
- use overload
- fallback => 0,
- qw("") => "_operator_stringify",
- "." => \&main::_operator_dot,
- ;
-
- sub _operator_stringify {
- my $self = shift;
- local $addr = main::objaddr($self) if !defined $addr;
-
- return "Range_List attached to '$owner_name_of{$addr}'"
- if $owner_name_of{$addr};
- return "anonymous Range_List " . \$self;
- }
-
- sub _union {
- # Returns the union of the input code points. It can be called as
- # either a constructor or a method. If called as a method, the result
- # will be a new() instance of the calling object, containing the union
- # of that object with the other parameter's code points; if called as
- # a constructor, the first parameter gives the class the new object
- # should be, and the second parameter gives the code points to go into
- # it.
- # In either case, there are two parameters looked at by this routine;
- # any additional parameters are passed to the new() constructor.
- #
- # The code points can come in the form of some object that contains
- # ranges, and has a conventionally named method to access them; or
- # they can be an array of individual code points (as integers); or
- # just a single code point.
- #
- # If they are ranges, this routine doesn't make any effort to preserve
- # the range values of one input over the other. Therefore this base
- # class should not allow _union to be called from other than
- # initialization code, so as to prevent two tables from being added
- # together where the range values matter. The general form of this
- # routine therefore belongs in a derived class, but it was moved here
- # to avoid duplication of code. The failure to overload this in this
- # class keeps it safe.
- #
-
- my $self;
- my @args; # Arguments to pass to the constructor
-
- my $class = shift;
-
- # If a method call, will start the union with the object itself, and
- # the class of the new object will be the same as self.
- if (ref $class) {
- $self = $class;
- $class = ref $self;
- push @args, $self;
- }
-
- # Add the other required parameter.
- push @args, shift;
- # Rest of parameters are passed on to the constructor
-
- # Accumulate all records from both lists.
- my @records;
- for my $arg (@args) {
- #local $to_trace = 0 if main::DEBUG;
- trace "argument = $arg" if main::DEBUG && $to_trace;
- if (! defined $arg) {
- my $message = "";
- if (defined $self) {
- $message .= $owner_name_of{main::objaddr $self};
- }
- Carp::my_carp_bug($message .= "Undefined argument to _union. No union done.");
- return;
- }
- $arg = [ $arg ] if ! ref $arg;
- my $type = ref $arg;
- if ($type eq 'ARRAY') {
- foreach my $element (@$arg) {
- push @records, Range->new($element, $element);
- }
- }
- elsif ($arg->isa('Range')) {
- push @records, $arg;
- }
- elsif ($arg->can('ranges')) {
- push @records, $arg->ranges;
- }
- else {
- my $message = "";
- if (defined $self) {
- $message .= $owner_name_of{main::objaddr $self};
- }
- Carp::my_carp_bug($message . "Cannot take the union of a $type. No union done.");
- return;
- }
- }
-
- # Sort with the range containing the lowest ordinal first, but if
- # two ranges start at the same code point, sort with the bigger range
- # of the two first, because it takes fewer cycles.
- @records = sort { ($a->start <=> $b->start)
- or
- # if b is shorter than a, b->end will be
- # less than a->end, and we want to select
- # a, so want to return -1
- ($b->end <=> $a->end)
- } @records;
-
- my $new = $class->new(@_);
-
- # Fold in records so long as they add new information.
- for my $set (@records) {
- my $start = $set->start;
- my $end = $set->end;
- my $value = $set->value;
- if ($start > $new->max) {
- $new->_add_delete('+', $start, $end, $value);
- }
- elsif ($end > $new->max) {
- $new->_add_delete('+', $new->max +1, $end, $value);
- }
- }
-
- return $new;
- }
-
- sub range_count { # Return the number of ranges in the range list
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr($self) if ! defined $addr;
-
- return scalar @{$ranges{$addr}};
- }
-
- sub min {
- # Returns the minimum code point currently in the range list, or if
- # the range list is empty, 2 beyond the max possible. This is a
- # method because used so rarely, that not worth saving between calls,
- # and having to worry about changing it as ranges are added and
- # deleted.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr($self) if ! defined $addr;
-
- # If the range list is empty, return a large value that isn't adjacent
- # to any that could be in the range list, for simpler tests
- return $LAST_UNICODE_CODEPOINT + 2 unless scalar @{$ranges{$addr}};
- return $ranges{$addr}->[0]->start;
- }
-
- sub contains {
- # Boolean: Is argument in the range list? If so returns $i such that:
- # range[$i]->end < $codepoint <= range[$i+1]->end
- # which is one beyond what you want; this is so that the 0th range
- # doesn't return false
- my $self = shift;
- my $codepoint = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr $self if ! defined $addr;
-
- my $i = $self->_search_ranges($codepoint);
- return 0 unless defined $i;
-
- # The search returns $i, such that
- # range[$i-1]->end < $codepoint <= range[$i]->end
- # So is in the table if and only iff it is at least the start position
- # of range $i.
- return 0 if $ranges{$addr}->[$i]->start > $codepoint;
- return $i + 1;
- }
-
- sub value_of {
- # Returns the value associated with the code point, undef if none
-
- my $self = shift;
- my $codepoint = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr $self if ! defined $addr;
-
- my $i = $self->contains($codepoint);
- return unless $i;
-
- # contains() returns 1 beyond where we should look
- return $ranges{$addr}->[$i-1]->value;
- }
-
- sub _search_ranges {
- # Find the range in the list which contains a code point, or where it
- # should go if were to add it. That is, it returns $i, such that:
- # range[$i-1]->end < $codepoint <= range[$i]->end
- # Returns undef if no such $i is possible (e.g. at end of table), or
- # if there is an error.
-
- my $self = shift;
- my $code_point = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr $self if ! defined $addr;
-
- return if $code_point > $max{$addr};
- my $r = $ranges{$addr}; # The current list of ranges
- my $range_list_size = scalar @$r;
- my $i;
-
- use integer; # want integer division
-
- # Use the cached result as the starting guess for this one, because,
- # an experiment on 5.1 showed that 90% of the time the cache was the
- # same as the result on the next call (and 7% it was one less).
- $i = $_search_ranges_cache{$addr};
- $i = 0 if $i >= $range_list_size; # Reset if no longer valid (prob.
- # from an intervening deletion
- #local $to_trace = 1 if main::DEBUG;
- trace "previous \$i is still valid: $i" if main::DEBUG && $to_trace && $code_point <= $r->[$i]->end && ($i == 0 || $r->[$i-1]->end < $code_point);
- return $i if $code_point <= $r->[$i]->end
- && ($i == 0 || $r->[$i-1]->end < $code_point);
-
- # Here the cache doesn't yield the correct $i. Try adding 1.
- if ($i < $range_list_size - 1
- && $r->[$i]->end < $code_point &&
- $code_point <= $r->[$i+1]->end)
- {
- $i++;
- trace "next \$i is correct: $i" if main::DEBUG && $to_trace;
- $_search_ranges_cache{$addr} = $i;
- return $i;
- }
-
- # Here, adding 1 also didn't work. We do a binary search to
- # find the correct position, starting with current $i
- my $lower = 0;
- my $upper = $range_list_size - 1;
- while (1) {
- trace "top of loop i=$i:", sprintf("%04X", $r->[$lower]->start), "[$lower] .. ", sprintf("%04X", $r->[$i]->start), "[$i] .. ", sprintf("%04X", $r->[$upper]->start), "[$upper]" if main::DEBUG && $to_trace;
-
- if ($code_point <= $r->[$i]->end) {
-
- # Here we have met the upper constraint. We can quit if we
- # also meet the lower one.
- last if $i == 0 || $r->[$i-1]->end < $code_point;
-
- $upper = $i; # Still too high.
-
- }
- else {
-
- # Here, $r[$i]->end < $code_point, so look higher up.
- $lower = $i;
- }
-
- # Split search domain in half to try again.
- my $temp = ($upper + $lower) / 2;
-
- # No point in continuing unless $i changes for next time
- # in the loop.
- if ($temp == $i) {
-
- # We can't reach the highest element because of the averaging.
- # So if one below the upper edge, force it there and try one
- # more time.
- if ($i == $range_list_size - 2) {
-
- trace "Forcing to upper edge" if main::DEBUG && $to_trace;
- $i = $range_list_size - 1;
-
- # Change $lower as well so if fails next time through,
- # taking the average will yield the same $i, and we will
- # quit with the error message just below.
- $lower = $i;
- next;
- }
- Carp::my_carp_bug("$owner_name_of{$addr}Can't find where the range ought to go. No action taken.");
- return;
- }
- $i = $temp;
- } # End of while loop
-
- if (main::DEBUG && $to_trace) {
- trace 'i-1=[', $i-1, ']', $r->[$i-1] if $i;
- trace "i= [ $i ]", $r->[$i];
- trace 'i+1=[', $i+1, ']', $r->[$i+1] if $i < $range_list_size - 1;
- }
-
- # Here we have found the offset. Cache it as a starting point for the
- # next call.
- $_search_ranges_cache{$addr} = $i;
- return $i;
- }
-
- sub _add_delete {
- # Add, replace or delete ranges to or from a list. The $type
- # parameter gives which:
- # '+' => insert or replace a range, returning a list of any changed
- # ranges.
- # '-' => delete a range, returning a list of any deleted ranges.
- #
- # The next three parameters give respectively the start, end, and
- # value associated with the range. 'value' should be null unless the
- # operation is '+';
- #
- # The range list is kept sorted so that the range with the lowest
- # starting position is first in the list, and generally, adjacent
- # ranges with the same values are merged into single larger one (see
- # exceptions below).
- #
- # There are more parameters, all are key => value pairs:
- # Type gives the type of the value. It is only valid for '+'.
- # All ranges have types; if this parameter is omitted, 0 is
- # assumed. Ranges with type 0 are assumed to obey the
- # Unicode rules for casing, etc; ranges with other types are
- # not. Otherwise, the type is arbitrary, for the caller's
- # convenience, and looked at only by this routine to keep
- # adjacent ranges of different types from being merged into
- # a single larger range, and when Replace =>
- # $IF_NOT_EQUIVALENT is specified (see just below).
- # Replace determines what to do if the range list already contains
- # ranges which coincide with all or portions of the input
- # range. It is only valid for '+':
- # => $NO means that the new value is not to replace
- # any existing ones, but any empty gaps of the
- # range list coinciding with the input range
- # will be filled in with the new value.
- # => $UNCONDITIONALLY means to replace the existing values with
- # this one unconditionally. However, if the
- # new and old values are identical, the
- # replacement is skipped to save cycles
- # => $IF_NOT_EQUIVALENT means to replace the existing values
- # with this one if they are not equivalent.
- # Ranges are equivalent if their types are the
- # same, and they are the same string, or if
- # both are type 0 ranges, if their Unicode
- # standard forms are identical. In this last
- # case, the routine chooses the more "modern"
- # one to use. This is because some of the
- # older files are formatted with values that
- # are, for example, ALL CAPs, whereas the
- # derived files have a more modern style,
- # which looks better. By looking for this
- # style when the pre-existing and replacement
- # standard forms are the same, we can move to
- # the modern style
- # => $MULTIPLE means that if this range duplicates an
- # existing one, but has a different value,
- # don't replace the existing one, but insert
- # this, one so that the same range can occur
- # multiple times.
- # => anything else is the same as => $IF_NOT_EQUIVALENT
- #
- # "same value" means identical for type-0 ranges, and it means having
- # the same standard forms for non-type-0 ranges.
-
- return Carp::carp_too_few_args(\@_, 5) if main::DEBUG && @_ < 5;
-
- my $self = shift;
- my $operation = shift; # '+' for add/replace; '-' for delete;
- my $start = shift;
- my $end = shift;
- my $value = shift;
-
- my %args = @_;
-
- $value = "" if not defined $value; # warning: $value can be "0"
-
- my $replace = delete $args{'Replace'};
- $replace = $IF_NOT_EQUIVALENT unless defined $replace;
-
- my $type = delete $args{'Type'};
- $type = 0 unless defined $type;
-
- Carp::carp_extra_args(\%args) if main::DEBUG && %args;
-
- local $addr = main::objaddr($self) if ! defined $addr;
-
- if ($operation ne '+' && $operation ne '-') {
- Carp::my_carp_bug("$owner_name_of{$addr}First parameter to _add_delete must be '+' or '-'. No action taken.");
- return;
- }
- unless (defined $start && defined $end) {
- Carp::my_carp_bug("$owner_name_of{$addr}Undefined start and/or end to _add_delete. No action taken.");
- return;
- }
- unless ($end >= $start) {
- Carp::my_carp_bug("$owner_name_of{$addr}End of range (" . sprintf("%04X", $end) . ") must not be before start (" . sprintf("%04X", $start) . "). No action taken.");
- return;
- }
- #local $to_trace = 1 if main::DEBUG;
-
- if ($operation eq '-') {
- if ($replace != $IF_NOT_EQUIVALENT) {
- Carp::my_carp_bug("$owner_name_of{$addr}Replace => \$IF_NOT_EQUIVALENT is required when deleting a range from a range list. Assuming Replace => \$IF_NOT_EQUIVALENT.");
- $replace = $IF_NOT_EQUIVALENT;
- }
- if ($type) {
- Carp::my_carp_bug("$owner_name_of{$addr}Type => 0 is required when deleting a range from a range list. Assuming Type => 0.");
- $type = 0;
- }
- if ($value ne "") {
- Carp::my_carp_bug("$owner_name_of{$addr}Value => \"\" is required when deleting a range from a range list. Assuming Value => \"\".");
- $value = "";
- }
- }
-
- my $r = $ranges{$addr}; # The current list of ranges
- my $range_list_size = scalar @$r; # And its size
- my $max = $max{$addr}; # The current high code point in
- # the list of ranges
-
- # Do a special case requiring fewer machine cycles when the new range
- # starts after the current highest point. The Unicode input data is
- # structured so this is common.
- if ($start > $max) {
-
- trace "$owner_name_of{$addr} $operation", sprintf("%04X", $start) . '..' . sprintf("%04X", $end) . " ($value) type=$type" if main::DEBUG && $to_trace;
- return if $operation eq '-'; # Deleting a non-existing range is a
- # no-op
-
- # If the new range doesn't logically extend the current final one
- # in the range list, create a new range at the end of the range
- # list. (max cleverly is initialized to a negative number not
- # adjacent to 0 if the range list is empty, so even adding a range
- # to an empty range list starting at 0 will have this 'if'
- # succeed.)
- if ($start > $max + 1 # non-adjacent means can't extend.
- || @{$r}[-1]->value ne $value # values differ, can't extend.
- || @{$r}[-1]->type != $type # types differ, can't extend.
- ) {
- push @$r, Range->new($start, $end,
- Value => $value,
- Type => $type);
- }
- else {
-
- # Here, the new range starts just after the current highest in
- # the range list, and they have the same type and value.
- # Extend the current range to incorporate the new one.
- @{$r}[-1]->set_end($end);
- }
-
- # This becomes the new maximum.
- $max{$addr} = $end;
-
- return;
- }
- #local $to_trace = 0 if main::DEBUG;
-
- trace "$owner_name_of{$addr} $operation", sprintf("%04X", $start) . '..' . sprintf("%04X", $end) . " ($value) replace=$replace" if main::DEBUG && $to_trace;
-
- # Here, the input range isn't after the whole rest of the range list.
- # Most likely 'splice' will be needed. The rest of the routine finds
- # the needed splice parameters, and if necessary, does the splice.
- # First, find the offset parameter needed by the splice function for
- # the input range. Note that the input range may span multiple
- # existing ones, but we'll worry about that later. For now, just find
- # the beginning. If the input range is to be inserted starting in a
- # position not currently in the range list, it must (obviously) come
- # just after the range below it, and just before the range above it.
- # Slightly less obviously, it will occupy the position currently
- # occupied by the range that is to come after it. More formally, we
- # are looking for the position, $i, in the array of ranges, such that:
- #
- # r[$i-1]->start <= r[$i-1]->end < $start < r[$i]->start <= r[$i]->end
- #
- # (The ordered relationships within existing ranges are also shown in
- # the equation above). However, if the start of the input range is
- # within an existing range, the splice offset should point to that
- # existing range's position in the list; that is $i satisfies a
- # somewhat different equation, namely:
- #
- #r[$i-1]->start <= r[$i-1]->end < r[$i]->start <= $start <= r[$i]->end
- #
- # More briefly, $start can come before or after r[$i]->start, and at
- # this point, we don't know which it will be. However, these
- # two equations share these constraints:
- #
- # r[$i-1]->end < $start <= r[$i]->end
- #
- # And that is good enough to find $i.
-
- my $i = $self->_search_ranges($start);
- if (! defined $i) {
- Carp::my_carp_bug("Searching $self for range beginning with $start unexpectedly returned undefined. Operation '$operation' not performed");
- return;
- }
-
- # The search function returns $i such that:
- #
- # r[$i-1]->end < $start <= r[$i]->end
- #
- # That means that $i points to the first range in the range list
- # that could possibly be affected by this operation. We still don't
- # know if the start of the input range is within r[$i], or if it
- # points to empty space between r[$i-1] and r[$i].
- trace "[$i] is the beginning splice point. Existing range there is ", $r->[$i] if main::DEBUG && $to_trace;
-
- # Special case the insertion of data that is not to replace any
- # existing data.
- if ($replace == $NO) { # If $NO, has to be operation '+'
- #local $to_trace = 1 if main::DEBUG;
- trace "Doesn't replace" if main::DEBUG && $to_trace;
-
- # Here, the new range is to take effect only on those code points
- # that aren't already in an existing range. This can be done by
- # looking through the existing range list and finding the gaps in
- # the ranges that this new range affects, and then calling this
- # function recursively on each of those gaps, leaving untouched
- # anything already in the list. Gather up a list of the changed
- # gaps first so that changes to the internal state as new ranges
- # are added won't be a problem.
- my @gap_list;
-
- # First, if the starting point of the input range is outside an
- # existing one, there is a gap from there to the beginning of the
- # existing range -- add a span to fill the part that this new
- # range occupies
- if ($start < $r->[$i]->start) {
- push @gap_list, Range->new($start,
- main::min($end,
- $r->[$i]->start - 1),
- Type => $type);
- trace "gap before $r->[$i] [$i], will add", $gap_list[-1] if main::DEBUG && $to_trace;
- }
-
- # Then look through the range list for other gaps until we reach
- # the highest range affected by the input one.
- my $j;
- for ($j = $i+1; $j < $range_list_size; $j++) {
- trace "j=[$j]", $r->[$j] if main::DEBUG && $to_trace;
- last if $end < $r->[$j]->start;
-
- # If there is a gap between when this range starts and the
- # previous one ends, add a span to fill it. Note that just
- # because there are two ranges doesn't mean there is a
- # non-zero gap between them. It could be that they have
- # different values or types
- if ($r->[$j-1]->end + 1 != $r->[$j]->start) {
- push @gap_list,
- Range->new($r->[$j-1]->end + 1,
- $r->[$j]->start - 1,
- Type => $type);
- trace "gap between $r->[$j-1] and $r->[$j] [$j], will add: $gap_list[-1]" if main::DEBUG && $to_trace;
- }
- }
-
- # Here, we have either found an existing range in the range list,
- # beyond the area affected by the input one, or we fell off the
- # end of the loop because the input range affects the whole rest
- # of the range list. In either case, $j is 1 higher than the
- # highest affected range. If $j == $i, it means that there are no
- # affected ranges, that the entire insertion is in the gap between
- # r[$i-1], and r[$i], which we already have taken care of before
- # the loop.
- # On the other hand, if there are affected ranges, it might be
- # that there is a gap that needs filling after the final such
- # range to the end of the input range
- if ($r->[$j-1]->end < $end) {
- push @gap_list, Range->new(main::max($start,
- $r->[$j-1]->end + 1),
- $end,
- Type => $type);
- trace "gap after $r->[$j-1], will add $gap_list[-1]" if main::DEBUG && $to_trace;
- }
-
- # Call recursively to fill in all the gaps.
- foreach my $gap (@gap_list) {
- $self->_add_delete($operation,
- $gap->start,
- $gap->end,
- $value,
- Type => $type);
- }
-
- return;
- }
-
- # Here, we have taken care of the case where $replace is $NO, which
- # means that whatever action we now take is done unconditionally. It
- # still could be that this call will result in a no-op, if duplicates
- # aren't allowed, and we are inserting a range that merely duplicates
- # data already in the range list; or also if deleting a non-existent
- # range.
- # $i still points to the first potential affected range. Now find the
- # highest range affected, which will determine the length parameter to
- # splice. (The input range can span multiple existing ones.) While
- # we are looking through the range list, see also if this is an
- # insertion that will change the values of at least one of the
- # affected ranges. We don't need to do this check unless this is an
- # insertion of non-multiples, and also since this is a boolean, we
- # don't need to do it if have already determined that it will make a
- # change; just unconditionally change them. $cdm is created to be 1
- # if either of these is true. (The 'c' in the name comes from below)
- my $cdm = ($operation eq '-' || $replace == $MULTIPLE);
- my $j; # This will point to the highest affected range
-
- # For non-zero types, the standard form is the value itself;
- my $standard_form = ($type) ? $value : main::standardize($value);
-
- for ($j = $i; $j < $range_list_size; $j++) {
- trace "Looking for highest affected range; the one at $j is ", $r->[$j] if main::DEBUG && $to_trace;
-
- # If find a range that it doesn't overlap into, we can stop
- # searching
- last if $end < $r->[$j]->start;
-
- # Here, overlaps the range at $j. If the value's don't match,
- # and this is supposedly an insertion, it becomes a change
- # instead. This is what the 'c' stands for in $cdm.
- if (! $cdm) {
- if ($r->[$j]->standard_form ne $standard_form) {
- $cdm = 1;
- }
- else {
-
- # Here, the two values are essentially the same. If the
- # two are actually identical, replacing wouldn't change
- # anything so skip it.
- my $pre_existing = $r->[$j]->value;
- if ($pre_existing ne $value) {
-
- # Here the new and old standardized values are the
- # same, but the non-standardized values aren't. If
- # replacing unconditionally, then replace
- if( $replace == $UNCONDITIONALLY) {
- $cdm = 1;
- }
- else {
-
- # Here, are replacing conditionally. Decide to
- # replace or not based on which appears to look
- # the "nicest". If one is mixed case and the
- # other isn't, choose the mixed case one.
- my $new_mixed = $value =~ /[A-Z]/
- && $value =~ /[a-z]/;
- my $old_mixed = $pre_existing =~ /[A-Z]/
- && $pre_existing =~ /[a-z]/;
-
- if ($old_mixed != $new_mixed) {
- $cdm = 1 if $new_mixed;
- if (main::DEBUG && $to_trace) {
- if ($cdm) {
- trace "Replacing $pre_existing with $value";
- }
- else {
- trace "Retaining $pre_existing over $value";
- }
- }
- }
- else {
-
- # Here casing wasn't different between the two.
- # If one has hyphens or underscores and the
- # other doesn't, choose the one with the
- # punctuation.
- my $new_punct = $value =~ /[-_]/;
- my $old_punct = $pre_existing =~ /[-_]/;
-
- if ($old_punct != $new_punct) {
- $cdm = 1 if $new_punct;
- if (main::DEBUG && $to_trace) {
- if ($cdm) {
- trace "Replacing $pre_existing with $value";
- }
- else {
- trace "Retaining $pre_existing over $value";
- }
- }
- } # else existing one is just as "good";
- # retain it to save cycles.
- }
- }
- }
- }
- }
- } # End of loop looking for highest affected range.
-
- # Here, $j points to one beyond the highest range that this insertion
- # affects (hence to beyond the range list if that range is the final
- # one in the range list).
-
- # The splice length is all the affected ranges. Get it before
- # subtracting, for efficiency, so we don't have to later add 1.
- my $length = $j - $i;
-
- $j--; # $j now points to the highest affected range.
- trace "Final affected range is $j: $r->[$j]" if main::DEBUG && $to_trace;
-
- # If inserting a multiple record, this is where it goes, after all the
- # existing ones for this range. This implies an insertion, and no
- # change to any existing ranges. Note that $j can be -1 if this new
- # range doesn't actually duplicate any existing, and comes at the
- # beginning of the list, in which case we can handle it like any other
- # insertion, and is easier to do so.
- if ($replace == $MULTIPLE && $j >= 0) {
-
- # This restriction could be remedied with a little extra work, but
- # it won't hopefully ever be necessary
- if ($r->[$j]->start != $r->[$j]->end) {
- Carp::my_carp_bug("$owner_name_of{$addr}Can't cope with adding a multiple when the other range ($r->[$j]) contains more than one code point. No action taken.");
- return;
- }
-
- # Don't add an exact duplicate, as it isn't really a multiple
- return if $value eq $r->[$j]->value && $type eq $r->[$j]->type;
-
- trace "Adding multiple record at $j+1 with $start..$end, $value" if main::DEBUG && $to_trace;
- my @return = splice @$r,
- $j+1,
- 0,
- Range->new($start,
- $end,
- Value => $value,
- Type => $type);
- if (main::DEBUG && $to_trace) {
- trace "After splice:";
- trace 'j-2=[', $j-2, ']', $r->[$j-2] if $j >= 2;
- trace 'j-1=[', $j-1, ']', $r->[$j-1] if $j >= 1;
- trace "j =[", $j, "]", $r->[$j] if $j >= 0;
- trace 'j+1=[', $j+1, ']', $r->[$j+1] if $j < @$r - 1;
- trace 'j+2=[', $j+2, ']', $r->[$j+2] if $j < @$r - 2;
- trace 'j+3=[', $j+3, ']', $r->[$j+3] if $j < @$r - 3;
- }
- return @return;
- }
-
- # Here, have taken care of $NO and $MULTIPLE replaces.
- # $j points to the highest affected range. But it can be < $i or even
- # -1. These happen only if the insertion is entirely in the gap
- # between r[$i-1] and r[$i]. Here's why: j < i means that the j loop
- # above exited first time through with $end < $r->[$i]->start. (And
- # then we subtracted one from j) This implies also that $start <
- # $r->[$i]->start, but we know from above that $r->[$i-1]->end <
- # $start, so the entire input range is in the gap.
- if ($j < $i) {
-
- # Here the entire input range is in the gap before $i.
-
- if (main::DEBUG && $to_trace) {
- if ($i) {
- trace "Entire range is between $r->[$i-1] and $r->[$i]";
- }
- else {
- trace "Entire range is before $r->[$i]";
- }
- }
- return if $operation ne '+'; # Deletion of a non-existent range is
- # a no-op
- }
- else {
-
- # Here the entire input range is not in the gap before $i. There
- # is an affected one, and $j points to the highest such one.
-
- # At this point, here is the situation:
- # This is not an insertion of a multiple, nor of tentative ($NO)
- # data.
- # $i points to the first element in the current range list that
- # may be affected by this operation. In fact, we know
- # that the range at $i is affected because we are in
- # the else branch of this 'if'
- # $j points to the highest affected range.
- # In other words,
- # r[$i-1]->end < $start <= r[$i]->end
- # And:
- # r[$i-1]->end < $start <= $end <= r[$j]->end
- #
- # Also:
- # $cdm is a boolean which is set true if and only if this is a
- # change or deletion (multiple was handled above). In
- # other words, it could be renamed to be just $cd.
-
- # We now have enough information to decide if this call is a no-op
- # or not. It is a no-op if it is a deletion of a non-existent
- # range, or an insertion of already existing data.
-
- if (main::DEBUG && $to_trace && ! $cdm
- && $i == $j
- && $start >= $r->[$i]->start)
- {
- trace "no-op";
- }
- return if ! $cdm # change or delete => not no-op
- && $i == $j # more than one affected range => not no-op
-
- # Here, r[$i-1]->end < $start <= $end <= r[$i]->end
- # Further, $start and/or $end is >= r[$i]->start
- # The test below hence guarantees that
- # r[$i]->start < $start <= $end <= r[$i]->end
- # This means the input range is contained entirely in
- # the one at $i, so is a no-op
- && $start >= $r->[$i]->start;
- }
-
- # Here, we know that some action will have to be taken. We have
- # calculated the offset and length (though adjustments may be needed)
- # for the splice. Now start constructing the replacement list.
- my @replacement;
- my $splice_start = $i;
-
- my $extends_below;
- my $extends_above;
-
- # See if should extend any adjacent ranges.
- if ($operation eq '-') { # Don't extend deletions
- $extends_below = $extends_above = 0;
- }
- else { # Here, should extend any adjacent ranges. See if there are
- # any.
- $extends_below = ($i > 0
- # can't extend unless adjacent
- && $r->[$i-1]->end == $start -1
- # can't extend unless are same standard value
- && $r->[$i-1]->standard_form eq $standard_form
- # can't extend unless share type
- && $r->[$i-1]->type == $type);
- $extends_above = ($j+1 < $range_list_size
- && $r->[$j+1]->start == $end +1
- && $r->[$j+1]->standard_form eq $standard_form
- && $r->[$j-1]->type == $type);
- }
- if ($extends_below && $extends_above) { # Adds to both
- $splice_start--; # start replace at element below
- $length += 2; # will replace on both sides
- trace "Extends both below and above ranges" if main::DEBUG && $to_trace;
-
- # The result will fill in any gap, replacing both sides, and
- # create one large range.
- @replacement = Range->new($r->[$i-1]->start,
- $r->[$j+1]->end,
- Value => $value,
- Type => $type);
- }
- else {
-
- # Here we know that the result won't just be the conglomeration of
- # a new range with both its adjacent neighbors. But it could
- # extend one of them.
-
- if ($extends_below) {
-
- # Here the new element adds to the one below, but not to the
- # one above. If inserting, and only to that one range, can
- # just change its ending to include the new one.
- if ($length == 0 && ! $cdm) {
- $r->[$i-1]->set_end($end);
- trace "inserted range extends range to below so it is now $r->[$i-1]" if main::DEBUG && $to_trace;
- return;
- }
- else {
- trace "Changing inserted range to start at ", sprintf("%04X", $r->[$i-1]->start), " instead of ", sprintf("%04X", $start) if main::DEBUG && $to_trace;
- $splice_start--; # start replace at element below
- $length++; # will replace the element below
- $start = $r->[$i-1]->start;
- }
- }
- elsif ($extends_above) {
-
- # Here the new element adds to the one above, but not below.
- # Mirror the code above
- if ($length == 0 && ! $cdm) {
- $r->[$j+1]->set_start($start);
- trace "inserted range extends range to above so it is now $r->[$j+1]" if main::DEBUG && $to_trace;
- return;
- }
- else {
- trace "Changing inserted range to end at ", sprintf("%04X", $r->[$j+1]->end), " instead of ", sprintf("%04X", $end) if main::DEBUG && $to_trace;
- $length++; # will replace the element above
- $end = $r->[$j+1]->end;
- }
- }
-
- trace "Range at $i is $r->[$i]" if main::DEBUG && $to_trace;
-
- # Finally, here we know there will have to be a splice.
- # If the change or delete affects only the highest portion of the
- # first affected range, the range will have to be split. The
- # splice will remove the whole range, but will replace it by a new
- # range containing just the unaffected part. So, in this case,
- # add to the replacement list just this unaffected portion.
- if (! $extends_below
- && $start > $r->[$i]->start && $start <= $r->[$i]->end)
- {
- push @replacement,
- Range->new($r->[$i]->start,
- $start - 1,
- Value => $r->[$i]->value,
- Type => $r->[$i]->type);
- }
-
- # In the case of an insert or change, but not a delete, we have to
- # put in the new stuff; this comes next.
- if ($operation eq '+') {
- push @replacement, Range->new($start,
- $end,
- Value => $value,
- Type => $type);
- }
-
- trace "Range at $j is $r->[$j]" if main::DEBUG && $to_trace && $j != $i;
- #trace "$end >=", $r->[$j]->start, " && $end <", $r->[$j]->end if main::DEBUG && $to_trace;
-
- # And finally, if we're changing or deleting only a portion of the
- # highest affected range, it must be split, as the lowest one was.
- if (! $extends_above
- && $j >= 0 # Remember that j can be -1 if before first
- # current element
- && $end >= $r->[$j]->start
- && $end < $r->[$j]->end)
- {
- push @replacement,
- Range->new($end + 1,
- $r->[$j]->end,
- Value => $r->[$j]->value,
- Type => $r->[$j]->type);
- }
- }
-
- # And do the splice, as calculated above
- if (main::DEBUG && $to_trace) {
- trace "replacing $length element(s) at $i with ";
- foreach my $replacement (@replacement) {
- trace " $replacement";
- }
- trace "Before splice:";
- trace 'i-2=[', $i-2, ']', $r->[$i-2] if $i >= 2;
- trace 'i-1=[', $i-1, ']', $r->[$i-1] if $i >= 1;
- trace "i =[", $i, "]", $r->[$i];
- trace 'i+1=[', $i+1, ']', $r->[$i+1] if $i < @$r - 1;
- trace 'i+2=[', $i+2, ']', $r->[$i+2] if $i < @$r - 2;
- }
-
- my @return = splice @$r, $splice_start, $length, @replacement;
-
- if (main::DEBUG && $to_trace) {
- trace "After splice:";
- trace 'i-2=[', $i-2, ']', $r->[$i-2] if $i >= 2;
- trace 'i-1=[', $i-1, ']', $r->[$i-1] if $i >= 1;
- trace "i =[", $i, "]", $r->[$i];
- trace 'i+1=[', $i+1, ']', $r->[$i+1] if $i < @$r - 1;
- trace 'i+2=[', $i+2, ']', $r->[$i+2] if $i < @$r - 2;
- trace "removed @return";
- }
-
- # An actual deletion could have changed the maximum in the list.
- # There was no deletion if the splice didn't return something, but
- # otherwise recalculate it. This is done too rarely to worry about
- # performance.
- if ($operation eq '-' && @return) {
- $max{$addr} = $r->[-1]->end;
- }
- return @return;
- }
-
- sub reset_each_range { # reset the iterator for each_range();
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr $self if ! defined $addr;
-
- undef $each_range_iterator{$addr};
- return;
- }
-
- sub each_range {
- # Iterate over each range in a range list. Results are undefined if
- # the range list is changed during the iteration.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr($self) if ! defined $addr;
-
- return if $self->is_empty;
-
- $each_range_iterator{$addr} = -1
- if ! defined $each_range_iterator{$addr};
- $each_range_iterator{$addr}++;
- return $ranges{$addr}->[$each_range_iterator{$addr}]
- if $each_range_iterator{$addr} < @{$ranges{$addr}};
- undef $each_range_iterator{$addr};
- return;
- }
-
- sub count { # Returns count of code points in range list
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr($self) if ! defined $addr;
-
- my $count = 0;
- foreach my $range (@{$ranges{$addr}}) {
- $count += $range->end - $range->start + 1;
- }
- return $count;
- }
-
- sub delete_range { # Delete a range
- my $self = shift;
- my $start = shift;
- my $end = shift;
-
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return $self->_add_delete('-', $start, $end, "");
- }
-
- sub is_empty { # Returns boolean as to if a range list is empty
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr($self) if ! defined $addr;
- return scalar @{$ranges{$addr}} == 0;
- }
-
- sub hash {
- # Quickly returns a scalar suitable for separating tables into
- # buckets, i.e. it is a hash function of the contents of a table, so
- # there are relatively few conflicts.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- local $addr = main::objaddr($self) if ! defined $addr;
-
- # These are quickly computable. Return looks like 'min..max;count'
- return $self->min . "..$max{$addr};" . scalar @{$ranges{$addr}};
- }
-} # End closure for _Range_List_Base
-
-package Range_List;
-use base '_Range_List_Base';
-
-# A Range_List is a range list for match tables; i.e. the range values are
-# not significant. Thus a number of operations can be safely added to it,
-# such as inversion, intersection. Note that union is also an unsafe
-# operation when range values are cared about, and that method is in the base
-# class, not here. But things are set up so that that method is callable only
-# during initialization. Only in this derived class, is there an operation
-# that combines two tables. A Range_Map can thus be used to initialize a
-# Range_List, and its mappings will be in the list, but are not significant to
-# this class.
-
-sub trace { return main::trace(@_); }
-
-{ # Closure
-
- use overload
- fallback => 0,
- '+' => sub { my $self = shift;
- my $other = shift;
-
- return $self->_union($other)
- },
- '&' => sub { my $self = shift;
- my $other = shift;
-
- return $self->_intersect($other, 0);
- },
- '~' => "_invert",
- '-' => "_subtract",
- ;
-
- sub _invert {
- # Returns a new Range_List that gives all code points not in $self.
-
- my $self = shift;
-
- my $new = Range_List->new;
-
- # Go through each range in the table, finding the gaps between them
- my $max = -1; # Set so no gap before range beginning at 0
- for my $range ($self->ranges) {
- my $start = $range->start;
- my $end = $range->end;
-
- # If there is a gap before this range, the inverse will contain
- # that gap.
- if ($start > $max + 1) {
- $new->add_range($max + 1, $start - 1);
- }
- $max = $end;
- }
-
- # And finally, add the gap from the end of the table to the max
- # possible code point
- if ($max < $LAST_UNICODE_CODEPOINT) {
- $new->add_range($max + 1, $LAST_UNICODE_CODEPOINT);
- }
- return $new;
- }
-
- sub _subtract {
- # Returns a new Range_List with the argument deleted from it. The
- # argument can be a single code point, a range, or something that has
- # a range, with the _range_list() method on it returning them
-
- my $self = shift;
- my $other = shift;
- my $reversed = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if ($reversed) {
- Carp::my_carp_bug("Can't cope with a "
- . __PACKAGE__
- . " being the second parameter in a '-'. Subtraction ignored.");
- return $self;
- }
-
- my $new = Range_List->new(Initialize => $self);
-
- if (! ref $other) { # Single code point
- $new->delete_range($other, $other);
- }
- elsif ($other->isa('Range')) {
- $new->delete_range($other->start, $other->end);
- }
- elsif ($other->can('_range_list')) {
- foreach my $range ($other->_range_list->ranges) {
- $new->delete_range($range->start, $range->end);
- }
- }
- else {
- Carp::my_carp_bug("Can't cope with a "
- . ref($other)
- . " argument to '-'. Subtraction ignored."
- );
- return $self;
- }
-
- return $new;
- }
-
- sub _intersect {
- # Returns either a boolean giving whether the two inputs' range lists
- # intersect (overlap), or a new Range_List containing the intersection
- # of the two lists. The optional final parameter being true indicates
- # to do the check instead of the intersection.
-
- my $a_object = shift;
- my $b_object = shift;
- my $check_if_overlapping = shift;
- $check_if_overlapping = 0 unless defined $check_if_overlapping;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if (! defined $b_object) {
- my $message = "";
- $message .= $a_object->_owner_name_of if defined $a_object;
- Carp::my_carp_bug($message .= "Called with undefined value. Intersection not done.");
- return;
- }
-
- # a & b = !(!a | !b), or in our terminology = ~ ( ~a + -b )
- # Thus the intersection could be much more simply be written:
- # return ~(~$a_object + ~$b_object);
- # But, this is slower, and when taking the inverse of a large
- # range_size_1 table, back when such tables were always stored that
- # way, it became prohibitively slow, hence the code was changed to the
- # below
-
- if ($b_object->isa('Range')) {
- $b_object = Range_List->new(Initialize => $b_object,
- Owner => $a_object->_owner_name_of);
- }
- $b_object = $b_object->_range_list if $b_object->can('_range_list');
-
- my @a_ranges = $a_object->ranges;
- my @b_ranges = $b_object->ranges;
-
- #local $to_trace = 1 if main::DEBUG;
- trace "intersecting $a_object with ", scalar @a_ranges, "ranges and $b_object with", scalar @b_ranges, " ranges" if main::DEBUG && $to_trace;
-
- # Start with the first range in each list
- my $a_i = 0;
- my $range_a = $a_ranges[$a_i];
- my $b_i = 0;
- my $range_b = $b_ranges[$b_i];
-
- my $new = __PACKAGE__->new(Owner => $a_object->_owner_name_of)
- if ! $check_if_overlapping;
-
- # If either list is empty, there is no intersection and no overlap
- if (! defined $range_a || ! defined $range_b) {
- return $check_if_overlapping ? 0 : $new;
- }
- trace "range_a[$a_i]=$range_a; range_b[$b_i]=$range_b" if main::DEBUG && $to_trace;
-
- # Otherwise, must calculate the intersection/overlap. Start with the
- # very first code point in each list
- my $a = $range_a->start;
- my $b = $range_b->start;
-
- # Loop through all the ranges of each list; in each iteration, $a and
- # $b are the current code points in their respective lists
- while (1) {
-
- # If $a and $b are the same code point, ...
- if ($a == $b) {
-
- # it means the lists overlap. If just checking for overlap
- # know the answer now,
- return 1 if $check_if_overlapping;
-
- # The intersection includes this code point plus anything else
- # common to both current ranges.
- my $start = $a;
- my $end = main::min($range_a->end, $range_b->end);
- if (! $check_if_overlapping) {
- trace "adding intersection range ", sprintf("%04X", $start) . ".." . sprintf("%04X", $end) if main::DEBUG && $to_trace;
- $new->add_range($start, $end);
- }
-
- # Skip ahead to the end of the current intersect
- $a = $b = $end;
-
- # If the current intersect ends at the end of either range (as
- # it must for at least one of them), the next possible one
- # will be the beginning code point in it's list's next range.
- if ($a == $range_a->end) {
- $range_a = $a_ranges[++$a_i];
- last unless defined $range_a;
- $a = $range_a->start;
- }
- if ($b == $range_b->end) {
- $range_b = $b_ranges[++$b_i];
- last unless defined $range_b;
- $b = $range_b->start;
- }
-
- trace "range_a[$a_i]=$range_a; range_b[$b_i]=$range_b" if main::DEBUG && $to_trace;
- }
- elsif ($a < $b) {
-
- # Not equal, but if the range containing $a encompasses $b,
- # change $a to be the middle of the range where it does equal
- # $b, so the next iteration will get the intersection
- if ($range_a->end >= $b) {
- $a = $b;
- }
- else {
-
- # Here, the current range containing $a is entirely below
- # $b. Go try to find a range that could contain $b.
- $a_i = $a_object->_search_ranges($b);
-
- # If no range found, quit.
- last unless defined $a_i;
-
- # The search returns $a_i, such that
- # range_a[$a_i-1]->end < $b <= range_a[$a_i]->end
- # Set $a to the beginning of this new range, and repeat.
- $range_a = $a_ranges[$a_i];
- $a = $range_a->start;
- }
- }
- else { # Here, $b < $a.
-
- # Mirror image code to the leg just above
- if ($range_b->end >= $a) {
- $b = $a;
- }
- else {
- $b_i = $b_object->_search_ranges($a);
- last unless defined $b_i;
- $range_b = $b_ranges[$b_i];
- $b = $range_b->start;
- }
- }
- } # End of looping through ranges.
-
- # Intersection fully computed, or now know that there is no overlap
- return $check_if_overlapping ? 0 : $new;
- }
-
- sub overlaps {
- # Returns boolean giving whether the two arguments overlap somewhere
-
- my $self = shift;
- my $other = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return $self->_intersect($other, 1);
- }
-
- sub add_range {
- # Add a range to the list.
-
- my $self = shift;
- my $start = shift;
- my $end = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return $self->_add_delete('+', $start, $end, "");
- }
-
- my $non_ASCII = (ord('A') != 65); # Assumes test on same platform
-
- sub is_code_point_usable {
- # This used only for making the test script. See if the input
- # proposed trial code point is one that Perl will handle. If second
- # parameter is 0, it won't select some code points for various
- # reasons, noted below.
-
- my $code = shift;
- my $try_hard = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return 0 if $code < 0; # Never use a negative
-
- # For non-ASCII, we shun the characters that don't have Perl encoding-
- # independent symbols for them. 'A' is such a symbol, so is "\n".
- return $try_hard if $non_ASCII
- && $code <= 0xFF
- && ($code >= 0x7F
- || ($code >= 0x0E && $code <= 0x1F)
- || ($code >= 0x01 && $code <= 0x06)
- || $code == 0x0B);
-
- # shun null. I'm (khw) not sure why this was done, but NULL would be
- # the character very frequently used.
- return $try_hard if $code == 0x0000;
-
- return 0 if $try_hard; # XXX Temporary until fix utf8.c
-
- # shun non-character code points.
- return $try_hard if $code >= 0xFDD0 && $code <= 0xFDEF;
- return $try_hard if ($code & 0xFFFE) == 0xFFFE; # includes FFFF
-
- return $try_hard if $code > $LAST_UNICODE_CODEPOINT; # keep in range
- return $try_hard if $code >= 0xD800 && $code <= 0xDFFF; # no surrogate
-
- return 1;
- }
-
- sub get_valid_code_point {
- # Return a code point that's part of the range list. Returns nothing
- # if the table is empty or we can't find a suitable code point. This
- # used only for making the test script.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr($self);
-
- # On first pass, don't choose less desirable code points; if no good
- # one is found, repeat, allowing a less desirable one to be selected.
- for my $try_hard (0, 1) {
-
- # Look through all the ranges for a usable code point.
- for my $set ($self->ranges) {
-
- # Try the edge cases first, starting with the end point of the
- # range.
- my $end = $set->end;
- return $end if is_code_point_usable($end, $try_hard);
-
- # End point didn't, work. Start at the beginning and try
- # every one until find one that does work.
- for my $trial ($set->start .. $end - 1) {
- return $trial if is_code_point_usable($trial, $try_hard);
- }
- }
- }
- return (); # If none found, give up.
- }
-
- sub get_invalid_code_point {
- # Return a code point that's not part of the table. Returns nothing
- # if the table covers all code points or a suitable code point can't
- # be found. This used only for making the test script.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Just find a valid code point of the inverse, if any.
- return Range_List->new(Initialize => ~ $self)->get_valid_code_point;
- }
-} # end closure for Range_List
-
-package Range_Map;
-use base '_Range_List_Base';
-
-# A Range_Map is a range list in which the range values (called maps) are
-# significant, and hence shouldn't be manipulated by our other code, which
-# could be ambiguous or lose things. For example, in taking the union of two
-# lists, which share code points, but which have differing values, which one
-# has precedence in the union?
-# It turns out that these operations aren't really necessary for map tables,
-# and so this class was created to make sure they aren't accidentally
-# applied to them.
-
-{ # Closure
-
- sub add_map {
- # Add a range containing a mapping value to the list
-
- my $self = shift;
- # Rest of parameters passed on
-
- return $self->_add_delete('+', @_);
- }
-
- sub add_duplicate {
- # Adds entry to a range list which can duplicate an existing entry
-
- my $self = shift;
- my $code_point = shift;
- my $value = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return $self->add_map($code_point, $code_point,
- $value, Replace => $MULTIPLE);
- }
-} # End of closure for package Range_Map
-
-package _Base_Table;
-
-# A table is the basic data structure that gets written out into a file for
-# use by the Perl core. This is the abstract base class implementing the
-# common elements from the derived ones. A list of the methods to be
-# furnished by an implementing class is just after the constructor.
-
-sub standardize { return main::standardize($_[0]); }
-sub trace { return main::trace(@_); }
-
-{ # Closure
-
- main::setup_package();
-
- my %range_list;
- # Object containing the ranges of the table.
- main::set_access('range_list', \%range_list, 'p_r', 'p_s');
-
- my %full_name;
- # The full table name.
- main::set_access('full_name', \%full_name, 'r');
-
- my %name;
- # The table name, almost always shorter
- main::set_access('name', \%name, 'r');
-
- my %short_name;
- # The shortest of all the aliases for this table, with underscores removed
- main::set_access('short_name', \%short_name);
-
- my %nominal_short_name_length;
- # The length of short_name before removing underscores
- main::set_access('nominal_short_name_length',
- \%nominal_short_name_length);
-
- my %complete_name;
- # The complete name, including property.
- main::set_access('complete_name', \%complete_name, 'r');
-
- my %property;
- # Parent property this table is attached to.
- main::set_access('property', \%property, 'r');
-
- my %aliases;
- # Ordered list of aliases of the table's name. The first ones in the list
- # are output first in comments
- main::set_access('aliases', \%aliases, 'readable_array');
-
- my %comment;
- # A comment associated with the table for human readers of the files
- main::set_access('comment', \%comment, 's');
-
- my %description;
- # A comment giving a short description of the table's meaning for human
- # readers of the files.
- main::set_access('description', \%description, 'readable_array');
-
- my %note;
- # A comment giving a short note about the table for human readers of the
- # files.
- main::set_access('note', \%note, 'readable_array');
-
- my %internal_only;
- # Boolean; if set means any file that contains this table is marked as for
- # internal-only use.
- main::set_access('internal_only', \%internal_only);
-
- my %find_table_from_alias;
- # The parent property passes this pointer to a hash which this class adds
- # all its aliases to, so that the parent can quickly take an alias and
- # find this table.
- main::set_access('find_table_from_alias', \%find_table_from_alias, 'p_r');
-
- my %locked;
- # After this table is made equivalent to another one; we shouldn't go
- # changing the contents because that could mean it's no longer equivalent
- main::set_access('locked', \%locked, 'r');
-
- my %file_path;
- # This gives the final path to the file containing the table. Each
- # directory in the path is an element in the array
- main::set_access('file_path', \%file_path, 'readable_array');
-
- my %status;
- # What is the table's status, normal, $OBSOLETE, etc. Enum
- main::set_access('status', \%status, 'r');
-
- my %status_info;
- # A comment about its being obsolete, or whatever non normal status it has
- main::set_access('status_info', \%status_info, 'r');
-
- my %range_size_1;
- # Is the table to be output with each range only a single code point?
- # This is done to avoid breaking existing code that may have come to rely
- # on this behavior in previous versions of this program.)
- main::set_access('range_size_1', \%range_size_1, 'r', 's');
-
- my %perl_extension;
- # A boolean set iff this table is a Perl extension to the Unicode
- # standard.
- main::set_access('perl_extension', \%perl_extension, 'r');
-
- my %output_range_counts;
- # A boolean set iff this table is to have comments written in the
- # output file that contain the number of code points in the range.
- # The constructor can override the global flag of the same name.
- main::set_access('output_range_counts', \%output_range_counts, 'r');
-
- sub new {
- # All arguments are key => value pairs, which you can see below, most
- # of which match fields documented above. Otherwise: Pod_Entry,
- # Externally_Ok, and Fuzzy apply to the names of the table, and are
- # documented in the Alias package
-
- return Carp::carp_too_few_args(\@_, 2) if main::DEBUG && @_ < 2;
-
- my $class = shift;
-
- my $self = bless \do { my $anonymous_scalar }, $class;
- my $addr = main::objaddr($self);
-
- my %args = @_;
-
- $name{$addr} = delete $args{'Name'};
- $find_table_from_alias{$addr} = delete $args{'_Alias_Hash'};
- $full_name{$addr} = delete $args{'Full_Name'};
- my $complete_name = $complete_name{$addr}
- = delete $args{'Complete_Name'};
- $internal_only{$addr} = delete $args{'Internal_Only_Warning'} || 0;
- $output_range_counts{$addr} = delete $args{'Output_Range_Counts'};
- $property{$addr} = delete $args{'_Property'};
- $range_list{$addr} = delete $args{'_Range_List'};
- $status{$addr} = delete $args{'Status'} || $NORMAL;
- $status_info{$addr} = delete $args{'_Status_Info'} || "";
- $range_size_1{$addr} = delete $args{'Range_Size_1'} || 0;
-
- my $description = delete $args{'Description'};
- my $externally_ok = delete $args{'Externally_Ok'};
- my $loose_match = delete $args{'Fuzzy'};
- my $note = delete $args{'Note'};
- my $make_pod_entry = delete $args{'Pod_Entry'};
- my $perl_extension = delete $args{'Perl_Extension'};
-
- # Shouldn't have any left over
- Carp::carp_extra_args(\%args) if main::DEBUG && %args;
-
- # Can't use || above because conceivably the name could be 0, and
- # can't use // operator in case this program gets used in Perl 5.8
- $full_name{$addr} = $name{$addr} if ! defined $full_name{$addr};
- $output_range_counts{$addr} = $output_range_counts if
- ! defined $output_range_counts{$addr};
-
- $aliases{$addr} = [ ];
- $comment{$addr} = [ ];
- $description{$addr} = [ ];
- $note{$addr} = [ ];
- $file_path{$addr} = [ ];
- $locked{$addr} = "";
-
- push @{$description{$addr}}, $description if $description;
- push @{$note{$addr}}, $note if $note;
-
- if ($status{$addr} eq $PLACEHOLDER) {
-
- # A placeholder table doesn't get documented, is a perl extension,
- # and quite likely will be empty
- $make_pod_entry = 0 if ! defined $make_pod_entry;
- $perl_extension = 1 if ! defined $perl_extension;
- push @tables_that_may_be_empty, $complete_name{$addr};
- }
- elsif (! $status{$addr}) {
-
- # If hasn't set its status already, see if it is on one of the
- # lists of properties or tables that have particular statuses; if
- # not, is normal. The lists are prioritized so the most serious
- # ones are checked first
- if (exists $why_suppressed{$complete_name}) {
- $status{$addr} = $SUPPRESSED;
- }
- elsif (exists $why_deprecated{$complete_name}) {
- $status{$addr} = $DEPRECATED;
- }
- elsif (exists $why_stabilized{$complete_name}) {
- $status{$addr} = $STABILIZED;
- }
- elsif (exists $why_obsolete{$complete_name}) {
- $status{$addr} = $OBSOLETE;
- }
-
- # Existence above doesn't necessarily mean there is a message
- # associated with it. Use the most serious message.
- if ($status{$addr}) {
- if ($why_suppressed{$complete_name}) {
- $status_info{$addr}
- = $why_suppressed{$complete_name};
- }
- elsif ($why_deprecated{$complete_name}) {
- $status_info{$addr}
- = $why_deprecated{$complete_name};
- }
- elsif ($why_stabilized{$complete_name}) {
- $status_info{$addr}
- = $why_stabilized{$complete_name};
- }
- elsif ($why_obsolete{$complete_name}) {
- $status_info{$addr}
- = $why_obsolete{$complete_name};
- }
- }
- }
-
- $perl_extension{$addr} = $perl_extension || 0;
-
- # By convention what typically gets printed only or first is what's
- # first in the list, so put the full name there for good output
- # clarity. Other routines rely on the full name being first on the
- # list
- $self->add_alias($full_name{$addr},
- Externally_Ok => $externally_ok,
- Fuzzy => $loose_match,
- Pod_Entry => $make_pod_entry,
- Status => $status{$addr},
- );
-
- # Then comes the other name, if meaningfully different.
- if (standardize($full_name{$addr}) ne standardize($name{$addr})) {
- $self->add_alias($name{$addr},
- Externally_Ok => $externally_ok,
- Fuzzy => $loose_match,
- Pod_Entry => $make_pod_entry,
- Status => $status{$addr},
- );
- }
-
- return $self;
- }
-
- # Here are the methods that are required to be defined by any derived
- # class
- for my $sub qw(
- append_to_body
- pre_body
- )
- # append_to_body and pre_body are called in the write() method
- # to add stuff after the main body of the table, but before
- # its close; and to prepend stuff before the beginning of the
- # table.
- {
- no strict "refs";
- *$sub = sub {
- Carp::my_carp_bug( __LINE__
- . ": Must create method '$sub()' for "
- . ref shift);
- return;
- }
- }
-
- use overload
- fallback => 0,
- "." => \&main::_operator_dot,
- '!=' => \&main::_operator_not_equal,
- '==' => \&main::_operator_equal,
- ;
-
- sub ranges {
- # Returns the array of ranges associated with this table.
-
- return $range_list{main::objaddr shift}->ranges;
- }
-
- sub add_alias {
- # Add a synonym for this table.
-
- return Carp::carp_too_few_args(\@_, 3) if main::DEBUG && @_ < 3;
-
- my $self = shift;
- my $name = shift; # The name to add.
- my $pointer = shift; # What the alias hash should point to. For
- # map tables, this is the parent property;
- # for match tables, it is the table itself.
-
- my %args = @_;
- my $loose_match = delete $args{'Fuzzy'};
-
- my $make_pod_entry = delete $args{'Pod_Entry'};
- $make_pod_entry = $YES unless defined $make_pod_entry;
-
- my $externally_ok = delete $args{'Externally_Ok'};
- $externally_ok = 1 unless defined $externally_ok;
-
- my $status = delete $args{'Status'};
- $status = $NORMAL unless defined $status;
-
- Carp::carp_extra_args(\%args) if main::DEBUG && %args;
-
- # Capitalize the first letter of the alias unless it is one of the CJK
- # ones which specifically begins with a lower 'k'. Do this because
- # Unicode has varied whether they capitalize first letters or not, and
- # have later changed their minds and capitalized them, but not the
- # other way around. So do it always and avoid changes from release to
- # release
- $name = ucfirst($name) unless $name =~ /^k[A-Z]/;
-
- my $addr = main::objaddr $self;
-
- # Figure out if should be loosely matched if not already specified.
- if (! defined $loose_match) {
-
- # Is a loose_match if isn't null, and doesn't begin with an
- # underscore and isn't just a number
- if ($name ne ""
- && substr($name, 0, 1) ne '_'
- && $name !~ qr{^[0-9_.+-/]+$})
- {
- $loose_match = 1;
- }
- else {
- $loose_match = 0;
- }
- }
-
- # If this alias has already been defined, do nothing.
- return if defined $find_table_from_alias{$addr}->{$name};
-
- # That includes if it is standardly equivalent to an existing alias,
- # in which case, add this name to the list, so won't have to search
- # for it again.
- my $standard_name = main::standardize($name);
- if (defined $find_table_from_alias{$addr}->{$standard_name}) {
- $find_table_from_alias{$addr}->{$name}
- = $find_table_from_alias{$addr}->{$standard_name};
- return;
- }
-
- # Set the index hash for this alias for future quick reference.
- $find_table_from_alias{$addr}->{$name} = $pointer;
- $find_table_from_alias{$addr}->{$standard_name} = $pointer;
- local $to_trace = 0 if main::DEBUG;
- trace "adding alias $name to $pointer" if main::DEBUG && $to_trace;
- trace "adding alias $standard_name to $pointer" if main::DEBUG && $to_trace;
-
-
- # Put the new alias at the end of the list of aliases unless the final
- # element begins with an underscore (meaning it is for internal perl
- # use) or is all numeric, in which case, put the new one before that
- # one. This floats any all-numeric or underscore-beginning aliases to
- # the end. This is done so that they are listed last in output lists,
- # to encourage the user to use a better name (either more descriptive
- # or not an internal-only one) instead. This ordering is relied on
- # implicitly elsewhere in this program, like in short_name()
- my $list = $aliases{$addr};
- my $insert_position = (@$list == 0
- || (substr($list->[-1]->name, 0, 1) ne '_'
- && $list->[-1]->name =~ /\D/))
- ? @$list
- : @$list - 1;
- splice @$list,
- $insert_position,
- 0,
- Alias->new($name, $loose_match, $make_pod_entry,
- $externally_ok, $status);
-
- # This name may be shorter than any existing ones, so clear the cache
- # of the shortest, so will have to be recalculated.
- undef $short_name{main::objaddr $self};
- return;
- }
-
- sub short_name {
- # Returns a name suitable for use as the base part of a file name.
- # That is, shorter wins. It can return undef if there is no suitable
- # name. The name has all non-essential underscores removed.
-
- # The optional second parameter is a reference to a scalar in which
- # this routine will store the length the returned name had before the
- # underscores were removed, or undef if the return is undef.
-
- # The shortest name can change if new aliases are added. So using
- # this should be deferred until after all these are added. The code
- # that does that should clear this one's cache.
- # Any name with alphabetics is preferred over an all numeric one, even
- # if longer.
-
- my $self = shift;
- my $nominal_length_ptr = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- # For efficiency, don't recalculate, but this means that adding new
- # aliases could change what the shortest is, so the code that does
- # that needs to undef this.
- if (defined $short_name{$addr}) {
- if ($nominal_length_ptr) {
- $$nominal_length_ptr = $nominal_short_name_length{$addr};
- }
- return $short_name{$addr};
- }
-
- # Look at each alias
- foreach my $alias ($self->aliases()) {
-
- # Don't use an alias that isn't ok to use for an external name.
- next if ! $alias->externally_ok;
-
- my $name = main::Standardize($alias->name);
- trace $self, $name if main::DEBUG && $to_trace;
-
- # Take the first one, or a shorter one that isn't numeric. This
- # relies on numeric aliases always being last in the array
- # returned by aliases(). Any alpha one will have precedence.
- if (! defined $short_name{$addr}
- || ($name =~ /\D/
- && length($name) < length($short_name{$addr})))
- {
- # Remove interior underscores.
- ($short_name{$addr} = $name) =~ s/ (?<= . ) _ (?= . ) //xg;
-
- $nominal_short_name_length{$addr} = length $name;
- }
- }
-
- # If no suitable external name return undef
- if (! defined $short_name{$addr}) {
- $$nominal_length_ptr = undef if $nominal_length_ptr;
- return;
- }
-
- # Don't allow a null external name.
- if ($short_name{$addr} eq "") {
- $short_name{$addr} = '_';
- $nominal_short_name_length{$addr} = 1;
- }
-
- trace $self, $short_name{$addr} if main::DEBUG && $to_trace;
-
- if ($nominal_length_ptr) {
- $$nominal_length_ptr = $nominal_short_name_length{$addr};
- }
- return $short_name{$addr};
- }
-
- sub external_name {
- # Returns the external name that this table should be known by. This
- # is usually the short_name, but not if the short_name is undefined.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $short = $self->short_name;
- return $short if defined $short;
-
- return '_';
- }
-
- sub add_description { # Adds the parameter as a short description.
-
- my $self = shift;
- my $description = shift;
- chomp $description;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- push @{$description{main::objaddr $self}}, $description;
-
- return;
- }
-
- sub add_note { # Adds the parameter as a short note.
-
- my $self = shift;
- my $note = shift;
- chomp $note;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- push @{$note{main::objaddr $self}}, $note;
-
- return;
- }
-
- sub add_comment { # Adds the parameter as a comment.
-
- my $self = shift;
- my $comment = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- chomp $comment;
- push @{$comment{main::objaddr $self}}, $comment;
-
- return;
- }
-
- sub comment {
- # Return the current comment for this table. If called in list
- # context, returns the array of comments. In scalar, returns a string
- # of each element joined together with a period ending each.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my @list = @{$comment{main::objaddr $self}};
- return @list if wantarray;
- my $return = "";
- foreach my $sentence (@list) {
- $return .= '. ' if $return;
- $return .= $sentence;
- $return =~ s/\.$//;
- }
- $return .= '.' if $return;
- return $return;
- }
-
- sub initialize {
- # Initialize the table with the argument which is any valid
- # initialization for range lists.
-
- my $self = shift;
- my $initialization = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Replace the current range list with a new one of the same exact
- # type.
- my $class = ref $range_list{main::objaddr $self};
- $range_list{main::objaddr $self} = $class->new(Owner => $self,
- Initialize => $initialization);
- return;
-
- }
-
- sub header {
- # The header that is output for the table in the file it is written
- # in.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $return = "";
- $return .= $DEVELOPMENT_ONLY if $compare_versions;
- $return .= $HEADER;
- $return .= $INTERNAL_ONLY if $internal_only{main::objaddr $self};
- return $return;
- }
-
- sub write {
- # Write a representation of the table to its file.
-
- my $self = shift;
- my $tab_stops = shift; # The number of tab stops over to put any
- # comment.
- my $suppress_value = shift; # Optional, if the value associated with
- # a range equals this one, don't write
- # the range
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr($self);
-
- # Start with the header
- my @OUT = $self->header;
-
- # Then the comments
- push @OUT, "\n", main::simple_fold($comment{$addr}, '# '), "\n"
- if $comment{$addr};
-
- # Then any pre-body stuff.
- my $pre_body = $self->pre_body;
- push @OUT, $pre_body, "\n" if $pre_body;
-
- # The main body looks like a 'here' document
- push @OUT, "return <<'END';\n";
-
- if ($range_list{$addr}->is_empty) {
-
- # This is a kludge for empty tables to silence a warning in
- # utf8.c, which can't really deal with empty tables, but it can
- # deal with a table that matches nothing, as the inverse of 'Any'
- # does.
- push @OUT, "!utf8::IsAny\n";
- }
- else {
- my $range_size_1 = $range_size_1{$addr};
-
- # Output each range as part of the here document.
- for my $set ($range_list{$addr}->ranges) {
- my $start = $set->start;
- my $end = $set->end;
- my $value = $set->value;
-
- # Don't output ranges whose value is the one to suppress
- next if defined $suppress_value && $value eq $suppress_value;
-
- # If has or wants a single point range output
- if ($start == $end || $range_size_1) {
- for my $i ($start .. $end) {
- push @OUT, sprintf "%04X\t\t%s\n", $i, $value;
- }
- }
- else {
- push @OUT, sprintf "%04X\t%04X\t%s", $start, $end, $value;
-
- # Add a comment with the size of the range, if requested.
- # Expand Tabs to make sure they all start in the same
- # column, and then unexpand to use mostly tabs.
- if (! $output_range_counts{$addr}) {
- $OUT[-1] .= "\n";
- }
- else {
- $OUT[-1] = Text::Tabs::expand($OUT[-1]);
- my $count = main::clarify_number($end - $start + 1);
- use integer;
-
- my $width = $tab_stops * 8 - 1;
- $OUT[-1] = sprintf("%-*s # [%s]\n",
- $width,
- $OUT[-1],
- $count);
- $OUT[-1] = Text::Tabs::unexpand($OUT[-1]);
- }
- }
- } # End of loop through all the table's ranges
- }
-
- # Add anything that goes after the main body, but within the here
- # document,
- my $append_to_body = $self->append_to_body;
- push @OUT, $append_to_body if $append_to_body;
-
- # And finish the here document.
- push @OUT, "END\n";
-
- # All these files have a .pl suffix
- $file_path{$addr}->[-1] .= '.pl';
-
- main::write($file_path{$addr}, \@OUT);
- return;
- }
-
- sub set_status { # Set the table's status
- my $self = shift;
- my $status = shift; # The status enum value
- my $info = shift; # Any message associated with it.
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr($self);
-
- $status{$addr} = $status;
- $status_info{$addr} = $info;
- return;
- }
-
- sub lock {
- # Don't allow changes to the table from now on. This stores a stack
- # trace of where it was called, so that later attempts to modify it
- # can immediately show where it got locked.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- $locked{$addr} = "";
-
- my $line = (caller(0))[2];
- my $i = 1;
-
- # Accumulate the stack trace
- while (1) {
- my ($pkg, $file, $caller_line, $caller) = caller $i++;
-
- last unless defined $caller;
-
- $locked{$addr} .= " called from $caller() at line $line\n";
- $line = $caller_line;
- }
- $locked{$addr} .= " called from main at line $line\n";
-
- return;
- }
-
- sub carp_if_locked {
- # Return whether a table is locked or not, and, by the way, complain
- # if is locked
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return 0 if ! $locked{$addr};
- Carp::my_carp_bug("Can't modify a locked table. Stack trace of locking:\n$locked{$addr}\n\n");
- return 1;
- }
-
- sub set_file_path { # Set the final directory path for this table
- my $self = shift;
- # Rest of parameters passed on
-
- @{$file_path{main::objaddr $self}} = @_;
- return
- }
-
- # Accessors for the range list stored in this table. First for
- # unconditional
- for my $sub qw(
- contains
- count
- each_range
- hash
- is_empty
- max
- min
- range_count
- reset_each_range
- value_of
- )
- {
- no strict "refs";
- *$sub = sub {
- use strict "refs";
- my $self = shift;
- return $range_list{main::objaddr $self}->$sub(@_);
- }
- }
-
- # Then for ones that should fail if locked
- for my $sub qw(
- delete_range
- )
- {
- no strict "refs";
- *$sub = sub {
- use strict "refs";
- my $self = shift;
-
- return if $self->carp_if_locked;
- return $range_list{main::objaddr $self}->$sub(@_);
- }
- }
-
-} # End closure
-
-package Map_Table;
-use base '_Base_Table';
-
-# A Map Table is a table that contains the mappings from code points to
-# values. There are two weird cases:
-# 1) Anomalous entries are ones that aren't maps of ranges of code points, but
-# are written in the table's file at the end of the table nonetheless. It
-# requires specially constructed code to handle these; utf8.c can not read
-# these in, so they should not go in $map_directory. As of this writing,
-# the only case that these happen is for named sequences used in
-# charnames.pm. But this code doesn't enforce any syntax on these, so
-# something else could come along that uses it.
-# 2) Specials are anything that doesn't fit syntactically into the body of the
-# table. The ranges for these have a map type of non-zero. The code below
-# knows about and handles each possible type. In most cases, these are
-# written as part of the header.
-#
-# A map table deliberately can't be manipulated at will unlike match tables.
-# This is because of the ambiguities having to do with what to do with
-# overlapping code points. And there just isn't a need for those things;
-# what one wants to do is just query, add, replace, or delete mappings, plus
-# write the final result.
-# However, there is a method to get the list of possible ranges that aren't in
-# this table to use for defaulting missing code point mappings. And,
-# map_add_or_replace_non_nulls() does allow one to add another table to this
-# one, but it is clearly very specialized, and defined that the other's
-# non-null values replace this one's if there is any overlap.
-
-sub trace { return main::trace(@_); }
-
-{ # Closure
-
- main::setup_package();
-
- my %default_map;
- # Many input files omit some entries; this gives what the mapping for the
- # missing entries should be
- main::set_access('default_map', \%default_map, 'r');
-
- my %anomalous_entries;
- # Things that go in the body of the table which don't fit the normal
- # scheme of things, like having a range. Not much can be done with these
- # once there except to output them. This was created to handle named
- # sequences.
- main::set_access('anomalous_entry', \%anomalous_entries, 'a');
- main::set_access('anomalous_entries', # Append singular, read plural
- \%anomalous_entries,
- 'readable_array');
-
- my %format;
- # The format of the entries of the table. This is calculated from the
- # data in the table (or passed in the constructor). This is an enum e.g.,
- # $STRING_FORMAT
- main::set_access('format', \%format);
-
- my %core_access;
- # This is a string, solely for documentation, indicating how one can get
- # access to this property via the Perl core.
- main::set_access('core_access', \%core_access, 'r', 's');
-
- my %has_specials;
- # Boolean set when non-zero map-type ranges are added to this table,
- # which happens in only a few tables. This is purely for performance, to
- # avoid having to search through every table upon output, so if all the
- # non-zero maps got deleted before output, this would remain set, and the
- # only penalty would be performance. Currently, most map tables that get
- # output have specials in them, so this doesn't help that much anyway.
- main::set_access('has_specials', \%has_specials);
-
- my %to_output_map;
- # Boolean as to whether or not to write out this map table
- main::set_access('to_output_map', \%to_output_map, 's');
-
-
- sub new {
- my $class = shift;
- my $name = shift;
-
- my %args = @_;
-
- # Optional initialization data for the table.
- my $initialize = delete $args{'Initialize'};
-
- my $core_access = delete $args{'Core_Access'};
- my $default_map = delete $args{'Default_Map'};
- my $format = delete $args{'Format'};
- my $property = delete $args{'_Property'};
- my $full_name = delete $args{'Full_Name'};
- # Rest of parameters passed on
-
- my $range_list = Range_Map->new(Owner => $property);
-
- my $self = $class->SUPER::new(
- Name => $name,
- Complete_Name => $full_name,
- Full_Name => $full_name,
- _Property => $property,
- _Range_List => $range_list,
- %args);
-
- my $addr = main::objaddr $self;
-
- $anomalous_entries{$addr} = [];
- $core_access{$addr} = $core_access;
- $default_map{$addr} = $default_map;
- $format{$addr} = $format;
-
- $self->initialize($initialize) if defined $initialize;
-
- return $self;
- }
-
- use overload
- fallback => 0,
- qw("") => "_operator_stringify",
- ;
-
- sub _operator_stringify {
- my $self = shift;
-
- my $name = $self->property->full_name;
- $name = '""' if $name eq "";
- return "Map table for Property '$name'";
- }
-
- sub add_alias {
- # Add a synonym for this table (which means the property itself)
- my $self = shift;
- my $name = shift;
- # Rest of parameters passed on.
-
- $self->SUPER::add_alias($name, $self->property, @_);
- return;
- }
-
- sub add_map {
- # Add a range of code points to the list of specially-handled code
- # points. $MULTI_CP is assumed if the type of special is not passed
- # in.
-
- my $self = shift;
- my $lower = shift;
- my $upper = shift;
- my $string = shift;
- my %args = @_;
-
- my $type = delete $args{'Type'} || 0;
- # Rest of parameters passed on
-
- # Can't change the table if locked.
- return if $self->carp_if_locked;
-
- my $addr = main::objaddr $self;
-
- $has_specials{$addr} = 1 if $type;
-
- $self->_range_list->add_map($lower, $upper,
- $string,
- @_,
- Type => $type);
- return;
- }
-
- sub append_to_body {
- # Adds to the written HERE document of the table's body any anomalous
- # entries in the table..
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return "" unless @{$anomalous_entries{$addr}};
- return join("\n", @{$anomalous_entries{$addr}}) . "\n";
- }
-
- sub map_add_or_replace_non_nulls {
- # This adds the mappings in the table $other to $self. Non-null
- # mappings from $other override those in $self. It essentially merges
- # the two tables, with the second having priority except for null
- # mappings.
-
- my $self = shift;
- my $other = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return if $self->carp_if_locked;
-
- if (! $other->isa(__PACKAGE__)) {
- Carp::my_carp_bug("$other should be a "
- . __PACKAGE__
- . ". Not a '"
- . ref($other)
- . "'. Not added;");
- return;
- }
-
- my $addr = main::objaddr $self;
- my $other_addr = main::objaddr $other;
-
- local $to_trace = 0 if main::DEBUG;
-
- my $self_range_list = $self->_range_list;
- my $other_range_list = $other->_range_list;
- foreach my $range ($other_range_list->ranges) {
- my $value = $range->value;
- next if $value eq "";
- $self_range_list->_add_delete('+',
- $range->start,
- $range->end,
- $value,
- Type => $range->type,
- Replace => $UNCONDITIONALLY);
- }
-
- # Copy the specials information from the other table to $self
- if ($has_specials{$other_addr}) {
- $has_specials{$addr} = 1;
- }
-
- return;
- }
-
- sub set_default_map {
- # Define what code points that are missing from the input files should
- # map to
-
- my $self = shift;
- my $map = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- # Convert the input to the standard equivalent, if any (won't have any
- # for $STRING properties)
- my $standard = $self->_find_table_from_alias->{$map};
- $map = $standard->name if defined $standard;
-
- # Warn if there already is a non-equivalent default map for this
- # property. Note that a default map can be a ref, which means that
- # what it actually means is delayed until later in the program, and it
- # IS permissible to override it here without a message.
- my $default_map = $default_map{$addr};
- if (defined $default_map
- && ! ref($default_map)
- && $default_map ne $map
- && main::Standardize($map) ne $default_map)
- {
- my $property = $self->property;
- my $map_table = $property->table($map);
- my $default_table = $property->table($default_map);
- if (defined $map_table
- && defined $default_table
- && $map_table != $default_table)
- {
- Carp::my_carp("Changing the default mapping for "
- . $property
- . " from $default_map to $map'");
- }
- }
-
- $default_map{$addr} = $map;
-
- # Don't also create any missing table for this map at this point,
- # because if we did, it could get done before the main table add is
- # done for PropValueAliases.txt; instead the caller will have to make
- # sure it exists, if desired.
- return;
- }
-
- sub to_output_map {
- # Returns boolean: should we write this map table?
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- # If overridden, use that
- return $to_output_map{$addr} if defined $to_output_map{$addr};
-
- my $full_name = $self->full_name;
-
- # If table says to output, do so; if says to suppress it, do do.
- return 1 if grep { $_ eq $full_name } @output_mapped_properties;
- return 0 if $self->status eq $SUPPRESSED;
-
- my $type = $self->property->type;
-
- # Don't want to output binary map tables even for debugging.
- return 0 if $type == $BINARY;
-
- # But do want to output string ones.
- return 1 if $type == $STRING;
-
- # Otherwise is an $ENUM, don't output it
- return 0;
- }
-
- sub inverse_list {
- # Returns a Range_List that is gaps of the current table. That is,
- # the inversion
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $current = Range_List->new(Initialize => $self->_range_list,
- Owner => $self->property);
- return ~ $current;
- }
-
- sub set_final_comment {
- # Just before output, create the comment that heads the file
- # containing this table.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # No sense generating a comment if aren't going to write it out.
- return if ! $self->to_output_map;
-
- my $addr = main::objaddr $self;
-
- my $property = $self->property;
-
- # Get all the possible names for this property. Don't use any that
- # aren't ok for use in a file name, etc. This is perhaps causing that
- # flag to do double duty, and may have to be changed in the future to
- # have our own flag for just this purpose; but it works now to exclude
- # Perl generated synonyms from the lists for properties, where the
- # name is always the proper Unicode one.
- my @property_aliases = grep { $_->externally_ok } $self->aliases;
-
- my $count = $self->count;
- my $default_map = $default_map{$addr};
-
- # The ranges that map to the default aren't output, so subtract that
- # to get those actually output. A property with matching tables
- # already has the information calculated.
- if ($property->type != $STRING) {
- $count -= $property->table($default_map)->count;
- }
- elsif (defined $default_map) {
-
- # But for $STRING properties, must calculate now. Subtract the
- # count from each range that maps to the default.
- foreach my $range ($self->_range_list->ranges) {
- if ($range->value eq $default_map) {
- $count -= $range->end +1 - $range->start;
- }
- }
-
- }
-
- # Get a string version of $count with underscores in large numbers,
- # for clarity.
- my $string_count = main::clarify_number($count);
-
- my $code_points = ($count == 1)
- ? 'single code point'
- : "$string_count code points";
-
- my $mapping;
- my $these_mappings;
- my $are;
- if (@property_aliases <= 1) {
- $mapping = 'mapping';
- $these_mappings = 'this mapping';
- $are = 'is'
- }
- else {
- $mapping = 'synonymous mappings';
- $these_mappings = 'these mappings';
- $are = 'are'
- }
- my $cp;
- if ($count >= $MAX_UNICODE_CODEPOINTS) {
- $cp = "any code point in Unicode Version $string_version";
- }
- else {
- my $map_to;
- if ($default_map eq "") {
- $map_to = 'the null string';
- }
- elsif ($default_map eq $CODE_POINT) {
- $map_to = "itself";
- }
- else {
- $map_to = "'$default_map'";
- }
- if ($count == 1) {
- $cp = "the single code point";
- }
- else {
- $cp = "one of the $code_points";
- }
- $cp .= " in Unicode Version $string_version for which the mapping is not to $map_to";
- }
-
- my $comment = "";
-
- my $status = $self->status;
- if ($status) {
- my $warn = uc $status_past_participles{$status};
- $comment .= <<END;
-
-!!!!!!! $warn !!!!!!!!!!!!!!!!!!!
- All property or property=value combinations contained in this file are $warn.
- See $unicode_reference_url for what this means.
-
-END
- }
- $comment .= "This file returns the $mapping:\n";
-
- for my $i (0 .. @property_aliases - 1) {
- $comment .= sprintf("%-8s%s\n",
- " ",
- $property_aliases[$i]->name . '(cp)'
- );
- }
- $comment .=
- "\nwhere 'cp' is $cp. Note that $these_mappings $are ";
-
- my $access = $core_access{$addr};
- if ($access) {
- $comment .= "accessible through the Perl core via $access.";
- }
- else {
- $comment .= "not accessible through the Perl core directly.";
- }
-
- # And append any commentary already set from the actual property.
- $comment .= "\n\n" . $self->comment if $self->comment;
- if ($self->description) {
- $comment .= "\n\n" . join " ", $self->description;
- }
- if ($self->note) {
- $comment .= "\n\n" . join " ", $self->note;
- }
- $comment .= "\n";
-
- if (! $self->perl_extension) {
- $comment .= <<END;
-
-For information about what this property really means, see:
-$unicode_reference_url
-END
- }
-
- if ($count) { # Format differs for empty table
- $comment.= "\nThe format of the ";
- if ($self->range_size_1) {
- $comment.= <<END;
-main body of lines of this file is: CODE_POINT\\t\\tMAPPING where CODE_POINT
-is in hex; MAPPING is what CODE_POINT maps to.
-END
- }
- else {
-
- # There are tables which end up only having one element per
- # range, but it is not worth keeping track of for making just
- # this comment a little better.
- $comment.= <<END;
-non-comment portions of the main body of lines of this file is:
-START\\tSTOP\\tMAPPING where START is the starting code point of the
-range, in hex; STOP is the ending point, or if omitted, the range has just one
-code point; MAPPING is what each code point between START and STOP maps to.
-END
- if ($self->output_range_counts) {
- $comment .= <<END;
-Numbers in comments in [brackets] indicate how many code points are in the
-range (omitted when the range is a single code point or if the mapping is to
-the null string).
-END
- }
- }
- }
- $self->set_comment(main::join_lines($comment));
- return;
- }
-
- my %swash_keys; # Makes sure don't duplicate swash names.
-
- sub pre_body {
- # Returns the string that should be output in the file before the main
- # body of this table. This includes some hash entries identifying the
- # format of the body, and what the single value should be for all
- # ranges missing from it. It also includes any code points which have
- # map_types that don't go in the main table.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- my $name = $self->property->swash_name;
-
- if (defined $swash_keys{$name}) {
- Carp::my_carp(join_lines(<<END
-Already created a swash name '$name' for $swash_keys{$name}. This means that
-the same name desired for $self shouldn't be used. Bad News. This must be
-fixed before production use, but proceeding anyway
-END
- ));
- }
- $swash_keys{$name} = "$self";
-
- my $default_map = $default_map{$addr};
-
- my $pre_body = "";
- if ($has_specials{$addr}) {
-
- # Here, some maps with non-zero type have been added to the table.
- # Go through the table and handle each of them. None will appear
- # in the body of the table, so delete each one as we go. The
- # code point count has already been calculated, so ok to delete
- # now.
-
- my @multi_code_point_maps;
- my $has_hangul_syllables = 0;
-
- # The key is the base name of the code point, and the value is an
- # array giving all the ranges that use this base name. Each range
- # is actually a hash giving the 'low' and 'high' values of it.
- my %names_ending_in_code_point;
-
- # Inverse mapping. The list of ranges that have these kinds of
- # names. Each element contains the low, high, and base names in a
- # hash.
- my @code_points_ending_in_code_point;
-
- my $range_map = $self->_range_list;
- foreach my $range ($range_map->ranges) {
- next unless $range->type != 0;
- my $low = $range->start;
- my $high = $range->end;
- my $map = $range->value;
- my $type = $range->type;
-
- # No need to output the range if it maps to the default. And
- # the write method won't output it either, so no need to
- # delete it to keep it from being output, and is faster to
- # skip than to delete anyway.
- next if $map eq $default_map;
-
- # Delete the range to keep write() from trying to output it
- $range_map->delete_range($low, $high);
-
- # Switch based on the map type...
- if ($type == $HANGUL_SYLLABLE) {
-
- # These are entirely algorithmically determinable based on
- # some constants furnished by Unicode; for now, just set a
- # flag to indicate that have them. Below we will output
- # the code that does the algorithm.
- $has_hangul_syllables = 1;
- }
- elsif ($type == $CP_IN_NAME) {
-
- # If the name ends in the code point it represents, are
- # also algorithmically determinable, but need information
- # about the map to do so. Both the map and its inverse
- # are stored in data structures output in the file.
- push @{$names_ending_in_code_point{$map}->{'low'}}, $low;
- push @{$names_ending_in_code_point{$map}->{'high'}}, $high;
-
- push @code_points_ending_in_code_point, { low => $low,
- high => $high,
- name => $map
- };
- }
- elsif ($range->type == $MULTI_CP || $range->type == $NULL) {
-
- # Multi-code point maps and null string maps have an entry
- # for each code point in the range. They use the same
- # output format.
- for my $code_point ($low .. $high) {
-
- # The pack() below can't cope with surrogates.
- if ($code_point >= 0xD800 && $code_point <= 0xDFFF) {
- Carp::my_carp("Surrogage code point '$code_point' in mapping to '$map' in $self. No map created");
- next;
- }
-
- # Generate the hash entries for these in the form that
- # utf8.c understands.
- my $tostr = "";
- foreach my $to (split " ", $map) {
- if ($to !~ /^$code_point_re$/) {
- Carp::my_carp("Illegal code point '$to' in mapping '$map' from $code_point in $self. No map created");
- next;
- }
- $tostr .= sprintf "\\x{%s}", $to;
- }
-
- # I (khw) have never waded through this line to
- # understand it well enough to comment it.
- my $utf8 = sprintf(qq["%s" => "$tostr",],
- join("", map { sprintf "\\x%02X", $_ }
- unpack("U0C*", pack("U", $code_point))));
-
- # Add a comment so that a human reader can more easily
- # see what's going on.
- push @multi_code_point_maps,
- sprintf("%-45s # U+%04X => %s", $utf8,
- $code_point,
- $map);
- }
- }
- else {
- Carp::my_carp("Unrecognized map type '$range->type' in '$range' in $self. Using type 0 instead");
- $range_map->add_map($low, $high, $map, Replace => $UNCONDITIONALLY, Type => 0);
- }
- } # End of loop through all ranges
-
- # Here have gone through the whole file. If actually generated
- # anything for each map type, add its respective header and
- # trailer
- if (@multi_code_point_maps) {
- $pre_body .= <<END;
-
-# Some code points require special handling because their mappings are each to
-# multiple code points. These do not appear in the main body, but are defined
-# in the hash below.
-
-# The key: UTF-8 _bytes_, the value: UTF-8 (speed hack)
-%utf8::ToSpec$name = (
-END
- $pre_body .= join("\n", @multi_code_point_maps) . "\n);\n";
- }
-
- if ($has_hangul_syllables || @code_points_ending_in_code_point) {
-
- # Convert these structures to output format.
- my $code_points_ending_in_code_point =
- main::simple_dumper(\@code_points_ending_in_code_point,
- ' ' x 8);
- my $names = main::simple_dumper(\%names_ending_in_code_point,
- ' ' x 8);
-
- # Do the same with the Hangul names,
- my $jamo;
- my $jamo_l;
- my $jamo_v;
- my $jamo_t;
- my $jamo_re;
- if ($has_hangul_syllables) {
-
- # Construct a regular expression of all the possible
- # combinations of the Hangul syllables.
- my @L_re; # Leading consonants
- for my $i ($LBase .. $LBase + $LCount - 1) {
- push @L_re, $Jamo{$i}
- }
- my @V_re; # Middle vowels
- for my $i ($VBase .. $VBase + $VCount - 1) {
- push @V_re, $Jamo{$i}
- }
- my @T_re; # Trailing consonants
- for my $i ($TBase + 1 .. $TBase + $TCount - 1) {
- push @T_re, $Jamo{$i}
- }
-
- # The whole re is made up of the L V T combination.
- $jamo_re = '('
- . join ('|', sort @L_re)
- . ')('
- . join ('|', sort @V_re)
- . ')('
- . join ('|', sort @T_re)
- . ')?';
-
- # These hashes needed by the algorithm were generated
- # during reading of the Jamo.txt file
- $jamo = main::simple_dumper(\%Jamo, ' ' x 8);
- $jamo_l = main::simple_dumper(\%Jamo_L, ' ' x 8);
- $jamo_v = main::simple_dumper(\%Jamo_V, ' ' x 8);
- $jamo_t = main::simple_dumper(\%Jamo_T, ' ' x 8);
- }
-
- $pre_body .= <<END;
-
-# To achieve significant memory savings when this file is read in,
-# algorithmically derivable code points are omitted from the main body below.
-# Instead, the following routines can be used to translate between name and
-# code point and vice versa
-
-{ # Closure
-
- # Matches legal code point. 4-6 hex numbers, If there are 6, the
- # first two must be '10'; if there are 5, the first must not be a '0'.
- my \$code_point_re = qr/$code_point_re/;
-
- # In the following hash, the keys are the bases of names which includes
- # the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01. The values
- # of each key is another hash which is used to get the low and high ends
- # for each range of code points that apply to the name
- my %names_ending_in_code_point = (
-$names
- );
-
- # And the following array gives the inverse mapping from code points to
- # names. Lowest code points are first
- my \@code_points_ending_in_code_point = (
-$code_points_ending_in_code_point
- );
-END
- # Earlier releases didn't have Jamos. No sense outputting
- # them unless will be used.
- if ($has_hangul_syllables) {
- $pre_body .= <<END;
-
- # Convert from code point to Jamo short name for use in composing Hangul
- # syllable names
- my %Jamo = (
-$jamo
- );
-
- # Leading consonant (can be null)
- my %Jamo_L = (
-$jamo_l
- );
-
- # Vowel
- my %Jamo_V = (
-$jamo_v
- );
-
- # Optional trailing consonant
- my %Jamo_T = (
-$jamo_t
- );
-
- # Computed re that splits up a Hangul name into LVT or LV syllables
- my \$syllable_re = qr/$jamo_re/;
-
- my \$HANGUL_SYLLABLE = "HANGUL SYLLABLE ";
- my \$HANGUL_SYLLABLE_LENGTH = length \$HANGUL_SYLLABLE;
-
- # These constants names and values were taken from the Unicode standard,
- # version 5.1, section 3.12. They are used in conjunction with Hangul
- # syllables
- my \$SBase = 0xAC00;
- my \$LBase = 0x1100;
- my \$VBase = 0x1161;
- my \$TBase = 0x11A7;
- my \$SCount = 11172;
- my \$LCount = 19;
- my \$VCount = 21;
- my \$TCount = 28;
- my \$NCount = \$VCount * \$TCount;
-END
- } # End of has Jamos
-
- $pre_body .= << 'END';
-
- sub name_to_code_point_special {
- my $name = shift;
-
- # Returns undef if not one of the specially handled names; otherwise
- # returns the code point equivalent to the input name
-END
- if ($has_hangul_syllables) {
- $pre_body .= << 'END';
-
- if (substr($name, 0, $HANGUL_SYLLABLE_LENGTH) eq $HANGUL_SYLLABLE) {
- $name = substr($name, $HANGUL_SYLLABLE_LENGTH);
- return if $name !~ qr/^$syllable_re$/;
- my $L = $Jamo_L{$1};
- my $V = $Jamo_V{$2};
- my $T = (defined $3) ? $Jamo_T{$3} : 0;
- return ($L * $VCount + $V) * $TCount + $T + $SBase;
- }
-END
- }
- $pre_body .= << 'END';
-
- # Name must end in '-code_point' for this to handle.
- if ($name !~ /^ (.*) - ($code_point_re) $/x) {
- return;
- }
-
- my $base = $1;
- my $code_point = CORE::hex $2;
-
- # Name must be one of the ones which has the code point in it.
- return if ! $names_ending_in_code_point{$base};
-
- # Look through the list of ranges that apply to this name to see if
- # the code point is in one of them.
- for (my $i = 0; $i < scalar @{$names_ending_in_code_point{$base}{'low'}}; $i++) {
- return if $names_ending_in_code_point{$base}{'low'}->[$i] > $code_point;
- next if $names_ending_in_code_point{$base}{'high'}->[$i] < $code_point;
-
- # Here, the code point is in the range.
- return $code_point;
- }
-
- # Here, looked like the name had a code point number in it, but
- # did not match one of the valid ones.
- return;
- }
-
- sub code_point_to_name_special {
- my $code_point = shift;
-
- # Returns the name of a code point if algorithmically determinable;
- # undef if not
-END
- if ($has_hangul_syllables) {
- $pre_body .= << 'END';
-
- # If in the Hangul range, calculate the name based on Unicode's
- # algorithm
- if ($code_point >= $SBase && $code_point <= $SBase + $SCount -1) {
- use integer;
- my $SIndex = $code_point - $SBase;
- my $L = $LBase + $SIndex / $NCount;
- my $V = $VBase + ($SIndex % $NCount) / $TCount;
- my $T = $TBase + $SIndex % $TCount;
- $name = "$HANGUL_SYLLABLE $Jamo{$L}$Jamo{$V}";
- $name .= $Jamo{$T} if $T != $TBase;
- return $name;
- }
-END
- }
- $pre_body .= << 'END';
-
- # Look through list of these code points for one in range.
- foreach my $hash (@code_points_ending_in_code_point) {
- return if $code_point < $hash->{'low'};
- if ($code_point <= $hash->{'high'}) {
- return sprintf("%s-%04X", $hash->{'name'}, $code_point);
- }
- }
- return; # None found
- }
-} # End closure
-
-END
- } # End of has hangul or code point in name maps.
- } # End of has specials
-
- # Calculate the format of the table if not already done.
- my $format = $format{$addr};
- my $property = $self->property;
- my $type = $property->type;
- if (! defined $format) {
- if ($type == $BINARY) {
-
- # Don't bother checking the values, because we elsewhere
- # verify that a binary table has only 2 values.
- $format = $BINARY_FORMAT;
- }
- else {
- my @ranges = $self->_range_list->ranges;
-
- # default an empty table based on its type and default map
- if (! @ranges) {
-
- # But it turns out that the only one we can say is a
- # non-string (besides binary, handled above) is when the
- # table is a string and the default map is to a code point
- if ($type == $STRING && $default_map eq $CODE_POINT) {
- $format = $HEX_FORMAT;
- }
- else {
- $format = $STRING_FORMAT;
- }
- }
- else {
-
- # Start with the most restrictive format, and as we find
- # something that doesn't fit with that, change to the next
- # most restrictive, and so on.
- $format = $DECIMAL_FORMAT;
- foreach my $range (@ranges) {
- my $map = $range->value;
- if ($map ne $default_map) {
- last if $format eq $STRING_FORMAT; # already at
- # least
- # restrictive
- $format = $INTEGER_FORMAT
- if $format eq $DECIMAL_FORMAT
- && $map !~ / ^ [0-9] $ /x;
- $format = $FLOAT_FORMAT
- if $format eq $INTEGER_FORMAT
- && $map !~ / ^ -? [0-9]+ $ /x;
- $format = $RATIONAL_FORMAT
- if $format eq $FLOAT_FORMAT
- && $map !~ / ^ -? [0-9]+ \. [0-9]* $ /x;
- $format = $HEX_FORMAT
- if $format eq $RATIONAL_FORMAT
- && $map !~ / ^ -? [0-9]+ ( \/ [0-9]+ )? $ /x;
- $format = $STRING_FORMAT if $format eq $HEX_FORMAT
- && $map =~ /[^0-9A-F]/;
- }
- }
- }
- }
- } # end of calculating format
-
- my $return = <<END;
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-\$utf8::SwashInfo{'To$name'}{'format'} = '$format'; # $map_table_formats{$format}
-END
- my $missing = $default_map;
- if ($missing eq $CODE_POINT
- && $format ne $HEX_FORMAT
- && ! defined $format{$addr}) # Is expected if was manually set
- {
- Carp::my_carp_bug("Expecting hex format for mapping table for $self, instead got '$format'")
- }
- $format{$addr} = $format;
- $return .= "\$utf8::SwashInfo{'To$name'}{'missing'} = '$missing';";
- if ($missing eq $CODE_POINT) {
- $return .= ' # code point maps to itself';
- }
- elsif ($missing eq "") {
- $return .= ' # code point maps to the null string';
- }
- $return .= "\n";
-
- $return .= $pre_body;
-
- return $return;
- }
-
- sub write {
- # Write the table to the file.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return $self->SUPER::write(
- ($self->property == $block)
- ? 7 # block file needs more tab stops
- : 3,
- $default_map{$addr}); # don't write defaulteds
- }
-
- # Accessors for the underlying list that should fail if locked.
- for my $sub qw(
- add_duplicate
- )
- {
- no strict "refs";
- *$sub = sub {
- use strict "refs";
- my $self = shift;
-
- return if $self->carp_if_locked;
- return $self->_range_list->$sub(@_);
- }
- }
-} # End closure for Map_Table
-
-package Match_Table;
-use base '_Base_Table';
-
-# A Match table is one which is a list of all the code points that have
-# the same property and property value, for use in \p{property=value}
-# constructs in regular expressions. It adds very little data to the base
-# structure, but many methods, as these lists can be combined in many ways to
-# form new ones.
-# There are only a few concepts added:
-# 1) Equivalents and Relatedness.
-# Two tables can match the identical code points, but have different names.
-# This always happens when there is a perl single form extension
-# \p{IsProperty} for the Unicode compound form \P{Property=True}. The two
-# tables are set to be related, with the Perl extension being a child, and
-# the Unicode property being the parent.
-#
-# It may be that two tables match the identical code points and we don't
-# know if they are related or not. This happens most frequently when the
-# Block and Script properties have the exact range. But note that a
-# revision to Unicode could add new code points to the script, which would
-# now have to be in a different block (as the block was filled, or there
-# would have been 'Unknown' script code points in it and they wouldn't have
-# been identical). So we can't rely on any two properties from Unicode
-# always matching the same code points from release to release, and thus
-# these tables are considered coincidentally equivalent--not related. When
-# two tables are unrelated but equivalent, one is arbitrarily chosen as the
-# 'leader', and the others are 'equivalents'. This concept is useful
-# to minimize the number of tables written out. Only one file is used for
-# any identical set of code points, with entries in Heavy.pl mapping all
-# the involved tables to it.
-#
-# Related tables will always be identical; we set them up to be so. Thus
-# if the Unicode one is deprecated, the Perl one will be too. Not so for
-# unrelated tables. Relatedness makes generating the documentation easier.
-#
-# 2) Conflicting. It may be that there will eventually be name clashes, with
-# the same name meaning different things. For a while, there actually were
-# conflicts, but they have so far been resolved by changing Perl's or
-# Unicode's definitions to match the other, but when this code was written,
-# it wasn't clear that that was what was going to happen. (Unicode changed
-# because of protests during their beta period.) Name clashes are warned
-# about during compilation, and the documentation. The generated tables
-# are sane, free of name clashes, because the code suppresses the Perl
-# version. But manual intervention to decide what the actual behavior
-# should be may be required should this happen. The introductory comments
-# have more to say about this.
-
-sub standardize { return main::standardize($_[0]); }
-sub trace { return main::trace(@_); }
-
-
-{ # Closure
-
- main::setup_package();
-
- my %leader;
- # The leader table of this one; initially $self.
- main::set_access('leader', \%leader, 'r');
-
- my %equivalents;
- # An array of any tables that have this one as their leader
- main::set_access('equivalents', \%equivalents, 'readable_array');
-
- my %parent;
- # The parent table to this one, initially $self. This allows us to
- # distinguish between equivalent tables that are related, and those which
- # may not be, but share the same output file because they match the exact
- # same set of code points in the current Unicode release.
- main::set_access('parent', \%parent, 'r');
-
- my %children;
- # An array of any tables that have this one as their parent
- main::set_access('children', \%children, 'readable_array');
-
- my %conflicting;
- # Array of any tables that would have the same name as this one with
- # a different meaning. This is used for the generated documentation.
- main::set_access('conflicting', \%conflicting, 'readable_array');
-
- my %matches_all;
- # Set in the constructor for tables that are expected to match all code
- # points.
- main::set_access('matches_all', \%matches_all, 'r');
-
- sub new {
- my $class = shift;
-
- my %args = @_;
-
- # The property for which this table is a listing of property values.
- my $property = delete $args{'_Property'};
-
- my $name = delete $args{'Name'};
- my $full_name = delete $args{'Full_Name'};
- $full_name = $name if ! defined $full_name;
-
- # Optional
- my $initialize = delete $args{'Initialize'};
- my $matches_all = delete $args{'Matches_All'} || 0;
- # Rest of parameters passed on.
-
- my $range_list = Range_List->new(Initialize => $initialize,
- Owner => $property);
-
- my $complete = $full_name;
- $complete = '""' if $complete eq ""; # A null name shouldn't happen,
- # but this helps debug if it
- # does
- # The complete name for a match table includes it's property in a
- # compound form 'property=table', except if the property is the
- # pseudo-property, perl, in which case it is just the single form,
- # 'table' (If you change the '=' must also change the ':' in lots of
- # places in this program that assume an equal sign)
- $complete = $property->full_name . "=$complete" if $property != $perl;
-
-
- my $self = $class->SUPER::new(%args,
- Name => $name,
- Complete_Name => $complete,
- Full_Name => $full_name,
- _Property => $property,
- _Range_List => $range_list,
- );
- my $addr = main::objaddr $self;
-
- $conflicting{$addr} = [ ];
- $equivalents{$addr} = [ ];
- $children{$addr} = [ ];
- $matches_all{$addr} = $matches_all;
- $leader{$addr} = $self;
- $parent{$addr} = $self;
-
- return $self;
- }
-
- # See this program's beginning comment block about overloading these.
- use overload
- fallback => 0,
- qw("") => "_operator_stringify",
- '=' => sub {
- my $self = shift;
-
- return if $self->carp_if_locked;
- return $self;
- },
-
- '+' => sub {
- my $self = shift;
- my $other = shift;
-
- return $self->_range_list + $other;
- },
- '&' => sub {
- my $self = shift;
- my $other = shift;
-
- return $self->_range_list & $other;
- },
- '+=' => sub {
- my $self = shift;
- my $other = shift;
-
- return if $self->carp_if_locked;
-
- my $addr = main::objaddr $self;
-
- if (ref $other) {
-
- # Change the range list of this table to be the
- # union of the two.
- $self->_set_range_list($self->_range_list
- + $other);
- }
- else { # $other is just a simple value
- $self->add_range($other, $other);
- }
- return $self;
- },
- '-' => sub { my $self = shift;
- my $other = shift;
- my $reversed = shift;
-
- if ($reversed) {
- Carp::my_carp_bug("Can't cope with a "
- . __PACKAGE__
- . " being the first parameter in a '-'. Subtraction ignored.");
- return;
- }
-
- return $self->_range_list - $other;
- },
- '~' => sub { my $self = shift;
- return ~ $self->_range_list;
- },
- ;
-
- sub _operator_stringify {
- my $self = shift;
-
- my $name = $self->complete_name;
- return "Table '$name'";
- }
-
- sub add_alias {
- # Add a synonym for this table. See the comments in the base class
-
- my $self = shift;
- my $name = shift;
- # Rest of parameters passed on.
-
- $self->SUPER::add_alias($name, $self, @_);
- return;
- }
-
- sub add_conflicting {
- # Add the name of some other object to the list of ones that name
- # clash with this match table.
-
- my $self = shift;
- my $conflicting_name = shift; # The name of the conflicting object
- my $p = shift || 'p'; # Optional, is this a \p{} or \P{} ?
- my $conflicting_object = shift; # Optional, the conflicting object
- # itself. This is used to
- # disambiguate the text if the input
- # name is identical to any of the
- # aliases $self is known by.
- # Sometimes the conflicting object is
- # merely hypothetical, so this has to
- # be an optional parameter.
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- # Check if the conflicting name is exactly the same as any existing
- # alias in this table (as long as there is a real object there to
- # disambiguate with).
- if (defined $conflicting_object) {
- foreach my $alias ($self->aliases) {
- if ($alias->name eq $conflicting_name) {
-
- # Here, there is an exact match. This results in
- # ambiguous comments, so disambiguate by changing the
- # conflicting name to its object's complete equivalent.
- $conflicting_name = $conflicting_object->complete_name;
- last;
- }
- }
- }
-
- # Convert to the \p{...} final name
- $conflicting_name = "\\$p" . "{$conflicting_name}";
-
- # Only add once
- return if grep { $conflicting_name eq $_ } @{$conflicting{$addr}};
-
- push @{$conflicting{$addr}}, $conflicting_name;
-
- return;
- }
-
- sub is_equivalent_to {
- # Return boolean of whether or not the other object is a table of this
- # type and has been marked equivalent to this one.
-
- my $self = shift;
- my $other = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return 0 if ! defined $other; # Can happen for incomplete early
- # releases
- unless ($other->isa(__PACKAGE__)) {
- my $ref_other = ref $other;
- my $ref_self = ref $self;
- Carp::my_carp_bug("Argument to 'is_equivalent_to' must be another $ref_self, not a '$ref_other'. $other not set equivalent to $self.");
- return 0;
- }
-
- # Two tables are equivalent if they have the same leader.
- return $leader{main::objaddr $self}
- == $leader{main::objaddr $other};
- return;
- }
-
- sub matches_identically_to {
- # Return a boolean as to whether or not two tables match identical
- # sets of code points.
-
- my $self = shift;
- my $other = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- unless ($other->isa(__PACKAGE__)) {
- my $ref_other = ref $other;
- my $ref_self = ref $self;
- Carp::my_carp_bug("Argument to 'matches_identically_to' must be another $ref_self, not a '$ref_other'. $other not set equivalent to $self.");
- return 0;
- }
-
- # These are ordered in increasing real time to figure out (at least
- # until a patch changes that and doesn't change this)
- return 0 if $self->max != $other->max;
- return 0 if $self->min != $other->min;
- return 0 if $self->range_count != $other->range_count;
- return 0 if $self->count != $other->count;
-
- # Here they could be identical because all the tests above passed.
- # The loop below is somewhat simpler since we know they have the same
- # number of elements. Compare range by range, until reach the end or
- # find something that differs.
- my @a_ranges = $self->_range_list->ranges;
- my @b_ranges = $other->_range_list->ranges;
- for my $i (0 .. @a_ranges - 1) {
- my $a = $a_ranges[$i];
- my $b = $b_ranges[$i];
- trace "self $a; other $b" if main::DEBUG && $to_trace;
- return 0 if $a->start != $b->start || $a->end != $b->end;
- }
- return 1;
- }
-
- sub set_equivalent_to {
- # Set $self equivalent to the parameter table.
- # The required Related => 'x' parameter is a boolean indicating
- # whether these tables are related or not. If related, $other becomes
- # the 'parent' of $self; if unrelated it becomes the 'leader'
- #
- # Related tables share all characteristics except names; equivalents
- # not quite so many.
- # If they are related, one must be a perl extension. This is because
- # we can't guarantee that Unicode won't change one or the other in a
- # later release even if they are idential now.
-
- my $self = shift;
- my $other = shift;
-
- my %args = @_;
- my $related = delete $args{'Related'};
-
- Carp::carp_extra_args(\%args) if main::DEBUG && %args;
-
- return if ! defined $other; # Keep on going; happens in some early
- # Unicode releases.
-
- if (! defined $related) {
- Carp::my_carp_bug("set_equivalent_to must have 'Related => [01] parameter. Assuming $self is not related to $other");
- $related = 0;
- }
-
- # If already are equivalent, no need to re-do it; if subroutine
- # returns null, it found an error, also do nothing
- my $are_equivalent = $self->is_equivalent_to($other);
- return if ! defined $are_equivalent || $are_equivalent;
-
- my $current_leader = ($related)
- ? $parent{main::objaddr $self}
- : $leader{main::objaddr $self};
-
- if ($related &&
- ! $other->perl_extension
- && ! $current_leader->perl_extension)
- {
- Carp::my_carp_bug("set_equivalent_to should have 'Related => 0 for equivalencing two Unicode properties. Assuming $self is not related to $other");
- $related = 0;
- }
-
- my $leader = main::objaddr $current_leader;
- my $other_addr = main::objaddr $other;
-
- # Any tables that are equivalent to or children of this table must now
- # instead be equivalent to or (children) to the new leader (parent),
- # still equivalent. The equivalency includes their matches_all info,
- # and for related tables, their status
- # All related tables are of necessity equivalent, but the converse
- # isn't necessarily true
- my $status = $other->status;
- my $status_info = $other->status_info;
- my $matches_all = $matches_all{other_addr};
- foreach my $table ($current_leader, @{$equivalents{$leader}}) {
- next if $table == $other;
- trace "setting $other to be the leader of $table, status=$status" if main::DEBUG && $to_trace;
-
- my $table_addr = main::objaddr $table;
- $leader{$table_addr} = $other;
- $matches_all{$table_addr} = $matches_all;
- $self->_set_range_list($other->_range_list);
- push @{$equivalents{$other_addr}}, $table;
- if ($related) {
- $parent{$table_addr} = $other;
- push @{$children{$other_addr}}, $table;
- $table->set_status($status, $status_info);
- }
- }
-
- # Now that we've declared these to be equivalent, any changes to one
- # of the tables would invalidate that equivalency.
- $self->lock;
- $other->lock;
- return;
- }
-
- sub add_range { # Add a range to the list for this table.
- my $self = shift;
- # Rest of parameters passed on
-
- return if $self->carp_if_locked;
- return $self->_range_list->add_range(@_);
- }
-
- sub pre_body { # Does nothing for match tables.
- return
- }
-
- sub append_to_body { # Does nothing for match tables.
- return
- }
-
- sub write {
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- return $self->SUPER::write(2); # 2 tab stops
- }
-
- sub set_final_comment {
- # This creates a comment for the file that is to hold the match table
- # $self. It is somewhat convoluted to make the English read nicely,
- # but, heh, it's just a comment.
- # This should be called only with the leader match table of all the
- # ones that share the same file. It lists all such tables, ordered so
- # that related ones are together.
-
- my $leader = shift; # Should only be called on the leader table of
- # an equivalent group
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $leader;
-
- if ($leader{$addr} != $leader) {
- Carp::my_carp_bug(<<END
-set_final_comment() must be called on a leader table, which $leader is not.
-It is equivalent to $leader{$addr}. No comment created
-END
- );
- return;
- }
-
- # Get the number of code points matched by each of the tables in this
- # file, and add underscores for clarity.
- my $count = $leader->count;
- my $string_count = main::clarify_number($count);
-
- my $loose_count = 0; # how many aliases loosely matched
- my $compound_name = ""; # ? Are any names compound?, and if so, an
- # example
- my $properties_with_compound_names = 0; # count of these
-
-
- my %flags; # The status flags used in the file
- my $total_entries = 0; # number of entries written in the comment
- my $matches_comment = ""; # The portion of the comment about the
- # \p{}'s
- my @global_comments; # List of all the tables' comments that are
- # there before this routine was called.
-
- # Get list of all the parent tables that are equivalent to this one
- # (including itself).
- my @parents = grep { $parent{main::objaddr $_} == $_ }
- main::uniques($leader, @{$equivalents{$addr}});
- my $has_unrelated = (@parents >= 2); # boolean, ? are there unrelated
- # tables
-
- for my $parent (@parents) {
-
- my $property = $parent->property;
-
- # Special case 'N' tables in properties with two match tables when
- # the other is a 'Y' one. These are likely to be binary tables,
- # but not necessarily. In either case, \P{} will match the
- # complement of \p{}, and so if something is a synonym of \p, the
- # complement of that something will be the synonym of \P. This
- # would be true of any property with just two match tables, not
- # just those whose values are Y and N; but that would require a
- # little extra work, and there are none such so far in Unicode.
- my $perl_p = 'p'; # which is it? \p{} or \P{}
- my @yes_perl_synonyms; # list of any synonyms for the 'Y' table
-
- if (scalar $property->tables == 2
- && $parent == $property->table('N')
- && defined (my $yes = $property->table('Y')))
- {
- my $yes_addr = main::objaddr $yes;
- @yes_perl_synonyms
- = grep { $_->property == $perl }
- main::uniques($yes,
- $parent{$yes_addr},
- $parent{$yes_addr}->children);
-
- # But these synonyms are \P{} ,not \p{}
- $perl_p = 'P';
- }
-
- my @description; # Will hold the table description
- my @note; # Will hold the table notes.
- my @conflicting; # Will hold the table conflicts.
-
- # Look at the parent, any yes synonyms, and all the children
- for my $table ($parent,
- @yes_perl_synonyms,
- @{$children{main::objaddr $parent}})
- {
- my $table_addr = main::objaddr $table;
- my $table_property = $table->property;
-
- # Tables are separated by a blank line to create a grouping.
- $matches_comment .= "\n" if $matches_comment;
-
- # The table is named based on the property and value
- # combination it is for, like script=greek. But there may be
- # a number of synonyms for each side, like 'sc' for 'script',
- # and 'grek' for 'greek'. Any combination of these is a valid
- # name for this table. In this case, there are three more,
- # 'sc=grek', 'sc=greek', and 'script='grek'. Rather than
- # listing all possible combinations in the comment, we make
- # sure that each synonym occurs at least once, and add
- # commentary that the other combinations are possible.
- my @property_aliases = $table_property->aliases;
- my @table_aliases = $table->aliases;
-
- Carp::my_carp_bug("$table doesn't have any names. Proceeding anyway.") unless @table_aliases;
-
- # The alias lists above are already ordered in the order we
- # want to output them. To ensure that each synonym is listed,
- # we must use the max of the two numbers.
- my $listed_combos = main::max(scalar @table_aliases,
- scalar @property_aliases);
- trace "$listed_combos, tables=", scalar @table_aliases, "; names=", scalar @property_aliases if main::DEBUG;
-
- my $property_had_compound_name = 0;
-
- for my $i (0 .. $listed_combos - 1) {
- $total_entries++;
-
- # The current alias for the property is the next one on
- # the list, or if beyond the end, start over. Similarly
- # for the table (\p{prop=table})
- my $property_alias = $property_aliases
- [$i % @property_aliases]->name;
- my $table_alias_object = $table_aliases
- [$i % @table_aliases];
- my $table_alias = $table_alias_object->name;
- my $loose_match = $table_alias_object->loose_match;
-
- if ($table_alias !~ /\D/) { # Clarify large numbers.
- $table_alias = main::clarify_number($table_alias)
- }
-
- # Add a comment for this alias combination
- my $current_match_comment;
- if ($table_property == $perl) {
- $current_match_comment = "\\$perl_p"
- . "{$table_alias}";
- }
- else {
- $current_match_comment
- = "\\p{$property_alias=$table_alias}";
- $property_had_compound_name = 1;
- }
-
- # Flag any abnormal status for this table.
- my $flag = $property->status
- || $table->status
- || $table_alias_object->status;
- if ($flag) {
- if ($flag ne $PLACEHOLDER) {
- $flags{$flag} = $status_past_participles{$flag};
- } else {
- $flags{$flag} = <<END;
-a placeholder because it is not in Version $string_version of Unicode, but is
-needed by the Perl core to work gracefully. Because it is not in this version
-of Unicode, it will not be listed in $pod_file.pod
-END
- }
- }
-
- $loose_count++;
-
- # Pretty up the comment. Note the \b; it says don't make
- # this line a continuation.
- $matches_comment .= sprintf("\b%-1s%-s%s\n",
- $flag,
- " " x 7,
- $current_match_comment);
- } # End of generating the entries for this table.
-
- # Save these for output after this group of related tables.
- push @description, $table->description;
- push @note, $table->note;
- push @conflicting, $table->conflicting;
-
- # And this for output after all the tables.
- push @global_comments, $table->comment;
-
- # Compute an alternate compound name using the final property
- # synonym and the first table synonym with a colon instead of
- # the equal sign used elsewhere.
- if ($property_had_compound_name) {
- $properties_with_compound_names ++;
- if (! $compound_name || @property_aliases > 1) {
- $compound_name = $property_aliases[-1]->name
- . ': '
- . $table_aliases[0]->name;
- }
- }
- } # End of looping through all children of this table
-
- # Here have assembled in $matches_comment all the related tables
- # to the current parent (preceded by the same info for all the
- # previous parents). Put out information that applies to all of
- # the current family.
- if (@conflicting) {
-
- # But output the conflicting information now, as it applies to
- # just this table.
- my $conflicting = join ", ", @conflicting;
- if ($conflicting) {
- $matches_comment .= <<END;
-
- Note that contrary to what you might expect, the above is NOT the same as
-END
- $matches_comment .= "any of: " if @conflicting > 1;
- $matches_comment .= "$conflicting\n";
- }
- }
- if (@description) {
- $matches_comment .= "\n Meaning: "
- . join('; ', @description)
- . "\n";
- }
- if (@note) {
- $matches_comment .= "\n Note: "
- . join("\n ", @note)
- . "\n";
- }
- } # End of looping through all tables
-
-
- my $code_points;
- my $match;
- my $any_of_these;
- if ($count == 1) {
- $match = 'matches';
- $code_points = 'single code point';
- }
- else {
- $match = 'match';
- $code_points = "$string_count code points";
- }
-
- my $synonyms;
- my $entries;
- if ($total_entries <= 1) {
- $synonyms = "";
- $entries = 'entry';
- $any_of_these = 'this'
- }
- else {
- $synonyms = " any of the following regular expression constructs";
- $entries = 'entries';
- $any_of_these = 'any of these'
- }
-
- my $comment = "";
- if ($has_unrelated) {
- $comment .= <<END;
-This file is for tables that are not necessarily related: To conserve
-resources, every table that matches the identical set of code points in this
-version of Unicode uses this file. Each one is listed in a separate group
-below. It could be that the tables will match the same set of code points in
-other Unicode releases, or it could be purely coincidence that they happen to
-be the same in Unicode $string_version, and hence may not in other versions.
-
-END
- }
-
- if (%flags) {
- foreach my $flag (sort keys %flags) {
- $comment .= <<END;
-'$flag' below means that this form is $flags{$flag}.
-END
- next if $flag eq $PLACEHOLDER;
- $comment .= "Consult $pod_file.pod\n";
- }
- $comment .= "\n";
- }
-
- $comment .= <<END;
-This file returns the $code_points in Unicode Version $string_version that
-$match$synonyms:
-
-$matches_comment
-$pod_file.pod should be consulted for the syntax rules for $any_of_these,
-including if adding or subtracting white space, underscore, and hyphen
-characters matters or doesn't matter, and other permissible syntactic
-variants. Upper/lower case distinctions never matter.
-END
-
- if ($compound_name) {
- $comment .= <<END;
-
-A colon can be substituted for the equals sign, and
-END
- if ($properties_with_compound_names > 1) {
- $comment .= <<END;
-within each group above,
-END
- }
- $compound_name = sprintf("%-8s\\p{%s}", " ", $compound_name);
-
- # Note the \b below, it says don't make that line a continuation.
- $comment .= <<END;
-anything to the left of the equals (or colon) can be combined with anything to
-the right. Thus, for example,
-$compound_name
-\bis also valid.
-END
- }
-
- # And append any comment(s) from the actual tables. They are all
- # gathered here, so may not read all that well.
- if (@global_comments) {
- $comment .= "\n" . join("\n\n", @global_comments) . "\n";
- }
-
- if ($count) { # The format differs if no code points, and needs no
- # explanation in that case
- $comment.= <<END;
-
-The format of the lines of this file is:
-END
- $comment.= <<END;
-START\\tSTOP\\twhere START is the starting code point of the range, in hex;
-STOP is the ending point, or if omitted, the range has just one code point.
-END
- if ($leader->output_range_counts) {
- $comment .= <<END;
-Numbers in comments in [brackets] indicate how many code points are in the
-range.
-END
- }
- }
-
- $leader->set_comment(main::join_lines($comment));
- return;
- }
-
- # Accessors for the underlying list
- for my $sub qw(
- get_valid_code_point
- get_invalid_code_point
- )
- {
- no strict "refs";
- *$sub = sub {
- use strict "refs";
- my $self = shift;
-
- return $self->_range_list->$sub(@_);
- }
- }
-} # End closure for Match_Table
-
-package Property;
-
-# The Property class represents a Unicode property, or the $perl
-# pseudo-property. It contains a map table initialized empty at construction
-# time, and for properties accessible through regular expressions, various
-# match tables, created through the add_match_table() method, and referenced
-# by the table('NAME') or tables() methods, the latter returning a list of all
-# of the match tables. Otherwise table operations implicitly are for the map
-# table.
-#
-# Most of the data in the property is actually about its map table, so it
-# mostly just uses that table's accessors for most methods. The two could
-# have been combined into one object, but for clarity because of their
-# differing semantics, they have been kept separate. It could be argued that
-# the 'file' and 'directory' fields should be kept with the map table.
-#
-# Each property has a type. This can be set in the constructor, or in the
-# set_type accessor, but mostly it is figured out by the data. Every property
-# starts with unknown type, overridden by a parameter to the constructor, or
-# as match tables are added, or ranges added to the map table, the data is
-# inspected, and the type changed. After the table is mostly or entirely
-# filled, compute_type() should be called to finalize they analysis.
-#
-# There are very few operations defined. One can safely remove a range from
-# the map table, and property_add_or_replace_non_nulls() adds the maps from another
-# table to this one, replacing any in the intersection of the two.
-
-sub standardize { return main::standardize($_[0]); }
-sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
-
-{ # Closure
-
- # This hash will contain as keys, all the aliases of all properties, and
- # as values, pointers to their respective property objects. This allows
- # quick look-up of a property from any of its names.
- my %alias_to_property_of;
-
- sub dump_alias_to_property_of {
- # For debugging
-
- print "\n", main::simple_dumper (\%alias_to_property_of), "\n";
- return;
- }
-
- sub property_ref {
- # This is a package subroutine, not called as a method.
- # If the single parameter is a literal '*' it returns a list of all
- # defined properties.
- # Otherwise, the single parameter is a name, and it returns a pointer
- # to the corresponding property object, or undef if none.
- #
- # Properties can have several different names. The 'standard' form of
- # each of them is stored in %alias_to_property_of as they are defined.
- # But it's possible that this subroutine will be called with some
- # variant, so if the initial lookup fails, it is repeated with the
- # standarized form of the input name. If found, besides returning the
- # result, the input name is added to the list so future calls won't
- # have to do the conversion again.
-
- my $name = shift;
-
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if (! defined $name) {
- Carp::my_carp_bug("Undefined input property. No action taken.");
- return;
- }
-
- return main::uniques(values %alias_to_property_of) if $name eq '*';
-
- # Return cached result if have it.
- my $result = $alias_to_property_of{$name};
- return $result if defined $result;
-
- # Convert the input to standard form.
- my $standard_name = standardize($name);
-
- $result = $alias_to_property_of{$standard_name};
- return unless defined $result; # Don't cache undefs
-
- # Cache the result before returning it.
- $alias_to_property_of{$name} = $result;
- return $result;
- }
-
-
- main::setup_package();
-
- my %map;
- # A pointer to the map table object for this property
- main::set_access('map', \%map);
-
- my %full_name;
- # The property's full name. This is a duplicate of the copy kept in the
- # map table, but is needed because stringify needs it during
- # construction of the map table, and then would have a chicken before egg
- # problem.
- main::set_access('full_name', \%full_name, 'r');
-
- my %table_ref;
- # This hash will contain as keys, all the aliases of any match tables
- # attached to this property, and as values, the pointers to their
- # respective tables. This allows quick look-up of a table from any of its
- # names.
- main::set_access('table_ref', \%table_ref);
-
- my %type;
- # The type of the property, $ENUM, $BINARY, etc
- main::set_access('type', \%type, 'r');
-
- my %file;
- # The filename where the map table will go (if actually written).
- # Normally defaulted, but can be overridden.
- main::set_access('file', \%file, 'r', 's');
-
- my %directory;
- # The directory where the map table will go (if actually written).
- # Normally defaulted, but can be overridden.
- main::set_access('directory', \%directory, 's');
-
- my %pseudo_map_type;
- # This is used to affect the calculation of the map types for all the
- # ranges in the table. It should be set to one of the values that signify
- # to alter the calculation.
- main::set_access('pseudo_map_type', \%pseudo_map_type, 'r');
-
- my %has_only_code_point_maps;
- # A boolean used to help in computing the type of data in the map table.
- main::set_access('has_only_code_point_maps', \%has_only_code_point_maps);
-
- my %unique_maps;
- # A list of the first few distinct mappings this property has. This is
- # used to disambiguate between binary and enum property types, so don't
- # have to keep more than three.
- main::set_access('unique_maps', \%unique_maps);
-
- sub new {
- # The only required parameter is the positionally first, name. All
- # other parameters are key => value pairs. See the documentation just
- # above for the meanings of the ones not passed directly on to the map
- # table constructor.
-
- my $class = shift;
- my $name = shift || "";
-
- my $self = property_ref($name);
- if (defined $self) {
- my $options_string = join ", ", @_;
- $options_string = ". Ignoring options $options_string" if $options_string;
- Carp::my_carp("$self is already in use. Using existing one$options_string;");
- return $self;
- }
-
- my %args = @_;
-
- $self = bless \do { my $anonymous_scalar }, $class;
- my $addr = main::objaddr $self;
-
- $directory{$addr} = delete $args{'Directory'};
- $file{$addr} = delete $args{'File'};
- $full_name{$addr} = delete $args{'Full_Name'} || $name;
- $type{$addr} = delete $args{'Type'} || $UNKNOWN;
- $pseudo_map_type{$addr} = delete $args{'Map_Type'};
- # Rest of parameters passed on.
-
- $has_only_code_point_maps{$addr} = 1;
- $table_ref{$addr} = { };
- $unique_maps{$addr} = { };
-
- $map{$addr} = Map_Table->new($name,
- Full_Name => $full_name{$addr},
- _Alias_Hash => \%alias_to_property_of,
- _Property => $self,
- %args);
- return $self;
- }
-
- # See this program's beginning comment block about overloading the copy
- # constructor. Few operations are defined on properties, but a couple are
- # useful. It is safe to take the inverse of a property, and to remove a
- # single code point from it.
- use overload
- fallback => 0,
- qw("") => "_operator_stringify",
- "." => \&main::_operator_dot,
- '==' => \&main::_operator_equal,
- '!=' => \&main::_operator_not_equal,
- '=' => sub { return shift },
- '-=' => "_minus_and_equal",
- ;
-
- sub _operator_stringify {
- return "Property '" . shift->full_name . "'";
- }
-
- sub _minus_and_equal {
- # Remove a single code point from the map table of a property.
-
- my $self = shift;
- my $other = shift;
- my $reversed = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if (ref $other) {
- Carp::my_carp_bug("Can't cope with a "
- . ref($other)
- . " argument to '-='. Subtraction ignored.");
- return $self;
- }
- elsif ($reversed) { # Shouldnt happen in a -=, but just in case
- Carp::my_carp_bug("Can't cope with a "
- . __PACKAGE__
- . " being the first parameter in a '-='. Subtraction ignored.");
- return $self;
- }
- else {
- $map{main::objaddr $self}->delete_range($other, $other);
- }
- return $self;
- }
-
- sub add_match_table {
- # Add a new match table for this property, with name given by the
- # parameter. It returns a pointer to the table.
-
- my $self = shift;
- my $name = shift;
- my %args = @_;
-
- my $addr = main::objaddr $self;
-
- my $table = $table_ref{$addr}{$name};
- my $standard_name = main::standardize($name);
- if (defined $table
- || (defined ($table = $table_ref{$addr}{$standard_name})))
- {
- Carp::my_carp("Table '$name' in $self is already in use. Using existing one");
- $table_ref{$addr}{$name} = $table;
- return $table;
- }
- else {
-
- # See if this is a perl extension, if not passed in.
- my $perl_extension = delete $args{'Perl_Extension'};
- $perl_extension
- = $self->perl_extension if ! defined $perl_extension;
-
- $table = Match_Table->new(
- Name => $name,
- Perl_Extension => $perl_extension,
- _Alias_Hash => $table_ref{$addr},
- _Property => $self,
-
- # gets property's status by default
- Status => $self->status,
- _Status_Info => $self->status_info,
- %args,
- Internal_Only_Warning => 1); # Override any
- # input param
- return unless defined $table;
- }
-
- # Save the names for quick look up
- $table_ref{$addr}{$standard_name} = $table;
- $table_ref{$addr}{$name} = $table;
-
- # Perhaps we can figure out the type of this property based on the
- # fact of adding this match table. First, string properties don't
- # have match tables; second, a binary property can't have 3 match
- # tables
- if ($type{$addr} == $UNKNOWN) {
- $type{$addr} = $NON_STRING;
- }
- elsif ($type{$addr} == $STRING) {
- Carp::my_carp("$self Added a match table '$name' to a string property '$self'. Changed it to a non-string property. Bad News.");
- $type{$addr} = $NON_STRING;
- }
- elsif ($type{$addr} != $ENUM) {
- if (scalar main::uniques(values %{$table_ref{$addr}}) > 2
- && $type{$addr} == $BINARY)
- {
- Carp::my_carp("$self now has more than 2 tables (with the addition of '$name'), and so is no longer binary. Changing its type to 'enum'. Bad News.");
- $type{$addr} = $ENUM;
- }
- }
-
- return $table;
- }
-
- sub table {
- # Return a pointer to the match table (with name given by the
- # parameter) associated with this property; undef if none.
-
- my $self = shift;
- my $name = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return $table_ref{$addr}{$name} if defined $table_ref{$addr}{$name};
-
- # If quick look-up failed, try again using the standard form of the
- # input name. If that succeeds, cache the result before returning so
- # won't have to standardize this input name again.
- my $standard_name = main::standardize($name);
- return unless defined $table_ref{$addr}{$standard_name};
-
- $table_ref{$addr}{$name} = $table_ref{$addr}{$standard_name};
- return $table_ref{$addr}{$name};
- }
-
- sub tables {
- # Return a list of pointers to all the match tables attached to this
- # property
-
- return main::uniques(values %{$table_ref{main::objaddr shift}});
- }
-
- sub directory {
- # Returns the directory the map table for this property should be
- # output in. If a specific directory has been specified, that has
- # priority; 'undef' is returned if the type isn't defined;
- # or $map_directory for everything else.
-
- my $addr = main::objaddr shift;
-
- return $directory{$addr} if defined $directory{$addr};
- return undef if $type{$addr} == $UNKNOWN;
- return $map_directory;
- }
-
- sub swash_name {
- # Return the name that is used to both:
- # 1) Name the file that the map table is written to.
- # 2) The name of swash related stuff inside that file.
- # The reason for this is that the Perl core historically has used
- # certain names that aren't the same as the Unicode property names.
- # To continue using these, $file is hard-coded in this file for those,
- # but otherwise the standard name is used. This is different from the
- # external_name, so that the rest of the files, like in lib can use
- # the standard name always, without regard to historical precedent.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $self;
-
- return $file{$addr} if defined $file{$addr};
- return $map{$addr}->external_name;
- }
-
- sub to_create_match_tables {
- # Returns a boolean as to whether or not match tables should be
- # created for this property.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # The whole point of this pseudo property is match tables.
- return 1 if $self == $perl;
-
- my $addr = main::objaddr $self;
-
- # Don't generate tables of code points that match the property values
- # of a string property. Such a list would most likely have many
- # property values, each with just one or very few code points mapping
- # to it.
- return 0 if $type{$addr} == $STRING;
-
- # Don't generate anything for unimplemented properties.
- return 0 if grep { $self->complete_name eq $_ }
- @unimplemented_properties;
- # Otherwise, do.
- return 1;
- }
-
- sub property_add_or_replace_non_nulls {
- # This adds the mappings in the property $other to $self. Non-null
- # mappings from $other override those in $self. It essentially merges
- # the two properties, with the second having priority except for null
- # mappings.
-
- my $self = shift;
- my $other = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if (! $other->isa(__PACKAGE__)) {
- Carp::my_carp_bug("$other should be a "
- . __PACKAGE__
- . ". Not a '"
- . ref($other)
- . "'. Not added;");
- return;
- }
-
- return $map{main::objaddr $self}->
- map_add_or_replace_non_nulls($map{main::objaddr $other});
- }
-
- sub set_type {
- # Set the type of the property. Mostly this is figured out by the
- # data in the table. But this is used to set it explicitly. The
- # reason it is not a standard accessor is that when setting a binary
- # property, we need to make sure that all the true/false aliases are
- # present, as they were omitted in early Unicode releases.
-
- my $self = shift;
- my $type = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if ($type != $ENUM && $type != $BINARY && $type != $STRING) {
- Carp::my_carp("Unrecognized type '$type'. Type not set");
- return;
- }
-
- $type{main::objaddr $self} = $type;
- return if $type != $BINARY;
-
- my $yes = $self->table('Y');
- $yes = $self->table('Yes') if ! defined $yes;
- $yes = $self->add_match_table('Y') if ! defined $yes;
- $yes->add_alias('Yes');
- $yes->add_alias('T');
- $yes->add_alias('True');
-
- my $no = $self->table('N');
- $no = $self->table('No') if ! defined $no;
- $no = $self->add_match_table('N') if ! defined $no;
- $no->add_alias('No');
- $no->add_alias('F');
- $no->add_alias('False');
- return;
- }
-
- sub add_map {
- # Add a map to the property's map table. This also keeps
- # track of the maps so that the property type can be determined from
- # its data.
-
- my $self = shift;
- my $start = shift; # First code point in range
- my $end = shift; # Final code point in range
- my $map = shift; # What the range maps to.
- # Rest of parameters passed on.
-
- my $addr = main::objaddr $self;
-
- # If haven't the type of the property, gather information to figure it
- # out.
- if ($type{$addr} == $UNKNOWN) {
-
- # If the map contains an interior blank or dash, or most other
- # nonword characters, it will be a string property. This
- # heuristic may actually miss some string properties. If so, they
- # may need to have explicit set_types called for them. This
- # happens in the Unihan properties.
- if ($map =~ / (?<= . ) [ -] (?= . ) /x
- || $map =~ / [^\w.\/\ -] /x)
- {
- $self->set_type($STRING);
-
- # $unique_maps is used for disambiguating between ENUM and
- # BINARY later; since we know the property is not going to be
- # one of those, no point in keeping the data around
- undef $unique_maps{$addr};
- }
- else {
-
- # Not necessarily a string. The final decision has to be
- # deferred until all the data are in. We keep track of if all
- # the values are code points for that eventual decision.
- $has_only_code_point_maps{$addr} &=
- $map =~ / ^ $code_point_re $/x;
-
- # For the purposes of disambiguating between binary and other
- # enumerations at the end, we keep track of the first three
- # distinct property values. Once we get to three, we know
- # it's not going to be binary, so no need to track more.
- if (scalar keys %{$unique_maps{$addr}} < 3) {
- $unique_maps{$addr}{main::standardize($map)} = 1;
- }
- }
- }
-
- # Add the mapping by calling our map table's method
- return $map{$addr}->add_map($start, $end, $map, @_);
- }
-
- sub compute_type {
- # Compute the type of the property: $ENUM, $STRING, or $BINARY. This
- # should be called after the property is mostly filled with its maps.
- # We have been keeping track of what the property values have been,
- # and now have the necessary information to figure out the type.
-
- my $self = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr($self);
-
- my $type = $type{$addr};
-
- # If already have figured these out, no need to do so again, but we do
- # a double check on ENUMS to make sure that a string property hasn't
- # improperly been classified as an ENUM, so continue on with those.
- return if $type == $STRING || $type == $BINARY;
-
- # If every map is to a code point, is a string property.
- if ($type == $UNKNOWN
- && ($has_only_code_point_maps{$addr}
- || (defined $map{$addr}->default_map
- && $map{$addr}->default_map eq "")))
- {
- $self->set_type($STRING);
- }
- else {
-
- # Otherwise, it is to some sort of enumeration. (The case where
- # it is a Unicode miscellaneous property, and treated like a
- # string in this program is handled in add_map()). Distinguish
- # between binary and some other enumeration type. Of course, if
- # there are more than two values, it's not binary. But more
- # subtle is the test that the default mapping is defined means it
- # isn't binary. This in fact may change in the future if Unicode
- # changes the way its data is structured. But so far, no binary
- # properties ever have @missing lines for them, so the default map
- # isn't defined for them. The few properties that are two-valued
- # and aren't considered binary have the default map defined
- # starting in Unicode 5.0, when the @missing lines appeared; and
- # this program has special code to put in a default map for them
- # for earlier than 5.0 releases.
- if ($type == $ENUM
- || scalar keys %{$unique_maps{$addr}} > 2
- || defined $self->default_map)
- {
- my $tables = $self->tables;
- my $count = $self->count;
- if ($verbosity && $count > 500 && $tables/$count > .1) {
- Carp::my_carp_bug("It appears that $self should be a \$STRING property, not an \$ENUM because it has too many match tables: $count\n");
- }
- $self->set_type($ENUM);
- }
- else {
- $self->set_type($BINARY);
- }
- }
- undef $unique_maps{$addr}; # Garbage collect
- return;
- }
-
- # Most of the accessors for a property actually apply to its map table.
- # Setup up accessor functions for those, referring to %map
- for my $sub qw(
- add_alias
- add_anomalous_entry
- add_comment
- add_conflicting
- add_description
- add_duplicate
- add_note
- aliases
- comment
- complete_name
- core_access
- count
- default_map
- delete_range
- description
- each_range
- external_name
- file_path
- format
- initialize
- inverse_list
- is_empty
- name
- note
- perl_extension
- property
- range_count
- ranges
- range_size_1
- reset_each_range
- set_comment
- set_core_access
- set_default_map
- set_file_path
- set_final_comment
- set_range_size_1
- set_status
- set_to_output_map
- short_name
- status
- status_info
- to_output_map
- value_of
- write
- )
- # 'property' above is for symmetry, so that one can take
- # the property of a property and get itself, and so don't
- # have to distinguish between properties and tables in
- # calling code
- {
- no strict "refs";
- *$sub = sub {
- use strict "refs";
- my $self = shift;
- return $map{main::objaddr $self}->$sub(@_);
- }
- }
-
-
-} # End closure
-
-package main;
-
-sub join_lines($) {
- # Returns lines of the input joined together, so that they can be folded
- # properly.
- # This causes continuation lines to be joined together into one long line
- # for folding. A continuation line is any line that doesn't begin with a
- # space or "\b" (the latter is stripped from the output). This is so
- # lines can be be in a HERE document so as to fit nicely in the terminal
- # width, but be joined together in one long line, and then folded with
- # indents, '#' prefixes, etc, properly handled.
- # A blank separates the joined lines except if there is a break; an extra
- # blank is inserted after a period ending a line.
-
- # Intialize the return with the first line.
- my ($return, @lines) = split "\n", shift;
-
- # If the first line is null, it was an empty line, add the \n back in
- $return = "\n" if $return eq "";
-
- # Now join the remainder of the physical lines.
- for my $line (@lines) {
-
- # An empty line means wanted a blank line, so add two \n's to get that
- # effect, and go to the next line.
- if (length $line == 0) {
- $return .= "\n\n";
- next;
- }
-
- # Look at the last character of what we have so far.
- my $previous_char = substr($return, -1, 1);
-
- # And at the next char to be output.
- my $next_char = substr($line, 0, 1);
-
- if ($previous_char ne "\n") {
-
- # Here didn't end wth a nl. If the next char a blank or \b, it
- # means that here there is a break anyway. So add a nl to the
- # output.
- if ($next_char eq " " || $next_char eq "\b") {
- $previous_char = "\n";
- $return .= $previous_char;
- }
-
- # Add an extra space after periods.
- $return .= " " if $previous_char eq '.';
- }
-
- # Here $previous_char is still the latest character to be output. If
- # it isn't a nl, it means that the next line is to be a continuation
- # line, with a blank inserted between them.
- $return .= " " if $previous_char ne "\n";
-
- # Get rid of any \b
- substr($line, 0, 1) = "" if $next_char eq "\b";
-
- # And append this next line.
- $return .= $line;
- }
-
- return $return;
-}
-
-sub simple_fold($;$$$) {
- # Returns a string of the input (string or an array of strings) folded
- # into multiple-lines each of no more than $MAX_LINE_WIDTH characters plus
- # a \n
- # This is tailored for the kind of text written by this program,
- # especially the pod file, which can have very long names with
- # underscores in the middle, or words like AbcDefgHij.... We allow
- # breaking in the middle of such constructs if the line won't fit
- # otherwise. The break in such cases will come either just after an
- # underscore, or just before one of the Capital letters.
-
- local $to_trace = 0 if main::DEBUG;
-
- my $line = shift;
- my $prefix = shift; # Optional string to prepend to each output
- # line
- $prefix = "" unless defined $prefix;
-
- my $hanging_indent = shift; # Optional number of spaces to indent
- # continuation lines
- $hanging_indent = 0 unless $hanging_indent;
-
- my $right_margin = shift; # Optional number of spaces to narrow the
- # total width by.
- $right_margin = 0 unless defined $right_margin;
-
- # Call carp with the 'nofold' option to avoid it from trying to call us
- # recursively
- Carp::carp_extra_args(\@_, 'nofold') if main::DEBUG && @_;
-
- # The space available doesn't include what's automatically prepended
- # to each line, or what's reserved on the right.
- my $max = $MAX_LINE_WIDTH - length($prefix) - $right_margin;
- # XXX Instead of using the 'nofold' perhaps better to look up the stack
-
- if (DEBUG && $hanging_indent >= $max) {
- Carp::my_carp("Too large a hanging indent ($hanging_indent); must be < $max. Using 0", 'nofold');
- $hanging_indent = 0;
- }
-
- # First, split into the current physical lines.
- my @line;
- if (ref $line) { # Better be an array, because not bothering to
- # test
- foreach my $line (@{$line}) {
- push @line, split /\n/, $line;
- }
- }
- else {
- @line = split /\n/, $line;
- }
-
- #local $to_trace = 1 if main::DEBUG;
- trace "", join(" ", @line), "\n" if main::DEBUG && $to_trace;
-
- # Look at each current physical line.
- for (my $i = 0; $i < @line; $i++) {
- Carp::my_carp("Tabs don't work well.", 'nofold') if $line[$i] =~ /\t/;
- #local $to_trace = 1 if main::DEBUG;
- trace "i=$i: $line[$i]\n" if main::DEBUG && $to_trace;
-
- # Remove prefix, because will be added back anyway, don't want
- # doubled prefix
- $line[$i] =~ s/^$prefix//;
-
- # Remove trailing space
- $line[$i] =~ s/\s+\Z//;
-
- # If the line is too long, fold it.
- if (length $line[$i] > $max) {
- my $remainder;
-
- # Here needs to fold. Save the leading space in the line for
- # later.
- $line[$i] =~ /^ ( \s* )/x;
- my $leading_space = $1;
- trace "line length", length $line[$i], "; lead length", length($leading_space) if main::DEBUG && $to_trace;
-
- # If character at final permissible position is white space,
- # fold there, which will delete that white space
- if (substr($line[$i], $max - 1, 1) =~ /\s/) {
- $remainder = substr($line[$i], $max);
- $line[$i] = substr($line[$i], 0, $max - 1);
- }
- else {
-
- # Otherwise fold at an acceptable break char closest to
- # the max length. Look at just the maximal initial
- # segment of the line
- my $segment = substr($line[$i], 0, $max - 1);
- if ($segment =~
- /^ ( .{$hanging_indent} # Don't look before the
- # indent.
- \ * # Don't look in leading
- # blanks past the indent
- [^ ] .* # Find the right-most
- (?: # acceptable break:
- [ \s = ] # space or equal
- | - (?! [.0-9] ) # or non-unary minus.
- ) # $1 includes the character
- )/x)
- {
- # Split into the initial part that fits, and remaining
- # part of the input
- $remainder = substr($line[$i], length $1);
- $line[$i] = $1;
- trace $line[$i] if DEBUG && $to_trace;
- trace $remainder if DEBUG && $to_trace;
- }
-
- # If didn't find a good breaking spot, see if there is a
- # not-so-good breaking spot. These are just after
- # underscores or where the case changes from lower to
- # upper. Use \a as a soft hyphen, but give up
- # and don't break the line if there is actually a \a
- # already in the input. We use an ascii character for the
- # soft-hyphen to avoid any attempt by miniperl to try to
- # access the files that this program is creating.
- elsif ($segment !~ /\a/
- && ($segment =~ s/_/_\a/g
- || $segment =~ s/ ( [a-z] ) (?= [A-Z] )/$1\a/xg))
- {
- # Here were able to find at least one place to insert
- # our substitute soft hyphen. Find the right-most one
- # and replace it by a real hyphen.
- trace $segment if DEBUG && $to_trace;
- substr($segment,
- rindex($segment, "\a"),
- 1) = '-';
-
- # Then remove the soft hyphen substitutes.
- $segment =~ s/\a//g;
- trace $segment if DEBUG && $to_trace;
-
- # And split into the initial part that fits, and
- # remainder of the line
- my $pos = rindex($segment, '-');
- $remainder = substr($line[$i], $pos);
- trace $remainder if DEBUG && $to_trace;
- $line[$i] = substr($segment, 0, $pos + 1);
- }
- }
-
- # Here we know if we can fold or not. If we can, $remainder
- # is what remains to be processed in the next iteration.
- if (defined $remainder) {
- trace "folded='$line[$i]'" if main::DEBUG && $to_trace;
-
- # Insert the folded remainder of the line as a new element
- # of the array. (It may still be too long, but we will
- # deal with that next time through the loop.) Omit any
- # leading space in the remainder.
- $remainder =~ s/^\s+//;
- trace "remainder='$remainder'" if main::DEBUG && $to_trace;
-
- # But then indent by whichever is larger of:
- # 1) the leading space on the input line;
- # 2) the hanging indent.
- # This preserves indentation in the original line.
- my $lead = ($leading_space)
- ? length $leading_space
- : $hanging_indent;
- $lead = max($lead, $hanging_indent);
- splice @line, $i+1, 0, (" " x $lead) . $remainder;
- }
- }
-
- # Ready to output the line. Get rid of any trailing space
- # And prefix by the required $prefix passed in.
- $line[$i] =~ s/\s+$//;
- $line[$i] = "$prefix$line[$i]\n";
- } # End of looping through all the lines.
-
- return join "", @line;
-}
-
-sub property_ref { # Returns a reference to a property object.
- return Property::property_ref(@_);
-}
-
-sub force_unlink ($) {
- my $filename = shift;
- return unless file_exists($filename);
- return if CORE::unlink($filename);
-
- # We might need write permission
- chmod 0777, $filename;
- CORE::unlink($filename) or Carp::my_carp("Couldn't unlink $filename. Proceeding anyway: $!");
- return;
-}
-
-sub write ($\@) {
- # Given a filename and a reference to an array of lines, write the lines
- # to the file
- # Filename can be given as an arrayref of directory names
-
- my $file = shift;
- my $lines_ref = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if (! defined $lines_ref) {
- Carp::my_carp("Missing lines to write parameter for $file. Writing skipped;");
- return;
- }
-
- # Get into a single string if an array, and get rid of, in Unix terms, any
- # leading '.'
- $file= File::Spec->join(@$file) if ref $file eq 'ARRAY';
- $file = File::Spec->canonpath($file);
-
- # If has directories, make sure that they all exist
- (undef, my $directories, undef) = File::Spec->splitpath($file);
- File::Path::mkpath($directories) if $directories && ! -d $directories;
-
- push @files_actually_output, $file;
-
- my $text;
- if (@$lines_ref) {
- $text = join "", @$lines_ref;
- }
- else {
- $text = "";
- Carp::my_carp("Output file '$file' is empty; writing it anyway;");
- }
-
- force_unlink ($file);
-
- my $OUT;
- if (not open $OUT, ">", $file) {
- Carp::my_carp("can't open $file for output. Skipping this file: $!");
- return;
- }
- print "$file written.\n" if $verbosity >= $VERBOSE;
-
- print $OUT $text;
- close $OUT;
- return;
-}
-
-
-sub Standardize($) {
- # This converts the input name string into a standardized equivalent to
- # use internally.
-
- my $name = shift;
- unless (defined $name) {
- Carp::my_carp_bug("Standardize() called with undef. Returning undef.");
- return;
- }
-
- # Remove any leading or trailing white space
- $name =~ s/^\s+//g;
- $name =~ s/\s+$//g;
-
- # Convert interior white space and hypens into underscores.
- $name =~ s/ (?<= .) [ -]+ (.) /_$1/xg;
-
- # Capitalize the letter following an underscore, and convert a sequence of
- # multiple underscores to a single one
- $name =~ s/ (?<= .) _+ (.) /_\u$1/xg;
-
- # And capitalize the first letter, but not for the special cjk ones.
- $name = ucfirst($name) unless $name =~ /^k[A-Z]/;
- return $name;
-}
-
-sub standardize ($) {
- # Returns a lower-cased standardized name, without underscores. This form
- # is chosen so that it can distinguish between any real versus superficial
- # Unicode name differences. It relies on the fact that Unicode doesn't
- # have interior underscores, white space, nor dashes in any
- # stricter-matched name. It should not be used on Unicode code point
- # names (the Name property), as they mostly, but not always follow these
- # rules.
-
- my $name = Standardize(shift);
- return if !defined $name;
-
- $name =~ s/ (?<= .) _ (?= . ) //xg;
- return lc $name;
-}
-
-{ # Closure
-
- my $indent_increment = " " x 2;
- my %already_output;
-
- $main::simple_dumper_nesting = 0;
-
- sub simple_dumper {
- # Like Simple Data::Dumper. Good enough for our needs. We can't use
- # the real thing as we have to run under miniperl.
-
- # It is designed so that on input it is at the beginning of a line,
- # and the final thing output in any call is a trailing ",\n".
-
- my $item = shift;
- my $indent = shift;
- $indent = "" if ! defined $indent;
-
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # nesting level is localized, so that as the call stack pops, it goes
- # back to the prior value.
- local $main::simple_dumper_nesting = $main::simple_dumper_nesting;
- undef %already_output if $main::simple_dumper_nesting == 0;
- $main::simple_dumper_nesting++;
- #print STDERR __LINE__, ": $main::simple_dumper_nesting: $indent$item\n";
-
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Determine the indent for recursive calls.
- my $next_indent = $indent . $indent_increment;
-
- my $output;
- if (! ref $item) {
-
- # Dump of scalar: just output it in quotes if not a number. To do
- # so we must escape certain characters, and therefore need to
- # operate on a copy to avoid changing the original
- my $copy = $item;
- $copy = $UNDEF unless defined $copy;
-
- # Quote non-numbers (numbers also have optional leading '-' and
- # fractions)
- if ($copy eq "" || $copy !~ /^ -? \d+ ( \. \d+ )? $/x) {
-
- # Escape apostrophe and backslash
- $copy =~ s/ ( ['\\] ) /\\$1/xg;
- $copy = "'$copy'";
- }
- $output = "$indent$copy,\n";
- }
- else {
-
- # Keep track of cycles in the input, and refuse to infinitely loop
- if (defined $already_output{main::objaddr $item}) {
- return "${indent}ALREADY OUTPUT: $item\n";
- }
- $already_output{main::objaddr $item} = $item;
-
- if (ref $item eq 'ARRAY') {
- my $using_brackets;
- $output = $indent;
- if ($main::simple_dumper_nesting > 1) {
- $output .= '[';
- $using_brackets = 1;
- }
- else {
- $using_brackets = 0;
- }
-
- # If the array is empty, put the closing bracket on the same
- # line. Otherwise, recursively add each array element
- if (@$item == 0) {
- $output .= " ";
- }
- else {
- $output .= "\n";
- for (my $i = 0; $i < @$item; $i++) {
-
- # Indent array elements one level
- $output .= &simple_dumper($item->[$i], $next_indent);
- $output =~ s/\n$//; # Remove trailing nl so as to
- $output .= " # [$i]\n"; # add a comment giving the
- # array index
- }
- $output .= $indent; # Indent closing ']' to orig level
- }
- $output .= ']' if $using_brackets;
- $output .= ",\n";
- }
- elsif (ref $item eq 'HASH') {
- my $is_first_line;
- my $using_braces;
- my $body_indent;
-
- # No surrounding braces at top level
- $output .= $indent;
- if ($main::simple_dumper_nesting > 1) {
- $output .= "{\n";
- $is_first_line = 0;
- $body_indent = $next_indent;
- $next_indent .= $indent_increment;
- $using_braces = 1;
- }
- else {
- $is_first_line = 1;
- $body_indent = $indent;
- $using_braces = 0;
- }
-
- # Output hashes sorted alphabetically instead of apparently
- # random. Use caseless alphabetic sort
- foreach my $key (sort { lc $a cmp lc $b } keys %$item)
- {
- if ($is_first_line) {
- $is_first_line = 0;
- }
- else {
- $output .= "$body_indent";
- }
-
- # The key must be a scalar, but this recursive call quotes
- # it
- $output .= &simple_dumper($key);
-
- # And change the trailing comma and nl to the hash fat
- # comma for clarity, and so the value can be on the same
- # line
- $output =~ s/,\n$/ => /;
-
- # Recursively call to get the value's dump.
- my $next = &simple_dumper($item->{$key}, $next_indent);
-
- # If the value is all on one line, remove its indent, so
- # will follow the => immediately. If it takes more than
- # one line, start it on a new line.
- if ($next !~ /\n.*\n/) {
- $next =~ s/^ *//;
- }
- else {
- $output .= "\n";
- }
- $output .= $next;
- }
-
- $output .= "$indent},\n" if $using_braces;
- }
- elsif (ref $item eq 'CODE' || ref $item eq 'GLOB') {
- $output = $indent . ref($item) . "\n";
- # XXX see if blessed
- }
- elsif ($item->can('dump')) {
-
- # By convention in this program, objects furnish a 'dump'
- # method. Since not doing any output at this level, just pass
- # on the input indent
- $output = $item->dump($indent);
- }
- else {
- Carp::my_carp("Can't cope with dumping a " . ref($item) . ". Skipping.");
- }
- }
- return $output;
- }
-}
-
-sub dump_inside_out {
- # Dump inside-out hashes in an object's state by converting them to a
- # regular hash and then calling simple_dumper on that.
-
- my $object = shift;
- my $fields_ref = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $addr = main::objaddr $object;
-
- my %hash;
- foreach my $key (keys %$fields_ref) {
- $hash{$key} = $fields_ref->{$key}{$addr};
- }
-
- return simple_dumper(\%hash, @_);
-}
-
-sub _operator_dot {
- # Overloaded '.' method that is common to all packages. It uses the
- # package's stringify method.
-
- my $self = shift;
- my $other = shift;
- my $reversed = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- $other = "" unless defined $other;
-
- foreach my $which (\$self, \$other) {
- next unless ref $$which;
- if ($$which->can('_operator_stringify')) {
- $$which = $$which->_operator_stringify;
- }
- else {
- my $ref = ref $$which;
- my $addr = main::objaddr $$which;
- $$which = "$ref ($addr)";
- }
- }
- return ($reversed)
- ? "$other$self"
- : "$self$other";
-}
-
-sub _operator_equal {
- # Generic overloaded '==' routine. To be equal, they must be the exact
- # same object
-
- my $self = shift;
- my $other = shift;
-
- return 0 unless defined $other;
- return 0 unless ref $other;
- return main::objaddr $self == main::objaddr $other;
-}
-
-sub _operator_not_equal {
- my $self = shift;
- my $other = shift;
-
- return ! _operator_equal($self, $other);
-}
-
-sub process_PropertyAliases($) {
- # This reads in the PropertyAliases.txt file, which contains almost all
- # the character properties in Unicode and their equivalent aliases:
- # scf ; Simple_Case_Folding ; sfc
- #
- # Field 0 is the preferred short name for the property.
- # Field 1 is the full name.
- # Any succeeding ones are other accepted names.
-
- my $file= shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # This whole file was non-existent in early releases, so use our own
- # internal one.
- $file->insert_lines(get_old_property_aliases())
- if ! -e 'PropertyAliases.txt';
-
- # Add any cjk properties that may have been defined.
- $file->insert_lines(@cjk_properties);
-
- while ($file->next_line) {
-
- my @data = split /\s*;\s*/;
-
- my $full = $data[1];
-
- my $this = Property->new($data[0], Full_Name => $full);
-
- # Start looking for more aliases after these two.
- for my $i (2 .. @data - 1) {
- $this->add_alias($data[$i]);
- }
-
- }
- return;
-}
-
-sub finish_property_setup {
- # Finishes setting up after PropertyAliases.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # This entry was missing from this file in earlier Unicode versions
- if (-e 'Jamo.txt') {
- my $jsn = property_ref('JSN');
- if (! defined $jsn) {
- $jsn = Property->new('JSN', Full_Name => 'Jamo_Short_Name');
- }
- }
-
- # This entry is still missing as of 5.2, perhaps because no short name for
- # it.
- if (-e 'NameAliases.txt') {
- my $aliases = property_ref('Name_Alias');
- if (! defined $aliases) {
- $aliases = Property->new('Name_Alias');
- }
- }
-
- # These are used so much, that we set globals for them.
- $gc = property_ref('General_Category');
- $block = property_ref('Block');
-
- # Perl adds this alias.
- $gc->add_alias('Category');
-
- # For backwards compatibility, these property files have particular names.
- my $upper = property_ref('Uppercase_Mapping');
- $upper->set_core_access('uc()');
- $upper->set_file('Upper'); # This is what utf8.c calls it
-
- my $lower = property_ref('Lowercase_Mapping');
- $lower->set_core_access('lc()');
- $lower->set_file('Lower');
-
- my $title = property_ref('Titlecase_Mapping');
- $title->set_core_access('ucfirst()');
- $title->set_file('Title');
-
- my $fold = property_ref('Case_Folding');
- $fold->set_file('Fold') if defined $fold;
-
- # utf8.c can't currently cope with non range-size-1 for these, and even if
- # it were changed to do so, someone else may be using them, expecting the
- # old style
- foreach my $property (qw {
- Case_Folding
- Lowercase_Mapping
- Titlecase_Mapping
- Uppercase_Mapping
- })
- {
- property_ref($property)->set_range_size_1(1);
- }
-
- # These two properties aren't actually used in the core, but unfortunately
- # the names just above that are in the core interfere with these, so
- # choose different names. These aren't a problem unless the map tables
- # for these files get written out.
- my $lowercase = property_ref('Lowercase');
- $lowercase->set_file('IsLower') if defined $lowercase;
- my $uppercase = property_ref('Uppercase');
- $uppercase->set_file('IsUpper') if defined $uppercase;
-
- # Set up the hard-coded default mappings, but only on properties defined
- # for this release
- foreach my $property (keys %default_mapping) {
- my $property_object = property_ref($property);
- next if ! defined $property_object;
- my $default_map = $default_mapping{$property};
- $property_object->set_default_map($default_map);
-
- # A map of <code point> implies the property is string.
- if ($property_object->type == $UNKNOWN
- && $default_map eq $CODE_POINT)
- {
- $property_object->set_type($STRING);
- }
- }
-
- # The following use the Multi_Default class to create objects for
- # defaults.
-
- # Bidi class has a complicated default, but the derived file takes care of
- # the complications, leaving just 'L'.
- if (file_exists("${EXTRACTED}DBidiClass.txt")) {
- property_ref('Bidi_Class')->set_default_map('L');
- }
- else {
- my $default;
-
- # The derived file was introduced in 3.1.1. The values below are
- # taken from table 3-8, TUS 3.0
- my $default_R =
- 'my $default = Range_List->new;
- $default->add_range(0x0590, 0x05FF);
- $default->add_range(0xFB1D, 0xFB4F);'
- ;
-
- # The defaults apply only to unassigned characters
- $default_R .= '$gc->table("Cn") & $default;';
-
- if ($v_version lt v3.0.0) {
- $default = Multi_Default->new(R => $default_R, 'L');
- }
- else {
-
- # AL apparently not introduced until 3.0: TUS 2.x references are
- # not on-line to check it out
- my $default_AL =
- 'my $default = Range_List->new;
- $default->add_range(0x0600, 0x07BF);
- $default->add_range(0xFB50, 0xFDFF);
- $default->add_range(0xFE70, 0xFEFF);'
- ;
-
- # Non-character code points introduced in this release; aren't AL
- if ($v_version ge 3.1.0) {
- $default_AL .= '$default->delete_range(0xFDD0, 0xFDEF);';
- }
- $default_AL .= '$gc->table("Cn") & $default';
- $default = Multi_Default->new(AL => $default_AL,
- R => $default_R,
- 'L');
- }
- property_ref('Bidi_Class')->set_default_map($default);
- }
-
- # Joining type has a complicated default, but the derived file takes care
- # of the complications, leaving just 'U' (or Non_Joining), except the file
- # is bad in 3.1.0
- if (file_exists("${EXTRACTED}DJoinType.txt") || -e 'ArabicShaping.txt') {
- if (file_exists("${EXTRACTED}DJoinType.txt") && $v_version ne 3.1.0) {
- property_ref('Joining_Type')->set_default_map('Non_Joining');
- }
- else {
-
- # Otherwise, there are not one, but two possibilities for the
- # missing defaults: T and U.
- # The missing defaults that evaluate to T are given by:
- # T = Mn + Cf - ZWNJ - ZWJ
- # where Mn and Cf are the general category values. In other words,
- # any non-spacing mark or any format control character, except
- # U+200C ZERO WIDTH NON-JOINER (joining type U) and U+200D ZERO
- # WIDTH JOINER (joining type C).
- my $default = Multi_Default->new(
- 'T' => '$gc->table("Mn") + $gc->table("Cf") - 0x200C - 0x200D',
- 'Non_Joining');
- property_ref('Joining_Type')->set_default_map($default);
- }
- }
-
- # Line break has a complicated default in early releases. It is 'Unknown'
- # for non-assigned code points; 'AL' for assigned.
- if (file_exists("${EXTRACTED}DLineBreak.txt") || -e 'LineBreak.txt') {
- my $lb = property_ref('Line_Break');
- if ($v_version gt 3.2.0) {
- $lb->set_default_map('Unknown');
- }
- else {
- my $default = Multi_Default->new( 'Unknown' => '$gc->table("Cn")',
- 'AL');
- $lb->set_default_map($default);
- }
-
- # If has the URS property, make sure that the standard aliases are in
- # it, since not in the input tables in some versions.
- my $urs = property_ref('Unicode_Radical_Stroke');
- if (defined $urs) {
- $urs->add_alias('cjkRSUnicode');
- $urs->add_alias('kRSUnicode');
- }
- }
- return;
-}
-
-sub get_old_property_aliases() {
- # Returns what would be in PropertyAliases.txt if it existed in very old
- # versions of Unicode. It was derived from the one in 3.2, and pared
- # down based on the data that was actually in the older releases.
- # An attempt was made to use the existence of files to mean inclusion or
- # not of various aliases, but if this was not sufficient, using version
- # numbers was resorted to.
-
- my @return;
-
- # These are to be used in all versions (though some are constructed by
- # this program if missing)
- push @return, split /\n/, <<'END';
-bc ; Bidi_Class
-Bidi_M ; Bidi_Mirrored
-cf ; Case_Folding
-ccc ; Canonical_Combining_Class
-dm ; Decomposition_Mapping
-dt ; Decomposition_Type
-gc ; General_Category
-isc ; ISO_Comment
-lc ; Lowercase_Mapping
-na ; Name
-na1 ; Unicode_1_Name
-nt ; Numeric_Type
-nv ; Numeric_Value
-sfc ; Simple_Case_Folding
-slc ; Simple_Lowercase_Mapping
-stc ; Simple_Titlecase_Mapping
-suc ; Simple_Uppercase_Mapping
-tc ; Titlecase_Mapping
-uc ; Uppercase_Mapping
-END
-
- if (-e 'Blocks.txt') {
- push @return, "blk ; Block\n";
- }
- if (-e 'ArabicShaping.txt') {
- push @return, split /\n/, <<'END';
-jg ; Joining_Group
-jt ; Joining_Type
-END
- }
- if (-e 'PropList.txt') {
-
- # This first set is in the original old-style proplist.
- push @return, split /\n/, <<'END';
-Alpha ; Alphabetic
-Bidi_C ; Bidi_Control
-Dash ; Dash
-Dia ; Diacritic
-Ext ; Extender
-Hex ; Hex_Digit
-Hyphen ; Hyphen
-IDC ; ID_Continue
-Ideo ; Ideographic
-Join_C ; Join_Control
-Math ; Math
-QMark ; Quotation_Mark
-Term ; Terminal_Punctuation
-WSpace ; White_Space
-END
- # The next sets were added later
- if ($v_version ge v3.0.0) {
- push @return, split /\n/, <<'END';
-Upper ; Uppercase
-Lower ; Lowercase
-END
- }
- if ($v_version ge v3.0.1) {
- push @return, split /\n/, <<'END';
-NChar ; Noncharacter_Code_Point
-END
- }
- # The next sets were added in the new-style
- if ($v_version ge v3.1.0) {
- push @return, split /\n/, <<'END';
-OAlpha ; Other_Alphabetic
-OLower ; Other_Lowercase
-OMath ; Other_Math
-OUpper ; Other_Uppercase
-END
- }
- if ($v_version ge v3.1.1) {
- push @return, "AHex ; ASCII_Hex_Digit\n";
- }
- }
- if (-e 'EastAsianWidth.txt') {
- push @return, "ea ; East_Asian_Width\n";
- }
- if (-e 'CompositionExclusions.txt') {
- push @return, "CE ; Composition_Exclusion\n";
- }
- if (-e 'LineBreak.txt') {
- push @return, "lb ; Line_Break\n";
- }
- if (-e 'BidiMirroring.txt') {
- push @return, "bmg ; Bidi_Mirroring_Glyph\n";
- }
- if (-e 'Scripts.txt') {
- push @return, "sc ; Script\n";
- }
- if (-e 'DNormalizationProps.txt') {
- push @return, split /\n/, <<'END';
-Comp_Ex ; Full_Composition_Exclusion
-FC_NFKC ; FC_NFKC_Closure
-NFC_QC ; NFC_Quick_Check
-NFD_QC ; NFD_Quick_Check
-NFKC_QC ; NFKC_Quick_Check
-NFKD_QC ; NFKD_Quick_Check
-XO_NFC ; Expands_On_NFC
-XO_NFD ; Expands_On_NFD
-XO_NFKC ; Expands_On_NFKC
-XO_NFKD ; Expands_On_NFKD
-END
- }
- if (-e 'DCoreProperties.txt') {
- push @return, split /\n/, <<'END';
-IDS ; ID_Start
-XIDC ; XID_Continue
-XIDS ; XID_Start
-END
- # These can also appear in some versions of PropList.txt
- push @return, "Lower ; Lowercase\n"
- unless grep { $_ =~ /^Lower\b/} @return;
- push @return, "Upper ; Uppercase\n"
- unless grep { $_ =~ /^Upper\b/} @return;
- }
-
- # This flag requires the DAge.txt file to be copied into the directory.
- if (DEBUG && $compare_versions) {
- push @return, 'age ; Age';
- }
-
- return @return;
-}
-
-sub process_PropValueAliases {
- # This file contains values that properties look like:
- # bc ; AL ; Arabic_Letter
- # blk; n/a ; Greek_And_Coptic ; Greek
- #
- # Field 0 is the property.
- # Field 1 is the short name of a property value or 'n/a' if no
- # short name exists;
- # Field 2 is the full property value name;
- # Any other fields are more synonyms for the property value.
- # Purely numeric property values are omitted from the file; as are some
- # others, fewer and fewer in later releases
-
- # Entries for the ccc property have an extra field before the
- # abbreviation:
- # ccc; 0; NR ; Not_Reordered
- # It is the numeric value that the names are synonyms for.
-
- # There are comment entries for values missing from this file:
- # # @missing: 0000..10FFFF; ISO_Comment; <none>
- # # @missing: 0000..10FFFF; Lowercase_Mapping; <code point>
-
- my $file= shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # This whole file was non-existent in early releases, so use our own
- # internal one if necessary.
- if (! -e 'PropValueAliases.txt') {
- $file->insert_lines(get_old_property_value_aliases());
- }
-
- # Add any explicit cjk values
- $file->insert_lines(@cjk_property_values);
-
- # This line is used only for testing the code that checks for name
- # conflicts. There is a script Inherited, and when this line is executed
- # it causes there to be a name conflict with the 'Inherited' that this
- # program generates for this block property value
- #$file->insert_lines('blk; n/a; Herited');
-
-
- # Process each line of the file ...
- while ($file->next_line) {
-
- my ($property, @data) = split /\s*;\s*/;
-
- # The full name for the ccc property value is in field 2 of the
- # remaining ones; field 1 for all other properties. Swap ccc fields 1
- # and 2. (Rightmost splice removes field 2, returning it; left splice
- # inserts that into field 1, thus shifting former field 1 to field 2.)
- splice (@data, 1, 0, splice(@data, 2, 1)) if $property eq 'ccc';
-
- # If there is no short name, use the full one in element 1
- $data[0] = $data[1] if $data[0] eq "n/a";
-
- # Earlier releases had the pseudo property 'qc' that should expand to
- # the ones that replace it below.
- if ($property eq 'qc') {
- if (lc $data[0] eq 'y') {
- $file->insert_lines('NFC_QC; Y ; Yes',
- 'NFD_QC; Y ; Yes',
- 'NFKC_QC; Y ; Yes',
- 'NFKD_QC; Y ; Yes',
- );
- }
- elsif (lc $data[0] eq 'n') {
- $file->insert_lines('NFC_QC; N ; No',
- 'NFD_QC; N ; No',
- 'NFKC_QC; N ; No',
- 'NFKD_QC; N ; No',
- );
- }
- elsif (lc $data[0] eq 'm') {
- $file->insert_lines('NFC_QC; M ; Maybe',
- 'NFKC_QC; M ; Maybe',
- );
- }
- else {
- $file->carp_bad_line("qc followed by unexpected '$data[0]");
- }
- next;
- }
-
- # The first field is the short name, 2nd is the full one.
- my $property_object = property_ref($property);
- my $table = $property_object->add_match_table($data[0],
- Full_Name => $data[1]);
-
- # Start looking for more aliases after these two.
- for my $i (2 .. @data - 1) {
- $table->add_alias($data[$i]);
- }
- } # End of looping through the file
-
- # As noted in the comments early in the program, it generates tables for
- # the default values for all releases, even those for which the concept
- # didn't exist at the time. Here we add those if missing.
- my $age = property_ref('age');
- if (defined $age && ! defined $age->table('Unassigned')) {
- $age->add_match_table('Unassigned');
- }
- $block->add_match_table('No_Block') if -e 'Blocks.txt'
- && ! defined $block->table('No_Block');
-
-
- # Now set the default mappings of the properties from the file. This is
- # done after the loop because a number of properties have only @missings
- # entries in the file, and may not show up until the end.
- my @defaults = $file->get_missings;
- foreach my $default_ref (@defaults) {
- my $default = $default_ref->[0];
- my $property = property_ref($default_ref->[1]);
- $property->set_default_map($default);
- }
- return;
-}
-
-sub get_old_property_value_aliases () {
- # Returns what would be in PropValueAliases.txt if it existed in very old
- # versions of Unicode. It was derived from the one in 3.2, and pared
- # down. An attempt was made to use the existence of files to mean
- # inclusion or not of various aliases, but if this was not sufficient,
- # using version numbers was resorted to.
-
- my @return = split /\n/, <<'END';
-bc ; AN ; Arabic_Number
-bc ; B ; Paragraph_Separator
-bc ; CS ; Common_Separator
-bc ; EN ; European_Number
-bc ; ES ; European_Separator
-bc ; ET ; European_Terminator
-bc ; L ; Left_To_Right
-bc ; ON ; Other_Neutral
-bc ; R ; Right_To_Left
-bc ; WS ; White_Space
-
-# The standard combining classes are very much different in v1, so only use
-# ones that look right (not checked thoroughly)
-ccc; 0; NR ; Not_Reordered
-ccc; 1; OV ; Overlay
-ccc; 7; NK ; Nukta
-ccc; 8; KV ; Kana_Voicing
-ccc; 9; VR ; Virama
-ccc; 202; ATBL ; Attached_Below_Left
-ccc; 216; ATAR ; Attached_Above_Right
-ccc; 218; BL ; Below_Left
-ccc; 220; B ; Below
-ccc; 222; BR ; Below_Right
-ccc; 224; L ; Left
-ccc; 228; AL ; Above_Left
-ccc; 230; A ; Above
-ccc; 232; AR ; Above_Right
-ccc; 234; DA ; Double_Above
-
-dt ; can ; canonical
-dt ; enc ; circle
-dt ; fin ; final
-dt ; font ; font
-dt ; fra ; fraction
-dt ; init ; initial
-dt ; iso ; isolated
-dt ; med ; medial
-dt ; n/a ; none
-dt ; nb ; noBreak
-dt ; sqr ; square
-dt ; sub ; sub
-dt ; sup ; super
-
-gc ; C ; Other # Cc | Cf | Cn | Co | Cs
-gc ; Cc ; Control
-gc ; Cn ; Unassigned
-gc ; Co ; Private_Use
-gc ; L ; Letter # Ll | Lm | Lo | Lt | Lu
-gc ; LC ; Cased_Letter # Ll | Lt | Lu
-gc ; Ll ; Lowercase_Letter
-gc ; Lm ; Modifier_Letter
-gc ; Lo ; Other_Letter
-gc ; Lu ; Uppercase_Letter
-gc ; M ; Mark # Mc | Me | Mn
-gc ; Mc ; Spacing_Mark
-gc ; Mn ; Nonspacing_Mark
-gc ; N ; Number # Nd | Nl | No
-gc ; Nd ; Decimal_Number
-gc ; No ; Other_Number
-gc ; P ; Punctuation # Pc | Pd | Pe | Pf | Pi | Po | Ps
-gc ; Pd ; Dash_Punctuation
-gc ; Pe ; Close_Punctuation
-gc ; Po ; Other_Punctuation
-gc ; Ps ; Open_Punctuation
-gc ; S ; Symbol # Sc | Sk | Sm | So
-gc ; Sc ; Currency_Symbol
-gc ; Sm ; Math_Symbol
-gc ; So ; Other_Symbol
-gc ; Z ; Separator # Zl | Zp | Zs
-gc ; Zl ; Line_Separator
-gc ; Zp ; Paragraph_Separator
-gc ; Zs ; Space_Separator
-
-nt ; de ; Decimal
-nt ; di ; Digit
-nt ; n/a ; None
-nt ; nu ; Numeric
-END
-
- if (-e 'ArabicShaping.txt') {
- push @return, split /\n/, <<'END';
-jg ; n/a ; AIN
-jg ; n/a ; ALEF
-jg ; n/a ; DAL
-jg ; n/a ; GAF
-jg ; n/a ; LAM
-jg ; n/a ; MEEM
-jg ; n/a ; NO_JOINING_GROUP
-jg ; n/a ; NOON
-jg ; n/a ; QAF
-jg ; n/a ; SAD
-jg ; n/a ; SEEN
-jg ; n/a ; TAH
-jg ; n/a ; WAW
-
-jt ; C ; Join_Causing
-jt ; D ; Dual_Joining
-jt ; L ; Left_Joining
-jt ; R ; Right_Joining
-jt ; U ; Non_Joining
-jt ; T ; Transparent
-END
- if ($v_version ge v3.0.0) {
- push @return, split /\n/, <<'END';
-jg ; n/a ; ALAPH
-jg ; n/a ; BEH
-jg ; n/a ; BETH
-jg ; n/a ; DALATH_RISH
-jg ; n/a ; E
-jg ; n/a ; FEH
-jg ; n/a ; FINAL_SEMKATH
-jg ; n/a ; GAMAL
-jg ; n/a ; HAH
-jg ; n/a ; HAMZA_ON_HEH_GOAL
-jg ; n/a ; HE
-jg ; n/a ; HEH
-jg ; n/a ; HEH_GOAL
-jg ; n/a ; HETH
-jg ; n/a ; KAF
-jg ; n/a ; KAPH
-jg ; n/a ; KNOTTED_HEH
-jg ; n/a ; LAMADH
-jg ; n/a ; MIM
-jg ; n/a ; NUN
-jg ; n/a ; PE
-jg ; n/a ; QAPH
-jg ; n/a ; REH
-jg ; n/a ; REVERSED_PE
-jg ; n/a ; SADHE
-jg ; n/a ; SEMKATH
-jg ; n/a ; SHIN
-jg ; n/a ; SWASH_KAF
-jg ; n/a ; TAW
-jg ; n/a ; TEH_MARBUTA
-jg ; n/a ; TETH
-jg ; n/a ; YEH
-jg ; n/a ; YEH_BARREE
-jg ; n/a ; YEH_WITH_TAIL
-jg ; n/a ; YUDH
-jg ; n/a ; YUDH_HE
-jg ; n/a ; ZAIN
-END
- }
- }
-
-
- if (-e 'EastAsianWidth.txt') {
- push @return, split /\n/, <<'END';
-ea ; A ; Ambiguous
-ea ; F ; Fullwidth
-ea ; H ; Halfwidth
-ea ; N ; Neutral
-ea ; Na ; Narrow
-ea ; W ; Wide
-END
- }
-
- if (-e 'LineBreak.txt') {
- push @return, split /\n/, <<'END';
-lb ; AI ; Ambiguous
-lb ; AL ; Alphabetic
-lb ; B2 ; Break_Both
-lb ; BA ; Break_After
-lb ; BB ; Break_Before
-lb ; BK ; Mandatory_Break
-lb ; CB ; Contingent_Break
-lb ; CL ; Close_Punctuation
-lb ; CM ; Combining_Mark
-lb ; CR ; Carriage_Return
-lb ; EX ; Exclamation
-lb ; GL ; Glue
-lb ; HY ; Hyphen
-lb ; ID ; Ideographic
-lb ; IN ; Inseperable
-lb ; IS ; Infix_Numeric
-lb ; LF ; Line_Feed
-lb ; NS ; Nonstarter
-lb ; NU ; Numeric
-lb ; OP ; Open_Punctuation
-lb ; PO ; Postfix_Numeric
-lb ; PR ; Prefix_Numeric
-lb ; QU ; Quotation
-lb ; SA ; Complex_Context
-lb ; SG ; Surrogate
-lb ; SP ; Space
-lb ; SY ; Break_Symbols
-lb ; XX ; Unknown
-lb ; ZW ; ZWSpace
-END
- }
-
- if (-e 'DNormalizationProps.txt') {
- push @return, split /\n/, <<'END';
-qc ; M ; Maybe
-qc ; N ; No
-qc ; Y ; Yes
-END
- }
-
- if (-e 'Scripts.txt') {
- push @return, split /\n/, <<'END';
-sc ; Arab ; Arabic
-sc ; Armn ; Armenian
-sc ; Beng ; Bengali
-sc ; Bopo ; Bopomofo
-sc ; Cans ; Canadian_Aboriginal
-sc ; Cher ; Cherokee
-sc ; Cyrl ; Cyrillic
-sc ; Deva ; Devanagari
-sc ; Dsrt ; Deseret
-sc ; Ethi ; Ethiopic
-sc ; Geor ; Georgian
-sc ; Goth ; Gothic
-sc ; Grek ; Greek
-sc ; Gujr ; Gujarati
-sc ; Guru ; Gurmukhi
-sc ; Hang ; Hangul
-sc ; Hani ; Han
-sc ; Hebr ; Hebrew
-sc ; Hira ; Hiragana
-sc ; Ital ; Old_Italic
-sc ; Kana ; Katakana
-sc ; Khmr ; Khmer
-sc ; Knda ; Kannada
-sc ; Laoo ; Lao
-sc ; Latn ; Latin
-sc ; Mlym ; Malayalam
-sc ; Mong ; Mongolian
-sc ; Mymr ; Myanmar
-sc ; Ogam ; Ogham
-sc ; Orya ; Oriya
-sc ; Qaai ; Inherited
-sc ; Runr ; Runic
-sc ; Sinh ; Sinhala
-sc ; Syrc ; Syriac
-sc ; Taml ; Tamil
-sc ; Telu ; Telugu
-sc ; Thaa ; Thaana
-sc ; Thai ; Thai
-sc ; Tibt ; Tibetan
-sc ; Yiii ; Yi
-sc ; Zyyy ; Common
-END
- }
-
- if ($v_version ge v2.0.0) {
- push @return, split /\n/, <<'END';
-dt ; com ; compat
-dt ; nar ; narrow
-dt ; sml ; small
-dt ; vert ; vertical
-dt ; wide ; wide
-
-gc ; Cf ; Format
-gc ; Cs ; Surrogate
-gc ; Lt ; Titlecase_Letter
-gc ; Me ; Enclosing_Mark
-gc ; Nl ; Letter_Number
-gc ; Pc ; Connector_Punctuation
-gc ; Sk ; Modifier_Symbol
-END
- }
- if ($v_version ge v2.1.2) {
- push @return, "bc ; S ; Segment_Separator\n";
- }
- if ($v_version ge v2.1.5) {
- push @return, split /\n/, <<'END';
-gc ; Pf ; Final_Punctuation
-gc ; Pi ; Initial_Punctuation
-END
- }
- if ($v_version ge v2.1.8) {
- push @return, "ccc; 240; IS ; Iota_Subscript\n";
- }
-
- if ($v_version ge v3.0.0) {
- push @return, split /\n/, <<'END';
-bc ; AL ; Arabic_Letter
-bc ; BN ; Boundary_Neutral
-bc ; LRE ; Left_To_Right_Embedding
-bc ; LRO ; Left_To_Right_Override
-bc ; NSM ; Nonspacing_Mark
-bc ; PDF ; Pop_Directional_Format
-bc ; RLE ; Right_To_Left_Embedding
-bc ; RLO ; Right_To_Left_Override
-
-ccc; 233; DB ; Double_Below
-END
- }
-
- if ($v_version ge v3.1.0) {
- push @return, "ccc; 226; R ; Right\n";
- }
-
- return @return;
-}
-
-{ # Closure
- # This is used to store the range list of all the code points usable when
- # the little used $compare_versions feature is enabled.
- my $compare_versions_range_list;
-
- sub process_generic_property_file {
- # This processes a file containing property mappings and puts them
- # into internal map tables. It should be used to handle any property
- # files that have mappings from a code point or range thereof to
- # something else. This means almost all the UCD .txt files.
- # each_line_handlers() should be set to adjust the lines of these
- # files, if necessary, to what this routine understands:
- #
- # 0374 ; NFD_QC; N
- # 003C..003E ; Math
- #
- # the fields are: "codepoint range ; property; map"
- #
- # meaning the codepoints in the range all have the value 'map' under
- # 'property'.
- # Beginning and trailing white space in each field are not signficant.
- # Note there is not a trailing semi-colon in the above. A trailing
- # semi-colon means the map is a null-string. An omitted map, as
- # opposed to a null-string, is assumed to be 'Y', based on Unicode
- # table syntax. (This could have been hidden from this routine by
- # doing it in the $file object, but that would require parsing of the
- # line there, so would have to parse it twice, or change the interface
- # to pass this an array. So not done.)
- #
- # The map field may begin with a sequence of commands that apply to
- # this range. Each such command begins and ends with $CMD_DELIM.
- # These are used to indicate, for example, that the mapping for a
- # range has a non-default type.
- #
- # This loops through the file, calling it's next_line() method, and
- # then taking the map and adding it to the property's table.
- # Complications arise because any number of properties can be in the
- # file, in any order, interspersed in any way. The first time a
- # property is seen, it gets information about that property and
- # caches it for quick retrieval later. It also normalizes the maps
- # so that only one of many synonym is stored. The Unicode input files
- # do use some multiple synonyms.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my %property_info; # To keep track of what properties
- # have already had entries in the
- # current file, and info about each,
- # so don't have to recompute.
- my $property_name; # property currently being worked on
- my $property_type; # and its type
- my $previous_property_name = ""; # name from last time through loop
- my $property_object; # pointer to the current property's
- # object
- my $property_addr; # the address of that object
- my $default_map; # the string that code points missing
- # from the file map to
- my $default_table; # For non-string properties, a
- # reference to the match table that
- # will contain the list of code
- # points that map to $default_map.
-
- # Get the next real non-comment line
- LINE:
- while ($file->next_line) {
-
- # Default replacement type; means that if parts of the range have
- # already been stored in our tables, the new map overrides them if
- # they differ more than cosmetically
- my $replace = $IF_NOT_EQUIVALENT;
- my $map_type; # Default type for the map of this range
-
- #local $to_trace = 1 if main::DEBUG;
- trace $_ if main::DEBUG && $to_trace;
-
- # Split the line into components
- my ($range, $property_name, $map, @remainder)
- = split /\s*;\s*/, $_, -1; # -1 => retain trailing null fields
-
- # If more or less on the line than we are expecting, warn and skip
- # the line
- if (@remainder) {
- $file->carp_bad_line('Extra fields');
- next LINE;
- }
- elsif ( ! defined $property_name) {
- $file->carp_bad_line('Missing property');
- next LINE;
- }
-
- # Examine the range.
- if ($range !~ /^ ($code_point_re) (?:\.\. ($code_point_re) )? $/x)
- {
- $file->carp_bad_line("Range '$range' not of the form 'CP1' or 'CP1..CP2' (where CP1,2 are code points in hex)");
- next LINE;
- }
- my $low = hex $1;
- my $high = (defined $2) ? hex $2 : $low;
-
- # For the very specialized case of comparing two Unicode
- # versions...
- if (DEBUG && $compare_versions) {
- if ($property_name eq 'Age') {
-
- # Only allow code points at least as old as the version
- # specified.
- my $age = pack "C*", split(/\./, $map); # v string
- next LINE if $age gt $compare_versions;
- }
- else {
-
- # Again, we throw out code points younger than those of
- # the specified version. By now, the Age property is
- # populated. We use the intersection of each input range
- # with this property to find what code points in it are
- # valid. To do the intersection, we have to convert the
- # Age property map to a Range_list. We only have to do
- # this once.
- if (! defined $compare_versions_range_list) {
- my $age = property_ref('Age');
- if (! -e 'DAge.txt') {
- croak "Need to have 'DAge.txt' file to do version comparison";
- }
- elsif ($age->count == 0) {
- croak "The 'Age' table is empty, but its file exists";
- }
- $compare_versions_range_list
- = Range_List->new(Initialize => $age);
- }
-
- # An undefined map is always 'Y'
- $map = 'Y' if ! defined $map;
-
- # Calculate the intersection of the input range with the
- # code points that are known in the specified version
- my @ranges = ($compare_versions_range_list
- & Range->new($low, $high))->ranges;
-
- # If the intersection is empty, throw away this range
- next LINE unless @ranges;
-
- # Only examine the first range this time through the loop.
- my $this_range = shift @ranges;
-
- # Put any remaining ranges in the queue to be processed
- # later. Note that there is unnecessary work here, as we
- # will do the intersection again for each of these ranges
- # during some future iteration of the LINE loop, but this
- # code is not used in production. The later intersections
- # are guaranteed to not splinter, so this will not become
- # an infinite loop.
- my $line = join ';', $property_name, $map;
- foreach my $range (@ranges) {
- $file->insert_adjusted_lines(sprintf("%04X..%04X; %s",
- $range->start,
- $range->end,
- $line));
- }
-
- # And process the first range, like any other.
- $low = $this_range->start;
- $high = $this_range->end;
- }
- } # End of $compare_versions
-
- # If changing to a new property, get the things constant per
- # property
- if ($previous_property_name ne $property_name) {
-
- $property_object = property_ref($property_name);
- if (! defined $property_object) {
- $file->carp_bad_line("Unexpected property '$property_name'. Skipped");
- next LINE;
- }
- $property_addr = main::objaddr($property_object);
-
- # Defer changing names until have a line that is acceptable
- # (the 'next' statement above means is unacceptable)
- $previous_property_name = $property_name;
-
- # If not the first time for this property, retrieve info about
- # it from the cache
- if (defined ($property_info{$property_addr}{'type'})) {
- $property_type = $property_info{$property_addr}{'type'};
- $default_map = $property_info{$property_addr}{'default'};
- $map_type
- = $property_info{$property_addr}{'pseudo_map_type'};
- $default_table
- = $property_info{$property_addr}{'default_table'};
- }
- else {
-
- # Here, is the first time for this property. Set up the
- # cache.
- $property_type = $property_info{$property_addr}{'type'}
- = $property_object->type;
- $map_type
- = $property_info{$property_addr}{'pseudo_map_type'}
- = $property_object->pseudo_map_type;
-
- # The Unicode files are set up so that if the map is not
- # defined, it is a binary property
- if (! defined $map && $property_type != $BINARY) {
- if ($property_type != $UNKNOWN
- && $property_type != $NON_STRING)
- {
- $file->carp_bad_line("No mapping defined on a non-binary property. Using 'Y' for the map");
- }
- else {
- $property_object->set_type($BINARY);
- $property_type
- = $property_info{$property_addr}{'type'}
- = $BINARY;
- }
- }
-
- # Get any @missings default for this property. This
- # should precede the first entry for the property in the
- # input file, and is located in a comment that has been
- # stored by the Input_file class until we access it here.
- # It's possible that there is more than one such line
- # waiting for us; collect them all, and parse
- my @missings_list = $file->get_missings
- if $file->has_missings_defaults;
- foreach my $default_ref (@missings_list) {
- my $default = $default_ref->[0];
- my $addr = objaddr property_ref($default_ref->[1]);
-
- # For string properties, the default is just what the
- # file says, but non-string properties should already
- # have set up a table for the default property value;
- # use the table for these, so can resolve synonyms
- # later to a single standard one.
- if ($property_type == $STRING
- || $property_type == $UNKNOWN)
- {
- $property_info{$addr}{'missings'} = $default;
- }
- else {
- $property_info{$addr}{'missings'}
- = $property_object->table($default);
- }
- }
-
- # Finished storing all the @missings defaults in the input
- # file so far. Get the one for the current property.
- my $missings = $property_info{$property_addr}{'missings'};
-
- # But we likely have separately stored what the default
- # should be. (This is to accommodate versions of the
- # standard where the @missings lines are absent or
- # incomplete.) Hopefully the two will match. But check
- # it out.
- $default_map = $property_object->default_map;
-
- # If the map is a ref, it means that the default won't be
- # processed until later, so undef it, so next few lines
- # will redefine it to something that nothing will match
- undef $default_map if ref $default_map;
-
- # Create a $default_map if don't have one; maybe a dummy
- # that won't match anything.
- if (! defined $default_map) {
-
- # Use any @missings line in the file.
- if (defined $missings) {
- if (ref $missings) {
- $default_map = $missings->full_name;
- $default_table = $missings;
- }
- else {
- $default_map = $missings;
- }
-
- # And store it with the property for outside use.
- $property_object->set_default_map($default_map);
- }
- else {
-
- # Neither an @missings nor a default map. Create
- # a dummy one, so won't have to test definedness
- # in the main loop.
- $default_map = '_Perl This will never be in a file
- from Unicode';
- }
- }
-
- # Here, we have $default_map defined, possibly in terms of
- # $missings, but maybe not, and possibly is a dummy one.
- if (defined $missings) {
-
- # Make sure there is no conflict between the two.
- # $missings has priority.
- if (ref $missings) {
- $default_table
- = $property_object->table($default_map);
- if (! defined $default_table
- || $default_table != $missings)
- {
- if (! defined $default_table) {
- $default_table = $UNDEF;
- }
- $file->carp_bad_line(<<END
-The \@missings line for $property_name in $file says that missings default to
-$missings, but we expect it to be $default_table. $missings used.
-END
- );
- $default_table = $missings;
- $default_map = $missings->full_name;
- }
- $property_info{$property_addr}{'default_table'}
- = $default_table;
- }
- elsif ($default_map ne $missings) {
- $file->carp_bad_line(<<END
-The \@missings line for $property_name in $file says that missings default to
-$missings, but we expect it to be $default_map. $missings used.
-END
- );
- $default_map = $missings;
- }
- }
-
- $property_info{$property_addr}{'default'}
- = $default_map;
-
- # If haven't done so already, find the table corresponding
- # to this map for non-string properties.
- if (! defined $default_table
- && $property_type != $STRING
- && $property_type != $UNKNOWN)
- {
- $default_table = $property_info{$property_addr}
- {'default_table'}
- = $property_object->table($default_map);
- }
- } # End of is first time for this property
- } # End of switching properties.
-
- # Ready to process the line.
- # The Unicode files are set up so that if the map is not defined,
- # it is a binary property with value 'Y'
- if (! defined $map) {
- $map = 'Y';
- }
- else {
-
- # If the map begins with a special command to us (enclosed in
- # delimiters), extract the command(s).
- if (substr($map, 0, 1) eq $CMD_DELIM) {
- while ($map =~ s/ ^ $CMD_DELIM (.*?) $CMD_DELIM //x) {
- my $command = $1;
- if ($command =~ / ^ $REPLACE_CMD= (.*) /x) {
- $replace = $1;
- }
- elsif ($command =~ / ^ $MAP_TYPE_CMD= (.*) /x) {
- $map_type = $1;
- }
- else {
- $file->carp_bad_line("Unknown command line: '$1'");
- next LINE;
- }
- }
- }
- }
-
- if ($default_map eq $CODE_POINT && $map =~ / ^ $code_point_re $/x)
- {
-
- # Here, we have a map to a particular code point, and the
- # default map is to a code point itself. If the range
- # includes the particular code point, change that portion of
- # the range to the default. This makes sure that in the final
- # table only the non-defaults are listed.
- my $decimal_map = hex $map;
- if ($low <= $decimal_map && $decimal_map <= $high) {
-
- # If the range includes stuff before or after the map
- # we're changing, split it and process the split-off parts
- # later.
- if ($low < $decimal_map) {
- $file->insert_adjusted_lines(
- sprintf("%04X..%04X; %s; %s",
- $low,
- $decimal_map - 1,
- $property_name,
- $map));
- }
- if ($high > $decimal_map) {
- $file->insert_adjusted_lines(
- sprintf("%04X..%04X; %s; %s",
- $decimal_map + 1,
- $high,
- $property_name,
- $map));
- }
- $low = $high = $decimal_map;
- $map = $CODE_POINT;
- }
- }
-
- # If we can tell that this is a synonym for the default map, use
- # the default one instead.
- if ($property_type != $STRING
- && $property_type != $UNKNOWN)
- {
- my $table = $property_object->table($map);
- if (defined $table && $table == $default_table) {
- $map = $default_map;
- }
- }
-
- # And figure out the map type if not known.
- if (! defined $map_type || $map_type == $COMPUTE_NO_MULTI_CP) {
- if ($map eq "") { # Nulls are always $NULL map type
- $map_type = $NULL;
- } # Otherwise, non-strings, and those that don't allow
- # $MULTI_CP, and those that aren't multiple code points are
- # 0
- elsif
- (($property_type != $STRING && $property_type != $UNKNOWN)
- || (defined $map_type && $map_type == $COMPUTE_NO_MULTI_CP)
- || $map !~ /^ $code_point_re ( \ $code_point_re )+ $ /x)
- {
- $map_type = 0;
- }
- else {
- $map_type = $MULTI_CP;
- }
- }
-
- $property_object->add_map($low, $high,
- $map,
- Type => $map_type,
- Replace => $replace);
- } # End of loop through file's lines
-
- return;
- }
-}
-
-# XXX Unused until revise charnames;
-#sub check_and_handle_compound_name {
-# This looks at Name properties for parenthesized components and splits
-# them off. Thus it finds FF as an equivalent to Form Feed.
-# my $code_point = shift;
-# my $name = shift;
-# if ($name =~ /^ ( .*? ) ( \s* ) \( ( [^)]* ) \) (.*) $/x) {
-# #local $to_trace = 1 if main::DEBUG;
-# trace $1, $2, $3, $4 if main::DEBUG && $to_trace;
-# push @more_Names, "$code_point; $1";
-# push @more_Names, "$code_point; $3";
-# Carp::my_carp_bug("Expecting blank space before left parenthesis in '$_'. Proceeding and assuming it was there;") if $2 ne " ";
-# Carp::my_carp_bug("Not expecting anything after the right parenthesis in '$_'. Proceeding and ignoring that;") if $4 ne "";
-# }
-# return;
-#}
-
-{ # Closure for UnicodeData.txt handling
-
- # This file was the first one in the UCD; its design leads to some
- # awkwardness in processing. Here is a sample line:
- # 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061;
- # The fields in order are:
- my $i = 0; # The code point is in field 0, and is shifted off.
- my $NAME = $i++; # character name (e.g. "LATIN CAPITAL LETTER A")
- my $CATEGORY = $i++; # category (e.g. "Lu")
- my $CCC = $i++; # Canonical combining class (e.g. "230")
- my $BIDI = $i++; # directional class (e.g. "L")
- my $PERL_DECOMPOSITION = $i++; # decomposition mapping
- my $PERL_DECIMAL_DIGIT = $i++; # decimal digit value
- my $NUMERIC_TYPE_OTHER_DIGIT = $i++; # digit value, like a superscript
- # Dual-use in this program; see below
- my $NUMERIC = $i++; # numeric value
- my $MIRRORED = $i++; # ? mirrored
- my $UNICODE_1_NAME = $i++; # name in Unicode 1.0
- my $COMMENT = $i++; # iso comment
- my $UPPER = $i++; # simple uppercase mapping
- my $LOWER = $i++; # simple lowercase mapping
- my $TITLE = $i++; # simple titlecase mapping
- my $input_field_count = $i;
-
- # This routine in addition outputs these extra fields:
- my $DECOMP_TYPE = $i++; # Decomposition type
- my $DECOMP_MAP = $i++; # Must be last; another decomposition mapping
- my $last_field = $i - 1;
-
- # All these are read into an array for each line, with the indices defined
- # above. The empty fields in the example line above indicate that the
- # value is defaulted. The handler called for each line of the input
- # changes these to their defaults.
-
- # Here are the official names of the properties, in a parallel array:
- my @field_names;
- $field_names[$BIDI] = 'Bidi_Class';
- $field_names[$CATEGORY] = 'General_Category';
- $field_names[$CCC] = 'Canonical_Combining_Class';
- $field_names[$COMMENT] = 'ISO_Comment';
- $field_names[$DECOMP_MAP] = 'Decomposition_Mapping';
- $field_names[$DECOMP_TYPE] = 'Decomposition_Type';
- $field_names[$LOWER] = 'Simple_Lowercase_Mapping';
- $field_names[$MIRRORED] = 'Bidi_Mirrored';
- $field_names[$NAME] = 'Name';
- $field_names[$NUMERIC] = 'Numeric_Value';
- $field_names[$NUMERIC_TYPE_OTHER_DIGIT] = 'Numeric_Type';
- $field_names[$PERL_DECIMAL_DIGIT] = 'Perl_Decimal_Digit';
- $field_names[$PERL_DECOMPOSITION] = 'Perl_Decomposition_Mapping';
- $field_names[$TITLE] = 'Simple_Titlecase_Mapping';
- $field_names[$UNICODE_1_NAME] = 'Unicode_1_Name';
- $field_names[$UPPER] = 'Simple_Uppercase_Mapping';
-
- # Some of these need a little more explanation. The $PERL_DECIMAL_DIGIT
- # field does not lead to an official Unicode property, but is used in
- # calculating the Numeric_Type. Perl however, creates a file from this
- # field, so a Perl property is created from it. Similarly, the Other
- # Digit field is used only for calculating the Numeric_Type, and so it can
- # be safely re-used as the place to store the value for Numeric_Type;
- # hence it is referred to as $NUMERIC_TYPE_OTHER_DIGIT. The input field
- # named $PERL_DECOMPOSITION is a combination of both the decomposition
- # mapping and its type. Perl creates a file containing exactly this
- # field, so it is used for that. The two properties are separated into
- # two extra output fields, $DECOMP_MAP and $DECOMP_TYPE.
-
- # This file is processed like most in this program. Control is passed to
- # process_generic_property_file() which calls filter_UnicodeData_line()
- # for each input line. This filter converts the input into line(s) that
- # process_generic_property_file() understands. There is also a setup
- # routine called before any of the file is processed, and a handler for
- # EOF processing, all in this closure.
-
- # A huge speed-up occurred at the cost of some added complexity when these
- # routines were altered to buffer the outputs into ranges. Almost all the
- # lines of the input file apply to just one code point, and for most
- # properties, the map for the next code point up is the same as the
- # current one. So instead of creating a line for each property for each
- # input line, filter_UnicodeData_line() remembers what the previous map
- # of a property was, and doesn't generate a line to pass on until it has
- # to, as when the map changes; and that passed-on line encompasses the
- # whole contiguous range of code points that have the same map for that
- # property. This means a slight amount of extra setup, and having to
- # flush these buffers on EOF, testing if the maps have changed, plus
- # remembering state information in the closure. But it means a lot less
- # real time in not having to change the data base for each property on
- # each line.
-
- # Another complication is that there are already a few ranges designated
- # in the input. There are two lines for each, with the same maps except
- # the code point and name on each line. This was actually the hardest
- # thing to design around. The code points in those ranges may actually
- # have real maps not given by these two lines. These maps will either
- # be algorthimically determinable, or in the extracted files furnished
- # with the UCD. In the event of conflicts between these extracted files,
- # and this one, Unicode says that this one prevails. But it shouldn't
- # prevail for conflicts that occur in these ranges. The data from the
- # extracted files prevails in those cases. So, this program is structured
- # so that those files are processed first, storing maps. Then the other
- # files are processed, generally overwriting what the extracted files
- # stored. But just the range lines in this input file are processed
- # without overwriting. This is accomplished by adding a special string to
- # the lines output to tell process_generic_property_file() to turn off the
- # overwriting for just this one line.
- # A similar mechanism is used to tell it that the map is of a non-default
- # type.
-
- sub setup_UnicodeData { # Called before any lines of the input are read
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $Perl_decomp = Property->new('Perl_Decomposition_Mapping',
- Directory => File::Spec->curdir(),
- File => 'Decomposition',
- Format => $STRING_FORMAT,
- Internal_Only_Warning => 1,
- Perl_Extension => 1,
- Default_Map => $CODE_POINT,
-
- # normalize.pm can't cope with these
- Output_Range_Counts => 0,
-
- # This is a specially formatted table
- # explicitly for normalize.pm, which
- # is expecting a particular format,
- # which means that mappings containing
- # multiple code points are in the main
- # body of the table
- Map_Type => $COMPUTE_NO_MULTI_CP,
- Type => $STRING,
- );
- $Perl_decomp->add_comment(join_lines(<<END
-This mapping is a combination of the Unicode 'Decomposition_Type' and
-'Decomposition_Mapping' properties, formatted for use by normalize.pm. It is
-identical to the official Unicode 'Decomposition_Mapping' property except for
-two things:
- 1) It omits the algorithmically determinable Hangul syllable decompositions,
-which normalize.pm handles algorithmically.
- 2) It contains the decomposition type as well. Non-canonical decompositions
-begin with a word in angle brackets, like <super>, which denotes the
-compatible decomposition type. If the map does not begin with the <angle
-brackets>, the decomposition is canonical.
-END
- ));
-
- my $Decimal_Digit = Property->new("Perl_Decimal_Digit",
- Default_Map => "",
- Perl_Extension => 1,
- File => 'Digit', # Trad. location
- Directory => $map_directory,
- Type => $STRING,
- Range_Size_1 => 1,
- );
- $Decimal_Digit->add_comment(join_lines(<<END
-This file gives the mapping of all code points which represent a single
-decimal digit [0-9] to their respective digits. For example, the code point
-U+0031 (an ASCII '1') is mapped to a numeric 1. These code points are those
-that have Numeric_Type=Decimal; not special things, like subscripts nor Roman
-numerals.
-END
- ));
-
- # This property is not used for generating anything else, and is
- # usually not output. By making it last in the list, we can just
- # change the high end of the loop downwards to avoid the work of
- # generating a table that is just going to get thrown away.
- if (! property_ref('Decomposition_Mapping')->to_output_map) {
- $last_field--;
- }
- return;
- }
-
- my $first_time = 1; # ? Is this the first line of the file
- my $in_range = 0; # ? Are we in one of the file's ranges
- my $previous_cp; # hex code point of previous line
- my $decimal_previous_cp = -1; # And its decimal equivalent
- my @start; # For each field, the current starting
- # code point in hex for the range
- # being accumulated.
- my @fields; # The input fields;
- my @previous_fields; # And those from the previous call
-
- sub filter_UnicodeData_line {
- # Handle a single input line from UnicodeData.txt; see comments above
- # Conceptually this takes a single line from the file containing N
- # properties, and converts it into N lines with one property per line,
- # which is what the final handler expects. But there are
- # complications due to the quirkiness of the input file, and to save
- # time, it accumulates ranges where the property values don't change
- # and only emits lines when necessary. This is about an order of
- # magnitude fewer lines emitted.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # $_ contains the input line.
- # -1 in split means retain trailing null fields
- (my $cp, @fields) = split /\s*;\s*/, $_, -1;
-
- #local $to_trace = 1 if main::DEBUG;
- trace $cp, @fields , $input_field_count if main::DEBUG && $to_trace;
- if (@fields > $input_field_count) {
- $file->carp_bad_line('Extra fields');
- $_ = "";
- return;
- }
-
- my $decimal_cp = hex $cp;
-
- # We have to output all the buffered ranges when the next code point
- # is not exactly one after the previous one, which means there is a
- # gap in the ranges.
- my $force_output = ($decimal_cp != $decimal_previous_cp + 1);
-
- # The decomposition mapping field requires special handling. It looks
- # like either:
- #
- # <compat> 0032 0020
- # 0041 0300
- #
- # The decomposition type is enclosed in <brackets>; if missing, it
- # means the type is canonical. There are two decomposition mapping
- # tables: the one for use by Perl's normalize.pm has a special format
- # which is this field intact; the other, for general use is of
- # standard format. In either case we have to find the decomposition
- # type. Empty fields have None as their type, and map to the code
- # point itself
- if ($fields[$PERL_DECOMPOSITION] eq "") {
- $fields[$DECOMP_TYPE] = 'None';
- $fields[$DECOMP_MAP] = $fields[$PERL_DECOMPOSITION] = $CODE_POINT;
- }
- else {
- ($fields[$DECOMP_TYPE], my $map) = $fields[$PERL_DECOMPOSITION]
- =~ / < ( .+? ) > \s* ( .+ ) /x;
- if (! defined $fields[$DECOMP_TYPE]) {
- $fields[$DECOMP_TYPE] = 'Canonical';
- $fields[$DECOMP_MAP] = $fields[$PERL_DECOMPOSITION];
- }
- else {
- $fields[$DECOMP_MAP] = $map;
- }
- }
-
- # The 3 numeric fields also require special handling. The 2 digit
- # fields must be either empty or match the number field. This means
- # that if it is empty, they must be as well, and the numeric type is
- # None, and the numeric value is 'Nan'.
- # The decimal digit field must be empty or match the other digit
- # field. If the decimal digit field is non-empty, the code point is
- # a decimal digit, and the other two fields will have the same value.
- # If it is empty, but the other digit field is non-empty, the code
- # point is an 'other digit', and the number field will have the same
- # value as the other digit field. If the other digit field is empty,
- # but the number field is non-empty, the code point is a generic
- # numeric type.
- if ($fields[$NUMERIC] eq "") {
- if ($fields[$PERL_DECIMAL_DIGIT] ne ""
- || $fields[$NUMERIC_TYPE_OTHER_DIGIT] ne ""
- ) {
- $file->carp_bad_line("Numeric values inconsistent. Trying to process anyway");
- }
- $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'None';
- $fields[$NUMERIC] = 'NaN';
- }
- else {
- $file->carp_bad_line("'$fields[$NUMERIC]' should be a whole or rational number. Processing as if it were") if $fields[$NUMERIC] !~ qr{ ^ -? \d+ ( / \d+ )? $ }x;
- if ($fields[$PERL_DECIMAL_DIGIT] ne "") {
- $file->carp_bad_line("$fields[$PERL_DECIMAL_DIGIT] should equal $fields[$NUMERIC]. Processing anyway") if $fields[$PERL_DECIMAL_DIGIT] != $fields[$NUMERIC];
- $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'Decimal';
- }
- elsif ($fields[$NUMERIC_TYPE_OTHER_DIGIT] ne "") {
- $file->carp_bad_line("$fields[$NUMERIC_TYPE_OTHER_DIGIT] should equal $fields[$NUMERIC]. Processing anyway") if $fields[$NUMERIC_TYPE_OTHER_DIGIT] != $fields[$NUMERIC];
- $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'Digit';
- }
- else {
- $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'Numeric';
-
- # Rationals require extra effort.
- register_fraction($fields[$NUMERIC])
- if $fields[$NUMERIC] =~ qr{/};
- }
- }
-
- # For the properties that have empty fields in the file, and which
- # mean something different from empty, change them to that default.
- # Certain fields just haven't been empty so far in any Unicode
- # version, so don't look at those, namely $MIRRORED, $BIDI, $CCC,
- # $CATEGORY. This leaves just the two fields, and so we hard-code in
- # the defaults; which are verly unlikely to ever change.
- $fields[$UPPER] = $CODE_POINT if $fields[$UPPER] eq "";
- $fields[$LOWER] = $CODE_POINT if $fields[$LOWER] eq "";
-
- # UAX44 says that if title is empty, it is the same as whatever upper
- # is,
- $fields[$TITLE] = $fields[$UPPER] if $fields[$TITLE] eq "";
-
- # There are a few pairs of lines like:
- # AC00;<Hangul Syllable, First>;Lo;0;L;;;;;N;;;;;
- # D7A3;<Hangul Syllable, Last>;Lo;0;L;;;;;N;;;;;
- # that define ranges. These should be processed after the fields are
- # adjusted above, as they may override some of them; but mostly what
- # is left is to possibly adjust the $NAME field. The names of all the
- # paired lines start with a '<', but this is also true of '<control>,
- # which isn't one of these special ones.
- if ($fields[$NAME] eq '<control>') {
-
- # Some code points in this file have the pseudo-name
- # '<control>', but the official name for such ones is the null
- # string.
- $fields[$NAME] = "";
-
- # We had better not be in between range lines.
- if ($in_range) {
- $file->carp_bad_line("Expecting a closing range line, not a $fields[$NAME]'. Trying anyway");
- $in_range = 0;
- }
- }
- elsif (substr($fields[$NAME], 0, 1) ne '<') {
-
- # Here is a non-range line. We had better not be in between range
- # lines.
- if ($in_range) {
- $file->carp_bad_line("Expecting a closing range line, not a $fields[$NAME]'. Trying anyway");
- $in_range = 0;
- }
- # XXX until charnames catches up.
-# if ($fields[$NAME] =~ s/- $cp $//x) {
-#
-# # These are code points whose names end in their code points,
-# # which means the names are algorithmically derivable from the
-# # code points. To shorten the output Name file, the algorithm
-# # for deriving these is placed in the file instead of each
-# # code point, so they have map type $CP_IN_NAME
-# $fields[$NAME] = $CMD_DELIM
-# . $MAP_TYPE_CMD
-# . '='
-# . $CP_IN_NAME
-# . $CMD_DELIM
-# . $fields[$NAME];
-# }
-
- # Some official names are really two alternate names with one in
- # parentheses. What we do here is use the full official one for
- # the standard property (stored just above), but for the charnames
- # table, we add two more entries, one for each of the alternate
- # ones.
- # elsif name ne ""
- #check_and_handle_compound_name($cp, $fields[$NAME]);
- #check_and_handle_compound_name($cp, $unicode_1_name);
- # XXX until charnames catches up.
- }
- elsif ($fields[$NAME] =~ /^<(.+), First>$/) {
- $fields[$NAME] = $1;
-
- # Here we are at the beginning of a range pair.
- if ($in_range) {
- $file->carp_bad_line("Expecting a closing range line, not a beginning one, $fields[$NAME]'. Trying anyway");
- }
- $in_range = 1;
-
- # Because the properties in the range do not overwrite any already
- # in the db, we must flush the buffers of what's already there, so
- # they get handled in the normal scheme.
- $force_output = 1;
-
- }
- elsif ($fields[$NAME] !~ s/^<(.+), Last>$/$1/) {
- $file->carp_bad_line("Unexpected name starting with '<' $fields[$NAME]. Ignoring this line.");
- $_ = "";
- return;
- }
- else { # Here, we are at the last line of a range pair.
-
- if (! $in_range) {
- $file->carp_bad_line("Unexpected end of range $fields[$NAME] when not in one. Ignoring this line.");
- $_ = "";
- return;
- }
- $in_range = 0;
-
- # Check that the input is valid: that the closing of the range is
- # the same as the beginning.
- foreach my $i (0 .. $last_field) {
- next if $fields[$i] eq $previous_fields[$i];
- $file->carp_bad_line("Expecting '$fields[$i]' to be the same as '$previous_fields[$i]'. Bad News. Trying anyway");
- }
-
- # The processing differs depending on the type of range,
- # determined by its $NAME
- if ($fields[$NAME] =~ /^Hangul Syllable/) {
-
- # Check that the data looks right.
- if ($decimal_previous_cp != $SBase) {
- $file->carp_bad_line("Unexpected Hangul syllable start = $previous_cp. Bad News. Results will be wrong");
- }
- if ($decimal_cp != $SBase + $SCount - 1) {
- $file->carp_bad_line("Unexpected Hangul syllable end = $cp. Bad News. Results will be wrong");
- }
-
- # The Hangul syllable range has a somewhat complicated name
- # generation algorithm. Each code point in it has a canonical
- # decomposition also computable by an algorithm. The
- # perl decomposition map table built from these is used only
- # by normalize.pm, which has the algorithm built in it, so the
- # decomposition maps are not needed, and are large, so are
- # omitted from it. If the full decomposition map table is to
- # be output, the decompositions are generated for it, in the
- # EOF handling code for this input file.
-
- $previous_fields[$DECOMP_TYPE] = 'Canonical';
-
- # This range is stored in our internal structure with its
- # own map type, different from all others.
- $previous_fields[$NAME] = $CMD_DELIM
- . $MAP_TYPE_CMD
- . '='
- . $HANGUL_SYLLABLE
- . $CMD_DELIM
- . $fields[$NAME];
- }
- elsif ($fields[$NAME] =~ /^CJK/) {
-
- # The name for these contains the code point itself, and all
- # are defined to have the same base name, regardless of what
- # is in the file. They are stored in our internal structure
- # with a map type of $CP_IN_NAME
- $previous_fields[$NAME] = $CMD_DELIM
- . $MAP_TYPE_CMD
- . '='
- . $CP_IN_NAME
- . $CMD_DELIM
- . 'CJK UNIFIED IDEOGRAPH';
-
- }
- elsif ($fields[$CATEGORY] eq 'Co'
- || $fields[$CATEGORY] eq 'Cs')
- {
- # The names of all the code points in these ranges are set to
- # null, as there are no names for the private use and
- # surrogate code points.
-
- $previous_fields[$NAME] = "";
- }
- else {
- $file->carp_bad_line("Unexpected code point range $fields[$NAME] because category is $fields[$CATEGORY]. Attempting to process it.");
- }
-
- # The first line of the range caused everything else to be output,
- # and then its values were stored as the beginning values for the
- # next set of ranges, which this one ends. Now, for each value,
- # add a command to tell the handler that these values should not
- # replace any existing ones in our database.
- foreach my $i (0 .. $last_field) {
- $previous_fields[$i] = $CMD_DELIM
- . $REPLACE_CMD
- . '='
- . $NO
- . $CMD_DELIM
- . $previous_fields[$i];
- }
-
- # And change things so it looks like the entire range has been
- # gone through with this being the final part of it. Adding the
- # command above to each field will cause this range to be flushed
- # during the next iteration, as it guaranteed that the stored
- # field won't match whatever value the next one has.
- $previous_cp = $cp;
- $decimal_previous_cp = $decimal_cp;
-
- # We are now set up for the next iteration; so skip the remaining
- # code in this subroutine that does the same thing, but doesn't
- # know about these ranges.
- $_ = "";
- return;
- }
-
- # On the very first line, we fake it so the code below thinks there is
- # nothing to output, and initialize so that when it does get output it
- # uses the first line's values for the lowest part of the range.
- # (One could avoid this by using peek(), but then one would need to
- # know the adjustments done above and do the same ones in the setup
- # routine; not worth it)
- if ($first_time) {
- $first_time = 0;
- @previous_fields = @fields;
- @start = ($cp) x scalar @fields;
- $decimal_previous_cp = $decimal_cp - 1;
- }
-
- # For each field, output the stored up ranges that this code point
- # doesn't fit in. Earlier we figured out if all ranges should be
- # terminated because of changing the replace or map type styles, or if
- # there is a gap between this new code point and the previous one, and
- # that is stored in $force_output. But even if those aren't true, we
- # need to output the range if this new code point's value for the
- # given property doesn't match the stored range's.
- #local $to_trace = 1 if main::DEBUG;
- foreach my $i (0 .. $last_field) {
- my $field = $fields[$i];
- if ($force_output || $field ne $previous_fields[$i]) {
-
- # Flush the buffer of stored values.
- $file->insert_adjusted_lines("$start[$i]..$previous_cp; $field_names[$i]; $previous_fields[$i]");
-
- # Start a new range with this code point and its value
- $start[$i] = $cp;
- $previous_fields[$i] = $field;
- }
- }
-
- # Set the values for the next time.
- $previous_cp = $cp;
- $decimal_previous_cp = $decimal_cp;
-
- # The input line has generated whatever adjusted lines are needed, and
- # should not be looked at further.
- $_ = "";
- return;
- }
-
- sub EOF_UnicodeData {
- # Called upon EOF to flush the buffers, and create the Hangul
- # decomposition mappings if needed.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Flush the buffers.
- foreach my $i (1 .. $last_field) {
- $file->insert_adjusted_lines("$start[$i]..$previous_cp; $field_names[$i]; $previous_fields[$i]");
- }
-
- if (-e 'Jamo.txt') {
-
- # The algorithm is published by Unicode, based on values in
- # Jamo.txt, (which should have been processed before this
- # subroutine), and the results left in %Jamo
- unless (%Jamo) {
- Carp::my_carp_bug("Jamo.txt should be processed before Unicode.txt. Hangul syllables not generated.");
- return;
- }
-
- # If the full decomposition map table is being output, insert
- # into it the Hangul syllable mappings. This is to avoid having
- # to publish a subroutine in it to compute them. (which would
- # essentially be this code.) This uses the algorithm published by
- # Unicode.
- if (property_ref('Decomposition_Mapping')->to_output_map) {
- for (my $S = $SBase; $S < $SBase + $SCount; $S++) {
- use integer;
- my $SIndex = $S - $SBase;
- my $L = $LBase + $SIndex / $NCount;
- my $V = $VBase + ($SIndex % $NCount) / $TCount;
- my $T = $TBase + $SIndex % $TCount;
-
- trace "L=$L, V=$V, T=$T" if main::DEBUG && $to_trace;
- my $decomposition = sprintf("%04X %04X", $L, $V);
- $decomposition .= sprintf(" %04X", $T) if $T != $TBase;
- $file->insert_adjusted_lines(
- sprintf("%04X; Decomposition_Mapping; %s",
- $S,
- $decomposition));
- }
- }
- }
-
- return;
- }
-
- sub filter_v1_ucd {
- # Fix UCD lines in version 1. This is probably overkill, but this
- # fixes some glaring errors in Version 1 UnicodeData.txt. That file:
- # 1) had many Hangul (U+3400 - U+4DFF) code points that were later
- # removed. This program retains them
- # 2) didn't include ranges, which it should have, and which are now
- # added in @corrected_lines below. It was hand populated by
- # taking the data from Version 2, verified by analyzing
- # DAge.txt.
- # 3) There is a syntax error in the entry for U+09F8 which could
- # cause problems for utf8_heavy, and so is changed. It's
- # numeric value was simply a minus sign, without any number.
- # (Eventually Unicode changed the code point to non-numeric.)
- # 4) The decomposition types often don't match later versions
- # exactly, and the whole syntax of that field is different; so
- # the syntax is changed as well as the types to their later
- # terminology. Otherwise normalize.pm would be very unhappy
- # 5) Many ccc classes are different. These are left intact.
- # 6) U+FF10 - U+FF19 are missing their numeric values in all three
- # fields. These are unchanged because it doesn't really cause
- # problems for Perl.
- # 7) A number of code points, such as controls, don't have their
- # Unicode Version 1 Names in this file. These are unchanged.
-
- my @corrected_lines = split /\n/, <<'END';
-4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
-9FA5;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
-E000;<Private Use, First>;Co;0;L;;;;;N;;;;;
-F8FF;<Private Use, Last>;Co;0;L;;;;;N;;;;;
-F900;<CJK Compatibility Ideograph, First>;Lo;0;L;;;;;N;;;;;
-FA2D;<CJK Compatibility Ideograph, Last>;Lo;0;L;;;;;N;;;;;
-END
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- #local $to_trace = 1 if main::DEBUG;
- trace $_ if main::DEBUG && $to_trace;
-
- # -1 => retain trailing null fields
- my ($code_point, @fields) = split /\s*;\s*/, $_, -1;
-
- # At the first place that is wrong in the input, insert all the
- # corrections, replacing the wrong line.
- if ($code_point eq '4E00') {
- my @copy = @corrected_lines;
- $_ = shift @copy;
- ($code_point, @fields) = split /\s*;\s*/, $_, -1;
-
- $file->insert_lines(@copy);
- }
-
-
- if ($fields[$NUMERIC] eq '-') {
- $fields[$NUMERIC] = '-1'; # This is what 2.0 made it.
- }
-
- if ($fields[$PERL_DECOMPOSITION] ne "") {
-
- # Several entries have this change to superscript 2 or 3 in the
- # middle. Convert these to the modern version, which is to use
- # the actual U+00B2 and U+00B3 (the superscript forms) instead.
- # So 'HHHH HHHH <+sup> 0033 <-sup> HHHH' becomes
- # 'HHHH HHHH 00B3 HHHH'.
- # It turns out that all of these that don't have another
- # decomposition defined at the beginning of the line have the
- # <square> decomposition in later releases.
- if ($code_point ne '00B2' && $code_point ne '00B3') {
- if ($fields[$PERL_DECOMPOSITION]
- =~ s/<\+sup> 003([23]) <-sup>/00B$1/)
- {
- if (substr($fields[$PERL_DECOMPOSITION], 0, 1) ne '<') {
- $fields[$PERL_DECOMPOSITION] = '<square> '
- . $fields[$PERL_DECOMPOSITION];
- }
- }
- }
-
- # If is like '<+circled> 0052 <-circled>', convert to
- # '<circled> 0052'
- $fields[$PERL_DECOMPOSITION] =~
- s/ < \+ ( .*? ) > \s* (.*?) \s* <-\1> /<$1> $2/x;
-
- # Convert '<join> HHHH HHHH <join>' to '<medial> HHHH HHHH', etc.
- $fields[$PERL_DECOMPOSITION] =~
- s/ <join> \s* (.*?) \s* <no-join> /<final> $1/x
- or $fields[$PERL_DECOMPOSITION] =~
- s/ <join> \s* (.*?) \s* <join> /<medial> $1/x
- or $fields[$PERL_DECOMPOSITION] =~
- s/ <no-join> \s* (.*?) \s* <join> /<initial> $1/x
- or $fields[$PERL_DECOMPOSITION] =~
- s/ <no-join> \s* (.*?) \s* <no-join> /<isolated> $1/x;
-
- # Convert '<break> HHHH HHHH <break>' to '<break> HHHH', etc.
- $fields[$PERL_DECOMPOSITION] =~
- s/ <(break|no-break)> \s* (.*?) \s* <\1> /<$1> $2/x;
-
- # Change names to modern form.
- $fields[$PERL_DECOMPOSITION] =~ s/<font variant>/<font>/g;
- $fields[$PERL_DECOMPOSITION] =~ s/<no-break>/<noBreak>/g;
- $fields[$PERL_DECOMPOSITION] =~ s/<circled>/<circle>/g;
- $fields[$PERL_DECOMPOSITION] =~ s/<break>/<fraction>/g;
-
- # One entry has weird braces
- $fields[$PERL_DECOMPOSITION] =~ s/[{}]//g;
- }
-
- $_ = join ';', $code_point, @fields;
- trace $_ if main::DEBUG && $to_trace;
- return;
- }
-
- sub filter_v2_1_5_ucd {
- # A dozen entries in this 2.1.5 file had the mirrored and numeric
- # columns swapped; These all had mirrored be 'N'. So if the numeric
- # column appears to be N, swap it back.
-
- my ($code_point, @fields) = split /\s*;\s*/, $_, -1;
- if ($fields[$NUMERIC] eq 'N') {
- $fields[$NUMERIC] = $fields[$MIRRORED];
- $fields[$MIRRORED] = 'N';
- $_ = join ';', $code_point, @fields;
- }
- return;
- }
-} # End closure for UnicodeData
-
-sub process_GCB_test {
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- while ($file->next_line) {
- push @backslash_X_tests, $_;
- }
-
- return;
-}
-
-sub process_NamedSequences {
- # NamedSequences.txt entries are just added to an array. Because these
- # don't look like the other tables, they have their own handler.
- # An example:
- # LATIN CAPITAL LETTER A WITH MACRON AND GRAVE;0100 0300
- #
- # This just adds the sequence to an array for later handling
-
- return; # XXX Until charnames catches up
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- while ($file->next_line) {
- my ($name, $sequence, @remainder) = split /\s*;\s*/, $_, -1;
- if (@remainder) {
- $file->carp_bad_line(
- "Doesn't look like 'KHMER VOWEL SIGN OM;17BB 17C6'");
- next;
- }
- push @named_sequences, "$sequence\t\t$name";
- }
- return;
-}
-
-{ # Closure
-
- my $first_range;
-
- sub filter_early_ea_lb {
- # Fixes early EastAsianWidth.txt and LineBreak.txt files. These had a
- # third field be the name of the code point, which can be ignored in
- # most cases. But it can be meaningful if it marks a range:
- # 33FE;W;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
- # 3400;W;<CJK Ideograph Extension A, First>
- #
- # We need to see the First in the example above to know it's a range.
- # They did not use the later range syntaxes. This routine changes it
- # to use the modern syntax.
- # $1 is the Input_file object.
-
- my @fields = split /\s*;\s*/;
- if ($fields[2] =~ /^<.*, First>/) {
- $first_range = $fields[0];
- $_ = "";
- }
- elsif ($fields[2] =~ /^<.*, Last>/) {
- $_ = $_ = "$first_range..$fields[0]; $fields[1]";
- }
- else {
- undef $first_range;
- $_ = "$fields[0]; $fields[1]";
- }
-
- return;
- }
-}
-
-sub filter_old_style_arabic_shaping {
- # Early versions used a different term for the later one.
-
- my @fields = split /\s*;\s*/;
- $fields[3] =~ s/<no shaping>/No_Joining_Group/;
- $fields[3] =~ s/\s+/_/g; # Change spaces to underscores
- $_ = join ';', @fields;
- return;
-}
-
-sub filter_arabic_shaping_line {
- # ArabicShaping.txt has entries that look like:
- # 062A; TEH; D; BEH
- # The field containing 'TEH' is not used. The next field is Joining_Type
- # and the last is Joining_Group
- # This generates two lines to pass on, one for each property on the input
- # line.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my @fields = split /\s*;\s*/, $_, -1; # -1 => retain trailing null fields
-
- if (@fields > 4) {
- $file->carp_bad_line('Extra fields');
- $_ = "";
- return;
- }
-
- $file->insert_adjusted_lines("$fields[0]; Joining_Group; $fields[3]");
- $_ = "$fields[0]; Joining_Type; $fields[2]";
-
- return;
-}
-
-sub setup_special_casing {
- # SpecialCasing.txt contains the non-simple case change mappings. The
- # simple ones are in UnicodeData.txt, and should already have been read
- # in.
- # This routine initializes the full mappings to the simple, then as each
- # line is processed, it overrides the simple ones.
-
- my $file= shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # For each of the case change mappings...
- foreach my $case ('lc', 'tc', 'uc') {
-
- # The simple version's name in each mapping merely has an 's' in front
- # of the full one's
- my $simple = property_ref('s' . $case);
- unless (defined $simple && ! $simple->is_empty) {
- Carp::my_carp_bug("Need to process UnicodeData before SpecialCasing. Only special casing will be generated.");
- }
-
- # Initialize the full case mappings with the simple ones.
- property_ref($case)->initialize($simple);
- }
-
- return;
-}
-
-sub filter_special_casing_line {
- # Change the format of $_ from SpecialCasing.txt into something that the
- # generic handler understands. Each input line contains three case
- # mappings. This will generate three lines to pass to the generic handler
- # for each of those.
-
- # The input syntax (after stripping comments and trailing white space is
- # like one of the following (with the final two being entries that we
- # ignore):
- # 00DF; 00DF; 0053 0073; 0053 0053; # LATIN SMALL LETTER SHARP S
- # 03A3; 03C2; 03A3; 03A3; Final_Sigma;
- # 0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE
- # Note the trailing semi-colon, unlike many of the input files. That
- # means that there will be an extra null field generated by the split
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my @fields = split /\s*;\s*/, $_, -1; # -1 => retain trailing null fields
-
- # field #4 is when this mapping is conditional. If any of these get
- # implemented, it would be by hard-coding in the casing functions in the
- # Perl core, not through tables. But if there is a new condition we don't
- # know about, output a warning. We know about all the conditions through
- # 5.2
- if ($fields[4] ne "") {
- my @conditions = split ' ', $fields[4];
- if ($conditions[0] ne 'tr' # We know that these languages have
- # conditions, and some are multiple
- && $conditions[0] ne 'az'
- && $conditions[0] ne 'lt'
-
- # And, we know about a single condition Final_Sigma, but
- # nothing else.
- && ($v_version gt v5.2.0
- && (@conditions > 1 || $conditions[0] ne 'Final_Sigma')))
- {
- $file->carp_bad_line("Unknown condition '$fields[4]'. You should inspect it and either add code to handle it, or add to list of those that are to ignore");
- }
- elsif ($conditions[0] ne 'Final_Sigma') {
-
- # Don't print out a message for Final_Sigma, because we have
- # hard-coded handling for it. (But the standard could change
- # what the rule should be, but it wouldn't show up here
- # anyway.
-
- print "# SKIPPING Special Casing: $_\n"
- if $verbosity >= $VERBOSE;
- }
- $_ = "";
- return;
- }
- elsif (@fields > 6 || (@fields == 6 && $fields[5] ne "" )) {
- $file->carp_bad_line('Extra fields');
- $_ = "";
- return;
- }
-
- $_ = "$fields[0]; lc; $fields[1]";
- $file->insert_adjusted_lines("$fields[0]; tc; $fields[2]");
- $file->insert_adjusted_lines("$fields[0]; uc; $fields[3]");
-
- return;
-}
-
-sub filter_old_style_case_folding {
- # This transforms $_ containing the case folding style of 3.0.1, to 3.1
- # and later style. Different letters were used in the earlier.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my @fields = split /\s*;\s*/;
- if ($fields[0] =~ /^ 013 [01] $/x) { # The two turkish fields
- $fields[1] = 'I';
- }
- elsif ($fields[1] eq 'L') {
- $fields[1] = 'C'; # L => C always
- }
- elsif ($fields[1] eq 'E') {
- if ($fields[2] =~ / /) { # E => C if one code point; F otherwise
- $fields[1] = 'F'
- }
- else {
- $fields[1] = 'C'
- }
- }
- else {
- $file->carp_bad_line("Expecting L or E in second field");
- $_ = "";
- return;
- }
- $_ = join("; ", @fields) . ';';
- return;
-}
-
-{ # Closure for case folding
-
- # Create the map for simple only if are going to output it, for otherwise
- # it takes no part in anything we do.
- my $to_output_simple;
-
- # These are experimental, perhaps will need these to pass to regcomp.c to
- # handle the cases where for example the Kelvin sign character folds to k,
- # and in regcomp, we need to know which of the characters can have a
- # non-latin1 char fold to it, so it doesn't do the optimizations it might
- # otherwise.
- my @latin1_singly_folded;
- my @latin1_folded;
-
- sub setup_case_folding($) {
- # Read in the case foldings in CaseFolding.txt. This handles both
- # simple and full case folding.
-
- $to_output_simple
- = property_ref('Simple_Case_Folding')->to_output_map;
-
- return;
- }
-
- sub filter_case_folding_line {
- # Called for each line in CaseFolding.txt
- # Input lines look like:
- # 0041; C; 0061; # LATIN CAPITAL LETTER A
- # 00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S
- # 1E9E; S; 00DF; # LATIN CAPITAL LETTER SHARP S
- #
- # 'C' means that folding is the same for both simple and full
- # 'F' that it is only for full folding
- # 'S' that it is only for simple folding
- # 'T' is locale-dependent, and ignored
- # 'I' is a type of 'F' used in some early releases.
- # Note the trailing semi-colon, unlike many of the input files. That
- # means that there will be an extra null field generated by the split
- # below, which we ignore and hence is not an error.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my ($range, $type, $map, @remainder) = split /\s*;\s*/, $_, -1;
- if (@remainder > 1 || (@remainder == 1 && $remainder[0] ne "" )) {
- $file->carp_bad_line('Extra fields');
- $_ = "";
- return;
- }
-
- if ($type eq 'T') { # Skip Turkic case folding, is locale dependent
- $_ = "";
- return;
- }
-
- # C: complete, F: full, or I: dotted uppercase I -> dotless lowercase
- # I are all full foldings
- if ($type eq 'C' || $type eq 'F' || $type eq 'I') {
- $_ = "$range; Case_Folding; $map";
- }
- else {
- $_ = "";
- if ($type ne 'S') {
- $file->carp_bad_line('Expecting C F I S or T in second field');
- return;
- }
- }
-
- # C and S are simple foldings, but simple case folding is not needed
- # unless we explicitly want its map table output.
- if ($to_output_simple && $type eq 'C' || $type eq 'S') {
- $file->insert_adjusted_lines("$range; Simple_Case_Folding; $map");
- }
-
- # Experimental, see comment above
- if ($type ne 'S' && hex($range) >= 256) { # assumes range is 1 point
- my @folded = split ' ', $map;
- if (hex $folded[0] < 256 && @folded == 1) {
- push @latin1_singly_folded, hex $folded[0];
- }
- foreach my $folded (@folded) {
- push @latin1_folded, hex $folded if hex $folded < 256;
- }
- }
-
- return;
- }
-
- sub post_fold {
- # Experimental, see comment above
- return;
-
- #local $to_trace = 1 if main::DEBUG;
- @latin1_singly_folded = uniques(@latin1_singly_folded);
- @latin1_folded = uniques(@latin1_folded);
- trace "latin1 single folded:", map { chr $_ } sort { $a <=> $b } @latin1_singly_folded if main::DEBUG && $to_trace;
- trace "latin1 folded:", map { chr $_ } sort { $a <=> $b } @latin1_folded if main::DEBUG && $to_trace;
- return;
- }
-} # End case fold closure
-
-sub filter_jamo_line {
- # Filter Jamo.txt lines. This routine mainly is used to populate hashes
- # from this file that is used in generating the Name property for Jamo
- # code points. But, it also is used to convert early versions' syntax
- # into the modern form. Here are two examples:
- # 1100; G # HANGUL CHOSEONG KIYEOK # Modern syntax
- # U+1100; G; HANGUL CHOSEONG KIYEOK # 2.0 syntax
- #
- # The input is $_, the output is $_ filtered.
-
- my @fields = split /\s*;\s*/, $_, -1; # -1 => retain trailing null fields
-
- # Let the caller handle unexpected input. In earlier versions, there was
- # a third field which is supposed to be a comment, but did not have a '#'
- # before it.
- return if @fields > (($v_version gt v3.0.0) ? 2 : 3);
-
- $fields[0] =~ s/^U\+//; # Also, early versions had this extraneous
- # beginning.
-
- # Some 2.1 versions had this wrong. Causes havoc with the algorithm.
- $fields[1] = 'R' if $fields[0] eq '1105';
-
- # Add to structure so can generate Names from it.
- my $cp = hex $fields[0];
- my $short_name = $fields[1];
- $Jamo{$cp} = $short_name;
- if ($cp <= $LBase + $LCount) {
- $Jamo_L{$short_name} = $cp - $LBase;
- }
- elsif ($cp <= $VBase + $VCount) {
- $Jamo_V{$short_name} = $cp - $VBase;
- }
- elsif ($cp <= $TBase + $TCount) {
- $Jamo_T{$short_name} = $cp - $TBase;
- }
- else {
- Carp::my_carp_bug("Unexpected Jamo code point in $_");
- }
-
-
- # Reassemble using just the first two fields to look like a typical
- # property file line
- $_ = "$fields[0]; $fields[1]";
-
- return;
-}
-
-sub register_fraction($) {
- # This registers the input rational number so that it can be passed on to
- # utf8_heavy.pl, both in rational and floating forms.
-
- my $rational = shift;
-
- my $float = eval $rational;
- $nv_floating_to_rational{$float} = $rational;
- return;
-}
-
-sub filter_numeric_value_line {
- # DNumValues contains lines of a different syntax than the typical
- # property file:
- # 0F33 ; -0.5 ; ; -1/2 # No TIBETAN DIGIT HALF ZERO
- #
- # This routine transforms $_ containing the anomalous syntax to the
- # typical, by filtering out the extra columns, and convert early version
- # decimal numbers to strings that look like rational numbers.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Starting in 5.1, there is a rational field. Just use that, omitting the
- # extra columns. Otherwise convert the decimal number in the second field
- # to a rational, and omit extraneous columns.
- my @fields = split /\s*;\s*/, $_, -1;
- my $rational;
-
- if ($v_version ge v5.1.0) {
- if (@fields != 4) {
- $file->carp_bad_line('Not 4 semi-colon separated fields');
- $_ = "";
- return;
- }
- $rational = $fields[3];
- $_ = join '; ', @fields[ 0, 3 ];
- }
- else {
-
- # Here, is an older Unicode file, which has decimal numbers instead of
- # rationals in it. Use the fraction to calculate the denominator and
- # convert to rational.
-
- if (@fields != 2 && @fields != 3) {
- $file->carp_bad_line('Not 2 or 3 semi-colon separated fields');
- $_ = "";
- return;
- }
-
- my $codepoints = $fields[0];
- my $decimal = $fields[1];
- if ($decimal =~ s/\.0+$//) {
-
- # Anything ending with a decimal followed by nothing but 0's is an
- # integer
- $_ = "$codepoints; $decimal";
- $rational = $decimal;
- }
- else {
-
- my $denominator;
- if ($decimal =~ /\.50*$/) {
- $denominator = 2;
- }
-
- # Here have the hardcoded repeating decimals in the fraction, and
- # the denominator they imply. There were only a few denominators
- # in the older Unicode versions of this file which this code
- # handles, so it is easy to convert them.
-
- # The 4 is because of a round-off error in the Unicode 3.2 files
- elsif ($decimal =~ /\.33*[34]$/ || $decimal =~ /\.6+7$/) {
- $denominator = 3;
- }
- elsif ($decimal =~ /\.[27]50*$/) {
- $denominator = 4;
- }
- elsif ($decimal =~ /\.[2468]0*$/) {
- $denominator = 5;
- }
- elsif ($decimal =~ /\.16+7$/ || $decimal =~ /\.83+$/) {
- $denominator = 6;
- }
- elsif ($decimal =~ /\.(12|37|62|87)50*$/) {
- $denominator = 8;
- }
- if ($denominator) {
- my $sign = ($decimal < 0) ? "-" : "";
- my $numerator = int((abs($decimal) * $denominator) + .5);
- $rational = "$sign$numerator/$denominator";
- $_ = "$codepoints; $rational";
- }
- else {
- $file->carp_bad_line("Can't cope with number '$decimal'.");
- $_ = "";
- return;
- }
- }
- }
-
- register_fraction($rational) if $rational =~ qr{/};
- return;
-}
-
-{ # Closure
- my %unihan_properties;
- my $iicore;
-
-
- sub setup_unihan {
- # Do any special setup for Unihan properties.
-
- # This property gives the wrong computed type, so override.
- my $usource = property_ref('kIRG_USource');
- $usource->set_type($STRING) if defined $usource;
-
- # This property is to be considered binary, so change all the values
- # to Y.
- $iicore = property_ref('kIICore');
- if (defined $iicore) {
- $iicore->add_match_table('Y') if ! defined $iicore->table('Y');
-
- # We have to change the default map, because the @missing line is
- # misleading, given that we are treating it as binary.
- $iicore->set_default_map('N');
- $iicore->set_type($BINARY);
- }
-
- return;
- }
-
- sub filter_unihan_line {
- # Change unihan db lines to look like the others in the db. Here is
- # an input sample:
- # U+341C kCangjie IEKN
-
- # Tabs are used instead of semi-colons to separate fields; therefore
- # they may have semi-colons embedded in them. Change these to periods
- # so won't screw up the rest of the code.
- s/;/./g;
-
- # Remove lines that don't look like ones we accept.
- if ($_ !~ /^ [^\t]* \t ( [^\t]* ) /x) {
- $_ = "";
- return;
- }
-
- # Extract the property, and save a reference to its object.
- my $property = $1;
- if (! exists $unihan_properties{$property}) {
- $unihan_properties{$property} = property_ref($property);
- }
-
- # Don't do anything unless the property is one we're handling, which
- # we determine by seeing if there is an object defined for it or not
- if (! defined $unihan_properties{$property}) {
- $_ = "";
- return;
- }
-
- # The iicore property is supposed to be a boolean, so convert to our
- # standard boolean form.
- if (defined $iicore && $unihan_properties{$property} == $iicore) {
- $_ =~ s/$property.*/$property\tY/
- }
-
- # Convert the tab separators to our standard semi-colons, and convert
- # the U+HHHH notation to the rest of the standard's HHHH
- s/\t/;/g;
- s/\b U \+ (?= $code_point_re )//xg;
-
- #local $to_trace = 1 if main::DEBUG;
- trace $_ if main::DEBUG && $to_trace;
-
- return;
- }
-}
-
-sub filter_blocks_lines {
- # In the Blocks.txt file, the names of the blocks don't quite match the
- # names given in PropertyValueAliases.txt, so this changes them so they
- # do match: Blanks and hyphens are changed into underscores. Also makes
- # early release versions look like later ones
- #
- # $_ is transformed to the correct value.
-
- my $file = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- if ($v_version lt v3.2.0) {
- if (/FEFF.*Specials/) { # Bug in old versions: line wrongly inserted
- $_ = "";
- return;
- }
-
- # Old versions used a different syntax to mark the range.
- $_ =~ s/;\s+/../ if $v_version lt v3.1.0;
- }
-
- my @fields = split /\s*;\s*/, $_, -1;
- if (@fields != 2) {
- $file->carp_bad_line("Expecting exactly two fields");
- $_ = "";
- return;
- }
-
- # Change hyphens and blanks in the block name field only
- $fields[1] =~ s/[ -]/_/g;
- $fields[1] =~ s/_ ( [a-z] ) /_\u$1/g; # Capitalize first letter of word
-
- $_ = join("; ", @fields);
- return;
-}
-
-{ # Closure
- my $current_property;
-
- sub filter_old_style_proplist {
- # PropList.txt has been in Unicode since version 2.0. Until 3.1, it
- # was in a completely different syntax. Ken Whistler of Unicode says
- # that it was something he used as an aid for his own purposes, but
- # was never an official part of the standard. However, comments in
- # DAge.txt indicate that non-character code points were available in
- # the UCD as of 3.1. It is unclear to me (khw) how they could be
- # there except through this file (but on the other hand, they first
- # appeared there in 3.0.1), so maybe it was part of the UCD, and maybe
- # not. But the claim is that it was published as an aid to others who
- # might want some more information than was given in the official UCD
- # of the time. Many of the properties in it were incorporated into
- # the later PropList.txt, but some were not. This program uses this
- # early file to generate property tables that are otherwise not
- # accessible in the early UCD's, and most were probably not really
- # official at that time, so one could argue that it should be ignored,
- # and you can easily modify things to skip this. And there are bugs
- # in this file in various versions. (For example, the 2.1.9 version
- # removes from Alphabetic the CJK range starting at 4E00, and they
- # weren't added back in until 3.1.0.) Many of this file's properties
- # were later sanctioned, so this code generates tables for those
- # properties that aren't otherwise in the UCD of the time but
- # eventually did become official, and throws away the rest. Here is a
- # list of all the ones that are thrown away:
- # Bidi=* duplicates UnicodeData.txt
- # Combining never made into official property;
- # is \P{ccc=0}
- # Composite never made into official property.
- # Currency Symbol duplicates UnicodeData.txt: gc=sc
- # Decimal Digit duplicates UnicodeData.txt: gc=nd
- # Delimiter never made into official property;
- # removed in 3.0.1
- # Format Control never made into official property;
- # similar to gc=cf
- # High Surrogate duplicates Blocks.txt
- # Ignorable Control never made into official property;
- # similar to di=y
- # ISO Control duplicates UnicodeData.txt: gc=cc
- # Left of Pair never made into official property;
- # Line Separator duplicates UnicodeData.txt: gc=zl
- # Low Surrogate duplicates Blocks.txt
- # Non-break was actually listed as a property
- # in 3.2, but without any code
- # points. Unicode denies that this
- # was ever an official property
- # Non-spacing duplicate UnicodeData.txt: gc=mn
- # Numeric duplicates UnicodeData.txt: gc=cc
- # Paired Punctuation never made into official property;
- # appears to be gc=ps + gc=pe
- # Paragraph Separator duplicates UnicodeData.txt: gc=cc
- # Private Use duplicates UnicodeData.txt: gc=co
- # Private Use High Surrogate duplicates Blocks.txt
- # Punctuation duplicates UnicodeData.txt: gc=p
- # Space different definition than eventual
- # one.
- # Titlecase duplicates UnicodeData.txt: gc=lt
- # Unassigned Code Value duplicates UnicodeData.txt: gc=cc
- # Zero-width never made into offical property;
- # subset of gc=cf
- # Most of the properties have the same names in this file as in later
- # versions, but a couple do not.
- #
- # This subroutine filters $_, converting it from the old style into
- # the new style. Here's a sample of the old-style
- #
- # *******************************************
- #
- # Property dump for: 0x100000A0 (Join Control)
- #
- # 200C..200D (2 chars)
- #
- # In the example, the property is "Join Control". It is kept in this
- # closure between calls to the subroutine. The numbers beginning with
- # 0x were internal to Ken's program that generated this file.
-
- # If this line contains the property name, extract it.
- if (/^Property dump for: [^(]*\((.*)\)/) {
- $_ = $1;
-
- # Convert white space to underscores.
- s/ /_/g;
-
- # Convert the few properties that don't have the same name as
- # their modern counterparts
- s/Identifier_Part/ID_Continue/
- or s/Not_a_Character/NChar/;
-
- # If the name matches an existing property, use it.
- if (defined property_ref($_)) {
- trace "new property=", $_ if main::DEBUG && $to_trace;
- $current_property = $_;
- }
- else { # Otherwise discard it
- trace "rejected property=", $_ if main::DEBUG && $to_trace;
- undef $current_property;
- }
- $_ = ""; # The property is saved for the next lines of the
- # file, but this defining line is of no further use,
- # so clear it so that the caller won't process it
- # further.
- }
- elsif (! defined $current_property || $_ !~ /^$code_point_re/) {
-
- # Here, the input line isn't a header defining a property for the
- # following section, and either we aren't in such a section, or
- # the line doesn't look like one that defines the code points in
- # such a section. Ignore this line.
- $_ = "";
- }
- else {
-
- # Here, we have a line defining the code points for the current
- # stashed property. Anything starting with the first blank is
- # extraneous. Otherwise, it should look like a normal range to
- # the caller. Append the property name so that it looks just like
- # a modern PropList entry.
-
- $_ =~ s/\s.*//;
- $_ .= "; $current_property";
- }
- trace $_ if main::DEBUG && $to_trace;
- return;
- }
-} # End closure for old style proplist
-
-sub filter_old_style_normalization_lines {
- # For early releases of Unicode, the lines were like:
- # 74..2A76 ; NFKD_NO
- # For later releases this became:
- # 74..2A76 ; NFKD_QC; N
- # Filter $_ to look like those in later releases.
- # Similarly for MAYBEs
-
- s/ _NO \b /_QC; N/x || s/ _MAYBE \b /_QC; M/x;
-
- # Also, the property FC_NFKC was abbreviated to FNC
- s/FNC/FC_NFKC/;
- return;
-}
-
-sub finish_Unicode() {
- # This routine should be called after all the Unicode files have been read
- # in. It:
- # 1) Adds the mappings for code points missing from the files which have
- # defaults specified for them.
- # 2) At this this point all mappings are known, so it computes the type of
- # each property whose type hasn't been determined yet.
- # 3) Calculates all the regular expression match tables based on the
- # mappings.
- # 3) Calculates and adds the tables which are defined by Unicode, but
- # which aren't derived by them
-
- # For each property, fill in any missing mappings, and calculate the re
- # match tables. If a property has more than one missing mapping, the
- # default is a reference to a data structure, and requires data from other
- # properties to resolve. The sort is used to cause these to be processed
- # last, after all the other properties have been calculated.
- # (Fortunately, the missing properties so far don't depend on each other.)
- foreach my $property
- (sort { (defined $a->default_map && ref $a->default_map) ? 1 : -1 }
- property_ref('*'))
- {
- # $perl has been defined, but isn't one of the Unicode properties that
- # need to be finished up.
- next if $property == $perl;
-
- # Handle the properties that have more than one possible default
- if (ref $property->default_map) {
- my $default_map = $property->default_map;
-
- # These properties have stored in the default_map:
- # One or more of:
- # 1) A default map which applies to all code points in a
- # certain class
- # 2) an expression which will evaluate to the list of code
- # points in that class
- # And
- # 3) the default map which applies to every other missing code
- # point.
- #
- # Go through each list.
- while (my ($default, $eval) = $default_map->get_next_defaults) {
-
- # Get the class list, and intersect it with all the so-far
- # unspecified code points yielding all the code points
- # in the class that haven't been specified.
- my $list = eval $eval;
- if ($@) {
- Carp::my_carp("Can't set some defaults for missing code points for $property because eval '$eval' failed with '$@'");
- last;
- }
-
- # Narrow down the list to just those code points we don't have
- # maps for yet.
- $list = $list & $property->inverse_list;
-
- # Add mappings to the property for each code point in the list
- foreach my $range ($list->ranges) {
- $property->add_map($range->start, $range->end, $default);
- }
- }
-
- # All remaining code points have the other mapping. Set that up
- # so the normal single-default mapping code will work on them
- $property->set_default_map($default_map->other_default);
-
- # And fall through to do that
- }
-
- # We should have enough data now to compute the type of the property.
- $property->compute_type;
- my $property_type = $property->type;
-
- next if ! $property->to_create_match_tables;
-
- # Here want to create match tables for this property
-
- # The Unicode db always (so far, and they claim into the future) have
- # the default for missing entries in binary properties be 'N' (unless
- # there is a '@missing' line that specifies otherwise)
- if ($property_type == $BINARY && ! defined $property->default_map) {
- $property->set_default_map('N');
- }
-
- # Add any remaining code points to the mapping, using the default for
- # missing code points
- if (defined (my $default_map = $property->default_map)) {
- foreach my $range ($property->inverse_list->ranges) {
- $property->add_map($range->start, $range->end, $default_map);
- }
-
- # Make sure there is a match table for the default
- if (! defined $property->table($default_map)) {
- $property->add_match_table($default_map);
- }
- }
-
- # Have all we need to populate the match tables.
- my $property_name = $property->name;
- foreach my $range ($property->ranges) {
- my $map = $range->value;
- my $table = property_ref($property_name)->table($map);
- if (! defined $table) {
-
- # Integral and rational property values are not necessarily
- # defined in PropValueAliases, but all other ones should be,
- # starting in 5.1
- if ($v_version ge v5.1.0
- && $map !~ /^ -? \d+ ( \/ \d+ )? $/x)
- {
- Carp::my_carp("Table '$property_name=$map' should have been defined. Defining it now.")
- }
- $table = property_ref($property_name)->add_match_table($map);
- }
-
- $table->add_range($range->start, $range->end);
- }
-
- # And add the Is_ prefix synonyms for Perl 5.6 compatibility, in which
- # all properties have this optional prefix. These do not get a
- # separate entry in the pod file, because are covered by a wild-card
- # entry
- foreach my $alias ($property->aliases) {
- my $Is_name = 'Is_' . $alias->name;
- if (! defined (my $pre_existing = property_ref($Is_name))) {
- $property->add_alias($Is_name,
- Pod_Entry => 0,
- Status => $alias->status,
- Externally_Ok => 0);
- }
- else {
-
- # It seemed too much work to add in these warnings when it
- # appears that Unicode has made a decision never to begin a
- # property name with 'Is_', so this shouldn't happen, but just
- # in case, it is a warning.
- Carp::my_carp(<<END
-There is already an alias named $Is_name (from " . $pre_existing . "), so not
-creating this alias for $property. The generated table and pod files do not
-warn users of this conflict.
-END
- );
- $has_Is_conflicts++;
- }
- } # End of loop through aliases for this property
- } # End of loop through all Unicode properties.
-
- # Fill in the mappings that Unicode doesn't completely furnish. First the
- # single letter major general categories. If Unicode were to start
- # delivering the values, this would be redundant, but better that than to
- # try to figure out if should skip and not get it right. Ths could happen
- # if a new major category were to be introduced, and the hard-coded test
- # wouldn't know about it.
- # This routine depends on the standard names for the general categories
- # being what it thinks they are, like 'Cn'. The major categories are the
- # union of all the general category tables which have the same first
- # letters. eg. L = Lu + Lt + Ll + Lo + Lm
- foreach my $minor_table ($gc->tables) {
- my $minor_name = $minor_table->name;
- next if length $minor_name == 1;
- if (length $minor_name != 2) {
- Carp::my_carp_bug("Unexpected general category '$minor_name'. Skipped.");
- next;
- }
-
- my $major_name = uc(substr($minor_name, 0, 1));
- my $major_table = $gc->table($major_name);
- $major_table += $minor_table;
- }
-
- # LC is Ll, Lu, and Lt. (used to be L& or L_, but PropValueAliases.txt
- # defines it as LC)
- my $LC = $gc->table('LC');
- $LC->add_alias('L_', Status => $DISCOURAGED); # For backwards...
- $LC->add_alias('L&', Status => $DISCOURAGED); # compatibility.
-
-
- if ($LC->is_empty) { # Assume if not empty that Unicode has started to
- # deliver the correct values in it
- $LC->initialize($gc->table('Ll') + $gc->table('Lu'));
-
- # Lt not in release 1.
- $LC += $gc->table('Lt') if defined $gc->table('Lt');
- }
- $LC->add_description('[\p{Ll}\p{Lu}\p{Lt}]');
-
- my $Cs = $gc->table('Cs');
- if (defined $Cs) {
- $Cs->add_note('Mostly not usable in Perl.');
- $Cs->add_comment(join_lines(<<END
-Surrogates are used exclusively for I/O in UTF-16, and should not appear in
-Unicode text, and hence their use will generate (usually fatal) messages
-END
- ));
- }
-
-
- # Folding information was introduced later into Unicode data. To get
- # Perl's case ignore (/i) to work at all in releases that don't have
- # folding, use the best available alternative, which is lower casing.
- my $fold = property_ref('Simple_Case_Folding');
- if ($fold->is_empty) {
- $fold->initialize(property_ref('Simple_Lowercase_Mapping'));
- $fold->add_note(join_lines(<<END
-WARNING: This table uses lower case as a substitute for missing fold
-information
-END
- ));
- }
-
- # Multiple-character mapping was introduced later into Unicode data. If
- # missing, use the single-characters maps as best available alternative
- foreach my $map (qw { Uppercase_Mapping
- Lowercase_Mapping
- Titlecase_Mapping
- Case_Folding
- } ) {
- my $full = property_ref($map);
- if ($full->is_empty) {
- my $simple = property_ref('Simple_' . $map);
- $full->initialize($simple);
- $full->add_comment($simple->comment) if ($simple->comment);
- $full->add_note(join_lines(<<END
-WARNING: This table uses simple mapping (single-character only) as a
-substitute for missing multiple-character information
-END
- ));
- }
- }
- return
-}
-
-sub compile_perl() {
- # Create perl-defined tables. Almost all are part of the pseudo-property
- # named 'perl' internally to this program. Many of these are recommended
- # in UTS#18 "Unicode Regular Expressions", and their derivations are based
- # on those found there.
- # Almost all of these are equivalent to some Unicode property.
- # A number of these properties have equivalents restricted to the ASCII
- # range, with their names prefaced by 'Posix', to signify that these match
- # what the Posix standard says they should match. A couple are
- # effectively this, but the name doesn't have 'Posix' in it because there
- # just isn't any Posix equivalent.
-
- # 'Any' is all code points. As an error check, instead of just setting it
- # to be that, construct it to be the union of all the major categories
- my $Any = $perl->add_match_table('Any',
- Description => "[\\x{0000}-\\x{$LAST_UNICODE_CODEPOINT_STRING}]",
- Matches_All => 1);
-
- foreach my $major_table ($gc->tables) {
-
- # Major categories are the ones with single letter names.
- next if length($major_table->name) != 1;
-
- $Any += $major_table;
- }
-
- if ($Any->max != $LAST_UNICODE_CODEPOINT) {
- Carp::my_carp_bug("Generated highest code point ("
- . sprintf("%X", $Any->max)
- . ") doesn't match expected value $LAST_UNICODE_CODEPOINT_STRING.")
- }
- if ($Any->range_count != 1 || $Any->min != 0) {
- Carp::my_carp_bug("Generated table 'Any' doesn't match all code points.")
- }
-
- $Any->add_alias('All');
-
- # Assigned is the opposite of gc=unassigned
- my $Assigned = $perl->add_match_table('Assigned',
- Description => "All assigned code points",
- Initialize => ~ $gc->table('Unassigned'),
- );
-
- # Our internal-only property should be treated as more than just a
- # synonym.
- $perl->add_match_table('_CombAbove')
- ->set_equivalent_to(property_ref('ccc')->table('Above'),
- Related => 1);
-
- my $ASCII = $perl->add_match_table('ASCII', Description => '[[:ASCII:]]');
- if (defined $block) { # This is equivalent to the block if have it.
- my $Unicode_ASCII = $block->table('Basic_Latin');
- if (defined $Unicode_ASCII && ! $Unicode_ASCII->is_empty) {
- $ASCII->set_equivalent_to($Unicode_ASCII, Related => 1);
- }
- }
-
- # Very early releases didn't have blocks, so initialize ASCII ourselves if
- # necessary
- if ($ASCII->is_empty) {
- $ASCII->initialize([ 0..127 ]);
- }
-
- # Get the best available case definitions. Early Unicode versions didn't
- # have Uppercase and Lowercase defined, so use the general category
- # instead for them.
- my $Lower = $perl->add_match_table('Lower');
- my $Unicode_Lower = property_ref('Lowercase');
- if (defined $Unicode_Lower && ! $Unicode_Lower->is_empty) {
- $Lower->set_equivalent_to($Unicode_Lower->table('Y'), Related => 1);
- }
- else {
- $Lower->set_equivalent_to($gc->table('Lowercase_Letter'),
- Related => 1);
- }
- $perl->add_match_table("PosixLower",
- Description => "[a-z]",
- Initialize => $Lower & $ASCII,
- );
-
- my $Upper = $perl->add_match_table('Upper');
- my $Unicode_Upper = property_ref('Uppercase');
- if (defined $Unicode_Upper && ! $Unicode_Upper->is_empty) {
- $Upper->set_equivalent_to($Unicode_Upper->table('Y'), Related => 1);
- }
- else {
- $Upper->set_equivalent_to($gc->table('Uppercase_Letter'),
- Related => 1);
- }
- $perl->add_match_table("PosixUpper",
- Description => "[A-Z]",
- Initialize => $Upper & $ASCII,
- );
-
- # Earliest releases didn't have title case. Initialize it to empty if not
- # otherwise present
- my $Title = $perl->add_match_table('Title');
- my $lt = $gc->table('Lt');
- if (defined $lt) {
- $Title->set_equivalent_to($lt, Related => 1);
- }
-
- # If this Unicode version doesn't have Cased, set up our own. From
- # Unicode 5.1: Definition D120: A character C is defined to be cased if
- # and only if C has the Lowercase or Uppercase property or has a
- # General_Category value of Titlecase_Letter.
- unless (defined property_ref('Cased')) {
- my $cased = $perl->add_match_table('Cased',
- Initialize => $Lower + $Upper + $Title,
- Description => 'Uppercase or Lowercase or Titlecase',
- );
- }
-
- # Similarly, set up our own Case_Ignorable property if this Unicode
- # version doesn't have it. From Unicode 5.1: Definition D121: A character
- # C is defined to be case-ignorable if C has the value MidLetter or the
- # value MidNumLet for the Word_Break property or its General_Category is
- # one of Nonspacing_Mark (Mn), Enclosing_Mark (Me), Format (Cf),
- # Modifier_Letter (Lm), or Modifier_Symbol (Sk).
-
- # Perl has long had an internal-only alias for this property.
- my $perl_case_ignorable = $perl->add_match_table('_Case_Ignorable');
- my $case_ignorable = property_ref('Case_Ignorable');
- if (defined $case_ignorable && ! $case_ignorable->is_empty) {
- $perl_case_ignorable->set_equivalent_to($case_ignorable->table('Y'),
- Related => 1);
- }
- else {
-
- $perl_case_ignorable->initialize($gc->table('Mn') + $gc->table('Lm'));
-
- # The following three properties are not in early releases
- $perl_case_ignorable += $gc->table('Me') if defined $gc->table('Me');
- $perl_case_ignorable += $gc->table('Cf') if defined $gc->table('Cf');
- $perl_case_ignorable += $gc->table('Sk') if defined $gc->table('Sk');
-
- # For versions 4.1 - 5.0, there is no MidNumLet property, and
- # correspondingly the case-ignorable definition lacks that one. For
- # 4.0, it appears that it was meant to be the same definition, but was
- # inadvertently omitted from the standard's text, so add it if the
- # property actually is there
- my $wb = property_ref('Word_Break');
- if (defined $wb) {
- my $midlet = $wb->table('MidLetter');
- $perl_case_ignorable += $midlet if defined $midlet;
- my $midnumlet = $wb->table('MidNumLet');
- $perl_case_ignorable += $midnumlet if defined $midnumlet;
- }
- else {
-
- # In earlier versions of the standard, instead of the above two
- # properties , just the following characters were used:
- $perl_case_ignorable += 0x0027 # APOSTROPHE
- + 0x00AD # SOFT HYPHEN (SHY)
- + 0x2019; # RIGHT SINGLE QUOTATION MARK
- }
- }
-
- # The remaining perl defined tables are mostly based on Unicode TR 18,
- # "Annex C: Compatibility Properties". All of these have two versions,
- # one whose name generally begins with Posix that is posix-compliant, and
- # one that matches Unicode characters beyond the Posix, ASCII range
-
- my $Alpha = $perl->add_match_table('Alpha');
-
- # Alphabetic was not present in early releases
- my $Alphabetic = property_ref('Alphabetic');
- if (defined $Alphabetic && ! $Alphabetic->is_empty) {
- $Alpha->set_equivalent_to($Alphabetic->table('Y'), Related => 1);
- }
- else {
-
- # For early releases, we don't get it exactly right. The below
- # includes more than it should, which in 5.2 terms is: L + Nl +
- # Other_Alphabetic. Other_Alphabetic contains many characters from
- # Mn and Mc. It's better to match more than we should, than less than
- # we should.
- $Alpha->initialize($gc->table('Letter')
- + $gc->table('Mn')
- + $gc->table('Mc'));
- $Alpha += $gc->table('Nl') if defined $gc->table('Nl');
- $Alpha->add_description('Alphabetic');
- }
- $perl->add_match_table("PosixAlpha",
- Description => "[A-Za-z]",
- Initialize => $Alpha & $ASCII,
- );
-
- my $Alnum = $perl->add_match_table('Alnum',
- Description => 'Alphabetic and (Decimal) Numeric',
- Initialize => $Alpha + $gc->table('Decimal_Number'),
- );
- $perl->add_match_table("PosixAlnum",
- Description => "[A-Za-z0-9]",
- Initialize => $Alnum & $ASCII,
- );
-
- my $Word = $perl->add_match_table('Word',
- Description => '\w, including beyond ASCII',
- Initialize => $Alnum + $gc->table('Mark'),
- );
- my $Pc = $gc->table('Connector_Punctuation'); # 'Pc' Not in release 1
- $Word += $Pc if defined $Pc;
-
- # There is no [[:Word:]], so the name doesn't begin with Posix.
- $perl->add_match_table('PerlWord',
- Description => '\w, restricted to ASCII = [A-Za-z0-9_]',
- Initialize => $Word & $ASCII,
- );
-
- my $Blank = $perl->add_match_table('Blank',
- Description => '\h, Horizontal white space',
-
- # 200B is Zero Width Space which is for line
- # break control, and was listed as
- # Space_Separator in early releases
- Initialize => $gc->table('Space_Separator')
- + 0x0009 # TAB
- - 0x200B, # ZWSP
- );
- $Blank->add_alias('HorizSpace'); # Another name for it.
- $perl->add_match_table("PosixBlank",
- Description => "\\t and ' '",
- Initialize => $Blank & $ASCII,
- );
-
- my $VertSpace = $perl->add_match_table('VertSpace',
- Description => '\v',
- Initialize => $gc->table('Line_Separator')
- + $gc->table('Paragraph_Separator')
- + 0x000A # LINE FEED
- + 0x000B # VERTICAL TAB
- + 0x000C # FORM FEED
- + 0x000D # CARRIAGE RETURN
- + 0x0085, # NEL
- );
- # No Posix equivalent for vertical space
-
- my $Space = $perl->add_match_table('Space',
- Description => '\s including beyond ASCII plus vertical tab',
- Initialize => $Blank + $VertSpace,
- );
- $perl->add_match_table("PosixSpace",
- Description => "\\t \\n, \\x0B, \\f, \\r, and ' '",
- Initialize => $Space & $ASCII,
- );
-
- # Perl's traditional space doesn't include Vertical Tab
- my $SpacePerl = $perl->add_match_table('SpacePerl',
- Description => '\s, including beyond ASCII',
- Initialize => $Space - 0x000B,
- );
- $perl->add_match_table('PerlSpace',
- Description => '\s, restricted to ASCII',
- Initialize => $SpacePerl & $ASCII,
- );
-
- my $Cntrl = $perl->add_match_table('Cntrl',
- Description => 'Control characters');
- $Cntrl->set_equivalent_to($gc->table('Cc'), Related => 1);
- $perl->add_match_table("PosixCntrl",
- Description => '[\x00-\x1F]',
- Initialize => $Cntrl & $ASCII,
- );
-
- # $controls is a temporary used to construct Graph.
- my $controls = Range_List->new(Initialize => $gc->table('Unassigned')
- + $gc->table('Control'));
- # Cs not in release 1
- $controls += $gc->table('Surrogate') if defined $gc->table('Surrogate');
-
- # Graph is ~space & ~(Cc|Cs|Cn) = ~(space + $controls)
- my $Graph = $perl->add_match_table('Graph',
- Description => 'Characters that are graphical',
- Initialize => ~ ($Space + $controls),
- );
- $perl->add_match_table("PosixGraph",
- Description => '[\x21-\x7E]',
- Initialize => $Graph & $ASCII,
- );
-
- my $Print = $perl->add_match_table('Print',
- Description => 'Characters that are graphical plus space characters (but no controls)',
- Initialize => $Blank + $Graph - $gc->table('Control'),
- );
- $perl->add_match_table("PosixPrint",
- Description => '[\x20-\x7E]',
- Initialize => $Print & $ASCII,
- );
-
- my $Punct = $perl->add_match_table('Punct');
- $Punct->set_equivalent_to($gc->table('Punctuation'), Related => 1);
-
- # \p{punct} doesn't include the symbols, which posix does
- $perl->add_match_table('PosixPunct',
- Description => 'Graphical characters that aren\'t Word characters = [\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]',
- Initialize => $ASCII & ($gc->table('Punctuation')
- + $gc->table('Symbol')),
- );
-
- my $Digit = $perl->add_match_table('Digit',
- Description => '\d, extended beyond just [0-9]');
- $Digit->set_equivalent_to($gc->table('Decimal_Number'), Related => 1);
- my $PosixDigit = $perl->add_match_table("PosixDigit",
- Description => '[0-9]',
- Initialize => $Digit & $ASCII,
- );
-
- # Hex_Digit was not present in first release
- my $Xdigit = $perl->add_match_table('XDigit');
- my $Hex = property_ref('Hex_Digit');
- if (defined $Hex && ! $Hex->is_empty) {
- $Xdigit->set_equivalent_to($Hex->table('Y'), Related => 1);
- }
- else {
- # (Have to use hex instead of e.g. '0', because could be running on an
- # non-ASCII machine, and we want the Unicode (ASCII) values)
- $Xdigit->initialize([ 0x30..0x39, 0x41..0x46, 0x61..0x66,
- 0xFF10..0xFF19, 0xFF21..0xFF26, 0xFF41..0xFF46]);
- $Xdigit->add_description('[0-9A-Fa-f] and corresponding fullwidth versions, like U+FF10: FULLWIDTH DIGIT ZERO');
- }
-
- my $dt = property_ref('Decomposition_Type');
- $dt->add_match_table('Non_Canon', Full_Name => 'Non_Canonical',
- Initialize => ~ ($dt->table('None') + $dt->table('Canonical')),
- Perl_Extension => 1,
- Note => 'Union of all non-canonical decompositions',
- );
-
- # _CanonDCIJ is equivalent to Soft_Dotted, but if on a release earlier
- # than SD appeared, construct it ourselves, based on the first release SD
- # was in.
- my $CanonDCIJ = $perl->add_match_table('_CanonDCIJ');
- my $soft_dotted = property_ref('Soft_Dotted');
- if (defined $soft_dotted && ! $soft_dotted->is_empty) {
- $CanonDCIJ->set_equivalent_to($soft_dotted->table('Y'), Related => 1);
- }
- else {
-
- # This list came from 3.2 Soft_Dotted.
- $CanonDCIJ->initialize([ 0x0069,
- 0x006A,
- 0x012F,
- 0x0268,
- 0x0456,
- 0x0458,
- 0x1E2D,
- 0x1ECB,
- ]);
- $CanonDCIJ = $CanonDCIJ & $Assigned;
- }
-
- # These are used in Unicode's definition of \X
- my $begin = $perl->add_match_table('_X_Begin', Perl_Extension => 1);
- my $extend = $perl->add_match_table('_X_Extend', Perl_Extension => 1);
-
- my $gcb = property_ref('Grapheme_Cluster_Break');
-
- # The 'extended' grapheme cluster came in 5.1. The non-extended
- # definition differs too much from the traditional Perl one to use.
- if (defined $gcb && defined $gcb->table('SpacingMark')) {
-
- # Note that assumes HST is defined; it came in an earlier release than
- # GCB. In the line below, two negatives means: yes hangul
- $begin += ~ property_ref('Hangul_Syllable_Type')
- ->table('Not_Applicable')
- + ~ ($gcb->table('Control')
- + $gcb->table('CR')
- + $gcb->table('LF'));
- $begin->add_comment('For use in \X; matches: Hangul_Syllable | ! Control');
-
- $extend += $gcb->table('Extend') + $gcb->table('SpacingMark');
- $extend->add_comment('For use in \X; matches: Extend | SpacingMark');
- }
- else { # Old definition, used on early releases.
- $extend += $gc->table('Mark')
- + 0x200C # ZWNJ
- + 0x200D; # ZWJ
- $begin += ~ $extend;
-
- # Here we may have a release that has the regular grapheme cluster
- # defined, or a release that doesn't have anything defined.
- # We set things up so the Perl core degrades gracefully, possibly with
- # placeholders that match nothing.
-
- if (! defined $gcb) {
- $gcb = Property->new('GCB', Status => $PLACEHOLDER);
- }
- my $hst = property_ref('HST');
- if (!defined $hst) {
- $hst = Property->new('HST', Status => $PLACEHOLDER);
- $hst->add_match_table('Not_Applicable',
- Initialize => $Any,
- Matches_All => 1);
- }
-
- # On some releases, here we may not have the needed tables for the
- # perl core, in some releases we may.
- foreach my $name (qw{ L LV LVT T V prepend }) {
- my $table = $gcb->table($name);
- if (! defined $table) {
- $table = $gcb->add_match_table($name);
- push @tables_that_may_be_empty, $table->complete_name;
- }
-
- # The HST property predates the GCB one, and has identical tables
- # for some of them, so use it if we can.
- if ($table->is_empty
- && defined $hst
- && defined $hst->table($name))
- {
- $table += $hst->table($name);
- }
- }
- }
-
- # More GCB. If we found some hangul syllables, populate a combined
- # table.
- my $lv_lvt_v = $perl->add_match_table('_X_LV_LVT_V');
- my $LV = $gcb->table('LV');
- if ($LV->is_empty) {
- push @tables_that_may_be_empty, $lv_lvt_v->complete_name;
- } else {
- $lv_lvt_v += $LV + $gcb->table('LVT') + $gcb->table('V');
- $lv_lvt_v->add_comment('For use in \X; matches: HST=LV | HST=LVT | HST=V');
- }
-
- # Create a new property specially located that is a combination of the
- # various Name properties: Name, Unicode_1_Name, Named Sequences, and
- # Name_Alias properties. (The final duplicates elements of the first.) A
- # comment for it is constructed based on the actual properties present and
- # used
- my $perl_charname = Property->new('Perl_Charnames',
- Core_Access => '\N{...} and charnames.pm',
- Default_Map => "",
- Directory => File::Spec->curdir(),
- File => 'Name',
- Internal_Only_Warning => 1,
- Perl_Extension => 1,
- Range_Size_1 => 1,
- Type => $STRING,
- Initialize => property_ref('Unicode_1_Name'),
- );
- # Name overrides Unicode_1_Name
- $perl_charname->property_add_or_replace_non_nulls(property_ref('Name'));
- my @composition = ('Name', 'Unicode_1_Name');
-
- if (@named_sequences) {
- push @composition, 'Named_Sequence';
- foreach my $sequence (@named_sequences) {
- $perl_charname->add_anomalous_entry($sequence);
- }
- }
-
- my $alias_sentence = "";
- my $alias = property_ref('Name_Alias');
- if (defined $alias) {
- push @composition, 'Name_Alias';
- $alias->reset_each_range;
- while (my ($range) = $alias->each_range) {
- next if $range->value eq "";
- if ($range->start != $range->end) {
- Carp::my_carp("Expecting only one code point in the range $range. Just to keep going, using just the first code point;");
- }
- $perl_charname->add_duplicate($range->start, $range->value);
- }
- $alias_sentence = <<END;
-The Name_Alias property adds duplicate code point entries with a corrected
-name. The original (less correct, but still valid) name will be physically
-first.
-END
- }
- my $comment;
- if (@composition <= 2) { # Always at least 2
- $comment = join " and ", @composition;
- }
- else {
- $comment = join ", ", @composition[0 .. scalar @composition - 2];
- $comment .= ", and $composition[-1]";
- }
-
- # Wait for charnames to catch up
-# foreach my $entry (@more_Names,
-# split "\n", <<"END"
-#000A; LF
-#000C; FF
-#000D; CR
-#0085; NEL
-#200C; ZWNJ
-#200D; ZWJ
-#FEFF; BOM
-#FEFF; BYTE ORDER MARK
-#END
-# ) {
-# #local $to_trace = 1 if main::DEBUG;
-# trace $entry if main::DEBUG && $to_trace;
-# my ($code_point, $name) = split /\s*;\s*/, $entry;
-# $code_point = hex $code_point;
-# trace $code_point, $name if main::DEBUG && $to_trace;
-# $perl_charname->add_duplicate($code_point, $name);
-# }
-# #$perl_charname->add_comment("This file is for charnames.pm. It is the union of the $comment properties, plus certain commonly used but unofficial names, such as 'FF' and 'ZWNJ'. Unicode_1_Name entries are used only for otherwise nameless code points.$alias_sentence");
- $perl_charname->add_comment(join_lines( <<END
-This file is for charnames.pm. It is the union of the $comment properties.
-Unicode_1_Name entries are used only for otherwise nameless code
-points.
-$alias_sentence
-END
- ));
-
- # The combining class property used by Perl's normalize.pm is not located
- # in the normal mapping directory; create a copy for it.
- my $ccc = property_ref('Canonical_Combining_Class');
- my $perl_ccc = Property->new('Perl_ccc',
- Default_Map => $ccc->default_map,
- Full_Name => 'Perl_Canonical_Combining_Class',
- Internal_Only_Warning => 1,
- Perl_Extension => 1,
- Pod_Entry =>0,
- Type => $ENUM,
- Initialize => $ccc,
- File => 'CombiningClass',
- Directory => File::Spec->curdir(),
- );
- $perl_ccc->set_to_output_map(1);
- $perl_ccc->add_comment(join_lines(<<END
-This mapping is for normalize.pm. It is currently identical to the Unicode
-Canonical_Combining_Class property.
-END
- ));
-
- # This one match table for it is needed for calculations on output
- my $default = $perl_ccc->add_match_table($ccc->default_map,
- Initialize => $ccc->table($ccc->default_map),
- Status => $SUPPRESSED);
-
- # Construct the Present_In property from the Age property.
- if (-e 'DAge.txt' && defined (my $age = property_ref('Age'))) {
- my $default_map = $age->default_map;
- my $in = Property->new('In',
- Default_Map => $default_map,
- Full_Name => "Present_In",
- Internal_Only_Warning => 1,
- Perl_Extension => 1,
- Type => $ENUM,
- Initialize => $age,
- );
- $in->add_comment(join_lines(<<END
-This file should not be used for any purpose. The values in this file are the
-same as for $age, and not for what $in really means. This is because anything
-defined in a given release should have multiple values: that release and all
-higher ones. But only one value per code point can be represented in a table
-like this.
-END
- ));
-
- # The Age tables are named like 1.5, 2.0, 2.1, .... Sort so that the
- # lowest numbered (earliest) come first, with the non-numeric one
- # last.
- my ($first_age, @rest_ages) = sort { ($a->name !~ /^[\d.]*$/)
- ? 1
- : ($b->name !~ /^[\d.]*$/)
- ? -1
- : $a->name <=> $b->name
- } $age->tables;
-
- # The Present_In property is the cumulative age properties. The first
- # one hence is identical to the first age one.
- my $previous_in = $in->add_match_table($first_age->name);
- $previous_in->set_equivalent_to($first_age, Related => 1);
-
- my $description_start = "Code point's usage introduced in version ";
- $first_age->add_description($description_start . $first_age->name);
-
- # To construct the accumlated values, for each of the age tables
- # starting with the 2nd earliest, merge the earliest with it, to get
- # all those code points existing in the 2nd earliest. Repeat merging
- # the new 2nd earliest with the 3rd earliest to get all those existing
- # in the 3rd earliest, and so on.
- foreach my $current_age (@rest_ages) {
- next if $current_age->name !~ /^[\d.]*$/; # Skip the non-numeric
-
- my $current_in = $in->add_match_table(
- $current_age->name,
- Initialize => $current_age + $previous_in,
- Description => $description_start
- . $current_age->name
- . ' or earlier',
- );
- $previous_in = $current_in;
-
- # Add clarifying material for the corresponding age file. This is
- # in part because of the confusing and contradictory information
- # given in the Standard's documentation itself, as of 5.2.
- $current_age->add_description(
- "Code point's usage was introduced in version "
- . $current_age->name);
- $current_age->add_note("See also $in");
-
- }
-
- # And finally the code points whose usages have yet to be decided are
- # the same in both properties. Note that permanently unassigned code
- # points actually have their usage assigned (as being permanently
- # unassigned), so that these tables are not the same as gc=cn.
- my $unassigned = $in->add_match_table($default_map);
- my $age_default = $age->table($default_map);
- $age_default->add_description(<<END
-Code point's usage has not been assigned in any Unicode release thus far.
-END
- );
- $unassigned->set_equivalent_to($age_default, Related => 1);
- }
-
-
- # Finished creating all the perl properties. All non-internal non-string
- # ones have a synonym of 'Is_' prefixed. (Internal properties begin with
- # an underscore.) These do not get a separate entry in the pod file
- foreach my $table ($perl->tables) {
- foreach my $alias ($table->aliases) {
- next if $alias->name =~ /^_/;
- $table->add_alias('Is_' . $alias->name,
- Pod_Entry => 0,
- Status => $alias->status,
- Externally_Ok => 0);
- }
- }
-
- return;
-}
-
-sub add_perl_synonyms() {
- # A number of Unicode tables have Perl synonyms that are expressed in
- # the single-form, \p{name}. These are:
- # All the binary property Y tables, so that \p{Name=Y} gets \p{Name} and
- # \p{Is_Name} as synonyms
- # \p{Script=Value} gets \p{Value}, \p{Is_Value} as synonyms
- # \p{General_Category=Value} gets \p{Value}, \p{Is_Value} as synonyms
- # \p{Block=Value} gets \p{In_Value} as a synonym, and, if there is no
- # conflict, \p{Value} and \p{Is_Value} as well
- #
- # This routine generates these synonyms, warning of any unexpected
- # conflicts.
-
- # Construct the list of tables to get synonyms for. Start with all the
- # binary and the General_Category ones.
- my @tables = grep { $_->type == $BINARY } property_ref('*');
- push @tables, $gc->tables;
-
- # If the version of Unicode includes the Script property, add its tables
- if (defined property_ref('Script')) {
- push @tables, property_ref('Script')->tables;
- }
-
- # The Block tables are kept separate because they are treated differently.
- # And the earliest versions of Unicode didn't include them, so add only if
- # there are some.
- my @blocks;
- push @blocks, $block->tables if defined $block;
-
- # Here, have the lists of tables constructed. Process blocks last so that
- # if there are name collisions with them, blocks have lowest priority.
- # Should there ever be other collisions, manual intervention would be
- # required. See the comments at the beginning of the program for a
- # possible way to handle those semi-automatically.
- foreach my $table (@tables, @blocks) {
-
- # For non-binary properties, the synonym is just the name of the
- # table, like Greek, but for binary properties the synonym is the name
- # of the property, and means the code points in its 'Y' table.
- my $nominal = $table;
- my $nominal_property = $nominal->property;
- my $actual;
- if (! $nominal->isa('Property')) {
- $actual = $table;
- }
- else {
-
- # Here is a binary property. Use the 'Y' table. Verify that is
- # there
- my $yes = $nominal->table('Y');
- unless (defined $yes) { # Must be defined, but is permissible to
- # be empty.
- Carp::my_carp_bug("Undefined $nominal, 'Y'. Skipping.");
- next;
- }
- $actual = $yes;
- }
-
- foreach my $alias ($nominal->aliases) {
-
- # Attempt to create a table in the perl directory for the
- # candidate table, using whatever aliases in it that don't
- # conflict. Also add non-conflicting aliases for all these
- # prefixed by 'Is_' (and/or 'In_' for Block property tables)
- PREFIX:
- foreach my $prefix ("", 'Is_', 'In_') {
-
- # Only Block properties can have added 'In_' aliases.
- next if $prefix eq 'In_' and $nominal_property != $block;
-
- my $proposed_name = $prefix . $alias->name;
-
- # No Is_Is, In_In, nor combinations thereof
- trace "$proposed_name is a no-no" if main::DEBUG && $to_trace && $proposed_name =~ /^ I [ns] _I [ns] _/x;
- next if $proposed_name =~ /^ I [ns] _I [ns] _/x;
-
- trace "Seeing if can add alias or table: 'perl=$proposed_name' based on $nominal" if main::DEBUG && $to_trace;
-
- # Get a reference to any existing table in the perl
- # directory with the desired name.
- my $pre_existing = $perl->table($proposed_name);
-
- if (! defined $pre_existing) {
-
- # No name collision, so ok to add the perl synonym.
-
- my $make_pod_entry;
- my $externally_ok;
- my $status = $actual->status;
- if ($nominal_property == $block) {
-
- # For block properties, the 'In' form is preferred for
- # external use; the pod file contains wild cards for
- # this and the 'Is' form so no entries for those; and
- # we don't want people using the name without the
- # 'In', so discourage that.
- if ($prefix eq "") {
- $make_pod_entry = 1;
- $status = $status || $DISCOURAGED;
- $externally_ok = 0;
- }
- elsif ($prefix eq 'In_') {
- $make_pod_entry = 0;
- $status = $status || $NORMAL;
- $externally_ok = 1;
- }
- else {
- $make_pod_entry = 0;
- $status = $status || $DISCOURAGED;
- $externally_ok = 0;
- }
- }
- elsif ($prefix ne "") {
-
- # The 'Is' prefix is handled in the pod by a wild
- # card, and we won't use it for an external name
- $make_pod_entry = 0;
- $status = $status || $NORMAL;
- $externally_ok = 0;
- }
- else {
-
- # Here, is an empty prefix, non block. This gets its
- # own pod entry and can be used for an external name.
- $make_pod_entry = 1;
- $status = $status || $NORMAL;
- $externally_ok = 1;
- }
-
- # Here, there isn't a perl pre-existing table with the
- # name. Look through the list of equivalents of this
- # table to see if one is a perl table.
- foreach my $equivalent ($actual->leader->equivalents) {
- next if $equivalent->property != $perl;
-
- # Here, have found a table for $perl. Add this alias
- # to it, and are done with this prefix.
- $equivalent->add_alias($proposed_name,
- Pod_Entry => $make_pod_entry,
- Status => $status,
- Externally_Ok => $externally_ok);
- trace "adding alias perl=$proposed_name to $equivalent" if main::DEBUG && $to_trace;
- next PREFIX;
- }
-
- # Here, $perl doesn't already have a table that is a
- # synonym for this property, add one.
- my $added_table = $perl->add_match_table($proposed_name,
- Pod_Entry => $make_pod_entry,
- Status => $status,
- Externally_Ok => $externally_ok);
- # And it will be related to the actual table, since it is
- # based on it.
- $added_table->set_equivalent_to($actual, Related => 1);
- trace "added ", $perl->table($proposed_name) if main::DEBUG && $to_trace;
- next;
- } # End of no pre-existing.
-
- # Here, there is a pre-existing table that has the proposed
- # name. We could be in trouble, but not if this is just a
- # synonym for another table that we have already made a child
- # of the pre-existing one.
- if ($pre_existing->is_equivalent_to($actual)) {
- trace "$pre_existing is already equivalent to $actual; adding alias perl=$proposed_name to it" if main::DEBUG && $to_trace;
- $pre_existing->add_alias($proposed_name);
- next;
- }
-
- # Here, there is a name collision, but it still could be ok if
- # the tables match the identical set of code points, in which
- # case, we can combine the names. Compare each table's code
- # point list to see if they are identical.
- trace "Potential name conflict with $pre_existing having ", $pre_existing->count, " code points" if main::DEBUG && $to_trace;
- if ($pre_existing->matches_identically_to($actual)) {
-
- # Here, they do match identically. Not a real conflict.
- # Make the perl version a child of the Unicode one, except
- # in the non-obvious case of where the perl name is
- # already a synonym of another Unicode property. (This is
- # excluded by the test for it being its own parent.) The
- # reason for this exclusion is that then the two Unicode
- # properties become related; and we don't really know if
- # they are or not. We generate documentation based on
- # relatedness, and this would be misleading. Code
- # later executed in the process will cause the tables to
- # be represented by a single file anyway, without making
- # it look in the pod like they are necessarily related.
- if ($pre_existing->parent == $pre_existing
- && ($pre_existing->property == $perl
- || $actual->property == $perl))
- {
- trace "Setting $pre_existing equivalent to $actual since one is \$perl, and match identical sets" if main::DEBUG && $to_trace;
- $pre_existing->set_equivalent_to($actual, Related => 1);
- }
- elsif (main::DEBUG && $to_trace) {
- trace "$pre_existing is equivalent to $actual since match identical sets, but not setting them equivalent, to preserve the separateness of the perl aliases";
- trace $pre_existing->parent;
- }
- next PREFIX;
- }
-
- # Here they didn't match identically, there is a real conflict
- # between our new name and a pre-existing property.
- $actual->add_conflicting($proposed_name, 'p', $pre_existing);
- $pre_existing->add_conflicting($nominal->full_name,
- 'p',
- $actual);
-
- # Don't output a warning for aliases for the block
- # properties (unless they start with 'In_') as it is
- # expected that there will be conflicts and the block
- # form loses.
- if ($verbosity >= $NORMAL_VERBOSITY
- && ($actual->property != $block || $prefix eq 'In_'))
- {
- print simple_fold(join_lines(<<END
-There is already an alias named $proposed_name (from " . $pre_existing . "),
-so not creating this alias for " . $actual
-END
- ), "", 4);
- }
-
- # Keep track for documentation purposes.
- $has_In_conflicts++ if $prefix eq 'In_';
- $has_Is_conflicts++ if $prefix eq 'Is_';
- }
- }
- }
-
- # There are some properties which have No and Yes (and N and Y) as
- # property values, but aren't binary, and could possibly be confused with
- # binary ones. So create caveats for them. There are tables that are
- # named 'No', and tables that are named 'N', but confusion is not likely
- # unless they are the same table. For example, N meaning Number or
- # Neutral is not likely to cause confusion, so don't add caveats to things
- # like them.
- foreach my $property (grep { $_->type != $BINARY } property_ref('*')) {
- my $yes = $property->table('Yes');
- if (defined $yes) {
- my $y = $property->table('Y');
- if (defined $y && $yes == $y) {
- foreach my $alias ($property->aliases) {
- $yes->add_conflicting($alias->name);
- }
- }
- }
- my $no = $property->table('No');
- if (defined $no) {
- my $n = $property->table('N');
- if (defined $n && $no == $n) {
- foreach my $alias ($property->aliases) {
- $no->add_conflicting($alias->name, 'P');
- }
- }
- }
- }
-
- return;
-}
-
-sub register_file_for_name($$$) {
- # Given info about a table and a datafile that it should be associated
- # with, register that assocation
-
- my $table = shift;
- my $directory_ref = shift; # Array of the directory path for the file
- my $file = shift; # The file name in the final directory, [-1].
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- trace "table=$table, file=$file, directory=@$directory_ref" if main::DEBUG && $to_trace;
-
- if ($table->isa('Property')) {
- $table->set_file_path(@$directory_ref, $file);
- push @map_properties, $table
- if $directory_ref->[0] eq $map_directory;
- return;
- }
-
- # Do all of the work for all equivalent tables when called with the leader
- # table, so skip if isn't the leader.
- return if $table->leader != $table;
-
- # Join all the file path components together, using slashes.
- my $full_filename = join('/', @$directory_ref, $file);
-
- # All go in the same subdirectory of unicore
- if ($directory_ref->[0] ne $matches_directory) {
- Carp::my_carp("Unexpected directory in "
- . join('/', @{$directory_ref}, $file));
- }
-
- # For this table and all its equivalents ...
- foreach my $table ($table, $table->equivalents) {
-
- # Associate it with its file internally. Don't include the
- # $matches_directory first component
- $table->set_file_path(@$directory_ref, $file);
- my $sub_filename = join('/', $directory_ref->[1, -1], $file);
-
- my $property = $table->property;
- $property = ($property == $perl)
- ? "" # 'perl' is never explicitly stated
- : standardize($property->name) . '=';
-
- my $deprecated = ($table->status eq $DEPRECATED)
- ? $table->status_info
- : "";
-
- # And for each of the table's aliases... This inner loop eventually
- # goes through all aliases in the UCD that we generate regex match
- # files for
- foreach my $alias ($table->aliases) {
- my $name = $alias->name;
-
- # Generate an entry in either the loose or strict hashes, which
- # will translate the property and alias names combination into the
- # file where the table for them is stored.
- my $standard;
- if ($alias->loose_match) {
- $standard = $property . standardize($alias->name);
- if (exists $loose_to_file_of{$standard}) {
- Carp::my_carp("Can't change file registered to $loose_to_file_of{$standard} to '$sub_filename'.");
- }
- else {
- $loose_to_file_of{$standard} = $sub_filename;
- }
- }
- else {
- $standard = lc ($property . $name);
- if (exists $stricter_to_file_of{$standard}) {
- Carp::my_carp("Can't change file registered to $stricter_to_file_of{$standard} to '$sub_filename'.");
- }
- else {
- $stricter_to_file_of{$standard} = $sub_filename;
-
- # Tightly coupled with how utf8_heavy.pl works, for a
- # floating point number that is a whole number, get rid of
- # the trailing decimal point and 0's, so that utf8_heavy
- # will work. Also note that this assumes that such a
- # number is matched strictly; so if that were to change,
- # this would be wrong.
- if ((my $integer_name = $name)
- =~ s/^ ( -? \d+ ) \.0+ $ /$1/x)
- {
- $stricter_to_file_of{$property . $integer_name}
- = $sub_filename;
- }
- }
- }
-
- # Keep a list of the deprecated properties and their filenames
- if ($deprecated) {
- $utf8::why_deprecated{$sub_filename} = $deprecated;
- }
- }
- }
-
- return;
-}
-
-{ # Closure
- my %base_names; # Names already used for avoiding DOS 8.3 filesystem
- # conflicts
- my %full_dir_name_of; # Full length names of directories used.
-
- sub construct_filename($$$) {
- # Return a file name for a table, based on the table name, but perhaps
- # changed to get rid of non-portable characters in it, and to make
- # sure that it is unique on a file system that allows the names before
- # any period to be at most 8 characters (DOS). While we're at it
- # check and complain if there are any directory conflicts.
-
- my $name = shift; # The name to start with
- my $mutable = shift; # Boolean: can it be changed? If no, but
- # yet it must be to work properly, a warning
- # is given
- my $directories_ref = shift; # A reference to an array containing the
- # path to the file, with each element one path
- # component. This is used because the same
- # name can be used in different directories.
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $warn = ! defined wantarray; # If true, then if the name is
- # changed, a warning is issued as well.
-
- if (! defined $name) {
- Carp::my_carp("Undefined name in directory "
- . File::Spec->join(@$directories_ref)
- . ". '_' used");
- return '_';
- }
-
- # Make sure that no directory names conflict with each other. Look at
- # each directory in the input file's path. If it is already in use,
- # assume it is correct, and is merely being re-used, but if we
- # truncate it to 8 characters, and find that there are two directories
- # that are the same for the first 8 characters, but differ after that,
- # then that is a problem.
- foreach my $directory (@$directories_ref) {
- my $short_dir = substr($directory, 0, 8);
- if (defined $full_dir_name_of{$short_dir}) {
- next if $full_dir_name_of{$short_dir} eq $directory;
- Carp::my_carp("$directory conflicts with $full_dir_name_of{$short_dir}. Bad News. Continuing anyway");
- }
- else {
- $full_dir_name_of{$short_dir} = $directory;
- }
- }
-
- my $path = join '/', @$directories_ref;
- $path .= '/' if $path;
-
- # Remove interior underscores.
- (my $filename = $name) =~ s/ (?<=.) _ (?=.) //xg;
-
- # Change any non-word character into an underscore, and truncate to 8.
- $filename =~ s/\W+/_/g; # eg., "L&" -> "L_"
- substr($filename, 8) = "" if length($filename) > 8;
-
- # Make sure the basename doesn't conflict with something we
- # might have already written. If we have, say,
- # InGreekExtended1
- # InGreekExtended2
- # they become
- # InGreekE
- # InGreek2
- my $warned = 0;
- while (my $num = $base_names{$path}{lc $filename}++) {
- $num++; # so basenames with numbers start with '2', which
- # just looks more natural.
-
- # Want to append $num, but if it'll make the basename longer
- # than 8 characters, pre-truncate $filename so that the result
- # is acceptable.
- my $delta = length($filename) + length($num) - 8;
- if ($delta > 0) {
- substr($filename, -$delta) = $num;
- }
- else {
- $filename .= $num;
- }
- if ($warn && ! $warned) {
- $warned = 1;
- Carp::my_carp("'$path$name' conflicts with another name on a filesystem with 8 significant characters (like DOS). Proceeding anyway.");
- }
- }
-
- return $filename if $mutable;
-
- # If not changeable, must return the input name, but warn if needed to
- # change it beyond shortening it.
- if ($name ne $filename
- && substr($name, 0, length($filename)) ne $filename) {
- Carp::my_carp("'$path$name' had to be changed into '$filename'. Bad News. Proceeding anyway.");
- }
- return $name;
- }
-}
-
-# The pod file contains a very large table. Many of the lines in that table
-# would exceed a typical output window's size, and so need to be wrapped with
-# a hanging indent to make them look good. The pod language is really
-# insufficient here. There is no general construct to do that in pod, so it
-# is done here by beginning each such line with a space to cause the result to
-# be output without formatting, and doing all the formatting here. This leads
-# to the result that if the eventual display window is too narrow it won't
-# look good, and if the window is too wide, no advantage is taken of that
-# extra width. A further complication is that the output may be indented by
-# the formatter so that there is less space than expected. What I (khw) have
-# done is to assume that that indent is a particular number of spaces based on
-# what it is in my Linux system; people can always resize their windows if
-# necessary, but this is obviously less than desirable, but the best that can
-# be expected.
-my $automatic_pod_indent = 8;
-
-# Try to format so that uses fewest lines, but few long left column entries
-# slide into the right column. An experiment on 5.1 data yielded the
-# following percentages that didn't cut into the other side along with the
-# associated first-column widths
-# 69% = 24
-# 80% not too bad except for a few blocks
-# 90% = 33; # , cuts 353/3053 lines from 37 = 12%
-# 95% = 37;
-my $indent_info_column = 27; # 75% of lines didn't have overlap
-
-my $FILLER = 3; # Length of initial boiler-plate columns in a pod line
- # The 3 is because of:
- # 1 for the leading space to tell the pod formatter to
- # output as-is
- # 1 for the flag
- # 1 for the space between the flag and the main data
-
-sub format_pod_line ($$$;$$) {
- # Take a pod line and return it, formatted properly
-
- my $first_column_width = shift;
- my $entry = shift; # Contents of left column
- my $info = shift; # Contents of right column
-
- my $status = shift || ""; # Any flag
-
- my $loose_match = shift; # Boolean.
- $loose_match = 1 unless defined $loose_match;
-
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- my $flags = "";
- $flags .= $STRICTER if ! $loose_match;
-
- $flags .= $status if $status;
-
- # There is a blank in the left column to cause the pod formatter to
- # output the line as-is.
- return sprintf " %-*s%-*s %s\n",
- # The first * in the format is replaced by this, the -1 is
- # to account for the leading blank. There isn't a
- # hard-coded blank after this to separate the flags from
- # the rest of the line, so that in the unlikely event that
- # multiple flags are shown on the same line, they both
- # will get displayed at the expense of that separation,
- # but since they are left justified, a blank will be
- # inserted in the normal case.
- $FILLER - 1,
- $flags,
-
- # The other * in the format is replaced by this number to
- # cause the first main column to right fill with blanks.
- # The -1 is for the guaranteed blank following it.
- $first_column_width - $FILLER - 1,
- $entry,
- $info;
-}
-
-my @zero_match_tables; # List of tables that have no matches in this release
-
-sub make_table_pod_entries($) {
- # This generates the entries for the pod file for a given table.
- # Also done at this time are any children tables. The output looks like:
- # \p{Common} \p{Script=Common} (Short: \p{Zyyy}) (5178)
-
- my $input_table = shift; # Table the entry is for
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # Generate parent and all its children at the same time.
- return if $input_table->parent != $input_table;
-
- my $property = $input_table->property;
- my $type = $property->type;
- my $full_name = $property->full_name;
-
- my $count = $input_table->count;
- my $string_count = clarify_number($count);
- my $status = $input_table->status;
- my $status_info = $input_table->status_info;
-
- my $entry_for_first_table; # The entry for the first table output.
- # Almost certainly, it is the parent.
-
- # For each related table (including itself), we will generate a pod entry
- # for each name each table goes by
- foreach my $table ($input_table, $input_table->children) {
-
- # utf8_heavy.pl cannot deal with null string property values, so don't
- # output any.
- next if $table->name eq "";
-
- # First, gather all the info that applies to this table as a whole.
-
- push @zero_match_tables, $table if $count == 0;
-
- my $table_property = $table->property;
-
- # The short name has all the underscores removed, while the full name
- # retains them. Later, we decide whether to output a short synonym
- # for the full one, we need to compare apples to apples, so we use the
- # short name's length including underscores.
- my $table_property_short_name_length;
- my $table_property_short_name
- = $table_property->short_name(\$table_property_short_name_length);
- my $table_property_full_name = $table_property->full_name;
-
- # Get how much savings there is in the short name over the full one
- # (delta will always be <= 0)
- my $table_property_short_delta = $table_property_short_name_length
- - length($table_property_full_name);
- my @table_description = $table->description;
- my @table_note = $table->note;
-
- # Generate an entry for each alias in this table.
- my $entry_for_first_alias; # saves the first one encountered.
- foreach my $alias ($table->aliases) {
-
- # Skip if not to go in pod.
- next unless $alias->make_pod_entry;
-
- # Start gathering all the components for the entry
- my $name = $alias->name;
-
- my $entry; # Holds the left column, may include extras
- my $entry_ref; # To refer to the left column's contents from
- # another entry; has no extras
-
- # First the left column of the pod entry. Tables for the $perl
- # property always use the single form.
- if ($table_property == $perl) {
- $entry = "\\p{$name}";
- $entry_ref = "\\p{$name}";
- }
- else { # Compound form.
-
- # Only generate one entry for all the aliases that mean true
- # or false in binary properties. Append a '*' to indicate
- # some are missing. (The heading comment notes this.)
- my $wild_card_mark;
- if ($type == $BINARY) {
- next if $name ne 'N' && $name ne 'Y';
- $wild_card_mark = '*';
- }
- else {
- $wild_card_mark = "";
- }
-
- # Colon-space is used to give a little more space to be easier
- # to read;
- $entry = "\\p{"
- . $table_property_full_name
- . ": $name$wild_card_mark}";
-
- # But for the reference to this entry, which will go in the
- # right column, where space is at a premium, use equals
- # without a space
- $entry_ref = "\\p{" . $table_property_full_name . "=$name}";
- }
-
- # Then the right (info) column. This is stored as components of
- # an array for the moment, then joined into a string later. For
- # non-internal only properties, begin the info with the entry for
- # the first table we encountered (if any), as things are ordered
- # so that that one is the most descriptive. This leads to the
- # info column of an entry being a more descriptive version of the
- # name column
- my @info;
- if ($name =~ /^_/) {
- push @info,
- '(For internal use by Perl, not necessarily stable)';
- }
- elsif ($entry_for_first_alias) {
- push @info, $entry_for_first_alias;
- }
-
- # If this entry is equivalent to another, add that to the info,
- # using the first such table we encountered
- if ($entry_for_first_table) {
- if (@info) {
- push @info, "(= $entry_for_first_table)";
- }
- else {
- push @info, $entry_for_first_table;
- }
- }
-
- # If the name is a large integer, add an equivalent with an
- # exponent for better readability
- if ($name =~ /^[+-]?[\d]+$/ && $name >= 10_000) {
- push @info, sprintf "(= %.1e)", $name
- }
-
- my $parenthesized = "";
- if (! $entry_for_first_alias) {
-
- # This is the first alias for the current table. The alias
- # array is ordered so that this is the fullest, most
- # descriptive alias, so it gets the fullest info. The other
- # aliases are mostly merely pointers to this one, using the
- # information already added above.
-
- # Display any status message, but only on the parent table
- if ($status && ! $entry_for_first_table) {
- push @info, $status_info;
- }
-
- # Put out any descriptive info
- if (@table_description || @table_note) {
- push @info, join "; ", @table_description, @table_note;
- }
-
- # Look to see if there is a shorter name we can point people
- # at
- my $standard_name = standardize($name);
- my $short_name;
- my $proposed_short = $table->short_name;
- if (defined $proposed_short) {
- my $standard_short = standardize($proposed_short);
-
- # If the short name is shorter than the standard one, or
- # even it it's not, but the combination of it and its
- # short property name (as in \p{prop=short} ($perl doesn't
- # have this form)) saves at least two characters, then,
- # cause it to be listed as a shorter synonym.
- if (length $standard_short < length $standard_name
- || ($table_property != $perl
- && (length($standard_short)
- - length($standard_name)
- + $table_property_short_delta) # (<= 0)
- < -2))
- {
- $short_name = $proposed_short;
- if ($table_property != $perl) {
- $short_name = $table_property_short_name
- . "=$short_name";
- }
- $short_name = "\\p{$short_name}";
- }
- }
-
- # And if this is a compound form name, see if there is a
- # single form equivalent
- my $single_form;
- if ($table_property != $perl) {
-
- # Special case the binary N tables, so that will print
- # \P{single}, but use the Y table values to populate
- # 'single', as we haven't populated the N table.
- my $test_table;
- my $p;
- if ($type == $BINARY
- && $input_table == $property->table('No'))
- {
- $test_table = $property->table('Yes');
- $p = 'P';
- }
- else {
- $test_table = $input_table;
- $p = 'p';
- }
-
- # Look for a single form amongst all the children.
- foreach my $table ($test_table->children) {
- next if $table->property != $perl;
- my $proposed_name = $table->short_name;
- next if ! defined $proposed_name;
-
- # Don't mention internal-only properties as a possible
- # single form synonym
- next if substr($proposed_name, 0, 1) eq '_';
-
- $proposed_name = "\\$p\{$proposed_name}";
- if (! defined $single_form
- || length($proposed_name) < length $single_form)
- {
- $single_form = $proposed_name;
-
- # The goal here is to find a single form; not the
- # shortest possible one. We've already found a
- # short name. So, stop at the first single form
- # found, which is likely to be closer to the
- # original.
- last;
- }
- }
- }
-
- # Ouput both short and single in the same parenthesized
- # expression, but with only one of 'Single', 'Short' if there
- # are both items.
- if ($short_name || $single_form || $table->conflicting) {
- $parenthesized .= '(';
- $parenthesized .= "Short: $short_name" if $short_name;
- if ($short_name && $single_form) {
- $parenthesized .= ', ';
- }
- elsif ($single_form) {
- $parenthesized .= 'Single: ';
- }
- $parenthesized .= $single_form if $single_form;
- }
- }
-
-
- # Warn if this property isn't the same as one that a
- # semi-casual user might expect. The other components of this
- # parenthesized structure are calculated only for the first entry
- # for this table, but the conflicting is deemed important enough
- # to go on every entry.
- my $conflicting = join " NOR ", $table->conflicting;
- if ($conflicting) {
- $parenthesized .= '(' if ! $parenthesized;
- $parenthesized .= '; ' if $parenthesized ne '(';
- $parenthesized .= "NOT $conflicting";
- }
- $parenthesized .= ')' if $parenthesized;
-
- push @info, $parenthesized if $parenthesized;
-
- if ($table_property != $perl && $table->perl_extension) {
- push @info, '(Perl extension)';
- }
- push @info, "($string_count)" if $output_range_counts;
-
- # Now, we have both the entry and info so add them to the
- # list of all the properties.
- push @match_properties,
- format_pod_line($indent_info_column,
- $entry,
- join( " ", @info),
- $alias->status,
- $alias->loose_match);
-
- $entry_for_first_alias = $entry_ref unless $entry_for_first_alias;
- } # End of looping through the aliases for this table.
-
- if (! $entry_for_first_table) {
- $entry_for_first_table = $entry_for_first_alias;
- }
- } # End of looping through all the related tables
- return;
-}
-
-sub pod_alphanumeric_sort {
- # Sort pod entries alphanumerically.
-
- # The first few character columns are filler, plus the '\p{'; and get rid
- # of all the trailing stuff, starting with the trailing '}', so as to sort
- # on just 'Name=Value'
- (my $a = lc $a) =~ s/^ .*? { //x;
- $a =~ s/}.*//;
- (my $b = lc $b) =~ s/^ .*? { //x;
- $b =~ s/}.*//;
-
- # Determine if the two operands are both internal only or both not.
- # Character 0 should be a '\'; 1 should be a p; 2 should be '{', so 3
- # should be the underscore that begins internal only
- my $a_is_internal = (substr($a, 0, 1) eq '_');
- my $b_is_internal = (substr($b, 0, 1) eq '_');
-
- # Sort so the internals come last in the table instead of first (which the
- # leading underscore would otherwise indicate).
- if ($a_is_internal != $b_is_internal) {
- return 1 if $a_is_internal;
- return -1
- }
-
- # Determine if the two operands are numeric property values or not.
- # A numeric property will look like xyz: 3. But the number
- # can begin with an optional minus sign, and may have a
- # fraction or rational component, like xyz: 3/2. If either
- # isn't numeric, use alphabetic sort.
- my ($a_initial, $a_number) =
- ($a =~ /^ ( [^:=]+ [:=] \s* ) (-? \d+ (?: [.\/] \d+)? )/ix);
- return $a cmp $b unless defined $a_number;
- my ($b_initial, $b_number) =
- ($b =~ /^ ( [^:=]+ [:=] \s* ) (-? \d+ (?: [.\/] \d+)? )/ix);
- return $a cmp $b unless defined $b_number;
-
- # Here they are both numeric, but use alphabetic sort if the
- # initial parts don't match
- return $a cmp $b if $a_initial ne $b_initial;
-
- # Convert rationals to floating for the comparison.
- $a_number = eval $a_number if $a_number =~ qr{/};
- $b_number = eval $b_number if $b_number =~ qr{/};
-
- return $a_number <=> $b_number;
-}
-
-sub make_pod () {
- # Create the .pod file. This generates the various subsections and then
- # combines them in one big HERE document.
-
- return unless defined $pod_directory;
- print "Making pod file\n" if $verbosity >= $PROGRESS;
-
- my $exception_message =
- '(Any exceptions are individually noted beginning with the word NOT.)';
- my @block_warning;
- if (-e 'Blocks.txt') {
-
- # Add the line: '\p{In_*} \p{Block: *}', with the warning message
- # if the global $has_In_conflicts indicates we have them.
- push @match_properties, format_pod_line($indent_info_column,
- '\p{In_*}',
- '\p{Block: *}'
- . (($has_In_conflicts)
- ? " $exception_message"
- : ""));
- @block_warning = << "END";
-
-Matches in the Block property have shortcuts that begin with 'In_'. For
-example, \\p{Block=Latin1} can be written as \\p{In_Latin1}. For backward
-compatibility, if there is no conflict with another shortcut, these may also
-be written as \\p{Latin1} or \\p{Is_Latin1}. But, N.B., there are numerous
-such conflicting shortcuts. Use of these forms for Block is discouraged, and
-are flagged as such, not only because of the potential confusion as to what is
-meant, but also because a later release of Unicode may preempt the shortcut,
-and your program would no longer be correct. Use the 'In_' form instead to
-avoid this, or even more clearly, use the compound form, e.g.,
-\\p{blk:latin1}. See L<perlunicode/"Blocks"> for more information about this.
-END
- }
- my $text = "If an entry has flag(s) at its beginning, like '$DEPRECATED', the 'Is_' form has the same flag(s)";
- $text = "$exception_message $text" if $has_Is_conflicts;
-
- # And the 'Is_ line';
- push @match_properties, format_pod_line($indent_info_column,
- '\p{Is_*}',
- "\\p{*} $text");
-
- # Sort the properties array for output. It is sorted alphabetically
- # except numerically for numeric properties, and only output unique lines.
- @match_properties = sort pod_alphanumeric_sort uniques @match_properties;
-
- my $formatted_properties = simple_fold(\@match_properties,
- "",
- # indent succeeding lines by two extra
- # which looks better
- $indent_info_column + 2,
-
- # shorten the line length by how much
- # the formatter indents, so the folded
- # line will fit in the space
- # presumably available
- $automatic_pod_indent);
- # Add column headings, indented to be a little more centered, but not
- # exactly
- $formatted_properties = format_pod_line($indent_info_column,
- ' NAME',
- ' INFO')
- . "\n"
- . $formatted_properties;
-
- # Generate pod documentation lines for the tables that match nothing
- my $zero_matches;
- if (@zero_match_tables) {
- @zero_match_tables = uniques(@zero_match_tables);
- $zero_matches = join "\n\n",
- map { $_ = '=item \p{' . $_->complete_name . "}" }
- sort { $a->complete_name cmp $b->complete_name }
- uniques(@zero_match_tables);
-
- $zero_matches = <<END;
-
-=head2 Legal \\p{} and \\P{} constructs that match no characters
-
-Unicode has some property-value pairs that currently don't match anything.
-This happens generally either because they are obsolete, or for symmetry with
-other forms, but no language has yet been encoded that uses them. In this
-version of Unicode, the following match zero code points:
-
-=over 4
-
-$zero_matches
-
-=back
-
-END
- }
-
- # Generate list of properties that we don't accept, grouped by the reasons
- # why. This is so only put out the 'why' once, and then list all the
- # properties that have that reason under it.
-
- my %why_list; # The keys are the reasons; the values are lists of
- # properties that have the key as their reason
-
- # For each property, add it to the list that are suppressed for its reason
- # The sort will cause the alphabetically first properties to be added to
- # each list first, so each list will be sorted.
- foreach my $property (sort keys %why_suppressed) {
- push @{$why_list{$why_suppressed{$property}}}, $property;
- }
-
- # For each reason (sorted by the first property that has that reason)...
- my @bad_re_properties;
- foreach my $why (sort { $why_list{$a}->[0] cmp $why_list{$b}->[0] }
- keys %why_list)
- {
- # Add to the output, all the properties that have that reason. Start
- # with an empty line.
- push @bad_re_properties, "\n\n";
-
- my $has_item = 0; # Flag if actually output anything.
- foreach my $name (@{$why_list{$why}}) {
-
- # Split compound names into $property and $table components
- my $property = $name;
- my $table;
- if ($property =~ / (.*) = (.*) /x) {
- $property = $1;
- $table = $2;
- }
-
- # This release of Unicode may not have a property that is
- # suppressed, so don't reference a non-existent one.
- $property = property_ref($property);
- next if ! defined $property;
-
- # And since this list is only for match tables, don't list the
- # ones that don't have match tables.
- next if ! $property->to_create_match_tables;
-
- # Find any abbreviation, and turn it into a compound name if this
- # is a property=value pair.
- my $short_name = $property->name;
- $short_name .= '=' . $property->table($table)->name if $table;
-
- # And add the property as an item for the reason.
- push @bad_re_properties, "\n=item I<$name> ($short_name)\n";
- $has_item = 1;
- }
-
- # And add the reason under the list of properties, if such a list
- # actually got generated. Note that the header got added
- # unconditionally before. But pod ignores extra blank lines, so no
- # harm.
- push @bad_re_properties, "\n$why\n" if $has_item;
-
- } # End of looping through each reason.
-
- # Generate a list of the properties whose map table we output, from the
- # global @map_properties.
- my @map_tables_actually_output;
- my $info_indent = 20; # Left column is narrower than \p{} table.
- foreach my $property (@map_properties) {
-
- # Get the path to the file; don't output any not in the standard
- # directory.
- my @path = $property->file_path;
- next if $path[0] ne $map_directory;
- shift @path; # Remove the standard name
-
- my $file = join '/', @path; # In case is in sub directory
- my $info = $property->full_name;
- my $short_name = $property->name;
- if ($info ne $short_name) {
- $info .= " ($short_name)";
- }
- foreach my $more_info ($property->description,
- $property->note,
- $property->status_info)
- {
- next unless $more_info;
- $info =~ s/\.\Z//;
- $info .= ". $more_info";
- }
- push @map_tables_actually_output, format_pod_line($info_indent,
- $file,
- $info,
- $property->status);
- }
-
- # Sort alphabetically, and fold for output
- @map_tables_actually_output = sort
- pod_alphanumeric_sort @map_tables_actually_output;
- @map_tables_actually_output
- = simple_fold(\@map_tables_actually_output,
- ' ',
- $info_indent,
- $automatic_pod_indent);
-
- # Generate a list of the formats that can appear in the map tables.
- my @map_table_formats;
- foreach my $format (sort keys %map_table_formats) {
- push @map_table_formats, " $format $map_table_formats{$format}\n";
- }
-
- # Everything is ready to assemble.
- my @OUT = << "END";
-=begin comment
-
-$HEADER
-
-To change this file, edit $0 instead.
-
-=end comment
-
-=head1 NAME
-
-$pod_file - Index of Unicode Version $string_version properties in Perl
-
-=head1 DESCRIPTION
-
-There are many properties in Unicode, and Perl provides access to almost all of
-them, as well as some additional extensions and short-cut synonyms.
-
-And just about all of the few that aren't accessible through the Perl
-core are accessible through the modules: Unicode::Normalize and
-Unicode::UCD, and for Unihan properties, via the CPAN module Unicode::Unihan.
-
-This document merely lists all available properties and does not attempt to
-explain what each property really means. There is a brief description of each
-Perl extension. There is some detail about Blocks, Scripts, General_Category,
-and Bidi_Class in L<perlunicode>, but to find out about the intricacies of the
-Unicode properties, refer to the Unicode standard. A good starting place is
-L<$unicode_reference_url>. More information on the Perl extensions is in
-L<perlrecharclass>.
-
-Note that you can define your own properties; see
-L<perlunicode/"User-Defined Character Properties">.
-
-=head1 Properties accessible through \\p{} and \\P{}
-
-The Perl regular expression \\p{} and \\P{} constructs give access to most of
-the Unicode character properties. The table below shows all these constructs,
-both single and compound forms.
-
-B<Compound forms> consist of two components, separated by an equals sign or a
-colon. The first component is the property name, and the second component is
-the particular value of the property to match against, for example,
-'\\p{Script: Greek}' or '\\p{Script=Greek}' both mean to match characters
-whose Script property is Greek.
-
-B<Single forms>, like '\\p{Greek}', are mostly Perl-defined shortcuts for
-their equivalent compound forms. The table shows these equivalences. (In our
-example, '\\p{Greek}' is a just a shortcut for '\\p{Script=Greek}'.)
-There are also a few Perl-defined single forms that are not shortcuts for a
-compound form. One such is \\p{Word}. These are also listed in the table.
-
-In parsing these constructs, Perl always ignores Upper/lower case differences
-everywhere within the {braces}. Thus '\\p{Greek}' means the same thing as
-'\\p{greek}'. But note that changing the case of the 'p' or 'P' before the
-left brace completely changes the meaning of the construct, from "match" (for
-'\\p{}') to "doesn't match" (for '\\P{}'). Casing in this document is for
-improved legibility.
-
-Also, white space, hyphens, and underscores are also normally ignored
-everywhere between the {braces}, and hence can be freely added or removed
-even if the C</x> modifier hasn't been specified on the regular expression.
-But $a_bold_stricter at the beginning of an entry in the table below
-means that tighter (stricter) rules are used for that entry:
-
-=over 4
-
-=item Single form (\\p{name}) tighter rules:
-
-White space, hyphens, and underscores ARE significant
-except for:
-
-=over 4
-
-=item * white space adjacent to a non-word character
-
-=item * underscores separating digits in numbers
-
-=back
-
-That means, for example, that you can freely add or remove white space
-adjacent to (but within) the braces without affecting the meaning.
-
-=item Compound form (\\p{name=value} or \\p{name:value}) tighter rules:
-
-The tighter rules given above for the single form apply to everything to the
-right of the colon or equals; the looser rules still apply to everything to
-the left.
-
-That means, for example, that you can freely add or remove white space
-adjacent to (but within) the braces and the colon or equal sign.
-
-=back
-
-Some properties are considered obsolete, but still available. There are
-several varieties of obsolesence:
-
-=over 4
-
-=item Obsolete
-
-Properties marked with $a_bold_obsolete in the table are considered
-obsolete. At the time of this writing (Unicode version 5.2) there is no
-information in the Unicode standard about the implications of a property being
-obsolete.
-
-=item Stabilized
-
-Obsolete properties may be stabilized. This means that they are not actively
-maintained by Unicode, and will not be extended as new characters are added to
-the standard. Such properties are marked with $a_bold_stabilized in the
-table. At the time of this writing (Unicode version 5.2) there is no further
-information in the Unicode standard about the implications of a property being
-stabilized.
-
-=item Deprecated
-
-Obsolete properties may be deprecated. This means that their use is strongly
-discouraged, so much so that a warning will be issued if used, unless the
-regular expression is in the scope of a C<S<no warnings 'deprecated'>>
-statement. $A_bold_deprecated flags each such entry in the table, and
-the entry there for the longest, most descriptive version of the property will
-give the reason it is deprecated, and perhaps advice. Perl may issue such a
-warning, even for properties that aren't officially deprecated by Unicode,
-when there used to be characters or code points that were matched by them, but
-no longer. This is to warn you that your program may not work like it did on
-earlier Unicode releases.
-
-A deprecated property may be made unavailable in a future Perl version, so it
-is best to move away from them.
-
-=back
-
-Some Perl extensions are present for backwards compatibility and are
-discouraged from being used, but not obsolete. $A_bold_discouraged
-flags each such entry in the table.
-
-@block_warning
-
-The table below has two columns. The left column contains the \\p{}
-constructs to look up, possibly preceeded by the flags mentioned above; and
-the right column contains information about them, like a description, or
-synonyms. It shows both the single and compound forms for each property that
-has them. If the left column is a short name for a property, the right column
-will give its longer, more descriptive name; and if the left column is the
-longest name, the right column will show any equivalent shortest name, in both
-single and compound forms if applicable.
-
-The right column will also caution you if a property means something different
-than what might normally be expected.
-
-All single forms are Perl extensions; a few compound forms are as well, and
-are noted as such.
-
-Numbers in (parentheses) indicate the total number of code points matched by
-the property. For emphasis, those properties that match no code points at all
-are listed as well in a separate section following the table.
-
-There is no description given for most non-Perl defined properties (See
-$unicode_reference_url for that).
-
-For compactness, 'B<*>' is used as a wildcard instead of showing all possible
-combinations. For example, entries like:
-
- \\p{Gc: *} \\p{General_Category: *}
-
-mean that 'Gc' is a synonym for 'General_Category', and anything that is valid
-for the latter is also valid for the former. Similarly,
-
- \\p{Is_*} \\p{*}
-
-means that if and only if, for example, \\p{Foo} exists, then \\p{Is_Foo} and
-\\p{IsFoo} are also valid and all mean the same thing. And similarly,
-\\p{Foo=Bar} means the same as \\p{Is_Foo=Bar} and \\p{IsFoo=Bar}. '*' here
-is restricted to something not beginning with an underscore.
-
-Also, in binary properties, 'Yes', 'T', and 'True' are all synonyms for 'Y'.
-And 'No', 'F', and 'False' are all synonyms for 'N'. The table shows 'Y*' and
-'N*' to indicate this, and doesn't have separate entries for the other
-possibilities. Note that not all properties which have values 'Yes' and 'No'
-are binary, and they have all their values spelled out without using this wild
-card, and a C<NOT> clause in their description that highlights their not being
-binary. These also require the compound form to match them, whereas true
-binary properties have both single and compound forms available.
-
-Note that all non-essential underscores are removed in the display of the
-short names below.
-
-B<Summary legend:>
-
-=over 4
-
-=item B<*> is a wild-card
-
-=item B<(\\d+)> in the info column gives the number of code points matched by
-this property.
-
-=item B<$DEPRECATED> means this is deprecated.
-
-=item B<$OBSOLETE> means this is obsolete.
-
-=item B<$STABILIZED> means this is stabilized.
-
-=item B<$STRICTER> means tighter (stricter) name matching applies.
-
-=item B<$DISCOURAGED> means use of this form is discouraged.
-
-=back
-
-$formatted_properties
-
-$zero_matches
-
-=head1 Properties not accessible through \\p{} and \\P{}
-
-A few properties are accessible in Perl via various function calls only.
-These are:
- Lowercase_Mapping lc() and lcfirst()
- Titlecase_Mapping ucfirst()
- Uppercase_Mapping uc()
-
-Case_Folding is accessible through the /i modifier in regular expressions.
-
-The Name property is accessible through the \\N{} interpolation in
-double-quoted strings and regular expressions, but both usages require a C<use
-charnames;> to be specified, which also contains related functions viacode()
-and vianame().
-
-=head1 Unicode regular expression properties that are NOT accepted by Perl
-
-Perl will generate an error for a few character properties in Unicode when
-used in a regular expression. The non-Unihan ones are listed below, with the
-reasons they are not accepted, perhaps with work-arounds. The short names for
-the properties are listed enclosed in (parentheses).
-
-=over 4
-
-@bad_re_properties
-
-=back
-
-An installation can choose to allow any of these to be matched by changing the
-controlling lists contained in the program C<\$Config{privlib}>/F<unicore/$0>
-and then re-running F<$0>. (C<\%Config> is available from the Config module).
-
-=head1 Files in the I<To> directory (for serious hackers only)
-
-All Unicode properties are really mappings (in the mathematical sense) from
-code points to their respective values. As part of its build process,
-Perl constructs tables containing these mappings for all properties that it
-deals with. But only a few of these are written out into files.
-Those written out are in the directory C<\$Config{privlib}>/F<unicore/To/>
-(%Config is available from the Config module).
-
-Those ones written are ones needed by Perl internally during execution, or for
-which there is some demand, and those for which there is no access through the
-Perl core. Generally, properties that can be used in regular expression
-matching do not have their map tables written, like Script. Nor are the
-simplistic properties that have a better, more complete version, such as
-Simple_Uppercase_Mapping (Uppercase_Mapping is written instead).
-
-None of the properties in the I<To> directory are currently directly
-accessible through the Perl core, although some may be accessed indirectly.
-For example, the uc() function implements the Uppercase_Mapping property and
-uses the F<Upper.pl> file found in this directory.
-
-The available files with their properties (short names in parentheses),
-and any flags or comments about them, are:
-
-@map_tables_actually_output
-
-An installation can choose to change which files are generated by changing the
-controlling lists contained in the program C<\$Config{privlib}>/F<unicore/$0>
-and then re-running F<$0>.
-
-Each of these files defines two hash entries to help reading programs decipher
-it. One of them looks like this:
-
- \$utf8::SwashInfo{'ToNAME'}{'format'} = 's';
-
-where 'NAME' is a name to indicate the property. For backwards compatibility,
-this is not necessarily the property's official Unicode name. (The 'To' is
-also for backwards compatibility.) The hash entry gives the format of the
-mapping fields of the table, currently one of the following:
-
- @map_table_formats
-
-This format applies only to the entries in the main body of the table.
-Entries defined in hashes or ones that are missing from the list can have a
-different format.
-
-The value that the missing entries have is given by the other SwashInfo hash
-entry line; it looks like this:
-
- \$utf8::SwashInfo{'ToNAME'}{'missing'} = 'NaN';
-
-This example line says that any Unicode code points not explicitly listed in
-the file have the value 'NaN' under the property indicated by NAME. If the
-value is the special string C<< <code point> >>, it means that the value for
-any missing code point is the code point itself. This happens, for example,
-in the file for Uppercase_Mapping (To/Upper.pl), in which code points like the
-character 'A', are missing because the uppercase of 'A' is itself.
-
-=head1 SEE ALSO
-
-L<$unicode_reference_url>
-
-L<perlrecharclass>
-
-L<perlunicode>
-
-END
-
- # And write it.
- main::write([ $pod_directory, "$pod_file.pod" ], @OUT);
- return;
-}
-
-sub make_Heavy () {
- # Create and write Heavy.pl, which passes info about the tables to
- # utf8_heavy.pl
-
- my @heavy = <<END;
-$HEADER
-$INTERNAL_ONLY
-
-# This file is for the use of utf8_heavy.pl
-
-# Maps property names in loose standard form to its standard name
-\%utf8::loose_property_name_of = (
-END
-
- push @heavy, simple_dumper (\%loose_property_name_of, ' ' x 4);
- push @heavy, <<END;
-);
-
-# Maps property, table to file for those using stricter matching
-\%utf8::stricter_to_file_of = (
-END
- push @heavy, simple_dumper (\%stricter_to_file_of, ' ' x 4);
- push @heavy, <<END;
-);
-
-# Maps property, table to file for those using loose matching
-\%utf8::loose_to_file_of = (
-END
- push @heavy, simple_dumper (\%loose_to_file_of, ' ' x 4);
- push @heavy, <<END;
-);
-
-# Maps floating point to fractional form
-\%utf8::nv_floating_to_rational = (
-END
- push @heavy, simple_dumper (\%nv_floating_to_rational, ' ' x 4);
- push @heavy, <<END;
-);
-
-# If a floating point number doesn't have enough digits in it to get this
-# close to a fraction, it isn't considered to be that fraction even if all the
-# digits it does have match.
-\$utf8::max_floating_slop = $MAX_FLOATING_SLOP;
-
-# Deprecated tables to generate a warning for. The key is the file containing
-# the table, so as to avoid duplication, as many property names can map to the
-# file, but we only need one entry for all of them.
-\%utf8::why_deprecated = (
-END
-
- push @heavy, simple_dumper (\%utf8::why_deprecated, ' ' x 4);
- push @heavy, <<END;
-);
-
-1;
-END
-
- main::write("Heavy.pl", @heavy);
- return;
-}
-
-sub write_all_tables() {
- # Write out all the tables generated by this program to files, as well as
- # the supporting data structures, pod file, and .t file.
-
- my @writables; # List of tables that actually get written
- my %match_tables_to_write; # Used to collapse identical match tables
- # into one file. Each key is a hash function
- # result to partition tables into buckets.
- # Each value is an array of the tables that
- # fit in the bucket.
-
- # For each property ...
- # (sort so that if there is an immutable file name, it has precedence, so
- # some other property can't come in and take over its file name. If b's
- # file name is defined, will return 1, meaning to take it first; don't
- # care if both defined, as they had better be different anyway)
- PROPERTY:
- foreach my $property (sort { defined $b->file } property_ref('*')) {
- my $type = $property->type;
-
- # And for each table for that property, starting with the mapping
- # table for it ...
- TABLE:
- foreach my $table($property,
-
- # and all the match tables for it (if any), sorted so
- # the ones with the shortest associated file name come
- # first. The length sorting prevents problems of a
- # longer file taking a name that might have to be used
- # by a shorter one. The alphabetic sorting prevents
- # differences between releases
- sort { my $ext_a = $a->external_name;
- return 1 if ! defined $ext_a;
- my $ext_b = $b->external_name;
- return -1 if ! defined $ext_b;
- my $cmp = length $ext_a <=> length $ext_b;
-
- # Return result if lengths not equal
- return $cmp if $cmp;
-
- # Alphabetic if lengths equal
- return $ext_a cmp $ext_b
- } $property->tables
- )
- {
-
- # Here we have a table associated with a property. It could be
- # the map table (done first for each property), or one of the
- # other tables. Determine which type.
- my $is_property = $table->isa('Property');
-
- my $name = $table->name;
- my $complete_name = $table->complete_name;
-
- # See if should suppress the table if is empty, but warn if it
- # contains something.
- my $suppress_if_empty_warn_if_not = grep { $complete_name eq $_ }
- keys %why_suppress_if_empty_warn_if_not;
-
- # Calculate if this table should have any code points associated
- # with it or not.
- my $expected_empty =
-
- # $perl should be empty, as well as properties that we just
- # don't do anything with
- ($is_property
- && ($table == $perl
- || grep { $complete_name eq $_ }
- @unimplemented_properties
- )
- )
-
- # Match tables in properties we skipped populating should be
- # empty
- || (! $is_property && ! $property->to_create_match_tables)
-
- # Tables and properties that are expected to have no code
- # points should be empty
- || $suppress_if_empty_warn_if_not
- ;
-
- # Set a boolean if this table is the complement of an empty binary
- # table
- my $is_complement_of_empty_binary =
- $type == $BINARY &&
- (($table == $property->table('Y')
- && $property->table('N')->is_empty)
- || ($table == $property->table('N')
- && $property->table('Y')->is_empty));
-
-
- # Some tables should match everything
- my $expected_full =
- ($is_property)
- ? # All these types of map tables will be full because
- # they will have been populated with defaults
- ($type == $ENUM || $type == $BINARY)
-
- : # A match table should match everything if its method
- # shows it should
- ($table->matches_all
-
- # The complement of an empty binary table will match
- # everything
- || $is_complement_of_empty_binary
- )
- ;
-
- if ($table->is_empty) {
-
-
- if ($suppress_if_empty_warn_if_not) {
- $table->set_status($SUPPRESSED,
- $why_suppress_if_empty_warn_if_not{$complete_name});
- }
-
- # Suppress expected empty tables.
- next TABLE if $expected_empty;
-
- # And setup to later output a warning for those that aren't
- # known to be allowed to be empty. Don't do the warning if
- # this table is a child of another one to avoid duplicating
- # the warning that should come from the parent one.
- if (($table == $property || $table->parent == $table)
- && $table->status ne $SUPPRESSED
- && ! grep { $complete_name =~ /^$_$/ }
- @tables_that_may_be_empty)
- {
- push @unhandled_properties, "$table";
- }
- }
- elsif ($expected_empty) {
- my $because = "";
- if ($suppress_if_empty_warn_if_not) {
- $because = " because $why_suppress_if_empty_warn_if_not{$complete_name}";
- }
-
- Carp::my_carp("Not expecting property $table$because. Generating file for it anyway.");
- }
-
- my $count = $table->count;
- if ($expected_full) {
- if ($count != $MAX_UNICODE_CODEPOINTS) {
- Carp::my_carp("$table matches only "
- . clarify_number($count)
- . " Unicode code points but should match "
- . clarify_number($MAX_UNICODE_CODEPOINTS)
- . " (off by "
- . clarify_number(abs($MAX_UNICODE_CODEPOINTS - $count))
- . "). Proceeding anyway.");
- }
-
- # Here is expected to be full. If it is because it is the
- # complement of an (empty) binary table that is to be
- # suppressed, then suppress this one as well.
- if ($is_complement_of_empty_binary) {
- my $opposing_name = ($name eq 'Y') ? 'N' : 'Y';
- my $opposing = $property->table($opposing_name);
- my $opposing_status = $opposing->status;
- if ($opposing_status) {
- $table->set_status($opposing_status,
- $opposing->status_info);
- }
- }
- }
- elsif ($count == $MAX_UNICODE_CODEPOINTS) {
- if ($table == $property || $table->leader == $table) {
- Carp::my_carp("$table unexpectedly matches all Unicode code points. Proceeding anyway.");
- }
- }
-
- if ($table->status eq $SUPPRESSED) {
- if (! $is_property) {
- my @children = $table->children;
- foreach my $child (@children) {
- if ($child->status ne $SUPPRESSED) {
- Carp::my_carp_bug("'$table' is suppressed and has a child '$child' which isn't");
- }
- }
- }
- next TABLE;
-
- }
- if (! $is_property) {
-
- # Several things need to be done just once for each related
- # group of match tables. Do them on the parent.
- if ($table->parent == $table) {
-
- # Add an entry in the pod file for the table; it also does
- # the children.
- make_table_pod_entries($table) if defined $pod_directory;
-
- # See if the the table matches identical code points with
- # something that has already been output. In that case,
- # no need to have two files with the same code points in
- # them. We use the table's hash() method to store these
- # in buckets, so that it is quite likely that if two
- # tables are in the same bucket they will be identical, so
- # don't have to compare tables frequently. The tables
- # have to have the same status to share a file, so add
- # this to the bucket hash. (The reason for this latter is
- # that Heavy.pl associates a status with a file.)
- my $hash = $table->hash . ';' . $table->status;
-
- # Look at each table that is in the same bucket as this
- # one would be.
- foreach my $comparison (@{$match_tables_to_write{$hash}})
- {
- if ($table->matches_identically_to($comparison)) {
- $table->set_equivalent_to($comparison,
- Related => 0);
- next TABLE;
- }
- }
-
- # Here, not equivalent, add this table to the bucket.
- push @{$match_tables_to_write{$hash}}, $table;
- }
- }
- else {
-
- # Here is the property itself.
- # Don't write out or make references to the $perl property
- next if $table == $perl;
-
- if ($type != $STRING) {
-
- # There is a mapping stored of the various synonyms to the
- # standardized name of the property for utf8_heavy.pl.
- # Also, the pod file contains entries of the form:
- # \p{alias: *} \p{full: *}
- # rather than show every possible combination of things.
-
- my @property_aliases = $property->aliases;
-
- # The full name of this property is stored by convention
- # first in the alias array
- my $full_property_name =
- '\p{' . $property_aliases[0]->name . ': *}';
- my $standard_property_name = standardize($table->name);
-
- # For each synonym ...
- for my $i (0 .. @property_aliases - 1) {
- my $alias = $property_aliases[$i];
- my $alias_name = $alias->name;
- my $alias_standard = standardize($alias_name);
-
- # Set the mapping for utf8_heavy of the alias to the
- # property
- if (exists ($loose_property_name_of{$alias_standard}))
- {
- Carp::my_carp("There already is a property with the same standard name as $alias_name: $loose_property_name_of{$alias_standard}. Old name is retained");
- }
- else {
- $loose_property_name_of{$alias_standard}
- = $standard_property_name;
- }
-
- # Now for the pod entry for this alias. Skip if not
- # outputting a pod; skip the first one, which is the
- # full name so won't have an entry like: '\p{full: *}
- # \p{full: *}', and skip if don't want an entry for
- # this one.
- next if $i == 0
- || ! defined $pod_directory
- || ! $alias->make_pod_entry;
-
- my $rhs = $full_property_name;
- if ($property != $perl && $table->perl_extension) {
- $rhs .= ' (Perl extension)';
- }
- push @match_properties,
- format_pod_line($indent_info_column,
- '\p{' . $alias->name . ': *}',
- $rhs,
- $alias->status);
- }
- } # End of non-string-like property code
-
-
- # Don't output a mapping file if not desired.
- next if ! $property->to_output_map;
- }
-
- # Here, we know we want to write out the table, but don't do it
- # yet because there may be other tables that come along and will
- # want to share the file, and the file's comments will change to
- # mention them. So save for later.
- push @writables, $table;
-
- } # End of looping through the property and all its tables.
- } # End of looping through all properties.
-
- # Now have all the tables that will have files written for them. Do it.
- foreach my $table (@writables) {
- my @directory;
- my $filename;
- my $property = $table->property;
- my $is_property = ($table == $property);
- if (! $is_property) {
-
- # Match tables for the property go in lib/$subdirectory, which is
- # the property's name. Don't use the standard file name for this,
- # as may get an unfamiliar alias
- @directory = ($matches_directory, $property->external_name);
- }
- else {
-
- @directory = $table->directory;
- $filename = $table->file;
- }
-
- # Use specified filename if avaliable, or default to property's
- # shortest name. We need an 8.3 safe filename (which means "an 8
- # safe" filename, since after the dot is only 'pl', which is < 3)
- # The 2nd parameter is if the filename shouldn't be changed, and
- # it shouldn't iff there is a hard-coded name for this table.
- $filename = construct_filename(
- $filename || $table->external_name,
- ! $filename, # mutable if no filename
- \@directory);
-
- register_file_for_name($table, \@directory, $filename);
-
- # Only need to write one file when shared by more than one
- # property
- next if ! $is_property && $table->leader != $table;
-
- # Construct a nice comment to add to the file
- $table->set_final_comment;
-
- $table->write;
- }
-
-
- # Write out the pod file
- make_pod;
-
- # And Heavy.pl
- make_Heavy;
-
- make_property_test_script() if $make_test_script;
- return;
-}
-
-my @white_space_separators = ( # This used only for making the test script.
- "",
- ' ',
- "\t",
- ' '
- );
-
-sub generate_separator($) {
- # This used only for making the test script. It generates the colon or
- # equal separator between the property and property value, with random
- # white space surrounding the separator
-
- my $lhs = shift;
-
- return "" if $lhs eq ""; # No separator if there's only one (the r) side
-
- # Choose space before and after randomly
- my $spaces_before =$white_space_separators[rand(@white_space_separators)];
- my $spaces_after = $white_space_separators[rand(@white_space_separators)];
-
- # And return the whole complex, half the time using a colon, half the
- # equals
- return $spaces_before
- . (rand() < 0.5) ? '=' : ':'
- . $spaces_after;
-}
-
-sub generate_tests($$$$$$) {
- # This used only for making the test script. It generates test cases that
- # are expected to compile successfully in perl. Note that the lhs and
- # rhs are assumed to already be as randomized as the caller wants.
-
- my $file_handle = shift; # Where to output the tests
- my $lhs = shift; # The property: what's to the left of the colon
- # or equals separator
- my $rhs = shift; # The property value; what's to the right
- my $valid_code = shift; # A code point that's known to be in the
- # table given by lhs=rhs; undef if table is
- # empty
- my $invalid_code = shift; # A code point known to not be in the table;
- # undef if the table is all code points
- my $warning = shift;
-
- # Get the colon or equal
- my $separator = generate_separator($lhs);
-
- # The whole 'property=value'
- my $name = "$lhs$separator$rhs";
-
- # Create a complete set of tests, with complements.
- if (defined $valid_code) {
- printf $file_handle
- qq/Expect(1, $valid_code, '\\p{$name}', $warning);\n/;
- printf $file_handle
- qq/Expect(0, $valid_code, '\\p{^$name}', $warning);\n/;
- printf $file_handle
- qq/Expect(0, $valid_code, '\\P{$name}', $warning);\n/;
- printf $file_handle
- qq/Expect(1, $valid_code, '\\P{^$name}', $warning);\n/;
- }
- if (defined $invalid_code) {
- printf $file_handle
- qq/Expect(0, $invalid_code, '\\p{$name}', $warning);\n/;
- printf $file_handle
- qq/Expect(1, $invalid_code, '\\p{^$name}', $warning);\n/;
- printf $file_handle
- qq/Expect(1, $invalid_code, '\\P{$name}', $warning);\n/;
- printf $file_handle
- qq/Expect(0, $invalid_code, '\\P{^$name}', $warning);\n/;
- }
- return;
-}
-
-sub generate_error($$$$) {
- # This used only for making the test script. It generates test cases that
- # are expected to not only not match, but to be syntax or similar errors
-
- my $file_handle = shift; # Where to output to.
- my $lhs = shift; # The property: what's to the left of the
- # colon or equals separator
- my $rhs = shift; # The property value; what's to the right
- my $already_in_error = shift; # Boolean; if true it's known that the
- # unmodified lhs and rhs will cause an error.
- # This routine should not force another one
- # Get the colon or equal
- my $separator = generate_separator($lhs);
-
- # Since this is an error only, don't bother to randomly decide whether to
- # put the error on the left or right side; and assume that the rhs is
- # loosely matched, again for convenience rather than rigor.
- $rhs = randomize_loose_name($rhs, 'ERROR') unless $already_in_error;
-
- my $property = $lhs . $separator . $rhs;
-
- print $file_handle qq/Error('\\p{$property}');\n/;
- print $file_handle qq/Error('\\P{$property}');\n/;
- return;
-}
-
-# These are used only for making the test script
-# XXX Maybe should also have a bad strict seps, which includes underscore.
-
-my @good_loose_seps = (
- " ",
- "-",
- "\t",
- "",
- "_",
- );
-my @bad_loose_seps = (
- "/a/",
- ':=',
- );
-
-sub randomize_stricter_name {
- # This used only for making the test script. Take the input name and
- # return a randomized, but valid version of it under the stricter matching
- # rules.
-
- my $name = shift;
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- # If the name looks like a number (integer, floating, or rational), do
- # some extra work
- if ($name =~ qr{ ^ ( -? ) (\d+ ( ( [./] ) \d+ )? ) $ }x) {
- my $sign = $1;
- my $number = $2;
- my $separator = $3;
-
- # If there isn't a sign, part of the time add a plus
- # Note: Not testing having any denominator having a minus sign
- if (! $sign) {
- $sign = '+' if rand() <= .3;
- }
-
- # And add 0 or more leading zeros.
- $name = $sign . ('0' x int rand(10)) . $number;
-
- if (defined $separator) {
- my $extra_zeros = '0' x int rand(10);
-
- if ($separator eq '.') {
-
- # Similarly, add 0 or more trailing zeros after a decimal
- # point
- $name .= $extra_zeros;
- }
- else {
-
- # Or, leading zeros before the denominator
- $name =~ s,/,/$extra_zeros,;
- }
- }
- }
-
- # For legibility of the test, only change the case of whole sections at a
- # time. To do this, first split into sections. The split returns the
- # delimiters
- my @sections;
- for my $section (split / ( [ - + \s _ . ]+ ) /x, $name) {
- trace $section if main::DEBUG && $to_trace;
-
- if (length $section > 1 && $section !~ /\D/) {
-
- # If the section is a sequence of digits, about half the time
- # randomly add underscores between some of them.
- if (rand() > .5) {
-
- # Figure out how many underscores to add. max is 1 less than
- # the number of digits. (But add 1 at the end to make sure
- # result isn't 0, and compensate earlier by subtracting 2
- # instead of 1)
- my $num_underscores = int rand(length($section) - 2) + 1;
-
- # And add them evenly throughout, for convenience, not rigor
- use integer;
- my $spacing = (length($section) - 1)/ $num_underscores;
- my $temp = $section;
- $section = "";
- for my $i (1 .. $num_underscores) {
- $section .= substr($temp, 0, $spacing, "") . '_';
- }
- $section .= $temp;
- }
- push @sections, $section;
- }
- else {
-
- # Here not a sequence of digits. Change the case of the section
- # randomly
- my $switch = int rand(4);
- if ($switch == 0) {
- push @sections, uc $section;
- }
- elsif ($switch == 1) {
- push @sections, lc $section;
- }
- elsif ($switch == 2) {
- push @sections, ucfirst $section;
- }
- else {
- push @sections, $section;
- }
- }
- }
- trace "returning", join "", @sections if main::DEBUG && $to_trace;
- return join "", @sections;
-}
-
-sub randomize_loose_name($;$) {
- # This used only for making the test script
-
- my $name = shift;
- my $want_error = shift; # if true, make an error
- Carp::carp_extra_args(\@_) if main::DEBUG && @_;
-
- $name = randomize_stricter_name($name);
-
- my @parts;
- push @parts, $good_loose_seps[rand(@good_loose_seps)];
- for my $part (split /[-\s_]+/, $name) {
- if (@parts) {
- if ($want_error and rand() < 0.3) {
- push @parts, $bad_loose_seps[rand(@bad_loose_seps)];
- $want_error = 0;
- }
- else {
- push @parts, $good_loose_seps[rand(@good_loose_seps)];
- }
- }
- push @parts, $part;
- }
- my $new = join("", @parts);
- trace "$name => $new" if main::DEBUG && $to_trace;
-
- if ($want_error) {
- if (rand() >= 0.5) {
- $new .= $bad_loose_seps[rand(@bad_loose_seps)];
- }
- else {
- $new = $bad_loose_seps[rand(@bad_loose_seps)] . $new;
- }
- }
- return $new;
-}
-
-# Used to make sure don't generate duplicate test cases.
-my %test_generated;
-
-sub make_property_test_script() {
- # This used only for making the test script
- # this written directly -- it's huge.
-
- print "Making test script\n" if $verbosity >= $PROGRESS;
-
- # This uses randomness to test different possibilities without testing all
- # possibilities. To ensure repeatability, set the seed to 0. But if
- # tests are added, it will perturb all later ones in the .t file
- srand 0;
-
- $t_path = 'TestProp.pl' unless defined $t_path; # the traditional name
-
- force_unlink ($t_path);
- push @files_actually_output, $t_path;
- my $OUT;
- if (not open $OUT, "> $t_path") {
- Carp::my_carp("Can't open $t_path. Skipping: $!");
- return;
- }
-
- # Keep going down an order of magnitude
- # until find that adding this quantity to
- # 1 remains 1; but put an upper limit on
- # this so in case this algorithm doesn't
- # work properly on some platform, that we
- # won't loop forever.
- my $digits = 0;
- my $min_floating_slop = 1;
- while (1+ $min_floating_slop != 1
- && $digits++ < 50)
- {
- my $next = $min_floating_slop / 10;
- last if $next == 0; # If underflows,
- # use previous one
- $min_floating_slop = $next;
- }
- print $OUT $HEADER, <DATA>;
-
- foreach my $property (property_ref('*')) {
- foreach my $table ($property->tables) {
-
- # Find code points that match, and don't match this table.
- my $valid = $table->get_valid_code_point;
- my $invalid = $table->get_invalid_code_point;
- my $warning = ($table->status eq $DEPRECATED)
- ? "'deprecated'"
- : '""';
-
- # Test each possible combination of the property's aliases with
- # the table's. If this gets to be too many, could do what is done
- # in the set_final_comment() for Tables
- my @table_aliases = $table->aliases;
- my @property_aliases = $table->property->aliases;
- my $max = max(scalar @table_aliases, scalar @property_aliases);
- for my $j (0 .. $max - 1) {
-
- # The current alias for property is the next one on the list,
- # or if beyond the end, start over. Similarly for table
- my $property_name
- = $property_aliases[$j % @property_aliases]->name;
-
- $property_name = "" if $table->property == $perl;
- my $table_alias = $table_aliases[$j % @table_aliases];
- my $table_name = $table_alias->name;
- my $loose_match = $table_alias->loose_match;
-
- # If the table doesn't have a file, any test for it is
- # already guaranteed to be in error
- my $already_error = ! $table->file_path;
-
- # Generate error cases for this alias.
- generate_error($OUT,
- $property_name,
- $table_name,
- $already_error);
-
- # If the table is guaranteed to always generate an error,
- # quit now without generating success cases.
- next if $already_error;
-
- # Now for the success cases.
- my $random;
- if ($loose_match) {
-
- # For loose matching, create an extra test case for the
- # standard name.
- my $standard = standardize($table_name);
-
- # $test_name should be a unique combination for each test
- # case; used just to avoid duplicate tests
- my $test_name = "$property_name=$standard";
-
- # Don't output duplicate test cases.
- if (! exists $test_generated{$test_name}) {
- $test_generated{$test_name} = 1;
- generate_tests($OUT,
- $property_name,
- $standard,
- $valid,
- $invalid,
- $warning,
- );
- }
- $random = randomize_loose_name($table_name)
- }
- else { # Stricter match
- $random = randomize_stricter_name($table_name);
- }
-
- # Now for the main test case for this alias.
- my $test_name = "$property_name=$random";
- if (! exists $test_generated{$test_name}) {
- $test_generated{$test_name} = 1;
- generate_tests($OUT,
- $property_name,
- $random,
- $valid,
- $invalid,
- $warning,
- );
-
- # If the name is a rational number, add tests for the
- # floating point equivalent.
- if ($table_name =~ qr{/}) {
-
- # Calculate the float, and find just the fraction.
- my $float = eval $table_name;
- my ($whole, $fraction)
- = $float =~ / (.*) \. (.*) /x;
-
- # Starting with one digit after the decimal point,
- # create a test for each possible precision (number of
- # digits past the decimal point) until well beyond the
- # native number found on this machine. (If we started
- # with 0 digits, it would be an integer, which could
- # well match an unrelated table)
- PLACE:
- for my $i (1 .. $min_floating_slop + 3) {
- my $table_name = sprintf("%.*f", $i, $float);
- if ($i < $MIN_FRACTION_LENGTH) {
-
- # If the test case has fewer digits than the
- # minimum acceptable precision, it shouldn't
- # succeed, so we expect an error for it.
- # E.g., 2/3 = .7 at one decimal point, and we
- # shouldn't say it matches .7. We should make
- # it be .667 at least before agreeing that the
- # intent was to match 2/3. But at the
- # less-than- acceptable level of precision, it
- # might actually match an unrelated number.
- # So don't generate a test case if this
- # conflating is possible. In our example, we
- # don't want 2/3 matching 7/10, if there is
- # a 7/10 code point.
- for my $existing
- (keys %nv_floating_to_rational)
- {
- next PLACE
- if abs($table_name - $existing)
- < $MAX_FLOATING_SLOP;
- }
- generate_error($OUT,
- $property_name,
- $table_name,
- 1 # 1 => already an error
- );
- }
- else {
-
- # Here the number of digits exceeds the
- # minimum we think is needed. So generate a
- # success test case for it.
- generate_tests($OUT,
- $property_name,
- $table_name,
- $valid,
- $invalid,
- $warning,
- );
- }
- }
- }
- }
- }
- }
- }
-
- foreach my $test (@backslash_X_tests) {
- print $OUT "Test_X('$test');\n";
- }
-
- print $OUT "Finished();\n";
- close $OUT;
- return;
-}
-
-# This is a list of the input files and how to handle them. The files are
-# processed in their order in this list. Some reordering is possible if
-# desired, but the v0 files should be first, and the extracted before the
-# others except DAge.txt (as data in an extracted file can be over-ridden by
-# the non-extracted. Some other files depend on data derived from an earlier
-# file, like UnicodeData requires data from Jamo, and the case changing and
-# folding requires data from Unicode. Mostly, it safest to order by first
-# version releases in (except the Jamo). DAge.txt is read before the
-# extracted ones because of the rarely used feature $compare_versions. In the
-# unlikely event that there were ever an extracted file that contained the Age
-# property information, it would have to go in front of DAge.
-#
-# The version strings allow the program to know whether to expect a file or
-# not, but if a file exists in the directory, it will be processed, even if it
-# is in a version earlier than expected, so you can copy files from a later
-# release into an earlier release's directory.
-my @input_file_objects = (
- Input_file->new('PropertyAliases.txt', v0,
- Handler => \&process_PropertyAliases,
- ),
- Input_file->new(undef, v0, # No file associated with this
- Progress_Message => 'Finishing property setup',
- Handler => \&finish_property_setup,
- ),
- Input_file->new('PropValueAliases.txt', v0,
- Handler => \&process_PropValueAliases,
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new('DAge.txt', v3.2.0,
- Has_Missings_Defaults => $NOT_IGNORED,
- Property => 'Age'
- ),
- Input_file->new("${EXTRACTED}DGeneralCategory.txt", v3.1.0,
- Property => 'General_Category',
- ),
- Input_file->new("${EXTRACTED}DCombiningClass.txt", v3.1.0,
- Property => 'Canonical_Combining_Class',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DNumType.txt", v3.1.0,
- Property => 'Numeric_Type',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DEastAsianWidth.txt", v3.1.0,
- Property => 'East_Asian_Width',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DLineBreak.txt", v3.1.0,
- Property => 'Line_Break',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DBidiClass.txt", v3.1.1,
- Property => 'Bidi_Class',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DDecompositionType.txt", v3.1.0,
- Property => 'Decomposition_Type',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DBinaryProperties.txt", v3.1.0),
- Input_file->new("${EXTRACTED}DNumValues.txt", v3.1.0,
- Property => 'Numeric_Value',
- Each_Line_Handler => \&filter_numeric_value_line,
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("${EXTRACTED}DJoinGroup.txt", v3.1.0,
- Property => 'Joining_Group',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
-
- Input_file->new("${EXTRACTED}DJoinType.txt", v3.1.0,
- Property => 'Joining_Type',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new('Jamo.txt', v2.0.0,
- Property => 'Jamo_Short_Name',
- Each_Line_Handler => \&filter_jamo_line,
- ),
- Input_file->new('UnicodeData.txt', v1.1.5,
- Pre_Handler => \&setup_UnicodeData,
-
- # We clean up this file for some early versions.
- Each_Line_Handler => [ (($v_version lt v2.0.0 )
- ? \&filter_v1_ucd
- : ($v_version eq v2.1.5)
- ? \&filter_v2_1_5_ucd
- : undef),
-
- # And the main filter
- \&filter_UnicodeData_line,
- ],
- EOF_Handler => \&EOF_UnicodeData,
- ),
- Input_file->new('ArabicShaping.txt', v2.0.0,
- Each_Line_Handler =>
- [ ($v_version lt 4.1.0)
- ? \&filter_old_style_arabic_shaping
- : undef,
- \&filter_arabic_shaping_line,
- ],
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new('Blocks.txt', v2.0.0,
- Property => 'Block',
- Has_Missings_Defaults => $NOT_IGNORED,
- Each_Line_Handler => \&filter_blocks_lines
- ),
- Input_file->new('PropList.txt', v2.0.0,
- Each_Line_Handler => (($v_version lt v3.1.0)
- ? \&filter_old_style_proplist
- : undef),
- ),
- Input_file->new('Unihan.txt', v2.0.0,
- Pre_Handler => \&setup_unihan,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('SpecialCasing.txt', v2.1.8,
- Each_Line_Handler => \&filter_special_casing_line,
- Pre_Handler => \&setup_special_casing,
- ),
- Input_file->new(
- 'LineBreak.txt', v3.0.0,
- Has_Missings_Defaults => $NOT_IGNORED,
- Property => 'Line_Break',
- # Early versions had problematic syntax
- Each_Line_Handler => (($v_version lt v3.1.0)
- ? \&filter_early_ea_lb
- : undef),
- ),
- Input_file->new('EastAsianWidth.txt', v3.0.0,
- Property => 'East_Asian_Width',
- Has_Missings_Defaults => $NOT_IGNORED,
- # Early versions had problematic syntax
- Each_Line_Handler => (($v_version lt v3.1.0)
- ? \&filter_early_ea_lb
- : undef),
- ),
- Input_file->new('CompositionExclusions.txt', v3.0.0,
- Property => 'Composition_Exclusion',
- ),
- Input_file->new('BidiMirroring.txt', v3.0.1,
- Property => 'Bidi_Mirroring_Glyph',
- ),
- Input_file->new("NormalizationTest.txt", v3.0.1,
- Skip => 1,
- ),
- Input_file->new('CaseFolding.txt', v3.0.1,
- Pre_Handler => \&setup_case_folding,
- Each_Line_Handler =>
- [ ($v_version lt v3.1.0)
- ? \&filter_old_style_case_folding
- : undef,
- \&filter_case_folding_line
- ],
- Post_Handler => \&post_fold,
- ),
- Input_file->new('DCoreProperties.txt', v3.1.0,
- # 5.2 changed this file
- Has_Missings_Defaults => (($v_version ge v5.2.0)
- ? $NOT_IGNORED
- : $NO_DEFAULTS),
- ),
- Input_file->new('Scripts.txt', v3.1.0,
- Property => 'Script',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new('DNormalizationProps.txt', v3.1.0,
- Has_Missings_Defaults => $NOT_IGNORED,
- Each_Line_Handler => (($v_version lt v4.0.1)
- ? \&filter_old_style_normalization_lines
- : undef),
- ),
- Input_file->new('HangulSyllableType.txt', v4.0.0,
- Has_Missings_Defaults => $NOT_IGNORED,
- Property => 'Hangul_Syllable_Type'),
- Input_file->new("$AUXILIARY/WordBreakProperty.txt", v4.1.0,
- Property => 'Word_Break',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("$AUXILIARY/GraphemeBreakProperty.txt", v4.1.0,
- Property => 'Grapheme_Cluster_Break',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new("$AUXILIARY/GCBTest.txt", v4.1.0,
- Handler => \&process_GCB_test,
- ),
- Input_file->new("$AUXILIARY/LBTest.txt", v4.1.0,
- Skip => 1,
- ),
- Input_file->new("$AUXILIARY/SBTest.txt", v4.1.0,
- Skip => 1,
- ),
- Input_file->new("$AUXILIARY/WBTest.txt", v4.1.0,
- Skip => 1,
- ),
- Input_file->new("$AUXILIARY/SentenceBreakProperty.txt", v4.1.0,
- Property => 'Sentence_Break',
- Has_Missings_Defaults => $NOT_IGNORED,
- ),
- Input_file->new('NamedSequences.txt', v4.1.0,
- Handler => \&process_NamedSequences
- ),
- Input_file->new('NameAliases.txt', v5.0.0,
- Property => 'Name_Alias',
- ),
- Input_file->new("BidiTest.txt", v5.2.0,
- Skip => 1,
- ),
- Input_file->new('UnihanIndicesDictionary.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanDataDictionaryLike.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanIRGSources.txt', v5.2.0,
- Optional => 1,
- Pre_Handler => \&setup_unihan,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanNumericValues.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanOtherMappings.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanRadicalStrokeCounts.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanReadings.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
- Input_file->new('UnihanVariants.txt', v5.2.0,
- Optional => 1,
- Each_Line_Handler => \&filter_unihan_line,
- ),
-);
-
-# End of all the preliminaries.
-# Do it...
-
-if ($compare_versions) {
- Carp::my_carp(<<END
-Warning. \$compare_versions is set. Output is not suitable for production
-END
- );
-}
-
-# Put into %potential_files a list of all the files in the directory structure
-# that could be inputs to this program, excluding those that we should ignore.
-# Use absolute file names because it makes it easier across machine types.
-my @ignored_files_full_names = map { File::Spec->rel2abs(
- internal_file_to_platform($_))
- } keys %ignored_files;
-File::Find::find({
- wanted=>sub {
- return unless /\.txt$/i; # Some platforms change the name's case
- my $full = lc(File::Spec->rel2abs($_));
- $potential_files{$full} = 1
- if ! grep { $full eq lc($_) } @ignored_files_full_names;
- return;
- }
-}, File::Spec->curdir());
-
-my @mktables_list_output_files;
-
-if ($write_unchanged_files) {
- print "Not checking file list '$file_list'.\n" if $verbosity >= $VERBOSE;
-}
-else {
- print "Reading file list '$file_list'\n" if $verbosity >= $VERBOSE;
- my $file_handle;
- if (! open $file_handle, "<", $file_list) {
- Carp::my_carp("Failed to open '$file_list' (this is expected to be missing the first time); turning on -globlist option instead: $!");
- $glob_list = 1;
- }
- else {
- my @input;
-
- # Read and parse mktables.lst, placing the results from the first part
- # into @input, and the second part into @mktables_list_output_files
- for my $list ( \@input, \@mktables_list_output_files ) {
- while (<$file_handle>) {
- s/^ \s+ | \s+ $//xg;
- next if /^ \s* (?: \# .* )? $/x;
- last if /^ =+ $/x;
- my ( $file ) = split /\t/;
- push @$list, $file;
- }
- @$list = uniques(@$list);
- next;
- }
-
- # Look through all the input files
- foreach my $input (@input) {
- next if $input eq 'version'; # Already have checked this.
-
- # Ignore if doesn't exist. The checking about whether we care or
- # not is done via the Input_file object.
- next if ! file_exists($input);
-
- # The paths are stored with relative names, and with '/' as the
- # delimiter; convert to absolute on this machine
- my $full = lc(File::Spec->rel2abs(internal_file_to_platform($input)));
- $potential_files{$full} = 1
- if ! grep { lc($full) eq lc($_) } @ignored_files_full_names;
- }
- }
-
- close $file_handle;
-}
-
-if ($glob_list) {
-
- # Here wants to process all .txt files in the directory structure.
- # Convert them to full path names. They are stored in the platform's
- # relative style
- my @known_files;
- foreach my $object (@input_file_objects) {
- my $file = $object->file;
- next unless defined $file;
- push @known_files, File::Spec->rel2abs($file);
- }
-
- my @unknown_input_files;
- foreach my $file (keys %potential_files) {
- next if grep { lc($file) eq lc($_) } @known_files;
-
- # Here, the file is unknown to us. Get relative path name
- $file = File::Spec->abs2rel($file);
- push @unknown_input_files, $file;
-
- # What will happen is we create a data structure for it, and add it to
- # the list of input files to process. First get the subdirectories
- # into an array
- my (undef, $directories, undef) = File::Spec->splitpath($file);
- $directories =~ s;/$;;; # Can have extraneous trailing '/'
- my @directories = File::Spec->splitdir($directories);
-
- # If the file isn't extracted (meaning none of the directories is the
- # extracted one), just add it to the end of the list of inputs.
- if (! grep { $EXTRACTED_DIR eq $_ } @directories) {
- push @input_file_objects, Input_file->new($file, v0);
- }
- else {
-
- # Here, the file is extracted. It needs to go ahead of most other
- # processing. Search for the first input file that isn't a
- # special required property (that is, find one whose first_release
- # is non-0), and isn't extracted. Also, the Age property file is
- # processed before the extracted ones, just in case
- # $compare_versions is set.
- for (my $i = 0; $i < @input_file_objects; $i++) {
- if ($input_file_objects[$i]->first_released ne v0
- && lc($input_file_objects[$i]->file) ne 'dage.txt'
- && $input_file_objects[$i]->file !~ /$EXTRACTED_DIR/i)
- {
- splice @input_file_objects, $i, 0,
- Input_file->new($file, v0);
- last;
- }
- }
-
- }
- }
- if (@unknown_input_files) {
- print STDERR simple_fold(join_lines(<<END
-
-The following files are unknown as to how to handle. Assuming they are
-typical property files. You'll know by later error messages if it worked or
-not:
-END
- ) . " " . join(", ", @unknown_input_files) . "\n\n");
- }
-} # End of looking through directory structure for more .txt files.
-
-# Create the list of input files from the objects we have defined, plus
-# version
-my @input_files = 'version';
-foreach my $object (@input_file_objects) {
- my $file = $object->file;
- next if ! defined $file; # Not all objects have files
- next if $object->optional && ! -e $file;
- push @input_files, $file;
-}
-
-if ( $verbosity >= $VERBOSE ) {
- print "Expecting ".scalar( @input_files )." input files. ",
- "Checking ".scalar( @mktables_list_output_files )." output files.\n";
-}
-
-# We set $youngest to be the most recently changed input file, including this
-# program itself (done much earlier in this file)
-foreach my $in (@input_files) {
- my $age = -M $in;
- next unless defined $age; # Keep going even if missing a file
- $youngest = $age if $age < $youngest;
-
- # See that the input files have distinct names, to warn someone if they
- # are adding a new one
- if ($make_list) {
- my ($volume, $directories, $file ) = File::Spec->splitpath($in);
- $directories =~ s;/$;;; # Can have extraneous trailing '/'
- my @directories = File::Spec->splitdir($directories);
- my $base = $file =~ s/\.txt$//;
- construct_filename($file, 'mutable', \@directories);
- }
-}
-
-my $ok = ! $write_unchanged_files
- && scalar @mktables_list_output_files; # If none known, rebuild
-
-# Now we check to see if any output files are older than youngest, if
-# they are, we need to continue on, otherwise we can presumably bail.
-if ($ok) {
- foreach my $out (@mktables_list_output_files) {
- if ( ! file_exists($out)) {
- print "'$out' is missing.\n" if $verbosity >= $VERBOSE;
- $ok = 0;
- last;
- }
- #local $to_trace = 1 if main::DEBUG;
- trace $youngest, -M $out if main::DEBUG && $to_trace;
- if ( -M $out > $youngest ) {
- #trace "$out: age: ", -M $out, ", youngest: $youngest\n" if main::DEBUG && $to_trace;
- print "'$out' is too old.\n" if $verbosity >= $VERBOSE;
- $ok = 0;
- last;
- }
- }
-}
-if ($ok) {
- print "Files seem to be ok, not bothering to rebuild.\n";
- exit(0);
-}
-print "Must rebuild tables.\n" if $verbosity >= $VERBOSE;
-
-# Ready to do the major processing. First create the perl pseudo-property.
-$perl = Property->new('perl', Type => $NON_STRING, Perl_Extension => 1);
-
-# Process each input file
-foreach my $file (@input_file_objects) {
- $file->run;
-}
-
-# Finish the table generation.
-
-print "Finishing processing Unicode properties\n" if $verbosity >= $PROGRESS;
-finish_Unicode();
-
-print "Compiling Perl properties\n" if $verbosity >= $PROGRESS;
-compile_perl();
-
-print "Creating Perl synonyms\n" if $verbosity >= $PROGRESS;
-add_perl_synonyms();
-
-print "Writing tables\n" if $verbosity >= $PROGRESS;
-write_all_tables();
-
-# Write mktables.lst
-if ( $file_list and $make_list ) {
-
- print "Updating '$file_list'\n" if $verbosity >= $PROGRESS;
- foreach my $file (@input_files, @files_actually_output) {
- my (undef, $directories, $file) = File::Spec->splitpath($file);
- my @directories = File::Spec->splitdir($directories);
- $file = join '/', @directories, $file;
- }
-
- my $ofh;
- if (! open $ofh,">",$file_list) {
- Carp::my_carp("Can't write to '$file_list'. Skipping: $!");
- return
- }
- else {
- print $ofh <<"END";
-#
-# $file_list -- File list for $0.
-#
-# Autogenerated on @{[scalar localtime]}
-#
-# - First section is input files
-# ($0 itself is not listed but is automatically considered an input)
-# - Section seperator is /^=+\$/
-# - Second section is a list of output files.
-# - Lines matching /^\\s*#/ are treated as comments
-# which along with blank lines are ignored.
-#
-
-# Input files:
-
-END
- print $ofh "$_\n" for sort(@input_files);
- print $ofh "\n=================================\n# Output files:\n\n";
- print $ofh "$_\n" for sort @files_actually_output;
- print $ofh "\n# ",scalar(@input_files)," input files\n",
- "# ",scalar(@files_actually_output)+1," output files\n\n",
- "# End list\n";
- close $ofh
- or Carp::my_carp("Failed to close $ofh: $!");
-
- print "Filelist has ",scalar(@input_files)," input files and ",
- scalar(@files_actually_output)+1," output files\n"
- if $verbosity >= $VERBOSE;
- }
-}
-
-# Output these warnings unless -q explicitly specified.
-if ($verbosity >= $NORMAL_VERBOSITY) {
- if (@unhandled_properties) {
- print "\nProperties and tables that unexpectedly have no code points\n";
- foreach my $property (sort @unhandled_properties) {
- print $property, "\n";
- }
- }
-
- if (%potential_files) {
- print "\nInput files that are not considered:\n";
- foreach my $file (sort keys %potential_files) {
- print File::Spec->abs2rel($file), "\n";
- }
- }
- print "\nAll done\n" if $verbosity >= $VERBOSE;
-}
-exit(0);
-
-# TRAILING CODE IS USED BY make_property_test_script()
-__DATA__
-
-use strict;
-use warnings;
-
-# Test qr/\X/ and the \p{} regular expression constructs. This file is
-# constructed by mktables from the tables it generates, so if mktables is
-# buggy, this won't necessarily catch those bugs. Tests are generated for all
-# feasible properties; a few aren't currently feasible; see
-# is_code_point_usable() in mktables for details.
-
-# Standard test packages are not used because this manipulates SIG_WARN. It
-# exits 0 if every non-skipped test succeeded; -1 if any failed.
-
-my $Tests = 0;
-my $Fails = 0;
-
-my $non_ASCII = (ord('A') != 65);
-
-# The 256 8-bit characters in ASCII ordinal order, with the ones that don't
-# have Perl names replaced by -1
-my @ascii_ordered_chars = (
- "\0",
- (-1) x 6,
- "\a", "\b", "\t", "\n",
- -1, # No Vt
- "\f", "\r",
- (-1) x 18,
- " ", "!", "\"", "#", '$', "%", "&", "'",
- "(", ")", "*", "+", ",", "-", ".", "/",
- "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
- ":", ";", "<", "=", ">", "?", "@",
- "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
- "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
- "[", "\\", "]", "^", "_", "`",
- "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
- "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
- "{", "|", "}", "~",
- (-1) x 129
-);
-
-sub ASCII_ord_to_native ($) {
- # Converts input ordinal number to the native one, if can be done easily.
- # Returns -1 otherwise.
-
- my $ord = shift;
-
- return $ord if $ord > 255 || ! $non_ASCII;
- my $result = $ascii_ordered_chars[$ord];
- return $result if $result eq '-1';
- return ord($result);
-}
-
-sub Expect($$$$) {
- my $expected = shift;
- my $ord = shift;
- my $regex = shift;
- my $warning_type = shift; # Type of warning message, like 'deprecated'
- # or empty if none
- my $line = (caller)[2];
-
- # Convert the non-ASCII code points expressible as characters to their
- # ASCII equivalents, and skip the others.
- $ord = ASCII_ord_to_native($ord);
- if ($ord < 0) {
- $Tests++;
- print "ok $Tests - "
- . sprintf("\"\\x{%04X}\"", $ord)
- . " =~ $regex # Skipped: non-ASCII\n";
- return;
- }
-
- # Convert the code point to hex form
- my $string = sprintf "\"\\x{%04X}\"", $ord;
-
- my @tests = "";
-
- # The first time through, use all warnings. If the input should generate
- # a warning, add another time through with them turned off
- push @tests, "no warnings '$warning_type';" if $warning_type;
-
- foreach my $no_warnings (@tests) {
-
- # Store any warning messages instead of outputting them
- local $SIG{__WARN__} = $SIG{__WARN__};
- my $warning_message;
- $SIG{__WARN__} = sub { $warning_message = $_[0] };
-
- $Tests++;
-
- # A string eval is needed because of the 'no warnings'.
- # Assumes no parens in the regular expression
- my $result = eval "$no_warnings
- my \$RegObj = qr($regex);
- $string =~ \$RegObj ? 1 : 0";
- if (not defined $result) {
- print "not ok $Tests - couldn't compile /$regex/; line $line: $@\n";
- $Fails++;
- }
- elsif ($result ^ $expected) {
- print "not ok $Tests - expected $expected but got $result for $string =~ qr/$regex/; line $line\n";
- $Fails++;
- }
- elsif ($warning_message) {
- if (! $warning_type || ($warning_type && $no_warnings)) {
- print "not ok $Tests - for qr/$regex/ did not expect warning message '$warning_message'; line $line\n";
- $Fails++;
- }
- else {
- print "ok $Tests - expected and got a warning message for qr/$regex/; line $line\n";
- }
- }
- elsif ($warning_type && ! $no_warnings) {
- print "not ok $Tests - for qr/$regex/ expected a $warning_type warning message, but got none; line $line\n";
- $Fails++;
- }
- else {
- print "ok $Tests - got $result for $string =~ qr/$regex/; line $line\n";
- }
- }
- return;
-}
-
-sub Error($) {
- my $regex = shift;
- $Tests++;
- if (eval { 'x' =~ qr/$regex/; 1 }) {
- $Fails++;
- my $line = (caller)[2];
- print "not ok $Tests - re compiled ok, but expected error for qr/$regex/; line $line: $@\n";
- }
- else {
- my $line = (caller)[2];
- print "ok $Tests - got and expected error for qr/$regex/; line $line\n";
- }
- return;
-}
-
-# GCBTest.txt character that separates grapheme clusters
-my $breakable_utf8 = my $breakable = chr(0xF7);
-utf8::upgrade($breakable_utf8);
-
-# GCBTest.txt character that indicates that the adjoining code points are part
-# of the same grapheme cluster
-my $nobreak_utf8 = my $nobreak = chr(0xD7);
-utf8::upgrade($nobreak_utf8);
-
-sub Test_X($) {
- # Test qr/\X/ matches. The input is a line from auxiliary/GCBTest.txt
- # Each such line is a sequence of code points given by their hex numbers,
- # separated by the two characters defined just before this subroutine that
- # indicate that either there can or cannot be a break between the adjacent
- # code points. If there isn't a break, that means the sequence forms an
- # extended grapheme cluster, which means that \X should match the whole
- # thing. If there is a break, \X should stop there. This is all
- # converted by this routine into a match:
- # $string =~ /(\X)/,
- # Each \X should match the next cluster; and that is what is checked.
-
- my $template = shift;
-
- my $line = (caller)[2];
-
- # The line contains characters above the ASCII range, but in Latin1. It
- # may or may not be in utf8, and if it is, it may or may not know it. So,
- # convert these characters to 8 bits. If knows is in utf8, simply
- # downgrade.
- if (utf8::is_utf8($template)) {
- utf8::downgrade($template);
- } else {
-
- # Otherwise, if it is in utf8, but doesn't know it, the next lines
- # convert the two problematic characters to their 8-bit equivalents.
- # If it isn't in utf8, they don't harm anything.
- use bytes;
- $template =~ s/$nobreak_utf8/$nobreak/g;
- $template =~ s/$breakable_utf8/$breakable/g;
- }
-
- # Get rid of the leading and trailing breakables
- $template =~ s/^ \s* $breakable \s* //x;
- $template =~ s/ \s* $breakable \s* $ //x;
-
- # And no-breaks become just a space.
- $template =~ s/ \s* $nobreak \s* / /xg;
-
- # Split the input into segments that are breakable between them.
- my @segments = split /\s*$breakable\s*/, $template;
-
- my $string = "";
- my $display_string = "";
- my @should_match;
- my @should_display;
-
- # Convert the code point sequence in each segment into a Perl string of
- # characters
- foreach my $segment (@segments) {
- my @code_points = split /\s+/, $segment;
- my $this_string = "";
- my $this_display = "";
- foreach my $code_point (@code_points) {
- my $ord = ASCII_ord_to_native(hex $code_point);
- if ($ord < 0) {
- $Tests++;
- print "ok $Tests - String containing $code_point =~ /(\\X)/g # Skipped: non-ASCII\n";
- return;
- }
- $this_string .= chr $ord;
- $this_display .= "\\x{$code_point}";
- }
-
- # The next cluster should match the string in this segment.
- push @should_match, $this_string;
- push @should_display, $this_display;
- $string .= $this_string;
- $display_string .= $this_display;
- }
-
- # If a string can be represented in both non-ut8 and utf8, test both cases
- UPGRADE:
- for my $to_upgrade (0 .. 1) {
-
- if ($to_upgrade) {
-
- # If already in utf8, would just be a repeat
- next UPGRADE if utf8::is_utf8($string);
-
- utf8::upgrade($string);
- }
-
- # Finally, do the \X match.
- my @matches = $string =~ /(\X)/g;
-
- # Look through each matched cluster to verify that it matches what we
- # expect.
- my $min = (@matches < @should_match) ? @matches : @should_match;
- for my $i (0 .. $min - 1) {
- $Tests++;
- if ($matches[$i] eq $should_match[$i]) {
- print "ok $Tests - ";
- if ($i == 0) {
- print "In \"$display_string\" =~ /(\\X)/g, \\X #1";
- } else {
- print "And \\X #", $i + 1,
- }
- print " correctly matched $should_display[$i]; line $line\n";
- } else {
- $matches[$i] = join("", map { sprintf "\\x{%04X}", $_ }
- unpack("U*", $matches[$i]));
- print "not ok $Tests - In \"$display_string\" =~ /(\\X)/g, \\X #",
- $i + 1,
- " should have matched $should_display[$i]",
- " but instead matched $matches[$i]",
- ". Abandoning rest of line $line\n";
- next UPGRADE;
- }
- }
-
- # And the number of matches should equal the number of expected matches.
- $Tests++;
- if (@matches == @should_match) {
- print "ok $Tests - Nothing was left over; line $line\n";
- } else {
- print "not ok $Tests - There were ", scalar @should_match, " \\X matches expected, but got ", scalar @matches, " instead; line $line\n";
- }
- }
-
- return;
-}
-
-sub Finished() {
- print "1..$Tests\n";
- exit($Fails ? -1 : 0);
-}
-
-Error('\p{Script=InGreek}'); # Bug #69018
-Test_X("1100 $nobreak 1161"); # Bug #70940
-Expect(0, 0x2028, '\p{Print}', ""); # Bug # 71722
-Expect(0, 0x2029, '\p{Print}', ""); # Bug # 71722
-Expect(1, 0xFF10, '\p{XDigit}', ""); # Bug # 71726
diff --git a/Master/tlpkg/tlperl/lib/unicore/mktables.lst b/Master/tlpkg/tlperl/lib/unicore/mktables.lst
deleted file mode 100644
index b6414b443d7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/mktables.lst
+++ /dev/null
@@ -1,897 +0,0 @@
-#
-# mktables.lst -- File list for mktables.
-#
-# Autogenerated on Thu Feb 10 15:21:42 2011
-#
-# - First section is input files
-# (mktables itself is not listed but is automatically considered an input)
-# - Section seperator is /^=+$/
-# - Second section is a list of output files.
-# - Lines matching /^\s*#/ are treated as comments
-# which along with blank lines are ignored.
-#
-
-# Input files:
-
-ArabicShaping.txt
-BidiMirroring.txt
-Blocks.txt
-CaseFolding.txt
-CompositionExclusions.txt
-DAge.txt
-DCoreProperties.txt
-DNormalizationProps.txt
-EastAsianWidth.txt
-HangulSyllableType.txt
-Jamo.txt
-LineBreak.txt
-NameAliases.txt
-NamedSequences.txt
-PropList.txt
-PropValueAliases.txt
-PropertyAliases.txt
-Scripts.txt
-SpecialCasing.txt
-UnicodeData.txt
-auxiliary\GCBTest.txt
-auxiliary\GraphemeBreakProperty.txt
-auxiliary\SentenceBreakProperty.txt
-auxiliary\WordBreakProperty.txt
-extracted\DBidiClass.txt
-extracted\DBinaryProperties.txt
-extracted\DCombiningClass.txt
-extracted\DDecompositionType.txt
-extracted\DEastAsianWidth.txt
-extracted\DGeneralCategory.txt
-extracted\DJoinGroup.txt
-extracted\DJoinType.txt
-extracted\DLineBreak.txt
-extracted\DNumType.txt
-extracted\DNumValues.txt
-version
-
-=================================
-# Output files:
-
-..\..\pod\perluniprops.pod
-CombiningClass.pl
-Decomposition.pl
-Heavy.pl
-Name.pl
-TestProp.pl
-To\Bmg.pl
-To\Digit.pl
-To\Fold.pl
-To\Lower.pl
-To\NFKCCF.pl
-To\Title.pl
-To\Upper.pl
-lib\AHex\N.pl
-lib\AHex\Y.pl
-lib\Age\1_1.pl
-lib\Age\2_0.pl
-lib\Age\2_1.pl
-lib\Age\3_0.pl
-lib\Age\3_1.pl
-lib\Age\3_2.pl
-lib\Age\4_0.pl
-lib\Age\4_1.pl
-lib\Age\5_0.pl
-lib\Age\5_1.pl
-lib\Age\5_2.pl
-lib\Age\Unassign.pl
-lib\Alpha\N.pl
-lib\Alpha\Y.pl
-lib\Bc\AL.pl
-lib\Bc\AN.pl
-lib\Bc\B.pl
-lib\Bc\BN.pl
-lib\Bc\CS.pl
-lib\Bc\EN.pl
-lib\Bc\ES.pl
-lib\Bc\ET.pl
-lib\Bc\L.pl
-lib\Bc\LRE.pl
-lib\Bc\LRO.pl
-lib\Bc\NSM.pl
-lib\Bc\ON.pl
-lib\Bc\PDF.pl
-lib\Bc\R.pl
-lib\Bc\RLE.pl
-lib\Bc\RLO.pl
-lib\Bc\S.pl
-lib\Bc\WS.pl
-lib\BidiC\N.pl
-lib\BidiC\Y.pl
-lib\BidiM\N.pl
-lib\BidiM\Y.pl
-lib\Blk\ASCII.pl
-lib\Blk\AegeanNu.pl
-lib\Blk\Alphabet.pl
-lib\Blk\Ancient2.pl
-lib\Blk\AncientG.pl
-lib\Blk\AncientS.pl
-lib\Blk\Arabic.pl
-lib\Blk\ArabicP2.pl
-lib\Blk\ArabicPr.pl
-lib\Blk\ArabicSu.pl
-lib\Blk\Armenian.pl
-lib\Blk\Arrows.pl
-lib\Blk\Avestan.pl
-lib\Blk\Balinese.pl
-lib\Blk\Bamum.pl
-lib\Blk\Bengali.pl
-lib\Blk\BlockEle.pl
-lib\Blk\Bopomof2.pl
-lib\Blk\Bopomofo.pl
-lib\Blk\BoxDrawi.pl
-lib\Blk\BrailleP.pl
-lib\Blk\Buginese.pl
-lib\Blk\Buhid.pl
-lib\Blk\Byzantin.pl
-lib\Blk\CJKComp2.pl
-lib\Blk\CJKComp3.pl
-lib\Blk\CJKComp4.pl
-lib\Blk\CJKCompa.pl
-lib\Blk\CJKRadic.pl
-lib\Blk\CJKStrok.pl
-lib\Blk\CJKSymbo.pl
-lib\Blk\CJKUnif2.pl
-lib\Blk\CJKUnif3.pl
-lib\Blk\CJKUnif4.pl
-lib\Blk\CJKUnifi.pl
-lib\Blk\Canadian.pl
-lib\Blk\Carian.pl
-lib\Blk\Cham.pl
-lib\Blk\Cherokee.pl
-lib\Blk\Combini2.pl
-lib\Blk\Combini3.pl
-lib\Blk\Combini4.pl
-lib\Blk\Combinin.pl
-lib\Blk\CommonIn.pl
-lib\Blk\ControlP.pl
-lib\Blk\Coptic.pl
-lib\Blk\Counting.pl
-lib\Blk\Cuneifo2.pl
-lib\Blk\Cuneifor.pl
-lib\Blk\Currency.pl
-lib\Blk\CypriotS.pl
-lib\Blk\Cyrilli2.pl
-lib\Blk\Cyrilli3.pl
-lib\Blk\Cyrilli4.pl
-lib\Blk\Cyrillic.pl
-lib\Blk\Deseret.pl
-lib\Blk\Devanag2.pl
-lib\Blk\Devanaga.pl
-lib\Blk\Dingbats.pl
-lib\Blk\DominoTi.pl
-lib\Blk\Egyptian.pl
-lib\Blk\Enclose2.pl
-lib\Blk\Enclose3.pl
-lib\Blk\Enclose4.pl
-lib\Blk\Enclosed.pl
-lib\Blk\Ethiopi2.pl
-lib\Blk\Ethiopi3.pl
-lib\Blk\Ethiopic.pl
-lib\Blk\GeneralP.pl
-lib\Blk\Geometri.pl
-lib\Blk\Georgia2.pl
-lib\Blk\Georgian.pl
-lib\Blk\Glagolit.pl
-lib\Blk\Gothic.pl
-lib\Blk\Greek.pl
-lib\Blk\GreekExt.pl
-lib\Blk\Gujarati.pl
-lib\Blk\Gurmukhi.pl
-lib\Blk\Halfwidt.pl
-lib\Blk\HangulCo.pl
-lib\Blk\HangulJ2.pl
-lib\Blk\HangulJ3.pl
-lib\Blk\HangulJa.pl
-lib\Blk\HangulSy.pl
-lib\Blk\Hanunoo.pl
-lib\Blk\Hebrew.pl
-lib\Blk\HighPriv.pl
-lib\Blk\HighSurr.pl
-lib\Blk\Hiragana.pl
-lib\Blk\IPAExten.pl
-lib\Blk\Ideograp.pl
-lib\Blk\Imperial.pl
-lib\Blk\Inscrip2.pl
-lib\Blk\Inscript.pl
-lib\Blk\Javanese.pl
-lib\Blk\Kaithi.pl
-lib\Blk\Kanbun.pl
-lib\Blk\KangxiRa.pl
-lib\Blk\Kannada.pl
-lib\Blk\Katakan2.pl
-lib\Blk\Katakana.pl
-lib\Blk\KayahLi.pl
-lib\Blk\Kharosht.pl
-lib\Blk\Khmer.pl
-lib\Blk\KhmerSym.pl
-lib\Blk\Lao.pl
-lib\Blk\Latin1.pl
-lib\Blk\LatinEx2.pl
-lib\Blk\LatinEx3.pl
-lib\Blk\LatinEx4.pl
-lib\Blk\LatinEx5.pl
-lib\Blk\LatinExt.pl
-lib\Blk\Lepcha.pl
-lib\Blk\Letterli.pl
-lib\Blk\Limbu.pl
-lib\Blk\LinearBI.pl
-lib\Blk\LinearBS.pl
-lib\Blk\Lisu.pl
-lib\Blk\LowSurro.pl
-lib\Blk\Lycian.pl
-lib\Blk\Lydian.pl
-lib\Blk\MahjongT.pl
-lib\Blk\Malayala.pl
-lib\Blk\Mathema2.pl
-lib\Blk\Mathemat.pl
-lib\Blk\MeeteiMa.pl
-lib\Blk\Miscell2.pl
-lib\Blk\Miscell3.pl
-lib\Blk\Miscell4.pl
-lib\Blk\Miscell5.pl
-lib\Blk\Miscella.pl
-lib\Blk\Modifier.pl
-lib\Blk\Mongolia.pl
-lib\Blk\MusicalS.pl
-lib\Blk\Myanmar.pl
-lib\Blk\MyanmarE.pl
-lib\Blk\NKo.pl
-lib\Blk\NewTaiLu.pl
-lib\Blk\NoBlock.pl
-lib\Blk\NumberFo.pl
-lib\Blk\Ogham.pl
-lib\Blk\OlChiki.pl
-lib\Blk\OldItali.pl
-lib\Blk\OldPersi.pl
-lib\Blk\OldSouth.pl
-lib\Blk\OldTurki.pl
-lib\Blk\OpticalC.pl
-lib\Blk\Oriya.pl
-lib\Blk\Osmanya.pl
-lib\Blk\PhagsPa.pl
-lib\Blk\Phaistos.pl
-lib\Blk\Phoenici.pl
-lib\Blk\Phoneti2.pl
-lib\Blk\Phonetic.pl
-lib\Blk\PrivateU.pl
-lib\Blk\Rejang.pl
-lib\Blk\RumiNume.pl
-lib\Blk\Runic.pl
-lib\Blk\Samarita.pl
-lib\Blk\Saurasht.pl
-lib\Blk\Shavian.pl
-lib\Blk\Sinhala.pl
-lib\Blk\SmallFor.pl
-lib\Blk\SpacingM.pl
-lib\Blk\Specials.pl
-lib\Blk\Sundanes.pl
-lib\Blk\Superscr.pl
-lib\Blk\Supplem2.pl
-lib\Blk\Supplem3.pl
-lib\Blk\Supplem4.pl
-lib\Blk\Supplem5.pl
-lib\Blk\Supplem6.pl
-lib\Blk\Suppleme.pl
-lib\Blk\SylotiNa.pl
-lib\Blk\Syriac.pl
-lib\Blk\Tagalog.pl
-lib\Blk\Tagbanwa.pl
-lib\Blk\Tags.pl
-lib\Blk\TaiLe.pl
-lib\Blk\TaiTham.pl
-lib\Blk\TaiViet.pl
-lib\Blk\TaiXuanJ.pl
-lib\Blk\Tamil.pl
-lib\Blk\Telugu.pl
-lib\Blk\Thaana.pl
-lib\Blk\Thai.pl
-lib\Blk\Tibetan.pl
-lib\Blk\Tifinagh.pl
-lib\Blk\Ugaritic.pl
-lib\Blk\UnifiedC.pl
-lib\Blk\Vai.pl
-lib\Blk\Variati2.pl
-lib\Blk\Variatio.pl
-lib\Blk\VedicExt.pl
-lib\Blk\Vertical.pl
-lib\Blk\YiRadica.pl
-lib\Blk\YiSyllab.pl
-lib\Blk\YijingHe.pl
-lib\CE\N.pl
-lib\CE\Y.pl
-lib\CI\N.pl
-lib\CI\Y.pl
-lib\CWCF\N.pl
-lib\CWCF\Y.pl
-lib\CWCM\N.pl
-lib\CWCM\Y.pl
-lib\CWKCF\N.pl
-lib\CWKCF\Y.pl
-lib\CWL\N.pl
-lib\CWL\Y.pl
-lib\CWT\N.pl
-lib\CWT\Y.pl
-lib\CWU\N.pl
-lib\CWU\Y.pl
-lib\Cased\N.pl
-lib\Cased\Y.pl
-lib\Ccc\10.pl
-lib\Ccc\103.pl
-lib\Ccc\107.pl
-lib\Ccc\11.pl
-lib\Ccc\118.pl
-lib\Ccc\12.pl
-lib\Ccc\122.pl
-lib\Ccc\129.pl
-lib\Ccc\13.pl
-lib\Ccc\130.pl
-lib\Ccc\132.pl
-lib\Ccc\14.pl
-lib\Ccc\15.pl
-lib\Ccc\16.pl
-lib\Ccc\17.pl
-lib\Ccc\18.pl
-lib\Ccc\19.pl
-lib\Ccc\20.pl
-lib\Ccc\21.pl
-lib\Ccc\22.pl
-lib\Ccc\23.pl
-lib\Ccc\24.pl
-lib\Ccc\25.pl
-lib\Ccc\26.pl
-lib\Ccc\27.pl
-lib\Ccc\28.pl
-lib\Ccc\29.pl
-lib\Ccc\30.pl
-lib\Ccc\31.pl
-lib\Ccc\32.pl
-lib\Ccc\33.pl
-lib\Ccc\34.pl
-lib\Ccc\35.pl
-lib\Ccc\36.pl
-lib\Ccc\84.pl
-lib\Ccc\91.pl
-lib\Ccc\A.pl
-lib\Ccc\AL.pl
-lib\Ccc\AR.pl
-lib\Ccc\ATA.pl
-lib\Ccc\ATAR.pl
-lib\Ccc\ATB.pl
-lib\Ccc\ATBL.pl
-lib\Ccc\B.pl
-lib\Ccc\BL.pl
-lib\Ccc\BR.pl
-lib\Ccc\DA.pl
-lib\Ccc\DB.pl
-lib\Ccc\IS.pl
-lib\Ccc\KV.pl
-lib\Ccc\L.pl
-lib\Ccc\NK.pl
-lib\Ccc\NR.pl
-lib\Ccc\OV.pl
-lib\Ccc\R.pl
-lib\Ccc\VR.pl
-lib\CompEx\N.pl
-lib\CompEx\Y.pl
-lib\DI\N.pl
-lib\DI\Y.pl
-lib\Dash\N.pl
-lib\Dash\Y.pl
-lib\Dep\N.pl
-lib\Dep\Y.pl
-lib\Dia\N.pl
-lib\Dia\Y.pl
-lib\Dt\Com.pl
-lib\Dt\Enc.pl
-lib\Dt\Fin.pl
-lib\Dt\Font.pl
-lib\Dt\Fra.pl
-lib\Dt\Init.pl
-lib\Dt\Iso.pl
-lib\Dt\Med.pl
-lib\Dt\Nar.pl
-lib\Dt\Nb.pl
-lib\Dt\NonCanon.pl
-lib\Dt\None.pl
-lib\Dt\Sml.pl
-lib\Dt\Sqr.pl
-lib\Dt\Sub.pl
-lib\Dt\Sup.pl
-lib\Dt\Vert.pl
-lib\Ea\A.pl
-lib\Ea\F.pl
-lib\Ea\H.pl
-lib\Ea\N.pl
-lib\Ea\Na.pl
-lib\Ea\W.pl
-lib\Ext\N.pl
-lib\Ext\Y.pl
-lib\GCB\CN.pl
-lib\GCB\CR.pl
-lib\GCB\EX.pl
-lib\GCB\L.pl
-lib\GCB\LF.pl
-lib\GCB\LV.pl
-lib\GCB\LVT.pl
-lib\GCB\PP.pl
-lib\GCB\SM.pl
-lib\GCB\T.pl
-lib\GCB\V.pl
-lib\GCB\XX.pl
-lib\Gc\C.pl
-lib\Gc\Cc.pl
-lib\Gc\Cf.pl
-lib\Gc\Cn.pl
-lib\Gc\Co.pl
-lib\Gc\Cs.pl
-lib\Gc\L.pl
-lib\Gc\LC.pl
-lib\Gc\Ll.pl
-lib\Gc\Lm.pl
-lib\Gc\Lo.pl
-lib\Gc\Lt.pl
-lib\Gc\Lu.pl
-lib\Gc\M.pl
-lib\Gc\Mc.pl
-lib\Gc\Me.pl
-lib\Gc\Mn.pl
-lib\Gc\N.pl
-lib\Gc\Nl.pl
-lib\Gc\No.pl
-lib\Gc\P.pl
-lib\Gc\Pd.pl
-lib\Gc\Pe.pl
-lib\Gc\Pf.pl
-lib\Gc\Pi.pl
-lib\Gc\Po.pl
-lib\Gc\Ps.pl
-lib\Gc\S.pl
-lib\Gc\Sc.pl
-lib\Gc\Sk.pl
-lib\Gc\Sm.pl
-lib\Gc\So.pl
-lib\Gc\Z.pl
-lib\Gc\Zl.pl
-lib\Gc\Zp.pl
-lib\Gc\Zs.pl
-lib\GrBase\N.pl
-lib\GrBase\Y.pl
-lib\GrExt\N.pl
-lib\GrExt\Y.pl
-lib\Hex\N.pl
-lib\Hex\Y.pl
-lib\Hst\NA.pl
-lib\Hyphen\N.pl
-lib\Hyphen\Y.pl
-lib\IDC\N.pl
-lib\IDC\Y.pl
-lib\IDSB\N.pl
-lib\IDSB\Y.pl
-lib\IDST\N.pl
-lib\IDST\Y.pl
-lib\IDS\N.pl
-lib\IDS\Y.pl
-lib\Ideo\N.pl
-lib\Ideo\Y.pl
-lib\In\2_0.pl
-lib\In\2_1.pl
-lib\In\3_0.pl
-lib\In\3_1.pl
-lib\In\3_2.pl
-lib\In\4_0.pl
-lib\In\4_1.pl
-lib\In\5_0.pl
-lib\In\5_1.pl
-lib\In\5_2.pl
-lib\Jg\Ain.pl
-lib\Jg\Alaph.pl
-lib\Jg\Alef.pl
-lib\Jg\Beh.pl
-lib\Jg\Beth.pl
-lib\Jg\Burushas.pl
-lib\Jg\Dal.pl
-lib\Jg\DalathRi.pl
-lib\Jg\E.pl
-lib\Jg\FarsiYeh.pl
-lib\Jg\Fe.pl
-lib\Jg\Feh.pl
-lib\Jg\FinalSem.pl
-lib\Jg\Gaf.pl
-lib\Jg\Gamal.pl
-lib\Jg\Hah.pl
-lib\Jg\HamzaOnH.pl
-lib\Jg\He.pl
-lib\Jg\Heh.pl
-lib\Jg\HehGoal.pl
-lib\Jg\Heth.pl
-lib\Jg\Kaf.pl
-lib\Jg\Kaph.pl
-lib\Jg\Khaph.pl
-lib\Jg\KnottedH.pl
-lib\Jg\Lam.pl
-lib\Jg\Lamadh.pl
-lib\Jg\Meem.pl
-lib\Jg\Mim.pl
-lib\Jg\NoJoinin.pl
-lib\Jg\Noon.pl
-lib\Jg\Nun.pl
-lib\Jg\Nya.pl
-lib\Jg\Pe.pl
-lib\Jg\Qaf.pl
-lib\Jg\Qaph.pl
-lib\Jg\Reh.pl
-lib\Jg\Reversed.pl
-lib\Jg\Sad.pl
-lib\Jg\Sadhe.pl
-lib\Jg\Seen.pl
-lib\Jg\Semkath.pl
-lib\Jg\Shin.pl
-lib\Jg\SwashKaf.pl
-lib\Jg\SyriacWa.pl
-lib\Jg\Tah.pl
-lib\Jg\Taw.pl
-lib\Jg\TehMarbu.pl
-lib\Jg\Teth.pl
-lib\Jg\Waw.pl
-lib\Jg\Yeh.pl
-lib\Jg\YehBarre.pl
-lib\Jg\YehWithT.pl
-lib\Jg\Yudh.pl
-lib\Jg\YudhHe.pl
-lib\Jg\Zain.pl
-lib\Jg\Zhain.pl
-lib\JoinC\N.pl
-lib\JoinC\Y.pl
-lib\Jt\C.pl
-lib\Jt\D.pl
-lib\Jt\R.pl
-lib\Jt\T.pl
-lib\Jt\U.pl
-lib\LOE\N.pl
-lib\Lb\AI.pl
-lib\Lb\AL.pl
-lib\Lb\B2.pl
-lib\Lb\BA.pl
-lib\Lb\BB.pl
-lib\Lb\BK.pl
-lib\Lb\CB.pl
-lib\Lb\CL.pl
-lib\Lb\CM.pl
-lib\Lb\CP.pl
-lib\Lb\EX.pl
-lib\Lb\GL.pl
-lib\Lb\HY.pl
-lib\Lb\ID.pl
-lib\Lb\IN.pl
-lib\Lb\IS.pl
-lib\Lb\NL.pl
-lib\Lb\NS.pl
-lib\Lb\NU.pl
-lib\Lb\OP.pl
-lib\Lb\PO.pl
-lib\Lb\PR.pl
-lib\Lb\QU.pl
-lib\Lb\SA.pl
-lib\Lb\SG.pl
-lib\Lb\SP.pl
-lib\Lb\SY.pl
-lib\Lb\WJ.pl
-lib\Lb\XX.pl
-lib\Lb\ZW.pl
-lib\Lower\N.pl
-lib\Lower\Y.pl
-lib\Math\N.pl
-lib\Math\Y.pl
-lib\NChar\N.pl
-lib\NChar\Y.pl
-lib\NFCQC\Y.pl
-lib\NFDQC\N.pl
-lib\NFDQC\Y.pl
-lib\NFKCQC\M.pl
-lib\NFKCQC\N.pl
-lib\NFKCQC\Y.pl
-lib\NFKDQC\N.pl
-lib\Nt\De.pl
-lib\Nt\Di.pl
-lib\Nt\Nu.pl
-lib\Nv\0.pl
-lib\Nv\1.pl
-lib\Nv\10.pl
-lib\Nv\100.pl
-lib\Nv\1000.pl
-lib\Nv\10000.pl
-lib\Nv\100000.pl
-lib\Nv\10000000.pl
-lib\Nv\10000002.pl
-lib\Nv\11.pl
-lib\Nv\11_2.pl
-lib\Nv\12.pl
-lib\Nv\13.pl
-lib\Nv\13_2.pl
-lib\Nv\14.pl
-lib\Nv\15.pl
-lib\Nv\15_2.pl
-lib\Nv\16.pl
-lib\Nv\17.pl
-lib\Nv\17_2.pl
-lib\Nv\18.pl
-lib\Nv\19.pl
-lib\Nv\1_10.pl
-lib\Nv\1_16.pl
-lib\Nv\1_2.pl
-lib\Nv\1_3.pl
-lib\Nv\1_4.pl
-lib\Nv\1_5.pl
-lib\Nv\1_6.pl
-lib\Nv\1_7.pl
-lib\Nv\1_8.pl
-lib\Nv\1_9.pl
-lib\Nv\2.pl
-lib\Nv\20.pl
-lib\Nv\200.pl
-lib\Nv\2000.pl
-lib\Nv\20000.pl
-lib\Nv\21.pl
-lib\Nv\22.pl
-lib\Nv\23.pl
-lib\Nv\24.pl
-lib\Nv\25.pl
-lib\Nv\26.pl
-lib\Nv\27.pl
-lib\Nv\28.pl
-lib\Nv\29.pl
-lib\Nv\2_3.pl
-lib\Nv\2_5.pl
-lib\Nv\3.pl
-lib\Nv\30.pl
-lib\Nv\300.pl
-lib\Nv\3000.pl
-lib\Nv\30000.pl
-lib\Nv\31.pl
-lib\Nv\32.pl
-lib\Nv\33.pl
-lib\Nv\34.pl
-lib\Nv\35.pl
-lib\Nv\36.pl
-lib\Nv\37.pl
-lib\Nv\38.pl
-lib\Nv\39.pl
-lib\Nv\3_16.pl
-lib\Nv\3_2.pl
-lib\Nv\3_4.pl
-lib\Nv\3_5.pl
-lib\Nv\3_8.pl
-lib\Nv\4.pl
-lib\Nv\40.pl
-lib\Nv\400.pl
-lib\Nv\4000.pl
-lib\Nv\40000.pl
-lib\Nv\41.pl
-lib\Nv\42.pl
-lib\Nv\43.pl
-lib\Nv\44.pl
-lib\Nv\45.pl
-lib\Nv\46.pl
-lib\Nv\47.pl
-lib\Nv\48.pl
-lib\Nv\49.pl
-lib\Nv\4_5.pl
-lib\Nv\5.pl
-lib\Nv\50.pl
-lib\Nv\500.pl
-lib\Nv\5000.pl
-lib\Nv\50000.pl
-lib\Nv\5_2.pl
-lib\Nv\5_6.pl
-lib\Nv\5_8.pl
-lib\Nv\6.pl
-lib\Nv\60.pl
-lib\Nv\600.pl
-lib\Nv\6000.pl
-lib\Nv\60000.pl
-lib\Nv\7.pl
-lib\Nv\70.pl
-lib\Nv\700.pl
-lib\Nv\7000.pl
-lib\Nv\70000.pl
-lib\Nv\7_2.pl
-lib\Nv\7_8.pl
-lib\Nv\8.pl
-lib\Nv\80.pl
-lib\Nv\800.pl
-lib\Nv\8000.pl
-lib\Nv\80000.pl
-lib\Nv\9.pl
-lib\Nv\90.pl
-lib\Nv\900.pl
-lib\Nv\9000.pl
-lib\Nv\90000.pl
-lib\Nv\9_2.pl
-lib\Nv\NaN.pl
-lib\Nv\_1_2.pl
-lib\OAlpha\N.pl
-lib\OAlpha\Y.pl
-lib\ODI\N.pl
-lib\ODI\Y.pl
-lib\OGrExt\N.pl
-lib\OGrExt\Y.pl
-lib\OIDC\N.pl
-lib\OIDC\Y.pl
-lib\OIDS\N.pl
-lib\OIDS\Y.pl
-lib\OLower\N.pl
-lib\OLower\Y.pl
-lib\OMath\N.pl
-lib\OMath\Y.pl
-lib\OUpper\N.pl
-lib\OUpper\Y.pl
-lib\PatSyn\N.pl
-lib\PatSyn\Y.pl
-lib\PatWS\N.pl
-lib\PatWS\Y.pl
-lib\Perl\Alnum.pl
-lib\Perl\Any.pl
-lib\Perl\Assigned.pl
-lib\Perl\Blank.pl
-lib\Perl\Graph.pl
-lib\Perl\PerlSpac.pl
-lib\Perl\PerlWord.pl
-lib\Perl\PosixAln.pl
-lib\Perl\PosixAlp.pl
-lib\Perl\PosixBla.pl
-lib\Perl\PosixCnt.pl
-lib\Perl\PosixDig.pl
-lib\Perl\PosixGra.pl
-lib\Perl\PosixLow.pl
-lib\Perl\PosixPri.pl
-lib\Perl\PosixPun.pl
-lib\Perl\PosixSpa.pl
-lib\Perl\PosixUpp.pl
-lib\Perl\Print.pl
-lib\Perl\SpacePer.pl
-lib\Perl\VertSpac.pl
-lib\Perl\Word.pl
-lib\Perl\_XBegin.pl
-lib\Perl\_XExtend.pl
-lib\Perl\_XLVLVTV.pl
-lib\QMark\N.pl
-lib\QMark\Y.pl
-lib\Radical\N.pl
-lib\Radical\Y.pl
-lib\SB\AT.pl
-lib\SB\CL.pl
-lib\SB\EX.pl
-lib\SB\FO.pl
-lib\SB\LE.pl
-lib\SB\LO.pl
-lib\SB\SC.pl
-lib\SB\SE.pl
-lib\SB\ST.pl
-lib\SB\Sp.pl
-lib\SB\UP.pl
-lib\SB\XX.pl
-lib\SD\N.pl
-lib\SD\Y.pl
-lib\STerm\N.pl
-lib\STerm\Y.pl
-lib\Sc\Arab.pl
-lib\Sc\Armi.pl
-lib\Sc\Armn.pl
-lib\Sc\Avst.pl
-lib\Sc\Bali.pl
-lib\Sc\Bamu.pl
-lib\Sc\Beng.pl
-lib\Sc\Bopo.pl
-lib\Sc\Bugi.pl
-lib\Sc\Buhd.pl
-lib\Sc\Cans.pl
-lib\Sc\Cari.pl
-lib\Sc\Cham.pl
-lib\Sc\Cher.pl
-lib\Sc\Copt.pl
-lib\Sc\Cprt.pl
-lib\Sc\Cyrl.pl
-lib\Sc\Deva.pl
-lib\Sc\Egyp.pl
-lib\Sc\Ethi.pl
-lib\Sc\Geor.pl
-lib\Sc\Glag.pl
-lib\Sc\Goth.pl
-lib\Sc\Grek.pl
-lib\Sc\Gujr.pl
-lib\Sc\Guru.pl
-lib\Sc\Han.pl
-lib\Sc\Hang.pl
-lib\Sc\Hano.pl
-lib\Sc\Hebr.pl
-lib\Sc\Hira.pl
-lib\Sc\Ital.pl
-lib\Sc\Java.pl
-lib\Sc\Kana.pl
-lib\Sc\Khar.pl
-lib\Sc\Khmr.pl
-lib\Sc\Knda.pl
-lib\Sc\Kthi.pl
-lib\Sc\Lana.pl
-lib\Sc\Lao.pl
-lib\Sc\Latn.pl
-lib\Sc\Lepc.pl
-lib\Sc\Limb.pl
-lib\Sc\Linb.pl
-lib\Sc\Lyci.pl
-lib\Sc\Lydi.pl
-lib\Sc\Mlym.pl
-lib\Sc\Mong.pl
-lib\Sc\Mtei.pl
-lib\Sc\Mymr.pl
-lib\Sc\Nko.pl
-lib\Sc\Ogam.pl
-lib\Sc\Orkh.pl
-lib\Sc\Orya.pl
-lib\Sc\Osma.pl
-lib\Sc\Phag.pl
-lib\Sc\Phli.pl
-lib\Sc\Phnx.pl
-lib\Sc\Prti.pl
-lib\Sc\Rjng.pl
-lib\Sc\Runr.pl
-lib\Sc\Samr.pl
-lib\Sc\Saur.pl
-lib\Sc\Sinh.pl
-lib\Sc\Sund.pl
-lib\Sc\Sylo.pl
-lib\Sc\Syrc.pl
-lib\Sc\Tagb.pl
-lib\Sc\Tale.pl
-lib\Sc\Talu.pl
-lib\Sc\Taml.pl
-lib\Sc\Tavt.pl
-lib\Sc\Telu.pl
-lib\Sc\Tfng.pl
-lib\Sc\Tglg.pl
-lib\Sc\Thaa.pl
-lib\Sc\Thai.pl
-lib\Sc\Tibt.pl
-lib\Sc\Ugar.pl
-lib\Sc\Vai.pl
-lib\Sc\Xpeo.pl
-lib\Sc\Xsux.pl
-lib\Sc\Yi.pl
-lib\Sc\Zinh.pl
-lib\Sc\Zyyy.pl
-lib\Sc\Zzzz.pl
-lib\Space\N.pl
-lib\Space\Y.pl
-lib\Term\N.pl
-lib\Term\Y.pl
-lib\UIdeo\N.pl
-lib\UIdeo\Y.pl
-lib\Upper\N.pl
-lib\Upper\Y.pl
-lib\VS\N.pl
-lib\VS\Y.pl
-lib\WB\EX.pl
-lib\WB\FO.pl
-lib\WB\KA.pl
-lib\WB\LE.pl
-lib\WB\MB.pl
-lib\WB\ML.pl
-lib\WB\MN.pl
-lib\WB\NL.pl
-lib\WB\NU.pl
-lib\WB\XX.pl
-lib\XIDC\N.pl
-lib\XIDC\Y.pl
-lib\XIDS\N.pl
-lib\XIDS\Y.pl
-
-# 36 input files
-# 838 output files
-
-# End list
diff --git a/Master/tlpkg/tlperl/lib/unicore/version b/Master/tlpkg/tlperl/lib/unicore/version
index 91ff57278e3..09b254e90c6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/version
+++ b/Master/tlpkg/tlperl/lib/unicore/version
@@ -1 +1 @@
-5.2.0
+6.0.0
diff --git a/Master/tlpkg/tlperl/lib/utf8.pm b/Master/tlpkg/tlperl/lib/utf8.pm
index ed0a4d8315f..b59eabfbd7c 100644
--- a/Master/tlpkg/tlperl/lib/utf8.pm
+++ b/Master/tlpkg/tlperl/lib/utf8.pm
@@ -2,7 +2,7 @@ package utf8;
$utf8::hint_bits = 0x00800000;
-our $VERSION = '1.08';
+our $VERSION = '1.09';
sub import {
$^H |= $utf8::hint_bits;
@@ -117,7 +117,7 @@ L<Encode>.
=item * $success = utf8::downgrade($string[, FAIL_OK])
-Converts in-place the the internal representation of the string from
+Converts in-place the internal representation of the string from
I<UTF-X> to the equivalent octet sequence in the native encoding (Latin-1
or EBCDIC). The logical character sequence itself is unchanged. If
I<$string> is already stored as native 8 bit, then this is a no-op. Can
diff --git a/Master/tlpkg/tlperl/lib/utf8_heavy.pl b/Master/tlpkg/tlperl/lib/utf8_heavy.pl
index d473dd2a424..94c132d0995 100644
--- a/Master/tlpkg/tlperl/lib/utf8_heavy.pl
+++ b/Master/tlpkg/tlperl/lib/utf8_heavy.pl
@@ -21,11 +21,20 @@ sub croak { require Carp; Carp::croak(@_) }
# are specified that don't exactly match.
my $min_floating_slop;
+ # To guard against this program calling something that in turn ends up
+ # calling this program with the same inputs, and hence infinitely
+ # recursing, we keep a stack of the properties that are currently in
+ # progress, pushed upon entry, popped upon return.
+ my @recursed;
+
sub SWASHNEW {
my ($class, $type, $list, $minbits, $none) = @_;
local $^D = 0 if $^D;
- print STDERR __LINE__, ": ", join(", ", @_), "\n" if DEBUG;
+ $class = "" unless defined $class;
+ print STDERR __LINE__, ": class=$class, type=$type, list=",
+ (defined $list) ? $list : ':undef:',
+ ", minbits=$minbits, none=$none\n" if DEBUG;
##
## Get the list of codepoints for the type.
@@ -70,15 +79,29 @@ sub croak { require Carp; Carp::croak(@_) }
if ($type)
{
+
+ # Verify that this isn't a recursive call for this property.
+ # Can't use croak, as it may try to recurse here itself.
+ my $class_type = $class . "::$type";
+ if (grep { $_ eq $class_type } @recursed) {
+ CORE::die "panic: Infinite recursion in SWASHNEW for '$type'\n";
+ }
+ push @recursed, $class_type;
+
$type =~ s/^\s+//;
$type =~ s/\s+$//;
- print STDERR __LINE__, ": type = $type\n" if DEBUG;
+ # regcomp.c surrounds the property name with '__" and '_i' if this
+ # is to be caseless matching.
+ my $caseless = $type =~ s/^__(.*)_i$/$1/;
+
+ print STDERR __LINE__, ": type=$type, caseless=$caseless\n" if DEBUG;
GETFILE:
{
##
- ## It could be a user-defined property.
+ ## It could be a user-defined property. Look in current
+ ## package if no package given
##
my $caller1 = $type =~ s/(.+)::// ? $1 : caller(1);
@@ -86,24 +109,55 @@ sub croak { require Carp; Carp::croak(@_) }
if (defined $caller1 && $type =~ /^I[ns]\w+$/) {
my $prop = "${caller1}::$type";
if (exists &{$prop}) {
+ # stolen from Scalar::Util::PP::tainted()
+ my $tainted;
+ {
+ local($@, $SIG{__DIE__}, $SIG{__WARN__});
+ local $^W = 0;
+ no warnings;
+ eval { kill 0 * $prop };
+ $tainted = 1 if $@ =~ /^Insecure/;
+ }
+ die "Insecure user-defined property \\p{$prop}\n"
+ if $tainted;
no strict 'refs';
-
- $list = &{$prop};
+ $list = &{$prop}($caseless);
last GETFILE;
}
}
- require "$unicore_dir/Heavy.pl";
+ # During Perl's compilation, this routine may be called before
+ # the tables are constructed. If so, we have a chicken/egg
+ # problem. If we die, the tables never get constructed, so
+ # keep going, but return an empty table so only what the code
+ # has compiled in internally (currently ASCII/Latin1 range
+ # matching) will work.
+ BEGIN {
+ # Poor man's constant, to avoid a run-time check.
+ $utf8::{miniperl}
+ = \! defined &DynaLoader::boot_DynaLoader;
+ }
+ if (miniperl) {
+ eval "require '$unicore_dir/Heavy.pl'";
+ last GETFILE if $@;
+ }
+ else {
+ require "$unicore_dir/Heavy.pl";
+ }
+ BEGIN { delete $utf8::{miniperl} }
- # Everything is caseless matching
- my $property_and_table = lc $type;
+ # All property names are matched caselessly
+ my $property_and_table = CORE::lc $type;
print STDERR __LINE__, ": $property_and_table\n" if DEBUG;
# See if is of the compound form 'property=value', where the
# value indicates the table we should use.
my ($property, $table, @remainder) =
split /\s*[:=]\s*/, $property_and_table, -1;
- return $type if @remainder;
+ if (@remainder) {
+ pop @recursed if @recursed;
+ return $type;
+ }
my $prefix;
if (! defined $table) {
@@ -122,7 +176,10 @@ sub croak { require Carp; Carp::croak(@_) }
# And convert to canonical form. Quit if not valid.
$property = $utf8::loose_property_name_of{$property};
- return $type unless defined $property;
+ if (! defined $property) {
+ pop @recursed if @recursed;
+ return $type;
+ }
$prefix = "$property=";
@@ -132,14 +189,20 @@ sub croak { require Carp; Carp::croak(@_) }
print STDERR __LINE__, ": table=$table\n" if DEBUG;
# Don't allow leading nor trailing slashes
- return $type if $table =~ / ^ \/ | \/ $ /x;
+ if ($table =~ / ^ \/ | \/ $ /x) {
+ pop @recursed if @recursed;
+ return $type;
+ }
# Split on slash, in case it is a rational, like \p{1/5}
my @parts = split qr{ \s* / \s* }x, $table, -1;
print __LINE__, ": $type\n" if @parts > 2 && DEBUG;
# Can have maximum of one slash
- return $type if @parts > 2;
+ if (@parts > 2) {
+ pop @recursed if @recursed;
+ return $type;
+ }
foreach my $part (@parts) {
print __LINE__, ": part=$part\n" if DEBUG;
@@ -172,8 +235,10 @@ sub croak { require Carp; Carp::croak(@_) }
# Result better look like a number. (This test is
# needed because, for example could have a plus in
# the middle.)
- return $type if $part
- !~ / ^ -? [0-9]+ ( \. [0-9]+)? $ /x;
+ if ($part !~ / ^ -? [0-9]+ ( \. [0-9]+)? $ /x) {
+ pop @recursed if @recursed;
+ return $type;
+ }
}
# If a rational...
@@ -277,7 +342,10 @@ sub croak { require Carp; Carp::croak(@_) }
}
# Quit if didn't find one.
- return $type unless defined $table;
+ if (! defined $table) {
+ pop @recursed if @recursed;
+ return $type;
+ }
}
}
print STDERR __LINE__, ": $property=$table\n" if DEBUG;
@@ -307,6 +375,12 @@ sub croak { require Carp; Carp::croak(@_) }
if ($utf8::why_deprecated{$file}) {
warnings::warnif('deprecated', "Use of '$type' in \\p{} or \\P{} is deprecated because: $utf8::why_deprecated{$file};");
}
+
+ if ($caseless
+ && exists $utf8::caseless_equivalent{$property_and_table})
+ {
+ $file = $utf8::caseless_equivalent{$property_and_table};
+ }
$file= "$unicore_dir/lib/$file.pl";
last GETFILE;
}
@@ -325,6 +399,7 @@ sub croak { require Carp; Carp::croak(@_) }
no strict 'refs';
$list = &{$map};
+ warnings::warnif('deprecated', "User-defined case-mapping '$type' is deprecated");
last GETFILE;
}
}
@@ -346,6 +421,7 @@ sub croak { require Carp; Carp::croak(@_) }
## out what to do with $type. Ouch.
##
+ pop @recursed if @recursed;
return $type;
}
@@ -362,6 +438,7 @@ sub croak { require Carp; Carp::croak(@_) }
my $found = $Cache{$class, $file};
if ($found and ref($found) eq $class) {
print STDERR __LINE__, ": Returning cached '$file' for \\p{$type}\n" if DEBUG;
+ pop @recursed if @recursed;
return $found;
}
@@ -376,13 +453,13 @@ sub croak { require Carp; Carp::croak(@_) }
my $extras;
my $bits = $minbits;
- my $ORIG = $list;
if ($list) {
+ my $taint = substr($list,0,0); # maintain taint
my @tmp = split(/^/m, $list);
my %seen;
no warnings;
- $extras = join '', grep /^[^0-9a-fA-F]/, @tmp;
- $list = join '',
+ $extras = join '', $taint, grep /^[^0-9a-fA-F]/, @tmp;
+ $list = join '', $taint,
map { $_->[1] }
sort { $a->[0] <=> $b->[0] }
map { /^([0-9a-fA-F]+)/; [ CORE::hex($1), $_ ] }
@@ -412,11 +489,13 @@ sub croak { require Carp; Carp::croak(@_) }
my @extras;
if ($extras) {
for my $x ($extras) {
+ my $taint = substr($x,0,0); # maintain taint
pos $x = 0;
while ($x =~ /^([^0-9a-fA-F\n])(.*)/mg) {
- my $char = $1;
- my $name = $2;
- print STDERR __LINE__, ": $1 => $2\n" if DEBUG;
+ my $char = "$1$taint";
+ my $name = "$2$taint";
+ print STDERR __LINE__, ": char [$char] => name [$name]\n"
+ if DEBUG;
if ($char =~ /[-+!&]/) {
my ($c,$t) = split(/::/, $name, 2); # bogus use of ::, really
my $subobj;
@@ -429,7 +508,10 @@ sub croak { require Carp; Carp::croak(@_) }
elsif ($c =~ /^([0-9a-fA-F]+)/) {
$subobj = utf8->SWASHNEW("", $c, $minbits, 0);
}
- return $subobj unless ref $subobj;
+ if (! ref $subobj) {
+ pop @recursed if @recursed && $type;
+ return $subobj;
+ }
push @extras, $name => $subobj;
$bits = $subobj->{BITS} if $bits < $subobj->{BITS};
}
@@ -457,6 +539,8 @@ sub croak { require Carp; Carp::croak(@_) }
$Cache{$class, $file} = $SWASH;
}
+ pop @recursed if @recursed && $type;
+
return $SWASH;
}
}
diff --git a/Master/tlpkg/tlperl/lib/validate.pl b/Master/tlpkg/tlperl/lib/validate.pl
index c6558723330..fc2d16a1549 100644
--- a/Master/tlpkg/tlperl/lib/validate.pl
+++ b/Master/tlpkg/tlperl/lib/validate.pl
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
;# The validate routine takes a single multiline string consisting of
;# lines containing a filename plus a file test to try on it. (The
;# file test may also be a 'cd', causing subsequent relative filenames
diff --git a/Master/tlpkg/tlperl/lib/vars.pm b/Master/tlpkg/tlperl/lib/vars.pm
index a0151b84030..8ec107c1df3 100644
--- a/Master/tlpkg/tlperl/lib/vars.pm
+++ b/Master/tlpkg/tlperl/lib/vars.pm
@@ -2,14 +2,14 @@ package vars;
use 5.006;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
use warnings::register;
use strict qw(vars subs);
sub import {
my $callpack = caller;
- my ($pack, @imports) = @_;
+ my (undef, @imports) = @_;
my ($sym, $ch);
foreach (@imports) {
if (($ch, $sym) = /^([\$\@\%\*\&])(.+)/) {
diff --git a/Master/tlpkg/tlperl/lib/version.pm b/Master/tlpkg/tlperl/lib/version.pm
index 405eb107741..adeaacdd472 100644
--- a/Master/tlpkg/tlperl/lib/version.pm
+++ b/Master/tlpkg/tlperl/lib/version.pm
@@ -6,7 +6,7 @@ use strict;
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-$VERSION = 0.82;
+$VERSION = 0.88;
$CLASS = 'version';
@@ -157,11 +157,13 @@ sub import {
}
if (exists($args{'is_strict'})) {
- *{$callpkg.'::is_strict'} = \&version::is_strict;
+ *{$callpkg.'::is_strict'} = \&version::is_strict
+ unless defined(&{$callpkg.'::is_strict'});
}
if (exists($args{'is_lax'})) {
- *{$callpkg.'::is_lax'} = \&version::is_lax;
+ *{$callpkg.'::is_lax'} = \&version::is_lax
+ unless defined(&{$callpkg.'::is_lax'});
}
}
diff --git a/Master/tlpkg/tlperl/lib/version.pod b/Master/tlpkg/tlperl/lib/version.pod
index a8cded81b0d..fcaf5d6acc0 100644
--- a/Master/tlpkg/tlperl/lib/version.pod
+++ b/Master/tlpkg/tlperl/lib/version.pod
@@ -59,7 +59,7 @@ source file. Quoting is recommended, as it ensures that trailing zeroes
=item Dotted Decimal Versions
The more modern form of version assignment, with 3 (or potentially more)
-integers seperated by decimal points (e.g. v1.2.3). This is the form that
+integers separated by decimal points (e.g. v1.2.3). This is the form that
Perl itself has used since 5.6.0 was released. The leading "v" is now
strongly recommended for clarity, and will throw a warning in a future
release if omitted.
@@ -210,7 +210,7 @@ C<is_strict()> are not sufficient for your needs.
=head2 How to compare version objects
-Version objects overload the C<cmp> and C<< E<lt>=E<gt> >> operators. Perl
+Version objects overload the C<cmp> and C<< <=> >> operators. Perl
automatically generates all of the other comparison operators based on those
two so all the normal logical comparisons will work.
diff --git a/Master/tlpkg/tlperl/lib/version/Internals.pod b/Master/tlpkg/tlperl/lib/version/Internals.pod
index a4f0543fe16..7cf4dc67693 100644
--- a/Master/tlpkg/tlperl/lib/version/Internals.pod
+++ b/Master/tlpkg/tlperl/lib/version/Internals.pod
@@ -510,7 +510,7 @@ point interpretation. For example:
$v2 = qv("1.2"); # also v1.2.0
As you can see, either a bare number or a quoted string can usually
-be used interchangably, except in the case of a trailing zero, which
+be used interchangeably, except in the case of a trailing zero, which
must be quoted to be converted properly. For this reason, it is strongly
recommended that all initializers to qv() be quoted strings instead of
bare numbers.
diff --git a/Master/tlpkg/tlperl/lib/version/Requirements.pm b/Master/tlpkg/tlperl/lib/version/Requirements.pm
new file mode 100644
index 00000000000..f6671892829
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/version/Requirements.pm
@@ -0,0 +1,596 @@
+use strict;
+use warnings;
+package Version::Requirements;
+BEGIN {
+ $Version::Requirements::VERSION = '0.101020';
+}
+# ABSTRACT: a set of version requirements for a CPAN dist
+
+
+use Carp ();
+use Scalar::Util ();
+use version 0.77 (); # the ->parse method
+
+
+sub new {
+ my ($class) = @_;
+ return bless {} => $class;
+}
+
+sub _version_object {
+ my ($self, $version) = @_;
+
+ $version = (! defined $version) ? version->parse(0)
+ : (! Scalar::Util::blessed($version)) ? version->parse($version)
+ : $version;
+
+ return $version;
+}
+
+
+BEGIN {
+ for my $type (qw(minimum maximum exclusion exact_version)) {
+ my $method = "with_$type";
+ my $to_add = $type eq 'exact_version' ? $type : "add_$type";
+
+ my $code = sub {
+ my ($self, $name, $version) = @_;
+
+ $version = $self->_version_object( $version );
+
+ $self->__modify_entry_for($name, $method, $version);
+
+ return $self;
+ };
+
+ no strict 'refs';
+ *$to_add = $code;
+ }
+}
+
+
+sub add_requirements {
+ my ($self, $req) = @_;
+
+ for my $module ($req->required_modules) {
+ my $modifiers = $req->__entry_for($module)->as_modifiers;
+ for my $modifier (@$modifiers) {
+ my ($method, @args) = @$modifier;
+ $self->$method($module => @args);
+ };
+ }
+
+ return $self;
+}
+
+
+sub accepts_module {
+ my ($self, $module, $version) = @_;
+
+ $version = $self->_version_object( $version );
+
+ return 1 unless my $range = $self->__entry_for($module);
+ return $range->_accepts($version);
+}
+
+
+sub clear_requirement {
+ my ($self, $module) = @_;
+
+ return $self unless $self->__entry_for($module);
+
+ Carp::confess("can't clear requirements on finalized requirements")
+ if $self->is_finalized;
+
+ delete $self->{requirements}{ $module };
+
+ return $self;
+}
+
+
+sub required_modules { keys %{ $_[0]{requirements} } }
+
+
+sub clone {
+ my ($self) = @_;
+ my $new = (ref $self)->new;
+
+ return $new->add_requirements($self);
+}
+
+sub __entry_for { $_[0]{requirements}{ $_[1] } }
+
+sub __modify_entry_for {
+ my ($self, $name, $method, $version) = @_;
+
+ my $fin = $self->is_finalized;
+ my $old = $self->__entry_for($name);
+
+ Carp::confess("can't add new requirements to finalized requirements")
+ if $fin and not $old;
+
+ my $new = ($old || 'Version::Requirements::_Range::Range')
+ ->$method($version);
+
+ Carp::confess("can't modify finalized requirements")
+ if $fin and $old->as_string ne $new->as_string;
+
+ $self->{requirements}{ $name } = $new;
+}
+
+
+sub is_simple {
+ my ($self) = @_;
+ for my $module ($self->required_modules) {
+ # XXX: This is a complete hack, but also entirely correct.
+ return if $self->__entry_for($module)->as_string =~ /\s/;
+ }
+
+ return 1;
+}
+
+
+sub is_finalized { $_[0]{finalized} }
+
+
+sub finalize { $_[0]{finalized} = 1 }
+
+
+sub as_string_hash {
+ my ($self) = @_;
+
+ my %hash = map {; $_ => $self->{requirements}{$_}->as_string }
+ $self->required_modules;
+
+ return \%hash;
+}
+
+
+my %methods_for_op = (
+ '==' => [ qw(exact_version) ],
+ '!=' => [ qw(add_exclusion) ],
+ '>=' => [ qw(add_minimum) ],
+ '<=' => [ qw(add_maximum) ],
+ '>' => [ qw(add_minimum add_exclusion) ],
+ '<' => [ qw(add_maximum add_exclusion) ],
+);
+
+sub from_string_hash {
+ my ($class, $hash) = @_;
+
+ my $self = $class->new;
+
+ for my $module (keys %$hash) {
+ my @parts = split qr{\s*,\s*}, $hash->{ $module };
+ for my $part (@parts) {
+ my ($op, $ver) = split /\s+/, $part, 2;
+
+ if (! defined $ver) {
+ $self->add_minimum($module => $op);
+ } else {
+ Carp::confess("illegal requirement string: $hash->{ $module }")
+ unless my $methods = $methods_for_op{ $op };
+
+ $self->$_($module => $ver) for @$methods;
+ }
+ }
+ }
+
+ return $self;
+}
+
+##############################################################
+
+{
+ package
+ Version::Requirements::_Range::Exact;
+BEGIN {
+ $Version::Requirements::_Range::Exact::VERSION = '0.101020';
+}
+ sub _new { bless { version => $_[1] } => $_[0] }
+
+ sub _accepts { return $_[0]{version} == $_[1] }
+
+ sub as_string { return "== $_[0]{version}" }
+
+ sub as_modifiers { return [ [ exact_version => $_[0]{version} ] ] }
+
+ sub _clone {
+ (ref $_[0])->_new( version->new( $_[0]{version} ) )
+ }
+
+ sub with_exact_version {
+ my ($self, $version) = @_;
+
+ return $self->_clone if $self->_accepts($version);
+
+ Carp::confess("illegal requirements: unequal exact version specified");
+ }
+
+ sub with_minimum {
+ my ($self, $minimum) = @_;
+ return $self->_clone if $self->{version} >= $minimum;
+ Carp::confess("illegal requirements: minimum above exact specification");
+ }
+
+ sub with_maximum {
+ my ($self, $maximum) = @_;
+ return $self->_clone if $self->{version} <= $maximum;
+ Carp::confess("illegal requirements: maximum below exact specification");
+ }
+
+ sub with_exclusion {
+ my ($self, $exclusion) = @_;
+ return $self->_clone unless $exclusion == $self->{version};
+ Carp::confess("illegal requirements: excluded exact specification");
+ }
+}
+
+##############################################################
+
+{
+ package
+ Version::Requirements::_Range::Range;
+BEGIN {
+ $Version::Requirements::_Range::Range::VERSION = '0.101020';
+}
+
+ sub _self { ref($_[0]) ? $_[0] : (bless { } => $_[0]) }
+
+ sub _clone {
+ return (bless { } => $_[0]) unless ref $_[0];
+
+ my ($s) = @_;
+ my %guts = (
+ (exists $s->{minimum} ? (minimum => version->new($s->{minimum})) : ()),
+ (exists $s->{maximum} ? (maximum => version->new($s->{maximum})) : ()),
+
+ (exists $s->{exclusions}
+ ? (exclusions => [ map { version->new($_) } @{ $s->{exclusions} } ])
+ : ()),
+ );
+
+ bless \%guts => ref($s);
+ }
+
+ sub as_modifiers {
+ my ($self) = @_;
+ my @mods;
+ push @mods, [ add_minimum => $self->{minimum} ] if exists $self->{minimum};
+ push @mods, [ add_maximum => $self->{maximum} ] if exists $self->{maximum};
+ push @mods, map {; [ add_exclusion => $_ ] } @{$self->{exclusions} || []};
+ return \@mods;
+ }
+
+ sub as_string {
+ my ($self) = @_;
+
+ return 0 if ! keys %$self;
+
+ return "$self->{minimum}" if (keys %$self) == 1 and exists $self->{minimum};
+
+ my @exclusions = @{ $self->{exclusions} || [] };
+
+ my @parts;
+
+ for my $pair (
+ [ qw( >= > minimum ) ],
+ [ qw( <= < maximum ) ],
+ ) {
+ my ($op, $e_op, $k) = @$pair;
+ if (exists $self->{$k}) {
+ my @new_exclusions = grep { $_ != $self->{ $k } } @exclusions;
+ if (@new_exclusions == @exclusions) {
+ push @parts, "$op $self->{ $k }";
+ } else {
+ push @parts, "$e_op $self->{ $k }";
+ @exclusions = @new_exclusions;
+ }
+ }
+ }
+
+ push @parts, map {; "!= $_" } @exclusions;
+
+ return join q{, }, @parts;
+ }
+
+ sub with_exact_version {
+ my ($self, $version) = @_;
+ $self = $self->_clone;
+
+ Carp::confess("illegal requirements: exact specification outside of range")
+ unless $self->_accepts($version);
+
+ return Version::Requirements::_Range::Exact->_new($version);
+ }
+
+ sub _simplify {
+ my ($self) = @_;
+
+ if (defined $self->{minimum} and defined $self->{maximum}) {
+ if ($self->{minimum} == $self->{maximum}) {
+ Carp::confess("illegal requirements: excluded all values")
+ if grep { $_ == $self->{minimum} } @{ $self->{exclusions} || [] };
+
+ return Version::Requirements::_Range::Exact->_new($self->{minimum})
+ }
+
+ Carp::confess("illegal requirements: minimum exceeds maximum")
+ if $self->{minimum} > $self->{maximum};
+ }
+
+ # eliminate irrelevant exclusions
+ if ($self->{exclusions}) {
+ my %seen;
+ @{ $self->{exclusions} } = grep {
+ (! defined $self->{minimum} or $_ >= $self->{minimum})
+ and
+ (! defined $self->{maximum} or $_ <= $self->{maximum})
+ and
+ ! $seen{$_}++
+ } @{ $self->{exclusions} };
+ }
+
+ return $self;
+ }
+
+ sub with_minimum {
+ my ($self, $minimum) = @_;
+ $self = $self->_clone;
+
+ if (defined (my $old_min = $self->{minimum})) {
+ $self->{minimum} = (sort { $b cmp $a } ($minimum, $old_min))[0];
+ } else {
+ $self->{minimum} = $minimum;
+ }
+
+ return $self->_simplify;
+ }
+
+ sub with_maximum {
+ my ($self, $maximum) = @_;
+ $self = $self->_clone;
+
+ if (defined (my $old_max = $self->{maximum})) {
+ $self->{maximum} = (sort { $a cmp $b } ($maximum, $old_max))[0];
+ } else {
+ $self->{maximum} = $maximum;
+ }
+
+ return $self->_simplify;
+ }
+
+ sub with_exclusion {
+ my ($self, $exclusion) = @_;
+ $self = $self->_clone;
+
+ push @{ $self->{exclusions} ||= [] }, $exclusion;
+
+ return $self->_simplify;
+ }
+
+ sub _accepts {
+ my ($self, $version) = @_;
+
+ return if defined $self->{minimum} and $version < $self->{minimum};
+ return if defined $self->{maximum} and $version > $self->{maximum};
+ return if defined $self->{exclusions}
+ and grep { $version == $_ } @{ $self->{exclusions} };
+
+ return 1;
+ }
+}
+
+1;
+
+__END__
+=pod
+
+=head1 NAME
+
+Version::Requirements - a set of version requirements for a CPAN dist
+
+=head1 VERSION
+
+version 0.101020
+
+=head1 SYNOPSIS
+
+ use Version::Requirements;
+
+ my $build_requires = Version::Requirements->new;
+
+ $build_requires->add_minimum('Library::Foo' => 1.208);
+
+ $build_requires->add_minimum('Library::Foo' => 2.602);
+
+ $build_requires->add_minimum('Module::Bar' => 'v1.2.3');
+
+ $METAyml->{build_requires} = $build_requires->as_string_hash;
+
+=head1 DESCRIPTION
+
+A Version::Requirements object models a set of version constraints like those
+specified in the F<META.yml> or F<META.json> files in CPAN distributions. It
+can be built up by adding more and more constraints, and it will reduce them to
+the simplest representation.
+
+Logically impossible constraints will be identified immediately by thrown
+exceptions.
+
+=head1 METHODS
+
+=head2 new
+
+ my $req = Version::Requirements->new;
+
+This returns a new Version::Requirements object. It ignores any arguments
+given.
+
+=head2 add_minimum
+
+ $req->add_minimum( $module => $version );
+
+This adds a new minimum version requirement. If the new requirement is
+redundant to the existing specification, this has no effect.
+
+Minimum requirements are inclusive. C<$version> is required, along with any
+greater version number.
+
+This method returns the requirements object.
+
+=head2 add_maximum
+
+ $req->add_maximum( $module => $version );
+
+This adds a new maximum version requirement. If the new requirement is
+redundant to the existing specification, this has no effect.
+
+Maximum requirements are inclusive. No version strictly greater than the given
+version is allowed.
+
+This method returns the requirements object.
+
+=head2 add_exclusion
+
+ $req->add_exclusion( $module => $version );
+
+This adds a new excluded version. For example, you might use these three
+method calls:
+
+ $req->add_minimum( $module => '1.00' );
+ $req->add_maximum( $module => '1.82' );
+
+ $req->add_exclusion( $module => '1.75' );
+
+Any version between 1.00 and 1.82 inclusive would be acceptable, except for
+1.75.
+
+This method returns the requirements object.
+
+=head2 exact_version
+
+ $req->exact_version( $module => $version );
+
+This sets the version required for the given module to I<exactly> the given
+version. No other version would be considered acceptable.
+
+This method returns the requirements object.
+
+=head2 add_requirements
+
+ $req->add_requirements( $another_req_object );
+
+This method adds all the requirements in the given Version::Requirements object
+to the requirements object on which it was called. If there are any conflicts,
+an exception is thrown.
+
+This method returns the requirements object.
+
+=head2 accepts_module
+
+ my $bool = $req->accepts_modules($module => $version);
+
+Given an module and version, this method returns true if the version
+specification for the module accepts the provided version. In other words,
+given:
+
+ Module => '>= 1.00, < 2.00'
+
+We will accept 1.00 and 1.75 but not 0.50 or 2.00.
+
+For modules that do not appear in the requirements, this method will return
+true.
+
+=head2 clear_requirement
+
+ $req->clear_requirement( $module );
+
+This removes the requirement for a given module from the object.
+
+This method returns the requirements object.
+
+=head2 required_modules
+
+This method returns a list of all the modules for which requirements have been
+specified.
+
+=head2 clone
+
+ $req->clone;
+
+This method returns a clone of the invocant. The clone and the original object
+can then be changed independent of one another.
+
+=head2 is_simple
+
+This method returns true if and only if all requirements are inclusive minimums
+-- that is, if their string expression is just the version number.
+
+=head2 is_finalized
+
+This method returns true if the requirements have been finalized by having the
+C<finalize> method called on them.
+
+=head2 finalize
+
+This method marks the requirements finalized. Subsequent attempts to change
+the requirements will be fatal, I<if> they would result in a change. If they
+would not alter the requirements, they have no effect.
+
+If a finalized set of requirements is cloned, the cloned requirements are not
+also finalized.
+
+=head2 as_string_hash
+
+This returns a reference to a hash describing the requirements using the
+strings in the F<META.yml> specification.
+
+For example after the following program:
+
+ my $req = Version::Requirements->new;
+
+ $req->add_minimum('Version::Requirements' => 0.102);
+
+ $req->add_minimum('Library::Foo' => 1.208);
+
+ $req->add_maximum('Library::Foo' => 2.602);
+
+ $req->add_minimum('Module::Bar' => 'v1.2.3');
+
+ $req->add_exclusion('Module::Bar' => 'v1.2.8');
+
+ $req->exact_version('Xyzzy' => '6.01');
+
+ my $hashref = $req->as_string_hash;
+
+C<$hashref> would contain:
+
+ {
+ 'Version::Requirements' => '0.102',
+ 'Library::Foo' => '>= 1.208, <= 2.206',
+ 'Module::Bar' => '>= v1.2.3, != v1.2.8',
+ 'Xyzzy' => '== 6.01',
+ }
+
+=head2 from_string_hash
+
+ my $req = Version::Requirements->from_string_hash( \%hash );
+
+This is an alternate constructor for a Version::Requirements object. It takes
+a hash of module names and version requirement strings and returns a new
+Version::Requirements object.
+
+=head1 AUTHOR
+
+ Ricardo Signes <rjbs@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/warnings.pm b/Master/tlpkg/tlperl/lib/warnings.pm
index defc20890b3..90a9d0a6c5a 100644
--- a/Master/tlpkg/tlperl/lib/warnings.pm
+++ b/Master/tlpkg/tlperl/lib/warnings.pm
@@ -1,12 +1,11 @@
# -*- buffer-read-only: t -*-
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file was created by warnings.pl
-# Any changes made here will be lost.
-#
+# This file is built by regen/warnings.pl.
+# Any changes made here will be lost!
package warnings;
-our $VERSION = '1.09';
+our $VERSION = '1.12';
# Verify that we're called correctly so that warnings will work.
# see also strict.pm.
@@ -153,6 +152,11 @@ Equivalent to:
if (warnings::enabled($object))
{ warnings::warn($object, $message) }
+=item warnings::register_categories(@names)
+
+This registers warning categories for the given names and is primarily for
+use by the warnings::register pragma, for which see L<perllexwarn>.
+
=back
See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
@@ -214,113 +218,125 @@ our %Offsets = (
'imprecision' => 92,
'illegalproto' => 94,
+
+ # Warnings Categories added in Perl 5.013
+
+ 'non_unicode' => 96,
+ 'nonchar' => 98,
+ 'surrogate' => 100,
);
our %Bits = (
- 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..47]
- 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [29]
- 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [30]
- 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
- 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
- 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [22]
- 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
- 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [31]
- 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
- 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
- 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
- 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [47]
- 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [46]
- 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [23]
- 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [24]
- 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
- 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
- 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [25]
- 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
- 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
- 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
- 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
- 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
- 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [16]
- 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [32]
- 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
- 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [17]
- 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [33]
- 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [34]
- 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [35]
- 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [36]
- 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [18]
- 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [19]
- 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [20]
- 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [37]
- 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [38]
- 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00", # [21..25]
- 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [26]
- 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [27]
- 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40", # [28..38,47]
- 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [39]
- 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [40]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [41]
- 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
- 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [42]
- 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [43]
- 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [44]
- 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [45]
+ 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15", # [0..50]
+ 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [29]
+ 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [30]
+ 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
+ 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
+ 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [22]
+ 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
+ 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [31]
+ 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
+ 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
+ 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
+ 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [47]
+ 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [46]
+ 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [23]
+ 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [24]
+ 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
+ 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
+ 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [25]
+ 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+ 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
+ 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [48]
+ 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [49]
+ 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+ 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+ 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+ 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+ 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [32]
+ 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
+ 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
+ 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [33]
+ 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [34]
+ 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [35]
+ 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [36]
+ 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+ 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+ 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [20]
+ 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [37]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [38]
+ 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00", # [21..25]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [26]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [27]
+ 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [50]
+ 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00", # [28..38,47]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [39]
+ 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [40]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [41]
+ 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
+ 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [42]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [43]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15", # [44,48..50]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [45]
);
our %DeadBits = (
- 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..47]
- 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [29]
- 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [30]
- 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
- 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
- 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [22]
- 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
- 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [31]
- 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
- 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
- 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
- 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [47]
- 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [46]
- 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [23]
- 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [24]
- 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
- 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
- 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [25]
- 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
- 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
- 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
- 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
- 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
- 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [16]
- 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [32]
- 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
- 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [17]
- 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [33]
- 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [34]
- 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [35]
- 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [36]
- 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [18]
- 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [19]
- 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [20]
- 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [37]
- 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [38]
- 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00", # [21..25]
- 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [26]
- 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [27]
- 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80", # [28..38,47]
- 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [39]
- 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [40]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [41]
- 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
- 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [42]
- 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [43]
- 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [44]
- 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [45]
+ 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\x2a", # [0..50]
+ 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [29]
+ 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [30]
+ 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
+ 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
+ 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [22]
+ 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
+ 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [31]
+ 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
+ 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
+ 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
+ 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [47]
+ 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [46]
+ 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [23]
+ 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [24]
+ 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
+ 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
+ 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [25]
+ 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+ 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
+ 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [48]
+ 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [49]
+ 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+ 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+ 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+ 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+ 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [32]
+ 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
+ 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
+ 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [33]
+ 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [34]
+ 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [35]
+ 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [36]
+ 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+ 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+ 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [20]
+ 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [37]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [38]
+ 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00", # [21..25]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [26]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [27]
+ 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [50]
+ 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00", # [28..38,47]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [39]
+ 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [40]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [41]
+ 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
+ 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [42]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [43]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a", # [44,48..50]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [45]
);
-$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0";
-$LAST_BIT = 96 ;
-$BYTES = 12 ;
+$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0";
+$LAST_BIT = 102 ;
+$BYTES = 13 ;
$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
@@ -332,13 +348,8 @@ sub Croaker
Carp::croak(@_);
}
-sub bits
-{
- # called from B::Deparse.pm
-
- push @_, 'all' unless @_;
-
- my $mask;
+sub _bits {
+ my $mask = shift ;
my $catmask ;
my $fatal = 0 ;
my $no_fatal = 0 ;
@@ -364,14 +375,17 @@ sub bits
return $mask ;
}
+sub bits
+{
+ # called from B::Deparse.pm
+ push @_, 'all' unless @_ ;
+ return _bits(undef, @_) ;
+}
+
sub import
{
shift;
- my $catmask ;
- my $fatal = 0 ;
- my $no_fatal = 0 ;
-
my $mask = ${^WARNING_BITS} ;
if (vec($mask, $Offsets{'all'}, 1)) {
@@ -379,27 +393,8 @@ sub import
$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
}
- push @_, 'all' unless @_;
-
- foreach my $word ( @_ ) {
- if ($word eq 'FATAL') {
- $fatal = 1;
- $no_fatal = 0;
- }
- elsif ($word eq 'NONFATAL') {
- $fatal = 0;
- $no_fatal = 1;
- }
- elsif ($catmask = $Bits{$word}) {
- $mask |= $catmask ;
- $mask |= $DeadBits{$word} if $fatal ;
- $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
- }
- else
- { Croaker("Unknown warnings category '$word'")}
- }
-
- ${^WARNING_BITS} = $mask ;
+ # Empty @_ is equivalent to @_ = 'all' ;
+ ${^WARNING_BITS} = @_ ? _bits($mask, @_) : $mask | $Bits{all} ;
}
sub unimport
@@ -432,11 +427,25 @@ sub unimport
my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
+sub MESSAGE () { 4 };
+sub FATAL () { 2 };
+sub NORMAL () { 1 };
+
sub __chk
{
my $category ;
my $offset ;
my $isobj = 0 ;
+ my $wanted = shift;
+ my $has_message = $wanted & MESSAGE;
+
+ unless (@_ == 1 || @_ == ($has_message ? 2 : 0)) {
+ my $sub = (caller 1)[3];
+ my $syntax = $has_message ? "[category,] 'message'" : '[category]';
+ Croaker("Usage: $sub($syntax)");
+ }
+
+ my $message = pop if $has_message;
if (@_) {
# check the category supplied.
@@ -458,11 +467,11 @@ sub __chk
unless defined $offset ;
}
- my $this_pkg = (caller(1))[0] ;
- my $i = 2 ;
- my $pkg ;
+ my $i;
if ($isobj) {
+ my $pkg;
+ $i = 2;
while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
}
@@ -472,73 +481,87 @@ sub __chk
$i = _error_loc(); # see where Carp will allocate the error
}
- my $callers_bitmask = (caller($i))[9] ;
- return ($callers_bitmask, $offset, $i) ;
+ # Defaulting this to 0 reduces complexity in code paths below.
+ my $callers_bitmask = (caller($i))[9] || 0 ;
+
+ my @results;
+ foreach my $type (FATAL, NORMAL) {
+ next unless $wanted & $type;
+
+ push @results, (vec($callers_bitmask, $offset + $type - 1, 1) ||
+ vec($callers_bitmask, $Offsets{'all'} + $type - 1, 1));
+ }
+
+ # &enabled and &fatal_enabled
+ return $results[0] unless $has_message;
+
+ # &warnif, and the category is neither enabled as warning nor as fatal
+ return if $wanted == (NORMAL | FATAL | MESSAGE)
+ && !($results[0] || $results[1]);
+
+ require Carp;
+ Carp::croak($message) if $results[0];
+ # will always get here for &warn. will only get here for &warnif if the
+ # category is enabled
+ Carp::carp($message);
+}
+
+sub _mkMask
+{
+ my ($bit) = @_;
+ my $mask = "";
+
+ vec($mask, $bit, 1) = 1;
+ return $mask;
+}
+
+sub register_categories
+{
+ my @names = @_;
+
+ for my $name (@names) {
+ if (! defined $Bits{$name}) {
+ $Bits{$name} = _mkMask($LAST_BIT);
+ vec($Bits{'all'}, $LAST_BIT, 1) = 1;
+ $Offsets{$name} = $LAST_BIT ++;
+ foreach my $k (keys %Bits) {
+ vec($Bits{$k}, $LAST_BIT, 1) = 0;
+ }
+ $DeadBits{$name} = _mkMask($LAST_BIT);
+ vec($DeadBits{'all'}, $LAST_BIT++, 1) = 1;
+ }
+ }
}
sub _error_loc {
require Carp;
goto &Carp::short_error_loc; # don't introduce another stack frame
-}
+}
sub enabled
{
- Croaker("Usage: warnings::enabled([category])")
- unless @_ == 1 || @_ == 0 ;
-
- my ($callers_bitmask, $offset, $i) = __chk(@_) ;
-
- return 0 unless defined $callers_bitmask ;
- return vec($callers_bitmask, $offset, 1) ||
- vec($callers_bitmask, $Offsets{'all'}, 1) ;
+ return __chk(NORMAL, @_);
}
sub fatal_enabled
{
- Croaker("Usage: warnings::fatal_enabled([category])")
- unless @_ == 1 || @_ == 0 ;
-
- my ($callers_bitmask, $offset, $i) = __chk(@_) ;
-
- return 0 unless defined $callers_bitmask;
- return vec($callers_bitmask, $offset + 1, 1) ||
- vec($callers_bitmask, $Offsets{'all'} + 1, 1) ;
+ return __chk(FATAL, @_);
}
sub warn
{
- Croaker("Usage: warnings::warn([category,] 'message')")
- unless @_ == 2 || @_ == 1 ;
-
- my $message = pop ;
- my ($callers_bitmask, $offset, $i) = __chk(@_) ;
- require Carp;
- Carp::croak($message)
- if vec($callers_bitmask, $offset+1, 1) ||
- vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
- Carp::carp($message) ;
+ return __chk(FATAL | MESSAGE, @_);
}
sub warnif
{
- Croaker("Usage: warnings::warnif([category,] 'message')")
- unless @_ == 2 || @_ == 1 ;
-
- my $message = pop ;
- my ($callers_bitmask, $offset, $i) = __chk(@_) ;
-
- return
- unless defined $callers_bitmask &&
- (vec($callers_bitmask, $offset, 1) ||
- vec($callers_bitmask, $Offsets{'all'}, 1)) ;
-
- require Carp;
- Carp::croak($message)
- if vec($callers_bitmask, $offset+1, 1) ||
- vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
-
- Carp::carp($message) ;
+ return __chk(NORMAL | FATAL | MESSAGE, @_);
}
+# These are not part of any public interface, so we can delete them to save
+# space.
+delete $warnings::{$_} foreach qw(NORMAL FATAL MESSAGE);
+
1;
+
# ex: set ro:
diff --git a/Master/tlpkg/tlperl/lib/warnings/register.pm b/Master/tlpkg/tlperl/lib/warnings/register.pm
index 57c865df522..45fd9a2fe0c 100644
--- a/Master/tlpkg/tlperl/lib/warnings/register.pm
+++ b/Master/tlpkg/tlperl/lib/warnings/register.pm
@@ -1,6 +1,6 @@
package warnings::register;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
=pod
@@ -23,6 +23,8 @@ usage.
require warnings;
+# left here as cruft in case other users were using this undocumented routine
+# -- rjbs, 2010-09-08
sub mkMask
{
my ($bit) = @_;
@@ -35,17 +37,12 @@ sub mkMask
sub import
{
shift;
+ my @categories = @_;
+
my $package = (caller(0))[0];
- if (! defined $warnings::Bits{$package}) {
- $warnings::Bits{$package} = mkMask($warnings::LAST_BIT);
- vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1;
- $warnings::Offsets{$package} = $warnings::LAST_BIT ++;
- foreach my $k (keys %warnings::Bits) {
- vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0;
- }
- $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT);
- vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1;
- }
+ warnings::register_categories($package);
+
+ warnings::register_categories($package . "::$_") for @categories;
}
1;